diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54c7f4bc..11db3d91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,14 +8,18 @@ on: jobs: build: - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + go: ['1.20', '1.21'] + os: ['ubuntu-latest', 'windows-latest'] + runs-on: ${{ matrix.os }} steps: - name: Set up Go 1.x - uses: actions/setup-go@v2 + uses: actions/setup-go@v4 with: - go-version: 1.16 - id: go + go-version: ${{ matrix.go }} - name: Check out code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Runs tests run: make diff --git a/CHANGELOG.md b/CHANGELOG.md index 87fdbba6..ab1a49d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,113 @@ * ... + +## 6.2.2 2026-01-27 + +* Upgrade to libpg_query 17-6.2.2 + - Add IsUtilityStmt function to determine if query text contains utility statements + - This is a fast check for callers that don't actually need the parse tree itself + - Add Summary function to get summary information about a statement quickly + - This allows gathering certain information, for example which tables are referenced in a + statement, without requiring a Protobuf serialization step in a higher level library + - Additionally this can also be used to perform "smart truncation" of a query by + omitting deeply nested information (e.g. a CTE definition, or a target list) whilst + preserving more essential parts like the FROM clause + - Normalize: + - Fix handling of special strings in DefElem + - This avoids a crash when running the normalize function on certain utility statements + - Add support for CALL statements + - Deparser: + - Introduce pretty printing / formatting + - Introduces a new optional pretty print mode that emits a human readable + output. A detailed explanation of the mechanism can be found at the start + of the deparser file. + - Rework handling of expressions inside typecasts + - Prefer (..)::type syntax, unless we are already in a function call. + - Use lowercase keywords in xmlroot functions + - This matches other XML functions as well as the Postgres documentation, + since these are closer to function argument names than regular keywords. + - Fix deparse of ALTER TABLE a ALTER b SET STATISTICS DEFAULT + - Fix the null pointer dereference when handling identity columns + - Allow alternate definitions of NAMEDATALEN identifier limit + - This allows building libpg_query with an override of the built-time limit of + Postgres identifiers (typically 63 characters) + - Bump Postgres to 17.7 and switch back to release tarballs +* Avoid conflicts with other cgo libraries utilizing xxhash by using XXH_NAMESPACE [#144](https://github.com/pganalyze/pg_query_go/pull/144) +* Remove redundant copy of result in ParseToProtobuf [#139](https://github.com/pganalyze/pg_query_go/pull/139) + + +## 6.1.0 2025-02-24 + +* Upgrade to libpg_query 17-6.1.0 + - Update to Postgres 17.4, and add recent patches scheduled for Postgres 17.5 (not yet released) + - Notably, this pulls in support for macOS 15.4 which defines strchrnul + in its standard library, fixing builds on up-to-date macOS versions. + - Deparser improvements + - Add parenthesis around AT LOCAL / AT TIMEZONE if needed + - Correctness improvements related to expressions and function calls +* Allow vendoring pg_query_go with built-in "go mod vendor" command [(#131)](https://github.com/pganalyze/pg_query_go/pull/131) + + +## 6.0.0 2024-11-26 + +* Upgrade to libpg_query 17-6.0.0 + - Updates to the Postgres 17 parser + - Deparser improvements: + - Add support for deparsing `JSON_TABLE`, `JSON_QUERY`, `JSON_EXISTS`, `JSON_VALUE` + - Add support for deparsing `JSON`, `JSON_SCALAR`, `JSON_SERIALIZE` + - Add support for deparsing `COPY ... FORCE_NULL(*)` + - Add support for deparsing `ALTER COLUMN ... SET EXPRESSION AS` + - Add support for deparsing `SET STATISTICS DEFAULT` + - Add support for deparsing `SET ACCESS METHOD DEFAULT` + - Add support for deparsing `... AT LOCAL` + - Add support for deparsing `merge_action()` + - Add support for deparsing `MERGE ... RETURNING` + - Add support for deparsing `NOT MATCHED [ BY TARGET ]` +* Add function `TestNormalizeUtility` to normalize only utility statements [(#116)](https://github.com/pganalyze/pg_query_go/pull/116) + +## 5.1.0 2024-01-09 + +* Update to libpg_query 16-5.1.0 + - Add support for running on Windows + - Add support for compiling on 32-bit systems + + +## 5.0.0 2023-12-23 + +* Upgrade to libpg_query 16-5.0.0 + - Updates to the Postgres 16 parser + - Multiple deparser improvements +* Allow importing parse tree proto with cgo disabled +* Add parser.SplitWithScanner() and parser.SplitWithParser() + + +## 4.2.3 2023-08-04 + +* Update to libpg_query 15-4.2.3, including changes from 15-4.2.2 + - Fix builds when compiling with `glibc >= 2.38` [#203](https://github.com/pganalyze/libpg_query/pull/203) + - Deparser: Add support for COALESCE and other expressions in LIMIT clause [#199](https://github.com/pganalyze/libpg_query/pull/199) + - Deparser: Add support for multi-statement CREATE PROCEDURE definitions [#197](https://github.com/pganalyze/libpg_query/pull/197) + - Deparser: Correctly quote identifier in ALTER TABLE ... ADD CONSTRAINT [x] [#196](https://github.com/pganalyze/libpg_query/pull/196) + - Deparser: Add support for index fillfactor within CREATE TABLE, fix SHOW ALL [#193](https://github.com/pganalyze/libpg_query/pull/193) + - Deparser: Move to dedicated file for easier inclusion in third-party projects [#192](https://github.com/pganalyze/libpg_query/pull/192) + + +## 4.2.1 2023-05-25 + +* Update to libpg_query 15-4.2.1 ([#85](https://github.com/pganalyze/pg_query_go/pull/85)) + - Deparser: Handle INTERVAL correctly when used in SET statements [#184](https://github.com/pganalyze/libpg_query/pull/184) + - Deparser: Ensure index names are quoted as identifiers [#182](https://github.com/pganalyze/libpg_query/pull/182) +* Suppress -Wdeprecated-non-prototype warnings ([#83](https://github.com/pganalyze/pg_query_go/pull/83) and [#84](https://github.com/pganalyze/pg_query_go/pull/84)) +* Return full structured error info instead of just error message ([#76](https://github.com/pganalyze/pg_query_go/pull/76)) + + ## 4.2.0 2023-02-08 * Update to libpg_query 15-4.2.0 - Update to PostgreSQL 15.1 + ## 2.2.0 2022-11-02 * Update to libpg_query 13-2.2.0 ([#64](https://github.com/pganalyze/pg_query_go/pull/64)) diff --git a/LICENSE b/LICENSE index feacffca..264d3562 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,5 @@ Copyright (c) 2015, Lukas Fittl +Copyright (c) 2016-2025, Duboce Labs, Inc. (pganalyze) All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Makefile b/Makefile index f431a104..3ccc09f1 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ benchmark: # --- Below only needed for releasing new versions -LIB_PG_QUERY_TAG = 15-4.2.0 +LIB_PG_QUERY_TAG = 17-6.2.2 root_dir := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) LIB_TMPDIR = $(root_dir)/tmp @@ -31,21 +31,20 @@ $(LIBDIRGZ): mkdir -p $(LIB_TMPDIR) curl -o $(LIBDIRGZ) https://codeload.github.com/pganalyze/libpg_query/tar.gz/$(LIB_PG_QUERY_TAG) -update_source: $(LIBDIR) +update_source: clean $(LIBDIR) rm -f parser/*.{c,h} rm -fr parser/include # Reduce everything down to one directory cp -a $(LIBDIR)/src/* parser/ + mv parser/postgres/include parser/include/postgres rm parser/pg_query_outfuncs_protobuf_cpp.cc mv parser/postgres/* parser/ rmdir parser/postgres - cp -a $(LIBDIR)/pg_query.h parser/include - # Make sure every .c in the top-level directory is its own translation unit - mv parser/*{_conds,_defs,_helper}.c parser/include + cp -a $(LIBDIR)/{pg_query.h,postgres_deparse.h} parser/include # Protobuf definitions mkdir -p $(PWD)/bin - GOBIN=$(PWD)/bin go install github.com/golang/protobuf/protoc-gen-go - PATH=$(PWD)/bin:$(PATH) protoc --proto_path=$(LIBDIR)/protobuf --go_out=. $(LIBDIR)/protobuf/pg_query.proto + GOBIN=$(PWD)/bin go install google.golang.org/protobuf/cmd/protoc-gen-go + PATH="$(PWD)/bin:$(PATH)" protoc --proto_path=$(LIBDIR)/protobuf --go_out=. --go_opt=Mpg_query.proto=/pg_query --go_opt=paths=source_relative $(LIBDIR)/protobuf/pg_query.proto mkdir -p parser/include/protobuf cp -a $(LIBDIR)/protobuf/*.h parser/include/protobuf cp -a $(LIBDIR)/protobuf/*.c parser/ @@ -62,6 +61,7 @@ update_source: $(LIBDIR) # Other support files rm -fr testdata cp -a $(LIBDIR)/testdata testdata + bash scripts/gokeep.sh clean: -@ $(RM) -r $(LIB_TMPDIR) diff --git a/README.md b/README.md index d14b8f22..e706fc0b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# pg_query_go [![GoDoc](https://godoc.org/github.com/pganalyze/pg_query_go/v4?status.svg)](https://godoc.org/github.com/pganalyze/pg_query_go/v4) +# pg_query_go [![GoDoc](https://godoc.org/github.com/pganalyze/pg_query_go/v6?status.svg)](https://godoc.org/github.com/pganalyze/pg_query_go/v6) Go version of https://github.com/pganalyze/pg_query @@ -10,28 +10,13 @@ You can find further background to why a query's parse tree is useful here: http ## Installation ``` -go get github.com/pganalyze/pg_query_go/v4@latest +go get github.com/pganalyze/pg_query_go/v6@latest ``` Due to compiling parts of PostgreSQL, the first time you build against this library it will take a bit longer. Expect up to 3 minutes. You can use `go build -x` to see the progress. -## Usage with Go modules - -When integrating this library using Go modules, and using a vendor/ directory, -you will need to explicitly copy over some of the C build files, since Go does -not copy files in subfolders without .go files whilst vendoring. - -The best way to do so is to use [modvendor](https://github.com/goware/modvendor), -and vendor your modules like this: - -``` -go mod vendor -go get -u github.com/goware/modvendor -modvendor -copy="**/*.c **/*.h **/*.proto" -v -``` - ## Usage ### Parsing a query into JSON @@ -42,23 +27,24 @@ Put the following in a new Go package, after having installed pg_query as above: package main import ( - "fmt" - "github.com/pganalyze/pg_query_go" + "fmt" + + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { - tree, err := pg_query.ParseToJSON("SELECT 1") - if err != nil { - panic(err); - } - fmt.Printf("%s\n", tree) + tree, err := pg_query.ParseToJSON("SELECT 1") + if err != nil { + panic(err) + } + fmt.Printf("%s\n", tree) } ``` Running will output the query's parse tree as JSON: ```json -{"version":130002,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"val":{"Integer":{"ival":1}},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]} +{"version":170004,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]} ``` ### Parsing a query into Go structs @@ -71,7 +57,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v2" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -81,13 +67,13 @@ func main() { } // This will output "42" - fmt.Printf("%d\n", result.Stmts[0].Stmt.GetSelectStmt().GetTargetList()[0].GetResTarget().GetVal().GetAConst().GetVal().GetInteger().Ival) + fmt.Printf("%d\n", result.Stmts[0].Stmt.GetSelectStmt().GetTargetList()[0].GetResTarget().GetVal().GetAConst().GetIval().Ival) } ``` You can find all the node types in the `pg_query.pb.go` Protobuf definition. -### Deparsing a parse tree back into a SQL statement (Experimental) +### Deparsing a parse tree back into a SQL statement In order to go back from a parse tree to a SQL statement, you can use the deparsing functionality: @@ -97,7 +83,7 @@ package main import ( "fmt" - pg_query "github.com/pganalyze/pg_query_go/v2" + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { @@ -132,13 +118,14 @@ Put the following in a new Go package, after having installed pg_query as above: package main import ( - "fmt" - "github.com/pganalyze/pg_query_go/v2" + "fmt" + + pg_query "github.com/pganalyze/pg_query_go/v6" ) func main() { - tree, err := pg_query.ParsePlPgSqlToJSON( - `CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name varchar, v_version varchar) + tree, err := pg_query.ParsePlPgSqlToJSON( + `CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name varchar, v_version varchar) RETURNS varchar AS $$ BEGIN IF v_version IS NULL THEN @@ -147,10 +134,10 @@ func main() { RETURN v_name || '/' || v_version; END; $$ LANGUAGE plpgsql;`) - if err != nil { - panic(err); - } - fmt.Printf("%s\n", tree) + if err != nil { + panic(err) + } + fmt.Printf("%s\n", tree) } ``` @@ -159,31 +146,40 @@ Running will output the functions's parse tree as JSON: ```json $ go run main.go [ -{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":2,"body":[{"PLpgSQL_stmt_if":{"lineno":3,"cond":{"PLpgSQL_expr":{"query":"SELECT v_version IS NULL"}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":4,"expr":{"PLpgSQL_expr":{"query":"SELECT v_name"}}}}]}},{"PLpgSQL_stmt_return":{"lineno":6,"expr":{"PLpgSQL_expr":{"query":"SELECT v_name || '/' || v_version"}}}}]}}}} +{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"v_name","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"v_version","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":2,"body":[{"PLpgSQL_stmt_if":{"lineno":3,"cond":{"PLpgSQL_expr":{"query":"v_version IS NULL"}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":4,"expr":{"PLpgSQL_expr":{"query":"v_name"}}}}]}},{"PLpgSQL_stmt_return":{"lineno":6,"expr":{"PLpgSQL_expr":{"query":"v_name || '/' || v_version"}}}}]}}}} ] ``` ## Benchmarks ``` -BenchmarkParseSelect1-4 1542726 7757 ns/op 1168 B/op 21 allocs/op -BenchmarkParseSelect2-4 496621 24027 ns/op 3184 B/op 63 allocs/op -BenchmarkParseCreateTable-4 231754 51624 ns/op 8832 B/op 157 allocs/op -BenchmarkParseSelect1Parallel-4 5451890 2213 ns/op 1168 B/op 21 allocs/op -BenchmarkParseSelect2Parallel-4 1711480 7067 ns/op 3184 B/op 63 allocs/op -BenchmarkParseCreateTableParallel-4 759412 16157 ns/op 8832 B/op 157 allocs/op -BenchmarkRawParseSelect1-4 2311986 5158 ns/op 192 B/op 5 allocs/op -BenchmarkRawParseSelect2-4 721333 16517 ns/op 384 B/op 5 allocs/op -BenchmarkRawParseCreateTable-4 328119 35675 ns/op 1248 B/op 5 allocs/op -BenchmarkRawParseSelect1Parallel-4 8378274 1412 ns/op 192 B/op 5 allocs/op -BenchmarkRawParseSelect2Parallel-4 2650692 4553 ns/op 384 B/op 5 allocs/op -BenchmarkRawParseCreateTableParallel-4 1000000 10335 ns/op 1248 B/op 5 allocs/op -BenchmarkFingerprintSelect1-4 5012028 2388 ns/op 112 B/op 4 allocs/op -BenchmarkFingerprintSelect2-4 2391704 5026 ns/op 112 B/op 4 allocs/op -BenchmarkFingerprintCreateTable-4 1304545 9601 ns/op 112 B/op 4 allocs/op -BenchmarkNormalizeSelect1-4 8767273 1360 ns/op 72 B/op 4 allocs/op -BenchmarkNormalizeSelect2-4 4465364 2756 ns/op 104 B/op 4 allocs/op -BenchmarkNormalizeCreateTable-4 2738284 4345 ns/op 184 B/op 4 allocs/op +$ make benchmark +go build -a +go test -test.bench=. -test.run=XXX -test.benchtime 10s -test.benchmem -test.cpu=4 +goos: darwin +goarch: arm64 +pkg: github.com/pganalyze/pg_query_go/v6 +BenchmarkParseSelect1-4 2874156 4186 ns/op 1040 B/op 18 allocs/op +BenchmarkParseSelect2-4 824781 14572 ns/op 2832 B/op 57 allocs/op +BenchmarkParseCreateTable-4 351037 34591 ns/op 8480 B/op 149 allocs/op +BenchmarkParseSelect1Parallel-4 9027080 1320 ns/op 1040 B/op 18 allocs/op +BenchmarkParseSelect2Parallel-4 2745390 4369 ns/op 2832 B/op 57 allocs/op +BenchmarkParseCreateTableParallel-4 1000000 10487 ns/op 8480 B/op 149 allocs/op +BenchmarkRawParseSelect1-4 3778771 3183 ns/op 128 B/op 3 allocs/op +BenchmarkRawParseSelect2-4 1000000 10985 ns/op 288 B/op 3 allocs/op +BenchmarkRawParseCreateTable-4 460714 26397 ns/op 1056 B/op 3 allocs/op +BenchmarkRawParseSelect1Parallel-4 13338790 902.7 ns/op 128 B/op 3 allocs/op +BenchmarkRawParseSelect2Parallel-4 4060762 2956 ns/op 288 B/op 3 allocs/op +BenchmarkRawParseCreateTableParallel-4 1709883 7001 ns/op 1056 B/op 3 allocs/op +BenchmarkFingerprintSelect1-4 6394882 1875 ns/op 48 B/op 2 allocs/op +BenchmarkFingerprintSelect2-4 2865390 4174 ns/op 48 B/op 2 allocs/op +BenchmarkFingerprintCreateTable-4 1688920 7143 ns/op 48 B/op 2 allocs/op +BenchmarkNormalizeSelect1-4 10604962 1133 ns/op 32 B/op 2 allocs/op +BenchmarkNormalizeSelect2-4 6226136 1938 ns/op 64 B/op 2 allocs/op +BenchmarkNormalizeCreateTable-4 4542387 2635 ns/op 144 B/op 2 allocs/op +PASS +ok github.com/pganalyze/pg_query_go/v6 258.376s + ``` Note that allocation counts exclude the cgo portion, so they are higher than shown here. @@ -199,6 +195,7 @@ See `benchmark_test.go` for details on the benchmarks. ## License Copyright (c) 2015, Lukas Fittl
+Copyright (c) 2016-2025, Duboce Labs, Inc. (pganalyze) pg_query_go is licensed under the 3-clause BSD license, see LICENSE file for details. This project includes code derived from the [PostgreSQL project](http://www.postgresql.org/), diff --git a/benchmark_test.go b/benchmark_test.go index d9fe289d..b8ce6a5d 100644 --- a/benchmark_test.go +++ b/benchmark_test.go @@ -1,10 +1,13 @@ +//go:build cgo +// +build cgo + package pg_query_test import ( "testing" - pg_query "github.com/pganalyze/pg_query_go/v4" - "github.com/pganalyze/pg_query_go/v4/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" ) // Prevent compiler optimizations by assigning all results to global variables diff --git a/fingerprint_test.go b/fingerprint_test.go index 81940f84..c90f1337 100644 --- a/fingerprint_test.go +++ b/fingerprint_test.go @@ -1,3 +1,6 @@ +//go:build cgo +// +build cgo + package pg_query_test import ( @@ -7,7 +10,7 @@ import ( "strconv" "testing" - pg_query "github.com/pganalyze/pg_query_go/v4" + pg_query "github.com/pganalyze/pg_query_go/v6" ) type fingerprintTest struct { diff --git a/go.mod b/go.mod index cf58454d..80530ff9 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,10 @@ -module github.com/pganalyze/pg_query_go/v4 +module github.com/pganalyze/pg_query_go/v6 -go 1.14 +go 1.20 require ( - github.com/golang/protobuf v1.4.2 - github.com/google/go-cmp v0.5.1 - google.golang.org/protobuf v1.23.0 + github.com/google/go-cmp v0.5.5 + google.golang.org/protobuf v1.33.0 ) + +require golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 // indirect diff --git a/go.sum b/go.sum index 0da1e95c..2e26fa55 100644 --- a/go.sum +++ b/go.sum @@ -1,21 +1,6 @@ -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1 h1:JFrFEBb2xKufg6XkJsJr+WbKb4FQlURi5RUcBveYu9k= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= diff --git a/is_utility_test.go b/is_utility_test.go new file mode 100644 index 00000000..7ac875b9 --- /dev/null +++ b/is_utility_test.go @@ -0,0 +1,117 @@ +//go:build cgo +// +build cgo + +package pg_query_test + +import ( + "reflect" + "testing" + + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" +) + +var isUtilityStmtTests = []struct { + input string + expected []bool +}{ + // DML statements (not utility) + { + "SELECT 1", + []bool{false}, + }, + { + "INSERT INTO t (a) VALUES (1)", + []bool{false}, + }, + { + "UPDATE t SET a = 1", + []bool{false}, + }, + { + "DELETE FROM t", + []bool{false}, + }, + // Utility statements + { + "SHOW fsync", + []bool{true}, + }, + { + "SET fsync = off", + []bool{true}, + }, + { + "CREATE TABLE t (a int)", + []bool{true}, + }, + { + "DROP TABLE t", + []bool{true}, + }, + // Multi-statement input + { + "SELECT 1; SELECT 2", + []bool{false, false}, + }, + { + "SELECT 1; SHOW fsync", + []bool{false, true}, + }, + { + "SHOW fsync; SELECT 1", + []bool{true, false}, + }, + { + "SET a = 1; SET b = 2", + []bool{true, true}, + }, +} + +func TestIsUtilityStmt(t *testing.T) { + for _, test := range isUtilityStmtTests { + actual, err := pg_query.IsUtilityStmt(test.input) + + if err != nil { + t.Errorf("IsUtilityStmt(%s)\nerror %s\n\n", test.input, err) + } else if !reflect.DeepEqual(actual, test.expected) { + t.Errorf("IsUtilityStmt(%s)\nexpected %v\nactual %v\n\n", test.input, test.expected, actual) + } + } +} + +var isUtilityStmtErrorTests = []struct { + input string + expectedErr error +}{ + { + "SELECT $", + &parser.Error{ + Message: "syntax error at or near \"$\"", + Cursorpos: 8, + Filename: "scan.l", + Funcname: "scanner_yyerror", + }, + }, +} + +func TestIsUtilityStmtError(t *testing.T) { + for _, test := range isUtilityStmtErrorTests { + _, actualErr := pg_query.IsUtilityStmt(test.input) + + if actualErr == nil { + t.Errorf("IsUtilityStmt(%s)\nexpected error but none returned\n\n", test.input) + } else { + exp := test.expectedErr.(*parser.Error) + act := actualErr.(*parser.Error) + act.Lineno = 0 // Line number is architecture dependent, so we ignore it + if !reflect.DeepEqual(act, exp) { + t.Errorf( + "IsUtilityStmt(%s)\nexpected error %s at %d (%s:%d), func: %s, context: %s\nactual error %+v at %d (%s:%d), func: %s, context: %s\n\n", + test.input, + exp.Message, exp.Cursorpos, exp.Filename, exp.Lineno, exp.Funcname, exp.Context, + act.Message, act.Cursorpos, act.Filename, act.Lineno, act.Funcname, act.Context) + } + } + } +} diff --git a/makefuncs.go b/makefuncs.go index a721af6e..cea7ec17 100644 --- a/makefuncs.go +++ b/makefuncs.go @@ -8,10 +8,10 @@ func MakeAConstStrNode(str string, location int32) *Node { return &Node{ Node: &Node_AConst{ AConst: &A_Const{ - Val: &A_Const_Sval { + Val: &A_Const_Sval{ Sval: &String{Sval: str}, }, - Isnull: false, + Isnull: false, Location: location, }, }, @@ -26,7 +26,7 @@ func MakeAConstIntNode(ival int64, location int32) *Node { return &Node{ Node: &Node_AConst{ AConst: &A_Const{ - Val: &A_Const_Ival { + Val: &A_Const_Ival{ Ival: &Integer{Ival: int32(ival)}, }, Isnull: false, diff --git a/normalize_test.go b/normalize_test.go index 16001244..d62af5dd 100644 --- a/normalize_test.go +++ b/normalize_test.go @@ -1,11 +1,14 @@ +//go:build cgo +// +build cgo + package pg_query_test import ( "reflect" "testing" - pg_query "github.com/pganalyze/pg_query_go/v4" - "github.com/pganalyze/pg_query_go/v4/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" ) var normalizeTests = []struct { @@ -65,3 +68,29 @@ func TestNormalizeError(t *testing.T) { } } } + +var normalizeUtilityTests = []struct { + input string + expected string +}{ + { + "SELECT 1", + "SELECT 1", + }, + { + "CREATE ROLE postgres PASSWORD 'xyz'", + "CREATE ROLE postgres PASSWORD $1", + }, +} + +func TestNormalizeUtility(t *testing.T) { + for _, test := range normalizeUtilityTests { + actual, err := pg_query.NormalizeUtility(test.input) + + if err != nil { + t.Errorf("Normalize(%s)\nerror %s\n\n", test.input, err) + } else if !reflect.DeepEqual(actual, test.expected) { + t.Errorf("Normalize(%s)\nexpected %s\nactual %s\n\n", test.input, test.expected, actual) + } + } +} diff --git a/parse_test.go b/parse_test.go index 1f639776..5a14309d 100644 --- a/parse_test.go +++ b/parse_test.go @@ -1,3 +1,6 @@ +//go:build cgo +// +build cgo + package pg_query_test import ( @@ -7,8 +10,8 @@ import ( "testing" "github.com/google/go-cmp/cmp" - pg_query "github.com/pganalyze/pg_query_go/v4" - "github.com/pganalyze/pg_query_go/v4/parser" + pg_query "github.com/pganalyze/pg_query_go/v6" + "github.com/pganalyze/pg_query_go/v6/parser" "google.golang.org/protobuf/testing/protocmp" ) @@ -19,9 +22,9 @@ var parseTests = []struct { }{ { "SELECT 1", - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -44,9 +47,9 @@ var parseTests = []struct { }, { "SELECT * FROM x WHERE z = 1", - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"z"}}],"location":22}},"rexpr":{"A_Const":{"ival":{"ival":1},"location":26}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"z"}}],"location":22}},"rexpr":{"A_Const":{"ival":{"ival":1},"location":26}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -95,9 +98,9 @@ var parseTests = []struct { }, { `INSERT INTO "schema_index_stats" ("snapshot_id","schema_index_id","size_bytes") VALUES (11710849,8448632,16384),(11710849,8448633,16384) RETURNING id`, - `{"version":150001,"stmts":[{"stmt":{"InsertStmt":{"relation":{"relname":"schema_index_stats","inh":true,"relpersistence":"p","location":12},"cols":[{"ResTarget":{"name":"snapshot_id","location":34}},{"ResTarget":{"name":"schema_index_id","location":48}},{"ResTarget":{"name":"size_bytes","location":66}}],"selectStmt":{"SelectStmt":{"valuesLists":[{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":88}},{"A_Const":{"ival":{"ival":8448632},"location":97}},{"A_Const":{"ival":{"ival":16384},"location":105}}]}},{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":113}},{"A_Const":{"ival":{"ival":8448633},"location":122}},{"A_Const":{"ival":{"ival":16384},"location":130}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"returningList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"String":{"sval":"id"}}],"location":147}},"location":147}}],"override":"OVERRIDING_NOT_SET"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"InsertStmt":{"relation":{"relname":"schema_index_stats","inh":true,"relpersistence":"p","location":12},"cols":[{"ResTarget":{"name":"snapshot_id","location":34}},{"ResTarget":{"name":"schema_index_id","location":48}},{"ResTarget":{"name":"size_bytes","location":66}}],"selectStmt":{"SelectStmt":{"valuesLists":[{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":88}},{"A_Const":{"ival":{"ival":8448632},"location":97}},{"A_Const":{"ival":{"ival":16384},"location":105}}]}},{"List":{"items":[{"A_Const":{"ival":{"ival":11710849},"location":113}},{"A_Const":{"ival":{"ival":8448633},"location":122}},{"A_Const":{"ival":{"ival":16384},"location":130}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"returningList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"String":{"sval":"id"}}],"location":147}},"location":147}}],"override":"OVERRIDING_NOT_SET"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -150,9 +153,9 @@ var parseTests = []struct { }, { "SELECT * FROM x WHERE y IN ($1)", - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"y"}}],"location":22}},"rexpr":{"List":{"items":[{"ParamRef":{"number":1,"location":28}}]}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeVar":{"relname":"x","inh":true,"relpersistence":"p","location":14}}],"whereClause":{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"y"}}],"location":22}},"rexpr":{"List":{"items":[{"ParamRef":{"number":1,"location":28}}]}},"location":24}},"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -214,9 +217,9 @@ var parseTests = []struct { AND n.nspname !~ '^pg_toast' AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2;`, - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"name":"Schema","val":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":7}},"location":7}},{"ResTarget":{"name":"Name","val":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relname"}}],"location":36}},"location":36}},{"ResTarget":{"name":"Type","val":{"CaseExpr":{"arg":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":68}},"args":[{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"r"},"location":83}},"result":{"A_Const":{"sval":{"sval":"table"},"location":92}},"location":78}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"v"},"location":105}},"result":{"A_Const":{"sval":{"sval":"view"},"location":114}},"location":100}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"m"},"location":126}},"result":{"A_Const":{"sval":{"sval":"materialized view"},"location":135}},"location":121}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"i"},"location":160}},"result":{"A_Const":{"sval":{"sval":"index"},"location":169}},"location":155}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"S"},"location":182}},"result":{"A_Const":{"sval":{"sval":"sequence"},"location":191}},"location":177}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"s"},"location":207}},"result":{"A_Const":{"sval":{"sval":"special"},"location":216}},"location":202}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"f"},"location":231}},"result":{"A_Const":{"sval":{"sval":"foreign table"},"location":240}},"location":226}}],"location":63}},"location":63}},{"ResTarget":{"name":"Owner","val":{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_get_userbyid"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relowner"}}],"location":304}}],"funcformat":"COERCE_EXPLICIT_CALL","location":277}},"location":277}}],"fromClause":[{"JoinExpr":{"jointype":"JOIN_LEFT","larg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_class","inh":true,"relpersistence":"p","alias":{"aliasname":"c"},"location":336}},"rarg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_namespace","inh":true,"relpersistence":"p","alias":{"aliasname":"n"},"location":374}},"quals":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"oid"}}],"location":403}},"rexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relnamespace"}}],"location":411}},"location":409}}}}],"whereClause":{"BoolExpr":{"boolop":"AND_EXPR","args":[{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":435}},"rexpr":{"List":{"items":[{"A_Const":{"sval":{"sval":"r"},"location":449}},{"A_Const":{"sval":{"sval":""},"location":453}}]}},"location":445}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":467}},"rexpr":{"A_Const":{"sval":{"sval":"pg_catalog"},"location":480}},"location":477}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":503}},"rexpr":{"A_Const":{"sval":{"sval":"information_schema"},"location":516}},"location":513}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"!~"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":547}},"rexpr":{"A_Const":{"sval":{"sval":"^pg_toast"},"location":560}},"location":557}},{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_table_is_visible"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"oid"}}],"location":613}}],"funcformat":"COERCE_EXPLICIT_CALL","location":582}}],"location":463}},"sortClause":[{"SortBy":{"node":{"A_Const":{"ival":{"ival":1},"location":632}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}},{"SortBy":{"node":{"A_Const":{"ival":{"ival":2},"location":634}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"stmt_len":635}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"name":"Schema","val":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":7}},"location":7}},{"ResTarget":{"name":"Name","val":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relname"}}],"location":36}},"location":36}},{"ResTarget":{"name":"Type","val":{"CaseExpr":{"arg":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":68}},"args":[{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"r"},"location":83}},"result":{"A_Const":{"sval":{"sval":"table"},"location":92}},"location":78}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"v"},"location":105}},"result":{"A_Const":{"sval":{"sval":"view"},"location":114}},"location":100}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"m"},"location":126}},"result":{"A_Const":{"sval":{"sval":"materialized view"},"location":135}},"location":121}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"i"},"location":160}},"result":{"A_Const":{"sval":{"sval":"index"},"location":169}},"location":155}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"S"},"location":182}},"result":{"A_Const":{"sval":{"sval":"sequence"},"location":191}},"location":177}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"s"},"location":207}},"result":{"A_Const":{"sval":{"sval":"special"},"location":216}},"location":202}},{"CaseWhen":{"expr":{"A_Const":{"sval":{"sval":"f"},"location":231}},"result":{"A_Const":{"sval":{"sval":"foreign table"},"location":240}},"location":226}}],"location":63}},"location":63}},{"ResTarget":{"name":"Owner","val":{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_get_userbyid"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relowner"}}],"location":304}}],"funcformat":"COERCE_EXPLICIT_CALL","location":277}},"location":277}}],"fromClause":[{"JoinExpr":{"jointype":"JOIN_LEFT","larg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_class","inh":true,"relpersistence":"p","alias":{"aliasname":"c"},"location":336}},"rarg":{"RangeVar":{"schemaname":"pg_catalog","relname":"pg_namespace","inh":true,"relpersistence":"p","alias":{"aliasname":"n"},"location":374}},"quals":{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"oid"}}],"location":403}},"rexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relnamespace"}}],"location":411}},"location":409}}}}],"whereClause":{"BoolExpr":{"boolop":"AND_EXPR","args":[{"A_Expr":{"kind":"AEXPR_IN","name":[{"String":{"sval":"="}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"relkind"}}],"location":435}},"rexpr":{"List":{"items":[{"A_Const":{"sval":{"sval":"r"},"location":449}},{"A_Const":{"sval":{"sval":""},"location":453}}]}},"location":445}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":467}},"rexpr":{"A_Const":{"sval":{"sval":"pg_catalog"},"location":480}},"location":477}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"\u003c\u003e"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":503}},"rexpr":{"A_Const":{"sval":{"sval":"information_schema"},"location":516}},"location":513}},{"A_Expr":{"kind":"AEXPR_OP","name":[{"String":{"sval":"!~"}}],"lexpr":{"ColumnRef":{"fields":[{"String":{"sval":"n"}},{"String":{"sval":"nspname"}}],"location":547}},"rexpr":{"A_Const":{"sval":{"sval":"^pg_toast"},"location":560}},"location":557}},{"FuncCall":{"funcname":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"pg_table_is_visible"}}],"args":[{"ColumnRef":{"fields":[{"String":{"sval":"c"}},{"String":{"sval":"oid"}}],"location":613}}],"funcformat":"COERCE_EXPLICIT_CALL","location":582}}],"location":463}},"sortClause":[{"SortBy":{"node":{"A_Const":{"ival":{"ival":1},"location":632}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}},{"SortBy":{"node":{"A_Const":{"ival":{"ival":2},"location":634}},"sortby_dir":"SORTBY_DEFAULT","sortby_nulls":"SORTBY_NULLS_DEFAULT","location":-1}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}},"stmt_len":635}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -396,9 +399,9 @@ var parseTests = []struct { PERFORM 'dummy'; END; $$;`, - `{"version":150001,"stmts":[{"stmt":{"CreateFunctionStmt":{"funcname":[{"String":{"sval":"change_trigger_v2"}}],"returnType":{"names":[{"String":{"sval":"trigger"}}],"typemod":-1,"location":44},"options":[{"DefElem":{"defname":"language","arg":{"String":{"sval":"plpgsql"}},"defaction":"DEFELEM_UNSPEC","location":53}},{"DefElem":{"defname":"as","arg":{"List":{"items":[{"String":{"sval":"\n\t\tDECLARE\n\t\tBEGIN\n\t\t\tPERFORM 'dummy';\n\t\tEND;\n\t\t"}}]}},"defaction":"DEFELEM_UNSPEC","location":71}}]}},"stmt_len":126}]}`, + `{"version":170007,"stmts":[{"stmt":{"CreateFunctionStmt":{"funcname":[{"String":{"sval":"change_trigger_v2"}}],"returnType":{"names":[{"String":{"sval":"trigger"}}],"typemod":-1,"location":44},"options":[{"DefElem":{"defname":"language","arg":{"String":{"sval":"plpgsql"}},"defaction":"DEFELEM_UNSPEC","location":53}},{"DefElem":{"defname":"as","arg":{"List":{"items":[{"String":{"sval":"\n\t\tDECLARE\n\t\tBEGIN\n\t\t\tPERFORM 'dummy';\n\t\tEND;\n\t\t"}}]}},"defaction":"DEFELEM_UNSPEC","location":71}}]}},"stmt_len":126}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -439,9 +442,9 @@ var parseTests = []struct { id SERIAL PRIMARY KEY, user_id integer DEFAULT 0 NOT NULL, created_at timestamp without time zone NOT NULL);`, - `{"version":150001,"stmts":[{"stmt":{"CreateStmt":{"relation":{"relname":"test","inh":true,"relpersistence":"p","location":13},"tableElts":[{"ColumnDef":{"colname":"id","typeName":{"names":[{"String":{"sval":"serial"}}],"typemod":-1,"location":27},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_PRIMARY","location":34}}],"location":24}},{"ColumnDef":{"colname":"user_id","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"int4"}}],"typemod":-1,"location":59},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_DEFAULT","location":67,"raw_expr":{"A_Const":{"ival":{},"location":75}}}},{"Constraint":{"contype":"CONSTR_NOTNULL","location":77}}],"location":51}},{"ColumnDef":{"colname":"created_at","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"timestamp"}}],"typemod":-1,"location":102},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_NOTNULL","location":130}}],"location":91}}],"oncommit":"ONCOMMIT_NOOP"}},"stmt_len":139}]}`, + `{"version":170007,"stmts":[{"stmt":{"CreateStmt":{"relation":{"relname":"test","inh":true,"relpersistence":"p","location":13},"tableElts":[{"ColumnDef":{"colname":"id","typeName":{"names":[{"String":{"sval":"serial"}}],"typemod":-1,"location":27},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_PRIMARY","location":34}}],"location":24}},{"ColumnDef":{"colname":"user_id","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"int4"}}],"typemod":-1,"location":59},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_DEFAULT","raw_expr":{"A_Const":{"ival":{},"location":75}},"location":67}},{"Constraint":{"contype":"CONSTR_NOTNULL","location":77}}],"location":51}},{"ColumnDef":{"colname":"created_at","typeName":{"names":[{"String":{"sval":"pg_catalog"}},{"String":{"sval":"timestamp"}}],"typemod":-1,"location":102},"is_local":true,"constraints":[{"Constraint":{"contype":"CONSTR_NOTNULL","location":130}}],"location":91}}],"oncommit":"ONCOMMIT_NOOP"}},"stmt_len":139}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -506,9 +509,9 @@ var parseTests = []struct { }, { `SELECT * FROM a(1)`, - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeFunction":{"functions":[{"List":{"items":[{"FuncCall":{"funcname":[{"String":{"sval":"a"}}],"args":[{"A_Const":{"ival":{"ival":1},"location":16}}],"funcformat":"COERCE_EXPLICIT_CALL","location":14}},{}]}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"ColumnRef":{"fields":[{"A_Star":{}}],"location":7}},"location":7}}],"fromClause":[{"RangeFunction":{"functions":[{"List":{"items":[{"FuncCall":{"funcname":[{"String":{"sval":"a"}}],"args":[{"A_Const":{"ival":{"ival":1},"location":16}}],"funcformat":"COERCE_EXPLICIT_CALL","location":14}},{}]}}]}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -549,9 +552,9 @@ var parseTests = []struct { { // Test for null-byte related crashes string([]byte{'S', 'E', 'L', 'E', 'C', 'T', ' ', '1', '\x00'}), - `{"version":150001,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, + `{"version":170007,"stmts":[{"stmt":{"SelectStmt":{"targetList":[{"ResTarget":{"val":{"A_Const":{"ival":{"ival":1},"location":7}},"location":7}}],"limitOption":"LIMIT_OPTION_DEFAULT","op":"SETOP_NONE"}}}]}`, &pg_query.ParseResult{ - Version: int32(150001), + Version: int32(170007), Stmts: []*pg_query.RawStmt{ { Stmt: &pg_query.Node{ @@ -658,6 +661,7 @@ func TestParseConcurrency(t *testing.T) { } wg.Wait() + fmt.Println() } var parsePlPgSQLTests = []struct { @@ -676,7 +680,7 @@ var parsePlPgSQLTests = []struct { `END;` + `$$ LANGUAGE plpgsql;`, `[ -{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"v_name","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"v_version","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}},{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"UNKNOWN"}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":1,"body":[{"PLpgSQL_stmt_if":{"lineno":1,"cond":{"PLpgSQL_expr":{"query":"v_version IS NULL"}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name"}}}}]}},{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name || '/' || v_version"}}}}]}}}} +{"PLpgSQL_function":{"datums":[{"PLpgSQL_var":{"refname":"v_name","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"varchar\""}}}},{"PLpgSQL_var":{"refname":"v_version","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"varchar\""}}}},{"PLpgSQL_var":{"refname":"found","datatype":{"PLpgSQL_type":{"typname":"pg_catalog.\"boolean\""}}}}],"action":{"PLpgSQL_stmt_block":{"lineno":1,"body":[{"PLpgSQL_stmt_if":{"lineno":1,"cond":{"PLpgSQL_expr":{"query":"v_version IS NULL","parseMode":2}},"then_body":[{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name","parseMode":2}}}}]}},{"PLpgSQL_stmt_return":{"lineno":1,"expr":{"PLpgSQL_expr":{"query":"v_name || '/' || v_version","parseMode":2}}}}]}}}} ]`, }, } diff --git a/parser/COPYRIGHT b/parser/COPYRIGHT new file mode 100644 index 00000000..3b79b1b4 --- /dev/null +++ b/parser/COPYRIGHT @@ -0,0 +1,23 @@ +PostgreSQL Database Management System +(also known as Postgres, formerly known as Postgres95) + +Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group + +Portions Copyright (c) 1994, The Regents of the University of California + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose, without fee, and without a written agreement +is hereby granted, provided that the above copyright notice and this +paragraph and the following two paragraphs appear in all copies. + +IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING +LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS +DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. diff --git a/parser/build_cgo.go b/parser/build_cgo.go new file mode 100644 index 00000000..2e57d64f --- /dev/null +++ b/parser/build_cgo.go @@ -0,0 +1,54 @@ +//go:build required +// +build required + +package parser + +// This file exists purely to prevent the Golang toolchain from stripping +// away the C source directories and files when `go mod vendor` is used +// to populate a `vendor/` directory of a project depending on `github.com/pganalyze/pg_query_go/v6`. +// +// How it works: +// - Every directory which only includes C source files receives a gokeep.go file. +// - Every directory we want to preserve is included here as a _ import. +// - This file is given a build tag to exclude it from the regular build. +import ( + // Prevent Go tooling from stripping out the C source files. + _ "github.com/pganalyze/pg_query_go/v6/parser/include" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/access" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/archive" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/catalog" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/commands" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/common" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/datatype" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/executor" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/foreign" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/jit" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/lib" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/libpq" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/mb" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/nodes" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/optimizer" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/parser" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/partitioning" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/atomics" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32_msvc" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32_msvc/sys" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32/arpa" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32/netinet" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/port/win32/sys" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/portability" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/postmaster" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/regex" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/replication" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/rewrite" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/storage" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/tcop" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/tsearch" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/postgres/utils" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/protobuf" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/protobuf-c" + _ "github.com/pganalyze/pg_query_go/v6/parser/include/xxhash" +) diff --git a/parser/doc.go b/parser/doc.go new file mode 100644 index 00000000..25e48969 --- /dev/null +++ b/parser/doc.go @@ -0,0 +1,2 @@ +// Package parser includes the actual parsing logic using cgo to access libpg_query. +package parser diff --git a/parser/guc-file.c b/parser/guc-file.c deleted file mode 100644 index e69de29b..00000000 diff --git a/parser/include/catalog/pg_parameter_acl.h b/parser/include/catalog/pg_parameter_acl.h deleted file mode 100644 index 4bd52c2d..00000000 --- a/parser/include/catalog/pg_parameter_acl.h +++ /dev/null @@ -1,60 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pg_parameter_acl.h - * definition of the "configuration parameter ACL" system catalog - * (pg_parameter_acl). - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/catalog/pg_parameter_acl.h - * - * NOTES - * The Catalog.pm module reads this file and derives schema - * information. - * - *------------------------------------------------------------------------- - */ -#ifndef PG_PARAMETER_ACL_H -#define PG_PARAMETER_ACL_H - -#include "catalog/genbki.h" -#include "catalog/pg_parameter_acl_d.h" - -/* ---------------- - * pg_parameter_acl definition. cpp turns this into - * typedef struct FormData_pg_parameter_acl - * ---------------- - */ -CATALOG(pg_parameter_acl,6243,ParameterAclRelationId) BKI_SHARED_RELATION -{ - Oid oid; /* oid */ - -#ifdef CATALOG_VARLEN /* variable-length fields start here */ - /* name of parameter */ - text parname BKI_FORCE_NOT_NULL; - - /* access permissions */ - aclitem paracl[1] BKI_DEFAULT(_null_); -#endif -} FormData_pg_parameter_acl; - - -/* ---------------- - * Form_pg_parameter_acl corresponds to a pointer to a tuple with - * the format of pg_parameter_acl relation. - * ---------------- - */ -typedef FormData_pg_parameter_acl * Form_pg_parameter_acl; - -DECLARE_TOAST_WITH_MACRO(pg_parameter_acl, 6244, 6245, PgParameterAclToastTable, PgParameterAclToastIndex); - -DECLARE_UNIQUE_INDEX(pg_parameter_acl_parname_index, 6246, ParameterAclParnameIndexId, on pg_parameter_acl using btree(parname text_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_parameter_acl_oid_index, 6247, ParameterAclOidIndexId, on pg_parameter_acl using btree(oid oid_ops)); - - -extern Oid ParameterAclLookup(const char *parameter, bool missing_ok); -extern Oid ParameterAclCreate(const char *parameter); - -#endif /* PG_PARAMETER_ACL_H */ diff --git a/parser/include/catalog/pg_parameter_acl_d.h b/parser/include/catalog/pg_parameter_acl_d.h deleted file mode 100644 index 8a27703a..00000000 --- a/parser/include/catalog/pg_parameter_acl_d.h +++ /dev/null @@ -1,34 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pg_parameter_acl_d.h - * Macro definitions for pg_parameter_acl - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * NOTES - * ****************************** - * *** DO NOT EDIT THIS FILE! *** - * ****************************** - * - * It has been GENERATED by src/backend/catalog/genbki.pl - * - *------------------------------------------------------------------------- - */ -#ifndef PG_PARAMETER_ACL_D_H -#define PG_PARAMETER_ACL_D_H - -#define ParameterAclRelationId 6243 -#define PgParameterAclToastTable 6244 -#define PgParameterAclToastIndex 6245 -#define ParameterAclParnameIndexId 6246 -#define ParameterAclOidIndexId 6247 - -#define Anum_pg_parameter_acl_oid 1 -#define Anum_pg_parameter_acl_parname 2 -#define Anum_pg_parameter_acl_paracl 3 - -#define Natts_pg_parameter_acl 3 - - -#endif /* PG_PARAMETER_ACL_D_H */ diff --git a/parser/include/commands/variable.h b/parser/include/commands/variable.h deleted file mode 100644 index 0e5ddcbc..00000000 --- a/parser/include/commands/variable.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * variable.h - * Routines for handling specialized SET variables. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/commands/variable.h - */ -#ifndef VARIABLE_H -#define VARIABLE_H - -#include "utils/guc.h" - - -extern bool check_datestyle(char **newval, void **extra, GucSource source); -extern void assign_datestyle(const char *newval, void *extra); -extern bool check_timezone(char **newval, void **extra, GucSource source); -extern void assign_timezone(const char *newval, void *extra); -extern const char *show_timezone(void); -extern bool check_log_timezone(char **newval, void **extra, GucSource source); -extern void assign_log_timezone(const char *newval, void *extra); -extern const char *show_log_timezone(void); -extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source); -extern bool check_XactIsoLevel(int *newval, void **extra, GucSource source); -extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source); -extern bool check_random_seed(double *newval, void **extra, GucSource source); -extern void assign_random_seed(double newval, void *extra); -extern const char *show_random_seed(void); -extern bool check_client_encoding(char **newval, void **extra, GucSource source); -extern void assign_client_encoding(const char *newval, void *extra); -extern bool check_session_authorization(char **newval, void **extra, GucSource source); -extern void assign_session_authorization(const char *newval, void *extra); -extern bool check_role(char **newval, void **extra, GucSource source); -extern void assign_role(const char *newval, void *extra); -extern const char *show_role(void); - -#endif /* VARIABLE_H */ diff --git a/parser/include/common/ip.h b/parser/include/common/ip.h deleted file mode 100644 index 84145209..00000000 --- a/parser/include/common/ip.h +++ /dev/null @@ -1,31 +0,0 @@ -/*------------------------------------------------------------------------- - * - * ip.h - * Definitions for IPv6-aware network access. - * - * These definitions are used by both frontend and backend code. - * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group - * - * src/include/common/ip.h - * - *------------------------------------------------------------------------- - */ -#ifndef IP_H -#define IP_H - -#include "getaddrinfo.h" /* pgrminclude ignore */ -#include "libpq/pqcomm.h" /* pgrminclude ignore */ - - -extern int pg_getaddrinfo_all(const char *hostname, const char *servname, - const struct addrinfo *hintp, - struct addrinfo **result); -extern void pg_freeaddrinfo_all(int hint_ai_family, struct addrinfo *ai); - -extern int pg_getnameinfo_all(const struct sockaddr_storage *addr, int salen, - char *node, int nodelen, - char *service, int servicelen, - int flags); - -#endif /* IP_H */ diff --git a/parser/include/getaddrinfo.h b/parser/include/getaddrinfo.h deleted file mode 100644 index 2042c2d3..00000000 --- a/parser/include/getaddrinfo.h +++ /dev/null @@ -1,162 +0,0 @@ -/*------------------------------------------------------------------------- - * - * getaddrinfo.h - * Support getaddrinfo() on platforms that don't have it. - * - * Note: we use our own routines on platforms that don't HAVE_STRUCT_ADDRINFO, - * whether or not the library routine getaddrinfo() can be found. This - * policy is needed because on some platforms a manually installed libbind.a - * may provide getaddrinfo(), yet the system headers may not provide the - * struct definitions needed to call it. To avoid conflict with the libbind - * definition in such cases, we rename our routines to pg_xxx() via macros. - * - * This code will also work on platforms where struct addrinfo is defined - * in the system headers but no getaddrinfo() can be located. - * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group - * - * src/include/getaddrinfo.h - * - *------------------------------------------------------------------------- - */ -#ifndef GETADDRINFO_H -#define GETADDRINFO_H - -#include -#include - - -/* Various macros that ought to be in , but might not be */ - -#ifndef EAI_FAIL -#ifndef WIN32 -#define EAI_BADFLAGS (-1) -#define EAI_NONAME (-2) -#define EAI_AGAIN (-3) -#define EAI_FAIL (-4) -#define EAI_FAMILY (-6) -#define EAI_SOCKTYPE (-7) -#define EAI_SERVICE (-8) -#define EAI_MEMORY (-10) -#define EAI_SYSTEM (-11) -#else /* WIN32 */ -#ifdef _MSC_VER -#ifndef WSA_NOT_ENOUGH_MEMORY -#define WSA_NOT_ENOUGH_MEMORY (WSAENOBUFS) -#endif -#define WSATYPE_NOT_FOUND (WSABASEERR+109) -#endif -#define EAI_AGAIN WSATRY_AGAIN -#define EAI_BADFLAGS WSAEINVAL -#define EAI_FAIL WSANO_RECOVERY -#define EAI_FAMILY WSAEAFNOSUPPORT -#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY -#define EAI_NODATA WSANO_DATA -#define EAI_NONAME WSAHOST_NOT_FOUND -#define EAI_SERVICE WSATYPE_NOT_FOUND -#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT -#endif /* !WIN32 */ -#endif /* !EAI_FAIL */ - -#ifndef AI_PASSIVE -#define AI_PASSIVE 0x0001 -#endif - -#ifndef AI_NUMERICHOST -/* - * some platforms don't support AI_NUMERICHOST; define as zero if using - * the system version of getaddrinfo... - */ -#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO) -#define AI_NUMERICHOST 0 -#else -#define AI_NUMERICHOST 0x0004 -#endif -#endif - -#ifndef NI_NUMERICHOST -#define NI_NUMERICHOST 1 -#endif -#ifndef NI_NUMERICSERV -#define NI_NUMERICSERV 2 -#endif -#ifndef NI_NAMEREQD -#define NI_NAMEREQD 4 -#endif - -#ifndef NI_MAXHOST -#define NI_MAXHOST 1025 -#endif -#ifndef NI_MAXSERV -#define NI_MAXSERV 32 -#endif - - -#ifndef HAVE_STRUCT_ADDRINFO - -#ifndef WIN32 -struct addrinfo -{ - int ai_flags; - int ai_family; - int ai_socktype; - int ai_protocol; - size_t ai_addrlen; - struct sockaddr *ai_addr; - char *ai_canonname; - struct addrinfo *ai_next; -}; -#else -/* - * The order of the structure elements on Win32 doesn't match the - * order specified in the standard, but we have to match it for - * IPv6 to work. - */ -struct addrinfo -{ - int ai_flags; - int ai_family; - int ai_socktype; - int ai_protocol; - size_t ai_addrlen; - char *ai_canonname; - struct sockaddr *ai_addr; - struct addrinfo *ai_next; -}; -#endif -#endif /* HAVE_STRUCT_ADDRINFO */ - - -#ifndef HAVE_GETADDRINFO - -/* Rename private copies per comments above */ -#ifdef getaddrinfo -#undef getaddrinfo -#endif -#define getaddrinfo pg_getaddrinfo - -#ifdef freeaddrinfo -#undef freeaddrinfo -#endif -#define freeaddrinfo pg_freeaddrinfo - -#ifdef gai_strerror -#undef gai_strerror -#endif -#define gai_strerror pg_gai_strerror - -#ifdef getnameinfo -#undef getnameinfo -#endif -#define getnameinfo pg_getnameinfo - -extern int getaddrinfo(const char *node, const char *service, - const struct addrinfo *hints, struct addrinfo **res); -extern void freeaddrinfo(struct addrinfo *res); -extern const char *gai_strerror(int errcode); -extern int getnameinfo(const struct sockaddr *sa, int salen, - char *node, int nodelen, - char *service, int servicelen, int flags); -#endif /* HAVE_GETADDRINFO */ - -#endif /* GETADDRINFO_H */ diff --git a/parser/include/gokeep.go b/parser/include/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/kwlist_d.h b/parser/include/kwlist_d.h deleted file mode 100644 index 568dc8a6..00000000 --- a/parser/include/kwlist_d.h +++ /dev/null @@ -1,1095 +0,0 @@ -/*------------------------------------------------------------------------- - * - * kwlist_d.h - * List of keywords represented as a ScanKeywordList. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * NOTES - * ****************************** - * *** DO NOT EDIT THIS FILE! *** - * ****************************** - * - * It has been GENERATED by src/tools/gen_keywordlist.pl - * - *------------------------------------------------------------------------- - */ - -#ifndef KWLIST_D_H -#define KWLIST_D_H - -#include "common/kwlookup.h" - -static const char ScanKeywords_kw_string[] = - "abort\0" - "absolute\0" - "access\0" - "action\0" - "add\0" - "admin\0" - "after\0" - "aggregate\0" - "all\0" - "also\0" - "alter\0" - "always\0" - "analyse\0" - "analyze\0" - "and\0" - "any\0" - "array\0" - "as\0" - "asc\0" - "asensitive\0" - "assertion\0" - "assignment\0" - "asymmetric\0" - "at\0" - "atomic\0" - "attach\0" - "attribute\0" - "authorization\0" - "backward\0" - "before\0" - "begin\0" - "between\0" - "bigint\0" - "binary\0" - "bit\0" - "boolean\0" - "both\0" - "breadth\0" - "by\0" - "cache\0" - "call\0" - "called\0" - "cascade\0" - "cascaded\0" - "case\0" - "cast\0" - "catalog\0" - "chain\0" - "char\0" - "character\0" - "characteristics\0" - "check\0" - "checkpoint\0" - "class\0" - "close\0" - "cluster\0" - "coalesce\0" - "collate\0" - "collation\0" - "column\0" - "columns\0" - "comment\0" - "comments\0" - "commit\0" - "committed\0" - "compression\0" - "concurrently\0" - "configuration\0" - "conflict\0" - "connection\0" - "constraint\0" - "constraints\0" - "content\0" - "continue\0" - "conversion\0" - "copy\0" - "cost\0" - "create\0" - "cross\0" - "csv\0" - "cube\0" - "current\0" - "current_catalog\0" - "current_date\0" - "current_role\0" - "current_schema\0" - "current_time\0" - "current_timestamp\0" - "current_user\0" - "cursor\0" - "cycle\0" - "data\0" - "database\0" - "day\0" - "deallocate\0" - "dec\0" - "decimal\0" - "declare\0" - "default\0" - "defaults\0" - "deferrable\0" - "deferred\0" - "definer\0" - "delete\0" - "delimiter\0" - "delimiters\0" - "depends\0" - "depth\0" - "desc\0" - "detach\0" - "dictionary\0" - "disable\0" - "discard\0" - "distinct\0" - "do\0" - "document\0" - "domain\0" - "double\0" - "drop\0" - "each\0" - "else\0" - "enable\0" - "encoding\0" - "encrypted\0" - "end\0" - "enum\0" - "escape\0" - "event\0" - "except\0" - "exclude\0" - "excluding\0" - "exclusive\0" - "execute\0" - "exists\0" - "explain\0" - "expression\0" - "extension\0" - "external\0" - "extract\0" - "false\0" - "family\0" - "fetch\0" - "filter\0" - "finalize\0" - "first\0" - "float\0" - "following\0" - "for\0" - "force\0" - "foreign\0" - "forward\0" - "freeze\0" - "from\0" - "full\0" - "function\0" - "functions\0" - "generated\0" - "global\0" - "grant\0" - "granted\0" - "greatest\0" - "group\0" - "grouping\0" - "groups\0" - "handler\0" - "having\0" - "header\0" - "hold\0" - "hour\0" - "identity\0" - "if\0" - "ilike\0" - "immediate\0" - "immutable\0" - "implicit\0" - "import\0" - "in\0" - "include\0" - "including\0" - "increment\0" - "index\0" - "indexes\0" - "inherit\0" - "inherits\0" - "initially\0" - "inline\0" - "inner\0" - "inout\0" - "input\0" - "insensitive\0" - "insert\0" - "instead\0" - "int\0" - "integer\0" - "intersect\0" - "interval\0" - "into\0" - "invoker\0" - "is\0" - "isnull\0" - "isolation\0" - "join\0" - "key\0" - "label\0" - "language\0" - "large\0" - "last\0" - "lateral\0" - "leading\0" - "leakproof\0" - "least\0" - "left\0" - "level\0" - "like\0" - "limit\0" - "listen\0" - "load\0" - "local\0" - "localtime\0" - "localtimestamp\0" - "location\0" - "lock\0" - "locked\0" - "logged\0" - "mapping\0" - "match\0" - "matched\0" - "materialized\0" - "maxvalue\0" - "merge\0" - "method\0" - "minute\0" - "minvalue\0" - "mode\0" - "month\0" - "move\0" - "name\0" - "names\0" - "national\0" - "natural\0" - "nchar\0" - "new\0" - "next\0" - "nfc\0" - "nfd\0" - "nfkc\0" - "nfkd\0" - "no\0" - "none\0" - "normalize\0" - "normalized\0" - "not\0" - "nothing\0" - "notify\0" - "notnull\0" - "nowait\0" - "null\0" - "nullif\0" - "nulls\0" - "numeric\0" - "object\0" - "of\0" - "off\0" - "offset\0" - "oids\0" - "old\0" - "on\0" - "only\0" - "operator\0" - "option\0" - "options\0" - "or\0" - "order\0" - "ordinality\0" - "others\0" - "out\0" - "outer\0" - "over\0" - "overlaps\0" - "overlay\0" - "overriding\0" - "owned\0" - "owner\0" - "parallel\0" - "parameter\0" - "parser\0" - "partial\0" - "partition\0" - "passing\0" - "password\0" - "placing\0" - "plans\0" - "policy\0" - "position\0" - "preceding\0" - "precision\0" - "prepare\0" - "prepared\0" - "preserve\0" - "primary\0" - "prior\0" - "privileges\0" - "procedural\0" - "procedure\0" - "procedures\0" - "program\0" - "publication\0" - "quote\0" - "range\0" - "read\0" - "real\0" - "reassign\0" - "recheck\0" - "recursive\0" - "ref\0" - "references\0" - "referencing\0" - "refresh\0" - "reindex\0" - "relative\0" - "release\0" - "rename\0" - "repeatable\0" - "replace\0" - "replica\0" - "reset\0" - "restart\0" - "restrict\0" - "return\0" - "returning\0" - "returns\0" - "revoke\0" - "right\0" - "role\0" - "rollback\0" - "rollup\0" - "routine\0" - "routines\0" - "row\0" - "rows\0" - "rule\0" - "savepoint\0" - "schema\0" - "schemas\0" - "scroll\0" - "search\0" - "second\0" - "security\0" - "select\0" - "sequence\0" - "sequences\0" - "serializable\0" - "server\0" - "session\0" - "session_user\0" - "set\0" - "setof\0" - "sets\0" - "share\0" - "show\0" - "similar\0" - "simple\0" - "skip\0" - "smallint\0" - "snapshot\0" - "some\0" - "sql\0" - "stable\0" - "standalone\0" - "start\0" - "statement\0" - "statistics\0" - "stdin\0" - "stdout\0" - "storage\0" - "stored\0" - "strict\0" - "strip\0" - "subscription\0" - "substring\0" - "support\0" - "symmetric\0" - "sysid\0" - "system\0" - "table\0" - "tables\0" - "tablesample\0" - "tablespace\0" - "temp\0" - "template\0" - "temporary\0" - "text\0" - "then\0" - "ties\0" - "time\0" - "timestamp\0" - "to\0" - "trailing\0" - "transaction\0" - "transform\0" - "treat\0" - "trigger\0" - "trim\0" - "true\0" - "truncate\0" - "trusted\0" - "type\0" - "types\0" - "uescape\0" - "unbounded\0" - "uncommitted\0" - "unencrypted\0" - "union\0" - "unique\0" - "unknown\0" - "unlisten\0" - "unlogged\0" - "until\0" - "update\0" - "user\0" - "using\0" - "vacuum\0" - "valid\0" - "validate\0" - "validator\0" - "value\0" - "values\0" - "varchar\0" - "variadic\0" - "varying\0" - "verbose\0" - "version\0" - "view\0" - "views\0" - "volatile\0" - "when\0" - "where\0" - "whitespace\0" - "window\0" - "with\0" - "within\0" - "without\0" - "work\0" - "wrapper\0" - "write\0" - "xml\0" - "xmlattributes\0" - "xmlconcat\0" - "xmlelement\0" - "xmlexists\0" - "xmlforest\0" - "xmlnamespaces\0" - "xmlparse\0" - "xmlpi\0" - "xmlroot\0" - "xmlserialize\0" - "xmltable\0" - "year\0" - "yes\0" - "zone"; - -static const uint16 ScanKeywords_kw_offsets[] = { - 0, - 6, - 15, - 22, - 29, - 33, - 39, - 45, - 55, - 59, - 64, - 70, - 77, - 85, - 93, - 97, - 101, - 107, - 110, - 114, - 125, - 135, - 146, - 157, - 160, - 167, - 174, - 184, - 198, - 207, - 214, - 220, - 228, - 235, - 242, - 246, - 254, - 259, - 267, - 270, - 276, - 281, - 288, - 296, - 305, - 310, - 315, - 323, - 329, - 334, - 344, - 360, - 366, - 377, - 383, - 389, - 397, - 406, - 414, - 424, - 431, - 439, - 447, - 456, - 463, - 473, - 485, - 498, - 512, - 521, - 532, - 543, - 555, - 563, - 572, - 583, - 588, - 593, - 600, - 606, - 610, - 615, - 623, - 639, - 652, - 665, - 680, - 693, - 711, - 724, - 731, - 737, - 742, - 751, - 755, - 766, - 770, - 778, - 786, - 794, - 803, - 814, - 823, - 831, - 838, - 848, - 859, - 867, - 873, - 878, - 885, - 896, - 904, - 912, - 921, - 924, - 933, - 940, - 947, - 952, - 957, - 962, - 969, - 978, - 988, - 992, - 997, - 1004, - 1010, - 1017, - 1025, - 1035, - 1045, - 1053, - 1060, - 1068, - 1079, - 1089, - 1098, - 1106, - 1112, - 1119, - 1125, - 1132, - 1141, - 1147, - 1153, - 1163, - 1167, - 1173, - 1181, - 1189, - 1196, - 1201, - 1206, - 1215, - 1225, - 1235, - 1242, - 1248, - 1256, - 1265, - 1271, - 1280, - 1287, - 1295, - 1302, - 1309, - 1314, - 1319, - 1328, - 1331, - 1337, - 1347, - 1357, - 1366, - 1373, - 1376, - 1384, - 1394, - 1404, - 1410, - 1418, - 1426, - 1435, - 1445, - 1452, - 1458, - 1464, - 1470, - 1482, - 1489, - 1497, - 1501, - 1509, - 1519, - 1528, - 1533, - 1541, - 1544, - 1551, - 1561, - 1566, - 1570, - 1576, - 1585, - 1591, - 1596, - 1604, - 1612, - 1622, - 1628, - 1633, - 1639, - 1644, - 1650, - 1657, - 1662, - 1668, - 1678, - 1693, - 1702, - 1707, - 1714, - 1721, - 1729, - 1735, - 1743, - 1756, - 1765, - 1771, - 1778, - 1785, - 1794, - 1799, - 1805, - 1810, - 1815, - 1821, - 1830, - 1838, - 1844, - 1848, - 1853, - 1857, - 1861, - 1866, - 1871, - 1874, - 1879, - 1889, - 1900, - 1904, - 1912, - 1919, - 1927, - 1934, - 1939, - 1946, - 1952, - 1960, - 1967, - 1970, - 1974, - 1981, - 1986, - 1990, - 1993, - 1998, - 2007, - 2014, - 2022, - 2025, - 2031, - 2042, - 2049, - 2053, - 2059, - 2064, - 2073, - 2081, - 2092, - 2098, - 2104, - 2113, - 2123, - 2130, - 2138, - 2148, - 2156, - 2165, - 2173, - 2179, - 2186, - 2195, - 2205, - 2215, - 2223, - 2232, - 2241, - 2249, - 2255, - 2266, - 2277, - 2287, - 2298, - 2306, - 2318, - 2324, - 2330, - 2335, - 2340, - 2349, - 2357, - 2367, - 2371, - 2382, - 2394, - 2402, - 2410, - 2419, - 2427, - 2434, - 2445, - 2453, - 2461, - 2467, - 2475, - 2484, - 2491, - 2501, - 2509, - 2516, - 2522, - 2527, - 2536, - 2543, - 2551, - 2560, - 2564, - 2569, - 2574, - 2584, - 2591, - 2599, - 2606, - 2613, - 2620, - 2629, - 2636, - 2645, - 2655, - 2668, - 2675, - 2683, - 2696, - 2700, - 2706, - 2711, - 2717, - 2722, - 2730, - 2737, - 2742, - 2751, - 2760, - 2765, - 2769, - 2776, - 2787, - 2793, - 2803, - 2814, - 2820, - 2827, - 2835, - 2842, - 2849, - 2855, - 2868, - 2878, - 2886, - 2896, - 2902, - 2909, - 2915, - 2922, - 2934, - 2945, - 2950, - 2959, - 2969, - 2974, - 2979, - 2984, - 2989, - 2999, - 3002, - 3011, - 3023, - 3033, - 3039, - 3047, - 3052, - 3057, - 3066, - 3074, - 3079, - 3085, - 3093, - 3103, - 3115, - 3127, - 3133, - 3140, - 3148, - 3157, - 3166, - 3172, - 3179, - 3184, - 3190, - 3197, - 3203, - 3212, - 3222, - 3228, - 3235, - 3243, - 3252, - 3260, - 3268, - 3276, - 3281, - 3287, - 3296, - 3301, - 3307, - 3318, - 3325, - 3330, - 3337, - 3345, - 3350, - 3358, - 3364, - 3368, - 3382, - 3392, - 3403, - 3413, - 3423, - 3437, - 3446, - 3452, - 3460, - 3473, - 3482, - 3487, - 3491, -}; - -#define SCANKEYWORDS_NUM_KEYWORDS 460 - -static int -ScanKeywords_hash_func(const void *key, size_t keylen) -{ - static const int16 h[921] = { - 207, -201, 0, 223, -255, 28, 32767, -86, - 32767, 0, -35, -938, 32767, 32767, -13, 32767, - 450, 62, 42, 327, 309, -13, 0, 114, - 32767, -230, 135, -12, 424, 191, -114, 32767, - 45, 440, 673, 0, 0, 224, 286, 32767, - 32767, 16, 5, 0, 32767, 32767, -349, 32767, - -43, 32767, 32767, 32767, 32767, 32767, 0, 32767, - 32767, 262, 573, -75, 32767, 32767, 1113, 88, - 111, 32767, 7, -41, 223, 32767, 478, 275, - 32767, 0, 245, 1004, 59, 32767, 322, 256, - -130, 32767, 0, 378, 606, 994, -59, 32767, - -219, 32767, 489, 32767, -328, 32767, 88, 32767, - -228, 0, 1181, -705, 32767, 32767, 149, 32767, - 32767, 177, 0, 0, 32767, 32767, 32767, 473, - 142, 167, 130, 345, 461, 50, 426, 32767, - 32767, -104, 333, 32767, 5, 32767, 32767, 115, - 0, 34, 32767, -178, 32767, 32767, 0, 32767, - 32767, 32767, 429, 573, 32767, 3, 32767, 0, - 237, 32767, 324, 379, 32767, 409, 32767, 32767, - 362, -707, 638, 32767, 32767, -18, 23, 127, - 32767, 32767, -55, 0, 254, 32767, 0, 32767, - -16, 389, 32767, -287, 0, -43, 32767, 0, - 32767, 157, 23, 438, 907, 0, 32767, -213, - 299, 32767, 0, 32767, 32767, 229, 32767, 32767, - 32767, 32767, 186, 32767, 81, 32767, -707, 525, - 732, 515, 32767, 32767, 0, 32767, 32767, 126, - 32767, 32767, 0, 443, 32767, 102, -148, 188, - 393, 32767, 383, 32767, 212, 247, 32767, 389, - 54, -258, 0, 6, -32, 32767, 261, -190, - 112, 32767, 32767, 32767, 0, 32767, 0, 32767, - 32767, 215, 32767, 196, 32767, 445, 32767, 32767, - -456, -66, 161, 32767, 617, -484, 230, 32767, - 1078, 77, 124, 32767, 32767, -44, 32767, -271, - 148, 20, 344, 83, 32767, 32767, 32767, 108, - -768, 269, 32767, 32767, -66, 0, 32767, 32767, - 524, 433, 32767, 32767, 0, 32767, -564, -138, - 0, 4, 463, 354, 32767, 57, 0, 32767, - 552, 351, 32767, 32767, 0, 32767, 32767, 32767, - 65, 32767, 32767, 285, 158, 32767, 32767, -931, - 281, 32767, 32767, 32767, 32767, -357, -115, 32767, - 294, 435, 2, 32767, 305, 32767, 35, 434, - 32767, 172, 0, 32767, 326, -597, 263, 2, - 32767, -111, -79, 32767, 32767, -717, 198, 32767, - -715, 407, 32767, 32767, 159, 214, -135, 379, - 672, 656, 278, 0, 32767, 32767, 32767, 1109, - 830, -173, 32767, 32767, 334, 32767, 32767, 32767, - 32767, -447, 270, 61, 281, 32767, 0, 116, - 32767, 99, -302, 32767, 32767, 0, 39, 32767, - -61, 276, -45, 144, -121, 32767, 0, 198, - 325, 72, 294, -174, -218, 73, -489, 32767, - -372, 32767, 32767, 360, 345, 283, -453, 32767, - 32767, 32767, 283, 806, 0, 32767, 32767, 32767, - -65, 0, 32767, 8, 32767, 150, 32767, -251, - 132, 0, 32767, 32767, 272, 32767, 15, -417, - 889, -77, 0, 0, 16, 32767, 32767, 32767, - 94, 32767, 32767, 32767, 32767, 219, 32767, -416, - 391, 31, 208, 396, 0, 143, -37, 32767, - 252, 0, 32767, 185, 32767, -140, 0, 32767, - 456, -258, 32767, 381, 32767, 393, 32767, 32767, - 32767, 32767, 1160, 32767, 32767, 384, 201, 197, - 32767, 0, 131, 469, 89, 32767, 397, 0, - 32767, 211, 32767, 102, 138, 32767, -379, 264, - 32767, 386, 6, 32767, 32767, 162, 53, -81, - -135, 59, 338, 230, 0, 0, 19, 8, - 32767, 785, 423, 0, 257, 301, 523, -398, - 421, 0, 32767, 0, 32767, 32767, 0, -758, - 0, 562, 32767, 0, 32767, 32767, -213, 32767, - 28, 32767, -696, 173, -413, 352, -223, 472, - 275, 316, 32767, -186, 323, 32767, -163, 221, - 246, 29, 222, -1042, 0, 33, 184, 32767, - 32767, 0, 32767, 32767, 805, 32767, 305, 8, - 226, 84, 32767, 379, 0, 32767, 134, 82, - 32767, 399, 32767, 0, 0, 617, 32767, 32767, - 31, 0, 256, 0, 32767, 103, 302, 32767, - 208, 32767, -56, 0, -146, 32767, 243, 32767, - 0, 32767, 32767, 32767, 32767, 784, 32767, 32767, - 0, 197, 32767, 32767, 914, 155, -50, 32767, - 32767, 32767, 292, 1122, 32767, 0, 32767, -167, - 32767, 139, 113, 113, 32767, 410, 32767, 459, - 331, 0, 295, 0, 0, 483, -345, 32767, - 32767, -456, 32767, 32767, 0, 32767, 304, 32767, - 138, 32767, 520, 326, 412, -237, 453, 32767, - 50, 328, 32767, 32767, 0, -116, 0, -754, - 0, -149, 32767, 32767, 28, -398, 0, 32767, - 32767, -89, 353, -64, 51, 139, 32767, 32767, - 66, 32767, 314, 209, 1218, 32767, 32767, 325, - 0, 268, 32767, 32767, 446, 32767, 0, 32767, - -115, 32767, 32767, 32767, 239, 344, 32767, 5, - 32767, 0, -314, 0, -327, 32767, 181, 32767, - 107, 393, 0, 32767, 12, 582, 119, 32767, - -751, 32767, -578, 0, 349, 0, 32767, 404, - 307, 85, 32767, 452, 53, -307, 0, 0, - 32767, 32767, 664, 32767, 32767, 32767, -44, 32767, - 0, 259, 366, 32767, 0, 0, 32767, -97, - -131, 0, 32767, 178, 32767, 779, -231, -73, - 0, 0, 145, 487, 223, 0, 0, 86, - 32767, 0, 32767, 192, 321, 32767, 32767, 32767, - -360, -140, 32767, 32767, 32767, 507, 32767, 247, - 416, 32767, 0, 32767, 68, 98, 32767, 0, - -268, 0, 32767, 204, 32767, 0, 739, 112, - -283, 1180, 193, 32767, 32767, 220, 0, 0, - 0, 0, 0, 32767, 0, 32767, 32767, 32767, - 32767, 206, -374, 0, 315, 32767, 0, 0, - -37, -363, 32767, 32767, 258, 32767, 459, 32767, - 128, -1018, 374, 32767, 0, 32767, 0, -602, - 32767, 346, 76, 363, 387, 296, -186, 32, - 21, 32767, 32767, 32767, 32767, 32767, 32767, 32767, - 0, 32767, 0, 165, 32767, 32767, 32767, 0, - 790, -10, 32767, 32767, 32767, 32767, 0, 32767, - 0, 228, 32767, -993, 32, -878, -154, 32767, - 72, 369, 411, 585, 32767, 32767, 124, 32767, - -253, -177, 294, 32767, 335, 0, 9, 0, - 32767, 442, 0, 0, 32767, 449, 448, 0, - 0, 32767, 0, 593, 0, 32767, 242, 432, - 0, 32767, 0, 32767, 32767, 1360, 0, 32767, - 238 - }; - - const unsigned char *k = (const unsigned char *) key; - uint32 a = 0; - uint32 b = 0; - - while (keylen--) - { - unsigned char c = *k++ | 0x20; - - a = a * 257 + c; - b = b * 127 + c; - } - return h[a % 921] + h[b % 921]; -} - -const ScanKeywordList ScanKeywords = { - ScanKeywords_kw_string, - ScanKeywords_kw_offsets, - ScanKeywords_hash_func, - SCANKEYWORDS_NUM_KEYWORDS, - 17 -}; - -#endif /* KWLIST_D_H */ diff --git a/parser/include/nodes/nodes.h b/parser/include/nodes/nodes.h deleted file mode 100644 index 8f5c0ec1..00000000 --- a/parser/include/nodes/nodes.h +++ /dev/null @@ -1,861 +0,0 @@ -/*------------------------------------------------------------------------- - * - * nodes.h - * Definitions for tagged nodes. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/nodes/nodes.h - * - *------------------------------------------------------------------------- - */ -#ifndef NODES_H -#define NODES_H - -/* - * The first field of every node is NodeTag. Each node created (with makeNode) - * will have one of the following tags as the value of its first field. - * - * Note that inserting or deleting node types changes the numbers of other - * node types later in the list. This is no problem during development, since - * the node numbers are never stored on disk. But don't do it in a released - * branch, because that would represent an ABI break for extensions. - */ -typedef enum NodeTag -{ - T_Invalid = 0, - - /* - * TAGS FOR EXECUTOR NODES (execnodes.h) - */ - T_IndexInfo, - T_ExprContext, - T_ProjectionInfo, - T_JunkFilter, - T_OnConflictSetState, - T_MergeActionState, - T_ResultRelInfo, - T_EState, - T_TupleTableSlot, - - /* - * TAGS FOR PLAN NODES (plannodes.h) - */ - T_Plan, - T_Result, - T_ProjectSet, - T_ModifyTable, - T_Append, - T_MergeAppend, - T_RecursiveUnion, - T_BitmapAnd, - T_BitmapOr, - T_Scan, - T_SeqScan, - T_SampleScan, - T_IndexScan, - T_IndexOnlyScan, - T_BitmapIndexScan, - T_BitmapHeapScan, - T_TidScan, - T_TidRangeScan, - T_SubqueryScan, - T_FunctionScan, - T_ValuesScan, - T_TableFuncScan, - T_CteScan, - T_NamedTuplestoreScan, - T_WorkTableScan, - T_ForeignScan, - T_CustomScan, - T_Join, - T_NestLoop, - T_MergeJoin, - T_HashJoin, - T_Material, - T_Memoize, - T_Sort, - T_IncrementalSort, - T_Group, - T_Agg, - T_WindowAgg, - T_Unique, - T_Gather, - T_GatherMerge, - T_Hash, - T_SetOp, - T_LockRows, - T_Limit, - /* these aren't subclasses of Plan: */ - T_NestLoopParam, - T_PlanRowMark, - T_PartitionPruneInfo, - T_PartitionedRelPruneInfo, - T_PartitionPruneStepOp, - T_PartitionPruneStepCombine, - T_PlanInvalItem, - - /* - * TAGS FOR PLAN STATE NODES (execnodes.h) - * - * These should correspond one-to-one with Plan node types. - */ - T_PlanState, - T_ResultState, - T_ProjectSetState, - T_ModifyTableState, - T_AppendState, - T_MergeAppendState, - T_RecursiveUnionState, - T_BitmapAndState, - T_BitmapOrState, - T_ScanState, - T_SeqScanState, - T_SampleScanState, - T_IndexScanState, - T_IndexOnlyScanState, - T_BitmapIndexScanState, - T_BitmapHeapScanState, - T_TidScanState, - T_TidRangeScanState, - T_SubqueryScanState, - T_FunctionScanState, - T_TableFuncScanState, - T_ValuesScanState, - T_CteScanState, - T_NamedTuplestoreScanState, - T_WorkTableScanState, - T_ForeignScanState, - T_CustomScanState, - T_JoinState, - T_NestLoopState, - T_MergeJoinState, - T_HashJoinState, - T_MaterialState, - T_MemoizeState, - T_SortState, - T_IncrementalSortState, - T_GroupState, - T_AggState, - T_WindowAggState, - T_UniqueState, - T_GatherState, - T_GatherMergeState, - T_HashState, - T_SetOpState, - T_LockRowsState, - T_LimitState, - - /* - * TAGS FOR PRIMITIVE NODES (primnodes.h) - */ - T_Alias, - T_RangeVar, - T_TableFunc, - T_Var, - T_Const, - T_Param, - T_Aggref, - T_GroupingFunc, - T_WindowFunc, - T_SubscriptingRef, - T_FuncExpr, - T_NamedArgExpr, - T_OpExpr, - T_DistinctExpr, - T_NullIfExpr, - T_ScalarArrayOpExpr, - T_BoolExpr, - T_SubLink, - T_SubPlan, - T_AlternativeSubPlan, - T_FieldSelect, - T_FieldStore, - T_RelabelType, - T_CoerceViaIO, - T_ArrayCoerceExpr, - T_ConvertRowtypeExpr, - T_CollateExpr, - T_CaseExpr, - T_CaseWhen, - T_CaseTestExpr, - T_ArrayExpr, - T_RowExpr, - T_RowCompareExpr, - T_CoalesceExpr, - T_MinMaxExpr, - T_SQLValueFunction, - T_XmlExpr, - T_NullTest, - T_BooleanTest, - T_CoerceToDomain, - T_CoerceToDomainValue, - T_SetToDefault, - T_CurrentOfExpr, - T_NextValueExpr, - T_InferenceElem, - T_TargetEntry, - T_RangeTblRef, - T_JoinExpr, - T_FromExpr, - T_OnConflictExpr, - T_IntoClause, - - /* - * TAGS FOR EXPRESSION STATE NODES (execnodes.h) - * - * ExprState represents the evaluation state for a whole expression tree. - * Most Expr-based plan nodes do not have a corresponding expression state - * node, they're fully handled within execExpr* - but sometimes the state - * needs to be shared with other parts of the executor, as for example - * with SubPlanState, which nodeSubplan.c has to modify. - */ - T_ExprState, - T_WindowFuncExprState, - T_SetExprState, - T_SubPlanState, - T_DomainConstraintState, - - /* - * TAGS FOR PLANNER NODES (pathnodes.h) - */ - T_PlannerInfo, - T_PlannerGlobal, - T_RelOptInfo, - T_IndexOptInfo, - T_ForeignKeyOptInfo, - T_ParamPathInfo, - T_Path, - T_IndexPath, - T_BitmapHeapPath, - T_BitmapAndPath, - T_BitmapOrPath, - T_TidPath, - T_TidRangePath, - T_SubqueryScanPath, - T_ForeignPath, - T_CustomPath, - T_NestPath, - T_MergePath, - T_HashPath, - T_AppendPath, - T_MergeAppendPath, - T_GroupResultPath, - T_MaterialPath, - T_MemoizePath, - T_UniquePath, - T_GatherPath, - T_GatherMergePath, - T_ProjectionPath, - T_ProjectSetPath, - T_SortPath, - T_IncrementalSortPath, - T_GroupPath, - T_UpperUniquePath, - T_AggPath, - T_GroupingSetsPath, - T_MinMaxAggPath, - T_WindowAggPath, - T_SetOpPath, - T_RecursiveUnionPath, - T_LockRowsPath, - T_ModifyTablePath, - T_LimitPath, - /* these aren't subclasses of Path: */ - T_EquivalenceClass, - T_EquivalenceMember, - T_PathKey, - T_PathKeyInfo, - T_PathTarget, - T_RestrictInfo, - T_IndexClause, - T_PlaceHolderVar, - T_SpecialJoinInfo, - T_AppendRelInfo, - T_RowIdentityVarInfo, - T_PlaceHolderInfo, - T_MinMaxAggInfo, - T_PlannerParamItem, - T_RollupData, - T_GroupingSetData, - T_StatisticExtInfo, - T_MergeAction, - - /* - * TAGS FOR MEMORY NODES (memnodes.h) - */ - T_AllocSetContext, - T_SlabContext, - T_GenerationContext, - - /* - * TAGS FOR VALUE NODES (value.h) - */ - T_Integer, - T_Float, - T_Boolean, - T_String, - T_BitString, - - /* - * TAGS FOR LIST NODES (pg_list.h) - */ - T_List, - T_IntList, - T_OidList, - - /* - * TAGS FOR EXTENSIBLE NODES (extensible.h) - */ - T_ExtensibleNode, - - /* - * TAGS FOR STATEMENT NODES (mostly in parsenodes.h) - */ - T_RawStmt, - T_Query, - T_PlannedStmt, - T_InsertStmt, - T_DeleteStmt, - T_UpdateStmt, - T_MergeStmt, - T_SelectStmt, - T_ReturnStmt, - T_PLAssignStmt, - T_AlterTableStmt, - T_AlterTableCmd, - T_AlterDomainStmt, - T_SetOperationStmt, - T_GrantStmt, - T_GrantRoleStmt, - T_AlterDefaultPrivilegesStmt, - T_ClosePortalStmt, - T_ClusterStmt, - T_CopyStmt, - T_CreateStmt, - T_DefineStmt, - T_DropStmt, - T_TruncateStmt, - T_CommentStmt, - T_FetchStmt, - T_IndexStmt, - T_CreateFunctionStmt, - T_AlterFunctionStmt, - T_DoStmt, - T_RenameStmt, - T_RuleStmt, - T_NotifyStmt, - T_ListenStmt, - T_UnlistenStmt, - T_TransactionStmt, - T_ViewStmt, - T_LoadStmt, - T_CreateDomainStmt, - T_CreatedbStmt, - T_DropdbStmt, - T_VacuumStmt, - T_ExplainStmt, - T_CreateTableAsStmt, - T_CreateSeqStmt, - T_AlterSeqStmt, - T_VariableSetStmt, - T_VariableShowStmt, - T_DiscardStmt, - T_CreateTrigStmt, - T_CreatePLangStmt, - T_CreateRoleStmt, - T_AlterRoleStmt, - T_DropRoleStmt, - T_LockStmt, - T_ConstraintsSetStmt, - T_ReindexStmt, - T_CheckPointStmt, - T_CreateSchemaStmt, - T_AlterDatabaseStmt, - T_AlterDatabaseRefreshCollStmt, - T_AlterDatabaseSetStmt, - T_AlterRoleSetStmt, - T_CreateConversionStmt, - T_CreateCastStmt, - T_CreateOpClassStmt, - T_CreateOpFamilyStmt, - T_AlterOpFamilyStmt, - T_PrepareStmt, - T_ExecuteStmt, - T_DeallocateStmt, - T_DeclareCursorStmt, - T_CreateTableSpaceStmt, - T_DropTableSpaceStmt, - T_AlterObjectDependsStmt, - T_AlterObjectSchemaStmt, - T_AlterOwnerStmt, - T_AlterOperatorStmt, - T_AlterTypeStmt, - T_DropOwnedStmt, - T_ReassignOwnedStmt, - T_CompositeTypeStmt, - T_CreateEnumStmt, - T_CreateRangeStmt, - T_AlterEnumStmt, - T_AlterTSDictionaryStmt, - T_AlterTSConfigurationStmt, - T_CreateFdwStmt, - T_AlterFdwStmt, - T_CreateForeignServerStmt, - T_AlterForeignServerStmt, - T_CreateUserMappingStmt, - T_AlterUserMappingStmt, - T_DropUserMappingStmt, - T_AlterTableSpaceOptionsStmt, - T_AlterTableMoveAllStmt, - T_SecLabelStmt, - T_CreateForeignTableStmt, - T_ImportForeignSchemaStmt, - T_CreateExtensionStmt, - T_AlterExtensionStmt, - T_AlterExtensionContentsStmt, - T_CreateEventTrigStmt, - T_AlterEventTrigStmt, - T_RefreshMatViewStmt, - T_ReplicaIdentityStmt, - T_AlterSystemStmt, - T_CreatePolicyStmt, - T_AlterPolicyStmt, - T_CreateTransformStmt, - T_CreateAmStmt, - T_CreatePublicationStmt, - T_AlterPublicationStmt, - T_CreateSubscriptionStmt, - T_AlterSubscriptionStmt, - T_DropSubscriptionStmt, - T_CreateStatsStmt, - T_AlterCollationStmt, - T_CallStmt, - T_AlterStatsStmt, - - /* - * TAGS FOR PARSE TREE NODES (parsenodes.h) - */ - T_A_Expr, - T_ColumnRef, - T_ParamRef, - T_A_Const, - T_FuncCall, - T_A_Star, - T_A_Indices, - T_A_Indirection, - T_A_ArrayExpr, - T_ResTarget, - T_MultiAssignRef, - T_TypeCast, - T_CollateClause, - T_SortBy, - T_WindowDef, - T_RangeSubselect, - T_RangeFunction, - T_RangeTableSample, - T_RangeTableFunc, - T_RangeTableFuncCol, - T_TypeName, - T_ColumnDef, - T_IndexElem, - T_StatsElem, - T_Constraint, - T_DefElem, - T_RangeTblEntry, - T_RangeTblFunction, - T_TableSampleClause, - T_WithCheckOption, - T_SortGroupClause, - T_GroupingSet, - T_WindowClause, - T_ObjectWithArgs, - T_AccessPriv, - T_CreateOpClassItem, - T_TableLikeClause, - T_FunctionParameter, - T_LockingClause, - T_RowMarkClause, - T_XmlSerialize, - T_WithClause, - T_InferClause, - T_OnConflictClause, - T_CTESearchClause, - T_CTECycleClause, - T_CommonTableExpr, - T_MergeWhenClause, - T_RoleSpec, - T_TriggerTransition, - T_PartitionElem, - T_PartitionSpec, - T_PartitionBoundSpec, - T_PartitionRangeDatum, - T_PartitionCmd, - T_VacuumRelation, - T_PublicationObjSpec, - T_PublicationTable, - - /* - * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h) - */ - T_IdentifySystemCmd, - T_BaseBackupCmd, - T_CreateReplicationSlotCmd, - T_DropReplicationSlotCmd, - T_ReadReplicationSlotCmd, - T_StartReplicationCmd, - T_TimeLineHistoryCmd, - - /* - * TAGS FOR RANDOM OTHER STUFF - * - * These are objects that aren't part of parse/plan/execute node tree - * structures, but we give them NodeTags anyway for identification - * purposes (usually because they are involved in APIs where we want to - * pass multiple object types through the same pointer). - */ - T_TriggerData, /* in commands/trigger.h */ - T_EventTriggerData, /* in commands/event_trigger.h */ - T_ReturnSetInfo, /* in nodes/execnodes.h */ - T_WindowObjectData, /* private in nodeWindowAgg.c */ - T_TIDBitmap, /* in nodes/tidbitmap.h */ - T_InlineCodeBlock, /* in nodes/parsenodes.h */ - T_FdwRoutine, /* in foreign/fdwapi.h */ - T_IndexAmRoutine, /* in access/amapi.h */ - T_TableAmRoutine, /* in access/tableam.h */ - T_TsmRoutine, /* in access/tsmapi.h */ - T_ForeignKeyCacheInfo, /* in utils/rel.h */ - T_CallContext, /* in nodes/parsenodes.h */ - T_SupportRequestSimplify, /* in nodes/supportnodes.h */ - T_SupportRequestSelectivity, /* in nodes/supportnodes.h */ - T_SupportRequestCost, /* in nodes/supportnodes.h */ - T_SupportRequestRows, /* in nodes/supportnodes.h */ - T_SupportRequestIndexCondition, /* in nodes/supportnodes.h */ - T_SupportRequestWFuncMonotonic /* in nodes/supportnodes.h */ -} NodeTag; - -/* - * The first field of a node of any type is guaranteed to be the NodeTag. - * Hence the type of any node can be gotten by casting it to Node. Declaring - * a variable to be of Node * (instead of void *) can also facilitate - * debugging. - */ -typedef struct Node -{ - NodeTag type; -} Node; - -#define nodeTag(nodeptr) (((const Node*)(nodeptr))->type) - -/* - * newNode - - * create a new node of the specified size and tag the node with the - * specified tag. - * - * !WARNING!: Avoid using newNode directly. You should be using the - * macro makeNode. eg. to create a Query node, use makeNode(Query) - * - * Note: the size argument should always be a compile-time constant, so the - * apparent risk of multiple evaluation doesn't matter in practice. - */ -#ifdef __GNUC__ - -/* With GCC, we can use a compound statement within an expression */ -#define newNode(size, tag) \ -({ Node *_result; \ - AssertMacro((size) >= sizeof(Node)); /* need the tag, at least */ \ - _result = (Node *) palloc0fast(size); \ - _result->type = (tag); \ - _result; \ -}) -#else - -/* - * There is no way to dereference the palloc'ed pointer to assign the - * tag, and also return the pointer itself, so we need a holder variable. - * Fortunately, this macro isn't recursive so we just define - * a global variable for this purpose. - */ -extern PGDLLIMPORT Node *newNodeMacroHolder; - -#define newNode(size, tag) \ -( \ - AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \ - newNodeMacroHolder = (Node *) palloc0fast(size), \ - newNodeMacroHolder->type = (tag), \ - newNodeMacroHolder \ -) -#endif /* __GNUC__ */ - - -#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_)) -#define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t)) - -#define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_) - -/* - * castNode(type, ptr) casts ptr to "type *", and if assertions are enabled, - * verifies that the node has the appropriate type (using its nodeTag()). - * - * Use an inline function when assertions are enabled, to avoid multiple - * evaluations of the ptr argument (which could e.g. be a function call). - */ -#ifdef USE_ASSERT_CHECKING -static inline Node * -castNodeImpl(NodeTag type, void *ptr) -{ - Assert(ptr == NULL || nodeTag(ptr) == type); - return (Node *) ptr; -} -#define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr)) -#else -#define castNode(_type_, nodeptr) ((_type_ *) (nodeptr)) -#endif /* USE_ASSERT_CHECKING */ - - -/* ---------------------------------------------------------------- - * extern declarations follow - * ---------------------------------------------------------------- - */ - -/* - * nodes/{outfuncs.c,print.c} - */ -struct Bitmapset; /* not to include bitmapset.h here */ -struct StringInfoData; /* not to include stringinfo.h here */ - -extern void outNode(struct StringInfoData *str, const void *obj); -extern void outToken(struct StringInfoData *str, const char *s); -extern void outBitmapset(struct StringInfoData *str, - const struct Bitmapset *bms); -extern void outDatum(struct StringInfoData *str, uintptr_t value, - int typlen, bool typbyval); -extern char *nodeToString(const void *obj); -extern char *bmsToString(const struct Bitmapset *bms); - -/* - * nodes/{readfuncs.c,read.c} - */ -extern void *stringToNode(const char *str); -#ifdef WRITE_READ_PARSE_PLAN_TREES -extern void *stringToNodeWithLocations(const char *str); -#endif -extern struct Bitmapset *readBitmapset(void); -extern uintptr_t readDatum(bool typbyval); -extern bool *readBoolCols(int numCols); -extern int *readIntCols(int numCols); -extern Oid *readOidCols(int numCols); -extern int16 *readAttrNumberCols(int numCols); - -/* - * nodes/copyfuncs.c - */ -extern void *copyObjectImpl(const void *obj); - -/* cast result back to argument type, if supported by compiler */ -#ifdef HAVE_TYPEOF -#define copyObject(obj) ((typeof(obj)) copyObjectImpl(obj)) -#else -#define copyObject(obj) copyObjectImpl(obj) -#endif - -/* - * nodes/equalfuncs.c - */ -extern bool equal(const void *a, const void *b); - - -/* - * Typedefs for identifying qualifier selectivities and plan costs as such. - * These are just plain "double"s, but declaring a variable as Selectivity - * or Cost makes the intent more obvious. - * - * These could have gone into plannodes.h or some such, but many files - * depend on them... - */ -typedef double Selectivity; /* fraction of tuples a qualifier will pass */ -typedef double Cost; /* execution cost (in page-access units) */ -typedef double Cardinality; /* (estimated) number of rows or other integer - * count */ - - -/* - * CmdType - - * enums for type of operation represented by a Query or PlannedStmt - * - * This is needed in both parsenodes.h and plannodes.h, so put it here... - */ -typedef enum CmdType -{ - CMD_UNKNOWN, - CMD_SELECT, /* select stmt */ - CMD_UPDATE, /* update stmt */ - CMD_INSERT, /* insert stmt */ - CMD_DELETE, /* delete stmt */ - CMD_MERGE, /* merge stmt */ - CMD_UTILITY, /* cmds like create, destroy, copy, vacuum, - * etc. */ - CMD_NOTHING /* dummy command for instead nothing rules - * with qual */ -} CmdType; - - -/* - * JoinType - - * enums for types of relation joins - * - * JoinType determines the exact semantics of joining two relations using - * a matching qualification. For example, it tells what to do with a tuple - * that has no match in the other relation. - * - * This is needed in both parsenodes.h and plannodes.h, so put it here... - */ -typedef enum JoinType -{ - /* - * The canonical kinds of joins according to the SQL JOIN syntax. Only - * these codes can appear in parser output (e.g., JoinExpr nodes). - */ - JOIN_INNER, /* matching tuple pairs only */ - JOIN_LEFT, /* pairs + unmatched LHS tuples */ - JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */ - JOIN_RIGHT, /* pairs + unmatched RHS tuples */ - - /* - * Semijoins and anti-semijoins (as defined in relational theory) do not - * appear in the SQL JOIN syntax, but there are standard idioms for - * representing them (e.g., using EXISTS). The planner recognizes these - * cases and converts them to joins. So the planner and executor must - * support these codes. NOTE: in JOIN_SEMI output, it is unspecified - * which matching RHS row is joined to. In JOIN_ANTI output, the row is - * guaranteed to be null-extended. - */ - JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */ - JOIN_ANTI, /* 1 copy of each LHS row that has no match */ - - /* - * These codes are used internally in the planner, but are not supported - * by the executor (nor, indeed, by most of the planner). - */ - JOIN_UNIQUE_OUTER, /* LHS path must be made unique */ - JOIN_UNIQUE_INNER /* RHS path must be made unique */ - - /* - * We might need additional join types someday. - */ -} JoinType; - -/* - * OUTER joins are those for which pushed-down quals must behave differently - * from the join's own quals. This is in fact everything except INNER and - * SEMI joins. However, this macro must also exclude the JOIN_UNIQUE symbols - * since those are temporary proxies for what will eventually be an INNER - * join. - * - * Note: semijoins are a hybrid case, but we choose to treat them as not - * being outer joins. This is okay principally because the SQL syntax makes - * it impossible to have a pushed-down qual that refers to the inner relation - * of a semijoin; so there is no strong need to distinguish join quals from - * pushed-down quals. This is convenient because for almost all purposes, - * quals attached to a semijoin can be treated the same as innerjoin quals. - */ -#define IS_OUTER_JOIN(jointype) \ - (((1 << (jointype)) & \ - ((1 << JOIN_LEFT) | \ - (1 << JOIN_FULL) | \ - (1 << JOIN_RIGHT) | \ - (1 << JOIN_ANTI))) != 0) - -/* - * AggStrategy - - * overall execution strategies for Agg plan nodes - * - * This is needed in both pathnodes.h and plannodes.h, so put it here... - */ -typedef enum AggStrategy -{ - AGG_PLAIN, /* simple agg across all input rows */ - AGG_SORTED, /* grouped agg, input must be sorted */ - AGG_HASHED, /* grouped agg, use internal hashtable */ - AGG_MIXED /* grouped agg, hash and sort both used */ -} AggStrategy; - -/* - * AggSplit - - * splitting (partial aggregation) modes for Agg plan nodes - * - * This is needed in both pathnodes.h and plannodes.h, so put it here... - */ - -/* Primitive options supported by nodeAgg.c: */ -#define AGGSPLITOP_COMBINE 0x01 /* substitute combinefn for transfn */ -#define AGGSPLITOP_SKIPFINAL 0x02 /* skip finalfn, return state as-is */ -#define AGGSPLITOP_SERIALIZE 0x04 /* apply serialfn to output */ -#define AGGSPLITOP_DESERIALIZE 0x08 /* apply deserialfn to input */ - -/* Supported operating modes (i.e., useful combinations of these options): */ -typedef enum AggSplit -{ - /* Basic, non-split aggregation: */ - AGGSPLIT_SIMPLE = 0, - /* Initial phase of partial aggregation, with serialization: */ - AGGSPLIT_INITIAL_SERIAL = AGGSPLITOP_SKIPFINAL | AGGSPLITOP_SERIALIZE, - /* Final phase of partial aggregation, with deserialization: */ - AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE -} AggSplit; - -/* Test whether an AggSplit value selects each primitive option: */ -#define DO_AGGSPLIT_COMBINE(as) (((as) & AGGSPLITOP_COMBINE) != 0) -#define DO_AGGSPLIT_SKIPFINAL(as) (((as) & AGGSPLITOP_SKIPFINAL) != 0) -#define DO_AGGSPLIT_SERIALIZE(as) (((as) & AGGSPLITOP_SERIALIZE) != 0) -#define DO_AGGSPLIT_DESERIALIZE(as) (((as) & AGGSPLITOP_DESERIALIZE) != 0) - -/* - * SetOpCmd and SetOpStrategy - - * overall semantics and execution strategies for SetOp plan nodes - * - * This is needed in both pathnodes.h and plannodes.h, so put it here... - */ -typedef enum SetOpCmd -{ - SETOPCMD_INTERSECT, - SETOPCMD_INTERSECT_ALL, - SETOPCMD_EXCEPT, - SETOPCMD_EXCEPT_ALL -} SetOpCmd; - -typedef enum SetOpStrategy -{ - SETOP_SORTED, /* input must be sorted */ - SETOP_HASHED /* use internal hashtable */ -} SetOpStrategy; - -/* - * OnConflictAction - - * "ON CONFLICT" clause type of query - * - * This is needed in both parsenodes.h and plannodes.h, so put it here... - */ -typedef enum OnConflictAction -{ - ONCONFLICT_NONE, /* No "ON CONFLICT" clause */ - ONCONFLICT_NOTHING, /* ON CONFLICT ... DO NOTHING */ - ONCONFLICT_UPDATE /* ON CONFLICT ... DO UPDATE */ -} OnConflictAction; - -/* - * LimitOption - - * LIMIT option of query - * - * This is needed in both parsenodes.h and plannodes.h, so put it here... - */ -typedef enum LimitOption -{ - LIMIT_OPTION_DEFAULT, /* No limit present */ - LIMIT_OPTION_COUNT, /* FETCH FIRST... ONLY */ - LIMIT_OPTION_WITH_TIES, /* FETCH FIRST... WITH TIES */ -} LimitOption; - -#endif /* NODES_H */ diff --git a/parser/include/parser/gram.h b/parser/include/parser/gram.h deleted file mode 100644 index 70a82065..00000000 --- a/parser/include/parser/gram.h +++ /dev/null @@ -1,1101 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.3. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - IDENT = 258, - UIDENT = 259, - FCONST = 260, - SCONST = 261, - USCONST = 262, - BCONST = 263, - XCONST = 264, - Op = 265, - ICONST = 266, - PARAM = 267, - TYPECAST = 268, - DOT_DOT = 269, - COLON_EQUALS = 270, - EQUALS_GREATER = 271, - LESS_EQUALS = 272, - GREATER_EQUALS = 273, - NOT_EQUALS = 274, - SQL_COMMENT = 275, - C_COMMENT = 276, - ABORT_P = 277, - ABSOLUTE_P = 278, - ACCESS = 279, - ACTION = 280, - ADD_P = 281, - ADMIN = 282, - AFTER = 283, - AGGREGATE = 284, - ALL = 285, - ALSO = 286, - ALTER = 287, - ALWAYS = 288, - ANALYSE = 289, - ANALYZE = 290, - AND = 291, - ANY = 292, - ARRAY = 293, - AS = 294, - ASC = 295, - ASENSITIVE = 296, - ASSERTION = 297, - ASSIGNMENT = 298, - ASYMMETRIC = 299, - ATOMIC = 300, - AT = 301, - ATTACH = 302, - ATTRIBUTE = 303, - AUTHORIZATION = 304, - BACKWARD = 305, - BEFORE = 306, - BEGIN_P = 307, - BETWEEN = 308, - BIGINT = 309, - BINARY = 310, - BIT = 311, - BOOLEAN_P = 312, - BOTH = 313, - BREADTH = 314, - BY = 315, - CACHE = 316, - CALL = 317, - CALLED = 318, - CASCADE = 319, - CASCADED = 320, - CASE = 321, - CAST = 322, - CATALOG_P = 323, - CHAIN = 324, - CHAR_P = 325, - CHARACTER = 326, - CHARACTERISTICS = 327, - CHECK = 328, - CHECKPOINT = 329, - CLASS = 330, - CLOSE = 331, - CLUSTER = 332, - COALESCE = 333, - COLLATE = 334, - COLLATION = 335, - COLUMN = 336, - COLUMNS = 337, - COMMENT = 338, - COMMENTS = 339, - COMMIT = 340, - COMMITTED = 341, - COMPRESSION = 342, - CONCURRENTLY = 343, - CONFIGURATION = 344, - CONFLICT = 345, - CONNECTION = 346, - CONSTRAINT = 347, - CONSTRAINTS = 348, - CONTENT_P = 349, - CONTINUE_P = 350, - CONVERSION_P = 351, - COPY = 352, - COST = 353, - CREATE = 354, - CROSS = 355, - CSV = 356, - CUBE = 357, - CURRENT_P = 358, - CURRENT_CATALOG = 359, - CURRENT_DATE = 360, - CURRENT_ROLE = 361, - CURRENT_SCHEMA = 362, - CURRENT_TIME = 363, - CURRENT_TIMESTAMP = 364, - CURRENT_USER = 365, - CURSOR = 366, - CYCLE = 367, - DATA_P = 368, - DATABASE = 369, - DAY_P = 370, - DEALLOCATE = 371, - DEC = 372, - DECIMAL_P = 373, - DECLARE = 374, - DEFAULT = 375, - DEFAULTS = 376, - DEFERRABLE = 377, - DEFERRED = 378, - DEFINER = 379, - DELETE_P = 380, - DELIMITER = 381, - DELIMITERS = 382, - DEPENDS = 383, - DEPTH = 384, - DESC = 385, - DETACH = 386, - DICTIONARY = 387, - DISABLE_P = 388, - DISCARD = 389, - DISTINCT = 390, - DO = 391, - DOCUMENT_P = 392, - DOMAIN_P = 393, - DOUBLE_P = 394, - DROP = 395, - EACH = 396, - ELSE = 397, - ENABLE_P = 398, - ENCODING = 399, - ENCRYPTED = 400, - END_P = 401, - ENUM_P = 402, - ESCAPE = 403, - EVENT = 404, - EXCEPT = 405, - EXCLUDE = 406, - EXCLUDING = 407, - EXCLUSIVE = 408, - EXECUTE = 409, - EXISTS = 410, - EXPLAIN = 411, - EXPRESSION = 412, - EXTENSION = 413, - EXTERNAL = 414, - EXTRACT = 415, - FALSE_P = 416, - FAMILY = 417, - FETCH = 418, - FILTER = 419, - FINALIZE = 420, - FIRST_P = 421, - FLOAT_P = 422, - FOLLOWING = 423, - FOR = 424, - FORCE = 425, - FOREIGN = 426, - FORWARD = 427, - FREEZE = 428, - FROM = 429, - FULL = 430, - FUNCTION = 431, - FUNCTIONS = 432, - GENERATED = 433, - GLOBAL = 434, - GRANT = 435, - GRANTED = 436, - GREATEST = 437, - GROUP_P = 438, - GROUPING = 439, - GROUPS = 440, - HANDLER = 441, - HAVING = 442, - HEADER_P = 443, - HOLD = 444, - HOUR_P = 445, - IDENTITY_P = 446, - IF_P = 447, - ILIKE = 448, - IMMEDIATE = 449, - IMMUTABLE = 450, - IMPLICIT_P = 451, - IMPORT_P = 452, - IN_P = 453, - INCLUDE = 454, - INCLUDING = 455, - INCREMENT = 456, - INDEX = 457, - INDEXES = 458, - INHERIT = 459, - INHERITS = 460, - INITIALLY = 461, - INLINE_P = 462, - INNER_P = 463, - INOUT = 464, - INPUT_P = 465, - INSENSITIVE = 466, - INSERT = 467, - INSTEAD = 468, - INT_P = 469, - INTEGER = 470, - INTERSECT = 471, - INTERVAL = 472, - INTO = 473, - INVOKER = 474, - IS = 475, - ISNULL = 476, - ISOLATION = 477, - JOIN = 478, - KEY = 479, - LABEL = 480, - LANGUAGE = 481, - LARGE_P = 482, - LAST_P = 483, - LATERAL_P = 484, - LEADING = 485, - LEAKPROOF = 486, - LEAST = 487, - LEFT = 488, - LEVEL = 489, - LIKE = 490, - LIMIT = 491, - LISTEN = 492, - LOAD = 493, - LOCAL = 494, - LOCALTIME = 495, - LOCALTIMESTAMP = 496, - LOCATION = 497, - LOCK_P = 498, - LOCKED = 499, - LOGGED = 500, - MAPPING = 501, - MATCH = 502, - MATCHED = 503, - MATERIALIZED = 504, - MAXVALUE = 505, - MERGE = 506, - METHOD = 507, - MINUTE_P = 508, - MINVALUE = 509, - MODE = 510, - MONTH_P = 511, - MOVE = 512, - NAME_P = 513, - NAMES = 514, - NATIONAL = 515, - NATURAL = 516, - NCHAR = 517, - NEW = 518, - NEXT = 519, - NFC = 520, - NFD = 521, - NFKC = 522, - NFKD = 523, - NO = 524, - NONE = 525, - NORMALIZE = 526, - NORMALIZED = 527, - NOT = 528, - NOTHING = 529, - NOTIFY = 530, - NOTNULL = 531, - NOWAIT = 532, - NULL_P = 533, - NULLIF = 534, - NULLS_P = 535, - NUMERIC = 536, - OBJECT_P = 537, - OF = 538, - OFF = 539, - OFFSET = 540, - OIDS = 541, - OLD = 542, - ON = 543, - ONLY = 544, - OPERATOR = 545, - OPTION = 546, - OPTIONS = 547, - OR = 548, - ORDER = 549, - ORDINALITY = 550, - OTHERS = 551, - OUT_P = 552, - OUTER_P = 553, - OVER = 554, - OVERLAPS = 555, - OVERLAY = 556, - OVERRIDING = 557, - OWNED = 558, - OWNER = 559, - PARALLEL = 560, - PARAMETER = 561, - PARSER = 562, - PARTIAL = 563, - PARTITION = 564, - PASSING = 565, - PASSWORD = 566, - PLACING = 567, - PLANS = 568, - POLICY = 569, - POSITION = 570, - PRECEDING = 571, - PRECISION = 572, - PRESERVE = 573, - PREPARE = 574, - PREPARED = 575, - PRIMARY = 576, - PRIOR = 577, - PRIVILEGES = 578, - PROCEDURAL = 579, - PROCEDURE = 580, - PROCEDURES = 581, - PROGRAM = 582, - PUBLICATION = 583, - QUOTE = 584, - RANGE = 585, - READ = 586, - REAL = 587, - REASSIGN = 588, - RECHECK = 589, - RECURSIVE = 590, - REF_P = 591, - REFERENCES = 592, - REFERENCING = 593, - REFRESH = 594, - REINDEX = 595, - RELATIVE_P = 596, - RELEASE = 597, - RENAME = 598, - REPEATABLE = 599, - REPLACE = 600, - REPLICA = 601, - RESET = 602, - RESTART = 603, - RESTRICT = 604, - RETURN = 605, - RETURNING = 606, - RETURNS = 607, - REVOKE = 608, - RIGHT = 609, - ROLE = 610, - ROLLBACK = 611, - ROLLUP = 612, - ROUTINE = 613, - ROUTINES = 614, - ROW = 615, - ROWS = 616, - RULE = 617, - SAVEPOINT = 618, - SCHEMA = 619, - SCHEMAS = 620, - SCROLL = 621, - SEARCH = 622, - SECOND_P = 623, - SECURITY = 624, - SELECT = 625, - SEQUENCE = 626, - SEQUENCES = 627, - SERIALIZABLE = 628, - SERVER = 629, - SESSION = 630, - SESSION_USER = 631, - SET = 632, - SETS = 633, - SETOF = 634, - SHARE = 635, - SHOW = 636, - SIMILAR = 637, - SIMPLE = 638, - SKIP = 639, - SMALLINT = 640, - SNAPSHOT = 641, - SOME = 642, - SQL_P = 643, - STABLE = 644, - STANDALONE_P = 645, - START = 646, - STATEMENT = 647, - STATISTICS = 648, - STDIN = 649, - STDOUT = 650, - STORAGE = 651, - STORED = 652, - STRICT_P = 653, - STRIP_P = 654, - SUBSCRIPTION = 655, - SUBSTRING = 656, - SUPPORT = 657, - SYMMETRIC = 658, - SYSID = 659, - SYSTEM_P = 660, - TABLE = 661, - TABLES = 662, - TABLESAMPLE = 663, - TABLESPACE = 664, - TEMP = 665, - TEMPLATE = 666, - TEMPORARY = 667, - TEXT_P = 668, - THEN = 669, - TIES = 670, - TIME = 671, - TIMESTAMP = 672, - TO = 673, - TRAILING = 674, - TRANSACTION = 675, - TRANSFORM = 676, - TREAT = 677, - TRIGGER = 678, - TRIM = 679, - TRUE_P = 680, - TRUNCATE = 681, - TRUSTED = 682, - TYPE_P = 683, - TYPES_P = 684, - UESCAPE = 685, - UNBOUNDED = 686, - UNCOMMITTED = 687, - UNENCRYPTED = 688, - UNION = 689, - UNIQUE = 690, - UNKNOWN = 691, - UNLISTEN = 692, - UNLOGGED = 693, - UNTIL = 694, - UPDATE = 695, - USER = 696, - USING = 697, - VACUUM = 698, - VALID = 699, - VALIDATE = 700, - VALIDATOR = 701, - VALUE_P = 702, - VALUES = 703, - VARCHAR = 704, - VARIADIC = 705, - VARYING = 706, - VERBOSE = 707, - VERSION_P = 708, - VIEW = 709, - VIEWS = 710, - VOLATILE = 711, - WHEN = 712, - WHERE = 713, - WHITESPACE_P = 714, - WINDOW = 715, - WITH = 716, - WITHIN = 717, - WITHOUT = 718, - WORK = 719, - WRAPPER = 720, - WRITE = 721, - XML_P = 722, - XMLATTRIBUTES = 723, - XMLCONCAT = 724, - XMLELEMENT = 725, - XMLEXISTS = 726, - XMLFOREST = 727, - XMLNAMESPACES = 728, - XMLPARSE = 729, - XMLPI = 730, - XMLROOT = 731, - XMLSERIALIZE = 732, - XMLTABLE = 733, - YEAR_P = 734, - YES_P = 735, - ZONE = 736, - NOT_LA = 737, - NULLS_LA = 738, - WITH_LA = 739, - MODE_TYPE_NAME = 740, - MODE_PLPGSQL_EXPR = 741, - MODE_PLPGSQL_ASSIGN1 = 742, - MODE_PLPGSQL_ASSIGN2 = 743, - MODE_PLPGSQL_ASSIGN3 = 744, - UMINUS = 745 - }; -#endif -/* Tokens. */ -#define IDENT 258 -#define UIDENT 259 -#define FCONST 260 -#define SCONST 261 -#define USCONST 262 -#define BCONST 263 -#define XCONST 264 -#define Op 265 -#define ICONST 266 -#define PARAM 267 -#define TYPECAST 268 -#define DOT_DOT 269 -#define COLON_EQUALS 270 -#define EQUALS_GREATER 271 -#define LESS_EQUALS 272 -#define GREATER_EQUALS 273 -#define NOT_EQUALS 274 -#define SQL_COMMENT 275 -#define C_COMMENT 276 -#define ABORT_P 277 -#define ABSOLUTE_P 278 -#define ACCESS 279 -#define ACTION 280 -#define ADD_P 281 -#define ADMIN 282 -#define AFTER 283 -#define AGGREGATE 284 -#define ALL 285 -#define ALSO 286 -#define ALTER 287 -#define ALWAYS 288 -#define ANALYSE 289 -#define ANALYZE 290 -#define AND 291 -#define ANY 292 -#define ARRAY 293 -#define AS 294 -#define ASC 295 -#define ASENSITIVE 296 -#define ASSERTION 297 -#define ASSIGNMENT 298 -#define ASYMMETRIC 299 -#define ATOMIC 300 -#define AT 301 -#define ATTACH 302 -#define ATTRIBUTE 303 -#define AUTHORIZATION 304 -#define BACKWARD 305 -#define BEFORE 306 -#define BEGIN_P 307 -#define BETWEEN 308 -#define BIGINT 309 -#define BINARY 310 -#define BIT 311 -#define BOOLEAN_P 312 -#define BOTH 313 -#define BREADTH 314 -#define BY 315 -#define CACHE 316 -#define CALL 317 -#define CALLED 318 -#define CASCADE 319 -#define CASCADED 320 -#define CASE 321 -#define CAST 322 -#define CATALOG_P 323 -#define CHAIN 324 -#define CHAR_P 325 -#define CHARACTER 326 -#define CHARACTERISTICS 327 -#define CHECK 328 -#define CHECKPOINT 329 -#define CLASS 330 -#define CLOSE 331 -#define CLUSTER 332 -#define COALESCE 333 -#define COLLATE 334 -#define COLLATION 335 -#define COLUMN 336 -#define COLUMNS 337 -#define COMMENT 338 -#define COMMENTS 339 -#define COMMIT 340 -#define COMMITTED 341 -#define COMPRESSION 342 -#define CONCURRENTLY 343 -#define CONFIGURATION 344 -#define CONFLICT 345 -#define CONNECTION 346 -#define CONSTRAINT 347 -#define CONSTRAINTS 348 -#define CONTENT_P 349 -#define CONTINUE_P 350 -#define CONVERSION_P 351 -#define COPY 352 -#define COST 353 -#define CREATE 354 -#define CROSS 355 -#define CSV 356 -#define CUBE 357 -#define CURRENT_P 358 -#define CURRENT_CATALOG 359 -#define CURRENT_DATE 360 -#define CURRENT_ROLE 361 -#define CURRENT_SCHEMA 362 -#define CURRENT_TIME 363 -#define CURRENT_TIMESTAMP 364 -#define CURRENT_USER 365 -#define CURSOR 366 -#define CYCLE 367 -#define DATA_P 368 -#define DATABASE 369 -#define DAY_P 370 -#define DEALLOCATE 371 -#define DEC 372 -#define DECIMAL_P 373 -#define DECLARE 374 -#define DEFAULT 375 -#define DEFAULTS 376 -#define DEFERRABLE 377 -#define DEFERRED 378 -#define DEFINER 379 -#define DELETE_P 380 -#define DELIMITER 381 -#define DELIMITERS 382 -#define DEPENDS 383 -#define DEPTH 384 -#define DESC 385 -#define DETACH 386 -#define DICTIONARY 387 -#define DISABLE_P 388 -#define DISCARD 389 -#define DISTINCT 390 -#define DO 391 -#define DOCUMENT_P 392 -#define DOMAIN_P 393 -#define DOUBLE_P 394 -#define DROP 395 -#define EACH 396 -#define ELSE 397 -#define ENABLE_P 398 -#define ENCODING 399 -#define ENCRYPTED 400 -#define END_P 401 -#define ENUM_P 402 -#define ESCAPE 403 -#define EVENT 404 -#define EXCEPT 405 -#define EXCLUDE 406 -#define EXCLUDING 407 -#define EXCLUSIVE 408 -#define EXECUTE 409 -#define EXISTS 410 -#define EXPLAIN 411 -#define EXPRESSION 412 -#define EXTENSION 413 -#define EXTERNAL 414 -#define EXTRACT 415 -#define FALSE_P 416 -#define FAMILY 417 -#define FETCH 418 -#define FILTER 419 -#define FINALIZE 420 -#define FIRST_P 421 -#define FLOAT_P 422 -#define FOLLOWING 423 -#define FOR 424 -#define FORCE 425 -#define FOREIGN 426 -#define FORWARD 427 -#define FREEZE 428 -#define FROM 429 -#define FULL 430 -#define FUNCTION 431 -#define FUNCTIONS 432 -#define GENERATED 433 -#define GLOBAL 434 -#define GRANT 435 -#define GRANTED 436 -#define GREATEST 437 -#define GROUP_P 438 -#define GROUPING 439 -#define GROUPS 440 -#define HANDLER 441 -#define HAVING 442 -#define HEADER_P 443 -#define HOLD 444 -#define HOUR_P 445 -#define IDENTITY_P 446 -#define IF_P 447 -#define ILIKE 448 -#define IMMEDIATE 449 -#define IMMUTABLE 450 -#define IMPLICIT_P 451 -#define IMPORT_P 452 -#define IN_P 453 -#define INCLUDE 454 -#define INCLUDING 455 -#define INCREMENT 456 -#define INDEX 457 -#define INDEXES 458 -#define INHERIT 459 -#define INHERITS 460 -#define INITIALLY 461 -#define INLINE_P 462 -#define INNER_P 463 -#define INOUT 464 -#define INPUT_P 465 -#define INSENSITIVE 466 -#define INSERT 467 -#define INSTEAD 468 -#define INT_P 469 -#define INTEGER 470 -#define INTERSECT 471 -#define INTERVAL 472 -#define INTO 473 -#define INVOKER 474 -#define IS 475 -#define ISNULL 476 -#define ISOLATION 477 -#define JOIN 478 -#define KEY 479 -#define LABEL 480 -#define LANGUAGE 481 -#define LARGE_P 482 -#define LAST_P 483 -#define LATERAL_P 484 -#define LEADING 485 -#define LEAKPROOF 486 -#define LEAST 487 -#define LEFT 488 -#define LEVEL 489 -#define LIKE 490 -#define LIMIT 491 -#define LISTEN 492 -#define LOAD 493 -#define LOCAL 494 -#define LOCALTIME 495 -#define LOCALTIMESTAMP 496 -#define LOCATION 497 -#define LOCK_P 498 -#define LOCKED 499 -#define LOGGED 500 -#define MAPPING 501 -#define MATCH 502 -#define MATCHED 503 -#define MATERIALIZED 504 -#define MAXVALUE 505 -#define MERGE 506 -#define METHOD 507 -#define MINUTE_P 508 -#define MINVALUE 509 -#define MODE 510 -#define MONTH_P 511 -#define MOVE 512 -#define NAME_P 513 -#define NAMES 514 -#define NATIONAL 515 -#define NATURAL 516 -#define NCHAR 517 -#define NEW 518 -#define NEXT 519 -#define NFC 520 -#define NFD 521 -#define NFKC 522 -#define NFKD 523 -#define NO 524 -#define NONE 525 -#define NORMALIZE 526 -#define NORMALIZED 527 -#define NOT 528 -#define NOTHING 529 -#define NOTIFY 530 -#define NOTNULL 531 -#define NOWAIT 532 -#define NULL_P 533 -#define NULLIF 534 -#define NULLS_P 535 -#define NUMERIC 536 -#define OBJECT_P 537 -#define OF 538 -#define OFF 539 -#define OFFSET 540 -#define OIDS 541 -#define OLD 542 -#define ON 543 -#define ONLY 544 -#define OPERATOR 545 -#define OPTION 546 -#define OPTIONS 547 -#define OR 548 -#define ORDER 549 -#define ORDINALITY 550 -#define OTHERS 551 -#define OUT_P 552 -#define OUTER_P 553 -#define OVER 554 -#define OVERLAPS 555 -#define OVERLAY 556 -#define OVERRIDING 557 -#define OWNED 558 -#define OWNER 559 -#define PARALLEL 560 -#define PARAMETER 561 -#define PARSER 562 -#define PARTIAL 563 -#define PARTITION 564 -#define PASSING 565 -#define PASSWORD 566 -#define PLACING 567 -#define PLANS 568 -#define POLICY 569 -#define POSITION 570 -#define PRECEDING 571 -#define PRECISION 572 -#define PRESERVE 573 -#define PREPARE 574 -#define PREPARED 575 -#define PRIMARY 576 -#define PRIOR 577 -#define PRIVILEGES 578 -#define PROCEDURAL 579 -#define PROCEDURE 580 -#define PROCEDURES 581 -#define PROGRAM 582 -#define PUBLICATION 583 -#define QUOTE 584 -#define RANGE 585 -#define READ 586 -#define REAL 587 -#define REASSIGN 588 -#define RECHECK 589 -#define RECURSIVE 590 -#define REF_P 591 -#define REFERENCES 592 -#define REFERENCING 593 -#define REFRESH 594 -#define REINDEX 595 -#define RELATIVE_P 596 -#define RELEASE 597 -#define RENAME 598 -#define REPEATABLE 599 -#define REPLACE 600 -#define REPLICA 601 -#define RESET 602 -#define RESTART 603 -#define RESTRICT 604 -#define RETURN 605 -#define RETURNING 606 -#define RETURNS 607 -#define REVOKE 608 -#define RIGHT 609 -#define ROLE 610 -#define ROLLBACK 611 -#define ROLLUP 612 -#define ROUTINE 613 -#define ROUTINES 614 -#define ROW 615 -#define ROWS 616 -#define RULE 617 -#define SAVEPOINT 618 -#define SCHEMA 619 -#define SCHEMAS 620 -#define SCROLL 621 -#define SEARCH 622 -#define SECOND_P 623 -#define SECURITY 624 -#define SELECT 625 -#define SEQUENCE 626 -#define SEQUENCES 627 -#define SERIALIZABLE 628 -#define SERVER 629 -#define SESSION 630 -#define SESSION_USER 631 -#define SET 632 -#define SETS 633 -#define SETOF 634 -#define SHARE 635 -#define SHOW 636 -#define SIMILAR 637 -#define SIMPLE 638 -#define SKIP 639 -#define SMALLINT 640 -#define SNAPSHOT 641 -#define SOME 642 -#define SQL_P 643 -#define STABLE 644 -#define STANDALONE_P 645 -#define START 646 -#define STATEMENT 647 -#define STATISTICS 648 -#define STDIN 649 -#define STDOUT 650 -#define STORAGE 651 -#define STORED 652 -#define STRICT_P 653 -#define STRIP_P 654 -#define SUBSCRIPTION 655 -#define SUBSTRING 656 -#define SUPPORT 657 -#define SYMMETRIC 658 -#define SYSID 659 -#define SYSTEM_P 660 -#define TABLE 661 -#define TABLES 662 -#define TABLESAMPLE 663 -#define TABLESPACE 664 -#define TEMP 665 -#define TEMPLATE 666 -#define TEMPORARY 667 -#define TEXT_P 668 -#define THEN 669 -#define TIES 670 -#define TIME 671 -#define TIMESTAMP 672 -#define TO 673 -#define TRAILING 674 -#define TRANSACTION 675 -#define TRANSFORM 676 -#define TREAT 677 -#define TRIGGER 678 -#define TRIM 679 -#define TRUE_P 680 -#define TRUNCATE 681 -#define TRUSTED 682 -#define TYPE_P 683 -#define TYPES_P 684 -#define UESCAPE 685 -#define UNBOUNDED 686 -#define UNCOMMITTED 687 -#define UNENCRYPTED 688 -#define UNION 689 -#define UNIQUE 690 -#define UNKNOWN 691 -#define UNLISTEN 692 -#define UNLOGGED 693 -#define UNTIL 694 -#define UPDATE 695 -#define USER 696 -#define USING 697 -#define VACUUM 698 -#define VALID 699 -#define VALIDATE 700 -#define VALIDATOR 701 -#define VALUE_P 702 -#define VALUES 703 -#define VARCHAR 704 -#define VARIADIC 705 -#define VARYING 706 -#define VERBOSE 707 -#define VERSION_P 708 -#define VIEW 709 -#define VIEWS 710 -#define VOLATILE 711 -#define WHEN 712 -#define WHERE 713 -#define WHITESPACE_P 714 -#define WINDOW 715 -#define WITH 716 -#define WITHIN 717 -#define WITHOUT 718 -#define WORK 719 -#define WRAPPER 720 -#define WRITE 721 -#define XML_P 722 -#define XMLATTRIBUTES 723 -#define XMLCONCAT 724 -#define XMLELEMENT 725 -#define XMLEXISTS 726 -#define XMLFOREST 727 -#define XMLNAMESPACES 728 -#define XMLPARSE 729 -#define XMLPI 730 -#define XMLROOT 731 -#define XMLSERIALIZE 732 -#define XMLTABLE 733 -#define YEAR_P 734 -#define YES_P 735 -#define ZONE 736 -#define NOT_LA 737 -#define NULLS_LA 738 -#define WITH_LA 739 -#define MODE_TYPE_NAME 740 -#define MODE_PLPGSQL_EXPR 741 -#define MODE_PLPGSQL_ASSIGN1 742 -#define MODE_PLPGSQL_ASSIGN2 743 -#define MODE_PLPGSQL_ASSIGN3 744 -#define UMINUS 745 - - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -#line 237 "gram.y" -{ - core_YYSTYPE core_yystype; - /* these fields must match core_YYSTYPE: */ - int ival; - char *str; - const char *keyword; - - char chr; - bool boolean; - JoinType jtype; - DropBehavior dbehavior; - OnCommitAction oncommit; - List *list; - Node *node; - ObjectType objtype; - TypeName *typnam; - FunctionParameter *fun_param; - FunctionParameterMode fun_param_mode; - ObjectWithArgs *objwithargs; - DefElem *defelt; - SortBy *sortby; - WindowDef *windef; - JoinExpr *jexpr; - IndexElem *ielem; - StatsElem *selem; - Alias *alias; - RangeVar *range; - IntoClause *into; - WithClause *with; - InferClause *infer; - OnConflictClause *onconflict; - A_Indices *aind; - ResTarget *target; - struct PrivTarget *privtarget; - AccessPriv *accesspriv; - struct ImportQual *importqual; - InsertStmt *istmt; - VariableSetStmt *vsetstmt; - PartitionElem *partelem; - PartitionSpec *partspec; - PartitionBoundSpec *partboundspec; - RoleSpec *rolespec; - PublicationObjSpec *publicationobjectspec; - struct SelectLimit *selectlimit; - SetQuantifier setquantifier; - struct GroupClause *groupclause; - MergeWhenClause *mergewhen; - struct KeyActions *keyactions; - struct KeyAction *keyaction; -} -/* Line 1529 of yacc.c. */ -#line 1080 "gram.h" - YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED -typedef struct YYLTYPE -{ - int first_line; - int first_column; - int last_line; - int last_column; -} YYLTYPE; -# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ -# define YYLTYPE_IS_DECLARED 1 -# define YYLTYPE_IS_TRIVIAL 1 -#endif - - diff --git a/parser/include/pg_config_os.h b/parser/include/pg_config_os.h deleted file mode 100644 index 15fb69d6..00000000 --- a/parser/include/pg_config_os.h +++ /dev/null @@ -1,8 +0,0 @@ -/* src/include/port/darwin.h */ - -#define __darwin__ 1 - -#if HAVE_DECL_F_FULLFSYNC /* not present before macOS 10.3 */ -#define HAVE_FSYNC_WRITETHROUGH - -#endif diff --git a/parser/include/pg_query.h b/parser/include/pg_query.h index ba926c3e..def0254e 100644 --- a/parser/include/pg_query.h +++ b/parser/include/pg_query.h @@ -1,9 +1,12 @@ #ifndef PG_QUERY_H #define PG_QUERY_H +#include #include #include +#include "postgres_deparse.h" + typedef struct { char* message; // exception message char* funcname; // source function of exception (e.g. SearchSysCache) @@ -13,6 +16,12 @@ typedef struct { char* context; // additional context (optional, can be NULL) } PgQueryError; +typedef struct { + int length; + bool *items; + PgQueryError* error; +} PgQueryIsUtilityResult; + typedef struct { size_t len; char* data; @@ -53,6 +62,12 @@ typedef struct { PgQueryError* error; } PgQueryDeparseResult; +typedef struct { + PostgresDeparseComment **comments; + size_t comment_count; + PgQueryError* error; +} PgQueryDeparseCommentsResult; + typedef struct { char* plpgsql_funcs; PgQueryError* error; @@ -70,17 +85,48 @@ typedef struct { PgQueryError* error; } PgQueryNormalizeResult; +typedef struct { + PgQueryProtobuf summary; + char* stderr_buffer; + PgQueryError* error; +} PgQuerySummaryParseResult; + +// Postgres parser options (parse mode and GUCs that affect parsing) + +typedef enum +{ + PG_QUERY_PARSE_DEFAULT = 0, + PG_QUERY_PARSE_TYPE_NAME, + PG_QUERY_PARSE_PLPGSQL_EXPR, + PG_QUERY_PARSE_PLPGSQL_ASSIGN1, + PG_QUERY_PARSE_PLPGSQL_ASSIGN2, + PG_QUERY_PARSE_PLPGSQL_ASSIGN3 +} PgQueryParseMode; + +// We technically only need 3 bits to store parse mode, but +// having 4 bits avoids API breaks if another one gets added. +#define PG_QUERY_PARSE_MODE_BITS 4 +#define PG_QUERY_PARSE_MODE_BITMASK ((1 << PG_QUERY_PARSE_MODE_BITS) - 1) + +#define PG_QUERY_DISABLE_BACKSLASH_QUOTE 16 // backslash_quote = off (default is safe_encoding, which is effectively on) +#define PG_QUERY_DISABLE_STANDARD_CONFORMING_STRINGS 32 // standard_conforming_strings = off (default is on) +#define PG_QUERY_DISABLE_ESCAPE_STRING_WARNING 64 // escape_string_warning = off (default is on) + #ifdef __cplusplus extern "C" { #endif PgQueryNormalizeResult pg_query_normalize(const char* input); +PgQueryNormalizeResult pg_query_normalize_utility(const char* input); PgQueryScanResult pg_query_scan(const char* input); PgQueryParseResult pg_query_parse(const char* input); +PgQueryParseResult pg_query_parse_opts(const char* input, int parser_options); PgQueryProtobufParseResult pg_query_parse_protobuf(const char* input); +PgQueryProtobufParseResult pg_query_parse_protobuf_opts(const char* input, int parser_options); PgQueryPlpgsqlParseResult pg_query_parse_plpgsql(const char* input); PgQueryFingerprintResult pg_query_fingerprint(const char* input); +PgQueryFingerprintResult pg_query_fingerprint_opts(const char* input, int parser_options); // Use pg_query_split_with_scanner when you need to split statements that may // contain parse errors, otherwise pg_query_split_with_parser is recommended @@ -93,23 +139,32 @@ PgQuerySplitResult pg_query_split_with_scanner(const char *input); PgQuerySplitResult pg_query_split_with_parser(const char *input); PgQueryDeparseResult pg_query_deparse_protobuf(PgQueryProtobuf parse_tree); +PgQueryDeparseResult pg_query_deparse_protobuf_opts(PgQueryProtobuf parse_tree, struct PostgresDeparseOpts opts); +PgQueryDeparseCommentsResult pg_query_deparse_comments_for_query(const char *query); + +PgQueryIsUtilityResult pg_query_is_utility_stmt(const char *query); + +PgQuerySummaryParseResult pg_query_summary(const char* input, int parser_options, int truncate_limit); void pg_query_free_normalize_result(PgQueryNormalizeResult result); void pg_query_free_scan_result(PgQueryScanResult result); void pg_query_free_parse_result(PgQueryParseResult result); void pg_query_free_split_result(PgQuerySplitResult result); void pg_query_free_deparse_result(PgQueryDeparseResult result); +void pg_query_free_deparse_comments_result(PgQueryDeparseCommentsResult result); void pg_query_free_protobuf_parse_result(PgQueryProtobufParseResult result); void pg_query_free_plpgsql_parse_result(PgQueryPlpgsqlParseResult result); void pg_query_free_fingerprint_result(PgQueryFingerprintResult result); +void pg_query_free_is_utility_result(PgQueryIsUtilityResult result); +void pg_query_free_summary_parse_result(PgQuerySummaryParseResult result); // Optional, cleans up the top-level memory context (automatically done for threads that exit) void pg_query_exit(void); // Postgres version information -#define PG_MAJORVERSION "15" -#define PG_VERSION "15.1" -#define PG_VERSION_NUM 150001 +#define PG_MAJORVERSION "17" +#define PG_VERSION "17.7" +#define PG_VERSION_NUM 170007 // Deprecated APIs below diff --git a/parser/include/pg_query_enum_defs.c b/parser/include/pg_query_enum_defs.c index a64ccb6f..dbc8c56a 100644 --- a/parser/include/pg_query_enum_defs.c +++ b/parser/include/pg_query_enum_defs.c @@ -1,16 +1,5 @@ // This file is autogenerated by ./scripts/generate_protobuf_and_funcs.rb -static const char* -_enumToStringOverridingKind(OverridingKind value) { - switch(value) { - case OVERRIDING_NOT_SET: return "OVERRIDING_NOT_SET"; - case OVERRIDING_USER_VALUE: return "OVERRIDING_USER_VALUE"; - case OVERRIDING_SYSTEM_VALUE: return "OVERRIDING_SYSTEM_VALUE"; - } - Assert(false); - return NULL; -} - static const char* _enumToStringQuerySource(QuerySource value) { switch(value) { @@ -123,6 +112,17 @@ _enumToStringDefElemAction(DefElemAction value) { return NULL; } +static const char* +_enumToStringPartitionStrategy(PartitionStrategy value) { + switch(value) { + case PARTITION_STRATEGY_LIST: return "PARTITION_STRATEGY_LIST"; + case PARTITION_STRATEGY_RANGE: return "PARTITION_STRATEGY_RANGE"; + case PARTITION_STRATEGY_HASH: return "PARTITION_STRATEGY_HASH"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringPartitionRangeDatumKind(PartitionRangeDatumKind value) { switch(value) { @@ -189,6 +189,30 @@ _enumToStringCTEMaterialize(CTEMaterialize value) { return NULL; } +static const char* +_enumToStringJsonQuotes(JsonQuotes value) { + switch(value) { + case JS_QUOTES_UNSPEC: return "JS_QUOTES_UNSPEC"; + case JS_QUOTES_KEEP: return "JS_QUOTES_KEEP"; + case JS_QUOTES_OMIT: return "JS_QUOTES_OMIT"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonTableColumnType(JsonTableColumnType value) { + switch(value) { + case JTC_FOR_ORDINALITY: return "JTC_FOR_ORDINALITY"; + case JTC_REGULAR: return "JTC_REGULAR"; + case JTC_EXISTS: return "JTC_EXISTS"; + case JTC_FORMATTED: return "JTC_FORMATTED"; + case JTC_NESTED: return "JTC_NESTED"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringSetOperation(SetOperation value) { switch(value) { @@ -275,12 +299,12 @@ static const char* _enumToStringAlterTableType(AlterTableType value) { switch(value) { case AT_AddColumn: return "AT_AddColumn"; - case AT_AddColumnRecurse: return "AT_AddColumnRecurse"; case AT_AddColumnToView: return "AT_AddColumnToView"; case AT_ColumnDefault: return "AT_ColumnDefault"; case AT_CookedColumnDefault: return "AT_CookedColumnDefault"; case AT_DropNotNull: return "AT_DropNotNull"; case AT_SetNotNull: return "AT_SetNotNull"; + case AT_SetExpression: return "AT_SetExpression"; case AT_DropExpression: return "AT_DropExpression"; case AT_CheckNotNull: return "AT_CheckNotNull"; case AT_SetStatistics: return "AT_SetStatistics"; @@ -289,19 +313,15 @@ _enumToStringAlterTableType(AlterTableType value) { case AT_SetStorage: return "AT_SetStorage"; case AT_SetCompression: return "AT_SetCompression"; case AT_DropColumn: return "AT_DropColumn"; - case AT_DropColumnRecurse: return "AT_DropColumnRecurse"; case AT_AddIndex: return "AT_AddIndex"; case AT_ReAddIndex: return "AT_ReAddIndex"; case AT_AddConstraint: return "AT_AddConstraint"; - case AT_AddConstraintRecurse: return "AT_AddConstraintRecurse"; case AT_ReAddConstraint: return "AT_ReAddConstraint"; case AT_ReAddDomainConstraint: return "AT_ReAddDomainConstraint"; case AT_AlterConstraint: return "AT_AlterConstraint"; case AT_ValidateConstraint: return "AT_ValidateConstraint"; - case AT_ValidateConstraintRecurse: return "AT_ValidateConstraintRecurse"; case AT_AddIndexConstraint: return "AT_AddIndexConstraint"; case AT_DropConstraint: return "AT_DropConstraint"; - case AT_DropConstraintRecurse: return "AT_DropConstraintRecurse"; case AT_ReAddComment: return "AT_ReAddComment"; case AT_AlterColumnType: return "AT_AlterColumnType"; case AT_AlterColumnGenericOptions: return "AT_AlterColumnGenericOptions"; @@ -551,6 +571,17 @@ _enumToStringAlterSubscriptionType(AlterSubscriptionType value) { return NULL; } +static const char* +_enumToStringOverridingKind(OverridingKind value) { + switch(value) { + case OVERRIDING_NOT_SET: return "OVERRIDING_NOT_SET"; + case OVERRIDING_USER_VALUE: return "OVERRIDING_USER_VALUE"; + case OVERRIDING_SYSTEM_VALUE: return "OVERRIDING_SYSTEM_VALUE"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringOnCommitAction(OnCommitAction value) { switch(value) { @@ -563,6 +594,16 @@ _enumToStringOnCommitAction(OnCommitAction value) { return NULL; } +static const char* +_enumToStringTableFuncType(TableFuncType value) { + switch(value) { + case TFT_XMLTABLE: return "TFT_XMLTABLE"; + case TFT_JSON_TABLE: return "TFT_JSON_TABLE"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringParamKind(ParamKind value) { switch(value) { @@ -699,6 +740,97 @@ _enumToStringXmlOptionType(XmlOptionType value) { return NULL; } +static const char* +_enumToStringJsonEncoding(JsonEncoding value) { + switch(value) { + case JS_ENC_DEFAULT: return "JS_ENC_DEFAULT"; + case JS_ENC_UTF8: return "JS_ENC_UTF8"; + case JS_ENC_UTF16: return "JS_ENC_UTF16"; + case JS_ENC_UTF32: return "JS_ENC_UTF32"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonFormatType(JsonFormatType value) { + switch(value) { + case JS_FORMAT_DEFAULT: return "JS_FORMAT_DEFAULT"; + case JS_FORMAT_JSON: return "JS_FORMAT_JSON"; + case JS_FORMAT_JSONB: return "JS_FORMAT_JSONB"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonConstructorType(JsonConstructorType value) { + switch(value) { + case JSCTOR_JSON_OBJECT: return "JSCTOR_JSON_OBJECT"; + case JSCTOR_JSON_ARRAY: return "JSCTOR_JSON_ARRAY"; + case JSCTOR_JSON_OBJECTAGG: return "JSCTOR_JSON_OBJECTAGG"; + case JSCTOR_JSON_ARRAYAGG: return "JSCTOR_JSON_ARRAYAGG"; + case JSCTOR_JSON_PARSE: return "JSCTOR_JSON_PARSE"; + case JSCTOR_JSON_SCALAR: return "JSCTOR_JSON_SCALAR"; + case JSCTOR_JSON_SERIALIZE: return "JSCTOR_JSON_SERIALIZE"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonValueType(JsonValueType value) { + switch(value) { + case JS_TYPE_ANY: return "JS_TYPE_ANY"; + case JS_TYPE_OBJECT: return "JS_TYPE_OBJECT"; + case JS_TYPE_ARRAY: return "JS_TYPE_ARRAY"; + case JS_TYPE_SCALAR: return "JS_TYPE_SCALAR"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonWrapper(JsonWrapper value) { + switch(value) { + case JSW_UNSPEC: return "JSW_UNSPEC"; + case JSW_NONE: return "JSW_NONE"; + case JSW_CONDITIONAL: return "JSW_CONDITIONAL"; + case JSW_UNCONDITIONAL: return "JSW_UNCONDITIONAL"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonBehaviorType(JsonBehaviorType value) { + switch(value) { + case JSON_BEHAVIOR_NULL: return "JSON_BEHAVIOR_NULL"; + case JSON_BEHAVIOR_ERROR: return "JSON_BEHAVIOR_ERROR"; + case JSON_BEHAVIOR_EMPTY: return "JSON_BEHAVIOR_EMPTY"; + case JSON_BEHAVIOR_TRUE: return "JSON_BEHAVIOR_TRUE"; + case JSON_BEHAVIOR_FALSE: return "JSON_BEHAVIOR_FALSE"; + case JSON_BEHAVIOR_UNKNOWN: return "JSON_BEHAVIOR_UNKNOWN"; + case JSON_BEHAVIOR_EMPTY_ARRAY: return "JSON_BEHAVIOR_EMPTY_ARRAY"; + case JSON_BEHAVIOR_EMPTY_OBJECT: return "JSON_BEHAVIOR_EMPTY_OBJECT"; + case JSON_BEHAVIOR_DEFAULT: return "JSON_BEHAVIOR_DEFAULT"; + } + Assert(false); + return NULL; +} + +static const char* +_enumToStringJsonExprOp(JsonExprOp value) { + switch(value) { + case JSON_EXISTS_OP: return "JSON_EXISTS_OP"; + case JSON_QUERY_OP: return "JSON_QUERY_OP"; + case JSON_VALUE_OP: return "JSON_VALUE_OP"; + case JSON_TABLE_OP: return "JSON_TABLE_OP"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringNullTestType(NullTestType value) { switch(value) { @@ -723,6 +855,17 @@ _enumToStringBoolTestType(BoolTestType value) { return NULL; } +static const char* +_enumToStringMergeMatchKind(MergeMatchKind value) { + switch(value) { + case MERGE_WHEN_MATCHED: return "MERGE_WHEN_MATCHED"; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: return "MERGE_WHEN_NOT_MATCHED_BY_SOURCE"; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: return "MERGE_WHEN_NOT_MATCHED_BY_TARGET"; + } + Assert(false); + return NULL; +} + static const char* _enumToStringCmdType(CmdType value) { switch(value) { @@ -748,6 +891,7 @@ _enumToStringJoinType(JoinType value) { case JOIN_RIGHT: return "JOIN_RIGHT"; case JOIN_SEMI: return "JOIN_SEMI"; case JOIN_ANTI: return "JOIN_ANTI"; + case JOIN_RIGHT_ANTI: return "JOIN_RIGHT_ANTI"; case JOIN_UNIQUE_OUTER: return "JOIN_UNIQUE_OUTER"; case JOIN_UNIQUE_INNER: return "JOIN_UNIQUE_INNER"; } @@ -857,17 +1001,6 @@ _enumToStringLockTupleMode(LockTupleMode value) { Assert(false); return NULL; }static int -_enumToIntOverridingKind(OverridingKind value) { - switch(value) { - case OVERRIDING_NOT_SET: return 1; - case OVERRIDING_USER_VALUE: return 2; - case OVERRIDING_SYSTEM_VALUE: return 3; - } - Assert(false); - return -1; -} - -static int _enumToIntQuerySource(QuerySource value) { switch(value) { case QSRC_ORIGINAL: return 1; @@ -979,6 +1112,17 @@ _enumToIntDefElemAction(DefElemAction value) { return -1; } +static int +_enumToIntPartitionStrategy(PartitionStrategy value) { + switch(value) { + case PARTITION_STRATEGY_LIST: return 1; + case PARTITION_STRATEGY_RANGE: return 2; + case PARTITION_STRATEGY_HASH: return 3; + } + Assert(false); + return -1; +} + static int _enumToIntPartitionRangeDatumKind(PartitionRangeDatumKind value) { switch(value) { @@ -1045,6 +1189,30 @@ _enumToIntCTEMaterialize(CTEMaterialize value) { return -1; } +static int +_enumToIntJsonQuotes(JsonQuotes value) { + switch(value) { + case JS_QUOTES_UNSPEC: return 1; + case JS_QUOTES_KEEP: return 2; + case JS_QUOTES_OMIT: return 3; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonTableColumnType(JsonTableColumnType value) { + switch(value) { + case JTC_FOR_ORDINALITY: return 1; + case JTC_REGULAR: return 2; + case JTC_EXISTS: return 3; + case JTC_FORMATTED: return 4; + case JTC_NESTED: return 5; + } + Assert(false); + return -1; +} + static int _enumToIntSetOperation(SetOperation value) { switch(value) { @@ -1131,12 +1299,12 @@ static int _enumToIntAlterTableType(AlterTableType value) { switch(value) { case AT_AddColumn: return 1; - case AT_AddColumnRecurse: return 2; - case AT_AddColumnToView: return 3; - case AT_ColumnDefault: return 4; - case AT_CookedColumnDefault: return 5; - case AT_DropNotNull: return 6; - case AT_SetNotNull: return 7; + case AT_AddColumnToView: return 2; + case AT_ColumnDefault: return 3; + case AT_CookedColumnDefault: return 4; + case AT_DropNotNull: return 5; + case AT_SetNotNull: return 6; + case AT_SetExpression: return 7; case AT_DropExpression: return 8; case AT_CheckNotNull: return 9; case AT_SetStatistics: return 10; @@ -1145,62 +1313,58 @@ _enumToIntAlterTableType(AlterTableType value) { case AT_SetStorage: return 13; case AT_SetCompression: return 14; case AT_DropColumn: return 15; - case AT_DropColumnRecurse: return 16; - case AT_AddIndex: return 17; - case AT_ReAddIndex: return 18; - case AT_AddConstraint: return 19; - case AT_AddConstraintRecurse: return 20; - case AT_ReAddConstraint: return 21; - case AT_ReAddDomainConstraint: return 22; - case AT_AlterConstraint: return 23; - case AT_ValidateConstraint: return 24; - case AT_ValidateConstraintRecurse: return 25; - case AT_AddIndexConstraint: return 26; - case AT_DropConstraint: return 27; - case AT_DropConstraintRecurse: return 28; - case AT_ReAddComment: return 29; - case AT_AlterColumnType: return 30; - case AT_AlterColumnGenericOptions: return 31; - case AT_ChangeOwner: return 32; - case AT_ClusterOn: return 33; - case AT_DropCluster: return 34; - case AT_SetLogged: return 35; - case AT_SetUnLogged: return 36; - case AT_DropOids: return 37; - case AT_SetAccessMethod: return 38; - case AT_SetTableSpace: return 39; - case AT_SetRelOptions: return 40; - case AT_ResetRelOptions: return 41; - case AT_ReplaceRelOptions: return 42; - case AT_EnableTrig: return 43; - case AT_EnableAlwaysTrig: return 44; - case AT_EnableReplicaTrig: return 45; - case AT_DisableTrig: return 46; - case AT_EnableTrigAll: return 47; - case AT_DisableTrigAll: return 48; - case AT_EnableTrigUser: return 49; - case AT_DisableTrigUser: return 50; - case AT_EnableRule: return 51; - case AT_EnableAlwaysRule: return 52; - case AT_EnableReplicaRule: return 53; - case AT_DisableRule: return 54; - case AT_AddInherit: return 55; - case AT_DropInherit: return 56; - case AT_AddOf: return 57; - case AT_DropOf: return 58; - case AT_ReplicaIdentity: return 59; - case AT_EnableRowSecurity: return 60; - case AT_DisableRowSecurity: return 61; - case AT_ForceRowSecurity: return 62; - case AT_NoForceRowSecurity: return 63; - case AT_GenericOptions: return 64; - case AT_AttachPartition: return 65; - case AT_DetachPartition: return 66; - case AT_DetachPartitionFinalize: return 67; - case AT_AddIdentity: return 68; - case AT_SetIdentity: return 69; - case AT_DropIdentity: return 70; - case AT_ReAddStatistics: return 71; + case AT_AddIndex: return 16; + case AT_ReAddIndex: return 17; + case AT_AddConstraint: return 18; + case AT_ReAddConstraint: return 19; + case AT_ReAddDomainConstraint: return 20; + case AT_AlterConstraint: return 21; + case AT_ValidateConstraint: return 22; + case AT_AddIndexConstraint: return 23; + case AT_DropConstraint: return 24; + case AT_ReAddComment: return 25; + case AT_AlterColumnType: return 26; + case AT_AlterColumnGenericOptions: return 27; + case AT_ChangeOwner: return 28; + case AT_ClusterOn: return 29; + case AT_DropCluster: return 30; + case AT_SetLogged: return 31; + case AT_SetUnLogged: return 32; + case AT_DropOids: return 33; + case AT_SetAccessMethod: return 34; + case AT_SetTableSpace: return 35; + case AT_SetRelOptions: return 36; + case AT_ResetRelOptions: return 37; + case AT_ReplaceRelOptions: return 38; + case AT_EnableTrig: return 39; + case AT_EnableAlwaysTrig: return 40; + case AT_EnableReplicaTrig: return 41; + case AT_DisableTrig: return 42; + case AT_EnableTrigAll: return 43; + case AT_DisableTrigAll: return 44; + case AT_EnableTrigUser: return 45; + case AT_DisableTrigUser: return 46; + case AT_EnableRule: return 47; + case AT_EnableAlwaysRule: return 48; + case AT_EnableReplicaRule: return 49; + case AT_DisableRule: return 50; + case AT_AddInherit: return 51; + case AT_DropInherit: return 52; + case AT_AddOf: return 53; + case AT_DropOf: return 54; + case AT_ReplicaIdentity: return 55; + case AT_EnableRowSecurity: return 56; + case AT_DisableRowSecurity: return 57; + case AT_ForceRowSecurity: return 58; + case AT_NoForceRowSecurity: return 59; + case AT_GenericOptions: return 60; + case AT_AttachPartition: return 61; + case AT_DetachPartition: return 62; + case AT_DetachPartitionFinalize: return 63; + case AT_AddIdentity: return 64; + case AT_SetIdentity: return 65; + case AT_DropIdentity: return 66; + case AT_ReAddStatistics: return 67; } Assert(false); return -1; @@ -1407,6 +1571,17 @@ _enumToIntAlterSubscriptionType(AlterSubscriptionType value) { return -1; } +static int +_enumToIntOverridingKind(OverridingKind value) { + switch(value) { + case OVERRIDING_NOT_SET: return 1; + case OVERRIDING_USER_VALUE: return 2; + case OVERRIDING_SYSTEM_VALUE: return 3; + } + Assert(false); + return -1; +} + static int _enumToIntOnCommitAction(OnCommitAction value) { switch(value) { @@ -1419,6 +1594,16 @@ _enumToIntOnCommitAction(OnCommitAction value) { return -1; } +static int +_enumToIntTableFuncType(TableFuncType value) { + switch(value) { + case TFT_XMLTABLE: return 1; + case TFT_JSON_TABLE: return 2; + } + Assert(false); + return -1; +} + static int _enumToIntParamKind(ParamKind value) { switch(value) { @@ -1555,6 +1740,97 @@ _enumToIntXmlOptionType(XmlOptionType value) { return -1; } +static int +_enumToIntJsonEncoding(JsonEncoding value) { + switch(value) { + case JS_ENC_DEFAULT: return 1; + case JS_ENC_UTF8: return 2; + case JS_ENC_UTF16: return 3; + case JS_ENC_UTF32: return 4; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonFormatType(JsonFormatType value) { + switch(value) { + case JS_FORMAT_DEFAULT: return 1; + case JS_FORMAT_JSON: return 2; + case JS_FORMAT_JSONB: return 3; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonConstructorType(JsonConstructorType value) { + switch(value) { + case JSCTOR_JSON_OBJECT: return 1; + case JSCTOR_JSON_ARRAY: return 2; + case JSCTOR_JSON_OBJECTAGG: return 3; + case JSCTOR_JSON_ARRAYAGG: return 4; + case JSCTOR_JSON_PARSE: return 5; + case JSCTOR_JSON_SCALAR: return 6; + case JSCTOR_JSON_SERIALIZE: return 7; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonValueType(JsonValueType value) { + switch(value) { + case JS_TYPE_ANY: return 1; + case JS_TYPE_OBJECT: return 2; + case JS_TYPE_ARRAY: return 3; + case JS_TYPE_SCALAR: return 4; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonWrapper(JsonWrapper value) { + switch(value) { + case JSW_UNSPEC: return 1; + case JSW_NONE: return 2; + case JSW_CONDITIONAL: return 3; + case JSW_UNCONDITIONAL: return 4; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonBehaviorType(JsonBehaviorType value) { + switch(value) { + case JSON_BEHAVIOR_NULL: return 1; + case JSON_BEHAVIOR_ERROR: return 2; + case JSON_BEHAVIOR_EMPTY: return 3; + case JSON_BEHAVIOR_TRUE: return 4; + case JSON_BEHAVIOR_FALSE: return 5; + case JSON_BEHAVIOR_UNKNOWN: return 6; + case JSON_BEHAVIOR_EMPTY_ARRAY: return 7; + case JSON_BEHAVIOR_EMPTY_OBJECT: return 8; + case JSON_BEHAVIOR_DEFAULT: return 9; + } + Assert(false); + return -1; +} + +static int +_enumToIntJsonExprOp(JsonExprOp value) { + switch(value) { + case JSON_EXISTS_OP: return 1; + case JSON_QUERY_OP: return 2; + case JSON_VALUE_OP: return 3; + case JSON_TABLE_OP: return 4; + } + Assert(false); + return -1; +} + static int _enumToIntNullTestType(NullTestType value) { switch(value) { @@ -1579,6 +1855,17 @@ _enumToIntBoolTestType(BoolTestType value) { return -1; } +static int +_enumToIntMergeMatchKind(MergeMatchKind value) { + switch(value) { + case MERGE_WHEN_MATCHED: return 1; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: return 2; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: return 3; + } + Assert(false); + return -1; +} + static int _enumToIntCmdType(CmdType value) { switch(value) { @@ -1604,8 +1891,9 @@ _enumToIntJoinType(JoinType value) { case JOIN_RIGHT: return 4; case JOIN_SEMI: return 5; case JOIN_ANTI: return 6; - case JOIN_UNIQUE_OUTER: return 7; - case JOIN_UNIQUE_INNER: return 8; + case JOIN_RIGHT_ANTI: return 7; + case JOIN_UNIQUE_OUTER: return 8; + case JOIN_UNIQUE_INNER: return 9; } Assert(false); return -1; @@ -1712,18 +2000,7 @@ _enumToIntLockTupleMode(LockTupleMode value) { } Assert(false); return -1; -}static OverridingKind -_intToEnumOverridingKind(int value) { - switch(value) { - case 1: return OVERRIDING_NOT_SET; - case 2: return OVERRIDING_USER_VALUE; - case 3: return OVERRIDING_SYSTEM_VALUE; - } - Assert(false); - return OVERRIDING_NOT_SET; -} - -static QuerySource +}static QuerySource _intToEnumQuerySource(int value) { switch(value) { case 1: return QSRC_ORIGINAL; @@ -1835,6 +2112,17 @@ _intToEnumDefElemAction(int value) { return DEFELEM_UNSPEC; } +static PartitionStrategy +_intToEnumPartitionStrategy(int value) { + switch(value) { + case 1: return PARTITION_STRATEGY_LIST; + case 2: return PARTITION_STRATEGY_RANGE; + case 3: return PARTITION_STRATEGY_HASH; + } + Assert(false); + return PARTITION_STRATEGY_LIST; +} + static PartitionRangeDatumKind _intToEnumPartitionRangeDatumKind(int value) { switch(value) { @@ -1901,6 +2189,30 @@ _intToEnumCTEMaterialize(int value) { return CTEMaterializeDefault; } +static JsonQuotes +_intToEnumJsonQuotes(int value) { + switch(value) { + case 1: return JS_QUOTES_UNSPEC; + case 2: return JS_QUOTES_KEEP; + case 3: return JS_QUOTES_OMIT; + } + Assert(false); + return JS_QUOTES_UNSPEC; +} + +static JsonTableColumnType +_intToEnumJsonTableColumnType(int value) { + switch(value) { + case 1: return JTC_FOR_ORDINALITY; + case 2: return JTC_REGULAR; + case 3: return JTC_EXISTS; + case 4: return JTC_FORMATTED; + case 5: return JTC_NESTED; + } + Assert(false); + return JTC_FOR_ORDINALITY; +} + static SetOperation _intToEnumSetOperation(int value) { switch(value) { @@ -1987,12 +2299,12 @@ static AlterTableType _intToEnumAlterTableType(int value) { switch(value) { case 1: return AT_AddColumn; - case 2: return AT_AddColumnRecurse; - case 3: return AT_AddColumnToView; - case 4: return AT_ColumnDefault; - case 5: return AT_CookedColumnDefault; - case 6: return AT_DropNotNull; - case 7: return AT_SetNotNull; + case 2: return AT_AddColumnToView; + case 3: return AT_ColumnDefault; + case 4: return AT_CookedColumnDefault; + case 5: return AT_DropNotNull; + case 6: return AT_SetNotNull; + case 7: return AT_SetExpression; case 8: return AT_DropExpression; case 9: return AT_CheckNotNull; case 10: return AT_SetStatistics; @@ -2001,62 +2313,58 @@ _intToEnumAlterTableType(int value) { case 13: return AT_SetStorage; case 14: return AT_SetCompression; case 15: return AT_DropColumn; - case 16: return AT_DropColumnRecurse; - case 17: return AT_AddIndex; - case 18: return AT_ReAddIndex; - case 19: return AT_AddConstraint; - case 20: return AT_AddConstraintRecurse; - case 21: return AT_ReAddConstraint; - case 22: return AT_ReAddDomainConstraint; - case 23: return AT_AlterConstraint; - case 24: return AT_ValidateConstraint; - case 25: return AT_ValidateConstraintRecurse; - case 26: return AT_AddIndexConstraint; - case 27: return AT_DropConstraint; - case 28: return AT_DropConstraintRecurse; - case 29: return AT_ReAddComment; - case 30: return AT_AlterColumnType; - case 31: return AT_AlterColumnGenericOptions; - case 32: return AT_ChangeOwner; - case 33: return AT_ClusterOn; - case 34: return AT_DropCluster; - case 35: return AT_SetLogged; - case 36: return AT_SetUnLogged; - case 37: return AT_DropOids; - case 38: return AT_SetAccessMethod; - case 39: return AT_SetTableSpace; - case 40: return AT_SetRelOptions; - case 41: return AT_ResetRelOptions; - case 42: return AT_ReplaceRelOptions; - case 43: return AT_EnableTrig; - case 44: return AT_EnableAlwaysTrig; - case 45: return AT_EnableReplicaTrig; - case 46: return AT_DisableTrig; - case 47: return AT_EnableTrigAll; - case 48: return AT_DisableTrigAll; - case 49: return AT_EnableTrigUser; - case 50: return AT_DisableTrigUser; - case 51: return AT_EnableRule; - case 52: return AT_EnableAlwaysRule; - case 53: return AT_EnableReplicaRule; - case 54: return AT_DisableRule; - case 55: return AT_AddInherit; - case 56: return AT_DropInherit; - case 57: return AT_AddOf; - case 58: return AT_DropOf; - case 59: return AT_ReplicaIdentity; - case 60: return AT_EnableRowSecurity; - case 61: return AT_DisableRowSecurity; - case 62: return AT_ForceRowSecurity; - case 63: return AT_NoForceRowSecurity; - case 64: return AT_GenericOptions; - case 65: return AT_AttachPartition; - case 66: return AT_DetachPartition; - case 67: return AT_DetachPartitionFinalize; - case 68: return AT_AddIdentity; - case 69: return AT_SetIdentity; - case 70: return AT_DropIdentity; - case 71: return AT_ReAddStatistics; + case 16: return AT_AddIndex; + case 17: return AT_ReAddIndex; + case 18: return AT_AddConstraint; + case 19: return AT_ReAddConstraint; + case 20: return AT_ReAddDomainConstraint; + case 21: return AT_AlterConstraint; + case 22: return AT_ValidateConstraint; + case 23: return AT_AddIndexConstraint; + case 24: return AT_DropConstraint; + case 25: return AT_ReAddComment; + case 26: return AT_AlterColumnType; + case 27: return AT_AlterColumnGenericOptions; + case 28: return AT_ChangeOwner; + case 29: return AT_ClusterOn; + case 30: return AT_DropCluster; + case 31: return AT_SetLogged; + case 32: return AT_SetUnLogged; + case 33: return AT_DropOids; + case 34: return AT_SetAccessMethod; + case 35: return AT_SetTableSpace; + case 36: return AT_SetRelOptions; + case 37: return AT_ResetRelOptions; + case 38: return AT_ReplaceRelOptions; + case 39: return AT_EnableTrig; + case 40: return AT_EnableAlwaysTrig; + case 41: return AT_EnableReplicaTrig; + case 42: return AT_DisableTrig; + case 43: return AT_EnableTrigAll; + case 44: return AT_DisableTrigAll; + case 45: return AT_EnableTrigUser; + case 46: return AT_DisableTrigUser; + case 47: return AT_EnableRule; + case 48: return AT_EnableAlwaysRule; + case 49: return AT_EnableReplicaRule; + case 50: return AT_DisableRule; + case 51: return AT_AddInherit; + case 52: return AT_DropInherit; + case 53: return AT_AddOf; + case 54: return AT_DropOf; + case 55: return AT_ReplicaIdentity; + case 56: return AT_EnableRowSecurity; + case 57: return AT_DisableRowSecurity; + case 58: return AT_ForceRowSecurity; + case 59: return AT_NoForceRowSecurity; + case 60: return AT_GenericOptions; + case 61: return AT_AttachPartition; + case 62: return AT_DetachPartition; + case 63: return AT_DetachPartitionFinalize; + case 64: return AT_AddIdentity; + case 65: return AT_SetIdentity; + case 66: return AT_DropIdentity; + case 67: return AT_ReAddStatistics; } Assert(false); return AT_AddColumn; @@ -2263,6 +2571,17 @@ _intToEnumAlterSubscriptionType(int value) { return ALTER_SUBSCRIPTION_OPTIONS; } +static OverridingKind +_intToEnumOverridingKind(int value) { + switch(value) { + case 1: return OVERRIDING_NOT_SET; + case 2: return OVERRIDING_USER_VALUE; + case 3: return OVERRIDING_SYSTEM_VALUE; + } + Assert(false); + return OVERRIDING_NOT_SET; +} + static OnCommitAction _intToEnumOnCommitAction(int value) { switch(value) { @@ -2275,6 +2594,16 @@ _intToEnumOnCommitAction(int value) { return ONCOMMIT_NOOP; } +static TableFuncType +_intToEnumTableFuncType(int value) { + switch(value) { + case 1: return TFT_XMLTABLE; + case 2: return TFT_JSON_TABLE; + } + Assert(false); + return TFT_XMLTABLE; +} + static ParamKind _intToEnumParamKind(int value) { switch(value) { @@ -2411,6 +2740,97 @@ _intToEnumXmlOptionType(int value) { return XMLOPTION_DOCUMENT; } +static JsonEncoding +_intToEnumJsonEncoding(int value) { + switch(value) { + case 1: return JS_ENC_DEFAULT; + case 2: return JS_ENC_UTF8; + case 3: return JS_ENC_UTF16; + case 4: return JS_ENC_UTF32; + } + Assert(false); + return JS_ENC_DEFAULT; +} + +static JsonFormatType +_intToEnumJsonFormatType(int value) { + switch(value) { + case 1: return JS_FORMAT_DEFAULT; + case 2: return JS_FORMAT_JSON; + case 3: return JS_FORMAT_JSONB; + } + Assert(false); + return JS_FORMAT_DEFAULT; +} + +static JsonConstructorType +_intToEnumJsonConstructorType(int value) { + switch(value) { + case 1: return JSCTOR_JSON_OBJECT; + case 2: return JSCTOR_JSON_ARRAY; + case 3: return JSCTOR_JSON_OBJECTAGG; + case 4: return JSCTOR_JSON_ARRAYAGG; + case 5: return JSCTOR_JSON_PARSE; + case 6: return JSCTOR_JSON_SCALAR; + case 7: return JSCTOR_JSON_SERIALIZE; + } + Assert(false); + return JSCTOR_JSON_OBJECT; +} + +static JsonValueType +_intToEnumJsonValueType(int value) { + switch(value) { + case 1: return JS_TYPE_ANY; + case 2: return JS_TYPE_OBJECT; + case 3: return JS_TYPE_ARRAY; + case 4: return JS_TYPE_SCALAR; + } + Assert(false); + return JS_TYPE_ANY; +} + +static JsonWrapper +_intToEnumJsonWrapper(int value) { + switch(value) { + case 1: return JSW_UNSPEC; + case 2: return JSW_NONE; + case 3: return JSW_CONDITIONAL; + case 4: return JSW_UNCONDITIONAL; + } + Assert(false); + return JSW_UNSPEC; +} + +static JsonBehaviorType +_intToEnumJsonBehaviorType(int value) { + switch(value) { + case 1: return JSON_BEHAVIOR_NULL; + case 2: return JSON_BEHAVIOR_ERROR; + case 3: return JSON_BEHAVIOR_EMPTY; + case 4: return JSON_BEHAVIOR_TRUE; + case 5: return JSON_BEHAVIOR_FALSE; + case 6: return JSON_BEHAVIOR_UNKNOWN; + case 7: return JSON_BEHAVIOR_EMPTY_ARRAY; + case 8: return JSON_BEHAVIOR_EMPTY_OBJECT; + case 9: return JSON_BEHAVIOR_DEFAULT; + } + Assert(false); + return JSON_BEHAVIOR_NULL; +} + +static JsonExprOp +_intToEnumJsonExprOp(int value) { + switch(value) { + case 1: return JSON_EXISTS_OP; + case 2: return JSON_QUERY_OP; + case 3: return JSON_VALUE_OP; + case 4: return JSON_TABLE_OP; + } + Assert(false); + return JSON_EXISTS_OP; +} + static NullTestType _intToEnumNullTestType(int value) { switch(value) { @@ -2435,6 +2855,17 @@ _intToEnumBoolTestType(int value) { return IS_TRUE; } +static MergeMatchKind +_intToEnumMergeMatchKind(int value) { + switch(value) { + case 1: return MERGE_WHEN_MATCHED; + case 2: return MERGE_WHEN_NOT_MATCHED_BY_SOURCE; + case 3: return MERGE_WHEN_NOT_MATCHED_BY_TARGET; + } + Assert(false); + return MERGE_WHEN_MATCHED; +} + static CmdType _intToEnumCmdType(int value) { switch(value) { @@ -2460,8 +2891,9 @@ _intToEnumJoinType(int value) { case 4: return JOIN_RIGHT; case 5: return JOIN_SEMI; case 6: return JOIN_ANTI; - case 7: return JOIN_UNIQUE_OUTER; - case 8: return JOIN_UNIQUE_INNER; + case 7: return JOIN_RIGHT_ANTI; + case 8: return JOIN_UNIQUE_OUTER; + case 9: return JOIN_UNIQUE_INNER; } Assert(false); return JOIN_INNER; diff --git a/parser/include/pg_query_fingerprint_conds.c b/parser/include/pg_query_fingerprint_conds.c index 8247423b..7448982b 100644 --- a/parser/include/pg_query_fingerprint_conds.c +++ b/parser/include/pg_query_fingerprint_conds.c @@ -9,6 +9,10 @@ case T_TableFunc: _fingerprintString(ctx, "TableFunc"); _fingerprintTableFunc(ctx, obj, parent, field_name, depth); break; +case T_IntoClause: + _fingerprintString(ctx, "IntoClause"); + _fingerprintIntoClause(ctx, obj, parent, field_name, depth); + break; case T_Var: _fingerprintString(ctx, "Var"); _fingerprintVar(ctx, obj, parent, field_name, depth); @@ -33,6 +37,14 @@ case T_WindowFunc: _fingerprintString(ctx, "WindowFunc"); _fingerprintWindowFunc(ctx, obj, parent, field_name, depth); break; +case T_WindowFuncRunCondition: + _fingerprintString(ctx, "WindowFuncRunCondition"); + _fingerprintWindowFuncRunCondition(ctx, obj, parent, field_name, depth); + break; +case T_MergeSupportFunc: + _fingerprintString(ctx, "MergeSupportFunc"); + _fingerprintMergeSupportFunc(ctx, obj, parent, field_name, depth); + break; case T_SubscriptingRef: _fingerprintString(ctx, "SubscriptingRef"); _fingerprintSubscriptingRef(ctx, obj, parent, field_name, depth); @@ -137,6 +149,46 @@ case T_XmlExpr: _fingerprintString(ctx, "XmlExpr"); _fingerprintXmlExpr(ctx, obj, parent, field_name, depth); break; +case T_JsonFormat: + _fingerprintString(ctx, "JsonFormat"); + _fingerprintJsonFormat(ctx, obj, parent, field_name, depth); + break; +case T_JsonReturning: + _fingerprintString(ctx, "JsonReturning"); + _fingerprintJsonReturning(ctx, obj, parent, field_name, depth); + break; +case T_JsonValueExpr: + _fingerprintString(ctx, "JsonValueExpr"); + _fingerprintJsonValueExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonConstructorExpr: + _fingerprintString(ctx, "JsonConstructorExpr"); + _fingerprintJsonConstructorExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonIsPredicate: + _fingerprintString(ctx, "JsonIsPredicate"); + _fingerprintJsonIsPredicate(ctx, obj, parent, field_name, depth); + break; +case T_JsonBehavior: + _fingerprintString(ctx, "JsonBehavior"); + _fingerprintJsonBehavior(ctx, obj, parent, field_name, depth); + break; +case T_JsonExpr: + _fingerprintString(ctx, "JsonExpr"); + _fingerprintJsonExpr(ctx, obj, parent, field_name, depth); + break; +case T_JsonTablePath: + _fingerprintString(ctx, "JsonTablePath"); + _fingerprintJsonTablePath(ctx, obj, parent, field_name, depth); + break; +case T_JsonTablePathScan: + _fingerprintString(ctx, "JsonTablePathScan"); + _fingerprintJsonTablePathScan(ctx, obj, parent, field_name, depth); + break; +case T_JsonTableSiblingJoin: + _fingerprintString(ctx, "JsonTableSiblingJoin"); + _fingerprintJsonTableSiblingJoin(ctx, obj, parent, field_name, depth); + break; case T_NullTest: _fingerprintString(ctx, "NullTest"); _fingerprintNullTest(ctx, obj, parent, field_name, depth); @@ -145,6 +197,10 @@ case T_BooleanTest: _fingerprintString(ctx, "BooleanTest"); _fingerprintBooleanTest(ctx, obj, parent, field_name, depth); break; +case T_MergeAction: + _fingerprintString(ctx, "MergeAction"); + _fingerprintMergeAction(ctx, obj, parent, field_name, depth); + break; case T_CoerceToDomain: _fingerprintString(ctx, "CoerceToDomain"); _fingerprintCoerceToDomain(ctx, obj, parent, field_name, depth); @@ -188,385 +244,383 @@ case T_OnConflictExpr: _fingerprintString(ctx, "OnConflictExpr"); _fingerprintOnConflictExpr(ctx, obj, parent, field_name, depth); break; -case T_IntoClause: - _fingerprintString(ctx, "IntoClause"); - _fingerprintIntoClause(ctx, obj, parent, field_name, depth); - break; -case T_MergeAction: - _fingerprintString(ctx, "MergeAction"); - _fingerprintMergeAction(ctx, obj, parent, field_name, depth); - break; -case T_RawStmt: - _fingerprintString(ctx, "RawStmt"); - _fingerprintRawStmt(ctx, obj, parent, field_name, depth); - break; case T_Query: _fingerprintString(ctx, "Query"); _fingerprintQuery(ctx, obj, parent, field_name, depth); break; -case T_InsertStmt: - _fingerprintString(ctx, "InsertStmt"); - _fingerprintInsertStmt(ctx, obj, parent, field_name, depth); +case T_TypeName: + _fingerprintString(ctx, "TypeName"); + _fingerprintTypeName(ctx, obj, parent, field_name, depth); break; -case T_DeleteStmt: - _fingerprintString(ctx, "DeleteStmt"); - _fingerprintDeleteStmt(ctx, obj, parent, field_name, depth); +case T_ColumnRef: + _fingerprintString(ctx, "ColumnRef"); + _fingerprintColumnRef(ctx, obj, parent, field_name, depth); break; -case T_UpdateStmt: - _fingerprintString(ctx, "UpdateStmt"); - _fingerprintUpdateStmt(ctx, obj, parent, field_name, depth); +case T_ParamRef: + // Intentionally ignoring for fingerprinting break; -case T_MergeStmt: - _fingerprintString(ctx, "MergeStmt"); - _fingerprintMergeStmt(ctx, obj, parent, field_name, depth); +case T_A_Expr: + _fingerprintString(ctx, "A_Expr"); + _fingerprintA_Expr(ctx, obj, parent, field_name, depth); break; -case T_SelectStmt: - _fingerprintString(ctx, "SelectStmt"); - _fingerprintSelectStmt(ctx, obj, parent, field_name, depth); +case T_TypeCast: + if (!IsA(castNode(TypeCast, (void*) obj)->arg, A_Const) && !IsA(castNode(TypeCast, (void*) obj)->arg, ParamRef)) + { + _fingerprintString(ctx, "TypeCast"); + _fingerprintTypeCast(ctx, obj, parent, field_name, depth); + } break; -case T_ReturnStmt: - _fingerprintString(ctx, "ReturnStmt"); - _fingerprintReturnStmt(ctx, obj, parent, field_name, depth); +case T_CollateClause: + _fingerprintString(ctx, "CollateClause"); + _fingerprintCollateClause(ctx, obj, parent, field_name, depth); break; -case T_PLAssignStmt: - _fingerprintString(ctx, "PLAssignStmt"); - _fingerprintPLAssignStmt(ctx, obj, parent, field_name, depth); +case T_RoleSpec: + _fingerprintString(ctx, "RoleSpec"); + _fingerprintRoleSpec(ctx, obj, parent, field_name, depth); break; -case T_AlterTableStmt: - _fingerprintString(ctx, "AlterTableStmt"); - _fingerprintAlterTableStmt(ctx, obj, parent, field_name, depth); +case T_FuncCall: + _fingerprintString(ctx, "FuncCall"); + _fingerprintFuncCall(ctx, obj, parent, field_name, depth); break; -case T_AlterTableCmd: - _fingerprintString(ctx, "AlterTableCmd"); - _fingerprintAlterTableCmd(ctx, obj, parent, field_name, depth); +case T_A_Star: + _fingerprintString(ctx, "A_Star"); + _fingerprintA_Star(ctx, obj, parent, field_name, depth); break; -case T_AlterDomainStmt: - _fingerprintString(ctx, "AlterDomainStmt"); - _fingerprintAlterDomainStmt(ctx, obj, parent, field_name, depth); +case T_A_Indices: + _fingerprintString(ctx, "A_Indices"); + _fingerprintA_Indices(ctx, obj, parent, field_name, depth); break; -case T_SetOperationStmt: - _fingerprintString(ctx, "SetOperationStmt"); - _fingerprintSetOperationStmt(ctx, obj, parent, field_name, depth); +case T_A_Indirection: + _fingerprintString(ctx, "A_Indirection"); + _fingerprintA_Indirection(ctx, obj, parent, field_name, depth); break; -case T_GrantStmt: - _fingerprintString(ctx, "GrantStmt"); - _fingerprintGrantStmt(ctx, obj, parent, field_name, depth); +case T_A_ArrayExpr: + _fingerprintString(ctx, "A_ArrayExpr"); + _fingerprintA_ArrayExpr(ctx, obj, parent, field_name, depth); break; -case T_GrantRoleStmt: - _fingerprintString(ctx, "GrantRoleStmt"); - _fingerprintGrantRoleStmt(ctx, obj, parent, field_name, depth); +case T_ResTarget: + _fingerprintString(ctx, "ResTarget"); + _fingerprintResTarget(ctx, obj, parent, field_name, depth); break; -case T_AlterDefaultPrivilegesStmt: - _fingerprintString(ctx, "AlterDefaultPrivilegesStmt"); - _fingerprintAlterDefaultPrivilegesStmt(ctx, obj, parent, field_name, depth); +case T_MultiAssignRef: + _fingerprintString(ctx, "MultiAssignRef"); + _fingerprintMultiAssignRef(ctx, obj, parent, field_name, depth); break; -case T_ClosePortalStmt: - _fingerprintString(ctx, "ClosePortalStmt"); - _fingerprintClosePortalStmt(ctx, obj, parent, field_name, depth); +case T_SortBy: + _fingerprintString(ctx, "SortBy"); + _fingerprintSortBy(ctx, obj, parent, field_name, depth); break; -case T_ClusterStmt: - _fingerprintString(ctx, "ClusterStmt"); - _fingerprintClusterStmt(ctx, obj, parent, field_name, depth); +case T_WindowDef: + _fingerprintString(ctx, "WindowDef"); + _fingerprintWindowDef(ctx, obj, parent, field_name, depth); break; -case T_CopyStmt: - _fingerprintString(ctx, "CopyStmt"); - _fingerprintCopyStmt(ctx, obj, parent, field_name, depth); +case T_RangeSubselect: + _fingerprintString(ctx, "RangeSubselect"); + _fingerprintRangeSubselect(ctx, obj, parent, field_name, depth); break; -case T_CreateStmt: - _fingerprintString(ctx, "CreateStmt"); - _fingerprintCreateStmt(ctx, obj, parent, field_name, depth); +case T_RangeFunction: + _fingerprintString(ctx, "RangeFunction"); + _fingerprintRangeFunction(ctx, obj, parent, field_name, depth); break; -case T_DefineStmt: - _fingerprintString(ctx, "DefineStmt"); - _fingerprintDefineStmt(ctx, obj, parent, field_name, depth); +case T_RangeTableFunc: + _fingerprintString(ctx, "RangeTableFunc"); + _fingerprintRangeTableFunc(ctx, obj, parent, field_name, depth); break; -case T_DropStmt: - _fingerprintString(ctx, "DropStmt"); - _fingerprintDropStmt(ctx, obj, parent, field_name, depth); +case T_RangeTableFuncCol: + _fingerprintString(ctx, "RangeTableFuncCol"); + _fingerprintRangeTableFuncCol(ctx, obj, parent, field_name, depth); break; -case T_TruncateStmt: - _fingerprintString(ctx, "TruncateStmt"); - _fingerprintTruncateStmt(ctx, obj, parent, field_name, depth); +case T_RangeTableSample: + _fingerprintString(ctx, "RangeTableSample"); + _fingerprintRangeTableSample(ctx, obj, parent, field_name, depth); break; -case T_CommentStmt: - _fingerprintString(ctx, "CommentStmt"); - _fingerprintCommentStmt(ctx, obj, parent, field_name, depth); +case T_ColumnDef: + _fingerprintString(ctx, "ColumnDef"); + _fingerprintColumnDef(ctx, obj, parent, field_name, depth); break; -case T_FetchStmt: - _fingerprintString(ctx, "FetchStmt"); - _fingerprintFetchStmt(ctx, obj, parent, field_name, depth); +case T_TableLikeClause: + _fingerprintString(ctx, "TableLikeClause"); + _fingerprintTableLikeClause(ctx, obj, parent, field_name, depth); break; -case T_IndexStmt: - _fingerprintString(ctx, "IndexStmt"); - _fingerprintIndexStmt(ctx, obj, parent, field_name, depth); +case T_IndexElem: + _fingerprintString(ctx, "IndexElem"); + _fingerprintIndexElem(ctx, obj, parent, field_name, depth); break; -case T_CreateFunctionStmt: - _fingerprintString(ctx, "CreateFunctionStmt"); - _fingerprintCreateFunctionStmt(ctx, obj, parent, field_name, depth); +case T_DefElem: + _fingerprintString(ctx, "DefElem"); + _fingerprintDefElem(ctx, obj, parent, field_name, depth); break; -case T_AlterFunctionStmt: - _fingerprintString(ctx, "AlterFunctionStmt"); - _fingerprintAlterFunctionStmt(ctx, obj, parent, field_name, depth); +case T_LockingClause: + _fingerprintString(ctx, "LockingClause"); + _fingerprintLockingClause(ctx, obj, parent, field_name, depth); break; -case T_DoStmt: - _fingerprintString(ctx, "DoStmt"); - _fingerprintDoStmt(ctx, obj, parent, field_name, depth); +case T_XmlSerialize: + _fingerprintString(ctx, "XmlSerialize"); + _fingerprintXmlSerialize(ctx, obj, parent, field_name, depth); break; -case T_RenameStmt: - _fingerprintString(ctx, "RenameStmt"); - _fingerprintRenameStmt(ctx, obj, parent, field_name, depth); +case T_PartitionElem: + _fingerprintString(ctx, "PartitionElem"); + _fingerprintPartitionElem(ctx, obj, parent, field_name, depth); break; -case T_RuleStmt: - _fingerprintString(ctx, "RuleStmt"); - _fingerprintRuleStmt(ctx, obj, parent, field_name, depth); +case T_PartitionSpec: + _fingerprintString(ctx, "PartitionSpec"); + _fingerprintPartitionSpec(ctx, obj, parent, field_name, depth); break; -case T_NotifyStmt: - _fingerprintString(ctx, "NotifyStmt"); - _fingerprintNotifyStmt(ctx, obj, parent, field_name, depth); +case T_PartitionBoundSpec: + _fingerprintString(ctx, "PartitionBoundSpec"); + _fingerprintPartitionBoundSpec(ctx, obj, parent, field_name, depth); break; -case T_ListenStmt: - _fingerprintString(ctx, "ListenStmt"); - _fingerprintListenStmt(ctx, obj, parent, field_name, depth); +case T_PartitionRangeDatum: + _fingerprintString(ctx, "PartitionRangeDatum"); + _fingerprintPartitionRangeDatum(ctx, obj, parent, field_name, depth); break; -case T_UnlistenStmt: - _fingerprintString(ctx, "UnlistenStmt"); - _fingerprintUnlistenStmt(ctx, obj, parent, field_name, depth); +case T_SinglePartitionSpec: + _fingerprintString(ctx, "SinglePartitionSpec"); + _fingerprintSinglePartitionSpec(ctx, obj, parent, field_name, depth); break; -case T_TransactionStmt: - _fingerprintString(ctx, "TransactionStmt"); - _fingerprintTransactionStmt(ctx, obj, parent, field_name, depth); +case T_PartitionCmd: + _fingerprintString(ctx, "PartitionCmd"); + _fingerprintPartitionCmd(ctx, obj, parent, field_name, depth); break; -case T_ViewStmt: - _fingerprintString(ctx, "ViewStmt"); - _fingerprintViewStmt(ctx, obj, parent, field_name, depth); +case T_RangeTblEntry: + _fingerprintString(ctx, "RangeTblEntry"); + _fingerprintRangeTblEntry(ctx, obj, parent, field_name, depth); break; -case T_LoadStmt: - _fingerprintString(ctx, "LoadStmt"); - _fingerprintLoadStmt(ctx, obj, parent, field_name, depth); +case T_RTEPermissionInfo: + _fingerprintString(ctx, "RTEPermissionInfo"); + _fingerprintRTEPermissionInfo(ctx, obj, parent, field_name, depth); break; -case T_CreateDomainStmt: - _fingerprintString(ctx, "CreateDomainStmt"); - _fingerprintCreateDomainStmt(ctx, obj, parent, field_name, depth); +case T_RangeTblFunction: + _fingerprintString(ctx, "RangeTblFunction"); + _fingerprintRangeTblFunction(ctx, obj, parent, field_name, depth); break; -case T_CreatedbStmt: - _fingerprintString(ctx, "CreatedbStmt"); - _fingerprintCreatedbStmt(ctx, obj, parent, field_name, depth); +case T_TableSampleClause: + _fingerprintString(ctx, "TableSampleClause"); + _fingerprintTableSampleClause(ctx, obj, parent, field_name, depth); break; -case T_DropdbStmt: - _fingerprintString(ctx, "DropdbStmt"); - _fingerprintDropdbStmt(ctx, obj, parent, field_name, depth); +case T_WithCheckOption: + _fingerprintString(ctx, "WithCheckOption"); + _fingerprintWithCheckOption(ctx, obj, parent, field_name, depth); break; -case T_VacuumStmt: - _fingerprintString(ctx, "VacuumStmt"); - _fingerprintVacuumStmt(ctx, obj, parent, field_name, depth); - break; -case T_ExplainStmt: - _fingerprintString(ctx, "ExplainStmt"); - _fingerprintExplainStmt(ctx, obj, parent, field_name, depth); +case T_SortGroupClause: + _fingerprintString(ctx, "SortGroupClause"); + _fingerprintSortGroupClause(ctx, obj, parent, field_name, depth); break; -case T_CreateTableAsStmt: - _fingerprintString(ctx, "CreateTableAsStmt"); - _fingerprintCreateTableAsStmt(ctx, obj, parent, field_name, depth); +case T_GroupingSet: + _fingerprintString(ctx, "GroupingSet"); + _fingerprintGroupingSet(ctx, obj, parent, field_name, depth); break; -case T_CreateSeqStmt: - _fingerprintString(ctx, "CreateSeqStmt"); - _fingerprintCreateSeqStmt(ctx, obj, parent, field_name, depth); +case T_WindowClause: + _fingerprintString(ctx, "WindowClause"); + _fingerprintWindowClause(ctx, obj, parent, field_name, depth); break; -case T_AlterSeqStmt: - _fingerprintString(ctx, "AlterSeqStmt"); - _fingerprintAlterSeqStmt(ctx, obj, parent, field_name, depth); +case T_RowMarkClause: + _fingerprintString(ctx, "RowMarkClause"); + _fingerprintRowMarkClause(ctx, obj, parent, field_name, depth); break; -case T_VariableSetStmt: - _fingerprintString(ctx, "VariableSetStmt"); - _fingerprintVariableSetStmt(ctx, obj, parent, field_name, depth); +case T_WithClause: + _fingerprintString(ctx, "WithClause"); + _fingerprintWithClause(ctx, obj, parent, field_name, depth); break; -case T_VariableShowStmt: - _fingerprintString(ctx, "VariableShowStmt"); - _fingerprintVariableShowStmt(ctx, obj, parent, field_name, depth); +case T_InferClause: + _fingerprintString(ctx, "InferClause"); + _fingerprintInferClause(ctx, obj, parent, field_name, depth); break; -case T_DiscardStmt: - _fingerprintString(ctx, "DiscardStmt"); - _fingerprintDiscardStmt(ctx, obj, parent, field_name, depth); +case T_OnConflictClause: + _fingerprintString(ctx, "OnConflictClause"); + _fingerprintOnConflictClause(ctx, obj, parent, field_name, depth); break; -case T_CreateTrigStmt: - _fingerprintString(ctx, "CreateTrigStmt"); - _fingerprintCreateTrigStmt(ctx, obj, parent, field_name, depth); +case T_CTESearchClause: + _fingerprintString(ctx, "CTESearchClause"); + _fingerprintCTESearchClause(ctx, obj, parent, field_name, depth); break; -case T_CreatePLangStmt: - _fingerprintString(ctx, "CreatePLangStmt"); - _fingerprintCreatePLangStmt(ctx, obj, parent, field_name, depth); +case T_CTECycleClause: + _fingerprintString(ctx, "CTECycleClause"); + _fingerprintCTECycleClause(ctx, obj, parent, field_name, depth); break; -case T_CreateRoleStmt: - _fingerprintString(ctx, "CreateRoleStmt"); - _fingerprintCreateRoleStmt(ctx, obj, parent, field_name, depth); +case T_CommonTableExpr: + _fingerprintString(ctx, "CommonTableExpr"); + _fingerprintCommonTableExpr(ctx, obj, parent, field_name, depth); break; -case T_AlterRoleStmt: - _fingerprintString(ctx, "AlterRoleStmt"); - _fingerprintAlterRoleStmt(ctx, obj, parent, field_name, depth); +case T_MergeWhenClause: + _fingerprintString(ctx, "MergeWhenClause"); + _fingerprintMergeWhenClause(ctx, obj, parent, field_name, depth); break; -case T_DropRoleStmt: - _fingerprintString(ctx, "DropRoleStmt"); - _fingerprintDropRoleStmt(ctx, obj, parent, field_name, depth); +case T_TriggerTransition: + _fingerprintString(ctx, "TriggerTransition"); + _fingerprintTriggerTransition(ctx, obj, parent, field_name, depth); break; -case T_LockStmt: - _fingerprintString(ctx, "LockStmt"); - _fingerprintLockStmt(ctx, obj, parent, field_name, depth); +case T_JsonOutput: + _fingerprintString(ctx, "JsonOutput"); + _fingerprintJsonOutput(ctx, obj, parent, field_name, depth); break; -case T_ConstraintsSetStmt: - _fingerprintString(ctx, "ConstraintsSetStmt"); - _fingerprintConstraintsSetStmt(ctx, obj, parent, field_name, depth); +case T_JsonArgument: + _fingerprintString(ctx, "JsonArgument"); + _fingerprintJsonArgument(ctx, obj, parent, field_name, depth); break; -case T_ReindexStmt: - _fingerprintString(ctx, "ReindexStmt"); - _fingerprintReindexStmt(ctx, obj, parent, field_name, depth); +case T_JsonFuncExpr: + _fingerprintString(ctx, "JsonFuncExpr"); + _fingerprintJsonFuncExpr(ctx, obj, parent, field_name, depth); break; -case T_CheckPointStmt: - _fingerprintString(ctx, "CheckPointStmt"); - _fingerprintCheckPointStmt(ctx, obj, parent, field_name, depth); +case T_JsonTablePathSpec: + _fingerprintString(ctx, "JsonTablePathSpec"); + _fingerprintJsonTablePathSpec(ctx, obj, parent, field_name, depth); break; -case T_CreateSchemaStmt: - _fingerprintString(ctx, "CreateSchemaStmt"); - _fingerprintCreateSchemaStmt(ctx, obj, parent, field_name, depth); +case T_JsonTable: + _fingerprintString(ctx, "JsonTable"); + _fingerprintJsonTable(ctx, obj, parent, field_name, depth); break; -case T_AlterDatabaseStmt: - _fingerprintString(ctx, "AlterDatabaseStmt"); - _fingerprintAlterDatabaseStmt(ctx, obj, parent, field_name, depth); +case T_JsonTableColumn: + _fingerprintString(ctx, "JsonTableColumn"); + _fingerprintJsonTableColumn(ctx, obj, parent, field_name, depth); break; -case T_AlterDatabaseRefreshCollStmt: - _fingerprintString(ctx, "AlterDatabaseRefreshCollStmt"); - _fingerprintAlterDatabaseRefreshCollStmt(ctx, obj, parent, field_name, depth); +case T_JsonKeyValue: + _fingerprintString(ctx, "JsonKeyValue"); + _fingerprintJsonKeyValue(ctx, obj, parent, field_name, depth); break; -case T_AlterDatabaseSetStmt: - _fingerprintString(ctx, "AlterDatabaseSetStmt"); - _fingerprintAlterDatabaseSetStmt(ctx, obj, parent, field_name, depth); +case T_JsonParseExpr: + _fingerprintString(ctx, "JsonParseExpr"); + _fingerprintJsonParseExpr(ctx, obj, parent, field_name, depth); break; -case T_AlterRoleSetStmt: - _fingerprintString(ctx, "AlterRoleSetStmt"); - _fingerprintAlterRoleSetStmt(ctx, obj, parent, field_name, depth); +case T_JsonScalarExpr: + _fingerprintString(ctx, "JsonScalarExpr"); + _fingerprintJsonScalarExpr(ctx, obj, parent, field_name, depth); break; -case T_CreateConversionStmt: - _fingerprintString(ctx, "CreateConversionStmt"); - _fingerprintCreateConversionStmt(ctx, obj, parent, field_name, depth); +case T_JsonSerializeExpr: + _fingerprintString(ctx, "JsonSerializeExpr"); + _fingerprintJsonSerializeExpr(ctx, obj, parent, field_name, depth); break; -case T_CreateCastStmt: - _fingerprintString(ctx, "CreateCastStmt"); - _fingerprintCreateCastStmt(ctx, obj, parent, field_name, depth); +case T_JsonObjectConstructor: + _fingerprintString(ctx, "JsonObjectConstructor"); + _fingerprintJsonObjectConstructor(ctx, obj, parent, field_name, depth); break; -case T_CreateOpClassStmt: - _fingerprintString(ctx, "CreateOpClassStmt"); - _fingerprintCreateOpClassStmt(ctx, obj, parent, field_name, depth); +case T_JsonArrayConstructor: + _fingerprintString(ctx, "JsonArrayConstructor"); + _fingerprintJsonArrayConstructor(ctx, obj, parent, field_name, depth); break; -case T_CreateOpFamilyStmt: - _fingerprintString(ctx, "CreateOpFamilyStmt"); - _fingerprintCreateOpFamilyStmt(ctx, obj, parent, field_name, depth); +case T_JsonArrayQueryConstructor: + _fingerprintString(ctx, "JsonArrayQueryConstructor"); + _fingerprintJsonArrayQueryConstructor(ctx, obj, parent, field_name, depth); break; -case T_AlterOpFamilyStmt: - _fingerprintString(ctx, "AlterOpFamilyStmt"); - _fingerprintAlterOpFamilyStmt(ctx, obj, parent, field_name, depth); +case T_JsonAggConstructor: + _fingerprintString(ctx, "JsonAggConstructor"); + _fingerprintJsonAggConstructor(ctx, obj, parent, field_name, depth); break; -case T_PrepareStmt: - _fingerprintString(ctx, "PrepareStmt"); - _fingerprintPrepareStmt(ctx, obj, parent, field_name, depth); +case T_JsonObjectAgg: + _fingerprintString(ctx, "JsonObjectAgg"); + _fingerprintJsonObjectAgg(ctx, obj, parent, field_name, depth); break; -case T_ExecuteStmt: - _fingerprintString(ctx, "ExecuteStmt"); - _fingerprintExecuteStmt(ctx, obj, parent, field_name, depth); +case T_JsonArrayAgg: + _fingerprintString(ctx, "JsonArrayAgg"); + _fingerprintJsonArrayAgg(ctx, obj, parent, field_name, depth); break; -case T_DeallocateStmt: - _fingerprintString(ctx, "DeallocateStmt"); - _fingerprintDeallocateStmt(ctx, obj, parent, field_name, depth); +case T_RawStmt: + _fingerprintString(ctx, "RawStmt"); + _fingerprintRawStmt(ctx, obj, parent, field_name, depth); break; -case T_DeclareCursorStmt: - _fingerprintString(ctx, "DeclareCursorStmt"); - _fingerprintDeclareCursorStmt(ctx, obj, parent, field_name, depth); +case T_InsertStmt: + _fingerprintString(ctx, "InsertStmt"); + _fingerprintInsertStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateTableSpaceStmt: - _fingerprintString(ctx, "CreateTableSpaceStmt"); - _fingerprintCreateTableSpaceStmt(ctx, obj, parent, field_name, depth); +case T_DeleteStmt: + _fingerprintString(ctx, "DeleteStmt"); + _fingerprintDeleteStmt(ctx, obj, parent, field_name, depth); break; -case T_DropTableSpaceStmt: - _fingerprintString(ctx, "DropTableSpaceStmt"); - _fingerprintDropTableSpaceStmt(ctx, obj, parent, field_name, depth); +case T_UpdateStmt: + _fingerprintString(ctx, "UpdateStmt"); + _fingerprintUpdateStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterObjectDependsStmt: - _fingerprintString(ctx, "AlterObjectDependsStmt"); - _fingerprintAlterObjectDependsStmt(ctx, obj, parent, field_name, depth); +case T_MergeStmt: + _fingerprintString(ctx, "MergeStmt"); + _fingerprintMergeStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterObjectSchemaStmt: - _fingerprintString(ctx, "AlterObjectSchemaStmt"); - _fingerprintAlterObjectSchemaStmt(ctx, obj, parent, field_name, depth); +case T_SelectStmt: + _fingerprintString(ctx, "SelectStmt"); + _fingerprintSelectStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterOwnerStmt: - _fingerprintString(ctx, "AlterOwnerStmt"); - _fingerprintAlterOwnerStmt(ctx, obj, parent, field_name, depth); +case T_SetOperationStmt: + _fingerprintString(ctx, "SetOperationStmt"); + _fingerprintSetOperationStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterOperatorStmt: - _fingerprintString(ctx, "AlterOperatorStmt"); - _fingerprintAlterOperatorStmt(ctx, obj, parent, field_name, depth); +case T_ReturnStmt: + _fingerprintString(ctx, "ReturnStmt"); + _fingerprintReturnStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterTypeStmt: - _fingerprintString(ctx, "AlterTypeStmt"); - _fingerprintAlterTypeStmt(ctx, obj, parent, field_name, depth); +case T_PLAssignStmt: + _fingerprintString(ctx, "PLAssignStmt"); + _fingerprintPLAssignStmt(ctx, obj, parent, field_name, depth); break; -case T_DropOwnedStmt: - _fingerprintString(ctx, "DropOwnedStmt"); - _fingerprintDropOwnedStmt(ctx, obj, parent, field_name, depth); +case T_CreateSchemaStmt: + _fingerprintString(ctx, "CreateSchemaStmt"); + _fingerprintCreateSchemaStmt(ctx, obj, parent, field_name, depth); break; -case T_ReassignOwnedStmt: - _fingerprintString(ctx, "ReassignOwnedStmt"); - _fingerprintReassignOwnedStmt(ctx, obj, parent, field_name, depth); +case T_AlterTableStmt: + _fingerprintString(ctx, "AlterTableStmt"); + _fingerprintAlterTableStmt(ctx, obj, parent, field_name, depth); break; -case T_CompositeTypeStmt: - _fingerprintString(ctx, "CompositeTypeStmt"); - _fingerprintCompositeTypeStmt(ctx, obj, parent, field_name, depth); +case T_ReplicaIdentityStmt: + _fingerprintString(ctx, "ReplicaIdentityStmt"); + _fingerprintReplicaIdentityStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateEnumStmt: - _fingerprintString(ctx, "CreateEnumStmt"); - _fingerprintCreateEnumStmt(ctx, obj, parent, field_name, depth); +case T_AlterTableCmd: + _fingerprintString(ctx, "AlterTableCmd"); + _fingerprintAlterTableCmd(ctx, obj, parent, field_name, depth); break; -case T_CreateRangeStmt: - _fingerprintString(ctx, "CreateRangeStmt"); - _fingerprintCreateRangeStmt(ctx, obj, parent, field_name, depth); +case T_AlterCollationStmt: + _fingerprintString(ctx, "AlterCollationStmt"); + _fingerprintAlterCollationStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterEnumStmt: - _fingerprintString(ctx, "AlterEnumStmt"); - _fingerprintAlterEnumStmt(ctx, obj, parent, field_name, depth); +case T_AlterDomainStmt: + _fingerprintString(ctx, "AlterDomainStmt"); + _fingerprintAlterDomainStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterTSDictionaryStmt: - _fingerprintString(ctx, "AlterTSDictionaryStmt"); - _fingerprintAlterTSDictionaryStmt(ctx, obj, parent, field_name, depth); +case T_GrantStmt: + _fingerprintString(ctx, "GrantStmt"); + _fingerprintGrantStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterTSConfigurationStmt: - _fingerprintString(ctx, "AlterTSConfigurationStmt"); - _fingerprintAlterTSConfigurationStmt(ctx, obj, parent, field_name, depth); +case T_ObjectWithArgs: + _fingerprintString(ctx, "ObjectWithArgs"); + _fingerprintObjectWithArgs(ctx, obj, parent, field_name, depth); break; -case T_CreateFdwStmt: - _fingerprintString(ctx, "CreateFdwStmt"); - _fingerprintCreateFdwStmt(ctx, obj, parent, field_name, depth); +case T_AccessPriv: + _fingerprintString(ctx, "AccessPriv"); + _fingerprintAccessPriv(ctx, obj, parent, field_name, depth); break; -case T_AlterFdwStmt: - _fingerprintString(ctx, "AlterFdwStmt"); - _fingerprintAlterFdwStmt(ctx, obj, parent, field_name, depth); +case T_GrantRoleStmt: + _fingerprintString(ctx, "GrantRoleStmt"); + _fingerprintGrantRoleStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateForeignServerStmt: - _fingerprintString(ctx, "CreateForeignServerStmt"); - _fingerprintCreateForeignServerStmt(ctx, obj, parent, field_name, depth); +case T_AlterDefaultPrivilegesStmt: + _fingerprintString(ctx, "AlterDefaultPrivilegesStmt"); + _fingerprintAlterDefaultPrivilegesStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterForeignServerStmt: - _fingerprintString(ctx, "AlterForeignServerStmt"); - _fingerprintAlterForeignServerStmt(ctx, obj, parent, field_name, depth); +case T_CopyStmt: + _fingerprintString(ctx, "CopyStmt"); + _fingerprintCopyStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateUserMappingStmt: - _fingerprintString(ctx, "CreateUserMappingStmt"); - _fingerprintCreateUserMappingStmt(ctx, obj, parent, field_name, depth); +case T_VariableSetStmt: + _fingerprintString(ctx, "VariableSetStmt"); + _fingerprintVariableSetStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterUserMappingStmt: - _fingerprintString(ctx, "AlterUserMappingStmt"); - _fingerprintAlterUserMappingStmt(ctx, obj, parent, field_name, depth); +case T_VariableShowStmt: + _fingerprintString(ctx, "VariableShowStmt"); + _fingerprintVariableShowStmt(ctx, obj, parent, field_name, depth); break; -case T_DropUserMappingStmt: - _fingerprintString(ctx, "DropUserMappingStmt"); - _fingerprintDropUserMappingStmt(ctx, obj, parent, field_name, depth); +case T_CreateStmt: + _fingerprintString(ctx, "CreateStmt"); + _fingerprintCreateStmt(ctx, obj, parent, field_name, depth); + break; +case T_Constraint: + _fingerprintString(ctx, "Constraint"); + _fingerprintConstraint(ctx, obj, parent, field_name, depth); + break; +case T_CreateTableSpaceStmt: + _fingerprintString(ctx, "CreateTableSpaceStmt"); + _fingerprintCreateTableSpaceStmt(ctx, obj, parent, field_name, depth); + break; +case T_DropTableSpaceStmt: + _fingerprintString(ctx, "DropTableSpaceStmt"); + _fingerprintDropTableSpaceStmt(ctx, obj, parent, field_name, depth); break; case T_AlterTableSpaceOptionsStmt: _fingerprintString(ctx, "AlterTableSpaceOptionsStmt"); @@ -576,18 +630,6 @@ case T_AlterTableMoveAllStmt: _fingerprintString(ctx, "AlterTableMoveAllStmt"); _fingerprintAlterTableMoveAllStmt(ctx, obj, parent, field_name, depth); break; -case T_SecLabelStmt: - _fingerprintString(ctx, "SecLabelStmt"); - _fingerprintSecLabelStmt(ctx, obj, parent, field_name, depth); - break; -case T_CreateForeignTableStmt: - _fingerprintString(ctx, "CreateForeignTableStmt"); - _fingerprintCreateForeignTableStmt(ctx, obj, parent, field_name, depth); - break; -case T_ImportForeignSchemaStmt: - _fingerprintString(ctx, "ImportForeignSchemaStmt"); - _fingerprintImportForeignSchemaStmt(ctx, obj, parent, field_name, depth); - break; case T_CreateExtensionStmt: _fingerprintString(ctx, "CreateExtensionStmt"); _fingerprintCreateExtensionStmt(ctx, obj, parent, field_name, depth); @@ -600,25 +642,41 @@ case T_AlterExtensionContentsStmt: _fingerprintString(ctx, "AlterExtensionContentsStmt"); _fingerprintAlterExtensionContentsStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateEventTrigStmt: - _fingerprintString(ctx, "CreateEventTrigStmt"); - _fingerprintCreateEventTrigStmt(ctx, obj, parent, field_name, depth); +case T_CreateFdwStmt: + _fingerprintString(ctx, "CreateFdwStmt"); + _fingerprintCreateFdwStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterEventTrigStmt: - _fingerprintString(ctx, "AlterEventTrigStmt"); - _fingerprintAlterEventTrigStmt(ctx, obj, parent, field_name, depth); +case T_AlterFdwStmt: + _fingerprintString(ctx, "AlterFdwStmt"); + _fingerprintAlterFdwStmt(ctx, obj, parent, field_name, depth); break; -case T_RefreshMatViewStmt: - _fingerprintString(ctx, "RefreshMatViewStmt"); - _fingerprintRefreshMatViewStmt(ctx, obj, parent, field_name, depth); +case T_CreateForeignServerStmt: + _fingerprintString(ctx, "CreateForeignServerStmt"); + _fingerprintCreateForeignServerStmt(ctx, obj, parent, field_name, depth); break; -case T_ReplicaIdentityStmt: - _fingerprintString(ctx, "ReplicaIdentityStmt"); - _fingerprintReplicaIdentityStmt(ctx, obj, parent, field_name, depth); +case T_AlterForeignServerStmt: + _fingerprintString(ctx, "AlterForeignServerStmt"); + _fingerprintAlterForeignServerStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterSystemStmt: - _fingerprintString(ctx, "AlterSystemStmt"); - _fingerprintAlterSystemStmt(ctx, obj, parent, field_name, depth); +case T_CreateForeignTableStmt: + _fingerprintString(ctx, "CreateForeignTableStmt"); + _fingerprintCreateForeignTableStmt(ctx, obj, parent, field_name, depth); + break; +case T_CreateUserMappingStmt: + _fingerprintString(ctx, "CreateUserMappingStmt"); + _fingerprintCreateUserMappingStmt(ctx, obj, parent, field_name, depth); + break; +case T_AlterUserMappingStmt: + _fingerprintString(ctx, "AlterUserMappingStmt"); + _fingerprintAlterUserMappingStmt(ctx, obj, parent, field_name, depth); + break; +case T_DropUserMappingStmt: + _fingerprintString(ctx, "DropUserMappingStmt"); + _fingerprintDropUserMappingStmt(ctx, obj, parent, field_name, depth); + break; +case T_ImportForeignSchemaStmt: + _fingerprintString(ctx, "ImportForeignSchemaStmt"); + _fingerprintImportForeignSchemaStmt(ctx, obj, parent, field_name, depth); break; case T_CreatePolicyStmt: _fingerprintString(ctx, "CreatePolicyStmt"); @@ -628,285 +686,347 @@ case T_AlterPolicyStmt: _fingerprintString(ctx, "AlterPolicyStmt"); _fingerprintAlterPolicyStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateTransformStmt: - _fingerprintString(ctx, "CreateTransformStmt"); - _fingerprintCreateTransformStmt(ctx, obj, parent, field_name, depth); - break; case T_CreateAmStmt: _fingerprintString(ctx, "CreateAmStmt"); _fingerprintCreateAmStmt(ctx, obj, parent, field_name, depth); break; -case T_CreatePublicationStmt: - _fingerprintString(ctx, "CreatePublicationStmt"); - _fingerprintCreatePublicationStmt(ctx, obj, parent, field_name, depth); +case T_CreateTrigStmt: + _fingerprintString(ctx, "CreateTrigStmt"); + _fingerprintCreateTrigStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterPublicationStmt: - _fingerprintString(ctx, "AlterPublicationStmt"); - _fingerprintAlterPublicationStmt(ctx, obj, parent, field_name, depth); +case T_CreateEventTrigStmt: + _fingerprintString(ctx, "CreateEventTrigStmt"); + _fingerprintCreateEventTrigStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateSubscriptionStmt: - _fingerprintString(ctx, "CreateSubscriptionStmt"); - _fingerprintCreateSubscriptionStmt(ctx, obj, parent, field_name, depth); +case T_AlterEventTrigStmt: + _fingerprintString(ctx, "AlterEventTrigStmt"); + _fingerprintAlterEventTrigStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterSubscriptionStmt: - _fingerprintString(ctx, "AlterSubscriptionStmt"); - _fingerprintAlterSubscriptionStmt(ctx, obj, parent, field_name, depth); +case T_CreatePLangStmt: + _fingerprintString(ctx, "CreatePLangStmt"); + _fingerprintCreatePLangStmt(ctx, obj, parent, field_name, depth); break; -case T_DropSubscriptionStmt: - _fingerprintString(ctx, "DropSubscriptionStmt"); - _fingerprintDropSubscriptionStmt(ctx, obj, parent, field_name, depth); +case T_CreateRoleStmt: + _fingerprintString(ctx, "CreateRoleStmt"); + _fingerprintCreateRoleStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateStatsStmt: - _fingerprintString(ctx, "CreateStatsStmt"); - _fingerprintCreateStatsStmt(ctx, obj, parent, field_name, depth); +case T_AlterRoleStmt: + _fingerprintString(ctx, "AlterRoleStmt"); + _fingerprintAlterRoleStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterCollationStmt: - _fingerprintString(ctx, "AlterCollationStmt"); - _fingerprintAlterCollationStmt(ctx, obj, parent, field_name, depth); +case T_AlterRoleSetStmt: + _fingerprintString(ctx, "AlterRoleSetStmt"); + _fingerprintAlterRoleSetStmt(ctx, obj, parent, field_name, depth); break; -case T_CallStmt: - _fingerprintString(ctx, "CallStmt"); - _fingerprintCallStmt(ctx, obj, parent, field_name, depth); +case T_DropRoleStmt: + _fingerprintString(ctx, "DropRoleStmt"); + _fingerprintDropRoleStmt(ctx, obj, parent, field_name, depth); break; -case T_AlterStatsStmt: - _fingerprintString(ctx, "AlterStatsStmt"); - _fingerprintAlterStatsStmt(ctx, obj, parent, field_name, depth); +case T_CreateSeqStmt: + _fingerprintString(ctx, "CreateSeqStmt"); + _fingerprintCreateSeqStmt(ctx, obj, parent, field_name, depth); break; -case T_A_Expr: - _fingerprintString(ctx, "A_Expr"); - _fingerprintA_Expr(ctx, obj, parent, field_name, depth); +case T_AlterSeqStmt: + _fingerprintString(ctx, "AlterSeqStmt"); + _fingerprintAlterSeqStmt(ctx, obj, parent, field_name, depth); break; -case T_ColumnRef: - _fingerprintString(ctx, "ColumnRef"); - _fingerprintColumnRef(ctx, obj, parent, field_name, depth); +case T_DefineStmt: + _fingerprintString(ctx, "DefineStmt"); + _fingerprintDefineStmt(ctx, obj, parent, field_name, depth); break; -case T_ParamRef: - // Intentionally ignoring for fingerprinting +case T_CreateDomainStmt: + _fingerprintString(ctx, "CreateDomainStmt"); + _fingerprintCreateDomainStmt(ctx, obj, parent, field_name, depth); break; -case T_FuncCall: - _fingerprintString(ctx, "FuncCall"); - _fingerprintFuncCall(ctx, obj, parent, field_name, depth); +case T_CreateOpClassStmt: + _fingerprintString(ctx, "CreateOpClassStmt"); + _fingerprintCreateOpClassStmt(ctx, obj, parent, field_name, depth); break; -case T_A_Star: - _fingerprintString(ctx, "A_Star"); - _fingerprintA_Star(ctx, obj, parent, field_name, depth); +case T_CreateOpClassItem: + _fingerprintString(ctx, "CreateOpClassItem"); + _fingerprintCreateOpClassItem(ctx, obj, parent, field_name, depth); break; -case T_A_Indices: - _fingerprintString(ctx, "A_Indices"); - _fingerprintA_Indices(ctx, obj, parent, field_name, depth); +case T_CreateOpFamilyStmt: + _fingerprintString(ctx, "CreateOpFamilyStmt"); + _fingerprintCreateOpFamilyStmt(ctx, obj, parent, field_name, depth); break; -case T_A_Indirection: - _fingerprintString(ctx, "A_Indirection"); - _fingerprintA_Indirection(ctx, obj, parent, field_name, depth); +case T_AlterOpFamilyStmt: + _fingerprintString(ctx, "AlterOpFamilyStmt"); + _fingerprintAlterOpFamilyStmt(ctx, obj, parent, field_name, depth); break; -case T_A_ArrayExpr: - _fingerprintString(ctx, "A_ArrayExpr"); - _fingerprintA_ArrayExpr(ctx, obj, parent, field_name, depth); +case T_DropStmt: + _fingerprintString(ctx, "DropStmt"); + _fingerprintDropStmt(ctx, obj, parent, field_name, depth); break; -case T_ResTarget: - _fingerprintString(ctx, "ResTarget"); - _fingerprintResTarget(ctx, obj, parent, field_name, depth); +case T_TruncateStmt: + _fingerprintString(ctx, "TruncateStmt"); + _fingerprintTruncateStmt(ctx, obj, parent, field_name, depth); break; -case T_MultiAssignRef: - _fingerprintString(ctx, "MultiAssignRef"); - _fingerprintMultiAssignRef(ctx, obj, parent, field_name, depth); +case T_CommentStmt: + _fingerprintString(ctx, "CommentStmt"); + _fingerprintCommentStmt(ctx, obj, parent, field_name, depth); break; -case T_TypeCast: - if (!IsA(castNode(TypeCast, (void*) obj)->arg, A_Const) && !IsA(castNode(TypeCast, (void*) obj)->arg, ParamRef)) - { - _fingerprintString(ctx, "TypeCast"); - _fingerprintTypeCast(ctx, obj, parent, field_name, depth); - } +case T_SecLabelStmt: + _fingerprintString(ctx, "SecLabelStmt"); + _fingerprintSecLabelStmt(ctx, obj, parent, field_name, depth); break; -case T_CollateClause: - _fingerprintString(ctx, "CollateClause"); - _fingerprintCollateClause(ctx, obj, parent, field_name, depth); +case T_DeclareCursorStmt: + _fingerprintString(ctx, "DeclareCursorStmt"); + _fingerprintDeclareCursorStmt(ctx, obj, parent, field_name, depth); break; -case T_SortBy: - _fingerprintString(ctx, "SortBy"); - _fingerprintSortBy(ctx, obj, parent, field_name, depth); +case T_ClosePortalStmt: + _fingerprintString(ctx, "ClosePortalStmt"); + _fingerprintClosePortalStmt(ctx, obj, parent, field_name, depth); break; -case T_WindowDef: - _fingerprintString(ctx, "WindowDef"); - _fingerprintWindowDef(ctx, obj, parent, field_name, depth); +case T_FetchStmt: + _fingerprintString(ctx, "FetchStmt"); + _fingerprintFetchStmt(ctx, obj, parent, field_name, depth); break; -case T_RangeSubselect: - _fingerprintString(ctx, "RangeSubselect"); - _fingerprintRangeSubselect(ctx, obj, parent, field_name, depth); +case T_IndexStmt: + _fingerprintString(ctx, "IndexStmt"); + _fingerprintIndexStmt(ctx, obj, parent, field_name, depth); break; -case T_RangeFunction: - _fingerprintString(ctx, "RangeFunction"); - _fingerprintRangeFunction(ctx, obj, parent, field_name, depth); +case T_CreateStatsStmt: + _fingerprintString(ctx, "CreateStatsStmt"); + _fingerprintCreateStatsStmt(ctx, obj, parent, field_name, depth); break; -case T_RangeTableSample: - _fingerprintString(ctx, "RangeTableSample"); - _fingerprintRangeTableSample(ctx, obj, parent, field_name, depth); +case T_StatsElem: + _fingerprintString(ctx, "StatsElem"); + _fingerprintStatsElem(ctx, obj, parent, field_name, depth); break; -case T_RangeTableFunc: - _fingerprintString(ctx, "RangeTableFunc"); - _fingerprintRangeTableFunc(ctx, obj, parent, field_name, depth); +case T_AlterStatsStmt: + _fingerprintString(ctx, "AlterStatsStmt"); + _fingerprintAlterStatsStmt(ctx, obj, parent, field_name, depth); break; -case T_RangeTableFuncCol: - _fingerprintString(ctx, "RangeTableFuncCol"); - _fingerprintRangeTableFuncCol(ctx, obj, parent, field_name, depth); +case T_CreateFunctionStmt: + _fingerprintString(ctx, "CreateFunctionStmt"); + _fingerprintCreateFunctionStmt(ctx, obj, parent, field_name, depth); break; -case T_TypeName: - _fingerprintString(ctx, "TypeName"); - _fingerprintTypeName(ctx, obj, parent, field_name, depth); +case T_FunctionParameter: + _fingerprintString(ctx, "FunctionParameter"); + _fingerprintFunctionParameter(ctx, obj, parent, field_name, depth); break; -case T_ColumnDef: - _fingerprintString(ctx, "ColumnDef"); - _fingerprintColumnDef(ctx, obj, parent, field_name, depth); +case T_AlterFunctionStmt: + _fingerprintString(ctx, "AlterFunctionStmt"); + _fingerprintAlterFunctionStmt(ctx, obj, parent, field_name, depth); break; -case T_IndexElem: - _fingerprintString(ctx, "IndexElem"); - _fingerprintIndexElem(ctx, obj, parent, field_name, depth); +case T_DoStmt: + _fingerprintString(ctx, "DoStmt"); + _fingerprintDoStmt(ctx, obj, parent, field_name, depth); break; -case T_StatsElem: - _fingerprintString(ctx, "StatsElem"); - _fingerprintStatsElem(ctx, obj, parent, field_name, depth); +case T_InlineCodeBlock: + _fingerprintString(ctx, "InlineCodeBlock"); + _fingerprintInlineCodeBlock(ctx, obj, parent, field_name, depth); break; -case T_Constraint: - _fingerprintString(ctx, "Constraint"); - _fingerprintConstraint(ctx, obj, parent, field_name, depth); +case T_CallStmt: + _fingerprintString(ctx, "CallStmt"); + _fingerprintCallStmt(ctx, obj, parent, field_name, depth); break; -case T_DefElem: - _fingerprintString(ctx, "DefElem"); - _fingerprintDefElem(ctx, obj, parent, field_name, depth); +case T_CallContext: + _fingerprintString(ctx, "CallContext"); + _fingerprintCallContext(ctx, obj, parent, field_name, depth); break; -case T_RangeTblEntry: - _fingerprintString(ctx, "RangeTblEntry"); - _fingerprintRangeTblEntry(ctx, obj, parent, field_name, depth); +case T_RenameStmt: + _fingerprintString(ctx, "RenameStmt"); + _fingerprintRenameStmt(ctx, obj, parent, field_name, depth); break; -case T_RangeTblFunction: - _fingerprintString(ctx, "RangeTblFunction"); - _fingerprintRangeTblFunction(ctx, obj, parent, field_name, depth); +case T_AlterObjectDependsStmt: + _fingerprintString(ctx, "AlterObjectDependsStmt"); + _fingerprintAlterObjectDependsStmt(ctx, obj, parent, field_name, depth); break; -case T_TableSampleClause: - _fingerprintString(ctx, "TableSampleClause"); - _fingerprintTableSampleClause(ctx, obj, parent, field_name, depth); +case T_AlterObjectSchemaStmt: + _fingerprintString(ctx, "AlterObjectSchemaStmt"); + _fingerprintAlterObjectSchemaStmt(ctx, obj, parent, field_name, depth); break; -case T_WithCheckOption: - _fingerprintString(ctx, "WithCheckOption"); - _fingerprintWithCheckOption(ctx, obj, parent, field_name, depth); +case T_AlterOwnerStmt: + _fingerprintString(ctx, "AlterOwnerStmt"); + _fingerprintAlterOwnerStmt(ctx, obj, parent, field_name, depth); break; -case T_SortGroupClause: - _fingerprintString(ctx, "SortGroupClause"); - _fingerprintSortGroupClause(ctx, obj, parent, field_name, depth); +case T_AlterOperatorStmt: + _fingerprintString(ctx, "AlterOperatorStmt"); + _fingerprintAlterOperatorStmt(ctx, obj, parent, field_name, depth); break; -case T_GroupingSet: - _fingerprintString(ctx, "GroupingSet"); - _fingerprintGroupingSet(ctx, obj, parent, field_name, depth); +case T_AlterTypeStmt: + _fingerprintString(ctx, "AlterTypeStmt"); + _fingerprintAlterTypeStmt(ctx, obj, parent, field_name, depth); break; -case T_WindowClause: - _fingerprintString(ctx, "WindowClause"); - _fingerprintWindowClause(ctx, obj, parent, field_name, depth); +case T_RuleStmt: + _fingerprintString(ctx, "RuleStmt"); + _fingerprintRuleStmt(ctx, obj, parent, field_name, depth); break; -case T_ObjectWithArgs: - _fingerprintString(ctx, "ObjectWithArgs"); - _fingerprintObjectWithArgs(ctx, obj, parent, field_name, depth); +case T_NotifyStmt: + _fingerprintString(ctx, "NotifyStmt"); + _fingerprintNotifyStmt(ctx, obj, parent, field_name, depth); break; -case T_AccessPriv: - _fingerprintString(ctx, "AccessPriv"); - _fingerprintAccessPriv(ctx, obj, parent, field_name, depth); +case T_ListenStmt: + _fingerprintString(ctx, "ListenStmt"); + _fingerprintListenStmt(ctx, obj, parent, field_name, depth); break; -case T_CreateOpClassItem: - _fingerprintString(ctx, "CreateOpClassItem"); - _fingerprintCreateOpClassItem(ctx, obj, parent, field_name, depth); +case T_UnlistenStmt: + _fingerprintString(ctx, "UnlistenStmt"); + _fingerprintUnlistenStmt(ctx, obj, parent, field_name, depth); break; -case T_TableLikeClause: - _fingerprintString(ctx, "TableLikeClause"); - _fingerprintTableLikeClause(ctx, obj, parent, field_name, depth); +case T_TransactionStmt: + _fingerprintString(ctx, "TransactionStmt"); + _fingerprintTransactionStmt(ctx, obj, parent, field_name, depth); break; -case T_FunctionParameter: - _fingerprintString(ctx, "FunctionParameter"); - _fingerprintFunctionParameter(ctx, obj, parent, field_name, depth); +case T_CompositeTypeStmt: + _fingerprintString(ctx, "CompositeTypeStmt"); + _fingerprintCompositeTypeStmt(ctx, obj, parent, field_name, depth); break; -case T_LockingClause: - _fingerprintString(ctx, "LockingClause"); - _fingerprintLockingClause(ctx, obj, parent, field_name, depth); +case T_CreateEnumStmt: + _fingerprintString(ctx, "CreateEnumStmt"); + _fingerprintCreateEnumStmt(ctx, obj, parent, field_name, depth); break; -case T_RowMarkClause: - _fingerprintString(ctx, "RowMarkClause"); - _fingerprintRowMarkClause(ctx, obj, parent, field_name, depth); +case T_CreateRangeStmt: + _fingerprintString(ctx, "CreateRangeStmt"); + _fingerprintCreateRangeStmt(ctx, obj, parent, field_name, depth); break; -case T_XmlSerialize: - _fingerprintString(ctx, "XmlSerialize"); - _fingerprintXmlSerialize(ctx, obj, parent, field_name, depth); +case T_AlterEnumStmt: + _fingerprintString(ctx, "AlterEnumStmt"); + _fingerprintAlterEnumStmt(ctx, obj, parent, field_name, depth); break; -case T_WithClause: - _fingerprintString(ctx, "WithClause"); - _fingerprintWithClause(ctx, obj, parent, field_name, depth); +case T_ViewStmt: + _fingerprintString(ctx, "ViewStmt"); + _fingerprintViewStmt(ctx, obj, parent, field_name, depth); break; -case T_InferClause: - _fingerprintString(ctx, "InferClause"); - _fingerprintInferClause(ctx, obj, parent, field_name, depth); +case T_LoadStmt: + _fingerprintString(ctx, "LoadStmt"); + _fingerprintLoadStmt(ctx, obj, parent, field_name, depth); break; -case T_OnConflictClause: - _fingerprintString(ctx, "OnConflictClause"); - _fingerprintOnConflictClause(ctx, obj, parent, field_name, depth); +case T_CreatedbStmt: + _fingerprintString(ctx, "CreatedbStmt"); + _fingerprintCreatedbStmt(ctx, obj, parent, field_name, depth); break; -case T_CTESearchClause: - _fingerprintString(ctx, "CTESearchClause"); - _fingerprintCTESearchClause(ctx, obj, parent, field_name, depth); +case T_AlterDatabaseStmt: + _fingerprintString(ctx, "AlterDatabaseStmt"); + _fingerprintAlterDatabaseStmt(ctx, obj, parent, field_name, depth); break; -case T_CTECycleClause: - _fingerprintString(ctx, "CTECycleClause"); - _fingerprintCTECycleClause(ctx, obj, parent, field_name, depth); +case T_AlterDatabaseRefreshCollStmt: + _fingerprintString(ctx, "AlterDatabaseRefreshCollStmt"); + _fingerprintAlterDatabaseRefreshCollStmt(ctx, obj, parent, field_name, depth); break; -case T_CommonTableExpr: - _fingerprintString(ctx, "CommonTableExpr"); - _fingerprintCommonTableExpr(ctx, obj, parent, field_name, depth); +case T_AlterDatabaseSetStmt: + _fingerprintString(ctx, "AlterDatabaseSetStmt"); + _fingerprintAlterDatabaseSetStmt(ctx, obj, parent, field_name, depth); break; -case T_MergeWhenClause: - _fingerprintString(ctx, "MergeWhenClause"); - _fingerprintMergeWhenClause(ctx, obj, parent, field_name, depth); +case T_DropdbStmt: + _fingerprintString(ctx, "DropdbStmt"); + _fingerprintDropdbStmt(ctx, obj, parent, field_name, depth); break; -case T_RoleSpec: - _fingerprintString(ctx, "RoleSpec"); - _fingerprintRoleSpec(ctx, obj, parent, field_name, depth); +case T_AlterSystemStmt: + _fingerprintString(ctx, "AlterSystemStmt"); + _fingerprintAlterSystemStmt(ctx, obj, parent, field_name, depth); break; -case T_TriggerTransition: - _fingerprintString(ctx, "TriggerTransition"); - _fingerprintTriggerTransition(ctx, obj, parent, field_name, depth); +case T_ClusterStmt: + _fingerprintString(ctx, "ClusterStmt"); + _fingerprintClusterStmt(ctx, obj, parent, field_name, depth); break; -case T_PartitionElem: - _fingerprintString(ctx, "PartitionElem"); - _fingerprintPartitionElem(ctx, obj, parent, field_name, depth); +case T_VacuumStmt: + _fingerprintString(ctx, "VacuumStmt"); + _fingerprintVacuumStmt(ctx, obj, parent, field_name, depth); break; -case T_PartitionSpec: - _fingerprintString(ctx, "PartitionSpec"); - _fingerprintPartitionSpec(ctx, obj, parent, field_name, depth); +case T_VacuumRelation: + _fingerprintString(ctx, "VacuumRelation"); + _fingerprintVacuumRelation(ctx, obj, parent, field_name, depth); break; -case T_PartitionBoundSpec: - _fingerprintString(ctx, "PartitionBoundSpec"); - _fingerprintPartitionBoundSpec(ctx, obj, parent, field_name, depth); +case T_ExplainStmt: + _fingerprintString(ctx, "ExplainStmt"); + _fingerprintExplainStmt(ctx, obj, parent, field_name, depth); break; -case T_PartitionRangeDatum: - _fingerprintString(ctx, "PartitionRangeDatum"); - _fingerprintPartitionRangeDatum(ctx, obj, parent, field_name, depth); +case T_CreateTableAsStmt: + _fingerprintString(ctx, "CreateTableAsStmt"); + _fingerprintCreateTableAsStmt(ctx, obj, parent, field_name, depth); break; -case T_PartitionCmd: - _fingerprintString(ctx, "PartitionCmd"); - _fingerprintPartitionCmd(ctx, obj, parent, field_name, depth); +case T_RefreshMatViewStmt: + _fingerprintString(ctx, "RefreshMatViewStmt"); + _fingerprintRefreshMatViewStmt(ctx, obj, parent, field_name, depth); break; -case T_VacuumRelation: - _fingerprintString(ctx, "VacuumRelation"); - _fingerprintVacuumRelation(ctx, obj, parent, field_name, depth); +case T_CheckPointStmt: + _fingerprintString(ctx, "CheckPointStmt"); + _fingerprintCheckPointStmt(ctx, obj, parent, field_name, depth); break; -case T_PublicationObjSpec: - _fingerprintString(ctx, "PublicationObjSpec"); - _fingerprintPublicationObjSpec(ctx, obj, parent, field_name, depth); +case T_DiscardStmt: + _fingerprintString(ctx, "DiscardStmt"); + _fingerprintDiscardStmt(ctx, obj, parent, field_name, depth); + break; +case T_LockStmt: + _fingerprintString(ctx, "LockStmt"); + _fingerprintLockStmt(ctx, obj, parent, field_name, depth); + break; +case T_ConstraintsSetStmt: + _fingerprintString(ctx, "ConstraintsSetStmt"); + _fingerprintConstraintsSetStmt(ctx, obj, parent, field_name, depth); + break; +case T_ReindexStmt: + _fingerprintString(ctx, "ReindexStmt"); + _fingerprintReindexStmt(ctx, obj, parent, field_name, depth); + break; +case T_CreateConversionStmt: + _fingerprintString(ctx, "CreateConversionStmt"); + _fingerprintCreateConversionStmt(ctx, obj, parent, field_name, depth); + break; +case T_CreateCastStmt: + _fingerprintString(ctx, "CreateCastStmt"); + _fingerprintCreateCastStmt(ctx, obj, parent, field_name, depth); + break; +case T_CreateTransformStmt: + _fingerprintString(ctx, "CreateTransformStmt"); + _fingerprintCreateTransformStmt(ctx, obj, parent, field_name, depth); + break; +case T_PrepareStmt: + _fingerprintString(ctx, "PrepareStmt"); + _fingerprintPrepareStmt(ctx, obj, parent, field_name, depth); + break; +case T_ExecuteStmt: + _fingerprintString(ctx, "ExecuteStmt"); + _fingerprintExecuteStmt(ctx, obj, parent, field_name, depth); + break; +case T_DeallocateStmt: + _fingerprintString(ctx, "DeallocateStmt"); + _fingerprintDeallocateStmt(ctx, obj, parent, field_name, depth); + break; +case T_DropOwnedStmt: + _fingerprintString(ctx, "DropOwnedStmt"); + _fingerprintDropOwnedStmt(ctx, obj, parent, field_name, depth); + break; +case T_ReassignOwnedStmt: + _fingerprintString(ctx, "ReassignOwnedStmt"); + _fingerprintReassignOwnedStmt(ctx, obj, parent, field_name, depth); + break; +case T_AlterTSDictionaryStmt: + _fingerprintString(ctx, "AlterTSDictionaryStmt"); + _fingerprintAlterTSDictionaryStmt(ctx, obj, parent, field_name, depth); + break; +case T_AlterTSConfigurationStmt: + _fingerprintString(ctx, "AlterTSConfigurationStmt"); + _fingerprintAlterTSConfigurationStmt(ctx, obj, parent, field_name, depth); break; case T_PublicationTable: _fingerprintString(ctx, "PublicationTable"); _fingerprintPublicationTable(ctx, obj, parent, field_name, depth); break; -case T_InlineCodeBlock: - _fingerprintString(ctx, "InlineCodeBlock"); - _fingerprintInlineCodeBlock(ctx, obj, parent, field_name, depth); +case T_PublicationObjSpec: + _fingerprintString(ctx, "PublicationObjSpec"); + _fingerprintPublicationObjSpec(ctx, obj, parent, field_name, depth); break; -case T_CallContext: - _fingerprintString(ctx, "CallContext"); - _fingerprintCallContext(ctx, obj, parent, field_name, depth); +case T_CreatePublicationStmt: + _fingerprintString(ctx, "CreatePublicationStmt"); + _fingerprintCreatePublicationStmt(ctx, obj, parent, field_name, depth); + break; +case T_AlterPublicationStmt: + _fingerprintString(ctx, "AlterPublicationStmt"); + _fingerprintAlterPublicationStmt(ctx, obj, parent, field_name, depth); + break; +case T_CreateSubscriptionStmt: + _fingerprintString(ctx, "CreateSubscriptionStmt"); + _fingerprintCreateSubscriptionStmt(ctx, obj, parent, field_name, depth); + break; +case T_AlterSubscriptionStmt: + _fingerprintString(ctx, "AlterSubscriptionStmt"); + _fingerprintAlterSubscriptionStmt(ctx, obj, parent, field_name, depth); + break; +case T_DropSubscriptionStmt: + _fingerprintString(ctx, "DropSubscriptionStmt"); + _fingerprintDropSubscriptionStmt(ctx, obj, parent, field_name, depth); break; diff --git a/parser/include/pg_query_fingerprint_defs.c b/parser/include/pg_query_fingerprint_defs.c index c8fee7e1..622a54db 100644 --- a/parser/include/pg_query_fingerprint_defs.c +++ b/parser/include/pg_query_fingerprint_defs.c @@ -1,12 +1,15 @@ static void _fingerprintAlias(FingerprintContext *ctx, const Alias *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintRangeVar(FingerprintContext *ctx, const RangeVar *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintVar(FingerprintContext *ctx, const Var *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintConst(FingerprintContext *ctx, const Const *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintParam(FingerprintContext *ctx, const Param *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAggref(FingerprintContext *ctx, const Aggref *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintGroupingFunc(FingerprintContext *ctx, const GroupingFunc *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWindowFuncRunCondition(FingerprintContext *ctx, const WindowFuncRunCondition *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMergeSupportFunc(FingerprintContext *ctx, const MergeSupportFunc *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSubscriptingRef(FingerprintContext *ctx, const SubscriptingRef *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintFuncExpr(FingerprintContext *ctx, const FuncExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintNamedArgExpr(FingerprintContext *ctx, const NamedArgExpr *node, const void *parent, const char *field_name, unsigned int depth); @@ -33,8 +36,19 @@ static void _fingerprintCoalesceExpr(FingerprintContext *ctx, const CoalesceExpr static void _fingerprintMinMaxExpr(FingerprintContext *ctx, const MinMaxExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSQLValueFunction(FingerprintContext *ctx, const SQLValueFunction *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintXmlExpr(FingerprintContext *ctx, const XmlExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonFormat(FingerprintContext *ctx, const JsonFormat *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonReturning(FingerprintContext *ctx, const JsonReturning *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonValueExpr(FingerprintContext *ctx, const JsonValueExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonConstructorExpr(FingerprintContext *ctx, const JsonConstructorExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonIsPredicate(FingerprintContext *ctx, const JsonIsPredicate *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonBehavior(FingerprintContext *ctx, const JsonBehavior *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonExpr(FingerprintContext *ctx, const JsonExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePath(FingerprintContext *ctx, const JsonTablePath *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePathScan(FingerprintContext *ctx, const JsonTablePathScan *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTableSiblingJoin(FingerprintContext *ctx, const JsonTableSiblingJoin *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth); @@ -46,186 +60,202 @@ static void _fingerprintRangeTblRef(FingerprintContext *ctx, const RangeTblRef * static void _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRawStmt(FingerprintContext *ctx, const RawStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSinglePartitionSpec(FingerprintContext *ctx, const SinglePartitionSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRTEPermissionInfo(FingerprintContext *ctx, const RTEPermissionInfo *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonArgument(FingerprintContext *ctx, const JsonArgument *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonFuncExpr(FingerprintContext *ctx, const JsonFuncExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTablePathSpec(FingerprintContext *ctx, const JsonTablePathSpec *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTable(FingerprintContext *ctx, const JsonTable *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonTableColumn(FingerprintContext *ctx, const JsonTableColumn *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonParseExpr(FingerprintContext *ctx, const JsonParseExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonScalarExpr(FingerprintContext *ctx, const JsonScalarExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonSerializeExpr(FingerprintContext *ctx, const JsonSerializeExpr *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonObjectConstructor(FingerprintContext *ctx, const JsonObjectConstructor *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonArrayConstructor(FingerprintContext *ctx, const JsonArrayConstructor *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonArrayQueryConstructor(FingerprintContext *ctx, const JsonArrayQueryConstructor *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonAggConstructor(FingerprintContext *ctx, const JsonAggConstructor *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonObjectAgg(FingerprintContext *ctx, const JsonObjectAgg *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintJsonArrayAgg(FingerprintContext *ctx, const JsonArrayAgg *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRawStmt(FingerprintContext *ctx, const RawStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDeleteStmt(FingerprintContext *ctx, const DeleteStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintUpdateStmt(FingerprintContext *ctx, const UpdateStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintMergeStmt(FingerprintContext *ctx, const MergeStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSetOperationStmt(FingerprintContext *ctx, const SetOperationStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintReturnStmt(FingerprintContext *ctx, const ReturnStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintPLAssignStmt(FingerprintContext *ctx, const PLAssignStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateSchemaStmt(FingerprintContext *ctx, const CreateSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterTableStmt(FingerprintContext *ctx, const AlterTableStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintReplicaIdentityStmt(FingerprintContext *ctx, const ReplicaIdentityStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterTableCmd(FingerprintContext *ctx, const AlterTableCmd *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterCollationStmt(FingerprintContext *ctx, const AlterCollationStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterDomainStmt(FingerprintContext *ctx, const AlterDomainStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintSetOperationStmt(FingerprintContext *ctx, const SetOperationStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintGrantStmt(FingerprintContext *ctx, const GrantStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintObjectWithArgs(FingerprintContext *ctx, const ObjectWithArgs *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAccessPriv(FingerprintContext *ctx, const AccessPriv *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintGrantRoleStmt(FingerprintContext *ctx, const GrantRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterDefaultPrivilegesStmt(FingerprintContext *ctx, const AlterDefaultPrivilegesStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintClosePortalStmt(FingerprintContext *ctx, const ClosePortalStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintClusterStmt(FingerprintContext *ctx, const ClusterStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCopyStmt(FingerprintContext *ctx, const CopyStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintVariableSetStmt(FingerprintContext *ctx, const VariableSetStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintVariableShowStmt(FingerprintContext *ctx, const VariableShowStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateStmt(FingerprintContext *ctx, const CreateStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateTableSpaceStmt(FingerprintContext *ctx, const CreateTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintDropTableSpaceStmt(FingerprintContext *ctx, const DropTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterTableSpaceOptionsStmt(FingerprintContext *ctx, const AlterTableSpaceOptionsStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterTableMoveAllStmt(FingerprintContext *ctx, const AlterTableMoveAllStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateExtensionStmt(FingerprintContext *ctx, const CreateExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterExtensionStmt(FingerprintContext *ctx, const AlterExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterExtensionContentsStmt(FingerprintContext *ctx, const AlterExtensionContentsStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateFdwStmt(FingerprintContext *ctx, const CreateFdwStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterFdwStmt(FingerprintContext *ctx, const AlterFdwStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateForeignServerStmt(FingerprintContext *ctx, const CreateForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterForeignServerStmt(FingerprintContext *ctx, const AlterForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateForeignTableStmt(FingerprintContext *ctx, const CreateForeignTableStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateUserMappingStmt(FingerprintContext *ctx, const CreateUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintDropUserMappingStmt(FingerprintContext *ctx, const DropUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintImportForeignSchemaStmt(FingerprintContext *ctx, const ImportForeignSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterPolicyStmt(FingerprintContext *ctx, const AlterPolicyStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateAmStmt(FingerprintContext *ctx, const CreateAmStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateEventTrigStmt(FingerprintContext *ctx, const CreateEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterEventTrigStmt(FingerprintContext *ctx, const AlterEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreatePLangStmt(FingerprintContext *ctx, const CreatePLangStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateRoleStmt(FingerprintContext *ctx, const CreateRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterRoleStmt(FingerprintContext *ctx, const AlterRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintDropRoleStmt(FingerprintContext *ctx, const DropRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateSeqStmt(FingerprintContext *ctx, const CreateSeqStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterSeqStmt(FingerprintContext *ctx, const AlterSeqStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDefineStmt(FingerprintContext *ctx, const DefineStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateDomainStmt(FingerprintContext *ctx, const CreateDomainStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateOpClassStmt(FingerprintContext *ctx, const CreateOpClassStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateOpClassItem(FingerprintContext *ctx, const CreateOpClassItem *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateOpFamilyStmt(FingerprintContext *ctx, const CreateOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterOpFamilyStmt(FingerprintContext *ctx, const AlterOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDropStmt(FingerprintContext *ctx, const DropStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintTruncateStmt(FingerprintContext *ctx, const TruncateStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCommentStmt(FingerprintContext *ctx, const CommentStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintSecLabelStmt(FingerprintContext *ctx, const SecLabelStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintDeclareCursorStmt(FingerprintContext *ctx, const DeclareCursorStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintClosePortalStmt(FingerprintContext *ctx, const ClosePortalStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintFetchStmt(FingerprintContext *ctx, const FetchStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintIndexStmt(FingerprintContext *ctx, const IndexStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateStatsStmt(FingerprintContext *ctx, const CreateStatsStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintStatsElem(FingerprintContext *ctx, const StatsElem *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterStatsStmt(FingerprintContext *ctx, const AlterStatsStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateFunctionStmt(FingerprintContext *ctx, const CreateFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintFunctionParameter(FingerprintContext *ctx, const FunctionParameter *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterFunctionStmt(FingerprintContext *ctx, const AlterFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDoStmt(FingerprintContext *ctx, const DoStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintInlineCodeBlock(FingerprintContext *ctx, const InlineCodeBlock *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCallStmt(FingerprintContext *ctx, const CallStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCallContext(FingerprintContext *ctx, const CallContext *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintRenameStmt(FingerprintContext *ctx, const RenameStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterObjectDependsStmt(FingerprintContext *ctx, const AlterObjectDependsStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterObjectSchemaStmt(FingerprintContext *ctx, const AlterObjectSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterTypeStmt(FingerprintContext *ctx, const AlterTypeStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintRuleStmt(FingerprintContext *ctx, const RuleStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintNotifyStmt(FingerprintContext *ctx, const NotifyStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintListenStmt(FingerprintContext *ctx, const ListenStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintUnlistenStmt(FingerprintContext *ctx, const UnlistenStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintTransactionStmt(FingerprintContext *ctx, const TransactionStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCompositeTypeStmt(FingerprintContext *ctx, const CompositeTypeStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateEnumStmt(FingerprintContext *ctx, const CreateEnumStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateRangeStmt(FingerprintContext *ctx, const CreateRangeStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterEnumStmt(FingerprintContext *ctx, const AlterEnumStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintViewStmt(FingerprintContext *ctx, const ViewStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintLoadStmt(FingerprintContext *ctx, const LoadStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateDomainStmt(FingerprintContext *ctx, const CreateDomainStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreatedbStmt(FingerprintContext *ctx, const CreatedbStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterDatabaseStmt(FingerprintContext *ctx, const AlterDatabaseStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterDatabaseRefreshCollStmt(FingerprintContext *ctx, const AlterDatabaseRefreshCollStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterDatabaseSetStmt(FingerprintContext *ctx, const AlterDatabaseSetStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDropdbStmt(FingerprintContext *ctx, const DropdbStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintAlterSystemStmt(FingerprintContext *ctx, const AlterSystemStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintClusterStmt(FingerprintContext *ctx, const ClusterStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintVacuumStmt(FingerprintContext *ctx, const VacuumStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintVacuumRelation(FingerprintContext *ctx, const VacuumRelation *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintExplainStmt(FingerprintContext *ctx, const ExplainStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateTableAsStmt(FingerprintContext *ctx, const CreateTableAsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateSeqStmt(FingerprintContext *ctx, const CreateSeqStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterSeqStmt(FingerprintContext *ctx, const AlterSeqStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintVariableSetStmt(FingerprintContext *ctx, const VariableSetStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintVariableShowStmt(FingerprintContext *ctx, const VariableShowStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintRefreshMatViewStmt(FingerprintContext *ctx, const RefreshMatViewStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCheckPointStmt(FingerprintContext *ctx, const CheckPointStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDiscardStmt(FingerprintContext *ctx, const DiscardStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreatePLangStmt(FingerprintContext *ctx, const CreatePLangStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateRoleStmt(FingerprintContext *ctx, const CreateRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterRoleStmt(FingerprintContext *ctx, const AlterRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintDropRoleStmt(FingerprintContext *ctx, const DropRoleStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintLockStmt(FingerprintContext *ctx, const LockStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintConstraintsSetStmt(FingerprintContext *ctx, const ConstraintsSetStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintReindexStmt(FingerprintContext *ctx, const ReindexStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCheckPointStmt(FingerprintContext *ctx, const CheckPointStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateSchemaStmt(FingerprintContext *ctx, const CreateSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterDatabaseStmt(FingerprintContext *ctx, const AlterDatabaseStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterDatabaseRefreshCollStmt(FingerprintContext *ctx, const AlterDatabaseRefreshCollStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterDatabaseSetStmt(FingerprintContext *ctx, const AlterDatabaseSetStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateConversionStmt(FingerprintContext *ctx, const CreateConversionStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateCastStmt(FingerprintContext *ctx, const CreateCastStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateOpClassStmt(FingerprintContext *ctx, const CreateOpClassStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateOpFamilyStmt(FingerprintContext *ctx, const CreateOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterOpFamilyStmt(FingerprintContext *ctx, const AlterOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintCreateTransformStmt(FingerprintContext *ctx, const CreateTransformStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintPrepareStmt(FingerprintContext *ctx, const PrepareStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintExecuteStmt(FingerprintContext *ctx, const ExecuteStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDeallocateStmt(FingerprintContext *ctx, const DeallocateStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintDeclareCursorStmt(FingerprintContext *ctx, const DeclareCursorStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateTableSpaceStmt(FingerprintContext *ctx, const CreateTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintDropTableSpaceStmt(FingerprintContext *ctx, const DropTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterObjectDependsStmt(FingerprintContext *ctx, const AlterObjectDependsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterObjectSchemaStmt(FingerprintContext *ctx, const AlterObjectSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterTypeStmt(FingerprintContext *ctx, const AlterTypeStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDropOwnedStmt(FingerprintContext *ctx, const DropOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintReassignOwnedStmt(FingerprintContext *ctx, const ReassignOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCompositeTypeStmt(FingerprintContext *ctx, const CompositeTypeStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateEnumStmt(FingerprintContext *ctx, const CreateEnumStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateRangeStmt(FingerprintContext *ctx, const CreateRangeStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterEnumStmt(FingerprintContext *ctx, const AlterEnumStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterTSDictionaryStmt(FingerprintContext *ctx, const AlterTSDictionaryStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterTSConfigurationStmt(FingerprintContext *ctx, const AlterTSConfigurationStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateFdwStmt(FingerprintContext *ctx, const CreateFdwStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterFdwStmt(FingerprintContext *ctx, const AlterFdwStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateForeignServerStmt(FingerprintContext *ctx, const CreateForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterForeignServerStmt(FingerprintContext *ctx, const AlterForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateUserMappingStmt(FingerprintContext *ctx, const CreateUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintDropUserMappingStmt(FingerprintContext *ctx, const DropUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterTableSpaceOptionsStmt(FingerprintContext *ctx, const AlterTableSpaceOptionsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterTableMoveAllStmt(FingerprintContext *ctx, const AlterTableMoveAllStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintSecLabelStmt(FingerprintContext *ctx, const SecLabelStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateForeignTableStmt(FingerprintContext *ctx, const CreateForeignTableStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintImportForeignSchemaStmt(FingerprintContext *ctx, const ImportForeignSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateExtensionStmt(FingerprintContext *ctx, const CreateExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterExtensionStmt(FingerprintContext *ctx, const AlterExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterExtensionContentsStmt(FingerprintContext *ctx, const AlterExtensionContentsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateEventTrigStmt(FingerprintContext *ctx, const CreateEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterEventTrigStmt(FingerprintContext *ctx, const AlterEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRefreshMatViewStmt(FingerprintContext *ctx, const RefreshMatViewStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintReplicaIdentityStmt(FingerprintContext *ctx, const ReplicaIdentityStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterSystemStmt(FingerprintContext *ctx, const AlterSystemStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterPolicyStmt(FingerprintContext *ctx, const AlterPolicyStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateTransformStmt(FingerprintContext *ctx, const CreateTransformStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateAmStmt(FingerprintContext *ctx, const CreateAmStmt *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPublicationTable(FingerprintContext *ctx, const PublicationTable *node, const void *parent, const char *field_name, unsigned int depth); +static void _fingerprintPublicationObjSpec(FingerprintContext *ctx, const PublicationObjSpec *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreatePublicationStmt(FingerprintContext *ctx, const CreatePublicationStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterPublicationStmt(FingerprintContext *ctx, const AlterPublicationStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintCreateSubscriptionStmt(FingerprintContext *ctx, const CreateSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintAlterSubscriptionStmt(FingerprintContext *ctx, const AlterSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth); static void _fingerprintDropSubscriptionStmt(FingerprintContext *ctx, const DropSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateStatsStmt(FingerprintContext *ctx, const CreateStatsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterCollationStmt(FingerprintContext *ctx, const AlterCollationStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCallStmt(FingerprintContext *ctx, const CallStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAlterStatsStmt(FingerprintContext *ctx, const AlterStatsStmt *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintStatsElem(FingerprintContext *ctx, const StatsElem *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintObjectWithArgs(FingerprintContext *ctx, const ObjectWithArgs *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintAccessPriv(FingerprintContext *ctx, const AccessPriv *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCreateOpClassItem(FingerprintContext *ctx, const CreateOpClassItem *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintFunctionParameter(FingerprintContext *ctx, const FunctionParameter *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintVacuumRelation(FingerprintContext *ctx, const VacuumRelation *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPublicationObjSpec(FingerprintContext *ctx, const PublicationObjSpec *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintPublicationTable(FingerprintContext *ctx, const PublicationTable *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintInlineCodeBlock(FingerprintContext *ctx, const InlineCodeBlock *node, const void *parent, const char *field_name, unsigned int depth); -static void _fingerprintCallContext(FingerprintContext *ctx, const CallContext *node, const void *parent, const char *field_name, unsigned int depth); static void @@ -398,32 +428,53 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void } XXH3_freeState(prev); } - if (node->docexpr != NULL) { + if (node->colvalexprs != NULL && node->colvalexprs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "docexpr"); + _fingerprintString(ctx, "colvalexprs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->colvalexprs, node, "colvalexprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colvalexprs) == 1 && linitial(node->colvalexprs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->docexpr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - // Intentionally ignoring node->location for fingerprinting + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "docexpr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "functype"); + _fingerprintString(ctx, _enumToStringTableFuncType(node->functype)); + } + + // Intentionally ignoring node->location for fingerprinting if (true) { - int x; + int x = -1; Bitmapset *bms = bms_copy(node->notnulls); _fingerprintString(ctx, "notnulls"); - while ((x = bms_first_member(bms)) >= 0) { + while ((x = bms_next_member(bms, x)) >= 0) { char buffer[50]; sprintf(buffer, "%d", x); _fingerprintString(ctx, buffer); @@ -471,6 +522,39 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void _fingerprintString(ctx, buffer); } + if (node->passingvalexprs != NULL && node->passingvalexprs->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passingvalexprs"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passingvalexprs, node, "passingvalexprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passingvalexprs) == 1 && linitial(node->passingvalexprs) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->plan != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "plan"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->plan, node, "plan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rowexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -490,6 +574,97 @@ _fingerprintTableFunc(FingerprintContext *ctx, const TableFunc *node, const void } +static void +_fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->accessMethod != NULL) { + _fingerprintString(ctx, "accessMethod"); + _fingerprintString(ctx, node->accessMethod); + } + + if (node->colNames != NULL && node->colNames->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "colNames"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->colNames, node, "colNames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colNames) == 1 && linitial(node->colNames) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (true) { + _fingerprintString(ctx, "onCommit"); + _fingerprintString(ctx, _enumToStringOnCommitAction(node->onCommit)); + } + + if (node->options != NULL && node->options->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "options"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rel != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rel"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintRangeVar(ctx, node->rel, node, "rel", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->skipData) { + _fingerprintString(ctx, "skipData"); + _fingerprintString(ctx, "true"); + } + + if (node->tableSpaceName != NULL) { + _fingerprintString(ctx, "tableSpaceName"); + _fingerprintString(ctx, node->tableSpaceName); + } + + if (node->viewQuery != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "viewQuery"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->viewQuery, node, "viewQuery", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + static void _fingerprintVar(FingerprintContext *ctx, const Var *node, const void *parent, const char *field_name, unsigned int depth) { @@ -502,13 +677,6 @@ _fingerprintVar(FingerprintContext *ctx, const Var *node, const void *parent, co _fingerprintString(ctx, buffer); } - if (node->varattnosyn != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->varattnosyn); - _fingerprintString(ctx, "varattnosyn"); - _fingerprintString(ctx, buffer); - } - if (node->varcollid != 0) { char buffer[50]; sprintf(buffer, "%d", node->varcollid); @@ -530,11 +698,19 @@ _fingerprintVar(FingerprintContext *ctx, const Var *node, const void *parent, co _fingerprintString(ctx, buffer); } - if (node->varnosyn != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->varnosyn); - _fingerprintString(ctx, "varnosyn"); - _fingerprintString(ctx, buffer); + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->varnullingrels); + + _fingerprintString(ctx, "varnullingrels"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); } if (node->vartype != 0) { @@ -773,13 +949,6 @@ _fingerprintAggref(FingerprintContext *ctx, const Aggref *node, const void *pare _fingerprintString(ctx, buffer); } - if (node->aggtranstype != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->aggtranstype); - _fingerprintString(ctx, "aggtranstype"); - _fingerprintString(ctx, buffer); - } - if (node->aggtype != 0) { char buffer[50]; sprintf(buffer, "%d", node->aggtype); @@ -845,22 +1014,6 @@ _fingerprintGroupingFunc(FingerprintContext *ctx, const GroupingFunc *node, cons } XXH3_freeState(prev); } - if (node->cols != NULL && node->cols->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cols"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cols, node, "cols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cols) == 1 && linitial(node->cols) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } // Intentionally ignoring node->location for fingerprinting if (node->refs != NULL && node->refs->length > 0) { @@ -926,6 +1079,22 @@ _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const vo // Intentionally ignoring node->location for fingerprinting + if (node->runCondition != NULL && node->runCondition->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "runCondition"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->runCondition, node, "runCondition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->runCondition) == 1 && linitial(node->runCondition) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } if (node->winagg) { _fingerprintString(ctx, "winagg"); _fingerprintString(ctx, "true"); @@ -966,6 +1135,68 @@ _fingerprintWindowFunc(FingerprintContext *ctx, const WindowFunc *node, const vo } +static void +_fingerprintWindowFuncRunCondition(FingerprintContext *ctx, const WindowFuncRunCondition *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->inputcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inputcollid); + _fingerprintString(ctx, "inputcollid"); + _fingerprintString(ctx, buffer); + } + + if (node->opno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->opno); + _fingerprintString(ctx, "opno"); + _fingerprintString(ctx, buffer); + } + + if (node->wfunc_left) { + _fingerprintString(ctx, "wfunc_left"); + _fingerprintString(ctx, "true"); + } + +} + +static void +_fingerprintMergeSupportFunc(FingerprintContext *ctx, const MergeSupportFunc *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting + + if (node->msfcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->msfcollid); + _fingerprintString(ctx, "msfcollid"); + _fingerprintString(ctx, buffer); + } + + if (node->msftype != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->msftype); + _fingerprintString(ctx, "msftype"); + _fingerprintString(ctx, buffer); + } + +} + static void _fingerprintSubscriptingRef(FingerprintContext *ctx, const SubscriptingRef *node, const void *parent, const char *field_name, unsigned int depth) { @@ -1209,13 +1440,6 @@ _fingerprintOpExpr(FingerprintContext *ctx, const OpExpr *node, const void *pare _fingerprintString(ctx, buffer); } - if (node->opfuncid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->opfuncid); - _fingerprintString(ctx, "opfuncid"); - _fingerprintString(ctx, buffer); - } - if (node->opno != 0) { char buffer[50]; sprintf(buffer, "%d", node->opno); @@ -1256,13 +1480,6 @@ _fingerprintScalarArrayOpExpr(FingerprintContext *ctx, const ScalarArrayOpExpr * } XXH3_freeState(prev); } - if (node->hashfuncid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->hashfuncid); - _fingerprintString(ctx, "hashfuncid"); - _fingerprintString(ctx, buffer); - } - if (node->inputcollid != 0) { char buffer[50]; sprintf(buffer, "%d", node->inputcollid); @@ -1272,20 +1489,6 @@ _fingerprintScalarArrayOpExpr(FingerprintContext *ctx, const ScalarArrayOpExpr * // Intentionally ignoring node->location for fingerprinting - if (node->negfuncid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->negfuncid); - _fingerprintString(ctx, "negfuncid"); - _fingerprintString(ctx, buffer); - } - - if (node->opfuncid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->opfuncid); - _fingerprintString(ctx, "opfuncid"); - _fingerprintString(ctx, buffer); - } - if (node->opno != 0) { char buffer[50]; sprintf(buffer, "%d", node->opno); @@ -2384,6 +2587,11 @@ _fingerprintXmlExpr(FingerprintContext *ctx, const XmlExpr *node, const void *pa } XXH3_freeState(prev); } + if (node->indent) { + _fingerprintString(ctx, "indent"); + _fingerprintString(ctx, "true"); + } + // Intentionally ignoring node->location for fingerprinting if (node->name != NULL) { @@ -2434,17 +2642,34 @@ _fingerprintXmlExpr(FingerprintContext *ctx, const XmlExpr *node, const void *pa } static void -_fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonFormat(FingerprintContext *ctx, const JsonFormat *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (true) { + _fingerprintString(ctx, "encoding"); + _fingerprintString(ctx, _enumToStringJsonEncoding(node->encoding)); + } + + if (true) { + _fingerprintString(ctx, "format_type"); + _fingerprintString(ctx, _enumToStringJsonFormatType(node->format_type)); + } + + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintJsonReturning(FingerprintContext *ctx, const JsonReturning *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2453,32 +2678,34 @@ _fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void * XXH3_freeState(prev); } - if (node->argisrow) { - _fingerprintString(ctx, "argisrow"); - _fingerprintString(ctx, "true"); + if (node->typid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typid); + _fingerprintString(ctx, "typid"); + _fingerprintString(ctx, buffer); } - // Intentionally ignoring node->location for fingerprinting - - if (true) { - _fingerprintString(ctx, "nulltesttype"); - _fingerprintString(ctx, _enumToStringNullTestType(node->nulltesttype)); + if (node->typmod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typmod); + _fingerprintString(ctx, "typmod"); + _fingerprintString(ctx, buffer); } } static void -_fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonValueExpr(FingerprintContext *ctx, const JsonValueExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2487,27 +2714,15 @@ _fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "booltesttype"); - _fingerprintString(ctx, _enumToStringBoolTestType(node->booltesttype)); - } - - // Intentionally ignoring node->location for fingerprinting - -} - -static void -_fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { + if (node->formatted_expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "formatted_expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintNode(ctx, node->formatted_expr, node, "formatted_expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2516,115 +2731,116 @@ _fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "coercionformat"); - _fingerprintString(ctx, _enumToStringCoercionForm(node->coercionformat)); - } - - // Intentionally ignoring node->location for fingerprinting - - if (node->resultcollid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resultcollid); - _fingerprintString(ctx, "resultcollid"); - _fingerprintString(ctx, buffer); - } + if (node->raw_expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->resulttype != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resulttype); - _fingerprintString(ctx, "resulttype"); - _fingerprintString(ctx, buffer); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "raw_expr"); - if (node->resulttypmod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resulttypmod); - _fingerprintString(ctx, "resulttypmod"); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->raw_expr, node, "raw_expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } } static void -_fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonConstructorExpr(FingerprintContext *ctx, const JsonConstructorExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->collation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->collation); - _fingerprintString(ctx, "collation"); - _fingerprintString(ctx, buffer); + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); + _fingerprintString(ctx, "true"); } - // Intentionally ignoring node->location for fingerprinting + if (node->args != NULL && node->args->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->typeId != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeId); - _fingerprintString(ctx, "typeId"); - _fingerprintString(ctx, buffer); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "args"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } + if (node->coercion != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->typeMod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeMod); - _fingerprintString(ctx, "typeMod"); - _fingerprintString(ctx, buffer); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "coercion"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->coercion, node, "coercion", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } -} + if (node->func != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -static void -_fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring all fields for fingerprinting -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "func"); -static void -_fingerprintCurrentOfExpr(FingerprintContext *ctx, const CurrentOfExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cursor_name != NULL) { - _fingerprintString(ctx, "cursor_name"); - _fingerprintString(ctx, node->cursor_name); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->func, node, "func", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->cursor_param != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cursor_param); - _fingerprintString(ctx, "cursor_param"); - _fingerprintString(ctx, buffer); - } + // Intentionally ignoring node->location for fingerprinting - if (node->cvarno != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cvarno); - _fingerprintString(ctx, "cvarno"); - _fingerprintString(ctx, buffer); - } + if (node->returning != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returning"); -static void -_fingerprintNextValueExpr(FingerprintContext *ctx, const NextValueExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->seqid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->seqid); - _fingerprintString(ctx, "seqid"); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->typeId != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeId); - _fingerprintString(ctx, "typeId"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "type"); + _fingerprintString(ctx, _enumToStringJsonConstructorType(node->type)); + } + + if (node->unique) { + _fingerprintString(ctx, "unique"); + _fingerprintString(ctx, "true"); } } static void -_fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonIsPredicate(FingerprintContext *ctx, const JsonIsPredicate *node, const void *parent, const char *field_name, unsigned int depth) { if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); @@ -2643,25 +2859,50 @@ _fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, co XXH3_freeState(prev); } - if (node->infercollid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->infercollid); - _fingerprintString(ctx, "infercollid"); - _fingerprintString(ctx, buffer); + if (node->format != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "format"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->inferopclass != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->inferopclass); - _fingerprintString(ctx, "inferopclass"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "item_type"); + _fingerprintString(ctx, _enumToStringJsonValueType(node->item_type)); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->unique_keys) { + _fingerprintString(ctx, "unique_keys"); + _fingerprintString(ctx, "true"); } } static void -_fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonBehavior(FingerprintContext *ctx, const JsonBehavior *node, const void *parent, const char *field_name, unsigned int depth) { + if (true) { + _fingerprintString(ctx, "btype"); + _fingerprintString(ctx, _enumToStringJsonBehaviorType(node->btype)); + } + + if (node->coerce) { + _fingerprintString(ctx, "coerce"); + _fingerprintString(ctx, "true"); + } + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -2679,70 +2920,34 @@ _fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const XXH3_freeState(prev); } - if (node->resjunk) { - _fingerprintString(ctx, "resjunk"); - _fingerprintString(ctx, "true"); - } + // Intentionally ignoring node->location for fingerprinting - if (node->resname != NULL) { - _fingerprintString(ctx, "resname"); - _fingerprintString(ctx, node->resname); - } +} - if (node->resno != 0) { +static void +_fingerprintJsonExpr(FingerprintContext *ctx, const JsonExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collation != 0) { char buffer[50]; - sprintf(buffer, "%d", node->resno); - _fingerprintString(ctx, "resno"); + sprintf(buffer, "%d", node->collation); + _fingerprintString(ctx, "collation"); _fingerprintString(ctx, buffer); } - if (node->resorigcol != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resorigcol); - _fingerprintString(ctx, "resorigcol"); - _fingerprintString(ctx, buffer); - } - - if (node->resorigtbl != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resorigtbl); - _fingerprintString(ctx, "resorigtbl"); - _fingerprintString(ctx, buffer); - } - - if (node->ressortgroupref != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ressortgroupref); - _fingerprintString(ctx, "ressortgroupref"); - _fingerprintString(ctx, buffer); - } - -} - -static void -_fingerprintRangeTblRef(FingerprintContext *ctx, const RangeTblRef *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->rtindex != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rtindex); - _fingerprintString(ctx, "rtindex"); - _fingerprintString(ctx, buffer); + if (node->column_name != NULL) { + _fingerprintString(ctx, "column_name"); + _fingerprintString(ctx, node->column_name); } -} - -static void -_fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->alias != NULL) { + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2751,20 +2956,15 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->isNatural) { - _fingerprintString(ctx, "isNatural"); - _fingerprintString(ctx, "true"); - } - - if (node->join_using_alias != NULL) { + if (node->formatted_expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "join_using_alias"); + _fingerprintString(ctx, "formatted_expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + _fingerprintNode(ctx, node->formatted_expr, node, "formatted_expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2773,20 +2973,22 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "jointype"); - _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); + // Intentionally ignoring node->location for fingerprinting + + if (node->omit_quotes) { + _fingerprintString(ctx, "omit_quotes"); + _fingerprintString(ctx, "true"); } - if (node->larg != NULL) { + if (node->on_empty != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "larg"); + _fingerprintString(ctx, "on_empty"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2795,15 +2997,15 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->quals != NULL) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "quals"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2812,76 +3014,69 @@ _fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void * XXH3_freeState(prev); } - if (node->rarg != NULL) { + if (true) { + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringJsonExprOp(node->op)); + } + + if (node->passing_names != NULL && node->passing_names->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rarg"); + _fingerprintString(ctx, "passing_names"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->passing_names, node, "passing_names", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing_names) == 1 && linitial(node->passing_names) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->rtindex != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rtindex); - _fingerprintString(ctx, "rtindex"); - _fingerprintString(ctx, buffer); - } - - if (node->usingClause != NULL && node->usingClause->length > 0) { + if (node->passing_values != NULL && node->passing_values->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "usingClause"); + _fingerprintString(ctx, "passing_values"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { + _fingerprintNode(ctx, node->passing_values, node, "passing_values", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing_values) == 1 && linitial(node->passing_values) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->fromlist != NULL && node->fromlist->length > 0) { + if (node->path_spec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fromlist"); + _fingerprintString(ctx, "path_spec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fromlist, node, "fromlist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromlist) == 1 && linitial(node->fromlist) == NIL)) { + _fingerprintNode(ctx, node->path_spec, node, "path_spec", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->quals != NULL) { + + if (node->returning != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "quals"); + _fingerprintString(ctx, "returning"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2890,41 +3085,47 @@ _fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void * XXH3_freeState(prev); } + if (node->use_io_coercion) { + _fingerprintString(ctx, "use_io_coercion"); + _fingerprintString(ctx, "true"); + } + + if (node->use_json_coercion) { + _fingerprintString(ctx, "use_json_coercion"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); + } + } static void -_fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTablePath(FingerprintContext *ctx, const JsonTablePath *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->arbiterElems != NULL && node->arbiterElems->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + // Intentionally ignoring node->value for fingerprinting - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arbiterElems"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arbiterElems, node, "arbiterElems", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arbiterElems) == 1 && linitial(node->arbiterElems) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } - if (node->arbiterWhere != NULL) { +static void +_fingerprintJsonTablePathScan(FingerprintContext *ctx, const JsonTablePathScan *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->child != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arbiterWhere"); + _fingerprintString(ctx, "child"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arbiterWhere, node, "arbiterWhere", depth + 1); + _fingerprintNode(ctx, (Node*)node->child, node, "child", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2933,61 +3134,73 @@ _fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, XXH3_freeState(prev); } - if (node->constraint != 0) { + if (node->colMax != 0) { char buffer[50]; - sprintf(buffer, "%d", node->constraint); - _fingerprintString(ctx, "constraint"); + sprintf(buffer, "%d", node->colMax); + _fingerprintString(ctx, "colMax"); _fingerprintString(ctx, buffer); } - if (node->exclRelIndex != 0) { + if (node->colMin != 0) { char buffer[50]; - sprintf(buffer, "%d", node->exclRelIndex); - _fingerprintString(ctx, "exclRelIndex"); + sprintf(buffer, "%d", node->colMin); + _fingerprintString(ctx, "colMin"); _fingerprintString(ctx, buffer); } - if (node->exclRelTlist != NULL && node->exclRelTlist->length > 0) { + if (node->errorOnError) { + _fingerprintString(ctx, "errorOnError"); + _fingerprintString(ctx, "true"); + } + + if (node->path != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "exclRelTlist"); + _fingerprintString(ctx, "path"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->exclRelTlist, node, "exclRelTlist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclRelTlist) == 1 && linitial(node->exclRelTlist) == NIL)) { + _fingerprintJsonTablePath(ctx, node->path, node, "path", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->onConflictSet != NULL && node->onConflictSet->length > 0) { + + if (true) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflictSet"); + _fingerprintString(ctx, "plan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->onConflictSet, node, "onConflictSet", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->onConflictSet) == 1 && linitial(node->onConflictSet) == NIL)) { + _fingerprintNode(ctx, (Node*)&node->plan, node, "plan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->onConflictWhere != NULL) { + +} + +static void +_fingerprintJsonTableSiblingJoin(FingerprintContext *ctx, const JsonTableSiblingJoin *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->lplan != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflictWhere"); + _fingerprintString(ctx, "lplan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->onConflictWhere, node, "onConflictWhere", depth + 1); + _fingerprintNode(ctx, (Node*)node->lplan, node, "lplan", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -2996,62 +3209,54 @@ _fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, XXH3_freeState(prev); } -} - -static void -_fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->accessMethod != NULL) { - _fingerprintString(ctx, "accessMethod"); - _fingerprintString(ctx, node->accessMethod); - } - - if (node->colNames != NULL && node->colNames->length > 0) { + if (true) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colNames"); + _fingerprintString(ctx, "plan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colNames, node, "colNames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colNames) == 1 && linitial(node->colNames) == NIL)) { + _fingerprintNode(ctx, (Node*)&node->plan, node, "plan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "onCommit"); - _fingerprintString(ctx, _enumToStringOnCommitAction(node->onCommit)); - } - if (node->options != NULL && node->options->length > 0) { + if (node->rplan != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "rplan"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, (Node*)node->rplan, node, "rplan", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rel != NULL) { + +} + +static void +_fingerprintNullTest(FingerprintContext *ctx, const NullTest *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rel"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->rel, node, "rel", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3060,25 +3265,32 @@ _fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const vo XXH3_freeState(prev); } - if (node->skipData) { - _fingerprintString(ctx, "skipData"); + if (node->argisrow) { + _fingerprintString(ctx, "argisrow"); _fingerprintString(ctx, "true"); } - if (node->tableSpaceName != NULL) { - _fingerprintString(ctx, "tableSpaceName"); - _fingerprintString(ctx, node->tableSpaceName); + // Intentionally ignoring node->location for fingerprinting + + if (true) { + _fingerprintString(ctx, "nulltesttype"); + _fingerprintString(ctx, _enumToStringNullTestType(node->nulltesttype)); } - if (node->viewQuery != NULL) { +} + +static void +_fingerprintBooleanTest(FingerprintContext *ctx, const BooleanTest *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "viewQuery"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->viewQuery, node, "viewQuery", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3087,6 +3299,13 @@ _fingerprintIntoClause(FingerprintContext *ctx, const IntoClause *node, const vo XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "booltesttype"); + _fingerprintString(ctx, _enumToStringBoolTestType(node->booltesttype)); + } + + // Intentionally ignoring node->location for fingerprinting + } static void @@ -3097,9 +3316,9 @@ _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); } - if (node->matched) { - _fingerprintString(ctx, "matched"); - _fingerprintString(ctx, "true"); + if (true) { + _fingerprintString(ctx, "matchKind"); + _fingerprintString(ctx, _enumToStringMergeMatchKind(node->matchKind)); } if (true) { @@ -3159,17 +3378,17 @@ _fingerprintMergeAction(FingerprintContext *ctx, const MergeAction *node, const } static void -_fingerprintRawStmt(FingerprintContext *ctx, const RawStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCoerceToDomain(FingerprintContext *ctx, const CoerceToDomain *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->stmt != NULL) { + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "stmt"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->stmt, node, "stmt", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3178,186 +3397,1802 @@ _fingerprintRawStmt(FingerprintContext *ctx, const RawStmt *node, const void *pa XXH3_freeState(prev); } - // Intentionally ignoring node->stmt_len for fingerprinting + if (true) { + _fingerprintString(ctx, "coercionformat"); + _fingerprintString(ctx, _enumToStringCoercionForm(node->coercionformat)); + } - // Intentionally ignoring node->stmt_location for fingerprinting + // Intentionally ignoring node->location for fingerprinting -} + if (node->resultcollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resultcollid); + _fingerprintString(ctx, "resultcollid"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->canSetTag) { - _fingerprintString(ctx, "canSetTag"); - _fingerprintString(ctx, "true"); + if (node->resulttype != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resulttype); + _fingerprintString(ctx, "resulttype"); + _fingerprintString(ctx, buffer); + } + + if (node->resulttypmod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resulttypmod); + _fingerprintString(ctx, "resulttypmod"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintCoerceToDomainValue(FingerprintContext *ctx, const CoerceToDomainValue *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->collation); + _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, buffer); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->typeId != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeId); + _fingerprintString(ctx, "typeId"); + _fingerprintString(ctx, buffer); + } + + if (node->typeMod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeMod); + _fingerprintString(ctx, "typeMod"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintSetToDefault(FingerprintContext *ctx, const SetToDefault *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring all fields for fingerprinting +} + +static void +_fingerprintCurrentOfExpr(FingerprintContext *ctx, const CurrentOfExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cursor_name != NULL) { + _fingerprintString(ctx, "cursor_name"); + _fingerprintString(ctx, node->cursor_name); + } + + if (node->cursor_param != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cursor_param); + _fingerprintString(ctx, "cursor_param"); + _fingerprintString(ctx, buffer); + } + + if (node->cvarno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cvarno); + _fingerprintString(ctx, "cvarno"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintNextValueExpr(FingerprintContext *ctx, const NextValueExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->seqid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->seqid); + _fingerprintString(ctx, "seqid"); + _fingerprintString(ctx, buffer); + } + + if (node->typeId != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeId); + _fingerprintString(ctx, "typeId"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintInferenceElem(FingerprintContext *ctx, const InferenceElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "expr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->infercollid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->infercollid); + _fingerprintString(ctx, "infercollid"); + _fingerprintString(ctx, buffer); + } + + if (node->inferopclass != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inferopclass); + _fingerprintString(ctx, "inferopclass"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintTargetEntry(FingerprintContext *ctx, const TargetEntry *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "expr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->resjunk) { + _fingerprintString(ctx, "resjunk"); + _fingerprintString(ctx, "true"); + } + + if (node->resname != NULL) { + _fingerprintString(ctx, "resname"); + _fingerprintString(ctx, node->resname); + } + + if (node->resno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resno); + _fingerprintString(ctx, "resno"); + _fingerprintString(ctx, buffer); + } + + if (node->resorigcol != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resorigcol); + _fingerprintString(ctx, "resorigcol"); + _fingerprintString(ctx, buffer); + } + + if (node->resorigtbl != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resorigtbl); + _fingerprintString(ctx, "resorigtbl"); + _fingerprintString(ctx, buffer); + } + + if (node->ressortgroupref != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ressortgroupref); + _fingerprintString(ctx, "ressortgroupref"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintRangeTblRef(FingerprintContext *ctx, const RangeTblRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->rtindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rtindex); + _fingerprintString(ctx, "rtindex"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintJoinExpr(FingerprintContext *ctx, const JoinExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->isNatural) { + _fingerprintString(ctx, "isNatural"); + _fingerprintString(ctx, "true"); + } + + if (node->join_using_alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "join_using_alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "jointype"); + _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); + } + + if (node->larg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "larg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->quals != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "quals"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->rarg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rarg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->rtindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rtindex); + _fingerprintString(ctx, "rtindex"); + _fingerprintString(ctx, buffer); + } + + if (node->usingClause != NULL && node->usingClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "usingClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintFromExpr(FingerprintContext *ctx, const FromExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->fromlist != NULL && node->fromlist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "fromlist"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->fromlist, node, "fromlist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromlist) == 1 && linitial(node->fromlist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->quals != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "quals"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->quals, node, "quals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintOnConflictExpr(FingerprintContext *ctx, const OnConflictExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + } + + if (node->arbiterElems != NULL && node->arbiterElems->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arbiterElems"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arbiterElems, node, "arbiterElems", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arbiterElems) == 1 && linitial(node->arbiterElems) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->arbiterWhere != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arbiterWhere"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arbiterWhere, node, "arbiterWhere", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->constraint != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->constraint); + _fingerprintString(ctx, "constraint"); + _fingerprintString(ctx, buffer); + } + + if (node->exclRelIndex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->exclRelIndex); + _fingerprintString(ctx, "exclRelIndex"); + _fingerprintString(ctx, buffer); + } + + if (node->exclRelTlist != NULL && node->exclRelTlist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "exclRelTlist"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->exclRelTlist, node, "exclRelTlist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclRelTlist) == 1 && linitial(node->exclRelTlist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->onConflictSet != NULL && node->onConflictSet->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "onConflictSet"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->onConflictSet, node, "onConflictSet", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->onConflictSet) == 1 && linitial(node->onConflictSet) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->onConflictWhere != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "onConflictWhere"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->onConflictWhere, node, "onConflictWhere", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->canSetTag) { + _fingerprintString(ctx, "canSetTag"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "commandType"); + _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); + } + + if (node->constraintDeps != NULL && node->constraintDeps->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "constraintDeps"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->constraintDeps, node, "constraintDeps", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraintDeps) == 1 && linitial(node->constraintDeps) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->cteList != NULL && node->cteList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "cteList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->cteList, node, "cteList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cteList) == 1 && linitial(node->cteList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->distinctClause != NULL && node->distinctClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "distinctClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->groupClause != NULL && node->groupClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "groupClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->groupDistinct) { + _fingerprintString(ctx, "groupDistinct"); + _fingerprintString(ctx, "true"); + } + + if (node->groupingSets != NULL && node->groupingSets->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "groupingSets"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->groupingSets, node, "groupingSets", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupingSets) == 1 && linitial(node->groupingSets) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->hasAggs) { + _fingerprintString(ctx, "hasAggs"); + _fingerprintString(ctx, "true"); + } + + if (node->hasDistinctOn) { + _fingerprintString(ctx, "hasDistinctOn"); + _fingerprintString(ctx, "true"); + } + + if (node->hasForUpdate) { + _fingerprintString(ctx, "hasForUpdate"); + _fingerprintString(ctx, "true"); + } + + if (node->hasModifyingCTE) { + _fingerprintString(ctx, "hasModifyingCTE"); + _fingerprintString(ctx, "true"); + } + + if (node->hasRecursive) { + _fingerprintString(ctx, "hasRecursive"); + _fingerprintString(ctx, "true"); + } + + if (node->hasRowSecurity) { + _fingerprintString(ctx, "hasRowSecurity"); + _fingerprintString(ctx, "true"); + } + + if (node->hasSubLinks) { + _fingerprintString(ctx, "hasSubLinks"); + _fingerprintString(ctx, "true"); + } + + if (node->hasTargetSRFs) { + _fingerprintString(ctx, "hasTargetSRFs"); + _fingerprintString(ctx, "true"); + } + + if (node->hasWindowFuncs) { + _fingerprintString(ctx, "hasWindowFuncs"); + _fingerprintString(ctx, "true"); + } + + if (node->havingQual != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "havingQual"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->havingQual, node, "havingQual", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->isReturn) { + _fingerprintString(ctx, "isReturn"); + _fingerprintString(ctx, "true"); + } + + if (node->jointree != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "jointree"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintFromExpr(ctx, node->jointree, node, "jointree", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->limitCount != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "limitCount"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->limitOffset != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "limitOffset"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "limitOption"); + _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); + } + + if (node->mergeActionList != NULL && node->mergeActionList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "mergeActionList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->mergeActionList, node, "mergeActionList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeActionList) == 1 && linitial(node->mergeActionList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->mergeJoinCondition != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "mergeJoinCondition"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->mergeJoinCondition, node, "mergeJoinCondition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->mergeTargetRelation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->mergeTargetRelation); + _fingerprintString(ctx, "mergeTargetRelation"); + _fingerprintString(ctx, buffer); + } + + if (node->onConflict != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "onConflict"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintOnConflictExpr(ctx, node->onConflict, node, "onConflict", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (true) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + } + + if (true) { + _fingerprintString(ctx, "querySource"); + _fingerprintString(ctx, _enumToStringQuerySource(node->querySource)); + } + + if (node->resultRelation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->resultRelation); + _fingerprintString(ctx, "resultRelation"); + _fingerprintString(ctx, buffer); + } + + if (node->returningList != NULL && node->returningList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returningList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rowMarks != NULL && node->rowMarks->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rowMarks"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rowMarks, node, "rowMarks", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rowMarks) == 1 && linitial(node->rowMarks) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rtable != NULL && node->rtable->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rtable"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rtable, node, "rtable", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rtable) == 1 && linitial(node->rtable) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rteperminfos != NULL && node->rteperminfos->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rteperminfos"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rteperminfos, node, "rteperminfos", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rteperminfos) == 1 && linitial(node->rteperminfos) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->setOperations != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "setOperations"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->setOperations, node, "setOperations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->sortClause != NULL && node->sortClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "sortClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->stmt_len != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->stmt_len); + _fingerprintString(ctx, "stmt_len"); + _fingerprintString(ctx, buffer); + } + + if (node->stmt_location != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->stmt_location); + _fingerprintString(ctx, "stmt_location"); + _fingerprintString(ctx, buffer); + } + + if (node->targetList != NULL && node->targetList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "targetList"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->utilityStmt != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "utilityStmt"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->utilityStmt, node, "utilityStmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->windowClause != NULL && node->windowClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "windowClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->withCheckOptions != NULL && node->withCheckOptions->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "withCheckOptions"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->withCheckOptions, node, "withCheckOptions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->withCheckOptions) == 1 && linitial(node->withCheckOptions) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arrayBounds != NULL && node->arrayBounds->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arrayBounds"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arrayBounds, node, "arrayBounds", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arrayBounds) == 1 && linitial(node->arrayBounds) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + // Intentionally ignoring node->location for fingerprinting + + if (node->names != NULL && node->names->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "names"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->names, node, "names", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->names) == 1 && linitial(node->names) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->pct_type) { + _fingerprintString(ctx, "pct_type"); + _fingerprintString(ctx, "true"); + } + + if (node->setof) { + _fingerprintString(ctx, "setof"); + _fingerprintString(ctx, "true"); + } + + if (node->typeOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typeOid); + _fingerprintString(ctx, "typeOid"); + _fingerprintString(ctx, buffer); + } + + if (node->typemod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->typemod); + _fingerprintString(ctx, "typemod"); + _fingerprintString(ctx, buffer); + } + + if (node->typmods != NULL && node->typmods->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "typmods"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->typmods, node, "typmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typmods) == 1 && linitial(node->typmods) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->fields != NULL && node->fields->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "fields"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->fields, node, "fields", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fields) == 1 && linitial(node->fields) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring all fields for fingerprinting +} + +static void +_fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "kind"); + if (node->kind == AEXPR_OP_ANY || node->kind == AEXPR_IN) + _fingerprintString(ctx, "AEXPR_OP"); + else + _fingerprintString(ctx, _enumToStringA_Expr_Kind(node->kind)); + } + + if (node->lexpr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "lexpr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->lexpr, node, "lexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL && node->name->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "name"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->name, node, "name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->name) == 1 && linitial(node->name) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->rexpr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "rexpr"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->rexpr, node, "rexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->typeName != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "typeName"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->collname != NULL && node->collname->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "collname"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting + + if (node->rolename != NULL) { + _fingerprintString(ctx, "rolename"); + _fingerprintString(ctx, node->rolename); } if (true) { - _fingerprintString(ctx, "commandType"); - _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); + _fingerprintString(ctx, "roletype"); + _fingerprintString(ctx, _enumToStringRoleSpecType(node->roletype)); + } + +} + +static void +_fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->agg_distinct) { + _fingerprintString(ctx, "agg_distinct"); + _fingerprintString(ctx, "true"); + } + + if (node->agg_filter != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "agg_filter"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->agg_filter, node, "agg_filter", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->agg_order != NULL && node->agg_order->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "agg_order"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->agg_order, node, "agg_order", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->agg_order) == 1 && linitial(node->agg_order) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->agg_star) { + _fingerprintString(ctx, "agg_star"); + _fingerprintString(ctx, "true"); + } + + if (node->agg_within_group) { + _fingerprintString(ctx, "agg_within_group"); + _fingerprintString(ctx, "true"); + } + + if (node->args != NULL && node->args->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "args"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->func_variadic) { + _fingerprintString(ctx, "func_variadic"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "funcformat"); + _fingerprintString(ctx, _enumToStringCoercionForm(node->funcformat)); + } + + if (node->funcname != NULL && node->funcname->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "funcname"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + // Intentionally ignoring node->location for fingerprinting + + if (node->over != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "over"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintWindowDef(ctx, node->over, node, "over", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth) +{ +} + +static void +_fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->is_slice) { + _fingerprintString(ctx, "is_slice"); + _fingerprintString(ctx, "true"); + } + + if (node->lidx != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "lidx"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->lidx, node, "lidx", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->uidx != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "uidx"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->uidx, node, "uidx", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "arg"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->indirection != NULL && node->indirection->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "indirection"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } +} + +static void +_fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->elements != NULL && node->elements->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "elements"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->elements, node, "elements", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->elements) == 1 && linitial(node->elements) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->constraintDeps != NULL && node->constraintDeps->length > 0) { +} + +static void +_fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->indirection != NULL && node->indirection->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraintDeps"); + _fingerprintString(ctx, "indirection"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraintDeps, node, "constraintDeps", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraintDeps) == 1 && linitial(node->constraintDeps) == NIL)) { + _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cteList != NULL && node->cteList->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL && (field_name == NULL || parent == NULL || !IsA(parent, SelectStmt) || strcmp(field_name, "targetList") != 0)) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->val != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cteList"); + _fingerprintString(ctx, "val"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cteList, node, "cteList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cteList) == 1 && linitial(node->cteList) == NIL)) { + _fingerprintNode(ctx, node->val, node, "val", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->distinctClause != NULL && node->distinctClause->length > 0) { + +} + +static void +_fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->colno != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->colno); + _fingerprintString(ctx, "colno"); + _fingerprintString(ctx, buffer); + } + + if (node->ncolumns != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ncolumns); + _fingerprintString(ctx, "ncolumns"); + _fingerprintString(ctx, buffer); + } + + if (node->source != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "distinctClause"); + _fingerprintString(ctx, "source"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { + _fingerprintNode(ctx, node->source, node, "source", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupClause != NULL && node->groupClause->length > 0) { + +} + +static void +_fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting + + if (node->node != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupClause"); + _fingerprintString(ctx, "node"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { + _fingerprintNode(ctx, node->node, node, "node", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupDistinct) { - _fingerprintString(ctx, "groupDistinct"); - _fingerprintString(ctx, "true"); + + if (true) { + _fingerprintString(ctx, "sortby_dir"); + _fingerprintString(ctx, _enumToStringSortByDir(node->sortby_dir)); } - if (node->groupingSets != NULL && node->groupingSets->length > 0) { + if (true) { + _fingerprintString(ctx, "sortby_nulls"); + _fingerprintString(ctx, _enumToStringSortByNulls(node->sortby_nulls)); + } + + if (node->useOp != NULL && node->useOp->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupingSets"); + _fingerprintString(ctx, "useOp"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupingSets, node, "groupingSets", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupingSets) == 1 && linitial(node->groupingSets) == NIL)) { + _fingerprintNode(ctx, node->useOp, node, "useOp", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->useOp) == 1 && linitial(node->useOp) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->hasAggs) { - _fingerprintString(ctx, "hasAggs"); - _fingerprintString(ctx, "true"); +} + +static void +_fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->endOffset != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "endOffset"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->hasDistinctOn) { - _fingerprintString(ctx, "hasDistinctOn"); - _fingerprintString(ctx, "true"); + if (node->frameOptions != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->frameOptions); + _fingerprintString(ctx, "frameOptions"); + _fingerprintString(ctx, buffer); } - if (node->hasForUpdate) { - _fingerprintString(ctx, "hasForUpdate"); - _fingerprintString(ctx, "true"); + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->hasModifyingCTE) { - _fingerprintString(ctx, "hasModifyingCTE"); - _fingerprintString(ctx, "true"); + if (node->orderClause != NULL && node->orderClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "orderClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } + if (node->partitionClause != NULL && node->partitionClause->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->hasRecursive) { - _fingerprintString(ctx, "hasRecursive"); - _fingerprintString(ctx, "true"); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "partitionClause"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->refname != NULL) { + _fingerprintString(ctx, "refname"); + _fingerprintString(ctx, node->refname); } - if (node->hasRowSecurity) { - _fingerprintString(ctx, "hasRowSecurity"); + if (node->startOffset != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "startOffset"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->lateral) { + _fingerprintString(ctx, "lateral"); _fingerprintString(ctx, "true"); } - if (node->hasSubLinks) { - _fingerprintString(ctx, "hasSubLinks"); - _fingerprintString(ctx, "true"); - } + if (node->subquery != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "subquery"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->subquery, node, "subquery", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + +} + +static void +_fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "alias"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->coldeflist != NULL && node->coldeflist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->hasTargetSRFs) { - _fingerprintString(ctx, "hasTargetSRFs"); - _fingerprintString(ctx, "true"); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "coldeflist"); - if (node->hasWindowFuncs) { - _fingerprintString(ctx, "hasWindowFuncs"); - _fingerprintString(ctx, "true"); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->havingQual != NULL) { + if (node->functions != NULL && node->functions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "havingQual"); + _fingerprintString(ctx, "functions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->havingQual, node, "havingQual", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->is_rowsfrom) { + _fingerprintString(ctx, "is_rowsfrom"); + _fingerprintString(ctx, "true"); + } - if (node->isReturn) { - _fingerprintString(ctx, "isReturn"); + if (node->lateral) { + _fingerprintString(ctx, "lateral"); _fingerprintString(ctx, "true"); } - if (node->jointree != NULL) { + if (node->ordinality) { + _fingerprintString(ctx, "ordinality"); + _fingerprintString(ctx, "true"); + } + +} + +static void +_fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "jointree"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintFromExpr(ctx, node->jointree, node, "jointree", depth + 1); + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3366,32 +5201,31 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (node->limitCount != NULL) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitCount"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->limitOffset != NULL) { + if (node->docexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitOffset"); + _fingerprintString(ctx, "docexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); + _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3400,41 +5234,38 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "limitOption"); - _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); + if (node->lateral) { + _fingerprintString(ctx, "lateral"); + _fingerprintString(ctx, "true"); } - if (node->mergeActionList != NULL && node->mergeActionList->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->namespaces != NULL && node->namespaces->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "mergeActionList"); + _fingerprintString(ctx, "namespaces"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->mergeActionList, node, "mergeActionList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeActionList) == 1 && linitial(node->mergeActionList) == NIL)) { + _fingerprintNode(ctx, node->namespaces, node, "namespaces", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->namespaces) == 1 && linitial(node->namespaces) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->mergeUseOuterJoin) { - _fingerprintString(ctx, "mergeUseOuterJoin"); - _fingerprintString(ctx, "true"); - } - - if (node->onConflict != NULL) { + if (node->rowexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflict"); + _fingerprintString(ctx, "rowexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintOnConflictExpr(ctx, node->onConflict, node, "onConflict", depth + 1); + _fingerprintNode(ctx, node->rowexpr, node, "rowexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3443,150 +5274,144 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); - } - - if (node->queryId != 0) { - char buffer[50]; - sprintf(buffer, "%ld", node->queryId); - _fingerprintString(ctx, "queryId"); - _fingerprintString(ctx, buffer); - } - - if (true) { - _fingerprintString(ctx, "querySource"); - _fingerprintString(ctx, _enumToStringQuerySource(node->querySource)); - } - - if (node->resultRelation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->resultRelation); - _fingerprintString(ctx, "resultRelation"); - _fingerprintString(ctx, buffer); - } +} - if (node->returningList != NULL && node->returningList->length > 0) { +static void +_fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->coldefexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returningList"); + _fingerprintString(ctx, "coldefexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + _fingerprintNode(ctx, node->coldefexpr, node, "coldefexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rowMarks != NULL && node->rowMarks->length > 0) { + + if (node->colexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rowMarks"); + _fingerprintString(ctx, "colexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rowMarks, node, "rowMarks", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rowMarks) == 1 && linitial(node->rowMarks) == NIL)) { + _fingerprintNode(ctx, node->colexpr, node, "colexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rtable != NULL && node->rtable->length > 0) { + + if (node->colname != NULL) { + _fingerprintString(ctx, "colname"); + _fingerprintString(ctx, node->colname); + } + + if (node->for_ordinality) { + _fingerprintString(ctx, "for_ordinality"); + _fingerprintString(ctx, "true"); + } + + if (node->is_not_null) { + _fingerprintString(ctx, "is_not_null"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rtable"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rtable, node, "rtable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rtable) == 1 && linitial(node->rtable) == NIL)) { + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->setOperations != NULL) { + +} + +static void +_fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "setOperations"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->setOperations, node, "setOperations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->sortClause != NULL && node->sortClause->length > 0) { + if (node->method != NULL && node->method->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sortClause"); + _fingerprintString(ctx, "method"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { + _fingerprintNode(ctx, node->method, node, "method", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->method) == 1 && linitial(node->method) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->stmt_len != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stmt_len); - _fingerprintString(ctx, "stmt_len"); - _fingerprintString(ctx, buffer); - } - - if (node->stmt_location != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stmt_location); - _fingerprintString(ctx, "stmt_location"); - _fingerprintString(ctx, buffer); - } - - if (node->targetList != NULL && node->targetList->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->utilityStmt != NULL) { + + if (node->repeatable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "utilityStmt"); + _fingerprintString(ctx, "repeatable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->utilityStmt, node, "utilityStmt", depth + 1); + _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3595,90 +5420,115 @@ _fingerprintQuery(FingerprintContext *ctx, const Query *node, const void *parent XXH3_freeState(prev); } - if (node->windowClause != NULL && node->windowClause->length > 0) { +} + +static void +_fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "windowClause"); + _fingerprintString(ctx, "collClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { + _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->withCheckOptions != NULL && node->withCheckOptions->length > 0) { + + if (node->collOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->collOid); + _fingerprintString(ctx, "collOid"); + _fingerprintString(ctx, buffer); + } + + if (node->colname != NULL) { + _fingerprintString(ctx, "colname"); + _fingerprintString(ctx, node->colname); + } + + if (node->compression != NULL) { + _fingerprintString(ctx, "compression"); + _fingerprintString(ctx, node->compression); + } + + if (node->constraints != NULL && node->constraints->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withCheckOptions"); + _fingerprintString(ctx, "constraints"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->withCheckOptions, node, "withCheckOptions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->withCheckOptions) == 1 && linitial(node->withCheckOptions) == NIL)) { + _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cols != NULL && node->cols->length > 0) { + if (node->cooked_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cols"); + _fingerprintString(ctx, "cooked_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cols, node, "cols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cols) == 1 && linitial(node->cols) == NIL)) { + _fingerprintNode(ctx, node->cooked_default, node, "cooked_default", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->onConflictClause != NULL) { + + if (node->fdwoptions != NULL && node->fdwoptions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "onConflictClause"); + _fingerprintString(ctx, "fdwoptions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintOnConflictClause(ctx, node->onConflictClause, node, "onConflictClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->fdwoptions, node, "fdwoptions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fdwoptions) == 1 && linitial(node->fdwoptions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->generated != 0) { + char buffer[2] = {node->generated, '\0'}; + _fingerprintString(ctx, "generated"); + _fingerprintString(ctx, buffer); + } - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + if (node->identity != 0) { + char buffer[2] = {node->identity, '\0'}; + _fingerprintString(ctx, "identity"); + _fingerprintString(ctx, buffer); } - if (node->relation != NULL) { + if (node->identitySequence != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "identitySequence"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintRangeVar(ctx, node->identitySequence, node, "identitySequence", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3687,31 +5537,67 @@ _fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const vo XXH3_freeState(prev); } - if (node->returningList != NULL && node->returningList->length > 0) { + if (node->inhcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inhcount); + _fingerprintString(ctx, "inhcount"); + _fingerprintString(ctx, buffer); + } + + if (node->is_from_type) { + _fingerprintString(ctx, "is_from_type"); + _fingerprintString(ctx, "true"); + } + + if (node->is_local) { + _fingerprintString(ctx, "is_local"); + _fingerprintString(ctx, "true"); + } + + if (node->is_not_null) { + _fingerprintString(ctx, "is_not_null"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->raw_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returningList"); + _fingerprintString(ctx, "raw_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + _fingerprintNode(ctx, node->raw_default, node, "raw_default", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->selectStmt != NULL) { + + if (node->storage != 0) { + char buffer[2] = {node->storage, '\0'}; + _fingerprintString(ctx, "storage"); + _fingerprintString(ctx, buffer); + } + + if (node->storage_name != NULL) { + _fingerprintString(ctx, "storage_name"); + _fingerprintString(ctx, node->storage_name); + } + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "selectStmt"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->selectStmt, node, "selectStmt", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3720,15 +5606,27 @@ _fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const vo XXH3_freeState(prev); } - if (node->withClause != NULL) { +} + +static void +_fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->options != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->options); + _fingerprintString(ctx, "options"); + _fingerprintString(ctx, buffer); + } + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withClause"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3737,86 +5635,117 @@ _fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const vo XXH3_freeState(prev); } + if (node->relationOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->relationOid); + _fingerprintString(ctx, "relationOid"); + _fingerprintString(ctx, buffer); + } + } static void -_fingerprintDeleteStmt(FingerprintContext *ctx, const DeleteStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->relation != NULL) { + if (node->collation != NULL && node->collation->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "collation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->returningList != NULL && node->returningList->length > 0) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returningList"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->usingClause != NULL && node->usingClause->length > 0) { + + if (node->indexcolname != NULL) { + _fingerprintString(ctx, "indexcolname"); + _fingerprintString(ctx, node->indexcolname); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (true) { + _fingerprintString(ctx, "nulls_ordering"); + _fingerprintString(ctx, _enumToStringSortByNulls(node->nulls_ordering)); + } + + if (node->opclass != NULL && node->opclass->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "usingClause"); + _fingerprintString(ctx, "opclass"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { + _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->whereClause != NULL) { + if (node->opclassopts != NULL && node->opclassopts->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "opclassopts"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opclassopts, node, "opclassopts", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassopts) == 1 && linitial(node->opclassopts) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "ordering"); + _fingerprintString(ctx, _enumToStringSortByDir(node->ordering)); + } - if (node->withClause != NULL) { +} + +static void +_fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withClause"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3825,36 +5754,68 @@ _fingerprintDeleteStmt(FingerprintContext *ctx, const DeleteStmt *node, const vo XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "defaction"); + _fingerprintString(ctx, _enumToStringDefElemAction(node->defaction)); + } + + if (node->defname != NULL) { + _fingerprintString(ctx, "defname"); + _fingerprintString(ctx, node->defname); + } + + if (node->defnamespace != NULL) { + _fingerprintString(ctx, "defnamespace"); + _fingerprintString(ctx, node->defnamespace); + } + + // Intentionally ignoring node->location for fingerprinting + } static void -_fingerprintUpdateStmt(FingerprintContext *ctx, const UpdateStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->fromClause != NULL && node->fromClause->length > 0) { + if (node->lockedRels != NULL && node->lockedRels->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fromClause"); + _fingerprintString(ctx, "lockedRels"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fromClause, node, "fromClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromClause) == 1 && linitial(node->fromClause) == NIL)) { + _fingerprintNode(ctx, node->lockedRels, node, "lockedRels", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockedRels) == 1 && linitial(node->lockedRels) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + if (true) { + _fingerprintString(ctx, "strength"); + _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); + } + + if (true) { + _fingerprintString(ctx, "waitPolicy"); + _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); + } + +} + +static void +_fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3863,47 +5824,65 @@ _fingerprintUpdateStmt(FingerprintContext *ctx, const UpdateStmt *node, const vo XXH3_freeState(prev); } - if (node->returningList != NULL && node->returningList->length > 0) { + if (node->indent) { + _fingerprintString(ctx, "indent"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returningList"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->targetList != NULL && node->targetList->length > 0) { + + if (true) { + _fingerprintString(ctx, "xmloption"); + _fingerprintString(ctx, _enumToStringXmlOptionType(node->xmloption)); + } + +} + +static void +_fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collation != NULL && node->collation->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "collation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->whereClause != NULL) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -3912,104 +5891,158 @@ _fingerprintUpdateStmt(FingerprintContext *ctx, const UpdateStmt *node, const vo XXH3_freeState(prev); } - if (node->withClause != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->opclass != NULL && node->opclass->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withClause"); + _fingerprintString(ctx, "opclass"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintMergeStmt(FingerprintContext *ctx, const MergeStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->joinCondition != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->partParams != NULL && node->partParams->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinCondition"); + _fingerprintString(ctx, "partParams"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinCondition, node, "joinCondition", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->partParams, node, "partParams", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partParams) == 1 && linitial(node->partParams) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "strategy"); + _fingerprintString(ctx, _enumToStringPartitionStrategy(node->strategy)); + } - if (node->mergeWhenClauses != NULL && node->mergeWhenClauses->length > 0) { +} + +static void +_fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->is_default) { + _fingerprintString(ctx, "is_default"); + _fingerprintString(ctx, "true"); + } + + if (node->listdatums != NULL && node->listdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "mergeWhenClauses"); + _fingerprintString(ctx, "listdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->mergeWhenClauses, node, "mergeWhenClauses", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeWhenClauses) == 1 && linitial(node->mergeWhenClauses) == NIL)) { + _fingerprintNode(ctx, node->listdatums, node, "listdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->listdatums) == 1 && linitial(node->listdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->lowerdatums != NULL && node->lowerdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "lowerdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->lowerdatums, node, "lowerdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lowerdatums) == 1 && linitial(node->lowerdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->modulus != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->modulus); + _fingerprintString(ctx, "modulus"); + _fingerprintString(ctx, buffer); + } - if (node->sourceRelation != NULL) { + if (node->remainder != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->remainder); + _fingerprintString(ctx, "remainder"); + _fingerprintString(ctx, buffer); + } + + if (node->strategy != 0) { + char buffer[2] = {node->strategy, '\0'}; + _fingerprintString(ctx, "strategy"); + _fingerprintString(ctx, buffer); + } + + if (node->upperdatums != NULL && node->upperdatums->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sourceRelation"); + _fingerprintString(ctx, "upperdatums"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->sourceRelation, node, "sourceRelation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->upperdatums, node, "upperdatums", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->upperdatums) == 1 && linitial(node->upperdatums) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->withClause != NULL) { +static void +_fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringPartitionRangeDatumKind(node->kind)); + } + + // Intentionally ignoring node->location for fingerprinting + + if (node->value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withClause"); + _fingerprintString(ctx, "value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + _fingerprintNode(ctx, node->value, node, "value", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4021,126 +6054,155 @@ _fingerprintMergeStmt(FingerprintContext *ctx, const MergeStmt *node, const void } static void -_fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintSinglePartitionSpec(FingerprintContext *ctx, const SinglePartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->all) { - _fingerprintString(ctx, "all"); - _fingerprintString(ctx, "true"); - } +} - if (node->distinctClause != NULL && node->distinctClause->length > 0) { +static void +_fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->bound != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "distinctClause"); + _fingerprintString(ctx, "bound"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { + _fingerprintPartitionBoundSpec(ctx, node->bound, node, "bound", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->fromClause != NULL && node->fromClause->length > 0) { + + if (node->concurrent) { + _fingerprintString(ctx, "concurrent"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fromClause"); + _fingerprintString(ctx, "name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fromClause, node, "fromClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromClause) == 1 && linitial(node->fromClause) == NIL)) { + _fingerprintRangeVar(ctx, node->name, node, "name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupClause != NULL && node->groupClause->length > 0) { + +} + +static void +_fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupClause"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->groupDistinct) { - _fingerprintString(ctx, "groupDistinct"); - _fingerprintString(ctx, "true"); - } - if (node->havingClause != NULL) { + if (node->colcollations != NULL && node->colcollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "havingClause"); + _fingerprintString(ctx, "colcollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->havingClause, node, "havingClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->colcollations, node, "colcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colcollations) == 1 && linitial(node->colcollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->intoClause != NULL) { + if (node->coltypes != NULL && node->coltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "intoClause"); + _fingerprintString(ctx, "coltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintIntoClause(ctx, node->intoClause, node, "intoClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->coltypes, node, "coltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypes) == 1 && linitial(node->coltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->larg != NULL) { + if (node->coltypmods != NULL && node->coltypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "larg"); + _fingerprintString(ctx, "coltypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintSelectStmt(ctx, node->larg, node, "larg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->coltypmods, node, "coltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypmods) == 1 && linitial(node->coltypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->ctelevelsup != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ctelevelsup); + _fingerprintString(ctx, "ctelevelsup"); + _fingerprintString(ctx, buffer); + } - if (node->limitCount != NULL) { + if (node->ctename != NULL) { + _fingerprintString(ctx, "ctename"); + _fingerprintString(ctx, node->ctename); + } + + if (node->enrname != NULL) { + _fingerprintString(ctx, "enrname"); + _fingerprintString(ctx, node->enrname); + } + + if (node->enrtuples != 0) { + char buffer[50]; + sprintf(buffer, "%f", node->enrtuples); + _fingerprintString(ctx, "enrtuples"); + _fingerprintString(ctx, buffer); + } + + if (node->eref != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitCount"); + _fingerprintString(ctx, "eref"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); + _fingerprintAlias(ctx, node->eref, node, "eref", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4149,123 +6211,186 @@ _fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const vo XXH3_freeState(prev); } - if (node->limitOffset != NULL) { + if (node->funcordinality) { + _fingerprintString(ctx, "funcordinality"); + _fingerprintString(ctx, "true"); + } + + if (node->functions != NULL && node->functions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "limitOffset"); + _fingerprintString(ctx, "functions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->inFromCl) { + _fingerprintString(ctx, "inFromCl"); + _fingerprintString(ctx, "true"); + } - if (true) { - _fingerprintString(ctx, "limitOption"); - _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); + if (node->inh) { + _fingerprintString(ctx, "inh"); + _fingerprintString(ctx, "true"); } - if (node->lockingClause != NULL && node->lockingClause->length > 0) { + if (node->join_using_alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lockingClause"); + _fingerprintString(ctx, "join_using_alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lockingClause, node, "lockingClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockingClause) == 1 && linitial(node->lockingClause) == NIL)) { + _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "op"); - _fingerprintString(ctx, _enumToStringSetOperation(node->op)); - } - if (node->rarg != NULL) { + if (node->joinaliasvars != NULL && node->joinaliasvars->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rarg"); + _fingerprintString(ctx, "joinaliasvars"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintSelectStmt(ctx, node->rarg, node, "rarg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->joinaliasvars, node, "joinaliasvars", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinaliasvars) == 1 && linitial(node->joinaliasvars) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->sortClause != NULL && node->sortClause->length > 0) { + if (node->joinleftcols != NULL && node->joinleftcols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sortClause"); + _fingerprintString(ctx, "joinleftcols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { + _fingerprintNode(ctx, node->joinleftcols, node, "joinleftcols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinleftcols) == 1 && linitial(node->joinleftcols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->targetList != NULL && node->targetList->length > 0) { + if (node->joinmergedcols != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->joinmergedcols); + _fingerprintString(ctx, "joinmergedcols"); + _fingerprintString(ctx, buffer); + } + + if (node->joinrightcols != NULL && node->joinrightcols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "joinrightcols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->joinrightcols, node, "joinrightcols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinrightcols) == 1 && linitial(node->joinrightcols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->valuesLists != NULL && node->valuesLists->length > 0) { + if (true) { + _fingerprintString(ctx, "jointype"); + _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); + } + + if (node->lateral) { + _fingerprintString(ctx, "lateral"); + _fingerprintString(ctx, "true"); + } + + if (node->perminfoindex != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->perminfoindex); + _fingerprintString(ctx, "perminfoindex"); + _fingerprintString(ctx, buffer); + } + + if (node->relid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->relid); + _fingerprintString(ctx, "relid"); + _fingerprintString(ctx, buffer); + } + + if (node->relkind != 0) { + char buffer[2] = {node->relkind, '\0'}; + _fingerprintString(ctx, "relkind"); + _fingerprintString(ctx, buffer); + } + + if (node->rellockmode != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rellockmode); + _fingerprintString(ctx, "rellockmode"); + _fingerprintString(ctx, buffer); + } + + if (true) { + _fingerprintString(ctx, "rtekind"); + _fingerprintString(ctx, _enumToStringRTEKind(node->rtekind)); + } + + if (node->securityQuals != NULL && node->securityQuals->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "valuesLists"); + _fingerprintString(ctx, "securityQuals"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->valuesLists, node, "valuesLists", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->valuesLists) == 1 && linitial(node->valuesLists) == NIL)) { + _fingerprintNode(ctx, node->securityQuals, node, "securityQuals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->securityQuals) == 1 && linitial(node->securityQuals) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->whereClause != NULL) { + if (node->security_barrier) { + _fingerprintString(ctx, "security_barrier"); + _fingerprintString(ctx, "true"); + } + + if (node->self_reference) { + _fingerprintString(ctx, "self_reference"); + _fingerprintString(ctx, "true"); + } + + if (node->subquery != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "subquery"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintQuery(ctx, node->subquery, node, "subquery", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4274,31 +6399,32 @@ _fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const vo XXH3_freeState(prev); } - if (node->windowClause != NULL && node->windowClause->length > 0) { + if (node->tablefunc != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "windowClause"); + _fingerprintString(ctx, "tablefunc"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { + _fingerprintTableFunc(ctx, node->tablefunc, node, "tablefunc", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->withClause != NULL) { + + if (node->tablesample != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "withClause"); + _fingerprintString(ctx, "tablesample"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + _fingerprintTableSampleClause(ctx, node->tablesample, node, "tablesample", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4307,120 +6433,183 @@ _fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const vo XXH3_freeState(prev); } -} - -static void -_fingerprintReturnStmt(FingerprintContext *ctx, const ReturnStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->returnval != NULL) { + if (node->values_lists != NULL && node->values_lists->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returnval"); + _fingerprintString(ctx, "values_lists"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->returnval, node, "returnval", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->values_lists, node, "values_lists", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values_lists) == 1 && linitial(node->values_lists) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} + +static void +_fingerprintRTEPermissionInfo(FingerprintContext *ctx, const RTEPermissionInfo *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->checkAsUser != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->checkAsUser); + _fingerprintString(ctx, "checkAsUser"); + _fingerprintString(ctx, buffer); + } + + if (node->inh) { + _fingerprintString(ctx, "inh"); + _fingerprintString(ctx, "true"); + } + + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->insertedCols); + + _fingerprintString(ctx, "insertedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + + if (node->relid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->relid); + _fingerprintString(ctx, "relid"); + _fingerprintString(ctx, buffer); + } + + if (node->requiredPerms != 0) { + char buffer[50]; + sprintf(buffer, UINT64_FORMAT, node->requiredPerms); + _fingerprintString(ctx, "requiredPerms"); + _fingerprintString(ctx, buffer); + } + + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->selectedCols); + + _fingerprintString(ctx, "selectedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->updatedCols); + + _fingerprintString(ctx, "updatedCols"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } } static void -_fingerprintPLAssignStmt(FingerprintContext *ctx, const PLAssignStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->indirection != NULL && node->indirection->length > 0) { + if (node->funccolcollations != NULL && node->funccolcollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indirection"); + _fingerprintString(ctx, "funccolcollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { + _fingerprintNode(ctx, node->funccolcollations, node, "funccolcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolcollations) == 1 && linitial(node->funccolcollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - - if (node->nnames != 0) { + if (node->funccolcount != 0) { char buffer[50]; - sprintf(buffer, "%d", node->nnames); - _fingerprintString(ctx, "nnames"); + sprintf(buffer, "%d", node->funccolcount); + _fingerprintString(ctx, "funccolcount"); _fingerprintString(ctx, buffer); } - if (node->val != NULL) { + if (node->funccolnames != NULL && node->funccolnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "val"); + _fingerprintString(ctx, "funccolnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintSelectStmt(ctx, node->val, node, "val", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funccolnames, node, "funccolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolnames) == 1 && linitial(node->funccolnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintAlterTableStmt(FingerprintContext *ctx, const AlterTableStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cmds != NULL && node->cmds->length > 0) { + if (node->funccoltypes != NULL && node->funccoltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cmds"); + _fingerprintString(ctx, "funccoltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cmds, node, "cmds", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cmds) == 1 && linitial(node->cmds) == NIL)) { + _fingerprintNode(ctx, node->funccoltypes, node, "funccoltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypes) == 1 && linitial(node->funccoltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } + if (node->funccoltypmods != NULL && node->funccoltypmods->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "funccoltypmods"); - if (node->relation != NULL) { + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->funccoltypmods, node, "funccoltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypmods) == 1 && linitial(node->funccoltypmods) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->funcexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "funcexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintNode(ctx, node->funcexpr, node, "funcexpr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4429,52 +6618,51 @@ _fingerprintAlterTableStmt(FingerprintContext *ctx, const AlterTableStmt *node, XXH3_freeState(prev); } + if (true) { + int x = -1; + Bitmapset *bms = bms_copy(node->funcparams); + + _fingerprintString(ctx, "funcparams"); + + while ((x = bms_next_member(bms, x)) >= 0) { + char buffer[50]; + sprintf(buffer, "%d", x); + _fingerprintString(ctx, buffer); + } + + bms_free(bms); + } + } static void -_fingerprintAlterTableCmd(FingerprintContext *ctx, const AlterTableCmd *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); - } - - if (node->def != NULL) { + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "def"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->def, node, "def", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - - if (node->newowner != NULL) { + if (node->repeatable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "newowner"); + _fingerprintString(ctx, "repeatable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->newowner, node, "newowner", depth + 1); + _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4483,42 +6671,42 @@ _fingerprintAlterTableCmd(FingerprintContext *ctx, const AlterTableCmd *node, co XXH3_freeState(prev); } - if (node->num != 0) { + if (node->tsmhandler != 0) { char buffer[50]; - sprintf(buffer, "%d", node->num); - _fingerprintString(ctx, "num"); + sprintf(buffer, "%d", node->tsmhandler); + _fingerprintString(ctx, "tsmhandler"); _fingerprintString(ctx, buffer); } - if (node->recurse) { - _fingerprintString(ctx, "recurse"); +} + +static void +_fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cascaded) { + _fingerprintString(ctx, "cascaded"); _fingerprintString(ctx, "true"); } if (true) { - _fingerprintString(ctx, "subtype"); - _fingerprintString(ctx, _enumToStringAlterTableType(node->subtype)); + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringWCOKind(node->kind)); } -} - -static void -_fingerprintAlterDomainStmt(FingerprintContext *ctx, const AlterDomainStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + if (node->polname != NULL) { + _fingerprintString(ctx, "polname"); + _fingerprintString(ctx, node->polname); } - if (node->def != NULL) { + if (node->qual != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "def"); + _fingerprintString(ctx, "qual"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->def, node, "def", depth + 1); + _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4527,143 +6715,191 @@ _fingerprintAlterDomainStmt(FingerprintContext *ctx, const AlterDomainStmt *node XXH3_freeState(prev); } - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); + if (node->relname != NULL) { + _fingerprintString(ctx, "relname"); + _fingerprintString(ctx, node->relname); + } + +} + +static void +_fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->eqop != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->eqop); + _fingerprintString(ctx, "eqop"); + _fingerprintString(ctx, buffer); + } + + if (node->hashable) { + _fingerprintString(ctx, "hashable"); _fingerprintString(ctx, "true"); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->nulls_first) { + _fingerprintString(ctx, "nulls_first"); + _fingerprintString(ctx, "true"); } - if (node->subtype != 0) { - char buffer[2] = {node->subtype, '\0'}; - _fingerprintString(ctx, "subtype"); + if (node->sortop != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->sortop); + _fingerprintString(ctx, "sortop"); _fingerprintString(ctx, buffer); } - if (node->typeName != NULL && node->typeName->length > 0) { + if (node->tleSortGroupRef != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->tleSortGroupRef); + _fingerprintString(ctx, "tleSortGroupRef"); + _fingerprintString(ctx, buffer); + } + +} + +static void +_fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->content != NULL && node->content->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "content"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { + _fingerprintNode(ctx, node->content, node, "content", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->content) == 1 && linitial(node->content) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringGroupingSetKind(node->kind)); + } + + // Intentionally ignoring node->location for fingerprinting + } static void -_fingerprintSetOperationStmt(FingerprintContext *ctx, const SetOperationStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->all) { - _fingerprintString(ctx, "all"); + if (node->copiedOrder) { + _fingerprintString(ctx, "copiedOrder"); _fingerprintString(ctx, "true"); } - if (node->colCollations != NULL && node->colCollations->length > 0) { + if (node->endInRangeFunc != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->endInRangeFunc); + _fingerprintString(ctx, "endInRangeFunc"); + _fingerprintString(ctx, buffer); + } + + if (node->endOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colCollations"); + _fingerprintString(ctx, "endOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colCollations, node, "colCollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colCollations) == 1 && linitial(node->colCollations) == NIL)) { + _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->colTypes != NULL && node->colTypes->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colTypes"); + if (node->frameOptions != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->frameOptions); + _fingerprintString(ctx, "frameOptions"); + _fingerprintString(ctx, buffer); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colTypes, node, "colTypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colTypes) == 1 && linitial(node->colTypes) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->inRangeAsc) { + _fingerprintString(ctx, "inRangeAsc"); + _fingerprintString(ctx, "true"); } - if (node->colTypmods != NULL && node->colTypmods->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colTypmods"); + if (node->inRangeColl != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inRangeColl); + _fingerprintString(ctx, "inRangeColl"); + _fingerprintString(ctx, buffer); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colTypmods, node, "colTypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colTypmods) == 1 && linitial(node->colTypmods) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->inRangeNullsFirst) { + _fingerprintString(ctx, "inRangeNullsFirst"); + _fingerprintString(ctx, "true"); } - if (node->groupClauses != NULL && node->groupClauses->length > 0) { + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->orderClause != NULL && node->orderClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "groupClauses"); + _fingerprintString(ctx, "orderClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->groupClauses, node, "groupClauses", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClauses) == 1 && linitial(node->groupClauses) == NIL)) { + _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->larg != NULL) { + if (node->partitionClause != NULL && node->partitionClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "larg"); + _fingerprintString(ctx, "partitionClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->refname != NULL) { + _fingerprintString(ctx, "refname"); + _fingerprintString(ctx, node->refname); + } - if (true) { - _fingerprintString(ctx, "op"); - _fingerprintString(ctx, _enumToStringSetOperation(node->op)); + if (node->startInRangeFunc != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->startInRangeFunc); + _fingerprintString(ctx, "startInRangeFunc"); + _fingerprintString(ctx, buffer); } - if (node->rarg != NULL) { + if (node->startOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rarg"); + _fingerprintString(ctx, "startOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); + _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4672,157 +6908,167 @@ _fingerprintSetOperationStmt(FingerprintContext *ctx, const SetOperationStmt *no XXH3_freeState(prev); } + if (node->winref != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->winref); + _fingerprintString(ctx, "winref"); + _fingerprintString(ctx, buffer); + } + } static void -_fingerprintGrantStmt(FingerprintContext *ctx, const GrantStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); - } - - if (node->grant_option) { - _fingerprintString(ctx, "grant_option"); + if (node->pushedDown) { + _fingerprintString(ctx, "pushedDown"); _fingerprintString(ctx, "true"); } - if (node->grantees != NULL && node->grantees->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (node->rti != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->rti); + _fingerprintString(ctx, "rti"); + _fingerprintString(ctx, buffer); + } - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "grantees"); + if (true) { + _fingerprintString(ctx, "strength"); + _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->grantees, node, "grantees", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->grantees) == 1 && linitial(node->grantees) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (true) { + _fingerprintString(ctx, "waitPolicy"); + _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); } - if (node->grantor != NULL) { + +} + +static void +_fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->ctes != NULL && node->ctes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "grantor"); + _fingerprintString(ctx, "ctes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->grantor, node, "grantor", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctes, node, "ctes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctes) == 1 && linitial(node->ctes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->is_grant) { - _fingerprintString(ctx, "is_grant"); + if (node->recursive) { + _fingerprintString(ctx, "recursive"); _fingerprintString(ctx, "true"); } - if (node->objects != NULL && node->objects->length > 0) { +} + +static void +_fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->conname != NULL) { + _fingerprintString(ctx, "conname"); + _fingerprintString(ctx, node->conname); + } + + if (node->indexElems != NULL && node->indexElems->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "objects"); + _fingerprintString(ctx, "indexElems"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->objects, node, "objects", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objects) == 1 && linitial(node->objects) == NIL)) { + _fingerprintNode(ctx, node->indexElems, node, "indexElems", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexElems) == 1 && linitial(node->indexElems) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); - } + // Intentionally ignoring node->location for fingerprinting - if (node->privileges != NULL && node->privileges->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "privileges"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->privileges, node, "privileges", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->privileges) == 1 && linitial(node->privileges) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "targtype"); - _fingerprintString(ctx, _enumToStringGrantTargetType(node->targtype)); - } } static void -_fingerprintGrantRoleStmt(FingerprintContext *ctx, const GrantRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->admin_opt) { - _fingerprintString(ctx, "admin_opt"); - _fingerprintString(ctx, "true"); - } - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); } - if (node->granted_roles != NULL && node->granted_roles->length > 0) { + if (node->infer != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "granted_roles"); + _fingerprintString(ctx, "infer"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->granted_roles, node, "granted_roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->granted_roles) == 1 && linitial(node->granted_roles) == NIL)) { + _fingerprintInferClause(ctx, node->infer, node, "infer", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->grantee_roles != NULL && node->grantee_roles->length > 0) { + + // Intentionally ignoring node->location for fingerprinting + + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "grantee_roles"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->grantee_roles, node, "grantee_roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->grantee_roles) == 1 && linitial(node->grantee_roles) == NIL)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->grantor != NULL) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "grantor"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->grantor, node, "grantor", depth + 1); + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4831,91 +7077,81 @@ _fingerprintGrantRoleStmt(FingerprintContext *ctx, const GrantRoleStmt *node, co XXH3_freeState(prev); } - if (node->is_grant) { - _fingerprintString(ctx, "is_grant"); - _fingerprintString(ctx, "true"); - } - } static void -_fingerprintAlterDefaultPrivilegesStmt(FingerprintContext *ctx, const AlterDefaultPrivilegesStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->action != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "action"); + // Intentionally ignoring node->location for fingerprinting - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintGrantStmt(ctx, node->action, node, "action", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->search_breadth_first) { + _fingerprintString(ctx, "search_breadth_first"); + _fingerprintString(ctx, "true"); } - if (node->options != NULL && node->options->length > 0) { + if (node->search_col_list != NULL && node->search_col_list->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "search_col_list"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->search_col_list, node, "search_col_list", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->search_col_list) == 1 && linitial(node->search_col_list) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintClosePortalStmt(FingerprintContext *ctx, const ClosePortalStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->portalname for fingerprinting + if (node->search_seq_column != NULL) { + _fingerprintString(ctx, "search_seq_column"); + _fingerprintString(ctx, node->search_seq_column); + } } static void -_fingerprintClusterStmt(FingerprintContext *ctx, const ClusterStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->indexname != NULL) { - _fingerprintString(ctx, "indexname"); - _fingerprintString(ctx, node->indexname); - } - - if (node->params != NULL && node->params->length > 0) { + if (node->cycle_col_list != NULL && node->cycle_col_list->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "params"); + _fingerprintString(ctx, "cycle_col_list"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->params, node, "params", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { + _fingerprintNode(ctx, node->cycle_col_list, node, "cycle_col_list", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cycle_col_list) == 1 && linitial(node->cycle_col_list) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + if (node->cycle_mark_collation != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_collation); + _fingerprintString(ctx, "cycle_mark_collation"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_mark_column != NULL) { + _fingerprintString(ctx, "cycle_mark_column"); + _fingerprintString(ctx, node->cycle_mark_column); + } + + if (node->cycle_mark_default != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "cycle_mark_default"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintNode(ctx, node->cycle_mark_default, node, "cycle_mark_default", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -4924,165 +7160,203 @@ _fingerprintClusterStmt(FingerprintContext *ctx, const ClusterStmt *node, const XXH3_freeState(prev); } -} + if (node->cycle_mark_neop != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_neop); + _fingerprintString(ctx, "cycle_mark_neop"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintCopyStmt(FingerprintContext *ctx, const CopyStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->attlist != NULL && node->attlist->length > 0) { + if (node->cycle_mark_type != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_type); + _fingerprintString(ctx, "cycle_mark_type"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_mark_typmod != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cycle_mark_typmod); + _fingerprintString(ctx, "cycle_mark_typmod"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_mark_value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "attlist"); + _fingerprintString(ctx, "cycle_mark_value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->attlist, node, "attlist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->attlist) == 1 && linitial(node->attlist) == NIL)) { + _fingerprintNode(ctx, node->cycle_mark_value, node, "cycle_mark_value", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->filename != NULL) { - _fingerprintString(ctx, "filename"); - _fingerprintString(ctx, node->filename); - } - if (node->is_from) { - _fingerprintString(ctx, "is_from"); - _fingerprintString(ctx, "true"); + if (node->cycle_path_column != NULL) { + _fingerprintString(ctx, "cycle_path_column"); + _fingerprintString(ctx, node->cycle_path_column); } - if (node->is_program) { - _fingerprintString(ctx, "is_program"); - _fingerprintString(ctx, "true"); + // Intentionally ignoring node->location for fingerprinting + +} + +static void +_fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->aliascolnames != NULL && node->aliascolnames->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "aliascolnames"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->aliascolnames, node, "aliascolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliascolnames) == 1 && linitial(node->aliascolnames) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->options != NULL && node->options->length > 0) { + if (node->ctecolcollations != NULL && node->ctecolcollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "ctecolcollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->ctecolcollations, node, "ctecolcollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolcollations) == 1 && linitial(node->ctecolcollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->query != NULL) { + if (node->ctecolnames != NULL && node->ctecolnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "ctecolnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctecolnames, node, "ctecolnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolnames) == 1 && linitial(node->ctecolnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->relation != NULL) { + if (node->ctecoltypes != NULL && node->ctecoltypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "ctecoltypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctecoltypes, node, "ctecoltypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypes) == 1 && linitial(node->ctecoltypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->whereClause != NULL) { + if (node->ctecoltypmods != NULL && node->ctecoltypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "ctecoltypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->ctecoltypmods, node, "ctecoltypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypmods) == 1 && linitial(node->ctecoltypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "ctematerialized"); + _fingerprintString(ctx, _enumToStringCTEMaterialize(node->ctematerialized)); + } -} - -static void -_fingerprintCreateStmt(FingerprintContext *ctx, const CreateStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->accessMethod != NULL) { - _fingerprintString(ctx, "accessMethod"); - _fingerprintString(ctx, node->accessMethod); + if (node->ctename != NULL) { + _fingerprintString(ctx, "ctename"); + _fingerprintString(ctx, node->ctename); } - if (node->constraints != NULL && node->constraints->length > 0) { + if (node->ctequery != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraints"); + _fingerprintString(ctx, "ctequery"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { + _fingerprintNode(ctx, node->ctequery, node, "ctequery", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); + + if (node->cterecursive) { + _fingerprintString(ctx, "cterecursive"); _fingerprintString(ctx, "true"); } - if (node->inhRelations != NULL && node->inhRelations->length > 0) { + if (node->cterefcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->cterefcount); + _fingerprintString(ctx, "cterefcount"); + _fingerprintString(ctx, buffer); + } + + if (node->cycle_clause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "inhRelations"); + _fingerprintString(ctx, "cycle_clause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->inhRelations, node, "inhRelations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->inhRelations) == 1 && linitial(node->inhRelations) == NIL)) { + _fingerprintCTECycleClause(ctx, node->cycle_clause, node, "cycle_clause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ofTypename != NULL) { + + // Intentionally ignoring node->location for fingerprinting + + if (node->search_clause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ofTypename"); + _fingerprintString(ctx, "search_clause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->ofTypename, node, "ofTypename", depth + 1); + _fingerprintCTESearchClause(ctx, node->search_clause, node, "search_clause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5091,70 +7365,109 @@ _fingerprintCreateStmt(FingerprintContext *ctx, const CreateStmt *node, const vo XXH3_freeState(prev); } +} + +static void +_fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth) +{ if (true) { - _fingerprintString(ctx, "oncommit"); - _fingerprintString(ctx, _enumToStringOnCommitAction(node->oncommit)); + _fingerprintString(ctx, "commandType"); + _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); } - if (node->options != NULL && node->options->length > 0) { + if (node->condition != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "condition"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->condition, node, "condition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->partbound != NULL) { + + if (true) { + _fingerprintString(ctx, "matchKind"); + _fingerprintString(ctx, _enumToStringMergeMatchKind(node->matchKind)); + } + + if (true) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); + } + + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partbound"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintPartitionBoundSpec(ctx, node->partbound, node, "partbound", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->partspec != NULL) { + if (node->values != NULL && node->values->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partspec"); + _fingerprintString(ctx, "values"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintPartitionSpec(ctx, node->partspec, node, "partspec", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->values, node, "values", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values) == 1 && linitial(node->values) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} + +static void +_fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->isNew) { + _fingerprintString(ctx, "isNew"); + _fingerprintString(ctx, "true"); + } - if (node->relation != NULL) { + if (node->isTable) { + _fingerprintString(ctx, "isTable"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + +} + +static void +_fingerprintJsonOutput(FingerprintContext *ctx, const JsonOutput *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->returning != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "returning"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintJsonReturning(ctx, node->returning, node, "returning", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5163,191 +7476,160 @@ _fingerprintCreateStmt(FingerprintContext *ctx, const CreateStmt *node, const vo XXH3_freeState(prev); } - if (node->tableElts != NULL && node->tableElts->length > 0) { + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tableElts"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->tableElts, node, "tableElts", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->tableElts) == 1 && linitial(node->tableElts) == NIL)) { + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->tablespacename != NULL) { - _fingerprintString(ctx, "tablespacename"); - _fingerprintString(ctx, node->tablespacename); - } } static void -_fingerprintDefineStmt(FingerprintContext *ctx, const DefineStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonArgument(FingerprintContext *ctx, const JsonArgument *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->args != NULL && node->args->length > 0) { + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->val != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "val"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->val, node, "val", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->definition != NULL && node->definition->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "definition"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->definition, node, "definition", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->definition) == 1 && linitial(node->definition) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +static void +_fingerprintJsonFuncExpr(FingerprintContext *ctx, const JsonFuncExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->column_name != NULL) { + _fingerprintString(ctx, "column_name"); + _fingerprintString(ctx, node->column_name); } - if (node->defnames != NULL && node->defnames->length > 0) { + + if (node->context_item != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "defnames"); + _fingerprintString(ctx, "context_item"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->context_item, node, "context_item", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringObjectType(node->kind)); - } - - if (node->oldstyle) { - _fingerprintString(ctx, "oldstyle"); - _fingerprintString(ctx, "true"); - } - - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); - } -} + // Intentionally ignoring node->location for fingerprinting -static void -_fingerprintDropStmt(FingerprintContext *ctx, const DropStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); - } + if (node->on_empty != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->concurrent) { - _fingerprintString(ctx, "concurrent"); - _fingerprintString(ctx, "true"); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "on_empty"); - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->objects != NULL && node->objects->length > 0) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "objects"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->objects, node, "objects", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objects) == 1 && linitial(node->objects) == NIL)) { + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "removeType"); - _fingerprintString(ctx, _enumToStringObjectType(node->removeType)); - } - -} -static void -_fingerprintTruncateStmt(FingerprintContext *ctx, const TruncateStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringJsonExprOp(node->op)); } - if (node->relations != NULL && node->relations->length > 0) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relations"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->restart_seqs) { - _fingerprintString(ctx, "restart_seqs"); - _fingerprintString(ctx, "true"); - } -} + if (node->passing != NULL && node->passing->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -static void -_fingerprintCommentStmt(FingerprintContext *ctx, const CommentStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->comment != NULL) { - _fingerprintString(ctx, "comment"); - _fingerprintString(ctx, node->comment); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passing"); - if (node->object != NULL) { + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passing, node, "passing", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing) == 1 && linitial(node->passing) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); + _fingerprintNode(ctx, node->pathspec, node, "pathspec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5357,190 +7639,117 @@ _fingerprintCommentStmt(FingerprintContext *ctx, const CommentStmt *node, const } if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + _fingerprintString(ctx, "quotes"); + _fingerprintString(ctx, _enumToStringJsonQuotes(node->quotes)); } -} - -static void -_fingerprintFetchStmt(FingerprintContext *ctx, const FetchStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ if (true) { - _fingerprintString(ctx, "direction"); - _fingerprintString(ctx, _enumToStringFetchDirection(node->direction)); - } - - if (node->howMany != 0) { - char buffer[50]; - sprintf(buffer, "%ld", node->howMany); - _fingerprintString(ctx, "howMany"); - _fingerprintString(ctx, buffer); - } - - if (node->ismove) { - _fingerprintString(ctx, "ismove"); - _fingerprintString(ctx, "true"); + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); } - // Intentionally ignoring node->portalname for fingerprinting - } static void -_fingerprintIndexStmt(FingerprintContext *ctx, const IndexStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTablePathSpec(FingerprintContext *ctx, const JsonTablePathSpec *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->accessMethod != NULL) { - _fingerprintString(ctx, "accessMethod"); - _fingerprintString(ctx, node->accessMethod); - } + // Intentionally ignoring node->location for fingerprinting - if (node->concurrent) { - _fingerprintString(ctx, "concurrent"); - _fingerprintString(ctx, "true"); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->deferrable) { - _fingerprintString(ctx, "deferrable"); - _fingerprintString(ctx, "true"); - } + // Intentionally ignoring node->name_location for fingerprinting - if (node->excludeOpNames != NULL && node->excludeOpNames->length > 0) { + if (node->string != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "excludeOpNames"); + _fingerprintString(ctx, "string"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->excludeOpNames, node, "excludeOpNames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->excludeOpNames) == 1 && linitial(node->excludeOpNames) == NIL)) { + _fingerprintNode(ctx, node->string, node, "string", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->idxcomment != NULL) { - _fingerprintString(ctx, "idxcomment"); - _fingerprintString(ctx, node->idxcomment); - } - - if (node->idxname != NULL) { - _fingerprintString(ctx, "idxname"); - _fingerprintString(ctx, node->idxname); - } - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); - _fingerprintString(ctx, "true"); - } +} - if (node->indexIncludingParams != NULL && node->indexIncludingParams->length > 0) { +static void +_fingerprintJsonTable(FingerprintContext *ctx, const JsonTable *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->alias != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indexIncludingParams"); + _fingerprintString(ctx, "alias"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indexIncludingParams, node, "indexIncludingParams", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexIncludingParams) == 1 && linitial(node->indexIncludingParams) == NIL)) { + _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->indexOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->indexOid); - _fingerprintString(ctx, "indexOid"); - _fingerprintString(ctx, buffer); - } - if (node->indexParams != NULL && node->indexParams->length > 0) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indexParams"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indexParams, node, "indexParams", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexParams) == 1 && linitial(node->indexParams) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->initdeferred) { - _fingerprintString(ctx, "initdeferred"); - _fingerprintString(ctx, "true"); - } - - if (node->isconstraint) { - _fingerprintString(ctx, "isconstraint"); - _fingerprintString(ctx, "true"); - } - - if (node->nulls_not_distinct) { - _fingerprintString(ctx, "nulls_not_distinct"); - _fingerprintString(ctx, "true"); - } - - if (node->oldCreateSubid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->oldCreateSubid); - _fingerprintString(ctx, "oldCreateSubid"); - _fingerprintString(ctx, buffer); - } - - if (node->oldFirstRelfilenodeSubid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->oldFirstRelfilenodeSubid); - _fingerprintString(ctx, "oldFirstRelfilenodeSubid"); - _fingerprintString(ctx, buffer); - } - - if (node->oldNode != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->oldNode); - _fingerprintString(ctx, "oldNode"); - _fingerprintString(ctx, buffer); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->context_item != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "context_item"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->context_item, node, "context_item", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->primary) { - _fingerprintString(ctx, "primary"); + + if (node->lateral) { + _fingerprintString(ctx, "lateral"); _fingerprintString(ctx, "true"); } - if (node->relation != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5549,35 +7758,31 @@ _fingerprintIndexStmt(FingerprintContext *ctx, const IndexStmt *node, const void XXH3_freeState(prev); } - if (node->reset_default_tblspc) { - _fingerprintString(ctx, "reset_default_tblspc"); - _fingerprintString(ctx, "true"); - } - - if (node->tableSpace != NULL) { - _fingerprintString(ctx, "tableSpace"); - _fingerprintString(ctx, node->tableSpace); - } + if (node->passing != NULL && node->passing->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->transformed) { - _fingerprintString(ctx, "transformed"); - _fingerprintString(ctx, "true"); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "passing"); - if (node->unique) { - _fingerprintString(ctx, "unique"); - _fingerprintString(ctx, "true"); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->passing, node, "passing", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->passing) == 1 && linitial(node->passing) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->whereClause != NULL) { + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintJsonTablePathSpec(ctx, node->pathspec, node, "pathspec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5589,61 +7794,62 @@ _fingerprintIndexStmt(FingerprintContext *ctx, const IndexStmt *node, const void } static void -_fingerprintCreateFunctionStmt(FingerprintContext *ctx, const CreateFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonTableColumn(FingerprintContext *ctx, const JsonTableColumn *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->funcname != NULL && node->funcname->length > 0) { + if (true) { + _fingerprintString(ctx, "coltype"); + _fingerprintString(ctx, _enumToStringJsonTableColumnType(node->coltype)); + } + + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcname"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->is_procedure) { - _fingerprintString(ctx, "is_procedure"); - _fingerprintString(ctx, "true"); - } - - // Intentionally ignoring node->options for fingerprinting - - if (node->parameters != NULL && node->parameters->length > 0) { + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "parameters"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->parameters, node, "parameters", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->parameters) == 1 && linitial(node->parameters) == NIL)) { + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); + + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->returnType != NULL) { + if (node->on_empty != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "returnType"); + _fingerprintString(ctx, "on_empty"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->returnType, node, "returnType", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_empty, node, "on_empty", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5652,53 +7858,54 @@ _fingerprintCreateFunctionStmt(FingerprintContext *ctx, const CreateFunctionStmt XXH3_freeState(prev); } - if (node->sql_body != NULL) { + if (node->on_error != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sql_body"); + _fingerprintString(ctx, "on_error"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->sql_body, node, "sql_body", depth + 1); + _fingerprintJsonBehavior(ctx, node->on_error, node, "on_error", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } - XXH3_freeState(prev); - } - -} - -static void -_fingerprintAlterFunctionStmt(FingerprintContext *ctx, const AlterFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->actions != NULL && node->actions->length > 0) { + XXH3_freeState(prev); + } + + if (node->pathspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "actions"); + _fingerprintString(ctx, "pathspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->actions, node, "actions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->actions) == 1 && linitial(node->actions) == NIL)) { + _fingerprintJsonTablePathSpec(ctx, node->pathspec, node, "pathspec", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->func != NULL) { + + if (true) { + _fingerprintString(ctx, "quotes"); + _fingerprintString(ctx, _enumToStringJsonQuotes(node->quotes)); + } + + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "func"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->func, node, "func", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5708,46 +7915,24 @@ _fingerprintAlterFunctionStmt(FingerprintContext *ctx, const AlterFunctionStmt * } if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + _fingerprintString(ctx, "wrapper"); + _fingerprintString(ctx, _enumToStringJsonWrapper(node->wrapper)); } } static void -_fingerprintDoStmt(FingerprintContext *ctx, const DoStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->args for fingerprinting - -} - -static void -_fingerprintRenameStmt(FingerprintContext *ctx, const RenameStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonKeyValue(FingerprintContext *ctx, const JsonKeyValue *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); - } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->newname != NULL) { - _fingerprintString(ctx, "newname"); - _fingerprintString(ctx, node->newname); - } - - if (node->object != NULL) { + if (node->key != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "key"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); + _fingerprintNode(ctx, node->key, node, "key", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5756,15 +7941,15 @@ _fingerprintRenameStmt(FingerprintContext *ctx, const RenameStmt *node, const vo XXH3_freeState(prev); } - if (node->relation != NULL) { + if (node->value != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "value"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintJsonValueExpr(ctx, node->value, node, "value", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5773,61 +7958,39 @@ _fingerprintRenameStmt(FingerprintContext *ctx, const RenameStmt *node, const vo XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "relationType"); - _fingerprintString(ctx, _enumToStringObjectType(node->relationType)); - } - - if (true) { - _fingerprintString(ctx, "renameType"); - _fingerprintString(ctx, _enumToStringObjectType(node->renameType)); - } - - if (node->subname != NULL) { - _fingerprintString(ctx, "subname"); - _fingerprintString(ctx, node->subname); - } - } static void -_fingerprintRuleStmt(FingerprintContext *ctx, const RuleStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonParseExpr(FingerprintContext *ctx, const JsonParseExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->actions != NULL && node->actions->length > 0) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "actions"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->actions, node, "actions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->actions) == 1 && linitial(node->actions) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "event"); - _fingerprintString(ctx, _enumToStringCmdType(node->event)); - } - if (node->instead) { - _fingerprintString(ctx, "instead"); - _fingerprintString(ctx, "true"); - } + // Intentionally ignoring node->location for fingerprinting - if (node->relation != NULL) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5836,25 +7999,25 @@ _fingerprintRuleStmt(FingerprintContext *ctx, const RuleStmt *node, const void * XXH3_freeState(prev); } - if (node->replace) { - _fingerprintString(ctx, "replace"); + if (node->unique_keys) { + _fingerprintString(ctx, "unique_keys"); _fingerprintString(ctx, "true"); } - if (node->rulename != NULL) { - _fingerprintString(ctx, "rulename"); - _fingerprintString(ctx, node->rulename); - } +} - if (node->whereClause != NULL) { +static void +_fingerprintJsonScalarExpr(FingerprintContext *ctx, const JsonScalarExpr *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5863,121 +8026,103 @@ _fingerprintRuleStmt(FingerprintContext *ctx, const RuleStmt *node, const void * XXH3_freeState(prev); } -} - -static void -_fingerprintNotifyStmt(FingerprintContext *ctx, const NotifyStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->conditionname for fingerprinting - - if (node->payload != NULL) { - _fingerprintString(ctx, "payload"); - _fingerprintString(ctx, node->payload); - } - -} - -static void -_fingerprintListenStmt(FingerprintContext *ctx, const ListenStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->conditionname for fingerprinting - -} - -static void -_fingerprintUnlistenStmt(FingerprintContext *ctx, const UnlistenStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->conditionname for fingerprinting - -} + // Intentionally ignoring node->location for fingerprinting -static void -_fingerprintTransactionStmt(FingerprintContext *ctx, const TransactionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->chain) { - _fingerprintString(ctx, "chain"); - _fingerprintString(ctx, "true"); - } + if (node->output != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - // Intentionally ignoring node->gid for fingerprinting + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "output"); - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringTransactionStmtKind(node->kind)); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - // Intentionally ignoring node->options for fingerprinting - - // Intentionally ignoring node->savepoint_name for fingerprinting - } static void -_fingerprintViewStmt(FingerprintContext *ctx, const ViewStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonSerializeExpr(FingerprintContext *ctx, const JsonSerializeExpr *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->aliases != NULL && node->aliases->length > 0) { + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "aliases"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->aliases, node, "aliases", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliases) == 1 && linitial(node->aliases) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->options != NULL && node->options->length > 0) { + + // Intentionally ignoring node->location for fingerprinting + + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->query != NULL) { + +} + +static void +_fingerprintJsonObjectConstructor(FingerprintContext *ctx, const JsonObjectConstructor *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); + _fingerprintString(ctx, "true"); + } + + if (node->exprs != NULL && node->exprs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "exprs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->exprs, node, "exprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exprs) == 1 && linitial(node->exprs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); - } - - if (node->view != NULL) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "view"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->view, node, "view", depth + 1); + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -5986,221 +8131,185 @@ _fingerprintViewStmt(FingerprintContext *ctx, const ViewStmt *node, const void * XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "withCheckOption"); - _fingerprintString(ctx, _enumToStringViewCheckOption(node->withCheckOption)); + if (node->unique) { + _fingerprintString(ctx, "unique"); + _fingerprintString(ctx, "true"); } } static void -_fingerprintLoadStmt(FingerprintContext *ctx, const LoadStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonArrayConstructor(FingerprintContext *ctx, const JsonArrayConstructor *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->filename != NULL) { - _fingerprintString(ctx, "filename"); - _fingerprintString(ctx, node->filename); + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); + _fingerprintString(ctx, "true"); } -} - -static void -_fingerprintCreateDomainStmt(FingerprintContext *ctx, const CreateDomainStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collClause != NULL) { + if (node->exprs != NULL && node->exprs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collClause"); + _fingerprintString(ctx, "exprs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->exprs, node, "exprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exprs) == 1 && linitial(node->exprs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + // Intentionally ignoring node->location for fingerprinting - if (node->constraints != NULL && node->constraints->length > 0) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraints"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->domainname != NULL && node->domainname->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "domainname"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->domainname, node, "domainname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->domainname) == 1 && linitial(node->domainname) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +static void +_fingerprintJsonArrayQueryConstructor(FingerprintContext *ctx, const JsonArrayQueryConstructor *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); + _fingerprintString(ctx, "true"); } - if (node->typeName != NULL) { + + if (node->format != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "format"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + _fingerprintJsonFormat(ctx, node->format, node, "format", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } - XXH3_freeState(prev); - } - -} - -static void -_fingerprintCreatedbStmt(FingerprintContext *ctx, const CreatedbStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->dbname != NULL) { - _fingerprintString(ctx, "dbname"); - _fingerprintString(ctx, node->dbname); + XXH3_freeState(prev); } - if (node->options != NULL && node->options->length > 0) { + // Intentionally ignoring node->location for fingerprinting + + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintDropdbStmt(FingerprintContext *ctx, const DropdbStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->dbname != NULL) { - _fingerprintString(ctx, "dbname"); - _fingerprintString(ctx, node->dbname); - } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - if (node->options != NULL && node->options->length > 0) { + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->query, node, "query", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintVacuumStmt(FingerprintContext *ctx, const VacuumStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonAggConstructor(FingerprintContext *ctx, const JsonAggConstructor *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->is_vacuumcmd) { - _fingerprintString(ctx, "is_vacuumcmd"); - _fingerprintString(ctx, "true"); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->agg_filter != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "agg_filter"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->agg_filter, node, "agg_filter", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rels != NULL && node->rels->length > 0) { + + if (node->agg_order != NULL && node->agg_order->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rels"); + _fingerprintString(ctx, "agg_order"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rels, node, "rels", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rels) == 1 && linitial(node->rels) == NIL)) { + _fingerprintNode(ctx, node->agg_order, node, "agg_order", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->agg_order) == 1 && linitial(node->agg_order) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} + // Intentionally ignoring node->location for fingerprinting -static void -_fingerprintExplainStmt(FingerprintContext *ctx, const ExplainStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->options != NULL && node->options->length > 0) { + if (node->output != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "output"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintJsonOutput(ctx, node->output, node, "output", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->query != NULL) { + + if (node->over != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "over"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); + _fingerprintWindowDef(ctx, node->over, node, "over", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6212,22 +8321,22 @@ _fingerprintExplainStmt(FingerprintContext *ctx, const ExplainStmt *node, const } static void -_fingerprintCreateTableAsStmt(FingerprintContext *ctx, const CreateTableAsStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonObjectAgg(FingerprintContext *ctx, const JsonObjectAgg *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); _fingerprintString(ctx, "true"); } - if (node->into != NULL) { + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "into"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintIntoClause(ctx, node->into, node, "into", depth + 1); + _fingerprintJsonKeyValue(ctx, node->arg, node, "arg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6236,25 +8345,15 @@ _fingerprintCreateTableAsStmt(FingerprintContext *ctx, const CreateTableAsStmt * XXH3_freeState(prev); } - if (node->is_select_into) { - _fingerprintString(ctx, "is_select_into"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); - } - - if (node->query != NULL) { + if (node->constructor != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "constructor"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); + _fingerprintJsonAggConstructor(ctx, node->constructor, node, "constructor", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6263,53 +8362,47 @@ _fingerprintCreateTableAsStmt(FingerprintContext *ctx, const CreateTableAsStmt * XXH3_freeState(prev); } + if (node->unique) { + _fingerprintString(ctx, "unique"); + _fingerprintString(ctx, "true"); + } + } static void -_fingerprintCreateSeqStmt(FingerprintContext *ctx, const CreateSeqStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintJsonArrayAgg(FingerprintContext *ctx, const JsonArrayAgg *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->for_identity) { - _fingerprintString(ctx, "for_identity"); - _fingerprintString(ctx, "true"); - } - - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); + if (node->absent_on_null) { + _fingerprintString(ctx, "absent_on_null"); _fingerprintString(ctx, "true"); } - if (node->options != NULL && node->options->length > 0) { + if (node->arg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "arg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintJsonValueExpr(ctx, node->arg, node, "arg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ownerId != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ownerId); - _fingerprintString(ctx, "ownerId"); - _fingerprintString(ctx, buffer); - } - if (node->sequence != NULL) { + if (node->constructor != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sequence"); + _fingerprintString(ctx, "constructor"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->sequence, node, "sequence", depth + 1); + _fingerprintJsonAggConstructor(ctx, node->constructor, node, "constructor", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6321,153 +8414,153 @@ _fingerprintCreateSeqStmt(FingerprintContext *ctx, const CreateSeqStmt *node, co } static void -_fingerprintAlterSeqStmt(FingerprintContext *ctx, const AlterSeqStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintRawStmt(FingerprintContext *ctx, const RawStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->for_identity) { - _fingerprintString(ctx, "for_identity"); - _fingerprintString(ctx, "true"); - } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->stmt != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "stmt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->stmt, node, "stmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->sequence != NULL) { + + // Intentionally ignoring node->stmt_len for fingerprinting + + // Intentionally ignoring node->stmt_location for fingerprinting + +} + +static void +_fingerprintInsertStmt(FingerprintContext *ctx, const InsertStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->cols != NULL && node->cols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sequence"); + _fingerprintString(ctx, "cols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->sequence, node, "sequence", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->cols, node, "cols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cols) == 1 && linitial(node->cols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintVariableSetStmt(FingerprintContext *ctx, const VariableSetStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->args != NULL && node->args->length > 0) { + if (node->onConflictClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "onConflictClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintOnConflictClause(ctx, node->onConflictClause, node, "onConflictClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->is_local) { - _fingerprintString(ctx, "is_local"); - _fingerprintString(ctx, "true"); - } if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringVariableSetKind(node->kind)); + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } + if (node->relation != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "relation"); -static void -_fingerprintVariableShowStmt(FingerprintContext *ctx, const VariableShowStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } -} - -static void -_fingerprintDiscardStmt(FingerprintContext *ctx, const DiscardStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "target"); - _fingerprintString(ctx, _enumToStringDiscardMode(node->target)); - } + if (node->returningList != NULL && node->returningList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returningList"); -static void -_fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->args != NULL && node->args->length > 0) { + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->selectStmt != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "selectStmt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintNode(ctx, node->selectStmt, node, "selectStmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->columns != NULL && node->columns->length > 0) { + + if (node->withClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "columns"); + _fingerprintString(ctx, "withClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { + _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->constrrel != NULL) { + +} + +static void +_fingerprintDeleteStmt(FingerprintContext *ctx, const DeleteStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constrrel"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->constrrel, node, "constrrel", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6476,108 +8569,64 @@ _fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, XXH3_freeState(prev); } - if (node->deferrable) { - _fingerprintString(ctx, "deferrable"); - _fingerprintString(ctx, "true"); - } - - if (node->events != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->events); - _fingerprintString(ctx, "events"); - _fingerprintString(ctx, buffer); - } - - if (node->funcname != NULL && node->funcname->length > 0) { + if (node->returningList != NULL && node->returningList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcname"); + _fingerprintString(ctx, "returningList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->initdeferred) { - _fingerprintString(ctx, "initdeferred"); - _fingerprintString(ctx, "true"); - } - - if (node->isconstraint) { - _fingerprintString(ctx, "isconstraint"); - _fingerprintString(ctx, "true"); - } - - if (node->relation != NULL) { + if (node->usingClause != NULL && node->usingClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "usingClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->usingClause, node, "usingClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->usingClause) == 1 && linitial(node->usingClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); - } - - if (node->row) { - _fingerprintString(ctx, "row"); - _fingerprintString(ctx, "true"); - } - - if (node->timing != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->timing); - _fingerprintString(ctx, "timing"); - _fingerprintString(ctx, buffer); - } - - if (node->transitionRels != NULL && node->transitionRels->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "transitionRels"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->transitionRels, node, "transitionRels", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->transitionRels) == 1 && linitial(node->transitionRels) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->trigname != NULL) { - _fingerprintString(ctx, "trigname"); - _fingerprintString(ctx, node->trigname); - } - if (node->whenClause != NULL) { + if (node->withClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whenClause"); + _fingerprintString(ctx, "withClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whenClause, node, "whenClause", depth + 1); + _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6589,139 +8638,99 @@ _fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, } static void -_fingerprintCreatePLangStmt(FingerprintContext *ctx, const CreatePLangStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintUpdateStmt(FingerprintContext *ctx, const UpdateStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->plhandler != NULL && node->plhandler->length > 0) { + if (node->fromClause != NULL && node->fromClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "plhandler"); + _fingerprintString(ctx, "fromClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->plhandler, node, "plhandler", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plhandler) == 1 && linitial(node->plhandler) == NIL)) { + _fingerprintNode(ctx, node->fromClause, node, "fromClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromClause) == 1 && linitial(node->fromClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->plinline != NULL && node->plinline->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "plinline"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->plinline, node, "plinline", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plinline) == 1 && linitial(node->plinline) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->plname != NULL) { - _fingerprintString(ctx, "plname"); - _fingerprintString(ctx, node->plname); - } - - if (node->pltrusted) { - _fingerprintString(ctx, "pltrusted"); - _fingerprintString(ctx, "true"); - } - if (node->plvalidator != NULL && node->plvalidator->length > 0) { + if (node->returningList != NULL && node->returningList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "plvalidator"); + _fingerprintString(ctx, "returningList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->plvalidator, node, "plvalidator", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plvalidator) == 1 && linitial(node->plvalidator) == NIL)) { + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); - } - -} - -static void -_fingerprintCreateRoleStmt(FingerprintContext *ctx, const CreateRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->options != NULL && node->options->length > 0) { + if (node->targetList != NULL && node->targetList->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "targetList"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->role != NULL) { - _fingerprintString(ctx, "role"); - _fingerprintString(ctx, node->role); - } - - if (true) { - _fingerprintString(ctx, "stmt_type"); - _fingerprintString(ctx, _enumToStringRoleStmtType(node->stmt_type)); - } - -} - -static void -_fingerprintAlterRoleStmt(FingerprintContext *ctx, const AlterRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->action != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->action); - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, buffer); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->role != NULL) { + + if (node->withClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "role"); + _fingerprintString(ctx, "withClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->role, node, "role", depth + 1); + _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6733,128 +8742,100 @@ _fingerprintAlterRoleStmt(FingerprintContext *ctx, const AlterRoleStmt *node, co } static void -_fingerprintDropRoleStmt(FingerprintContext *ctx, const DropRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintMergeStmt(FingerprintContext *ctx, const MergeStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->roles != NULL && node->roles->length > 0) { + if (node->joinCondition != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "roles"); + _fingerprintString(ctx, "joinCondition"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { + _fingerprintNode(ctx, node->joinCondition, node, "joinCondition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintLockStmt(FingerprintContext *ctx, const LockStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->mode != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->mode); - _fingerprintString(ctx, "mode"); - _fingerprintString(ctx, buffer); - } - - if (node->nowait) { - _fingerprintString(ctx, "nowait"); - _fingerprintString(ctx, "true"); - } - if (node->relations != NULL && node->relations->length > 0) { + if (node->mergeWhenClauses != NULL && node->mergeWhenClauses->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relations"); + _fingerprintString(ctx, "mergeWhenClauses"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { + _fingerprintNode(ctx, node->mergeWhenClauses, node, "mergeWhenClauses", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->mergeWhenClauses) == 1 && linitial(node->mergeWhenClauses) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintConstraintsSetStmt(FingerprintContext *ctx, const ConstraintsSetStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->constraints != NULL && node->constraints->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraints"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->deferred) { - _fingerprintString(ctx, "deferred"); - _fingerprintString(ctx, "true"); - } -} + if (node->returningList != NULL && node->returningList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -static void -_fingerprintReindexStmt(FingerprintContext *ctx, const ReindexStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringReindexObjectType(node->kind)); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "returningList"); - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->returningList, node, "returningList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->returningList) == 1 && linitial(node->returningList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->params != NULL && node->params->length > 0) { + if (node->sourceRelation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "params"); + _fingerprintString(ctx, "sourceRelation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->params, node, "params", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { + _fingerprintNode(ctx, node->sourceRelation, node, "sourceRelation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + + if (node->withClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "withClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6866,111 +8847,75 @@ _fingerprintReindexStmt(FingerprintContext *ctx, const ReindexStmt *node, const } static void -_fingerprintCheckPointStmt(FingerprintContext *ctx, const CheckPointStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintSelectStmt(FingerprintContext *ctx, const SelectStmt *node, const void *parent, const char *field_name, unsigned int depth) { -} + if (node->all) { + _fingerprintString(ctx, "all"); + _fingerprintString(ctx, "true"); + } -static void -_fingerprintCreateSchemaStmt(FingerprintContext *ctx, const CreateSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->authrole != NULL) { + if (node->distinctClause != NULL && node->distinctClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "authrole"); + _fingerprintString(ctx, "distinctClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->authrole, node, "authrole", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->distinctClause, node, "distinctClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->distinctClause) == 1 && linitial(node->distinctClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); - _fingerprintString(ctx, "true"); - } - - if (node->schemaElts != NULL && node->schemaElts->length > 0) { + if (node->fromClause != NULL && node->fromClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "schemaElts"); + _fingerprintString(ctx, "fromClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->schemaElts, node, "schemaElts", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->schemaElts) == 1 && linitial(node->schemaElts) == NIL)) { + _fingerprintNode(ctx, node->fromClause, node, "fromClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fromClause) == 1 && linitial(node->fromClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->schemaname != NULL) { - _fingerprintString(ctx, "schemaname"); - _fingerprintString(ctx, node->schemaname); - } - -} - -static void -_fingerprintAlterDatabaseStmt(FingerprintContext *ctx, const AlterDatabaseStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->dbname != NULL) { - _fingerprintString(ctx, "dbname"); - _fingerprintString(ctx, node->dbname); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->groupClause != NULL && node->groupClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "groupClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->groupClause, node, "groupClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClause) == 1 && linitial(node->groupClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterDatabaseRefreshCollStmt(FingerprintContext *ctx, const AlterDatabaseRefreshCollStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->dbname != NULL) { - _fingerprintString(ctx, "dbname"); - _fingerprintString(ctx, node->dbname); - } - -} - -static void -_fingerprintAlterDatabaseSetStmt(FingerprintContext *ctx, const AlterDatabaseSetStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->dbname != NULL) { - _fingerprintString(ctx, "dbname"); - _fingerprintString(ctx, node->dbname); + if (node->groupDistinct) { + _fingerprintString(ctx, "groupDistinct"); + _fingerprintString(ctx, "true"); } - if (node->setstmt != NULL) { + if (node->havingClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "setstmt"); + _fingerprintString(ctx, "havingClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); + _fingerprintNode(ctx, node->havingClause, node, "havingClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -6979,25 +8924,15 @@ _fingerprintAlterDatabaseSetStmt(FingerprintContext *ctx, const AlterDatabaseSet XXH3_freeState(prev); } -} - -static void -_fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->database != NULL) { - _fingerprintString(ctx, "database"); - _fingerprintString(ctx, node->database); - } - - if (node->role != NULL) { + if (node->intoClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "role"); + _fingerprintString(ctx, "intoClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->role, node, "role", depth + 1); + _fingerprintIntoClause(ctx, node->intoClause, node, "intoClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7006,15 +8941,15 @@ _fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *no XXH3_freeState(prev); } - if (node->setstmt != NULL) { + if (node->larg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "setstmt"); + _fingerprintString(ctx, "larg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); + _fingerprintSelectStmt(ctx, node->larg, node, "larg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7023,99 +8958,75 @@ _fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *no XXH3_freeState(prev); } -} - -static void -_fingerprintCreateConversionStmt(FingerprintContext *ctx, const CreateConversionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->conversion_name != NULL && node->conversion_name->length > 0) { + if (node->limitCount != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "conversion_name"); + _fingerprintString(ctx, "limitCount"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->conversion_name, node, "conversion_name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->conversion_name) == 1 && linitial(node->conversion_name) == NIL)) { + _fingerprintNode(ctx, node->limitCount, node, "limitCount", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->def) { - _fingerprintString(ctx, "def"); - _fingerprintString(ctx, "true"); - } - - if (node->for_encoding_name != NULL) { - _fingerprintString(ctx, "for_encoding_name"); - _fingerprintString(ctx, node->for_encoding_name); - } - if (node->func_name != NULL && node->func_name->length > 0) { + if (node->limitOffset != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "func_name"); + _fingerprintString(ctx, "limitOffset"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->func_name, node, "func_name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_name) == 1 && linitial(node->func_name) == NIL)) { + _fingerprintNode(ctx, node->limitOffset, node, "limitOffset", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->to_encoding_name != NULL) { - _fingerprintString(ctx, "to_encoding_name"); - _fingerprintString(ctx, node->to_encoding_name); - } - -} -static void -_fingerprintCreateCastStmt(FingerprintContext *ctx, const CreateCastStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ if (true) { - _fingerprintString(ctx, "context"); - _fingerprintString(ctx, _enumToStringCoercionContext(node->context)); + _fingerprintString(ctx, "limitOption"); + _fingerprintString(ctx, _enumToStringLimitOption(node->limitOption)); } - if (node->func != NULL) { + if (node->lockingClause != NULL && node->lockingClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "func"); + _fingerprintString(ctx, "lockingClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->func, node, "func", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->lockingClause, node, "lockingClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockingClause) == 1 && linitial(node->lockingClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->inout) { - _fingerprintString(ctx, "inout"); - _fingerprintString(ctx, "true"); + if (true) { + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringSetOperation(node->op)); } - if (node->sourcetype != NULL) { + if (node->rarg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "sourcetype"); + _fingerprintString(ctx, "rarg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->sourcetype, node, "sourcetype", depth + 1); + _fingerprintSelectStmt(ctx, node->rarg, node, "rarg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7124,208 +9035,187 @@ _fingerprintCreateCastStmt(FingerprintContext *ctx, const CreateCastStmt *node, XXH3_freeState(prev); } - if (node->targettype != NULL) { + if (node->sortClause != NULL && node->sortClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targettype"); + _fingerprintString(ctx, "sortClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->targettype, node, "targettype", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->sortClause, node, "sortClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->sortClause) == 1 && linitial(node->sortClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->targetList != NULL && node->targetList->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; -} + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "targetList"); -static void -_fingerprintCreateOpClassStmt(FingerprintContext *ctx, const CreateOpClassStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->amname != NULL) { - _fingerprintString(ctx, "amname"); - _fingerprintString(ctx, node->amname); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->datatype != NULL) { + if (node->valuesLists != NULL && node->valuesLists->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "datatype"); + _fingerprintString(ctx, "valuesLists"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->datatype, node, "datatype", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->valuesLists, node, "valuesLists", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->valuesLists) == 1 && linitial(node->valuesLists) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->isDefault) { - _fingerprintString(ctx, "isDefault"); - _fingerprintString(ctx, "true"); - } - - if (node->items != NULL && node->items->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "items"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->items, node, "items", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->items) == 1 && linitial(node->items) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->opclassname != NULL && node->opclassname->length > 0) { + + if (node->windowClause != NULL && node->windowClause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclassname"); + _fingerprintString(ctx, "windowClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclassname, node, "opclassname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassname) == 1 && linitial(node->opclassname) == NIL)) { + _fingerprintNode(ctx, node->windowClause, node, "windowClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->windowClause) == 1 && linitial(node->windowClause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { + if (node->withClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opfamilyname"); + _fingerprintString(ctx, "withClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { + _fingerprintWithClause(ctx, node->withClause, node, "withClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintCreateOpFamilyStmt(FingerprintContext *ctx, const CreateOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintSetOperationStmt(FingerprintContext *ctx, const SetOperationStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->amname != NULL) { - _fingerprintString(ctx, "amname"); - _fingerprintString(ctx, node->amname); + if (node->all) { + _fingerprintString(ctx, "all"); + _fingerprintString(ctx, "true"); } - if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { + if (node->colCollations != NULL && node->colCollations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opfamilyname"); + _fingerprintString(ctx, "colCollations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { + _fingerprintNode(ctx, node->colCollations, node, "colCollations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colCollations) == 1 && linitial(node->colCollations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterOpFamilyStmt(FingerprintContext *ctx, const AlterOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->amname != NULL) { - _fingerprintString(ctx, "amname"); - _fingerprintString(ctx, node->amname); - } - - if (node->isDrop) { - _fingerprintString(ctx, "isDrop"); - _fingerprintString(ctx, "true"); - } - - if (node->items != NULL && node->items->length > 0) { + if (node->colTypes != NULL && node->colTypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "items"); + _fingerprintString(ctx, "colTypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->items, node, "items", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->items) == 1 && linitial(node->items) == NIL)) { + _fingerprintNode(ctx, node->colTypes, node, "colTypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colTypes) == 1 && linitial(node->colTypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { + if (node->colTypmods != NULL && node->colTypmods->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opfamilyname"); + _fingerprintString(ctx, "colTypmods"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { + _fingerprintNode(ctx, node->colTypmods, node, "colTypmods", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colTypmods) == 1 && linitial(node->colTypmods) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintPrepareStmt(FingerprintContext *ctx, const PrepareStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->argtypes != NULL && node->argtypes->length > 0) { + if (node->groupClauses != NULL && node->groupClauses->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "argtypes"); + _fingerprintString(ctx, "groupClauses"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->argtypes, node, "argtypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->argtypes) == 1 && linitial(node->argtypes) == NIL)) { + _fingerprintNode(ctx, node->groupClauses, node, "groupClauses", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->groupClauses) == 1 && linitial(node->groupClauses) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->name for fingerprinting - - if (node->query != NULL) { + if (node->larg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "larg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); + _fingerprintNode(ctx, node->larg, node, "larg", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7334,59 +9224,42 @@ _fingerprintPrepareStmt(FingerprintContext *ctx, const PrepareStmt *node, const XXH3_freeState(prev); } -} - -static void -_fingerprintExecuteStmt(FingerprintContext *ctx, const ExecuteStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->name for fingerprinting + if (true) { + _fingerprintString(ctx, "op"); + _fingerprintString(ctx, _enumToStringSetOperation(node->op)); + } - if (node->params != NULL && node->params->length > 0) { + if (node->rarg != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "params"); + _fingerprintString(ctx, "rarg"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->params, node, "params", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { + _fingerprintNode(ctx, node->rarg, node, "rarg", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintDeallocateStmt(FingerprintContext *ctx, const DeallocateStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->name for fingerprinting } static void -_fingerprintDeclareCursorStmt(FingerprintContext *ctx, const DeclareCursorStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintReturnStmt(FingerprintContext *ctx, const ReturnStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->options != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->options); - _fingerprintString(ctx, "options"); - _fingerprintString(ctx, buffer); - } - - // Intentionally ignoring node->portalname for fingerprinting - - if (node->query != NULL) { + if (node->returnval != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "query"); + _fingerprintString(ctx, "returnval"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->query, node, "query", depth + 1); + _fingerprintNode(ctx, node->returnval, node, "returnval", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7398,35 +9271,47 @@ _fingerprintDeclareCursorStmt(FingerprintContext *ctx, const DeclareCursorStmt * } static void -_fingerprintCreateTableSpaceStmt(FingerprintContext *ctx, const CreateTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPLAssignStmt(FingerprintContext *ctx, const PLAssignStmt *node, const void *parent, const char *field_name, unsigned int depth) { - // Intentionally ignoring node->location for fingerprinting - - if (node->options != NULL && node->options->length > 0) { + if (node->indirection != NULL && node->indirection->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "indirection"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->owner != NULL) { + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->nnames != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->nnames); + _fingerprintString(ctx, "nnames"); + _fingerprintString(ctx, buffer); + } + + if (node->val != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "owner"); + _fingerprintString(ctx, "val"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->owner, node, "owner", depth + 1); + _fingerprintSelectStmt(ctx, node->val, node, "val", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7435,45 +9320,20 @@ _fingerprintCreateTableSpaceStmt(FingerprintContext *ctx, const CreateTableSpace XXH3_freeState(prev); } - if (node->tablespacename != NULL) { - _fingerprintString(ctx, "tablespacename"); - _fingerprintString(ctx, node->tablespacename); - } - -} - -static void -_fingerprintDropTableSpaceStmt(FingerprintContext *ctx, const DropTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->tablespacename != NULL) { - _fingerprintString(ctx, "tablespacename"); - _fingerprintString(ctx, node->tablespacename); - } - } static void -_fingerprintAlterObjectDependsStmt(FingerprintContext *ctx, const AlterObjectDependsStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateSchemaStmt(FingerprintContext *ctx, const CreateSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (strlen(node->extname->sval) > 0) { - _fingerprintString(ctx, "extname"); - _fingerprintString(ctx, node->extname->sval); - } - - if (node->object != NULL) { + if (node->authrole != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "authrole"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); + _fingerprintRoleSpec(ctx, node->authrole, node, "authrole", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7482,68 +9342,61 @@ _fingerprintAlterObjectDependsStmt(FingerprintContext *ctx, const AlterObjectDep XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "objectType"); - _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); } - if (node->relation != NULL) { + if (node->schemaElts != NULL && node->schemaElts->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "schemaElts"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->schemaElts, node, "schemaElts", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->schemaElts) == 1 && linitial(node->schemaElts) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->remove) { - _fingerprintString(ctx, "remove"); - _fingerprintString(ctx, "true"); + if (node->schemaname != NULL) { + _fingerprintString(ctx, "schemaname"); + _fingerprintString(ctx, node->schemaname); } } static void -_fingerprintAlterObjectSchemaStmt(FingerprintContext *ctx, const AlterObjectSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterTableStmt(FingerprintContext *ctx, const AlterTableStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->newschema != NULL) { - _fingerprintString(ctx, "newschema"); - _fingerprintString(ctx, node->newschema); - } - - if (node->object != NULL) { + if (node->cmds != NULL && node->cmds->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "cmds"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->cmds, node, "cmds", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cmds) == 1 && linitial(node->cmds) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } if (true) { - _fingerprintString(ctx, "objectType"); - _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); } if (node->relation != NULL) { @@ -7566,17 +9419,38 @@ _fingerprintAlterObjectSchemaStmt(FingerprintContext *ctx, const AlterObjectSche } static void -_fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintReplicaIdentityStmt(FingerprintContext *ctx, const ReplicaIdentityStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->newowner != NULL) { + if (node->identity_type != 0) { + char buffer[2] = {node->identity_type, '\0'}; + _fingerprintString(ctx, "identity_type"); + _fingerprintString(ctx, buffer); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + +} + +static void +_fingerprintAlterTableCmd(FingerprintContext *ctx, const AlterTableCmd *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } + + if (node->def != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "newowner"); + _fingerprintString(ctx, "def"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->newowner, node, "newowner", depth + 1); + _fingerprintNode(ctx, node->def, node, "def", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7585,15 +9459,25 @@ _fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, XXH3_freeState(prev); } - if (node->object != NULL) { + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->newowner != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "newowner"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); + _fingerprintRoleSpec(ctx, node->newowner, node, "newowner", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7602,42 +9486,63 @@ _fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, XXH3_freeState(prev); } + if (node->num != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->num); + _fingerprintString(ctx, "num"); + _fingerprintString(ctx, buffer); + } + + if (node->recurse) { + _fingerprintString(ctx, "recurse"); + _fingerprintString(ctx, "true"); + } + if (true) { - _fingerprintString(ctx, "objectType"); - _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); + _fingerprintString(ctx, "subtype"); + _fingerprintString(ctx, _enumToStringAlterTableType(node->subtype)); } - if (node->relation != NULL) { +} + +static void +_fingerprintAlterCollationStmt(FingerprintContext *ctx, const AlterCollationStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->collname != NULL && node->collname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "collname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterDomainStmt(FingerprintContext *ctx, const AlterDomainStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->opername != NULL) { + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } + + if (node->def != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opername"); + _fingerprintString(ctx, "def"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->opername, node, "opername", depth + 1); + _fingerprintNode(ctx, node->def, node, "def", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -7646,16 +9551,32 @@ _fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt * XXH3_freeState(prev); } - if (node->options != NULL && node->options->length > 0) { + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->subtype != 0) { + char buffer[2] = {node->subtype, '\0'}; + _fingerprintString(ctx, "subtype"); + _fingerprintString(ctx, buffer); + } + + if (node->typeName != NULL && node->typeName->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -7665,256 +9586,256 @@ _fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt * } static void -_fingerprintAlterTypeStmt(FingerprintContext *ctx, const AlterTypeStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintGrantStmt(FingerprintContext *ctx, const GrantStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->options != NULL && node->options->length > 0) { + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } + + if (node->grant_option) { + _fingerprintString(ctx, "grant_option"); + _fingerprintString(ctx, "true"); + } + + if (node->grantees != NULL && node->grantees->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "grantees"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->grantees, node, "grantees", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->grantees) == 1 && linitial(node->grantees) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->typeName != NULL && node->typeName->length > 0) { + if (node->grantor != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "grantor"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { + _fingerprintRoleSpec(ctx, node->grantor, node, "grantor", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} -static void -_fingerprintDropOwnedStmt(FingerprintContext *ctx, const DropOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + if (node->is_grant) { + _fingerprintString(ctx, "is_grant"); + _fingerprintString(ctx, "true"); } - if (node->roles != NULL && node->roles->length > 0) { + if (node->objects != NULL && node->objects->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "roles"); + _fingerprintString(ctx, "objects"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { + _fingerprintNode(ctx, node->objects, node, "objects", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objects) == 1 && linitial(node->objects) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + } -static void -_fingerprintReassignOwnedStmt(FingerprintContext *ctx, const ReassignOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->newrole != NULL) { + if (node->privileges != NULL && node->privileges->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "newrole"); + _fingerprintString(ctx, "privileges"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->newrole, node, "newrole", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->privileges, node, "privileges", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->privileges) == 1 && linitial(node->privileges) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "targtype"); + _fingerprintString(ctx, _enumToStringGrantTargetType(node->targtype)); + } - if (node->roles != NULL && node->roles->length > 0) { +} + +static void +_fingerprintObjectWithArgs(FingerprintContext *ctx, const ObjectWithArgs *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->args_unspecified) { + _fingerprintString(ctx, "args_unspecified"); + _fingerprintString(ctx, "true"); + } + + if (node->objargs != NULL && node->objargs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "roles"); + _fingerprintString(ctx, "objargs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { + _fingerprintNode(ctx, node->objargs, node, "objargs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objargs) == 1 && linitial(node->objargs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintCompositeTypeStmt(FingerprintContext *ctx, const CompositeTypeStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->coldeflist != NULL && node->coldeflist->length > 0) { + if (node->objfuncargs != NULL && node->objfuncargs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coldeflist"); + _fingerprintString(ctx, "objfuncargs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { + _fingerprintNode(ctx, node->objfuncargs, node, "objfuncargs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objfuncargs) == 1 && linitial(node->objfuncargs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->typevar != NULL) { + if (node->objname != NULL && node->objname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typevar"); + _fingerprintString(ctx, "objname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->typevar, node, "typevar", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->objname, node, "objname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objname) == 1 && linitial(node->objname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintCreateEnumStmt(FingerprintContext *ctx, const CreateEnumStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAccessPriv(FingerprintContext *ctx, const AccessPriv *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->typeName != NULL && node->typeName->length > 0) { + if (node->cols != NULL && node->cols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "cols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { + _fingerprintNode(ctx, node->cols, node, "cols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cols) == 1 && linitial(node->cols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->vals != NULL && node->vals->length > 0) { + if (node->priv_name != NULL) { + _fingerprintString(ctx, "priv_name"); + _fingerprintString(ctx, node->priv_name); + } + +} + +static void +_fingerprintGrantRoleStmt(FingerprintContext *ctx, const GrantRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } + + if (node->granted_roles != NULL && node->granted_roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "vals"); + _fingerprintString(ctx, "granted_roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->vals, node, "vals", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->vals) == 1 && linitial(node->vals) == NIL)) { + _fingerprintNode(ctx, node->granted_roles, node, "granted_roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->granted_roles) == 1 && linitial(node->granted_roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintCreateRangeStmt(FingerprintContext *ctx, const CreateRangeStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->params != NULL && node->params->length > 0) { + if (node->grantee_roles != NULL && node->grantee_roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "params"); + _fingerprintString(ctx, "grantee_roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->params, node, "params", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { + _fingerprintNode(ctx, node->grantee_roles, node, "grantee_roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->grantee_roles) == 1 && linitial(node->grantee_roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->typeName != NULL && node->typeName->length > 0) { + if (node->grantor != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "grantor"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { + _fingerprintRoleSpec(ctx, node->grantor, node, "grantor", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterEnumStmt(FingerprintContext *ctx, const AlterEnumStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->newVal != NULL) { - _fingerprintString(ctx, "newVal"); - _fingerprintString(ctx, node->newVal); - } - - if (node->newValIsAfter) { - _fingerprintString(ctx, "newValIsAfter"); - _fingerprintString(ctx, "true"); - } - - if (node->newValNeighbor != NULL) { - _fingerprintString(ctx, "newValNeighbor"); - _fingerprintString(ctx, node->newValNeighbor); - } - if (node->oldVal != NULL) { - _fingerprintString(ctx, "oldVal"); - _fingerprintString(ctx, node->oldVal); - } - - if (node->skipIfNewValExists) { - _fingerprintString(ctx, "skipIfNewValExists"); + if (node->is_grant) { + _fingerprintString(ctx, "is_grant"); _fingerprintString(ctx, "true"); } - if (node->typeName != NULL && node->typeName->length > 0) { + if (node->opt != NULL && node->opt->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "opt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { + _fingerprintNode(ctx, node->opt, node, "opt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opt) == 1 && linitial(node->opt) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -7924,24 +9845,25 @@ _fingerprintAlterEnumStmt(FingerprintContext *ctx, const AlterEnumStmt *node, co } static void -_fingerprintAlterTSDictionaryStmt(FingerprintContext *ctx, const AlterTSDictionaryStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterDefaultPrivilegesStmt(FingerprintContext *ctx, const AlterDefaultPrivilegesStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->dictname != NULL && node->dictname->length > 0) { + if (node->action != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "dictname"); + _fingerprintString(ctx, "action"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->dictname, node, "dictname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->dictname) == 1 && linitial(node->dictname) == NIL)) { + _fingerprintGrantStmt(ctx, node->action, node, "action", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -7961,282 +9883,208 @@ _fingerprintAlterTSDictionaryStmt(FingerprintContext *ctx, const AlterTSDictiona } static void -_fingerprintAlterTSConfigurationStmt(FingerprintContext *ctx, const AlterTSConfigurationStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCopyStmt(FingerprintContext *ctx, const CopyStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->cfgname != NULL && node->cfgname->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cfgname"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cfgname, node, "cfgname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cfgname) == 1 && linitial(node->cfgname) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } - if (node->dicts != NULL && node->dicts->length > 0) { + if (node->attlist != NULL && node->attlist->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "dicts"); + _fingerprintString(ctx, "attlist"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->dicts, node, "dicts", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->dicts) == 1 && linitial(node->dicts) == NIL)) { + _fingerprintNode(ctx, node->attlist, node, "attlist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->attlist) == 1 && linitial(node->attlist) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringAlterTSConfigType(node->kind)); - } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); + if (node->filename != NULL) { + _fingerprintString(ctx, "filename"); + _fingerprintString(ctx, node->filename); } - if (node->override) { - _fingerprintString(ctx, "override"); + if (node->is_from) { + _fingerprintString(ctx, "is_from"); _fingerprintString(ctx, "true"); } - if (node->replace) { - _fingerprintString(ctx, "replace"); + if (node->is_program) { + _fingerprintString(ctx, "is_program"); _fingerprintString(ctx, "true"); } - if (node->tokentype != NULL && node->tokentype->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tokentype"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->tokentype, node, "tokentype", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->tokentype) == 1 && linitial(node->tokentype) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintCreateFdwStmt(FingerprintContext *ctx, const CreateFdwStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->fdwname != NULL) { - _fingerprintString(ctx, "fdwname"); - _fingerprintString(ctx, node->fdwname); - } - - if (node->func_options != NULL && node->func_options->length > 0) { + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "func_options"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->func_options, node, "func_options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_options) == 1 && linitial(node->func_options) == NIL)) { + _fingerprintNode(ctx, node->query, node, "query", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->options != NULL && node->options->length > 0) { + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterFdwStmt(FingerprintContext *ctx, const AlterFdwStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->fdwname != NULL) { - _fingerprintString(ctx, "fdwname"); - _fingerprintString(ctx, node->fdwname); - } - if (node->func_options != NULL && node->func_options->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "func_options"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->func_options, node, "func_options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_options) == 1 && linitial(node->func_options) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->options != NULL && node->options->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } } static void -_fingerprintCreateForeignServerStmt(FingerprintContext *ctx, const CreateForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintVariableSetStmt(FingerprintContext *ctx, const VariableSetStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->fdwname != NULL) { - _fingerprintString(ctx, "fdwname"); - _fingerprintString(ctx, node->fdwname); - } - - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); - _fingerprintString(ctx, "true"); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); + if (node->is_local) { + _fingerprintString(ctx, "is_local"); + _fingerprintString(ctx, "true"); } - if (node->servertype != NULL) { - _fingerprintString(ctx, "servertype"); - _fingerprintString(ctx, node->servertype); + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringVariableSetKind(node->kind)); } - if (node->version != NULL) { - _fingerprintString(ctx, "version"); - _fingerprintString(ctx, node->version); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } } static void -_fingerprintAlterForeignServerStmt(FingerprintContext *ctx, const AlterForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintVariableShowStmt(FingerprintContext *ctx, const VariableShowStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->has_version) { - _fingerprintString(ctx, "has_version"); - _fingerprintString(ctx, "true"); + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->options != NULL && node->options->length > 0) { +} + +static void +_fingerprintCreateStmt(FingerprintContext *ctx, const CreateStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->accessMethod != NULL) { + _fingerprintString(ctx, "accessMethod"); + _fingerprintString(ctx, node->accessMethod); + } + + if (node->constraints != NULL && node->constraints->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "constraints"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); - } - - if (node->version != NULL) { - _fingerprintString(ctx, "version"); - _fingerprintString(ctx, node->version); - } - -} - -static void -_fingerprintCreateUserMappingStmt(FingerprintContext *ctx, const CreateUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ if (node->if_not_exists) { _fingerprintString(ctx, "if_not_exists"); _fingerprintString(ctx, "true"); } - if (node->options != NULL && node->options->length > 0) { + if (node->inhRelations != NULL && node->inhRelations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "inhRelations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->inhRelations, node, "inhRelations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->inhRelations) == 1 && linitial(node->inhRelations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); - } - - if (node->user != NULL) { + if (node->ofTypename != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "user"); + _fingerprintString(ctx, "ofTypename"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + _fingerprintTypeName(ctx, node->ofTypename, node, "ofTypename", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8245,11 +10093,11 @@ _fingerprintCreateUserMappingStmt(FingerprintContext *ctx, const CreateUserMappi XXH3_freeState(prev); } -} + if (true) { + _fingerprintString(ctx, "oncommit"); + _fingerprintString(ctx, _enumToStringOnCommitAction(node->oncommit)); + } -static void -_fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -8266,20 +10114,32 @@ _fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMapping } XXH3_freeState(prev); } - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); + if (node->partbound != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "partbound"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintPartitionBoundSpec(ctx, node->partbound, node, "partbound", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->user != NULL) { + if (node->partspec != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "user"); + _fingerprintString(ctx, "partspec"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + _fingerprintPartitionSpec(ctx, node->partspec, node, "partspec", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8288,30 +10148,15 @@ _fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMapping XXH3_freeState(prev); } -} - -static void -_fingerprintDropUserMappingStmt(FingerprintContext *ctx, const DropUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); - } - - if (node->user != NULL) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "user"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8320,26 +10165,16 @@ _fingerprintDropUserMappingStmt(FingerprintContext *ctx, const DropUserMappingSt XXH3_freeState(prev); } -} - -static void -_fingerprintAlterTableSpaceOptionsStmt(FingerprintContext *ctx, const AlterTableSpaceOptionsStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->isReset) { - _fingerprintString(ctx, "isReset"); - _fingerprintString(ctx, "true"); - } - - if (node->options != NULL && node->options->length > 0) { + if (node->tableElts != NULL && node->tableElts->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "tableElts"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->tableElts, node, "tableElts", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->tableElts) == 1 && linitial(node->tableElts) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -8354,344 +10189,240 @@ _fingerprintAlterTableSpaceOptionsStmt(FingerprintContext *ctx, const AlterTable } static void -_fingerprintAlterTableMoveAllStmt(FingerprintContext *ctx, const AlterTableMoveAllStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->new_tablespacename != NULL) { - _fingerprintString(ctx, "new_tablespacename"); - _fingerprintString(ctx, node->new_tablespacename); + if (node->access_method != NULL) { + _fingerprintString(ctx, "access_method"); + _fingerprintString(ctx, node->access_method); } - if (node->nowait) { - _fingerprintString(ctx, "nowait"); - _fingerprintString(ctx, "true"); + if (node->conname != NULL) { + _fingerprintString(ctx, "conname"); + _fingerprintString(ctx, node->conname); } if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + _fingerprintString(ctx, "contype"); + _fingerprintString(ctx, _enumToStringConstrType(node->contype)); } - if (node->orig_tablespacename != NULL) { - _fingerprintString(ctx, "orig_tablespacename"); - _fingerprintString(ctx, node->orig_tablespacename); + if (node->cooked_expr != NULL) { + _fingerprintString(ctx, "cooked_expr"); + _fingerprintString(ctx, node->cooked_expr); } - if (node->roles != NULL && node->roles->length > 0) { + if (node->deferrable) { + _fingerprintString(ctx, "deferrable"); + _fingerprintString(ctx, "true"); + } + + if (node->exclusions != NULL && node->exclusions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "roles"); + _fingerprintString(ctx, "exclusions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { + _fingerprintNode(ctx, node->exclusions, node, "exclusions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclusions) == 1 && linitial(node->exclusions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintSecLabelStmt(FingerprintContext *ctx, const SecLabelStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->label != NULL) { - _fingerprintString(ctx, "label"); - _fingerprintString(ctx, node->label); - } - - if (node->object != NULL) { + if (node->fk_attrs != NULL && node->fk_attrs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "fk_attrs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->fk_attrs, node, "fk_attrs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fk_attrs) == 1 && linitial(node->fk_attrs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); - } - - if (node->provider != NULL) { - _fingerprintString(ctx, "provider"); - _fingerprintString(ctx, node->provider); + if (node->fk_del_action != 0) { + char buffer[2] = {node->fk_del_action, '\0'}; + _fingerprintString(ctx, "fk_del_action"); + _fingerprintString(ctx, buffer); } -} - -static void -_fingerprintCreateForeignTableStmt(FingerprintContext *ctx, const CreateForeignTableStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - _fingerprintString(ctx, "base"); - _fingerprintCreateStmt(ctx, (const CreateStmt*) &node->base, node, "base", depth); - if (node->options != NULL && node->options->length > 0) { + if (node->fk_del_set_cols != NULL && node->fk_del_set_cols->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "fk_del_set_cols"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->fk_del_set_cols, node, "fk_del_set_cols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fk_del_set_cols) == 1 && linitial(node->fk_del_set_cols) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->servername != NULL) { - _fingerprintString(ctx, "servername"); - _fingerprintString(ctx, node->servername); + if (node->fk_matchtype != 0) { + char buffer[2] = {node->fk_matchtype, '\0'}; + _fingerprintString(ctx, "fk_matchtype"); + _fingerprintString(ctx, buffer); } -} - -static void -_fingerprintImportForeignSchemaStmt(FingerprintContext *ctx, const ImportForeignSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "list_type"); - _fingerprintString(ctx, _enumToStringImportForeignSchemaType(node->list_type)); + if (node->fk_upd_action != 0) { + char buffer[2] = {node->fk_upd_action, '\0'}; + _fingerprintString(ctx, "fk_upd_action"); + _fingerprintString(ctx, buffer); } - if (node->local_schema != NULL) { - _fingerprintString(ctx, "local_schema"); - _fingerprintString(ctx, node->local_schema); + if (node->generated_when != 0) { + char buffer[2] = {node->generated_when, '\0'}; + _fingerprintString(ctx, "generated_when"); + _fingerprintString(ctx, buffer); } - if (node->options != NULL && node->options->length > 0) { + if (node->including != NULL && node->including->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "including"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->including, node, "including", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->including) == 1 && linitial(node->including) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->remote_schema != NULL) { - _fingerprintString(ctx, "remote_schema"); - _fingerprintString(ctx, node->remote_schema); - } - - if (node->server_name != NULL) { - _fingerprintString(ctx, "server_name"); - _fingerprintString(ctx, node->server_name); + if (node->indexname != NULL) { + _fingerprintString(ctx, "indexname"); + _fingerprintString(ctx, node->indexname); } - if (node->table_list != NULL && node->table_list->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "table_list"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->table_list, node, "table_list", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->table_list) == 1 && linitial(node->table_list) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->indexspace != NULL) { + _fingerprintString(ctx, "indexspace"); + _fingerprintString(ctx, node->indexspace); } -} -static void -_fingerprintCreateExtensionStmt(FingerprintContext *ctx, const CreateExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->extname != NULL) { - _fingerprintString(ctx, "extname"); - _fingerprintString(ctx, node->extname); + if (node->inhcount != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->inhcount); + _fingerprintString(ctx, "inhcount"); + _fingerprintString(ctx, buffer); } - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); + if (node->initdeferred) { + _fingerprintString(ctx, "initdeferred"); _fingerprintString(ctx, "true"); } - if (node->options != NULL && node->options->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->initially_valid) { + _fingerprintString(ctx, "initially_valid"); + _fingerprintString(ctx, "true"); } -} -static void -_fingerprintAlterExtensionStmt(FingerprintContext *ctx, const AlterExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->extname != NULL) { - _fingerprintString(ctx, "extname"); - _fingerprintString(ctx, node->extname); + if (node->is_no_inherit) { + _fingerprintString(ctx, "is_no_inherit"); + _fingerprintString(ctx, "true"); } - if (node->options != NULL && node->options->length > 0) { + if (node->keys != NULL && node->keys->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "keys"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->keys, node, "keys", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->keys) == 1 && linitial(node->keys) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterExtensionContentsStmt(FingerprintContext *ctx, const AlterExtensionContentsStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->action != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->action); - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, buffer); - } + // Intentionally ignoring node->location for fingerprinting - if (node->extname != NULL) { - _fingerprintString(ctx, "extname"); - _fingerprintString(ctx, node->extname); + if (node->nulls_not_distinct) { + _fingerprintString(ctx, "nulls_not_distinct"); + _fingerprintString(ctx, "true"); } - if (node->object != NULL) { + if (node->old_conpfeqop != NULL && node->old_conpfeqop->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "object"); + _fingerprintString(ctx, "old_conpfeqop"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->object, node, "object", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->old_conpfeqop, node, "old_conpfeqop", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->old_conpfeqop) == 1 && linitial(node->old_conpfeqop) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (true) { - _fingerprintString(ctx, "objtype"); - _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); - } - -} - -static void -_fingerprintCreateEventTrigStmt(FingerprintContext *ctx, const CreateEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->eventname != NULL) { - _fingerprintString(ctx, "eventname"); - _fingerprintString(ctx, node->eventname); + if (node->old_pktable_oid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->old_pktable_oid); + _fingerprintString(ctx, "old_pktable_oid"); + _fingerprintString(ctx, buffer); } - if (node->funcname != NULL && node->funcname->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcname"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->trigname != NULL) { - _fingerprintString(ctx, "trigname"); - _fingerprintString(ctx, node->trigname); - } - - if (node->whenclause != NULL && node->whenclause->length > 0) { + if (node->pk_attrs != NULL && node->pk_attrs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whenclause"); + _fingerprintString(ctx, "pk_attrs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whenclause, node, "whenclause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->whenclause) == 1 && linitial(node->whenclause) == NIL)) { + _fingerprintNode(ctx, node->pk_attrs, node, "pk_attrs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pk_attrs) == 1 && linitial(node->pk_attrs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} - -static void -_fingerprintAlterEventTrigStmt(FingerprintContext *ctx, const AlterEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->tgenabled != 0) { - char buffer[2] = {node->tgenabled, '\0'}; - _fingerprintString(ctx, "tgenabled"); - _fingerprintString(ctx, buffer); - } - - if (node->trigname != NULL) { - _fingerprintString(ctx, "trigname"); - _fingerprintString(ctx, node->trigname); - } - -} - -static void -_fingerprintRefreshMatViewStmt(FingerprintContext *ctx, const RefreshMatViewStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->concurrent) { - _fingerprintString(ctx, "concurrent"); - _fingerprintString(ctx, "true"); - } - - if (node->relation != NULL) { + if (node->pktable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "pktable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + _fingerprintRangeVar(ctx, node->pktable, node, "pktable", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8700,41 +10431,15 @@ _fingerprintRefreshMatViewStmt(FingerprintContext *ctx, const RefreshMatViewStmt XXH3_freeState(prev); } - if (node->skipData) { - _fingerprintString(ctx, "skipData"); - _fingerprintString(ctx, "true"); - } - -} - -static void -_fingerprintReplicaIdentityStmt(FingerprintContext *ctx, const ReplicaIdentityStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->identity_type != 0) { - char buffer[2] = {node->identity_type, '\0'}; - _fingerprintString(ctx, "identity_type"); - _fingerprintString(ctx, buffer); - } - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - -} - -static void -_fingerprintAlterSystemStmt(FingerprintContext *ctx, const AlterSystemStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->setstmt != NULL) { + if (node->raw_expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "setstmt"); + _fingerprintString(ctx, "raw_expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); + _fingerprintNode(ctx, node->raw_expr, node, "raw_expr", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8743,35 +10448,25 @@ _fingerprintAlterSystemStmt(FingerprintContext *ctx, const AlterSystemStmt *node XXH3_freeState(prev); } -} - -static void -_fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->cmd_name != NULL) { - _fingerprintString(ctx, "cmd_name"); - _fingerprintString(ctx, node->cmd_name); - } - - if (node->permissive) { - _fingerprintString(ctx, "permissive"); + if (node->reset_default_tblspc) { + _fingerprintString(ctx, "reset_default_tblspc"); _fingerprintString(ctx, "true"); } - if (node->policy_name != NULL) { - _fingerprintString(ctx, "policy_name"); - _fingerprintString(ctx, node->policy_name); + if (node->skip_validation) { + _fingerprintString(ctx, "skip_validation"); + _fingerprintString(ctx, "true"); } - if (node->qual != NULL) { + if (node->where_clause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "qual"); + _fingerprintString(ctx, "where_clause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); + _fingerprintNode(ctx, node->where_clause, node, "where_clause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8780,31 +10475,38 @@ _fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *no XXH3_freeState(prev); } - if (node->roles != NULL && node->roles->length > 0) { +} + +static void +_fingerprintCreateTableSpaceStmt(FingerprintContext *ctx, const CreateTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->location for fingerprinting + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "roles"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->table != NULL) { + if (node->owner != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "table"); + _fingerprintString(ctx, "owner"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->table, node, "table", depth + 1); + _fingerprintRoleSpec(ctx, node->owner, node, "owner", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8813,49 +10515,81 @@ _fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *no XXH3_freeState(prev); } - if (node->with_check != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (node->tablespacename != NULL) { + _fingerprintString(ctx, "tablespacename"); + _fingerprintString(ctx, node->tablespacename); + } - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "with_check"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->with_check, node, "with_check", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +static void +_fingerprintDropTableSpaceStmt(FingerprintContext *ctx, const DropTableSpaceStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->tablespacename != NULL) { + _fingerprintString(ctx, "tablespacename"); + _fingerprintString(ctx, node->tablespacename); } } static void -_fingerprintAlterPolicyStmt(FingerprintContext *ctx, const AlterPolicyStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterTableSpaceOptionsStmt(FingerprintContext *ctx, const AlterTableSpaceOptionsStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->policy_name != NULL) { - _fingerprintString(ctx, "policy_name"); - _fingerprintString(ctx, node->policy_name); + if (node->isReset) { + _fingerprintString(ctx, "isReset"); + _fingerprintString(ctx, "true"); } - if (node->qual != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "qual"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->tablespacename != NULL) { + _fingerprintString(ctx, "tablespacename"); + _fingerprintString(ctx, node->tablespacename); + } + +} + +static void +_fingerprintAlterTableMoveAllStmt(FingerprintContext *ctx, const AlterTableMoveAllStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->new_tablespacename != NULL) { + _fingerprintString(ctx, "new_tablespacename"); + _fingerprintString(ctx, node->new_tablespacename); + } + + if (node->nowait) { + _fingerprintString(ctx, "nowait"); + _fingerprintString(ctx, "true"); + } + + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + } + + if (node->orig_tablespacename != NULL) { + _fingerprintString(ctx, "orig_tablespacename"); + _fingerprintString(ctx, node->orig_tablespacename); + } if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); @@ -8873,81 +10607,89 @@ _fingerprintAlterPolicyStmt(FingerprintContext *ctx, const AlterPolicyStmt *node } XXH3_freeState(prev); } - if (node->table != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; +} - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "table"); +static void +_fingerprintCreateExtensionStmt(FingerprintContext *ctx, const CreateExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->extname != NULL) { + _fingerprintString(ctx, "extname"); + _fingerprintString(ctx, node->extname); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->table, node, "table", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); } - if (node->with_check != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "with_check"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->with_check, node, "with_check", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintCreateTransformStmt(FingerprintContext *ctx, const CreateTransformStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterExtensionStmt(FingerprintContext *ctx, const AlterExtensionStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->fromsql != NULL) { + if (node->extname != NULL) { + _fingerprintString(ctx, "extname"); + _fingerprintString(ctx, node->extname); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fromsql"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->fromsql, node, "fromsql", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->lang != NULL) { - _fingerprintString(ctx, "lang"); - _fingerprintString(ctx, node->lang); +static void +_fingerprintAlterExtensionContentsStmt(FingerprintContext *ctx, const AlterExtensionContentsStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->action != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->action); + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, buffer); } - if (node->replace) { - _fingerprintString(ctx, "replace"); - _fingerprintString(ctx, "true"); + if (node->extname != NULL) { + _fingerprintString(ctx, "extname"); + _fingerprintString(ctx, node->extname); } - if (node->tosql != NULL) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tosql"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->tosql, node, "tosql", depth + 1); + _fingerprintNode(ctx, node->object, node, "object", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -8956,49 +10698,47 @@ _fingerprintCreateTransformStmt(FingerprintContext *ctx, const CreateTransformSt XXH3_freeState(prev); } - if (node->type_name != NULL) { + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + } + +} + +static void +_fingerprintCreateFdwStmt(FingerprintContext *ctx, const CreateFdwStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->fdwname != NULL) { + _fingerprintString(ctx, "fdwname"); + _fingerprintString(ctx, node->fdwname); + } + + if (node->func_options != NULL && node->func_options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "type_name"); + _fingerprintString(ctx, "func_options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->type_name, node, "type_name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->func_options, node, "func_options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_options) == 1 && linitial(node->func_options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintCreateAmStmt(FingerprintContext *ctx, const CreateAmStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->amname != NULL) { - _fingerprintString(ctx, "amname"); - _fingerprintString(ctx, node->amname); - } - - if (node->amtype != 0) { - char buffer[2] = {node->amtype, '\0'}; - _fingerprintString(ctx, "amtype"); - _fingerprintString(ctx, buffer); - } - - if (node->handler_name != NULL && node->handler_name->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "handler_name"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->handler_name, node, "handler_name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->handler_name) == 1 && linitial(node->handler_name) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -9008,44 +10748,39 @@ _fingerprintCreateAmStmt(FingerprintContext *ctx, const CreateAmStmt *node, cons } static void -_fingerprintCreatePublicationStmt(FingerprintContext *ctx, const CreatePublicationStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterFdwStmt(FingerprintContext *ctx, const AlterFdwStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->for_all_tables) { - _fingerprintString(ctx, "for_all_tables"); - _fingerprintString(ctx, "true"); + if (node->fdwname != NULL) { + _fingerprintString(ctx, "fdwname"); + _fingerprintString(ctx, node->fdwname); } - if (node->options != NULL && node->options->length > 0) { + if (node->func_options != NULL && node->func_options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "func_options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->func_options, node, "func_options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_options) == 1 && linitial(node->func_options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->pubname != NULL) { - _fingerprintString(ctx, "pubname"); - _fingerprintString(ctx, node->pubname); - } - - if (node->pubobjects != NULL && node->pubobjects->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "pubobjects"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->pubobjects, node, "pubobjects", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pubobjects) == 1 && linitial(node->pubobjects) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -9055,15 +10790,15 @@ _fingerprintCreatePublicationStmt(FingerprintContext *ctx, const CreatePublicati } static void -_fingerprintAlterPublicationStmt(FingerprintContext *ctx, const AlterPublicationStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateForeignServerStmt(FingerprintContext *ctx, const CreateForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, _enumToStringAlterPublicationAction(node->action)); + if (node->fdwname != NULL) { + _fingerprintString(ctx, "fdwname"); + _fingerprintString(ctx, node->fdwname); } - if (node->for_all_tables) { - _fingerprintString(ctx, "for_all_tables"); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); _fingerprintString(ctx, "true"); } @@ -9083,35 +10818,29 @@ _fingerprintAlterPublicationStmt(FingerprintContext *ctx, const AlterPublication } XXH3_freeState(prev); } - if (node->pubname != NULL) { - _fingerprintString(ctx, "pubname"); - _fingerprintString(ctx, node->pubname); + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); } - if (node->pubobjects != NULL && node->pubobjects->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "pubobjects"); + if (node->servertype != NULL) { + _fingerprintString(ctx, "servertype"); + _fingerprintString(ctx, node->servertype); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->pubobjects, node, "pubobjects", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pubobjects) == 1 && linitial(node->pubobjects) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->version != NULL) { + _fingerprintString(ctx, "version"); + _fingerprintString(ctx, node->version); } + } static void -_fingerprintCreateSubscriptionStmt(FingerprintContext *ctx, const CreateSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterForeignServerStmt(FingerprintContext *ctx, const AlterForeignServerStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->conninfo != NULL) { - _fingerprintString(ctx, "conninfo"); - _fingerprintString(ctx, node->conninfo); + if (node->has_version) { + _fingerprintString(ctx, "has_version"); + _fingerprintString(ctx, "true"); } if (node->options != NULL && node->options->length > 0) { @@ -9130,40 +10859,52 @@ _fingerprintCreateSubscriptionStmt(FingerprintContext *ctx, const CreateSubscrip } XXH3_freeState(prev); } - if (node->publication != NULL && node->publication->length > 0) { + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); + } + + if (node->version != NULL) { + _fingerprintString(ctx, "version"); + _fingerprintString(ctx, node->version); + } + +} + +static void +_fingerprintCreateForeignTableStmt(FingerprintContext *ctx, const CreateForeignTableStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + _fingerprintString(ctx, "base"); + _fingerprintCreateStmt(ctx, (const CreateStmt*) &node->base, node, "base", depth); + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "publication"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->publication, node, "publication", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->publication) == 1 && linitial(node->publication) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->subname != NULL) { - _fingerprintString(ctx, "subname"); - _fingerprintString(ctx, node->subname); + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); } } static void -_fingerprintAlterSubscriptionStmt(FingerprintContext *ctx, const AlterSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateUserMappingStmt(FingerprintContext *ctx, const CreateUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->conninfo != NULL) { - _fingerprintString(ctx, "conninfo"); - _fingerprintString(ctx, node->conninfo); - } - - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringAlterSubscriptionType(node->kind)); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); } if (node->options != NULL && node->options->length > 0) { @@ -9182,146 +10923,154 @@ _fingerprintAlterSubscriptionStmt(FingerprintContext *ctx, const AlterSubscripti } XXH3_freeState(prev); } - if (node->publication != NULL && node->publication->length > 0) { + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); + } + + if (node->user != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "publication"); + _fingerprintString(ctx, "user"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->publication, node, "publication", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->publication) == 1 && linitial(node->publication) == NIL)) { + _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->subname != NULL) { - _fingerprintString(ctx, "subname"); - _fingerprintString(ctx, node->subname); - } - -} - -static void -_fingerprintDropSubscriptionStmt(FingerprintContext *ctx, const DropSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "behavior"); - _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); - } - - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->subname != NULL) { - _fingerprintString(ctx, "subname"); - _fingerprintString(ctx, node->subname); - } } static void -_fingerprintCreateStatsStmt(FingerprintContext *ctx, const CreateStatsStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterUserMappingStmt(FingerprintContext *ctx, const AlterUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->defnames != NULL && node->defnames->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "defnames"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->exprs != NULL && node->exprs->length > 0) { + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); + } + + if (node->user != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "exprs"); + _fingerprintString(ctx, "user"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->exprs, node, "exprs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exprs) == 1 && linitial(node->exprs) == NIL)) { + _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->if_not_exists) { - _fingerprintString(ctx, "if_not_exists"); + +} + +static void +_fingerprintDropUserMappingStmt(FingerprintContext *ctx, const DropUserMappingStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); _fingerprintString(ctx, "true"); } - if (node->relations != NULL && node->relations->length > 0) { + if (node->servername != NULL) { + _fingerprintString(ctx, "servername"); + _fingerprintString(ctx, node->servername); + } + + if (node->user != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relations"); + _fingerprintString(ctx, "user"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { + _fingerprintRoleSpec(ctx, node->user, node, "user", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->stat_types != NULL && node->stat_types->length > 0) { + +} + +static void +_fingerprintImportForeignSchemaStmt(FingerprintContext *ctx, const ImportForeignSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "list_type"); + _fingerprintString(ctx, _enumToStringImportForeignSchemaType(node->list_type)); + } + + if (node->local_schema != NULL) { + _fingerprintString(ctx, "local_schema"); + _fingerprintString(ctx, node->local_schema); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "stat_types"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->stat_types, node, "stat_types", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->stat_types) == 1 && linitial(node->stat_types) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->stxcomment != NULL) { - _fingerprintString(ctx, "stxcomment"); - _fingerprintString(ctx, node->stxcomment); + if (node->remote_schema != NULL) { + _fingerprintString(ctx, "remote_schema"); + _fingerprintString(ctx, node->remote_schema); } - if (node->transformed) { - _fingerprintString(ctx, "transformed"); - _fingerprintString(ctx, "true"); + if (node->server_name != NULL) { + _fingerprintString(ctx, "server_name"); + _fingerprintString(ctx, node->server_name); } -} - -static void -_fingerprintAlterCollationStmt(FingerprintContext *ctx, const AlterCollationStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collname != NULL && node->collname->length > 0) { + if (node->table_list != NULL && node->table_list->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collname"); + _fingerprintString(ctx, "table_list"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { + _fingerprintNode(ctx, node->table_list, node, "table_list", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->table_list) == 1 && linitial(node->table_list) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -9331,17 +11080,32 @@ _fingerprintAlterCollationStmt(FingerprintContext *ctx, const AlterCollationStmt } static void -_fingerprintCallStmt(FingerprintContext *ctx, const CallStmt *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreatePolicyStmt(FingerprintContext *ctx, const CreatePolicyStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->funccall != NULL) { + if (node->cmd_name != NULL) { + _fingerprintString(ctx, "cmd_name"); + _fingerprintString(ctx, node->cmd_name); + } + + if (node->permissive) { + _fingerprintString(ctx, "permissive"); + _fingerprintString(ctx, "true"); + } + + if (node->policy_name != NULL) { + _fingerprintString(ctx, "policy_name"); + _fingerprintString(ctx, node->policy_name); + } + + if (node->qual != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccall"); + _fingerprintString(ctx, "qual"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintFuncCall(ctx, node->funccall, node, "funccall", depth + 1); + _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9350,94 +11114,75 @@ _fingerprintCallStmt(FingerprintContext *ctx, const CallStmt *node, const void * XXH3_freeState(prev); } - if (node->funcexpr != NULL) { + if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcexpr"); + _fingerprintString(ctx, "roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintFuncExpr(ctx, node->funcexpr, node, "funcexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->outargs != NULL && node->outargs->length > 0) { + if (node->table != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "outargs"); + _fingerprintString(ctx, "table"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->outargs, node, "outargs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->outargs) == 1 && linitial(node->outargs) == NIL)) { + _fingerprintRangeVar(ctx, node->table, node, "table", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} -static void -_fingerprintAlterStatsStmt(FingerprintContext *ctx, const AlterStatsStmt *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->defnames != NULL && node->defnames->length > 0) { + if (node->with_check != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "defnames"); + _fingerprintString(ctx, "with_check"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { + _fingerprintNode(ctx, node->with_check, node, "with_check", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->missing_ok) { - _fingerprintString(ctx, "missing_ok"); - _fingerprintString(ctx, "true"); - } - - if (node->stxstattarget != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->stxstattarget); - _fingerprintString(ctx, "stxstattarget"); - _fingerprintString(ctx, buffer); - } } static void -_fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterPolicyStmt(FingerprintContext *ctx, const AlterPolicyStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "kind"); - if (node->kind == AEXPR_OP_ANY || node->kind == AEXPR_IN) - _fingerprintString(ctx, "AEXPR_OP"); - else - _fingerprintString(ctx, _enumToStringA_Expr_Kind(node->kind)); + if (node->policy_name != NULL) { + _fingerprintString(ctx, "policy_name"); + _fingerprintString(ctx, node->policy_name); } - if (node->lexpr != NULL) { + if (node->qual != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lexpr"); + _fingerprintString(ctx, "qual"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lexpr, node, "lexpr", depth + 1); + _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9446,33 +11191,31 @@ _fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *pare XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL && node->name->length > 0) { + if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "name"); + _fingerprintString(ctx, "roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->name, node, "name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->name) == 1 && linitial(node->name) == NIL)) { + _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rexpr != NULL) { + if (node->table != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rexpr"); + _fingerprintString(ctx, "table"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rexpr, node, "rexpr", depth + 1); + _fingerprintRangeVar(ctx, node->table, node, "table", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9481,88 +11224,60 @@ _fingerprintA_Expr(FingerprintContext *ctx, const A_Expr *node, const void *pare XXH3_freeState(prev); } -} - -static void -_fingerprintColumnRef(FingerprintContext *ctx, const ColumnRef *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->fields != NULL && node->fields->length > 0) { + if (node->with_check != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fields"); + _fingerprintString(ctx, "with_check"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fields, node, "fields", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fields) == 1 && linitial(node->fields) == NIL)) { + _fingerprintNode(ctx, node->with_check, node, "with_check", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - -} -static void -_fingerprintParamRef(FingerprintContext *ctx, const ParamRef *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring all fields for fingerprinting } static void -_fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateAmStmt(FingerprintContext *ctx, const CreateAmStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->agg_distinct) { - _fingerprintString(ctx, "agg_distinct"); - _fingerprintString(ctx, "true"); + if (node->amname != NULL) { + _fingerprintString(ctx, "amname"); + _fingerprintString(ctx, node->amname); } - if (node->agg_filter != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "agg_filter"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->agg_filter, node, "agg_filter", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->amtype != 0) { + char buffer[2] = {node->amtype, '\0'}; + _fingerprintString(ctx, "amtype"); + _fingerprintString(ctx, buffer); } - if (node->agg_order != NULL && node->agg_order->length > 0) { + if (node->handler_name != NULL && node->handler_name->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "agg_order"); + _fingerprintString(ctx, "handler_name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->agg_order, node, "agg_order", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->agg_order) == 1 && linitial(node->agg_order) == NIL)) { + _fingerprintNode(ctx, node->handler_name, node, "handler_name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->handler_name) == 1 && linitial(node->handler_name) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->agg_star) { - _fingerprintString(ctx, "agg_star"); - _fingerprintString(ctx, "true"); - } - - if (node->agg_within_group) { - _fingerprintString(ctx, "agg_within_group"); - _fingerprintString(ctx, "true"); - } +} +static void +_fingerprintCreateTrigStmt(FingerprintContext *ctx, const CreateTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; @@ -9579,43 +11294,31 @@ _fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void * } XXH3_freeState(prev); } - if (node->func_variadic) { - _fingerprintString(ctx, "func_variadic"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "funcformat"); - _fingerprintString(ctx, _enumToStringCoercionForm(node->funcformat)); - } - - if (node->funcname != NULL && node->funcname->length > 0) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcname"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->over != NULL) { + if (node->constrrel != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "over"); + _fingerprintString(ctx, "constrrel"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintWindowDef(ctx, node->over, node, "over", depth + 1); + _fingerprintRangeVar(ctx, node->constrrel, node, "constrrel", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9624,47 +11327,53 @@ _fingerprintFuncCall(FingerprintContext *ctx, const FuncCall *node, const void * XXH3_freeState(prev); } -} - -static void -_fingerprintA_Star(FingerprintContext *ctx, const A_Star *node, const void *parent, const char *field_name, unsigned int depth) -{ -} - -static void -_fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->is_slice) { - _fingerprintString(ctx, "is_slice"); + if (node->deferrable) { + _fingerprintString(ctx, "deferrable"); _fingerprintString(ctx, "true"); } - if (node->lidx != NULL) { + if (node->events != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->events); + _fingerprintString(ctx, "events"); + _fingerprintString(ctx, buffer); + } + + if (node->funcname != NULL && node->funcname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lidx"); + _fingerprintString(ctx, "funcname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lidx, node, "lidx", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->initdeferred) { + _fingerprintString(ctx, "initdeferred"); + _fingerprintString(ctx, "true"); + } - if (node->uidx != NULL) { + if (node->isconstraint) { + _fingerprintString(ctx, "isconstraint"); + _fingerprintString(ctx, "true"); + } + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "uidx"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->uidx, node, "uidx", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9673,245 +11382,260 @@ _fingerprintA_Indices(FingerprintContext *ctx, const A_Indices *node, const void XXH3_freeState(prev); } -} - -static void -_fingerprintA_Indirection(FingerprintContext *ctx, const A_Indirection *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + if (node->row) { + _fingerprintString(ctx, "row"); + _fingerprintString(ctx, "true"); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->timing != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->timing); + _fingerprintString(ctx, "timing"); + _fingerprintString(ctx, buffer); } - if (node->indirection != NULL && node->indirection->length > 0) { + if (node->transitionRels != NULL && node->transitionRels->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indirection"); + _fingerprintString(ctx, "transitionRels"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { + _fingerprintNode(ctx, node->transitionRels, node, "transitionRels", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->transitionRels) == 1 && linitial(node->transitionRels) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} + if (node->trigname != NULL) { + _fingerprintString(ctx, "trigname"); + _fingerprintString(ctx, node->trigname); + } -static void -_fingerprintA_ArrayExpr(FingerprintContext *ctx, const A_ArrayExpr *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->elements != NULL && node->elements->length > 0) { + if (node->whenClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "elements"); + _fingerprintString(ctx, "whenClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->elements, node, "elements", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->elements) == 1 && linitial(node->elements) == NIL)) { + _fingerprintNode(ctx, node->whenClause, node, "whenClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting } static void -_fingerprintResTarget(FingerprintContext *ctx, const ResTarget *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateEventTrigStmt(FingerprintContext *ctx, const CreateEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->indirection != NULL && node->indirection->length > 0) { + if (node->eventname != NULL) { + _fingerprintString(ctx, "eventname"); + _fingerprintString(ctx, node->eventname); + } + + if (node->funcname != NULL && node->funcname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indirection"); + _fingerprintString(ctx, "funcname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indirection, node, "indirection", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indirection) == 1 && linitial(node->indirection) == NIL)) { + _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL && (field_name == NULL || parent == NULL || !IsA(parent, SelectStmt) || strcmp(field_name, "targetList") != 0)) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->trigname != NULL) { + _fingerprintString(ctx, "trigname"); + _fingerprintString(ctx, node->trigname); } - if (node->val != NULL) { + if (node->whenclause != NULL && node->whenclause->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "val"); + _fingerprintString(ctx, "whenclause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->val, node, "val", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->whenclause, node, "whenclause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->whenclause) == 1 && linitial(node->whenclause) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintMultiAssignRef(FingerprintContext *ctx, const MultiAssignRef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterEventTrigStmt(FingerprintContext *ctx, const AlterEventTrigStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->colno != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->colno); - _fingerprintString(ctx, "colno"); + if (node->tgenabled != 0) { + char buffer[2] = {node->tgenabled, '\0'}; + _fingerprintString(ctx, "tgenabled"); _fingerprintString(ctx, buffer); } - if (node->ncolumns != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ncolumns); - _fingerprintString(ctx, "ncolumns"); - _fingerprintString(ctx, buffer); + if (node->trigname != NULL) { + _fingerprintString(ctx, "trigname"); + _fingerprintString(ctx, node->trigname); } - if (node->source != NULL) { +} + +static void +_fingerprintCreatePLangStmt(FingerprintContext *ctx, const CreatePLangStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->plhandler != NULL && node->plhandler->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "source"); + _fingerprintString(ctx, "plhandler"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->source, node, "source", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->plhandler, node, "plhandler", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plhandler) == 1 && linitial(node->plhandler) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintTypeCast(FingerprintContext *ctx, const TypeCast *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { + if (node->plinline != NULL && node->plinline->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "plinline"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->plinline, node, "plinline", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plinline) == 1 && linitial(node->plinline) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->plname != NULL) { + _fingerprintString(ctx, "plname"); + _fingerprintString(ctx, node->plname); + } - // Intentionally ignoring node->location for fingerprinting + if (node->pltrusted) { + _fingerprintString(ctx, "pltrusted"); + _fingerprintString(ctx, "true"); + } - if (node->typeName != NULL) { + if (node->plvalidator != NULL && node->plvalidator->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "plvalidator"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->plvalidator, node, "plvalidator", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->plvalidator) == 1 && linitial(node->plvalidator) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } } static void -_fingerprintCollateClause(FingerprintContext *ctx, const CollateClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateRoleStmt(FingerprintContext *ctx, const CreateRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arg != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->role != NULL) { + _fingerprintString(ctx, "role"); + _fingerprintString(ctx, node->role); + } - if (node->collname != NULL && node->collname->length > 0) { + if (true) { + _fingerprintString(ctx, "stmt_type"); + _fingerprintString(ctx, _enumToStringRoleStmtType(node->stmt_type)); + } + +} + +static void +_fingerprintAlterRoleStmt(FingerprintContext *ctx, const AlterRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->action != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->action); + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, buffer); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collname"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collname, node, "collname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collname) == 1 && linitial(node->collname) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - -} - -static void -_fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting - - if (node->node != NULL) { + if (node->role != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "node"); + _fingerprintString(ctx, "role"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->node, node, "node", depth + 1); + _fingerprintRoleSpec(ctx, node->role, node, "role", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9920,46 +11644,42 @@ _fingerprintSortBy(FingerprintContext *ctx, const SortBy *node, const void *pare XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "sortby_dir"); - _fingerprintString(ctx, _enumToStringSortByDir(node->sortby_dir)); - } +} - if (true) { - _fingerprintString(ctx, "sortby_nulls"); - _fingerprintString(ctx, _enumToStringSortByNulls(node->sortby_nulls)); +static void +_fingerprintAlterRoleSetStmt(FingerprintContext *ctx, const AlterRoleSetStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->database != NULL) { + _fingerprintString(ctx, "database"); + _fingerprintString(ctx, node->database); } - if (node->useOp != NULL && node->useOp->length > 0) { + if (node->role != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "useOp"); + _fingerprintString(ctx, "role"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->useOp, node, "useOp", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->useOp) == 1 && linitial(node->useOp) == NIL)) { + _fingerprintRoleSpec(ctx, node->role, node, "role", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } -} -static void -_fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->endOffset != NULL) { + if (node->setstmt != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "endOffset"); + _fingerprintString(ctx, "setstmt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); + _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -9968,66 +11688,79 @@ _fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void XXH3_freeState(prev); } - if (node->frameOptions != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->frameOptions); - _fingerprintString(ctx, "frameOptions"); - _fingerprintString(ctx, buffer); - } - - // Intentionally ignoring node->location for fingerprinting +} - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); +static void +_fingerprintDropRoleStmt(FingerprintContext *ctx, const DropRoleStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); } - if (node->orderClause != NULL && node->orderClause->length > 0) { + if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "orderClause"); + _fingerprintString(ctx, "roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { + _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->partitionClause != NULL && node->partitionClause->length > 0) { +} + +static void +_fingerprintCreateSeqStmt(FingerprintContext *ctx, const CreateSeqStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->for_identity) { + _fingerprintString(ctx, "for_identity"); + _fingerprintString(ctx, "true"); + } + + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partitionClause"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->refname != NULL) { - _fingerprintString(ctx, "refname"); - _fingerprintString(ctx, node->refname); + if (node->ownerId != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->ownerId); + _fingerprintString(ctx, "ownerId"); + _fingerprintString(ctx, buffer); } - if (node->startOffset != NULL) { + if (node->sequence != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "startOffset"); + _fingerprintString(ctx, "sequence"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); + _fingerprintRangeVar(ctx, node->sequence, node, "sequence", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10039,39 +11772,43 @@ _fingerprintWindowDef(FingerprintContext *ctx, const WindowDef *node, const void } static void -_fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterSeqStmt(FingerprintContext *ctx, const AlterSeqStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->for_identity) { + _fingerprintString(ctx, "for_identity"); + _fingerprintString(ctx, "true"); + } + + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->lateral) { - _fingerprintString(ctx, "lateral"); - _fingerprintString(ctx, "true"); - } - - if (node->subquery != NULL) { + if (node->sequence != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "subquery"); + _fingerprintString(ctx, "sequence"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->subquery, node, "subquery", depth + 1); + _fingerprintRangeVar(ctx, node->sequence, node, "sequence", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10083,137 +11820,139 @@ _fingerprintRangeSubselect(FingerprintContext *ctx, const RangeSubselect *node, } static void -_fingerprintRangeFunction(FingerprintContext *ctx, const RangeFunction *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintDefineStmt(FingerprintContext *ctx, const DefineStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->args != NULL && node->args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->args, node, "args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->coldeflist != NULL && node->coldeflist->length > 0) { + if (node->definition != NULL && node->definition->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coldeflist"); + _fingerprintString(ctx, "definition"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { + _fingerprintNode(ctx, node->definition, node, "definition", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->definition) == 1 && linitial(node->definition) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->functions != NULL && node->functions->length > 0) { + if (node->defnames != NULL && node->defnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "functions"); + _fingerprintString(ctx, "defnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { + _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->is_rowsfrom) { - _fingerprintString(ctx, "is_rowsfrom"); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); _fingerprintString(ctx, "true"); } - if (node->lateral) { - _fingerprintString(ctx, "lateral"); + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringObjectType(node->kind)); + } + + if (node->oldstyle) { + _fingerprintString(ctx, "oldstyle"); _fingerprintString(ctx, "true"); } - if (node->ordinality) { - _fingerprintString(ctx, "ordinality"); + if (node->replace) { + _fingerprintString(ctx, "replace"); _fingerprintString(ctx, "true"); } } static void -_fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateDomainStmt(FingerprintContext *ctx, const CreateDomainStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->args != NULL && node->args->length > 0) { + if (node->collClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "collClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - if (node->method != NULL && node->method->length > 0) { + if (node->constraints != NULL && node->constraints->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "method"); + _fingerprintString(ctx, "constraints"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->method, node, "method", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->method) == 1 && linitial(node->method) == NIL)) { + _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + if (node->domainname != NULL && node->domainname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "domainname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->domainname, node, "domainname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->domainname) == 1 && linitial(node->domainname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->repeatable != NULL) { + if (node->typeName != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "repeatable"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); + _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10225,90 +11964,120 @@ _fingerprintRangeTableSample(FingerprintContext *ctx, const RangeTableSample *no } static void -_fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateOpClassStmt(FingerprintContext *ctx, const CreateOpClassStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->amname != NULL) { + _fingerprintString(ctx, "amname"); + _fingerprintString(ctx, node->amname); + } + + if (node->datatype != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "datatype"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintTypeName(ctx, node->datatype, node, "datatype", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + + if (node->isDefault) { + _fingerprintString(ctx, "isDefault"); + _fingerprintString(ctx, "true"); + } + + if (node->items != NULL && node->items->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "items"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->items, node, "items", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->items) == 1 && linitial(node->items) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->columns != NULL && node->columns->length > 0) { + if (node->opclassname != NULL && node->opclassname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "columns"); + _fingerprintString(ctx, "opclassname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { + _fingerprintNode(ctx, node->opclassname, node, "opclassname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassname) == 1 && linitial(node->opclassname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->docexpr != NULL) { + if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "docexpr"); + _fingerprintString(ctx, "opfamilyname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->docexpr, node, "docexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->lateral) { - _fingerprintString(ctx, "lateral"); - _fingerprintString(ctx, "true"); - } - - // Intentionally ignoring node->location for fingerprinting - - if (node->namespaces != NULL && node->namespaces->length > 0) { +static void +_fingerprintCreateOpClassItem(FingerprintContext *ctx, const CreateOpClassItem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->class_args != NULL && node->class_args->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "namespaces"); + _fingerprintString(ctx, "class_args"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->namespaces, node, "namespaces", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->namespaces) == 1 && linitial(node->namespaces) == NIL)) { + _fingerprintNode(ctx, node->class_args, node, "class_args", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->class_args) == 1 && linitial(node->class_args) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->rowexpr != NULL) { + if (node->itemtype != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->itemtype); + _fingerprintString(ctx, "itemtype"); + _fingerprintString(ctx, buffer); + } + + if (node->name != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "rowexpr"); + _fingerprintString(ctx, "name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->rowexpr, node, "rowexpr", depth + 1); + _fingerprintObjectWithArgs(ctx, node->name, node, "name", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10317,37 +12086,38 @@ _fingerprintRangeTableFunc(FingerprintContext *ctx, const RangeTableFunc *node, XXH3_freeState(prev); } -} + if (node->number != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->number); + _fingerprintString(ctx, "number"); + _fingerprintString(ctx, buffer); + } -static void -_fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->coldefexpr != NULL) { + if (node->order_family != NULL && node->order_family->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coldefexpr"); + _fingerprintString(ctx, "order_family"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coldefexpr, node, "coldefexpr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->order_family, node, "order_family", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->order_family) == 1 && linitial(node->order_family) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->colexpr != NULL) { + if (node->storedtype != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colexpr"); + _fingerprintString(ctx, "storedtype"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colexpr, node, "colexpr", depth + 1); + _fingerprintTypeName(ctx, node->storedtype, node, "storedtype", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10356,228 +12126,243 @@ _fingerprintRangeTableFuncCol(FingerprintContext *ctx, const RangeTableFuncCol * XXH3_freeState(prev); } - if (node->colname != NULL) { - _fingerprintString(ctx, "colname"); - _fingerprintString(ctx, node->colname); - } - - if (node->for_ordinality) { - _fingerprintString(ctx, "for_ordinality"); - _fingerprintString(ctx, "true"); - } +} - if (node->is_not_null) { - _fingerprintString(ctx, "is_not_null"); - _fingerprintString(ctx, "true"); +static void +_fingerprintCreateOpFamilyStmt(FingerprintContext *ctx, const CreateOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->amname != NULL) { + _fingerprintString(ctx, "amname"); + _fingerprintString(ctx, node->amname); } - // Intentionally ignoring node->location for fingerprinting - - if (node->typeName != NULL) { + if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "opfamilyname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintTypeName(FingerprintContext *ctx, const TypeName *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterOpFamilyStmt(FingerprintContext *ctx, const AlterOpFamilyStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->arrayBounds != NULL && node->arrayBounds->length > 0) { + if (node->amname != NULL) { + _fingerprintString(ctx, "amname"); + _fingerprintString(ctx, node->amname); + } + + if (node->isDrop) { + _fingerprintString(ctx, "isDrop"); + _fingerprintString(ctx, "true"); + } + + if (node->items != NULL && node->items->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arrayBounds"); + _fingerprintString(ctx, "items"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arrayBounds, node, "arrayBounds", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->arrayBounds) == 1 && linitial(node->arrayBounds) == NIL)) { + _fingerprintNode(ctx, node->items, node, "items", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->items) == 1 && linitial(node->items) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->names != NULL && node->names->length > 0) { + if (node->opfamilyname != NULL && node->opfamilyname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "names"); + _fingerprintString(ctx, "opfamilyname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->names, node, "names", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->names) == 1 && linitial(node->names) == NIL)) { + _fingerprintNode(ctx, node->opfamilyname, node, "opfamilyname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opfamilyname) == 1 && linitial(node->opfamilyname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->pct_type) { - _fingerprintString(ctx, "pct_type"); - _fingerprintString(ctx, "true"); - } +} - if (node->setof) { - _fingerprintString(ctx, "setof"); - _fingerprintString(ctx, "true"); +static void +_fingerprintDropStmt(FingerprintContext *ctx, const DropStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); } - if (node->typeOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typeOid); - _fingerprintString(ctx, "typeOid"); - _fingerprintString(ctx, buffer); + if (node->concurrent) { + _fingerprintString(ctx, "concurrent"); + _fingerprintString(ctx, "true"); } - if (node->typemod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->typemod); - _fingerprintString(ctx, "typemod"); - _fingerprintString(ctx, buffer); + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); } - if (node->typmods != NULL && node->typmods->length > 0) { + if (node->objects != NULL && node->objects->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typmods"); + _fingerprintString(ctx, "objects"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->typmods, node, "typmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typmods) == 1 && linitial(node->typmods) == NIL)) { + _fingerprintNode(ctx, node->objects, node, "objects", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objects) == 1 && linitial(node->objects) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (true) { + _fingerprintString(ctx, "removeType"); + _fingerprintString(ctx, _enumToStringObjectType(node->removeType)); + } + } static void -_fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintTruncateStmt(FingerprintContext *ctx, const TruncateStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->collClause != NULL) { + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } + + if (node->relations != NULL && node->relations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collClause"); + _fingerprintString(ctx, "relations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCollateClause(ctx, node->collClause, node, "collClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->collOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->collOid); - _fingerprintString(ctx, "collOid"); - _fingerprintString(ctx, buffer); + if (node->restart_seqs) { + _fingerprintString(ctx, "restart_seqs"); + _fingerprintString(ctx, "true"); } - if (node->colname != NULL) { - _fingerprintString(ctx, "colname"); - _fingerprintString(ctx, node->colname); - } +} - if (node->compression != NULL) { - _fingerprintString(ctx, "compression"); - _fingerprintString(ctx, node->compression); +static void +_fingerprintCommentStmt(FingerprintContext *ctx, const CommentStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->comment != NULL) { + _fingerprintString(ctx, "comment"); + _fingerprintString(ctx, node->comment); } - if (node->constraints != NULL && node->constraints->length > 0) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "constraints"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { + _fingerprintNode(ctx, node->object, node, "object", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cooked_default != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cooked_default"); + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cooked_default, node, "cooked_default", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +} + +static void +_fingerprintSecLabelStmt(FingerprintContext *ctx, const SecLabelStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->label != NULL) { + _fingerprintString(ctx, "label"); + _fingerprintString(ctx, node->label); } - if (node->fdwoptions != NULL && node->fdwoptions->length > 0) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fdwoptions"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fdwoptions, node, "fdwoptions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fdwoptions) == 1 && linitial(node->fdwoptions) == NIL)) { + _fingerprintNode(ctx, node->object, node, "object", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->generated != 0) { - char buffer[2] = {node->generated, '\0'}; - _fingerprintString(ctx, "generated"); - _fingerprintString(ctx, buffer); + + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); } - if (node->identity != 0) { - char buffer[2] = {node->identity, '\0'}; - _fingerprintString(ctx, "identity"); + if (node->provider != NULL) { + _fingerprintString(ctx, "provider"); + _fingerprintString(ctx, node->provider); + } + +} + +static void +_fingerprintDeclareCursorStmt(FingerprintContext *ctx, const DeclareCursorStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->options != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->options); + _fingerprintString(ctx, "options"); _fingerprintString(ctx, buffer); } - if (node->identitySequence != NULL) { + // Intentionally ignoring node->portalname for fingerprinting + + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "identitySequence"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->identitySequence, node, "identitySequence", depth + 1); + _fingerprintNode(ctx, node->query, node, "query", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10586,174 +12371,193 @@ _fingerprintColumnDef(FingerprintContext *ctx, const ColumnDef *node, const void XXH3_freeState(prev); } - if (node->inhcount != 0) { +} + +static void +_fingerprintClosePortalStmt(FingerprintContext *ctx, const ClosePortalStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->portalname for fingerprinting + +} + +static void +_fingerprintFetchStmt(FingerprintContext *ctx, const FetchStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "direction"); + _fingerprintString(ctx, _enumToStringFetchDirection(node->direction)); + } + + if (node->howMany != 0) { char buffer[50]; - sprintf(buffer, "%d", node->inhcount); - _fingerprintString(ctx, "inhcount"); + sprintf(buffer, "%ld", node->howMany); + _fingerprintString(ctx, "howMany"); _fingerprintString(ctx, buffer); } - if (node->is_from_type) { - _fingerprintString(ctx, "is_from_type"); + if (node->ismove) { + _fingerprintString(ctx, "ismove"); _fingerprintString(ctx, "true"); } - if (node->is_local) { - _fingerprintString(ctx, "is_local"); - _fingerprintString(ctx, "true"); + // Intentionally ignoring node->portalname for fingerprinting + +} + +static void +_fingerprintIndexStmt(FingerprintContext *ctx, const IndexStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->accessMethod != NULL) { + _fingerprintString(ctx, "accessMethod"); + _fingerprintString(ctx, node->accessMethod); } - if (node->is_not_null) { - _fingerprintString(ctx, "is_not_null"); + if (node->concurrent) { + _fingerprintString(ctx, "concurrent"); _fingerprintString(ctx, "true"); } - // Intentionally ignoring node->location for fingerprinting + if (node->deferrable) { + _fingerprintString(ctx, "deferrable"); + _fingerprintString(ctx, "true"); + } - if (node->raw_default != NULL) { + if (node->excludeOpNames != NULL && node->excludeOpNames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "raw_default"); + _fingerprintString(ctx, "excludeOpNames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->raw_default, node, "raw_default", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->excludeOpNames, node, "excludeOpNames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->excludeOpNames) == 1 && linitial(node->excludeOpNames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->storage != 0) { - char buffer[2] = {node->storage, '\0'}; - _fingerprintString(ctx, "storage"); - _fingerprintString(ctx, buffer); + if (node->idxcomment != NULL) { + _fingerprintString(ctx, "idxcomment"); + _fingerprintString(ctx, node->idxcomment); } - if (node->typeName != NULL) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->idxname != NULL) { + _fingerprintString(ctx, "idxname"); + _fingerprintString(ctx, node->idxname); } -} + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); + } -static void -_fingerprintIndexElem(FingerprintContext *ctx, const IndexElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->collation != NULL && node->collation->length > 0) { + if (node->indexIncludingParams != NULL && node->indexIncludingParams->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, "indexIncludingParams"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { + _fingerprintNode(ctx, node->indexIncludingParams, node, "indexIncludingParams", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexIncludingParams) == 1 && linitial(node->indexIncludingParams) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->expr != NULL) { + if (node->indexOid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->indexOid); + _fingerprintString(ctx, "indexOid"); + _fingerprintString(ctx, buffer); + } + + if (node->indexParams != NULL && node->indexParams->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "indexParams"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->indexParams, node, "indexParams", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexParams) == 1 && linitial(node->indexParams) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->indexcolname != NULL) { - _fingerprintString(ctx, "indexcolname"); - _fingerprintString(ctx, node->indexcolname); + if (node->initdeferred) { + _fingerprintString(ctx, "initdeferred"); + _fingerprintString(ctx, "true"); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (node->isconstraint) { + _fingerprintString(ctx, "isconstraint"); + _fingerprintString(ctx, "true"); } - if (true) { - _fingerprintString(ctx, "nulls_ordering"); - _fingerprintString(ctx, _enumToStringSortByNulls(node->nulls_ordering)); + if (node->nulls_not_distinct) { + _fingerprintString(ctx, "nulls_not_distinct"); + _fingerprintString(ctx, "true"); } - if (node->opclass != NULL && node->opclass->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; + if (node->oldCreateSubid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->oldCreateSubid); + _fingerprintString(ctx, "oldCreateSubid"); + _fingerprintString(ctx, buffer); + } - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclass"); + if (node->oldFirstRelfilelocatorSubid != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->oldFirstRelfilelocatorSubid); + _fingerprintString(ctx, "oldFirstRelfilelocatorSubid"); + _fingerprintString(ctx, buffer); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->oldNumber != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->oldNumber); + _fingerprintString(ctx, "oldNumber"); + _fingerprintString(ctx, buffer); } - if (node->opclassopts != NULL && node->opclassopts->length > 0) { + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclassopts"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclassopts, node, "opclassopts", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclassopts) == 1 && linitial(node->opclassopts) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "ordering"); - _fingerprintString(ctx, _enumToStringSortByDir(node->ordering)); + if (node->primary) { + _fingerprintString(ctx, "primary"); + _fingerprintString(ctx, "true"); } -} - -static void -_fingerprintStatsElem(FingerprintContext *ctx, const StatsElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->expr != NULL) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -10762,285 +12566,255 @@ _fingerprintStatsElem(FingerprintContext *ctx, const StatsElem *node, const void XXH3_freeState(prev); } - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - -} - -static void -_fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->access_method != NULL) { - _fingerprintString(ctx, "access_method"); - _fingerprintString(ctx, node->access_method); - } - - if (node->conname != NULL) { - _fingerprintString(ctx, "conname"); - _fingerprintString(ctx, node->conname); - } - - if (true) { - _fingerprintString(ctx, "contype"); - _fingerprintString(ctx, _enumToStringConstrType(node->contype)); + if (node->reset_default_tblspc) { + _fingerprintString(ctx, "reset_default_tblspc"); + _fingerprintString(ctx, "true"); } - if (node->cooked_expr != NULL) { - _fingerprintString(ctx, "cooked_expr"); - _fingerprintString(ctx, node->cooked_expr); + if (node->tableSpace != NULL) { + _fingerprintString(ctx, "tableSpace"); + _fingerprintString(ctx, node->tableSpace); } - if (node->deferrable) { - _fingerprintString(ctx, "deferrable"); + if (node->transformed) { + _fingerprintString(ctx, "transformed"); _fingerprintString(ctx, "true"); } - if (node->exclusions != NULL && node->exclusions->length > 0) { + if (node->unique) { + _fingerprintString(ctx, "unique"); + _fingerprintString(ctx, "true"); + } + + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "exclusions"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->exclusions, node, "exclusions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exclusions) == 1 && linitial(node->exclusions) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->fk_attrs != NULL && node->fk_attrs->length > 0) { + +} + +static void +_fingerprintCreateStatsStmt(FingerprintContext *ctx, const CreateStatsStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->defnames != NULL && node->defnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fk_attrs"); + _fingerprintString(ctx, "defnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fk_attrs, node, "fk_attrs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fk_attrs) == 1 && linitial(node->fk_attrs) == NIL)) { + _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->fk_del_action != 0) { - char buffer[2] = {node->fk_del_action, '\0'}; - _fingerprintString(ctx, "fk_del_action"); - _fingerprintString(ctx, buffer); - } - - if (node->fk_del_set_cols != NULL && node->fk_del_set_cols->length > 0) { + if (node->exprs != NULL && node->exprs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "fk_del_set_cols"); + _fingerprintString(ctx, "exprs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->fk_del_set_cols, node, "fk_del_set_cols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->fk_del_set_cols) == 1 && linitial(node->fk_del_set_cols) == NIL)) { + _fingerprintNode(ctx, node->exprs, node, "exprs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->exprs) == 1 && linitial(node->exprs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->fk_matchtype != 0) { - char buffer[2] = {node->fk_matchtype, '\0'}; - _fingerprintString(ctx, "fk_matchtype"); - _fingerprintString(ctx, buffer); - } - - if (node->fk_upd_action != 0) { - char buffer[2] = {node->fk_upd_action, '\0'}; - _fingerprintString(ctx, "fk_upd_action"); - _fingerprintString(ctx, buffer); - } - - if (node->generated_when != 0) { - char buffer[2] = {node->generated_when, '\0'}; - _fingerprintString(ctx, "generated_when"); - _fingerprintString(ctx, buffer); + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); } - if (node->including != NULL && node->including->length > 0) { + if (node->relations != NULL && node->relations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "including"); + _fingerprintString(ctx, "relations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->including, node, "including", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->including) == 1 && linitial(node->including) == NIL)) { + _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->indexname != NULL) { - _fingerprintString(ctx, "indexname"); - _fingerprintString(ctx, node->indexname); - } - - if (node->indexspace != NULL) { - _fingerprintString(ctx, "indexspace"); - _fingerprintString(ctx, node->indexspace); - } - - if (node->initdeferred) { - _fingerprintString(ctx, "initdeferred"); - _fingerprintString(ctx, "true"); - } - - if (node->initially_valid) { - _fingerprintString(ctx, "initially_valid"); - _fingerprintString(ctx, "true"); - } - - if (node->is_no_inherit) { - _fingerprintString(ctx, "is_no_inherit"); - _fingerprintString(ctx, "true"); - } - - if (node->keys != NULL && node->keys->length > 0) { + if (node->stat_types != NULL && node->stat_types->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "keys"); + _fingerprintString(ctx, "stat_types"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->keys, node, "keys", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->keys) == 1 && linitial(node->keys) == NIL)) { + _fingerprintNode(ctx, node->stat_types, node, "stat_types", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->stat_types) == 1 && linitial(node->stat_types) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting + if (node->stxcomment != NULL) { + _fingerprintString(ctx, "stxcomment"); + _fingerprintString(ctx, node->stxcomment); + } - if (node->nulls_not_distinct) { - _fingerprintString(ctx, "nulls_not_distinct"); + if (node->transformed) { + _fingerprintString(ctx, "transformed"); _fingerprintString(ctx, "true"); } - if (node->old_conpfeqop != NULL && node->old_conpfeqop->length > 0) { +} + +static void +_fingerprintStatsElem(FingerprintContext *ctx, const StatsElem *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->expr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "old_conpfeqop"); + _fingerprintString(ctx, "expr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->old_conpfeqop, node, "old_conpfeqop", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->old_conpfeqop) == 1 && linitial(node->old_conpfeqop) == NIL)) { + _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->old_pktable_oid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->old_pktable_oid); - _fingerprintString(ctx, "old_pktable_oid"); - _fingerprintString(ctx, buffer); + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - if (node->options != NULL && node->options->length > 0) { +} + +static void +_fingerprintAlterStatsStmt(FingerprintContext *ctx, const AlterStatsStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->defnames != NULL && node->defnames->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "options"); + _fingerprintString(ctx, "defnames"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->options, node, "options", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + _fingerprintNode(ctx, node->defnames, node, "defnames", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->defnames) == 1 && linitial(node->defnames) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->pk_attrs != NULL && node->pk_attrs->length > 0) { + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->stxstattarget != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "pk_attrs"); + _fingerprintString(ctx, "stxstattarget"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->pk_attrs, node, "pk_attrs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pk_attrs) == 1 && linitial(node->pk_attrs) == NIL)) { + _fingerprintNode(ctx, node->stxstattarget, node, "stxstattarget", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->pktable != NULL) { + +} + +static void +_fingerprintCreateFunctionStmt(FingerprintContext *ctx, const CreateFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->funcname != NULL && node->funcname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "pktable"); + _fingerprintString(ctx, "funcname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->pktable, node, "pktable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->funcname, node, "funcname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funcname) == 1 && linitial(node->funcname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->is_procedure) { + _fingerprintString(ctx, "is_procedure"); + _fingerprintString(ctx, "true"); + } - if (node->raw_expr != NULL) { + // Intentionally ignoring node->options for fingerprinting + + if (node->parameters != NULL && node->parameters->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "raw_expr"); + _fingerprintString(ctx, "parameters"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->raw_expr, node, "raw_expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->parameters, node, "parameters", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->parameters) == 1 && linitial(node->parameters) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->reset_default_tblspc) { - _fingerprintString(ctx, "reset_default_tblspc"); - _fingerprintString(ctx, "true"); - } - - if (node->skip_validation) { - _fingerprintString(ctx, "skip_validation"); + if (node->replace) { + _fingerprintString(ctx, "replace"); _fingerprintString(ctx, "true"); } - if (node->where_clause != NULL) { + if (node->returnType != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "where_clause"); + _fingerprintString(ctx, "returnType"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->where_clause, node, "where_clause", depth + 1); + _fingerprintTypeName(ctx, node->returnType, node, "returnType", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11049,20 +12823,15 @@ _fingerprintConstraint(FingerprintContext *ctx, const Constraint *node, const vo XXH3_freeState(prev); } -} - -static void -_fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->arg != NULL) { + if (node->sql_body != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "arg"); + _fingerprintString(ctx, "sql_body"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->arg, node, "arg", depth + 1); + _fingerprintNode(ctx, node->sql_body, node, "sql_body", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11071,37 +12840,20 @@ _fingerprintDefElem(FingerprintContext *ctx, const DefElem *node, const void *pa XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "defaction"); - _fingerprintString(ctx, _enumToStringDefElemAction(node->defaction)); - } - - if (node->defname != NULL) { - _fingerprintString(ctx, "defname"); - _fingerprintString(ctx, node->defname); - } - - if (node->defnamespace != NULL) { - _fingerprintString(ctx, "defnamespace"); - _fingerprintString(ctx, node->defnamespace); - } - - // Intentionally ignoring node->location for fingerprinting - } static void -_fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintFunctionParameter(FingerprintContext *ctx, const FunctionParameter *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->alias != NULL) { + if (node->argType != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "alias"); + _fingerprintString(ctx, "argType"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->alias, node, "alias", depth + 1); + _fingerprintTypeName(ctx, node->argType, node, "argType", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11110,94 +12862,121 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->checkAsUser != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->checkAsUser); - _fingerprintString(ctx, "checkAsUser"); - _fingerprintString(ctx, buffer); - } - - if (node->colcollations != NULL && node->colcollations->length > 0) { + if (node->defexpr != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "colcollations"); + _fingerprintString(ctx, "defexpr"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->colcollations, node, "colcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->colcollations) == 1 && linitial(node->colcollations) == NIL)) { + _fingerprintNode(ctx, node->defexpr, node, "defexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->coltypes != NULL && node->coltypes->length > 0) { + + if (true) { + _fingerprintString(ctx, "mode"); + _fingerprintString(ctx, _enumToStringFunctionParameterMode(node->mode)); + } + + // Intentionally ignoring node->name for fingerprinting + +} + +static void +_fingerprintAlterFunctionStmt(FingerprintContext *ctx, const AlterFunctionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->actions != NULL && node->actions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coltypes"); + _fingerprintString(ctx, "actions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coltypes, node, "coltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypes) == 1 && linitial(node->coltypes) == NIL)) { + _fingerprintNode(ctx, node->actions, node, "actions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->actions) == 1 && linitial(node->actions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->coltypmods != NULL && node->coltypmods->length > 0) { + if (node->func != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "coltypmods"); + _fingerprintString(ctx, "func"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->coltypmods, node, "coltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coltypmods) == 1 && linitial(node->coltypmods) == NIL)) { + _fingerprintObjectWithArgs(ctx, node->func, node, "func", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctelevelsup != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->ctelevelsup); - _fingerprintString(ctx, "ctelevelsup"); - _fingerprintString(ctx, buffer); + + if (true) { + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); } - if (node->ctename != NULL) { - _fingerprintString(ctx, "ctename"); - _fingerprintString(ctx, node->ctename); +} + +static void +_fingerprintDoStmt(FingerprintContext *ctx, const DoStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->args for fingerprinting + +} + +static void +_fingerprintInlineCodeBlock(FingerprintContext *ctx, const InlineCodeBlock *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->atomic) { + _fingerprintString(ctx, "atomic"); + _fingerprintString(ctx, "true"); } - if (node->enrname != NULL) { - _fingerprintString(ctx, "enrname"); - _fingerprintString(ctx, node->enrname); + if (node->langIsTrusted) { + _fingerprintString(ctx, "langIsTrusted"); + _fingerprintString(ctx, "true"); } - if (node->enrtuples != 0) { + if (node->langOid != 0) { char buffer[50]; - sprintf(buffer, "%f", node->enrtuples); - _fingerprintString(ctx, "enrtuples"); + sprintf(buffer, "%d", node->langOid); + _fingerprintString(ctx, "langOid"); _fingerprintString(ctx, buffer); } - if (node->eref != NULL) { + if (node->source_text != NULL) { + _fingerprintString(ctx, "source_text"); + _fingerprintString(ctx, node->source_text); + } + +} + +static void +_fingerprintCallStmt(FingerprintContext *ctx, const CallStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->funccall != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "eref"); + _fingerprintString(ctx, "funccall"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->eref, node, "eref", depth + 1); + _fingerprintFuncCall(ctx, node->funccall, node, "funccall", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11206,76 +12985,78 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (true) { - int x; - Bitmapset *bms = bms_copy(node->extraUpdatedCols); + if (node->funcexpr != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - _fingerprintString(ctx, "extraUpdatedCols"); + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "funcexpr"); - while ((x = bms_first_member(bms)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintFuncExpr(ctx, node->funcexpr, node, "funcexpr", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); } - - bms_free(bms); - } - - if (node->funcordinality) { - _fingerprintString(ctx, "funcordinality"); - _fingerprintString(ctx, "true"); + XXH3_freeState(prev); } - if (node->functions != NULL && node->functions->length > 0) { + if (node->outargs != NULL && node->outargs->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "functions"); + _fingerprintString(ctx, "outargs"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->functions, node, "functions", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->functions) == 1 && linitial(node->functions) == NIL)) { + _fingerprintNode(ctx, node->outargs, node, "outargs", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->outargs) == 1 && linitial(node->outargs) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->inFromCl) { - _fingerprintString(ctx, "inFromCl"); - _fingerprintString(ctx, "true"); - } +} - if (node->inh) { - _fingerprintString(ctx, "inh"); +static void +_fingerprintCallContext(FingerprintContext *ctx, const CallContext *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->atomic) { + _fingerprintString(ctx, "atomic"); _fingerprintString(ctx, "true"); } - if (true) { - int x; - Bitmapset *bms = bms_copy(node->insertedCols); +} - _fingerprintString(ctx, "insertedCols"); +static void +_fingerprintRenameStmt(FingerprintContext *ctx, const RenameStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); + } - while ((x = bms_first_member(bms)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); - } + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } - bms_free(bms); + if (node->newname != NULL) { + _fingerprintString(ctx, "newname"); + _fingerprintString(ctx, node->newname); } - if (node->join_using_alias != NULL) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "join_using_alias"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintAlias(ctx, node->join_using_alias, node, "join_using_alias", depth + 1); + _fingerprintNode(ctx, node->object, node, "object", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11284,153 +13065,160 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->joinaliasvars != NULL && node->joinaliasvars->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinaliasvars"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinaliasvars, node, "joinaliasvars", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinaliasvars) == 1 && linitial(node->joinaliasvars) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->joinleftcols != NULL && node->joinleftcols->length > 0) { + + if (true) { + _fingerprintString(ctx, "relationType"); + _fingerprintString(ctx, _enumToStringObjectType(node->relationType)); + } + + if (true) { + _fingerprintString(ctx, "renameType"); + _fingerprintString(ctx, _enumToStringObjectType(node->renameType)); + } + + if (node->subname != NULL) { + _fingerprintString(ctx, "subname"); + _fingerprintString(ctx, node->subname); + } + +} + +static void +_fingerprintAlterObjectDependsStmt(FingerprintContext *ctx, const AlterObjectDependsStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (strlen(node->extname->sval) > 0) { + _fingerprintString(ctx, "extname"); + _fingerprintString(ctx, node->extname->sval); + } + + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinleftcols"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinleftcols, node, "joinleftcols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinleftcols) == 1 && linitial(node->joinleftcols) == NIL)) { + _fingerprintNode(ctx, node->object, node, "object", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->joinmergedcols != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->joinmergedcols); - _fingerprintString(ctx, "joinmergedcols"); - _fingerprintString(ctx, buffer); + + if (true) { + _fingerprintString(ctx, "objectType"); + _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); } - if (node->joinrightcols != NULL && node->joinrightcols->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "joinrightcols"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->joinrightcols, node, "joinrightcols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->joinrightcols) == 1 && linitial(node->joinrightcols) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "jointype"); - _fingerprintString(ctx, _enumToStringJoinType(node->jointype)); - } - if (node->lateral) { - _fingerprintString(ctx, "lateral"); + if (node->remove) { + _fingerprintString(ctx, "remove"); _fingerprintString(ctx, "true"); } - if (node->relid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->relid); - _fingerprintString(ctx, "relid"); - _fingerprintString(ctx, buffer); - } - - if (node->relkind != 0) { - char buffer[2] = {node->relkind, '\0'}; - _fingerprintString(ctx, "relkind"); - _fingerprintString(ctx, buffer); - } - - if (node->rellockmode != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rellockmode); - _fingerprintString(ctx, "rellockmode"); - _fingerprintString(ctx, buffer); - } +} - if (node->requiredPerms != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->requiredPerms); - _fingerprintString(ctx, "requiredPerms"); - _fingerprintString(ctx, buffer); +static void +_fingerprintAlterObjectSchemaStmt(FingerprintContext *ctx, const AlterObjectSchemaStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); } - if (true) { - _fingerprintString(ctx, "rtekind"); - _fingerprintString(ctx, _enumToStringRTEKind(node->rtekind)); + if (node->newschema != NULL) { + _fingerprintString(ctx, "newschema"); + _fingerprintString(ctx, node->newschema); } - if (node->securityQuals != NULL && node->securityQuals->length > 0) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "securityQuals"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->securityQuals, node, "securityQuals", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->securityQuals) == 1 && linitial(node->securityQuals) == NIL)) { + _fingerprintNode(ctx, node->object, node, "object", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->security_barrier) { - _fingerprintString(ctx, "security_barrier"); - _fingerprintString(ctx, "true"); - } if (true) { - int x; - Bitmapset *bms = bms_copy(node->selectedCols); + _fingerprintString(ctx, "objectType"); + _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); + } - _fingerprintString(ctx, "selectedCols"); + if (node->relation != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - while ((x = bms_first_member(bms)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "relation"); - bms_free(bms); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->self_reference) { - _fingerprintString(ctx, "self_reference"); - _fingerprintString(ctx, "true"); - } +} - if (node->subquery != NULL) { +static void +_fingerprintAlterOwnerStmt(FingerprintContext *ctx, const AlterOwnerStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->newowner != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "subquery"); + _fingerprintString(ctx, "newowner"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintQuery(ctx, node->subquery, node, "subquery", depth + 1); + _fingerprintRoleSpec(ctx, node->newowner, node, "newowner", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11439,15 +13227,15 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->tablefunc != NULL) { + if (node->object != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tablefunc"); + _fingerprintString(ctx, "object"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTableFunc(ctx, node->tablefunc, node, "tablefunc", depth + 1); + _fingerprintNode(ctx, node->object, node, "object", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11456,15 +13244,20 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (node->tablesample != NULL) { + if (true) { + _fingerprintString(ctx, "objectType"); + _fingerprintString(ctx, _enumToStringObjectType(node->objectType)); + } + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "tablesample"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTableSampleClause(ctx, node->tablesample, node, "tablesample", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11473,31 +13266,38 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co XXH3_freeState(prev); } - if (true) { - int x; - Bitmapset *bms = bms_copy(node->updatedCols); +} - _fingerprintString(ctx, "updatedCols"); +static void +_fingerprintAlterOperatorStmt(FingerprintContext *ctx, const AlterOperatorStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->opername != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - while ((x = bms_first_member(bms)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "opername"); - bms_free(bms); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintObjectWithArgs(ctx, node->opername, node, "opername", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - if (node->values_lists != NULL && node->values_lists->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "values_lists"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->values_lists, node, "values_lists", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values_lists) == 1 && linitial(node->values_lists) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -11507,88 +13307,107 @@ _fingerprintRangeTblEntry(FingerprintContext *ctx, const RangeTblEntry *node, co } static void -_fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterTypeStmt(FingerprintContext *ctx, const AlterTypeStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->funccolcollations != NULL && node->funccolcollations->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccolcollations"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccolcollations, node, "funccolcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolcollations) == 1 && linitial(node->funccolcollations) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccolcount != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->funccolcount); - _fingerprintString(ctx, "funccolcount"); - _fingerprintString(ctx, buffer); - } - - if (node->funccolnames != NULL && node->funccolnames->length > 0) { + if (node->typeName != NULL && node->typeName->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccolnames"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccolnames, node, "funccolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccolnames) == 1 && linitial(node->funccolnames) == NIL)) { + _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccoltypes != NULL && node->funccoltypes->length > 0) { +} + +static void +_fingerprintRuleStmt(FingerprintContext *ctx, const RuleStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->actions != NULL && node->actions->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccoltypes"); + _fingerprintString(ctx, "actions"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccoltypes, node, "funccoltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypes) == 1 && linitial(node->funccoltypes) == NIL)) { + _fingerprintNode(ctx, node->actions, node, "actions", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->actions) == 1 && linitial(node->actions) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funccoltypmods != NULL && node->funccoltypmods->length > 0) { + if (true) { + _fingerprintString(ctx, "event"); + _fingerprintString(ctx, _enumToStringCmdType(node->event)); + } + + if (node->instead) { + _fingerprintString(ctx, "instead"); + _fingerprintString(ctx, "true"); + } + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funccoltypmods"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funccoltypmods, node, "funccoltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->funccoltypmods) == 1 && linitial(node->funccoltypmods) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->funcexpr != NULL) { + + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } + + if (node->rulename != NULL) { + _fingerprintString(ctx, "rulename"); + _fingerprintString(ctx, node->rulename); + } + + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "funcexpr"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->funcexpr, node, "funcexpr", depth + 1); + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -11597,371 +13416,418 @@ _fingerprintRangeTblFunction(FingerprintContext *ctx, const RangeTblFunction *no XXH3_freeState(prev); } +} + +static void +_fingerprintNotifyStmt(FingerprintContext *ctx, const NotifyStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->conditionname for fingerprinting + + if (node->payload != NULL) { + _fingerprintString(ctx, "payload"); + _fingerprintString(ctx, node->payload); + } + +} + +static void +_fingerprintListenStmt(FingerprintContext *ctx, const ListenStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->conditionname for fingerprinting + +} + +static void +_fingerprintUnlistenStmt(FingerprintContext *ctx, const UnlistenStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->conditionname for fingerprinting + +} + +static void +_fingerprintTransactionStmt(FingerprintContext *ctx, const TransactionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->chain) { + _fingerprintString(ctx, "chain"); + _fingerprintString(ctx, "true"); + } + + // Intentionally ignoring node->gid for fingerprinting + if (true) { - int x; - Bitmapset *bms = bms_copy(node->funcparams); + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringTransactionStmtKind(node->kind)); + } - _fingerprintString(ctx, "funcparams"); + // Intentionally ignoring node->location for fingerprinting - while ((x = bms_first_member(bms)) >= 0) { - char buffer[50]; - sprintf(buffer, "%d", x); - _fingerprintString(ctx, buffer); + // Intentionally ignoring node->options for fingerprinting + + // Intentionally ignoring node->savepoint_name for fingerprinting + +} + +static void +_fingerprintCompositeTypeStmt(FingerprintContext *ctx, const CompositeTypeStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->coldeflist != NULL && node->coldeflist->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "coldeflist"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->coldeflist, node, "coldeflist", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->coldeflist) == 1 && linitial(node->coldeflist) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } + if (node->typevar != NULL) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "typevar"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintRangeVar(ctx, node->typevar, node, "typevar", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); } - - bms_free(bms); + XXH3_freeState(prev); } } static void -_fingerprintTableSampleClause(FingerprintContext *ctx, const TableSampleClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateEnumStmt(FingerprintContext *ctx, const CreateEnumStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->args != NULL && node->args->length > 0) { + if (node->typeName != NULL && node->typeName->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "args"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->args, node, "args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->args) == 1 && linitial(node->args) == NIL)) { + _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->repeatable != NULL) { + if (node->vals != NULL && node->vals->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "repeatable"); + _fingerprintString(ctx, "vals"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->repeatable, node, "repeatable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->vals, node, "vals", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->vals) == 1 && linitial(node->vals) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->tsmhandler != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->tsmhandler); - _fingerprintString(ctx, "tsmhandler"); - _fingerprintString(ctx, buffer); - } - } static void -_fingerprintWithCheckOption(FingerprintContext *ctx, const WithCheckOption *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateRangeStmt(FingerprintContext *ctx, const CreateRangeStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->cascaded) { - _fingerprintString(ctx, "cascaded"); - _fingerprintString(ctx, "true"); - } + if (node->params != NULL && node->params->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringWCOKind(node->kind)); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "params"); - if (node->polname != NULL) { - _fingerprintString(ctx, "polname"); - _fingerprintString(ctx, node->polname); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->params, node, "params", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->qual != NULL) { + if (node->typeName != NULL && node->typeName->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "qual"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->qual, node, "qual", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->relname != NULL) { - _fingerprintString(ctx, "relname"); - _fingerprintString(ctx, node->relname); - } - } static void -_fingerprintSortGroupClause(FingerprintContext *ctx, const SortGroupClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterEnumStmt(FingerprintContext *ctx, const AlterEnumStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->eqop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->eqop); - _fingerprintString(ctx, "eqop"); - _fingerprintString(ctx, buffer); + if (node->newVal != NULL) { + _fingerprintString(ctx, "newVal"); + _fingerprintString(ctx, node->newVal); } - if (node->hashable) { - _fingerprintString(ctx, "hashable"); + if (node->newValIsAfter) { + _fingerprintString(ctx, "newValIsAfter"); _fingerprintString(ctx, "true"); } - if (node->nulls_first) { - _fingerprintString(ctx, "nulls_first"); - _fingerprintString(ctx, "true"); + if (node->newValNeighbor != NULL) { + _fingerprintString(ctx, "newValNeighbor"); + _fingerprintString(ctx, node->newValNeighbor); } - if (node->sortop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->sortop); - _fingerprintString(ctx, "sortop"); - _fingerprintString(ctx, buffer); + if (node->oldVal != NULL) { + _fingerprintString(ctx, "oldVal"); + _fingerprintString(ctx, node->oldVal); } - if (node->tleSortGroupRef != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->tleSortGroupRef); - _fingerprintString(ctx, "tleSortGroupRef"); - _fingerprintString(ctx, buffer); + if (node->skipIfNewValExists) { + _fingerprintString(ctx, "skipIfNewValExists"); + _fingerprintString(ctx, "true"); } -} - -static void -_fingerprintGroupingSet(FingerprintContext *ctx, const GroupingSet *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->content != NULL && node->content->length > 0) { + if (node->typeName != NULL && node->typeName->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "content"); + _fingerprintString(ctx, "typeName"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->content, node, "content", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->content) == 1 && linitial(node->content) == NIL)) { + _fingerprintNode(ctx, node->typeName, node, "typeName", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->typeName) == 1 && linitial(node->typeName) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringGroupingSetKind(node->kind)); - } - - // Intentionally ignoring node->location for fingerprinting - } static void -_fingerprintWindowClause(FingerprintContext *ctx, const WindowClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintViewStmt(FingerprintContext *ctx, const ViewStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->copiedOrder) { - _fingerprintString(ctx, "copiedOrder"); - _fingerprintString(ctx, "true"); - } - - if (node->endInRangeFunc != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->endInRangeFunc); - _fingerprintString(ctx, "endInRangeFunc"); - _fingerprintString(ctx, buffer); - } - - if (node->endOffset != NULL) { + if (node->aliases != NULL && node->aliases->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "endOffset"); + _fingerprintString(ctx, "aliases"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->endOffset, node, "endOffset", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->aliases, node, "aliases", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliases) == 1 && linitial(node->aliases) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->options != NULL && node->options->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; - if (node->frameOptions != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->frameOptions); - _fingerprintString(ctx, "frameOptions"); - _fingerprintString(ctx, buffer); - } - - if (node->inRangeAsc) { - _fingerprintString(ctx, "inRangeAsc"); - _fingerprintString(ctx, "true"); - } - - if (node->inRangeColl != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->inRangeColl); - _fingerprintString(ctx, "inRangeColl"); - _fingerprintString(ctx, buffer); - } - - if (node->inRangeNullsFirst) { - _fingerprintString(ctx, "inRangeNullsFirst"); - _fingerprintString(ctx, "true"); - } + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "options"); - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); } - - if (node->orderClause != NULL && node->orderClause->length > 0) { + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "orderClause"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->orderClause, node, "orderClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->orderClause) == 1 && linitial(node->orderClause) == NIL)) { + _fingerprintNode(ctx, node->query, node, "query", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->partitionClause != NULL && node->partitionClause->length > 0) { + + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } + + if (node->view != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partitionClause"); + _fingerprintString(ctx, "view"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partitionClause, node, "partitionClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partitionClause) == 1 && linitial(node->partitionClause) == NIL)) { + _fingerprintRangeVar(ctx, node->view, node, "view", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->refname != NULL) { - _fingerprintString(ctx, "refname"); - _fingerprintString(ctx, node->refname); + + if (true) { + _fingerprintString(ctx, "withCheckOption"); + _fingerprintString(ctx, _enumToStringViewCheckOption(node->withCheckOption)); } - if (node->runCondition != NULL && node->runCondition->length > 0) { +} + +static void +_fingerprintLoadStmt(FingerprintContext *ctx, const LoadStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->filename != NULL) { + _fingerprintString(ctx, "filename"); + _fingerprintString(ctx, node->filename); + } + +} + +static void +_fingerprintCreatedbStmt(FingerprintContext *ctx, const CreatedbStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->dbname != NULL) { + _fingerprintString(ctx, "dbname"); + _fingerprintString(ctx, node->dbname); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "runCondition"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->runCondition, node, "runCondition", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->runCondition) == 1 && linitial(node->runCondition) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->startInRangeFunc != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->startInRangeFunc); - _fingerprintString(ctx, "startInRangeFunc"); - _fingerprintString(ctx, buffer); +} + +static void +_fingerprintAlterDatabaseStmt(FingerprintContext *ctx, const AlterDatabaseStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->dbname != NULL) { + _fingerprintString(ctx, "dbname"); + _fingerprintString(ctx, node->dbname); } - if (node->startOffset != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "startOffset"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->startOffset, node, "startOffset", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->winref != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->winref); - _fingerprintString(ctx, "winref"); - _fingerprintString(ctx, buffer); +static void +_fingerprintAlterDatabaseRefreshCollStmt(FingerprintContext *ctx, const AlterDatabaseRefreshCollStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->dbname != NULL) { + _fingerprintString(ctx, "dbname"); + _fingerprintString(ctx, node->dbname); } } static void -_fingerprintObjectWithArgs(FingerprintContext *ctx, const ObjectWithArgs *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterDatabaseSetStmt(FingerprintContext *ctx, const AlterDatabaseSetStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->args_unspecified) { - _fingerprintString(ctx, "args_unspecified"); - _fingerprintString(ctx, "true"); + if (node->dbname != NULL) { + _fingerprintString(ctx, "dbname"); + _fingerprintString(ctx, node->dbname); } - if (node->objargs != NULL && node->objargs->length > 0) { + if (node->setstmt != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "objargs"); + _fingerprintString(ctx, "setstmt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->objargs, node, "objargs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objargs) == 1 && linitial(node->objargs) == NIL)) { + _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->objfuncargs != NULL && node->objfuncargs->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "objfuncargs"); +} - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->objfuncargs, node, "objfuncargs", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objfuncargs) == 1 && linitial(node->objfuncargs) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); +static void +_fingerprintDropdbStmt(FingerprintContext *ctx, const DropdbStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->dbname != NULL) { + _fingerprintString(ctx, "dbname"); + _fingerprintString(ctx, node->dbname); } - if (node->objname != NULL && node->objname->length > 0) { + + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "objname"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->objname, node, "objname", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->objname) == 1 && linitial(node->objname) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -11971,66 +13837,60 @@ _fingerprintObjectWithArgs(FingerprintContext *ctx, const ObjectWithArgs *node, } static void -_fingerprintAccessPriv(FingerprintContext *ctx, const AccessPriv *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterSystemStmt(FingerprintContext *ctx, const AlterSystemStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->cols != NULL && node->cols->length > 0) { + if (node->setstmt != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cols"); + _fingerprintString(ctx, "setstmt"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cols, node, "cols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cols) == 1 && linitial(node->cols) == NIL)) { + _fingerprintVariableSetStmt(ctx, node->setstmt, node, "setstmt", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->priv_name != NULL) { - _fingerprintString(ctx, "priv_name"); - _fingerprintString(ctx, node->priv_name); - } } static void -_fingerprintCreateOpClassItem(FingerprintContext *ctx, const CreateOpClassItem *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintClusterStmt(FingerprintContext *ctx, const ClusterStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->class_args != NULL && node->class_args->length > 0) { + if (node->indexname != NULL) { + _fingerprintString(ctx, "indexname"); + _fingerprintString(ctx, node->indexname); + } + + if (node->params != NULL && node->params->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "class_args"); + _fingerprintString(ctx, "params"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->class_args, node, "class_args", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->class_args) == 1 && linitial(node->class_args) == NIL)) { + _fingerprintNode(ctx, node->params, node, "params", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->itemtype != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->itemtype); - _fingerprintString(ctx, "itemtype"); - _fingerprintString(ctx, buffer); - } - - if (node->name != NULL) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "name"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintObjectWithArgs(ctx, node->name, node, "name", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12039,55 +13899,57 @@ _fingerprintCreateOpClassItem(FingerprintContext *ctx, const CreateOpClassItem * XXH3_freeState(prev); } - if (node->number != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->number); - _fingerprintString(ctx, "number"); - _fingerprintString(ctx, buffer); +} + +static void +_fingerprintVacuumStmt(FingerprintContext *ctx, const VacuumStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->is_vacuumcmd) { + _fingerprintString(ctx, "is_vacuumcmd"); + _fingerprintString(ctx, "true"); } - if (node->order_family != NULL && node->order_family->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "order_family"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->order_family, node, "order_family", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->order_family) == 1 && linitial(node->order_family) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->storedtype != NULL) { + if (node->rels != NULL && node->rels->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "storedtype"); + _fingerprintString(ctx, "rels"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->storedtype, node, "storedtype", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->rels, node, "rels", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->rels) == 1 && linitial(node->rels) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintVacuumRelation(FingerprintContext *ctx, const VacuumRelation *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->options != 0) { + if (node->oid != 0) { char buffer[50]; - sprintf(buffer, "%d", node->options); - _fingerprintString(ctx, "options"); + sprintf(buffer, "%d", node->oid); + _fingerprintString(ctx, "oid"); _fingerprintString(ctx, buffer); } @@ -12108,44 +13970,52 @@ _fingerprintTableLikeClause(FingerprintContext *ctx, const TableLikeClause *node XXH3_freeState(prev); } - if (node->relationOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->relationOid); - _fingerprintString(ctx, "relationOid"); - _fingerprintString(ctx, buffer); - } + if (node->va_cols != NULL && node->va_cols->length > 0) { + XXH3_state_t* prev = XXH3_createState(); + XXH64_hash_t hash; + XXH3_copyState(prev, ctx->xxh_state); + _fingerprintString(ctx, "va_cols"); + + hash = XXH3_64bits_digest(ctx->xxh_state); + _fingerprintNode(ctx, node->va_cols, node, "va_cols", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->va_cols) == 1 && linitial(node->va_cols) == NIL)) { + XXH3_copyState(ctx->xxh_state, prev); + if (ctx->write_tokens) + dlist_delete(dlist_tail_node(&ctx->tokens)); + } + XXH3_freeState(prev); + } } static void -_fingerprintFunctionParameter(FingerprintContext *ctx, const FunctionParameter *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintExplainStmt(FingerprintContext *ctx, const ExplainStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->argType != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "argType"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->argType, node, "argType", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->defexpr != NULL) { + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "defexpr"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->defexpr, node, "defexpr", depth + 1); + _fingerprintNode(ctx, node->query, node, "query", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12154,85 +14024,52 @@ _fingerprintFunctionParameter(FingerprintContext *ctx, const FunctionParameter * XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "mode"); - _fingerprintString(ctx, _enumToStringFunctionParameterMode(node->mode)); - } - - // Intentionally ignoring node->name for fingerprinting - } static void -_fingerprintLockingClause(FingerprintContext *ctx, const LockingClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateTableAsStmt(FingerprintContext *ctx, const CreateTableAsStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->lockedRels != NULL && node->lockedRels->length > 0) { + if (node->if_not_exists) { + _fingerprintString(ctx, "if_not_exists"); + _fingerprintString(ctx, "true"); + } + + if (node->into != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lockedRels"); + _fingerprintString(ctx, "into"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lockedRels, node, "lockedRels", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lockedRels) == 1 && linitial(node->lockedRels) == NIL)) { + _fingerprintIntoClause(ctx, node->into, node, "into", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "strength"); - _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); - } - - if (true) { - _fingerprintString(ctx, "waitPolicy"); - _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); - } -} - -static void -_fingerprintRowMarkClause(FingerprintContext *ctx, const RowMarkClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->pushedDown) { - _fingerprintString(ctx, "pushedDown"); + if (node->is_select_into) { + _fingerprintString(ctx, "is_select_into"); _fingerprintString(ctx, "true"); } - if (node->rti != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->rti); - _fingerprintString(ctx, "rti"); - _fingerprintString(ctx, buffer); - } - if (true) { - _fingerprintString(ctx, "strength"); - _fingerprintString(ctx, _enumToStringLockClauseStrength(node->strength)); - } - - if (true) { - _fingerprintString(ctx, "waitPolicy"); - _fingerprintString(ctx, _enumToStringLockWaitPolicy(node->waitPolicy)); + _fingerprintString(ctx, "objtype"); + _fingerprintString(ctx, _enumToStringObjectType(node->objtype)); } -} - -static void -_fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->expr != NULL) { + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); + _fingerprintNode(ctx, node->query, node, "query", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12241,17 +14078,25 @@ _fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, cons XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting +} - if (node->typeName != NULL) { +static void +_fingerprintRefreshMatViewStmt(FingerprintContext *ctx, const RefreshMatViewStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->concurrent) { + _fingerprintString(ctx, "concurrent"); + _fingerprintString(ctx, "true"); + } + + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "typeName"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintTypeName(ctx, node->typeName, node, "typeName", depth + 1); + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12260,221 +14105,226 @@ _fingerprintXmlSerialize(FingerprintContext *ctx, const XmlSerialize *node, cons XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "xmloption"); - _fingerprintString(ctx, _enumToStringXmlOptionType(node->xmloption)); + if (node->skipData) { + _fingerprintString(ctx, "skipData"); + _fingerprintString(ctx, "true"); } } static void -_fingerprintWithClause(FingerprintContext *ctx, const WithClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCheckPointStmt(FingerprintContext *ctx, const CheckPointStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->ctes != NULL && node->ctes->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctes"); - - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctes, node, "ctes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctes) == 1 && linitial(node->ctes) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); - } - // Intentionally ignoring node->location for fingerprinting +} - if (node->recursive) { - _fingerprintString(ctx, "recursive"); - _fingerprintString(ctx, "true"); +static void +_fingerprintDiscardStmt(FingerprintContext *ctx, const DiscardStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "target"); + _fingerprintString(ctx, _enumToStringDiscardMode(node->target)); } } static void -_fingerprintInferClause(FingerprintContext *ctx, const InferClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintLockStmt(FingerprintContext *ctx, const LockStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->conname != NULL) { - _fingerprintString(ctx, "conname"); - _fingerprintString(ctx, node->conname); + if (node->mode != 0) { + char buffer[50]; + sprintf(buffer, "%d", node->mode); + _fingerprintString(ctx, "mode"); + _fingerprintString(ctx, buffer); } - if (node->indexElems != NULL && node->indexElems->length > 0) { + if (node->nowait) { + _fingerprintString(ctx, "nowait"); + _fingerprintString(ctx, "true"); + } + + if (node->relations != NULL && node->relations->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "indexElems"); + _fingerprintString(ctx, "relations"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->indexElems, node, "indexElems", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->indexElems) == 1 && linitial(node->indexElems) == NIL)) { + _fingerprintNode(ctx, node->relations, node, "relations", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->relations) == 1 && linitial(node->relations) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting +} - if (node->whereClause != NULL) { +static void +_fingerprintConstraintsSetStmt(FingerprintContext *ctx, const ConstraintsSetStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->constraints != NULL && node->constraints->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "constraints"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->constraints, node, "constraints", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->constraints) == 1 && linitial(node->constraints) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->deferred) { + _fingerprintString(ctx, "deferred"); + _fingerprintString(ctx, "true"); + } } static void -_fingerprintOnConflictClause(FingerprintContext *ctx, const OnConflictClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintReindexStmt(FingerprintContext *ctx, const ReindexStmt *node, const void *parent, const char *field_name, unsigned int depth) { if (true) { - _fingerprintString(ctx, "action"); - _fingerprintString(ctx, _enumToStringOnConflictAction(node->action)); + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringReindexObjectType(node->kind)); } - if (node->infer != NULL) { + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); + } + + if (node->params != NULL && node->params->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "infer"); + _fingerprintString(ctx, "params"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintInferClause(ctx, node->infer, node, "infer", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->params, node, "params", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - // Intentionally ignoring node->location for fingerprinting - - if (node->targetList != NULL && node->targetList->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->whereClause != NULL) { + +} + +static void +_fingerprintCreateConversionStmt(FingerprintContext *ctx, const CreateConversionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->conversion_name != NULL && node->conversion_name->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "conversion_name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->conversion_name, node, "conversion_name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->conversion_name) == 1 && linitial(node->conversion_name) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintCTESearchClause(FingerprintContext *ctx, const CTESearchClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting - - if (node->search_breadth_first) { - _fingerprintString(ctx, "search_breadth_first"); + if (node->def) { + _fingerprintString(ctx, "def"); _fingerprintString(ctx, "true"); } - if (node->search_col_list != NULL && node->search_col_list->length > 0) { + if (node->for_encoding_name != NULL) { + _fingerprintString(ctx, "for_encoding_name"); + _fingerprintString(ctx, node->for_encoding_name); + } + + if (node->func_name != NULL && node->func_name->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "search_col_list"); + _fingerprintString(ctx, "func_name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->search_col_list, node, "search_col_list", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->search_col_list) == 1 && linitial(node->search_col_list) == NIL)) { + _fingerprintNode(ctx, node->func_name, node, "func_name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->func_name) == 1 && linitial(node->func_name) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->search_seq_column != NULL) { - _fingerprintString(ctx, "search_seq_column"); - _fingerprintString(ctx, node->search_seq_column); + if (node->to_encoding_name != NULL) { + _fingerprintString(ctx, "to_encoding_name"); + _fingerprintString(ctx, node->to_encoding_name); } } static void -_fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateCastStmt(FingerprintContext *ctx, const CreateCastStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->cycle_col_list != NULL && node->cycle_col_list->length > 0) { + if (true) { + _fingerprintString(ctx, "context"); + _fingerprintString(ctx, _enumToStringCoercionContext(node->context)); + } + + if (node->func != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_col_list"); + _fingerprintString(ctx, "func"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_col_list, node, "cycle_col_list", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cycle_col_list) == 1 && linitial(node->cycle_col_list) == NIL)) { + _fingerprintObjectWithArgs(ctx, node->func, node, "func", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->cycle_mark_collation != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_collation); - _fingerprintString(ctx, "cycle_mark_collation"); - _fingerprintString(ctx, buffer); - } - if (node->cycle_mark_column != NULL) { - _fingerprintString(ctx, "cycle_mark_column"); - _fingerprintString(ctx, node->cycle_mark_column); + if (node->inout) { + _fingerprintString(ctx, "inout"); + _fingerprintString(ctx, "true"); } - if (node->cycle_mark_default != NULL) { + if (node->sourcetype != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_mark_default"); + _fingerprintString(ctx, "sourcetype"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_mark_default, node, "cycle_mark_default", depth + 1); + _fingerprintTypeName(ctx, node->sourcetype, node, "sourcetype", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12483,36 +14333,15 @@ _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, XXH3_freeState(prev); } - if (node->cycle_mark_neop != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_neop); - _fingerprintString(ctx, "cycle_mark_neop"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_type != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_type); - _fingerprintString(ctx, "cycle_mark_type"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_typmod != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cycle_mark_typmod); - _fingerprintString(ctx, "cycle_mark_typmod"); - _fingerprintString(ctx, buffer); - } - - if (node->cycle_mark_value != NULL) { + if (node->targettype != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_mark_value"); + _fingerprintString(ctx, "targettype"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->cycle_mark_value, node, "cycle_mark_value", depth + 1); + _fingerprintTypeName(ctx, node->targettype, node, "targettype", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12521,165 +14350,189 @@ _fingerprintCTECycleClause(FingerprintContext *ctx, const CTECycleClause *node, XXH3_freeState(prev); } - if (node->cycle_path_column != NULL) { - _fingerprintString(ctx, "cycle_path_column"); - _fingerprintString(ctx, node->cycle_path_column); - } - - // Intentionally ignoring node->location for fingerprinting - } static void -_fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateTransformStmt(FingerprintContext *ctx, const CreateTransformStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->aliascolnames != NULL && node->aliascolnames->length > 0) { + if (node->fromsql != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "aliascolnames"); + _fingerprintString(ctx, "fromsql"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->aliascolnames, node, "aliascolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->aliascolnames) == 1 && linitial(node->aliascolnames) == NIL)) { + _fingerprintObjectWithArgs(ctx, node->fromsql, node, "fromsql", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecolcollations != NULL && node->ctecolcollations->length > 0) { + + if (node->lang != NULL) { + _fingerprintString(ctx, "lang"); + _fingerprintString(ctx, node->lang); + } + + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } + + if (node->tosql != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecolcollations"); + _fingerprintString(ctx, "tosql"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecolcollations, node, "ctecolcollations", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolcollations) == 1 && linitial(node->ctecolcollations) == NIL)) { + _fingerprintObjectWithArgs(ctx, node->tosql, node, "tosql", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecolnames != NULL && node->ctecolnames->length > 0) { + + if (node->type_name != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecolnames"); + _fingerprintString(ctx, "type_name"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecolnames, node, "ctecolnames", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecolnames) == 1 && linitial(node->ctecolnames) == NIL)) { + _fingerprintTypeName(ctx, node->type_name, node, "type_name", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecoltypes != NULL && node->ctecoltypes->length > 0) { + +} + +static void +_fingerprintPrepareStmt(FingerprintContext *ctx, const PrepareStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->argtypes != NULL && node->argtypes->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecoltypes"); + _fingerprintString(ctx, "argtypes"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecoltypes, node, "ctecoltypes", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypes) == 1 && linitial(node->ctecoltypes) == NIL)) { + _fingerprintNode(ctx, node->argtypes, node, "argtypes", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->argtypes) == 1 && linitial(node->argtypes) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->ctecoltypmods != NULL && node->ctecoltypmods->length > 0) { + // Intentionally ignoring node->name for fingerprinting + + if (node->query != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctecoltypmods"); + _fingerprintString(ctx, "query"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctecoltypmods, node, "ctecoltypmods", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->ctecoltypmods) == 1 && linitial(node->ctecoltypmods) == NIL)) { + _fingerprintNode(ctx, node->query, node, "query", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (true) { - _fingerprintString(ctx, "ctematerialized"); - _fingerprintString(ctx, _enumToStringCTEMaterialize(node->ctematerialized)); - } - if (node->ctename != NULL) { - _fingerprintString(ctx, "ctename"); - _fingerprintString(ctx, node->ctename); - } +} - if (node->ctequery != NULL) { +static void +_fingerprintExecuteStmt(FingerprintContext *ctx, const ExecuteStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + // Intentionally ignoring node->name for fingerprinting + + if (node->params != NULL && node->params->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "ctequery"); + _fingerprintString(ctx, "params"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->ctequery, node, "ctequery", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->params, node, "params", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->params) == 1 && linitial(node->params) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->cterecursive) { - _fingerprintString(ctx, "cterecursive"); +static void +_fingerprintDeallocateStmt(FingerprintContext *ctx, const DeallocateStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->isall) { + _fingerprintString(ctx, "isall"); _fingerprintString(ctx, "true"); } - if (node->cterefcount != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->cterefcount); - _fingerprintString(ctx, "cterefcount"); - _fingerprintString(ctx, buffer); + // Intentionally ignoring node->location for fingerprinting + + // Intentionally ignoring node->name for fingerprinting + +} + +static void +_fingerprintDropOwnedStmt(FingerprintContext *ctx, const DropOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); } - if (node->cycle_clause != NULL) { + if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "cycle_clause"); + _fingerprintString(ctx, "roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCTECycleClause(ctx, node->cycle_clause, node, "cycle_clause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - // Intentionally ignoring node->location for fingerprinting - - if (node->search_clause != NULL) { +static void +_fingerprintReassignOwnedStmt(FingerprintContext *ctx, const ReassignOwnedStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->newrole != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "search_clause"); + _fingerprintString(ctx, "newrole"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintCTESearchClause(ctx, node->search_clause, node, "search_clause", depth + 1); + _fingerprintRoleSpec(ctx, node->newrole, node, "newrole", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12688,69 +14541,53 @@ _fingerprintCommonTableExpr(FingerprintContext *ctx, const CommonTableExpr *node XXH3_freeState(prev); } -} - -static void -_fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (true) { - _fingerprintString(ctx, "commandType"); - _fingerprintString(ctx, _enumToStringCmdType(node->commandType)); - } - - if (node->condition != NULL) { + if (node->roles != NULL && node->roles->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "condition"); + _fingerprintString(ctx, "roles"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->condition, node, "condition", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->roles, node, "roles", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->roles) == 1 && linitial(node->roles) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } +} - if (node->matched) { - _fingerprintString(ctx, "matched"); - _fingerprintString(ctx, "true"); - } - - if (true) { - _fingerprintString(ctx, "override"); - _fingerprintString(ctx, _enumToStringOverridingKind(node->override)); - } - - if (node->targetList != NULL && node->targetList->length > 0) { +static void +_fingerprintAlterTSDictionaryStmt(FingerprintContext *ctx, const AlterTSDictionaryStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->dictname != NULL && node->dictname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "targetList"); + _fingerprintString(ctx, "dictname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->targetList, node, "targetList", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->targetList) == 1 && linitial(node->targetList) == NIL)) { + _fingerprintNode(ctx, node->dictname, node, "dictname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->dictname) == 1 && linitial(node->dictname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->values != NULL && node->values->length > 0) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "values"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->values, node, "values", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->values) == 1 && linitial(node->values) == NIL)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -12760,230 +14597,157 @@ _fingerprintMergeWhenClause(FingerprintContext *ctx, const MergeWhenClause *node } static void -_fingerprintRoleSpec(FingerprintContext *ctx, const RoleSpec *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting - - if (node->rolename != NULL) { - _fingerprintString(ctx, "rolename"); - _fingerprintString(ctx, node->rolename); - } - - if (true) { - _fingerprintString(ctx, "roletype"); - _fingerprintString(ctx, _enumToStringRoleSpecType(node->roletype)); - } - -} - -static void -_fingerprintTriggerTransition(FingerprintContext *ctx, const TriggerTransition *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->isNew) { - _fingerprintString(ctx, "isNew"); - _fingerprintString(ctx, "true"); - } - - if (node->isTable) { - _fingerprintString(ctx, "isTable"); - _fingerprintString(ctx, "true"); - } - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - -} - -static void -_fingerprintPartitionElem(FingerprintContext *ctx, const PartitionElem *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterTSConfigurationStmt(FingerprintContext *ctx, const AlterTSConfigurationStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->collation != NULL && node->collation->length > 0) { + if (node->cfgname != NULL && node->cfgname->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "collation"); + _fingerprintString(ctx, "cfgname"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->collation, node, "collation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->collation) == 1 && linitial(node->collation) == NIL)) { + _fingerprintNode(ctx, node->cfgname, node, "cfgname", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->cfgname) == 1 && linitial(node->cfgname) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->expr != NULL) { + if (node->dicts != NULL && node->dicts->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "expr"); + _fingerprintString(ctx, "dicts"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->expr, node, "expr", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->dicts, node, "dicts", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->dicts) == 1 && linitial(node->dicts) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringAlterTSConfigType(node->kind)); } - if (node->opclass != NULL && node->opclass->length > 0) { - XXH3_state_t* prev = XXH3_createState(); - XXH64_hash_t hash; - - XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "opclass"); + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); + _fingerprintString(ctx, "true"); + } - hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->opclass, node, "opclass", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->opclass) == 1 && linitial(node->opclass) == NIL)) { - XXH3_copyState(ctx->xxh_state, prev); - if (ctx->write_tokens) - dlist_delete(dlist_tail_node(&ctx->tokens)); - } - XXH3_freeState(prev); + if (node->override) { + _fingerprintString(ctx, "override"); + _fingerprintString(ctx, "true"); } -} -static void -_fingerprintPartitionSpec(FingerprintContext *ctx, const PartitionSpec *node, const void *parent, const char *field_name, unsigned int depth) -{ - // Intentionally ignoring node->location for fingerprinting + if (node->replace) { + _fingerprintString(ctx, "replace"); + _fingerprintString(ctx, "true"); + } - if (node->partParams != NULL && node->partParams->length > 0) { + if (node->tokentype != NULL && node->tokentype->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "partParams"); + _fingerprintString(ctx, "tokentype"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->partParams, node, "partParams", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->partParams) == 1 && linitial(node->partParams) == NIL)) { + _fingerprintNode(ctx, node->tokentype, node, "tokentype", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->tokentype) == 1 && linitial(node->tokentype) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->strategy != NULL) { - _fingerprintString(ctx, "strategy"); - _fingerprintString(ctx, node->strategy); - } - } static void -_fingerprintPartitionBoundSpec(FingerprintContext *ctx, const PartitionBoundSpec *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPublicationTable(FingerprintContext *ctx, const PublicationTable *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->is_default) { - _fingerprintString(ctx, "is_default"); - _fingerprintString(ctx, "true"); - } - - if (node->listdatums != NULL && node->listdatums->length > 0) { + if (node->columns != NULL && node->columns->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "listdatums"); + _fingerprintString(ctx, "columns"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->listdatums, node, "listdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->listdatums) == 1 && linitial(node->listdatums) == NIL)) { + _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - // Intentionally ignoring node->location for fingerprinting - - if (node->lowerdatums != NULL && node->lowerdatums->length > 0) { + if (node->relation != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "lowerdatums"); + _fingerprintString(ctx, "relation"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->lowerdatums, node, "lowerdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->lowerdatums) == 1 && linitial(node->lowerdatums) == NIL)) { + _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->modulus != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->modulus); - _fingerprintString(ctx, "modulus"); - _fingerprintString(ctx, buffer); - } - - if (node->remainder != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->remainder); - _fingerprintString(ctx, "remainder"); - _fingerprintString(ctx, buffer); - } - - if (node->strategy != 0) { - char buffer[2] = {node->strategy, '\0'}; - _fingerprintString(ctx, "strategy"); - _fingerprintString(ctx, buffer); - } - if (node->upperdatums != NULL && node->upperdatums->length > 0) { + if (node->whereClause != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "upperdatums"); + _fingerprintString(ctx, "whereClause"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->upperdatums, node, "upperdatums", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->upperdatums) == 1 && linitial(node->upperdatums) == NIL)) { + _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + } static void -_fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDatum *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintPublicationObjSpec(FingerprintContext *ctx, const PublicationObjSpec *node, const void *parent, const char *field_name, unsigned int depth) { - if (true) { - _fingerprintString(ctx, "kind"); - _fingerprintString(ctx, _enumToStringPartitionRangeDatumKind(node->kind)); + // Intentionally ignoring node->location for fingerprinting + + if (node->name != NULL) { + _fingerprintString(ctx, "name"); + _fingerprintString(ctx, node->name); } - // Intentionally ignoring node->location for fingerprinting + if (true) { + _fingerprintString(ctx, "pubobjtype"); + _fingerprintString(ctx, _enumToStringPublicationObjSpecType(node->pubobjtype)); + } - if (node->value != NULL) { + if (node->pubtable != NULL) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "value"); + _fingerprintString(ctx, "pubtable"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->value, node, "value", depth + 1); + _fingerprintPublicationTable(ctx, node->pubtable, node, "pubtable", depth + 1); if (hash == XXH3_64bits_digest(ctx->xxh_state)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) @@ -12995,86 +14759,96 @@ _fingerprintPartitionRangeDatum(FingerprintContext *ctx, const PartitionRangeDat } static void -_fingerprintPartitionCmd(FingerprintContext *ctx, const PartitionCmd *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreatePublicationStmt(FingerprintContext *ctx, const CreatePublicationStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->bound != NULL) { + if (node->for_all_tables) { + _fingerprintString(ctx, "for_all_tables"); + _fingerprintString(ctx, "true"); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "bound"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintPartitionBoundSpec(ctx, node->bound, node, "bound", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->concurrent) { - _fingerprintString(ctx, "concurrent"); - _fingerprintString(ctx, "true"); + if (node->pubname != NULL) { + _fingerprintString(ctx, "pubname"); + _fingerprintString(ctx, node->pubname); } - if (node->name != NULL) { + if (node->pubobjects != NULL && node->pubobjects->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "name"); + _fingerprintString(ctx, "pubobjects"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->name, node, "name", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->pubobjects, node, "pubobjects", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pubobjects) == 1 && linitial(node->pubobjects) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - } static void -_fingerprintVacuumRelation(FingerprintContext *ctx, const VacuumRelation *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintAlterPublicationStmt(FingerprintContext *ctx, const AlterPublicationStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->oid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->oid); - _fingerprintString(ctx, "oid"); - _fingerprintString(ctx, buffer); + if (true) { + _fingerprintString(ctx, "action"); + _fingerprintString(ctx, _enumToStringAlterPublicationAction(node->action)); } - if (node->relation != NULL) { + if (node->for_all_tables) { + _fingerprintString(ctx, "for_all_tables"); + _fingerprintString(ctx, "true"); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->pubname != NULL) { + _fingerprintString(ctx, "pubname"); + _fingerprintString(ctx, node->pubname); + } - if (node->va_cols != NULL && node->va_cols->length > 0) { + if (node->pubobjects != NULL && node->pubobjects->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "va_cols"); + _fingerprintString(ctx, "pubobjects"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->va_cols, node, "va_cols", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->va_cols) == 1 && linitial(node->va_cols) == NIL)) { + _fingerprintNode(ctx, node->pubobjects, node, "pubobjects", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->pubobjects) == 1 && linitial(node->pubobjects) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); @@ -13084,127 +14858,120 @@ _fingerprintVacuumRelation(FingerprintContext *ctx, const VacuumRelation *node, } static void -_fingerprintPublicationObjSpec(FingerprintContext *ctx, const PublicationObjSpec *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintCreateSubscriptionStmt(FingerprintContext *ctx, const CreateSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) { - // Intentionally ignoring node->location for fingerprinting - - if (node->name != NULL) { - _fingerprintString(ctx, "name"); - _fingerprintString(ctx, node->name); - } - - if (true) { - _fingerprintString(ctx, "pubobjtype"); - _fingerprintString(ctx, _enumToStringPublicationObjSpecType(node->pubobjtype)); + if (node->conninfo != NULL) { + _fingerprintString(ctx, "conninfo"); + _fingerprintString(ctx, node->conninfo); } - if (node->pubtable != NULL) { + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "pubtable"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintPublicationTable(ctx, node->pubtable, node, "pubtable", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - -} - -static void -_fingerprintPublicationTable(FingerprintContext *ctx, const PublicationTable *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->columns != NULL && node->columns->length > 0) { + if (node->publication != NULL && node->publication->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "columns"); + _fingerprintString(ctx, "publication"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->columns, node, "columns", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->columns) == 1 && linitial(node->columns) == NIL)) { + _fingerprintNode(ctx, node->publication, node, "publication", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->publication) == 1 && linitial(node->publication) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - if (node->relation != NULL) { + if (node->subname != NULL) { + _fingerprintString(ctx, "subname"); + _fingerprintString(ctx, node->subname); + } + +} + +static void +_fingerprintAlterSubscriptionStmt(FingerprintContext *ctx, const AlterSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) +{ + if (node->conninfo != NULL) { + _fingerprintString(ctx, "conninfo"); + _fingerprintString(ctx, node->conninfo); + } + + if (true) { + _fingerprintString(ctx, "kind"); + _fingerprintString(ctx, _enumToStringAlterSubscriptionType(node->kind)); + } + + if (node->options != NULL && node->options->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "relation"); + _fingerprintString(ctx, "options"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintRangeVar(ctx, node->relation, node, "relation", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->options, node, "options", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->options) == 1 && linitial(node->options) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } - - if (node->whereClause != NULL) { + if (node->publication != NULL && node->publication->length > 0) { XXH3_state_t* prev = XXH3_createState(); XXH64_hash_t hash; XXH3_copyState(prev, ctx->xxh_state); - _fingerprintString(ctx, "whereClause"); + _fingerprintString(ctx, "publication"); hash = XXH3_64bits_digest(ctx->xxh_state); - _fingerprintNode(ctx, node->whereClause, node, "whereClause", depth + 1); - if (hash == XXH3_64bits_digest(ctx->xxh_state)) { + _fingerprintNode(ctx, node->publication, node, "publication", depth + 1); + if (hash == XXH3_64bits_digest(ctx->xxh_state) && !(list_length(node->publication) == 1 && linitial(node->publication) == NIL)) { XXH3_copyState(ctx->xxh_state, prev); if (ctx->write_tokens) dlist_delete(dlist_tail_node(&ctx->tokens)); } XXH3_freeState(prev); } + if (node->subname != NULL) { + _fingerprintString(ctx, "subname"); + _fingerprintString(ctx, node->subname); + } } static void -_fingerprintInlineCodeBlock(FingerprintContext *ctx, const InlineCodeBlock *node, const void *parent, const char *field_name, unsigned int depth) +_fingerprintDropSubscriptionStmt(FingerprintContext *ctx, const DropSubscriptionStmt *node, const void *parent, const char *field_name, unsigned int depth) { - if (node->atomic) { - _fingerprintString(ctx, "atomic"); - _fingerprintString(ctx, "true"); + if (true) { + _fingerprintString(ctx, "behavior"); + _fingerprintString(ctx, _enumToStringDropBehavior(node->behavior)); } - if (node->langIsTrusted) { - _fingerprintString(ctx, "langIsTrusted"); + if (node->missing_ok) { + _fingerprintString(ctx, "missing_ok"); _fingerprintString(ctx, "true"); } - if (node->langOid != 0) { - char buffer[50]; - sprintf(buffer, "%d", node->langOid); - _fingerprintString(ctx, "langOid"); - _fingerprintString(ctx, buffer); - } - - if (node->source_text != NULL) { - _fingerprintString(ctx, "source_text"); - _fingerprintString(ctx, node->source_text); - } - -} - -static void -_fingerprintCallContext(FingerprintContext *ctx, const CallContext *node, const void *parent, const char *field_name, unsigned int depth) -{ - if (node->atomic) { - _fingerprintString(ctx, "atomic"); - _fingerprintString(ctx, "true"); + if (node->subname != NULL) { + _fingerprintString(ctx, "subname"); + _fingerprintString(ctx, node->subname); } } diff --git a/parser/include/pg_query_outfuncs_conds.c b/parser/include/pg_query_outfuncs_conds.c index a0d56499..38236691 100644 --- a/parser/include/pg_query_outfuncs_conds.c +++ b/parser/include/pg_query_outfuncs_conds.c @@ -36,6 +36,9 @@ case T_RangeVar: case T_TableFunc: OUT_NODE(TableFunc, TableFunc, table_func, TABLE_FUNC, TableFunc, table_func); break; +case T_IntoClause: + OUT_NODE(IntoClause, IntoClause, into_clause, INTO_CLAUSE, IntoClause, into_clause); + break; case T_Var: OUT_NODE(Var, Var, var, VAR, Var, var); break; @@ -51,6 +54,12 @@ case T_GroupingFunc: case T_WindowFunc: OUT_NODE(WindowFunc, WindowFunc, window_func, WINDOW_FUNC, WindowFunc, window_func); break; +case T_WindowFuncRunCondition: + OUT_NODE(WindowFuncRunCondition, WindowFuncRunCondition, window_func_run_condition, WINDOW_FUNC_RUN_CONDITION, WindowFuncRunCondition, window_func_run_condition); + break; +case T_MergeSupportFunc: + OUT_NODE(MergeSupportFunc, MergeSupportFunc, merge_support_func, MERGE_SUPPORT_FUNC, MergeSupportFunc, merge_support_func); + break; case T_SubscriptingRef: OUT_NODE(SubscriptingRef, SubscriptingRef, subscripting_ref, SUBSCRIPTING_REF, SubscriptingRef, subscripting_ref); break; @@ -135,12 +144,45 @@ case T_SQLValueFunction: case T_XmlExpr: OUT_NODE(XmlExpr, XmlExpr, xml_expr, XML_EXPR, XmlExpr, xml_expr); break; +case T_JsonFormat: + OUT_NODE(JsonFormat, JsonFormat, json_format, JSON_FORMAT, JsonFormat, json_format); + break; +case T_JsonReturning: + OUT_NODE(JsonReturning, JsonReturning, json_returning, JSON_RETURNING, JsonReturning, json_returning); + break; +case T_JsonValueExpr: + OUT_NODE(JsonValueExpr, JsonValueExpr, json_value_expr, JSON_VALUE_EXPR, JsonValueExpr, json_value_expr); + break; +case T_JsonConstructorExpr: + OUT_NODE(JsonConstructorExpr, JsonConstructorExpr, json_constructor_expr, JSON_CONSTRUCTOR_EXPR, JsonConstructorExpr, json_constructor_expr); + break; +case T_JsonIsPredicate: + OUT_NODE(JsonIsPredicate, JsonIsPredicate, json_is_predicate, JSON_IS_PREDICATE, JsonIsPredicate, json_is_predicate); + break; +case T_JsonBehavior: + OUT_NODE(JsonBehavior, JsonBehavior, json_behavior, JSON_BEHAVIOR, JsonBehavior, json_behavior); + break; +case T_JsonExpr: + OUT_NODE(JsonExpr, JsonExpr, json_expr, JSON_EXPR, JsonExpr, json_expr); + break; +case T_JsonTablePath: + OUT_NODE(JsonTablePath, JsonTablePath, json_table_path, JSON_TABLE_PATH, JsonTablePath, json_table_path); + break; +case T_JsonTablePathScan: + OUT_NODE(JsonTablePathScan, JsonTablePathScan, json_table_path_scan, JSON_TABLE_PATH_SCAN, JsonTablePathScan, json_table_path_scan); + break; +case T_JsonTableSiblingJoin: + OUT_NODE(JsonTableSiblingJoin, JsonTableSiblingJoin, json_table_sibling_join, JSON_TABLE_SIBLING_JOIN, JsonTableSiblingJoin, json_table_sibling_join); + break; case T_NullTest: OUT_NODE(NullTest, NullTest, null_test, NULL_TEST, NullTest, null_test); break; case T_BooleanTest: OUT_NODE(BooleanTest, BooleanTest, boolean_test, BOOLEAN_TEST, BooleanTest, boolean_test); break; +case T_MergeAction: + OUT_NODE(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); + break; case T_CoerceToDomain: OUT_NODE(CoerceToDomain, CoerceToDomain, coerce_to_domain, COERCE_TO_DOMAIN, CoerceToDomain, coerce_to_domain); break; @@ -174,269 +216,302 @@ case T_FromExpr: case T_OnConflictExpr: OUT_NODE(OnConflictExpr, OnConflictExpr, on_conflict_expr, ON_CONFLICT_EXPR, OnConflictExpr, on_conflict_expr); break; -case T_IntoClause: - OUT_NODE(IntoClause, IntoClause, into_clause, INTO_CLAUSE, IntoClause, into_clause); - break; -case T_MergeAction: - OUT_NODE(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); - break; -case T_RawStmt: - OUT_NODE(RawStmt, RawStmt, raw_stmt, RAW_STMT, RawStmt, raw_stmt); - break; case T_Query: OUT_NODE(Query, Query, query, QUERY, Query, query); break; -case T_InsertStmt: - OUT_NODE(InsertStmt, InsertStmt, insert_stmt, INSERT_STMT, InsertStmt, insert_stmt); +case T_TypeName: + OUT_NODE(TypeName, TypeName, type_name, TYPE_NAME, TypeName, type_name); break; -case T_DeleteStmt: - OUT_NODE(DeleteStmt, DeleteStmt, delete_stmt, DELETE_STMT, DeleteStmt, delete_stmt); +case T_ColumnRef: + OUT_NODE(ColumnRef, ColumnRef, column_ref, COLUMN_REF, ColumnRef, column_ref); break; -case T_UpdateStmt: - OUT_NODE(UpdateStmt, UpdateStmt, update_stmt, UPDATE_STMT, UpdateStmt, update_stmt); +case T_ParamRef: + OUT_NODE(ParamRef, ParamRef, param_ref, PARAM_REF, ParamRef, param_ref); break; -case T_MergeStmt: - OUT_NODE(MergeStmt, MergeStmt, merge_stmt, MERGE_STMT, MergeStmt, merge_stmt); +case T_A_Expr: + OUT_NODE(A_Expr, AExpr, a__expr, A_EXPR, A_Expr, a_expr); break; -case T_SelectStmt: - OUT_NODE(SelectStmt, SelectStmt, select_stmt, SELECT_STMT, SelectStmt, select_stmt); +case T_TypeCast: + OUT_NODE(TypeCast, TypeCast, type_cast, TYPE_CAST, TypeCast, type_cast); break; -case T_ReturnStmt: - OUT_NODE(ReturnStmt, ReturnStmt, return_stmt, RETURN_STMT, ReturnStmt, return_stmt); +case T_CollateClause: + OUT_NODE(CollateClause, CollateClause, collate_clause, COLLATE_CLAUSE, CollateClause, collate_clause); break; -case T_PLAssignStmt: - OUT_NODE(PLAssignStmt, PLAssignStmt, plassign_stmt, PLASSIGN_STMT, PLAssignStmt, plassign_stmt); +case T_RoleSpec: + OUT_NODE(RoleSpec, RoleSpec, role_spec, ROLE_SPEC, RoleSpec, role_spec); break; -case T_AlterTableStmt: - OUT_NODE(AlterTableStmt, AlterTableStmt, alter_table_stmt, ALTER_TABLE_STMT, AlterTableStmt, alter_table_stmt); +case T_FuncCall: + OUT_NODE(FuncCall, FuncCall, func_call, FUNC_CALL, FuncCall, func_call); break; -case T_AlterTableCmd: - OUT_NODE(AlterTableCmd, AlterTableCmd, alter_table_cmd, ALTER_TABLE_CMD, AlterTableCmd, alter_table_cmd); +case T_A_Star: + OUT_NODE(A_Star, AStar, a__star, A_STAR, A_Star, a_star); break; -case T_AlterDomainStmt: - OUT_NODE(AlterDomainStmt, AlterDomainStmt, alter_domain_stmt, ALTER_DOMAIN_STMT, AlterDomainStmt, alter_domain_stmt); +case T_A_Indices: + OUT_NODE(A_Indices, AIndices, a__indices, A_INDICES, A_Indices, a_indices); break; -case T_SetOperationStmt: - OUT_NODE(SetOperationStmt, SetOperationStmt, set_operation_stmt, SET_OPERATION_STMT, SetOperationStmt, set_operation_stmt); +case T_A_Indirection: + OUT_NODE(A_Indirection, AIndirection, a__indirection, A_INDIRECTION, A_Indirection, a_indirection); break; -case T_GrantStmt: - OUT_NODE(GrantStmt, GrantStmt, grant_stmt, GRANT_STMT, GrantStmt, grant_stmt); +case T_A_ArrayExpr: + OUT_NODE(A_ArrayExpr, AArrayExpr, a__array_expr, A_ARRAY_EXPR, A_ArrayExpr, a_array_expr); break; -case T_GrantRoleStmt: - OUT_NODE(GrantRoleStmt, GrantRoleStmt, grant_role_stmt, GRANT_ROLE_STMT, GrantRoleStmt, grant_role_stmt); +case T_ResTarget: + OUT_NODE(ResTarget, ResTarget, res_target, RES_TARGET, ResTarget, res_target); break; -case T_AlterDefaultPrivilegesStmt: - OUT_NODE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt, ALTER_DEFAULT_PRIVILEGES_STMT, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt); +case T_MultiAssignRef: + OUT_NODE(MultiAssignRef, MultiAssignRef, multi_assign_ref, MULTI_ASSIGN_REF, MultiAssignRef, multi_assign_ref); break; -case T_ClosePortalStmt: - OUT_NODE(ClosePortalStmt, ClosePortalStmt, close_portal_stmt, CLOSE_PORTAL_STMT, ClosePortalStmt, close_portal_stmt); +case T_SortBy: + OUT_NODE(SortBy, SortBy, sort_by, SORT_BY, SortBy, sort_by); break; -case T_ClusterStmt: - OUT_NODE(ClusterStmt, ClusterStmt, cluster_stmt, CLUSTER_STMT, ClusterStmt, cluster_stmt); +case T_WindowDef: + OUT_NODE(WindowDef, WindowDef, window_def, WINDOW_DEF, WindowDef, window_def); break; -case T_CopyStmt: - OUT_NODE(CopyStmt, CopyStmt, copy_stmt, COPY_STMT, CopyStmt, copy_stmt); +case T_RangeSubselect: + OUT_NODE(RangeSubselect, RangeSubselect, range_subselect, RANGE_SUBSELECT, RangeSubselect, range_subselect); break; -case T_CreateStmt: - OUT_NODE(CreateStmt, CreateStmt, create_stmt, CREATE_STMT, CreateStmt, create_stmt); +case T_RangeFunction: + OUT_NODE(RangeFunction, RangeFunction, range_function, RANGE_FUNCTION, RangeFunction, range_function); break; -case T_DefineStmt: - OUT_NODE(DefineStmt, DefineStmt, define_stmt, DEFINE_STMT, DefineStmt, define_stmt); +case T_RangeTableFunc: + OUT_NODE(RangeTableFunc, RangeTableFunc, range_table_func, RANGE_TABLE_FUNC, RangeTableFunc, range_table_func); break; -case T_DropStmt: - OUT_NODE(DropStmt, DropStmt, drop_stmt, DROP_STMT, DropStmt, drop_stmt); +case T_RangeTableFuncCol: + OUT_NODE(RangeTableFuncCol, RangeTableFuncCol, range_table_func_col, RANGE_TABLE_FUNC_COL, RangeTableFuncCol, range_table_func_col); break; -case T_TruncateStmt: - OUT_NODE(TruncateStmt, TruncateStmt, truncate_stmt, TRUNCATE_STMT, TruncateStmt, truncate_stmt); +case T_RangeTableSample: + OUT_NODE(RangeTableSample, RangeTableSample, range_table_sample, RANGE_TABLE_SAMPLE, RangeTableSample, range_table_sample); break; -case T_CommentStmt: - OUT_NODE(CommentStmt, CommentStmt, comment_stmt, COMMENT_STMT, CommentStmt, comment_stmt); +case T_ColumnDef: + OUT_NODE(ColumnDef, ColumnDef, column_def, COLUMN_DEF, ColumnDef, column_def); break; -case T_FetchStmt: - OUT_NODE(FetchStmt, FetchStmt, fetch_stmt, FETCH_STMT, FetchStmt, fetch_stmt); +case T_TableLikeClause: + OUT_NODE(TableLikeClause, TableLikeClause, table_like_clause, TABLE_LIKE_CLAUSE, TableLikeClause, table_like_clause); break; -case T_IndexStmt: - OUT_NODE(IndexStmt, IndexStmt, index_stmt, INDEX_STMT, IndexStmt, index_stmt); +case T_IndexElem: + OUT_NODE(IndexElem, IndexElem, index_elem, INDEX_ELEM, IndexElem, index_elem); break; -case T_CreateFunctionStmt: - OUT_NODE(CreateFunctionStmt, CreateFunctionStmt, create_function_stmt, CREATE_FUNCTION_STMT, CreateFunctionStmt, create_function_stmt); +case T_DefElem: + OUT_NODE(DefElem, DefElem, def_elem, DEF_ELEM, DefElem, def_elem); break; -case T_AlterFunctionStmt: - OUT_NODE(AlterFunctionStmt, AlterFunctionStmt, alter_function_stmt, ALTER_FUNCTION_STMT, AlterFunctionStmt, alter_function_stmt); +case T_LockingClause: + OUT_NODE(LockingClause, LockingClause, locking_clause, LOCKING_CLAUSE, LockingClause, locking_clause); break; -case T_DoStmt: - OUT_NODE(DoStmt, DoStmt, do_stmt, DO_STMT, DoStmt, do_stmt); +case T_XmlSerialize: + OUT_NODE(XmlSerialize, XmlSerialize, xml_serialize, XML_SERIALIZE, XmlSerialize, xml_serialize); break; -case T_RenameStmt: - OUT_NODE(RenameStmt, RenameStmt, rename_stmt, RENAME_STMT, RenameStmt, rename_stmt); +case T_PartitionElem: + OUT_NODE(PartitionElem, PartitionElem, partition_elem, PARTITION_ELEM, PartitionElem, partition_elem); break; -case T_RuleStmt: - OUT_NODE(RuleStmt, RuleStmt, rule_stmt, RULE_STMT, RuleStmt, rule_stmt); +case T_PartitionSpec: + OUT_NODE(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec); break; -case T_NotifyStmt: - OUT_NODE(NotifyStmt, NotifyStmt, notify_stmt, NOTIFY_STMT, NotifyStmt, notify_stmt); +case T_PartitionBoundSpec: + OUT_NODE(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec); break; -case T_ListenStmt: - OUT_NODE(ListenStmt, ListenStmt, listen_stmt, LISTEN_STMT, ListenStmt, listen_stmt); +case T_PartitionRangeDatum: + OUT_NODE(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); break; -case T_UnlistenStmt: - OUT_NODE(UnlistenStmt, UnlistenStmt, unlisten_stmt, UNLISTEN_STMT, UnlistenStmt, unlisten_stmt); +case T_SinglePartitionSpec: + OUT_NODE(SinglePartitionSpec, SinglePartitionSpec, single_partition_spec, SINGLE_PARTITION_SPEC, SinglePartitionSpec, single_partition_spec); break; -case T_TransactionStmt: - OUT_NODE(TransactionStmt, TransactionStmt, transaction_stmt, TRANSACTION_STMT, TransactionStmt, transaction_stmt); +case T_PartitionCmd: + OUT_NODE(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); break; -case T_ViewStmt: - OUT_NODE(ViewStmt, ViewStmt, view_stmt, VIEW_STMT, ViewStmt, view_stmt); +case T_RangeTblEntry: + OUT_NODE(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry); break; -case T_LoadStmt: - OUT_NODE(LoadStmt, LoadStmt, load_stmt, LOAD_STMT, LoadStmt, load_stmt); +case T_RTEPermissionInfo: + OUT_NODE(RTEPermissionInfo, RTEPermissionInfo, rtepermission_info, RTEPERMISSION_INFO, RTEPermissionInfo, rtepermission_info); break; -case T_CreateDomainStmt: - OUT_NODE(CreateDomainStmt, CreateDomainStmt, create_domain_stmt, CREATE_DOMAIN_STMT, CreateDomainStmt, create_domain_stmt); +case T_RangeTblFunction: + OUT_NODE(RangeTblFunction, RangeTblFunction, range_tbl_function, RANGE_TBL_FUNCTION, RangeTblFunction, range_tbl_function); break; -case T_CreatedbStmt: - OUT_NODE(CreatedbStmt, CreatedbStmt, createdb_stmt, CREATEDB_STMT, CreatedbStmt, createdb_stmt); +case T_TableSampleClause: + OUT_NODE(TableSampleClause, TableSampleClause, table_sample_clause, TABLE_SAMPLE_CLAUSE, TableSampleClause, table_sample_clause); break; -case T_DropdbStmt: - OUT_NODE(DropdbStmt, DropdbStmt, dropdb_stmt, DROPDB_STMT, DropdbStmt, dropdb_stmt); +case T_WithCheckOption: + OUT_NODE(WithCheckOption, WithCheckOption, with_check_option, WITH_CHECK_OPTION, WithCheckOption, with_check_option); break; -case T_VacuumStmt: - OUT_NODE(VacuumStmt, VacuumStmt, vacuum_stmt, VACUUM_STMT, VacuumStmt, vacuum_stmt); +case T_SortGroupClause: + OUT_NODE(SortGroupClause, SortGroupClause, sort_group_clause, SORT_GROUP_CLAUSE, SortGroupClause, sort_group_clause); break; -case T_ExplainStmt: - OUT_NODE(ExplainStmt, ExplainStmt, explain_stmt, EXPLAIN_STMT, ExplainStmt, explain_stmt); +case T_GroupingSet: + OUT_NODE(GroupingSet, GroupingSet, grouping_set, GROUPING_SET, GroupingSet, grouping_set); break; -case T_CreateTableAsStmt: - OUT_NODE(CreateTableAsStmt, CreateTableAsStmt, create_table_as_stmt, CREATE_TABLE_AS_STMT, CreateTableAsStmt, create_table_as_stmt); +case T_WindowClause: + OUT_NODE(WindowClause, WindowClause, window_clause, WINDOW_CLAUSE, WindowClause, window_clause); break; -case T_CreateSeqStmt: - OUT_NODE(CreateSeqStmt, CreateSeqStmt, create_seq_stmt, CREATE_SEQ_STMT, CreateSeqStmt, create_seq_stmt); +case T_RowMarkClause: + OUT_NODE(RowMarkClause, RowMarkClause, row_mark_clause, ROW_MARK_CLAUSE, RowMarkClause, row_mark_clause); break; -case T_AlterSeqStmt: - OUT_NODE(AlterSeqStmt, AlterSeqStmt, alter_seq_stmt, ALTER_SEQ_STMT, AlterSeqStmt, alter_seq_stmt); +case T_WithClause: + OUT_NODE(WithClause, WithClause, with_clause, WITH_CLAUSE, WithClause, with_clause); break; -case T_VariableSetStmt: - OUT_NODE(VariableSetStmt, VariableSetStmt, variable_set_stmt, VARIABLE_SET_STMT, VariableSetStmt, variable_set_stmt); +case T_InferClause: + OUT_NODE(InferClause, InferClause, infer_clause, INFER_CLAUSE, InferClause, infer_clause); break; -case T_VariableShowStmt: - OUT_NODE(VariableShowStmt, VariableShowStmt, variable_show_stmt, VARIABLE_SHOW_STMT, VariableShowStmt, variable_show_stmt); +case T_OnConflictClause: + OUT_NODE(OnConflictClause, OnConflictClause, on_conflict_clause, ON_CONFLICT_CLAUSE, OnConflictClause, on_conflict_clause); break; -case T_DiscardStmt: - OUT_NODE(DiscardStmt, DiscardStmt, discard_stmt, DISCARD_STMT, DiscardStmt, discard_stmt); +case T_CTESearchClause: + OUT_NODE(CTESearchClause, CTESearchClause, ctesearch_clause, CTESEARCH_CLAUSE, CTESearchClause, ctesearch_clause); break; -case T_CreateTrigStmt: - OUT_NODE(CreateTrigStmt, CreateTrigStmt, create_trig_stmt, CREATE_TRIG_STMT, CreateTrigStmt, create_trig_stmt); +case T_CTECycleClause: + OUT_NODE(CTECycleClause, CTECycleClause, ctecycle_clause, CTECYCLE_CLAUSE, CTECycleClause, ctecycle_clause); break; -case T_CreatePLangStmt: - OUT_NODE(CreatePLangStmt, CreatePLangStmt, create_plang_stmt, CREATE_PLANG_STMT, CreatePLangStmt, create_plang_stmt); +case T_CommonTableExpr: + OUT_NODE(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr); break; -case T_CreateRoleStmt: - OUT_NODE(CreateRoleStmt, CreateRoleStmt, create_role_stmt, CREATE_ROLE_STMT, CreateRoleStmt, create_role_stmt); +case T_MergeWhenClause: + OUT_NODE(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); break; -case T_AlterRoleStmt: - OUT_NODE(AlterRoleStmt, AlterRoleStmt, alter_role_stmt, ALTER_ROLE_STMT, AlterRoleStmt, alter_role_stmt); +case T_TriggerTransition: + OUT_NODE(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); break; -case T_DropRoleStmt: - OUT_NODE(DropRoleStmt, DropRoleStmt, drop_role_stmt, DROP_ROLE_STMT, DropRoleStmt, drop_role_stmt); +case T_JsonOutput: + OUT_NODE(JsonOutput, JsonOutput, json_output, JSON_OUTPUT, JsonOutput, json_output); break; -case T_LockStmt: - OUT_NODE(LockStmt, LockStmt, lock_stmt, LOCK_STMT, LockStmt, lock_stmt); +case T_JsonArgument: + OUT_NODE(JsonArgument, JsonArgument, json_argument, JSON_ARGUMENT, JsonArgument, json_argument); break; -case T_ConstraintsSetStmt: - OUT_NODE(ConstraintsSetStmt, ConstraintsSetStmt, constraints_set_stmt, CONSTRAINTS_SET_STMT, ConstraintsSetStmt, constraints_set_stmt); +case T_JsonFuncExpr: + OUT_NODE(JsonFuncExpr, JsonFuncExpr, json_func_expr, JSON_FUNC_EXPR, JsonFuncExpr, json_func_expr); break; -case T_ReindexStmt: - OUT_NODE(ReindexStmt, ReindexStmt, reindex_stmt, REINDEX_STMT, ReindexStmt, reindex_stmt); +case T_JsonTablePathSpec: + OUT_NODE(JsonTablePathSpec, JsonTablePathSpec, json_table_path_spec, JSON_TABLE_PATH_SPEC, JsonTablePathSpec, json_table_path_spec); break; -case T_CheckPointStmt: - OUT_NODE(CheckPointStmt, CheckPointStmt, check_point_stmt, CHECK_POINT_STMT, CheckPointStmt, check_point_stmt); +case T_JsonTable: + OUT_NODE(JsonTable, JsonTable, json_table, JSON_TABLE, JsonTable, json_table); break; -case T_CreateSchemaStmt: - OUT_NODE(CreateSchemaStmt, CreateSchemaStmt, create_schema_stmt, CREATE_SCHEMA_STMT, CreateSchemaStmt, create_schema_stmt); +case T_JsonTableColumn: + OUT_NODE(JsonTableColumn, JsonTableColumn, json_table_column, JSON_TABLE_COLUMN, JsonTableColumn, json_table_column); break; -case T_AlterDatabaseStmt: - OUT_NODE(AlterDatabaseStmt, AlterDatabaseStmt, alter_database_stmt, ALTER_DATABASE_STMT, AlterDatabaseStmt, alter_database_stmt); +case T_JsonKeyValue: + OUT_NODE(JsonKeyValue, JsonKeyValue, json_key_value, JSON_KEY_VALUE, JsonKeyValue, json_key_value); break; -case T_AlterDatabaseRefreshCollStmt: - OUT_NODE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt, ALTER_DATABASE_REFRESH_COLL_STMT, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt); +case T_JsonParseExpr: + OUT_NODE(JsonParseExpr, JsonParseExpr, json_parse_expr, JSON_PARSE_EXPR, JsonParseExpr, json_parse_expr); break; -case T_AlterDatabaseSetStmt: - OUT_NODE(AlterDatabaseSetStmt, AlterDatabaseSetStmt, alter_database_set_stmt, ALTER_DATABASE_SET_STMT, AlterDatabaseSetStmt, alter_database_set_stmt); +case T_JsonScalarExpr: + OUT_NODE(JsonScalarExpr, JsonScalarExpr, json_scalar_expr, JSON_SCALAR_EXPR, JsonScalarExpr, json_scalar_expr); break; -case T_AlterRoleSetStmt: - OUT_NODE(AlterRoleSetStmt, AlterRoleSetStmt, alter_role_set_stmt, ALTER_ROLE_SET_STMT, AlterRoleSetStmt, alter_role_set_stmt); +case T_JsonSerializeExpr: + OUT_NODE(JsonSerializeExpr, JsonSerializeExpr, json_serialize_expr, JSON_SERIALIZE_EXPR, JsonSerializeExpr, json_serialize_expr); break; -case T_CreateConversionStmt: - OUT_NODE(CreateConversionStmt, CreateConversionStmt, create_conversion_stmt, CREATE_CONVERSION_STMT, CreateConversionStmt, create_conversion_stmt); +case T_JsonObjectConstructor: + OUT_NODE(JsonObjectConstructor, JsonObjectConstructor, json_object_constructor, JSON_OBJECT_CONSTRUCTOR, JsonObjectConstructor, json_object_constructor); break; -case T_CreateCastStmt: - OUT_NODE(CreateCastStmt, CreateCastStmt, create_cast_stmt, CREATE_CAST_STMT, CreateCastStmt, create_cast_stmt); +case T_JsonArrayConstructor: + OUT_NODE(JsonArrayConstructor, JsonArrayConstructor, json_array_constructor, JSON_ARRAY_CONSTRUCTOR, JsonArrayConstructor, json_array_constructor); break; -case T_CreateOpClassStmt: - OUT_NODE(CreateOpClassStmt, CreateOpClassStmt, create_op_class_stmt, CREATE_OP_CLASS_STMT, CreateOpClassStmt, create_op_class_stmt); +case T_JsonArrayQueryConstructor: + OUT_NODE(JsonArrayQueryConstructor, JsonArrayQueryConstructor, json_array_query_constructor, JSON_ARRAY_QUERY_CONSTRUCTOR, JsonArrayQueryConstructor, json_array_query_constructor); break; -case T_CreateOpFamilyStmt: - OUT_NODE(CreateOpFamilyStmt, CreateOpFamilyStmt, create_op_family_stmt, CREATE_OP_FAMILY_STMT, CreateOpFamilyStmt, create_op_family_stmt); +case T_JsonAggConstructor: + OUT_NODE(JsonAggConstructor, JsonAggConstructor, json_agg_constructor, JSON_AGG_CONSTRUCTOR, JsonAggConstructor, json_agg_constructor); break; -case T_AlterOpFamilyStmt: - OUT_NODE(AlterOpFamilyStmt, AlterOpFamilyStmt, alter_op_family_stmt, ALTER_OP_FAMILY_STMT, AlterOpFamilyStmt, alter_op_family_stmt); +case T_JsonObjectAgg: + OUT_NODE(JsonObjectAgg, JsonObjectAgg, json_object_agg, JSON_OBJECT_AGG, JsonObjectAgg, json_object_agg); break; -case T_PrepareStmt: - OUT_NODE(PrepareStmt, PrepareStmt, prepare_stmt, PREPARE_STMT, PrepareStmt, prepare_stmt); +case T_JsonArrayAgg: + OUT_NODE(JsonArrayAgg, JsonArrayAgg, json_array_agg, JSON_ARRAY_AGG, JsonArrayAgg, json_array_agg); break; -case T_ExecuteStmt: - OUT_NODE(ExecuteStmt, ExecuteStmt, execute_stmt, EXECUTE_STMT, ExecuteStmt, execute_stmt); +case T_RawStmt: + OUT_NODE(RawStmt, RawStmt, raw_stmt, RAW_STMT, RawStmt, raw_stmt); break; -case T_DeallocateStmt: - OUT_NODE(DeallocateStmt, DeallocateStmt, deallocate_stmt, DEALLOCATE_STMT, DeallocateStmt, deallocate_stmt); +case T_InsertStmt: + OUT_NODE(InsertStmt, InsertStmt, insert_stmt, INSERT_STMT, InsertStmt, insert_stmt); break; -case T_DeclareCursorStmt: - OUT_NODE(DeclareCursorStmt, DeclareCursorStmt, declare_cursor_stmt, DECLARE_CURSOR_STMT, DeclareCursorStmt, declare_cursor_stmt); +case T_DeleteStmt: + OUT_NODE(DeleteStmt, DeleteStmt, delete_stmt, DELETE_STMT, DeleteStmt, delete_stmt); break; -case T_CreateTableSpaceStmt: - OUT_NODE(CreateTableSpaceStmt, CreateTableSpaceStmt, create_table_space_stmt, CREATE_TABLE_SPACE_STMT, CreateTableSpaceStmt, create_table_space_stmt); +case T_UpdateStmt: + OUT_NODE(UpdateStmt, UpdateStmt, update_stmt, UPDATE_STMT, UpdateStmt, update_stmt); break; -case T_DropTableSpaceStmt: - OUT_NODE(DropTableSpaceStmt, DropTableSpaceStmt, drop_table_space_stmt, DROP_TABLE_SPACE_STMT, DropTableSpaceStmt, drop_table_space_stmt); +case T_MergeStmt: + OUT_NODE(MergeStmt, MergeStmt, merge_stmt, MERGE_STMT, MergeStmt, merge_stmt); break; -case T_AlterObjectDependsStmt: - OUT_NODE(AlterObjectDependsStmt, AlterObjectDependsStmt, alter_object_depends_stmt, ALTER_OBJECT_DEPENDS_STMT, AlterObjectDependsStmt, alter_object_depends_stmt); +case T_SelectStmt: + OUT_NODE(SelectStmt, SelectStmt, select_stmt, SELECT_STMT, SelectStmt, select_stmt); break; -case T_AlterObjectSchemaStmt: - OUT_NODE(AlterObjectSchemaStmt, AlterObjectSchemaStmt, alter_object_schema_stmt, ALTER_OBJECT_SCHEMA_STMT, AlterObjectSchemaStmt, alter_object_schema_stmt); +case T_SetOperationStmt: + OUT_NODE(SetOperationStmt, SetOperationStmt, set_operation_stmt, SET_OPERATION_STMT, SetOperationStmt, set_operation_stmt); break; -case T_AlterOwnerStmt: - OUT_NODE(AlterOwnerStmt, AlterOwnerStmt, alter_owner_stmt, ALTER_OWNER_STMT, AlterOwnerStmt, alter_owner_stmt); +case T_ReturnStmt: + OUT_NODE(ReturnStmt, ReturnStmt, return_stmt, RETURN_STMT, ReturnStmt, return_stmt); break; -case T_AlterOperatorStmt: - OUT_NODE(AlterOperatorStmt, AlterOperatorStmt, alter_operator_stmt, ALTER_OPERATOR_STMT, AlterOperatorStmt, alter_operator_stmt); +case T_PLAssignStmt: + OUT_NODE(PLAssignStmt, PLAssignStmt, plassign_stmt, PLASSIGN_STMT, PLAssignStmt, plassign_stmt); break; -case T_AlterTypeStmt: - OUT_NODE(AlterTypeStmt, AlterTypeStmt, alter_type_stmt, ALTER_TYPE_STMT, AlterTypeStmt, alter_type_stmt); +case T_CreateSchemaStmt: + OUT_NODE(CreateSchemaStmt, CreateSchemaStmt, create_schema_stmt, CREATE_SCHEMA_STMT, CreateSchemaStmt, create_schema_stmt); break; -case T_DropOwnedStmt: - OUT_NODE(DropOwnedStmt, DropOwnedStmt, drop_owned_stmt, DROP_OWNED_STMT, DropOwnedStmt, drop_owned_stmt); +case T_AlterTableStmt: + OUT_NODE(AlterTableStmt, AlterTableStmt, alter_table_stmt, ALTER_TABLE_STMT, AlterTableStmt, alter_table_stmt); break; -case T_ReassignOwnedStmt: - OUT_NODE(ReassignOwnedStmt, ReassignOwnedStmt, reassign_owned_stmt, REASSIGN_OWNED_STMT, ReassignOwnedStmt, reassign_owned_stmt); +case T_ReplicaIdentityStmt: + OUT_NODE(ReplicaIdentityStmt, ReplicaIdentityStmt, replica_identity_stmt, REPLICA_IDENTITY_STMT, ReplicaIdentityStmt, replica_identity_stmt); break; -case T_CompositeTypeStmt: - OUT_NODE(CompositeTypeStmt, CompositeTypeStmt, composite_type_stmt, COMPOSITE_TYPE_STMT, CompositeTypeStmt, composite_type_stmt); +case T_AlterTableCmd: + OUT_NODE(AlterTableCmd, AlterTableCmd, alter_table_cmd, ALTER_TABLE_CMD, AlterTableCmd, alter_table_cmd); break; -case T_CreateEnumStmt: - OUT_NODE(CreateEnumStmt, CreateEnumStmt, create_enum_stmt, CREATE_ENUM_STMT, CreateEnumStmt, create_enum_stmt); +case T_AlterCollationStmt: + OUT_NODE(AlterCollationStmt, AlterCollationStmt, alter_collation_stmt, ALTER_COLLATION_STMT, AlterCollationStmt, alter_collation_stmt); break; -case T_CreateRangeStmt: - OUT_NODE(CreateRangeStmt, CreateRangeStmt, create_range_stmt, CREATE_RANGE_STMT, CreateRangeStmt, create_range_stmt); +case T_AlterDomainStmt: + OUT_NODE(AlterDomainStmt, AlterDomainStmt, alter_domain_stmt, ALTER_DOMAIN_STMT, AlterDomainStmt, alter_domain_stmt); break; -case T_AlterEnumStmt: - OUT_NODE(AlterEnumStmt, AlterEnumStmt, alter_enum_stmt, ALTER_ENUM_STMT, AlterEnumStmt, alter_enum_stmt); +case T_GrantStmt: + OUT_NODE(GrantStmt, GrantStmt, grant_stmt, GRANT_STMT, GrantStmt, grant_stmt); break; -case T_AlterTSDictionaryStmt: - OUT_NODE(AlterTSDictionaryStmt, AlterTSDictionaryStmt, alter_tsdictionary_stmt, ALTER_TSDICTIONARY_STMT, AlterTSDictionaryStmt, alter_tsdictionary_stmt); +case T_ObjectWithArgs: + OUT_NODE(ObjectWithArgs, ObjectWithArgs, object_with_args, OBJECT_WITH_ARGS, ObjectWithArgs, object_with_args); break; -case T_AlterTSConfigurationStmt: - OUT_NODE(AlterTSConfigurationStmt, AlterTSConfigurationStmt, alter_tsconfiguration_stmt, ALTER_TSCONFIGURATION_STMT, AlterTSConfigurationStmt, alter_tsconfiguration_stmt); +case T_AccessPriv: + OUT_NODE(AccessPriv, AccessPriv, access_priv, ACCESS_PRIV, AccessPriv, access_priv); + break; +case T_GrantRoleStmt: + OUT_NODE(GrantRoleStmt, GrantRoleStmt, grant_role_stmt, GRANT_ROLE_STMT, GrantRoleStmt, grant_role_stmt); + break; +case T_AlterDefaultPrivilegesStmt: + OUT_NODE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt, ALTER_DEFAULT_PRIVILEGES_STMT, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt); + break; +case T_CopyStmt: + OUT_NODE(CopyStmt, CopyStmt, copy_stmt, COPY_STMT, CopyStmt, copy_stmt); + break; +case T_VariableSetStmt: + OUT_NODE(VariableSetStmt, VariableSetStmt, variable_set_stmt, VARIABLE_SET_STMT, VariableSetStmt, variable_set_stmt); + break; +case T_VariableShowStmt: + OUT_NODE(VariableShowStmt, VariableShowStmt, variable_show_stmt, VARIABLE_SHOW_STMT, VariableShowStmt, variable_show_stmt); + break; +case T_CreateStmt: + OUT_NODE(CreateStmt, CreateStmt, create_stmt, CREATE_STMT, CreateStmt, create_stmt); + break; +case T_Constraint: + OUT_NODE(Constraint, Constraint, constraint, CONSTRAINT, Constraint, constraint); + break; +case T_CreateTableSpaceStmt: + OUT_NODE(CreateTableSpaceStmt, CreateTableSpaceStmt, create_table_space_stmt, CREATE_TABLE_SPACE_STMT, CreateTableSpaceStmt, create_table_space_stmt); + break; +case T_DropTableSpaceStmt: + OUT_NODE(DropTableSpaceStmt, DropTableSpaceStmt, drop_table_space_stmt, DROP_TABLE_SPACE_STMT, DropTableSpaceStmt, drop_table_space_stmt); + break; +case T_AlterTableSpaceOptionsStmt: + OUT_NODE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt, ALTER_TABLE_SPACE_OPTIONS_STMT, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt); + break; +case T_AlterTableMoveAllStmt: + OUT_NODE(AlterTableMoveAllStmt, AlterTableMoveAllStmt, alter_table_move_all_stmt, ALTER_TABLE_MOVE_ALL_STMT, AlterTableMoveAllStmt, alter_table_move_all_stmt); + break; +case T_CreateExtensionStmt: + OUT_NODE(CreateExtensionStmt, CreateExtensionStmt, create_extension_stmt, CREATE_EXTENSION_STMT, CreateExtensionStmt, create_extension_stmt); + break; +case T_AlterExtensionStmt: + OUT_NODE(AlterExtensionStmt, AlterExtensionStmt, alter_extension_stmt, ALTER_EXTENSION_STMT, AlterExtensionStmt, alter_extension_stmt); + break; +case T_AlterExtensionContentsStmt: + OUT_NODE(AlterExtensionContentsStmt, AlterExtensionContentsStmt, alter_extension_contents_stmt, ALTER_EXTENSION_CONTENTS_STMT, AlterExtensionContentsStmt, alter_extension_contents_stmt); break; case T_CreateFdwStmt: OUT_NODE(CreateFdwStmt, CreateFdwStmt, create_fdw_stmt, CREATE_FDW_STMT, CreateFdwStmt, create_fdw_stmt); @@ -450,6 +525,9 @@ case T_CreateForeignServerStmt: case T_AlterForeignServerStmt: OUT_NODE(AlterForeignServerStmt, AlterForeignServerStmt, alter_foreign_server_stmt, ALTER_FOREIGN_SERVER_STMT, AlterForeignServerStmt, alter_foreign_server_stmt); break; +case T_CreateForeignTableStmt: + OUT_NODE(CreateForeignTableStmt, CreateForeignTableStmt, create_foreign_table_stmt, CREATE_FOREIGN_TABLE_STMT, CreateForeignTableStmt, create_foreign_table_stmt); + break; case T_CreateUserMappingStmt: OUT_NODE(CreateUserMappingStmt, CreateUserMappingStmt, create_user_mapping_stmt, CREATE_USER_MAPPING_STMT, CreateUserMappingStmt, create_user_mapping_stmt); break; @@ -459,29 +537,20 @@ case T_AlterUserMappingStmt: case T_DropUserMappingStmt: OUT_NODE(DropUserMappingStmt, DropUserMappingStmt, drop_user_mapping_stmt, DROP_USER_MAPPING_STMT, DropUserMappingStmt, drop_user_mapping_stmt); break; -case T_AlterTableSpaceOptionsStmt: - OUT_NODE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt, ALTER_TABLE_SPACE_OPTIONS_STMT, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt); - break; -case T_AlterTableMoveAllStmt: - OUT_NODE(AlterTableMoveAllStmt, AlterTableMoveAllStmt, alter_table_move_all_stmt, ALTER_TABLE_MOVE_ALL_STMT, AlterTableMoveAllStmt, alter_table_move_all_stmt); - break; -case T_SecLabelStmt: - OUT_NODE(SecLabelStmt, SecLabelStmt, sec_label_stmt, SEC_LABEL_STMT, SecLabelStmt, sec_label_stmt); - break; -case T_CreateForeignTableStmt: - OUT_NODE(CreateForeignTableStmt, CreateForeignTableStmt, create_foreign_table_stmt, CREATE_FOREIGN_TABLE_STMT, CreateForeignTableStmt, create_foreign_table_stmt); - break; case T_ImportForeignSchemaStmt: OUT_NODE(ImportForeignSchemaStmt, ImportForeignSchemaStmt, import_foreign_schema_stmt, IMPORT_FOREIGN_SCHEMA_STMT, ImportForeignSchemaStmt, import_foreign_schema_stmt); break; -case T_CreateExtensionStmt: - OUT_NODE(CreateExtensionStmt, CreateExtensionStmt, create_extension_stmt, CREATE_EXTENSION_STMT, CreateExtensionStmt, create_extension_stmt); +case T_CreatePolicyStmt: + OUT_NODE(CreatePolicyStmt, CreatePolicyStmt, create_policy_stmt, CREATE_POLICY_STMT, CreatePolicyStmt, create_policy_stmt); break; -case T_AlterExtensionStmt: - OUT_NODE(AlterExtensionStmt, AlterExtensionStmt, alter_extension_stmt, ALTER_EXTENSION_STMT, AlterExtensionStmt, alter_extension_stmt); +case T_AlterPolicyStmt: + OUT_NODE(AlterPolicyStmt, AlterPolicyStmt, alter_policy_stmt, ALTER_POLICY_STMT, AlterPolicyStmt, alter_policy_stmt); break; -case T_AlterExtensionContentsStmt: - OUT_NODE(AlterExtensionContentsStmt, AlterExtensionContentsStmt, alter_extension_contents_stmt, ALTER_EXTENSION_CONTENTS_STMT, AlterExtensionContentsStmt, alter_extension_contents_stmt); +case T_CreateAmStmt: + OUT_NODE(CreateAmStmt, CreateAmStmt, create_am_stmt, CREATE_AM_STMT, CreateAmStmt, create_am_stmt); + break; +case T_CreateTrigStmt: + OUT_NODE(CreateTrigStmt, CreateTrigStmt, create_trig_stmt, CREATE_TRIG_STMT, CreateTrigStmt, create_trig_stmt); break; case T_CreateEventTrigStmt: OUT_NODE(CreateEventTrigStmt, CreateEventTrigStmt, create_event_trig_stmt, CREATE_EVENT_TRIG_STMT, CreateEventTrigStmt, create_event_trig_stmt); @@ -489,228 +558,249 @@ case T_CreateEventTrigStmt: case T_AlterEventTrigStmt: OUT_NODE(AlterEventTrigStmt, AlterEventTrigStmt, alter_event_trig_stmt, ALTER_EVENT_TRIG_STMT, AlterEventTrigStmt, alter_event_trig_stmt); break; -case T_RefreshMatViewStmt: - OUT_NODE(RefreshMatViewStmt, RefreshMatViewStmt, refresh_mat_view_stmt, REFRESH_MAT_VIEW_STMT, RefreshMatViewStmt, refresh_mat_view_stmt); +case T_CreatePLangStmt: + OUT_NODE(CreatePLangStmt, CreatePLangStmt, create_plang_stmt, CREATE_PLANG_STMT, CreatePLangStmt, create_plang_stmt); break; -case T_ReplicaIdentityStmt: - OUT_NODE(ReplicaIdentityStmt, ReplicaIdentityStmt, replica_identity_stmt, REPLICA_IDENTITY_STMT, ReplicaIdentityStmt, replica_identity_stmt); +case T_CreateRoleStmt: + OUT_NODE(CreateRoleStmt, CreateRoleStmt, create_role_stmt, CREATE_ROLE_STMT, CreateRoleStmt, create_role_stmt); break; -case T_AlterSystemStmt: - OUT_NODE(AlterSystemStmt, AlterSystemStmt, alter_system_stmt, ALTER_SYSTEM_STMT, AlterSystemStmt, alter_system_stmt); +case T_AlterRoleStmt: + OUT_NODE(AlterRoleStmt, AlterRoleStmt, alter_role_stmt, ALTER_ROLE_STMT, AlterRoleStmt, alter_role_stmt); break; -case T_CreatePolicyStmt: - OUT_NODE(CreatePolicyStmt, CreatePolicyStmt, create_policy_stmt, CREATE_POLICY_STMT, CreatePolicyStmt, create_policy_stmt); +case T_AlterRoleSetStmt: + OUT_NODE(AlterRoleSetStmt, AlterRoleSetStmt, alter_role_set_stmt, ALTER_ROLE_SET_STMT, AlterRoleSetStmt, alter_role_set_stmt); break; -case T_AlterPolicyStmt: - OUT_NODE(AlterPolicyStmt, AlterPolicyStmt, alter_policy_stmt, ALTER_POLICY_STMT, AlterPolicyStmt, alter_policy_stmt); +case T_DropRoleStmt: + OUT_NODE(DropRoleStmt, DropRoleStmt, drop_role_stmt, DROP_ROLE_STMT, DropRoleStmt, drop_role_stmt); break; -case T_CreateTransformStmt: - OUT_NODE(CreateTransformStmt, CreateTransformStmt, create_transform_stmt, CREATE_TRANSFORM_STMT, CreateTransformStmt, create_transform_stmt); +case T_CreateSeqStmt: + OUT_NODE(CreateSeqStmt, CreateSeqStmt, create_seq_stmt, CREATE_SEQ_STMT, CreateSeqStmt, create_seq_stmt); break; -case T_CreateAmStmt: - OUT_NODE(CreateAmStmt, CreateAmStmt, create_am_stmt, CREATE_AM_STMT, CreateAmStmt, create_am_stmt); +case T_AlterSeqStmt: + OUT_NODE(AlterSeqStmt, AlterSeqStmt, alter_seq_stmt, ALTER_SEQ_STMT, AlterSeqStmt, alter_seq_stmt); break; -case T_CreatePublicationStmt: - OUT_NODE(CreatePublicationStmt, CreatePublicationStmt, create_publication_stmt, CREATE_PUBLICATION_STMT, CreatePublicationStmt, create_publication_stmt); +case T_DefineStmt: + OUT_NODE(DefineStmt, DefineStmt, define_stmt, DEFINE_STMT, DefineStmt, define_stmt); break; -case T_AlterPublicationStmt: - OUT_NODE(AlterPublicationStmt, AlterPublicationStmt, alter_publication_stmt, ALTER_PUBLICATION_STMT, AlterPublicationStmt, alter_publication_stmt); +case T_CreateDomainStmt: + OUT_NODE(CreateDomainStmt, CreateDomainStmt, create_domain_stmt, CREATE_DOMAIN_STMT, CreateDomainStmt, create_domain_stmt); break; -case T_CreateSubscriptionStmt: - OUT_NODE(CreateSubscriptionStmt, CreateSubscriptionStmt, create_subscription_stmt, CREATE_SUBSCRIPTION_STMT, CreateSubscriptionStmt, create_subscription_stmt); +case T_CreateOpClassStmt: + OUT_NODE(CreateOpClassStmt, CreateOpClassStmt, create_op_class_stmt, CREATE_OP_CLASS_STMT, CreateOpClassStmt, create_op_class_stmt); break; -case T_AlterSubscriptionStmt: - OUT_NODE(AlterSubscriptionStmt, AlterSubscriptionStmt, alter_subscription_stmt, ALTER_SUBSCRIPTION_STMT, AlterSubscriptionStmt, alter_subscription_stmt); +case T_CreateOpClassItem: + OUT_NODE(CreateOpClassItem, CreateOpClassItem, create_op_class_item, CREATE_OP_CLASS_ITEM, CreateOpClassItem, create_op_class_item); break; -case T_DropSubscriptionStmt: - OUT_NODE(DropSubscriptionStmt, DropSubscriptionStmt, drop_subscription_stmt, DROP_SUBSCRIPTION_STMT, DropSubscriptionStmt, drop_subscription_stmt); +case T_CreateOpFamilyStmt: + OUT_NODE(CreateOpFamilyStmt, CreateOpFamilyStmt, create_op_family_stmt, CREATE_OP_FAMILY_STMT, CreateOpFamilyStmt, create_op_family_stmt); break; -case T_CreateStatsStmt: - OUT_NODE(CreateStatsStmt, CreateStatsStmt, create_stats_stmt, CREATE_STATS_STMT, CreateStatsStmt, create_stats_stmt); +case T_AlterOpFamilyStmt: + OUT_NODE(AlterOpFamilyStmt, AlterOpFamilyStmt, alter_op_family_stmt, ALTER_OP_FAMILY_STMT, AlterOpFamilyStmt, alter_op_family_stmt); break; -case T_AlterCollationStmt: - OUT_NODE(AlterCollationStmt, AlterCollationStmt, alter_collation_stmt, ALTER_COLLATION_STMT, AlterCollationStmt, alter_collation_stmt); +case T_DropStmt: + OUT_NODE(DropStmt, DropStmt, drop_stmt, DROP_STMT, DropStmt, drop_stmt); break; -case T_CallStmt: - OUT_NODE(CallStmt, CallStmt, call_stmt, CALL_STMT, CallStmt, call_stmt); +case T_TruncateStmt: + OUT_NODE(TruncateStmt, TruncateStmt, truncate_stmt, TRUNCATE_STMT, TruncateStmt, truncate_stmt); break; -case T_AlterStatsStmt: - OUT_NODE(AlterStatsStmt, AlterStatsStmt, alter_stats_stmt, ALTER_STATS_STMT, AlterStatsStmt, alter_stats_stmt); +case T_CommentStmt: + OUT_NODE(CommentStmt, CommentStmt, comment_stmt, COMMENT_STMT, CommentStmt, comment_stmt); break; -case T_A_Expr: - OUT_NODE(A_Expr, AExpr, a__expr, A_EXPR, A_Expr, a_expr); +case T_SecLabelStmt: + OUT_NODE(SecLabelStmt, SecLabelStmt, sec_label_stmt, SEC_LABEL_STMT, SecLabelStmt, sec_label_stmt); break; -case T_ColumnRef: - OUT_NODE(ColumnRef, ColumnRef, column_ref, COLUMN_REF, ColumnRef, column_ref); +case T_DeclareCursorStmt: + OUT_NODE(DeclareCursorStmt, DeclareCursorStmt, declare_cursor_stmt, DECLARE_CURSOR_STMT, DeclareCursorStmt, declare_cursor_stmt); break; -case T_ParamRef: - OUT_NODE(ParamRef, ParamRef, param_ref, PARAM_REF, ParamRef, param_ref); +case T_ClosePortalStmt: + OUT_NODE(ClosePortalStmt, ClosePortalStmt, close_portal_stmt, CLOSE_PORTAL_STMT, ClosePortalStmt, close_portal_stmt); break; -case T_FuncCall: - OUT_NODE(FuncCall, FuncCall, func_call, FUNC_CALL, FuncCall, func_call); +case T_FetchStmt: + OUT_NODE(FetchStmt, FetchStmt, fetch_stmt, FETCH_STMT, FetchStmt, fetch_stmt); break; -case T_A_Star: - OUT_NODE(A_Star, AStar, a__star, A_STAR, A_Star, a_star); +case T_IndexStmt: + OUT_NODE(IndexStmt, IndexStmt, index_stmt, INDEX_STMT, IndexStmt, index_stmt); break; -case T_A_Indices: - OUT_NODE(A_Indices, AIndices, a__indices, A_INDICES, A_Indices, a_indices); +case T_CreateStatsStmt: + OUT_NODE(CreateStatsStmt, CreateStatsStmt, create_stats_stmt, CREATE_STATS_STMT, CreateStatsStmt, create_stats_stmt); break; -case T_A_Indirection: - OUT_NODE(A_Indirection, AIndirection, a__indirection, A_INDIRECTION, A_Indirection, a_indirection); +case T_StatsElem: + OUT_NODE(StatsElem, StatsElem, stats_elem, STATS_ELEM, StatsElem, stats_elem); break; -case T_A_ArrayExpr: - OUT_NODE(A_ArrayExpr, AArrayExpr, a__array_expr, A_ARRAY_EXPR, A_ArrayExpr, a_array_expr); +case T_AlterStatsStmt: + OUT_NODE(AlterStatsStmt, AlterStatsStmt, alter_stats_stmt, ALTER_STATS_STMT, AlterStatsStmt, alter_stats_stmt); break; -case T_ResTarget: - OUT_NODE(ResTarget, ResTarget, res_target, RES_TARGET, ResTarget, res_target); +case T_CreateFunctionStmt: + OUT_NODE(CreateFunctionStmt, CreateFunctionStmt, create_function_stmt, CREATE_FUNCTION_STMT, CreateFunctionStmt, create_function_stmt); break; -case T_MultiAssignRef: - OUT_NODE(MultiAssignRef, MultiAssignRef, multi_assign_ref, MULTI_ASSIGN_REF, MultiAssignRef, multi_assign_ref); +case T_FunctionParameter: + OUT_NODE(FunctionParameter, FunctionParameter, function_parameter, FUNCTION_PARAMETER, FunctionParameter, function_parameter); break; -case T_TypeCast: - OUT_NODE(TypeCast, TypeCast, type_cast, TYPE_CAST, TypeCast, type_cast); +case T_AlterFunctionStmt: + OUT_NODE(AlterFunctionStmt, AlterFunctionStmt, alter_function_stmt, ALTER_FUNCTION_STMT, AlterFunctionStmt, alter_function_stmt); break; -case T_CollateClause: - OUT_NODE(CollateClause, CollateClause, collate_clause, COLLATE_CLAUSE, CollateClause, collate_clause); +case T_DoStmt: + OUT_NODE(DoStmt, DoStmt, do_stmt, DO_STMT, DoStmt, do_stmt); break; -case T_SortBy: - OUT_NODE(SortBy, SortBy, sort_by, SORT_BY, SortBy, sort_by); +case T_InlineCodeBlock: + OUT_NODE(InlineCodeBlock, InlineCodeBlock, inline_code_block, INLINE_CODE_BLOCK, InlineCodeBlock, inline_code_block); break; -case T_WindowDef: - OUT_NODE(WindowDef, WindowDef, window_def, WINDOW_DEF, WindowDef, window_def); +case T_CallStmt: + OUT_NODE(CallStmt, CallStmt, call_stmt, CALL_STMT, CallStmt, call_stmt); break; -case T_RangeSubselect: - OUT_NODE(RangeSubselect, RangeSubselect, range_subselect, RANGE_SUBSELECT, RangeSubselect, range_subselect); +case T_CallContext: + OUT_NODE(CallContext, CallContext, call_context, CALL_CONTEXT, CallContext, call_context); break; -case T_RangeFunction: - OUT_NODE(RangeFunction, RangeFunction, range_function, RANGE_FUNCTION, RangeFunction, range_function); +case T_RenameStmt: + OUT_NODE(RenameStmt, RenameStmt, rename_stmt, RENAME_STMT, RenameStmt, rename_stmt); break; -case T_RangeTableSample: - OUT_NODE(RangeTableSample, RangeTableSample, range_table_sample, RANGE_TABLE_SAMPLE, RangeTableSample, range_table_sample); +case T_AlterObjectDependsStmt: + OUT_NODE(AlterObjectDependsStmt, AlterObjectDependsStmt, alter_object_depends_stmt, ALTER_OBJECT_DEPENDS_STMT, AlterObjectDependsStmt, alter_object_depends_stmt); break; -case T_RangeTableFunc: - OUT_NODE(RangeTableFunc, RangeTableFunc, range_table_func, RANGE_TABLE_FUNC, RangeTableFunc, range_table_func); +case T_AlterObjectSchemaStmt: + OUT_NODE(AlterObjectSchemaStmt, AlterObjectSchemaStmt, alter_object_schema_stmt, ALTER_OBJECT_SCHEMA_STMT, AlterObjectSchemaStmt, alter_object_schema_stmt); break; -case T_RangeTableFuncCol: - OUT_NODE(RangeTableFuncCol, RangeTableFuncCol, range_table_func_col, RANGE_TABLE_FUNC_COL, RangeTableFuncCol, range_table_func_col); +case T_AlterOwnerStmt: + OUT_NODE(AlterOwnerStmt, AlterOwnerStmt, alter_owner_stmt, ALTER_OWNER_STMT, AlterOwnerStmt, alter_owner_stmt); break; -case T_TypeName: - OUT_NODE(TypeName, TypeName, type_name, TYPE_NAME, TypeName, type_name); +case T_AlterOperatorStmt: + OUT_NODE(AlterOperatorStmt, AlterOperatorStmt, alter_operator_stmt, ALTER_OPERATOR_STMT, AlterOperatorStmt, alter_operator_stmt); break; -case T_ColumnDef: - OUT_NODE(ColumnDef, ColumnDef, column_def, COLUMN_DEF, ColumnDef, column_def); +case T_AlterTypeStmt: + OUT_NODE(AlterTypeStmt, AlterTypeStmt, alter_type_stmt, ALTER_TYPE_STMT, AlterTypeStmt, alter_type_stmt); break; -case T_IndexElem: - OUT_NODE(IndexElem, IndexElem, index_elem, INDEX_ELEM, IndexElem, index_elem); +case T_RuleStmt: + OUT_NODE(RuleStmt, RuleStmt, rule_stmt, RULE_STMT, RuleStmt, rule_stmt); break; -case T_StatsElem: - OUT_NODE(StatsElem, StatsElem, stats_elem, STATS_ELEM, StatsElem, stats_elem); +case T_NotifyStmt: + OUT_NODE(NotifyStmt, NotifyStmt, notify_stmt, NOTIFY_STMT, NotifyStmt, notify_stmt); break; -case T_Constraint: - OUT_NODE(Constraint, Constraint, constraint, CONSTRAINT, Constraint, constraint); +case T_ListenStmt: + OUT_NODE(ListenStmt, ListenStmt, listen_stmt, LISTEN_STMT, ListenStmt, listen_stmt); break; -case T_DefElem: - OUT_NODE(DefElem, DefElem, def_elem, DEF_ELEM, DefElem, def_elem); +case T_UnlistenStmt: + OUT_NODE(UnlistenStmt, UnlistenStmt, unlisten_stmt, UNLISTEN_STMT, UnlistenStmt, unlisten_stmt); break; -case T_RangeTblEntry: - OUT_NODE(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry); +case T_TransactionStmt: + OUT_NODE(TransactionStmt, TransactionStmt, transaction_stmt, TRANSACTION_STMT, TransactionStmt, transaction_stmt); break; -case T_RangeTblFunction: - OUT_NODE(RangeTblFunction, RangeTblFunction, range_tbl_function, RANGE_TBL_FUNCTION, RangeTblFunction, range_tbl_function); +case T_CompositeTypeStmt: + OUT_NODE(CompositeTypeStmt, CompositeTypeStmt, composite_type_stmt, COMPOSITE_TYPE_STMT, CompositeTypeStmt, composite_type_stmt); break; -case T_TableSampleClause: - OUT_NODE(TableSampleClause, TableSampleClause, table_sample_clause, TABLE_SAMPLE_CLAUSE, TableSampleClause, table_sample_clause); +case T_CreateEnumStmt: + OUT_NODE(CreateEnumStmt, CreateEnumStmt, create_enum_stmt, CREATE_ENUM_STMT, CreateEnumStmt, create_enum_stmt); break; -case T_WithCheckOption: - OUT_NODE(WithCheckOption, WithCheckOption, with_check_option, WITH_CHECK_OPTION, WithCheckOption, with_check_option); +case T_CreateRangeStmt: + OUT_NODE(CreateRangeStmt, CreateRangeStmt, create_range_stmt, CREATE_RANGE_STMT, CreateRangeStmt, create_range_stmt); break; -case T_SortGroupClause: - OUT_NODE(SortGroupClause, SortGroupClause, sort_group_clause, SORT_GROUP_CLAUSE, SortGroupClause, sort_group_clause); +case T_AlterEnumStmt: + OUT_NODE(AlterEnumStmt, AlterEnumStmt, alter_enum_stmt, ALTER_ENUM_STMT, AlterEnumStmt, alter_enum_stmt); break; -case T_GroupingSet: - OUT_NODE(GroupingSet, GroupingSet, grouping_set, GROUPING_SET, GroupingSet, grouping_set); +case T_ViewStmt: + OUT_NODE(ViewStmt, ViewStmt, view_stmt, VIEW_STMT, ViewStmt, view_stmt); break; -case T_WindowClause: - OUT_NODE(WindowClause, WindowClause, window_clause, WINDOW_CLAUSE, WindowClause, window_clause); +case T_LoadStmt: + OUT_NODE(LoadStmt, LoadStmt, load_stmt, LOAD_STMT, LoadStmt, load_stmt); break; -case T_ObjectWithArgs: - OUT_NODE(ObjectWithArgs, ObjectWithArgs, object_with_args, OBJECT_WITH_ARGS, ObjectWithArgs, object_with_args); +case T_CreatedbStmt: + OUT_NODE(CreatedbStmt, CreatedbStmt, createdb_stmt, CREATEDB_STMT, CreatedbStmt, createdb_stmt); break; -case T_AccessPriv: - OUT_NODE(AccessPriv, AccessPriv, access_priv, ACCESS_PRIV, AccessPriv, access_priv); +case T_AlterDatabaseStmt: + OUT_NODE(AlterDatabaseStmt, AlterDatabaseStmt, alter_database_stmt, ALTER_DATABASE_STMT, AlterDatabaseStmt, alter_database_stmt); break; -case T_CreateOpClassItem: - OUT_NODE(CreateOpClassItem, CreateOpClassItem, create_op_class_item, CREATE_OP_CLASS_ITEM, CreateOpClassItem, create_op_class_item); +case T_AlterDatabaseRefreshCollStmt: + OUT_NODE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt, ALTER_DATABASE_REFRESH_COLL_STMT, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt); break; -case T_TableLikeClause: - OUT_NODE(TableLikeClause, TableLikeClause, table_like_clause, TABLE_LIKE_CLAUSE, TableLikeClause, table_like_clause); +case T_AlterDatabaseSetStmt: + OUT_NODE(AlterDatabaseSetStmt, AlterDatabaseSetStmt, alter_database_set_stmt, ALTER_DATABASE_SET_STMT, AlterDatabaseSetStmt, alter_database_set_stmt); break; -case T_FunctionParameter: - OUT_NODE(FunctionParameter, FunctionParameter, function_parameter, FUNCTION_PARAMETER, FunctionParameter, function_parameter); +case T_DropdbStmt: + OUT_NODE(DropdbStmt, DropdbStmt, dropdb_stmt, DROPDB_STMT, DropdbStmt, dropdb_stmt); break; -case T_LockingClause: - OUT_NODE(LockingClause, LockingClause, locking_clause, LOCKING_CLAUSE, LockingClause, locking_clause); +case T_AlterSystemStmt: + OUT_NODE(AlterSystemStmt, AlterSystemStmt, alter_system_stmt, ALTER_SYSTEM_STMT, AlterSystemStmt, alter_system_stmt); break; -case T_RowMarkClause: - OUT_NODE(RowMarkClause, RowMarkClause, row_mark_clause, ROW_MARK_CLAUSE, RowMarkClause, row_mark_clause); +case T_ClusterStmt: + OUT_NODE(ClusterStmt, ClusterStmt, cluster_stmt, CLUSTER_STMT, ClusterStmt, cluster_stmt); break; -case T_XmlSerialize: - OUT_NODE(XmlSerialize, XmlSerialize, xml_serialize, XML_SERIALIZE, XmlSerialize, xml_serialize); +case T_VacuumStmt: + OUT_NODE(VacuumStmt, VacuumStmt, vacuum_stmt, VACUUM_STMT, VacuumStmt, vacuum_stmt); break; -case T_WithClause: - OUT_NODE(WithClause, WithClause, with_clause, WITH_CLAUSE, WithClause, with_clause); +case T_VacuumRelation: + OUT_NODE(VacuumRelation, VacuumRelation, vacuum_relation, VACUUM_RELATION, VacuumRelation, vacuum_relation); break; -case T_InferClause: - OUT_NODE(InferClause, InferClause, infer_clause, INFER_CLAUSE, InferClause, infer_clause); +case T_ExplainStmt: + OUT_NODE(ExplainStmt, ExplainStmt, explain_stmt, EXPLAIN_STMT, ExplainStmt, explain_stmt); break; -case T_OnConflictClause: - OUT_NODE(OnConflictClause, OnConflictClause, on_conflict_clause, ON_CONFLICT_CLAUSE, OnConflictClause, on_conflict_clause); +case T_CreateTableAsStmt: + OUT_NODE(CreateTableAsStmt, CreateTableAsStmt, create_table_as_stmt, CREATE_TABLE_AS_STMT, CreateTableAsStmt, create_table_as_stmt); break; -case T_CTESearchClause: - OUT_NODE(CTESearchClause, CTESearchClause, ctesearch_clause, CTESEARCH_CLAUSE, CTESearchClause, ctesearch_clause); +case T_RefreshMatViewStmt: + OUT_NODE(RefreshMatViewStmt, RefreshMatViewStmt, refresh_mat_view_stmt, REFRESH_MAT_VIEW_STMT, RefreshMatViewStmt, refresh_mat_view_stmt); break; -case T_CTECycleClause: - OUT_NODE(CTECycleClause, CTECycleClause, ctecycle_clause, CTECYCLE_CLAUSE, CTECycleClause, ctecycle_clause); +case T_CheckPointStmt: + OUT_NODE(CheckPointStmt, CheckPointStmt, check_point_stmt, CHECK_POINT_STMT, CheckPointStmt, check_point_stmt); break; -case T_CommonTableExpr: - OUT_NODE(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr); +case T_DiscardStmt: + OUT_NODE(DiscardStmt, DiscardStmt, discard_stmt, DISCARD_STMT, DiscardStmt, discard_stmt); break; -case T_MergeWhenClause: - OUT_NODE(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); +case T_LockStmt: + OUT_NODE(LockStmt, LockStmt, lock_stmt, LOCK_STMT, LockStmt, lock_stmt); break; -case T_RoleSpec: - OUT_NODE(RoleSpec, RoleSpec, role_spec, ROLE_SPEC, RoleSpec, role_spec); +case T_ConstraintsSetStmt: + OUT_NODE(ConstraintsSetStmt, ConstraintsSetStmt, constraints_set_stmt, CONSTRAINTS_SET_STMT, ConstraintsSetStmt, constraints_set_stmt); break; -case T_TriggerTransition: - OUT_NODE(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); +case T_ReindexStmt: + OUT_NODE(ReindexStmt, ReindexStmt, reindex_stmt, REINDEX_STMT, ReindexStmt, reindex_stmt); break; -case T_PartitionElem: - OUT_NODE(PartitionElem, PartitionElem, partition_elem, PARTITION_ELEM, PartitionElem, partition_elem); +case T_CreateConversionStmt: + OUT_NODE(CreateConversionStmt, CreateConversionStmt, create_conversion_stmt, CREATE_CONVERSION_STMT, CreateConversionStmt, create_conversion_stmt); break; -case T_PartitionSpec: - OUT_NODE(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec); +case T_CreateCastStmt: + OUT_NODE(CreateCastStmt, CreateCastStmt, create_cast_stmt, CREATE_CAST_STMT, CreateCastStmt, create_cast_stmt); break; -case T_PartitionBoundSpec: - OUT_NODE(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec); +case T_CreateTransformStmt: + OUT_NODE(CreateTransformStmt, CreateTransformStmt, create_transform_stmt, CREATE_TRANSFORM_STMT, CreateTransformStmt, create_transform_stmt); break; -case T_PartitionRangeDatum: - OUT_NODE(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); +case T_PrepareStmt: + OUT_NODE(PrepareStmt, PrepareStmt, prepare_stmt, PREPARE_STMT, PrepareStmt, prepare_stmt); break; -case T_PartitionCmd: - OUT_NODE(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); +case T_ExecuteStmt: + OUT_NODE(ExecuteStmt, ExecuteStmt, execute_stmt, EXECUTE_STMT, ExecuteStmt, execute_stmt); break; -case T_VacuumRelation: - OUT_NODE(VacuumRelation, VacuumRelation, vacuum_relation, VACUUM_RELATION, VacuumRelation, vacuum_relation); +case T_DeallocateStmt: + OUT_NODE(DeallocateStmt, DeallocateStmt, deallocate_stmt, DEALLOCATE_STMT, DeallocateStmt, deallocate_stmt); break; -case T_PublicationObjSpec: - OUT_NODE(PublicationObjSpec, PublicationObjSpec, publication_obj_spec, PUBLICATION_OBJ_SPEC, PublicationObjSpec, publication_obj_spec); +case T_DropOwnedStmt: + OUT_NODE(DropOwnedStmt, DropOwnedStmt, drop_owned_stmt, DROP_OWNED_STMT, DropOwnedStmt, drop_owned_stmt); + break; +case T_ReassignOwnedStmt: + OUT_NODE(ReassignOwnedStmt, ReassignOwnedStmt, reassign_owned_stmt, REASSIGN_OWNED_STMT, ReassignOwnedStmt, reassign_owned_stmt); + break; +case T_AlterTSDictionaryStmt: + OUT_NODE(AlterTSDictionaryStmt, AlterTSDictionaryStmt, alter_tsdictionary_stmt, ALTER_TSDICTIONARY_STMT, AlterTSDictionaryStmt, alter_tsdictionary_stmt); + break; +case T_AlterTSConfigurationStmt: + OUT_NODE(AlterTSConfigurationStmt, AlterTSConfigurationStmt, alter_tsconfiguration_stmt, ALTER_TSCONFIGURATION_STMT, AlterTSConfigurationStmt, alter_tsconfiguration_stmt); break; case T_PublicationTable: OUT_NODE(PublicationTable, PublicationTable, publication_table, PUBLICATION_TABLE, PublicationTable, publication_table); break; -case T_InlineCodeBlock: - OUT_NODE(InlineCodeBlock, InlineCodeBlock, inline_code_block, INLINE_CODE_BLOCK, InlineCodeBlock, inline_code_block); +case T_PublicationObjSpec: + OUT_NODE(PublicationObjSpec, PublicationObjSpec, publication_obj_spec, PUBLICATION_OBJ_SPEC, PublicationObjSpec, publication_obj_spec); break; -case T_CallContext: - OUT_NODE(CallContext, CallContext, call_context, CALL_CONTEXT, CallContext, call_context); +case T_CreatePublicationStmt: + OUT_NODE(CreatePublicationStmt, CreatePublicationStmt, create_publication_stmt, CREATE_PUBLICATION_STMT, CreatePublicationStmt, create_publication_stmt); + break; +case T_AlterPublicationStmt: + OUT_NODE(AlterPublicationStmt, AlterPublicationStmt, alter_publication_stmt, ALTER_PUBLICATION_STMT, AlterPublicationStmt, alter_publication_stmt); + break; +case T_CreateSubscriptionStmt: + OUT_NODE(CreateSubscriptionStmt, CreateSubscriptionStmt, create_subscription_stmt, CREATE_SUBSCRIPTION_STMT, CreateSubscriptionStmt, create_subscription_stmt); + break; +case T_AlterSubscriptionStmt: + OUT_NODE(AlterSubscriptionStmt, AlterSubscriptionStmt, alter_subscription_stmt, ALTER_SUBSCRIPTION_STMT, AlterSubscriptionStmt, alter_subscription_stmt); + break; +case T_DropSubscriptionStmt: + OUT_NODE(DropSubscriptionStmt, DropSubscriptionStmt, drop_subscription_stmt, DROP_SUBSCRIPTION_STMT, DropSubscriptionStmt, drop_subscription_stmt); break; diff --git a/parser/include/pg_query_outfuncs_defs.c b/parser/include/pg_query_outfuncs_defs.c index 9268de26..a91e515e 100644 --- a/parser/include/pg_query_outfuncs_defs.c +++ b/parser/include/pg_query_outfuncs_defs.c @@ -3,11 +3,14 @@ static void _outAlias(OUT_TYPE(Alias, Alias) out_node, const Alias *node); static void _outRangeVar(OUT_TYPE(RangeVar, RangeVar) out_node, const RangeVar *node); static void _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out_node, const TableFunc *node); +static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node); static void _outVar(OUT_TYPE(Var, Var) out_node, const Var *node); static void _outParam(OUT_TYPE(Param, Param) out_node, const Param *node); static void _outAggref(OUT_TYPE(Aggref, Aggref) out_node, const Aggref *node); static void _outGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) out_node, const GroupingFunc *node); static void _outWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) out_node, const WindowFunc *node); +static void _outWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) out_node, const WindowFuncRunCondition *node); +static void _outMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) out_node, const MergeSupportFunc *node); static void _outSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) out_node, const SubscriptingRef *node); static void _outFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) out_node, const FuncExpr *node); static void _outNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) out_node, const NamedArgExpr *node); @@ -36,8 +39,19 @@ static void _outCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) out_node, cons static void _outMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) out_node, const MinMaxExpr *node); static void _outSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) out_node, const SQLValueFunction *node); static void _outXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) out_node, const XmlExpr *node); +static void _outJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) out_node, const JsonFormat *node); +static void _outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out_node, const JsonReturning *node); +static void _outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out_node, const JsonValueExpr *node); +static void _outJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) out_node, const JsonConstructorExpr *node); +static void _outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out_node, const JsonIsPredicate *node); +static void _outJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) out_node, const JsonBehavior *node); +static void _outJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) out_node, const JsonExpr *node); +static void _outJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) out_node, const JsonTablePath *node); +static void _outJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) out_node, const JsonTablePathScan *node); +static void _outJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) out_node, const JsonTableSiblingJoin *node); static void _outNullTest(OUT_TYPE(NullTest, NullTest) out_node, const NullTest *node); static void _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out_node, const BooleanTest *node); +static void _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out_node, const MergeAction *node); static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out_node, const CoerceToDomain *node); static void _outCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) out_node, const CoerceToDomainValue *node); static void _outSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) out_node, const SetToDefault *node); @@ -49,186 +63,202 @@ static void _outRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) out_node, const R static void _outJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) out_node, const JoinExpr *node); static void _outFromExpr(OUT_TYPE(FromExpr, FromExpr) out_node, const FromExpr *node); static void _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out_node, const OnConflictExpr *node); -static void _outIntoClause(OUT_TYPE(IntoClause, IntoClause) out_node, const IntoClause *node); -static void _outMergeAction(OUT_TYPE(MergeAction, MergeAction) out_node, const MergeAction *node); -static void _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out_node, const RawStmt *node); static void _outQuery(OUT_TYPE(Query, Query) out_node, const Query *node); +static void _outTypeName(OUT_TYPE(TypeName, TypeName) out_node, const TypeName *node); +static void _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out_node, const ColumnRef *node); +static void _outParamRef(OUT_TYPE(ParamRef, ParamRef) out_node, const ParamRef *node); +static void _outAExpr(OUT_TYPE(A_Expr, AExpr) out_node, const A_Expr *node); +static void _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out_node, const TypeCast *node); +static void _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out_node, const CollateClause *node); +static void _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out_node, const RoleSpec *node); +static void _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out_node, const FuncCall *node); +static void _outAStar(OUT_TYPE(A_Star, AStar) out_node, const A_Star *node); +static void _outAIndices(OUT_TYPE(A_Indices, AIndices) out_node, const A_Indices *node); +static void _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out_node, const A_Indirection *node); +static void _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out_node, const A_ArrayExpr *node); +static void _outResTarget(OUT_TYPE(ResTarget, ResTarget) out_node, const ResTarget *node); +static void _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out_node, const MultiAssignRef *node); +static void _outSortBy(OUT_TYPE(SortBy, SortBy) out_node, const SortBy *node); +static void _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out_node, const WindowDef *node); +static void _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out_node, const RangeSubselect *node); +static void _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out_node, const RangeFunction *node); +static void _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out_node, const RangeTableFunc *node); +static void _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out_node, const RangeTableFuncCol *node); +static void _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out_node, const RangeTableSample *node); +static void _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out_node, const ColumnDef *node); +static void _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out_node, const TableLikeClause *node); +static void _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out_node, const IndexElem *node); +static void _outDefElem(OUT_TYPE(DefElem, DefElem) out_node, const DefElem *node); +static void _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out_node, const LockingClause *node); +static void _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out_node, const XmlSerialize *node); +static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, const PartitionElem *node); +static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node); +static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node); +static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node); +static void _outSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) out_node, const SinglePartitionSpec *node); +static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node); +static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node); +static void _outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out_node, const RTEPermissionInfo *node); +static void _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out_node, const RangeTblFunction *node); +static void _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out_node, const TableSampleClause *node); +static void _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out_node, const WithCheckOption *node); +static void _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out_node, const SortGroupClause *node); +static void _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out_node, const GroupingSet *node); +static void _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out_node, const WindowClause *node); +static void _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out_node, const RowMarkClause *node); +static void _outWithClause(OUT_TYPE(WithClause, WithClause) out_node, const WithClause *node); +static void _outInferClause(OUT_TYPE(InferClause, InferClause) out_node, const InferClause *node); +static void _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out_node, const OnConflictClause *node); +static void _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out_node, const CTESearchClause *node); +static void _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out_node, const CTECycleClause *node); +static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node); +static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out_node, const MergeWhenClause *node); +static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node); +static void _outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out_node, const JsonOutput *node); +static void _outJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) out_node, const JsonArgument *node); +static void _outJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) out_node, const JsonFuncExpr *node); +static void _outJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) out_node, const JsonTablePathSpec *node); +static void _outJsonTable(OUT_TYPE(JsonTable, JsonTable) out_node, const JsonTable *node); +static void _outJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) out_node, const JsonTableColumn *node); +static void _outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out_node, const JsonKeyValue *node); +static void _outJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) out_node, const JsonParseExpr *node); +static void _outJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) out_node, const JsonScalarExpr *node); +static void _outJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) out_node, const JsonSerializeExpr *node); +static void _outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out_node, const JsonObjectConstructor *node); +static void _outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out_node, const JsonArrayConstructor *node); +static void _outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out_node, const JsonArrayQueryConstructor *node); +static void _outJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) out_node, const JsonAggConstructor *node); +static void _outJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) out_node, const JsonObjectAgg *node); +static void _outJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) out_node, const JsonArrayAgg *node); +static void _outRawStmt(OUT_TYPE(RawStmt, RawStmt) out_node, const RawStmt *node); static void _outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out_node, const InsertStmt *node); static void _outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out_node, const DeleteStmt *node); static void _outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out_node, const UpdateStmt *node); static void _outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out_node, const MergeStmt *node); static void _outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out_node, const SelectStmt *node); +static void _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out_node, const SetOperationStmt *node); static void _outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out_node, const ReturnStmt *node); static void _outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out_node, const PLAssignStmt *node); +static void _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out_node, const CreateSchemaStmt *node); static void _outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out_node, const AlterTableStmt *node); +static void _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out_node, const ReplicaIdentityStmt *node); static void _outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out_node, const AlterTableCmd *node); +static void _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out_node, const AlterCollationStmt *node); static void _outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out_node, const AlterDomainStmt *node); -static void _outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out_node, const SetOperationStmt *node); static void _outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out_node, const GrantStmt *node); +static void _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out_node, const ObjectWithArgs *node); +static void _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out_node, const AccessPriv *node); static void _outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out_node, const GrantRoleStmt *node); static void _outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out_node, const AlterDefaultPrivilegesStmt *node); -static void _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out_node, const ClosePortalStmt *node); -static void _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out_node, const ClusterStmt *node); static void _outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out_node, const CopyStmt *node); +static void _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out_node, const VariableSetStmt *node); +static void _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out_node, const VariableShowStmt *node); static void _outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out_node, const CreateStmt *node); +static void _outConstraint(OUT_TYPE(Constraint, Constraint) out_node, const Constraint *node); +static void _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out_node, const CreateTableSpaceStmt *node); +static void _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out_node, const DropTableSpaceStmt *node); +static void _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out_node, const AlterTableSpaceOptionsStmt *node); +static void _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out_node, const AlterTableMoveAllStmt *node); +static void _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out_node, const CreateExtensionStmt *node); +static void _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out_node, const AlterExtensionStmt *node); +static void _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out_node, const AlterExtensionContentsStmt *node); +static void _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out_node, const CreateFdwStmt *node); +static void _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out_node, const AlterFdwStmt *node); +static void _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out_node, const CreateForeignServerStmt *node); +static void _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out_node, const AlterForeignServerStmt *node); +static void _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out_node, const CreateForeignTableStmt *node); +static void _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out_node, const CreateUserMappingStmt *node); +static void _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out_node, const AlterUserMappingStmt *node); +static void _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out_node, const DropUserMappingStmt *node); +static void _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out_node, const ImportForeignSchemaStmt *node); +static void _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out_node, const CreatePolicyStmt *node); +static void _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out_node, const AlterPolicyStmt *node); +static void _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out_node, const CreateAmStmt *node); +static void _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out_node, const CreateTrigStmt *node); +static void _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out_node, const CreateEventTrigStmt *node); +static void _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out_node, const AlterEventTrigStmt *node); +static void _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out_node, const CreatePLangStmt *node); +static void _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out_node, const CreateRoleStmt *node); +static void _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out_node, const AlterRoleStmt *node); +static void _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out_node, const AlterRoleSetStmt *node); +static void _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out_node, const DropRoleStmt *node); +static void _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out_node, const CreateSeqStmt *node); +static void _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out_node, const AlterSeqStmt *node); static void _outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out_node, const DefineStmt *node); +static void _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out_node, const CreateDomainStmt *node); +static void _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out_node, const CreateOpClassStmt *node); +static void _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out_node, const CreateOpClassItem *node); +static void _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out_node, const CreateOpFamilyStmt *node); +static void _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out_node, const AlterOpFamilyStmt *node); static void _outDropStmt(OUT_TYPE(DropStmt, DropStmt) out_node, const DropStmt *node); static void _outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out_node, const TruncateStmt *node); static void _outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out_node, const CommentStmt *node); +static void _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out_node, const SecLabelStmt *node); +static void _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out_node, const DeclareCursorStmt *node); +static void _outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out_node, const ClosePortalStmt *node); static void _outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out_node, const FetchStmt *node); static void _outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out_node, const IndexStmt *node); +static void _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out_node, const CreateStatsStmt *node); +static void _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out_node, const StatsElem *node); +static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out_node, const AlterStatsStmt *node); static void _outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out_node, const CreateFunctionStmt *node); +static void _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out_node, const FunctionParameter *node); static void _outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out_node, const AlterFunctionStmt *node); static void _outDoStmt(OUT_TYPE(DoStmt, DoStmt) out_node, const DoStmt *node); +static void _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out_node, const InlineCodeBlock *node); +static void _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out_node, const CallStmt *node); +static void _outCallContext(OUT_TYPE(CallContext, CallContext) out_node, const CallContext *node); static void _outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out_node, const RenameStmt *node); +static void _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out_node, const AlterObjectDependsStmt *node); +static void _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out_node, const AlterObjectSchemaStmt *node); +static void _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out_node, const AlterOwnerStmt *node); +static void _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out_node, const AlterOperatorStmt *node); +static void _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out_node, const AlterTypeStmt *node); static void _outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out_node, const RuleStmt *node); static void _outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out_node, const NotifyStmt *node); static void _outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out_node, const ListenStmt *node); static void _outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out_node, const UnlistenStmt *node); static void _outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out_node, const TransactionStmt *node); +static void _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out_node, const CompositeTypeStmt *node); +static void _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out_node, const CreateEnumStmt *node); +static void _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out_node, const CreateRangeStmt *node); +static void _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out_node, const AlterEnumStmt *node); static void _outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out_node, const ViewStmt *node); static void _outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out_node, const LoadStmt *node); -static void _outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out_node, const CreateDomainStmt *node); static void _outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out_node, const CreatedbStmt *node); +static void _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out_node, const AlterDatabaseStmt *node); +static void _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out_node, const AlterDatabaseRefreshCollStmt *node); +static void _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out_node, const AlterDatabaseSetStmt *node); static void _outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out_node, const DropdbStmt *node); +static void _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out_node, const AlterSystemStmt *node); +static void _outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out_node, const ClusterStmt *node); static void _outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out_node, const VacuumStmt *node); +static void _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out_node, const VacuumRelation *node); static void _outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out_node, const ExplainStmt *node); static void _outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out_node, const CreateTableAsStmt *node); -static void _outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out_node, const CreateSeqStmt *node); -static void _outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out_node, const AlterSeqStmt *node); -static void _outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out_node, const VariableSetStmt *node); -static void _outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out_node, const VariableShowStmt *node); +static void _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out_node, const RefreshMatViewStmt *node); +static void _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out_node, const CheckPointStmt *node); static void _outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out_node, const DiscardStmt *node); -static void _outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out_node, const CreateTrigStmt *node); -static void _outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out_node, const CreatePLangStmt *node); -static void _outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out_node, const CreateRoleStmt *node); -static void _outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out_node, const AlterRoleStmt *node); -static void _outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out_node, const DropRoleStmt *node); static void _outLockStmt(OUT_TYPE(LockStmt, LockStmt) out_node, const LockStmt *node); static void _outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out_node, const ConstraintsSetStmt *node); static void _outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out_node, const ReindexStmt *node); -static void _outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out_node, const CheckPointStmt *node); -static void _outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out_node, const CreateSchemaStmt *node); -static void _outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out_node, const AlterDatabaseStmt *node); -static void _outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out_node, const AlterDatabaseRefreshCollStmt *node); -static void _outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out_node, const AlterDatabaseSetStmt *node); -static void _outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out_node, const AlterRoleSetStmt *node); static void _outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out_node, const CreateConversionStmt *node); static void _outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out_node, const CreateCastStmt *node); -static void _outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out_node, const CreateOpClassStmt *node); -static void _outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out_node, const CreateOpFamilyStmt *node); -static void _outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out_node, const AlterOpFamilyStmt *node); +static void _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out_node, const CreateTransformStmt *node); static void _outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out_node, const PrepareStmt *node); static void _outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out_node, const ExecuteStmt *node); static void _outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out_node, const DeallocateStmt *node); -static void _outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out_node, const DeclareCursorStmt *node); -static void _outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out_node, const CreateTableSpaceStmt *node); -static void _outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out_node, const DropTableSpaceStmt *node); -static void _outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out_node, const AlterObjectDependsStmt *node); -static void _outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out_node, const AlterObjectSchemaStmt *node); -static void _outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out_node, const AlterOwnerStmt *node); -static void _outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out_node, const AlterOperatorStmt *node); -static void _outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out_node, const AlterTypeStmt *node); static void _outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out_node, const DropOwnedStmt *node); static void _outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out_node, const ReassignOwnedStmt *node); -static void _outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out_node, const CompositeTypeStmt *node); -static void _outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out_node, const CreateEnumStmt *node); -static void _outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out_node, const CreateRangeStmt *node); -static void _outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out_node, const AlterEnumStmt *node); static void _outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out_node, const AlterTSDictionaryStmt *node); static void _outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out_node, const AlterTSConfigurationStmt *node); -static void _outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out_node, const CreateFdwStmt *node); -static void _outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out_node, const AlterFdwStmt *node); -static void _outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out_node, const CreateForeignServerStmt *node); -static void _outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out_node, const AlterForeignServerStmt *node); -static void _outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out_node, const CreateUserMappingStmt *node); -static void _outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out_node, const AlterUserMappingStmt *node); -static void _outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out_node, const DropUserMappingStmt *node); -static void _outAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) out_node, const AlterTableSpaceOptionsStmt *node); -static void _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) out_node, const AlterTableMoveAllStmt *node); -static void _outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out_node, const SecLabelStmt *node); -static void _outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out_node, const CreateForeignTableStmt *node); -static void _outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out_node, const ImportForeignSchemaStmt *node); -static void _outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out_node, const CreateExtensionStmt *node); -static void _outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out_node, const AlterExtensionStmt *node); -static void _outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out_node, const AlterExtensionContentsStmt *node); -static void _outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out_node, const CreateEventTrigStmt *node); -static void _outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out_node, const AlterEventTrigStmt *node); -static void _outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out_node, const RefreshMatViewStmt *node); -static void _outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out_node, const ReplicaIdentityStmt *node); -static void _outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out_node, const AlterSystemStmt *node); -static void _outCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) out_node, const CreatePolicyStmt *node); -static void _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out_node, const AlterPolicyStmt *node); -static void _outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out_node, const CreateTransformStmt *node); -static void _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out_node, const CreateAmStmt *node); +static void _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out_node, const PublicationTable *node); +static void _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out_node, const PublicationObjSpec *node); static void _outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out_node, const CreatePublicationStmt *node); static void _outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out_node, const AlterPublicationStmt *node); static void _outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out_node, const CreateSubscriptionStmt *node); static void _outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out_node, const AlterSubscriptionStmt *node); static void _outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out_node, const DropSubscriptionStmt *node); -static void _outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out_node, const CreateStatsStmt *node); -static void _outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out_node, const AlterCollationStmt *node); -static void _outCallStmt(OUT_TYPE(CallStmt, CallStmt) out_node, const CallStmt *node); -static void _outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out_node, const AlterStatsStmt *node); -static void _outAExpr(OUT_TYPE(A_Expr, AExpr) out_node, const A_Expr *node); -static void _outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out_node, const ColumnRef *node); -static void _outParamRef(OUT_TYPE(ParamRef, ParamRef) out_node, const ParamRef *node); -static void _outFuncCall(OUT_TYPE(FuncCall, FuncCall) out_node, const FuncCall *node); -static void _outAStar(OUT_TYPE(A_Star, AStar) out_node, const A_Star *node); -static void _outAIndices(OUT_TYPE(A_Indices, AIndices) out_node, const A_Indices *node); -static void _outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out_node, const A_Indirection *node); -static void _outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out_node, const A_ArrayExpr *node); -static void _outResTarget(OUT_TYPE(ResTarget, ResTarget) out_node, const ResTarget *node); -static void _outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out_node, const MultiAssignRef *node); -static void _outTypeCast(OUT_TYPE(TypeCast, TypeCast) out_node, const TypeCast *node); -static void _outCollateClause(OUT_TYPE(CollateClause, CollateClause) out_node, const CollateClause *node); -static void _outSortBy(OUT_TYPE(SortBy, SortBy) out_node, const SortBy *node); -static void _outWindowDef(OUT_TYPE(WindowDef, WindowDef) out_node, const WindowDef *node); -static void _outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out_node, const RangeSubselect *node); -static void _outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out_node, const RangeFunction *node); -static void _outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out_node, const RangeTableSample *node); -static void _outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out_node, const RangeTableFunc *node); -static void _outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out_node, const RangeTableFuncCol *node); -static void _outTypeName(OUT_TYPE(TypeName, TypeName) out_node, const TypeName *node); -static void _outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out_node, const ColumnDef *node); -static void _outIndexElem(OUT_TYPE(IndexElem, IndexElem) out_node, const IndexElem *node); -static void _outStatsElem(OUT_TYPE(StatsElem, StatsElem) out_node, const StatsElem *node); -static void _outConstraint(OUT_TYPE(Constraint, Constraint) out_node, const Constraint *node); -static void _outDefElem(OUT_TYPE(DefElem, DefElem) out_node, const DefElem *node); -static void _outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out_node, const RangeTblEntry *node); -static void _outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out_node, const RangeTblFunction *node); -static void _outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out_node, const TableSampleClause *node); -static void _outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out_node, const WithCheckOption *node); -static void _outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out_node, const SortGroupClause *node); -static void _outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out_node, const GroupingSet *node); -static void _outWindowClause(OUT_TYPE(WindowClause, WindowClause) out_node, const WindowClause *node); -static void _outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out_node, const ObjectWithArgs *node); -static void _outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out_node, const AccessPriv *node); -static void _outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out_node, const CreateOpClassItem *node); -static void _outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out_node, const TableLikeClause *node); -static void _outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out_node, const FunctionParameter *node); -static void _outLockingClause(OUT_TYPE(LockingClause, LockingClause) out_node, const LockingClause *node); -static void _outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out_node, const RowMarkClause *node); -static void _outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out_node, const XmlSerialize *node); -static void _outWithClause(OUT_TYPE(WithClause, WithClause) out_node, const WithClause *node); -static void _outInferClause(OUT_TYPE(InferClause, InferClause) out_node, const InferClause *node); -static void _outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out_node, const OnConflictClause *node); -static void _outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out_node, const CTESearchClause *node); -static void _outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out_node, const CTECycleClause *node); -static void _outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out_node, const CommonTableExpr *node); -static void _outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out_node, const MergeWhenClause *node); -static void _outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out_node, const RoleSpec *node); -static void _outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out_node, const TriggerTransition *node); -static void _outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out_node, const PartitionElem *node); -static void _outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out_node, const PartitionSpec *node); -static void _outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out_node, const PartitionBoundSpec *node); -static void _outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out_node, const PartitionRangeDatum *node); -static void _outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out_node, const PartitionCmd *node); -static void _outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out_node, const VacuumRelation *node); -static void _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out_node, const PublicationObjSpec *node); -static void _outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out_node, const PublicationTable *node); -static void _outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out_node, const InlineCodeBlock *node); -static void _outCallContext(OUT_TYPE(CallContext, CallContext) out_node, const CallContext *node); static void @@ -253,6 +283,7 @@ _outRangeVar(OUT_TYPE(RangeVar, RangeVar) out, const RangeVar *node) static void _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node) { + WRITE_ENUM_FIELD(TableFuncType, functype, functype, functype); WRITE_LIST_FIELD(ns_uris, ns_uris, ns_uris); WRITE_LIST_FIELD(ns_names, ns_names, ns_names); WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr); @@ -263,22 +294,37 @@ _outTableFunc(OUT_TYPE(TableFunc, TableFunc) out, const TableFunc *node) WRITE_LIST_FIELD(colcollations, colcollations, colcollations); WRITE_LIST_FIELD(colexprs, colexprs, colexprs); WRITE_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs); + WRITE_LIST_FIELD(colvalexprs, colvalexprs, colvalexprs); + WRITE_LIST_FIELD(passingvalexprs, passingvalexprs, passingvalexprs); WRITE_BITMAPSET_FIELD(notnulls, notnulls, notnulls); + WRITE_NODE_PTR_FIELD(plan, plan, plan); WRITE_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol); WRITE_INT_FIELD(location, location, location); } static void -_outVar(OUT_TYPE(Var, Var) out, const Var *node) +_outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node) { - WRITE_INT_FIELD(varno, varno, varno); - WRITE_INT_FIELD(varattno, varattno, varattno); - WRITE_UINT_FIELD(vartype, vartype, vartype); - WRITE_INT_FIELD(vartypmod, vartypmod, vartypmod); - WRITE_UINT_FIELD(varcollid, varcollid, varcollid); - WRITE_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup); - WRITE_UINT_FIELD(varnosyn, varnosyn, varnosyn); - WRITE_INT_FIELD(varattnosyn, varattnosyn, varattnosyn); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel); + WRITE_LIST_FIELD(col_names, colNames, colNames); + WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); + WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit); + WRITE_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName); + WRITE_NODE_PTR_FIELD(view_query, viewQuery, viewQuery); + WRITE_BOOL_FIELD(skip_data, skipData, skipData); +} + +static void +_outVar(OUT_TYPE(Var, Var) out, const Var *node) +{ + WRITE_INT_FIELD(varno, varno, varno); + WRITE_INT_FIELD(varattno, varattno, varattno); + WRITE_UINT_FIELD(vartype, vartype, vartype); + WRITE_INT_FIELD(vartypmod, vartypmod, vartypmod); + WRITE_UINT_FIELD(varcollid, varcollid, varcollid); + WRITE_BITMAPSET_FIELD(varnullingrels, varnullingrels, varnullingrels); + WRITE_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup); WRITE_INT_FIELD(location, location, location); } @@ -300,7 +346,6 @@ _outAggref(OUT_TYPE(Aggref, Aggref) out, const Aggref *node) WRITE_UINT_FIELD(aggtype, aggtype, aggtype); WRITE_UINT_FIELD(aggcollid, aggcollid, aggcollid); WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); - WRITE_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype); WRITE_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes); WRITE_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs); WRITE_LIST_FIELD(args, args, args); @@ -322,7 +367,6 @@ _outGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) out, const GroupingFunc *n { WRITE_LIST_FIELD(args, args, args); WRITE_LIST_FIELD(refs, refs, refs); - WRITE_LIST_FIELD(cols, cols, cols); WRITE_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup); WRITE_INT_FIELD(location, location, location); } @@ -336,12 +380,30 @@ _outWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) out, const WindowFunc *node) WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); WRITE_LIST_FIELD(args, args, args); WRITE_NODE_PTR_FIELD(aggfilter, aggfilter, aggfilter); + WRITE_LIST_FIELD(run_condition, runCondition, runCondition); WRITE_UINT_FIELD(winref, winref, winref); WRITE_BOOL_FIELD(winstar, winstar, winstar); WRITE_BOOL_FIELD(winagg, winagg, winagg); WRITE_INT_FIELD(location, location, location); } +static void +_outWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) out, const WindowFuncRunCondition *node) +{ + WRITE_UINT_FIELD(opno, opno, opno); + WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); + WRITE_BOOL_FIELD(wfunc_left, wfunc_left, wfunc_left); + WRITE_NODE_PTR_FIELD(arg, arg, arg); +} + +static void +_outMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) out, const MergeSupportFunc *node) +{ + WRITE_UINT_FIELD(msftype, msftype, msftype); + WRITE_UINT_FIELD(msfcollid, msfcollid, msfcollid); + WRITE_INT_FIELD(location, location, location); +} + static void _outSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) out, const SubscriptingRef *node) { @@ -383,7 +445,6 @@ static void _outOpExpr(OUT_TYPE(OpExpr, OpExpr) out, const OpExpr *node) { WRITE_UINT_FIELD(opno, opno, opno); - WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid); WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype); WRITE_BOOL_FIELD(opretset, opretset, opretset); WRITE_UINT_FIELD(opcollid, opcollid, opcollid); @@ -396,7 +457,6 @@ static void _outDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) out, const DistinctExpr *node) { WRITE_UINT_FIELD(opno, opno, opno); - WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid); WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype); WRITE_BOOL_FIELD(opretset, opretset, opretset); WRITE_UINT_FIELD(opcollid, opcollid, opcollid); @@ -409,7 +469,6 @@ static void _outNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) out, const NullIfExpr *node) { WRITE_UINT_FIELD(opno, opno, opno); - WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid); WRITE_UINT_FIELD(opresulttype, opresulttype, opresulttype); WRITE_BOOL_FIELD(opretset, opretset, opretset); WRITE_UINT_FIELD(opcollid, opcollid, opcollid); @@ -422,9 +481,6 @@ static void _outScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) out, const ScalarArrayOpExpr *node) { WRITE_UINT_FIELD(opno, opno, opno); - WRITE_UINT_FIELD(opfuncid, opfuncid, opfuncid); - WRITE_UINT_FIELD(hashfuncid, hashfuncid, hashfuncid); - WRITE_UINT_FIELD(negfuncid, negfuncid, negfuncid); WRITE_BOOL_FIELD(use_or, useOr, useOr); WRITE_UINT_FIELD(inputcollid, inputcollid, inputcollid); WRITE_LIST_FIELD(args, args, args); @@ -643,11 +699,112 @@ _outXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) out, const XmlExpr *node) WRITE_LIST_FIELD(arg_names, arg_names, arg_names); WRITE_LIST_FIELD(args, args, args); WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); + WRITE_BOOL_FIELD(indent, indent, indent); WRITE_UINT_FIELD(type, type, type); WRITE_INT_FIELD(typmod, typmod, typmod); WRITE_INT_FIELD(location, location, location); } +static void +_outJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) out, const JsonFormat *node) +{ + WRITE_ENUM_FIELD(JsonFormatType, format_type, format_type, format_type); + WRITE_ENUM_FIELD(JsonEncoding, encoding, encoding, encoding); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) out, const JsonReturning *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_UINT_FIELD(typid, typid, typid); + WRITE_INT_FIELD(typmod, typmod, typmod); +} + +static void +_outJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) out, const JsonValueExpr *node) +{ + WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); + WRITE_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); +} + +static void +_outJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) out, const JsonConstructorExpr *node) +{ + WRITE_ENUM_FIELD(JsonConstructorType, type, type, type); + WRITE_LIST_FIELD(args, args, args); + WRITE_NODE_PTR_FIELD(func, func, func); + WRITE_NODE_PTR_FIELD(coercion, coercion, coercion); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + WRITE_BOOL_FIELD(unique, unique, unique); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) out, const JsonIsPredicate *node) +{ + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_ENUM_FIELD(JsonValueType, item_type, item_type, item_type); + WRITE_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) out, const JsonBehavior *node) +{ + WRITE_ENUM_FIELD(JsonBehaviorType, btype, btype, btype); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_BOOL_FIELD(coerce, coerce, coerce); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) out, const JsonExpr *node) +{ + WRITE_ENUM_FIELD(JsonExprOp, op, op, op); + WRITE_STRING_FIELD(column_name, column_name, column_name); + WRITE_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_NODE_PTR_FIELD(path_spec, path_spec, path_spec); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + WRITE_LIST_FIELD(passing_names, passing_names, passing_names); + WRITE_LIST_FIELD(passing_values, passing_values, passing_values); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_BOOL_FIELD(use_io_coercion, use_io_coercion, use_io_coercion); + WRITE_BOOL_FIELD(use_json_coercion, use_json_coercion, use_json_coercion); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_BOOL_FIELD(omit_quotes, omit_quotes, omit_quotes); + WRITE_UINT_FIELD(collation, collation, collation); + WRITE_INT_FIELD(location, location, location); +} + +static void +_outJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) out, const JsonTablePath *node) +{ + WRITE_STRING_FIELD(name, name, name); +} + +static void +_outJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) out, const JsonTablePathScan *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePath, json_table_path, path, path, path); + WRITE_BOOL_FIELD(error_on_error, errorOnError, errorOnError); + WRITE_NODE_PTR_FIELD(child, child, child); + WRITE_INT_FIELD(col_min, colMin, colMin); + WRITE_INT_FIELD(col_max, colMax, colMax); +} + +static void +_outJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) out, const JsonTableSiblingJoin *node) +{ + WRITE_NODE_PTR_FIELD(lplan, lplan, lplan); + WRITE_NODE_PTR_FIELD(rplan, rplan, rplan); +} + static void _outNullTest(OUT_TYPE(NullTest, NullTest) out, const NullTest *node) { @@ -665,6 +822,17 @@ _outBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) out, const BooleanTest *node) WRITE_INT_FIELD(location, location, location); } +static void +_outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node) +{ + WRITE_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); + WRITE_ENUM_FIELD(OverridingKind, override, override, override); + WRITE_NODE_PTR_FIELD(qual, qual, qual); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos); +} + static void _outCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) out, const CoerceToDomain *node) { @@ -769,38 +937,6 @@ _outOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) out, const OnConflic WRITE_LIST_FIELD(excl_rel_tlist, exclRelTlist, exclRelTlist); } -static void -_outIntoClause(OUT_TYPE(IntoClause, IntoClause) out, const IntoClause *node) -{ - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel); - WRITE_LIST_FIELD(col_names, colNames, colNames); - WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); - WRITE_LIST_FIELD(options, options, options); - WRITE_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit); - WRITE_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName); - WRITE_NODE_PTR_FIELD(view_query, viewQuery, viewQuery); - WRITE_BOOL_FIELD(skip_data, skipData, skipData); -} - -static void -_outMergeAction(OUT_TYPE(MergeAction, MergeAction) out, const MergeAction *node) -{ - WRITE_BOOL_FIELD(matched, matched, matched); - WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); - WRITE_ENUM_FIELD(OverridingKind, override, override, override); - WRITE_NODE_PTR_FIELD(qual, qual, qual); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_LIST_FIELD(update_colnos, updateColnos, updateColnos); -} - -static void -_outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node) -{ - WRITE_NODE_PTR_FIELD(stmt, stmt, stmt); - WRITE_INT_FIELD(stmt_location, stmt_location, stmt_location); - WRITE_INT_FIELD(stmt_len, stmt_len, stmt_len); -} - static void _outQuery(OUT_TYPE(Query, Query) out, const Query *node) { @@ -821,9 +957,11 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node) WRITE_BOOL_FIELD(is_return, isReturn, isReturn); WRITE_LIST_FIELD(cte_list, cteList, cteList); WRITE_LIST_FIELD(rtable, rtable, rtable); + WRITE_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos); WRITE_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree); WRITE_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList); - WRITE_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin); + WRITE_INT_FIELD(merge_target_relation, mergeTargetRelation, mergeTargetRelation); + WRITE_NODE_PTR_FIELD(merge_join_condition, mergeJoinCondition, mergeJoinCondition); WRITE_LIST_FIELD(target_list, targetList, targetList); WRITE_ENUM_FIELD(OverridingKind, override, override, override); WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict); @@ -847,851 +985,999 @@ _outQuery(OUT_TYPE(Query, Query) out, const Query *node) } static void -_outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node) +_outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(cols, cols, cols); - WRITE_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt); - WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause); - WRITE_LIST_FIELD(returning_list, returningList, returningList); - WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); - WRITE_ENUM_FIELD(OverridingKind, override, override, override); + WRITE_LIST_FIELD(names, names, names); + WRITE_UINT_FIELD(type_oid, typeOid, typeOid); + WRITE_BOOL_FIELD(setof, setof, setof); + WRITE_BOOL_FIELD(pct_type, pct_type, pct_type); + WRITE_LIST_FIELD(typmods, typmods, typmods); + WRITE_INT_FIELD(typemod, typemod, typemod); + WRITE_LIST_FIELD(array_bounds, arrayBounds, arrayBounds); + WRITE_INT_FIELD(location, location, location); } static void -_outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node) +_outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(using_clause, usingClause, usingClause); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_LIST_FIELD(returning_list, returningList, returningList); - WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + WRITE_LIST_FIELD(fields, fields, fields); + WRITE_INT_FIELD(location, location, location); } static void -_outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node) +_outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_LIST_FIELD(from_clause, fromClause, fromClause); - WRITE_LIST_FIELD(returning_list, returningList, returningList); - WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + WRITE_INT_FIELD(number, number, number); + WRITE_INT_FIELD(location, location, location); } static void -_outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node) +_outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); - WRITE_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); - WRITE_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); - WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + WRITE_ENUM_FIELD(A_Expr_Kind, kind, kind, kind); + WRITE_LIST_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(lexpr, lexpr, lexpr); + WRITE_NODE_PTR_FIELD(rexpr, rexpr, rexpr); + WRITE_INT_FIELD(location, location, location); } static void -_outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node) +_outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node) { - WRITE_LIST_FIELD(distinct_clause, distinctClause, distinctClause); - WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_LIST_FIELD(from_clause, fromClause, fromClause); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_LIST_FIELD(group_clause, groupClause, groupClause); - WRITE_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct); - WRITE_NODE_PTR_FIELD(having_clause, havingClause, havingClause); - WRITE_LIST_FIELD(window_clause, windowClause, windowClause); - WRITE_LIST_FIELD(values_lists, valuesLists, valuesLists); - WRITE_LIST_FIELD(sort_clause, sortClause, sortClause); - WRITE_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset); - WRITE_NODE_PTR_FIELD(limit_count, limitCount, limitCount); - WRITE_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption); - WRITE_LIST_FIELD(locking_clause, lockingClause, lockingClause); - WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); - WRITE_ENUM_FIELD(SetOperation, op, op, op); - WRITE_BOOL_FIELD(all, all, all); - WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg); - WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg); + WRITE_NODE_PTR_FIELD(arg, arg, arg); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_INT_FIELD(location, location, location); } static void -_outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out, const ReturnStmt *node) +_outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node) { - WRITE_NODE_PTR_FIELD(returnval, returnval, returnval); + WRITE_NODE_PTR_FIELD(arg, arg, arg); + WRITE_LIST_FIELD(collname, collname, collname); + WRITE_INT_FIELD(location, location, location); } static void -_outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out, const PLAssignStmt *node) +_outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(indirection, indirection, indirection); - WRITE_INT_FIELD(nnames, nnames, nnames); - WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val); + WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype); + WRITE_STRING_FIELD(rolename, rolename, rolename); WRITE_INT_FIELD(location, location, location); } static void -_outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node) +_outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(cmds, cmds, cmds); - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_LIST_FIELD(funcname, funcname, funcname); + WRITE_LIST_FIELD(args, args, args); + WRITE_LIST_FIELD(agg_order, agg_order, agg_order); + WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); + WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); + WRITE_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group); + WRITE_BOOL_FIELD(agg_star, agg_star, agg_star); + WRITE_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct); + WRITE_BOOL_FIELD(func_variadic, func_variadic, func_variadic); + WRITE_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node) +_outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node) { - WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype); - WRITE_STRING_FIELD(name, name, name); - WRITE_INT_FIELD(num, num, num); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); - WRITE_NODE_PTR_FIELD(def, def, def); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - WRITE_BOOL_FIELD(recurse, recurse, recurse); } static void -_outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node) +_outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node) { - WRITE_CHAR_FIELD(subtype, subtype, subtype); - WRITE_LIST_FIELD(type_name, typeName, typeName); - WRITE_STRING_FIELD(name, name, name); - WRITE_NODE_PTR_FIELD(def, def, def); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_BOOL_FIELD(is_slice, is_slice, is_slice); + WRITE_NODE_PTR_FIELD(lidx, lidx, lidx); + WRITE_NODE_PTR_FIELD(uidx, uidx, uidx); } static void -_outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node) +_outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node) { - WRITE_ENUM_FIELD(SetOperation, op, op, op); - WRITE_BOOL_FIELD(all, all, all); - WRITE_NODE_PTR_FIELD(larg, larg, larg); - WRITE_NODE_PTR_FIELD(rarg, rarg, rarg); - WRITE_LIST_FIELD(col_types, colTypes, colTypes); - WRITE_LIST_FIELD(col_typmods, colTypmods, colTypmods); - WRITE_LIST_FIELD(col_collations, colCollations, colCollations); - WRITE_LIST_FIELD(group_clauses, groupClauses, groupClauses); + WRITE_NODE_PTR_FIELD(arg, arg, arg); + WRITE_LIST_FIELD(indirection, indirection, indirection); } static void -_outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node) +_outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node) { - WRITE_BOOL_FIELD(is_grant, is_grant, is_grant); - WRITE_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype); - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_LIST_FIELD(objects, objects, objects); - WRITE_LIST_FIELD(privileges, privileges, privileges); - WRITE_LIST_FIELD(grantees, grantees, grantees); - WRITE_BOOL_FIELD(grant_option, grant_option, grant_option); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_LIST_FIELD(elements, elements, elements); + WRITE_INT_FIELD(location, location, location); } static void -_outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node) +_outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node) { - WRITE_LIST_FIELD(granted_roles, granted_roles, granted_roles); - WRITE_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles); - WRITE_BOOL_FIELD(is_grant, is_grant, is_grant); - WRITE_BOOL_FIELD(admin_opt, admin_opt, admin_opt); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_STRING_FIELD(name, name, name); + WRITE_LIST_FIELD(indirection, indirection, indirection); + WRITE_NODE_PTR_FIELD(val, val, val); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node) +_outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node) { - WRITE_LIST_FIELD(options, options, options); - WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action); + WRITE_NODE_PTR_FIELD(source, source, source); + WRITE_INT_FIELD(colno, colno, colno); + WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns); } static void -_outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node) +_outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node) { - WRITE_STRING_FIELD(portalname, portalname, portalname); + WRITE_NODE_PTR_FIELD(node, node, node); + WRITE_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir); + WRITE_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls); + WRITE_LIST_FIELD(use_op, useOp, useOp); + WRITE_INT_FIELD(location, location, location); } static void -_outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node) +_outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_STRING_FIELD(indexname, indexname, indexname); - WRITE_LIST_FIELD(params, params, params); + WRITE_STRING_FIELD(name, name, name); + WRITE_STRING_FIELD(refname, refname, refname); + WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause); + WRITE_LIST_FIELD(order_clause, orderClause, orderClause); + WRITE_INT_FIELD(frame_options, frameOptions, frameOptions); + WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset); + WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset); + WRITE_INT_FIELD(location, location, location); } static void -_outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node) +_outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(query, query, query); - WRITE_LIST_FIELD(attlist, attlist, attlist); - WRITE_BOOL_FIELD(is_from, is_from, is_from); - WRITE_BOOL_FIELD(is_program, is_program, is_program); - WRITE_STRING_FIELD(filename, filename, filename); - WRITE_LIST_FIELD(options, options, options); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_NODE_PTR_FIELD(subquery, subquery, subquery); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); } static void -_outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node) +_outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(table_elts, tableElts, tableElts); - WRITE_LIST_FIELD(inh_relations, inhRelations, inhRelations); - WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound); - WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename); - WRITE_LIST_FIELD(constraints, constraints, constraints); - WRITE_LIST_FIELD(options, options, options); - WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit); - WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); - WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_BOOL_FIELD(ordinality, ordinality, ordinality); + WRITE_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom); + WRITE_LIST_FIELD(functions, functions, functions); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist); } static void -_outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node) +_outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node) { - WRITE_ENUM_FIELD(ObjectType, kind, kind, kind); - WRITE_BOOL_FIELD(oldstyle, oldstyle, oldstyle); - WRITE_LIST_FIELD(defnames, defnames, defnames); - WRITE_LIST_FIELD(args, args, args); - WRITE_LIST_FIELD(definition, definition, definition); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); - WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr); + WRITE_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr); + WRITE_LIST_FIELD(namespaces, namespaces, namespaces); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_INT_FIELD(location, location, location); } static void -_outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node) +_outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node) { - WRITE_LIST_FIELD(objects, objects, objects); - WRITE_ENUM_FIELD(ObjectType, remove_type, removeType, removeType); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); + WRITE_STRING_FIELD(colname, colname, colname); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality); + WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null); + WRITE_NODE_PTR_FIELD(colexpr, colexpr, colexpr); + WRITE_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr); + WRITE_INT_FIELD(location, location, location); } static void -_outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node) +_outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node) { - WRITE_LIST_FIELD(relations, relations, relations); - WRITE_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_NODE_PTR_FIELD(relation, relation, relation); + WRITE_LIST_FIELD(method, method, method); + WRITE_LIST_FIELD(args, args, args); + WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable); + WRITE_INT_FIELD(location, location, location); } static void -_outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node) +_outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node) { - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_STRING_FIELD(comment, comment, comment); + WRITE_STRING_FIELD(colname, colname, colname); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_STRING_FIELD(compression, compression, compression); + WRITE_INT_FIELD(inhcount, inhcount, inhcount); + WRITE_BOOL_FIELD(is_local, is_local, is_local); + WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null); + WRITE_BOOL_FIELD(is_from_type, is_from_type, is_from_type); + WRITE_CHAR_FIELD(storage, storage, storage); + WRITE_STRING_FIELD(storage_name, storage_name, storage_name); + WRITE_NODE_PTR_FIELD(raw_default, raw_default, raw_default); + WRITE_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default); + WRITE_CHAR_FIELD(identity, identity, identity); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence); + WRITE_CHAR_FIELD(generated, generated, generated); + WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); + WRITE_UINT_FIELD(coll_oid, collOid, collOid); + WRITE_LIST_FIELD(constraints, constraints, constraints); + WRITE_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions); + WRITE_INT_FIELD(location, location, location); } static void -_outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node) +_outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node) { - WRITE_ENUM_FIELD(FetchDirection, direction, direction, direction); - WRITE_LONG_FIELD(how_many, howMany, howMany); - WRITE_STRING_FIELD(portalname, portalname, portalname); - WRITE_BOOL_FIELD(ismove, ismove, ismove); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_UINT_FIELD(options, options, options); + WRITE_UINT_FIELD(relation_oid, relationOid, relationOid); } static void -_outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node) +_outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node) { - WRITE_STRING_FIELD(idxname, idxname, idxname); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); - WRITE_STRING_FIELD(table_space, tableSpace, tableSpace); - WRITE_LIST_FIELD(index_params, indexParams, indexParams); - WRITE_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams); - WRITE_LIST_FIELD(options, options, options); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames); - WRITE_STRING_FIELD(idxcomment, idxcomment, idxcomment); - WRITE_UINT_FIELD(index_oid, indexOid, indexOid); - WRITE_UINT_FIELD(old_node, oldNode, oldNode); - WRITE_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid); - WRITE_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid); - WRITE_BOOL_FIELD(unique, unique, unique); - WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); - WRITE_BOOL_FIELD(primary, primary, primary); - WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint); - WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); - WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - WRITE_BOOL_FIELD(transformed, transformed, transformed); - WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); - WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); + WRITE_STRING_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_STRING_FIELD(indexcolname, indexcolname, indexcolname); + WRITE_LIST_FIELD(collation, collation, collation); + WRITE_LIST_FIELD(opclass, opclass, opclass); + WRITE_LIST_FIELD(opclassopts, opclassopts, opclassopts); + WRITE_ENUM_FIELD(SortByDir, ordering, ordering, ordering); + WRITE_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering); } static void -_outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node) +_outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node) { - WRITE_BOOL_FIELD(is_procedure, is_procedure, is_procedure); - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_LIST_FIELD(funcname, funcname, funcname); - WRITE_LIST_FIELD(parameters, parameters, parameters); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType); - WRITE_LIST_FIELD(options, options, options); - WRITE_NODE_PTR_FIELD(sql_body, sql_body, sql_body); + WRITE_STRING_FIELD(defnamespace, defnamespace, defnamespace); + WRITE_STRING_FIELD(defname, defname, defname); + WRITE_NODE_PTR_FIELD(arg, arg, arg); + WRITE_ENUM_FIELD(DefElemAction, defaction, defaction, defaction); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node) +_outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node) { - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); - WRITE_LIST_FIELD(actions, actions, actions); + WRITE_LIST_FIELD(locked_rels, lockedRels, lockedRels); + WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength); + WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); } static void -_outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node) +_outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node) { - WRITE_LIST_FIELD(args, args, args); + WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_BOOL_FIELD(indent, indent, indent); + WRITE_INT_FIELD(location, location, location); } static void -_outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node) +_outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node) { - WRITE_ENUM_FIELD(ObjectType, rename_type, renameType, renameType); - WRITE_ENUM_FIELD(ObjectType, relation_type, relationType, relationType); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_STRING_FIELD(subname, subname, subname); - WRITE_STRING_FIELD(newname, newname, newname); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_STRING_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_LIST_FIELD(collation, collation, collation); + WRITE_LIST_FIELD(opclass, opclass, opclass); + WRITE_INT_FIELD(location, location, location); } static void -_outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node) +_outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_STRING_FIELD(rulename, rulename, rulename); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_ENUM_FIELD(CmdType, event, event, event); - WRITE_BOOL_FIELD(instead, instead, instead); - WRITE_LIST_FIELD(actions, actions, actions); - WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_ENUM_FIELD(PartitionStrategy, strategy, strategy, strategy); + WRITE_LIST_FIELD(part_params, partParams, partParams); + WRITE_INT_FIELD(location, location, location); } static void -_outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node) +_outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node) { - WRITE_STRING_FIELD(conditionname, conditionname, conditionname); - WRITE_STRING_FIELD(payload, payload, payload); + WRITE_CHAR_FIELD(strategy, strategy, strategy); + WRITE_BOOL_FIELD(is_default, is_default, is_default); + WRITE_INT_FIELD(modulus, modulus, modulus); + WRITE_INT_FIELD(remainder, remainder, remainder); + WRITE_LIST_FIELD(listdatums, listdatums, listdatums); + WRITE_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums); + WRITE_LIST_FIELD(upperdatums, upperdatums, upperdatums); + WRITE_INT_FIELD(location, location, location); } static void -_outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node) +_outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node) { - WRITE_STRING_FIELD(conditionname, conditionname, conditionname); + WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind); + WRITE_NODE_PTR_FIELD(value, value, value); + WRITE_INT_FIELD(location, location, location); } static void -_outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node) +_outSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) out, const SinglePartitionSpec *node) { - WRITE_STRING_FIELD(conditionname, conditionname, conditionname); } static void -_outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node) +_outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node) { - WRITE_ENUM_FIELD(TransactionStmtKind, kind, kind, kind); - WRITE_LIST_FIELD(options, options, options); - WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); - WRITE_STRING_FIELD(gid, gid, gid); - WRITE_BOOL_FIELD(chain, chain, chain); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name); + WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound); + WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); } static void -_outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node) +_outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view); - WRITE_LIST_FIELD(aliases, aliases, aliases); - WRITE_NODE_PTR_FIELD(query, query, query); - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_LIST_FIELD(options, options, options); - WRITE_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); + WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); + WRITE_UINT_FIELD(relid, relid, relid); + WRITE_BOOL_FIELD(inh, inh, inh); + WRITE_CHAR_FIELD(relkind, relkind, relkind); + WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode); + WRITE_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex); + WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); + WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); + WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier); + WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype); + WRITE_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols); + WRITE_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars); + WRITE_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols); + WRITE_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias); + WRITE_LIST_FIELD(functions, functions, functions); + WRITE_BOOL_FIELD(funcordinality, funcordinality, funcordinality); + WRITE_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc); + WRITE_LIST_FIELD(values_lists, values_lists, values_lists); + WRITE_STRING_FIELD(ctename, ctename, ctename); + WRITE_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup); + WRITE_BOOL_FIELD(self_reference, self_reference, self_reference); + WRITE_LIST_FIELD(coltypes, coltypes, coltypes); + WRITE_LIST_FIELD(coltypmods, coltypmods, coltypmods); + WRITE_LIST_FIELD(colcollations, colcollations, colcollations); + WRITE_STRING_FIELD(enrname, enrname, enrname); + WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); + WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals); } static void -_outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node) +_outRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) out, const RTEPermissionInfo *node) { - WRITE_STRING_FIELD(filename, filename, filename); + WRITE_UINT_FIELD(relid, relid, relid); + WRITE_BOOL_FIELD(inh, inh, inh); + WRITE_UINT64_FIELD(required_perms, requiredPerms, requiredPerms); + WRITE_UINT_FIELD(check_as_user, checkAsUser, checkAsUser); + WRITE_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols); + WRITE_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols); + WRITE_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols); } static void -_outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node) +_outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node) { - WRITE_LIST_FIELD(domainname, domainname, domainname); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); - WRITE_LIST_FIELD(constraints, constraints, constraints); + WRITE_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr); + WRITE_INT_FIELD(funccolcount, funccolcount, funccolcount); + WRITE_LIST_FIELD(funccolnames, funccolnames, funccolnames); + WRITE_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes); + WRITE_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods); + WRITE_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations); + WRITE_BITMAPSET_FIELD(funcparams, funcparams, funcparams); } static void -_outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node) +_outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node) { - WRITE_STRING_FIELD(dbname, dbname, dbname); - WRITE_LIST_FIELD(options, options, options); + WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler); + WRITE_LIST_FIELD(args, args, args); + WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable); } static void -_outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node) +_outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node) { - WRITE_STRING_FIELD(dbname, dbname, dbname); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(WCOKind, kind, kind, kind); + WRITE_STRING_FIELD(relname, relname, relname); + WRITE_STRING_FIELD(polname, polname, polname); + WRITE_NODE_PTR_FIELD(qual, qual, qual); + WRITE_BOOL_FIELD(cascaded, cascaded, cascaded); } static void -_outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node) +_outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node) { - WRITE_LIST_FIELD(options, options, options); - WRITE_LIST_FIELD(rels, rels, rels); - WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd); + WRITE_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef); + WRITE_UINT_FIELD(eqop, eqop, eqop); + WRITE_UINT_FIELD(sortop, sortop, sortop); + WRITE_BOOL_FIELD(nulls_first, nulls_first, nulls_first); + WRITE_BOOL_FIELD(hashable, hashable, hashable); } static void -_outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node) +_outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node) { - WRITE_NODE_PTR_FIELD(query, query, query); - WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind); + WRITE_LIST_FIELD(content, content, content); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node) +_outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node) { - WRITE_NODE_PTR_FIELD(query, query, query); - WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into); - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_BOOL_FIELD(is_select_into, is_select_into, is_select_into); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_STRING_FIELD(name, name, name); + WRITE_STRING_FIELD(refname, refname, refname); + WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause); + WRITE_LIST_FIELD(order_clause, orderClause, orderClause); + WRITE_INT_FIELD(frame_options, frameOptions, frameOptions); + WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset); + WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset); + WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); + WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); + WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); + WRITE_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc); + WRITE_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst); + WRITE_UINT_FIELD(winref, winref, winref); + WRITE_BOOL_FIELD(copied_order, copiedOrder, copiedOrder); } static void -_outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node) +_outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); - WRITE_LIST_FIELD(options, options, options); - WRITE_UINT_FIELD(owner_id, ownerId, ownerId); - WRITE_BOOL_FIELD(for_identity, for_identity, for_identity); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_UINT_FIELD(rti, rti, rti); + WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength); + WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); + WRITE_BOOL_FIELD(pushed_down, pushedDown, pushedDown); } static void -_outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node) +_outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); - WRITE_LIST_FIELD(options, options, options); - WRITE_BOOL_FIELD(for_identity, for_identity, for_identity); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_LIST_FIELD(ctes, ctes, ctes); + WRITE_BOOL_FIELD(recursive, recursive, recursive); + WRITE_INT_FIELD(location, location, location); } static void -_outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node) +_outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node) { - WRITE_ENUM_FIELD(VariableSetKind, kind, kind, kind); - WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(args, args, args); - WRITE_BOOL_FIELD(is_local, is_local, is_local); + WRITE_LIST_FIELD(index_elems, indexElems, indexElems); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_STRING_FIELD(conname, conname, conname); + WRITE_INT_FIELD(location, location, location); } static void -_outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node) +_outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node) { - WRITE_STRING_FIELD(name, name, name); + WRITE_ENUM_FIELD(OnConflictAction, action, action, action); + WRITE_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_INT_FIELD(location, location, location); } static void -_outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node) +_outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out, const CTESearchClause *node) { - WRITE_ENUM_FIELD(DiscardMode, target, target, target); + WRITE_LIST_FIELD(search_col_list, search_col_list, search_col_list); + WRITE_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first); + WRITE_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node) +_outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out, const CTECycleClause *node) { - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint); - WRITE_STRING_FIELD(trigname, trigname, trigname); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_LIST_FIELD(funcname, funcname, funcname); - WRITE_LIST_FIELD(args, args, args); - WRITE_BOOL_FIELD(row, row, row); - WRITE_INT_FIELD(timing, timing, timing); - WRITE_INT_FIELD(events, events, events); - WRITE_LIST_FIELD(columns, columns, columns); - WRITE_NODE_PTR_FIELD(when_clause, whenClause, whenClause); - WRITE_LIST_FIELD(transition_rels, transitionRels, transitionRels); - WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); - WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel); + WRITE_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list); + WRITE_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column); + WRITE_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value); + WRITE_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default); + WRITE_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column); + WRITE_INT_FIELD(location, location, location); + WRITE_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type); + WRITE_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod); + WRITE_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation); + WRITE_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop); } static void -_outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node) +_outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node) { - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_STRING_FIELD(plname, plname, plname); - WRITE_LIST_FIELD(plhandler, plhandler, plhandler); - WRITE_LIST_FIELD(plinline, plinline, plinline); - WRITE_LIST_FIELD(plvalidator, plvalidator, plvalidator); - WRITE_BOOL_FIELD(pltrusted, pltrusted, pltrusted); + WRITE_STRING_FIELD(ctename, ctename, ctename); + WRITE_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames); + WRITE_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized); + WRITE_NODE_PTR_FIELD(ctequery, ctequery, ctequery); + WRITE_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause); + WRITE_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause); + WRITE_INT_FIELD(location, location, location); + WRITE_BOOL_FIELD(cterecursive, cterecursive, cterecursive); + WRITE_INT_FIELD(cterefcount, cterefcount, cterefcount); + WRITE_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames); + WRITE_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes); + WRITE_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods); + WRITE_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations); } static void -_outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node) +_outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node) { - WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type); - WRITE_STRING_FIELD(role, role, role); - WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); + WRITE_ENUM_FIELD(OverridingKind, override, override, override); + WRITE_NODE_PTR_FIELD(condition, condition, condition); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_LIST_FIELD(values, values, values); } static void -_outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node) +_outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); - WRITE_LIST_FIELD(options, options, options); - WRITE_INT_FIELD(action, action, action); + WRITE_STRING_FIELD(name, name, name); + WRITE_BOOL_FIELD(is_new, isNew, isNew); + WRITE_BOOL_FIELD(is_table, isTable, isTable); } static void -_outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node) +_outJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) out, const JsonOutput *node) { - WRITE_LIST_FIELD(roles, roles, roles); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); } static void -_outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node) +_outJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) out, const JsonArgument *node) { - WRITE_LIST_FIELD(relations, relations, relations); - WRITE_INT_FIELD(mode, mode, mode); - WRITE_BOOL_FIELD(nowait, nowait, nowait); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, val, val, val); + WRITE_STRING_FIELD(name, name, name); } static void -_outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node) +_outJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) out, const JsonFuncExpr *node) { - WRITE_LIST_FIELD(constraints, constraints, constraints); - WRITE_BOOL_FIELD(deferred, deferred, deferred); + WRITE_ENUM_FIELD(JsonExprOp, op, op, op); + WRITE_STRING_FIELD(column_name, column_name, column_name); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + WRITE_NODE_PTR_FIELD(pathspec, pathspec, pathspec); + WRITE_LIST_FIELD(passing, passing, passing); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + WRITE_INT_FIELD(location, location, location); } static void -_outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node) +_outJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) out, const JsonTablePathSpec *node) { - WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(string, string, string); WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(params, params, params); -} - -static void -_outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node) -{ + WRITE_INT_FIELD(name_location, name_location, name_location); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node) +_outJsonTable(OUT_TYPE(JsonTable, JsonTable) out, const JsonTable *node) { - WRITE_STRING_FIELD(schemaname, schemaname, schemaname); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole); - WRITE_LIST_FIELD(schema_elts, schemaElts, schemaElts); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + WRITE_LIST_FIELD(passing, passing, passing); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_BOOL_FIELD(lateral, lateral, lateral); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node) +_outJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) out, const JsonTableColumn *node) { - WRITE_STRING_FIELD(dbname, dbname, dbname); - WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(JsonTableColumnType, coltype, coltype, coltype); + WRITE_STRING_FIELD(name, name, name); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + WRITE_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out, const AlterDatabaseRefreshCollStmt *node) +_outJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) out, const JsonKeyValue *node) { - WRITE_STRING_FIELD(dbname, dbname, dbname); + WRITE_NODE_PTR_FIELD(key, key, key); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value); } static void -_outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node) +_outJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) out, const JsonParseExpr *node) { - WRITE_STRING_FIELD(dbname, dbname, dbname); - WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node) +_outJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) out, const JsonScalarExpr *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); - WRITE_STRING_FIELD(database, database, database); - WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); + WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node) +_outJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) out, const JsonSerializeExpr *node) { - WRITE_LIST_FIELD(conversion_name, conversion_name, conversion_name); - WRITE_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name); - WRITE_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name); - WRITE_LIST_FIELD(func_name, func_name, func_name); - WRITE_BOOL_FIELD(def, def, def); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node) +_outJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) out, const JsonObjectConstructor *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype); - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); - WRITE_ENUM_FIELD(CoercionContext, context, context, context); - WRITE_BOOL_FIELD(inout, inout, inout); + WRITE_LIST_FIELD(exprs, exprs, exprs); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + WRITE_BOOL_FIELD(unique, unique, unique); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node) +_outJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) out, const JsonArrayConstructor *node) { - WRITE_LIST_FIELD(opclassname, opclassname, opclassname); - WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - WRITE_STRING_FIELD(amname, amname, amname); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype); - WRITE_LIST_FIELD(items, items, items); - WRITE_BOOL_FIELD(is_default, isDefault, isDefault); + WRITE_LIST_FIELD(exprs, exprs, exprs); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + WRITE_INT_FIELD(location, location, location); } static void -_outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node) +_outJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) out, const JsonArrayQueryConstructor *node) { - WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - WRITE_STRING_FIELD(amname, amname, amname); + WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node) +_outJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) out, const JsonAggConstructor *node) { - WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - WRITE_STRING_FIELD(amname, amname, amname); - WRITE_BOOL_FIELD(is_drop, isDrop, isDrop); - WRITE_LIST_FIELD(items, items, items); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); + WRITE_LIST_FIELD(agg_order, agg_order, agg_order); + WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); + WRITE_INT_FIELD(location, location, location); } static void -_outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node) +_outJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) out, const JsonObjectAgg *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(argtypes, argtypes, argtypes); - WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonKeyValue, json_key_value, arg, arg, arg); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + WRITE_BOOL_FIELD(unique, unique, unique); } static void -_outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node) +_outJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) out, const JsonArrayAgg *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(params, params, params); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor); + WRITE_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, arg, arg, arg); + WRITE_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); } static void -_outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node) +_outRawStmt(OUT_TYPE(RawStmt, RawStmt) out, const RawStmt *node) { - WRITE_STRING_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(stmt, stmt, stmt); + WRITE_INT_FIELD(stmt_location, stmt_location, stmt_location); + WRITE_INT_FIELD(stmt_len, stmt_len, stmt_len); } static void -_outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node) +_outInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) out, const InsertStmt *node) { - WRITE_STRING_FIELD(portalname, portalname, portalname); - WRITE_INT_FIELD(options, options, options); - WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(cols, cols, cols); + WRITE_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt); + WRITE_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause); + WRITE_LIST_FIELD(returning_list, returningList, returningList); + WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + WRITE_ENUM_FIELD(OverridingKind, override, override, override); } static void -_outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node) +_outDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) out, const DeleteStmt *node) { - WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner); - WRITE_STRING_FIELD(location, location, location); - WRITE_LIST_FIELD(options, options, options); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(using_clause, usingClause, usingClause); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_LIST_FIELD(returning_list, returningList, returningList); + WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); } static void -_outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node) +_outUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) out, const UpdateStmt *node) { - WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_LIST_FIELD(from_clause, fromClause, fromClause); + WRITE_LIST_FIELD(returning_list, returningList, returningList); + WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); } static void -_outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node) +_outMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) out, const MergeStmt *node) { - WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname); - WRITE_BOOL_FIELD(remove, remove, remove); + WRITE_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); + WRITE_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); + WRITE_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); + WRITE_LIST_FIELD(returning_list, returningList, returningList); + WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); } static void -_outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node) +_outSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) out, const SelectStmt *node) { - WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_STRING_FIELD(newschema, newschema, newschema); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_LIST_FIELD(distinct_clause, distinctClause, distinctClause); + WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause); + WRITE_LIST_FIELD(target_list, targetList, targetList); + WRITE_LIST_FIELD(from_clause, fromClause, fromClause); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_LIST_FIELD(group_clause, groupClause, groupClause); + WRITE_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct); + WRITE_NODE_PTR_FIELD(having_clause, havingClause, havingClause); + WRITE_LIST_FIELD(window_clause, windowClause, windowClause); + WRITE_LIST_FIELD(values_lists, valuesLists, valuesLists); + WRITE_LIST_FIELD(sort_clause, sortClause, sortClause); + WRITE_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset); + WRITE_NODE_PTR_FIELD(limit_count, limitCount, limitCount); + WRITE_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption); + WRITE_LIST_FIELD(locking_clause, lockingClause, lockingClause); + WRITE_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + WRITE_ENUM_FIELD(SetOperation, op, op, op); + WRITE_BOOL_FIELD(all, all, all); + WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg); + WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg); } static void -_outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node) +_outSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) out, const SetOperationStmt *node) { - WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); + WRITE_ENUM_FIELD(SetOperation, op, op, op); + WRITE_BOOL_FIELD(all, all, all); + WRITE_NODE_PTR_FIELD(larg, larg, larg); + WRITE_NODE_PTR_FIELD(rarg, rarg, rarg); + WRITE_LIST_FIELD(col_types, colTypes, colTypes); + WRITE_LIST_FIELD(col_typmods, colTypmods, colTypmods); + WRITE_LIST_FIELD(col_collations, colCollations, colCollations); + WRITE_LIST_FIELD(group_clauses, groupClauses, groupClauses); } static void -_outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node) +_outReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) out, const ReturnStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername); - WRITE_LIST_FIELD(options, options, options); + WRITE_NODE_PTR_FIELD(returnval, returnval, returnval); } static void -_outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node) +_outPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) out, const PLAssignStmt *node) { - WRITE_LIST_FIELD(type_name, typeName, typeName); - WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(name, name, name); + WRITE_LIST_FIELD(indirection, indirection, indirection); + WRITE_INT_FIELD(nnames, nnames, nnames); + WRITE_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val); + WRITE_INT_FIELD(location, location, location); } static void -_outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node) +_outCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) out, const CreateSchemaStmt *node) { - WRITE_LIST_FIELD(roles, roles, roles); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_STRING_FIELD(schemaname, schemaname, schemaname); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, authrole, authrole, authrole); + WRITE_LIST_FIELD(schema_elts, schemaElts, schemaElts); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); } static void -_outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node) +_outAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) out, const AlterTableStmt *node) { - WRITE_LIST_FIELD(roles, roles, roles); - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(cmds, cmds, cmds); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node) +_outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar); - WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist); + WRITE_CHAR_FIELD(identity_type, identity_type, identity_type); + WRITE_STRING_FIELD(name, name, name); } static void -_outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node) +_outAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) out, const AlterTableCmd *node) { - WRITE_LIST_FIELD(type_name, typeName, typeName); - WRITE_LIST_FIELD(vals, vals, vals); + WRITE_ENUM_FIELD(AlterTableType, subtype, subtype, subtype); + WRITE_STRING_FIELD(name, name, name); + WRITE_INT_FIELD(num, num, num); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); + WRITE_NODE_PTR_FIELD(def, def, def); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_BOOL_FIELD(recurse, recurse, recurse); } static void -_outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node) +_outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node) { - WRITE_LIST_FIELD(type_name, typeName, typeName); - WRITE_LIST_FIELD(params, params, params); + WRITE_LIST_FIELD(collname, collname, collname); } static void -_outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node) +_outAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) out, const AlterDomainStmt *node) { + WRITE_CHAR_FIELD(subtype, subtype, subtype); WRITE_LIST_FIELD(type_name, typeName, typeName); - WRITE_STRING_FIELD(old_val, oldVal, oldVal); - WRITE_STRING_FIELD(new_val, newVal, newVal); - WRITE_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor); - WRITE_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter); - WRITE_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists); + WRITE_STRING_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(def, def, def); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node) +_outGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) out, const GrantStmt *node) { - WRITE_LIST_FIELD(dictname, dictname, dictname); - WRITE_LIST_FIELD(options, options, options); -} - + WRITE_BOOL_FIELD(is_grant, is_grant, is_grant); + WRITE_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_LIST_FIELD(objects, objects, objects); + WRITE_LIST_FIELD(privileges, privileges, privileges); + WRITE_LIST_FIELD(grantees, grantees, grantees); + WRITE_BOOL_FIELD(grant_option, grant_option, grant_option); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); +} + static void -_outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node) +_outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node) { - WRITE_ENUM_FIELD(AlterTSConfigType, kind, kind, kind); - WRITE_LIST_FIELD(cfgname, cfgname, cfgname); - WRITE_LIST_FIELD(tokentype, tokentype, tokentype); - WRITE_LIST_FIELD(dicts, dicts, dicts); - WRITE_BOOL_FIELD(override, override, override); - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_LIST_FIELD(objname, objname, objname); + WRITE_LIST_FIELD(objargs, objargs, objargs); + WRITE_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs); + WRITE_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified); } static void -_outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out, const CreateFdwStmt *node) +_outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node) { - WRITE_STRING_FIELD(fdwname, fdwname, fdwname); - WRITE_LIST_FIELD(func_options, func_options, func_options); - WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(priv_name, priv_name, priv_name); + WRITE_LIST_FIELD(cols, cols, cols); } static void -_outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out, const AlterFdwStmt *node) +_outGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) out, const GrantRoleStmt *node) { - WRITE_STRING_FIELD(fdwname, fdwname, fdwname); - WRITE_LIST_FIELD(func_options, func_options, func_options); - WRITE_LIST_FIELD(options, options, options); + WRITE_LIST_FIELD(granted_roles, granted_roles, granted_roles); + WRITE_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles); + WRITE_BOOL_FIELD(is_grant, is_grant, is_grant); + WRITE_LIST_FIELD(opt, opt, opt); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); } static void -_outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out, const CreateForeignServerStmt *node) +_outAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) out, const AlterDefaultPrivilegesStmt *node) { - WRITE_STRING_FIELD(servername, servername, servername); - WRITE_STRING_FIELD(servertype, servertype, servertype); - WRITE_STRING_FIELD(version, version, version); - WRITE_STRING_FIELD(fdwname, fdwname, fdwname); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); WRITE_LIST_FIELD(options, options, options); + WRITE_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action); } static void -_outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out, const AlterForeignServerStmt *node) +_outCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) out, const CopyStmt *node) { - WRITE_STRING_FIELD(servername, servername, servername); - WRITE_STRING_FIELD(version, version, version); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_LIST_FIELD(attlist, attlist, attlist); + WRITE_BOOL_FIELD(is_from, is_from, is_from); + WRITE_BOOL_FIELD(is_program, is_program, is_program); + WRITE_STRING_FIELD(filename, filename, filename); WRITE_LIST_FIELD(options, options, options); - WRITE_BOOL_FIELD(has_version, has_version, has_version); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); } static void -_outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out, const CreateUserMappingStmt *node) +_outVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) out, const VariableSetStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); - WRITE_STRING_FIELD(servername, servername, servername); + WRITE_ENUM_FIELD(VariableSetKind, kind, kind, kind); + WRITE_STRING_FIELD(name, name, name); + WRITE_LIST_FIELD(args, args, args); + WRITE_BOOL_FIELD(is_local, is_local, is_local); +} + +static void +_outVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) out, const VariableShowStmt *node) +{ + WRITE_STRING_FIELD(name, name, name); +} + +static void +_outCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) out, const CreateStmt *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(table_elts, tableElts, tableElts); + WRITE_LIST_FIELD(inh_relations, inhRelations, inhRelations); + WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound); + WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename); + WRITE_LIST_FIELD(constraints, constraints, constraints); + WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit); + WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); + WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); +} + +static void +_outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node) +{ + WRITE_ENUM_FIELD(ConstrType, contype, contype, contype); + WRITE_STRING_FIELD(conname, conname, conname); + WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); + WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation); + WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid); + WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); + WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); + WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); + WRITE_CHAR_FIELD(generated_when, generated_when, generated_when); + WRITE_INT_FIELD(inhcount, inhcount, inhcount); + WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); + WRITE_LIST_FIELD(keys, keys, keys); + WRITE_LIST_FIELD(including, including, including); + WRITE_LIST_FIELD(exclusions, exclusions, exclusions); WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(indexname, indexname, indexname); + WRITE_STRING_FIELD(indexspace, indexspace, indexspace); + WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); + WRITE_STRING_FIELD(access_method, access_method, access_method); + WRITE_NODE_PTR_FIELD(where_clause, where_clause, where_clause); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable); + WRITE_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs); + WRITE_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs); + WRITE_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype); + WRITE_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action); + WRITE_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action); + WRITE_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); + WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); + WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); + WRITE_INT_FIELD(location, location, location); } static void -_outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out, const AlterUserMappingStmt *node) +_outCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) out, const CreateTableSpaceStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); - WRITE_STRING_FIELD(servername, servername, servername); + WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, owner, owner, owner); + WRITE_STRING_FIELD(location, location, location); WRITE_LIST_FIELD(options, options, options); } static void -_outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out, const DropUserMappingStmt *node) +_outDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) out, const DropTableSpaceStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); - WRITE_STRING_FIELD(servername, servername, servername); + WRITE_STRING_FIELD(tablespacename, tablespacename, tablespacename); WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } @@ -1714,92 +2000,107 @@ _outAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) } static void -_outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node) +_outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node) { - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_NODE_PTR_FIELD(object, object, object); - WRITE_STRING_FIELD(provider, provider, provider); - WRITE_STRING_FIELD(label, label, label); + WRITE_STRING_FIELD(extname, extname, extname); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_LIST_FIELD(options, options, options); } static void -_outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node) +_outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node) { - WRITE_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base); - WRITE_STRING_FIELD(servername, servername, servername); + WRITE_STRING_FIELD(extname, extname, extname); WRITE_LIST_FIELD(options, options, options); } static void -_outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node) +_outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node) { - WRITE_STRING_FIELD(server_name, server_name, server_name); - WRITE_STRING_FIELD(remote_schema, remote_schema, remote_schema); - WRITE_STRING_FIELD(local_schema, local_schema, local_schema); - WRITE_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type); - WRITE_LIST_FIELD(table_list, table_list, table_list); + WRITE_STRING_FIELD(extname, extname, extname); + WRITE_INT_FIELD(action, action, action); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_NODE_PTR_FIELD(object, object, object); +} + +static void +_outCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) out, const CreateFdwStmt *node) +{ + WRITE_STRING_FIELD(fdwname, fdwname, fdwname); + WRITE_LIST_FIELD(func_options, func_options, func_options); WRITE_LIST_FIELD(options, options, options); } static void -_outCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) out, const CreateExtensionStmt *node) +_outAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) out, const AlterFdwStmt *node) { - WRITE_STRING_FIELD(extname, extname, extname); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_STRING_FIELD(fdwname, fdwname, fdwname); + WRITE_LIST_FIELD(func_options, func_options, func_options); WRITE_LIST_FIELD(options, options, options); } static void -_outAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) out, const AlterExtensionStmt *node) +_outCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) out, const CreateForeignServerStmt *node) { - WRITE_STRING_FIELD(extname, extname, extname); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_STRING_FIELD(servertype, servertype, servertype); + WRITE_STRING_FIELD(version, version, version); + WRITE_STRING_FIELD(fdwname, fdwname, fdwname); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); WRITE_LIST_FIELD(options, options, options); } static void -_outAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) out, const AlterExtensionContentsStmt *node) +_outAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) out, const AlterForeignServerStmt *node) { - WRITE_STRING_FIELD(extname, extname, extname); - WRITE_INT_FIELD(action, action, action); - WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_STRING_FIELD(version, version, version); + WRITE_LIST_FIELD(options, options, options); + WRITE_BOOL_FIELD(has_version, has_version, has_version); } static void -_outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node) +_outCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) out, const CreateForeignTableStmt *node) { - WRITE_STRING_FIELD(trigname, trigname, trigname); - WRITE_STRING_FIELD(eventname, eventname, eventname); - WRITE_LIST_FIELD(whenclause, whenclause, whenclause); - WRITE_LIST_FIELD(funcname, funcname, funcname); + WRITE_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_LIST_FIELD(options, options, options); } static void -_outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node) +_outCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) out, const CreateUserMappingStmt *node) { - WRITE_STRING_FIELD(trigname, trigname, trigname); - WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_LIST_FIELD(options, options, options); } static void -_outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node) +_outAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) out, const AlterUserMappingStmt *node) { - WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); - WRITE_BOOL_FIELD(skip_data, skipData, skipData); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_LIST_FIELD(options, options, options); } static void -_outReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) out, const ReplicaIdentityStmt *node) +_outDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) out, const DropUserMappingStmt *node) { - WRITE_CHAR_FIELD(identity_type, identity_type, identity_type); - WRITE_STRING_FIELD(name, name, name); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, user, user, user); + WRITE_STRING_FIELD(servername, servername, servername); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node) +_outImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) out, const ImportForeignSchemaStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); + WRITE_STRING_FIELD(server_name, server_name, server_name); + WRITE_STRING_FIELD(remote_schema, remote_schema, remote_schema); + WRITE_STRING_FIELD(local_schema, local_schema, local_schema); + WRITE_ENUM_FIELD(ImportForeignSchemaType, list_type, list_type, list_type); + WRITE_LIST_FIELD(table_list, table_list, table_list); + WRITE_LIST_FIELD(options, options, options); } static void @@ -1824,16 +2125,6 @@ _outAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) out, const AlterP WRITE_NODE_PTR_FIELD(with_check, with_check, with_check); } -static void -_outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node) -{ - WRITE_BOOL_FIELD(replace, replace, replace); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name); - WRITE_STRING_FIELD(lang, lang, lang); - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql); - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql); -} - static void _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *node) { @@ -1843,691 +2134,697 @@ _outCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) out, const CreateAmStmt *n } static void -_outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node) -{ - WRITE_STRING_FIELD(pubname, pubname, pubname); - WRITE_LIST_FIELD(options, options, options); - WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects); - WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); -} - -static void -_outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node) +_outCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) out, const CreateTrigStmt *node) { - WRITE_STRING_FIELD(pubname, pubname, pubname); - WRITE_LIST_FIELD(options, options, options); - WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects); - WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); - WRITE_ENUM_FIELD(AlterPublicationAction, action, action, action); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint); + WRITE_STRING_FIELD(trigname, trigname, trigname); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_LIST_FIELD(funcname, funcname, funcname); + WRITE_LIST_FIELD(args, args, args); + WRITE_BOOL_FIELD(row, row, row); + WRITE_INT_FIELD(timing, timing, timing); + WRITE_INT_FIELD(events, events, events); + WRITE_LIST_FIELD(columns, columns, columns); + WRITE_NODE_PTR_FIELD(when_clause, whenClause, whenClause); + WRITE_LIST_FIELD(transition_rels, transitionRels, transitionRels); + WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); + WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel); } static void -_outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node) +_outCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) out, const CreateEventTrigStmt *node) { - WRITE_STRING_FIELD(subname, subname, subname); - WRITE_STRING_FIELD(conninfo, conninfo, conninfo); - WRITE_LIST_FIELD(publication, publication, publication); - WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(trigname, trigname, trigname); + WRITE_STRING_FIELD(eventname, eventname, eventname); + WRITE_LIST_FIELD(whenclause, whenclause, whenclause); + WRITE_LIST_FIELD(funcname, funcname, funcname); } static void -_outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node) +_outAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) out, const AlterEventTrigStmt *node) { - WRITE_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind); - WRITE_STRING_FIELD(subname, subname, subname); - WRITE_STRING_FIELD(conninfo, conninfo, conninfo); - WRITE_LIST_FIELD(publication, publication, publication); - WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(trigname, trigname, trigname); + WRITE_CHAR_FIELD(tgenabled, tgenabled, tgenabled); } static void -_outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node) +_outCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) out, const CreatePLangStmt *node) { - WRITE_STRING_FIELD(subname, subname, subname); - WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_STRING_FIELD(plname, plname, plname); + WRITE_LIST_FIELD(plhandler, plhandler, plhandler); + WRITE_LIST_FIELD(plinline, plinline, plinline); + WRITE_LIST_FIELD(plvalidator, plvalidator, plvalidator); + WRITE_BOOL_FIELD(pltrusted, pltrusted, pltrusted); } static void -_outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node) +_outCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) out, const CreateRoleStmt *node) { - WRITE_LIST_FIELD(defnames, defnames, defnames); - WRITE_LIST_FIELD(stat_types, stat_types, stat_types); - WRITE_LIST_FIELD(exprs, exprs, exprs); - WRITE_LIST_FIELD(relations, relations, relations); - WRITE_STRING_FIELD(stxcomment, stxcomment, stxcomment); - WRITE_BOOL_FIELD(transformed, transformed, transformed); - WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type); + WRITE_STRING_FIELD(role, role, role); + WRITE_LIST_FIELD(options, options, options); } static void -_outAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) out, const AlterCollationStmt *node) +_outAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) out, const AlterRoleStmt *node) { - WRITE_LIST_FIELD(collname, collname, collname); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); + WRITE_LIST_FIELD(options, options, options); + WRITE_INT_FIELD(action, action, action); } static void -_outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node) +_outAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) out, const AlterRoleSetStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall); - WRITE_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr); - WRITE_LIST_FIELD(outargs, outargs, outargs); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); + WRITE_STRING_FIELD(database, database, database); + WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); } static void -_outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node) +_outDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) out, const DropRoleStmt *node) { - WRITE_LIST_FIELD(defnames, defnames, defnames); - WRITE_INT_FIELD(stxstattarget, stxstattarget, stxstattarget); + WRITE_LIST_FIELD(roles, roles, roles); WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outAExpr(OUT_TYPE(A_Expr, AExpr) out, const A_Expr *node) -{ - WRITE_ENUM_FIELD(A_Expr_Kind, kind, kind, kind); - WRITE_LIST_FIELD(name, name, name); - WRITE_NODE_PTR_FIELD(lexpr, lexpr, lexpr); - WRITE_NODE_PTR_FIELD(rexpr, rexpr, rexpr); - WRITE_INT_FIELD(location, location, location); -} - -static void -_outColumnRef(OUT_TYPE(ColumnRef, ColumnRef) out, const ColumnRef *node) +_outCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) out, const CreateSeqStmt *node) { - WRITE_LIST_FIELD(fields, fields, fields); - WRITE_INT_FIELD(location, location, location); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); + WRITE_LIST_FIELD(options, options, options); + WRITE_UINT_FIELD(owner_id, ownerId, ownerId); + WRITE_BOOL_FIELD(for_identity, for_identity, for_identity); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); } static void -_outParamRef(OUT_TYPE(ParamRef, ParamRef) out, const ParamRef *node) +_outAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) out, const AlterSeqStmt *node) { - WRITE_INT_FIELD(number, number, number); - WRITE_INT_FIELD(location, location, location); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); + WRITE_LIST_FIELD(options, options, options); + WRITE_BOOL_FIELD(for_identity, for_identity, for_identity); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outFuncCall(OUT_TYPE(FuncCall, FuncCall) out, const FuncCall *node) +_outDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) out, const DefineStmt *node) { - WRITE_LIST_FIELD(funcname, funcname, funcname); + WRITE_ENUM_FIELD(ObjectType, kind, kind, kind); + WRITE_BOOL_FIELD(oldstyle, oldstyle, oldstyle); + WRITE_LIST_FIELD(defnames, defnames, defnames); WRITE_LIST_FIELD(args, args, args); - WRITE_LIST_FIELD(agg_order, agg_order, agg_order); - WRITE_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); - WRITE_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); - WRITE_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group); - WRITE_BOOL_FIELD(agg_star, agg_star, agg_star); - WRITE_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct); - WRITE_BOOL_FIELD(func_variadic, func_variadic, func_variadic); - WRITE_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat); - WRITE_INT_FIELD(location, location, location); -} - -static void -_outAStar(OUT_TYPE(A_Star, AStar) out, const A_Star *node) -{ + WRITE_LIST_FIELD(definition, definition, definition); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_BOOL_FIELD(replace, replace, replace); } static void -_outAIndices(OUT_TYPE(A_Indices, AIndices) out, const A_Indices *node) +_outCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) out, const CreateDomainStmt *node) { - WRITE_BOOL_FIELD(is_slice, is_slice, is_slice); - WRITE_NODE_PTR_FIELD(lidx, lidx, lidx); - WRITE_NODE_PTR_FIELD(uidx, uidx, uidx); + WRITE_LIST_FIELD(domainname, domainname, domainname); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); + WRITE_LIST_FIELD(constraints, constraints, constraints); } static void -_outAIndirection(OUT_TYPE(A_Indirection, AIndirection) out, const A_Indirection *node) +_outCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) out, const CreateOpClassStmt *node) { - WRITE_NODE_PTR_FIELD(arg, arg, arg); - WRITE_LIST_FIELD(indirection, indirection, indirection); + WRITE_LIST_FIELD(opclassname, opclassname, opclassname); + WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + WRITE_STRING_FIELD(amname, amname, amname); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype); + WRITE_LIST_FIELD(items, items, items); + WRITE_BOOL_FIELD(is_default, isDefault, isDefault); } static void -_outAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) out, const A_ArrayExpr *node) +_outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node) { - WRITE_LIST_FIELD(elements, elements, elements); - WRITE_INT_FIELD(location, location, location); + WRITE_INT_FIELD(itemtype, itemtype, itemtype); + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name); + WRITE_INT_FIELD(number, number, number); + WRITE_LIST_FIELD(order_family, order_family, order_family); + WRITE_LIST_FIELD(class_args, class_args, class_args); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype); } static void -_outResTarget(OUT_TYPE(ResTarget, ResTarget) out, const ResTarget *node) +_outCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) out, const CreateOpFamilyStmt *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_LIST_FIELD(indirection, indirection, indirection); - WRITE_NODE_PTR_FIELD(val, val, val); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + WRITE_STRING_FIELD(amname, amname, amname); } static void -_outMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) out, const MultiAssignRef *node) +_outAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) out, const AlterOpFamilyStmt *node) { - WRITE_NODE_PTR_FIELD(source, source, source); - WRITE_INT_FIELD(colno, colno, colno); - WRITE_INT_FIELD(ncolumns, ncolumns, ncolumns); + WRITE_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + WRITE_STRING_FIELD(amname, amname, amname); + WRITE_BOOL_FIELD(is_drop, isDrop, isDrop); + WRITE_LIST_FIELD(items, items, items); } static void -_outTypeCast(OUT_TYPE(TypeCast, TypeCast) out, const TypeCast *node) +_outDropStmt(OUT_TYPE(DropStmt, DropStmt) out, const DropStmt *node) { - WRITE_NODE_PTR_FIELD(arg, arg, arg); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(objects, objects, objects); + WRITE_ENUM_FIELD(ObjectType, remove_type, removeType, removeType); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); } static void -_outCollateClause(OUT_TYPE(CollateClause, CollateClause) out, const CollateClause *node) +_outTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) out, const TruncateStmt *node) { - WRITE_NODE_PTR_FIELD(arg, arg, arg); - WRITE_LIST_FIELD(collname, collname, collname); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(relations, relations, relations); + WRITE_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); } static void -_outSortBy(OUT_TYPE(SortBy, SortBy) out, const SortBy *node) +_outCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) out, const CommentStmt *node) { - WRITE_NODE_PTR_FIELD(node, node, node); - WRITE_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir); - WRITE_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls); - WRITE_LIST_FIELD(use_op, useOp, useOp); - WRITE_INT_FIELD(location, location, location); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_STRING_FIELD(comment, comment, comment); } static void -_outWindowDef(OUT_TYPE(WindowDef, WindowDef) out, const WindowDef *node) +_outSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) out, const SecLabelStmt *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_STRING_FIELD(refname, refname, refname); - WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause); - WRITE_LIST_FIELD(order_clause, orderClause, orderClause); - WRITE_INT_FIELD(frame_options, frameOptions, frameOptions); - WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset); - WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - WRITE_INT_FIELD(location, location, location); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_STRING_FIELD(provider, provider, provider); + WRITE_STRING_FIELD(label, label, label); } static void -_outRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) out, const RangeSubselect *node) +_outDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) out, const DeclareCursorStmt *node) { - WRITE_BOOL_FIELD(lateral, lateral, lateral); - WRITE_NODE_PTR_FIELD(subquery, subquery, subquery); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + WRITE_STRING_FIELD(portalname, portalname, portalname); + WRITE_INT_FIELD(options, options, options); + WRITE_NODE_PTR_FIELD(query, query, query); } static void -_outRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) out, const RangeFunction *node) +_outClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) out, const ClosePortalStmt *node) { - WRITE_BOOL_FIELD(lateral, lateral, lateral); - WRITE_BOOL_FIELD(ordinality, ordinality, ordinality); - WRITE_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom); - WRITE_LIST_FIELD(functions, functions, functions); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist); + WRITE_STRING_FIELD(portalname, portalname, portalname); } static void -_outRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) out, const RangeTableSample *node) +_outFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) out, const FetchStmt *node) { - WRITE_NODE_PTR_FIELD(relation, relation, relation); - WRITE_LIST_FIELD(method, method, method); - WRITE_LIST_FIELD(args, args, args); - WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable); - WRITE_INT_FIELD(location, location, location); + WRITE_ENUM_FIELD(FetchDirection, direction, direction, direction); + WRITE_LONG_FIELD(how_many, howMany, howMany); + WRITE_STRING_FIELD(portalname, portalname, portalname); + WRITE_BOOL_FIELD(ismove, ismove, ismove); } static void -_outRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) out, const RangeTableFunc *node) +_outIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) out, const IndexStmt *node) { - WRITE_BOOL_FIELD(lateral, lateral, lateral); - WRITE_NODE_PTR_FIELD(docexpr, docexpr, docexpr); - WRITE_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr); - WRITE_LIST_FIELD(namespaces, namespaces, namespaces); - WRITE_LIST_FIELD(columns, columns, columns); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - WRITE_INT_FIELD(location, location, location); -} + WRITE_STRING_FIELD(idxname, idxname, idxname); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_STRING_FIELD(access_method, accessMethod, accessMethod); + WRITE_STRING_FIELD(table_space, tableSpace, tableSpace); + WRITE_LIST_FIELD(index_params, indexParams, indexParams); + WRITE_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams); + WRITE_LIST_FIELD(options, options, options); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames); + WRITE_STRING_FIELD(idxcomment, idxcomment, idxcomment); + WRITE_UINT_FIELD(index_oid, indexOid, indexOid); + WRITE_UINT_FIELD(old_number, oldNumber, oldNumber); + WRITE_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid); + WRITE_UINT_FIELD(old_first_relfilelocator_subid, oldFirstRelfilelocatorSubid, oldFirstRelfilelocatorSubid); + WRITE_BOOL_FIELD(unique, unique, unique); + WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); + WRITE_BOOL_FIELD(primary, primary, primary); + WRITE_BOOL_FIELD(isconstraint, isconstraint, isconstraint); + WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); + WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + WRITE_BOOL_FIELD(transformed, transformed, transformed); + WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); +} static void -_outRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) out, const RangeTableFuncCol *node) +_outCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) out, const CreateStatsStmt *node) { - WRITE_STRING_FIELD(colname, colname, colname); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - WRITE_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality); - WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null); - WRITE_NODE_PTR_FIELD(colexpr, colexpr, colexpr); - WRITE_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(defnames, defnames, defnames); + WRITE_LIST_FIELD(stat_types, stat_types, stat_types); + WRITE_LIST_FIELD(exprs, exprs, exprs); + WRITE_LIST_FIELD(relations, relations, relations); + WRITE_STRING_FIELD(stxcomment, stxcomment, stxcomment); + WRITE_BOOL_FIELD(transformed, transformed, transformed); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); } static void -_outTypeName(OUT_TYPE(TypeName, TypeName) out, const TypeName *node) +_outStatsElem(OUT_TYPE(StatsElem, StatsElem) out, const StatsElem *node) { - WRITE_LIST_FIELD(names, names, names); - WRITE_UINT_FIELD(type_oid, typeOid, typeOid); - WRITE_BOOL_FIELD(setof, setof, setof); - WRITE_BOOL_FIELD(pct_type, pct_type, pct_type); - WRITE_LIST_FIELD(typmods, typmods, typmods); - WRITE_INT_FIELD(typemod, typemod, typemod); - WRITE_LIST_FIELD(array_bounds, arrayBounds, arrayBounds); - WRITE_INT_FIELD(location, location, location); + WRITE_STRING_FIELD(name, name, name); + WRITE_NODE_PTR_FIELD(expr, expr, expr); } static void -_outColumnDef(OUT_TYPE(ColumnDef, ColumnDef) out, const ColumnDef *node) +_outAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) out, const AlterStatsStmt *node) { - WRITE_STRING_FIELD(colname, colname, colname); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - WRITE_STRING_FIELD(compression, compression, compression); - WRITE_INT_FIELD(inhcount, inhcount, inhcount); - WRITE_BOOL_FIELD(is_local, is_local, is_local); - WRITE_BOOL_FIELD(is_not_null, is_not_null, is_not_null); - WRITE_BOOL_FIELD(is_from_type, is_from_type, is_from_type); - WRITE_CHAR_FIELD(storage, storage, storage); - WRITE_NODE_PTR_FIELD(raw_default, raw_default, raw_default); - WRITE_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default); - WRITE_CHAR_FIELD(identity, identity, identity); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence); - WRITE_CHAR_FIELD(generated, generated, generated); - WRITE_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); - WRITE_UINT_FIELD(coll_oid, collOid, collOid); - WRITE_LIST_FIELD(constraints, constraints, constraints); - WRITE_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(defnames, defnames, defnames); + WRITE_NODE_PTR_FIELD(stxstattarget, stxstattarget, stxstattarget); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outIndexElem(OUT_TYPE(IndexElem, IndexElem) out, const IndexElem *node) +_outCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) out, const CreateFunctionStmt *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_NODE_PTR_FIELD(expr, expr, expr); - WRITE_STRING_FIELD(indexcolname, indexcolname, indexcolname); - WRITE_LIST_FIELD(collation, collation, collation); - WRITE_LIST_FIELD(opclass, opclass, opclass); - WRITE_LIST_FIELD(opclassopts, opclassopts, opclassopts); - WRITE_ENUM_FIELD(SortByDir, ordering, ordering, ordering); - WRITE_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering); + WRITE_BOOL_FIELD(is_procedure, is_procedure, is_procedure); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_LIST_FIELD(funcname, funcname, funcname); + WRITE_LIST_FIELD(parameters, parameters, parameters); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType); + WRITE_LIST_FIELD(options, options, options); + WRITE_NODE_PTR_FIELD(sql_body, sql_body, sql_body); } static void -_outStatsElem(OUT_TYPE(StatsElem, StatsElem) out, const StatsElem *node) +_outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node) { WRITE_STRING_FIELD(name, name, name); - WRITE_NODE_PTR_FIELD(expr, expr, expr); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType); + WRITE_ENUM_FIELD(FunctionParameterMode, mode, mode, mode); + WRITE_NODE_PTR_FIELD(defexpr, defexpr, defexpr); } static void -_outConstraint(OUT_TYPE(Constraint, Constraint) out, const Constraint *node) +_outAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) out, const AlterFunctionStmt *node) { - WRITE_ENUM_FIELD(ConstrType, contype, contype, contype); - WRITE_STRING_FIELD(conname, conname, conname); - WRITE_BOOL_FIELD(deferrable, deferrable, deferrable); - WRITE_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - WRITE_INT_FIELD(location, location, location); - WRITE_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); - WRITE_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); - WRITE_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); - WRITE_CHAR_FIELD(generated_when, generated_when, generated_when); - WRITE_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); - WRITE_LIST_FIELD(keys, keys, keys); - WRITE_LIST_FIELD(including, including, including); - WRITE_LIST_FIELD(exclusions, exclusions, exclusions); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); + WRITE_LIST_FIELD(actions, actions, actions); +} + +static void +_outDoStmt(OUT_TYPE(DoStmt, DoStmt) out, const DoStmt *node) +{ + WRITE_LIST_FIELD(args, args, args); +} + +static void +_outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node) +{ + WRITE_STRING_FIELD(source_text, source_text, source_text); + WRITE_UINT_FIELD(lang_oid, langOid, langOid); + WRITE_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted); + WRITE_BOOL_FIELD(atomic, atomic, atomic); +} + +static void +_outCallStmt(OUT_TYPE(CallStmt, CallStmt) out, const CallStmt *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall); + WRITE_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr); + WRITE_LIST_FIELD(outargs, outargs, outargs); +} + +static void +_outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node) +{ + WRITE_BOOL_FIELD(atomic, atomic, atomic); +} + +static void +_outRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) out, const RenameStmt *node) +{ + WRITE_ENUM_FIELD(ObjectType, rename_type, renameType, renameType); + WRITE_ENUM_FIELD(ObjectType, relation_type, relationType, relationType); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_STRING_FIELD(subname, subname, subname); + WRITE_STRING_FIELD(newname, newname, newname); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); +} + +static void +_outAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) out, const AlterObjectDependsStmt *node) +{ + WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname); + WRITE_BOOL_FIELD(remove, remove, remove); +} + +static void +_outAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) out, const AlterObjectSchemaStmt *node) +{ + WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_STRING_FIELD(newschema, newschema, newschema); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); +} + +static void +_outAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) out, const AlterOwnerStmt *node) +{ + WRITE_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_NODE_PTR_FIELD(object, object, object); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); +} + +static void +_outAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) out, const AlterOperatorStmt *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername); WRITE_LIST_FIELD(options, options, options); - WRITE_STRING_FIELD(indexname, indexname, indexname); - WRITE_STRING_FIELD(indexspace, indexspace, indexspace); - WRITE_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); - WRITE_STRING_FIELD(access_method, access_method, access_method); - WRITE_NODE_PTR_FIELD(where_clause, where_clause, where_clause); - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable); - WRITE_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs); - WRITE_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs); - WRITE_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype); - WRITE_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action); - WRITE_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action); - WRITE_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); - WRITE_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); - WRITE_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); - WRITE_BOOL_FIELD(skip_validation, skip_validation, skip_validation); - WRITE_BOOL_FIELD(initially_valid, initially_valid, initially_valid); } static void -_outDefElem(OUT_TYPE(DefElem, DefElem) out, const DefElem *node) +_outAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) out, const AlterTypeStmt *node) { - WRITE_STRING_FIELD(defnamespace, defnamespace, defnamespace); - WRITE_STRING_FIELD(defname, defname, defname); - WRITE_NODE_PTR_FIELD(arg, arg, arg); - WRITE_ENUM_FIELD(DefElemAction, defaction, defaction, defaction); + WRITE_LIST_FIELD(type_name, typeName, typeName); + WRITE_LIST_FIELD(options, options, options); +} + +static void +_outRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) out, const RuleStmt *node) +{ + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_STRING_FIELD(rulename, rulename, rulename); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_ENUM_FIELD(CmdType, event, event, event); + WRITE_BOOL_FIELD(instead, instead, instead); + WRITE_LIST_FIELD(actions, actions, actions); + WRITE_BOOL_FIELD(replace, replace, replace); +} + +static void +_outNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) out, const NotifyStmt *node) +{ + WRITE_STRING_FIELD(conditionname, conditionname, conditionname); + WRITE_STRING_FIELD(payload, payload, payload); +} + +static void +_outListenStmt(OUT_TYPE(ListenStmt, ListenStmt) out, const ListenStmt *node) +{ + WRITE_STRING_FIELD(conditionname, conditionname, conditionname); +} + +static void +_outUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) out, const UnlistenStmt *node) +{ + WRITE_STRING_FIELD(conditionname, conditionname, conditionname); +} + +static void +_outTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) out, const TransactionStmt *node) +{ + WRITE_ENUM_FIELD(TransactionStmtKind, kind, kind, kind); + WRITE_LIST_FIELD(options, options, options); + WRITE_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); + WRITE_STRING_FIELD(gid, gid, gid); + WRITE_BOOL_FIELD(chain, chain, chain); WRITE_INT_FIELD(location, location, location); } static void -_outRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) out, const RangeTblEntry *node) +_outCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) out, const CompositeTypeStmt *node) { - WRITE_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); - WRITE_UINT_FIELD(relid, relid, relid); - WRITE_CHAR_FIELD(relkind, relkind, relkind); - WRITE_INT_FIELD(rellockmode, rellockmode, rellockmode); - WRITE_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); - WRITE_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); - WRITE_BOOL_FIELD(security_barrier, security_barrier, security_barrier); - WRITE_ENUM_FIELD(JoinType, jointype, jointype, jointype); - WRITE_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols); - WRITE_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars); - WRITE_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols); - WRITE_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias); - WRITE_LIST_FIELD(functions, functions, functions); - WRITE_BOOL_FIELD(funcordinality, funcordinality, funcordinality); - WRITE_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc); - WRITE_LIST_FIELD(values_lists, values_lists, values_lists); - WRITE_STRING_FIELD(ctename, ctename, ctename); - WRITE_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup); - WRITE_BOOL_FIELD(self_reference, self_reference, self_reference); - WRITE_LIST_FIELD(coltypes, coltypes, coltypes); - WRITE_LIST_FIELD(coltypmods, coltypmods, coltypmods); - WRITE_LIST_FIELD(colcollations, colcollations, colcollations); - WRITE_STRING_FIELD(enrname, enrname, enrname); - WRITE_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - WRITE_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); - WRITE_BOOL_FIELD(lateral, lateral, lateral); - WRITE_BOOL_FIELD(inh, inh, inh); - WRITE_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); - WRITE_UINT_FIELD(required_perms, requiredPerms, requiredPerms); - WRITE_UINT_FIELD(check_as_user, checkAsUser, checkAsUser); - WRITE_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols); - WRITE_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols); - WRITE_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols); - WRITE_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols); - WRITE_LIST_FIELD(security_quals, securityQuals, securityQuals); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar); + WRITE_LIST_FIELD(coldeflist, coldeflist, coldeflist); } static void -_outRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) out, const RangeTblFunction *node) +_outCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) out, const CreateEnumStmt *node) { - WRITE_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr); - WRITE_INT_FIELD(funccolcount, funccolcount, funccolcount); - WRITE_LIST_FIELD(funccolnames, funccolnames, funccolnames); - WRITE_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes); - WRITE_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods); - WRITE_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations); - WRITE_BITMAPSET_FIELD(funcparams, funcparams, funcparams); + WRITE_LIST_FIELD(type_name, typeName, typeName); + WRITE_LIST_FIELD(vals, vals, vals); } static void -_outTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) out, const TableSampleClause *node) +_outCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) out, const CreateRangeStmt *node) { - WRITE_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler); - WRITE_LIST_FIELD(args, args, args); - WRITE_NODE_PTR_FIELD(repeatable, repeatable, repeatable); + WRITE_LIST_FIELD(type_name, typeName, typeName); + WRITE_LIST_FIELD(params, params, params); } static void -_outWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) out, const WithCheckOption *node) +_outAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) out, const AlterEnumStmt *node) { - WRITE_ENUM_FIELD(WCOKind, kind, kind, kind); - WRITE_STRING_FIELD(relname, relname, relname); - WRITE_STRING_FIELD(polname, polname, polname); - WRITE_NODE_PTR_FIELD(qual, qual, qual); - WRITE_BOOL_FIELD(cascaded, cascaded, cascaded); + WRITE_LIST_FIELD(type_name, typeName, typeName); + WRITE_STRING_FIELD(old_val, oldVal, oldVal); + WRITE_STRING_FIELD(new_val, newVal, newVal); + WRITE_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor); + WRITE_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter); + WRITE_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists); } static void -_outSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) out, const SortGroupClause *node) +_outViewStmt(OUT_TYPE(ViewStmt, ViewStmt) out, const ViewStmt *node) { - WRITE_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef); - WRITE_UINT_FIELD(eqop, eqop, eqop); - WRITE_UINT_FIELD(sortop, sortop, sortop); - WRITE_BOOL_FIELD(nulls_first, nulls_first, nulls_first); - WRITE_BOOL_FIELD(hashable, hashable, hashable); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view); + WRITE_LIST_FIELD(aliases, aliases, aliases); + WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_LIST_FIELD(options, options, options); + WRITE_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption); } static void -_outGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) out, const GroupingSet *node) +_outLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) out, const LoadStmt *node) { - WRITE_ENUM_FIELD(GroupingSetKind, kind, kind, kind); - WRITE_LIST_FIELD(content, content, content); - WRITE_INT_FIELD(location, location, location); + WRITE_STRING_FIELD(filename, filename, filename); } static void -_outWindowClause(OUT_TYPE(WindowClause, WindowClause) out, const WindowClause *node) +_outCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) out, const CreatedbStmt *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_STRING_FIELD(refname, refname, refname); - WRITE_LIST_FIELD(partition_clause, partitionClause, partitionClause); - WRITE_LIST_FIELD(order_clause, orderClause, orderClause); - WRITE_INT_FIELD(frame_options, frameOptions, frameOptions); - WRITE_NODE_PTR_FIELD(start_offset, startOffset, startOffset); - WRITE_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - WRITE_LIST_FIELD(run_condition, runCondition, runCondition); - WRITE_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); - WRITE_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); - WRITE_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); - WRITE_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc); - WRITE_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst); - WRITE_UINT_FIELD(winref, winref, winref); - WRITE_BOOL_FIELD(copied_order, copiedOrder, copiedOrder); + WRITE_STRING_FIELD(dbname, dbname, dbname); + WRITE_LIST_FIELD(options, options, options); +} + +static void +_outAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) out, const AlterDatabaseStmt *node) +{ + WRITE_STRING_FIELD(dbname, dbname, dbname); + WRITE_LIST_FIELD(options, options, options); +} + +static void +_outAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) out, const AlterDatabaseRefreshCollStmt *node) +{ + WRITE_STRING_FIELD(dbname, dbname, dbname); +} + +static void +_outAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) out, const AlterDatabaseSetStmt *node) +{ + WRITE_STRING_FIELD(dbname, dbname, dbname); + WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); +} + +static void +_outDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) out, const DropdbStmt *node) +{ + WRITE_STRING_FIELD(dbname, dbname, dbname); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_LIST_FIELD(options, options, options); } static void -_outObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) out, const ObjectWithArgs *node) +_outAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) out, const AlterSystemStmt *node) { - WRITE_LIST_FIELD(objname, objname, objname); - WRITE_LIST_FIELD(objargs, objargs, objargs); - WRITE_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs); - WRITE_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified); + WRITE_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); } static void -_outAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) out, const AccessPriv *node) +_outClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) out, const ClusterStmt *node) { - WRITE_STRING_FIELD(priv_name, priv_name, priv_name); - WRITE_LIST_FIELD(cols, cols, cols); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_STRING_FIELD(indexname, indexname, indexname); + WRITE_LIST_FIELD(params, params, params); } static void -_outCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) out, const CreateOpClassItem *node) +_outVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) out, const VacuumStmt *node) { - WRITE_INT_FIELD(itemtype, itemtype, itemtype); - WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name); - WRITE_INT_FIELD(number, number, number); - WRITE_LIST_FIELD(order_family, order_family, order_family); - WRITE_LIST_FIELD(class_args, class_args, class_args); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype); + WRITE_LIST_FIELD(options, options, options); + WRITE_LIST_FIELD(rels, rels, rels); + WRITE_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd); } static void -_outTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) out, const TableLikeClause *node) +_outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node) { WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_UINT_FIELD(options, options, options); - WRITE_UINT_FIELD(relation_oid, relationOid, relationOid); + WRITE_UINT_FIELD(oid, oid, oid); + WRITE_LIST_FIELD(va_cols, va_cols, va_cols); } static void -_outFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) out, const FunctionParameter *node) +_outExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) out, const ExplainStmt *node) { - WRITE_STRING_FIELD(name, name, name); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType); - WRITE_ENUM_FIELD(FunctionParameterMode, mode, mode, mode); - WRITE_NODE_PTR_FIELD(defexpr, defexpr, defexpr); + WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_LIST_FIELD(options, options, options); } static void -_outLockingClause(OUT_TYPE(LockingClause, LockingClause) out, const LockingClause *node) +_outCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) out, const CreateTableAsStmt *node) { - WRITE_LIST_FIELD(locked_rels, lockedRels, lockedRels); - WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength); - WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); + WRITE_NODE_PTR_FIELD(query, query, query); + WRITE_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into); + WRITE_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + WRITE_BOOL_FIELD(is_select_into, is_select_into, is_select_into); + WRITE_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); } static void -_outRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) out, const RowMarkClause *node) +_outRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) out, const RefreshMatViewStmt *node) { - WRITE_UINT_FIELD(rti, rti, rti); - WRITE_ENUM_FIELD(LockClauseStrength, strength, strength, strength); - WRITE_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); - WRITE_BOOL_FIELD(pushed_down, pushedDown, pushedDown); + WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); + WRITE_BOOL_FIELD(skip_data, skipData, skipData); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); } static void -_outXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) out, const XmlSerialize *node) +_outCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) out, const CheckPointStmt *node) { - WRITE_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); - WRITE_NODE_PTR_FIELD(expr, expr, expr); - WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - WRITE_INT_FIELD(location, location, location); } static void -_outWithClause(OUT_TYPE(WithClause, WithClause) out, const WithClause *node) +_outDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) out, const DiscardStmt *node) { - WRITE_LIST_FIELD(ctes, ctes, ctes); - WRITE_BOOL_FIELD(recursive, recursive, recursive); - WRITE_INT_FIELD(location, location, location); + WRITE_ENUM_FIELD(DiscardMode, target, target, target); } static void -_outInferClause(OUT_TYPE(InferClause, InferClause) out, const InferClause *node) +_outLockStmt(OUT_TYPE(LockStmt, LockStmt) out, const LockStmt *node) { - WRITE_LIST_FIELD(index_elems, indexElems, indexElems); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_STRING_FIELD(conname, conname, conname); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(relations, relations, relations); + WRITE_INT_FIELD(mode, mode, mode); + WRITE_BOOL_FIELD(nowait, nowait, nowait); } static void -_outOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) out, const OnConflictClause *node) +_outConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) out, const ConstraintsSetStmt *node) { - WRITE_ENUM_FIELD(OnConflictAction, action, action, action); - WRITE_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(constraints, constraints, constraints); + WRITE_BOOL_FIELD(deferred, deferred, deferred); } static void -_outCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) out, const CTESearchClause *node) +_outReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) out, const ReindexStmt *node) { - WRITE_LIST_FIELD(search_col_list, search_col_list, search_col_list); - WRITE_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first); - WRITE_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column); - WRITE_INT_FIELD(location, location, location); + WRITE_ENUM_FIELD(ReindexObjectType, kind, kind, kind); + WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + WRITE_STRING_FIELD(name, name, name); + WRITE_LIST_FIELD(params, params, params); } static void -_outCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) out, const CTECycleClause *node) +_outCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) out, const CreateConversionStmt *node) { - WRITE_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list); - WRITE_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column); - WRITE_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value); - WRITE_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default); - WRITE_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column); - WRITE_INT_FIELD(location, location, location); - WRITE_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type); - WRITE_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod); - WRITE_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation); - WRITE_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop); + WRITE_LIST_FIELD(conversion_name, conversion_name, conversion_name); + WRITE_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name); + WRITE_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name); + WRITE_LIST_FIELD(func_name, func_name, func_name); + WRITE_BOOL_FIELD(def, def, def); } static void -_outCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) out, const CommonTableExpr *node) +_outCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) out, const CreateCastStmt *node) { - WRITE_STRING_FIELD(ctename, ctename, ctename); - WRITE_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames); - WRITE_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized); - WRITE_NODE_PTR_FIELD(ctequery, ctequery, ctequery); - WRITE_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause); - WRITE_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause); - WRITE_INT_FIELD(location, location, location); - WRITE_BOOL_FIELD(cterecursive, cterecursive, cterecursive); - WRITE_INT_FIELD(cterefcount, cterefcount, cterefcount); - WRITE_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames); - WRITE_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes); - WRITE_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods); - WRITE_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype); + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); + WRITE_ENUM_FIELD(CoercionContext, context, context, context); + WRITE_BOOL_FIELD(inout, inout, inout); } static void -_outMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) out, const MergeWhenClause *node) +_outCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) out, const CreateTransformStmt *node) { - WRITE_BOOL_FIELD(matched, matched, matched); - WRITE_ENUM_FIELD(CmdType, command_type, commandType, commandType); - WRITE_ENUM_FIELD(OverridingKind, override, override, override); - WRITE_NODE_PTR_FIELD(condition, condition, condition); - WRITE_LIST_FIELD(target_list, targetList, targetList); - WRITE_LIST_FIELD(values, values, values); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name); + WRITE_STRING_FIELD(lang, lang, lang); + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql); + WRITE_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql); } static void -_outRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) out, const RoleSpec *node) +_outPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) out, const PrepareStmt *node) { - WRITE_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype); - WRITE_STRING_FIELD(rolename, rolename, rolename); - WRITE_INT_FIELD(location, location, location); + WRITE_STRING_FIELD(name, name, name); + WRITE_LIST_FIELD(argtypes, argtypes, argtypes); + WRITE_NODE_PTR_FIELD(query, query, query); } static void -_outTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) out, const TriggerTransition *node) +_outExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) out, const ExecuteStmt *node) { WRITE_STRING_FIELD(name, name, name); - WRITE_BOOL_FIELD(is_new, isNew, isNew); - WRITE_BOOL_FIELD(is_table, isTable, isTable); + WRITE_LIST_FIELD(params, params, params); } static void -_outPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) out, const PartitionElem *node) +_outDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) out, const DeallocateStmt *node) { WRITE_STRING_FIELD(name, name, name); - WRITE_NODE_PTR_FIELD(expr, expr, expr); - WRITE_LIST_FIELD(collation, collation, collation); - WRITE_LIST_FIELD(opclass, opclass, opclass); + WRITE_BOOL_FIELD(isall, isall, isall); WRITE_INT_FIELD(location, location, location); } static void -_outPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) out, const PartitionSpec *node) +_outDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) out, const DropOwnedStmt *node) { - WRITE_STRING_FIELD(strategy, strategy, strategy); - WRITE_LIST_FIELD(part_params, partParams, partParams); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(roles, roles, roles); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); } static void -_outPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) out, const PartitionBoundSpec *node) +_outReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) out, const ReassignOwnedStmt *node) { - WRITE_CHAR_FIELD(strategy, strategy, strategy); - WRITE_BOOL_FIELD(is_default, is_default, is_default); - WRITE_INT_FIELD(modulus, modulus, modulus); - WRITE_INT_FIELD(remainder, remainder, remainder); - WRITE_LIST_FIELD(listdatums, listdatums, listdatums); - WRITE_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums); - WRITE_LIST_FIELD(upperdatums, upperdatums, upperdatums); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(roles, roles, roles); + WRITE_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole); } static void -_outPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) out, const PartitionRangeDatum *node) +_outAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) out, const AlterTSDictionaryStmt *node) { - WRITE_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind); - WRITE_NODE_PTR_FIELD(value, value, value); - WRITE_INT_FIELD(location, location, location); + WRITE_LIST_FIELD(dictname, dictname, dictname); + WRITE_LIST_FIELD(options, options, options); } static void -_outPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) out, const PartitionCmd *node) +_outAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) out, const AlterTSConfigurationStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name); - WRITE_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound); - WRITE_BOOL_FIELD(concurrent, concurrent, concurrent); + WRITE_ENUM_FIELD(AlterTSConfigType, kind, kind, kind); + WRITE_LIST_FIELD(cfgname, cfgname, cfgname); + WRITE_LIST_FIELD(tokentype, tokentype, tokentype); + WRITE_LIST_FIELD(dicts, dicts, dicts); + WRITE_BOOL_FIELD(override, override, override); + WRITE_BOOL_FIELD(replace, replace, replace); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); } static void -_outVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) out, const VacuumRelation *node) +_outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out, const PublicationTable *node) { WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_UINT_FIELD(oid, oid, oid); - WRITE_LIST_FIELD(va_cols, va_cols, va_cols); + WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + WRITE_LIST_FIELD(columns, columns, columns); } static void @@ -2540,25 +2837,48 @@ _outPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) out, con } static void -_outPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) out, const PublicationTable *node) +_outCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) out, const CreatePublicationStmt *node) { - WRITE_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - WRITE_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - WRITE_LIST_FIELD(columns, columns, columns); + WRITE_STRING_FIELD(pubname, pubname, pubname); + WRITE_LIST_FIELD(options, options, options); + WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects); + WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); } static void -_outInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) out, const InlineCodeBlock *node) +_outAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) out, const AlterPublicationStmt *node) { - WRITE_STRING_FIELD(source_text, source_text, source_text); - WRITE_UINT_FIELD(lang_oid, langOid, langOid); - WRITE_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted); - WRITE_BOOL_FIELD(atomic, atomic, atomic); + WRITE_STRING_FIELD(pubname, pubname, pubname); + WRITE_LIST_FIELD(options, options, options); + WRITE_LIST_FIELD(pubobjects, pubobjects, pubobjects); + WRITE_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); + WRITE_ENUM_FIELD(AlterPublicationAction, action, action, action); } static void -_outCallContext(OUT_TYPE(CallContext, CallContext) out, const CallContext *node) +_outCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) out, const CreateSubscriptionStmt *node) { - WRITE_BOOL_FIELD(atomic, atomic, atomic); + WRITE_STRING_FIELD(subname, subname, subname); + WRITE_STRING_FIELD(conninfo, conninfo, conninfo); + WRITE_LIST_FIELD(publication, publication, publication); + WRITE_LIST_FIELD(options, options, options); +} + +static void +_outAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) out, const AlterSubscriptionStmt *node) +{ + WRITE_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind); + WRITE_STRING_FIELD(subname, subname, subname); + WRITE_STRING_FIELD(conninfo, conninfo, conninfo); + WRITE_LIST_FIELD(publication, publication, publication); + WRITE_LIST_FIELD(options, options, options); +} + +static void +_outDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) out, const DropSubscriptionStmt *node) +{ + WRITE_STRING_FIELD(subname, subname, subname); + WRITE_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + WRITE_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); } diff --git a/parser/include/pg_query_readfuncs_conds.c b/parser/include/pg_query_readfuncs_conds.c index a026b68e..18c10836 100644 --- a/parser/include/pg_query_readfuncs_conds.c +++ b/parser/include/pg_query_readfuncs_conds.c @@ -3,11 +3,14 @@ READ_COND(Alias, Alias, alias, ALIAS, Alias, alias); READ_COND(RangeVar, RangeVar, range_var, RANGE_VAR, RangeVar, range_var); READ_COND(TableFunc, TableFunc, table_func, TABLE_FUNC, TableFunc, table_func); + READ_COND(IntoClause, IntoClause, into_clause, INTO_CLAUSE, IntoClause, into_clause); READ_COND(Var, Var, var, VAR, Var, var); READ_COND(Param, Param, param, PARAM, Param, param); READ_COND(Aggref, Aggref, aggref, AGGREF, Aggref, aggref); READ_COND(GroupingFunc, GroupingFunc, grouping_func, GROUPING_FUNC, GroupingFunc, grouping_func); READ_COND(WindowFunc, WindowFunc, window_func, WINDOW_FUNC, WindowFunc, window_func); + READ_COND(WindowFuncRunCondition, WindowFuncRunCondition, window_func_run_condition, WINDOW_FUNC_RUN_CONDITION, WindowFuncRunCondition, window_func_run_condition); + READ_COND(MergeSupportFunc, MergeSupportFunc, merge_support_func, MERGE_SUPPORT_FUNC, MergeSupportFunc, merge_support_func); READ_COND(SubscriptingRef, SubscriptingRef, subscripting_ref, SUBSCRIPTING_REF, SubscriptingRef, subscripting_ref); READ_COND(FuncExpr, FuncExpr, func_expr, FUNC_EXPR, FuncExpr, func_expr); READ_COND(NamedArgExpr, NamedArgExpr, named_arg_expr, NAMED_ARG_EXPR, NamedArgExpr, named_arg_expr); @@ -36,8 +39,19 @@ READ_COND(MinMaxExpr, MinMaxExpr, min_max_expr, MIN_MAX_EXPR, MinMaxExpr, min_max_expr); READ_COND(SQLValueFunction, SQLValueFunction, sqlvalue_function, SQLVALUE_FUNCTION, SQLValueFunction, sqlvalue_function); READ_COND(XmlExpr, XmlExpr, xml_expr, XML_EXPR, XmlExpr, xml_expr); + READ_COND(JsonFormat, JsonFormat, json_format, JSON_FORMAT, JsonFormat, json_format); + READ_COND(JsonReturning, JsonReturning, json_returning, JSON_RETURNING, JsonReturning, json_returning); + READ_COND(JsonValueExpr, JsonValueExpr, json_value_expr, JSON_VALUE_EXPR, JsonValueExpr, json_value_expr); + READ_COND(JsonConstructorExpr, JsonConstructorExpr, json_constructor_expr, JSON_CONSTRUCTOR_EXPR, JsonConstructorExpr, json_constructor_expr); + READ_COND(JsonIsPredicate, JsonIsPredicate, json_is_predicate, JSON_IS_PREDICATE, JsonIsPredicate, json_is_predicate); + READ_COND(JsonBehavior, JsonBehavior, json_behavior, JSON_BEHAVIOR, JsonBehavior, json_behavior); + READ_COND(JsonExpr, JsonExpr, json_expr, JSON_EXPR, JsonExpr, json_expr); + READ_COND(JsonTablePath, JsonTablePath, json_table_path, JSON_TABLE_PATH, JsonTablePath, json_table_path); + READ_COND(JsonTablePathScan, JsonTablePathScan, json_table_path_scan, JSON_TABLE_PATH_SCAN, JsonTablePathScan, json_table_path_scan); + READ_COND(JsonTableSiblingJoin, JsonTableSiblingJoin, json_table_sibling_join, JSON_TABLE_SIBLING_JOIN, JsonTableSiblingJoin, json_table_sibling_join); READ_COND(NullTest, NullTest, null_test, NULL_TEST, NullTest, null_test); READ_COND(BooleanTest, BooleanTest, boolean_test, BOOLEAN_TEST, BooleanTest, boolean_test); + READ_COND(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); READ_COND(CoerceToDomain, CoerceToDomain, coerce_to_domain, COERCE_TO_DOMAIN, CoerceToDomain, coerce_to_domain); READ_COND(CoerceToDomainValue, CoerceToDomainValue, coerce_to_domain_value, COERCE_TO_DOMAIN_VALUE, CoerceToDomainValue, coerce_to_domain_value); READ_COND(SetToDefault, SetToDefault, set_to_default, SET_TO_DEFAULT, SetToDefault, set_to_default); @@ -49,183 +63,199 @@ READ_COND(JoinExpr, JoinExpr, join_expr, JOIN_EXPR, JoinExpr, join_expr); READ_COND(FromExpr, FromExpr, from_expr, FROM_EXPR, FromExpr, from_expr); READ_COND(OnConflictExpr, OnConflictExpr, on_conflict_expr, ON_CONFLICT_EXPR, OnConflictExpr, on_conflict_expr); - READ_COND(IntoClause, IntoClause, into_clause, INTO_CLAUSE, IntoClause, into_clause); - READ_COND(MergeAction, MergeAction, merge_action, MERGE_ACTION, MergeAction, merge_action); - READ_COND(RawStmt, RawStmt, raw_stmt, RAW_STMT, RawStmt, raw_stmt); READ_COND(Query, Query, query, QUERY, Query, query); + READ_COND(TypeName, TypeName, type_name, TYPE_NAME, TypeName, type_name); + READ_COND(ColumnRef, ColumnRef, column_ref, COLUMN_REF, ColumnRef, column_ref); + READ_COND(ParamRef, ParamRef, param_ref, PARAM_REF, ParamRef, param_ref); + READ_COND(A_Expr, AExpr, a__expr, A_EXPR, A_Expr, a_expr); + READ_COND(TypeCast, TypeCast, type_cast, TYPE_CAST, TypeCast, type_cast); + READ_COND(CollateClause, CollateClause, collate_clause, COLLATE_CLAUSE, CollateClause, collate_clause); + READ_COND(RoleSpec, RoleSpec, role_spec, ROLE_SPEC, RoleSpec, role_spec); + READ_COND(FuncCall, FuncCall, func_call, FUNC_CALL, FuncCall, func_call); + READ_COND(A_Star, AStar, a__star, A_STAR, A_Star, a_star); + READ_COND(A_Indices, AIndices, a__indices, A_INDICES, A_Indices, a_indices); + READ_COND(A_Indirection, AIndirection, a__indirection, A_INDIRECTION, A_Indirection, a_indirection); + READ_COND(A_ArrayExpr, AArrayExpr, a__array_expr, A_ARRAY_EXPR, A_ArrayExpr, a_array_expr); + READ_COND(ResTarget, ResTarget, res_target, RES_TARGET, ResTarget, res_target); + READ_COND(MultiAssignRef, MultiAssignRef, multi_assign_ref, MULTI_ASSIGN_REF, MultiAssignRef, multi_assign_ref); + READ_COND(SortBy, SortBy, sort_by, SORT_BY, SortBy, sort_by); + READ_COND(WindowDef, WindowDef, window_def, WINDOW_DEF, WindowDef, window_def); + READ_COND(RangeSubselect, RangeSubselect, range_subselect, RANGE_SUBSELECT, RangeSubselect, range_subselect); + READ_COND(RangeFunction, RangeFunction, range_function, RANGE_FUNCTION, RangeFunction, range_function); + READ_COND(RangeTableFunc, RangeTableFunc, range_table_func, RANGE_TABLE_FUNC, RangeTableFunc, range_table_func); + READ_COND(RangeTableFuncCol, RangeTableFuncCol, range_table_func_col, RANGE_TABLE_FUNC_COL, RangeTableFuncCol, range_table_func_col); + READ_COND(RangeTableSample, RangeTableSample, range_table_sample, RANGE_TABLE_SAMPLE, RangeTableSample, range_table_sample); + READ_COND(ColumnDef, ColumnDef, column_def, COLUMN_DEF, ColumnDef, column_def); + READ_COND(TableLikeClause, TableLikeClause, table_like_clause, TABLE_LIKE_CLAUSE, TableLikeClause, table_like_clause); + READ_COND(IndexElem, IndexElem, index_elem, INDEX_ELEM, IndexElem, index_elem); + READ_COND(DefElem, DefElem, def_elem, DEF_ELEM, DefElem, def_elem); + READ_COND(LockingClause, LockingClause, locking_clause, LOCKING_CLAUSE, LockingClause, locking_clause); + READ_COND(XmlSerialize, XmlSerialize, xml_serialize, XML_SERIALIZE, XmlSerialize, xml_serialize); + READ_COND(PartitionElem, PartitionElem, partition_elem, PARTITION_ELEM, PartitionElem, partition_elem); + READ_COND(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec); + READ_COND(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec); + READ_COND(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); + READ_COND(SinglePartitionSpec, SinglePartitionSpec, single_partition_spec, SINGLE_PARTITION_SPEC, SinglePartitionSpec, single_partition_spec); + READ_COND(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); + READ_COND(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry); + READ_COND(RTEPermissionInfo, RTEPermissionInfo, rtepermission_info, RTEPERMISSION_INFO, RTEPermissionInfo, rtepermission_info); + READ_COND(RangeTblFunction, RangeTblFunction, range_tbl_function, RANGE_TBL_FUNCTION, RangeTblFunction, range_tbl_function); + READ_COND(TableSampleClause, TableSampleClause, table_sample_clause, TABLE_SAMPLE_CLAUSE, TableSampleClause, table_sample_clause); + READ_COND(WithCheckOption, WithCheckOption, with_check_option, WITH_CHECK_OPTION, WithCheckOption, with_check_option); + READ_COND(SortGroupClause, SortGroupClause, sort_group_clause, SORT_GROUP_CLAUSE, SortGroupClause, sort_group_clause); + READ_COND(GroupingSet, GroupingSet, grouping_set, GROUPING_SET, GroupingSet, grouping_set); + READ_COND(WindowClause, WindowClause, window_clause, WINDOW_CLAUSE, WindowClause, window_clause); + READ_COND(RowMarkClause, RowMarkClause, row_mark_clause, ROW_MARK_CLAUSE, RowMarkClause, row_mark_clause); + READ_COND(WithClause, WithClause, with_clause, WITH_CLAUSE, WithClause, with_clause); + READ_COND(InferClause, InferClause, infer_clause, INFER_CLAUSE, InferClause, infer_clause); + READ_COND(OnConflictClause, OnConflictClause, on_conflict_clause, ON_CONFLICT_CLAUSE, OnConflictClause, on_conflict_clause); + READ_COND(CTESearchClause, CTESearchClause, ctesearch_clause, CTESEARCH_CLAUSE, CTESearchClause, ctesearch_clause); + READ_COND(CTECycleClause, CTECycleClause, ctecycle_clause, CTECYCLE_CLAUSE, CTECycleClause, ctecycle_clause); + READ_COND(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr); + READ_COND(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); + READ_COND(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); + READ_COND(JsonOutput, JsonOutput, json_output, JSON_OUTPUT, JsonOutput, json_output); + READ_COND(JsonArgument, JsonArgument, json_argument, JSON_ARGUMENT, JsonArgument, json_argument); + READ_COND(JsonFuncExpr, JsonFuncExpr, json_func_expr, JSON_FUNC_EXPR, JsonFuncExpr, json_func_expr); + READ_COND(JsonTablePathSpec, JsonTablePathSpec, json_table_path_spec, JSON_TABLE_PATH_SPEC, JsonTablePathSpec, json_table_path_spec); + READ_COND(JsonTable, JsonTable, json_table, JSON_TABLE, JsonTable, json_table); + READ_COND(JsonTableColumn, JsonTableColumn, json_table_column, JSON_TABLE_COLUMN, JsonTableColumn, json_table_column); + READ_COND(JsonKeyValue, JsonKeyValue, json_key_value, JSON_KEY_VALUE, JsonKeyValue, json_key_value); + READ_COND(JsonParseExpr, JsonParseExpr, json_parse_expr, JSON_PARSE_EXPR, JsonParseExpr, json_parse_expr); + READ_COND(JsonScalarExpr, JsonScalarExpr, json_scalar_expr, JSON_SCALAR_EXPR, JsonScalarExpr, json_scalar_expr); + READ_COND(JsonSerializeExpr, JsonSerializeExpr, json_serialize_expr, JSON_SERIALIZE_EXPR, JsonSerializeExpr, json_serialize_expr); + READ_COND(JsonObjectConstructor, JsonObjectConstructor, json_object_constructor, JSON_OBJECT_CONSTRUCTOR, JsonObjectConstructor, json_object_constructor); + READ_COND(JsonArrayConstructor, JsonArrayConstructor, json_array_constructor, JSON_ARRAY_CONSTRUCTOR, JsonArrayConstructor, json_array_constructor); + READ_COND(JsonArrayQueryConstructor, JsonArrayQueryConstructor, json_array_query_constructor, JSON_ARRAY_QUERY_CONSTRUCTOR, JsonArrayQueryConstructor, json_array_query_constructor); + READ_COND(JsonAggConstructor, JsonAggConstructor, json_agg_constructor, JSON_AGG_CONSTRUCTOR, JsonAggConstructor, json_agg_constructor); + READ_COND(JsonObjectAgg, JsonObjectAgg, json_object_agg, JSON_OBJECT_AGG, JsonObjectAgg, json_object_agg); + READ_COND(JsonArrayAgg, JsonArrayAgg, json_array_agg, JSON_ARRAY_AGG, JsonArrayAgg, json_array_agg); + READ_COND(RawStmt, RawStmt, raw_stmt, RAW_STMT, RawStmt, raw_stmt); READ_COND(InsertStmt, InsertStmt, insert_stmt, INSERT_STMT, InsertStmt, insert_stmt); READ_COND(DeleteStmt, DeleteStmt, delete_stmt, DELETE_STMT, DeleteStmt, delete_stmt); READ_COND(UpdateStmt, UpdateStmt, update_stmt, UPDATE_STMT, UpdateStmt, update_stmt); READ_COND(MergeStmt, MergeStmt, merge_stmt, MERGE_STMT, MergeStmt, merge_stmt); READ_COND(SelectStmt, SelectStmt, select_stmt, SELECT_STMT, SelectStmt, select_stmt); + READ_COND(SetOperationStmt, SetOperationStmt, set_operation_stmt, SET_OPERATION_STMT, SetOperationStmt, set_operation_stmt); READ_COND(ReturnStmt, ReturnStmt, return_stmt, RETURN_STMT, ReturnStmt, return_stmt); READ_COND(PLAssignStmt, PLAssignStmt, plassign_stmt, PLASSIGN_STMT, PLAssignStmt, plassign_stmt); + READ_COND(CreateSchemaStmt, CreateSchemaStmt, create_schema_stmt, CREATE_SCHEMA_STMT, CreateSchemaStmt, create_schema_stmt); READ_COND(AlterTableStmt, AlterTableStmt, alter_table_stmt, ALTER_TABLE_STMT, AlterTableStmt, alter_table_stmt); + READ_COND(ReplicaIdentityStmt, ReplicaIdentityStmt, replica_identity_stmt, REPLICA_IDENTITY_STMT, ReplicaIdentityStmt, replica_identity_stmt); READ_COND(AlterTableCmd, AlterTableCmd, alter_table_cmd, ALTER_TABLE_CMD, AlterTableCmd, alter_table_cmd); + READ_COND(AlterCollationStmt, AlterCollationStmt, alter_collation_stmt, ALTER_COLLATION_STMT, AlterCollationStmt, alter_collation_stmt); READ_COND(AlterDomainStmt, AlterDomainStmt, alter_domain_stmt, ALTER_DOMAIN_STMT, AlterDomainStmt, alter_domain_stmt); - READ_COND(SetOperationStmt, SetOperationStmt, set_operation_stmt, SET_OPERATION_STMT, SetOperationStmt, set_operation_stmt); READ_COND(GrantStmt, GrantStmt, grant_stmt, GRANT_STMT, GrantStmt, grant_stmt); + READ_COND(ObjectWithArgs, ObjectWithArgs, object_with_args, OBJECT_WITH_ARGS, ObjectWithArgs, object_with_args); + READ_COND(AccessPriv, AccessPriv, access_priv, ACCESS_PRIV, AccessPriv, access_priv); READ_COND(GrantRoleStmt, GrantRoleStmt, grant_role_stmt, GRANT_ROLE_STMT, GrantRoleStmt, grant_role_stmt); READ_COND(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt, ALTER_DEFAULT_PRIVILEGES_STMT, AlterDefaultPrivilegesStmt, alter_default_privileges_stmt); - READ_COND(ClosePortalStmt, ClosePortalStmt, close_portal_stmt, CLOSE_PORTAL_STMT, ClosePortalStmt, close_portal_stmt); - READ_COND(ClusterStmt, ClusterStmt, cluster_stmt, CLUSTER_STMT, ClusterStmt, cluster_stmt); READ_COND(CopyStmt, CopyStmt, copy_stmt, COPY_STMT, CopyStmt, copy_stmt); + READ_COND(VariableSetStmt, VariableSetStmt, variable_set_stmt, VARIABLE_SET_STMT, VariableSetStmt, variable_set_stmt); + READ_COND(VariableShowStmt, VariableShowStmt, variable_show_stmt, VARIABLE_SHOW_STMT, VariableShowStmt, variable_show_stmt); READ_COND(CreateStmt, CreateStmt, create_stmt, CREATE_STMT, CreateStmt, create_stmt); + READ_COND(Constraint, Constraint, constraint, CONSTRAINT, Constraint, constraint); + READ_COND(CreateTableSpaceStmt, CreateTableSpaceStmt, create_table_space_stmt, CREATE_TABLE_SPACE_STMT, CreateTableSpaceStmt, create_table_space_stmt); + READ_COND(DropTableSpaceStmt, DropTableSpaceStmt, drop_table_space_stmt, DROP_TABLE_SPACE_STMT, DropTableSpaceStmt, drop_table_space_stmt); + READ_COND(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt, ALTER_TABLE_SPACE_OPTIONS_STMT, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt); + READ_COND(AlterTableMoveAllStmt, AlterTableMoveAllStmt, alter_table_move_all_stmt, ALTER_TABLE_MOVE_ALL_STMT, AlterTableMoveAllStmt, alter_table_move_all_stmt); + READ_COND(CreateExtensionStmt, CreateExtensionStmt, create_extension_stmt, CREATE_EXTENSION_STMT, CreateExtensionStmt, create_extension_stmt); + READ_COND(AlterExtensionStmt, AlterExtensionStmt, alter_extension_stmt, ALTER_EXTENSION_STMT, AlterExtensionStmt, alter_extension_stmt); + READ_COND(AlterExtensionContentsStmt, AlterExtensionContentsStmt, alter_extension_contents_stmt, ALTER_EXTENSION_CONTENTS_STMT, AlterExtensionContentsStmt, alter_extension_contents_stmt); + READ_COND(CreateFdwStmt, CreateFdwStmt, create_fdw_stmt, CREATE_FDW_STMT, CreateFdwStmt, create_fdw_stmt); + READ_COND(AlterFdwStmt, AlterFdwStmt, alter_fdw_stmt, ALTER_FDW_STMT, AlterFdwStmt, alter_fdw_stmt); + READ_COND(CreateForeignServerStmt, CreateForeignServerStmt, create_foreign_server_stmt, CREATE_FOREIGN_SERVER_STMT, CreateForeignServerStmt, create_foreign_server_stmt); + READ_COND(AlterForeignServerStmt, AlterForeignServerStmt, alter_foreign_server_stmt, ALTER_FOREIGN_SERVER_STMT, AlterForeignServerStmt, alter_foreign_server_stmt); + READ_COND(CreateForeignTableStmt, CreateForeignTableStmt, create_foreign_table_stmt, CREATE_FOREIGN_TABLE_STMT, CreateForeignTableStmt, create_foreign_table_stmt); + READ_COND(CreateUserMappingStmt, CreateUserMappingStmt, create_user_mapping_stmt, CREATE_USER_MAPPING_STMT, CreateUserMappingStmt, create_user_mapping_stmt); + READ_COND(AlterUserMappingStmt, AlterUserMappingStmt, alter_user_mapping_stmt, ALTER_USER_MAPPING_STMT, AlterUserMappingStmt, alter_user_mapping_stmt); + READ_COND(DropUserMappingStmt, DropUserMappingStmt, drop_user_mapping_stmt, DROP_USER_MAPPING_STMT, DropUserMappingStmt, drop_user_mapping_stmt); + READ_COND(ImportForeignSchemaStmt, ImportForeignSchemaStmt, import_foreign_schema_stmt, IMPORT_FOREIGN_SCHEMA_STMT, ImportForeignSchemaStmt, import_foreign_schema_stmt); + READ_COND(CreatePolicyStmt, CreatePolicyStmt, create_policy_stmt, CREATE_POLICY_STMT, CreatePolicyStmt, create_policy_stmt); + READ_COND(AlterPolicyStmt, AlterPolicyStmt, alter_policy_stmt, ALTER_POLICY_STMT, AlterPolicyStmt, alter_policy_stmt); + READ_COND(CreateAmStmt, CreateAmStmt, create_am_stmt, CREATE_AM_STMT, CreateAmStmt, create_am_stmt); + READ_COND(CreateTrigStmt, CreateTrigStmt, create_trig_stmt, CREATE_TRIG_STMT, CreateTrigStmt, create_trig_stmt); + READ_COND(CreateEventTrigStmt, CreateEventTrigStmt, create_event_trig_stmt, CREATE_EVENT_TRIG_STMT, CreateEventTrigStmt, create_event_trig_stmt); + READ_COND(AlterEventTrigStmt, AlterEventTrigStmt, alter_event_trig_stmt, ALTER_EVENT_TRIG_STMT, AlterEventTrigStmt, alter_event_trig_stmt); + READ_COND(CreatePLangStmt, CreatePLangStmt, create_plang_stmt, CREATE_PLANG_STMT, CreatePLangStmt, create_plang_stmt); + READ_COND(CreateRoleStmt, CreateRoleStmt, create_role_stmt, CREATE_ROLE_STMT, CreateRoleStmt, create_role_stmt); + READ_COND(AlterRoleStmt, AlterRoleStmt, alter_role_stmt, ALTER_ROLE_STMT, AlterRoleStmt, alter_role_stmt); + READ_COND(AlterRoleSetStmt, AlterRoleSetStmt, alter_role_set_stmt, ALTER_ROLE_SET_STMT, AlterRoleSetStmt, alter_role_set_stmt); + READ_COND(DropRoleStmt, DropRoleStmt, drop_role_stmt, DROP_ROLE_STMT, DropRoleStmt, drop_role_stmt); + READ_COND(CreateSeqStmt, CreateSeqStmt, create_seq_stmt, CREATE_SEQ_STMT, CreateSeqStmt, create_seq_stmt); + READ_COND(AlterSeqStmt, AlterSeqStmt, alter_seq_stmt, ALTER_SEQ_STMT, AlterSeqStmt, alter_seq_stmt); READ_COND(DefineStmt, DefineStmt, define_stmt, DEFINE_STMT, DefineStmt, define_stmt); + READ_COND(CreateDomainStmt, CreateDomainStmt, create_domain_stmt, CREATE_DOMAIN_STMT, CreateDomainStmt, create_domain_stmt); + READ_COND(CreateOpClassStmt, CreateOpClassStmt, create_op_class_stmt, CREATE_OP_CLASS_STMT, CreateOpClassStmt, create_op_class_stmt); + READ_COND(CreateOpClassItem, CreateOpClassItem, create_op_class_item, CREATE_OP_CLASS_ITEM, CreateOpClassItem, create_op_class_item); + READ_COND(CreateOpFamilyStmt, CreateOpFamilyStmt, create_op_family_stmt, CREATE_OP_FAMILY_STMT, CreateOpFamilyStmt, create_op_family_stmt); + READ_COND(AlterOpFamilyStmt, AlterOpFamilyStmt, alter_op_family_stmt, ALTER_OP_FAMILY_STMT, AlterOpFamilyStmt, alter_op_family_stmt); READ_COND(DropStmt, DropStmt, drop_stmt, DROP_STMT, DropStmt, drop_stmt); READ_COND(TruncateStmt, TruncateStmt, truncate_stmt, TRUNCATE_STMT, TruncateStmt, truncate_stmt); READ_COND(CommentStmt, CommentStmt, comment_stmt, COMMENT_STMT, CommentStmt, comment_stmt); + READ_COND(SecLabelStmt, SecLabelStmt, sec_label_stmt, SEC_LABEL_STMT, SecLabelStmt, sec_label_stmt); + READ_COND(DeclareCursorStmt, DeclareCursorStmt, declare_cursor_stmt, DECLARE_CURSOR_STMT, DeclareCursorStmt, declare_cursor_stmt); + READ_COND(ClosePortalStmt, ClosePortalStmt, close_portal_stmt, CLOSE_PORTAL_STMT, ClosePortalStmt, close_portal_stmt); READ_COND(FetchStmt, FetchStmt, fetch_stmt, FETCH_STMT, FetchStmt, fetch_stmt); READ_COND(IndexStmt, IndexStmt, index_stmt, INDEX_STMT, IndexStmt, index_stmt); + READ_COND(CreateStatsStmt, CreateStatsStmt, create_stats_stmt, CREATE_STATS_STMT, CreateStatsStmt, create_stats_stmt); + READ_COND(StatsElem, StatsElem, stats_elem, STATS_ELEM, StatsElem, stats_elem); + READ_COND(AlterStatsStmt, AlterStatsStmt, alter_stats_stmt, ALTER_STATS_STMT, AlterStatsStmt, alter_stats_stmt); READ_COND(CreateFunctionStmt, CreateFunctionStmt, create_function_stmt, CREATE_FUNCTION_STMT, CreateFunctionStmt, create_function_stmt); + READ_COND(FunctionParameter, FunctionParameter, function_parameter, FUNCTION_PARAMETER, FunctionParameter, function_parameter); READ_COND(AlterFunctionStmt, AlterFunctionStmt, alter_function_stmt, ALTER_FUNCTION_STMT, AlterFunctionStmt, alter_function_stmt); READ_COND(DoStmt, DoStmt, do_stmt, DO_STMT, DoStmt, do_stmt); + READ_COND(InlineCodeBlock, InlineCodeBlock, inline_code_block, INLINE_CODE_BLOCK, InlineCodeBlock, inline_code_block); + READ_COND(CallStmt, CallStmt, call_stmt, CALL_STMT, CallStmt, call_stmt); + READ_COND(CallContext, CallContext, call_context, CALL_CONTEXT, CallContext, call_context); READ_COND(RenameStmt, RenameStmt, rename_stmt, RENAME_STMT, RenameStmt, rename_stmt); + READ_COND(AlterObjectDependsStmt, AlterObjectDependsStmt, alter_object_depends_stmt, ALTER_OBJECT_DEPENDS_STMT, AlterObjectDependsStmt, alter_object_depends_stmt); + READ_COND(AlterObjectSchemaStmt, AlterObjectSchemaStmt, alter_object_schema_stmt, ALTER_OBJECT_SCHEMA_STMT, AlterObjectSchemaStmt, alter_object_schema_stmt); + READ_COND(AlterOwnerStmt, AlterOwnerStmt, alter_owner_stmt, ALTER_OWNER_STMT, AlterOwnerStmt, alter_owner_stmt); + READ_COND(AlterOperatorStmt, AlterOperatorStmt, alter_operator_stmt, ALTER_OPERATOR_STMT, AlterOperatorStmt, alter_operator_stmt); + READ_COND(AlterTypeStmt, AlterTypeStmt, alter_type_stmt, ALTER_TYPE_STMT, AlterTypeStmt, alter_type_stmt); READ_COND(RuleStmt, RuleStmt, rule_stmt, RULE_STMT, RuleStmt, rule_stmt); READ_COND(NotifyStmt, NotifyStmt, notify_stmt, NOTIFY_STMT, NotifyStmt, notify_stmt); READ_COND(ListenStmt, ListenStmt, listen_stmt, LISTEN_STMT, ListenStmt, listen_stmt); READ_COND(UnlistenStmt, UnlistenStmt, unlisten_stmt, UNLISTEN_STMT, UnlistenStmt, unlisten_stmt); READ_COND(TransactionStmt, TransactionStmt, transaction_stmt, TRANSACTION_STMT, TransactionStmt, transaction_stmt); + READ_COND(CompositeTypeStmt, CompositeTypeStmt, composite_type_stmt, COMPOSITE_TYPE_STMT, CompositeTypeStmt, composite_type_stmt); + READ_COND(CreateEnumStmt, CreateEnumStmt, create_enum_stmt, CREATE_ENUM_STMT, CreateEnumStmt, create_enum_stmt); + READ_COND(CreateRangeStmt, CreateRangeStmt, create_range_stmt, CREATE_RANGE_STMT, CreateRangeStmt, create_range_stmt); + READ_COND(AlterEnumStmt, AlterEnumStmt, alter_enum_stmt, ALTER_ENUM_STMT, AlterEnumStmt, alter_enum_stmt); READ_COND(ViewStmt, ViewStmt, view_stmt, VIEW_STMT, ViewStmt, view_stmt); READ_COND(LoadStmt, LoadStmt, load_stmt, LOAD_STMT, LoadStmt, load_stmt); - READ_COND(CreateDomainStmt, CreateDomainStmt, create_domain_stmt, CREATE_DOMAIN_STMT, CreateDomainStmt, create_domain_stmt); READ_COND(CreatedbStmt, CreatedbStmt, createdb_stmt, CREATEDB_STMT, CreatedbStmt, createdb_stmt); + READ_COND(AlterDatabaseStmt, AlterDatabaseStmt, alter_database_stmt, ALTER_DATABASE_STMT, AlterDatabaseStmt, alter_database_stmt); + READ_COND(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt, ALTER_DATABASE_REFRESH_COLL_STMT, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt); + READ_COND(AlterDatabaseSetStmt, AlterDatabaseSetStmt, alter_database_set_stmt, ALTER_DATABASE_SET_STMT, AlterDatabaseSetStmt, alter_database_set_stmt); READ_COND(DropdbStmt, DropdbStmt, dropdb_stmt, DROPDB_STMT, DropdbStmt, dropdb_stmt); + READ_COND(AlterSystemStmt, AlterSystemStmt, alter_system_stmt, ALTER_SYSTEM_STMT, AlterSystemStmt, alter_system_stmt); + READ_COND(ClusterStmt, ClusterStmt, cluster_stmt, CLUSTER_STMT, ClusterStmt, cluster_stmt); READ_COND(VacuumStmt, VacuumStmt, vacuum_stmt, VACUUM_STMT, VacuumStmt, vacuum_stmt); + READ_COND(VacuumRelation, VacuumRelation, vacuum_relation, VACUUM_RELATION, VacuumRelation, vacuum_relation); READ_COND(ExplainStmt, ExplainStmt, explain_stmt, EXPLAIN_STMT, ExplainStmt, explain_stmt); READ_COND(CreateTableAsStmt, CreateTableAsStmt, create_table_as_stmt, CREATE_TABLE_AS_STMT, CreateTableAsStmt, create_table_as_stmt); - READ_COND(CreateSeqStmt, CreateSeqStmt, create_seq_stmt, CREATE_SEQ_STMT, CreateSeqStmt, create_seq_stmt); - READ_COND(AlterSeqStmt, AlterSeqStmt, alter_seq_stmt, ALTER_SEQ_STMT, AlterSeqStmt, alter_seq_stmt); - READ_COND(VariableSetStmt, VariableSetStmt, variable_set_stmt, VARIABLE_SET_STMT, VariableSetStmt, variable_set_stmt); - READ_COND(VariableShowStmt, VariableShowStmt, variable_show_stmt, VARIABLE_SHOW_STMT, VariableShowStmt, variable_show_stmt); + READ_COND(RefreshMatViewStmt, RefreshMatViewStmt, refresh_mat_view_stmt, REFRESH_MAT_VIEW_STMT, RefreshMatViewStmt, refresh_mat_view_stmt); + READ_COND(CheckPointStmt, CheckPointStmt, check_point_stmt, CHECK_POINT_STMT, CheckPointStmt, check_point_stmt); READ_COND(DiscardStmt, DiscardStmt, discard_stmt, DISCARD_STMT, DiscardStmt, discard_stmt); - READ_COND(CreateTrigStmt, CreateTrigStmt, create_trig_stmt, CREATE_TRIG_STMT, CreateTrigStmt, create_trig_stmt); - READ_COND(CreatePLangStmt, CreatePLangStmt, create_plang_stmt, CREATE_PLANG_STMT, CreatePLangStmt, create_plang_stmt); - READ_COND(CreateRoleStmt, CreateRoleStmt, create_role_stmt, CREATE_ROLE_STMT, CreateRoleStmt, create_role_stmt); - READ_COND(AlterRoleStmt, AlterRoleStmt, alter_role_stmt, ALTER_ROLE_STMT, AlterRoleStmt, alter_role_stmt); - READ_COND(DropRoleStmt, DropRoleStmt, drop_role_stmt, DROP_ROLE_STMT, DropRoleStmt, drop_role_stmt); READ_COND(LockStmt, LockStmt, lock_stmt, LOCK_STMT, LockStmt, lock_stmt); READ_COND(ConstraintsSetStmt, ConstraintsSetStmt, constraints_set_stmt, CONSTRAINTS_SET_STMT, ConstraintsSetStmt, constraints_set_stmt); READ_COND(ReindexStmt, ReindexStmt, reindex_stmt, REINDEX_STMT, ReindexStmt, reindex_stmt); - READ_COND(CheckPointStmt, CheckPointStmt, check_point_stmt, CHECK_POINT_STMT, CheckPointStmt, check_point_stmt); - READ_COND(CreateSchemaStmt, CreateSchemaStmt, create_schema_stmt, CREATE_SCHEMA_STMT, CreateSchemaStmt, create_schema_stmt); - READ_COND(AlterDatabaseStmt, AlterDatabaseStmt, alter_database_stmt, ALTER_DATABASE_STMT, AlterDatabaseStmt, alter_database_stmt); - READ_COND(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt, ALTER_DATABASE_REFRESH_COLL_STMT, AlterDatabaseRefreshCollStmt, alter_database_refresh_coll_stmt); - READ_COND(AlterDatabaseSetStmt, AlterDatabaseSetStmt, alter_database_set_stmt, ALTER_DATABASE_SET_STMT, AlterDatabaseSetStmt, alter_database_set_stmt); - READ_COND(AlterRoleSetStmt, AlterRoleSetStmt, alter_role_set_stmt, ALTER_ROLE_SET_STMT, AlterRoleSetStmt, alter_role_set_stmt); READ_COND(CreateConversionStmt, CreateConversionStmt, create_conversion_stmt, CREATE_CONVERSION_STMT, CreateConversionStmt, create_conversion_stmt); READ_COND(CreateCastStmt, CreateCastStmt, create_cast_stmt, CREATE_CAST_STMT, CreateCastStmt, create_cast_stmt); - READ_COND(CreateOpClassStmt, CreateOpClassStmt, create_op_class_stmt, CREATE_OP_CLASS_STMT, CreateOpClassStmt, create_op_class_stmt); - READ_COND(CreateOpFamilyStmt, CreateOpFamilyStmt, create_op_family_stmt, CREATE_OP_FAMILY_STMT, CreateOpFamilyStmt, create_op_family_stmt); - READ_COND(AlterOpFamilyStmt, AlterOpFamilyStmt, alter_op_family_stmt, ALTER_OP_FAMILY_STMT, AlterOpFamilyStmt, alter_op_family_stmt); + READ_COND(CreateTransformStmt, CreateTransformStmt, create_transform_stmt, CREATE_TRANSFORM_STMT, CreateTransformStmt, create_transform_stmt); READ_COND(PrepareStmt, PrepareStmt, prepare_stmt, PREPARE_STMT, PrepareStmt, prepare_stmt); READ_COND(ExecuteStmt, ExecuteStmt, execute_stmt, EXECUTE_STMT, ExecuteStmt, execute_stmt); READ_COND(DeallocateStmt, DeallocateStmt, deallocate_stmt, DEALLOCATE_STMT, DeallocateStmt, deallocate_stmt); - READ_COND(DeclareCursorStmt, DeclareCursorStmt, declare_cursor_stmt, DECLARE_CURSOR_STMT, DeclareCursorStmt, declare_cursor_stmt); - READ_COND(CreateTableSpaceStmt, CreateTableSpaceStmt, create_table_space_stmt, CREATE_TABLE_SPACE_STMT, CreateTableSpaceStmt, create_table_space_stmt); - READ_COND(DropTableSpaceStmt, DropTableSpaceStmt, drop_table_space_stmt, DROP_TABLE_SPACE_STMT, DropTableSpaceStmt, drop_table_space_stmt); - READ_COND(AlterObjectDependsStmt, AlterObjectDependsStmt, alter_object_depends_stmt, ALTER_OBJECT_DEPENDS_STMT, AlterObjectDependsStmt, alter_object_depends_stmt); - READ_COND(AlterObjectSchemaStmt, AlterObjectSchemaStmt, alter_object_schema_stmt, ALTER_OBJECT_SCHEMA_STMT, AlterObjectSchemaStmt, alter_object_schema_stmt); - READ_COND(AlterOwnerStmt, AlterOwnerStmt, alter_owner_stmt, ALTER_OWNER_STMT, AlterOwnerStmt, alter_owner_stmt); - READ_COND(AlterOperatorStmt, AlterOperatorStmt, alter_operator_stmt, ALTER_OPERATOR_STMT, AlterOperatorStmt, alter_operator_stmt); - READ_COND(AlterTypeStmt, AlterTypeStmt, alter_type_stmt, ALTER_TYPE_STMT, AlterTypeStmt, alter_type_stmt); READ_COND(DropOwnedStmt, DropOwnedStmt, drop_owned_stmt, DROP_OWNED_STMT, DropOwnedStmt, drop_owned_stmt); READ_COND(ReassignOwnedStmt, ReassignOwnedStmt, reassign_owned_stmt, REASSIGN_OWNED_STMT, ReassignOwnedStmt, reassign_owned_stmt); - READ_COND(CompositeTypeStmt, CompositeTypeStmt, composite_type_stmt, COMPOSITE_TYPE_STMT, CompositeTypeStmt, composite_type_stmt); - READ_COND(CreateEnumStmt, CreateEnumStmt, create_enum_stmt, CREATE_ENUM_STMT, CreateEnumStmt, create_enum_stmt); - READ_COND(CreateRangeStmt, CreateRangeStmt, create_range_stmt, CREATE_RANGE_STMT, CreateRangeStmt, create_range_stmt); - READ_COND(AlterEnumStmt, AlterEnumStmt, alter_enum_stmt, ALTER_ENUM_STMT, AlterEnumStmt, alter_enum_stmt); READ_COND(AlterTSDictionaryStmt, AlterTSDictionaryStmt, alter_tsdictionary_stmt, ALTER_TSDICTIONARY_STMT, AlterTSDictionaryStmt, alter_tsdictionary_stmt); READ_COND(AlterTSConfigurationStmt, AlterTSConfigurationStmt, alter_tsconfiguration_stmt, ALTER_TSCONFIGURATION_STMT, AlterTSConfigurationStmt, alter_tsconfiguration_stmt); - READ_COND(CreateFdwStmt, CreateFdwStmt, create_fdw_stmt, CREATE_FDW_STMT, CreateFdwStmt, create_fdw_stmt); - READ_COND(AlterFdwStmt, AlterFdwStmt, alter_fdw_stmt, ALTER_FDW_STMT, AlterFdwStmt, alter_fdw_stmt); - READ_COND(CreateForeignServerStmt, CreateForeignServerStmt, create_foreign_server_stmt, CREATE_FOREIGN_SERVER_STMT, CreateForeignServerStmt, create_foreign_server_stmt); - READ_COND(AlterForeignServerStmt, AlterForeignServerStmt, alter_foreign_server_stmt, ALTER_FOREIGN_SERVER_STMT, AlterForeignServerStmt, alter_foreign_server_stmt); - READ_COND(CreateUserMappingStmt, CreateUserMappingStmt, create_user_mapping_stmt, CREATE_USER_MAPPING_STMT, CreateUserMappingStmt, create_user_mapping_stmt); - READ_COND(AlterUserMappingStmt, AlterUserMappingStmt, alter_user_mapping_stmt, ALTER_USER_MAPPING_STMT, AlterUserMappingStmt, alter_user_mapping_stmt); - READ_COND(DropUserMappingStmt, DropUserMappingStmt, drop_user_mapping_stmt, DROP_USER_MAPPING_STMT, DropUserMappingStmt, drop_user_mapping_stmt); - READ_COND(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt, ALTER_TABLE_SPACE_OPTIONS_STMT, AlterTableSpaceOptionsStmt, alter_table_space_options_stmt); - READ_COND(AlterTableMoveAllStmt, AlterTableMoveAllStmt, alter_table_move_all_stmt, ALTER_TABLE_MOVE_ALL_STMT, AlterTableMoveAllStmt, alter_table_move_all_stmt); - READ_COND(SecLabelStmt, SecLabelStmt, sec_label_stmt, SEC_LABEL_STMT, SecLabelStmt, sec_label_stmt); - READ_COND(CreateForeignTableStmt, CreateForeignTableStmt, create_foreign_table_stmt, CREATE_FOREIGN_TABLE_STMT, CreateForeignTableStmt, create_foreign_table_stmt); - READ_COND(ImportForeignSchemaStmt, ImportForeignSchemaStmt, import_foreign_schema_stmt, IMPORT_FOREIGN_SCHEMA_STMT, ImportForeignSchemaStmt, import_foreign_schema_stmt); - READ_COND(CreateExtensionStmt, CreateExtensionStmt, create_extension_stmt, CREATE_EXTENSION_STMT, CreateExtensionStmt, create_extension_stmt); - READ_COND(AlterExtensionStmt, AlterExtensionStmt, alter_extension_stmt, ALTER_EXTENSION_STMT, AlterExtensionStmt, alter_extension_stmt); - READ_COND(AlterExtensionContentsStmt, AlterExtensionContentsStmt, alter_extension_contents_stmt, ALTER_EXTENSION_CONTENTS_STMT, AlterExtensionContentsStmt, alter_extension_contents_stmt); - READ_COND(CreateEventTrigStmt, CreateEventTrigStmt, create_event_trig_stmt, CREATE_EVENT_TRIG_STMT, CreateEventTrigStmt, create_event_trig_stmt); - READ_COND(AlterEventTrigStmt, AlterEventTrigStmt, alter_event_trig_stmt, ALTER_EVENT_TRIG_STMT, AlterEventTrigStmt, alter_event_trig_stmt); - READ_COND(RefreshMatViewStmt, RefreshMatViewStmt, refresh_mat_view_stmt, REFRESH_MAT_VIEW_STMT, RefreshMatViewStmt, refresh_mat_view_stmt); - READ_COND(ReplicaIdentityStmt, ReplicaIdentityStmt, replica_identity_stmt, REPLICA_IDENTITY_STMT, ReplicaIdentityStmt, replica_identity_stmt); - READ_COND(AlterSystemStmt, AlterSystemStmt, alter_system_stmt, ALTER_SYSTEM_STMT, AlterSystemStmt, alter_system_stmt); - READ_COND(CreatePolicyStmt, CreatePolicyStmt, create_policy_stmt, CREATE_POLICY_STMT, CreatePolicyStmt, create_policy_stmt); - READ_COND(AlterPolicyStmt, AlterPolicyStmt, alter_policy_stmt, ALTER_POLICY_STMT, AlterPolicyStmt, alter_policy_stmt); - READ_COND(CreateTransformStmt, CreateTransformStmt, create_transform_stmt, CREATE_TRANSFORM_STMT, CreateTransformStmt, create_transform_stmt); - READ_COND(CreateAmStmt, CreateAmStmt, create_am_stmt, CREATE_AM_STMT, CreateAmStmt, create_am_stmt); + READ_COND(PublicationTable, PublicationTable, publication_table, PUBLICATION_TABLE, PublicationTable, publication_table); + READ_COND(PublicationObjSpec, PublicationObjSpec, publication_obj_spec, PUBLICATION_OBJ_SPEC, PublicationObjSpec, publication_obj_spec); READ_COND(CreatePublicationStmt, CreatePublicationStmt, create_publication_stmt, CREATE_PUBLICATION_STMT, CreatePublicationStmt, create_publication_stmt); READ_COND(AlterPublicationStmt, AlterPublicationStmt, alter_publication_stmt, ALTER_PUBLICATION_STMT, AlterPublicationStmt, alter_publication_stmt); READ_COND(CreateSubscriptionStmt, CreateSubscriptionStmt, create_subscription_stmt, CREATE_SUBSCRIPTION_STMT, CreateSubscriptionStmt, create_subscription_stmt); READ_COND(AlterSubscriptionStmt, AlterSubscriptionStmt, alter_subscription_stmt, ALTER_SUBSCRIPTION_STMT, AlterSubscriptionStmt, alter_subscription_stmt); READ_COND(DropSubscriptionStmt, DropSubscriptionStmt, drop_subscription_stmt, DROP_SUBSCRIPTION_STMT, DropSubscriptionStmt, drop_subscription_stmt); - READ_COND(CreateStatsStmt, CreateStatsStmt, create_stats_stmt, CREATE_STATS_STMT, CreateStatsStmt, create_stats_stmt); - READ_COND(AlterCollationStmt, AlterCollationStmt, alter_collation_stmt, ALTER_COLLATION_STMT, AlterCollationStmt, alter_collation_stmt); - READ_COND(CallStmt, CallStmt, call_stmt, CALL_STMT, CallStmt, call_stmt); - READ_COND(AlterStatsStmt, AlterStatsStmt, alter_stats_stmt, ALTER_STATS_STMT, AlterStatsStmt, alter_stats_stmt); - READ_COND(A_Expr, AExpr, a__expr, A_EXPR, A_Expr, a_expr); - READ_COND(ColumnRef, ColumnRef, column_ref, COLUMN_REF, ColumnRef, column_ref); - READ_COND(ParamRef, ParamRef, param_ref, PARAM_REF, ParamRef, param_ref); - READ_COND(FuncCall, FuncCall, func_call, FUNC_CALL, FuncCall, func_call); - READ_COND(A_Star, AStar, a__star, A_STAR, A_Star, a_star); - READ_COND(A_Indices, AIndices, a__indices, A_INDICES, A_Indices, a_indices); - READ_COND(A_Indirection, AIndirection, a__indirection, A_INDIRECTION, A_Indirection, a_indirection); - READ_COND(A_ArrayExpr, AArrayExpr, a__array_expr, A_ARRAY_EXPR, A_ArrayExpr, a_array_expr); - READ_COND(ResTarget, ResTarget, res_target, RES_TARGET, ResTarget, res_target); - READ_COND(MultiAssignRef, MultiAssignRef, multi_assign_ref, MULTI_ASSIGN_REF, MultiAssignRef, multi_assign_ref); - READ_COND(TypeCast, TypeCast, type_cast, TYPE_CAST, TypeCast, type_cast); - READ_COND(CollateClause, CollateClause, collate_clause, COLLATE_CLAUSE, CollateClause, collate_clause); - READ_COND(SortBy, SortBy, sort_by, SORT_BY, SortBy, sort_by); - READ_COND(WindowDef, WindowDef, window_def, WINDOW_DEF, WindowDef, window_def); - READ_COND(RangeSubselect, RangeSubselect, range_subselect, RANGE_SUBSELECT, RangeSubselect, range_subselect); - READ_COND(RangeFunction, RangeFunction, range_function, RANGE_FUNCTION, RangeFunction, range_function); - READ_COND(RangeTableSample, RangeTableSample, range_table_sample, RANGE_TABLE_SAMPLE, RangeTableSample, range_table_sample); - READ_COND(RangeTableFunc, RangeTableFunc, range_table_func, RANGE_TABLE_FUNC, RangeTableFunc, range_table_func); - READ_COND(RangeTableFuncCol, RangeTableFuncCol, range_table_func_col, RANGE_TABLE_FUNC_COL, RangeTableFuncCol, range_table_func_col); - READ_COND(TypeName, TypeName, type_name, TYPE_NAME, TypeName, type_name); - READ_COND(ColumnDef, ColumnDef, column_def, COLUMN_DEF, ColumnDef, column_def); - READ_COND(IndexElem, IndexElem, index_elem, INDEX_ELEM, IndexElem, index_elem); - READ_COND(StatsElem, StatsElem, stats_elem, STATS_ELEM, StatsElem, stats_elem); - READ_COND(Constraint, Constraint, constraint, CONSTRAINT, Constraint, constraint); - READ_COND(DefElem, DefElem, def_elem, DEF_ELEM, DefElem, def_elem); - READ_COND(RangeTblEntry, RangeTblEntry, range_tbl_entry, RANGE_TBL_ENTRY, RangeTblEntry, range_tbl_entry); - READ_COND(RangeTblFunction, RangeTblFunction, range_tbl_function, RANGE_TBL_FUNCTION, RangeTblFunction, range_tbl_function); - READ_COND(TableSampleClause, TableSampleClause, table_sample_clause, TABLE_SAMPLE_CLAUSE, TableSampleClause, table_sample_clause); - READ_COND(WithCheckOption, WithCheckOption, with_check_option, WITH_CHECK_OPTION, WithCheckOption, with_check_option); - READ_COND(SortGroupClause, SortGroupClause, sort_group_clause, SORT_GROUP_CLAUSE, SortGroupClause, sort_group_clause); - READ_COND(GroupingSet, GroupingSet, grouping_set, GROUPING_SET, GroupingSet, grouping_set); - READ_COND(WindowClause, WindowClause, window_clause, WINDOW_CLAUSE, WindowClause, window_clause); - READ_COND(ObjectWithArgs, ObjectWithArgs, object_with_args, OBJECT_WITH_ARGS, ObjectWithArgs, object_with_args); - READ_COND(AccessPriv, AccessPriv, access_priv, ACCESS_PRIV, AccessPriv, access_priv); - READ_COND(CreateOpClassItem, CreateOpClassItem, create_op_class_item, CREATE_OP_CLASS_ITEM, CreateOpClassItem, create_op_class_item); - READ_COND(TableLikeClause, TableLikeClause, table_like_clause, TABLE_LIKE_CLAUSE, TableLikeClause, table_like_clause); - READ_COND(FunctionParameter, FunctionParameter, function_parameter, FUNCTION_PARAMETER, FunctionParameter, function_parameter); - READ_COND(LockingClause, LockingClause, locking_clause, LOCKING_CLAUSE, LockingClause, locking_clause); - READ_COND(RowMarkClause, RowMarkClause, row_mark_clause, ROW_MARK_CLAUSE, RowMarkClause, row_mark_clause); - READ_COND(XmlSerialize, XmlSerialize, xml_serialize, XML_SERIALIZE, XmlSerialize, xml_serialize); - READ_COND(WithClause, WithClause, with_clause, WITH_CLAUSE, WithClause, with_clause); - READ_COND(InferClause, InferClause, infer_clause, INFER_CLAUSE, InferClause, infer_clause); - READ_COND(OnConflictClause, OnConflictClause, on_conflict_clause, ON_CONFLICT_CLAUSE, OnConflictClause, on_conflict_clause); - READ_COND(CTESearchClause, CTESearchClause, ctesearch_clause, CTESEARCH_CLAUSE, CTESearchClause, ctesearch_clause); - READ_COND(CTECycleClause, CTECycleClause, ctecycle_clause, CTECYCLE_CLAUSE, CTECycleClause, ctecycle_clause); - READ_COND(CommonTableExpr, CommonTableExpr, common_table_expr, COMMON_TABLE_EXPR, CommonTableExpr, common_table_expr); - READ_COND(MergeWhenClause, MergeWhenClause, merge_when_clause, MERGE_WHEN_CLAUSE, MergeWhenClause, merge_when_clause); - READ_COND(RoleSpec, RoleSpec, role_spec, ROLE_SPEC, RoleSpec, role_spec); - READ_COND(TriggerTransition, TriggerTransition, trigger_transition, TRIGGER_TRANSITION, TriggerTransition, trigger_transition); - READ_COND(PartitionElem, PartitionElem, partition_elem, PARTITION_ELEM, PartitionElem, partition_elem); - READ_COND(PartitionSpec, PartitionSpec, partition_spec, PARTITION_SPEC, PartitionSpec, partition_spec); - READ_COND(PartitionBoundSpec, PartitionBoundSpec, partition_bound_spec, PARTITION_BOUND_SPEC, PartitionBoundSpec, partition_bound_spec); - READ_COND(PartitionRangeDatum, PartitionRangeDatum, partition_range_datum, PARTITION_RANGE_DATUM, PartitionRangeDatum, partition_range_datum); - READ_COND(PartitionCmd, PartitionCmd, partition_cmd, PARTITION_CMD, PartitionCmd, partition_cmd); - READ_COND(VacuumRelation, VacuumRelation, vacuum_relation, VACUUM_RELATION, VacuumRelation, vacuum_relation); - READ_COND(PublicationObjSpec, PublicationObjSpec, publication_obj_spec, PUBLICATION_OBJ_SPEC, PublicationObjSpec, publication_obj_spec); - READ_COND(PublicationTable, PublicationTable, publication_table, PUBLICATION_TABLE, PublicationTable, publication_table); - READ_COND(InlineCodeBlock, InlineCodeBlock, inline_code_block, INLINE_CODE_BLOCK, InlineCodeBlock, inline_code_block); - READ_COND(CallContext, CallContext, call_context, CALL_CONTEXT, CallContext, call_context); diff --git a/parser/include/pg_query_readfuncs_defs.c b/parser/include/pg_query_readfuncs_defs.c index 7c30a4bf..91dc1cee 100644 --- a/parser/include/pg_query_readfuncs_defs.c +++ b/parser/include/pg_query_readfuncs_defs.c @@ -3,11 +3,14 @@ static Alias * _readAlias(OUT_TYPE(Alias, Alias) msg); static RangeVar * _readRangeVar(OUT_TYPE(RangeVar, RangeVar) msg); static TableFunc * _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg); +static IntoClause * _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg); static Var * _readVar(OUT_TYPE(Var, Var) msg); static Param * _readParam(OUT_TYPE(Param, Param) msg); static Aggref * _readAggref(OUT_TYPE(Aggref, Aggref) msg); static GroupingFunc * _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg); static WindowFunc * _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg); +static WindowFuncRunCondition * _readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg); +static MergeSupportFunc * _readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg); static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg); static FuncExpr * _readFuncExpr(OUT_TYPE(FuncExpr, FuncExpr) msg); static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg); @@ -36,8 +39,19 @@ static CoalesceExpr * _readCoalesceExpr(OUT_TYPE(CoalesceExpr, CoalesceExpr) msg static MinMaxExpr * _readMinMaxExpr(OUT_TYPE(MinMaxExpr, MinMaxExpr) msg); static SQLValueFunction * _readSQLValueFunction(OUT_TYPE(SQLValueFunction, SQLValueFunction) msg); static XmlExpr * _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg); +static JsonFormat * _readJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) msg); +static JsonReturning * _readJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) msg); +static JsonValueExpr * _readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg); +static JsonConstructorExpr * _readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg); +static JsonIsPredicate * _readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg); +static JsonBehavior * _readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg); +static JsonExpr * _readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg); +static JsonTablePath * _readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg); +static JsonTablePathScan * _readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg); +static JsonTableSiblingJoin * _readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg); static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg); static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg); +static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg); static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg); static CoerceToDomainValue * _readCoerceToDomainValue(OUT_TYPE(CoerceToDomainValue, CoerceToDomainValue) msg); static SetToDefault * _readSetToDefault(OUT_TYPE(SetToDefault, SetToDefault) msg); @@ -49,186 +63,202 @@ static RangeTblRef * _readRangeTblRef(OUT_TYPE(RangeTblRef, RangeTblRef) msg); static JoinExpr * _readJoinExpr(OUT_TYPE(JoinExpr, JoinExpr) msg); static FromExpr * _readFromExpr(OUT_TYPE(FromExpr, FromExpr) msg); static OnConflictExpr * _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg); -static IntoClause * _readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg); -static MergeAction * _readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg); -static RawStmt * _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg); static Query * _readQuery(OUT_TYPE(Query, Query) msg); +static TypeName * _readTypeName(OUT_TYPE(TypeName, TypeName) msg); +static ColumnRef * _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg); +static ParamRef * _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg); +static A_Expr * _readAExpr(OUT_TYPE(A_Expr, AExpr) msg); +static TypeCast * _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg); +static CollateClause * _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg); +static RoleSpec * _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg); +static FuncCall * _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg); +static A_Star * _readAStar(OUT_TYPE(A_Star, AStar) msg); +static A_Indices * _readAIndices(OUT_TYPE(A_Indices, AIndices) msg); +static A_Indirection * _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg); +static A_ArrayExpr * _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg); +static ResTarget * _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg); +static MultiAssignRef * _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg); +static SortBy * _readSortBy(OUT_TYPE(SortBy, SortBy) msg); +static WindowDef * _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg); +static RangeSubselect * _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg); +static RangeFunction * _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg); +static RangeTableFunc * _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg); +static RangeTableFuncCol * _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg); +static RangeTableSample * _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg); +static ColumnDef * _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg); +static TableLikeClause * _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg); +static IndexElem * _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg); +static DefElem * _readDefElem(OUT_TYPE(DefElem, DefElem) msg); +static LockingClause * _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg); +static XmlSerialize * _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg); +static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg); +static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg); +static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg); +static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg); +static SinglePartitionSpec * _readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg); +static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg); +static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg); +static RTEPermissionInfo * _readRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) msg); +static RangeTblFunction * _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg); +static TableSampleClause * _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg); +static WithCheckOption * _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg); +static SortGroupClause * _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg); +static GroupingSet * _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg); +static WindowClause * _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg); +static RowMarkClause * _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg); +static WithClause * _readWithClause(OUT_TYPE(WithClause, WithClause) msg); +static InferClause * _readInferClause(OUT_TYPE(InferClause, InferClause) msg); +static OnConflictClause * _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg); +static CTESearchClause * _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg); +static CTECycleClause * _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg); +static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg); +static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg); +static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg); +static JsonOutput * _readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg); +static JsonArgument * _readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg); +static JsonFuncExpr * _readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg); +static JsonTablePathSpec * _readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg); +static JsonTable * _readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg); +static JsonTableColumn * _readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg); +static JsonKeyValue * _readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg); +static JsonParseExpr * _readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg); +static JsonScalarExpr * _readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg); +static JsonSerializeExpr * _readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg); +static JsonObjectConstructor * _readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg); +static JsonArrayConstructor * _readJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) msg); +static JsonArrayQueryConstructor * _readJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) msg); +static JsonAggConstructor * _readJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) msg); +static JsonObjectAgg * _readJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) msg); +static JsonArrayAgg * _readJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) msg); +static RawStmt * _readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg); static InsertStmt * _readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg); static DeleteStmt * _readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg); static UpdateStmt * _readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg); static MergeStmt * _readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg); static SelectStmt * _readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg); +static SetOperationStmt * _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg); static ReturnStmt * _readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg); static PLAssignStmt * _readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg); +static CreateSchemaStmt * _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg); static AlterTableStmt * _readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg); +static ReplicaIdentityStmt * _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg); static AlterTableCmd * _readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg); +static AlterCollationStmt * _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg); static AlterDomainStmt * _readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg); -static SetOperationStmt * _readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg); static GrantStmt * _readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg); +static ObjectWithArgs * _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg); +static AccessPriv * _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg); static GrantRoleStmt * _readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg); static AlterDefaultPrivilegesStmt * _readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg); -static ClosePortalStmt * _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg); -static ClusterStmt * _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg); static CopyStmt * _readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg); +static VariableSetStmt * _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg); +static VariableShowStmt * _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg); static CreateStmt * _readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg); +static Constraint * _readConstraint(OUT_TYPE(Constraint, Constraint) msg); +static CreateTableSpaceStmt * _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg); +static DropTableSpaceStmt * _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg); +static AlterTableSpaceOptionsStmt * _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg); +static AlterTableMoveAllStmt * _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg); +static CreateExtensionStmt * _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg); +static AlterExtensionStmt * _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg); +static AlterExtensionContentsStmt * _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg); +static CreateFdwStmt * _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg); +static AlterFdwStmt * _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg); +static CreateForeignServerStmt * _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg); +static AlterForeignServerStmt * _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg); +static CreateForeignTableStmt * _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg); +static CreateUserMappingStmt * _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg); +static AlterUserMappingStmt * _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg); +static DropUserMappingStmt * _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg); +static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg); +static CreatePolicyStmt * _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg); +static AlterPolicyStmt * _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg); +static CreateAmStmt * _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg); +static CreateTrigStmt * _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg); +static CreateEventTrigStmt * _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg); +static AlterEventTrigStmt * _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg); +static CreatePLangStmt * _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg); +static CreateRoleStmt * _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg); +static AlterRoleStmt * _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg); +static AlterRoleSetStmt * _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg); +static DropRoleStmt * _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg); +static CreateSeqStmt * _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg); +static AlterSeqStmt * _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg); static DefineStmt * _readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg); +static CreateDomainStmt * _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg); +static CreateOpClassStmt * _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg); +static CreateOpClassItem * _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg); +static CreateOpFamilyStmt * _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg); +static AlterOpFamilyStmt * _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg); static DropStmt * _readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg); static TruncateStmt * _readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg); static CommentStmt * _readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg); +static SecLabelStmt * _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg); +static DeclareCursorStmt * _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg); +static ClosePortalStmt * _readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg); static FetchStmt * _readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg); static IndexStmt * _readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg); +static CreateStatsStmt * _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg); +static StatsElem * _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg); +static AlterStatsStmt * _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg); static CreateFunctionStmt * _readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg); +static FunctionParameter * _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg); static AlterFunctionStmt * _readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg); static DoStmt * _readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg); +static InlineCodeBlock * _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg); +static CallStmt * _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg); +static CallContext * _readCallContext(OUT_TYPE(CallContext, CallContext) msg); static RenameStmt * _readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg); +static AlterObjectDependsStmt * _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg); +static AlterObjectSchemaStmt * _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg); +static AlterOwnerStmt * _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg); +static AlterOperatorStmt * _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg); +static AlterTypeStmt * _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg); static RuleStmt * _readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg); static NotifyStmt * _readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg); static ListenStmt * _readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg); static UnlistenStmt * _readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg); static TransactionStmt * _readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg); +static CompositeTypeStmt * _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg); +static CreateEnumStmt * _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg); +static CreateRangeStmt * _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg); +static AlterEnumStmt * _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg); static ViewStmt * _readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg); static LoadStmt * _readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg); -static CreateDomainStmt * _readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg); static CreatedbStmt * _readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg); +static AlterDatabaseStmt * _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg); +static AlterDatabaseRefreshCollStmt * _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg); +static AlterDatabaseSetStmt * _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg); static DropdbStmt * _readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg); +static AlterSystemStmt * _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg); +static ClusterStmt * _readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg); static VacuumStmt * _readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg); +static VacuumRelation * _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg); static ExplainStmt * _readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg); static CreateTableAsStmt * _readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg); -static CreateSeqStmt * _readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg); -static AlterSeqStmt * _readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg); -static VariableSetStmt * _readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg); -static VariableShowStmt * _readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg); +static RefreshMatViewStmt * _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg); +static CheckPointStmt * _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg); static DiscardStmt * _readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg); -static CreateTrigStmt * _readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg); -static CreatePLangStmt * _readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg); -static CreateRoleStmt * _readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg); -static AlterRoleStmt * _readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg); -static DropRoleStmt * _readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg); static LockStmt * _readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg); static ConstraintsSetStmt * _readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg); static ReindexStmt * _readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg); -static CheckPointStmt * _readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg); -static CreateSchemaStmt * _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg); -static AlterDatabaseStmt * _readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg); -static AlterDatabaseRefreshCollStmt * _readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg); -static AlterDatabaseSetStmt * _readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg); -static AlterRoleSetStmt * _readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg); static CreateConversionStmt * _readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg); static CreateCastStmt * _readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg); -static CreateOpClassStmt * _readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg); -static CreateOpFamilyStmt * _readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg); -static AlterOpFamilyStmt * _readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg); +static CreateTransformStmt * _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg); static PrepareStmt * _readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg); static ExecuteStmt * _readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg); static DeallocateStmt * _readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg); -static DeclareCursorStmt * _readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg); -static CreateTableSpaceStmt * _readCreateTableSpaceStmt(OUT_TYPE(CreateTableSpaceStmt, CreateTableSpaceStmt) msg); -static DropTableSpaceStmt * _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg); -static AlterObjectDependsStmt * _readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg); -static AlterObjectSchemaStmt * _readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg); -static AlterOwnerStmt * _readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg); -static AlterOperatorStmt * _readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg); -static AlterTypeStmt * _readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg); static DropOwnedStmt * _readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg); static ReassignOwnedStmt * _readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg); -static CompositeTypeStmt * _readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg); -static CreateEnumStmt * _readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg); -static CreateRangeStmt * _readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg); -static AlterEnumStmt * _readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg); static AlterTSDictionaryStmt * _readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg); static AlterTSConfigurationStmt * _readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg); -static CreateFdwStmt * _readCreateFdwStmt(OUT_TYPE(CreateFdwStmt, CreateFdwStmt) msg); -static AlterFdwStmt * _readAlterFdwStmt(OUT_TYPE(AlterFdwStmt, AlterFdwStmt) msg); -static CreateForeignServerStmt * _readCreateForeignServerStmt(OUT_TYPE(CreateForeignServerStmt, CreateForeignServerStmt) msg); -static AlterForeignServerStmt * _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerStmt) msg); -static CreateUserMappingStmt * _readCreateUserMappingStmt(OUT_TYPE(CreateUserMappingStmt, CreateUserMappingStmt) msg); -static AlterUserMappingStmt * _readAlterUserMappingStmt(OUT_TYPE(AlterUserMappingStmt, AlterUserMappingStmt) msg); -static DropUserMappingStmt * _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg); -static AlterTableSpaceOptionsStmt * _readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg); -static AlterTableMoveAllStmt * _readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg); -static SecLabelStmt * _readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg); -static CreateForeignTableStmt * _readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg); -static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg); -static CreateExtensionStmt * _readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg); -static AlterExtensionStmt * _readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg); -static AlterExtensionContentsStmt * _readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg); -static CreateEventTrigStmt * _readCreateEventTrigStmt(OUT_TYPE(CreateEventTrigStmt, CreateEventTrigStmt) msg); -static AlterEventTrigStmt * _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg); -static RefreshMatViewStmt * _readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg); -static ReplicaIdentityStmt * _readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg); -static AlterSystemStmt * _readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg); -static CreatePolicyStmt * _readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg); -static AlterPolicyStmt * _readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg); -static CreateTransformStmt * _readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg); -static CreateAmStmt * _readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg); +static PublicationTable * _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg); +static PublicationObjSpec * _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg); static CreatePublicationStmt * _readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg); static AlterPublicationStmt * _readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg); static CreateSubscriptionStmt * _readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg); static AlterSubscriptionStmt * _readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg); static DropSubscriptionStmt * _readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg); -static CreateStatsStmt * _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg); -static AlterCollationStmt * _readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg); -static CallStmt * _readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg); -static AlterStatsStmt * _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg); -static A_Expr * _readAExpr(OUT_TYPE(A_Expr, AExpr) msg); -static ColumnRef * _readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg); -static ParamRef * _readParamRef(OUT_TYPE(ParamRef, ParamRef) msg); -static FuncCall * _readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg); -static A_Star * _readAStar(OUT_TYPE(A_Star, AStar) msg); -static A_Indices * _readAIndices(OUT_TYPE(A_Indices, AIndices) msg); -static A_Indirection * _readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg); -static A_ArrayExpr * _readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg); -static ResTarget * _readResTarget(OUT_TYPE(ResTarget, ResTarget) msg); -static MultiAssignRef * _readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg); -static TypeCast * _readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg); -static CollateClause * _readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg); -static SortBy * _readSortBy(OUT_TYPE(SortBy, SortBy) msg); -static WindowDef * _readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg); -static RangeSubselect * _readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg); -static RangeFunction * _readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg); -static RangeTableSample * _readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg); -static RangeTableFunc * _readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg); -static RangeTableFuncCol * _readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg); -static TypeName * _readTypeName(OUT_TYPE(TypeName, TypeName) msg); -static ColumnDef * _readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg); -static IndexElem * _readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg); -static StatsElem * _readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg); -static Constraint * _readConstraint(OUT_TYPE(Constraint, Constraint) msg); -static DefElem * _readDefElem(OUT_TYPE(DefElem, DefElem) msg); -static RangeTblEntry * _readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg); -static RangeTblFunction * _readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg); -static TableSampleClause * _readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg); -static WithCheckOption * _readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg); -static SortGroupClause * _readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg); -static GroupingSet * _readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg); -static WindowClause * _readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg); -static ObjectWithArgs * _readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg); -static AccessPriv * _readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg); -static CreateOpClassItem * _readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg); -static TableLikeClause * _readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg); -static FunctionParameter * _readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg); -static LockingClause * _readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg); -static RowMarkClause * _readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg); -static XmlSerialize * _readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg); -static WithClause * _readWithClause(OUT_TYPE(WithClause, WithClause) msg); -static InferClause * _readInferClause(OUT_TYPE(InferClause, InferClause) msg); -static OnConflictClause * _readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg); -static CTESearchClause * _readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg); -static CTECycleClause * _readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg); -static CommonTableExpr * _readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg); -static MergeWhenClause * _readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg); -static RoleSpec * _readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg); -static TriggerTransition * _readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg); -static PartitionElem * _readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg); -static PartitionSpec * _readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg); -static PartitionBoundSpec * _readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg); -static PartitionRangeDatum * _readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg); -static PartitionCmd * _readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg); -static VacuumRelation * _readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg); -static PublicationObjSpec * _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg); -static PublicationTable * _readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg); -static InlineCodeBlock * _readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg); -static CallContext * _readCallContext(OUT_TYPE(CallContext, CallContext) msg); static Alias * @@ -258,6 +288,7 @@ static TableFunc * _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg) { TableFunc *node = makeNode(TableFunc); + READ_ENUM_FIELD(TableFuncType, functype, functype, functype); READ_LIST_FIELD(ns_uris, ns_uris, ns_uris); READ_LIST_FIELD(ns_names, ns_names, ns_names); READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr); @@ -268,24 +299,41 @@ _readTableFunc(OUT_TYPE(TableFunc, TableFunc) msg) READ_LIST_FIELD(colcollations, colcollations, colcollations); READ_LIST_FIELD(colexprs, colexprs, colexprs); READ_LIST_FIELD(coldefexprs, coldefexprs, coldefexprs); + READ_LIST_FIELD(colvalexprs, colvalexprs, colvalexprs); + READ_LIST_FIELD(passingvalexprs, passingvalexprs, passingvalexprs); READ_BITMAPSET_FIELD(notnulls, notnulls, notnulls); + READ_NODE_PTR_FIELD(plan, plan, plan); READ_INT_FIELD(ordinalitycol, ordinalitycol, ordinalitycol); READ_INT_FIELD(location, location, location); return node; } -static Var * -_readVar(OUT_TYPE(Var, Var) msg) +static IntoClause * +_readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg) { - Var *node = makeNode(Var); - READ_INT_FIELD(varno, varno, varno); - READ_INT_FIELD(varattno, varattno, varattno); - READ_UINT_FIELD(vartype, vartype, vartype); + IntoClause *node = makeNode(IntoClause); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel); + READ_LIST_FIELD(col_names, colNames, colNames); + READ_STRING_FIELD(access_method, accessMethod, accessMethod); + READ_LIST_FIELD(options, options, options); + READ_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit); + READ_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName); + READ_NODE_PTR_FIELD(view_query, viewQuery, viewQuery); + READ_BOOL_FIELD(skip_data, skipData, skipData); + return node; +} + +static Var * +_readVar(OUT_TYPE(Var, Var) msg) +{ + Var *node = makeNode(Var); + READ_INT_FIELD(varno, varno, varno); + READ_INT_FIELD(varattno, varattno, varattno); + READ_UINT_FIELD(vartype, vartype, vartype); READ_INT_FIELD(vartypmod, vartypmod, vartypmod); READ_UINT_FIELD(varcollid, varcollid, varcollid); + READ_BITMAPSET_FIELD(varnullingrels, varnullingrels, varnullingrels); READ_UINT_FIELD(varlevelsup, varlevelsup, varlevelsup); - READ_UINT_FIELD(varnosyn, varnosyn, varnosyn); - READ_INT_FIELD(varattnosyn, varattnosyn, varattnosyn); READ_INT_FIELD(location, location, location); return node; } @@ -311,13 +359,12 @@ _readAggref(OUT_TYPE(Aggref, Aggref) msg) READ_UINT_FIELD(aggtype, aggtype, aggtype); READ_UINT_FIELD(aggcollid, aggcollid, aggcollid); READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); - READ_UINT_FIELD(aggtranstype, aggtranstype, aggtranstype); READ_LIST_FIELD(aggargtypes, aggargtypes, aggargtypes); READ_LIST_FIELD(aggdirectargs, aggdirectargs, aggdirectargs); READ_LIST_FIELD(args, args, args); READ_LIST_FIELD(aggorder, aggorder, aggorder); READ_LIST_FIELD(aggdistinct, aggdistinct, aggdistinct); - READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter); + READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*); READ_BOOL_FIELD(aggstar, aggstar, aggstar); READ_BOOL_FIELD(aggvariadic, aggvariadic, aggvariadic); READ_CHAR_FIELD(aggkind, aggkind, aggkind); @@ -335,7 +382,6 @@ _readGroupingFunc(OUT_TYPE(GroupingFunc, GroupingFunc) msg) GroupingFunc *node = makeNode(GroupingFunc); READ_LIST_FIELD(args, args, args); READ_LIST_FIELD(refs, refs, refs); - READ_LIST_FIELD(cols, cols, cols); READ_UINT_FIELD(agglevelsup, agglevelsup, agglevelsup); READ_INT_FIELD(location, location, location); return node; @@ -350,7 +396,8 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg) READ_UINT_FIELD(wincollid, wincollid, wincollid); READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(aggfilter, aggfilter, aggfilter); + READ_ABSTRACT_PTR_FIELD(aggfilter, aggfilter, aggfilter, Expr*); + READ_LIST_FIELD(run_condition, runCondition, runCondition); READ_UINT_FIELD(winref, winref, winref); READ_BOOL_FIELD(winstar, winstar, winstar); READ_BOOL_FIELD(winagg, winagg, winagg); @@ -358,6 +405,27 @@ _readWindowFunc(OUT_TYPE(WindowFunc, WindowFunc) msg) return node; } +static WindowFuncRunCondition * +_readWindowFuncRunCondition(OUT_TYPE(WindowFuncRunCondition, WindowFuncRunCondition) msg) +{ + WindowFuncRunCondition *node = makeNode(WindowFuncRunCondition); + READ_UINT_FIELD(opno, opno, opno); + READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); + READ_BOOL_FIELD(wfunc_left, wfunc_left, wfunc_left); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); + return node; +} + +static MergeSupportFunc * +_readMergeSupportFunc(OUT_TYPE(MergeSupportFunc, MergeSupportFunc) msg) +{ + MergeSupportFunc *node = makeNode(MergeSupportFunc); + READ_UINT_FIELD(msftype, msftype, msftype); + READ_UINT_FIELD(msfcollid, msfcollid, msfcollid); + READ_INT_FIELD(location, location, location); + return node; +} + static SubscriptingRef * _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg) { @@ -369,8 +437,8 @@ _readSubscriptingRef(OUT_TYPE(SubscriptingRef, SubscriptingRef) msg) READ_UINT_FIELD(refcollid, refcollid, refcollid); READ_LIST_FIELD(refupperindexpr, refupperindexpr, refupperindexpr); READ_LIST_FIELD(reflowerindexpr, reflowerindexpr, reflowerindexpr); - READ_EXPR_PTR_FIELD(refexpr, refexpr, refexpr); - READ_EXPR_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr); + READ_ABSTRACT_PTR_FIELD(refexpr, refexpr, refexpr, Expr*); + READ_ABSTRACT_PTR_FIELD(refassgnexpr, refassgnexpr, refassgnexpr, Expr*); return node; } @@ -394,7 +462,7 @@ static NamedArgExpr * _readNamedArgExpr(OUT_TYPE(NamedArgExpr, NamedArgExpr) msg) { NamedArgExpr *node = makeNode(NamedArgExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_STRING_FIELD(name, name, name); READ_INT_FIELD(argnumber, argnumber, argnumber); READ_INT_FIELD(location, location, location); @@ -406,7 +474,6 @@ _readOpExpr(OUT_TYPE(OpExpr, OpExpr) msg) { OpExpr *node = makeNode(OpExpr); READ_UINT_FIELD(opno, opno, opno); - READ_UINT_FIELD(opfuncid, opfuncid, opfuncid); READ_UINT_FIELD(opresulttype, opresulttype, opresulttype); READ_BOOL_FIELD(opretset, opretset, opretset); READ_UINT_FIELD(opcollid, opcollid, opcollid); @@ -421,7 +488,6 @@ _readDistinctExpr(OUT_TYPE(DistinctExpr, DistinctExpr) msg) { DistinctExpr *node = makeNode(DistinctExpr); READ_UINT_FIELD(opno, opno, opno); - READ_UINT_FIELD(opfuncid, opfuncid, opfuncid); READ_UINT_FIELD(opresulttype, opresulttype, opresulttype); READ_BOOL_FIELD(opretset, opretset, opretset); READ_UINT_FIELD(opcollid, opcollid, opcollid); @@ -436,7 +502,6 @@ _readNullIfExpr(OUT_TYPE(NullIfExpr, NullIfExpr) msg) { NullIfExpr *node = makeNode(NullIfExpr); READ_UINT_FIELD(opno, opno, opno); - READ_UINT_FIELD(opfuncid, opfuncid, opfuncid); READ_UINT_FIELD(opresulttype, opresulttype, opresulttype); READ_BOOL_FIELD(opretset, opretset, opretset); READ_UINT_FIELD(opcollid, opcollid, opcollid); @@ -451,9 +516,6 @@ _readScalarArrayOpExpr(OUT_TYPE(ScalarArrayOpExpr, ScalarArrayOpExpr) msg) { ScalarArrayOpExpr *node = makeNode(ScalarArrayOpExpr); READ_UINT_FIELD(opno, opno, opno); - READ_UINT_FIELD(opfuncid, opfuncid, opfuncid); - READ_UINT_FIELD(hashfuncid, hashfuncid, hashfuncid); - READ_UINT_FIELD(negfuncid, negfuncid, negfuncid); READ_BOOL_FIELD(use_or, useOr, useOr); READ_UINT_FIELD(inputcollid, inputcollid, inputcollid); READ_LIST_FIELD(args, args, args); @@ -519,7 +581,7 @@ static FieldSelect * _readFieldSelect(OUT_TYPE(FieldSelect, FieldSelect) msg) { FieldSelect *node = makeNode(FieldSelect); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_INT_FIELD(fieldnum, fieldnum, fieldnum); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); @@ -531,7 +593,7 @@ static FieldStore * _readFieldStore(OUT_TYPE(FieldStore, FieldStore) msg) { FieldStore *node = makeNode(FieldStore); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_LIST_FIELD(newvals, newvals, newvals); READ_LIST_FIELD(fieldnums, fieldnums, fieldnums); READ_UINT_FIELD(resulttype, resulttype, resulttype); @@ -542,7 +604,7 @@ static RelabelType * _readRelabelType(OUT_TYPE(RelabelType, RelabelType) msg) { RelabelType *node = makeNode(RelabelType); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -555,7 +617,7 @@ static CoerceViaIO * _readCoerceViaIO(OUT_TYPE(CoerceViaIO, CoerceViaIO) msg) { CoerceViaIO *node = makeNode(CoerceViaIO); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); READ_ENUM_FIELD(CoercionForm, coerceformat, coerceformat, coerceformat); @@ -567,8 +629,8 @@ static ArrayCoerceExpr * _readArrayCoerceExpr(OUT_TYPE(ArrayCoerceExpr, ArrayCoerceExpr) msg) { ArrayCoerceExpr *node = makeNode(ArrayCoerceExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); - READ_EXPR_PTR_FIELD(elemexpr, elemexpr, elemexpr); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); + READ_ABSTRACT_PTR_FIELD(elemexpr, elemexpr, elemexpr, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -581,7 +643,7 @@ static ConvertRowtypeExpr * _readConvertRowtypeExpr(OUT_TYPE(ConvertRowtypeExpr, ConvertRowtypeExpr) msg) { ConvertRowtypeExpr *node = makeNode(ConvertRowtypeExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_ENUM_FIELD(CoercionForm, convertformat, convertformat, convertformat); READ_INT_FIELD(location, location, location); @@ -592,7 +654,7 @@ static CollateExpr * _readCollateExpr(OUT_TYPE(CollateExpr, CollateExpr) msg) { CollateExpr *node = makeNode(CollateExpr); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(coll_oid, collOid, collOid); READ_INT_FIELD(location, location, location); return node; @@ -604,9 +666,9 @@ _readCaseExpr(OUT_TYPE(CaseExpr, CaseExpr) msg) CaseExpr *node = makeNode(CaseExpr); READ_UINT_FIELD(casetype, casetype, casetype); READ_UINT_FIELD(casecollid, casecollid, casecollid); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(defresult, defresult, defresult); + READ_ABSTRACT_PTR_FIELD(defresult, defresult, defresult, Expr*); READ_INT_FIELD(location, location, location); return node; } @@ -615,8 +677,8 @@ static CaseWhen * _readCaseWhen(OUT_TYPE(CaseWhen, CaseWhen) msg) { CaseWhen *node = makeNode(CaseWhen); - READ_EXPR_PTR_FIELD(expr, expr, expr); - READ_EXPR_PTR_FIELD(result, result, result); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); + READ_ABSTRACT_PTR_FIELD(result, result, result, Expr*); READ_INT_FIELD(location, location, location); return node; } @@ -714,17 +776,138 @@ _readXmlExpr(OUT_TYPE(XmlExpr, XmlExpr) msg) READ_LIST_FIELD(arg_names, arg_names, arg_names); READ_LIST_FIELD(args, args, args); READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); + READ_BOOL_FIELD(indent, indent, indent); READ_UINT_FIELD(type, type, type); READ_INT_FIELD(typmod, typmod, typmod); READ_INT_FIELD(location, location, location); return node; } +static JsonFormat * +_readJsonFormat(OUT_TYPE(JsonFormat, JsonFormat) msg) +{ + JsonFormat *node = makeNode(JsonFormat); + READ_ENUM_FIELD(JsonFormatType, format_type, format_type, format_type); + READ_ENUM_FIELD(JsonEncoding, encoding, encoding, encoding); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonReturning * +_readJsonReturning(OUT_TYPE(JsonReturning, JsonReturning) msg) +{ + JsonReturning *node = makeNode(JsonReturning); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_UINT_FIELD(typid, typid, typid); + READ_INT_FIELD(typmod, typmod, typmod); + return node; +} + +static JsonValueExpr * +_readJsonValueExpr(OUT_TYPE(JsonValueExpr, JsonValueExpr) msg) +{ + JsonValueExpr *node = makeNode(JsonValueExpr); + READ_ABSTRACT_PTR_FIELD(raw_expr, raw_expr, raw_expr, Expr*); + READ_ABSTRACT_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr, Expr*); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + return node; +} + +static JsonConstructorExpr * +_readJsonConstructorExpr(OUT_TYPE(JsonConstructorExpr, JsonConstructorExpr) msg) +{ + JsonConstructorExpr *node = makeNode(JsonConstructorExpr); + READ_ENUM_FIELD(JsonConstructorType, type, type, type); + READ_LIST_FIELD(args, args, args); + READ_ABSTRACT_PTR_FIELD(func, func, func, Expr*); + READ_ABSTRACT_PTR_FIELD(coercion, coercion, coercion, Expr*); + READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + READ_BOOL_FIELD(unique, unique, unique); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonIsPredicate * +_readJsonIsPredicate(OUT_TYPE(JsonIsPredicate, JsonIsPredicate) msg) +{ + JsonIsPredicate *node = makeNode(JsonIsPredicate); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_ENUM_FIELD(JsonValueType, item_type, item_type, item_type); + READ_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonBehavior * +_readJsonBehavior(OUT_TYPE(JsonBehavior, JsonBehavior) msg) +{ + JsonBehavior *node = makeNode(JsonBehavior); + READ_ENUM_FIELD(JsonBehaviorType, btype, btype, btype); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_BOOL_FIELD(coerce, coerce, coerce); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonExpr * +_readJsonExpr(OUT_TYPE(JsonExpr, JsonExpr) msg) +{ + JsonExpr *node = makeNode(JsonExpr); + READ_ENUM_FIELD(JsonExprOp, op, op, op); + READ_STRING_FIELD(column_name, column_name, column_name); + READ_NODE_PTR_FIELD(formatted_expr, formatted_expr, formatted_expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_NODE_PTR_FIELD(path_spec, path_spec, path_spec); + READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); + READ_LIST_FIELD(passing_names, passing_names, passing_names); + READ_LIST_FIELD(passing_values, passing_values, passing_values); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_BOOL_FIELD(use_io_coercion, use_io_coercion, use_io_coercion); + READ_BOOL_FIELD(use_json_coercion, use_json_coercion, use_json_coercion); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_BOOL_FIELD(omit_quotes, omit_quotes, omit_quotes); + READ_UINT_FIELD(collation, collation, collation); + READ_INT_FIELD(location, location, location); + return node; +} + +static JsonTablePath * +_readJsonTablePath(OUT_TYPE(JsonTablePath, JsonTablePath) msg) +{ + JsonTablePath *node = makeNode(JsonTablePath); + READ_STRING_FIELD(name, name, name); + return node; +} + +static JsonTablePathScan * +_readJsonTablePathScan(OUT_TYPE(JsonTablePathScan, JsonTablePathScan) msg) +{ + JsonTablePathScan *node = makeNode(JsonTablePathScan); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePath, json_table_path, path, path, path); + READ_BOOL_FIELD(error_on_error, errorOnError, errorOnError); + READ_ABSTRACT_PTR_FIELD(child, child, child, JsonTablePlan*); + READ_INT_FIELD(col_min, colMin, colMin); + READ_INT_FIELD(col_max, colMax, colMax); + return node; +} + +static JsonTableSiblingJoin * +_readJsonTableSiblingJoin(OUT_TYPE(JsonTableSiblingJoin, JsonTableSiblingJoin) msg) +{ + JsonTableSiblingJoin *node = makeNode(JsonTableSiblingJoin); + READ_ABSTRACT_PTR_FIELD(lplan, lplan, lplan, JsonTablePlan*); + READ_ABSTRACT_PTR_FIELD(rplan, rplan, rplan, JsonTablePlan*); + return node; +} + static NullTest * _readNullTest(OUT_TYPE(NullTest, NullTest) msg) { NullTest *node = makeNode(NullTest); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_ENUM_FIELD(NullTestType, nulltesttype, nulltesttype, nulltesttype); READ_BOOL_FIELD(argisrow, argisrow, argisrow); READ_INT_FIELD(location, location, location); @@ -735,17 +918,30 @@ static BooleanTest * _readBooleanTest(OUT_TYPE(BooleanTest, BooleanTest) msg) { BooleanTest *node = makeNode(BooleanTest); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_ENUM_FIELD(BoolTestType, booltesttype, booltesttype, booltesttype); READ_INT_FIELD(location, location, location); return node; } +static MergeAction * +_readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg) +{ + MergeAction *node = makeNode(MergeAction); + READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); + READ_ENUM_FIELD(OverridingKind, override, override, override); + READ_NODE_PTR_FIELD(qual, qual, qual); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_LIST_FIELD(update_colnos, updateColnos, updateColnos); + return node; +} + static CoerceToDomain * _readCoerceToDomain(OUT_TYPE(CoerceToDomain, CoerceToDomain) msg) { CoerceToDomain *node = makeNode(CoerceToDomain); - READ_EXPR_PTR_FIELD(arg, arg, arg); + READ_ABSTRACT_PTR_FIELD(arg, arg, arg, Expr*); READ_UINT_FIELD(resulttype, resulttype, resulttype); READ_INT_FIELD(resulttypmod, resulttypmod, resulttypmod); READ_UINT_FIELD(resultcollid, resultcollid, resultcollid); @@ -809,7 +1005,7 @@ static TargetEntry * _readTargetEntry(OUT_TYPE(TargetEntry, TargetEntry) msg) { TargetEntry *node = makeNode(TargetEntry); - READ_EXPR_PTR_FIELD(expr, expr, expr); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); READ_INT_FIELD(resno, resno, resno); READ_STRING_FIELD(resname, resname, resname); READ_UINT_FIELD(ressortgroupref, ressortgroupref, ressortgroupref); @@ -867,44 +1063,6 @@ _readOnConflictExpr(OUT_TYPE(OnConflictExpr, OnConflictExpr) msg) return node; } -static IntoClause * -_readIntoClause(OUT_TYPE(IntoClause, IntoClause) msg) -{ - IntoClause *node = makeNode(IntoClause); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, rel, rel, rel); - READ_LIST_FIELD(col_names, colNames, colNames); - READ_STRING_FIELD(access_method, accessMethod, accessMethod); - READ_LIST_FIELD(options, options, options); - READ_ENUM_FIELD(OnCommitAction, on_commit, onCommit, onCommit); - READ_STRING_FIELD(table_space_name, tableSpaceName, tableSpaceName); - READ_NODE_PTR_FIELD(view_query, viewQuery, viewQuery); - READ_BOOL_FIELD(skip_data, skipData, skipData); - return node; -} - -static MergeAction * -_readMergeAction(OUT_TYPE(MergeAction, MergeAction) msg) -{ - MergeAction *node = makeNode(MergeAction); - READ_BOOL_FIELD(matched, matched, matched); - READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); - READ_ENUM_FIELD(OverridingKind, override, override, override); - READ_NODE_PTR_FIELD(qual, qual, qual); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_LIST_FIELD(update_colnos, updateColnos, updateColnos); - return node; -} - -static RawStmt * -_readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg) -{ - RawStmt *node = makeNode(RawStmt); - READ_NODE_PTR_FIELD(stmt, stmt, stmt); - READ_INT_FIELD(stmt_location, stmt_location, stmt_location); - READ_INT_FIELD(stmt_len, stmt_len, stmt_len); - return node; -} - static Query * _readQuery(OUT_TYPE(Query, Query) msg) { @@ -926,9 +1084,11 @@ _readQuery(OUT_TYPE(Query, Query) msg) READ_BOOL_FIELD(is_return, isReturn, isReturn); READ_LIST_FIELD(cte_list, cteList, cteList); READ_LIST_FIELD(rtable, rtable, rtable); + READ_LIST_FIELD(rteperminfos, rteperminfos, rteperminfos); READ_SPECIFIC_NODE_PTR_FIELD(FromExpr, from_expr, jointree, jointree, jointree); READ_LIST_FIELD(merge_action_list, mergeActionList, mergeActionList); - READ_BOOL_FIELD(merge_use_outer_join, mergeUseOuterJoin, mergeUseOuterJoin); + READ_INT_FIELD(merge_target_relation, mergeTargetRelation, mergeTargetRelation); + READ_NODE_PTR_FIELD(merge_join_condition, mergeJoinCondition, mergeJoinCondition); READ_LIST_FIELD(target_list, targetList, targetList); READ_ENUM_FIELD(OverridingKind, override, override, override); READ_SPECIFIC_NODE_PTR_FIELD(OnConflictExpr, on_conflict_expr, on_conflict, onConflict, onConflict); @@ -952,664 +1112,950 @@ _readQuery(OUT_TYPE(Query, Query) msg) return node; } -static InsertStmt * -_readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg) +static TypeName * +_readTypeName(OUT_TYPE(TypeName, TypeName) msg) { - InsertStmt *node = makeNode(InsertStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(cols, cols, cols); - READ_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt); - READ_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause); - READ_LIST_FIELD(returning_list, returningList, returningList); - READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); - READ_ENUM_FIELD(OverridingKind, override, override, override); + TypeName *node = makeNode(TypeName); + READ_LIST_FIELD(names, names, names); + READ_UINT_FIELD(type_oid, typeOid, typeOid); + READ_BOOL_FIELD(setof, setof, setof); + READ_BOOL_FIELD(pct_type, pct_type, pct_type); + READ_LIST_FIELD(typmods, typmods, typmods); + READ_INT_FIELD(typemod, typemod, typemod); + READ_LIST_FIELD(array_bounds, arrayBounds, arrayBounds); + READ_INT_FIELD(location, location, location); return node; } -static DeleteStmt * -_readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg) +static ColumnRef * +_readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg) { - DeleteStmt *node = makeNode(DeleteStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(using_clause, usingClause, usingClause); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_LIST_FIELD(returning_list, returningList, returningList); - READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + ColumnRef *node = makeNode(ColumnRef); + READ_LIST_FIELD(fields, fields, fields); + READ_INT_FIELD(location, location, location); return node; } -static UpdateStmt * -_readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg) +static ParamRef * +_readParamRef(OUT_TYPE(ParamRef, ParamRef) msg) { - UpdateStmt *node = makeNode(UpdateStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_LIST_FIELD(from_clause, fromClause, fromClause); - READ_LIST_FIELD(returning_list, returningList, returningList); - READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + ParamRef *node = makeNode(ParamRef); + READ_INT_FIELD(number, number, number); + READ_INT_FIELD(location, location, location); return node; } -static MergeStmt * -_readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg) +static A_Expr * +_readAExpr(OUT_TYPE(A_Expr, AExpr) msg) { - MergeStmt *node = makeNode(MergeStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); - READ_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); - READ_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); - READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + A_Expr *node = makeNode(A_Expr); + READ_ENUM_FIELD(A_Expr_Kind, kind, kind, kind); + READ_LIST_FIELD(name, name, name); + READ_NODE_PTR_FIELD(lexpr, lexpr, lexpr); + READ_NODE_PTR_FIELD(rexpr, rexpr, rexpr); + READ_INT_FIELD(location, location, location); return node; } -static SelectStmt * -_readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg) +static TypeCast * +_readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg) { - SelectStmt *node = makeNode(SelectStmt); - READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause); - READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_LIST_FIELD(from_clause, fromClause, fromClause); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_LIST_FIELD(group_clause, groupClause, groupClause); - READ_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct); - READ_NODE_PTR_FIELD(having_clause, havingClause, havingClause); - READ_LIST_FIELD(window_clause, windowClause, windowClause); - READ_LIST_FIELD(values_lists, valuesLists, valuesLists); - READ_LIST_FIELD(sort_clause, sortClause, sortClause); - READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset); - READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount); - READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption); - READ_LIST_FIELD(locking_clause, lockingClause, lockingClause); - READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); - READ_ENUM_FIELD(SetOperation, op, op, op); - READ_BOOL_FIELD(all, all, all); - READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg); - READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg); + TypeCast *node = makeNode(TypeCast); + READ_NODE_PTR_FIELD(arg, arg, arg); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_INT_FIELD(location, location, location); return node; } -static ReturnStmt * -_readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg) +static CollateClause * +_readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg) { - ReturnStmt *node = makeNode(ReturnStmt); - READ_NODE_PTR_FIELD(returnval, returnval, returnval); + CollateClause *node = makeNode(CollateClause); + READ_NODE_PTR_FIELD(arg, arg, arg); + READ_LIST_FIELD(collname, collname, collname); + READ_INT_FIELD(location, location, location); return node; } -static PLAssignStmt * -_readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg) +static RoleSpec * +_readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg) { - PLAssignStmt *node = makeNode(PLAssignStmt); - READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(indirection, indirection, indirection); - READ_INT_FIELD(nnames, nnames, nnames); - READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val); + RoleSpec *node = makeNode(RoleSpec); + READ_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype); + READ_STRING_FIELD(rolename, rolename, rolename); READ_INT_FIELD(location, location, location); return node; } -static AlterTableStmt * -_readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg) +static FuncCall * +_readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg) { - AlterTableStmt *node = makeNode(AlterTableStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(cmds, cmds, cmds); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + FuncCall *node = makeNode(FuncCall); + READ_LIST_FIELD(funcname, funcname, funcname); + READ_LIST_FIELD(args, args, args); + READ_LIST_FIELD(agg_order, agg_order, agg_order); + READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); + READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); + READ_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group); + READ_BOOL_FIELD(agg_star, agg_star, agg_star); + READ_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct); + READ_BOOL_FIELD(func_variadic, func_variadic, func_variadic); + READ_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat); + READ_INT_FIELD(location, location, location); return node; } -static AlterTableCmd * -_readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg) +static A_Star * +_readAStar(OUT_TYPE(A_Star, AStar) msg) { - AlterTableCmd *node = makeNode(AlterTableCmd); - READ_ENUM_FIELD(AlterTableType, subtype, subtype, subtype); - READ_STRING_FIELD(name, name, name); - READ_INT_FIELD(num, num, num); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); - READ_NODE_PTR_FIELD(def, def, def); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - READ_BOOL_FIELD(recurse, recurse, recurse); + A_Star *node = makeNode(A_Star); return node; } -static AlterDomainStmt * -_readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg) +static A_Indices * +_readAIndices(OUT_TYPE(A_Indices, AIndices) msg) { - AlterDomainStmt *node = makeNode(AlterDomainStmt); - READ_CHAR_FIELD(subtype, subtype, subtype); - READ_LIST_FIELD(type_name, typeName, typeName); - READ_STRING_FIELD(name, name, name); - READ_NODE_PTR_FIELD(def, def, def); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + A_Indices *node = makeNode(A_Indices); + READ_BOOL_FIELD(is_slice, is_slice, is_slice); + READ_NODE_PTR_FIELD(lidx, lidx, lidx); + READ_NODE_PTR_FIELD(uidx, uidx, uidx); return node; } -static SetOperationStmt * -_readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg) +static A_Indirection * +_readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg) { - SetOperationStmt *node = makeNode(SetOperationStmt); - READ_ENUM_FIELD(SetOperation, op, op, op); - READ_BOOL_FIELD(all, all, all); - READ_NODE_PTR_FIELD(larg, larg, larg); - READ_NODE_PTR_FIELD(rarg, rarg, rarg); - READ_LIST_FIELD(col_types, colTypes, colTypes); - READ_LIST_FIELD(col_typmods, colTypmods, colTypmods); - READ_LIST_FIELD(col_collations, colCollations, colCollations); - READ_LIST_FIELD(group_clauses, groupClauses, groupClauses); + A_Indirection *node = makeNode(A_Indirection); + READ_NODE_PTR_FIELD(arg, arg, arg); + READ_LIST_FIELD(indirection, indirection, indirection); return node; } -static GrantStmt * -_readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg) +static A_ArrayExpr * +_readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg) { - GrantStmt *node = makeNode(GrantStmt); - READ_BOOL_FIELD(is_grant, is_grant, is_grant); - READ_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_LIST_FIELD(objects, objects, objects); - READ_LIST_FIELD(privileges, privileges, privileges); - READ_LIST_FIELD(grantees, grantees, grantees); - READ_BOOL_FIELD(grant_option, grant_option, grant_option); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + A_ArrayExpr *node = makeNode(A_ArrayExpr); + READ_LIST_FIELD(elements, elements, elements); + READ_INT_FIELD(location, location, location); return node; } -static GrantRoleStmt * -_readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg) +static ResTarget * +_readResTarget(OUT_TYPE(ResTarget, ResTarget) msg) { - GrantRoleStmt *node = makeNode(GrantRoleStmt); - READ_LIST_FIELD(granted_roles, granted_roles, granted_roles); - READ_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles); - READ_BOOL_FIELD(is_grant, is_grant, is_grant); - READ_BOOL_FIELD(admin_opt, admin_opt, admin_opt); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + ResTarget *node = makeNode(ResTarget); + READ_STRING_FIELD(name, name, name); + READ_LIST_FIELD(indirection, indirection, indirection); + READ_NODE_PTR_FIELD(val, val, val); + READ_INT_FIELD(location, location, location); return node; } -static AlterDefaultPrivilegesStmt * -_readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg) +static MultiAssignRef * +_readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg) { - AlterDefaultPrivilegesStmt *node = makeNode(AlterDefaultPrivilegesStmt); - READ_LIST_FIELD(options, options, options); - READ_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action); + MultiAssignRef *node = makeNode(MultiAssignRef); + READ_NODE_PTR_FIELD(source, source, source); + READ_INT_FIELD(colno, colno, colno); + READ_INT_FIELD(ncolumns, ncolumns, ncolumns); return node; } -static ClosePortalStmt * -_readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg) +static SortBy * +_readSortBy(OUT_TYPE(SortBy, SortBy) msg) { - ClosePortalStmt *node = makeNode(ClosePortalStmt); - READ_STRING_FIELD(portalname, portalname, portalname); + SortBy *node = makeNode(SortBy); + READ_NODE_PTR_FIELD(node, node, node); + READ_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir); + READ_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls); + READ_LIST_FIELD(use_op, useOp, useOp); + READ_INT_FIELD(location, location, location); return node; } -static ClusterStmt * -_readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg) +static WindowDef * +_readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg) { - ClusterStmt *node = makeNode(ClusterStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_STRING_FIELD(indexname, indexname, indexname); - READ_LIST_FIELD(params, params, params); + WindowDef *node = makeNode(WindowDef); + READ_STRING_FIELD(name, name, name); + READ_STRING_FIELD(refname, refname, refname); + READ_LIST_FIELD(partition_clause, partitionClause, partitionClause); + READ_LIST_FIELD(order_clause, orderClause, orderClause); + READ_INT_FIELD(frame_options, frameOptions, frameOptions); + READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset); + READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset); + READ_INT_FIELD(location, location, location); return node; } -static CopyStmt * -_readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg) +static RangeSubselect * +_readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg) { - CopyStmt *node = makeNode(CopyStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(query, query, query); - READ_LIST_FIELD(attlist, attlist, attlist); - READ_BOOL_FIELD(is_from, is_from, is_from); - READ_BOOL_FIELD(is_program, is_program, is_program); - READ_STRING_FIELD(filename, filename, filename); - READ_LIST_FIELD(options, options, options); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + RangeSubselect *node = makeNode(RangeSubselect); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_NODE_PTR_FIELD(subquery, subquery, subquery); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); return node; } -static CreateStmt * -_readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg) +static RangeFunction * +_readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg) { - CreateStmt *node = makeNode(CreateStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(table_elts, tableElts, tableElts); - READ_LIST_FIELD(inh_relations, inhRelations, inhRelations); - READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound); - READ_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename); - READ_LIST_FIELD(constraints, constraints, constraints); - READ_LIST_FIELD(options, options, options); - READ_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit); - READ_STRING_FIELD(tablespacename, tablespacename, tablespacename); - READ_STRING_FIELD(access_method, accessMethod, accessMethod); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + RangeFunction *node = makeNode(RangeFunction); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_BOOL_FIELD(ordinality, ordinality, ordinality); + READ_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom); + READ_LIST_FIELD(functions, functions, functions); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_LIST_FIELD(coldeflist, coldeflist, coldeflist); return node; } -static DefineStmt * -_readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg) +static RangeTableFunc * +_readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg) { - DefineStmt *node = makeNode(DefineStmt); - READ_ENUM_FIELD(ObjectType, kind, kind, kind); - READ_BOOL_FIELD(oldstyle, oldstyle, oldstyle); - READ_LIST_FIELD(defnames, defnames, defnames); - READ_LIST_FIELD(args, args, args); - READ_LIST_FIELD(definition, definition, definition); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); - READ_BOOL_FIELD(replace, replace, replace); + RangeTableFunc *node = makeNode(RangeTableFunc); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr); + READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr); + READ_LIST_FIELD(namespaces, namespaces, namespaces); + READ_LIST_FIELD(columns, columns, columns); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_INT_FIELD(location, location, location); return node; } -static DropStmt * -_readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg) +static RangeTableFuncCol * +_readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg) { - DropStmt *node = makeNode(DropStmt); - READ_LIST_FIELD(objects, objects, objects); - READ_ENUM_FIELD(ObjectType, remove_type, removeType, removeType); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - READ_BOOL_FIELD(concurrent, concurrent, concurrent); + RangeTableFuncCol *node = makeNode(RangeTableFuncCol); + READ_STRING_FIELD(colname, colname, colname); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality); + READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null); + READ_NODE_PTR_FIELD(colexpr, colexpr, colexpr); + READ_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr); + READ_INT_FIELD(location, location, location); return node; } -static TruncateStmt * -_readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg) +static RangeTableSample * +_readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg) { - TruncateStmt *node = makeNode(TruncateStmt); - READ_LIST_FIELD(relations, relations, relations); - READ_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + RangeTableSample *node = makeNode(RangeTableSample); + READ_NODE_PTR_FIELD(relation, relation, relation); + READ_LIST_FIELD(method, method, method); + READ_LIST_FIELD(args, args, args); + READ_NODE_PTR_FIELD(repeatable, repeatable, repeatable); + READ_INT_FIELD(location, location, location); return node; } -static CommentStmt * -_readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg) +static ColumnDef * +_readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg) { - CommentStmt *node = makeNode(CommentStmt); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_NODE_PTR_FIELD(object, object, object); - READ_STRING_FIELD(comment, comment, comment); + ColumnDef *node = makeNode(ColumnDef); + READ_STRING_FIELD(colname, colname, colname); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_STRING_FIELD(compression, compression, compression); + READ_INT_FIELD(inhcount, inhcount, inhcount); + READ_BOOL_FIELD(is_local, is_local, is_local); + READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null); + READ_BOOL_FIELD(is_from_type, is_from_type, is_from_type); + READ_CHAR_FIELD(storage, storage, storage); + READ_STRING_FIELD(storage_name, storage_name, storage_name); + READ_NODE_PTR_FIELD(raw_default, raw_default, raw_default); + READ_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default); + READ_CHAR_FIELD(identity, identity, identity); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence); + READ_CHAR_FIELD(generated, generated, generated); + READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); + READ_UINT_FIELD(coll_oid, collOid, collOid); + READ_LIST_FIELD(constraints, constraints, constraints); + READ_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions); + READ_INT_FIELD(location, location, location); return node; } -static FetchStmt * -_readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg) +static TableLikeClause * +_readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg) { - FetchStmt *node = makeNode(FetchStmt); - READ_ENUM_FIELD(FetchDirection, direction, direction, direction); - READ_LONG_FIELD(how_many, howMany, howMany); - READ_STRING_FIELD(portalname, portalname, portalname); - READ_BOOL_FIELD(ismove, ismove, ismove); + TableLikeClause *node = makeNode(TableLikeClause); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_UINT_FIELD(options, options, options); + READ_UINT_FIELD(relation_oid, relationOid, relationOid); return node; } -static IndexStmt * -_readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg) +static IndexElem * +_readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg) { - IndexStmt *node = makeNode(IndexStmt); - READ_STRING_FIELD(idxname, idxname, idxname); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_STRING_FIELD(access_method, accessMethod, accessMethod); - READ_STRING_FIELD(table_space, tableSpace, tableSpace); - READ_LIST_FIELD(index_params, indexParams, indexParams); - READ_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams); - READ_LIST_FIELD(options, options, options); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames); - READ_STRING_FIELD(idxcomment, idxcomment, idxcomment); - READ_UINT_FIELD(index_oid, indexOid, indexOid); - READ_UINT_FIELD(old_node, oldNode, oldNode); - READ_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid); - READ_UINT_FIELD(old_first_relfilenode_subid, oldFirstRelfilenodeSubid, oldFirstRelfilenodeSubid); - READ_BOOL_FIELD(unique, unique, unique); - READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); - READ_BOOL_FIELD(primary, primary, primary); - READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint); - READ_BOOL_FIELD(deferrable, deferrable, deferrable); - READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - READ_BOOL_FIELD(transformed, transformed, transformed); + IndexElem *node = makeNode(IndexElem); + READ_STRING_FIELD(name, name, name); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_STRING_FIELD(indexcolname, indexcolname, indexcolname); + READ_LIST_FIELD(collation, collation, collation); + READ_LIST_FIELD(opclass, opclass, opclass); + READ_LIST_FIELD(opclassopts, opclassopts, opclassopts); + READ_ENUM_FIELD(SortByDir, ordering, ordering, ordering); + READ_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering); + return node; +} + +static DefElem * +_readDefElem(OUT_TYPE(DefElem, DefElem) msg) +{ + DefElem *node = makeNode(DefElem); + READ_STRING_FIELD(defnamespace, defnamespace, defnamespace); + READ_STRING_FIELD(defname, defname, defname); + READ_NODE_PTR_FIELD(arg, arg, arg); + READ_ENUM_FIELD(DefElemAction, defaction, defaction, defaction); + READ_INT_FIELD(location, location, location); + return node; +} + +static LockingClause * +_readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg) +{ + LockingClause *node = makeNode(LockingClause); + READ_LIST_FIELD(locked_rels, lockedRels, lockedRels); + READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength); + READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); + return node; +} + +static XmlSerialize * +_readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg) +{ + XmlSerialize *node = makeNode(XmlSerialize); + READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_BOOL_FIELD(indent, indent, indent); + READ_INT_FIELD(location, location, location); + return node; +} + +static PartitionElem * +_readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg) +{ + PartitionElem *node = makeNode(PartitionElem); + READ_STRING_FIELD(name, name, name); + READ_NODE_PTR_FIELD(expr, expr, expr); + READ_LIST_FIELD(collation, collation, collation); + READ_LIST_FIELD(opclass, opclass, opclass); + READ_INT_FIELD(location, location, location); + return node; +} + +static PartitionSpec * +_readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg) +{ + PartitionSpec *node = makeNode(PartitionSpec); + READ_ENUM_FIELD(PartitionStrategy, strategy, strategy, strategy); + READ_LIST_FIELD(part_params, partParams, partParams); + READ_INT_FIELD(location, location, location); + return node; +} + +static PartitionBoundSpec * +_readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg) +{ + PartitionBoundSpec *node = makeNode(PartitionBoundSpec); + READ_CHAR_FIELD(strategy, strategy, strategy); + READ_BOOL_FIELD(is_default, is_default, is_default); + READ_INT_FIELD(modulus, modulus, modulus); + READ_INT_FIELD(remainder, remainder, remainder); + READ_LIST_FIELD(listdatums, listdatums, listdatums); + READ_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums); + READ_LIST_FIELD(upperdatums, upperdatums, upperdatums); + READ_INT_FIELD(location, location, location); + return node; +} + +static PartitionRangeDatum * +_readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg) +{ + PartitionRangeDatum *node = makeNode(PartitionRangeDatum); + READ_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind); + READ_NODE_PTR_FIELD(value, value, value); + READ_INT_FIELD(location, location, location); + return node; +} + +static SinglePartitionSpec * +_readSinglePartitionSpec(OUT_TYPE(SinglePartitionSpec, SinglePartitionSpec) msg) +{ + SinglePartitionSpec *node = makeNode(SinglePartitionSpec); + return node; +} + +static PartitionCmd * +_readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg) +{ + PartitionCmd *node = makeNode(PartitionCmd); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name); + READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound); READ_BOOL_FIELD(concurrent, concurrent, concurrent); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); - READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); return node; } -static CreateFunctionStmt * -_readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg) +static RangeTblEntry * +_readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg) +{ + RangeTblEntry *node = makeNode(RangeTblEntry); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); + READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); + READ_UINT_FIELD(relid, relid, relid); + READ_BOOL_FIELD(inh, inh, inh); + READ_CHAR_FIELD(relkind, relkind, relkind); + READ_INT_FIELD(rellockmode, rellockmode, rellockmode); + READ_UINT_FIELD(perminfoindex, perminfoindex, perminfoindex); + READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); + READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); + READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier); + READ_ENUM_FIELD(JoinType, jointype, jointype, jointype); + READ_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols); + READ_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars); + READ_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols); + READ_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias); + READ_LIST_FIELD(functions, functions, functions); + READ_BOOL_FIELD(funcordinality, funcordinality, funcordinality); + READ_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc); + READ_LIST_FIELD(values_lists, values_lists, values_lists); + READ_STRING_FIELD(ctename, ctename, ctename); + READ_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup); + READ_BOOL_FIELD(self_reference, self_reference, self_reference); + READ_LIST_FIELD(coltypes, coltypes, coltypes); + READ_LIST_FIELD(coltypmods, coltypmods, coltypmods); + READ_LIST_FIELD(colcollations, colcollations, colcollations); + READ_STRING_FIELD(enrname, enrname, enrname); + READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); + READ_LIST_FIELD(security_quals, securityQuals, securityQuals); + return node; +} + +static RTEPermissionInfo * +_readRTEPermissionInfo(OUT_TYPE(RTEPermissionInfo, RTEPermissionInfo) msg) +{ + RTEPermissionInfo *node = makeNode(RTEPermissionInfo); + READ_UINT_FIELD(relid, relid, relid); + READ_BOOL_FIELD(inh, inh, inh); + READ_UINT64_FIELD(required_perms, requiredPerms, requiredPerms); + READ_UINT_FIELD(check_as_user, checkAsUser, checkAsUser); + READ_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols); + READ_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols); + READ_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols); + return node; +} + +static RangeTblFunction * +_readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg) +{ + RangeTblFunction *node = makeNode(RangeTblFunction); + READ_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr); + READ_INT_FIELD(funccolcount, funccolcount, funccolcount); + READ_LIST_FIELD(funccolnames, funccolnames, funccolnames); + READ_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes); + READ_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods); + READ_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations); + READ_BITMAPSET_FIELD(funcparams, funcparams, funcparams); + return node; +} + +static TableSampleClause * +_readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg) +{ + TableSampleClause *node = makeNode(TableSampleClause); + READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler); + READ_LIST_FIELD(args, args, args); + READ_ABSTRACT_PTR_FIELD(repeatable, repeatable, repeatable, Expr*); + return node; +} + +static WithCheckOption * +_readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg) +{ + WithCheckOption *node = makeNode(WithCheckOption); + READ_ENUM_FIELD(WCOKind, kind, kind, kind); + READ_STRING_FIELD(relname, relname, relname); + READ_STRING_FIELD(polname, polname, polname); + READ_NODE_PTR_FIELD(qual, qual, qual); + READ_BOOL_FIELD(cascaded, cascaded, cascaded); + return node; +} + +static SortGroupClause * +_readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg) +{ + SortGroupClause *node = makeNode(SortGroupClause); + READ_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef); + READ_UINT_FIELD(eqop, eqop, eqop); + READ_UINT_FIELD(sortop, sortop, sortop); + READ_BOOL_FIELD(nulls_first, nulls_first, nulls_first); + READ_BOOL_FIELD(hashable, hashable, hashable); + return node; +} + +static GroupingSet * +_readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg) +{ + GroupingSet *node = makeNode(GroupingSet); + READ_ENUM_FIELD(GroupingSetKind, kind, kind, kind); + READ_LIST_FIELD(content, content, content); + READ_INT_FIELD(location, location, location); + return node; +} + +static WindowClause * +_readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg) +{ + WindowClause *node = makeNode(WindowClause); + READ_STRING_FIELD(name, name, name); + READ_STRING_FIELD(refname, refname, refname); + READ_LIST_FIELD(partition_clause, partitionClause, partitionClause); + READ_LIST_FIELD(order_clause, orderClause, orderClause); + READ_INT_FIELD(frame_options, frameOptions, frameOptions); + READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset); + READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset); + READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); + READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); + READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); + READ_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc); + READ_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst); + READ_UINT_FIELD(winref, winref, winref); + READ_BOOL_FIELD(copied_order, copiedOrder, copiedOrder); + return node; +} + +static RowMarkClause * +_readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg) +{ + RowMarkClause *node = makeNode(RowMarkClause); + READ_UINT_FIELD(rti, rti, rti); + READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength); + READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); + READ_BOOL_FIELD(pushed_down, pushedDown, pushedDown); + return node; +} + +static WithClause * +_readWithClause(OUT_TYPE(WithClause, WithClause) msg) +{ + WithClause *node = makeNode(WithClause); + READ_LIST_FIELD(ctes, ctes, ctes); + READ_BOOL_FIELD(recursive, recursive, recursive); + READ_INT_FIELD(location, location, location); + return node; +} + +static InferClause * +_readInferClause(OUT_TYPE(InferClause, InferClause) msg) +{ + InferClause *node = makeNode(InferClause); + READ_LIST_FIELD(index_elems, indexElems, indexElems); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_STRING_FIELD(conname, conname, conname); + READ_INT_FIELD(location, location, location); + return node; +} + +static OnConflictClause * +_readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg) { - CreateFunctionStmt *node = makeNode(CreateFunctionStmt); - READ_BOOL_FIELD(is_procedure, is_procedure, is_procedure); - READ_BOOL_FIELD(replace, replace, replace); - READ_LIST_FIELD(funcname, funcname, funcname); - READ_LIST_FIELD(parameters, parameters, parameters); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType); - READ_LIST_FIELD(options, options, options); - READ_NODE_PTR_FIELD(sql_body, sql_body, sql_body); + OnConflictClause *node = makeNode(OnConflictClause); + READ_ENUM_FIELD(OnConflictAction, action, action, action); + READ_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_INT_FIELD(location, location, location); return node; } -static AlterFunctionStmt * -_readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg) +static CTESearchClause * +_readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg) { - AlterFunctionStmt *node = makeNode(AlterFunctionStmt); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); - READ_LIST_FIELD(actions, actions, actions); + CTESearchClause *node = makeNode(CTESearchClause); + READ_LIST_FIELD(search_col_list, search_col_list, search_col_list); + READ_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first); + READ_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column); + READ_INT_FIELD(location, location, location); return node; } -static DoStmt * -_readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg) +static CTECycleClause * +_readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg) { - DoStmt *node = makeNode(DoStmt); - READ_LIST_FIELD(args, args, args); + CTECycleClause *node = makeNode(CTECycleClause); + READ_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list); + READ_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column); + READ_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value); + READ_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default); + READ_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column); + READ_INT_FIELD(location, location, location); + READ_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type); + READ_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod); + READ_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation); + READ_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop); return node; } -static RenameStmt * -_readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg) +static CommonTableExpr * +_readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg) { - RenameStmt *node = makeNode(RenameStmt); - READ_ENUM_FIELD(ObjectType, rename_type, renameType, renameType); - READ_ENUM_FIELD(ObjectType, relation_type, relationType, relationType); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(object, object, object); - READ_STRING_FIELD(subname, subname, subname); - READ_STRING_FIELD(newname, newname, newname); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + CommonTableExpr *node = makeNode(CommonTableExpr); + READ_STRING_FIELD(ctename, ctename, ctename); + READ_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames); + READ_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized); + READ_NODE_PTR_FIELD(ctequery, ctequery, ctequery); + READ_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause); + READ_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause); + READ_INT_FIELD(location, location, location); + READ_BOOL_FIELD(cterecursive, cterecursive, cterecursive); + READ_INT_FIELD(cterefcount, cterefcount, cterefcount); + READ_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames); + READ_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes); + READ_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods); + READ_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations); return node; } -static RuleStmt * -_readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg) +static MergeWhenClause * +_readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg) { - RuleStmt *node = makeNode(RuleStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_STRING_FIELD(rulename, rulename, rulename); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_ENUM_FIELD(CmdType, event, event, event); - READ_BOOL_FIELD(instead, instead, instead); - READ_LIST_FIELD(actions, actions, actions); - READ_BOOL_FIELD(replace, replace, replace); + MergeWhenClause *node = makeNode(MergeWhenClause); + READ_ENUM_FIELD(MergeMatchKind, match_kind, matchKind, matchKind); + READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); + READ_ENUM_FIELD(OverridingKind, override, override, override); + READ_NODE_PTR_FIELD(condition, condition, condition); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_LIST_FIELD(values, values, values); return node; } -static NotifyStmt * -_readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg) +static TriggerTransition * +_readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg) { - NotifyStmt *node = makeNode(NotifyStmt); - READ_STRING_FIELD(conditionname, conditionname, conditionname); - READ_STRING_FIELD(payload, payload, payload); + TriggerTransition *node = makeNode(TriggerTransition); + READ_STRING_FIELD(name, name, name); + READ_BOOL_FIELD(is_new, isNew, isNew); + READ_BOOL_FIELD(is_table, isTable, isTable); return node; } -static ListenStmt * -_readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg) +static JsonOutput * +_readJsonOutput(OUT_TYPE(JsonOutput, JsonOutput) msg) { - ListenStmt *node = makeNode(ListenStmt); - READ_STRING_FIELD(conditionname, conditionname, conditionname); + JsonOutput *node = makeNode(JsonOutput); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_SPECIFIC_NODE_PTR_FIELD(JsonReturning, json_returning, returning, returning, returning); return node; } -static UnlistenStmt * -_readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg) +static JsonArgument * +_readJsonArgument(OUT_TYPE(JsonArgument, JsonArgument) msg) { - UnlistenStmt *node = makeNode(UnlistenStmt); - READ_STRING_FIELD(conditionname, conditionname, conditionname); + JsonArgument *node = makeNode(JsonArgument); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, val, val, val); + READ_STRING_FIELD(name, name, name); return node; } -static TransactionStmt * -_readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg) +static JsonFuncExpr * +_readJsonFuncExpr(OUT_TYPE(JsonFuncExpr, JsonFuncExpr) msg) { - TransactionStmt *node = makeNode(TransactionStmt); - READ_ENUM_FIELD(TransactionStmtKind, kind, kind, kind); - READ_LIST_FIELD(options, options, options); - READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); - READ_STRING_FIELD(gid, gid, gid); - READ_BOOL_FIELD(chain, chain, chain); + JsonFuncExpr *node = makeNode(JsonFuncExpr); + READ_ENUM_FIELD(JsonExprOp, op, op, op); + READ_STRING_FIELD(column_name, column_name, column_name); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + READ_NODE_PTR_FIELD(pathspec, pathspec, pathspec); + READ_LIST_FIELD(passing, passing, passing); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + READ_INT_FIELD(location, location, location); return node; } -static ViewStmt * -_readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg) +static JsonTablePathSpec * +_readJsonTablePathSpec(OUT_TYPE(JsonTablePathSpec, JsonTablePathSpec) msg) { - ViewStmt *node = makeNode(ViewStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view); - READ_LIST_FIELD(aliases, aliases, aliases); - READ_NODE_PTR_FIELD(query, query, query); - READ_BOOL_FIELD(replace, replace, replace); - READ_LIST_FIELD(options, options, options); - READ_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption); + JsonTablePathSpec *node = makeNode(JsonTablePathSpec); + READ_NODE_PTR_FIELD(string, string, string); + READ_STRING_FIELD(name, name, name); + READ_INT_FIELD(name_location, name_location, name_location); + READ_INT_FIELD(location, location, location); return node; } -static LoadStmt * -_readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg) +static JsonTable * +_readJsonTable(OUT_TYPE(JsonTable, JsonTable) msg) { - LoadStmt *node = makeNode(LoadStmt); - READ_STRING_FIELD(filename, filename, filename); + JsonTable *node = makeNode(JsonTable); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, context_item, context_item, context_item); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + READ_LIST_FIELD(passing, passing, passing); + READ_LIST_FIELD(columns, columns, columns); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + READ_BOOL_FIELD(lateral, lateral, lateral); + READ_INT_FIELD(location, location, location); return node; } -static CreateDomainStmt * -_readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg) +static JsonTableColumn * +_readJsonTableColumn(OUT_TYPE(JsonTableColumn, JsonTableColumn) msg) { - CreateDomainStmt *node = makeNode(CreateDomainStmt); - READ_LIST_FIELD(domainname, domainname, domainname); + JsonTableColumn *node = makeNode(JsonTableColumn); + READ_ENUM_FIELD(JsonTableColumnType, coltype, coltype, coltype); + READ_STRING_FIELD(name, name, name); READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); - READ_LIST_FIELD(constraints, constraints, constraints); + READ_SPECIFIC_NODE_PTR_FIELD(JsonTablePathSpec, json_table_path_spec, pathspec, pathspec, pathspec); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_ENUM_FIELD(JsonWrapper, wrapper, wrapper, wrapper); + READ_ENUM_FIELD(JsonQuotes, quotes, quotes, quotes); + READ_LIST_FIELD(columns, columns, columns); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_empty, on_empty, on_empty); + READ_SPECIFIC_NODE_PTR_FIELD(JsonBehavior, json_behavior, on_error, on_error, on_error); + READ_INT_FIELD(location, location, location); return node; } -static CreatedbStmt * -_readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg) +static JsonKeyValue * +_readJsonKeyValue(OUT_TYPE(JsonKeyValue, JsonKeyValue) msg) { - CreatedbStmt *node = makeNode(CreatedbStmt); - READ_STRING_FIELD(dbname, dbname, dbname); - READ_LIST_FIELD(options, options, options); + JsonKeyValue *node = makeNode(JsonKeyValue); + READ_ABSTRACT_PTR_FIELD(key, key, key, Expr*); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, value, value, value); return node; } -static DropdbStmt * -_readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg) +static JsonParseExpr * +_readJsonParseExpr(OUT_TYPE(JsonParseExpr, JsonParseExpr) msg) { - DropdbStmt *node = makeNode(DropdbStmt); - READ_STRING_FIELD(dbname, dbname, dbname); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - READ_LIST_FIELD(options, options, options); + JsonParseExpr *node = makeNode(JsonParseExpr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_BOOL_FIELD(unique_keys, unique_keys, unique_keys); + READ_INT_FIELD(location, location, location); return node; } -static VacuumStmt * -_readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg) +static JsonScalarExpr * +_readJsonScalarExpr(OUT_TYPE(JsonScalarExpr, JsonScalarExpr) msg) { - VacuumStmt *node = makeNode(VacuumStmt); - READ_LIST_FIELD(options, options, options); - READ_LIST_FIELD(rels, rels, rels); - READ_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd); + JsonScalarExpr *node = makeNode(JsonScalarExpr); + READ_ABSTRACT_PTR_FIELD(expr, expr, expr, Expr*); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_INT_FIELD(location, location, location); return node; } -static ExplainStmt * -_readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg) +static JsonSerializeExpr * +_readJsonSerializeExpr(OUT_TYPE(JsonSerializeExpr, JsonSerializeExpr) msg) { - ExplainStmt *node = makeNode(ExplainStmt); - READ_NODE_PTR_FIELD(query, query, query); - READ_LIST_FIELD(options, options, options); + JsonSerializeExpr *node = makeNode(JsonSerializeExpr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, expr, expr, expr); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_INT_FIELD(location, location, location); return node; } -static CreateTableAsStmt * -_readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg) +static JsonObjectConstructor * +_readJsonObjectConstructor(OUT_TYPE(JsonObjectConstructor, JsonObjectConstructor) msg) { - CreateTableAsStmt *node = makeNode(CreateTableAsStmt); - READ_NODE_PTR_FIELD(query, query, query); - READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_BOOL_FIELD(is_select_into, is_select_into, is_select_into); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + JsonObjectConstructor *node = makeNode(JsonObjectConstructor); + READ_LIST_FIELD(exprs, exprs, exprs); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + READ_BOOL_FIELD(unique, unique, unique); + READ_INT_FIELD(location, location, location); return node; } -static CreateSeqStmt * -_readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg) +static JsonArrayConstructor * +_readJsonArrayConstructor(OUT_TYPE(JsonArrayConstructor, JsonArrayConstructor) msg) { - CreateSeqStmt *node = makeNode(CreateSeqStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); - READ_LIST_FIELD(options, options, options); - READ_UINT_FIELD(owner_id, ownerId, ownerId); - READ_BOOL_FIELD(for_identity, for_identity, for_identity); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + JsonArrayConstructor *node = makeNode(JsonArrayConstructor); + READ_LIST_FIELD(exprs, exprs, exprs); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + READ_INT_FIELD(location, location, location); return node; } -static AlterSeqStmt * -_readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg) +static JsonArrayQueryConstructor * +_readJsonArrayQueryConstructor(OUT_TYPE(JsonArrayQueryConstructor, JsonArrayQueryConstructor) msg) { - AlterSeqStmt *node = makeNode(AlterSeqStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); - READ_LIST_FIELD(options, options, options); - READ_BOOL_FIELD(for_identity, for_identity, for_identity); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + JsonArrayQueryConstructor *node = makeNode(JsonArrayQueryConstructor); + READ_NODE_PTR_FIELD(query, query, query); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_SPECIFIC_NODE_PTR_FIELD(JsonFormat, json_format, format, format, format); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + READ_INT_FIELD(location, location, location); return node; } -static VariableSetStmt * -_readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg) +static JsonAggConstructor * +_readJsonAggConstructor(OUT_TYPE(JsonAggConstructor, JsonAggConstructor) msg) { - VariableSetStmt *node = makeNode(VariableSetStmt); - READ_ENUM_FIELD(VariableSetKind, kind, kind, kind); - READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(args, args, args); - READ_BOOL_FIELD(is_local, is_local, is_local); + JsonAggConstructor *node = makeNode(JsonAggConstructor); + READ_SPECIFIC_NODE_PTR_FIELD(JsonOutput, json_output, output, output, output); + READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); + READ_LIST_FIELD(agg_order, agg_order, agg_order); + READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); + READ_INT_FIELD(location, location, location); return node; } -static VariableShowStmt * -_readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg) +static JsonObjectAgg * +_readJsonObjectAgg(OUT_TYPE(JsonObjectAgg, JsonObjectAgg) msg) { - VariableShowStmt *node = makeNode(VariableShowStmt); - READ_STRING_FIELD(name, name, name); + JsonObjectAgg *node = makeNode(JsonObjectAgg); + READ_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor); + READ_SPECIFIC_NODE_PTR_FIELD(JsonKeyValue, json_key_value, arg, arg, arg); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); + READ_BOOL_FIELD(unique, unique, unique); return node; } -static DiscardStmt * -_readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg) +static JsonArrayAgg * +_readJsonArrayAgg(OUT_TYPE(JsonArrayAgg, JsonArrayAgg) msg) { - DiscardStmt *node = makeNode(DiscardStmt); - READ_ENUM_FIELD(DiscardMode, target, target, target); + JsonArrayAgg *node = makeNode(JsonArrayAgg); + READ_SPECIFIC_NODE_PTR_FIELD(JsonAggConstructor, json_agg_constructor, constructor, constructor, constructor); + READ_SPECIFIC_NODE_PTR_FIELD(JsonValueExpr, json_value_expr, arg, arg, arg); + READ_BOOL_FIELD(absent_on_null, absent_on_null, absent_on_null); return node; } -static CreateTrigStmt * -_readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg) -{ - CreateTrigStmt *node = makeNode(CreateTrigStmt); - READ_BOOL_FIELD(replace, replace, replace); - READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint); - READ_STRING_FIELD(trigname, trigname, trigname); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_LIST_FIELD(funcname, funcname, funcname); - READ_LIST_FIELD(args, args, args); - READ_BOOL_FIELD(row, row, row); - READ_INT_FIELD(timing, timing, timing); - READ_INT_FIELD(events, events, events); - READ_LIST_FIELD(columns, columns, columns); - READ_NODE_PTR_FIELD(when_clause, whenClause, whenClause); - READ_LIST_FIELD(transition_rels, transitionRels, transitionRels); - READ_BOOL_FIELD(deferrable, deferrable, deferrable); - READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel); +static RawStmt * +_readRawStmt(OUT_TYPE(RawStmt, RawStmt) msg) +{ + RawStmt *node = makeNode(RawStmt); + READ_NODE_PTR_FIELD(stmt, stmt, stmt); + READ_INT_FIELD(stmt_location, stmt_location, stmt_location); + READ_INT_FIELD(stmt_len, stmt_len, stmt_len); return node; } -static CreatePLangStmt * -_readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg) +static InsertStmt * +_readInsertStmt(OUT_TYPE(InsertStmt, InsertStmt) msg) { - CreatePLangStmt *node = makeNode(CreatePLangStmt); - READ_BOOL_FIELD(replace, replace, replace); - READ_STRING_FIELD(plname, plname, plname); - READ_LIST_FIELD(plhandler, plhandler, plhandler); - READ_LIST_FIELD(plinline, plinline, plinline); - READ_LIST_FIELD(plvalidator, plvalidator, plvalidator); - READ_BOOL_FIELD(pltrusted, pltrusted, pltrusted); + InsertStmt *node = makeNode(InsertStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(cols, cols, cols); + READ_NODE_PTR_FIELD(select_stmt, selectStmt, selectStmt); + READ_SPECIFIC_NODE_PTR_FIELD(OnConflictClause, on_conflict_clause, on_conflict_clause, onConflictClause, onConflictClause); + READ_LIST_FIELD(returning_list, returningList, returningList); + READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + READ_ENUM_FIELD(OverridingKind, override, override, override); return node; } -static CreateRoleStmt * -_readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg) +static DeleteStmt * +_readDeleteStmt(OUT_TYPE(DeleteStmt, DeleteStmt) msg) { - CreateRoleStmt *node = makeNode(CreateRoleStmt); - READ_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type); - READ_STRING_FIELD(role, role, role); - READ_LIST_FIELD(options, options, options); + DeleteStmt *node = makeNode(DeleteStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(using_clause, usingClause, usingClause); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_LIST_FIELD(returning_list, returningList, returningList); + READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); return node; } -static AlterRoleStmt * -_readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg) +static UpdateStmt * +_readUpdateStmt(OUT_TYPE(UpdateStmt, UpdateStmt) msg) { - AlterRoleStmt *node = makeNode(AlterRoleStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); - READ_LIST_FIELD(options, options, options); - READ_INT_FIELD(action, action, action); + UpdateStmt *node = makeNode(UpdateStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_LIST_FIELD(from_clause, fromClause, fromClause); + READ_LIST_FIELD(returning_list, returningList, returningList); + READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); return node; } -static DropRoleStmt * -_readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg) +static MergeStmt * +_readMergeStmt(OUT_TYPE(MergeStmt, MergeStmt) msg) { - DropRoleStmt *node = makeNode(DropRoleStmt); - READ_LIST_FIELD(roles, roles, roles); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + MergeStmt *node = makeNode(MergeStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(source_relation, sourceRelation, sourceRelation); + READ_NODE_PTR_FIELD(join_condition, joinCondition, joinCondition); + READ_LIST_FIELD(merge_when_clauses, mergeWhenClauses, mergeWhenClauses); + READ_LIST_FIELD(returning_list, returningList, returningList); + READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); return node; } -static LockStmt * -_readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg) +static SelectStmt * +_readSelectStmt(OUT_TYPE(SelectStmt, SelectStmt) msg) { - LockStmt *node = makeNode(LockStmt); - READ_LIST_FIELD(relations, relations, relations); - READ_INT_FIELD(mode, mode, mode); - READ_BOOL_FIELD(nowait, nowait, nowait); + SelectStmt *node = makeNode(SelectStmt); + READ_LIST_FIELD(distinct_clause, distinctClause, distinctClause); + READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into_clause, intoClause, intoClause); + READ_LIST_FIELD(target_list, targetList, targetList); + READ_LIST_FIELD(from_clause, fromClause, fromClause); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_LIST_FIELD(group_clause, groupClause, groupClause); + READ_BOOL_FIELD(group_distinct, groupDistinct, groupDistinct); + READ_NODE_PTR_FIELD(having_clause, havingClause, havingClause); + READ_LIST_FIELD(window_clause, windowClause, windowClause); + READ_LIST_FIELD(values_lists, valuesLists, valuesLists); + READ_LIST_FIELD(sort_clause, sortClause, sortClause); + READ_NODE_PTR_FIELD(limit_offset, limitOffset, limitOffset); + READ_NODE_PTR_FIELD(limit_count, limitCount, limitCount); + READ_ENUM_FIELD(LimitOption, limit_option, limitOption, limitOption); + READ_LIST_FIELD(locking_clause, lockingClause, lockingClause); + READ_SPECIFIC_NODE_PTR_FIELD(WithClause, with_clause, with_clause, withClause, withClause); + READ_ENUM_FIELD(SetOperation, op, op, op); + READ_BOOL_FIELD(all, all, all); + READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, larg, larg, larg); + READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, rarg, rarg, rarg); return node; } -static ConstraintsSetStmt * -_readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg) +static SetOperationStmt * +_readSetOperationStmt(OUT_TYPE(SetOperationStmt, SetOperationStmt) msg) { - ConstraintsSetStmt *node = makeNode(ConstraintsSetStmt); - READ_LIST_FIELD(constraints, constraints, constraints); - READ_BOOL_FIELD(deferred, deferred, deferred); + SetOperationStmt *node = makeNode(SetOperationStmt); + READ_ENUM_FIELD(SetOperation, op, op, op); + READ_BOOL_FIELD(all, all, all); + READ_NODE_PTR_FIELD(larg, larg, larg); + READ_NODE_PTR_FIELD(rarg, rarg, rarg); + READ_LIST_FIELD(col_types, colTypes, colTypes); + READ_LIST_FIELD(col_typmods, colTypmods, colTypmods); + READ_LIST_FIELD(col_collations, colCollations, colCollations); + READ_LIST_FIELD(group_clauses, groupClauses, groupClauses); return node; } -static ReindexStmt * -_readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg) +static ReturnStmt * +_readReturnStmt(OUT_TYPE(ReturnStmt, ReturnStmt) msg) { - ReindexStmt *node = makeNode(ReindexStmt); - READ_ENUM_FIELD(ReindexObjectType, kind, kind, kind); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(params, params, params); + ReturnStmt *node = makeNode(ReturnStmt); + READ_NODE_PTR_FIELD(returnval, returnval, returnval); return node; } -static CheckPointStmt * -_readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg) +static PLAssignStmt * +_readPLAssignStmt(OUT_TYPE(PLAssignStmt, PLAssignStmt) msg) { - CheckPointStmt *node = makeNode(CheckPointStmt); + PLAssignStmt *node = makeNode(PLAssignStmt); + READ_STRING_FIELD(name, name, name); + READ_LIST_FIELD(indirection, indirection, indirection); + READ_INT_FIELD(nnames, nnames, nnames); + READ_SPECIFIC_NODE_PTR_FIELD(SelectStmt, select_stmt, val, val, val); + READ_INT_FIELD(location, location, location); return node; } @@ -1624,133 +2070,208 @@ _readCreateSchemaStmt(OUT_TYPE(CreateSchemaStmt, CreateSchemaStmt) msg) return node; } -static AlterDatabaseStmt * -_readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg) +static AlterTableStmt * +_readAlterTableStmt(OUT_TYPE(AlterTableStmt, AlterTableStmt) msg) { - AlterDatabaseStmt *node = makeNode(AlterDatabaseStmt); - READ_STRING_FIELD(dbname, dbname, dbname); - READ_LIST_FIELD(options, options, options); + AlterTableStmt *node = makeNode(AlterTableStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(cmds, cmds, cmds); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static AlterDatabaseRefreshCollStmt * -_readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg) +static ReplicaIdentityStmt * +_readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg) { - AlterDatabaseRefreshCollStmt *node = makeNode(AlterDatabaseRefreshCollStmt); - READ_STRING_FIELD(dbname, dbname, dbname); + ReplicaIdentityStmt *node = makeNode(ReplicaIdentityStmt); + READ_CHAR_FIELD(identity_type, identity_type, identity_type); + READ_STRING_FIELD(name, name, name); return node; } -static AlterDatabaseSetStmt * -_readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg) +static AlterTableCmd * +_readAlterTableCmd(OUT_TYPE(AlterTableCmd, AlterTableCmd) msg) { - AlterDatabaseSetStmt *node = makeNode(AlterDatabaseSetStmt); - READ_STRING_FIELD(dbname, dbname, dbname); - READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); + AlterTableCmd *node = makeNode(AlterTableCmd); + READ_ENUM_FIELD(AlterTableType, subtype, subtype, subtype); + READ_STRING_FIELD(name, name, name); + READ_INT_FIELD(num, num, num); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); + READ_NODE_PTR_FIELD(def, def, def); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + READ_BOOL_FIELD(recurse, recurse, recurse); return node; } -static AlterRoleSetStmt * -_readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg) +static AlterCollationStmt * +_readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg) { - AlterRoleSetStmt *node = makeNode(AlterRoleSetStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); - READ_STRING_FIELD(database, database, database); - READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); + AlterCollationStmt *node = makeNode(AlterCollationStmt); + READ_LIST_FIELD(collname, collname, collname); return node; } -static CreateConversionStmt * -_readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg) +static AlterDomainStmt * +_readAlterDomainStmt(OUT_TYPE(AlterDomainStmt, AlterDomainStmt) msg) { - CreateConversionStmt *node = makeNode(CreateConversionStmt); - READ_LIST_FIELD(conversion_name, conversion_name, conversion_name); - READ_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name); - READ_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name); - READ_LIST_FIELD(func_name, func_name, func_name); - READ_BOOL_FIELD(def, def, def); + AlterDomainStmt *node = makeNode(AlterDomainStmt); + READ_CHAR_FIELD(subtype, subtype, subtype); + READ_LIST_FIELD(type_name, typeName, typeName); + READ_STRING_FIELD(name, name, name); + READ_NODE_PTR_FIELD(def, def, def); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static CreateCastStmt * -_readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg) +static GrantStmt * +_readGrantStmt(OUT_TYPE(GrantStmt, GrantStmt) msg) { - CreateCastStmt *node = makeNode(CreateCastStmt); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); - READ_ENUM_FIELD(CoercionContext, context, context, context); - READ_BOOL_FIELD(inout, inout, inout); + GrantStmt *node = makeNode(GrantStmt); + READ_BOOL_FIELD(is_grant, is_grant, is_grant); + READ_ENUM_FIELD(GrantTargetType, targtype, targtype, targtype); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_LIST_FIELD(objects, objects, objects); + READ_LIST_FIELD(privileges, privileges, privileges); + READ_LIST_FIELD(grantees, grantees, grantees); + READ_BOOL_FIELD(grant_option, grant_option, grant_option); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); return node; } -static CreateOpClassStmt * -_readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg) +static ObjectWithArgs * +_readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg) { - CreateOpClassStmt *node = makeNode(CreateOpClassStmt); - READ_LIST_FIELD(opclassname, opclassname, opclassname); - READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - READ_STRING_FIELD(amname, amname, amname); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype); - READ_LIST_FIELD(items, items, items); - READ_BOOL_FIELD(is_default, isDefault, isDefault); + ObjectWithArgs *node = makeNode(ObjectWithArgs); + READ_LIST_FIELD(objname, objname, objname); + READ_LIST_FIELD(objargs, objargs, objargs); + READ_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs); + READ_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified); + return node; +} + +static AccessPriv * +_readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg) +{ + AccessPriv *node = makeNode(AccessPriv); + READ_STRING_FIELD(priv_name, priv_name, priv_name); + READ_LIST_FIELD(cols, cols, cols); + return node; +} + +static GrantRoleStmt * +_readGrantRoleStmt(OUT_TYPE(GrantRoleStmt, GrantRoleStmt) msg) +{ + GrantRoleStmt *node = makeNode(GrantRoleStmt); + READ_LIST_FIELD(granted_roles, granted_roles, granted_roles); + READ_LIST_FIELD(grantee_roles, grantee_roles, grantee_roles); + READ_BOOL_FIELD(is_grant, is_grant, is_grant); + READ_LIST_FIELD(opt, opt, opt); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, grantor, grantor, grantor); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); return node; } -static CreateOpFamilyStmt * -_readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg) +static AlterDefaultPrivilegesStmt * +_readAlterDefaultPrivilegesStmt(OUT_TYPE(AlterDefaultPrivilegesStmt, AlterDefaultPrivilegesStmt) msg) { - CreateOpFamilyStmt *node = makeNode(CreateOpFamilyStmt); - READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - READ_STRING_FIELD(amname, amname, amname); + AlterDefaultPrivilegesStmt *node = makeNode(AlterDefaultPrivilegesStmt); + READ_LIST_FIELD(options, options, options); + READ_SPECIFIC_NODE_PTR_FIELD(GrantStmt, grant_stmt, action, action, action); return node; } -static AlterOpFamilyStmt * -_readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg) +static CopyStmt * +_readCopyStmt(OUT_TYPE(CopyStmt, CopyStmt) msg) { - AlterOpFamilyStmt *node = makeNode(AlterOpFamilyStmt); - READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); - READ_STRING_FIELD(amname, amname, amname); - READ_BOOL_FIELD(is_drop, isDrop, isDrop); - READ_LIST_FIELD(items, items, items); + CopyStmt *node = makeNode(CopyStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(query, query, query); + READ_LIST_FIELD(attlist, attlist, attlist); + READ_BOOL_FIELD(is_from, is_from, is_from); + READ_BOOL_FIELD(is_program, is_program, is_program); + READ_STRING_FIELD(filename, filename, filename); + READ_LIST_FIELD(options, options, options); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); return node; } -static PrepareStmt * -_readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg) +static VariableSetStmt * +_readVariableSetStmt(OUT_TYPE(VariableSetStmt, VariableSetStmt) msg) { - PrepareStmt *node = makeNode(PrepareStmt); + VariableSetStmt *node = makeNode(VariableSetStmt); + READ_ENUM_FIELD(VariableSetKind, kind, kind, kind); READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(argtypes, argtypes, argtypes); - READ_NODE_PTR_FIELD(query, query, query); + READ_LIST_FIELD(args, args, args); + READ_BOOL_FIELD(is_local, is_local, is_local); return node; } -static ExecuteStmt * -_readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg) +static VariableShowStmt * +_readVariableShowStmt(OUT_TYPE(VariableShowStmt, VariableShowStmt) msg) { - ExecuteStmt *node = makeNode(ExecuteStmt); + VariableShowStmt *node = makeNode(VariableShowStmt); READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(params, params, params); return node; } -static DeallocateStmt * -_readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg) +static CreateStmt * +_readCreateStmt(OUT_TYPE(CreateStmt, CreateStmt) msg) { - DeallocateStmt *node = makeNode(DeallocateStmt); - READ_STRING_FIELD(name, name, name); + CreateStmt *node = makeNode(CreateStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(table_elts, tableElts, tableElts); + READ_LIST_FIELD(inh_relations, inhRelations, inhRelations); + READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, partbound, partbound, partbound); + READ_SPECIFIC_NODE_PTR_FIELD(PartitionSpec, partition_spec, partspec, partspec, partspec); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, of_typename, ofTypename, ofTypename); + READ_LIST_FIELD(constraints, constraints, constraints); + READ_LIST_FIELD(options, options, options); + READ_ENUM_FIELD(OnCommitAction, oncommit, oncommit, oncommit); + READ_STRING_FIELD(tablespacename, tablespacename, tablespacename); + READ_STRING_FIELD(access_method, accessMethod, accessMethod); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); return node; } -static DeclareCursorStmt * -_readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg) +static Constraint * +_readConstraint(OUT_TYPE(Constraint, Constraint) msg) { - DeclareCursorStmt *node = makeNode(DeclareCursorStmt); - READ_STRING_FIELD(portalname, portalname, portalname); - READ_INT_FIELD(options, options, options); - READ_NODE_PTR_FIELD(query, query, query); + Constraint *node = makeNode(Constraint); + READ_ENUM_FIELD(ConstrType, contype, contype, contype); + READ_STRING_FIELD(conname, conname, conname); + READ_BOOL_FIELD(deferrable, deferrable, deferrable); + READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation); + READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid); + READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); + READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); + READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); + READ_CHAR_FIELD(generated_when, generated_when, generated_when); + READ_INT_FIELD(inhcount, inhcount, inhcount); + READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); + READ_LIST_FIELD(keys, keys, keys); + READ_LIST_FIELD(including, including, including); + READ_LIST_FIELD(exclusions, exclusions, exclusions); + READ_LIST_FIELD(options, options, options); + READ_STRING_FIELD(indexname, indexname, indexname); + READ_STRING_FIELD(indexspace, indexspace, indexspace); + READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); + READ_STRING_FIELD(access_method, access_method, access_method); + READ_NODE_PTR_FIELD(where_clause, where_clause, where_clause); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable); + READ_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs); + READ_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs); + READ_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype); + READ_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action); + READ_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action); + READ_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); + READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); + READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); + READ_INT_FIELD(location, location, location); return node; } @@ -1774,137 +2295,55 @@ _readDropTableSpaceStmt(OUT_TYPE(DropTableSpaceStmt, DropTableSpaceStmt) msg) return node; } -static AlterObjectDependsStmt * -_readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg) -{ - AlterObjectDependsStmt *node = makeNode(AlterObjectDependsStmt); - READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(object, object, object); - READ_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname); - READ_BOOL_FIELD(remove, remove, remove); - return node; -} - -static AlterObjectSchemaStmt * -_readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg) -{ - AlterObjectSchemaStmt *node = makeNode(AlterObjectSchemaStmt); - READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(object, object, object); - READ_STRING_FIELD(newschema, newschema, newschema); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - return node; -} - -static AlterOwnerStmt * -_readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg) -{ - AlterOwnerStmt *node = makeNode(AlterOwnerStmt); - READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(object, object, object); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); - return node; -} - -static AlterOperatorStmt * -_readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg) -{ - AlterOperatorStmt *node = makeNode(AlterOperatorStmt); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername); - READ_LIST_FIELD(options, options, options); - return node; -} - -static AlterTypeStmt * -_readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg) +static AlterTableSpaceOptionsStmt * +_readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg) { - AlterTypeStmt *node = makeNode(AlterTypeStmt); - READ_LIST_FIELD(type_name, typeName, typeName); + AlterTableSpaceOptionsStmt *node = makeNode(AlterTableSpaceOptionsStmt); + READ_STRING_FIELD(tablespacename, tablespacename, tablespacename); READ_LIST_FIELD(options, options, options); + READ_BOOL_FIELD(is_reset, isReset, isReset); return node; } -static DropOwnedStmt * -_readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg) -{ - DropOwnedStmt *node = makeNode(DropOwnedStmt); - READ_LIST_FIELD(roles, roles, roles); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); - return node; -} - -static ReassignOwnedStmt * -_readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg) +static AlterTableMoveAllStmt * +_readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg) { - ReassignOwnedStmt *node = makeNode(ReassignOwnedStmt); + AlterTableMoveAllStmt *node = makeNode(AlterTableMoveAllStmt); + READ_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); READ_LIST_FIELD(roles, roles, roles); - READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole); - return node; -} - -static CompositeTypeStmt * -_readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg) -{ - CompositeTypeStmt *node = makeNode(CompositeTypeStmt); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar); - READ_LIST_FIELD(coldeflist, coldeflist, coldeflist); - return node; -} - -static CreateEnumStmt * -_readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg) -{ - CreateEnumStmt *node = makeNode(CreateEnumStmt); - READ_LIST_FIELD(type_name, typeName, typeName); - READ_LIST_FIELD(vals, vals, vals); - return node; -} - -static CreateRangeStmt * -_readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg) -{ - CreateRangeStmt *node = makeNode(CreateRangeStmt); - READ_LIST_FIELD(type_name, typeName, typeName); - READ_LIST_FIELD(params, params, params); + READ_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename); + READ_BOOL_FIELD(nowait, nowait, nowait); return node; } -static AlterEnumStmt * -_readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg) +static CreateExtensionStmt * +_readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg) { - AlterEnumStmt *node = makeNode(AlterEnumStmt); - READ_LIST_FIELD(type_name, typeName, typeName); - READ_STRING_FIELD(old_val, oldVal, oldVal); - READ_STRING_FIELD(new_val, newVal, newVal); - READ_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor); - READ_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter); - READ_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists); + CreateExtensionStmt *node = makeNode(CreateExtensionStmt); + READ_STRING_FIELD(extname, extname, extname); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + READ_LIST_FIELD(options, options, options); return node; } -static AlterTSDictionaryStmt * -_readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg) +static AlterExtensionStmt * +_readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg) { - AlterTSDictionaryStmt *node = makeNode(AlterTSDictionaryStmt); - READ_LIST_FIELD(dictname, dictname, dictname); + AlterExtensionStmt *node = makeNode(AlterExtensionStmt); + READ_STRING_FIELD(extname, extname, extname); READ_LIST_FIELD(options, options, options); return node; } -static AlterTSConfigurationStmt * -_readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg) +static AlterExtensionContentsStmt * +_readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg) { - AlterTSConfigurationStmt *node = makeNode(AlterTSConfigurationStmt); - READ_ENUM_FIELD(AlterTSConfigType, kind, kind, kind); - READ_LIST_FIELD(cfgname, cfgname, cfgname); - READ_LIST_FIELD(tokentype, tokentype, tokentype); - READ_LIST_FIELD(dicts, dicts, dicts); - READ_BOOL_FIELD(override, override, override); - READ_BOOL_FIELD(replace, replace, replace); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + AlterExtensionContentsStmt *node = makeNode(AlterExtensionContentsStmt); + READ_STRING_FIELD(extname, extname, extname); + READ_INT_FIELD(action, action, action); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_NODE_PTR_FIELD(object, object, object); return node; } @@ -1948,7 +2387,18 @@ _readAlterForeignServerStmt(OUT_TYPE(AlterForeignServerStmt, AlterForeignServerS READ_STRING_FIELD(servername, servername, servername); READ_STRING_FIELD(version, version, version); READ_LIST_FIELD(options, options, options); - READ_BOOL_FIELD(has_version, has_version, has_version); + READ_BOOL_FIELD(has_version, has_version, has_version); + return node; +} + +static CreateForeignTableStmt * +_readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg) +{ + CreateForeignTableStmt *node = makeNode(CreateForeignTableStmt); + READ_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base); + READ_STRING_FIELD(servername, servername, servername); + READ_LIST_FIELD(options, options, options); + NodeSetTag(node, T_CreateForeignTableStmt); return node; } @@ -1983,50 +2433,6 @@ _readDropUserMappingStmt(OUT_TYPE(DropUserMappingStmt, DropUserMappingStmt) msg) return node; } -static AlterTableSpaceOptionsStmt * -_readAlterTableSpaceOptionsStmt(OUT_TYPE(AlterTableSpaceOptionsStmt, AlterTableSpaceOptionsStmt) msg) -{ - AlterTableSpaceOptionsStmt *node = makeNode(AlterTableSpaceOptionsStmt); - READ_STRING_FIELD(tablespacename, tablespacename, tablespacename); - READ_LIST_FIELD(options, options, options); - READ_BOOL_FIELD(is_reset, isReset, isReset); - return node; -} - -static AlterTableMoveAllStmt * -_readAlterTableMoveAllStmt(OUT_TYPE(AlterTableMoveAllStmt, AlterTableMoveAllStmt) msg) -{ - AlterTableMoveAllStmt *node = makeNode(AlterTableMoveAllStmt); - READ_STRING_FIELD(orig_tablespacename, orig_tablespacename, orig_tablespacename); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_LIST_FIELD(roles, roles, roles); - READ_STRING_FIELD(new_tablespacename, new_tablespacename, new_tablespacename); - READ_BOOL_FIELD(nowait, nowait, nowait); - return node; -} - -static SecLabelStmt * -_readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg) -{ - SecLabelStmt *node = makeNode(SecLabelStmt); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_NODE_PTR_FIELD(object, object, object); - READ_STRING_FIELD(provider, provider, provider); - READ_STRING_FIELD(label, label, label); - return node; -} - -static CreateForeignTableStmt * -_readCreateForeignTableStmt(OUT_TYPE(CreateForeignTableStmt, CreateForeignTableStmt) msg) -{ - CreateForeignTableStmt *node = makeNode(CreateForeignTableStmt); - READ_SPECIFIC_NODE_FIELD(CreateStmt, create_stmt, base_stmt, base, base); - READ_STRING_FIELD(servername, servername, servername); - READ_LIST_FIELD(options, options, options); - NodeSetTag(node, T_CreateForeignTableStmt); - return node; -} - static ImportForeignSchemaStmt * _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSchemaStmt) msg) { @@ -2040,33 +2446,61 @@ _readImportForeignSchemaStmt(OUT_TYPE(ImportForeignSchemaStmt, ImportForeignSche return node; } -static CreateExtensionStmt * -_readCreateExtensionStmt(OUT_TYPE(CreateExtensionStmt, CreateExtensionStmt) msg) +static CreatePolicyStmt * +_readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg) { - CreateExtensionStmt *node = makeNode(CreateExtensionStmt); - READ_STRING_FIELD(extname, extname, extname); - READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); - READ_LIST_FIELD(options, options, options); + CreatePolicyStmt *node = makeNode(CreatePolicyStmt); + READ_STRING_FIELD(policy_name, policy_name, policy_name); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table); + READ_STRING_FIELD(cmd_name, cmd_name, cmd_name); + READ_BOOL_FIELD(permissive, permissive, permissive); + READ_LIST_FIELD(roles, roles, roles); + READ_NODE_PTR_FIELD(qual, qual, qual); + READ_NODE_PTR_FIELD(with_check, with_check, with_check); return node; } -static AlterExtensionStmt * -_readAlterExtensionStmt(OUT_TYPE(AlterExtensionStmt, AlterExtensionStmt) msg) +static AlterPolicyStmt * +_readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg) { - AlterExtensionStmt *node = makeNode(AlterExtensionStmt); - READ_STRING_FIELD(extname, extname, extname); - READ_LIST_FIELD(options, options, options); + AlterPolicyStmt *node = makeNode(AlterPolicyStmt); + READ_STRING_FIELD(policy_name, policy_name, policy_name); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table); + READ_LIST_FIELD(roles, roles, roles); + READ_NODE_PTR_FIELD(qual, qual, qual); + READ_NODE_PTR_FIELD(with_check, with_check, with_check); return node; } -static AlterExtensionContentsStmt * -_readAlterExtensionContentsStmt(OUT_TYPE(AlterExtensionContentsStmt, AlterExtensionContentsStmt) msg) +static CreateAmStmt * +_readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg) { - AlterExtensionContentsStmt *node = makeNode(AlterExtensionContentsStmt); - READ_STRING_FIELD(extname, extname, extname); - READ_INT_FIELD(action, action, action); - READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); - READ_NODE_PTR_FIELD(object, object, object); + CreateAmStmt *node = makeNode(CreateAmStmt); + READ_STRING_FIELD(amname, amname, amname); + READ_LIST_FIELD(handler_name, handler_name, handler_name); + READ_CHAR_FIELD(amtype, amtype, amtype); + return node; +} + +static CreateTrigStmt * +_readCreateTrigStmt(OUT_TYPE(CreateTrigStmt, CreateTrigStmt) msg) +{ + CreateTrigStmt *node = makeNode(CreateTrigStmt); + READ_BOOL_FIELD(replace, replace, replace); + READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint); + READ_STRING_FIELD(trigname, trigname, trigname); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_LIST_FIELD(funcname, funcname, funcname); + READ_LIST_FIELD(args, args, args); + READ_BOOL_FIELD(row, row, row); + READ_INT_FIELD(timing, timing, timing); + READ_INT_FIELD(events, events, events); + READ_LIST_FIELD(columns, columns, columns); + READ_NODE_PTR_FIELD(when_clause, whenClause, whenClause); + READ_LIST_FIELD(transition_rels, transitionRels, transitionRels); + READ_BOOL_FIELD(deferrable, deferrable, deferrable); + READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, constrrel, constrrel, constrrel); return node; } @@ -2090,134 +2524,252 @@ _readAlterEventTrigStmt(OUT_TYPE(AlterEventTrigStmt, AlterEventTrigStmt) msg) return node; } -static RefreshMatViewStmt * -_readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg) +static CreatePLangStmt * +_readCreatePLangStmt(OUT_TYPE(CreatePLangStmt, CreatePLangStmt) msg) { - RefreshMatViewStmt *node = makeNode(RefreshMatViewStmt); - READ_BOOL_FIELD(concurrent, concurrent, concurrent); - READ_BOOL_FIELD(skip_data, skipData, skipData); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + CreatePLangStmt *node = makeNode(CreatePLangStmt); + READ_BOOL_FIELD(replace, replace, replace); + READ_STRING_FIELD(plname, plname, plname); + READ_LIST_FIELD(plhandler, plhandler, plhandler); + READ_LIST_FIELD(plinline, plinline, plinline); + READ_LIST_FIELD(plvalidator, plvalidator, plvalidator); + READ_BOOL_FIELD(pltrusted, pltrusted, pltrusted); return node; } -static ReplicaIdentityStmt * -_readReplicaIdentityStmt(OUT_TYPE(ReplicaIdentityStmt, ReplicaIdentityStmt) msg) +static CreateRoleStmt * +_readCreateRoleStmt(OUT_TYPE(CreateRoleStmt, CreateRoleStmt) msg) { - ReplicaIdentityStmt *node = makeNode(ReplicaIdentityStmt); - READ_CHAR_FIELD(identity_type, identity_type, identity_type); - READ_STRING_FIELD(name, name, name); + CreateRoleStmt *node = makeNode(CreateRoleStmt); + READ_ENUM_FIELD(RoleStmtType, stmt_type, stmt_type, stmt_type); + READ_STRING_FIELD(role, role, role); + READ_LIST_FIELD(options, options, options); return node; } -static AlterSystemStmt * -_readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg) +static AlterRoleStmt * +_readAlterRoleStmt(OUT_TYPE(AlterRoleStmt, AlterRoleStmt) msg) { - AlterSystemStmt *node = makeNode(AlterSystemStmt); + AlterRoleStmt *node = makeNode(AlterRoleStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); + READ_LIST_FIELD(options, options, options); + READ_INT_FIELD(action, action, action); + return node; +} + +static AlterRoleSetStmt * +_readAlterRoleSetStmt(OUT_TYPE(AlterRoleSetStmt, AlterRoleSetStmt) msg) +{ + AlterRoleSetStmt *node = makeNode(AlterRoleSetStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, role, role, role); + READ_STRING_FIELD(database, database, database); READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); return node; } -static CreatePolicyStmt * -_readCreatePolicyStmt(OUT_TYPE(CreatePolicyStmt, CreatePolicyStmt) msg) +static DropRoleStmt * +_readDropRoleStmt(OUT_TYPE(DropRoleStmt, DropRoleStmt) msg) { - CreatePolicyStmt *node = makeNode(CreatePolicyStmt); - READ_STRING_FIELD(policy_name, policy_name, policy_name); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table); - READ_STRING_FIELD(cmd_name, cmd_name, cmd_name); - READ_BOOL_FIELD(permissive, permissive, permissive); + DropRoleStmt *node = makeNode(DropRoleStmt); READ_LIST_FIELD(roles, roles, roles); - READ_NODE_PTR_FIELD(qual, qual, qual); - READ_NODE_PTR_FIELD(with_check, with_check, with_check); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + return node; +} + +static CreateSeqStmt * +_readCreateSeqStmt(OUT_TYPE(CreateSeqStmt, CreateSeqStmt) msg) +{ + CreateSeqStmt *node = makeNode(CreateSeqStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); + READ_LIST_FIELD(options, options, options); + READ_UINT_FIELD(owner_id, ownerId, ownerId); + READ_BOOL_FIELD(for_identity, for_identity, for_identity); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + return node; +} + +static AlterSeqStmt * +_readAlterSeqStmt(OUT_TYPE(AlterSeqStmt, AlterSeqStmt) msg) +{ + AlterSeqStmt *node = makeNode(AlterSeqStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, sequence, sequence, sequence); + READ_LIST_FIELD(options, options, options); + READ_BOOL_FIELD(for_identity, for_identity, for_identity); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + return node; +} + +static DefineStmt * +_readDefineStmt(OUT_TYPE(DefineStmt, DefineStmt) msg) +{ + DefineStmt *node = makeNode(DefineStmt); + READ_ENUM_FIELD(ObjectType, kind, kind, kind); + READ_BOOL_FIELD(oldstyle, oldstyle, oldstyle); + READ_LIST_FIELD(defnames, defnames, defnames); + READ_LIST_FIELD(args, args, args); + READ_LIST_FIELD(definition, definition, definition); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + READ_BOOL_FIELD(replace, replace, replace); + return node; +} + +static CreateDomainStmt * +_readCreateDomainStmt(OUT_TYPE(CreateDomainStmt, CreateDomainStmt) msg) +{ + CreateDomainStmt *node = makeNode(CreateDomainStmt); + READ_LIST_FIELD(domainname, domainname, domainname); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); + READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); + READ_LIST_FIELD(constraints, constraints, constraints); + return node; +} + +static CreateOpClassStmt * +_readCreateOpClassStmt(OUT_TYPE(CreateOpClassStmt, CreateOpClassStmt) msg) +{ + CreateOpClassStmt *node = makeNode(CreateOpClassStmt); + READ_LIST_FIELD(opclassname, opclassname, opclassname); + READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + READ_STRING_FIELD(amname, amname, amname); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, datatype, datatype, datatype); + READ_LIST_FIELD(items, items, items); + READ_BOOL_FIELD(is_default, isDefault, isDefault); + return node; +} + +static CreateOpClassItem * +_readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg) +{ + CreateOpClassItem *node = makeNode(CreateOpClassItem); + READ_INT_FIELD(itemtype, itemtype, itemtype); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name); + READ_INT_FIELD(number, number, number); + READ_LIST_FIELD(order_family, order_family, order_family); + READ_LIST_FIELD(class_args, class_args, class_args); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype); + return node; +} + +static CreateOpFamilyStmt * +_readCreateOpFamilyStmt(OUT_TYPE(CreateOpFamilyStmt, CreateOpFamilyStmt) msg) +{ + CreateOpFamilyStmt *node = makeNode(CreateOpFamilyStmt); + READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + READ_STRING_FIELD(amname, amname, amname); + return node; +} + +static AlterOpFamilyStmt * +_readAlterOpFamilyStmt(OUT_TYPE(AlterOpFamilyStmt, AlterOpFamilyStmt) msg) +{ + AlterOpFamilyStmt *node = makeNode(AlterOpFamilyStmt); + READ_LIST_FIELD(opfamilyname, opfamilyname, opfamilyname); + READ_STRING_FIELD(amname, amname, amname); + READ_BOOL_FIELD(is_drop, isDrop, isDrop); + READ_LIST_FIELD(items, items, items); return node; } -static AlterPolicyStmt * -_readAlterPolicyStmt(OUT_TYPE(AlterPolicyStmt, AlterPolicyStmt) msg) +static DropStmt * +_readDropStmt(OUT_TYPE(DropStmt, DropStmt) msg) { - AlterPolicyStmt *node = makeNode(AlterPolicyStmt); - READ_STRING_FIELD(policy_name, policy_name, policy_name); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, table, table, table); - READ_LIST_FIELD(roles, roles, roles); - READ_NODE_PTR_FIELD(qual, qual, qual); - READ_NODE_PTR_FIELD(with_check, with_check, with_check); + DropStmt *node = makeNode(DropStmt); + READ_LIST_FIELD(objects, objects, objects); + READ_ENUM_FIELD(ObjectType, remove_type, removeType, removeType); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + READ_BOOL_FIELD(concurrent, concurrent, concurrent); return node; } -static CreateTransformStmt * -_readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg) +static TruncateStmt * +_readTruncateStmt(OUT_TYPE(TruncateStmt, TruncateStmt) msg) { - CreateTransformStmt *node = makeNode(CreateTransformStmt); - READ_BOOL_FIELD(replace, replace, replace); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name); - READ_STRING_FIELD(lang, lang, lang); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql); + TruncateStmt *node = makeNode(TruncateStmt); + READ_LIST_FIELD(relations, relations, relations); + READ_BOOL_FIELD(restart_seqs, restart_seqs, restart_seqs); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); return node; } -static CreateAmStmt * -_readCreateAmStmt(OUT_TYPE(CreateAmStmt, CreateAmStmt) msg) +static CommentStmt * +_readCommentStmt(OUT_TYPE(CommentStmt, CommentStmt) msg) { - CreateAmStmt *node = makeNode(CreateAmStmt); - READ_STRING_FIELD(amname, amname, amname); - READ_LIST_FIELD(handler_name, handler_name, handler_name); - READ_CHAR_FIELD(amtype, amtype, amtype); + CommentStmt *node = makeNode(CommentStmt); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_NODE_PTR_FIELD(object, object, object); + READ_STRING_FIELD(comment, comment, comment); return node; } -static CreatePublicationStmt * -_readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg) +static SecLabelStmt * +_readSecLabelStmt(OUT_TYPE(SecLabelStmt, SecLabelStmt) msg) { - CreatePublicationStmt *node = makeNode(CreatePublicationStmt); - READ_STRING_FIELD(pubname, pubname, pubname); - READ_LIST_FIELD(options, options, options); - READ_LIST_FIELD(pubobjects, pubobjects, pubobjects); - READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); + SecLabelStmt *node = makeNode(SecLabelStmt); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_NODE_PTR_FIELD(object, object, object); + READ_STRING_FIELD(provider, provider, provider); + READ_STRING_FIELD(label, label, label); return node; } -static AlterPublicationStmt * -_readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg) +static DeclareCursorStmt * +_readDeclareCursorStmt(OUT_TYPE(DeclareCursorStmt, DeclareCursorStmt) msg) { - AlterPublicationStmt *node = makeNode(AlterPublicationStmt); - READ_STRING_FIELD(pubname, pubname, pubname); - READ_LIST_FIELD(options, options, options); - READ_LIST_FIELD(pubobjects, pubobjects, pubobjects); - READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); - READ_ENUM_FIELD(AlterPublicationAction, action, action, action); + DeclareCursorStmt *node = makeNode(DeclareCursorStmt); + READ_STRING_FIELD(portalname, portalname, portalname); + READ_INT_FIELD(options, options, options); + READ_NODE_PTR_FIELD(query, query, query); return node; } -static CreateSubscriptionStmt * -_readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg) +static ClosePortalStmt * +_readClosePortalStmt(OUT_TYPE(ClosePortalStmt, ClosePortalStmt) msg) { - CreateSubscriptionStmt *node = makeNode(CreateSubscriptionStmt); - READ_STRING_FIELD(subname, subname, subname); - READ_STRING_FIELD(conninfo, conninfo, conninfo); - READ_LIST_FIELD(publication, publication, publication); - READ_LIST_FIELD(options, options, options); + ClosePortalStmt *node = makeNode(ClosePortalStmt); + READ_STRING_FIELD(portalname, portalname, portalname); return node; } -static AlterSubscriptionStmt * -_readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg) +static FetchStmt * +_readFetchStmt(OUT_TYPE(FetchStmt, FetchStmt) msg) { - AlterSubscriptionStmt *node = makeNode(AlterSubscriptionStmt); - READ_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind); - READ_STRING_FIELD(subname, subname, subname); - READ_STRING_FIELD(conninfo, conninfo, conninfo); - READ_LIST_FIELD(publication, publication, publication); - READ_LIST_FIELD(options, options, options); + FetchStmt *node = makeNode(FetchStmt); + READ_ENUM_FIELD(FetchDirection, direction, direction, direction); + READ_LONG_FIELD(how_many, howMany, howMany); + READ_STRING_FIELD(portalname, portalname, portalname); + READ_BOOL_FIELD(ismove, ismove, ismove); return node; } -static DropSubscriptionStmt * -_readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg) +static IndexStmt * +_readIndexStmt(OUT_TYPE(IndexStmt, IndexStmt) msg) { - DropSubscriptionStmt *node = makeNode(DropSubscriptionStmt); - READ_STRING_FIELD(subname, subname, subname); - READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); - READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + IndexStmt *node = makeNode(IndexStmt); + READ_STRING_FIELD(idxname, idxname, idxname); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_STRING_FIELD(access_method, accessMethod, accessMethod); + READ_STRING_FIELD(table_space, tableSpace, tableSpace); + READ_LIST_FIELD(index_params, indexParams, indexParams); + READ_LIST_FIELD(index_including_params, indexIncludingParams, indexIncludingParams); + READ_LIST_FIELD(options, options, options); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_LIST_FIELD(exclude_op_names, excludeOpNames, excludeOpNames); + READ_STRING_FIELD(idxcomment, idxcomment, idxcomment); + READ_UINT_FIELD(index_oid, indexOid, indexOid); + READ_UINT_FIELD(old_number, oldNumber, oldNumber); + READ_UINT_FIELD(old_create_subid, oldCreateSubid, oldCreateSubid); + READ_UINT_FIELD(old_first_relfilelocator_subid, oldFirstRelfilelocatorSubid, oldFirstRelfilelocatorSubid); + READ_BOOL_FIELD(unique, unique, unique); + READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); + READ_BOOL_FIELD(primary, primary, primary); + READ_BOOL_FIELD(isconstraint, isconstraint, isconstraint); + READ_BOOL_FIELD(deferrable, deferrable, deferrable); + READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); + READ_BOOL_FIELD(transformed, transformed, transformed); + READ_BOOL_FIELD(concurrent, concurrent, concurrent); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); + READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); return node; } @@ -2235,21 +2787,12 @@ _readCreateStatsStmt(OUT_TYPE(CreateStatsStmt, CreateStatsStmt) msg) return node; } -static AlterCollationStmt * -_readAlterCollationStmt(OUT_TYPE(AlterCollationStmt, AlterCollationStmt) msg) -{ - AlterCollationStmt *node = makeNode(AlterCollationStmt); - READ_LIST_FIELD(collname, collname, collname); - return node; -} - -static CallStmt * -_readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg) +static StatsElem * +_readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg) { - CallStmt *node = makeNode(CallStmt); - READ_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall); - READ_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr); - READ_LIST_FIELD(outargs, outargs, outargs); + StatsElem *node = makeNode(StatsElem); + READ_STRING_FIELD(name, name, name); + READ_NODE_PTR_FIELD(expr, expr, expr); return node; } @@ -2258,726 +2801,536 @@ _readAlterStatsStmt(OUT_TYPE(AlterStatsStmt, AlterStatsStmt) msg) { AlterStatsStmt *node = makeNode(AlterStatsStmt); READ_LIST_FIELD(defnames, defnames, defnames); - READ_INT_FIELD(stxstattarget, stxstattarget, stxstattarget); + READ_NODE_PTR_FIELD(stxstattarget, stxstattarget, stxstattarget); READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static A_Expr * -_readAExpr(OUT_TYPE(A_Expr, AExpr) msg) -{ - A_Expr *node = makeNode(A_Expr); - READ_ENUM_FIELD(A_Expr_Kind, kind, kind, kind); - READ_LIST_FIELD(name, name, name); - READ_NODE_PTR_FIELD(lexpr, lexpr, lexpr); - READ_NODE_PTR_FIELD(rexpr, rexpr, rexpr); - READ_INT_FIELD(location, location, location); - return node; -} - -static ColumnRef * -_readColumnRef(OUT_TYPE(ColumnRef, ColumnRef) msg) -{ - ColumnRef *node = makeNode(ColumnRef); - READ_LIST_FIELD(fields, fields, fields); - READ_INT_FIELD(location, location, location); - return node; -} - -static ParamRef * -_readParamRef(OUT_TYPE(ParamRef, ParamRef) msg) -{ - ParamRef *node = makeNode(ParamRef); - READ_INT_FIELD(number, number, number); - READ_INT_FIELD(location, location, location); - return node; -} - -static FuncCall * -_readFuncCall(OUT_TYPE(FuncCall, FuncCall) msg) +static CreateFunctionStmt * +_readCreateFunctionStmt(OUT_TYPE(CreateFunctionStmt, CreateFunctionStmt) msg) { - FuncCall *node = makeNode(FuncCall); + CreateFunctionStmt *node = makeNode(CreateFunctionStmt); + READ_BOOL_FIELD(is_procedure, is_procedure, is_procedure); + READ_BOOL_FIELD(replace, replace, replace); READ_LIST_FIELD(funcname, funcname, funcname); - READ_LIST_FIELD(args, args, args); - READ_LIST_FIELD(agg_order, agg_order, agg_order); - READ_NODE_PTR_FIELD(agg_filter, agg_filter, agg_filter); - READ_SPECIFIC_NODE_PTR_FIELD(WindowDef, window_def, over, over, over); - READ_BOOL_FIELD(agg_within_group, agg_within_group, agg_within_group); - READ_BOOL_FIELD(agg_star, agg_star, agg_star); - READ_BOOL_FIELD(agg_distinct, agg_distinct, agg_distinct); - READ_BOOL_FIELD(func_variadic, func_variadic, func_variadic); - READ_ENUM_FIELD(CoercionForm, funcformat, funcformat, funcformat); - READ_INT_FIELD(location, location, location); + READ_LIST_FIELD(parameters, parameters, parameters); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, return_type, returnType, returnType); + READ_LIST_FIELD(options, options, options); + READ_NODE_PTR_FIELD(sql_body, sql_body, sql_body); return node; } -static A_Star * -_readAStar(OUT_TYPE(A_Star, AStar) msg) +static FunctionParameter * +_readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg) { - A_Star *node = makeNode(A_Star); + FunctionParameter *node = makeNode(FunctionParameter); + READ_STRING_FIELD(name, name, name); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType); + READ_ENUM_FIELD(FunctionParameterMode, mode, mode, mode); + READ_NODE_PTR_FIELD(defexpr, defexpr, defexpr); return node; } -static A_Indices * -_readAIndices(OUT_TYPE(A_Indices, AIndices) msg) +static AlterFunctionStmt * +_readAlterFunctionStmt(OUT_TYPE(AlterFunctionStmt, AlterFunctionStmt) msg) { - A_Indices *node = makeNode(A_Indices); - READ_BOOL_FIELD(is_slice, is_slice, is_slice); - READ_NODE_PTR_FIELD(lidx, lidx, lidx); - READ_NODE_PTR_FIELD(uidx, uidx, uidx); + AlterFunctionStmt *node = makeNode(AlterFunctionStmt); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); + READ_LIST_FIELD(actions, actions, actions); return node; } -static A_Indirection * -_readAIndirection(OUT_TYPE(A_Indirection, AIndirection) msg) +static DoStmt * +_readDoStmt(OUT_TYPE(DoStmt, DoStmt) msg) { - A_Indirection *node = makeNode(A_Indirection); - READ_NODE_PTR_FIELD(arg, arg, arg); - READ_LIST_FIELD(indirection, indirection, indirection); + DoStmt *node = makeNode(DoStmt); + READ_LIST_FIELD(args, args, args); return node; } -static A_ArrayExpr * -_readAArrayExpr(OUT_TYPE(A_ArrayExpr, AArrayExpr) msg) +static InlineCodeBlock * +_readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg) { - A_ArrayExpr *node = makeNode(A_ArrayExpr); - READ_LIST_FIELD(elements, elements, elements); - READ_INT_FIELD(location, location, location); + InlineCodeBlock *node = makeNode(InlineCodeBlock); + READ_STRING_FIELD(source_text, source_text, source_text); + READ_UINT_FIELD(lang_oid, langOid, langOid); + READ_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted); + READ_BOOL_FIELD(atomic, atomic, atomic); return node; } -static ResTarget * -_readResTarget(OUT_TYPE(ResTarget, ResTarget) msg) -{ - ResTarget *node = makeNode(ResTarget); - READ_STRING_FIELD(name, name, name); - READ_LIST_FIELD(indirection, indirection, indirection); - READ_NODE_PTR_FIELD(val, val, val); - READ_INT_FIELD(location, location, location); +static CallStmt * +_readCallStmt(OUT_TYPE(CallStmt, CallStmt) msg) +{ + CallStmt *node = makeNode(CallStmt); + READ_SPECIFIC_NODE_PTR_FIELD(FuncCall, func_call, funccall, funccall, funccall); + READ_SPECIFIC_NODE_PTR_FIELD(FuncExpr, func_expr, funcexpr, funcexpr, funcexpr); + READ_LIST_FIELD(outargs, outargs, outargs); return node; } -static MultiAssignRef * -_readMultiAssignRef(OUT_TYPE(MultiAssignRef, MultiAssignRef) msg) +static CallContext * +_readCallContext(OUT_TYPE(CallContext, CallContext) msg) { - MultiAssignRef *node = makeNode(MultiAssignRef); - READ_NODE_PTR_FIELD(source, source, source); - READ_INT_FIELD(colno, colno, colno); - READ_INT_FIELD(ncolumns, ncolumns, ncolumns); + CallContext *node = makeNode(CallContext); + READ_BOOL_FIELD(atomic, atomic, atomic); return node; } -static TypeCast * -_readTypeCast(OUT_TYPE(TypeCast, TypeCast) msg) +static RenameStmt * +_readRenameStmt(OUT_TYPE(RenameStmt, RenameStmt) msg) { - TypeCast *node = makeNode(TypeCast); - READ_NODE_PTR_FIELD(arg, arg, arg); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - READ_INT_FIELD(location, location, location); + RenameStmt *node = makeNode(RenameStmt); + READ_ENUM_FIELD(ObjectType, rename_type, renameType, renameType); + READ_ENUM_FIELD(ObjectType, relation_type, relationType, relationType); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(object, object, object); + READ_STRING_FIELD(subname, subname, subname); + READ_STRING_FIELD(newname, newname, newname); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static CollateClause * -_readCollateClause(OUT_TYPE(CollateClause, CollateClause) msg) +static AlterObjectDependsStmt * +_readAlterObjectDependsStmt(OUT_TYPE(AlterObjectDependsStmt, AlterObjectDependsStmt) msg) { - CollateClause *node = makeNode(CollateClause); - READ_NODE_PTR_FIELD(arg, arg, arg); - READ_LIST_FIELD(collname, collname, collname); - READ_INT_FIELD(location, location, location); + AlterObjectDependsStmt *node = makeNode(AlterObjectDependsStmt); + READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(object, object, object); + READ_SPECIFIC_NODE_PTR_FIELD(String, string, extname, extname, extname); + READ_BOOL_FIELD(remove, remove, remove); return node; } -static SortBy * -_readSortBy(OUT_TYPE(SortBy, SortBy) msg) +static AlterObjectSchemaStmt * +_readAlterObjectSchemaStmt(OUT_TYPE(AlterObjectSchemaStmt, AlterObjectSchemaStmt) msg) { - SortBy *node = makeNode(SortBy); - READ_NODE_PTR_FIELD(node, node, node); - READ_ENUM_FIELD(SortByDir, sortby_dir, sortby_dir, sortby_dir); - READ_ENUM_FIELD(SortByNulls, sortby_nulls, sortby_nulls, sortby_nulls); - READ_LIST_FIELD(use_op, useOp, useOp); - READ_INT_FIELD(location, location, location); + AlterObjectSchemaStmt *node = makeNode(AlterObjectSchemaStmt); + READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(object, object, object); + READ_STRING_FIELD(newschema, newschema, newschema); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static WindowDef * -_readWindowDef(OUT_TYPE(WindowDef, WindowDef) msg) +static AlterOwnerStmt * +_readAlterOwnerStmt(OUT_TYPE(AlterOwnerStmt, AlterOwnerStmt) msg) { - WindowDef *node = makeNode(WindowDef); - READ_STRING_FIELD(name, name, name); - READ_STRING_FIELD(refname, refname, refname); - READ_LIST_FIELD(partition_clause, partitionClause, partitionClause); - READ_LIST_FIELD(order_clause, orderClause, orderClause); - READ_INT_FIELD(frame_options, frameOptions, frameOptions); - READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset); - READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - READ_INT_FIELD(location, location, location); + AlterOwnerStmt *node = makeNode(AlterOwnerStmt); + READ_ENUM_FIELD(ObjectType, object_type, objectType, objectType); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_NODE_PTR_FIELD(object, object, object); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newowner, newowner, newowner); return node; } -static RangeSubselect * -_readRangeSubselect(OUT_TYPE(RangeSubselect, RangeSubselect) msg) +static AlterOperatorStmt * +_readAlterOperatorStmt(OUT_TYPE(AlterOperatorStmt, AlterOperatorStmt) msg) { - RangeSubselect *node = makeNode(RangeSubselect); - READ_BOOL_FIELD(lateral, lateral, lateral); - READ_NODE_PTR_FIELD(subquery, subquery, subquery); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); + AlterOperatorStmt *node = makeNode(AlterOperatorStmt); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, opername, opername, opername); + READ_LIST_FIELD(options, options, options); return node; } -static RangeFunction * -_readRangeFunction(OUT_TYPE(RangeFunction, RangeFunction) msg) +static AlterTypeStmt * +_readAlterTypeStmt(OUT_TYPE(AlterTypeStmt, AlterTypeStmt) msg) { - RangeFunction *node = makeNode(RangeFunction); - READ_BOOL_FIELD(lateral, lateral, lateral); - READ_BOOL_FIELD(ordinality, ordinality, ordinality); - READ_BOOL_FIELD(is_rowsfrom, is_rowsfrom, is_rowsfrom); - READ_LIST_FIELD(functions, functions, functions); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - READ_LIST_FIELD(coldeflist, coldeflist, coldeflist); + AlterTypeStmt *node = makeNode(AlterTypeStmt); + READ_LIST_FIELD(type_name, typeName, typeName); + READ_LIST_FIELD(options, options, options); return node; } -static RangeTableSample * -_readRangeTableSample(OUT_TYPE(RangeTableSample, RangeTableSample) msg) +static RuleStmt * +_readRuleStmt(OUT_TYPE(RuleStmt, RuleStmt) msg) { - RangeTableSample *node = makeNode(RangeTableSample); - READ_NODE_PTR_FIELD(relation, relation, relation); - READ_LIST_FIELD(method, method, method); - READ_LIST_FIELD(args, args, args); - READ_NODE_PTR_FIELD(repeatable, repeatable, repeatable); - READ_INT_FIELD(location, location, location); + RuleStmt *node = makeNode(RuleStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_STRING_FIELD(rulename, rulename, rulename); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_ENUM_FIELD(CmdType, event, event, event); + READ_BOOL_FIELD(instead, instead, instead); + READ_LIST_FIELD(actions, actions, actions); + READ_BOOL_FIELD(replace, replace, replace); return node; } -static RangeTableFunc * -_readRangeTableFunc(OUT_TYPE(RangeTableFunc, RangeTableFunc) msg) +static NotifyStmt * +_readNotifyStmt(OUT_TYPE(NotifyStmt, NotifyStmt) msg) { - RangeTableFunc *node = makeNode(RangeTableFunc); - READ_BOOL_FIELD(lateral, lateral, lateral); - READ_NODE_PTR_FIELD(docexpr, docexpr, docexpr); - READ_NODE_PTR_FIELD(rowexpr, rowexpr, rowexpr); - READ_LIST_FIELD(namespaces, namespaces, namespaces); - READ_LIST_FIELD(columns, columns, columns); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - READ_INT_FIELD(location, location, location); + NotifyStmt *node = makeNode(NotifyStmt); + READ_STRING_FIELD(conditionname, conditionname, conditionname); + READ_STRING_FIELD(payload, payload, payload); return node; } -static RangeTableFuncCol * -_readRangeTableFuncCol(OUT_TYPE(RangeTableFuncCol, RangeTableFuncCol) msg) +static ListenStmt * +_readListenStmt(OUT_TYPE(ListenStmt, ListenStmt) msg) { - RangeTableFuncCol *node = makeNode(RangeTableFuncCol); - READ_STRING_FIELD(colname, colname, colname); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - READ_BOOL_FIELD(for_ordinality, for_ordinality, for_ordinality); - READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null); - READ_NODE_PTR_FIELD(colexpr, colexpr, colexpr); - READ_NODE_PTR_FIELD(coldefexpr, coldefexpr, coldefexpr); - READ_INT_FIELD(location, location, location); + ListenStmt *node = makeNode(ListenStmt); + READ_STRING_FIELD(conditionname, conditionname, conditionname); return node; } -static TypeName * -_readTypeName(OUT_TYPE(TypeName, TypeName) msg) +static UnlistenStmt * +_readUnlistenStmt(OUT_TYPE(UnlistenStmt, UnlistenStmt) msg) { - TypeName *node = makeNode(TypeName); - READ_LIST_FIELD(names, names, names); - READ_UINT_FIELD(type_oid, typeOid, typeOid); - READ_BOOL_FIELD(setof, setof, setof); - READ_BOOL_FIELD(pct_type, pct_type, pct_type); - READ_LIST_FIELD(typmods, typmods, typmods); - READ_INT_FIELD(typemod, typemod, typemod); - READ_LIST_FIELD(array_bounds, arrayBounds, arrayBounds); - READ_INT_FIELD(location, location, location); + UnlistenStmt *node = makeNode(UnlistenStmt); + READ_STRING_FIELD(conditionname, conditionname, conditionname); return node; } -static ColumnDef * -_readColumnDef(OUT_TYPE(ColumnDef, ColumnDef) msg) +static TransactionStmt * +_readTransactionStmt(OUT_TYPE(TransactionStmt, TransactionStmt) msg) { - ColumnDef *node = makeNode(ColumnDef); - READ_STRING_FIELD(colname, colname, colname); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - READ_STRING_FIELD(compression, compression, compression); - READ_INT_FIELD(inhcount, inhcount, inhcount); - READ_BOOL_FIELD(is_local, is_local, is_local); - READ_BOOL_FIELD(is_not_null, is_not_null, is_not_null); - READ_BOOL_FIELD(is_from_type, is_from_type, is_from_type); - READ_CHAR_FIELD(storage, storage, storage); - READ_NODE_PTR_FIELD(raw_default, raw_default, raw_default); - READ_NODE_PTR_FIELD(cooked_default, cooked_default, cooked_default); - READ_CHAR_FIELD(identity, identity, identity); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, identity_sequence, identitySequence, identitySequence); - READ_CHAR_FIELD(generated, generated, generated); - READ_SPECIFIC_NODE_PTR_FIELD(CollateClause, collate_clause, coll_clause, collClause, collClause); - READ_UINT_FIELD(coll_oid, collOid, collOid); - READ_LIST_FIELD(constraints, constraints, constraints); - READ_LIST_FIELD(fdwoptions, fdwoptions, fdwoptions); + TransactionStmt *node = makeNode(TransactionStmt); + READ_ENUM_FIELD(TransactionStmtKind, kind, kind, kind); + READ_LIST_FIELD(options, options, options); + READ_STRING_FIELD(savepoint_name, savepoint_name, savepoint_name); + READ_STRING_FIELD(gid, gid, gid); + READ_BOOL_FIELD(chain, chain, chain); READ_INT_FIELD(location, location, location); return node; } -static IndexElem * -_readIndexElem(OUT_TYPE(IndexElem, IndexElem) msg) +static CompositeTypeStmt * +_readCompositeTypeStmt(OUT_TYPE(CompositeTypeStmt, CompositeTypeStmt) msg) { - IndexElem *node = makeNode(IndexElem); - READ_STRING_FIELD(name, name, name); - READ_NODE_PTR_FIELD(expr, expr, expr); - READ_STRING_FIELD(indexcolname, indexcolname, indexcolname); - READ_LIST_FIELD(collation, collation, collation); - READ_LIST_FIELD(opclass, opclass, opclass); - READ_LIST_FIELD(opclassopts, opclassopts, opclassopts); - READ_ENUM_FIELD(SortByDir, ordering, ordering, ordering); - READ_ENUM_FIELD(SortByNulls, nulls_ordering, nulls_ordering, nulls_ordering); + CompositeTypeStmt *node = makeNode(CompositeTypeStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, typevar, typevar, typevar); + READ_LIST_FIELD(coldeflist, coldeflist, coldeflist); return node; } -static StatsElem * -_readStatsElem(OUT_TYPE(StatsElem, StatsElem) msg) +static CreateEnumStmt * +_readCreateEnumStmt(OUT_TYPE(CreateEnumStmt, CreateEnumStmt) msg) { - StatsElem *node = makeNode(StatsElem); - READ_STRING_FIELD(name, name, name); - READ_NODE_PTR_FIELD(expr, expr, expr); + CreateEnumStmt *node = makeNode(CreateEnumStmt); + READ_LIST_FIELD(type_name, typeName, typeName); + READ_LIST_FIELD(vals, vals, vals); return node; } -static Constraint * -_readConstraint(OUT_TYPE(Constraint, Constraint) msg) +static CreateRangeStmt * +_readCreateRangeStmt(OUT_TYPE(CreateRangeStmt, CreateRangeStmt) msg) { - Constraint *node = makeNode(Constraint); - READ_ENUM_FIELD(ConstrType, contype, contype, contype); - READ_STRING_FIELD(conname, conname, conname); - READ_BOOL_FIELD(deferrable, deferrable, deferrable); - READ_BOOL_FIELD(initdeferred, initdeferred, initdeferred); - READ_INT_FIELD(location, location, location); - READ_BOOL_FIELD(is_no_inherit, is_no_inherit, is_no_inherit); - READ_NODE_PTR_FIELD(raw_expr, raw_expr, raw_expr); - READ_STRING_FIELD(cooked_expr, cooked_expr, cooked_expr); - READ_CHAR_FIELD(generated_when, generated_when, generated_when); - READ_BOOL_FIELD(nulls_not_distinct, nulls_not_distinct, nulls_not_distinct); - READ_LIST_FIELD(keys, keys, keys); - READ_LIST_FIELD(including, including, including); - READ_LIST_FIELD(exclusions, exclusions, exclusions); - READ_LIST_FIELD(options, options, options); - READ_STRING_FIELD(indexname, indexname, indexname); - READ_STRING_FIELD(indexspace, indexspace, indexspace); - READ_BOOL_FIELD(reset_default_tblspc, reset_default_tblspc, reset_default_tblspc); - READ_STRING_FIELD(access_method, access_method, access_method); - READ_NODE_PTR_FIELD(where_clause, where_clause, where_clause); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, pktable, pktable, pktable); - READ_LIST_FIELD(fk_attrs, fk_attrs, fk_attrs); - READ_LIST_FIELD(pk_attrs, pk_attrs, pk_attrs); - READ_CHAR_FIELD(fk_matchtype, fk_matchtype, fk_matchtype); - READ_CHAR_FIELD(fk_upd_action, fk_upd_action, fk_upd_action); - READ_CHAR_FIELD(fk_del_action, fk_del_action, fk_del_action); - READ_LIST_FIELD(fk_del_set_cols, fk_del_set_cols, fk_del_set_cols); - READ_LIST_FIELD(old_conpfeqop, old_conpfeqop, old_conpfeqop); - READ_UINT_FIELD(old_pktable_oid, old_pktable_oid, old_pktable_oid); - READ_BOOL_FIELD(skip_validation, skip_validation, skip_validation); - READ_BOOL_FIELD(initially_valid, initially_valid, initially_valid); + CreateRangeStmt *node = makeNode(CreateRangeStmt); + READ_LIST_FIELD(type_name, typeName, typeName); + READ_LIST_FIELD(params, params, params); return node; } -static DefElem * -_readDefElem(OUT_TYPE(DefElem, DefElem) msg) +static AlterEnumStmt * +_readAlterEnumStmt(OUT_TYPE(AlterEnumStmt, AlterEnumStmt) msg) { - DefElem *node = makeNode(DefElem); - READ_STRING_FIELD(defnamespace, defnamespace, defnamespace); - READ_STRING_FIELD(defname, defname, defname); - READ_NODE_PTR_FIELD(arg, arg, arg); - READ_ENUM_FIELD(DefElemAction, defaction, defaction, defaction); - READ_INT_FIELD(location, location, location); + AlterEnumStmt *node = makeNode(AlterEnumStmt); + READ_LIST_FIELD(type_name, typeName, typeName); + READ_STRING_FIELD(old_val, oldVal, oldVal); + READ_STRING_FIELD(new_val, newVal, newVal); + READ_STRING_FIELD(new_val_neighbor, newValNeighbor, newValNeighbor); + READ_BOOL_FIELD(new_val_is_after, newValIsAfter, newValIsAfter); + READ_BOOL_FIELD(skip_if_new_val_exists, skipIfNewValExists, skipIfNewValExists); return node; } -static RangeTblEntry * -_readRangeTblEntry(OUT_TYPE(RangeTblEntry, RangeTblEntry) msg) +static ViewStmt * +_readViewStmt(OUT_TYPE(ViewStmt, ViewStmt) msg) { - RangeTblEntry *node = makeNode(RangeTblEntry); - READ_ENUM_FIELD(RTEKind, rtekind, rtekind, rtekind); - READ_UINT_FIELD(relid, relid, relid); - READ_CHAR_FIELD(relkind, relkind, relkind); - READ_INT_FIELD(rellockmode, rellockmode, rellockmode); - READ_SPECIFIC_NODE_PTR_FIELD(TableSampleClause, table_sample_clause, tablesample, tablesample, tablesample); - READ_SPECIFIC_NODE_PTR_FIELD(Query, query, subquery, subquery, subquery); - READ_BOOL_FIELD(security_barrier, security_barrier, security_barrier); - READ_ENUM_FIELD(JoinType, jointype, jointype, jointype); - READ_INT_FIELD(joinmergedcols, joinmergedcols, joinmergedcols); - READ_LIST_FIELD(joinaliasvars, joinaliasvars, joinaliasvars); - READ_LIST_FIELD(joinleftcols, joinleftcols, joinleftcols); - READ_LIST_FIELD(joinrightcols, joinrightcols, joinrightcols); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, join_using_alias, join_using_alias, join_using_alias); - READ_LIST_FIELD(functions, functions, functions); - READ_BOOL_FIELD(funcordinality, funcordinality, funcordinality); - READ_SPECIFIC_NODE_PTR_FIELD(TableFunc, table_func, tablefunc, tablefunc, tablefunc); - READ_LIST_FIELD(values_lists, values_lists, values_lists); - READ_STRING_FIELD(ctename, ctename, ctename); - READ_UINT_FIELD(ctelevelsup, ctelevelsup, ctelevelsup); - READ_BOOL_FIELD(self_reference, self_reference, self_reference); - READ_LIST_FIELD(coltypes, coltypes, coltypes); - READ_LIST_FIELD(coltypmods, coltypmods, coltypmods); - READ_LIST_FIELD(colcollations, colcollations, colcollations); - READ_STRING_FIELD(enrname, enrname, enrname); - READ_FLOAT_FIELD(enrtuples, enrtuples, enrtuples); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, alias, alias, alias); - READ_SPECIFIC_NODE_PTR_FIELD(Alias, alias, eref, eref, eref); - READ_BOOL_FIELD(lateral, lateral, lateral); - READ_BOOL_FIELD(inh, inh, inh); - READ_BOOL_FIELD(in_from_cl, inFromCl, inFromCl); - READ_UINT_FIELD(required_perms, requiredPerms, requiredPerms); - READ_UINT_FIELD(check_as_user, checkAsUser, checkAsUser); - READ_BITMAPSET_FIELD(selected_cols, selectedCols, selectedCols); - READ_BITMAPSET_FIELD(inserted_cols, insertedCols, insertedCols); - READ_BITMAPSET_FIELD(updated_cols, updatedCols, updatedCols); - READ_BITMAPSET_FIELD(extra_updated_cols, extraUpdatedCols, extraUpdatedCols); - READ_LIST_FIELD(security_quals, securityQuals, securityQuals); + ViewStmt *node = makeNode(ViewStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, view, view, view); + READ_LIST_FIELD(aliases, aliases, aliases); + READ_NODE_PTR_FIELD(query, query, query); + READ_BOOL_FIELD(replace, replace, replace); + READ_LIST_FIELD(options, options, options); + READ_ENUM_FIELD(ViewCheckOption, with_check_option, withCheckOption, withCheckOption); return node; } -static RangeTblFunction * -_readRangeTblFunction(OUT_TYPE(RangeTblFunction, RangeTblFunction) msg) +static LoadStmt * +_readLoadStmt(OUT_TYPE(LoadStmt, LoadStmt) msg) { - RangeTblFunction *node = makeNode(RangeTblFunction); - READ_NODE_PTR_FIELD(funcexpr, funcexpr, funcexpr); - READ_INT_FIELD(funccolcount, funccolcount, funccolcount); - READ_LIST_FIELD(funccolnames, funccolnames, funccolnames); - READ_LIST_FIELD(funccoltypes, funccoltypes, funccoltypes); - READ_LIST_FIELD(funccoltypmods, funccoltypmods, funccoltypmods); - READ_LIST_FIELD(funccolcollations, funccolcollations, funccolcollations); - READ_BITMAPSET_FIELD(funcparams, funcparams, funcparams); + LoadStmt *node = makeNode(LoadStmt); + READ_STRING_FIELD(filename, filename, filename); return node; } -static TableSampleClause * -_readTableSampleClause(OUT_TYPE(TableSampleClause, TableSampleClause) msg) +static CreatedbStmt * +_readCreatedbStmt(OUT_TYPE(CreatedbStmt, CreatedbStmt) msg) { - TableSampleClause *node = makeNode(TableSampleClause); - READ_UINT_FIELD(tsmhandler, tsmhandler, tsmhandler); - READ_LIST_FIELD(args, args, args); - READ_EXPR_PTR_FIELD(repeatable, repeatable, repeatable); + CreatedbStmt *node = makeNode(CreatedbStmt); + READ_STRING_FIELD(dbname, dbname, dbname); + READ_LIST_FIELD(options, options, options); return node; } -static WithCheckOption * -_readWithCheckOption(OUT_TYPE(WithCheckOption, WithCheckOption) msg) +static AlterDatabaseStmt * +_readAlterDatabaseStmt(OUT_TYPE(AlterDatabaseStmt, AlterDatabaseStmt) msg) { - WithCheckOption *node = makeNode(WithCheckOption); - READ_ENUM_FIELD(WCOKind, kind, kind, kind); - READ_STRING_FIELD(relname, relname, relname); - READ_STRING_FIELD(polname, polname, polname); - READ_NODE_PTR_FIELD(qual, qual, qual); - READ_BOOL_FIELD(cascaded, cascaded, cascaded); + AlterDatabaseStmt *node = makeNode(AlterDatabaseStmt); + READ_STRING_FIELD(dbname, dbname, dbname); + READ_LIST_FIELD(options, options, options); return node; } -static SortGroupClause * -_readSortGroupClause(OUT_TYPE(SortGroupClause, SortGroupClause) msg) +static AlterDatabaseRefreshCollStmt * +_readAlterDatabaseRefreshCollStmt(OUT_TYPE(AlterDatabaseRefreshCollStmt, AlterDatabaseRefreshCollStmt) msg) { - SortGroupClause *node = makeNode(SortGroupClause); - READ_UINT_FIELD(tle_sort_group_ref, tleSortGroupRef, tleSortGroupRef); - READ_UINT_FIELD(eqop, eqop, eqop); - READ_UINT_FIELD(sortop, sortop, sortop); - READ_BOOL_FIELD(nulls_first, nulls_first, nulls_first); - READ_BOOL_FIELD(hashable, hashable, hashable); + AlterDatabaseRefreshCollStmt *node = makeNode(AlterDatabaseRefreshCollStmt); + READ_STRING_FIELD(dbname, dbname, dbname); return node; } -static GroupingSet * -_readGroupingSet(OUT_TYPE(GroupingSet, GroupingSet) msg) +static AlterDatabaseSetStmt * +_readAlterDatabaseSetStmt(OUT_TYPE(AlterDatabaseSetStmt, AlterDatabaseSetStmt) msg) { - GroupingSet *node = makeNode(GroupingSet); - READ_ENUM_FIELD(GroupingSetKind, kind, kind, kind); - READ_LIST_FIELD(content, content, content); - READ_INT_FIELD(location, location, location); + AlterDatabaseSetStmt *node = makeNode(AlterDatabaseSetStmt); + READ_STRING_FIELD(dbname, dbname, dbname); + READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); return node; } -static WindowClause * -_readWindowClause(OUT_TYPE(WindowClause, WindowClause) msg) +static DropdbStmt * +_readDropdbStmt(OUT_TYPE(DropdbStmt, DropdbStmt) msg) { - WindowClause *node = makeNode(WindowClause); - READ_STRING_FIELD(name, name, name); - READ_STRING_FIELD(refname, refname, refname); - READ_LIST_FIELD(partition_clause, partitionClause, partitionClause); - READ_LIST_FIELD(order_clause, orderClause, orderClause); - READ_INT_FIELD(frame_options, frameOptions, frameOptions); - READ_NODE_PTR_FIELD(start_offset, startOffset, startOffset); - READ_NODE_PTR_FIELD(end_offset, endOffset, endOffset); - READ_LIST_FIELD(run_condition, runCondition, runCondition); - READ_UINT_FIELD(start_in_range_func, startInRangeFunc, startInRangeFunc); - READ_UINT_FIELD(end_in_range_func, endInRangeFunc, endInRangeFunc); - READ_UINT_FIELD(in_range_coll, inRangeColl, inRangeColl); - READ_BOOL_FIELD(in_range_asc, inRangeAsc, inRangeAsc); - READ_BOOL_FIELD(in_range_nulls_first, inRangeNullsFirst, inRangeNullsFirst); - READ_UINT_FIELD(winref, winref, winref); - READ_BOOL_FIELD(copied_order, copiedOrder, copiedOrder); + DropdbStmt *node = makeNode(DropdbStmt); + READ_STRING_FIELD(dbname, dbname, dbname); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + READ_LIST_FIELD(options, options, options); return node; } -static ObjectWithArgs * -_readObjectWithArgs(OUT_TYPE(ObjectWithArgs, ObjectWithArgs) msg) +static AlterSystemStmt * +_readAlterSystemStmt(OUT_TYPE(AlterSystemStmt, AlterSystemStmt) msg) { - ObjectWithArgs *node = makeNode(ObjectWithArgs); - READ_LIST_FIELD(objname, objname, objname); - READ_LIST_FIELD(objargs, objargs, objargs); - READ_LIST_FIELD(objfuncargs, objfuncargs, objfuncargs); - READ_BOOL_FIELD(args_unspecified, args_unspecified, args_unspecified); + AlterSystemStmt *node = makeNode(AlterSystemStmt); + READ_SPECIFIC_NODE_PTR_FIELD(VariableSetStmt, variable_set_stmt, setstmt, setstmt, setstmt); return node; } -static AccessPriv * -_readAccessPriv(OUT_TYPE(AccessPriv, AccessPriv) msg) +static ClusterStmt * +_readClusterStmt(OUT_TYPE(ClusterStmt, ClusterStmt) msg) { - AccessPriv *node = makeNode(AccessPriv); - READ_STRING_FIELD(priv_name, priv_name, priv_name); - READ_LIST_FIELD(cols, cols, cols); + ClusterStmt *node = makeNode(ClusterStmt); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_STRING_FIELD(indexname, indexname, indexname); + READ_LIST_FIELD(params, params, params); return node; } -static CreateOpClassItem * -_readCreateOpClassItem(OUT_TYPE(CreateOpClassItem, CreateOpClassItem) msg) +static VacuumStmt * +_readVacuumStmt(OUT_TYPE(VacuumStmt, VacuumStmt) msg) { - CreateOpClassItem *node = makeNode(CreateOpClassItem); - READ_INT_FIELD(itemtype, itemtype, itemtype); - READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, name, name, name); - READ_INT_FIELD(number, number, number); - READ_LIST_FIELD(order_family, order_family, order_family); - READ_LIST_FIELD(class_args, class_args, class_args); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, storedtype, storedtype, storedtype); + VacuumStmt *node = makeNode(VacuumStmt); + READ_LIST_FIELD(options, options, options); + READ_LIST_FIELD(rels, rels, rels); + READ_BOOL_FIELD(is_vacuumcmd, is_vacuumcmd, is_vacuumcmd); return node; } -static TableLikeClause * -_readTableLikeClause(OUT_TYPE(TableLikeClause, TableLikeClause) msg) +static VacuumRelation * +_readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg) { - TableLikeClause *node = makeNode(TableLikeClause); + VacuumRelation *node = makeNode(VacuumRelation); READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_UINT_FIELD(options, options, options); - READ_UINT_FIELD(relation_oid, relationOid, relationOid); + READ_UINT_FIELD(oid, oid, oid); + READ_LIST_FIELD(va_cols, va_cols, va_cols); return node; } -static FunctionParameter * -_readFunctionParameter(OUT_TYPE(FunctionParameter, FunctionParameter) msg) +static ExplainStmt * +_readExplainStmt(OUT_TYPE(ExplainStmt, ExplainStmt) msg) { - FunctionParameter *node = makeNode(FunctionParameter); - READ_STRING_FIELD(name, name, name); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, arg_type, argType, argType); - READ_ENUM_FIELD(FunctionParameterMode, mode, mode, mode); - READ_NODE_PTR_FIELD(defexpr, defexpr, defexpr); + ExplainStmt *node = makeNode(ExplainStmt); + READ_NODE_PTR_FIELD(query, query, query); + READ_LIST_FIELD(options, options, options); return node; } -static LockingClause * -_readLockingClause(OUT_TYPE(LockingClause, LockingClause) msg) +static CreateTableAsStmt * +_readCreateTableAsStmt(OUT_TYPE(CreateTableAsStmt, CreateTableAsStmt) msg) { - LockingClause *node = makeNode(LockingClause); - READ_LIST_FIELD(locked_rels, lockedRels, lockedRels); - READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength); - READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); + CreateTableAsStmt *node = makeNode(CreateTableAsStmt); + READ_NODE_PTR_FIELD(query, query, query); + READ_SPECIFIC_NODE_PTR_FIELD(IntoClause, into_clause, into, into, into); + READ_ENUM_FIELD(ObjectType, objtype, objtype, objtype); + READ_BOOL_FIELD(is_select_into, is_select_into, is_select_into); + READ_BOOL_FIELD(if_not_exists, if_not_exists, if_not_exists); return node; } -static RowMarkClause * -_readRowMarkClause(OUT_TYPE(RowMarkClause, RowMarkClause) msg) +static RefreshMatViewStmt * +_readRefreshMatViewStmt(OUT_TYPE(RefreshMatViewStmt, RefreshMatViewStmt) msg) { - RowMarkClause *node = makeNode(RowMarkClause); - READ_UINT_FIELD(rti, rti, rti); - READ_ENUM_FIELD(LockClauseStrength, strength, strength, strength); - READ_ENUM_FIELD(LockWaitPolicy, wait_policy, waitPolicy, waitPolicy); - READ_BOOL_FIELD(pushed_down, pushedDown, pushedDown); + RefreshMatViewStmt *node = makeNode(RefreshMatViewStmt); + READ_BOOL_FIELD(concurrent, concurrent, concurrent); + READ_BOOL_FIELD(skip_data, skipData, skipData); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); return node; } -static XmlSerialize * -_readXmlSerialize(OUT_TYPE(XmlSerialize, XmlSerialize) msg) +static CheckPointStmt * +_readCheckPointStmt(OUT_TYPE(CheckPointStmt, CheckPointStmt) msg) { - XmlSerialize *node = makeNode(XmlSerialize); - READ_ENUM_FIELD(XmlOptionType, xmloption, xmloption, xmloption); - READ_NODE_PTR_FIELD(expr, expr, expr); - READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, typeName, typeName); - READ_INT_FIELD(location, location, location); + CheckPointStmt *node = makeNode(CheckPointStmt); return node; } -static WithClause * -_readWithClause(OUT_TYPE(WithClause, WithClause) msg) +static DiscardStmt * +_readDiscardStmt(OUT_TYPE(DiscardStmt, DiscardStmt) msg) { - WithClause *node = makeNode(WithClause); - READ_LIST_FIELD(ctes, ctes, ctes); - READ_BOOL_FIELD(recursive, recursive, recursive); - READ_INT_FIELD(location, location, location); + DiscardStmt *node = makeNode(DiscardStmt); + READ_ENUM_FIELD(DiscardMode, target, target, target); return node; } -static InferClause * -_readInferClause(OUT_TYPE(InferClause, InferClause) msg) +static LockStmt * +_readLockStmt(OUT_TYPE(LockStmt, LockStmt) msg) { - InferClause *node = makeNode(InferClause); - READ_LIST_FIELD(index_elems, indexElems, indexElems); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_STRING_FIELD(conname, conname, conname); - READ_INT_FIELD(location, location, location); + LockStmt *node = makeNode(LockStmt); + READ_LIST_FIELD(relations, relations, relations); + READ_INT_FIELD(mode, mode, mode); + READ_BOOL_FIELD(nowait, nowait, nowait); return node; } -static OnConflictClause * -_readOnConflictClause(OUT_TYPE(OnConflictClause, OnConflictClause) msg) +static ConstraintsSetStmt * +_readConstraintsSetStmt(OUT_TYPE(ConstraintsSetStmt, ConstraintsSetStmt) msg) { - OnConflictClause *node = makeNode(OnConflictClause); - READ_ENUM_FIELD(OnConflictAction, action, action, action); - READ_SPECIFIC_NODE_PTR_FIELD(InferClause, infer_clause, infer, infer, infer); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_INT_FIELD(location, location, location); + ConstraintsSetStmt *node = makeNode(ConstraintsSetStmt); + READ_LIST_FIELD(constraints, constraints, constraints); + READ_BOOL_FIELD(deferred, deferred, deferred); return node; } -static CTESearchClause * -_readCTESearchClause(OUT_TYPE(CTESearchClause, CTESearchClause) msg) +static ReindexStmt * +_readReindexStmt(OUT_TYPE(ReindexStmt, ReindexStmt) msg) { - CTESearchClause *node = makeNode(CTESearchClause); - READ_LIST_FIELD(search_col_list, search_col_list, search_col_list); - READ_BOOL_FIELD(search_breadth_first, search_breadth_first, search_breadth_first); - READ_STRING_FIELD(search_seq_column, search_seq_column, search_seq_column); - READ_INT_FIELD(location, location, location); + ReindexStmt *node = makeNode(ReindexStmt); + READ_ENUM_FIELD(ReindexObjectType, kind, kind, kind); + READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); + READ_STRING_FIELD(name, name, name); + READ_LIST_FIELD(params, params, params); return node; } -static CTECycleClause * -_readCTECycleClause(OUT_TYPE(CTECycleClause, CTECycleClause) msg) +static CreateConversionStmt * +_readCreateConversionStmt(OUT_TYPE(CreateConversionStmt, CreateConversionStmt) msg) { - CTECycleClause *node = makeNode(CTECycleClause); - READ_LIST_FIELD(cycle_col_list, cycle_col_list, cycle_col_list); - READ_STRING_FIELD(cycle_mark_column, cycle_mark_column, cycle_mark_column); - READ_NODE_PTR_FIELD(cycle_mark_value, cycle_mark_value, cycle_mark_value); - READ_NODE_PTR_FIELD(cycle_mark_default, cycle_mark_default, cycle_mark_default); - READ_STRING_FIELD(cycle_path_column, cycle_path_column, cycle_path_column); - READ_INT_FIELD(location, location, location); - READ_UINT_FIELD(cycle_mark_type, cycle_mark_type, cycle_mark_type); - READ_INT_FIELD(cycle_mark_typmod, cycle_mark_typmod, cycle_mark_typmod); - READ_UINT_FIELD(cycle_mark_collation, cycle_mark_collation, cycle_mark_collation); - READ_UINT_FIELD(cycle_mark_neop, cycle_mark_neop, cycle_mark_neop); + CreateConversionStmt *node = makeNode(CreateConversionStmt); + READ_LIST_FIELD(conversion_name, conversion_name, conversion_name); + READ_STRING_FIELD(for_encoding_name, for_encoding_name, for_encoding_name); + READ_STRING_FIELD(to_encoding_name, to_encoding_name, to_encoding_name); + READ_LIST_FIELD(func_name, func_name, func_name); + READ_BOOL_FIELD(def, def, def); return node; } -static CommonTableExpr * -_readCommonTableExpr(OUT_TYPE(CommonTableExpr, CommonTableExpr) msg) +static CreateCastStmt * +_readCreateCastStmt(OUT_TYPE(CreateCastStmt, CreateCastStmt) msg) { - CommonTableExpr *node = makeNode(CommonTableExpr); - READ_STRING_FIELD(ctename, ctename, ctename); - READ_LIST_FIELD(aliascolnames, aliascolnames, aliascolnames); - READ_ENUM_FIELD(CTEMaterialize, ctematerialized, ctematerialized, ctematerialized); - READ_NODE_PTR_FIELD(ctequery, ctequery, ctequery); - READ_SPECIFIC_NODE_PTR_FIELD(CTESearchClause, ctesearch_clause, search_clause, search_clause, search_clause); - READ_SPECIFIC_NODE_PTR_FIELD(CTECycleClause, ctecycle_clause, cycle_clause, cycle_clause, cycle_clause); - READ_INT_FIELD(location, location, location); - READ_BOOL_FIELD(cterecursive, cterecursive, cterecursive); - READ_INT_FIELD(cterefcount, cterefcount, cterefcount); - READ_LIST_FIELD(ctecolnames, ctecolnames, ctecolnames); - READ_LIST_FIELD(ctecoltypes, ctecoltypes, ctecoltypes); - READ_LIST_FIELD(ctecoltypmods, ctecoltypmods, ctecoltypmods); - READ_LIST_FIELD(ctecolcollations, ctecolcollations, ctecolcollations); + CreateCastStmt *node = makeNode(CreateCastStmt); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, sourcetype, sourcetype, sourcetype); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, targettype, targettype, targettype); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, func, func, func); + READ_ENUM_FIELD(CoercionContext, context, context, context); + READ_BOOL_FIELD(inout, inout, inout); return node; } -static MergeWhenClause * -_readMergeWhenClause(OUT_TYPE(MergeWhenClause, MergeWhenClause) msg) +static CreateTransformStmt * +_readCreateTransformStmt(OUT_TYPE(CreateTransformStmt, CreateTransformStmt) msg) { - MergeWhenClause *node = makeNode(MergeWhenClause); - READ_BOOL_FIELD(matched, matched, matched); - READ_ENUM_FIELD(CmdType, command_type, commandType, commandType); - READ_ENUM_FIELD(OverridingKind, override, override, override); - READ_NODE_PTR_FIELD(condition, condition, condition); - READ_LIST_FIELD(target_list, targetList, targetList); - READ_LIST_FIELD(values, values, values); + CreateTransformStmt *node = makeNode(CreateTransformStmt); + READ_BOOL_FIELD(replace, replace, replace); + READ_SPECIFIC_NODE_PTR_FIELD(TypeName, type_name, type_name, type_name, type_name); + READ_STRING_FIELD(lang, lang, lang); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, fromsql, fromsql, fromsql); + READ_SPECIFIC_NODE_PTR_FIELD(ObjectWithArgs, object_with_args, tosql, tosql, tosql); return node; } -static RoleSpec * -_readRoleSpec(OUT_TYPE(RoleSpec, RoleSpec) msg) +static PrepareStmt * +_readPrepareStmt(OUT_TYPE(PrepareStmt, PrepareStmt) msg) { - RoleSpec *node = makeNode(RoleSpec); - READ_ENUM_FIELD(RoleSpecType, roletype, roletype, roletype); - READ_STRING_FIELD(rolename, rolename, rolename); - READ_INT_FIELD(location, location, location); + PrepareStmt *node = makeNode(PrepareStmt); + READ_STRING_FIELD(name, name, name); + READ_LIST_FIELD(argtypes, argtypes, argtypes); + READ_NODE_PTR_FIELD(query, query, query); return node; } -static TriggerTransition * -_readTriggerTransition(OUT_TYPE(TriggerTransition, TriggerTransition) msg) +static ExecuteStmt * +_readExecuteStmt(OUT_TYPE(ExecuteStmt, ExecuteStmt) msg) { - TriggerTransition *node = makeNode(TriggerTransition); + ExecuteStmt *node = makeNode(ExecuteStmt); READ_STRING_FIELD(name, name, name); - READ_BOOL_FIELD(is_new, isNew, isNew); - READ_BOOL_FIELD(is_table, isTable, isTable); + READ_LIST_FIELD(params, params, params); return node; } -static PartitionElem * -_readPartitionElem(OUT_TYPE(PartitionElem, PartitionElem) msg) +static DeallocateStmt * +_readDeallocateStmt(OUT_TYPE(DeallocateStmt, DeallocateStmt) msg) { - PartitionElem *node = makeNode(PartitionElem); + DeallocateStmt *node = makeNode(DeallocateStmt); READ_STRING_FIELD(name, name, name); - READ_NODE_PTR_FIELD(expr, expr, expr); - READ_LIST_FIELD(collation, collation, collation); - READ_LIST_FIELD(opclass, opclass, opclass); + READ_BOOL_FIELD(isall, isall, isall); READ_INT_FIELD(location, location, location); return node; } -static PartitionSpec * -_readPartitionSpec(OUT_TYPE(PartitionSpec, PartitionSpec) msg) +static DropOwnedStmt * +_readDropOwnedStmt(OUT_TYPE(DropOwnedStmt, DropOwnedStmt) msg) { - PartitionSpec *node = makeNode(PartitionSpec); - READ_STRING_FIELD(strategy, strategy, strategy); - READ_LIST_FIELD(part_params, partParams, partParams); - READ_INT_FIELD(location, location, location); + DropOwnedStmt *node = makeNode(DropOwnedStmt); + READ_LIST_FIELD(roles, roles, roles); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); return node; } -static PartitionBoundSpec * -_readPartitionBoundSpec(OUT_TYPE(PartitionBoundSpec, PartitionBoundSpec) msg) +static ReassignOwnedStmt * +_readReassignOwnedStmt(OUT_TYPE(ReassignOwnedStmt, ReassignOwnedStmt) msg) { - PartitionBoundSpec *node = makeNode(PartitionBoundSpec); - READ_CHAR_FIELD(strategy, strategy, strategy); - READ_BOOL_FIELD(is_default, is_default, is_default); - READ_INT_FIELD(modulus, modulus, modulus); - READ_INT_FIELD(remainder, remainder, remainder); - READ_LIST_FIELD(listdatums, listdatums, listdatums); - READ_LIST_FIELD(lowerdatums, lowerdatums, lowerdatums); - READ_LIST_FIELD(upperdatums, upperdatums, upperdatums); - READ_INT_FIELD(location, location, location); + ReassignOwnedStmt *node = makeNode(ReassignOwnedStmt); + READ_LIST_FIELD(roles, roles, roles); + READ_SPECIFIC_NODE_PTR_FIELD(RoleSpec, role_spec, newrole, newrole, newrole); return node; } -static PartitionRangeDatum * -_readPartitionRangeDatum(OUT_TYPE(PartitionRangeDatum, PartitionRangeDatum) msg) +static AlterTSDictionaryStmt * +_readAlterTSDictionaryStmt(OUT_TYPE(AlterTSDictionaryStmt, AlterTSDictionaryStmt) msg) { - PartitionRangeDatum *node = makeNode(PartitionRangeDatum); - READ_ENUM_FIELD(PartitionRangeDatumKind, kind, kind, kind); - READ_NODE_PTR_FIELD(value, value, value); - READ_INT_FIELD(location, location, location); + AlterTSDictionaryStmt *node = makeNode(AlterTSDictionaryStmt); + READ_LIST_FIELD(dictname, dictname, dictname); + READ_LIST_FIELD(options, options, options); return node; } -static PartitionCmd * -_readPartitionCmd(OUT_TYPE(PartitionCmd, PartitionCmd) msg) +static AlterTSConfigurationStmt * +_readAlterTSConfigurationStmt(OUT_TYPE(AlterTSConfigurationStmt, AlterTSConfigurationStmt) msg) { - PartitionCmd *node = makeNode(PartitionCmd); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, name, name, name); - READ_SPECIFIC_NODE_PTR_FIELD(PartitionBoundSpec, partition_bound_spec, bound, bound, bound); - READ_BOOL_FIELD(concurrent, concurrent, concurrent); + AlterTSConfigurationStmt *node = makeNode(AlterTSConfigurationStmt); + READ_ENUM_FIELD(AlterTSConfigType, kind, kind, kind); + READ_LIST_FIELD(cfgname, cfgname, cfgname); + READ_LIST_FIELD(tokentype, tokentype, tokentype); + READ_LIST_FIELD(dicts, dicts, dicts); + READ_BOOL_FIELD(override, override, override); + READ_BOOL_FIELD(replace, replace, replace); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); return node; } -static VacuumRelation * -_readVacuumRelation(OUT_TYPE(VacuumRelation, VacuumRelation) msg) +static PublicationTable * +_readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg) { - VacuumRelation *node = makeNode(VacuumRelation); + PublicationTable *node = makeNode(PublicationTable); READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_UINT_FIELD(oid, oid, oid); - READ_LIST_FIELD(va_cols, va_cols, va_cols); + READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); + READ_LIST_FIELD(columns, columns, columns); return node; } @@ -2992,32 +3345,59 @@ _readPublicationObjSpec(OUT_TYPE(PublicationObjSpec, PublicationObjSpec) msg) return node; } -static PublicationTable * -_readPublicationTable(OUT_TYPE(PublicationTable, PublicationTable) msg) +static CreatePublicationStmt * +_readCreatePublicationStmt(OUT_TYPE(CreatePublicationStmt, CreatePublicationStmt) msg) { - PublicationTable *node = makeNode(PublicationTable); - READ_SPECIFIC_NODE_PTR_FIELD(RangeVar, range_var, relation, relation, relation); - READ_NODE_PTR_FIELD(where_clause, whereClause, whereClause); - READ_LIST_FIELD(columns, columns, columns); + CreatePublicationStmt *node = makeNode(CreatePublicationStmt); + READ_STRING_FIELD(pubname, pubname, pubname); + READ_LIST_FIELD(options, options, options); + READ_LIST_FIELD(pubobjects, pubobjects, pubobjects); + READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); return node; } -static InlineCodeBlock * -_readInlineCodeBlock(OUT_TYPE(InlineCodeBlock, InlineCodeBlock) msg) +static AlterPublicationStmt * +_readAlterPublicationStmt(OUT_TYPE(AlterPublicationStmt, AlterPublicationStmt) msg) { - InlineCodeBlock *node = makeNode(InlineCodeBlock); - READ_STRING_FIELD(source_text, source_text, source_text); - READ_UINT_FIELD(lang_oid, langOid, langOid); - READ_BOOL_FIELD(lang_is_trusted, langIsTrusted, langIsTrusted); - READ_BOOL_FIELD(atomic, atomic, atomic); + AlterPublicationStmt *node = makeNode(AlterPublicationStmt); + READ_STRING_FIELD(pubname, pubname, pubname); + READ_LIST_FIELD(options, options, options); + READ_LIST_FIELD(pubobjects, pubobjects, pubobjects); + READ_BOOL_FIELD(for_all_tables, for_all_tables, for_all_tables); + READ_ENUM_FIELD(AlterPublicationAction, action, action, action); return node; } -static CallContext * -_readCallContext(OUT_TYPE(CallContext, CallContext) msg) +static CreateSubscriptionStmt * +_readCreateSubscriptionStmt(OUT_TYPE(CreateSubscriptionStmt, CreateSubscriptionStmt) msg) { - CallContext *node = makeNode(CallContext); - READ_BOOL_FIELD(atomic, atomic, atomic); + CreateSubscriptionStmt *node = makeNode(CreateSubscriptionStmt); + READ_STRING_FIELD(subname, subname, subname); + READ_STRING_FIELD(conninfo, conninfo, conninfo); + READ_LIST_FIELD(publication, publication, publication); + READ_LIST_FIELD(options, options, options); + return node; +} + +static AlterSubscriptionStmt * +_readAlterSubscriptionStmt(OUT_TYPE(AlterSubscriptionStmt, AlterSubscriptionStmt) msg) +{ + AlterSubscriptionStmt *node = makeNode(AlterSubscriptionStmt); + READ_ENUM_FIELD(AlterSubscriptionType, kind, kind, kind); + READ_STRING_FIELD(subname, subname, subname); + READ_STRING_FIELD(conninfo, conninfo, conninfo); + READ_LIST_FIELD(publication, publication, publication); + READ_LIST_FIELD(options, options, options); + return node; +} + +static DropSubscriptionStmt * +_readDropSubscriptionStmt(OUT_TYPE(DropSubscriptionStmt, DropSubscriptionStmt) msg) +{ + DropSubscriptionStmt *node = makeNode(DropSubscriptionStmt); + READ_STRING_FIELD(subname, subname, subname); + READ_BOOL_FIELD(missing_ok, missing_ok, missing_ok); + READ_ENUM_FIELD(DropBehavior, behavior, behavior, behavior); return node; } diff --git a/parser/include/portability/instr_time.h b/parser/include/portability/instr_time.h deleted file mode 100644 index ca09a160..00000000 --- a/parser/include/portability/instr_time.h +++ /dev/null @@ -1,256 +0,0 @@ -/*------------------------------------------------------------------------- - * - * instr_time.h - * portable high-precision interval timing - * - * This file provides an abstraction layer to hide portability issues in - * interval timing. On Unix we use clock_gettime() if available, else - * gettimeofday(). On Windows, gettimeofday() gives a low-precision result - * so we must use QueryPerformanceCounter() instead. These macros also give - * some breathing room to use other high-precision-timing APIs. - * - * The basic data type is instr_time, which all callers should treat as an - * opaque typedef. instr_time can store either an absolute time (of - * unspecified reference time) or an interval. The operations provided - * for it are: - * - * INSTR_TIME_IS_ZERO(t) is t equal to zero? - * - * INSTR_TIME_SET_ZERO(t) set t to zero (memset is acceptable too) - * - * INSTR_TIME_SET_CURRENT(t) set t to current time - * - * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, - * evaluates to whether t changed - * - * INSTR_TIME_ADD(x, y) x += y - * - * INSTR_TIME_SUBTRACT(x, y) x -= y - * - * INSTR_TIME_ACCUM_DIFF(x, y, z) x += (y - z) - * - * INSTR_TIME_GET_DOUBLE(t) convert t to double (in seconds) - * - * INSTR_TIME_GET_MILLISEC(t) convert t to double (in milliseconds) - * - * INSTR_TIME_GET_MICROSEC(t) convert t to uint64 (in microseconds) - * - * Note that INSTR_TIME_SUBTRACT and INSTR_TIME_ACCUM_DIFF convert - * absolute times to intervals. The INSTR_TIME_GET_xxx operations are - * only useful on intervals. - * - * When summing multiple measurements, it's recommended to leave the - * running sum in instr_time form (ie, use INSTR_TIME_ADD or - * INSTR_TIME_ACCUM_DIFF) and convert to a result format only at the end. - * - * Beware of multiple evaluations of the macro arguments. - * - * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group - * - * src/include/portability/instr_time.h - * - *------------------------------------------------------------------------- - */ -#ifndef INSTR_TIME_H -#define INSTR_TIME_H - -#ifndef WIN32 - -#ifdef HAVE_CLOCK_GETTIME - -/* Use clock_gettime() */ - -#include - -/* - * The best clockid to use according to the POSIX spec is CLOCK_MONOTONIC, - * since that will give reliable interval timing even in the face of changes - * to the system clock. However, POSIX doesn't require implementations to - * provide anything except CLOCK_REALTIME, so fall back to that if we don't - * find CLOCK_MONOTONIC. - * - * Also, some implementations have nonstandard clockids with better properties - * than CLOCK_MONOTONIC. In particular, as of macOS 10.12, Apple provides - * CLOCK_MONOTONIC_RAW which is both faster to read and higher resolution than - * their version of CLOCK_MONOTONIC. - */ -#if defined(__darwin__) && defined(CLOCK_MONOTONIC_RAW) -#define PG_INSTR_CLOCK CLOCK_MONOTONIC_RAW -#elif defined(CLOCK_MONOTONIC) -#define PG_INSTR_CLOCK CLOCK_MONOTONIC -#else -#define PG_INSTR_CLOCK CLOCK_REALTIME -#endif - -typedef struct timespec instr_time; - -#define INSTR_TIME_IS_ZERO(t) ((t).tv_nsec == 0 && (t).tv_sec == 0) - -#define INSTR_TIME_SET_ZERO(t) ((t).tv_sec = 0, (t).tv_nsec = 0) - -#define INSTR_TIME_SET_CURRENT(t) ((void) clock_gettime(PG_INSTR_CLOCK, &(t))) - -#define INSTR_TIME_ADD(x,y) \ - do { \ - (x).tv_sec += (y).tv_sec; \ - (x).tv_nsec += (y).tv_nsec; \ - /* Normalize */ \ - while ((x).tv_nsec >= 1000000000) \ - { \ - (x).tv_nsec -= 1000000000; \ - (x).tv_sec++; \ - } \ - } while (0) - -#define INSTR_TIME_SUBTRACT(x,y) \ - do { \ - (x).tv_sec -= (y).tv_sec; \ - (x).tv_nsec -= (y).tv_nsec; \ - /* Normalize */ \ - while ((x).tv_nsec < 0) \ - { \ - (x).tv_nsec += 1000000000; \ - (x).tv_sec--; \ - } \ - } while (0) - -#define INSTR_TIME_ACCUM_DIFF(x,y,z) \ - do { \ - (x).tv_sec += (y).tv_sec - (z).tv_sec; \ - (x).tv_nsec += (y).tv_nsec - (z).tv_nsec; \ - /* Normalize after each add to avoid overflow/underflow of tv_nsec */ \ - while ((x).tv_nsec < 0) \ - { \ - (x).tv_nsec += 1000000000; \ - (x).tv_sec--; \ - } \ - while ((x).tv_nsec >= 1000000000) \ - { \ - (x).tv_nsec -= 1000000000; \ - (x).tv_sec++; \ - } \ - } while (0) - -#define INSTR_TIME_GET_DOUBLE(t) \ - (((double) (t).tv_sec) + ((double) (t).tv_nsec) / 1000000000.0) - -#define INSTR_TIME_GET_MILLISEC(t) \ - (((double) (t).tv_sec * 1000.0) + ((double) (t).tv_nsec) / 1000000.0) - -#define INSTR_TIME_GET_MICROSEC(t) \ - (((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) ((t).tv_nsec / 1000)) - -#else /* !HAVE_CLOCK_GETTIME */ - -/* Use gettimeofday() */ - -#include - -typedef struct timeval instr_time; - -#define INSTR_TIME_IS_ZERO(t) ((t).tv_usec == 0 && (t).tv_sec == 0) - -#define INSTR_TIME_SET_ZERO(t) ((t).tv_sec = 0, (t).tv_usec = 0) - -#define INSTR_TIME_SET_CURRENT(t) gettimeofday(&(t), NULL) - -#define INSTR_TIME_ADD(x,y) \ - do { \ - (x).tv_sec += (y).tv_sec; \ - (x).tv_usec += (y).tv_usec; \ - /* Normalize */ \ - while ((x).tv_usec >= 1000000) \ - { \ - (x).tv_usec -= 1000000; \ - (x).tv_sec++; \ - } \ - } while (0) - -#define INSTR_TIME_SUBTRACT(x,y) \ - do { \ - (x).tv_sec -= (y).tv_sec; \ - (x).tv_usec -= (y).tv_usec; \ - /* Normalize */ \ - while ((x).tv_usec < 0) \ - { \ - (x).tv_usec += 1000000; \ - (x).tv_sec--; \ - } \ - } while (0) - -#define INSTR_TIME_ACCUM_DIFF(x,y,z) \ - do { \ - (x).tv_sec += (y).tv_sec - (z).tv_sec; \ - (x).tv_usec += (y).tv_usec - (z).tv_usec; \ - /* Normalize after each add to avoid overflow/underflow of tv_usec */ \ - while ((x).tv_usec < 0) \ - { \ - (x).tv_usec += 1000000; \ - (x).tv_sec--; \ - } \ - while ((x).tv_usec >= 1000000) \ - { \ - (x).tv_usec -= 1000000; \ - (x).tv_sec++; \ - } \ - } while (0) - -#define INSTR_TIME_GET_DOUBLE(t) \ - (((double) (t).tv_sec) + ((double) (t).tv_usec) / 1000000.0) - -#define INSTR_TIME_GET_MILLISEC(t) \ - (((double) (t).tv_sec * 1000.0) + ((double) (t).tv_usec) / 1000.0) - -#define INSTR_TIME_GET_MICROSEC(t) \ - (((uint64) (t).tv_sec * (uint64) 1000000) + (uint64) (t).tv_usec) - -#endif /* HAVE_CLOCK_GETTIME */ - -#else /* WIN32 */ - -/* Use QueryPerformanceCounter() */ - -typedef LARGE_INTEGER instr_time; - -#define INSTR_TIME_IS_ZERO(t) ((t).QuadPart == 0) - -#define INSTR_TIME_SET_ZERO(t) ((t).QuadPart = 0) - -#define INSTR_TIME_SET_CURRENT(t) QueryPerformanceCounter(&(t)) - -#define INSTR_TIME_ADD(x,y) \ - ((x).QuadPart += (y).QuadPart) - -#define INSTR_TIME_SUBTRACT(x,y) \ - ((x).QuadPart -= (y).QuadPart) - -#define INSTR_TIME_ACCUM_DIFF(x,y,z) \ - ((x).QuadPart += (y).QuadPart - (z).QuadPart) - -#define INSTR_TIME_GET_DOUBLE(t) \ - (((double) (t).QuadPart) / GetTimerFrequency()) - -#define INSTR_TIME_GET_MILLISEC(t) \ - (((double) (t).QuadPart * 1000.0) / GetTimerFrequency()) - -#define INSTR_TIME_GET_MICROSEC(t) \ - ((uint64) (((double) (t).QuadPart * 1000000.0) / GetTimerFrequency())) - -static inline double -GetTimerFrequency(void) -{ - LARGE_INTEGER f; - - QueryPerformanceFrequency(&f); - return (double) f.QuadPart; -} - -#endif /* WIN32 */ - -/* same macro on all platforms */ - -#define INSTR_TIME_SET_CURRENT_LAZY(t) \ - (INSTR_TIME_IS_ZERO(t) ? INSTR_TIME_SET_CURRENT(t), true : false) - -#endif /* INSTR_TIME_H */ diff --git a/parser/include/access/amapi.h b/parser/include/postgres/access/amapi.h similarity index 93% rename from parser/include/access/amapi.h rename to parser/include/postgres/access/amapi.h index 1dc674d2..09801450 100644 --- a/parser/include/access/amapi.h +++ b/parser/include/postgres/access/amapi.h @@ -3,7 +3,7 @@ * amapi.h * API for Postgres index access methods. * - * Copyright (c) 2015-2022, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * src/include/access/amapi.h * @@ -51,7 +51,7 @@ typedef enum IndexAMProperty AMPROP_CAN_UNIQUE, AMPROP_CAN_MULTI_COL, AMPROP_CAN_EXCLUDE, - AMPROP_CAN_INCLUDE + AMPROP_CAN_INCLUDE, } IndexAMProperty; /* @@ -76,6 +76,10 @@ typedef enum IndexAMProperty * opfamily. This allows ALTER OPERATOR FAMILY DROP, and causes that to * happen automatically if the operator or support func is dropped. This * is the right behavior for inessential ("loose") objects. + * + * We also make dependencies on lefttype/righttype, of the same strength as + * the dependency on the operator or support func, unless these dependencies + * are redundant with the dependency on the operator or support func. */ typedef struct OpFamilyMember { @@ -113,6 +117,10 @@ typedef bool (*aminsert_function) (Relation indexRelation, bool indexUnchanged, struct IndexInfo *indexInfo); +/* cleanup after insert */ +typedef void (*aminsertcleanup_function) (Relation indexRelation, + struct IndexInfo *indexInfo); + /* bulk delete */ typedef IndexBulkDeleteResult *(*ambulkdelete_function) (IndexVacuumInfo *info, IndexBulkDeleteResult *stats, @@ -191,7 +199,7 @@ typedef void (*amrestrpos_function) (IndexScanDesc scan); */ /* estimate size of parallel scan descriptor */ -typedef Size (*amestimateparallelscan_function) (void); +typedef Size (*amestimateparallelscan_function) (int nkeys, int norderbys); /* prepare for parallel index scan */ typedef void (*aminitparallelscan_function) (void *target); @@ -240,10 +248,14 @@ typedef struct IndexAmRoutine bool ampredlocks; /* does AM support parallel scan? */ bool amcanparallel; + /* does AM support parallel build? */ + bool amcanbuildparallel; /* does AM support columns included with clause INCLUDE? */ bool amcaninclude; /* does AM use maintenance_work_mem? */ bool amusemaintenanceworkmem; + /* does AM store tuple information only at block granularity? */ + bool amsummarizing; /* OR of parallel vacuum flags. See vacuum.h for flags. */ uint8 amparallelvacuumoptions; /* type of data stored in index, or InvalidOid if variable */ @@ -259,6 +271,7 @@ typedef struct IndexAmRoutine ambuild_function ambuild; ambuildempty_function ambuildempty; aminsert_function aminsert; + aminsertcleanup_function aminsertcleanup; /* can be NULL */ ambulkdelete_function ambulkdelete; amvacuumcleanup_function amvacuumcleanup; amcanreturn_function amcanreturn; /* can be NULL */ diff --git a/parser/include/access/attmap.h b/parser/include/postgres/access/attmap.h similarity index 89% rename from parser/include/access/attmap.h rename to parser/include/postgres/access/attmap.h index 3ae40cad..123ec45c 100644 --- a/parser/include/access/attmap.h +++ b/parser/include/postgres/access/attmap.h @@ -4,7 +4,7 @@ * Definitions for PostgreSQL attribute mappings * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/attmap.h @@ -42,9 +42,11 @@ extern void free_attrmap(AttrMap *map); /* Conversion routines to build mappings */ extern AttrMap *build_attrmap_by_name(TupleDesc indesc, - TupleDesc outdesc); + TupleDesc outdesc, + bool missing_ok); extern AttrMap *build_attrmap_by_name_if_req(TupleDesc indesc, - TupleDesc outdesc); + TupleDesc outdesc, + bool missing_ok); extern AttrMap *build_attrmap_by_position(TupleDesc indesc, TupleDesc outdesc, const char *msg); diff --git a/parser/include/access/attnum.h b/parser/include/postgres/access/attnum.h similarity index 95% rename from parser/include/access/attnum.h rename to parser/include/postgres/access/attnum.h index 508c583e..0c17e33b 100644 --- a/parser/include/access/attnum.h +++ b/parser/include/postgres/access/attnum.h @@ -4,7 +4,7 @@ * POSTGRES attribute number definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/attnum.h diff --git a/parser/include/postgres/access/brin_internal.h b/parser/include/postgres/access/brin_internal.h new file mode 100644 index 00000000..a5a97726 --- /dev/null +++ b/parser/include/postgres/access/brin_internal.h @@ -0,0 +1,116 @@ +/* + * brin_internal.h + * internal declarations for BRIN indexes + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/access/brin_internal.h + */ +#ifndef BRIN_INTERNAL_H +#define BRIN_INTERNAL_H + +#include "access/amapi.h" +#include "storage/bufpage.h" +#include "utils/typcache.h" + + +/* + * A BrinDesc is a struct designed to enable decoding a BRIN tuple from the + * on-disk format to an in-memory tuple and vice-versa. + */ + +/* struct returned by "OpcInfo" amproc */ +typedef struct BrinOpcInfo +{ + /* Number of columns stored in an index column of this opclass */ + uint16 oi_nstored; + + /* Regular processing of NULLs in BrinValues? */ + bool oi_regular_nulls; + + /* Opaque pointer for the opclass' private use */ + void *oi_opaque; + + /* Type cache entries of the stored columns */ + TypeCacheEntry *oi_typcache[FLEXIBLE_ARRAY_MEMBER]; +} BrinOpcInfo; + +/* the size of a BrinOpcInfo for the given number of columns */ +#define SizeofBrinOpcInfo(ncols) \ + (offsetof(BrinOpcInfo, oi_typcache) + sizeof(TypeCacheEntry *) * ncols) + +typedef struct BrinDesc +{ + /* Containing memory context */ + MemoryContext bd_context; + + /* the index relation itself */ + Relation bd_index; + + /* tuple descriptor of the index relation */ + TupleDesc bd_tupdesc; + + /* cached copy for on-disk tuples; generated at first use */ + TupleDesc bd_disktdesc; + + /* total number of Datum entries that are stored on-disk for all columns */ + int bd_totalstored; + + /* per-column info; bd_tupdesc->natts entries long */ + BrinOpcInfo *bd_info[FLEXIBLE_ARRAY_MEMBER]; +} BrinDesc; + +/* + * Globally-known function support numbers for BRIN indexes. Individual + * opclasses can define more function support numbers, which must fall into + * BRIN_FIRST_OPTIONAL_PROCNUM .. BRIN_LAST_OPTIONAL_PROCNUM. + */ +#define BRIN_PROCNUM_OPCINFO 1 +#define BRIN_PROCNUM_ADDVALUE 2 +#define BRIN_PROCNUM_CONSISTENT 3 +#define BRIN_PROCNUM_UNION 4 +#define BRIN_MANDATORY_NPROCS 4 +#define BRIN_PROCNUM_OPTIONS 5 /* optional */ +/* procedure numbers up to 10 are reserved for BRIN future expansion */ +#define BRIN_FIRST_OPTIONAL_PROCNUM 11 +#define BRIN_LAST_OPTIONAL_PROCNUM 15 + +#undef BRIN_DEBUG + +#ifdef BRIN_DEBUG +#define BRIN_elog(args) elog args +#else +#define BRIN_elog(args) ((void) 0) +#endif + +/* brin.c */ +extern BrinDesc *brin_build_desc(Relation rel); +extern void brin_free_desc(BrinDesc *bdesc); +extern IndexBuildResult *brinbuild(Relation heap, Relation index, + struct IndexInfo *indexInfo); +extern void brinbuildempty(Relation index); +extern bool brininsert(Relation idxRel, Datum *values, bool *nulls, + ItemPointer heaptid, Relation heapRel, + IndexUniqueCheck checkUnique, + bool indexUnchanged, + struct IndexInfo *indexInfo); +extern void brininsertcleanup(Relation index, struct IndexInfo *indexInfo); +extern IndexScanDesc brinbeginscan(Relation r, int nkeys, int norderbys); +extern int64 bringetbitmap(IndexScanDesc scan, TIDBitmap *tbm); +extern void brinrescan(IndexScanDesc scan, ScanKey scankey, int nscankeys, + ScanKey orderbys, int norderbys); +extern void brinendscan(IndexScanDesc scan); +extern IndexBulkDeleteResult *brinbulkdelete(IndexVacuumInfo *info, + IndexBulkDeleteResult *stats, + IndexBulkDeleteCallback callback, + void *callback_state); +extern IndexBulkDeleteResult *brinvacuumcleanup(IndexVacuumInfo *info, + IndexBulkDeleteResult *stats); +extern bytea *brinoptions(Datum reloptions, bool validate); + +/* brin_validate.c */ +extern bool brinvalidate(Oid opclassoid); + +#endif /* BRIN_INTERNAL_H */ diff --git a/parser/include/postgres/access/brin_tuple.h b/parser/include/postgres/access/brin_tuple.h new file mode 100644 index 00000000..c8850fd6 --- /dev/null +++ b/parser/include/postgres/access/brin_tuple.h @@ -0,0 +1,112 @@ +/* + * brin_tuple.h + * Declarations for dealing with BRIN-specific tuples. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/access/brin_tuple.h + */ +#ifndef BRIN_TUPLE_H +#define BRIN_TUPLE_H + +#include "access/brin_internal.h" +#include "access/tupdesc.h" + +/* + * The BRIN opclasses may register serialization callback, in case the on-disk + * and in-memory representations differ (e.g. for performance reasons). + */ +typedef void (*brin_serialize_callback_type) (BrinDesc *bdesc, Datum src, Datum *dst); + +/* + * A BRIN index stores one index tuple per page range. Each index tuple + * has one BrinValues struct for each indexed column; in turn, each BrinValues + * has (besides the null flags) an array of Datum whose size is determined by + * the opclass. + */ +typedef struct BrinValues +{ + AttrNumber bv_attno; /* index attribute number */ + bool bv_hasnulls; /* are there any nulls in the page range? */ + bool bv_allnulls; /* are all values nulls in the page range? */ + Datum *bv_values; /* current accumulated values */ + Datum bv_mem_value; /* expanded accumulated values */ + MemoryContext bv_context; + brin_serialize_callback_type bv_serialize; +} BrinValues; + +/* + * This struct is used to represent an in-memory index tuple. The values can + * only be meaningfully decoded with an appropriate BrinDesc. + */ +typedef struct BrinMemTuple +{ + bool bt_placeholder; /* this is a placeholder tuple */ + bool bt_empty_range; /* range represents no tuples */ + BlockNumber bt_blkno; /* heap blkno that the tuple is for */ + MemoryContext bt_context; /* memcxt holding the bt_columns values */ + /* output arrays for brin_deform_tuple: */ + Datum *bt_values; /* values array */ + bool *bt_allnulls; /* allnulls array */ + bool *bt_hasnulls; /* hasnulls array */ + /* not an output array, but must be last */ + BrinValues bt_columns[FLEXIBLE_ARRAY_MEMBER]; +} BrinMemTuple; + +/* + * An on-disk BRIN tuple. This is possibly followed by a nulls bitmask, with + * room for 2 null bits (two bits for each indexed column); an opclass-defined + * number of Datum values for each column follow. + */ +typedef struct BrinTuple +{ + /* heap block number that the tuple is for */ + BlockNumber bt_blkno; + + /* --------------- + * bt_info is laid out in the following fashion: + * + * 7th (high) bit: has nulls + * 6th bit: is placeholder tuple + * 5th bit: range is empty + * 4-0 bit: offset of data + * --------------- + */ + uint8 bt_info; +} BrinTuple; + +#define SizeOfBrinTuple (offsetof(BrinTuple, bt_info) + sizeof(uint8)) + +/* + * bt_info manipulation macros + */ +#define BRIN_OFFSET_MASK 0x1F +#define BRIN_EMPTY_RANGE_MASK 0x20 +#define BRIN_PLACEHOLDER_MASK 0x40 +#define BRIN_NULLS_MASK 0x80 + +#define BrinTupleDataOffset(tup) ((Size) (((BrinTuple *) (tup))->bt_info & BRIN_OFFSET_MASK)) +#define BrinTupleHasNulls(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_NULLS_MASK)) != 0) +#define BrinTupleIsPlaceholder(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_PLACEHOLDER_MASK)) != 0) +#define BrinTupleIsEmptyRange(tup) (((((BrinTuple *) (tup))->bt_info & BRIN_EMPTY_RANGE_MASK)) != 0) + + +extern BrinTuple *brin_form_tuple(BrinDesc *brdesc, BlockNumber blkno, + BrinMemTuple *tuple, Size *size); +extern BrinTuple *brin_form_placeholder_tuple(BrinDesc *brdesc, + BlockNumber blkno, Size *size); +extern void brin_free_tuple(BrinTuple *tuple); +extern BrinTuple *brin_copy_tuple(BrinTuple *tuple, Size len, + BrinTuple *dest, Size *destsz); +extern bool brin_tuples_equal(const BrinTuple *a, Size alen, + const BrinTuple *b, Size blen); + +extern BrinMemTuple *brin_new_memtuple(BrinDesc *brdesc); +extern BrinMemTuple *brin_memtuple_initialize(BrinMemTuple *dtuple, + BrinDesc *brdesc); +extern BrinMemTuple *brin_deform_tuple(BrinDesc *brdesc, + BrinTuple *tuple, BrinMemTuple *dMemtuple); + +#endif /* BRIN_TUPLE_H */ diff --git a/parser/include/access/clog.h b/parser/include/postgres/access/clog.h similarity index 93% rename from parser/include/access/clog.h rename to parser/include/postgres/access/clog.h index 543f2e26..8e62917e 100644 --- a/parser/include/access/clog.h +++ b/parser/include/postgres/access/clog.h @@ -3,7 +3,7 @@ * * PostgreSQL transaction-commit-log manager * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/clog.h @@ -31,7 +31,7 @@ typedef int XidStatus; typedef struct xl_clog_truncate { - int pageno; + int64 pageno; TransactionId oldestXact; Oid oldestXactDb; } xl_clog_truncate; @@ -40,7 +40,6 @@ extern void TransactionIdSetTreeStatus(TransactionId xid, int nsubxids, TransactionId *subxids, XidStatus status, XLogRecPtr lsn); extern XidStatus TransactionIdGetStatus(TransactionId xid, XLogRecPtr *lsn); -extern Size CLOGShmemBuffers(void); extern Size CLOGShmemSize(void); extern void CLOGShmemInit(void); extern void BootStrapCLOG(void); diff --git a/parser/include/access/commit_ts.h b/parser/include/postgres/access/commit_ts.h similarity index 94% rename from parser/include/access/commit_ts.h rename to parser/include/postgres/access/commit_ts.h index 7662f8e1..82d3aa86 100644 --- a/parser/include/access/commit_ts.h +++ b/parser/include/postgres/access/commit_ts.h @@ -3,7 +3,7 @@ * * PostgreSQL commit timestamp manager * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/commit_ts.h @@ -27,7 +27,6 @@ extern bool TransactionIdGetCommitTsData(TransactionId xid, extern TransactionId GetLatestCommitTsData(TimestampTz *ts, RepOriginId *nodeid); -extern Size CommitTsShmemBuffers(void); extern Size CommitTsShmemSize(void); extern void CommitTsShmemInit(void); extern void BootStrapCommitTs(void); @@ -60,7 +59,7 @@ typedef struct xl_commit_ts_set typedef struct xl_commit_ts_truncate { - int pageno; + int64 pageno; TransactionId oldestXid; } xl_commit_ts_truncate; diff --git a/parser/include/access/detoast.h b/parser/include/postgres/access/detoast.h similarity index 97% rename from parser/include/access/detoast.h rename to parser/include/postgres/access/detoast.h index b1d8ea09..12d8cdb3 100644 --- a/parser/include/access/detoast.h +++ b/parser/include/postgres/access/detoast.h @@ -3,7 +3,7 @@ * detoast.h * Access to compressed and external varlena values. * - * Copyright (c) 2000-2022, PostgreSQL Global Development Group + * Copyright (c) 2000-2024, PostgreSQL Global Development Group * * src/include/access/detoast.h * diff --git a/parser/include/access/genam.h b/parser/include/postgres/access/genam.h similarity index 88% rename from parser/include/access/genam.h rename to parser/include/postgres/access/genam.h index 134b20f1..c25f5d11 100644 --- a/parser/include/access/genam.h +++ b/parser/include/postgres/access/genam.h @@ -4,7 +4,7 @@ * POSTGRES generalized index access method definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/genam.h @@ -44,6 +44,7 @@ typedef struct IndexBuildResult typedef struct IndexVacuumInfo { Relation index; /* the index being vacuumed */ + Relation heaprel; /* the heap relation the index belongs to */ bool analyze_only; /* ANALYZE (without any actual vacuum) */ bool report_progress; /* emit progress.h status reports */ bool estimated_count; /* num_heap_tuples is an estimate */ @@ -116,7 +117,7 @@ typedef enum IndexUniqueCheck UNIQUE_CHECK_NO, /* Don't do any uniqueness checking */ UNIQUE_CHECK_YES, /* Enforce uniqueness at insertion time */ UNIQUE_CHECK_PARTIAL, /* Test uniqueness, but no error */ - UNIQUE_CHECK_EXISTING /* Check if existing tuple is unique */ + UNIQUE_CHECK_EXISTING, /* Check if existing tuple is unique */ } IndexUniqueCheck; @@ -138,6 +139,7 @@ typedef struct IndexOrderByDistance #define IndexScanIsValid(scan) PointerIsValid(scan) extern Relation index_open(Oid relationId, LOCKMODE lockmode); +extern Relation try_index_open(Oid relationId, LOCKMODE lockmode); extern void index_close(Relation relation, LOCKMODE lockmode); extern bool index_insert(Relation indexRelation, @@ -147,6 +149,8 @@ extern bool index_insert(Relation indexRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, struct IndexInfo *indexInfo); +extern void index_insert_cleanup(Relation indexRelation, + struct IndexInfo *indexInfo); extern IndexScanDesc index_beginscan(Relation heapRelation, Relation indexRelation, @@ -161,9 +165,11 @@ extern void index_rescan(IndexScanDesc scan, extern void index_endscan(IndexScanDesc scan); extern void index_markpos(IndexScanDesc scan); extern void index_restrpos(IndexScanDesc scan); -extern Size index_parallelscan_estimate(Relation indexrel, Snapshot snapshot); -extern void index_parallelscan_initialize(Relation heaprel, Relation indexrel, - Snapshot snapshot, ParallelIndexScanDesc target); +extern Size index_parallelscan_estimate(Relation indexRelation, + int nkeys, int norderbys, Snapshot snapshot); +extern void index_parallelscan_initialize(Relation heapRelation, + Relation indexRelation, Snapshot snapshot, + ParallelIndexScanDesc target); extern void index_parallelrescan(IndexScanDesc scan); extern IndexScanDesc index_beginscan_parallel(Relation heaprel, Relation indexrel, int nkeys, int norderbys, @@ -191,7 +197,7 @@ extern void index_store_float8_orderby_distances(IndexScanDesc scan, Oid *orderByTypes, IndexOrderByDistance *distances, bool recheckOrderBy); -extern bytea *index_opclass_options(Relation relation, AttrNumber attnum, +extern bytea *index_opclass_options(Relation indrel, AttrNumber attnum, Datum attoptions, bool validate); @@ -202,7 +208,7 @@ extern IndexScanDesc RelationGetIndexScan(Relation indexRelation, int nkeys, int norderbys); extern void IndexScanEnd(IndexScanDesc scan); extern char *BuildIndexValueDescription(Relation indexRelation, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern TransactionId index_compute_xid_horizon_for_tuples(Relation irel, Relation hrel, Buffer ibuf, @@ -227,5 +233,14 @@ extern SysScanDesc systable_beginscan_ordered(Relation heapRelation, extern HeapTuple systable_getnext_ordered(SysScanDesc sysscan, ScanDirection direction); extern void systable_endscan_ordered(SysScanDesc sysscan); +extern void systable_inplace_update_begin(Relation relation, + Oid indexId, + bool indexOK, + Snapshot snapshot, + int nkeys, const ScanKeyData *key, + HeapTuple *oldtupcopy, + void **state); +extern void systable_inplace_update_finish(void *state, HeapTuple tuple); +extern void systable_inplace_update_cancel(void *state); #endif /* GENAM_H */ diff --git a/parser/include/access/gin.h b/parser/include/postgres/access/gin.h similarity index 84% rename from parser/include/access/gin.h rename to parser/include/postgres/access/gin.h index aacc665f..25983b7a 100644 --- a/parser/include/access/gin.h +++ b/parser/include/postgres/access/gin.h @@ -2,7 +2,7 @@ * gin.h * Public header file for Generalized Inverted Index access method. * - * Copyright (c) 2006-2022, PostgreSQL Global Development Group + * Copyright (c) 2006-2024, PostgreSQL Global Development Group * * src/include/access/gin.h *-------------------------------------------------------------------------- @@ -57,13 +57,26 @@ typedef struct GinStatsData */ typedef char GinTernaryValue; +StaticAssertDecl(sizeof(GinTernaryValue) == sizeof(bool), + "sizes of GinTernaryValue and bool are not equal"); + #define GIN_FALSE 0 /* item is not present / does not match */ #define GIN_TRUE 1 /* item is present / matches */ #define GIN_MAYBE 2 /* don't know if item is present / don't know * if matches */ -#define DatumGetGinTernaryValue(X) ((GinTernaryValue)(X)) -#define GinTernaryValueGetDatum(X) ((Datum)(X)) +static inline GinTernaryValue +DatumGetGinTernaryValue(Datum X) +{ + return (GinTernaryValue) X; +} + +static inline Datum +GinTernaryValueGetDatum(GinTernaryValue X) +{ + return (Datum) X; +} + #define PG_RETURN_GIN_TERNARY_VALUE(x) return GinTernaryValueGetDatum(x) /* GUC parameters */ diff --git a/parser/include/postgres/access/gokeep.go b/parser/include/postgres/access/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/access/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/access/htup.h b/parser/include/postgres/access/htup.h similarity index 98% rename from parser/include/access/htup.h rename to parser/include/postgres/access/htup.h index a4bc7256..116cb1bb 100644 --- a/parser/include/access/htup.h +++ b/parser/include/postgres/access/htup.h @@ -4,7 +4,7 @@ * POSTGRES heap tuple definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/htup.h diff --git a/parser/include/access/htup_details.h b/parser/include/postgres/access/htup_details.h similarity index 97% rename from parser/include/access/htup_details.h rename to parser/include/postgres/access/htup_details.h index 51a60eda..5e38ef86 100644 --- a/parser/include/access/htup_details.h +++ b/parser/include/postgres/access/htup_details.h @@ -4,7 +4,7 @@ * POSTGRES heap tuple header definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/htup_details.h @@ -19,6 +19,7 @@ #include "access/tupdesc.h" #include "access/tupmacs.h" #include "storage/bufpage.h" +#include "varatt.h" /* * MaxTupleAttributeNumber limits the number of (user) columns in a tuple. @@ -426,6 +427,9 @@ do { \ (tup)->t_choice.t_heap.t_field3.t_xvac = (xid); \ } while (0) +StaticAssertDecl(MaxOffsetNumber < SpecTokenOffsetNumber, + "invalid speculative token constant"); + #define HeapTupleHeaderIsSpeculative(tup) \ ( \ (ItemPointerGetOffsetNumberNoCheck(&(tup)->t_ctid) == SpecTokenOffsetNumber) \ @@ -692,14 +696,14 @@ struct MinimalTupleData /* prototypes for functions in common/heaptuple.c */ extern Size heap_compute_data_size(TupleDesc tupleDesc, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern void heap_fill_tuple(TupleDesc tupleDesc, - Datum *values, bool *isnull, + const Datum *values, const bool *isnull, char *data, Size data_size, uint16 *infomask, bits8 *bit); extern bool heap_attisnull(HeapTuple tup, int attnum, TupleDesc tupleDesc); extern Datum nocachegetattr(HeapTuple tup, int attnum, - TupleDesc att); + TupleDesc tupleDesc); extern Datum heap_getsysattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, bool *isnull); extern Datum getmissingattr(TupleDesc tupleDesc, @@ -708,23 +712,23 @@ extern HeapTuple heap_copytuple(HeapTuple tuple); extern void heap_copytuple_with_tuple(HeapTuple src, HeapTuple dest); extern Datum heap_copy_tuple_as_datum(HeapTuple tuple, TupleDesc tupleDesc); extern HeapTuple heap_form_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern HeapTuple heap_modify_tuple(HeapTuple tuple, TupleDesc tupleDesc, - Datum *replValues, - bool *replIsnull, - bool *doReplace); + const Datum *replValues, + const bool *replIsnull, + const bool *doReplace); extern HeapTuple heap_modify_tuple_by_cols(HeapTuple tuple, TupleDesc tupleDesc, int nCols, - int *replCols, - Datum *replValues, - bool *replIsnull); + const int *replCols, + const Datum *replValues, + const bool *replIsnull); extern void heap_deform_tuple(HeapTuple tuple, TupleDesc tupleDesc, Datum *values, bool *isnull); extern void heap_freetuple(HeapTuple htup); extern MinimalTuple heap_form_minimal_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); extern void heap_free_minimal_tuple(MinimalTuple mtup); extern MinimalTuple heap_copy_minimal_tuple(MinimalTuple mtup); extern HeapTuple heap_tuple_from_minimal_tuple(MinimalTuple mtup); diff --git a/parser/include/access/itup.h b/parser/include/postgres/access/itup.h similarity index 78% rename from parser/include/access/itup.h rename to parser/include/postgres/access/itup.h index 7458bc2f..94885751 100644 --- a/parser/include/access/itup.h +++ b/parser/include/postgres/access/itup.h @@ -4,7 +4,7 @@ * POSTGRES index tuple definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/itup.h @@ -73,21 +73,38 @@ typedef IndexAttributeBitMapData * IndexAttributeBitMap; #define IndexTupleHasVarwidths(itup) ((((IndexTuple) (itup))->t_info & INDEX_VAR_MASK)) +/* routines in indextuple.c */ +extern IndexTuple index_form_tuple(TupleDesc tupleDescriptor, + const Datum *values, const bool *isnull); +extern IndexTuple index_form_tuple_context(TupleDesc tupleDescriptor, + const Datum *values, const bool *isnull, + MemoryContext context); +extern Datum nocache_index_getattr(IndexTuple tup, int attnum, + TupleDesc tupleDesc); +extern void index_deform_tuple(IndexTuple tup, TupleDesc tupleDescriptor, + Datum *values, bool *isnull); +extern void index_deform_tuple_internal(TupleDesc tupleDescriptor, + Datum *values, bool *isnull, + char *tp, bits8 *bp, int hasnulls); +extern IndexTuple CopyIndexTuple(IndexTuple source); +extern IndexTuple index_truncate_tuple(TupleDesc sourceDescriptor, + IndexTuple source, int leavenatts); + + /* * Takes an infomask as argument (primarily because this needs to be usable * at index_form_tuple time so enough space is allocated). */ -#define IndexInfoFindDataOffset(t_info) \ -( \ - (!((t_info) & INDEX_NULL_MASK)) ? \ - ( \ - (Size)MAXALIGN(sizeof(IndexTupleData)) \ - ) \ - : \ - ( \ - (Size)MAXALIGN(sizeof(IndexTupleData) + sizeof(IndexAttributeBitMapData)) \ - ) \ -) +static inline Size +IndexInfoFindDataOffset(unsigned short t_info) +{ + if (!(t_info & INDEX_NULL_MASK)) + return MAXALIGN(sizeof(IndexTupleData)); + else + return MAXALIGN(sizeof(IndexTupleData) + sizeof(IndexAttributeBitMapData)); +} + +#ifndef FRONTEND /* ---------------- * index_getattr @@ -97,34 +114,38 @@ typedef IndexAttributeBitMapData * IndexAttributeBitMap; * * ---------------- */ -#define index_getattr(tup, attnum, tupleDesc, isnull) \ -( \ - AssertMacro(PointerIsValid(isnull) && (attnum) > 0), \ - *(isnull) = false, \ - !IndexTupleHasNulls(tup) ? \ - ( \ - TupleDescAttr((tupleDesc), (attnum)-1)->attcacheoff >= 0 ? \ - ( \ - fetchatt(TupleDescAttr((tupleDesc), (attnum)-1), \ - (char *) (tup) + IndexInfoFindDataOffset((tup)->t_info) \ - + TupleDescAttr((tupleDesc), (attnum)-1)->attcacheoff) \ - ) \ - : \ - nocache_index_getattr((tup), (attnum), (tupleDesc)) \ - ) \ - : \ - ( \ - (att_isnull((attnum)-1, (char *)(tup) + sizeof(IndexTupleData))) ? \ - ( \ - *(isnull) = true, \ - (Datum)NULL \ - ) \ - : \ - ( \ - nocache_index_getattr((tup), (attnum), (tupleDesc)) \ - ) \ - ) \ -) +static inline Datum +index_getattr(IndexTuple tup, int attnum, TupleDesc tupleDesc, bool *isnull) +{ + Assert(PointerIsValid(isnull)); + Assert(attnum > 0); + + *isnull = false; + + if (!IndexTupleHasNulls(tup)) + { + if (TupleDescAttr(tupleDesc, attnum - 1)->attcacheoff >= 0) + { + return fetchatt(TupleDescAttr(tupleDesc, attnum - 1), + (char *) tup + IndexInfoFindDataOffset(tup->t_info) + + TupleDescAttr(tupleDesc, attnum - 1)->attcacheoff); + } + else + return nocache_index_getattr(tup, attnum, tupleDesc); + } + else + { + if (att_isnull(attnum - 1, (bits8 *) tup + sizeof(IndexTupleData))) + { + *isnull = true; + return (Datum) NULL; + } + else + return nocache_index_getattr(tup, attnum, tupleDesc); + } +} + +#endif /* * MaxIndexTuplesPerPage is an upper bound on the number of tuples that can @@ -146,22 +167,4 @@ typedef IndexAttributeBitMapData * IndexAttributeBitMap; ((int) ((BLCKSZ - SizeOfPageHeaderData) / \ (MAXALIGN(sizeof(IndexTupleData) + 1) + sizeof(ItemIdData)))) - -/* routines in indextuple.c */ -extern IndexTuple index_form_tuple(TupleDesc tupleDescriptor, - Datum *values, bool *isnull); -extern IndexTuple index_form_tuple_context(TupleDesc tupleDescriptor, - Datum *values, bool *isnull, - MemoryContext context); -extern Datum nocache_index_getattr(IndexTuple tup, int attnum, - TupleDesc tupleDesc); -extern void index_deform_tuple(IndexTuple tup, TupleDesc tupleDescriptor, - Datum *values, bool *isnull); -extern void index_deform_tuple_internal(TupleDesc tupleDescriptor, - Datum *values, bool *isnull, - char *tp, bits8 *bp, int hasnulls); -extern IndexTuple CopyIndexTuple(IndexTuple source); -extern IndexTuple index_truncate_tuple(TupleDesc sourceDescriptor, - IndexTuple source, int leavenatts); - #endif /* ITUP_H */ diff --git a/parser/include/access/parallel.h b/parser/include/postgres/access/parallel.h similarity index 94% rename from parser/include/access/parallel.h rename to parser/include/postgres/access/parallel.h index 983841d4..69ffe549 100644 --- a/parser/include/access/parallel.h +++ b/parser/include/postgres/access/parallel.h @@ -3,7 +3,7 @@ * parallel.h * Infrastructure for launching parallel workers * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/parallel.h @@ -26,7 +26,6 @@ typedef struct ParallelWorkerInfo { BackgroundWorkerHandle *bgwhandle; shm_mq_handle *error_mqh; - int32 pid; } ParallelWorkerInfo; typedef struct ParallelContext @@ -54,7 +53,7 @@ typedef struct ParallelWorkerContext shm_toc *toc; } ParallelWorkerContext; -extern PGDLLIMPORT volatile bool ParallelMessagePending; +extern PGDLLIMPORT volatile sig_atomic_t ParallelMessagePending; extern PGDLLIMPORT int ParallelWorkerNumber; extern PGDLLIMPORT bool InitializingParallelWorker; diff --git a/parser/include/access/printtup.h b/parser/include/postgres/access/printtup.h similarity index 94% rename from parser/include/access/printtup.h rename to parser/include/postgres/access/printtup.h index 971a74cf..b1fecf87 100644 --- a/parser/include/access/printtup.h +++ b/parser/include/postgres/access/printtup.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/printtup.h diff --git a/parser/include/access/relation.h b/parser/include/postgres/access/relation.h similarity index 93% rename from parser/include/access/relation.h rename to parser/include/postgres/access/relation.h index d3627931..aa5ccadc 100644 --- a/parser/include/access/relation.h +++ b/parser/include/postgres/access/relation.h @@ -4,7 +4,7 @@ * Generic relation related routines. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/relation.h diff --git a/parser/include/access/relscan.h b/parser/include/postgres/access/relscan.h similarity index 99% rename from parser/include/access/relscan.h rename to parser/include/postgres/access/relscan.h index 53a93ccb..52104330 100644 --- a/parser/include/access/relscan.h +++ b/parser/include/postgres/access/relscan.h @@ -4,7 +4,7 @@ * POSTGRES relation scan descriptor definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/relscan.h diff --git a/parser/include/access/rmgr.h b/parser/include/postgres/access/rmgr.h similarity index 100% rename from parser/include/access/rmgr.h rename to parser/include/postgres/access/rmgr.h diff --git a/parser/include/access/rmgrlist.h b/parser/include/postgres/access/rmgrlist.h similarity index 97% rename from parser/include/access/rmgrlist.h rename to parser/include/postgres/access/rmgrlist.h index 9a74721c..78e6b908 100644 --- a/parser/include/access/rmgrlist.h +++ b/parser/include/postgres/access/rmgrlist.h @@ -6,7 +6,7 @@ * by the PG_RMGR macro, which is not defined in this file; it can be * defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/rmgrlist.h @@ -24,7 +24,7 @@ * Changes to this list possibly need an XLOG_PAGE_MAGIC bump. */ -/* symbol name, textual name, redo, desc, identify, startup, cleanup */ +/* symbol name, textual name, redo, desc, identify, startup, cleanup, mask, decode */ PG_RMGR(RM_XLOG_ID, "XLOG", xlog_redo, xlog_desc, xlog_identify, NULL, NULL, NULL, xlog_decode) PG_RMGR(RM_XACT_ID, "Transaction", xact_redo, xact_desc, xact_identify, NULL, NULL, NULL, xact_decode) PG_RMGR(RM_SMGR_ID, "Storage", smgr_redo, smgr_desc, smgr_identify, NULL, NULL, NULL, NULL) diff --git a/parser/include/access/sdir.h b/parser/include/postgres/access/sdir.h similarity index 66% rename from parser/include/access/sdir.h rename to parser/include/postgres/access/sdir.h index 1ab4d5e1..d40d809b 100644 --- a/parser/include/access/sdir.h +++ b/parser/include/postgres/access/sdir.h @@ -4,7 +4,7 @@ * POSTGRES scan direction definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/sdir.h @@ -16,8 +16,10 @@ /* - * ScanDirection was an int8 for no apparent reason. I kept the original - * values because I'm not sure if I'll break anything otherwise. -ay 2/95 + * Defines the direction for scanning a table or an index. Scans are never + * invoked using NoMovementScanDirectionScans. For convenience, we use the + * values -1 and 1 for backward and forward scans. This allows us to perform + * a few mathematical tricks such as what is done in ScanDirectionCombine. */ typedef enum ScanDirection { @@ -26,6 +28,13 @@ typedef enum ScanDirection ForwardScanDirection = 1 } ScanDirection; +/* + * Determine the net effect of two direction specifications. + * This relies on having ForwardScanDirection = +1, BackwardScanDirection = -1, + * and will probably not do what you want if applied to any other values. + */ +#define ScanDirectionCombine(a, b) ((a) * (b)) + /* * ScanDirectionIsValid * True iff scan direction is valid. diff --git a/parser/include/access/skey.h b/parser/include/postgres/access/skey.h similarity index 99% rename from parser/include/access/skey.h rename to parser/include/postgres/access/skey.h index b5ab17f7..8054d3ed 100644 --- a/parser/include/access/skey.h +++ b/parser/include/postgres/access/skey.h @@ -4,7 +4,7 @@ * POSTGRES scan key definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/skey.h diff --git a/parser/include/postgres/access/slru.h b/parser/include/postgres/access/slru.h new file mode 100644 index 00000000..9409f680 --- /dev/null +++ b/parser/include/postgres/access/slru.h @@ -0,0 +1,218 @@ +/*------------------------------------------------------------------------- + * + * slru.h + * Simple LRU buffering for transaction status logfiles + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/slru.h + * + *------------------------------------------------------------------------- + */ +#ifndef SLRU_H +#define SLRU_H + +#include "access/xlogdefs.h" +#include "storage/lwlock.h" +#include "storage/sync.h" + +/* + * To avoid overflowing internal arithmetic and the size_t data type, the + * number of buffers must not exceed this number. + */ +#define SLRU_MAX_ALLOWED_BUFFERS ((1024 * 1024 * 1024) / BLCKSZ) + +/* + * Define SLRU segment size. A page is the same BLCKSZ as is used everywhere + * else in Postgres. The segment size can be chosen somewhat arbitrarily; + * we make it 32 pages by default, or 256Kb, i.e. 1M transactions for CLOG + * or 64K transactions for SUBTRANS. + * + * Note: because TransactionIds are 32 bits and wrap around at 0xFFFFFFFF, + * page numbering also wraps around at 0xFFFFFFFF/xxxx_XACTS_PER_PAGE (where + * xxxx is CLOG or SUBTRANS, respectively), and segment numbering at + * 0xFFFFFFFF/xxxx_XACTS_PER_PAGE/SLRU_PAGES_PER_SEGMENT. We need + * take no explicit notice of that fact in slru.c, except when comparing + * segment and page numbers in SimpleLruTruncate (see PagePrecedes()). + */ +#define SLRU_PAGES_PER_SEGMENT 32 + +/* + * Page status codes. Note that these do not include the "dirty" bit. + * page_dirty can be true only in the VALID or WRITE_IN_PROGRESS states; + * in the latter case it implies that the page has been re-dirtied since + * the write started. + */ +typedef enum +{ + SLRU_PAGE_EMPTY, /* buffer is not in use */ + SLRU_PAGE_READ_IN_PROGRESS, /* page is being read in */ + SLRU_PAGE_VALID, /* page is valid and not being written */ + SLRU_PAGE_WRITE_IN_PROGRESS, /* page is being written out */ +} SlruPageStatus; + +/* + * Shared-memory state + * + * SLRU bank locks are used to protect access to the other fields, except + * latest_page_number, which uses atomics; see comment in slru.c. + */ +typedef struct SlruSharedData +{ + /* Number of buffers managed by this SLRU structure */ + int num_slots; + + /* + * Arrays holding info for each buffer slot. Page number is undefined + * when status is EMPTY, as is page_lru_count. + */ + char **page_buffer; + SlruPageStatus *page_status; + bool *page_dirty; + int64 *page_number; + int *page_lru_count; + + /* The buffer_locks protects the I/O on each buffer slots */ + LWLockPadded *buffer_locks; + + /* Locks to protect the in memory buffer slot access in SLRU bank. */ + LWLockPadded *bank_locks; + + /*---------- + * A bank-wise LRU counter is maintained because we do a victim buffer + * search within a bank. Furthermore, manipulating an individual bank + * counter avoids frequent cache invalidation since we update it every time + * we access the page. + * + * We mark a page "most recently used" by setting + * page_lru_count[slotno] = ++bank_cur_lru_count[bankno]; + * The oldest page in the bank is therefore the one with the highest value + * of + * bank_cur_lru_count[bankno] - page_lru_count[slotno] + * The counts will eventually wrap around, but this calculation still + * works as long as no page's age exceeds INT_MAX counts. + *---------- + */ + int *bank_cur_lru_count; + + /* + * Optional array of WAL flush LSNs associated with entries in the SLRU + * pages. If not zero/NULL, we must flush WAL before writing pages (true + * for pg_xact, false for everything else). group_lsn[] has + * lsn_groups_per_page entries per buffer slot, each containing the + * highest LSN known for a contiguous group of SLRU entries on that slot's + * page. + */ + XLogRecPtr *group_lsn; + int lsn_groups_per_page; + + /* + * latest_page_number is the page number of the current end of the log; + * this is not critical data, since we use it only to avoid swapping out + * the latest page. + */ + pg_atomic_uint64 latest_page_number; + + /* SLRU's index for statistics purposes (might not be unique) */ + int slru_stats_idx; +} SlruSharedData; + +typedef SlruSharedData *SlruShared; + +/* + * SlruCtlData is an unshared structure that points to the active information + * in shared memory. + */ +typedef struct SlruCtlData +{ + SlruShared shared; + + /* Number of banks in this SLRU. */ + uint16 nbanks; + + /* + * If true, use long segment file names. Otherwise, use short file names. + * + * For details about the file name format, see SlruFileName(). + */ + bool long_segment_names; + + /* + * Which sync handler function to use when handing sync requests over to + * the checkpointer. SYNC_HANDLER_NONE to disable fsync (eg pg_notify). + */ + SyncRequestHandler sync_handler; + + /* + * Decide whether a page is "older" for truncation and as a hint for + * evicting pages in LRU order. Return true if every entry of the first + * argument is older than every entry of the second argument. Note that + * !PagePrecedes(a,b) && !PagePrecedes(b,a) need not imply a==b; it also + * arises when some entries are older and some are not. For SLRUs using + * SimpleLruTruncate(), this must use modular arithmetic. (For others, + * the behavior of this callback has no functional implications.) Use + * SlruPagePrecedesUnitTests() in SLRUs meeting its criteria. + */ + bool (*PagePrecedes) (int64, int64); + + /* + * Dir is set during SimpleLruInit and does not change thereafter. Since + * it's always the same, it doesn't need to be in shared memory. + */ + char Dir[64]; +} SlruCtlData; + +typedef SlruCtlData *SlruCtl; + +/* + * Get the SLRU bank lock for given SlruCtl and the pageno. + * + * This lock needs to be acquired to access the slru buffer slots in the + * respective bank. + */ +static inline LWLock * +SimpleLruGetBankLock(SlruCtl ctl, int64 pageno) +{ + int bankno; + + bankno = pageno % ctl->nbanks; + return &(ctl->shared->bank_locks[bankno].lock); +} + +extern Size SimpleLruShmemSize(int nslots, int nlsns); +extern int SimpleLruAutotuneBuffers(int divisor, int max); +extern void SimpleLruInit(SlruCtl ctl, const char *name, int nslots, int nlsns, + const char *subdir, int buffer_tranche_id, + int bank_tranche_id, SyncRequestHandler sync_handler, + bool long_segment_names); +extern int SimpleLruZeroPage(SlruCtl ctl, int64 pageno); +extern int SimpleLruReadPage(SlruCtl ctl, int64 pageno, bool write_ok, + TransactionId xid); +extern int SimpleLruReadPage_ReadOnly(SlruCtl ctl, int64 pageno, + TransactionId xid); +extern void SimpleLruWritePage(SlruCtl ctl, int slotno); +extern void SimpleLruWriteAll(SlruCtl ctl, bool allow_redirtied); +#ifdef USE_ASSERT_CHECKING +extern void SlruPagePrecedesUnitTests(SlruCtl ctl, int per_page); +#else +#define SlruPagePrecedesUnitTests(ctl, per_page) do {} while (0) +#endif +extern void SimpleLruTruncate(SlruCtl ctl, int64 cutoffPage); +extern bool SimpleLruDoesPhysicalPageExist(SlruCtl ctl, int64 pageno); + +typedef bool (*SlruScanCallback) (SlruCtl ctl, char *filename, int64 segpage, + void *data); +extern bool SlruScanDirectory(SlruCtl ctl, SlruScanCallback callback, void *data); +extern void SlruDeleteSegment(SlruCtl ctl, int64 segno); + +extern int SlruSyncFileTag(SlruCtl ctl, const FileTag *ftag, char *path); + +/* SlruScanDirectory public callbacks */ +extern bool SlruScanDirCbReportPresence(SlruCtl ctl, char *filename, + int64 segpage, void *data); +extern bool SlruScanDirCbDeleteAll(SlruCtl ctl, char *filename, int64 segpage, + void *data); +extern bool check_slru_buffers(const char *name, int *newval); + +#endif /* SLRU_H */ diff --git a/parser/include/access/stratnum.h b/parser/include/postgres/access/stratnum.h similarity index 97% rename from parser/include/access/stratnum.h rename to parser/include/postgres/access/stratnum.h index ac15f844..8a47d3c9 100644 --- a/parser/include/access/stratnum.h +++ b/parser/include/postgres/access/stratnum.h @@ -4,7 +4,7 @@ * POSTGRES strategy number definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/stratnum.h diff --git a/parser/include/access/sysattr.h b/parser/include/postgres/access/sysattr.h similarity index 92% rename from parser/include/access/sysattr.h rename to parser/include/postgres/access/sysattr.h index c0b1d5ab..e88dec71 100644 --- a/parser/include/access/sysattr.h +++ b/parser/include/postgres/access/sysattr.h @@ -4,7 +4,7 @@ * POSTGRES system attribute definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/sysattr.h diff --git a/parser/include/access/table.h b/parser/include/postgres/access/table.h similarity index 93% rename from parser/include/access/table.h rename to parser/include/postgres/access/table.h index 969952d6..1c0bee79 100644 --- a/parser/include/access/table.h +++ b/parser/include/postgres/access/table.h @@ -4,7 +4,7 @@ * Generic routines for table related code. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/table.h diff --git a/parser/include/access/tableam.h b/parser/include/postgres/access/tableam.h similarity index 93% rename from parser/include/access/tableam.h rename to parser/include/postgres/access/tableam.h index fe869c6c..a1c137d2 100644 --- a/parser/include/access/tableam.h +++ b/parser/include/postgres/access/tableam.h @@ -4,7 +4,7 @@ * POSTGRES table access method definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tableam.h @@ -20,7 +20,8 @@ #include "access/relscan.h" #include "access/sdir.h" #include "access/xact.h" -#include "utils/guc.h" +#include "executor/tuptable.h" +#include "storage/read_stream.h" #include "utils/rel.h" #include "utils/snapshot.h" @@ -61,8 +62,15 @@ typedef enum ScanOptions SO_ALLOW_PAGEMODE = 1 << 8, /* unregister snapshot at scan end? */ - SO_TEMP_SNAPSHOT = 1 << 9 -} ScanOptions; + SO_TEMP_SNAPSHOT = 1 << 9, + + /* + * At the discretion of the table AM, bitmap table scans may be able to + * skip fetching a block from the table if none of the table data is + * needed. If table data may be needed, set SO_NEED_TUPLES. + */ + SO_NEED_TUPLES = 1 << 10, +} ScanOptions; /* * Result codes for table_{update,delete,lock_tuple}, and for visibility @@ -99,13 +107,31 @@ typedef enum TM_Result TM_BeingModified, /* lock couldn't be acquired, action skipped. Only used by lock_tuple */ - TM_WouldBlock + TM_WouldBlock, } TM_Result; +/* + * Result codes for table_update(..., update_indexes*..). + * Used to determine which indexes to update. + */ +typedef enum TU_UpdateIndexes +{ + /* No indexed columns were updated (incl. TID addressing of tuple) */ + TU_None, + + /* A non-summarizing indexed column was updated, or the TID has changed */ + TU_All, + + /* Only summarized columns were updated, TID is unchanged */ + TU_Summarizing, +} TU_UpdateIndexes; + /* * When table_tuple_update, table_tuple_delete, or table_tuple_lock fail * because the target tuple is already outdated, they fill in this struct to - * provide information to the caller about what happened. + * provide information to the caller about what happened. When those functions + * succeed, the contents of this struct should not be relied upon, except for + * `traversed`, which may be set in both success and failure cases. * * ctid is the target's ctid link: it is the same as the target's TID if the * target was deleted, or the location of the replacement tuple if the target @@ -113,13 +139,17 @@ typedef enum TM_Result * * xmax is the outdating transaction's XID. If the caller wants to visit the * replacement tuple, it must check that this matches before believing the - * replacement is really a match. + * replacement is really a match. This is InvalidTransactionId if the target + * was !LP_NORMAL (expected only for a TID retrieved from syscache). * * cmax is the outdating command's CID, but only when the failure code is * TM_SelfModified (i.e., something in the current transaction outdated the * tuple); otherwise cmax is zero. (We make this restriction because * HeapTupleHeaderGetCmax doesn't work for tuples outdated in other * transactions.) + * + * traversed indicates if an update chain was followed in order to try to lock + * the target tuple. (This may be set in both success and failure cases.) */ typedef struct TM_FailureData { @@ -342,7 +372,7 @@ typedef struct TableAmRoutine * allowed by the AM. * * Implementations can assume that scan_set_tidrange is always called - * before can_getnextslot_tidrange or after scan_rescan and before any + * before scan_getnextslot_tidrange or after scan_rescan and before any * further calls to scan_getnextslot_tidrange. */ void (*scan_set_tidrange) (TableScanDesc scan, @@ -526,7 +556,7 @@ typedef struct TableAmRoutine bool wait, TM_FailureData *tmfd, LockTupleMode *lockmode, - bool *update_indexes); + TU_UpdateIndexes *update_indexes); /* see table_tuple_lock() for reference about parameters */ TM_Result (*tuple_lock) (Relation rel, @@ -560,32 +590,32 @@ typedef struct TableAmRoutine */ /* - * This callback needs to create a new relation filenode for `rel`, with + * This callback needs to create new relation storage for `rel`, with * appropriate durability behaviour for `persistence`. * * Note that only the subset of the relcache filled by * RelationBuildLocalRelation() can be relied upon and that the relation's * catalog entries will either not yet exist (new relation), or will still - * reference the old relfilenode. + * reference the old relfilelocator. * * As output *freezeXid, *minmulti must be set to the values appropriate * for pg_class.{relfrozenxid, relminmxid}. For AMs that don't need those * fields to be filled they can be set to InvalidTransactionId and * InvalidMultiXactId, respectively. * - * See also table_relation_set_new_filenode(). + * See also table_relation_set_new_filelocator(). */ - void (*relation_set_new_filenode) (Relation rel, - const RelFileNode *newrnode, - char persistence, - TransactionId *freezeXid, - MultiXactId *minmulti); + void (*relation_set_new_filelocator) (Relation rel, + const RelFileLocator *newrlocator, + char persistence, + TransactionId *freezeXid, + MultiXactId *minmulti); /* * This callback needs to remove all contents from `rel`'s current - * relfilenode. No provisions for transactional behaviour need to be made. - * Often this can be implemented by truncating the underlying storage to - * its minimal size. + * relfilelocator. No provisions for transactional behaviour need to be + * made. Often this can be implemented by truncating the underlying + * storage to its minimal size. * * See also table_relation_nontransactional_truncate(). */ @@ -598,11 +628,11 @@ typedef struct TableAmRoutine * storage, unless it contains references to the tablespace internally. */ void (*relation_copy_data) (Relation rel, - const RelFileNode *newrnode); + const RelFileLocator *newrlocator); /* See table_relation_copy_for_cluster() */ - void (*relation_copy_for_cluster) (Relation NewTable, - Relation OldTable, + void (*relation_copy_for_cluster) (Relation OldTable, + Relation NewTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, @@ -649,8 +679,7 @@ typedef struct TableAmRoutine * isn't one yet. */ bool (*scan_analyze_next_block) (TableScanDesc scan, - BlockNumber blockno, - BufferAccessStrategy bstrategy); + ReadStream *stream); /* * See table_scan_analyze_next_tuple(). @@ -863,13 +892,13 @@ typedef struct TableAmRoutine * for the relation. Works for tables, views, foreign tables and partitioned * tables. */ -extern const TupleTableSlotOps *table_slot_callbacks(Relation rel); +extern const TupleTableSlotOps *table_slot_callbacks(Relation relation); /* * Returns slot using the callbacks returned by table_slot_callbacks(), and * registers it on *reglist. */ -extern TupleTableSlot *table_slot_create(Relation rel, List **reglist); +extern TupleTableSlot *table_slot_create(Relation relation, List **reglist); /* ---------------------------------------------------------------------------- @@ -886,7 +915,7 @@ table_beginscan(Relation rel, Snapshot snapshot, int nkeys, struct ScanKeyData *key) { uint32 flags = SO_TYPE_SEQSCAN | - SO_ALLOW_STRAT | SO_ALLOW_SYNC | SO_ALLOW_PAGEMODE; + SO_ALLOW_STRAT | SO_ALLOW_SYNC | SO_ALLOW_PAGEMODE; return rel->rd_tableam->scan_begin(rel, snapshot, nkeys, key, NULL, flags); } @@ -895,7 +924,7 @@ table_beginscan(Relation rel, Snapshot snapshot, * Like table_beginscan(), but for scanning catalog. It'll automatically use a * snapshot appropriate for scanning catalog relations. */ -extern TableScanDesc table_beginscan_catalog(Relation rel, int nkeys, +extern TableScanDesc table_beginscan_catalog(Relation relation, int nkeys, struct ScanKeyData *key); /* @@ -928,10 +957,13 @@ table_beginscan_strat(Relation rel, Snapshot snapshot, */ static inline TableScanDesc table_beginscan_bm(Relation rel, Snapshot snapshot, - int nkeys, struct ScanKeyData *key) + int nkeys, struct ScanKeyData *key, bool need_tuple) { uint32 flags = SO_TYPE_BITMAPSCAN | SO_ALLOW_PAGEMODE; + if (need_tuple) + flags |= SO_NEED_TUPLES; + return rel->rd_tableam->scan_begin(rel, snapshot, nkeys, key, NULL, flags); } @@ -1022,11 +1054,6 @@ table_rescan_set_params(TableScanDesc scan, struct ScanKeyData *key, allow_pagemode); } -/* - * Update snapshot used by the scan. - */ -extern void table_scan_update_snapshot(TableScanDesc scan, Snapshot snapshot); - /* * Return next tuple from `scan`, store in slot. */ @@ -1035,6 +1062,10 @@ table_scan_getnextslot(TableScanDesc sscan, ScanDirection direction, TupleTableS { slot->tts_tableOid = RelationGetRelid(sscan->rs_rd); + /* We don't expect actual scans using NoMovementScanDirection */ + Assert(direction == ForwardScanDirection || + direction == BackwardScanDirection); + /* * We don't expect direct calls to table_scan_getnextslot with valid * CheckXidAlive for catalog or regular tables. See detailed comments in @@ -1099,6 +1130,10 @@ table_scan_getnextslot_tidrange(TableScanDesc sscan, ScanDirection direction, /* Ensure table_beginscan_tidrange() was used. */ Assert((sscan->rs_flags & SO_TYPE_TIDRANGESCAN) != 0); + /* We don't expect actual scans using NoMovementScanDirection */ + Assert(direction == ForwardScanDirection || + direction == BackwardScanDirection); + return sscan->rs_rd->rd_tableam->scan_getnextslot_tidrange(sscan, direction, slot); @@ -1133,7 +1168,7 @@ extern void table_parallelscan_initialize(Relation rel, * * Caller must hold a suitable lock on the relation. */ -extern TableScanDesc table_beginscan_parallel(Relation rel, +extern TableScanDesc table_beginscan_parallel(Relation relation, ParallelTableScanDesc pscan); /* @@ -1318,7 +1353,7 @@ table_tuple_satisfies_snapshot(Relation rel, TupleTableSlot *slot, * marked as deletable. See comments above TM_IndexDelete and comments above * TM_IndexDeleteOp for full details. * - * Returns a latestRemovedXid transaction ID that caller generally places in + * Returns a snapshotConflictHorizon transaction ID that caller places in * its index deletion WAL record. This might be used during subsequent REDO * of the WAL record when in Hot Standby mode -- a recovery conflict for the * index deletion operation might be required on the standby. @@ -1348,7 +1383,7 @@ table_index_delete_tuples(Relation rel, TM_IndexDeleteOp *delstate) * RelationGetBufferForTuple. See that method for more information. * * TABLE_INSERT_FROZEN should only be specified for inserts into - * relfilenodes created during the current subtransaction and when + * relation storage created during the current subtransaction and when * there are no prior snapshots or pre-existing portals open. * This causes rows to be frozen, which is an MVCC violation and * requires explicit options chosen by user. @@ -1455,8 +1490,8 @@ table_multi_insert(Relation rel, TupleTableSlot **slots, int nslots, * TM_BeingModified (the last only possible if wait == false). * * In the failure cases, the routine fills *tmfd with the tuple's t_ctid, - * t_xmax, and, if possible, and, if possible, t_cmax. See comments for - * struct TM_FailureData for additional info. + * t_xmax, and, if possible, t_cmax. See comments for struct + * TM_FailureData for additional info. */ static inline TM_Result table_tuple_delete(Relation rel, ItemPointer tid, CommandId cid, @@ -1506,7 +1541,7 @@ static inline TM_Result table_tuple_update(Relation rel, ItemPointer otid, TupleTableSlot *slot, CommandId cid, Snapshot snapshot, Snapshot crosscheck, bool wait, TM_FailureData *tmfd, LockTupleMode *lockmode, - bool *update_indexes) + TU_UpdateIndexes *update_indexes) { return rel->rd_tableam->tuple_update(rel, otid, slot, cid, snapshot, crosscheck, @@ -1519,7 +1554,7 @@ table_tuple_update(Relation rel, ItemPointer otid, TupleTableSlot *slot, * * Input parameters: * relation: relation containing tuple (caller must hold suitable lock) - * tid: TID of tuple to lock + * tid: TID of tuple to lock (updated if an update chain was followed) * snapshot: snapshot to use for visibility determinations * cid: current command ID (used for visibility test, and stored into * tuple's cmax if lock is successful) @@ -1544,8 +1579,10 @@ table_tuple_update(Relation rel, ItemPointer otid, TupleTableSlot *slot, * TM_WouldBlock: lock couldn't be acquired and wait_policy is skip * * In the failure cases other than TM_Invisible and TM_Deleted, the routine - * fills *tmfd with the tuple's t_ctid, t_xmax, and, if possible, t_cmax. See - * comments for struct TM_FailureData for additional info. + * fills *tmfd with the tuple's t_ctid, t_xmax, and, if possible, t_cmax. + * Additionally, in both success and failure cases, tmfd->traversed is set if + * an update chain was followed. See comments for struct TM_FailureData for + * additional info. */ static inline TM_Result table_tuple_lock(Relation rel, ItemPointer tid, Snapshot snapshot, @@ -1577,33 +1614,34 @@ table_finish_bulk_insert(Relation rel, int options) */ /* - * Create storage for `rel` in `newrnode`, with persistence set to + * Create storage for `rel` in `newrlocator`, with persistence set to * `persistence`. * * This is used both during relation creation and various DDL operations to - * create a new relfilenode that can be filled from scratch. When creating - * new storage for an existing relfilenode, this should be called before the + * create new rel storage that can be filled from scratch. When creating + * new storage for an existing relfilelocator, this should be called before the * relcache entry has been updated. * * *freezeXid, *minmulti are set to the xid / multixact horizon for the table * that pg_class.{relfrozenxid, relminmxid} have to be set to. */ static inline void -table_relation_set_new_filenode(Relation rel, - const RelFileNode *newrnode, - char persistence, - TransactionId *freezeXid, - MultiXactId *minmulti) +table_relation_set_new_filelocator(Relation rel, + const RelFileLocator *newrlocator, + char persistence, + TransactionId *freezeXid, + MultiXactId *minmulti) { - rel->rd_tableam->relation_set_new_filenode(rel, newrnode, persistence, - freezeXid, minmulti); + rel->rd_tableam->relation_set_new_filelocator(rel, newrlocator, + persistence, freezeXid, + minmulti); } /* * Remove all table contents from `rel`, in a non-transactional manner. * Non-transactional meaning that there's no need to support rollbacks. This - * commonly only is used to perform truncations for relfilenodes created in the - * current transaction. + * commonly only is used to perform truncations for relation storage created in + * the current transaction. */ static inline void table_relation_nontransactional_truncate(Relation rel) @@ -1612,15 +1650,15 @@ table_relation_nontransactional_truncate(Relation rel) } /* - * Copy data from `rel` into the new relfilenode `newrnode`. The new - * relfilenode may not have storage associated before this function is + * Copy data from `rel` into the new relfilelocator `newrlocator`. The new + * relfilelocator may not have storage associated before this function is * called. This is only supposed to be used for low level operations like * changing a relation's tablespace. */ static inline void -table_relation_copy_data(Relation rel, const RelFileNode *newrnode) +table_relation_copy_data(Relation rel, const RelFileLocator *newrlocator) { - rel->rd_tableam->relation_copy_data(rel, newrnode); + rel->rd_tableam->relation_copy_data(rel, newrlocator); } /* @@ -1633,7 +1671,7 @@ table_relation_copy_data(Relation rel, const RelFileNode *newrnode) * in that index's order; if false and OldIndex is InvalidOid, no sorting is * performed * - OldIndex - see use_sort - * - OldestXmin - computed by vacuum_set_xid_limits(), even when + * - OldestXmin - computed by vacuum_get_cutoffs(), even when * not needed for the relation's AM * - *xid_cutoff - ditto * - *multi_cutoff - ditto @@ -1681,19 +1719,17 @@ table_relation_vacuum(Relation rel, struct VacuumParams *params, } /* - * Prepare to analyze block `blockno` of `scan`. The scan needs to have been - * started with table_beginscan_analyze(). Note that this routine might - * acquire resources like locks that are held until + * Prepare to analyze the next block in the read stream. The scan needs to + * have been started with table_beginscan_analyze(). Note that this routine + * might acquire resources like locks that are held until * table_scan_analyze_next_tuple() returns false. * * Returns false if block is unsuitable for sampling, true otherwise. */ static inline bool -table_scan_analyze_next_block(TableScanDesc scan, BlockNumber blockno, - BufferAccessStrategy bstrategy) +table_scan_analyze_next_block(TableScanDesc scan, ReadStream *stream) { - return scan->rs_rd->rd_tableam->scan_analyze_next_block(scan, blockno, - bstrategy); + return scan->rs_rd->rd_tableam->scan_analyze_next_block(scan, stream); } /* @@ -1870,7 +1906,7 @@ table_relation_toast_am(Relation rel) * * toastrel is the relation in which the toasted value is stored. * - * valueid identifes which toast value is to be fetched. For the heap, + * valueid identifies which toast value is to be fetched. For the heap, * this corresponds to the values stored in the chunk_id column. * * attrsize is the total size of the toast value to be fetched. @@ -2029,7 +2065,7 @@ extern void simple_table_tuple_delete(Relation rel, ItemPointer tid, Snapshot snapshot); extern void simple_table_tuple_update(Relation rel, ItemPointer otid, TupleTableSlot *slot, Snapshot snapshot, - bool *update_indexes); + TU_UpdateIndexes *update_indexes); /* ---------------------------------------------------------------------------- @@ -2070,8 +2106,12 @@ extern void table_block_relation_estimate_size(Relation rel, */ extern const TableAmRoutine *GetTableAmRoutine(Oid amhandler); + +/* ---------------------------------------------------------------------------- + * Functions in heapam_handler.c + * ---------------------------------------------------------------------------- + */ + extern const TableAmRoutine *GetHeapamTableAmRoutine(void); -extern bool check_default_table_access_method(char **newval, void **extra, - GucSource source); #endif /* TABLEAM_H */ diff --git a/parser/include/postgres/access/tidstore.h b/parser/include/postgres/access/tidstore.h new file mode 100644 index 00000000..32aa9995 --- /dev/null +++ b/parser/include/postgres/access/tidstore.h @@ -0,0 +1,50 @@ +/*------------------------------------------------------------------------- + * + * tidstore.h + * TidStore interface. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/tidstore.h + * + *------------------------------------------------------------------------- + */ +#ifndef TIDSTORE_H +#define TIDSTORE_H + +#include "storage/itemptr.h" +#include "utils/dsa.h" + +typedef struct TidStore TidStore; +typedef struct TidStoreIter TidStoreIter; + +/* Result struct for TidStoreIterateNext */ +typedef struct TidStoreIterResult +{ + BlockNumber blkno; + int max_offset; + int num_offsets; + OffsetNumber *offsets; +} TidStoreIterResult; + +extern TidStore *TidStoreCreateLocal(size_t max_bytes, bool insert_only); +extern TidStore *TidStoreCreateShared(size_t max_bytes, int tranche_id); +extern TidStore *TidStoreAttach(dsa_handle area_handle, dsa_pointer handle); +extern void TidStoreDetach(TidStore *ts); +extern void TidStoreLockExclusive(TidStore *ts); +extern void TidStoreLockShare(TidStore *ts); +extern void TidStoreUnlock(TidStore *ts); +extern void TidStoreDestroy(TidStore *ts); +extern void TidStoreSetBlockOffsets(TidStore *ts, BlockNumber blkno, OffsetNumber *offsets, + int num_offsets); +extern bool TidStoreIsMember(TidStore *ts, ItemPointer tid); +extern TidStoreIter *TidStoreBeginIterate(TidStore *ts); +extern TidStoreIterResult *TidStoreIterateNext(TidStoreIter *iter); +extern void TidStoreEndIterate(TidStoreIter *iter); +extern size_t TidStoreMemoryUsage(TidStore *ts); +extern dsa_pointer TidStoreGetHandle(TidStore *ts); +extern dsa_area *TidStoreGetDSA(TidStore *ts); + +#endif /* TIDSTORE_H */ diff --git a/parser/include/access/toast_compression.h b/parser/include/postgres/access/toast_compression.h similarity index 96% rename from parser/include/access/toast_compression.h rename to parser/include/postgres/access/toast_compression.h index deb8f99d..64d5e079 100644 --- a/parser/include/access/toast_compression.h +++ b/parser/include/postgres/access/toast_compression.h @@ -3,7 +3,7 @@ * toast_compression.h * Functions for toast compression. * - * Copyright (c) 2021-2022, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * * src/include/access/toast_compression.h * @@ -38,7 +38,7 @@ typedef enum ToastCompressionId { TOAST_PGLZ_COMPRESSION_ID = 0, TOAST_LZ4_COMPRESSION_ID = 1, - TOAST_INVALID_COMPRESSION_ID = 2 + TOAST_INVALID_COMPRESSION_ID = 2, } ToastCompressionId; /* diff --git a/parser/include/access/transam.h b/parser/include/postgres/access/transam.h similarity index 86% rename from parser/include/access/transam.h rename to parser/include/postgres/access/transam.h index 775471d2..07b9be6c 100644 --- a/parser/include/access/transam.h +++ b/parser/include/postgres/access/transam.h @@ -4,7 +4,7 @@ * postgres transaction access method support code * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/transam.h @@ -197,7 +197,7 @@ FullTransactionIdAdvance(FullTransactionId *dest) #define FirstNormalObjectId 16384 /* - * VariableCache is a data structure in shared memory that is used to track + * TransamVariables is a data structure in shared memory that is used to track * OID and XID assignment state. For largely historical reasons, there is * just one struct with different fields that are protected by different * LWLocks. @@ -206,7 +206,7 @@ FullTransactionIdAdvance(FullTransactionId *dest) * used just to generate useful messages when xidWarnLimit or xidStopLimit * are exceeded. */ -typedef struct VariableCacheData +typedef struct TransamVariablesData { /* * These fields are protected by OidGenLock. @@ -252,9 +252,7 @@ typedef struct VariableCacheData */ TransactionId oldestClogXid; /* oldest it's safe to look up in clog */ -} VariableCacheData; - -typedef VariableCacheData *VariableCache; +} TransamVariablesData; /* ---------------- @@ -266,7 +264,7 @@ typedef VariableCacheData *VariableCache; extern bool TransactionStartedDuringRecovery(void); /* in transam/varsup.c */ -extern PGDLLIMPORT VariableCache ShmemVariableCache; +extern PGDLLIMPORT TransamVariablesData *TransamVariables; /* * prototypes for functions in transam/transam.c @@ -285,6 +283,8 @@ extern TransactionId TransactionIdLatest(TransactionId mainxid, extern XLogRecPtr TransactionIdGetCommitLSN(TransactionId xid); /* in transam/varsup.c */ +extern Size VarsupShmemSize(void); +extern void VarsupShmemInit(void); extern FullTransactionId GetNewTransactionId(bool isSubXact); extern void AdvanceNextFullTransactionIdPastXid(TransactionId xid); extern FullTransactionId ReadNextFullTransactionId(void); @@ -370,6 +370,49 @@ FullTransactionIdNewer(FullTransactionId a, FullTransactionId b) return b; } +/* + * Compute FullTransactionId for the given TransactionId, assuming xid was + * between [oldestXid, nextXid] at the time when TransamVariables->nextXid was + * nextFullXid. When adding calls, evaluate what prevents xid from preceding + * oldestXid if SetTransactionIdLimit() runs between the collection of xid and + * the collection of nextFullXid. + */ +static inline FullTransactionId +FullTransactionIdFromAllowableAt(FullTransactionId nextFullXid, + TransactionId xid) +{ + uint32 epoch; + + /* Special transaction ID. */ + if (!TransactionIdIsNormal(xid)) + return FullTransactionIdFromEpochAndXid(0, xid); + + Assert(TransactionIdPrecedesOrEquals(xid, + XidFromFullTransactionId(nextFullXid))); + + /* + * The 64 bit result must be <= nextFullXid, since nextFullXid hadn't been + * issued yet when xid was in the past. The xid must therefore be from + * the epoch of nextFullXid or the epoch before. We know this because we + * must remove (by freezing) an XID before assigning the XID half an epoch + * ahead of it. + * + * The unlikely() branch hint is dubious. It's perfect for the first 2^32 + * XIDs of a cluster's life. Right at 2^32 XIDs, misprediction shoots to + * 100%, then improves until perfection returns 2^31 XIDs later. Since + * current callers pass relatively-recent XIDs, expect >90% prediction + * accuracy overall. This favors average latency over tail latency. + */ + epoch = EpochFromFullTransactionId(nextFullXid); + if (unlikely(xid > XidFromFullTransactionId(nextFullXid))) + { + Assert(epoch != 0); + epoch--; + } + + return FullTransactionIdFromEpochAndXid(epoch, xid); +} + #endif /* FRONTEND */ #endif /* TRANSAM_H */ diff --git a/parser/include/postgres/access/tsmapi.h b/parser/include/postgres/access/tsmapi.h new file mode 100644 index 00000000..da9a6c38 --- /dev/null +++ b/parser/include/postgres/access/tsmapi.h @@ -0,0 +1,82 @@ +/*------------------------------------------------------------------------- + * + * tsmapi.h + * API for tablesample methods + * + * Copyright (c) 2015-2024, PostgreSQL Global Development Group + * + * src/include/access/tsmapi.h + * + *------------------------------------------------------------------------- + */ +#ifndef TSMAPI_H +#define TSMAPI_H + +#include "nodes/execnodes.h" +#include "nodes/pathnodes.h" + + +/* + * Callback function signatures --- see tablesample-method.sgml for more info. + */ + +typedef void (*SampleScanGetSampleSize_function) (PlannerInfo *root, + RelOptInfo *baserel, + List *paramexprs, + BlockNumber *pages, + double *tuples); + +typedef void (*InitSampleScan_function) (SampleScanState *node, + int eflags); + +typedef void (*BeginSampleScan_function) (SampleScanState *node, + Datum *params, + int nparams, + uint32 seed); + +typedef BlockNumber (*NextSampleBlock_function) (SampleScanState *node, + BlockNumber nblocks); + +typedef OffsetNumber (*NextSampleTuple_function) (SampleScanState *node, + BlockNumber blockno, + OffsetNumber maxoffset); + +typedef void (*EndSampleScan_function) (SampleScanState *node); + +/* + * TsmRoutine is the struct returned by a tablesample method's handler + * function. It provides pointers to the callback functions needed by the + * planner and executor, as well as additional information about the method. + * + * More function pointers are likely to be added in the future. + * Therefore it's recommended that the handler initialize the struct with + * makeNode(TsmRoutine) so that all fields are set to NULL. This will + * ensure that no fields are accidentally left undefined. + */ +typedef struct TsmRoutine +{ + NodeTag type; + + /* List of datatype OIDs for the arguments of the TABLESAMPLE clause */ + List *parameterTypes; + + /* Can method produce repeatable samples across, or even within, queries? */ + bool repeatable_across_queries; + bool repeatable_across_scans; + + /* Functions for planning a SampleScan on a physical table */ + SampleScanGetSampleSize_function SampleScanGetSampleSize; + + /* Functions for executing a SampleScan on a physical table */ + InitSampleScan_function InitSampleScan; /* can be NULL */ + BeginSampleScan_function BeginSampleScan; + NextSampleBlock_function NextSampleBlock; /* can be NULL */ + NextSampleTuple_function NextSampleTuple; + EndSampleScan_function EndSampleScan; /* can be NULL */ +} TsmRoutine; + + +/* Functions in access/tablesample/tablesample.c */ +extern TsmRoutine *GetTsmRoutine(Oid tsmhandler); + +#endif /* TSMAPI_H */ diff --git a/parser/include/access/tupconvert.h b/parser/include/postgres/access/tupconvert.h similarity index 87% rename from parser/include/access/tupconvert.h rename to parser/include/postgres/access/tupconvert.h index f5a5fd82..62a6d127 100644 --- a/parser/include/access/tupconvert.h +++ b/parser/include/postgres/access/tupconvert.h @@ -4,7 +4,7 @@ * Tuple conversion support. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupconvert.h @@ -39,12 +39,15 @@ extern TupleConversionMap *convert_tuples_by_position(TupleDesc indesc, extern TupleConversionMap *convert_tuples_by_name(TupleDesc indesc, TupleDesc outdesc); +extern TupleConversionMap *convert_tuples_by_name_attrmap(TupleDesc indesc, + TupleDesc outdesc, + AttrMap *attrMap); extern HeapTuple execute_attr_map_tuple(HeapTuple tuple, TupleConversionMap *map); extern TupleTableSlot *execute_attr_map_slot(AttrMap *attrMap, TupleTableSlot *in_slot, TupleTableSlot *out_slot); -extern Bitmapset *execute_attr_map_cols(AttrMap *attrMap, Bitmapset *inbitmap); +extern Bitmapset *execute_attr_map_cols(AttrMap *attrMap, Bitmapset *in_cols); extern void free_conversion_map(TupleConversionMap *map); diff --git a/parser/include/access/tupdesc.h b/parser/include/postgres/access/tupdesc.h similarity index 93% rename from parser/include/access/tupdesc.h rename to parser/include/postgres/access/tupdesc.h index 28dd6de1..8930a28d 100644 --- a/parser/include/access/tupdesc.h +++ b/parser/include/postgres/access/tupdesc.h @@ -4,7 +4,7 @@ * POSTGRES tuple descriptor definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupdesc.h @@ -126,8 +126,8 @@ extern void DecrTupleDescRefCount(TupleDesc tupdesc); } while (0) extern bool equalTupleDescs(TupleDesc tupdesc1, TupleDesc tupdesc2); - -extern uint32 hashTupleDesc(TupleDesc tupdesc); +extern bool equalRowTypes(TupleDesc tupdesc1, TupleDesc tupdesc2); +extern uint32 hashRowType(TupleDesc desc); extern void TupleDescInitEntry(TupleDesc desc, AttrNumber attributeNumber, @@ -147,8 +147,8 @@ extern void TupleDescInitEntryCollation(TupleDesc desc, AttrNumber attributeNumber, Oid collationid); -extern TupleDesc BuildDescForRelation(List *schema); +extern TupleDesc BuildDescFromLists(const List *names, const List *types, const List *typmods, const List *collations); -extern TupleDesc BuildDescFromLists(List *names, List *types, List *typmods, List *collations); +extern Node *TupleDescGetDefault(TupleDesc tupdesc, AttrNumber attnum); #endif /* TUPDESC_H */ diff --git a/parser/include/access/tupmacs.h b/parser/include/postgres/access/tupmacs.h similarity index 72% rename from parser/include/access/tupmacs.h rename to parser/include/postgres/access/tupmacs.h index 16c74a58..58b3a58c 100644 --- a/parser/include/access/tupmacs.h +++ b/parser/include/postgres/access/tupmacs.h @@ -4,7 +4,7 @@ * Tuple macros used by both index tuples and heap tuples. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/tupmacs.h @@ -22,8 +22,13 @@ * Note that a 0 in the null bitmap indicates a null, while 1 indicates * non-null. */ -#define att_isnull(ATT, BITS) (!((BITS)[(ATT) >> 3] & (1 << ((ATT) & 0x07)))) +static inline bool +att_isnull(int ATT, const bits8 *BITS) +{ + return !(BITS[ATT >> 3] & (1 << (ATT & 0x07))); +} +#ifndef FRONTEND /* * Given a Form_pg_attribute and a pointer into a tuple's data area, * return the correct value or pointer. @@ -43,56 +48,32 @@ /* * Same, but work from byval/len parameters rather than Form_pg_attribute. */ +static inline Datum +fetch_att(const void *T, bool attbyval, int attlen) +{ + if (attbyval) + { + switch (attlen) + { + case sizeof(char): + return CharGetDatum(*((const char *) T)); + case sizeof(int16): + return Int16GetDatum(*((const int16 *) T)); + case sizeof(int32): + return Int32GetDatum(*((const int32 *) T)); #if SIZEOF_DATUM == 8 - -#define fetch_att(T,attbyval,attlen) \ -( \ - (attbyval) ? \ - ( \ - (attlen) == (int) sizeof(Datum) ? \ - *((Datum *)(T)) \ - : \ - ( \ - (attlen) == (int) sizeof(int32) ? \ - Int32GetDatum(*((int32 *)(T))) \ - : \ - ( \ - (attlen) == (int) sizeof(int16) ? \ - Int16GetDatum(*((int16 *)(T))) \ - : \ - ( \ - AssertMacro((attlen) == 1), \ - CharGetDatum(*((char *)(T))) \ - ) \ - ) \ - ) \ - ) \ - : \ - PointerGetDatum((char *) (T)) \ -) -#else /* SIZEOF_DATUM != 8 */ - -#define fetch_att(T,attbyval,attlen) \ -( \ - (attbyval) ? \ - ( \ - (attlen) == (int) sizeof(int32) ? \ - Int32GetDatum(*((int32 *)(T))) \ - : \ - ( \ - (attlen) == (int) sizeof(int16) ? \ - Int16GetDatum(*((int16 *)(T))) \ - : \ - ( \ - AssertMacro((attlen) == 1), \ - CharGetDatum(*((char *)(T))) \ - ) \ - ) \ - ) \ - : \ - PointerGetDatum((char *) (T)) \ -) -#endif /* SIZEOF_DATUM == 8 */ + case sizeof(Datum): + return *((const Datum *) T); +#endif + default: + elog(ERROR, "unsupported byval length: %d", attlen); + return 0; + } + } + else + return PointerGetDatum(T); +} +#endif /* FRONTEND */ /* * att_align_datum aligns the given offset as needed for a datum of alignment @@ -190,58 +171,37 @@ )) \ ) +#ifndef FRONTEND /* * store_att_byval is a partial inverse of fetch_att: store a given Datum * value into a tuple data area at the specified address. However, it only * handles the byval case, because in typical usage the caller needs to - * distinguish by-val and by-ref cases anyway, and so a do-it-all macro + * distinguish by-val and by-ref cases anyway, and so a do-it-all function * wouldn't be convenient. */ +static inline void +store_att_byval(void *T, Datum newdatum, int attlen) +{ + switch (attlen) + { + case sizeof(char): + *(char *) T = DatumGetChar(newdatum); + break; + case sizeof(int16): + *(int16 *) T = DatumGetInt16(newdatum); + break; + case sizeof(int32): + *(int32 *) T = DatumGetInt32(newdatum); + break; #if SIZEOF_DATUM == 8 - -#define store_att_byval(T,newdatum,attlen) \ - do { \ - switch (attlen) \ - { \ - case sizeof(char): \ - *(char *) (T) = DatumGetChar(newdatum); \ - break; \ - case sizeof(int16): \ - *(int16 *) (T) = DatumGetInt16(newdatum); \ - break; \ - case sizeof(int32): \ - *(int32 *) (T) = DatumGetInt32(newdatum); \ - break; \ - case sizeof(Datum): \ - *(Datum *) (T) = (newdatum); \ - break; \ - default: \ - elog(ERROR, "unsupported byval length: %d", \ - (int) (attlen)); \ - break; \ - } \ - } while (0) -#else /* SIZEOF_DATUM != 8 */ - -#define store_att_byval(T,newdatum,attlen) \ - do { \ - switch (attlen) \ - { \ - case sizeof(char): \ - *(char *) (T) = DatumGetChar(newdatum); \ - break; \ - case sizeof(int16): \ - *(int16 *) (T) = DatumGetInt16(newdatum); \ - break; \ - case sizeof(int32): \ - *(int32 *) (T) = DatumGetInt32(newdatum); \ - break; \ - default: \ - elog(ERROR, "unsupported byval length: %d", \ - (int) (attlen)); \ - break; \ - } \ - } while (0) -#endif /* SIZEOF_DATUM == 8 */ - + case sizeof(Datum): + *(Datum *) T = newdatum; + break; #endif + default: + elog(ERROR, "unsupported byval length: %d", attlen); + } +} +#endif /* FRONTEND */ + +#endif /* TUPMACS_H */ diff --git a/parser/include/access/twophase.h b/parser/include/postgres/access/twophase.h similarity index 90% rename from parser/include/access/twophase.h rename to parser/include/postgres/access/twophase.h index 5d6544e2..56248c00 100644 --- a/parser/include/access/twophase.h +++ b/parser/include/postgres/access/twophase.h @@ -4,7 +4,7 @@ * Two-phase-commit related declarations. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/twophase.h @@ -37,7 +37,7 @@ extern void PostPrepare_Twophase(void); extern TransactionId TwoPhaseGetXidByVirtualXID(VirtualTransactionId vxid, bool *have_more); extern PGPROC *TwoPhaseGetDummyProc(TransactionId xid, bool lock_held); -extern BackendId TwoPhaseGetDummyBackendId(TransactionId xid, bool lock_held); +extern int TwoPhaseGetDummyProcNumber(TransactionId xid, bool lock_held); extern GlobalTransaction MarkAsPreparing(TransactionId xid, const char *gid, TimestampTz prepared_at, @@ -60,6 +60,6 @@ extern void PrepareRedoAdd(char *buf, XLogRecPtr start_lsn, XLogRecPtr end_lsn, RepOriginId origin_id); extern void PrepareRedoRemove(TransactionId xid, bool giveWarning); extern void restoreTwoPhaseData(void); -extern bool LookupGXact(const char *gid, XLogRecPtr prepare_at_lsn, +extern bool LookupGXact(const char *gid, XLogRecPtr prepare_end_lsn, TimestampTz origin_prepare_timestamp); #endif /* TWOPHASE_H */ diff --git a/parser/include/access/xact.h b/parser/include/postgres/access/xact.h similarity index 93% rename from parser/include/access/xact.h rename to parser/include/postgres/access/xact.h index 65616ca2..6d4439f0 100644 --- a/parser/include/access/xact.h +++ b/parser/include/postgres/access/xact.h @@ -4,7 +4,7 @@ * postgres transaction system definitions * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xact.h @@ -19,7 +19,7 @@ #include "datatype/timestamp.h" #include "lib/stringinfo.h" #include "nodes/pg_list.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "storage/sinval.h" /* @@ -72,8 +72,8 @@ typedef enum SYNCHRONOUS_COMMIT_REMOTE_WRITE, /* wait for local flush and remote * write */ SYNCHRONOUS_COMMIT_REMOTE_FLUSH, /* wait for local and remote flush */ - SYNCHRONOUS_COMMIT_REMOTE_APPLY /* wait for local and remote flush and - * remote apply */ + SYNCHRONOUS_COMMIT_REMOTE_APPLY, /* wait for local and remote flush and + * remote apply */ } SyncCommitLevel; /* Define the default setting for synchronous_commit */ @@ -113,6 +113,13 @@ extern PGDLLIMPORT int MyXactFlags; */ #define XACT_FLAGS_NEEDIMMEDIATECOMMIT (1U << 2) +/* + * XACT_FLAGS_PIPELINING - set when we complete an extended-query-protocol + * Execute message. This is useful for detecting that an implicit transaction + * block has been created via pipelining. + */ +#define XACT_FLAGS_PIPELINING (1U << 3) + /* * start- and end-of-transaction callbacks for dynamically loaded modules */ @@ -125,7 +132,7 @@ typedef enum XACT_EVENT_PREPARE, XACT_EVENT_PRE_COMMIT, XACT_EVENT_PARALLEL_PRE_COMMIT, - XACT_EVENT_PRE_PREPARE + XACT_EVENT_PRE_PREPARE, } XactEvent; typedef void (*XactCallback) (XactEvent event, void *arg); @@ -135,7 +142,7 @@ typedef enum SUBXACT_EVENT_START_SUB, SUBXACT_EVENT_COMMIT_SUB, SUBXACT_EVENT_ABORT_SUB, - SUBXACT_EVENT_PRE_COMMIT_SUB + SUBXACT_EVENT_PRE_COMMIT_SUB, } SubXactEvent; typedef void (*SubXactCallback) (SubXactEvent event, SubTransactionId mySubid, @@ -180,7 +187,7 @@ typedef struct SavedTransactionCharacteristics */ #define XACT_XINFO_HAS_DBINFO (1U << 0) #define XACT_XINFO_HAS_SUBXACTS (1U << 1) -#define XACT_XINFO_HAS_RELFILENODES (1U << 2) +#define XACT_XINFO_HAS_RELFILELOCATORS (1U << 2) #define XACT_XINFO_HAS_INVALS (1U << 3) #define XACT_XINFO_HAS_TWOPHASE (1U << 4) #define XACT_XINFO_HAS_ORIGIN (1U << 5) @@ -258,12 +265,12 @@ typedef struct xl_xact_subxacts } xl_xact_subxacts; #define MinSizeOfXactSubxacts offsetof(xl_xact_subxacts, subxacts) -typedef struct xl_xact_relfilenodes +typedef struct xl_xact_relfilelocators { int nrels; /* number of relations */ - RelFileNode xnodes[FLEXIBLE_ARRAY_MEMBER]; -} xl_xact_relfilenodes; -#define MinSizeOfXactRelfilenodes offsetof(xl_xact_relfilenodes, xnodes) + RelFileLocator xlocators[FLEXIBLE_ARRAY_MEMBER]; +} xl_xact_relfilelocators; +#define MinSizeOfXactRelfileLocators offsetof(xl_xact_relfilelocators, xlocators) /* * A transactionally dropped statistics entry. @@ -311,7 +318,7 @@ typedef struct xl_xact_commit /* xl_xact_xinfo follows if XLOG_XACT_HAS_INFO */ /* xl_xact_dbinfo follows if XINFO_HAS_DBINFO */ /* xl_xact_subxacts follows if XINFO_HAS_SUBXACT */ - /* xl_xact_relfilenodes follows if XINFO_HAS_RELFILENODES */ + /* xl_xact_relfilelocators follows if XINFO_HAS_RELFILELOCATORS */ /* xl_xact_stats_items follows if XINFO_HAS_DROPPED_STATS */ /* xl_xact_invals follows if XINFO_HAS_INVALS */ /* xl_xact_twophase follows if XINFO_HAS_TWOPHASE */ @@ -327,7 +334,7 @@ typedef struct xl_xact_abort /* xl_xact_xinfo follows if XLOG_XACT_HAS_INFO */ /* xl_xact_dbinfo follows if XINFO_HAS_DBINFO */ /* xl_xact_subxacts follows if XINFO_HAS_SUBXACT */ - /* xl_xact_relfilenodes follows if XINFO_HAS_RELFILENODES */ + /* xl_xact_relfilelocators follows if XINFO_HAS_RELFILELOCATORS */ /* xl_xact_stats_items follows if XINFO_HAS_DROPPED_STATS */ /* No invalidation messages needed. */ /* xl_xact_twophase follows if XINFO_HAS_TWOPHASE */ @@ -373,7 +380,7 @@ typedef struct xl_xact_parsed_commit TransactionId *subxacts; int nrels; - RelFileNode *xnodes; + RelFileLocator *xlocators; int nstats; xl_xact_stats_item *stats; @@ -384,7 +391,7 @@ typedef struct xl_xact_parsed_commit TransactionId twophase_xid; /* only for 2PC */ char twophase_gid[GIDSIZE]; /* only for 2PC */ int nabortrels; /* only for 2PC */ - RelFileNode *abortnodes; /* only for 2PC */ + RelFileLocator *abortlocators; /* only for 2PC */ int nabortstats; /* only for 2PC */ xl_xact_stats_item *abortstats; /* only for 2PC */ @@ -406,7 +413,7 @@ typedef struct xl_xact_parsed_abort TransactionId *subxacts; int nrels; - RelFileNode *xnodes; + RelFileLocator *xlocators; int nstats; xl_xact_stats_item *stats; @@ -489,9 +496,9 @@ extern int xactGetCommittedChildren(TransactionId **ptr); extern XLogRecPtr XactLogCommitRecord(TimestampTz commit_time, int nsubxacts, TransactionId *subxacts, - int nrels, RelFileNode *rels, - int nstats, - xl_xact_stats_item *stats, + int nrels, RelFileLocator *rels, + int ndroppedstats, + xl_xact_stats_item *droppedstats, int nmsgs, SharedInvalidationMessage *msgs, bool relcacheInval, int xactflags, @@ -500,9 +507,9 @@ extern XLogRecPtr XactLogCommitRecord(TimestampTz commit_time, extern XLogRecPtr XactLogAbortRecord(TimestampTz abort_time, int nsubxacts, TransactionId *subxacts, - int nrels, RelFileNode *rels, - int nstats, - xl_xact_stats_item *stats, + int nrels, RelFileLocator *rels, + int ndroppedstats, + xl_xact_stats_item *droppedstats, int xactflags, TransactionId twophase_xid, const char *twophase_gid); extern void xact_redo(XLogReaderState *record); diff --git a/parser/include/access/xlog.h b/parser/include/postgres/access/xlog.h similarity index 86% rename from parser/include/access/xlog.h rename to parser/include/postgres/access/xlog.h index cd674c3c..9c2d101c 100644 --- a/parser/include/access/xlog.h +++ b/parser/include/postgres/access/xlog.h @@ -3,7 +3,7 @@ * * PostgreSQL write-ahead log manager * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlog.h @@ -11,20 +11,23 @@ #ifndef XLOG_H #define XLOG_H +#include "access/xlogbackup.h" #include "access/xlogdefs.h" -#include "access/xlogreader.h" #include "datatype/timestamp.h" #include "lib/stringinfo.h" #include "nodes/pg_list.h" /* Sync methods */ -#define SYNC_METHOD_FSYNC 0 -#define SYNC_METHOD_FDATASYNC 1 -#define SYNC_METHOD_OPEN 2 /* for O_SYNC */ -#define SYNC_METHOD_FSYNC_WRITETHROUGH 3 -#define SYNC_METHOD_OPEN_DSYNC 4 /* for O_DSYNC */ -extern PGDLLIMPORT int sync_method; +enum WalSyncMethod +{ + WAL_SYNC_METHOD_FSYNC = 0, + WAL_SYNC_METHOD_FDATASYNC, + WAL_SYNC_METHOD_OPEN, /* for O_SYNC */ + WAL_SYNC_METHOD_FSYNC_WRITETHROUGH, + WAL_SYNC_METHOD_OPEN_DSYNC /* for O_DSYNC */ +}; +extern PGDLLIMPORT int wal_sync_method; extern PGDLLIMPORT XLogRecPtr ProcLastRecPtr; extern PGDLLIMPORT XLogRecPtr XactLastRecEnd; @@ -59,7 +62,7 @@ typedef enum ArchiveMode { ARCHIVE_MODE_OFF = 0, /* disabled */ ARCHIVE_MODE_ON, /* enabled while server is running normally */ - ARCHIVE_MODE_ALWAYS /* enabled always (even during recovery) */ + ARCHIVE_MODE_ALWAYS, /* enabled always (even during recovery) */ } ArchiveMode; extern PGDLLIMPORT int XLogArchiveMode; @@ -68,7 +71,7 @@ typedef enum WalLevel { WAL_LEVEL_MINIMAL = 0, WAL_LEVEL_REPLICA, - WAL_LEVEL_LOGICAL + WAL_LEVEL_LOGICAL, } WalLevel; /* Compression algorithms for WAL */ @@ -77,7 +80,7 @@ typedef enum WalCompression WAL_COMPRESSION_NONE = 0, WAL_COMPRESSION_PGLZ, WAL_COMPRESSION_LZ4, - WAL_COMPRESSION_ZSTD + WAL_COMPRESSION_ZSTD, } WalCompression; /* Recovery states */ @@ -85,7 +88,7 @@ typedef enum RecoveryState { RECOVERY_STATE_CRASH = 0, /* crash recovery */ RECOVERY_STATE_ARCHIVE, /* archive recovery */ - RECOVERY_STATE_DONE /* currently in production */ + RECOVERY_STATE_DONE, /* currently in production */ } RecoveryState; extern PGDLLIMPORT int wal_level; @@ -187,29 +190,31 @@ typedef enum WALAvailability WALAVAIL_EXTENDED, /* WAL segment is reserved by a slot or * wal_keep_size */ WALAVAIL_UNRESERVED, /* no longer reserved, but not removed yet */ - WALAVAIL_REMOVED /* WAL segment has been removed */ + WALAVAIL_REMOVED, /* WAL segment has been removed */ } WALAvailability; struct XLogRecData; +struct XLogReaderState; extern XLogRecPtr XLogInsertRecord(struct XLogRecData *rdata, XLogRecPtr fpw_lsn, uint8 flags, int num_fpi, bool topxid_included); -extern void XLogFlush(XLogRecPtr RecPtr); +extern void XLogFlush(XLogRecPtr record); extern bool XLogBackgroundFlush(void); -extern bool XLogNeedsFlush(XLogRecPtr RecPtr); -extern int XLogFileInit(XLogSegNo segno, TimeLineID tli); +extern bool XLogNeedsFlush(XLogRecPtr record); +extern int XLogFileInit(XLogSegNo logsegno, TimeLineID logtli); extern int XLogFileOpen(XLogSegNo segno, TimeLineID tli); extern void CheckXLogRemoved(XLogSegNo segno, TimeLineID tli); extern XLogSegNo XLogGetLastRemovedSegno(void); -extern void XLogSetAsyncXactLSN(XLogRecPtr record); +extern XLogSegNo XLogGetOldestSegno(TimeLineID tli); +extern void XLogSetAsyncXactLSN(XLogRecPtr asyncXactLSN); extern void XLogSetReplicationSlotMinimumLSN(XLogRecPtr lsn); -extern void xlog_redo(XLogReaderState *record); -extern void xlog_desc(StringInfo buf, XLogReaderState *record); +extern void xlog_redo(struct XLogReaderState *record); +extern void xlog_desc(StringInfo buf, struct XLogReaderState *record); extern const char *xlog_identify(uint8 info); extern void issue_xlog_fsync(int fd, XLogSegNo segno, TimeLineID tli); @@ -227,7 +232,9 @@ extern XLogRecPtr GetFakeLSNForUnloggedRel(void); extern Size XLOGShmemSize(void); extern void XLOGShmemInit(void); extern void BootStrapXLOG(void); +extern void InitializeWalConsistencyChecking(void); extern void LocalProcessControlFile(bool reset); +extern WalLevel GetActiveWalLevelOnStandby(void); extern void StartupXLOG(void); extern void ShutdownXLOG(int code, Datum arg); extern void CreateCheckPoint(int flags); @@ -241,12 +248,13 @@ extern XLogRecPtr GetRedoRecPtr(void); extern XLogRecPtr GetInsertRecPtr(void); extern XLogRecPtr GetFlushRecPtr(TimeLineID *insertTLI); extern TimeLineID GetWALInsertionTimeLine(void); +extern TimeLineID GetWALInsertionTimeLineIfSet(void); extern XLogRecPtr GetLastImportantRecPtr(void); extern void SetWalWriterSleeping(bool sleeping); -extern void assign_max_wal_size(int newval, void *extra); -extern void assign_checkpoint_completion_target(double newval, void *extra); +extern Size WALReadFromBuffers(char *dstbuf, XLogRecPtr startptr, Size count, + TimeLineID tli); /* * Routines used by xlogrecovery.c to call back into xlog.c during recovery. @@ -257,6 +265,7 @@ extern void SwitchIntoArchiveRecovery(XLogRecPtr EndRecPtr, TimeLineID replayTLI extern void ReachedEndOfBackup(XLogRecPtr EndRecPtr, TimeLineID tli); extern void SetInstallXLogFileSegmentActive(void); extern bool IsInstallXLogFileSegmentActive(void); +extern void ResetInstallXLogFileSegmentActive(void); extern void XLogShutdownWalRcv(void); /* @@ -279,11 +288,10 @@ typedef enum SessionBackupState SESSION_BACKUP_RUNNING, } SessionBackupState; -extern XLogRecPtr do_pg_backup_start(const char *backupidstr, bool fast, - TimeLineID *starttli_p, StringInfo labelfile, - List **tablespaces, StringInfo tblspcmapfile); -extern XLogRecPtr do_pg_backup_stop(char *labelfile, bool waitforarchive, - TimeLineID *stoptli_p); +extern void do_pg_backup_start(const char *backupidstr, bool fast, + List **tablespaces, BackupState *state, + StringInfo tblspcmapfile); +extern void do_pg_backup_stop(BackupState *state, bool waitforarchive); extern void do_pg_abort_backup(int code, Datum arg); extern void register_persistent_abort_backup_handler(void); extern SessionBackupState get_backup_status(void); diff --git a/parser/include/access/xlog_internal.h b/parser/include/postgres/access/xlog_internal.h similarity index 74% rename from parser/include/access/xlog_internal.h rename to parser/include/postgres/access/xlog_internal.h index fae0bef8..c6a91fb4 100644 --- a/parser/include/access/xlog_internal.h +++ b/parser/include/postgres/access/xlog_internal.h @@ -11,7 +11,7 @@ * Note: This file must be includable in both frontend and backend contexts, * to allow stand-alone tools like pg_receivewal to deal with WAL files. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlog_internal.h @@ -25,13 +25,13 @@ #include "lib/stringinfo.h" #include "pgtime.h" #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" /* * Each page of XLOG file has a header like this: */ -#define XLOG_PAGE_MAGIC 0xD110 /* can be used as WAL version indicator */ +#define XLOG_PAGE_MAGIC 0xD116 /* can be used as WAL version indicator */ typedef struct XLogPageHeaderData { @@ -159,74 +159,112 @@ typedef XLogLongPageHeaderData *XLogLongPageHeader; #define XLOG_FNAME_LEN 24 /* - * Generate a WAL segment file name. Do not use this macro in a helper + * Generate a WAL segment file name. Do not use this function in a helper * function allocating the result generated. */ -#define XLogFileName(fname, tli, logSegNo, wal_segsz_bytes) \ - snprintf(fname, MAXFNAMELEN, "%08X%08X%08X", tli, \ - (uint32) ((logSegNo) / XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) ((logSegNo) % XLogSegmentsPerXLogId(wal_segsz_bytes))) +static inline void +XLogFileName(char *fname, TimeLineID tli, XLogSegNo logSegNo, int wal_segsz_bytes) +{ + snprintf(fname, MAXFNAMELEN, "%08X%08X%08X", tli, + (uint32) (logSegNo / XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (logSegNo % XLogSegmentsPerXLogId(wal_segsz_bytes))); +} -#define XLogFileNameById(fname, tli, log, seg) \ - snprintf(fname, MAXFNAMELEN, "%08X%08X%08X", tli, log, seg) +static inline void +XLogFileNameById(char *fname, TimeLineID tli, uint32 log, uint32 seg) +{ + snprintf(fname, MAXFNAMELEN, "%08X%08X%08X", tli, log, seg); +} -#define IsXLogFileName(fname) \ - (strlen(fname) == XLOG_FNAME_LEN && \ - strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN) +static inline bool +IsXLogFileName(const char *fname) +{ + return (strlen(fname) == XLOG_FNAME_LEN && \ + strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN); +} /* * XLOG segment with .partial suffix. Used by pg_receivewal and at end of * archive recovery, when we want to archive a WAL segment but it might not * be complete yet. */ -#define IsPartialXLogFileName(fname) \ - (strlen(fname) == XLOG_FNAME_LEN + strlen(".partial") && \ - strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && \ - strcmp((fname) + XLOG_FNAME_LEN, ".partial") == 0) - -#define XLogFromFileName(fname, tli, logSegNo, wal_segsz_bytes) \ - do { \ - uint32 log; \ - uint32 seg; \ - sscanf(fname, "%08X%08X%08X", tli, &log, &seg); \ - *logSegNo = (uint64) log * XLogSegmentsPerXLogId(wal_segsz_bytes) + seg; \ - } while (0) - -#define XLogFilePath(path, tli, logSegNo, wal_segsz_bytes) \ - snprintf(path, MAXPGPATH, XLOGDIR "/%08X%08X%08X", tli, \ - (uint32) ((logSegNo) / XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) ((logSegNo) % XLogSegmentsPerXLogId(wal_segsz_bytes))) - -#define TLHistoryFileName(fname, tli) \ - snprintf(fname, MAXFNAMELEN, "%08X.history", tli) - -#define IsTLHistoryFileName(fname) \ - (strlen(fname) == 8 + strlen(".history") && \ - strspn(fname, "0123456789ABCDEF") == 8 && \ - strcmp((fname) + 8, ".history") == 0) - -#define TLHistoryFilePath(path, tli) \ - snprintf(path, MAXPGPATH, XLOGDIR "/%08X.history", tli) - -#define StatusFilePath(path, xlog, suffix) \ - snprintf(path, MAXPGPATH, XLOGDIR "/archive_status/%s%s", xlog, suffix) - -#define BackupHistoryFileName(fname, tli, logSegNo, startpoint, wal_segsz_bytes) \ - snprintf(fname, MAXFNAMELEN, "%08X%08X%08X.%08X.backup", tli, \ - (uint32) ((logSegNo) / XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) ((logSegNo) % XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) (XLogSegmentOffset(startpoint, wal_segsz_bytes))) - -#define IsBackupHistoryFileName(fname) \ - (strlen(fname) > XLOG_FNAME_LEN && \ - strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && \ - strcmp((fname) + strlen(fname) - strlen(".backup"), ".backup") == 0) - -#define BackupHistoryFilePath(path, tli, logSegNo, startpoint, wal_segsz_bytes) \ - snprintf(path, MAXPGPATH, XLOGDIR "/%08X%08X%08X.%08X.backup", tli, \ - (uint32) ((logSegNo) / XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) ((logSegNo) % XLogSegmentsPerXLogId(wal_segsz_bytes)), \ - (uint32) (XLogSegmentOffset((startpoint), wal_segsz_bytes))) +static inline bool +IsPartialXLogFileName(const char *fname) +{ + return (strlen(fname) == XLOG_FNAME_LEN + strlen(".partial") && + strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && + strcmp(fname + XLOG_FNAME_LEN, ".partial") == 0); +} + +static inline void +XLogFromFileName(const char *fname, TimeLineID *tli, XLogSegNo *logSegNo, int wal_segsz_bytes) +{ + uint32 log; + uint32 seg; + + sscanf(fname, "%08X%08X%08X", tli, &log, &seg); + *logSegNo = (uint64) log * XLogSegmentsPerXLogId(wal_segsz_bytes) + seg; +} + +static inline void +XLogFilePath(char *path, TimeLineID tli, XLogSegNo logSegNo, int wal_segsz_bytes) +{ + snprintf(path, MAXPGPATH, XLOGDIR "/%08X%08X%08X", tli, + (uint32) (logSegNo / XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (logSegNo % XLogSegmentsPerXLogId(wal_segsz_bytes))); +} + +static inline void +TLHistoryFileName(char *fname, TimeLineID tli) +{ + snprintf(fname, MAXFNAMELEN, "%08X.history", tli); +} + +static inline bool +IsTLHistoryFileName(const char *fname) +{ + return (strlen(fname) == 8 + strlen(".history") && + strspn(fname, "0123456789ABCDEF") == 8 && + strcmp(fname + 8, ".history") == 0); +} + +static inline void +TLHistoryFilePath(char *path, TimeLineID tli) +{ + snprintf(path, MAXPGPATH, XLOGDIR "/%08X.history", tli); +} + +static inline void +StatusFilePath(char *path, const char *xlog, const char *suffix) +{ + snprintf(path, MAXPGPATH, XLOGDIR "/archive_status/%s%s", xlog, suffix); +} + +static inline void +BackupHistoryFileName(char *fname, TimeLineID tli, XLogSegNo logSegNo, XLogRecPtr startpoint, int wal_segsz_bytes) +{ + snprintf(fname, MAXFNAMELEN, "%08X%08X%08X.%08X.backup", tli, + (uint32) (logSegNo / XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (logSegNo % XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (XLogSegmentOffset(startpoint, wal_segsz_bytes))); +} + +static inline bool +IsBackupHistoryFileName(const char *fname) +{ + return (strlen(fname) > XLOG_FNAME_LEN && + strspn(fname, "0123456789ABCDEF") == XLOG_FNAME_LEN && + strcmp(fname + strlen(fname) - strlen(".backup"), ".backup") == 0); +} + +static inline void +BackupHistoryFilePath(char *path, TimeLineID tli, XLogSegNo logSegNo, XLogRecPtr startpoint, int wal_segsz_bytes) +{ + snprintf(path, MAXPGPATH, XLOGDIR "/%08X%08X%08X.%08X.backup", tli, + (uint32) (logSegNo / XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (logSegNo % XLogSegmentsPerXLogId(wal_segsz_bytes)), + (uint32) (XLogSegmentOffset((startpoint), wal_segsz_bytes))); +} /* * Information logged when we detect a change in one of the parameters @@ -264,6 +302,7 @@ typedef struct xl_end_of_recovery TimestampTz end_time; TimeLineID ThisTimeLineID; /* new TLI */ TimeLineID PrevTimeLineID; /* previous TLI we forked off from */ + int wal_level; } xl_end_of_recovery; /* @@ -284,7 +323,7 @@ typedef enum { RECOVERY_TARGET_ACTION_PAUSE, RECOVERY_TARGET_ACTION_PROMOTE, - RECOVERY_TARGET_ACTION_SHUTDOWN + RECOVERY_TARGET_ACTION_SHUTDOWN, } RecoveryTargetAction; struct LogicalDecodingContext; @@ -324,7 +363,7 @@ extern PGDLLIMPORT RmgrData RmgrTable[]; extern void RmgrStartup(void); extern void RmgrCleanup(void); extern void RmgrNotFound(RmgrId rmid); -extern void RegisterCustomRmgr(RmgrId rmid, RmgrData *rmgr); +extern void RegisterCustomRmgr(RmgrId rmid, const RmgrData *rmgr); #ifndef FRONTEND static inline bool diff --git a/parser/include/postgres/access/xlogbackup.h b/parser/include/postgres/access/xlogbackup.h new file mode 100644 index 00000000..c30d4a59 --- /dev/null +++ b/parser/include/postgres/access/xlogbackup.h @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * xlogbackup.h + * Definitions for internals of base backups. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/access/xlogbackup.h + *------------------------------------------------------------------------- + */ + +#ifndef XLOG_BACKUP_H +#define XLOG_BACKUP_H + +#include "access/xlogdefs.h" +#include "pgtime.h" + +/* Structure to hold backup state. */ +typedef struct BackupState +{ + /* Fields saved at backup start */ + /* Backup label name one extra byte for null-termination */ + char name[MAXPGPATH + 1]; + XLogRecPtr startpoint; /* backup start WAL location */ + TimeLineID starttli; /* backup start TLI */ + XLogRecPtr checkpointloc; /* last checkpoint location */ + pg_time_t starttime; /* backup start time */ + bool started_in_recovery; /* backup started in recovery? */ + XLogRecPtr istartpoint; /* incremental based on backup at this LSN */ + TimeLineID istarttli; /* incremental based on backup on this TLI */ + + /* Fields saved at the end of backup */ + XLogRecPtr stoppoint; /* backup stop WAL location */ + TimeLineID stoptli; /* backup stop TLI */ + pg_time_t stoptime; /* backup stop time */ +} BackupState; + +extern char *build_backup_content(BackupState *state, + bool ishistoryfile); + +#endif /* XLOG_BACKUP_H */ diff --git a/parser/include/access/xlogdefs.h b/parser/include/postgres/access/xlogdefs.h similarity index 69% rename from parser/include/access/xlogdefs.h rename to parser/include/postgres/access/xlogdefs.h index a47e3eeb..c55e2f57 100644 --- a/parser/include/access/xlogdefs.h +++ b/parser/include/postgres/access/xlogdefs.h @@ -4,7 +4,7 @@ * Postgres write-ahead log manager record pointer and * timeline number definitions * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogdefs.h @@ -25,7 +25,8 @@ typedef uint64 XLogRecPtr; * WAL segment, initializing the first WAL page at WAL segment size, so no XLOG * record can begin at zero. */ -#define InvalidXLogRecPtr 0 +#define InvalidXLogRecPtr 0 +#define XLogRecPtrIsValid(r) ((r) != InvalidXLogRecPtr) #define XLogRecPtrIsInvalid(r) ((r) == InvalidXLogRecPtr) /* @@ -67,35 +68,16 @@ typedef uint16 RepOriginId; /* * This chunk of hackery attempts to determine which file sync methods * are available on the current platform, and to choose an appropriate - * default method. We assume that fsync() is always available, and that - * configure determined whether fdatasync() is. + * default method. + * + * Note that we define our own O_DSYNC on Windows, but not O_SYNC. */ -#if defined(O_SYNC) -#define OPEN_SYNC_FLAG O_SYNC -#elif defined(O_FSYNC) -#define OPEN_SYNC_FLAG O_FSYNC -#endif - -#if defined(O_DSYNC) -#if defined(OPEN_SYNC_FLAG) -/* O_DSYNC is distinct? */ -#if O_DSYNC != OPEN_SYNC_FLAG -#define OPEN_DATASYNC_FLAG O_DSYNC -#endif -#else /* !defined(OPEN_SYNC_FLAG) */ -/* Win32 only has O_DSYNC */ -#define OPEN_DATASYNC_FLAG O_DSYNC -#endif -#endif - -#if defined(PLATFORM_DEFAULT_SYNC_METHOD) -#define DEFAULT_SYNC_METHOD PLATFORM_DEFAULT_SYNC_METHOD -#elif defined(OPEN_DATASYNC_FLAG) -#define DEFAULT_SYNC_METHOD SYNC_METHOD_OPEN_DSYNC -#elif defined(HAVE_FDATASYNC) -#define DEFAULT_SYNC_METHOD SYNC_METHOD_FDATASYNC +#if defined(PLATFORM_DEFAULT_WAL_SYNC_METHOD) +#define DEFAULT_WAL_SYNC_METHOD PLATFORM_DEFAULT_WAL_SYNC_METHOD +#elif defined(O_DSYNC) && (!defined(O_SYNC) || O_DSYNC != O_SYNC) +#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_OPEN_DSYNC #else -#define DEFAULT_SYNC_METHOD SYNC_METHOD_FSYNC +#define DEFAULT_WAL_SYNC_METHOD WAL_SYNC_METHOD_FDATASYNC #endif #endif /* XLOG_DEFS_H */ diff --git a/parser/include/access/xlogprefetcher.h b/parser/include/postgres/access/xlogprefetcher.h similarity index 93% rename from parser/include/access/xlogprefetcher.h rename to parser/include/postgres/access/xlogprefetcher.h index fdd67fce..98cf9901 100644 --- a/parser/include/access/xlogprefetcher.h +++ b/parser/include/postgres/access/xlogprefetcher.h @@ -3,7 +3,7 @@ * xlogprefetcher.h * Declarations for the recovery prefetching module. * - * Portions Copyright (c) 2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -25,7 +25,7 @@ typedef enum { RECOVERY_PREFETCH_OFF, RECOVERY_PREFETCH_ON, - RECOVERY_PREFETCH_TRY + RECOVERY_PREFETCH_TRY, } RecoveryPrefetchValue; struct XLogPrefetcher; diff --git a/parser/include/access/xlogreader.h b/parser/include/postgres/access/xlogreader.h similarity index 97% rename from parser/include/access/xlogreader.h rename to parser/include/postgres/access/xlogreader.h index 9e63162e..2e9e5f43 100644 --- a/parser/include/access/xlogreader.h +++ b/parser/include/postgres/access/xlogreader.h @@ -3,7 +3,7 @@ * xlogreader.h * Definitions for the generic XLog reading facility * - * Portions Copyright (c) 2013-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/access/xlogreader.h @@ -122,7 +122,7 @@ typedef struct bool in_use; /* Identify the block this refers to */ - RelFileNode rnode; + RelFileLocator rlocator; ForkNumber forknum; BlockNumber blkno; @@ -332,7 +332,6 @@ extern XLogReaderState *XLogReaderAllocate(int wal_segment_size, const char *waldir, XLogReaderRoutine *routine, void *private_data); -extern XLogReaderRoutine *LocalXLogReaderRoutine(void); /* Free an XLogReader */ extern void XLogReaderFree(XLogReaderState *state); @@ -351,7 +350,7 @@ typedef enum XLogPageReadResult { XLREAD_SUCCESS = 0, /* record is successfully read */ XLREAD_FAIL = -1, /* failed during reading a record */ - XLREAD_WOULDBLOCK = -2 /* nonblocking mode only, no data */ + XLREAD_WOULDBLOCK = -2, /* nonblocking mode only, no data */ } XLogPageReadResult; /* Read the next XLog record. Returns NULL on end-of-WAL or failure */ @@ -400,7 +399,7 @@ extern bool DecodeXLogRecord(XLogReaderState *state, DecodedXLogRecord *decoded, XLogRecord *record, XLogRecPtr lsn, - char **errmsg); + char **errormsg); /* * Macros that provide access to parts of the record most recently returned by @@ -425,6 +424,8 @@ extern bool DecodeXLogRecord(XLogReaderState *state, ((decoder)->record->blocks[block_id].has_image) #define XLogRecBlockImageApply(decoder, block_id) \ ((decoder)->record->blocks[block_id].apply_image) +#define XLogRecHasBlockData(decoder, block_id) \ + ((decoder)->record->blocks[block_id].has_data) #ifndef FRONTEND extern FullTransactionId XLogRecGetFullXid(XLogReaderState *record); @@ -433,10 +434,10 @@ extern FullTransactionId XLogRecGetFullXid(XLogReaderState *record); extern bool RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page); extern char *XLogRecGetBlockData(XLogReaderState *record, uint8 block_id, Size *len); extern void XLogRecGetBlockTag(XLogReaderState *record, uint8 block_id, - RelFileNode *rnode, ForkNumber *forknum, + RelFileLocator *rlocator, ForkNumber *forknum, BlockNumber *blknum); extern bool XLogRecGetBlockTagExtended(XLogReaderState *record, uint8 block_id, - RelFileNode *rnode, ForkNumber *forknum, + RelFileLocator *rlocator, ForkNumber *forknum, BlockNumber *blknum, Buffer *prefetch_buffer); diff --git a/parser/include/access/xlogrecord.h b/parser/include/postgres/access/xlogrecord.h similarity index 92% rename from parser/include/access/xlogrecord.h rename to parser/include/postgres/access/xlogrecord.h index 052ac681..b9e5c59f 100644 --- a/parser/include/access/xlogrecord.h +++ b/parser/include/postgres/access/xlogrecord.h @@ -3,7 +3,7 @@ * * Definitions for the WAL record format. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogrecord.h @@ -15,7 +15,7 @@ #include "access/xlogdefs.h" #include "port/pg_crc32c.h" #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" /* * The overall layout of an XLOG record is: @@ -62,6 +62,17 @@ typedef struct XLogRecord #define XLR_INFO_MASK 0x0F #define XLR_RMGR_INFO_MASK 0xF0 +/* + * XLogReader needs to allocate all the data of a WAL record in a single + * chunk. This means that a single XLogRecord cannot exceed MaxAllocSize + * in length if we ignore any allocation overhead of the XLogReader. + * + * To accommodate some overhead, this value allows for 4M of allocation + * overhead, that should be plenty enough for what the XLogReader + * infrastructure expects as extra. + */ +#define XLogRecordMaxSize (1020 * 1024 * 1024) + /* * If a WAL record modifies any relation files, in ways not covered by the * usual block references, this flag is set. This is not used for anything @@ -97,7 +108,7 @@ typedef struct XLogRecordBlockHeader * image) */ /* If BKPBLOCK_HAS_IMAGE, an XLogRecordBlockImageHeader struct follows */ - /* If BKPBLOCK_SAME_REL is not set, a RelFileNode follows */ + /* If BKPBLOCK_SAME_REL is not set, a RelFileLocator follows */ /* BlockNumber follows */ } XLogRecordBlockHeader; @@ -175,7 +186,7 @@ typedef struct XLogRecordBlockCompressHeader (SizeOfXLogRecordBlockHeader + \ SizeOfXLogRecordBlockImageHeader + \ SizeOfXLogRecordBlockCompressHeader + \ - sizeof(RelFileNode) + \ + sizeof(RelFileLocator) + \ sizeof(BlockNumber)) /* @@ -187,7 +198,8 @@ typedef struct XLogRecordBlockCompressHeader #define BKPBLOCK_HAS_IMAGE 0x10 /* block data is an XLogRecordBlockImage */ #define BKPBLOCK_HAS_DATA 0x20 #define BKPBLOCK_WILL_INIT 0x40 /* redo will re-init the page */ -#define BKPBLOCK_SAME_REL 0x80 /* RelFileNode omitted, same as previous */ +#define BKPBLOCK_SAME_REL 0x80 /* RelFileLocator omitted, same as + * previous */ /* * XLogRecordDataHeaderShort/Long are used for the "main data" portion of diff --git a/parser/include/access/xlogrecovery.h b/parser/include/postgres/access/xlogrecovery.h similarity index 93% rename from parser/include/access/xlogrecovery.h rename to parser/include/postgres/access/xlogrecovery.h index 0aa85d90..c423464e 100644 --- a/parser/include/access/xlogrecovery.h +++ b/parser/include/postgres/access/xlogrecovery.h @@ -3,7 +3,7 @@ * * Functions for WAL recovery and standby mode * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/access/xlogrecovery.h @@ -27,7 +27,7 @@ typedef enum RECOVERY_TARGET_TIME, RECOVERY_TARGET_NAME, RECOVERY_TARGET_LSN, - RECOVERY_TARGET_IMMEDIATE + RECOVERY_TARGET_IMMEDIATE, } RecoveryTargetType; /* @@ -37,7 +37,7 @@ typedef enum { RECOVERY_TARGET_TIMELINE_CONTROLFILE, RECOVERY_TARGET_TIMELINE_LATEST, - RECOVERY_TARGET_TIMELINE_NUMERIC + RECOVERY_TARGET_TIMELINE_NUMERIC, } RecoveryTargetTimeLineGoal; /* Recovery pause states */ @@ -45,7 +45,7 @@ typedef enum RecoveryPauseState { RECOVERY_NOT_PAUSED, /* pause not requested */ RECOVERY_PAUSE_REQUESTED, /* pause requested, but not yet paused */ - RECOVERY_PAUSED /* recovery is paused */ + RECOVERY_PAUSED, /* recovery is paused */ } RecoveryPauseState; /* User-settable GUC parameters */ @@ -65,7 +65,6 @@ extern PGDLLIMPORT TimestampTz recoveryTargetTime; extern PGDLLIMPORT const char *recoveryTargetName; extern PGDLLIMPORT XLogRecPtr recoveryTargetLSN; extern PGDLLIMPORT RecoveryTargetType recoveryTarget; -extern PGDLLIMPORT char *PromoteTriggerFile; extern PGDLLIMPORT bool wal_receiver_create_temp_slot; extern PGDLLIMPORT RecoveryTargetTimeLineGoal recoveryTargetTimeLineGoal; extern PGDLLIMPORT TimeLineID recoveryTargetTLIRequested; @@ -80,7 +79,9 @@ extern PGDLLIMPORT bool StandbyMode; extern Size XLogRecoveryShmemSize(void); extern void XLogRecoveryShmemInit(void); -extern void InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdownPtr, bool *haveBackupLabel, bool *haveTblspcMap); +extern void InitWalRecovery(ControlFileData *ControlFile, + bool *wasShutdown_ptr, bool *haveBackupLabel_ptr, + bool *haveTblspcMap_ptr); extern void PerformWalRecovery(void); /* diff --git a/parser/include/postgres/archive/archive_module.h b/parser/include/postgres/archive/archive_module.h new file mode 100644 index 00000000..763af76e --- /dev/null +++ b/parser/include/postgres/archive/archive_module.h @@ -0,0 +1,67 @@ +/*------------------------------------------------------------------------- + * + * archive_module.h + * Exports for archive modules. + * + * Copyright (c) 2022-2024, PostgreSQL Global Development Group + * + * src/include/archive/archive_module.h + * + *------------------------------------------------------------------------- + */ +#ifndef _ARCHIVE_MODULE_H +#define _ARCHIVE_MODULE_H + +/* + * The value of the archive_library GUC. + */ +extern PGDLLIMPORT char *XLogArchiveLibrary; + +typedef struct ArchiveModuleState +{ + /* + * Private data pointer for use by an archive module. This can be used to + * store state for the module that will be passed to each of its + * callbacks. + */ + void *private_data; +} ArchiveModuleState; + +/* + * Archive module callbacks + * + * These callback functions should be defined by archive libraries and returned + * via _PG_archive_module_init(). ArchiveFileCB is the only required callback. + * For more information about the purpose of each callback, refer to the + * archive modules documentation. + */ +typedef void (*ArchiveStartupCB) (ArchiveModuleState *state); +typedef bool (*ArchiveCheckConfiguredCB) (ArchiveModuleState *state); +typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, const char *path); +typedef void (*ArchiveShutdownCB) (ArchiveModuleState *state); + +typedef struct ArchiveModuleCallbacks +{ + ArchiveStartupCB startup_cb; + ArchiveCheckConfiguredCB check_configured_cb; + ArchiveFileCB archive_file_cb; + ArchiveShutdownCB shutdown_cb; +} ArchiveModuleCallbacks; + +/* + * Type of the shared library symbol _PG_archive_module_init that is looked + * up when loading an archive library. + */ +typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void); + +extern PGDLLEXPORT const ArchiveModuleCallbacks *_PG_archive_module_init(void); + +/* Support for messages reported from archive module callbacks. */ + +extern PGDLLIMPORT char *arch_module_check_errdetail_string; + +#define arch_module_check_errdetail \ + pre_format_elog_string(errno, TEXTDOMAIN), \ + arch_module_check_errdetail_string = format_elog_string + +#endif /* _ARCHIVE_MODULE_H */ diff --git a/parser/include/postgres/archive/gokeep.go b/parser/include/postgres/archive/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/archive/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/c.h b/parser/include/postgres/c.h similarity index 85% rename from parser/include/c.h rename to parser/include/postgres/c.h index e2f60807..c5b18692 100644 --- a/parser/include/c.h +++ b/parser/include/postgres/c.h @@ -9,7 +9,7 @@ * polluting the namespace with lots of stuff... * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/c.h @@ -30,7 +30,7 @@ * 2) bool, true, false * 3) standard system types * 4) IsValid macros for system types - * 5) offsetof, lengthof, alignment + * 5) lengthof, alignment * 6) assertions * 7) widely useful macros * 8) random stuff @@ -75,6 +75,11 @@ #include #endif +/* Define before including zlib.h to add const decorations to zlib API. */ +#ifdef HAVE_LIBZ +#define ZLIB_CONST +#endif + /* ---------------------------------------------------------------- * Section 1: compiler characteristics @@ -100,8 +105,6 @@ * GCC: https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html * Clang: https://clang.llvm.org/docs/AttributeReference.html * Sunpro: https://docs.oracle.com/cd/E18659_01/html/821-1384/gjzke.html - * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/function_attributes.html - * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/type_attrib.html */ /* @@ -132,6 +135,19 @@ #define pg_nodiscard #endif +/* + * This macro will disable address safety instrumentation for a function + * when running with "-fsanitize=address". Think twice before using this! + */ +#if defined(__clang__) || __GNUC__ >= 8 +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize("address"))) +#elif __has_attribute(no_sanitize_address) +/* This would work for clang, but it's deprecated. */ +#define pg_attribute_no_sanitize_address() __attribute__((no_sanitize_address)) +#else +#define pg_attribute_no_sanitize_address() +#endif + /* * Place this macro before functions that should be allowed to make misaligned * accesses. Think twice before using it on non-x86-specific code! @@ -144,6 +160,17 @@ #define pg_attribute_no_sanitize_alignment() #endif +/* + * pg_attribute_nonnull means the compiler should warn if the function is + * called with the listed arguments set to NULL. If no arguments are + * listed, the compiler should warn if any pointer arguments are set to NULL. + */ +#if __has_attribute (nonnull) +#define pg_attribute_nonnull(...) __attribute__((nonnull(__VA_ARGS__))) +#else +#define pg_attribute_nonnull(...) +#endif + /* * Append PG_USED_FOR_ASSERTS_ONLY to definitions of variables that are only * used in assert-enabled builds, to avoid compiler warnings about unused @@ -155,8 +182,8 @@ #define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused() #endif -/* GCC and XLC support format attributes */ -#if defined(__GNUC__) || defined(__IBMC__) +/* GCC supports format attributes */ +#if defined(__GNUC__) #define pg_attribute_format_arg(a) __attribute__((format_arg(a))) #define pg_attribute_printf(f,a) __attribute__((format(PG_PRINTF_ATTRIBUTE, f, a))) #else @@ -164,12 +191,23 @@ #define pg_attribute_printf(f,a) #endif -/* GCC, Sunpro and XLC support aligned, packed and noreturn */ -#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__) +/* GCC and Sunpro support aligned, packed and noreturn */ +#if defined(__GNUC__) || defined(__SUNPRO_C) #define pg_attribute_aligned(a) __attribute__((aligned(a))) #define pg_attribute_noreturn() __attribute__((noreturn)) #define pg_attribute_packed() __attribute__((packed)) #define HAVE_PG_ATTRIBUTE_NORETURN 1 +#elif defined(_MSC_VER) +/* + * MSVC supports aligned. noreturn is also possible but in MSVC it is + * declared before the definition while pg_attribute_noreturn() macro + * is currently used after the definition. + * + * Packing is also possible but only by wrapping the entire struct definition + * which doesn't fit into our current macro declarations. + */ +#define pg_attribute_aligned(a) __declspec(align(a)) +#define pg_attribute_noreturn() #else /* * NB: aligned and packed are not given default definitions because they @@ -185,8 +223,8 @@ * choose not to. But, if possible, don't force inlining in unoptimized * debug builds. */ -#if (defined(__GNUC__) && __GNUC__ > 3 && defined(__OPTIMIZE__)) || defined(__SUNPRO_C) || defined(__IBMC__) -/* GCC > 3, Sunpro and XLC support always_inline via __attribute__ */ +#if (defined(__GNUC__) && __GNUC__ > 3 && defined(__OPTIMIZE__)) || defined(__SUNPRO_C) +/* GCC > 3 and Sunpro support always_inline via __attribute__ */ #define pg_attribute_always_inline __attribute__((always_inline)) inline #elif defined(_MSC_VER) /* MSVC has a special keyword for this */ @@ -202,8 +240,8 @@ * for proper cost attribution. Note that unlike the pg_attribute_XXX macros * above, this should be placed before the function's return type and name. */ -/* GCC, Sunpro and XLC support noinline via __attribute__ */ -#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) || defined(__IBMC__) +/* GCC and Sunpro support noinline via __attribute__ */ +#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) #define pg_noinline __attribute__((noinline)) /* msvc via declspec */ #elif defined(_MSC_VER) @@ -302,7 +340,25 @@ * pretty trivial: VA_ARGS_NARGS_() returns its 64th argument, and we set up * the call so that that is the appropriate one of the list of constants. * This idea is due to Laurent Deniau. + * + * MSVC has an implementation of __VA_ARGS__ that doesn't conform to the + * standard unless you use the /Zc:preprocessor compiler flag, but that + * isn't available before Visual Studio 2019. For now, use a different + * definition that also works on older compilers. */ +#ifdef _MSC_VER +#define EXPAND(args) args +#define VA_ARGS_NARGS(...) \ + VA_ARGS_NARGS_ EXPAND((__VA_ARGS__, \ + 63,62,61,60, \ + 59,58,57,56,55,54,53,52,51,50, \ + 49,48,47,46,45,44,43,42,41,40, \ + 39,38,37,36,35,34,33,32,31,30, \ + 29,28,27,26,25,24,23,22,21,20, \ + 19,18,17,16,15,14,13,12,11,10, \ + 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)) +#else + #define VA_ARGS_NARGS(...) \ VA_ARGS_NARGS_(__VA_ARGS__, \ 63,62,61,60, \ @@ -312,6 +368,8 @@ 29,28,27,26,25,24,23,22,21,20, \ 19,18,17,16,15,14,13,12,11,10, \ 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) +#endif + #define VA_ARGS_NARGS_( \ _01,_02,_03,_04,_05,_06,_07,_08,_09,_10, \ _11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \ @@ -322,16 +380,6 @@ _61,_62,_63, N, ...) \ (N) -/* - * dummyret is used to set return values in macros that use ?: to make - * assignments. gcc wants these to be void, other compilers like char - */ -#ifdef __GNUC__ /* GNU cc */ -#define dummyret void -#else -#define dummyret char -#endif - /* * Generic function pointer. This can be used in the rare cases where it's * necessary to cast a function pointer to a seemingly incompatible function @@ -349,15 +397,32 @@ typedef void (*pg_funcptr_t) (void); */ #define FLEXIBLE_ARRAY_MEMBER /* empty */ -/* Which __func__ symbol do we have, if any? */ -#ifdef HAVE_FUNCNAME__FUNC -#define PG_FUNCNAME_MACRO __func__ -#else -#ifdef HAVE_FUNCNAME__FUNCTION -#define PG_FUNCNAME_MACRO __FUNCTION__ -#else -#define PG_FUNCNAME_MACRO NULL -#endif +/* + * Does the compiler support #pragma GCC system_header? We optionally use it + * to avoid warnings that we can't fix (e.g. in the perl headers). + * See https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html + * + * Headers for which we do not want to show compiler warnings can, + * conditionally, use #pragma GCC system_header to avoid warnings. Obviously + * this should only be used for external headers over which we do not have + * control. + * + * Support for the pragma is tested here, instead of during configure, as gcc + * also warns about the pragma being used in a .c file. It's surprisingly hard + * to get autoconf to use .h as the file-ending. Looks like gcc has + * implemented the pragma since the 2000, so this test should suffice. + * + * + * Alternatively, we could add the include paths for problematic headers with + * -isystem, but that is a larger hammer and is harder to search for. + * + * A more granular alternative would be to use #pragma GCC diagnostic + * push/ignored/pop, but gcc warns about unknown warnings being ignored, so + * every to-be-ignored-temporarily compiler warning would require its own + * pg_config.h symbol and #ifdef. + */ +#ifdef __GNUC__ +#define HAVE_PRAGMA_GCC_SYSTEM_HEADER 1 #endif @@ -370,7 +435,7 @@ typedef void (*pg_funcptr_t) (void); * bool * Boolean value, either true or false. * - * We use stdbool.h if available and its bool has size 1. That's useful for + * We use stdbool.h if bool has size 1 after including it. That's useful for * better compiler and debugger output and for compatibility with third-party * libraries. But PostgreSQL currently cannot deal with bool of other sizes; * there are static assertions around the code to prevent that. @@ -713,20 +778,9 @@ typedef NameData *Name; /* ---------------------------------------------------------------- - * Section 5: offsetof, lengthof, alignment + * Section 5: lengthof, alignment * ---------------------------------------------------------------- */ -/* - * offsetof - * Offset of a structure/union field within that structure/union. - * - * XXX This is supposed to be part of stddef.h, but isn't on - * some systems (like SunOS 4). - */ -#ifndef offsetof -#define offsetof(type, field) ((long) &((type *)0)->field) -#endif /* offsetof */ - /* * lengthof * Number of elements in an array. @@ -803,80 +857,42 @@ typedef NameData *Name; #define Assert(condition) ((void)true) #define AssertMacro(condition) ((void)true) -#define AssertArg(condition) ((void)true) -#define AssertState(condition) ((void)true) -#define AssertPointerAlignment(ptr, bndr) ((void)true) -#define Trap(condition, errorType) ((void)true) -#define TrapMacro(condition, errorType) (true) #elif defined(FRONTEND) #include #define Assert(p) assert(p) #define AssertMacro(p) ((void) assert(p)) -#define AssertArg(condition) assert(condition) -#define AssertState(condition) assert(condition) -#define AssertPointerAlignment(ptr, bndr) ((void)true) #else /* USE_ASSERT_CHECKING && !FRONTEND */ /* - * Trap - * Generates an exception if the given condition is true. + * Assert + * Generates a fatal exception if the given condition is false. */ -#define Trap(condition, errorType) \ +#define Assert(condition) \ do { \ - if (condition) \ - ExceptionalCondition(#condition, (errorType), \ - __FILE__, __LINE__); \ + if (!(condition)) \ + ExceptionalCondition(#condition, __FILE__, __LINE__); \ } while (0) /* - * TrapMacro is the same as Trap but it's intended for use in macros: + * AssertMacro is the same as Assert but it's suitable for use in + * expression-like macros, for example: * * #define foo(x) (AssertMacro(x != 0), bar(x)) - * - * Isn't CPP fun? */ -#define TrapMacro(condition, errorType) \ - ((bool) (! (condition) || \ - (ExceptionalCondition(#condition, (errorType), \ - __FILE__, __LINE__), 0))) - -#define Assert(condition) \ - do { \ - if (!(condition)) \ - ExceptionalCondition(#condition, "FailedAssertion", \ - __FILE__, __LINE__); \ - } while (0) - #define AssertMacro(condition) \ ((void) ((condition) || \ - (ExceptionalCondition(#condition, "FailedAssertion", \ - __FILE__, __LINE__), 0))) - -#define AssertArg(condition) \ - do { \ - if (!(condition)) \ - ExceptionalCondition(#condition, "BadArgument", \ - __FILE__, __LINE__); \ - } while (0) + (ExceptionalCondition(#condition, __FILE__, __LINE__), 0))) -#define AssertState(condition) \ - do { \ - if (!(condition)) \ - ExceptionalCondition(#condition, "BadState", \ - __FILE__, __LINE__); \ - } while (0) +#endif /* USE_ASSERT_CHECKING && !FRONTEND */ /* * Check that `ptr' is `bndr' aligned. */ #define AssertPointerAlignment(ptr, bndr) \ - Trap(TYPEALIGN(bndr, (uintptr_t)(ptr)) != (uintptr_t)(ptr), \ - "UnalignedPointer") - -#endif /* USE_ASSERT_CHECKING && !FRONTEND */ + Assert(TYPEALIGN(bndr, (uintptr_t)(ptr)) == (uintptr_t)(ptr)) /* * ExceptionalCondition is compiled into the backend whether or not @@ -886,7 +902,6 @@ typedef NameData *Name; */ #ifndef FRONTEND extern void ExceptionalCondition(const char *conditionName, - const char *errorType, const char *fileName, int lineNumber) pg_attribute_noreturn(); #endif @@ -896,47 +911,50 @@ extern void ExceptionalCondition(const char *conditionName, * If the "condition" (a compile-time-constant expression) evaluates to false, * throw a compile error using the "errmessage" (a string literal). * - * gcc 4.6 and up supports _Static_assert(), but there are bizarre syntactic - * placement restrictions. Macros StaticAssertStmt() and StaticAssertExpr() + * C11 has _Static_assert(), and most C99 compilers already support that. For + * portability, we wrap it into StaticAssertDecl(). _Static_assert() is a + * "declaration", and so it must be placed where for example a variable + * declaration would be valid. As long as we compile with + * -Wno-declaration-after-statement, that also means it cannot be placed after + * statements in a function. Macros StaticAssertStmt() and StaticAssertExpr() * make it safe to use as a statement or in an expression, respectively. - * The macro StaticAssertDecl() is suitable for use at file scope (outside of - * any function). * - * Otherwise we fall back on a kluge that assumes the compiler will complain - * about a negative width for a struct bit-field. This will not include a - * helpful error message, but it beats not getting an error at all. + * For compilers without _Static_assert(), we fall back on a kluge that + * assumes the compiler will complain about a negative width for a struct + * bit-field. This will not include a helpful error message, but it beats not + * getting an error at all. */ #ifndef __cplusplus #ifdef HAVE__STATIC_ASSERT +#define StaticAssertDecl(condition, errmessage) \ + _Static_assert(condition, errmessage) #define StaticAssertStmt(condition, errmessage) \ do { _Static_assert(condition, errmessage); } while(0) #define StaticAssertExpr(condition, errmessage) \ ((void) ({ StaticAssertStmt(condition, errmessage); true; })) -#define StaticAssertDecl(condition, errmessage) \ - _Static_assert(condition, errmessage) #else /* !HAVE__STATIC_ASSERT */ +#define StaticAssertDecl(condition, errmessage) \ + extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1]) #define StaticAssertStmt(condition, errmessage) \ ((void) sizeof(struct { int static_assert_failure : (condition) ? 1 : -1; })) #define StaticAssertExpr(condition, errmessage) \ StaticAssertStmt(condition, errmessage) -#define StaticAssertDecl(condition, errmessage) \ - extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1]) #endif /* HAVE__STATIC_ASSERT */ #else /* C++ */ #if defined(__cpp_static_assert) && __cpp_static_assert >= 200410 +#define StaticAssertDecl(condition, errmessage) \ + static_assert(condition, errmessage) #define StaticAssertStmt(condition, errmessage) \ static_assert(condition, errmessage) #define StaticAssertExpr(condition, errmessage) \ ({ static_assert(condition, errmessage); }) -#define StaticAssertDecl(condition, errmessage) \ - static_assert(condition, errmessage) #else /* !__cpp_static_assert */ +#define StaticAssertDecl(condition, errmessage) \ + extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1]) #define StaticAssertStmt(condition, errmessage) \ do { struct static_assert_struct { int static_assert_failure : (condition) ? 1 : -1; }; } while(0) #define StaticAssertExpr(condition, errmessage) \ ((void) ({ StaticAssertStmt(condition, errmessage); })) -#define StaticAssertDecl(condition, errmessage) \ - extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1]) #endif /* __cpp_static_assert */ #endif /* C++ */ @@ -985,12 +1003,6 @@ extern void ExceptionalCondition(const char *conditionName, */ #define Min(x, y) ((x) < (y) ? (x) : (y)) -/* - * Abs - * Return the absolute value of the argument. - */ -#define Abs(x) ((x) >= 0 ? (x) : -(x)) - /* Get a bit mask of the bits set in non-long aligned addresses */ #define LONG_ALIGN_MASK (sizeof(long) - 1) @@ -1059,30 +1071,6 @@ extern void ExceptionalCondition(const char *conditionName, } while (0) -/* - * MemSetTest/MemSetLoop are a variant version that allow all the tests in - * MemSet to be done at compile time in cases where "val" and "len" are - * constants *and* we know the "start" pointer must be word-aligned. - * If MemSetTest succeeds, then it is okay to use MemSetLoop, otherwise use - * MemSetAligned. Beware of multiple evaluations of the arguments when using - * this approach. - */ -#define MemSetTest(val, len) \ - ( ((len) & LONG_ALIGN_MASK) == 0 && \ - (len) <= MEMSET_LOOP_LIMIT && \ - MEMSET_LOOP_LIMIT != 0 && \ - (val) == 0 ) - -#define MemSetLoop(start, val, len) \ - do \ - { \ - long * _start = (long *) (start); \ - long * _stop = (long *) ((char *) _start + (Size) (len)); \ - \ - while (_start < _stop) \ - *_start++ = 0; \ - } while (0) - /* * Macros for range-checking float values before converting to integer. * We must be careful here that the boundary values are expressed exactly @@ -1113,10 +1101,6 @@ extern void ExceptionalCondition(const char *conditionName, * ---------------------------------------------------------------- */ -#ifdef HAVE_STRUCT_SOCKADDR_UN -#define HAVE_UNIX_SOCKETS 1 -#endif - /* * Invert the sign of a qsort-style comparison result, ie, exchange negative * and positive integer values, being careful not to get the wrong answer @@ -1127,14 +1111,11 @@ extern void ExceptionalCondition(const char *conditionName, /* * Use this, not "char buf[BLCKSZ]", to declare a field or local variable - * holding a page buffer, if that page might be accessed as a page and not - * just a string of bytes. Otherwise the variable might be under-aligned, - * causing problems on alignment-picky hardware. (In some places, we use - * this to declare buffers even though we only pass them to read() and - * write(), because copying to/from aligned buffers is usually faster than - * using unaligned buffers.) We include both "double" and "int64" in the - * union to ensure that the compiler knows the value must be MAXALIGN'ed - * (cf. configure's computation of MAXIMUM_ALIGNOF). + * holding a page buffer, if that page might be accessed as a page. Otherwise + * the variable might be under-aligned, causing problems on alignment-picky + * hardware. We include both "double" and "int64" in the union to ensure that + * the compiler knows the value must be MAXALIGN'ed (cf. configure's + * computation of MAXIMUM_ALIGNOF). */ typedef union PGAlignedBlock { @@ -1143,9 +1124,30 @@ typedef union PGAlignedBlock int64 force_align_i64; } PGAlignedBlock; +/* + * Use this to declare a field or local variable holding a page buffer, if that + * page might be accessed as a page or passed to an SMgr I/O function. If + * allocating using the MemoryContext API, the aligned allocation functions + * should be used with PG_IO_ALIGN_SIZE. This alignment may be more efficient + * for I/O in general, but may be strictly required on some platforms when + * using direct I/O. + */ +typedef union PGIOAlignedBlock +{ +#ifdef pg_attribute_aligned + pg_attribute_aligned(PG_IO_ALIGN_SIZE) +#endif + char data[BLCKSZ]; + double force_align_d; + int64 force_align_i64; +} PGIOAlignedBlock; + /* Same, but for an XLOG_BLCKSZ-sized buffer */ typedef union PGAlignedXLogBlock { +#ifdef pg_attribute_aligned + pg_attribute_aligned(PG_IO_ALIGN_SIZE) +#endif char data[XLOG_BLCKSZ]; double force_align_d; int64 force_align_i64; @@ -1230,7 +1232,10 @@ typedef union PGAlignedXLogBlock * Note that this only works in function scope, not for global variables (it'd * be nice, but not trivial, to improve that). */ -#if defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P) +#if defined(__cplusplus) +#define unconstify(underlying_type, expr) const_cast(expr) +#define unvolatize(underlying_type, expr) const_cast(expr) +#elif defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P) #define unconstify(underlying_type, expr) \ (StaticAssertExpr(__builtin_types_compatible_p(__typeof(expr), const underlying_type), \ "wrong cast"), \ @@ -1279,39 +1284,10 @@ typedef union PGAlignedXLogBlock * standard C library. */ -#if defined(HAVE_FDATASYNC) && !HAVE_DECL_FDATASYNC +#if !HAVE_DECL_FDATASYNC extern int fdatasync(int fildes); #endif -/* Older platforms may provide strto[u]ll functionality under other names */ -#if !defined(HAVE_STRTOLL) && defined(HAVE___STRTOLL) -#define strtoll __strtoll -#define HAVE_STRTOLL 1 -#endif - -#if !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ) -#define strtoll strtoq -#define HAVE_STRTOLL 1 -#endif - -#if !defined(HAVE_STRTOULL) && defined(HAVE___STRTOULL) -#define strtoull __strtoull -#define HAVE_STRTOULL 1 -#endif - -#if !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ) -#define strtoull strtouq -#define HAVE_STRTOULL 1 -#endif - -#if defined(HAVE_STRTOLL) && !HAVE_DECL_STRTOLL -extern long long strtoll(const char *str, char **endptr, int base); -#endif - -#if defined(HAVE_STRTOULL) && !HAVE_DECL_STRTOULL -extern unsigned long long strtoull(const char *str, char **endptr, int base); -#endif - /* * Thin wrappers that convert strings to exactly 64-bit integers, matching our * definition of int64. (For the naming, compare that POSIX has @@ -1325,6 +1301,15 @@ extern unsigned long long strtoull(const char *str, char **endptr, int base); #define strtou64(str, endptr, base) ((uint64) strtoull(str, endptr, base)) #endif +/* + * Similarly, wrappers around labs()/llabs() matching our int64. + */ +#ifdef HAVE_LONG_INT_64 +#define i64abs(i) labs(i) +#else +#define i64abs(i) llabs(i) +#endif + /* * Use "extern PGDLLIMPORT ..." to declare variables that are defined * in the core backend and need to be accessible by loadable modules. @@ -1336,14 +1321,19 @@ extern unsigned long long strtoull(const char *str, char **endptr, int base); /* * Use "extern PGDLLEXPORT ..." to declare functions that are defined in - * loadable modules and need to be callable by the core backend. (Usually, - * this is not necessary because our build process automatically exports - * such symbols, but sometimes manual marking is required.) - * No special marking is required on most ports. + * loadable modules and need to be callable by the core backend or other + * loadable modules. + * If the compiler knows __attribute__((visibility("*"))), we use that, + * unless we already have a platform-specific definition. Otherwise, + * no special marking is required. */ #ifndef PGDLLEXPORT +#ifdef HAVE_VISIBILITY_ATTRIBUTE +#define PGDLLEXPORT __attribute__((visibility("default"))) +#else #define PGDLLEXPORT #endif +#endif /* * The following is used as the arg list for signal handlers. Any ports @@ -1376,13 +1366,6 @@ typedef intptr_t sigjmp_buf[5]; #endif /* __MINGW64__ */ #endif /* WIN32 */ -/* EXEC_BACKEND defines */ -#ifdef EXEC_BACKEND -#define NON_EXEC_STATIC -#else -#define NON_EXEC_STATIC static -#endif - /* /port compatibility functions */ #include "port.h" diff --git a/parser/include/catalog/catalog.h b/parser/include/postgres/catalog/catalog.h similarity index 79% rename from parser/include/catalog/catalog.h rename to parser/include/postgres/catalog/catalog.h index 60c12153..a8dd304b 100644 --- a/parser/include/catalog/catalog.h +++ b/parser/include/postgres/catalog/catalog.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/catalog.c * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/catalog.h @@ -21,11 +21,13 @@ extern bool IsSystemRelation(Relation relation); extern bool IsToastRelation(Relation relation); extern bool IsCatalogRelation(Relation relation); +extern bool IsInplaceUpdateRelation(Relation relation); extern bool IsSystemClass(Oid relid, Form_pg_class reltuple); extern bool IsToastClass(Form_pg_class reltuple); extern bool IsCatalogRelationOid(Oid relid); +extern bool IsInplaceUpdateOid(Oid relid); extern bool IsCatalogNamespace(Oid namespaceId); extern bool IsToastNamespace(Oid namespaceId); @@ -38,7 +40,8 @@ extern bool IsPinnedObject(Oid classId, Oid objectId); extern Oid GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn); -extern Oid GetNewRelFileNode(Oid reltablespace, Relation pg_class, - char relpersistence); +extern RelFileNumber GetNewRelFileNumber(Oid reltablespace, + Relation pg_class, + char relpersistence); #endif /* CATALOG_H */ diff --git a/parser/include/catalog/catversion.h b/parser/include/postgres/catalog/catversion.h similarity index 86% rename from parser/include/catalog/catversion.h rename to parser/include/postgres/catalog/catversion.h index c616a258..9b4442eb 100644 --- a/parser/include/catalog/catversion.h +++ b/parser/include/postgres/catalog/catversion.h @@ -32,9 +32,13 @@ * include/catalog is the most common kind of initdb-forcing change. * But it could be used to protect any kind of incompatible change in * database contents or layout, such as altering tuple headers. + * Another common reason for a catversion update is a change in parsetree + * external representation, since serialized parsetrees appear in stored + * rules and new-style SQL functions. Almost any change in primnodes.h or + * parsenodes.h will warrant a catversion update. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/catversion.h @@ -53,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202209061 +#define CATALOG_VERSION_NO 202406281 #endif diff --git a/parser/include/catalog/dependency.h b/parser/include/postgres/catalog/dependency.h similarity index 75% rename from parser/include/catalog/dependency.h rename to parser/include/postgres/catalog/dependency.h index 6684933d..6908ca71 100644 --- a/parser/include/catalog/dependency.h +++ b/parser/include/postgres/catalog/dependency.h @@ -4,7 +4,7 @@ * Routines to support inter-object dependencies. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/dependency.h @@ -36,7 +36,7 @@ typedef enum DependencyType DEPENDENCY_PARTITION_PRI = 'P', DEPENDENCY_PARTITION_SEC = 'S', DEPENDENCY_EXTENSION = 'e', - DEPENDENCY_AUTO_EXTENSION = 'x' + DEPENDENCY_AUTO_EXTENSION = 'x', } DependencyType; /* @@ -56,11 +56,17 @@ typedef enum DependencyType * created for the owner of an object; hence two objects may be linked by * one or the other, but not both, of these dependency types.) * - * (c) a SHARED_DEPENDENCY_POLICY entry means that the referenced object is + * (c) a SHARED_DEPENDENCY_INITACL entry means that the referenced object is + * a role mentioned in a pg_init_privs entry for the dependent object. + * The referenced object must be a pg_authid entry. (Unlike the case for + * SHARED_DEPENDENCY_ACL, we make an entry for such a role whether or not + * it is the object's owner.) + * + * (d) a SHARED_DEPENDENCY_POLICY entry means that the referenced object is * a role mentioned in a policy object. The referenced object must be a * pg_authid entry. * - * (d) a SHARED_DEPENDENCY_TABLESPACE entry means that the referenced + * (e) a SHARED_DEPENDENCY_TABLESPACE entry means that the referenced * object is a tablespace mentioned in a relation without storage. The * referenced object must be a pg_tablespace entry. (Relations that have * storage don't need this: they are protected by the existence of a physical @@ -73,64 +79,15 @@ typedef enum SharedDependencyType { SHARED_DEPENDENCY_OWNER = 'o', SHARED_DEPENDENCY_ACL = 'a', + SHARED_DEPENDENCY_INITACL = 'i', SHARED_DEPENDENCY_POLICY = 'r', SHARED_DEPENDENCY_TABLESPACE = 't', - SHARED_DEPENDENCY_INVALID = 0 + SHARED_DEPENDENCY_INVALID = 0, } SharedDependencyType; /* expansible list of ObjectAddresses (private in dependency.c) */ typedef struct ObjectAddresses ObjectAddresses; -/* - * This enum covers all system catalogs whose OIDs can appear in - * pg_depend.classId or pg_shdepend.classId. Keep object_classes[] in sync. - */ -typedef enum ObjectClass -{ - OCLASS_CLASS, /* pg_class */ - OCLASS_PROC, /* pg_proc */ - OCLASS_TYPE, /* pg_type */ - OCLASS_CAST, /* pg_cast */ - OCLASS_COLLATION, /* pg_collation */ - OCLASS_CONSTRAINT, /* pg_constraint */ - OCLASS_CONVERSION, /* pg_conversion */ - OCLASS_DEFAULT, /* pg_attrdef */ - OCLASS_LANGUAGE, /* pg_language */ - OCLASS_LARGEOBJECT, /* pg_largeobject */ - OCLASS_OPERATOR, /* pg_operator */ - OCLASS_OPCLASS, /* pg_opclass */ - OCLASS_OPFAMILY, /* pg_opfamily */ - OCLASS_AM, /* pg_am */ - OCLASS_AMOP, /* pg_amop */ - OCLASS_AMPROC, /* pg_amproc */ - OCLASS_REWRITE, /* pg_rewrite */ - OCLASS_TRIGGER, /* pg_trigger */ - OCLASS_SCHEMA, /* pg_namespace */ - OCLASS_STATISTIC_EXT, /* pg_statistic_ext */ - OCLASS_TSPARSER, /* pg_ts_parser */ - OCLASS_TSDICT, /* pg_ts_dict */ - OCLASS_TSTEMPLATE, /* pg_ts_template */ - OCLASS_TSCONFIG, /* pg_ts_config */ - OCLASS_ROLE, /* pg_authid */ - OCLASS_DATABASE, /* pg_database */ - OCLASS_TBLSPACE, /* pg_tablespace */ - OCLASS_FDW, /* pg_foreign_data_wrapper */ - OCLASS_FOREIGN_SERVER, /* pg_foreign_server */ - OCLASS_USER_MAPPING, /* pg_user_mapping */ - OCLASS_DEFACL, /* pg_default_acl */ - OCLASS_EXTENSION, /* pg_extension */ - OCLASS_EVENT_TRIGGER, /* pg_event_trigger */ - OCLASS_PARAMETER_ACL, /* pg_parameter_acl */ - OCLASS_POLICY, /* pg_policy */ - OCLASS_PUBLICATION, /* pg_publication */ - OCLASS_PUBLICATION_NAMESPACE, /* pg_publication_namespace */ - OCLASS_PUBLICATION_REL, /* pg_publication_rel */ - OCLASS_SUBSCRIPTION, /* pg_subscription */ - OCLASS_TRANSFORM /* pg_transform */ -} ObjectClass; - -#define LAST_OCLASS OCLASS_TRANSFORM - /* flag bits for performDeletion/performMultipleDeletions: */ #define PERFORM_DELETION_INTERNAL 0x0001 /* internal action */ #define PERFORM_DELETION_CONCURRENTLY 0x0002 /* concurrent drop */ @@ -163,8 +120,6 @@ extern void recordDependencyOnSingleRelExpr(const ObjectAddress *depender, DependencyType self_behavior, bool reverse_self); -extern ObjectClass getObjectClass(const ObjectAddress *object); - extern ObjectAddresses *new_object_addresses(void); extern void add_exact_object_address(const ObjectAddress *object, @@ -222,7 +177,7 @@ extern List *getAutoExtensionsOfObject(Oid classId, Oid objectId); extern bool sequenceIsOwned(Oid seqId, char deptype, Oid *tableId, int32 *colId); extern List *getOwnedSequences(Oid relid); -extern Oid getIdentitySequence(Oid relid, AttrNumber attnum, bool missing_ok); +extern Oid getIdentitySequence(Relation rel, AttrNumber attnum, bool missing_ok); extern Oid get_index_constraint(Oid indexId); @@ -248,11 +203,15 @@ extern void recordDependencyOnTablespace(Oid classId, Oid objectId, extern void changeDependencyOnTablespace(Oid classId, Oid objectId, Oid newTablespaceId); -extern void updateAclDependencies(Oid classId, Oid objectId, int32 objectSubId, +extern void updateAclDependencies(Oid classId, Oid objectId, int32 objsubId, Oid ownerId, int noldmembers, Oid *oldmembers, int nnewmembers, Oid *newmembers); +extern void updateInitAclDependencies(Oid classId, Oid objectId, int32 objsubId, + int noldmembers, Oid *oldmembers, + int nnewmembers, Oid *newmembers); + extern bool checkSharedDependencies(Oid classId, Oid objectId, char **detail_msg, char **detail_log_msg); @@ -262,8 +221,8 @@ extern void copyTemplateDependencies(Oid templateDbId, Oid newDbId); extern void dropDatabaseDependencies(Oid databaseId); -extern void shdepDropOwned(List *relids, DropBehavior behavior); +extern void shdepDropOwned(List *roleids, DropBehavior behavior); -extern void shdepReassignOwned(List *relids, Oid newrole); +extern void shdepReassignOwned(List *roleids, Oid newrole); #endif /* DEPENDENCY_H */ diff --git a/parser/include/catalog/genbki.h b/parser/include/postgres/catalog/genbki.h similarity index 86% rename from parser/include/catalog/genbki.h rename to parser/include/postgres/catalog/genbki.h index 992b7842..201c8c7e 100644 --- a/parser/include/catalog/genbki.h +++ b/parser/include/postgres/catalog/genbki.h @@ -9,7 +9,7 @@ * bootstrap file from these header files.) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/genbki.h @@ -71,18 +71,19 @@ * DECLARE_UNIQUE_INDEX_PKEY. ("PKEY" marks the index as being the catalog's * primary key; currently this is only cosmetically different from a regular * unique index. By convention, we usually make a catalog's OID column its - * pkey, if it has one.) The first two arguments are the index's name and - * OID, the rest is much like a standard 'create index' SQL command. + * pkey, if it has one.) * - * For each index, we also provide a #define for its OID. References to - * the index in the C code should always use these #defines, not the actual - * index name (much less the numeric OID). + * The first two arguments are the index's name and OID. The third argument + * is the name of a #define to generate for its OID. References to the index + * in the C code should always use these #defines, not the actual index name + * (much less the numeric OID). The fourth argument is the table name. The + * rest is much like a standard 'create index' SQL command. * * The macro definitions are just to keep the C compiler from spitting up. */ -#define DECLARE_INDEX(name,oid,oidmacro,decl) extern int no_such_variable -#define DECLARE_UNIQUE_INDEX(name,oid,oidmacro,decl) extern int no_such_variable -#define DECLARE_UNIQUE_INDEX_PKEY(name,oid,oidmacro,decl) extern int no_such_variable +#define DECLARE_INDEX(name,oid,oidmacro,tblname,decl) extern int no_such_variable +#define DECLARE_UNIQUE_INDEX(name,oid,oidmacro,tblname,decl) extern int no_such_variable +#define DECLARE_UNIQUE_INDEX_PKEY(name,oid,oidmacro,tblname,decl) extern int no_such_variable /* * These lines inform genbki.pl about manually-assigned OIDs that do not @@ -119,6 +120,12 @@ #define DECLARE_ARRAY_FOREIGN_KEY(cols,reftbl,refcols) extern int no_such_variable #define DECLARE_ARRAY_FOREIGN_KEY_OPT(cols,reftbl,refcols) extern int no_such_variable +/* + * Create a syscache with the given name, index, and bucket size. See + * syscache.c. + */ +#define MAKE_SYSCACHE(name,idxname,nbuckets) extern int no_such_variable + /* The following are never defined; they are here only for documentation. */ /* diff --git a/parser/include/postgres/catalog/gokeep.go b/parser/include/postgres/catalog/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/catalog/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/catalog/index.h b/parser/include/postgres/catalog/index.h similarity index 84% rename from parser/include/catalog/index.h rename to parser/include/postgres/catalog/index.h index a1d6e3b6..7d434f8e 100644 --- a/parser/include/catalog/index.h +++ b/parser/include/postgres/catalog/index.h @@ -4,7 +4,7 @@ * prototypes for catalog/index.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/index.h @@ -26,7 +26,7 @@ typedef enum INDEX_CREATE_SET_READY, INDEX_CREATE_SET_VALID, INDEX_DROP_CLEAR_VALID, - INDEX_DROP_SET_DEAD + INDEX_DROP_SET_DEAD, } IndexStateFlagsAction; /* options for REINDEX */ @@ -54,9 +54,9 @@ typedef struct ValidateIndexState } ValidateIndexState; extern void index_check_primary_key(Relation heapRel, - IndexInfo *indexInfo, + const IndexInfo *indexInfo, bool is_alter_table, - IndexStmt *stmt); + const IndexStmt *stmt); #define INDEX_CREATE_IS_PRIMARY (1 << 0) #define INDEX_CREATE_ADD_CONSTRAINT (1 << 1) @@ -71,14 +71,16 @@ extern Oid index_create(Relation heapRelation, Oid indexRelationId, Oid parentIndexRelid, Oid parentConstraintId, - Oid relFileNode, + RelFileNumber relFileNumber, IndexInfo *indexInfo, - List *indexColNames, - Oid accessMethodObjectId, + const List *indexColNames, + Oid accessMethodId, Oid tableSpaceId, - Oid *collationObjectId, - Oid *classObjectId, - int16 *coloptions, + const Oid *collationIds, + const Oid *opclassIds, + const Datum *opclassOptions, + const int16 *coloptions, + const NullableDatum *stattargets, Datum reloptions, bits16 flags, bits16 constr_flags, @@ -110,7 +112,7 @@ extern void index_concurrently_set_dead(Oid heapId, extern ObjectAddress index_constraint_create(Relation heapRelation, Oid indexRelationId, Oid parentConstraintId, - IndexInfo *indexInfo, + const IndexInfo *indexInfo, const char *constraintName, char constraintType, bits16 constr_flags, @@ -123,10 +125,10 @@ extern IndexInfo *BuildIndexInfo(Relation index); extern IndexInfo *BuildDummyIndexInfo(Relation index); -extern bool CompareIndexInfo(IndexInfo *info1, IndexInfo *info2, - Oid *collations1, Oid *collations2, - Oid *opfamilies1, Oid *opfamilies2, - AttrMap *attmap); +extern bool CompareIndexInfo(const IndexInfo *info1, const IndexInfo *info2, + const Oid *collations1, const Oid *collations2, + const Oid *opfamilies1, const Oid *opfamilies2, + const AttrMap *attmap); extern void BuildSpeculativeIndexInfo(Relation index, IndexInfo *ii); @@ -148,8 +150,9 @@ extern void index_set_state_flags(Oid indexId, IndexStateFlagsAction action); extern Oid IndexGetRelation(Oid indexId, bool missing_ok); -extern void reindex_index(Oid indexId, bool skip_constraint_checks, - char relpersistence, ReindexParams *params); +extern void reindex_index(const ReindexStmt *stmt, Oid indexId, + bool skip_constraint_checks, char persistence, + const ReindexParams *params); /* Flag bits for reindex_relation(): */ #define REINDEX_REL_PROCESS_TOAST 0x01 @@ -158,7 +161,8 @@ extern void reindex_index(Oid indexId, bool skip_constraint_checks, #define REINDEX_REL_FORCE_INDEXES_UNLOGGED 0x08 #define REINDEX_REL_FORCE_INDEXES_PERMANENT 0x10 -extern bool reindex_relation(Oid relid, int flags, ReindexParams *params); +extern bool reindex_relation(const ReindexStmt *stmt, Oid relid, int flags, + const ReindexParams *params); extern bool ReindexIsProcessingHeap(Oid heapOid); extern bool ReindexIsProcessingIndex(Oid indexOid); @@ -166,9 +170,9 @@ extern bool ReindexIsProcessingIndex(Oid indexOid); extern void ResetReindexState(int nestLevel); extern Size EstimateReindexStateSpace(void); extern void SerializeReindexState(Size maxsize, char *start_address); -extern void RestoreReindexState(void *reindexstate); +extern void RestoreReindexState(const void *reindexstate); -extern void IndexSetParentIndex(Relation idx, Oid parentOid); +extern void IndexSetParentIndex(Relation partitionIdx, Oid parentOid); /* diff --git a/parser/include/catalog/indexing.h b/parser/include/postgres/catalog/indexing.h similarity index 96% rename from parser/include/catalog/indexing.h rename to parser/include/postgres/catalog/indexing.h index 3fe769be..30b53500 100644 --- a/parser/include/catalog/indexing.h +++ b/parser/include/postgres/catalog/indexing.h @@ -5,7 +5,7 @@ * on system catalogs * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/indexing.h diff --git a/parser/include/catalog/namespace.h b/parser/include/postgres/catalog/namespace.h similarity index 85% rename from parser/include/catalog/namespace.h rename to parser/include/postgres/catalog/namespace.h index 1bc55c01..8d434d48 100644 --- a/parser/include/catalog/namespace.h +++ b/parser/include/postgres/catalog/namespace.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/namespace.c * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/namespace.h @@ -16,6 +16,7 @@ #include "nodes/primnodes.h" #include "storage/lock.h" +#include "storage/procnumber.h" /* @@ -45,23 +46,23 @@ typedef enum TempNamespaceStatus { TEMP_NAMESPACE_NOT_TEMP, /* nonexistent, or non-temp namespace */ TEMP_NAMESPACE_IDLE, /* exists, belongs to no active session */ - TEMP_NAMESPACE_IN_USE /* belongs to some active session */ + TEMP_NAMESPACE_IN_USE, /* belongs to some active session */ } TempNamespaceStatus; /* - * Structure for xxxOverrideSearchPath functions + * Structure for xxxSearchPathMatcher functions * * The generation counter is private to namespace.c and shouldn't be touched * by other code. It can be initialized to zero if necessary (that means * "not known equal to the current active path"). */ -typedef struct OverrideSearchPath +typedef struct SearchPathMatcher { List *schemas; /* OIDs of explicitly named schemas */ bool addCatalog; /* implicitly prepend pg_catalog? */ bool addTemp; /* implicitly prepend temp schema? */ uint64 generation; /* for quick detection of equality to active */ -} OverrideSearchPath; +} SearchPathMatcher; /* * Option flag bits for RangeVarGetRelidExtended(). @@ -70,8 +71,8 @@ typedef enum RVROption { RVR_MISSING_OK = 1 << 0, /* don't error if relation doesn't exist */ RVR_NOWAIT = 1 << 1, /* error if relation cannot be locked */ - RVR_SKIP_LOCKED = 1 << 2 /* skip if relation cannot be locked */ -} RVROption; + RVR_SKIP_LOCKED = 1 << 2, /* skip if relation cannot be locked */ +} RVROption; typedef void (*RangeVarGetRelidCallback) (const RangeVar *relation, Oid relId, Oid oldRelId, void *callback_arg); @@ -85,7 +86,7 @@ extern Oid RangeVarGetRelidExtended(const RangeVar *relation, RangeVarGetRelidCallback callback, void *callback_arg); extern Oid RangeVarGetCreationNamespace(const RangeVar *newRelation); -extern Oid RangeVarGetAndCheckCreationNamespace(RangeVar *newRelation, +extern Oid RangeVarGetAndCheckCreationNamespace(RangeVar *relation, LOCKMODE lockmode, Oid *existing_relation_id); extern void RangeVarAdjustRelationPersistence(RangeVar *newRelation, Oid nspid); @@ -122,7 +123,7 @@ extern Oid ConversionGetConid(const char *conname); extern bool ConversionIsVisible(Oid conid); extern Oid get_statistics_object_oid(List *names, bool missing_ok); -extern bool StatisticsObjIsVisible(Oid relid); +extern bool StatisticsObjIsVisible(Oid stxid); extern Oid get_ts_parser_oid(List *names, bool missing_ok); extern bool TSParserIsVisible(Oid prsId); @@ -136,7 +137,7 @@ extern bool TSTemplateIsVisible(Oid tmplId); extern Oid get_ts_config_oid(List *names, bool missing_ok); extern bool TSConfigIsVisible(Oid cfgid); -extern void DeconstructQualifiedName(List *names, +extern void DeconstructQualifiedName(const List *names, char **nspname_p, char **objname_p); extern Oid LookupNamespaceNoError(const char *nspname); @@ -145,10 +146,10 @@ extern Oid get_namespace_oid(const char *nspname, bool missing_ok); extern Oid LookupCreationNamespace(const char *nspname); extern void CheckSetNamespace(Oid oldNspOid, Oid nspOid); -extern Oid QualifiedNameGetCreationNamespace(List *names, char **objname_p); -extern RangeVar *makeRangeVarFromNameList(List *names); -extern char *NameListToString(List *names); -extern char *NameListToQuotedString(List *names); +extern Oid QualifiedNameGetCreationNamespace(const List *names, char **objname_p); +extern RangeVar *makeRangeVarFromNameList(const List *names); +extern char *NameListToString(const List *names); +extern char *NameListToQuotedString(const List *names); extern bool isTempNamespace(Oid namespaceId); extern bool isTempToastNamespace(Oid namespaceId); @@ -156,7 +157,7 @@ extern bool isTempOrTempToastNamespace(Oid namespaceId); extern bool isAnyTempNamespace(Oid namespaceId); extern bool isOtherTempNamespace(Oid namespaceId); extern TempNamespaceStatus checkTempNamespaceStatus(Oid namespaceId); -extern int GetTempNamespaceBackendId(Oid namespaceId); +extern ProcNumber GetTempNamespaceProcNumber(Oid namespaceId); extern Oid GetTempToastNamespace(void); extern void GetTempNamespaceState(Oid *tempNamespaceId, Oid *tempToastNamespaceId); @@ -164,11 +165,9 @@ extern void SetTempNamespaceState(Oid tempNamespaceId, Oid tempToastNamespaceId); extern void ResetTempTableNamespace(void); -extern OverrideSearchPath *GetOverrideSearchPath(MemoryContext context); -extern OverrideSearchPath *CopyOverrideSearchPath(OverrideSearchPath *path); -extern bool OverrideSearchPathMatchesCurrent(OverrideSearchPath *path); -extern void PushOverrideSearchPath(OverrideSearchPath *newpath); -extern void PopOverrideSearchPath(void); +extern SearchPathMatcher *GetSearchPathMatcher(MemoryContext context); +extern SearchPathMatcher *CopySearchPathMatcher(SearchPathMatcher *path); +extern bool SearchPathMatchesCurrentEnvironment(SearchPathMatcher *path); extern Oid get_collation_oid(List *collname, bool missing_ok); extern Oid get_conversion_oid(List *conname, bool missing_ok); diff --git a/parser/include/catalog/objectaccess.h b/parser/include/postgres/catalog/objectaccess.h similarity index 94% rename from parser/include/catalog/objectaccess.h rename to parser/include/postgres/catalog/objectaccess.h index 567ab63e..88387feb 100644 --- a/parser/include/catalog/objectaccess.h +++ b/parser/include/postgres/catalog/objectaccess.h @@ -3,7 +3,7 @@ * * Object access hooks. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California */ @@ -17,7 +17,9 @@ * * OAT_POST_CREATE should be invoked just after the object is created. * Typically, this is done after inserting the primary catalog records and - * associated dependencies. + * associated dependencies. The command counter may or may not be incremented + * at the time the hook is invoked; if not, the extension can use SnapshotSelf + * to get the new version of the tuple. * * OAT_DROP should be invoked just before deletion of objects; typically * deleteOneObject(). Its arguments are packed within ObjectAccessDrop. @@ -50,7 +52,7 @@ typedef enum ObjectAccessType OAT_POST_ALTER, OAT_NAMESPACE_SEARCH, OAT_FUNCTION_EXECUTE, - OAT_TRUNCATE + OAT_TRUNCATE, } ObjectAccessType; /* @@ -151,15 +153,15 @@ extern bool RunNamespaceSearchHook(Oid objectId, bool ereport_on_violation); extern void RunFunctionExecuteHook(Oid objectId); /* String versions */ -extern void RunObjectPostCreateHookStr(Oid classId, const char *objectStr, int subId, +extern void RunObjectPostCreateHookStr(Oid classId, const char *objectName, int subId, bool is_internal); -extern void RunObjectDropHookStr(Oid classId, const char *objectStr, int subId, +extern void RunObjectDropHookStr(Oid classId, const char *objectName, int subId, int dropflags); -extern void RunObjectTruncateHookStr(const char *objectStr); -extern void RunObjectPostAlterHookStr(Oid classId, const char *objectStr, int subId, +extern void RunObjectTruncateHookStr(const char *objectName); +extern void RunObjectPostAlterHookStr(Oid classId, const char *objectName, int subId, Oid auxiliaryId, bool is_internal); -extern bool RunNamespaceSearchHookStr(const char *objectStr, bool ereport_on_violation); -extern void RunFunctionExecuteHookStr(const char *objectStr); +extern bool RunNamespaceSearchHookStr(const char *objectName, bool ereport_on_violation); +extern void RunFunctionExecuteHookStr(const char *objectName); /* diff --git a/parser/include/catalog/objectaddress.h b/parser/include/postgres/catalog/objectaddress.h similarity index 89% rename from parser/include/catalog/objectaddress.h rename to parser/include/postgres/catalog/objectaddress.h index cf4d8b31..c4ba1cb2 100644 --- a/parser/include/catalog/objectaddress.h +++ b/parser/include/postgres/catalog/objectaddress.h @@ -3,7 +3,7 @@ * objectaddress.h * functions for working with object addresses * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/objectaddress.h @@ -69,6 +69,10 @@ extern bool get_object_namensp_unique(Oid class_id); extern HeapTuple get_catalog_object_by_oid(Relation catalog, AttrNumber oidcol, Oid objectId); +extern HeapTuple get_catalog_object_by_oid_extended(Relation catalog, + AttrNumber oidcol, + Oid objectId, + bool locktup); extern char *getObjectDescription(const ObjectAddress *object, bool missing_ok); @@ -77,9 +81,9 @@ extern char *getObjectDescriptionOids(Oid classid, Oid objid); extern int read_objtype_from_string(const char *objtype); extern char *getObjectTypeDescription(const ObjectAddress *object, bool missing_ok); -extern char *getObjectIdentity(const ObjectAddress *address, +extern char *getObjectIdentity(const ObjectAddress *object, bool missing_ok); -extern char *getObjectIdentityParts(const ObjectAddress *address, +extern char *getObjectIdentityParts(const ObjectAddress *object, List **objname, List **objargs, bool missing_ok); extern struct ArrayType *strlist_to_textarray(List *list); diff --git a/parser/include/catalog/pg_aggregate.h b/parser/include/postgres/catalog/pg_aggregate.h similarity index 97% rename from parser/include/catalog/pg_aggregate.h rename to parser/include/postgres/catalog/pg_aggregate.h index 593da9f7..490f6454 100644 --- a/parser/include/catalog/pg_aggregate.h +++ b/parser/include/postgres/catalog/pg_aggregate.h @@ -4,7 +4,7 @@ * definition of the "aggregate" system catalog (pg_aggregate) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_aggregate.h @@ -110,7 +110,9 @@ typedef FormData_pg_aggregate *Form_pg_aggregate; DECLARE_TOAST(pg_aggregate, 4159, 4160); -DECLARE_UNIQUE_INDEX_PKEY(pg_aggregate_fnoid_index, 2650, AggregateFnoidIndexId, on pg_aggregate using btree(aggfnoid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_aggregate_fnoid_index, 2650, AggregateFnoidIndexId, pg_aggregate, btree(aggfnoid oid_ops)); + +MAKE_SYSCACHE(AGGFNOID, pg_aggregate_fnoid_index, 16); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/catalog/pg_aggregate_d.h b/parser/include/postgres/catalog/pg_aggregate_d.h similarity index 97% rename from parser/include/catalog/pg_aggregate_d.h rename to parser/include/postgres/catalog/pg_aggregate_d.h index 1b82972a..c6ca1dce 100644 --- a/parser/include/catalog/pg_aggregate_d.h +++ b/parser/include/postgres/catalog/pg_aggregate_d.h @@ -3,7 +3,7 @@ * pg_aggregate_d.h * Macro definitions for pg_aggregate * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_am.h b/parser/include/postgres/catalog/pg_am.h similarity index 79% rename from parser/include/catalog/pg_am.h rename to parser/include/postgres/catalog/pg_am.h index 50a68fe4..475593fa 100644 --- a/parser/include/catalog/pg_am.h +++ b/parser/include/postgres/catalog/pg_am.h @@ -4,7 +4,7 @@ * definition of the "access method" system catalog (pg_am) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_am.h @@ -47,8 +47,11 @@ CATALOG(pg_am,2601,AccessMethodRelationId) */ typedef FormData_pg_am *Form_pg_am; -DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, AmNameIndexId, on pg_am using btree(amname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, AmOidIndexId, on pg_am using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_am_name_index, 2651, AmNameIndexId, pg_am, btree(amname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_am_oid_index, 2652, AmOidIndexId, pg_am, btree(oid oid_ops)); + +MAKE_SYSCACHE(AMNAME, pg_am_name_index, 4); +MAKE_SYSCACHE(AMOID, pg_am_oid_index, 4); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/catalog/pg_am_d.h b/parser/include/postgres/catalog/pg_am_d.h similarity index 94% rename from parser/include/catalog/pg_am_d.h rename to parser/include/postgres/catalog/pg_am_d.h index 0391b9c2..d0e5e24d 100644 --- a/parser/include/catalog/pg_am_d.h +++ b/parser/include/postgres/catalog/pg_am_d.h @@ -3,7 +3,7 @@ * pg_am_d.h * Macro definitions for pg_am * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_attribute.h b/parser/include/postgres/catalog/pg_attribute.h similarity index 84% rename from parser/include/catalog/pg_attribute.h rename to parser/include/postgres/catalog/pg_attribute.h index 053294c9..1c62b8bf 100644 --- a/parser/include/catalog/pg_attribute.h +++ b/parser/include/postgres/catalog/pg_attribute.h @@ -8,7 +8,7 @@ * relations need be included. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_attribute.h @@ -52,15 +52,6 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, */ Oid atttypid BKI_LOOKUP_OPT(pg_type); - /* - * attstattarget is the target number of statistics datapoints to collect - * during VACUUM ANALYZE of this column. A zero here indicates that we do - * not wish to collect any stats about this column. A "-1" here indicates - * that no value has been explicitly set for this column, so ANALYZE - * should use the default setting. - */ - int32 attstattarget BKI_DEFAULT(-1); - /* * attlen is a copy of the typlen field from pg_type for this attribute. * See atttypid comments above. @@ -82,12 +73,6 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, */ int16 attnum; - /* - * attndims is the declared number of dimensions, if an array type, - * otherwise zero. - */ - int32 attndims; - /* * fastgetattr() uses attcacheoff to cache byte offsets of attributes in * heap tuples. The value actually stored in pg_attribute (-1) indicates @@ -105,6 +90,12 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, */ int32 atttypmod BKI_DEFAULT(-1); + /* + * attndims is the declared number of dimensions, if an array type, + * otherwise zero. + */ + int16 attndims; + /* * attbyval is a copy of the typbyval field from pg_type for this * attribute. See atttypid comments above. @@ -165,14 +156,25 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, bool attislocal BKI_DEFAULT(t); /* Number of times inherited from direct parent relation(s) */ - int32 attinhcount BKI_DEFAULT(0); + int16 attinhcount BKI_DEFAULT(0); /* attribute's collation, if any */ Oid attcollation BKI_LOOKUP_OPT(pg_collation); -#ifdef CATALOG_VARLEN /* variable-length fields start here */ +#ifdef CATALOG_VARLEN /* variable-length/nullable fields start here */ /* NOTE: The following fields are not present in tuple descriptors. */ + /* + * attstattarget is the target number of statistics datapoints to collect + * during VACUUM ANALYZE of this column. A zero here indicates that we do + * not wish to collect any stats about this column. A null value here + * indicates that no value has been explicitly set for this column, so + * ANALYZE should use the default setting. + * + * int16 is sufficient for the current max value (MAX_STATISTICS_TARGET). + */ + int16 attstattarget BKI_DEFAULT(_null_) BKI_FORCE_NULL; + /* Column-level access permissions */ aclitem attacl[1] BKI_DEFAULT(_null_); @@ -206,8 +208,25 @@ CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75, */ typedef FormData_pg_attribute *Form_pg_attribute; -DECLARE_UNIQUE_INDEX(pg_attribute_relid_attnam_index, 2658, AttributeRelidNameIndexId, on pg_attribute using btree(attrelid oid_ops, attname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_attribute_relid_attnum_index, 2659, AttributeRelidNumIndexId, on pg_attribute using btree(attrelid oid_ops, attnum int2_ops)); +/* + * FormExtraData_pg_attribute contains (some of) the fields that are not in + * FormData_pg_attribute because they are excluded by CATALOG_VARLEN. It is + * meant to be used by DDL code so that the combination of + * FormData_pg_attribute (often via tuple descriptor) and + * FormExtraData_pg_attribute can be used to pass around all the information + * about an attribute. Fields can be included here as needed. + */ +typedef struct FormExtraData_pg_attribute +{ + NullableDatum attstattarget; + NullableDatum attoptions; +} FormExtraData_pg_attribute; + +DECLARE_UNIQUE_INDEX(pg_attribute_relid_attnam_index, 2658, AttributeRelidNameIndexId, pg_attribute, btree(attrelid oid_ops, attname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_attribute_relid_attnum_index, 2659, AttributeRelidNumIndexId, pg_attribute, btree(attrelid oid_ops, attnum int2_ops)); + +MAKE_SYSCACHE(ATTNAME, pg_attribute_relid_attnam_index, 32); +MAKE_SYSCACHE(ATTNUM, pg_attribute_relid_attnum_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/catalog/pg_attribute_d.h b/parser/include/postgres/catalog/pg_attribute_d.h similarity index 58% rename from parser/include/catalog/pg_attribute_d.h rename to parser/include/postgres/catalog/pg_attribute_d.h index 01656dd1..b2282458 100644 --- a/parser/include/catalog/pg_attribute_d.h +++ b/parser/include/postgres/catalog/pg_attribute_d.h @@ -3,7 +3,7 @@ * pg_attribute_d.h * Macro definitions for pg_attribute * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -26,25 +26,25 @@ #define Anum_pg_attribute_attrelid 1 #define Anum_pg_attribute_attname 2 #define Anum_pg_attribute_atttypid 3 -#define Anum_pg_attribute_attstattarget 4 -#define Anum_pg_attribute_attlen 5 -#define Anum_pg_attribute_attnum 6 -#define Anum_pg_attribute_attndims 7 -#define Anum_pg_attribute_attcacheoff 8 -#define Anum_pg_attribute_atttypmod 9 -#define Anum_pg_attribute_attbyval 10 -#define Anum_pg_attribute_attalign 11 -#define Anum_pg_attribute_attstorage 12 -#define Anum_pg_attribute_attcompression 13 -#define Anum_pg_attribute_attnotnull 14 -#define Anum_pg_attribute_atthasdef 15 -#define Anum_pg_attribute_atthasmissing 16 -#define Anum_pg_attribute_attidentity 17 -#define Anum_pg_attribute_attgenerated 18 -#define Anum_pg_attribute_attisdropped 19 -#define Anum_pg_attribute_attislocal 20 -#define Anum_pg_attribute_attinhcount 21 -#define Anum_pg_attribute_attcollation 22 +#define Anum_pg_attribute_attlen 4 +#define Anum_pg_attribute_attnum 5 +#define Anum_pg_attribute_attcacheoff 6 +#define Anum_pg_attribute_atttypmod 7 +#define Anum_pg_attribute_attndims 8 +#define Anum_pg_attribute_attbyval 9 +#define Anum_pg_attribute_attalign 10 +#define Anum_pg_attribute_attstorage 11 +#define Anum_pg_attribute_attcompression 12 +#define Anum_pg_attribute_attnotnull 13 +#define Anum_pg_attribute_atthasdef 14 +#define Anum_pg_attribute_atthasmissing 15 +#define Anum_pg_attribute_attidentity 16 +#define Anum_pg_attribute_attgenerated 17 +#define Anum_pg_attribute_attisdropped 18 +#define Anum_pg_attribute_attislocal 19 +#define Anum_pg_attribute_attinhcount 20 +#define Anum_pg_attribute_attcollation 21 +#define Anum_pg_attribute_attstattarget 22 #define Anum_pg_attribute_attacl 23 #define Anum_pg_attribute_attoptions 24 #define Anum_pg_attribute_attfdwoptions 25 diff --git a/parser/include/catalog/pg_authid.h b/parser/include/postgres/catalog/pg_authid.h similarity index 89% rename from parser/include/catalog/pg_authid.h rename to parser/include/postgres/catalog/pg_authid.h index 3512601c..e08863f7 100644 --- a/parser/include/catalog/pg_authid.h +++ b/parser/include/postgres/catalog/pg_authid.h @@ -6,7 +6,7 @@ * pg_shadow and pg_group are now publicly accessible views on pg_authid. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_authid.h @@ -57,7 +57,10 @@ typedef FormData_pg_authid *Form_pg_authid; DECLARE_TOAST_WITH_MACRO(pg_authid, 4175, 4176, PgAuthidToastTable, PgAuthidToastIndex); -DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, on pg_authid using btree(rolname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, on pg_authid using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, pg_authid, btree(rolname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, pg_authid, btree(oid oid_ops)); + +MAKE_SYSCACHE(AUTHNAME, pg_authid_rolname_index, 8); +MAKE_SYSCACHE(AUTHOID, pg_authid_oid_index, 8); #endif /* PG_AUTHID_H */ diff --git a/parser/include/catalog/pg_authid_d.h b/parser/include/postgres/catalog/pg_authid_d.h similarity index 90% rename from parser/include/catalog/pg_authid_d.h rename to parser/include/postgres/catalog/pg_authid_d.h index 19325e4c..4e1da124 100644 --- a/parser/include/catalog/pg_authid_d.h +++ b/parser/include/postgres/catalog/pg_authid_d.h @@ -3,7 +3,7 @@ * pg_authid_d.h * Macro definitions for pg_authid * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -53,5 +53,8 @@ #define ROLE_PG_EXECUTE_SERVER_PROGRAM 4571 #define ROLE_PG_SIGNAL_BACKEND 4200 #define ROLE_PG_CHECKPOINT 4544 +#define ROLE_PG_MAINTAIN 6337 +#define ROLE_PG_USE_RESERVED_CONNECTIONS 4550 +#define ROLE_PG_CREATE_SUBSCRIPTION 6304 #endif /* PG_AUTHID_D_H */ diff --git a/parser/include/catalog/pg_class.h b/parser/include/postgres/catalog/pg_class.h similarity index 92% rename from parser/include/catalog/pg_class.h rename to parser/include/postgres/catalog/pg_class.h index e1f4eefa..0fc2c093 100644 --- a/parser/include/catalog/pg_class.h +++ b/parser/include/postgres/catalog/pg_class.h @@ -4,7 +4,7 @@ * definition of the "relation" system catalog (pg_class) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_class.h @@ -152,9 +152,12 @@ CATALOG(pg_class,1259,RelationRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(83,Relat */ typedef FormData_pg_class *Form_pg_class; -DECLARE_UNIQUE_INDEX_PKEY(pg_class_oid_index, 2662, ClassOidIndexId, on pg_class using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_class_relname_nsp_index, 2663, ClassNameNspIndexId, on pg_class using btree(relname name_ops, relnamespace oid_ops)); -DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeIndexId, on pg_class using btree(reltablespace oid_ops, relfilenode oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_class_oid_index, 2662, ClassOidIndexId, pg_class, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_class_relname_nsp_index, 2663, ClassNameNspIndexId, pg_class, btree(relname name_ops, relnamespace oid_ops)); +DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeIndexId, pg_class, btree(reltablespace oid_ops, relfilenode oid_ops)); + +MAKE_SYSCACHE(RELOID, pg_class_oid_index, 128); +MAKE_SYSCACHE(RELNAMENSP, pg_class_relname_nsp_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE @@ -216,7 +219,9 @@ DECLARE_INDEX(pg_class_tblspc_relfilenode_index, 3455, ClassTblspcRelfilenodeInd /* * Relation kinds with a table access method (rd_tableam). Although sequences * use the heap table AM, they are enough of a special case in most uses that - * they are not included here. + * they are not included here. Likewise, partitioned tables can have an access + * method defined so that their partitions can inherit it, but they do not set + * rd_tableam; hence, this is handled specially outside of this macro. */ #define RELKIND_HAS_TABLE_AM(relkind) \ ((relkind) == RELKIND_RELATION || \ diff --git a/parser/include/catalog/pg_class_d.h b/parser/include/postgres/catalog/pg_class_d.h similarity index 94% rename from parser/include/catalog/pg_class_d.h rename to parser/include/postgres/catalog/pg_class_d.h index e4cb9940..fc850451 100644 --- a/parser/include/catalog/pg_class_d.h +++ b/parser/include/postgres/catalog/pg_class_d.h @@ -3,7 +3,7 @@ * pg_class_d.h * Macro definitions for pg_class * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -119,7 +119,9 @@ /* * Relation kinds with a table access method (rd_tableam). Although sequences * use the heap table AM, they are enough of a special case in most uses that - * they are not included here. + * they are not included here. Likewise, partitioned tables can have an access + * method defined so that their partitions can inherit it, but they do not set + * rd_tableam; hence, this is handled specially outside of this macro. */ #define RELKIND_HAS_TABLE_AM(relkind) \ ((relkind) == RELKIND_RELATION || \ diff --git a/parser/include/catalog/pg_collation.h b/parser/include/postgres/catalog/pg_collation.h similarity index 81% rename from parser/include/catalog/pg_collation.h rename to parser/include/postgres/catalog/pg_collation.h index 2190ccb5..5ce289d7 100644 --- a/parser/include/catalog/pg_collation.h +++ b/parser/include/postgres/catalog/pg_collation.h @@ -4,7 +4,7 @@ * definition of the "collation" system catalog (pg_collation) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_collation.h @@ -42,7 +42,8 @@ CATALOG(pg_collation,3456,CollationRelationId) #ifdef CATALOG_VARLEN /* variable-length fields start here */ text collcollate BKI_DEFAULT(_null_); /* LC_COLLATE setting */ text collctype BKI_DEFAULT(_null_); /* LC_CTYPE setting */ - text colliculocale BKI_DEFAULT(_null_); /* ICU locale ID */ + text colllocale BKI_DEFAULT(_null_); /* locale ID */ + text collicurules BKI_DEFAULT(_null_); /* ICU collation rules */ text collversion BKI_DEFAULT(_null_); /* provider-dependent * version of collation * data */ @@ -58,12 +59,16 @@ typedef FormData_pg_collation *Form_pg_collation; DECLARE_TOAST(pg_collation, 6175, 6176); -DECLARE_UNIQUE_INDEX(pg_collation_name_enc_nsp_index, 3164, CollationNameEncNspIndexId, on pg_collation using btree(collname name_ops, collencoding int4_ops, collnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_collation_oid_index, 3085, CollationOidIndexId, on pg_collation using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_collation_name_enc_nsp_index, 3164, CollationNameEncNspIndexId, pg_collation, btree(collname name_ops, collencoding int4_ops, collnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_collation_oid_index, 3085, CollationOidIndexId, pg_collation, btree(oid oid_ops)); + +MAKE_SYSCACHE(COLLNAMEENCNSP, pg_collation_name_enc_nsp_index, 8); +MAKE_SYSCACHE(COLLOID, pg_collation_oid_index, 8); #ifdef EXPOSE_TO_CLIENT_CODE #define COLLPROVIDER_DEFAULT 'd' +#define COLLPROVIDER_BUILTIN 'b' #define COLLPROVIDER_ICU 'i' #define COLLPROVIDER_LIBC 'c' @@ -72,6 +77,8 @@ collprovider_name(char c) { switch (c) { + case COLLPROVIDER_BUILTIN: + return "builtin"; case COLLPROVIDER_ICU: return "icu"; case COLLPROVIDER_LIBC: @@ -90,7 +97,8 @@ extern Oid CollationCreate(const char *collname, Oid collnamespace, bool collisdeterministic, int32 collencoding, const char *collcollate, const char *collctype, - const char *colliculocale, + const char *colllocale, + const char *collicurules, const char *collversion, bool if_not_exists, bool quiet); diff --git a/parser/include/catalog/pg_collation_d.h b/parser/include/postgres/catalog/pg_collation_d.h similarity index 82% rename from parser/include/catalog/pg_collation_d.h rename to parser/include/postgres/catalog/pg_collation_d.h index c257e327..1e19f8f2 100644 --- a/parser/include/catalog/pg_collation_d.h +++ b/parser/include/postgres/catalog/pg_collation_d.h @@ -3,7 +3,7 @@ * pg_collation_d.h * Macro definitions for pg_collation * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -31,13 +31,15 @@ #define Anum_pg_collation_collencoding 7 #define Anum_pg_collation_collcollate 8 #define Anum_pg_collation_collctype 9 -#define Anum_pg_collation_colliculocale 10 -#define Anum_pg_collation_collversion 11 +#define Anum_pg_collation_colllocale 10 +#define Anum_pg_collation_collicurules 11 +#define Anum_pg_collation_collversion 12 -#define Natts_pg_collation 11 +#define Natts_pg_collation 12 #define COLLPROVIDER_DEFAULT 'd' +#define COLLPROVIDER_BUILTIN 'b' #define COLLPROVIDER_ICU 'i' #define COLLPROVIDER_LIBC 'c' @@ -46,6 +48,8 @@ collprovider_name(char c) { switch (c) { + case COLLPROVIDER_BUILTIN: + return "builtin"; case COLLPROVIDER_ICU: return "icu"; case COLLPROVIDER_LIBC: diff --git a/parser/include/catalog/pg_constraint.h b/parser/include/postgres/catalog/pg_constraint.h similarity index 93% rename from parser/include/catalog/pg_constraint.h rename to parser/include/postgres/catalog/pg_constraint.h index e7d967f1..7a8017f1 100644 --- a/parser/include/catalog/pg_constraint.h +++ b/parser/include/postgres/catalog/pg_constraint.h @@ -4,7 +4,7 @@ * definition of the "constraint" system catalog (pg_constraint) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_constraint.h @@ -102,7 +102,7 @@ CATALOG(pg_constraint,2606,ConstraintRelationId) bool conislocal; /* Number of times inherited from direct parent relation(s) */ - int32 coninhcount; + int16 coninhcount; /* Has a local definition and cannot be inherited */ bool connoinherit; @@ -166,11 +166,13 @@ typedef FormData_pg_constraint *Form_pg_constraint; DECLARE_TOAST(pg_constraint, 2832, 2833); -DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, on pg_constraint using btree(conname name_ops, connamespace oid_ops)); -DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, on pg_constraint using btree(conrelid oid_ops, contypid oid_ops, conname name_ops)); -DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, on pg_constraint using btree(contypid oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, on pg_constraint using btree(oid oid_ops)); -DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, on pg_constraint using btree(conparentid oid_ops)); +DECLARE_INDEX(pg_constraint_conname_nsp_index, 2664, ConstraintNameNspIndexId, pg_constraint, btree(conname name_ops, connamespace oid_ops)); +DECLARE_UNIQUE_INDEX(pg_constraint_conrelid_contypid_conname_index, 2665, ConstraintRelidTypidNameIndexId, pg_constraint, btree(conrelid oid_ops, contypid oid_ops, conname name_ops)); +DECLARE_INDEX(pg_constraint_contypid_index, 2666, ConstraintTypidIndexId, pg_constraint, btree(contypid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_constraint_oid_index, 2667, ConstraintOidIndexId, pg_constraint, btree(oid oid_ops)); +DECLARE_INDEX(pg_constraint_conparentid_index, 2579, ConstraintParentIndexId, pg_constraint, btree(conparentid oid_ops)); + +MAKE_SYSCACHE(CONSTROID, pg_constraint_oid_index, 16); /* conkey can contain zero (InvalidAttrNumber) if a whole-row Var is used */ DECLARE_ARRAY_FOREIGN_KEY_OPT((conrelid, conkey), pg_attribute, (attrelid, attnum)); @@ -181,6 +183,7 @@ DECLARE_ARRAY_FOREIGN_KEY((confrelid, confkey), pg_attribute, (attrelid, attnum) /* Valid values for contype */ #define CONSTRAINT_CHECK 'c' #define CONSTRAINT_FOREIGN 'f' +#define CONSTRAINT_NOTNULL 'n' #define CONSTRAINT_PRIMARY 'p' #define CONSTRAINT_UNIQUE 'u' #define CONSTRAINT_TRIGGER 't' @@ -201,7 +204,7 @@ typedef enum ConstraintCategory { CONSTRAINT_RELATION, CONSTRAINT_DOMAIN, - CONSTRAINT_ASSERTION /* for future expansion */ + CONSTRAINT_ASSERTION, /* for future expansion */ } ConstraintCategory; @@ -237,9 +240,6 @@ extern Oid CreateConstraintEntry(const char *constraintName, bool conNoInherit, bool is_internal); -extern void RemoveConstraintById(Oid conId); -extern void RenameConstraintById(Oid conId, const char *newname); - extern bool ConstraintNameIsUsed(ConstraintCategory conCat, Oid objId, const char *conname); extern bool ConstraintNameExists(const char *conname, Oid namespaceid); @@ -247,6 +247,11 @@ extern char *ChooseConstraintName(const char *name1, const char *name2, const char *label, Oid namespaceid, List *others); +extern HeapTuple findDomainNotNullConstraint(Oid typid); + +extern void RemoveConstraintById(Oid conId); +extern void RenameConstraintById(Oid conId, const char *newname); + extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, Oid newNspId, bool isType, ObjectAddresses *objsMoved); extern void ConstraintSetParentConstraint(Oid childConstrId, diff --git a/parser/include/catalog/pg_constraint_d.h b/parser/include/postgres/catalog/pg_constraint_d.h similarity index 96% rename from parser/include/catalog/pg_constraint_d.h rename to parser/include/postgres/catalog/pg_constraint_d.h index 307c3315..dd91d4e3 100644 --- a/parser/include/catalog/pg_constraint_d.h +++ b/parser/include/postgres/catalog/pg_constraint_d.h @@ -3,7 +3,7 @@ * pg_constraint_d.h * Macro definitions for pg_constraint * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -58,6 +58,7 @@ /* Valid values for contype */ #define CONSTRAINT_CHECK 'c' #define CONSTRAINT_FOREIGN 'f' +#define CONSTRAINT_NOTNULL 'n' #define CONSTRAINT_PRIMARY 'p' #define CONSTRAINT_UNIQUE 'u' #define CONSTRAINT_TRIGGER 't' diff --git a/parser/include/catalog/pg_control.h b/parser/include/postgres/catalog/pg_control.h similarity index 94% rename from parser/include/catalog/pg_control.h rename to parser/include/postgres/catalog/pg_control.h index 06368e23..e80ff8e4 100644 --- a/parser/include/catalog/pg_control.h +++ b/parser/include/postgres/catalog/pg_control.h @@ -5,7 +5,7 @@ * However, we define it here so that the format is documented. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_control.h @@ -22,7 +22,7 @@ /* Version identifier for this pg_control format */ -#define PG_CONTROL_VERSION 1300 +#define PG_CONTROL_VERSION 1700 /* Nonce key length, see below */ #define MOCK_AUTH_NONCE_LEN 32 @@ -40,6 +40,7 @@ typedef struct CheckPoint TimeLineID PrevTimeLineID; /* previous TLI, if this record begins a new * timeline (equals ThisTimeLineID otherwise) */ bool fullPageWrites; /* current full_page_writes */ + int wal_level; /* current wal_level */ FullTransactionId nextXid; /* next free transaction ID */ Oid nextOid; /* next free OID */ MultiXactId nextMulti; /* next free MultiXactId */ @@ -78,6 +79,7 @@ typedef struct CheckPoint #define XLOG_FPI 0xB0 /* 0xC0 is used in Postgres 9.5-11 */ #define XLOG_OVERWRITE_CONTRECORD 0xD0 +#define XLOG_CHECKPOINT_REDO 0xE0 /* @@ -92,7 +94,7 @@ typedef enum DBState DB_SHUTDOWNING, DB_IN_CRASH_RECOVERY, DB_IN_ARCHIVE_RECOVERY, - DB_IN_PRODUCTION + DB_IN_PRODUCTION, } DBState; /* @@ -247,4 +249,12 @@ typedef struct ControlFileData */ #define PG_CONTROL_FILE_SIZE 8192 +/* + * Ensure that the size of the pg_control data structure is sane. + */ +StaticAssertDecl(sizeof(ControlFileData) <= PG_CONTROL_MAX_SAFE_SIZE, + "pg_control is too large for atomic disk writes"); +StaticAssertDecl(sizeof(ControlFileData) <= PG_CONTROL_FILE_SIZE, + "sizeof(ControlFileData) exceeds PG_CONTROL_FILE_SIZE"); + #endif /* PG_CONTROL_H */ diff --git a/parser/include/catalog/pg_conversion.h b/parser/include/postgres/catalog/pg_conversion.h similarity index 78% rename from parser/include/catalog/pg_conversion.h rename to parser/include/postgres/catalog/pg_conversion.h index fb26123a..d94f0229 100644 --- a/parser/include/catalog/pg_conversion.h +++ b/parser/include/postgres/catalog/pg_conversion.h @@ -3,7 +3,7 @@ * pg_conversion.h * definition of the "conversion" system catalog (pg_conversion) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_conversion.h @@ -60,16 +60,20 @@ CATALOG(pg_conversion,2607,ConversionRelationId) */ typedef FormData_pg_conversion *Form_pg_conversion; -DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, on pg_conversion using btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, on pg_conversion using btree(conname name_ops, connamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, on pg_conversion using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_conversion_default_index, 2668, ConversionDefaultIndexId, pg_conversion, btree(connamespace oid_ops, conforencoding int4_ops, contoencoding int4_ops, oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_conversion_name_nsp_index, 2669, ConversionNameNspIndexId, pg_conversion, btree(conname name_ops, connamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_conversion_oid_index, 2670, ConversionOidIndexId, pg_conversion, btree(oid oid_ops)); + +MAKE_SYSCACHE(CONDEFAULT, pg_conversion_default_index, 8); +MAKE_SYSCACHE(CONNAMENSP, pg_conversion_name_nsp_index, 8); +MAKE_SYSCACHE(CONVOID, pg_conversion_oid_index, 8); extern ObjectAddress ConversionCreate(const char *conname, Oid connamespace, Oid conowner, int32 conforencoding, int32 contoencoding, Oid conproc, bool def); -extern Oid FindDefaultConversion(Oid connamespace, int32 for_encoding, +extern Oid FindDefaultConversion(Oid name_space, int32 for_encoding, int32 to_encoding); #endif /* PG_CONVERSION_H */ diff --git a/parser/include/catalog/pg_conversion_d.h b/parser/include/postgres/catalog/pg_conversion_d.h similarity index 94% rename from parser/include/catalog/pg_conversion_d.h rename to parser/include/postgres/catalog/pg_conversion_d.h index 33e4bb48..b106c743 100644 --- a/parser/include/catalog/pg_conversion_d.h +++ b/parser/include/postgres/catalog/pg_conversion_d.h @@ -3,7 +3,7 @@ * pg_conversion_d.h * Macro definitions for pg_conversion * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/postgres/catalog/pg_database.h b/parser/include/postgres/catalog/pg_database.h new file mode 100644 index 00000000..dbd4379f --- /dev/null +++ b/parser/include/postgres/catalog/pg_database.h @@ -0,0 +1,129 @@ +/*------------------------------------------------------------------------- + * + * pg_database.h + * definition of the "database" system catalog (pg_database) + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/catalog/pg_database.h + * + * NOTES + * The Catalog.pm module reads this file and derives schema + * information. + * + *------------------------------------------------------------------------- + */ +#ifndef PG_DATABASE_H +#define PG_DATABASE_H + +#include "catalog/genbki.h" +#include "catalog/pg_database_d.h" + +/* ---------------- + * pg_database definition. cpp turns this into + * typedef struct FormData_pg_database + * ---------------- + */ +CATALOG(pg_database,1262,DatabaseRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(1248,DatabaseRelation_Rowtype_Id) BKI_SCHEMA_MACRO +{ + /* oid */ + Oid oid; + + /* database name */ + NameData datname; + + /* owner of database */ + Oid datdba BKI_DEFAULT(POSTGRES) BKI_LOOKUP(pg_authid); + + /* character encoding */ + int32 encoding; + + /* locale provider, see pg_collation.collprovider */ + char datlocprovider; + + /* allowed as CREATE DATABASE template? */ + bool datistemplate; + + /* new connections allowed? */ + bool datallowconn; + + /* database has login event triggers? */ + bool dathasloginevt; + + /* + * Max connections allowed. Negative values have special meaning, see + * DATCONNLIMIT_* defines below. + */ + int32 datconnlimit; + + /* all Xids < this are frozen in this DB */ + TransactionId datfrozenxid; + + /* all multixacts in the DB are >= this */ + TransactionId datminmxid; + + /* default table space for this DB */ + Oid dattablespace BKI_LOOKUP(pg_tablespace); + +#ifdef CATALOG_VARLEN /* variable-length fields start here */ + /* LC_COLLATE setting */ + text datcollate BKI_FORCE_NOT_NULL; + + /* LC_CTYPE setting */ + text datctype BKI_FORCE_NOT_NULL; + + /* ICU locale ID */ + text datlocale; + + /* ICU collation rules */ + text daticurules; + + /* provider-dependent version of collation data */ + text datcollversion BKI_DEFAULT(_null_); + + /* access permissions */ + aclitem datacl[1]; +#endif +} FormData_pg_database; + +/* ---------------- + * Form_pg_database corresponds to a pointer to a tuple with + * the format of pg_database relation. + * ---------------- + */ +typedef FormData_pg_database *Form_pg_database; + +DECLARE_TOAST_WITH_MACRO(pg_database, 4177, 4178, PgDatabaseToastTable, PgDatabaseToastIndex); + +DECLARE_UNIQUE_INDEX(pg_database_datname_index, 2671, DatabaseNameIndexId, pg_database, btree(datname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_database_oid_index, 2672, DatabaseOidIndexId, pg_database, btree(oid oid_ops)); + +MAKE_SYSCACHE(DATABASEOID, pg_database_oid_index, 4); + +/* + * pg_database.dat contains an entry for template1, but not for the template0 + * or postgres databases, because those are created later in initdb. + * However, we still want to manually assign the OIDs for template0 and + * postgres, so declare those here. + */ +DECLARE_OID_DEFINING_MACRO(Template0DbOid, 4); +DECLARE_OID_DEFINING_MACRO(PostgresDbOid, 5); + +/* + * Special values for pg_database.datconnlimit. Normal values are >= 0. + */ +#define DATCONNLIMIT_UNLIMITED -1 /* no limit */ + +/* + * A database is set to invalid partway through being dropped. Using + * datconnlimit=-2 for this purpose isn't particularly clean, but is + * backpatchable. + */ +#define DATCONNLIMIT_INVALID_DB -2 + +extern bool database_is_invalid_form(Form_pg_database datform); +extern bool database_is_invalid_oid(Oid dboid); + +#endif /* PG_DATABASE_H */ diff --git a/parser/include/postgres/catalog/pg_database_d.h b/parser/include/postgres/catalog/pg_database_d.h new file mode 100644 index 00000000..553263ff --- /dev/null +++ b/parser/include/postgres/catalog/pg_database_d.h @@ -0,0 +1,53 @@ +/*------------------------------------------------------------------------- + * + * pg_database_d.h + * Macro definitions for pg_database + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/catalog/genbki.pl + * + *------------------------------------------------------------------------- + */ +#ifndef PG_DATABASE_D_H +#define PG_DATABASE_D_H + +#define DatabaseRelationId 1262 +#define DatabaseRelation_Rowtype_Id 1248 +#define PgDatabaseToastTable 4177 +#define PgDatabaseToastIndex 4178 +#define DatabaseNameIndexId 2671 +#define DatabaseOidIndexId 2672 +#define Template0DbOid 4 +#define PostgresDbOid 5 + +#define Anum_pg_database_oid 1 +#define Anum_pg_database_datname 2 +#define Anum_pg_database_datdba 3 +#define Anum_pg_database_encoding 4 +#define Anum_pg_database_datlocprovider 5 +#define Anum_pg_database_datistemplate 6 +#define Anum_pg_database_datallowconn 7 +#define Anum_pg_database_dathasloginevt 8 +#define Anum_pg_database_datconnlimit 9 +#define Anum_pg_database_datfrozenxid 10 +#define Anum_pg_database_datminmxid 11 +#define Anum_pg_database_dattablespace 12 +#define Anum_pg_database_datcollate 13 +#define Anum_pg_database_datctype 14 +#define Anum_pg_database_datlocale 15 +#define Anum_pg_database_daticurules 16 +#define Anum_pg_database_datcollversion 17 +#define Anum_pg_database_datacl 18 + +#define Natts_pg_database 18 + +#define Template1DbOid 1 + +#endif /* PG_DATABASE_D_H */ diff --git a/parser/include/catalog/pg_depend.h b/parser/include/postgres/catalog/pg_depend.h similarity index 91% rename from parser/include/catalog/pg_depend.h rename to parser/include/postgres/catalog/pg_depend.h index 2f736ecd..eb1ee43b 100644 --- a/parser/include/catalog/pg_depend.h +++ b/parser/include/postgres/catalog/pg_depend.h @@ -17,7 +17,7 @@ * convenient to find from the contents of other catalogs. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_depend.h @@ -71,7 +71,7 @@ CATALOG(pg_depend,2608,DependRelationId) */ typedef FormData_pg_depend *Form_pg_depend; -DECLARE_INDEX(pg_depend_depender_index, 2673, DependDependerIndexId, on pg_depend using btree(classid oid_ops, objid oid_ops, objsubid int4_ops)); -DECLARE_INDEX(pg_depend_reference_index, 2674, DependReferenceIndexId, on pg_depend using btree(refclassid oid_ops, refobjid oid_ops, refobjsubid int4_ops)); +DECLARE_INDEX(pg_depend_depender_index, 2673, DependDependerIndexId, pg_depend, btree(classid oid_ops, objid oid_ops, objsubid int4_ops)); +DECLARE_INDEX(pg_depend_reference_index, 2674, DependReferenceIndexId, pg_depend, btree(refclassid oid_ops, refobjid oid_ops, refobjsubid int4_ops)); #endif /* PG_DEPEND_H */ diff --git a/parser/include/catalog/pg_depend_d.h b/parser/include/postgres/catalog/pg_depend_d.h similarity index 93% rename from parser/include/catalog/pg_depend_d.h rename to parser/include/postgres/catalog/pg_depend_d.h index 812e19a3..18d3cb3a 100644 --- a/parser/include/catalog/pg_depend_d.h +++ b/parser/include/postgres/catalog/pg_depend_d.h @@ -3,7 +3,7 @@ * pg_depend_d.h * Macro definitions for pg_depend * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_event_trigger.h b/parser/include/postgres/catalog/pg_event_trigger.h similarity index 84% rename from parser/include/catalog/pg_event_trigger.h rename to parser/include/postgres/catalog/pg_event_trigger.h index 3fe0e8db..9170a4dd 100644 --- a/parser/include/catalog/pg_event_trigger.h +++ b/parser/include/postgres/catalog/pg_event_trigger.h @@ -4,7 +4,7 @@ * definition of the "event trigger" system catalog (pg_event_trigger) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_event_trigger.h @@ -51,7 +51,10 @@ typedef FormData_pg_event_trigger *Form_pg_event_trigger; DECLARE_TOAST(pg_event_trigger, 4145, 4146); -DECLARE_UNIQUE_INDEX(pg_event_trigger_evtname_index, 3467, EventTriggerNameIndexId, on pg_event_trigger using btree(evtname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_event_trigger_oid_index, 3468, EventTriggerOidIndexId, on pg_event_trigger using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_event_trigger_evtname_index, 3467, EventTriggerNameIndexId, pg_event_trigger, btree(evtname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_event_trigger_oid_index, 3468, EventTriggerOidIndexId, pg_event_trigger, btree(oid oid_ops)); + +MAKE_SYSCACHE(EVENTTRIGGERNAME, pg_event_trigger_evtname_index, 8); +MAKE_SYSCACHE(EVENTTRIGGEROID, pg_event_trigger_oid_index, 8); #endif /* PG_EVENT_TRIGGER_H */ diff --git a/parser/include/catalog/pg_event_trigger_d.h b/parser/include/postgres/catalog/pg_event_trigger_d.h similarity index 94% rename from parser/include/catalog/pg_event_trigger_d.h rename to parser/include/postgres/catalog/pg_event_trigger_d.h index 1f44e4e9..b66869cc 100644 --- a/parser/include/catalog/pg_event_trigger_d.h +++ b/parser/include/postgres/catalog/pg_event_trigger_d.h @@ -3,7 +3,7 @@ * pg_event_trigger_d.h * Macro definitions for pg_event_trigger * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_index.h b/parser/include/postgres/catalog/pg_index.h similarity index 94% rename from parser/include/catalog/pg_index.h rename to parser/include/postgres/catalog/pg_index.h index f853846e..3462572e 100644 --- a/parser/include/catalog/pg_index.h +++ b/parser/include/postgres/catalog/pg_index.h @@ -4,7 +4,7 @@ * definition of the "index" system catalog (pg_index) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_index.h @@ -69,8 +69,10 @@ CATALOG(pg_index,2610,IndexRelationId) BKI_SCHEMA_MACRO */ typedef FormData_pg_index *Form_pg_index; -DECLARE_INDEX(pg_index_indrelid_index, 2678, IndexIndrelidIndexId, on pg_index using btree(indrelid oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_index_indexrelid_index, 2679, IndexRelidIndexId, on pg_index using btree(indexrelid oid_ops)); +DECLARE_INDEX(pg_index_indrelid_index, 2678, IndexIndrelidIndexId, pg_index, btree(indrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_index_indexrelid_index, 2679, IndexRelidIndexId, pg_index, btree(indexrelid oid_ops)); + +MAKE_SYSCACHE(INDEXRELID, pg_index_indexrelid_index, 64); /* indkey can contain zero (InvalidAttrNumber) to represent expressions */ DECLARE_ARRAY_FOREIGN_KEY_OPT((indrelid, indkey), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/catalog/pg_index_d.h b/parser/include/postgres/catalog/pg_index_d.h similarity index 96% rename from parser/include/catalog/pg_index_d.h rename to parser/include/postgres/catalog/pg_index_d.h index 1716a3f1..cc0e6bd0 100644 --- a/parser/include/catalog/pg_index_d.h +++ b/parser/include/postgres/catalog/pg_index_d.h @@ -3,7 +3,7 @@ * pg_index_d.h * Macro definitions for pg_index * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_language.h b/parser/include/postgres/catalog/pg_language.h similarity index 87% rename from parser/include/catalog/pg_language.h rename to parser/include/postgres/catalog/pg_language.h index 4b9c2595..7256908a 100644 --- a/parser/include/catalog/pg_language.h +++ b/parser/include/postgres/catalog/pg_language.h @@ -4,7 +4,7 @@ * definition of the "language" system catalog (pg_language) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_language.h @@ -66,7 +66,10 @@ typedef FormData_pg_language *Form_pg_language; DECLARE_TOAST(pg_language, 4157, 4158); -DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, on pg_language using btree(lanname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, on pg_language using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_language_name_index, 2681, LanguageNameIndexId, pg_language, btree(lanname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_language_oid_index, 2682, LanguageOidIndexId, pg_language, btree(oid oid_ops)); + +MAKE_SYSCACHE(LANGNAME, pg_language_name_index, 4); +MAKE_SYSCACHE(LANGOID, pg_language_oid_index, 4); #endif /* PG_LANGUAGE_H */ diff --git a/parser/include/catalog/pg_language_d.h b/parser/include/postgres/catalog/pg_language_d.h similarity index 94% rename from parser/include/catalog/pg_language_d.h rename to parser/include/postgres/catalog/pg_language_d.h index 53f26af2..8ab48b05 100644 --- a/parser/include/catalog/pg_language_d.h +++ b/parser/include/postgres/catalog/pg_language_d.h @@ -3,7 +3,7 @@ * pg_language_d.h * Macro definitions for pg_language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_namespace.h b/parser/include/postgres/catalog/pg_namespace.h similarity index 86% rename from parser/include/catalog/pg_namespace.h rename to parser/include/postgres/catalog/pg_namespace.h index ba56e44d..e101808a 100644 --- a/parser/include/catalog/pg_namespace.h +++ b/parser/include/postgres/catalog/pg_namespace.h @@ -4,7 +4,7 @@ * definition of the "namespace" system catalog (pg_namespace) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_namespace.h @@ -53,8 +53,11 @@ typedef FormData_pg_namespace *Form_pg_namespace; DECLARE_TOAST(pg_namespace, 4163, 4164); -DECLARE_UNIQUE_INDEX(pg_namespace_nspname_index, 2684, NamespaceNameIndexId, on pg_namespace using btree(nspname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_namespace_oid_index, 2685, NamespaceOidIndexId, on pg_namespace using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_namespace_nspname_index, 2684, NamespaceNameIndexId, pg_namespace, btree(nspname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_namespace_oid_index, 2685, NamespaceOidIndexId, pg_namespace, btree(oid oid_ops)); + +MAKE_SYSCACHE(NAMESPACENAME, pg_namespace_nspname_index, 4); +MAKE_SYSCACHE(NAMESPACEOID, pg_namespace_oid_index, 16); /* * prototypes for functions in pg_namespace.c diff --git a/parser/include/catalog/pg_namespace_d.h b/parser/include/postgres/catalog/pg_namespace_d.h similarity index 93% rename from parser/include/catalog/pg_namespace_d.h rename to parser/include/postgres/catalog/pg_namespace_d.h index 5ca92cc2..13f24813 100644 --- a/parser/include/catalog/pg_namespace_d.h +++ b/parser/include/postgres/catalog/pg_namespace_d.h @@ -3,7 +3,7 @@ * pg_namespace_d.h * Macro definitions for pg_namespace * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_opclass.h b/parser/include/postgres/catalog/pg_opclass.h similarity index 90% rename from parser/include/catalog/pg_opclass.h rename to parser/include/postgres/catalog/pg_opclass.h index 3a3a19b8..05867d08 100644 --- a/parser/include/catalog/pg_opclass.h +++ b/parser/include/postgres/catalog/pg_opclass.h @@ -24,7 +24,7 @@ * AMs support this. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_opclass.h @@ -82,7 +82,10 @@ CATALOG(pg_opclass,2616,OperatorClassRelationId) */ typedef FormData_pg_opclass *Form_pg_opclass; -DECLARE_UNIQUE_INDEX(pg_opclass_am_name_nsp_index, 2686, OpclassAmNameNspIndexId, on pg_opclass using btree(opcmethod oid_ops, opcname name_ops, opcnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_opclass_oid_index, 2687, OpclassOidIndexId, on pg_opclass using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_opclass_am_name_nsp_index, 2686, OpclassAmNameNspIndexId, pg_opclass, btree(opcmethod oid_ops, opcname name_ops, opcnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_opclass_oid_index, 2687, OpclassOidIndexId, pg_opclass, btree(oid oid_ops)); + +MAKE_SYSCACHE(CLAAMNAMENSP, pg_opclass_am_name_nsp_index, 8); +MAKE_SYSCACHE(CLAOID, pg_opclass_oid_index, 8); #endif /* PG_OPCLASS_H */ diff --git a/parser/include/catalog/pg_opclass_d.h b/parser/include/postgres/catalog/pg_opclass_d.h similarity index 95% rename from parser/include/catalog/pg_opclass_d.h rename to parser/include/postgres/catalog/pg_opclass_d.h index d6678056..706d7668 100644 --- a/parser/include/catalog/pg_opclass_d.h +++ b/parser/include/postgres/catalog/pg_opclass_d.h @@ -3,7 +3,7 @@ * pg_opclass_d.h * Macro definitions for pg_opclass * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_operator.h b/parser/include/postgres/catalog/pg_operator.h similarity index 79% rename from parser/include/catalog/pg_operator.h rename to parser/include/postgres/catalog/pg_operator.h index 51263f55..3ff1acc3 100644 --- a/parser/include/catalog/pg_operator.h +++ b/parser/include/postgres/catalog/pg_operator.h @@ -4,7 +4,7 @@ * definition of the "operator" system catalog (pg_operator) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_operator.h @@ -82,9 +82,16 @@ CATALOG(pg_operator,2617,OperatorRelationId) */ typedef FormData_pg_operator *Form_pg_operator; -DECLARE_UNIQUE_INDEX_PKEY(pg_operator_oid_index, 2688, OperatorOidIndexId, on pg_operator using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_operator_oprname_l_r_n_index, 2689, OperatorNameNspIndexId, on pg_operator using btree(oprname name_ops, oprleft oid_ops, oprright oid_ops, oprnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_operator_oid_index, 2688, OperatorOidIndexId, pg_operator, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_operator_oprname_l_r_n_index, 2689, OperatorNameNspIndexId, pg_operator, btree(oprname name_ops, oprleft oid_ops, oprright oid_ops, oprnamespace oid_ops)); +MAKE_SYSCACHE(OPEROID, pg_operator_oid_index, 32); +MAKE_SYSCACHE(OPERNAMENSP, pg_operator_oprname_l_r_n_index, 256); + +extern Oid OperatorLookup(List *operatorName, + Oid leftObjectId, + Oid rightObjectId, + bool *defined); extern ObjectAddress OperatorCreate(const char *operatorName, Oid operatorNamespace, @@ -102,6 +109,16 @@ extern ObjectAddress makeOperatorDependencies(HeapTuple tuple, bool makeExtensionDep, bool isUpdate); +extern void OperatorValidateParams(Oid leftTypeId, + Oid rightTypeId, + Oid operResultType, + bool hasCommutator, + bool hasNegator, + bool hasRestrictionSelectivity, + bool hasJoinSelectivity, + bool canMerge, + bool canHash); + extern void OperatorUpd(Oid baseId, Oid commId, Oid negId, bool isDelete); #endif /* PG_OPERATOR_H */ diff --git a/parser/include/catalog/pg_operator_d.h b/parser/include/postgres/catalog/pg_operator_d.h similarity index 98% rename from parser/include/catalog/pg_operator_d.h rename to parser/include/postgres/catalog/pg_operator_d.h index 6b350eb2..44e876cb 100644 --- a/parser/include/catalog/pg_operator_d.h +++ b/parser/include/postgres/catalog/pg_operator_d.h @@ -3,7 +3,7 @@ * pg_operator_d.h * Macro definitions for pg_operator * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_opfamily.h b/parser/include/postgres/catalog/pg_opfamily.h similarity index 78% rename from parser/include/catalog/pg_opfamily.h rename to parser/include/postgres/catalog/pg_opfamily.h index 8dc9ce01..52f9c4ac 100644 --- a/parser/include/catalog/pg_opfamily.h +++ b/parser/include/postgres/catalog/pg_opfamily.h @@ -4,7 +4,7 @@ * definition of the "operator family" system catalog (pg_opfamily) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_opfamily.h @@ -50,12 +50,16 @@ CATALOG(pg_opfamily,2753,OperatorFamilyRelationId) */ typedef FormData_pg_opfamily *Form_pg_opfamily; -DECLARE_UNIQUE_INDEX(pg_opfamily_am_name_nsp_index, 2754, OpfamilyAmNameNspIndexId, on pg_opfamily using btree(opfmethod oid_ops, opfname name_ops, opfnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_opfamily_oid_index, 2755, OpfamilyOidIndexId, on pg_opfamily using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_opfamily_am_name_nsp_index, 2754, OpfamilyAmNameNspIndexId, pg_opfamily, btree(opfmethod oid_ops, opfname name_ops, opfnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_opfamily_oid_index, 2755, OpfamilyOidIndexId, pg_opfamily, btree(oid oid_ops)); + +MAKE_SYSCACHE(OPFAMILYAMNAMENSP, pg_opfamily_am_name_nsp_index, 8); +MAKE_SYSCACHE(OPFAMILYOID, pg_opfamily_oid_index, 8); #ifdef EXPOSE_TO_CLIENT_CODE -#define IsBooleanOpfamily(opfamily) \ +/* This does not account for non-core opfamilies that might accept boolean */ +#define IsBuiltinBooleanOpfamily(opfamily) \ ((opfamily) == BOOL_BTREE_FAM_OID || (opfamily) == BOOL_HASH_FAM_OID) #endif /* EXPOSE_TO_CLIENT_CODE */ diff --git a/parser/include/catalog/pg_opfamily_d.h b/parser/include/postgres/catalog/pg_opfamily_d.h similarity index 85% rename from parser/include/catalog/pg_opfamily_d.h rename to parser/include/postgres/catalog/pg_opfamily_d.h index 5b00cfc1..9b9c723e 100644 --- a/parser/include/catalog/pg_opfamily_d.h +++ b/parser/include/postgres/catalog/pg_opfamily_d.h @@ -3,7 +3,7 @@ * pg_opfamily_d.h * Macro definitions for pg_opfamily * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -31,7 +31,8 @@ #define Natts_pg_opfamily 5 -#define IsBooleanOpfamily(opfamily) \ +/* This does not account for non-core opfamilies that might accept boolean */ +#define IsBuiltinBooleanOpfamily(opfamily) \ ((opfamily) == BOOL_BTREE_FAM_OID || (opfamily) == BOOL_HASH_FAM_OID) #define BOOL_BTREE_FAM_OID 424 @@ -39,6 +40,7 @@ #define BYTEA_BTREE_FAM_OID 428 #define NETWORK_BTREE_FAM_OID 1974 #define INTEGER_BTREE_FAM_OID 1976 +#define INTERVAL_BTREE_FAM_OID 1982 #define OID_BTREE_FAM_OID 1989 #define TEXT_BTREE_FAM_OID 1994 #define TEXT_PATTERN_BTREE_FAM_OID 2095 diff --git a/parser/include/catalog/pg_partitioned_table.h b/parser/include/postgres/catalog/pg_partitioned_table.h similarity index 92% rename from parser/include/catalog/pg_partitioned_table.h rename to parser/include/postgres/catalog/pg_partitioned_table.h index 9b78f84c..daf57008 100644 --- a/parser/include/catalog/pg_partitioned_table.h +++ b/parser/include/postgres/catalog/pg_partitioned_table.h @@ -5,7 +5,7 @@ * (pg_partitioned_table) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_partitioned_table.h @@ -66,7 +66,9 @@ typedef FormData_pg_partitioned_table *Form_pg_partitioned_table; DECLARE_TOAST(pg_partitioned_table, 4165, 4166); -DECLARE_UNIQUE_INDEX_PKEY(pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, on pg_partitioned_table using btree(partrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, pg_partitioned_table, btree(partrelid oid_ops)); + +MAKE_SYSCACHE(PARTRELID, pg_partitioned_table_partrelid_index, 32); /* partattrs can contain zero (InvalidAttrNumber) to represent expressions */ DECLARE_ARRAY_FOREIGN_KEY_OPT((partrelid, partattrs), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/catalog/pg_partitioned_table_d.h b/parser/include/postgres/catalog/pg_partitioned_table_d.h similarity index 94% rename from parser/include/catalog/pg_partitioned_table_d.h rename to parser/include/postgres/catalog/pg_partitioned_table_d.h index 6f4338a1..aa52304c 100644 --- a/parser/include/catalog/pg_partitioned_table_d.h +++ b/parser/include/postgres/catalog/pg_partitioned_table_d.h @@ -3,7 +3,7 @@ * pg_partitioned_table_d.h * Macro definitions for pg_partitioned_table * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_proc.h b/parser/include/postgres/catalog/pg_proc.h similarity index 95% rename from parser/include/catalog/pg_proc.h rename to parser/include/postgres/catalog/pg_proc.h index 76310d4c..51f43092 100644 --- a/parser/include/catalog/pg_proc.h +++ b/parser/include/postgres/catalog/pg_proc.h @@ -3,7 +3,7 @@ * pg_proc.h * definition of the "procedure" system catalog (pg_proc) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_proc.h @@ -137,8 +137,11 @@ typedef FormData_pg_proc *Form_pg_proc; DECLARE_TOAST(pg_proc, 2836, 2837); -DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, on pg_proc using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, on pg_proc using btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_proc_oid_index, 2690, ProcedureOidIndexId, pg_proc, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_proc_proname_args_nsp_index, 2691, ProcedureNameArgsNspIndexId, pg_proc, btree(proname name_ops, proargtypes oidvector_ops, pronamespace oid_ops)); + +MAKE_SYSCACHE(PROCOID, pg_proc_oid_index, 128); +MAKE_SYSCACHE(PROCNAMEARGSNSP, pg_proc_proname_args_nsp_index, 128); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/catalog/pg_proc_d.h b/parser/include/postgres/catalog/pg_proc_d.h similarity index 98% rename from parser/include/catalog/pg_proc_d.h rename to parser/include/postgres/catalog/pg_proc_d.h index 27fbfdd1..dc17bd9d 100644 --- a/parser/include/catalog/pg_proc_d.h +++ b/parser/include/postgres/catalog/pg_proc_d.h @@ -3,7 +3,7 @@ * pg_proc_d.h * Macro definitions for pg_proc * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_publication.h b/parser/include/postgres/catalog/pg_publication.h similarity index 92% rename from parser/include/catalog/pg_publication.h rename to parser/include/postgres/catalog/pg_publication.h index 48205ba4..2f1b6abb 100644 --- a/parser/include/catalog/pg_publication.h +++ b/parser/include/postgres/catalog/pg_publication.h @@ -3,7 +3,7 @@ * pg_publication.h * definition of the "publication" system catalog (pg_publication) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_publication.h @@ -63,8 +63,11 @@ CATALOG(pg_publication,6104,PublicationRelationId) */ typedef FormData_pg_publication *Form_pg_publication; -DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, on pg_publication using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, on pg_publication using btree(pubname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_publication_oid_index, 6110, PublicationObjectIndexId, pg_publication, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_publication_pubname_index, 6111, PublicationNameIndexId, pg_publication, btree(pubname name_ops)); + +MAKE_SYSCACHE(PUBLICATIONOID, pg_publication_oid_index, 8); +MAKE_SYSCACHE(PUBLICATIONNAME, pg_publication_pubname_index, 8); typedef struct PublicationActions { @@ -137,7 +140,7 @@ extern List *GetPublicationSchemas(Oid pubid); extern List *GetSchemaPublications(Oid schemaid); extern List *GetSchemaPublicationRelations(Oid schemaid, PublicationPartOpt pub_partopt); -extern List *GetAllSchemaPublicationRelations(Oid puboid, +extern List *GetAllSchemaPublicationRelations(Oid pubid, PublicationPartOpt pub_partopt); extern List *GetPubPartitionOptionRelations(List *result, PublicationPartOpt pub_partopt, @@ -155,7 +158,4 @@ extern ObjectAddress publication_add_schema(Oid pubid, Oid schemaid, extern Bitmapset *pub_collist_to_bitmapset(Bitmapset *columns, Datum pubcols, MemoryContext mcxt); -extern Oid get_publication_oid(const char *pubname, bool missing_ok); -extern char *get_publication_name(Oid pubid, bool missing_ok); - #endif /* PG_PUBLICATION_H */ diff --git a/parser/include/catalog/pg_publication_d.h b/parser/include/postgres/catalog/pg_publication_d.h similarity index 94% rename from parser/include/catalog/pg_publication_d.h rename to parser/include/postgres/catalog/pg_publication_d.h index 189d7df6..18f167ae 100644 --- a/parser/include/catalog/pg_publication_d.h +++ b/parser/include/postgres/catalog/pg_publication_d.h @@ -3,7 +3,7 @@ * pg_publication_d.h * Macro definitions for pg_publication * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_replication_origin.h b/parser/include/postgres/catalog/pg_replication_origin.h similarity index 83% rename from parser/include/catalog/pg_replication_origin.h rename to parser/include/postgres/catalog/pg_replication_origin.h index 3b11cd21..e9bc0209 100644 --- a/parser/include/catalog/pg_replication_origin.h +++ b/parser/include/postgres/catalog/pg_replication_origin.h @@ -4,7 +4,7 @@ * definition of the "replication origin" system catalog * (pg_replication_origin) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_replication_origin.h @@ -56,7 +56,10 @@ typedef FormData_pg_replication_origin *Form_pg_replication_origin; DECLARE_TOAST_WITH_MACRO(pg_replication_origin, 4181, 4182, PgReplicationOriginToastTable, PgReplicationOriginToastIndex); -DECLARE_UNIQUE_INDEX_PKEY(pg_replication_origin_roiident_index, 6001, ReplicationOriginIdentIndex, on pg_replication_origin using btree(roident oid_ops)); -DECLARE_UNIQUE_INDEX(pg_replication_origin_roname_index, 6002, ReplicationOriginNameIndex, on pg_replication_origin using btree(roname text_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_replication_origin_roiident_index, 6001, ReplicationOriginIdentIndex, pg_replication_origin, btree(roident oid_ops)); +DECLARE_UNIQUE_INDEX(pg_replication_origin_roname_index, 6002, ReplicationOriginNameIndex, pg_replication_origin, btree(roname text_ops)); + +MAKE_SYSCACHE(REPLORIGIDENT, pg_replication_origin_roiident_index, 16); +MAKE_SYSCACHE(REPLORIGNAME, pg_replication_origin_roname_index, 16); #endif /* PG_REPLICATION_ORIGIN_H */ diff --git a/parser/include/catalog/pg_replication_origin_d.h b/parser/include/postgres/catalog/pg_replication_origin_d.h similarity index 93% rename from parser/include/catalog/pg_replication_origin_d.h rename to parser/include/postgres/catalog/pg_replication_origin_d.h index 2cfa387a..bd23f966 100644 --- a/parser/include/catalog/pg_replication_origin_d.h +++ b/parser/include/postgres/catalog/pg_replication_origin_d.h @@ -3,7 +3,7 @@ * pg_replication_origin_d.h * Macro definitions for pg_replication_origin * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_statistic.h b/parser/include/postgres/catalog/pg_statistic.h similarity index 95% rename from parser/include/catalog/pg_statistic.h rename to parser/include/postgres/catalog/pg_statistic.h index cdf74481..041e6263 100644 --- a/parser/include/catalog/pg_statistic.h +++ b/parser/include/postgres/catalog/pg_statistic.h @@ -4,7 +4,7 @@ * definition of the "statistics" system catalog (pg_statistic) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_statistic.h @@ -136,7 +136,9 @@ typedef FormData_pg_statistic *Form_pg_statistic; DECLARE_TOAST(pg_statistic, 2840, 2841); -DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_relid_att_inh_index, 2696, StatisticRelidAttnumInhIndexId, on pg_statistic using btree(starelid oid_ops, staattnum int2_ops, stainherit bool_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_relid_att_inh_index, 2696, StatisticRelidAttnumInhIndexId, pg_statistic, btree(starelid oid_ops, staattnum int2_ops, stainherit bool_ops)); + +MAKE_SYSCACHE(STATRELATTINH, pg_statistic_relid_att_inh_index, 128); DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); @@ -152,6 +154,9 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * data "kind" will appear in any particular slot. Instead, search the * stakind fields to see if the desired data is available. (The standard * function get_attstatsslot() may be used for this.) + * + * Note: The pg_stats view needs to be modified whenever a new slot kind is + * added to core. */ /* @@ -178,7 +183,7 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * the K most common non-null values appearing in the column, and stanumbers * contains their frequencies (fractions of total row count). The values * shall be ordered in decreasing frequency. Note that since the arrays are - * variable-size, K may be chosen by the statistics collector. Values should + * variable-size, K may be chosen may be chosen at ANALYZE time. Values should * not appear in MCV unless they have been observed to occur more than once; * a unique column will have no MCV slot. */ @@ -262,7 +267,8 @@ DECLARE_FOREIGN_KEY((starelid, staattnum), pg_attribute, (attrelid, attnum)); * a format similar to STATISTIC_KIND_HISTOGRAM: it contains M (>=2) range * values that divide the column data values into M-1 bins of approximately * equal population. The lengths are stored as float8s, as measured by the - * range type's subdiff function. Only non-null rows are considered. + * range type's subdiff function. Only non-null, non-empty rows are + * considered. */ #define STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM 6 diff --git a/parser/include/catalog/pg_statistic_d.h b/parser/include/postgres/catalog/pg_statistic_d.h similarity index 96% rename from parser/include/catalog/pg_statistic_d.h rename to parser/include/postgres/catalog/pg_statistic_d.h index a9e6aa99..55de6b69 100644 --- a/parser/include/catalog/pg_statistic_d.h +++ b/parser/include/postgres/catalog/pg_statistic_d.h @@ -3,7 +3,7 @@ * pg_statistic_d.h * Macro definitions for pg_statistic * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -66,6 +66,9 @@ * data "kind" will appear in any particular slot. Instead, search the * stakind fields to see if the desired data is available. (The standard * function get_attstatsslot() may be used for this.) + * + * Note: The pg_stats view needs to be modified whenever a new slot kind is + * added to core. */ /* @@ -92,7 +95,7 @@ * the K most common non-null values appearing in the column, and stanumbers * contains their frequencies (fractions of total row count). The values * shall be ordered in decreasing frequency. Note that since the arrays are - * variable-size, K may be chosen by the statistics collector. Values should + * variable-size, K may be chosen may be chosen at ANALYZE time. Values should * not appear in MCV unless they have been observed to occur more than once; * a unique column will have no MCV slot. */ @@ -176,7 +179,8 @@ * a format similar to STATISTIC_KIND_HISTOGRAM: it contains M (>=2) range * values that divide the column data values into M-1 bins of approximately * equal population. The lengths are stored as float8s, as measured by the - * range type's subdiff function. Only non-null rows are considered. + * range type's subdiff function. Only non-null, non-empty rows are + * considered. */ #define STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM 6 diff --git a/parser/include/catalog/pg_statistic_ext.h b/parser/include/postgres/catalog/pg_statistic_ext.h similarity index 82% rename from parser/include/catalog/pg_statistic_ext.h rename to parser/include/postgres/catalog/pg_statistic_ext.h index b8520ba9..50a5c021 100644 --- a/parser/include/catalog/pg_statistic_ext.h +++ b/parser/include/postgres/catalog/pg_statistic_ext.h @@ -8,7 +8,7 @@ * objects, created by CREATE STATISTICS, but not the actual statistical data, * created by running ANALYZE. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_statistic_ext.h @@ -43,15 +43,15 @@ CATALOG(pg_statistic_ext,3381,StatisticExtRelationId) * object's namespace */ Oid stxowner BKI_LOOKUP(pg_authid); /* statistics object's owner */ - int32 stxstattarget BKI_DEFAULT(-1); /* statistics target */ /* - * variable-length fields start here, but we allow direct access to - * stxkeys + * variable-length/nullable fields start here, but we allow direct access + * to stxkeys */ int2vector stxkeys BKI_FORCE_NOT_NULL; /* array of column keys */ #ifdef CATALOG_VARLEN + int16 stxstattarget BKI_DEFAULT(_null_) BKI_FORCE_NULL; /* statistics target */ char stxkind[1] BKI_FORCE_NOT_NULL; /* statistics kinds requested * to build */ pg_node_tree stxexprs; /* A list of expression trees for stats @@ -70,9 +70,12 @@ typedef FormData_pg_statistic_ext *Form_pg_statistic_ext; DECLARE_TOAST(pg_statistic_ext, 3439, 3440); -DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_ext_oid_index, 3380, StatisticExtOidIndexId, on pg_statistic_ext using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_statistic_ext_name_index, 3997, StatisticExtNameIndexId, on pg_statistic_ext using btree(stxname name_ops, stxnamespace oid_ops)); -DECLARE_INDEX(pg_statistic_ext_relid_index, 3379, StatisticExtRelidIndexId, on pg_statistic_ext using btree(stxrelid oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_statistic_ext_oid_index, 3380, StatisticExtOidIndexId, pg_statistic_ext, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_statistic_ext_name_index, 3997, StatisticExtNameIndexId, pg_statistic_ext, btree(stxname name_ops, stxnamespace oid_ops)); +DECLARE_INDEX(pg_statistic_ext_relid_index, 3379, StatisticExtRelidIndexId, pg_statistic_ext, btree(stxrelid oid_ops)); + +MAKE_SYSCACHE(STATEXTOID, pg_statistic_ext_oid_index, 4); +MAKE_SYSCACHE(STATEXTNAMENSP, pg_statistic_ext_name_index, 4); DECLARE_ARRAY_FOREIGN_KEY((stxrelid, stxkeys), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/catalog/pg_statistic_ext_d.h b/parser/include/postgres/catalog/pg_statistic_ext_d.h similarity index 88% rename from parser/include/catalog/pg_statistic_ext_d.h rename to parser/include/postgres/catalog/pg_statistic_ext_d.h index 93758595..f1868a78 100644 --- a/parser/include/catalog/pg_statistic_ext_d.h +++ b/parser/include/postgres/catalog/pg_statistic_ext_d.h @@ -3,7 +3,7 @@ * pg_statistic_ext_d.h * Macro definitions for pg_statistic_ext * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -28,8 +28,8 @@ #define Anum_pg_statistic_ext_stxname 3 #define Anum_pg_statistic_ext_stxnamespace 4 #define Anum_pg_statistic_ext_stxowner 5 -#define Anum_pg_statistic_ext_stxstattarget 6 -#define Anum_pg_statistic_ext_stxkeys 7 +#define Anum_pg_statistic_ext_stxkeys 6 +#define Anum_pg_statistic_ext_stxstattarget 7 #define Anum_pg_statistic_ext_stxkind 8 #define Anum_pg_statistic_ext_stxexprs 9 diff --git a/parser/include/catalog/pg_transform.h b/parser/include/postgres/catalog/pg_transform.h similarity index 81% rename from parser/include/catalog/pg_transform.h rename to parser/include/postgres/catalog/pg_transform.h index 2a026915..3b69960a 100644 --- a/parser/include/catalog/pg_transform.h +++ b/parser/include/postgres/catalog/pg_transform.h @@ -4,7 +4,7 @@ * definition of the "transform" system catalog (pg_transform) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_transform.h @@ -42,7 +42,10 @@ CATALOG(pg_transform,3576,TransformRelationId) */ typedef FormData_pg_transform *Form_pg_transform; -DECLARE_UNIQUE_INDEX_PKEY(pg_transform_oid_index, 3574, TransformOidIndexId, on pg_transform using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_transform_type_lang_index, 3575, TransformTypeLangIndexId, on pg_transform using btree(trftype oid_ops, trflang oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_transform_oid_index, 3574, TransformOidIndexId, pg_transform, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_transform_type_lang_index, 3575, TransformTypeLangIndexId, pg_transform, btree(trftype oid_ops, trflang oid_ops)); + +MAKE_SYSCACHE(TRFOID, pg_transform_oid_index, 16); +MAKE_SYSCACHE(TRFTYPELANG, pg_transform_type_lang_index, 16); #endif /* PG_TRANSFORM_H */ diff --git a/parser/include/catalog/pg_transform_d.h b/parser/include/postgres/catalog/pg_transform_d.h similarity index 93% rename from parser/include/catalog/pg_transform_d.h rename to parser/include/postgres/catalog/pg_transform_d.h index ca3a1dcb..fc4aa45a 100644 --- a/parser/include/catalog/pg_transform_d.h +++ b/parser/include/postgres/catalog/pg_transform_d.h @@ -3,7 +3,7 @@ * pg_transform_d.h * Macro definitions for pg_transform * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_trigger.h b/parser/include/postgres/catalog/pg_trigger.h similarity index 95% rename from parser/include/catalog/pg_trigger.h rename to parser/include/postgres/catalog/pg_trigger.h index 194277bc..7fdff161 100644 --- a/parser/include/catalog/pg_trigger.h +++ b/parser/include/postgres/catalog/pg_trigger.h @@ -4,7 +4,7 @@ * definition of the "trigger" system catalog (pg_trigger) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_trigger.h @@ -81,9 +81,9 @@ typedef FormData_pg_trigger *Form_pg_trigger; DECLARE_TOAST(pg_trigger, 2336, 2337); -DECLARE_INDEX(pg_trigger_tgconstraint_index, 2699, TriggerConstraintIndexId, on pg_trigger using btree(tgconstraint oid_ops)); -DECLARE_UNIQUE_INDEX(pg_trigger_tgrelid_tgname_index, 2701, TriggerRelidNameIndexId, on pg_trigger using btree(tgrelid oid_ops, tgname name_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_trigger_oid_index, 2702, TriggerOidIndexId, on pg_trigger using btree(oid oid_ops)); +DECLARE_INDEX(pg_trigger_tgconstraint_index, 2699, TriggerConstraintIndexId, pg_trigger, btree(tgconstraint oid_ops)); +DECLARE_UNIQUE_INDEX(pg_trigger_tgrelid_tgname_index, 2701, TriggerRelidNameIndexId, pg_trigger, btree(tgrelid oid_ops, tgname name_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_trigger_oid_index, 2702, TriggerOidIndexId, pg_trigger, btree(oid oid_ops)); DECLARE_ARRAY_FOREIGN_KEY((tgrelid, tgattr), pg_attribute, (attrelid, attnum)); diff --git a/parser/include/catalog/pg_trigger_d.h b/parser/include/postgres/catalog/pg_trigger_d.h similarity index 98% rename from parser/include/catalog/pg_trigger_d.h rename to parser/include/postgres/catalog/pg_trigger_d.h index e20967b4..9fdf780f 100644 --- a/parser/include/catalog/pg_trigger_d.h +++ b/parser/include/postgres/catalog/pg_trigger_d.h @@ -3,7 +3,7 @@ * pg_trigger_d.h * Macro definitions for pg_trigger * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_ts_config.h b/parser/include/postgres/catalog/pg_ts_config.h similarity index 81% rename from parser/include/catalog/pg_ts_config.h rename to parser/include/postgres/catalog/pg_ts_config.h index e5a30847..fc0bf447 100644 --- a/parser/include/catalog/pg_ts_config.h +++ b/parser/include/postgres/catalog/pg_ts_config.h @@ -5,7 +5,7 @@ * (pg_ts_config) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_config.h @@ -47,7 +47,10 @@ CATALOG(pg_ts_config,3602,TSConfigRelationId) typedef FormData_pg_ts_config *Form_pg_ts_config; -DECLARE_UNIQUE_INDEX(pg_ts_config_cfgname_index, 3608, TSConfigNameNspIndexId, on pg_ts_config using btree(cfgname name_ops, cfgnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_config_oid_index, 3712, TSConfigOidIndexId, on pg_ts_config using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_config_cfgname_index, 3608, TSConfigNameNspIndexId, pg_ts_config, btree(cfgname name_ops, cfgnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_config_oid_index, 3712, TSConfigOidIndexId, pg_ts_config, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSCONFIGNAMENSP, pg_ts_config_cfgname_index, 2); +MAKE_SYSCACHE(TSCONFIGOID, pg_ts_config_oid_index, 2); #endif /* PG_TS_CONFIG_H */ diff --git a/parser/include/catalog/pg_ts_config_d.h b/parser/include/postgres/catalog/pg_ts_config_d.h similarity index 93% rename from parser/include/catalog/pg_ts_config_d.h rename to parser/include/postgres/catalog/pg_ts_config_d.h index 9a9bda7b..01da6064 100644 --- a/parser/include/catalog/pg_ts_config_d.h +++ b/parser/include/postgres/catalog/pg_ts_config_d.h @@ -3,7 +3,7 @@ * pg_ts_config_d.h * Macro definitions for pg_ts_config * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_ts_dict.h b/parser/include/postgres/catalog/pg_ts_dict.h similarity index 82% rename from parser/include/catalog/pg_ts_dict.h rename to parser/include/postgres/catalog/pg_ts_dict.h index 4b6188f4..1320468d 100644 --- a/parser/include/catalog/pg_ts_dict.h +++ b/parser/include/postgres/catalog/pg_ts_dict.h @@ -4,7 +4,7 @@ * definition of the "text search dictionary" system catalog (pg_ts_dict) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_dict.h @@ -53,7 +53,10 @@ typedef FormData_pg_ts_dict *Form_pg_ts_dict; DECLARE_TOAST(pg_ts_dict, 4169, 4170); -DECLARE_UNIQUE_INDEX(pg_ts_dict_dictname_index, 3604, TSDictionaryNameNspIndexId, on pg_ts_dict using btree(dictname name_ops, dictnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_dict_oid_index, 3605, TSDictionaryOidIndexId, on pg_ts_dict using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_dict_dictname_index, 3604, TSDictionaryNameNspIndexId, pg_ts_dict, btree(dictname name_ops, dictnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_dict_oid_index, 3605, TSDictionaryOidIndexId, pg_ts_dict, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSDICTNAMENSP, pg_ts_dict_dictname_index, 2); +MAKE_SYSCACHE(TSDICTOID, pg_ts_dict_oid_index, 2); #endif /* PG_TS_DICT_H */ diff --git a/parser/include/catalog/pg_ts_dict_d.h b/parser/include/postgres/catalog/pg_ts_dict_d.h similarity index 93% rename from parser/include/catalog/pg_ts_dict_d.h rename to parser/include/postgres/catalog/pg_ts_dict_d.h index 34614093..73f18e8d 100644 --- a/parser/include/catalog/pg_ts_dict_d.h +++ b/parser/include/postgres/catalog/pg_ts_dict_d.h @@ -3,7 +3,7 @@ * pg_ts_dict_d.h * Macro definitions for pg_ts_dict * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_ts_parser.h b/parser/include/postgres/catalog/pg_ts_parser.h similarity index 83% rename from parser/include/catalog/pg_ts_parser.h rename to parser/include/postgres/catalog/pg_ts_parser.h index c2d474dc..909644c9 100644 --- a/parser/include/catalog/pg_ts_parser.h +++ b/parser/include/postgres/catalog/pg_ts_parser.h @@ -4,7 +4,7 @@ * definition of the "text search parser" system catalog (pg_ts_parser) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_parser.h @@ -54,7 +54,10 @@ CATALOG(pg_ts_parser,3601,TSParserRelationId) typedef FormData_pg_ts_parser *Form_pg_ts_parser; -DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index, 3606, TSParserNameNspIndexId, on pg_ts_parser using btree(prsname name_ops, prsnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index, 3607, TSParserOidIndexId, on pg_ts_parser using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_parser_prsname_index, 3606, TSParserNameNspIndexId, pg_ts_parser, btree(prsname name_ops, prsnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_parser_oid_index, 3607, TSParserOidIndexId, pg_ts_parser, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSPARSERNAMENSP, pg_ts_parser_prsname_index, 2); +MAKE_SYSCACHE(TSPARSEROID, pg_ts_parser_oid_index, 2); #endif /* PG_TS_PARSER_H */ diff --git a/parser/include/catalog/pg_ts_parser_d.h b/parser/include/postgres/catalog/pg_ts_parser_d.h similarity index 94% rename from parser/include/catalog/pg_ts_parser_d.h rename to parser/include/postgres/catalog/pg_ts_parser_d.h index 64032e86..c9125c38 100644 --- a/parser/include/catalog/pg_ts_parser_d.h +++ b/parser/include/postgres/catalog/pg_ts_parser_d.h @@ -3,7 +3,7 @@ * pg_ts_parser_d.h * Macro definitions for pg_ts_parser * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_ts_template.h b/parser/include/postgres/catalog/pg_ts_template.h similarity index 80% rename from parser/include/catalog/pg_ts_template.h rename to parser/include/postgres/catalog/pg_ts_template.h index 2a553fef..0562a4a7 100644 --- a/parser/include/catalog/pg_ts_template.h +++ b/parser/include/postgres/catalog/pg_ts_template.h @@ -4,7 +4,7 @@ * definition of the "text search template" system catalog (pg_ts_template) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_ts_template.h @@ -45,7 +45,10 @@ CATALOG(pg_ts_template,3764,TSTemplateRelationId) typedef FormData_pg_ts_template *Form_pg_ts_template; -DECLARE_UNIQUE_INDEX(pg_ts_template_tmplname_index, 3766, TSTemplateNameNspIndexId, on pg_ts_template using btree(tmplname name_ops, tmplnamespace oid_ops)); -DECLARE_UNIQUE_INDEX_PKEY(pg_ts_template_oid_index, 3767, TSTemplateOidIndexId, on pg_ts_template using btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_ts_template_tmplname_index, 3766, TSTemplateNameNspIndexId, pg_ts_template, btree(tmplname name_ops, tmplnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_ts_template_oid_index, 3767, TSTemplateOidIndexId, pg_ts_template, btree(oid oid_ops)); + +MAKE_SYSCACHE(TSTEMPLATENAMENSP, pg_ts_template_tmplname_index, 2); +MAKE_SYSCACHE(TSTEMPLATEOID, pg_ts_template_oid_index, 2); #endif /* PG_TS_TEMPLATE_H */ diff --git a/parser/include/catalog/pg_ts_template_d.h b/parser/include/postgres/catalog/pg_ts_template_d.h similarity index 93% rename from parser/include/catalog/pg_ts_template_d.h rename to parser/include/postgres/catalog/pg_ts_template_d.h index cac7d9bb..fa6cd107 100644 --- a/parser/include/catalog/pg_ts_template_d.h +++ b/parser/include/postgres/catalog/pg_ts_template_d.h @@ -3,7 +3,7 @@ * pg_ts_template_d.h * Macro definitions for pg_ts_template * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/pg_type.h b/parser/include/postgres/catalog/pg_type.h similarity index 98% rename from parser/include/catalog/pg_type.h rename to parser/include/postgres/catalog/pg_type.h index 48a25591..e9259697 100644 --- a/parser/include/catalog/pg_type.h +++ b/parser/include/postgres/catalog/pg_type.h @@ -4,7 +4,7 @@ * definition of the "type" system catalog (pg_type) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/pg_type.h @@ -262,8 +262,11 @@ typedef FormData_pg_type *Form_pg_type; DECLARE_TOAST(pg_type, 4171, 4172); -DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, on pg_type using btree(oid oid_ops)); -DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, on pg_type using btree(typname name_ops, typnamespace oid_ops)); +DECLARE_UNIQUE_INDEX_PKEY(pg_type_oid_index, 2703, TypeOidIndexId, pg_type, btree(oid oid_ops)); +DECLARE_UNIQUE_INDEX(pg_type_typname_nsp_index, 2704, TypeNameNspIndexId, pg_type, btree(typname name_ops, typnamespace oid_ops)); + +MAKE_SYSCACHE(TYPEOID, pg_type_oid_index, 64); +MAKE_SYSCACHE(TYPENAMENSP, pg_type_typname_nsp_index, 64); #ifdef EXPOSE_TO_CLIENT_CODE diff --git a/parser/include/catalog/pg_type_d.h b/parser/include/postgres/catalog/pg_type_d.h similarity index 99% rename from parser/include/catalog/pg_type_d.h rename to parser/include/postgres/catalog/pg_type_d.h index 3877e0b7..f8078929 100644 --- a/parser/include/catalog/pg_type_d.h +++ b/parser/include/postgres/catalog/pg_type_d.h @@ -3,7 +3,7 @@ * pg_type_d.h * Macro definitions for pg_type * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/catalog/storage.h b/parser/include/postgres/catalog/storage.h similarity index 78% rename from parser/include/catalog/storage.h rename to parser/include/postgres/catalog/storage.h index 59f3404a..72ef3ee9 100644 --- a/parser/include/catalog/storage.h +++ b/parser/include/postgres/catalog/storage.h @@ -4,7 +4,7 @@ * prototypes for functions in backend/catalog/storage.c * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/catalog/storage.h @@ -15,23 +15,23 @@ #define STORAGE_H #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "storage/smgr.h" #include "utils/relcache.h" /* GUC variables */ extern PGDLLIMPORT int wal_skip_threshold; -extern SMgrRelation RelationCreateStorage(RelFileNode rnode, +extern SMgrRelation RelationCreateStorage(RelFileLocator rlocator, char relpersistence, bool register_delete); extern void RelationDropStorage(Relation rel); -extern void RelationPreserveStorage(RelFileNode rnode, bool atCommit); +extern void RelationPreserveStorage(RelFileLocator rlocator, bool atCommit); extern void RelationPreTruncate(Relation rel); extern void RelationTruncate(Relation rel, BlockNumber nblocks); extern void RelationCopyStorage(SMgrRelation src, SMgrRelation dst, ForkNumber forkNum, char relpersistence); -extern bool RelFileNodeSkippingWAL(RelFileNode rnode); +extern bool RelFileLocatorSkippingWAL(RelFileLocator rlocator); extern Size EstimatePendingSyncsSpace(void); extern void SerializePendingSyncs(Size maxSize, char *startAddress); extern void RestorePendingSyncs(char *startAddress); @@ -42,7 +42,7 @@ extern void RestorePendingSyncs(char *startAddress); */ extern void smgrDoPendingDeletes(bool isCommit); extern void smgrDoPendingSyncs(bool isCommit, bool isParallelWorker); -extern int smgrGetPendingDeletes(bool forCommit, RelFileNode **ptr); +extern int smgrGetPendingDeletes(bool forCommit, RelFileLocator **ptr); extern void AtSubCommit_smgr(void); extern void AtSubAbort_smgr(void); extern void PostPrepare_smgr(void); diff --git a/parser/include/postgres/catalog/syscache_ids.h b/parser/include/postgres/catalog/syscache_ids.h new file mode 100644 index 00000000..ea76244a --- /dev/null +++ b/parser/include/postgres/catalog/syscache_ids.h @@ -0,0 +1,104 @@ +/*------------------------------------------------------------------------- + * + * syscache_ids.h + * SysCache identifiers + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/catalog/genbki.pl + * + *------------------------------------------------------------------------- + */ +enum SysCacheIdentifier +{ + AGGFNOID, + AMNAME, + AMOID, + AMOPOPID, + AMOPSTRATEGY, + AMPROCNUM, + ATTNAME, + ATTNUM, + AUTHMEMMEMROLE, + AUTHMEMROLEMEM, + AUTHNAME, + AUTHOID, + CASTSOURCETARGET, + CLAAMNAMENSP, + CLAOID, + COLLNAMEENCNSP, + COLLOID, + CONDEFAULT, + CONNAMENSP, + CONSTROID, + CONVOID, + DATABASEOID, + DEFACLROLENSPOBJ, + ENUMOID, + ENUMTYPOIDNAME, + EVENTTRIGGERNAME, + EVENTTRIGGEROID, + FOREIGNDATAWRAPPERNAME, + FOREIGNDATAWRAPPEROID, + FOREIGNSERVERNAME, + FOREIGNSERVEROID, + FOREIGNTABLEREL, + INDEXRELID, + LANGNAME, + LANGOID, + NAMESPACENAME, + NAMESPACEOID, + OPERNAMENSP, + OPEROID, + OPFAMILYAMNAMENSP, + OPFAMILYOID, + PARAMETERACLNAME, + PARAMETERACLOID, + PARTRELID, + PROCNAMEARGSNSP, + PROCOID, + PUBLICATIONNAME, + PUBLICATIONNAMESPACE, + PUBLICATIONNAMESPACEMAP, + PUBLICATIONOID, + PUBLICATIONREL, + PUBLICATIONRELMAP, + RANGEMULTIRANGE, + RANGETYPE, + RELNAMENSP, + RELOID, + REPLORIGIDENT, + REPLORIGNAME, + RULERELNAME, + SEQRELID, + STATEXTDATASTXOID, + STATEXTNAMENSP, + STATEXTOID, + STATRELATTINH, + SUBSCRIPTIONNAME, + SUBSCRIPTIONOID, + SUBSCRIPTIONRELMAP, + TABLESPACEOID, + TRFOID, + TRFTYPELANG, + TSCONFIGMAP, + TSCONFIGNAMENSP, + TSCONFIGOID, + TSDICTNAMENSP, + TSDICTOID, + TSPARSERNAMENSP, + TSPARSEROID, + TSTEMPLATENAMENSP, + TSTEMPLATEOID, + TYPENAMENSP, + TYPEOID, + USERMAPPINGOID, + USERMAPPINGUSERSERVER, +}; +#define SysCacheSize (USERMAPPINGUSERSERVER + 1) diff --git a/parser/include/commands/async.h b/parser/include/postgres/commands/async.h similarity index 89% rename from parser/include/commands/async.h rename to parser/include/postgres/commands/async.h index 926af933..78daa25f 100644 --- a/parser/include/commands/async.h +++ b/parser/include/postgres/commands/async.h @@ -3,7 +3,7 @@ * async.h * Asynchronous notification: NOTIFY, LISTEN, UNLISTEN * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/async.h @@ -15,12 +15,8 @@ #include -/* - * The number of SLRU page buffers we use for the notification queue. - */ -#define NUM_NOTIFY_BUFFERS 8 - extern PGDLLIMPORT bool Trace_notify; +extern PGDLLIMPORT int max_notify_queue_pages; extern PGDLLIMPORT volatile sig_atomic_t notifyInterruptPending; extern Size AsyncShmemSize(void); diff --git a/parser/include/commands/dbcommands.h b/parser/include/postgres/commands/dbcommands.h similarity index 92% rename from parser/include/commands/dbcommands.h rename to parser/include/postgres/commands/dbcommands.h index c4947fa7..92e17c71 100644 --- a/parser/include/commands/dbcommands.h +++ b/parser/include/postgres/commands/dbcommands.h @@ -4,7 +4,7 @@ * Database management commands (create/drop database). * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/dbcommands.h @@ -30,6 +30,7 @@ extern ObjectAddress AlterDatabaseOwner(const char *dbname, Oid newOwnerId); extern Oid get_database_oid(const char *dbname, bool missing_ok); extern char *get_database_name(Oid dbid); +extern bool have_createdb_privilege(void); extern void check_encoding_locale_matches(int encoding, const char *collate, const char *ctype); diff --git a/parser/include/commands/defrem.h b/parser/include/postgres/commands/defrem.h similarity index 93% rename from parser/include/commands/defrem.h rename to parser/include/postgres/commands/defrem.h index 1d3ce246..74ca50ac 100644 --- a/parser/include/commands/defrem.h +++ b/parser/include/postgres/commands/defrem.h @@ -4,7 +4,7 @@ * POSTGRES define and remove utility definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/defrem.h @@ -24,17 +24,18 @@ extern void RemoveObjects(DropStmt *stmt); /* commands/indexcmds.c */ -extern ObjectAddress DefineIndex(Oid relationId, +extern ObjectAddress DefineIndex(Oid tableId, IndexStmt *stmt, Oid indexRelationId, Oid parentIndexId, Oid parentConstraintId, + int total_parts, bool is_alter_table, bool check_rights, bool check_not_in_use, bool skip_build, bool quiet); -extern void ExecReindex(ParseState *pstate, ReindexStmt *stmt, bool isTopLevel); +extern void ExecReindex(ParseState *pstate, const ReindexStmt *stmt, bool isTopLevel); extern char *makeObjectName(const char *name1, const char *name2, const char *label); extern char *ChooseRelationName(const char *name1, const char *name2, @@ -42,10 +43,10 @@ extern char *ChooseRelationName(const char *name1, const char *name2, bool isconstraint); extern bool CheckIndexCompatible(Oid oldId, const char *accessMethodName, - List *attributeList, - List *exclusionOpNames); + const List *attributeList, + const List *exclusionOpNames); extern Oid GetDefaultOpClass(Oid type_id, Oid am_id); -extern Oid ResolveOpClass(List *opclass, Oid attrType, +extern Oid ResolveOpClass(const List *opclass, Oid attrType, const char *accessMethodName, Oid accessMethodId); /* commands/functioncmds.c */ @@ -80,7 +81,7 @@ extern void RemoveOperatorById(Oid operOid); extern ObjectAddress AlterOperator(AlterOperatorStmt *stmt); /* commands/statscmds.c */ -extern ObjectAddress CreateStatistics(CreateStatsStmt *stmt); +extern ObjectAddress CreateStatistics(CreateStatsStmt *stmt, bool check_rights); extern ObjectAddress AlterStatistics(AlterStatsStmt *stmt); extern void RemoveStatisticsById(Oid statsOid); extern void RemoveStatisticsDataById(Oid statsOid, bool inh); diff --git a/parser/include/commands/event_trigger.h b/parser/include/postgres/commands/event_trigger.h similarity index 89% rename from parser/include/commands/event_trigger.h rename to parser/include/postgres/commands/event_trigger.h index 10091c3a..00cfb397 100644 --- a/parser/include/commands/event_trigger.h +++ b/parser/include/postgres/commands/event_trigger.h @@ -3,7 +3,7 @@ * event_trigger.h * Declarations for command trigger handling. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/event_trigger.h @@ -29,6 +29,14 @@ typedef struct EventTriggerData CommandTag tag; } EventTriggerData; +extern PGDLLIMPORT bool event_triggers; + +/* + * Reasons for relation rewrites. + * + * pg_event_trigger_table_rewrite_reason() uses these values, so make sure to + * update the documentation when changing this list. + */ #define AT_REWRITE_ALTER_PERSISTENCE 0x01 #define AT_REWRITE_DEFAULT_VAL 0x02 #define AT_REWRITE_COLUMN_REWRITE 0x04 @@ -49,11 +57,12 @@ extern ObjectAddress AlterEventTriggerOwner(const char *name, Oid newOwnerId); extern void AlterEventTriggerOwner_oid(Oid, Oid newOwnerId); extern bool EventTriggerSupportsObjectType(ObjectType obtype); -extern bool EventTriggerSupportsObjectClass(ObjectClass objclass); +extern bool EventTriggerSupportsObject(const ObjectAddress *object); extern void EventTriggerDDLCommandStart(Node *parsetree); extern void EventTriggerDDLCommandEnd(Node *parsetree); extern void EventTriggerSQLDrop(Node *parsetree); extern void EventTriggerTableRewrite(Node *parsetree, Oid tableOid, int reason); +extern void EventTriggerOnLogin(void); extern bool EventTriggerBeginCompleteQuery(void); extern void EventTriggerEndCompleteQuery(void); diff --git a/parser/include/commands/explain.h b/parser/include/postgres/commands/explain.h similarity index 84% rename from parser/include/commands/explain.h rename to parser/include/postgres/commands/explain.h index 666977fb..9b8b351d 100644 --- a/parser/include/commands/explain.h +++ b/parser/include/postgres/commands/explain.h @@ -3,7 +3,7 @@ * explain.h * prototypes for explain.c * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994-5, Regents of the University of California * * src/include/commands/explain.h @@ -17,12 +17,19 @@ #include "lib/stringinfo.h" #include "parser/parse_node.h" +typedef enum ExplainSerializeOption +{ + EXPLAIN_SERIALIZE_NONE, + EXPLAIN_SERIALIZE_TEXT, + EXPLAIN_SERIALIZE_BINARY, +} ExplainSerializeOption; + typedef enum ExplainFormat { EXPLAIN_FORMAT_TEXT, EXPLAIN_FORMAT_XML, EXPLAIN_FORMAT_JSON, - EXPLAIN_FORMAT_YAML + EXPLAIN_FORMAT_YAML, } ExplainFormat; typedef struct ExplainWorkersState @@ -45,7 +52,10 @@ typedef struct ExplainState bool wal; /* print WAL usage */ bool timing; /* print detailed node timing */ bool summary; /* print total planning and execution timing */ + bool memory; /* print planner's memory usage information */ bool settings; /* print modified settings */ + bool generic; /* generate a generic plan */ + ExplainSerializeOption serialize; /* serialize the query's output? */ ExplainFormat format; /* output format */ /* state for output formatting --- not reset for each new plan tree */ int indent; /* current indentation level */ @@ -78,6 +88,10 @@ extern PGDLLIMPORT explain_get_index_name_hook_type explain_get_index_name_hook; extern void ExplainQuery(ParseState *pstate, ExplainStmt *stmt, ParamListInfo params, DestReceiver *dest); +extern void standard_ExplainOneQuery(Query *query, int cursorOptions, + IntoClause *into, ExplainState *es, + const char *queryString, ParamListInfo params, + QueryEnvironment *queryEnv); extern ExplainState *NewExplainState(void); @@ -91,7 +105,8 @@ extern void ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into, ExplainState *es, const char *queryString, ParamListInfo params, QueryEnvironment *queryEnv, const instr_time *planduration, - const BufferUsage *bufusage); + const BufferUsage *bufusage, + const MemoryContextCounters *mem_counters); extern void ExplainPrintPlan(ExplainState *es, QueryDesc *queryDesc); extern void ExplainPrintTriggers(ExplainState *es, QueryDesc *queryDesc); @@ -99,6 +114,7 @@ extern void ExplainPrintTriggers(ExplainState *es, QueryDesc *queryDesc); extern void ExplainPrintJITSummary(ExplainState *es, QueryDesc *queryDesc); extern void ExplainQueryText(ExplainState *es, QueryDesc *queryDesc); +extern void ExplainQueryParameters(ExplainState *es, ParamListInfo params, int maxlen); extern void ExplainBeginOutput(ExplainState *es); extern void ExplainEndOutput(ExplainState *es); @@ -124,4 +140,6 @@ extern void ExplainOpenGroup(const char *objtype, const char *labelname, extern void ExplainCloseGroup(const char *objtype, const char *labelname, bool labeled, ExplainState *es); +extern DestReceiver *CreateExplainSerializeDestReceiver(ExplainState *es); + #endif /* EXPLAIN_H */ diff --git a/parser/include/postgres/commands/gokeep.go b/parser/include/postgres/commands/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/commands/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/commands/prepare.h b/parser/include/postgres/commands/prepare.h similarity index 97% rename from parser/include/commands/prepare.h rename to parser/include/postgres/commands/prepare.h index e30df8f7..61472c11 100644 --- a/parser/include/commands/prepare.h +++ b/parser/include/postgres/commands/prepare.h @@ -4,7 +4,7 @@ * PREPARE, EXECUTE and DEALLOCATE commands, and prepared-stmt storage * * - * Copyright (c) 2002-2022, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * * src/include/commands/prepare.h * diff --git a/parser/include/commands/tablespace.h b/parser/include/postgres/commands/tablespace.h similarity index 87% rename from parser/include/commands/tablespace.h rename to parser/include/postgres/commands/tablespace.h index 24b64733..b6cec632 100644 --- a/parser/include/commands/tablespace.h +++ b/parser/include/postgres/commands/tablespace.h @@ -4,7 +4,7 @@ * Tablespace management commands (create/drop tablespace). * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/tablespace.h @@ -50,7 +50,7 @@ extern void DropTableSpace(DropTableSpaceStmt *stmt); extern ObjectAddress RenameTableSpace(const char *oldname, const char *newname); extern Oid AlterTableSpaceOptions(AlterTableSpaceOptionsStmt *stmt); -extern void TablespaceCreateDbspace(Oid spcNode, Oid dbNode, bool isRedo); +extern void TablespaceCreateDbspace(Oid spcOid, Oid dbOid, bool isRedo); extern Oid GetDefaultTablespace(char relpersistence, bool partitioned); @@ -62,8 +62,8 @@ extern char *get_tablespace_name(Oid spc_oid); extern bool directory_is_empty(const char *path); extern void remove_tablespace_symlink(const char *linkloc); -extern void tblspc_redo(XLogReaderState *rptr); -extern void tblspc_desc(StringInfo buf, XLogReaderState *rptr); +extern void tblspc_redo(XLogReaderState *record); +extern void tblspc_desc(StringInfo buf, XLogReaderState *record); extern const char *tblspc_identify(uint8 info); #endif /* TABLESPACE_H */ diff --git a/parser/include/commands/trigger.h b/parser/include/postgres/commands/trigger.h similarity index 88% rename from parser/include/commands/trigger.h rename to parser/include/postgres/commands/trigger.h index 03774388..f9e4dc4f 100644 --- a/parser/include/commands/trigger.h +++ b/parser/include/postgres/commands/trigger.h @@ -3,7 +3,7 @@ * trigger.h * Declarations for trigger handling. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/trigger.h @@ -166,15 +166,13 @@ extern void TriggerSetParentTrigger(Relation trigRel, Oid parentTrigId, Oid childTableId); extern void RemoveTriggerById(Oid trigOid); -extern Oid get_trigger_oid(Oid relid, const char *name, bool missing_ok); +extern Oid get_trigger_oid(Oid relid, const char *trigname, bool missing_ok); extern ObjectAddress renametrig(RenameStmt *stmt); -extern void EnableDisableTriggerNew(Relation rel, const char *tgname, - char fires_when, bool skip_system, bool recurse, - LOCKMODE lockmode); -extern void EnableDisableTrigger(Relation rel, const char *tgname, - char fires_when, bool skip_system, LOCKMODE lockmode); +extern void EnableDisableTrigger(Relation rel, const char *tgname, Oid tgparent, + char fires_when, bool skip_system, bool recurse, + LOCKMODE lockmode); extern void RelationBuildTriggers(Relation relation); @@ -208,12 +206,23 @@ extern void ExecBSDeleteTriggers(EState *estate, extern void ExecASDeleteTriggers(EState *estate, ResultRelInfo *relinfo, TransitionCaptureState *transition_capture); +extern bool ExecBRDeleteTriggersNew(EState *estate, + EPQState *epqstate, + ResultRelInfo *relinfo, + ItemPointer tupleid, + HeapTuple fdw_trigtuple, + TupleTableSlot **epqslot, + TM_Result *tmresult, + TM_FailureData *tmfd, + bool is_merge_delete); extern bool ExecBRDeleteTriggers(EState *estate, EPQState *epqstate, ResultRelInfo *relinfo, ItemPointer tupleid, HeapTuple fdw_trigtuple, - TupleTableSlot **epqslot); + TupleTableSlot **epqslot, + TM_Result *tmresult, + TM_FailureData *tmfd); extern void ExecARDeleteTriggers(EState *estate, ResultRelInfo *relinfo, ItemPointer tupleid, @@ -228,27 +237,37 @@ extern void ExecBSUpdateTriggers(EState *estate, extern void ExecASUpdateTriggers(EState *estate, ResultRelInfo *relinfo, TransitionCaptureState *transition_capture); +extern bool ExecBRUpdateTriggersNew(EState *estate, + EPQState *epqstate, + ResultRelInfo *relinfo, + ItemPointer tupleid, + HeapTuple fdw_trigtuple, + TupleTableSlot *newslot, + TM_Result *tmresult, + TM_FailureData *tmfd, + bool is_merge_update); extern bool ExecBRUpdateTriggers(EState *estate, EPQState *epqstate, ResultRelInfo *relinfo, ItemPointer tupleid, HeapTuple fdw_trigtuple, - TupleTableSlot *slot, - TM_FailureData *tmfdp); + TupleTableSlot *newslot, + TM_Result *tmresult, + TM_FailureData *tmfd); extern void ExecARUpdateTriggers(EState *estate, ResultRelInfo *relinfo, ResultRelInfo *src_partinfo, ResultRelInfo *dst_partinfo, ItemPointer tupleid, HeapTuple fdw_trigtuple, - TupleTableSlot *slot, + TupleTableSlot *newslot, List *recheckIndexes, TransitionCaptureState *transition_capture, bool is_crosspart_update); extern bool ExecIRUpdateTriggers(EState *estate, ResultRelInfo *relinfo, HeapTuple trigtuple, - TupleTableSlot *slot); + TupleTableSlot *newslot); extern void ExecBSTruncateTriggers(EState *estate, ResultRelInfo *relinfo); extern void ExecASTruncateTriggers(EState *estate, @@ -269,9 +288,9 @@ extern bool AfterTriggerPendingOnRel(Oid relid); * in utils/adt/ri_triggers.c */ extern bool RI_FKey_pk_upd_check_required(Trigger *trigger, Relation pk_rel, - TupleTableSlot *old_slot, TupleTableSlot *new_slot); + TupleTableSlot *oldslot, TupleTableSlot *newslot); extern bool RI_FKey_fk_upd_check_required(Trigger *trigger, Relation fk_rel, - TupleTableSlot *old_slot, TupleTableSlot *new_slot); + TupleTableSlot *oldslot, TupleTableSlot *newslot); extern bool RI_Initial_Check(Trigger *trigger, Relation fk_rel, Relation pk_rel); extern void RI_PartitionRemove_Check(Trigger *trigger, Relation fk_rel, diff --git a/parser/include/commands/user.h b/parser/include/postgres/commands/user.h similarity index 74% rename from parser/include/commands/user.h rename to parser/include/postgres/commands/user.h index d3dd8303..97dcb937 100644 --- a/parser/include/commands/user.h +++ b/parser/include/postgres/commands/user.h @@ -15,9 +15,11 @@ #include "libpq/crypt.h" #include "nodes/parsenodes.h" #include "parser/parse_node.h" +#include "utils/guc.h" -/* GUC. Is actually of type PasswordType. */ -extern PGDLLIMPORT int Password_encryption; +/* GUCs */ +extern PGDLLIMPORT int Password_encryption; /* values from enum PasswordType */ +extern PGDLLIMPORT char *createrole_self_grant; /* Hook to check passwords in CreateRole() and AlterRole() */ typedef void (*check_password_hook_type) (const char *username, const char *shadow_pass, PasswordType password_type, Datum validuntil_time, bool validuntil_null); @@ -28,10 +30,14 @@ extern Oid CreateRole(ParseState *pstate, CreateRoleStmt *stmt); extern Oid AlterRole(ParseState *pstate, AlterRoleStmt *stmt); extern Oid AlterRoleSet(AlterRoleSetStmt *stmt); extern void DropRole(DropRoleStmt *stmt); -extern void GrantRole(GrantRoleStmt *stmt); +extern void GrantRole(ParseState *pstate, GrantRoleStmt *stmt); extern ObjectAddress RenameRole(const char *oldname, const char *newname); extern void DropOwnedObjects(DropOwnedStmt *stmt); extern void ReassignOwnedObjects(ReassignOwnedStmt *stmt); extern List *roleSpecsToIds(List *memberNames); +extern bool check_createrole_self_grant(char **newval, void **extra, + GucSource source); +extern void assign_createrole_self_grant(const char *newval, void *extra); + #endif /* USER_H */ diff --git a/parser/include/commands/vacuum.h b/parser/include/postgres/commands/vacuum.h similarity index 76% rename from parser/include/commands/vacuum.h rename to parser/include/postgres/commands/vacuum.h index f38e1148..759f9a87 100644 --- a/parser/include/commands/vacuum.h +++ b/parser/include/postgres/commands/vacuum.h @@ -4,7 +4,7 @@ * header file for postgres vacuum cleaner and statistics analyzer * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/commands/vacuum.h @@ -17,6 +17,7 @@ #include "access/htup.h" #include "access/genam.h" #include "access/parallel.h" +#include "access/tidstore.h" #include "catalog/pg_class.h" #include "catalog/pg_statistic.h" #include "catalog/pg_type.h" @@ -116,16 +117,12 @@ typedef struct VacAttrStats { /* * These fields are set up by the main ANALYZE code before invoking the - * type-specific typanalyze function. - * - * Note: do not assume that the data being analyzed has the same datatype - * shown in attr, ie do not trust attr->atttypid, attlen, etc. This is - * because some index opclasses store a different type than the underlying - * column/expression. Instead use attrtypid, attrtypmod, and attrtype for + * type-specific typanalyze function. They don't necessarily match what + * is in pg_attribute, because some index opclasses store a different type + * than the underlying column/expression. Therefore, use these fields for * information about the datatype being fed to the typanalyze function. - * Likewise, use attrcollid not attr->attcollation. */ - Form_pg_attribute attr; /* copy of pg_attribute row for column */ + int attstattarget; /* -1 to use default */ Oid attrtypid; /* type of data being analyzed */ int32 attrtypmod; /* typmod of data being analyzed */ Form_pg_type attrtype; /* copy of pg_type row for attrtypid */ @@ -186,8 +183,11 @@ typedef struct VacAttrStats #define VACOPT_FREEZE 0x08 /* FREEZE option */ #define VACOPT_FULL 0x10 /* FULL (non-concurrent) vacuum */ #define VACOPT_SKIP_LOCKED 0x20 /* skip if cannot get lock */ -#define VACOPT_PROCESS_TOAST 0x40 /* process the TOAST table, if any */ -#define VACOPT_DISABLE_PAGE_SKIPPING 0x80 /* don't skip any pages */ +#define VACOPT_PROCESS_MAIN 0x40 /* process main relation */ +#define VACOPT_PROCESS_TOAST 0x80 /* process the TOAST table, if any */ +#define VACOPT_DISABLE_PAGE_SKIPPING 0x100 /* don't skip any pages */ +#define VACOPT_SKIP_DATABASE_STATS 0x200 /* skip vac_update_datfrozenxid() */ +#define VACOPT_ONLY_DATABASE_STATS 0x400 /* only vac_update_datfrozenxid() */ /* * Values used by index_cleanup and truncate params. @@ -210,6 +210,9 @@ typedef enum VacOptValue * * Note that at least one of VACOPT_VACUUM and VACOPT_ANALYZE must be set * in options. + * + * When adding a new VacuumParam member, consider adding it to vacuumdb as + * well. */ typedef struct VacuumParams { @@ -226,6 +229,7 @@ typedef struct VacuumParams * default */ VacOptValue index_cleanup; /* Do index vacuum and cleanup */ VacOptValue truncate; /* Truncate empty pages at the end */ + Oid toast_parent; /* for privilege checks when recursing */ /* * The number of parallel vacuum workers. 0 by default which means choose @@ -236,19 +240,53 @@ typedef struct VacuumParams } VacuumParams; /* - * VacDeadItems stores TIDs whose index tuples are deleted by index vacuuming. + * VacuumCutoffs is immutable state that describes the cutoffs used by VACUUM. + * Established at the beginning of each VACUUM operation. */ -typedef struct VacDeadItems +struct VacuumCutoffs { - int max_items; /* # slots allocated in array */ - int num_items; /* current # of entries */ + /* + * Existing pg_class fields at start of VACUUM + */ + TransactionId relfrozenxid; + MultiXactId relminmxid; - /* Sorted array of TIDs to delete from indexes */ - ItemPointerData items[FLEXIBLE_ARRAY_MEMBER]; -} VacDeadItems; + /* + * OldestXmin is the Xid below which tuples deleted by any xact (that + * committed) should be considered DEAD, not just RECENTLY_DEAD. + * + * OldestMxact is the Mxid below which MultiXacts are definitely not seen + * as visible by any running transaction. + * + * OldestXmin and OldestMxact are also the most recent values that can + * ever be passed to vac_update_relstats() as frozenxid and minmulti + * arguments at the end of VACUUM. These same values should be passed + * when it turns out that VACUUM will leave no unfrozen XIDs/MXIDs behind + * in the table. + */ + TransactionId OldestXmin; + MultiXactId OldestMxact; -#define MAXDEADITEMS(avail_mem) \ - (((avail_mem) - offsetof(VacDeadItems, items)) / sizeof(ItemPointerData)) + /* + * FreezeLimit is the Xid below which all Xids are definitely frozen or + * removed in pages VACUUM scans and cleanup locks. + * + * MultiXactCutoff is the value below which all MultiXactIds are + * definitely removed from Xmax in pages VACUUM scans and cleanup locks. + */ + TransactionId FreezeLimit; + MultiXactId MultiXactCutoff; +}; + +/* + * VacDeadItemsInfo stores supplemental information for dead tuple TID + * storage (i.e. TidStore). + */ +typedef struct VacDeadItemsInfo +{ + size_t max_bytes; /* the maximum bytes TidStore can use */ + int64 num_items; /* current # of entries */ +} VacDeadItemsInfo; /* GUC parameters */ extern PGDLLIMPORT int default_statistics_target; /* PGDLLIMPORT for PostGIS */ @@ -259,16 +297,27 @@ extern PGDLLIMPORT int vacuum_multixact_freeze_table_age; extern PGDLLIMPORT int vacuum_failsafe_age; extern PGDLLIMPORT int vacuum_multixact_failsafe_age; +/* + * Maximum value for default_statistics_target and per-column statistics + * targets. This is fairly arbitrary, mainly to prevent users from creating + * unreasonably large statistics that the system cannot handle well. + */ +#define MAX_STATISTICS_TARGET 10000 + /* Variables for cost-based parallel vacuum */ extern PGDLLIMPORT pg_atomic_uint32 *VacuumSharedCostBalance; extern PGDLLIMPORT pg_atomic_uint32 *VacuumActiveNWorkers; extern PGDLLIMPORT int VacuumCostBalanceLocal; +extern PGDLLIMPORT bool VacuumFailsafeActive; +extern PGDLLIMPORT double vacuum_cost_delay; +extern PGDLLIMPORT int vacuum_cost_limit; /* in commands/vacuum.c */ extern void ExecVacuum(ParseState *pstate, VacuumStmt *vacstmt, bool isTopLevel); extern void vacuum(List *relations, VacuumParams *params, - BufferAccessStrategy bstrategy, bool isTopLevel); + BufferAccessStrategy bstrategy, MemoryContext vac_context, + bool isTopLevel); extern void vac_open_indexes(Relation relation, LOCKMODE lockmode, int *nindexes, Relation **Irel); extern void vac_close_indexes(int nindexes, Relation *Irel, LOCKMODE lockmode); @@ -286,37 +335,36 @@ extern void vac_update_relstats(Relation relation, bool *frozenxid_updated, bool *minmulti_updated, bool in_outer_xact); -extern bool vacuum_set_xid_limits(Relation rel, - int freeze_min_age, int freeze_table_age, - int multixact_freeze_min_age, - int multixact_freeze_table_age, - TransactionId *oldestXmin, - MultiXactId *oldestMxact, - TransactionId *freezeLimit, - MultiXactId *multiXactCutoff); -extern bool vacuum_xid_failsafe_check(TransactionId relfrozenxid, - MultiXactId relminmxid); +extern bool vacuum_get_cutoffs(Relation rel, const VacuumParams *params, + struct VacuumCutoffs *cutoffs); +extern bool vacuum_xid_failsafe_check(const struct VacuumCutoffs *cutoffs); extern void vac_update_datfrozenxid(void); extern void vacuum_delay_point(void); -extern bool vacuum_is_relation_owner(Oid relid, Form_pg_class reltuple, - bits32 options); +extern bool vacuum_is_permitted_for_relation(Oid relid, Form_pg_class reltuple, + bits32 options); extern Relation vacuum_open_relation(Oid relid, RangeVar *relation, bits32 options, bool verbose, LOCKMODE lmode); extern IndexBulkDeleteResult *vac_bulkdel_one_index(IndexVacuumInfo *ivinfo, IndexBulkDeleteResult *istat, - VacDeadItems *dead_items); + TidStore *dead_items, + VacDeadItemsInfo *dead_items_info); extern IndexBulkDeleteResult *vac_cleanup_one_index(IndexVacuumInfo *ivinfo, IndexBulkDeleteResult *istat); -extern Size vac_max_items_to_alloc_size(int max_items); + +/* In postmaster/autovacuum.c */ +extern void AutoVacuumUpdateCostLimit(void); +extern void VacuumUpdateCosts(void); /* in commands/vacuumparallel.c */ extern ParallelVacuumState *parallel_vacuum_init(Relation rel, Relation *indrels, int nindexes, int nrequested_workers, - int max_items, int elevel, + int vac_work_mem, int elevel, BufferAccessStrategy bstrategy); extern void parallel_vacuum_end(ParallelVacuumState *pvs, IndexBulkDeleteResult **istats); -extern VacDeadItems *parallel_vacuum_get_dead_items(ParallelVacuumState *pvs); +extern TidStore *parallel_vacuum_get_dead_items(ParallelVacuumState *pvs, + VacDeadItemsInfo **dead_items_info_p); +extern void parallel_vacuum_reset_dead_items(ParallelVacuumState *pvs); extern void parallel_vacuum_bulkdel_all_indexes(ParallelVacuumState *pvs, long num_table_tuples, int num_index_scans); diff --git a/parser/include/postgres/common/cryptohash.h b/parser/include/postgres/common/cryptohash.h new file mode 100644 index 00000000..0fe77341 --- /dev/null +++ b/parser/include/postgres/common/cryptohash.h @@ -0,0 +1,39 @@ +/*------------------------------------------------------------------------- + * + * cryptohash.h + * Generic headers for cryptographic hash functions. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/common/cryptohash.h + * + *------------------------------------------------------------------------- + */ + +#ifndef PG_CRYPTOHASH_H +#define PG_CRYPTOHASH_H + +/* Context Structures for each hash function */ +typedef enum +{ + PG_MD5 = 0, + PG_SHA1, + PG_SHA224, + PG_SHA256, + PG_SHA384, + PG_SHA512, +} pg_cryptohash_type; + +/* opaque context, private to each cryptohash implementation */ +typedef struct pg_cryptohash_ctx pg_cryptohash_ctx; + +extern pg_cryptohash_ctx *pg_cryptohash_create(pg_cryptohash_type type); +extern int pg_cryptohash_init(pg_cryptohash_ctx *ctx); +extern int pg_cryptohash_update(pg_cryptohash_ctx *ctx, const uint8 *data, size_t len); +extern int pg_cryptohash_final(pg_cryptohash_ctx *ctx, uint8 *dest, size_t len); +extern void pg_cryptohash_free(pg_cryptohash_ctx *ctx); +extern const char *pg_cryptohash_error(pg_cryptohash_ctx *ctx); + +#endif /* PG_CRYPTOHASH_H */ diff --git a/parser/include/common/file_perm.h b/parser/include/postgres/common/file_perm.h similarity index 96% rename from parser/include/common/file_perm.h rename to parser/include/postgres/common/file_perm.h index 48d68ef2..d1f56167 100644 --- a/parser/include/common/file_perm.h +++ b/parser/include/postgres/common/file_perm.h @@ -3,7 +3,7 @@ * File and directory permission definitions * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/file_perm.h diff --git a/parser/include/postgres/common/file_utils.h b/parser/include/postgres/common/file_utils.h new file mode 100644 index 00000000..e4339fb7 --- /dev/null +++ b/parser/include/postgres/common/file_utils.h @@ -0,0 +1,65 @@ +/*------------------------------------------------------------------------- + * + * Assorted utility functions to work on files. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/common/file_utils.h + * + *------------------------------------------------------------------------- + */ +#ifndef FILE_UTILS_H +#define FILE_UTILS_H + +#include + +typedef enum PGFileType +{ + PGFILETYPE_ERROR, + PGFILETYPE_UNKNOWN, + PGFILETYPE_REG, + PGFILETYPE_DIR, + PGFILETYPE_LNK, +} PGFileType; + +typedef enum DataDirSyncMethod +{ + DATA_DIR_SYNC_METHOD_FSYNC, + DATA_DIR_SYNC_METHOD_SYNCFS, +} DataDirSyncMethod; + +struct iovec; /* avoid including port/pg_iovec.h here */ + +#ifdef FRONTEND +extern int fsync_fname(const char *fname, bool isdir); +extern void sync_pgdata(const char *pg_data, int serverVersion, + DataDirSyncMethod sync_method); +extern void sync_dir_recurse(const char *dir, DataDirSyncMethod sync_method); +extern int durable_rename(const char *oldfile, const char *newfile); +extern int fsync_parent_path(const char *fname); +#endif + +extern PGFileType get_dirent_type(const char *path, + const struct dirent *de, + bool look_through_symlinks, + int elevel); + +extern int compute_remaining_iovec(struct iovec *destination, + const struct iovec *source, + int iovcnt, + size_t transferred); + +extern ssize_t pg_pwritev_with_retry(int fd, + const struct iovec *iov, + int iovcnt, + off_t offset); + +extern ssize_t pg_pwrite_zeros(int fd, size_t size, off_t offset); + +/* Filename components */ +#define PG_TEMP_FILES_DIR "pgsql_tmp" +#define PG_TEMP_FILE_PREFIX "pgsql_tmp" + +#endif /* FILE_UTILS_H */ diff --git a/parser/include/postgres/common/gokeep.go b/parser/include/postgres/common/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/common/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/common/hashfn.h b/parser/include/postgres/common/hashfn.h similarity index 90% rename from parser/include/common/hashfn.h rename to parser/include/postgres/common/hashfn.h index 8d539c0a..0251b30a 100644 --- a/parser/include/common/hashfn.h +++ b/parser/include/postgres/common/hashfn.h @@ -1,7 +1,7 @@ /* * Utilities for working with hash values. * - * Portions Copyright (c) 2017-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group */ #ifndef HASHFN_H @@ -101,4 +101,19 @@ murmurhash32(uint32 data) return h; } +/* 64-bit variant */ +static inline uint64 +murmurhash64(uint64 data) +{ + uint64 h = data; + + h ^= h >> 33; + h *= 0xff51afd7ed558ccd; + h ^= h >> 33; + h *= 0xc4ceb9fe1a85ec53; + h ^= h >> 33; + + return h; +} + #endif /* HASHFN_H */ diff --git a/parser/include/postgres/common/hashfn_unstable.h b/parser/include/postgres/common/hashfn_unstable.h new file mode 100644 index 00000000..101f1180 --- /dev/null +++ b/parser/include/postgres/common/hashfn_unstable.h @@ -0,0 +1,407 @@ +/* + * hashfn_unstable.h + * + * Building blocks for creating fast inlineable hash functions. The + * functions in this file are not guaranteed to be stable between versions, + * and may differ by hardware platform. Hence they must not be used in + * indexes or other on-disk structures. See hashfn.h if you need stability. + * + * + * Portions Copyright (c) 2024, PostgreSQL Global Development Group + * + * src/include/common/hashfn_unstable.h + */ +#ifndef HASHFN_UNSTABLE_H +#define HASHFN_UNSTABLE_H + + +/* + * fasthash is a modification of code taken from + * https://code.google.com/archive/p/fast-hash/source/default/source + * under the terms of the MIT license. The original copyright + * notice follows: + */ + +/* The MIT License + + Copyright (C) 2012 Zilong Tan (eric.zltan@gmail.com) + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, copy, + modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* + * fasthash as implemented here has two interfaces: + * + * 1) Standalone functions, e.g. fasthash32() for a single value with a + * known length. These return the same hash code as the original, at + * least on little-endian machines. + * + * 2) Incremental interface. This can used for incorporating multiple + * inputs. First, initialize the hash state (here with a zero seed): + * + * fasthash_state hs; + * fasthash_init(&hs, 0); + * + * If the inputs are of types that can be trivially cast to uint64, it's + * sufficient to do: + * + * hs.accum = value1; + * fasthash_combine(&hs); + * hs.accum = value2; + * fasthash_combine(&hs); + * ... + * + * For longer or variable-length input, fasthash_accum() is a more + * flexible, but more verbose method. The standalone functions use this + * internally, so see fasthash64() for an example of this. + * + * After all inputs have been mixed in, finalize the hash: + * + * hashcode = fasthash_final32(&hs, 0); + * + * The incremental interface allows an optimization for NUL-terminated + * C strings: + * + * len = fasthash_accum_cstring(&hs, str); + * hashcode = fasthash_final32(&hs, len); + * + * By handling the terminator on-the-fly, we can avoid needing a strlen() + * call to tell us how many bytes to hash. Experimentation has found that + * SMHasher fails unless we incorporate the length, so it is passed to + * the finalizer as a tweak. + */ + + +typedef struct fasthash_state +{ + /* staging area for chunks of input */ + uint64 accum; + + uint64 hash; +} fasthash_state; + +#define FH_SIZEOF_ACCUM sizeof(uint64) + + +/* + * Initialize the hash state. + * + * 'seed' can be zero. + */ +static inline void +fasthash_init(fasthash_state *hs, uint64 seed) +{ + memset(hs, 0, sizeof(fasthash_state)); + hs->hash = seed ^ 0x880355f21e6d1965; +} + +/* both the finalizer and part of the combining step */ +static inline uint64 +fasthash_mix(uint64 h, uint64 tweak) +{ + h ^= (h >> 23) + tweak; + h *= 0x2127599bf4325c37; + h ^= h >> 47; + return h; +} + +/* combine one chunk of input into the hash */ +static inline void +fasthash_combine(fasthash_state *hs) +{ + hs->hash ^= fasthash_mix(hs->accum, 0); + hs->hash *= 0x880355f21e6d1965; +} + +/* accumulate up to 8 bytes of input and combine it into the hash */ +static inline void +fasthash_accum(fasthash_state *hs, const char *k, size_t len) +{ + uint32 lower_four; + + Assert(len <= FH_SIZEOF_ACCUM); + hs->accum = 0; + + /* + * For consistency, bytewise loads must match the platform's endianness. + */ +#ifdef WORDS_BIGENDIAN + switch (len) + { + case 8: + memcpy(&hs->accum, k, 8); + break; + case 7: + hs->accum |= (uint64) k[6] << 8; + /* FALLTHROUGH */ + case 6: + hs->accum |= (uint64) k[5] << 16; + /* FALLTHROUGH */ + case 5: + hs->accum |= (uint64) k[4] << 24; + /* FALLTHROUGH */ + case 4: + memcpy(&lower_four, k, sizeof(lower_four)); + hs->accum |= (uint64) lower_four << 32; + break; + case 3: + hs->accum |= (uint64) k[2] << 40; + /* FALLTHROUGH */ + case 2: + hs->accum |= (uint64) k[1] << 48; + /* FALLTHROUGH */ + case 1: + hs->accum |= (uint64) k[0] << 56; + break; + case 0: + return; + } +#else + switch (len) + { + case 8: + memcpy(&hs->accum, k, 8); + break; + case 7: + hs->accum |= (uint64) k[6] << 48; + /* FALLTHROUGH */ + case 6: + hs->accum |= (uint64) k[5] << 40; + /* FALLTHROUGH */ + case 5: + hs->accum |= (uint64) k[4] << 32; + /* FALLTHROUGH */ + case 4: + memcpy(&lower_four, k, sizeof(lower_four)); + hs->accum |= lower_four; + break; + case 3: + hs->accum |= (uint64) k[2] << 16; + /* FALLTHROUGH */ + case 2: + hs->accum |= (uint64) k[1] << 8; + /* FALLTHROUGH */ + case 1: + hs->accum |= (uint64) k[0]; + break; + case 0: + return; + } +#endif + + fasthash_combine(hs); +} + +/* + * Set high bit in lowest byte where the input is zero, from: + * https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord + */ +#define haszero64(v) \ + (((v) - 0x0101010101010101) & ~(v) & 0x8080808080808080) + +/* + * all-purpose workhorse for fasthash_accum_cstring + */ +static inline size_t +fasthash_accum_cstring_unaligned(fasthash_state *hs, const char *str) +{ + const char *const start = str; + + while (*str) + { + size_t chunk_len = 0; + + while (chunk_len < FH_SIZEOF_ACCUM && str[chunk_len] != '\0') + chunk_len++; + + fasthash_accum(hs, str, chunk_len); + str += chunk_len; + } + + return str - start; +} + +/* + * specialized workhorse for fasthash_accum_cstring + * + * With an aligned pointer, we consume the string a word at a time. + * Loading the word containing the NUL terminator cannot segfault since + * allocation boundaries are suitably aligned. To keep from setting + * off alarms with address sanitizers, exclude this function from + * such testing. + */ +pg_attribute_no_sanitize_address() +static inline size_t +fasthash_accum_cstring_aligned(fasthash_state *hs, const char *str) +{ + const char *const start = str; + size_t remainder; + uint64 zero_byte_low; + + Assert(PointerIsAligned(start, uint64)); + + /* + * For every chunk of input, check for zero bytes before mixing into the + * hash. The chunk with zeros must contain the NUL terminator. + */ + for (;;) + { + uint64 chunk = *(uint64 *) str; + + zero_byte_low = haszero64(chunk); + if (zero_byte_low) + break; + + hs->accum = chunk; + fasthash_combine(hs); + str += FH_SIZEOF_ACCUM; + } + + /* mix in remaining bytes */ + remainder = fasthash_accum_cstring_unaligned(hs, str); + str += remainder; + + return str - start; +} + +/* + * Mix 'str' into the hash state and return the length of the string. + */ +static inline size_t +fasthash_accum_cstring(fasthash_state *hs, const char *str) +{ +#if SIZEOF_VOID_P >= 8 + + size_t len; +#ifdef USE_ASSERT_CHECKING + size_t len_check; + fasthash_state hs_check; + + memcpy(&hs_check, hs, sizeof(fasthash_state)); + len_check = fasthash_accum_cstring_unaligned(&hs_check, str); +#endif + if (PointerIsAligned(str, uint64)) + { + len = fasthash_accum_cstring_aligned(hs, str); + Assert(len_check == len); + Assert(hs_check.hash == hs->hash); + return len; + } +#endif /* SIZEOF_VOID_P */ + + /* + * It's not worth it to try to make the word-at-a-time optimization work + * on 32-bit platforms. + */ + return fasthash_accum_cstring_unaligned(hs, str); +} + +/* + * The finalizer + * + * 'tweak' is intended to be the input length when the caller doesn't know + * the length ahead of time, such as for NUL-terminated strings, otherwise + * zero. + */ +static inline uint64 +fasthash_final64(fasthash_state *hs, uint64 tweak) +{ + return fasthash_mix(hs->hash, tweak); +} + +/* + * Reduce a 64-bit hash to a 32-bit hash. + * + * This optional step provides a bit more additional mixing compared to + * just taking the lower 32-bits. + */ +static inline uint32 +fasthash_reduce32(uint64 h) +{ + /* + * Convert the 64-bit hashcode to Fermat residue, which shall retain + * information from both the higher and lower parts of hashcode. + */ + return h - (h >> 32); +} + +/* finalize and reduce */ +static inline uint32 +fasthash_final32(fasthash_state *hs, uint64 tweak) +{ + return fasthash_reduce32(fasthash_final64(hs, tweak)); +} + +/* + * The original fasthash64 function, re-implemented using the incremental + * interface. Returns a 64-bit hashcode. 'len' controls not only how + * many bytes to hash, but also modifies the internal seed. + * 'seed' can be zero. + */ +static inline uint64 +fasthash64(const char *k, size_t len, uint64 seed) +{ + fasthash_state hs; + + fasthash_init(&hs, 0); + + /* re-initialize the seed according to input length */ + hs.hash = seed ^ (len * 0x880355f21e6d1965); + + while (len >= FH_SIZEOF_ACCUM) + { + fasthash_accum(&hs, k, FH_SIZEOF_ACCUM); + k += FH_SIZEOF_ACCUM; + len -= FH_SIZEOF_ACCUM; + } + + fasthash_accum(&hs, k, len); + return fasthash_final64(&hs, 0); +} + +/* like fasthash64, but returns a 32-bit hashcode */ +static inline uint32 +fasthash32(const char *k, size_t len, uint64 seed) +{ + return fasthash_reduce32(fasthash64(k, len, seed)); +} + +/* + * Convenience function for hashing NUL-terminated strings + */ +static inline uint32 +hash_string(const char *s) +{ + fasthash_state hs; + size_t s_len; + + fasthash_init(&hs, 0); + + /* + * Combine string into the hash and save the length for tweaking the final + * mix. + */ + s_len = fasthash_accum_cstring(&hs, s); + + return fasthash_final32(&hs, s_len); +} + +#endif /* HASHFN_UNSTABLE_H */ diff --git a/parser/include/postgres/common/int.h b/parser/include/postgres/common/int.h new file mode 100644 index 00000000..7fc046e7 --- /dev/null +++ b/parser/include/postgres/common/int.h @@ -0,0 +1,512 @@ +/*------------------------------------------------------------------------- + * + * int.h + * Overflow-aware integer math and integer comparison routines. + * + * The routines in this file are intended to be well defined C, without + * relying on compiler flags like -fwrapv. + * + * To reduce the overhead of these routines try to use compiler intrinsics + * where available. That's not that important for the 16, 32 bit cases, but + * the 64 bit cases can be considerably faster with intrinsics. In case no + * intrinsics are available 128 bit math is used where available. + * + * Copyright (c) 2017-2024, PostgreSQL Global Development Group + * + * src/include/common/int.h + * + *------------------------------------------------------------------------- + */ +#ifndef COMMON_INT_H +#define COMMON_INT_H + + +/*--------- + * The following guidelines apply to all the overflow routines: + * - If a + b overflows, return true, otherwise store the result of a + b + * into *result. The content of *result is implementation defined in case of + * overflow. + * - If a - b overflows, return true, otherwise store the result of a - b + * into *result. The content of *result is implementation defined in case of + * overflow. + * - If a * b overflows, return true, otherwise store the result of a * b + * into *result. The content of *result is implementation defined in case of + * overflow. + *--------- + */ + +/*------------------------------------------------------------------------ + * Overflow routines for signed integers + *------------------------------------------------------------------------ + */ + +/* + * INT16 + */ +static inline bool +pg_add_s16_overflow(int16 a, int16 b, int16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + int32 res = (int32) a + (int32) b; + + if (res > PG_INT16_MAX || res < PG_INT16_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int16) res; + return false; +#endif +} + +static inline bool +pg_sub_s16_overflow(int16 a, int16 b, int16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + int32 res = (int32) a - (int32) b; + + if (res > PG_INT16_MAX || res < PG_INT16_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int16) res; + return false; +#endif +} + +static inline bool +pg_mul_s16_overflow(int16 a, int16 b, int16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#else + int32 res = (int32) a * (int32) b; + + if (res > PG_INT16_MAX || res < PG_INT16_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int16) res; + return false; +#endif +} + +/* + * INT32 + */ +static inline bool +pg_add_s32_overflow(int32 a, int32 b, int32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + int64 res = (int64) a + (int64) b; + + if (res > PG_INT32_MAX || res < PG_INT32_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int32) res; + return false; +#endif +} + +static inline bool +pg_sub_s32_overflow(int32 a, int32 b, int32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + int64 res = (int64) a - (int64) b; + + if (res > PG_INT32_MAX || res < PG_INT32_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int32) res; + return false; +#endif +} + +static inline bool +pg_mul_s32_overflow(int32 a, int32 b, int32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#else + int64 res = (int64) a * (int64) b; + + if (res > PG_INT32_MAX || res < PG_INT32_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int32) res; + return false; +#endif +} + +/* + * INT64 + */ +static inline bool +pg_add_s64_overflow(int64 a, int64 b, int64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#elif defined(HAVE_INT128) + int128 res = (int128) a + (int128) b; + + if (res > PG_INT64_MAX || res < PG_INT64_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int64) res; + return false; +#else + if ((a > 0 && b > 0 && a > PG_INT64_MAX - b) || + (a < 0 && b < 0 && a < PG_INT64_MIN - b)) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a + b; + return false; +#endif +} + +static inline bool +pg_sub_s64_overflow(int64 a, int64 b, int64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#elif defined(HAVE_INT128) + int128 res = (int128) a - (int128) b; + + if (res > PG_INT64_MAX || res < PG_INT64_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int64) res; + return false; +#else + /* + * Note: overflow is also possible when a == 0 and b < 0 (specifically, + * when b == PG_INT64_MIN). + */ + if ((a < 0 && b > 0 && a < PG_INT64_MIN + b) || + (a >= 0 && b < 0 && a > PG_INT64_MAX + b)) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a - b; + return false; +#endif +} + +static inline bool +pg_mul_s64_overflow(int64 a, int64 b, int64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#elif defined(HAVE_INT128) + int128 res = (int128) a * (int128) b; + + if (res > PG_INT64_MAX || res < PG_INT64_MIN) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (int64) res; + return false; +#else + /* + * Overflow can only happen if at least one value is outside the range + * sqrt(min)..sqrt(max) so check that first as the division can be quite a + * bit more expensive than the multiplication. + * + * Multiplying by 0 or 1 can't overflow of course and checking for 0 + * separately avoids any risk of dividing by 0. Be careful about dividing + * INT_MIN by -1 also, note reversing the a and b to ensure we're always + * dividing it by a positive value. + * + */ + if ((a > PG_INT32_MAX || a < PG_INT32_MIN || + b > PG_INT32_MAX || b < PG_INT32_MIN) && + a != 0 && a != 1 && b != 0 && b != 1 && + ((a > 0 && b > 0 && a > PG_INT64_MAX / b) || + (a > 0 && b < 0 && b < PG_INT64_MIN / a) || + (a < 0 && b > 0 && a < PG_INT64_MIN / b) || + (a < 0 && b < 0 && a < PG_INT64_MAX / b))) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a * b; + return false; +#endif +} + +/*------------------------------------------------------------------------ + * Overflow routines for unsigned integers + *------------------------------------------------------------------------ + */ + +/* + * UINT16 + */ +static inline bool +pg_add_u16_overflow(uint16 a, uint16 b, uint16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + uint16 res = a + b; + + if (res < a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +static inline bool +pg_sub_u16_overflow(uint16 a, uint16 b, uint16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + if (b > a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a - b; + return false; +#endif +} + +static inline bool +pg_mul_u16_overflow(uint16 a, uint16 b, uint16 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#else + uint32 res = (uint32) a * (uint32) b; + + if (res > PG_UINT16_MAX) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (uint16) res; + return false; +#endif +} + +/* + * INT32 + */ +static inline bool +pg_add_u32_overflow(uint32 a, uint32 b, uint32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + uint32 res = a + b; + + if (res < a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +static inline bool +pg_sub_u32_overflow(uint32 a, uint32 b, uint32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + if (b > a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a - b; + return false; +#endif +} + +static inline bool +pg_mul_u32_overflow(uint32 a, uint32 b, uint32 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#else + uint64 res = (uint64) a * (uint64) b; + + if (res > PG_UINT32_MAX) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (uint32) res; + return false; +#endif +} + +/* + * UINT64 + */ +static inline bool +pg_add_u64_overflow(uint64 a, uint64 b, uint64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + uint64 res = a + b; + + if (res < a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +static inline bool +pg_sub_u64_overflow(uint64 a, uint64 b, uint64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + if (b > a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a - b; + return false; +#endif +} + +static inline bool +pg_mul_u64_overflow(uint64 a, uint64 b, uint64 *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#elif defined(HAVE_INT128) + uint128 res = (uint128) a * (uint128) b; + + if (res > PG_UINT64_MAX) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = (uint64) res; + return false; +#else + uint64 res = a * b; + + if (a != 0 && b != res / a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +/*------------------------------------------------------------------------ + * + * Comparison routines for integer types. + * + * These routines are primarily intended for use in qsort() comparator + * functions and therefore return a positive integer, 0, or a negative + * integer depending on whether "a" is greater than, equal to, or less + * than "b", respectively. These functions are written to be as efficient + * as possible without introducing overflow risks, thereby helping ensure + * the comparators that use them are transitive. + * + * Types with fewer than 32 bits are cast to signed integers and + * subtracted. Other types are compared using > and <, and the results of + * those comparisons (which are either (int) 0 or (int) 1 per the C + * standard) are subtracted. + * + * NB: If the comparator function is inlined, some compilers may produce + * worse code with these helper functions than with code with the + * following form: + * + * if (a < b) + * return -1; + * if (a > b) + * return 1; + * return 0; + * + *------------------------------------------------------------------------ + */ + +static inline int +pg_cmp_s16(int16 a, int16 b) +{ + return (int32) a - (int32) b; +} + +static inline int +pg_cmp_u16(uint16 a, uint16 b) +{ + return (int32) a - (int32) b; +} + +static inline int +pg_cmp_s32(int32 a, int32 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_u32(uint32 a, uint32 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_s64(int64 a, int64 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_u64(uint64 a, uint64 b) +{ + return (a > b) - (a < b); +} + +static inline int +pg_cmp_size(size_t a, size_t b) +{ + return (a > b) - (a < b); +} + +#endif /* COMMON_INT_H */ diff --git a/parser/include/common/keywords.h b/parser/include/postgres/common/keywords.h similarity index 92% rename from parser/include/common/keywords.h rename to parser/include/postgres/common/keywords.h index b85237f9..0144377a 100644 --- a/parser/include/common/keywords.h +++ b/parser/include/postgres/common/keywords.h @@ -4,7 +4,7 @@ * PostgreSQL's list of SQL keywords * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/keywords.h diff --git a/parser/include/common/kwlookup.h b/parser/include/postgres/common/kwlookup.h similarity index 90% rename from parser/include/common/kwlookup.h rename to parser/include/postgres/common/kwlookup.h index 48d7f08b..3725e47c 100644 --- a/parser/include/common/kwlookup.h +++ b/parser/include/postgres/common/kwlookup.h @@ -4,7 +4,7 @@ * Key word lookup for PostgreSQL * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/kwlookup.h @@ -32,7 +32,7 @@ typedef struct ScanKeywordList } ScanKeywordList; -extern int ScanKeywordLookup(const char *text, const ScanKeywordList *keywords); +extern int ScanKeywordLookup(const char *str, const ScanKeywordList *keywords); /* Code that wants to retrieve the text of the N'th keyword should use this. */ static inline const char * diff --git a/parser/include/common/pg_prng.h b/parser/include/postgres/common/pg_prng.h similarity index 88% rename from parser/include/common/pg_prng.h rename to parser/include/postgres/common/pg_prng.h index 4be9a83e..c114c641 100644 --- a/parser/include/common/pg_prng.h +++ b/parser/include/postgres/common/pg_prng.h @@ -2,7 +2,7 @@ * * Pseudo-Random Number Generator * - * Copyright (c) 2021-2022, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * * src/include/common/pg_prng.h * @@ -26,7 +26,7 @@ typedef struct pg_prng_state * Callers not needing local PRNG series may use this global state vector, * after initializing it with one of the pg_prng_...seed functions. */ -extern PGDLLIMPORT __thread pg_prng_state pg_global_prng_state; +extern PGDLLIMPORT pg_prng_state pg_global_prng_state; extern void pg_prng_seed(pg_prng_state *state, uint64 seed); extern void pg_prng_fseed(pg_prng_state *state, double fseed); @@ -51,10 +51,12 @@ extern uint64 pg_prng_uint64(pg_prng_state *state); extern uint64 pg_prng_uint64_range(pg_prng_state *state, uint64 rmin, uint64 rmax); extern int64 pg_prng_int64(pg_prng_state *state); extern int64 pg_prng_int64p(pg_prng_state *state); +extern int64 pg_prng_int64_range(pg_prng_state *state, int64 rmin, int64 rmax); extern uint32 pg_prng_uint32(pg_prng_state *state); extern int32 pg_prng_int32(pg_prng_state *state); extern int32 pg_prng_int32p(pg_prng_state *state); extern double pg_prng_double(pg_prng_state *state); +extern double pg_prng_double_normal(pg_prng_state *state); extern bool pg_prng_bool(pg_prng_state *state); #endif /* PG_PRNG_H */ diff --git a/parser/include/common/relpath.h b/parser/include/postgres/common/relpath.h similarity index 64% rename from parser/include/common/relpath.h rename to parser/include/postgres/common/relpath.h index 13849a37..6f006d5a 100644 --- a/parser/include/common/relpath.h +++ b/parser/include/postgres/common/relpath.h @@ -3,7 +3,7 @@ * relpath.h * Declarations for GetRelationPath() and friends * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/relpath.h @@ -19,6 +19,13 @@ */ #include "catalog/catversion.h" /* pgrminclude ignore */ +/* + * RelFileNumber data type identifies the specific relation file name. + */ +typedef Oid RelFileNumber; +#define InvalidRelFileNumber ((RelFileNumber) InvalidOid) +#define RelFileNumberIsValid(relnumber) \ + ((bool) ((relnumber) != InvalidRelFileNumber)) /* * Name of major-version-specific tablespace subdirectories @@ -43,7 +50,7 @@ typedef enum ForkNumber MAIN_FORKNUM = 0, FSM_FORKNUM, VISIBILITYMAP_FORKNUM, - INIT_FORKNUM + INIT_FORKNUM, /* * NOTE: if you add a new fork, change MAX_FORKNUM and possibly @@ -64,27 +71,27 @@ extern int forkname_chars(const char *str, ForkNumber *fork); /* * Stuff for computing filesystem pathnames for relations. */ -extern char *GetDatabasePath(Oid dbNode, Oid spcNode); +extern char *GetDatabasePath(Oid dbOid, Oid spcOid); -extern char *GetRelationPath(Oid dbNode, Oid spcNode, Oid relNode, - int backendId, ForkNumber forkNumber); +extern char *GetRelationPath(Oid dbOid, Oid spcOid, RelFileNumber relNumber, + int procNumber, ForkNumber forkNumber); /* * Wrapper macros for GetRelationPath. Beware of multiple - * evaluation of the RelFileNode or RelFileNodeBackend argument! + * evaluation of the RelFileLocator or RelFileLocatorBackend argument! */ -/* First argument is a RelFileNode */ -#define relpathbackend(rnode, backend, forknum) \ - GetRelationPath((rnode).dbNode, (rnode).spcNode, (rnode).relNode, \ +/* First argument is a RelFileLocator */ +#define relpathbackend(rlocator, backend, forknum) \ + GetRelationPath((rlocator).dbOid, (rlocator).spcOid, (rlocator).relNumber, \ backend, forknum) -/* First argument is a RelFileNode */ -#define relpathperm(rnode, forknum) \ - relpathbackend(rnode, InvalidBackendId, forknum) +/* First argument is a RelFileLocator */ +#define relpathperm(rlocator, forknum) \ + relpathbackend(rlocator, INVALID_PROC_NUMBER, forknum) -/* First argument is a RelFileNodeBackend */ -#define relpath(rnode, forknum) \ - relpathbackend((rnode).node, (rnode).backend, forknum) +/* First argument is a RelFileLocatorBackend */ +#define relpath(rlocator, forknum) \ + relpathbackend((rlocator).locator, (rlocator).backend, forknum) #endif /* RELPATH_H */ diff --git a/parser/include/postgres/common/scram-common.h b/parser/include/postgres/common/scram-common.h new file mode 100644 index 00000000..ce848aa3 --- /dev/null +++ b/parser/include/postgres/common/scram-common.h @@ -0,0 +1,70 @@ +/*------------------------------------------------------------------------- + * + * scram-common.h + * Declarations for helper functions used for SCRAM authentication + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/common/scram-common.h + * + *------------------------------------------------------------------------- + */ +#ifndef SCRAM_COMMON_H +#define SCRAM_COMMON_H + +#include "common/cryptohash.h" +#include "common/sha2.h" + +/* Name of SCRAM mechanisms per IANA */ +#define SCRAM_SHA_256_NAME "SCRAM-SHA-256" +#define SCRAM_SHA_256_PLUS_NAME "SCRAM-SHA-256-PLUS" /* with channel binding */ + +/* Length of SCRAM keys (client and server) */ +#define SCRAM_SHA_256_KEY_LEN PG_SHA256_DIGEST_LENGTH + +/* + * Size of buffers used internally by SCRAM routines, that should be the + * maximum of SCRAM_SHA_*_KEY_LEN among the hash methods supported. + */ +#define SCRAM_MAX_KEY_LEN SCRAM_SHA_256_KEY_LEN + +/* + * Size of random nonce generated in the authentication exchange. This + * is in "raw" number of bytes, the actual nonces sent over the wire are + * encoded using only ASCII-printable characters. + */ +#define SCRAM_RAW_NONCE_LEN 18 + +/* + * Length of salt when generating new secrets, in bytes. (It will be stored + * and sent over the wire encoded in Base64.) 16 bytes is what the example in + * RFC 7677 uses. + */ +#define SCRAM_DEFAULT_SALT_LEN 16 + +/* + * Default number of iterations when generating secret. Should be at least + * 4096 per RFC 7677. + */ +#define SCRAM_SHA_256_DEFAULT_ITERATIONS 4096 + +extern int scram_SaltedPassword(const char *password, + pg_cryptohash_type hash_type, int key_length, + const char *salt, int saltlen, int iterations, + uint8 *result, const char **errstr); +extern int scram_H(const uint8 *input, pg_cryptohash_type hash_type, + int key_length, uint8 *result, + const char **errstr); +extern int scram_ClientKey(const uint8 *salted_password, + pg_cryptohash_type hash_type, int key_length, + uint8 *result, const char **errstr); +extern int scram_ServerKey(const uint8 *salted_password, + pg_cryptohash_type hash_type, int key_length, + uint8 *result, const char **errstr); + +extern char *scram_build_secret(pg_cryptohash_type hash_type, int key_length, + const char *salt, int saltlen, int iterations, + const char *password, const char **errstr); + +#endif /* SCRAM_COMMON_H */ diff --git a/parser/include/postgres/common/sha2.h b/parser/include/postgres/common/sha2.h new file mode 100644 index 00000000..ea040c57 --- /dev/null +++ b/parser/include/postgres/common/sha2.h @@ -0,0 +1,32 @@ +/*------------------------------------------------------------------------- + * + * sha2.h + * Constants related to SHA224, 256, 384 AND 512. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * IDENTIFICATION + * src/include/common/sha2.h + * + *------------------------------------------------------------------------- + */ + +#ifndef _PG_SHA2_H_ +#define _PG_SHA2_H_ + +/*** SHA224/256/384/512 Various Length Definitions ***********************/ +#define PG_SHA224_BLOCK_LENGTH 64 +#define PG_SHA224_DIGEST_LENGTH 28 +#define PG_SHA224_DIGEST_STRING_LENGTH (PG_SHA224_DIGEST_LENGTH * 2 + 1) +#define PG_SHA256_BLOCK_LENGTH 64 +#define PG_SHA256_DIGEST_LENGTH 32 +#define PG_SHA256_DIGEST_STRING_LENGTH (PG_SHA256_DIGEST_LENGTH * 2 + 1) +#define PG_SHA384_BLOCK_LENGTH 128 +#define PG_SHA384_DIGEST_LENGTH 48 +#define PG_SHA384_DIGEST_STRING_LENGTH (PG_SHA384_DIGEST_LENGTH * 2 + 1) +#define PG_SHA512_BLOCK_LENGTH 128 +#define PG_SHA512_DIGEST_LENGTH 64 +#define PG_SHA512_DIGEST_STRING_LENGTH (PG_SHA512_DIGEST_LENGTH * 2 + 1) + +#endif /* _PG_SHA2_H_ */ diff --git a/parser/include/common/string.h b/parser/include/postgres/common/string.h similarity index 85% rename from parser/include/common/string.h rename to parser/include/postgres/common/string.h index cf00fb53..721aabe9 100644 --- a/parser/include/common/string.h +++ b/parser/include/postgres/common/string.h @@ -2,7 +2,7 @@ * string.h * string handling helpers * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/common/string.h @@ -10,13 +10,15 @@ #ifndef COMMON_STRING_H #define COMMON_STRING_H +#include + struct StringInfoData; /* avoid including stringinfo.h here */ typedef struct PromptInterruptContext { /* To avoid including here, jmpbuf is declared "void *" */ void *jmpbuf; /* existing longjmp buffer */ - volatile bool *enabled; /* flag that enables longjmp-on-interrupt */ + volatile sig_atomic_t *enabled; /* flag that enables longjmp-on-interrupt */ bool canceled; /* indicates whether cancellation occurred */ } PromptInterruptContext; @@ -24,7 +26,7 @@ typedef struct PromptInterruptContext extern bool pg_str_endswith(const char *str, const char *end); extern int strtoint(const char *pg_restrict str, char **pg_restrict endptr, int base); -extern void pg_clean_ascii(char *str); +extern char *pg_clean_ascii(const char *str, int alloc_flags); extern int pg_strip_crlf(char *str); extern bool pg_is_ascii(const char *str); diff --git a/parser/include/common/unicode_east_asian_fw_table.h b/parser/include/postgres/common/unicode_east_asian_fw_table.h similarity index 89% rename from parser/include/common/unicode_east_asian_fw_table.h rename to parser/include/postgres/common/unicode_east_asian_fw_table.h index e9abfa24..dcd1f136 100644 --- a/parser/include/common/unicode_east_asian_fw_table.h +++ b/parser/include/postgres/common/unicode_east_asian_fw_table.h @@ -39,14 +39,13 @@ static const struct mbinterval east_asian_fw[] = { {0x2E80, 0x2E99}, {0x2E9B, 0x2EF3}, {0x2F00, 0x2FD5}, - {0x2FF0, 0x2FFB}, - {0x3000, 0x303E}, + {0x2FF0, 0x303E}, {0x3041, 0x3096}, {0x3099, 0x30FF}, {0x3105, 0x312F}, {0x3131, 0x318E}, {0x3190, 0x31E3}, - {0x31F0, 0x321E}, + {0x31EF, 0x321E}, {0x3220, 0x3247}, {0x3250, 0x4DBF}, {0x4E00, 0xA48C}, @@ -69,7 +68,9 @@ static const struct mbinterval east_asian_fw[] = { {0x1AFF5, 0x1AFFB}, {0x1AFFD, 0x1AFFE}, {0x1B000, 0x1B122}, + {0x1B132, 0x1B132}, {0x1B150, 0x1B152}, + {0x1B155, 0x1B155}, {0x1B164, 0x1B167}, {0x1B170, 0x1B2FB}, {0x1F004, 0x1F004}, @@ -103,7 +104,7 @@ static const struct mbinterval east_asian_fw[] = { {0x1F6CC, 0x1F6CC}, {0x1F6D0, 0x1F6D2}, {0x1F6D5, 0x1F6D7}, - {0x1F6DD, 0x1F6DF}, + {0x1F6DC, 0x1F6DF}, {0x1F6EB, 0x1F6EC}, {0x1F6F4, 0x1F6FC}, {0x1F7E0, 0x1F7EB}, @@ -111,15 +112,13 @@ static const struct mbinterval east_asian_fw[] = { {0x1F90C, 0x1F93A}, {0x1F93C, 0x1F945}, {0x1F947, 0x1F9FF}, - {0x1FA70, 0x1FA74}, - {0x1FA78, 0x1FA7C}, - {0x1FA80, 0x1FA86}, - {0x1FA90, 0x1FAAC}, - {0x1FAB0, 0x1FABA}, - {0x1FAC0, 0x1FAC5}, - {0x1FAD0, 0x1FAD9}, - {0x1FAE0, 0x1FAE7}, - {0x1FAF0, 0x1FAF6}, + {0x1FA70, 0x1FA7C}, + {0x1FA80, 0x1FA88}, + {0x1FA90, 0x1FABD}, + {0x1FABF, 0x1FAC5}, + {0x1FACE, 0x1FADB}, + {0x1FAE0, 0x1FAE8}, + {0x1FAF0, 0x1FAF8}, {0x20000, 0x2FFFD}, {0x30000, 0x3FFFD}, }; diff --git a/parser/include/common/unicode_combining_table.h b/parser/include/postgres/common/unicode_nonspacing_table.h similarity index 88% rename from parser/include/common/unicode_combining_table.h rename to parser/include/postgres/common/unicode_nonspacing_table.h index de1eab3a..8d00e127 100644 --- a/parser/include/common/unicode_combining_table.h +++ b/parser/include/postgres/common/unicode_nonspacing_table.h @@ -1,6 +1,7 @@ -/* generated by src/common/unicode/generate-unicode_combining_table.pl, do not edit */ +/* generated by src/common/unicode/generate-unicode_nonspacing_table.pl, do not edit */ -static const struct mbinterval combining[] = { +static const struct mbinterval nonspacing[] = { + {0x00AD, 0x00AD}, {0x0300, 0x036F}, {0x0483, 0x0489}, {0x0591, 0x05BD}, @@ -8,13 +9,16 @@ static const struct mbinterval combining[] = { {0x05C1, 0x05C2}, {0x05C4, 0x05C5}, {0x05C7, 0x05C7}, + {0x0600, 0x0605}, {0x0610, 0x061A}, + {0x061C, 0x061C}, {0x064B, 0x065F}, {0x0670, 0x0670}, - {0x06D6, 0x06DC}, + {0x06D6, 0x06DD}, {0x06DF, 0x06E4}, {0x06E7, 0x06E8}, {0x06EA, 0x06ED}, + {0x070F, 0x070F}, {0x0711, 0x0711}, {0x0730, 0x074A}, {0x07A6, 0x07B0}, @@ -25,9 +29,8 @@ static const struct mbinterval combining[] = { {0x0825, 0x0827}, {0x0829, 0x082D}, {0x0859, 0x085B}, - {0x0898, 0x089F}, - {0x08CA, 0x08E1}, - {0x08E3, 0x0902}, + {0x0890, 0x089F}, + {0x08CA, 0x0902}, {0x093A, 0x093A}, {0x093C, 0x093C}, {0x0941, 0x0948}, @@ -83,7 +86,7 @@ static const struct mbinterval combining[] = { {0x0E47, 0x0E4E}, {0x0EB1, 0x0EB1}, {0x0EB4, 0x0EBC}, - {0x0EC8, 0x0ECD}, + {0x0EC8, 0x0ECE}, {0x0F18, 0x0F19}, {0x0F35, 0x0F35}, {0x0F37, 0x0F37}, @@ -114,8 +117,7 @@ static const struct mbinterval combining[] = { {0x17C6, 0x17C6}, {0x17C9, 0x17D3}, {0x17DD, 0x17DD}, - {0x180B, 0x180D}, - {0x180F, 0x180F}, + {0x180B, 0x180F}, {0x1885, 0x1886}, {0x18A9, 0x18A9}, {0x1920, 0x1922}, @@ -152,6 +154,9 @@ static const struct mbinterval combining[] = { {0x1CF4, 0x1CF4}, {0x1CF8, 0x1CF9}, {0x1DC0, 0x1DFF}, + {0x200B, 0x200F}, + {0x202A, 0x202E}, + {0x2060, 0x206F}, {0x20D0, 0x20F0}, {0x2CEF, 0x2CF1}, {0x2D7F, 0x2D7F}, @@ -196,6 +201,8 @@ static const struct mbinterval combining[] = { {0xFB1E, 0xFB1E}, {0xFE00, 0xFE0F}, {0xFE20, 0xFE2F}, + {0xFEFF, 0xFEFF}, + {0xFFF9, 0xFFFB}, {0x101FD, 0x101FD}, {0x102E0, 0x102E0}, {0x10376, 0x1037A}, @@ -204,6 +211,7 @@ static const struct mbinterval combining[] = { {0x10AE5, 0x10AE6}, {0x10D24, 0x10D27}, {0x10EAB, 0x10EAC}, + {0x10EFD, 0x10EFF}, {0x10F46, 0x10F50}, {0x10F82, 0x10F85}, {0x11001, 0x11001}, @@ -213,7 +221,8 @@ static const struct mbinterval combining[] = { {0x1107F, 0x11081}, {0x110B3, 0x110B6}, {0x110B9, 0x110BA}, - {0x110C2, 0x110C2}, + {0x110BD, 0x110BD}, + {0x110C2, 0x110CD}, {0x11100, 0x11102}, {0x11127, 0x1112B}, {0x1112D, 0x11134}, @@ -226,6 +235,7 @@ static const struct mbinterval combining[] = { {0x11234, 0x11234}, {0x11236, 0x11237}, {0x1123E, 0x1123E}, + {0x11241, 0x11241}, {0x112DF, 0x112DF}, {0x112E3, 0x112EA}, {0x11300, 0x11301}, @@ -281,15 +291,21 @@ static const struct mbinterval combining[] = { {0x11D95, 0x11D95}, {0x11D97, 0x11D97}, {0x11EF3, 0x11EF4}, + {0x11F00, 0x11F01}, + {0x11F36, 0x11F3A}, + {0x11F40, 0x11F40}, + {0x11F42, 0x11F42}, + {0x13430, 0x13440}, + {0x13447, 0x13455}, {0x16AF0, 0x16AF4}, {0x16B30, 0x16B36}, {0x16F4F, 0x16F4F}, {0x16F8F, 0x16F92}, {0x16FE4, 0x16FE4}, {0x1BC9D, 0x1BC9E}, - {0x1CF00, 0x1CF46}, + {0x1BCA0, 0x1CF46}, {0x1D167, 0x1D169}, - {0x1D17B, 0x1D182}, + {0x1D173, 0x1D182}, {0x1D185, 0x1D18B}, {0x1D1AA, 0x1D1AD}, {0x1D242, 0x1D244}, @@ -299,10 +315,12 @@ static const struct mbinterval combining[] = { {0x1DA84, 0x1DA84}, {0x1DA9B, 0x1DAAF}, {0x1E000, 0x1E02A}, + {0x1E08F, 0x1E08F}, {0x1E130, 0x1E136}, {0x1E2AE, 0x1E2AE}, {0x1E2EC, 0x1E2EF}, + {0x1E4EC, 0x1E4EF}, {0x1E8D0, 0x1E8D6}, {0x1E944, 0x1E94A}, - {0xE0100, 0xE01EF}, + {0xE0001, 0xE01EF}, }; diff --git a/parser/include/postgres/copyfuncs.funcs.c b/parser/include/postgres/copyfuncs.funcs.c new file mode 100644 index 00000000..2bd81f5e --- /dev/null +++ b/parser/include/postgres/copyfuncs.funcs.c @@ -0,0 +1,5261 @@ +/*------------------------------------------------------------------------- + * + * copyfuncs.funcs.c + * Generated node infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/nodes/gen_node_support.pl + * + *------------------------------------------------------------------------- + */ +#include "access/amapi.h" +#include "access/sdir.h" +#include "access/tableam.h" +#include "access/tsmapi.h" +#include "commands/event_trigger.h" +#include "commands/trigger.h" +#include "executor/tuptable.h" +#include "foreign/fdwapi.h" +#include "nodes/bitmapset.h" +#include "nodes/execnodes.h" +#include "nodes/extensible.h" +#include "nodes/lockoptions.h" +#include "nodes/miscnodes.h" +#include "nodes/nodes.h" +#include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/plannodes.h" +#include "nodes/primnodes.h" +#include "nodes/replnodes.h" +#include "nodes/supportnodes.h" +#include "nodes/value.h" +#include "utils/rel.h" + +static Alias * +_copyAlias(const Alias *from) +{ + Alias *newnode = makeNode(Alias); + + COPY_STRING_FIELD(aliasname); + COPY_NODE_FIELD(colnames); + + return newnode; +} + +static RangeVar * +_copyRangeVar(const RangeVar *from) +{ + RangeVar *newnode = makeNode(RangeVar); + + COPY_STRING_FIELD(catalogname); + COPY_STRING_FIELD(schemaname); + COPY_STRING_FIELD(relname); + COPY_SCALAR_FIELD(inh); + COPY_SCALAR_FIELD(relpersistence); + COPY_NODE_FIELD(alias); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static TableFunc * +_copyTableFunc(const TableFunc *from) +{ + TableFunc *newnode = makeNode(TableFunc); + + COPY_SCALAR_FIELD(functype); + COPY_NODE_FIELD(ns_uris); + COPY_NODE_FIELD(ns_names); + COPY_NODE_FIELD(docexpr); + COPY_NODE_FIELD(rowexpr); + COPY_NODE_FIELD(colnames); + COPY_NODE_FIELD(coltypes); + COPY_NODE_FIELD(coltypmods); + COPY_NODE_FIELD(colcollations); + COPY_NODE_FIELD(colexprs); + COPY_NODE_FIELD(coldefexprs); + COPY_NODE_FIELD(colvalexprs); + COPY_NODE_FIELD(passingvalexprs); + COPY_BITMAPSET_FIELD(notnulls); + COPY_NODE_FIELD(plan); + COPY_SCALAR_FIELD(ordinalitycol); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static IntoClause * +_copyIntoClause(const IntoClause *from) +{ + IntoClause *newnode = makeNode(IntoClause); + + COPY_NODE_FIELD(rel); + COPY_NODE_FIELD(colNames); + COPY_STRING_FIELD(accessMethod); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(onCommit); + COPY_STRING_FIELD(tableSpaceName); + COPY_NODE_FIELD(viewQuery); + COPY_SCALAR_FIELD(skipData); + + return newnode; +} + +static Var * +_copyVar(const Var *from) +{ + Var *newnode = makeNode(Var); + + COPY_SCALAR_FIELD(varno); + COPY_SCALAR_FIELD(varattno); + COPY_SCALAR_FIELD(vartype); + COPY_SCALAR_FIELD(vartypmod); + COPY_SCALAR_FIELD(varcollid); + COPY_BITMAPSET_FIELD(varnullingrels); + COPY_SCALAR_FIELD(varlevelsup); + COPY_SCALAR_FIELD(varnosyn); + COPY_SCALAR_FIELD(varattnosyn); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static Param * +_copyParam(const Param *from) +{ + Param *newnode = makeNode(Param); + + COPY_SCALAR_FIELD(paramkind); + COPY_SCALAR_FIELD(paramid); + COPY_SCALAR_FIELD(paramtype); + COPY_SCALAR_FIELD(paramtypmod); + COPY_SCALAR_FIELD(paramcollid); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static Aggref * +_copyAggref(const Aggref *from) +{ + Aggref *newnode = makeNode(Aggref); + + COPY_SCALAR_FIELD(aggfnoid); + COPY_SCALAR_FIELD(aggtype); + COPY_SCALAR_FIELD(aggcollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_SCALAR_FIELD(aggtranstype); + COPY_NODE_FIELD(aggargtypes); + COPY_NODE_FIELD(aggdirectargs); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(aggorder); + COPY_NODE_FIELD(aggdistinct); + COPY_NODE_FIELD(aggfilter); + COPY_SCALAR_FIELD(aggstar); + COPY_SCALAR_FIELD(aggvariadic); + COPY_SCALAR_FIELD(aggkind); + COPY_SCALAR_FIELD(aggpresorted); + COPY_SCALAR_FIELD(agglevelsup); + COPY_SCALAR_FIELD(aggsplit); + COPY_SCALAR_FIELD(aggno); + COPY_SCALAR_FIELD(aggtransno); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static GroupingFunc * +_copyGroupingFunc(const GroupingFunc *from) +{ + GroupingFunc *newnode = makeNode(GroupingFunc); + + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(refs); + COPY_NODE_FIELD(cols); + COPY_SCALAR_FIELD(agglevelsup); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static WindowFunc * +_copyWindowFunc(const WindowFunc *from) +{ + WindowFunc *newnode = makeNode(WindowFunc); + + COPY_SCALAR_FIELD(winfnoid); + COPY_SCALAR_FIELD(wintype); + COPY_SCALAR_FIELD(wincollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(aggfilter); + COPY_NODE_FIELD(runCondition); + COPY_SCALAR_FIELD(winref); + COPY_SCALAR_FIELD(winstar); + COPY_SCALAR_FIELD(winagg); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static WindowFuncRunCondition * +_copyWindowFuncRunCondition(const WindowFuncRunCondition *from) +{ + WindowFuncRunCondition *newnode = makeNode(WindowFuncRunCondition); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(inputcollid); + COPY_SCALAR_FIELD(wfunc_left); + COPY_NODE_FIELD(arg); + + return newnode; +} + +static MergeSupportFunc * +_copyMergeSupportFunc(const MergeSupportFunc *from) +{ + MergeSupportFunc *newnode = makeNode(MergeSupportFunc); + + COPY_SCALAR_FIELD(msftype); + COPY_SCALAR_FIELD(msfcollid); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SubscriptingRef * +_copySubscriptingRef(const SubscriptingRef *from) +{ + SubscriptingRef *newnode = makeNode(SubscriptingRef); + + COPY_SCALAR_FIELD(refcontainertype); + COPY_SCALAR_FIELD(refelemtype); + COPY_SCALAR_FIELD(refrestype); + COPY_SCALAR_FIELD(reftypmod); + COPY_SCALAR_FIELD(refcollid); + COPY_NODE_FIELD(refupperindexpr); + COPY_NODE_FIELD(reflowerindexpr); + COPY_NODE_FIELD(refexpr); + COPY_NODE_FIELD(refassgnexpr); + + return newnode; +} + +static FuncExpr * +_copyFuncExpr(const FuncExpr *from) +{ + FuncExpr *newnode = makeNode(FuncExpr); + + COPY_SCALAR_FIELD(funcid); + COPY_SCALAR_FIELD(funcresulttype); + COPY_SCALAR_FIELD(funcretset); + COPY_SCALAR_FIELD(funcvariadic); + COPY_SCALAR_FIELD(funcformat); + COPY_SCALAR_FIELD(funccollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static NamedArgExpr * +_copyNamedArgExpr(const NamedArgExpr *from) +{ + NamedArgExpr *newnode = makeNode(NamedArgExpr); + + COPY_NODE_FIELD(arg); + COPY_STRING_FIELD(name); + COPY_SCALAR_FIELD(argnumber); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static OpExpr * +_copyOpExpr(const OpExpr *from) +{ + OpExpr *newnode = makeNode(OpExpr); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(opfuncid); + COPY_SCALAR_FIELD(opresulttype); + COPY_SCALAR_FIELD(opretset); + COPY_SCALAR_FIELD(opcollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static DistinctExpr * +_copyDistinctExpr(const DistinctExpr *from) +{ + DistinctExpr *newnode = makeNode(DistinctExpr); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(opfuncid); + COPY_SCALAR_FIELD(opresulttype); + COPY_SCALAR_FIELD(opretset); + COPY_SCALAR_FIELD(opcollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static NullIfExpr * +_copyNullIfExpr(const NullIfExpr *from) +{ + NullIfExpr *newnode = makeNode(NullIfExpr); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(opfuncid); + COPY_SCALAR_FIELD(opresulttype); + COPY_SCALAR_FIELD(opretset); + COPY_SCALAR_FIELD(opcollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ScalarArrayOpExpr * +_copyScalarArrayOpExpr(const ScalarArrayOpExpr *from) +{ + ScalarArrayOpExpr *newnode = makeNode(ScalarArrayOpExpr); + + COPY_SCALAR_FIELD(opno); + COPY_SCALAR_FIELD(opfuncid); + COPY_SCALAR_FIELD(hashfuncid); + COPY_SCALAR_FIELD(negfuncid); + COPY_SCALAR_FIELD(useOr); + COPY_SCALAR_FIELD(inputcollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static BoolExpr * +_copyBoolExpr(const BoolExpr *from) +{ + BoolExpr *newnode = makeNode(BoolExpr); + + COPY_SCALAR_FIELD(boolop); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SubLink * +_copySubLink(const SubLink *from) +{ + SubLink *newnode = makeNode(SubLink); + + COPY_SCALAR_FIELD(subLinkType); + COPY_SCALAR_FIELD(subLinkId); + COPY_NODE_FIELD(testexpr); + COPY_NODE_FIELD(operName); + COPY_NODE_FIELD(subselect); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SubPlan * +_copySubPlan(const SubPlan *from) +{ + SubPlan *newnode = makeNode(SubPlan); + + COPY_SCALAR_FIELD(subLinkType); + COPY_NODE_FIELD(testexpr); + COPY_NODE_FIELD(paramIds); + COPY_SCALAR_FIELD(plan_id); + COPY_STRING_FIELD(plan_name); + COPY_SCALAR_FIELD(firstColType); + COPY_SCALAR_FIELD(firstColTypmod); + COPY_SCALAR_FIELD(firstColCollation); + COPY_SCALAR_FIELD(useHashTable); + COPY_SCALAR_FIELD(unknownEqFalse); + COPY_SCALAR_FIELD(parallel_safe); + COPY_NODE_FIELD(setParam); + COPY_NODE_FIELD(parParam); + COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(startup_cost); + COPY_SCALAR_FIELD(per_call_cost); + + return newnode; +} + +static AlternativeSubPlan * +_copyAlternativeSubPlan(const AlternativeSubPlan *from) +{ + AlternativeSubPlan *newnode = makeNode(AlternativeSubPlan); + + COPY_NODE_FIELD(subplans); + + return newnode; +} + +static FieldSelect * +_copyFieldSelect(const FieldSelect *from) +{ + FieldSelect *newnode = makeNode(FieldSelect); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(fieldnum); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(resulttypmod); + COPY_SCALAR_FIELD(resultcollid); + + return newnode; +} + +static FieldStore * +_copyFieldStore(const FieldStore *from) +{ + FieldStore *newnode = makeNode(FieldStore); + + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(newvals); + COPY_NODE_FIELD(fieldnums); + COPY_SCALAR_FIELD(resulttype); + + return newnode; +} + +static RelabelType * +_copyRelabelType(const RelabelType *from) +{ + RelabelType *newnode = makeNode(RelabelType); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(resulttypmod); + COPY_SCALAR_FIELD(resultcollid); + COPY_SCALAR_FIELD(relabelformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CoerceViaIO * +_copyCoerceViaIO(const CoerceViaIO *from) +{ + CoerceViaIO *newnode = makeNode(CoerceViaIO); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(resultcollid); + COPY_SCALAR_FIELD(coerceformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ArrayCoerceExpr * +_copyArrayCoerceExpr(const ArrayCoerceExpr *from) +{ + ArrayCoerceExpr *newnode = makeNode(ArrayCoerceExpr); + + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(elemexpr); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(resulttypmod); + COPY_SCALAR_FIELD(resultcollid); + COPY_SCALAR_FIELD(coerceformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ConvertRowtypeExpr * +_copyConvertRowtypeExpr(const ConvertRowtypeExpr *from) +{ + ConvertRowtypeExpr *newnode = makeNode(ConvertRowtypeExpr); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(convertformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CollateExpr * +_copyCollateExpr(const CollateExpr *from) +{ + CollateExpr *newnode = makeNode(CollateExpr); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(collOid); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CaseExpr * +_copyCaseExpr(const CaseExpr *from) +{ + CaseExpr *newnode = makeNode(CaseExpr); + + COPY_SCALAR_FIELD(casetype); + COPY_SCALAR_FIELD(casecollid); + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(defresult); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CaseWhen * +_copyCaseWhen(const CaseWhen *from) +{ + CaseWhen *newnode = makeNode(CaseWhen); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(result); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CaseTestExpr * +_copyCaseTestExpr(const CaseTestExpr *from) +{ + CaseTestExpr *newnode = makeNode(CaseTestExpr); + + COPY_SCALAR_FIELD(typeId); + COPY_SCALAR_FIELD(typeMod); + COPY_SCALAR_FIELD(collation); + + return newnode; +} + +static ArrayExpr * +_copyArrayExpr(const ArrayExpr *from) +{ + ArrayExpr *newnode = makeNode(ArrayExpr); + + COPY_SCALAR_FIELD(array_typeid); + COPY_SCALAR_FIELD(array_collid); + COPY_SCALAR_FIELD(element_typeid); + COPY_NODE_FIELD(elements); + COPY_SCALAR_FIELD(multidims); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RowExpr * +_copyRowExpr(const RowExpr *from) +{ + RowExpr *newnode = makeNode(RowExpr); + + COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(row_typeid); + COPY_SCALAR_FIELD(row_format); + COPY_NODE_FIELD(colnames); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RowCompareExpr * +_copyRowCompareExpr(const RowCompareExpr *from) +{ + RowCompareExpr *newnode = makeNode(RowCompareExpr); + + COPY_SCALAR_FIELD(rctype); + COPY_NODE_FIELD(opnos); + COPY_NODE_FIELD(opfamilies); + COPY_NODE_FIELD(inputcollids); + COPY_NODE_FIELD(largs); + COPY_NODE_FIELD(rargs); + + return newnode; +} + +static CoalesceExpr * +_copyCoalesceExpr(const CoalesceExpr *from) +{ + CoalesceExpr *newnode = makeNode(CoalesceExpr); + + COPY_SCALAR_FIELD(coalescetype); + COPY_SCALAR_FIELD(coalescecollid); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static MinMaxExpr * +_copyMinMaxExpr(const MinMaxExpr *from) +{ + MinMaxExpr *newnode = makeNode(MinMaxExpr); + + COPY_SCALAR_FIELD(minmaxtype); + COPY_SCALAR_FIELD(minmaxcollid); + COPY_SCALAR_FIELD(inputcollid); + COPY_SCALAR_FIELD(op); + COPY_NODE_FIELD(args); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SQLValueFunction * +_copySQLValueFunction(const SQLValueFunction *from) +{ + SQLValueFunction *newnode = makeNode(SQLValueFunction); + + COPY_SCALAR_FIELD(op); + COPY_SCALAR_FIELD(type); + COPY_SCALAR_FIELD(typmod); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static XmlExpr * +_copyXmlExpr(const XmlExpr *from) +{ + XmlExpr *newnode = makeNode(XmlExpr); + + COPY_SCALAR_FIELD(op); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(named_args); + COPY_NODE_FIELD(arg_names); + COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(xmloption); + COPY_SCALAR_FIELD(indent); + COPY_SCALAR_FIELD(type); + COPY_SCALAR_FIELD(typmod); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonFormat * +_copyJsonFormat(const JsonFormat *from) +{ + JsonFormat *newnode = makeNode(JsonFormat); + + COPY_SCALAR_FIELD(format_type); + COPY_SCALAR_FIELD(encoding); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonReturning * +_copyJsonReturning(const JsonReturning *from) +{ + JsonReturning *newnode = makeNode(JsonReturning); + + COPY_NODE_FIELD(format); + COPY_SCALAR_FIELD(typid); + COPY_SCALAR_FIELD(typmod); + + return newnode; +} + +static JsonValueExpr * +_copyJsonValueExpr(const JsonValueExpr *from) +{ + JsonValueExpr *newnode = makeNode(JsonValueExpr); + + COPY_NODE_FIELD(raw_expr); + COPY_NODE_FIELD(formatted_expr); + COPY_NODE_FIELD(format); + + return newnode; +} + +static JsonConstructorExpr * +_copyJsonConstructorExpr(const JsonConstructorExpr *from) +{ + JsonConstructorExpr *newnode = makeNode(JsonConstructorExpr); + + COPY_SCALAR_FIELD(type); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(func); + COPY_NODE_FIELD(coercion); + COPY_NODE_FIELD(returning); + COPY_SCALAR_FIELD(absent_on_null); + COPY_SCALAR_FIELD(unique); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonIsPredicate * +_copyJsonIsPredicate(const JsonIsPredicate *from) +{ + JsonIsPredicate *newnode = makeNode(JsonIsPredicate); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(format); + COPY_SCALAR_FIELD(item_type); + COPY_SCALAR_FIELD(unique_keys); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonBehavior * +_copyJsonBehavior(const JsonBehavior *from) +{ + JsonBehavior *newnode = makeNode(JsonBehavior); + + COPY_SCALAR_FIELD(btype); + COPY_NODE_FIELD(expr); + COPY_SCALAR_FIELD(coerce); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonExpr * +_copyJsonExpr(const JsonExpr *from) +{ + JsonExpr *newnode = makeNode(JsonExpr); + + COPY_SCALAR_FIELD(op); + COPY_STRING_FIELD(column_name); + COPY_NODE_FIELD(formatted_expr); + COPY_NODE_FIELD(format); + COPY_NODE_FIELD(path_spec); + COPY_NODE_FIELD(returning); + COPY_NODE_FIELD(passing_names); + COPY_NODE_FIELD(passing_values); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_SCALAR_FIELD(use_io_coercion); + COPY_SCALAR_FIELD(use_json_coercion); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(omit_quotes); + COPY_SCALAR_FIELD(collation); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTablePath * +_copyJsonTablePath(const JsonTablePath *from) +{ + JsonTablePath *newnode = makeNode(JsonTablePath); + + COPY_NODE_FIELD(value); + COPY_STRING_FIELD(name); + + return newnode; +} + +static JsonTablePathScan * +_copyJsonTablePathScan(const JsonTablePathScan *from) +{ + JsonTablePathScan *newnode = makeNode(JsonTablePathScan); + + COPY_NODE_FIELD(path); + COPY_SCALAR_FIELD(errorOnError); + COPY_NODE_FIELD(child); + COPY_SCALAR_FIELD(colMin); + COPY_SCALAR_FIELD(colMax); + + return newnode; +} + +static JsonTableSiblingJoin * +_copyJsonTableSiblingJoin(const JsonTableSiblingJoin *from) +{ + JsonTableSiblingJoin *newnode = makeNode(JsonTableSiblingJoin); + + COPY_NODE_FIELD(lplan); + COPY_NODE_FIELD(rplan); + + return newnode; +} + +static NullTest * +_copyNullTest(const NullTest *from) +{ + NullTest *newnode = makeNode(NullTest); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(nulltesttype); + COPY_SCALAR_FIELD(argisrow); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static BooleanTest * +_copyBooleanTest(const BooleanTest *from) +{ + BooleanTest *newnode = makeNode(BooleanTest); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(booltesttype); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static MergeAction * +_copyMergeAction(const MergeAction *from) +{ + MergeAction *newnode = makeNode(MergeAction); + + COPY_SCALAR_FIELD(matchKind); + COPY_SCALAR_FIELD(commandType); + COPY_SCALAR_FIELD(override); + COPY_NODE_FIELD(qual); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(updateColnos); + + return newnode; +} + +static CoerceToDomain * +_copyCoerceToDomain(const CoerceToDomain *from) +{ + CoerceToDomain *newnode = makeNode(CoerceToDomain); + + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(resulttype); + COPY_SCALAR_FIELD(resulttypmod); + COPY_SCALAR_FIELD(resultcollid); + COPY_SCALAR_FIELD(coercionformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CoerceToDomainValue * +_copyCoerceToDomainValue(const CoerceToDomainValue *from) +{ + CoerceToDomainValue *newnode = makeNode(CoerceToDomainValue); + + COPY_SCALAR_FIELD(typeId); + COPY_SCALAR_FIELD(typeMod); + COPY_SCALAR_FIELD(collation); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SetToDefault * +_copySetToDefault(const SetToDefault *from) +{ + SetToDefault *newnode = makeNode(SetToDefault); + + COPY_SCALAR_FIELD(typeId); + COPY_SCALAR_FIELD(typeMod); + COPY_SCALAR_FIELD(collation); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CurrentOfExpr * +_copyCurrentOfExpr(const CurrentOfExpr *from) +{ + CurrentOfExpr *newnode = makeNode(CurrentOfExpr); + + COPY_SCALAR_FIELD(cvarno); + COPY_STRING_FIELD(cursor_name); + COPY_SCALAR_FIELD(cursor_param); + + return newnode; +} + +static NextValueExpr * +_copyNextValueExpr(const NextValueExpr *from) +{ + NextValueExpr *newnode = makeNode(NextValueExpr); + + COPY_SCALAR_FIELD(seqid); + COPY_SCALAR_FIELD(typeId); + + return newnode; +} + +static InferenceElem * +_copyInferenceElem(const InferenceElem *from) +{ + InferenceElem *newnode = makeNode(InferenceElem); + + COPY_NODE_FIELD(expr); + COPY_SCALAR_FIELD(infercollid); + COPY_SCALAR_FIELD(inferopclass); + + return newnode; +} + +static TargetEntry * +_copyTargetEntry(const TargetEntry *from) +{ + TargetEntry *newnode = makeNode(TargetEntry); + + COPY_NODE_FIELD(expr); + COPY_SCALAR_FIELD(resno); + COPY_STRING_FIELD(resname); + COPY_SCALAR_FIELD(ressortgroupref); + COPY_SCALAR_FIELD(resorigtbl); + COPY_SCALAR_FIELD(resorigcol); + COPY_SCALAR_FIELD(resjunk); + + return newnode; +} + +static RangeTblRef * +_copyRangeTblRef(const RangeTblRef *from) +{ + RangeTblRef *newnode = makeNode(RangeTblRef); + + COPY_SCALAR_FIELD(rtindex); + + return newnode; +} + +static JoinExpr * +_copyJoinExpr(const JoinExpr *from) +{ + JoinExpr *newnode = makeNode(JoinExpr); + + COPY_SCALAR_FIELD(jointype); + COPY_SCALAR_FIELD(isNatural); + COPY_NODE_FIELD(larg); + COPY_NODE_FIELD(rarg); + COPY_NODE_FIELD(usingClause); + COPY_NODE_FIELD(join_using_alias); + COPY_NODE_FIELD(quals); + COPY_NODE_FIELD(alias); + COPY_SCALAR_FIELD(rtindex); + + return newnode; +} + +static FromExpr * +_copyFromExpr(const FromExpr *from) +{ + FromExpr *newnode = makeNode(FromExpr); + + COPY_NODE_FIELD(fromlist); + COPY_NODE_FIELD(quals); + + return newnode; +} + +static OnConflictExpr * +_copyOnConflictExpr(const OnConflictExpr *from) +{ + OnConflictExpr *newnode = makeNode(OnConflictExpr); + + COPY_SCALAR_FIELD(action); + COPY_NODE_FIELD(arbiterElems); + COPY_NODE_FIELD(arbiterWhere); + COPY_SCALAR_FIELD(constraint); + COPY_NODE_FIELD(onConflictSet); + COPY_NODE_FIELD(onConflictWhere); + COPY_SCALAR_FIELD(exclRelIndex); + COPY_NODE_FIELD(exclRelTlist); + + return newnode; +} + +static Query * +_copyQuery(const Query *from) +{ + Query *newnode = makeNode(Query); + + COPY_SCALAR_FIELD(commandType); + COPY_SCALAR_FIELD(querySource); + COPY_SCALAR_FIELD(queryId); + COPY_SCALAR_FIELD(canSetTag); + COPY_NODE_FIELD(utilityStmt); + COPY_SCALAR_FIELD(resultRelation); + COPY_SCALAR_FIELD(hasAggs); + COPY_SCALAR_FIELD(hasWindowFuncs); + COPY_SCALAR_FIELD(hasTargetSRFs); + COPY_SCALAR_FIELD(hasSubLinks); + COPY_SCALAR_FIELD(hasDistinctOn); + COPY_SCALAR_FIELD(hasRecursive); + COPY_SCALAR_FIELD(hasModifyingCTE); + COPY_SCALAR_FIELD(hasForUpdate); + COPY_SCALAR_FIELD(hasRowSecurity); + COPY_SCALAR_FIELD(isReturn); + COPY_NODE_FIELD(cteList); + COPY_NODE_FIELD(rtable); + COPY_NODE_FIELD(rteperminfos); + COPY_NODE_FIELD(jointree); + COPY_NODE_FIELD(mergeActionList); + COPY_SCALAR_FIELD(mergeTargetRelation); + COPY_NODE_FIELD(mergeJoinCondition); + COPY_NODE_FIELD(targetList); + COPY_SCALAR_FIELD(override); + COPY_NODE_FIELD(onConflict); + COPY_NODE_FIELD(returningList); + COPY_NODE_FIELD(groupClause); + COPY_SCALAR_FIELD(groupDistinct); + COPY_NODE_FIELD(groupingSets); + COPY_NODE_FIELD(havingQual); + COPY_NODE_FIELD(windowClause); + COPY_NODE_FIELD(distinctClause); + COPY_NODE_FIELD(sortClause); + COPY_NODE_FIELD(limitOffset); + COPY_NODE_FIELD(limitCount); + COPY_SCALAR_FIELD(limitOption); + COPY_NODE_FIELD(rowMarks); + COPY_NODE_FIELD(setOperations); + COPY_NODE_FIELD(constraintDeps); + COPY_NODE_FIELD(withCheckOptions); + COPY_LOCATION_FIELD(stmt_location); + COPY_LOCATION_FIELD(stmt_len); + + return newnode; +} + +static TypeName * +_copyTypeName(const TypeName *from) +{ + TypeName *newnode = makeNode(TypeName); + + COPY_NODE_FIELD(names); + COPY_SCALAR_FIELD(typeOid); + COPY_SCALAR_FIELD(setof); + COPY_SCALAR_FIELD(pct_type); + COPY_NODE_FIELD(typmods); + COPY_SCALAR_FIELD(typemod); + COPY_NODE_FIELD(arrayBounds); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ColumnRef * +_copyColumnRef(const ColumnRef *from) +{ + ColumnRef *newnode = makeNode(ColumnRef); + + COPY_NODE_FIELD(fields); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ParamRef * +_copyParamRef(const ParamRef *from) +{ + ParamRef *newnode = makeNode(ParamRef); + + COPY_SCALAR_FIELD(number); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static A_Expr * +_copyA_Expr(const A_Expr *from) +{ + A_Expr *newnode = makeNode(A_Expr); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(name); + COPY_NODE_FIELD(lexpr); + COPY_NODE_FIELD(rexpr); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static TypeCast * +_copyTypeCast(const TypeCast *from) +{ + TypeCast *newnode = makeNode(TypeCast); + + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(typeName); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CollateClause * +_copyCollateClause(const CollateClause *from) +{ + CollateClause *newnode = makeNode(CollateClause); + + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(collname); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RoleSpec * +_copyRoleSpec(const RoleSpec *from) +{ + RoleSpec *newnode = makeNode(RoleSpec); + + COPY_SCALAR_FIELD(roletype); + COPY_STRING_FIELD(rolename); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static FuncCall * +_copyFuncCall(const FuncCall *from) +{ + FuncCall *newnode = makeNode(FuncCall); + + COPY_NODE_FIELD(funcname); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(agg_order); + COPY_NODE_FIELD(agg_filter); + COPY_NODE_FIELD(over); + COPY_SCALAR_FIELD(agg_within_group); + COPY_SCALAR_FIELD(agg_star); + COPY_SCALAR_FIELD(agg_distinct); + COPY_SCALAR_FIELD(func_variadic); + COPY_SCALAR_FIELD(funcformat); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static A_Star * +_copyA_Star(const A_Star *from) +{ + A_Star *newnode = makeNode(A_Star); + + + return newnode; +} + +static A_Indices * +_copyA_Indices(const A_Indices *from) +{ + A_Indices *newnode = makeNode(A_Indices); + + COPY_SCALAR_FIELD(is_slice); + COPY_NODE_FIELD(lidx); + COPY_NODE_FIELD(uidx); + + return newnode; +} + +static A_Indirection * +_copyA_Indirection(const A_Indirection *from) +{ + A_Indirection *newnode = makeNode(A_Indirection); + + COPY_NODE_FIELD(arg); + COPY_NODE_FIELD(indirection); + + return newnode; +} + +static A_ArrayExpr * +_copyA_ArrayExpr(const A_ArrayExpr *from) +{ + A_ArrayExpr *newnode = makeNode(A_ArrayExpr); + + COPY_NODE_FIELD(elements); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ResTarget * +_copyResTarget(const ResTarget *from) +{ + ResTarget *newnode = makeNode(ResTarget); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(indirection); + COPY_NODE_FIELD(val); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static MultiAssignRef * +_copyMultiAssignRef(const MultiAssignRef *from) +{ + MultiAssignRef *newnode = makeNode(MultiAssignRef); + + COPY_NODE_FIELD(source); + COPY_SCALAR_FIELD(colno); + COPY_SCALAR_FIELD(ncolumns); + + return newnode; +} + +static SortBy * +_copySortBy(const SortBy *from) +{ + SortBy *newnode = makeNode(SortBy); + + COPY_NODE_FIELD(node); + COPY_SCALAR_FIELD(sortby_dir); + COPY_SCALAR_FIELD(sortby_nulls); + COPY_NODE_FIELD(useOp); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static WindowDef * +_copyWindowDef(const WindowDef *from) +{ + WindowDef *newnode = makeNode(WindowDef); + + COPY_STRING_FIELD(name); + COPY_STRING_FIELD(refname); + COPY_NODE_FIELD(partitionClause); + COPY_NODE_FIELD(orderClause); + COPY_SCALAR_FIELD(frameOptions); + COPY_NODE_FIELD(startOffset); + COPY_NODE_FIELD(endOffset); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RangeSubselect * +_copyRangeSubselect(const RangeSubselect *from) +{ + RangeSubselect *newnode = makeNode(RangeSubselect); + + COPY_SCALAR_FIELD(lateral); + COPY_NODE_FIELD(subquery); + COPY_NODE_FIELD(alias); + + return newnode; +} + +static RangeFunction * +_copyRangeFunction(const RangeFunction *from) +{ + RangeFunction *newnode = makeNode(RangeFunction); + + COPY_SCALAR_FIELD(lateral); + COPY_SCALAR_FIELD(ordinality); + COPY_SCALAR_FIELD(is_rowsfrom); + COPY_NODE_FIELD(functions); + COPY_NODE_FIELD(alias); + COPY_NODE_FIELD(coldeflist); + + return newnode; +} + +static RangeTableFunc * +_copyRangeTableFunc(const RangeTableFunc *from) +{ + RangeTableFunc *newnode = makeNode(RangeTableFunc); + + COPY_SCALAR_FIELD(lateral); + COPY_NODE_FIELD(docexpr); + COPY_NODE_FIELD(rowexpr); + COPY_NODE_FIELD(namespaces); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(alias); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RangeTableFuncCol * +_copyRangeTableFuncCol(const RangeTableFuncCol *from) +{ + RangeTableFuncCol *newnode = makeNode(RangeTableFuncCol); + + COPY_STRING_FIELD(colname); + COPY_NODE_FIELD(typeName); + COPY_SCALAR_FIELD(for_ordinality); + COPY_SCALAR_FIELD(is_not_null); + COPY_NODE_FIELD(colexpr); + COPY_NODE_FIELD(coldefexpr); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static RangeTableSample * +_copyRangeTableSample(const RangeTableSample *from) +{ + RangeTableSample *newnode = makeNode(RangeTableSample); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(method); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(repeatable); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static ColumnDef * +_copyColumnDef(const ColumnDef *from) +{ + ColumnDef *newnode = makeNode(ColumnDef); + + COPY_STRING_FIELD(colname); + COPY_NODE_FIELD(typeName); + COPY_STRING_FIELD(compression); + COPY_SCALAR_FIELD(inhcount); + COPY_SCALAR_FIELD(is_local); + COPY_SCALAR_FIELD(is_not_null); + COPY_SCALAR_FIELD(is_from_type); + COPY_SCALAR_FIELD(storage); + COPY_STRING_FIELD(storage_name); + COPY_NODE_FIELD(raw_default); + COPY_NODE_FIELD(cooked_default); + COPY_SCALAR_FIELD(identity); + COPY_NODE_FIELD(identitySequence); + COPY_SCALAR_FIELD(generated); + COPY_NODE_FIELD(collClause); + COPY_SCALAR_FIELD(collOid); + COPY_NODE_FIELD(constraints); + COPY_NODE_FIELD(fdwoptions); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static TableLikeClause * +_copyTableLikeClause(const TableLikeClause *from) +{ + TableLikeClause *newnode = makeNode(TableLikeClause); + + COPY_NODE_FIELD(relation); + COPY_SCALAR_FIELD(options); + COPY_SCALAR_FIELD(relationOid); + + return newnode; +} + +static IndexElem * +_copyIndexElem(const IndexElem *from) +{ + IndexElem *newnode = makeNode(IndexElem); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(expr); + COPY_STRING_FIELD(indexcolname); + COPY_NODE_FIELD(collation); + COPY_NODE_FIELD(opclass); + COPY_NODE_FIELD(opclassopts); + COPY_SCALAR_FIELD(ordering); + COPY_SCALAR_FIELD(nulls_ordering); + + return newnode; +} + +static DefElem * +_copyDefElem(const DefElem *from) +{ + DefElem *newnode = makeNode(DefElem); + + COPY_STRING_FIELD(defnamespace); + COPY_STRING_FIELD(defname); + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(defaction); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static LockingClause * +_copyLockingClause(const LockingClause *from) +{ + LockingClause *newnode = makeNode(LockingClause); + + COPY_NODE_FIELD(lockedRels); + COPY_SCALAR_FIELD(strength); + COPY_SCALAR_FIELD(waitPolicy); + + return newnode; +} + +static XmlSerialize * +_copyXmlSerialize(const XmlSerialize *from) +{ + XmlSerialize *newnode = makeNode(XmlSerialize); + + COPY_SCALAR_FIELD(xmloption); + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(typeName); + COPY_SCALAR_FIELD(indent); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static PartitionElem * +_copyPartitionElem(const PartitionElem *from) +{ + PartitionElem *newnode = makeNode(PartitionElem); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(collation); + COPY_NODE_FIELD(opclass); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static PartitionSpec * +_copyPartitionSpec(const PartitionSpec *from) +{ + PartitionSpec *newnode = makeNode(PartitionSpec); + + COPY_SCALAR_FIELD(strategy); + COPY_NODE_FIELD(partParams); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static PartitionBoundSpec * +_copyPartitionBoundSpec(const PartitionBoundSpec *from) +{ + PartitionBoundSpec *newnode = makeNode(PartitionBoundSpec); + + COPY_SCALAR_FIELD(strategy); + COPY_SCALAR_FIELD(is_default); + COPY_SCALAR_FIELD(modulus); + COPY_SCALAR_FIELD(remainder); + COPY_NODE_FIELD(listdatums); + COPY_NODE_FIELD(lowerdatums); + COPY_NODE_FIELD(upperdatums); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static PartitionRangeDatum * +_copyPartitionRangeDatum(const PartitionRangeDatum *from) +{ + PartitionRangeDatum *newnode = makeNode(PartitionRangeDatum); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(value); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static SinglePartitionSpec * +_copySinglePartitionSpec(const SinglePartitionSpec *from) +{ + SinglePartitionSpec *newnode = makeNode(SinglePartitionSpec); + + + return newnode; +} + +static PartitionCmd * +_copyPartitionCmd(const PartitionCmd *from) +{ + PartitionCmd *newnode = makeNode(PartitionCmd); + + COPY_NODE_FIELD(name); + COPY_NODE_FIELD(bound); + COPY_SCALAR_FIELD(concurrent); + + return newnode; +} + +static RangeTblEntry * +_copyRangeTblEntry(const RangeTblEntry *from) +{ + RangeTblEntry *newnode = makeNode(RangeTblEntry); + + COPY_NODE_FIELD(alias); + COPY_NODE_FIELD(eref); + COPY_SCALAR_FIELD(rtekind); + COPY_SCALAR_FIELD(relid); + COPY_SCALAR_FIELD(inh); + COPY_SCALAR_FIELD(relkind); + COPY_SCALAR_FIELD(rellockmode); + COPY_SCALAR_FIELD(perminfoindex); + COPY_NODE_FIELD(tablesample); + COPY_NODE_FIELD(subquery); + COPY_SCALAR_FIELD(security_barrier); + COPY_SCALAR_FIELD(jointype); + COPY_SCALAR_FIELD(joinmergedcols); + COPY_NODE_FIELD(joinaliasvars); + COPY_NODE_FIELD(joinleftcols); + COPY_NODE_FIELD(joinrightcols); + COPY_NODE_FIELD(join_using_alias); + COPY_NODE_FIELD(functions); + COPY_SCALAR_FIELD(funcordinality); + COPY_NODE_FIELD(tablefunc); + COPY_NODE_FIELD(values_lists); + COPY_STRING_FIELD(ctename); + COPY_SCALAR_FIELD(ctelevelsup); + COPY_SCALAR_FIELD(self_reference); + COPY_NODE_FIELD(coltypes); + COPY_NODE_FIELD(coltypmods); + COPY_NODE_FIELD(colcollations); + COPY_STRING_FIELD(enrname); + COPY_SCALAR_FIELD(enrtuples); + COPY_SCALAR_FIELD(lateral); + COPY_SCALAR_FIELD(inFromCl); + COPY_NODE_FIELD(securityQuals); + + return newnode; +} + +static RTEPermissionInfo * +_copyRTEPermissionInfo(const RTEPermissionInfo *from) +{ + RTEPermissionInfo *newnode = makeNode(RTEPermissionInfo); + + COPY_SCALAR_FIELD(relid); + COPY_SCALAR_FIELD(inh); + COPY_SCALAR_FIELD(requiredPerms); + COPY_SCALAR_FIELD(checkAsUser); + COPY_BITMAPSET_FIELD(selectedCols); + COPY_BITMAPSET_FIELD(insertedCols); + COPY_BITMAPSET_FIELD(updatedCols); + + return newnode; +} + +static RangeTblFunction * +_copyRangeTblFunction(const RangeTblFunction *from) +{ + RangeTblFunction *newnode = makeNode(RangeTblFunction); + + COPY_NODE_FIELD(funcexpr); + COPY_SCALAR_FIELD(funccolcount); + COPY_NODE_FIELD(funccolnames); + COPY_NODE_FIELD(funccoltypes); + COPY_NODE_FIELD(funccoltypmods); + COPY_NODE_FIELD(funccolcollations); + COPY_BITMAPSET_FIELD(funcparams); + + return newnode; +} + +static TableSampleClause * +_copyTableSampleClause(const TableSampleClause *from) +{ + TableSampleClause *newnode = makeNode(TableSampleClause); + + COPY_SCALAR_FIELD(tsmhandler); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(repeatable); + + return newnode; +} + +static WithCheckOption * +_copyWithCheckOption(const WithCheckOption *from) +{ + WithCheckOption *newnode = makeNode(WithCheckOption); + + COPY_SCALAR_FIELD(kind); + COPY_STRING_FIELD(relname); + COPY_STRING_FIELD(polname); + COPY_NODE_FIELD(qual); + COPY_SCALAR_FIELD(cascaded); + + return newnode; +} + +static SortGroupClause * +_copySortGroupClause(const SortGroupClause *from) +{ + SortGroupClause *newnode = makeNode(SortGroupClause); + + COPY_SCALAR_FIELD(tleSortGroupRef); + COPY_SCALAR_FIELD(eqop); + COPY_SCALAR_FIELD(sortop); + COPY_SCALAR_FIELD(nulls_first); + COPY_SCALAR_FIELD(hashable); + + return newnode; +} + +static GroupingSet * +_copyGroupingSet(const GroupingSet *from) +{ + GroupingSet *newnode = makeNode(GroupingSet); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(content); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static WindowClause * +_copyWindowClause(const WindowClause *from) +{ + WindowClause *newnode = makeNode(WindowClause); + + COPY_STRING_FIELD(name); + COPY_STRING_FIELD(refname); + COPY_NODE_FIELD(partitionClause); + COPY_NODE_FIELD(orderClause); + COPY_SCALAR_FIELD(frameOptions); + COPY_NODE_FIELD(startOffset); + COPY_NODE_FIELD(endOffset); + COPY_SCALAR_FIELD(startInRangeFunc); + COPY_SCALAR_FIELD(endInRangeFunc); + COPY_SCALAR_FIELD(inRangeColl); + COPY_SCALAR_FIELD(inRangeAsc); + COPY_SCALAR_FIELD(inRangeNullsFirst); + COPY_SCALAR_FIELD(winref); + COPY_SCALAR_FIELD(copiedOrder); + + return newnode; +} + +static RowMarkClause * +_copyRowMarkClause(const RowMarkClause *from) +{ + RowMarkClause *newnode = makeNode(RowMarkClause); + + COPY_SCALAR_FIELD(rti); + COPY_SCALAR_FIELD(strength); + COPY_SCALAR_FIELD(waitPolicy); + COPY_SCALAR_FIELD(pushedDown); + + return newnode; +} + +static WithClause * +_copyWithClause(const WithClause *from) +{ + WithClause *newnode = makeNode(WithClause); + + COPY_NODE_FIELD(ctes); + COPY_SCALAR_FIELD(recursive); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static InferClause * +_copyInferClause(const InferClause *from) +{ + InferClause *newnode = makeNode(InferClause); + + COPY_NODE_FIELD(indexElems); + COPY_NODE_FIELD(whereClause); + COPY_STRING_FIELD(conname); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static OnConflictClause * +_copyOnConflictClause(const OnConflictClause *from) +{ + OnConflictClause *newnode = makeNode(OnConflictClause); + + COPY_SCALAR_FIELD(action); + COPY_NODE_FIELD(infer); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(whereClause); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CTESearchClause * +_copyCTESearchClause(const CTESearchClause *from) +{ + CTESearchClause *newnode = makeNode(CTESearchClause); + + COPY_NODE_FIELD(search_col_list); + COPY_SCALAR_FIELD(search_breadth_first); + COPY_STRING_FIELD(search_seq_column); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CTECycleClause * +_copyCTECycleClause(const CTECycleClause *from) +{ + CTECycleClause *newnode = makeNode(CTECycleClause); + + COPY_NODE_FIELD(cycle_col_list); + COPY_STRING_FIELD(cycle_mark_column); + COPY_NODE_FIELD(cycle_mark_value); + COPY_NODE_FIELD(cycle_mark_default); + COPY_STRING_FIELD(cycle_path_column); + COPY_LOCATION_FIELD(location); + COPY_SCALAR_FIELD(cycle_mark_type); + COPY_SCALAR_FIELD(cycle_mark_typmod); + COPY_SCALAR_FIELD(cycle_mark_collation); + COPY_SCALAR_FIELD(cycle_mark_neop); + + return newnode; +} + +static CommonTableExpr * +_copyCommonTableExpr(const CommonTableExpr *from) +{ + CommonTableExpr *newnode = makeNode(CommonTableExpr); + + COPY_STRING_FIELD(ctename); + COPY_NODE_FIELD(aliascolnames); + COPY_SCALAR_FIELD(ctematerialized); + COPY_NODE_FIELD(ctequery); + COPY_NODE_FIELD(search_clause); + COPY_NODE_FIELD(cycle_clause); + COPY_LOCATION_FIELD(location); + COPY_SCALAR_FIELD(cterecursive); + COPY_SCALAR_FIELD(cterefcount); + COPY_NODE_FIELD(ctecolnames); + COPY_NODE_FIELD(ctecoltypes); + COPY_NODE_FIELD(ctecoltypmods); + COPY_NODE_FIELD(ctecolcollations); + + return newnode; +} + +static MergeWhenClause * +_copyMergeWhenClause(const MergeWhenClause *from) +{ + MergeWhenClause *newnode = makeNode(MergeWhenClause); + + COPY_SCALAR_FIELD(matchKind); + COPY_SCALAR_FIELD(commandType); + COPY_SCALAR_FIELD(override); + COPY_NODE_FIELD(condition); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(values); + + return newnode; +} + +static TriggerTransition * +_copyTriggerTransition(const TriggerTransition *from) +{ + TriggerTransition *newnode = makeNode(TriggerTransition); + + COPY_STRING_FIELD(name); + COPY_SCALAR_FIELD(isNew); + COPY_SCALAR_FIELD(isTable); + + return newnode; +} + +static JsonOutput * +_copyJsonOutput(const JsonOutput *from) +{ + JsonOutput *newnode = makeNode(JsonOutput); + + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(returning); + + return newnode; +} + +static JsonArgument * +_copyJsonArgument(const JsonArgument *from) +{ + JsonArgument *newnode = makeNode(JsonArgument); + + COPY_NODE_FIELD(val); + COPY_STRING_FIELD(name); + + return newnode; +} + +static JsonFuncExpr * +_copyJsonFuncExpr(const JsonFuncExpr *from) +{ + JsonFuncExpr *newnode = makeNode(JsonFuncExpr); + + COPY_SCALAR_FIELD(op); + COPY_STRING_FIELD(column_name); + COPY_NODE_FIELD(context_item); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(passing); + COPY_NODE_FIELD(output); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(quotes); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTablePathSpec * +_copyJsonTablePathSpec(const JsonTablePathSpec *from) +{ + JsonTablePathSpec *newnode = makeNode(JsonTablePathSpec); + + COPY_NODE_FIELD(string); + COPY_STRING_FIELD(name); + COPY_LOCATION_FIELD(name_location); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTable * +_copyJsonTable(const JsonTable *from) +{ + JsonTable *newnode = makeNode(JsonTable); + + COPY_NODE_FIELD(context_item); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(passing); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(on_error); + COPY_NODE_FIELD(alias); + COPY_SCALAR_FIELD(lateral); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonTableColumn * +_copyJsonTableColumn(const JsonTableColumn *from) +{ + JsonTableColumn *newnode = makeNode(JsonTableColumn); + + COPY_SCALAR_FIELD(coltype); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(pathspec); + COPY_NODE_FIELD(format); + COPY_SCALAR_FIELD(wrapper); + COPY_SCALAR_FIELD(quotes); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(on_empty); + COPY_NODE_FIELD(on_error); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonKeyValue * +_copyJsonKeyValue(const JsonKeyValue *from) +{ + JsonKeyValue *newnode = makeNode(JsonKeyValue); + + COPY_NODE_FIELD(key); + COPY_NODE_FIELD(value); + + return newnode; +} + +static JsonParseExpr * +_copyJsonParseExpr(const JsonParseExpr *from) +{ + JsonParseExpr *newnode = makeNode(JsonParseExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_SCALAR_FIELD(unique_keys); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonScalarExpr * +_copyJsonScalarExpr(const JsonScalarExpr *from) +{ + JsonScalarExpr *newnode = makeNode(JsonScalarExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonSerializeExpr * +_copyJsonSerializeExpr(const JsonSerializeExpr *from) +{ + JsonSerializeExpr *newnode = makeNode(JsonSerializeExpr); + + COPY_NODE_FIELD(expr); + COPY_NODE_FIELD(output); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonObjectConstructor * +_copyJsonObjectConstructor(const JsonObjectConstructor *from) +{ + JsonObjectConstructor *newnode = makeNode(JsonObjectConstructor); + + COPY_NODE_FIELD(exprs); + COPY_NODE_FIELD(output); + COPY_SCALAR_FIELD(absent_on_null); + COPY_SCALAR_FIELD(unique); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonArrayConstructor * +_copyJsonArrayConstructor(const JsonArrayConstructor *from) +{ + JsonArrayConstructor *newnode = makeNode(JsonArrayConstructor); + + COPY_NODE_FIELD(exprs); + COPY_NODE_FIELD(output); + COPY_SCALAR_FIELD(absent_on_null); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonArrayQueryConstructor * +_copyJsonArrayQueryConstructor(const JsonArrayQueryConstructor *from) +{ + JsonArrayQueryConstructor *newnode = makeNode(JsonArrayQueryConstructor); + + COPY_NODE_FIELD(query); + COPY_NODE_FIELD(output); + COPY_NODE_FIELD(format); + COPY_SCALAR_FIELD(absent_on_null); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonAggConstructor * +_copyJsonAggConstructor(const JsonAggConstructor *from) +{ + JsonAggConstructor *newnode = makeNode(JsonAggConstructor); + + COPY_NODE_FIELD(output); + COPY_NODE_FIELD(agg_filter); + COPY_NODE_FIELD(agg_order); + COPY_NODE_FIELD(over); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static JsonObjectAgg * +_copyJsonObjectAgg(const JsonObjectAgg *from) +{ + JsonObjectAgg *newnode = makeNode(JsonObjectAgg); + + COPY_NODE_FIELD(constructor); + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(absent_on_null); + COPY_SCALAR_FIELD(unique); + + return newnode; +} + +static JsonArrayAgg * +_copyJsonArrayAgg(const JsonArrayAgg *from) +{ + JsonArrayAgg *newnode = makeNode(JsonArrayAgg); + + COPY_NODE_FIELD(constructor); + COPY_NODE_FIELD(arg); + COPY_SCALAR_FIELD(absent_on_null); + + return newnode; +} + +static RawStmt * +_copyRawStmt(const RawStmt *from) +{ + RawStmt *newnode = makeNode(RawStmt); + + COPY_NODE_FIELD(stmt); + COPY_LOCATION_FIELD(stmt_location); + COPY_LOCATION_FIELD(stmt_len); + + return newnode; +} + +static InsertStmt * +_copyInsertStmt(const InsertStmt *from) +{ + InsertStmt *newnode = makeNode(InsertStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(cols); + COPY_NODE_FIELD(selectStmt); + COPY_NODE_FIELD(onConflictClause); + COPY_NODE_FIELD(returningList); + COPY_NODE_FIELD(withClause); + COPY_SCALAR_FIELD(override); + + return newnode; +} + +static DeleteStmt * +_copyDeleteStmt(const DeleteStmt *from) +{ + DeleteStmt *newnode = makeNode(DeleteStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(usingClause); + COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(returningList); + COPY_NODE_FIELD(withClause); + + return newnode; +} + +static UpdateStmt * +_copyUpdateStmt(const UpdateStmt *from) +{ + UpdateStmt *newnode = makeNode(UpdateStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(fromClause); + COPY_NODE_FIELD(returningList); + COPY_NODE_FIELD(withClause); + + return newnode; +} + +static MergeStmt * +_copyMergeStmt(const MergeStmt *from) +{ + MergeStmt *newnode = makeNode(MergeStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(sourceRelation); + COPY_NODE_FIELD(joinCondition); + COPY_NODE_FIELD(mergeWhenClauses); + COPY_NODE_FIELD(returningList); + COPY_NODE_FIELD(withClause); + + return newnode; +} + +static SelectStmt * +_copySelectStmt(const SelectStmt *from) +{ + SelectStmt *newnode = makeNode(SelectStmt); + + COPY_NODE_FIELD(distinctClause); + COPY_NODE_FIELD(intoClause); + COPY_NODE_FIELD(targetList); + COPY_NODE_FIELD(fromClause); + COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(groupClause); + COPY_SCALAR_FIELD(groupDistinct); + COPY_NODE_FIELD(havingClause); + COPY_NODE_FIELD(windowClause); + COPY_NODE_FIELD(valuesLists); + COPY_NODE_FIELD(sortClause); + COPY_NODE_FIELD(limitOffset); + COPY_NODE_FIELD(limitCount); + COPY_SCALAR_FIELD(limitOption); + COPY_NODE_FIELD(lockingClause); + COPY_NODE_FIELD(withClause); + COPY_SCALAR_FIELD(op); + COPY_SCALAR_FIELD(all); + COPY_NODE_FIELD(larg); + COPY_NODE_FIELD(rarg); + + return newnode; +} + +static SetOperationStmt * +_copySetOperationStmt(const SetOperationStmt *from) +{ + SetOperationStmt *newnode = makeNode(SetOperationStmt); + + COPY_SCALAR_FIELD(op); + COPY_SCALAR_FIELD(all); + COPY_NODE_FIELD(larg); + COPY_NODE_FIELD(rarg); + COPY_NODE_FIELD(colTypes); + COPY_NODE_FIELD(colTypmods); + COPY_NODE_FIELD(colCollations); + COPY_NODE_FIELD(groupClauses); + + return newnode; +} + +static ReturnStmt * +_copyReturnStmt(const ReturnStmt *from) +{ + ReturnStmt *newnode = makeNode(ReturnStmt); + + COPY_NODE_FIELD(returnval); + + return newnode; +} + +static PLAssignStmt * +_copyPLAssignStmt(const PLAssignStmt *from) +{ + PLAssignStmt *newnode = makeNode(PLAssignStmt); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(indirection); + COPY_SCALAR_FIELD(nnames); + COPY_NODE_FIELD(val); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CreateSchemaStmt * +_copyCreateSchemaStmt(const CreateSchemaStmt *from) +{ + CreateSchemaStmt *newnode = makeNode(CreateSchemaStmt); + + COPY_STRING_FIELD(schemaname); + COPY_NODE_FIELD(authrole); + COPY_NODE_FIELD(schemaElts); + COPY_SCALAR_FIELD(if_not_exists); + + return newnode; +} + +static AlterTableStmt * +_copyAlterTableStmt(const AlterTableStmt *from) +{ + AlterTableStmt *newnode = makeNode(AlterTableStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(cmds); + COPY_SCALAR_FIELD(objtype); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static ReplicaIdentityStmt * +_copyReplicaIdentityStmt(const ReplicaIdentityStmt *from) +{ + ReplicaIdentityStmt *newnode = makeNode(ReplicaIdentityStmt); + + COPY_SCALAR_FIELD(identity_type); + COPY_STRING_FIELD(name); + + return newnode; +} + +static AlterTableCmd * +_copyAlterTableCmd(const AlterTableCmd *from) +{ + AlterTableCmd *newnode = makeNode(AlterTableCmd); + + COPY_SCALAR_FIELD(subtype); + COPY_STRING_FIELD(name); + COPY_SCALAR_FIELD(num); + COPY_NODE_FIELD(newowner); + COPY_NODE_FIELD(def); + COPY_SCALAR_FIELD(behavior); + COPY_SCALAR_FIELD(missing_ok); + COPY_SCALAR_FIELD(recurse); + + return newnode; +} + +static AlterCollationStmt * +_copyAlterCollationStmt(const AlterCollationStmt *from) +{ + AlterCollationStmt *newnode = makeNode(AlterCollationStmt); + + COPY_NODE_FIELD(collname); + + return newnode; +} + +static AlterDomainStmt * +_copyAlterDomainStmt(const AlterDomainStmt *from) +{ + AlterDomainStmt *newnode = makeNode(AlterDomainStmt); + + COPY_SCALAR_FIELD(subtype); + COPY_NODE_FIELD(typeName); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(def); + COPY_SCALAR_FIELD(behavior); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static GrantStmt * +_copyGrantStmt(const GrantStmt *from) +{ + GrantStmt *newnode = makeNode(GrantStmt); + + COPY_SCALAR_FIELD(is_grant); + COPY_SCALAR_FIELD(targtype); + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(objects); + COPY_NODE_FIELD(privileges); + COPY_NODE_FIELD(grantees); + COPY_SCALAR_FIELD(grant_option); + COPY_NODE_FIELD(grantor); + COPY_SCALAR_FIELD(behavior); + + return newnode; +} + +static ObjectWithArgs * +_copyObjectWithArgs(const ObjectWithArgs *from) +{ + ObjectWithArgs *newnode = makeNode(ObjectWithArgs); + + COPY_NODE_FIELD(objname); + COPY_NODE_FIELD(objargs); + COPY_NODE_FIELD(objfuncargs); + COPY_SCALAR_FIELD(args_unspecified); + + return newnode; +} + +static AccessPriv * +_copyAccessPriv(const AccessPriv *from) +{ + AccessPriv *newnode = makeNode(AccessPriv); + + COPY_STRING_FIELD(priv_name); + COPY_NODE_FIELD(cols); + + return newnode; +} + +static GrantRoleStmt * +_copyGrantRoleStmt(const GrantRoleStmt *from) +{ + GrantRoleStmt *newnode = makeNode(GrantRoleStmt); + + COPY_NODE_FIELD(granted_roles); + COPY_NODE_FIELD(grantee_roles); + COPY_SCALAR_FIELD(is_grant); + COPY_NODE_FIELD(opt); + COPY_NODE_FIELD(grantor); + COPY_SCALAR_FIELD(behavior); + + return newnode; +} + +static AlterDefaultPrivilegesStmt * +_copyAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *from) +{ + AlterDefaultPrivilegesStmt *newnode = makeNode(AlterDefaultPrivilegesStmt); + + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(action); + + return newnode; +} + +static CopyStmt * +_copyCopyStmt(const CopyStmt *from) +{ + CopyStmt *newnode = makeNode(CopyStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(query); + COPY_NODE_FIELD(attlist); + COPY_SCALAR_FIELD(is_from); + COPY_SCALAR_FIELD(is_program); + COPY_STRING_FIELD(filename); + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(whereClause); + + return newnode; +} + +static VariableSetStmt * +_copyVariableSetStmt(const VariableSetStmt *from) +{ + VariableSetStmt *newnode = makeNode(VariableSetStmt); + + COPY_SCALAR_FIELD(kind); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(is_local); + + return newnode; +} + +static VariableShowStmt * +_copyVariableShowStmt(const VariableShowStmt *from) +{ + VariableShowStmt *newnode = makeNode(VariableShowStmt); + + COPY_STRING_FIELD(name); + + return newnode; +} + +static CreateStmt * +_copyCreateStmt(const CreateStmt *from) +{ + CreateStmt *newnode = makeNode(CreateStmt); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(tableElts); + COPY_NODE_FIELD(inhRelations); + COPY_NODE_FIELD(partbound); + COPY_NODE_FIELD(partspec); + COPY_NODE_FIELD(ofTypename); + COPY_NODE_FIELD(constraints); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(oncommit); + COPY_STRING_FIELD(tablespacename); + COPY_STRING_FIELD(accessMethod); + COPY_SCALAR_FIELD(if_not_exists); + + return newnode; +} + +static Constraint * +_copyConstraint(const Constraint *from) +{ + Constraint *newnode = makeNode(Constraint); + + COPY_SCALAR_FIELD(contype); + COPY_STRING_FIELD(conname); + COPY_SCALAR_FIELD(deferrable); + COPY_SCALAR_FIELD(initdeferred); + COPY_SCALAR_FIELD(skip_validation); + COPY_SCALAR_FIELD(initially_valid); + COPY_SCALAR_FIELD(is_no_inherit); + COPY_NODE_FIELD(raw_expr); + COPY_STRING_FIELD(cooked_expr); + COPY_SCALAR_FIELD(generated_when); + COPY_SCALAR_FIELD(inhcount); + COPY_SCALAR_FIELD(nulls_not_distinct); + COPY_NODE_FIELD(keys); + COPY_NODE_FIELD(including); + COPY_NODE_FIELD(exclusions); + COPY_NODE_FIELD(options); + COPY_STRING_FIELD(indexname); + COPY_STRING_FIELD(indexspace); + COPY_SCALAR_FIELD(reset_default_tblspc); + COPY_STRING_FIELD(access_method); + COPY_NODE_FIELD(where_clause); + COPY_NODE_FIELD(pktable); + COPY_NODE_FIELD(fk_attrs); + COPY_NODE_FIELD(pk_attrs); + COPY_SCALAR_FIELD(fk_matchtype); + COPY_SCALAR_FIELD(fk_upd_action); + COPY_SCALAR_FIELD(fk_del_action); + COPY_NODE_FIELD(fk_del_set_cols); + COPY_NODE_FIELD(old_conpfeqop); + COPY_SCALAR_FIELD(old_pktable_oid); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CreateTableSpaceStmt * +_copyCreateTableSpaceStmt(const CreateTableSpaceStmt *from) +{ + CreateTableSpaceStmt *newnode = makeNode(CreateTableSpaceStmt); + + COPY_STRING_FIELD(tablespacename); + COPY_NODE_FIELD(owner); + COPY_STRING_FIELD(location); + COPY_NODE_FIELD(options); + + return newnode; +} + +static DropTableSpaceStmt * +_copyDropTableSpaceStmt(const DropTableSpaceStmt *from) +{ + DropTableSpaceStmt *newnode = makeNode(DropTableSpaceStmt); + + COPY_STRING_FIELD(tablespacename); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static AlterTableSpaceOptionsStmt * +_copyAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *from) +{ + AlterTableSpaceOptionsStmt *newnode = makeNode(AlterTableSpaceOptionsStmt); + + COPY_STRING_FIELD(tablespacename); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(isReset); + + return newnode; +} + +static AlterTableMoveAllStmt * +_copyAlterTableMoveAllStmt(const AlterTableMoveAllStmt *from) +{ + AlterTableMoveAllStmt *newnode = makeNode(AlterTableMoveAllStmt); + + COPY_STRING_FIELD(orig_tablespacename); + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(roles); + COPY_STRING_FIELD(new_tablespacename); + COPY_SCALAR_FIELD(nowait); + + return newnode; +} + +static CreateExtensionStmt * +_copyCreateExtensionStmt(const CreateExtensionStmt *from) +{ + CreateExtensionStmt *newnode = makeNode(CreateExtensionStmt); + + COPY_STRING_FIELD(extname); + COPY_SCALAR_FIELD(if_not_exists); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterExtensionStmt * +_copyAlterExtensionStmt(const AlterExtensionStmt *from) +{ + AlterExtensionStmt *newnode = makeNode(AlterExtensionStmt); + + COPY_STRING_FIELD(extname); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterExtensionContentsStmt * +_copyAlterExtensionContentsStmt(const AlterExtensionContentsStmt *from) +{ + AlterExtensionContentsStmt *newnode = makeNode(AlterExtensionContentsStmt); + + COPY_STRING_FIELD(extname); + COPY_SCALAR_FIELD(action); + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(object); + + return newnode; +} + +static CreateFdwStmt * +_copyCreateFdwStmt(const CreateFdwStmt *from) +{ + CreateFdwStmt *newnode = makeNode(CreateFdwStmt); + + COPY_STRING_FIELD(fdwname); + COPY_NODE_FIELD(func_options); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterFdwStmt * +_copyAlterFdwStmt(const AlterFdwStmt *from) +{ + AlterFdwStmt *newnode = makeNode(AlterFdwStmt); + + COPY_STRING_FIELD(fdwname); + COPY_NODE_FIELD(func_options); + COPY_NODE_FIELD(options); + + return newnode; +} + +static CreateForeignServerStmt * +_copyCreateForeignServerStmt(const CreateForeignServerStmt *from) +{ + CreateForeignServerStmt *newnode = makeNode(CreateForeignServerStmt); + + COPY_STRING_FIELD(servername); + COPY_STRING_FIELD(servertype); + COPY_STRING_FIELD(version); + COPY_STRING_FIELD(fdwname); + COPY_SCALAR_FIELD(if_not_exists); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterForeignServerStmt * +_copyAlterForeignServerStmt(const AlterForeignServerStmt *from) +{ + AlterForeignServerStmt *newnode = makeNode(AlterForeignServerStmt); + + COPY_STRING_FIELD(servername); + COPY_STRING_FIELD(version); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(has_version); + + return newnode; +} + +static CreateForeignTableStmt * +_copyCreateForeignTableStmt(const CreateForeignTableStmt *from) +{ + CreateForeignTableStmt *newnode = makeNode(CreateForeignTableStmt); + + COPY_NODE_FIELD(base.relation); + COPY_NODE_FIELD(base.tableElts); + COPY_NODE_FIELD(base.inhRelations); + COPY_NODE_FIELD(base.partbound); + COPY_NODE_FIELD(base.partspec); + COPY_NODE_FIELD(base.ofTypename); + COPY_NODE_FIELD(base.constraints); + COPY_NODE_FIELD(base.options); + COPY_SCALAR_FIELD(base.oncommit); + COPY_STRING_FIELD(base.tablespacename); + COPY_STRING_FIELD(base.accessMethod); + COPY_SCALAR_FIELD(base.if_not_exists); + COPY_STRING_FIELD(servername); + COPY_NODE_FIELD(options); + + return newnode; +} + +static CreateUserMappingStmt * +_copyCreateUserMappingStmt(const CreateUserMappingStmt *from) +{ + CreateUserMappingStmt *newnode = makeNode(CreateUserMappingStmt); + + COPY_NODE_FIELD(user); + COPY_STRING_FIELD(servername); + COPY_SCALAR_FIELD(if_not_exists); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterUserMappingStmt * +_copyAlterUserMappingStmt(const AlterUserMappingStmt *from) +{ + AlterUserMappingStmt *newnode = makeNode(AlterUserMappingStmt); + + COPY_NODE_FIELD(user); + COPY_STRING_FIELD(servername); + COPY_NODE_FIELD(options); + + return newnode; +} + +static DropUserMappingStmt * +_copyDropUserMappingStmt(const DropUserMappingStmt *from) +{ + DropUserMappingStmt *newnode = makeNode(DropUserMappingStmt); + + COPY_NODE_FIELD(user); + COPY_STRING_FIELD(servername); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static ImportForeignSchemaStmt * +_copyImportForeignSchemaStmt(const ImportForeignSchemaStmt *from) +{ + ImportForeignSchemaStmt *newnode = makeNode(ImportForeignSchemaStmt); + + COPY_STRING_FIELD(server_name); + COPY_STRING_FIELD(remote_schema); + COPY_STRING_FIELD(local_schema); + COPY_SCALAR_FIELD(list_type); + COPY_NODE_FIELD(table_list); + COPY_NODE_FIELD(options); + + return newnode; +} + +static CreatePolicyStmt * +_copyCreatePolicyStmt(const CreatePolicyStmt *from) +{ + CreatePolicyStmt *newnode = makeNode(CreatePolicyStmt); + + COPY_STRING_FIELD(policy_name); + COPY_NODE_FIELD(table); + COPY_STRING_FIELD(cmd_name); + COPY_SCALAR_FIELD(permissive); + COPY_NODE_FIELD(roles); + COPY_NODE_FIELD(qual); + COPY_NODE_FIELD(with_check); + + return newnode; +} + +static AlterPolicyStmt * +_copyAlterPolicyStmt(const AlterPolicyStmt *from) +{ + AlterPolicyStmt *newnode = makeNode(AlterPolicyStmt); + + COPY_STRING_FIELD(policy_name); + COPY_NODE_FIELD(table); + COPY_NODE_FIELD(roles); + COPY_NODE_FIELD(qual); + COPY_NODE_FIELD(with_check); + + return newnode; +} + +static CreateAmStmt * +_copyCreateAmStmt(const CreateAmStmt *from) +{ + CreateAmStmt *newnode = makeNode(CreateAmStmt); + + COPY_STRING_FIELD(amname); + COPY_NODE_FIELD(handler_name); + COPY_SCALAR_FIELD(amtype); + + return newnode; +} + +static CreateTrigStmt * +_copyCreateTrigStmt(const CreateTrigStmt *from) +{ + CreateTrigStmt *newnode = makeNode(CreateTrigStmt); + + COPY_SCALAR_FIELD(replace); + COPY_SCALAR_FIELD(isconstraint); + COPY_STRING_FIELD(trigname); + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(funcname); + COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(row); + COPY_SCALAR_FIELD(timing); + COPY_SCALAR_FIELD(events); + COPY_NODE_FIELD(columns); + COPY_NODE_FIELD(whenClause); + COPY_NODE_FIELD(transitionRels); + COPY_SCALAR_FIELD(deferrable); + COPY_SCALAR_FIELD(initdeferred); + COPY_NODE_FIELD(constrrel); + + return newnode; +} + +static CreateEventTrigStmt * +_copyCreateEventTrigStmt(const CreateEventTrigStmt *from) +{ + CreateEventTrigStmt *newnode = makeNode(CreateEventTrigStmt); + + COPY_STRING_FIELD(trigname); + COPY_STRING_FIELD(eventname); + COPY_NODE_FIELD(whenclause); + COPY_NODE_FIELD(funcname); + + return newnode; +} + +static AlterEventTrigStmt * +_copyAlterEventTrigStmt(const AlterEventTrigStmt *from) +{ + AlterEventTrigStmt *newnode = makeNode(AlterEventTrigStmt); + + COPY_STRING_FIELD(trigname); + COPY_SCALAR_FIELD(tgenabled); + + return newnode; +} + +static CreatePLangStmt * +_copyCreatePLangStmt(const CreatePLangStmt *from) +{ + CreatePLangStmt *newnode = makeNode(CreatePLangStmt); + + COPY_SCALAR_FIELD(replace); + COPY_STRING_FIELD(plname); + COPY_NODE_FIELD(plhandler); + COPY_NODE_FIELD(plinline); + COPY_NODE_FIELD(plvalidator); + COPY_SCALAR_FIELD(pltrusted); + + return newnode; +} + +static CreateRoleStmt * +_copyCreateRoleStmt(const CreateRoleStmt *from) +{ + CreateRoleStmt *newnode = makeNode(CreateRoleStmt); + + COPY_SCALAR_FIELD(stmt_type); + COPY_STRING_FIELD(role); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterRoleStmt * +_copyAlterRoleStmt(const AlterRoleStmt *from) +{ + AlterRoleStmt *newnode = makeNode(AlterRoleStmt); + + COPY_NODE_FIELD(role); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(action); + + return newnode; +} + +static AlterRoleSetStmt * +_copyAlterRoleSetStmt(const AlterRoleSetStmt *from) +{ + AlterRoleSetStmt *newnode = makeNode(AlterRoleSetStmt); + + COPY_NODE_FIELD(role); + COPY_STRING_FIELD(database); + COPY_NODE_FIELD(setstmt); + + return newnode; +} + +static DropRoleStmt * +_copyDropRoleStmt(const DropRoleStmt *from) +{ + DropRoleStmt *newnode = makeNode(DropRoleStmt); + + COPY_NODE_FIELD(roles); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static CreateSeqStmt * +_copyCreateSeqStmt(const CreateSeqStmt *from) +{ + CreateSeqStmt *newnode = makeNode(CreateSeqStmt); + + COPY_NODE_FIELD(sequence); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(ownerId); + COPY_SCALAR_FIELD(for_identity); + COPY_SCALAR_FIELD(if_not_exists); + + return newnode; +} + +static AlterSeqStmt * +_copyAlterSeqStmt(const AlterSeqStmt *from) +{ + AlterSeqStmt *newnode = makeNode(AlterSeqStmt); + + COPY_NODE_FIELD(sequence); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(for_identity); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static DefineStmt * +_copyDefineStmt(const DefineStmt *from) +{ + DefineStmt *newnode = makeNode(DefineStmt); + + COPY_SCALAR_FIELD(kind); + COPY_SCALAR_FIELD(oldstyle); + COPY_NODE_FIELD(defnames); + COPY_NODE_FIELD(args); + COPY_NODE_FIELD(definition); + COPY_SCALAR_FIELD(if_not_exists); + COPY_SCALAR_FIELD(replace); + + return newnode; +} + +static CreateDomainStmt * +_copyCreateDomainStmt(const CreateDomainStmt *from) +{ + CreateDomainStmt *newnode = makeNode(CreateDomainStmt); + + COPY_NODE_FIELD(domainname); + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(collClause); + COPY_NODE_FIELD(constraints); + + return newnode; +} + +static CreateOpClassStmt * +_copyCreateOpClassStmt(const CreateOpClassStmt *from) +{ + CreateOpClassStmt *newnode = makeNode(CreateOpClassStmt); + + COPY_NODE_FIELD(opclassname); + COPY_NODE_FIELD(opfamilyname); + COPY_STRING_FIELD(amname); + COPY_NODE_FIELD(datatype); + COPY_NODE_FIELD(items); + COPY_SCALAR_FIELD(isDefault); + + return newnode; +} + +static CreateOpClassItem * +_copyCreateOpClassItem(const CreateOpClassItem *from) +{ + CreateOpClassItem *newnode = makeNode(CreateOpClassItem); + + COPY_SCALAR_FIELD(itemtype); + COPY_NODE_FIELD(name); + COPY_SCALAR_FIELD(number); + COPY_NODE_FIELD(order_family); + COPY_NODE_FIELD(class_args); + COPY_NODE_FIELD(storedtype); + + return newnode; +} + +static CreateOpFamilyStmt * +_copyCreateOpFamilyStmt(const CreateOpFamilyStmt *from) +{ + CreateOpFamilyStmt *newnode = makeNode(CreateOpFamilyStmt); + + COPY_NODE_FIELD(opfamilyname); + COPY_STRING_FIELD(amname); + + return newnode; +} + +static AlterOpFamilyStmt * +_copyAlterOpFamilyStmt(const AlterOpFamilyStmt *from) +{ + AlterOpFamilyStmt *newnode = makeNode(AlterOpFamilyStmt); + + COPY_NODE_FIELD(opfamilyname); + COPY_STRING_FIELD(amname); + COPY_SCALAR_FIELD(isDrop); + COPY_NODE_FIELD(items); + + return newnode; +} + +static DropStmt * +_copyDropStmt(const DropStmt *from) +{ + DropStmt *newnode = makeNode(DropStmt); + + COPY_NODE_FIELD(objects); + COPY_SCALAR_FIELD(removeType); + COPY_SCALAR_FIELD(behavior); + COPY_SCALAR_FIELD(missing_ok); + COPY_SCALAR_FIELD(concurrent); + + return newnode; +} + +static TruncateStmt * +_copyTruncateStmt(const TruncateStmt *from) +{ + TruncateStmt *newnode = makeNode(TruncateStmt); + + COPY_NODE_FIELD(relations); + COPY_SCALAR_FIELD(restart_seqs); + COPY_SCALAR_FIELD(behavior); + + return newnode; +} + +static CommentStmt * +_copyCommentStmt(const CommentStmt *from) +{ + CommentStmt *newnode = makeNode(CommentStmt); + + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(object); + COPY_STRING_FIELD(comment); + + return newnode; +} + +static SecLabelStmt * +_copySecLabelStmt(const SecLabelStmt *from) +{ + SecLabelStmt *newnode = makeNode(SecLabelStmt); + + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(object); + COPY_STRING_FIELD(provider); + COPY_STRING_FIELD(label); + + return newnode; +} + +static DeclareCursorStmt * +_copyDeclareCursorStmt(const DeclareCursorStmt *from) +{ + DeclareCursorStmt *newnode = makeNode(DeclareCursorStmt); + + COPY_STRING_FIELD(portalname); + COPY_SCALAR_FIELD(options); + COPY_NODE_FIELD(query); + + return newnode; +} + +static ClosePortalStmt * +_copyClosePortalStmt(const ClosePortalStmt *from) +{ + ClosePortalStmt *newnode = makeNode(ClosePortalStmt); + + COPY_STRING_FIELD(portalname); + + return newnode; +} + +static FetchStmt * +_copyFetchStmt(const FetchStmt *from) +{ + FetchStmt *newnode = makeNode(FetchStmt); + + COPY_SCALAR_FIELD(direction); + COPY_SCALAR_FIELD(howMany); + COPY_STRING_FIELD(portalname); + COPY_SCALAR_FIELD(ismove); + + return newnode; +} + +static IndexStmt * +_copyIndexStmt(const IndexStmt *from) +{ + IndexStmt *newnode = makeNode(IndexStmt); + + COPY_STRING_FIELD(idxname); + COPY_NODE_FIELD(relation); + COPY_STRING_FIELD(accessMethod); + COPY_STRING_FIELD(tableSpace); + COPY_NODE_FIELD(indexParams); + COPY_NODE_FIELD(indexIncludingParams); + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(excludeOpNames); + COPY_STRING_FIELD(idxcomment); + COPY_SCALAR_FIELD(indexOid); + COPY_SCALAR_FIELD(oldNumber); + COPY_SCALAR_FIELD(oldCreateSubid); + COPY_SCALAR_FIELD(oldFirstRelfilelocatorSubid); + COPY_SCALAR_FIELD(unique); + COPY_SCALAR_FIELD(nulls_not_distinct); + COPY_SCALAR_FIELD(primary); + COPY_SCALAR_FIELD(isconstraint); + COPY_SCALAR_FIELD(deferrable); + COPY_SCALAR_FIELD(initdeferred); + COPY_SCALAR_FIELD(transformed); + COPY_SCALAR_FIELD(concurrent); + COPY_SCALAR_FIELD(if_not_exists); + COPY_SCALAR_FIELD(reset_default_tblspc); + + return newnode; +} + +static CreateStatsStmt * +_copyCreateStatsStmt(const CreateStatsStmt *from) +{ + CreateStatsStmt *newnode = makeNode(CreateStatsStmt); + + COPY_NODE_FIELD(defnames); + COPY_NODE_FIELD(stat_types); + COPY_NODE_FIELD(exprs); + COPY_NODE_FIELD(relations); + COPY_STRING_FIELD(stxcomment); + COPY_SCALAR_FIELD(transformed); + COPY_SCALAR_FIELD(if_not_exists); + + return newnode; +} + +static StatsElem * +_copyStatsElem(const StatsElem *from) +{ + StatsElem *newnode = makeNode(StatsElem); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(expr); + + return newnode; +} + +static AlterStatsStmt * +_copyAlterStatsStmt(const AlterStatsStmt *from) +{ + AlterStatsStmt *newnode = makeNode(AlterStatsStmt); + + COPY_NODE_FIELD(defnames); + COPY_NODE_FIELD(stxstattarget); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static CreateFunctionStmt * +_copyCreateFunctionStmt(const CreateFunctionStmt *from) +{ + CreateFunctionStmt *newnode = makeNode(CreateFunctionStmt); + + COPY_SCALAR_FIELD(is_procedure); + COPY_SCALAR_FIELD(replace); + COPY_NODE_FIELD(funcname); + COPY_NODE_FIELD(parameters); + COPY_NODE_FIELD(returnType); + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(sql_body); + + return newnode; +} + +static FunctionParameter * +_copyFunctionParameter(const FunctionParameter *from) +{ + FunctionParameter *newnode = makeNode(FunctionParameter); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(argType); + COPY_SCALAR_FIELD(mode); + COPY_NODE_FIELD(defexpr); + + return newnode; +} + +static AlterFunctionStmt * +_copyAlterFunctionStmt(const AlterFunctionStmt *from) +{ + AlterFunctionStmt *newnode = makeNode(AlterFunctionStmt); + + COPY_SCALAR_FIELD(objtype); + COPY_NODE_FIELD(func); + COPY_NODE_FIELD(actions); + + return newnode; +} + +static DoStmt * +_copyDoStmt(const DoStmt *from) +{ + DoStmt *newnode = makeNode(DoStmt); + + COPY_NODE_FIELD(args); + + return newnode; +} + +static CallStmt * +_copyCallStmt(const CallStmt *from) +{ + CallStmt *newnode = makeNode(CallStmt); + + COPY_NODE_FIELD(funccall); + COPY_NODE_FIELD(funcexpr); + COPY_NODE_FIELD(outargs); + + return newnode; +} + +static RenameStmt * +_copyRenameStmt(const RenameStmt *from) +{ + RenameStmt *newnode = makeNode(RenameStmt); + + COPY_SCALAR_FIELD(renameType); + COPY_SCALAR_FIELD(relationType); + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(object); + COPY_STRING_FIELD(subname); + COPY_STRING_FIELD(newname); + COPY_SCALAR_FIELD(behavior); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static AlterObjectDependsStmt * +_copyAlterObjectDependsStmt(const AlterObjectDependsStmt *from) +{ + AlterObjectDependsStmt *newnode = makeNode(AlterObjectDependsStmt); + + COPY_SCALAR_FIELD(objectType); + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(object); + COPY_NODE_FIELD(extname); + COPY_SCALAR_FIELD(remove); + + return newnode; +} + +static AlterObjectSchemaStmt * +_copyAlterObjectSchemaStmt(const AlterObjectSchemaStmt *from) +{ + AlterObjectSchemaStmt *newnode = makeNode(AlterObjectSchemaStmt); + + COPY_SCALAR_FIELD(objectType); + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(object); + COPY_STRING_FIELD(newschema); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static AlterOwnerStmt * +_copyAlterOwnerStmt(const AlterOwnerStmt *from) +{ + AlterOwnerStmt *newnode = makeNode(AlterOwnerStmt); + + COPY_SCALAR_FIELD(objectType); + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(object); + COPY_NODE_FIELD(newowner); + + return newnode; +} + +static AlterOperatorStmt * +_copyAlterOperatorStmt(const AlterOperatorStmt *from) +{ + AlterOperatorStmt *newnode = makeNode(AlterOperatorStmt); + + COPY_NODE_FIELD(opername); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterTypeStmt * +_copyAlterTypeStmt(const AlterTypeStmt *from) +{ + AlterTypeStmt *newnode = makeNode(AlterTypeStmt); + + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(options); + + return newnode; +} + +static RuleStmt * +_copyRuleStmt(const RuleStmt *from) +{ + RuleStmt *newnode = makeNode(RuleStmt); + + COPY_NODE_FIELD(relation); + COPY_STRING_FIELD(rulename); + COPY_NODE_FIELD(whereClause); + COPY_SCALAR_FIELD(event); + COPY_SCALAR_FIELD(instead); + COPY_NODE_FIELD(actions); + COPY_SCALAR_FIELD(replace); + + return newnode; +} + +static NotifyStmt * +_copyNotifyStmt(const NotifyStmt *from) +{ + NotifyStmt *newnode = makeNode(NotifyStmt); + + COPY_STRING_FIELD(conditionname); + COPY_STRING_FIELD(payload); + + return newnode; +} + +static ListenStmt * +_copyListenStmt(const ListenStmt *from) +{ + ListenStmt *newnode = makeNode(ListenStmt); + + COPY_STRING_FIELD(conditionname); + + return newnode; +} + +static UnlistenStmt * +_copyUnlistenStmt(const UnlistenStmt *from) +{ + UnlistenStmt *newnode = makeNode(UnlistenStmt); + + COPY_STRING_FIELD(conditionname); + + return newnode; +} + +static TransactionStmt * +_copyTransactionStmt(const TransactionStmt *from) +{ + TransactionStmt *newnode = makeNode(TransactionStmt); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(options); + COPY_STRING_FIELD(savepoint_name); + COPY_STRING_FIELD(gid); + COPY_SCALAR_FIELD(chain); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CompositeTypeStmt * +_copyCompositeTypeStmt(const CompositeTypeStmt *from) +{ + CompositeTypeStmt *newnode = makeNode(CompositeTypeStmt); + + COPY_NODE_FIELD(typevar); + COPY_NODE_FIELD(coldeflist); + + return newnode; +} + +static CreateEnumStmt * +_copyCreateEnumStmt(const CreateEnumStmt *from) +{ + CreateEnumStmt *newnode = makeNode(CreateEnumStmt); + + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(vals); + + return newnode; +} + +static CreateRangeStmt * +_copyCreateRangeStmt(const CreateRangeStmt *from) +{ + CreateRangeStmt *newnode = makeNode(CreateRangeStmt); + + COPY_NODE_FIELD(typeName); + COPY_NODE_FIELD(params); + + return newnode; +} + +static AlterEnumStmt * +_copyAlterEnumStmt(const AlterEnumStmt *from) +{ + AlterEnumStmt *newnode = makeNode(AlterEnumStmt); + + COPY_NODE_FIELD(typeName); + COPY_STRING_FIELD(oldVal); + COPY_STRING_FIELD(newVal); + COPY_STRING_FIELD(newValNeighbor); + COPY_SCALAR_FIELD(newValIsAfter); + COPY_SCALAR_FIELD(skipIfNewValExists); + + return newnode; +} + +static ViewStmt * +_copyViewStmt(const ViewStmt *from) +{ + ViewStmt *newnode = makeNode(ViewStmt); + + COPY_NODE_FIELD(view); + COPY_NODE_FIELD(aliases); + COPY_NODE_FIELD(query); + COPY_SCALAR_FIELD(replace); + COPY_NODE_FIELD(options); + COPY_SCALAR_FIELD(withCheckOption); + + return newnode; +} + +static LoadStmt * +_copyLoadStmt(const LoadStmt *from) +{ + LoadStmt *newnode = makeNode(LoadStmt); + + COPY_STRING_FIELD(filename); + + return newnode; +} + +static CreatedbStmt * +_copyCreatedbStmt(const CreatedbStmt *from) +{ + CreatedbStmt *newnode = makeNode(CreatedbStmt); + + COPY_STRING_FIELD(dbname); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterDatabaseStmt * +_copyAlterDatabaseStmt(const AlterDatabaseStmt *from) +{ + AlterDatabaseStmt *newnode = makeNode(AlterDatabaseStmt); + + COPY_STRING_FIELD(dbname); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterDatabaseRefreshCollStmt * +_copyAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *from) +{ + AlterDatabaseRefreshCollStmt *newnode = makeNode(AlterDatabaseRefreshCollStmt); + + COPY_STRING_FIELD(dbname); + + return newnode; +} + +static AlterDatabaseSetStmt * +_copyAlterDatabaseSetStmt(const AlterDatabaseSetStmt *from) +{ + AlterDatabaseSetStmt *newnode = makeNode(AlterDatabaseSetStmt); + + COPY_STRING_FIELD(dbname); + COPY_NODE_FIELD(setstmt); + + return newnode; +} + +static DropdbStmt * +_copyDropdbStmt(const DropdbStmt *from) +{ + DropdbStmt *newnode = makeNode(DropdbStmt); + + COPY_STRING_FIELD(dbname); + COPY_SCALAR_FIELD(missing_ok); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterSystemStmt * +_copyAlterSystemStmt(const AlterSystemStmt *from) +{ + AlterSystemStmt *newnode = makeNode(AlterSystemStmt); + + COPY_NODE_FIELD(setstmt); + + return newnode; +} + +static ClusterStmt * +_copyClusterStmt(const ClusterStmt *from) +{ + ClusterStmt *newnode = makeNode(ClusterStmt); + + COPY_NODE_FIELD(relation); + COPY_STRING_FIELD(indexname); + COPY_NODE_FIELD(params); + + return newnode; +} + +static VacuumStmt * +_copyVacuumStmt(const VacuumStmt *from) +{ + VacuumStmt *newnode = makeNode(VacuumStmt); + + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(rels); + COPY_SCALAR_FIELD(is_vacuumcmd); + + return newnode; +} + +static VacuumRelation * +_copyVacuumRelation(const VacuumRelation *from) +{ + VacuumRelation *newnode = makeNode(VacuumRelation); + + COPY_NODE_FIELD(relation); + COPY_SCALAR_FIELD(oid); + COPY_NODE_FIELD(va_cols); + + return newnode; +} + +static ExplainStmt * +_copyExplainStmt(const ExplainStmt *from) +{ + ExplainStmt *newnode = makeNode(ExplainStmt); + + COPY_NODE_FIELD(query); + COPY_NODE_FIELD(options); + + return newnode; +} + +static CreateTableAsStmt * +_copyCreateTableAsStmt(const CreateTableAsStmt *from) +{ + CreateTableAsStmt *newnode = makeNode(CreateTableAsStmt); + + COPY_NODE_FIELD(query); + COPY_NODE_FIELD(into); + COPY_SCALAR_FIELD(objtype); + COPY_SCALAR_FIELD(is_select_into); + COPY_SCALAR_FIELD(if_not_exists); + + return newnode; +} + +static RefreshMatViewStmt * +_copyRefreshMatViewStmt(const RefreshMatViewStmt *from) +{ + RefreshMatViewStmt *newnode = makeNode(RefreshMatViewStmt); + + COPY_SCALAR_FIELD(concurrent); + COPY_SCALAR_FIELD(skipData); + COPY_NODE_FIELD(relation); + + return newnode; +} + +static CheckPointStmt * +_copyCheckPointStmt(const CheckPointStmt *from) +{ + CheckPointStmt *newnode = makeNode(CheckPointStmt); + + + return newnode; +} + +static DiscardStmt * +_copyDiscardStmt(const DiscardStmt *from) +{ + DiscardStmt *newnode = makeNode(DiscardStmt); + + COPY_SCALAR_FIELD(target); + + return newnode; +} + +static LockStmt * +_copyLockStmt(const LockStmt *from) +{ + LockStmt *newnode = makeNode(LockStmt); + + COPY_NODE_FIELD(relations); + COPY_SCALAR_FIELD(mode); + COPY_SCALAR_FIELD(nowait); + + return newnode; +} + +static ConstraintsSetStmt * +_copyConstraintsSetStmt(const ConstraintsSetStmt *from) +{ + ConstraintsSetStmt *newnode = makeNode(ConstraintsSetStmt); + + COPY_NODE_FIELD(constraints); + COPY_SCALAR_FIELD(deferred); + + return newnode; +} + +static ReindexStmt * +_copyReindexStmt(const ReindexStmt *from) +{ + ReindexStmt *newnode = makeNode(ReindexStmt); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(relation); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(params); + + return newnode; +} + +static CreateConversionStmt * +_copyCreateConversionStmt(const CreateConversionStmt *from) +{ + CreateConversionStmt *newnode = makeNode(CreateConversionStmt); + + COPY_NODE_FIELD(conversion_name); + COPY_STRING_FIELD(for_encoding_name); + COPY_STRING_FIELD(to_encoding_name); + COPY_NODE_FIELD(func_name); + COPY_SCALAR_FIELD(def); + + return newnode; +} + +static CreateCastStmt * +_copyCreateCastStmt(const CreateCastStmt *from) +{ + CreateCastStmt *newnode = makeNode(CreateCastStmt); + + COPY_NODE_FIELD(sourcetype); + COPY_NODE_FIELD(targettype); + COPY_NODE_FIELD(func); + COPY_SCALAR_FIELD(context); + COPY_SCALAR_FIELD(inout); + + return newnode; +} + +static CreateTransformStmt * +_copyCreateTransformStmt(const CreateTransformStmt *from) +{ + CreateTransformStmt *newnode = makeNode(CreateTransformStmt); + + COPY_SCALAR_FIELD(replace); + COPY_NODE_FIELD(type_name); + COPY_STRING_FIELD(lang); + COPY_NODE_FIELD(fromsql); + COPY_NODE_FIELD(tosql); + + return newnode; +} + +static PrepareStmt * +_copyPrepareStmt(const PrepareStmt *from) +{ + PrepareStmt *newnode = makeNode(PrepareStmt); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(argtypes); + COPY_NODE_FIELD(query); + + return newnode; +} + +static ExecuteStmt * +_copyExecuteStmt(const ExecuteStmt *from) +{ + ExecuteStmt *newnode = makeNode(ExecuteStmt); + + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(params); + + return newnode; +} + +static DeallocateStmt * +_copyDeallocateStmt(const DeallocateStmt *from) +{ + DeallocateStmt *newnode = makeNode(DeallocateStmt); + + COPY_STRING_FIELD(name); + COPY_SCALAR_FIELD(isall); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static DropOwnedStmt * +_copyDropOwnedStmt(const DropOwnedStmt *from) +{ + DropOwnedStmt *newnode = makeNode(DropOwnedStmt); + + COPY_NODE_FIELD(roles); + COPY_SCALAR_FIELD(behavior); + + return newnode; +} + +static ReassignOwnedStmt * +_copyReassignOwnedStmt(const ReassignOwnedStmt *from) +{ + ReassignOwnedStmt *newnode = makeNode(ReassignOwnedStmt); + + COPY_NODE_FIELD(roles); + COPY_NODE_FIELD(newrole); + + return newnode; +} + +static AlterTSDictionaryStmt * +_copyAlterTSDictionaryStmt(const AlterTSDictionaryStmt *from) +{ + AlterTSDictionaryStmt *newnode = makeNode(AlterTSDictionaryStmt); + + COPY_NODE_FIELD(dictname); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterTSConfigurationStmt * +_copyAlterTSConfigurationStmt(const AlterTSConfigurationStmt *from) +{ + AlterTSConfigurationStmt *newnode = makeNode(AlterTSConfigurationStmt); + + COPY_SCALAR_FIELD(kind); + COPY_NODE_FIELD(cfgname); + COPY_NODE_FIELD(tokentype); + COPY_NODE_FIELD(dicts); + COPY_SCALAR_FIELD(override); + COPY_SCALAR_FIELD(replace); + COPY_SCALAR_FIELD(missing_ok); + + return newnode; +} + +static PublicationTable * +_copyPublicationTable(const PublicationTable *from) +{ + PublicationTable *newnode = makeNode(PublicationTable); + + COPY_NODE_FIELD(relation); + COPY_NODE_FIELD(whereClause); + COPY_NODE_FIELD(columns); + + return newnode; +} + +static PublicationObjSpec * +_copyPublicationObjSpec(const PublicationObjSpec *from) +{ + PublicationObjSpec *newnode = makeNode(PublicationObjSpec); + + COPY_SCALAR_FIELD(pubobjtype); + COPY_STRING_FIELD(name); + COPY_NODE_FIELD(pubtable); + COPY_LOCATION_FIELD(location); + + return newnode; +} + +static CreatePublicationStmt * +_copyCreatePublicationStmt(const CreatePublicationStmt *from) +{ + CreatePublicationStmt *newnode = makeNode(CreatePublicationStmt); + + COPY_STRING_FIELD(pubname); + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(pubobjects); + COPY_SCALAR_FIELD(for_all_tables); + + return newnode; +} + +static AlterPublicationStmt * +_copyAlterPublicationStmt(const AlterPublicationStmt *from) +{ + AlterPublicationStmt *newnode = makeNode(AlterPublicationStmt); + + COPY_STRING_FIELD(pubname); + COPY_NODE_FIELD(options); + COPY_NODE_FIELD(pubobjects); + COPY_SCALAR_FIELD(for_all_tables); + COPY_SCALAR_FIELD(action); + + return newnode; +} + +static CreateSubscriptionStmt * +_copyCreateSubscriptionStmt(const CreateSubscriptionStmt *from) +{ + CreateSubscriptionStmt *newnode = makeNode(CreateSubscriptionStmt); + + COPY_STRING_FIELD(subname); + COPY_STRING_FIELD(conninfo); + COPY_NODE_FIELD(publication); + COPY_NODE_FIELD(options); + + return newnode; +} + +static AlterSubscriptionStmt * +_copyAlterSubscriptionStmt(const AlterSubscriptionStmt *from) +{ + AlterSubscriptionStmt *newnode = makeNode(AlterSubscriptionStmt); + + COPY_SCALAR_FIELD(kind); + COPY_STRING_FIELD(subname); + COPY_STRING_FIELD(conninfo); + COPY_NODE_FIELD(publication); + COPY_NODE_FIELD(options); + + return newnode; +} + +static DropSubscriptionStmt * +_copyDropSubscriptionStmt(const DropSubscriptionStmt *from) +{ + DropSubscriptionStmt *newnode = makeNode(DropSubscriptionStmt); + + COPY_STRING_FIELD(subname); + COPY_SCALAR_FIELD(missing_ok); + COPY_SCALAR_FIELD(behavior); + + return newnode; +} + +static PathKey * +_copyPathKey(const PathKey *from) +{ + PathKey *newnode = makeNode(PathKey); + + COPY_SCALAR_FIELD(pk_eclass); + COPY_SCALAR_FIELD(pk_opfamily); + COPY_SCALAR_FIELD(pk_strategy); + COPY_SCALAR_FIELD(pk_nulls_first); + + return newnode; +} + +static GroupByOrdering * +_copyGroupByOrdering(const GroupByOrdering *from) +{ + GroupByOrdering *newnode = makeNode(GroupByOrdering); + + COPY_NODE_FIELD(pathkeys); + COPY_NODE_FIELD(clauses); + + return newnode; +} + +static RestrictInfo * +_copyRestrictInfo(const RestrictInfo *from) +{ + RestrictInfo *newnode = makeNode(RestrictInfo); + + COPY_NODE_FIELD(clause); + COPY_SCALAR_FIELD(is_pushed_down); + COPY_SCALAR_FIELD(can_join); + COPY_SCALAR_FIELD(pseudoconstant); + COPY_SCALAR_FIELD(has_clone); + COPY_SCALAR_FIELD(is_clone); + COPY_SCALAR_FIELD(leakproof); + COPY_SCALAR_FIELD(has_volatile); + COPY_SCALAR_FIELD(security_level); + COPY_SCALAR_FIELD(num_base_rels); + COPY_BITMAPSET_FIELD(clause_relids); + COPY_BITMAPSET_FIELD(required_relids); + COPY_BITMAPSET_FIELD(incompatible_relids); + COPY_BITMAPSET_FIELD(outer_relids); + COPY_BITMAPSET_FIELD(left_relids); + COPY_BITMAPSET_FIELD(right_relids); + COPY_NODE_FIELD(orclause); + COPY_SCALAR_FIELD(rinfo_serial); + COPY_SCALAR_FIELD(parent_ec); + COPY_SCALAR_FIELD(eval_cost); + COPY_SCALAR_FIELD(norm_selec); + COPY_SCALAR_FIELD(outer_selec); + COPY_NODE_FIELD(mergeopfamilies); + COPY_SCALAR_FIELD(left_ec); + COPY_SCALAR_FIELD(right_ec); + COPY_SCALAR_FIELD(left_em); + COPY_SCALAR_FIELD(right_em); + newnode->scansel_cache = NIL; + COPY_SCALAR_FIELD(outer_is_left); + COPY_SCALAR_FIELD(hashjoinoperator); + COPY_SCALAR_FIELD(left_bucketsize); + COPY_SCALAR_FIELD(right_bucketsize); + COPY_SCALAR_FIELD(left_mcvfreq); + COPY_SCALAR_FIELD(right_mcvfreq); + COPY_SCALAR_FIELD(left_hasheqoperator); + COPY_SCALAR_FIELD(right_hasheqoperator); + + return newnode; +} + +static PlaceHolderVar * +_copyPlaceHolderVar(const PlaceHolderVar *from) +{ + PlaceHolderVar *newnode = makeNode(PlaceHolderVar); + + COPY_NODE_FIELD(phexpr); + COPY_BITMAPSET_FIELD(phrels); + COPY_BITMAPSET_FIELD(phnullingrels); + COPY_SCALAR_FIELD(phid); + COPY_SCALAR_FIELD(phlevelsup); + + return newnode; +} + +static SpecialJoinInfo * +_copySpecialJoinInfo(const SpecialJoinInfo *from) +{ + SpecialJoinInfo *newnode = makeNode(SpecialJoinInfo); + + COPY_BITMAPSET_FIELD(min_lefthand); + COPY_BITMAPSET_FIELD(min_righthand); + COPY_BITMAPSET_FIELD(syn_lefthand); + COPY_BITMAPSET_FIELD(syn_righthand); + COPY_SCALAR_FIELD(jointype); + COPY_SCALAR_FIELD(ojrelid); + COPY_BITMAPSET_FIELD(commute_above_l); + COPY_BITMAPSET_FIELD(commute_above_r); + COPY_BITMAPSET_FIELD(commute_below_l); + COPY_BITMAPSET_FIELD(commute_below_r); + COPY_SCALAR_FIELD(lhs_strict); + COPY_SCALAR_FIELD(semi_can_btree); + COPY_SCALAR_FIELD(semi_can_hash); + COPY_NODE_FIELD(semi_operators); + COPY_NODE_FIELD(semi_rhs_exprs); + + return newnode; +} + +static AppendRelInfo * +_copyAppendRelInfo(const AppendRelInfo *from) +{ + AppendRelInfo *newnode = makeNode(AppendRelInfo); + + COPY_SCALAR_FIELD(parent_relid); + COPY_SCALAR_FIELD(child_relid); + COPY_SCALAR_FIELD(parent_reltype); + COPY_SCALAR_FIELD(child_reltype); + COPY_NODE_FIELD(translated_vars); + COPY_SCALAR_FIELD(num_child_cols); + COPY_POINTER_FIELD(parent_colnos, from->num_child_cols * sizeof(AttrNumber)); + COPY_SCALAR_FIELD(parent_reloid); + + return newnode; +} + +static PlaceHolderInfo * +_copyPlaceHolderInfo(const PlaceHolderInfo *from) +{ + PlaceHolderInfo *newnode = makeNode(PlaceHolderInfo); + + COPY_SCALAR_FIELD(phid); + COPY_NODE_FIELD(ph_var); + COPY_BITMAPSET_FIELD(ph_eval_at); + COPY_BITMAPSET_FIELD(ph_lateral); + COPY_BITMAPSET_FIELD(ph_needed); + COPY_SCALAR_FIELD(ph_width); + + return newnode; +} + +static PlannedStmt * +_copyPlannedStmt(const PlannedStmt *from) +{ + PlannedStmt *newnode = makeNode(PlannedStmt); + + COPY_SCALAR_FIELD(commandType); + COPY_SCALAR_FIELD(queryId); + COPY_SCALAR_FIELD(hasReturning); + COPY_SCALAR_FIELD(hasModifyingCTE); + COPY_SCALAR_FIELD(canSetTag); + COPY_SCALAR_FIELD(transientPlan); + COPY_SCALAR_FIELD(dependsOnRole); + COPY_SCALAR_FIELD(parallelModeNeeded); + COPY_SCALAR_FIELD(jitFlags); + COPY_NODE_FIELD(planTree); + COPY_NODE_FIELD(rtable); + COPY_NODE_FIELD(permInfos); + COPY_NODE_FIELD(resultRelations); + COPY_NODE_FIELD(appendRelations); + COPY_NODE_FIELD(subplans); + COPY_BITMAPSET_FIELD(rewindPlanIDs); + COPY_NODE_FIELD(rowMarks); + COPY_NODE_FIELD(relationOids); + COPY_NODE_FIELD(invalItems); + COPY_NODE_FIELD(paramExecTypes); + COPY_NODE_FIELD(utilityStmt); + COPY_LOCATION_FIELD(stmt_location); + COPY_LOCATION_FIELD(stmt_len); + + return newnode; +} + +static Result * +_copyResult(const Result *from) +{ + Result *newnode = makeNode(Result); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_NODE_FIELD(resconstantqual); + + return newnode; +} + +static ProjectSet * +_copyProjectSet(const ProjectSet *from) +{ + ProjectSet *newnode = makeNode(ProjectSet); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + + return newnode; +} + +static ModifyTable * +_copyModifyTable(const ModifyTable *from) +{ + ModifyTable *newnode = makeNode(ModifyTable); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(operation); + COPY_SCALAR_FIELD(canSetTag); + COPY_SCALAR_FIELD(nominalRelation); + COPY_SCALAR_FIELD(rootRelation); + COPY_SCALAR_FIELD(partColsUpdated); + COPY_NODE_FIELD(resultRelations); + COPY_NODE_FIELD(updateColnosLists); + COPY_NODE_FIELD(withCheckOptionLists); + COPY_NODE_FIELD(returningLists); + COPY_NODE_FIELD(fdwPrivLists); + COPY_BITMAPSET_FIELD(fdwDirectModifyPlans); + COPY_NODE_FIELD(rowMarks); + COPY_SCALAR_FIELD(epqParam); + COPY_SCALAR_FIELD(onConflictAction); + COPY_NODE_FIELD(arbiterIndexes); + COPY_NODE_FIELD(onConflictSet); + COPY_NODE_FIELD(onConflictCols); + COPY_NODE_FIELD(onConflictWhere); + COPY_SCALAR_FIELD(exclRelRTI); + COPY_NODE_FIELD(exclRelTlist); + COPY_NODE_FIELD(mergeActionLists); + COPY_NODE_FIELD(mergeJoinConditions); + + return newnode; +} + +static Append * +_copyAppend(const Append *from) +{ + Append *newnode = makeNode(Append); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_BITMAPSET_FIELD(apprelids); + COPY_NODE_FIELD(appendplans); + COPY_SCALAR_FIELD(nasyncplans); + COPY_SCALAR_FIELD(first_partial_plan); + COPY_NODE_FIELD(part_prune_info); + + return newnode; +} + +static MergeAppend * +_copyMergeAppend(const MergeAppend *from) +{ + MergeAppend *newnode = makeNode(MergeAppend); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_BITMAPSET_FIELD(apprelids); + COPY_NODE_FIELD(mergeplans); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); + COPY_NODE_FIELD(part_prune_info); + + return newnode; +} + +static RecursiveUnion * +_copyRecursiveUnion(const RecursiveUnion *from) +{ + RecursiveUnion *newnode = makeNode(RecursiveUnion); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(wtParam); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid)); + COPY_SCALAR_FIELD(numGroups); + + return newnode; +} + +static BitmapAnd * +_copyBitmapAnd(const BitmapAnd *from) +{ + BitmapAnd *newnode = makeNode(BitmapAnd); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_NODE_FIELD(bitmapplans); + + return newnode; +} + +static BitmapOr * +_copyBitmapOr(const BitmapOr *from) +{ + BitmapOr *newnode = makeNode(BitmapOr); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(isshared); + COPY_NODE_FIELD(bitmapplans); + + return newnode; +} + +static SeqScan * +_copySeqScan(const SeqScan *from) +{ + SeqScan *newnode = makeNode(SeqScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + + return newnode; +} + +static SampleScan * +_copySampleScan(const SampleScan *from) +{ + SampleScan *newnode = makeNode(SampleScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(tablesample); + + return newnode; +} + +static IndexScan * +_copyIndexScan(const IndexScan *from) +{ + IndexScan *newnode = makeNode(IndexScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(indexid); + COPY_NODE_FIELD(indexqual); + COPY_NODE_FIELD(indexqualorig); + COPY_NODE_FIELD(indexorderby); + COPY_NODE_FIELD(indexorderbyorig); + COPY_NODE_FIELD(indexorderbyops); + COPY_SCALAR_FIELD(indexorderdir); + + return newnode; +} + +static IndexOnlyScan * +_copyIndexOnlyScan(const IndexOnlyScan *from) +{ + IndexOnlyScan *newnode = makeNode(IndexOnlyScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(indexid); + COPY_NODE_FIELD(indexqual); + COPY_NODE_FIELD(recheckqual); + COPY_NODE_FIELD(indexorderby); + COPY_NODE_FIELD(indextlist); + COPY_SCALAR_FIELD(indexorderdir); + + return newnode; +} + +static BitmapIndexScan * +_copyBitmapIndexScan(const BitmapIndexScan *from) +{ + BitmapIndexScan *newnode = makeNode(BitmapIndexScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(indexid); + COPY_SCALAR_FIELD(isshared); + COPY_NODE_FIELD(indexqual); + COPY_NODE_FIELD(indexqualorig); + + return newnode; +} + +static BitmapHeapScan * +_copyBitmapHeapScan(const BitmapHeapScan *from) +{ + BitmapHeapScan *newnode = makeNode(BitmapHeapScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(bitmapqualorig); + + return newnode; +} + +static TidScan * +_copyTidScan(const TidScan *from) +{ + TidScan *newnode = makeNode(TidScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(tidquals); + + return newnode; +} + +static TidRangeScan * +_copyTidRangeScan(const TidRangeScan *from) +{ + TidRangeScan *newnode = makeNode(TidRangeScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(tidrangequals); + + return newnode; +} + +static SubqueryScan * +_copySubqueryScan(const SubqueryScan *from) +{ + SubqueryScan *newnode = makeNode(SubqueryScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(subplan); + COPY_SCALAR_FIELD(scanstatus); + + return newnode; +} + +static FunctionScan * +_copyFunctionScan(const FunctionScan *from) +{ + FunctionScan *newnode = makeNode(FunctionScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(functions); + COPY_SCALAR_FIELD(funcordinality); + + return newnode; +} + +static ValuesScan * +_copyValuesScan(const ValuesScan *from) +{ + ValuesScan *newnode = makeNode(ValuesScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(values_lists); + + return newnode; +} + +static TableFuncScan * +_copyTableFuncScan(const TableFuncScan *from) +{ + TableFuncScan *newnode = makeNode(TableFuncScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_NODE_FIELD(tablefunc); + + return newnode; +} + +static CteScan * +_copyCteScan(const CteScan *from) +{ + CteScan *newnode = makeNode(CteScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(ctePlanId); + COPY_SCALAR_FIELD(cteParam); + + return newnode; +} + +static NamedTuplestoreScan * +_copyNamedTuplestoreScan(const NamedTuplestoreScan *from) +{ + NamedTuplestoreScan *newnode = makeNode(NamedTuplestoreScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_STRING_FIELD(enrname); + + return newnode; +} + +static WorkTableScan * +_copyWorkTableScan(const WorkTableScan *from) +{ + WorkTableScan *newnode = makeNode(WorkTableScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(wtParam); + + return newnode; +} + +static ForeignScan * +_copyForeignScan(const ForeignScan *from) +{ + ForeignScan *newnode = makeNode(ForeignScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(operation); + COPY_SCALAR_FIELD(resultRelation); + COPY_SCALAR_FIELD(checkAsUser); + COPY_SCALAR_FIELD(fs_server); + COPY_NODE_FIELD(fdw_exprs); + COPY_NODE_FIELD(fdw_private); + COPY_NODE_FIELD(fdw_scan_tlist); + COPY_NODE_FIELD(fdw_recheck_quals); + COPY_BITMAPSET_FIELD(fs_relids); + COPY_BITMAPSET_FIELD(fs_base_relids); + COPY_SCALAR_FIELD(fsSystemCol); + + return newnode; +} + +static CustomScan * +_copyCustomScan(const CustomScan *from) +{ + CustomScan *newnode = makeNode(CustomScan); + + COPY_SCALAR_FIELD(scan.plan.startup_cost); + COPY_SCALAR_FIELD(scan.plan.total_cost); + COPY_SCALAR_FIELD(scan.plan.plan_rows); + COPY_SCALAR_FIELD(scan.plan.plan_width); + COPY_SCALAR_FIELD(scan.plan.parallel_aware); + COPY_SCALAR_FIELD(scan.plan.parallel_safe); + COPY_SCALAR_FIELD(scan.plan.async_capable); + COPY_SCALAR_FIELD(scan.plan.plan_node_id); + COPY_NODE_FIELD(scan.plan.targetlist); + COPY_NODE_FIELD(scan.plan.qual); + COPY_NODE_FIELD(scan.plan.lefttree); + COPY_NODE_FIELD(scan.plan.righttree); + COPY_NODE_FIELD(scan.plan.initPlan); + COPY_BITMAPSET_FIELD(scan.plan.extParam); + COPY_BITMAPSET_FIELD(scan.plan.allParam); + COPY_SCALAR_FIELD(scan.scanrelid); + COPY_SCALAR_FIELD(flags); + COPY_NODE_FIELD(custom_plans); + COPY_NODE_FIELD(custom_exprs); + COPY_NODE_FIELD(custom_private); + COPY_NODE_FIELD(custom_scan_tlist); + COPY_BITMAPSET_FIELD(custom_relids); + COPY_SCALAR_FIELD(methods); + + return newnode; +} + +static NestLoop * +_copyNestLoop(const NestLoop *from) +{ + NestLoop *newnode = makeNode(NestLoop); + + COPY_SCALAR_FIELD(join.plan.startup_cost); + COPY_SCALAR_FIELD(join.plan.total_cost); + COPY_SCALAR_FIELD(join.plan.plan_rows); + COPY_SCALAR_FIELD(join.plan.plan_width); + COPY_SCALAR_FIELD(join.plan.parallel_aware); + COPY_SCALAR_FIELD(join.plan.parallel_safe); + COPY_SCALAR_FIELD(join.plan.async_capable); + COPY_SCALAR_FIELD(join.plan.plan_node_id); + COPY_NODE_FIELD(join.plan.targetlist); + COPY_NODE_FIELD(join.plan.qual); + COPY_NODE_FIELD(join.plan.lefttree); + COPY_NODE_FIELD(join.plan.righttree); + COPY_NODE_FIELD(join.plan.initPlan); + COPY_BITMAPSET_FIELD(join.plan.extParam); + COPY_BITMAPSET_FIELD(join.plan.allParam); + COPY_SCALAR_FIELD(join.jointype); + COPY_SCALAR_FIELD(join.inner_unique); + COPY_NODE_FIELD(join.joinqual); + COPY_NODE_FIELD(nestParams); + + return newnode; +} + +static NestLoopParam * +_copyNestLoopParam(const NestLoopParam *from) +{ + NestLoopParam *newnode = makeNode(NestLoopParam); + + COPY_SCALAR_FIELD(paramno); + COPY_NODE_FIELD(paramval); + + return newnode; +} + +static MergeJoin * +_copyMergeJoin(const MergeJoin *from) +{ + MergeJoin *newnode = makeNode(MergeJoin); + + COPY_SCALAR_FIELD(join.plan.startup_cost); + COPY_SCALAR_FIELD(join.plan.total_cost); + COPY_SCALAR_FIELD(join.plan.plan_rows); + COPY_SCALAR_FIELD(join.plan.plan_width); + COPY_SCALAR_FIELD(join.plan.parallel_aware); + COPY_SCALAR_FIELD(join.plan.parallel_safe); + COPY_SCALAR_FIELD(join.plan.async_capable); + COPY_SCALAR_FIELD(join.plan.plan_node_id); + COPY_NODE_FIELD(join.plan.targetlist); + COPY_NODE_FIELD(join.plan.qual); + COPY_NODE_FIELD(join.plan.lefttree); + COPY_NODE_FIELD(join.plan.righttree); + COPY_NODE_FIELD(join.plan.initPlan); + COPY_BITMAPSET_FIELD(join.plan.extParam); + COPY_BITMAPSET_FIELD(join.plan.allParam); + COPY_SCALAR_FIELD(join.jointype); + COPY_SCALAR_FIELD(join.inner_unique); + COPY_NODE_FIELD(join.joinqual); + COPY_SCALAR_FIELD(skip_mark_restore); + COPY_NODE_FIELD(mergeclauses); + COPY_POINTER_FIELD(mergeFamilies, list_length(from->mergeclauses) * sizeof(Oid)); + COPY_POINTER_FIELD(mergeCollations, list_length(from->mergeclauses) * sizeof(Oid)); + COPY_POINTER_FIELD(mergeStrategies, list_length(from->mergeclauses) * sizeof(int)); + COPY_POINTER_FIELD(mergeNullsFirst, list_length(from->mergeclauses) * sizeof(bool)); + + return newnode; +} + +static HashJoin * +_copyHashJoin(const HashJoin *from) +{ + HashJoin *newnode = makeNode(HashJoin); + + COPY_SCALAR_FIELD(join.plan.startup_cost); + COPY_SCALAR_FIELD(join.plan.total_cost); + COPY_SCALAR_FIELD(join.plan.plan_rows); + COPY_SCALAR_FIELD(join.plan.plan_width); + COPY_SCALAR_FIELD(join.plan.parallel_aware); + COPY_SCALAR_FIELD(join.plan.parallel_safe); + COPY_SCALAR_FIELD(join.plan.async_capable); + COPY_SCALAR_FIELD(join.plan.plan_node_id); + COPY_NODE_FIELD(join.plan.targetlist); + COPY_NODE_FIELD(join.plan.qual); + COPY_NODE_FIELD(join.plan.lefttree); + COPY_NODE_FIELD(join.plan.righttree); + COPY_NODE_FIELD(join.plan.initPlan); + COPY_BITMAPSET_FIELD(join.plan.extParam); + COPY_BITMAPSET_FIELD(join.plan.allParam); + COPY_SCALAR_FIELD(join.jointype); + COPY_SCALAR_FIELD(join.inner_unique); + COPY_NODE_FIELD(join.joinqual); + COPY_NODE_FIELD(hashclauses); + COPY_NODE_FIELD(hashoperators); + COPY_NODE_FIELD(hashcollations); + COPY_NODE_FIELD(hashkeys); + + return newnode; +} + +static Material * +_copyMaterial(const Material *from) +{ + Material *newnode = makeNode(Material); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + + return newnode; +} + +static Memoize * +_copyMemoize(const Memoize *from) +{ + Memoize *newnode = makeNode(Memoize); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(numKeys); + COPY_POINTER_FIELD(hashOperators, from->numKeys * sizeof(Oid)); + COPY_POINTER_FIELD(collations, from->numKeys * sizeof(Oid)); + COPY_NODE_FIELD(param_exprs); + COPY_SCALAR_FIELD(singlerow); + COPY_SCALAR_FIELD(binary_mode); + COPY_SCALAR_FIELD(est_entries); + COPY_BITMAPSET_FIELD(keyparamids); + + return newnode; +} + +static Sort * +_copySort(const Sort *from) +{ + Sort *newnode = makeNode(Sort); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); + + return newnode; +} + +static IncrementalSort * +_copyIncrementalSort(const IncrementalSort *from) +{ + IncrementalSort *newnode = makeNode(IncrementalSort); + + COPY_SCALAR_FIELD(sort.plan.startup_cost); + COPY_SCALAR_FIELD(sort.plan.total_cost); + COPY_SCALAR_FIELD(sort.plan.plan_rows); + COPY_SCALAR_FIELD(sort.plan.plan_width); + COPY_SCALAR_FIELD(sort.plan.parallel_aware); + COPY_SCALAR_FIELD(sort.plan.parallel_safe); + COPY_SCALAR_FIELD(sort.plan.async_capable); + COPY_SCALAR_FIELD(sort.plan.plan_node_id); + COPY_NODE_FIELD(sort.plan.targetlist); + COPY_NODE_FIELD(sort.plan.qual); + COPY_NODE_FIELD(sort.plan.lefttree); + COPY_NODE_FIELD(sort.plan.righttree); + COPY_NODE_FIELD(sort.plan.initPlan); + COPY_BITMAPSET_FIELD(sort.plan.extParam); + COPY_BITMAPSET_FIELD(sort.plan.allParam); + COPY_SCALAR_FIELD(sort.numCols); + COPY_POINTER_FIELD(sort.sortColIdx, from->sort.numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(sort.sortOperators, from->sort.numCols * sizeof(Oid)); + COPY_POINTER_FIELD(sort.collations, from->sort.numCols * sizeof(Oid)); + COPY_POINTER_FIELD(sort.nullsFirst, from->sort.numCols * sizeof(bool)); + COPY_SCALAR_FIELD(nPresortedCols); + + return newnode; +} + +static Group * +_copyGroup(const Group *from) +{ + Group *newnode = makeNode(Group); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); + + return newnode; +} + +static Agg * +_copyAgg(const Agg *from) +{ + Agg *newnode = makeNode(Agg); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(aggstrategy); + COPY_SCALAR_FIELD(aggsplit); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); + COPY_SCALAR_FIELD(numGroups); + COPY_SCALAR_FIELD(transitionSpace); + COPY_BITMAPSET_FIELD(aggParams); + COPY_NODE_FIELD(groupingSets); + COPY_NODE_FIELD(chain); + + return newnode; +} + +static WindowAgg * +_copyWindowAgg(const WindowAgg *from) +{ + WindowAgg *newnode = makeNode(WindowAgg); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(winref); + COPY_SCALAR_FIELD(partNumCols); + COPY_POINTER_FIELD(partColIdx, from->partNumCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid)); + COPY_POINTER_FIELD(partCollations, from->partNumCols * sizeof(Oid)); + COPY_SCALAR_FIELD(ordNumCols); + COPY_POINTER_FIELD(ordColIdx, from->ordNumCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid)); + COPY_POINTER_FIELD(ordCollations, from->ordNumCols * sizeof(Oid)); + COPY_SCALAR_FIELD(frameOptions); + COPY_NODE_FIELD(startOffset); + COPY_NODE_FIELD(endOffset); + COPY_NODE_FIELD(runCondition); + COPY_NODE_FIELD(runConditionOrig); + COPY_SCALAR_FIELD(startInRangeFunc); + COPY_SCALAR_FIELD(endInRangeFunc); + COPY_SCALAR_FIELD(inRangeColl); + COPY_SCALAR_FIELD(inRangeAsc); + COPY_SCALAR_FIELD(inRangeNullsFirst); + COPY_SCALAR_FIELD(topWindow); + + return newnode; +} + +static Unique * +_copyUnique(const Unique *from) +{ + Unique *newnode = makeNode(Unique); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(uniqColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(uniqOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(uniqCollations, from->numCols * sizeof(Oid)); + + return newnode; +} + +static Gather * +_copyGather(const Gather *from) +{ + Gather *newnode = makeNode(Gather); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(num_workers); + COPY_SCALAR_FIELD(rescan_param); + COPY_SCALAR_FIELD(single_copy); + COPY_SCALAR_FIELD(invisible); + COPY_BITMAPSET_FIELD(initParam); + + return newnode; +} + +static GatherMerge * +_copyGatherMerge(const GatherMerge *from) +{ + GatherMerge *newnode = makeNode(GatherMerge); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(num_workers); + COPY_SCALAR_FIELD(rescan_param); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); + COPY_BITMAPSET_FIELD(initParam); + + return newnode; +} + +static Hash * +_copyHash(const Hash *from) +{ + Hash *newnode = makeNode(Hash); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_NODE_FIELD(hashkeys); + COPY_SCALAR_FIELD(skewTable); + COPY_SCALAR_FIELD(skewColumn); + COPY_SCALAR_FIELD(skewInherit); + COPY_SCALAR_FIELD(rows_total); + + return newnode; +} + +static SetOp * +_copySetOp(const SetOp *from) +{ + SetOp *newnode = makeNode(SetOp); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_SCALAR_FIELD(cmd); + COPY_SCALAR_FIELD(strategy); + COPY_SCALAR_FIELD(numCols); + COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid)); + COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid)); + COPY_SCALAR_FIELD(flagColIdx); + COPY_SCALAR_FIELD(firstFlag); + COPY_SCALAR_FIELD(numGroups); + + return newnode; +} + +static LockRows * +_copyLockRows(const LockRows *from) +{ + LockRows *newnode = makeNode(LockRows); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_NODE_FIELD(rowMarks); + COPY_SCALAR_FIELD(epqParam); + + return newnode; +} + +static Limit * +_copyLimit(const Limit *from) +{ + Limit *newnode = makeNode(Limit); + + COPY_SCALAR_FIELD(plan.startup_cost); + COPY_SCALAR_FIELD(plan.total_cost); + COPY_SCALAR_FIELD(plan.plan_rows); + COPY_SCALAR_FIELD(plan.plan_width); + COPY_SCALAR_FIELD(plan.parallel_aware); + COPY_SCALAR_FIELD(plan.parallel_safe); + COPY_SCALAR_FIELD(plan.async_capable); + COPY_SCALAR_FIELD(plan.plan_node_id); + COPY_NODE_FIELD(plan.targetlist); + COPY_NODE_FIELD(plan.qual); + COPY_NODE_FIELD(plan.lefttree); + COPY_NODE_FIELD(plan.righttree); + COPY_NODE_FIELD(plan.initPlan); + COPY_BITMAPSET_FIELD(plan.extParam); + COPY_BITMAPSET_FIELD(plan.allParam); + COPY_NODE_FIELD(limitOffset); + COPY_NODE_FIELD(limitCount); + COPY_SCALAR_FIELD(limitOption); + COPY_SCALAR_FIELD(uniqNumCols); + COPY_POINTER_FIELD(uniqColIdx, from->uniqNumCols * sizeof(AttrNumber)); + COPY_POINTER_FIELD(uniqOperators, from->uniqNumCols * sizeof(Oid)); + COPY_POINTER_FIELD(uniqCollations, from->uniqNumCols * sizeof(Oid)); + + return newnode; +} + +static PlanRowMark * +_copyPlanRowMark(const PlanRowMark *from) +{ + PlanRowMark *newnode = makeNode(PlanRowMark); + + COPY_SCALAR_FIELD(rti); + COPY_SCALAR_FIELD(prti); + COPY_SCALAR_FIELD(rowmarkId); + COPY_SCALAR_FIELD(markType); + COPY_SCALAR_FIELD(allMarkTypes); + COPY_SCALAR_FIELD(strength); + COPY_SCALAR_FIELD(waitPolicy); + COPY_SCALAR_FIELD(isParent); + + return newnode; +} + +static PartitionPruneInfo * +_copyPartitionPruneInfo(const PartitionPruneInfo *from) +{ + PartitionPruneInfo *newnode = makeNode(PartitionPruneInfo); + + COPY_NODE_FIELD(prune_infos); + COPY_BITMAPSET_FIELD(other_subplans); + + return newnode; +} + +static PartitionedRelPruneInfo * +_copyPartitionedRelPruneInfo(const PartitionedRelPruneInfo *from) +{ + PartitionedRelPruneInfo *newnode = makeNode(PartitionedRelPruneInfo); + + COPY_SCALAR_FIELD(rtindex); + COPY_BITMAPSET_FIELD(present_parts); + COPY_SCALAR_FIELD(nparts); + COPY_POINTER_FIELD(subplan_map, from->nparts * sizeof(int)); + COPY_POINTER_FIELD(subpart_map, from->nparts * sizeof(int)); + COPY_POINTER_FIELD(relid_map, from->nparts * sizeof(Oid)); + COPY_NODE_FIELD(initial_pruning_steps); + COPY_NODE_FIELD(exec_pruning_steps); + COPY_BITMAPSET_FIELD(execparamids); + + return newnode; +} + +static PartitionPruneStepOp * +_copyPartitionPruneStepOp(const PartitionPruneStepOp *from) +{ + PartitionPruneStepOp *newnode = makeNode(PartitionPruneStepOp); + + COPY_SCALAR_FIELD(step.step_id); + COPY_SCALAR_FIELD(opstrategy); + COPY_NODE_FIELD(exprs); + COPY_NODE_FIELD(cmpfns); + COPY_BITMAPSET_FIELD(nullkeys); + + return newnode; +} + +static PartitionPruneStepCombine * +_copyPartitionPruneStepCombine(const PartitionPruneStepCombine *from) +{ + PartitionPruneStepCombine *newnode = makeNode(PartitionPruneStepCombine); + + COPY_SCALAR_FIELD(step.step_id); + COPY_SCALAR_FIELD(combineOp); + COPY_NODE_FIELD(source_stepids); + + return newnode; +} + +static PlanInvalItem * +_copyPlanInvalItem(const PlanInvalItem *from) +{ + PlanInvalItem *newnode = makeNode(PlanInvalItem); + + COPY_SCALAR_FIELD(cacheId); + COPY_SCALAR_FIELD(hashValue); + + return newnode; +} + +static Integer * +_copyInteger(const Integer *from) +{ + Integer *newnode = makeNode(Integer); + + COPY_SCALAR_FIELD(ival); + + return newnode; +} + +static Float * +_copyFloat(const Float *from) +{ + Float *newnode = makeNode(Float); + + COPY_STRING_FIELD(fval); + + return newnode; +} + +static Boolean * +_copyBoolean(const Boolean *from) +{ + Boolean *newnode = makeNode(Boolean); + + COPY_SCALAR_FIELD(boolval); + + return newnode; +} + +static String * +_copyString(const String *from) +{ + String *newnode = makeNode(String); + + COPY_STRING_FIELD(sval); + + return newnode; +} + +static BitString * +_copyBitString(const BitString *from) +{ + BitString *newnode = makeNode(BitString); + + COPY_STRING_FIELD(bsval); + + return newnode; +} + +static ForeignKeyCacheInfo * +_copyForeignKeyCacheInfo(const ForeignKeyCacheInfo *from) +{ + ForeignKeyCacheInfo *newnode = makeNode(ForeignKeyCacheInfo); + + COPY_SCALAR_FIELD(conoid); + COPY_SCALAR_FIELD(conrelid); + COPY_SCALAR_FIELD(confrelid); + COPY_SCALAR_FIELD(nkeys); + COPY_ARRAY_FIELD(conkey); + COPY_ARRAY_FIELD(confkey); + COPY_ARRAY_FIELD(conpfeqop); + + return newnode; +} diff --git a/parser/include/postgres/copyfuncs.switch.c b/parser/include/postgres/copyfuncs.switch.c new file mode 100644 index 00000000..e5fac29a --- /dev/null +++ b/parser/include/postgres/copyfuncs.switch.c @@ -0,0 +1,989 @@ +/*------------------------------------------------------------------------- + * + * copyfuncs.switch.c + * Generated node infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/nodes/gen_node_support.pl + * + *------------------------------------------------------------------------- + */ + case T_Alias: + retval = _copyAlias(from); + break; + case T_RangeVar: + retval = _copyRangeVar(from); + break; + case T_TableFunc: + retval = _copyTableFunc(from); + break; + case T_IntoClause: + retval = _copyIntoClause(from); + break; + case T_Var: + retval = _copyVar(from); + break; + case T_Const: + retval = _copyConst(from); + break; + case T_Param: + retval = _copyParam(from); + break; + case T_Aggref: + retval = _copyAggref(from); + break; + case T_GroupingFunc: + retval = _copyGroupingFunc(from); + break; + case T_WindowFunc: + retval = _copyWindowFunc(from); + break; + case T_WindowFuncRunCondition: + retval = _copyWindowFuncRunCondition(from); + break; + case T_MergeSupportFunc: + retval = _copyMergeSupportFunc(from); + break; + case T_SubscriptingRef: + retval = _copySubscriptingRef(from); + break; + case T_FuncExpr: + retval = _copyFuncExpr(from); + break; + case T_NamedArgExpr: + retval = _copyNamedArgExpr(from); + break; + case T_OpExpr: + retval = _copyOpExpr(from); + break; + case T_DistinctExpr: + retval = _copyDistinctExpr(from); + break; + case T_NullIfExpr: + retval = _copyNullIfExpr(from); + break; + case T_ScalarArrayOpExpr: + retval = _copyScalarArrayOpExpr(from); + break; + case T_BoolExpr: + retval = _copyBoolExpr(from); + break; + case T_SubLink: + retval = _copySubLink(from); + break; + case T_SubPlan: + retval = _copySubPlan(from); + break; + case T_AlternativeSubPlan: + retval = _copyAlternativeSubPlan(from); + break; + case T_FieldSelect: + retval = _copyFieldSelect(from); + break; + case T_FieldStore: + retval = _copyFieldStore(from); + break; + case T_RelabelType: + retval = _copyRelabelType(from); + break; + case T_CoerceViaIO: + retval = _copyCoerceViaIO(from); + break; + case T_ArrayCoerceExpr: + retval = _copyArrayCoerceExpr(from); + break; + case T_ConvertRowtypeExpr: + retval = _copyConvertRowtypeExpr(from); + break; + case T_CollateExpr: + retval = _copyCollateExpr(from); + break; + case T_CaseExpr: + retval = _copyCaseExpr(from); + break; + case T_CaseWhen: + retval = _copyCaseWhen(from); + break; + case T_CaseTestExpr: + retval = _copyCaseTestExpr(from); + break; + case T_ArrayExpr: + retval = _copyArrayExpr(from); + break; + case T_RowExpr: + retval = _copyRowExpr(from); + break; + case T_RowCompareExpr: + retval = _copyRowCompareExpr(from); + break; + case T_CoalesceExpr: + retval = _copyCoalesceExpr(from); + break; + case T_MinMaxExpr: + retval = _copyMinMaxExpr(from); + break; + case T_SQLValueFunction: + retval = _copySQLValueFunction(from); + break; + case T_XmlExpr: + retval = _copyXmlExpr(from); + break; + case T_JsonFormat: + retval = _copyJsonFormat(from); + break; + case T_JsonReturning: + retval = _copyJsonReturning(from); + break; + case T_JsonValueExpr: + retval = _copyJsonValueExpr(from); + break; + case T_JsonConstructorExpr: + retval = _copyJsonConstructorExpr(from); + break; + case T_JsonIsPredicate: + retval = _copyJsonIsPredicate(from); + break; + case T_JsonBehavior: + retval = _copyJsonBehavior(from); + break; + case T_JsonExpr: + retval = _copyJsonExpr(from); + break; + case T_JsonTablePath: + retval = _copyJsonTablePath(from); + break; + case T_JsonTablePathScan: + retval = _copyJsonTablePathScan(from); + break; + case T_JsonTableSiblingJoin: + retval = _copyJsonTableSiblingJoin(from); + break; + case T_NullTest: + retval = _copyNullTest(from); + break; + case T_BooleanTest: + retval = _copyBooleanTest(from); + break; + case T_MergeAction: + retval = _copyMergeAction(from); + break; + case T_CoerceToDomain: + retval = _copyCoerceToDomain(from); + break; + case T_CoerceToDomainValue: + retval = _copyCoerceToDomainValue(from); + break; + case T_SetToDefault: + retval = _copySetToDefault(from); + break; + case T_CurrentOfExpr: + retval = _copyCurrentOfExpr(from); + break; + case T_NextValueExpr: + retval = _copyNextValueExpr(from); + break; + case T_InferenceElem: + retval = _copyInferenceElem(from); + break; + case T_TargetEntry: + retval = _copyTargetEntry(from); + break; + case T_RangeTblRef: + retval = _copyRangeTblRef(from); + break; + case T_JoinExpr: + retval = _copyJoinExpr(from); + break; + case T_FromExpr: + retval = _copyFromExpr(from); + break; + case T_OnConflictExpr: + retval = _copyOnConflictExpr(from); + break; + case T_Query: + retval = _copyQuery(from); + break; + case T_TypeName: + retval = _copyTypeName(from); + break; + case T_ColumnRef: + retval = _copyColumnRef(from); + break; + case T_ParamRef: + retval = _copyParamRef(from); + break; + case T_A_Expr: + retval = _copyA_Expr(from); + break; + case T_A_Const: + retval = _copyA_Const(from); + break; + case T_TypeCast: + retval = _copyTypeCast(from); + break; + case T_CollateClause: + retval = _copyCollateClause(from); + break; + case T_RoleSpec: + retval = _copyRoleSpec(from); + break; + case T_FuncCall: + retval = _copyFuncCall(from); + break; + case T_A_Star: + retval = _copyA_Star(from); + break; + case T_A_Indices: + retval = _copyA_Indices(from); + break; + case T_A_Indirection: + retval = _copyA_Indirection(from); + break; + case T_A_ArrayExpr: + retval = _copyA_ArrayExpr(from); + break; + case T_ResTarget: + retval = _copyResTarget(from); + break; + case T_MultiAssignRef: + retval = _copyMultiAssignRef(from); + break; + case T_SortBy: + retval = _copySortBy(from); + break; + case T_WindowDef: + retval = _copyWindowDef(from); + break; + case T_RangeSubselect: + retval = _copyRangeSubselect(from); + break; + case T_RangeFunction: + retval = _copyRangeFunction(from); + break; + case T_RangeTableFunc: + retval = _copyRangeTableFunc(from); + break; + case T_RangeTableFuncCol: + retval = _copyRangeTableFuncCol(from); + break; + case T_RangeTableSample: + retval = _copyRangeTableSample(from); + break; + case T_ColumnDef: + retval = _copyColumnDef(from); + break; + case T_TableLikeClause: + retval = _copyTableLikeClause(from); + break; + case T_IndexElem: + retval = _copyIndexElem(from); + break; + case T_DefElem: + retval = _copyDefElem(from); + break; + case T_LockingClause: + retval = _copyLockingClause(from); + break; + case T_XmlSerialize: + retval = _copyXmlSerialize(from); + break; + case T_PartitionElem: + retval = _copyPartitionElem(from); + break; + case T_PartitionSpec: + retval = _copyPartitionSpec(from); + break; + case T_PartitionBoundSpec: + retval = _copyPartitionBoundSpec(from); + break; + case T_PartitionRangeDatum: + retval = _copyPartitionRangeDatum(from); + break; + case T_SinglePartitionSpec: + retval = _copySinglePartitionSpec(from); + break; + case T_PartitionCmd: + retval = _copyPartitionCmd(from); + break; + case T_RangeTblEntry: + retval = _copyRangeTblEntry(from); + break; + case T_RTEPermissionInfo: + retval = _copyRTEPermissionInfo(from); + break; + case T_RangeTblFunction: + retval = _copyRangeTblFunction(from); + break; + case T_TableSampleClause: + retval = _copyTableSampleClause(from); + break; + case T_WithCheckOption: + retval = _copyWithCheckOption(from); + break; + case T_SortGroupClause: + retval = _copySortGroupClause(from); + break; + case T_GroupingSet: + retval = _copyGroupingSet(from); + break; + case T_WindowClause: + retval = _copyWindowClause(from); + break; + case T_RowMarkClause: + retval = _copyRowMarkClause(from); + break; + case T_WithClause: + retval = _copyWithClause(from); + break; + case T_InferClause: + retval = _copyInferClause(from); + break; + case T_OnConflictClause: + retval = _copyOnConflictClause(from); + break; + case T_CTESearchClause: + retval = _copyCTESearchClause(from); + break; + case T_CTECycleClause: + retval = _copyCTECycleClause(from); + break; + case T_CommonTableExpr: + retval = _copyCommonTableExpr(from); + break; + case T_MergeWhenClause: + retval = _copyMergeWhenClause(from); + break; + case T_TriggerTransition: + retval = _copyTriggerTransition(from); + break; + case T_JsonOutput: + retval = _copyJsonOutput(from); + break; + case T_JsonArgument: + retval = _copyJsonArgument(from); + break; + case T_JsonFuncExpr: + retval = _copyJsonFuncExpr(from); + break; + case T_JsonTablePathSpec: + retval = _copyJsonTablePathSpec(from); + break; + case T_JsonTable: + retval = _copyJsonTable(from); + break; + case T_JsonTableColumn: + retval = _copyJsonTableColumn(from); + break; + case T_JsonKeyValue: + retval = _copyJsonKeyValue(from); + break; + case T_JsonParseExpr: + retval = _copyJsonParseExpr(from); + break; + case T_JsonScalarExpr: + retval = _copyJsonScalarExpr(from); + break; + case T_JsonSerializeExpr: + retval = _copyJsonSerializeExpr(from); + break; + case T_JsonObjectConstructor: + retval = _copyJsonObjectConstructor(from); + break; + case T_JsonArrayConstructor: + retval = _copyJsonArrayConstructor(from); + break; + case T_JsonArrayQueryConstructor: + retval = _copyJsonArrayQueryConstructor(from); + break; + case T_JsonAggConstructor: + retval = _copyJsonAggConstructor(from); + break; + case T_JsonObjectAgg: + retval = _copyJsonObjectAgg(from); + break; + case T_JsonArrayAgg: + retval = _copyJsonArrayAgg(from); + break; + case T_RawStmt: + retval = _copyRawStmt(from); + break; + case T_InsertStmt: + retval = _copyInsertStmt(from); + break; + case T_DeleteStmt: + retval = _copyDeleteStmt(from); + break; + case T_UpdateStmt: + retval = _copyUpdateStmt(from); + break; + case T_MergeStmt: + retval = _copyMergeStmt(from); + break; + case T_SelectStmt: + retval = _copySelectStmt(from); + break; + case T_SetOperationStmt: + retval = _copySetOperationStmt(from); + break; + case T_ReturnStmt: + retval = _copyReturnStmt(from); + break; + case T_PLAssignStmt: + retval = _copyPLAssignStmt(from); + break; + case T_CreateSchemaStmt: + retval = _copyCreateSchemaStmt(from); + break; + case T_AlterTableStmt: + retval = _copyAlterTableStmt(from); + break; + case T_ReplicaIdentityStmt: + retval = _copyReplicaIdentityStmt(from); + break; + case T_AlterTableCmd: + retval = _copyAlterTableCmd(from); + break; + case T_AlterCollationStmt: + retval = _copyAlterCollationStmt(from); + break; + case T_AlterDomainStmt: + retval = _copyAlterDomainStmt(from); + break; + case T_GrantStmt: + retval = _copyGrantStmt(from); + break; + case T_ObjectWithArgs: + retval = _copyObjectWithArgs(from); + break; + case T_AccessPriv: + retval = _copyAccessPriv(from); + break; + case T_GrantRoleStmt: + retval = _copyGrantRoleStmt(from); + break; + case T_AlterDefaultPrivilegesStmt: + retval = _copyAlterDefaultPrivilegesStmt(from); + break; + case T_CopyStmt: + retval = _copyCopyStmt(from); + break; + case T_VariableSetStmt: + retval = _copyVariableSetStmt(from); + break; + case T_VariableShowStmt: + retval = _copyVariableShowStmt(from); + break; + case T_CreateStmt: + retval = _copyCreateStmt(from); + break; + case T_Constraint: + retval = _copyConstraint(from); + break; + case T_CreateTableSpaceStmt: + retval = _copyCreateTableSpaceStmt(from); + break; + case T_DropTableSpaceStmt: + retval = _copyDropTableSpaceStmt(from); + break; + case T_AlterTableSpaceOptionsStmt: + retval = _copyAlterTableSpaceOptionsStmt(from); + break; + case T_AlterTableMoveAllStmt: + retval = _copyAlterTableMoveAllStmt(from); + break; + case T_CreateExtensionStmt: + retval = _copyCreateExtensionStmt(from); + break; + case T_AlterExtensionStmt: + retval = _copyAlterExtensionStmt(from); + break; + case T_AlterExtensionContentsStmt: + retval = _copyAlterExtensionContentsStmt(from); + break; + case T_CreateFdwStmt: + retval = _copyCreateFdwStmt(from); + break; + case T_AlterFdwStmt: + retval = _copyAlterFdwStmt(from); + break; + case T_CreateForeignServerStmt: + retval = _copyCreateForeignServerStmt(from); + break; + case T_AlterForeignServerStmt: + retval = _copyAlterForeignServerStmt(from); + break; + case T_CreateForeignTableStmt: + retval = _copyCreateForeignTableStmt(from); + break; + case T_CreateUserMappingStmt: + retval = _copyCreateUserMappingStmt(from); + break; + case T_AlterUserMappingStmt: + retval = _copyAlterUserMappingStmt(from); + break; + case T_DropUserMappingStmt: + retval = _copyDropUserMappingStmt(from); + break; + case T_ImportForeignSchemaStmt: + retval = _copyImportForeignSchemaStmt(from); + break; + case T_CreatePolicyStmt: + retval = _copyCreatePolicyStmt(from); + break; + case T_AlterPolicyStmt: + retval = _copyAlterPolicyStmt(from); + break; + case T_CreateAmStmt: + retval = _copyCreateAmStmt(from); + break; + case T_CreateTrigStmt: + retval = _copyCreateTrigStmt(from); + break; + case T_CreateEventTrigStmt: + retval = _copyCreateEventTrigStmt(from); + break; + case T_AlterEventTrigStmt: + retval = _copyAlterEventTrigStmt(from); + break; + case T_CreatePLangStmt: + retval = _copyCreatePLangStmt(from); + break; + case T_CreateRoleStmt: + retval = _copyCreateRoleStmt(from); + break; + case T_AlterRoleStmt: + retval = _copyAlterRoleStmt(from); + break; + case T_AlterRoleSetStmt: + retval = _copyAlterRoleSetStmt(from); + break; + case T_DropRoleStmt: + retval = _copyDropRoleStmt(from); + break; + case T_CreateSeqStmt: + retval = _copyCreateSeqStmt(from); + break; + case T_AlterSeqStmt: + retval = _copyAlterSeqStmt(from); + break; + case T_DefineStmt: + retval = _copyDefineStmt(from); + break; + case T_CreateDomainStmt: + retval = _copyCreateDomainStmt(from); + break; + case T_CreateOpClassStmt: + retval = _copyCreateOpClassStmt(from); + break; + case T_CreateOpClassItem: + retval = _copyCreateOpClassItem(from); + break; + case T_CreateOpFamilyStmt: + retval = _copyCreateOpFamilyStmt(from); + break; + case T_AlterOpFamilyStmt: + retval = _copyAlterOpFamilyStmt(from); + break; + case T_DropStmt: + retval = _copyDropStmt(from); + break; + case T_TruncateStmt: + retval = _copyTruncateStmt(from); + break; + case T_CommentStmt: + retval = _copyCommentStmt(from); + break; + case T_SecLabelStmt: + retval = _copySecLabelStmt(from); + break; + case T_DeclareCursorStmt: + retval = _copyDeclareCursorStmt(from); + break; + case T_ClosePortalStmt: + retval = _copyClosePortalStmt(from); + break; + case T_FetchStmt: + retval = _copyFetchStmt(from); + break; + case T_IndexStmt: + retval = _copyIndexStmt(from); + break; + case T_CreateStatsStmt: + retval = _copyCreateStatsStmt(from); + break; + case T_StatsElem: + retval = _copyStatsElem(from); + break; + case T_AlterStatsStmt: + retval = _copyAlterStatsStmt(from); + break; + case T_CreateFunctionStmt: + retval = _copyCreateFunctionStmt(from); + break; + case T_FunctionParameter: + retval = _copyFunctionParameter(from); + break; + case T_AlterFunctionStmt: + retval = _copyAlterFunctionStmt(from); + break; + case T_DoStmt: + retval = _copyDoStmt(from); + break; + case T_CallStmt: + retval = _copyCallStmt(from); + break; + case T_RenameStmt: + retval = _copyRenameStmt(from); + break; + case T_AlterObjectDependsStmt: + retval = _copyAlterObjectDependsStmt(from); + break; + case T_AlterObjectSchemaStmt: + retval = _copyAlterObjectSchemaStmt(from); + break; + case T_AlterOwnerStmt: + retval = _copyAlterOwnerStmt(from); + break; + case T_AlterOperatorStmt: + retval = _copyAlterOperatorStmt(from); + break; + case T_AlterTypeStmt: + retval = _copyAlterTypeStmt(from); + break; + case T_RuleStmt: + retval = _copyRuleStmt(from); + break; + case T_NotifyStmt: + retval = _copyNotifyStmt(from); + break; + case T_ListenStmt: + retval = _copyListenStmt(from); + break; + case T_UnlistenStmt: + retval = _copyUnlistenStmt(from); + break; + case T_TransactionStmt: + retval = _copyTransactionStmt(from); + break; + case T_CompositeTypeStmt: + retval = _copyCompositeTypeStmt(from); + break; + case T_CreateEnumStmt: + retval = _copyCreateEnumStmt(from); + break; + case T_CreateRangeStmt: + retval = _copyCreateRangeStmt(from); + break; + case T_AlterEnumStmt: + retval = _copyAlterEnumStmt(from); + break; + case T_ViewStmt: + retval = _copyViewStmt(from); + break; + case T_LoadStmt: + retval = _copyLoadStmt(from); + break; + case T_CreatedbStmt: + retval = _copyCreatedbStmt(from); + break; + case T_AlterDatabaseStmt: + retval = _copyAlterDatabaseStmt(from); + break; + case T_AlterDatabaseRefreshCollStmt: + retval = _copyAlterDatabaseRefreshCollStmt(from); + break; + case T_AlterDatabaseSetStmt: + retval = _copyAlterDatabaseSetStmt(from); + break; + case T_DropdbStmt: + retval = _copyDropdbStmt(from); + break; + case T_AlterSystemStmt: + retval = _copyAlterSystemStmt(from); + break; + case T_ClusterStmt: + retval = _copyClusterStmt(from); + break; + case T_VacuumStmt: + retval = _copyVacuumStmt(from); + break; + case T_VacuumRelation: + retval = _copyVacuumRelation(from); + break; + case T_ExplainStmt: + retval = _copyExplainStmt(from); + break; + case T_CreateTableAsStmt: + retval = _copyCreateTableAsStmt(from); + break; + case T_RefreshMatViewStmt: + retval = _copyRefreshMatViewStmt(from); + break; + case T_CheckPointStmt: + retval = _copyCheckPointStmt(from); + break; + case T_DiscardStmt: + retval = _copyDiscardStmt(from); + break; + case T_LockStmt: + retval = _copyLockStmt(from); + break; + case T_ConstraintsSetStmt: + retval = _copyConstraintsSetStmt(from); + break; + case T_ReindexStmt: + retval = _copyReindexStmt(from); + break; + case T_CreateConversionStmt: + retval = _copyCreateConversionStmt(from); + break; + case T_CreateCastStmt: + retval = _copyCreateCastStmt(from); + break; + case T_CreateTransformStmt: + retval = _copyCreateTransformStmt(from); + break; + case T_PrepareStmt: + retval = _copyPrepareStmt(from); + break; + case T_ExecuteStmt: + retval = _copyExecuteStmt(from); + break; + case T_DeallocateStmt: + retval = _copyDeallocateStmt(from); + break; + case T_DropOwnedStmt: + retval = _copyDropOwnedStmt(from); + break; + case T_ReassignOwnedStmt: + retval = _copyReassignOwnedStmt(from); + break; + case T_AlterTSDictionaryStmt: + retval = _copyAlterTSDictionaryStmt(from); + break; + case T_AlterTSConfigurationStmt: + retval = _copyAlterTSConfigurationStmt(from); + break; + case T_PublicationTable: + retval = _copyPublicationTable(from); + break; + case T_PublicationObjSpec: + retval = _copyPublicationObjSpec(from); + break; + case T_CreatePublicationStmt: + retval = _copyCreatePublicationStmt(from); + break; + case T_AlterPublicationStmt: + retval = _copyAlterPublicationStmt(from); + break; + case T_CreateSubscriptionStmt: + retval = _copyCreateSubscriptionStmt(from); + break; + case T_AlterSubscriptionStmt: + retval = _copyAlterSubscriptionStmt(from); + break; + case T_DropSubscriptionStmt: + retval = _copyDropSubscriptionStmt(from); + break; + case T_PathKey: + retval = _copyPathKey(from); + break; + case T_GroupByOrdering: + retval = _copyGroupByOrdering(from); + break; + case T_RestrictInfo: + retval = _copyRestrictInfo(from); + break; + case T_PlaceHolderVar: + retval = _copyPlaceHolderVar(from); + break; + case T_SpecialJoinInfo: + retval = _copySpecialJoinInfo(from); + break; + case T_AppendRelInfo: + retval = _copyAppendRelInfo(from); + break; + case T_PlaceHolderInfo: + retval = _copyPlaceHolderInfo(from); + break; + case T_PlannedStmt: + retval = _copyPlannedStmt(from); + break; + case T_Result: + retval = _copyResult(from); + break; + case T_ProjectSet: + retval = _copyProjectSet(from); + break; + case T_ModifyTable: + retval = _copyModifyTable(from); + break; + case T_Append: + retval = _copyAppend(from); + break; + case T_MergeAppend: + retval = _copyMergeAppend(from); + break; + case T_RecursiveUnion: + retval = _copyRecursiveUnion(from); + break; + case T_BitmapAnd: + retval = _copyBitmapAnd(from); + break; + case T_BitmapOr: + retval = _copyBitmapOr(from); + break; + case T_SeqScan: + retval = _copySeqScan(from); + break; + case T_SampleScan: + retval = _copySampleScan(from); + break; + case T_IndexScan: + retval = _copyIndexScan(from); + break; + case T_IndexOnlyScan: + retval = _copyIndexOnlyScan(from); + break; + case T_BitmapIndexScan: + retval = _copyBitmapIndexScan(from); + break; + case T_BitmapHeapScan: + retval = _copyBitmapHeapScan(from); + break; + case T_TidScan: + retval = _copyTidScan(from); + break; + case T_TidRangeScan: + retval = _copyTidRangeScan(from); + break; + case T_SubqueryScan: + retval = _copySubqueryScan(from); + break; + case T_FunctionScan: + retval = _copyFunctionScan(from); + break; + case T_ValuesScan: + retval = _copyValuesScan(from); + break; + case T_TableFuncScan: + retval = _copyTableFuncScan(from); + break; + case T_CteScan: + retval = _copyCteScan(from); + break; + case T_NamedTuplestoreScan: + retval = _copyNamedTuplestoreScan(from); + break; + case T_WorkTableScan: + retval = _copyWorkTableScan(from); + break; + case T_ForeignScan: + retval = _copyForeignScan(from); + break; + case T_CustomScan: + retval = _copyCustomScan(from); + break; + case T_NestLoop: + retval = _copyNestLoop(from); + break; + case T_NestLoopParam: + retval = _copyNestLoopParam(from); + break; + case T_MergeJoin: + retval = _copyMergeJoin(from); + break; + case T_HashJoin: + retval = _copyHashJoin(from); + break; + case T_Material: + retval = _copyMaterial(from); + break; + case T_Memoize: + retval = _copyMemoize(from); + break; + case T_Sort: + retval = _copySort(from); + break; + case T_IncrementalSort: + retval = _copyIncrementalSort(from); + break; + case T_Group: + retval = _copyGroup(from); + break; + case T_Agg: + retval = _copyAgg(from); + break; + case T_WindowAgg: + retval = _copyWindowAgg(from); + break; + case T_Unique: + retval = _copyUnique(from); + break; + case T_Gather: + retval = _copyGather(from); + break; + case T_GatherMerge: + retval = _copyGatherMerge(from); + break; + case T_Hash: + retval = _copyHash(from); + break; + case T_SetOp: + retval = _copySetOp(from); + break; + case T_LockRows: + retval = _copyLockRows(from); + break; + case T_Limit: + retval = _copyLimit(from); + break; + case T_PlanRowMark: + retval = _copyPlanRowMark(from); + break; + case T_PartitionPruneInfo: + retval = _copyPartitionPruneInfo(from); + break; + case T_PartitionedRelPruneInfo: + retval = _copyPartitionedRelPruneInfo(from); + break; + case T_PartitionPruneStepOp: + retval = _copyPartitionPruneStepOp(from); + break; + case T_PartitionPruneStepCombine: + retval = _copyPartitionPruneStepCombine(from); + break; + case T_PlanInvalItem: + retval = _copyPlanInvalItem(from); + break; + case T_Bitmapset: + retval = _copyBitmapset(from); + break; + case T_ExtensibleNode: + retval = _copyExtensibleNode(from); + break; + case T_Integer: + retval = _copyInteger(from); + break; + case T_Float: + retval = _copyFloat(from); + break; + case T_Boolean: + retval = _copyBoolean(from); + break; + case T_String: + retval = _copyString(from); + break; + case T_BitString: + retval = _copyBitString(from); + break; + case T_ForeignKeyCacheInfo: + retval = _copyForeignKeyCacheInfo(from); + break; diff --git a/parser/include/postgres/datatype/gokeep.go b/parser/include/postgres/datatype/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/datatype/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/datatype/timestamp.h b/parser/include/postgres/datatype/timestamp.h similarity index 87% rename from parser/include/datatype/timestamp.h rename to parser/include/postgres/datatype/timestamp.h index d155f1b0..7d9d2fd0 100644 --- a/parser/include/datatype/timestamp.h +++ b/parser/include/postgres/datatype/timestamp.h @@ -5,7 +5,7 @@ * * Note: this file must be includable in both frontend and backend contexts. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/datatype/timestamp.h @@ -114,6 +114,7 @@ struct pg_itm_in * 30 days. */ #define DAYS_PER_MONTH 30 /* assumes exactly 30 days per month */ +#define DAYS_PER_WEEK 7 #define HOURS_PER_DAY 24 /* assume no daylight savings time changes */ /* @@ -135,7 +136,7 @@ struct pg_itm_in /* * We allow numeric timezone offsets up to 15:59:59 either way from Greenwich. * Currently, the record holders for wackiest offsets in actual use are zones - * Asia/Manila, at -15:56:00 until 1844, and America/Metlakatla, at +15:13:42 + * Asia/Manila, at -15:56:08 until 1844, and America/Metlakatla, at +15:13:42 * until 1867. If we were to reject such values we would fail to dump and * restore old timestamptz values with these zone settings. */ @@ -143,10 +144,17 @@ struct pg_itm_in #define TZDISP_LIMIT ((MAX_TZDISP_HOUR + 1) * SECS_PER_HOUR) /* - * DT_NOBEGIN represents timestamp -infinity; DT_NOEND represents +infinity + * We reserve the minimum and maximum integer values to represent + * timestamp (or timestamptz) -infinity and +infinity. */ -#define DT_NOBEGIN PG_INT64_MIN -#define DT_NOEND PG_INT64_MAX +#define TIMESTAMP_MINUS_INFINITY PG_INT64_MIN +#define TIMESTAMP_INFINITY PG_INT64_MAX + +/* + * Historically these aliases for infinity have been used. + */ +#define DT_NOBEGIN TIMESTAMP_MINUS_INFINITY +#define DT_NOEND TIMESTAMP_INFINITY #define TIMESTAMP_NOBEGIN(j) \ do {(j) = DT_NOBEGIN;} while (0) @@ -160,6 +168,31 @@ struct pg_itm_in #define TIMESTAMP_NOT_FINITE(j) (TIMESTAMP_IS_NOBEGIN(j) || TIMESTAMP_IS_NOEND(j)) +/* + * Infinite intervals are represented by setting all fields to the minimum or + * maximum integer values. + */ +#define INTERVAL_NOBEGIN(i) \ + do { \ + (i)->time = PG_INT64_MIN; \ + (i)->day = PG_INT32_MIN; \ + (i)->month = PG_INT32_MIN; \ + } while (0) + +#define INTERVAL_IS_NOBEGIN(i) \ + ((i)->month == PG_INT32_MIN && (i)->day == PG_INT32_MIN && (i)->time == PG_INT64_MIN) + +#define INTERVAL_NOEND(i) \ + do { \ + (i)->time = PG_INT64_MAX; \ + (i)->day = PG_INT32_MAX; \ + (i)->month = PG_INT32_MAX; \ + } while (0) + +#define INTERVAL_IS_NOEND(i) \ + ((i)->month == PG_INT32_MAX && (i)->day == PG_INT32_MAX && (i)->time == PG_INT64_MAX) + +#define INTERVAL_NOT_FINITE(i) (INTERVAL_IS_NOBEGIN(i) || INTERVAL_IS_NOEND(i)) /* * Julian date support. diff --git a/parser/include/postgres/equalfuncs.funcs.c b/parser/include/postgres/equalfuncs.funcs.c new file mode 100644 index 00000000..a1ca6264 --- /dev/null +++ b/parser/include/postgres/equalfuncs.funcs.c @@ -0,0 +1,3310 @@ +/*------------------------------------------------------------------------- + * + * equalfuncs.funcs.c + * Generated node infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/nodes/gen_node_support.pl + * + *------------------------------------------------------------------------- + */ +#include "access/amapi.h" +#include "access/sdir.h" +#include "access/tableam.h" +#include "access/tsmapi.h" +#include "commands/event_trigger.h" +#include "commands/trigger.h" +#include "executor/tuptable.h" +#include "foreign/fdwapi.h" +#include "nodes/bitmapset.h" +#include "nodes/execnodes.h" +#include "nodes/extensible.h" +#include "nodes/lockoptions.h" +#include "nodes/miscnodes.h" +#include "nodes/nodes.h" +#include "nodes/parsenodes.h" +#include "nodes/pathnodes.h" +#include "nodes/plannodes.h" +#include "nodes/primnodes.h" +#include "nodes/replnodes.h" +#include "nodes/supportnodes.h" +#include "nodes/value.h" +#include "utils/rel.h" + +static bool +_equalAlias(const Alias *a, const Alias *b) +{ + COMPARE_STRING_FIELD(aliasname); + COMPARE_NODE_FIELD(colnames); + + return true; +} + +static bool +_equalRangeVar(const RangeVar *a, const RangeVar *b) +{ + COMPARE_STRING_FIELD(catalogname); + COMPARE_STRING_FIELD(schemaname); + COMPARE_STRING_FIELD(relname); + COMPARE_SCALAR_FIELD(inh); + COMPARE_SCALAR_FIELD(relpersistence); + COMPARE_NODE_FIELD(alias); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalTableFunc(const TableFunc *a, const TableFunc *b) +{ + COMPARE_SCALAR_FIELD(functype); + COMPARE_NODE_FIELD(ns_uris); + COMPARE_NODE_FIELD(ns_names); + COMPARE_NODE_FIELD(docexpr); + COMPARE_NODE_FIELD(rowexpr); + COMPARE_NODE_FIELD(colnames); + COMPARE_NODE_FIELD(coltypes); + COMPARE_NODE_FIELD(coltypmods); + COMPARE_NODE_FIELD(colcollations); + COMPARE_NODE_FIELD(colexprs); + COMPARE_NODE_FIELD(coldefexprs); + COMPARE_NODE_FIELD(colvalexprs); + COMPARE_NODE_FIELD(passingvalexprs); + COMPARE_BITMAPSET_FIELD(notnulls); + COMPARE_NODE_FIELD(plan); + COMPARE_SCALAR_FIELD(ordinalitycol); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalIntoClause(const IntoClause *a, const IntoClause *b) +{ + COMPARE_NODE_FIELD(rel); + COMPARE_NODE_FIELD(colNames); + COMPARE_STRING_FIELD(accessMethod); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(onCommit); + COMPARE_STRING_FIELD(tableSpaceName); + COMPARE_NODE_FIELD(viewQuery); + COMPARE_SCALAR_FIELD(skipData); + + return true; +} + +static bool +_equalVar(const Var *a, const Var *b) +{ + COMPARE_SCALAR_FIELD(varno); + COMPARE_SCALAR_FIELD(varattno); + COMPARE_SCALAR_FIELD(vartype); + COMPARE_SCALAR_FIELD(vartypmod); + COMPARE_SCALAR_FIELD(varcollid); + COMPARE_BITMAPSET_FIELD(varnullingrels); + COMPARE_SCALAR_FIELD(varlevelsup); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalParam(const Param *a, const Param *b) +{ + COMPARE_SCALAR_FIELD(paramkind); + COMPARE_SCALAR_FIELD(paramid); + COMPARE_SCALAR_FIELD(paramtype); + COMPARE_SCALAR_FIELD(paramtypmod); + COMPARE_SCALAR_FIELD(paramcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalAggref(const Aggref *a, const Aggref *b) +{ + COMPARE_SCALAR_FIELD(aggfnoid); + COMPARE_SCALAR_FIELD(aggtype); + COMPARE_SCALAR_FIELD(aggcollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(aggargtypes); + COMPARE_NODE_FIELD(aggdirectargs); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(aggorder); + COMPARE_NODE_FIELD(aggdistinct); + COMPARE_NODE_FIELD(aggfilter); + COMPARE_SCALAR_FIELD(aggstar); + COMPARE_SCALAR_FIELD(aggvariadic); + COMPARE_SCALAR_FIELD(aggkind); + COMPARE_SCALAR_FIELD(agglevelsup); + COMPARE_SCALAR_FIELD(aggsplit); + COMPARE_SCALAR_FIELD(aggno); + COMPARE_SCALAR_FIELD(aggtransno); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalGroupingFunc(const GroupingFunc *a, const GroupingFunc *b) +{ + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(agglevelsup); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalWindowFunc(const WindowFunc *a, const WindowFunc *b) +{ + COMPARE_SCALAR_FIELD(winfnoid); + COMPARE_SCALAR_FIELD(wintype); + COMPARE_SCALAR_FIELD(wincollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(aggfilter); + COMPARE_NODE_FIELD(runCondition); + COMPARE_SCALAR_FIELD(winref); + COMPARE_SCALAR_FIELD(winstar); + COMPARE_SCALAR_FIELD(winagg); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalWindowFuncRunCondition(const WindowFuncRunCondition *a, const WindowFuncRunCondition *b) +{ + COMPARE_SCALAR_FIELD(opno); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_SCALAR_FIELD(wfunc_left); + COMPARE_NODE_FIELD(arg); + + return true; +} + +static bool +_equalMergeSupportFunc(const MergeSupportFunc *a, const MergeSupportFunc *b) +{ + COMPARE_SCALAR_FIELD(msftype); + COMPARE_SCALAR_FIELD(msfcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSubscriptingRef(const SubscriptingRef *a, const SubscriptingRef *b) +{ + COMPARE_SCALAR_FIELD(refcontainertype); + COMPARE_SCALAR_FIELD(refelemtype); + COMPARE_SCALAR_FIELD(refrestype); + COMPARE_SCALAR_FIELD(reftypmod); + COMPARE_SCALAR_FIELD(refcollid); + COMPARE_NODE_FIELD(refupperindexpr); + COMPARE_NODE_FIELD(reflowerindexpr); + COMPARE_NODE_FIELD(refexpr); + COMPARE_NODE_FIELD(refassgnexpr); + + return true; +} + +static bool +_equalFuncExpr(const FuncExpr *a, const FuncExpr *b) +{ + COMPARE_SCALAR_FIELD(funcid); + COMPARE_SCALAR_FIELD(funcresulttype); + COMPARE_SCALAR_FIELD(funcretset); + COMPARE_SCALAR_FIELD(funcvariadic); + COMPARE_SCALAR_FIELD(funccollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalNamedArgExpr(const NamedArgExpr *a, const NamedArgExpr *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(argnumber); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalOpExpr(const OpExpr *a, const OpExpr *b) +{ + COMPARE_SCALAR_FIELD(opno); + if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0) + return false; + COMPARE_SCALAR_FIELD(opresulttype); + COMPARE_SCALAR_FIELD(opretset); + COMPARE_SCALAR_FIELD(opcollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalDistinctExpr(const DistinctExpr *a, const DistinctExpr *b) +{ + COMPARE_SCALAR_FIELD(opno); + if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0) + return false; + COMPARE_SCALAR_FIELD(opresulttype); + COMPARE_SCALAR_FIELD(opretset); + COMPARE_SCALAR_FIELD(opcollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalNullIfExpr(const NullIfExpr *a, const NullIfExpr *b) +{ + COMPARE_SCALAR_FIELD(opno); + if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0) + return false; + COMPARE_SCALAR_FIELD(opresulttype); + COMPARE_SCALAR_FIELD(opretset); + COMPARE_SCALAR_FIELD(opcollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalScalarArrayOpExpr(const ScalarArrayOpExpr *a, const ScalarArrayOpExpr *b) +{ + COMPARE_SCALAR_FIELD(opno); + if (a->opfuncid != b->opfuncid && a->opfuncid != 0 && b->opfuncid != 0) + return false; + if (a->hashfuncid != b->hashfuncid && a->hashfuncid != 0 && b->hashfuncid != 0) + return false; + if (a->negfuncid != b->negfuncid && a->negfuncid != 0 && b->negfuncid != 0) + return false; + COMPARE_SCALAR_FIELD(useOr); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalBoolExpr(const BoolExpr *a, const BoolExpr *b) +{ + COMPARE_SCALAR_FIELD(boolop); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSubLink(const SubLink *a, const SubLink *b) +{ + COMPARE_SCALAR_FIELD(subLinkType); + COMPARE_SCALAR_FIELD(subLinkId); + COMPARE_NODE_FIELD(testexpr); + COMPARE_NODE_FIELD(operName); + COMPARE_NODE_FIELD(subselect); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSubPlan(const SubPlan *a, const SubPlan *b) +{ + COMPARE_SCALAR_FIELD(subLinkType); + COMPARE_NODE_FIELD(testexpr); + COMPARE_NODE_FIELD(paramIds); + COMPARE_SCALAR_FIELD(plan_id); + COMPARE_STRING_FIELD(plan_name); + COMPARE_SCALAR_FIELD(firstColType); + COMPARE_SCALAR_FIELD(firstColTypmod); + COMPARE_SCALAR_FIELD(firstColCollation); + COMPARE_SCALAR_FIELD(useHashTable); + COMPARE_SCALAR_FIELD(unknownEqFalse); + COMPARE_SCALAR_FIELD(parallel_safe); + COMPARE_NODE_FIELD(setParam); + COMPARE_NODE_FIELD(parParam); + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(startup_cost); + COMPARE_SCALAR_FIELD(per_call_cost); + + return true; +} + +static bool +_equalAlternativeSubPlan(const AlternativeSubPlan *a, const AlternativeSubPlan *b) +{ + COMPARE_NODE_FIELD(subplans); + + return true; +} + +static bool +_equalFieldSelect(const FieldSelect *a, const FieldSelect *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(fieldnum); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_SCALAR_FIELD(resulttypmod); + COMPARE_SCALAR_FIELD(resultcollid); + + return true; +} + +static bool +_equalFieldStore(const FieldStore *a, const FieldStore *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(newvals); + COMPARE_NODE_FIELD(fieldnums); + COMPARE_SCALAR_FIELD(resulttype); + + return true; +} + +static bool +_equalRelabelType(const RelabelType *a, const RelabelType *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_SCALAR_FIELD(resulttypmod); + COMPARE_SCALAR_FIELD(resultcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCoerceViaIO(const CoerceViaIO *a, const CoerceViaIO *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_SCALAR_FIELD(resultcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalArrayCoerceExpr(const ArrayCoerceExpr *a, const ArrayCoerceExpr *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(elemexpr); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_SCALAR_FIELD(resulttypmod); + COMPARE_SCALAR_FIELD(resultcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalConvertRowtypeExpr(const ConvertRowtypeExpr *a, const ConvertRowtypeExpr *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCollateExpr(const CollateExpr *a, const CollateExpr *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(collOid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCaseExpr(const CaseExpr *a, const CaseExpr *b) +{ + COMPARE_SCALAR_FIELD(casetype); + COMPARE_SCALAR_FIELD(casecollid); + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(defresult); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCaseWhen(const CaseWhen *a, const CaseWhen *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(result); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCaseTestExpr(const CaseTestExpr *a, const CaseTestExpr *b) +{ + COMPARE_SCALAR_FIELD(typeId); + COMPARE_SCALAR_FIELD(typeMod); + COMPARE_SCALAR_FIELD(collation); + + return true; +} + +static bool +_equalArrayExpr(const ArrayExpr *a, const ArrayExpr *b) +{ + COMPARE_SCALAR_FIELD(array_typeid); + COMPARE_SCALAR_FIELD(array_collid); + COMPARE_SCALAR_FIELD(element_typeid); + COMPARE_NODE_FIELD(elements); + COMPARE_SCALAR_FIELD(multidims); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRowExpr(const RowExpr *a, const RowExpr *b) +{ + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(row_typeid); + COMPARE_NODE_FIELD(colnames); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRowCompareExpr(const RowCompareExpr *a, const RowCompareExpr *b) +{ + COMPARE_SCALAR_FIELD(rctype); + COMPARE_NODE_FIELD(opnos); + COMPARE_NODE_FIELD(opfamilies); + COMPARE_NODE_FIELD(inputcollids); + COMPARE_NODE_FIELD(largs); + COMPARE_NODE_FIELD(rargs); + + return true; +} + +static bool +_equalCoalesceExpr(const CoalesceExpr *a, const CoalesceExpr *b) +{ + COMPARE_SCALAR_FIELD(coalescetype); + COMPARE_SCALAR_FIELD(coalescecollid); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalMinMaxExpr(const MinMaxExpr *a, const MinMaxExpr *b) +{ + COMPARE_SCALAR_FIELD(minmaxtype); + COMPARE_SCALAR_FIELD(minmaxcollid); + COMPARE_SCALAR_FIELD(inputcollid); + COMPARE_SCALAR_FIELD(op); + COMPARE_NODE_FIELD(args); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSQLValueFunction(const SQLValueFunction *a, const SQLValueFunction *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_SCALAR_FIELD(type); + COMPARE_SCALAR_FIELD(typmod); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalXmlExpr(const XmlExpr *a, const XmlExpr *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(named_args); + COMPARE_NODE_FIELD(arg_names); + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(xmloption); + COMPARE_SCALAR_FIELD(indent); + COMPARE_SCALAR_FIELD(type); + COMPARE_SCALAR_FIELD(typmod); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonFormat(const JsonFormat *a, const JsonFormat *b) +{ + COMPARE_SCALAR_FIELD(format_type); + COMPARE_SCALAR_FIELD(encoding); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonReturning(const JsonReturning *a, const JsonReturning *b) +{ + COMPARE_NODE_FIELD(format); + COMPARE_SCALAR_FIELD(typid); + COMPARE_SCALAR_FIELD(typmod); + + return true; +} + +static bool +_equalJsonValueExpr(const JsonValueExpr *a, const JsonValueExpr *b) +{ + COMPARE_NODE_FIELD(raw_expr); + COMPARE_NODE_FIELD(formatted_expr); + COMPARE_NODE_FIELD(format); + + return true; +} + +static bool +_equalJsonConstructorExpr(const JsonConstructorExpr *a, const JsonConstructorExpr *b) +{ + COMPARE_SCALAR_FIELD(type); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(func); + COMPARE_NODE_FIELD(coercion); + COMPARE_NODE_FIELD(returning); + COMPARE_SCALAR_FIELD(absent_on_null); + COMPARE_SCALAR_FIELD(unique); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonIsPredicate(const JsonIsPredicate *a, const JsonIsPredicate *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(format); + COMPARE_SCALAR_FIELD(item_type); + COMPARE_SCALAR_FIELD(unique_keys); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonBehavior(const JsonBehavior *a, const JsonBehavior *b) +{ + COMPARE_SCALAR_FIELD(btype); + COMPARE_NODE_FIELD(expr); + COMPARE_SCALAR_FIELD(coerce); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonExpr(const JsonExpr *a, const JsonExpr *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_STRING_FIELD(column_name); + COMPARE_NODE_FIELD(formatted_expr); + COMPARE_NODE_FIELD(format); + COMPARE_NODE_FIELD(path_spec); + COMPARE_NODE_FIELD(returning); + COMPARE_NODE_FIELD(passing_names); + COMPARE_NODE_FIELD(passing_values); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_SCALAR_FIELD(use_io_coercion); + COMPARE_SCALAR_FIELD(use_json_coercion); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(omit_quotes); + COMPARE_SCALAR_FIELD(collation); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTablePath(const JsonTablePath *a, const JsonTablePath *b) +{ + COMPARE_NODE_FIELD(value); + COMPARE_STRING_FIELD(name); + + return true; +} + +static bool +_equalJsonTablePathScan(const JsonTablePathScan *a, const JsonTablePathScan *b) +{ + COMPARE_NODE_FIELD(path); + COMPARE_SCALAR_FIELD(errorOnError); + COMPARE_NODE_FIELD(child); + COMPARE_SCALAR_FIELD(colMin); + COMPARE_SCALAR_FIELD(colMax); + + return true; +} + +static bool +_equalJsonTableSiblingJoin(const JsonTableSiblingJoin *a, const JsonTableSiblingJoin *b) +{ + COMPARE_NODE_FIELD(lplan); + COMPARE_NODE_FIELD(rplan); + + return true; +} + +static bool +_equalNullTest(const NullTest *a, const NullTest *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(nulltesttype); + COMPARE_SCALAR_FIELD(argisrow); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalBooleanTest(const BooleanTest *a, const BooleanTest *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(booltesttype); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalMergeAction(const MergeAction *a, const MergeAction *b) +{ + COMPARE_SCALAR_FIELD(matchKind); + COMPARE_SCALAR_FIELD(commandType); + COMPARE_SCALAR_FIELD(override); + COMPARE_NODE_FIELD(qual); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(updateColnos); + + return true; +} + +static bool +_equalCoerceToDomain(const CoerceToDomain *a, const CoerceToDomain *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(resulttype); + COMPARE_SCALAR_FIELD(resulttypmod); + COMPARE_SCALAR_FIELD(resultcollid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCoerceToDomainValue(const CoerceToDomainValue *a, const CoerceToDomainValue *b) +{ + COMPARE_SCALAR_FIELD(typeId); + COMPARE_SCALAR_FIELD(typeMod); + COMPARE_SCALAR_FIELD(collation); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSetToDefault(const SetToDefault *a, const SetToDefault *b) +{ + COMPARE_SCALAR_FIELD(typeId); + COMPARE_SCALAR_FIELD(typeMod); + COMPARE_SCALAR_FIELD(collation); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCurrentOfExpr(const CurrentOfExpr *a, const CurrentOfExpr *b) +{ + COMPARE_SCALAR_FIELD(cvarno); + COMPARE_STRING_FIELD(cursor_name); + COMPARE_SCALAR_FIELD(cursor_param); + + return true; +} + +static bool +_equalNextValueExpr(const NextValueExpr *a, const NextValueExpr *b) +{ + COMPARE_SCALAR_FIELD(seqid); + COMPARE_SCALAR_FIELD(typeId); + + return true; +} + +static bool +_equalInferenceElem(const InferenceElem *a, const InferenceElem *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_SCALAR_FIELD(infercollid); + COMPARE_SCALAR_FIELD(inferopclass); + + return true; +} + +static bool +_equalTargetEntry(const TargetEntry *a, const TargetEntry *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_SCALAR_FIELD(resno); + COMPARE_STRING_FIELD(resname); + COMPARE_SCALAR_FIELD(ressortgroupref); + COMPARE_SCALAR_FIELD(resorigtbl); + COMPARE_SCALAR_FIELD(resorigcol); + COMPARE_SCALAR_FIELD(resjunk); + + return true; +} + +static bool +_equalRangeTblRef(const RangeTblRef *a, const RangeTblRef *b) +{ + COMPARE_SCALAR_FIELD(rtindex); + + return true; +} + +static bool +_equalJoinExpr(const JoinExpr *a, const JoinExpr *b) +{ + COMPARE_SCALAR_FIELD(jointype); + COMPARE_SCALAR_FIELD(isNatural); + COMPARE_NODE_FIELD(larg); + COMPARE_NODE_FIELD(rarg); + COMPARE_NODE_FIELD(usingClause); + COMPARE_NODE_FIELD(join_using_alias); + COMPARE_NODE_FIELD(quals); + COMPARE_NODE_FIELD(alias); + COMPARE_SCALAR_FIELD(rtindex); + + return true; +} + +static bool +_equalFromExpr(const FromExpr *a, const FromExpr *b) +{ + COMPARE_NODE_FIELD(fromlist); + COMPARE_NODE_FIELD(quals); + + return true; +} + +static bool +_equalOnConflictExpr(const OnConflictExpr *a, const OnConflictExpr *b) +{ + COMPARE_SCALAR_FIELD(action); + COMPARE_NODE_FIELD(arbiterElems); + COMPARE_NODE_FIELD(arbiterWhere); + COMPARE_SCALAR_FIELD(constraint); + COMPARE_NODE_FIELD(onConflictSet); + COMPARE_NODE_FIELD(onConflictWhere); + COMPARE_SCALAR_FIELD(exclRelIndex); + COMPARE_NODE_FIELD(exclRelTlist); + + return true; +} + +static bool +_equalQuery(const Query *a, const Query *b) +{ + COMPARE_SCALAR_FIELD(commandType); + COMPARE_SCALAR_FIELD(querySource); + COMPARE_SCALAR_FIELD(canSetTag); + COMPARE_NODE_FIELD(utilityStmt); + COMPARE_SCALAR_FIELD(resultRelation); + COMPARE_SCALAR_FIELD(hasAggs); + COMPARE_SCALAR_FIELD(hasWindowFuncs); + COMPARE_SCALAR_FIELD(hasTargetSRFs); + COMPARE_SCALAR_FIELD(hasSubLinks); + COMPARE_SCALAR_FIELD(hasDistinctOn); + COMPARE_SCALAR_FIELD(hasRecursive); + COMPARE_SCALAR_FIELD(hasModifyingCTE); + COMPARE_SCALAR_FIELD(hasForUpdate); + COMPARE_SCALAR_FIELD(hasRowSecurity); + COMPARE_SCALAR_FIELD(isReturn); + COMPARE_NODE_FIELD(cteList); + COMPARE_NODE_FIELD(rtable); + COMPARE_NODE_FIELD(rteperminfos); + COMPARE_NODE_FIELD(jointree); + COMPARE_NODE_FIELD(mergeActionList); + COMPARE_SCALAR_FIELD(mergeTargetRelation); + COMPARE_NODE_FIELD(mergeJoinCondition); + COMPARE_NODE_FIELD(targetList); + COMPARE_SCALAR_FIELD(override); + COMPARE_NODE_FIELD(onConflict); + COMPARE_NODE_FIELD(returningList); + COMPARE_NODE_FIELD(groupClause); + COMPARE_SCALAR_FIELD(groupDistinct); + COMPARE_NODE_FIELD(groupingSets); + COMPARE_NODE_FIELD(havingQual); + COMPARE_NODE_FIELD(windowClause); + COMPARE_NODE_FIELD(distinctClause); + COMPARE_NODE_FIELD(sortClause); + COMPARE_NODE_FIELD(limitOffset); + COMPARE_NODE_FIELD(limitCount); + COMPARE_SCALAR_FIELD(limitOption); + COMPARE_NODE_FIELD(rowMarks); + COMPARE_NODE_FIELD(setOperations); + COMPARE_NODE_FIELD(constraintDeps); + COMPARE_NODE_FIELD(withCheckOptions); + COMPARE_LOCATION_FIELD(stmt_location); + COMPARE_LOCATION_FIELD(stmt_len); + + return true; +} + +static bool +_equalTypeName(const TypeName *a, const TypeName *b) +{ + COMPARE_NODE_FIELD(names); + COMPARE_SCALAR_FIELD(typeOid); + COMPARE_SCALAR_FIELD(setof); + COMPARE_SCALAR_FIELD(pct_type); + COMPARE_NODE_FIELD(typmods); + COMPARE_SCALAR_FIELD(typemod); + COMPARE_NODE_FIELD(arrayBounds); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalColumnRef(const ColumnRef *a, const ColumnRef *b) +{ + COMPARE_NODE_FIELD(fields); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalParamRef(const ParamRef *a, const ParamRef *b) +{ + COMPARE_SCALAR_FIELD(number); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalA_Expr(const A_Expr *a, const A_Expr *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(name); + COMPARE_NODE_FIELD(lexpr); + COMPARE_NODE_FIELD(rexpr); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalTypeCast(const TypeCast *a, const TypeCast *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(typeName); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCollateClause(const CollateClause *a, const CollateClause *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(collname); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRoleSpec(const RoleSpec *a, const RoleSpec *b) +{ + COMPARE_SCALAR_FIELD(roletype); + COMPARE_STRING_FIELD(rolename); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalFuncCall(const FuncCall *a, const FuncCall *b) +{ + COMPARE_NODE_FIELD(funcname); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(agg_order); + COMPARE_NODE_FIELD(agg_filter); + COMPARE_NODE_FIELD(over); + COMPARE_SCALAR_FIELD(agg_within_group); + COMPARE_SCALAR_FIELD(agg_star); + COMPARE_SCALAR_FIELD(agg_distinct); + COMPARE_SCALAR_FIELD(func_variadic); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalA_Star(const A_Star *a, const A_Star *b) +{ + + return true; +} + +static bool +_equalA_Indices(const A_Indices *a, const A_Indices *b) +{ + COMPARE_SCALAR_FIELD(is_slice); + COMPARE_NODE_FIELD(lidx); + COMPARE_NODE_FIELD(uidx); + + return true; +} + +static bool +_equalA_Indirection(const A_Indirection *a, const A_Indirection *b) +{ + COMPARE_NODE_FIELD(arg); + COMPARE_NODE_FIELD(indirection); + + return true; +} + +static bool +_equalA_ArrayExpr(const A_ArrayExpr *a, const A_ArrayExpr *b) +{ + COMPARE_NODE_FIELD(elements); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalResTarget(const ResTarget *a, const ResTarget *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(indirection); + COMPARE_NODE_FIELD(val); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalMultiAssignRef(const MultiAssignRef *a, const MultiAssignRef *b) +{ + COMPARE_NODE_FIELD(source); + COMPARE_SCALAR_FIELD(colno); + COMPARE_SCALAR_FIELD(ncolumns); + + return true; +} + +static bool +_equalSortBy(const SortBy *a, const SortBy *b) +{ + COMPARE_NODE_FIELD(node); + COMPARE_SCALAR_FIELD(sortby_dir); + COMPARE_SCALAR_FIELD(sortby_nulls); + COMPARE_NODE_FIELD(useOp); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalWindowDef(const WindowDef *a, const WindowDef *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_STRING_FIELD(refname); + COMPARE_NODE_FIELD(partitionClause); + COMPARE_NODE_FIELD(orderClause); + COMPARE_SCALAR_FIELD(frameOptions); + COMPARE_NODE_FIELD(startOffset); + COMPARE_NODE_FIELD(endOffset); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRangeSubselect(const RangeSubselect *a, const RangeSubselect *b) +{ + COMPARE_SCALAR_FIELD(lateral); + COMPARE_NODE_FIELD(subquery); + COMPARE_NODE_FIELD(alias); + + return true; +} + +static bool +_equalRangeFunction(const RangeFunction *a, const RangeFunction *b) +{ + COMPARE_SCALAR_FIELD(lateral); + COMPARE_SCALAR_FIELD(ordinality); + COMPARE_SCALAR_FIELD(is_rowsfrom); + COMPARE_NODE_FIELD(functions); + COMPARE_NODE_FIELD(alias); + COMPARE_NODE_FIELD(coldeflist); + + return true; +} + +static bool +_equalRangeTableFunc(const RangeTableFunc *a, const RangeTableFunc *b) +{ + COMPARE_SCALAR_FIELD(lateral); + COMPARE_NODE_FIELD(docexpr); + COMPARE_NODE_FIELD(rowexpr); + COMPARE_NODE_FIELD(namespaces); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(alias); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRangeTableFuncCol(const RangeTableFuncCol *a, const RangeTableFuncCol *b) +{ + COMPARE_STRING_FIELD(colname); + COMPARE_NODE_FIELD(typeName); + COMPARE_SCALAR_FIELD(for_ordinality); + COMPARE_SCALAR_FIELD(is_not_null); + COMPARE_NODE_FIELD(colexpr); + COMPARE_NODE_FIELD(coldefexpr); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalRangeTableSample(const RangeTableSample *a, const RangeTableSample *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(method); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(repeatable); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalColumnDef(const ColumnDef *a, const ColumnDef *b) +{ + COMPARE_STRING_FIELD(colname); + COMPARE_NODE_FIELD(typeName); + COMPARE_STRING_FIELD(compression); + COMPARE_SCALAR_FIELD(inhcount); + COMPARE_SCALAR_FIELD(is_local); + COMPARE_SCALAR_FIELD(is_not_null); + COMPARE_SCALAR_FIELD(is_from_type); + COMPARE_SCALAR_FIELD(storage); + COMPARE_STRING_FIELD(storage_name); + COMPARE_NODE_FIELD(raw_default); + COMPARE_NODE_FIELD(cooked_default); + COMPARE_SCALAR_FIELD(identity); + COMPARE_NODE_FIELD(identitySequence); + COMPARE_SCALAR_FIELD(generated); + COMPARE_NODE_FIELD(collClause); + COMPARE_SCALAR_FIELD(collOid); + COMPARE_NODE_FIELD(constraints); + COMPARE_NODE_FIELD(fdwoptions); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalTableLikeClause(const TableLikeClause *a, const TableLikeClause *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_SCALAR_FIELD(options); + COMPARE_SCALAR_FIELD(relationOid); + + return true; +} + +static bool +_equalIndexElem(const IndexElem *a, const IndexElem *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(expr); + COMPARE_STRING_FIELD(indexcolname); + COMPARE_NODE_FIELD(collation); + COMPARE_NODE_FIELD(opclass); + COMPARE_NODE_FIELD(opclassopts); + COMPARE_SCALAR_FIELD(ordering); + COMPARE_SCALAR_FIELD(nulls_ordering); + + return true; +} + +static bool +_equalDefElem(const DefElem *a, const DefElem *b) +{ + COMPARE_STRING_FIELD(defnamespace); + COMPARE_STRING_FIELD(defname); + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(defaction); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalLockingClause(const LockingClause *a, const LockingClause *b) +{ + COMPARE_NODE_FIELD(lockedRels); + COMPARE_SCALAR_FIELD(strength); + COMPARE_SCALAR_FIELD(waitPolicy); + + return true; +} + +static bool +_equalXmlSerialize(const XmlSerialize *a, const XmlSerialize *b) +{ + COMPARE_SCALAR_FIELD(xmloption); + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(typeName); + COMPARE_SCALAR_FIELD(indent); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalPartitionElem(const PartitionElem *a, const PartitionElem *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(collation); + COMPARE_NODE_FIELD(opclass); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalPartitionSpec(const PartitionSpec *a, const PartitionSpec *b) +{ + COMPARE_SCALAR_FIELD(strategy); + COMPARE_NODE_FIELD(partParams); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalPartitionBoundSpec(const PartitionBoundSpec *a, const PartitionBoundSpec *b) +{ + COMPARE_SCALAR_FIELD(strategy); + COMPARE_SCALAR_FIELD(is_default); + COMPARE_SCALAR_FIELD(modulus); + COMPARE_SCALAR_FIELD(remainder); + COMPARE_NODE_FIELD(listdatums); + COMPARE_NODE_FIELD(lowerdatums); + COMPARE_NODE_FIELD(upperdatums); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalPartitionRangeDatum(const PartitionRangeDatum *a, const PartitionRangeDatum *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(value); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalSinglePartitionSpec(const SinglePartitionSpec *a, const SinglePartitionSpec *b) +{ + + return true; +} + +static bool +_equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b) +{ + COMPARE_NODE_FIELD(name); + COMPARE_NODE_FIELD(bound); + COMPARE_SCALAR_FIELD(concurrent); + + return true; +} + +static bool +_equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b) +{ + COMPARE_NODE_FIELD(alias); + COMPARE_NODE_FIELD(eref); + COMPARE_SCALAR_FIELD(rtekind); + COMPARE_SCALAR_FIELD(relid); + COMPARE_SCALAR_FIELD(inh); + COMPARE_SCALAR_FIELD(relkind); + COMPARE_SCALAR_FIELD(rellockmode); + COMPARE_SCALAR_FIELD(perminfoindex); + COMPARE_NODE_FIELD(tablesample); + COMPARE_NODE_FIELD(subquery); + COMPARE_SCALAR_FIELD(security_barrier); + COMPARE_SCALAR_FIELD(jointype); + COMPARE_SCALAR_FIELD(joinmergedcols); + COMPARE_NODE_FIELD(joinaliasvars); + COMPARE_NODE_FIELD(joinleftcols); + COMPARE_NODE_FIELD(joinrightcols); + COMPARE_NODE_FIELD(join_using_alias); + COMPARE_NODE_FIELD(functions); + COMPARE_SCALAR_FIELD(funcordinality); + COMPARE_NODE_FIELD(tablefunc); + COMPARE_NODE_FIELD(values_lists); + COMPARE_STRING_FIELD(ctename); + COMPARE_SCALAR_FIELD(ctelevelsup); + COMPARE_SCALAR_FIELD(self_reference); + COMPARE_NODE_FIELD(coltypes); + COMPARE_NODE_FIELD(coltypmods); + COMPARE_NODE_FIELD(colcollations); + COMPARE_STRING_FIELD(enrname); + COMPARE_SCALAR_FIELD(enrtuples); + COMPARE_SCALAR_FIELD(lateral); + COMPARE_SCALAR_FIELD(inFromCl); + COMPARE_NODE_FIELD(securityQuals); + + return true; +} + +static bool +_equalRTEPermissionInfo(const RTEPermissionInfo *a, const RTEPermissionInfo *b) +{ + COMPARE_SCALAR_FIELD(relid); + COMPARE_SCALAR_FIELD(inh); + COMPARE_SCALAR_FIELD(requiredPerms); + COMPARE_SCALAR_FIELD(checkAsUser); + COMPARE_BITMAPSET_FIELD(selectedCols); + COMPARE_BITMAPSET_FIELD(insertedCols); + COMPARE_BITMAPSET_FIELD(updatedCols); + + return true; +} + +static bool +_equalRangeTblFunction(const RangeTblFunction *a, const RangeTblFunction *b) +{ + COMPARE_NODE_FIELD(funcexpr); + COMPARE_SCALAR_FIELD(funccolcount); + COMPARE_NODE_FIELD(funccolnames); + COMPARE_NODE_FIELD(funccoltypes); + COMPARE_NODE_FIELD(funccoltypmods); + COMPARE_NODE_FIELD(funccolcollations); + COMPARE_BITMAPSET_FIELD(funcparams); + + return true; +} + +static bool +_equalTableSampleClause(const TableSampleClause *a, const TableSampleClause *b) +{ + COMPARE_SCALAR_FIELD(tsmhandler); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(repeatable); + + return true; +} + +static bool +_equalWithCheckOption(const WithCheckOption *a, const WithCheckOption *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_STRING_FIELD(relname); + COMPARE_STRING_FIELD(polname); + COMPARE_NODE_FIELD(qual); + COMPARE_SCALAR_FIELD(cascaded); + + return true; +} + +static bool +_equalSortGroupClause(const SortGroupClause *a, const SortGroupClause *b) +{ + COMPARE_SCALAR_FIELD(tleSortGroupRef); + COMPARE_SCALAR_FIELD(eqop); + COMPARE_SCALAR_FIELD(sortop); + COMPARE_SCALAR_FIELD(nulls_first); + COMPARE_SCALAR_FIELD(hashable); + + return true; +} + +static bool +_equalGroupingSet(const GroupingSet *a, const GroupingSet *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(content); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalWindowClause(const WindowClause *a, const WindowClause *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_STRING_FIELD(refname); + COMPARE_NODE_FIELD(partitionClause); + COMPARE_NODE_FIELD(orderClause); + COMPARE_SCALAR_FIELD(frameOptions); + COMPARE_NODE_FIELD(startOffset); + COMPARE_NODE_FIELD(endOffset); + COMPARE_SCALAR_FIELD(startInRangeFunc); + COMPARE_SCALAR_FIELD(endInRangeFunc); + COMPARE_SCALAR_FIELD(inRangeColl); + COMPARE_SCALAR_FIELD(inRangeAsc); + COMPARE_SCALAR_FIELD(inRangeNullsFirst); + COMPARE_SCALAR_FIELD(winref); + COMPARE_SCALAR_FIELD(copiedOrder); + + return true; +} + +static bool +_equalRowMarkClause(const RowMarkClause *a, const RowMarkClause *b) +{ + COMPARE_SCALAR_FIELD(rti); + COMPARE_SCALAR_FIELD(strength); + COMPARE_SCALAR_FIELD(waitPolicy); + COMPARE_SCALAR_FIELD(pushedDown); + + return true; +} + +static bool +_equalWithClause(const WithClause *a, const WithClause *b) +{ + COMPARE_NODE_FIELD(ctes); + COMPARE_SCALAR_FIELD(recursive); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalInferClause(const InferClause *a, const InferClause *b) +{ + COMPARE_NODE_FIELD(indexElems); + COMPARE_NODE_FIELD(whereClause); + COMPARE_STRING_FIELD(conname); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalOnConflictClause(const OnConflictClause *a, const OnConflictClause *b) +{ + COMPARE_SCALAR_FIELD(action); + COMPARE_NODE_FIELD(infer); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(whereClause); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCTESearchClause(const CTESearchClause *a, const CTESearchClause *b) +{ + COMPARE_NODE_FIELD(search_col_list); + COMPARE_SCALAR_FIELD(search_breadth_first); + COMPARE_STRING_FIELD(search_seq_column); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCTECycleClause(const CTECycleClause *a, const CTECycleClause *b) +{ + COMPARE_NODE_FIELD(cycle_col_list); + COMPARE_STRING_FIELD(cycle_mark_column); + COMPARE_NODE_FIELD(cycle_mark_value); + COMPARE_NODE_FIELD(cycle_mark_default); + COMPARE_STRING_FIELD(cycle_path_column); + COMPARE_LOCATION_FIELD(location); + COMPARE_SCALAR_FIELD(cycle_mark_type); + COMPARE_SCALAR_FIELD(cycle_mark_typmod); + COMPARE_SCALAR_FIELD(cycle_mark_collation); + COMPARE_SCALAR_FIELD(cycle_mark_neop); + + return true; +} + +static bool +_equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b) +{ + COMPARE_STRING_FIELD(ctename); + COMPARE_NODE_FIELD(aliascolnames); + COMPARE_SCALAR_FIELD(ctematerialized); + COMPARE_NODE_FIELD(ctequery); + COMPARE_NODE_FIELD(search_clause); + COMPARE_NODE_FIELD(cycle_clause); + COMPARE_LOCATION_FIELD(location); + COMPARE_SCALAR_FIELD(cterecursive); + COMPARE_SCALAR_FIELD(cterefcount); + COMPARE_NODE_FIELD(ctecolnames); + COMPARE_NODE_FIELD(ctecoltypes); + COMPARE_NODE_FIELD(ctecoltypmods); + COMPARE_NODE_FIELD(ctecolcollations); + + return true; +} + +static bool +_equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b) +{ + COMPARE_SCALAR_FIELD(matchKind); + COMPARE_SCALAR_FIELD(commandType); + COMPARE_SCALAR_FIELD(override); + COMPARE_NODE_FIELD(condition); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(values); + + return true; +} + +static bool +_equalTriggerTransition(const TriggerTransition *a, const TriggerTransition *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(isNew); + COMPARE_SCALAR_FIELD(isTable); + + return true; +} + +static bool +_equalJsonOutput(const JsonOutput *a, const JsonOutput *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(returning); + + return true; +} + +static bool +_equalJsonArgument(const JsonArgument *a, const JsonArgument *b) +{ + COMPARE_NODE_FIELD(val); + COMPARE_STRING_FIELD(name); + + return true; +} + +static bool +_equalJsonFuncExpr(const JsonFuncExpr *a, const JsonFuncExpr *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_STRING_FIELD(column_name); + COMPARE_NODE_FIELD(context_item); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(passing); + COMPARE_NODE_FIELD(output); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(quotes); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTablePathSpec(const JsonTablePathSpec *a, const JsonTablePathSpec *b) +{ + COMPARE_NODE_FIELD(string); + COMPARE_STRING_FIELD(name); + COMPARE_LOCATION_FIELD(name_location); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTable(const JsonTable *a, const JsonTable *b) +{ + COMPARE_NODE_FIELD(context_item); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(passing); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(on_error); + COMPARE_NODE_FIELD(alias); + COMPARE_SCALAR_FIELD(lateral); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonTableColumn(const JsonTableColumn *a, const JsonTableColumn *b) +{ + COMPARE_SCALAR_FIELD(coltype); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(pathspec); + COMPARE_NODE_FIELD(format); + COMPARE_SCALAR_FIELD(wrapper); + COMPARE_SCALAR_FIELD(quotes); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(on_empty); + COMPARE_NODE_FIELD(on_error); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonKeyValue(const JsonKeyValue *a, const JsonKeyValue *b) +{ + COMPARE_NODE_FIELD(key); + COMPARE_NODE_FIELD(value); + + return true; +} + +static bool +_equalJsonParseExpr(const JsonParseExpr *a, const JsonParseExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_SCALAR_FIELD(unique_keys); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonScalarExpr(const JsonScalarExpr *a, const JsonScalarExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonSerializeExpr(const JsonSerializeExpr *a, const JsonSerializeExpr *b) +{ + COMPARE_NODE_FIELD(expr); + COMPARE_NODE_FIELD(output); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonObjectConstructor(const JsonObjectConstructor *a, const JsonObjectConstructor *b) +{ + COMPARE_NODE_FIELD(exprs); + COMPARE_NODE_FIELD(output); + COMPARE_SCALAR_FIELD(absent_on_null); + COMPARE_SCALAR_FIELD(unique); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonArrayConstructor(const JsonArrayConstructor *a, const JsonArrayConstructor *b) +{ + COMPARE_NODE_FIELD(exprs); + COMPARE_NODE_FIELD(output); + COMPARE_SCALAR_FIELD(absent_on_null); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonArrayQueryConstructor(const JsonArrayQueryConstructor *a, const JsonArrayQueryConstructor *b) +{ + COMPARE_NODE_FIELD(query); + COMPARE_NODE_FIELD(output); + COMPARE_NODE_FIELD(format); + COMPARE_SCALAR_FIELD(absent_on_null); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonAggConstructor(const JsonAggConstructor *a, const JsonAggConstructor *b) +{ + COMPARE_NODE_FIELD(output); + COMPARE_NODE_FIELD(agg_filter); + COMPARE_NODE_FIELD(agg_order); + COMPARE_NODE_FIELD(over); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalJsonObjectAgg(const JsonObjectAgg *a, const JsonObjectAgg *b) +{ + COMPARE_NODE_FIELD(constructor); + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(absent_on_null); + COMPARE_SCALAR_FIELD(unique); + + return true; +} + +static bool +_equalJsonArrayAgg(const JsonArrayAgg *a, const JsonArrayAgg *b) +{ + COMPARE_NODE_FIELD(constructor); + COMPARE_NODE_FIELD(arg); + COMPARE_SCALAR_FIELD(absent_on_null); + + return true; +} + +static bool +_equalRawStmt(const RawStmt *a, const RawStmt *b) +{ + COMPARE_NODE_FIELD(stmt); + COMPARE_LOCATION_FIELD(stmt_location); + COMPARE_LOCATION_FIELD(stmt_len); + + return true; +} + +static bool +_equalInsertStmt(const InsertStmt *a, const InsertStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(cols); + COMPARE_NODE_FIELD(selectStmt); + COMPARE_NODE_FIELD(onConflictClause); + COMPARE_NODE_FIELD(returningList); + COMPARE_NODE_FIELD(withClause); + COMPARE_SCALAR_FIELD(override); + + return true; +} + +static bool +_equalDeleteStmt(const DeleteStmt *a, const DeleteStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(usingClause); + COMPARE_NODE_FIELD(whereClause); + COMPARE_NODE_FIELD(returningList); + COMPARE_NODE_FIELD(withClause); + + return true; +} + +static bool +_equalUpdateStmt(const UpdateStmt *a, const UpdateStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(whereClause); + COMPARE_NODE_FIELD(fromClause); + COMPARE_NODE_FIELD(returningList); + COMPARE_NODE_FIELD(withClause); + + return true; +} + +static bool +_equalMergeStmt(const MergeStmt *a, const MergeStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(sourceRelation); + COMPARE_NODE_FIELD(joinCondition); + COMPARE_NODE_FIELD(mergeWhenClauses); + COMPARE_NODE_FIELD(returningList); + COMPARE_NODE_FIELD(withClause); + + return true; +} + +static bool +_equalSelectStmt(const SelectStmt *a, const SelectStmt *b) +{ + COMPARE_NODE_FIELD(distinctClause); + COMPARE_NODE_FIELD(intoClause); + COMPARE_NODE_FIELD(targetList); + COMPARE_NODE_FIELD(fromClause); + COMPARE_NODE_FIELD(whereClause); + COMPARE_NODE_FIELD(groupClause); + COMPARE_SCALAR_FIELD(groupDistinct); + COMPARE_NODE_FIELD(havingClause); + COMPARE_NODE_FIELD(windowClause); + COMPARE_NODE_FIELD(valuesLists); + COMPARE_NODE_FIELD(sortClause); + COMPARE_NODE_FIELD(limitOffset); + COMPARE_NODE_FIELD(limitCount); + COMPARE_SCALAR_FIELD(limitOption); + COMPARE_NODE_FIELD(lockingClause); + COMPARE_NODE_FIELD(withClause); + COMPARE_SCALAR_FIELD(op); + COMPARE_SCALAR_FIELD(all); + COMPARE_NODE_FIELD(larg); + COMPARE_NODE_FIELD(rarg); + + return true; +} + +static bool +_equalSetOperationStmt(const SetOperationStmt *a, const SetOperationStmt *b) +{ + COMPARE_SCALAR_FIELD(op); + COMPARE_SCALAR_FIELD(all); + COMPARE_NODE_FIELD(larg); + COMPARE_NODE_FIELD(rarg); + COMPARE_NODE_FIELD(colTypes); + COMPARE_NODE_FIELD(colTypmods); + COMPARE_NODE_FIELD(colCollations); + COMPARE_NODE_FIELD(groupClauses); + + return true; +} + +static bool +_equalReturnStmt(const ReturnStmt *a, const ReturnStmt *b) +{ + COMPARE_NODE_FIELD(returnval); + + return true; +} + +static bool +_equalPLAssignStmt(const PLAssignStmt *a, const PLAssignStmt *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(indirection); + COMPARE_SCALAR_FIELD(nnames); + COMPARE_NODE_FIELD(val); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCreateSchemaStmt(const CreateSchemaStmt *a, const CreateSchemaStmt *b) +{ + COMPARE_STRING_FIELD(schemaname); + COMPARE_NODE_FIELD(authrole); + COMPARE_NODE_FIELD(schemaElts); + COMPARE_SCALAR_FIELD(if_not_exists); + + return true; +} + +static bool +_equalAlterTableStmt(const AlterTableStmt *a, const AlterTableStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(cmds); + COMPARE_SCALAR_FIELD(objtype); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalReplicaIdentityStmt(const ReplicaIdentityStmt *a, const ReplicaIdentityStmt *b) +{ + COMPARE_SCALAR_FIELD(identity_type); + COMPARE_STRING_FIELD(name); + + return true; +} + +static bool +_equalAlterTableCmd(const AlterTableCmd *a, const AlterTableCmd *b) +{ + COMPARE_SCALAR_FIELD(subtype); + COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(num); + COMPARE_NODE_FIELD(newowner); + COMPARE_NODE_FIELD(def); + COMPARE_SCALAR_FIELD(behavior); + COMPARE_SCALAR_FIELD(missing_ok); + COMPARE_SCALAR_FIELD(recurse); + + return true; +} + +static bool +_equalAlterCollationStmt(const AlterCollationStmt *a, const AlterCollationStmt *b) +{ + COMPARE_NODE_FIELD(collname); + + return true; +} + +static bool +_equalAlterDomainStmt(const AlterDomainStmt *a, const AlterDomainStmt *b) +{ + COMPARE_SCALAR_FIELD(subtype); + COMPARE_NODE_FIELD(typeName); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(def); + COMPARE_SCALAR_FIELD(behavior); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalGrantStmt(const GrantStmt *a, const GrantStmt *b) +{ + COMPARE_SCALAR_FIELD(is_grant); + COMPARE_SCALAR_FIELD(targtype); + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(objects); + COMPARE_NODE_FIELD(privileges); + COMPARE_NODE_FIELD(grantees); + COMPARE_SCALAR_FIELD(grant_option); + COMPARE_NODE_FIELD(grantor); + COMPARE_SCALAR_FIELD(behavior); + + return true; +} + +static bool +_equalObjectWithArgs(const ObjectWithArgs *a, const ObjectWithArgs *b) +{ + COMPARE_NODE_FIELD(objname); + COMPARE_NODE_FIELD(objargs); + COMPARE_NODE_FIELD(objfuncargs); + COMPARE_SCALAR_FIELD(args_unspecified); + + return true; +} + +static bool +_equalAccessPriv(const AccessPriv *a, const AccessPriv *b) +{ + COMPARE_STRING_FIELD(priv_name); + COMPARE_NODE_FIELD(cols); + + return true; +} + +static bool +_equalGrantRoleStmt(const GrantRoleStmt *a, const GrantRoleStmt *b) +{ + COMPARE_NODE_FIELD(granted_roles); + COMPARE_NODE_FIELD(grantee_roles); + COMPARE_SCALAR_FIELD(is_grant); + COMPARE_NODE_FIELD(opt); + COMPARE_NODE_FIELD(grantor); + COMPARE_SCALAR_FIELD(behavior); + + return true; +} + +static bool +_equalAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *a, const AlterDefaultPrivilegesStmt *b) +{ + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(action); + + return true; +} + +static bool +_equalCopyStmt(const CopyStmt *a, const CopyStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(query); + COMPARE_NODE_FIELD(attlist); + COMPARE_SCALAR_FIELD(is_from); + COMPARE_SCALAR_FIELD(is_program); + COMPARE_STRING_FIELD(filename); + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(whereClause); + + return true; +} + +static bool +_equalVariableSetStmt(const VariableSetStmt *a, const VariableSetStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(is_local); + + return true; +} + +static bool +_equalVariableShowStmt(const VariableShowStmt *a, const VariableShowStmt *b) +{ + COMPARE_STRING_FIELD(name); + + return true; +} + +static bool +_equalCreateStmt(const CreateStmt *a, const CreateStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(tableElts); + COMPARE_NODE_FIELD(inhRelations); + COMPARE_NODE_FIELD(partbound); + COMPARE_NODE_FIELD(partspec); + COMPARE_NODE_FIELD(ofTypename); + COMPARE_NODE_FIELD(constraints); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(oncommit); + COMPARE_STRING_FIELD(tablespacename); + COMPARE_STRING_FIELD(accessMethod); + COMPARE_SCALAR_FIELD(if_not_exists); + + return true; +} + +static bool +_equalConstraint(const Constraint *a, const Constraint *b) +{ + COMPARE_SCALAR_FIELD(contype); + COMPARE_STRING_FIELD(conname); + COMPARE_SCALAR_FIELD(deferrable); + COMPARE_SCALAR_FIELD(initdeferred); + COMPARE_SCALAR_FIELD(skip_validation); + COMPARE_SCALAR_FIELD(initially_valid); + COMPARE_SCALAR_FIELD(is_no_inherit); + COMPARE_NODE_FIELD(raw_expr); + COMPARE_STRING_FIELD(cooked_expr); + COMPARE_SCALAR_FIELD(generated_when); + COMPARE_SCALAR_FIELD(inhcount); + COMPARE_SCALAR_FIELD(nulls_not_distinct); + COMPARE_NODE_FIELD(keys); + COMPARE_NODE_FIELD(including); + COMPARE_NODE_FIELD(exclusions); + COMPARE_NODE_FIELD(options); + COMPARE_STRING_FIELD(indexname); + COMPARE_STRING_FIELD(indexspace); + COMPARE_SCALAR_FIELD(reset_default_tblspc); + COMPARE_STRING_FIELD(access_method); + COMPARE_NODE_FIELD(where_clause); + COMPARE_NODE_FIELD(pktable); + COMPARE_NODE_FIELD(fk_attrs); + COMPARE_NODE_FIELD(pk_attrs); + COMPARE_SCALAR_FIELD(fk_matchtype); + COMPARE_SCALAR_FIELD(fk_upd_action); + COMPARE_SCALAR_FIELD(fk_del_action); + COMPARE_NODE_FIELD(fk_del_set_cols); + COMPARE_NODE_FIELD(old_conpfeqop); + COMPARE_SCALAR_FIELD(old_pktable_oid); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCreateTableSpaceStmt(const CreateTableSpaceStmt *a, const CreateTableSpaceStmt *b) +{ + COMPARE_STRING_FIELD(tablespacename); + COMPARE_NODE_FIELD(owner); + COMPARE_STRING_FIELD(location); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalDropTableSpaceStmt(const DropTableSpaceStmt *a, const DropTableSpaceStmt *b) +{ + COMPARE_STRING_FIELD(tablespacename); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *a, const AlterTableSpaceOptionsStmt *b) +{ + COMPARE_STRING_FIELD(tablespacename); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(isReset); + + return true; +} + +static bool +_equalAlterTableMoveAllStmt(const AlterTableMoveAllStmt *a, const AlterTableMoveAllStmt *b) +{ + COMPARE_STRING_FIELD(orig_tablespacename); + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(roles); + COMPARE_STRING_FIELD(new_tablespacename); + COMPARE_SCALAR_FIELD(nowait); + + return true; +} + +static bool +_equalCreateExtensionStmt(const CreateExtensionStmt *a, const CreateExtensionStmt *b) +{ + COMPARE_STRING_FIELD(extname); + COMPARE_SCALAR_FIELD(if_not_exists); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterExtensionStmt(const AlterExtensionStmt *a, const AlterExtensionStmt *b) +{ + COMPARE_STRING_FIELD(extname); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterExtensionContentsStmt(const AlterExtensionContentsStmt *a, const AlterExtensionContentsStmt *b) +{ + COMPARE_STRING_FIELD(extname); + COMPARE_SCALAR_FIELD(action); + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(object); + + return true; +} + +static bool +_equalCreateFdwStmt(const CreateFdwStmt *a, const CreateFdwStmt *b) +{ + COMPARE_STRING_FIELD(fdwname); + COMPARE_NODE_FIELD(func_options); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterFdwStmt(const AlterFdwStmt *a, const AlterFdwStmt *b) +{ + COMPARE_STRING_FIELD(fdwname); + COMPARE_NODE_FIELD(func_options); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalCreateForeignServerStmt(const CreateForeignServerStmt *a, const CreateForeignServerStmt *b) +{ + COMPARE_STRING_FIELD(servername); + COMPARE_STRING_FIELD(servertype); + COMPARE_STRING_FIELD(version); + COMPARE_STRING_FIELD(fdwname); + COMPARE_SCALAR_FIELD(if_not_exists); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterForeignServerStmt(const AlterForeignServerStmt *a, const AlterForeignServerStmt *b) +{ + COMPARE_STRING_FIELD(servername); + COMPARE_STRING_FIELD(version); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(has_version); + + return true; +} + +static bool +_equalCreateForeignTableStmt(const CreateForeignTableStmt *a, const CreateForeignTableStmt *b) +{ + COMPARE_NODE_FIELD(base.relation); + COMPARE_NODE_FIELD(base.tableElts); + COMPARE_NODE_FIELD(base.inhRelations); + COMPARE_NODE_FIELD(base.partbound); + COMPARE_NODE_FIELD(base.partspec); + COMPARE_NODE_FIELD(base.ofTypename); + COMPARE_NODE_FIELD(base.constraints); + COMPARE_NODE_FIELD(base.options); + COMPARE_SCALAR_FIELD(base.oncommit); + COMPARE_STRING_FIELD(base.tablespacename); + COMPARE_STRING_FIELD(base.accessMethod); + COMPARE_SCALAR_FIELD(base.if_not_exists); + COMPARE_STRING_FIELD(servername); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalCreateUserMappingStmt(const CreateUserMappingStmt *a, const CreateUserMappingStmt *b) +{ + COMPARE_NODE_FIELD(user); + COMPARE_STRING_FIELD(servername); + COMPARE_SCALAR_FIELD(if_not_exists); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterUserMappingStmt(const AlterUserMappingStmt *a, const AlterUserMappingStmt *b) +{ + COMPARE_NODE_FIELD(user); + COMPARE_STRING_FIELD(servername); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalDropUserMappingStmt(const DropUserMappingStmt *a, const DropUserMappingStmt *b) +{ + COMPARE_NODE_FIELD(user); + COMPARE_STRING_FIELD(servername); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalImportForeignSchemaStmt(const ImportForeignSchemaStmt *a, const ImportForeignSchemaStmt *b) +{ + COMPARE_STRING_FIELD(server_name); + COMPARE_STRING_FIELD(remote_schema); + COMPARE_STRING_FIELD(local_schema); + COMPARE_SCALAR_FIELD(list_type); + COMPARE_NODE_FIELD(table_list); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalCreatePolicyStmt(const CreatePolicyStmt *a, const CreatePolicyStmt *b) +{ + COMPARE_STRING_FIELD(policy_name); + COMPARE_NODE_FIELD(table); + COMPARE_STRING_FIELD(cmd_name); + COMPARE_SCALAR_FIELD(permissive); + COMPARE_NODE_FIELD(roles); + COMPARE_NODE_FIELD(qual); + COMPARE_NODE_FIELD(with_check); + + return true; +} + +static bool +_equalAlterPolicyStmt(const AlterPolicyStmt *a, const AlterPolicyStmt *b) +{ + COMPARE_STRING_FIELD(policy_name); + COMPARE_NODE_FIELD(table); + COMPARE_NODE_FIELD(roles); + COMPARE_NODE_FIELD(qual); + COMPARE_NODE_FIELD(with_check); + + return true; +} + +static bool +_equalCreateAmStmt(const CreateAmStmt *a, const CreateAmStmt *b) +{ + COMPARE_STRING_FIELD(amname); + COMPARE_NODE_FIELD(handler_name); + COMPARE_SCALAR_FIELD(amtype); + + return true; +} + +static bool +_equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b) +{ + COMPARE_SCALAR_FIELD(replace); + COMPARE_SCALAR_FIELD(isconstraint); + COMPARE_STRING_FIELD(trigname); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(funcname); + COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(row); + COMPARE_SCALAR_FIELD(timing); + COMPARE_SCALAR_FIELD(events); + COMPARE_NODE_FIELD(columns); + COMPARE_NODE_FIELD(whenClause); + COMPARE_NODE_FIELD(transitionRels); + COMPARE_SCALAR_FIELD(deferrable); + COMPARE_SCALAR_FIELD(initdeferred); + COMPARE_NODE_FIELD(constrrel); + + return true; +} + +static bool +_equalCreateEventTrigStmt(const CreateEventTrigStmt *a, const CreateEventTrigStmt *b) +{ + COMPARE_STRING_FIELD(trigname); + COMPARE_STRING_FIELD(eventname); + COMPARE_NODE_FIELD(whenclause); + COMPARE_NODE_FIELD(funcname); + + return true; +} + +static bool +_equalAlterEventTrigStmt(const AlterEventTrigStmt *a, const AlterEventTrigStmt *b) +{ + COMPARE_STRING_FIELD(trigname); + COMPARE_SCALAR_FIELD(tgenabled); + + return true; +} + +static bool +_equalCreatePLangStmt(const CreatePLangStmt *a, const CreatePLangStmt *b) +{ + COMPARE_SCALAR_FIELD(replace); + COMPARE_STRING_FIELD(plname); + COMPARE_NODE_FIELD(plhandler); + COMPARE_NODE_FIELD(plinline); + COMPARE_NODE_FIELD(plvalidator); + COMPARE_SCALAR_FIELD(pltrusted); + + return true; +} + +static bool +_equalCreateRoleStmt(const CreateRoleStmt *a, const CreateRoleStmt *b) +{ + COMPARE_SCALAR_FIELD(stmt_type); + COMPARE_STRING_FIELD(role); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterRoleStmt(const AlterRoleStmt *a, const AlterRoleStmt *b) +{ + COMPARE_NODE_FIELD(role); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(action); + + return true; +} + +static bool +_equalAlterRoleSetStmt(const AlterRoleSetStmt *a, const AlterRoleSetStmt *b) +{ + COMPARE_NODE_FIELD(role); + COMPARE_STRING_FIELD(database); + COMPARE_NODE_FIELD(setstmt); + + return true; +} + +static bool +_equalDropRoleStmt(const DropRoleStmt *a, const DropRoleStmt *b) +{ + COMPARE_NODE_FIELD(roles); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalCreateSeqStmt(const CreateSeqStmt *a, const CreateSeqStmt *b) +{ + COMPARE_NODE_FIELD(sequence); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(ownerId); + COMPARE_SCALAR_FIELD(for_identity); + COMPARE_SCALAR_FIELD(if_not_exists); + + return true; +} + +static bool +_equalAlterSeqStmt(const AlterSeqStmt *a, const AlterSeqStmt *b) +{ + COMPARE_NODE_FIELD(sequence); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(for_identity); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalDefineStmt(const DefineStmt *a, const DefineStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_SCALAR_FIELD(oldstyle); + COMPARE_NODE_FIELD(defnames); + COMPARE_NODE_FIELD(args); + COMPARE_NODE_FIELD(definition); + COMPARE_SCALAR_FIELD(if_not_exists); + COMPARE_SCALAR_FIELD(replace); + + return true; +} + +static bool +_equalCreateDomainStmt(const CreateDomainStmt *a, const CreateDomainStmt *b) +{ + COMPARE_NODE_FIELD(domainname); + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(collClause); + COMPARE_NODE_FIELD(constraints); + + return true; +} + +static bool +_equalCreateOpClassStmt(const CreateOpClassStmt *a, const CreateOpClassStmt *b) +{ + COMPARE_NODE_FIELD(opclassname); + COMPARE_NODE_FIELD(opfamilyname); + COMPARE_STRING_FIELD(amname); + COMPARE_NODE_FIELD(datatype); + COMPARE_NODE_FIELD(items); + COMPARE_SCALAR_FIELD(isDefault); + + return true; +} + +static bool +_equalCreateOpClassItem(const CreateOpClassItem *a, const CreateOpClassItem *b) +{ + COMPARE_SCALAR_FIELD(itemtype); + COMPARE_NODE_FIELD(name); + COMPARE_SCALAR_FIELD(number); + COMPARE_NODE_FIELD(order_family); + COMPARE_NODE_FIELD(class_args); + COMPARE_NODE_FIELD(storedtype); + + return true; +} + +static bool +_equalCreateOpFamilyStmt(const CreateOpFamilyStmt *a, const CreateOpFamilyStmt *b) +{ + COMPARE_NODE_FIELD(opfamilyname); + COMPARE_STRING_FIELD(amname); + + return true; +} + +static bool +_equalAlterOpFamilyStmt(const AlterOpFamilyStmt *a, const AlterOpFamilyStmt *b) +{ + COMPARE_NODE_FIELD(opfamilyname); + COMPARE_STRING_FIELD(amname); + COMPARE_SCALAR_FIELD(isDrop); + COMPARE_NODE_FIELD(items); + + return true; +} + +static bool +_equalDropStmt(const DropStmt *a, const DropStmt *b) +{ + COMPARE_NODE_FIELD(objects); + COMPARE_SCALAR_FIELD(removeType); + COMPARE_SCALAR_FIELD(behavior); + COMPARE_SCALAR_FIELD(missing_ok); + COMPARE_SCALAR_FIELD(concurrent); + + return true; +} + +static bool +_equalTruncateStmt(const TruncateStmt *a, const TruncateStmt *b) +{ + COMPARE_NODE_FIELD(relations); + COMPARE_SCALAR_FIELD(restart_seqs); + COMPARE_SCALAR_FIELD(behavior); + + return true; +} + +static bool +_equalCommentStmt(const CommentStmt *a, const CommentStmt *b) +{ + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(object); + COMPARE_STRING_FIELD(comment); + + return true; +} + +static bool +_equalSecLabelStmt(const SecLabelStmt *a, const SecLabelStmt *b) +{ + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(object); + COMPARE_STRING_FIELD(provider); + COMPARE_STRING_FIELD(label); + + return true; +} + +static bool +_equalDeclareCursorStmt(const DeclareCursorStmt *a, const DeclareCursorStmt *b) +{ + COMPARE_STRING_FIELD(portalname); + COMPARE_SCALAR_FIELD(options); + COMPARE_NODE_FIELD(query); + + return true; +} + +static bool +_equalClosePortalStmt(const ClosePortalStmt *a, const ClosePortalStmt *b) +{ + COMPARE_STRING_FIELD(portalname); + + return true; +} + +static bool +_equalFetchStmt(const FetchStmt *a, const FetchStmt *b) +{ + COMPARE_SCALAR_FIELD(direction); + COMPARE_SCALAR_FIELD(howMany); + COMPARE_STRING_FIELD(portalname); + COMPARE_SCALAR_FIELD(ismove); + + return true; +} + +static bool +_equalIndexStmt(const IndexStmt *a, const IndexStmt *b) +{ + COMPARE_STRING_FIELD(idxname); + COMPARE_NODE_FIELD(relation); + COMPARE_STRING_FIELD(accessMethod); + COMPARE_STRING_FIELD(tableSpace); + COMPARE_NODE_FIELD(indexParams); + COMPARE_NODE_FIELD(indexIncludingParams); + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(whereClause); + COMPARE_NODE_FIELD(excludeOpNames); + COMPARE_STRING_FIELD(idxcomment); + COMPARE_SCALAR_FIELD(indexOid); + COMPARE_SCALAR_FIELD(oldNumber); + COMPARE_SCALAR_FIELD(oldCreateSubid); + COMPARE_SCALAR_FIELD(oldFirstRelfilelocatorSubid); + COMPARE_SCALAR_FIELD(unique); + COMPARE_SCALAR_FIELD(nulls_not_distinct); + COMPARE_SCALAR_FIELD(primary); + COMPARE_SCALAR_FIELD(isconstraint); + COMPARE_SCALAR_FIELD(deferrable); + COMPARE_SCALAR_FIELD(initdeferred); + COMPARE_SCALAR_FIELD(transformed); + COMPARE_SCALAR_FIELD(concurrent); + COMPARE_SCALAR_FIELD(if_not_exists); + COMPARE_SCALAR_FIELD(reset_default_tblspc); + + return true; +} + +static bool +_equalCreateStatsStmt(const CreateStatsStmt *a, const CreateStatsStmt *b) +{ + COMPARE_NODE_FIELD(defnames); + COMPARE_NODE_FIELD(stat_types); + COMPARE_NODE_FIELD(exprs); + COMPARE_NODE_FIELD(relations); + COMPARE_STRING_FIELD(stxcomment); + COMPARE_SCALAR_FIELD(transformed); + COMPARE_SCALAR_FIELD(if_not_exists); + + return true; +} + +static bool +_equalStatsElem(const StatsElem *a, const StatsElem *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(expr); + + return true; +} + +static bool +_equalAlterStatsStmt(const AlterStatsStmt *a, const AlterStatsStmt *b) +{ + COMPARE_NODE_FIELD(defnames); + COMPARE_NODE_FIELD(stxstattarget); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalCreateFunctionStmt(const CreateFunctionStmt *a, const CreateFunctionStmt *b) +{ + COMPARE_SCALAR_FIELD(is_procedure); + COMPARE_SCALAR_FIELD(replace); + COMPARE_NODE_FIELD(funcname); + COMPARE_NODE_FIELD(parameters); + COMPARE_NODE_FIELD(returnType); + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(sql_body); + + return true; +} + +static bool +_equalFunctionParameter(const FunctionParameter *a, const FunctionParameter *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(argType); + COMPARE_SCALAR_FIELD(mode); + COMPARE_NODE_FIELD(defexpr); + + return true; +} + +static bool +_equalAlterFunctionStmt(const AlterFunctionStmt *a, const AlterFunctionStmt *b) +{ + COMPARE_SCALAR_FIELD(objtype); + COMPARE_NODE_FIELD(func); + COMPARE_NODE_FIELD(actions); + + return true; +} + +static bool +_equalDoStmt(const DoStmt *a, const DoStmt *b) +{ + COMPARE_NODE_FIELD(args); + + return true; +} + +static bool +_equalCallStmt(const CallStmt *a, const CallStmt *b) +{ + COMPARE_NODE_FIELD(funccall); + COMPARE_NODE_FIELD(funcexpr); + COMPARE_NODE_FIELD(outargs); + + return true; +} + +static bool +_equalRenameStmt(const RenameStmt *a, const RenameStmt *b) +{ + COMPARE_SCALAR_FIELD(renameType); + COMPARE_SCALAR_FIELD(relationType); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(object); + COMPARE_STRING_FIELD(subname); + COMPARE_STRING_FIELD(newname); + COMPARE_SCALAR_FIELD(behavior); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalAlterObjectDependsStmt(const AlterObjectDependsStmt *a, const AlterObjectDependsStmt *b) +{ + COMPARE_SCALAR_FIELD(objectType); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(object); + COMPARE_NODE_FIELD(extname); + COMPARE_SCALAR_FIELD(remove); + + return true; +} + +static bool +_equalAlterObjectSchemaStmt(const AlterObjectSchemaStmt *a, const AlterObjectSchemaStmt *b) +{ + COMPARE_SCALAR_FIELD(objectType); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(object); + COMPARE_STRING_FIELD(newschema); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalAlterOwnerStmt(const AlterOwnerStmt *a, const AlterOwnerStmt *b) +{ + COMPARE_SCALAR_FIELD(objectType); + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(object); + COMPARE_NODE_FIELD(newowner); + + return true; +} + +static bool +_equalAlterOperatorStmt(const AlterOperatorStmt *a, const AlterOperatorStmt *b) +{ + COMPARE_NODE_FIELD(opername); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterTypeStmt(const AlterTypeStmt *a, const AlterTypeStmt *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalRuleStmt(const RuleStmt *a, const RuleStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_STRING_FIELD(rulename); + COMPARE_NODE_FIELD(whereClause); + COMPARE_SCALAR_FIELD(event); + COMPARE_SCALAR_FIELD(instead); + COMPARE_NODE_FIELD(actions); + COMPARE_SCALAR_FIELD(replace); + + return true; +} + +static bool +_equalNotifyStmt(const NotifyStmt *a, const NotifyStmt *b) +{ + COMPARE_STRING_FIELD(conditionname); + COMPARE_STRING_FIELD(payload); + + return true; +} + +static bool +_equalListenStmt(const ListenStmt *a, const ListenStmt *b) +{ + COMPARE_STRING_FIELD(conditionname); + + return true; +} + +static bool +_equalUnlistenStmt(const UnlistenStmt *a, const UnlistenStmt *b) +{ + COMPARE_STRING_FIELD(conditionname); + + return true; +} + +static bool +_equalTransactionStmt(const TransactionStmt *a, const TransactionStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(options); + COMPARE_STRING_FIELD(savepoint_name); + COMPARE_STRING_FIELD(gid); + COMPARE_SCALAR_FIELD(chain); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCompositeTypeStmt(const CompositeTypeStmt *a, const CompositeTypeStmt *b) +{ + COMPARE_NODE_FIELD(typevar); + COMPARE_NODE_FIELD(coldeflist); + + return true; +} + +static bool +_equalCreateEnumStmt(const CreateEnumStmt *a, const CreateEnumStmt *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(vals); + + return true; +} + +static bool +_equalCreateRangeStmt(const CreateRangeStmt *a, const CreateRangeStmt *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_NODE_FIELD(params); + + return true; +} + +static bool +_equalAlterEnumStmt(const AlterEnumStmt *a, const AlterEnumStmt *b) +{ + COMPARE_NODE_FIELD(typeName); + COMPARE_STRING_FIELD(oldVal); + COMPARE_STRING_FIELD(newVal); + COMPARE_STRING_FIELD(newValNeighbor); + COMPARE_SCALAR_FIELD(newValIsAfter); + COMPARE_SCALAR_FIELD(skipIfNewValExists); + + return true; +} + +static bool +_equalViewStmt(const ViewStmt *a, const ViewStmt *b) +{ + COMPARE_NODE_FIELD(view); + COMPARE_NODE_FIELD(aliases); + COMPARE_NODE_FIELD(query); + COMPARE_SCALAR_FIELD(replace); + COMPARE_NODE_FIELD(options); + COMPARE_SCALAR_FIELD(withCheckOption); + + return true; +} + +static bool +_equalLoadStmt(const LoadStmt *a, const LoadStmt *b) +{ + COMPARE_STRING_FIELD(filename); + + return true; +} + +static bool +_equalCreatedbStmt(const CreatedbStmt *a, const CreatedbStmt *b) +{ + COMPARE_STRING_FIELD(dbname); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterDatabaseStmt(const AlterDatabaseStmt *a, const AlterDatabaseStmt *b) +{ + COMPARE_STRING_FIELD(dbname); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *a, const AlterDatabaseRefreshCollStmt *b) +{ + COMPARE_STRING_FIELD(dbname); + + return true; +} + +static bool +_equalAlterDatabaseSetStmt(const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b) +{ + COMPARE_STRING_FIELD(dbname); + COMPARE_NODE_FIELD(setstmt); + + return true; +} + +static bool +_equalDropdbStmt(const DropdbStmt *a, const DropdbStmt *b) +{ + COMPARE_STRING_FIELD(dbname); + COMPARE_SCALAR_FIELD(missing_ok); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterSystemStmt(const AlterSystemStmt *a, const AlterSystemStmt *b) +{ + COMPARE_NODE_FIELD(setstmt); + + return true; +} + +static bool +_equalClusterStmt(const ClusterStmt *a, const ClusterStmt *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_STRING_FIELD(indexname); + COMPARE_NODE_FIELD(params); + + return true; +} + +static bool +_equalVacuumStmt(const VacuumStmt *a, const VacuumStmt *b) +{ + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(rels); + COMPARE_SCALAR_FIELD(is_vacuumcmd); + + return true; +} + +static bool +_equalVacuumRelation(const VacuumRelation *a, const VacuumRelation *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_SCALAR_FIELD(oid); + COMPARE_NODE_FIELD(va_cols); + + return true; +} + +static bool +_equalExplainStmt(const ExplainStmt *a, const ExplainStmt *b) +{ + COMPARE_NODE_FIELD(query); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b) +{ + COMPARE_NODE_FIELD(query); + COMPARE_NODE_FIELD(into); + COMPARE_SCALAR_FIELD(objtype); + COMPARE_SCALAR_FIELD(is_select_into); + COMPARE_SCALAR_FIELD(if_not_exists); + + return true; +} + +static bool +_equalRefreshMatViewStmt(const RefreshMatViewStmt *a, const RefreshMatViewStmt *b) +{ + COMPARE_SCALAR_FIELD(concurrent); + COMPARE_SCALAR_FIELD(skipData); + COMPARE_NODE_FIELD(relation); + + return true; +} + +static bool +_equalCheckPointStmt(const CheckPointStmt *a, const CheckPointStmt *b) +{ + + return true; +} + +static bool +_equalDiscardStmt(const DiscardStmt *a, const DiscardStmt *b) +{ + COMPARE_SCALAR_FIELD(target); + + return true; +} + +static bool +_equalLockStmt(const LockStmt *a, const LockStmt *b) +{ + COMPARE_NODE_FIELD(relations); + COMPARE_SCALAR_FIELD(mode); + COMPARE_SCALAR_FIELD(nowait); + + return true; +} + +static bool +_equalConstraintsSetStmt(const ConstraintsSetStmt *a, const ConstraintsSetStmt *b) +{ + COMPARE_NODE_FIELD(constraints); + COMPARE_SCALAR_FIELD(deferred); + + return true; +} + +static bool +_equalReindexStmt(const ReindexStmt *a, const ReindexStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(relation); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(params); + + return true; +} + +static bool +_equalCreateConversionStmt(const CreateConversionStmt *a, const CreateConversionStmt *b) +{ + COMPARE_NODE_FIELD(conversion_name); + COMPARE_STRING_FIELD(for_encoding_name); + COMPARE_STRING_FIELD(to_encoding_name); + COMPARE_NODE_FIELD(func_name); + COMPARE_SCALAR_FIELD(def); + + return true; +} + +static bool +_equalCreateCastStmt(const CreateCastStmt *a, const CreateCastStmt *b) +{ + COMPARE_NODE_FIELD(sourcetype); + COMPARE_NODE_FIELD(targettype); + COMPARE_NODE_FIELD(func); + COMPARE_SCALAR_FIELD(context); + COMPARE_SCALAR_FIELD(inout); + + return true; +} + +static bool +_equalCreateTransformStmt(const CreateTransformStmt *a, const CreateTransformStmt *b) +{ + COMPARE_SCALAR_FIELD(replace); + COMPARE_NODE_FIELD(type_name); + COMPARE_STRING_FIELD(lang); + COMPARE_NODE_FIELD(fromsql); + COMPARE_NODE_FIELD(tosql); + + return true; +} + +static bool +_equalPrepareStmt(const PrepareStmt *a, const PrepareStmt *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(argtypes); + COMPARE_NODE_FIELD(query); + + return true; +} + +static bool +_equalExecuteStmt(const ExecuteStmt *a, const ExecuteStmt *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(params); + + return true; +} + +static bool +_equalDeallocateStmt(const DeallocateStmt *a, const DeallocateStmt *b) +{ + COMPARE_STRING_FIELD(name); + COMPARE_SCALAR_FIELD(isall); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalDropOwnedStmt(const DropOwnedStmt *a, const DropOwnedStmt *b) +{ + COMPARE_NODE_FIELD(roles); + COMPARE_SCALAR_FIELD(behavior); + + return true; +} + +static bool +_equalReassignOwnedStmt(const ReassignOwnedStmt *a, const ReassignOwnedStmt *b) +{ + COMPARE_NODE_FIELD(roles); + COMPARE_NODE_FIELD(newrole); + + return true; +} + +static bool +_equalAlterTSDictionaryStmt(const AlterTSDictionaryStmt *a, const AlterTSDictionaryStmt *b) +{ + COMPARE_NODE_FIELD(dictname); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a, const AlterTSConfigurationStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_NODE_FIELD(cfgname); + COMPARE_NODE_FIELD(tokentype); + COMPARE_NODE_FIELD(dicts); + COMPARE_SCALAR_FIELD(override); + COMPARE_SCALAR_FIELD(replace); + COMPARE_SCALAR_FIELD(missing_ok); + + return true; +} + +static bool +_equalPublicationTable(const PublicationTable *a, const PublicationTable *b) +{ + COMPARE_NODE_FIELD(relation); + COMPARE_NODE_FIELD(whereClause); + COMPARE_NODE_FIELD(columns); + + return true; +} + +static bool +_equalPublicationObjSpec(const PublicationObjSpec *a, const PublicationObjSpec *b) +{ + COMPARE_SCALAR_FIELD(pubobjtype); + COMPARE_STRING_FIELD(name); + COMPARE_NODE_FIELD(pubtable); + COMPARE_LOCATION_FIELD(location); + + return true; +} + +static bool +_equalCreatePublicationStmt(const CreatePublicationStmt *a, const CreatePublicationStmt *b) +{ + COMPARE_STRING_FIELD(pubname); + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(pubobjects); + COMPARE_SCALAR_FIELD(for_all_tables); + + return true; +} + +static bool +_equalAlterPublicationStmt(const AlterPublicationStmt *a, const AlterPublicationStmt *b) +{ + COMPARE_STRING_FIELD(pubname); + COMPARE_NODE_FIELD(options); + COMPARE_NODE_FIELD(pubobjects); + COMPARE_SCALAR_FIELD(for_all_tables); + COMPARE_SCALAR_FIELD(action); + + return true; +} + +static bool +_equalCreateSubscriptionStmt(const CreateSubscriptionStmt *a, const CreateSubscriptionStmt *b) +{ + COMPARE_STRING_FIELD(subname); + COMPARE_STRING_FIELD(conninfo); + COMPARE_NODE_FIELD(publication); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalAlterSubscriptionStmt(const AlterSubscriptionStmt *a, const AlterSubscriptionStmt *b) +{ + COMPARE_SCALAR_FIELD(kind); + COMPARE_STRING_FIELD(subname); + COMPARE_STRING_FIELD(conninfo); + COMPARE_NODE_FIELD(publication); + COMPARE_NODE_FIELD(options); + + return true; +} + +static bool +_equalDropSubscriptionStmt(const DropSubscriptionStmt *a, const DropSubscriptionStmt *b) +{ + COMPARE_STRING_FIELD(subname); + COMPARE_SCALAR_FIELD(missing_ok); + COMPARE_SCALAR_FIELD(behavior); + + return true; +} + +static bool +_equalPathKey(const PathKey *a, const PathKey *b) +{ + COMPARE_SCALAR_FIELD(pk_eclass); + COMPARE_SCALAR_FIELD(pk_opfamily); + COMPARE_SCALAR_FIELD(pk_strategy); + COMPARE_SCALAR_FIELD(pk_nulls_first); + + return true; +} + +static bool +_equalGroupByOrdering(const GroupByOrdering *a, const GroupByOrdering *b) +{ + COMPARE_NODE_FIELD(pathkeys); + COMPARE_NODE_FIELD(clauses); + + return true; +} + +static bool +_equalRestrictInfo(const RestrictInfo *a, const RestrictInfo *b) +{ + COMPARE_NODE_FIELD(clause); + COMPARE_SCALAR_FIELD(is_pushed_down); + COMPARE_SCALAR_FIELD(has_clone); + COMPARE_SCALAR_FIELD(is_clone); + COMPARE_SCALAR_FIELD(security_level); + COMPARE_BITMAPSET_FIELD(required_relids); + COMPARE_BITMAPSET_FIELD(incompatible_relids); + COMPARE_BITMAPSET_FIELD(outer_relids); + COMPARE_SCALAR_FIELD(rinfo_serial); + + return true; +} + +static bool +_equalPlaceHolderVar(const PlaceHolderVar *a, const PlaceHolderVar *b) +{ + COMPARE_BITMAPSET_FIELD(phnullingrels); + COMPARE_SCALAR_FIELD(phid); + COMPARE_SCALAR_FIELD(phlevelsup); + + return true; +} + +static bool +_equalSpecialJoinInfo(const SpecialJoinInfo *a, const SpecialJoinInfo *b) +{ + COMPARE_BITMAPSET_FIELD(min_lefthand); + COMPARE_BITMAPSET_FIELD(min_righthand); + COMPARE_BITMAPSET_FIELD(syn_lefthand); + COMPARE_BITMAPSET_FIELD(syn_righthand); + COMPARE_SCALAR_FIELD(jointype); + COMPARE_SCALAR_FIELD(ojrelid); + COMPARE_BITMAPSET_FIELD(commute_above_l); + COMPARE_BITMAPSET_FIELD(commute_above_r); + COMPARE_BITMAPSET_FIELD(commute_below_l); + COMPARE_BITMAPSET_FIELD(commute_below_r); + COMPARE_SCALAR_FIELD(lhs_strict); + COMPARE_SCALAR_FIELD(semi_can_btree); + COMPARE_SCALAR_FIELD(semi_can_hash); + COMPARE_NODE_FIELD(semi_operators); + COMPARE_NODE_FIELD(semi_rhs_exprs); + + return true; +} + +static bool +_equalAppendRelInfo(const AppendRelInfo *a, const AppendRelInfo *b) +{ + COMPARE_SCALAR_FIELD(parent_relid); + COMPARE_SCALAR_FIELD(child_relid); + COMPARE_SCALAR_FIELD(parent_reltype); + COMPARE_SCALAR_FIELD(child_reltype); + COMPARE_NODE_FIELD(translated_vars); + COMPARE_SCALAR_FIELD(num_child_cols); + COMPARE_POINTER_FIELD(parent_colnos, a->num_child_cols * sizeof(AttrNumber)); + COMPARE_SCALAR_FIELD(parent_reloid); + + return true; +} + +static bool +_equalPlaceHolderInfo(const PlaceHolderInfo *a, const PlaceHolderInfo *b) +{ + COMPARE_SCALAR_FIELD(phid); + COMPARE_NODE_FIELD(ph_var); + COMPARE_BITMAPSET_FIELD(ph_eval_at); + COMPARE_BITMAPSET_FIELD(ph_lateral); + COMPARE_BITMAPSET_FIELD(ph_needed); + COMPARE_SCALAR_FIELD(ph_width); + + return true; +} + +static bool +_equalInteger(const Integer *a, const Integer *b) +{ + COMPARE_SCALAR_FIELD(ival); + + return true; +} + +static bool +_equalFloat(const Float *a, const Float *b) +{ + COMPARE_STRING_FIELD(fval); + + return true; +} + +static bool +_equalBoolean(const Boolean *a, const Boolean *b) +{ + COMPARE_SCALAR_FIELD(boolval); + + return true; +} + +static bool +_equalString(const String *a, const String *b) +{ + COMPARE_STRING_FIELD(sval); + + return true; +} + +static bool +_equalBitString(const BitString *a, const BitString *b) +{ + COMPARE_STRING_FIELD(bsval); + + return true; +} diff --git a/parser/include/postgres/equalfuncs.switch.c b/parser/include/postgres/equalfuncs.switch.c new file mode 100644 index 00000000..0736451e --- /dev/null +++ b/parser/include/postgres/equalfuncs.switch.c @@ -0,0 +1,836 @@ +/*------------------------------------------------------------------------- + * + * equalfuncs.switch.c + * Generated node infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/nodes/gen_node_support.pl + * + *------------------------------------------------------------------------- + */ + case T_Alias: + retval = _equalAlias(a, b); + break; + case T_RangeVar: + retval = _equalRangeVar(a, b); + break; + case T_TableFunc: + retval = _equalTableFunc(a, b); + break; + case T_IntoClause: + retval = _equalIntoClause(a, b); + break; + case T_Var: + retval = _equalVar(a, b); + break; + case T_Const: + retval = _equalConst(a, b); + break; + case T_Param: + retval = _equalParam(a, b); + break; + case T_Aggref: + retval = _equalAggref(a, b); + break; + case T_GroupingFunc: + retval = _equalGroupingFunc(a, b); + break; + case T_WindowFunc: + retval = _equalWindowFunc(a, b); + break; + case T_WindowFuncRunCondition: + retval = _equalWindowFuncRunCondition(a, b); + break; + case T_MergeSupportFunc: + retval = _equalMergeSupportFunc(a, b); + break; + case T_SubscriptingRef: + retval = _equalSubscriptingRef(a, b); + break; + case T_FuncExpr: + retval = _equalFuncExpr(a, b); + break; + case T_NamedArgExpr: + retval = _equalNamedArgExpr(a, b); + break; + case T_OpExpr: + retval = _equalOpExpr(a, b); + break; + case T_DistinctExpr: + retval = _equalDistinctExpr(a, b); + break; + case T_NullIfExpr: + retval = _equalNullIfExpr(a, b); + break; + case T_ScalarArrayOpExpr: + retval = _equalScalarArrayOpExpr(a, b); + break; + case T_BoolExpr: + retval = _equalBoolExpr(a, b); + break; + case T_SubLink: + retval = _equalSubLink(a, b); + break; + case T_SubPlan: + retval = _equalSubPlan(a, b); + break; + case T_AlternativeSubPlan: + retval = _equalAlternativeSubPlan(a, b); + break; + case T_FieldSelect: + retval = _equalFieldSelect(a, b); + break; + case T_FieldStore: + retval = _equalFieldStore(a, b); + break; + case T_RelabelType: + retval = _equalRelabelType(a, b); + break; + case T_CoerceViaIO: + retval = _equalCoerceViaIO(a, b); + break; + case T_ArrayCoerceExpr: + retval = _equalArrayCoerceExpr(a, b); + break; + case T_ConvertRowtypeExpr: + retval = _equalConvertRowtypeExpr(a, b); + break; + case T_CollateExpr: + retval = _equalCollateExpr(a, b); + break; + case T_CaseExpr: + retval = _equalCaseExpr(a, b); + break; + case T_CaseWhen: + retval = _equalCaseWhen(a, b); + break; + case T_CaseTestExpr: + retval = _equalCaseTestExpr(a, b); + break; + case T_ArrayExpr: + retval = _equalArrayExpr(a, b); + break; + case T_RowExpr: + retval = _equalRowExpr(a, b); + break; + case T_RowCompareExpr: + retval = _equalRowCompareExpr(a, b); + break; + case T_CoalesceExpr: + retval = _equalCoalesceExpr(a, b); + break; + case T_MinMaxExpr: + retval = _equalMinMaxExpr(a, b); + break; + case T_SQLValueFunction: + retval = _equalSQLValueFunction(a, b); + break; + case T_XmlExpr: + retval = _equalXmlExpr(a, b); + break; + case T_JsonFormat: + retval = _equalJsonFormat(a, b); + break; + case T_JsonReturning: + retval = _equalJsonReturning(a, b); + break; + case T_JsonValueExpr: + retval = _equalJsonValueExpr(a, b); + break; + case T_JsonConstructorExpr: + retval = _equalJsonConstructorExpr(a, b); + break; + case T_JsonIsPredicate: + retval = _equalJsonIsPredicate(a, b); + break; + case T_JsonBehavior: + retval = _equalJsonBehavior(a, b); + break; + case T_JsonExpr: + retval = _equalJsonExpr(a, b); + break; + case T_JsonTablePath: + retval = _equalJsonTablePath(a, b); + break; + case T_JsonTablePathScan: + retval = _equalJsonTablePathScan(a, b); + break; + case T_JsonTableSiblingJoin: + retval = _equalJsonTableSiblingJoin(a, b); + break; + case T_NullTest: + retval = _equalNullTest(a, b); + break; + case T_BooleanTest: + retval = _equalBooleanTest(a, b); + break; + case T_MergeAction: + retval = _equalMergeAction(a, b); + break; + case T_CoerceToDomain: + retval = _equalCoerceToDomain(a, b); + break; + case T_CoerceToDomainValue: + retval = _equalCoerceToDomainValue(a, b); + break; + case T_SetToDefault: + retval = _equalSetToDefault(a, b); + break; + case T_CurrentOfExpr: + retval = _equalCurrentOfExpr(a, b); + break; + case T_NextValueExpr: + retval = _equalNextValueExpr(a, b); + break; + case T_InferenceElem: + retval = _equalInferenceElem(a, b); + break; + case T_TargetEntry: + retval = _equalTargetEntry(a, b); + break; + case T_RangeTblRef: + retval = _equalRangeTblRef(a, b); + break; + case T_JoinExpr: + retval = _equalJoinExpr(a, b); + break; + case T_FromExpr: + retval = _equalFromExpr(a, b); + break; + case T_OnConflictExpr: + retval = _equalOnConflictExpr(a, b); + break; + case T_Query: + retval = _equalQuery(a, b); + break; + case T_TypeName: + retval = _equalTypeName(a, b); + break; + case T_ColumnRef: + retval = _equalColumnRef(a, b); + break; + case T_ParamRef: + retval = _equalParamRef(a, b); + break; + case T_A_Expr: + retval = _equalA_Expr(a, b); + break; + case T_A_Const: + retval = _equalA_Const(a, b); + break; + case T_TypeCast: + retval = _equalTypeCast(a, b); + break; + case T_CollateClause: + retval = _equalCollateClause(a, b); + break; + case T_RoleSpec: + retval = _equalRoleSpec(a, b); + break; + case T_FuncCall: + retval = _equalFuncCall(a, b); + break; + case T_A_Star: + retval = _equalA_Star(a, b); + break; + case T_A_Indices: + retval = _equalA_Indices(a, b); + break; + case T_A_Indirection: + retval = _equalA_Indirection(a, b); + break; + case T_A_ArrayExpr: + retval = _equalA_ArrayExpr(a, b); + break; + case T_ResTarget: + retval = _equalResTarget(a, b); + break; + case T_MultiAssignRef: + retval = _equalMultiAssignRef(a, b); + break; + case T_SortBy: + retval = _equalSortBy(a, b); + break; + case T_WindowDef: + retval = _equalWindowDef(a, b); + break; + case T_RangeSubselect: + retval = _equalRangeSubselect(a, b); + break; + case T_RangeFunction: + retval = _equalRangeFunction(a, b); + break; + case T_RangeTableFunc: + retval = _equalRangeTableFunc(a, b); + break; + case T_RangeTableFuncCol: + retval = _equalRangeTableFuncCol(a, b); + break; + case T_RangeTableSample: + retval = _equalRangeTableSample(a, b); + break; + case T_ColumnDef: + retval = _equalColumnDef(a, b); + break; + case T_TableLikeClause: + retval = _equalTableLikeClause(a, b); + break; + case T_IndexElem: + retval = _equalIndexElem(a, b); + break; + case T_DefElem: + retval = _equalDefElem(a, b); + break; + case T_LockingClause: + retval = _equalLockingClause(a, b); + break; + case T_XmlSerialize: + retval = _equalXmlSerialize(a, b); + break; + case T_PartitionElem: + retval = _equalPartitionElem(a, b); + break; + case T_PartitionSpec: + retval = _equalPartitionSpec(a, b); + break; + case T_PartitionBoundSpec: + retval = _equalPartitionBoundSpec(a, b); + break; + case T_PartitionRangeDatum: + retval = _equalPartitionRangeDatum(a, b); + break; + case T_SinglePartitionSpec: + retval = _equalSinglePartitionSpec(a, b); + break; + case T_PartitionCmd: + retval = _equalPartitionCmd(a, b); + break; + case T_RangeTblEntry: + retval = _equalRangeTblEntry(a, b); + break; + case T_RTEPermissionInfo: + retval = _equalRTEPermissionInfo(a, b); + break; + case T_RangeTblFunction: + retval = _equalRangeTblFunction(a, b); + break; + case T_TableSampleClause: + retval = _equalTableSampleClause(a, b); + break; + case T_WithCheckOption: + retval = _equalWithCheckOption(a, b); + break; + case T_SortGroupClause: + retval = _equalSortGroupClause(a, b); + break; + case T_GroupingSet: + retval = _equalGroupingSet(a, b); + break; + case T_WindowClause: + retval = _equalWindowClause(a, b); + break; + case T_RowMarkClause: + retval = _equalRowMarkClause(a, b); + break; + case T_WithClause: + retval = _equalWithClause(a, b); + break; + case T_InferClause: + retval = _equalInferClause(a, b); + break; + case T_OnConflictClause: + retval = _equalOnConflictClause(a, b); + break; + case T_CTESearchClause: + retval = _equalCTESearchClause(a, b); + break; + case T_CTECycleClause: + retval = _equalCTECycleClause(a, b); + break; + case T_CommonTableExpr: + retval = _equalCommonTableExpr(a, b); + break; + case T_MergeWhenClause: + retval = _equalMergeWhenClause(a, b); + break; + case T_TriggerTransition: + retval = _equalTriggerTransition(a, b); + break; + case T_JsonOutput: + retval = _equalJsonOutput(a, b); + break; + case T_JsonArgument: + retval = _equalJsonArgument(a, b); + break; + case T_JsonFuncExpr: + retval = _equalJsonFuncExpr(a, b); + break; + case T_JsonTablePathSpec: + retval = _equalJsonTablePathSpec(a, b); + break; + case T_JsonTable: + retval = _equalJsonTable(a, b); + break; + case T_JsonTableColumn: + retval = _equalJsonTableColumn(a, b); + break; + case T_JsonKeyValue: + retval = _equalJsonKeyValue(a, b); + break; + case T_JsonParseExpr: + retval = _equalJsonParseExpr(a, b); + break; + case T_JsonScalarExpr: + retval = _equalJsonScalarExpr(a, b); + break; + case T_JsonSerializeExpr: + retval = _equalJsonSerializeExpr(a, b); + break; + case T_JsonObjectConstructor: + retval = _equalJsonObjectConstructor(a, b); + break; + case T_JsonArrayConstructor: + retval = _equalJsonArrayConstructor(a, b); + break; + case T_JsonArrayQueryConstructor: + retval = _equalJsonArrayQueryConstructor(a, b); + break; + case T_JsonAggConstructor: + retval = _equalJsonAggConstructor(a, b); + break; + case T_JsonObjectAgg: + retval = _equalJsonObjectAgg(a, b); + break; + case T_JsonArrayAgg: + retval = _equalJsonArrayAgg(a, b); + break; + case T_RawStmt: + retval = _equalRawStmt(a, b); + break; + case T_InsertStmt: + retval = _equalInsertStmt(a, b); + break; + case T_DeleteStmt: + retval = _equalDeleteStmt(a, b); + break; + case T_UpdateStmt: + retval = _equalUpdateStmt(a, b); + break; + case T_MergeStmt: + retval = _equalMergeStmt(a, b); + break; + case T_SelectStmt: + retval = _equalSelectStmt(a, b); + break; + case T_SetOperationStmt: + retval = _equalSetOperationStmt(a, b); + break; + case T_ReturnStmt: + retval = _equalReturnStmt(a, b); + break; + case T_PLAssignStmt: + retval = _equalPLAssignStmt(a, b); + break; + case T_CreateSchemaStmt: + retval = _equalCreateSchemaStmt(a, b); + break; + case T_AlterTableStmt: + retval = _equalAlterTableStmt(a, b); + break; + case T_ReplicaIdentityStmt: + retval = _equalReplicaIdentityStmt(a, b); + break; + case T_AlterTableCmd: + retval = _equalAlterTableCmd(a, b); + break; + case T_AlterCollationStmt: + retval = _equalAlterCollationStmt(a, b); + break; + case T_AlterDomainStmt: + retval = _equalAlterDomainStmt(a, b); + break; + case T_GrantStmt: + retval = _equalGrantStmt(a, b); + break; + case T_ObjectWithArgs: + retval = _equalObjectWithArgs(a, b); + break; + case T_AccessPriv: + retval = _equalAccessPriv(a, b); + break; + case T_GrantRoleStmt: + retval = _equalGrantRoleStmt(a, b); + break; + case T_AlterDefaultPrivilegesStmt: + retval = _equalAlterDefaultPrivilegesStmt(a, b); + break; + case T_CopyStmt: + retval = _equalCopyStmt(a, b); + break; + case T_VariableSetStmt: + retval = _equalVariableSetStmt(a, b); + break; + case T_VariableShowStmt: + retval = _equalVariableShowStmt(a, b); + break; + case T_CreateStmt: + retval = _equalCreateStmt(a, b); + break; + case T_Constraint: + retval = _equalConstraint(a, b); + break; + case T_CreateTableSpaceStmt: + retval = _equalCreateTableSpaceStmt(a, b); + break; + case T_DropTableSpaceStmt: + retval = _equalDropTableSpaceStmt(a, b); + break; + case T_AlterTableSpaceOptionsStmt: + retval = _equalAlterTableSpaceOptionsStmt(a, b); + break; + case T_AlterTableMoveAllStmt: + retval = _equalAlterTableMoveAllStmt(a, b); + break; + case T_CreateExtensionStmt: + retval = _equalCreateExtensionStmt(a, b); + break; + case T_AlterExtensionStmt: + retval = _equalAlterExtensionStmt(a, b); + break; + case T_AlterExtensionContentsStmt: + retval = _equalAlterExtensionContentsStmt(a, b); + break; + case T_CreateFdwStmt: + retval = _equalCreateFdwStmt(a, b); + break; + case T_AlterFdwStmt: + retval = _equalAlterFdwStmt(a, b); + break; + case T_CreateForeignServerStmt: + retval = _equalCreateForeignServerStmt(a, b); + break; + case T_AlterForeignServerStmt: + retval = _equalAlterForeignServerStmt(a, b); + break; + case T_CreateForeignTableStmt: + retval = _equalCreateForeignTableStmt(a, b); + break; + case T_CreateUserMappingStmt: + retval = _equalCreateUserMappingStmt(a, b); + break; + case T_AlterUserMappingStmt: + retval = _equalAlterUserMappingStmt(a, b); + break; + case T_DropUserMappingStmt: + retval = _equalDropUserMappingStmt(a, b); + break; + case T_ImportForeignSchemaStmt: + retval = _equalImportForeignSchemaStmt(a, b); + break; + case T_CreatePolicyStmt: + retval = _equalCreatePolicyStmt(a, b); + break; + case T_AlterPolicyStmt: + retval = _equalAlterPolicyStmt(a, b); + break; + case T_CreateAmStmt: + retval = _equalCreateAmStmt(a, b); + break; + case T_CreateTrigStmt: + retval = _equalCreateTrigStmt(a, b); + break; + case T_CreateEventTrigStmt: + retval = _equalCreateEventTrigStmt(a, b); + break; + case T_AlterEventTrigStmt: + retval = _equalAlterEventTrigStmt(a, b); + break; + case T_CreatePLangStmt: + retval = _equalCreatePLangStmt(a, b); + break; + case T_CreateRoleStmt: + retval = _equalCreateRoleStmt(a, b); + break; + case T_AlterRoleStmt: + retval = _equalAlterRoleStmt(a, b); + break; + case T_AlterRoleSetStmt: + retval = _equalAlterRoleSetStmt(a, b); + break; + case T_DropRoleStmt: + retval = _equalDropRoleStmt(a, b); + break; + case T_CreateSeqStmt: + retval = _equalCreateSeqStmt(a, b); + break; + case T_AlterSeqStmt: + retval = _equalAlterSeqStmt(a, b); + break; + case T_DefineStmt: + retval = _equalDefineStmt(a, b); + break; + case T_CreateDomainStmt: + retval = _equalCreateDomainStmt(a, b); + break; + case T_CreateOpClassStmt: + retval = _equalCreateOpClassStmt(a, b); + break; + case T_CreateOpClassItem: + retval = _equalCreateOpClassItem(a, b); + break; + case T_CreateOpFamilyStmt: + retval = _equalCreateOpFamilyStmt(a, b); + break; + case T_AlterOpFamilyStmt: + retval = _equalAlterOpFamilyStmt(a, b); + break; + case T_DropStmt: + retval = _equalDropStmt(a, b); + break; + case T_TruncateStmt: + retval = _equalTruncateStmt(a, b); + break; + case T_CommentStmt: + retval = _equalCommentStmt(a, b); + break; + case T_SecLabelStmt: + retval = _equalSecLabelStmt(a, b); + break; + case T_DeclareCursorStmt: + retval = _equalDeclareCursorStmt(a, b); + break; + case T_ClosePortalStmt: + retval = _equalClosePortalStmt(a, b); + break; + case T_FetchStmt: + retval = _equalFetchStmt(a, b); + break; + case T_IndexStmt: + retval = _equalIndexStmt(a, b); + break; + case T_CreateStatsStmt: + retval = _equalCreateStatsStmt(a, b); + break; + case T_StatsElem: + retval = _equalStatsElem(a, b); + break; + case T_AlterStatsStmt: + retval = _equalAlterStatsStmt(a, b); + break; + case T_CreateFunctionStmt: + retval = _equalCreateFunctionStmt(a, b); + break; + case T_FunctionParameter: + retval = _equalFunctionParameter(a, b); + break; + case T_AlterFunctionStmt: + retval = _equalAlterFunctionStmt(a, b); + break; + case T_DoStmt: + retval = _equalDoStmt(a, b); + break; + case T_CallStmt: + retval = _equalCallStmt(a, b); + break; + case T_RenameStmt: + retval = _equalRenameStmt(a, b); + break; + case T_AlterObjectDependsStmt: + retval = _equalAlterObjectDependsStmt(a, b); + break; + case T_AlterObjectSchemaStmt: + retval = _equalAlterObjectSchemaStmt(a, b); + break; + case T_AlterOwnerStmt: + retval = _equalAlterOwnerStmt(a, b); + break; + case T_AlterOperatorStmt: + retval = _equalAlterOperatorStmt(a, b); + break; + case T_AlterTypeStmt: + retval = _equalAlterTypeStmt(a, b); + break; + case T_RuleStmt: + retval = _equalRuleStmt(a, b); + break; + case T_NotifyStmt: + retval = _equalNotifyStmt(a, b); + break; + case T_ListenStmt: + retval = _equalListenStmt(a, b); + break; + case T_UnlistenStmt: + retval = _equalUnlistenStmt(a, b); + break; + case T_TransactionStmt: + retval = _equalTransactionStmt(a, b); + break; + case T_CompositeTypeStmt: + retval = _equalCompositeTypeStmt(a, b); + break; + case T_CreateEnumStmt: + retval = _equalCreateEnumStmt(a, b); + break; + case T_CreateRangeStmt: + retval = _equalCreateRangeStmt(a, b); + break; + case T_AlterEnumStmt: + retval = _equalAlterEnumStmt(a, b); + break; + case T_ViewStmt: + retval = _equalViewStmt(a, b); + break; + case T_LoadStmt: + retval = _equalLoadStmt(a, b); + break; + case T_CreatedbStmt: + retval = _equalCreatedbStmt(a, b); + break; + case T_AlterDatabaseStmt: + retval = _equalAlterDatabaseStmt(a, b); + break; + case T_AlterDatabaseRefreshCollStmt: + retval = _equalAlterDatabaseRefreshCollStmt(a, b); + break; + case T_AlterDatabaseSetStmt: + retval = _equalAlterDatabaseSetStmt(a, b); + break; + case T_DropdbStmt: + retval = _equalDropdbStmt(a, b); + break; + case T_AlterSystemStmt: + retval = _equalAlterSystemStmt(a, b); + break; + case T_ClusterStmt: + retval = _equalClusterStmt(a, b); + break; + case T_VacuumStmt: + retval = _equalVacuumStmt(a, b); + break; + case T_VacuumRelation: + retval = _equalVacuumRelation(a, b); + break; + case T_ExplainStmt: + retval = _equalExplainStmt(a, b); + break; + case T_CreateTableAsStmt: + retval = _equalCreateTableAsStmt(a, b); + break; + case T_RefreshMatViewStmt: + retval = _equalRefreshMatViewStmt(a, b); + break; + case T_CheckPointStmt: + retval = _equalCheckPointStmt(a, b); + break; + case T_DiscardStmt: + retval = _equalDiscardStmt(a, b); + break; + case T_LockStmt: + retval = _equalLockStmt(a, b); + break; + case T_ConstraintsSetStmt: + retval = _equalConstraintsSetStmt(a, b); + break; + case T_ReindexStmt: + retval = _equalReindexStmt(a, b); + break; + case T_CreateConversionStmt: + retval = _equalCreateConversionStmt(a, b); + break; + case T_CreateCastStmt: + retval = _equalCreateCastStmt(a, b); + break; + case T_CreateTransformStmt: + retval = _equalCreateTransformStmt(a, b); + break; + case T_PrepareStmt: + retval = _equalPrepareStmt(a, b); + break; + case T_ExecuteStmt: + retval = _equalExecuteStmt(a, b); + break; + case T_DeallocateStmt: + retval = _equalDeallocateStmt(a, b); + break; + case T_DropOwnedStmt: + retval = _equalDropOwnedStmt(a, b); + break; + case T_ReassignOwnedStmt: + retval = _equalReassignOwnedStmt(a, b); + break; + case T_AlterTSDictionaryStmt: + retval = _equalAlterTSDictionaryStmt(a, b); + break; + case T_AlterTSConfigurationStmt: + retval = _equalAlterTSConfigurationStmt(a, b); + break; + case T_PublicationTable: + retval = _equalPublicationTable(a, b); + break; + case T_PublicationObjSpec: + retval = _equalPublicationObjSpec(a, b); + break; + case T_CreatePublicationStmt: + retval = _equalCreatePublicationStmt(a, b); + break; + case T_AlterPublicationStmt: + retval = _equalAlterPublicationStmt(a, b); + break; + case T_CreateSubscriptionStmt: + retval = _equalCreateSubscriptionStmt(a, b); + break; + case T_AlterSubscriptionStmt: + retval = _equalAlterSubscriptionStmt(a, b); + break; + case T_DropSubscriptionStmt: + retval = _equalDropSubscriptionStmt(a, b); + break; + case T_PathKey: + retval = _equalPathKey(a, b); + break; + case T_GroupByOrdering: + retval = _equalGroupByOrdering(a, b); + break; + case T_RestrictInfo: + retval = _equalRestrictInfo(a, b); + break; + case T_PlaceHolderVar: + retval = _equalPlaceHolderVar(a, b); + break; + case T_SpecialJoinInfo: + retval = _equalSpecialJoinInfo(a, b); + break; + case T_AppendRelInfo: + retval = _equalAppendRelInfo(a, b); + break; + case T_PlaceHolderInfo: + retval = _equalPlaceHolderInfo(a, b); + break; + case T_Bitmapset: + retval = _equalBitmapset(a, b); + break; + case T_ExtensibleNode: + retval = _equalExtensibleNode(a, b); + break; + case T_Integer: + retval = _equalInteger(a, b); + break; + case T_Float: + retval = _equalFloat(a, b); + break; + case T_Boolean: + retval = _equalBoolean(a, b); + break; + case T_String: + retval = _equalString(a, b); + break; + case T_BitString: + retval = _equalBitString(a, b); + break; diff --git a/parser/include/executor/execdesc.h b/parser/include/postgres/executor/execdesc.h similarity index 95% rename from parser/include/executor/execdesc.h rename to parser/include/postgres/executor/execdesc.h index e79e2c00..79e8b631 100644 --- a/parser/include/executor/execdesc.h +++ b/parser/include/postgres/executor/execdesc.h @@ -5,7 +5,7 @@ * and related modules. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/execdesc.h @@ -48,7 +48,7 @@ typedef struct QueryDesc EState *estate; /* executor's query-wide state */ PlanState *planstate; /* tree of per-plan-node state */ - /* This field is set by ExecutorRun */ + /* This field is set by ExecutePlan */ bool already_executed; /* true if previously executed */ /* This is always set NULL by the core system, but plugins can change it */ diff --git a/parser/include/executor/executor.h b/parser/include/postgres/executor/executor.h similarity index 90% rename from parser/include/executor/executor.h rename to parser/include/postgres/executor/executor.h index 82925b4b..6cecfbcb 100644 --- a/parser/include/executor/executor.h +++ b/parser/include/postgres/executor/executor.h @@ -4,7 +4,7 @@ * support for the POSTGRES executor module * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/executor.h @@ -36,6 +36,11 @@ * of startup should occur. However, error checks (such as permission checks) * should be performed. * + * EXPLAIN_GENERIC can only be used together with EXPLAIN_ONLY. It indicates + * that a generic plan is being shown using EXPLAIN (GENERIC_PLAN), which + * means that missing parameter values must be tolerated. Currently, the only + * effect is to suppress execution-time partition pruning. + * * REWIND indicates that the plan node should try to efficiently support * rescans without parameter changes. (Nodes must support ExecReScan calls * in any case, but if this flag was not given, they are at liberty to do it @@ -52,13 +57,18 @@ * AfterTriggerBeginQuery/AfterTriggerEndQuery. This does not necessarily * mean that the plan can't queue any AFTER triggers; just that the caller * is responsible for there being a trigger context for them to be queued in. + * + * WITH_NO_DATA indicates that we are performing REFRESH MATERIALIZED VIEW + * ... WITH NO DATA. Currently, the only effect is to suppress errors about + * scanning unpopulated materialized views. */ -#define EXEC_FLAG_EXPLAIN_ONLY 0x0001 /* EXPLAIN, no ANALYZE */ -#define EXEC_FLAG_REWIND 0x0002 /* need efficient rescan */ -#define EXEC_FLAG_BACKWARD 0x0004 /* need backward scan */ -#define EXEC_FLAG_MARK 0x0008 /* need mark/restore */ -#define EXEC_FLAG_SKIP_TRIGGERS 0x0010 /* skip AfterTrigger calls */ -#define EXEC_FLAG_WITH_NO_DATA 0x0020 /* rel scannability doesn't matter */ +#define EXEC_FLAG_EXPLAIN_ONLY 0x0001 /* EXPLAIN, no ANALYZE */ +#define EXEC_FLAG_EXPLAIN_GENERIC 0x0002 /* EXPLAIN (GENERIC_PLAN) */ +#define EXEC_FLAG_REWIND 0x0004 /* need efficient rescan */ +#define EXEC_FLAG_BACKWARD 0x0008 /* need backward scan */ +#define EXEC_FLAG_MARK 0x0010 /* need mark/restore */ +#define EXEC_FLAG_SKIP_TRIGGERS 0x0020 /* skip AfterTrigger setup */ +#define EXEC_FLAG_WITH_NO_DATA 0x0040 /* REFRESH ... WITH NO DATA */ /* Hook for plugins to get control in ExecutorStart() */ @@ -80,8 +90,10 @@ extern PGDLLIMPORT ExecutorFinish_hook_type ExecutorFinish_hook; typedef void (*ExecutorEnd_hook_type) (QueryDesc *queryDesc); extern PGDLLIMPORT ExecutorEnd_hook_type ExecutorEnd_hook; -/* Hook for plugins to get control in ExecCheckRTPerms() */ -typedef bool (*ExecutorCheckPerms_hook_type) (List *, bool); +/* Hook for plugins to get control in ExecCheckPermissions() */ +typedef bool (*ExecutorCheckPerms_hook_type) (List *rangeTable, + List *rtePermInfos, + bool ereport_on_violation); extern PGDLLIMPORT ExecutorCheckPerms_hook_type ExecutorCheckPerms_hook; @@ -196,8 +208,14 @@ extern void standard_ExecutorFinish(QueryDesc *queryDesc); extern void ExecutorEnd(QueryDesc *queryDesc); extern void standard_ExecutorEnd(QueryDesc *queryDesc); extern void ExecutorRewind(QueryDesc *queryDesc); -extern bool ExecCheckRTPerms(List *rangeTable, bool ereport_on_violation); -extern void CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation); +extern bool ExecCheckPermissions(List *rangeTable, + List *rteperminfos, bool ereport_on_violation); +extern bool ExecCheckOneRelPerms(RTEPermissionInfo *perminfo); +extern void CheckValidResultRelNew(ResultRelInfo *resultRelInfo, CmdType operation, + OnConflictAction onConflictAction, + List *mergeActions); +extern void CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation, + List *mergeActions); extern void InitResultRelInfo(ResultRelInfo *resultRelInfo, Relation resultRelationDesc, Index resultRelationIndex, @@ -218,9 +236,10 @@ extern LockTupleMode ExecUpdateLockMode(EState *estate, ResultRelInfo *relinfo); extern ExecRowMark *ExecFindRowMark(EState *estate, Index rti, bool missing_ok); extern ExecAuxRowMark *ExecBuildAuxRowMark(ExecRowMark *erm, List *targetlist); extern TupleTableSlot *EvalPlanQual(EPQState *epqstate, Relation relation, - Index rti, TupleTableSlot *testslot); + Index rti, TupleTableSlot *inputslot); extern void EvalPlanQualInit(EPQState *epqstate, EState *parentestate, - Plan *subplan, List *auxrowmarks, int epqParam); + Plan *subplan, List *auxrowmarks, + int epqParam, List *resultRelations); extern void EvalPlanQualSetPlan(EPQState *epqstate, Plan *subplan, List *auxrowmarks); extern TupleTableSlot *EvalPlanQualSlot(EPQState *epqstate, @@ -239,7 +258,7 @@ extern PlanState *ExecInitNode(Plan *node, EState *estate, int eflags); extern void ExecSetExecProcNode(PlanState *node, ExecProcNodeMtd function); extern Node *MultiExecProcNode(PlanState *node); extern void ExecEndNode(PlanState *node); -extern bool ExecShutdownNode(PlanState *node); +extern void ExecShutdownNode(PlanState *node); extern void ExecSetTupleBound(int64 tuples_needed, PlanState *child_node); @@ -432,7 +451,7 @@ ExecQualAndReset(ExprState *state, ExprContext *econtext) } #endif -extern bool ExecCheck(ExprState *state, ExprContext *context); +extern bool ExecCheck(ExprState *state, ExprContext *econtext); /* * prototypes from functions in execSRF.c @@ -473,7 +492,7 @@ extern void ExecInitResultSlot(PlanState *planstate, extern void ExecInitResultTupleSlotTL(PlanState *planstate, const TupleTableSlotOps *tts_ops); extern void ExecInitScanTupleSlot(EState *estate, ScanState *scanstate, - TupleDesc tupleDesc, + TupleDesc tupledesc, const TupleTableSlotOps *tts_ops); extern TupleTableSlot *ExecInitExtraTupleSlot(EState *estate, TupleDesc tupledesc, @@ -495,7 +514,7 @@ typedef struct TupOutputState extern TupOutputState *begin_tup_output_tupdesc(DestReceiver *dest, TupleDesc tupdesc, const TupleTableSlotOps *tts_ops); -extern void do_tup_output(TupOutputState *tstate, Datum *values, bool *isnull); +extern void do_tup_output(TupOutputState *tstate, const Datum *values, const bool *isnull); extern void do_text_output_multiline(TupOutputState *tstate, const char *txt); extern void end_tup_output(TupOutputState *tstate); @@ -555,7 +574,6 @@ extern void ExecAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc); extern void ExecConditionalAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc, int varno); -extern void ExecFreeExprContext(PlanState *planstate); extern void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc); extern void ExecCreateScanSlotFromOuterPlan(EState *estate, ScanState *scanstate, @@ -565,7 +583,7 @@ extern bool ExecRelationIsTargetRelation(EState *estate, Index scanrelid); extern Relation ExecOpenScanRelation(EState *estate, Index scanrelid, int eflags); -extern void ExecInitRangeTable(EState *estate, List *rangeTable); +extern void ExecInitRangeTable(EState *estate, List *rangeTable, List *permInfos); extern void ExecCloseRangeTableRelations(EState *estate); extern void ExecCloseResultRelations(EState *estate); @@ -600,7 +618,9 @@ extern TupleTableSlot *ExecGetTriggerOldSlot(EState *estate, ResultRelInfo *relI extern TupleTableSlot *ExecGetTriggerNewSlot(EState *estate, ResultRelInfo *relInfo); extern TupleTableSlot *ExecGetReturningSlot(EState *estate, ResultRelInfo *relInfo); extern TupleConversionMap *ExecGetChildToRootMap(ResultRelInfo *resultRelInfo); +extern TupleConversionMap *ExecGetRootToChildMap(ResultRelInfo *resultRelInfo, EState *estate); +extern Oid ExecGetResultRelCheckAsUser(ResultRelInfo *relInfo, EState *estate); extern Bitmapset *ExecGetInsertedCols(ResultRelInfo *relinfo, EState *estate); extern Bitmapset *ExecGetUpdatedCols(ResultRelInfo *relinfo, EState *estate); extern Bitmapset *ExecGetExtraUpdatedCols(ResultRelInfo *relinfo, EState *estate); @@ -615,7 +635,8 @@ extern List *ExecInsertIndexTuples(ResultRelInfo *resultRelInfo, TupleTableSlot *slot, EState *estate, bool update, bool noDupErr, - bool *specConflict, List *arbiterIndexes); + bool *specConflict, List *arbiterIndexes, + bool onlySummarizing); extern bool ExecCheckIndexConstraints(ResultRelInfo *resultRelInfo, TupleTableSlot *slot, EState *estate, ItemPointer conflictTid, @@ -623,12 +644,13 @@ extern bool ExecCheckIndexConstraints(ResultRelInfo *resultRelInfo, extern void check_exclusion_constraint(Relation heap, Relation index, IndexInfo *indexInfo, ItemPointer tupleid, - Datum *values, bool *isnull, + const Datum *values, const bool *isnull, EState *estate, bool newIndex); /* * prototypes from functions in execReplication.c */ +extern StrategyNumber get_equal_strategy_number_for_am(Oid am); extern bool RelationFindReplTupleByIndex(Relation rel, Oid idxoid, LockTupleMode lockmode, TupleTableSlot *searchslot, diff --git a/parser/include/executor/functions.h b/parser/include/postgres/executor/functions.h similarity index 95% rename from parser/include/executor/functions.h rename to parser/include/postgres/executor/functions.h index 4c20cf4d..27f948c6 100644 --- a/parser/include/executor/functions.h +++ b/parser/include/postgres/executor/functions.h @@ -4,7 +4,7 @@ * Declarations for execution of SQL-language functions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/functions.h @@ -47,6 +47,7 @@ extern void check_sql_fn_statements(List *queryTreeLists); extern bool check_sql_fn_retval(List *queryTreeLists, Oid rettype, TupleDesc rettupdesc, + char prokind, bool insertDroppedCols, List **resultTargetList); diff --git a/parser/include/postgres/executor/gokeep.go b/parser/include/postgres/executor/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/executor/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/executor/instrument.h b/parser/include/postgres/executor/instrument.h similarity index 93% rename from parser/include/executor/instrument.h rename to parser/include/postgres/executor/instrument.h index 2945cce3..bfd7b6d8 100644 --- a/parser/include/executor/instrument.h +++ b/parser/include/postgres/executor/instrument.h @@ -4,7 +4,7 @@ * definitions for run-time statistics collection * * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/executor/instrument.h * @@ -33,8 +33,10 @@ typedef struct BufferUsage int64 local_blks_written; /* # of local disk blocks written */ int64 temp_blks_read; /* # of temp blocks read */ int64 temp_blks_written; /* # of temp blocks written */ - instr_time blk_read_time; /* time spent reading blocks */ - instr_time blk_write_time; /* time spent writing blocks */ + instr_time shared_blk_read_time; /* time spent reading shared blocks */ + instr_time shared_blk_write_time; /* time spent writing shared blocks */ + instr_time local_blk_read_time; /* time spent reading local blocks */ + instr_time local_blk_write_time; /* time spent writing local blocks */ instr_time temp_blk_read_time; /* time spent reading temp blocks */ instr_time temp_blk_write_time; /* time spent writing temp blocks */ } BufferUsage; diff --git a/parser/include/executor/spi.h b/parser/include/postgres/executor/spi.h similarity index 95% rename from parser/include/executor/spi.h rename to parser/include/postgres/executor/spi.h index b2c0c748..48b87730 100644 --- a/parser/include/executor/spi.h +++ b/parser/include/postgres/executor/spi.h @@ -3,7 +3,7 @@ * spi.h * Server Programming Interface public declarations * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/spi.h @@ -97,16 +97,10 @@ typedef struct _SPI_plan *SPIPlanPtr; #define SPI_OK_REL_UNREGISTER 16 #define SPI_OK_TD_REGISTER 17 #define SPI_OK_MERGE 18 +#define SPI_OK_MERGE_RETURNING 19 #define SPI_OPT_NONATOMIC (1 << 0) -/* These used to be functions, now just no-ops for backwards compatibility */ -#define SPI_push() ((void) 0) -#define SPI_pop() ((void) 0) -#define SPI_push_conditional() false -#define SPI_pop_conditional(pushed) ((void) 0) -#define SPI_restore_connection() ((void) 0) - extern PGDLLIMPORT uint64 SPI_processed; extern PGDLLIMPORT SPITupleTable *SPI_tuptable; extern PGDLLIMPORT int SPI_result; @@ -174,7 +168,7 @@ extern void *SPI_palloc(Size size); extern void *SPI_repalloc(void *pointer, Size size); extern void SPI_pfree(void *pointer); extern Datum SPI_datumTransfer(Datum value, bool typByVal, int typLen); -extern void SPI_freetuple(HeapTuple pointer); +extern void SPI_freetuple(HeapTuple tuple); extern void SPI_freetuptable(SPITupleTable *tuptable); extern Portal SPI_cursor_open(const char *name, SPIPlanPtr plan, diff --git a/parser/include/executor/tablefunc.h b/parser/include/postgres/executor/tablefunc.h similarity index 97% rename from parser/include/executor/tablefunc.h rename to parser/include/postgres/executor/tablefunc.h index 23b7ae55..f8ceef38 100644 --- a/parser/include/executor/tablefunc.h +++ b/parser/include/postgres/executor/tablefunc.h @@ -3,7 +3,7 @@ * tablefunc.h * interface for TableFunc executor node * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/tablefunc.h diff --git a/parser/include/executor/tuptable.h b/parser/include/postgres/executor/tuptable.h similarity index 90% rename from parser/include/executor/tuptable.h rename to parser/include/postgres/executor/tuptable.h index 6306bb6f..b82655e7 100644 --- a/parser/include/executor/tuptable.h +++ b/parser/include/postgres/executor/tuptable.h @@ -4,7 +4,7 @@ * tuple table support stuff * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/executor/tuptable.h @@ -46,7 +46,6 @@ * A "minimal" tuple is handled similarly to a palloc'd regular tuple. * At present, minimal tuples never are stored in buffers, so there is no * parallel to case 1. Note that a minimal tuple has no "system columns". - * (Actually, it could have an OID, but we have no need to access the OID.) * * A "virtual" tuple is an optimization used to minimize physical data copying * in a nest of plan nodes. Until materialized pass-by-reference Datums in @@ -68,8 +67,8 @@ * A TupleTableSlot can also be "empty", indicated by flag TTS_FLAG_EMPTY set * in tts_flags, holding no valid data. This is the only valid state for a * freshly-created slot that has not yet had a tuple descriptor assigned to - * it. In this state, TTS_SHOULDFREE should not be set in tts_flags, tts_tuple - * must be NULL and tts_nvalid zero. + * it. In this state, TTS_FLAG_SHOULDFREE should not be set in tts_flags and + * tts_nvalid should be set to zero. * * The tupleDescriptor is simply referenced, not copied, by the TupleTableSlot * code. The caller of ExecSetSlotDescriptor() is responsible for providing @@ -79,8 +78,8 @@ * mechanism to do more. However, the slot will increment the tupdesc * reference count if a reference-counted tupdesc is supplied.) * - * When TTS_SHOULDFREE is set in tts_flags, the physical tuple is "owned" by - * the slot and should be freed when the slot's reference to the tuple is + * When TTS_FLAG_SHOULDFREE is set in tts_flags, the physical tuple is "owned" + * by the slot and should be freed when the slot's reference to the tuple is * dropped. * * tts_values/tts_isnull are allocated either when the slot is created (when @@ -167,6 +166,12 @@ struct TupleTableSlotOps */ Datum (*getsysattr) (TupleTableSlot *slot, int attnum, bool *isnull); + /* + * Check if the tuple is created by the current transaction. Throws an + * error if the slot doesn't contain the storage tuple. + */ + bool (*is_current_xact_tuple) (TupleTableSlot *slot); + /* * Make the contents of the slot solely depend on the slot, and not on * underlying resources (like another memory context, buffers, etc). @@ -175,7 +180,8 @@ struct TupleTableSlotOps /* * Copy the contents of the source slot into the destination slot's own - * context. Invoked using callback of the destination slot. + * context. Invoked using callback of the destination slot. 'dstslot' and + * 'srcslot' can be assumed to have the same number of attributes. */ void (*copyslot) (TupleTableSlot *dstslot, TupleTableSlot *srcslot); @@ -237,6 +243,8 @@ extern PGDLLIMPORT const TupleTableSlotOps TTSOpsBufferHeapTuple; typedef struct VirtualTupleTableSlot { + pg_node_attr(abstract) + TupleTableSlot base; char *data; /* data for materialized slots */ @@ -244,6 +252,8 @@ typedef struct VirtualTupleTableSlot typedef struct HeapTupleTableSlot { + pg_node_attr(abstract) + TupleTableSlot base; #define FIELDNO_HEAPTUPLETABLESLOT_TUPLE 1 @@ -256,19 +266,23 @@ typedef struct HeapTupleTableSlot /* heap tuple residing in a buffer */ typedef struct BufferHeapTupleTableSlot { + pg_node_attr(abstract) + HeapTupleTableSlot base; /* * If buffer is not InvalidBuffer, then the slot is holding a pin on the * indicated buffer page; drop the pin when we release the slot's * reference to that buffer. (TTS_FLAG_SHOULDFREE should not be set in - * such a case, since presumably tts_tuple is pointing into the buffer.) + * such a case, since presumably base.tuple is pointing into the buffer.) */ Buffer buffer; /* tuple's buffer, or InvalidBuffer */ } BufferHeapTupleTableSlot; typedef struct MinimalTupleTableSlot { + pg_node_attr(abstract) + TupleTableSlot base; /* @@ -366,7 +380,7 @@ slot_getallattrs(TupleTableSlot *slot) static inline bool slot_attisnull(TupleTableSlot *slot, int attnum) { - AssertArg(attnum > 0); + Assert(attnum > 0); if (attnum > slot->tts_nvalid) slot_getsomeattrs(slot, attnum); @@ -381,7 +395,7 @@ static inline Datum slot_getattr(TupleTableSlot *slot, int attnum, bool *isnull) { - AssertArg(attnum > 0); + Assert(attnum > 0); if (attnum > slot->tts_nvalid) slot_getsomeattrs(slot, attnum); @@ -401,7 +415,7 @@ slot_getattr(TupleTableSlot *slot, int attnum, static inline Datum slot_getsysattr(TupleTableSlot *slot, int attnum, bool *isnull) { - AssertArg(attnum < 0); /* caller error */ + Assert(attnum < 0); /* caller error */ if (attnum == TableOidAttributeNumber) { @@ -418,6 +432,21 @@ slot_getsysattr(TupleTableSlot *slot, int attnum, bool *isnull) return slot->tts_ops->getsysattr(slot, attnum, isnull); } +/* + * slot_is_current_xact_tuple - check if the slot's current tuple is created + * by the current transaction. + * + * If the slot does not contain a storage tuple, this will throw an error. + * Hence before calling this function, callers should make sure that the + * slot type supports storage tuples and that there is currently one inside + * the slot. + */ +static inline bool +slot_is_current_xact_tuple(TupleTableSlot *slot) +{ + return slot->tts_ops->is_current_xact_tuple(slot); +} + /* * ExecClearTuple - clear the slot's contents */ @@ -470,12 +499,19 @@ ExecCopySlotMinimalTuple(TupleTableSlot *slot) * * If a source's system attributes are supposed to be accessed in the target * slot, the target slot and source slot types need to match. + * + * Currently, 'dstslot' and 'srcslot' must have the same number of attributes. + * Future work could see this relaxed to allow the source to contain + * additional attributes and have the code here only copy over the leading + * attributes. */ static inline TupleTableSlot * ExecCopySlot(TupleTableSlot *dstslot, TupleTableSlot *srcslot) { Assert(!TTS_EMPTY(srcslot)); - AssertArg(srcslot != dstslot); + Assert(srcslot != dstslot); + Assert(dstslot->tts_tupleDescriptor->natts == + srcslot->tts_tupleDescriptor->natts); dstslot->tts_ops->copyslot(dstslot, srcslot); diff --git a/parser/include/fmgr.h b/parser/include/postgres/fmgr.h similarity index 97% rename from parser/include/fmgr.h rename to parser/include/postgres/fmgr.h index 5314b737..ccb4070a 100644 --- a/parser/include/fmgr.h +++ b/parser/include/postgres/fmgr.h @@ -8,7 +8,7 @@ * or call fmgr-callable functions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/fmgr.h @@ -413,7 +413,7 @@ typedef const Pg_finfo_record *(*PGFInfoFunction) (void); * info function, since authors shouldn't need to be explicitly aware of it. */ #define PG_FUNCTION_INFO_V1(funcname) \ -extern Datum funcname(PG_FUNCTION_ARGS); \ +extern PGDLLEXPORT Datum funcname(PG_FUNCTION_ARGS); \ extern PGDLLEXPORT const Pg_finfo_record * CppConcat(pg_finfo_,funcname)(void); \ const Pg_finfo_record * \ CppConcat(pg_finfo_,funcname) (void) \ @@ -424,6 +424,17 @@ CppConcat(pg_finfo_,funcname) (void) \ extern int no_such_variable +/* + * Declare _PG_init/_PG_fini centrally. Historically each shared library had + * its own declaration; but now that we want to mark these PGDLLEXPORT, using + * central declarations avoids each extension having to add that. Any + * existing declarations in extensions will continue to work if fmgr.h is + * included before them, otherwise compilation for Windows will fail. + */ +extern PGDLLEXPORT void _PG_init(void); +extern PGDLLEXPORT void _PG_fini(void); + + /*------------------------------------------------------------------------- * Support for verifying backend compatibility of loaded modules * @@ -689,6 +700,14 @@ extern Datum OidFunctionCall9Coll(Oid functionId, Oid collation, /* Special cases for convenient invocation of datatype I/O functions. */ extern Datum InputFunctionCall(FmgrInfo *flinfo, char *str, Oid typioparam, int32 typmod); +extern bool InputFunctionCallSafe(FmgrInfo *flinfo, char *str, + Oid typioparam, int32 typmod, + fmNodePtr escontext, + Datum *result); +extern bool DirectInputFunctionCallSafe(PGFunction func, char *str, + Oid typioparam, int32 typmod, + fmNodePtr escontext, + Datum *result); extern Datum OidInputFunctionCall(Oid functionId, char *str, Oid typioparam, int32 typmod); extern char *OutputFunctionCall(FmgrInfo *flinfo, Datum val); @@ -764,7 +783,7 @@ typedef enum FmgrHookEventType { FHET_START, FHET_END, - FHET_ABORT + FHET_ABORT, } FmgrHookEventType; typedef bool (*needs_fmgr_hook_type) (Oid fn_oid); diff --git a/parser/include/postgres/foreign/fdwapi.h b/parser/include/postgres/foreign/fdwapi.h new file mode 100644 index 00000000..fcde3876 --- /dev/null +++ b/parser/include/postgres/foreign/fdwapi.h @@ -0,0 +1,294 @@ +/*------------------------------------------------------------------------- + * + * fdwapi.h + * API for foreign-data wrappers + * + * Copyright (c) 2010-2024, PostgreSQL Global Development Group + * + * src/include/foreign/fdwapi.h + * + *------------------------------------------------------------------------- + */ +#ifndef FDWAPI_H +#define FDWAPI_H + +#include "access/parallel.h" +#include "nodes/execnodes.h" +#include "nodes/pathnodes.h" + +/* To avoid including explain.h here, reference ExplainState thus: */ +struct ExplainState; + + +/* + * Callback function signatures --- see fdwhandler.sgml for more info. + */ + +typedef void (*GetForeignRelSize_function) (PlannerInfo *root, + RelOptInfo *baserel, + Oid foreigntableid); + +typedef void (*GetForeignPaths_function) (PlannerInfo *root, + RelOptInfo *baserel, + Oid foreigntableid); + +typedef ForeignScan *(*GetForeignPlan_function) (PlannerInfo *root, + RelOptInfo *baserel, + Oid foreigntableid, + ForeignPath *best_path, + List *tlist, + List *scan_clauses, + Plan *outer_plan); + +typedef void (*BeginForeignScan_function) (ForeignScanState *node, + int eflags); + +typedef TupleTableSlot *(*IterateForeignScan_function) (ForeignScanState *node); + +typedef bool (*RecheckForeignScan_function) (ForeignScanState *node, + TupleTableSlot *slot); + +typedef void (*ReScanForeignScan_function) (ForeignScanState *node); + +typedef void (*EndForeignScan_function) (ForeignScanState *node); + +typedef void (*GetForeignJoinPaths_function) (PlannerInfo *root, + RelOptInfo *joinrel, + RelOptInfo *outerrel, + RelOptInfo *innerrel, + JoinType jointype, + JoinPathExtraData *extra); + +typedef void (*GetForeignUpperPaths_function) (PlannerInfo *root, + UpperRelationKind stage, + RelOptInfo *input_rel, + RelOptInfo *output_rel, + void *extra); + +typedef void (*AddForeignUpdateTargets_function) (PlannerInfo *root, + Index rtindex, + RangeTblEntry *target_rte, + Relation target_relation); + +typedef List *(*PlanForeignModify_function) (PlannerInfo *root, + ModifyTable *plan, + Index resultRelation, + int subplan_index); + +typedef void (*BeginForeignModify_function) (ModifyTableState *mtstate, + ResultRelInfo *rinfo, + List *fdw_private, + int subplan_index, + int eflags); + +typedef TupleTableSlot *(*ExecForeignInsert_function) (EState *estate, + ResultRelInfo *rinfo, + TupleTableSlot *slot, + TupleTableSlot *planSlot); + +typedef TupleTableSlot **(*ExecForeignBatchInsert_function) (EState *estate, + ResultRelInfo *rinfo, + TupleTableSlot **slots, + TupleTableSlot **planSlots, + int *numSlots); + +typedef int (*GetForeignModifyBatchSize_function) (ResultRelInfo *rinfo); + +typedef TupleTableSlot *(*ExecForeignUpdate_function) (EState *estate, + ResultRelInfo *rinfo, + TupleTableSlot *slot, + TupleTableSlot *planSlot); + +typedef TupleTableSlot *(*ExecForeignDelete_function) (EState *estate, + ResultRelInfo *rinfo, + TupleTableSlot *slot, + TupleTableSlot *planSlot); + +typedef void (*EndForeignModify_function) (EState *estate, + ResultRelInfo *rinfo); + +typedef void (*BeginForeignInsert_function) (ModifyTableState *mtstate, + ResultRelInfo *rinfo); + +typedef void (*EndForeignInsert_function) (EState *estate, + ResultRelInfo *rinfo); + +typedef int (*IsForeignRelUpdatable_function) (Relation rel); + +typedef bool (*PlanDirectModify_function) (PlannerInfo *root, + ModifyTable *plan, + Index resultRelation, + int subplan_index); + +typedef void (*BeginDirectModify_function) (ForeignScanState *node, + int eflags); + +typedef TupleTableSlot *(*IterateDirectModify_function) (ForeignScanState *node); + +typedef void (*EndDirectModify_function) (ForeignScanState *node); + +typedef RowMarkType (*GetForeignRowMarkType_function) (RangeTblEntry *rte, + LockClauseStrength strength); + +typedef void (*RefetchForeignRow_function) (EState *estate, + ExecRowMark *erm, + Datum rowid, + TupleTableSlot *slot, + bool *updated); + +typedef void (*ExplainForeignScan_function) (ForeignScanState *node, + struct ExplainState *es); + +typedef void (*ExplainForeignModify_function) (ModifyTableState *mtstate, + ResultRelInfo *rinfo, + List *fdw_private, + int subplan_index, + struct ExplainState *es); + +typedef void (*ExplainDirectModify_function) (ForeignScanState *node, + struct ExplainState *es); + +typedef int (*AcquireSampleRowsFunc) (Relation relation, int elevel, + HeapTuple *rows, int targrows, + double *totalrows, + double *totaldeadrows); + +typedef bool (*AnalyzeForeignTable_function) (Relation relation, + AcquireSampleRowsFunc *func, + BlockNumber *totalpages); + +typedef List *(*ImportForeignSchema_function) (ImportForeignSchemaStmt *stmt, + Oid serverOid); + +typedef void (*ExecForeignTruncate_function) (List *rels, + DropBehavior behavior, + bool restart_seqs); + +typedef Size (*EstimateDSMForeignScan_function) (ForeignScanState *node, + ParallelContext *pcxt); +typedef void (*InitializeDSMForeignScan_function) (ForeignScanState *node, + ParallelContext *pcxt, + void *coordinate); +typedef void (*ReInitializeDSMForeignScan_function) (ForeignScanState *node, + ParallelContext *pcxt, + void *coordinate); +typedef void (*InitializeWorkerForeignScan_function) (ForeignScanState *node, + shm_toc *toc, + void *coordinate); +typedef void (*ShutdownForeignScan_function) (ForeignScanState *node); +typedef bool (*IsForeignScanParallelSafe_function) (PlannerInfo *root, + RelOptInfo *rel, + RangeTblEntry *rte); +typedef List *(*ReparameterizeForeignPathByChild_function) (PlannerInfo *root, + List *fdw_private, + RelOptInfo *child_rel); + +typedef bool (*IsForeignPathAsyncCapable_function) (ForeignPath *path); + +typedef void (*ForeignAsyncRequest_function) (AsyncRequest *areq); + +typedef void (*ForeignAsyncConfigureWait_function) (AsyncRequest *areq); + +typedef void (*ForeignAsyncNotify_function) (AsyncRequest *areq); + +/* + * FdwRoutine is the struct returned by a foreign-data wrapper's handler + * function. It provides pointers to the callback functions needed by the + * planner and executor. + * + * More function pointers are likely to be added in the future. Therefore + * it's recommended that the handler initialize the struct with + * makeNode(FdwRoutine) so that all fields are set to NULL. This will + * ensure that no fields are accidentally left undefined. + */ +typedef struct FdwRoutine +{ + NodeTag type; + + /* Functions for scanning foreign tables */ + GetForeignRelSize_function GetForeignRelSize; + GetForeignPaths_function GetForeignPaths; + GetForeignPlan_function GetForeignPlan; + BeginForeignScan_function BeginForeignScan; + IterateForeignScan_function IterateForeignScan; + ReScanForeignScan_function ReScanForeignScan; + EndForeignScan_function EndForeignScan; + + /* + * Remaining functions are optional. Set the pointer to NULL for any that + * are not provided. + */ + + /* Functions for remote-join planning */ + GetForeignJoinPaths_function GetForeignJoinPaths; + + /* Functions for remote upper-relation (post scan/join) planning */ + GetForeignUpperPaths_function GetForeignUpperPaths; + + /* Functions for updating foreign tables */ + AddForeignUpdateTargets_function AddForeignUpdateTargets; + PlanForeignModify_function PlanForeignModify; + BeginForeignModify_function BeginForeignModify; + ExecForeignInsert_function ExecForeignInsert; + ExecForeignBatchInsert_function ExecForeignBatchInsert; + GetForeignModifyBatchSize_function GetForeignModifyBatchSize; + ExecForeignUpdate_function ExecForeignUpdate; + ExecForeignDelete_function ExecForeignDelete; + EndForeignModify_function EndForeignModify; + BeginForeignInsert_function BeginForeignInsert; + EndForeignInsert_function EndForeignInsert; + IsForeignRelUpdatable_function IsForeignRelUpdatable; + PlanDirectModify_function PlanDirectModify; + BeginDirectModify_function BeginDirectModify; + IterateDirectModify_function IterateDirectModify; + EndDirectModify_function EndDirectModify; + + /* Functions for SELECT FOR UPDATE/SHARE row locking */ + GetForeignRowMarkType_function GetForeignRowMarkType; + RefetchForeignRow_function RefetchForeignRow; + RecheckForeignScan_function RecheckForeignScan; + + /* Support functions for EXPLAIN */ + ExplainForeignScan_function ExplainForeignScan; + ExplainForeignModify_function ExplainForeignModify; + ExplainDirectModify_function ExplainDirectModify; + + /* Support functions for ANALYZE */ + AnalyzeForeignTable_function AnalyzeForeignTable; + + /* Support functions for IMPORT FOREIGN SCHEMA */ + ImportForeignSchema_function ImportForeignSchema; + + /* Support functions for TRUNCATE */ + ExecForeignTruncate_function ExecForeignTruncate; + + /* Support functions for parallelism under Gather node */ + IsForeignScanParallelSafe_function IsForeignScanParallelSafe; + EstimateDSMForeignScan_function EstimateDSMForeignScan; + InitializeDSMForeignScan_function InitializeDSMForeignScan; + ReInitializeDSMForeignScan_function ReInitializeDSMForeignScan; + InitializeWorkerForeignScan_function InitializeWorkerForeignScan; + ShutdownForeignScan_function ShutdownForeignScan; + + /* Support functions for path reparameterization. */ + ReparameterizeForeignPathByChild_function ReparameterizeForeignPathByChild; + + /* Support functions for asynchronous execution */ + IsForeignPathAsyncCapable_function IsForeignPathAsyncCapable; + ForeignAsyncRequest_function ForeignAsyncRequest; + ForeignAsyncConfigureWait_function ForeignAsyncConfigureWait; + ForeignAsyncNotify_function ForeignAsyncNotify; +} FdwRoutine; + + +/* Functions in foreign/foreign.c */ +extern FdwRoutine *GetFdwRoutine(Oid fdwhandler); +extern Oid GetForeignServerIdByRelId(Oid relid); +extern FdwRoutine *GetFdwRoutineByServerId(Oid serverid); +extern FdwRoutine *GetFdwRoutineByRelId(Oid relid); +extern FdwRoutine *GetFdwRoutineForRelation(Relation relation, bool makecopy); +extern bool IsImportableForeignTable(const char *tablename, + ImportForeignSchemaStmt *stmt); +extern Path *GetExistingLocalJoinPath(RelOptInfo *joinrel); + +#endif /* FDWAPI_H */ diff --git a/parser/include/postgres/foreign/gokeep.go b/parser/include/postgres/foreign/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/foreign/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/funcapi.h b/parser/include/postgres/funcapi.h similarity index 96% rename from parser/include/funcapi.h rename to parser/include/postgres/funcapi.h index 8c47054e..1529549a 100644 --- a/parser/include/funcapi.h +++ b/parser/include/postgres/funcapi.h @@ -8,7 +8,7 @@ * or call FUNCAPI-callable functions or macros. * * - * Copyright (c) 2002-2022, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * * src/include/funcapi.h * @@ -149,7 +149,7 @@ typedef enum TypeFuncClass TYPEFUNC_COMPOSITE, /* determinable rowtype result */ TYPEFUNC_COMPOSITE_DOMAIN, /* domain over determinable rowtype result */ TYPEFUNC_RECORD, /* indeterminate rowtype result */ - TYPEFUNC_OTHER /* bogus type, eg pseudotype */ + TYPEFUNC_OTHER, /* bogus type, eg pseudotype */ } TypeFuncClass; extern TypeFuncClass get_call_result_type(FunctionCallInfo fcinfo, @@ -204,7 +204,7 @@ extern TupleDesc build_function_result_tupdesc_t(HeapTuple procTuple); * Datum HeapTupleHeaderGetDatum(HeapTupleHeader tuple) - convert a * HeapTupleHeader to a Datum. * - * Macro declarations: + * Inline declarations: * HeapTupleGetDatum(HeapTuple tuple) - convert a HeapTuple to a Datum. * * Obsolete routines and macros: @@ -217,10 +217,6 @@ extern TupleDesc build_function_result_tupdesc_t(HeapTuple procTuple); *---------- */ -#define HeapTupleGetDatum(tuple) HeapTupleHeaderGetDatum((tuple)->t_data) -/* obsolete version of above */ -#define TupleGetDatum(_slot, _tuple) HeapTupleGetDatum(_tuple) - extern TupleDesc RelationNameGetTupleDesc(const char *relname); extern TupleDesc TypeGetTupleDesc(Oid typeoid, List *colaliases); @@ -230,6 +226,15 @@ extern AttInMetadata *TupleDescGetAttInMetadata(TupleDesc tupdesc); extern HeapTuple BuildTupleFromCStrings(AttInMetadata *attinmeta, char **values); extern Datum HeapTupleHeaderGetDatum(HeapTupleHeader tuple); +static inline Datum +HeapTupleGetDatum(const HeapTupleData *tuple) +{ + return HeapTupleHeaderGetDatum(tuple->t_data); +} + +/* obsolete version of above */ +#define TupleGetDatum(_slot, _tuple) HeapTupleGetDatum(_tuple) + /*---------- * Support for Set Returning Functions (SRFs) @@ -293,11 +298,6 @@ extern Datum HeapTupleHeaderGetDatum(HeapTupleHeader tuple); * BlessTupleDesc(). */ extern void InitMaterializedSRF(FunctionCallInfo fcinfo, bits32 flags); -/* Compatibility declarations, for v15 */ -#define SRF_SINGLE_USE_EXPECTED MAT_SRF_USE_EXPECTED_DESC -#define SRF_SINGLE_BLESS MAT_SRF_BLESS -extern void SetSingleFuncCall(FunctionCallInfo fcinfo, bits32 flags); - extern FuncCallContext *init_MultiFuncCall(PG_FUNCTION_ARGS); extern FuncCallContext *per_MultiFuncCall(PG_FUNCTION_ARGS); extern void end_MultiFuncCall(PG_FUNCTION_ARGS, FuncCallContext *funcctx); @@ -354,7 +354,7 @@ extern void end_MultiFuncCall(PG_FUNCTION_ARGS, FuncCallContext *funcctx); * "VARIADIC NULL". */ extern int extract_variadic_args(FunctionCallInfo fcinfo, int variadic_start, - bool convert_unknown, Datum **values, + bool convert_unknown, Datum **args, Oid **types, bool **nulls); #endif /* FUNCAPI_H */ diff --git a/parser/include/postgres/gokeep.go b/parser/include/postgres/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/gram.h b/parser/include/postgres/gram.h new file mode 100644 index 00000000..1ef12f33 --- /dev/null +++ b/parser/include/postgres/gram.h @@ -0,0 +1,1168 @@ +/* A Bison parser, made by GNU Bison 2.3. */ + +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ + +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + IDENT = 258, + UIDENT = 259, + FCONST = 260, + SCONST = 261, + USCONST = 262, + BCONST = 263, + XCONST = 264, + Op = 265, + ICONST = 266, + PARAM = 267, + TYPECAST = 268, + DOT_DOT = 269, + COLON_EQUALS = 270, + EQUALS_GREATER = 271, + LESS_EQUALS = 272, + GREATER_EQUALS = 273, + NOT_EQUALS = 274, + SQL_COMMENT = 275, + C_COMMENT = 276, + ABORT_P = 277, + ABSENT = 278, + ABSOLUTE_P = 279, + ACCESS = 280, + ACTION = 281, + ADD_P = 282, + ADMIN = 283, + AFTER = 284, + AGGREGATE = 285, + ALL = 286, + ALSO = 287, + ALTER = 288, + ALWAYS = 289, + ANALYSE = 290, + ANALYZE = 291, + AND = 292, + ANY = 293, + ARRAY = 294, + AS = 295, + ASC = 296, + ASENSITIVE = 297, + ASSERTION = 298, + ASSIGNMENT = 299, + ASYMMETRIC = 300, + ATOMIC = 301, + AT = 302, + ATTACH = 303, + ATTRIBUTE = 304, + AUTHORIZATION = 305, + BACKWARD = 306, + BEFORE = 307, + BEGIN_P = 308, + BETWEEN = 309, + BIGINT = 310, + BINARY = 311, + BIT = 312, + BOOLEAN_P = 313, + BOTH = 314, + BREADTH = 315, + BY = 316, + CACHE = 317, + CALL = 318, + CALLED = 319, + CASCADE = 320, + CASCADED = 321, + CASE = 322, + CAST = 323, + CATALOG_P = 324, + CHAIN = 325, + CHAR_P = 326, + CHARACTER = 327, + CHARACTERISTICS = 328, + CHECK = 329, + CHECKPOINT = 330, + CLASS = 331, + CLOSE = 332, + CLUSTER = 333, + COALESCE = 334, + COLLATE = 335, + COLLATION = 336, + COLUMN = 337, + COLUMNS = 338, + COMMENT = 339, + COMMENTS = 340, + COMMIT = 341, + COMMITTED = 342, + COMPRESSION = 343, + CONCURRENTLY = 344, + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778 + }; +#endif +/* Tokens. */ +#define IDENT 258 +#define UIDENT 259 +#define FCONST 260 +#define SCONST 261 +#define USCONST 262 +#define BCONST 263 +#define XCONST 264 +#define Op 265 +#define ICONST 266 +#define PARAM 267 +#define TYPECAST 268 +#define DOT_DOT 269 +#define COLON_EQUALS 270 +#define EQUALS_GREATER 271 +#define LESS_EQUALS 272 +#define GREATER_EQUALS 273 +#define NOT_EQUALS 274 +#define SQL_COMMENT 275 +#define C_COMMENT 276 +#define ABORT_P 277 +#define ABSENT 278 +#define ABSOLUTE_P 279 +#define ACCESS 280 +#define ACTION 281 +#define ADD_P 282 +#define ADMIN 283 +#define AFTER 284 +#define AGGREGATE 285 +#define ALL 286 +#define ALSO 287 +#define ALTER 288 +#define ALWAYS 289 +#define ANALYSE 290 +#define ANALYZE 291 +#define AND 292 +#define ANY 293 +#define ARRAY 294 +#define AS 295 +#define ASC 296 +#define ASENSITIVE 297 +#define ASSERTION 298 +#define ASSIGNMENT 299 +#define ASYMMETRIC 300 +#define ATOMIC 301 +#define AT 302 +#define ATTACH 303 +#define ATTRIBUTE 304 +#define AUTHORIZATION 305 +#define BACKWARD 306 +#define BEFORE 307 +#define BEGIN_P 308 +#define BETWEEN 309 +#define BIGINT 310 +#define BINARY 311 +#define BIT 312 +#define BOOLEAN_P 313 +#define BOTH 314 +#define BREADTH 315 +#define BY 316 +#define CACHE 317 +#define CALL 318 +#define CALLED 319 +#define CASCADE 320 +#define CASCADED 321 +#define CASE 322 +#define CAST 323 +#define CATALOG_P 324 +#define CHAIN 325 +#define CHAR_P 326 +#define CHARACTER 327 +#define CHARACTERISTICS 328 +#define CHECK 329 +#define CHECKPOINT 330 +#define CLASS 331 +#define CLOSE 332 +#define CLUSTER 333 +#define COALESCE 334 +#define COLLATE 335 +#define COLLATION 336 +#define COLUMN 337 +#define COLUMNS 338 +#define COMMENT 339 +#define COMMENTS 340 +#define COMMIT 341 +#define COMMITTED 342 +#define COMPRESSION 343 +#define CONCURRENTLY 344 +#define CONDITIONAL 345 +#define CONFIGURATION 346 +#define CONFLICT 347 +#define CONNECTION 348 +#define CONSTRAINT 349 +#define CONSTRAINTS 350 +#define CONTENT_P 351 +#define CONTINUE_P 352 +#define CONVERSION_P 353 +#define COPY 354 +#define COST 355 +#define CREATE 356 +#define CROSS 357 +#define CSV 358 +#define CUBE 359 +#define CURRENT_P 360 +#define CURRENT_CATALOG 361 +#define CURRENT_DATE 362 +#define CURRENT_ROLE 363 +#define CURRENT_SCHEMA 364 +#define CURRENT_TIME 365 +#define CURRENT_TIMESTAMP 366 +#define CURRENT_USER 367 +#define CURSOR 368 +#define CYCLE 369 +#define DATA_P 370 +#define DATABASE 371 +#define DAY_P 372 +#define DEALLOCATE 373 +#define DEC 374 +#define DECIMAL_P 375 +#define DECLARE 376 +#define DEFAULT 377 +#define DEFAULTS 378 +#define DEFERRABLE 379 +#define DEFERRED 380 +#define DEFINER 381 +#define DELETE_P 382 +#define DELIMITER 383 +#define DELIMITERS 384 +#define DEPENDS 385 +#define DEPTH 386 +#define DESC 387 +#define DETACH 388 +#define DICTIONARY 389 +#define DISABLE_P 390 +#define DISCARD 391 +#define DISTINCT 392 +#define DO 393 +#define DOCUMENT_P 394 +#define DOMAIN_P 395 +#define DOUBLE_P 396 +#define DROP 397 +#define EACH 398 +#define ELSE 399 +#define EMPTY_P 400 +#define ENABLE_P 401 +#define ENCODING 402 +#define ENCRYPTED 403 +#define END_P 404 +#define ENUM_P 405 +#define ERROR_P 406 +#define ESCAPE 407 +#define EVENT 408 +#define EXCEPT 409 +#define EXCLUDE 410 +#define EXCLUDING 411 +#define EXCLUSIVE 412 +#define EXECUTE 413 +#define EXISTS 414 +#define EXPLAIN 415 +#define EXPRESSION 416 +#define EXTENSION 417 +#define EXTERNAL 418 +#define EXTRACT 419 +#define FALSE_P 420 +#define FAMILY 421 +#define FETCH 422 +#define FILTER 423 +#define FINALIZE 424 +#define FIRST_P 425 +#define FLOAT_P 426 +#define FOLLOWING 427 +#define FOR 428 +#define FORCE 429 +#define FOREIGN 430 +#define FORMAT 431 +#define FORWARD 432 +#define FREEZE 433 +#define FROM 434 +#define FULL 435 +#define FUNCTION 436 +#define FUNCTIONS 437 +#define GENERATED 438 +#define GLOBAL 439 +#define GRANT 440 +#define GRANTED 441 +#define GREATEST 442 +#define GROUP_P 443 +#define GROUPING 444 +#define GROUPS 445 +#define HANDLER 446 +#define HAVING 447 +#define HEADER_P 448 +#define HOLD 449 +#define HOUR_P 450 +#define IDENTITY_P 451 +#define IF_P 452 +#define ILIKE 453 +#define IMMEDIATE 454 +#define IMMUTABLE 455 +#define IMPLICIT_P 456 +#define IMPORT_P 457 +#define IN_P 458 +#define INCLUDE 459 +#define INCLUDING 460 +#define INCREMENT 461 +#define INDENT 462 +#define INDEX 463 +#define INDEXES 464 +#define INHERIT 465 +#define INHERITS 466 +#define INITIALLY 467 +#define INLINE_P 468 +#define INNER_P 469 +#define INOUT 470 +#define INPUT_P 471 +#define INSENSITIVE 472 +#define INSERT 473 +#define INSTEAD 474 +#define INT_P 475 +#define INTEGER 476 +#define INTERSECT 477 +#define INTERVAL 478 +#define INTO 479 +#define INVOKER 480 +#define IS 481 +#define ISNULL 482 +#define ISOLATION 483 +#define JOIN 484 +#define JSON 485 +#define JSON_ARRAY 486 +#define JSON_ARRAYAGG 487 +#define JSON_EXISTS 488 +#define JSON_OBJECT 489 +#define JSON_OBJECTAGG 490 +#define JSON_QUERY 491 +#define JSON_SCALAR 492 +#define JSON_SERIALIZE 493 +#define JSON_TABLE 494 +#define JSON_VALUE 495 +#define KEEP 496 +#define KEY 497 +#define KEYS 498 +#define LABEL 499 +#define LANGUAGE 500 +#define LARGE_P 501 +#define LAST_P 502 +#define LATERAL_P 503 +#define LEADING 504 +#define LEAKPROOF 505 +#define LEAST 506 +#define LEFT 507 +#define LEVEL 508 +#define LIKE 509 +#define LIMIT 510 +#define LISTEN 511 +#define LOAD 512 +#define LOCAL 513 +#define LOCALTIME 514 +#define LOCALTIMESTAMP 515 +#define LOCATION 516 +#define LOCK_P 517 +#define LOCKED 518 +#define LOGGED 519 +#define MAPPING 520 +#define MATCH 521 +#define MATCHED 522 +#define MATERIALIZED 523 +#define MAXVALUE 524 +#define MERGE 525 +#define MERGE_ACTION 526 +#define METHOD 527 +#define MINUTE_P 528 +#define MINVALUE 529 +#define MODE 530 +#define MONTH_P 531 +#define MOVE 532 +#define NAME_P 533 +#define NAMES 534 +#define NATIONAL 535 +#define NATURAL 536 +#define NCHAR 537 +#define NESTED 538 +#define NEW 539 +#define NEXT 540 +#define NFC 541 +#define NFD 542 +#define NFKC 543 +#define NFKD 544 +#define NO 545 +#define NONE 546 +#define NORMALIZE 547 +#define NORMALIZED 548 +#define NOT 549 +#define NOTHING 550 +#define NOTIFY 551 +#define NOTNULL 552 +#define NOWAIT 553 +#define NULL_P 554 +#define NULLIF 555 +#define NULLS_P 556 +#define NUMERIC 557 +#define OBJECT_P 558 +#define OF 559 +#define OFF 560 +#define OFFSET 561 +#define OIDS 562 +#define OLD 563 +#define OMIT 564 +#define ON 565 +#define ONLY 566 +#define OPERATOR 567 +#define OPTION 568 +#define OPTIONS 569 +#define OR 570 +#define ORDER 571 +#define ORDINALITY 572 +#define OTHERS 573 +#define OUT_P 574 +#define OUTER_P 575 +#define OVER 576 +#define OVERLAPS 577 +#define OVERLAY 578 +#define OVERRIDING 579 +#define OWNED 580 +#define OWNER 581 +#define PARALLEL 582 +#define PARAMETER 583 +#define PARSER 584 +#define PARTIAL 585 +#define PARTITION 586 +#define PASSING 587 +#define PASSWORD 588 +#define PATH 589 +#define PLACING 590 +#define PLAN 591 +#define PLANS 592 +#define POLICY 593 +#define POSITION 594 +#define PRECEDING 595 +#define PRECISION 596 +#define PRESERVE 597 +#define PREPARE 598 +#define PREPARED 599 +#define PRIMARY 600 +#define PRIOR 601 +#define PRIVILEGES 602 +#define PROCEDURAL 603 +#define PROCEDURE 604 +#define PROCEDURES 605 +#define PROGRAM 606 +#define PUBLICATION 607 +#define QUOTE 608 +#define QUOTES 609 +#define RANGE 610 +#define READ 611 +#define REAL 612 +#define REASSIGN 613 +#define RECHECK 614 +#define RECURSIVE 615 +#define REF_P 616 +#define REFERENCES 617 +#define REFERENCING 618 +#define REFRESH 619 +#define REINDEX 620 +#define RELATIVE_P 621 +#define RELEASE 622 +#define RENAME 623 +#define REPEATABLE 624 +#define REPLACE 625 +#define REPLICA 626 +#define RESET 627 +#define RESTART 628 +#define RESTRICT 629 +#define RETURN 630 +#define RETURNING 631 +#define RETURNS 632 +#define REVOKE 633 +#define RIGHT 634 +#define ROLE 635 +#define ROLLBACK 636 +#define ROLLUP 637 +#define ROUTINE 638 +#define ROUTINES 639 +#define ROW 640 +#define ROWS 641 +#define RULE 642 +#define SAVEPOINT 643 +#define SCALAR 644 +#define SCHEMA 645 +#define SCHEMAS 646 +#define SCROLL 647 +#define SEARCH 648 +#define SECOND_P 649 +#define SECURITY 650 +#define SELECT 651 +#define SEQUENCE 652 +#define SEQUENCES 653 +#define SERIALIZABLE 654 +#define SERVER 655 +#define SESSION 656 +#define SESSION_USER 657 +#define SET 658 +#define SETS 659 +#define SETOF 660 +#define SHARE 661 +#define SHOW 662 +#define SIMILAR 663 +#define SIMPLE 664 +#define SKIP 665 +#define SMALLINT 666 +#define SNAPSHOT 667 +#define SOME 668 +#define SOURCE 669 +#define SQL_P 670 +#define STABLE 671 +#define STANDALONE_P 672 +#define START 673 +#define STATEMENT 674 +#define STATISTICS 675 +#define STDIN 676 +#define STDOUT 677 +#define STORAGE 678 +#define STORED 679 +#define STRICT_P 680 +#define STRING_P 681 +#define STRIP_P 682 +#define SUBSCRIPTION 683 +#define SUBSTRING 684 +#define SUPPORT 685 +#define SYMMETRIC 686 +#define SYSID 687 +#define SYSTEM_P 688 +#define SYSTEM_USER 689 +#define TABLE 690 +#define TABLES 691 +#define TABLESAMPLE 692 +#define TABLESPACE 693 +#define TARGET 694 +#define TEMP 695 +#define TEMPLATE 696 +#define TEMPORARY 697 +#define TEXT_P 698 +#define THEN 699 +#define TIES 700 +#define TIME 701 +#define TIMESTAMP 702 +#define TO 703 +#define TRAILING 704 +#define TRANSACTION 705 +#define TRANSFORM 706 +#define TREAT 707 +#define TRIGGER 708 +#define TRIM 709 +#define TRUE_P 710 +#define TRUNCATE 711 +#define TRUSTED 712 +#define TYPE_P 713 +#define TYPES_P 714 +#define UESCAPE 715 +#define UNBOUNDED 716 +#define UNCONDITIONAL 717 +#define UNCOMMITTED 718 +#define UNENCRYPTED 719 +#define UNION 720 +#define UNIQUE 721 +#define UNKNOWN 722 +#define UNLISTEN 723 +#define UNLOGGED 724 +#define UNTIL 725 +#define UPDATE 726 +#define USER 727 +#define USING 728 +#define VACUUM 729 +#define VALID 730 +#define VALIDATE 731 +#define VALIDATOR 732 +#define VALUE_P 733 +#define VALUES 734 +#define VARCHAR 735 +#define VARIADIC 736 +#define VARYING 737 +#define VERBOSE 738 +#define VERSION_P 739 +#define VIEW 740 +#define VIEWS 741 +#define VOLATILE 742 +#define WHEN 743 +#define WHERE 744 +#define WHITESPACE_P 745 +#define WINDOW 746 +#define WITH 747 +#define WITHIN 748 +#define WITHOUT 749 +#define WORK 750 +#define WRAPPER 751 +#define WRITE 752 +#define XML_P 753 +#define XMLATTRIBUTES 754 +#define XMLCONCAT 755 +#define XMLELEMENT 756 +#define XMLEXISTS 757 +#define XMLFOREST 758 +#define XMLNAMESPACES 759 +#define XMLPARSE 760 +#define XMLPI 761 +#define XMLROOT 762 +#define XMLSERIALIZE 763 +#define XMLTABLE 764 +#define YEAR_P 765 +#define YES_P 766 +#define ZONE 767 +#define FORMAT_LA 768 +#define NOT_LA 769 +#define NULLS_LA 770 +#define WITH_LA 771 +#define WITHOUT_LA 772 +#define MODE_TYPE_NAME 773 +#define MODE_PLPGSQL_EXPR 774 +#define MODE_PLPGSQL_ASSIGN1 775 +#define MODE_PLPGSQL_ASSIGN2 776 +#define MODE_PLPGSQL_ASSIGN3 777 +#define UMINUS 778 + + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +#line 233 "gram.y" +{ + core_YYSTYPE core_yystype; + /* these fields must match core_YYSTYPE: */ + int ival; + char *str; + const char *keyword; + + char chr; + bool boolean; + JoinType jtype; + DropBehavior dbehavior; + OnCommitAction oncommit; + List *list; + Node *node; + ObjectType objtype; + TypeName *typnam; + FunctionParameter *fun_param; + FunctionParameterMode fun_param_mode; + ObjectWithArgs *objwithargs; + DefElem *defelt; + SortBy *sortby; + WindowDef *windef; + JoinExpr *jexpr; + IndexElem *ielem; + StatsElem *selem; + Alias *alias; + RangeVar *range; + IntoClause *into; + WithClause *with; + InferClause *infer; + OnConflictClause *onconflict; + A_Indices *aind; + ResTarget *target; + struct PrivTarget *privtarget; + AccessPriv *accesspriv; + struct ImportQual *importqual; + InsertStmt *istmt; + VariableSetStmt *vsetstmt; + PartitionElem *partelem; + PartitionSpec *partspec; + PartitionBoundSpec *partboundspec; + RoleSpec *rolespec; + PublicationObjSpec *publicationobjectspec; + struct SelectLimit *selectlimit; + SetQuantifier setquantifier; + struct GroupClause *groupclause; + MergeMatchKind mergematch; + MergeWhenClause *mergewhen; + struct KeyActions *keyactions; + struct KeyAction *keyaction; +} +/* Line 1529 of yacc.c. */ +#line 1147 "gram.h" + YYSTYPE; +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED +typedef struct YYLTYPE +{ + int first_line; + int first_column; + int last_line; + int last_column; +} YYLTYPE; +# define yyltype YYLTYPE /* obsolescent; will be withdrawn */ +# define YYLTYPE_IS_DECLARED 1 +# define YYLTYPE_IS_TRIVIAL 1 +#endif + + diff --git a/parser/include/parser/gramparse.h b/parser/include/postgres/gramparse.h similarity index 91% rename from parser/include/parser/gramparse.h rename to parser/include/postgres/gramparse.h index d9d4ac57..d85017fb 100644 --- a/parser/include/parser/gramparse.h +++ b/parser/include/postgres/gramparse.h @@ -4,14 +4,14 @@ * Shared definitions for the "raw" parser (flex and bison phases only) * * NOTE: this file is only meant to be included in the core parsing files, - * ie, parser.c, gram.y, scan.l, and src/common/keywords.c. + * i.e., parser.c, gram.y, and scan.l. * Definitions that are needed outside the core parser should be in parser.h. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * src/include/parser/gramparse.h + * src/backend/parser/gramparse.h * *------------------------------------------------------------------------- */ @@ -26,7 +26,7 @@ * NB: include gram.h only AFTER including scanner.h, because scanner.h * is what #defines YYLTYPE. */ -#include "parser/gram.h" +#include "gram.h" /* * The YY_EXTRA data that a flex scanner allows us to pass around. Private diff --git a/parser/include/postgres/jit/gokeep.go b/parser/include/postgres/jit/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/jit/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/jit/jit.h b/parser/include/postgres/jit/jit.h similarity index 91% rename from parser/include/jit/jit.h rename to parser/include/postgres/jit/jit.h index d1940332..d9a080ce 100644 --- a/parser/include/jit/jit.h +++ b/parser/include/postgres/jit/jit.h @@ -2,7 +2,7 @@ * jit.h * Provider independent JIT infrastructure. * - * Copyright (c) 2016-2022, PostgreSQL Global Development Group + * Copyright (c) 2016-2024, PostgreSQL Global Development Group * * src/include/jit/jit.h * @@ -32,6 +32,9 @@ typedef struct JitInstrumentation /* accumulated time to generate code */ instr_time generation_counter; + /* accumulated time to deform tuples, included into generation_counter */ + instr_time deform_counter; + /* accumulated time for inlining */ instr_time inlining_counter; @@ -56,14 +59,12 @@ typedef struct JitContext /* see PGJIT_* above */ int flags; - ResourceOwner resowner; - JitInstrumentation instr; } JitContext; typedef struct JitProviderCallbacks JitProviderCallbacks; -extern void _PG_jit_provider_init(JitProviderCallbacks *cb); +extern PGDLLEXPORT void _PG_jit_provider_init(JitProviderCallbacks *cb); typedef void (*JitProviderInit) (JitProviderCallbacks *cb); typedef void (*JitProviderResetAfterErrorCB) (void); typedef void (*JitProviderReleaseContextCB) (JitContext *context); diff --git a/parser/include/postgres/kwlist_d.h b/parser/include/postgres/kwlist_d.h new file mode 100644 index 00000000..84d27db4 --- /dev/null +++ b/parser/include/postgres/kwlist_d.h @@ -0,0 +1,1164 @@ +/*------------------------------------------------------------------------- + * + * kwlist_d.h + * List of keywords represented as a ScanKeywordList. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/tools/gen_keywordlist.pl + * + *------------------------------------------------------------------------- + */ + +#ifndef KWLIST_D_H +#define KWLIST_D_H + +#include "common/kwlookup.h" + +static const char ScanKeywords_kw_string[] = + "abort\0" + "absent\0" + "absolute\0" + "access\0" + "action\0" + "add\0" + "admin\0" + "after\0" + "aggregate\0" + "all\0" + "also\0" + "alter\0" + "always\0" + "analyse\0" + "analyze\0" + "and\0" + "any\0" + "array\0" + "as\0" + "asc\0" + "asensitive\0" + "assertion\0" + "assignment\0" + "asymmetric\0" + "at\0" + "atomic\0" + "attach\0" + "attribute\0" + "authorization\0" + "backward\0" + "before\0" + "begin\0" + "between\0" + "bigint\0" + "binary\0" + "bit\0" + "boolean\0" + "both\0" + "breadth\0" + "by\0" + "cache\0" + "call\0" + "called\0" + "cascade\0" + "cascaded\0" + "case\0" + "cast\0" + "catalog\0" + "chain\0" + "char\0" + "character\0" + "characteristics\0" + "check\0" + "checkpoint\0" + "class\0" + "close\0" + "cluster\0" + "coalesce\0" + "collate\0" + "collation\0" + "column\0" + "columns\0" + "comment\0" + "comments\0" + "commit\0" + "committed\0" + "compression\0" + "concurrently\0" + "conditional\0" + "configuration\0" + "conflict\0" + "connection\0" + "constraint\0" + "constraints\0" + "content\0" + "continue\0" + "conversion\0" + "copy\0" + "cost\0" + "create\0" + "cross\0" + "csv\0" + "cube\0" + "current\0" + "current_catalog\0" + "current_date\0" + "current_role\0" + "current_schema\0" + "current_time\0" + "current_timestamp\0" + "current_user\0" + "cursor\0" + "cycle\0" + "data\0" + "database\0" + "day\0" + "deallocate\0" + "dec\0" + "decimal\0" + "declare\0" + "default\0" + "defaults\0" + "deferrable\0" + "deferred\0" + "definer\0" + "delete\0" + "delimiter\0" + "delimiters\0" + "depends\0" + "depth\0" + "desc\0" + "detach\0" + "dictionary\0" + "disable\0" + "discard\0" + "distinct\0" + "do\0" + "document\0" + "domain\0" + "double\0" + "drop\0" + "each\0" + "else\0" + "empty\0" + "enable\0" + "encoding\0" + "encrypted\0" + "end\0" + "enum\0" + "error\0" + "escape\0" + "event\0" + "except\0" + "exclude\0" + "excluding\0" + "exclusive\0" + "execute\0" + "exists\0" + "explain\0" + "expression\0" + "extension\0" + "external\0" + "extract\0" + "false\0" + "family\0" + "fetch\0" + "filter\0" + "finalize\0" + "first\0" + "float\0" + "following\0" + "for\0" + "force\0" + "foreign\0" + "format\0" + "forward\0" + "freeze\0" + "from\0" + "full\0" + "function\0" + "functions\0" + "generated\0" + "global\0" + "grant\0" + "granted\0" + "greatest\0" + "group\0" + "grouping\0" + "groups\0" + "handler\0" + "having\0" + "header\0" + "hold\0" + "hour\0" + "identity\0" + "if\0" + "ilike\0" + "immediate\0" + "immutable\0" + "implicit\0" + "import\0" + "in\0" + "include\0" + "including\0" + "increment\0" + "indent\0" + "index\0" + "indexes\0" + "inherit\0" + "inherits\0" + "initially\0" + "inline\0" + "inner\0" + "inout\0" + "input\0" + "insensitive\0" + "insert\0" + "instead\0" + "int\0" + "integer\0" + "intersect\0" + "interval\0" + "into\0" + "invoker\0" + "is\0" + "isnull\0" + "isolation\0" + "join\0" + "json\0" + "json_array\0" + "json_arrayagg\0" + "json_exists\0" + "json_object\0" + "json_objectagg\0" + "json_query\0" + "json_scalar\0" + "json_serialize\0" + "json_table\0" + "json_value\0" + "keep\0" + "key\0" + "keys\0" + "label\0" + "language\0" + "large\0" + "last\0" + "lateral\0" + "leading\0" + "leakproof\0" + "least\0" + "left\0" + "level\0" + "like\0" + "limit\0" + "listen\0" + "load\0" + "local\0" + "localtime\0" + "localtimestamp\0" + "location\0" + "lock\0" + "locked\0" + "logged\0" + "mapping\0" + "match\0" + "matched\0" + "materialized\0" + "maxvalue\0" + "merge\0" + "merge_action\0" + "method\0" + "minute\0" + "minvalue\0" + "mode\0" + "month\0" + "move\0" + "name\0" + "names\0" + "national\0" + "natural\0" + "nchar\0" + "nested\0" + "new\0" + "next\0" + "nfc\0" + "nfd\0" + "nfkc\0" + "nfkd\0" + "no\0" + "none\0" + "normalize\0" + "normalized\0" + "not\0" + "nothing\0" + "notify\0" + "notnull\0" + "nowait\0" + "null\0" + "nullif\0" + "nulls\0" + "numeric\0" + "object\0" + "of\0" + "off\0" + "offset\0" + "oids\0" + "old\0" + "omit\0" + "on\0" + "only\0" + "operator\0" + "option\0" + "options\0" + "or\0" + "order\0" + "ordinality\0" + "others\0" + "out\0" + "outer\0" + "over\0" + "overlaps\0" + "overlay\0" + "overriding\0" + "owned\0" + "owner\0" + "parallel\0" + "parameter\0" + "parser\0" + "partial\0" + "partition\0" + "passing\0" + "password\0" + "path\0" + "placing\0" + "plan\0" + "plans\0" + "policy\0" + "position\0" + "preceding\0" + "precision\0" + "prepare\0" + "prepared\0" + "preserve\0" + "primary\0" + "prior\0" + "privileges\0" + "procedural\0" + "procedure\0" + "procedures\0" + "program\0" + "publication\0" + "quote\0" + "quotes\0" + "range\0" + "read\0" + "real\0" + "reassign\0" + "recheck\0" + "recursive\0" + "ref\0" + "references\0" + "referencing\0" + "refresh\0" + "reindex\0" + "relative\0" + "release\0" + "rename\0" + "repeatable\0" + "replace\0" + "replica\0" + "reset\0" + "restart\0" + "restrict\0" + "return\0" + "returning\0" + "returns\0" + "revoke\0" + "right\0" + "role\0" + "rollback\0" + "rollup\0" + "routine\0" + "routines\0" + "row\0" + "rows\0" + "rule\0" + "savepoint\0" + "scalar\0" + "schema\0" + "schemas\0" + "scroll\0" + "search\0" + "second\0" + "security\0" + "select\0" + "sequence\0" + "sequences\0" + "serializable\0" + "server\0" + "session\0" + "session_user\0" + "set\0" + "setof\0" + "sets\0" + "share\0" + "show\0" + "similar\0" + "simple\0" + "skip\0" + "smallint\0" + "snapshot\0" + "some\0" + "source\0" + "sql\0" + "stable\0" + "standalone\0" + "start\0" + "statement\0" + "statistics\0" + "stdin\0" + "stdout\0" + "storage\0" + "stored\0" + "strict\0" + "string\0" + "strip\0" + "subscription\0" + "substring\0" + "support\0" + "symmetric\0" + "sysid\0" + "system\0" + "system_user\0" + "table\0" + "tables\0" + "tablesample\0" + "tablespace\0" + "target\0" + "temp\0" + "template\0" + "temporary\0" + "text\0" + "then\0" + "ties\0" + "time\0" + "timestamp\0" + "to\0" + "trailing\0" + "transaction\0" + "transform\0" + "treat\0" + "trigger\0" + "trim\0" + "true\0" + "truncate\0" + "trusted\0" + "type\0" + "types\0" + "uescape\0" + "unbounded\0" + "uncommitted\0" + "unconditional\0" + "unencrypted\0" + "union\0" + "unique\0" + "unknown\0" + "unlisten\0" + "unlogged\0" + "until\0" + "update\0" + "user\0" + "using\0" + "vacuum\0" + "valid\0" + "validate\0" + "validator\0" + "value\0" + "values\0" + "varchar\0" + "variadic\0" + "varying\0" + "verbose\0" + "version\0" + "view\0" + "views\0" + "volatile\0" + "when\0" + "where\0" + "whitespace\0" + "window\0" + "with\0" + "within\0" + "without\0" + "work\0" + "wrapper\0" + "write\0" + "xml\0" + "xmlattributes\0" + "xmlconcat\0" + "xmlelement\0" + "xmlexists\0" + "xmlforest\0" + "xmlnamespaces\0" + "xmlparse\0" + "xmlpi\0" + "xmlroot\0" + "xmlserialize\0" + "xmltable\0" + "year\0" + "yes\0" + "zone"; + +static const uint16 ScanKeywords_kw_offsets[] = { + 0, + 6, + 13, + 22, + 29, + 36, + 40, + 46, + 52, + 62, + 66, + 71, + 77, + 84, + 92, + 100, + 104, + 108, + 114, + 117, + 121, + 132, + 142, + 153, + 164, + 167, + 174, + 181, + 191, + 205, + 214, + 221, + 227, + 235, + 242, + 249, + 253, + 261, + 266, + 274, + 277, + 283, + 288, + 295, + 303, + 312, + 317, + 322, + 330, + 336, + 341, + 351, + 367, + 373, + 384, + 390, + 396, + 404, + 413, + 421, + 431, + 438, + 446, + 454, + 463, + 470, + 480, + 492, + 505, + 517, + 531, + 540, + 551, + 562, + 574, + 582, + 591, + 602, + 607, + 612, + 619, + 625, + 629, + 634, + 642, + 658, + 671, + 684, + 699, + 712, + 730, + 743, + 750, + 756, + 761, + 770, + 774, + 785, + 789, + 797, + 805, + 813, + 822, + 833, + 842, + 850, + 857, + 867, + 878, + 886, + 892, + 897, + 904, + 915, + 923, + 931, + 940, + 943, + 952, + 959, + 966, + 971, + 976, + 981, + 987, + 994, + 1003, + 1013, + 1017, + 1022, + 1028, + 1035, + 1041, + 1048, + 1056, + 1066, + 1076, + 1084, + 1091, + 1099, + 1110, + 1120, + 1129, + 1137, + 1143, + 1150, + 1156, + 1163, + 1172, + 1178, + 1184, + 1194, + 1198, + 1204, + 1212, + 1219, + 1227, + 1234, + 1239, + 1244, + 1253, + 1263, + 1273, + 1280, + 1286, + 1294, + 1303, + 1309, + 1318, + 1325, + 1333, + 1340, + 1347, + 1352, + 1357, + 1366, + 1369, + 1375, + 1385, + 1395, + 1404, + 1411, + 1414, + 1422, + 1432, + 1442, + 1449, + 1455, + 1463, + 1471, + 1480, + 1490, + 1497, + 1503, + 1509, + 1515, + 1527, + 1534, + 1542, + 1546, + 1554, + 1564, + 1573, + 1578, + 1586, + 1589, + 1596, + 1606, + 1611, + 1616, + 1627, + 1641, + 1653, + 1665, + 1680, + 1691, + 1703, + 1718, + 1729, + 1740, + 1745, + 1749, + 1754, + 1760, + 1769, + 1775, + 1780, + 1788, + 1796, + 1806, + 1812, + 1817, + 1823, + 1828, + 1834, + 1841, + 1846, + 1852, + 1862, + 1877, + 1886, + 1891, + 1898, + 1905, + 1913, + 1919, + 1927, + 1940, + 1949, + 1955, + 1968, + 1975, + 1982, + 1991, + 1996, + 2002, + 2007, + 2012, + 2018, + 2027, + 2035, + 2041, + 2048, + 2052, + 2057, + 2061, + 2065, + 2070, + 2075, + 2078, + 2083, + 2093, + 2104, + 2108, + 2116, + 2123, + 2131, + 2138, + 2143, + 2150, + 2156, + 2164, + 2171, + 2174, + 2178, + 2185, + 2190, + 2194, + 2199, + 2202, + 2207, + 2216, + 2223, + 2231, + 2234, + 2240, + 2251, + 2258, + 2262, + 2268, + 2273, + 2282, + 2290, + 2301, + 2307, + 2313, + 2322, + 2332, + 2339, + 2347, + 2357, + 2365, + 2374, + 2379, + 2387, + 2392, + 2398, + 2405, + 2414, + 2424, + 2434, + 2442, + 2451, + 2460, + 2468, + 2474, + 2485, + 2496, + 2506, + 2517, + 2525, + 2537, + 2543, + 2550, + 2556, + 2561, + 2566, + 2575, + 2583, + 2593, + 2597, + 2608, + 2620, + 2628, + 2636, + 2645, + 2653, + 2660, + 2671, + 2679, + 2687, + 2693, + 2701, + 2710, + 2717, + 2727, + 2735, + 2742, + 2748, + 2753, + 2762, + 2769, + 2777, + 2786, + 2790, + 2795, + 2800, + 2810, + 2817, + 2824, + 2832, + 2839, + 2846, + 2853, + 2862, + 2869, + 2878, + 2888, + 2901, + 2908, + 2916, + 2929, + 2933, + 2939, + 2944, + 2950, + 2955, + 2963, + 2970, + 2975, + 2984, + 2993, + 2998, + 3005, + 3009, + 3016, + 3027, + 3033, + 3043, + 3054, + 3060, + 3067, + 3075, + 3082, + 3089, + 3096, + 3102, + 3115, + 3125, + 3133, + 3143, + 3149, + 3156, + 3168, + 3174, + 3181, + 3193, + 3204, + 3211, + 3216, + 3225, + 3235, + 3240, + 3245, + 3250, + 3255, + 3265, + 3268, + 3277, + 3289, + 3299, + 3305, + 3313, + 3318, + 3323, + 3332, + 3340, + 3345, + 3351, + 3359, + 3369, + 3381, + 3395, + 3407, + 3413, + 3420, + 3428, + 3437, + 3446, + 3452, + 3459, + 3464, + 3470, + 3477, + 3483, + 3492, + 3502, + 3508, + 3515, + 3523, + 3532, + 3540, + 3548, + 3556, + 3561, + 3567, + 3576, + 3581, + 3587, + 3598, + 3605, + 3610, + 3617, + 3625, + 3630, + 3638, + 3644, + 3648, + 3662, + 3672, + 3683, + 3693, + 3703, + 3717, + 3726, + 3732, + 3740, + 3753, + 3762, + 3767, + 3771, +}; + +#define SCANKEYWORDS_NUM_KEYWORDS 491 + +static int +ScanKeywords_hash_func(const void *key, size_t keylen) +{ + static const int16 h[983] = { + 283, 32767, 500, 226, 291, 32767, 32767, 32767, + 467, 152, 66, 291, -300, 32767, -427, -45, + 0, 219, 224, 189, 32767, 195, 0, -507, + 324, 32767, 300, 32767, 0, 32767, 161, 32767, + 32767, 32767, 32767, 131, 32767, 101, 32767, 391, + 32767, 32767, 32767, 0, 2, 32767, 128, 418, + -291, 32767, 32767, -631, 32767, 250, 219, -142, + 133, 334, 32767, 0, 170, 32767, 516, 32767, + 307, 288, 391, 32767, 216, 319, 0, 32767, + 152, 32767, 375, 444, 433, 32767, 242, 32767, + 4, -119, 481, -13, 32767, 32767, -94, 0, + 290, -113, 32767, 137, 122, 120, 32767, 32767, + 32767, 414, -397, -45, -267, -5, 605, 32767, + 453, 514, 32767, 400, 32767, 32767, 32767, 32767, + 361, 150, 32767, 107, 172, -32, 81, -232, + -15, 830, -46, 32767, 32767, 32767, 543, -341, + 0, 32767, 288, 488, 32767, 43, 410, -99, + 32767, 384, 32767, 32767, 315, 32767, -419, -458, + 0, -459, 0, 232, 32767, 32767, 333, -413, + 32767, 584, -76, 0, -6, 125, 32767, 421, + 32767, 32767, -88, 128, -1, 15, 55, 32767, + 214, 32767, 0, 0, 166, 348, -337, 32767, + 260, 319, 32767, 180, 158, 0, 32767, 0, + -226, 0, 129, 0, 378, 517, -293, 671, + 32767, 32767, 0, 167, 305, -61, -229, 97, + 164, 88, 380, 50, 32767, 71, -637, 106, + 32767, 79, 0, 415, 32767, 0, 32767, 317, + 379, 28, 431, 0, 32767, 32767, 301, 185, + 196, 37, 32767, 142, 200, 32767, -211, -223, + -392, 99, 32767, -366, 32767, 287, 32767, 0, + -309, 0, 32767, -963, 32767, 222, 432, 32767, + 32767, 0, 32767, 32767, 266, 56, 0, 32767, + 391, 606, 32767, 32767, 360, 0, 60, 32767, + 32767, 0, 32767, 0, 325, 32767, 333, 32767, + -54, 399, 0, 28, 237, -648, 32767, 108, + 438, 32767, 221, 390, 32767, 32767, 223, 687, + 452, 125, 32767, -913, 186, 0, 32767, 32767, + 32767, 32767, 0, 0, 32767, 32767, 32767, -27, + 1087, 464, -305, 427, 898, 32767, 0, 32767, + 0, 32767, 104, 32767, 32767, 260, 1065, 0, + 703, 32767, 0, 337, 350, 767, 32767, -330, + 379, 32767, 32767, 32767, 32767, 32767, 32767, 228, + 32767, 32767, 32767, 0, -87, -48, 32767, -541, + 415, 32767, 306, 32767, 32767, 32767, -117, 15, + 0, 0, 32767, 412, -645, 223, -558, 32767, + 32767, 32767, 32767, 32767, -254, 162, -372, 0, + 0, 32767, 353, 0, 199, 32767, 664, 32767, + 32767, 0, 32767, -148, 32767, -98, 32767, 449, + 0, 32767, 383, -495, -295, 208, 0, 32767, + 511, 17, 32767, 32767, 0, 387, 32767, 32767, + 32767, 0, 32767, 32767, 2, -2, -177, 32767, + 0, 32767, 150, 32767, -471, 32767, -282, 32767, + 240, 183, 357, 423, 32767, 435, 32767, 284, + 32767, 358, 298, 195, 72, 0, 421, 535, + 32767, 426, -206, 222, 32767, 0, 466, 36, + 426, 32767, 32767, 0, 32767, 0, 32767, 70, + 479, 32767, 514, 32767, 32767, 697, 436, 43, + 155, 32767, 32767, 0, 32767, -155, 32767, 11, + 649, -376, 32767, 0, -683, -330, 361, 0, + 57, 263, -43, 32767, 383, 0, 32767, 217, + 32767, 0, 478, 32767, 0, 32767, 463, 32767, + 501, 32767, 237, 301, 545, 302, 67, 311, + 1135, 152, 0, 342, 32767, 350, 418, 32767, + 0, 428, 0, 0, -353, 381, 790, 32767, + 32767, -259, 32767, 32767, 32767, 229, 417, 0, + 232, 32767, 0, 980, 32767, 0, 0, 275, + -314, 0, 0, 32767, 32767, 32767, 32767, 32767, + 0, 0, -89, 292, 1049, 32767, 32767, -284, + 18, 32767, 175, 0, 732, 111, 32767, 428, + -167, 92, -59, 199, 0, 793, 702, -231, + 32767, 32767, 32767, 32767, 187, 549, 32767, 32767, + 32767, 32767, 69, 480, 0, 490, 430, 32767, + 32767, 32767, 32767, -2, 32767, 240, 32767, 471, + 275, 32767, 524, 17, 0, 32767, 144, 0, + 310, 371, 328, 1016, -639, 32767, 51, 32767, + -982, 32767, 0, -727, 32767, 32767, -117, -115, + 249, 32767, 32767, -6, 32767, 183, -350, 32767, + 14, 32767, 32767, 118, -137, -321, 32767, 793, + 32767, 32767, 32767, 0, 32767, 77, 204, 71, + 32767, -228, -516, 32767, 790, 389, -1, 112, + 366, 245, 32767, 0, 32767, 0, -625, 154, + -211, 32767, 32767, 105, -253, 214, 0, 203, + 392, 0, 32767, 32767, 62, 102, 32767, 32767, + 29, 0, 0, 306, 32767, 32767, -29, 194, + 0, -120, 32767, 32767, 32767, 376, 32767, 27, + 32767, 356, 32767, 0, 32767, 75, 174, 32767, + 32767, 32767, -37, 32767, 255, 124, 845, 32767, + 0, 32767, 64, 32767, -472, -648, 32767, 584, + 0, 32767, 19, 201, 32767, 0, 32767, 32767, + -414, -171, -621, 32767, -134, 0, 515, 0, + 767, 32767, 32767, 414, 32767, -88, -236, 32767, + -52, 298, -254, 32767, 39, 0, 65, 118, + 32767, 182, 32767, 134, 0, 32767, 32767, 400, + 0, 32767, 32767, 705, 0, 32767, 32767, 269, + 32767, 32767, 296, 290, 32767, 0, 0, 32767, + 61, 32767, 299, 32767, -227, 240, 32767, 0, + 32767, 32767, 32767, 129, 32767, 0, 252, 32767, + 0, -487, 32767, 0, -127, 32767, 32767, 132, + 18, 0, 32767, 32767, -154, 0, 946, 401, + 264, 378, 0, 326, 32767, 0, 465, 233, + 87, 32767, 47, 0, -357, 32767, 32767, 0, + 0, -245, 835, 887, 32767, 32767, 32767, 32767, + 32767, 334, 0, -56, 32767, -196, 0, 32767, + 32767, 32767, 154, 32767, 20, -175, 63, 537, + 32767, 358, 32767, 121, 32767, 32767, 754, 0, + 32767, 0, -113, 0, 0, 207, 0, -256, + 32767, 241, 32767, 257, 32767, 194, -595, 23, + 19, 268, 666, 231, 0, 211, 32767, 32767, + 32767, 32767, 0, 115, 136, 0, 32767, 32767, + 404, -252, -432, 0, 0, 341, 32767, 410, + 32767, -125, 9, 32767, 482, 727, 0, 32767, + 252, 0, 32767, 32767, 147, 124, 270, 10, + -124, 47, 0, 300, 445, -246, 32767, 111, + 32767, 32767, 32767, -356, 103, 81, 32767, 32767, + 32767, 32767, 280, 306, 0, 32767, 695, 32767, + -768, 32767, 32767, 0, 32767, 0, 32767, 145, + 44, 32767, 32767, 32767, 432, 136, 32767, 0, + -903, 251, 32767, -222, 370, 405, 99, 17, + 32767, 564, 32767, 32767, 32767, 0, 32767, 32767, + 32767, 141, 0, 0, 32767, 32767, 32767, 344, + 0, 464, 0, 0, 32767, 32767, 32767, 0, + 463, 32767, 32767, 329, 32767, 32767, 422, 32767, + 220, 32767, 347, 32767, -17, 253, 18 + }; + + const unsigned char *k = (const unsigned char *) key; + uint32 a = 0; + uint32 b = 0; + + while (keylen--) + { + unsigned char c = *k++ | 0x20; + + a = a * 257 + c; + b = b * 31 + c; + } + return h[a % 983] + h[b % 983]; +} + +const ScanKeywordList ScanKeywords = { + ScanKeywords_kw_string, + ScanKeywords_kw_offsets, + ScanKeywords_hash_func, + SCANKEYWORDS_NUM_KEYWORDS, + 17 +}; + +#endif /* KWLIST_D_H */ diff --git a/parser/include/lib/dshash.h b/parser/include/postgres/lib/dshash.h similarity index 74% rename from parser/include/lib/dshash.h rename to parser/include/postgres/lib/dshash.h index 28f8db2e..7dda269b 100644 --- a/parser/include/lib/dshash.h +++ b/parser/include/postgres/lib/dshash.h @@ -3,7 +3,7 @@ * dshash.h * Concurrent hash tables backed by dynamic shared memory areas. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -23,6 +23,9 @@ typedef struct dshash_table dshash_table; /* A handle for a dshash_table which can be shared with other processes. */ typedef dsa_pointer dshash_table_handle; +/* Sentinel value to use for invalid dshash_table handles. */ +#define DSHASH_HANDLE_INVALID ((dshash_table_handle) InvalidDsaPointer) + /* The type for hash values. */ typedef uint32 dshash_hash; @@ -34,17 +37,19 @@ typedef int (*dshash_compare_function) (const void *a, const void *b, typedef dshash_hash (*dshash_hash_function) (const void *v, size_t size, void *arg); +/* A function type for copying keys. */ +typedef void (*dshash_copy_function) (void *dest, const void *src, size_t size, + void *arg); + /* * The set of parameters needed to create or attach to a hash table. The - * members tranche_id and tranche_name do not need to be initialized when - * attaching to an existing hash table. + * tranche_id member does not need to be initialized when attaching to an + * existing hash table. * - * Compare and hash functions must be supplied even when attaching, because we - * can't safely share function pointers between backends in general. Either - * the arg variants or the non-arg variants should be supplied; the other - * function pointers should be NULL. If the arg variants are supplied then the - * user data pointer supplied to the create and attach functions will be - * passed to the hash and compare functions. + * Compare, hash, and copy functions must be supplied even when attaching, + * because we can't safely share function pointers between backends in general. + * The user data pointer supplied to the create and attach functions will be + * passed to these functions. */ typedef struct dshash_parameters { @@ -52,6 +57,7 @@ typedef struct dshash_parameters size_t entry_size; /* Total size of entry */ dshash_compare_function compare_function; /* Compare function */ dshash_hash_function hash_function; /* Hash function */ + dshash_copy_function copy_function; /* Copy function */ int tranche_id; /* The tranche ID to use for locks */ } dshash_parameters; @@ -102,9 +108,21 @@ extern void *dshash_seq_next(dshash_seq_status *status); extern void dshash_seq_term(dshash_seq_status *status); extern void dshash_delete_current(dshash_seq_status *status); -/* Convenience hash and compare functions wrapping memcmp and tag_hash. */ +/* + * Convenience hash, compare, and copy functions wrapping memcmp, tag_hash, and + * memcpy. + */ extern int dshash_memcmp(const void *a, const void *b, size_t size, void *arg); extern dshash_hash dshash_memhash(const void *v, size_t size, void *arg); +extern void dshash_memcpy(void *dest, const void *src, size_t size, void *arg); + +/* + * Convenience hash, compare, and copy functions wrapping strcmp, string_hash, + * and strcpy. + */ +extern int dshash_strcmp(const void *a, const void *b, size_t size, void *arg); +extern dshash_hash dshash_strhash(const void *v, size_t size, void *arg); +extern void dshash_strcpy(void *dest, const void *src, size_t size, void *arg); /* Debugging support. */ extern void dshash_dump(dshash_table *hash_table); diff --git a/parser/include/postgres/lib/gokeep.go b/parser/include/postgres/lib/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/lib/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/lib/ilist.h b/parser/include/postgres/lib/ilist.h similarity index 63% rename from parser/include/lib/ilist.h rename to parser/include/postgres/lib/ilist.h index 7ab0888f..381f6158 100644 --- a/parser/include/lib/ilist.h +++ b/parser/include/postgres/lib/ilist.h @@ -10,20 +10,36 @@ * the link fields in the remainder would be wasted space. But usually, * it saves space to not have separately-allocated list nodes.) * + * The doubly-linked list comes in 2 forms. dlist_head defines a head of a + * doubly-linked list of dlist_nodes, whereas dclist_head defines the head of + * a doubly-linked list of dlist_nodes with an additional 'count' field to + * keep track of how many items are contained within the given list. For + * simplicity, dlist_head and dclist_head share the same node and iterator + * types. The functions to manipulate a dlist_head always have a name + * starting with "dlist", whereas functions to manipulate a dclist_head have a + * name starting with "dclist". dclist_head comes with an additional function + * (dclist_count) to return the number of entries in the list. dclists are + * able to store a maximum of PG_UINT32_MAX elements. It is up to the caller + * to ensure no more than this many items are added to a dclist. + * * None of the functions here allocate any memory; they just manipulate - * externally managed memory. The APIs for singly and doubly linked lists - * are identical as far as capabilities of both allow. + * externally managed memory. With the exception doubly-linked count lists + * providing the ability to obtain the number of items in the list, the APIs + * for singly and both doubly linked lists are identical as far as + * capabilities of both allow. * * Each list has a list header, which exists even when the list is empty. * An empty singly-linked list has a NULL pointer in its header. - * There are two kinds of empty doubly linked lists: those that have been - * initialized to NULL, and those that have been initialized to circularity. + * + * For both doubly-linked list types, there are two valid ways to represent an + * empty list. The head's 'next' pointer can either be NULL or the head's + * 'next' and 'prev' links can both point back to the list head (circular). * (If a dlist is modified and then all its elements are deleted, it will be - * in the circular state.) We prefer circular dlists because there are some + * in the circular state.). We prefer circular dlists because there are some * operations that can be done without branches (and thus faster) on lists * that use circular representation. However, it is often convenient to * initialize list headers to zeroes rather than setting them up with an - * explicit initialization function, so we also allow the other case. + * explicit initialization function, so we also allow the NULL initialization. * * EXAMPLES * @@ -96,7 +112,7 @@ * } * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -146,15 +162,17 @@ typedef struct dlist_head /* - * Doubly linked list iterator. + * Doubly linked list iterator type for dlist_head and dclist_head types. * - * Used as state in dlist_foreach() and dlist_reverse_foreach(). To get the - * current element of the iteration use the 'cur' member. + * Used as state in dlist_foreach() and dlist_reverse_foreach() (and the + * dclist variant thereof). + * + * To get the current element of the iteration use the 'cur' member. * * Iterations using this are *not* allowed to change the list while iterating! * * NB: We use an extra "end" field here to avoid multiple evaluations of - * arguments in the dlist_foreach() macro. + * arguments in the dlist_foreach() and dclist_foreach() macros. */ typedef struct dlist_iter { @@ -163,10 +181,12 @@ typedef struct dlist_iter } dlist_iter; /* - * Doubly linked list iterator allowing some modifications while iterating. + * Doubly linked list iterator for both dlist_head and dclist_head types. + * This iterator type allows some modifications while iterating. * - * Used as state in dlist_foreach_modify(). To get the current element of the - * iteration use the 'cur' member. + * Used as state in dlist_foreach_modify() and dclist_foreach_modify(). + * + * To get the current element of the iteration use the 'cur' member. * * Iterations using this are only allowed to change the list at the current * point of iteration. It is fine to delete the current node, but it is *not* @@ -182,6 +202,19 @@ typedef struct dlist_mutable_iter dlist_node *end; /* last node we'll iterate to */ } dlist_mutable_iter; +/* + * Head of a doubly linked list with a count of the number of items + * + * This internally makes use of a dlist to implement the actual list. When + * items are added or removed from the list the count is updated to reflect + * the current number of items in the list. + */ +typedef struct dclist_head +{ + dlist_head dlist; /* the actual list header */ + uint32 count; /* the number of items in the list */ +} dclist_head; + /* * Node of a singly linked list. * @@ -246,17 +279,19 @@ typedef struct slist_mutable_iter /* Static initializers */ #define DLIST_STATIC_INIT(name) {{&(name).head, &(name).head}} +#define DCLIST_STATIC_INIT(name) {{{&(name).dlist.head, &(name).dlist.head}}, 0} #define SLIST_STATIC_INIT(name) {{NULL}} /* Prototypes for functions too big to be inline */ /* Caution: this is O(n); consider using slist_delete_current() instead */ -extern void slist_delete(slist_head *head, slist_node *node); +extern void slist_delete(slist_head *head, const slist_node *node); #ifdef ILIST_DEBUG -extern void dlist_check(dlist_head *head); -extern void slist_check(slist_head *head); +extern void dlist_member_check(const dlist_head *head, const dlist_node *node); +extern void dlist_check(const dlist_head *head); +extern void slist_check(const slist_head *head); #else /* * These seemingly useless casts to void are here to keep the compiler quiet @@ -264,6 +299,7 @@ extern void slist_check(slist_head *head); * in which functions the only point of passing the list head pointer is to be * able to run these checks. */ +#define dlist_member_check(head, node) ((void) (head)) #define dlist_check(head) ((void) (head)) #define slist_check(head) ((void) (head)) #endif /* ILIST_DEBUG */ @@ -280,13 +316,24 @@ dlist_init(dlist_head *head) head->head.next = head->head.prev = &head->head; } +/* + * Initialize a doubly linked list element. + * + * This is only needed when dlist_node_is_detached() may be needed. + */ +static inline void +dlist_node_init(dlist_node *node) +{ + node->next = node->prev = NULL; +} + /* * Is the list empty? * * An empty list has either its first 'next' pointer set to NULL, or to itself. */ static inline bool -dlist_is_empty(dlist_head *head) +dlist_is_empty(const dlist_head *head) { dlist_check(head); @@ -361,6 +408,41 @@ dlist_delete(dlist_node *node) node->next->prev = node->prev; } +/* + * Like dlist_delete(), but also sets next/prev to NULL to signal not being in + * a list. + */ +static inline void +dlist_delete_thoroughly(dlist_node *node) +{ + node->prev->next = node->next; + node->next->prev = node->prev; + node->next = NULL; + node->prev = NULL; +} + +/* + * Same as dlist_delete, but performs checks in ILIST_DEBUG builds to ensure + * that 'node' belongs to 'head'. + */ +static inline void +dlist_delete_from(dlist_head *head, dlist_node *node) +{ + dlist_member_check(head, node); + dlist_delete(node); +} + +/* + * Like dlist_delete_from, but also sets next/prev to NULL to signal not + * being in a list. + */ +static inline void +dlist_delete_from_thoroughly(dlist_head *head, dlist_node *node) +{ + dlist_member_check(head, node); + dlist_delete_thoroughly(node); +} + /* * Remove and return the first node from a list (there must be one). */ @@ -418,7 +500,7 @@ dlist_move_tail(dlist_head *head, dlist_node *node) * Caution: unreliable if 'node' is not in the list. */ static inline bool -dlist_has_next(dlist_head *head, dlist_node *node) +dlist_has_next(const dlist_head *head, const dlist_node *node) { return node->next != &head->head; } @@ -428,11 +510,26 @@ dlist_has_next(dlist_head *head, dlist_node *node) * Caution: unreliable if 'node' is not in the list. */ static inline bool -dlist_has_prev(dlist_head *head, dlist_node *node) +dlist_has_prev(const dlist_head *head, const dlist_node *node) { return node->prev != &head->head; } +/* + * Check if node is detached. A node is only detached if it either has been + * initialized with dlist_init_node(), or deleted with + * dlist_delete_thoroughly() / dlist_delete_from_thoroughly() / + * dclist_delete_from_thoroughly(). + */ +static inline bool +dlist_node_is_detached(const dlist_node *node) +{ + Assert((node->next == NULL && node->prev == NULL) || + (node->next != NULL && node->prev != NULL)); + + return node->next == NULL; +} + /* * Return the next node in the list (there must be one). */ @@ -562,6 +659,322 @@ dlist_tail_node(dlist_head *head) (iter).cur != (iter).end; \ (iter).cur = (iter).cur->prev) +/* doubly-linked count list implementation */ + +/* + * dclist_init + * Initialize a doubly linked count list. + * + * Previous state will be thrown away without any cleanup. + */ +static inline void +dclist_init(dclist_head *head) +{ + dlist_init(&head->dlist); + head->count = 0; +} + +/* + * dclist_is_empty + * Returns true if the list is empty, otherwise false. + */ +static inline bool +dclist_is_empty(const dclist_head *head) +{ + Assert(dlist_is_empty(&head->dlist) == (head->count == 0)); + return (head->count == 0); +} + +/* + * dclist_push_head + * Insert a node at the beginning of the list. + */ +static inline void +dclist_push_head(dclist_head *head, dlist_node *node) +{ + if (head->dlist.head.next == NULL) /* convert NULL header to circular */ + dclist_init(head); + + dlist_push_head(&head->dlist, node); + head->count++; + + Assert(head->count > 0); /* count overflow check */ +} + +/* + * dclist_push_tail + * Insert a node at the end of the list. + */ +static inline void +dclist_push_tail(dclist_head *head, dlist_node *node) +{ + if (head->dlist.head.next == NULL) /* convert NULL header to circular */ + dclist_init(head); + + dlist_push_tail(&head->dlist, node); + head->count++; + + Assert(head->count > 0); /* count overflow check */ +} + +/* + * dclist_insert_after + * Insert a node after another *in the same list* + * + * Caution: 'after' must be a member of 'head'. + */ +static inline void +dclist_insert_after(dclist_head *head, dlist_node *after, dlist_node *node) +{ + dlist_member_check(&head->dlist, after); + Assert(head->count > 0); /* must be at least 1 already */ + + dlist_insert_after(after, node); + head->count++; + + Assert(head->count > 0); /* count overflow check */ +} + +/* + * dclist_insert_before + * Insert a node before another *in the same list* + * + * Caution: 'before' must be a member of 'head'. + */ +static inline void +dclist_insert_before(dclist_head *head, dlist_node *before, dlist_node *node) +{ + dlist_member_check(&head->dlist, before); + Assert(head->count > 0); /* must be at least 1 already */ + + dlist_insert_before(before, node); + head->count++; + + Assert(head->count > 0); /* count overflow check */ +} + +/* + * dclist_delete_from + * Deletes 'node' from 'head'. + * + * Caution: 'node' must be a member of 'head'. + */ +static inline void +dclist_delete_from(dclist_head *head, dlist_node *node) +{ + Assert(head->count > 0); + + dlist_delete_from(&head->dlist, node); + head->count--; +} + +/* + * Like dclist_delete_from(), but also sets next/prev to NULL to signal not + * being in a list. + */ +static inline void +dclist_delete_from_thoroughly(dclist_head *head, dlist_node *node) +{ + Assert(head->count > 0); + + dlist_delete_from_thoroughly(&head->dlist, node); + head->count--; +} + +/* + * dclist_pop_head_node + * Remove and return the first node from a list (there must be one). + */ +static inline dlist_node * +dclist_pop_head_node(dclist_head *head) +{ + dlist_node *node; + + Assert(head->count > 0); + + node = dlist_pop_head_node(&head->dlist); + head->count--; + return node; +} + +/* + * dclist_move_head + * Move 'node' from its current position in the list to the head position + * in 'head'. + * + * Caution: 'node' must be a member of 'head'. + */ +static inline void +dclist_move_head(dclist_head *head, dlist_node *node) +{ + dlist_member_check(&head->dlist, node); + Assert(head->count > 0); + + dlist_move_head(&head->dlist, node); +} + +/* + * dclist_move_tail + * Move 'node' from its current position in the list to the tail position + * in 'head'. + * + * Caution: 'node' must be a member of 'head'. + */ +static inline void +dclist_move_tail(dclist_head *head, dlist_node *node) +{ + dlist_member_check(&head->dlist, node); + Assert(head->count > 0); + + dlist_move_tail(&head->dlist, node); +} + +/* + * dclist_has_next + * Check whether 'node' has a following node. + * + * Caution: 'node' must be a member of 'head'. + */ +static inline bool +dclist_has_next(const dclist_head *head, const dlist_node *node) +{ + dlist_member_check(&head->dlist, node); + Assert(head->count > 0); + + return dlist_has_next(&head->dlist, node); +} + +/* + * dclist_has_prev + * Check whether 'node' has a preceding node. + * + * Caution: 'node' must be a member of 'head'. + */ +static inline bool +dclist_has_prev(const dclist_head *head, const dlist_node *node) +{ + dlist_member_check(&head->dlist, node); + Assert(head->count > 0); + + return dlist_has_prev(&head->dlist, node); +} + +/* + * dclist_next_node + * Return the next node in the list (there must be one). + */ +static inline dlist_node * +dclist_next_node(dclist_head *head, dlist_node *node) +{ + Assert(head->count > 0); + + return dlist_next_node(&head->dlist, node); +} + +/* + * dclist_prev_node + * Return the prev node in the list (there must be one). + */ +static inline dlist_node * +dclist_prev_node(dclist_head *head, dlist_node *node) +{ + Assert(head->count > 0); + + return dlist_prev_node(&head->dlist, node); +} + +/* internal support function to get address of head element's struct */ +static inline void * +dclist_head_element_off(dclist_head *head, size_t off) +{ + Assert(!dclist_is_empty(head)); + + return (char *) head->dlist.head.next - off; +} + +/* + * dclist_head_node + * Return the first node in the list (there must be one). + */ +static inline dlist_node * +dclist_head_node(dclist_head *head) +{ + Assert(head->count > 0); + + return (dlist_node *) dlist_head_element_off(&head->dlist, 0); +} + +/* internal support function to get address of tail element's struct */ +static inline void * +dclist_tail_element_off(dclist_head *head, size_t off) +{ + Assert(!dclist_is_empty(head)); + + return (char *) head->dlist.head.prev - off; +} + +/* + * Return the last node in the list (there must be one). + */ +static inline dlist_node * +dclist_tail_node(dclist_head *head) +{ + Assert(head->count > 0); + + return (dlist_node *) dlist_tail_element_off(&head->dlist, 0); +} + +/* + * dclist_count + * Returns the stored number of entries in 'head' + */ +static inline uint32 +dclist_count(const dclist_head *head) +{ + Assert(dlist_is_empty(&head->dlist) == (head->count == 0)); + + return head->count; +} + +/* + * Return the containing struct of 'type' where 'membername' is the dlist_node + * pointed at by 'ptr'. + * + * This is used to convert a dlist_node * back to its containing struct. + * + * Note: This is effectively just the same as dlist_container, so reuse that. + */ +#define dclist_container(type, membername, ptr) \ + dlist_container(type, membername, ptr) + + /* + * Return the address of the first element in the list. + * + * The list must not be empty. + */ +#define dclist_head_element(type, membername, lhead) \ + (AssertVariableIsOfTypeMacro(((type *) NULL)->membername, dlist_node), \ + (type *) dclist_head_element_off(lhead, offsetof(type, membername))) + + /* + * Return the address of the last element in the list. + * + * The list must not be empty. + */ +#define dclist_tail_element(type, membername, lhead) \ + (AssertVariableIsOfTypeMacro(((type *) NULL)->membername, dlist_node), \ + ((type *) dclist_tail_element_off(lhead, offsetof(type, membername)))) + + +/* Iterators for dclists */ +#define dclist_foreach(iter, lhead) \ + dlist_foreach(iter, &((lhead)->dlist)) + +#define dclist_foreach_modify(iter, lhead) \ + dlist_foreach_modify(iter, &((lhead)->dlist)) + +#define dclist_reverse_foreach(iter, lhead) \ + dlist_reverse_foreach(iter, &((lhead)->dlist)) /* singly linked list implementation */ @@ -579,7 +992,7 @@ slist_init(slist_head *head) * Is the list empty? */ static inline bool -slist_is_empty(slist_head *head) +slist_is_empty(const slist_head *head) { slist_check(head); @@ -627,7 +1040,7 @@ slist_pop_head_node(slist_head *head) * Check whether 'node' has a following node. */ static inline bool -slist_has_next(slist_head *head, slist_node *node) +slist_has_next(const slist_head *head, const slist_node *node) { slist_check(head); diff --git a/parser/include/lib/pairingheap.h b/parser/include/postgres/lib/pairingheap.h similarity index 98% rename from parser/include/lib/pairingheap.h rename to parser/include/postgres/lib/pairingheap.h index 26b1cad5..7eade815 100644 --- a/parser/include/lib/pairingheap.h +++ b/parser/include/postgres/lib/pairingheap.h @@ -3,7 +3,7 @@ * * A Pairing Heap implementation * - * Portions Copyright (c) 2012-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2012-2024, PostgreSQL Global Development Group * * src/include/lib/pairingheap.h */ diff --git a/parser/include/lib/simplehash.h b/parser/include/postgres/lib/simplehash.h similarity index 95% rename from parser/include/lib/simplehash.h rename to parser/include/postgres/lib/simplehash.h index d03a0018..3e1b1f94 100644 --- a/parser/include/lib/simplehash.h +++ b/parser/include/postgres/lib/simplehash.h @@ -87,7 +87,7 @@ * looking or is done - buckets following a deleted element are shifted * backwards, unless they're empty or already at their optimal position. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/lib/simplehash.h @@ -128,7 +128,8 @@ #define SH_STAT SH_MAKE_NAME(stat) /* internal helper functions (no externally visible prototypes) */ -#define SH_COMPUTE_PARAMETERS SH_MAKE_NAME(compute_parameters) +#define SH_COMPUTE_SIZE SH_MAKE_NAME(compute_size) +#define SH_UPDATE_PARAMETERS SH_MAKE_NAME(update_parameters) #define SH_NEXT SH_MAKE_NAME(next) #define SH_PREV SH_MAKE_NAME(prev) #define SH_DISTANCE_FROM_OPTIMAL SH_MAKE_NAME(distance) @@ -303,11 +304,11 @@ SH_SCOPE void SH_STAT(SH_TYPE * tb); #endif /* - * Compute sizing parameters for hashtable. Called when creating and growing - * the hashtable. + * Compute allocation size for hashtable. Result can be passed to + * SH_UPDATE_PARAMETERS. */ -static inline void -SH_COMPUTE_PARAMETERS(SH_TYPE * tb, uint64 newsize) +static inline uint64 +SH_COMPUTE_SIZE(uint64 newsize) { uint64 size; @@ -325,6 +326,18 @@ SH_COMPUTE_PARAMETERS(SH_TYPE * tb, uint64 newsize) if (unlikely((((uint64) sizeof(SH_ELEMENT_TYPE)) * size) >= SIZE_MAX / 2)) sh_error("hash table too large"); + return size; +} + +/* + * Update sizing parameters for hashtable. Called when creating and growing + * the hashtable. + */ +static inline void +SH_UPDATE_PARAMETERS(SH_TYPE * tb, uint64 newsize) +{ + uint64 size = SH_COMPUTE_SIZE(newsize); + /* now set size */ tb->size = size; tb->sizemask = (uint32) (size - 1); @@ -446,10 +459,11 @@ SH_CREATE(MemoryContext ctx, uint32 nelements, void *private_data) /* increase nelements by fillfactor, want to store nelements elements */ size = Min((double) SH_MAX_SIZE, ((double) nelements) / SH_FILLFACTOR); - SH_COMPUTE_PARAMETERS(tb, size); + size = SH_COMPUTE_SIZE(size); - tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size); + tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * size); + SH_UPDATE_PARAMETERS(tb, size); return tb; } @@ -490,10 +504,15 @@ SH_GROW(SH_TYPE * tb, uint64 newsize) Assert(oldsize != SH_MAX_SIZE); Assert(oldsize < newsize); - /* compute parameters for new table */ - SH_COMPUTE_PARAMETERS(tb, newsize); + newsize = SH_COMPUTE_SIZE(newsize); - tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * tb->size); + tb->data = (SH_ELEMENT_TYPE *) SH_ALLOCATE(tb, sizeof(SH_ELEMENT_TYPE) * newsize); + + /* + * Update parameters for new table after allocation succeeds to avoid + * inconsistent state on OOM. + */ + SH_UPDATE_PARAMETERS(tb, newsize); newdata = tb->data; @@ -546,13 +565,13 @@ SH_GROW(SH_TYPE * tb, uint64 newsize) if (oldentry->status == SH_STATUS_IN_USE) { uint32 hash; - uint32 startelem; + uint32 startelem2; uint32 curelem; SH_ELEMENT_TYPE *newentry; hash = SH_ENTRY_HASH(tb, oldentry); - startelem = SH_INITIAL_BUCKET(tb, hash); - curelem = startelem; + startelem2 = SH_INITIAL_BUCKET(tb, hash); + curelem = startelem2; /* find empty element to put data into */ while (true) @@ -564,7 +583,7 @@ SH_GROW(SH_TYPE * tb, uint64 newsize) break; } - curelem = SH_NEXT(tb, curelem, startelem); + curelem = SH_NEXT(tb, curelem, startelem2); } /* copy entry to new slot */ @@ -751,9 +770,8 @@ SH_INSERT_HASH_INTERNAL(SH_TYPE * tb, SH_KEY_TYPE key, uint32 hash, bool *found) } /* - * Insert the key key into the hash-table, set *found to true if the key - * already exists, false otherwise. Returns the hash-table entry in either - * case. + * Insert the key into the hash-table, set *found to true if the key already + * exists, false otherwise. Returns the hash-table entry in either case. */ SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT(SH_TYPE * tb, SH_KEY_TYPE key, bool *found) @@ -764,9 +782,9 @@ SH_INSERT(SH_TYPE * tb, SH_KEY_TYPE key, bool *found) } /* - * Insert the key key into the hash-table using an already-calculated - * hash. Set *found to true if the key already exists, false - * otherwise. Returns the hash-table entry in either case. + * Insert the key into the hash-table using an already-calculated hash. Set + * *found to true if the key already exists, false otherwise. Returns the + * hash-table entry in either case. */ SH_SCOPE SH_ELEMENT_TYPE * SH_INSERT_HASH(SH_TYPE * tb, SH_KEY_TYPE key, uint32 hash, bool *found) @@ -810,7 +828,7 @@ SH_LOOKUP_HASH_INTERNAL(SH_TYPE * tb, SH_KEY_TYPE key, uint32 hash) } /* - * Lookup up entry in hash table. Returns NULL if key not present. + * Lookup entry in hash table. Returns NULL if key not present. */ SH_SCOPE SH_ELEMENT_TYPE * SH_LOOKUP(SH_TYPE * tb, SH_KEY_TYPE key) @@ -821,7 +839,7 @@ SH_LOOKUP(SH_TYPE * tb, SH_KEY_TYPE key) } /* - * Lookup up entry in hash table using an already-calculated hash. + * Lookup entry in hash table using an already-calculated hash. * * Returns NULL if key not present. */ @@ -964,7 +982,6 @@ SH_DELETE_ITEM(SH_TYPE * tb, SH_ELEMENT_TYPE * entry) SH_SCOPE void SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) { - int i; uint64 startelem = PG_UINT64_MAX; /* @@ -972,7 +989,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) * supported, we want to start/end at an element that cannot be affected * by elements being shifted. */ - for (i = 0; i < tb->size; i++) + for (uint32 i = 0; i < tb->size; i++) { SH_ELEMENT_TYPE *entry = &tb->data[i]; @@ -983,6 +1000,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) } } + /* we should have found an empty element */ Assert(startelem < SH_MAX_SIZE); /* @@ -1101,6 +1119,9 @@ SH_STAT(SH_TYPE * tb) max_collisions = curcoll; } + /* large enough to be worth freeing, even if just used for debugging */ + pfree(collisions); + if (tb->members > 0) { fillfactor = tb->members / ((double) tb->size); @@ -1173,7 +1194,8 @@ SH_STAT(SH_TYPE * tb) #undef SH_STAT /* internal function names */ -#undef SH_COMPUTE_PARAMETERS +#undef SH_COMPUTE_SIZE +#undef SH_UPDATE_PARAMETERS #undef SH_COMPARE_KEYS #undef SH_INITIAL_BUCKET #undef SH_NEXT diff --git a/parser/include/lib/sort_template.h b/parser/include/postgres/lib/sort_template.h similarity index 96% rename from parser/include/lib/sort_template.h rename to parser/include/postgres/lib/sort_template.h index 3122a930..00a04a6d 100644 --- a/parser/include/lib/sort_template.h +++ b/parser/include/postgres/lib/sort_template.h @@ -5,7 +5,7 @@ * A template for a sort algorithm that supports varying degrees of * specialization. * - * Copyright (c) 2021-2022, PostgreSQL Global Development Group + * Copyright (c) 2021-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1992-1994, Regents of the University of California * * Usage notes: @@ -34,6 +34,16 @@ * - ST_COMPARE(a, b, arg) - variant that takes an extra argument * - ST_COMPARE_RUNTIME_POINTER - sort function takes a function pointer * + * NB: If the comparator function is inlined, some compilers may produce + * worse code with the optimized comparison routines in common/int.h than + * with code with the following form: + * + * if (a < b) + * return -1; + * if (a > b) + * return 1; + * return 0; + * * To say that the comparator and therefore also sort function should * receive an extra pass-through argument, specify the type of the * argument. @@ -243,6 +253,9 @@ ST_SCOPE void ST_SORT(ST_ELEMENT_TYPE * first, size_t n * Find the median of three values. Currently, performance seems to be best * if the comparator is inlined here, but the med3 function is not inlined * in the qsort function. + * + * Refer to the comment at the top of this file for known caveats to consider + * when writing inlined comparator functions. */ static pg_noinline ST_ELEMENT_TYPE * ST_MED3(ST_ELEMENT_TYPE * a, diff --git a/parser/include/lib/stringinfo.h b/parser/include/postgres/lib/stringinfo.h similarity index 54% rename from parser/include/lib/stringinfo.h rename to parser/include/postgres/lib/stringinfo.h index 9b755c48..cd9632e3 100644 --- a/parser/include/lib/stringinfo.h +++ b/parser/include/postgres/lib/stringinfo.h @@ -8,7 +8,7 @@ * (null-terminated text) or arbitrary binary data. All storage is allocated * with palloc() (falling back to malloc in frontend code). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/lib/stringinfo.h @@ -20,17 +20,27 @@ /*------------------------- * StringInfoData holds information about an extensible string. - * data is the current buffer for the string (allocated with palloc). - * len is the current string length. There is guaranteed to be - * a terminating '\0' at data[len], although this is not very - * useful when the string holds binary data rather than text. + * data is the current buffer for the string. + * len is the current string length. Except in the case of read-only + * strings described below, there is guaranteed to be a + * terminating '\0' at data[len]. * maxlen is the allocated size in bytes of 'data', i.e. the maximum * string size (including the terminating '\0' char) that we can * currently store in 'data' without having to reallocate - * more space. We must always have maxlen > len. - * cursor is initialized to zero by makeStringInfo or initStringInfo, - * but is not otherwise touched by the stringinfo.c routines. - * Some routines use it to scan through a StringInfo. + * more space. We must always have maxlen > len, except + * in the read-only case described below. + * cursor is initialized to zero by makeStringInfo, initStringInfo, + * initReadOnlyStringInfo and initStringInfoFromString but is not + * otherwise touched by the stringinfo.c routines. Some routines + * use it to scan through a StringInfo. + * + * As a special case, a StringInfoData can be initialized with a read-only + * string buffer. In this case "data" does not necessarily point at a + * palloc'd chunk, and management of the buffer storage is the caller's + * responsibility. maxlen is set to zero to indicate that this is the case. + * Read-only StringInfoDatas cannot be appended to or reset. + * Also, it is caller's option whether a read-only string buffer has a + * terminating '\0' or not. This depends on the intended usage. *------------------------- */ typedef struct StringInfoData @@ -45,7 +55,7 @@ typedef StringInfoData *StringInfo; /*------------------------ - * There are two ways to create a StringInfo object initially: + * There are four ways to create a StringInfo object initially: * * StringInfo stringptr = makeStringInfo(); * Both the StringInfoData and the data buffer are palloc'd. @@ -56,8 +66,32 @@ typedef StringInfoData *StringInfo; * This is the easiest approach for a StringInfo object that will * only live as long as the current routine. * + * StringInfoData string; + * initReadOnlyStringInfo(&string, existingbuf, len); + * The StringInfoData's data field is set to point directly to the + * existing buffer and the StringInfoData's len is set to the given len. + * The given buffer can point to memory that's not managed by palloc or + * is pointing partway through a palloc'd chunk. The maxlen field is set + * to 0. A read-only StringInfo cannot be appended to using any of the + * appendStringInfo functions or reset with resetStringInfo(). The given + * buffer can optionally omit the trailing NUL. + * + * StringInfoData string; + * initStringInfoFromString(&string, palloced_buf, len); + * The StringInfoData's data field is set to point directly to the given + * buffer and the StringInfoData's len is set to the given len. This + * method of initialization is useful when the buffer already exists. + * StringInfos initialized this way can be appended to using the + * appendStringInfo functions and reset with resetStringInfo(). The + * given buffer must be NUL-terminated. The palloc'd buffer is assumed + * to be len + 1 in size. + * * To destroy a StringInfo, pfree() the data buffer, and then pfree() the - * StringInfoData if it was palloc'd. There's no special support for this. + * StringInfoData if it was palloc'd. For StringInfos created with + * makeStringInfo(), destroyStringInfo() is provided for this purpose. + * However, if the StringInfo was initialized using initReadOnlyStringInfo() + * then the caller will need to consider if it is safe to pfree the data + * buffer. * * NOTE: some routines build up a string using StringInfo, and then * release the StringInfoData but return the data string itself to their @@ -79,6 +113,48 @@ extern StringInfo makeStringInfo(void); */ extern void initStringInfo(StringInfo str); +/*------------------------ + * initReadOnlyStringInfo + * Initialize a StringInfoData struct from an existing string without copying + * the string. The caller is responsible for ensuring the given string + * remains valid as long as the StringInfoData does. Calls to this are used + * in performance critical locations where allocating a new buffer and copying + * would be too costly. Read-only StringInfoData's may not be appended to + * using any of the appendStringInfo functions or reset with + * resetStringInfo(). + * + * 'data' does not need to point directly to a palloc'd chunk of memory and may + * omit the NUL termination character at data[len]. + */ +static inline void +initReadOnlyStringInfo(StringInfo str, char *data, int len) +{ + str->data = data; + str->len = len; + str->maxlen = 0; /* read-only */ + str->cursor = 0; +} + +/*------------------------ + * initStringInfoFromString + * Initialize a StringInfoData struct from an existing string without copying + * the string. 'data' must be a valid palloc'd chunk of memory that can have + * repalloc() called should more space be required during a call to any of the + * appendStringInfo functions. + * + * 'data' must be NUL terminated at 'len' bytes. + */ +static inline void +initStringInfoFromString(StringInfo str, char *data, int len) +{ + Assert(data[len] == '\0'); + + str->data = data; + str->len = len; + str->maxlen = len + 1; + str->cursor = 0; +} + /*------------------------ * resetStringInfo * Clears the current content of the StringInfo, if any. The @@ -142,7 +218,7 @@ extern void appendStringInfoSpaces(StringInfo str, int count); * if necessary. */ extern void appendBinaryStringInfo(StringInfo str, - const char *data, int datalen); + const void *data, int datalen); /*------------------------ * appendBinaryStringInfoNT @@ -150,7 +226,7 @@ extern void appendBinaryStringInfo(StringInfo str, * if necessary. Does not ensure a trailing null-byte exists. */ extern void appendBinaryStringInfoNT(StringInfo str, - const char *data, int datalen); + const void *data, int datalen); /*------------------------ * enlargeStringInfo @@ -158,4 +234,10 @@ extern void appendBinaryStringInfoNT(StringInfo str, */ extern void enlargeStringInfo(StringInfo str, int needed); +/*------------------------ + * destroyStringInfo + * Frees a StringInfo and its buffer (opposite of makeStringInfo()). + */ +extern void destroyStringInfo(StringInfo str); + #endif /* STRINGINFO_H */ diff --git a/parser/include/libpq/auth.h b/parser/include/postgres/libpq/auth.h similarity index 71% rename from parser/include/libpq/auth.h rename to parser/include/postgres/libpq/auth.h index d3c189ef..227b41da 100644 --- a/parser/include/libpq/auth.h +++ b/parser/include/postgres/libpq/auth.h @@ -4,7 +4,7 @@ * Definitions for network authentication routines * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/auth.h @@ -18,7 +18,7 @@ extern PGDLLIMPORT char *pg_krb_server_keyfile; extern PGDLLIMPORT bool pg_krb_caseins_users; -extern PGDLLIMPORT char *pg_krb_realm; +extern PGDLLIMPORT bool pg_gss_accept_delegation; extern void ClientAuthentication(Port *port); extern void sendAuthRequest(Port *port, AuthRequest areq, const char *extradata, @@ -28,4 +28,10 @@ extern void sendAuthRequest(Port *port, AuthRequest areq, const char *extradata, typedef void (*ClientAuthentication_hook_type) (Port *, int); extern PGDLLIMPORT ClientAuthentication_hook_type ClientAuthentication_hook; +/* hook type for password manglers */ +typedef char *(*auth_password_hook_typ) (char *input); + +/* Default LDAP password mutator hook, can be overridden by a shared library */ +extern PGDLLIMPORT auth_password_hook_typ ldap_password_hook; + #endif /* AUTH_H */ diff --git a/parser/include/libpq/crypt.h b/parser/include/postgres/libpq/crypt.h similarity index 93% rename from parser/include/libpq/crypt.h rename to parser/include/postgres/libpq/crypt.h index 3238cf66..f744de4d 100644 --- a/parser/include/libpq/crypt.h +++ b/parser/include/postgres/libpq/crypt.h @@ -3,7 +3,7 @@ * crypt.h * Interface to libpq/crypt.c * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/crypt.h @@ -28,7 +28,7 @@ typedef enum PasswordType { PASSWORD_TYPE_PLAINTEXT = 0, PASSWORD_TYPE_MD5, - PASSWORD_TYPE_SCRAM_SHA_256 + PASSWORD_TYPE_SCRAM_SHA_256, } PasswordType; extern PasswordType get_password_type(const char *shadow_pass); diff --git a/parser/include/postgres/libpq/gokeep.go b/parser/include/postgres/libpq/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/libpq/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/libpq/hba.h b/parser/include/postgres/libpq/hba.h similarity index 84% rename from parser/include/libpq/hba.h rename to parser/include/postgres/libpq/hba.h index d06da818..8ea837ae 100644 --- a/parser/include/libpq/hba.h +++ b/parser/include/postgres/libpq/hba.h @@ -38,7 +38,7 @@ typedef enum UserAuth uaLDAP, uaCert, uaRADIUS, - uaPeer + uaPeer, #define USER_AUTH_LAST uaPeer /* Must be last value of this enum */ } UserAuth; @@ -51,7 +51,7 @@ typedef enum IPCompareMethod ipCmpMask, ipCmpSameHost, ipCmpSameNet, - ipCmpAll + ipCmpAll, } IPCompareMethod; typedef enum ConnType @@ -68,17 +68,32 @@ typedef enum ClientCertMode { clientCertOff, clientCertCA, - clientCertFull + clientCertFull, } ClientCertMode; typedef enum ClientCertName { clientCertCN, - clientCertDN + clientCertDN, } ClientCertName; +/* + * A single string token lexed from an authentication configuration file + * (pg_ident.conf or pg_hba.conf), together with whether the token has + * been quoted. If "string" begins with a slash, it may optionally + * contain a regular expression (currently used for pg_ident.conf when + * building IdentLines and for pg_hba.conf when building HbaLines). + */ +typedef struct AuthToken +{ + char *string; + bool quoted; + regex_t *regex; +} AuthToken; + typedef struct HbaLine { + char *sourcefile; int linenumber; char *rawline; ConnType conntype; @@ -127,22 +142,10 @@ typedef struct IdentLine int linenumber; char *usermap; - char *ident_user; - char *pg_role; - regex_t re; + AuthToken *system_user; + AuthToken *pg_user; } IdentLine; -/* - * A single string token lexed from an authentication configuration file - * (pg_ident.conf or pg_hba.conf), together with whether the token has - * been quoted. - */ -typedef struct AuthToken -{ - char *string; - bool quoted; -} AuthToken; - /* * TokenizedAuthLine represents one line lexed from an authentication * configuration file. Each item in the "fields" list is a sub-list of @@ -155,6 +158,7 @@ typedef struct AuthToken typedef struct TokenizedAuthLine { List *fields; /* List of lists of AuthTokens */ + char *file_name; /* File name of origin */ int line_num; /* Line number */ char *raw_line; /* Raw line text */ char *err_msg; /* Error message if any */ @@ -168,12 +172,15 @@ extern bool load_ident(void); extern const char *hba_authname(UserAuth auth_method); extern void hba_getauthmethod(hbaPort *port); extern int check_usermap(const char *usermap_name, - const char *pg_role, const char *auth_user, + const char *pg_user, const char *system_user, bool case_insensitive); extern HbaLine *parse_hba_line(TokenizedAuthLine *tok_line, int elevel); extern IdentLine *parse_ident_line(TokenizedAuthLine *tok_line, int elevel); extern bool pg_isblank(const char c); -extern MemoryContext tokenize_auth_file(const char *filename, FILE *file, - List **tok_lines, int elevel); +extern FILE *open_auth_file(const char *filename, int elevel, int depth, + char **err_msg); +extern void free_auth_file(FILE *file, int depth); +extern void tokenize_auth_file(const char *filename, FILE *file, + List **tok_lines, int elevel, int depth); #endif /* HBA_H */ diff --git a/parser/include/libpq/libpq-be.h b/parser/include/postgres/libpq/libpq-be.h similarity index 78% rename from parser/include/libpq/libpq-be.h rename to parser/include/postgres/libpq/libpq-be.h index 90c20da2..6a1a2274 100644 --- a/parser/include/libpq/libpq-be.h +++ b/parser/include/postgres/libpq/libpq-be.h @@ -8,7 +8,7 @@ * Structs that need to be client-visible are in pqcomm.h. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/libpq-be.h @@ -23,9 +23,7 @@ #include #include #endif -#ifdef HAVE_NETINET_TCP_H #include -#endif #ifdef ENABLE_GSS #if defined(HAVE_GSSAPI_H) @@ -33,14 +31,6 @@ #else #include #endif /* HAVE_GSSAPI_H */ -/* - * GSSAPI brings in headers that set a lot of things in the global namespace on win32, - * that doesn't match the msvc build. It gives a bunch of compiler warnings that we ignore, - * but also defines a symbol that simply does not exist. Undefine it again. - */ -#ifdef _MSC_VER -#undef HAVE_GETADDRINFO -#endif #endif /* ENABLE_GSS */ #ifdef ENABLE_SSPI @@ -68,17 +58,6 @@ typedef struct #include "libpq/pqcomm.h" -typedef enum CAC_state -{ - CAC_OK, - CAC_STARTUP, - CAC_SHUTDOWN, - CAC_RECOVERY, - CAC_NOTCONSISTENT, - CAC_TOOMANY -} CAC_state; - - /* * GSSAPI specific state information */ @@ -94,17 +73,46 @@ typedef struct * GSSAPI auth was not used */ bool auth; /* GSSAPI Authentication used */ bool enc; /* GSSAPI encryption in use */ + bool delegated_creds; /* GSSAPI Delegated credentials */ #endif } pg_gssinfo; #endif /* - * This is used by the postmaster in its communication with frontends. It - * contains all state information needed during this communication before the - * backend is run. The Port structure is kept in malloc'd memory and is - * still available when a backend is running (see MyProcPort). The data - * it points to must also be malloc'd, or else palloc'd in TopMemoryContext, - * so that it survives into PostgresMain execution! + * ClientConnectionInfo includes the fields describing the client connection + * that are copied over to parallel workers as nothing from Port does that. + * The same rules apply for allocations here as for Port (everything must be + * malloc'd or palloc'd in TopMemoryContext). + * + * If you add a struct member here, remember to also handle serialization in + * SerializeClientConnectionInfo() and co. + */ +typedef struct ClientConnectionInfo +{ + /* + * Authenticated identity. The meaning of this identifier is dependent on + * auth_method; it is the identity (if any) that the user presented during + * the authentication cycle, before they were assigned a database role. + * (It is effectively the "SYSTEM-USERNAME" of a pg_ident usermap -- + * though the exact string in use may be different, depending on pg_hba + * options.) + * + * authn_id is NULL if the user has not actually been authenticated, for + * example if the "trust" auth method is in use. + */ + const char *authn_id; + + /* + * The HBA method that determined the above authn_id. This only has + * meaning if authn_id is not NULL; otherwise it's undefined. + */ + UserAuth auth_method; +} ClientConnectionInfo; + +/* + * The Port structure holds state information about a client connection in a + * backend process. It is available in the global variable MyProcPort. The + * struct and all the data it points are kept in TopMemoryContext. * * remote_hostname is set if we did a successful reverse lookup of the * client's IP address during connection setup. @@ -134,7 +142,6 @@ typedef struct Port int remote_hostname_resolv; /* see above */ int remote_hostname_errcode; /* see above */ char *remote_port; /* text rep of remote port */ - CAC_state canAcceptConnections; /* postmaster connection status */ /* * Information that needs to be saved from the startup packet and passed @@ -158,19 +165,6 @@ typedef struct Port */ HbaLine *hba; - /* - * Authenticated identity. The meaning of this identifier is dependent on - * hba->auth_method; it is the identity (if any) that the user presented - * during the authentication cycle, before they were assigned a database - * role. (It is effectively the "SYSTEM-USERNAME" of a pg_ident usermap - * -- though the exact string in use may be different, depending on pg_hba - * options.) - * - * authn_id is NULL if the user has not actually been authenticated, for - * example if the "trust" auth method is in use. - */ - const char *authn_id; - /* * TCP keepalive and user timeout settings. * @@ -195,7 +189,8 @@ typedef struct Port /* * If GSSAPI is supported and used on this connection, store GSSAPI * information. Even when GSSAPI is not compiled in, store a NULL pointer - * to keep struct offsets the same (for extension ABI compatibility). + * to keep struct offsets of the "SSL structures" below the same (for + * extension ABI compatibility). */ pg_gssinfo *gss; #else @@ -209,17 +204,44 @@ typedef struct Port char *peer_cn; char *peer_dn; bool peer_cert_valid; + bool alpn_used; /* - * OpenSSL structures. (Keep these last so that the locations of other - * fields are the same whether or not you build with SSL enabled.) + * OpenSSL structures. */ #ifdef USE_OPENSSL SSL *ssl; X509 *peer; #endif + + /* + * This is a bit of a hack. raw_buf is data that was previously read and + * buffered in a higher layer but then "unread" and needs to be read again + * while establishing an SSL connection via the SSL library layer. + * + * There's no API to "unread", the upper layer just places the data in the + * Port structure in raw_buf and sets raw_buf_remaining to the amount of + * bytes unread and raw_buf_consumed to 0. + * + * NB: the offsets of these fields depend on USE_OPENSSL. These should + * not be accessed in an extension because of the ABI incompatibility. + */ + char *raw_buf; + ssize_t raw_buf_consumed, + raw_buf_remaining; } Port; +/* + * ClientSocket holds a socket for an accepted connection, along with the + * information about the remote endpoint. This is passed from postmaster to + * the backend process. + */ +typedef struct ClientSocket +{ + pgsocket sock; /* File descriptor */ + SockAddr raddr; /* remote addr (client) */ +} ClientSocket; + #ifdef USE_SSL /* * Hardcoded DH parameters, used in ephemeral DH keying. (See also @@ -296,14 +318,8 @@ extern void be_tls_get_peer_serial(Port *port, char *ptr, size_t len); * * The result is a palloc'd hash of the server certificate with its * size, and NULL if there is no certificate available. - * - * This is not supported with old versions of OpenSSL that don't have - * the X509_get_signature_nid() function. */ -#if defined(USE_OPENSSL) && defined(HAVE_X509_GET_SIGNATURE_NID) -#define HAVE_BE_TLS_GET_CERTIFICATE_HASH extern char *be_tls_get_certificate_hash(Port *port, size_t *len); -#endif /* init hook for SSL, the default sets the password callback if appropriate */ #ifdef USE_OPENSSL @@ -320,6 +336,7 @@ extern PGDLLIMPORT openssl_tls_init_hook_typ openssl_tls_init_hook; extern bool be_gssapi_get_auth(Port *port); extern bool be_gssapi_get_enc(Port *port); extern const char *be_gssapi_get_princ(Port *port); +extern bool be_gssapi_get_delegation(Port *port); /* Read and write to a GSSAPI-encrypted connection. */ extern ssize_t be_gssapi_read(Port *port, void *ptr, size_t len); @@ -327,6 +344,7 @@ extern ssize_t be_gssapi_write(Port *port, void *ptr, size_t len); #endif /* ENABLE_GSS */ extern PGDLLIMPORT ProtocolVersion FrontendProtocol; +extern PGDLLIMPORT ClientConnectionInfo MyClientConnectionInfo; /* TCP keepalives configuration. These are no-ops on an AF_UNIX socket. */ diff --git a/parser/include/libpq/libpq.h b/parser/include/postgres/libpq/libpq.h similarity index 91% rename from parser/include/libpq/libpq.h rename to parser/include/postgres/libpq/libpq.h index 2de7d9ba..142c9846 100644 --- a/parser/include/libpq/libpq.h +++ b/parser/include/postgres/libpq/libpq.h @@ -4,7 +4,7 @@ * POSTGRES LIBPQ buffer structure definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/libpq.h @@ -64,14 +64,13 @@ extern PGDLLIMPORT WaitEventSet *FeBeWaitSet; #define FeBeWaitSetLatchPos 1 #define FeBeWaitSetNEvents 3 -extern int StreamServerPort(int family, const char *hostName, +extern int ListenServerPort(int family, const char *hostName, unsigned short portNumber, const char *unixSocketDir, - pgsocket ListenSocket[], int MaxListen); -extern int StreamConnection(pgsocket server_fd, Port *port); -extern void StreamClose(pgsocket sock); + pgsocket ListenSockets[], int *NumListenSockets, int MaxListen); +extern int AcceptConnection(pgsocket server_fd, ClientSocket *client_sock); extern void TouchSocketFiles(void); extern void RemoveSocketFiles(void); -extern void pq_init(void); +extern Port *pq_init(ClientSocket *client_sock); extern int pq_getbytes(char *s, size_t len); extern void pq_startmsgread(void); extern void pq_endmsgread(void); @@ -80,7 +79,7 @@ extern int pq_getmessage(StringInfo s, int maxlen); extern int pq_getbyte(void); extern int pq_peekbyte(void); extern int pq_getbyte_if_available(unsigned char *c); -extern bool pq_buffer_has_data(void); +extern ssize_t pq_buffer_remaining_data(void); extern int pq_putmessage_v2(char msgtype, const char *s, size_t len); extern bool pq_check_connection(void); diff --git a/parser/include/libpq/pqcomm.h b/parser/include/postgres/libpq/pqcomm.h similarity index 68% rename from parser/include/libpq/pqcomm.h rename to parser/include/postgres/libpq/pqcomm.h index b418283d..527735e3 100644 --- a/parser/include/libpq/pqcomm.h +++ b/parser/include/postgres/libpq/pqcomm.h @@ -6,7 +6,7 @@ * NOTE: for historical reasons, this does not correspond to pqcomm.c. * pqcomm.c's routines are declared in libpq.h. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqcomm.h @@ -17,47 +17,15 @@ #define PQCOMM_H #include -#include -#ifdef HAVE_SYS_UN_H #include -#endif +#include #include -#ifdef HAVE_STRUCT_SOCKADDR_STORAGE - -#ifndef HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY -#ifdef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY -#define ss_family __ss_family -#else -#error struct sockaddr_storage does not provide an ss_family member -#endif -#endif - -#ifdef HAVE_STRUCT_SOCKADDR_STORAGE___SS_LEN -#define ss_len __ss_len -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1 -#endif -#else /* !HAVE_STRUCT_SOCKADDR_STORAGE */ - -/* Define a struct sockaddr_storage if we don't have one. */ - -struct sockaddr_storage -{ - union - { - struct sockaddr sa; /* get the system-dependent fields */ - int64 ss_align; /* ensures struct is properly aligned */ - char ss_pad[128]; /* ensures struct has desired size */ - } ss_stuff; -}; - -#define ss_family ss_stuff.sa.sa_family -/* It should have an ss_len field if sockaddr has sa_len. */ -#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN -#define ss_len ss_stuff.sa.sa_len -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1 -#endif -#endif /* HAVE_STRUCT_SOCKADDR_STORAGE */ +/* + * The definitions for the request/response codes are kept in a separate file + * for ease of use in third party programs. + */ +#include "libpq/protocol.h" typedef struct { @@ -65,6 +33,12 @@ typedef struct socklen_t salen; } SockAddr; +typedef struct +{ + int family; + SockAddr addr; +} AddrInfo; + /* Configure the UNIX socket location for the well known port. */ #define UNIXSOCK_PATH(path, port, sockdir) \ @@ -135,8 +109,6 @@ typedef ProtocolVersion MsgType; typedef uint32 PacketLen; -extern PGDLLIMPORT bool Db_user_namespace; - /* * In protocol 3.0 and later, the startup packet length is not fixed, but * we set an arbitrary limit on it anyway. This is just to prevent simple @@ -146,22 +118,6 @@ extern PGDLLIMPORT bool Db_user_namespace; #define MAX_STARTUP_PACKET_LENGTH 10000 -/* These are the authentication request codes sent by the backend. */ - -#define AUTH_REQ_OK 0 /* User is authenticated */ -#define AUTH_REQ_KRB4 1 /* Kerberos V4. Not supported any more. */ -#define AUTH_REQ_KRB5 2 /* Kerberos V5. Not supported any more. */ -#define AUTH_REQ_PASSWORD 3 /* Password */ -#define AUTH_REQ_CRYPT 4 /* crypt password. Not supported any more. */ -#define AUTH_REQ_MD5 5 /* md5 password */ -#define AUTH_REQ_SCM_CREDS 6 /* transfer SCM credentials */ -#define AUTH_REQ_GSS 7 /* GSSAPI without wrap() */ -#define AUTH_REQ_GSS_CONT 8 /* Continue GSS exchanges */ -#define AUTH_REQ_SSPI 9 /* SSPI negotiate without wrap() */ -#define AUTH_REQ_SASL 10 /* Begin SASL authentication */ -#define AUTH_REQ_SASL_CONT 11 /* Continue SASL authentication */ -#define AUTH_REQ_SASL_FIN 12 /* Final SASL message */ - typedef uint32 AuthRequest; @@ -183,6 +139,25 @@ typedef struct CancelRequestPacket uint32 cancelAuthCode; /* secret key to authorize cancel */ } CancelRequestPacket; +/* Application-Layer Protocol Negotiation is required for direct connections + * to avoid protocol confusion attacks (e.g https://alpaca-attack.com/). + * + * ALPN is specified in RFC 7301 + * + * This string should be registered at: + * https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids + * + * OpenSSL uses this wire-format for the list of alpn protocols even in the + * API. Both server and client take the same format parameter but the client + * actually sends it to the server as-is and the server it specifies the + * preference order to use to choose the one selected to send back. + * + * c.f. https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_alpn_select_cb.html + * + * The #define can be used to initialize a char[] vector to use directly in the API + */ +#define PG_ALPN_PROTOCOL "postgresql" +#define PG_ALPN_PROTOCOL_VECTOR { 10, 'p','o','s','t','g','r','e','s','q','l' } /* * A client can also start by sending a SSL or GSSAPI negotiation request to diff --git a/parser/include/libpq/pqformat.h b/parser/include/postgres/libpq/pqformat.h similarity index 97% rename from parser/include/libpq/pqformat.h rename to parser/include/postgres/libpq/pqformat.h index cd834825..7f48cbde 100644 --- a/parser/include/libpq/pqformat.h +++ b/parser/include/postgres/libpq/pqformat.h @@ -3,7 +3,7 @@ * pqformat.h * Definitions for formatting and parsing frontend/backend messages * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqformat.h @@ -22,9 +22,8 @@ extern void pq_beginmessage_reuse(StringInfo buf, char msgtype); extern void pq_endmessage(StringInfo buf); extern void pq_endmessage_reuse(StringInfo buf); -extern void pq_sendbytes(StringInfo buf, const char *data, int datalen); -extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen, - bool countincludesself); +extern void pq_sendbytes(StringInfo buf, const void *data, int datalen); +extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen); extern void pq_sendtext(StringInfo buf, const char *str, int slen); extern void pq_sendstring(StringInfo buf, const char *str); extern void pq_send_ascii_string(StringInfo buf, const char *str); diff --git a/parser/include/libpq/pqsignal.h b/parser/include/postgres/libpq/pqsignal.h similarity index 58% rename from parser/include/libpq/pqsignal.h rename to parser/include/postgres/libpq/pqsignal.h index 41227a30..cf6a3942 100644 --- a/parser/include/libpq/pqsignal.h +++ b/parser/include/postgres/libpq/pqsignal.h @@ -3,7 +3,7 @@ * pqsignal.h * Backend signal(2) support (see also src/port/pqsignal.c) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/libpq/pqsignal.h @@ -15,15 +15,30 @@ #include -#ifndef WIN32 -#define PG_SETMASK(mask) sigprocmask(SIG_SETMASK, mask, NULL) -#else +#ifdef WIN32 /* Emulate POSIX sigset_t APIs on Windows */ typedef int sigset_t; -extern int pqsigsetmask(int mask); - -#define PG_SETMASK(mask) pqsigsetmask(*(mask)) +#define SA_RESTART 1 +#define SA_NODEFER 2 + +struct sigaction +{ + void (*sa_handler) (int); + /* sa_sigaction not yet implemented */ + sigset_t sa_mask; + int sa_flags; +}; + +extern int pqsigprocmask(int how, const sigset_t *set, sigset_t *oset); +extern int pqsigaction(int signum, const struct sigaction *act, + struct sigaction *oldact); + +#define SIG_BLOCK 1 +#define SIG_UNBLOCK 2 +#define SIG_SETMASK 3 +#define sigprocmask(how, set, oset) pqsigprocmask((how), (set), (oset)) +#define sigaction(signum, act, oldact) pqsigaction((signum), (act), (oldact)) #define sigemptyset(set) (*(set) = 0) #define sigfillset(set) (*(set) = ~0) #define sigaddset(set, signum) (*(set) |= (sigmask(signum))) @@ -36,7 +51,4 @@ extern PGDLLIMPORT sigset_t StartupBlockSig; extern void pqinitmask(void); -/* pqsigfunc is declared in src/include/port.h */ -extern pqsigfunc pqsignal_pm(int signo, pqsigfunc func); - #endif /* PQSIGNAL_H */ diff --git a/parser/include/postgres/libpq/protocol.h b/parser/include/postgres/libpq/protocol.h new file mode 100644 index 00000000..b71add1e --- /dev/null +++ b/parser/include/postgres/libpq/protocol.h @@ -0,0 +1,89 @@ +/*------------------------------------------------------------------------- + * + * protocol.h + * Definitions of the request/response codes for the wire protocol. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/libpq/protocol.h + * + *------------------------------------------------------------------------- + */ +#ifndef PROTOCOL_H +#define PROTOCOL_H + +/* These are the request codes sent by the frontend. */ + +#define PqMsg_Bind 'B' +#define PqMsg_Close 'C' +#define PqMsg_Describe 'D' +#define PqMsg_Execute 'E' +#define PqMsg_FunctionCall 'F' +#define PqMsg_Flush 'H' +#define PqMsg_Parse 'P' +#define PqMsg_Query 'Q' +#define PqMsg_Sync 'S' +#define PqMsg_Terminate 'X' +#define PqMsg_CopyFail 'f' +#define PqMsg_GSSResponse 'p' +#define PqMsg_PasswordMessage 'p' +#define PqMsg_SASLInitialResponse 'p' +#define PqMsg_SASLResponse 'p' + + +/* These are the response codes sent by the backend. */ + +#define PqMsg_ParseComplete '1' +#define PqMsg_BindComplete '2' +#define PqMsg_CloseComplete '3' +#define PqMsg_NotificationResponse 'A' +#define PqMsg_CommandComplete 'C' +#define PqMsg_DataRow 'D' +#define PqMsg_ErrorResponse 'E' +#define PqMsg_CopyInResponse 'G' +#define PqMsg_CopyOutResponse 'H' +#define PqMsg_EmptyQueryResponse 'I' +#define PqMsg_BackendKeyData 'K' +#define PqMsg_NoticeResponse 'N' +#define PqMsg_AuthenticationRequest 'R' +#define PqMsg_ParameterStatus 'S' +#define PqMsg_RowDescription 'T' +#define PqMsg_FunctionCallResponse 'V' +#define PqMsg_CopyBothResponse 'W' +#define PqMsg_ReadyForQuery 'Z' +#define PqMsg_NoData 'n' +#define PqMsg_PortalSuspended 's' +#define PqMsg_ParameterDescription 't' +#define PqMsg_NegotiateProtocolVersion 'v' + + +/* These are the codes sent by both the frontend and backend. */ + +#define PqMsg_CopyDone 'c' +#define PqMsg_CopyData 'd' + + +/* These are the codes sent by parallel workers to leader processes. */ +#define PqMsg_Progress 'P' + + +/* These are the authentication request codes sent by the backend. */ + +#define AUTH_REQ_OK 0 /* User is authenticated */ +#define AUTH_REQ_KRB4 1 /* Kerberos V4. Not supported any more. */ +#define AUTH_REQ_KRB5 2 /* Kerberos V5. Not supported any more. */ +#define AUTH_REQ_PASSWORD 3 /* Password */ +#define AUTH_REQ_CRYPT 4 /* crypt password. Not supported any more. */ +#define AUTH_REQ_MD5 5 /* md5 password */ +/* 6 is available. It was used for SCM creds, not supported any more. */ +#define AUTH_REQ_GSS 7 /* GSSAPI without wrap() */ +#define AUTH_REQ_GSS_CONT 8 /* Continue GSS exchanges */ +#define AUTH_REQ_SSPI 9 /* SSPI negotiate without wrap() */ +#define AUTH_REQ_SASL 10 /* Begin SASL authentication */ +#define AUTH_REQ_SASL_CONT 11 /* Continue SASL authentication */ +#define AUTH_REQ_SASL_FIN 12 /* Final SASL message */ +#define AUTH_REQ_MAX AUTH_REQ_SASL_FIN /* maximum AUTH_REQ_* value */ + +#endif /* PROTOCOL_H */ diff --git a/parser/include/postgres/libpq/sasl.h b/parser/include/postgres/libpq/sasl.h new file mode 100644 index 00000000..7a1f970c --- /dev/null +++ b/parser/include/postgres/libpq/sasl.h @@ -0,0 +1,136 @@ +/*------------------------------------------------------------------------- + * + * sasl.h + * Defines the SASL mechanism interface for the backend. + * + * Each SASL mechanism defines a frontend and a backend callback structure. + * + * See src/interfaces/libpq/fe-auth-sasl.h for the frontend counterpart. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/libpq/sasl.h + * + *------------------------------------------------------------------------- + */ + +#ifndef PG_SASL_H +#define PG_SASL_H + +#include "lib/stringinfo.h" +#include "libpq/libpq-be.h" + +/* Status codes for message exchange */ +#define PG_SASL_EXCHANGE_CONTINUE 0 +#define PG_SASL_EXCHANGE_SUCCESS 1 +#define PG_SASL_EXCHANGE_FAILURE 2 + +/* + * Backend SASL mechanism callbacks. + * + * To implement a backend mechanism, declare a pg_be_sasl_mech struct with + * appropriate callback implementations. Then pass the mechanism to + * CheckSASLAuth() during ClientAuthentication(), once the server has decided + * which authentication method to use. + */ +typedef struct pg_be_sasl_mech +{ + /*--------- + * get_mechanisms() + * + * Retrieves the list of SASL mechanism names supported by this + * implementation. + * + * Input parameters: + * + * port: The client Port + * + * Output parameters: + * + * buf: A StringInfo buffer that the callback should populate with + * supported mechanism names. The names are appended into this + * StringInfo, each one ending with '\0' bytes. + *--------- + */ + void (*get_mechanisms) (Port *port, StringInfo buf); + + /*--------- + * init() + * + * Initializes mechanism-specific state for a connection. This callback + * must return a pointer to its allocated state, which will be passed + * as-is as the first argument to the other callbacks. + * + * Input parameters: + * + * port: The client Port. + * + * mech: The actual mechanism name in use by the client. + * + * shadow_pass: The stored secret for the role being authenticated, or + * NULL if one does not exist. Mechanisms that do not use + * shadow entries may ignore this parameter. If a + * mechanism uses shadow entries but shadow_pass is NULL, + * the implementation must continue the exchange as if the + * user existed and the password did not match, to avoid + * disclosing valid user names. + *--------- + */ + void *(*init) (Port *port, const char *mech, const char *shadow_pass); + + /*--------- + * exchange() + * + * Produces a server challenge to be sent to the client. The callback + * must return one of the PG_SASL_EXCHANGE_* values, depending on + * whether the exchange continues, has finished successfully, or has + * failed. + * + * Input parameters: + * + * state: The opaque mechanism state returned by init() + * + * input: The response data sent by the client, or NULL if the + * mechanism is client-first but the client did not send an + * initial response. (This can only happen during the first + * message from the client.) This is guaranteed to be + * null-terminated for safety, but SASL allows embedded + * nulls in responses, so mechanisms must be careful to + * check inputlen. + * + * inputlen: The length of the challenge data sent by the server, or + * -1 if the client did not send an initial response + * + * Output parameters, to be set by the callback function: + * + * output: A palloc'd buffer containing either the server's next + * challenge (if PG_SASL_EXCHANGE_CONTINUE is returned) or + * the server's outcome data (if PG_SASL_EXCHANGE_SUCCESS is + * returned and the mechanism requires data to be sent during + * a successful outcome). The callback should set this to + * NULL if the exchange is over and no output should be sent, + * which should correspond to either PG_SASL_EXCHANGE_FAILURE + * or a PG_SASL_EXCHANGE_SUCCESS with no outcome data. + * + * outputlen: The length of the challenge data. Ignored if *output is + * NULL. + * + * logdetail: Set to an optional DETAIL message to be printed to the + * server log, to disambiguate failure modes. (The client + * will only ever see the same generic authentication + * failure message.) Ignored if the exchange is completed + * with PG_SASL_EXCHANGE_SUCCESS. + *--------- + */ + int (*exchange) (void *state, + const char *input, int inputlen, + char **output, int *outputlen, + const char **logdetail); +} pg_be_sasl_mech; + +/* Common implementation for auth.c */ +extern int CheckSASLAuth(const pg_be_sasl_mech *mech, Port *port, + char *shadow_pass, const char **logdetail); + +#endif /* PG_SASL_H */ diff --git a/parser/include/postgres/libpq/scram.h b/parser/include/postgres/libpq/scram.h new file mode 100644 index 00000000..2ae90105 --- /dev/null +++ b/parser/include/postgres/libpq/scram.h @@ -0,0 +1,37 @@ +/*------------------------------------------------------------------------- + * + * scram.h + * Interface to libpq/scram.c + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/libpq/scram.h + * + *------------------------------------------------------------------------- + */ +#ifndef PG_SCRAM_H +#define PG_SCRAM_H + +#include "common/cryptohash.h" +#include "lib/stringinfo.h" +#include "libpq/libpq-be.h" +#include "libpq/sasl.h" + +/* Number of iterations when generating new secrets */ +extern PGDLLIMPORT int scram_sha_256_iterations; + +/* SASL implementation callbacks */ +extern PGDLLIMPORT const pg_be_sasl_mech pg_be_scram_mech; + +/* Routines to handle and check SCRAM-SHA-256 secret */ +extern char *pg_be_scram_build_secret(const char *password); +extern bool parse_scram_secret(const char *secret, + int *iterations, + pg_cryptohash_type *hash_type, + int *key_length, char **salt, + uint8 *stored_key, uint8 *server_key); +extern bool scram_verify_plain_password(const char *username, + const char *password, const char *secret); + +#endif /* PG_SCRAM_H */ diff --git a/parser/include/postgres/mb/gokeep.go b/parser/include/postgres/mb/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/mb/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/mb/pg_wchar.h b/parser/include/postgres/mb/pg_wchar.h similarity index 88% rename from parser/include/mb/pg_wchar.h rename to parser/include/postgres/mb/pg_wchar.h index 31f5b393..e5babf3e 100644 --- a/parser/include/mb/pg_wchar.h +++ b/parser/include/postgres/mb/pg_wchar.h @@ -3,7 +3,7 @@ * pg_wchar.h * multibyte-character support * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/mb/pg_wchar.h @@ -13,6 +13,9 @@ * included by libpq client programs. In particular, a libpq client * should not assume that the encoding IDs used by the version of libpq * it's linked to match up with the IDs declared here. + * To help prevent mistakes, relevant functions that are exported by + * libpq have a physically different name when being referenced + * statically. * *------------------------------------------------------------------------- */ @@ -221,11 +224,10 @@ typedef unsigned int pg_wchar; /* * PostgreSQL encoding identifiers * - * WARNING: the order of this enum must be same as order of entries - * in the pg_enc2name_tbl[] array (in src/common/encnames.c), and - * in the pg_wchar_table[] array (in src/common/wchar.c)! - * - * If you add some encoding don't forget to check + * WARNING: If you add some encoding don't forget to update + * the pg_enc2name_tbl[] array (in src/common/encnames.c), + * the pg_enc2gettext_tbl[] array (in src/common/encnames.c) and + * the pg_wchar_table[] array (in src/common/wchar.c) and to check * PG_ENCODING_BE_LAST macro. * * PG_SQL_ASCII is default encoding and must be = 0. @@ -364,13 +366,7 @@ extern PGDLLIMPORT const pg_enc2name pg_enc2name_tbl[]; /* * Encoding names for gettext */ -typedef struct pg_enc2gettext -{ - pg_enc encoding; - const char *name; -} pg_enc2gettext; - -extern PGDLLIMPORT const pg_enc2gettext pg_enc2gettext_tbl[]; +extern PGDLLIMPORT const char *pg_enc2gettext_tbl[]; /* * pg_wchar stuff @@ -559,6 +555,99 @@ surrogate_pair_to_codepoint(pg_wchar first, pg_wchar second) return ((first & 0x3FF) << 10) + 0x10000 + (second & 0x3FF); } +/* + * Convert a UTF-8 character to a Unicode code point. + * This is a one-character version of pg_utf2wchar_with_len. + * + * No error checks here, c must point to a long-enough string. + */ +static inline pg_wchar +utf8_to_unicode(const unsigned char *c) +{ + if ((*c & 0x80) == 0) + return (pg_wchar) c[0]; + else if ((*c & 0xe0) == 0xc0) + return (pg_wchar) (((c[0] & 0x1f) << 6) | + (c[1] & 0x3f)); + else if ((*c & 0xf0) == 0xe0) + return (pg_wchar) (((c[0] & 0x0f) << 12) | + ((c[1] & 0x3f) << 6) | + (c[2] & 0x3f)); + else if ((*c & 0xf8) == 0xf0) + return (pg_wchar) (((c[0] & 0x07) << 18) | + ((c[1] & 0x3f) << 12) | + ((c[2] & 0x3f) << 6) | + (c[3] & 0x3f)); + else + /* that is an invalid code on purpose */ + return 0xffffffff; +} + +/* + * Map a Unicode code point to UTF-8. utf8string must have at least + * unicode_utf8len(c) bytes available. + */ +static inline unsigned char * +unicode_to_utf8(pg_wchar c, unsigned char *utf8string) +{ + if (c <= 0x7F) + { + utf8string[0] = c; + } + else if (c <= 0x7FF) + { + utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); + utf8string[1] = 0x80 | (c & 0x3F); + } + else if (c <= 0xFFFF) + { + utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); + utf8string[1] = 0x80 | ((c >> 6) & 0x3F); + utf8string[2] = 0x80 | (c & 0x3F); + } + else + { + utf8string[0] = 0xF0 | ((c >> 18) & 0x07); + utf8string[1] = 0x80 | ((c >> 12) & 0x3F); + utf8string[2] = 0x80 | ((c >> 6) & 0x3F); + utf8string[3] = 0x80 | (c & 0x3F); + } + + return utf8string; +} + +/* + * Number of bytes needed to represent the given char in UTF8. + */ +static inline int +unicode_utf8len(pg_wchar c) +{ + if (c <= 0x7F) + return 1; + else if (c <= 0x7FF) + return 2; + else if (c <= 0xFFFF) + return 3; + else + return 4; +} + +/* + * The functions in this list are exported by libpq, and we need to be sure + * that we know which calls are satisfied by libpq and which are satisfied + * by static linkage to libpgcommon. (This is because we might be using a + * libpq.so that's of a different major version and has encoding IDs that + * differ from the current version's.) The nominal function names are what + * are actually used in and exported by libpq, while the names exported by + * libpgcommon.a and libpgcommon_srv.a end in "_private". + */ +#if defined(USE_PRIVATE_ENCODING_FUNCS) || !defined(FRONTEND) +#define pg_char_to_encoding pg_char_to_encoding_private +#define pg_encoding_to_char pg_encoding_to_char_private +#define pg_valid_server_encoding pg_valid_server_encoding_private +#define pg_valid_server_encoding_id pg_valid_server_encoding_id_private +#define pg_utf_mblen pg_utf_mblen_private +#endif /* * These functions are considered part of libpq's exported API and @@ -573,7 +662,10 @@ extern int pg_valid_server_encoding_id(int encoding); * (in addition to the ones just above). The constant tables declared * earlier in this file are also available from libpgcommon. */ +extern void pg_encoding_set_invalid(int encoding, char *dst); extern int pg_encoding_mblen(int encoding, const char *mbstr); +extern int pg_encoding_mblen_or_incomplete(int encoding, const char *mbstr, + size_t remaining); extern int pg_encoding_mblen_bounded(int encoding, const char *mbstr); extern int pg_encoding_dsplen(int encoding, const char *mbstr); extern int pg_encoding_verifymbchar(int encoding, const char *mbstr, int len); @@ -604,11 +696,11 @@ extern int pg_encoding_wchar2mb_with_len(int encoding, extern int pg_char_and_wchar_strcmp(const char *s1, const pg_wchar *s2); extern int pg_wchar_strncmp(const pg_wchar *s1, const pg_wchar *s2, size_t n); extern int pg_char_and_wchar_strncmp(const char *s1, const pg_wchar *s2, size_t n); -extern size_t pg_wchar_strlen(const pg_wchar *wstr); +extern size_t pg_wchar_strlen(const pg_wchar *str); extern int pg_mblen(const char *mbstr); extern int pg_dsplen(const char *mbstr); extern int pg_mbstrlen(const char *mbstr); -extern int pg_mbstrlen_with_len(const char *mbstr, int len); +extern int pg_mbstrlen_with_len(const char *mbstr, int limit); extern int pg_mbcliplen(const char *mbstr, int len, int limit); extern int pg_encoding_mbcliplen(int encoding, const char *mbstr, int len, int limit); @@ -639,7 +731,7 @@ extern int pg_do_encoding_conversion_buf(Oid proc, int src_encoding, int dest_encoding, unsigned char *src, int srclen, - unsigned char *dst, int dstlen, + unsigned char *dest, int destlen, bool noError); extern char *pg_client_to_server(const char *s, int len); @@ -648,6 +740,7 @@ extern char *pg_any_to_server(const char *s, int len, int encoding); extern char *pg_server_to_any(const char *s, int len, int encoding); extern void pg_unicode_to_server(pg_wchar c, unsigned char *s); +extern bool pg_unicode_to_server_noerror(pg_wchar c, unsigned char *s); extern unsigned short BIG5toCNS(unsigned short big5, unsigned char *lc); extern unsigned short CNStoBIG5(unsigned short cns, unsigned char lc); @@ -699,57 +792,4 @@ extern int mic2latin_with_table(const unsigned char *mic, unsigned char *p, extern WCHAR *pgwin32_message_to_UTF16(const char *str, int len, int *utf16len); #endif - -/* - * Verify a chunk of bytes for valid ASCII. - * - * Returns false if the input contains any zero bytes or bytes with the - * high-bit set. Input len must be a multiple of 8. - */ -static inline bool -is_valid_ascii(const unsigned char *s, int len) -{ - uint64 chunk, - highbit_cum = UINT64CONST(0), - zero_cum = UINT64CONST(0x8080808080808080); - - Assert(len % sizeof(chunk) == 0); - - while (len > 0) - { - memcpy(&chunk, s, sizeof(chunk)); - - /* - * Capture any zero bytes in this chunk. - * - * First, add 0x7f to each byte. This sets the high bit in each byte, - * unless it was a zero. If any resulting high bits are zero, the - * corresponding high bits in the zero accumulator will be cleared. - * - * If none of the bytes in the chunk had the high bit set, the max - * value each byte can have after the addition is 0x7f + 0x7f = 0xfe, - * and we don't need to worry about carrying over to the next byte. If - * any input bytes did have the high bit set, it doesn't matter - * because we check for those separately. - */ - zero_cum &= (chunk + UINT64CONST(0x7f7f7f7f7f7f7f7f)); - - /* Capture any set bits in this chunk. */ - highbit_cum |= chunk; - - s += sizeof(chunk); - len -= sizeof(chunk); - } - - /* Check if any high bits in the high bit accumulator got set. */ - if (highbit_cum & UINT64CONST(0x8080808080808080)) - return false; - - /* Check if any high bits in the zero accumulator got cleared. */ - if (zero_cum != UINT64CONST(0x8080808080808080)) - return false; - - return true; -} - #endif /* PG_WCHAR_H */ diff --git a/parser/include/mb/stringinfo_mb.h b/parser/include/postgres/mb/stringinfo_mb.h similarity index 90% rename from parser/include/mb/stringinfo_mb.h rename to parser/include/postgres/mb/stringinfo_mb.h index 8781ffdf..bdef416e 100644 --- a/parser/include/mb/stringinfo_mb.h +++ b/parser/include/postgres/mb/stringinfo_mb.h @@ -3,7 +3,7 @@ * stringinfo_mb.h * multibyte support for StringInfo * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/mb/stringinfo_mb.h diff --git a/parser/include/miscadmin.h b/parser/include/postgres/miscadmin.h similarity index 82% rename from parser/include/miscadmin.h rename to parser/include/postgres/miscadmin.h index d06c547a..131f780d 100644 --- a/parser/include/miscadmin.h +++ b/parser/include/postgres/miscadmin.h @@ -10,7 +10,7 @@ * Over time, this has also become the preferred place for widely known * resource-limitation stuff, such as work_mem and check_stack_depth(). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/miscadmin.h @@ -91,6 +91,7 @@ extern PGDLLIMPORT __thread volatile sig_atomic_t InterruptPending; extern PGDLLIMPORT volatile sig_atomic_t QueryCancelPending; extern PGDLLIMPORT volatile sig_atomic_t ProcDiePending; extern PGDLLIMPORT volatile sig_atomic_t IdleInTransactionSessionTimeoutPending; +extern PGDLLIMPORT volatile sig_atomic_t TransactionTimeoutPending; extern PGDLLIMPORT volatile sig_atomic_t IdleSessionTimeoutPending; extern PGDLLIMPORT volatile sig_atomic_t ProcSignalBarrierPending; extern PGDLLIMPORT volatile sig_atomic_t LogMemoryContextPending; @@ -113,7 +114,8 @@ extern void ProcessInterrupts(void); (unlikely(InterruptPending)) #else #define INTERRUPTS_PENDING_CONDITION() \ - (unlikely(UNBLOCKED_SIGNAL_QUEUE()) ? pgwin32_dispatch_queued_signals() : 0, \ + (unlikely(UNBLOCKED_SIGNAL_QUEUE()) ? \ + pgwin32_dispatch_queued_signals() : (void) 0, \ unlikely(InterruptPending)) #endif @@ -164,10 +166,9 @@ do { \ extern PGDLLIMPORT pid_t PostmasterPid; extern PGDLLIMPORT bool IsPostmasterEnvironment; extern PGDLLIMPORT bool IsUnderPostmaster; -extern PGDLLIMPORT bool IsBackgroundWorker; extern PGDLLIMPORT bool IsBinaryUpgrade; -extern PGDLLIMPORT __thread bool ExitOnAnyError; +extern PGDLLIMPORT __thread bool ExitOnAnyError; extern PGDLLIMPORT char *DataDir; extern PGDLLIMPORT int data_directory_mode; @@ -178,6 +179,14 @@ extern PGDLLIMPORT int MaxConnections; extern PGDLLIMPORT int max_worker_processes; extern PGDLLIMPORT int max_parallel_workers; +extern PGDLLIMPORT int commit_timestamp_buffers; +extern PGDLLIMPORT int multixact_member_buffers; +extern PGDLLIMPORT int multixact_offset_buffers; +extern PGDLLIMPORT int notify_buffers; +extern PGDLLIMPORT int serializable_buffers; +extern PGDLLIMPORT int subtransaction_buffers; +extern PGDLLIMPORT int transaction_buffers; + extern PGDLLIMPORT int MyProcPid; extern PGDLLIMPORT pg_time_t MyStartTime; extern PGDLLIMPORT TimestampTz MyStartTimestamp; @@ -194,15 +203,12 @@ extern PGDLLIMPORT char pkglib_path[]; extern PGDLLIMPORT char postgres_exec_path[]; #endif -/* - * done in storage/backendid.h for now. - * - * extern BackendId MyBackendId; - */ extern PGDLLIMPORT Oid MyDatabaseId; extern PGDLLIMPORT Oid MyDatabaseTableSpace; +extern PGDLLIMPORT bool MyDatabaseHasLoginEventTriggers; + /* * Date/Time Configuration * @@ -263,6 +269,15 @@ extern PGDLLIMPORT double hash_mem_multiplier; extern PGDLLIMPORT int maintenance_work_mem; extern PGDLLIMPORT int max_parallel_maintenance_workers; +/* + * Upper and lower hard limits for the buffer access strategy ring size + * specified by the VacuumBufferUsageLimit GUC and BUFFER_USAGE_LIMIT option + * to VACUUM and ANALYZE. + */ +#define MIN_BAS_VAC_RING_SIZE_KB 128 +#define MAX_BAS_VAC_RING_SIZE_KB (16 * 1024 * 1024) + +extern PGDLLIMPORT int VacuumBufferUsageLimit; extern PGDLLIMPORT int VacuumCostPageHit; extern PGDLLIMPORT int VacuumCostPageMiss; extern PGDLLIMPORT int VacuumCostPageDirty; @@ -279,15 +294,7 @@ extern PGDLLIMPORT bool VacuumCostActive; /* in tcop/postgres.c */ -#if defined(__ia64__) || defined(__ia64) -typedef struct -{ - char *stack_base_ptr; - char *register_stack_base_ptr; -} pg_stack_base_t; -#else typedef char *pg_stack_base_t; -#endif extern pg_stack_base_t set_stack_base(void); extern void restore_stack_base(pg_stack_base_t base); @@ -299,10 +306,6 @@ extern void PreventCommandIfReadOnly(const char *cmdname); extern void PreventCommandIfParallelMode(const char *cmdname); extern void PreventCommandDuringRecovery(const char *cmdname); -/* in utils/misc/guc.c */ -extern PGDLLIMPORT int trace_recovery_messages; -extern int trace_recovery(int trace_level); - /***************************************************************************** * pdir.h -- * * POSTGRES directory path definitions. * @@ -318,28 +321,76 @@ extern PGDLLIMPORT char *DatabasePath; /* now in utils/init/miscinit.c */ extern void InitPostmasterChild(void); extern void InitStandaloneProcess(const char *argv0); +extern void InitProcessLocalLatch(void); extern void SwitchToSharedLatch(void); extern void SwitchBackToLocalLatch(void); +/* + * MyBackendType indicates what kind of a backend this is. + * + * If you add entries, please also update the child_process_kinds array in + * launch_backend.c. + */ typedef enum BackendType { B_INVALID = 0, + + /* Backends and other backend-like processes */ + B_BACKEND, B_AUTOVAC_LAUNCHER, B_AUTOVAC_WORKER, - B_BACKEND, B_BG_WORKER, + B_WAL_SENDER, + B_SLOTSYNC_WORKER, + + B_STANDALONE_BACKEND, + + /* + * Auxiliary processes. These have PGPROC entries, but they are not + * attached to any particular database, and cannot run transactions or + * even take heavyweight locks. There can be only one of each of these + * running at a time. + * + * If you modify these, make sure to update NUM_AUXILIARY_PROCS and the + * glossary in the docs. + */ + B_ARCHIVER, B_BG_WRITER, B_CHECKPOINTER, B_STARTUP, B_WAL_RECEIVER, - B_WAL_SENDER, + B_WAL_SUMMARIZER, B_WAL_WRITER, - B_ARCHIVER, + + /* + * Logger is not connected to shared memory and does not have a PGPROC + * entry. + */ B_LOGGER, } BackendType; +#define BACKEND_NUM_TYPES (B_LOGGER + 1) + extern PGDLLIMPORT BackendType MyBackendType; +#define AmRegularBackendProcess() (MyBackendType == B_BACKEND) +#define AmAutoVacuumLauncherProcess() (MyBackendType == B_AUTOVAC_LAUNCHER) +#define AmAutoVacuumWorkerProcess() (MyBackendType == B_AUTOVAC_WORKER) +#define AmBackgroundWorkerProcess() (MyBackendType == B_BG_WORKER) +#define AmWalSenderProcess() (MyBackendType == B_WAL_SENDER) +#define AmLogicalSlotSyncWorkerProcess() (MyBackendType == B_SLOTSYNC_WORKER) +#define AmArchiverProcess() (MyBackendType == B_ARCHIVER) +#define AmBackgroundWriterProcess() (MyBackendType == B_BG_WRITER) +#define AmCheckpointerProcess() (MyBackendType == B_CHECKPOINTER) +#define AmStartupProcess() (MyBackendType == B_STARTUP) +#define AmWalReceiverProcess() (MyBackendType == B_WAL_RECEIVER) +#define AmWalSummarizerProcess() (MyBackendType == B_WAL_SUMMARIZER) +#define AmWalWriterProcess() (MyBackendType == B_WAL_WRITER) + +#define AmSpecialWorkerProcess() \ + (AmAutoVacuumLauncherProcess() || \ + AmLogicalSlotSyncWorkerProcess()) + extern const char *GetBackendTypeDesc(BackendType backendType); extern void SetDatabasePath(const char *path); @@ -351,7 +402,9 @@ extern char *GetUserNameFromId(Oid roleid, bool noerr); extern Oid GetUserId(void); extern Oid GetOuterUserId(void); extern Oid GetSessionUserId(void); +extern bool GetSessionUserIsSuperuser(void); extern Oid GetAuthenticatedUserId(void); +extern void SetAuthenticatedUserId(Oid userid); extern void GetUserIdAndSecContext(Oid *userid, int *sec_context); extern void SetUserIdAndSecContext(Oid userid, int sec_context); extern bool InLocalUserIdChange(void); @@ -359,11 +412,15 @@ extern bool InSecurityRestrictedOperation(void); extern bool InNoForceRLSOperation(void); extern void GetUserIdAndContext(Oid *userid, bool *sec_def_context); extern void SetUserIdAndContext(Oid userid, bool sec_def_context); -extern void InitializeSessionUserId(const char *rolename, Oid useroid); +extern void InitializeSessionUserId(const char *rolename, Oid roleid, + bool bypass_login_check); extern void InitializeSessionUserIdStandalone(void); extern void SetSessionAuthorization(Oid userid, bool is_superuser); extern Oid GetCurrentRoleId(void); extern void SetCurrentRoleId(Oid roleid, bool is_superuser); +extern void InitializeSystemUser(const char *authn_id, + const char *auth_method); +extern const char *GetSystemUser(void); /* in utils/misc/superuser.c */ extern bool superuser(void); /* current user is superuser */ @@ -398,7 +455,7 @@ typedef enum ProcessingMode { BootstrapProcessing, /* bootstrap creation of template database */ InitProcessing, /* initializing system */ - NormalProcessing /* normal processing */ + NormalProcessing, /* normal processing */ } ProcessingMode; extern PGDLLIMPORT ProcessingMode Mode; @@ -411,56 +468,28 @@ extern PGDLLIMPORT ProcessingMode Mode; #define SetProcessingMode(mode) \ do { \ - AssertArg((mode) == BootstrapProcessing || \ + Assert((mode) == BootstrapProcessing || \ (mode) == InitProcessing || \ (mode) == NormalProcessing); \ Mode = (mode); \ } while(0) -/* - * Auxiliary-process type identifiers. These used to be in bootstrap.h - * but it seems saner to have them here, with the ProcessingMode stuff. - * The MyAuxProcType global is defined and set in auxprocess.c. - * - * Make sure to list in the glossary any items you add here. - */ - -typedef enum -{ - NotAnAuxProcess = -1, - StartupProcess = 0, - BgWriterProcess, - ArchiverProcess, - CheckpointerProcess, - WalWriterProcess, - WalReceiverProcess, - - NUM_AUXPROCTYPES /* Must be last! */ -} AuxProcType; - -extern PGDLLIMPORT AuxProcType MyAuxProcType; - -#define AmStartupProcess() (MyAuxProcType == StartupProcess) -#define AmBackgroundWriterProcess() (MyAuxProcType == BgWriterProcess) -#define AmArchiverProcess() (MyAuxProcType == ArchiverProcess) -#define AmCheckpointerProcess() (MyAuxProcType == CheckpointerProcess) -#define AmWalWriterProcess() (MyAuxProcType == WalWriterProcess) -#define AmWalReceiverProcess() (MyAuxProcType == WalReceiverProcess) - - /***************************************************************************** * pinit.h -- * * POSTGRES initialization and cleanup definitions. * *****************************************************************************/ /* in utils/init/postinit.c */ +/* flags for InitPostgres() */ +#define INIT_PG_LOAD_SESSION_LIBS 0x0001 +#define INIT_PG_OVERRIDE_ALLOW_CONNS 0x0002 +#define INIT_PG_OVERRIDE_ROLE_LOGIN 0x0004 extern void pg_split_opts(char **argv, int *argcp, const char *optstr); extern void InitializeMaxBackends(void); extern void InitPostgres(const char *in_dbname, Oid dboid, const char *username, Oid useroid, - bool load_session_libraries, - bool override_allow_connections, + bits32 flags, char *out_dbname); extern void BaseInit(void); @@ -489,6 +518,10 @@ extern bool has_rolreplication(Oid roleid); typedef void (*shmem_request_hook_type) (void); extern PGDLLIMPORT shmem_request_hook_type shmem_request_hook; +extern Size EstimateClientConnectionInfoSpace(void); +extern void SerializeClientConnectionInfo(Size maxsize, char *start_address); +extern void RestoreClientConnectionInfo(char *conninfo); + /* in executor/nodeHash.c */ extern size_t get_hash_memory_limit(void); diff --git a/parser/include/nodes/bitmapset.h b/parser/include/postgres/nodes/bitmapset.h similarity index 78% rename from parser/include/nodes/bitmapset.h rename to parser/include/postgres/nodes/bitmapset.h index 75b5ce1a..283bea5e 100644 --- a/parser/include/nodes/bitmapset.h +++ b/parser/include/postgres/nodes/bitmapset.h @@ -5,13 +5,11 @@ * * A bitmap set can represent any set of nonnegative integers, although * it is mainly intended for sets where the maximum value is not large, - * say at most a few hundred. By convention, a NULL pointer is always - * accepted by all operations to represent the empty set. (But beware - * that this is not the only representation of the empty set. Use - * bms_is_empty() in preference to testing for NULL.) + * say at most a few hundred. By convention, we always represent the + * empty set by a NULL pointer. * * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/bitmapset.h * @@ -20,6 +18,8 @@ #ifndef BITMAPSET_H #define BITMAPSET_H +#include "nodes/nodes.h" + /* * Forward decl to save including pg_list.h */ @@ -48,6 +48,9 @@ typedef int32 signedbitmapword; /* must be the matching signed type */ typedef struct Bitmapset { + pg_node_attr(custom_copy_equal, special_read_write, no_query_jumble) + + NodeTag type; int nwords; /* number of words in array */ bitmapword words[FLEXIBLE_ARRAY_MEMBER]; /* really [nwords] */ } Bitmapset; @@ -59,7 +62,7 @@ typedef enum BMS_EQUAL, /* sets are equal */ BMS_SUBSET1, /* first set is a subset of the second */ BMS_SUBSET2, /* second set is a subset of the first */ - BMS_DIFFERENT /* neither set is a subset of the other */ + BMS_DIFFERENT, /* neither set is a subset of the other */ } BMS_Comparison; /* result of bms_membership */ @@ -67,9 +70,22 @@ typedef enum { BMS_EMPTY_SET, /* 0 members */ BMS_SINGLETON, /* 1 member */ - BMS_MULTIPLE /* >1 member */ + BMS_MULTIPLE, /* >1 member */ } BMS_Membership; +/* Select appropriate bit-twiddling functions for bitmap word size */ +#if BITS_PER_BITMAPWORD == 32 +#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos32(w) +#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos32(w) +#define bmw_popcount(w) pg_popcount32(w) +#elif BITS_PER_BITMAPWORD == 64 +#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos64(w) +#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos64(w) +#define bmw_popcount(w) pg_popcount64(w) +#else +#error "invalid BITS_PER_BITMAPWORD" +#endif + /* * function prototypes in nodes/bitmapset.c @@ -97,20 +113,22 @@ extern int bms_num_members(const Bitmapset *a); /* optimized tests when we don't need to know exact membership count: */ extern BMS_Membership bms_membership(const Bitmapset *a); -extern bool bms_is_empty(const Bitmapset *a); + +/* NULL is now the only allowed representation of an empty bitmapset */ +#define bms_is_empty(a) ((a) == NULL) /* these routines recycle (modify or free) their non-const inputs: */ extern Bitmapset *bms_add_member(Bitmapset *a, int x); extern Bitmapset *bms_del_member(Bitmapset *a, int x); extern Bitmapset *bms_add_members(Bitmapset *a, const Bitmapset *b); +extern Bitmapset *bms_replace_members(Bitmapset *a, const Bitmapset *b); extern Bitmapset *bms_add_range(Bitmapset *a, int lower, int upper); extern Bitmapset *bms_int_members(Bitmapset *a, const Bitmapset *b); extern Bitmapset *bms_del_members(Bitmapset *a, const Bitmapset *b); extern Bitmapset *bms_join(Bitmapset *a, Bitmapset *b); /* support for iterating through the integer elements of a set: */ -extern int bms_first_member(Bitmapset *a); extern int bms_next_member(const Bitmapset *a, int prevbit); extern int bms_prev_member(const Bitmapset *a, int prevbit); diff --git a/parser/include/nodes/execnodes.h b/parser/include/postgres/nodes/execnodes.h similarity index 93% rename from parser/include/nodes/execnodes.h rename to parser/include/postgres/nodes/execnodes.h index 57288013..ef492b9d 100644 --- a/parser/include/nodes/execnodes.h +++ b/parser/include/postgres/nodes/execnodes.h @@ -3,8 +3,23 @@ * execnodes.h * definitions for executor state nodes * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Most plan node types declared in plannodes.h have a corresponding + * execution-state node type declared here. An exception is that + * expression nodes (subtypes of Expr) are usually represented by steps + * of an ExprState, and fully handled within execExpr* - but sometimes + * their state needs to be shared with other parts of the executor, as + * for example with SubPlanState, which nodeSubplan.c has to modify. + * + * Node types declared in this file do not have any copy/equal/out/read + * support. (That is currently hard-wired in gen_node_support.pl, rather + * than being explicitly represented by pg_node_attr decorations here.) + * There is no need for copy, equal, or read support for executor trees. + * Output support could be useful for debugging; but there are a lot of + * specialized fields that would require custom code, so for now it's + * not provided. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/execnodes.h @@ -19,6 +34,7 @@ #include "fmgr.h" #include "lib/ilist.h" #include "lib/pairingheap.h" +#include "nodes/miscnodes.h" #include "nodes/params.h" #include "nodes/plannodes.h" #include "nodes/tidbitmap.h" @@ -47,7 +63,7 @@ struct LogicalTapeSet; /* ---------------- * ExprState node * - * ExprState is the top-level node for expression evaluation. + * ExprState represents the evaluation state for a whole expression tree. * It contains instructions (in ->steps) to evaluate the expression. * ---------------- */ @@ -114,6 +130,14 @@ typedef struct ExprState Datum *innermost_domainval; bool *innermost_domainnull; + + /* + * For expression nodes that support soft errors. Should be set to NULL if + * the caller wants errors to be thrown. Callers that do not want errors + * thrown should set it to a valid ErrorSaveContext before calling + * ExecInitExprRec(). + */ + ErrorSaveContext *escontext; } ExprState; @@ -140,12 +164,13 @@ typedef struct ExprState * UniqueProcs * UniqueStrats * Unique is it a unique index? - * OpclassOptions opclass-specific options, or NULL if none + * NullsNotDistinct is NULLS NOT DISTINCT? * ReadyForInserts is it valid for inserts? * CheckedUnchanged IndexUnchanged status determined yet? * IndexUnchanged aminsert hint, cached for retail inserts * Concurrent are we doing a concurrent index build? * BrokenHotChain did we detect any broken HOT chains? + * Summarizing is it a summarizing index? * ParallelWorkers # of workers requested (excludes leader) * Am Oid of index AM * AmCache private cache area for index AM @@ -171,7 +196,6 @@ typedef struct IndexInfo Oid *ii_UniqueOps; /* array with one entry per column */ Oid *ii_UniqueProcs; /* array with one entry per column */ uint16 *ii_UniqueStrats; /* array with one entry per column */ - Datum *ii_OpclassOptions; /* array with one entry per column */ bool ii_Unique; bool ii_NullsNotDistinct; bool ii_ReadyForInserts; @@ -179,6 +203,7 @@ typedef struct IndexInfo bool ii_IndexUnchanged; bool ii_Concurrent; bool ii_BrokenHotChain; + bool ii_Summarizing; int ii_ParallelWorkers; Oid ii_Am; void *ii_AmCache; @@ -279,7 +304,7 @@ typedef enum { ExprSingleResult, /* expression does not return a set */ ExprMultipleResult, /* this result is an element of a set */ - ExprEndResult /* there are no more elements in the set */ + ExprEndResult, /* there are no more elements in the set */ } ExprDoneCond; /* @@ -293,7 +318,7 @@ typedef enum SFRM_ValuePerCall = 0x01, /* one value returned per call */ SFRM_Materialize = 0x02, /* result set instantiated in Tuplestore */ SFRM_Materialize_Random = 0x04, /* Tuplestore needs randomAccess */ - SFRM_Materialize_Preferred = 0x08 /* caller prefers Tuplestore */ + SFRM_Materialize_Preferred = 0x08, /* caller prefers Tuplestore */ } SetFunctionReturnMode; /* @@ -447,6 +472,9 @@ typedef struct ResultRelInfo */ AttrNumber ri_RowIdAttNo; + /* For UPDATE, attnums of generated columns to be computed */ + Bitmapset *ri_extraUpdatedCols; + /* Projection to generate new tuple in an INSERT/UPDATE */ ProjectionInfo *ri_projectNew; /* Slot to hold that tuple */ @@ -456,6 +484,9 @@ typedef struct ResultRelInfo /* Have the projection and the slots above been initialized? */ bool ri_projectNewInfoValid; + /* updates do LockTuple() before oldtup read; see README.tuplock */ + bool ri_needLockTagTuple; + /* triggers to be fired, if any */ TriggerDesc *ri_TrigDesc; @@ -498,11 +529,13 @@ typedef struct ResultRelInfo /* array of constraint-checking expr states */ ExprState **ri_ConstraintExprs; - /* array of stored generated columns expr states */ - ExprState **ri_GeneratedExprs; + /* arrays of stored generated columns expr states, for INSERT and UPDATE */ + ExprState **ri_GeneratedExprsI; + ExprState **ri_GeneratedExprsU; /* number of stored generated columns we need to compute */ - int ri_NumGeneratedNeeded; + int ri_NumGeneratedNeededI; + int ri_NumGeneratedNeededU; /* list of RETURNING expressions */ List *ri_returningList; @@ -516,29 +549,15 @@ typedef struct ResultRelInfo /* ON CONFLICT evaluation state */ OnConflictSetState *ri_onConflict; - /* for MERGE, lists of MergeActionState */ - List *ri_matchedMergeAction; - List *ri_notMatchedMergeAction; + /* for MERGE, lists of MergeActionState (one per MergeMatchKind) */ + List *ri_MergeActions[NUM_MERGE_MATCH_KINDS]; + + /* for MERGE, expr state for checking the join condition */ + ExprState *ri_MergeJoinCondition; /* partition check expression state (NULL if not set up yet) */ ExprState *ri_PartitionCheckExpr; - /* - * Information needed by tuple routing target relations - * - * RootResultRelInfo gives the target relation mentioned in the query, if - * it's a partitioned table. It is not set if the target relation - * mentioned in the query is an inherited table, nor when tuple routing is - * not needed. - * - * RootToPartitionMap and PartitionTupleSlot, initialized by - * ExecInitRoutingInfo, are non-NULL if partition has a different tuple - * format than the root table. - */ - struct ResultRelInfo *ri_RootResultRelInfo; - TupleConversionMap *ri_RootToPartitionMap; - TupleTableSlot *ri_PartitionTupleSlot; - /* * Map to convert child result relation tuples to the format of the table * actually mentioned in the query (called "root"). Computed only if @@ -548,6 +567,24 @@ typedef struct ResultRelInfo TupleConversionMap *ri_ChildToRootMap; bool ri_ChildToRootMapValid; + /* + * As above, but in the other direction. + */ + TupleConversionMap *ri_RootToChildMap; + bool ri_RootToChildMapValid; + + /* + * Other information needed by child result relations + * + * ri_RootResultRelInfo gives the target relation mentioned in the query. + * Used as the root for tuple routing and/or transition capture. + * + * ri_PartitionTupleSlot is non-NULL if the relation is a partition to + * route tuples into and ri_RootToChildMap conversion is needed. + */ + struct ResultRelInfo *ri_RootResultRelInfo; + TupleTableSlot *ri_PartitionTupleSlot; + /* for use by copyfrom.c when performing multi-inserts */ struct CopyMultiInsertBuffer *ri_CopyMultiInsertBuffer; @@ -595,6 +632,7 @@ typedef struct EState * pointers, or NULL if not yet opened */ struct ExecRowMark **es_rowmarks; /* Array of per-range-table-entry * ExecRowMarks, or NULL if none */ + List *es_rteperminfos; /* List of RTEPermissionInfo */ PlannedStmt *es_plannedstmt; /* link to top of plan tree */ const char *es_sourceText; /* Source text from QueryDesc */ @@ -633,7 +671,10 @@ typedef struct EState List *es_tupleTable; /* List of TupleTableSlots */ - uint64 es_processed; /* # of tuples processed */ + uint64 es_processed; /* # of tuples processed during one + * ExecutorRun() call. */ + uint64 es_total_processed; /* total # of tuples aggregated across all + * ExecutorRun() calls. */ int es_top_eflags; /* eflags passed to ExecutorStart */ int es_instrument; /* OR of InstrumentOption flags */ @@ -677,6 +718,13 @@ typedef struct EState int es_jit_flags; struct JitContext *es_jit; struct JitInstrumentation *es_jit_worker_instr; + + /* + * Lists of ResultRelInfos for foreign tables on which batch-inserts are + * to be executed and owning ModifyTableStates, stored in the same order. + */ + List *es_insert_pending_result_relations; + List *es_insert_pending_modifytables; } EState; @@ -684,8 +732,8 @@ typedef struct EState * ExecRowMark - * runtime representation of FOR [KEY] UPDATE/SHARE clauses * - * When doing UPDATE, DELETE, or SELECT FOR [KEY] UPDATE/SHARE, we will have an - * ExecRowMark for each non-target relation in the query (except inheritance + * When doing UPDATE/DELETE/MERGE/SELECT FOR [KEY] UPDATE/SHARE, we will have + * an ExecRowMark for each non-target relation in the query (except inheritance * parent RTEs, which can be ignored at runtime). Virtual relations such as * subqueries-in-FROM will have an ExecRowMark with relation == NULL. See * PlanRowMark for details about most of the fields. In addition to fields @@ -953,7 +1001,7 @@ typedef struct SubPlanState typedef enum DomainConstraintType { DOM_CONSTRAINT_NOTNULL, - DOM_CONSTRAINT_CHECK + DOM_CONSTRAINT_CHECK, } DomainConstraintType; typedef struct DomainConstraintState @@ -965,6 +1013,77 @@ typedef struct DomainConstraintState ExprState *check_exprstate; /* check_expr's eval state, or NULL */ } DomainConstraintState; +/* + * State for JsonExpr evaluation, too big to inline. + * + * This contains the information going into and coming out of the + * EEOP_JSONEXPR_PATH eval step. + */ +typedef struct JsonExprState +{ + /* original expression node */ + JsonExpr *jsexpr; + + /* value/isnull for formatted_expr */ + NullableDatum formatted_expr; + + /* value/isnull for pathspec */ + NullableDatum pathspec; + + /* JsonPathVariable entries for passing_values */ + List *args; + + /* + * Output variables that drive the EEOP_JUMP_IF_NOT_TRUE steps that are + * added for ON ERROR and ON EMPTY expressions, if any. + * + * Reset for each evaluation of EEOP_JSONEXPR_PATH. + */ + + /* Set to true if jsonpath evaluation cause an error. */ + NullableDatum error; + + /* Set to true if the jsonpath evaluation returned 0 items. */ + NullableDatum empty; + + /* + * Addresses of steps that implement the non-ERROR variant of ON EMPTY and + * ON ERROR behaviors, respectively. + */ + int jump_empty; + int jump_error; + + /* + * Address of the step to coerce the result value of jsonpath evaluation + * to the RETURNING type. -1 if no coercion if JsonExpr.use_io_coercion + * is true. + */ + int jump_eval_coercion; + + /* + * Address to jump to when skipping all the steps after performing + * ExecEvalJsonExprPath() so as to return whatever the JsonPath* function + * returned as is, that is, in the cases where there's no error and no + * coercion is necessary. + */ + int jump_end; + + /* + * RETURNING type input function invocation info when + * JsonExpr.use_io_coercion is true. + */ + FunctionCallInfo input_fcinfo; + + /* + * For error-safe evaluation of coercions. When the ON ERROR behavior is + * not ERROR, a pointer to this is passed to ExecInitExprRec() when + * initializing the coercion expressions or to ExecInitJsonCoercion(). + * + * Reset for each evaluation of EEOP_JSONEXPR_PATH. + */ + ErrorSaveContext escontext; +} JsonExprState; + /* ---------------------------------------------------------------- * Executor State Trees @@ -993,6 +1112,8 @@ typedef TupleTableSlot *(*ExecProcNodeMtd) (struct PlanState *pstate); */ typedef struct PlanState { + pg_node_attr(abstract) + NodeTag type; Plan *plan; /* associated Plan node */ @@ -1130,15 +1251,16 @@ typedef struct PlanState */ typedef struct EPQState { - /* Initialized at EvalPlanQualInit() time: */ - + /* These are initialized by EvalPlanQualInit() and do not change later: */ EState *parentestate; /* main query's EState */ int epqParam; /* ID of Param to force scan node re-eval */ + List *resultRelations; /* integer list of RT indexes, or NIL */ /* - * Tuples to be substituted by scan nodes. They need to set up, before - * calling EvalPlanQual()/EvalPlanQualNext(), into the slot returned by - * EvalPlanQualSlot(scanrelid). The array is indexed by scanrelid - 1. + * relsubs_slot[scanrelid - 1] holds the EPQ test tuple to be returned by + * the scan node for the scanrelid'th RT index, in place of performing an + * actual table scan. Callers should use EvalPlanQualSlot() to fetch + * these slots. */ List *tuple_table; /* tuple table for relsubs_slot */ TupleTableSlot **relsubs_slot; @@ -1172,11 +1294,21 @@ typedef struct EPQState ExecAuxRowMark **relsubs_rowmark; /* - * True if a relation's EPQ tuple has been fetched for relation, indexed - * by scanrelid - 1. + * relsubs_done[scanrelid - 1] is true if there is no EPQ tuple for this + * target relation or it has already been fetched in the current scan of + * this target relation within the current EvalPlanQual test. */ bool *relsubs_done; + /* + * relsubs_blocked[scanrelid - 1] is true if there is no EPQ tuple for + * this target relation during the current EvalPlanQual test. We keep + * these flags set for all relids listed in resultRelations, but + * transiently clear the one for the relation whose tuple is actually + * passed to EvalPlanQual(). + */ + bool *relsubs_blocked; + PlanState *recheckplanstate; /* EPQ specific exec nodes, for ->plan */ } EPQState; @@ -1269,6 +1401,16 @@ typedef struct ModifyTableState /* Flags showing which subcommands are present INS/UPD/DEL/DO NOTHING */ int mt_merge_subcommands; + /* For MERGE, the action currently being executed */ + MergeActionState *mt_merge_action; + + /* + * For MERGE, if there is a pending NOT MATCHED [BY TARGET] action to be + * performed, this will be the last tuple read from the subplan; otherwise + * it will be NULL --- see the comments in ExecMerge(). + */ + TupleTableSlot *mt_merge_pending_not_matched; + /* tuple counters for MERGE */ double mt_merge_inserted; double mt_merge_updated; @@ -1317,6 +1459,7 @@ struct AppendState ParallelAppendState *as_pstate; /* parallel coordination info */ Size pstate_len; /* size of parallel coordination info */ struct PartitionPruneState *as_prune_state; + bool as_valid_subplans_identified; /* is as_valid_subplans valid? */ Bitmapset *as_valid_subplans; Bitmapset *as_valid_asyncplans; /* valid asynchronous plans indexes */ bool (*choose_next_subplan) (AppendState *); @@ -1549,6 +1692,8 @@ typedef struct IndexScanState * TableSlot slot for holding tuples fetched from the table * VMBuffer buffer in use for visibility map testing, if any * PscanLen size of parallel index-only scan descriptor + * NameCStringAttNums attnums of name typed columns to pad to NAMEDATALEN + * NameCStringCount number of elements in the NameCStringAttNums array * ---------------- */ typedef struct IndexOnlyScanState @@ -1568,6 +1713,8 @@ typedef struct IndexOnlyScanState TupleTableSlot *ioss_TableSlot; Buffer ioss_VMBuffer; Size ioss_PscanLen; + AttrNumber *ioss_NameCStringAttNums; + int ioss_NameCStringCount; } IndexOnlyScanState; /* ---------------- @@ -1619,7 +1766,7 @@ typedef enum { BM_INITIAL, BM_INPROGRESS, - BM_FINISHED + BM_FINISHED, } SharedBitmapState; /* ---------------- @@ -1632,7 +1779,6 @@ typedef enum * prefetch_target current target prefetch distance * state current state of the TIDBitmap * cv conditional wait variable - * phs_snapshot_data snapshot data shared to workers * ---------------- */ typedef struct ParallelBitmapHeapState @@ -1644,7 +1790,6 @@ typedef struct ParallelBitmapHeapState int prefetch_target; SharedBitmapState state; ConditionVariable cv; - char phs_snapshot_data[FLEXIBLE_ARRAY_MEMBER]; } ParallelBitmapHeapState; /* ---------------- @@ -1654,17 +1799,13 @@ typedef struct ParallelBitmapHeapState * tbm bitmap obtained from child index scan(s) * tbmiterator iterator for scanning current pages * tbmres current-page data - * can_skip_fetch can we potentially skip tuple fetches in this scan? - * return_empty_tuples number of empty tuples to return - * vmbuffer buffer for visibility-map lookups - * pvmbuffer ditto, for prefetched pages + * pvmbuffer buffer for visibility-map lookups of prefetched pages * exact_pages total number of exact pages retrieved * lossy_pages total number of lossy pages retrieved * prefetch_iterator iterator for prefetching ahead of current page * prefetch_pages # pages prefetch iterator is ahead of current * prefetch_target current target prefetch distance * prefetch_maximum maximum value for prefetch_target - * pscan_len size of the shared memory for parallel bitmap * initialized is node is ready to iterate * shared_tbmiterator shared iterator * shared_prefetch_iterator shared iterator for prefetching @@ -1678,9 +1819,6 @@ typedef struct BitmapHeapScanState TIDBitmap *tbm; TBMIterator *tbmiterator; TBMIterateResult *tbmres; - bool can_skip_fetch; - int return_empty_tuples; - Buffer vmbuffer; Buffer pvmbuffer; long exact_pages; long lossy_pages; @@ -1688,7 +1826,6 @@ typedef struct BitmapHeapScanState int prefetch_pages; int prefetch_target; int prefetch_maximum; - Size pscan_len; bool initialized; TBMSharedIterator *shared_tbmiterator; TBMSharedIterator *shared_prefetch_iterator; @@ -1703,7 +1840,6 @@ typedef struct BitmapHeapScanState * NumTids number of tids in this scan * TidPtr index of currently fetched tid * TidList evaluated item pointers (array of size NumTids) - * htup currently-fetched tuple, if any * ---------------- */ typedef struct TidScanState @@ -1714,7 +1850,6 @@ typedef struct TidScanState int tss_NumTids; int tss_TidPtr; ItemPointerData *tss_TidList; - HeapTupleData tss_htup; } TidScanState; /* ---------------- @@ -1825,6 +1960,8 @@ typedef struct TableFuncScanState ExprState *rowexpr; /* state for row-generating expression */ List *colexprs; /* state for column-generating expression */ List *coldefexprs; /* state for column default expressions */ + List *colvalexprs; /* state for column value expressions */ + List *passingvalexprs; /* state for PASSING argument expressions */ List *ns_names; /* same as TableFunc.ns_names */ List *ns_uris; /* list of states of namespace URI exprs */ Bitmapset *notnulls; /* nullability flag for each output column */ @@ -1932,6 +2069,7 @@ typedef struct CustomScanState List *custom_ps; /* list of child PlanState nodes, if any */ Size pscan_len; /* size of parallel coordination information */ const struct CustomExecMethods *methods; + const struct TupleTableSlotOps *slotOps; } CustomScanState; /* ---------------------------------------------------------------- @@ -2034,7 +2172,8 @@ typedef struct MergeJoinState * OuterTupleSlot is empty!) * hj_OuterTupleSlot tuple slot for outer tuples * hj_HashTupleSlot tuple slot for inner (hashed) tuples - * hj_NullOuterTupleSlot prepared null tuple for right/full outer joins + * hj_NullOuterTupleSlot prepared null tuple for right/right-anti/full + * outer joins * hj_NullInnerTupleSlot prepared null tuple for left/full outer joins * hj_FirstOuterTupleSlot first tuple retrieved from outer plan * hj_JoinState current state of ExecHashJoin state machine @@ -2394,7 +2533,6 @@ typedef struct AggState #define FIELDNO_AGGSTATE_ALL_PERGROUPS 53 AggStatePerGroup *all_pergroups; /* array of first ->pergroups, than * ->hash_pergroup */ - ProjectionInfo *combinedproj; /* projection machinery */ SharedAggInfo *shared_info; /* one entry per worker */ } AggState; @@ -2414,7 +2552,7 @@ typedef enum WindowAggStatus WINDOWAGG_DONE, /* No more processing to do */ WINDOWAGG_RUN, /* Normal processing of window funcs */ WINDOWAGG_PASSTHROUGH, /* Don't eval window funcs */ - WINDOWAGG_PASSTHROUGH_STRICT /* Pass-through plus don't store new + WINDOWAGG_PASSTHROUGH_STRICT, /* Pass-through plus don't store new * tuples during spool */ } WindowAggStatus; @@ -2692,7 +2830,7 @@ typedef enum LIMIT_WINDOWEND_TIES, /* have returned a tied row */ LIMIT_SUBPLANEOF, /* at EOF of subplan (within window) */ LIMIT_WINDOWEND, /* stepped off end of window */ - LIMIT_WINDOWSTART /* stepped off beginning of window */ + LIMIT_WINDOWSTART, /* stepped off beginning of window */ } LimitStateCond; typedef struct LimitState diff --git a/parser/include/nodes/extensible.h b/parser/include/postgres/nodes/extensible.h similarity index 97% rename from parser/include/nodes/extensible.h rename to parser/include/postgres/nodes/extensible.h index 6244c8d9..697a0282 100644 --- a/parser/include/nodes/extensible.h +++ b/parser/include/postgres/nodes/extensible.h @@ -4,7 +4,7 @@ * Definitions for extensible nodes and custom scans * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/extensible.h @@ -31,6 +31,8 @@ */ typedef struct ExtensibleNode { + pg_node_attr(custom_copy_equal, custom_read_write) + NodeTag type; const char *extnodename; /* identifier of ExtensibleNodeMethods */ } ExtensibleNode; @@ -70,8 +72,8 @@ typedef struct ExtensibleNodeMethods void (*nodeRead) (struct ExtensibleNode *node); } ExtensibleNodeMethods; -extern void RegisterExtensibleNodeMethods(const ExtensibleNodeMethods *method); -extern const ExtensibleNodeMethods *GetExtensibleNodeMethods(const char *name, +extern void RegisterExtensibleNodeMethods(const ExtensibleNodeMethods *methods); +extern const ExtensibleNodeMethods *GetExtensibleNodeMethods(const char *extnodename, bool missing_ok); /* diff --git a/parser/include/postgres/nodes/gokeep.go b/parser/include/postgres/nodes/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/nodes/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/nodes/lockoptions.h b/parser/include/postgres/nodes/lockoptions.h similarity index 92% rename from parser/include/nodes/lockoptions.h rename to parser/include/postgres/nodes/lockoptions.h index 399f7296..044ef42e 100644 --- a/parser/include/nodes/lockoptions.h +++ b/parser/include/postgres/nodes/lockoptions.h @@ -4,7 +4,7 @@ * Common header for some locking-related declarations. * * - * Copyright (c) 2014-2022, PostgreSQL Global Development Group + * Copyright (c) 2014-2024, PostgreSQL Global Development Group * * src/include/nodes/lockoptions.h * @@ -24,7 +24,7 @@ typedef enum LockClauseStrength LCS_FORKEYSHARE, /* FOR KEY SHARE */ LCS_FORSHARE, /* FOR SHARE */ LCS_FORNOKEYUPDATE, /* FOR NO KEY UPDATE */ - LCS_FORUPDATE /* FOR UPDATE */ + LCS_FORUPDATE, /* FOR UPDATE */ } LockClauseStrength; /* @@ -40,7 +40,7 @@ typedef enum LockWaitPolicy /* Skip rows that can't be locked (SKIP LOCKED) */ LockWaitSkip, /* Raise an error if a row cannot be locked (NOWAIT) */ - LockWaitError + LockWaitError, } LockWaitPolicy; /* @@ -55,7 +55,7 @@ typedef enum LockTupleMode /* SELECT FOR NO KEY UPDATE, and UPDATEs that don't modify key columns */ LockTupleNoKeyExclusive, /* SELECT FOR UPDATE, UPDATEs that modify key columns, and DELETE */ - LockTupleExclusive + LockTupleExclusive, } LockTupleMode; #endif /* LOCKOPTIONS_H */ diff --git a/parser/include/nodes/makefuncs.h b/parser/include/postgres/nodes/makefuncs.h similarity index 78% rename from parser/include/nodes/makefuncs.h rename to parser/include/postgres/nodes/makefuncs.h index 50de4c62..5209d3de 100644 --- a/parser/include/nodes/makefuncs.h +++ b/parser/include/postgres/nodes/makefuncs.h @@ -4,7 +4,7 @@ * prototypes for the creator functions of various nodes * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/makefuncs.h @@ -96,8 +96,11 @@ extern List *make_ands_implicit(Expr *clause); extern IndexInfo *makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid, List *expressions, List *predicates, - bool unique, bool nulls_not_distinct, bool isready, bool concurrent); + bool unique, bool nulls_not_distinct, + bool isready, bool concurrent, + bool summarizing); +extern Node *makeStringConst(char *str, int location); extern DefElem *makeDefElem(char *name, Node *arg, int location); extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg, DefElemAction defaction, int location); @@ -106,4 +109,19 @@ extern GroupingSet *makeGroupingSet(GroupingSetKind kind, List *content, int loc extern VacuumRelation *makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols); +extern JsonFormat *makeJsonFormat(JsonFormatType type, JsonEncoding encoding, + int location); +extern JsonValueExpr *makeJsonValueExpr(Expr *raw_expr, Expr *formatted_expr, + JsonFormat *format); +extern Node *makeJsonKeyValue(Node *key, Node *value); +extern Node *makeJsonIsPredicate(Node *expr, JsonFormat *format, + JsonValueType item_type, bool unique_keys, + int location); +extern JsonBehavior *makeJsonBehavior(JsonBehaviorType btype, Node *expr, + int location); +extern JsonTablePath *makeJsonTablePath(Const *pathvalue, char *pathname); +extern JsonTablePathSpec *makeJsonTablePathSpec(char *string, char *name, + int string_location, + int name_location); + #endif /* MAKEFUNC_H */ diff --git a/parser/include/nodes/memnodes.h b/parser/include/postgres/nodes/memnodes.h similarity index 68% rename from parser/include/nodes/memnodes.h rename to parser/include/postgres/nodes/memnodes.h index bbbe151e..c4c9fd3e 100644 --- a/parser/include/nodes/memnodes.h +++ b/parser/include/postgres/nodes/memnodes.h @@ -4,7 +4,7 @@ * POSTGRES memory context node definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/memnodes.h @@ -57,19 +57,58 @@ typedef void (*MemoryStatsPrintFunc) (MemoryContext context, void *passthru, typedef struct MemoryContextMethods { - void *(*alloc) (MemoryContext context, Size size); + /* + * Function to handle memory allocation requests of 'size' to allocate + * memory into the given 'context'. The function must handle flags + * MCXT_ALLOC_HUGE and MCXT_ALLOC_NO_OOM. MCXT_ALLOC_ZERO is handled by + * the calling function. + */ + void *(*alloc) (MemoryContext context, Size size, int flags); + /* call this free_p in case someone #define's free() */ - void (*free_p) (MemoryContext context, void *pointer); - void *(*realloc) (MemoryContext context, void *pointer, Size size); + void (*free_p) (void *pointer); + + /* + * Function to handle a size change request for an existing allocation. + * The implementation must handle flags MCXT_ALLOC_HUGE and + * MCXT_ALLOC_NO_OOM. MCXT_ALLOC_ZERO is handled by the calling function. + */ + void *(*realloc) (void *pointer, Size size, int flags); + + /* + * Invalidate all previous allocations in the given memory context and + * prepare the context for a new set of allocations. Implementations may + * optionally free() excess memory back to the OS during this time. + */ void (*reset) (MemoryContext context); + + /* Free all memory consumed by the given MemoryContext. */ void (*delete_context) (MemoryContext context); - Size (*get_chunk_space) (MemoryContext context, void *pointer); + + /* Return the MemoryContext that the given pointer belongs to. */ + MemoryContext (*get_chunk_context) (void *pointer); + + /* + * Return the number of bytes consumed by the given pointer within its + * memory context, including the overhead of alignment and chunk headers. + */ + Size (*get_chunk_space) (void *pointer); + + /* + * Return true if the given MemoryContext has not had any allocations + * since it was created or last reset. + */ bool (*is_empty) (MemoryContext context); void (*stats) (MemoryContext context, MemoryStatsPrintFunc printfunc, void *passthru, MemoryContextCounters *totals, bool print_to_stderr); #ifdef MEMORY_CONTEXT_CHECKING + + /* + * Perform validation checks on the given context and raise any discovered + * anomalies as WARNINGs. + */ void (*check) (MemoryContext context); #endif } MemoryContextMethods; @@ -77,6 +116,8 @@ typedef struct MemoryContextMethods typedef struct MemoryContextData { + pg_node_attr(abstract) /* there are no nodes of this type */ + NodeTag type; /* identifies exact kind of context */ /* these two fields are placed here to minimize alignment wastage: */ bool isReset; /* T = no space alloced since last reset */ @@ -105,6 +146,7 @@ typedef struct MemoryContextData ((context) != NULL && \ (IsA((context), AllocSetContext) || \ IsA((context), SlabContext) || \ - IsA((context), GenerationContext))) + IsA((context), GenerationContext) || \ + IsA((context), BumpContext))) #endif /* MEMNODES_H */ diff --git a/parser/include/postgres/nodes/miscnodes.h b/parser/include/postgres/nodes/miscnodes.h new file mode 100644 index 00000000..1612b63a --- /dev/null +++ b/parser/include/postgres/nodes/miscnodes.h @@ -0,0 +1,56 @@ +/*------------------------------------------------------------------------- + * + * miscnodes.h + * Definitions for hard-to-classify node types. + * + * Node types declared here are not part of parse trees, plan trees, + * or execution state trees. We only assign them NodeTag values because + * IsA() tests provide a convenient way to disambiguate what kind of + * structure is being passed through assorted APIs, such as function + * "context" pointers. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/nodes/miscnodes.h + * + *------------------------------------------------------------------------- + */ +#ifndef MISCNODES_H +#define MISCNODES_H + +#include "nodes/nodes.h" + +/* + * ErrorSaveContext - + * function call context node for handling of "soft" errors + * + * A caller wishing to trap soft errors must initialize a struct like this + * with all fields zero/NULL except for the NodeTag. Optionally, set + * details_wanted = true if more than the bare knowledge that a soft error + * occurred is required. The struct is then passed to a SQL-callable function + * via the FunctionCallInfo.context field; or below the level of SQL calls, + * it could be passed to a subroutine directly. + * + * After calling code that might report an error this way, check + * error_occurred to see if an error happened. If so, and if details_wanted + * is true, error_data has been filled with error details (stored in the + * callee's memory context!). FreeErrorData() can be called to release + * error_data, although that step is typically not necessary if the called + * code was run in a short-lived context. + */ +typedef struct ErrorSaveContext +{ + NodeTag type; + bool error_occurred; /* set to true if we detect a soft error */ + bool details_wanted; /* does caller want more info than that? */ + ErrorData *error_data; /* details of error, if so */ +} ErrorSaveContext; + +/* Often-useful macro for checking if a soft error was reported */ +#define SOFT_ERROR_OCCURRED(escontext) \ + ((escontext) != NULL && IsA(escontext, ErrorSaveContext) && \ + ((ErrorSaveContext *) (escontext))->error_occurred) + +#endif /* MISCNODES_H */ diff --git a/parser/include/nodes/nodeFuncs.h b/parser/include/postgres/nodes/nodeFuncs.h similarity index 50% rename from parser/include/nodes/nodeFuncs.h rename to parser/include/postgres/nodes/nodeFuncs.h index 93c60bde..eaba59be 100644 --- a/parser/include/nodes/nodeFuncs.h +++ b/parser/include/postgres/nodes/nodeFuncs.h @@ -3,7 +3,7 @@ * nodeFuncs.h * Various general-purpose manipulations of Node trees * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/nodeFuncs.h @@ -15,6 +15,8 @@ #include "nodes/parsenodes.h" +struct PlanState; /* avoid including execnodes.h too */ + /* flags bits for query_tree_walker and query_tree_mutator */ #define QTW_IGNORE_RT_SUBQUERIES 0x01 /* subqueries in rtable */ @@ -27,11 +29,19 @@ #define QTW_EXAMINE_RTES_AFTER 0x20 /* examine RTE nodes after their * contents */ #define QTW_DONT_COPY_QUERY 0x40 /* do not copy top Query */ -#define QTW_EXAMINE_SORTGROUP 0x80 /* include SortGroupNode lists */ +#define QTW_EXAMINE_SORTGROUP 0x80 /* include SortGroupClause lists */ /* callback function for check_functions_in_node */ typedef bool (*check_function_callback) (Oid func_id, void *context); +/* callback functions for tree walkers */ +typedef bool (*tree_walker_callback) (Node *node, void *context); +typedef bool (*planstate_tree_walker_callback) (struct PlanState *planstate, + void *context); + +/* callback functions for tree mutators */ +typedef Node *(*tree_mutator_callback) (Node *node, void *context); + extern Oid exprType(const Node *expr); extern int32 exprTypmod(const Node *expr); @@ -129,34 +139,84 @@ get_notclausearg(const void *notclause) extern bool check_functions_in_node(Node *node, check_function_callback checker, void *context); -extern bool expression_tree_walker(Node *node, bool (*walker) (), - void *context); -extern Node *expression_tree_mutator(Node *node, Node *(*mutator) (), - void *context); - -extern bool query_tree_walker(Query *query, bool (*walker) (), - void *context, int flags); -extern Query *query_tree_mutator(Query *query, Node *(*mutator) (), - void *context, int flags); - -extern bool range_table_walker(List *rtable, bool (*walker) (), - void *context, int flags); -extern List *range_table_mutator(List *rtable, Node *(*mutator) (), - void *context, int flags); - -extern bool range_table_entry_walker(RangeTblEntry *rte, bool (*walker) (), - void *context, int flags); - -extern bool query_or_expression_tree_walker(Node *node, bool (*walker) (), - void *context, int flags); -extern Node *query_or_expression_tree_mutator(Node *node, Node *(*mutator) (), - void *context, int flags); +/* + * The following functions are usually passed walker or mutator callbacks + * that are declared like "bool walker(Node *node, my_struct *context)" + * rather than "bool walker(Node *node, void *context)" as a strict reading + * of the C standard would require. Changing the callbacks' declarations + * to "void *" would create serious hazards of passing them the wrong context + * struct type, so we respectfully decline to support the standard's position + * that a pointer to struct is incompatible with "void *". Instead, silence + * related compiler warnings by inserting casts into these macro wrappers. + */ -extern bool raw_expression_tree_walker(Node *node, bool (*walker) (), +#define expression_tree_walker(n, w, c) \ + expression_tree_walker_impl(n, (tree_walker_callback) (w), c) +#define expression_tree_mutator(n, m, c) \ + expression_tree_mutator_impl(n, (tree_mutator_callback) (m), c) + +#define query_tree_walker(q, w, c, f) \ + query_tree_walker_impl(q, (tree_walker_callback) (w), c, f) +#define query_tree_mutator(q, m, c, f) \ + query_tree_mutator_impl(q, (tree_mutator_callback) (m), c, f) + +#define range_table_walker(rt, w, c, f) \ + range_table_walker_impl(rt, (tree_walker_callback) (w), c, f) +#define range_table_mutator(rt, m, c, f) \ + range_table_mutator_impl(rt, (tree_mutator_callback) (m), c, f) + +#define range_table_entry_walker(r, w, c, f) \ + range_table_entry_walker_impl(r, (tree_walker_callback) (w), c, f) + +#define query_or_expression_tree_walker(n, w, c, f) \ + query_or_expression_tree_walker_impl(n, (tree_walker_callback) (w), c, f) +#define query_or_expression_tree_mutator(n, m, c, f) \ + query_or_expression_tree_mutator_impl(n, (tree_mutator_callback) (m), c, f) + +#define raw_expression_tree_walker(n, w, c) \ + raw_expression_tree_walker_impl(n, (tree_walker_callback) (w), c) + +#define planstate_tree_walker(ps, w, c) \ + planstate_tree_walker_impl(ps, (planstate_tree_walker_callback) (w), c) + +extern bool expression_tree_walker_impl(Node *node, + tree_walker_callback walker, + void *context); +extern Node *expression_tree_mutator_impl(Node *node, + tree_mutator_callback mutator, + void *context); + +extern bool query_tree_walker_impl(Query *query, + tree_walker_callback walker, + void *context, int flags); +extern Query *query_tree_mutator_impl(Query *query, + tree_mutator_callback mutator, + void *context, int flags); + +extern bool range_table_walker_impl(List *rtable, + tree_walker_callback walker, + void *context, int flags); +extern List *range_table_mutator_impl(List *rtable, + tree_mutator_callback mutator, + void *context, int flags); + +extern bool range_table_entry_walker_impl(RangeTblEntry *rte, + tree_walker_callback walker, + void *context, int flags); + +extern bool query_or_expression_tree_walker_impl(Node *node, + tree_walker_callback walker, + void *context, int flags); +extern Node *query_or_expression_tree_mutator_impl(Node *node, + tree_mutator_callback mutator, + void *context, int flags); + +extern bool raw_expression_tree_walker_impl(Node *node, + tree_walker_callback walker, + void *context); + +extern bool planstate_tree_walker_impl(struct PlanState *planstate, + planstate_tree_walker_callback walker, void *context); -struct PlanState; -extern bool planstate_tree_walker(struct PlanState *planstate, bool (*walker) (), - void *context); - #endif /* NODEFUNCS_H */ diff --git a/parser/include/postgres/nodes/nodes.h b/parser/include/postgres/nodes/nodes.h new file mode 100644 index 00000000..7cc3ca38 --- /dev/null +++ b/parser/include/postgres/nodes/nodes.h @@ -0,0 +1,435 @@ +/*------------------------------------------------------------------------- + * + * nodes.h + * Definitions for tagged nodes. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/nodes/nodes.h + * + *------------------------------------------------------------------------- + */ +#ifndef NODES_H +#define NODES_H + +/* + * The first field of every node is NodeTag. Each node created (with makeNode) + * will have one of the following tags as the value of its first field. + * + * Note that inserting or deleting node types changes the numbers of other + * node types later in the list. This is no problem during development, since + * the node numbers are never stored on disk. But don't do it in a released + * branch, because that would represent an ABI break for extensions. + */ +typedef enum NodeTag +{ + T_Invalid = 0, + +#include "nodes/nodetags.h" +} NodeTag; + +/* + * pg_node_attr() - Used in node definitions to set extra information for + * gen_node_support.pl + * + * Attributes can be attached to a node as a whole (place the attribute + * specification on the first line after the struct's opening brace) + * or to a specific field (place it at the end of that field's line). The + * argument is a comma-separated list of attributes. Unrecognized attributes + * cause an error. + * + * Valid node attributes: + * + * - abstract: Abstract types are types that cannot be instantiated but that + * can be supertypes of other types. We track their fields, so that + * subtypes can use them, but we don't emit a node tag, so you can't + * instantiate them. + * + * - custom_copy_equal: Has custom implementations in copyfuncs.c and + * equalfuncs.c. + * + * - custom_read_write: Has custom implementations in outfuncs.c and + * readfuncs.c. + * + * - custom_query_jumble: Has custom implementation in queryjumblefuncs.c. + * + * - no_copy: Does not support copyObject() at all. + * + * - no_equal: Does not support equal() at all. + * + * - no_copy_equal: Shorthand for both no_copy and no_equal. + * + * - no_query_jumble: Does not support JumbleQuery() at all. + * + * - no_read: Does not support nodeRead() at all. + * + * - nodetag_only: Does not support copyObject(), equal(), jumbleQuery() + * outNode() or nodeRead(). + * + * - special_read_write: Has special treatment in outNode() and nodeRead(). + * + * - nodetag_number(VALUE): assign the specified nodetag number instead of + * an auto-generated number. Typically this would only be used in stable + * branches, to give a newly-added node type a number without breaking ABI + * by changing the numbers of existing node types. + * + * Node types can be supertypes of other types whether or not they are marked + * abstract: if a node struct appears as the first field of another struct + * type, then it is the supertype of that type. The no_copy, no_equal, + * no_query_jumble and no_read node attributes are automatically inherited + * from the supertype. (Notice that nodetag_only does not inherit, so it's + * not quite equivalent to a combination of other attributes.) + * + * Valid node field attributes: + * + * - array_size(OTHERFIELD): This field is a dynamically allocated array with + * size indicated by the mentioned other field. The other field is either a + * scalar or a list, in which case the length of the list is used. + * + * - copy_as(VALUE): In copyObject(), replace the field's value with VALUE. + * + * - copy_as_scalar: In copyObject(), copy the field as a scalar value + * (e.g. a pointer) even if it is a node-type pointer. + * + * - equal_as_scalar: In equal(), compare the field as a scalar value + * even if it is a node-type pointer. + * + * - equal_ignore: Ignore the field for equality. + * + * - equal_ignore_if_zero: Ignore the field for equality if it is zero. + * (Otherwise, compare normally.) + * + * - query_jumble_ignore: Ignore the field for the query jumbling. Note + * that typmod and collation information are usually irrelevant for the + * query jumbling. + * + * - query_jumble_location: Mark the field as a location to track. This is + * only allowed for integer fields that include "location" in their name. + * + * - read_as(VALUE): In nodeRead(), replace the field's value with VALUE. + * + * - read_write_ignore: Ignore the field for read/write. This is only allowed + * if the node type is marked no_read or read_as() is also specified. + * + * - write_only_relids, write_only_nondefault_pathtarget, write_only_req_outer: + * Special handling for Path struct; see there. + * + */ +#define pg_node_attr(...) + +/* + * The first field of a node of any type is guaranteed to be the NodeTag. + * Hence the type of any node can be gotten by casting it to Node. Declaring + * a variable to be of Node * (instead of void *) can also facilitate + * debugging. + */ +typedef struct Node +{ + NodeTag type; +} Node; + +#define nodeTag(nodeptr) (((const Node*)(nodeptr))->type) + +/* + * newNode - + * create a new node of the specified size and tag the node with the + * specified tag. + * + * !WARNING!: Avoid using newNode directly. You should be using the + * macro makeNode. eg. to create a Query node, use makeNode(Query) + */ +static inline Node * +newNode(size_t size, NodeTag tag) +{ + Node *result; + + Assert(size >= sizeof(Node)); /* need the tag, at least */ + result = (Node *) palloc0(size); + result->type = tag; + + return result; +} + +#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_)) +#define NodeSetTag(nodeptr,t) (((Node*)(nodeptr))->type = (t)) + +#define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_) + +/* + * castNode(type, ptr) casts ptr to "type *", and if assertions are enabled, + * verifies that the node has the appropriate type (using its nodeTag()). + * + * Use an inline function when assertions are enabled, to avoid multiple + * evaluations of the ptr argument (which could e.g. be a function call). + */ +#ifdef USE_ASSERT_CHECKING +static inline Node * +castNodeImpl(NodeTag type, void *ptr) +{ + Assert(ptr == NULL || nodeTag(ptr) == type); + return (Node *) ptr; +} +#define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr)) +#else +#define castNode(_type_, nodeptr) ((_type_ *) (nodeptr)) +#endif /* USE_ASSERT_CHECKING */ + + +/* ---------------------------------------------------------------- + * extern declarations follow + * ---------------------------------------------------------------- + */ + +/* + * nodes/{outfuncs.c,print.c} + */ +struct Bitmapset; /* not to include bitmapset.h here */ +struct StringInfoData; /* not to include stringinfo.h here */ + +extern void outNode(struct StringInfoData *str, const void *obj); +extern void outToken(struct StringInfoData *str, const char *s); +extern void outBitmapset(struct StringInfoData *str, + const struct Bitmapset *bms); +extern void outDatum(struct StringInfoData *str, uintptr_t value, + int typlen, bool typbyval); +extern char *nodeToString(const void *obj); +extern char *nodeToStringWithLocations(const void *obj); +extern char *bmsToString(const struct Bitmapset *bms); + +/* + * nodes/{readfuncs.c,read.c} + */ +extern void *stringToNode(const char *str); +#ifdef WRITE_READ_PARSE_PLAN_TREES +extern void *stringToNodeWithLocations(const char *str); +#endif +extern struct Bitmapset *readBitmapset(void); +extern uintptr_t readDatum(bool typbyval); +extern bool *readBoolCols(int numCols); +extern int *readIntCols(int numCols); +extern Oid *readOidCols(int numCols); +extern int16 *readAttrNumberCols(int numCols); + +/* + * nodes/copyfuncs.c + */ +extern void *copyObjectImpl(const void *from); + +/* cast result back to argument type, if supported by compiler */ +#ifdef HAVE_TYPEOF +#define copyObject(obj) ((typeof(obj)) copyObjectImpl(obj)) +#else +#define copyObject(obj) copyObjectImpl(obj) +#endif + +/* + * nodes/equalfuncs.c + */ +extern bool equal(const void *a, const void *b); + + +/* + * Typedef for parse location. This is just an int, but this way + * gen_node_support.pl knows which fields should get special treatment for + * location values. + * + * -1 is used for unknown. + */ +typedef int ParseLoc; + +/* + * Typedefs for identifying qualifier selectivities, plan costs, and row + * counts as such. These are just plain "double"s, but declaring a variable + * as Selectivity, Cost, or Cardinality makes the intent more obvious. + * + * These could have gone into plannodes.h or some such, but many files + * depend on them... + */ +typedef double Selectivity; /* fraction of tuples a qualifier will pass */ +typedef double Cost; /* execution cost (in page-access units) */ +typedef double Cardinality; /* (estimated) number of rows or other integer + * count */ + + +/* + * CmdType - + * enums for type of operation represented by a Query or PlannedStmt + * + * This is needed in both parsenodes.h and plannodes.h, so put it here... + */ +typedef enum CmdType +{ + CMD_UNKNOWN, + CMD_SELECT, /* select stmt */ + CMD_UPDATE, /* update stmt */ + CMD_INSERT, /* insert stmt */ + CMD_DELETE, /* delete stmt */ + CMD_MERGE, /* merge stmt */ + CMD_UTILITY, /* cmds like create, destroy, copy, vacuum, + * etc. */ + CMD_NOTHING, /* dummy command for instead nothing rules + * with qual */ +} CmdType; + + +/* + * JoinType - + * enums for types of relation joins + * + * JoinType determines the exact semantics of joining two relations using + * a matching qualification. For example, it tells what to do with a tuple + * that has no match in the other relation. + * + * This is needed in both parsenodes.h and plannodes.h, so put it here... + */ +typedef enum JoinType +{ + /* + * The canonical kinds of joins according to the SQL JOIN syntax. Only + * these codes can appear in parser output (e.g., JoinExpr nodes). + */ + JOIN_INNER, /* matching tuple pairs only */ + JOIN_LEFT, /* pairs + unmatched LHS tuples */ + JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */ + JOIN_RIGHT, /* pairs + unmatched RHS tuples */ + + /* + * Semijoins and anti-semijoins (as defined in relational theory) do not + * appear in the SQL JOIN syntax, but there are standard idioms for + * representing them (e.g., using EXISTS). The planner recognizes these + * cases and converts them to joins. So the planner and executor must + * support these codes. NOTE: in JOIN_SEMI output, it is unspecified + * which matching RHS row is joined to. In JOIN_ANTI output, the row is + * guaranteed to be null-extended. + */ + JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */ + JOIN_ANTI, /* 1 copy of each LHS row that has no match */ + JOIN_RIGHT_ANTI, /* 1 copy of each RHS row that has no match */ + + /* + * These codes are used internally in the planner, but are not supported + * by the executor (nor, indeed, by most of the planner). + */ + JOIN_UNIQUE_OUTER, /* LHS path must be made unique */ + JOIN_UNIQUE_INNER, /* RHS path must be made unique */ + + /* + * We might need additional join types someday. + */ +} JoinType; + +/* + * OUTER joins are those for which pushed-down quals must behave differently + * from the join's own quals. This is in fact everything except INNER and + * SEMI joins. However, this macro must also exclude the JOIN_UNIQUE symbols + * since those are temporary proxies for what will eventually be an INNER + * join. + * + * Note: semijoins are a hybrid case, but we choose to treat them as not + * being outer joins. This is okay principally because the SQL syntax makes + * it impossible to have a pushed-down qual that refers to the inner relation + * of a semijoin; so there is no strong need to distinguish join quals from + * pushed-down quals. This is convenient because for almost all purposes, + * quals attached to a semijoin can be treated the same as innerjoin quals. + */ +#define IS_OUTER_JOIN(jointype) \ + (((1 << (jointype)) & \ + ((1 << JOIN_LEFT) | \ + (1 << JOIN_FULL) | \ + (1 << JOIN_RIGHT) | \ + (1 << JOIN_ANTI) | \ + (1 << JOIN_RIGHT_ANTI))) != 0) + +/* + * AggStrategy - + * overall execution strategies for Agg plan nodes + * + * This is needed in both pathnodes.h and plannodes.h, so put it here... + */ +typedef enum AggStrategy +{ + AGG_PLAIN, /* simple agg across all input rows */ + AGG_SORTED, /* grouped agg, input must be sorted */ + AGG_HASHED, /* grouped agg, use internal hashtable */ + AGG_MIXED, /* grouped agg, hash and sort both used */ +} AggStrategy; + +/* + * AggSplit - + * splitting (partial aggregation) modes for Agg plan nodes + * + * This is needed in both pathnodes.h and plannodes.h, so put it here... + */ + +/* Primitive options supported by nodeAgg.c: */ +#define AGGSPLITOP_COMBINE 0x01 /* substitute combinefn for transfn */ +#define AGGSPLITOP_SKIPFINAL 0x02 /* skip finalfn, return state as-is */ +#define AGGSPLITOP_SERIALIZE 0x04 /* apply serialfn to output */ +#define AGGSPLITOP_DESERIALIZE 0x08 /* apply deserialfn to input */ + +/* Supported operating modes (i.e., useful combinations of these options): */ +typedef enum AggSplit +{ + /* Basic, non-split aggregation: */ + AGGSPLIT_SIMPLE = 0, + /* Initial phase of partial aggregation, with serialization: */ + AGGSPLIT_INITIAL_SERIAL = AGGSPLITOP_SKIPFINAL | AGGSPLITOP_SERIALIZE, + /* Final phase of partial aggregation, with deserialization: */ + AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE, +} AggSplit; + +/* Test whether an AggSplit value selects each primitive option: */ +#define DO_AGGSPLIT_COMBINE(as) (((as) & AGGSPLITOP_COMBINE) != 0) +#define DO_AGGSPLIT_SKIPFINAL(as) (((as) & AGGSPLITOP_SKIPFINAL) != 0) +#define DO_AGGSPLIT_SERIALIZE(as) (((as) & AGGSPLITOP_SERIALIZE) != 0) +#define DO_AGGSPLIT_DESERIALIZE(as) (((as) & AGGSPLITOP_DESERIALIZE) != 0) + +/* + * SetOpCmd and SetOpStrategy - + * overall semantics and execution strategies for SetOp plan nodes + * + * This is needed in both pathnodes.h and plannodes.h, so put it here... + */ +typedef enum SetOpCmd +{ + SETOPCMD_INTERSECT, + SETOPCMD_INTERSECT_ALL, + SETOPCMD_EXCEPT, + SETOPCMD_EXCEPT_ALL, +} SetOpCmd; + +typedef enum SetOpStrategy +{ + SETOP_SORTED, /* input must be sorted */ + SETOP_HASHED, /* use internal hashtable */ +} SetOpStrategy; + +/* + * OnConflictAction - + * "ON CONFLICT" clause type of query + * + * This is needed in both parsenodes.h and plannodes.h, so put it here... + */ +typedef enum OnConflictAction +{ + ONCONFLICT_NONE, /* No "ON CONFLICT" clause */ + ONCONFLICT_NOTHING, /* ON CONFLICT ... DO NOTHING */ + ONCONFLICT_UPDATE, /* ON CONFLICT ... DO UPDATE */ +} OnConflictAction; + +/* + * LimitOption - + * LIMIT option of query + * + * This is needed in both parsenodes.h and plannodes.h, so put it here... + */ +typedef enum LimitOption +{ + LIMIT_OPTION_DEFAULT, /* No limit present */ + LIMIT_OPTION_COUNT, /* FETCH FIRST... ONLY */ + LIMIT_OPTION_WITH_TIES, /* FETCH FIRST... WITH TIES */ +} LimitOption; + +#endif /* NODES_H */ diff --git a/parser/include/postgres/nodes/nodetags.h b/parser/include/postgres/nodes/nodetags.h new file mode 100644 index 00000000..ee1fb29c --- /dev/null +++ b/parser/include/postgres/nodes/nodetags.h @@ -0,0 +1,491 @@ +/*------------------------------------------------------------------------- + * + * nodetags.h + * Generated node infrastructure code + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/nodes/gen_node_support.pl + * + *------------------------------------------------------------------------- + */ + T_List = 1, + T_Alias = 2, + T_RangeVar = 3, + T_TableFunc = 4, + T_IntoClause = 5, + T_Var = 6, + T_Const = 7, + T_Param = 8, + T_Aggref = 9, + T_GroupingFunc = 10, + T_WindowFunc = 11, + T_WindowFuncRunCondition = 12, + T_MergeSupportFunc = 13, + T_SubscriptingRef = 14, + T_FuncExpr = 15, + T_NamedArgExpr = 16, + T_OpExpr = 17, + T_DistinctExpr = 18, + T_NullIfExpr = 19, + T_ScalarArrayOpExpr = 20, + T_BoolExpr = 21, + T_SubLink = 22, + T_SubPlan = 23, + T_AlternativeSubPlan = 24, + T_FieldSelect = 25, + T_FieldStore = 26, + T_RelabelType = 27, + T_CoerceViaIO = 28, + T_ArrayCoerceExpr = 29, + T_ConvertRowtypeExpr = 30, + T_CollateExpr = 31, + T_CaseExpr = 32, + T_CaseWhen = 33, + T_CaseTestExpr = 34, + T_ArrayExpr = 35, + T_RowExpr = 36, + T_RowCompareExpr = 37, + T_CoalesceExpr = 38, + T_MinMaxExpr = 39, + T_SQLValueFunction = 40, + T_XmlExpr = 41, + T_JsonFormat = 42, + T_JsonReturning = 43, + T_JsonValueExpr = 44, + T_JsonConstructorExpr = 45, + T_JsonIsPredicate = 46, + T_JsonBehavior = 47, + T_JsonExpr = 48, + T_JsonTablePath = 49, + T_JsonTablePathScan = 50, + T_JsonTableSiblingJoin = 51, + T_NullTest = 52, + T_BooleanTest = 53, + T_MergeAction = 54, + T_CoerceToDomain = 55, + T_CoerceToDomainValue = 56, + T_SetToDefault = 57, + T_CurrentOfExpr = 58, + T_NextValueExpr = 59, + T_InferenceElem = 60, + T_TargetEntry = 61, + T_RangeTblRef = 62, + T_JoinExpr = 63, + T_FromExpr = 64, + T_OnConflictExpr = 65, + T_Query = 66, + T_TypeName = 67, + T_ColumnRef = 68, + T_ParamRef = 69, + T_A_Expr = 70, + T_A_Const = 71, + T_TypeCast = 72, + T_CollateClause = 73, + T_RoleSpec = 74, + T_FuncCall = 75, + T_A_Star = 76, + T_A_Indices = 77, + T_A_Indirection = 78, + T_A_ArrayExpr = 79, + T_ResTarget = 80, + T_MultiAssignRef = 81, + T_SortBy = 82, + T_WindowDef = 83, + T_RangeSubselect = 84, + T_RangeFunction = 85, + T_RangeTableFunc = 86, + T_RangeTableFuncCol = 87, + T_RangeTableSample = 88, + T_ColumnDef = 89, + T_TableLikeClause = 90, + T_IndexElem = 91, + T_DefElem = 92, + T_LockingClause = 93, + T_XmlSerialize = 94, + T_PartitionElem = 95, + T_PartitionSpec = 96, + T_PartitionBoundSpec = 97, + T_PartitionRangeDatum = 98, + T_SinglePartitionSpec = 99, + T_PartitionCmd = 100, + T_RangeTblEntry = 101, + T_RTEPermissionInfo = 102, + T_RangeTblFunction = 103, + T_TableSampleClause = 104, + T_WithCheckOption = 105, + T_SortGroupClause = 106, + T_GroupingSet = 107, + T_WindowClause = 108, + T_RowMarkClause = 109, + T_WithClause = 110, + T_InferClause = 111, + T_OnConflictClause = 112, + T_CTESearchClause = 113, + T_CTECycleClause = 114, + T_CommonTableExpr = 115, + T_MergeWhenClause = 116, + T_TriggerTransition = 117, + T_JsonOutput = 118, + T_JsonArgument = 119, + T_JsonFuncExpr = 120, + T_JsonTablePathSpec = 121, + T_JsonTable = 122, + T_JsonTableColumn = 123, + T_JsonKeyValue = 124, + T_JsonParseExpr = 125, + T_JsonScalarExpr = 126, + T_JsonSerializeExpr = 127, + T_JsonObjectConstructor = 128, + T_JsonArrayConstructor = 129, + T_JsonArrayQueryConstructor = 130, + T_JsonAggConstructor = 131, + T_JsonObjectAgg = 132, + T_JsonArrayAgg = 133, + T_RawStmt = 134, + T_InsertStmt = 135, + T_DeleteStmt = 136, + T_UpdateStmt = 137, + T_MergeStmt = 138, + T_SelectStmt = 139, + T_SetOperationStmt = 140, + T_ReturnStmt = 141, + T_PLAssignStmt = 142, + T_CreateSchemaStmt = 143, + T_AlterTableStmt = 144, + T_ReplicaIdentityStmt = 145, + T_AlterTableCmd = 146, + T_AlterCollationStmt = 147, + T_AlterDomainStmt = 148, + T_GrantStmt = 149, + T_ObjectWithArgs = 150, + T_AccessPriv = 151, + T_GrantRoleStmt = 152, + T_AlterDefaultPrivilegesStmt = 153, + T_CopyStmt = 154, + T_VariableSetStmt = 155, + T_VariableShowStmt = 156, + T_CreateStmt = 157, + T_Constraint = 158, + T_CreateTableSpaceStmt = 159, + T_DropTableSpaceStmt = 160, + T_AlterTableSpaceOptionsStmt = 161, + T_AlterTableMoveAllStmt = 162, + T_CreateExtensionStmt = 163, + T_AlterExtensionStmt = 164, + T_AlterExtensionContentsStmt = 165, + T_CreateFdwStmt = 166, + T_AlterFdwStmt = 167, + T_CreateForeignServerStmt = 168, + T_AlterForeignServerStmt = 169, + T_CreateForeignTableStmt = 170, + T_CreateUserMappingStmt = 171, + T_AlterUserMappingStmt = 172, + T_DropUserMappingStmt = 173, + T_ImportForeignSchemaStmt = 174, + T_CreatePolicyStmt = 175, + T_AlterPolicyStmt = 176, + T_CreateAmStmt = 177, + T_CreateTrigStmt = 178, + T_CreateEventTrigStmt = 179, + T_AlterEventTrigStmt = 180, + T_CreatePLangStmt = 181, + T_CreateRoleStmt = 182, + T_AlterRoleStmt = 183, + T_AlterRoleSetStmt = 184, + T_DropRoleStmt = 185, + T_CreateSeqStmt = 186, + T_AlterSeqStmt = 187, + T_DefineStmt = 188, + T_CreateDomainStmt = 189, + T_CreateOpClassStmt = 190, + T_CreateOpClassItem = 191, + T_CreateOpFamilyStmt = 192, + T_AlterOpFamilyStmt = 193, + T_DropStmt = 194, + T_TruncateStmt = 195, + T_CommentStmt = 196, + T_SecLabelStmt = 197, + T_DeclareCursorStmt = 198, + T_ClosePortalStmt = 199, + T_FetchStmt = 200, + T_IndexStmt = 201, + T_CreateStatsStmt = 202, + T_StatsElem = 203, + T_AlterStatsStmt = 204, + T_CreateFunctionStmt = 205, + T_FunctionParameter = 206, + T_AlterFunctionStmt = 207, + T_DoStmt = 208, + T_InlineCodeBlock = 209, + T_CallStmt = 210, + T_CallContext = 211, + T_RenameStmt = 212, + T_AlterObjectDependsStmt = 213, + T_AlterObjectSchemaStmt = 214, + T_AlterOwnerStmt = 215, + T_AlterOperatorStmt = 216, + T_AlterTypeStmt = 217, + T_RuleStmt = 218, + T_NotifyStmt = 219, + T_ListenStmt = 220, + T_UnlistenStmt = 221, + T_TransactionStmt = 222, + T_CompositeTypeStmt = 223, + T_CreateEnumStmt = 224, + T_CreateRangeStmt = 225, + T_AlterEnumStmt = 226, + T_ViewStmt = 227, + T_LoadStmt = 228, + T_CreatedbStmt = 229, + T_AlterDatabaseStmt = 230, + T_AlterDatabaseRefreshCollStmt = 231, + T_AlterDatabaseSetStmt = 232, + T_DropdbStmt = 233, + T_AlterSystemStmt = 234, + T_ClusterStmt = 235, + T_VacuumStmt = 236, + T_VacuumRelation = 237, + T_ExplainStmt = 238, + T_CreateTableAsStmt = 239, + T_RefreshMatViewStmt = 240, + T_CheckPointStmt = 241, + T_DiscardStmt = 242, + T_LockStmt = 243, + T_ConstraintsSetStmt = 244, + T_ReindexStmt = 245, + T_CreateConversionStmt = 246, + T_CreateCastStmt = 247, + T_CreateTransformStmt = 248, + T_PrepareStmt = 249, + T_ExecuteStmt = 250, + T_DeallocateStmt = 251, + T_DropOwnedStmt = 252, + T_ReassignOwnedStmt = 253, + T_AlterTSDictionaryStmt = 254, + T_AlterTSConfigurationStmt = 255, + T_PublicationTable = 256, + T_PublicationObjSpec = 257, + T_CreatePublicationStmt = 258, + T_AlterPublicationStmt = 259, + T_CreateSubscriptionStmt = 260, + T_AlterSubscriptionStmt = 261, + T_DropSubscriptionStmt = 262, + T_PlannerGlobal = 263, + T_PlannerInfo = 264, + T_RelOptInfo = 265, + T_IndexOptInfo = 266, + T_ForeignKeyOptInfo = 267, + T_StatisticExtInfo = 268, + T_JoinDomain = 269, + T_EquivalenceClass = 270, + T_EquivalenceMember = 271, + T_PathKey = 272, + T_GroupByOrdering = 273, + T_PathTarget = 274, + T_ParamPathInfo = 275, + T_Path = 276, + T_IndexPath = 277, + T_IndexClause = 278, + T_BitmapHeapPath = 279, + T_BitmapAndPath = 280, + T_BitmapOrPath = 281, + T_TidPath = 282, + T_TidRangePath = 283, + T_SubqueryScanPath = 284, + T_ForeignPath = 285, + T_CustomPath = 286, + T_AppendPath = 287, + T_MergeAppendPath = 288, + T_GroupResultPath = 289, + T_MaterialPath = 290, + T_MemoizePath = 291, + T_UniquePath = 292, + T_GatherPath = 293, + T_GatherMergePath = 294, + T_NestPath = 295, + T_MergePath = 296, + T_HashPath = 297, + T_ProjectionPath = 298, + T_ProjectSetPath = 299, + T_SortPath = 300, + T_IncrementalSortPath = 301, + T_GroupPath = 302, + T_UpperUniquePath = 303, + T_AggPath = 304, + T_GroupingSetData = 305, + T_RollupData = 306, + T_GroupingSetsPath = 307, + T_MinMaxAggPath = 308, + T_WindowAggPath = 309, + T_SetOpPath = 310, + T_RecursiveUnionPath = 311, + T_LockRowsPath = 312, + T_ModifyTablePath = 313, + T_LimitPath = 314, + T_RestrictInfo = 315, + T_PlaceHolderVar = 316, + T_SpecialJoinInfo = 317, + T_OuterJoinClauseInfo = 318, + T_AppendRelInfo = 319, + T_RowIdentityVarInfo = 320, + T_PlaceHolderInfo = 321, + T_MinMaxAggInfo = 322, + T_PlannerParamItem = 323, + T_AggInfo = 324, + T_AggTransInfo = 325, + T_PlannedStmt = 326, + T_Result = 327, + T_ProjectSet = 328, + T_ModifyTable = 329, + T_Append = 330, + T_MergeAppend = 331, + T_RecursiveUnion = 332, + T_BitmapAnd = 333, + T_BitmapOr = 334, + T_SeqScan = 335, + T_SampleScan = 336, + T_IndexScan = 337, + T_IndexOnlyScan = 338, + T_BitmapIndexScan = 339, + T_BitmapHeapScan = 340, + T_TidScan = 341, + T_TidRangeScan = 342, + T_SubqueryScan = 343, + T_FunctionScan = 344, + T_ValuesScan = 345, + T_TableFuncScan = 346, + T_CteScan = 347, + T_NamedTuplestoreScan = 348, + T_WorkTableScan = 349, + T_ForeignScan = 350, + T_CustomScan = 351, + T_NestLoop = 352, + T_NestLoopParam = 353, + T_MergeJoin = 354, + T_HashJoin = 355, + T_Material = 356, + T_Memoize = 357, + T_Sort = 358, + T_IncrementalSort = 359, + T_Group = 360, + T_Agg = 361, + T_WindowAgg = 362, + T_Unique = 363, + T_Gather = 364, + T_GatherMerge = 365, + T_Hash = 366, + T_SetOp = 367, + T_LockRows = 368, + T_Limit = 369, + T_PlanRowMark = 370, + T_PartitionPruneInfo = 371, + T_PartitionedRelPruneInfo = 372, + T_PartitionPruneStepOp = 373, + T_PartitionPruneStepCombine = 374, + T_PlanInvalItem = 375, + T_ExprState = 376, + T_IndexInfo = 377, + T_ExprContext = 378, + T_ReturnSetInfo = 379, + T_ProjectionInfo = 380, + T_JunkFilter = 381, + T_OnConflictSetState = 382, + T_MergeActionState = 383, + T_ResultRelInfo = 384, + T_EState = 385, + T_WindowFuncExprState = 386, + T_SetExprState = 387, + T_SubPlanState = 388, + T_DomainConstraintState = 389, + T_ResultState = 390, + T_ProjectSetState = 391, + T_ModifyTableState = 392, + T_AppendState = 393, + T_MergeAppendState = 394, + T_RecursiveUnionState = 395, + T_BitmapAndState = 396, + T_BitmapOrState = 397, + T_ScanState = 398, + T_SeqScanState = 399, + T_SampleScanState = 400, + T_IndexScanState = 401, + T_IndexOnlyScanState = 402, + T_BitmapIndexScanState = 403, + T_BitmapHeapScanState = 404, + T_TidScanState = 405, + T_TidRangeScanState = 406, + T_SubqueryScanState = 407, + T_FunctionScanState = 408, + T_ValuesScanState = 409, + T_TableFuncScanState = 410, + T_CteScanState = 411, + T_NamedTuplestoreScanState = 412, + T_WorkTableScanState = 413, + T_ForeignScanState = 414, + T_CustomScanState = 415, + T_JoinState = 416, + T_NestLoopState = 417, + T_MergeJoinState = 418, + T_HashJoinState = 419, + T_MaterialState = 420, + T_MemoizeState = 421, + T_SortState = 422, + T_IncrementalSortState = 423, + T_GroupState = 424, + T_AggState = 425, + T_WindowAggState = 426, + T_UniqueState = 427, + T_GatherState = 428, + T_GatherMergeState = 429, + T_HashState = 430, + T_SetOpState = 431, + T_LockRowsState = 432, + T_LimitState = 433, + T_IndexAmRoutine = 434, + T_TableAmRoutine = 435, + T_TsmRoutine = 436, + T_EventTriggerData = 437, + T_TriggerData = 438, + T_TupleTableSlot = 439, + T_FdwRoutine = 440, + T_Bitmapset = 441, + T_ExtensibleNode = 442, + T_ErrorSaveContext = 443, + T_IdentifySystemCmd = 444, + T_BaseBackupCmd = 445, + T_CreateReplicationSlotCmd = 446, + T_DropReplicationSlotCmd = 447, + T_AlterReplicationSlotCmd = 448, + T_StartReplicationCmd = 449, + T_ReadReplicationSlotCmd = 450, + T_TimeLineHistoryCmd = 451, + T_UploadManifestCmd = 452, + T_SupportRequestSimplify = 453, + T_SupportRequestSelectivity = 454, + T_SupportRequestCost = 455, + T_SupportRequestRows = 456, + T_SupportRequestIndexCondition = 457, + T_SupportRequestWFuncMonotonic = 458, + T_SupportRequestOptimizeWindowClause = 459, + T_Integer = 460, + T_Float = 461, + T_Boolean = 462, + T_String = 463, + T_BitString = 464, + T_ForeignKeyCacheInfo = 465, + T_IntList = 466, + T_OidList = 467, + T_XidList = 468, + T_AllocSetContext = 469, + T_GenerationContext = 470, + T_SlabContext = 471, + T_BumpContext = 472, + T_TIDBitmap = 473, + T_WindowObjectData = 474, diff --git a/parser/include/nodes/params.h b/parser/include/postgres/nodes/params.h similarity index 97% rename from parser/include/nodes/params.h rename to parser/include/postgres/nodes/params.h index de2dd907..10c9fc54 100644 --- a/parser/include/nodes/params.h +++ b/parser/include/postgres/nodes/params.h @@ -4,7 +4,7 @@ * Support for finding the values associated with Param nodes. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/params.h @@ -163,8 +163,8 @@ extern ParamListInfo copyParamList(ParamListInfo from); extern Size EstimateParamListSpace(ParamListInfo paramLI); extern void SerializeParamList(ParamListInfo paramLI, char **start_address); extern ParamListInfo RestoreParamList(char **start_address); -extern char *BuildParamLogString(ParamListInfo params, char **paramTextValues, - int valueLen); +extern char *BuildParamLogString(ParamListInfo params, char **knownTextValues, + int maxlen); extern void ParamsErrorCallback(void *arg); #endif /* PARAMS_H */ diff --git a/parser/include/nodes/parsenodes.h b/parser/include/postgres/nodes/parsenodes.h similarity index 81% rename from parser/include/nodes/parsenodes.h rename to parser/include/postgres/nodes/parsenodes.h index 1e728034..67c90a2b 100644 --- a/parser/include/nodes/parsenodes.h +++ b/parser/include/postgres/nodes/parsenodes.h @@ -12,7 +12,7 @@ * identifying statement boundaries in multi-statement source strings. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/parsenodes.h @@ -22,6 +22,7 @@ #ifndef PARSENODES_H #define PARSENODES_H +#include "common/relpath.h" #include "nodes/bitmapset.h" #include "nodes/lockoptions.h" #include "nodes/primnodes.h" @@ -29,13 +30,6 @@ #include "partitioning/partdefs.h" -typedef enum OverridingKind -{ - OVERRIDING_NOT_SET = 0, - OVERRIDING_USER_VALUE, - OVERRIDING_SYSTEM_VALUE -} OverridingKind; - /* Possible sources of a Query */ typedef enum QuerySource { @@ -43,7 +37,7 @@ typedef enum QuerySource QSRC_PARSER, /* added by parse analysis (now unused) */ QSRC_INSTEAD_RULE, /* added by unconditional INSTEAD rule */ QSRC_QUAL_INSTEAD_RULE, /* added by conditional INSTEAD rule */ - QSRC_NON_INSTEAD_RULE /* added by non-INSTEAD rule */ + QSRC_NON_INSTEAD_RULE, /* added by non-INSTEAD rule */ } QuerySource; /* Sort ordering options for ORDER BY and CREATE INDEX */ @@ -52,14 +46,14 @@ typedef enum SortByDir SORTBY_DEFAULT, SORTBY_ASC, SORTBY_DESC, - SORTBY_USING /* not allowed in CREATE INDEX ... */ + SORTBY_USING, /* not allowed in CREATE INDEX ... */ } SortByDir; typedef enum SortByNulls { SORTBY_NULLS_DEFAULT, SORTBY_NULLS_FIRST, - SORTBY_NULLS_LAST + SORTBY_NULLS_LAST, } SortByNulls; /* Options for [ ALL | DISTINCT ] */ @@ -67,17 +61,17 @@ typedef enum SetQuantifier { SET_QUANTIFIER_DEFAULT, SET_QUANTIFIER_ALL, - SET_QUANTIFIER_DISTINCT + SET_QUANTIFIER_DISTINCT, } SetQuantifier; /* * Grantable rights are encoded so that we can OR them together in a bitmask. - * The present representation of AclItem limits us to 16 distinct rights, - * even though AclMode is defined as uint32. See utils/acl.h. + * The present representation of AclItem limits us to 32 distinct rights, + * even though AclMode is defined as uint64. See utils/acl.h. * * Caution: changing these codes breaks stored ACLs, hence forces initdb. */ -typedef uint32 AclMode; /* a bitmask of privilege bits */ +typedef uint64 AclMode; /* a bitmask of privilege bits */ #define ACL_INSERT (1<<0) /* for relations */ #define ACL_SELECT (1<<1) @@ -87,14 +81,14 @@ typedef uint32 AclMode; /* a bitmask of privilege bits */ #define ACL_REFERENCES (1<<5) #define ACL_TRIGGER (1<<6) #define ACL_EXECUTE (1<<7) /* for functions */ -#define ACL_USAGE (1<<8) /* for languages, namespaces, FDWs, and - * servers */ +#define ACL_USAGE (1<<8) /* for various object types */ #define ACL_CREATE (1<<9) /* for namespaces and databases */ #define ACL_CREATE_TEMP (1<<10) /* for databases */ #define ACL_CONNECT (1<<11) /* for databases */ #define ACL_SET (1<<12) /* for configuration parameters */ #define ACL_ALTER_SYSTEM (1<<13) /* for configuration parameters */ -#define N_ACL_RIGHTS 14 /* 1 plus the last 1< 0 + */ + List *rteperminfos pg_node_attr(query_jumble_ignore); FromExpr *jointree; /* table join tree (FROM and WHERE clauses); * also USING clause for MERGE */ List *mergeActionList; /* list of actions for MERGE (only) */ - bool mergeUseOuterJoin; /* whether to use outer join */ + + /* + * rtable index of target relation for MERGE to pull data. Initially, this + * is the same as resultRelation, but after query rewriting, if the target + * relation is a trigger-updatable view, this is the index of the expanded + * view subquery, whereas resultRelation is the index of the target view. + */ + int mergeTargetRelation pg_node_attr(query_jumble_ignore); + + /* join condition between source and target for MERGE */ + Node *mergeJoinCondition; List *targetList; /* target list (of TargetEntry) */ - OverridingKind override; /* OVERRIDING clause */ + /* OVERRIDING clause */ + OverridingKind override pg_node_attr(query_jumble_ignore); OnConflictExpr *onConflict; /* ON CONFLICT DO [NOTHING | UPDATE] */ @@ -183,11 +219,14 @@ typedef struct Query Node *setOperations; /* set-operation tree if this is top level of * a UNION/INTERSECT/EXCEPT query */ - List *constraintDeps; /* a list of pg_constraint OIDs that the query - * depends on to be semantically valid */ + /* + * A list of pg_constraint OIDs that the query depends on to be + * semantically valid + */ + List *constraintDeps pg_node_attr(query_jumble_ignore); - List *withCheckOptions; /* a list of WithCheckOption's (added - * during rewrite) */ + /* a list of WithCheckOption's (added during rewrite) */ + List *withCheckOptions pg_node_attr(query_jumble_ignore); /* * The following two fields identify the portion of the source text string @@ -195,8 +234,10 @@ typedef struct Query * Queries, not in sub-queries. When not set, they might both be zero, or * both be -1 meaning "unknown". */ - int stmt_location; /* start location, or -1 if unknown */ - int stmt_len; /* length in bytes; 0 means "rest of string" */ + /* start location, or -1 if unknown */ + ParseLoc stmt_location; + /* length in bytes; 0 means "rest of string" */ + ParseLoc stmt_len pg_node_attr(query_jumble_ignore); } Query; @@ -231,7 +272,7 @@ typedef struct TypeName List *typmods; /* type modifier expression(s) */ int32 typemod; /* prespecified type modifier */ List *arrayBounds; /* array bounds */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } TypeName; /* @@ -251,7 +292,7 @@ typedef struct ColumnRef { NodeTag type; List *fields; /* field names (String nodes) or A_Star */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } ColumnRef; /* @@ -261,7 +302,7 @@ typedef struct ParamRef { NodeTag type; int number; /* the number of the parameter */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } ParamRef; /* @@ -282,41 +323,45 @@ typedef enum A_Expr_Kind AEXPR_BETWEEN, /* name must be "BETWEEN" */ AEXPR_NOT_BETWEEN, /* name must be "NOT BETWEEN" */ AEXPR_BETWEEN_SYM, /* name must be "BETWEEN SYMMETRIC" */ - AEXPR_NOT_BETWEEN_SYM /* name must be "NOT BETWEEN SYMMETRIC" */ + AEXPR_NOT_BETWEEN_SYM, /* name must be "NOT BETWEEN SYMMETRIC" */ } A_Expr_Kind; typedef struct A_Expr { + pg_node_attr(custom_read_write) + NodeTag type; A_Expr_Kind kind; /* see above */ List *name; /* possibly-qualified name of operator */ Node *lexpr; /* left argument, or NULL if none */ Node *rexpr; /* right argument, or NULL if none */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } A_Expr; /* * A_Const - a literal constant + * + * Value nodes are inline for performance. You can treat 'val' as a node, + * as in IsA(&val, Integer). 'val' is not valid if isnull is true. */ +union ValUnion +{ + Node node; + Integer ival; + Float fval; + Boolean boolval; + String sval; + BitString bsval; +}; + typedef struct A_Const { - NodeTag type; + pg_node_attr(custom_copy_equal, custom_read_write, custom_query_jumble) - /* - * Value nodes are inline for performance. You can treat 'val' as a node, - * as in IsA(&val, Integer). 'val' is not valid if isnull is true. - */ - union ValUnion - { - Node node; - Integer ival; - Float fval; - Boolean boolval; - String sval; - BitString bsval; - } val; + NodeTag type; + union ValUnion val; bool isnull; /* SQL NULL constant */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } A_Const; /* @@ -327,7 +372,7 @@ typedef struct TypeCast NodeTag type; Node *arg; /* the expression being casted */ TypeName *typeName; /* the target type */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } TypeCast; /* @@ -338,7 +383,7 @@ typedef struct CollateClause NodeTag type; Node *arg; /* input expression */ List *collname; /* possibly-qualified collation name */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CollateClause; /* @@ -350,7 +395,7 @@ typedef enum RoleSpecType ROLESPEC_CURRENT_ROLE, /* role spec is CURRENT_ROLE */ ROLESPEC_CURRENT_USER, /* role spec is CURRENT_USER */ ROLESPEC_SESSION_USER, /* role spec is SESSION_USER */ - ROLESPEC_PUBLIC /* role name is "public" */ + ROLESPEC_PUBLIC, /* role name is "public" */ } RoleSpecType; typedef struct RoleSpec @@ -358,7 +403,7 @@ typedef struct RoleSpec NodeTag type; RoleSpecType roletype; /* Type of this rolespec */ char *rolename; /* filled only for ROLESPEC_CSTRING */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } RoleSpec; /* @@ -388,7 +433,7 @@ typedef struct FuncCall bool agg_distinct; /* arguments were labeled DISTINCT */ bool func_variadic; /* last argument was labeled VARIADIC */ CoercionForm funcformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } FuncCall; /* @@ -445,7 +490,7 @@ typedef struct A_ArrayExpr { NodeTag type; List *elements; /* array element expressions */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } A_ArrayExpr; /* @@ -472,7 +517,7 @@ typedef struct ResTarget char *name; /* column name or NULL */ List *indirection; /* subscripts, field names, and '*', or NIL */ Node *val; /* the value expression to compute or assign */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } ResTarget; /* @@ -502,7 +547,7 @@ typedef struct SortBy SortByDir sortby_dir; /* ASC/DESC/USING/default */ SortByNulls sortby_nulls; /* NULLS FIRST/LAST */ List *useOp; /* name of op to use, if SORTBY_USING */ - int location; /* operator location, or -1 if none/unknown */ + ParseLoc location; /* operator location, or -1 if none/unknown */ } SortBy; /* @@ -523,7 +568,7 @@ typedef struct WindowDef int frameOptions; /* frame_clause options, see below */ Node *startOffset; /* expression for starting bound, if any */ Node *endOffset; /* expression for ending bound, if any */ - int location; /* parse location, or -1 if none/unknown */ + ParseLoc location; /* parse location, or -1 if none/unknown */ } WindowDef; /* @@ -603,6 +648,9 @@ typedef struct RangeFunction /* * RangeTableFunc - raw form of "table functions" such as XMLTABLE + * + * Note: JSON_TABLE is also a "table function", but it uses JsonTable node, + * not RangeTableFunc. */ typedef struct RangeTableFunc { @@ -613,7 +661,7 @@ typedef struct RangeTableFunc List *namespaces; /* list of namespaces as ResTarget */ List *columns; /* list of RangeTableFuncCol */ Alias *alias; /* table alias & optional column aliases */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } RangeTableFunc; /* @@ -631,7 +679,7 @@ typedef struct RangeTableFuncCol bool is_not_null; /* does it have NOT NULL? */ Node *colexpr; /* column filter expression */ Node *coldefexpr; /* column default value expression */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } RangeTableFuncCol; /* @@ -651,7 +699,7 @@ typedef struct RangeTableSample List *method; /* sampling method name (possibly qualified) */ List *args; /* argument(s) for sampling method */ Node *repeatable; /* REPEATABLE expression, or NULL if none */ - int location; /* method name location, or -1 if unknown */ + ParseLoc location; /* method name location, or -1 if unknown */ } RangeTableSample; /* @@ -683,6 +731,7 @@ typedef struct ColumnDef bool is_not_null; /* NOT NULL constraint specified? */ bool is_from_type; /* column definition came from table type */ char storage; /* attstorage setting, or 0 for default */ + char *storage_name; /* attstorage setting name or NULL for default */ Node *raw_default; /* default value (untransformed parse tree) */ Node *cooked_default; /* default value (transformed expr tree) */ char identity; /* attidentity setting */ @@ -693,7 +742,7 @@ typedef struct ColumnDef Oid collOid; /* collation OID (InvalidOid if not set) */ List *constraints; /* other constraints on column */ List *fdwoptions; /* per-column FDW options */ - int location; /* parse location, or -1 if none/unknown */ + ParseLoc location; /* parse location, or -1 if none/unknown */ } ColumnDef; /* @@ -756,7 +805,7 @@ typedef enum DefElemAction DEFELEM_UNSPEC, /* no action given */ DEFELEM_SET, DEFELEM_ADD, - DEFELEM_DROP + DEFELEM_DROP, } DefElemAction; typedef struct DefElem @@ -767,7 +816,7 @@ typedef struct DefElem Node *arg; /* typically Integer, Float, String, or * TypeName */ DefElemAction defaction; /* unspecified action, or SET/ADD/DROP */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } DefElem; /* @@ -796,7 +845,8 @@ typedef struct XmlSerialize XmlOptionType xmloption; /* DOCUMENT or CONTENT */ Node *expr; TypeName *typeName; - int location; /* token location, or -1 if unknown */ + bool indent; /* [NO] INDENT */ + ParseLoc location; /* token location, or -1 if unknown */ } XmlSerialize; /* Partitioning related definitions */ @@ -814,9 +864,16 @@ typedef struct PartitionElem Node *expr; /* expression to partition on, or NULL */ List *collation; /* name of collation; NIL = default */ List *opclass; /* name of desired opclass; NIL = default */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } PartitionElem; +typedef enum PartitionStrategy +{ + PARTITION_STRATEGY_LIST = 'l', + PARTITION_STRATEGY_RANGE = 'r', + PARTITION_STRATEGY_HASH = 'h', +} PartitionStrategy; + /* * PartitionSpec - parse-time representation of a partition key specification * @@ -825,17 +882,11 @@ typedef struct PartitionElem typedef struct PartitionSpec { NodeTag type; - char *strategy; /* partitioning strategy ('hash', 'list' or - * 'range') */ + PartitionStrategy strategy; List *partParams; /* List of PartitionElems */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } PartitionSpec; -/* Internal codes for partitioning strategies */ -#define PARTITION_STRATEGY_HASH 'h' -#define PARTITION_STRATEGY_LIST 'l' -#define PARTITION_STRATEGY_RANGE 'r' - /* * PartitionBoundSpec - a partition bound specification * @@ -860,7 +911,7 @@ struct PartitionBoundSpec List *lowerdatums; /* List of PartitionRangeDatums */ List *upperdatums; /* List of PartitionRangeDatums */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ }; /* @@ -872,7 +923,7 @@ typedef enum PartitionRangeDatumKind { PARTITION_RANGE_DATUM_MINVALUE = -1, /* less than any other value */ PARTITION_RANGE_DATUM_VALUE = 0, /* a specific (bounded) value */ - PARTITION_RANGE_DATUM_MAXVALUE = 1 /* greater than any other value */ + PARTITION_RANGE_DATUM_MAXVALUE = 1, /* greater than any other value */ } PartitionRangeDatumKind; typedef struct PartitionRangeDatum @@ -883,9 +934,19 @@ typedef struct PartitionRangeDatum Node *value; /* Const (or A_Const in raw tree), if kind is * PARTITION_RANGE_DATUM_VALUE, else NULL */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } PartitionRangeDatum; +/* + * PartitionDesc - used in reverted ALTER TABLE SPLIT PARTITION command + * + * Kept as a stub for nodetag ABI compatibility. + */ +typedef struct SinglePartitionSpec +{ + NodeTag type; +} SinglePartitionSpec; + /* * PartitionCmd - info for ALTER TABLE/INDEX ATTACH/DETACH PARTITION commands */ @@ -943,10 +1004,6 @@ typedef struct PartitionCmd * them from the joinaliasvars list, because that would affect the attnums * of Vars referencing the rest of the list.) * - * inh is true for relation references that should be expanded to include - * inheritance children, if the rel has any. This *must* be false for - * RTEs other than RTE_RELATION entries. - * * inFromCl marks those range variables that are listed in the FROM clause. * It's false for RTEs that are added to a query behind the scenes, such * as the NEW and OLD variables for a rule, or the subqueries of a UNION. @@ -955,37 +1012,6 @@ typedef struct PartitionCmd * control visibility. But it is needed by ruleutils.c to determine * whether RTEs should be shown in decompiled queries. * - * requiredPerms and checkAsUser specify run-time access permissions - * checks to be performed at query startup. The user must have *all* - * of the permissions that are OR'd together in requiredPerms (zero - * indicates no permissions checking). If checkAsUser is not zero, - * then do the permissions checks using the access rights of that user, - * not the current effective user ID. (This allows rules to act as - * setuid gateways.) Permissions checks only apply to RELATION RTEs. - * - * For SELECT/INSERT/UPDATE permissions, if the user doesn't have - * table-wide permissions then it is sufficient to have the permissions - * on all columns identified in selectedCols (for SELECT) and/or - * insertedCols and/or updatedCols (INSERT with ON CONFLICT DO UPDATE may - * have all 3). selectedCols, insertedCols and updatedCols are bitmapsets, - * which cannot have negative integer members, so we subtract - * FirstLowInvalidHeapAttributeNumber from column numbers before storing - * them in these fields. A whole-row Var reference is represented by - * setting the bit for InvalidAttrNumber. - * - * updatedCols is also used in some other places, for example, to determine - * which triggers to fire and in FDWs to know which changed columns they - * need to ship off. - * - * Generated columns that are caused to be updated by an update to a base - * column are listed in extraUpdatedCols. This is not considered for - * permission checking, but it is useful in those places that want to know - * the full set of columns being updated as opposed to only the ones the - * user explicitly mentioned in the query. (There is currently no need for - * an extraInsertedCols, but it could exist.) Note that extraUpdatedCols - * is populated during query rewrite, NOT in the parser, since generated - * columns could be added after a rule has been parsed and stored. - * * securityQuals is a list of security barrier quals (boolean expressions), * to be tested in the listed order before returning a row from the * relation. It is always NIL in parser output. Entries are added by the @@ -1004,30 +1030,38 @@ typedef enum RTEKind RTE_VALUES, /* VALUES (), (), ... */ RTE_CTE, /* common table expr (WITH list element) */ RTE_NAMEDTUPLESTORE, /* tuplestore, e.g. for AFTER triggers */ - RTE_RESULT /* RTE represents an empty FROM clause; such + RTE_RESULT, /* RTE represents an empty FROM clause; such * RTEs are added by the planner, they're not * present during parsing or rewriting */ } RTEKind; typedef struct RangeTblEntry { - NodeTag type; + pg_node_attr(custom_read_write) - RTEKind rtekind; /* see above */ + NodeTag type; /* - * XXX the fields applicable to only some rte kinds should be merged into - * a union. I didn't do this yet because the diffs would impact a lot of - * code that is being actively worked on. FIXME someday. + * Fields valid in all RTEs: + * + * put alias + eref first to make dump more legible */ + /* user-written alias clause, if any */ + Alias *alias pg_node_attr(query_jumble_ignore); + /* expanded reference names */ + Alias *eref pg_node_attr(query_jumble_ignore); + + RTEKind rtekind; /* see above */ /* * Fields valid for a plain relation RTE (else zero): * - * As a special case, RTE_NAMEDTUPLESTORE can also set relid to indicate - * that the tuple format of the tuplestore is the same as the referenced - * relation. This allows plans referencing AFTER trigger transition - * tables to be invalidated if the underlying table is altered. + * inh is true for relation references that should be expanded to include + * inheritance children, if the rel has any. In the parser, this will + * only be true for RTE_RELATION entries. The planner also uses this + * field to mark RTE_SUBQUERY entries that contain UNION ALL queries that + * it has flattened into pulled-up subqueries (creating a structure much + * like the effects of inheritance). * * rellockmode is really LOCKMODE, but it's declared int to avoid having * to include lock-related headers here. It must be RowExclusiveLock if @@ -1039,17 +1073,44 @@ typedef struct RangeTblEntry * current query; this happens if a DO ALSO rule simply scans the original * target table. We leave such RTEs with their original lockmode so as to * avoid getting an additional, lesser lock. + * + * perminfoindex is 1-based index of the RTEPermissionInfo belonging to + * this RTE in the containing struct's list of same; 0 if permissions need + * not be checked for this RTE. + * + * As a special case, relid, relkind, rellockmode, and perminfoindex can + * also be set (nonzero) in an RTE_SUBQUERY RTE. This occurs when we + * convert an RTE_RELATION RTE naming a view into an RTE_SUBQUERY + * containing the view's query. We still need to perform run-time locking + * and permission checks on the view, even though it's not directly used + * in the query anymore, and the most expedient way to do that is to + * retain these fields from the old state of the RTE. + * + * As a special case, RTE_NAMEDTUPLESTORE can also set relid to indicate + * that the tuple format of the tuplestore is the same as the referenced + * relation. This allows plans referencing AFTER trigger transition + * tables to be invalidated if the underlying table is altered. */ - Oid relid; /* OID of the relation */ - char relkind; /* relation kind (see pg_class.relkind) */ - int rellockmode; /* lock level that query requires on the rel */ - struct TableSampleClause *tablesample; /* sampling info, or NULL */ + /* OID of the relation */ + Oid relid; + /* inheritance requested? */ + bool inh; + /* relation kind (see pg_class.relkind) */ + char relkind pg_node_attr(query_jumble_ignore); + /* lock level that query requires on the rel */ + int rellockmode pg_node_attr(query_jumble_ignore); + /* index of RTEPermissionInfo entry, or 0 */ + Index perminfoindex pg_node_attr(query_jumble_ignore); + /* sampling info, or NULL */ + struct TableSampleClause *tablesample; /* * Fields valid for a subquery RTE (else NULL): */ - Query *subquery; /* the sub-query */ - bool security_barrier; /* is from security_barrier view? */ + /* the sub-query */ + Query *subquery; + /* is from security_barrier view? */ + bool security_barrier pg_node_attr(query_jumble_ignore); /* * Fields valid for a join RTE (else NULL/zero): @@ -1067,6 +1128,14 @@ typedef struct RangeTblEntry * alias Vars are generated only for merged columns). We keep these * entries only because they're needed in expandRTE() and similar code. * + * Vars appearing within joinaliasvars are marked with varnullingrels sets + * that describe the nulling effects of this join and lower ones. This is + * essential for FULL JOIN cases, because the COALESCE expression only + * describes the semantics correctly if its inputs have been nulled by the + * join. For other cases, it allows expandRTE() to generate a valid + * representation of the join's output without consulting additional + * parser state. + * * Within a Query loaded from a stored rule, it is possible for non-merged * joinaliasvars items to be null pointers, which are placeholders for * (necessarily unreferenced) columns dropped since the rule was made. @@ -1086,18 +1155,22 @@ typedef struct RangeTblEntry * merged columns could not be dropped); this is not accounted for in * joinleftcols/joinrighttcols. */ - JoinType jointype; /* type of join */ - int joinmergedcols; /* number of merged (JOIN USING) columns */ - List *joinaliasvars; /* list of alias-var expansions */ - List *joinleftcols; /* left-side input column numbers */ - List *joinrightcols; /* right-side input column numbers */ + JoinType jointype; + /* number of merged (JOIN USING) columns */ + int joinmergedcols pg_node_attr(query_jumble_ignore); + /* list of alias-var expansions */ + List *joinaliasvars pg_node_attr(query_jumble_ignore); + /* left-side input column numbers */ + List *joinleftcols pg_node_attr(query_jumble_ignore); + /* right-side input column numbers */ + List *joinrightcols pg_node_attr(query_jumble_ignore); /* * join_using_alias is an alias clause attached directly to JOIN/USING. It * is different from the alias field (below) in that it does not hide the * range variables of the tables being joined. */ - Alias *join_using_alias; + Alias *join_using_alias pg_node_attr(query_jumble_ignore); /* * Fields valid for a function RTE (else NIL/zero): @@ -1107,8 +1180,10 @@ typedef struct RangeTblEntry * implicit, and must be accounted for "by hand" in places such as * expandRTE(). */ - List *functions; /* list of RangeTblFunction nodes */ - bool funcordinality; /* is this called WITH ORDINALITY? */ + /* list of RangeTblFunction nodes */ + List *functions; + /* is this called WITH ORDINALITY? */ + bool funcordinality; /* * Fields valid for a TableFunc RTE (else NULL): @@ -1118,14 +1193,18 @@ typedef struct RangeTblEntry /* * Fields valid for a values RTE (else NIL): */ - List *values_lists; /* list of expression lists */ + /* list of expression lists */ + List *values_lists; /* * Fields valid for a CTE RTE (else NULL/zero): */ - char *ctename; /* name of the WITH list item */ - Index ctelevelsup; /* number of query levels up */ - bool self_reference; /* is this a recursive self-reference? */ + /* name of the WITH list item */ + char *ctename; + /* number of query levels up */ + Index ctelevelsup; + /* is this a recursive self-reference? */ + bool self_reference pg_node_attr(query_jumble_ignore); /* * Fields valid for CTE, VALUES, ENR, and TableFunc RTEs (else NIL): @@ -1145,32 +1224,77 @@ typedef struct RangeTblEntry * all three lists (as well as an empty-string entry in eref). Testing * for zero coltype is the standard way to detect a dropped column. */ - List *coltypes; /* OID list of column type OIDs */ - List *coltypmods; /* integer list of column typmods */ - List *colcollations; /* OID list of column collation OIDs */ + /* OID list of column type OIDs */ + List *coltypes pg_node_attr(query_jumble_ignore); + /* integer list of column typmods */ + List *coltypmods pg_node_attr(query_jumble_ignore); + /* OID list of column collation OIDs */ + List *colcollations pg_node_attr(query_jumble_ignore); /* * Fields valid for ENR RTEs (else NULL/zero): */ - char *enrname; /* name of ephemeral named relation */ - Cardinality enrtuples; /* estimated or actual from caller */ + /* name of ephemeral named relation */ + char *enrname; + /* estimated or actual from caller */ + Cardinality enrtuples pg_node_attr(query_jumble_ignore); /* * Fields valid in all RTEs: */ - Alias *alias; /* user-written alias clause, if any */ - Alias *eref; /* expanded reference names */ - bool lateral; /* subquery, function, or values is LATERAL? */ - bool inh; /* inheritance requested? */ - bool inFromCl; /* present in FROM clause? */ + /* was LATERAL specified? */ + bool lateral pg_node_attr(query_jumble_ignore); + /* present in FROM clause? */ + bool inFromCl pg_node_attr(query_jumble_ignore); + /* security barrier quals to apply, if any */ + List *securityQuals pg_node_attr(query_jumble_ignore); +} RangeTblEntry; + +/* + * RTEPermissionInfo + * Per-relation information for permission checking. Added to the Query + * node by the parser when adding the corresponding RTE to the query + * range table and subsequently editorialized on by the rewriter if + * needed after rule expansion. + * + * Only the relations directly mentioned in the query are checked for + * access permissions by the core executor, so only their RTEPermissionInfos + * are present in the Query. However, extensions may want to check inheritance + * children too, depending on the value of rte->inh, so it's copied in 'inh' + * for their perusal. + * + * requiredPerms and checkAsUser specify run-time access permissions checks + * to be performed at query startup. The user must have *all* of the + * permissions that are OR'd together in requiredPerms (never 0!). If + * checkAsUser is not zero, then do the permissions checks using the access + * rights of that user, not the current effective user ID. (This allows rules + * to act as setuid gateways.) + * + * For SELECT/INSERT/UPDATE permissions, if the user doesn't have table-wide + * permissions then it is sufficient to have the permissions on all columns + * identified in selectedCols (for SELECT) and/or insertedCols and/or + * updatedCols (INSERT with ON CONFLICT DO UPDATE may have all 3). + * selectedCols, insertedCols and updatedCols are bitmapsets, which cannot have + * negative integer members, so we subtract FirstLowInvalidHeapAttributeNumber + * from column numbers before storing them in these fields. A whole-row Var + * reference is represented by setting the bit for InvalidAttrNumber. + * + * updatedCols is also used in some other places, for example, to determine + * which triggers to fire and in FDWs to know which changed columns they need + * to ship off. + */ +typedef struct RTEPermissionInfo +{ + NodeTag type; + + Oid relid; /* relation OID */ + bool inh; /* separately check inheritance children? */ AclMode requiredPerms; /* bitmask of required access permissions */ Oid checkAsUser; /* if valid, check access as this role */ Bitmapset *selectedCols; /* columns needing SELECT permission */ Bitmapset *insertedCols; /* columns needing INSERT permission */ Bitmapset *updatedCols; /* columns needing UPDATE permission */ - Bitmapset *extraUpdatedCols; /* generated columns being updated */ - List *securityQuals; /* security barrier quals to apply, if any */ -} RangeTblEntry; +} RTEPermissionInfo; /* * RangeTblFunction - @@ -1187,20 +1311,29 @@ typedef struct RangeTblEntry * time. We do however remember how many columns we thought the type had * (including dropped columns!), so that we can successfully ignore any * columns added after the query was parsed. + * + * The query jumbling only needs to track the function expression. */ typedef struct RangeTblFunction { NodeTag type; Node *funcexpr; /* expression tree for func call */ - int funccolcount; /* number of columns it contributes to RTE */ + /* number of columns it contributes to RTE */ + int funccolcount pg_node_attr(query_jumble_ignore); /* These fields record the contents of a column definition list, if any: */ - List *funccolnames; /* column names (list of String) */ - List *funccoltypes; /* OID list of column type OIDs */ - List *funccoltypmods; /* integer list of column typmods */ - List *funccolcollations; /* OID list of column collation OIDs */ + /* column names (list of String) */ + List *funccolnames pg_node_attr(query_jumble_ignore); + /* OID list of column type OIDs */ + List *funccoltypes pg_node_attr(query_jumble_ignore); + /* integer list of column typmods */ + List *funccoltypmods pg_node_attr(query_jumble_ignore); + /* OID list of column collation OIDs */ + List *funccolcollations pg_node_attr(query_jumble_ignore); + /* This is set during planning for use by the executor: */ - Bitmapset *funcparams; /* PARAM_EXEC Param IDs affecting this func */ + /* PARAM_EXEC Param IDs affecting this func */ + Bitmapset *funcparams pg_node_attr(query_jumble_ignore); } RangeTblFunction; /* @@ -1229,7 +1362,7 @@ typedef enum WCOKind WCO_RLS_UPDATE_CHECK, /* RLS UPDATE WITH CHECK policy */ WCO_RLS_CONFLICT_CHECK, /* RLS ON CONFLICT DO UPDATE USING policy */ WCO_RLS_MERGE_UPDATE_CHECK, /* RLS MERGE UPDATE USING policy */ - WCO_RLS_MERGE_DELETE_CHECK /* RLS MERGE DELETE USING policy */ + WCO_RLS_MERGE_DELETE_CHECK, /* RLS MERGE DELETE USING policy */ } WCOKind; typedef struct WithCheckOption @@ -1307,7 +1440,8 @@ typedef struct SortGroupClause Oid eqop; /* the equality operator ('=' op) */ Oid sortop; /* the ordering operator ('<' op), or 0 */ bool nulls_first; /* do NULLs come before normal values? */ - bool hashable; /* can eqop be implemented by hashing? */ + /* can eqop be implemented by hashing? */ + bool hashable pg_node_attr(query_jumble_ignore); } SortGroupClause; /* @@ -1366,15 +1500,15 @@ typedef enum GroupingSetKind GROUPING_SET_SIMPLE, GROUPING_SET_ROLLUP, GROUPING_SET_CUBE, - GROUPING_SET_SETS + GROUPING_SET_SETS, } GroupingSetKind; typedef struct GroupingSet { NodeTag type; - GroupingSetKind kind; + GroupingSetKind kind pg_node_attr(query_jumble_ignore); List *content; - int location; + ParseLoc location; } GroupingSet; /* @@ -1385,6 +1519,8 @@ typedef struct GroupingSet * if the clause originally came from WINDOW, and is NULL if it originally * was an OVER clause (but note that we collapse out duplicate OVERs). * partitionClause and orderClause are lists of SortGroupClause structs. + * partitionClause is sanitized by the query planner to remove any columns or + * expressions belonging to redundant PathKeys. * If we have RANGE with offset PRECEDING/FOLLOWING, the semantics of that are * specified by startInRangeFunc/inRangeColl/inRangeAsc/inRangeNullsFirst * for the start offset, or endInRangeFunc/inRange* for the end offset. @@ -1393,25 +1529,36 @@ typedef struct GroupingSet * When refname isn't null, the partitionClause is always copied from there; * the orderClause might or might not be copied (see copiedOrder); the framing * options are never copied, per spec. + * + * The information relevant for the query jumbling is the partition clause + * type and its bounds. */ typedef struct WindowClause { NodeTag type; - char *name; /* window name (NULL in an OVER clause) */ - char *refname; /* referenced window name, if any */ + /* window name (NULL in an OVER clause) */ + char *name pg_node_attr(query_jumble_ignore); + /* referenced window name, if any */ + char *refname pg_node_attr(query_jumble_ignore); List *partitionClause; /* PARTITION BY list */ - List *orderClause; /* ORDER BY list */ + /* ORDER BY list */ + List *orderClause; int frameOptions; /* frame_clause options, see WindowDef */ Node *startOffset; /* expression for starting bound, if any */ Node *endOffset; /* expression for ending bound, if any */ - List *runCondition; /* qual to help short-circuit execution */ - Oid startInRangeFunc; /* in_range function for startOffset */ - Oid endInRangeFunc; /* in_range function for endOffset */ - Oid inRangeColl; /* collation for in_range tests */ - bool inRangeAsc; /* use ASC sort order for in_range tests? */ - bool inRangeNullsFirst; /* nulls sort first for in_range tests? */ + /* in_range function for startOffset */ + Oid startInRangeFunc pg_node_attr(query_jumble_ignore); + /* in_range function for endOffset */ + Oid endInRangeFunc pg_node_attr(query_jumble_ignore); + /* collation for in_range tests */ + Oid inRangeColl pg_node_attr(query_jumble_ignore); + /* use ASC sort order for in_range tests? */ + bool inRangeAsc pg_node_attr(query_jumble_ignore); + /* nulls sort first for in_range tests? */ + bool inRangeNullsFirst pg_node_attr(query_jumble_ignore); Index winref; /* ID referenced by window functions */ - bool copiedOrder; /* did we copy orderClause from refname? */ + /* did we copy orderClause from refname? */ + bool copiedOrder pg_node_attr(query_jumble_ignore); } WindowClause; /* @@ -1447,7 +1594,7 @@ typedef struct WithClause NodeTag type; List *ctes; /* list of CommonTableExprs */ bool recursive; /* true = WITH RECURSIVE */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } WithClause; /* @@ -1462,7 +1609,7 @@ typedef struct InferClause List *indexElems; /* IndexElems to infer unique index */ Node *whereClause; /* qualification (partial-index predicate) */ char *conname; /* Constraint name, or NULL if unnamed */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } InferClause; /* @@ -1478,7 +1625,7 @@ typedef struct OnConflictClause InferClause *infer; /* Optional index inference clause */ List *targetList; /* the target list (of ResTarget) */ Node *whereClause; /* qualifications */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } OnConflictClause; /* @@ -1490,7 +1637,7 @@ typedef enum CTEMaterialize { CTEMaterializeDefault, /* no option specified */ CTEMaterializeAlways, /* MATERIALIZED */ - CTEMaterializeNever /* NOT MATERIALIZED */ + CTEMaterializeNever, /* NOT MATERIALIZED */ } CTEMaterialize; typedef struct CTESearchClause @@ -1499,7 +1646,7 @@ typedef struct CTESearchClause List *search_col_list; bool search_breadth_first; char *search_seq_column; - int location; + ParseLoc location; } CTESearchClause; typedef struct CTECycleClause @@ -1510,7 +1657,7 @@ typedef struct CTECycleClause Node *cycle_mark_value; Node *cycle_mark_default; char *cycle_path_column; - int location; + ParseLoc location; /* These fields are set during parse analysis: */ Oid cycle_mark_type; /* common type of _value and _default */ int cycle_mark_typmod; @@ -1521,22 +1668,37 @@ typedef struct CTECycleClause typedef struct CommonTableExpr { NodeTag type; - char *ctename; /* query name (never qualified) */ - List *aliascolnames; /* optional list of column names */ + + /* + * Query name (never qualified). The string name is included in the query + * jumbling because RTE_CTE RTEs need it. + */ + char *ctename; + /* optional list of column names */ + List *aliascolnames pg_node_attr(query_jumble_ignore); CTEMaterialize ctematerialized; /* is this an optimization fence? */ /* SelectStmt/InsertStmt/etc before parse analysis, Query afterwards: */ Node *ctequery; /* the CTE's subquery */ - CTESearchClause *search_clause; - CTECycleClause *cycle_clause; - int location; /* token location, or -1 if unknown */ + CTESearchClause *search_clause pg_node_attr(query_jumble_ignore); + CTECycleClause *cycle_clause pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ /* These fields are set during parse analysis: */ - bool cterecursive; /* is this CTE actually recursive? */ - int cterefcount; /* number of RTEs referencing this CTE - * (excluding internal self-references) */ - List *ctecolnames; /* list of output column names */ - List *ctecoltypes; /* OID list of output column type OIDs */ - List *ctecoltypmods; /* integer list of output column typmods */ - List *ctecolcollations; /* OID list of column collation OIDs */ + /* is this CTE actually recursive? */ + bool cterecursive pg_node_attr(query_jumble_ignore); + + /* + * Number of RTEs referencing this CTE (excluding internal + * self-references), irrelevant for query jumbling. + */ + int cterefcount pg_node_attr(query_jumble_ignore); + /* list of output column names */ + List *ctecolnames pg_node_attr(query_jumble_ignore); + /* OID list of output column type OIDs */ + List *ctecoltypes pg_node_attr(query_jumble_ignore); + /* integer list of output column typmods */ + List *ctecoltypmods pg_node_attr(query_jumble_ignore); + /* OID list of column collation OIDs */ + List *ctecolcollations pg_node_attr(query_jumble_ignore); } CommonTableExpr; /* Convenience macro to get the output tlist of a CTE's query */ @@ -1555,7 +1717,7 @@ typedef struct CommonTableExpr typedef struct MergeWhenClause { NodeTag type; - bool matched; /* true=MATCHED, false=NOT MATCHED */ + MergeMatchKind matchKind; /* MATCHED/NOT MATCHED BY SOURCE/TARGET */ CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ OverridingKind override; /* OVERRIDING clause */ Node *condition; /* WHEN conditions (raw parser) */ @@ -1564,21 +1726,6 @@ typedef struct MergeWhenClause List *values; /* VALUES to INSERT, or NULL */ } MergeWhenClause; -/* - * MergeAction - - * Transformed representation of a WHEN clause in a MERGE statement - */ -typedef struct MergeAction -{ - NodeTag type; - bool matched; /* true=MATCHED, false=NOT MATCHED */ - CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ - OverridingKind override; /* OVERRIDING clause */ - Node *qual; /* transformed WHEN conditions */ - List *targetList; /* the target list (of TargetEntry) */ - List *updateColnos; /* target attribute numbers of an UPDATE */ -} MergeAction; - /* * TriggerTransition - * representation of transition row or table naming clause @@ -1595,6 +1742,259 @@ typedef struct TriggerTransition bool isTable; } TriggerTransition; +/* Nodes for SQL/JSON support */ + +/* + * JsonOutput - + * representation of JSON output clause (RETURNING type [FORMAT format]) + */ +typedef struct JsonOutput +{ + NodeTag type; + TypeName *typeName; /* RETURNING type name, if specified */ + JsonReturning *returning; /* RETURNING FORMAT clause and type Oids */ +} JsonOutput; + +/* + * JsonArgument - + * representation of argument from JSON PASSING clause + */ +typedef struct JsonArgument +{ + NodeTag type; + JsonValueExpr *val; /* argument value expression */ + char *name; /* argument name */ +} JsonArgument; + +/* + * JsonQuotes - + * representation of [KEEP|OMIT] QUOTES clause for JSON_QUERY() + */ +typedef enum JsonQuotes +{ + JS_QUOTES_UNSPEC, /* unspecified */ + JS_QUOTES_KEEP, /* KEEP QUOTES */ + JS_QUOTES_OMIT, /* OMIT QUOTES */ +} JsonQuotes; + +/* + * JsonFuncExpr - + * untransformed representation of function expressions for + * SQL/JSON query functions + */ +typedef struct JsonFuncExpr +{ + NodeTag type; + JsonExprOp op; /* expression type */ + char *column_name; /* JSON_TABLE() column name or NULL if this is + * not for a JSON_TABLE() */ + JsonValueExpr *context_item; /* context item expression */ + Node *pathspec; /* JSON path specification expression */ + List *passing; /* list of PASSING clause arguments, if any */ + JsonOutput *output; /* output clause, if specified */ + JsonBehavior *on_empty; /* ON EMPTY behavior */ + JsonBehavior *on_error; /* ON ERROR behavior */ + JsonWrapper wrapper; /* array wrapper behavior (JSON_QUERY only) */ + JsonQuotes quotes; /* omit or keep quotes? (JSON_QUERY only) */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonFuncExpr; + +/* + * JsonTablePathSpec + * untransformed specification of JSON path expression with an optional + * name + */ +typedef struct JsonTablePathSpec +{ + NodeTag type; + + Node *string; + char *name; + ParseLoc name_location; + ParseLoc location; /* location of 'string' */ +} JsonTablePathSpec; + +/* + * JsonTable - + * untransformed representation of JSON_TABLE + */ +typedef struct JsonTable +{ + NodeTag type; + JsonValueExpr *context_item; /* context item expression */ + JsonTablePathSpec *pathspec; /* JSON path specification */ + List *passing; /* list of PASSING clause arguments, if any */ + List *columns; /* list of JsonTableColumn */ + JsonBehavior *on_error; /* ON ERROR behavior */ + Alias *alias; /* table alias in FROM clause */ + bool lateral; /* does it have LATERAL prefix? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonTable; + +/* + * JsonTableColumnType - + * enumeration of JSON_TABLE column types + */ +typedef enum JsonTableColumnType +{ + JTC_FOR_ORDINALITY, + JTC_REGULAR, + JTC_EXISTS, + JTC_FORMATTED, + JTC_NESTED, +} JsonTableColumnType; + +/* + * JsonTableColumn - + * untransformed representation of JSON_TABLE column + */ +typedef struct JsonTableColumn +{ + NodeTag type; + JsonTableColumnType coltype; /* column type */ + char *name; /* column name */ + TypeName *typeName; /* column type name */ + JsonTablePathSpec *pathspec; /* JSON path specification */ + JsonFormat *format; /* JSON format clause, if specified */ + JsonWrapper wrapper; /* WRAPPER behavior for formatted columns */ + JsonQuotes quotes; /* omit or keep quotes on scalar strings? */ + List *columns; /* nested columns */ + JsonBehavior *on_empty; /* ON EMPTY behavior */ + JsonBehavior *on_error; /* ON ERROR behavior */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonTableColumn; + +/* + * JsonKeyValue - + * untransformed representation of JSON object key-value pair for + * JSON_OBJECT() and JSON_OBJECTAGG() + */ +typedef struct JsonKeyValue +{ + NodeTag type; + Expr *key; /* key expression */ + JsonValueExpr *value; /* JSON value expression */ +} JsonKeyValue; + +/* + * JsonParseExpr - + * untransformed representation of JSON() + */ +typedef struct JsonParseExpr +{ + NodeTag type; + JsonValueExpr *expr; /* string expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + bool unique_keys; /* WITH UNIQUE KEYS? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonParseExpr; + +/* + * JsonScalarExpr - + * untransformed representation of JSON_SCALAR() + */ +typedef struct JsonScalarExpr +{ + NodeTag type; + Expr *expr; /* scalar expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonScalarExpr; + +/* + * JsonSerializeExpr - + * untransformed representation of JSON_SERIALIZE() function + */ +typedef struct JsonSerializeExpr +{ + NodeTag type; + JsonValueExpr *expr; /* json value expression */ + JsonOutput *output; /* RETURNING clause, if specified */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonSerializeExpr; + +/* + * JsonObjectConstructor - + * untransformed representation of JSON_OBJECT() constructor + */ +typedef struct JsonObjectConstructor +{ + NodeTag type; + List *exprs; /* list of JsonKeyValue pairs */ + JsonOutput *output; /* RETURNING clause, if specified */ + bool absent_on_null; /* skip NULL values? */ + bool unique; /* check key uniqueness? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonObjectConstructor; + +/* + * JsonArrayConstructor - + * untransformed representation of JSON_ARRAY(element,...) constructor + */ +typedef struct JsonArrayConstructor +{ + NodeTag type; + List *exprs; /* list of JsonValueExpr elements */ + JsonOutput *output; /* RETURNING clause, if specified */ + bool absent_on_null; /* skip NULL elements? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonArrayConstructor; + +/* + * JsonArrayQueryConstructor - + * untransformed representation of JSON_ARRAY(subquery) constructor + */ +typedef struct JsonArrayQueryConstructor +{ + NodeTag type; + Node *query; /* subquery */ + JsonOutput *output; /* RETURNING clause, if specified */ + JsonFormat *format; /* FORMAT clause for subquery, if specified */ + bool absent_on_null; /* skip NULL elements? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonArrayQueryConstructor; + +/* + * JsonAggConstructor - + * common fields of untransformed representation of + * JSON_ARRAYAGG() and JSON_OBJECTAGG() + */ +typedef struct JsonAggConstructor +{ + NodeTag type; + JsonOutput *output; /* RETURNING clause, if any */ + Node *agg_filter; /* FILTER clause, if any */ + List *agg_order; /* ORDER BY clause, if any */ + struct WindowDef *over; /* OVER clause, if any */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonAggConstructor; + +/* + * JsonObjectAgg - + * untransformed representation of JSON_OBJECTAGG() + */ +typedef struct JsonObjectAgg +{ + NodeTag type; + JsonAggConstructor *constructor; /* common fields */ + JsonKeyValue *arg; /* object key-value pair */ + bool absent_on_null; /* skip NULL values? */ + bool unique; /* check key uniqueness? */ +} JsonObjectAgg; + +/* + * JsonArrayAgg - + * untransformed representation of JSON_ARRAYAGG() + */ +typedef struct JsonArrayAgg +{ + NodeTag type; + JsonAggConstructor *constructor; /* common fields */ + JsonValueExpr *arg; /* array element expression */ + bool absent_on_null; /* skip NULL elements? */ +} JsonArrayAgg; + + /***************************************************************************** * Raw Grammar Output Statements *****************************************************************************/ @@ -1610,13 +2010,18 @@ typedef struct TriggerTransition * * stmt_location/stmt_len identify the portion of the source text string * containing this raw statement (useful for multi-statement strings). + * + * This is irrelevant for query jumbling, as this is not used in parsed + * queries. */ typedef struct RawStmt { + pg_node_attr(no_query_jumble) + NodeTag type; Node *stmt; /* raw parse tree */ - int stmt_location; /* start location, or -1 if unknown */ - int stmt_len; /* length in bytes; 0 means "rest of string" */ + ParseLoc stmt_location; /* start location, or -1 if unknown */ + ParseLoc stmt_len; /* length in bytes; 0 means "rest of string" */ } RawStmt; /***************************************************************************** @@ -1683,6 +2088,7 @@ typedef struct MergeStmt Node *sourceRelation; /* source relation */ Node *joinCondition; /* join condition between source and target */ List *mergeWhenClauses; /* list of MergeWhenClause(es) */ + List *returningList; /* list of expressions to return */ WithClause *withClause; /* WITH clause */ } MergeStmt; @@ -1704,7 +2110,7 @@ typedef enum SetOperation SETOP_NONE = 0, SETOP_UNION, SETOP_INTERSECT, - SETOP_EXCEPT + SETOP_EXCEPT, } SetOperation; typedef struct SelectStmt @@ -1785,11 +2191,15 @@ typedef struct SetOperationStmt Node *rarg; /* right child */ /* Eventually add fields for CORRESPONDING spec here */ - /* Fields derived during parse analysis: */ - List *colTypes; /* OID list of output column type OIDs */ - List *colTypmods; /* integer list of output column typmods */ - List *colCollations; /* OID list of output column collation OIDs */ - List *groupClauses; /* a list of SortGroupClause's */ + /* Fields derived during parse analysis (irrelevant for query jumbling): */ + /* OID list of output column type OIDs */ + List *colTypes pg_node_attr(query_jumble_ignore); + /* integer list of output column typmods */ + List *colTypmods pg_node_attr(query_jumble_ignore); + /* OID list of output column collation OIDs */ + List *colCollations pg_node_attr(query_jumble_ignore); + /* a list of SortGroupClause's */ + List *groupClauses pg_node_attr(query_jumble_ignore); /* groupClauses is NIL if UNION ALL, but must be set otherwise */ } SetOperationStmt; @@ -1819,7 +2229,7 @@ typedef struct PLAssignStmt List *indirection; /* subscripts and field names, if any */ int nnames; /* number of names to use in ColumnRef */ SelectStmt *val; /* the PL/pgSQL expression to assign */ - int location; /* name's token location, or -1 if unknown */ + ParseLoc location; /* name's token location, or -1 if unknown */ } PLAssignStmt; @@ -1896,7 +2306,7 @@ typedef enum ObjectType OBJECT_TSTEMPLATE, OBJECT_TYPE, OBJECT_USER_MAPPING, - OBJECT_VIEW + OBJECT_VIEW, } ObjectType; /* ---------------------- @@ -1919,7 +2329,7 @@ typedef struct CreateSchemaStmt typedef enum DropBehavior { DROP_RESTRICT, /* drop fails if any dependent objects */ - DROP_CASCADE /* remove dependent objects too */ + DROP_CASCADE, /* remove dependent objects too */ } DropBehavior; /* ---------------------- @@ -1938,12 +2348,12 @@ typedef struct AlterTableStmt typedef enum AlterTableType { AT_AddColumn, /* add column */ - AT_AddColumnRecurse, /* internal to commands/tablecmds.c */ AT_AddColumnToView, /* implicitly via CREATE OR REPLACE VIEW */ AT_ColumnDefault, /* alter column default */ AT_CookedColumnDefault, /* add a pre-cooked column default */ AT_DropNotNull, /* alter column drop not null */ AT_SetNotNull, /* alter column set not null */ + AT_SetExpression, /* alter column set expression */ AT_DropExpression, /* alter column drop expression */ AT_CheckNotNull, /* check column is already marked not null */ AT_SetStatistics, /* alter column set statistics */ @@ -1952,19 +2362,15 @@ typedef enum AlterTableType AT_SetStorage, /* alter column set storage */ AT_SetCompression, /* alter column set compression */ AT_DropColumn, /* drop column */ - AT_DropColumnRecurse, /* internal to commands/tablecmds.c */ AT_AddIndex, /* add index */ AT_ReAddIndex, /* internal to commands/tablecmds.c */ AT_AddConstraint, /* add constraint */ - AT_AddConstraintRecurse, /* internal to commands/tablecmds.c */ AT_ReAddConstraint, /* internal to commands/tablecmds.c */ AT_ReAddDomainConstraint, /* internal to commands/tablecmds.c */ AT_AlterConstraint, /* alter constraint */ AT_ValidateConstraint, /* validate constraint */ - AT_ValidateConstraintRecurse, /* internal to commands/tablecmds.c */ AT_AddIndexConstraint, /* add constraint using existing index */ AT_DropConstraint, /* drop constraint */ - AT_DropConstraintRecurse, /* internal to commands/tablecmds.c */ AT_ReAddComment, /* internal to commands/tablecmds.c */ AT_AlterColumnType, /* alter column type */ AT_AlterColumnGenericOptions, /* alter column OPTIONS (...) */ @@ -2007,7 +2413,7 @@ typedef enum AlterTableType AT_AddIdentity, /* ADD IDENTITY */ AT_SetIdentity, /* SET identity column options */ AT_DropIdentity, /* DROP IDENTITY */ - AT_ReAddStatistics /* internal to commands/tablecmds.c */ + AT_ReAddStatistics, /* internal to commands/tablecmds.c */ } AlterTableType; typedef struct ReplicaIdentityStmt @@ -2022,7 +2428,7 @@ typedef struct AlterTableCmd /* one subcommand of an ALTER TABLE */ NodeTag type; AlterTableType subtype; /* Type of table alteration to apply */ char *name; /* column, constraint, or trigger to act on, - * or tablespace */ + * or tablespace, access method */ int16 num; /* attribute number for columns referenced by * number */ RoleSpec *newowner; @@ -2079,7 +2485,7 @@ typedef enum GrantTargetType { ACL_TARGET_OBJECT, /* grant on specific named object(s) */ ACL_TARGET_ALL_IN_SCHEMA, /* grant on all objects in given schema(s) */ - ACL_TARGET_DEFAULTS /* ALTER DEFAULT PRIVILEGES */ + ACL_TARGET_DEFAULTS, /* ALTER DEFAULT PRIVILEGES */ } GrantTargetType; typedef struct GrantStmt @@ -2153,7 +2559,7 @@ typedef struct GrantRoleStmt List *granted_roles; /* list of roles to be granted/revoked */ List *grantee_roles; /* list of member roles to add/delete */ bool is_grant; /* true = GRANT, false = REVOKE */ - bool admin_opt; /* with admin option */ + List *opt; /* options e.g. WITH GRANT OPTION */ RoleSpec *grantor; /* set grantor to other than current role */ DropBehavior behavior; /* drop behavior (for REVOKE) */ } GrantRoleStmt; @@ -2206,7 +2612,7 @@ typedef enum VariableSetKind VAR_SET_CURRENT, /* SET var FROM CURRENT */ VAR_SET_MULTI, /* special case for SET TRANSACTION ... */ VAR_RESET, /* RESET var */ - VAR_RESET_ALL /* RESET ALL */ + VAR_RESET_ALL, /* RESET ALL */ } VariableSetKind; typedef struct VariableSetStmt @@ -2304,7 +2710,7 @@ typedef enum ConstrType /* types of constraints */ CONSTR_ATTR_DEFERRABLE, /* attributes for previous constraint node */ CONSTR_ATTR_NOT_DEFERRABLE, CONSTR_ATTR_DEFERRED, - CONSTR_ATTR_IMMEDIATE + CONSTR_ATTR_IMMEDIATE, } ConstrType; /* Foreign key action codes */ @@ -2323,36 +2729,31 @@ typedef struct Constraint { NodeTag type; ConstrType contype; /* see above */ - - /* Fields used for most/all constraint types: */ char *conname; /* Constraint name, or NULL if unnamed */ bool deferrable; /* DEFERRABLE? */ bool initdeferred; /* INITIALLY DEFERRED? */ - int location; /* token location, or -1 if unknown */ - - /* Fields used for constraints with expressions (CHECK and DEFAULT): */ + bool skip_validation; /* skip validation of existing rows? */ + bool initially_valid; /* mark the new constraint as valid? */ bool is_no_inherit; /* is constraint non-inheritable? */ - Node *raw_expr; /* expr, as untransformed parse tree */ - char *cooked_expr; /* expr, as nodeToString representation */ + Node *raw_expr; /* CHECK or DEFAULT expression, as + * untransformed parse tree */ + char *cooked_expr; /* CHECK or DEFAULT expression, as + * nodeToString representation */ char generated_when; /* ALWAYS or BY DEFAULT */ - - /* Fields used for unique constraints (UNIQUE and PRIMARY KEY): */ + int inhcount; /* initial inheritance count to apply, for + * "raw" NOT NULL constraints */ bool nulls_not_distinct; /* null treatment for UNIQUE constraints */ List *keys; /* String nodes naming referenced key - * column(s) */ + * column(s); for UNIQUE/PK/NOT NULL */ List *including; /* String nodes naming referenced nonkey - * column(s) */ - - /* Fields used for EXCLUSION constraints: */ - List *exclusions; /* list of (IndexElem, operator name) pairs */ - - /* Fields used for index constraints (UNIQUE, PRIMARY KEY, EXCLUSION): */ + * column(s); for UNIQUE/PK */ + List *exclusions; /* list of (IndexElem, operator name) pairs; + * for exclusion constraints */ List *options; /* options from WITH clause */ char *indexname; /* existing index to use; otherwise NULL */ char *indexspace; /* index tablespace; NULL for default */ bool reset_default_tblspc; /* reset default_tablespace prior to * creating the index */ - /* These could be, but currently are not, used for UNIQUE/PKEY: */ char *access_method; /* index access method; NULL for default */ Node *where_clause; /* partial index predicate */ @@ -2368,9 +2769,7 @@ typedef struct Constraint Oid old_pktable_oid; /* pg_constraint.confrelid of my former * self */ - /* Fields used for constraints that allow a NOT VALID specification */ - bool skip_validation; /* skip validation of existing rows? */ - bool initially_valid; /* mark the new constraint as valid? */ + ParseLoc location; /* token location, or -1 if unknown */ } Constraint; /* ---------------------- @@ -2539,7 +2938,7 @@ typedef enum ImportForeignSchemaType { FDW_IMPORT_SCHEMA_ALL, /* all relations wanted */ FDW_IMPORT_SCHEMA_LIMIT_TO, /* include only listed tables in import */ - FDW_IMPORT_SCHEMA_EXCEPT /* exclude listed tables from import */ + FDW_IMPORT_SCHEMA_EXCEPT, /* exclude listed tables from import */ } ImportForeignSchemaType; typedef struct ImportForeignSchemaStmt @@ -2676,7 +3075,7 @@ typedef enum RoleStmtType { ROLESTMT_ROLE, ROLESTMT_USER, - ROLESTMT_GROUP + ROLESTMT_GROUP, } RoleStmtType; typedef struct CreateRoleStmt @@ -2921,7 +3320,7 @@ typedef enum FetchDirection FETCH_BACKWARD, /* for these, howMany indicates a position; only one row is fetched */ FETCH_ABSOLUTE, - FETCH_RELATIVE + FETCH_RELATIVE, } FetchDirection; #define FETCH_ALL LONG_MAX @@ -2961,10 +3360,10 @@ typedef struct IndexStmt List *excludeOpNames; /* exclusion operator names, or NIL if none */ char *idxcomment; /* comment to apply to index, or NULL */ Oid indexOid; /* OID of an existing index, if any */ - Oid oldNode; /* relfilenode of existing storage, if any */ - SubTransactionId oldCreateSubid; /* rd_createSubid of oldNode */ - SubTransactionId oldFirstRelfilenodeSubid; /* rd_firstRelfilenodeSubid of - * oldNode */ + RelFileNumber oldNumber; /* relfilenumber of existing storage, if any */ + SubTransactionId oldCreateSubid; /* rd_createSubid of oldNumber */ + SubTransactionId oldFirstRelfilelocatorSubid; /* rd_firstRelfilelocatorSubid + * of oldNumber */ bool unique; /* is index unique? */ bool nulls_not_distinct; /* null treatment for UNIQUE constraints */ bool primary; /* is index a primary key? */ @@ -3017,7 +3416,7 @@ typedef struct AlterStatsStmt { NodeTag type; List *defnames; /* qualified name (list of String) */ - int stxstattarget; /* statistics target */ + Node *stxstattarget; /* statistics target */ bool missing_ok; /* skip error if statistics object is missing */ } AlterStatsStmt; @@ -3046,7 +3445,7 @@ typedef enum FunctionParameterMode FUNC_PARAM_VARIADIC = 'v', /* variadic (always input) */ FUNC_PARAM_TABLE = 't', /* table function output column */ /* this is not used in pg_proc: */ - FUNC_PARAM_DEFAULT = 'd' /* default; effectively same as IN */ + FUNC_PARAM_DEFAULT = 'd', /* default; effectively same as IN */ } FunctionParameterMode; typedef struct FunctionParameter @@ -3080,6 +3479,8 @@ typedef struct DoStmt typedef struct InlineCodeBlock { + pg_node_attr(nodetag_only) /* this is not a member of parse trees */ + NodeTag type; char *source_text; /* source text of anonymous code block */ Oid langOid; /* OID of selected language */ @@ -3094,18 +3495,25 @@ typedef struct InlineCodeBlock * list contains copies of the expressions for all output arguments, in the * order of the procedure's declared arguments. (outargs is never evaluated, * but is useful to the caller as a reference for what to assign to.) + * The transformed call state is not relevant in the query jumbling, only the + * function call is. * ---------------------- */ typedef struct CallStmt { NodeTag type; - FuncCall *funccall; /* from the parser */ - FuncExpr *funcexpr; /* transformed call, with only input args */ - List *outargs; /* transformed output-argument expressions */ + /* from the parser */ + FuncCall *funccall pg_node_attr(query_jumble_ignore); + /* transformed call, with only input args */ + FuncExpr *funcexpr; + /* transformed output-argument expressions */ + List *outargs; } CallStmt; typedef struct CallContext { + pg_node_attr(nodetag_only) /* this is not a member of parse trees */ + NodeTag type; bool atomic; } CallContext; @@ -3253,7 +3661,7 @@ typedef enum TransactionStmtKind TRANS_STMT_ROLLBACK_TO, TRANS_STMT_PREPARE, TRANS_STMT_COMMIT_PREPARED, - TRANS_STMT_ROLLBACK_PREPARED + TRANS_STMT_ROLLBACK_PREPARED, } TransactionStmtKind; typedef struct TransactionStmt @@ -3261,9 +3669,13 @@ typedef struct TransactionStmt NodeTag type; TransactionStmtKind kind; /* see above */ List *options; /* for BEGIN/START commands */ - char *savepoint_name; /* for savepoint commands */ - char *gid; /* for two-phase-commit related commands */ + /* for savepoint commands */ + char *savepoint_name pg_node_attr(query_jumble_ignore); + /* for two-phase-commit related commands */ + char *gid pg_node_attr(query_jumble_ignore); bool chain; /* AND CHAIN option */ + /* token location, or -1 if unknown */ + ParseLoc location pg_node_attr(query_jumble_location); } TransactionStmt; /* ---------------------- @@ -3322,7 +3734,7 @@ typedef enum ViewCheckOption { NO_CHECK_OPTION, LOCAL_CHECK_OPTION, - CASCADED_CHECK_OPTION + CASCADED_CHECK_OPTION, } ViewCheckOption; typedef struct ViewStmt @@ -3514,7 +3926,7 @@ typedef enum DiscardMode DISCARD_ALL, DISCARD_PLANS, DISCARD_SEQUENCES, - DISCARD_TEMP + DISCARD_TEMP, } DiscardMode; typedef struct DiscardStmt @@ -3556,7 +3968,7 @@ typedef enum ReindexObjectType REINDEX_OBJECT_TABLE, /* table or materialized view */ REINDEX_OBJECT_SCHEMA, /* schema */ REINDEX_OBJECT_SYSTEM, /* system catalogs */ - REINDEX_OBJECT_DATABASE /* database */ + REINDEX_OBJECT_DATABASE, /* database */ } ReindexObjectType; typedef struct ReindexStmt @@ -3644,8 +4056,17 @@ typedef struct ExecuteStmt typedef struct DeallocateStmt { NodeTag type; - char *name; /* The name of the plan to remove */ - /* NULL means DEALLOCATE ALL */ + /* The name of the plan to remove, NULL if DEALLOCATE ALL */ + char *name pg_node_attr(query_jumble_ignore); + + /* + * True if DEALLOCATE ALL. This is redundant with "name == NULL", but we + * make it a separate field so that exactly this condition (and not the + * precise name) will be accounted for in query jumbling. + */ + bool isall; + /* token location, or -1 if unknown */ + ParseLoc location pg_node_attr(query_jumble_location); } DeallocateStmt; /* @@ -3687,7 +4108,7 @@ typedef enum AlterTSConfigType ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN, ALTER_TSCONFIG_REPLACE_DICT, ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN, - ALTER_TSCONFIG_DROP_MAPPING + ALTER_TSCONFIG_DROP_MAPPING, } AlterTSConfigType; typedef struct AlterTSConfigurationStmt @@ -3724,7 +4145,7 @@ typedef enum PublicationObjSpecType PUBLICATIONOBJ_TABLES_IN_SCHEMA, /* All tables in schema */ PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA, /* All tables in first element of * search_path */ - PUBLICATIONOBJ_CONTINUATION /* Continuation of previous type */ + PUBLICATIONOBJ_CONTINUATION, /* Continuation of previous type */ } PublicationObjSpecType; typedef struct PublicationObjSpec @@ -3733,7 +4154,7 @@ typedef struct PublicationObjSpec PublicationObjSpecType pubobjtype; /* type of this publication object */ char *name; PublicationTable *pubtable; - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } PublicationObjSpec; typedef struct CreatePublicationStmt @@ -3749,7 +4170,7 @@ typedef enum AlterPublicationAction { AP_AddObjects, /* add objects to publication */ AP_DropObjects, /* remove objects from publication */ - AP_SetObjects /* set list of objects */ + AP_SetObjects, /* set list of objects */ } AlterPublicationAction; typedef struct AlterPublicationStmt @@ -3788,7 +4209,7 @@ typedef enum AlterSubscriptionType ALTER_SUBSCRIPTION_DROP_PUBLICATION, ALTER_SUBSCRIPTION_REFRESH, ALTER_SUBSCRIPTION_ENABLED, - ALTER_SUBSCRIPTION_SKIP + ALTER_SUBSCRIPTION_SKIP, } AlterSubscriptionType; typedef struct AlterSubscriptionStmt diff --git a/parser/include/nodes/pathnodes.h b/parser/include/postgres/nodes/pathnodes.h similarity index 67% rename from parser/include/nodes/pathnodes.h rename to parser/include/postgres/nodes/pathnodes.h index 540de8a4..576f1c7e 100644 --- a/parser/include/nodes/pathnodes.h +++ b/parser/include/postgres/nodes/pathnodes.h @@ -3,8 +3,10 @@ * pathnodes.h * Definitions for planner's internal data structures, especially Paths. * + * We don't support copying RelOptInfo, IndexOptInfo, or Path nodes. + * There are some subsidiary structs that are useful to copy, though. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/pathnodes.h @@ -74,7 +76,7 @@ typedef enum UpperRelationKind UPPERREL_PARTIAL_DISTINCT, /* result of partial "SELECT DISTINCT", if any */ UPPERREL_DISTINCT, /* result of "SELECT DISTINCT", if any */ UPPERREL_ORDERED, /* result of ORDER BY, if any */ - UPPERREL_FINAL /* result of any remaining top-level actions */ + UPPERREL_FINAL, /* result of any remaining top-level actions */ /* NB: UPPERREL_FINAL must be last enum entry; it's used to size arrays */ } UpperRelationKind; @@ -85,51 +87,82 @@ typedef enum UpperRelationKind * PlannerGlobal holds state for an entire planner invocation; this state * is shared across all levels of sub-Queries that exist in the command being * planned. + * + * Not all fields are printed. (In some cases, there is no print support for + * the field type; in others, doing so would lead to infinite recursion.) *---------- */ typedef struct PlannerGlobal { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - ParamListInfo boundParams; /* Param values provided to planner() */ + /* Param values provided to planner() */ + ParamListInfo boundParams pg_node_attr(read_write_ignore); + + /* Plans for SubPlan nodes */ + List *subplans; - List *subplans; /* Plans for SubPlan nodes */ + /* Paths from which the SubPlan Plans were made */ + List *subpaths; - List *subroots; /* PlannerInfos for SubPlan nodes */ + /* PlannerInfos for SubPlan nodes */ + List *subroots pg_node_attr(read_write_ignore); - Bitmapset *rewindPlanIDs; /* indices of subplans that require REWIND */ + /* indices of subplans that require REWIND */ + Bitmapset *rewindPlanIDs; - List *finalrtable; /* "flat" rangetable for executor */ + /* "flat" rangetable for executor */ + List *finalrtable; - List *finalrowmarks; /* "flat" list of PlanRowMarks */ + /* "flat" list of RTEPermissionInfos */ + List *finalrteperminfos; - List *resultRelations; /* "flat" list of integer RT indexes */ + /* "flat" list of PlanRowMarks */ + List *finalrowmarks; - List *appendRelations; /* "flat" list of AppendRelInfos */ + /* "flat" list of integer RT indexes */ + List *resultRelations; - List *relationOids; /* OIDs of relations the plan depends on */ + /* "flat" list of AppendRelInfos */ + List *appendRelations; - List *invalItems; /* other dependencies, as PlanInvalItems */ + /* OIDs of relations the plan depends on */ + List *relationOids; - List *paramExecTypes; /* type OIDs for PARAM_EXEC Params */ + /* other dependencies, as PlanInvalItems */ + List *invalItems; - Index lastPHId; /* highest PlaceHolderVar ID assigned */ + /* type OIDs for PARAM_EXEC Params */ + List *paramExecTypes; - Index lastRowMarkId; /* highest PlanRowMark ID assigned */ + /* highest PlaceHolderVar ID assigned */ + Index lastPHId; - int lastPlanNodeId; /* highest plan node ID assigned */ + /* highest PlanRowMark ID assigned */ + Index lastRowMarkId; - bool transientPlan; /* redo plan when TransactionXmin changes? */ + /* highest plan node ID assigned */ + int lastPlanNodeId; - bool dependsOnRole; /* is plan specific to current role? */ + /* redo plan when TransactionXmin changes? */ + bool transientPlan; - bool parallelModeOK; /* parallel mode potentially OK? */ + /* is plan specific to current role? */ + bool dependsOnRole; - bool parallelModeNeeded; /* parallel mode actually required? */ + /* parallel mode potentially OK? */ + bool parallelModeOK; - char maxParallelHazard; /* worst PROPARALLEL hazard level */ + /* parallel mode actually required? */ + bool parallelModeNeeded; - PartitionDirectory partition_directory; /* partition descriptors */ + /* worst PROPARALLEL hazard level */ + char maxParallelHazard; + + /* partition descriptors */ + PartitionDirectory partition_directory pg_node_attr(read_write_ignore); } PlannerGlobal; /* macro for fetching the Plan associated with a SubPlan node */ @@ -148,6 +181,10 @@ typedef struct PlannerGlobal * * For reasons explained in optimizer/optimizer.h, we define the typedef * either here or in that header, whichever is read first. + * + * Not all fields are printed. (In some cases, there is no print support for + * the field type; in others, doing so would lead to infinite recursion or + * bloat dump output more than seems useful.) *---------- */ #ifndef HAVE_PLANNERINFO_TYPEDEF @@ -157,15 +194,21 @@ typedef struct PlannerInfo PlannerInfo; struct PlannerInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - Query *parse; /* the Query being planned */ + /* the Query being planned */ + Query *parse; - PlannerGlobal *glob; /* global info for current planner run */ + /* global info for current planner run */ + PlannerGlobal *glob; - Index query_level; /* 1 at the outermost Query */ + /* 1 at the outermost Query */ + Index query_level; - PlannerInfo *parent_root; /* NULL at outermost Query */ + /* NULL at outermost Query */ + PlannerInfo *parent_root pg_node_attr(read_write_ignore); /* * plan_params contains the expressions that this query level needs to @@ -173,7 +216,8 @@ struct PlannerInfo * outer_params contains the paramIds of PARAM_EXEC Params that outer * query levels will make available to this query level. */ - List *plan_params; /* list of PlannerParamItems, see below */ + /* list of PlannerParamItems, see below */ + List *plan_params; Bitmapset *outer_params; /* @@ -183,39 +227,46 @@ struct PlannerInfo * does not correspond to a base relation, such as a join RTE or an * unreferenced view RTE; or if the RelOptInfo hasn't been made yet. */ - struct RelOptInfo **simple_rel_array; /* All 1-rel RelOptInfos */ - int simple_rel_array_size; /* allocated size of array */ + struct RelOptInfo **simple_rel_array pg_node_attr(array_size(simple_rel_array_size)); + /* allocated size of array */ + int simple_rel_array_size; /* * simple_rte_array is the same length as simple_rel_array and holds * pointers to the associated rangetable entries. Using this is a shade - * faster than using rt_fetch(), mostly due to fewer indirections. + * faster than using rt_fetch(), mostly due to fewer indirections. (Not + * printed because it'd be redundant with parse->rtable.) */ - RangeTblEntry **simple_rte_array; /* rangetable as an array */ + RangeTblEntry **simple_rte_array pg_node_attr(read_write_ignore); /* * append_rel_array is the same length as the above arrays, and holds * pointers to the corresponding AppendRelInfo entry indexed by * child_relid, or NULL if the rel is not an appendrel child. The array - * itself is not allocated if append_rel_list is empty. + * itself is not allocated if append_rel_list is empty. (Not printed + * because it'd be redundant with append_rel_list.) */ - struct AppendRelInfo **append_rel_array; + struct AppendRelInfo **append_rel_array pg_node_attr(read_write_ignore); /* - * all_baserels is a Relids set of all base relids (but not "other" - * relids) in the query; that is, the Relids identifier of the final join - * we need to form. This is computed in make_one_rel, just before we - * start making Paths. + * all_baserels is a Relids set of all base relids (but not joins or + * "other" rels) in the query. This is computed in deconstruct_jointree. */ Relids all_baserels; /* - * nullable_baserels is a Relids set of base relids that are nullable by - * some outer join in the jointree; these are rels that are potentially - * nullable below the WHERE clause, SELECT targetlist, etc. This is - * computed in deconstruct_jointree. + * outer_join_rels is a Relids set of all outer-join relids in the query. + * This is computed in deconstruct_jointree. + */ + Relids outer_join_rels; + + /* + * all_query_rels is a Relids set of all base relids and outer join relids + * (but not "other" relids) in the query. This is the Relids identifier + * of the final join we need to form. This is computed in + * deconstruct_jointree. */ - Relids nullable_baserels; + Relids all_query_rels; /* * join_rel_list is a list of all join-relation RelOptInfos we have @@ -226,8 +277,8 @@ struct PlannerInfo * even when using the hash table for lookups; this simplifies life for * GEQO. */ - List *join_rel_list; /* list of join-relation RelOptInfos */ - struct HTAB *join_rel_hash; /* optional hashtable for join relations */ + List *join_rel_list; + struct HTAB *join_rel_hash pg_node_attr(read_write_ignore); /* * When doing a dynamic-programming-style join search, join_rel_level[k] @@ -235,36 +286,61 @@ struct PlannerInfo * join_cur_level is the current level. New join-relation RelOptInfos are * automatically added to the join_rel_level[join_cur_level] list. * join_rel_level is NULL if not in use. + * + * Note: we've already printed all baserel and joinrel RelOptInfos above, + * so we don't dump join_rel_level or other lists of RelOptInfos. + */ + /* lists of join-relation RelOptInfos */ + List **join_rel_level pg_node_attr(read_write_ignore); + /* index of list being extended */ + int join_cur_level; + + /* init SubPlans for query */ + List *init_plans; + + /* + * per-CTE-item list of subplan IDs (or -1 if no subplan was made for that + * CTE) */ - List **join_rel_level; /* lists of join-relation RelOptInfos */ - int join_cur_level; /* index of list being extended */ + List *cte_plan_ids; - List *init_plans; /* init SubPlans for query */ + /* List of Lists of Params for MULTIEXPR subquery outputs */ + List *multiexpr_params; - List *cte_plan_ids; /* per-CTE-item list of subplan IDs (or -1 if - * no subplan was made for that CTE) */ + /* list of JoinDomains used in the query (higher ones first) */ + List *join_domains; - List *multiexpr_params; /* List of Lists of Params for MULTIEXPR - * subquery outputs */ + /* list of active EquivalenceClasses */ + List *eq_classes; - List *eq_classes; /* list of active EquivalenceClasses */ + /* set true once ECs are canonical */ + bool ec_merging_done; - bool ec_merging_done; /* set true once ECs are canonical */ + /* list of "canonical" PathKeys */ + List *canon_pathkeys; - List *canon_pathkeys; /* list of "canonical" PathKeys */ + /* + * list of OuterJoinClauseInfos for mergejoinable outer join clauses + * w/nonnullable var on left + */ + List *left_join_clauses; - List *left_join_clauses; /* list of RestrictInfos for mergejoinable - * outer join clauses w/nonnullable var on - * left */ + /* + * list of OuterJoinClauseInfos for mergejoinable outer join clauses + * w/nonnullable var on right + */ + List *right_join_clauses; - List *right_join_clauses; /* list of RestrictInfos for mergejoinable - * outer join clauses w/nonnullable var on - * right */ + /* + * list of OuterJoinClauseInfos for mergejoinable full join clauses + */ + List *full_join_clauses; - List *full_join_clauses; /* list of RestrictInfos for mergejoinable - * full join clauses */ + /* list of SpecialJoinInfos */ + List *join_info_list; - List *join_info_list; /* list of SpecialJoinInfos */ + /* counter for assigning RestrictInfo serial numbers */ + int last_rinfo_serial; /* * all_result_relids is empty for SELECT, otherwise it contains at least @@ -274,41 +350,105 @@ struct PlannerInfo * included. leaf_result_relids is similar except that only actual result * tables, not partitioned tables, are included in it. */ - Relids all_result_relids; /* set of all result relids */ - Relids leaf_result_relids; /* set of all leaf relids */ + /* set of all result relids */ + Relids all_result_relids; + /* set of all leaf relids */ + Relids leaf_result_relids; /* + * list of AppendRelInfos + * * Note: for AppendRelInfos describing partitions of a partitioned table, * we guarantee that partitions that come earlier in the partitioned * table's PartitionDesc will appear earlier in append_rel_list. */ - List *append_rel_list; /* list of AppendRelInfos */ + List *append_rel_list; - List *row_identity_vars; /* list of RowIdentityVarInfos */ + /* list of RowIdentityVarInfos */ + List *row_identity_vars; - List *rowMarks; /* list of PlanRowMarks */ + /* list of PlanRowMarks */ + List *rowMarks; - List *placeholder_list; /* list of PlaceHolderInfos */ + /* list of PlaceHolderInfos */ + List *placeholder_list; - List *fkey_list; /* list of ForeignKeyOptInfos */ + /* array of PlaceHolderInfos indexed by phid */ + struct PlaceHolderInfo **placeholder_array pg_node_attr(read_write_ignore, array_size(placeholder_array_size)); + /* allocated size of array */ + int placeholder_array_size pg_node_attr(read_write_ignore); - List *query_pathkeys; /* desired pathkeys for query_planner() */ + /* list of ForeignKeyOptInfos */ + List *fkey_list; - List *group_pathkeys; /* groupClause pathkeys, if any */ - List *window_pathkeys; /* pathkeys of bottom window, if any */ - List *distinct_pathkeys; /* distinctClause pathkeys, if any */ - List *sort_pathkeys; /* sortClause pathkeys, if any */ + /* desired pathkeys for query_planner() */ + List *query_pathkeys; - List *part_schemes; /* Canonicalised partition schemes used in the - * query. */ + /* groupClause pathkeys, if any */ + List *group_pathkeys; - List *initial_rels; /* RelOptInfos we are now trying to join */ + /* + * The number of elements in the group_pathkeys list which belong to the + * GROUP BY clause. Additional ones belong to ORDER BY / DISTINCT + * aggregates. + */ + int num_groupby_pathkeys; + + /* pathkeys of bottom window, if any */ + List *window_pathkeys; + /* distinctClause pathkeys, if any */ + List *distinct_pathkeys; + /* sortClause pathkeys, if any */ + List *sort_pathkeys; + /* set operator pathkeys, if any */ + List *setop_pathkeys; - /* Use fetch_upper_rel() to get any particular upper rel */ - List *upper_rels[UPPERREL_FINAL + 1]; /* upper-rel RelOptInfos */ + /* Canonicalised partition schemes used in the query. */ + List *part_schemes pg_node_attr(read_write_ignore); + + /* RelOptInfos we are now trying to join */ + List *initial_rels pg_node_attr(read_write_ignore); + + /* + * Upper-rel RelOptInfos. Use fetch_upper_rel() to get any particular + * upper rel. + */ + List *upper_rels[UPPERREL_FINAL + 1] pg_node_attr(read_write_ignore); /* Result tlists chosen by grouping_planner for upper-stage processing */ - struct PathTarget *upper_targets[UPPERREL_FINAL + 1]; + struct PathTarget *upper_targets[UPPERREL_FINAL + 1] pg_node_attr(read_write_ignore); + + /* + * The fully-processed groupClause is kept here. It differs from + * parse->groupClause in that we remove any items that we can prove + * redundant, so that only the columns named here actually need to be + * compared to determine grouping. Note that it's possible for *all* the + * items to be proven redundant, implying that there is only one group + * containing all the query's rows. Hence, if you want to check whether + * GROUP BY was specified, test for nonempty parse->groupClause, not for + * nonempty processed_groupClause. Optimizer chooses specific order of + * group-by clauses during the upper paths generation process, attempting + * to use different strategies to minimize number of sorts or engage + * incremental sort. See preprocess_groupclause() and + * get_useful_group_keys_orderings() for details. + * + * Currently, when grouping sets are specified we do not attempt to + * optimize the groupClause, so that processed_groupClause will be + * identical to parse->groupClause. + */ + List *processed_groupClause; + + /* + * The fully-processed distinctClause is kept here. It differs from + * parse->distinctClause in that we remove any items that we can prove + * redundant, so that only the columns named here actually need to be + * compared to determine uniqueness. Note that it's possible for *all* + * the items to be proven redundant, implying that there should be only + * one output row. Hence, if you want to check whether DISTINCT was + * specified, test for nonempty parse->distinctClause, not for nonempty + * processed_distinctClause. + */ + List *processed_distinctClause; /* * The fully-processed targetlist is kept here. It differs from @@ -329,52 +469,87 @@ struct PlannerInfo */ List *update_colnos; - /* Fields filled during create_plan() for use in setrefs.c */ - AttrNumber *grouping_map; /* for GroupingFunc fixup */ - List *minmax_aggs; /* List of MinMaxAggInfos */ - - MemoryContext planner_cxt; /* context holding PlannerInfo */ + /* + * Fields filled during create_plan() for use in setrefs.c + */ + /* for GroupingFunc fixup (can't print: array length not known here) */ + AttrNumber *grouping_map pg_node_attr(read_write_ignore); + /* List of MinMaxAggInfos */ + List *minmax_aggs; - Cardinality total_table_pages; /* # of pages in all non-dummy tables of - * query */ + /* context holding PlannerInfo */ + MemoryContext planner_cxt pg_node_attr(read_write_ignore); - Selectivity tuple_fraction; /* tuple_fraction passed to query_planner */ - Cardinality limit_tuples; /* limit_tuples passed to query_planner */ + /* # of pages in all non-dummy tables of query */ + Cardinality total_table_pages; - Index qual_security_level; /* minimum security_level for quals */ - /* Note: qual_security_level is zero if there are no securityQuals */ + /* tuple_fraction passed to query_planner */ + Selectivity tuple_fraction; + /* limit_tuples passed to query_planner */ + Cardinality limit_tuples; - bool hasJoinRTEs; /* true if any RTEs are RTE_JOIN kind */ - bool hasLateralRTEs; /* true if any RTEs are marked LATERAL */ - bool hasHavingQual; /* true if havingQual was non-null */ - bool hasPseudoConstantQuals; /* true if any RestrictInfo has - * pseudoconstant = true */ - bool hasAlternativeSubPlans; /* true if we've made any of those */ - bool hasRecursion; /* true if planning a recursive WITH item */ + /* + * Minimum security_level for quals. Note: qual_security_level is zero if + * there are no securityQuals. + */ + Index qual_security_level; + + /* true if any RTEs are RTE_JOIN kind */ + bool hasJoinRTEs; + /* true if any RTEs are marked LATERAL */ + bool hasLateralRTEs; + /* true if havingQual was non-null */ + bool hasHavingQual; + /* true if any RestrictInfo has pseudoconstant = true */ + bool hasPseudoConstantQuals; + /* true if we've made any of those */ + bool hasAlternativeSubPlans; + /* true once we're no longer allowed to add PlaceHolderInfos */ + bool placeholdersFrozen; + /* true if planning a recursive WITH item */ + bool hasRecursion; /* * Information about aggregates. Filled by preprocess_aggrefs(). */ - List *agginfos; /* AggInfo structs */ - List *aggtransinfos; /* AggTransInfo structs */ - int numOrderedAggs; /* number w/ DISTINCT/ORDER BY/WITHIN GROUP */ - bool hasNonPartialAggs; /* does any agg not support partial mode? */ - bool hasNonSerialAggs; /* is any partial agg non-serializable? */ + /* AggInfo structs */ + List *agginfos; + /* AggTransInfo structs */ + List *aggtransinfos; + /* number of aggs with DISTINCT/ORDER BY/WITHIN GROUP */ + int numOrderedAggs; + /* does any agg not support partial mode? */ + bool hasNonPartialAggs; + /* is any partial agg non-serializable? */ + bool hasNonSerialAggs; - /* These fields are used only when hasRecursion is true: */ - int wt_param_id; /* PARAM_EXEC ID for the work table */ - struct Path *non_recursive_path; /* a path for non-recursive term */ + /* + * These fields are used only when hasRecursion is true: + */ + /* PARAM_EXEC ID for the work table */ + int wt_param_id; + /* a path for non-recursive term */ + struct Path *non_recursive_path; - /* These fields are workspace for createplan.c */ - Relids curOuterRels; /* outer rels above current node */ - List *curOuterParams; /* not-yet-assigned NestLoopParams */ + /* + * These fields are workspace for createplan.c + */ + /* outer rels above current node */ + Relids curOuterRels; + /* not-yet-assigned NestLoopParams */ + List *curOuterParams; - /* These fields are workspace for setrefs.c */ - bool *isAltSubplan; /* array corresponding to glob->subplans */ - bool *isUsedSubplan; /* array corresponding to glob->subplans */ + /* + * These fields are workspace for setrefs.c. Each is an array + * corresponding to glob->subplans. (We could probably teach + * gen_node_support.pl how to determine the array length, but it doesn't + * seem worth the trouble, so just mark them read_write_ignore.) + */ + bool *isAltSubplan pg_node_attr(read_write_ignore); + bool *isUsedSubplan pg_node_attr(read_write_ignore); /* optional private data for join_search_hook, e.g., GEQO */ - void *join_search_private; + void *join_search_private pg_node_attr(read_write_ignore); /* Does this query modify any partition key columns? */ bool partColsUpdated; @@ -430,9 +605,10 @@ typedef struct PartitionSchemeData *PartitionScheme; * or the output of a sub-SELECT or function that appears in the range table. * In either case it is uniquely identified by an RT index. A "joinrel" * is the joining of two or more base rels. A joinrel is identified by - * the set of RT indexes for its component baserels. We create RelOptInfo - * nodes for each baserel and joinrel, and store them in the PlannerInfo's - * simple_rel_array and join_rel_list respectively. + * the set of RT indexes for its component baserels, along with RT indexes + * for any outer joins it has computed. We create RelOptInfo nodes for each + * baserel and joinrel, and store them in the PlannerInfo's simple_rel_array + * and join_rel_list respectively. * * Note that there is only one joinrel for any given set of component * baserels, no matter what order we assemble them in; so an unordered @@ -465,14 +641,13 @@ typedef struct PartitionSchemeData *PartitionScheme; * Many of the fields in these RelOptInfos are meaningless, but their Path * fields always hold Paths showing ways to do that processing step. * - * Lastly, there is a RelOptKind for "dead" relations, which are base rels - * that we have proven we don't need to join after all. - * * Parts of this data structure are specific to various scan and join * mechanisms. It didn't seem worth creating new node types for them. * - * relids - Set of base-relation identifiers; it is a base relation - * if there is just one, a join relation if more than one + * relids - Set of relation identifiers (RT indexes). This is a base + * relation if there is just one, a join relation if more; + * in the join case, RT indexes of any outer joins formed + * at or below this join are included along with baserels * rows - estimated number of tuples in the relation after restriction * clauses have been applied (ie, output rows of a plan for it) * consider_startup - true if there is any value in keeping plain paths for @@ -514,12 +689,13 @@ typedef struct PartitionSchemeData *PartitionScheme; * the attribute is needed as part of final targetlist * attr_widths - cache space for per-attribute width estimates; * zero means not computed yet + * nulling_relids - relids of outer joins that can null this rel * lateral_vars - lateral cross-references of rel, if any (list of * Vars and PlaceHolderVars) * lateral_referencers - relids of rels that reference this one laterally * (includes both direct and indirect lateral references) * indexlist - list of IndexOptInfo nodes for relation's indexes - * (always NIL if it's not a table) + * (always NIL if it's not a table or partitioned table) * pages - number of disk pages in relation (zero if not a table) * tuples - number of tuples in relation (not considering restrictions) * allvisfrac - fraction of disk pages that are marked all-visible @@ -631,6 +807,9 @@ typedef struct PartitionSchemeData *PartitionScheme; * Furthermore, FULL JOINs add extra nullable_partexprs expressions * corresponding to COALESCE expressions of the left and right join columns, * to simplify matching join clauses to those lists. + * + * Not all fields are printed. (In some cases, there is no print support for + * the field type.) *---------- */ @@ -645,7 +824,6 @@ typedef enum RelOptKind RELOPT_OTHER_JOINREL, RELOPT_UPPER_REL, RELOPT_OTHER_UPPER_REL, - RELOPT_DEADREL } RelOptKind; /* @@ -674,25 +852,43 @@ typedef enum RelOptKind typedef struct RelOptInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; RelOptKind reloptkind; - /* all relations included in this RelOptInfo */ - Relids relids; /* set of base relids (rangetable indexes) */ + /* + * all relations included in this RelOptInfo; set of base + OJ relids + * (rangetable indexes) + */ + Relids relids; - /* size estimates generated by planner */ - Cardinality rows; /* estimated number of result tuples */ + /* + * size estimates generated by planner + */ + /* estimated number of result tuples */ + Cardinality rows; - /* per-relation planner control flags */ - bool consider_startup; /* keep cheap-startup-cost paths? */ - bool consider_param_startup; /* ditto, for parameterized paths? */ - bool consider_parallel; /* consider parallel paths? */ + /* + * per-relation planner control flags + */ + /* keep cheap-startup-cost paths? */ + bool consider_startup; + /* ditto, for parameterized paths? */ + bool consider_param_startup; + /* consider parallel paths? */ + bool consider_parallel; - /* default result targetlist for Paths scanning this relation */ - struct PathTarget *reltarget; /* list of Vars/Exprs, cost, width */ + /* + * default result targetlist for Paths scanning this relation; list of + * Vars/Exprs, cost, width + */ + struct PathTarget *reltarget; - /* materialization information */ + /* + * materialization information + */ List *pathlist; /* Path structures */ List *ppilist; /* ParamPathInfos used in pathlist */ List *partial_pathlist; /* partial Paths */ @@ -701,79 +897,152 @@ typedef struct RelOptInfo struct Path *cheapest_unique_path; List *cheapest_parameterized_paths; - /* parameterization information needed for both base rels and join rels */ - /* (see also lateral_vars and lateral_referencers) */ - Relids direct_lateral_relids; /* rels directly laterally referenced */ - Relids lateral_relids; /* minimum parameterization of rel */ + /* + * parameterization information needed for both base rels and join rels + * (see also lateral_vars and lateral_referencers) + */ + /* rels directly laterally referenced */ + Relids direct_lateral_relids; + /* minimum parameterization of rel */ + Relids lateral_relids; - /* information about a base rel (not set for join rels!) */ + /* + * information about a base rel (not set for join rels!) + */ Index relid; - Oid reltablespace; /* containing tablespace */ - RTEKind rtekind; /* RELATION, SUBQUERY, FUNCTION, etc */ - AttrNumber min_attr; /* smallest attrno of rel (often <0) */ - AttrNumber max_attr; /* largest attrno of rel */ - Relids *attr_needed; /* array indexed [min_attr .. max_attr] */ - int32 *attr_widths; /* array indexed [min_attr .. max_attr] */ - List *lateral_vars; /* LATERAL Vars and PHVs referenced by rel */ - Relids lateral_referencers; /* rels that reference me laterally */ - List *indexlist; /* list of IndexOptInfo */ - List *statlist; /* list of StatisticExtInfo */ - BlockNumber pages; /* size estimates derived from pg_class */ + /* containing tablespace */ + Oid reltablespace; + /* RELATION, SUBQUERY, FUNCTION, etc */ + RTEKind rtekind; + /* smallest attrno of rel (often <0) */ + AttrNumber min_attr; + /* largest attrno of rel */ + AttrNumber max_attr; + /* array indexed [min_attr .. max_attr] */ + Relids *attr_needed pg_node_attr(read_write_ignore); + /* array indexed [min_attr .. max_attr] */ + int32 *attr_widths pg_node_attr(read_write_ignore); + + /* + * Zero-based set containing attnums of NOT NULL columns. Not populated + * for rels corresponding to non-partitioned inh==true RTEs. + */ + Bitmapset *notnullattnums; + /* relids of outer joins that can null this baserel */ + Relids nulling_relids; + /* LATERAL Vars and PHVs referenced by rel */ + List *lateral_vars; + /* rels that reference this baserel laterally */ + Relids lateral_referencers; + /* list of IndexOptInfo */ + List *indexlist; + /* list of StatisticExtInfo */ + List *statlist; + /* size estimates derived from pg_class */ + BlockNumber pages; Cardinality tuples; double allvisfrac; - Bitmapset *eclass_indexes; /* Indexes in PlannerInfo's eq_classes list of - * ECs that mention this rel */ + /* indexes in PlannerInfo's eq_classes list of ECs that mention this rel */ + Bitmapset *eclass_indexes; PlannerInfo *subroot; /* if subquery */ List *subplan_params; /* if subquery */ - int rel_parallel_workers; /* wanted number of parallel workers */ - uint32 amflags; /* Bitmask of optional features supported by - * the table AM */ - - /* Information about foreign tables and foreign joins */ - Oid serverid; /* identifies server for the table or join */ - Oid userid; /* identifies user to check access as */ - bool useridiscurrent; /* join is only valid for current user */ + /* wanted number of parallel workers */ + int rel_parallel_workers; + /* Bitmask of optional features supported by the table AM */ + uint32 amflags; + + /* + * Information about foreign tables and foreign joins + */ + /* identifies server for the table or join */ + Oid serverid; + /* identifies user to check access as; 0 means to check as current user */ + Oid userid; + /* join is only valid for current user */ + bool useridiscurrent; /* use "struct FdwRoutine" to avoid including fdwapi.h here */ - struct FdwRoutine *fdwroutine; - void *fdw_private; - - /* cache space for remembering if we have proven this relation unique */ - List *unique_for_rels; /* known unique for these other relid - * set(s) */ - List *non_unique_for_rels; /* known not unique for these set(s) */ - - /* used by various scans and joins: */ - List *baserestrictinfo; /* RestrictInfo structures (if base rel) */ - QualCost baserestrictcost; /* cost of evaluating the above */ - Index baserestrict_min_security; /* min security_level found in - * baserestrictinfo */ - List *joininfo; /* RestrictInfo structures for join clauses - * involving this rel */ - bool has_eclass_joins; /* T means joininfo is incomplete */ - - /* used by partitionwise joins: */ - bool consider_partitionwise_join; /* consider partitionwise join - * paths? (if partitioned rel) */ - Relids top_parent_relids; /* Relids of topmost parents (if "other" - * rel) */ - - /* used for partitioned relations: */ - PartitionScheme part_scheme; /* Partitioning scheme */ - int nparts; /* Number of partitions; -1 if not yet set; in - * case of a join relation 0 means it's - * considered unpartitioned */ - struct PartitionBoundInfoData *boundinfo; /* Partition bounds */ - bool partbounds_merged; /* True if partition bounds were created - * by partition_bounds_merge() */ - List *partition_qual; /* Partition constraint, if not the root */ - struct RelOptInfo **part_rels; /* Array of RelOptInfos of partitions, - * stored in the same order as bounds */ - Bitmapset *live_parts; /* Bitmap with members acting as indexes into - * the part_rels[] array to indicate which - * partitions survived partition pruning. */ - Relids all_partrels; /* Relids set of all partition relids */ - List **partexprs; /* Non-nullable partition key expressions */ - List **nullable_partexprs; /* Nullable partition key expressions */ + struct FdwRoutine *fdwroutine pg_node_attr(read_write_ignore); + void *fdw_private pg_node_attr(read_write_ignore); + + /* + * cache space for remembering if we have proven this relation unique + */ + /* known unique for these other relid set(s) */ + List *unique_for_rels; + /* known not unique for these set(s) */ + List *non_unique_for_rels; + + /* + * used by various scans and joins: + */ + /* RestrictInfo structures (if base rel) */ + List *baserestrictinfo; + /* cost of evaluating the above */ + QualCost baserestrictcost; + /* min security_level found in baserestrictinfo */ + Index baserestrict_min_security; + /* RestrictInfo structures for join clauses involving this rel */ + List *joininfo; + /* T means joininfo is incomplete */ + bool has_eclass_joins; + + /* + * used by partitionwise joins: + */ + /* consider partitionwise join paths? (if partitioned rel) */ + bool consider_partitionwise_join; + + /* + * inheritance links, if this is an otherrel (otherwise NULL): + */ + /* Immediate parent relation (dumping it would be too verbose) */ + struct RelOptInfo *parent pg_node_attr(read_write_ignore); + /* Topmost parent relation (dumping it would be too verbose) */ + struct RelOptInfo *top_parent pg_node_attr(read_write_ignore); + /* Relids of topmost parent (redundant, but handy) */ + Relids top_parent_relids; + + /* + * used for partitioned relations: + */ + /* Partitioning scheme */ + PartitionScheme part_scheme pg_node_attr(read_write_ignore); + + /* + * Number of partitions; -1 if not yet set; in case of a join relation 0 + * means it's considered unpartitioned + */ + int nparts; + /* Partition bounds */ + struct PartitionBoundInfoData *boundinfo pg_node_attr(read_write_ignore); + /* True if partition bounds were created by partition_bounds_merge() */ + bool partbounds_merged; + /* Partition constraint, if not the root */ + List *partition_qual; + + /* + * Array of RelOptInfos of partitions, stored in the same order as bounds + * (don't print, too bulky and duplicative) + */ + struct RelOptInfo **part_rels pg_node_attr(read_write_ignore); + + /* + * Bitmap with members acting as indexes into the part_rels[] array to + * indicate which partitions survived partition pruning. + */ + Bitmapset *live_parts; + /* Relids set of all partition relids */ + Relids all_partrels; + + /* + * These arrays are of length partkey->partnatts, which we don't have at + * hand, so don't try to print + */ + + /* Non-nullable partition key expressions */ + List **partexprs pg_node_attr(read_write_ignore); + /* Nullable partition key expressions */ + List **nullable_partexprs pg_node_attr(read_write_ignore); } RelOptInfo; /* @@ -832,62 +1101,108 @@ typedef struct IndexOptInfo IndexOptInfo; #define HAVE_INDEXOPTINFO_TYPEDEF 1 #endif +struct IndexPath; /* forward declaration */ + struct IndexOptInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - Oid indexoid; /* OID of the index relation */ - Oid reltablespace; /* tablespace of index (not table) */ - RelOptInfo *rel; /* back-link to index's table */ - - /* index-size statistics (from pg_class and elsewhere) */ - BlockNumber pages; /* number of disk pages in index */ - Cardinality tuples; /* number of index tuples in index */ - int tree_height; /* index tree height, or -1 if unknown */ - - /* index descriptor information */ - int ncolumns; /* number of columns in index */ - int nkeycolumns; /* number of key columns in index */ - int *indexkeys; /* column numbers of index's attributes both - * key and included columns, or 0 */ - Oid *indexcollations; /* OIDs of collations of index columns */ - Oid *opfamily; /* OIDs of operator families for columns */ - Oid *opcintype; /* OIDs of opclass declared input data types */ - Oid *sortopfamily; /* OIDs of btree opfamilies, if orderable */ - bool *reverse_sort; /* is sort order descending? */ - bool *nulls_first; /* do NULLs come first in the sort order? */ - bytea **opclassoptions; /* opclass-specific options for columns */ - bool *canreturn; /* which index cols can be returned in an - * index-only scan? */ - Oid relam; /* OID of the access method (in pg_am) */ - - List *indexprs; /* expressions for non-simple index columns */ - List *indpred; /* predicate if a partial index, else NIL */ - - List *indextlist; /* targetlist representing index columns */ - - List *indrestrictinfo; /* parent relation's baserestrictinfo - * list, less any conditions implied by - * the index's predicate (unless it's a - * target rel, see comments in - * check_index_predicates()) */ - - bool predOK; /* true if index predicate matches query */ - bool unique; /* true if a unique index */ - bool immediate; /* is uniqueness enforced immediately? */ - bool hypothetical; /* true if index doesn't really exist */ - - /* Remaining fields are copied from the index AM's API struct: */ - bool amcanorderbyop; /* does AM support order by operator result? */ - bool amoptionalkey; /* can query omit key for the first column? */ - bool amsearcharray; /* can AM handle ScalarArrayOpExpr quals? */ - bool amsearchnulls; /* can AM search for NULL/NOT NULL entries? */ - bool amhasgettuple; /* does AM have amgettuple interface? */ - bool amhasgetbitmap; /* does AM have amgetbitmap interface? */ - bool amcanparallel; /* does AM support parallel scan? */ - bool amcanmarkpos; /* does AM support mark/restore? */ + /* OID of the index relation */ + Oid indexoid; + /* tablespace of index (not table) */ + Oid reltablespace; + /* back-link to index's table; don't print, else infinite recursion */ + RelOptInfo *rel pg_node_attr(read_write_ignore); + + /* + * index-size statistics (from pg_class and elsewhere) + */ + /* number of disk pages in index */ + BlockNumber pages; + /* number of index tuples in index */ + Cardinality tuples; + /* index tree height, or -1 if unknown */ + int tree_height; + + /* + * index descriptor information + */ + /* number of columns in index */ + int ncolumns; + /* number of key columns in index */ + int nkeycolumns; + + /* + * table column numbers of index's columns (both key and included + * columns), or 0 for expression columns + */ + int *indexkeys pg_node_attr(array_size(ncolumns)); + /* OIDs of collations of index columns */ + Oid *indexcollations pg_node_attr(array_size(nkeycolumns)); + /* OIDs of operator families for columns */ + Oid *opfamily pg_node_attr(array_size(nkeycolumns)); + /* OIDs of opclass declared input data types */ + Oid *opcintype pg_node_attr(array_size(nkeycolumns)); + /* OIDs of btree opfamilies, if orderable. NULL if partitioned index */ + Oid *sortopfamily pg_node_attr(array_size(nkeycolumns)); + /* is sort order descending? or NULL if partitioned index */ + bool *reverse_sort pg_node_attr(array_size(nkeycolumns)); + /* do NULLs come first in the sort order? or NULL if partitioned index */ + bool *nulls_first pg_node_attr(array_size(nkeycolumns)); + /* opclass-specific options for columns */ + bytea **opclassoptions pg_node_attr(read_write_ignore); + /* which index cols can be returned in an index-only scan? */ + bool *canreturn pg_node_attr(array_size(ncolumns)); + /* OID of the access method (in pg_am) */ + Oid relam; + + /* + * expressions for non-simple index columns; redundant to print since we + * print indextlist + */ + List *indexprs pg_node_attr(read_write_ignore); + /* predicate if a partial index, else NIL */ + List *indpred; + + /* targetlist representing index columns */ + List *indextlist; + + /* + * parent relation's baserestrictinfo list, less any conditions implied by + * the index's predicate (unless it's a target rel, see comments in + * check_index_predicates()) + */ + List *indrestrictinfo; + + /* true if index predicate matches query */ + bool predOK; + /* true if a unique index */ + bool unique; + /* is uniqueness enforced immediately? */ + bool immediate; + /* true if index doesn't really exist */ + bool hypothetical; + + /* + * Remaining fields are copied from the index AM's API struct + * (IndexAmRoutine). These fields are not set for partitioned indexes. + */ + bool amcanorderbyop; + bool amoptionalkey; + bool amsearcharray; + bool amsearchnulls; + /* does AM have amgettuple interface? */ + bool amhasgettuple; + /* does AM have amgetbitmap interface? */ + bool amhasgetbitmap; + bool amcanparallel; + /* does AM have ammarkpos interface? */ + bool amcanmarkpos; + /* AM's cost estimator */ /* Rather than include amapi.h here, we declare amcostestimate like this */ - void (*amcostestimate) (); /* AM's cost estimator */ + void (*amcostestimate) (struct PlannerInfo *, struct IndexPath *, double, Cost *, Cost *, Selectivity *, double *, double *) pg_node_attr(read_write_ignore); }; /* @@ -900,21 +1215,39 @@ struct IndexOptInfo */ typedef struct ForeignKeyOptInfo { + pg_node_attr(custom_read_write, no_copy_equal, no_read, no_query_jumble) + NodeTag type; - /* Basic data about the foreign key (fetched from catalogs): */ - Index con_relid; /* RT index of the referencing table */ - Index ref_relid; /* RT index of the referenced table */ - int nkeys; /* number of columns in the foreign key */ - AttrNumber conkey[INDEX_MAX_KEYS]; /* cols in referencing table */ - AttrNumber confkey[INDEX_MAX_KEYS]; /* cols in referenced table */ - Oid conpfeqop[INDEX_MAX_KEYS]; /* PK = FK operator OIDs */ - - /* Derived info about whether FK's equality conditions match the query: */ - int nmatched_ec; /* # of FK cols matched by ECs */ - int nconst_ec; /* # of these ECs that are ec_has_const */ - int nmatched_rcols; /* # of FK cols matched by non-EC rinfos */ - int nmatched_ri; /* total # of non-EC rinfos matched to FK */ + /* + * Basic data about the foreign key (fetched from catalogs): + */ + + /* RT index of the referencing table */ + Index con_relid; + /* RT index of the referenced table */ + Index ref_relid; + /* number of columns in the foreign key */ + int nkeys; + /* cols in referencing table */ + AttrNumber conkey[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); + /* cols in referenced table */ + AttrNumber confkey[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); + /* PK = FK operator OIDs */ + Oid conpfeqop[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); + + /* + * Derived info about whether FK's equality conditions match the query: + */ + + /* # of FK cols matched by ECs */ + int nmatched_ec; + /* # of these ECs that are ec_has_const */ + int nconst_ec; + /* # of FK cols matched by non-EC rinfos */ + int nmatched_rcols; + /* total # of non-EC rinfos matched to FK */ + int nmatched_ri; /* Pointer to eclass matching each column's condition, if there is one */ struct EquivalenceClass *eclass[INDEX_MAX_KEYS]; /* Pointer to eclass member for the referencing Var, if there is one */ @@ -932,21 +1265,69 @@ typedef struct ForeignKeyOptInfo */ typedef struct StatisticExtInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - Oid statOid; /* OID of the statistics row */ - bool inherit; /* includes child relations */ - RelOptInfo *rel; /* back-link to statistic's table */ - char kind; /* statistics kind of this entry */ - Bitmapset *keys; /* attnums of the columns covered */ - List *exprs; /* expressions */ + /* OID of the statistics row */ + Oid statOid; + + /* includes child relations */ + bool inherit; + + /* back-link to statistic's table; don't print, else infinite recursion */ + RelOptInfo *rel pg_node_attr(read_write_ignore); + + /* statistics kind of this entry */ + char kind; + + /* attnums of the columns covered */ + Bitmapset *keys; + + /* expressions */ + List *exprs; } StatisticExtInfo; +/* + * JoinDomains + * + * A "join domain" defines the scope of applicability of deductions made via + * the EquivalenceClass mechanism. Roughly speaking, a join domain is a set + * of base+OJ relations that are inner-joined together. More precisely, it is + * the set of relations at which equalities deduced from an EquivalenceClass + * can be enforced or should be expected to hold. The topmost JoinDomain + * covers the whole query (so its jd_relids should equal all_query_rels). + * An outer join creates a new JoinDomain that includes all base+OJ relids + * within its nullable side, but (by convention) not the OJ's own relid. + * A FULL join creates two new JoinDomains, one for each side. + * + * Notice that a rel that is below outer join(s) will thus appear to belong + * to multiple join domains. However, any of its Vars that appear in + * EquivalenceClasses belonging to higher join domains will have nullingrel + * bits preventing them from being evaluated at the rel's scan level, so that + * we will not be able to derive enforceable-at-the-rel-scan-level clauses + * from such ECs. We define the join domain relid sets this way so that + * domains can be said to be "higher" or "lower" when one domain relid set + * includes another. + * + * The JoinDomains for a query are computed in deconstruct_jointree. + * We do not copy JoinDomain structs once made, so they can be compared + * for equality by simple pointer equality. + */ +typedef struct JoinDomain +{ + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + + NodeTag type; + + Relids jd_relids; /* all relids contained within the domain */ +} JoinDomain; + /* * EquivalenceClasses * - * Whenever we can determine that a mergejoinable equality clause A = B is - * not delayed by any outer join, we create an EquivalenceClass containing + * Whenever we identify a mergejoinable equality clause A = B that is + * not an outer-join clause, we create an EquivalenceClass containing * the expressions A and B to record this knowledge. If we later find another * equivalence B = C, we add C to the existing EquivalenceClass; this may * require merging two existing EquivalenceClasses. At the end of the qual @@ -960,6 +1341,18 @@ typedef struct StatisticExtInfo * that all or none of the input datatypes are collatable, so that a single * collation value is sufficient.) * + * Strictly speaking, deductions from an EquivalenceClass hold only within + * a "join domain", that is a set of relations that are innerjoined together + * (see JoinDomain above). For the most part we don't need to account for + * this explicitly, because equality clauses from different join domains + * will contain Vars that are not equal() because they have different + * nullingrel sets, and thus we will never falsely merge ECs from different + * join domains. But Var-free (pseudoconstant) expressions lack that safety + * feature. We handle that by marking "const" EC members with the JoinDomain + * of the clause they came from; two nominally-equal const members will be + * considered different if they came from different JoinDomains. This ensures + * no false EquivalenceClass merges will occur. + * * We also use EquivalenceClasses as the base structure for PathKeys, letting * us represent knowledge about different sort orderings being equivalent. * Since every PathKey must reference an EquivalenceClass, we will end up @@ -974,16 +1367,19 @@ typedef struct StatisticExtInfo * entry: consider SELECT random() AS a, random() AS b ... ORDER BY b,a. * So we record the SortGroupRef of the originating sort clause. * - * We allow equality clauses appearing below the nullable side of an outer join - * to form EquivalenceClasses, but these have a slightly different meaning: - * the included values might be all NULL rather than all the same non-null - * values. See src/backend/optimizer/README for more on that point. - * * NB: if ec_merged isn't NULL, this class has been merged into another, and * should be ignored in favor of using the pointed-to class. + * + * NB: EquivalenceClasses are never copied after creation. Therefore, + * copyObject() copies pointers to them as pointers, and equal() compares + * pointers to EquivalenceClasses via pointer equality. This is implemented + * by putting copy_as_scalar and equal_as_scalar attributes on fields that + * are pointers to EquivalenceClasses. The same goes for EquivalenceMembers. */ typedef struct EquivalenceClass { + pg_node_attr(custom_read_write, no_copy_equal, no_read, no_query_jumble) + NodeTag type; List *ec_opfamilies; /* btree operator family OIDs */ @@ -995,7 +1391,6 @@ typedef struct EquivalenceClass * for child members (see below) */ bool ec_has_const; /* any pseudoconstants in ec_members? */ bool ec_has_volatile; /* the (sole) member is a volatile expr */ - bool ec_below_outer_join; /* equivalence applies below an OJ */ bool ec_broken; /* failed to generate needed clauses? */ Index ec_sortref; /* originating sortclause label, or 0 */ Index ec_min_security; /* minimum security_level in ec_sources */ @@ -1004,11 +1399,11 @@ typedef struct EquivalenceClass } EquivalenceClass; /* - * If an EC contains a const and isn't below-outer-join, any PathKey depending - * on it must be redundant, since there's only one possible value of the key. + * If an EC contains a constant, any PathKey depending on it must be + * redundant, since there's only one possible value of the key. */ #define EC_MUST_BE_REDUNDANT(eclass) \ - ((eclass)->ec_has_const && !(eclass)->ec_below_outer_join) + ((eclass)->ec_has_const) /* * EquivalenceMember - one member expression of an EquivalenceClass @@ -1034,14 +1429,18 @@ typedef struct EquivalenceClass */ typedef struct EquivalenceMember { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; Expr *em_expr; /* the expression represented */ Relids em_relids; /* all relids appearing in em_expr */ - Relids em_nullable_relids; /* nullable by lower outer joins */ bool em_is_const; /* expression is pseudoconstant? */ bool em_is_child; /* derived version for a child relation? */ Oid em_datatype; /* the "nominal type" used by the opfamily */ + JoinDomain *em_jdomain; /* join domain containing the source clause */ + /* if em_is_child is true, this links to corresponding EM for top parent */ + struct EquivalenceMember *em_parent pg_node_attr(read_write_ignore); } EquivalenceMember; /* @@ -1063,14 +1462,34 @@ typedef struct EquivalenceMember */ typedef struct PathKey { + pg_node_attr(no_read, no_query_jumble) + NodeTag type; - EquivalenceClass *pk_eclass; /* the value that is ordered */ + /* the value that is ordered */ + EquivalenceClass *pk_eclass pg_node_attr(copy_as_scalar, equal_as_scalar); Oid pk_opfamily; /* btree opfamily defining the ordering */ int pk_strategy; /* sort direction (ASC or DESC) */ bool pk_nulls_first; /* do NULLs come before normal values? */ } PathKey; +/* + * Contains an order of group-by clauses and the corresponding list of + * pathkeys. + * + * The elements of 'clauses' list should have the same order as the head of + * 'pathkeys' list. The tleSortGroupRef of the clause should be equal to + * ec_sortref of the pathkey equivalence class. If there are redundant + * clauses with the same tleSortGroupRef, they must be grouped together. + */ +typedef struct GroupByOrdering +{ + NodeTag type; + + List *pathkeys; + List *clauses; +} GroupByOrdering; + /* * VolatileFunctionStatus -- allows nodes to cache their * contain_volatile_functions properties. VOLATILITY_UNKNOWN means not yet @@ -1080,7 +1499,7 @@ typedef enum VolatileFunctionStatus { VOLATILITY_UNKNOWN = 0, VOLATILITY_VOLATILE, - VOLATILITY_NOVOLATILE + VOLATILITY_NOVOLATILE, } VolatileFunctionStatus; /* @@ -1108,13 +1527,24 @@ typedef enum VolatileFunctionStatus */ typedef struct PathTarget { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - List *exprs; /* list of expressions to be computed */ - Index *sortgrouprefs; /* corresponding sort/group refnos, or 0 */ - QualCost cost; /* cost of evaluating the expressions */ - int width; /* estimated avg width of result tuples */ - VolatileFunctionStatus has_volatile_expr; /* indicates if exprs contain - * any volatile functions. */ + + /* list of expressions to be computed */ + List *exprs; + + /* corresponding sort/group refnos, or 0 */ + Index *sortgrouprefs pg_node_attr(array_size(exprs)); + + /* cost of evaluating the expressions */ + QualCost cost; + + /* estimated avg width of result tuples */ + int width; + + /* indicates if exprs contain any volatile functions */ + VolatileFunctionStatus has_volatile_expr; } PathTarget; /* Convenience macro to get a sort/group refno from a PathTarget */ @@ -1134,15 +1564,24 @@ typedef struct PathTarget * Note: ppi_clauses is only used in ParamPathInfos for base relation paths; * in join cases it's NIL because the set of relevant clauses varies depending * on how the join is formed. The relevant clauses will appear in each - * parameterized join path's joinrestrictinfo list, instead. + * parameterized join path's joinrestrictinfo list, instead. ParamPathInfos + * for append relations don't bother with this, either. + * + * ppi_serials is the set of rinfo_serial numbers for quals that are enforced + * by this path. As with ppi_clauses, it's only maintained for baserels. + * (We could construct it on-the-fly from ppi_clauses, but it seems better + * to materialize a copy.) */ typedef struct ParamPathInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; Relids ppi_req_outer; /* rels supplying parameters used by path */ Cardinality ppi_rows; /* estimated number of result tuples */ List *ppi_clauses; /* join clauses available from outer rels */ + Bitmapset *ppi_serials; /* set of rinfo_serial for enforced quals */ } ParamPathInfo; @@ -1174,29 +1613,58 @@ typedef struct ParamPathInfo * * "pathkeys" is a List of PathKey nodes (see above), describing the sort * ordering of the path's output rows. + * + * We do not support copying Path trees, mainly because the circular linkages + * between RelOptInfo and Path nodes can't be handled easily in a simple + * depth-first traversal. We also don't have read support at the moment. */ typedef struct Path { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - NodeTag pathtype; /* tag identifying scan/join method */ + /* tag identifying scan/join method */ + NodeTag pathtype; + + /* + * the relation this path can build + * + * We do NOT print the parent, else we'd be in infinite recursion. We can + * print the parent's relids for identification purposes, though. + */ + RelOptInfo *parent pg_node_attr(write_only_relids); - RelOptInfo *parent; /* the relation this path can build */ - PathTarget *pathtarget; /* list of Vars/Exprs, cost, width */ + /* + * list of Vars/Exprs, cost, width + * + * We print the pathtarget only if it's not the default one for the rel. + */ + PathTarget *pathtarget pg_node_attr(write_only_nondefault_pathtarget); - ParamPathInfo *param_info; /* parameterization info, or NULL if none */ + /* + * parameterization info, or NULL if none + * + * We do not print the whole of param_info, since it's printed via + * RelOptInfo; it's sufficient and less cluttering to print just the + * required outer relids. + */ + ParamPathInfo *param_info pg_node_attr(write_only_req_outer); - bool parallel_aware; /* engage parallel-aware logic? */ - bool parallel_safe; /* OK to use as part of parallel plan? */ - int parallel_workers; /* desired # of workers; 0 = not parallel */ + /* engage parallel-aware logic? */ + bool parallel_aware; + /* OK to use as part of parallel plan? */ + bool parallel_safe; + /* desired # of workers; 0 = not parallel */ + int parallel_workers; /* estimated size/costs for path (see costsize.c for more info) */ Cardinality rows; /* estimated number of result tuples */ Cost startup_cost; /* cost expended before fetching any tuples */ Cost total_cost; /* total cost (assuming all tuples fetched) */ - List *pathkeys; /* sort ordering of path's output */ - /* pathkeys is a List of PathKey nodes; see above */ + /* sort ordering of path's output; a List of PathKey nodes; see above */ + List *pathkeys; } Path; /* Macro for extracting a path's parameterization relids; beware double eval */ @@ -1228,12 +1696,9 @@ typedef struct Path * on which index column each ORDER BY can be used with.) * * 'indexscandir' is one of: - * ForwardScanDirection: forward scan of an ordered index + * ForwardScanDirection: forward scan of an index * BackwardScanDirection: backward scan of an ordered index - * NoMovementScanDirection: scan of an unordered index, or don't care - * (The executor doesn't care whether it gets ForwardScanDirection or - * NoMovementScanDirection for an indexscan, but the planner wants to - * distinguish ordered from unordered indexes for building pathkeys.) + * Unordered indexes will always have an indexscandir of ForwardScanDirection. * * 'indextotalcost' and 'indexselectivity' are saved in the IndexPath so that * we need not recompute them when considering using the same index in a @@ -1289,6 +1754,8 @@ typedef struct IndexPath */ typedef struct IndexClause { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; struct RestrictInfo *rinfo; /* original restriction or join clause */ List *indexquals; /* indexqual(s) derived from it */ @@ -1389,6 +1856,10 @@ typedef struct SubqueryScanPath * ForeignPath represents a potential scan of a foreign table, foreign join * or foreign upper-relation. * + * In the case of a foreign join, fdw_restrictinfo stores the RestrictInfos to + * apply to the join, which are used by createplan.c to get pseudoconstant + * clauses evaluated as one-time quals in a gating Result plan node. + * * fdw_private stores FDW private data about the scan. While fdw_private is * not actually touched by the core code during normal operations, it's * generally a good idea to use a representation that can be dumped by @@ -1399,19 +1870,27 @@ typedef struct ForeignPath { Path path; Path *fdw_outerpath; + List *fdw_restrictinfo; List *fdw_private; } ForeignPath; /* - * CustomPath represents a table scan done by some out-of-core extension. + * CustomPath represents a table scan or a table join done by some out-of-core + * extension. * * We provide a set of hooks here - which the provider must take care to set * up correctly - to allow extensions to supply their own methods of scanning - * a relation. For example, a provider might provide GPU acceleration, a - * cache-based scan, or some other kind of logic we haven't dreamed up yet. + * a relation or join relations. For example, a provider might provide GPU + * acceleration, a cache-based scan, or some other kind of logic we haven't + * dreamed up yet. * - * CustomPaths can be injected into the planning process for a relation by - * set_rel_pathlist_hook functions. + * CustomPaths can be injected into the planning process for a base or join + * relation by set_rel_pathlist_hook or set_join_pathlist_hook functions, + * respectively. + * + * In the case of a table join, custom_restrictinfo stores the RestrictInfos + * to apply to the join, which are used by createplan.c to get pseudoconstant + * clauses evaluated as one-time quals in a gating Result plan node. * * Core code must avoid assuming that the CustomPath is only as large as * the structure declared here; providers are allowed to make it the first @@ -1429,6 +1908,7 @@ typedef struct CustomPath uint32 flags; /* mask of CUSTOMPATH_* flags, see * nodes/extensible.h */ List *custom_paths; /* list of child Path nodes, if any */ + List *custom_restrictinfo; List *custom_private; const struct CustomPathMethods *methods; } CustomPath; @@ -1513,8 +1993,8 @@ typedef struct MemoizePath { Path path; Path *subpath; /* outerpath to cache tuples from */ - List *hash_operators; /* hash operators for each key */ - List *param_exprs; /* cache keys */ + List *hash_operators; /* OIDs of hash equality ops for cache keys */ + List *param_exprs; /* expressions that are cache keys */ bool singlerow; /* true if the cache entry is to be marked as * complete after caching the first record. */ bool binary_mode; /* true when cache key should be compared bit @@ -1541,7 +2021,7 @@ typedef enum UniquePathMethod { UNIQUE_PATH_NOOP, /* input is known unique already */ UNIQUE_PATH_HASH, /* use hashing */ - UNIQUE_PATH_SORT /* use sorting */ + UNIQUE_PATH_SORT, /* use sorting */ } UniquePathMethod; typedef struct UniquePath @@ -1584,6 +2064,8 @@ typedef struct GatherMergePath typedef struct JoinPath { + pg_node_attr(abstract) + Path path; JoinType jointype; @@ -1786,6 +2268,8 @@ typedef struct AggPath typedef struct GroupingSetData { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; List *set; /* grouping set as list of sortgrouprefs */ Cardinality numGroups; /* est. number of result groups */ @@ -1793,6 +2277,8 @@ typedef struct GroupingSetData typedef struct RollupData { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; List *groupClause; /* applicable subset of parse->groupClause */ List *gsets; /* lists of integer indexes into groupClause */ @@ -1835,6 +2321,7 @@ typedef struct WindowAggPath Path *subpath; /* path representing input source */ WindowClause *winclause; /* WindowClause we'll be using */ List *qual; /* lower-level WindowAgg runconditions */ + List *runCondition; /* OpExpr List to short-circuit execution */ bool topwindow; /* false for all apart from the WindowAgg * that's closest to the root of the plan */ } WindowAggPath; @@ -1892,7 +2379,7 @@ typedef struct ModifyTablePath CmdType operation; /* INSERT, UPDATE, DELETE, or MERGE */ bool canSetTag; /* do we set the command tag/es_processed? */ Index nominalRelation; /* Parent RT index for use of EXPLAIN */ - Index rootRelation; /* Root RT index, if target is partitioned */ + Index rootRelation; /* Root RT index, if partitioned/inherited */ bool partColsUpdated; /* some part key in hierarchy updated? */ List *resultRelations; /* integer list of RT indexes */ List *updateColnosLists; /* per-target-table update_colnos lists */ @@ -1903,6 +2390,8 @@ typedef struct ModifyTablePath int epqParam; /* ID of Param for EvalPlanQual re-eval */ List *mergeActionLists; /* per-target-table lists of actions for * MERGE */ + List *mergeJoinConditions; /* per-target-table join conditions + * for MERGE */ } ModifyTablePath; /* @@ -1930,17 +2419,17 @@ typedef struct LimitPath * If a restriction clause references a single base relation, it will appear * in the baserestrictinfo list of the RelOptInfo for that base rel. * - * If a restriction clause references more than one base rel, it will + * If a restriction clause references more than one base+OJ relation, it will * appear in the joininfo list of every RelOptInfo that describes a strict - * subset of the base rels mentioned in the clause. The joininfo lists are + * subset of the relations mentioned in the clause. The joininfo lists are * used to drive join tree building by selecting plausible join candidates. * The clause cannot actually be applied until we have built a join rel - * containing all the base rels it references, however. + * containing all the relations it references, however. * - * When we construct a join rel that includes all the base rels referenced + * When we construct a join rel that includes all the relations referenced * in a multi-relation restriction clause, we place that clause into the * joinrestrictinfo lists of paths for the join rel, if neither left nor - * right sub-path includes all base rels referenced in the clause. The clause + * right sub-path includes all relations referenced in the clause. The clause * will be applied at that join level, and will not propagate any further up * the join tree. (Note: the "predicate migration" code was once intended to * push restriction clauses up and down the plan tree based on evaluation @@ -1961,12 +2450,14 @@ typedef struct LimitPath * or join to enforce that all members of each EquivalenceClass are in fact * equal in all rows emitted by the scan or join. * - * When dealing with outer joins we have to be very careful about pushing qual - * clauses up and down the tree. An outer join's own JOIN/ON conditions must - * be evaluated exactly at that join node, unless they are "degenerate" - * conditions that reference only Vars from the nullable side of the join. - * Quals appearing in WHERE or in a JOIN above the outer join cannot be pushed - * down below the outer join, if they reference any nullable Vars. + * The clause_relids field lists the base plus outer-join RT indexes that + * actually appear in the clause. required_relids lists the minimum set of + * relids needed to evaluate the clause; while this is often equal to + * clause_relids, it can be more. We will add relids to required_relids when + * we need to force an outer join ON clause to be evaluated exactly at the + * level of the outer join, which is true except when it is a "degenerate" + * condition that references only Vars from the nullable side of the join. + * * RestrictInfo nodes contain a flag to indicate whether a qual has been * pushed down to a lower level than its original syntactic placement in the * join tree would suggest. If an outer join prevents us from pushing a qual @@ -1989,10 +2480,14 @@ typedef struct LimitPath * conditions. Possibly we should rename it to reflect that meaning? But * see also the comments for RINFO_IS_PUSHED_DOWN, below.) * - * RestrictInfo nodes also contain an outerjoin_delayed flag, which is true - * if the clause's applicability must be delayed due to any outer joins - * appearing below it (ie, it has to be postponed to some join level higher - * than the set of relations it actually references). + * There is also an incompatible_relids field, which is a set of outer-join + * relids above which we cannot evaluate the clause (because they might null + * Vars it uses that should not be nulled yet). In principle this could be + * filled in any RestrictInfo as the set of OJ relids that appear above the + * clause and null Vars that it uses. In practice we only bother to populate + * it for "clone" clauses, as it's currently only needed to prevent multiple + * clones of the same clause from being accepted for evaluation at the same + * join level. * * There is also an outer_relids field, which is NULL except for outer join * clauses; for those, it is the set of relids on the outer side of the @@ -2000,15 +2495,6 @@ typedef struct LimitPath * in parameterized scans, since pushing it into the join's outer side would * lead to wrong answers.) * - * There is also a nullable_relids field, which is the set of rels the clause - * references that can be forced null by some outer join below the clause. - * - * outerjoin_delayed = true is subtly different from nullable_relids != NULL: - * a clause might reference some nullable rels and yet not be - * outerjoin_delayed because it also references all the other rels of the - * outer join(s). A clause that is not outerjoin_delayed can be enforced - * anywhere it is computable. - * * To handle security-barrier conditions efficiently, we mark RestrictInfo * nodes with a security_level field, in which higher values identify clauses * coming from less-trusted sources. The exact semantics are that a clause @@ -2051,89 +2537,177 @@ typedef struct LimitPath * or merge or hash join clause, so it's of no interest to large parts of * the planner. * + * When we generate multiple versions of a clause so as to have versions + * that will work after commuting some left joins per outer join identity 3, + * we mark the one with the fewest nullingrels bits with has_clone = true, + * and the rest with is_clone = true. This allows proper filtering of + * these redundant clauses, so that we apply only one version of them. + * * When join clauses are generated from EquivalenceClasses, there may be * several equally valid ways to enforce join equivalence, of which we need * apply only one. We mark clauses of this kind by setting parent_ec to * point to the generating EquivalenceClass. Multiple clauses with the same * parent_ec in the same join are redundant. + * + * Most fields are ignored for equality, since they may not be set yet, and + * should be derivable from the clause anyway. + * + * parent_ec, left_ec, right_ec are not printed, lest it lead to infinite + * recursion in plan tree dump. */ typedef struct RestrictInfo { + pg_node_attr(no_read, no_query_jumble) + NodeTag type; - Expr *clause; /* the represented clause of WHERE or JOIN */ + /* the represented clause of WHERE or JOIN */ + Expr *clause; - bool is_pushed_down; /* true if clause was pushed down in level */ + /* true if clause was pushed down in level */ + bool is_pushed_down; - bool outerjoin_delayed; /* true if delayed by lower outer join */ + /* see comment above */ + bool can_join pg_node_attr(equal_ignore); - bool can_join; /* see comment above */ + /* see comment above */ + bool pseudoconstant pg_node_attr(equal_ignore); - bool pseudoconstant; /* see comment above */ + /* see comment above */ + bool has_clone; + bool is_clone; - bool leakproof; /* true if known to contain no leaked Vars */ + /* true if known to contain no leaked Vars */ + bool leakproof pg_node_attr(equal_ignore); - VolatileFunctionStatus has_volatile; /* to indicate if clause contains - * any volatile functions. */ + /* indicates if clause contains any volatile functions */ + VolatileFunctionStatus has_volatile pg_node_attr(equal_ignore); - Index security_level; /* see comment above */ + /* see comment above */ + Index security_level; - /* The set of relids (varnos) actually referenced in the clause: */ - Relids clause_relids; + /* number of base rels in clause_relids */ + int num_base_rels pg_node_attr(equal_ignore); + + /* The relids (varnos+varnullingrels) actually referenced in the clause: */ + Relids clause_relids pg_node_attr(equal_ignore); /* The set of relids required to evaluate the clause: */ Relids required_relids; + /* Relids above which we cannot evaluate the clause (see comment above) */ + Relids incompatible_relids; + /* If an outer-join clause, the outer-side relations, else NULL: */ Relids outer_relids; - /* The relids used in the clause that are nullable by lower outer joins: */ - Relids nullable_relids; + /* + * Relids in the left/right side of the clause. These fields are set for + * any binary opclause. + */ + Relids left_relids pg_node_attr(equal_ignore); + Relids right_relids pg_node_attr(equal_ignore); - /* These fields are set for any binary opclause: */ - Relids left_relids; /* relids in left side of clause */ - Relids right_relids; /* relids in right side of clause */ + /* + * Modified clause with RestrictInfos. This field is NULL unless clause + * is an OR clause. + */ + Expr *orclause pg_node_attr(equal_ignore); + + /*---------- + * Serial number of this RestrictInfo. This is unique within the current + * PlannerInfo context, with a few critical exceptions: + * 1. When we generate multiple clones of the same qual condition to + * cope with outer join identity 3, all the clones get the same serial + * number. This reflects that we only want to apply one of them in any + * given plan. + * 2. If we manufacture a commuted version of a qual to use as an index + * condition, it copies the original's rinfo_serial, since it is in + * practice the same condition. + * 3. If we reduce a qual to constant-FALSE, the new constant-FALSE qual + * copies the original's rinfo_serial, since it is in practice the same + * condition. + * 4. RestrictInfos made for a child relation copy their parent's + * rinfo_serial. Likewise, when an EquivalenceClass makes a derived + * equality clause for a child relation, it copies the rinfo_serial of + * the matching equality clause for the parent. This allows detection + * of redundant pushed-down equality clauses. + *---------- + */ + int rinfo_serial; - /* This field is NULL unless clause is an OR clause: */ - Expr *orclause; /* modified clause with RestrictInfos */ + /* + * Generating EquivalenceClass. This field is NULL unless clause is + * potentially redundant. + */ + EquivalenceClass *parent_ec pg_node_attr(copy_as_scalar, equal_ignore, read_write_ignore); - /* This field is NULL unless clause is potentially redundant: */ - EquivalenceClass *parent_ec; /* generating EquivalenceClass */ + /* + * cache space for cost and selectivity + */ - /* cache space for cost and selectivity */ - QualCost eval_cost; /* eval cost of clause; -1 if not yet set */ - Selectivity norm_selec; /* selectivity for "normal" (JOIN_INNER) - * semantics; -1 if not yet set; >1 means a - * redundant clause */ - Selectivity outer_selec; /* selectivity for outer join semantics; -1 if - * not yet set */ + /* eval cost of clause; -1 if not yet set */ + QualCost eval_cost pg_node_attr(equal_ignore); - /* valid if clause is mergejoinable, else NIL */ - List *mergeopfamilies; /* opfamilies containing clause operator */ + /* selectivity for "normal" (JOIN_INNER) semantics; -1 if not yet set */ + Selectivity norm_selec pg_node_attr(equal_ignore); + /* selectivity for outer join semantics; -1 if not yet set */ + Selectivity outer_selec pg_node_attr(equal_ignore); - /* cache space for mergeclause processing; NULL if not yet set */ - EquivalenceClass *left_ec; /* EquivalenceClass containing lefthand */ - EquivalenceClass *right_ec; /* EquivalenceClass containing righthand */ - EquivalenceMember *left_em; /* EquivalenceMember for lefthand */ - EquivalenceMember *right_em; /* EquivalenceMember for righthand */ - List *scansel_cache; /* list of MergeScanSelCache structs */ + /* + * opfamilies containing clause operator; valid if clause is + * mergejoinable, else NIL + */ + List *mergeopfamilies pg_node_attr(equal_ignore); - /* transient workspace for use while considering a specific join path */ - bool outer_is_left; /* T = outer var on left, F = on right */ + /* + * cache space for mergeclause processing; NULL if not yet set + */ - /* valid if clause is hashjoinable, else InvalidOid: */ - Oid hashjoinoperator; /* copy of clause operator */ + /* EquivalenceClass containing lefthand */ + EquivalenceClass *left_ec pg_node_attr(copy_as_scalar, equal_ignore, read_write_ignore); + /* EquivalenceClass containing righthand */ + EquivalenceClass *right_ec pg_node_attr(copy_as_scalar, equal_ignore, read_write_ignore); + /* EquivalenceMember for lefthand */ + EquivalenceMember *left_em pg_node_attr(copy_as_scalar, equal_ignore); + /* EquivalenceMember for righthand */ + EquivalenceMember *right_em pg_node_attr(copy_as_scalar, equal_ignore); - /* cache space for hashclause processing; -1 if not yet set */ - Selectivity left_bucketsize; /* avg bucketsize of left side */ - Selectivity right_bucketsize; /* avg bucketsize of right side */ - Selectivity left_mcvfreq; /* left side's most common val's freq */ - Selectivity right_mcvfreq; /* right side's most common val's freq */ + /* + * List of MergeScanSelCache structs. Those aren't Nodes, so hard to + * copy; instead replace with NIL. That has the effect that copying will + * just reset the cache. Likewise, can't compare or print them. + */ + List *scansel_cache pg_node_attr(copy_as(NIL), equal_ignore, read_write_ignore); + + /* + * transient workspace for use while considering a specific join path; T = + * outer var on left, F = on right + */ + bool outer_is_left pg_node_attr(equal_ignore); + + /* + * copy of clause operator; valid if clause is hashjoinable, else + * InvalidOid + */ + Oid hashjoinoperator pg_node_attr(equal_ignore); + + /* + * cache space for hashclause processing; -1 if not yet set + */ + /* avg bucketsize of left side */ + Selectivity left_bucketsize pg_node_attr(equal_ignore); + /* avg bucketsize of right side */ + Selectivity right_bucketsize pg_node_attr(equal_ignore); + /* left side's most common val's freq */ + Selectivity left_mcvfreq pg_node_attr(equal_ignore); + /* right side's most common val's freq */ + Selectivity right_mcvfreq pg_node_attr(equal_ignore); /* hash equality operators used for memoize nodes, else InvalidOid */ - Oid left_hasheqoperator; - Oid right_hasheqoperator; + Oid left_hasheqoperator pg_node_attr(equal_ignore); + Oid right_hasheqoperator pg_node_attr(equal_ignore); } RestrictInfo; /* @@ -2176,22 +2750,53 @@ typedef struct MergeScanSelCache * of a plan tree. This is used during planning to represent the contained * expression. At the end of the planning process it is replaced by either * the contained expression or a Var referring to a lower-level evaluation of - * the contained expression. Typically the evaluation occurs below an outer + * the contained expression. Generally the evaluation occurs below an outer * join, and Var references above the outer join might thereby yield NULL * instead of the expression value. * + * phrels and phlevelsup correspond to the varno/varlevelsup fields of a + * plain Var, except that phrels has to be a relid set since the evaluation + * level of a PlaceHolderVar might be a join rather than a base relation. + * Likewise, phnullingrels corresponds to varnullingrels. + * * Although the planner treats this as an expression node type, it is not * recognized by the parser or executor, so we declare it here rather than * in primnodes.h. + * + * We intentionally do not compare phexpr. Two PlaceHolderVars with the + * same ID and levelsup should be considered equal even if the contained + * expressions have managed to mutate to different states. This will + * happen during final plan construction when there are nested PHVs, since + * the inner PHV will get replaced by a Param in some copies of the outer + * PHV. Another way in which it can happen is that initplan sublinks + * could get replaced by differently-numbered Params when sublink folding + * is done. (The end result of such a situation would be some + * unreferenced initplans, which is annoying but not really a problem.) + * On the same reasoning, there is no need to examine phrels. But we do + * need to compare phnullingrels, as that represents effects that are + * external to the original value of the PHV. */ typedef struct PlaceHolderVar { + pg_node_attr(no_query_jumble) + Expr xpr; - Expr *phexpr; /* the represented expression */ - Relids phrels; /* base relids syntactically within expr src */ - Index phid; /* ID for PHV (unique within planner run) */ - Index phlevelsup; /* > 0 if PHV belongs to outer query */ + + /* the represented expression */ + Expr *phexpr pg_node_attr(equal_ignore); + + /* base+OJ relids syntactically within expr src */ + Relids phrels pg_node_attr(equal_ignore); + + /* RT indexes of outer joins that can null PHV's value */ + Relids phnullingrels; + + /* ID for PHV (unique within planner run) */ + Index phid; + + /* > 0 if PHV belongs to outer query */ + Index phlevelsup; } PlaceHolderVar; /* @@ -2210,25 +2815,53 @@ typedef struct PlaceHolderVar * We make SpecialJoinInfos for FULL JOINs even though there is no flexibility * of planning for them, because this simplifies make_join_rel()'s API. * - * min_lefthand and min_righthand are the sets of base relids that must be - * available on each side when performing the special join. lhs_strict is - * true if the special join's condition cannot succeed when the LHS variables - * are all NULL (this means that an outer join can commute with upper-level - * outer joins even if it appears in their RHS). We don't bother to set - * lhs_strict for FULL JOINs, however. - * + * min_lefthand and min_righthand are the sets of base+OJ relids that must be + * available on each side when performing the special join. * It is not valid for either min_lefthand or min_righthand to be empty sets; * if they were, this would break the logic that enforces join order. * - * syn_lefthand and syn_righthand are the sets of base relids that are + * syn_lefthand and syn_righthand are the sets of base+OJ relids that are * syntactically below this special join. (These are needed to help compute * min_lefthand and min_righthand for higher joins.) * - * delay_upper_joins is set true if we detect a pushed-down clause that has - * to be evaluated after this join is formed (because it references the RHS). - * Any outer joins that have such a clause and this join in their RHS cannot - * commute with this join, because that would leave noplace to check the - * pushed-down clause. (We don't track this for FULL JOINs, either.) + * jointype is never JOIN_RIGHT; a RIGHT JOIN is handled by switching + * the inputs to make it a LEFT JOIN. It's never JOIN_RIGHT_ANTI either. + * So the allowed values of jointype in a join_info_list member are only + * LEFT, FULL, SEMI, or ANTI. + * + * ojrelid is the RT index of the join RTE representing this outer join, + * if there is one. It is zero when jointype is INNER or SEMI, and can be + * zero for jointype ANTI (if the join was transformed from a SEMI join). + * One use for this field is that when constructing the output targetlist of a + * join relation that implements this OJ, we add ojrelid to the varnullingrels + * and phnullingrels fields of nullable (RHS) output columns, so that the + * output Vars and PlaceHolderVars correctly reflect the nulling that has + * potentially happened to them. + * + * commute_above_l is filled with the relids of syntactically-higher outer + * joins that have been found to commute with this one per outer join identity + * 3 (see optimizer/README), when this join is in the LHS of the upper join + * (so, this is the lower join in the first form of the identity). + * + * commute_above_r is filled with the relids of syntactically-higher outer + * joins that have been found to commute with this one per outer join identity + * 3, when this join is in the RHS of the upper join (so, this is the lower + * join in the second form of the identity). + * + * commute_below_l is filled with the relids of syntactically-lower outer + * joins that have been found to commute with this one per outer join identity + * 3 and are in the LHS of this join (so, this is the upper join in the first + * form of the identity). + * + * commute_below_r is filled with the relids of syntactically-lower outer + * joins that have been found to commute with this one per outer join identity + * 3 and are in the RHS of this join (so, this is the upper join in the second + * form of the identity). + * + * lhs_strict is true if the special join's condition cannot succeed when the + * LHS variables are all NULL (this means that an outer join can commute with + * upper-level outer joins even if it appears in their RHS). We don't bother + * to set lhs_strict for FULL JOINs, however. * * For a semijoin, we also extract the join operators and their RHS arguments * and set semi_operators, semi_rhs_exprs, semi_can_btree, and semi_can_hash. @@ -2238,18 +2871,17 @@ typedef struct PlaceHolderVar * join planning; but it's helpful to have it available during planning of * parameterized table scans, so we store it in the SpecialJoinInfo structs.) * - * jointype is never JOIN_RIGHT; a RIGHT JOIN is handled by switching - * the inputs to make it a LEFT JOIN. So the allowed values of jointype - * in a join_info_list member are only LEFT, FULL, SEMI, or ANTI. - * * For purposes of join selectivity estimation, we create transient * SpecialJoinInfo structures for regular inner joins; so it is possible * to have jointype == JOIN_INNER in such a structure, even though this is * not allowed within join_info_list. We also create transient * SpecialJoinInfos with jointype == JOIN_INNER for outer joins, since for * cost estimation purposes it is sometimes useful to know the join size under - * plain innerjoin semantics. Note that lhs_strict, delay_upper_joins, and - * of course the semi_xxx fields are not set meaningfully within such structs. + * plain innerjoin semantics. Note that lhs_strict and the semi_xxx fields + * are not set meaningfully within such structs. + * + * We also create transient SpecialJoinInfos for child joins during + * partitionwise join planning, which are also not present in join_info_list. */ #ifndef HAVE_SPECIALJOININFO_TYPEDEF typedef struct SpecialJoinInfo SpecialJoinInfo; @@ -2258,14 +2890,20 @@ typedef struct SpecialJoinInfo SpecialJoinInfo; struct SpecialJoinInfo { + pg_node_attr(no_read, no_query_jumble) + NodeTag type; - Relids min_lefthand; /* base relids in minimum LHS for join */ - Relids min_righthand; /* base relids in minimum RHS for join */ - Relids syn_lefthand; /* base relids syntactically within LHS */ - Relids syn_righthand; /* base relids syntactically within RHS */ + Relids min_lefthand; /* base+OJ relids in minimum LHS for join */ + Relids min_righthand; /* base+OJ relids in minimum RHS for join */ + Relids syn_lefthand; /* base+OJ relids syntactically within LHS */ + Relids syn_righthand; /* base+OJ relids syntactically within RHS */ JoinType jointype; /* always INNER, LEFT, FULL, SEMI, or ANTI */ + Index ojrelid; /* outer join's RT index; 0 if none */ + Relids commute_above_l; /* commuting OJs above this one, if LHS */ + Relids commute_above_r; /* commuting OJs above this one, if RHS */ + Relids commute_below_l; /* commuting OJs in this one's LHS */ + Relids commute_below_r; /* commuting OJs in this one's RHS */ bool lhs_strict; /* joinclause is strict for some LHS rel */ - bool delay_upper_joins; /* can't commute with upper RHS */ /* Remaining fields are set only for JOIN_SEMI jointype: */ bool semi_can_btree; /* true if semi_operators are all btree */ bool semi_can_hash; /* true if semi_operators are all hash */ @@ -2273,6 +2911,21 @@ struct SpecialJoinInfo List *semi_rhs_exprs; /* righthand-side expressions of these ops */ }; +/* + * Transient outer-join clause info. + * + * We set aside every outer join ON clause that looks mergejoinable, + * and process it specially at the end of qual distribution. + */ +typedef struct OuterJoinClauseInfo +{ + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + + NodeTag type; + RestrictInfo *rinfo; /* a mergejoinable outer-join clause */ + SpecialJoinInfo *sjinfo; /* the outer join's SpecialJoinInfo */ +} OuterJoinClauseInfo; + /* * Append-relation info. * @@ -2305,6 +2958,8 @@ struct SpecialJoinInfo typedef struct AppendRelInfo { + pg_node_attr(no_query_jumble) + NodeTag type; /* @@ -2350,7 +3005,7 @@ typedef struct AppendRelInfo * child column is dropped or doesn't exist in the parent. */ int num_child_cols; /* length of array */ - AttrNumber *parent_colnos; /* array of parent attnos, or zeroes */ + AttrNumber *parent_colnos pg_node_attr(array_size(num_child_cols)); /* * We store the parent table's OID here for inheritance, or InvalidOid for @@ -2380,6 +3035,8 @@ typedef struct AppendRelInfo */ typedef struct RowIdentityVarInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; Var *rowidvar; /* Var to be evaluated (but varno=ROWID_VAR) */ @@ -2416,14 +3073,30 @@ typedef struct RowIdentityVarInfo typedef struct PlaceHolderInfo { + pg_node_attr(no_read, no_query_jumble) + NodeTag type; - Index phid; /* ID for PH (unique within planner run) */ - PlaceHolderVar *ph_var; /* copy of PlaceHolderVar tree */ - Relids ph_eval_at; /* lowest level we can evaluate value at */ - Relids ph_lateral; /* relids of contained lateral refs, if any */ - Relids ph_needed; /* highest level the value is needed at */ - int32 ph_width; /* estimated attribute width */ + /* ID for PH (unique within planner run) */ + Index phid; + + /* + * copy of PlaceHolderVar tree (should be redundant for comparison, could + * be ignored) + */ + PlaceHolderVar *ph_var; + + /* lowest level we can evaluate value at */ + Relids ph_eval_at; + + /* relids of contained lateral refs, if any */ + Relids ph_lateral; + + /* highest level the value is needed at */ + Relids ph_needed; + + /* estimated attribute width */ + int32 ph_width; } PlaceHolderInfo; /* @@ -2433,15 +3106,33 @@ typedef struct PlaceHolderInfo */ typedef struct MinMaxAggInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; - Oid aggfnoid; /* pg_proc Oid of the aggregate */ - Oid aggsortop; /* Oid of its sort operator */ - Expr *target; /* expression we are aggregating on */ - PlannerInfo *subroot; /* modified "root" for planning the subquery */ - Path *path; /* access path for subquery */ - Cost pathcost; /* estimated cost to fetch first row */ - Param *param; /* param for subplan's output */ + /* pg_proc Oid of the aggregate */ + Oid aggfnoid; + + /* Oid of its sort operator */ + Oid aggsortop; + + /* expression we are aggregating on */ + Expr *target; + + /* + * modified "root" for planning the subquery; not printed, too large, not + * interesting enough + */ + PlannerInfo *subroot pg_node_attr(read_write_ignore); + + /* access path for subquery */ + Path *path; + + /* estimated cost to fetch first row */ + Cost pathcost; + + /* param for subplan's output */ + Param *param; } MinMaxAggInfo; /* @@ -2493,6 +3184,8 @@ typedef struct MinMaxAggInfo */ typedef struct PlannerParamItem { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + NodeTag type; Node *item; /* the Var, PlaceHolderVar, or Aggref */ @@ -2578,7 +3271,7 @@ typedef enum { PARTITIONWISE_AGGREGATE_NONE, PARTITIONWISE_AGGREGATE_FULL, - PARTITIONWISE_AGGREGATE_PARTIAL + PARTITIONWISE_AGGREGATE_PARTIAL, } PartitionwiseAggregateType; /* @@ -2671,14 +3364,19 @@ typedef struct JoinCostWorkspace */ typedef struct AggInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + + NodeTag type; + /* - * Link to an Aggref expr this state value is for. + * List of Aggref exprs that this state value is for. * - * There can be multiple identical Aggref's sharing the same per-agg. This - * points to the first one of them. + * There will always be at least one, but there can be multiple identical + * Aggref's sharing the same per-agg. */ - Aggref *representative_aggref; + List *aggrefs; + /* Transition state number for this aggregate */ int transno; /* @@ -2687,9 +3385,8 @@ typedef struct AggInfo */ bool shareable; - /* Oid of the final function or InvalidOid */ + /* Oid of the final function, or InvalidOid if none */ Oid finalfn_oid; - } AggInfo; /* @@ -2701,34 +3398,40 @@ typedef struct AggInfo */ typedef struct AggTransInfo { + pg_node_attr(no_copy_equal, no_read, no_query_jumble) + + NodeTag type; + + /* Inputs for this transition state */ List *args; Expr *aggfilter; /* Oid of the state transition function */ Oid transfn_oid; - /* Oid of the serialization function or InvalidOid */ + /* Oid of the serialization function, or InvalidOid if none */ Oid serialfn_oid; - /* Oid of the deserialization function or InvalidOid */ + /* Oid of the deserialization function, or InvalidOid if none */ Oid deserialfn_oid; - /* Oid of the combine function or InvalidOid */ + /* Oid of the combine function, or InvalidOid if none */ Oid combinefn_oid; /* Oid of state value's datatype */ Oid aggtranstype; + + /* Additional data about transtype */ int32 aggtranstypmod; int transtypeLen; bool transtypeByVal; + + /* Space-consumption estimate */ int32 aggtransspace; - /* - * initial value from pg_aggregate entry - */ - Datum initValue; + /* Initial value from pg_aggregate entry */ + Datum initValue pg_node_attr(read_write_ignore); bool initValueIsNull; - } AggTransInfo; #endif /* PATHNODES_H */ diff --git a/parser/include/nodes/pg_list.h b/parser/include/postgres/nodes/pg_list.h similarity index 82% rename from parser/include/nodes/pg_list.h rename to parser/include/postgres/nodes/pg_list.h index 5a43290a..d131350e 100644 --- a/parser/include/nodes/pg_list.h +++ b/parser/include/postgres/nodes/pg_list.h @@ -15,19 +15,21 @@ * Non-empty lists have a header, which will not be relocated as long as the * list remains non-empty, and an expansible data array. * - * We support three types of lists: + * We support four types of lists: * * T_List: lists of pointers * (in practice usually pointers to Nodes, but not always; * declared as "void *" to minimize casting annoyances) * T_IntList: lists of integers * T_OidList: lists of Oids + * T_XidList: lists of TransactionIds + * (the XidList infrastructure is less complete than the other cases) * - * (At the moment, ints and Oids are the same size, but they may not - * always be so; try to be careful to maintain the distinction.) + * (At the moment, ints, Oids, and XIDs are the same size, but they may not + * always be so; be careful to use the appropriate list type for your data.) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/pg_list.h @@ -45,11 +47,12 @@ typedef union ListCell void *ptr_value; int int_value; Oid oid_value; + TransactionId xid_value; } ListCell; typedef struct List { - NodeTag type; /* T_List, T_IntList, or T_OidList */ + NodeTag type; /* T_List, T_IntList, T_OidList, or T_XidList */ int length; /* number of elements currently present */ int max_length; /* allocated length of elements[] */ ListCell *elements; /* re-allocatable array of cells */ @@ -169,6 +172,7 @@ list_length(const List *l) #define lfirst(lc) ((lc)->ptr_value) #define lfirst_int(lc) ((lc)->int_value) #define lfirst_oid(lc) ((lc)->oid_value) +#define lfirst_xid(lc) ((lc)->xid_value) #define lfirst_node(type,lc) castNode(type, lfirst(lc)) #define linitial(l) lfirst(list_nth_cell(l, 0)) @@ -194,6 +198,7 @@ list_length(const List *l) #define llast(l) lfirst(list_last_cell(l)) #define llast_int(l) lfirst_int(list_last_cell(l)) #define llast_oid(l) lfirst_oid(list_last_cell(l)) +#define llast_xid(l) lfirst_xid(list_last_cell(l)) #define llast_node(type,l) castNode(type, llast(l)) /* @@ -202,6 +207,7 @@ list_length(const List *l) #define list_make_ptr_cell(v) ((ListCell) {.ptr_value = (v)}) #define list_make_int_cell(v) ((ListCell) {.int_value = (v)}) #define list_make_oid_cell(v) ((ListCell) {.oid_value = (v)}) +#define list_make_xid_cell(v) ((ListCell) {.xid_value = (v)}) #define list_make1(x1) \ list_make1_impl(T_List, list_make_ptr_cell(x1)) @@ -248,6 +254,21 @@ list_length(const List *l) list_make_oid_cell(x3), list_make_oid_cell(x4), \ list_make_oid_cell(x5)) +#define list_make1_xid(x1) \ + list_make1_impl(T_XidList, list_make_xid_cell(x1)) +#define list_make2_xid(x1,x2) \ + list_make2_impl(T_XidList, list_make_xid_cell(x1), list_make_xid_cell(x2)) +#define list_make3_xid(x1,x2,x3) \ + list_make3_impl(T_XidList, list_make_xid_cell(x1), list_make_xid_cell(x2), \ + list_make_xid_cell(x3)) +#define list_make4_xid(x1,x2,x3,x4) \ + list_make4_impl(T_XidList, list_make_xid_cell(x1), list_make_xid_cell(x2), \ + list_make_xid_cell(x3), list_make_xid_cell(x4)) +#define list_make5_xid(x1,x2,x3,x4,x5) \ + list_make5_impl(T_XidList, list_make_xid_cell(x1), list_make_xid_cell(x2), \ + list_make_xid_cell(x3), list_make_xid_cell(x4), \ + list_make_xid_cell(x5)) + /* * Locate the n'th cell (counting from 0) of the list. * It is an assertion failure if there is no such cell. @@ -360,26 +381,26 @@ lnext(const List *l, const ListCell *c) /* * foreach_delete_current - * delete the current list element from the List associated with a - * surrounding foreach() loop, returning the new List pointer. + * surrounding foreach() or foreach_*() loop, returning the new List + * pointer; pass the name of the iterator variable. * - * This is equivalent to list_delete_cell(), but it also adjusts the foreach - * loop's state so that no list elements will be missed. Do not delete - * elements from an active foreach loop's list in any other way! + * This is similar to list_delete_cell(), but it also adjusts the loop's state + * so that no list elements will be missed. Do not delete elements from an + * active foreach or foreach_* loop's list in any other way! */ -#define foreach_delete_current(lst, cell) \ - (cell##__state.i--, \ - (List *) (cell##__state.l = list_delete_cell(lst, cell))) +#define foreach_delete_current(lst, var_or_cell) \ + ((List *) (var_or_cell##__state.l = list_delete_nth_cell(lst, var_or_cell##__state.i--))) /* * foreach_current_index - - * get the zero-based list index of a surrounding foreach() loop's - * current element; pass the name of the "ListCell *" iterator variable. + * get the zero-based list index of a surrounding foreach() or foreach_*() + * loop's current element; pass the name of the iterator variable. * * Beware of using this after foreach_delete_current(); the value will be * out of sync for the rest of the current loop iteration. Anyway, since * you just deleted the current element, the value is pretty meaningless. */ -#define foreach_current_index(cell) (cell##__state.i) +#define foreach_current_index(var_or_cell) (var_or_cell##__state.i) /* * for_each_from - @@ -431,6 +452,57 @@ for_each_cell_setup(const List *lst, const ListCell *initcell) return r; } +/* + * Convenience macros that loop through a list without needing a separate + * "ListCell *" variable. Instead, the macros declare a locally-scoped loop + * variable with the provided name and the appropriate type. + * + * Since the variable is scoped to the loop, it's not possible to detect an + * early break by checking its value after the loop completes, as is common + * practice. If you need to do this, you can either use foreach() instead or + * manually track early breaks with a separate variable declared outside of the + * loop. + * + * Note that the caveats described in the comment above the foreach() macro + * also apply to these convenience macros. + */ +#define foreach_ptr(type, var, lst) foreach_internal(type, *, var, lst, lfirst) +#define foreach_int(var, lst) foreach_internal(int, , var, lst, lfirst_int) +#define foreach_oid(var, lst) foreach_internal(Oid, , var, lst, lfirst_oid) +#define foreach_xid(var, lst) foreach_internal(TransactionId, , var, lst, lfirst_xid) + +/* + * The internal implementation of the above macros. Do not use directly. + * + * This macro actually generates two loops in order to declare two variables of + * different types. The outer loop only iterates once, so we expect optimizing + * compilers will unroll it, thereby optimizing it away. + */ +#define foreach_internal(type, pointer, var, lst, func) \ + for (type pointer var = 0, pointer var##__outerloop = (type pointer) 1; \ + var##__outerloop; \ + var##__outerloop = 0) \ + for (ForEachState var##__state = {(lst), 0}; \ + (var##__state.l != NIL && \ + var##__state.i < var##__state.l->length && \ + (var = (type pointer) func(&var##__state.l->elements[var##__state.i]), true)); \ + var##__state.i++) + +/* + * foreach_node - + * The same as foreach_ptr, but asserts that the element is of the specified + * node type. + */ +#define foreach_node(type, var, lst) \ + for (type * var = 0, *var##__outerloop = (type *) 1; \ + var##__outerloop; \ + var##__outerloop = 0) \ + for (ForEachState var##__state = {(lst), 0}; \ + (var##__state.l != NIL && \ + var##__state.i < var##__state.l->length && \ + (var = lfirst_node(type, &var##__state.l->elements[var##__state.i]), true)); \ + var##__state.i++) + /* * forboth - * a convenience macro for advancing through two linked lists @@ -539,6 +611,7 @@ extern List *list_make5_impl(NodeTag t, ListCell datum1, ListCell datum2, extern pg_nodiscard List *lappend(List *list, void *datum); extern pg_nodiscard List *lappend_int(List *list, int datum); extern pg_nodiscard List *lappend_oid(List *list, Oid datum); +extern pg_nodiscard List *lappend_xid(List *list, TransactionId datum); extern pg_nodiscard List *list_insert_nth(List *list, int pos, void *datum); extern pg_nodiscard List *list_insert_nth_int(List *list, int pos, int datum); @@ -557,6 +630,7 @@ extern bool list_member(const List *list, const void *datum); extern bool list_member_ptr(const List *list, const void *datum); extern bool list_member_int(const List *list, int datum); extern bool list_member_oid(const List *list, Oid datum); +extern bool list_member_xid(const List *list, TransactionId datum); extern pg_nodiscard List *list_delete(List *list, void *datum); extern pg_nodiscard List *list_delete_ptr(List *list, void *datum); @@ -598,9 +672,9 @@ extern void list_deduplicate_oid(List *list); extern void list_free(List *list); extern void list_free_deep(List *list); -extern pg_nodiscard List *list_copy(const List *list); +extern pg_nodiscard List *list_copy(const List *oldlist); extern pg_nodiscard List *list_copy_head(const List *oldlist, int len); -extern pg_nodiscard List *list_copy_tail(const List *list, int nskip); +extern pg_nodiscard List *list_copy_tail(const List *oldlist, int nskip); extern pg_nodiscard List *list_copy_deep(const List *oldlist); typedef int (*list_sort_comparator) (const ListCell *a, const ListCell *b); diff --git a/parser/include/nodes/plannodes.h b/parser/include/postgres/nodes/plannodes.h similarity index 80% rename from parser/include/nodes/plannodes.h rename to parser/include/postgres/nodes/plannodes.h index 493a2a9e..1aeeaec9 100644 --- a/parser/include/nodes/plannodes.h +++ b/parser/include/postgres/nodes/plannodes.h @@ -4,7 +4,7 @@ * definitions for query plan nodes * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/plannodes.h @@ -16,10 +16,10 @@ #include "access/sdir.h" #include "access/stratnum.h" +#include "common/relpath.h" #include "lib/stringinfo.h" #include "nodes/bitmapset.h" #include "nodes/lockoptions.h" -#include "nodes/parsenodes.h" #include "nodes/primnodes.h" @@ -38,19 +38,24 @@ * nodes; in such cases, commandType == CMD_UTILITY, the statement itself * is in the utilityStmt field, and the rest of the struct is mostly dummy. * (We do use canSetTag, stmt_location, stmt_len, and possibly queryId.) + * + * PlannedStmt, as well as all varieties of Plan, do not support equal(), + * not because it's not sensible but because we currently have no need. * ---------------- */ typedef struct PlannedStmt { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; CmdType commandType; /* select|insert|update|delete|merge|utility */ uint64 queryId; /* query identifier (copied from Query) */ - bool hasReturning; /* is it insert|update|delete RETURNING? */ + bool hasReturning; /* is it insert|update|delete|merge RETURNING? */ - bool hasModifyingCTE; /* has insert|update|delete in WITH? */ + bool hasModifyingCTE; /* has insert|update|delete|merge in WITH? */ bool canSetTag; /* do I set the command result tag? */ @@ -66,6 +71,9 @@ typedef struct PlannedStmt List *rtable; /* list of RangeTblEntry nodes */ + List *permInfos; /* list of RTEPermissionInfo nodes for rtable + * entries needing one */ + /* rtable indexes of target relations for INSERT/UPDATE/DELETE/MERGE */ List *resultRelations; /* integer list of RT indexes, or NIL */ @@ -87,8 +95,8 @@ typedef struct PlannedStmt Node *utilityStmt; /* non-null if this is utility stmt */ /* statement location in source string (copied from Query) */ - int stmt_location; /* start location, or -1 if unknown */ - int stmt_len; /* length in bytes; 0 means "rest of string" */ + ParseLoc stmt_location; /* start location, or -1 if unknown */ + ParseLoc stmt_len; /* length in bytes; 0 means "rest of string" */ } PlannedStmt; /* macro for fetching the Plan associated with a SubPlan node */ @@ -110,6 +118,8 @@ typedef struct PlannedStmt */ typedef struct Plan { + pg_node_attr(abstract, no_equal, no_query_jumble) + NodeTag type; /* @@ -205,11 +215,12 @@ typedef struct ProjectSet * Apply rows produced by outer plan to result table(s), * by inserting, updating, or deleting. * - * If the originally named target table is a partitioned table, both - * nominalRelation and rootRelation contain the RT index of the partition - * root, which is not otherwise mentioned in the plan. Otherwise rootRelation - * is zero. However, nominalRelation will always be set, as it's the rel that - * EXPLAIN should claim is the INSERT/UPDATE/DELETE/MERGE target. + * If the originally named target table is a partitioned table or inheritance + * tree, both nominalRelation and rootRelation contain the RT index of the + * partition root or appendrel RTE, which is not otherwise mentioned in the + * plan. Otherwise rootRelation is zero. However, nominalRelation will + * always be set, as it's the rel that EXPLAIN should claim is the + * INSERT/UPDATE/DELETE/MERGE target. * * Note that rowMarks and epqParam are presumed to be valid for all the * table(s); they can't contain any info that varies across tables. @@ -221,7 +232,7 @@ typedef struct ModifyTable CmdType operation; /* INSERT, UPDATE, DELETE, or MERGE */ bool canSetTag; /* do we set the command tag/es_processed? */ Index nominalRelation; /* Parent RT index for use of EXPLAIN */ - Index rootRelation; /* Root RT index, if target is partitioned */ + Index rootRelation; /* Root RT index, if partitioned/inherited */ bool partColsUpdated; /* some part key in hierarchy updated? */ List *resultRelations; /* integer list of RT indexes */ List *updateColnosLists; /* per-target-table update_colnos lists */ @@ -240,6 +251,8 @@ typedef struct ModifyTable List *exclRelTlist; /* tlist of the EXCLUDED pseudo relation */ List *mergeActionLists; /* per-target-table lists of actions for * MERGE */ + List *mergeJoinConditions; /* per-target-table join conditions + * for MERGE */ } ModifyTable; struct PartitionPruneInfo; /* forward reference to struct below */ @@ -274,14 +287,29 @@ typedef struct Append typedef struct MergeAppend { Plan plan; - Bitmapset *apprelids; /* RTIs of appendrel(s) formed by this node */ + + /* RTIs of appendrel(s) formed by this node */ + Bitmapset *apprelids; + List *mergeplans; + /* these fields are just like the sort-key info in struct Sort: */ - int numCols; /* number of sort-key columns */ - AttrNumber *sortColIdx; /* their indexes in the target list */ - Oid *sortOperators; /* OIDs of operators to sort them by */ - Oid *collations; /* OIDs of collations */ - bool *nullsFirst; /* NULLS FIRST/LAST directions */ + + /* number of sort-key columns */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *sortColIdx pg_node_attr(array_size(numCols)); + + /* OIDs of operators to sort them by */ + Oid *sortOperators pg_node_attr(array_size(numCols)); + + /* OIDs of collations */ + Oid *collations pg_node_attr(array_size(numCols)); + + /* NULLS FIRST/LAST directions */ + bool *nullsFirst pg_node_attr(array_size(numCols)); + /* Info for run-time subplan pruning; NULL if we're not doing that */ struct PartitionPruneInfo *part_prune_info; } MergeAppend; @@ -297,14 +325,24 @@ typedef struct MergeAppend typedef struct RecursiveUnion { Plan plan; - int wtParam; /* ID of Param representing work table */ + + /* ID of Param representing work table */ + int wtParam; + /* Remaining fields are zero/null in UNION ALL case */ - int numCols; /* number of columns to check for - * duplicate-ness */ - AttrNumber *dupColIdx; /* their indexes in the target list */ - Oid *dupOperators; /* equality operators to compare with */ - Oid *dupCollations; - long numGroups; /* estimated number of groups in input */ + + /* number of columns to check for duplicate-ness */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *dupColIdx pg_node_attr(array_size(numCols)); + + /* equality operators to compare with */ + Oid *dupOperators pg_node_attr(array_size(numCols)); + Oid *dupCollations pg_node_attr(array_size(numCols)); + + /* estimated number of groups in input */ + long numGroups; } RecursiveUnion; /* ---------------- @@ -339,10 +377,14 @@ typedef struct BitmapOr /* * ========== * Scan nodes + * + * Scan is an abstract type that all relation scan plan types inherit from. * ========== */ typedef struct Scan { + pg_node_attr(abstract) + Plan plan; Index scanrelid; /* relid is index into the range table */ } Scan; @@ -550,7 +592,7 @@ typedef enum SubqueryScanStatus { SUBQUERY_SCAN_UNKNOWN, SUBQUERY_SCAN_TRIVIAL, - SUBQUERY_SCAN_NONTRIVIAL + SUBQUERY_SCAN_NONTRIVIAL, } SubqueryScanStatus; typedef struct SubqueryScan @@ -652,6 +694,7 @@ typedef struct WorkTableScan * When the plan node represents a foreign join, scan.scanrelid is zero and * fs_relids must be consulted to identify the join relation. (fs_relids * is valid for simple scans as well, but will always match scan.scanrelid.) + * fs_relids includes outer joins; fs_base_relids does not. * * If the FDW's PlanDirectModify() callback decides to repurpose a ForeignScan * node to perform the UPDATE or DELETE operation directly in the remote @@ -666,12 +709,15 @@ typedef struct ForeignScan Scan scan; CmdType operation; /* SELECT/INSERT/UPDATE/DELETE */ Index resultRelation; /* direct modification target's RT index */ + Oid checkAsUser; /* user to perform the scan as; 0 means to + * check as current user */ Oid fs_server; /* OID of foreign server */ List *fdw_exprs; /* expressions that FDW may evaluate */ List *fdw_private; /* private data for FDW */ List *fdw_scan_tlist; /* optional tlist describing scan tuple */ List *fdw_recheck_quals; /* original quals not in scan.plan.qual */ - Bitmapset *fs_relids; /* RTIs generated by this scan */ + Bitmapset *fs_relids; /* base+OJ RTIs generated by this scan */ + Bitmapset *fs_base_relids; /* base RTIs generated by this scan */ bool fsSystemCol; /* true if any "system column" is needed */ } ForeignScan; @@ -700,6 +746,12 @@ typedef struct CustomScan List *custom_private; /* private data for custom code */ List *custom_scan_tlist; /* optional tlist describing scan tuple */ Bitmapset *custom_relids; /* RTIs generated by this scan */ + + /* + * NOTE: The method field of CustomScan is required to be a pointer to a + * static table of callback functions. So we don't copy the table itself, + * just reference the original one. + */ const struct CustomScanMethods *methods; } CustomScan; @@ -733,6 +785,8 @@ typedef struct CustomScan */ typedef struct Join { + pg_node_attr(abstract) + Plan plan; JoinType jointype; bool inner_unique; @@ -758,6 +812,8 @@ typedef struct NestLoop typedef struct NestLoopParam { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; int paramno; /* number of the PARAM_EXEC Param to set */ Var *paramval; /* outer-relation Var to assign to Param */ @@ -777,13 +833,26 @@ typedef struct NestLoopParam typedef struct MergeJoin { Join join; - bool skip_mark_restore; /* Can we skip mark/restore calls? */ - List *mergeclauses; /* mergeclauses as expression trees */ + + /* Can we skip mark/restore calls? */ + bool skip_mark_restore; + + /* mergeclauses as expression trees */ + List *mergeclauses; + /* these are arrays, but have the same length as the mergeclauses list: */ - Oid *mergeFamilies; /* per-clause OIDs of btree opfamilies */ - Oid *mergeCollations; /* per-clause OIDs of collations */ - int *mergeStrategies; /* per-clause ordering (ASC or DESC) */ - bool *mergeNullsFirst; /* per-clause nulls ordering */ + + /* per-clause OIDs of btree opfamilies */ + Oid *mergeFamilies pg_node_attr(array_size(mergeclauses)); + + /* per-clause OIDs of collations */ + Oid *mergeCollations pg_node_attr(array_size(mergeclauses)); + + /* per-clause ordering (ASC or DESC) */ + int *mergeStrategies pg_node_attr(array_size(mergeclauses)); + + /* per-clause nulls ordering */ + bool *mergeNullsFirst pg_node_attr(array_size(mergeclauses)); } MergeJoin; /* ---------------- @@ -821,21 +890,38 @@ typedef struct Memoize { Plan plan; - int numKeys; /* size of the two arrays below */ - - Oid *hashOperators; /* hash operators for each key */ - Oid *collations; /* collations for each key */ - List *param_exprs; /* cache keys in the form of exprs containing - * parameters */ - bool singlerow; /* true if the cache entry should be marked as - * complete after we store the first tuple in - * it. */ - bool binary_mode; /* true when cache key should be compared bit - * by bit, false when using hash equality ops */ - uint32 est_entries; /* The maximum number of entries that the - * planner expects will fit in the cache, or 0 - * if unknown */ - Bitmapset *keyparamids; /* paramids from param_exprs */ + /* size of the two arrays below */ + int numKeys; + + /* hash operators for each key */ + Oid *hashOperators pg_node_attr(array_size(numKeys)); + + /* collations for each key */ + Oid *collations pg_node_attr(array_size(numKeys)); + + /* cache keys in the form of exprs containing parameters */ + List *param_exprs; + + /* + * true if the cache entry should be marked as complete after we store the + * first tuple in it. + */ + bool singlerow; + + /* + * true when cache key should be compared bit by bit, false when using + * hash equality ops + */ + bool binary_mode; + + /* + * The maximum number of entries that the planner expects will fit in the + * cache, or 0 if unknown + */ + uint32 est_entries; + + /* paramids from param_exprs */ + Bitmapset *keyparamids; } Memoize; /* ---------------- @@ -845,11 +931,21 @@ typedef struct Memoize typedef struct Sort { Plan plan; - int numCols; /* number of sort-key columns */ - AttrNumber *sortColIdx; /* their indexes in the target list */ - Oid *sortOperators; /* OIDs of operators to sort them by */ - Oid *collations; /* OIDs of collations */ - bool *nullsFirst; /* NULLS FIRST/LAST directions */ + + /* number of sort-key columns */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *sortColIdx pg_node_attr(array_size(numCols)); + + /* OIDs of operators to sort them by */ + Oid *sortOperators pg_node_attr(array_size(numCols)); + + /* OIDs of collations */ + Oid *collations pg_node_attr(array_size(numCols)); + + /* NULLS FIRST/LAST directions */ + bool *nullsFirst pg_node_attr(array_size(numCols)); } Sort; /* ---------------- @@ -871,10 +967,16 @@ typedef struct IncrementalSort typedef struct Group { Plan plan; - int numCols; /* number of grouping columns */ - AttrNumber *grpColIdx; /* their indexes in the target list */ - Oid *grpOperators; /* equality operators to compare with */ - Oid *grpCollations; + + /* number of grouping columns */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *grpColIdx pg_node_attr(array_size(numCols)); + + /* equality operators to compare with */ + Oid *grpOperators pg_node_attr(array_size(numCols)); + Oid *grpCollations pg_node_attr(array_size(numCols)); } Group; /* --------------- @@ -894,18 +996,39 @@ typedef struct Group typedef struct Agg { Plan plan; - AggStrategy aggstrategy; /* basic strategy, see nodes.h */ - AggSplit aggsplit; /* agg-splitting mode, see nodes.h */ - int numCols; /* number of grouping columns */ - AttrNumber *grpColIdx; /* their indexes in the target list */ - Oid *grpOperators; /* equality operators to compare with */ - Oid *grpCollations; - long numGroups; /* estimated number of groups in input */ - uint64 transitionSpace; /* for pass-by-ref transition data */ - Bitmapset *aggParams; /* IDs of Params used in Aggref inputs */ + + /* basic strategy, see nodes.h */ + AggStrategy aggstrategy; + + /* agg-splitting mode, see nodes.h */ + AggSplit aggsplit; + + /* number of grouping columns */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *grpColIdx pg_node_attr(array_size(numCols)); + + /* equality operators to compare with */ + Oid *grpOperators pg_node_attr(array_size(numCols)); + Oid *grpCollations pg_node_attr(array_size(numCols)); + + /* estimated number of groups in input */ + long numGroups; + + /* for pass-by-ref transition data */ + uint64 transitionSpace; + + /* IDs of Params used in Aggref inputs */ + Bitmapset *aggParams; + /* Note: planner provides numGroups & aggParams only in HASHED/MIXED case */ - List *groupingSets; /* grouping sets to use */ - List *chain; /* chained Agg/Sort nodes */ + + /* grouping sets to use */ + List *groupingSets; + + /* chained Agg/Sort nodes */ + List *chain; } Agg; /* ---------------- @@ -915,28 +1038,71 @@ typedef struct Agg typedef struct WindowAgg { Plan plan; - Index winref; /* ID referenced by window functions */ - int partNumCols; /* number of columns in partition clause */ - AttrNumber *partColIdx; /* their indexes in the target list */ - Oid *partOperators; /* equality operators for partition columns */ - Oid *partCollations; /* collations for partition columns */ - int ordNumCols; /* number of columns in ordering clause */ - AttrNumber *ordColIdx; /* their indexes in the target list */ - Oid *ordOperators; /* equality operators for ordering columns */ - Oid *ordCollations; /* collations for ordering columns */ - int frameOptions; /* frame_clause options, see WindowDef */ - Node *startOffset; /* expression for starting bound, if any */ - Node *endOffset; /* expression for ending bound, if any */ - List *runCondition; /* qual to help short-circuit execution */ - List *runConditionOrig; /* runCondition for display in EXPLAIN */ + + /* ID referenced by window functions */ + Index winref; + + /* number of columns in partition clause */ + int partNumCols; + + /* their indexes in the target list */ + AttrNumber *partColIdx pg_node_attr(array_size(partNumCols)); + + /* equality operators for partition columns */ + Oid *partOperators pg_node_attr(array_size(partNumCols)); + + /* collations for partition columns */ + Oid *partCollations pg_node_attr(array_size(partNumCols)); + + /* number of columns in ordering clause */ + int ordNumCols; + + /* their indexes in the target list */ + AttrNumber *ordColIdx pg_node_attr(array_size(ordNumCols)); + + /* equality operators for ordering columns */ + Oid *ordOperators pg_node_attr(array_size(ordNumCols)); + + /* collations for ordering columns */ + Oid *ordCollations pg_node_attr(array_size(ordNumCols)); + + /* frame_clause options, see WindowDef */ + int frameOptions; + + /* expression for starting bound, if any */ + Node *startOffset; + + /* expression for ending bound, if any */ + Node *endOffset; + + /* qual to help short-circuit execution */ + List *runCondition; + + /* runCondition for display in EXPLAIN */ + List *runConditionOrig; + /* these fields are used with RANGE offset PRECEDING/FOLLOWING: */ - Oid startInRangeFunc; /* in_range function for startOffset */ - Oid endInRangeFunc; /* in_range function for endOffset */ - Oid inRangeColl; /* collation for in_range tests */ - bool inRangeAsc; /* use ASC sort order for in_range tests? */ - bool inRangeNullsFirst; /* nulls sort first for in_range tests? */ - bool topWindow; /* false for all apart from the WindowAgg - * that's closest to the root of the plan */ + + /* in_range function for startOffset */ + Oid startInRangeFunc; + + /* in_range function for endOffset */ + Oid endInRangeFunc; + + /* collation for in_range tests */ + Oid inRangeColl; + + /* use ASC sort order for in_range tests? */ + bool inRangeAsc; + + /* nulls sort first for in_range tests? */ + bool inRangeNullsFirst; + + /* + * false for all apart from the WindowAgg that's closest to the root of + * the plan + */ + bool topWindow; } WindowAgg; /* ---------------- @@ -946,10 +1112,18 @@ typedef struct WindowAgg typedef struct Unique { Plan plan; - int numCols; /* number of columns to check for uniqueness */ - AttrNumber *uniqColIdx; /* their indexes in the target list */ - Oid *uniqOperators; /* equality operators to compare with */ - Oid *uniqCollations; /* collations for equality comparisons */ + + /* number of columns to check for uniqueness */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *uniqColIdx pg_node_attr(array_size(numCols)); + + /* equality operators to compare with */ + Oid *uniqOperators pg_node_attr(array_size(numCols)); + + /* collations for equality comparisons */ + Oid *uniqCollations pg_node_attr(array_size(numCols)); } Unique; /* ------------ @@ -981,16 +1155,35 @@ typedef struct Gather typedef struct GatherMerge { Plan plan; - int num_workers; /* planned number of worker processes */ - int rescan_param; /* ID of Param that signals a rescan, or -1 */ + + /* planned number of worker processes */ + int num_workers; + + /* ID of Param that signals a rescan, or -1 */ + int rescan_param; + /* remaining fields are just like the sort-key info in struct Sort */ - int numCols; /* number of sort-key columns */ - AttrNumber *sortColIdx; /* their indexes in the target list */ - Oid *sortOperators; /* OIDs of operators to sort them by */ - Oid *collations; /* OIDs of collations */ - bool *nullsFirst; /* NULLS FIRST/LAST directions */ - Bitmapset *initParam; /* param id's of initplans which are referred - * at gather merge or one of it's child node */ + + /* number of sort-key columns */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *sortColIdx pg_node_attr(array_size(numCols)); + + /* OIDs of operators to sort them by */ + Oid *sortOperators pg_node_attr(array_size(numCols)); + + /* OIDs of collations */ + Oid *collations pg_node_attr(array_size(numCols)); + + /* NULLS FIRST/LAST directions */ + bool *nullsFirst pg_node_attr(array_size(numCols)); + + /* + * param id's of initplans which are referred at gather merge or one of + * it's child node + */ + Bitmapset *initParam; } GatherMerge; /* ---------------- @@ -1024,16 +1217,31 @@ typedef struct Hash typedef struct SetOp { Plan plan; - SetOpCmd cmd; /* what to do, see nodes.h */ - SetOpStrategy strategy; /* how to do it, see nodes.h */ - int numCols; /* number of columns to check for - * duplicate-ness */ - AttrNumber *dupColIdx; /* their indexes in the target list */ - Oid *dupOperators; /* equality operators to compare with */ - Oid *dupCollations; - AttrNumber flagColIdx; /* where is the flag column, if any */ - int firstFlag; /* flag value for first input relation */ - long numGroups; /* estimated number of groups in input */ + + /* what to do, see nodes.h */ + SetOpCmd cmd; + + /* how to do it, see nodes.h */ + SetOpStrategy strategy; + + /* number of columns to check for duplicate-ness */ + int numCols; + + /* their indexes in the target list */ + AttrNumber *dupColIdx pg_node_attr(array_size(numCols)); + + /* equality operators to compare with */ + Oid *dupOperators pg_node_attr(array_size(numCols)); + Oid *dupCollations pg_node_attr(array_size(numCols)); + + /* where is the flag column, if any */ + AttrNumber flagColIdx; + + /* flag value for first input relation */ + int firstFlag; + + /* estimated number of groups in input */ + long numGroups; } SetOp; /* ---------------- @@ -1062,13 +1270,27 @@ typedef struct LockRows typedef struct Limit { Plan plan; - Node *limitOffset; /* OFFSET parameter, or NULL if none */ - Node *limitCount; /* COUNT parameter, or NULL if none */ - LimitOption limitOption; /* limit type */ - int uniqNumCols; /* number of columns to check for similarity */ - AttrNumber *uniqColIdx; /* their indexes in the target list */ - Oid *uniqOperators; /* equality operators to compare with */ - Oid *uniqCollations; /* collations for equality comparisons */ + + /* OFFSET parameter, or NULL if none */ + Node *limitOffset; + + /* COUNT parameter, or NULL if none */ + Node *limitCount; + + /* limit type */ + LimitOption limitOption; + + /* number of columns to check for similarity */ + int uniqNumCols; + + /* their indexes in the target list */ + AttrNumber *uniqColIdx pg_node_attr(array_size(uniqNumCols)); + + /* equality operators to compare with */ + Oid *uniqOperators pg_node_attr(array_size(uniqNumCols)); + + /* collations for equality comparisons */ + Oid *uniqCollations pg_node_attr(array_size(uniqNumCols)); } Limit; @@ -1089,7 +1311,7 @@ typedef struct Limit * doing a separate remote query to lock each selected row is usually pretty * unappealing, so early locking remains a credible design choice for FDWs. * - * When doing UPDATE, DELETE, or SELECT FOR UPDATE/SHARE, we have to uniquely + * When doing UPDATE/DELETE/MERGE/SELECT FOR UPDATE/SHARE, we have to uniquely * identify all the source rows, not only those from the target relations, so * that we can perform EvalPlanQual rechecking at need. For plain tables we * can just fetch the TID, much as for a target relation; this case is @@ -1109,7 +1331,7 @@ typedef enum RowMarkType ROW_MARK_SHARE, /* obtain shared tuple lock */ ROW_MARK_KEYSHARE, /* obtain keyshare tuple lock */ ROW_MARK_REFERENCE, /* just fetch the TID, don't lock it */ - ROW_MARK_COPY /* physically copy the row value */ + ROW_MARK_COPY, /* physically copy the row value */ } RowMarkType; #define RowMarkRequiresRowShareLock(marktype) ((marktype) <= ROW_MARK_KEYSHARE) @@ -1118,7 +1340,7 @@ typedef enum RowMarkType * PlanRowMark - * plan-time representation of FOR [KEY] UPDATE/SHARE clauses * - * When doing UPDATE, DELETE, or SELECT FOR UPDATE/SHARE, we create a separate + * When doing UPDATE/DELETE/MERGE/SELECT FOR UPDATE/SHARE, we create a separate * PlanRowMark node for each non-target relation in the query. Relations that * are not specified as FOR UPDATE/SHARE are marked ROW_MARK_REFERENCE (if * regular tables or supported foreign tables) or ROW_MARK_COPY (if not). @@ -1154,6 +1376,8 @@ typedef enum RowMarkType */ typedef struct PlanRowMark { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; Index rti; /* range table index of markable relation */ Index prti; /* range table index of parent relation */ @@ -1198,6 +1422,8 @@ typedef struct PlanRowMark */ typedef struct PartitionPruneInfo { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; List *prune_infos; Bitmapset *other_subplans; @@ -1222,14 +1448,27 @@ typedef struct PartitionPruneInfo */ typedef struct PartitionedRelPruneInfo { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; - Index rtindex; /* RT index of partition rel for this level */ - Bitmapset *present_parts; /* Indexes of all partitions which subplans or - * subparts are present for */ - int nparts; /* Length of the following arrays: */ - int *subplan_map; /* subplan index by partition index, or -1 */ - int *subpart_map; /* subpart index by partition index, or -1 */ - Oid *relid_map; /* relation OID by partition index, or 0 */ + + /* RT index of partition rel for this level */ + Index rtindex; + + /* Indexes of all partitions which subplans or subparts are present for */ + Bitmapset *present_parts; + + /* Length of the following arrays: */ + int nparts; + + /* subplan index by partition index, or -1 */ + int *subplan_map pg_node_attr(array_size(nparts)); + + /* subpart index by partition index, or -1 */ + int *subpart_map pg_node_attr(array_size(nparts)); + + /* relation OID by partition index, or 0 */ + Oid *relid_map pg_node_attr(array_size(nparts)); /* * initial_pruning_steps shows how to prune during executor startup (i.e., @@ -1239,8 +1478,9 @@ typedef struct PartitionedRelPruneInfo */ List *initial_pruning_steps; /* List of PartitionPruneStep */ List *exec_pruning_steps; /* List of PartitionPruneStep */ - Bitmapset *execparamids; /* All PARAM_EXEC Param IDs in - * exec_pruning_steps */ + + /* All PARAM_EXEC Param IDs in exec_pruning_steps */ + Bitmapset *execparamids; } PartitionedRelPruneInfo; /* @@ -1251,6 +1491,8 @@ typedef struct PartitionedRelPruneInfo */ typedef struct PartitionPruneStep { + pg_node_attr(abstract, no_equal, no_query_jumble) + NodeTag type; int step_id; } PartitionPruneStep; @@ -1301,7 +1543,7 @@ typedef struct PartitionPruneStepOp typedef enum PartitionPruneCombineOp { PARTPRUNE_COMBINE_UNION, - PARTPRUNE_COMBINE_INTERSECT + PARTPRUNE_COMBINE_INTERSECT, } PartitionPruneCombineOp; typedef struct PartitionPruneStepCombine @@ -1324,6 +1566,8 @@ typedef struct PartitionPruneStepCombine */ typedef struct PlanInvalItem { + pg_node_attr(no_equal, no_query_jumble) + NodeTag type; int cacheId; /* a syscache ID, see utils/syscache.h */ uint32 hashValue; /* hash value of object's cache lookup key */ @@ -1343,7 +1587,7 @@ typedef enum MonotonicFunction MONOTONICFUNC_NONE = 0, MONOTONICFUNC_INCREASING = (1 << 0), MONOTONICFUNC_DECREASING = (1 << 1), - MONOTONICFUNC_BOTH = MONOTONICFUNC_INCREASING | MONOTONICFUNC_DECREASING + MONOTONICFUNC_BOTH = MONOTONICFUNC_INCREASING | MONOTONICFUNC_DECREASING, } MonotonicFunction; #endif /* PLANNODES_H */ diff --git a/parser/include/nodes/primnodes.h b/parser/include/postgres/nodes/primnodes.h similarity index 62% rename from parser/include/nodes/primnodes.h rename to parser/include/postgres/nodes/primnodes.h index 3d48dbb4..94f6b855 100644 --- a/parser/include/nodes/primnodes.h +++ b/parser/include/postgres/nodes/primnodes.h @@ -7,7 +7,7 @@ * and join trees. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/primnodes.h @@ -22,6 +22,14 @@ #include "nodes/pg_list.h" +typedef enum OverridingKind +{ + OVERRIDING_NOT_SET = 0, + OVERRIDING_USER_VALUE, + OVERRIDING_SYSTEM_VALUE, +} OverridingKind; + + /* ---------------------------------------------------------------- * node definitions * ---------------------------------------------------------------- @@ -49,7 +57,7 @@ typedef enum OnCommitAction ONCOMMIT_NOOP, /* No ON COMMIT clause (do nothing) */ ONCOMMIT_PRESERVE_ROWS, /* ON COMMIT PRESERVE ROWS (do nothing) */ ONCOMMIT_DELETE_ROWS, /* ON COMMIT DELETE ROWS */ - ONCOMMIT_DROP /* ON COMMIT DROP */ + ONCOMMIT_DROP, /* ON COMMIT DROP */ } OnCommitAction; /* @@ -63,18 +71,37 @@ typedef enum OnCommitAction typedef struct RangeVar { NodeTag type; - char *catalogname; /* the catalog (database) name, or NULL */ - char *schemaname; /* the schema name, or NULL */ - char *relname; /* the relation/sequence name */ - bool inh; /* expand rel by inheritance? recursively act - * on children? */ - char relpersistence; /* see RELPERSISTENCE_* in pg_class.h */ - Alias *alias; /* table alias & optional column aliases */ - int location; /* token location, or -1 if unknown */ + + /* the catalog (database) name, or NULL */ + char *catalogname; + + /* the schema name, or NULL */ + char *schemaname; + + /* the relation/sequence name */ + char *relname; + + /* expand rel by inheritance? recursively act on children? */ + bool inh; + + /* see RELPERSISTENCE_* in pg_class.h */ + char relpersistence; + + /* table alias & optional column aliases */ + Alias *alias; + + /* token location, or -1 if unknown */ + ParseLoc location; } RangeVar; +typedef enum TableFuncType +{ + TFT_XMLTABLE, + TFT_JSON_TABLE, +} TableFuncType; + /* - * TableFunc - node for a table function, such as XMLTABLE. + * TableFunc - node for a table function, such as XMLTABLE and JSON_TABLE. * * Entries in the ns_names list are either String nodes containing * literal namespace names, or NULL pointers to represent DEFAULT. @@ -82,19 +109,40 @@ typedef struct RangeVar typedef struct TableFunc { NodeTag type; - List *ns_uris; /* list of namespace URI expressions */ - List *ns_names; /* list of namespace names or NULL */ - Node *docexpr; /* input document expression */ - Node *rowexpr; /* row filter expression */ - List *colnames; /* column names (list of String) */ - List *coltypes; /* OID list of column type OIDs */ - List *coltypmods; /* integer list of column typmods */ - List *colcollations; /* OID list of column collation OIDs */ - List *colexprs; /* list of column filter expressions */ - List *coldefexprs; /* list of column default expressions */ - Bitmapset *notnulls; /* nullability flag for each output column */ - int ordinalitycol; /* counts from 0; -1 if none specified */ - int location; /* token location, or -1 if unknown */ + /* XMLTABLE or JSON_TABLE */ + TableFuncType functype; + /* list of namespace URI expressions */ + List *ns_uris pg_node_attr(query_jumble_ignore); + /* list of namespace names or NULL */ + List *ns_names pg_node_attr(query_jumble_ignore); + /* input document expression */ + Node *docexpr; + /* row filter expression */ + Node *rowexpr; + /* column names (list of String) */ + List *colnames pg_node_attr(query_jumble_ignore); + /* OID list of column type OIDs */ + List *coltypes pg_node_attr(query_jumble_ignore); + /* integer list of column typmods */ + List *coltypmods pg_node_attr(query_jumble_ignore); + /* OID list of column collation OIDs */ + List *colcollations pg_node_attr(query_jumble_ignore); + /* list of column filter expressions */ + List *colexprs; + /* list of column default expressions */ + List *coldefexprs pg_node_attr(query_jumble_ignore); + /* JSON_TABLE: list of column value expressions */ + List *colvalexprs pg_node_attr(query_jumble_ignore); + /* JSON_TABLE: list of PASSING argument expressions */ + List *passingvalexprs pg_node_attr(query_jumble_ignore); + /* nullability flag for each output column */ + Bitmapset *notnulls pg_node_attr(query_jumble_ignore); + /* JSON_TABLE plan */ + Node *plan pg_node_attr(query_jumble_ignore); + /* counts from 0; -1 if none specified */ + int ordinalitycol pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } TableFunc; /* @@ -102,8 +150,10 @@ typedef struct TableFunc * CREATE MATERIALIZED VIEW * * For CREATE MATERIALIZED VIEW, viewQuery is the parsed-but-not-rewritten - * SELECT Query for the view; otherwise it's NULL. (Although it's actually - * Query*, we declare it as Node* to avoid a forward reference.) + * SELECT Query for the view; otherwise it's NULL. This is irrelevant in + * the query jumbling as CreateTableAsStmt already includes a reference to + * its own Query, so ignore it. (Although it's actually Query*, we declare + * it as Node* to avoid a forward reference.) */ typedef struct IntoClause { @@ -115,7 +165,8 @@ typedef struct IntoClause List *options; /* options from WITH clause */ OnCommitAction onCommit; /* what do we do at COMMIT? */ char *tableSpaceName; /* table space to use, or NULL */ - Node *viewQuery; /* materialized view's SELECT query */ + /* materialized view's SELECT query */ + Node *viewQuery pg_node_attr(query_jumble_ignore); bool skipData; /* true for WITH NO DATA */ } IntoClause; @@ -135,6 +186,8 @@ typedef struct IntoClause */ typedef struct Expr { + pg_node_attr(abstract) + NodeTag type; } Expr; @@ -162,6 +215,14 @@ typedef struct Expr * row identity information during UPDATE/DELETE/MERGE. This value should * never be seen outside the planner. * + * varnullingrels is the set of RT indexes of outer joins that can force + * the Var's value to null (at the point where it appears in the query). + * See optimizer/README for discussion of that. + * + * varlevelsup is greater than zero in Vars that represent outer references. + * Note that it affects the meaning of all of varno, varnullingrels, and + * varnosyn, all of which refer to the range table of that query level. + * * In the parser, varnosyn and varattnosyn are either identical to * varno/varattno, or they specify the column's position in an aliased JOIN * RTE that hides the semantic referent RTE's refname. This is a syntactic @@ -186,19 +247,50 @@ typedef struct Expr typedef struct Var { Expr xpr; - int varno; /* index of this var's relation in the range - * table, or INNER_VAR/OUTER_VAR/etc */ - AttrNumber varattno; /* attribute number of this var, or zero for - * all attrs ("whole-row Var") */ - Oid vartype; /* pg_type OID for the type of this var */ - int32 vartypmod; /* pg_attribute typmod value */ - Oid varcollid; /* OID of collation, or InvalidOid if none */ - Index varlevelsup; /* for subquery variables referencing outer - * relations; 0 in a normal var, >0 means N - * levels up */ - Index varnosyn; /* syntactic relation index (0 if unknown) */ - AttrNumber varattnosyn; /* syntactic attribute number */ - int location; /* token location, or -1 if unknown */ + + /* + * index of this var's relation in the range table, or + * INNER_VAR/OUTER_VAR/etc + */ + int varno; + + /* + * attribute number of this var, or zero for all attrs ("whole-row Var") + */ + AttrNumber varattno; + + /* pg_type OID for the type of this var */ + Oid vartype pg_node_attr(query_jumble_ignore); + /* pg_attribute typmod value */ + int32 vartypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid varcollid pg_node_attr(query_jumble_ignore); + + /* + * RT indexes of outer joins that can replace the Var's value with null. + * We can omit varnullingrels in the query jumble, because it's fully + * determined by varno/varlevelsup plus the Var's query location. + */ + Bitmapset *varnullingrels pg_node_attr(query_jumble_ignore); + + /* + * for subquery variables referencing outer relations; 0 in a normal var, + * >0 means N levels up + */ + Index varlevelsup; + + /* + * varnosyn/varattnosyn are ignored for equality, because Vars with + * different syntactic identifiers are semantically the same as long as + * their varno/varattno match. + */ + /* syntactic relation index (0 if unknown) */ + Index varnosyn pg_node_attr(equal_ignore, query_jumble_ignore); + /* syntactic attribute number */ + AttrNumber varattnosyn pg_node_attr(equal_ignore, query_jumble_ignore); + + /* token location, or -1 if unknown */ + ParseLoc location; } Var; /* @@ -208,22 +300,39 @@ typedef struct Var * must be in non-extended form (4-byte header, no compression or external * references). This ensures that the Const node is self-contained and makes * it more likely that equal() will see logically identical values as equal. + * + * Only the constant type OID is relevant for the query jumbling. */ typedef struct Const { + pg_node_attr(custom_copy_equal, custom_read_write) + Expr xpr; - Oid consttype; /* pg_type OID of the constant's datatype */ - int32 consttypmod; /* typmod value, if any */ - Oid constcollid; /* OID of collation, or InvalidOid if none */ - int constlen; /* typlen of the constant's datatype */ - Datum constvalue; /* the constant's value */ - bool constisnull; /* whether the constant is null (if true, - * constvalue is undefined) */ - bool constbyval; /* whether this datatype is passed by value. - * If true, then all the information is stored - * in the Datum. If false, then the Datum - * contains a pointer to the information. */ - int location; /* token location, or -1 if unknown */ + /* pg_type OID of the constant's datatype */ + Oid consttype; + /* typmod value, if any */ + int32 consttypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid constcollid pg_node_attr(query_jumble_ignore); + /* typlen of the constant's datatype */ + int constlen pg_node_attr(query_jumble_ignore); + /* the constant's value */ + Datum constvalue pg_node_attr(query_jumble_ignore); + /* whether the constant is null (if true, constvalue is undefined) */ + bool constisnull pg_node_attr(query_jumble_ignore); + + /* + * Whether this datatype is passed by value. If true, then all the + * information is stored in the Datum. If false, then the Datum contains + * a pointer to the information. + */ + bool constbyval pg_node_attr(query_jumble_ignore); + + /* + * token location, or -1 if unknown. All constants are tracked as + * locations in query jumbling, to be marked as parameters. + */ + ParseLoc location pg_node_attr(query_jumble_location); } Const; /* @@ -258,7 +367,7 @@ typedef enum ParamKind PARAM_EXTERN, PARAM_EXEC, PARAM_SUBLINK, - PARAM_MULTIEXPR + PARAM_MULTIEXPR, } ParamKind; typedef struct Param @@ -267,9 +376,12 @@ typedef struct Param ParamKind paramkind; /* kind of parameter. See above */ int paramid; /* numeric ID for parameter */ Oid paramtype; /* pg_type OID of parameter's datatype */ - int32 paramtypmod; /* typmod value, if known */ - Oid paramcollid; /* OID of collation, or InvalidOid if none */ - int location; /* token location, or -1 if unknown */ + /* typmod value, if known */ + int32 paramtypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid paramcollid pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } Param; /* @@ -304,6 +416,10 @@ typedef struct Param * replaced with a single argument representing the partial-aggregate * transition values. * + * aggpresorted is set by the query planner for ORDER BY and DISTINCT + * aggregates where the chosen plan provides presorted input for this + * aggregate during execution. + * * aggsplit indicates the expected partial-aggregation mode for the Aggref's * parent plan node. It's always set to AGGSPLIT_SIMPLE in the parser, but * the planner might change it to something else. We use this mainly as @@ -316,30 +432,79 @@ typedef struct Param * and can share the result. Aggregates with same 'transno' but different * 'aggno' can share the same transition state, only the final function needs * to be called separately. + * + * Information related to collations, transition types and internal states + * are irrelevant for the query jumbling. */ typedef struct Aggref { Expr xpr; - Oid aggfnoid; /* pg_proc Oid of the aggregate */ - Oid aggtype; /* type Oid of result of the aggregate */ - Oid aggcollid; /* OID of collation of result */ - Oid inputcollid; /* OID of collation that function should use */ - Oid aggtranstype; /* type Oid of aggregate's transition value */ - List *aggargtypes; /* type Oids of direct and aggregated args */ - List *aggdirectargs; /* direct arguments, if an ordered-set agg */ - List *args; /* aggregated arguments and sort expressions */ - List *aggorder; /* ORDER BY (list of SortGroupClause) */ - List *aggdistinct; /* DISTINCT (list of SortGroupClause) */ - Expr *aggfilter; /* FILTER expression, if any */ - bool aggstar; /* true if argument list was really '*' */ - bool aggvariadic; /* true if variadic arguments have been - * combined into an array last argument */ - char aggkind; /* aggregate kind (see pg_aggregate.h) */ - Index agglevelsup; /* > 0 if agg belongs to outer query */ - AggSplit aggsplit; /* expected agg-splitting mode of parent Agg */ - int aggno; /* unique ID within the Agg node */ - int aggtransno; /* unique ID of transition state in the Agg */ - int location; /* token location, or -1 if unknown */ + + /* pg_proc Oid of the aggregate */ + Oid aggfnoid; + + /* type Oid of result of the aggregate */ + Oid aggtype pg_node_attr(query_jumble_ignore); + + /* OID of collation of result */ + Oid aggcollid pg_node_attr(query_jumble_ignore); + + /* OID of collation that function should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + + /* + * type Oid of aggregate's transition value; ignored for equal since it + * might not be set yet + */ + Oid aggtranstype pg_node_attr(equal_ignore, query_jumble_ignore); + + /* type Oids of direct and aggregated args */ + List *aggargtypes pg_node_attr(query_jumble_ignore); + + /* direct arguments, if an ordered-set agg */ + List *aggdirectargs; + + /* aggregated arguments and sort expressions */ + List *args; + + /* ORDER BY (list of SortGroupClause) */ + List *aggorder; + + /* DISTINCT (list of SortGroupClause) */ + List *aggdistinct; + + /* FILTER expression, if any */ + Expr *aggfilter; + + /* true if argument list was really '*' */ + bool aggstar pg_node_attr(query_jumble_ignore); + + /* + * true if variadic arguments have been combined into an array last + * argument + */ + bool aggvariadic pg_node_attr(query_jumble_ignore); + + /* aggregate kind (see pg_aggregate.h) */ + char aggkind pg_node_attr(query_jumble_ignore); + + /* aggregate input already sorted */ + bool aggpresorted pg_node_attr(equal_ignore, query_jumble_ignore); + + /* > 0 if agg belongs to outer query */ + Index agglevelsup pg_node_attr(query_jumble_ignore); + + /* expected agg-splitting mode of parent Agg */ + AggSplit aggsplit pg_node_attr(query_jumble_ignore); + + /* unique ID within the Agg node */ + int aggno pg_node_attr(query_jumble_ignore); + + /* unique ID of transition state in the Agg */ + int aggtransno pg_node_attr(query_jumble_ignore); + + /* token location, or -1 if unknown */ + ParseLoc location; } Aggref; /* @@ -365,36 +530,112 @@ typedef struct Aggref * * In raw parse output we have only the args list; parse analysis fills in the * refs list, and the planner fills in the cols list. + * + * All the fields used as information for an internal state are irrelevant + * for the query jumbling. */ typedef struct GroupingFunc { Expr xpr; - List *args; /* arguments, not evaluated but kept for - * benefit of EXPLAIN etc. */ - List *refs; /* ressortgrouprefs of arguments */ - List *cols; /* actual column positions set by planner */ - Index agglevelsup; /* same as Aggref.agglevelsup */ - int location; /* token location */ + + /* arguments, not evaluated but kept for benefit of EXPLAIN etc. */ + List *args pg_node_attr(query_jumble_ignore); + + /* ressortgrouprefs of arguments */ + List *refs pg_node_attr(equal_ignore); + + /* actual column positions set by planner */ + List *cols pg_node_attr(equal_ignore, query_jumble_ignore); + + /* same as Aggref.agglevelsup */ + Index agglevelsup; + + /* token location */ + ParseLoc location; } GroupingFunc; /* * WindowFunc + * + * Collation information is irrelevant for the query jumbling, as is the + * internal state information of the node like "winstar" and "winagg". */ typedef struct WindowFunc { Expr xpr; - Oid winfnoid; /* pg_proc Oid of the function */ - Oid wintype; /* type Oid of result of the window function */ - Oid wincollid; /* OID of collation of result */ - Oid inputcollid; /* OID of collation that function should use */ - List *args; /* arguments to the window function */ - Expr *aggfilter; /* FILTER expression, if any */ - Index winref; /* index of associated WindowClause */ - bool winstar; /* true if argument list was really '*' */ - bool winagg; /* is function a simple aggregate? */ - int location; /* token location, or -1 if unknown */ + /* pg_proc Oid of the function */ + Oid winfnoid; + /* type Oid of result of the window function */ + Oid wintype pg_node_attr(query_jumble_ignore); + /* OID of collation of result */ + Oid wincollid pg_node_attr(query_jumble_ignore); + /* OID of collation that function should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + /* arguments to the window function */ + List *args; + /* FILTER expression, if any */ + Expr *aggfilter; + /* List of WindowFuncRunConditions to help short-circuit execution */ + List *runCondition pg_node_attr(query_jumble_ignore); + /* index of associated WindowClause */ + Index winref; + /* true if argument list was really '*' */ + bool winstar pg_node_attr(query_jumble_ignore); + /* is function a simple aggregate? */ + bool winagg pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } WindowFunc; +/* + * WindowFuncRunCondition + * + * Represents intermediate OpExprs which will be used by WindowAgg to + * short-circuit execution. + */ +typedef struct WindowFuncRunCondition +{ + Expr xpr; + + /* PG_OPERATOR OID of the operator */ + Oid opno; + /* OID of collation that operator should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + + /* + * true of WindowFunc belongs on the left of the resulting OpExpr or false + * if the WindowFunc is on the right. + */ + bool wfunc_left; + + /* + * The Expr being compared to the WindowFunc to use in the OpExpr in the + * WindowAgg's runCondition + */ + Expr *arg; +} WindowFuncRunCondition; + +/* + * MergeSupportFunc + * + * A MergeSupportFunc is a merge support function expression that can only + * appear in the RETURNING list of a MERGE command. It returns information + * about the currently executing merge action. + * + * Currently, the only supported function is MERGE_ACTION(), which returns the + * command executed ("INSERT", "UPDATE", or "DELETE"). + */ +typedef struct MergeSupportFunc +{ + Expr xpr; + /* type Oid of result */ + Oid msftype; + /* OID of collation, or InvalidOid if none */ + Oid msfcollid; + /* token location, or -1 if unknown */ + ParseLoc location; +} MergeSupportFunc; + /* * SubscriptingRef: describes a subscripting operation over a container * (array, etc). @@ -429,6 +670,8 @@ typedef struct WindowFunc * subscripting logic. Likewise, reftypmod and refcollid will match the * container's properties in a store, but could be different in a fetch. * + * Any internal state data is ignored for the query jumbling. + * * Note: for the cases where a container is returned, if refexpr yields a R/W * expanded container, then the implementation is allowed to modify that * object in-place and return the same object. @@ -436,20 +679,28 @@ typedef struct WindowFunc typedef struct SubscriptingRef { Expr xpr; - Oid refcontainertype; /* type of the container proper */ - Oid refelemtype; /* the container type's pg_type.typelem */ - Oid refrestype; /* type of the SubscriptingRef's result */ - int32 reftypmod; /* typmod of the result */ - Oid refcollid; /* collation of result, or InvalidOid if none */ - List *refupperindexpr; /* expressions that evaluate to upper - * container indexes */ - List *reflowerindexpr; /* expressions that evaluate to lower - * container indexes, or NIL for single - * container element */ - Expr *refexpr; /* the expression that evaluates to a - * container value */ - Expr *refassgnexpr; /* expression for the source value, or NULL if - * fetch */ + /* type of the container proper */ + Oid refcontainertype pg_node_attr(query_jumble_ignore); + /* the container type's pg_type.typelem */ + Oid refelemtype pg_node_attr(query_jumble_ignore); + /* type of the SubscriptingRef's result */ + Oid refrestype pg_node_attr(query_jumble_ignore); + /* typmod of the result */ + int32 reftypmod pg_node_attr(query_jumble_ignore); + /* collation of result, or InvalidOid if none */ + Oid refcollid pg_node_attr(query_jumble_ignore); + /* expressions that evaluate to upper container indexes */ + List *refupperindexpr; + + /* + * expressions that evaluate to lower container indexes, or NIL for single + * container element. + */ + List *reflowerindexpr; + /* the expression that evaluates to a container value */ + Expr *refexpr; + /* expression for the source value, or NULL if fetch */ + Expr *refassgnexpr; } SubscriptingRef; /* @@ -463,7 +714,7 @@ typedef enum CoercionContext COERCION_IMPLICIT, /* coercion in context of expression */ COERCION_ASSIGNMENT, /* coercion in context of assignment */ COERCION_PLPGSQL, /* if no assignment cast, use CoerceViaIO */ - COERCION_EXPLICIT /* explicit cast operation */ + COERCION_EXPLICIT, /* explicit cast operation */ } CoercionContext; /* @@ -483,25 +734,40 @@ typedef enum CoercionForm COERCE_EXPLICIT_CALL, /* display as a function call */ COERCE_EXPLICIT_CAST, /* display as an explicit cast */ COERCE_IMPLICIT_CAST, /* implicit cast, so hide it */ - COERCE_SQL_SYNTAX /* display with SQL-mandated special syntax */ + COERCE_SQL_SYNTAX, /* display with SQL-mandated special syntax */ } CoercionForm; /* * FuncExpr - expression node for a function call + * + * Collation information is irrelevant for the query jumbling, only the + * arguments and the function OID matter. */ typedef struct FuncExpr { Expr xpr; - Oid funcid; /* PG_PROC OID of the function */ - Oid funcresulttype; /* PG_TYPE OID of result value */ - bool funcretset; /* true if function returns set */ - bool funcvariadic; /* true if variadic arguments have been - * combined into an array last argument */ - CoercionForm funcformat; /* how to display this function call */ - Oid funccollid; /* OID of collation of result */ - Oid inputcollid; /* OID of collation that function should use */ - List *args; /* arguments to the function */ - int location; /* token location, or -1 if unknown */ + /* PG_PROC OID of the function */ + Oid funcid; + /* PG_TYPE OID of result value */ + Oid funcresulttype pg_node_attr(query_jumble_ignore); + /* true if function returns set */ + bool funcretset pg_node_attr(query_jumble_ignore); + + /* + * true if variadic arguments have been combined into an array last + * argument + */ + bool funcvariadic pg_node_attr(query_jumble_ignore); + /* how to display this function call */ + CoercionForm funcformat pg_node_attr(query_jumble_ignore); + /* OID of collation of result */ + Oid funccollid pg_node_attr(query_jumble_ignore); + /* OID of collation that function should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + /* arguments to the function */ + List *args; + /* token location, or -1 if unknown */ + ParseLoc location; } FuncExpr; /* @@ -521,10 +787,14 @@ typedef struct FuncExpr typedef struct NamedArgExpr { Expr xpr; - Expr *arg; /* the argument expression */ - char *name; /* the name */ - int argnumber; /* argument's number in positional notation */ - int location; /* argument name location, or -1 if unknown */ + /* the argument expression */ + Expr *arg; + /* the name */ + char *name pg_node_attr(query_jumble_ignore); + /* argument's number in positional notation */ + int argnumber; + /* argument name location, or -1 if unknown */ + ParseLoc location; } NamedArgExpr; /* @@ -535,18 +805,38 @@ typedef struct NamedArgExpr * Note that opfuncid is not necessarily filled in immediately on creation * of the node. The planner makes sure it is valid before passing the node * tree to the executor, but during parsing/planning opfuncid can be 0. + * Therefore, equal() will accept a zero value as being equal to other values. + * + * Internal state information and collation data is irrelevant for the query + * jumbling. */ typedef struct OpExpr { Expr xpr; - Oid opno; /* PG_OPERATOR OID of the operator */ - Oid opfuncid; /* PG_PROC OID of underlying function */ - Oid opresulttype; /* PG_TYPE OID of result value */ - bool opretset; /* true if operator returns set */ - Oid opcollid; /* OID of collation of result */ - Oid inputcollid; /* OID of collation that operator should use */ - List *args; /* arguments to the operator (1 or 2) */ - int location; /* token location, or -1 if unknown */ + + /* PG_OPERATOR OID of the operator */ + Oid opno; + + /* PG_PROC OID of underlying function */ + Oid opfuncid pg_node_attr(equal_ignore_if_zero, query_jumble_ignore); + + /* PG_TYPE OID of result value */ + Oid opresulttype pg_node_attr(query_jumble_ignore); + + /* true if operator returns set */ + bool opretset pg_node_attr(query_jumble_ignore); + + /* OID of collation of result */ + Oid opcollid pg_node_attr(query_jumble_ignore); + + /* OID of collation that operator should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + + /* arguments to the operator (1 or 2) */ + List *args; + + /* token location, or -1 if unknown */ + ParseLoc location; } OpExpr; /* @@ -592,19 +882,41 @@ typedef OpExpr NullIfExpr; * corresponding function and won't be used during execution. For * non-hashtable based NOT INs, negfuncid will be set to InvalidOid. See * convert_saop_to_hashed_saop(). + * + * Similar to OpExpr, opfuncid, hashfuncid, and negfuncid are not necessarily + * filled in right away, so will be ignored for equality if they are not set + * yet. + * + * OID entries of the internal function types are irrelevant for the query + * jumbling, but the operator OID and the arguments are. */ typedef struct ScalarArrayOpExpr { Expr xpr; - Oid opno; /* PG_OPERATOR OID of the operator */ - Oid opfuncid; /* PG_PROC OID of comparison function */ - Oid hashfuncid; /* PG_PROC OID of hash func or InvalidOid */ - Oid negfuncid; /* PG_PROC OID of negator of opfuncid function - * or InvalidOid. See above */ - bool useOr; /* true for ANY, false for ALL */ - Oid inputcollid; /* OID of collation that operator should use */ - List *args; /* the scalar and array operands */ - int location; /* token location, or -1 if unknown */ + + /* PG_OPERATOR OID of the operator */ + Oid opno; + + /* PG_PROC OID of comparison function */ + Oid opfuncid pg_node_attr(equal_ignore_if_zero, query_jumble_ignore); + + /* PG_PROC OID of hash func or InvalidOid */ + Oid hashfuncid pg_node_attr(equal_ignore_if_zero, query_jumble_ignore); + + /* PG_PROC OID of negator of opfuncid function or InvalidOid. See above */ + Oid negfuncid pg_node_attr(equal_ignore_if_zero, query_jumble_ignore); + + /* true for ANY, false for ALL */ + bool useOr; + + /* OID of collation that operator should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + + /* the scalar and array operands */ + List *args; + + /* token location, or -1 if unknown */ + ParseLoc location; } ScalarArrayOpExpr; /* @@ -621,10 +933,12 @@ typedef enum BoolExprType typedef struct BoolExpr { + pg_node_attr(custom_read_write) + Expr xpr; BoolExprType boolop; List *args; /* arguments to this expression */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } BoolExpr; /* @@ -687,7 +1001,7 @@ typedef enum SubLinkType EXPR_SUBLINK, MULTIEXPR_SUBLINK, ARRAY_SUBLINK, - CTE_SUBLINK /* for SubPlans only */ + CTE_SUBLINK, /* for SubPlans only */ } SubLinkType; @@ -697,9 +1011,11 @@ typedef struct SubLink SubLinkType subLinkType; /* see above */ int subLinkId; /* ID (1..n); 0 if not MULTIEXPR */ Node *testexpr; /* outer-query test for ALL/ANY/ROWCOMPARE */ - List *operName; /* originally specified operator name */ - Node *subselect; /* subselect as Query* or raw parsetree */ - int location; /* token location, or -1 if unknown */ + /* originally specified operator name */ + List *operName pg_node_attr(query_jumble_ignore); + /* subselect as Query* or raw parsetree */ + Node *subselect; + ParseLoc location; /* token location, or -1 if unknown */ } SubLink; /* @@ -732,9 +1048,9 @@ typedef struct SubLink * The values are assigned to the global PARAM_EXEC params indexed by parParam * (the parParam and args lists must have the same ordering). setParam is a * list of the PARAM_EXEC params that are computed by the sub-select, if it - * is an initplan; they are listed in order by sub-select output column - * position. (parParam and setParam are integer Lists, not Bitmapsets, - * because their ordering is significant.) + * is an initplan or MULTIEXPR plan; they are listed in order by sub-select + * output column position. (parParam and setParam are integer Lists, not + * Bitmapsets, because their ordering is significant.) * * Also, the planner computes startup and per-call costs for use of the * SubPlan. Note that these include the cost of the subquery proper, @@ -742,6 +1058,8 @@ typedef struct SubLink */ typedef struct SubPlan { + pg_node_attr(no_query_jumble) + Expr xpr; /* Fields copied from original SubLink: */ SubLinkType subLinkType; /* see above */ @@ -767,8 +1085,8 @@ typedef struct SubPlan /* Note: parallel_safe does not consider contents of testexpr or args */ /* Information for passing params into and out of the subselect: */ /* setParam and parParam are lists of integers (param IDs) */ - List *setParam; /* initplan subqueries have to set these - * Params for parent plan */ + List *setParam; /* initplan and MULTIEXPR subqueries have to + * set these Params for parent plan */ List *parParam; /* indices of input Params from parent plan */ List *args; /* exprs to pass as parParam values */ /* Estimated execution costs: */ @@ -789,6 +1107,8 @@ typedef struct SubPlan */ typedef struct AlternativeSubPlan { + pg_node_attr(no_query_jumble) + Expr xpr; List *subplans; /* SubPlan(s) with equivalent results */ } AlternativeSubPlan; @@ -807,10 +1127,12 @@ typedef struct FieldSelect Expr xpr; Expr *arg; /* input expression */ AttrNumber fieldnum; /* attribute number of field to extract */ - Oid resulttype; /* type of the field (result type of this - * node) */ - int32 resulttypmod; /* output typmod (usually -1) */ - Oid resultcollid; /* OID of collation of the field */ + /* type of the field (result type of this node) */ + Oid resulttype pg_node_attr(query_jumble_ignore); + /* output typmod (usually -1) */ + int32 resulttypmod pg_node_attr(query_jumble_ignore); + /* OID of collation of the field */ + Oid resultcollid pg_node_attr(query_jumble_ignore); } FieldSelect; /* ---------------- @@ -836,8 +1158,10 @@ typedef struct FieldStore Expr xpr; Expr *arg; /* input tuple value */ List *newvals; /* new value(s) for field(s) */ - List *fieldnums; /* integer list of field attnums */ - Oid resulttype; /* type of result (same as type of arg) */ + /* integer list of field attnums */ + List *fieldnums pg_node_attr(query_jumble_ignore); + /* type of result (same as type of arg) */ + Oid resulttype pg_node_attr(query_jumble_ignore); /* Like RowExpr, we deliberately omit a typmod and collation here */ } FieldStore; @@ -859,10 +1183,13 @@ typedef struct RelabelType Expr xpr; Expr *arg; /* input expression */ Oid resulttype; /* output type of coercion expression */ - int32 resulttypmod; /* output typmod (usually -1) */ - Oid resultcollid; /* OID of collation, or InvalidOid if none */ - CoercionForm relabelformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + /* output typmod (usually -1) */ + int32 resulttypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid resultcollid pg_node_attr(query_jumble_ignore); + /* how to display this node */ + CoercionForm relabelformat pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } RelabelType; /* ---------------- @@ -880,9 +1207,11 @@ typedef struct CoerceViaIO Expr *arg; /* input expression */ Oid resulttype; /* output type of coercion */ /* output typmod is not stored, but is presumed -1 */ - Oid resultcollid; /* OID of collation, or InvalidOid if none */ - CoercionForm coerceformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + /* OID of collation, or InvalidOid if none */ + Oid resultcollid pg_node_attr(query_jumble_ignore); + /* how to display this node */ + CoercionForm coerceformat pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } CoerceViaIO; /* ---------------- @@ -904,10 +1233,13 @@ typedef struct ArrayCoerceExpr Expr *arg; /* input expression (yields an array) */ Expr *elemexpr; /* expression representing per-element work */ Oid resulttype; /* output type of coercion (an array type) */ - int32 resulttypmod; /* output typmod (also element typmod) */ - Oid resultcollid; /* OID of collation, or InvalidOid if none */ - CoercionForm coerceformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + /* output typmod (also element typmod) */ + int32 resulttypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid resultcollid pg_node_attr(query_jumble_ignore); + /* how to display this node */ + CoercionForm coerceformat pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } ArrayCoerceExpr; /* ---------------- @@ -929,8 +1261,9 @@ typedef struct ConvertRowtypeExpr Expr *arg; /* input expression */ Oid resulttype; /* output type (always a composite type) */ /* Like RowExpr, we deliberately omit a typmod and collation here */ - CoercionForm convertformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + /* how to display this node */ + CoercionForm convertformat pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } ConvertRowtypeExpr; /*---------- @@ -945,7 +1278,7 @@ typedef struct CollateExpr Expr xpr; Expr *arg; /* input expression */ Oid collOid; /* collation's OID */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CollateExpr; /*---------- @@ -973,12 +1306,14 @@ typedef struct CollateExpr typedef struct CaseExpr { Expr xpr; - Oid casetype; /* type of expression result */ - Oid casecollid; /* OID of collation, or InvalidOid if none */ + /* type of expression result */ + Oid casetype pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid casecollid pg_node_attr(query_jumble_ignore); Expr *arg; /* implicit equality comparison argument */ List *args; /* the arguments (list of WHEN clauses) */ Expr *defresult; /* the default result (ELSE clause) */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CaseExpr; /* @@ -989,7 +1324,7 @@ typedef struct CaseWhen Expr xpr; Expr *expr; /* condition expression */ Expr *result; /* substitution result */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } CaseWhen; /* @@ -1002,6 +1337,8 @@ typedef struct CaseWhen * see build_coercion_expression(). * * Nested FieldStore/SubscriptingRef assignment expressions in INSERT/UPDATE; * see transformAssignmentIndirection(). + * * Placeholder for intermediate results in some SQL/JSON expression nodes, + * such as JsonConstructorExpr. * * The uses in CaseExpr and ArrayCoerceExpr are safe only to the extent that * there is not any other CaseExpr or ArrayCoerceExpr between the value source @@ -1016,8 +1353,10 @@ typedef struct CaseTestExpr { Expr xpr; Oid typeId; /* type for substituted value */ - int32 typeMod; /* typemod for substituted value */ - Oid collation; /* collation for the substituted value */ + /* typemod for substituted value */ + int32 typeMod pg_node_attr(query_jumble_ignore); + /* collation for the substituted value */ + Oid collation pg_node_attr(query_jumble_ignore); } CaseTestExpr; /* @@ -1031,12 +1370,18 @@ typedef struct CaseTestExpr typedef struct ArrayExpr { Expr xpr; - Oid array_typeid; /* type of expression result */ - Oid array_collid; /* OID of collation, or InvalidOid if none */ - Oid element_typeid; /* common type of array elements */ - List *elements; /* the array elements or sub-arrays */ - bool multidims; /* true if elements are sub-arrays */ - int location; /* token location, or -1 if unknown */ + /* type of expression result */ + Oid array_typeid pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid array_collid pg_node_attr(query_jumble_ignore); + /* common type of array elements */ + Oid element_typeid pg_node_attr(query_jumble_ignore); + /* the array elements or sub-arrays */ + List *elements; + /* true if elements are sub-arrays */ + bool multidims pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } ArrayExpr; /* @@ -1064,7 +1409,9 @@ typedef struct RowExpr { Expr xpr; List *args; /* the fields */ - Oid row_typeid; /* RECORDOID or a composite type's ID */ + + /* RECORDOID or a composite type's ID */ + Oid row_typeid pg_node_attr(query_jumble_ignore); /* * row_typeid cannot be a domain over composite, only plain composite. To @@ -1078,9 +1425,14 @@ typedef struct RowExpr * We don't need to store a collation either. The result type is * necessarily composite, and composite types never have a collation. */ - CoercionForm row_format; /* how to display this node */ - List *colnames; /* list of String, or NIL */ - int location; /* token location, or -1 if unknown */ + + /* how to display this node */ + CoercionForm row_format pg_node_attr(query_jumble_ignore); + + /* list of String, or NIL */ + List *colnames pg_node_attr(query_jumble_ignore); + + ParseLoc location; /* token location, or -1 if unknown */ } RowExpr; /* @@ -1105,18 +1457,25 @@ typedef enum RowCompareType ROWCOMPARE_EQ = 3, /* BTEqualStrategyNumber */ ROWCOMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */ ROWCOMPARE_GT = 5, /* BTGreaterStrategyNumber */ - ROWCOMPARE_NE = 6 /* no such btree strategy */ + ROWCOMPARE_NE = 6, /* no such btree strategy */ } RowCompareType; typedef struct RowCompareExpr { Expr xpr; - RowCompareType rctype; /* LT LE GE or GT, never EQ or NE */ - List *opnos; /* OID list of pairwise comparison ops */ - List *opfamilies; /* OID list of containing operator families */ - List *inputcollids; /* OID list of collations for comparisons */ - List *largs; /* the left-hand input arguments */ - List *rargs; /* the right-hand input arguments */ + + /* LT LE GE or GT, never EQ or NE */ + RowCompareType rctype; + /* OID list of pairwise comparison ops */ + List *opnos pg_node_attr(query_jumble_ignore); + /* OID list of containing operator families */ + List *opfamilies pg_node_attr(query_jumble_ignore); + /* OID list of collations for comparisons */ + List *inputcollids pg_node_attr(query_jumble_ignore); + /* the left-hand input arguments */ + List *largs; + /* the right-hand input arguments */ + List *rargs; } RowCompareExpr; /* @@ -1125,10 +1484,14 @@ typedef struct RowCompareExpr typedef struct CoalesceExpr { Expr xpr; - Oid coalescetype; /* type of expression result */ - Oid coalescecollid; /* OID of collation, or InvalidOid if none */ - List *args; /* the arguments */ - int location; /* token location, or -1 if unknown */ + /* type of expression result */ + Oid coalescetype pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid coalescecollid pg_node_attr(query_jumble_ignore); + /* the arguments */ + List *args; + /* token location, or -1 if unknown */ + ParseLoc location; } CoalesceExpr; /* @@ -1143,12 +1506,18 @@ typedef enum MinMaxOp typedef struct MinMaxExpr { Expr xpr; - Oid minmaxtype; /* common type of arguments and result */ - Oid minmaxcollid; /* OID of collation of result */ - Oid inputcollid; /* OID of collation that function should use */ - MinMaxOp op; /* function to execute */ - List *args; /* the arguments */ - int location; /* token location, or -1 if unknown */ + /* common type of arguments and result */ + Oid minmaxtype pg_node_attr(query_jumble_ignore); + /* OID of collation of result */ + Oid minmaxcollid pg_node_attr(query_jumble_ignore); + /* OID of collation that function should use */ + Oid inputcollid pg_node_attr(query_jumble_ignore); + /* function to execute */ + MinMaxOp op; + /* the arguments */ + List *args; + /* token location, or -1 if unknown */ + ParseLoc location; } MinMaxExpr; /* @@ -1178,16 +1547,21 @@ typedef enum SQLValueFunctionOp SVFOP_USER, SVFOP_SESSION_USER, SVFOP_CURRENT_CATALOG, - SVFOP_CURRENT_SCHEMA + SVFOP_CURRENT_SCHEMA, } SQLValueFunctionOp; typedef struct SQLValueFunction { Expr xpr; SQLValueFunctionOp op; /* which function this is */ - Oid type; /* result type/typmod */ + + /* + * Result type/typmod. Type is fully determined by "op", so no need to + * include this Oid in the query jumbling. + */ + Oid type pg_node_attr(query_jumble_ignore); int32 typmod; - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } SQLValueFunction; /* @@ -1209,30 +1583,351 @@ typedef enum XmlExprOp IS_XMLPARSE, /* XMLPARSE(text, is_doc, preserve_ws) */ IS_XMLPI, /* XMLPI(name [, args]) */ IS_XMLROOT, /* XMLROOT(xml, version, standalone) */ - IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval) */ - IS_DOCUMENT /* xmlval IS DOCUMENT */ + IS_XMLSERIALIZE, /* XMLSERIALIZE(is_document, xmlval, indent) */ + IS_DOCUMENT, /* xmlval IS DOCUMENT */ } XmlExprOp; typedef enum XmlOptionType { XMLOPTION_DOCUMENT, - XMLOPTION_CONTENT + XMLOPTION_CONTENT, } XmlOptionType; typedef struct XmlExpr { Expr xpr; - XmlExprOp op; /* xml function ID */ - char *name; /* name in xml(NAME foo ...) syntaxes */ - List *named_args; /* non-XML expressions for xml_attributes */ - List *arg_names; /* parallel list of String values */ - List *args; /* list of expressions */ - XmlOptionType xmloption; /* DOCUMENT or CONTENT */ - Oid type; /* target type/typmod for XMLSERIALIZE */ - int32 typmod; - int location; /* token location, or -1 if unknown */ + /* xml function ID */ + XmlExprOp op; + /* name in xml(NAME foo ...) syntaxes */ + char *name pg_node_attr(query_jumble_ignore); + /* non-XML expressions for xml_attributes */ + List *named_args; + /* parallel list of String values */ + List *arg_names pg_node_attr(query_jumble_ignore); + /* list of expressions */ + List *args; + /* DOCUMENT or CONTENT */ + XmlOptionType xmloption pg_node_attr(query_jumble_ignore); + /* INDENT option for XMLSERIALIZE */ + bool indent; + /* target type/typmod for XMLSERIALIZE */ + Oid type pg_node_attr(query_jumble_ignore); + int32 typmod pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } XmlExpr; +/* + * JsonEncoding - + * representation of JSON ENCODING clause + */ +typedef enum JsonEncoding +{ + JS_ENC_DEFAULT, /* unspecified */ + JS_ENC_UTF8, + JS_ENC_UTF16, + JS_ENC_UTF32, +} JsonEncoding; + +/* + * JsonFormatType - + * enumeration of JSON formats used in JSON FORMAT clause + */ +typedef enum JsonFormatType +{ + JS_FORMAT_DEFAULT, /* unspecified */ + JS_FORMAT_JSON, /* FORMAT JSON [ENCODING ...] */ + JS_FORMAT_JSONB, /* implicit internal format for RETURNING + * jsonb */ +} JsonFormatType; + +/* + * JsonFormat - + * representation of JSON FORMAT clause + */ +typedef struct JsonFormat +{ + NodeTag type; + JsonFormatType format_type; /* format type */ + JsonEncoding encoding; /* JSON encoding */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonFormat; + +/* + * JsonReturning - + * transformed representation of JSON RETURNING clause + */ +typedef struct JsonReturning +{ + NodeTag type; + JsonFormat *format; /* output JSON format */ + Oid typid; /* target type Oid */ + int32 typmod; /* target type modifier */ +} JsonReturning; + +/* + * JsonValueExpr - + * representation of JSON value expression (expr [FORMAT JsonFormat]) + * + * raw_expr is the user-specified value, while formatted_expr is the value + * obtained by coercing raw_expr to the type required by either the FORMAT + * clause or an enclosing node's RETURNING clause. + * + * When deparsing a JsonValueExpr, get_rule_expr() prints raw_expr. However, + * during the evaluation of a JsonValueExpr, the value of formatted_expr + * takes precedence over that of raw_expr. + */ +typedef struct JsonValueExpr +{ + NodeTag type; + Expr *raw_expr; /* user-specified expression */ + Expr *formatted_expr; /* coerced formatted expression */ + JsonFormat *format; /* FORMAT clause, if specified */ +} JsonValueExpr; + +typedef enum JsonConstructorType +{ + JSCTOR_JSON_OBJECT = 1, + JSCTOR_JSON_ARRAY = 2, + JSCTOR_JSON_OBJECTAGG = 3, + JSCTOR_JSON_ARRAYAGG = 4, + JSCTOR_JSON_PARSE = 5, + JSCTOR_JSON_SCALAR = 6, + JSCTOR_JSON_SERIALIZE = 7, +} JsonConstructorType; + +/* + * JsonConstructorExpr - + * wrapper over FuncExpr/Aggref/WindowFunc for SQL/JSON constructors + */ +typedef struct JsonConstructorExpr +{ + Expr xpr; + JsonConstructorType type; /* constructor type */ + List *args; + Expr *func; /* underlying json[b]_xxx() function call */ + Expr *coercion; /* coercion to RETURNING type */ + JsonReturning *returning; /* RETURNING clause */ + bool absent_on_null; /* ABSENT ON NULL? */ + bool unique; /* WITH UNIQUE KEYS? (JSON_OBJECT[AGG] only) */ + ParseLoc location; +} JsonConstructorExpr; + +/* + * JsonValueType - + * representation of JSON item type in IS JSON predicate + */ +typedef enum JsonValueType +{ + JS_TYPE_ANY, /* IS JSON [VALUE] */ + JS_TYPE_OBJECT, /* IS JSON OBJECT */ + JS_TYPE_ARRAY, /* IS JSON ARRAY */ + JS_TYPE_SCALAR, /* IS JSON SCALAR */ +} JsonValueType; + +/* + * JsonIsPredicate - + * representation of IS JSON predicate + */ +typedef struct JsonIsPredicate +{ + NodeTag type; + Node *expr; /* subject expression */ + JsonFormat *format; /* FORMAT clause, if specified */ + JsonValueType item_type; /* JSON item type */ + bool unique_keys; /* check key uniqueness? */ + ParseLoc location; /* token location, or -1 if unknown */ +} JsonIsPredicate; + +/* Nodes used in SQL/JSON query functions */ + +/* + * JsonWrapper - + * representation of WRAPPER clause for JSON_QUERY() + */ +typedef enum JsonWrapper +{ + JSW_UNSPEC, + JSW_NONE, + JSW_CONDITIONAL, + JSW_UNCONDITIONAL, +} JsonWrapper; + +/* + * JsonBehaviorType - + * enumeration of behavior types used in SQL/JSON ON ERROR/EMPTY clauses + * + * If enum members are reordered, get_json_behavior() from ruleutils.c + * must be updated accordingly. + */ +typedef enum JsonBehaviorType +{ + JSON_BEHAVIOR_NULL = 0, + JSON_BEHAVIOR_ERROR, + JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_TRUE, + JSON_BEHAVIOR_FALSE, + JSON_BEHAVIOR_UNKNOWN, + JSON_BEHAVIOR_EMPTY_ARRAY, + JSON_BEHAVIOR_EMPTY_OBJECT, + JSON_BEHAVIOR_DEFAULT, +} JsonBehaviorType; + +/* + * JsonBehavior + * Specifications for ON ERROR / ON EMPTY behaviors of SQL/JSON + * query functions specified by a JsonExpr + * + * 'expr' is the expression to emit when a given behavior (EMPTY or ERROR) + * occurs on evaluating the SQL/JSON query function. 'coerce' is set to true + * if 'expr' isn't already of the expected target type given by + * JsonExpr.returning. + */ +typedef struct JsonBehavior +{ + NodeTag type; + + JsonBehaviorType btype; + Node *expr; + bool coerce; + ParseLoc location; /* token location, or -1 if unknown */ +} JsonBehavior; + +/* + * JsonExprOp - + * enumeration of SQL/JSON query function types + */ +typedef enum JsonExprOp +{ + JSON_EXISTS_OP, /* JSON_EXISTS() */ + JSON_QUERY_OP, /* JSON_QUERY() */ + JSON_VALUE_OP, /* JSON_VALUE() */ + JSON_TABLE_OP, /* JSON_TABLE() */ +} JsonExprOp; + +/* + * JsonExpr - + * Transformed representation of JSON_VALUE(), JSON_QUERY(), and + * JSON_EXISTS() + */ +typedef struct JsonExpr +{ + Expr xpr; + + JsonExprOp op; + + char *column_name; /* JSON_TABLE() column name or NULL if this is + * not for a JSON_TABLE() */ + + /* jsonb-valued expression to query */ + Node *formatted_expr; + + /* Format of the above expression needed by ruleutils.c */ + JsonFormat *format; + + /* jsonpath-valued expression containing the query pattern */ + Node *path_spec; + + /* Expected type/format of the output. */ + JsonReturning *returning; + + /* Information about the PASSING argument expressions */ + List *passing_names; + List *passing_values; + + /* User-specified or default ON EMPTY and ON ERROR behaviors */ + JsonBehavior *on_empty; + JsonBehavior *on_error; + + /* + * Information about converting the result of jsonpath functions + * JsonPathQuery() and JsonPathValue() to the RETURNING type. + */ + bool use_io_coercion; + bool use_json_coercion; + + /* WRAPPER specification for JSON_QUERY */ + JsonWrapper wrapper; + + /* KEEP or OMIT QUOTES for singleton scalars returned by JSON_QUERY() */ + bool omit_quotes; + + /* JsonExpr's collation. */ + Oid collation; + + /* Original JsonFuncExpr's location */ + ParseLoc location; +} JsonExpr; + +/* + * JsonTablePath + * A JSON path expression to be computed as part of evaluating + * a JSON_TABLE plan node + */ +typedef struct JsonTablePath +{ + NodeTag type; + + Const *value; + char *name; +} JsonTablePath; + +/* + * JsonTablePlan - + * Abstract class to represent different types of JSON_TABLE "plans". + * A plan is used to generate a "row pattern" value by evaluating a JSON + * path expression against an input JSON document, which is then used for + * populating JSON_TABLE() columns + */ +typedef struct JsonTablePlan +{ + pg_node_attr(abstract) + + NodeTag type; +} JsonTablePlan; + +/* + * JSON_TABLE plan to evaluate a JSON path expression and NESTED paths, if + * any. + */ +typedef struct JsonTablePathScan +{ + JsonTablePlan plan; + + /* JSON path to evaluate */ + JsonTablePath *path; + + /* + * ERROR/EMPTY ON ERROR behavior; only significant in the plan for the + * top-level path. + */ + bool errorOnError; + + /* Plan(s) for nested columns, if any. */ + JsonTablePlan *child; + + /* + * 0-based index in TableFunc.colvalexprs of the 1st and the last column + * covered by this plan. Both are -1 if all columns are nested and thus + * computed by the child plan(s). + */ + int colMin; + int colMax; +} JsonTablePathScan; + +/* + * JsonTableSiblingJoin - + * Plan to join rows of sibling NESTED COLUMNS clauses in the same parent + * COLUMNS clause + */ +typedef struct JsonTableSiblingJoin +{ + JsonTablePlan plan; + + JsonTablePlan *lplan; + JsonTablePlan *rplan; +} JsonTableSiblingJoin; + /* ---------------- * NullTest * @@ -1262,8 +1957,9 @@ typedef struct NullTest Expr xpr; Expr *arg; /* input expression */ NullTestType nulltesttype; /* IS NULL, IS NOT NULL */ - bool argisrow; /* T to perform field-by-field null checks */ - int location; /* token location, or -1 if unknown */ + /* T to perform field-by-field null checks */ + bool argisrow pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } NullTest; /* @@ -1285,9 +1981,38 @@ typedef struct BooleanTest Expr xpr; Expr *arg; /* input expression */ BoolTestType booltesttype; /* test type */ - int location; /* token location, or -1 if unknown */ + ParseLoc location; /* token location, or -1 if unknown */ } BooleanTest; + +/* + * MergeAction + * + * Transformed representation of a WHEN clause in a MERGE statement + */ + +typedef enum MergeMatchKind +{ + MERGE_WHEN_MATCHED, + MERGE_WHEN_NOT_MATCHED_BY_SOURCE, + MERGE_WHEN_NOT_MATCHED_BY_TARGET +} MergeMatchKind; + +#define NUM_MERGE_MATCH_KINDS (MERGE_WHEN_NOT_MATCHED_BY_TARGET + 1) + +typedef struct MergeAction +{ + NodeTag type; + MergeMatchKind matchKind; /* MATCHED/NOT MATCHED BY SOURCE/TARGET */ + CmdType commandType; /* INSERT/UPDATE/DELETE/DO NOTHING */ + /* OVERRIDING clause */ + OverridingKind override pg_node_attr(query_jumble_ignore); + Node *qual; /* transformed WHEN conditions */ + List *targetList; /* the target list (of TargetEntry) */ + /* target attribute numbers of an UPDATE */ + List *updateColnos pg_node_attr(query_jumble_ignore); +} MergeAction; + /* * CoerceToDomain * @@ -1302,10 +2027,13 @@ typedef struct CoerceToDomain Expr xpr; Expr *arg; /* input expression */ Oid resulttype; /* domain type ID (result type) */ - int32 resulttypmod; /* output typmod (currently always -1) */ - Oid resultcollid; /* OID of collation, or InvalidOid if none */ - CoercionForm coercionformat; /* how to display this node */ - int location; /* token location, or -1 if unknown */ + /* output typmod (currently always -1) */ + int32 resulttypmod pg_node_attr(query_jumble_ignore); + /* OID of collation, or InvalidOid if none */ + Oid resultcollid pg_node_attr(query_jumble_ignore); + /* how to display this node */ + CoercionForm coercionformat pg_node_attr(query_jumble_ignore); + ParseLoc location; /* token location, or -1 if unknown */ } CoerceToDomain; /* @@ -1320,10 +2048,14 @@ typedef struct CoerceToDomain typedef struct CoerceToDomainValue { Expr xpr; - Oid typeId; /* type for substituted value */ - int32 typeMod; /* typemod for substituted value */ - Oid collation; /* collation for the substituted value */ - int location; /* token location, or -1 if unknown */ + /* type for substituted value */ + Oid typeId; + /* typemod for substituted value */ + int32 typeMod pg_node_attr(query_jumble_ignore); + /* collation for the substituted value */ + Oid collation pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } CoerceToDomainValue; /* @@ -1336,10 +2068,14 @@ typedef struct CoerceToDomainValue typedef struct SetToDefault { Expr xpr; - Oid typeId; /* type for substituted value */ - int32 typeMod; /* typemod for substituted value */ - Oid collation; /* collation for the substituted value */ - int location; /* token location, or -1 if unknown */ + /* type for substituted value */ + Oid typeId; + /* typemod for substituted value */ + int32 typeMod pg_node_attr(query_jumble_ignore); + /* collation for the substituted value */ + Oid collation pg_node_attr(query_jumble_ignore); + /* token location, or -1 if unknown */ + ParseLoc location; } SetToDefault; /* @@ -1450,15 +2186,20 @@ typedef struct InferenceElem typedef struct TargetEntry { Expr xpr; - Expr *expr; /* expression to evaluate */ - AttrNumber resno; /* attribute number (see notes above) */ - char *resname; /* name of the column (could be NULL) */ - Index ressortgroupref; /* nonzero if referenced by a sort/group - * clause */ - Oid resorigtbl; /* OID of column's source table */ - AttrNumber resorigcol; /* column's number in source table */ - bool resjunk; /* set to true to eliminate the attribute from - * final target list */ + /* expression to evaluate */ + Expr *expr; + /* attribute number (see notes above) */ + AttrNumber resno; + /* name of the column (could be NULL) */ + char *resname pg_node_attr(query_jumble_ignore); + /* nonzero if referenced by a sort/group clause */ + Index ressortgroupref; + /* OID of column's source table */ + Oid resorigtbl pg_node_attr(query_jumble_ignore); + /* column's number in source table */ + AttrNumber resorigcol pg_node_attr(query_jumble_ignore); + /* set to true to eliminate the attribute from final target list */ + bool resjunk pg_node_attr(query_jumble_ignore); } TargetEntry; @@ -1540,11 +2281,16 @@ typedef struct JoinExpr bool isNatural; /* Natural join? Will need to shape table */ Node *larg; /* left subtree */ Node *rarg; /* right subtree */ - List *usingClause; /* USING clause, if any (list of String) */ - Alias *join_using_alias; /* alias attached to USING clause, if any */ - Node *quals; /* qualifiers on join, if any */ - Alias *alias; /* user-written alias clause, if any */ - int rtindex; /* RT index assigned for join, or 0 */ + /* USING clause, if any (list of String) */ + List *usingClause pg_node_attr(query_jumble_ignore); + /* alias attached to USING clause, if any */ + Alias *join_using_alias pg_node_attr(query_jumble_ignore); + /* qualifiers on join, if any */ + Node *quals; + /* user-written alias clause, if any */ + Alias *alias pg_node_attr(query_jumble_ignore); + /* RT index assigned for join, or 0 */ + int rtindex; } JoinExpr; /*---------- diff --git a/parser/include/nodes/print.h b/parser/include/postgres/nodes/print.h similarity index 94% rename from parser/include/nodes/print.h rename to parser/include/postgres/nodes/print.h index be5e2287..333103a4 100644 --- a/parser/include/nodes/print.h +++ b/parser/include/postgres/nodes/print.h @@ -4,7 +4,7 @@ * definitions for nodes/print.c * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/nodes/print.h diff --git a/parser/include/utils/queryjumble.h b/parser/include/postgres/nodes/queryjumble.h similarity index 86% rename from parser/include/utils/queryjumble.h rename to parser/include/postgres/nodes/queryjumble.h index 3c2d9bea..f1c55c80 100644 --- a/parser/include/utils/queryjumble.h +++ b/parser/include/postgres/nodes/queryjumble.h @@ -3,21 +3,19 @@ * queryjumble.h * Query normalization and fingerprinting. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * src/include/utils/queryjumble.h + * src/include/nodes/queryjumble.h * *------------------------------------------------------------------------- */ -#ifndef QUERYJUBLE_H -#define QUERYJUBLE_H +#ifndef QUERYJUMBLE_H +#define QUERYJUMBLE_H #include "nodes/parsenodes.h" -#define JUMBLE_SIZE 1024 /* query serialization buffer size */ - /* * Struct for tracking locations/lengths of constants during normalization */ @@ -58,7 +56,7 @@ enum ComputeQueryIdType COMPUTE_QUERY_ID_OFF, COMPUTE_QUERY_ID_ON, COMPUTE_QUERY_ID_AUTO, - COMPUTE_QUERY_ID_REGRESS + COMPUTE_QUERY_ID_REGRESS, }; /* GUC parameters */ @@ -66,7 +64,7 @@ extern PGDLLIMPORT int compute_query_id; extern const char *CleanQuerytext(const char *query, int *location, int *len); -extern JumbleState *JumbleQuery(Query *query, const char *querytext); +extern JumbleState *JumbleQuery(Query *query); extern void EnableQueryId(void); extern PGDLLIMPORT bool query_id_enabled; diff --git a/parser/include/postgres/nodes/replnodes.h b/parser/include/postgres/nodes/replnodes.h new file mode 100644 index 00000000..ed23333e --- /dev/null +++ b/parser/include/postgres/nodes/replnodes.h @@ -0,0 +1,132 @@ +/*------------------------------------------------------------------------- + * + * replnodes.h + * definitions for replication grammar parse nodes + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/nodes/replnodes.h + * + *------------------------------------------------------------------------- + */ +#ifndef REPLNODES_H +#define REPLNODES_H + +#include "access/xlogdefs.h" +#include "nodes/pg_list.h" + +typedef enum ReplicationKind +{ + REPLICATION_KIND_PHYSICAL, + REPLICATION_KIND_LOGICAL, +} ReplicationKind; + + +/* ---------------------- + * IDENTIFY_SYSTEM command + * ---------------------- + */ +typedef struct IdentifySystemCmd +{ + NodeTag type; +} IdentifySystemCmd; + + +/* ---------------------- + * BASE_BACKUP command + * ---------------------- + */ +typedef struct BaseBackupCmd +{ + NodeTag type; + List *options; +} BaseBackupCmd; + + +/* ---------------------- + * CREATE_REPLICATION_SLOT command + * ---------------------- + */ +typedef struct CreateReplicationSlotCmd +{ + NodeTag type; + char *slotname; + ReplicationKind kind; + char *plugin; + bool temporary; + List *options; +} CreateReplicationSlotCmd; + + +/* ---------------------- + * DROP_REPLICATION_SLOT command + * ---------------------- + */ +typedef struct DropReplicationSlotCmd +{ + NodeTag type; + char *slotname; + bool wait; +} DropReplicationSlotCmd; + + +/* ---------------------- + * ALTER_REPLICATION_SLOT command + * ---------------------- + */ +typedef struct AlterReplicationSlotCmd +{ + NodeTag type; + char *slotname; + List *options; +} AlterReplicationSlotCmd; + + +/* ---------------------- + * START_REPLICATION command + * ---------------------- + */ +typedef struct StartReplicationCmd +{ + NodeTag type; + ReplicationKind kind; + char *slotname; + TimeLineID timeline; + XLogRecPtr startpoint; + List *options; +} StartReplicationCmd; + + +/* ---------------------- + * READ_REPLICATION_SLOT command + * ---------------------- + */ +typedef struct ReadReplicationSlotCmd +{ + NodeTag type; + char *slotname; +} ReadReplicationSlotCmd; + + +/* ---------------------- + * TIMELINE_HISTORY command + * ---------------------- + */ +typedef struct TimeLineHistoryCmd +{ + NodeTag type; + TimeLineID timeline; +} TimeLineHistoryCmd; + +/* ---------------------- + * UPLOAD_MANIFEST command + * ---------------------- + */ +typedef struct UploadManifestCmd +{ + NodeTag type; +} UploadManifestCmd; + +#endif /* REPLNODES_H */ diff --git a/parser/include/postgres/nodes/supportnodes.h b/parser/include/postgres/nodes/supportnodes.h new file mode 100644 index 00000000..5f7bcde8 --- /dev/null +++ b/parser/include/postgres/nodes/supportnodes.h @@ -0,0 +1,346 @@ +/*------------------------------------------------------------------------- + * + * supportnodes.h + * Definitions for planner support functions. + * + * This file defines the API for "planner support functions", which + * are SQL functions (normally written in C) that can be attached to + * another "target" function to give the system additional knowledge + * about the target function. All the current capabilities have to do + * with planning queries that use the target function, though it is + * possible that future extensions will add functionality to be invoked + * by the parser or executor. + * + * A support function must have the SQL signature + * supportfn(internal) returns internal + * The argument is a pointer to one of the Node types defined in this file. + * The result is usually also a Node pointer, though its type depends on + * which capability is being invoked. In all cases, a NULL pointer result + * (that's PG_RETURN_POINTER(NULL), not PG_RETURN_NULL()) indicates that + * the support function cannot do anything useful for the given request. + * Support functions must return a NULL pointer, not fail, if they do not + * recognize the request node type or cannot handle the given case; this + * allows for future extensions of the set of request cases. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/nodes/supportnodes.h + * + *------------------------------------------------------------------------- + */ +#ifndef SUPPORTNODES_H +#define SUPPORTNODES_H + +#include "nodes/plannodes.h" + +struct PlannerInfo; /* avoid including pathnodes.h here */ +struct IndexOptInfo; +struct SpecialJoinInfo; +struct WindowClause; + +/* + * The Simplify request allows the support function to perform plan-time + * simplification of a call to its target function. For example, a varchar + * length coercion that does not decrease the allowed length of its argument + * could be replaced by a RelabelType node, or "x + 0" could be replaced by + * "x". This is invoked during the planner's constant-folding pass, so the + * function's arguments can be presumed already simplified. + * + * The planner's PlannerInfo "root" is typically not needed, but can be + * consulted if it's necessary to obtain info about Vars present in + * the given node tree. Beware that root could be NULL in some usages. + * + * "fcall" will be a FuncExpr invoking the support function's target + * function. (This is true even if the original parsetree node was an + * operator call; a FuncExpr is synthesized for this purpose.) + * + * The result should be a semantically-equivalent transformed node tree, + * or NULL if no simplification could be performed. Do *not* return or + * modify *fcall, as it isn't really a separately allocated Node. But + * it's okay to use fcall->args, or parts of it, in the result tree. + */ +typedef struct SupportRequestSimplify +{ + NodeTag type; + + struct PlannerInfo *root; /* Planner's infrastructure */ + FuncExpr *fcall; /* Function call to be simplified */ +} SupportRequestSimplify; + +/* + * The Selectivity request allows the support function to provide a + * selectivity estimate for a function appearing at top level of a WHERE + * clause (so it applies only to functions returning boolean). + * + * The input arguments are the same as are supplied to operator restriction + * and join estimators, except that we unify those two APIs into just one + * request type. See clause_selectivity() for the details. + * + * If an estimate can be made, store it into the "selectivity" field and + * return the address of the SupportRequestSelectivity node; the estimate + * must be between 0 and 1 inclusive. Return NULL if no estimate can be + * made (in which case the planner will fall back to a default estimate, + * traditionally 1/3). + * + * If the target function is being used as the implementation of an operator, + * the support function will not be used for this purpose; the operator's + * restriction or join estimator is consulted instead. + */ +typedef struct SupportRequestSelectivity +{ + NodeTag type; + + /* Input fields: */ + struct PlannerInfo *root; /* Planner's infrastructure */ + Oid funcid; /* function we are inquiring about */ + List *args; /* pre-simplified arguments to function */ + Oid inputcollid; /* function's input collation */ + bool is_join; /* is this a join or restriction case? */ + int varRelid; /* if restriction, RTI of target relation */ + JoinType jointype; /* if join, outer join type */ + struct SpecialJoinInfo *sjinfo; /* if outer join, info about join */ + + /* Output fields: */ + Selectivity selectivity; /* returned selectivity estimate */ +} SupportRequestSelectivity; + +/* + * The Cost request allows the support function to provide an execution + * cost estimate for its target function. The cost estimate can include + * both a one-time (query startup) component and a per-execution component. + * The estimate should *not* include the costs of evaluating the target + * function's arguments, only the target function itself. + * + * The "node" argument is normally the parse node that is invoking the + * target function. This is a FuncExpr in the simplest case, but it could + * also be an OpExpr, DistinctExpr, NullIfExpr, or WindowFunc, or possibly + * other cases in future. NULL is passed if the function cannot presume + * its arguments to be equivalent to what the calling node presents as + * arguments; that happens for, e.g., aggregate support functions and + * per-column comparison operators used by RowExprs. + * + * If an estimate can be made, store it into the cost fields and return the + * address of the SupportRequestCost node. Return NULL if no estimate can be + * made, in which case the planner will rely on the target function's procost + * field. (Note: while procost is automatically scaled by cpu_operator_cost, + * this is not the case for the outputs of the Cost request; the support + * function must scale its results appropriately on its own.) + */ +typedef struct SupportRequestCost +{ + NodeTag type; + + /* Input fields: */ + struct PlannerInfo *root; /* Planner's infrastructure (could be NULL) */ + Oid funcid; /* function we are inquiring about */ + Node *node; /* parse node invoking function, or NULL */ + + /* Output fields: */ + Cost startup; /* one-time cost */ + Cost per_tuple; /* per-evaluation cost */ +} SupportRequestCost; + +/* + * The Rows request allows the support function to provide an output rowcount + * estimate for its target function (so it applies only to set-returning + * functions). + * + * The "node" argument is the parse node that is invoking the target function; + * currently this will always be a FuncExpr or OpExpr. + * + * If an estimate can be made, store it into the rows field and return the + * address of the SupportRequestRows node. Return NULL if no estimate can be + * made, in which case the planner will rely on the target function's prorows + * field. + */ +typedef struct SupportRequestRows +{ + NodeTag type; + + /* Input fields: */ + struct PlannerInfo *root; /* Planner's infrastructure (could be NULL) */ + Oid funcid; /* function we are inquiring about */ + Node *node; /* parse node invoking function */ + + /* Output fields: */ + double rows; /* number of rows expected to be returned */ +} SupportRequestRows; + +/* + * The IndexCondition request allows the support function to generate + * a directly-indexable condition based on a target function call that is + * not itself indexable. The target function call must appear at the top + * level of WHERE or JOIN/ON, so this applies only to functions returning + * boolean. + * + * The "node" argument is the parse node that is invoking the target function; + * currently this will always be a FuncExpr or OpExpr. The call is made + * only if at least one function argument matches an index column's variable + * or expression. "indexarg" identifies the matching argument (it's the + * argument's zero-based index in the node's args list). + * + * If the transformation is possible, return a List of directly-indexable + * condition expressions, else return NULL. (A List is used because it's + * sometimes useful to generate more than one indexable condition, such as + * when a LIKE with constant prefix gives rise to both >= and < conditions.) + * + * "Directly indexable" means that the condition must be directly executable + * by the index machinery. Typically this means that it is a binary OpExpr + * with the index column value on the left, a pseudo-constant on the right, + * and an operator that is in the index column's operator family. Other + * possibilities include RowCompareExpr, ScalarArrayOpExpr, and NullTest, + * depending on the index type; but those seem less likely to be useful for + * derived index conditions. "Pseudo-constant" means that the right-hand + * expression must not contain any volatile functions, nor any Vars of the + * table the index is for; use is_pseudo_constant_for_index() to check this. + * (Note: if the passed "node" is an OpExpr, the core planner already verified + * that the non-indexkey operand is pseudo-constant; but when the "node" + * is a FuncExpr, it does not check, since it doesn't know which of the + * function's arguments you might need to use in an index comparison value.) + * + * In many cases, an index condition can be generated but it is weaker than + * the function condition itself; for example, a LIKE with a constant prefix + * can produce an index range check based on the prefix, but we still need + * to execute the LIKE operator to verify the rest of the pattern. We say + * that such an index condition is "lossy". When returning an index condition, + * you should set the "lossy" request field to true if the condition is lossy, + * or false if it is an exact equivalent of the function's result. The core + * code will initialize that field to true, which is the common case. + * + * It is important to verify that the index operator family is the correct + * one for the condition you want to generate. Core support functions tend + * to use the known OID of a built-in opfamily for this, but extensions need + * to work harder, since their OIDs aren't fixed. A possibly workable + * answer for an index on an extension datatype is to verify the index AM's + * OID instead, and then assume that there's only one relevant opclass for + * your datatype so the opfamily must be the right one. Generating OpExpr + * nodes may also require knowing extension datatype OIDs (often you can + * find these out by applying exprType() to a function argument) and + * operator OIDs (which you can look up using get_opfamily_member). + */ +typedef struct SupportRequestIndexCondition +{ + NodeTag type; + + /* Input fields: */ + struct PlannerInfo *root; /* Planner's infrastructure */ + Oid funcid; /* function we are inquiring about */ + Node *node; /* parse node invoking function */ + int indexarg; /* index of function arg matching indexcol */ + struct IndexOptInfo *index; /* planner's info about target index */ + int indexcol; /* index of target index column (0-based) */ + Oid opfamily; /* index column's operator family */ + Oid indexcollation; /* index column's collation */ + + /* Output fields: */ + bool lossy; /* set to false if index condition is an exact + * equivalent of the function call */ +} SupportRequestIndexCondition; + +/* ---------- + * To support more efficient query execution of any monotonically increasing + * and/or monotonically decreasing window functions, we support calling the + * window function's prosupport function passing along this struct whenever + * the planner sees an OpExpr qual directly reference a window function in a + * subquery. When the planner encounters this, we populate this struct and + * pass it along to the window function's prosupport function so that it can + * evaluate if the given WindowFunc is; + * + * a) monotonically increasing, or + * b) monotonically decreasing, or + * c) both monotonically increasing and decreasing, or + * d) none of the above. + * + * A function that is monotonically increasing can never return a value that + * is lower than a value returned in a "previous call". A monotonically + * decreasing function can never return a value higher than a value returned + * in a previous call. A function that is both must return the same value + * each time. + * + * We define "previous call" to mean a previous call to the same WindowFunc + * struct in the same window partition. + * + * row_number() is an example of a monotonically increasing function. The + * return value will be reset back to 1 in each new partition. An example of + * a monotonically increasing and decreasing function is COUNT(*) OVER (). + * Since there is no ORDER BY clause in this example, all rows in the + * partition are peers and all rows within the partition will be within the + * frame bound. Likewise for COUNT(*) OVER(ORDER BY a ROWS BETWEEN UNBOUNDED + * PRECEDING AND UNBOUNDED FOLLOWING). + * + * COUNT(*) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) + * is an example of a monotonically decreasing function. + * + * Implementations must only concern themselves with the given WindowFunc + * being monotonic in a single partition. + * + * Inputs: + * 'window_func' is the pointer to the window function being called. + * + * 'window_clause' pointer to the WindowClause data. Support functions can + * use this to check frame bounds, etc. + * + * Outputs: + * 'monotonic' the resulting MonotonicFunction value for the given input + * window function and window clause. + * ---------- + */ +typedef struct SupportRequestWFuncMonotonic +{ + NodeTag type; + + /* Input fields: */ + WindowFunc *window_func; /* Pointer to the window function data */ + struct WindowClause *window_clause; /* Pointer to the window clause data */ + + /* Output fields: */ + MonotonicFunction monotonic; +} SupportRequestWFuncMonotonic; + +/* + * Some WindowFunc behavior might not be affected by certain variations in + * the WindowClause's frameOptions. For example, row_number() is coded in + * such a way that the frame options don't change the returned row number. + * nodeWindowAgg.c will have less work to do if the ROWS option is used + * instead of the RANGE option as no check needs to be done for peer rows. + * Since RANGE is included in the default frame options, window functions + * such as row_number() might want to change that to ROW. + * + * Here we allow a WindowFunc's support function to determine which, if + * anything, can be changed about the WindowClause which the WindowFunc + * belongs to. Currently only the frameOptions can be modified. However, + * we may want to allow more optimizations in the future. + * + * The support function is responsible for ensuring the optimized version of + * the frameOptions doesn't affect the result of the window function. The + * planner is responsible for only changing the frame options when all + * WindowFuncs using this particular WindowClause agree on what the optimized + * version of the frameOptions are. If a particular WindowFunc being used + * does not have a support function then the planner will not make any changes + * to the WindowClause's frameOptions. + * + * 'window_func' and 'window_clause' are set by the planner before calling the + * support function so that the support function has these fields available. + * These may be required in order to determine which optimizations are + * possible. + * + * 'frameOptions' is set by the planner to WindowClause.frameOptions. The + * support function must only adjust this if optimizations are possible for + * the given WindowFunc. + */ +typedef struct SupportRequestOptimizeWindowClause +{ + NodeTag type; + + /* Input fields: */ + WindowFunc *window_func; /* Pointer to the window function data */ + struct WindowClause *window_clause; /* Pointer to the window clause data */ + + /* Input/Output fields: */ + int frameOptions; /* New frameOptions, or left untouched if no + * optimizations are possible. */ +} SupportRequestOptimizeWindowClause; + +#endif /* SUPPORTNODES_H */ diff --git a/parser/include/nodes/tidbitmap.h b/parser/include/postgres/nodes/tidbitmap.h similarity index 97% rename from parser/include/nodes/tidbitmap.h rename to parser/include/postgres/nodes/tidbitmap.h index 64ed8d16..1945f063 100644 --- a/parser/include/nodes/tidbitmap.h +++ b/parser/include/postgres/nodes/tidbitmap.h @@ -13,7 +13,7 @@ * fact that a particular page needs to be visited. * * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/tidbitmap.h * diff --git a/parser/include/nodes/value.h b/parser/include/postgres/nodes/value.h similarity index 87% rename from parser/include/nodes/value.h rename to parser/include/postgres/nodes/value.h index eaf93705..8072cfb3 100644 --- a/parser/include/nodes/value.h +++ b/parser/include/postgres/nodes/value.h @@ -4,7 +4,7 @@ * interface for value nodes * * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/nodes/value.h * @@ -27,6 +27,8 @@ typedef struct Integer { + pg_node_attr(special_read_write) + NodeTag type; int ival; } Integer; @@ -44,24 +46,32 @@ typedef struct Integer */ typedef struct Float { + pg_node_attr(special_read_write) + NodeTag type; char *fval; } Float; typedef struct Boolean { + pg_node_attr(special_read_write) + NodeTag type; bool boolval; } Boolean; typedef struct String { + pg_node_attr(special_read_write) + NodeTag type; char *sval; } String; typedef struct BitString { + pg_node_attr(special_read_write) + NodeTag type; char *bsval; } BitString; @@ -73,7 +83,7 @@ typedef struct BitString extern Integer *makeInteger(int i); extern Float *makeFloat(char *numericStr); -extern Boolean *makeBoolean(bool var); +extern Boolean *makeBoolean(bool val); extern String *makeString(char *str); extern BitString *makeBitString(char *str); diff --git a/parser/include/optimizer/cost.h b/parser/include/postgres/optimizer/cost.h similarity index 94% rename from parser/include/optimizer/cost.h rename to parser/include/postgres/optimizer/cost.h index bc12071a..b1c51a4e 100644 --- a/parser/include/optimizer/cost.h +++ b/parser/include/postgres/optimizer/cost.h @@ -4,7 +4,7 @@ * prototypes for costsize.c and clausesel.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/cost.h @@ -37,7 +37,7 @@ typedef enum { CONSTRAINT_EXCLUSION_OFF, /* do not use c_e */ CONSTRAINT_EXCLUSION_ON, /* apply c_e to all rels */ - CONSTRAINT_EXCLUSION_PARTITION /* apply c_e to otherrels only */ + CONSTRAINT_EXCLUSION_PARTITION, /* apply c_e to otherrels only */ } ConstraintExclusionType; @@ -68,6 +68,7 @@ extern PGDLLIMPORT bool enable_partitionwise_aggregate; extern PGDLLIMPORT bool enable_parallel_append; extern PGDLLIMPORT bool enable_parallel_hash; extern PGDLLIMPORT bool enable_partition_pruning; +extern PGDLLIMPORT bool enable_presorted_aggregate; extern PGDLLIMPORT bool enable_async_append; extern PGDLLIMPORT int constraint_exclusion; @@ -91,7 +92,8 @@ extern void cost_tidrangescan(Path *path, PlannerInfo *root, RelOptInfo *baserel, List *tidrangequals, ParamPathInfo *param_info); extern void cost_subqueryscan(SubqueryScanPath *path, PlannerInfo *root, - RelOptInfo *baserel, ParamPathInfo *param_info); + RelOptInfo *baserel, ParamPathInfo *param_info, + bool trivial_pathtarget); extern void cost_functionscan(Path *path, PlannerInfo *root, RelOptInfo *baserel, ParamPathInfo *param_info); extern void cost_valuesscan(Path *path, PlannerInfo *root, @@ -114,7 +116,7 @@ extern void cost_incremental_sort(Path *path, Cost input_startup_cost, Cost input_total_cost, double input_tuples, int width, Cost comparison_cost, int sort_mem, double limit_tuples); -extern void cost_append(AppendPath *path); +extern void cost_append(AppendPath *apath); extern void cost_merge_append(Path *path, PlannerInfo *root, List *pathkeys, int n_streams, Cost input_startup_cost, Cost input_total_cost, @@ -129,7 +131,7 @@ extern void cost_agg(Path *path, PlannerInfo *root, Cost input_startup_cost, Cost input_total_cost, double input_tuples, double input_width); extern void cost_windowagg(Path *path, PlannerInfo *root, - List *windowFuncs, int numPartCols, int numOrderCols, + List *windowFuncs, WindowClause *winclause, Cost input_startup_cost, Cost input_total_cost, double input_tuples); extern void cost_group(Path *path, PlannerInfo *root, @@ -166,7 +168,7 @@ extern void final_cost_hashjoin(PlannerInfo *root, HashPath *path, JoinCostWorkspace *workspace, JoinPathExtraData *extra); extern void cost_gather(GatherPath *path, PlannerInfo *root, - RelOptInfo *baserel, ParamPathInfo *param_info, double *rows); + RelOptInfo *rel, ParamPathInfo *param_info, double *rows); extern void cost_gather_merge(GatherMergePath *path, PlannerInfo *root, RelOptInfo *rel, ParamPathInfo *param_info, Cost input_startup_cost, Cost input_total_cost, @@ -208,6 +210,7 @@ extern void set_result_size_estimates(PlannerInfo *root, RelOptInfo *rel); extern void set_foreign_size_estimates(PlannerInfo *root, RelOptInfo *rel); extern PathTarget *set_pathtarget_cost_width(PlannerInfo *root, PathTarget *target); extern double compute_bitmap_pages(PlannerInfo *root, RelOptInfo *baserel, - Path *bitmapqual, int loop_count, Cost *cost, double *tuple); + Path *bitmapqual, double loop_count, + Cost *cost_p, double *tuples_p); #endif /* COST_H */ diff --git a/parser/include/optimizer/geqo.h b/parser/include/postgres/optimizer/geqo.h similarity index 97% rename from parser/include/optimizer/geqo.h rename to parser/include/postgres/optimizer/geqo.h index d3993233..c52906d0 100644 --- a/parser/include/optimizer/geqo.h +++ b/parser/include/postgres/optimizer/geqo.h @@ -3,7 +3,7 @@ * geqo.h * prototypes for various files in optimizer/geqo * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/geqo.h diff --git a/parser/include/optimizer/geqo_gene.h b/parser/include/postgres/optimizer/geqo_gene.h similarity index 94% rename from parser/include/optimizer/geqo_gene.h rename to parser/include/postgres/optimizer/geqo_gene.h index 414f54d1..49b31bae 100644 --- a/parser/include/optimizer/geqo_gene.h +++ b/parser/include/postgres/optimizer/geqo_gene.h @@ -3,7 +3,7 @@ * geqo_gene.h * genome representation in optimizer/geqo * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/geqo_gene.h diff --git a/parser/include/postgres/optimizer/gokeep.go b/parser/include/postgres/optimizer/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/optimizer/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/optimizer/optimizer.h b/parser/include/postgres/optimizer/optimizer.h similarity index 93% rename from parser/include/optimizer/optimizer.h rename to parser/include/postgres/optimizer/optimizer.h index 409005ba..7b63c5cf 100644 --- a/parser/include/optimizer/optimizer.h +++ b/parser/include/postgres/optimizer/optimizer.h @@ -12,7 +12,7 @@ * example. For the most part, however, code outside the core planner * should not need to include any optimizer/ header except this one. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/optimizer.h @@ -90,6 +90,7 @@ extern PGDLLIMPORT double recursive_worktable_factor; extern PGDLLIMPORT int effective_cache_size; extern double clamp_row_est(double nrows); +extern int32 clamp_width_est(int64 tuple_width); extern long clamp_cardinality_to_long(Cardinality x); /* in path/indxpath.c: */ @@ -99,16 +100,16 @@ extern bool is_pseudo_constant_for_index(PlannerInfo *root, Node *expr, /* in plan/planner.c: */ -/* possible values for force_parallel_mode */ +/* possible values for debug_parallel_query */ typedef enum { - FORCE_PARALLEL_OFF, - FORCE_PARALLEL_ON, - FORCE_PARALLEL_REGRESS -} ForceParallelMode; + DEBUG_PARALLEL_OFF, + DEBUG_PARALLEL_ON, + DEBUG_PARALLEL_REGRESS, +} DebugParallelMode; /* GUC parameters */ -extern PGDLLIMPORT int force_parallel_mode; +extern PGDLLIMPORT int debug_parallel_query; extern PGDLLIMPORT bool parallel_leader_participation; extern struct PlannedStmt *planner(Query *parse, const char *query_string, @@ -138,7 +139,9 @@ extern Expr *canonicalize_qual(Expr *qual, bool is_check); /* in util/clauses.c: */ extern bool contain_mutable_functions(Node *clause); +extern bool contain_mutable_functions_after_planning(Expr *expr); extern bool contain_volatile_functions(Node *clause); +extern bool contain_volatile_functions_after_planning(Expr *expr); extern bool contain_volatile_functions_not_nextval(Node *clause); extern Node *eval_const_expressions(PlannerInfo *root, Node *node); @@ -197,6 +200,6 @@ extern bool contain_var_clause(Node *node); extern bool contain_vars_of_level(Node *node, int levelsup); extern int locate_var_of_level(Node *node, int levelsup); extern List *pull_var_clause(Node *node, int flags); -extern Node *flatten_join_alias_vars(Query *query, Node *node); +extern Node *flatten_join_alias_vars(PlannerInfo *root, Query *query, Node *node); #endif /* OPTIMIZER_H */ diff --git a/parser/include/optimizer/paths.h b/parser/include/postgres/optimizer/paths.h similarity index 88% rename from parser/include/optimizer/paths.h rename to parser/include/postgres/optimizer/paths.h index e313eb21..5e88c022 100644 --- a/parser/include/optimizer/paths.h +++ b/parser/include/postgres/optimizer/paths.h @@ -4,7 +4,7 @@ * prototypes for various files in optimizer/path * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/paths.h @@ -24,6 +24,7 @@ extern PGDLLIMPORT bool enable_geqo; extern PGDLLIMPORT int geqo_threshold; extern PGDLLIMPORT int min_parallel_table_scan_size; extern PGDLLIMPORT int min_parallel_index_scan_size; +extern PGDLLIMPORT bool enable_group_by_reordering; /* Hook for plugins to get control in set_rel_pathlist() */ typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root, @@ -63,10 +64,6 @@ extern void create_partial_bitmap_paths(PlannerInfo *root, RelOptInfo *rel, extern void generate_partitionwise_join_paths(PlannerInfo *root, RelOptInfo *rel); -#ifdef OPTIMIZER_DEBUG -extern void debug_print_rel(PlannerInfo *root, RelOptInfo *rel); -#endif - /* * indxpath.c * routines to generate index paths @@ -83,7 +80,7 @@ extern bool match_index_to_operand(Node *operand, int indexcol, extern void check_index_predicates(PlannerInfo *root, RelOptInfo *rel); /* - * tidpath.h + * tidpath.c * routines to generate tid paths */ extern void create_tidscan_paths(PlannerInfo *root, RelOptInfo *rel); @@ -104,11 +101,16 @@ extern void add_paths_to_joinrel(PlannerInfo *root, RelOptInfo *joinrel, extern void join_search_one_level(PlannerInfo *root, int level); extern RelOptInfo *make_join_rel(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2); +extern Relids add_outer_joins_to_relids(PlannerInfo *root, Relids input_relids, + SpecialJoinInfo *sjinfo, + List **pushed_down_joins); extern bool have_join_order_restriction(PlannerInfo *root, RelOptInfo *rel1, RelOptInfo *rel2); extern bool have_dangerous_phv(PlannerInfo *root, Relids outer_relids, Relids inner_params); extern void mark_dummy_rel(RelOptInfo *rel); +extern void init_dummy_sjinfo(SpecialJoinInfo *sjinfo, Relids left_relids, + Relids right_relids); /* * equivclass.c @@ -122,13 +124,12 @@ typedef bool (*ec_matches_callback_type) (PlannerInfo *root, extern bool process_equivalence(PlannerInfo *root, RestrictInfo **p_restrictinfo, - bool below_outer_join); + JoinDomain *jdomain); extern Expr *canonicalize_ec_expression(Expr *expr, Oid req_type, Oid req_collation); extern void reconsider_outer_join_clauses(PlannerInfo *root); extern EquivalenceClass *get_eclass_for_sort_expr(PlannerInfo *root, Expr *expr, - Relids nullable_relids, List *opfamilies, Oid opcintype, Oid collation, @@ -150,7 +151,8 @@ extern void generate_base_implied_equalities(PlannerInfo *root); extern List *generate_join_implied_equalities(PlannerInfo *root, Relids join_relids, Relids outer_relids, - RelOptInfo *inner_rel); + RelOptInfo *inner_rel, + SpecialJoinInfo *sjinfo); extern List *generate_join_implied_equalities_for_ecs(PlannerInfo *root, List *eclasses, Relids join_relids, @@ -169,8 +171,12 @@ extern void add_child_rel_equivalences(PlannerInfo *root, extern void add_child_join_rel_equivalences(PlannerInfo *root, int nappinfos, AppendRelInfo **appinfos, - RelOptInfo *parent_rel, - RelOptInfo *child_rel); + RelOptInfo *parent_joinrel, + RelOptInfo *child_joinrel); +extern void add_setop_child_rel_equivalences(PlannerInfo *root, + RelOptInfo *child_rel, + List *child_tlist, + List *setop_pathkeys); extern List *generate_implied_equalities_for_column(PlannerInfo *root, RelOptInfo *rel, ec_matches_callback_type callback, @@ -196,12 +202,13 @@ typedef enum PATHKEYS_EQUAL, /* pathkeys are identical */ PATHKEYS_BETTER1, /* pathkey 1 is a superset of pathkey 2 */ PATHKEYS_BETTER2, /* vice versa */ - PATHKEYS_DIFFERENT /* neither pathkey includes the other */ + PATHKEYS_DIFFERENT, /* neither pathkey includes the other */ } PathKeysComparison; extern PathKeysComparison compare_pathkeys(List *keys1, List *keys2); extern bool pathkeys_contained_in(List *keys1, List *keys2); extern bool pathkeys_count_contained_in(List *keys1, List *keys2, int *n_common); +extern List *get_useful_group_keys_orderings(PlannerInfo *root, Path *path); extern Path *get_cheapest_path_for_pathkeys(List *paths, List *pathkeys, Relids required_outer, CostSelector cost_criterion, @@ -216,7 +223,7 @@ extern List *build_index_pathkeys(PlannerInfo *root, IndexOptInfo *index, extern List *build_partition_pathkeys(PlannerInfo *root, RelOptInfo *partrel, ScanDirection scandir, bool *partialkeys); extern List *build_expression_pathkey(PlannerInfo *root, Expr *expr, - Relids nullable_relids, Oid opno, + Oid opno, Relids rel, bool create_it); extern List *convert_subquery_pathkeys(PlannerInfo *root, RelOptInfo *rel, List *subquery_pathkeys, @@ -228,6 +235,12 @@ extern List *build_join_pathkeys(PlannerInfo *root, extern List *make_pathkeys_for_sortclauses(PlannerInfo *root, List *sortclauses, List *tlist); +extern List *make_pathkeys_for_sortclauses_extended(PlannerInfo *root, + List **sortclauses, + List *tlist, + bool remove_redundant, + bool *sortable, + bool set_ec_sortref); extern void initialize_mergeclause_eclasses(PlannerInfo *root, RestrictInfo *restrictinfo); extern void update_mergeclause_eclasses(PlannerInfo *root, @@ -248,6 +261,7 @@ extern List *truncate_useless_pathkeys(PlannerInfo *root, RelOptInfo *rel, List *pathkeys); extern bool has_useful_pathkeys(PlannerInfo *root, RelOptInfo *rel); +extern List *append_pathkeys(List *target, List *source); extern PathKey *make_canonical_pathkey(PlannerInfo *root, EquivalenceClass *eclass, Oid opfamily, int strategy, bool nulls_first); diff --git a/parser/include/optimizer/planmain.h b/parser/include/postgres/optimizer/planmain.h similarity index 91% rename from parser/include/optimizer/planmain.h rename to parser/include/postgres/optimizer/planmain.h index c4f61c1a..aafc1737 100644 --- a/parser/include/optimizer/planmain.h +++ b/parser/include/postgres/optimizer/planmain.h @@ -4,7 +4,7 @@ * prototypes for various files in optimizer/plan * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/optimizer/planmain.h @@ -71,10 +71,14 @@ extern void add_base_rels_to_query(PlannerInfo *root, Node *jtnode); extern void add_other_rels_to_query(PlannerInfo *root); extern void build_base_rel_tlists(PlannerInfo *root, List *final_tlist); extern void add_vars_to_targetlist(PlannerInfo *root, List *vars, - Relids where_needed, bool create_new_ph); + Relids where_needed); extern void find_lateral_references(PlannerInfo *root); extern void create_lateral_join_info(PlannerInfo *root); extern List *deconstruct_jointree(PlannerInfo *root); +extern bool restriction_is_always_true(PlannerInfo *root, + RestrictInfo *restrictinfo); +extern bool restriction_is_always_false(PlannerInfo *root, + RestrictInfo *restrictinfo); extern void distribute_restrictinfo_to_rels(PlannerInfo *root, RestrictInfo *restrictinfo); extern RestrictInfo *process_implied_equality(PlannerInfo *root, @@ -83,9 +87,7 @@ extern RestrictInfo *process_implied_equality(PlannerInfo *root, Expr *item1, Expr *item2, Relids qualscope, - Relids nullable_relids, Index security_level, - bool below_outer_join, bool both_const); extern RestrictInfo *build_implied_join_equality(PlannerInfo *root, Oid opno, @@ -93,7 +95,6 @@ extern RestrictInfo *build_implied_join_equality(PlannerInfo *root, Expr *item1, Expr *item2, Relids qualscope, - Relids nullable_relids, Index security_level); extern void match_foreign_keys_to_quals(PlannerInfo *root); @@ -113,8 +114,10 @@ extern bool innerrel_is_unique(PlannerInfo *root, */ extern Plan *set_plan_references(PlannerInfo *root, Plan *plan); extern bool trivial_subqueryscan(SubqueryScan *plan); +extern Param *find_minmax_agg_replacement_param(PlannerInfo *root, + Aggref *aggref); extern void record_plan_function_dependency(PlannerInfo *root, Oid funcid); extern void record_plan_type_dependency(PlannerInfo *root, Oid typid); -extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *root); +extern bool extract_query_dependencies_walker(Node *node, PlannerInfo *context); #endif /* PLANMAIN_H */ diff --git a/parser/include/parser/analyze.h b/parser/include/postgres/parser/analyze.h similarity index 88% rename from parser/include/parser/analyze.h rename to parser/include/postgres/parser/analyze.h index dc379547..28b66fcc 100644 --- a/parser/include/parser/analyze.h +++ b/parser/include/postgres/parser/analyze.h @@ -4,7 +4,7 @@ * parse analysis for optimizable statements * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/analyze.h @@ -15,8 +15,8 @@ #define ANALYZE_H #include "nodes/params.h" +#include "nodes/queryjumble.h" #include "parser/parse_node.h" -#include "utils/queryjumble.h" /* Hook for plugins to get control at end of parse analysis */ typedef void (*post_parse_analyze_hook_type) (ParseState *pstate, @@ -43,10 +43,13 @@ extern List *transformInsertRow(ParseState *pstate, List *exprlist, List *stmtcols, List *icolumns, List *attrnos, bool strip_indirection); extern List *transformUpdateTargetList(ParseState *pstate, - List *targetList); + List *origTlist); +extern List *transformReturningList(ParseState *pstate, List *returningList, + ParseExprKind exprKind); extern Query *transformTopLevelStmt(ParseState *pstate, RawStmt *parseTree); extern Query *transformStmt(ParseState *pstate, Node *parseTree); +extern bool stmt_requires_parse_analysis(RawStmt *parseTree); extern bool analyze_requires_snapshot(RawStmt *parseTree); extern const char *LCS_asString(LockClauseStrength strength); diff --git a/parser/include/postgres/parser/gokeep.go b/parser/include/postgres/parser/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/parser/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/parser/kwlist.h b/parser/include/postgres/parser/kwlist.h similarity index 93% rename from parser/include/parser/kwlist.h rename to parser/include/postgres/parser/kwlist.h index 65ffa897..658d7ff6 100644 --- a/parser/include/parser/kwlist.h +++ b/parser/include/postgres/parser/kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -26,6 +26,7 @@ /* name, value, category, is-bare-label */ PG_KEYWORD("abort", ABORT_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("absent", ABSENT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("absolute", ABSOLUTE_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("access", ACCESS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("action", ACTION, UNRESERVED_KEYWORD, BARE_LABEL) @@ -92,6 +93,7 @@ PG_KEYWORD("commit", COMMIT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("committed", COMMITTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("compression", COMPRESSION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("concurrently", CONCURRENTLY, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("conditional", CONDITIONAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("configuration", CONFIGURATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("conflict", CONFLICT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("connection", CONNECTION, UNRESERVED_KEYWORD, BARE_LABEL) @@ -146,11 +148,13 @@ PG_KEYWORD("double", DOUBLE_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("drop", DROP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("each", EACH, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("else", ELSE, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("empty", EMPTY_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("enable", ENABLE_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("encoding", ENCODING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("encrypted", ENCRYPTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("end", END_P, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("enum", ENUM_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("error", ERROR_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("escape", ESCAPE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("event", EVENT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("except", EXCEPT, RESERVED_KEYWORD, AS_LABEL) @@ -175,6 +179,7 @@ PG_KEYWORD("following", FOLLOWING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("for", FOR, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("force", FORCE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("foreign", FOREIGN, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("format", FORMAT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("forward", FORWARD, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("freeze", FREEZE, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("from", FROM, RESERVED_KEYWORD, AS_LABEL) @@ -205,6 +210,7 @@ PG_KEYWORD("in", IN_P, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("include", INCLUDE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("including", INCLUDING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("increment", INCREMENT, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("indent", INDENT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("index", INDEX, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("indexes", INDEXES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("inherit", INHERIT, UNRESERVED_KEYWORD, BARE_LABEL) @@ -227,7 +233,20 @@ PG_KEYWORD("is", IS, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("isnull", ISNULL, TYPE_FUNC_NAME_KEYWORD, AS_LABEL) PG_KEYWORD("isolation", ISOLATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("join", JOIN, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json", JSON, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_array", JSON_ARRAY, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_arrayagg", JSON_ARRAYAGG, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_exists", JSON_EXISTS, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_object", JSON_OBJECT, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_objectagg", JSON_OBJECTAGG, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_query", JSON_QUERY, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_scalar", JSON_SCALAR, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_serialize", JSON_SERIALIZE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_table", JSON_TABLE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("json_value", JSON_VALUE, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("keep", KEEP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("key", KEY, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("keys", KEYS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("label", LABEL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("language", LANGUAGE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("large", LARGE_P, UNRESERVED_KEYWORD, BARE_LABEL) @@ -255,6 +274,7 @@ PG_KEYWORD("matched", MATCHED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("materialized", MATERIALIZED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("maxvalue", MAXVALUE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("merge", MERGE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("merge_action", MERGE_ACTION, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("method", METHOD, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("minute", MINUTE_P, UNRESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("minvalue", MINVALUE, UNRESERVED_KEYWORD, BARE_LABEL) @@ -266,6 +286,7 @@ PG_KEYWORD("names", NAMES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("national", NATIONAL, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("natural", NATURAL, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("nchar", NCHAR, COL_NAME_KEYWORD, BARE_LABEL) +PG_KEYWORD("nested", NESTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("new", NEW, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("next", NEXT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("nfc", NFC, UNRESERVED_KEYWORD, BARE_LABEL) @@ -291,6 +312,7 @@ PG_KEYWORD("off", OFF, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("offset", OFFSET, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("oids", OIDS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("old", OLD, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("omit", OMIT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("on", ON, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("only", ONLY, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("operator", OPERATOR, UNRESERVED_KEYWORD, BARE_LABEL) @@ -315,7 +337,9 @@ PG_KEYWORD("partial", PARTIAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("partition", PARTITION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("passing", PASSING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("password", PASSWORD, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("path", PATH, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("placing", PLACING, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("plan", PLAN, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("plans", PLANS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("policy", POLICY, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("position", POSITION, COL_NAME_KEYWORD, BARE_LABEL) @@ -333,6 +357,7 @@ PG_KEYWORD("procedures", PROCEDURES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("program", PROGRAM, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("publication", PUBLICATION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("quote", QUOTE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("quotes", QUOTES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("range", RANGE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("read", READ, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("real", REAL, COL_NAME_KEYWORD, BARE_LABEL) @@ -367,6 +392,7 @@ PG_KEYWORD("row", ROW, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("rows", ROWS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("rule", RULE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("savepoint", SAVEPOINT, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("scalar", SCALAR, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("schema", SCHEMA, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("schemas", SCHEMAS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("scroll", SCROLL, UNRESERVED_KEYWORD, BARE_LABEL) @@ -391,6 +417,7 @@ PG_KEYWORD("skip", SKIP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("smallint", SMALLINT, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("snapshot", SNAPSHOT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("some", SOME, RESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("source", SOURCE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("sql", SQL_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("stable", STABLE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("standalone", STANDALONE_P, UNRESERVED_KEYWORD, BARE_LABEL) @@ -402,6 +429,7 @@ PG_KEYWORD("stdout", STDOUT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("storage", STORAGE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("stored", STORED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("strict", STRICT_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("string", STRING_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("strip", STRIP_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("subscription", SUBSCRIPTION, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("substring", SUBSTRING, COL_NAME_KEYWORD, BARE_LABEL) @@ -409,10 +437,12 @@ PG_KEYWORD("support", SUPPORT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("symmetric", SYMMETRIC, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("sysid", SYSID, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("system", SYSTEM_P, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("system_user", SYSTEM_USER, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("table", TABLE, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("tables", TABLES, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("tablesample", TABLESAMPLE, TYPE_FUNC_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("tablespace", TABLESPACE, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("target", TARGET, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("temp", TEMP, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("template", TEMPLATE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("temporary", TEMPORARY, UNRESERVED_KEYWORD, BARE_LABEL) @@ -436,6 +466,7 @@ PG_KEYWORD("types", TYPES_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("uescape", UESCAPE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("unbounded", UNBOUNDED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("uncommitted", UNCOMMITTED, UNRESERVED_KEYWORD, BARE_LABEL) +PG_KEYWORD("unconditional", UNCONDITIONAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("unencrypted", UNENCRYPTED, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("union", UNION, RESERVED_KEYWORD, AS_LABEL) PG_KEYWORD("unique", UNIQUE, RESERVED_KEYWORD, BARE_LABEL) diff --git a/parser/include/parser/parse_agg.h b/parser/include/postgres/parser/parse_agg.h similarity index 93% rename from parser/include/parser/parse_agg.h rename to parser/include/postgres/parser/parse_agg.h index c56822f6..4df9b37e 100644 --- a/parser/include/parser/parse_agg.h +++ b/parser/include/postgres/parser/parse_agg.h @@ -3,7 +3,7 @@ * parse_agg.h * handle aggregates and window functions in parser * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_agg.h @@ -19,7 +19,7 @@ extern void transformAggregateCall(ParseState *pstate, Aggref *agg, List *args, List *aggorder, bool agg_distinct); -extern Node *transformGroupingFunc(ParseState *pstate, GroupingFunc *g); +extern Node *transformGroupingFunc(ParseState *pstate, GroupingFunc *p); extern void transformWindowFuncCall(ParseState *pstate, WindowFunc *wfunc, WindowDef *windef); @@ -35,6 +35,8 @@ extern Oid resolve_aggregate_transtype(Oid aggfuncid, Oid *inputTypes, int numArguments); +extern bool agg_args_support_sendreceive(Aggref *aggref); + extern void build_aggregate_transfn_expr(Oid *agg_input_types, int agg_num_inputs, int agg_num_direct_inputs, diff --git a/parser/include/parser/parse_coerce.h b/parser/include/postgres/parser/parse_coerce.h similarity index 91% rename from parser/include/parser/parse_coerce.h rename to parser/include/postgres/parser/parse_coerce.h index b105c7da..41ef3943 100644 --- a/parser/include/parser/parse_coerce.h +++ b/parser/include/postgres/parser/parse_coerce.h @@ -4,7 +4,7 @@ * Routines for type coercion. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_coerce.h @@ -27,11 +27,13 @@ typedef enum CoercionPathType COERCION_PATH_FUNC, /* apply the specified coercion function */ COERCION_PATH_RELABELTYPE, /* binary-compatible cast, no function */ COERCION_PATH_ARRAYCOERCE, /* need an ArrayCoerceExpr node */ - COERCION_PATH_COERCEVIAIO /* need a CoerceViaIO node */ + COERCION_PATH_COERCEVIAIO, /* need a CoerceViaIO node */ } CoercionPathType; extern bool IsBinaryCoercible(Oid srctype, Oid targettype); +extern bool IsBinaryCoercibleWithCast(Oid srctype, Oid targettype, + Oid *castoid); extern bool IsPreferredType(TYPCATEGORY category, Oid type); extern TYPCATEGORY TypeCategory(Oid type); @@ -61,6 +63,9 @@ extern Node *coerce_to_specific_type_typmod(ParseState *pstate, Node *node, Oid targetTypeId, int32 targetTypmod, const char *constructName); +extern Node *coerce_null_to_domain(Oid typid, int32 typmod, Oid collation, + int typlen, bool typbyval); + extern int parser_coercion_errposition(ParseState *pstate, int coerce_location, Node *input_expr); diff --git a/parser/include/parser/parse_expr.h b/parser/include/postgres/parser/parse_expr.h similarity index 91% rename from parser/include/parser/parse_expr.h rename to parser/include/postgres/parser/parse_expr.h index c8e5c57b..9b46dfd9 100644 --- a/parser/include/parser/parse_expr.h +++ b/parser/include/postgres/parser/parse_expr.h @@ -3,7 +3,7 @@ * parse_expr.h * handle expressions in parser * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_expr.h diff --git a/parser/include/parser/parse_func.h b/parser/include/postgres/parser/parse_func.h similarity index 95% rename from parser/include/parser/parse_func.h rename to parser/include/postgres/parser/parse_func.h index 8711e392..c7ba99de 100644 --- a/parser/include/parser/parse_func.h +++ b/parser/include/postgres/parser/parse_func.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_func.h @@ -27,7 +27,7 @@ typedef enum FUNCDETAIL_PROCEDURE, /* found a matching procedure */ FUNCDETAIL_AGGREGATE, /* found a matching aggregate function */ FUNCDETAIL_WINDOWFUNC, /* found a matching window function */ - FUNCDETAIL_COERCION /* it's a type coercion request */ + FUNCDETAIL_COERCION, /* it's a type coercion request */ } FuncDetailCode; diff --git a/parser/include/parser/parse_node.h b/parser/include/postgres/parser/parse_node.h similarity index 91% rename from parser/include/parser/parse_node.h rename to parser/include/postgres/parser/parse_node.h index cf9c7590..5b781d87 100644 --- a/parser/include/parser/parse_node.h +++ b/parser/include/postgres/parser/parse_node.h @@ -4,7 +4,7 @@ * Internal definitions for parser * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_node.h @@ -61,7 +61,8 @@ typedef enum ParseExprKind EXPR_KIND_DISTINCT_ON, /* DISTINCT ON */ EXPR_KIND_LIMIT, /* LIMIT */ EXPR_KIND_OFFSET, /* OFFSET */ - EXPR_KIND_RETURNING, /* RETURNING */ + EXPR_KIND_RETURNING, /* RETURNING in INSERT/UPDATE/DELETE */ + EXPR_KIND_MERGE_RETURNING, /* RETURNING in MERGE */ EXPR_KIND_VALUES, /* VALUES */ EXPR_KIND_VALUES_SINGLE, /* single-row VALUES (in INSERT only) */ EXPR_KIND_CHECK_CONSTRAINT, /* CHECK constraint for a table */ @@ -111,10 +112,20 @@ typedef Node *(*CoerceParamHook) (ParseState *pstate, Param *param, * Note that neither relname nor refname of these entries are necessarily * unique; searching the rtable by name is a bad idea. * + * p_rteperminfos: list of RTEPermissionInfo containing an entry corresponding + * to each RTE_RELATION entry in p_rtable. + * * p_joinexprs: list of JoinExpr nodes associated with p_rtable entries. * This is one-for-one with p_rtable, but contains NULLs for non-join * RTEs, and may be shorter than p_rtable if the last RTE(s) aren't joins. * + * p_nullingrels: list of Bitmapsets associated with p_rtable entries, each + * containing the set of outer-join RTE indexes that can null that relation + * at the current point in the parse tree. This is one-for-one with p_rtable, + * but may be shorter than p_rtable, in which case the missing entries are + * implicitly empty (NULL). That rule allows us to save work when the query + * contains no outer joins. + * * p_joinlist: list of join items (RangeTblRef and JoinExpr nodes) that * will become the fromlist of the query's top-level FromExpr node. * @@ -181,7 +192,10 @@ struct ParseState ParseState *parentParseState; /* stack link */ const char *p_sourcetext; /* source text, or NULL if not available */ List *p_rtable; /* range table so far */ + List *p_rteperminfos; /* list of RTEPermissionInfo nodes for each + * RTE_RELATION entry in rtable */ List *p_joinexprs; /* JoinExprs for RTE_JOIN p_rtable entries */ + List *p_nullingrels; /* Bitmapsets showing nulling outer joins */ List *p_joinlist; /* join items so far (will become FromExpr * node's fromlist) */ List *p_namespace; /* currently-referenceable RTEs (List of @@ -234,7 +248,8 @@ struct ParseState * join's first N columns, the net effect is just that we expose only those * join columns via this nsitem.) * - * p_rte and p_rtindex link to the underlying rangetable entry. + * p_rte and p_rtindex link to the underlying rangetable entry, and + * p_perminfo to the entry in rteperminfos. * * The p_nscolumns array contains info showing how to construct Vars * referencing the names appearing in the p_names->colnames list. @@ -246,8 +261,11 @@ struct ParseState * visible for qualified references) but it does hide their columns * (unqualified references to the columns refer to the JOIN, not the member * tables, so we must not complain that such a reference is ambiguous). - * Various special RTEs such as NEW/OLD for rules may also appear with only - * one flag set. + * Conversely, a subquery without an alias does not hide the columns selected + * by the subquery, but it does hide the auto-generated relation name (so the + * subquery columns are visible for unqualified references only). Various + * special RTEs such as NEW/OLD for rules may also appear with only one flag + * set. * * While processing the FROM clause, namespace items may appear with * p_lateral_only set, meaning they are visible only to LATERAL @@ -268,6 +286,7 @@ struct ParseNamespaceItem Alias *p_names; /* Table and column names */ RangeTblEntry *p_rte; /* The relation's rangetable entry */ int p_rtindex; /* The relation's index in the rangetable */ + RTEPermissionInfo *p_perminfo; /* The relation's rteperminfos entry */ /* array of same length as p_names->colnames: */ ParseNamespaceColumn *p_nscolumns; /* per-column data */ bool p_rel_visible; /* Relation name is visible? */ diff --git a/parser/include/parser/parse_oper.h b/parser/include/postgres/parser/parse_oper.h similarity index 88% rename from parser/include/parser/parse_oper.h rename to parser/include/postgres/parser/parse_oper.h index e15b6229..beffe144 100644 --- a/parser/include/parser/parse_oper.h +++ b/parser/include/postgres/parser/parse_oper.h @@ -4,7 +4,7 @@ * handle operator things for parser * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_oper.h @@ -29,8 +29,8 @@ extern Oid LookupOperWithArgs(ObjectWithArgs *oper, bool noError); /* Routines to find operators matching a name and given input types */ /* NB: the selected operator may require coercion of the input types! */ -extern Operator oper(ParseState *pstate, List *op, Oid arg1, Oid arg2, - bool noError, int location); +extern Operator oper(ParseState *pstate, List *opname, Oid ltypeId, + Oid rtypeId, bool noError, int location); extern Operator left_oper(ParseState *pstate, List *op, Oid arg, bool noError, int location); @@ -42,6 +42,9 @@ extern Operator compatible_oper(ParseState *pstate, List *op, /* currently no need for compatible_left_oper/compatible_right_oper */ +/* Error reporting support */ +extern const char *op_signature_string(List *op, Oid arg1, Oid arg2); + /* Routines for identifying "<", "=", ">" operators for a type */ extern void get_sort_group_operators(Oid argtype, bool needLT, bool needEQ, bool needGT, diff --git a/parser/include/parser/parse_relation.h b/parser/include/postgres/parser/parse_relation.h similarity index 91% rename from parser/include/parser/parse_relation.h rename to parser/include/postgres/parser/parse_relation.h index de21c3c6..bea2da54 100644 --- a/parser/include/parser/parse_relation.h +++ b/parser/include/postgres/parser/parse_relation.h @@ -4,7 +4,7 @@ * prototypes for parse_relation.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_relation.h @@ -41,6 +41,7 @@ extern Node *scanNSItemForColumn(ParseState *pstate, ParseNamespaceItem *nsitem, int location); extern Node *colNameToVar(ParseState *pstate, const char *colname, bool localonly, int location); +extern void markNullableIfNeeded(ParseState *pstate, Var *var); extern void markVarForSelectPriv(ParseState *pstate, Var *var); extern Relation parserOpenTable(ParseState *pstate, const RangeVar *relation, int lockmode); @@ -88,7 +89,7 @@ extern ParseNamespaceItem *addRangeTableEntryForJoin(ParseState *pstate, List *aliasvars, List *leftcols, List *rightcols, - Alias *joinalias, + Alias *join_using_alias, Alias *alias, bool inFromCl); extern ParseNamespaceItem *addRangeTableEntryForCTE(ParseState *pstate, @@ -99,6 +100,10 @@ extern ParseNamespaceItem *addRangeTableEntryForCTE(ParseState *pstate, extern ParseNamespaceItem *addRangeTableEntryForENR(ParseState *pstate, RangeVar *rv, bool inFromCl); +extern RTEPermissionInfo *addRTEPermissionInfo(List **rteperminfos, + RangeTblEntry *rte); +extern RTEPermissionInfo *getRTEPermissionInfo(List *rteperminfos, + RangeTblEntry *rte); extern bool isLockedRefname(ParseState *pstate, const char *refname); extern void addNSItemToQuery(ParseState *pstate, ParseNamespaceItem *nsitem, bool addToJoinList, @@ -109,7 +114,7 @@ extern void errorMissingColumn(ParseState *pstate, extern void expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up, int location, bool include_dropped, List **colnames, List **colvars); -extern List *expandNSItemVars(ParseNamespaceItem *nsitem, +extern List *expandNSItemVars(ParseState *pstate, ParseNamespaceItem *nsitem, int sublevels_up, int location, List **colnames); extern List *expandNSItemAttrs(ParseState *pstate, ParseNamespaceItem *nsitem, diff --git a/parser/include/parser/parse_type.h b/parser/include/postgres/parser/parse_type.h similarity index 85% rename from parser/include/parser/parse_type.h rename to parser/include/postgres/parser/parse_type.h index 4e5624d7..b62e7a6c 100644 --- a/parser/include/parser/parse_type.h +++ b/parser/include/postgres/parser/parse_type.h @@ -3,7 +3,7 @@ * parse_type.h * handle type operations for parser * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parse_type.h @@ -36,7 +36,7 @@ extern char *TypeNameToString(const TypeName *typeName); extern char *TypeNameListToString(List *typenames); extern Oid LookupCollation(ParseState *pstate, List *collnames, int location); -extern Oid GetColumnDefCollation(ParseState *pstate, ColumnDef *coldef, Oid typeOid); +extern Oid GetColumnDefCollation(ParseState *pstate, const ColumnDef *coldef, Oid typeOid); extern Type typeidType(Oid id); @@ -51,8 +51,9 @@ extern Datum stringTypeDatum(Type tp, char *string, int32 atttypmod); extern Oid typeidTypeRelid(Oid type_id); extern Oid typeOrDomainTypeRelid(Oid type_id); -extern TypeName *typeStringToTypeName(const char *str); -extern void parseTypeString(const char *str, Oid *typeid_p, int32 *typmod_p, bool missing_ok); +extern TypeName *typeStringToTypeName(const char *str, Node *escontext); +extern bool parseTypeString(const char *str, Oid *typeid_p, int32 *typmod_p, + Node *escontext); /* true if typeid is composite, or domain over composite, but not RECORD */ #define ISCOMPLEX(typeid) (typeOrDomainTypeRelid(typeid) != InvalidOid) diff --git a/parser/include/parser/parser.h b/parser/include/postgres/parser/parser.h similarity index 85% rename from parser/include/parser/parser.h rename to parser/include/postgres/parser/parser.h index e1dc5c5b..f1e8b99f 100644 --- a/parser/include/parser/parser.h +++ b/parser/include/postgres/parser/parser.h @@ -5,7 +5,7 @@ * * This is the external API for the raw lexing/parsing functions. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parser.h @@ -41,7 +41,7 @@ typedef enum RAW_PARSE_PLPGSQL_EXPR, RAW_PARSE_PLPGSQL_ASSIGN1, RAW_PARSE_PLPGSQL_ASSIGN2, - RAW_PARSE_PLPGSQL_ASSIGN3 + RAW_PARSE_PLPGSQL_ASSIGN3, } RawParseMode; /* Values for the backslash_quote GUC */ @@ -49,13 +49,13 @@ typedef enum { BACKSLASH_QUOTE_OFF, BACKSLASH_QUOTE_ON, - BACKSLASH_QUOTE_SAFE_ENCODING + BACKSLASH_QUOTE_SAFE_ENCODING, } BackslashQuoteType; /* GUC variables in scan.l (every one of these is a bad idea :-() */ -extern PGDLLIMPORT __thread int backslash_quote; -extern PGDLLIMPORT __thread bool escape_string_warning; -extern PGDLLIMPORT __thread bool standard_conforming_strings; +extern PGDLLIMPORT __thread int backslash_quote; +extern PGDLLIMPORT __thread bool escape_string_warning; +extern PGDLLIMPORT __thread bool standard_conforming_strings; /* Primary entry point for the raw parsing functions */ diff --git a/parser/include/parser/parsetree.h b/parser/include/postgres/parser/parsetree.h similarity index 95% rename from parser/include/parser/parsetree.h rename to parser/include/postgres/parser/parsetree.h index 3a1afffd..3d51cd15 100644 --- a/parser/include/parser/parsetree.h +++ b/parser/include/postgres/parser/parsetree.h @@ -5,7 +5,7 @@ * parse trees. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/parsetree.h diff --git a/parser/include/parser/scanner.h b/parser/include/postgres/parser/scanner.h similarity index 97% rename from parser/include/parser/scanner.h rename to parser/include/postgres/parser/scanner.h index 2acd7e05..59f492c6 100644 --- a/parser/include/parser/scanner.h +++ b/parser/include/postgres/parser/scanner.h @@ -8,7 +8,7 @@ * higher-level API provided by parser.h. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/scanner.h @@ -140,7 +140,7 @@ extern core_yyscan_t scanner_init(const char *str, const ScanKeywordList *keywordlist, const uint16 *keyword_tokens); extern void scanner_finish(core_yyscan_t yyscanner); -extern int core_yylex(core_YYSTYPE *lvalp, YYLTYPE *llocp, +extern int core_yylex(core_YYSTYPE *yylval_param, YYLTYPE *yylloc_param, core_yyscan_t yyscanner); extern int scanner_errposition(int location, core_yyscan_t yyscanner); extern void setup_scanner_errposition_callback(ScannerCallbackState *scbstate, diff --git a/parser/include/parser/scansup.h b/parser/include/postgres/parser/scansup.h similarity index 91% rename from parser/include/parser/scansup.h rename to parser/include/postgres/parser/scansup.h index ff65224b..4b68ddc2 100644 --- a/parser/include/parser/scansup.h +++ b/parser/include/postgres/parser/scansup.h @@ -3,7 +3,7 @@ * scansup.h * scanner support routines used by the core lexer * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/parser/scansup.h diff --git a/parser/include/postgres/partitioning/gokeep.go b/parser/include/postgres/partitioning/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/partitioning/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/partitioning/partdefs.h b/parser/include/postgres/partitioning/partdefs.h similarity index 90% rename from parser/include/partitioning/partdefs.h rename to parser/include/postgres/partitioning/partdefs.h index aed62eae..fcfd18f2 100644 --- a/parser/include/partitioning/partdefs.h +++ b/parser/include/postgres/partitioning/partdefs.h @@ -3,7 +3,7 @@ * partdefs.h * Base definitions for partitioned table handling * - * Copyright (c) 2007-2022, PostgreSQL Global Development Group + * Copyright (c) 2007-2024, PostgreSQL Global Development Group * * src/include/partitioning/partdefs.h * diff --git a/parser/include/pg_config.h b/parser/include/postgres/pg_config.h similarity index 76% rename from parser/include/pg_config.h rename to parser/include/postgres/pg_config.h index 226809b3..aab1919c 100644 --- a/parser/include/pg_config.h +++ b/parser/include/postgres/pg_config.h @@ -32,7 +32,7 @@ #define BLCKSZ 8192 /* Saved arguments from configure */ -#define CONFIGURE_ARGS " '--without-readline' '--without-zlib'" +#define CONFIGURE_ARGS " '--without-readline' '--without-zlib' '--without-icu'" /* Define to the default TCP port number on which the server listens and to which clients will try to connect. This can be overridden at run-time, but @@ -44,7 +44,7 @@ #define DEF_PGPORT_STR "5432" /* Define to the file name extension of dynamically-loadable modules. */ -#define DLSUFFIX ".so" +#define DLSUFFIX ".dylib" /* Define to build with GSSAPI support. (--with-gssapi) */ /* #undef ENABLE_GSS */ @@ -52,17 +52,6 @@ /* Define to 1 if you want National Language Support. (--enable-nls) */ /* #undef ENABLE_NLS */ -/* Define to 1 to build client libraries as thread-safe code. - (--enable-thread-safety) */ -#define ENABLE_THREAD_SAFETY 1 - -/* Define to 1 if gettimeofday() takes only 1 argument. */ -/* #undef GETTIMEOFDAY_1ARG */ - -#ifdef GETTIMEOFDAY_1ARG -# define gettimeofday(a,b) gettimeofday(a) -#endif - /* Define to 1 if you have the `append_history' function. */ /* #undef HAVE_APPEND_HISTORY */ @@ -78,15 +67,9 @@ /* Define to 1 if you have the `backtrace_symbols' function. */ #define HAVE_BACKTRACE_SYMBOLS 1 -/* Define to 1 if you have the `BIO_get_data' function. */ -/* #undef HAVE_BIO_GET_DATA */ - /* Define to 1 if you have the `BIO_meth_new' function. */ /* #undef HAVE_BIO_METH_NEW */ -/* Define to 1 if you have the `clock_gettime' function. */ -#define HAVE_CLOCK_GETTIME 1 - /* Define to 1 if your compiler handles computed gotos. */ #define HAVE_COMPUTED_GOTO 1 @@ -96,6 +79,9 @@ /* Define to 1 if you have the header file. */ #define HAVE_COPYFILE_H 1 +/* Define to 1 if you have the `copy_file_range' function. */ +/* #undef HAVE_COPY_FILE_RANGE */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_CRTDEFS_H */ @@ -118,17 +104,9 @@ `LLVMCreatePerfJITEventListener', and to 0 if you don't. */ /* #undef HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER */ -/* Define to 1 if you have the declaration of `LLVMGetHostCPUFeatures', and to - 0 if you don't. */ -/* #undef HAVE_DECL_LLVMGETHOSTCPUFEATURES */ - -/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0 - if you don't. */ -/* #undef HAVE_DECL_LLVMGETHOSTCPUNAME */ - -/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and - to 0 if you don't. */ -/* #undef HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN */ +/* Define to 1 if you have the declaration of `memset_s', and to 0 if you + don't. */ +#define HAVE_DECL_MEMSET_S 1 /* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you don't. */ @@ -142,17 +120,9 @@ don't. */ #define HAVE_DECL_PWRITEV 1 -/* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you - don't. */ -#define HAVE_DECL_RTLD_GLOBAL 1 - -/* Define to 1 if you have the declaration of `RTLD_NOW', and to 0 if you - don't. */ -#define HAVE_DECL_RTLD_NOW 1 - -/* Define to 1 if you have the declaration of `sigwait', and to 0 if you +/* Define to 1 if you have the declaration of `strchrnul', and to 0 if you don't. */ -#define HAVE_DECL_SIGWAIT 1 +#define HAVE_DECL_STRCHRNUL 0 /* Define to 1 if you have the declaration of `strlcat', and to 0 if you don't. */ @@ -166,17 +136,6 @@ don't. */ #define HAVE_DECL_STRNLEN 1 -/* Define to 1 if you have the declaration of `strtoll', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOLL 1 - -/* Define to 1 if you have the declaration of `strtoull', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOULL 1 - -/* Define to 1 if you have the `dlopen' function. */ -#define HAVE_DLOPEN 1 - /* Define to 1 if you have the header file. */ /* #undef HAVE_EDITLINE_HISTORY_H */ @@ -189,21 +148,9 @@ /* Define to 1 if you have the `explicit_bzero' function. */ /* #undef HAVE_EXPLICIT_BZERO */ -/* Define to 1 if you have the `fdatasync' function. */ -#define HAVE_FDATASYNC 1 - -/* Define to 1 if you have the `fls' function. */ -#define HAVE_FLS 1 - /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ #define HAVE_FSEEKO 1 -/* Define to 1 if your compiler understands __func__. */ -#define HAVE_FUNCNAME__FUNC 1 - -/* Define to 1 if your compiler understands __FUNCTION__. */ -/* #undef HAVE_FUNCNAME__FUNCTION */ - /* Define to 1 if you have __atomic_compare_exchange_n(int *, int *, int). */ #define HAVE_GCC__ATOMIC_INT32_CAS 1 @@ -224,12 +171,6 @@ */ #define HAVE_GCC__SYNC_INT64_CAS 1 -/* Define to 1 if you have the `getaddrinfo' function. */ -#define HAVE_GETADDRINFO 1 - -/* Define to 1 if you have the `gethostbyname_r' function. */ -/* #undef HAVE_GETHOSTBYNAME_R */ - /* Define to 1 if you have the `getifaddrs' function. */ #define HAVE_GETIFADDRS 1 @@ -248,17 +189,11 @@ /* Define to 1 if you have the `getpeerucred' function. */ /* #undef HAVE_GETPEERUCRED */ -/* Define to 1 if you have the `getpwuid_r' function. */ -#define HAVE_GETPWUID_R 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GSSAPI_EXT_H */ -/* Define to 1 if you have the `getrlimit' function. */ -#define HAVE_GETRLIMIT 1 - -/* Define to 1 if you have the `getrusage' function. */ -#define HAVE_GETRUSAGE 1 - -/* Define to 1 if you have the `gettimeofday' function. */ -/* #undef HAVE_GETTIMEOFDAY */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_GSSAPI_GSSAPI_EXT_H */ /* Define to 1 if you have the header file. */ /* #undef HAVE_GSSAPI_GSSAPI_H */ @@ -305,9 +240,6 @@ /* Define to 1 if you have the global variable 'int timezone'. */ #define HAVE_INT_TIMEZONE 1 -/* Define to 1 if you have support for IPv6. */ -#define HAVE_IPV6 1 - /* Define to 1 if __builtin_constant_p(x) implies "i"(x) acceptance. */ /* #undef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P */ @@ -317,9 +249,6 @@ /* Define to 1 if you have the header file. */ #define HAVE_LANGINFO_H 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LDAP_H */ - /* Define to 1 if you have the `ldap_initialize' function. */ /* #undef HAVE_LDAP_INITIALIZE */ @@ -362,12 +291,6 @@ /* Define to 1 if you have the `zstd' library (-lzstd). */ /* #undef HAVE_LIBZSTD */ -/* Define to 1 if you have the `link' function. */ -#define HAVE_LINK 1 - -/* Define to 1 if the system has the type `locale_t'. */ -#define HAVE_LOCALE_T 1 - /* Define to 1 if `long int' works and is 64 bits. */ #define HAVE_LONG_INT_64 1 @@ -383,21 +306,9 @@ /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 -/* Define to 1 if you have the `memset_s' function. */ -#define HAVE_MEMSET_S 1 - -/* Define to 1 if the system has the type `MINIDUMP_TYPE'. */ -/* #undef HAVE_MINIDUMP_TYPE */ - /* Define to 1 if you have the `mkdtemp' function. */ #define HAVE_MKDTEMP 1 -/* Define to 1 if you have the header file. */ -#define HAVE_NETINET_TCP_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NET_IF_H 1 - /* Define to 1 if you have the `OPENSSL_init_ssl' function. */ /* #undef HAVE_OPENSSL_INIT_SSL */ @@ -407,36 +318,15 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_PAM_PAM_APPL_H */ -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have a POSIX-conforming sigwait declaration. */ -#define HAVE_POSIX_DECL_SIGWAIT 1 - /* Define to 1 if you have the `posix_fadvise' function. */ /* #undef HAVE_POSIX_FADVISE */ /* Define to 1 if you have the `posix_fallocate' function. */ /* #undef HAVE_POSIX_FALLOCATE */ -/* Define to 1 if the assembler supports PPC's LWARX mutex hint bit. */ -/* #undef HAVE_PPC_LWARX_MUTEX_HINT */ - /* Define to 1 if you have the `ppoll' function. */ /* #undef HAVE_PPOLL */ -/* Define to 1 if you have the `pread' function. */ -#define HAVE_PREAD 1 - -/* Define to 1 if you have the `pstat' function. */ -/* #undef HAVE_PSTAT */ - -/* Define to 1 if the PS_STRINGS thing exists. */ -/* #undef HAVE_PS_STRINGS */ - /* Define if you have POSIX threads libraries and header files. */ #define HAVE_PTHREAD 1 @@ -449,9 +339,6 @@ /* Have PTHREAD_PRIO_INHERIT. */ #define HAVE_PTHREAD_PRIO_INHERIT 1 -/* Define to 1 if you have the `pwrite' function. */ -#define HAVE_PWRITE 1 - /* Define to 1 if you have the header file. */ /* #undef HAVE_READLINE_H */ @@ -461,12 +348,6 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_READLINE_READLINE_H */ -/* Define to 1 if you have the `readlink' function. */ -#define HAVE_READLINK 1 - -/* Define to 1 if you have the `readv' function. */ -#define HAVE_READV 1 - /* Define to 1 if you have the `rl_completion_matches' function. */ /* #undef HAVE_RL_COMPLETION_MATCHES */ @@ -494,29 +375,23 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_SECURITY_PAM_APPL_H */ -/* Define to 1 if you have the `setenv' function. */ -#define HAVE_SETENV 1 - /* Define to 1 if you have the `setproctitle' function. */ /* #undef HAVE_SETPROCTITLE */ /* Define to 1 if you have the `setproctitle_fast' function. */ /* #undef HAVE_SETPROCTITLE_FAST */ -/* Define to 1 if you have the `setsid' function. */ -#define HAVE_SETSID 1 - -/* Define to 1 if you have the `shm_open' function. */ -#define HAVE_SHM_OPEN 1 - /* Define to 1 if the system has the type `socklen_t'. */ #define HAVE_SOCKLEN_T 1 /* Define to 1 if you have spinlocks. */ #define HAVE_SPINLOCKS 1 -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 +/* Define to 1 if you have the `SSL_CTX_set_cert_cb' function. */ +/* #undef HAVE_SSL_CTX_SET_CERT_CB */ + +/* Define to 1 if you have the `SSL_CTX_set_num_tickets' function. */ +/* #undef HAVE_SSL_CTX_SET_NUM_TICKETS */ /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -524,9 +399,6 @@ /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 -/* Define to 1 if you have the `strchrnul' function. */ -/* #undef HAVE_STRCHRNUL */ - /* Define to 1 if you have the `strerror_r' function. */ #define HAVE_STRERROR_R 1 @@ -548,57 +420,15 @@ /* Define to 1 if you have the `strsignal' function. */ #define HAVE_STRSIGNAL 1 -/* Define to 1 if you have the `strtof' function. */ -#define HAVE_STRTOF 1 - -/* Define to 1 if you have the `strtoll' function. */ -#define HAVE_STRTOLL 1 - -/* Define to 1 if you have the `strtoq' function. */ -/* #undef HAVE_STRTOQ */ - -/* Define to 1 if you have the `strtoull' function. */ -#define HAVE_STRTOULL 1 - -/* Define to 1 if you have the `strtouq' function. */ -/* #undef HAVE_STRTOUQ */ - -/* Define to 1 if the system has the type `struct addrinfo'. */ -#define HAVE_STRUCT_ADDRINFO 1 - -/* Define to 1 if the system has the type `struct cmsgcred'. */ -/* #undef HAVE_STRUCT_CMSGCRED */ - /* Define to 1 if the system has the type `struct option'. */ #define HAVE_STRUCT_OPTION 1 /* Define to 1 if `sa_len' is a member of `struct sockaddr'. */ #define HAVE_STRUCT_SOCKADDR_SA_LEN 1 -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 - -/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */ -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1 - -/* Define to 1 if `ss_len' is a member of `struct sockaddr_storage'. */ -#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1 - -/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */ -/* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */ - -/* Define to 1 if `__ss_len' is a member of `struct sockaddr_storage'. */ -/* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_LEN */ - -/* Define to 1 if the system has the type `struct sockaddr_un'. */ -#define HAVE_STRUCT_SOCKADDR_UN 1 - /* Define to 1 if `tm_zone' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_ZONE 1 -/* Define to 1 if you have the `symlink' function. */ -#define HAVE_SYMLINK 1 - /* Define to 1 if you have the `syncfs' function. */ /* #undef HAVE_SYNCFS */ @@ -614,9 +444,6 @@ /* Define to 1 if you have the header file. */ #define HAVE_SYS_EVENT_H 1 -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_IPC_H 1 - /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_PERSONALITY_H */ @@ -626,45 +453,18 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_PROCCTL_H */ -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PSTAT_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SEM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SHM_H 1 - /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_SIGNALFD_H */ -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SOCKIO_H 1 - /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_TAS_H */ - /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_UCRED_H 1 -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UN_H 1 - /* Define to 1 if you have the header file. */ #define HAVE_TERMIOS_H 1 @@ -686,9 +486,6 @@ /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 -/* Define to 1 if you have the `unsetenv' function. */ -#define HAVE_UNSETENV 1 - /* Define to 1 if you have the `uselocale' function. */ #define HAVE_USELOCALE 1 @@ -707,26 +504,20 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_UUID_UUID_H */ +/* Define to 1 if your compiler knows the visibility("hidden") attribute. */ +#define HAVE_VISIBILITY_ATTRIBUTE 1 + /* Define to 1 if you have the `wcstombs_l' function. */ #define HAVE_WCSTOMBS_L 1 -/* Define to 1 if you have the header file. */ -#define HAVE_WCTYPE_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_WINLDAP_H */ - -/* Define to 1 if you have the `writev' function. */ -#define HAVE_WRITEV 1 - -/* Define to 1 if you have the `X509_get_signature_nid' function. */ -/* #undef HAVE_X509_GET_SIGNATURE_NID */ +/* Define to 1 if you have the `X509_get_signature_info' function. */ +/* #undef HAVE_X509_GET_SIGNATURE_INFO */ /* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */ /* #undef HAVE_X86_64_POPCNTQ */ -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 +/* Define to 1 if you have XSAVE intrinsics. */ +/* #undef HAVE_XSAVE_INTRINSICS */ /* Define to 1 if your compiler understands __builtin_bswap16. */ #define HAVE__BUILTIN_BSWAP16 1 @@ -767,23 +558,23 @@ /* Define to 1 if you have __cpuid. */ /* #undef HAVE__CPUID */ +/* Define to 1 if you have __cpuidex. */ +/* #undef HAVE__CPUIDEX */ + /* Define to 1 if you have __get_cpuid. */ /* #undef HAVE__GET_CPUID */ +/* Define to 1 if you have __get_cpuid_count. */ +/* #undef HAVE__GET_CPUID_COUNT */ + /* Define to 1 if your compiler understands _Static_assert. */ #define HAVE__STATIC_ASSERT 1 -/* Define to 1 if you have the `__strtoll' function. */ -/* #undef HAVE___STRTOLL */ - -/* Define to 1 if you have the `__strtoull' function. */ -/* #undef HAVE___STRTOULL */ - /* Define to the appropriate printf length modifier for 64-bit ints. */ #define INT64_MODIFIER "l" /* Define to 1 if `locale_t' requires . */ -#define LOCALE_T_IN_XLOCALE 1 +/* #undef LOCALE_T_IN_XLOCALE */ /* Define as the maximum alignment requirement of any C data type. */ #define MAXIMUM_ALIGNOF 8 @@ -802,7 +593,7 @@ #define PACKAGE_NAME "PostgreSQL" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PostgreSQL 15.1" +#define PACKAGE_STRING "PostgreSQL 17.7" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "postgresql" @@ -811,7 +602,7 @@ #define PACKAGE_URL "https://www.postgresql.org/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "15.1" +#define PACKAGE_VERSION "17.7" /* Define to the name of a signed 128-bit integer type. */ #define PG_INT128_TYPE __int128 @@ -824,13 +615,13 @@ #define PG_KRB_SRVNAM "postgres" /* PostgreSQL major version as a string */ -#define PG_MAJORVERSION "15" +#define PG_MAJORVERSION "17" /* PostgreSQL major version number */ -#define PG_MAJORVERSION_NUM 15 +#define PG_MAJORVERSION_NUM 17 /* PostgreSQL minor version number */ -#define PG_MINORVERSION_NUM 1 +#define PG_MINORVERSION_NUM 7 /* Define to best printf format archetype, usually gnu_printf if available. */ #define PG_PRINTF_ATTRIBUTE printf @@ -839,13 +630,13 @@ #define PG_USE_STDBOOL 1 /* PostgreSQL version as a string */ -#define PG_VERSION "15.1" +#define PG_VERSION "17.7" /* PostgreSQL version as a number */ -#define PG_VERSION_NUM 150001 +#define PG_VERSION_NUM 170007 /* A string containing the version number, platform, and C compiler */ -#define PG_VERSION_STR "PostgreSQL 15.1 on aarch64-apple-darwin21.6.0, compiled by Apple clang version 14.0.0 (clang-1400.0.29.102), 64-bit" +#define PG_VERSION_STR "PostgreSQL 17.7 (libpg_query)" /* Define to 1 to allow profiling output to be saved separately for each process. */ @@ -898,6 +689,9 @@ /* Define to 1 to build with assertion checks. (--enable-cassert) */ /* #undef USE_ASSERT_CHECKING */ +/* Define to 1 to use AVX-512 popcount instructions with a runtime check. */ +/* #undef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK */ + /* Define to 1 to build with Bonjour support. (--with-bonjour) */ /* #undef USE_BONJOUR */ @@ -907,6 +701,9 @@ /* Define to build with ICU support. (--with-icu) */ /* #undef USE_ICU */ +/* Define to 1 to build with injection points. (--enable-injection-points) */ +/* #undef USE_INJECTION_POINTS */ + /* Define to 1 to build with LDAP support. (--with-ldap) */ /* #undef USE_LDAP */ @@ -920,6 +717,9 @@ /* Define to 1 to build with LLVM based JIT support. (--with-llvm) */ /* #undef USE_LLVM */ +/* Define to 1 to use LoongArch CRCC instructions. */ +/* #undef USE_LOONGARCH_CRC32C */ + /* Define to 1 to build with LZ4 support. (--with-lz4) */ /* #undef USE_LZ4 */ @@ -1021,17 +821,166 @@ /* Define to how the compiler spells `typeof'. */ /* #undef typeof */ -#undef HAVE_LOCALE_T +/* + * Assume we don't have xlocale.h on non-MacOS, as not all Linux distros have "xlocale.h" available. + * + * Note this is required on older MacOS to avoid "unknown type name 'locale_t'" + */ #undef LOCALE_T_IN_XLOCALE +#ifdef __APPLE__ +#define LOCALE_T_IN_XLOCALE 1 +#endif #undef WCSTOMBS_L_IN_XLOCALE -#undef PG_INT128_TYPE + +/* Support gcc earlier than 4.6.0 and MSVC */ #undef HAVE__STATIC_ASSERT + +/* Avoid dependency on execinfo (requires extra library on musl-libc based systems, not supported on Windows) */ #undef HAVE_EXECINFO_H #undef HAVE_BACKTRACE_SYMBOLS + +/* Avoid dependency on hardware popcount instructions (POPQNTQ) on x86 */ #undef HAVE_X86_64_POPCNTQ + +/* Avoid dependency on cpuid.h (only supported on x86 systems) */ #undef HAVE__GET_CPUID + +/* Avoid CRC extension usage to ensure we are not architecture-dependent */ #undef USE_ARMV8_CRC32C #undef USE_SSE42_CRC32C_WITH_RUNTIME_CHECK -#if defined(__FreeBSD__) || defined(__NetBSD__) -#define HAVE_STRCHRNUL + +/* + * Ensure we use built-in strchrnul on systems that have strchrnul support (FreeBSD, NetBSD and newer glibc) + * + * Note MacOS 15.4+ also has strchrnul implemented, but is complex to handle correctly, and the code works + * around the double define. + */ +#include +#undef HAVE_DECL_STRCHRNUL +#if defined(__FreeBSD__) || defined(__NetBSD__) || (defined(__GLIBC__) && ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 38) || __GLIBC__ > 2)) +#define HAVE_DECL_STRCHRNUL 1 +#else +#define HAVE_DECL_STRCHRNUL 0 +#endif + +/* 32-bit */ +#if defined(_WIN32) || __SIZEOF_POINTER__ == 4 +#undef ALIGNOF_DOUBLE +#define ALIGNOF_DOUBLE 4 +#undef ALIGNOF_LONG +#define ALIGNOF_LONG 4 +#define ALIGNOF_LONG_LONG_INT 4 +#undef ALIGNOF_PG_INT128_TYPE +#undef HAVE_LONG_INT_64 +#define HAVE_LONG_LONG_INT_64 1 +#undef INT64_MODIFIER +#define INT64_MODIFIER "ll" +#undef PG_INT128_TYPE +#undef PG_INT64_TYPE +#define PG_INT64_TYPE long long int +#undef SIZEOF_LONG +#define SIZEOF_LONG 4 +#undef SIZEOF_OFF_T +#define SIZEOF_OFF_T 4 +#undef SIZEOF_SIZE_T +#define SIZEOF_SIZE_T 4 +#undef SIZEOF_VOID_P +#define SIZEOF_VOID_P 4 +#endif + +/* Windows */ +#if defined(_WIN32) || defined(_WIN64) +#undef HAVE_COPYFILE +#undef HAVE_COPYFILE_H +#undef HAVE_DECL_F_FULLFSYNC +#define HAVE_DECL_F_FULLFSYNC 0 +#undef HAVE_DECL_PREADV +#define HAVE_DECL_PREADV 0 +#undef HAVE_DECL_PWRITEV +#define HAVE_DECL_PWRITEV 0 +#undef HAVE_DECL_STRLCAT +#define HAVE_DECL_STRLCAT 0 +#undef HAVE_DECL_STRLCPY +#define HAVE_DECL_STRLCPY 0 +#undef HAVE_GETIFADDRS +#undef HAVE_GETPEEREID +#undef HAVE_IFADDRS_H +#undef HAVE_INET_ATON +#undef HAVE_INT_OPTRESET +#undef HAVE_KQUEUE +#undef HAVE_LANGINFO_H +#undef HAVE_MEMSET_S +#undef HAVE_MKDTEMP +#undef HAVE_PTHREAD +#undef HAVE_PTHREAD_BARRIER_WAIT +#undef HAVE_PTHREAD_IS_THREADED_NP +#undef HAVE_PTHREAD_PRIO_INHERIT +#undef HAVE_STRERROR_R +#undef HAVE_STRLCAT +#undef HAVE_STRLCPY +#undef HAVE_STRSIGNAL +#undef HAVE_STRUCT_SOCKADDR_SA_LEN +#undef HAVE_STRUCT_TM_TM_ZONE +#undef HAVE_SYSLOG +#undef HAVE_SYS_EVENT_H +#undef HAVE_SYS_UCRED_H +#undef HAVE_TERMIOS_H +#undef HAVE_UNION_SEMUN +#undef HAVE_USELOCALE +#define HAVE__CONFIGTHREADLOCALE 1 +#undef STRERROR_R_INT +#undef USE_SYSV_SEMAPHORES +#undef USE_SYSV_SHARED_MEMORY +#define USE_WIN32_SEMAPHORES 1 +#define USE_WIN32_SHARED_MEMORY 1 +#undef PG_PRINTF_ATTRIBUTE +#if defined(__clang__) +#define PG_PRINTF_ATTRIBUTE printf +#elif defined(__MINGW32__) || defined(__MINGW64__) || defined(__MSYS__) || defined(__CYGWIN__) +#define PG_PRINTF_ATTRIBUTE gnu_printf +#endif +#if defined(__MINGW32__) || defined(__MINGW64__) || defined(__MSYS__) || defined(__CYGWIN__) +#undef HAVE_MBSTOWCS_L +#undef HAVE_WCSTOMBS_L +#define HAVE_CRTDEFS_H 1 +#define HAVE_PTHREAD_BARRIER_WAIT 1 +#endif +#endif + +/* Microsoft Visual Studio Compiler */ +#ifdef _MSC_VER +#undef HAVE_COMPUTED_GOTO +#undef HAVE_GCC__ATOMIC_INT32_CAS +#undef HAVE_GCC__ATOMIC_INT64_CAS +#undef HAVE_GCC__SYNC_CHAR_TAS +#undef HAVE_GCC__SYNC_INT32_CAS +#undef HAVE_GCC__SYNC_INT32_TAS +#undef HAVE_GCC__SYNC_INT64_CAS +#undef HAVE_GETOPT +#undef HAVE_GETOPT_H +#undef HAVE_GETOPT_LONG +#undef HAVE_INTTYPES_H +#undef HAVE_INT_OPTERR +#undef HAVE_LIBM +#undef HAVE_STRINGS_H +#undef HAVE_STRUCT_OPTION +#undef HAVE_TYPEOF +#undef HAVE_VISIBILITY_ATTRIBUTE +#undef HAVE__BOOL +#undef HAVE__BUILTIN_BSWAP16 +#undef HAVE__BUILTIN_BSWAP32 +#undef HAVE__BUILTIN_BSWAP64 +#undef HAVE__BUILTIN_CLZ +#undef HAVE__BUILTIN_CONSTANT_P +#undef HAVE__BUILTIN_CTZ +#undef HAVE__BUILTIN_FRAME_ADDRESS +#undef HAVE__BUILTIN_OP_OVERFLOW +#undef HAVE__BUILTIN_POPCOUNT +#undef HAVE__BUILTIN_TYPES_COMPATIBLE_P +#undef HAVE__BUILTIN_UNREACHABLE +#ifndef __cplusplus +#define inline __inline +#endif +#undef restrict +#define __thread __declspec( thread ) #endif diff --git a/parser/include/pg_config_ext.h b/parser/include/postgres/pg_config_ext.h similarity index 100% rename from parser/include/pg_config_ext.h rename to parser/include/postgres/pg_config_ext.h diff --git a/parser/include/pg_config_manual.h b/parser/include/postgres/pg_config_manual.h similarity index 85% rename from parser/include/pg_config_manual.h rename to parser/include/postgres/pg_config_manual.h index 8d2e3e3a..e74d3149 100644 --- a/parser/include/pg_config_manual.h +++ b/parser/include/postgres/pg_config_manual.h @@ -6,7 +6,7 @@ * for developers. If you edit any of these, be sure to do a *full* * rebuild (and an initdb if noted). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/pg_config_manual.h @@ -26,7 +26,9 @@ * * Changing this requires an initdb. */ +#ifndef NAMEDATALEN #define NAMEDATALEN 64 +#endif /* * Maximum number of arguments to a function. @@ -114,17 +116,6 @@ */ #define MAXPGPATH 1024 -/* - * PG_SOMAXCONN: maximum accept-queue length limit passed to - * listen(2). You'd think we should use SOMAXCONN from - * , but on many systems that symbol is much smaller - * than the kernel's actual limit. In any case, this symbol need be - * twiddled only if you have a kernel that refuses large limit values, - * rather than silently reducing the value to what it can handle - * (which is what most if not all Unixen do). - */ -#define PG_SOMAXCONN 10000 - /* * You can try changing this if you have a machine with bytes of * another size, but no guarantee... @@ -152,13 +143,6 @@ #define EXEC_BACKEND #endif -/* - * Define this if your operating system supports link() - */ -#if !defined(WIN32) && !defined(__CYGWIN__) -#define HAVE_WORKING_LINK 1 -#endif - /* * USE_POSIX_FADVISE controls whether Postgres will attempt to use the * posix_fadvise() kernel call. Usually the automatic configure tests are @@ -235,41 +219,21 @@ #define DEFAULT_EVENT_SOURCE "PostgreSQL" /* - * On PPC machines, decide whether to use the mutex hint bit in LWARX - * instructions. Setting the hint bit will slightly improve spinlock - * performance on POWER6 and later machines, but does nothing before that, - * and will result in illegal-instruction failures on some pre-POWER4 - * machines. By default we use the hint bit when building for 64-bit PPC, - * which should be safe in nearly all cases. You might want to override - * this if you are building 32-bit code for a known-recent PPC machine. - */ -#ifdef HAVE_PPC_LWARX_MUTEX_HINT /* must have assembler support in any case */ -#if defined(__ppc64__) || defined(__powerpc64__) -#define USE_PPC_LWARX_MUTEX_HINT -#endif -#endif - -/* - * On PPC machines, decide whether to use LWSYNC instructions in place of - * ISYNC and SYNC. This provides slightly better performance, but will - * result in illegal-instruction failures on some pre-POWER4 machines. - * By default we use LWSYNC when building for 64-bit PPC, which should be - * safe in nearly all cases. + * Assumed cache line size. This doesn't affect correctness, but can be used + * for low-level optimizations. This is mostly used to pad various data + * structures, to ensure that highly-contended fields are on different cache + * lines. Too small a value can hurt performance due to false sharing, while + * the only downside of too large a value is a few bytes of wasted memory. + * The default is 128, which should be large enough for all supported + * platforms. */ -#if defined(__ppc64__) || defined(__powerpc64__) -#define USE_PPC_LWSYNC -#endif +#define PG_CACHE_LINE_SIZE 128 /* - * Assumed cache line size. This doesn't affect correctness, but can be used - * for low-level optimizations. Currently, this is used to pad some data - * structures in xlog.c, to ensure that highly-contended fields are on - * different cache lines. Too small a value can hurt performance due to false - * sharing, while the only downside of too large a value is a few bytes of - * wasted memory. The default is 128, which should be large enough for all - * supported platforms. + * Assumed alignment requirement for direct I/O. 4K corresponds to common + * sector and memory page size. */ -#define PG_CACHE_LINE_SIZE 128 +#define PG_IO_ALIGN_SIZE 4096 /* *------------------------------------------------------------------------ @@ -278,6 +242,13 @@ *------------------------------------------------------------------------ */ +/* + * Force use of the non-recursive JSON parser in all cases. This is useful + * to validate the working of the parser, and the regression tests should + * pass except for some different error messages about the stack limit. + */ +/* #define FORCE_JSON_PSTACK */ + /* * Include Valgrind "client requests", mostly in the memory allocator, so * Valgrind understands PostgreSQL memory contexts. This permits detecting @@ -355,7 +326,7 @@ /* * Recover memory used for relcache entries when invalidated. See - * RelationBuildDescr() in src/backend/utils/cache/relcache.c. + * RelationBuildDesc() in src/backend/utils/cache/relcache.c. * * This is active automatically for clobber-cache builds when clobbering is * active, but can be overridden here by explicitly defining @@ -373,6 +344,12 @@ */ /* #define COPY_PARSE_PLAN_TREES */ +/* + * Define this to force Bitmapset reallocation on each modification. Helps + * to find dangling pointers to Bitmapset's. + */ +/* #define REALLOCATE_BITMAPSETS */ + /* * Define this to force all parse and plan trees to be passed through * outfuncs.c/readfuncs.c, to facilitate catching errors and omissions in diff --git a/parser/include/postgres/pg_config_os.h b/parser/include/postgres/pg_config_os.h new file mode 100644 index 00000000..4dc81de2 --- /dev/null +++ b/parser/include/postgres/pg_config_os.h @@ -0,0 +1,8 @@ +#if defined(_WIN32) || defined(_WIN64) +#include "port/win32.h" +#undef PGDLLIMPORT +#undef PGDLLEXPORT +#ifdef __clang__ +#undef __MINGW64__ +#endif /* __clang__ */ +#endif diff --git a/parser/include/pg_getopt.h b/parser/include/postgres/pg_getopt.h similarity index 96% rename from parser/include/pg_getopt.h rename to parser/include/postgres/pg_getopt.h index 9d91e602..c87ea20b 100644 --- a/parser/include/pg_getopt.h +++ b/parser/include/postgres/pg_getopt.h @@ -11,7 +11,7 @@ * Portions Copyright (c) 1987, 1993, 1994 * The Regents of the University of California. All rights reserved. * - * Portions Copyright (c) 2003-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2003-2024, PostgreSQL Global Development Group * * src/include/pg_getopt.h */ diff --git a/parser/include/pg_trace.h b/parser/include/postgres/pg_trace.h similarity index 80% rename from parser/include/pg_trace.h rename to parser/include/postgres/pg_trace.h index 8c63222c..bae819ab 100644 --- a/parser/include/pg_trace.h +++ b/parser/include/postgres/pg_trace.h @@ -3,7 +3,7 @@ * * Definitions for the PostgreSQL tracing framework * - * Copyright (c) 2006-2022, PostgreSQL Global Development Group + * Copyright (c) 2006-2024, PostgreSQL Global Development Group * * src/include/pg_trace.h * ---------- diff --git a/parser/include/pgstat.h b/parser/include/postgres/pgstat.h similarity index 74% rename from parser/include/pgstat.h rename to parser/include/postgres/pgstat.h index 7f21a3d0..7d11900f 100644 --- a/parser/include/pgstat.h +++ b/parser/include/postgres/pgstat.h @@ -3,7 +3,7 @@ * * Definitions for the PostgreSQL cumulative statistics system. * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/pgstat.h * ---------- @@ -48,6 +48,7 @@ typedef enum PgStat_Kind PGSTAT_KIND_ARCHIVER, PGSTAT_KIND_BGWRITER, PGSTAT_KIND_CHECKPOINTER, + PGSTAT_KIND_IO, PGSTAT_KIND_SLRU, PGSTAT_KIND_WAL, } PgStat_Kind; @@ -61,7 +62,7 @@ typedef enum TrackFunctionsLevel { TRACK_FUNC_OFF, TRACK_FUNC_PL, - TRACK_FUNC_ALL + TRACK_FUNC_ALL, } TrackFunctionsLevel; typedef enum PgStat_FetchConsistency @@ -78,7 +79,7 @@ typedef enum SessionEndType DISCONNECT_NORMAL, DISCONNECT_CLIENT_EOF, DISCONNECT_FATAL, - DISCONNECT_KILLED + DISCONNECT_KILLED, } SessionEndType; /* ---------- @@ -105,20 +106,11 @@ typedef int64 PgStat_Counter; */ typedef struct PgStat_FunctionCounts { - PgStat_Counter f_numcalls; - instr_time f_total_time; - instr_time f_self_time; + PgStat_Counter numcalls; + instr_time total_time; + instr_time self_time; } PgStat_FunctionCounts; -/* ---------- - * PgStat_BackendFunctionEntry Non-flushed function stats. - * ---------- - */ -typedef struct PgStat_BackendFunctionEntry -{ - PgStat_FunctionCounts f_counts; -} PgStat_BackendFunctionEntry; - /* * Working state needed to accumulate per-function-call timing statistics. */ @@ -132,7 +124,7 @@ typedef struct PgStat_FunctionCallUsage /* Backend-wide total time as of function start */ instr_time save_total; /* system clock as of function start */ - instr_time f_start; + instr_time start; } PgStat_FunctionCallUsage; /* ---------- @@ -159,31 +151,32 @@ typedef struct PgStat_BackendSubEntry * the index AM, while tuples_fetched is the number of tuples successfully * fetched by heap_fetch under the control of simple indexscans for this index. * - * tuples_inserted/updated/deleted/hot_updated count attempted actions, - * regardless of whether the transaction committed. delta_live_tuples, + * tuples_inserted/updated/deleted/hot_updated/newpage_updated count attempted + * actions, regardless of whether the transaction committed. delta_live_tuples, * delta_dead_tuples, and changed_tuples are set depending on commit or abort. * Note that delta_live_tuples and delta_dead_tuples can be negative! * ---------- */ typedef struct PgStat_TableCounts { - PgStat_Counter t_numscans; + PgStat_Counter numscans; - PgStat_Counter t_tuples_returned; - PgStat_Counter t_tuples_fetched; + PgStat_Counter tuples_returned; + PgStat_Counter tuples_fetched; - PgStat_Counter t_tuples_inserted; - PgStat_Counter t_tuples_updated; - PgStat_Counter t_tuples_deleted; - PgStat_Counter t_tuples_hot_updated; - bool t_truncdropped; + PgStat_Counter tuples_inserted; + PgStat_Counter tuples_updated; + PgStat_Counter tuples_deleted; + PgStat_Counter tuples_hot_updated; + PgStat_Counter tuples_newpage_updated; + bool truncdropped; - PgStat_Counter t_delta_live_tuples; - PgStat_Counter t_delta_dead_tuples; - PgStat_Counter t_changed_tuples; + PgStat_Counter delta_live_tuples; + PgStat_Counter delta_dead_tuples; + PgStat_Counter changed_tuples; - PgStat_Counter t_blocks_fetched; - PgStat_Counter t_blocks_hit; + PgStat_Counter blocks_fetched; + PgStat_Counter blocks_hit; } PgStat_TableCounts; /* ---------- @@ -203,10 +196,10 @@ typedef struct PgStat_TableCounts */ typedef struct PgStat_TableStatus { - Oid t_id; /* table's OID */ - bool t_shared; /* is it a shared catalog? */ + Oid id; /* table's OID */ + bool shared; /* is it a shared catalog? */ struct PgStat_TableXactStatus *trans; /* lowest subxact's counts */ - PgStat_TableCounts t_counts; /* event counts to be sent */ + PgStat_TableCounts counts; /* event counts to be sent */ Relation relation; /* rel that is using this entry */ } PgStat_TableStatus; @@ -242,7 +235,7 @@ typedef struct PgStat_TableXactStatus * ------------------------------------------------------------ */ -#define PGSTAT_FILE_FORMAT_ID 0x01A5BCA7 +#define PGSTAT_FILE_FORMAT_ID 0x01A5BCAC typedef struct PgStat_ArchiverStats { @@ -267,65 +260,112 @@ typedef struct PgStat_BgWriterStats typedef struct PgStat_CheckpointerStats { - PgStat_Counter timed_checkpoints; - PgStat_Counter requested_checkpoints; - PgStat_Counter checkpoint_write_time; /* times in milliseconds */ - PgStat_Counter checkpoint_sync_time; - PgStat_Counter buf_written_checkpoints; - PgStat_Counter buf_written_backend; - PgStat_Counter buf_fsync_backend; + PgStat_Counter num_timed; + PgStat_Counter num_requested; + PgStat_Counter restartpoints_timed; + PgStat_Counter restartpoints_requested; + PgStat_Counter restartpoints_performed; + PgStat_Counter write_time; /* times in milliseconds */ + PgStat_Counter sync_time; + PgStat_Counter buffers_written; + TimestampTz stat_reset_timestamp; } PgStat_CheckpointerStats; + +/* + * Types related to counting IO operations + */ +typedef enum IOObject +{ + IOOBJECT_RELATION, + IOOBJECT_TEMP_RELATION, +} IOObject; + +#define IOOBJECT_NUM_TYPES (IOOBJECT_TEMP_RELATION + 1) + +typedef enum IOContext +{ + IOCONTEXT_BULKREAD, + IOCONTEXT_BULKWRITE, + IOCONTEXT_NORMAL, + IOCONTEXT_VACUUM, +} IOContext; + +#define IOCONTEXT_NUM_TYPES (IOCONTEXT_VACUUM + 1) + +typedef enum IOOp +{ + IOOP_EVICT, + IOOP_EXTEND, + IOOP_FSYNC, + IOOP_HIT, + IOOP_READ, + IOOP_REUSE, + IOOP_WRITE, + IOOP_WRITEBACK, +} IOOp; + +#define IOOP_NUM_TYPES (IOOP_WRITEBACK + 1) + +typedef struct PgStat_BktypeIO +{ + PgStat_Counter counts[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; + PgStat_Counter times[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; +} PgStat_BktypeIO; + +typedef struct PgStat_IO +{ + TimestampTz stat_reset_timestamp; + PgStat_BktypeIO stats[BACKEND_NUM_TYPES]; +} PgStat_IO; + + typedef struct PgStat_StatDBEntry { - PgStat_Counter n_xact_commit; - PgStat_Counter n_xact_rollback; - PgStat_Counter n_blocks_fetched; - PgStat_Counter n_blocks_hit; - PgStat_Counter n_tuples_returned; - PgStat_Counter n_tuples_fetched; - PgStat_Counter n_tuples_inserted; - PgStat_Counter n_tuples_updated; - PgStat_Counter n_tuples_deleted; + PgStat_Counter xact_commit; + PgStat_Counter xact_rollback; + PgStat_Counter blocks_fetched; + PgStat_Counter blocks_hit; + PgStat_Counter tuples_returned; + PgStat_Counter tuples_fetched; + PgStat_Counter tuples_inserted; + PgStat_Counter tuples_updated; + PgStat_Counter tuples_deleted; TimestampTz last_autovac_time; - PgStat_Counter n_conflict_tablespace; - PgStat_Counter n_conflict_lock; - PgStat_Counter n_conflict_snapshot; - PgStat_Counter n_conflict_bufferpin; - PgStat_Counter n_conflict_startup_deadlock; - PgStat_Counter n_temp_files; - PgStat_Counter n_temp_bytes; - PgStat_Counter n_deadlocks; - PgStat_Counter n_checksum_failures; + PgStat_Counter conflict_tablespace; + PgStat_Counter conflict_lock; + PgStat_Counter conflict_snapshot; + PgStat_Counter conflict_logicalslot; + PgStat_Counter conflict_bufferpin; + PgStat_Counter conflict_startup_deadlock; + PgStat_Counter temp_files; + PgStat_Counter temp_bytes; + PgStat_Counter deadlocks; + PgStat_Counter checksum_failures; TimestampTz last_checksum_failure; - PgStat_Counter n_block_read_time; /* times in microseconds */ - PgStat_Counter n_block_write_time; - PgStat_Counter n_sessions; - PgStat_Counter total_session_time; - PgStat_Counter total_active_time; - PgStat_Counter total_idle_in_xact_time; - PgStat_Counter n_sessions_abandoned; - PgStat_Counter n_sessions_fatal; - PgStat_Counter n_sessions_killed; + PgStat_Counter blk_read_time; /* times in microseconds */ + PgStat_Counter blk_write_time; + PgStat_Counter sessions; + PgStat_Counter session_time; + PgStat_Counter active_time; + PgStat_Counter idle_in_transaction_time; + PgStat_Counter sessions_abandoned; + PgStat_Counter sessions_fatal; + PgStat_Counter sessions_killed; TimestampTz stat_reset_timestamp; } PgStat_StatDBEntry; typedef struct PgStat_StatFuncEntry { - PgStat_Counter f_numcalls; + PgStat_Counter numcalls; - PgStat_Counter f_total_time; /* times in microseconds */ - PgStat_Counter f_self_time; + PgStat_Counter total_time; /* times in microseconds */ + PgStat_Counter self_time; } PgStat_StatFuncEntry; typedef struct PgStat_StatReplSlotEntry { - /* - * In PG 15 this field is unused, but not removed, to avoid changing - * PGSTAT_FILE_FORMAT_ID. - */ - NameData slotname_unused; PgStat_Counter spill_txns; PgStat_Counter spill_count; PgStat_Counter spill_bytes; @@ -359,6 +399,7 @@ typedef struct PgStat_StatSubEntry typedef struct PgStat_StatTabEntry { PgStat_Counter numscans; + TimestampTz lastscan; PgStat_Counter tuples_returned; PgStat_Counter tuples_fetched; @@ -367,23 +408,24 @@ typedef struct PgStat_StatTabEntry PgStat_Counter tuples_updated; PgStat_Counter tuples_deleted; PgStat_Counter tuples_hot_updated; + PgStat_Counter tuples_newpage_updated; - PgStat_Counter n_live_tuples; - PgStat_Counter n_dead_tuples; - PgStat_Counter changes_since_analyze; - PgStat_Counter inserts_since_vacuum; + PgStat_Counter live_tuples; + PgStat_Counter dead_tuples; + PgStat_Counter mod_since_analyze; + PgStat_Counter ins_since_vacuum; PgStat_Counter blocks_fetched; PgStat_Counter blocks_hit; - TimestampTz vacuum_timestamp; /* user initiated vacuum */ + TimestampTz last_vacuum_time; /* user initiated vacuum */ PgStat_Counter vacuum_count; - TimestampTz autovac_vacuum_timestamp; /* autovacuum initiated */ - PgStat_Counter autovac_vacuum_count; - TimestampTz analyze_timestamp; /* user initiated */ + TimestampTz last_autovacuum_time; /* autovacuum initiated */ + PgStat_Counter autovacuum_count; + TimestampTz last_analyze_time; /* user initiated */ PgStat_Counter analyze_count; - TimestampTz autovac_analyze_timestamp; /* autovacuum initiated */ - PgStat_Counter autovac_analyze_count; + TimestampTz last_autoanalyze_time; /* autovacuum initiated */ + PgStat_Counter autoanalyze_count; } PgStat_StatTabEntry; typedef struct PgStat_WalStats @@ -399,6 +441,21 @@ typedef struct PgStat_WalStats TimestampTz stat_reset_timestamp; } PgStat_WalStats; +/* + * This struct stores wal-related durations as instr_time, which makes it + * cheaper and easier to accumulate them, by not requiring type + * conversions. During stats flush instr_time will be converted into + * microseconds. + */ +typedef struct PgStat_PendingWalStats +{ + PgStat_Counter wal_buffers_full; + PgStat_Counter wal_write; + PgStat_Counter wal_sync; + instr_time wal_write_time; + instr_time wal_sync_time; +} PgStat_PendingWalStats; + /* * Functions in pgstat.c @@ -421,7 +478,7 @@ extern long pgstat_report_stat(bool force); extern void pgstat_force_next_flush(void); extern void pgstat_reset_counters(void); -extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid objectid); +extern void pgstat_reset(PgStat_Kind kind, Oid dboid, Oid objoid); extern void pgstat_reset_of_kind(PgStat_Kind kind); /* stats accessors */ @@ -457,6 +514,29 @@ extern void pgstat_report_checkpointer(void); extern PgStat_CheckpointerStats *pgstat_fetch_stat_checkpointer(void); +/* + * Functions in pgstat_io.c + */ + +extern bool pgstat_bktype_io_stats_valid(PgStat_BktypeIO *backend_io, + BackendType bktype); +extern void pgstat_count_io_op(IOObject io_object, IOContext io_context, IOOp io_op); +extern void pgstat_count_io_op_n(IOObject io_object, IOContext io_context, IOOp io_op, uint32 cnt); +extern instr_time pgstat_prepare_io_time(bool track_io_guc); +extern void pgstat_count_io_op_time(IOObject io_object, IOContext io_context, + IOOp io_op, instr_time start_time, uint32 cnt); + +extern PgStat_IO *pgstat_fetch_stat_io(void); +extern const char *pgstat_get_io_context_name(IOContext io_context); +extern const char *pgstat_get_io_object_name(IOObject io_object); + +extern bool pgstat_tracks_io_bktype(BackendType bktype); +extern bool pgstat_tracks_io_object(BackendType bktype, + IOObject io_object, IOContext io_context); +extern bool pgstat_tracks_io_op(BackendType bktype, IOObject io_object, + IOContext io_context, IOOp io_op); + + /* * Functions in pgstat_database.c */ @@ -478,7 +558,8 @@ extern void pgstat_report_connect(Oid dboid); #define pgstat_count_conn_txn_idle_time(n) \ (pgStatTransactionIdleTime += (n)) -extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid dbid); +extern PgStat_StatDBEntry *pgstat_fetch_stat_dbentry(Oid dboid); + /* * Functions in pgstat_function.c @@ -493,8 +574,8 @@ extern void pgstat_init_function_usage(struct FunctionCallInfoBaseData *fcinfo, extern void pgstat_end_function_usage(PgStat_FunctionCallUsage *fcu, bool finalize); -extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid funcid); -extern PgStat_BackendFunctionEntry *find_funcstat_entry(Oid func_id); +extern PgStat_StatFuncEntry *pgstat_fetch_stat_funcentry(Oid func_id); +extern PgStat_FunctionCounts *find_funcstat_entry(Oid func_id); /* @@ -503,7 +584,7 @@ extern PgStat_BackendFunctionEntry *find_funcstat_entry(Oid func_id); extern void pgstat_create_relation(Relation rel); extern void pgstat_drop_relation(Relation rel); -extern void pgstat_copy_relation_stats(Relation dstrel, Relation srcrel); +extern void pgstat_copy_relation_stats(Relation dst, Relation src); extern void pgstat_init_relation(Relation rel); extern void pgstat_assoc_relation(Relation rel); @@ -529,41 +610,41 @@ extern void pgstat_report_analyze(Relation rel, #define pgstat_count_heap_scan(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_numscans++; \ + (rel)->pgstat_info->counts.numscans++; \ } while (0) #define pgstat_count_heap_getnext(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_tuples_returned++; \ + (rel)->pgstat_info->counts.tuples_returned++; \ } while (0) #define pgstat_count_heap_fetch(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_tuples_fetched++; \ + (rel)->pgstat_info->counts.tuples_fetched++; \ } while (0) #define pgstat_count_index_scan(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_numscans++; \ + (rel)->pgstat_info->counts.numscans++; \ } while (0) #define pgstat_count_index_tuples(rel, n) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_tuples_returned += (n); \ + (rel)->pgstat_info->counts.tuples_returned += (n); \ } while (0) #define pgstat_count_buffer_read(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_blocks_fetched++; \ + (rel)->pgstat_info->counts.blocks_fetched++; \ } while (0) #define pgstat_count_buffer_hit(rel) \ do { \ if (pgstat_should_count_relation(rel)) \ - (rel)->pgstat_info->t_counts.t_blocks_hit++; \ + (rel)->pgstat_info->counts.blocks_hit++; \ } while (0) extern void pgstat_count_heap_insert(Relation rel, PgStat_Counter n); -extern void pgstat_count_heap_update(Relation rel, bool hot); +extern void pgstat_count_heap_update(Relation rel, bool hot, bool newpage); extern void pgstat_count_heap_delete(Relation rel); extern void pgstat_count_truncate(Relation rel); extern void pgstat_update_heap_dead_tuples(Relation rel, int delta); @@ -575,7 +656,7 @@ extern void pgstat_twophase_postabort(TransactionId xid, uint16 info, extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry(Oid relid); extern PgStat_StatTabEntry *pgstat_fetch_stat_tabentry_ext(bool shared, - Oid relid); + Oid reloid); extern PgStat_TableStatus *find_tabstat_entry(Oid rel_id); @@ -685,7 +766,7 @@ extern PGDLLIMPORT PgStat_Counter pgStatActiveTime; extern PGDLLIMPORT PgStat_Counter pgStatTransactionIdleTime; /* updated by the traffic cop and in errfinish() */ -extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause; +extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause; /* @@ -693,7 +774,7 @@ extern PGDLLIMPORT __thread SessionEndType pgStatSessionEndCause; */ /* updated directly by backends and background processes */ -extern PGDLLIMPORT PgStat_WalStats PendingWalStats; +extern PGDLLIMPORT PgStat_PendingWalStats PendingWalStats; #endif /* PGSTAT_H */ diff --git a/parser/include/pgtime.h b/parser/include/postgres/pgtime.h similarity index 94% rename from parser/include/pgtime.h rename to parser/include/postgres/pgtime.h index 1c44be8b..27420867 100644 --- a/parser/include/pgtime.h +++ b/parser/include/postgres/pgtime.h @@ -3,7 +3,7 @@ * pgtime.h * PostgreSQL internal timezone library * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/pgtime.h @@ -75,8 +75,8 @@ extern bool pg_tz_acceptable(pg_tz *tz); /* these functions are in strftime.c */ -extern size_t pg_strftime(char *s, size_t max, const char *format, - const struct pg_tm *tm); +extern size_t pg_strftime(char *s, size_t maxsize, const char *format, + const struct pg_tm *t); /* these functions and variables are in pgtz.c */ diff --git a/parser/include/pl_gram.h b/parser/include/postgres/pl_gram.h similarity index 82% rename from parser/include/pl_gram.h rename to parser/include/postgres/pl_gram.h index 63d2f09d..3045b730 100644 --- a/parser/include/pl_gram.h +++ b/parser/include/postgres/pl_gram.h @@ -138,36 +138,37 @@ K_PG_EXCEPTION_CONTEXT = 354, K_PG_EXCEPTION_DETAIL = 355, K_PG_EXCEPTION_HINT = 356, - K_PRINT_STRICT_PARAMS = 357, - K_PRIOR = 358, - K_QUERY = 359, - K_RAISE = 360, - K_RELATIVE = 361, - K_RETURN = 362, - K_RETURNED_SQLSTATE = 363, - K_REVERSE = 364, - K_ROLLBACK = 365, - K_ROW_COUNT = 366, - K_ROWTYPE = 367, - K_SCHEMA = 368, - K_SCHEMA_NAME = 369, - K_SCROLL = 370, - K_SLICE = 371, - K_SQLSTATE = 372, - K_STACKED = 373, - K_STRICT = 374, - K_TABLE = 375, - K_TABLE_NAME = 376, - K_THEN = 377, - K_TO = 378, - K_TYPE = 379, - K_USE_COLUMN = 380, - K_USE_VARIABLE = 381, - K_USING = 382, - K_VARIABLE_CONFLICT = 383, - K_WARNING = 384, - K_WHEN = 385, - K_WHILE = 386 + K_PG_ROUTINE_OID = 357, + K_PRINT_STRICT_PARAMS = 358, + K_PRIOR = 359, + K_QUERY = 360, + K_RAISE = 361, + K_RELATIVE = 362, + K_RETURN = 363, + K_RETURNED_SQLSTATE = 364, + K_REVERSE = 365, + K_ROLLBACK = 366, + K_ROW_COUNT = 367, + K_ROWTYPE = 368, + K_SCHEMA = 369, + K_SCHEMA_NAME = 370, + K_SCROLL = 371, + K_SLICE = 372, + K_SQLSTATE = 373, + K_STACKED = 374, + K_STRICT = 375, + K_TABLE = 376, + K_TABLE_NAME = 377, + K_THEN = 378, + K_TO = 379, + K_TYPE = 380, + K_USE_COLUMN = 381, + K_USE_VARIABLE = 382, + K_USING = 383, + K_VARIABLE_CONFLICT = 384, + K_WARNING = 385, + K_WHEN = 386, + K_WHILE = 387 }; #endif /* Tokens. */ @@ -270,43 +271,44 @@ #define K_PG_EXCEPTION_CONTEXT 354 #define K_PG_EXCEPTION_DETAIL 355 #define K_PG_EXCEPTION_HINT 356 -#define K_PRINT_STRICT_PARAMS 357 -#define K_PRIOR 358 -#define K_QUERY 359 -#define K_RAISE 360 -#define K_RELATIVE 361 -#define K_RETURN 362 -#define K_RETURNED_SQLSTATE 363 -#define K_REVERSE 364 -#define K_ROLLBACK 365 -#define K_ROW_COUNT 366 -#define K_ROWTYPE 367 -#define K_SCHEMA 368 -#define K_SCHEMA_NAME 369 -#define K_SCROLL 370 -#define K_SLICE 371 -#define K_SQLSTATE 372 -#define K_STACKED 373 -#define K_STRICT 374 -#define K_TABLE 375 -#define K_TABLE_NAME 376 -#define K_THEN 377 -#define K_TO 378 -#define K_TYPE 379 -#define K_USE_COLUMN 380 -#define K_USE_VARIABLE 381 -#define K_USING 382 -#define K_VARIABLE_CONFLICT 383 -#define K_WARNING 384 -#define K_WHEN 385 -#define K_WHILE 386 +#define K_PG_ROUTINE_OID 357 +#define K_PRINT_STRICT_PARAMS 358 +#define K_PRIOR 359 +#define K_QUERY 360 +#define K_RAISE 361 +#define K_RELATIVE 362 +#define K_RETURN 363 +#define K_RETURNED_SQLSTATE 364 +#define K_REVERSE 365 +#define K_ROLLBACK 366 +#define K_ROW_COUNT 367 +#define K_ROWTYPE 368 +#define K_SCHEMA 369 +#define K_SCHEMA_NAME 370 +#define K_SCROLL 371 +#define K_SLICE 372 +#define K_SQLSTATE 373 +#define K_STACKED 374 +#define K_STRICT 375 +#define K_TABLE 376 +#define K_TABLE_NAME 377 +#define K_THEN 378 +#define K_TO 379 +#define K_TYPE 380 +#define K_USE_COLUMN 381 +#define K_USE_VARIABLE 382 +#define K_USING 383 +#define K_VARIABLE_CONFLICT 384 +#define K_WARNING 385 +#define K_WHEN 386 +#define K_WHILE 387 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 120 "pl_gram.y" +#line 117 "pl_gram.y" { core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ @@ -358,14 +360,14 @@ typedef union YYSTYPE PLpgSQL_case_when *casewhen; } /* Line 1529 of yacc.c. */ -#line 362 "pl_gram.h" +#line 364 "pl_gram.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif -extern __thread YYSTYPE plpgsql_yylval; +extern __thread YYSTYPE plpgsql_yylval; #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED typedef struct YYLTYPE @@ -380,4 +382,4 @@ typedef struct YYLTYPE # define YYLTYPE_IS_TRIVIAL 1 #endif -extern __thread YYLTYPE plpgsql_yylloc; +extern __thread YYLTYPE plpgsql_yylloc; diff --git a/parser/include/pl_reserved_kwlist.h b/parser/include/postgres/pl_reserved_kwlist.h similarity index 95% rename from parser/include/pl_reserved_kwlist.h rename to parser/include/postgres/pl_reserved_kwlist.h index 9043fbdd..d338e9f6 100644 --- a/parser/include/pl_reserved_kwlist.h +++ b/parser/include/postgres/pl_reserved_kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/pl/plpgsql/src/pl_reserved_kwlist.h diff --git a/parser/include/pl_reserved_kwlist_d.h b/parser/include/postgres/pl_reserved_kwlist_d.h similarity index 96% rename from parser/include/pl_reserved_kwlist_d.h rename to parser/include/postgres/pl_reserved_kwlist_d.h index 32689ebd..67c14052 100644 --- a/parser/include/pl_reserved_kwlist_d.h +++ b/parser/include/postgres/pl_reserved_kwlist_d.h @@ -3,7 +3,7 @@ * pl_reserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/include/pl_unreserved_kwlist.h b/parser/include/postgres/pl_unreserved_kwlist.h similarity index 97% rename from parser/include/pl_unreserved_kwlist.h rename to parser/include/postgres/pl_unreserved_kwlist.h index ee2be1b2..670b4cf0 100644 --- a/parser/include/pl_unreserved_kwlist.h +++ b/parser/include/postgres/pl_unreserved_kwlist.h @@ -7,7 +7,7 @@ * by the PG_KEYWORD macro, which is not defined in this file; it can * be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/pl/plpgsql/src/pl_unreserved_kwlist.h @@ -85,6 +85,7 @@ PG_KEYWORD("pg_datatype_name", K_PG_DATATYPE_NAME) PG_KEYWORD("pg_exception_context", K_PG_EXCEPTION_CONTEXT) PG_KEYWORD("pg_exception_detail", K_PG_EXCEPTION_DETAIL) PG_KEYWORD("pg_exception_hint", K_PG_EXCEPTION_HINT) +PG_KEYWORD("pg_routine_oid", K_PG_ROUTINE_OID) PG_KEYWORD("print_strict_params", K_PRINT_STRICT_PARAMS) PG_KEYWORD("prior", K_PRIOR) PG_KEYWORD("query", K_QUERY) diff --git a/parser/include/pl_unreserved_kwlist_d.h b/parser/include/postgres/pl_unreserved_kwlist_d.h similarity index 63% rename from parser/include/pl_unreserved_kwlist_d.h rename to parser/include/postgres/pl_unreserved_kwlist_d.h index 3ae9467f..aa3b1d5c 100644 --- a/parser/include/pl_unreserved_kwlist_d.h +++ b/parser/include/postgres/pl_unreserved_kwlist_d.h @@ -3,7 +3,7 @@ * pl_unreserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -80,6 +80,7 @@ static const char UnreservedPLKeywords_kw_string[] = "pg_exception_context\0" "pg_exception_detail\0" "pg_exception_hint\0" + "pg_routine_oid\0" "print_strict_params\0" "prior\0" "query\0" @@ -165,63 +166,64 @@ static const uint16 UnreservedPLKeywords_kw_offsets[] = { 420, 440, 458, - 478, - 484, - 490, - 496, + 473, + 493, + 499, 505, - 512, - 530, - 538, - 547, - 557, - 565, + 511, + 520, + 527, + 545, + 553, + 562, 572, - 584, - 591, - 597, + 580, + 587, + 599, 606, - 614, - 620, - 631, - 636, - 647, - 660, - 678, + 612, + 621, + 629, + 635, + 646, + 651, + 662, + 675, + 693, }; -#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS 82 +#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS 83 static int UnreservedPLKeywords_hash_func(const void *key, size_t keylen) { - static const int16 h[165] = { - 58, 0, 26, 32767, 0, 0, 9, 32767, - 0, 32767, 37, 74, 32767, -7, 32767, 39, - 58, -5, 32767, 31, 32767, 32767, 75, -23, - 32767, 0, 32767, 32767, 32767, -14, 32767, 81, - 32767, 32767, 32767, -36, -9, 32767, 32767, 32767, - 40, 32767, 54, 10, 11, 43, 32767, 0, - 52, 105, -22, 15, 32767, -33, 49, -65, - 48, 32767, 32767, 32767, 25, 49, -47, 37, - 21, 32767, 32767, -15, 70, 32767, 32767, 64, - -10, 126, 32767, 51, 0, 36, 32767, -55, - -22, 32767, 32767, 32767, 32767, 32767, -26, -35, - 32767, 61, 32767, 32767, 32767, -23, 98, 48, - 23, 19, 32767, 7, 35, 5, -18, 71, - 28, 5, 32767, 32767, 32767, 74, 32767, 82, - 32767, 0, 32767, 32767, 66, 0, 0, 50, - 32767, 32767, 5, 2, 0, 32767, 55, 32767, - 32767, 45, 79, 32767, 32767, 73, 22, 0, - 103, 32767, -20, 72, 32767, 0, 29, 32767, - 0, 32767, 32767, 0, 50, 28, 32767, -40, - 32767, 32767, 34, 56, 32767, 32767, 32767, 17, - -36, 32767, 67, 32767, 0 + static const int16 h[167] = { + 0, -26, 32767, 0, 74, -36, 32767, 32767, + 93, 0, 35, 14, 34, -65, -42, 78, + -22, 8, 10, 0, 5, 32767, 10, 26, + 32767, 4, 32767, 32767, -81, -9, -25, 32767, + -17, 11, 0, -43, 11, 8, 45, 0, + 32767, 32767, 32767, 12, 0, 32767, 32, 32767, + 0, 32767, -18, 64, 32767, -2, 31, 32767, + 50, 80, -75, 32767, 32767, 32767, 0, 32767, + 32767, 0, 54, 82, 32767, 32767, 69, 60, + 43, 32767, 0, 95, 21, 1, 27, 0, + 120, 32767, -46, 32767, -57, 32767, 32767, 55, + 70, 32767, 28, 32767, 0, -14, -38, 32767, + 57, 0, 32767, 19, 98, 0, 32767, 68, + 32767, 32767, 32767, 32767, -26, 13, 27, 35, + 37, 32767, 49, -44, 65, -35, 0, 32767, + 32767, 32767, 30, 0, 0, 32767, 26, 42, + 7, 32767, 72, -43, 32767, 0, 32767, 89, + 36, 48, 32767, 32, 38, 3, 32767, 49, + 32767, 0, 51, 0, 32767, 73, 32767, 32767, + 79, 32767, 30, 32767, 0, 0, 50, 32767, + 0, 32767, 32767, 32767, 0, 32767, 32767 }; const unsigned char *k = (const unsigned char *) key; uint32 a = 0; - uint32 b = 0; + uint32 b = 1; while (keylen--) { @@ -230,7 +232,7 @@ UnreservedPLKeywords_hash_func(const void *key, size_t keylen) a = a * 257 + c; b = b * 8191 + c; } - return h[a % 165] + h[b % 165]; + return h[a % 167] + h[b % 167]; } static const ScanKeywordList UnreservedPLKeywords = { diff --git a/parser/include/plerrcodes.h b/parser/include/postgres/plerrcodes.h similarity index 99% rename from parser/include/plerrcodes.h rename to parser/include/postgres/plerrcodes.h index b17725b9..c9900ac4 100644 --- a/parser/include/plerrcodes.h +++ b/parser/include/postgres/plerrcodes.h @@ -433,6 +433,10 @@ "idle_in_transaction_session_timeout", ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT }, +{ + "transaction_timeout", ERRCODE_TRANSACTION_TIMEOUT +}, + { "invalid_sql_statement_name", ERRCODE_INVALID_SQL_STATEMENT_NAME }, @@ -845,10 +849,6 @@ "duplicate_file", ERRCODE_DUPLICATE_FILE }, -{ - "snapshot_too_old", ERRCODE_SNAPSHOT_TOO_OLD -}, - { "config_file_error", ERRCODE_CONFIG_FILE_ERROR }, diff --git a/parser/include/plpgsql.h b/parser/include/postgres/plpgsql.h similarity index 94% rename from parser/include/plpgsql.h rename to parser/include/postgres/plpgsql.h index e29e6cf4..c04427c2 100644 --- a/parser/include/plpgsql.h +++ b/parser/include/postgres/plpgsql.h @@ -3,7 +3,7 @@ * plpgsql.h - Definitions for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -42,7 +42,7 @@ typedef enum PLpgSQL_nsitem_type { PLPGSQL_NSTYPE_LABEL, /* block label */ PLPGSQL_NSTYPE_VAR, /* scalar variable */ - PLPGSQL_NSTYPE_REC /* composite variable */ + PLPGSQL_NSTYPE_REC, /* composite variable */ } PLpgSQL_nsitem_type; /* @@ -52,7 +52,7 @@ typedef enum PLpgSQL_label_type { PLPGSQL_LABEL_BLOCK, /* DECLARE/BEGIN block */ PLPGSQL_LABEL_LOOP, /* looping construct */ - PLPGSQL_LABEL_OTHER /* anything else */ + PLPGSQL_LABEL_OTHER, /* anything else */ } PLpgSQL_label_type; /* @@ -64,7 +64,7 @@ typedef enum PLpgSQL_datum_type PLPGSQL_DTYPE_ROW, PLPGSQL_DTYPE_REC, PLPGSQL_DTYPE_RECFIELD, - PLPGSQL_DTYPE_PROMISE + PLPGSQL_DTYPE_PROMISE, } PLpgSQL_datum_type; /* @@ -83,7 +83,7 @@ typedef enum PLpgSQL_promise_type PLPGSQL_PROMISE_TG_NARGS, PLPGSQL_PROMISE_TG_ARGV, PLPGSQL_PROMISE_TG_EVENT, - PLPGSQL_PROMISE_TG_TAG + PLPGSQL_PROMISE_TG_TAG, } PLpgSQL_promise_type; /* @@ -93,7 +93,7 @@ typedef enum PLpgSQL_type_type { PLPGSQL_TTYPE_SCALAR, /* scalar types and domains */ PLPGSQL_TTYPE_REC, /* composite types, including RECORD */ - PLPGSQL_TTYPE_PSEUDO /* pseudotypes */ + PLPGSQL_TTYPE_PSEUDO, /* pseudotypes */ } PLpgSQL_type_type; /* @@ -127,7 +127,7 @@ typedef enum PLpgSQL_stmt_type PLPGSQL_STMT_PERFORM, PLPGSQL_STMT_CALL, PLPGSQL_STMT_COMMIT, - PLPGSQL_STMT_ROLLBACK + PLPGSQL_STMT_ROLLBACK, } PLpgSQL_stmt_type; /* @@ -138,7 +138,7 @@ enum PLPGSQL_RC_OK, PLPGSQL_RC_EXIT, PLPGSQL_RC_RETURN, - PLPGSQL_RC_CONTINUE + PLPGSQL_RC_CONTINUE, }; /* @@ -147,6 +147,7 @@ enum typedef enum PLpgSQL_getdiag_kind { PLPGSQL_GETDIAG_ROW_COUNT, + PLPGSQL_GETDIAG_ROUTINE_OID, PLPGSQL_GETDIAG_CONTEXT, PLPGSQL_GETDIAG_ERROR_CONTEXT, PLPGSQL_GETDIAG_ERROR_DETAIL, @@ -157,7 +158,7 @@ typedef enum PLpgSQL_getdiag_kind PLPGSQL_GETDIAG_DATATYPE_NAME, PLPGSQL_GETDIAG_MESSAGE_TEXT, PLPGSQL_GETDIAG_TABLE_NAME, - PLPGSQL_GETDIAG_SCHEMA_NAME + PLPGSQL_GETDIAG_SCHEMA_NAME, } PLpgSQL_getdiag_kind; /* @@ -173,7 +174,7 @@ typedef enum PLpgSQL_raise_option_type PLPGSQL_RAISEOPTION_CONSTRAINT, PLPGSQL_RAISEOPTION_DATATYPE, PLPGSQL_RAISEOPTION_TABLE, - PLPGSQL_RAISEOPTION_SCHEMA + PLPGSQL_RAISEOPTION_SCHEMA, } PLpgSQL_raise_option_type; /* @@ -183,7 +184,7 @@ typedef enum PLpgSQL_resolve_option { PLPGSQL_RESOLVE_ERROR, /* throw error if ambiguous */ PLPGSQL_RESOLVE_VARIABLE, /* prefer plpgsql var to table column */ - PLPGSQL_RESOLVE_COLUMN /* prefer table column to plpgsql var */ + PLPGSQL_RESOLVE_COLUMN, /* prefer table column to plpgsql var */ } PLpgSQL_resolve_option; @@ -956,7 +957,7 @@ typedef enum PLpgSQL_trigtype { PLPGSQL_DML_TRIGGER, PLPGSQL_EVENT_TRIGGER, - PLPGSQL_NOT_TRIGGER + PLPGSQL_NOT_TRIGGER, } PLpgSQL_trigtype; /* @@ -1075,7 +1076,6 @@ typedef struct PLpgSQL_execstate /* lookup table to use for executing type casts */ HTAB *cast_hash; - MemoryContext cast_hash_context; /* memory context for statement-lifespan temporary values */ MemoryContext stmt_mcontext; /* current stmt context, or NULL if none */ @@ -1188,14 +1188,14 @@ typedef enum { IDENTIFIER_LOOKUP_NORMAL, /* normal processing of var names */ IDENTIFIER_LOOKUP_DECLARE, /* In DECLARE --- don't look up names */ - IDENTIFIER_LOOKUP_EXPR /* In SQL expression --- special case */ + IDENTIFIER_LOOKUP_EXPR, /* In SQL expression --- special case */ } IdentifierLookup; -extern __thread IdentifierLookup plpgsql_IdentifierLookup; +extern __thread IdentifierLookup plpgsql_IdentifierLookup; -extern __thread int plpgsql_variable_conflict; +extern __thread int plpgsql_variable_conflict; -extern __thread bool plpgsql_print_strict_params; +extern __thread bool plpgsql_print_strict_params; extern bool plpgsql_check_asserts; @@ -1209,18 +1209,18 @@ extern bool plpgsql_check_asserts; extern int plpgsql_extra_warnings; extern int plpgsql_extra_errors; -extern __thread bool plpgsql_check_syntax; -extern __thread bool plpgsql_DumpExecTree; +extern __thread bool plpgsql_check_syntax; +extern __thread bool plpgsql_DumpExecTree; -extern __thread PLpgSQL_stmt_block *plpgsql_parse_result; +extern __thread PLpgSQL_stmt_block *plpgsql_parse_result; -extern __thread int plpgsql_nDatums; -extern __thread PLpgSQL_datum **plpgsql_Datums; +extern __thread int plpgsql_nDatums; +extern __thread PLpgSQL_datum **plpgsql_Datums; -extern __thread char *plpgsql_error_funcname; +extern __thread char *plpgsql_error_funcname; -extern __thread PLpgSQL_function *plpgsql_curr_compile; -extern __thread MemoryContext plpgsql_compile_tmp_cxt; +extern __thread PLpgSQL_function *plpgsql_curr_compile; +extern __thread MemoryContext plpgsql_compile_tmp_cxt; extern PLpgSQL_plugin **plpgsql_plugin_ptr; @@ -1231,11 +1231,11 @@ extern PLpgSQL_plugin **plpgsql_plugin_ptr; /* * Functions in pl_comp.c */ -extern PLpgSQL_function *plpgsql_compile(FunctionCallInfo fcinfo, - bool forValidator); +extern PGDLLEXPORT PLpgSQL_function *plpgsql_compile(FunctionCallInfo fcinfo, + bool forValidator); extern PLpgSQL_function *plpgsql_compile_inline(char *proc_source); -extern void plpgsql_parser_setup(struct ParseState *pstate, - PLpgSQL_expr *expr); +extern PGDLLEXPORT void plpgsql_parser_setup(struct ParseState *pstate, + PLpgSQL_expr *expr); extern bool plpgsql_parse_word(char *word1, const char *yytxt, bool lookup, PLwdatum *wdatum, PLword *word); extern bool plpgsql_parse_dblword(char *word1, char *word2, @@ -1246,9 +1246,10 @@ extern PLpgSQL_type *plpgsql_parse_wordtype(char *ident); extern PLpgSQL_type *plpgsql_parse_cwordtype(List *idents); extern PLpgSQL_type *plpgsql_parse_wordrowtype(char *ident); extern PLpgSQL_type *plpgsql_parse_cwordrowtype(List *idents); -extern PLpgSQL_type *plpgsql_build_datatype(Oid typeOid, int32 typmod, - Oid collation, - TypeName *origtypname); +extern PGDLLEXPORT PLpgSQL_type *plpgsql_build_datatype(Oid typeOid, int32 typmod, + Oid collation, + TypeName *origtypname); +extern PLpgSQL_type *plpgsql_build_datatype_arrayof(PLpgSQL_type *dtype); extern PLpgSQL_variable *plpgsql_build_variable(const char *refname, int lineno, PLpgSQL_type *dtype, bool add2namespace); @@ -1257,8 +1258,8 @@ extern PLpgSQL_rec *plpgsql_build_record(const char *refname, int lineno, bool add2namespace); extern PLpgSQL_recfield *plpgsql_build_recfield(PLpgSQL_rec *rec, const char *fldname); -extern int plpgsql_recognize_err_condition(const char *condname, - bool allow_sqlstate); +extern PGDLLEXPORT int plpgsql_recognize_err_condition(const char *condname, + bool allow_sqlstate); extern PLpgSQL_condition *plpgsql_parse_err_condition(char *condname); extern void plpgsql_start_datums(void); extern void plpgsql_finish_datums(PLpgSQL_function *function); @@ -1266,11 +1267,6 @@ extern void plpgsql_adddatum(PLpgSQL_datum *newdatum); extern int plpgsql_add_initdatums(int **varnos); extern void plpgsql_HashTableInit(void); -/* - * Functions in pl_handler.c - */ -extern void _PG_init(void); - /* * Functions in pl_exec.c */ @@ -1287,8 +1283,8 @@ extern void plpgsql_exec_event_trigger(PLpgSQL_function *func, extern void plpgsql_xact_cb(XactEvent event, void *arg); extern void plpgsql_subxact_cb(SubXactEvent event, SubTransactionId mySubid, SubTransactionId parentSubid, void *arg); -extern Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate, - PLpgSQL_datum *datum); +extern PGDLLEXPORT Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate, + PLpgSQL_datum *datum); extern void plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate, PLpgSQL_datum *datum, Oid *typeId, int32 *typMod, @@ -1303,9 +1299,9 @@ extern void plpgsql_ns_push(const char *label, extern void plpgsql_ns_pop(void); extern PLpgSQL_nsitem *plpgsql_ns_top(void); extern void plpgsql_ns_additem(PLpgSQL_nsitem_type itemtype, int itemno, const char *name); -extern PLpgSQL_nsitem *plpgsql_ns_lookup(PLpgSQL_nsitem *ns_cur, bool localmode, - const char *name1, const char *name2, - const char *name3, int *names_used); +extern PGDLLEXPORT PLpgSQL_nsitem *plpgsql_ns_lookup(PLpgSQL_nsitem *ns_cur, bool localmode, + const char *name1, const char *name2, + const char *name3, int *names_used); extern PLpgSQL_nsitem *plpgsql_ns_lookup_label(PLpgSQL_nsitem *ns_cur, const char *name); extern PLpgSQL_nsitem *plpgsql_ns_find_nearest_loop(PLpgSQL_nsitem *ns_cur); @@ -1313,7 +1309,7 @@ extern PLpgSQL_nsitem *plpgsql_ns_find_nearest_loop(PLpgSQL_nsitem *ns_cur); /* * Other functions in pl_funcs.c */ -extern const char *plpgsql_stmt_typename(PLpgSQL_stmt *stmt); +extern PGDLLEXPORT const char *plpgsql_stmt_typename(PLpgSQL_stmt *stmt); extern const char *plpgsql_getdiag_kindname(PLpgSQL_getdiag_kind kind); extern void plpgsql_free_function_memory(PLpgSQL_function *func); extern void plpgsql_dumptree(PLpgSQL_function *func); @@ -1323,6 +1319,7 @@ extern void plpgsql_dumptree(PLpgSQL_function *func); */ extern int plpgsql_base_yylex(void); extern int plpgsql_yylex(void); +extern int plpgsql_token_length(void); extern void plpgsql_push_back_token(int token); extern bool plpgsql_token_is_unreserved_keyword(int token); extern void plpgsql_append_source_text(StringInfo buf, diff --git a/parser/include/port.h b/parser/include/postgres/port.h similarity index 86% rename from parser/include/port.h rename to parser/include/postgres/port.h index 9f357612..85cf26c7 100644 --- a/parser/include/port.h +++ b/parser/include/postgres/port.h @@ -3,7 +3,7 @@ * port.h * Header for src/port/ compatibility functions. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port.h @@ -46,14 +46,15 @@ extern bool pg_set_block(pgsocket sock); /* Portable path handling for Unix/Win32 (in path.c) */ -extern bool has_drive_prefix(const char *filename); +extern bool has_drive_prefix(const char *path); extern char *first_dir_separator(const char *filename); extern char *last_dir_separator(const char *filename); extern char *first_path_var_separator(const char *pathlist); extern void join_path_components(char *ret_path, const char *head, const char *tail); extern void canonicalize_path(char *path); -extern void make_native_path(char *path); +extern void canonicalize_path_enc(char *path, int encoding); +extern void make_native_path(char *filename); extern void cleanup_path(char *path); extern bool path_contains_parent_reference(const char *path); extern bool path_is_relative_and_below_cwd(const char *path); @@ -137,7 +138,7 @@ extern int validate_exec(const char *path); extern int find_my_exec(const char *argv0, char *retpath); extern int find_other_exec(const char *argv0, const char *target, const char *versionstr, char *retpath); -extern char *pipe_read_line(char *cmd, char *line, int maxsize); +extern char *pipe_read_line(char *cmd); /* Doesn't belong here, but this is used with find_other_exec(), so... */ #define PG_BACKEND_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n" @@ -208,15 +209,24 @@ extern unsigned char pg_ascii_tolower(unsigned char ch); #undef printf #endif -extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args); +extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args) pg_attribute_printf(3, 0); extern int pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3, 4); -extern int pg_vsprintf(char *str, const char *fmt, va_list args); +extern int pg_vsprintf(char *str, const char *fmt, va_list args) pg_attribute_printf(2, 0); extern int pg_sprintf(char *str, const char *fmt,...) pg_attribute_printf(2, 3); -extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args); +extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args) pg_attribute_printf(2, 0); extern int pg_fprintf(FILE *stream, const char *fmt,...) pg_attribute_printf(2, 3); -extern int pg_vprintf(const char *fmt, va_list args); +extern int pg_vprintf(const char *fmt, va_list args) pg_attribute_printf(1, 0); extern int pg_printf(const char *fmt,...) pg_attribute_printf(1, 2); +#ifndef WIN32 +/* + * We add a pg_ prefix as a warning that the Windows implementations have the + * non-standard side-effect of changing the current file position. + */ +#define pg_pread pread +#define pg_pwrite pwrite +#endif + /* * We use __VA_ARGS__ for printf to prevent replacing references to * the "printf" format archetype in format() attribute declarations. @@ -288,7 +298,6 @@ extern int pgunlink(const char *path); #if defined(WIN32) && !defined(__CYGWIN__) extern int pgsymlink(const char *oldpath, const char *newpath); extern int pgreadlink(const char *path, char *buf, size_t size); -extern bool pgwin32_is_junction(const char *path); #define symlink(oldpath, newpath) pgsymlink(oldpath, newpath) #define readlink(path, buf, size) pgreadlink(path, buf, size) @@ -298,6 +307,33 @@ extern bool rmtree(const char *path, bool rmtopdir); #if defined(WIN32) && !defined(__CYGWIN__) +/* + * We want the 64-bit variant of lseek(). + * + * For Visual Studio, this must be after to avoid messing up its + * lseek() and _lseeki64() function declarations. + * + * For MinGW there is already a macro, so we have to undefine it (depending on + * _FILE_OFFSET_BITS, it may point at its own lseek64, but we don't want to + * count on that being set). + */ +#undef lseek +#define lseek(a,b,c) _lseeki64((a),(b),(c)) + +/* + * We want the 64-bit variant of chsize(). It sets errno and also returns it, + * so convert non-zero result to -1 to match POSIX. + * + * Prevent MinGW from declaring functions, and undefine its macro before we + * define our own. + */ +#ifndef _MSC_VER +#define FTRUNCATE_DEFINED +#include +#undef ftruncate +#endif +#define ftruncate(a,b) (_chsize_s((a),(b)) == 0 ? 0 : -1) + /* * open() and fopen() replacements to allow deletion of open files and * passing of other special options. @@ -332,11 +368,6 @@ extern FILE *pgwin32_popen(const char *command, const char *type); #define popen(a,b) pgwin32_popen(a,b) #define pclose(a) _pclose(a) -/* New versions of MingW have gettimeofday, old mingw and msvc don't */ -#ifndef HAVE_GETTIMEOFDAY -/* Last parameter not used */ -extern int gettimeofday(struct timeval *tp, struct timezone *tzp); -#endif #else /* !WIN32 */ /* @@ -370,10 +401,6 @@ extern int gettimeofday(struct timeval *tp, struct timezone *tzp); #define pgoff_t off_t #endif -#ifndef HAVE_FLS -extern int fls(int mask); -#endif - #ifndef HAVE_GETPEEREID /* On Windows, Perl might have incompatible definitions of uid_t and gid_t. */ #ifndef PLPERL_HAVE_UID_GID @@ -401,16 +428,13 @@ extern int getpeereid(int sock, uid_t *uid, gid_t *gid); extern void explicit_bzero(void *buf, size_t len); #endif -#ifndef HAVE_STRTOF -extern float strtof(const char *nptr, char **endptr); -#endif - #ifdef HAVE_BUGGY_STRTOF extern float pg_strtof(const char *nptr, char **endptr); #define strtof(a,b) (pg_strtof((a),(b))) #endif -#ifndef HAVE_LINK +#ifdef WIN32 +/* src/port/win32link.c */ extern int link(const char *src, const char *dst); #endif @@ -424,25 +448,6 @@ extern char *mkdtemp(char *path); extern int inet_aton(const char *cp, struct in_addr *addr); #endif -/* - * Windows and older Unix don't have pread(2) and pwrite(2). We have - * replacement functions, but they have slightly different semantics so we'll - * use a name with a pg_ prefix to avoid confusion. - */ -#ifdef HAVE_PREAD -#define pg_pread pread -#else -extern ssize_t pg_pread(int fd, void *buf, size_t nbyte, off_t offset); -#endif - -#ifdef HAVE_PWRITE -#define pg_pwrite pwrite -#else -extern ssize_t pg_pwrite(int fd, const void *buf, size_t nbyte, off_t offset); -#endif - -/* For pg_pwritev() and pg_preadv(), see port/pg_iovec.h. */ - #if !HAVE_DECL_STRLCAT extern size_t strlcat(char *dst, const char *src, size_t siz); #endif @@ -455,43 +460,16 @@ extern size_t strlcpy(char *dst, const char *src, size_t siz); extern size_t strnlen(const char *str, size_t maxlen); #endif -#ifndef HAVE_SETENV -extern int setenv(const char *name, const char *value, int overwrite); -#endif - -#ifndef HAVE_UNSETENV -extern int unsetenv(const char *name); -#endif - -#ifndef HAVE_DLOPEN -extern void *dlopen(const char *file, int mode); -extern void *dlsym(void *handle, const char *symbol); -extern int dlclose(void *handle); -extern char *dlerror(void); -#endif - -/* - * In some older systems, the RTLD_NOW flag isn't defined and the mode - * argument to dlopen must always be 1. - */ -#if !HAVE_DECL_RTLD_NOW -#define RTLD_NOW 1 -#endif - -/* - * The RTLD_GLOBAL flag is wanted if available, but it doesn't exist - * everywhere. If it doesn't exist, set it to 0 so it has no effect. - */ -#if !HAVE_DECL_RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -/* thread.c */ +/* port/user.c */ #ifndef WIN32 extern bool pg_get_user_name(uid_t user_id, char *buffer, size_t buflen); extern bool pg_get_user_home_dir(uid_t user_id, char *buffer, size_t buflen); #endif +/* + * Callers should use the qsort() macro defined below instead of calling + * pg_qsort() directly. + */ extern void pg_qsort(void *base, size_t nel, size_t elsize, int (*cmp) (const void *, const void *)); extern int pg_qsort_strcmp(const void *a, const void *b); @@ -506,7 +484,7 @@ extern void qsort_arg(void *base, size_t nel, size_t elsize, extern void qsort_interruptible(void *base, size_t nel, size_t elsize, qsort_arg_comparator cmp, void *arg); -extern void *bsearch_arg(const void *key, const void *base, +extern void *bsearch_arg(const void *key, const void *base0, size_t nmemb, size_t size, int (*compar) (const void *, const void *, void *), void *arg); @@ -538,16 +516,40 @@ extern int pg_check_dir(const char *dir); /* port/pgmkdirp.c */ extern int pg_mkdir_p(char *path, int omode); -/* port/pqsignal.c */ -typedef void (*pqsigfunc) (int signo); +/* port/pqsignal.c (see also interfaces/libpq/legacy-pqsignal.c) */ +#ifdef FRONTEND +#define pqsignal pqsignal_fe +#endif +typedef void (*pqsigfunc) (SIGNAL_ARGS); extern pqsigfunc pqsignal(int signo, pqsigfunc func); /* port/quotes.c */ extern char *escape_single_quotes_ascii(const char *src); /* common/wait_error.c */ -extern char *wait_result_to_str(int exit_status); +extern char *wait_result_to_str(int exitstatus); extern bool wait_result_is_signal(int exit_status, int signum); extern bool wait_result_is_any_signal(int exit_status, bool include_command_not_found); +extern int wait_result_to_exit_code(int exit_status); + +/* + * Interfaces that we assume all Unix system have. We retain individual macros + * for better documentation. + * + * For symlink-related functions, there is often no need to test these macros, + * because we provided basic support on Windows that can work with absolute + * paths to directories. Code that wants to test for complete symlink support + * (including relative paths and non-directories) should be conditional on + * HAVE_READLINK or HAVE_SYMLINK. + */ +#ifndef WIN32 +#define HAVE_GETRLIMIT 1 +#define HAVE_POLL 1 +#define HAVE_POLL_H 1 +#define HAVE_READLINK 1 +#define HAVE_SETSID 1 +#define HAVE_SHM_OPEN 1 +#define HAVE_SYMLINK 1 +#endif #endif /* PG_PORT_H */ diff --git a/parser/include/port/atomics.h b/parser/include/postgres/port/atomics.h similarity index 84% rename from parser/include/port/atomics.h rename to parser/include/postgres/port/atomics.h index 9550e04a..36a9b092 100644 --- a/parser/include/port/atomics.h +++ b/parser/include/postgres/port/atomics.h @@ -28,7 +28,7 @@ * For an introduction to using memory barriers within the PostgreSQL backend, * see src/backend/storage/lmgr/README.barrier * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics.h @@ -63,13 +63,10 @@ * compiler barrier. * */ -#if defined(__arm__) || defined(__arm) || \ - defined(__aarch64__) || defined(__aarch64) +#if defined(__arm__) || defined(__arm) || defined(__aarch64__) #include "port/atomics/arch-arm.h" #elif defined(__i386__) || defined(__i386) || defined(__x86_64__) #include "port/atomics/arch-x86.h" -#elif defined(__ia64__) || defined(__ia64) -#include "port/atomics/arch-ia64.h" #elif defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__) || defined(__powerpc64__) #include "port/atomics/arch-ppc.h" #elif defined(__hppa) || defined(__hppa__) @@ -87,16 +84,12 @@ * using compiler intrinsics are a good idea. */ /* - * gcc or compatible, including clang and icc. Exclude xlc. The ppc64le "IBM - * XL C/C++ for Linux, V13.1.2" emulates gcc, but __sync_lock_test_and_set() - * of one-byte types elicits SIGSEGV. That bug was gone by V13.1.5 (2016-12). + * gcc or compatible, including clang and icc. */ -#if (defined(__GNUC__) || defined(__INTEL_COMPILER)) && !(defined(__IBMC__) || defined(__IBMCPP__)) +#if defined(__GNUC__) || defined(__INTEL_COMPILER) #include "port/atomics/generic-gcc.h" #elif defined(_MSC_VER) #include "port/atomics/generic-msvc.h" -#elif defined(__hpux) && defined(__ia64) && !defined(__GNUC__) -#include "port/atomics/generic-acc.h" #elif defined(__SUNPRO_C) && !defined(__GNUC__) #include "port/atomics/generic-sunpro.h" #else @@ -244,6 +237,26 @@ pg_atomic_read_u32(volatile pg_atomic_uint32 *ptr) return pg_atomic_read_u32_impl(ptr); } +/* + * pg_atomic_read_membarrier_u32 - read with barrier semantics. + * + * This read is guaranteed to return the current value, provided that the value + * is only ever updated via operations with barrier semantics, such as + * pg_atomic_compare_exchange_u32() and pg_atomic_write_membarrier_u32(). + * While this may be less performant than pg_atomic_read_u32(), it may be + * easier to reason about correctness with this function in less performance- + * sensitive code. + * + * Full barrier semantics. + */ +static inline uint32 +pg_atomic_read_membarrier_u32(volatile pg_atomic_uint32 *ptr) +{ + AssertPointerAlignment(ptr, 4); + + return pg_atomic_read_membarrier_u32_impl(ptr); +} + /* * pg_atomic_write_u32 - write to atomic variable. * @@ -281,6 +294,26 @@ pg_atomic_unlocked_write_u32(volatile pg_atomic_uint32 *ptr, uint32 val) pg_atomic_unlocked_write_u32_impl(ptr, val); } +/* + * pg_atomic_write_membarrier_u32 - write with barrier semantics. + * + * The write is guaranteed to succeed as a whole, i.e., it's not possible to + * observe a partial write for any reader. Note that this correctly interacts + * with both pg_atomic_compare_exchange_u32() and + * pg_atomic_read_membarrier_u32(). While this may be less performant than + * pg_atomic_write_u32(), it may be easier to reason about correctness with + * this function in less performance-sensitive code. + * + * Full barrier semantics. + */ +static inline void +pg_atomic_write_membarrier_u32(volatile pg_atomic_uint32 *ptr, uint32 val) +{ + AssertPointerAlignment(ptr, 4); + + pg_atomic_write_membarrier_u32_impl(ptr, val); +} + /* * pg_atomic_exchange_u32 - exchange newval with current value * @@ -434,6 +467,15 @@ pg_atomic_read_u64(volatile pg_atomic_uint64 *ptr) return pg_atomic_read_u64_impl(ptr); } +static inline uint64 +pg_atomic_read_membarrier_u64(volatile pg_atomic_uint64 *ptr) +{ +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + return pg_atomic_read_membarrier_u64_impl(ptr); +} + static inline void pg_atomic_write_u64(volatile pg_atomic_uint64 *ptr, uint64 val) { @@ -443,6 +485,15 @@ pg_atomic_write_u64(volatile pg_atomic_uint64 *ptr, uint64 val) pg_atomic_write_u64_impl(ptr, val); } +static inline void +pg_atomic_write_membarrier_u64(volatile pg_atomic_uint64 *ptr, uint64 val) +{ +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + pg_atomic_write_membarrier_u64_impl(ptr, val); +} + static inline uint64 pg_atomic_exchange_u64(volatile pg_atomic_uint64 *ptr, uint64 newval) { @@ -458,7 +509,6 @@ pg_atomic_compare_exchange_u64(volatile pg_atomic_uint64 *ptr, { #ifndef PG_HAVE_ATOMIC_U64_SIMULATION AssertPointerAlignment(ptr, 8); - AssertPointerAlignment(expected, 8); #endif return pg_atomic_compare_exchange_u64_impl(ptr, expected, newval); } @@ -519,6 +569,38 @@ pg_atomic_sub_fetch_u64(volatile pg_atomic_uint64 *ptr, int64 sub_) return pg_atomic_sub_fetch_u64_impl(ptr, sub_); } +/* + * Monotonically advance the given variable using only atomic operations until + * it's at least the target value. Returns the latest value observed, which + * may or may not be the target value. + * + * Full barrier semantics (even when value is unchanged). + */ +static inline uint64 +pg_atomic_monotonic_advance_u64(volatile pg_atomic_uint64 *ptr, uint64 target) +{ + uint64 currval; + +#ifndef PG_HAVE_ATOMIC_U64_SIMULATION + AssertPointerAlignment(ptr, 8); +#endif + + currval = pg_atomic_read_u64_impl(ptr); + if (currval >= target) + { + pg_memory_barrier(); + return currval; + } + + while (currval < target) + { + if (pg_atomic_compare_exchange_u64(ptr, &currval, target)) + return target; + } + + return currval; +} + #undef INSIDE_ATOMICS_H #endif /* ATOMICS_H */ diff --git a/parser/include/port/atomics/arch-arm.h b/parser/include/postgres/port/atomics/arch-arm.h similarity index 84% rename from parser/include/port/atomics/arch-arm.h rename to parser/include/postgres/port/atomics/arch-arm.h index 9fe8f1b9..3ca2dbbd 100644 --- a/parser/include/port/atomics/arch-arm.h +++ b/parser/include/postgres/port/atomics/arch-arm.h @@ -3,7 +3,7 @@ * arch-arm.h * Atomic operations considerations specific to ARM * - * Portions Copyright (c) 2013-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group * * NOTES: * @@ -21,7 +21,7 @@ * 64 bit atomics on ARM32 are implemented using kernel fallbacks and thus * might be slow, so disable entirely. On ARM64 that problem doesn't exist. */ -#if !defined(__aarch64__) && !defined(__aarch64) +#if !defined(__aarch64__) #define PG_DISABLE_64_BIT_ATOMICS #else /* @@ -29,4 +29,4 @@ * general purpose register is atomic. */ #define PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY -#endif /* __aarch64__ || __aarch64 */ +#endif /* __aarch64__ */ diff --git a/parser/include/postgres/port/atomics/arch-hppa.h b/parser/include/postgres/port/atomics/arch-hppa.h new file mode 100644 index 00000000..50812a7f --- /dev/null +++ b/parser/include/postgres/port/atomics/arch-hppa.h @@ -0,0 +1,17 @@ +/*------------------------------------------------------------------------- + * + * arch-hppa.h + * Atomic operations considerations specific to HPPA + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES: + * + * src/include/port/atomics/arch-hppa.h + * + *------------------------------------------------------------------------- + */ + +/* HPPA doesn't do either read or write reordering */ +#define pg_memory_barrier_impl() pg_compiler_barrier_impl() diff --git a/parser/include/port/atomics/arch-ppc.h b/parser/include/postgres/port/atomics/arch-ppc.h similarity index 90% rename from parser/include/port/atomics/arch-ppc.h rename to parser/include/postgres/port/atomics/arch-ppc.h index eb645136..edaab7c8 100644 --- a/parser/include/port/atomics/arch-ppc.h +++ b/parser/include/postgres/port/atomics/arch-ppc.h @@ -3,7 +3,7 @@ * arch-ppc.h * Atomic operations considerations specific to PowerPC * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -90,12 +90,12 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, (int32) *expected >= PG_INT16_MIN) __asm__ __volatile__( " sync \n" - " lwarx %0,0,%5 \n" + " lwarx %0,0,%5,1 \n" " cmpwi %0,%3 \n" - " bne $+12 \n" /* branch to isync */ + " bne $+12 \n" /* branch to lwsync */ " stwcx. %4,0,%5 \n" " bne $-16 \n" /* branch to lwarx */ - " isync \n" + " lwsync \n" " mfcr %1 \n" : "=&r"(found), "=r"(condition_register), "+m"(ptr->value) : "i"(*expected), "r"(newval), "r"(&ptr->value) @@ -104,12 +104,12 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, #endif __asm__ __volatile__( " sync \n" - " lwarx %0,0,%5 \n" + " lwarx %0,0,%5,1 \n" " cmpw %0,%3 \n" - " bne $+12 \n" /* branch to isync */ + " bne $+12 \n" /* branch to lwsync */ " stwcx. %4,0,%5 \n" " bne $-16 \n" /* branch to lwarx */ - " isync \n" + " lwsync \n" " mfcr %1 \n" : "=&r"(found), "=r"(condition_register), "+m"(ptr->value) : "r"(*expected), "r"(newval), "r"(&ptr->value) @@ -138,11 +138,11 @@ pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_) add_ <= PG_INT16_MAX && add_ >= PG_INT16_MIN) __asm__ __volatile__( " sync \n" - " lwarx %1,0,%4 \n" + " lwarx %1,0,%4,1 \n" " addi %0,%1,%3 \n" " stwcx. %0,0,%4 \n" " bne $-12 \n" /* branch to lwarx */ - " isync \n" + " lwsync \n" : "=&r"(_t), "=&b"(res), "+m"(ptr->value) : "i"(add_), "r"(&ptr->value) : "memory", "cc"); @@ -150,11 +150,11 @@ pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_) #endif __asm__ __volatile__( " sync \n" - " lwarx %1,0,%4 \n" + " lwarx %1,0,%4,1 \n" " add %0,%1,%3 \n" " stwcx. %0,0,%4 \n" " bne $-12 \n" /* branch to lwarx */ - " isync \n" + " lwsync \n" : "=&r"(_t), "=&r"(res), "+m"(ptr->value) : "r"(add_), "r"(&ptr->value) : "memory", "cc"); @@ -173,6 +173,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint32 condition_register; bool ret; + AssertPointerAlignment(expected, 8); + /* Like u32, but s/lwarx/ldarx/; s/stwcx/stdcx/; s/cmpw/cmpd/ */ #ifdef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P if (__builtin_constant_p(*expected) && @@ -180,12 +182,12 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, (int64) *expected >= PG_INT16_MIN) __asm__ __volatile__( " sync \n" - " ldarx %0,0,%5 \n" + " ldarx %0,0,%5,1 \n" " cmpdi %0,%3 \n" - " bne $+12 \n" /* branch to isync */ + " bne $+12 \n" /* branch to lwsync */ " stdcx. %4,0,%5 \n" " bne $-16 \n" /* branch to ldarx */ - " isync \n" + " lwsync \n" " mfcr %1 \n" : "=&r"(found), "=r"(condition_register), "+m"(ptr->value) : "i"(*expected), "r"(newval), "r"(&ptr->value) @@ -194,12 +196,12 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, #endif __asm__ __volatile__( " sync \n" - " ldarx %0,0,%5 \n" + " ldarx %0,0,%5,1 \n" " cmpd %0,%3 \n" - " bne $+12 \n" /* branch to isync */ + " bne $+12 \n" /* branch to lwsync */ " stdcx. %4,0,%5 \n" " bne $-16 \n" /* branch to ldarx */ - " isync \n" + " lwsync \n" " mfcr %1 \n" : "=&r"(found), "=r"(condition_register), "+m"(ptr->value) : "r"(*expected), "r"(newval), "r"(&ptr->value) @@ -224,11 +226,11 @@ pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_) add_ <= PG_INT16_MAX && add_ >= PG_INT16_MIN) __asm__ __volatile__( " sync \n" - " ldarx %1,0,%4 \n" + " ldarx %1,0,%4,1 \n" " addi %0,%1,%3 \n" " stdcx. %0,0,%4 \n" " bne $-12 \n" /* branch to ldarx */ - " isync \n" + " lwsync \n" : "=&r"(_t), "=&b"(res), "+m"(ptr->value) : "i"(add_), "r"(&ptr->value) : "memory", "cc"); @@ -236,11 +238,11 @@ pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_) #endif __asm__ __volatile__( " sync \n" - " ldarx %1,0,%4 \n" + " ldarx %1,0,%4,1 \n" " add %0,%1,%3 \n" " stdcx. %0,0,%4 \n" " bne $-12 \n" /* branch to ldarx */ - " isync \n" + " lwsync \n" : "=&r"(_t), "=&r"(res), "+m"(ptr->value) : "r"(add_), "r"(&ptr->value) : "memory", "cc"); diff --git a/parser/include/port/atomics/arch-x86.h b/parser/include/postgres/port/atomics/arch-x86.h similarity index 98% rename from parser/include/port/atomics/arch-x86.h rename to parser/include/postgres/port/atomics/arch-x86.h index cef1ba72..2a8eca30 100644 --- a/parser/include/port/atomics/arch-x86.h +++ b/parser/include/postgres/port/atomics/arch-x86.h @@ -7,7 +7,7 @@ * support for xadd and cmpxchg. Given that the 386 isn't supported anywhere * anymore that's not much of a restriction luckily. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -140,7 +140,7 @@ pg_spin_delay_impl(void) static inline bool pg_atomic_test_set_flag_impl(volatile pg_atomic_flag *ptr) { - register char _res = 1; + char _res = 1; __asm__ __volatile__( " lock \n" @@ -207,6 +207,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, { char ret; + AssertPointerAlignment(expected, 8); + /* * Perform cmpxchg and use the zero flag which it implicitly sets when * equal to measure the success. diff --git a/parser/include/port/atomics/fallback.h b/parser/include/postgres/port/atomics/fallback.h similarity index 96% rename from parser/include/port/atomics/fallback.h rename to parser/include/postgres/port/atomics/fallback.h index 1cdef5f2..71c1df5d 100644 --- a/parser/include/port/atomics/fallback.h +++ b/parser/include/postgres/port/atomics/fallback.h @@ -4,7 +4,7 @@ * Fallback for platforms without spinlock and/or atomics support. Slower * than native atomics support, but not unusably slow. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics/fallback.h @@ -93,7 +93,7 @@ typedef struct pg_atomic_flag typedef struct pg_atomic_uint32 { /* Check pg_atomic_flag's definition above for an explanation */ -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ +#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC */ int sema[4]; #else int sema; @@ -111,7 +111,7 @@ typedef struct pg_atomic_uint32 typedef struct pg_atomic_uint64 { /* Check pg_atomic_flag's definition above for an explanation */ -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ +#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC */ int sema[4]; #else int sema; diff --git a/parser/include/port/atomics/generic-gcc.h b/parser/include/postgres/port/atomics/generic-gcc.h similarity index 84% rename from parser/include/port/atomics/generic-gcc.h rename to parser/include/postgres/port/atomics/generic-gcc.h index 6c566aff..afdb8f67 100644 --- a/parser/include/port/atomics/generic-gcc.h +++ b/parser/include/postgres/port/atomics/generic-gcc.h @@ -3,7 +3,7 @@ * generic-gcc.h * Atomic operations, implemented using gcc (or compatible) intrinsics. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES: @@ -44,12 +44,20 @@ #if !defined(pg_read_barrier_impl) && defined(HAVE_GCC__ATOMIC_INT32_CAS) /* acquire semantics include read barrier semantics */ -# define pg_read_barrier_impl() __atomic_thread_fence(__ATOMIC_ACQUIRE) +# define pg_read_barrier_impl() do \ +{ \ + pg_compiler_barrier_impl(); \ + __atomic_thread_fence(__ATOMIC_ACQUIRE); \ +} while (0) #endif #if !defined(pg_write_barrier_impl) && defined(HAVE_GCC__ATOMIC_INT32_CAS) /* release semantics include write barrier semantics */ -# define pg_write_barrier_impl() __atomic_thread_fence(__ATOMIC_RELEASE) +# define pg_write_barrier_impl() do \ +{ \ + pg_compiler_barrier_impl(); \ + __atomic_thread_fence(__ATOMIC_RELEASE); \ +} while (0) #endif @@ -176,6 +184,23 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, } #endif +/* + * __sync_lock_test_and_set() only supports setting the value to 1 on some + * platforms, so we only provide an __atomic implementation for + * pg_atomic_exchange. + * + * We assume the availability of 32-bit __atomic_compare_exchange_n() implies + * the availability of 32-bit __atomic_exchange_n(). + */ +#if !defined(PG_HAVE_ATOMIC_EXCHANGE_U32) && defined(HAVE_GCC__ATOMIC_INT32_CAS) +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return __atomic_exchange_n(&ptr->value, newval, __ATOMIC_SEQ_CST); +} +#endif + /* if we have 32-bit __sync_val_compare_and_swap, assume we have these too: */ #if !defined(PG_HAVE_ATOMIC_FETCH_ADD_U32) && defined(HAVE_GCC__SYNC_INT32_CAS) @@ -223,6 +248,7 @@ static inline bool pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 *expected, uint64 newval) { + AssertPointerAlignment(expected, 8); return __atomic_compare_exchange_n(&ptr->value, expected, newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); } @@ -236,6 +262,8 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, { bool ret; uint64 current; + + AssertPointerAlignment(expected, 8); current = __sync_val_compare_and_swap(&ptr->value, *expected, newval); ret = current == *expected; *expected = current; @@ -243,6 +271,23 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, } #endif +/* + * __sync_lock_test_and_set() only supports setting the value to 1 on some + * platforms, so we only provide an __atomic implementation for + * pg_atomic_exchange. + * + * We assume the availability of 64-bit __atomic_compare_exchange_n() implies + * the availability of 64-bit __atomic_exchange_n(). + */ +#if !defined(PG_HAVE_ATOMIC_EXCHANGE_U64) && defined(HAVE_GCC__ATOMIC_INT64_CAS) +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return __atomic_exchange_n(&ptr->value, newval, __ATOMIC_SEQ_CST); +} +#endif + /* if we have 64-bit __sync_val_compare_and_swap, assume we have these too: */ #if !defined(PG_HAVE_ATOMIC_FETCH_ADD_U64) && defined(HAVE_GCC__SYNC_INT64_CAS) diff --git a/parser/include/postgres/port/atomics/generic-msvc.h b/parser/include/postgres/port/atomics/generic-msvc.h new file mode 100644 index 00000000..c013aca5 --- /dev/null +++ b/parser/include/postgres/port/atomics/generic-msvc.h @@ -0,0 +1,119 @@ +/*------------------------------------------------------------------------- + * + * generic-msvc.h + * Atomic operations support when using MSVC + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES: + * + * Documentation: + * * Interlocked Variable Access + * http://msdn.microsoft.com/en-us/library/ms684122%28VS.85%29.aspx + * + * src/include/port/atomics/generic-msvc.h + * + *------------------------------------------------------------------------- + */ +#include + +/* intentionally no include guards, should only be included by atomics.h */ +#ifndef INSIDE_ATOMICS_H +#error "should be included via atomics.h" +#endif + +#pragma intrinsic(_ReadWriteBarrier) +#define pg_compiler_barrier_impl() _ReadWriteBarrier() + +#ifndef pg_memory_barrier_impl +#define pg_memory_barrier_impl() MemoryBarrier() +#endif + +#if defined(HAVE_ATOMICS) + +#define PG_HAVE_ATOMIC_U32_SUPPORT +typedef struct pg_atomic_uint32 +{ + volatile uint32 value; +} pg_atomic_uint32; + +#define PG_HAVE_ATOMIC_U64_SUPPORT +typedef struct pg_attribute_aligned(8) pg_atomic_uint64 +{ + volatile uint64 value; +} pg_atomic_uint64; + + +#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U32 +static inline bool +pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, + uint32 *expected, uint32 newval) +{ + bool ret; + uint32 current; + current = InterlockedCompareExchange(&ptr->value, newval, *expected); + ret = current == *expected; + *expected = current; + return ret; +} + +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return InterlockedExchange(&ptr->value, newval); +} + +#define PG_HAVE_ATOMIC_FETCH_ADD_U32 +static inline uint32 +pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_) +{ + return InterlockedExchangeAdd(&ptr->value, add_); +} + +/* + * The non-intrinsics versions are only available in vista upwards, so use the + * intrinsic version. Only supported on >486, but we require XP as a minimum + * baseline, which doesn't support the 486, so we don't need to add checks for + * that case. + */ +#pragma intrinsic(_InterlockedCompareExchange64) + +#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 +static inline bool +pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, + uint64 *expected, uint64 newval) +{ + bool ret; + uint64 current; + current = _InterlockedCompareExchange64(&ptr->value, newval, *expected); + ret = current == *expected; + *expected = current; + return ret; +} + +/* Only implemented on 64bit builds */ +#ifdef _WIN64 + +#pragma intrinsic(_InterlockedExchange64) + +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return _InterlockedExchange64(&ptr->value, newval); +} + +#pragma intrinsic(_InterlockedExchangeAdd64) + +#define PG_HAVE_ATOMIC_FETCH_ADD_U64 +static inline uint64 +pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_) +{ + return _InterlockedExchangeAdd64(&ptr->value, add_); +} + +#endif /* _WIN64 */ + +#endif /* HAVE_ATOMICS */ diff --git a/parser/include/postgres/port/atomics/generic-sunpro.h b/parser/include/postgres/port/atomics/generic-sunpro.h new file mode 100644 index 00000000..840a45e7 --- /dev/null +++ b/parser/include/postgres/port/atomics/generic-sunpro.h @@ -0,0 +1,121 @@ +/*------------------------------------------------------------------------- + * + * generic-sunpro.h + * Atomic operations for solaris' CC + * + * Portions Copyright (c) 2013-2024, PostgreSQL Global Development Group + * + * NOTES: + * + * Documentation: + * * manpage for atomic_cas(3C) + * http://www.unix.com/man-page/opensolaris/3c/atomic_cas/ + * http://docs.oracle.com/cd/E23824_01/html/821-1465/atomic-cas-3c.html + * + * src/include/port/atomics/generic-sunpro.h + * + * ------------------------------------------------------------------------- + */ + +#if defined(HAVE_ATOMICS) + +#ifdef HAVE_MBARRIER_H +#include + +#define pg_compiler_barrier_impl() __compiler_barrier() + +#ifndef pg_memory_barrier_impl +/* + * Despite the name this is actually a full barrier. Expanding to mfence/ + * membar #StoreStore | #LoadStore | #StoreLoad | #LoadLoad on x86/sparc + * respectively. + */ +# define pg_memory_barrier_impl() __machine_rw_barrier() +#endif +#ifndef pg_read_barrier_impl +# define pg_read_barrier_impl() __machine_r_barrier() +#endif +#ifndef pg_write_barrier_impl +# define pg_write_barrier_impl() __machine_w_barrier() +#endif + +#endif /* HAVE_MBARRIER_H */ + +/* Older versions of the compiler don't have atomic.h... */ +#ifdef HAVE_ATOMIC_H + +#include + +#define PG_HAVE_ATOMIC_U32_SUPPORT +typedef struct pg_atomic_uint32 +{ + volatile uint32 value; +} pg_atomic_uint32; + +#define PG_HAVE_ATOMIC_U64_SUPPORT +typedef struct pg_atomic_uint64 +{ + /* + * Syntax to enforce variable alignment should be supported by versions + * supporting atomic.h, but it's hard to find accurate documentation. If + * it proves to be a problem, we'll have to add more version checks for 64 + * bit support. + */ + volatile uint64 value pg_attribute_aligned(8); +} pg_atomic_uint64; + +#endif /* HAVE_ATOMIC_H */ + +#endif /* defined(HAVE_ATOMICS) */ + + +#if defined(HAVE_ATOMICS) + +#ifdef HAVE_ATOMIC_H + +#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U32 +static inline bool +pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, + uint32 *expected, uint32 newval) +{ + bool ret; + uint32 current; + + current = atomic_cas_32(&ptr->value, *expected, newval); + ret = current == *expected; + *expected = current; + return ret; +} + +#define PG_HAVE_ATOMIC_EXCHANGE_U32 +static inline uint32 +pg_atomic_exchange_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 newval) +{ + return atomic_swap_32(&ptr->value, newval); +} + +#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 +static inline bool +pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, + uint64 *expected, uint64 newval) +{ + bool ret; + uint64 current; + + AssertPointerAlignment(expected, 8); + current = atomic_cas_64(&ptr->value, *expected, newval); + ret = current == *expected; + *expected = current; + return ret; +} + +#define PG_HAVE_ATOMIC_EXCHANGE_U64 +static inline uint64 +pg_atomic_exchange_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 newval) +{ + return atomic_swap_64(&ptr->value, newval); +} + +#endif /* HAVE_ATOMIC_H */ + +#endif /* defined(HAVE_ATOMICS) */ diff --git a/parser/include/port/atomics/generic.h b/parser/include/postgres/port/atomics/generic.h similarity index 89% rename from parser/include/port/atomics/generic.h rename to parser/include/postgres/port/atomics/generic.h index a1f24562..6113ab62 100644 --- a/parser/include/port/atomics/generic.h +++ b/parser/include/postgres/port/atomics/generic.h @@ -4,7 +4,7 @@ * Implement higher level operations based on some lower level atomic * operations. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/atomics/generic.h @@ -83,7 +83,7 @@ pg_atomic_init_flag_impl(volatile pg_atomic_flag *ptr) static inline bool pg_atomic_test_set_flag_impl(volatile pg_atomic_flag *ptr) { - return pg_atomic_exchange_u32_impl(ptr, &value, 1) == 0; + return pg_atomic_exchange_u32_impl(ptr, 1) == 0; } #define PG_HAVE_ATOMIC_UNLOCKED_TEST_FLAG @@ -243,6 +243,24 @@ pg_atomic_sub_fetch_u32_impl(volatile pg_atomic_uint32 *ptr, int32 sub_) } #endif +#if !defined(PG_HAVE_ATOMIC_READ_MEMBARRIER_U32) && defined(PG_HAVE_ATOMIC_FETCH_ADD_U32) +#define PG_HAVE_ATOMIC_READ_MEMBARRIER_U32 +static inline uint32 +pg_atomic_read_membarrier_u32_impl(volatile pg_atomic_uint32 *ptr) +{ + return pg_atomic_fetch_add_u32_impl(ptr, 0); +} +#endif + +#if !defined(PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U32) && defined(PG_HAVE_ATOMIC_EXCHANGE_U32) +#define PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U32 +static inline void +pg_atomic_write_membarrier_u32_impl(volatile pg_atomic_uint32 *ptr, uint32 val) +{ + (void) pg_atomic_exchange_u32_impl(ptr, val); +} +#endif + #if !defined(PG_HAVE_ATOMIC_EXCHANGE_U64) && defined(PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64) #define PG_HAVE_ATOMIC_EXCHANGE_U64 static inline uint64 @@ -399,3 +417,21 @@ pg_atomic_sub_fetch_u64_impl(volatile pg_atomic_uint64 *ptr, int64 sub_) return pg_atomic_fetch_sub_u64_impl(ptr, sub_) - sub_; } #endif + +#if !defined(PG_HAVE_ATOMIC_READ_MEMBARRIER_U64) && defined(PG_HAVE_ATOMIC_FETCH_ADD_U64) +#define PG_HAVE_ATOMIC_READ_MEMBARRIER_U64 +static inline uint64 +pg_atomic_read_membarrier_u64_impl(volatile pg_atomic_uint64 *ptr) +{ + return pg_atomic_fetch_add_u64_impl(ptr, 0); +} +#endif + +#if !defined(PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U64) && defined(PG_HAVE_ATOMIC_EXCHANGE_U64) +#define PG_HAVE_ATOMIC_WRITE_MEMBARRIER_U64 +static inline void +pg_atomic_write_membarrier_u64_impl(volatile pg_atomic_uint64 *ptr, uint64 val) +{ + (void) pg_atomic_exchange_u64_impl(ptr, val); +} +#endif diff --git a/parser/include/postgres/port/atomics/gokeep.go b/parser/include/postgres/port/atomics/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/atomics/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/gokeep.go b/parser/include/postgres/port/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/port/pg_bitutils.h b/parser/include/postgres/port/pg_bitutils.h similarity index 61% rename from parser/include/port/pg_bitutils.h rename to parser/include/postgres/port/pg_bitutils.h index 04e58cd1..4d88478c 100644 --- a/parser/include/port/pg_bitutils.h +++ b/parser/include/postgres/port/pg_bitutils.h @@ -4,7 +4,7 @@ * Miscellaneous functions for bit-wise operations. * * - * Copyright (c) 2019-2022, PostgreSQL Global Development Group + * Copyright (c) 2019-2024, PostgreSQL Global Development Group * * src/include/port/pg_bitutils.h * @@ -13,6 +13,21 @@ #ifndef PG_BITUTILS_H #define PG_BITUTILS_H +#ifdef _MSC_VER +#include +#define HAVE_BITSCAN_FORWARD +#define HAVE_BITSCAN_REVERSE + +#else +#if defined(HAVE__BUILTIN_CTZ) +#define HAVE_BITSCAN_FORWARD +#endif + +#if defined(HAVE__BUILTIN_CLZ) +#define HAVE_BITSCAN_REVERSE +#endif +#endif /* _MSC_VER */ + extern PGDLLIMPORT const uint8 pg_leftmost_one_pos[256]; extern PGDLLIMPORT const uint8 pg_rightmost_one_pos[256]; extern PGDLLIMPORT const uint8 pg_number_of_ones[256]; @@ -29,6 +44,14 @@ pg_leftmost_one_pos32(uint32 word) Assert(word != 0); return 31 - __builtin_clz(word); +#elif defined(_MSC_VER) + unsigned long result; + bool non_zero; + + Assert(word != 0); + + non_zero = _BitScanReverse(&result, word); + return (int) result; #else int shift = 32 - 8; @@ -57,8 +80,17 @@ pg_leftmost_one_pos64(uint64 word) return 63 - __builtin_clzll(word); #else #error must have a working 64-bit integer datatype -#endif -#else /* !HAVE__BUILTIN_CLZ */ +#endif /* HAVE_LONG_INT_64 */ + +#elif defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_ARM64)) + unsigned long result; + bool non_zero; + + Assert(word != 0); + + non_zero = _BitScanReverse64(&result, word); + return (int) result; +#else int shift = 64 - 8; Assert(word != 0); @@ -82,6 +114,14 @@ pg_rightmost_one_pos32(uint32 word) Assert(word != 0); return __builtin_ctz(word); +#elif defined(_MSC_VER) + unsigned long result; + bool non_zero; + + Assert(word != 0); + + non_zero = _BitScanForward(&result, word); + return (int) result; #else int result = 0; @@ -113,8 +153,17 @@ pg_rightmost_one_pos64(uint64 word) return __builtin_ctzll(word); #else #error must have a working 64-bit integer datatype -#endif -#else /* !HAVE__BUILTIN_CTZ */ +#endif /* HAVE_LONG_INT_64 */ + +#elif defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_ARM64)) + unsigned long result; + bool non_zero; + + Assert(word != 0); + + non_zero = _BitScanForward64(&result, word); + return (int) result; +#else int result = 0; Assert(word != 0); @@ -175,16 +224,6 @@ pg_nextpower2_64(uint64 num) return ((uint64) 1) << (pg_leftmost_one_pos64(num) + 1); } -/* - * pg_nextpower2_size_t - * Returns the next higher power of 2 above 'num', for a size_t input. - */ -#if SIZEOF_SIZE_T == 4 -#define pg_nextpower2_size_t(num) pg_nextpower2_32(num) -#else -#define pg_nextpower2_size_t(num) pg_nextpower2_64(num) -#endif - /* * pg_prevpower2_32 * Returns the next lower power of 2 below 'num', or 'num' if it's @@ -211,16 +250,6 @@ pg_prevpower2_64(uint64 num) return ((uint64) 1) << pg_leftmost_one_pos64(num); } -/* - * pg_prevpower2_size_t - * Returns the next lower power of 2 below 'num', for a size_t input. - */ -#if SIZEOF_SIZE_T == 4 -#define pg_prevpower2_size_t(num) pg_prevpower2_32(num) -#else -#define pg_prevpower2_size_t(num) pg_prevpower2_64(num) -#endif - /* * pg_ceil_log2_32 * Returns equivalent of ceil(log2(num)) @@ -271,18 +300,96 @@ pg_ceil_log2_64(uint64 num) #ifdef TRY_POPCNT_FAST /* Attempt to use the POPCNT instruction, but perform a runtime check first */ -extern int (*pg_popcount32) (uint32 word); -extern int (*pg_popcount64) (uint64 word); +extern PGDLLIMPORT int (*pg_popcount32) (uint32 word); +extern PGDLLIMPORT int (*pg_popcount64) (uint64 word); +extern PGDLLIMPORT uint64 (*pg_popcount_optimized) (const char *buf, int bytes); +extern PGDLLIMPORT uint64 (*pg_popcount_masked_optimized) (const char *buf, int bytes, bits8 mask); + +/* + * We can also try to use the AVX-512 popcount instruction on some systems. + * The implementation of that is located in its own file because it may + * require special compiler flags that we don't want to apply to any other + * files. + */ +#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK +extern bool pg_popcount_avx512_available(void); +extern uint64 pg_popcount_avx512(const char *buf, int bytes); +extern uint64 pg_popcount_masked_avx512(const char *buf, int bytes, bits8 mask); +#endif #else /* Use a portable implementation -- no need for a function pointer. */ extern int pg_popcount32(uint32 word); extern int pg_popcount64(uint64 word); +extern uint64 pg_popcount_optimized(const char *buf, int bytes); +extern uint64 pg_popcount_masked_optimized(const char *buf, int bytes, bits8 mask); #endif /* TRY_POPCNT_FAST */ -/* Count the number of one-bits in a byte array */ -extern uint64 pg_popcount(const char *buf, int bytes); +/* + * Returns the number of 1-bits in buf. + * + * If there aren't many bytes to process, the function call overhead of the + * optimized versions isn't worth taking, so we inline a loop that consults + * pg_number_of_ones in that case. If there are many bytes to process, we + * accept the function call overhead because the optimized versions are likely + * to be faster. + */ +static inline uint64 +pg_popcount(const char *buf, int bytes) +{ + /* + * We set the threshold to the point at which we'll first use special + * instructions in the optimized version. + */ +#if SIZEOF_VOID_P >= 8 + int threshold = 8; +#else + int threshold = 4; +#endif + + if (bytes < threshold) + { + uint64 popcnt = 0; + + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++]; + return popcnt; + } + + return pg_popcount_optimized(buf, bytes); +} + +/* + * Returns the number of 1-bits in buf after applying the mask to each byte. + * + * Similar to pg_popcount(), we only take on the function pointer overhead when + * it's likely to be faster. + */ +static inline uint64 +pg_popcount_masked(const char *buf, int bytes, bits8 mask) +{ + /* + * We set the threshold to the point at which we'll first use special + * instructions in the optimized version. + */ +#if SIZEOF_VOID_P >= 8 + int threshold = 8; +#else + int threshold = 4; +#endif + + if (bytes < threshold) + { + uint64 popcnt = 0; + + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++ & mask]; + return popcnt; + } + + return pg_popcount_masked_optimized(buf, bytes, mask); +} /* * Rotate the bits of "word" to the right/left by n bits. @@ -299,4 +406,16 @@ pg_rotate_left32(uint32 word, int n) return (word << n) | (word >> (32 - n)); } +/* size_t variants of the above, as required */ + +#if SIZEOF_SIZE_T == 4 +#define pg_leftmost_one_pos_size_t pg_leftmost_one_pos32 +#define pg_nextpower2_size_t pg_nextpower2_32 +#define pg_prevpower2_size_t pg_prevpower2_32 +#else +#define pg_leftmost_one_pos_size_t pg_leftmost_one_pos64 +#define pg_nextpower2_size_t pg_nextpower2_64 +#define pg_prevpower2_size_t pg_prevpower2_64 +#endif + #endif /* PG_BITUTILS_H */ diff --git a/parser/include/port/pg_bswap.h b/parser/include/postgres/port/pg_bswap.h similarity index 98% rename from parser/include/port/pg_bswap.h rename to parser/include/postgres/port/pg_bswap.h index 4033d2bf..2379513f 100644 --- a/parser/include/port/pg_bswap.h +++ b/parser/include/postgres/port/pg_bswap.h @@ -11,7 +11,7 @@ * return the same. Use caution when using these wrapper macros with signed * integers. * - * Copyright (c) 2015-2022, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * src/include/port/pg_bswap.h * diff --git a/parser/include/port/pg_crc32c.h b/parser/include/postgres/port/pg_crc32c.h similarity index 89% rename from parser/include/port/pg_crc32c.h rename to parser/include/postgres/port/pg_crc32c.h index d7668651..63c8e3a0 100644 --- a/parser/include/port/pg_crc32c.h +++ b/parser/include/postgres/port/pg_crc32c.h @@ -23,7 +23,7 @@ * EQ_CRC32C(c1, c2) * Check for equality of two CRCs. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/port/pg_crc32c.h @@ -58,6 +58,15 @@ extern pg_crc32c pg_comp_crc32c_sse42(pg_crc32c crc, const void *data, size_t le extern pg_crc32c pg_comp_crc32c_armv8(pg_crc32c crc, const void *data, size_t len); +#elif defined(USE_LOONGARCH_CRC32C) +/* Use LoongArch CRCC instructions. */ + +#define COMP_CRC32C(crc, data, len) \ + ((crc) = pg_comp_crc32c_loongarch((crc), (data), (len))) +#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF) + +extern pg_crc32c pg_comp_crc32c_loongarch(pg_crc32c crc, const void *data, size_t len); + #elif defined(USE_SSE42_CRC32C_WITH_RUNTIME_CHECK) || defined(USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK) /* diff --git a/parser/include/postgres/port/pg_iovec.h b/parser/include/postgres/port/pg_iovec.h new file mode 100644 index 00000000..10fecdd4 --- /dev/null +++ b/parser/include/postgres/port/pg_iovec.h @@ -0,0 +1,123 @@ +/*------------------------------------------------------------------------- + * + * pg_iovec.h + * Header for vectored I/O functions, to use in place of . + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/port/pg_iovec.h + * + *------------------------------------------------------------------------- + */ +#ifndef PG_IOVEC_H +#define PG_IOVEC_H + +#ifndef WIN32 + +#include +#include +#include + +#else + +/* Define our own POSIX-compatible iovec struct. */ +struct iovec +{ + void *iov_base; + size_t iov_len; +}; + +#endif + +/* + * If didn't define IOV_MAX, define our own. X/Open requires at + * least 16. (GNU Hurd apparently feel that they're not bound by X/Open, + * because they don't define this symbol at all.) + */ +#ifndef IOV_MAX +#define IOV_MAX 16 +#endif + +/* Define a reasonable maximum that is safe to use on the stack. */ +#define PG_IOV_MAX Min(IOV_MAX, 32) + +/* + * Like preadv(), but with a prefix to remind us of a side-effect: on Windows + * this changes the current file position. + */ +static inline ssize_t +pg_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset) +{ +#if HAVE_DECL_PREADV + /* + * Avoid a small amount of argument copying overhead in the kernel if + * there is only one iovec. + */ + if (iovcnt == 1) + return pread(fd, iov[0].iov_base, iov[0].iov_len, offset); + else + return preadv(fd, iov, iovcnt, offset); +#else + ssize_t sum = 0; + ssize_t part; + + for (int i = 0; i < iovcnt; ++i) + { + part = pg_pread(fd, iov[i].iov_base, iov[i].iov_len, offset); + if (part < 0) + { + if (i == 0) + return -1; + else + return sum; + } + sum += part; + offset += part; + if ((size_t) part < iov[i].iov_len) + return sum; + } + return sum; +#endif +} + +/* + * Like pwritev(), but with a prefix to remind us of a side-effect: on Windows + * this changes the current file position. + */ +static inline ssize_t +pg_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset) +{ +#if HAVE_DECL_PWRITEV + /* + * Avoid a small amount of argument copying overhead in the kernel if + * there is only one iovec. + */ + if (iovcnt == 1) + return pwrite(fd, iov[0].iov_base, iov[0].iov_len, offset); + else + return pwritev(fd, iov, iovcnt, offset); +#else + ssize_t sum = 0; + ssize_t part; + + for (int i = 0; i < iovcnt; ++i) + { + part = pg_pwrite(fd, iov[i].iov_base, iov[i].iov_len, offset); + if (part < 0) + { + if (i == 0) + return -1; + else + return sum; + } + sum += part; + offset += part; + if ((size_t) part < iov[i].iov_len) + return sum; + } + return sum; +#endif +} + +#endif /* PG_IOVEC_H */ diff --git a/parser/include/postgres/port/simd.h b/parser/include/postgres/port/simd.h new file mode 100644 index 00000000..597496f2 --- /dev/null +++ b/parser/include/postgres/port/simd.h @@ -0,0 +1,422 @@ +/*------------------------------------------------------------------------- + * + * simd.h + * Support for platform-specific vector operations. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/port/simd.h + * + * NOTES + * - VectorN in this file refers to a register where the element operands + * are N bits wide. The vector width is platform-specific, so users that care + * about that will need to inspect "sizeof(VectorN)". + * + *------------------------------------------------------------------------- + */ +#ifndef SIMD_H +#define SIMD_H + +#if (defined(__x86_64__) || defined(_M_AMD64)) +/* + * SSE2 instructions are part of the spec for the 64-bit x86 ISA. We assume + * that compilers targeting this architecture understand SSE2 intrinsics. + * + * We use emmintrin.h rather than the comprehensive header immintrin.h in + * order to exclude extensions beyond SSE2. This is because MSVC, at least, + * will allow the use of intrinsics that haven't been enabled at compile + * time. + */ +#include +#define USE_SSE2 +typedef __m128i Vector8; +typedef __m128i Vector32; + +#elif defined(__aarch64__) && defined(__ARM_NEON) +/* + * We use the Neon instructions if the compiler provides access to them (as + * indicated by __ARM_NEON) and we are on aarch64. While Neon support is + * technically optional for aarch64, it appears that all available 64-bit + * hardware does have it. Neon exists in some 32-bit hardware too, but we + * could not realistically use it there without a run-time check, which seems + * not worth the trouble for now. + */ +#include +#define USE_NEON +typedef uint8x16_t Vector8; +typedef uint32x4_t Vector32; + +#else +/* + * If no SIMD instructions are available, we can in some cases emulate vector + * operations using bitwise operations on unsigned integers. Note that many + * of the functions in this file presently do not have non-SIMD + * implementations. In particular, none of the functions involving Vector32 + * are implemented without SIMD since it's likely not worthwhile to represent + * two 32-bit integers using a uint64. + */ +#define USE_NO_SIMD +typedef uint64 Vector8; +#endif + +/* load/store operations */ +static inline void vector8_load(Vector8 *v, const uint8 *s); +#ifndef USE_NO_SIMD +static inline void vector32_load(Vector32 *v, const uint32 *s); +#endif + +/* assignment operations */ +static inline Vector8 vector8_broadcast(const uint8 c); +#ifndef USE_NO_SIMD +static inline Vector32 vector32_broadcast(const uint32 c); +#endif + +/* element-wise comparisons to a scalar */ +static inline bool vector8_has(const Vector8 v, const uint8 c); +static inline bool vector8_has_zero(const Vector8 v); +static inline bool vector8_has_le(const Vector8 v, const uint8 c); +static inline bool vector8_is_highbit_set(const Vector8 v); +#ifndef USE_NO_SIMD +static inline bool vector32_is_highbit_set(const Vector32 v); +static inline uint32 vector8_highbit_mask(const Vector8 v); +#endif + +/* arithmetic operations */ +static inline Vector8 vector8_or(const Vector8 v1, const Vector8 v2); +#ifndef USE_NO_SIMD +static inline Vector32 vector32_or(const Vector32 v1, const Vector32 v2); +static inline Vector8 vector8_ssub(const Vector8 v1, const Vector8 v2); +#endif + +/* + * comparisons between vectors + * + * Note: These return a vector rather than boolean, which is why we don't + * have non-SIMD implementations. + */ +#ifndef USE_NO_SIMD +static inline Vector8 vector8_eq(const Vector8 v1, const Vector8 v2); +static inline Vector8 vector8_min(const Vector8 v1, const Vector8 v2); +static inline Vector32 vector32_eq(const Vector32 v1, const Vector32 v2); +#endif + +/* + * Load a chunk of memory into the given vector. + */ +static inline void +vector8_load(Vector8 *v, const uint8 *s) +{ +#if defined(USE_SSE2) + *v = _mm_loadu_si128((const __m128i *) s); +#elif defined(USE_NEON) + *v = vld1q_u8(s); +#else + memcpy(v, s, sizeof(Vector8)); +#endif +} + +#ifndef USE_NO_SIMD +static inline void +vector32_load(Vector32 *v, const uint32 *s) +{ +#ifdef USE_SSE2 + *v = _mm_loadu_si128((const __m128i *) s); +#elif defined(USE_NEON) + *v = vld1q_u32(s); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Create a vector with all elements set to the same value. + */ +static inline Vector8 +vector8_broadcast(const uint8 c) +{ +#if defined(USE_SSE2) + return _mm_set1_epi8(c); +#elif defined(USE_NEON) + return vdupq_n_u8(c); +#else + return ~UINT64CONST(0) / 0xFF * c; +#endif +} + +#ifndef USE_NO_SIMD +static inline Vector32 +vector32_broadcast(const uint32 c) +{ +#ifdef USE_SSE2 + return _mm_set1_epi32(c); +#elif defined(USE_NEON) + return vdupq_n_u32(c); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Return true if any elements in the vector are equal to the given scalar. + */ +static inline bool +vector8_has(const Vector8 v, const uint8 c) +{ + bool result; + + /* pre-compute the result for assert checking */ +#ifdef USE_ASSERT_CHECKING + bool assert_result = false; + + for (Size i = 0; i < sizeof(Vector8); i++) + { + if (((const uint8 *) &v)[i] == c) + { + assert_result = true; + break; + } + } +#endif /* USE_ASSERT_CHECKING */ + +#if defined(USE_NO_SIMD) + /* any bytes in v equal to c will evaluate to zero via XOR */ + result = vector8_has_zero(v ^ vector8_broadcast(c)); +#else + result = vector8_is_highbit_set(vector8_eq(v, vector8_broadcast(c))); +#endif + + Assert(assert_result == result); + return result; +} + +/* + * Convenience function equivalent to vector8_has(v, 0) + */ +static inline bool +vector8_has_zero(const Vector8 v) +{ +#if defined(USE_NO_SIMD) + /* + * We cannot call vector8_has() here, because that would lead to a + * circular definition. + */ + return vector8_has_le(v, 0); +#else + return vector8_has(v, 0); +#endif +} + +/* + * Return true if any elements in the vector are less than or equal to the + * given scalar. + */ +static inline bool +vector8_has_le(const Vector8 v, const uint8 c) +{ + bool result = false; + + /* pre-compute the result for assert checking */ +#ifdef USE_ASSERT_CHECKING + bool assert_result = false; + + for (Size i = 0; i < sizeof(Vector8); i++) + { + if (((const uint8 *) &v)[i] <= c) + { + assert_result = true; + break; + } + } +#endif /* USE_ASSERT_CHECKING */ + +#if defined(USE_NO_SIMD) + + /* + * To find bytes <= c, we can use bitwise operations to find bytes < c+1, + * but it only works if c+1 <= 128 and if the highest bit in v is not set. + * Adapted from + * https://graphics.stanford.edu/~seander/bithacks.html#HasLessInWord + */ + if ((int64) v >= 0 && c < 0x80) + result = (v - vector8_broadcast(c + 1)) & ~v & vector8_broadcast(0x80); + else + { + /* one byte at a time */ + for (Size i = 0; i < sizeof(Vector8); i++) + { + if (((const uint8 *) &v)[i] <= c) + { + result = true; + break; + } + } + } +#else + + /* + * Use saturating subtraction to find bytes <= c, which will present as + * NUL bytes. This approach is a workaround for the lack of unsigned + * comparison instructions on some architectures. + */ + result = vector8_has_zero(vector8_ssub(v, vector8_broadcast(c))); +#endif + + Assert(assert_result == result); + return result; +} + +/* + * Return true if the high bit of any element is set + */ +static inline bool +vector8_is_highbit_set(const Vector8 v) +{ +#ifdef USE_SSE2 + return _mm_movemask_epi8(v) != 0; +#elif defined(USE_NEON) + return vmaxvq_u8(v) > 0x7F; +#else + return v & vector8_broadcast(0x80); +#endif +} + +/* + * Exactly like vector8_is_highbit_set except for the input type, so it + * looks at each byte separately. + * + * XXX x86 uses the same underlying type for 8-bit, 16-bit, and 32-bit + * integer elements, but Arm does not, hence the need for a separate + * function. We could instead adopt the behavior of Arm's vmaxvq_u32(), i.e. + * check each 32-bit element, but that would require an additional mask + * operation on x86. + */ +#ifndef USE_NO_SIMD +static inline bool +vector32_is_highbit_set(const Vector32 v) +{ +#if defined(USE_NEON) + return vector8_is_highbit_set((Vector8) v); +#else + return vector8_is_highbit_set(v); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Return a bitmask formed from the high-bit of each element. + */ +#ifndef USE_NO_SIMD +static inline uint32 +vector8_highbit_mask(const Vector8 v) +{ +#ifdef USE_SSE2 + return (uint32) _mm_movemask_epi8(v); +#elif defined(USE_NEON) + /* + * Note: It would be faster to use vget_lane_u64 and vshrn_n_u16, but that + * returns a uint64, making it inconvenient to combine mask values from + * multiple vectors. + */ + static const uint8 mask[16] = { + 1 << 0, 1 << 1, 1 << 2, 1 << 3, + 1 << 4, 1 << 5, 1 << 6, 1 << 7, + 1 << 0, 1 << 1, 1 << 2, 1 << 3, + 1 << 4, 1 << 5, 1 << 6, 1 << 7, + }; + + uint8x16_t masked = vandq_u8(vld1q_u8(mask), (uint8x16_t) vshrq_n_s8((int8x16_t) v, 7)); + uint8x16_t maskedhi = vextq_u8(masked, masked, 8); + + return (uint32) vaddvq_u16((uint16x8_t) vzip1q_u8(masked, maskedhi)); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Return the bitwise OR of the inputs + */ +static inline Vector8 +vector8_or(const Vector8 v1, const Vector8 v2) +{ +#ifdef USE_SSE2 + return _mm_or_si128(v1, v2); +#elif defined(USE_NEON) + return vorrq_u8(v1, v2); +#else + return v1 | v2; +#endif +} + +#ifndef USE_NO_SIMD +static inline Vector32 +vector32_or(const Vector32 v1, const Vector32 v2) +{ +#ifdef USE_SSE2 + return _mm_or_si128(v1, v2); +#elif defined(USE_NEON) + return vorrq_u32(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Return the result of subtracting the respective elements of the input + * vectors using saturation (i.e., if the operation would yield a value less + * than zero, zero is returned instead). For more information on saturation + * arithmetic, see https://en.wikipedia.org/wiki/Saturation_arithmetic + */ +#ifndef USE_NO_SIMD +static inline Vector8 +vector8_ssub(const Vector8 v1, const Vector8 v2) +{ +#ifdef USE_SSE2 + return _mm_subs_epu8(v1, v2); +#elif defined(USE_NEON) + return vqsubq_u8(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Return a vector with all bits set in each lane where the corresponding + * lanes in the inputs are equal. + */ +#ifndef USE_NO_SIMD +static inline Vector8 +vector8_eq(const Vector8 v1, const Vector8 v2) +{ +#ifdef USE_SSE2 + return _mm_cmpeq_epi8(v1, v2); +#elif defined(USE_NEON) + return vceqq_u8(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + +#ifndef USE_NO_SIMD +static inline Vector32 +vector32_eq(const Vector32 v1, const Vector32 v2) +{ +#ifdef USE_SSE2 + return _mm_cmpeq_epi32(v1, v2); +#elif defined(USE_NEON) + return vceqq_u32(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + +/* + * Given two vectors, return a vector with the minimum element of each. + */ +#ifndef USE_NO_SIMD +static inline Vector8 +vector8_min(const Vector8 v1, const Vector8 v2) +{ +#ifdef USE_SSE2 + return _mm_min_epu8(v1, v2); +#elif defined(USE_NEON) + return vminq_u8(v1, v2); +#endif +} +#endif /* ! USE_NO_SIMD */ + +#endif /* SIMD_H */ diff --git a/parser/include/postgres/port/win32.h b/parser/include/postgres/port/win32.h new file mode 100644 index 00000000..d6c13d0b --- /dev/null +++ b/parser/include/postgres/port/win32.h @@ -0,0 +1,59 @@ +/* src/include/port/win32.h */ + +/* + * We always rely on the WIN32 macro being set by our build system, + * but _WIN32 is the compiler pre-defined macro. So make sure we define + * WIN32 whenever _WIN32 is set, to facilitate standalone building. + */ +#if defined(_WIN32) && !defined(WIN32) +#define WIN32 +#endif + +/* + * Make sure _WIN32_WINNT has the minimum required value. + * Leave a higher value in place. The minimum requirement is Windows 10. + */ +#ifdef _WIN32_WINNT +#undef _WIN32_WINNT +#endif + +#define _WIN32_WINNT 0x0A00 + +/* + * We need to prevent from defining a symbol conflicting with + * our errcode() function. Since it's likely to get included by standard + * system headers, pre-emptively include it now. + */ +#if defined(_MSC_VER) || defined(HAVE_CRTDEFS_H) +#define errcode __msvc_errcode +#include +#undef errcode +#endif + +/* + * defines for dynamic linking on Win32 platform + */ + +/* + * Variables declared in the core backend and referenced by loadable + * modules need to be marked "dllimport" in the core build, but + * "dllexport" when the declaration is read in a loadable module. + * No special markings should be used when compiling frontend code. + */ +#ifndef FRONTEND +#ifdef BUILDING_DLL +#define PGDLLIMPORT __declspec (dllexport) +#else +#define PGDLLIMPORT __declspec (dllimport) +#endif +#endif + +/* + * Functions exported by a loadable module must be marked "dllexport". + * + * While mingw would otherwise fall back to + * __attribute__((visibility("default"))), that appears to only work as long + * as no symbols are declared with __declspec(dllexport). But we can end up + * with some, e.g. plpython's Py_Init. + */ +#define PGDLLEXPORT __declspec (dllexport) diff --git a/parser/include/postgres/port/win32/arpa/gokeep.go b/parser/include/postgres/port/win32/arpa/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32/arpa/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32/arpa/inet.h b/parser/include/postgres/port/win32/arpa/inet.h new file mode 100644 index 00000000..ad180317 --- /dev/null +++ b/parser/include/postgres/port/win32/arpa/inet.h @@ -0,0 +1,3 @@ +/* src/include/port/win32/arpa/inet.h */ + +#include diff --git a/parser/include/postgres/port/win32/dlfcn.h b/parser/include/postgres/port/win32/dlfcn.h new file mode 100644 index 00000000..b6e43c09 --- /dev/null +++ b/parser/include/postgres/port/win32/dlfcn.h @@ -0,0 +1 @@ +/* src/include/port/win32/dlfcn.h */ diff --git a/parser/include/postgres/port/win32/gokeep.go b/parser/include/postgres/port/win32/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32/grp.h b/parser/include/postgres/port/win32/grp.h new file mode 100644 index 00000000..8b4f2131 --- /dev/null +++ b/parser/include/postgres/port/win32/grp.h @@ -0,0 +1 @@ +/* src/include/port/win32/grp.h */ diff --git a/parser/include/postgres/port/win32/netdb.h b/parser/include/postgres/port/win32/netdb.h new file mode 100644 index 00000000..9ed13e45 --- /dev/null +++ b/parser/include/postgres/port/win32/netdb.h @@ -0,0 +1,7 @@ +/* src/include/port/win32/netdb.h */ +#ifndef WIN32_NETDB_H +#define WIN32_NETDB_H + +#include + +#endif diff --git a/parser/include/postgres/port/win32/netinet/gokeep.go b/parser/include/postgres/port/win32/netinet/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32/netinet/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32/netinet/in.h b/parser/include/postgres/port/win32/netinet/in.h new file mode 100644 index 00000000..a4e22f89 --- /dev/null +++ b/parser/include/postgres/port/win32/netinet/in.h @@ -0,0 +1,3 @@ +/* src/include/port/win32/netinet/in.h */ + +#include diff --git a/parser/include/postgres/port/win32/netinet/tcp.h b/parser/include/postgres/port/win32/netinet/tcp.h new file mode 100644 index 00000000..1d377b6a --- /dev/null +++ b/parser/include/postgres/port/win32/netinet/tcp.h @@ -0,0 +1,7 @@ +/* src/include/port/win32/netinet/tcp.h */ +#ifndef WIN32_NETINET_TCP_H +#define WIN32_NETINET_TCP_H + +#include + +#endif diff --git a/parser/include/postgres/port/win32/pwd.h b/parser/include/postgres/port/win32/pwd.h new file mode 100644 index 00000000..b8c7178f --- /dev/null +++ b/parser/include/postgres/port/win32/pwd.h @@ -0,0 +1,3 @@ +/* + * src/include/port/win32/pwd.h + */ diff --git a/parser/include/postgres/port/win32/sys/gokeep.go b/parser/include/postgres/port/win32/sys/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32/sys/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32/sys/resource.h b/parser/include/postgres/port/win32/sys/resource.h new file mode 100644 index 00000000..a14feeb5 --- /dev/null +++ b/parser/include/postgres/port/win32/sys/resource.h @@ -0,0 +1,20 @@ +/* + * Replacement for for Windows. + */ +#ifndef WIN32_SYS_RESOURCE_H +#define WIN32_SYS_RESOURCE_H + +#include /* for struct timeval */ + +#define RUSAGE_SELF 0 +#define RUSAGE_CHILDREN (-1) + +struct rusage +{ + struct timeval ru_utime; /* user time used */ + struct timeval ru_stime; /* system time used */ +}; + +extern int getrusage(int who, struct rusage *rusage); + +#endif /* WIN32_SYS_RESOURCE_H */ diff --git a/parser/include/postgres/port/win32/sys/select.h b/parser/include/postgres/port/win32/sys/select.h new file mode 100644 index 00000000..f8a877ac --- /dev/null +++ b/parser/include/postgres/port/win32/sys/select.h @@ -0,0 +1,3 @@ +/* + * src/include/port/win32/sys/select.h + */ diff --git a/parser/include/postgres/port/win32/sys/socket.h b/parser/include/postgres/port/win32/sys/socket.h new file mode 100644 index 00000000..f2b475df --- /dev/null +++ b/parser/include/postgres/port/win32/sys/socket.h @@ -0,0 +1,34 @@ +/* + * src/include/port/win32/sys/socket.h + */ +#ifndef WIN32_SYS_SOCKET_H +#define WIN32_SYS_SOCKET_H + +/* + * Unfortunately, of VC++ also defines ERROR. + * To avoid the conflict, we include here and undefine ERROR + * immediately. + * + * Note: Don't include directly. It causes compile errors. + */ +#include +#include +#include + +#undef ERROR +#undef small + +/* Restore old ERROR value */ +#ifdef PGERROR +#define ERROR PGERROR +#endif + +/* + * We don't use the Windows gai_strerror[A] function because it is not + * thread-safe. We define our own in src/port/win32gai_strerror.c. + */ +#undef gai_strerror + +extern const char *gai_strerror(int ecode); + +#endif /* WIN32_SYS_SOCKET_H */ diff --git a/parser/include/postgres/port/win32/sys/un.h b/parser/include/postgres/port/win32/sys/un.h new file mode 100644 index 00000000..4fc13a23 --- /dev/null +++ b/parser/include/postgres/port/win32/sys/un.h @@ -0,0 +1,17 @@ +/* + * src/include/port/win32/sys/un.h + */ +#ifndef WIN32_SYS_UN_H +#define WIN32_SYS_UN_H + +/* + * Windows defines this structure in , but not all tool chains have + * the header yet, so we define it here for now. + */ +struct sockaddr_un +{ + unsigned short sun_family; + char sun_path[108]; +}; + +#endif diff --git a/parser/include/postgres/port/win32/sys/wait.h b/parser/include/postgres/port/win32/sys/wait.h new file mode 100644 index 00000000..eaeb5661 --- /dev/null +++ b/parser/include/postgres/port/win32/sys/wait.h @@ -0,0 +1,3 @@ +/* + * src/include/port/win32/sys/wait.h + */ diff --git a/parser/include/postgres/port/win32_msvc/dirent.h b/parser/include/postgres/port/win32_msvc/dirent.h new file mode 100644 index 00000000..62799db0 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/dirent.h @@ -0,0 +1,34 @@ +/* + * Headers for port/dirent.c, win32 native implementation of dirent functions + * + * src/include/port/win32_msvc/dirent.h + */ + +#ifndef _WIN32VC_DIRENT_H +#define _WIN32VC_DIRENT_H +struct dirent +{ + long d_ino; + unsigned short d_reclen; + unsigned char d_type; + unsigned short d_namlen; + char d_name[MAX_PATH]; +}; + +typedef struct DIR DIR; + +DIR *opendir(const char *); +struct dirent *readdir(DIR *); +int closedir(DIR *); + +/* File types for 'd_type'. */ +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 +#endif diff --git a/parser/include/postgres/port/win32_msvc/gokeep.go b/parser/include/postgres/port/win32_msvc/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32_msvc/sys/file.h b/parser/include/postgres/port/win32_msvc/sys/file.h new file mode 100644 index 00000000..76be3e77 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/sys/file.h @@ -0,0 +1 @@ +/* src/include/port/win32_msvc/sys/file.h */ diff --git a/parser/include/postgres/port/win32_msvc/sys/gokeep.go b/parser/include/postgres/port/win32_msvc/sys/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/sys/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/port/win32_msvc/sys/param.h b/parser/include/postgres/port/win32_msvc/sys/param.h new file mode 100644 index 00000000..160df3b2 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/sys/param.h @@ -0,0 +1 @@ +/* src/include/port/win32_msvc/sys/param.h */ diff --git a/parser/include/postgres/port/win32_msvc/sys/time.h b/parser/include/postgres/port/win32_msvc/sys/time.h new file mode 100644 index 00000000..9d943ecc --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/sys/time.h @@ -0,0 +1 @@ +/* src/include/port/win32_msvc/sys/time.h */ diff --git a/parser/include/postgres/port/win32_msvc/unistd.h b/parser/include/postgres/port/win32_msvc/unistd.h new file mode 100644 index 00000000..b7795ba0 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/unistd.h @@ -0,0 +1,9 @@ +/* src/include/port/win32_msvc/unistd.h */ + +/* + * MSVC does not define these, nor does _fileno(stdin) etc reliably work + * (returns -1 if stdin/out/err are closed). + */ +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 diff --git a/parser/include/postgres/port/win32_msvc/utime.h b/parser/include/postgres/port/win32_msvc/utime.h new file mode 100644 index 00000000..c78e79c3 --- /dev/null +++ b/parser/include/postgres/port/win32_msvc/utime.h @@ -0,0 +1,3 @@ +/* src/include/port/win32_msvc/utime.h */ + +#include /* for non-unicode version */ diff --git a/parser/include/postgres/port/win32_port.h b/parser/include/postgres/port/win32_port.h new file mode 100644 index 00000000..9a1701b3 --- /dev/null +++ b/parser/include/postgres/port/win32_port.h @@ -0,0 +1,582 @@ +/*------------------------------------------------------------------------- + * + * win32_port.h + * Windows-specific compatibility stuff. + * + * Note this is read in MinGW as well as native Windows builds, + * but not in Cygwin builds. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/port/win32_port.h + * + *------------------------------------------------------------------------- + */ +#ifndef PG_WIN32_PORT_H +#define PG_WIN32_PORT_H + +/* + * Always build with SSPI support. Keep it as a #define in case + * we want a switch to disable it sometime in the future. + */ +#define ENABLE_SSPI 1 + +/* undefine and redefine after #include */ +#undef mkdir + +#undef ERROR + +/* + * VS2013 and later issue warnings about using the old Winsock API, + * which we don't really want to hear about. + */ +#ifdef _MSC_VER +#define _WINSOCK_DEPRECATED_NO_WARNINGS +#endif + +/* + * The MinGW64 headers choke if this is already defined - they + * define it themselves. + */ +#if !defined(__MINGW64_VERSION_MAJOR) || defined(_MSC_VER) +#define _WINSOCKAPI_ +#endif + +/* + * windows.h includes a lot of other headers, slowing down compilation + * significantly. WIN32_LEAN_AND_MEAN reduces that a bit. It'd be better to + * remove the include of windows.h (as well as indirect inclusions of it) from + * such a central place, but until then... + * + * To be able to include ntstatus.h tell windows.h to not declare NTSTATUS by + * temporarily defining UMDF_USING_NTSTATUS, otherwise we'll get warning about + * macro redefinitions, as windows.h also defines NTSTATUS (yuck). That in + * turn requires including ntstatus.h, winternl.h to get common symbols. + */ +#define WIN32_LEAN_AND_MEAN +#define UMDF_USING_NTSTATUS + +#include +#include +#include +#include +#include + +#undef small +#include +#include +#include +#undef near + +/* needed before sys/stat hacking below: */ +#define fstat microsoft_native_fstat +#define stat microsoft_native_stat +#include +#undef fstat +#undef stat + +/* Must be here to avoid conflicting with prototype in windows.h */ +#define mkdir(a,b) mkdir(a) + +/* Windows doesn't have fsync() as such, use _commit() */ +#define fsync(fd) _commit(fd) + +#define USES_WINSOCK + +/* + * IPC defines + */ +#undef HAVE_UNION_SEMUN +#define HAVE_UNION_SEMUN 1 + +#define IPC_RMID 256 +#define IPC_CREAT 512 +#define IPC_EXCL 1024 +#define IPC_PRIVATE 234564 +#define IPC_NOWAIT 2048 +#define IPC_STAT 4096 + +#define EACCESS 2048 +#ifndef EIDRM +#define EIDRM 4096 +#endif + +#define SETALL 8192 +#define GETNCNT 16384 +#define GETVAL 65536 +#define SETVAL 131072 +#define GETPID 262144 + + +/* + * Signal stuff + * + * For WIN32, there is no wait() call so there are no wait() macros + * to interpret the return value of system(). Instead, system() + * return values < 0x100 are used for exit() termination, and higher + * values are used to indicate non-exit() termination, which is + * similar to a unix-style signal exit (think SIGSEGV == + * STATUS_ACCESS_VIOLATION). Return values are broken up into groups: + * + * https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/using-ntstatus-values + * + * NT_SUCCESS 0 - 0x3FFFFFFF + * NT_INFORMATION 0x40000000 - 0x7FFFFFFF + * NT_WARNING 0x80000000 - 0xBFFFFFFF + * NT_ERROR 0xC0000000 - 0xFFFFFFFF + * + * Effectively, we don't care on the severity of the return value from + * system(), we just need to know if it was because of exit() or generated + * by the system, and it seems values >= 0x100 are system-generated. + * See this URL for a list of WIN32 STATUS_* values: + * + * Wine (URL used in our error messages) - + * http://source.winehq.org/source/include/ntstatus.h + * Descriptions - + * https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55 + * + * The comprehensive exception list is included in ntstatus.h from the + * Windows Driver Kit (WDK). A subset of the list is also included in + * winnt.h from the Windows SDK. Defining WIN32_NO_STATUS before including + * windows.h helps to avoid any conflicts. + * + * Some day we might want to print descriptions for the most common + * exceptions, rather than printing an include file name. We could use + * RtlNtStatusToDosError() and pass to FormatMessage(), which can print + * the text of error values, but MinGW does not support + * RtlNtStatusToDosError(). + */ +#define WIFEXITED(w) (((w) & 0XFFFFFF00) == 0) +#define WIFSIGNALED(w) (!WIFEXITED(w)) +#define WEXITSTATUS(w) (w) +#define WTERMSIG(w) (w) + +#define sigmask(sig) ( 1 << ((sig)-1) ) + +/* Signal function return values */ +#undef SIG_DFL +#undef SIG_ERR +#undef SIG_IGN +#define SIG_DFL ((pqsigfunc)0) +#define SIG_ERR ((pqsigfunc)-1) +#define SIG_IGN ((pqsigfunc)1) + +/* Some extra signals */ +#define SIGHUP 1 +#define SIGQUIT 3 +#define SIGTRAP 5 +#define SIGABRT 22 /* Set to match W32 value -- not UNIX value */ +#define SIGKILL 9 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGSTOP 17 +#define SIGTSTP 18 +#define SIGCONT 19 +#define SIGCHLD 20 +#define SIGWINCH 28 +#define SIGUSR1 30 +#define SIGUSR2 31 + +/* MinGW has gettimeofday(), but MSVC doesn't */ +#ifdef _MSC_VER +/* Last parameter not used */ +extern int gettimeofday(struct timeval *tp, void *tzp); +#endif + +/* for setitimer in backend/port/win32/timer.c */ +#define ITIMER_REAL 0 +struct itimerval +{ + struct timeval it_interval; + struct timeval it_value; +}; + +int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue); + +/* Convenience wrapper for GetFileType() */ +extern DWORD pgwin32_get_file_type(HANDLE hFile); + +/* + * WIN32 does not provide 64-bit off_t, but does provide the functions operating + * with 64-bit offsets. Also, fseek() might not give an error for unseekable + * streams, so harden that function with our version. + */ +#define pgoff_t __int64 + +#ifdef _MSC_VER +extern int _pgfseeko64(FILE *stream, pgoff_t offset, int origin); +extern pgoff_t _pgftello64(FILE *stream); +#define fseeko(stream, offset, origin) _pgfseeko64(stream, offset, origin) +#define ftello(stream) _pgftello64(stream) +#else +#ifndef fseeko +#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin) +#endif +#ifndef ftello +#define ftello(stream) ftello64(stream) +#endif +#endif + +/* + * Win32 also doesn't have symlinks, but we can emulate them with + * junction points on newer Win32 versions. + * + * Cygwin has its own symlinks which work on Win95/98/ME where + * junction points don't, so use those instead. We have no way of + * knowing what type of system Cygwin binaries will be run on. + * Note: Some CYGWIN includes might #define WIN32. + */ +extern int pgsymlink(const char *oldpath, const char *newpath); +extern int pgreadlink(const char *path, char *buf, size_t size); + +#define symlink(oldpath, newpath) pgsymlink(oldpath, newpath) +#define readlink(path, buf, size) pgreadlink(path, buf, size) + +/* + * Supplement to . + * + * Perl already has typedefs for uid_t and gid_t. + */ +#ifndef PLPERL_HAVE_UID_GID +typedef int uid_t; +typedef int gid_t; +#endif +typedef long key_t; + +#ifdef _MSC_VER +typedef int pid_t; +#endif + +/* + * Supplement to . + * + * We must pull in sys/stat.h before this part, else our overrides lose. + * + * stat() is not guaranteed to set the st_size field on win32, so we + * redefine it to our own implementation. See src/port/win32stat.c. + * + * The struct stat is 32 bit in MSVC, so we redefine it as a copy of + * struct __stat64. This also fixes the struct size for MINGW builds. + */ +struct stat /* This should match struct __stat64 */ +{ + _dev_t st_dev; + _ino_t st_ino; + unsigned short st_mode; + short st_nlink; + short st_uid; + short st_gid; + _dev_t st_rdev; + __int64 st_size; + __time64_t st_atime; + __time64_t st_mtime; + __time64_t st_ctime; +}; + +extern int _pgfstat64(int fileno, struct stat *buf); +extern int _pgstat64(const char *name, struct stat *buf); +extern int _pglstat64(const char *name, struct stat *buf); + +#define fstat(fileno, sb) _pgfstat64(fileno, sb) +#define stat(path, sb) _pgstat64(path, sb) +#define lstat(path, sb) _pglstat64(path, sb) + +/* These macros are not provided by older MinGW, nor by MSVC */ +#ifndef S_IRUSR +#define S_IRUSR _S_IREAD +#endif +#ifndef S_IWUSR +#define S_IWUSR _S_IWRITE +#endif +#ifndef S_IXUSR +#define S_IXUSR _S_IEXEC +#endif +#ifndef S_IRWXU +#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR) +#endif +#ifndef S_IRGRP +#define S_IRGRP 0 +#endif +#ifndef S_IWGRP +#define S_IWGRP 0 +#endif +#ifndef S_IXGRP +#define S_IXGRP 0 +#endif +#ifndef S_IRWXG +#define S_IRWXG 0 +#endif +#ifndef S_IROTH +#define S_IROTH 0 +#endif +#ifndef S_IWOTH +#define S_IWOTH 0 +#endif +#ifndef S_IXOTH +#define S_IXOTH 0 +#endif +#ifndef S_IRWXO +#define S_IRWXO 0 +#endif +#ifndef S_ISDIR +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#endif +#ifndef S_ISREG +#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#endif + +/* + * In order for lstat() to be able to report junction points as symlinks, we + * need to hijack a bit in st_mode, since neither MSVC nor MinGW provides + * S_ISLNK and there aren't any spare bits. We'll steal the one for character + * devices, because we don't otherwise make use of those. + */ +#ifdef S_ISLNK +#error "S_ISLNK is already defined" +#endif +#ifdef S_IFLNK +#error "S_IFLNK is already defined" +#endif +#define S_IFLNK S_IFCHR +#define S_ISLNK(m) (((m) & S_IFLNK) == S_IFLNK) + +/* + * Supplement to . + * This is the same value as _O_NOINHERIT in the MS header file. This is + * to ensure that we don't collide with a future definition. It means + * we cannot use _O_NOINHERIT ourselves. + */ +#define O_DSYNC 0x0080 + +/* + * Our open() replacement does not create inheritable handles, so it is safe to + * ignore O_CLOEXEC. (If we were using Windows' own open(), it might be + * necessary to convert this to _O_NOINHERIT.) + */ +#define O_CLOEXEC 0 + +/* + * Supplement to . + * + * We redefine network-related Berkeley error symbols as the corresponding WSA + * constants. This allows strerror.c to recognize them as being in the Winsock + * error code range and pass them off to win32_socket_strerror(), since + * Windows' version of plain strerror() won't cope. Note that this will break + * if these names are used for anything else besides Windows Sockets errors. + * See TranslateSocketError() when changing this list. + */ +#undef EAGAIN +#define EAGAIN WSAEWOULDBLOCK +#undef EINTR +#define EINTR WSAEINTR +#undef EMSGSIZE +#define EMSGSIZE WSAEMSGSIZE +#undef EAFNOSUPPORT +#define EAFNOSUPPORT WSAEAFNOSUPPORT +#undef EWOULDBLOCK +#define EWOULDBLOCK WSAEWOULDBLOCK +#undef ECONNABORTED +#define ECONNABORTED WSAECONNABORTED +#undef ECONNRESET +#define ECONNRESET WSAECONNRESET +#undef EINPROGRESS +#define EINPROGRESS WSAEINPROGRESS +#undef EISCONN +#define EISCONN WSAEISCONN +#undef ENOBUFS +#define ENOBUFS WSAENOBUFS +#undef EPROTONOSUPPORT +#define EPROTONOSUPPORT WSAEPROTONOSUPPORT +#undef ECONNREFUSED +#define ECONNREFUSED WSAECONNREFUSED +#undef ENOTSOCK +#define ENOTSOCK WSAENOTSOCK +#undef EOPNOTSUPP +#define EOPNOTSUPP WSAEOPNOTSUPP +#undef EADDRINUSE +#define EADDRINUSE WSAEADDRINUSE +#undef EADDRNOTAVAIL +#define EADDRNOTAVAIL WSAEADDRNOTAVAIL +#undef EHOSTDOWN +#define EHOSTDOWN WSAEHOSTDOWN +#undef EHOSTUNREACH +#define EHOSTUNREACH WSAEHOSTUNREACH +#undef ENETDOWN +#define ENETDOWN WSAENETDOWN +#undef ENETRESET +#define ENETRESET WSAENETRESET +#undef ENETUNREACH +#define ENETUNREACH WSAENETUNREACH +#undef ENOTCONN +#define ENOTCONN WSAENOTCONN +#undef ETIMEDOUT +#define ETIMEDOUT WSAETIMEDOUT + +/* + * Locale stuff. + * + * Extended locale functions with gratuitous underscore prefixes. + * (These APIs are nevertheless fully documented by Microsoft.) + */ +#define locale_t _locale_t +#define tolower_l _tolower_l +#define toupper_l _toupper_l +#define towlower_l _towlower_l +#define towupper_l _towupper_l +#define isdigit_l _isdigit_l +#define iswdigit_l _iswdigit_l +#define isalpha_l _isalpha_l +#define iswalpha_l _iswalpha_l +#define isalnum_l _isalnum_l +#define iswalnum_l _iswalnum_l +#define isupper_l _isupper_l +#define iswupper_l _iswupper_l +#define islower_l _islower_l +#define iswlower_l _iswlower_l +#define isgraph_l _isgraph_l +#define iswgraph_l _iswgraph_l +#define isprint_l _isprint_l +#define iswprint_l _iswprint_l +#define ispunct_l _ispunct_l +#define iswpunct_l _iswpunct_l +#define isspace_l _isspace_l +#define iswspace_l _iswspace_l +#define strcoll_l _strcoll_l +#define strxfrm_l _strxfrm_l +#define wcscoll_l _wcscoll_l + +/* + * Versions of libintl >= 0.18? try to replace setlocale() with a macro + * to their own versions. Remove the macro, if it exists, because it + * ends up calling the wrong version when the backend and libintl use + * different versions of msvcrt. + */ +#if defined(setlocale) +#undef setlocale +#endif + +/* + * Define our own wrapper macro around setlocale() to work around bugs in + * Windows' native setlocale() function. + */ +extern char *pgwin32_setlocale(int category, const char *locale); + +#define setlocale(a,b) pgwin32_setlocale(a,b) + + +/* In backend/port/win32/signal.c */ +extern PGDLLIMPORT __thread volatile int pg_signal_queue; +extern PGDLLIMPORT __thread int pg_signal_mask; +extern PGDLLIMPORT HANDLE pgwin32_signal_event; +extern PGDLLIMPORT HANDLE pgwin32_initial_signal_pipe; + +#define UNBLOCKED_SIGNAL_QUEUE() (pg_signal_queue & ~pg_signal_mask) +#define PG_SIGNAL_COUNT 32 + +extern void pgwin32_signal_initialize(void); +extern HANDLE pgwin32_create_signal_listener(pid_t pid); +extern void pgwin32_dispatch_queued_signals(void); +extern void pg_queue_signal(int signum); + +/* In src/port/kill.c */ +#define kill(pid,sig) pgkill(pid,sig) +extern int pgkill(int pid, int sig); + +/* In backend/port/win32/socket.c */ +#ifndef FRONTEND +#define socket(af, type, protocol) pgwin32_socket(af, type, protocol) +#define bind(s, addr, addrlen) pgwin32_bind(s, addr, addrlen) +#define listen(s, backlog) pgwin32_listen(s, backlog) +#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen) +#define connect(s, name, namelen) pgwin32_connect(s, name, namelen) +#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout) +#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags) +#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags) + +extern SOCKET pgwin32_socket(int af, int type, int protocol); +extern int pgwin32_bind(SOCKET s, struct sockaddr *addr, int addrlen); +extern int pgwin32_listen(SOCKET s, int backlog); +extern SOCKET pgwin32_accept(SOCKET s, struct sockaddr *addr, int *addrlen); +extern int pgwin32_connect(SOCKET s, const struct sockaddr *name, int namelen); +extern int pgwin32_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout); +extern int pgwin32_recv(SOCKET s, char *buf, int len, int flags); +extern int pgwin32_send(SOCKET s, const void *buf, int len, int flags); +extern int pgwin32_waitforsinglesocket(SOCKET s, int what, int timeout); + +extern PGDLLIMPORT int pgwin32_noblock; + +#endif /* FRONTEND */ + +/* in backend/port/win32_shmem.c */ +extern int pgwin32_ReserveSharedMemoryRegion(HANDLE); + +/* in backend/port/win32/crashdump.c */ +extern void pgwin32_install_crashdump_handler(void); + +/* in port/win32dlopen.c */ +extern void *dlopen(const char *file, int mode); +extern void *dlsym(void *handle, const char *symbol); +extern int dlclose(void *handle); +extern char *dlerror(void); + +#define RTLD_NOW 1 +#define RTLD_GLOBAL 0 + +/* in port/win32error.c */ +extern void _dosmaperr(unsigned long); + +/* in port/win32env.c */ +extern int pgwin32_putenv(const char *); +extern int pgwin32_setenv(const char *name, const char *value, int overwrite); +extern int pgwin32_unsetenv(const char *name); + +#define putenv(x) pgwin32_putenv(x) +#define setenv(x,y,z) pgwin32_setenv(x,y,z) +#define unsetenv(x) pgwin32_unsetenv(x) + +/* in port/win32security.c */ +extern int pgwin32_is_service(void); +extern int pgwin32_is_admin(void); + +/* Windows security token manipulation (in src/common/exec.c) */ +extern BOOL AddUserToTokenDacl(HANDLE hToken); + +/* Things that exist in MinGW headers, but need to be added to MSVC */ +#ifdef _MSC_VER + +#ifndef _WIN64 +typedef long ssize_t; +#else +typedef __int64 ssize_t; +#endif + +typedef unsigned short mode_t; + +#define F_OK 0 +#define W_OK 2 +#define R_OK 4 + +#endif /* _MSC_VER */ + +#if defined(__MINGW32__) || defined(__MINGW64__) +/* + * Mingw claims to have a strtof, and my reading of its source code suggests + * that it ought to work (and not need this hack), but the regression test + * results disagree with me; whether this is a version issue or not is not + * clear. However, using our wrapper (and the misrounded-input variant file, + * already required for supporting ancient systems) can't make things any + * worse, except for a tiny performance loss when reading zeros. + * + * See also cygwin.h for another instance of this. + */ +#define HAVE_BUGGY_STRTOF 1 +#endif + +/* in port/win32pread.c */ +extern ssize_t pg_pread(int fd, void *buf, size_t nbyte, off_t offset); + +/* in port/win32pwrite.c */ +extern ssize_t pg_pwrite(int fd, const void *buf, size_t nbyte, off_t offset); + +#endif /* PG_WIN32_PORT_H */ diff --git a/parser/include/postgres/portability/gokeep.go b/parser/include/postgres/portability/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/portability/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postgres/portability/instr_time.h b/parser/include/postgres/portability/instr_time.h new file mode 100644 index 00000000..a6fc1922 --- /dev/null +++ b/parser/include/postgres/portability/instr_time.h @@ -0,0 +1,197 @@ +/*------------------------------------------------------------------------- + * + * instr_time.h + * portable high-precision interval timing + * + * This file provides an abstraction layer to hide portability issues in + * interval timing. On Unix we use clock_gettime(), and on Windows we use + * QueryPerformanceCounter(). These macros also give some breathing room to + * use other high-precision-timing APIs. + * + * The basic data type is instr_time, which all callers should treat as an + * opaque typedef. instr_time can store either an absolute time (of + * unspecified reference time) or an interval. The operations provided + * for it are: + * + * INSTR_TIME_IS_ZERO(t) is t equal to zero? + * + * INSTR_TIME_SET_ZERO(t) set t to zero (memset is acceptable too) + * + * INSTR_TIME_SET_CURRENT(t) set t to current time + * + * INSTR_TIME_SET_CURRENT_LAZY(t) set t to current time if t is zero, + * evaluates to whether t changed + * + * INSTR_TIME_ADD(x, y) x += y + * + * INSTR_TIME_SUBTRACT(x, y) x -= y + * + * INSTR_TIME_ACCUM_DIFF(x, y, z) x += (y - z) + * + * INSTR_TIME_GET_DOUBLE(t) convert t to double (in seconds) + * + * INSTR_TIME_GET_MILLISEC(t) convert t to double (in milliseconds) + * + * INSTR_TIME_GET_MICROSEC(t) convert t to uint64 (in microseconds) + * + * INSTR_TIME_GET_NANOSEC(t) convert t to uint64 (in nanoseconds) + * + * Note that INSTR_TIME_SUBTRACT and INSTR_TIME_ACCUM_DIFF convert + * absolute times to intervals. The INSTR_TIME_GET_xxx operations are + * only useful on intervals. + * + * When summing multiple measurements, it's recommended to leave the + * running sum in instr_time form (ie, use INSTR_TIME_ADD or + * INSTR_TIME_ACCUM_DIFF) and convert to a result format only at the end. + * + * Beware of multiple evaluations of the macro arguments. + * + * + * Copyright (c) 2001-2024, PostgreSQL Global Development Group + * + * src/include/portability/instr_time.h + * + *------------------------------------------------------------------------- + */ +#ifndef INSTR_TIME_H +#define INSTR_TIME_H + + +/* + * We store interval times as an int64 integer on all platforms, as int64 is + * cheap to add/subtract, the most common operation for instr_time. The + * acquisition of time and converting to specific units of time is platform + * specific. + * + * To avoid users of the API relying on the integer representation, we wrap + * the 64bit integer in a struct. + */ +typedef struct instr_time +{ + int64 ticks; /* in platforms specific unit */ +} instr_time; + + +/* helpers macros used in platform specific code below */ + +#define NS_PER_S INT64CONST(1000000000) +#define NS_PER_MS INT64CONST(1000000) +#define NS_PER_US INT64CONST(1000) + + +#ifndef WIN32 + + +/* Use clock_gettime() */ + +#include + +/* + * The best clockid to use according to the POSIX spec is CLOCK_MONOTONIC, + * since that will give reliable interval timing even in the face of changes + * to the system clock. However, POSIX doesn't require implementations to + * provide anything except CLOCK_REALTIME, so fall back to that if we don't + * find CLOCK_MONOTONIC. + * + * Also, some implementations have nonstandard clockids with better properties + * than CLOCK_MONOTONIC. In particular, as of macOS 10.12, Apple provides + * CLOCK_MONOTONIC_RAW which is both faster to read and higher resolution than + * their version of CLOCK_MONOTONIC. + */ +#if defined(__darwin__) && defined(CLOCK_MONOTONIC_RAW) +#define PG_INSTR_CLOCK CLOCK_MONOTONIC_RAW +#elif defined(CLOCK_MONOTONIC) +#define PG_INSTR_CLOCK CLOCK_MONOTONIC +#else +#define PG_INSTR_CLOCK CLOCK_REALTIME +#endif + +/* helper for INSTR_TIME_SET_CURRENT */ +static inline instr_time +pg_clock_gettime_ns(void) +{ + instr_time now; + struct timespec tmp; + + clock_gettime(PG_INSTR_CLOCK, &tmp); + now.ticks = tmp.tv_sec * NS_PER_S + tmp.tv_nsec; + + return now; +} + +#define INSTR_TIME_SET_CURRENT(t) \ + ((t) = pg_clock_gettime_ns()) + +#define INSTR_TIME_GET_NANOSEC(t) \ + ((int64) (t).ticks) + + +#else /* WIN32 */ + + +/* Use QueryPerformanceCounter() */ + +/* helper for INSTR_TIME_SET_CURRENT */ +static inline instr_time +pg_query_performance_counter(void) +{ + instr_time now; + LARGE_INTEGER tmp; + + QueryPerformanceCounter(&tmp); + now.ticks = tmp.QuadPart; + + return now; +} + +static inline double +GetTimerFrequency(void) +{ + LARGE_INTEGER f; + + QueryPerformanceFrequency(&f); + return (double) f.QuadPart; +} + +#define INSTR_TIME_SET_CURRENT(t) \ + ((t) = pg_query_performance_counter()) + +#define INSTR_TIME_GET_NANOSEC(t) \ + ((int64) ((t).ticks * ((double) NS_PER_S / GetTimerFrequency()))) + +#endif /* WIN32 */ + + +/* + * Common macros + */ + +#define INSTR_TIME_IS_ZERO(t) ((t).ticks == 0) + + +#define INSTR_TIME_SET_ZERO(t) ((t).ticks = 0) + +#define INSTR_TIME_SET_CURRENT_LAZY(t) \ + (INSTR_TIME_IS_ZERO(t) ? INSTR_TIME_SET_CURRENT(t), true : false) + + +#define INSTR_TIME_ADD(x,y) \ + ((x).ticks += (y).ticks) + +#define INSTR_TIME_SUBTRACT(x,y) \ + ((x).ticks -= (y).ticks) + +#define INSTR_TIME_ACCUM_DIFF(x,y,z) \ + ((x).ticks += (y).ticks - (z).ticks) + + +#define INSTR_TIME_GET_DOUBLE(t) \ + ((double) INSTR_TIME_GET_NANOSEC(t) / NS_PER_S) + +#define INSTR_TIME_GET_MILLISEC(t) \ + ((double) INSTR_TIME_GET_NANOSEC(t) / NS_PER_MS) + +#define INSTR_TIME_GET_MICROSEC(t) \ + (INSTR_TIME_GET_NANOSEC(t) / NS_PER_US) + +#endif /* INSTR_TIME_H */ diff --git a/parser/include/postgres/postgres.h b/parser/include/postgres/postgres.h new file mode 100644 index 00000000..5d5fd781 --- /dev/null +++ b/parser/include/postgres/postgres.h @@ -0,0 +1,579 @@ +/*------------------------------------------------------------------------- + * + * postgres.h + * Primary include file for PostgreSQL server .c files + * + * This should be the first file included by PostgreSQL backend modules. + * Client-side code should include postgres_fe.h instead. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1995, Regents of the University of California + * + * src/include/postgres.h + * + *------------------------------------------------------------------------- + */ +/* + *---------------------------------------------------------------- + * TABLE OF CONTENTS + * + * When adding stuff to this file, please try to put stuff + * into the relevant section, or add new sections as appropriate. + * + * section description + * ------- ------------------------------------------------ + * 1) Datum type + support functions + * 2) miscellaneous + * + * NOTES + * + * In general, this file should contain declarations that are widely needed + * in the backend environment, but are of no interest outside the backend. + * + * Simple type definitions live in c.h, where they are shared with + * postgres_fe.h. We do that since those type definitions are needed by + * frontend modules that want to deal with binary data transmission to or + * from the backend. Type definitions in this file should be for + * representations that never escape the backend, such as Datum. + * + *---------------------------------------------------------------- + */ +#ifndef POSTGRES_H +#define POSTGRES_H + +#include "c.h" +#include "utils/elog.h" +#include "utils/palloc.h" + +/* ---------------------------------------------------------------- + * Section 1: Datum type + support functions + * ---------------------------------------------------------------- + */ + +/* + * A Datum contains either a value of a pass-by-value type or a pointer to a + * value of a pass-by-reference type. Therefore, we require: + * + * sizeof(Datum) == sizeof(void *) == 4 or 8 + * + * The functions below and the analogous functions for other types should be used to + * convert between a Datum and the appropriate C type. + */ + +typedef uintptr_t Datum; + +/* + * A NullableDatum is used in places where both a Datum and its nullness needs + * to be stored. This can be more efficient than storing datums and nullness + * in separate arrays, due to better spatial locality, even if more space may + * be wasted due to padding. + */ +typedef struct NullableDatum +{ +#define FIELDNO_NULLABLE_DATUM_DATUM 0 + Datum value; +#define FIELDNO_NULLABLE_DATUM_ISNULL 1 + bool isnull; + /* due to alignment padding this could be used for flags for free */ +} NullableDatum; + +#define SIZEOF_DATUM SIZEOF_VOID_P + +/* + * DatumGetBool + * Returns boolean value of a datum. + * + * Note: any nonzero value will be considered true. + */ +static inline bool +DatumGetBool(Datum X) +{ + return (X != 0); +} + +/* + * BoolGetDatum + * Returns datum representation for a boolean. + * + * Note: any nonzero value will be considered true. + */ +static inline Datum +BoolGetDatum(bool X) +{ + return (Datum) (X ? 1 : 0); +} + +/* + * DatumGetChar + * Returns character value of a datum. + */ +static inline char +DatumGetChar(Datum X) +{ + return (char) X; +} + +/* + * CharGetDatum + * Returns datum representation for a character. + */ +static inline Datum +CharGetDatum(char X) +{ + return (Datum) X; +} + +/* + * Int8GetDatum + * Returns datum representation for an 8-bit integer. + */ +static inline Datum +Int8GetDatum(int8 X) +{ + return (Datum) X; +} + +/* + * DatumGetUInt8 + * Returns 8-bit unsigned integer value of a datum. + */ +static inline uint8 +DatumGetUInt8(Datum X) +{ + return (uint8) X; +} + +/* + * UInt8GetDatum + * Returns datum representation for an 8-bit unsigned integer. + */ +static inline Datum +UInt8GetDatum(uint8 X) +{ + return (Datum) X; +} + +/* + * DatumGetInt16 + * Returns 16-bit integer value of a datum. + */ +static inline int16 +DatumGetInt16(Datum X) +{ + return (int16) X; +} + +/* + * Int16GetDatum + * Returns datum representation for a 16-bit integer. + */ +static inline Datum +Int16GetDatum(int16 X) +{ + return (Datum) X; +} + +/* + * DatumGetUInt16 + * Returns 16-bit unsigned integer value of a datum. + */ +static inline uint16 +DatumGetUInt16(Datum X) +{ + return (uint16) X; +} + +/* + * UInt16GetDatum + * Returns datum representation for a 16-bit unsigned integer. + */ +static inline Datum +UInt16GetDatum(uint16 X) +{ + return (Datum) X; +} + +/* + * DatumGetInt32 + * Returns 32-bit integer value of a datum. + */ +static inline int32 +DatumGetInt32(Datum X) +{ + return (int32) X; +} + +/* + * Int32GetDatum + * Returns datum representation for a 32-bit integer. + */ +static inline Datum +Int32GetDatum(int32 X) +{ + return (Datum) X; +} + +/* + * DatumGetUInt32 + * Returns 32-bit unsigned integer value of a datum. + */ +static inline uint32 +DatumGetUInt32(Datum X) +{ + return (uint32) X; +} + +/* + * UInt32GetDatum + * Returns datum representation for a 32-bit unsigned integer. + */ +static inline Datum +UInt32GetDatum(uint32 X) +{ + return (Datum) X; +} + +/* + * DatumGetObjectId + * Returns object identifier value of a datum. + */ +static inline Oid +DatumGetObjectId(Datum X) +{ + return (Oid) X; +} + +/* + * ObjectIdGetDatum + * Returns datum representation for an object identifier. + */ +static inline Datum +ObjectIdGetDatum(Oid X) +{ + return (Datum) X; +} + +/* + * DatumGetTransactionId + * Returns transaction identifier value of a datum. + */ +static inline TransactionId +DatumGetTransactionId(Datum X) +{ + return (TransactionId) X; +} + +/* + * TransactionIdGetDatum + * Returns datum representation for a transaction identifier. + */ +static inline Datum +TransactionIdGetDatum(TransactionId X) +{ + return (Datum) X; +} + +/* + * MultiXactIdGetDatum + * Returns datum representation for a multixact identifier. + */ +static inline Datum +MultiXactIdGetDatum(MultiXactId X) +{ + return (Datum) X; +} + +/* + * DatumGetCommandId + * Returns command identifier value of a datum. + */ +static inline CommandId +DatumGetCommandId(Datum X) +{ + return (CommandId) X; +} + +/* + * CommandIdGetDatum + * Returns datum representation for a command identifier. + */ +static inline Datum +CommandIdGetDatum(CommandId X) +{ + return (Datum) X; +} + +/* + * DatumGetPointer + * Returns pointer value of a datum. + */ +static inline Pointer +DatumGetPointer(Datum X) +{ + return (Pointer) X; +} + +/* + * PointerGetDatum + * Returns datum representation for a pointer. + */ +static inline Datum +PointerGetDatum(const void *X) +{ + return (Datum) X; +} + +/* + * DatumGetCString + * Returns C string (null-terminated string) value of a datum. + * + * Note: C string is not a full-fledged Postgres type at present, + * but type input functions use this conversion for their inputs. + */ +static inline char * +DatumGetCString(Datum X) +{ + return (char *) DatumGetPointer(X); +} + +/* + * CStringGetDatum + * Returns datum representation for a C string (null-terminated string). + * + * Note: C string is not a full-fledged Postgres type at present, + * but type output functions use this conversion for their outputs. + * Note: CString is pass-by-reference; caller must ensure the pointed-to + * value has adequate lifetime. + */ +static inline Datum +CStringGetDatum(const char *X) +{ + return PointerGetDatum(X); +} + +/* + * DatumGetName + * Returns name value of a datum. + */ +static inline Name +DatumGetName(Datum X) +{ + return (Name) DatumGetPointer(X); +} + +/* + * NameGetDatum + * Returns datum representation for a name. + * + * Note: Name is pass-by-reference; caller must ensure the pointed-to + * value has adequate lifetime. + */ +static inline Datum +NameGetDatum(const NameData *X) +{ + return CStringGetDatum(NameStr(*X)); +} + +/* + * DatumGetInt64 + * Returns 64-bit integer value of a datum. + * + * Note: this function hides whether int64 is pass by value or by reference. + */ +static inline int64 +DatumGetInt64(Datum X) +{ +#ifdef USE_FLOAT8_BYVAL + return (int64) X; +#else + return *((int64 *) DatumGetPointer(X)); +#endif +} + +/* + * Int64GetDatum + * Returns datum representation for a 64-bit integer. + * + * Note: if int64 is pass by reference, this function returns a reference + * to palloc'd space. + */ +#ifdef USE_FLOAT8_BYVAL +static inline Datum +Int64GetDatum(int64 X) +{ + return (Datum) X; +} +#else +extern Datum Int64GetDatum(int64 X); +#endif + + +/* + * DatumGetUInt64 + * Returns 64-bit unsigned integer value of a datum. + * + * Note: this function hides whether int64 is pass by value or by reference. + */ +static inline uint64 +DatumGetUInt64(Datum X) +{ +#ifdef USE_FLOAT8_BYVAL + return (uint64) X; +#else + return *((uint64 *) DatumGetPointer(X)); +#endif +} + +/* + * UInt64GetDatum + * Returns datum representation for a 64-bit unsigned integer. + * + * Note: if int64 is pass by reference, this function returns a reference + * to palloc'd space. + */ +static inline Datum +UInt64GetDatum(uint64 X) +{ +#ifdef USE_FLOAT8_BYVAL + return (Datum) X; +#else + return Int64GetDatum((int64) X); +#endif +} + +/* + * Float <-> Datum conversions + * + * These have to be implemented as inline functions rather than macros, when + * passing by value, because many machines pass int and float function + * parameters/results differently; so we need to play weird games with unions. + */ + +/* + * DatumGetFloat4 + * Returns 4-byte floating point value of a datum. + */ +static inline float4 +DatumGetFloat4(Datum X) +{ + union + { + int32 value; + float4 retval; + } myunion; + + myunion.value = DatumGetInt32(X); + return myunion.retval; +} + +/* + * Float4GetDatum + * Returns datum representation for a 4-byte floating point number. + */ +static inline Datum +Float4GetDatum(float4 X) +{ + union + { + float4 value; + int32 retval; + } myunion; + + myunion.value = X; + return Int32GetDatum(myunion.retval); +} + +/* + * DatumGetFloat8 + * Returns 8-byte floating point value of a datum. + * + * Note: this function hides whether float8 is pass by value or by reference. + */ +static inline float8 +DatumGetFloat8(Datum X) +{ +#ifdef USE_FLOAT8_BYVAL + union + { + int64 value; + float8 retval; + } myunion; + + myunion.value = DatumGetInt64(X); + return myunion.retval; +#else + return *((float8 *) DatumGetPointer(X)); +#endif +} + +/* + * Float8GetDatum + * Returns datum representation for an 8-byte floating point number. + * + * Note: if float8 is pass by reference, this function returns a reference + * to palloc'd space. + */ +#ifdef USE_FLOAT8_BYVAL +static inline Datum +Float8GetDatum(float8 X) +{ + union + { + float8 value; + int64 retval; + } myunion; + + myunion.value = X; + return Int64GetDatum(myunion.retval); +} +#else +extern Datum Float8GetDatum(float8 X); +#endif + + +/* + * Int64GetDatumFast + * Float8GetDatumFast + * + * These macros are intended to allow writing code that does not depend on + * whether int64 and float8 are pass-by-reference types, while not + * sacrificing performance when they are. The argument must be a variable + * that will exist and have the same value for as long as the Datum is needed. + * In the pass-by-ref case, the address of the variable is taken to use as + * the Datum. In the pass-by-val case, these are the same as the non-Fast + * functions, except for asserting that the variable is of the correct type. + */ + +#ifdef USE_FLOAT8_BYVAL +#define Int64GetDatumFast(X) \ + (AssertVariableIsOfTypeMacro(X, int64), Int64GetDatum(X)) +#define Float8GetDatumFast(X) \ + (AssertVariableIsOfTypeMacro(X, double), Float8GetDatum(X)) +#else +#define Int64GetDatumFast(X) \ + (AssertVariableIsOfTypeMacro(X, int64), PointerGetDatum(&(X))) +#define Float8GetDatumFast(X) \ + (AssertVariableIsOfTypeMacro(X, double), PointerGetDatum(&(X))) +#endif + + +/* ---------------------------------------------------------------- + * Section 2: miscellaneous + * ---------------------------------------------------------------- + */ + +/* + * NON_EXEC_STATIC: It's sometimes useful to define a variable or function + * that is normally static but extern when using EXEC_BACKEND (see + * pg_config_manual.h). There would then typically be some code in + * postmaster.c that uses those extern symbols to transfer state between + * processes or do whatever other things it needs to do in EXEC_BACKEND mode. + */ +#ifdef EXEC_BACKEND +#define NON_EXEC_STATIC +#else +#define NON_EXEC_STATIC static +#endif + +#endif /* POSTGRES_H */ diff --git a/parser/include/postgres_ext.h b/parser/include/postgres/postgres_ext.h similarity index 99% rename from parser/include/postgres_ext.h rename to parser/include/postgres/postgres_ext.h index fdb61b7c..240ad4e9 100644 --- a/parser/include/postgres_ext.h +++ b/parser/include/postgres/postgres_ext.h @@ -46,7 +46,6 @@ typedef unsigned int Oid; /* Define a signed 64-bit integer type for use in client API declarations. */ typedef PG_INT64_TYPE pg_int64; - /* * Identifiers of error message fields. Kept here to keep common * between frontend and backend, and also to export them to libpq diff --git a/parser/include/postmaster/autovacuum.h b/parser/include/postgres/postmaster/autovacuum.h similarity index 71% rename from parser/include/postmaster/autovacuum.h rename to parser/include/postgres/postmaster/autovacuum.h index 9d40fd6d..cae1e8b3 100644 --- a/parser/include/postmaster/autovacuum.h +++ b/parser/include/postgres/postmaster/autovacuum.h @@ -4,7 +4,7 @@ * header file for integrated autovacuum daemon * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/postmaster/autovacuum.h @@ -22,7 +22,7 @@ */ typedef enum { - AVW_BRINSummarizeRange + AVW_BRINSummarizeRange, } AutoVacuumWorkItemType; @@ -49,29 +49,15 @@ extern PGDLLIMPORT int Log_autovacuum_min_duration; /* Status inquiry functions */ extern bool AutoVacuumingActive(void); -extern bool IsAutoVacuumLauncherProcess(void); -extern bool IsAutoVacuumWorkerProcess(void); -#define IsAnyAutoVacuumProcess() \ - (IsAutoVacuumLauncherProcess() || IsAutoVacuumWorkerProcess()) - -/* Functions to start autovacuum process, called from postmaster */ +/* called from postmaster at server startup */ extern void autovac_init(void); -extern int StartAutoVacLauncher(void); -extern int StartAutoVacWorker(void); /* called from postmaster when a worker could not be forked */ extern void AutoVacWorkerFailed(void); -/* autovacuum cost-delay balancer */ -extern void AutoVacuumUpdateDelay(void); - -#ifdef EXEC_BACKEND -extern void AutoVacLauncherMain(int argc, char *argv[]) pg_attribute_noreturn(); -extern void AutoVacWorkerMain(int argc, char *argv[]) pg_attribute_noreturn(); -extern void AutovacuumWorkerIAm(void); -extern void AutovacuumLauncherIAm(void); -#endif +extern void AutoVacLauncherMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); +extern void AutoVacWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern bool AutoVacuumRequestWork(AutoVacuumWorkItemType type, Oid relationId, BlockNumber blkno); diff --git a/parser/include/postmaster/bgworker.h b/parser/include/postgres/postmaster/bgworker.h similarity index 93% rename from parser/include/postmaster/bgworker.h rename to parser/include/postgres/postmaster/bgworker.h index 96975bdc..22fc49ec 100644 --- a/parser/include/postmaster/bgworker.h +++ b/parser/include/postgres/postmaster/bgworker.h @@ -31,7 +31,7 @@ * different) code. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -78,7 +78,7 @@ typedef enum { BgWorkerStart_PostmasterStart, BgWorkerStart_ConsistentState, - BgWorkerStart_RecoveryFinished + BgWorkerStart_RecoveryFinished, } BgWorkerStartTime; #define BGW_DEFAULT_RESTART_INTERVAL 60 @@ -93,7 +93,7 @@ typedef struct BackgroundWorker int bgw_flags; BgWorkerStartTime bgw_start_time; int bgw_restart_time; /* in seconds, or BGW_NEVER_RESTART */ - char bgw_library_name[BGW_MAXLEN]; + char bgw_library_name[MAXPGPATH]; char bgw_function_name[BGW_MAXLEN]; Datum bgw_main_arg; char bgw_extra[BGW_EXTRALEN]; @@ -105,7 +105,7 @@ typedef enum BgwHandleStatus BGWH_STARTED, /* worker is running */ BGWH_NOT_YET_STARTED, /* worker hasn't been started yet */ BGWH_STOPPED, /* worker has exited */ - BGWH_POSTMASTER_DIED /* postmaster died; worker status unclear */ + BGWH_POSTMASTER_DIED, /* postmaster died; worker status unclear */ } BgwHandleStatus; struct BackgroundWorkerHandle; @@ -121,7 +121,7 @@ extern bool RegisterDynamicBackgroundWorker(BackgroundWorker *worker, /* Query the status of a bgworker */ extern BgwHandleStatus GetBackgroundWorkerPid(BackgroundWorkerHandle *handle, pid_t *pidp); -extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pid); +extern BgwHandleStatus WaitForBackgroundWorkerStartup(BackgroundWorkerHandle *handle, pid_t *pidp); extern BgwHandleStatus WaitForBackgroundWorkerShutdown(BackgroundWorkerHandle *); extern const char *GetBackgroundWorkerTypeByPid(pid_t pid); @@ -150,9 +150,11 @@ extern void BackgroundWorkerInitializeConnectionByOid(Oid dboid, Oid useroid, ui * Flags to BackgroundWorkerInitializeConnection et al * * - * Allow bypassing datallowconn restrictions when connecting to database + * Allow bypassing datallowconn restrictions and login check when connecting + * to database */ -#define BGWORKER_BYPASS_ALLOWCONN 1 +#define BGWORKER_BYPASS_ALLOWCONN 0x0001 +#define BGWORKER_BYPASS_ROLELOGINCHECK 0x0002 /* Block/unblock signals in a background worker process */ diff --git a/parser/include/postmaster/bgworker_internals.h b/parser/include/postgres/postmaster/bgworker_internals.h similarity index 86% rename from parser/include/postmaster/bgworker_internals.h rename to parser/include/postgres/postmaster/bgworker_internals.h index 38768354..9106a0ef 100644 --- a/parser/include/postmaster/bgworker_internals.h +++ b/parser/include/postgres/postmaster/bgworker_internals.h @@ -2,7 +2,7 @@ * bgworker_internals.h * POSTGRES pluggable background workers internals * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -54,11 +54,7 @@ extern void BackgroundWorkerStopNotifications(pid_t pid); extern void ForgetUnstartedBackgroundWorkers(void); extern void ResetBackgroundWorkerCrashTimes(void); -/* Function to start a background worker, called from postmaster.c */ -extern void StartBackgroundWorker(void) pg_attribute_noreturn(); - -#ifdef EXEC_BACKEND -extern BackgroundWorker *BackgroundWorkerEntry(int slotno); -#endif +/* Entry point for background worker processes */ +extern void BackgroundWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); #endif /* BGWORKER_INTERNALS_H */ diff --git a/parser/include/postmaster/bgwriter.h b/parser/include/postgres/postmaster/bgwriter.h similarity index 79% rename from parser/include/postmaster/bgwriter.h rename to parser/include/postgres/postmaster/bgwriter.h index 2511ef45..407f26e5 100644 --- a/parser/include/postmaster/bgwriter.h +++ b/parser/include/postgres/postmaster/bgwriter.h @@ -6,7 +6,7 @@ * The bgwriter process used to handle checkpointing duties too. Now * there is a separate process, but we did not bother to split this header. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/bgwriter.h * @@ -16,7 +16,7 @@ #define _BGWRITER_H #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "storage/smgr.h" #include "storage/sync.h" @@ -27,8 +27,8 @@ extern PGDLLIMPORT int CheckPointTimeout; extern PGDLLIMPORT int CheckPointWarning; extern PGDLLIMPORT double CheckPointCompletionTarget; -extern void BackgroundWriterMain(void) pg_attribute_noreturn(); -extern void CheckpointerMain(void) pg_attribute_noreturn(); +extern void BackgroundWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); +extern void CheckpointerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void RequestCheckpoint(int flags); extern void CheckpointWriteDelay(int flags, double progress); diff --git a/parser/include/postgres/postmaster/gokeep.go b/parser/include/postgres/postmaster/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/postmaster/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/postmaster/interrupt.h b/parser/include/postgres/postmaster/interrupt.h similarity index 93% rename from parser/include/postmaster/interrupt.h rename to parser/include/postgres/postmaster/interrupt.h index 289e0457..341a09d8 100644 --- a/parser/include/postmaster/interrupt.h +++ b/parser/include/postgres/postmaster/interrupt.h @@ -7,7 +7,7 @@ * have their own implementations, but we provide a few generic things * here to facilitate code reuse. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/include/postgres/postmaster/pgarch.h b/parser/include/postgres/postmaster/pgarch.h new file mode 100644 index 00000000..a7a41722 --- /dev/null +++ b/parser/include/postgres/postmaster/pgarch.h @@ -0,0 +1,36 @@ +/*------------------------------------------------------------------------- + * + * pgarch.h + * Exports from postmaster/pgarch.c. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/postmaster/pgarch.h + * + *------------------------------------------------------------------------- + */ +#ifndef _PGARCH_H +#define _PGARCH_H + +/* ---------- + * Archiver control info. + * + * We expect that archivable files within pg_wal will have names between + * MIN_XFN_CHARS and MAX_XFN_CHARS in length, consisting only of characters + * appearing in VALID_XFN_CHARS. The status files in archive_status have + * corresponding names with ".ready" or ".done" appended. + * ---------- + */ +#define MIN_XFN_CHARS 16 +#define MAX_XFN_CHARS 40 +#define VALID_XFN_CHARS "0123456789ABCDEF.history.backup.partial" + +extern Size PgArchShmemSize(void); +extern void PgArchShmemInit(void); +extern bool PgArchCanRestart(void); +extern void PgArchiverMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); +extern void PgArchWakeup(void); +extern void PgArchForceDirScan(void); + +#endif /* _PGARCH_H */ diff --git a/parser/include/postmaster/postmaster.h b/parser/include/postgres/postmaster/postmaster.h similarity index 72% rename from parser/include/postmaster/postmaster.h rename to parser/include/postgres/postmaster/postmaster.h index 27aef9c1..89ad13b7 100644 --- a/parser/include/postmaster/postmaster.h +++ b/parser/include/postgres/postmaster/postmaster.h @@ -3,7 +3,7 @@ * postmaster.h * Exports from postmaster/postmaster.c. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/postmaster/postmaster.h @@ -13,15 +13,18 @@ #ifndef _POSTMASTER_H #define _POSTMASTER_H +#include "miscadmin.h" + /* GUC options */ extern PGDLLIMPORT bool EnableSSL; -extern PGDLLIMPORT int ReservedBackends; +extern PGDLLIMPORT int SuperuserReservedConnections; +extern PGDLLIMPORT int ReservedConnections; extern PGDLLIMPORT int PostPortNumber; extern PGDLLIMPORT int Unix_socket_permissions; extern PGDLLIMPORT char *Unix_socket_group; extern PGDLLIMPORT char *Unix_socket_directories; extern PGDLLIMPORT char *ListenAddresses; -extern PGDLLIMPORT __thread bool ClientAuthInProgress; +extern PGDLLIMPORT bool ClientAuthInProgress; extern PGDLLIMPORT int PreAuthDelay; extern PGDLLIMPORT int AuthenticationTimeout; extern PGDLLIMPORT bool Log_connections; @@ -30,6 +33,8 @@ extern PGDLLIMPORT bool enable_bonjour; extern PGDLLIMPORT char *bonjour_name; extern PGDLLIMPORT bool restart_after_crash; extern PGDLLIMPORT bool remove_temp_files_after_crash; +extern PGDLLIMPORT bool send_abort_for_crash; +extern PGDLLIMPORT bool send_abort_for_kill; #ifdef WIN32 extern PGDLLIMPORT HANDLE PostmasterHandle; @@ -47,6 +52,8 @@ extern PGDLLIMPORT int postmaster_alive_fds[2]; extern PGDLLIMPORT const char *progname; +extern PGDLLIMPORT bool LoadedSSL; + extern void PostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); extern void ClosePostmasterPorts(bool am_syslogger); extern void InitProcessGlobals(void); @@ -55,12 +62,28 @@ extern int MaxLivePostmasterChildren(void); extern bool PostmasterMarkPIDForWorkerNotify(int); -#ifdef EXEC_BACKEND -extern pid_t postmaster_forkexec(int argc, char *argv[]); -extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); +extern void processCancelRequest(int backendPID, int32 cancelAuthCode); +#ifdef EXEC_BACKEND extern Size ShmemBackendArraySize(void); extern void ShmemBackendArrayAllocation(void); + +#ifdef WIN32 +extern void pgwin32_register_deadchild_callback(HANDLE procHandle, DWORD procId); +#endif +#endif + +/* defined in globals.c */ +extern PGDLLIMPORT struct ClientSocket *MyClientSocket; + +/* prototypes for functions in launch_backend.c */ +extern pid_t postmaster_child_launch(BackendType child_type, + char *startup_data, + size_t startup_data_len, + struct ClientSocket *client_sock); +const char *PostmasterChildName(BackendType child_type); +#ifdef EXEC_BACKEND +extern void SubPostmasterMain(int argc, char *argv[]) pg_attribute_noreturn(); #endif /* @@ -69,7 +92,7 @@ extern void ShmemBackendArrayAllocation(void); * by using a 64bit state; but it's unlikely to be worthwhile as 2^18-1 * backends exceed currently realistic configurations. Even if that limitation * were removed, we still could not a) exceed 2^23-1 because inval.c stores - * the backend ID as a 3-byte signed integer, b) INT_MAX/4 because some places + * the ProcNumber as a 3-byte signed integer, b) INT_MAX/4 because some places * compute 4*MaxBackends without any overflow check. This is rechecked in the * relevant GUC check hooks and in RegisterBackgroundWorker(). */ diff --git a/parser/include/postmaster/startup.h b/parser/include/postgres/postmaster/startup.h similarity index 79% rename from parser/include/postmaster/startup.h rename to parser/include/postgres/postmaster/startup.h index d66ec1fc..dde7ebde 100644 --- a/parser/include/postmaster/startup.h +++ b/parser/include/postgres/postmaster/startup.h @@ -3,7 +3,7 @@ * startup.h * Exports from postmaster/startup.c. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/startup.h * @@ -26,12 +26,14 @@ extern PGDLLIMPORT int log_startup_progress_interval; extern void HandleStartupProcInterrupts(void); -extern void StartupProcessMain(void) pg_attribute_noreturn(); +extern void StartupProcessMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void PreRestoreCommand(void); extern void PostRestoreCommand(void); extern bool IsPromoteSignaled(void); extern void ResetPromoteSignaled(void); +extern void enable_startup_progress_timeout(void); +extern void disable_startup_progress_timeout(void); extern void begin_startup_progress_phase(void); extern void startup_progress_timeout_handler(void); extern bool has_startup_progress_timeout_expired(long *secs, int *usecs); diff --git a/parser/include/postmaster/syslogger.h b/parser/include/postgres/postmaster/syslogger.h similarity index 94% rename from parser/include/postmaster/syslogger.h rename to parser/include/postgres/postmaster/syslogger.h index 6436724f..0f28ebcb 100644 --- a/parser/include/postmaster/syslogger.h +++ b/parser/include/postgres/postmaster/syslogger.h @@ -3,7 +3,7 @@ * syslogger.h * Exports from postmaster/syslogger.c. * - * Copyright (c) 2004-2022, PostgreSQL Global Development Group + * Copyright (c) 2004-2024, PostgreSQL Global Development Group * * src/include/postmaster/syslogger.h * @@ -84,11 +84,9 @@ extern PGDLLIMPORT HANDLE syslogPipe[2]; extern int SysLogger_Start(void); -extern void write_syslogger_file(const char *buffer, int count, int dest); +extern void write_syslogger_file(const char *buffer, int count, int destination); -#ifdef EXEC_BACKEND -extern void SysLoggerMain(int argc, char *argv[]) pg_attribute_noreturn(); -#endif +extern void SysLoggerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern bool CheckLogrotateSignal(void); extern void RemoveLogrotateSignalFiles(void); diff --git a/parser/include/postgres/postmaster/walsummarizer.h b/parser/include/postgres/postmaster/walsummarizer.h new file mode 100644 index 00000000..aedca556 --- /dev/null +++ b/parser/include/postgres/postmaster/walsummarizer.h @@ -0,0 +1,35 @@ +/*------------------------------------------------------------------------- + * + * walsummarizer.h + * + * Header file for background WAL summarization process. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/include/postmaster/walsummarizer.h + * + *------------------------------------------------------------------------- + */ +#ifndef WALSUMMARIZER_H +#define WALSUMMARIZER_H + +#include "access/xlogdefs.h" + +extern PGDLLIMPORT bool summarize_wal; +extern PGDLLIMPORT int wal_summary_keep_time; + +extern Size WalSummarizerShmemSize(void); +extern void WalSummarizerShmemInit(void); +extern void WalSummarizerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); + +extern void GetWalSummarizerState(TimeLineID *summarized_tli, + XLogRecPtr *summarized_lsn, + XLogRecPtr *pending_lsn, + int *summarizer_pid); +extern XLogRecPtr GetOldestUnsummarizedLSN(TimeLineID *tli, + bool *lsn_is_exact); +extern void SetWalSummarizerLatch(void); +extern void WaitForWalSummarization(XLogRecPtr lsn); + +#endif diff --git a/parser/include/postmaster/walwriter.h b/parser/include/postgres/postmaster/walwriter.h similarity index 66% rename from parser/include/postmaster/walwriter.h rename to parser/include/postgres/postmaster/walwriter.h index ddc94365..5884d69f 100644 --- a/parser/include/postmaster/walwriter.h +++ b/parser/include/postgres/postmaster/walwriter.h @@ -3,7 +3,7 @@ * walwriter.h * Exports from postmaster/walwriter.c. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/postmaster/walwriter.h * @@ -12,10 +12,12 @@ #ifndef _WALWRITER_H #define _WALWRITER_H +#define DEFAULT_WAL_WRITER_FLUSH_AFTER ((1024 * 1024) / XLOG_BLCKSZ) + /* GUC options */ extern PGDLLIMPORT int WalWriterDelay; extern PGDLLIMPORT int WalWriterFlushAfter; -extern void WalWriterMain(void) pg_attribute_noreturn(); +extern void WalWriterMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); #endif /* _WALWRITER_H */ diff --git a/parser/include/postgres/regex/gokeep.go b/parser/include/postgres/regex/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/regex/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/regex/regex.h b/parser/include/postgres/regex/regex.h similarity index 72% rename from parser/include/regex/regex.h rename to parser/include/postgres/regex/regex.h index 0455ae80..f34ee3a8 100644 --- a/parser/include/regex/regex.h +++ b/parser/include/postgres/regex/regex.h @@ -1,5 +1,5 @@ -#ifndef _REGEX_H_ -#define _REGEX_H_ /* never again */ +#ifndef _PG_REGEX_H_ +#define _PG_REGEX_H_ /* never again */ /* * regular expressions * @@ -32,6 +32,84 @@ * src/include/regex/regex.h */ +/* + * This is an implementation of POSIX regex_t, so it clashes with the + * system-provided header. That header might be unintentionally + * included already, so we force that to happen now on all systems to show that + * we can cope and that we completely replace the system regex interfaces. + * + * Note that we avoided using _REGEX_H_ as an include guard, as that confuses + * matters on BSD family systems including macOS that use the same include + * guard. + */ +#ifndef _WIN32 +#include +#endif + +/* Avoid redefinition errors due to the system header. */ +#undef REG_UBACKREF +#undef REG_ULOOKAROUND +#undef REG_UBOUNDS +#undef REG_UBRACES +#undef REG_UBSALNUM +#undef REG_UPBOTCH +#undef REG_UBBS +#undef REG_UNONPOSIX +#undef REG_UUNSPEC +#undef REG_UUNPORT +#undef REG_ULOCALE +#undef REG_UEMPTYMATCH +#undef REG_UIMPOSSIBLE +#undef REG_USHORTEST +#undef REG_BASIC +#undef REG_EXTENDED +#undef REG_ADVF +#undef REG_ADVANCED +#undef REG_QUOTE +#undef REG_NOSPEC +#undef REG_ICASE +#undef REG_NOSUB +#undef REG_EXPANDED +#undef REG_NLSTOP +#undef REG_NLANCH +#undef REG_NEWLINE +#undef REG_PEND +#undef REG_EXPECT +#undef REG_BOSONLY +#undef REG_DUMP +#undef REG_FAKE +#undef REG_PROGRESS +#undef REG_NOTBOL +#undef REG_NOTEOL +#undef REG_STARTEND +#undef REG_FTRACE +#undef REG_MTRACE +#undef REG_SMALL +#undef REG_OKAY +#undef REG_NOMATCH +#undef REG_BADPAT +#undef REG_ECOLLATE +#undef REG_ECTYPE +#undef REG_EESCAPE +#undef REG_ESUBREG +#undef REG_EBRACK +#undef REG_EPAREN +#undef REG_EBRACE +#undef REG_BADBR +#undef REG_ERANGE +#undef REG_ESPACE +#undef REG_BADRPT +#undef REG_ASSERT +#undef REG_INVARG +#undef REG_MIXED +#undef REG_BADOPT +#undef REG_ETOOBIG +#undef REG_ECOLORS +#undef REG_ATOI +#undef REG_ITOA +#undef REG_PREFIX +#undef REG_EXACT + /* * Add your own defines, if needed, here. */ @@ -45,7 +123,7 @@ * regoff_t has to be large enough to hold either off_t or ssize_t, * and must be signed; it's only a guess that long is suitable. */ -typedef long regoff_t; +typedef long pg_regoff_t; /* * other interface types @@ -79,19 +157,19 @@ typedef struct /* the rest is opaque pointers to hidden innards */ char *re_guts; /* `char *' is more portable than `void *' */ char *re_fns; -} regex_t; +} pg_regex_t; /* result reporting (may acquire more fields later) */ typedef struct { - regoff_t rm_so; /* start of substring */ - regoff_t rm_eo; /* end of substring */ -} regmatch_t; + pg_regoff_t rm_so; /* start of substring */ + pg_regoff_t rm_eo; /* end of substring */ +} pg_regmatch_t; /* supplementary control and reporting */ typedef struct { - regmatch_t rm_extend; /* see REG_EXPECT */ + pg_regmatch_t rm_extend; /* see REG_EXPECT */ } rm_detail_t; @@ -156,7 +234,6 @@ typedef struct #define REG_BADOPT 18 /* invalid embedded option */ #define REG_ETOOBIG 19 /* regular expression is too complex */ #define REG_ECOLORS 20 /* too many colors */ -#define REG_CANCEL 21 /* operation cancelled */ /* two specials for debugging and testing */ #define REG_ATOI 101 /* convert error-code name to number */ #define REG_ITOA 102 /* convert error-code number to name */ @@ -165,17 +242,26 @@ typedef struct #define REG_EXACT (-2) /* identified an exact match */ +/* Redirect the standard typenames to our typenames. */ +#define regoff_t pg_regoff_t +#define regex_t pg_regex_t +#define regmatch_t pg_regmatch_t + /* * the prototypes for exported functions */ /* regcomp.c */ -extern int pg_regcomp(regex_t *, const pg_wchar *, size_t, int, Oid); -extern int pg_regexec(regex_t *, const pg_wchar *, size_t, size_t, rm_detail_t *, size_t, regmatch_t[], int); -extern int pg_regprefix(regex_t *, pg_wchar **, size_t *); -extern void pg_regfree(regex_t *); -extern size_t pg_regerror(int, const regex_t *, char *, size_t); +extern int pg_regcomp(regex_t *re, const pg_wchar *string, size_t len, + int flags, Oid collation); +extern int pg_regexec(regex_t *re, const pg_wchar *string, size_t len, + size_t search_start, rm_detail_t *details, + size_t nmatch, regmatch_t pmatch[], int flags); +extern int pg_regprefix(regex_t *re, pg_wchar **string, size_t *slength); +extern void pg_regfree(regex_t *re); +extern size_t pg_regerror(int errcode, const regex_t *preg, char *errbuf, + size_t errbuf_size); /* regexp.c */ extern regex_t *RE_compile_and_cache(text *text_re, int cflags, Oid collation); @@ -183,4 +269,4 @@ extern bool RE_compile_and_execute(text *text_re, char *dat, int dat_len, int cflags, Oid collation, int nmatch, regmatch_t *pmatch); -#endif /* _REGEX_H_ */ +#endif /* _PG_REGEX_H_ */ diff --git a/parser/include/postgres/replication/gokeep.go b/parser/include/postgres/replication/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/replication/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/replication/logicallauncher.h b/parser/include/postgres/replication/logicallauncher.h similarity index 76% rename from parser/include/replication/logicallauncher.h rename to parser/include/postgres/replication/logicallauncher.h index f1e2821e..ff0438b5 100644 --- a/parser/include/replication/logicallauncher.h +++ b/parser/include/postgres/replication/logicallauncher.h @@ -3,7 +3,7 @@ * logicallauncher.h * Exports for logical replication launcher. * - * Portions Copyright (c) 2016-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group * * src/include/replication/logicallauncher.h * @@ -14,6 +14,7 @@ extern PGDLLIMPORT int max_logical_replication_workers; extern PGDLLIMPORT int max_sync_workers_per_subscription; +extern PGDLLIMPORT int max_parallel_apply_workers_per_subscription; extern void ApplyLauncherRegister(void); extern void ApplyLauncherMain(Datum main_arg); @@ -21,9 +22,13 @@ extern void ApplyLauncherMain(Datum main_arg); extern Size ApplyLauncherShmemSize(void); extern void ApplyLauncherShmemInit(void); +extern void ApplyLauncherForgetWorkerStartTime(Oid subid); + extern void ApplyLauncherWakeupAtCommit(void); extern void AtEOXact_ApplyLauncher(bool isCommit); extern bool IsLogicalLauncher(void); +extern pid_t GetLeaderApplyWorkerPid(pid_t pid); + #endif /* LOGICALLAUNCHER_H */ diff --git a/parser/include/replication/logicalproto.h b/parser/include/postgres/replication/logicalproto.h similarity index 88% rename from parser/include/replication/logicalproto.h rename to parser/include/postgres/replication/logicalproto.h index a771ab8f..c409638a 100644 --- a/parser/include/replication/logicalproto.h +++ b/parser/include/postgres/replication/logicalproto.h @@ -3,7 +3,7 @@ * logicalproto.h * logical replication protocol * - * Copyright (c) 2015-2022, PostgreSQL Global Development Group + * Copyright (c) 2015-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/replication/logicalproto.h @@ -32,12 +32,17 @@ * * LOGICALREP_PROTO_TWOPHASE_VERSION_NUM is the minimum protocol version with * support for two-phase commit decoding (at prepare time). Introduced in PG15. + * + * LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM is the minimum protocol version + * where we support applying large streaming transactions in parallel. + * Introduced in PG16. */ #define LOGICALREP_PROTO_MIN_VERSION_NUM 1 #define LOGICALREP_PROTO_VERSION_NUM 1 #define LOGICALREP_PROTO_STREAM_VERSION_NUM 2 #define LOGICALREP_PROTO_TWOPHASE_VERSION_NUM 3 -#define LOGICALREP_PROTO_MAX_VERSION_NUM LOGICALREP_PROTO_TWOPHASE_VERSION_NUM +#define LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM 4 +#define LOGICALREP_PROTO_MAX_VERSION_NUM LOGICALREP_PROTO_STREAM_PARALLEL_VERSION_NUM /* * Logical message types @@ -69,7 +74,7 @@ typedef enum LogicalRepMsgType LOGICAL_REP_MSG_STREAM_STOP = 'E', LOGICAL_REP_MSG_STREAM_COMMIT = 'c', LOGICAL_REP_MSG_STREAM_ABORT = 'A', - LOGICAL_REP_MSG_STREAM_PREPARE = 'p' + LOGICAL_REP_MSG_STREAM_PREPARE = 'p', } LogicalRepMsgType; /* @@ -175,6 +180,17 @@ typedef struct LogicalRepRollbackPreparedTxnData char gid[GIDSIZE]; } LogicalRepRollbackPreparedTxnData; +/* + * Transaction protocol information for stream abort. + */ +typedef struct LogicalRepStreamAbortData +{ + TransactionId xid; + TransactionId subxid; + XLogRecPtr abort_lsn; + TimestampTz abort_time; +} LogicalRepStreamAbortData; + extern void logicalrep_write_begin(StringInfo out, ReorderBufferTXN *txn); extern void logicalrep_read_begin(StringInfo in, LogicalRepBeginData *begin_data); @@ -219,8 +235,8 @@ extern LogicalRepRelId logicalrep_read_update(StringInfo in, bool *has_oldtuple, LogicalRepTupleData *oldtup, LogicalRepTupleData *newtup); extern void logicalrep_write_delete(StringInfo out, TransactionId xid, - Relation rel, TupleTableSlot *oldtuple, - bool binary); + Relation rel, TupleTableSlot *oldslot, + bool binary, Bitmapset *columns); extern LogicalRepRelId logicalrep_read_delete(StringInfo in, LogicalRepTupleData *oldtup); extern void logicalrep_write_truncate(StringInfo out, TransactionId xid, @@ -235,7 +251,7 @@ extern void logicalrep_write_rel(StringInfo out, TransactionId xid, extern LogicalRepRelation *logicalrep_read_rel(StringInfo in); extern void logicalrep_write_typ(StringInfo out, TransactionId xid, Oid typoid); -extern void logicalrep_read_typ(StringInfo out, LogicalRepTyp *ltyp); +extern void logicalrep_read_typ(StringInfo in, LogicalRepTyp *ltyp); extern void logicalrep_write_stream_start(StringInfo out, TransactionId xid, bool first_segment); extern TransactionId logicalrep_read_stream_start(StringInfo in, @@ -243,12 +259,16 @@ extern TransactionId logicalrep_read_stream_start(StringInfo in, extern void logicalrep_write_stream_stop(StringInfo out); extern void logicalrep_write_stream_commit(StringInfo out, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); -extern TransactionId logicalrep_read_stream_commit(StringInfo out, +extern TransactionId logicalrep_read_stream_commit(StringInfo in, LogicalRepCommitData *commit_data); extern void logicalrep_write_stream_abort(StringInfo out, TransactionId xid, - TransactionId subxid); -extern void logicalrep_read_stream_abort(StringInfo in, TransactionId *xid, - TransactionId *subxid); -extern char *logicalrep_message_type(LogicalRepMsgType action); + TransactionId subxid, + XLogRecPtr abort_lsn, + TimestampTz abort_time, + bool write_abort_info); +extern void logicalrep_read_stream_abort(StringInfo in, + LogicalRepStreamAbortData *abort_data, + bool read_abort_info); +extern const char *logicalrep_message_type(LogicalRepMsgType action); #endif /* LOGICAL_PROTO_H */ diff --git a/parser/include/postgres/replication/logicalworker.h b/parser/include/postgres/replication/logicalworker.h new file mode 100644 index 00000000..a18d79d1 --- /dev/null +++ b/parser/include/postgres/replication/logicalworker.h @@ -0,0 +1,33 @@ +/*------------------------------------------------------------------------- + * + * logicalworker.h + * Exports for logical replication workers. + * + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group + * + * src/include/replication/logicalworker.h + * + *------------------------------------------------------------------------- + */ +#ifndef LOGICALWORKER_H +#define LOGICALWORKER_H + +#include + +extern PGDLLIMPORT volatile sig_atomic_t ParallelApplyMessagePending; + +extern void ApplyWorkerMain(Datum main_arg); +extern void ParallelApplyWorkerMain(Datum main_arg); +extern void TablesyncWorkerMain(Datum main_arg); + +extern bool IsLogicalWorker(void); +extern bool IsLogicalParallelApplyWorker(void); + +extern void HandleParallelApplyMessageInterrupt(void); +extern void HandleParallelApplyMessages(void); + +extern void LogicalRepWorkersWakeupAtCommit(Oid subid); + +extern void AtEOXact_LogicalRepWorkers(bool isCommit); + +#endif /* LOGICALWORKER_H */ diff --git a/parser/include/replication/origin.h b/parser/include/postgres/replication/origin.h similarity index 88% rename from parser/include/replication/origin.h rename to parser/include/postgres/replication/origin.h index 2d1b5e5c..7189ba9e 100644 --- a/parser/include/replication/origin.h +++ b/parser/include/postgres/replication/origin.h @@ -2,7 +2,7 @@ * origin.h * Exports from replication/logical/origin.c * - * Copyright (c) 2013-2022, PostgreSQL Global Development Group + * Copyright (c) 2013-2024, PostgreSQL Global Development Group * * src/include/replication/origin.h *------------------------------------------------------------------------- @@ -38,8 +38,8 @@ extern PGDLLIMPORT XLogRecPtr replorigin_session_origin_lsn; extern PGDLLIMPORT TimestampTz replorigin_session_origin_timestamp; /* API for querying & manipulating replication origins */ -extern RepOriginId replorigin_by_name(const char *name, bool missing_ok); -extern RepOriginId replorigin_create(const char *name); +extern RepOriginId replorigin_by_name(const char *roname, bool missing_ok); +extern RepOriginId replorigin_create(const char *roname); extern void replorigin_drop_by_name(const char *name, bool missing_ok, bool nowait); extern bool replorigin_by_oid(RepOriginId roident, bool missing_ok, char **roname); @@ -53,7 +53,7 @@ extern XLogRecPtr replorigin_get_progress(RepOriginId node, bool flush); extern void replorigin_session_advance(XLogRecPtr remote_commit, XLogRecPtr local_commit); -extern void replorigin_session_setup(RepOriginId node); +extern void replorigin_session_setup(RepOriginId node, int acquired_by); extern void replorigin_session_reset(void); extern XLogRecPtr replorigin_session_get_progress(bool flush); diff --git a/parser/include/replication/reorderbuffer.h b/parser/include/postgres/replication/reorderbuffer.h similarity index 73% rename from parser/include/replication/reorderbuffer.h rename to parser/include/postgres/replication/reorderbuffer.h index 4a01f877..0cfa9005 100644 --- a/parser/include/replication/reorderbuffer.h +++ b/parser/include/postgres/replication/reorderbuffer.h @@ -2,7 +2,7 @@ * reorderbuffer.h * PostgreSQL logical replay/reorder buffer management. * - * Copyright (c) 2012-2022, PostgreSQL Global Development Group + * Copyright (c) 2012-2024, PostgreSQL Global Development Group * * src/include/replication/reorderbuffer.h */ @@ -11,32 +11,23 @@ #include "access/htup_details.h" #include "lib/ilist.h" +#include "lib/pairingheap.h" #include "storage/sinval.h" #include "utils/hsearch.h" #include "utils/relcache.h" #include "utils/snapshot.h" #include "utils/timestamp.h" +/* GUC variables */ extern PGDLLIMPORT int logical_decoding_work_mem; +extern PGDLLIMPORT int debug_logical_replication_streaming; -/* an individual tuple, stored in one chunk of memory */ -typedef struct ReorderBufferTupleBuf +/* possible values for debug_logical_replication_streaming */ +typedef enum { - /* position in preallocated list */ - slist_node node; - - /* tuple header, the interesting bit for users of logical decoding */ - HeapTupleData tuple; - - /* pre-allocated size of tuple buffer, different from tuple size */ - Size alloc_tuple_size; - - /* actual tuple data follows */ -} ReorderBufferTupleBuf; - -/* pointer to the data stored in a TupleBuf */ -#define ReorderBufferTupleBufData(p) \ - ((HeapTupleHeader) MAXALIGN(((char *) p) + sizeof(ReorderBufferTupleBuf))) + DEBUG_LOGICAL_REP_STREAMING_BUFFERED, + DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE, +} DebugLogicalRepStreamingMode; /* * Types of the change passed to a 'change' callback. @@ -64,7 +55,7 @@ typedef enum ReorderBufferChangeType REORDER_BUFFER_CHANGE_INTERNAL_SPEC_INSERT, REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM, REORDER_BUFFER_CHANGE_INTERNAL_SPEC_ABORT, - REORDER_BUFFER_CHANGE_TRUNCATE + REORDER_BUFFER_CHANGE_TRUNCATE, } ReorderBufferChangeType; /* forward declaration */ @@ -99,15 +90,15 @@ typedef struct ReorderBufferChange struct { /* relation that has been changed */ - RelFileNode relnode; + RelFileLocator rlocator; /* no previously reassembled toast chunks are necessary anymore */ bool clear_toast_afterwards; /* valid for DELETE || UPDATE */ - ReorderBufferTupleBuf *oldtuple; + HeapTuple oldtuple; /* valid for INSERT || UPDATE */ - ReorderBufferTupleBuf *newtuple; + HeapTuple newtuple; } tp; /* @@ -145,7 +136,7 @@ typedef struct ReorderBufferChange */ struct { - RelFileNode node; + RelFileLocator locator; ItemPointerData tid; CommandId cmin; CommandId cmax; @@ -168,14 +159,16 @@ typedef struct ReorderBufferChange } ReorderBufferChange; /* ReorderBufferTXN txn_flags */ -#define RBTXN_HAS_CATALOG_CHANGES 0x0001 -#define RBTXN_IS_SUBXACT 0x0002 -#define RBTXN_IS_SERIALIZED 0x0004 -#define RBTXN_IS_SERIALIZED_CLEAR 0x0008 -#define RBTXN_IS_STREAMED 0x0010 -#define RBTXN_HAS_PARTIAL_CHANGE 0x0020 -#define RBTXN_PREPARE 0x0040 -#define RBTXN_SKIPPED_PREPARE 0x0080 +#define RBTXN_HAS_CATALOG_CHANGES 0x0001 +#define RBTXN_IS_SUBXACT 0x0002 +#define RBTXN_IS_SERIALIZED 0x0004 +#define RBTXN_IS_SERIALIZED_CLEAR 0x0008 +#define RBTXN_IS_STREAMED 0x0010 +#define RBTXN_HAS_PARTIAL_CHANGE 0x0020 +#define RBTXN_PREPARE 0x0040 +#define RBTXN_SKIPPED_PREPARE 0x0080 +#define RBTXN_HAS_STREAMABLE_CHANGE 0x0100 +#define RBTXN_DISTR_INVAL_OVERFLOWED 0x0200 /* Does the transaction have catalog changes? */ #define rbtxn_has_catalog_changes(txn) \ @@ -207,6 +200,12 @@ typedef struct ReorderBufferChange ((txn)->txn_flags & RBTXN_HAS_PARTIAL_CHANGE) != 0 \ ) +/* Does this transaction contain streamable changes? */ +#define rbtxn_has_streamable_change(txn) \ +( \ + ((txn)->txn_flags & RBTXN_HAS_STREAMABLE_CHANGE) != 0 \ +) + /* * Has this transaction been streamed to downstream? * @@ -233,6 +232,30 @@ typedef struct ReorderBufferChange ((txn)->txn_flags & RBTXN_SKIPPED_PREPARE) != 0 \ ) +/* Is the array of distributed inval messages overflowed? */ +#define rbtxn_distr_inval_overflowed(txn) \ +( \ + ((txn)->txn_flags & RBTXN_DISTR_INVAL_OVERFLOWED) != 0 \ +) + +/* Is this a top-level transaction? */ +#define rbtxn_is_toptxn(txn) \ +( \ + (txn)->toptxn == NULL \ +) + +/* Is this a subtransaction? */ +#define rbtxn_is_subtxn(txn) \ +( \ + (txn)->toptxn != NULL \ +) + +/* Get the top-level transaction of this (sub)transaction. */ +#define rbtxn_get_toptxn(txn) \ +( \ + rbtxn_is_subtxn(txn) ? (txn)->toptxn : (txn) \ +) + typedef struct ReorderBufferTXN { /* See above */ @@ -262,7 +285,7 @@ typedef struct ReorderBufferTXN * aborted. This can be a * * plain commit record * * plain commit record, of a parent transaction - * * prepared tansaction + * * prepared transaction * * prepared transaction commit * * plain abort record * * prepared transaction abort @@ -301,6 +324,7 @@ typedef struct ReorderBufferTXN { TimestampTz commit_time; TimestampTz prepare_time; + TimestampTz abort_time; } xact_time; /* @@ -380,6 +404,16 @@ typedef struct ReorderBufferTXN */ dlist_node node; + /* + * A node in the list of catalog modifying transactions + */ + dlist_node catchange_node; + + /* + * A node in txn_heap + */ + pairingheap_node txn_node; + /* * Size of this transaction (changes currently in memory, in bytes). */ @@ -395,6 +429,12 @@ typedef struct ReorderBufferTXN * Private data pointer of the output plugin. */ void *output_plugin_private; + + /* + * Stores cache invalidation messages distributed by other transactions. + */ + uint32 ninvalidations_distributed; + SharedInvalidationMessage *invalidations_distributed; } ReorderBufferTXN; /* so we can define the callbacks used inside struct ReorderBuffer itself */ @@ -451,45 +491,38 @@ typedef void (*ReorderBufferRollbackPreparedCB) (ReorderBuffer *rb, TimestampTz prepare_time); /* start streaming transaction callback signature */ -typedef void (*ReorderBufferStreamStartCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamStartCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr first_lsn); /* stop streaming transaction callback signature */ -typedef void (*ReorderBufferStreamStopCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamStopCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr last_lsn); /* discard streamed transaction callback signature */ -typedef void (*ReorderBufferStreamAbortCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamAbortCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr abort_lsn); /* prepare streamed transaction callback signature */ -typedef void (*ReorderBufferStreamPrepareCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamPrepareCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr prepare_lsn); /* commit streamed transaction callback signature */ -typedef void (*ReorderBufferStreamCommitCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamCommitCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr commit_lsn); /* stream change callback signature */ -typedef void (*ReorderBufferStreamChangeCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamChangeCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, Relation relation, ReorderBufferChange *change); /* stream message callback signature */ -typedef void (*ReorderBufferStreamMessageCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamMessageCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, XLogRecPtr message_lsn, bool transactional, @@ -497,13 +530,17 @@ typedef void (*ReorderBufferStreamMessageCB) ( const char *message); /* stream truncate callback signature */ -typedef void (*ReorderBufferStreamTruncateCB) ( - ReorderBuffer *rb, +typedef void (*ReorderBufferStreamTruncateCB) (ReorderBuffer *rb, ReorderBufferTXN *txn, int nrelations, Relation relations[], ReorderBufferChange *change); +/* update progress txn callback signature */ +typedef void (*ReorderBufferUpdateProgressTxnCB) (ReorderBuffer *rb, + ReorderBufferTXN *txn, + XLogRecPtr lsn); + struct ReorderBuffer { /* @@ -526,6 +563,11 @@ struct ReorderBuffer */ dlist_head txns_by_base_snapshot_lsn; + /* + * Transactions and subtransactions that have modified system catalogs. + */ + dclist_head catchange_txns; + /* * one-entry sized cache for by_txn. Very frequently the same txn gets * looked up over and over again. @@ -562,6 +604,12 @@ struct ReorderBuffer ReorderBufferStreamMessageCB stream_message; ReorderBufferStreamTruncateCB stream_truncate; + /* + * Callback to be called when updating progress during sending data of a + * transaction (and its subtransactions) to the output plugin. + */ + ReorderBufferUpdateProgressTxnCB update_progress_txn; + /* * Pointer that will be passed untouched to the callbacks. */ @@ -593,6 +641,9 @@ struct ReorderBuffer /* memory accounting */ Size size; + /* Max-heap for sizes of all top-level and sub transactions */ + pairingheap *txn_heap; + /* * Statistics about transactions spilled to disk. * @@ -619,23 +670,27 @@ struct ReorderBuffer extern ReorderBuffer *ReorderBufferAllocate(void); -extern void ReorderBufferFree(ReorderBuffer *); +extern void ReorderBufferFree(ReorderBuffer *rb); -extern ReorderBufferTupleBuf *ReorderBufferGetTupleBuf(ReorderBuffer *, Size tuple_len); -extern void ReorderBufferReturnTupleBuf(ReorderBuffer *, ReorderBufferTupleBuf *tuple); -extern ReorderBufferChange *ReorderBufferGetChange(ReorderBuffer *); -extern void ReorderBufferReturnChange(ReorderBuffer *, ReorderBufferChange *, bool); +extern HeapTuple ReorderBufferGetTupleBuf(ReorderBuffer *rb, + Size tuple_len); +extern void ReorderBufferReturnTupleBuf(HeapTuple tuple); -extern Oid *ReorderBufferGetRelids(ReorderBuffer *, int nrelids); -extern void ReorderBufferReturnRelids(ReorderBuffer *, Oid *relids); +extern ReorderBufferChange *ReorderBufferGetChange(ReorderBuffer *rb); +extern void ReorderBufferReturnChange(ReorderBuffer *rb, + ReorderBufferChange *change, bool upd_mem); -extern void ReorderBufferQueueChange(ReorderBuffer *, TransactionId, - XLogRecPtr lsn, ReorderBufferChange *, +extern Oid *ReorderBufferGetRelids(ReorderBuffer *rb, int nrelids); +extern void ReorderBufferReturnRelids(ReorderBuffer *rb, Oid *relids); + +extern void ReorderBufferQueueChange(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, ReorderBufferChange *change, bool toast_insert); -extern void ReorderBufferQueueMessage(ReorderBuffer *, TransactionId, Snapshot snapshot, XLogRecPtr lsn, +extern void ReorderBufferQueueMessage(ReorderBuffer *rb, TransactionId xid, + Snapshot snap, XLogRecPtr lsn, bool transactional, const char *prefix, Size message_size, const char *message); -extern void ReorderBufferCommit(ReorderBuffer *, TransactionId, +extern void ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid, XLogRecPtr commit_lsn, XLogRecPtr end_lsn, TimestampTz commit_time, RepOriginId origin_id, XLogRecPtr origin_lsn); extern void ReorderBufferFinishPrepared(ReorderBuffer *rb, TransactionId xid, @@ -644,30 +699,39 @@ extern void ReorderBufferFinishPrepared(ReorderBuffer *rb, TransactionId xid, TimestampTz commit_time, RepOriginId origin_id, XLogRecPtr origin_lsn, char *gid, bool is_commit); -extern void ReorderBufferAssignChild(ReorderBuffer *, TransactionId, TransactionId, XLogRecPtr commit_lsn); -extern void ReorderBufferCommitChild(ReorderBuffer *, TransactionId, TransactionId, - XLogRecPtr commit_lsn, XLogRecPtr end_lsn); -extern void ReorderBufferAbort(ReorderBuffer *, TransactionId, XLogRecPtr lsn); -extern void ReorderBufferAbortOld(ReorderBuffer *, TransactionId xid); -extern void ReorderBufferForget(ReorderBuffer *, TransactionId, XLogRecPtr lsn); -extern void ReorderBufferInvalidate(ReorderBuffer *, TransactionId, XLogRecPtr lsn); - -extern void ReorderBufferSetBaseSnapshot(ReorderBuffer *, TransactionId, XLogRecPtr lsn, struct SnapshotData *snap); -extern void ReorderBufferAddSnapshot(ReorderBuffer *, TransactionId, XLogRecPtr lsn, struct SnapshotData *snap); -extern void ReorderBufferAddNewCommandId(ReorderBuffer *, TransactionId, XLogRecPtr lsn, - CommandId cid); -extern void ReorderBufferAddNewTupleCids(ReorderBuffer *, TransactionId, XLogRecPtr lsn, - RelFileNode node, ItemPointerData pt, +extern void ReorderBufferAssignChild(ReorderBuffer *rb, TransactionId xid, + TransactionId subxid, XLogRecPtr lsn); +extern void ReorderBufferCommitChild(ReorderBuffer *rb, TransactionId xid, + TransactionId subxid, XLogRecPtr commit_lsn, + XLogRecPtr end_lsn); +extern void ReorderBufferAbort(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn, + TimestampTz abort_time); +extern void ReorderBufferAbortOld(ReorderBuffer *rb, TransactionId oldestRunningXid); +extern void ReorderBufferForget(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn); +extern void ReorderBufferInvalidate(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn); + +extern void ReorderBufferSetBaseSnapshot(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, Snapshot snap); +extern void ReorderBufferAddSnapshot(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, Snapshot snap); +extern void ReorderBufferAddNewCommandId(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, CommandId cid); +extern void ReorderBufferAddNewTupleCids(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, RelFileLocator locator, + ItemPointerData tid, CommandId cmin, CommandId cmax, CommandId combocid); -extern void ReorderBufferAddInvalidations(ReorderBuffer *, TransactionId, XLogRecPtr lsn, +extern void ReorderBufferAddInvalidations(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn, Size nmsgs, SharedInvalidationMessage *msgs); -extern void ReorderBufferImmediateInvalidation(ReorderBuffer *, uint32 ninvalidations, +extern void ReorderBufferAddDistributedInvalidations(ReorderBuffer *rb, TransactionId xid, + XLogRecPtr lsn, Size nmsgs, + SharedInvalidationMessage *msgs); +extern void ReorderBufferImmediateInvalidation(ReorderBuffer *rb, uint32 ninvalidations, SharedInvalidationMessage *invalidations); -extern void ReorderBufferProcessXid(ReorderBuffer *, TransactionId xid, XLogRecPtr lsn); +extern void ReorderBufferProcessXid(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn); -extern void ReorderBufferXidSetCatalogChanges(ReorderBuffer *, TransactionId xid, XLogRecPtr lsn); -extern bool ReorderBufferXidHasCatalogChanges(ReorderBuffer *, TransactionId xid); -extern bool ReorderBufferXidHasBaseSnapshot(ReorderBuffer *, TransactionId xid); +extern void ReorderBufferXidSetCatalogChanges(ReorderBuffer *rb, TransactionId xid, XLogRecPtr lsn); +extern bool ReorderBufferXidHasCatalogChanges(ReorderBuffer *rb, TransactionId xid); +extern bool ReorderBufferXidHasBaseSnapshot(ReorderBuffer *rb, TransactionId xid); extern bool ReorderBufferRememberPrepareInfo(ReorderBuffer *rb, TransactionId xid, XLogRecPtr prepare_lsn, XLogRecPtr end_lsn, @@ -675,10 +739,15 @@ extern bool ReorderBufferRememberPrepareInfo(ReorderBuffer *rb, TransactionId xi RepOriginId origin_id, XLogRecPtr origin_lsn); extern void ReorderBufferSkipPrepare(ReorderBuffer *rb, TransactionId xid); extern void ReorderBufferPrepare(ReorderBuffer *rb, TransactionId xid, char *gid); -extern ReorderBufferTXN *ReorderBufferGetOldestTXN(ReorderBuffer *); +extern ReorderBufferTXN *ReorderBufferGetOldestTXN(ReorderBuffer *rb); extern TransactionId ReorderBufferGetOldestXmin(ReorderBuffer *rb); +extern TransactionId *ReorderBufferGetCatalogChangesXacts(ReorderBuffer *rb); + +extern void ReorderBufferSetRestartPoint(ReorderBuffer *rb, XLogRecPtr ptr); -extern void ReorderBufferSetRestartPoint(ReorderBuffer *, XLogRecPtr ptr); +extern uint32 ReorderBufferGetInvalidations(ReorderBuffer *rb, + TransactionId xid, + SharedInvalidationMessage **msgs); extern void StartupReorderBuffer(void); diff --git a/parser/include/replication/slot.h b/parser/include/postgres/replication/slot.h similarity index 74% rename from parser/include/replication/slot.h rename to parser/include/postgres/replication/slot.h index deba2c4e..43594bb9 100644 --- a/parser/include/replication/slot.h +++ b/parser/include/postgres/replication/slot.h @@ -2,7 +2,7 @@ * slot.h * Replication slot management. * - * Copyright (c) 2012-2022, PostgreSQL Global Development Group + * Copyright (c) 2012-2024, PostgreSQL Global Development Group * *------------------------------------------------------------------------- */ @@ -34,9 +34,29 @@ typedef enum ReplicationSlotPersistency { RS_PERSISTENT, RS_EPHEMERAL, - RS_TEMPORARY + RS_TEMPORARY, } ReplicationSlotPersistency; +/* + * Slots can be invalidated, e.g. due to max_slot_wal_keep_size. If so, the + * 'invalidated' field is set to a value other than _NONE. + * + * When adding a new invalidation cause here, remember to update + * SlotInvalidationCauses and RS_INVAL_MAX_CAUSES. + */ +typedef enum ReplicationSlotInvalidationCause +{ + RS_INVAL_NONE, + /* required WAL has been removed */ + RS_INVAL_WAL_REMOVED, + /* required rows have been removed */ + RS_INVAL_HORIZON, + /* wal_level insufficient for slot */ + RS_INVAL_WAL_LEVEL, +} ReplicationSlotInvalidationCause; + +extern PGDLLIMPORT const char *const SlotInvalidationCauses[]; + /* * On-Disk data of a replication slot, preserved across restarts. */ @@ -72,8 +92,8 @@ typedef struct ReplicationSlotPersistentData /* oldest LSN that might be required by this replication slot */ XLogRecPtr restart_lsn; - /* restart_lsn is copied here when the slot is invalidated */ - XLogRecPtr invalidated_at; + /* RS_INVAL_NONE if valid, or the reason for having been invalidated */ + ReplicationSlotInvalidationCause invalidated; /* * Oldest LSN that the client has acked receipt for. This is used as the @@ -96,6 +116,17 @@ typedef struct ReplicationSlotPersistentData /* plugin name */ NameData plugin; + + /* + * Was this slot synchronized from the primary server? + */ + char synced; + + /* + * Is this a failover slot (sync candidate for standbys)? Only relevant + * for logical slots on the primary server. + */ + bool failover; } ReplicationSlotPersistentData; /* @@ -163,6 +194,20 @@ typedef struct ReplicationSlot XLogRecPtr candidate_xmin_lsn; XLogRecPtr candidate_restart_valid; XLogRecPtr candidate_restart_lsn; + + /* + * This value tracks the last confirmed_flush LSN flushed which is used + * during a shutdown checkpoint to decide if logical's slot data should be + * forcibly flushed or not. + */ + XLogRecPtr last_saved_confirmed_flush; + + /* + * The time when the slot became inactive. For synced slots on a standby + * server, it represents the time when slot synchronization was most + * recently stopped. + */ + TimestampTz inactive_since; } ReplicationSlot; #define SlotIsPhysical(slot) ((slot)->data.database == InvalidOid) @@ -188,6 +233,7 @@ extern PGDLLIMPORT ReplicationSlot *MyReplicationSlot; /* GUCs */ extern PGDLLIMPORT int max_replication_slots; +extern PGDLLIMPORT char *synchronized_standby_slots; /* shmem initialization functions */ extern Size ReplicationSlotsShmemSize(void); @@ -195,36 +241,51 @@ extern void ReplicationSlotsShmemInit(void); /* management of individual slots */ extern void ReplicationSlotCreate(const char *name, bool db_specific, - ReplicationSlotPersistency p, bool two_phase); + ReplicationSlotPersistency persistency, + bool two_phase, bool failover, + bool synced); extern void ReplicationSlotPersist(void); extern void ReplicationSlotDrop(const char *name, bool nowait); +extern void ReplicationSlotDropAcquired(void); +extern void ReplicationSlotAlter(const char *name, bool failover); extern void ReplicationSlotAcquire(const char *name, bool nowait); extern void ReplicationSlotRelease(void); -extern void ReplicationSlotCleanup(void); +extern void ReplicationSlotCleanup(bool synced_only); extern void ReplicationSlotSave(void); extern void ReplicationSlotMarkDirty(void); /* misc stuff */ extern void ReplicationSlotInitialize(void); extern bool ReplicationSlotValidateName(const char *name, int elevel); +extern bool ReplicationSlotValidateNameInternal(const char *name, + int *err_code, char **err_msg, char **err_hint); extern void ReplicationSlotReserveWal(void); extern void ReplicationSlotsComputeRequiredXmin(bool already_locked); extern void ReplicationSlotsComputeRequiredLSN(void); extern XLogRecPtr ReplicationSlotsComputeLogicalRestartLSN(void); extern bool ReplicationSlotsCountDBSlots(Oid dboid, int *nslots, int *nactive); extern void ReplicationSlotsDropDBSlots(Oid dboid); -extern bool InvalidateObsoleteReplicationSlots(XLogSegNo oldestSegno); +extern bool InvalidateObsoleteReplicationSlots(ReplicationSlotInvalidationCause cause, + XLogSegNo oldestSegno, + Oid dboid, + TransactionId snapshotConflictHorizon); extern ReplicationSlot *SearchNamedReplicationSlot(const char *name, bool need_lock); extern int ReplicationSlotIndex(ReplicationSlot *slot); extern bool ReplicationSlotName(int index, Name name); -extern void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, char *syncslotname, int szslot); +extern void ReplicationSlotNameForTablesync(Oid suboid, Oid relid, char *syncslotname, Size szslot); extern void ReplicationSlotDropAtPubNode(WalReceiverConn *wrconn, char *slotname, bool missing_ok); extern void StartupReplicationSlots(void); -extern void CheckPointReplicationSlots(void); +extern void CheckPointReplicationSlots(bool is_shutdown); extern void CheckSlotRequirements(void); extern void CheckSlotPermissions(void); +extern ReplicationSlotInvalidationCause + GetSlotInvalidationCause(const char *invalidation_reason); + +extern bool SlotExistsInSyncStandbySlots(const char *slot_name); +extern bool StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel); +extern void WaitForStandbyConfirmation(XLogRecPtr wait_for_lsn); #endif /* SLOT_H */ diff --git a/parser/include/postgres/replication/slotsync.h b/parser/include/postgres/replication/slotsync.h new file mode 100644 index 00000000..e03c2a00 --- /dev/null +++ b/parser/include/postgres/replication/slotsync.h @@ -0,0 +1,38 @@ +/*------------------------------------------------------------------------- + * + * slotsync.h + * Exports for slot synchronization. + * + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group + * + * src/include/replication/slotsync.h + * + *------------------------------------------------------------------------- + */ +#ifndef SLOTSYNC_H +#define SLOTSYNC_H + +#include "replication/walreceiver.h" + +extern PGDLLIMPORT bool sync_replication_slots; + +/* + * GUCs needed by slot sync worker to connect to the primary + * server and carry on with slots synchronization. + */ +extern PGDLLIMPORT char *PrimaryConnInfo; +extern PGDLLIMPORT char *PrimarySlotName; + +extern char *CheckAndGetDbnameFromConninfo(void); +extern bool ValidateSlotSyncParams(int elevel); + +extern void ReplSlotSyncWorkerMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); + +extern void ShutDownSlotSync(void); +extern bool SlotSyncWorkerCanRestart(void); +extern bool IsSyncingReplicationSlots(void); +extern Size SlotSyncShmemSize(void); +extern void SlotSyncShmemInit(void); +extern void SyncReplicationSlots(WalReceiverConn *wrconn); + +#endif /* SLOTSYNC_H */ diff --git a/parser/include/replication/syncrep.h b/parser/include/postgres/replication/syncrep.h similarity index 88% rename from parser/include/replication/syncrep.h rename to parser/include/postgres/replication/syncrep.h index 4d7c90b9..ea439e6d 100644 --- a/parser/include/replication/syncrep.h +++ b/parser/include/postgres/replication/syncrep.h @@ -3,7 +3,7 @@ * syncrep.h * Exports from replication/syncrep.c. * - * Portions Copyright (c) 2010-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/replication/syncrep.h @@ -14,7 +14,6 @@ #define _SYNCREP_H #include "access/xlogdefs.h" -#include "utils/guc.h" #define SyncRepRequested() \ (max_wal_senders > 0 && synchronous_commit > SYNCHRONOUS_COMMIT_LOCAL_FLUSH) @@ -97,11 +96,6 @@ extern int SyncRepGetCandidateStandbys(SyncRepStandbyData **standbys); /* called by checkpointer */ extern void SyncRepUpdateSyncStandbysDefined(void); -/* GUC infrastructure */ -extern bool check_synchronous_standby_names(char **newval, void **extra, GucSource source); -extern void assign_synchronous_standby_names(const char *newval, void *extra); -extern void assign_synchronous_commit(int newval, void *extra); - /* * Internal functions for parsing synchronous_standby_names grammar, * in syncrep_gram.y and syncrep_scanner.l @@ -109,7 +103,7 @@ extern void assign_synchronous_commit(int newval, void *extra); extern int syncrep_yyparse(void); extern int syncrep_yylex(void); extern void syncrep_yyerror(const char *str); -extern void syncrep_scanner_init(const char *query_string); +extern void syncrep_scanner_init(const char *str); extern void syncrep_scanner_finish(void); #endif /* _SYNCREP_H */ diff --git a/parser/include/replication/walreceiver.h b/parser/include/postgres/replication/walreceiver.h similarity index 87% rename from parser/include/replication/walreceiver.h rename to parser/include/postgres/replication/walreceiver.h index 81184aa9..12f71fa9 100644 --- a/parser/include/replication/walreceiver.h +++ b/parser/include/postgres/replication/walreceiver.h @@ -3,7 +3,7 @@ * walreceiver.h * Exports from replication/walreceiverfuncs.c. * - * Portions Copyright (c) 2010-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * src/include/replication/walreceiver.h * @@ -12,9 +12,10 @@ #ifndef _WALRECEIVER_H #define _WALRECEIVER_H +#include + #include "access/xlog.h" #include "access/xlogdefs.h" -#include "getaddrinfo.h" /* for NI_MAXHOST */ #include "pgtime.h" #include "port/atomics.h" #include "replication/logicalproto.h" @@ -50,7 +51,7 @@ typedef enum WALRCV_STREAMING, /* walreceiver is streaming */ WALRCV_WAITING, /* stopped streaming, waiting for orders */ WALRCV_RESTARTING, /* asked to restart streaming */ - WALRCV_STOPPING /* requested to stop, but still running */ + WALRCV_STOPPING, /* requested to stop, but still running */ } WalRcvState; /* Shared memory area for management of walreceiver process */ @@ -180,9 +181,11 @@ typedef struct uint32 proto_version; /* Logical protocol version */ List *publication_names; /* String list of publications */ bool binary; /* Ask publisher to use binary */ - bool streaming; /* Streaming of large transactions */ + char *streaming_str; /* Streaming of large transactions */ bool twophase; /* Streaming of two-phase transactions at * prepare time */ + char *origin; /* Only publish data originating from the + * specified origin */ } logical; } proto; } WalRcvStreamOptions; @@ -203,7 +206,7 @@ typedef enum WALRCV_OK_TUPLES, /* Query returned tuples. */ WALRCV_OK_COPY_IN, /* Query started COPY FROM. */ WALRCV_OK_COPY_OUT, /* Query started COPY TO. */ - WALRCV_OK_COPY_BOTH /* Query started COPY BOTH replication + WALRCV_OK_COPY_BOTH, /* Query started COPY BOTH replication * protocol. */ } WalRcvExecStatus; @@ -225,8 +228,10 @@ typedef struct WalRcvExecResult /* * walrcv_connect_fn * - * Establish connection to a cluster. 'logical' is true if the - * connection is logical, and false if the connection is physical. + * Establish connection to a cluster. 'replication' is true if the + * connection is a replication connection, and false if it is a + * regular connection. If it is a replication connection, it could + * be either logical or physical based on input argument 'logical'. * 'appname' is a name associated to the connection, to use for example * with fallback_application_name or application_name. Returns the * details about the connection established, as defined by @@ -234,7 +239,9 @@ typedef struct WalRcvExecResult * returned with 'err' including the error generated. */ typedef WalReceiverConn *(*walrcv_connect_fn) (const char *conninfo, + bool replication, bool logical, + bool must_use_password, const char *appname, char **err); @@ -243,7 +250,8 @@ typedef WalReceiverConn *(*walrcv_connect_fn) (const char *conninfo, * * Parse and validate the connection string given as of 'conninfo'. */ -typedef void (*walrcv_check_conninfo_fn) (const char *conninfo); +typedef void (*walrcv_check_conninfo_fn) (const char *conninfo, + bool must_use_password); /* * walrcv_get_conninfo_fn @@ -274,6 +282,13 @@ typedef void (*walrcv_get_senderinfo_fn) (WalReceiverConn *conn, typedef char *(*walrcv_identify_system_fn) (WalReceiverConn *conn, TimeLineID *primary_tli); +/* + * walrcv_get_dbname_from_conninfo_fn + * + * Returns the database name from the primary_conninfo + */ +typedef char *(*walrcv_get_dbname_from_conninfo_fn) (const char *conninfo); + /* * walrcv_server_version_fn * @@ -350,9 +365,20 @@ typedef char *(*walrcv_create_slot_fn) (WalReceiverConn *conn, const char *slotname, bool temporary, bool two_phase, + bool failover, CRSSnapshotAction snapshot_action, XLogRecPtr *lsn); +/* + * walrcv_alter_slot_fn + * + * Change the definition of a replication slot. Currently, it only supports + * changing the failover property of the slot. + */ +typedef void (*walrcv_alter_slot_fn) (WalReceiverConn *conn, + const char *slotname, + bool failover); + /* * walrcv_get_backend_pid_fn * @@ -387,6 +413,7 @@ typedef struct WalReceiverFunctionsType walrcv_get_conninfo_fn walrcv_get_conninfo; walrcv_get_senderinfo_fn walrcv_get_senderinfo; walrcv_identify_system_fn walrcv_identify_system; + walrcv_get_dbname_from_conninfo_fn walrcv_get_dbname_from_conninfo; walrcv_server_version_fn walrcv_server_version; walrcv_readtimelinehistoryfile_fn walrcv_readtimelinehistoryfile; walrcv_startstreaming_fn walrcv_startstreaming; @@ -394,6 +421,7 @@ typedef struct WalReceiverFunctionsType walrcv_receive_fn walrcv_receive; walrcv_send_fn walrcv_send; walrcv_create_slot_fn walrcv_create_slot; + walrcv_alter_slot_fn walrcv_alter_slot; walrcv_get_backend_pid_fn walrcv_get_backend_pid; walrcv_exec_fn walrcv_exec; walrcv_disconnect_fn walrcv_disconnect; @@ -401,16 +429,18 @@ typedef struct WalReceiverFunctionsType extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; -#define walrcv_connect(conninfo, logical, appname, err) \ - WalReceiverFunctions->walrcv_connect(conninfo, logical, appname, err) -#define walrcv_check_conninfo(conninfo) \ - WalReceiverFunctions->walrcv_check_conninfo(conninfo) +#define walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) \ + WalReceiverFunctions->walrcv_connect(conninfo, replication, logical, must_use_password, appname, err) +#define walrcv_check_conninfo(conninfo, must_use_password) \ + WalReceiverFunctions->walrcv_check_conninfo(conninfo, must_use_password) #define walrcv_get_conninfo(conn) \ WalReceiverFunctions->walrcv_get_conninfo(conn) #define walrcv_get_senderinfo(conn, sender_host, sender_port) \ WalReceiverFunctions->walrcv_get_senderinfo(conn, sender_host, sender_port) #define walrcv_identify_system(conn, primary_tli) \ WalReceiverFunctions->walrcv_identify_system(conn, primary_tli) +#define walrcv_get_dbname_from_conninfo(conninfo) \ + WalReceiverFunctions->walrcv_get_dbname_from_conninfo(conninfo) #define walrcv_server_version(conn) \ WalReceiverFunctions->walrcv_server_version(conn) #define walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) \ @@ -423,8 +453,10 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions; WalReceiverFunctions->walrcv_receive(conn, buffer, wait_fd) #define walrcv_send(conn, buffer, nbytes) \ WalReceiverFunctions->walrcv_send(conn, buffer, nbytes) -#define walrcv_create_slot(conn, slotname, temporary, two_phase, snapshot_action, lsn) \ - WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, snapshot_action, lsn) +#define walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) \ + WalReceiverFunctions->walrcv_create_slot(conn, slotname, temporary, two_phase, failover, snapshot_action, lsn) +#define walrcv_alter_slot(conn, slotname, failover) \ + WalReceiverFunctions->walrcv_alter_slot(conn, slotname, failover) #define walrcv_get_backend_pid(conn) \ WalReceiverFunctions->walrcv_get_backend_pid(conn) #define walrcv_exec(conn, exec, nRetTypes, retTypes) \ @@ -451,8 +483,9 @@ walrcv_clear_result(WalRcvExecResult *walres) } /* prototypes for functions in walreceiver.c */ -extern void WalReceiverMain(void) pg_attribute_noreturn(); +extern void WalReceiverMain(char *startup_data, size_t startup_data_len) pg_attribute_noreturn(); extern void ProcessWalRcvInterrupts(void); +extern void WalRcvForceReply(void); /* prototypes for functions in walreceiverfuncs.c */ extern Size WalRcvShmemSize(void); @@ -467,6 +500,5 @@ extern XLogRecPtr GetWalRcvFlushRecPtr(XLogRecPtr *latestChunkStart, TimeLineID extern XLogRecPtr GetWalRcvWriteRecPtr(void); extern int GetReplicationApplyDelay(void); extern int GetReplicationTransferLatency(void); -extern void WalRcvForceReply(void); #endif /* _WALRECEIVER_H */ diff --git a/parser/include/replication/walsender.h b/parser/include/postgres/replication/walsender.h similarity index 74% rename from parser/include/replication/walsender.h rename to parser/include/postgres/replication/walsender.h index d99a21b0..f2d8297f 100644 --- a/parser/include/replication/walsender.h +++ b/parser/include/postgres/replication/walsender.h @@ -3,7 +3,7 @@ * walsender.h * Exports from replication/walsender.c. * - * Portions Copyright (c) 2010-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2010-2024, PostgreSQL Global Development Group * * src/include/replication/walsender.h * @@ -12,7 +12,7 @@ #ifndef _WALSENDER_H #define _WALSENDER_H -#include +#include "access/xlogdefs.h" /* * What to do with a snapshot in create replication slot command. @@ -21,7 +21,7 @@ typedef enum { CRS_EXPORT_SNAPSHOT, CRS_NOEXPORT_SNAPSHOT, - CRS_USE_SNAPSHOT + CRS_USE_SNAPSHOT, } CRSSnapshotAction; /* global state */ @@ -36,13 +36,15 @@ extern PGDLLIMPORT int wal_sender_timeout; extern PGDLLIMPORT bool log_replication_commands; extern void InitWalSender(void); -extern bool exec_replication_command(const char *query_string); +extern bool exec_replication_command(const char *cmd_string); extern void WalSndErrorCleanup(void); extern void WalSndResourceCleanup(bool isCommit); +extern void PhysicalWakeupLogicalWalSnd(void); +extern XLogRecPtr GetStandbyFlushRecPtr(TimeLineID *tli); extern void WalSndSignals(void); extern Size WalSndShmemSize(void); extern void WalSndShmemInit(void); -extern void WalSndWakeup(void); +extern void WalSndWakeup(bool physical, bool logical); extern void WalSndInitStopping(void); extern void WalSndWaitStopping(void); extern void HandleWalSndInitStopping(void); @@ -60,15 +62,15 @@ extern void WalSndRqstFileReload(void); /* * wakeup walsenders if there is work to be done */ -#define WalSndWakeupProcessRequests() \ - do \ - { \ - if (wake_wal_senders) \ - { \ - wake_wal_senders = false; \ - if (max_wal_senders > 0) \ - WalSndWakeup(); \ - } \ - } while (0) +static inline void +WalSndWakeupProcessRequests(bool physical, bool logical) +{ + if (wake_wal_senders) + { + wake_wal_senders = false; + if (max_wal_senders > 0) + WalSndWakeup(physical, logical); + } +} #endif /* _WALSENDER_H */ diff --git a/parser/include/postgres/rewrite/gokeep.go b/parser/include/postgres/rewrite/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/rewrite/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/rewrite/prs2lock.h b/parser/include/postgres/rewrite/prs2lock.h similarity index 93% rename from parser/include/rewrite/prs2lock.h rename to parser/include/postgres/rewrite/prs2lock.h index 6d984839..fcc9beb0 100644 --- a/parser/include/rewrite/prs2lock.h +++ b/parser/include/postgres/rewrite/prs2lock.h @@ -3,7 +3,7 @@ * prs2lock.h * data structures for POSTGRES Rule System II (rewrite rules only) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/prs2lock.h diff --git a/parser/include/rewrite/rewriteHandler.h b/parser/include/postgres/rewrite/rewriteHandler.h similarity index 76% rename from parser/include/rewrite/rewriteHandler.h rename to parser/include/postgres/rewrite/rewriteHandler.h index 90ecf109..1b65cda7 100644 --- a/parser/include/rewrite/rewriteHandler.h +++ b/parser/include/postgres/rewrite/rewriteHandler.h @@ -4,7 +4,7 @@ * External interface to query rewriter. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteHandler.h @@ -24,15 +24,18 @@ extern void AcquireRewriteLocks(Query *parsetree, extern Node *build_column_default(Relation rel, int attrno); -extern void fill_extraUpdatedCols(RangeTblEntry *target_rte, - Relation target_relation); - extern Query *get_view_query(Relation view); +extern bool view_has_instead_trigger(Relation view, CmdType event, + List *mergeActionList); extern const char *view_query_is_auto_updatable(Query *viewquery, bool check_cols); extern int relation_is_updatable(Oid reloid, List *outer_reloids, bool include_triggers, Bitmapset *include_cols); +extern void error_view_not_updatable(Relation view, + CmdType command, + List *mergeActionList, + const char *detail); #endif /* REWRITEHANDLER_H */ diff --git a/parser/include/rewrite/rewriteManip.h b/parser/include/postgres/rewrite/rewriteManip.h similarity index 83% rename from parser/include/rewrite/rewriteManip.h rename to parser/include/postgres/rewrite/rewriteManip.h index 98b9b3a2..ac6d2049 100644 --- a/parser/include/rewrite/rewriteManip.h +++ b/parser/include/postgres/rewrite/rewriteManip.h @@ -4,7 +4,7 @@ * Querytree manipulation subroutines for query rewriter. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteManip.h @@ -37,12 +37,14 @@ typedef enum ReplaceVarsNoMatchOption { REPLACEVARS_REPORT_ERROR, /* throw error if no match */ REPLACEVARS_CHANGE_VARNO, /* change the Var's varno, nothing else */ - REPLACEVARS_SUBSTITUTE_NULL /* replace with a NULL Const */ + REPLACEVARS_SUBSTITUTE_NULL, /* replace with a NULL Const */ } ReplaceVarsNoMatchOption; +extern void CombineRangeTables(List **dst_rtable, List **dst_perminfos, + List *src_rtable, List *src_perminfos); extern void OffsetVarNodes(Node *node, int offset, int sublevels_up); -extern void ChangeVarNodes(Node *node, int old_varno, int new_varno, +extern void ChangeVarNodes(Node *node, int rt_index, int new_index, int sublevels_up); extern void IncrementVarSublevelsUp(Node *node, int delta_sublevels_up, int min_sublevels_up); @@ -63,6 +65,13 @@ extern bool contain_windowfuncs(Node *node); extern int locate_windowfunc(Node *node); extern bool checkExprHasSubLink(Node *node); +extern Node *add_nulling_relids(Node *node, + const Bitmapset *target_relids, + const Bitmapset *added_relids); +extern Node *remove_nulling_relids(Node *node, + const Bitmapset *removable_relids, + const Bitmapset *except_relids); + extern Node *replace_rte_variables(Node *node, int target_varno, int sublevels_up, replace_rte_variables_callback callback, diff --git a/parser/include/rewrite/rewriteSupport.h b/parser/include/postgres/rewrite/rewriteSupport.h similarity index 91% rename from parser/include/rewrite/rewriteSupport.h rename to parser/include/postgres/rewrite/rewriteSupport.h index 226ff66f..38171355 100644 --- a/parser/include/rewrite/rewriteSupport.h +++ b/parser/include/postgres/rewrite/rewriteSupport.h @@ -4,7 +4,7 @@ * * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/rewrite/rewriteSupport.h diff --git a/parser/include/storage/block.h b/parser/include/postgres/storage/block.h similarity index 71% rename from parser/include/storage/block.h rename to parser/include/postgres/storage/block.h index d756e3fd..ecde8e05 100644 --- a/parser/include/storage/block.h +++ b/parser/include/postgres/storage/block.h @@ -4,7 +4,7 @@ * POSTGRES disk block definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/block.h @@ -59,7 +59,7 @@ typedef struct BlockIdData typedef BlockIdData *BlockId; /* block identifier */ /* ---------------- - * support macros + * support functions * ---------------- */ @@ -67,49 +67,42 @@ typedef BlockIdData *BlockId; /* block identifier */ * BlockNumberIsValid * True iff blockNumber is valid. */ -#define BlockNumberIsValid(blockNumber) \ - ((BlockNumber) (blockNumber) != InvalidBlockNumber) - -/* - * BlockIdIsValid - * True iff the block identifier is valid. - */ -#define BlockIdIsValid(blockId) \ - PointerIsValid(blockId) +static inline bool +BlockNumberIsValid(BlockNumber blockNumber) +{ + return blockNumber != InvalidBlockNumber; +} /* * BlockIdSet * Sets a block identifier to the specified value. */ -#define BlockIdSet(blockId, blockNumber) \ -( \ - (blockId)->bi_hi = (blockNumber) >> 16, \ - (blockId)->bi_lo = (blockNumber) & 0xffff \ -) - -/* - * BlockIdCopy - * Copy a block identifier. - */ -#define BlockIdCopy(toBlockId, fromBlockId) \ -( \ - (toBlockId)->bi_hi = (fromBlockId)->bi_hi, \ - (toBlockId)->bi_lo = (fromBlockId)->bi_lo \ -) +static inline void +BlockIdSet(BlockIdData *blockId, BlockNumber blockNumber) +{ + blockId->bi_hi = blockNumber >> 16; + blockId->bi_lo = blockNumber & 0xffff; +} /* * BlockIdEquals * Check for block number equality. */ -#define BlockIdEquals(blockId1, blockId2) \ - ((blockId1)->bi_hi == (blockId2)->bi_hi && \ - (blockId1)->bi_lo == (blockId2)->bi_lo) +static inline bool +BlockIdEquals(const BlockIdData *blockId1, const BlockIdData *blockId2) +{ + return (blockId1->bi_hi == blockId2->bi_hi && + blockId1->bi_lo == blockId2->bi_lo); +} /* * BlockIdGetBlockNumber * Retrieve the block number from a block identifier. */ -#define BlockIdGetBlockNumber(blockId) \ - ((((BlockNumber) (blockId)->bi_hi) << 16) | ((BlockNumber) (blockId)->bi_lo)) +static inline BlockNumber +BlockIdGetBlockNumber(const BlockIdData *blockId) +{ + return (((BlockNumber) blockId->bi_hi) << 16) | ((BlockNumber) blockId->bi_lo); +} #endif /* BLOCK_H */ diff --git a/parser/include/storage/buf.h b/parser/include/postgres/storage/buf.h similarity index 94% rename from parser/include/storage/buf.h rename to parser/include/postgres/storage/buf.h index aec01ca0..64a1ad9d 100644 --- a/parser/include/storage/buf.h +++ b/parser/include/postgres/storage/buf.h @@ -4,7 +4,7 @@ * Basic buffer manager data types. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/buf.h diff --git a/parser/include/storage/bufmgr.h b/parser/include/postgres/storage/bufmgr.h similarity index 55% rename from parser/include/storage/bufmgr.h rename to parser/include/postgres/storage/bufmgr.h index 58391406..a1e71013 100644 --- a/parser/include/storage/bufmgr.h +++ b/parser/include/postgres/storage/bufmgr.h @@ -4,7 +4,7 @@ * POSTGRES buffer manager definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/bufmgr.h @@ -14,23 +14,29 @@ #ifndef BUFMGR_H #define BUFMGR_H +#include "port/pg_iovec.h" #include "storage/block.h" #include "storage/buf.h" #include "storage/bufpage.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "utils/relcache.h" #include "utils/snapmgr.h" typedef void *Block; -/* Possible arguments for GetAccessStrategy() */ +/* + * Possible arguments for GetAccessStrategy(). + * + * If adding a new BufferAccessStrategyType, also add a new IOContext so + * IO statistics using this strategy are tracked. + */ typedef enum BufferAccessStrategyType { BAS_NORMAL, /* Normal random access */ BAS_BULKREAD, /* Large read-only scan (hint bit updates are * ok) */ BAS_BULKWRITE, /* Large multi-block write (e.g. COPY IN) */ - BAS_VACUUM /* VACUUM */ + BAS_VACUUM, /* VACUUM */ } BufferAccessStrategyType; /* Possible modes for ReadBufferExtended() */ @@ -42,7 +48,7 @@ typedef enum RBM_ZERO_AND_CLEANUP_LOCK, /* Like RBM_ZERO_AND_LOCK, but locks the page * in "cleanup" mode */ RBM_ZERO_ON_ERROR, /* Read, but return an all-zeros page on error */ - RBM_NORMAL_NO_LOG /* Don't log page as invalid during WAL + RBM_NORMAL_NO_LOG, /* Don't log page as invalid during WAL * replay; otherwise same as RBM_NORMAL */ } ReadBufferMode; @@ -55,6 +61,84 @@ typedef struct PrefetchBufferResult bool initiated_io; /* If true, a miss resulting in async I/O */ } PrefetchBufferResult; +/* + * Flags influencing the behaviour of ExtendBufferedRel* + */ +typedef enum ExtendBufferedFlags +{ + /* + * Don't acquire extension lock. This is safe only if the relation isn't + * shared, an access exclusive lock is held or if this is the startup + * process. + */ + EB_SKIP_EXTENSION_LOCK = (1 << 0), + + /* Is this extension part of recovery? */ + EB_PERFORMING_RECOVERY = (1 << 1), + + /* + * Should the fork be created if it does not currently exist? This likely + * only ever makes sense for relation forks. + */ + EB_CREATE_FORK_IF_NEEDED = (1 << 2), + + /* Should the first (possibly only) return buffer be returned locked? */ + EB_LOCK_FIRST = (1 << 3), + + /* Should the smgr size cache be cleared? */ + EB_CLEAR_SIZE_CACHE = (1 << 4), + + /* internal flags follow */ + EB_LOCK_TARGET = (1 << 5), +} ExtendBufferedFlags; + +/* + * Some functions identify relations either by relation or smgr + + * relpersistence. Used via the BMR_REL()/BMR_SMGR() macros below. This + * allows us to use the same function for both recovery and normal operation. + */ +typedef struct BufferManagerRelation +{ + Relation rel; + struct SMgrRelationData *smgr; + char relpersistence; +} BufferManagerRelation; + +#define BMR_REL(p_rel) ((BufferManagerRelation){.rel = p_rel}) +#define BMR_SMGR(p_smgr, p_relpersistence) ((BufferManagerRelation){.smgr = p_smgr, .relpersistence = p_relpersistence}) + +/* Zero out page if reading fails. */ +#define READ_BUFFERS_ZERO_ON_ERROR (1 << 0) +/* Call smgrprefetch() if I/O necessary. */ +#define READ_BUFFERS_ISSUE_ADVICE (1 << 1) + +struct ReadBuffersOperation +{ + /* + * The following members should be set by the caller. If only smgr is + * provided without rel, then smgr_persistence can be set to override the + * default assumption of RELPERSISTENCE_PERMANENT. + */ + Relation rel; + struct SMgrRelationData *smgr; + char smgr_persistence; + ForkNumber forknum; + BufferAccessStrategy strategy; + + /* + * The following private members are private state for communication + * between StartReadBuffers() and WaitReadBuffers(), initialized only if + * an actual read is required, and should not be modified. + */ + Buffer *buffers; + BlockNumber blocknum; + int flags; + int16 nblocks; + int16 io_buffers_len; +}; + +typedef struct ReadBuffersOperation ReadBuffersOperation; + /* forward declared, to avoid having to expose buf_internals.h here */ struct WritebackContext; @@ -69,9 +153,22 @@ extern PGDLLIMPORT bool zero_damaged_pages; extern PGDLLIMPORT int bgwriter_lru_maxpages; extern PGDLLIMPORT double bgwriter_lru_multiplier; extern PGDLLIMPORT bool track_io_timing; + +/* only applicable when prefetching is available */ +#ifdef USE_PREFETCH +#define DEFAULT_EFFECTIVE_IO_CONCURRENCY 1 +#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 10 +#else +#define DEFAULT_EFFECTIVE_IO_CONCURRENCY 0 +#define DEFAULT_MAINTENANCE_IO_CONCURRENCY 0 +#endif extern PGDLLIMPORT int effective_io_concurrency; extern PGDLLIMPORT int maintenance_io_concurrency; +#define MAX_IO_COMBINE_LIMIT PG_IOV_MAX +#define DEFAULT_IO_COMBINE_LIMIT Min(MAX_IO_COMBINE_LIMIT, (128 * 1024) / BLCKSZ) +extern PGDLLIMPORT int io_combine_limit; + extern PGDLLIMPORT int checkpoint_flush_after; extern PGDLLIMPORT int backend_flush_after; extern PGDLLIMPORT int bgwriter_flush_after; @@ -97,76 +194,6 @@ extern PGDLLIMPORT int32 *LocalRefCount; #define BUFFER_LOCK_SHARE 1 #define BUFFER_LOCK_EXCLUSIVE 2 -/* - * These routines are beaten on quite heavily, hence the macroization. - */ - -/* - * BufferIsValid - * True iff the given buffer number is valid (either as a shared - * or local buffer). - * - * Note: For a long time this was defined the same as BufferIsPinned, - * that is it would say False if you didn't hold a pin on the buffer. - * I believe this was bogus and served only to mask logic errors. - * Code should always know whether it has a buffer reference, - * independently of the pin state. - * - * Note: For a further long time this was not quite the inverse of the - * BufferIsInvalid() macro, in that it also did sanity checks to verify - * that the buffer number was in range. Most likely, this macro was - * originally intended only to be used in assertions, but its use has - * since expanded quite a bit, and the overhead of making those checks - * even in non-assert-enabled builds can be significant. Thus, we've - * now demoted the range checks to assertions within the macro itself. - */ -#define BufferIsValid(bufnum) \ -( \ - AssertMacro((bufnum) <= NBuffers && (bufnum) >= -NLocBuffer), \ - (bufnum) != InvalidBuffer \ -) - -/* - * BufferGetBlock - * Returns a reference to a disk page image associated with a buffer. - * - * Note: - * Assumes buffer is valid. - */ -#define BufferGetBlock(buffer) \ -( \ - AssertMacro(BufferIsValid(buffer)), \ - BufferIsLocal(buffer) ? \ - LocalBufferBlockPointers[-(buffer) - 1] \ - : \ - (Block) (BufferBlocks + ((Size) ((buffer) - 1)) * BLCKSZ) \ -) - -/* - * BufferGetPageSize - * Returns the page size within a buffer. - * - * Notes: - * Assumes buffer is valid. - * - * The buffer can be a raw disk block and need not contain a valid - * (formatted) disk page. - */ -/* XXX should dig out of buffer descriptor */ -#define BufferGetPageSize(buffer) \ -( \ - AssertMacro(BufferIsValid(buffer)), \ - (Size)BLCKSZ \ -) - -/* - * BufferGetPage - * Returns the page associated with a buffer. - * - * When this is called as part of a scan, there may be a need for a nearby - * call to TestForOldSnapshot(). See the definition of that for details. - */ -#define BufferGetPage(buffer) ((Page)BufferGetBlock(buffer)) /* * prototypes for functions in bufmgr.c @@ -176,27 +203,59 @@ extern PrefetchBufferResult PrefetchSharedBuffer(struct SMgrRelationData *smgr_r BlockNumber blockNum); extern PrefetchBufferResult PrefetchBuffer(Relation reln, ForkNumber forkNum, BlockNumber blockNum); -extern bool ReadRecentBuffer(RelFileNode rnode, ForkNumber forkNum, +extern bool ReadRecentBuffer(RelFileLocator rlocator, ForkNumber forkNum, BlockNumber blockNum, Buffer recent_buffer); extern Buffer ReadBuffer(Relation reln, BlockNumber blockNum); extern Buffer ReadBufferExtended(Relation reln, ForkNumber forkNum, BlockNumber blockNum, ReadBufferMode mode, BufferAccessStrategy strategy); -extern Buffer ReadBufferWithoutRelcache(RelFileNode rnode, +extern Buffer ReadBufferWithoutRelcache(RelFileLocator rlocator, ForkNumber forkNum, BlockNumber blockNum, ReadBufferMode mode, BufferAccessStrategy strategy, bool permanent); + +extern bool StartReadBuffer(ReadBuffersOperation *operation, + Buffer *buffer, + BlockNumber blocknum, + int flags); +extern bool StartReadBuffers(ReadBuffersOperation *operation, + Buffer *buffers, + BlockNumber blockNum, + int *nblocks, + int flags); +extern void WaitReadBuffers(ReadBuffersOperation *operation); + extern void ReleaseBuffer(Buffer buffer); extern void UnlockReleaseBuffer(Buffer buffer); +extern bool BufferIsExclusiveLocked(Buffer buffer); +extern bool BufferIsDirty(Buffer buffer); extern void MarkBufferDirty(Buffer buffer); extern void IncrBufferRefCount(Buffer buffer); +extern void CheckBufferIsPinnedOnce(Buffer buffer); extern Buffer ReleaseAndReadBuffer(Buffer buffer, Relation relation, BlockNumber blockNum); -extern void InitBufferPool(void); +extern Buffer ExtendBufferedRel(BufferManagerRelation bmr, + ForkNumber forkNum, + BufferAccessStrategy strategy, + uint32 flags); +extern BlockNumber ExtendBufferedRelBy(BufferManagerRelation bmr, + ForkNumber fork, + BufferAccessStrategy strategy, + uint32 flags, + uint32 extend_by, + Buffer *buffers, + uint32 *extended_by); +extern Buffer ExtendBufferedRelTo(BufferManagerRelation bmr, + ForkNumber fork, + BufferAccessStrategy strategy, + uint32 flags, + BlockNumber extend_to, + ReadBufferMode mode); + extern void InitBufferPoolAccess(void); extern void AtEOXact_Buffers(bool isCommit); -extern void PrintBufferLeakWarning(Buffer buffer); +extern char *DebugPrintBufferRefcount(Buffer buffer); extern void CheckPointBuffers(int flags); extern BlockNumber BufferGetBlockNumber(Buffer buffer); extern BlockNumber RelationGetNumberOfBlocksInFork(Relation relation, @@ -204,13 +263,15 @@ extern BlockNumber RelationGetNumberOfBlocksInFork(Relation relation, extern void FlushOneBuffer(Buffer buffer); extern void FlushRelationBuffers(Relation rel); extern void FlushRelationsAllBuffers(struct SMgrRelationData **smgrs, int nrels); -extern void CreateAndCopyRelationData(RelFileNode src_rnode, - RelFileNode dst_rnode, +extern void CreateAndCopyRelationData(RelFileLocator src_rlocator, + RelFileLocator dst_rlocator, bool permanent); extern void FlushDatabaseBuffers(Oid dbid); -extern void DropRelFileNodeBuffers(struct SMgrRelationData *smgr_reln, ForkNumber *forkNum, - int nforks, BlockNumber *firstDelBlock); -extern void DropRelFileNodesAllBuffers(struct SMgrRelationData **smgr_reln, int nnodes); +extern void DropRelationBuffers(struct SMgrRelationData *smgr_reln, + ForkNumber *forkNum, + int nforks, BlockNumber *firstDelBlock); +extern void DropRelationsAllBuffers(struct SMgrRelationData **smgr_reln, + int nlocators); extern void DropDatabaseBuffers(Oid dbid); #define RelationGetNumberOfBlocks(reln) \ @@ -222,8 +283,7 @@ extern XLogRecPtr BufferGetLSNAtomic(Buffer buffer); #ifdef NOT_USED extern void PrintPinnedBufs(void); #endif -extern Size BufferShmemSize(void); -extern void BufferGetTag(Buffer buffer, RelFileNode *rnode, +extern void BufferGetTag(Buffer buffer, RelFileLocator *rlocator, ForkNumber *forknum, BlockNumber *blknum); extern void MarkBufferDirtyHint(Buffer buffer, bool buffer_std); @@ -236,17 +296,28 @@ extern bool ConditionalLockBufferForCleanup(Buffer buffer); extern bool IsBufferCleanupOK(Buffer buffer); extern bool HoldingBufferPinThatDelaysRecovery(void); -extern void AbortBufferIO(void); - -extern void BufmgrCommit(void); extern bool BgBufferSync(struct WritebackContext *wb_context); -extern void AtProcExit_LocalBuffers(void); +extern void LimitAdditionalPins(uint32 *additional_pins); +extern void LimitAdditionalLocalPins(uint32 *additional_pins); + +extern bool EvictUnpinnedBuffer(Buffer buf); + +/* in buf_init.c */ +extern void InitBufferPool(void); +extern Size BufferShmemSize(void); -extern void TestForOldSnapshot_impl(Snapshot snapshot, Relation relation); +/* in localbuf.c */ +extern void AtProcExit_LocalBuffers(void); /* in freelist.c */ + extern BufferAccessStrategy GetAccessStrategy(BufferAccessStrategyType btype); +extern BufferAccessStrategy GetAccessStrategyWithSize(BufferAccessStrategyType btype, + int ring_size_kb); +extern int GetAccessStrategyBufferCount(BufferAccessStrategy strategy); +extern int GetAccessStrategyPinLimit(BufferAccessStrategy strategy); + extern void FreeAccessStrategy(BufferAccessStrategy strategy); @@ -262,34 +333,77 @@ extern void FreeAccessStrategy(BufferAccessStrategy strategy); #ifndef FRONTEND /* - * Check whether the given snapshot is too old to have safely read the given - * page from the given table. If so, throw a "snapshot too old" error. + * BufferIsValid + * True iff the given buffer number is valid (either as a shared + * or local buffer). * - * This test generally needs to be performed after every BufferGetPage() call - * that is executed as part of a scan. It is not needed for calls made for - * modifying the page (for example, to position to the right place to insert a - * new index tuple or for vacuuming). It may also be omitted where calls to - * lower-level functions will have already performed the test. + * Note: For a long time this was defined the same as BufferIsPinned, + * that is it would say False if you didn't hold a pin on the buffer. + * I believe this was bogus and served only to mask logic errors. + * Code should always know whether it has a buffer reference, + * independently of the pin state. * - * Note that a NULL snapshot argument is allowed and causes a fast return - * without error; this is to support call sites which can be called from - * either scans or index modification areas. + * Note: For a further long time this was not quite the inverse of the + * BufferIsInvalid() macro, in that it also did sanity checks to verify + * that the buffer number was in range. Most likely, this macro was + * originally intended only to be used in assertions, but its use has + * since expanded quite a bit, and the overhead of making those checks + * even in non-assert-enabled builds can be significant. Thus, we've + * now demoted the range checks to assertions within the macro itself. + */ +static inline bool +BufferIsValid(Buffer bufnum) +{ + Assert(bufnum <= NBuffers); + Assert(bufnum >= -NLocBuffer); + + return bufnum != InvalidBuffer; +} + +/* + * BufferGetBlock + * Returns a reference to a disk page image associated with a buffer. * - * For best performance, keep the tests that are fastest and/or most likely to - * exclude a page from old snapshot testing near the front. + * Note: + * Assumes buffer is valid. + */ +static inline Block +BufferGetBlock(Buffer buffer) +{ + Assert(BufferIsValid(buffer)); + + if (BufferIsLocal(buffer)) + return LocalBufferBlockPointers[-buffer - 1]; + else + return (Block) (BufferBlocks + ((Size) (buffer - 1)) * BLCKSZ); +} + +/* + * BufferGetPageSize + * Returns the page size within a buffer. + * + * Notes: + * Assumes buffer is valid. + * + * The buffer can be a raw disk block and need not contain a valid + * (formatted) disk page. + */ +/* XXX should dig out of buffer descriptor */ +static inline Size +BufferGetPageSize(Buffer buffer) +{ + AssertMacro(BufferIsValid(buffer)); + return (Size) BLCKSZ; +} + +/* + * BufferGetPage + * Returns the page associated with a buffer. */ -static inline void -TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page) +static inline Page +BufferGetPage(Buffer buffer) { - Assert(relation != NULL); - - if (old_snapshot_threshold >= 0 - && (snapshot) != NULL - && ((snapshot)->snapshot_type == SNAPSHOT_MVCC - || (snapshot)->snapshot_type == SNAPSHOT_TOAST) - && !XLogRecPtrIsInvalid((snapshot)->lsn) - && PageGetLSN(page) > (snapshot)->lsn) - TestForOldSnapshot_impl(snapshot, relation); + return (Page) BufferGetBlock(buffer); } #endif /* FRONTEND */ diff --git a/parser/include/storage/bufpage.h b/parser/include/postgres/storage/bufpage.h similarity index 78% rename from parser/include/storage/bufpage.h rename to parser/include/postgres/storage/bufpage.h index e9f253f2..d0df02d3 100644 --- a/parser/include/storage/bufpage.h +++ b/parser/include/postgres/storage/bufpage.h @@ -4,7 +4,7 @@ * Standard POSTGRES buffer page definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/bufpage.h @@ -97,8 +97,12 @@ typedef struct uint32 xrecoff; /* low bits */ } PageXLogRecPtr; -#define PageXLogRecPtrGet(val) \ - ((uint64) (val).xlogid << 32 | (val).xrecoff) +static inline XLogRecPtr +PageXLogRecPtrGet(PageXLogRecPtr val) +{ + return (uint64) val.xlogid << 32 | val.xrecoff; +} + #define PageXLogRecPtrSet(ptr, lsn) \ ((ptr).xlogid = (uint32) ((lsn) >> 32), (ptr).xrecoff = (uint32) (lsn)) @@ -200,16 +204,10 @@ typedef PageHeaderData *PageHeader; #define PG_DATA_CHECKSUM_VERSION 1 /* ---------------------------------------------------------------- - * page support macros + * page support functions * ---------------------------------------------------------------- */ -/* - * PageIsValid - * True iff page is valid. - */ -#define PageIsValid(page) PointerIsValid(page) - /* * line pointer(s) do not count as part of header */ @@ -219,21 +217,31 @@ typedef PageHeaderData *PageHeader; * PageIsEmpty * returns true iff no itemid has been allocated on the page */ -#define PageIsEmpty(page) \ - (((PageHeader) (page))->pd_lower <= SizeOfPageHeaderData) +static inline bool +PageIsEmpty(Page page) +{ + return ((PageHeader) page)->pd_lower <= SizeOfPageHeaderData; +} /* * PageIsNew * returns true iff page has not been initialized (by PageInit) */ -#define PageIsNew(page) (((PageHeader) (page))->pd_upper == 0) +static inline bool +PageIsNew(Page page) +{ + return ((PageHeader) page)->pd_upper == 0; +} /* * PageGetItemId * Returns an item identifier of a page. */ -#define PageGetItemId(page, offsetNumber) \ - ((ItemId) (&((PageHeader) (page))->pd_linp[(offsetNumber) - 1])) +static inline ItemId +PageGetItemId(Page page, OffsetNumber offsetNumber) +{ + return &((PageHeader) page)->pd_linp[offsetNumber - 1]; +} /* * PageGetContents @@ -243,20 +251,17 @@ typedef PageHeaderData *PageHeader; * Now it is. Beware of old code that might think the offset to the contents * is just SizeOfPageHeaderData rather than MAXALIGN(SizeOfPageHeaderData). */ -#define PageGetContents(page) \ - ((char *) (page) + MAXALIGN(SizeOfPageHeaderData)) +static inline char * +PageGetContents(Page page) +{ + return (char *) page + MAXALIGN(SizeOfPageHeaderData); +} /* ---------------- - * macros to access page size info + * functions to access page size info * ---------------- */ -/* - * PageSizeIsValid - * True iff the page size is valid. - */ -#define PageSizeIsValid(pageSize) ((pageSize) == BLCKSZ) - /* * PageGetPageSize * Returns the page size of a page. @@ -265,15 +270,21 @@ typedef PageHeaderData *PageHeader; * BufferGetPageSize, which can be called on an unformatted page). * however, it can be called on a page that is not stored in a buffer. */ -#define PageGetPageSize(page) \ - ((Size) (((PageHeader) (page))->pd_pagesize_version & (uint16) 0xFF00)) +static inline Size +PageGetPageSize(Page page) +{ + return (Size) (((PageHeader) page)->pd_pagesize_version & (uint16) 0xFF00); +} /* * PageGetPageLayoutVersion * Returns the page layout version of a page. */ -#define PageGetPageLayoutVersion(page) \ - (((PageHeader) (page))->pd_pagesize_version & 0x00FF) +static inline uint8 +PageGetPageLayoutVersion(Page page) +{ + return (((PageHeader) page)->pd_pagesize_version & 0x00FF); +} /* * PageSetPageSizeAndVersion @@ -282,52 +293,52 @@ typedef PageHeaderData *PageHeader; * We could support setting these two values separately, but there's * no real need for it at the moment. */ -#define PageSetPageSizeAndVersion(page, size, version) \ -( \ - AssertMacro(((size) & 0xFF00) == (size)), \ - AssertMacro(((version) & 0x00FF) == (version)), \ - ((PageHeader) (page))->pd_pagesize_version = (size) | (version) \ -) +static inline void +PageSetPageSizeAndVersion(Page page, Size size, uint8 version) +{ + Assert((size & 0xFF00) == size); + Assert((version & 0x00FF) == version); + + ((PageHeader) page)->pd_pagesize_version = size | version; +} /* ---------------- - * page special data macros + * page special data functions * ---------------- */ /* * PageGetSpecialSize * Returns size of special space on a page. */ -#define PageGetSpecialSize(page) \ - ((uint16) (PageGetPageSize(page) - ((PageHeader)(page))->pd_special)) +static inline uint16 +PageGetSpecialSize(Page page) +{ + return (PageGetPageSize(page) - ((PageHeader) page)->pd_special); +} /* * Using assertions, validate that the page special pointer is OK. * * This is intended to catch use of the pointer before page initialization. - * It is implemented as a function due to the limitations of the MSVC - * compiler, which choked on doing all these tests within another macro. We - * return true so that AssertMacro() can be used while still getting the - * specifics from the macro failure within this function. */ -static inline bool +static inline void PageValidateSpecialPointer(Page page) { - Assert(PageIsValid(page)); - Assert(((PageHeader) (page))->pd_special <= BLCKSZ); - Assert(((PageHeader) (page))->pd_special >= SizeOfPageHeaderData); - - return true; + Assert(page); + Assert(((PageHeader) page)->pd_special <= BLCKSZ); + Assert(((PageHeader) page)->pd_special >= SizeOfPageHeaderData); } /* * PageGetSpecialPointer * Returns pointer to special space on a page. */ -#define PageGetSpecialPointer(page) \ -( \ - AssertMacro(PageValidateSpecialPointer(page)), \ - (char *) ((char *) (page) + ((PageHeader) (page))->pd_special) \ -) +static inline char * +PageGetSpecialPointer(Page page) +{ + PageValidateSpecialPointer(page); + return (char *) page + ((PageHeader) page)->pd_special; +} /* * PageGetItem @@ -337,12 +348,14 @@ PageValidateSpecialPointer(Page page) * This does not change the status of any of the resources passed. * The semantics may change in the future. */ -#define PageGetItem(page, itemId) \ -( \ - AssertMacro(PageIsValid(page)), \ - AssertMacro(ItemIdHasStorage(itemId)), \ - (Item)(((char *)(page)) + ItemIdGetOffset(itemId)) \ -) +static inline Item +PageGetItem(Page page, ItemId itemId) +{ + Assert(page); + Assert(ItemIdHasStorage(itemId)); + + return (Item) (((char *) page) + ItemIdGetOffset(itemId)); +} /* * PageGetMaxOffsetNumber @@ -351,44 +364,84 @@ PageValidateSpecialPointer(Page page) * of items on the page. * * NOTE: if the page is not initialized (pd_lower == 0), we must - * return zero to ensure sane behavior. Accept double evaluation - * of the argument so that we can ensure this. + * return zero to ensure sane behavior. */ -#define PageGetMaxOffsetNumber(page) \ - (((PageHeader) (page))->pd_lower <= SizeOfPageHeaderData ? 0 : \ - ((((PageHeader) (page))->pd_lower - SizeOfPageHeaderData) \ - / sizeof(ItemIdData))) +static inline OffsetNumber +PageGetMaxOffsetNumber(Page page) +{ + PageHeader pageheader = (PageHeader) page; + + if (pageheader->pd_lower <= SizeOfPageHeaderData) + return 0; + else + return (pageheader->pd_lower - SizeOfPageHeaderData) / sizeof(ItemIdData); +} /* - * Additional macros for access to page headers. (Beware multiple evaluation - * of the arguments!) + * Additional functions for access to page headers. */ -#define PageGetLSN(page) \ - PageXLogRecPtrGet(((PageHeader) (page))->pd_lsn) -#define PageSetLSN(page, lsn) \ - PageXLogRecPtrSet(((PageHeader) (page))->pd_lsn, lsn) - -#define PageHasFreeLinePointers(page) \ - (((PageHeader) (page))->pd_flags & PD_HAS_FREE_LINES) -#define PageSetHasFreeLinePointers(page) \ - (((PageHeader) (page))->pd_flags |= PD_HAS_FREE_LINES) -#define PageClearHasFreeLinePointers(page) \ - (((PageHeader) (page))->pd_flags &= ~PD_HAS_FREE_LINES) - -#define PageIsFull(page) \ - (((PageHeader) (page))->pd_flags & PD_PAGE_FULL) -#define PageSetFull(page) \ - (((PageHeader) (page))->pd_flags |= PD_PAGE_FULL) -#define PageClearFull(page) \ - (((PageHeader) (page))->pd_flags &= ~PD_PAGE_FULL) - -#define PageIsAllVisible(page) \ - (((PageHeader) (page))->pd_flags & PD_ALL_VISIBLE) -#define PageSetAllVisible(page) \ - (((PageHeader) (page))->pd_flags |= PD_ALL_VISIBLE) -#define PageClearAllVisible(page) \ - (((PageHeader) (page))->pd_flags &= ~PD_ALL_VISIBLE) +static inline XLogRecPtr +PageGetLSN(Page page) +{ + return PageXLogRecPtrGet(((PageHeader) page)->pd_lsn); +} +static inline void +PageSetLSN(Page page, XLogRecPtr lsn) +{ + PageXLogRecPtrSet(((PageHeader) page)->pd_lsn, lsn); +} + +static inline bool +PageHasFreeLinePointers(Page page) +{ + return ((PageHeader) page)->pd_flags & PD_HAS_FREE_LINES; +} +static inline void +PageSetHasFreeLinePointers(Page page) +{ + ((PageHeader) page)->pd_flags |= PD_HAS_FREE_LINES; +} +static inline void +PageClearHasFreeLinePointers(Page page) +{ + ((PageHeader) page)->pd_flags &= ~PD_HAS_FREE_LINES; +} + +static inline bool +PageIsFull(Page page) +{ + return ((PageHeader) page)->pd_flags & PD_PAGE_FULL; +} +static inline void +PageSetFull(Page page) +{ + ((PageHeader) page)->pd_flags |= PD_PAGE_FULL; +} +static inline void +PageClearFull(Page page) +{ + ((PageHeader) page)->pd_flags &= ~PD_PAGE_FULL; +} +static inline bool +PageIsAllVisible(Page page) +{ + return ((PageHeader) page)->pd_flags & PD_ALL_VISIBLE; +} +static inline void +PageSetAllVisible(Page page) +{ + ((PageHeader) page)->pd_flags |= PD_ALL_VISIBLE; +} +static inline void +PageClearAllVisible(Page page) +{ + ((PageHeader) page)->pd_flags &= ~PD_ALL_VISIBLE; +} + +/* + * These two require "access/transam.h", so left as macros. + */ #define PageSetPrunable(page, xid) \ do { \ Assert(TransactionIdIsNormal(xid)); \ @@ -446,9 +499,9 @@ extern Size PageGetFreeSpace(Page page); extern Size PageGetFreeSpaceForMultipleTuples(Page page, int ntups); extern Size PageGetExactFreeSpace(Page page); extern Size PageGetHeapFreeSpace(Page page); -extern void PageIndexTupleDelete(Page page, OffsetNumber offset); +extern void PageIndexTupleDelete(Page page, OffsetNumber offnum); extern void PageIndexMultiDelete(Page page, OffsetNumber *itemnos, int nitems); -extern void PageIndexTupleDeleteNoCompact(Page page, OffsetNumber offset); +extern void PageIndexTupleDeleteNoCompact(Page page, OffsetNumber offnum); extern bool PageIndexTupleOverwrite(Page page, OffsetNumber offnum, Item newtup, Size newsize); extern char *PageSetChecksumCopy(Page page, BlockNumber blkno); diff --git a/parser/include/storage/condition_variable.h b/parser/include/postgres/storage/condition_variable.h similarity index 96% rename from parser/include/storage/condition_variable.h rename to parser/include/postgres/storage/condition_variable.h index e89175eb..d4720d4b 100644 --- a/parser/include/storage/condition_variable.h +++ b/parser/include/postgres/storage/condition_variable.h @@ -12,7 +12,7 @@ * can be canceled prior to the fulfillment of the condition) and do not * use pointers internally (so that they are safe to use within DSMs). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/condition_variable.h @@ -56,7 +56,7 @@ extern void ConditionVariableInit(ConditionVariable *cv); extern void ConditionVariableSleep(ConditionVariable *cv, uint32 wait_event_info); extern bool ConditionVariableTimedSleep(ConditionVariable *cv, long timeout, uint32 wait_event_info); -extern void ConditionVariableCancelSleep(void); +extern bool ConditionVariableCancelSleep(void); /* * Optionally, ConditionVariablePrepareToSleep can be called before entering diff --git a/parser/include/storage/dsm.h b/parser/include/postgres/storage/dsm.h similarity index 88% rename from parser/include/storage/dsm.h rename to parser/include/postgres/storage/dsm.h index 4dd6af23..1a22b32d 100644 --- a/parser/include/storage/dsm.h +++ b/parser/include/postgres/storage/dsm.h @@ -3,7 +3,7 @@ * dsm.h * manage dynamic shared memory segments * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/dsm.h @@ -19,9 +19,6 @@ typedef struct dsm_segment dsm_segment; #define DSM_CREATE_NULL_IF_MAXSEGMENTS 0x0001 -/* A sentinel value for an invalid DSM handle. */ -#define DSM_HANDLE_INVALID 0 - /* Startup and shutdown functions. */ struct PGShmemHeader; /* avoid including pg_shmem.h */ extern void dsm_cleanup_using_control_segment(dsm_handle old_control_handle); @@ -45,8 +42,8 @@ extern void dsm_detach(dsm_segment *seg); extern void dsm_pin_mapping(dsm_segment *seg); extern void dsm_unpin_mapping(dsm_segment *seg); extern void dsm_pin_segment(dsm_segment *seg); -extern void dsm_unpin_segment(dsm_handle h); -extern dsm_segment *dsm_find_mapping(dsm_handle h); +extern void dsm_unpin_segment(dsm_handle handle); +extern dsm_segment *dsm_find_mapping(dsm_handle handle); /* Informational functions. */ extern void *dsm_segment_address(dsm_segment *seg); diff --git a/parser/include/storage/dsm_impl.h b/parser/include/postgres/storage/dsm_impl.h similarity index 92% rename from parser/include/storage/dsm_impl.h rename to parser/include/postgres/storage/dsm_impl.h index c51584dc..88226960 100644 --- a/parser/include/storage/dsm_impl.h +++ b/parser/include/postgres/storage/dsm_impl.h @@ -3,7 +3,7 @@ * dsm_impl.h * low-level dynamic shared memory primitives * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/dsm_impl.h @@ -54,13 +54,16 @@ extern PGDLLIMPORT int min_dynamic_shared_memory; /* A "name" for a dynamic shared memory segment. */ typedef uint32 dsm_handle; +/* Sentinel value to use for invalid DSM handles. */ +#define DSM_HANDLE_INVALID ((dsm_handle) 0) + /* All the shared-memory operations we know about. */ typedef enum { DSM_OP_CREATE, DSM_OP_ATTACH, DSM_OP_DETACH, - DSM_OP_DESTROY + DSM_OP_DESTROY, } dsm_op; /* Create, attach to, detach from, resize, or destroy a segment. */ diff --git a/parser/include/storage/fd.h b/parser/include/postgres/storage/fd.h similarity index 76% rename from parser/include/storage/fd.h rename to parser/include/postgres/storage/fd.h index 69549b00..1456ab38 100644 --- a/parser/include/storage/fd.h +++ b/parser/include/postgres/storage/fd.h @@ -4,7 +4,7 @@ * Virtual file descriptor definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/fd.h @@ -15,7 +15,7 @@ /* * calls: * - * File {Close, Read, Write, Size, Sync} + * File {Close, Read, ReadV, Write, WriteV, Size, Sync} * {Path Name Open, Allocate, Free} File * * These are NOT JUST RENAMINGS OF THE UNIX ROUTINES. @@ -43,23 +43,24 @@ #ifndef FD_H #define FD_H +#include "port/pg_iovec.h" + #include +#include -typedef enum RecoveryInitSyncMethod -{ - RECOVERY_INIT_SYNC_METHOD_FSYNC, - RECOVERY_INIT_SYNC_METHOD_SYNCFS -} RecoveryInitSyncMethod; +typedef int File; -struct iovec; /* avoid including port/pg_iovec.h here */ -typedef int File; +#define IO_DIRECT_DATA 0x01 +#define IO_DIRECT_WAL 0x02 +#define IO_DIRECT_WAL_INIT 0x04 /* GUC parameter */ extern PGDLLIMPORT int max_files_per_process; extern PGDLLIMPORT bool data_sync_retry; extern PGDLLIMPORT int recovery_init_sync_method; +extern PGDLLIMPORT int io_direct_flags; /* * This is private to fd.c, but exported for save/restore_backend_variables() @@ -84,9 +85,10 @@ extern PGDLLIMPORT int max_safe_fds; * to the appropriate Windows flag in src/port/open.c. We simulate it with * fcntl(F_NOCACHE) on macOS inside fd.c's open() wrapper. We use the name * PG_O_DIRECT rather than defining O_DIRECT in that case (probably not a good - * idea on a Unix). + * idea on a Unix). We can only use it if the compiler will correctly align + * PGIOAlignedBlock for us, though. */ -#if defined(O_DIRECT) +#if defined(O_DIRECT) && defined(pg_attribute_aligned) #define PG_O_DIRECT O_DIRECT #elif defined(F_NOCACHE) #define PG_O_DIRECT 0x80000000 @@ -104,10 +106,13 @@ extern File PathNameOpenFile(const char *fileName, int fileFlags); extern File PathNameOpenFilePerm(const char *fileName, int fileFlags, mode_t fileMode); extern File OpenTemporaryFile(bool interXact); extern void FileClose(File file); -extern int FilePrefetch(File file, off_t offset, int amount, uint32 wait_event_info); -extern int FileRead(File file, char *buffer, int amount, off_t offset, uint32 wait_event_info); -extern int FileWrite(File file, char *buffer, int amount, off_t offset, uint32 wait_event_info); +extern int FilePrefetch(File file, off_t offset, off_t amount, uint32 wait_event_info); +extern ssize_t FileReadV(File file, const struct iovec *iov, int iovcnt, off_t offset, uint32 wait_event_info); +extern ssize_t FileWriteV(File file, const struct iovec *iov, int iovcnt, off_t offset, uint32 wait_event_info); extern int FileSync(File file, uint32 wait_event_info); +extern int FileZero(File file, off_t offset, off_t amount, uint32 wait_event_info); +extern int FileFallocate(File file, off_t offset, off_t amount, uint32 wait_event_info); + extern off_t FileSize(File file); extern int FileTruncate(File file, off_t offset, uint32 wait_event_info); extern void FileWriteback(File file, off_t offset, off_t nbytes, uint32 wait_event_info); @@ -117,11 +122,11 @@ extern int FileGetRawFlags(File file); extern mode_t FileGetRawMode(File file); /* Operations used for sharing named temporary files */ -extern File PathNameCreateTemporaryFile(const char *name, bool error_on_failure); +extern File PathNameCreateTemporaryFile(const char *path, bool error_on_failure); extern File PathNameOpenTemporaryFile(const char *path, int mode); -extern bool PathNameDeleteTemporaryFile(const char *name, bool error_on_failure); -extern void PathNameCreateTemporaryDir(const char *base, const char *name); -extern void PathNameDeleteTemporaryDir(const char *name); +extern bool PathNameDeleteTemporaryFile(const char *path, bool error_on_failure); +extern void PathNameCreateTemporaryDir(const char *basedir, const char *directory); +extern void PathNameDeleteTemporaryDir(const char *dirname); extern void TempTablespacePath(char *path, Oid tablespace); /* Operations that allow use of regular stdio --- USE WITH CAUTION */ @@ -177,22 +182,38 @@ extern int pg_fsync(int fd); extern int pg_fsync_no_writethrough(int fd); extern int pg_fsync_writethrough(int fd); extern int pg_fdatasync(int fd); -extern void pg_flush_data(int fd, off_t offset, off_t amount); -extern ssize_t pg_pwritev_with_retry(int fd, - const struct iovec *iov, - int iovcnt, - off_t offset); +extern bool pg_file_exists(const char *name); +extern void pg_flush_data(int fd, off_t offset, off_t nbytes); extern int pg_truncate(const char *path, off_t length); extern void fsync_fname(const char *fname, bool isdir); extern int fsync_fname_ext(const char *fname, bool isdir, bool ignore_perm, int elevel); -extern int durable_rename(const char *oldfile, const char *newfile, int loglevel); -extern int durable_unlink(const char *fname, int loglevel); -extern int durable_rename_excl(const char *oldfile, const char *newfile, int loglevel); +extern int durable_rename(const char *oldfile, const char *newfile, int elevel); +extern int durable_unlink(const char *fname, int elevel); extern void SyncDataDirectory(void); extern int data_sync_elevel(int elevel); -/* Filename components */ -#define PG_TEMP_FILES_DIR "pgsql_tmp" -#define PG_TEMP_FILE_PREFIX "pgsql_tmp" +static inline ssize_t +FileRead(File file, void *buffer, size_t amount, off_t offset, + uint32 wait_event_info) +{ + struct iovec iov = { + .iov_base = buffer, + .iov_len = amount + }; + + return FileReadV(file, &iov, 1, offset, wait_event_info); +} + +static inline ssize_t +FileWrite(File file, const void *buffer, size_t amount, off_t offset, + uint32 wait_event_info) +{ + struct iovec iov = { + .iov_base = unconstify(void *, buffer), + .iov_len = amount + }; + + return FileWriteV(file, &iov, 1, offset, wait_event_info); +} #endif /* FD_H */ diff --git a/parser/include/storage/fileset.h b/parser/include/postgres/storage/fileset.h similarity index 94% rename from parser/include/storage/fileset.h rename to parser/include/postgres/storage/fileset.h index ad378847..1674f086 100644 --- a/parser/include/storage/fileset.h +++ b/parser/include/postgres/storage/fileset.h @@ -3,7 +3,7 @@ * fileset.h * Management of named temporary files. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/fileset.h diff --git a/parser/include/postgres/storage/gokeep.go b/parser/include/postgres/storage/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/storage/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/storage/ipc.h b/parser/include/postgres/storage/ipc.h similarity index 93% rename from parser/include/storage/ipc.h rename to parser/include/postgres/storage/ipc.h index 43843618..295b7165 100644 --- a/parser/include/storage/ipc.h +++ b/parser/include/postgres/storage/ipc.h @@ -8,7 +8,7 @@ * exit-time cleanup for either a postmaster or a backend. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/ipc.h @@ -62,7 +62,7 @@ typedef void (*shmem_startup_hook_type) (void); /* ipc.c */ -extern PGDLLIMPORT __thread bool proc_exit_inprogress; +extern PGDLLIMPORT __thread bool proc_exit_inprogress; extern PGDLLIMPORT bool shmem_exit_inprogress; extern void proc_exit(int code) pg_attribute_noreturn(); @@ -79,6 +79,9 @@ extern PGDLLIMPORT shmem_startup_hook_type shmem_startup_hook; extern Size CalculateShmemSize(int *num_semaphores); extern void CreateSharedMemoryAndSemaphores(void); +#ifdef EXEC_BACKEND +extern void AttachSharedMemoryStructs(void); +#endif extern void InitializeShmemGUCs(void); #endif /* IPC_H */ diff --git a/parser/include/storage/item.h b/parser/include/postgres/storage/item.h similarity index 86% rename from parser/include/storage/item.h rename to parser/include/postgres/storage/item.h index 6f3eaebc..d524246f 100644 --- a/parser/include/storage/item.h +++ b/parser/include/postgres/storage/item.h @@ -4,7 +4,7 @@ * POSTGRES disk item definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/item.h diff --git a/parser/include/storage/itemid.h b/parser/include/postgres/storage/itemid.h similarity index 98% rename from parser/include/storage/itemid.h rename to parser/include/postgres/storage/itemid.h index e33637ff..6d29722e 100644 --- a/parser/include/storage/itemid.h +++ b/parser/include/postgres/storage/itemid.h @@ -4,7 +4,7 @@ * Standard POSTGRES buffer page item identifier/line pointer definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemid.h diff --git a/parser/include/storage/itemptr.h b/parser/include/postgres/storage/itemptr.h similarity index 59% rename from parser/include/storage/itemptr.h rename to parser/include/postgres/storage/itemptr.h index 81947bc6..cfe21df7 100644 --- a/parser/include/storage/itemptr.h +++ b/parser/include/postgres/storage/itemptr.h @@ -4,7 +4,7 @@ * POSTGRES disk item pointer definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/itemptr.h @@ -71,7 +71,7 @@ typedef ItemPointerData *ItemPointer; /* ---------------- - * support macros + * support functions * ---------------- */ @@ -79,77 +79,87 @@ typedef ItemPointerData *ItemPointer; * ItemPointerIsValid * True iff the disk item pointer is not NULL. */ -#define ItemPointerIsValid(pointer) \ - ((bool) (PointerIsValid(pointer) && ((pointer)->ip_posid != 0))) +static inline bool +ItemPointerIsValid(const ItemPointerData *pointer) +{ + return PointerIsValid(pointer) && pointer->ip_posid != 0; +} /* * ItemPointerGetBlockNumberNoCheck * Returns the block number of a disk item pointer. */ -#define ItemPointerGetBlockNumberNoCheck(pointer) \ -( \ - BlockIdGetBlockNumber(&(pointer)->ip_blkid) \ -) +static inline BlockNumber +ItemPointerGetBlockNumberNoCheck(const ItemPointerData *pointer) +{ + return BlockIdGetBlockNumber(&pointer->ip_blkid); +} /* * ItemPointerGetBlockNumber * As above, but verifies that the item pointer looks valid. */ -#define ItemPointerGetBlockNumber(pointer) \ -( \ - AssertMacro(ItemPointerIsValid(pointer)), \ - ItemPointerGetBlockNumberNoCheck(pointer) \ -) +static inline BlockNumber +ItemPointerGetBlockNumber(const ItemPointerData *pointer) +{ + Assert(ItemPointerIsValid(pointer)); + return ItemPointerGetBlockNumberNoCheck(pointer); +} /* * ItemPointerGetOffsetNumberNoCheck * Returns the offset number of a disk item pointer. */ -#define ItemPointerGetOffsetNumberNoCheck(pointer) \ -( \ - (pointer)->ip_posid \ -) +static inline OffsetNumber +ItemPointerGetOffsetNumberNoCheck(const ItemPointerData *pointer) +{ + return pointer->ip_posid; +} /* * ItemPointerGetOffsetNumber * As above, but verifies that the item pointer looks valid. */ -#define ItemPointerGetOffsetNumber(pointer) \ -( \ - AssertMacro(ItemPointerIsValid(pointer)), \ - ItemPointerGetOffsetNumberNoCheck(pointer) \ -) +static inline OffsetNumber +ItemPointerGetOffsetNumber(const ItemPointerData *pointer) +{ + Assert(ItemPointerIsValid(pointer)); + return ItemPointerGetOffsetNumberNoCheck(pointer); +} /* * ItemPointerSet * Sets a disk item pointer to the specified block and offset. */ -#define ItemPointerSet(pointer, blockNumber, offNum) \ -( \ - AssertMacro(PointerIsValid(pointer)), \ - BlockIdSet(&((pointer)->ip_blkid), blockNumber), \ - (pointer)->ip_posid = offNum \ -) +static inline void +ItemPointerSet(ItemPointerData *pointer, BlockNumber blockNumber, OffsetNumber offNum) +{ + Assert(PointerIsValid(pointer)); + BlockIdSet(&pointer->ip_blkid, blockNumber); + pointer->ip_posid = offNum; +} /* * ItemPointerSetBlockNumber * Sets a disk item pointer to the specified block. */ -#define ItemPointerSetBlockNumber(pointer, blockNumber) \ -( \ - AssertMacro(PointerIsValid(pointer)), \ - BlockIdSet(&((pointer)->ip_blkid), blockNumber) \ -) +static inline void +ItemPointerSetBlockNumber(ItemPointerData *pointer, BlockNumber blockNumber) +{ + Assert(PointerIsValid(pointer)); + BlockIdSet(&pointer->ip_blkid, blockNumber); +} /* * ItemPointerSetOffsetNumber * Sets a disk item pointer to the specified offset. */ -#define ItemPointerSetOffsetNumber(pointer, offsetNumber) \ -( \ - AssertMacro(PointerIsValid(pointer)), \ - (pointer)->ip_posid = (offsetNumber) \ -) +static inline void +ItemPointerSetOffsetNumber(ItemPointerData *pointer, OffsetNumber offsetNumber) +{ + Assert(PointerIsValid(pointer)); + pointer->ip_posid = offsetNumber; +} /* * ItemPointerCopy @@ -158,42 +168,49 @@ typedef ItemPointerData *ItemPointer; * Should there ever be padding in an ItemPointer this would need to be handled * differently as it's used as hash key. */ -#define ItemPointerCopy(fromPointer, toPointer) \ -( \ - AssertMacro(PointerIsValid(toPointer)), \ - AssertMacro(PointerIsValid(fromPointer)), \ - *(toPointer) = *(fromPointer) \ -) +static inline void +ItemPointerCopy(const ItemPointerData *fromPointer, ItemPointerData *toPointer) +{ + Assert(PointerIsValid(toPointer)); + Assert(PointerIsValid(fromPointer)); + *toPointer = *fromPointer; +} /* * ItemPointerSetInvalid * Sets a disk item pointer to be invalid. */ -#define ItemPointerSetInvalid(pointer) \ -( \ - AssertMacro(PointerIsValid(pointer)), \ - BlockIdSet(&((pointer)->ip_blkid), InvalidBlockNumber), \ - (pointer)->ip_posid = InvalidOffsetNumber \ -) +static inline void +ItemPointerSetInvalid(ItemPointerData *pointer) +{ + Assert(PointerIsValid(pointer)); + BlockIdSet(&pointer->ip_blkid, InvalidBlockNumber); + pointer->ip_posid = InvalidOffsetNumber; +} /* * ItemPointerIndicatesMovedPartitions * True iff the block number indicates the tuple has moved to another * partition. */ -#define ItemPointerIndicatesMovedPartitions(pointer) \ -( \ - ItemPointerGetOffsetNumber(pointer) == MovedPartitionsOffsetNumber && \ - ItemPointerGetBlockNumberNoCheck(pointer) == MovedPartitionsBlockNumber \ -) +static inline bool +ItemPointerIndicatesMovedPartitions(const ItemPointerData *pointer) +{ + return + ItemPointerGetOffsetNumber(pointer) == MovedPartitionsOffsetNumber && + ItemPointerGetBlockNumberNoCheck(pointer) == MovedPartitionsBlockNumber; +} /* * ItemPointerSetMovedPartitions * Indicate that the item referenced by the itempointer has moved into a * different partition. */ -#define ItemPointerSetMovedPartitions(pointer) \ - ItemPointerSet((pointer), MovedPartitionsBlockNumber, MovedPartitionsOffsetNumber) +static inline void +ItemPointerSetMovedPartitions(ItemPointerData *pointer) +{ + ItemPointerSet(pointer, MovedPartitionsBlockNumber, MovedPartitionsOffsetNumber); +} /* ---------------- * externs @@ -205,4 +222,24 @@ extern int32 ItemPointerCompare(ItemPointer arg1, ItemPointer arg2); extern void ItemPointerInc(ItemPointer pointer); extern void ItemPointerDec(ItemPointer pointer); +/* ---------------- + * Datum conversion functions + * ---------------- + */ + +static inline ItemPointer +DatumGetItemPointer(Datum X) +{ + return (ItemPointer) DatumGetPointer(X); +} + +static inline Datum +ItemPointerGetDatum(const ItemPointerData *X) +{ + return PointerGetDatum(X); +} + +#define PG_GETARG_ITEMPOINTER(n) DatumGetItemPointer(PG_GETARG_DATUM(n)) +#define PG_RETURN_ITEMPOINTER(x) return ItemPointerGetDatum(x) + #endif /* ITEMPTR_H */ diff --git a/parser/include/storage/large_object.h b/parser/include/postgres/storage/large_object.h similarity index 98% rename from parser/include/storage/large_object.h rename to parser/include/postgres/storage/large_object.h index b826a7dc..9cfb7aa7 100644 --- a/parser/include/storage/large_object.h +++ b/parser/include/postgres/storage/large_object.h @@ -5,7 +5,7 @@ * zillions of large objects (internal, external, jaquith, inversion). * Now we only support inversion. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/large_object.h diff --git a/parser/include/storage/latch.h b/parser/include/postgres/storage/latch.h similarity index 94% rename from parser/include/storage/latch.h rename to parser/include/postgres/storage/latch.h index 68ab740f..7e194d53 100644 --- a/parser/include/storage/latch.h +++ b/parser/include/postgres/storage/latch.h @@ -90,7 +90,7 @@ * efficient than using WaitLatch or WaitLatchOrSocket. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/latch.h @@ -102,6 +102,8 @@ #include +#include "utils/resowner.h" + /* * Latch structure should be treated as opaque and only accessed through * the public functions. It is defined here to allow embedding Latches as @@ -135,9 +137,16 @@ typedef struct Latch #define WL_SOCKET_CONNECTED WL_SOCKET_WRITEABLE #endif #define WL_SOCKET_CLOSED (1 << 7) +#ifdef WIN32 +#define WL_SOCKET_ACCEPT (1 << 8) +#else +/* avoid having to deal with case on platforms not requiring it */ +#define WL_SOCKET_ACCEPT WL_SOCKET_READABLE +#endif #define WL_SOCKET_MASK (WL_SOCKET_READABLE | \ WL_SOCKET_WRITEABLE | \ WL_SOCKET_CONNECTED | \ + WL_SOCKET_ACCEPT | \ WL_SOCKET_CLOSED) typedef struct WaitEvent @@ -166,8 +175,9 @@ extern void SetLatch(Latch *latch); extern void ResetLatch(Latch *latch); extern void ShutdownLatchSupport(void); -extern WaitEventSet *CreateWaitEventSet(MemoryContext context, int nevents); +extern WaitEventSet *CreateWaitEventSet(ResourceOwner resowner, int nevents); extern void FreeWaitEventSet(WaitEventSet *set); +extern void FreeWaitEventSetAfterFork(WaitEventSet *set); extern int AddWaitEventToSet(WaitEventSet *set, uint32 events, pgsocket fd, Latch *latch, void *user_data); extern void ModifyWaitEvent(WaitEventSet *set, int pos, uint32 events, Latch *latch); diff --git a/parser/include/storage/lmgr.h b/parser/include/postgres/storage/lmgr.h similarity index 87% rename from parser/include/storage/lmgr.h rename to parser/include/postgres/storage/lmgr.h index be1d2c99..ce15125a 100644 --- a/parser/include/storage/lmgr.h +++ b/parser/include/postgres/storage/lmgr.h @@ -4,7 +4,7 @@ * POSTGRES lock manager definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lmgr.h @@ -31,7 +31,7 @@ typedef enum XLTW_Oper XLTW_InsertIndex, XLTW_InsertIndexUnique, XLTW_FetchUpdated, - XLTW_RecheckExclusionConstr + XLTW_RecheckExclusionConstr, } XLTW_Oper; extern void RelationInitLockInfo(Relation relation); @@ -48,6 +48,8 @@ extern bool ConditionalLockRelation(Relation relation, LOCKMODE lockmode); extern void UnlockRelation(Relation relation, LOCKMODE lockmode); extern bool CheckRelationLockedByMe(Relation relation, LOCKMODE lockmode, bool orstronger); +extern bool CheckRelationOidLockedByMe(Oid relid, LOCKMODE lockmode, + bool orstronger); extern bool LockHasWaitersRelation(Relation relation, LOCKMODE lockmode); extern void LockRelationIdForSession(LockRelId *relid, LOCKMODE lockmode); @@ -93,12 +95,16 @@ extern void SpeculativeInsertionWait(TransactionId xid, uint32 token); /* Lock a general object (other than a relation) of the current database */ extern void LockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern bool ConditionalLockDatabaseObject(Oid classid, Oid objid, + uint16 objsubid, LOCKMODE lockmode); extern void UnlockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); /* Lock a shared-across-databases object (other than a relation) */ extern void LockSharedObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern bool ConditionalLockSharedObject(Oid classid, Oid objid, uint16 objsubid, + LOCKMODE lockmode); extern void UnlockSharedObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); @@ -107,6 +113,11 @@ extern void LockSharedObjectForSession(Oid classid, Oid objid, uint16 objsubid, extern void UnlockSharedObjectForSession(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern void LockApplyTransactionForSession(Oid suboid, TransactionId xid, uint16 objid, + LOCKMODE lockmode); +extern void UnlockApplyTransactionForSession(Oid suboid, TransactionId xid, uint16 objid, + LOCKMODE lockmode); + /* Describe a locktag for error messages */ extern void DescribeLockTag(StringInfo buf, const LOCKTAG *tag); diff --git a/parser/include/storage/lock.h b/parser/include/postgres/storage/lock.h similarity index 92% rename from parser/include/storage/lock.h rename to parser/include/postgres/storage/lock.h index e4e1495b..cc1f6e78 100644 --- a/parser/include/storage/lock.h +++ b/parser/include/postgres/storage/lock.h @@ -4,7 +4,7 @@ * POSTGRES low-level lock mechanism * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lock.h @@ -18,21 +18,16 @@ #error "lock.h may not be included from frontend code" #endif -#include "storage/backendid.h" +#include "lib/ilist.h" #include "storage/lockdefs.h" #include "storage/lwlock.h" +#include "storage/procnumber.h" #include "storage/shmem.h" #include "utils/timestamp.h" /* struct PGPROC is declared in proc.h, but must forward-reference it */ typedef struct PGPROC PGPROC; -typedef struct PROC_QUEUE -{ - SHM_QUEUE links; /* head of list of PGPROC objects */ - int size; /* number of entries in list */ -} PROC_QUEUE; - /* GUC variables */ extern PGDLLIMPORT int max_locks_per_xact; @@ -47,7 +42,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; /* * Top-level transactions are identified by VirtualTransactionIDs comprising - * PGPROC fields backendId and lxid. For recovered prepared transactions, the + * PGPROC fields procNumber and lxid. For recovered prepared transactions, the * LocalTransactionId is an ordinary XID; LOCKTAG_VIRTUALTRANSACTION never * refers to that kind. These are guaranteed unique over the short term, but * will be reused after a database restart or XID wraparound; hence they @@ -55,7 +50,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; * * Note that struct VirtualTransactionId can not be assumed to be atomically * assignable as a whole. However, type LocalTransactionId is assumed to - * be atomically assignable, and the backend ID doesn't change often enough + * be atomically assignable, and the proc number doesn't change often enough * to be a problem, so we can fetch or assign the two fields separately. * We deliberately refrain from using the struct within PGPROC, to prevent * coding errors from trying to use struct assignment with it; instead use @@ -63,7 +58,7 @@ extern PGDLLIMPORT bool Debug_deadlocks; */ typedef struct { - BackendId backendId; /* backendId from PGPROC */ + ProcNumber procNumber; /* proc number of the PGPROC */ LocalTransactionId localTransactionId; /* lxid from PGPROC */ } VirtualTransactionId; @@ -72,16 +67,16 @@ typedef struct #define VirtualTransactionIdIsValid(vxid) \ (LocalTransactionIdIsValid((vxid).localTransactionId)) #define VirtualTransactionIdIsRecoveredPreparedXact(vxid) \ - ((vxid).backendId == InvalidBackendId) + ((vxid).procNumber == INVALID_PROC_NUMBER) #define VirtualTransactionIdEquals(vxid1, vxid2) \ - ((vxid1).backendId == (vxid2).backendId && \ + ((vxid1).procNumber == (vxid2).procNumber && \ (vxid1).localTransactionId == (vxid2).localTransactionId) #define SetInvalidVirtualTransactionId(vxid) \ - ((vxid).backendId = InvalidBackendId, \ + ((vxid).procNumber = INVALID_PROC_NUMBER, \ (vxid).localTransactionId = InvalidLocalTransactionId) -#define GET_VXID_FROM_PGPROC(vxid, proc) \ - ((vxid).backendId = (proc).backendId, \ - (vxid).localTransactionId = (proc).lxid) +#define GET_VXID_FROM_PGPROC(vxid_dst, proc) \ + ((vxid_dst).procNumber = (proc).vxid.procNumber, \ + (vxid_dst).localTransactionId = (proc).vxid.lxid) /* MAX_LOCKMODES cannot be larger than the # of bits in LOCKMASK */ #define MAX_LOCKMODES 10 @@ -149,10 +144,12 @@ typedef enum LockTagType LOCKTAG_SPECULATIVE_TOKEN, /* speculative insertion Xid and token */ LOCKTAG_OBJECT, /* non-relation database object */ LOCKTAG_USERLOCK, /* reserved for old contrib/userlock code */ - LOCKTAG_ADVISORY /* advisory user locks */ + LOCKTAG_ADVISORY, /* advisory user locks */ + LOCKTAG_APPLY_TRANSACTION, /* transaction being applied on a logical + * replication subscriber */ } LockTagType; -#define LOCKTAG_LAST_TYPE LOCKTAG_ADVISORY +#define LOCKTAG_LAST_TYPE LOCKTAG_APPLY_TRANSACTION extern PGDLLIMPORT const char *const LockTagTypeNames[]; @@ -236,7 +233,7 @@ typedef struct LOCKTAG /* ID info for a virtual transaction is its VirtualTransactionId */ #define SET_LOCKTAG_VIRTUALTRANSACTION(locktag,vxid) \ - ((locktag).locktag_field1 = (vxid).backendId, \ + ((locktag).locktag_field1 = (vxid).procNumber, \ (locktag).locktag_field2 = (vxid).localTransactionId, \ (locktag).locktag_field3 = 0, \ (locktag).locktag_field4 = 0, \ @@ -278,6 +275,17 @@ typedef struct LOCKTAG (locktag).locktag_type = LOCKTAG_ADVISORY, \ (locktag).locktag_lockmethodid = USER_LOCKMETHOD) +/* + * ID info for a remote transaction on a logical replication subscriber is: DB + * OID + SUBSCRIPTION OID + TRANSACTION ID + OBJID + */ +#define SET_LOCKTAG_APPLY_TRANSACTION(locktag,dboid,suboid,xid,objid) \ + ((locktag).locktag_field1 = (dboid), \ + (locktag).locktag_field2 = (suboid), \ + (locktag).locktag_field3 = (xid), \ + (locktag).locktag_field4 = (objid), \ + (locktag).locktag_type = LOCKTAG_APPLY_TRANSACTION, \ + (locktag).locktag_lockmethodid = DEFAULT_LOCKMETHOD) /* * Per-locked-object lock information: @@ -305,8 +313,8 @@ typedef struct LOCK /* data */ LOCKMASK grantMask; /* bitmask for lock types already granted */ LOCKMASK waitMask; /* bitmask for lock types awaited */ - SHM_QUEUE procLocks; /* list of PROCLOCK objects assoc. with lock */ - PROC_QUEUE waitProcs; /* list of PGPROC objects waiting on lock */ + dlist_head procLocks; /* list of PROCLOCK objects assoc. with lock */ + dclist_head waitProcs; /* list of PGPROC objects waiting on lock */ int requested[MAX_LOCKMODES]; /* counts of requested locks */ int nRequested; /* total of requested[] array */ int granted[MAX_LOCKMODES]; /* counts of granted locks */ @@ -367,8 +375,8 @@ typedef struct PROCLOCK PGPROC *groupLeader; /* proc's lock group leader, or proc itself */ LOCKMASK holdMask; /* bitmask for lock types currently held */ LOCKMASK releaseMask; /* bitmask for lock types to be released */ - SHM_QUEUE lockLink; /* list link in LOCK's list of proclocks */ - SHM_QUEUE procLink; /* list link in PGPROC's list of proclocks */ + dlist_node lockLink; /* list link in LOCK's list of proclocks */ + dlist_node procLink; /* list link in PGPROC's list of proclocks */ } PROCLOCK; #define PROCLOCK_LOCKMETHOD(proclock) \ @@ -446,8 +454,7 @@ typedef struct LockInstanceData LOCKTAG locktag; /* tag for locked object */ LOCKMASK holdMask; /* locks held by this PGPROC */ LOCKMODE waitLockMode; /* lock awaited by this PGPROC, if any */ - BackendId backend; /* backend ID of this PGPROC */ - LocalTransactionId lxid; /* local transaction ID of this PGPROC */ + VirtualTransactionId vxid; /* virtual transaction ID of this PGPROC */ TimestampTz waitStart; /* time at which this PGPROC started waiting * for lock */ int pid; /* pid of this PGPROC */ @@ -494,7 +501,7 @@ typedef enum LOCKACQUIRE_NOT_AVAIL, /* lock not available, and dontWait=true */ LOCKACQUIRE_OK, /* lock successfully acquired */ LOCKACQUIRE_ALREADY_HELD, /* incremented count for lock already held */ - LOCKACQUIRE_ALREADY_CLEAR /* incremented count for lock already clear */ + LOCKACQUIRE_ALREADY_CLEAR, /* incremented count for lock already clear */ } LockAcquireResult; /* Deadlock states identified by DeadLockCheck() */ @@ -504,7 +511,7 @@ typedef enum DS_NO_DEADLOCK, /* no deadlock detected */ DS_SOFT_DEADLOCK, /* deadlock avoided by queue rearrangement */ DS_HARD_DEADLOCK, /* deadlock, no way out but ERROR */ - DS_BLOCKED_BY_AUTOVACUUM /* no deadlock; queue blocked by autovacuum + DS_BLOCKED_BY_AUTOVACUUM, /* no deadlock; queue blocked by autovacuum * worker */ } DeadLockState; @@ -532,7 +539,7 @@ typedef enum * used for a given lock group is determined by the group leader's pgprocno. */ #define LockHashPartitionLockByProc(leader_pgproc) \ - LockHashPartitionLock((leader_pgproc)->pgprocno) + LockHashPartitionLock(GetNumberFromPGProc(leader_pgproc)) /* * function prototypes @@ -560,7 +567,8 @@ extern void LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks); extern void LockReleaseSession(LOCKMETHODID lockmethodid); extern void LockReleaseCurrentOwner(LOCALLOCK **locallocks, int nlocks); extern void LockReassignCurrentOwner(LOCALLOCK **locallocks, int nlocks); -extern bool LockHeldByMe(const LOCKTAG *locktag, LOCKMODE lockmode); +extern bool LockHeldByMe(const LOCKTAG *locktag, + LOCKMODE lockmode, bool orstronger); #ifdef USE_ASSERT_CHECKING extern HTAB *GetLockMethodLocalHash(void); #endif diff --git a/parser/include/storage/lockdefs.h b/parser/include/postgres/storage/lockdefs.h similarity index 86% rename from parser/include/storage/lockdefs.h rename to parser/include/postgres/storage/lockdefs.h index 350ddd4d..810b297e 100644 --- a/parser/include/storage/lockdefs.h +++ b/parser/include/postgres/storage/lockdefs.h @@ -7,7 +7,7 @@ * contains definition that have to (indirectly) be available when included by * FRONTEND code. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lockdefs.h @@ -36,8 +36,8 @@ typedef int LOCKMODE; #define AccessShareLock 1 /* SELECT */ #define RowShareLock 2 /* SELECT FOR UPDATE/FOR SHARE */ #define RowExclusiveLock 3 /* INSERT, UPDATE, DELETE */ -#define ShareUpdateExclusiveLock 4 /* VACUUM (non-FULL),ANALYZE, CREATE INDEX - * CONCURRENTLY */ +#define ShareUpdateExclusiveLock 4 /* VACUUM (non-FULL), ANALYZE, CREATE + * INDEX CONCURRENTLY */ #define ShareLock 5 /* CREATE INDEX (WITHOUT CONCURRENTLY) */ #define ShareRowExclusiveLock 6 /* like EXCLUSIVE MODE, but allows ROW * SHARE */ @@ -47,6 +47,8 @@ typedef int LOCKMODE; #define MaxLockMode 8 /* highest standard lock mode */ +/* See README.tuplock section "Locking to write inplace-updated tables" */ +#define InplaceUpdateTupleLock ExclusiveLock /* WAL representation of an AccessExclusiveLock on a table */ typedef struct xl_standby_lock diff --git a/parser/include/storage/lwlock.h b/parser/include/postgres/storage/lwlock.h similarity index 85% rename from parser/include/storage/lwlock.h rename to parser/include/postgres/storage/lwlock.h index e03d317e..d70e6d37 100644 --- a/parser/include/storage/lwlock.h +++ b/parser/include/postgres/storage/lwlock.h @@ -4,7 +4,7 @@ * Lightweight lock manager * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/lwlock.h @@ -19,10 +19,20 @@ #endif #include "port/atomics.h" +#include "storage/lwlocknames.h" #include "storage/proclist_types.h" struct PGPROC; +/* what state of the wait process is a backend in */ +typedef enum LWLockWaitState +{ + LW_WS_NOT_WAITING, /* not currently waiting / woken up */ + LW_WS_WAITING, /* currently waiting */ + LW_WS_PENDING_WAKEUP, /* removed from waitlist, but not yet + * signalled */ +} LWLockWaitState; + /* * Code outside of lwlock.c should not manipulate the contents of this * structure directly, but we have to declare it here to allow LWLocks to be @@ -51,6 +61,9 @@ typedef struct LWLock */ #define LWLOCK_PADDED_SIZE PG_CACHE_LINE_SIZE +StaticAssertDecl(sizeof(LWLock) <= LWLOCK_PADDED_SIZE, + "Miscalculated LWLock padding"); + /* LWLock, padded to a full cache line size */ typedef union LWLockPadded { @@ -70,9 +83,6 @@ typedef struct NamedLWLockTranche extern PGDLLIMPORT NamedLWLockTranche *NamedLWLockTrancheArray; extern PGDLLIMPORT int NamedLWLockTrancheRequests; -/* Names for fixed lwlocks */ -#include "storage/lwlocknames.h" - /* * It's a bit odd to declare NUM_BUFFER_PARTITIONS and NUM_LOCK_PARTITIONS * here, but we need them to figure out offsets within MainLWLockArray, and @@ -103,7 +113,7 @@ typedef enum LWLockMode { LW_EXCLUSIVE, LW_SHARED, - LW_WAIT_UNTIL_FREE /* A special mode used in PGPROC->lwWaitMode, + LW_WAIT_UNTIL_FREE, /* A special mode used in PGPROC->lwWaitMode, * when waiting for lock to become free. Not * to be used as LWLockAcquire argument */ } LWLockMode; @@ -117,14 +127,14 @@ extern bool LWLockAcquire(LWLock *lock, LWLockMode mode); extern bool LWLockConditionalAcquire(LWLock *lock, LWLockMode mode); extern bool LWLockAcquireOrWait(LWLock *lock, LWLockMode mode); extern void LWLockRelease(LWLock *lock); -extern void LWLockReleaseClearVar(LWLock *lock, uint64 *valptr, uint64 val); +extern void LWLockReleaseClearVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 val); extern void LWLockReleaseAll(void); extern bool LWLockHeldByMe(LWLock *lock); extern bool LWLockAnyHeldByMe(LWLock *lock, int nlocks, size_t stride); extern bool LWLockHeldByMeInMode(LWLock *lock, LWLockMode mode); -extern bool LWLockWaitForVar(LWLock *lock, uint64 *valptr, uint64 oldval, uint64 *newval); -extern void LWLockUpdateVar(LWLock *lock, uint64 *valptr, uint64 value); +extern bool LWLockWaitForVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 oldval, uint64 *newval); +extern void LWLockUpdateVar(LWLock *lock, pg_atomic_uint64 *valptr, uint64 val); extern Size LWLockShmemSize(void); extern void CreateLWLocks(void); @@ -193,7 +203,19 @@ typedef enum BuiltinTrancheIds LWTRANCHE_PGSTATS_DSA, LWTRANCHE_PGSTATS_HASH, LWTRANCHE_PGSTATS_DATA, - LWTRANCHE_FIRST_USER_DEFINED + LWTRANCHE_LAUNCHER_DSA, + LWTRANCHE_LAUNCHER_HASH, + LWTRANCHE_DSM_REGISTRY_DSA, + LWTRANCHE_DSM_REGISTRY_HASH, + LWTRANCHE_COMMITTS_SLRU, + LWTRANCHE_MULTIXACTMEMBER_SLRU, + LWTRANCHE_MULTIXACTOFFSET_SLRU, + LWTRANCHE_NOTIFY_SLRU, + LWTRANCHE_SERIAL_SLRU, + LWTRANCHE_SUBTRANS_SLRU, + LWTRANCHE_XACT_SLRU, + LWTRANCHE_PARALLEL_VACUUM_DSA, + LWTRANCHE_FIRST_USER_DEFINED, } BuiltinTrancheIds; /* diff --git a/parser/include/storage/lwlocknames.h b/parser/include/postgres/storage/lwlocknames.h similarity index 79% rename from parser/include/storage/lwlocknames.h rename to parser/include/postgres/storage/lwlocknames.h index e279f72b..0d2d41b4 100644 --- a/parser/include/storage/lwlocknames.h +++ b/parser/include/postgres/storage/lwlocknames.h @@ -1,4 +1,4 @@ -/* autogenerated from src/backend/storage/lmgr/lwlocknames.txt, do not edit */ +/* autogenerated from src/include/storage/lwlocklist.h, do not edit */ /* there is deliberately not an #ifndef LWLOCKNAMES_H here */ #define ShmemIndexLock (&MainLWLockArray[1].lock) @@ -10,11 +10,7 @@ #define WALBufMappingLock (&MainLWLockArray[7].lock) #define WALWriteLock (&MainLWLockArray[8].lock) #define ControlFileLock (&MainLWLockArray[9].lock) -#define XactSLRULock (&MainLWLockArray[11].lock) -#define SubtransSLRULock (&MainLWLockArray[12].lock) #define MultiXactGenLock (&MainLWLockArray[13].lock) -#define MultiXactOffsetSLRULock (&MainLWLockArray[14].lock) -#define MultiXactMemberSLRULock (&MainLWLockArray[15].lock) #define RelCacheInitLock (&MainLWLockArray[16].lock) #define CheckpointerCommLock (&MainLWLockArray[17].lock) #define TwoPhaseStateLock (&MainLWLockArray[18].lock) @@ -25,26 +21,27 @@ #define AutovacuumScheduleLock (&MainLWLockArray[23].lock) #define SyncScanLock (&MainLWLockArray[24].lock) #define RelationMappingLock (&MainLWLockArray[25].lock) -#define NotifySLRULock (&MainLWLockArray[26].lock) #define NotifyQueueLock (&MainLWLockArray[27].lock) #define SerializableXactHashLock (&MainLWLockArray[28].lock) #define SerializableFinishedListLock (&MainLWLockArray[29].lock) #define SerializablePredicateListLock (&MainLWLockArray[30].lock) -#define SerialSLRULock (&MainLWLockArray[31].lock) #define SyncRepLock (&MainLWLockArray[32].lock) #define BackgroundWorkerLock (&MainLWLockArray[33].lock) #define DynamicSharedMemoryControlLock (&MainLWLockArray[34].lock) #define AutoFileLock (&MainLWLockArray[35].lock) #define ReplicationSlotAllocationLock (&MainLWLockArray[36].lock) #define ReplicationSlotControlLock (&MainLWLockArray[37].lock) -#define CommitTsSLRULock (&MainLWLockArray[38].lock) #define CommitTsLock (&MainLWLockArray[39].lock) #define ReplicationOriginLock (&MainLWLockArray[40].lock) #define MultiXactTruncationLock (&MainLWLockArray[41].lock) -#define OldSnapshotTimeMapLock (&MainLWLockArray[42].lock) #define LogicalRepWorkerLock (&MainLWLockArray[43].lock) #define XactTruncationLock (&MainLWLockArray[44].lock) #define WrapLimitsVacuumLock (&MainLWLockArray[46].lock) #define NotifyQueueTailLock (&MainLWLockArray[47].lock) +#define WaitEventCustomLock (&MainLWLockArray[48].lock) +#define WALSummarizerLock (&MainLWLockArray[49].lock) +#define DSMRegistryLock (&MainLWLockArray[50].lock) +#define InjectionPointLock (&MainLWLockArray[51].lock) +#define SerialControlLock (&MainLWLockArray[52].lock) -#define NUM_INDIVIDUAL_LWLOCKS 48 +#define NUM_INDIVIDUAL_LWLOCKS 53 diff --git a/parser/include/storage/off.h b/parser/include/postgres/storage/off.h similarity index 95% rename from parser/include/storage/off.h rename to parser/include/postgres/storage/off.h index e6573aca..575cca83 100644 --- a/parser/include/storage/off.h +++ b/parser/include/postgres/storage/off.h @@ -4,7 +4,7 @@ * POSTGRES disk "offset" definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/off.h diff --git a/parser/include/storage/pg_sema.h b/parser/include/postgres/storage/pg_sema.h similarity index 97% rename from parser/include/storage/pg_sema.h rename to parser/include/postgres/storage/pg_sema.h index 5ca941ae..dfef79ac 100644 --- a/parser/include/storage/pg_sema.h +++ b/parser/include/postgres/storage/pg_sema.h @@ -10,7 +10,7 @@ * be provided by each port. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pg_sema.h diff --git a/parser/include/storage/pg_shmem.h b/parser/include/postgres/storage/pg_shmem.h similarity index 91% rename from parser/include/storage/pg_shmem.h rename to parser/include/postgres/storage/pg_shmem.h index da5962ed..3065ff5b 100644 --- a/parser/include/storage/pg_shmem.h +++ b/parser/include/postgres/storage/pg_shmem.h @@ -14,7 +14,7 @@ * only one ID number. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pg_shmem.h @@ -46,12 +46,13 @@ extern PGDLLIMPORT int shared_memory_type; extern PGDLLIMPORT int huge_pages; extern PGDLLIMPORT int huge_page_size; -/* Possible values for huge_pages */ +/* Possible values for huge_pages and huge_pages_status */ typedef enum { HUGE_PAGES_OFF, HUGE_PAGES_ON, - HUGE_PAGES_TRY + HUGE_PAGES_TRY, /* only for huge_pages */ + HUGE_PAGES_UNKNOWN, /* only for huge_pages_status */ } HugePagesType; /* Possible values for shared_memory_type */ @@ -59,7 +60,7 @@ typedef enum { SHMEM_TYPE_WINDOWS, SHMEM_TYPE_SYSV, - SHMEM_TYPE_MMAP + SHMEM_TYPE_MMAP, } PGShmemType; #ifndef WIN32 diff --git a/parser/include/storage/pmsignal.h b/parser/include/postgres/storage/pmsignal.h similarity index 96% rename from parser/include/storage/pmsignal.h rename to parser/include/postgres/storage/pmsignal.h index 58f4ddf4..029b7201 100644 --- a/parser/include/storage/pmsignal.h +++ b/parser/include/postgres/storage/pmsignal.h @@ -4,7 +4,7 @@ * routines for signaling between the postmaster and its child processes * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/pmsignal.h @@ -51,7 +51,7 @@ typedef enum { PMQUIT_NOT_SENT = 0, /* postmaster hasn't sent SIGQUIT */ PMQUIT_FOR_CRASH, /* some other backend bought the farm */ - PMQUIT_FOR_STOP /* immediate stop was commanded */ + PMQUIT_FOR_STOP, /* immediate stop was commanded */ } QuitSignalReason; /* PMSignalData is an opaque struct, details known only within pmsignal.c */ diff --git a/parser/include/storage/predicate.h b/parser/include/postgres/storage/predicate.h similarity index 94% rename from parser/include/storage/predicate.h rename to parser/include/postgres/storage/predicate.h index 8dfcb394..14ee9b94 100644 --- a/parser/include/storage/predicate.h +++ b/parser/include/postgres/storage/predicate.h @@ -4,7 +4,7 @@ * POSTGRES public predicate locking definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/predicate.h @@ -26,10 +26,6 @@ extern PGDLLIMPORT int max_predicate_locks_per_xact; extern PGDLLIMPORT int max_predicate_locks_per_relation; extern PGDLLIMPORT int max_predicate_locks_per_page; - -/* Number of SLRU buffers to use for Serial SLRU */ -#define NUM_SERIAL_BUFFERS 16 - /* * A handle used for sharing SERIALIZABLEXACT objects between the participants * in a parallel query. @@ -58,7 +54,7 @@ extern void RegisterPredicateLockingXid(TransactionId xid); extern void PredicateLockRelation(Relation relation, Snapshot snapshot); extern void PredicateLockPage(Relation relation, BlockNumber blkno, Snapshot snapshot); extern void PredicateLockTID(Relation relation, ItemPointer tid, Snapshot snapshot, - TransactionId insert_xid); + TransactionId tuple_xid); extern void PredicateLockPageSplit(Relation relation, BlockNumber oldblkno, BlockNumber newblkno); extern void PredicateLockPageCombine(Relation relation, BlockNumber oldblkno, BlockNumber newblkno); extern void TransferPredicateLocksToHeapRelation(Relation relation); diff --git a/parser/include/storage/proc.h b/parser/include/postgres/storage/proc.h similarity index 84% rename from parser/include/storage/proc.h rename to parser/include/postgres/storage/proc.h index 2579e619..bf0a714d 100644 --- a/parser/include/storage/proc.h +++ b/parser/include/postgres/storage/proc.h @@ -4,7 +4,7 @@ * per-process shared memory data structures * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/proc.h @@ -21,6 +21,7 @@ #include "storage/lock.h" #include "storage/pg_sema.h" #include "storage/proclist_types.h" +#include "storage/procnumber.h" /* * Each backend advertises up to PGPROC_MAX_CACHED_SUBXIDS TransactionIds @@ -32,6 +33,8 @@ * If none of the caches have overflowed, we can assume that an XID that's not * listed anywhere in the PGPROC array is not a running transaction. Else we * have to look at pg_subtrans. + * + * See src/test/isolation/specs/subxid-overflow.spec if you change this. */ #define PGPROC_MAX_CACHED_SUBXIDS 64 /* XXX guessed-at value */ @@ -83,13 +86,7 @@ struct XidCache #define FP_LOCK_SLOTS_PER_BACKEND 16 /* - * An invalid pgprocno. Must be larger than the maximum number of PGPROC - * structures we could possibly have. See comments for MAX_BACKENDS. - */ -#define INVALID_PGPROCNO PG_INT32_MAX - -/* - * Flags for PGPROC.delayChkpt + * Flags for PGPROC.delayChkptFlags * * These flags can be used to delay the start or completion of a checkpoint * for short periods. A flag is in effect if the corresponding bit is set in @@ -116,7 +113,7 @@ struct XidCache * to phase 3. This is useful if we are performing a WAL-logged operation that * might invalidate buffers, such as relation truncation. In this case, we need * to ensure that any buffers which were invalidated and thus not flushed by - * the checkpoint are actaully destroyed on disk. Replay can cope with a file + * the checkpoint are actually destroyed on disk. Replay can cope with a file * or block that doesn't exist, but not with a block that has the wrong * contents. */ @@ -147,7 +144,7 @@ typedef enum * but its myProcLocks[] lists are valid. * * We allow many fields of this struct to be accessed without locks, such as - * delayChkpt and isBackgroundWorker. However, keep in mind that writing + * delayChkptFlags and isBackgroundWorker. However, keep in mind that writing * mirrored ones (see below) requires holding ProcArrayLock or XidGenLock in * at least shared mode, so that pgxactoff does not change concurrently. * @@ -165,8 +162,8 @@ typedef enum struct PGPROC { /* proc->links MUST BE FIRST IN STRUCT (see ProcSleep,ProcWakeup,etc) */ - SHM_QUEUE links; /* list link if process is in a list */ - PGPROC **procgloballist; /* procglobal list that owns this PGPROC */ + dlist_node links; /* list link if process is in a list */ + dlist_head *procgloballist; /* procglobal list that owns this PGPROC */ PGSemaphore sem; /* ONE semaphore to sleep on */ ProcWaitStatus waitStatus; @@ -184,24 +181,38 @@ struct PGPROC * vacuum must not remove tuples deleted by * xid >= xmin ! */ - LocalTransactionId lxid; /* local id of top-level transaction currently - * being executed by this proc, if running; - * else InvalidLocalTransactionId */ int pid; /* Backend's process ID; 0 if prepared xact */ int pgxactoff; /* offset into various ProcGlobal->arrays with * data mirrored from this PGPROC */ - int pgprocno; + + /* + * Currently running top-level transaction's virtual xid. Together these + * form a VirtualTransactionId, but we don't use that struct because this + * is not atomically assignable as whole, and we want to enforce code to + * consider both parts separately. See comments at VirtualTransactionId. + */ + struct + { + ProcNumber procNumber; /* For regular backends, equal to + * GetNumberFromPGProc(proc). For prepared + * xacts, ID of the original backend that + * processed the transaction. For unused + * PGPROC entries, INVALID_PROC_NUMBER. */ + LocalTransactionId lxid; /* local id of top-level transaction + * currently * being executed by this + * proc, if running; else + * InvalidLocalTransactionId */ + } vxid; /* These fields are zero while a backend is still starting up: */ - BackendId backendId; /* This backend's backend ID (if assigned) */ Oid databaseId; /* OID of database this backend is using */ Oid roleId; /* OID of role using this backend */ Oid tempNamespaceId; /* OID of temp schema this backend is * using */ - bool isBackgroundWorker; /* true if background worker. */ + bool isBackgroundWorker; /* true if not a regular backend. */ /* * While in hot standby mode, shows that a conflict signal has been sent @@ -211,7 +222,7 @@ struct PGPROC bool recoveryConflictPending; /* Info about LWLock the process is currently waiting for, if any. */ - bool lwWaiting; /* true if waiting for an LW lock */ + uint8 lwWaiting; /* see LWLockWaitState */ uint8 lwWaitMode; /* lwlock mode being waited for */ proclist_node lwWaitLink; /* position in LW lock wait list */ @@ -242,14 +253,14 @@ struct PGPROC */ XLogRecPtr waitLSN; /* waiting for this LSN or higher */ int syncRepState; /* wait state for sync rep */ - SHM_QUEUE syncRepLinks; /* list link if process is in syncrep queue */ + dlist_node syncRepLinks; /* list link if process is in syncrep queue */ /* * All PROCLOCK objects for locks held or awaited by this backend are * linked into one of these lists, according to the partition number of * their lock. */ - SHM_QUEUE myProcLocks[NUM_LOCK_PARTITIONS]; + dlist_head myProcLocks[NUM_LOCK_PARTITIONS]; XidCacheStatus subxidStatus; /* mirrored with * ProcGlobal->subxidStates[i] */ @@ -275,7 +286,7 @@ struct PGPROC TransactionId clogGroupMemberXid; /* transaction id of clog group member */ XidStatus clogGroupMemberXidStatus; /* transaction status of clog * group member */ - int clogGroupMemberPage; /* clog page corresponding to + int64 clogGroupMemberPage; /* clog page corresponding to * transaction id of clog group member */ XLogRecPtr clogGroupMemberLsn; /* WAL location of commit record for clog * group member */ @@ -379,13 +390,13 @@ typedef struct PROC_HDR /* Length of allProcs array */ uint32 allProcCount; /* Head of list of free PGPROC structures */ - PGPROC *freeProcs; - /* Head of list of autovacuum's free PGPROC structures */ - PGPROC *autovacFreeProcs; + dlist_head freeProcs; + /* Head of list of autovacuum & special worker free PGPROC structures */ + dlist_head autovacFreeProcs; /* Head of list of bgworker free PGPROC structures */ - PGPROC *bgworkerFreeProcs; + dlist_head bgworkerFreeProcs; /* Head of list of walsender free PGPROC structures */ - PGPROC *walsenderFreeProcs; + dlist_head walsenderFreeProcs; /* First pgproc waiting for group XID clear */ pg_atomic_uint32 procArrayGroupFirst; /* First pgproc waiting for group transaction status update */ @@ -404,24 +415,39 @@ extern PGDLLIMPORT PROC_HDR *ProcGlobal; extern PGDLLIMPORT PGPROC *PreparedXactProcs; -/* Accessor for PGPROC given a pgprocno. */ +/* + * Accessors for getting PGPROC given a ProcNumber and vice versa. + */ #define GetPGProcByNumber(n) (&ProcGlobal->allProcs[(n)]) +#define GetNumberFromPGProc(proc) ((proc) - &ProcGlobal->allProcs[0]) + +/* + * We set aside some extra PGPROC structures for "special worker" processes, + * which are full-fledged backends (they can run transactions) + * but are unique animals that there's never more than one of. + * Currently there are two such processes: the autovacuum launcher + * and the slotsync worker. + */ +#define NUM_SPECIAL_WORKER_PROCS 2 /* * We set aside some extra PGPROC structures for auxiliary processes, - * ie things that aren't full-fledged backends but need shmem access. + * ie things that aren't full-fledged backends (they cannot run transactions + * or take heavyweight locks) but need shmem access. * - * Background writer, checkpointer, WAL writer and archiver run during normal - * operation. Startup process and WAL receiver also consume 2 slots, but WAL - * writer is launched only after startup has exited, so we only need 5 slots. + * Background writer, checkpointer, WAL writer, WAL summarizer, and archiver + * run during normal operation. Startup process and WAL receiver also consume + * 2 slots, but WAL writer is launched only after startup has exited, so we + * only need 6 slots. */ -#define NUM_AUXILIARY_PROCS 5 +#define NUM_AUXILIARY_PROCS 6 /* configurable options */ extern PGDLLIMPORT int DeadlockTimeout; extern PGDLLIMPORT int StatementTimeout; extern PGDLLIMPORT int LockTimeout; extern PGDLLIMPORT int IdleInTransactionSessionTimeout; +extern PGDLLIMPORT int TransactionTimeout; extern PGDLLIMPORT int IdleSessionTimeout; extern PGDLLIMPORT bool log_lock_waits; @@ -439,19 +465,20 @@ extern void InitAuxiliaryProcess(void); extern void SetStartupBufferPinWaitBufId(int bufid); extern int GetStartupBufferPinWaitBufId(void); -extern bool HaveNFreeProcs(int n); +extern bool HaveNFreeProcs(int n, int *nfree); extern void ProcReleaseLocks(bool isCommit); -extern void ProcQueueInit(PROC_QUEUE *queue); -extern ProcWaitStatus ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable); -extern PGPROC *ProcWakeup(PGPROC *proc, ProcWaitStatus waitStatus); +extern ProcWaitStatus ProcSleep(LOCALLOCK *locallock, + LockMethod lockMethodTable, + bool dontWait); +extern void ProcWakeup(PGPROC *proc, ProcWaitStatus waitStatus); extern void ProcLockWakeup(LockMethod lockMethodTable, LOCK *lock); extern void CheckDeadLockAlert(void); extern bool IsWaitingForLock(void); extern void LockErrorCleanup(void); extern void ProcWaitForSignal(uint32 wait_event_info); -extern void ProcSendSignal(int pgprocno); +extern void ProcSendSignal(ProcNumber procNumber); extern PGPROC *AuxiliaryPidGetProc(int pid); diff --git a/parser/include/storage/procarray.h b/parser/include/postgres/storage/procarray.h similarity index 90% rename from parser/include/storage/procarray.h rename to parser/include/postgres/storage/procarray.h index 1b2cfac5..8ca60504 100644 --- a/parser/include/storage/procarray.h +++ b/parser/include/postgres/storage/procarray.h @@ -4,7 +4,7 @@ * POSTGRES process array definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/procarray.h @@ -39,6 +39,7 @@ extern void ExpireTreeKnownAssignedTransactionIds(TransactionId xid, TransactionId max_xid); extern void ExpireAllKnownAssignedTransactionIds(void); extern void ExpireOldKnownAssignedTransactionIds(TransactionId xid); +extern void KnownAssignedTransactionIdsIdleMaintenance(void); extern int GetMaxSnapshotXidCount(void); extern int GetMaxSnapshotSubxidCount(void); @@ -57,12 +58,16 @@ extern TransactionId GetOldestNonRemovableTransactionId(Relation rel); extern TransactionId GetOldestTransactionIdConsideredRunning(void); extern TransactionId GetOldestActiveTransactionId(void); extern TransactionId GetOldestSafeDecodingTransactionId(bool catalogOnly); -extern void GetReplicationHorizons(TransactionId *slot_xmin, TransactionId *catalog_xmin); +extern void GetReplicationHorizons(TransactionId *xmin, TransactionId *catalog_xmin); extern VirtualTransactionId *GetVirtualXIDsDelayingChkpt(int *nvxids, int type); extern bool HaveVirtualXIDsDelayingChkpt(VirtualTransactionId *vxids, int nvxids, int type); +extern PGPROC *ProcNumberGetProc(int procNumber); +extern void ProcNumberGetTransactionIds(int procNumber, TransactionId *xid, + TransactionId *xmin, int *nsubxid, + bool *overflowed); extern PGPROC *BackendPidGetProc(int pid); extern PGPROC *BackendPidGetProcWithLock(int pid); extern int BackendXidGetPid(TransactionId xid); diff --git a/parser/include/storage/proclist_types.h b/parser/include/postgres/storage/proclist_types.h similarity index 65% rename from parser/include/storage/proclist_types.h rename to parser/include/postgres/storage/proclist_types.h index 52326794..a4fb88c1 100644 --- a/parser/include/storage/proclist_types.h +++ b/parser/include/postgres/storage/proclist_types.h @@ -5,7 +5,7 @@ * * See proclist.h for functions that operate on these types. * - * Portions Copyright (c) 2016-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2016-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/include/storage/proclist_types.h @@ -15,28 +15,30 @@ #ifndef PROCLIST_TYPES_H #define PROCLIST_TYPES_H +#include "storage/procnumber.h" + /* * A node in a doubly-linked list of processes. The link fields contain * the 0-based PGPROC indexes of the next and previous process, or - * INVALID_PGPROCNO in the next-link of the last node and the prev-link + * INVALID_PROC_NUMBER in the next-link of the last node and the prev-link * of the first node. A node that is currently not in any list * should have next == prev == 0; this is not a possible state for a node * that is in a list, because we disallow circularity. */ typedef struct proclist_node { - int next; /* pgprocno of the next PGPROC */ - int prev; /* pgprocno of the prev PGPROC */ + ProcNumber next; /* pgprocno of the next PGPROC */ + ProcNumber prev; /* pgprocno of the prev PGPROC */ } proclist_node; /* * Header of a doubly-linked list of PGPROCs, identified by pgprocno. - * An empty list is represented by head == tail == INVALID_PGPROCNO. + * An empty list is represented by head == tail == INVALID_PROC_NUMBER. */ typedef struct proclist_head { - int head; /* pgprocno of the head PGPROC */ - int tail; /* pgprocno of the tail PGPROC */ + ProcNumber head; /* pgprocno of the head PGPROC */ + ProcNumber tail; /* pgprocno of the tail PGPROC */ } proclist_head; /* @@ -44,8 +46,8 @@ typedef struct proclist_head */ typedef struct proclist_mutable_iter { - int cur; /* pgprocno of the current PGPROC */ - int next; /* pgprocno of the next PGPROC */ + ProcNumber cur; /* pgprocno of the current PGPROC */ + ProcNumber next; /* pgprocno of the next PGPROC */ } proclist_mutable_iter; #endif /* PROCLIST_TYPES_H */ diff --git a/parser/include/postgres/storage/procnumber.h b/parser/include/postgres/storage/procnumber.h new file mode 100644 index 00000000..49eb0e21 --- /dev/null +++ b/parser/include/postgres/storage/procnumber.h @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * procnumber.h + * definition of process number + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/procnumber.h + * + *------------------------------------------------------------------------- + */ +#ifndef PROCNUMBER_H +#define PROCNUMBER_H + +/* + * ProcNumber uniquely identifies an active backend or auxiliary process. + * It's assigned at backend startup after authentication, when the process + * adds itself to the proc array. It is an index into the proc array, + * starting from 0. Note that a ProcNumber can be reused for a different + * backend immediately after a backend exits. + */ +typedef int ProcNumber; + +#define INVALID_PROC_NUMBER (-1) + +/* + * Proc number of this backend (same as GetNumberFromPGProc(MyProc)) + */ +extern PGDLLIMPORT ProcNumber MyProcNumber; + +/* proc number of our parallel session leader, or INVALID_PROC_NUMBER if none */ +extern PGDLLIMPORT ProcNumber ParallelLeaderProcNumber; + +/* + * The ProcNumber to use for our session's temp relations is normally our own, + * but parallel workers should use their leader's proc number. + */ +#define ProcNumberForTempRelations() \ + (ParallelLeaderProcNumber == INVALID_PROC_NUMBER ? MyProcNumber : ParallelLeaderProcNumber) + +#endif /* PROCNUMBER_H */ diff --git a/parser/include/storage/procsignal.h b/parser/include/postgres/storage/procsignal.h similarity index 79% rename from parser/include/storage/procsignal.h rename to parser/include/postgres/storage/procsignal.h index ee636900..7d290ea7 100644 --- a/parser/include/storage/procsignal.h +++ b/parser/include/postgres/storage/procsignal.h @@ -4,7 +4,7 @@ * Routines for interprocess signaling * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/procsignal.h @@ -14,7 +14,7 @@ #ifndef PROCSIGNAL_H #define PROCSIGNAL_H -#include "storage/backendid.h" +#include "storage/procnumber.h" /* @@ -35,21 +35,25 @@ typedef enum PROCSIG_WALSND_INIT_STOPPING, /* ask walsenders to prepare for shutdown */ PROCSIG_BARRIER, /* global barrier interrupt */ PROCSIG_LOG_MEMORY_CONTEXT, /* ask backend to log the memory contexts */ + PROCSIG_PARALLEL_APPLY_MESSAGE, /* Message from parallel apply workers */ /* Recovery conflict reasons */ - PROCSIG_RECOVERY_CONFLICT_DATABASE, + PROCSIG_RECOVERY_CONFLICT_FIRST, + PROCSIG_RECOVERY_CONFLICT_DATABASE = PROCSIG_RECOVERY_CONFLICT_FIRST, PROCSIG_RECOVERY_CONFLICT_TABLESPACE, PROCSIG_RECOVERY_CONFLICT_LOCK, PROCSIG_RECOVERY_CONFLICT_SNAPSHOT, + PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT, PROCSIG_RECOVERY_CONFLICT_BUFFERPIN, PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK, + PROCSIG_RECOVERY_CONFLICT_LAST = PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK, NUM_PROCSIGNALS /* Must be last! */ } ProcSignalReason; typedef enum { - PROCSIGNAL_BARRIER_SMGRRELEASE /* ask smgr to close files */ + PROCSIGNAL_BARRIER_SMGRRELEASE, /* ask smgr to close files */ } ProcSignalBarrierType; /* @@ -58,9 +62,9 @@ typedef enum extern Size ProcSignalShmemSize(void); extern void ProcSignalShmemInit(void); -extern void ProcSignalInit(int pss_idx); +extern void ProcSignalInit(void); extern int SendProcSignal(pid_t pid, ProcSignalReason reason, - BackendId backendId); + ProcNumber procNumber); extern uint64 EmitProcSignalBarrier(ProcSignalBarrierType type); extern void WaitForProcSignalBarrier(uint64 generation); diff --git a/parser/include/postgres/storage/read_stream.h b/parser/include/postgres/storage/read_stream.h new file mode 100644 index 00000000..7b9005e8 --- /dev/null +++ b/parser/include/postgres/storage/read_stream.h @@ -0,0 +1,65 @@ +/*------------------------------------------------------------------------- + * + * read_stream.h + * Mechanism for accessing buffered relation data with look-ahead + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/read_stream.h + * + *------------------------------------------------------------------------- + */ +#ifndef READ_STREAM_H +#define READ_STREAM_H + +#include "storage/bufmgr.h" + +/* Default tuning, reasonable for many users. */ +#define READ_STREAM_DEFAULT 0x00 + +/* + * I/O streams that are performing maintenance work on behalf of potentially + * many users, and thus should be governed by maintenance_io_concurrency + * instead of effective_io_concurrency. For example, VACUUM or CREATE INDEX. + */ +#define READ_STREAM_MAINTENANCE 0x01 + +/* + * We usually avoid issuing prefetch advice automatically when sequential + * access is detected, but this flag explicitly disables it, for cases that + * might not be correctly detected. Explicit advice is known to perform worse + * than letting the kernel (at least Linux) detect sequential access. + */ +#define READ_STREAM_SEQUENTIAL 0x02 + +/* + * We usually ramp up from smaller reads to larger ones, to support users who + * don't know if it's worth reading lots of buffers yet. This flag disables + * that, declaring ahead of time that we'll be reading all available buffers. + */ +#define READ_STREAM_FULL 0x04 + +struct ReadStream; +typedef struct ReadStream ReadStream; + +/* Callback that returns the next block number to read. */ +typedef BlockNumber (*ReadStreamBlockNumberCB) (ReadStream *stream, + void *callback_private_data, + void *per_buffer_data); + +extern ReadStream *read_stream_begin_relation(int flags, + BufferAccessStrategy strategy, + Relation rel, + ForkNumber forknum, + ReadStreamBlockNumberCB callback, + void *callback_private_data, + size_t per_buffer_data_size); +extern Buffer read_stream_next_buffer(ReadStream *stream, void **per_buffer_data); +extern BlockNumber read_stream_next_block(ReadStream *stream, + BufferAccessStrategy *strategy); +extern void read_stream_reset(ReadStream *stream); +extern void read_stream_end(ReadStream *stream); + +#endif /* READ_STREAM_H */ diff --git a/parser/include/postgres/storage/relfilelocator.h b/parser/include/postgres/storage/relfilelocator.h new file mode 100644 index 00000000..2f970a25 --- /dev/null +++ b/parser/include/postgres/storage/relfilelocator.h @@ -0,0 +1,100 @@ +/*------------------------------------------------------------------------- + * + * relfilelocator.h + * Physical access information for relations. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/storage/relfilelocator.h + * + *------------------------------------------------------------------------- + */ +#ifndef RELFILELOCATOR_H +#define RELFILELOCATOR_H + +#include "common/relpath.h" +#include "storage/procnumber.h" + +/* + * RelFileLocator must provide all that we need to know to physically access + * a relation, with the exception of the backend's proc number, which can be + * provided separately. Note, however, that a "physical" relation is + * comprised of multiple files on the filesystem, as each fork is stored as + * a separate file, and each fork can be divided into multiple segments. See + * md.c. + * + * spcOid identifies the tablespace of the relation. It corresponds to + * pg_tablespace.oid. + * + * dbOid identifies the database of the relation. It is zero for + * "shared" relations (those common to all databases of a cluster). + * Nonzero dbOid values correspond to pg_database.oid. + * + * relNumber identifies the specific relation. relNumber corresponds to + * pg_class.relfilenode (NOT pg_class.oid, because we need to be able + * to assign new physical files to relations in some situations). + * Notice that relNumber is only unique within a database in a particular + * tablespace. + * + * Note: spcOid must be GLOBALTABLESPACE_OID if and only if dbOid is + * zero. We support shared relations only in the "global" tablespace. + * + * Note: in pg_class we allow reltablespace == 0 to denote that the + * relation is stored in its database's "default" tablespace (as + * identified by pg_database.dattablespace). However this shorthand + * is NOT allowed in RelFileLocator structs --- the real tablespace ID + * must be supplied when setting spcOid. + * + * Note: in pg_class, relfilenode can be zero to denote that the relation + * is a "mapped" relation, whose current true filenode number is available + * from relmapper.c. Again, this case is NOT allowed in RelFileLocators. + * + * Note: various places use RelFileLocator in hashtable keys. Therefore, + * there *must not* be any unused padding bytes in this struct. That + * should be safe as long as all the fields are of type Oid. + */ +typedef struct RelFileLocator +{ + Oid spcOid; /* tablespace */ + Oid dbOid; /* database */ + RelFileNumber relNumber; /* relation */ +} RelFileLocator; + +/* + * Augmenting a relfilelocator with the backend's proc number provides all the + * information we need to locate the physical storage. 'backend' is + * INVALID_PROC_NUMBER for regular relations (those accessible to more than + * one backend), or the owning backend's proc number for backend-local + * relations. Backend-local relations are always transient and removed in + * case of a database crash; they are never WAL-logged or fsync'd. + */ +typedef struct RelFileLocatorBackend +{ + RelFileLocator locator; + ProcNumber backend; +} RelFileLocatorBackend; + +#define RelFileLocatorBackendIsTemp(rlocator) \ + ((rlocator).backend != INVALID_PROC_NUMBER) + +/* + * Note: RelFileLocatorEquals and RelFileLocatorBackendEquals compare relNumber + * first since that is most likely to be different in two unequal + * RelFileLocators. It is probably redundant to compare spcOid if the other + * fields are found equal, but do it anyway to be sure. Likewise for checking + * the backend number in RelFileLocatorBackendEquals. + */ +#define RelFileLocatorEquals(locator1, locator2) \ + ((locator1).relNumber == (locator2).relNumber && \ + (locator1).dbOid == (locator2).dbOid && \ + (locator1).spcOid == (locator2).spcOid) + +#define RelFileLocatorBackendEquals(locator1, locator2) \ + ((locator1).locator.relNumber == (locator2).locator.relNumber && \ + (locator1).locator.dbOid == (locator2).locator.dbOid && \ + (locator1).backend == (locator2).backend && \ + (locator1).locator.spcOid == (locator2).locator.spcOid) + +#endif /* RELFILELOCATOR_H */ diff --git a/parser/include/storage/s_lock.h b/parser/include/postgres/storage/s_lock.h similarity index 75% rename from parser/include/storage/s_lock.h rename to parser/include/postgres/storage/s_lock.h index 4d3ffc76..29ac6cdc 100644 --- a/parser/include/storage/s_lock.h +++ b/parser/include/postgres/storage/s_lock.h @@ -86,7 +86,7 @@ * when using the SysV semaphore code. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/s_lock.h @@ -142,7 +142,7 @@ typedef unsigned char slock_t; static __inline__ int tas(volatile slock_t *lock) { - register slock_t _res = 1; + slock_t _res = 1; /* * Use a non-locking test before asserting the bus lock. Note that the @@ -223,7 +223,7 @@ typedef unsigned char slock_t; static __inline__ int tas(volatile slock_t *lock) { - register slock_t _res = 1; + slock_t _res = 1; __asm__ __volatile__( " lock \n" @@ -250,78 +250,13 @@ spin_delay(void) #endif /* __x86_64__ */ -#if defined(__ia64__) || defined(__ia64) -/* - * Intel Itanium, gcc or Intel's compiler. - * - * Itanium has weak memory ordering, but we rely on the compiler to enforce - * strict ordering of accesses to volatile data. In particular, while the - * xchg instruction implicitly acts as a memory barrier with 'acquire' - * semantics, we do not have an explicit memory fence instruction in the - * S_UNLOCK macro. We use a regular assignment to clear the spinlock, and - * trust that the compiler marks the generated store instruction with the - * ".rel" opcode. - * - * Testing shows that assumption to hold on gcc, although I could not find - * any explicit statement on that in the gcc manual. In Intel's compiler, - * the -m[no-]serialize-volatile option controls that, and testing shows that - * it is enabled by default. - * - * While icc accepts gcc asm blocks on x86[_64], this is not true on ia64 - * (at least not in icc versions before 12.x). So we have to carry a separate - * compiler-intrinsic-based implementation for it. - */ -#define HAS_TEST_AND_SET - -typedef unsigned int slock_t; - -#define TAS(lock) tas(lock) - -/* On IA64, it's a win to use a non-locking test before the xchg proper */ -#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock)) - -#ifndef __INTEL_COMPILER - -static __inline__ int -tas(volatile slock_t *lock) -{ - long int ret; - - __asm__ __volatile__( - " xchg4 %0=%1,%2 \n" -: "=r"(ret), "+m"(*lock) -: "r"(1) -: "memory"); - return (int) ret; -} - -#else /* __INTEL_COMPILER */ - -static __inline__ int -tas(volatile slock_t *lock) -{ - int ret; - - ret = _InterlockedExchange(lock,1); /* this is a xchg asm macro */ - - return ret; -} - -/* icc can't use the regular gcc S_UNLOCK() macro either in this case */ -#define S_UNLOCK(lock) \ - do { __memory_barrier(); *(lock) = 0; } while (0) - -#endif /* __INTEL_COMPILER */ -#endif /* __ia64__ || __ia64 */ - - /* * On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available. * * We use the int-width variant of the builtin because it works on more chips * than other widths. */ -#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) +#if defined(__arm__) || defined(__arm) || defined(__aarch64__) #ifdef HAVE_GCC__SYNC_INT32_TAS #define HAS_TEST_AND_SET @@ -342,7 +277,7 @@ tas(volatile slock_t *lock) * high-core-count ARM64 processors. It seems mostly a wash for smaller gear, * and ISB doesn't exist at all on pre-v7 ARM chips. */ -#if defined(__aarch64__) || defined(__aarch64) +#if defined(__aarch64__) #define SPIN_DELAY() spin_delay() @@ -353,9 +288,9 @@ spin_delay(void) " isb; \n"); } -#endif /* __aarch64__ || __aarch64 */ +#endif /* __aarch64__ */ #endif /* HAVE_GCC__SYNC_INT32_TAS */ -#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */ +#endif /* __arm__ || __arm || __aarch64__ */ /* S/390 and S/390x Linux (32- and 64-bit zSeries) */ @@ -386,7 +321,7 @@ tas(volatile slock_t *lock) /* * Solaris has always run sparc processors in TSO (total store) mode, but * linux didn't use to and the *BSDs still don't. So, be careful about - * acquire/release semantics. The CPU will treat superfluous membars as + * acquire/release semantics. The CPU will treat superfluous members as * NOPs, so it's just code space. */ #define HAS_TEST_AND_SET @@ -398,7 +333,7 @@ typedef unsigned char slock_t; static __inline__ int tas(volatile slock_t *lock) { - register slock_t _res; + slock_t _res; /* * See comment in src/backend/port/tas/sunstudio_sparc.s for why this @@ -477,13 +412,8 @@ typedef unsigned int slock_t; * * NOTE: per the Enhanced PowerPC Architecture manual, v1.0 dated 7-May-2002, * an isync is a sufficient synchronization barrier after a lwarx/stwcx loop. - * On newer machines, we can use lwsync instead for better performance. - * - * Ordinarily, we'd code the branches here using GNU-style local symbols, that - * is "1f" referencing "1:" and so on. But some people run gcc on AIX with - * IBM's assembler as backend, and IBM's assembler doesn't do local symbols. - * So hand-code the branch offsets; fortunately, all PPC instructions are - * exactly 4 bytes each, so it's not too hard to count. + * But if the spinlock is in ordinary memory, we can use lwsync instead for + * better performance. */ static __inline__ int tas(volatile slock_t *lock) @@ -492,25 +422,19 @@ tas(volatile slock_t *lock) int _res; __asm__ __volatile__( -#ifdef USE_PPC_LWARX_MUTEX_HINT " lwarx %0,0,%3,1 \n" -#else -" lwarx %0,0,%3 \n" -#endif " cmpwi %0,0 \n" -" bne $+16 \n" /* branch to li %1,1 */ +" bne 1f \n" " addi %0,%0,1 \n" " stwcx. %0,0,%3 \n" -" beq $+12 \n" /* branch to lwsync/isync */ +" beq 2f \n" +"1: \n" " li %1,1 \n" -" b $+12 \n" /* branch to end of asm sequence */ -#ifdef USE_PPC_LWSYNC +" b 3f \n" +"2: \n" " lwsync \n" -#else -" isync \n" -#endif " li %1,0 \n" - +"3: \n" : "=&b"(_t), "=r"(_res), "+m"(*lock) : "r"(lock) : "memory", "cc"); @@ -519,107 +443,18 @@ tas(volatile slock_t *lock) /* * PowerPC S_UNLOCK is almost standard but requires a "sync" instruction. - * On newer machines, we can use lwsync instead for better performance. + * But we can use lwsync instead for better performance. */ -#ifdef USE_PPC_LWSYNC #define S_UNLOCK(lock) \ do \ { \ __asm__ __volatile__ (" lwsync \n" ::: "memory"); \ *((volatile slock_t *) (lock)) = 0; \ } while (0) -#else -#define S_UNLOCK(lock) \ -do \ -{ \ - __asm__ __volatile__ (" sync \n" ::: "memory"); \ - *((volatile slock_t *) (lock)) = 0; \ -} while (0) -#endif /* USE_PPC_LWSYNC */ #endif /* powerpc */ -/* Linux Motorola 68k */ -#if (defined(__mc68000__) || defined(__m68k__)) && defined(__linux__) -#define HAS_TEST_AND_SET - -typedef unsigned char slock_t; - -#define TAS(lock) tas(lock) - -static __inline__ int -tas(volatile slock_t *lock) -{ - register int rv; - - __asm__ __volatile__( - " clrl %0 \n" - " tas %1 \n" - " sne %0 \n" -: "=d"(rv), "+m"(*lock) -: /* no inputs */ -: "memory", "cc"); - return rv; -} - -#endif /* (__mc68000__ || __m68k__) && __linux__ */ - - -/* Motorola 88k */ -#if defined(__m88k__) -#define HAS_TEST_AND_SET - -typedef unsigned int slock_t; - -#define TAS(lock) tas(lock) - -static __inline__ int -tas(volatile slock_t *lock) -{ - register slock_t _res = 1; - - __asm__ __volatile__( - " xmem %0, %2, %%r0 \n" -: "+r"(_res), "+m"(*lock) -: "r"(lock) -: "memory"); - return (int) _res; -} - -#endif /* __m88k__ */ - - -/* - * VAXen -- even multiprocessor ones - * (thanks to Tom Ivar Helbekkmo) - */ -#if defined(__vax__) -#define HAS_TEST_AND_SET - -typedef unsigned char slock_t; - -#define TAS(lock) tas(lock) - -static __inline__ int -tas(volatile slock_t *lock) -{ - register int _res; - - __asm__ __volatile__( - " movl $1, %0 \n" - " bbssi $0, (%2), 1f \n" - " clrl %0 \n" - "1: \n" -: "=&r"(_res), "+m"(*lock) -: "r"(lock) -: "memory"); - return _res; -} - -#endif /* __vax__ */ - - #if defined(__mips__) && !defined(__sgi) /* non-SGI MIPS */ #define HAS_TEST_AND_SET @@ -649,9 +484,9 @@ typedef unsigned int slock_t; static __inline__ int tas(volatile slock_t *lock) { - register volatile slock_t *_l = lock; - register int _res; - register int _tmp; + volatile slock_t *_l = lock; + int _res; + int _tmp; __asm__ __volatile__( " .set push \n" @@ -691,56 +526,70 @@ do \ #endif /* __mips__ && !__sgi */ -#if defined(__m32r__) && defined(HAVE_SYS_TAS_H) /* Renesas' M32R */ -#define HAS_TEST_AND_SET - -#include - -typedef int slock_t; - -#define TAS(lock) tas(lock) - -#endif /* __m32r__ */ - - -#if defined(__sh__) /* Renesas' SuperH */ +#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC */ +/* + * HP's PA-RISC + * + * Because LDCWX requires a 16-byte-aligned address, we declare slock_t as a + * 16-byte struct. The active word in the struct is whichever has the aligned + * address; the other three words just sit at -1. + */ #define HAS_TEST_AND_SET -typedef unsigned char slock_t; +typedef struct +{ + int sema[4]; +} slock_t; -#define TAS(lock) tas(lock) +#define TAS_ACTIVE_WORD(lock) ((volatile int *) (((uintptr_t) (lock) + 15) & ~15)) static __inline__ int tas(volatile slock_t *lock) { - register int _res; + volatile int *lockword = TAS_ACTIVE_WORD(lock); + int lockval; /* - * This asm is coded as if %0 could be any register, but actually SuperH - * restricts the target of xor-immediate to be R0. That's handled by - * the "z" constraint on _res. + * The LDCWX instruction atomically clears the target word and + * returns the previous value. Hence, if the instruction returns + * 0, someone else has already acquired the lock before we tested + * it (i.e., we have failed). + * + * Notice that this means that we actually clear the word to set + * the lock and set the word to clear the lock. This is the + * opposite behavior from the SPARC LDSTUB instruction. For some + * reason everything that H-P does is rather baroque... + * + * For details about the LDCWX instruction, see the "Precision + * Architecture and Instruction Reference Manual" (09740-90014 of June + * 1987), p. 5-38. */ __asm__ __volatile__( - " tas.b @%2 \n" - " movt %0 \n" - " xor #1,%0 \n" -: "=z"(_res), "+m"(*lock) -: "r"(lock) -: "memory", "t"); - return _res; + " ldcwx 0(0,%2),%0 \n" +: "=r"(lockval), "+m"(*lockword) +: "r"(lockword) +: "memory"); + return (lockval == 0); } -#endif /* __sh__ */ - - -/* These live in s_lock.c, but only for gcc */ +#define S_UNLOCK(lock) \ + do { \ + __asm__ __volatile__("" : : : "memory"); \ + *TAS_ACTIVE_WORD(lock) = -1; \ + } while (0) +#define S_INIT_LOCK(lock) \ + do { \ + volatile slock_t *lock_ = (lock); \ + lock_->sema[0] = -1; \ + lock_->sema[1] = -1; \ + lock_->sema[2] = -1; \ + lock_->sema[3] = -1; \ + } while (0) -#if defined(__m68k__) && !defined(__linux__) /* non-Linux Motorola 68k */ -#define HAS_TEST_AND_SET +#define S_LOCK_FREE(lock) (*TAS_ACTIVE_WORD(lock) != 0) -typedef unsigned char slock_t; -#endif +#endif /* __hppa || __hppa__ */ /* @@ -805,7 +654,6 @@ tas(volatile slock_t *lock) #endif /* defined(__GNUC__) || defined(__INTEL_COMPILER) */ - /* * --------------------------------------------------------------------- * Platforms that use non-gcc inline assembly: @@ -814,116 +662,6 @@ tas(volatile slock_t *lock) #if !defined(HAS_TEST_AND_SET) /* We didn't trigger above, let's try here */ - -#if defined(__hppa) || defined(__hppa__) /* HP PA-RISC, GCC and HP compilers */ -/* - * HP's PA-RISC - * - * See src/backend/port/hpux/tas.c.template for details about LDCWX. Because - * LDCWX requires a 16-byte-aligned address, we declare slock_t as a 16-byte - * struct. The active word in the struct is whichever has the aligned address; - * the other three words just sit at -1. - * - * When using gcc, we can inline the required assembly code. - */ -#define HAS_TEST_AND_SET - -typedef struct -{ - int sema[4]; -} slock_t; - -#define TAS_ACTIVE_WORD(lock) ((volatile int *) (((uintptr_t) (lock) + 15) & ~15)) - -#if defined(__GNUC__) - -static __inline__ int -tas(volatile slock_t *lock) -{ - volatile int *lockword = TAS_ACTIVE_WORD(lock); - register int lockval; - - __asm__ __volatile__( - " ldcwx 0(0,%2),%0 \n" -: "=r"(lockval), "+m"(*lockword) -: "r"(lockword) -: "memory"); - return (lockval == 0); -} - -/* - * The hppa implementation doesn't follow the rules of this files and provides - * a gcc specific implementation outside of the above defined(__GNUC__). It - * does so to avoid duplication between the HP compiler and gcc. So undefine - * the generic fallback S_UNLOCK from above. - */ -#ifdef S_UNLOCK -#undef S_UNLOCK -#endif -#define S_UNLOCK(lock) \ - do { \ - __asm__ __volatile__("" : : : "memory"); \ - *TAS_ACTIVE_WORD(lock) = -1; \ - } while (0) - -#endif /* __GNUC__ */ - -#define S_INIT_LOCK(lock) \ - do { \ - volatile slock_t *lock_ = (lock); \ - lock_->sema[0] = -1; \ - lock_->sema[1] = -1; \ - lock_->sema[2] = -1; \ - lock_->sema[3] = -1; \ - } while (0) - -#define S_LOCK_FREE(lock) (*TAS_ACTIVE_WORD(lock) != 0) - -#endif /* __hppa || __hppa__ */ - - -#if defined(__hpux) && defined(__ia64) && !defined(__GNUC__) -/* - * HP-UX on Itanium, non-gcc/icc compiler - * - * We assume that the compiler enforces strict ordering of loads/stores on - * volatile data (see comments on the gcc-version earlier in this file). - * Note that this assumption does *not* hold if you use the - * +Ovolatile=__unordered option on the HP-UX compiler, so don't do that. - * - * See also Implementing Spinlocks on the Intel Itanium Architecture and - * PA-RISC, by Tor Ekqvist and David Graves, for more information. As of - * this writing, version 1.0 of the manual is available at: - * http://h21007.www2.hp.com/portal/download/files/unprot/itanium/spinlocks.pdf - */ -#define HAS_TEST_AND_SET - -typedef unsigned int slock_t; - -#include -#define TAS(lock) _Asm_xchg(_SZ_W, lock, 1, _LDHINT_NONE) -/* On IA64, it's a win to use a non-locking test before the xchg proper */ -#define TAS_SPIN(lock) (*(lock) ? 1 : TAS(lock)) -#define S_UNLOCK(lock) \ - do { _Asm_mf(); (*(lock)) = 0; } while (0) - -#endif /* HPUX on IA64, non gcc/icc */ - -#if defined(_AIX) /* AIX */ -/* - * AIX (POWER) - */ -#define HAS_TEST_AND_SET - -#include - -typedef int slock_t; - -#define TAS(lock) _check_lock((slock_t *) (lock), 0, 1) -#define S_UNLOCK(lock) _clear_lock((slock_t *) (lock), 0) -#endif /* _AIX */ - - /* These are in sunstudio_(sparc|x86).s */ #if defined(__SUNPRO_C) && (defined(__i386) || defined(__x86_64__) || defined(__sparc__) || defined(__sparc)) @@ -1016,7 +754,7 @@ extern int tas_sema(volatile slock_t *lock); #if !defined(S_LOCK) #define S_LOCK(lock) \ - (TAS(lock) ? s_lock((lock), __FILE__, __LINE__, PG_FUNCNAME_MACRO) : 0) + (TAS(lock) ? s_lock((lock), __FILE__, __LINE__, __func__) : 0) #endif /* S_LOCK */ #if !defined(S_LOCK_FREE) @@ -1064,7 +802,6 @@ extern int tas(volatile slock_t *lock); /* in port/.../tas.s, or #define TAS_SPIN(lock) TAS(lock) #endif /* TAS_SPIN */ -extern PGDLLIMPORT slock_t dummy_spinlock; /* * Platform-independent out-of-line support routines @@ -1103,7 +840,7 @@ init_spin_delay(SpinDelayStatus *status, status->func = func; } -#define init_local_spin_delay(status) init_spin_delay(status, __FILE__, __LINE__, PG_FUNCNAME_MACRO) +#define init_local_spin_delay(status) init_spin_delay(status, __FILE__, __LINE__, __func__) extern void perform_spin_delay(SpinDelayStatus *status); extern void finish_spin_delay(SpinDelayStatus *status); diff --git a/parser/include/storage/sharedfileset.h b/parser/include/postgres/storage/sharedfileset.h similarity index 93% rename from parser/include/storage/sharedfileset.h rename to parser/include/postgres/storage/sharedfileset.h index b1cde36d..7186aba2 100644 --- a/parser/include/storage/sharedfileset.h +++ b/parser/include/postgres/storage/sharedfileset.h @@ -4,7 +4,7 @@ * Shared temporary file management. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sharedfileset.h diff --git a/parser/include/storage/shm_mq.h b/parser/include/postgres/storage/shm_mq.h similarity index 95% rename from parser/include/storage/shm_mq.h rename to parser/include/postgres/storage/shm_mq.h index b6fe6872..80f63f4f 100644 --- a/parser/include/storage/shm_mq.h +++ b/parser/include/postgres/storage/shm_mq.h @@ -3,7 +3,7 @@ * shm_mq.h * single-reader, single-writer shared memory message queue * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shm_mq.h @@ -37,7 +37,7 @@ typedef enum { SHM_MQ_SUCCESS, /* Sent or received a message. */ SHM_MQ_WOULD_BLOCK, /* Not completed; retry later. */ - SHM_MQ_DETACHED /* Other process has detached queue. */ + SHM_MQ_DETACHED, /* Other process has detached queue. */ } shm_mq_result; /* diff --git a/parser/include/storage/shm_toc.h b/parser/include/postgres/storage/shm_toc.h similarity index 97% rename from parser/include/storage/shm_toc.h rename to parser/include/postgres/storage/shm_toc.h index 153a57cf..a46470d6 100644 --- a/parser/include/storage/shm_toc.h +++ b/parser/include/postgres/storage/shm_toc.h @@ -12,7 +12,7 @@ * other data structure within the segment and only put the pointer to * the data structure itself in the table of contents. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shm_toc.h diff --git a/parser/include/storage/shmem.h b/parser/include/postgres/storage/shmem.h similarity index 71% rename from parser/include/storage/shmem.h rename to parser/include/postgres/storage/shmem.h index de9e7c6e..3b0cc9d3 100644 --- a/parser/include/storage/shmem.h +++ b/parser/include/postgres/storage/shmem.h @@ -11,7 +11,7 @@ * at the same address. This means shared memory pointers can be passed * around directly between different processes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/shmem.h @@ -24,13 +24,6 @@ #include "utils/hsearch.h" -/* shmqueue.c */ -typedef struct SHM_QUEUE -{ - struct SHM_QUEUE *prev; - struct SHM_QUEUE *next; -} SHM_QUEUE; - /* shmem.c */ extern void InitShmemAccess(void *seghdr); extern void InitShmemAllocation(void); @@ -63,19 +56,4 @@ typedef struct Size allocated_size; /* # bytes actually allocated */ } ShmemIndexEnt; -/* - * prototypes for functions in shmqueue.c - */ -extern void SHMQueueInit(SHM_QUEUE *queue); -extern void SHMQueueElemInit(SHM_QUEUE *queue); -extern void SHMQueueDelete(SHM_QUEUE *queue); -extern void SHMQueueInsertBefore(SHM_QUEUE *queue, SHM_QUEUE *elem); -extern void SHMQueueInsertAfter(SHM_QUEUE *queue, SHM_QUEUE *elem); -extern Pointer SHMQueueNext(const SHM_QUEUE *queue, const SHM_QUEUE *curElem, - Size linkOffset); -extern Pointer SHMQueuePrev(const SHM_QUEUE *queue, const SHM_QUEUE *curElem, - Size linkOffset); -extern bool SHMQueueEmpty(const SHM_QUEUE *queue); -extern bool SHMQueueIsDetached(const SHM_QUEUE *queue); - #endif /* SHMEM_H */ diff --git a/parser/include/storage/sinval.h b/parser/include/postgres/storage/sinval.h similarity index 94% rename from parser/include/storage/sinval.h rename to parser/include/postgres/storage/sinval.h index e7cd4565..8f5744b2 100644 --- a/parser/include/storage/sinval.h +++ b/parser/include/postgres/storage/sinval.h @@ -4,7 +4,7 @@ * POSTGRES shared cache invalidation communication definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sinval.h @@ -16,7 +16,7 @@ #include -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" /* * We support several types of shared-invalidation messages: @@ -88,9 +88,9 @@ typedef struct { /* note: field layout chosen to pack into 16 bytes */ int8 id; /* type field --- must be first */ - int8 backend_hi; /* high bits of backend ID, if temprel */ - uint16 backend_lo; /* low bits of backend ID, if temprel */ - RelFileNode rnode; /* spcNode, dbNode, relNode */ + int8 backend_hi; /* high bits of backend procno, if temprel */ + uint16 backend_lo; /* low bits of backend procno, if temprel */ + RelFileLocator rlocator; /* spcOid, dbOid, relNumber */ } SharedInvalSmgrMsg; #define SHAREDINVALRELMAP_ID (-4) diff --git a/parser/include/storage/smgr.h b/parser/include/postgres/storage/smgr.h similarity index 54% rename from parser/include/storage/smgr.h rename to parser/include/postgres/storage/smgr.h index 6b63c60f..3856d1d4 100644 --- a/parser/include/storage/smgr.h +++ b/parser/include/postgres/storage/smgr.h @@ -4,7 +4,7 @@ * storage manager switch public interface declarations. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/smgr.h @@ -16,33 +16,25 @@ #include "lib/ilist.h" #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" /* * smgr.c maintains a table of SMgrRelation objects, which are essentially * cached file handles. An SMgrRelation is created (if not already present) - * by smgropen(), and destroyed by smgrclose(). Note that neither of these - * operations imply I/O, they just create or destroy a hashtable entry. - * (But smgrclose() may release associated resources, such as OS-level file + * by smgropen(), and destroyed by smgrdestroy(). Note that neither of these + * operations imply I/O, they just create or destroy a hashtable entry. (But + * smgrdestroy() may release associated resources, such as OS-level file * descriptors.) * - * An SMgrRelation may have an "owner", which is just a pointer to it from - * somewhere else; smgr.c will clear this pointer if the SMgrRelation is - * closed. We use this to avoid dangling pointers from relcache to smgr - * without having to make the smgr explicitly aware of relcache. There - * can't be more than one "owner" pointer per SMgrRelation, but that's - * all we need. - * - * SMgrRelations that do not have an "owner" are considered to be transient, - * and are deleted at end of transaction. + * An SMgrRelation may be "pinned", to prevent it from being destroyed while + * it's in use. We use this to prevent pointers relcache to smgr from being + * invalidated. SMgrRelations that are not pinned are deleted at end of + * transaction. */ typedef struct SMgrRelationData { - /* rnode is the hashtable lookup key, so it must be first! */ - RelFileNodeBackend smgr_rnode; /* relation physical identifier */ - - /* pointer to owning pointer, or NULL if none */ - struct SMgrRelationData **smgr_owner; + /* rlocator is the hashtable lookup key, so it must be first! */ + RelFileLocatorBackend smgr_rlocator; /* relation physical identifier */ /* * The following fields are reset to InvalidBlockNumber upon a cache flush @@ -68,44 +60,71 @@ typedef struct SMgrRelationData int md_num_open_segs[MAX_FORKNUM + 1]; struct _MdfdVec *md_seg_fds[MAX_FORKNUM + 1]; - /* if unowned, list link in list of all unowned SMgrRelations */ + /* + * Pinning support. If unpinned (ie. pincount == 0), 'node' is a list + * link in list of all unpinned SMgrRelations. + */ + int pincount; dlist_node node; } SMgrRelationData; typedef SMgrRelationData *SMgrRelation; #define SmgrIsTemp(smgr) \ - RelFileNodeBackendIsTemp((smgr)->smgr_rnode) + RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) extern void smgrinit(void); -extern SMgrRelation smgropen(RelFileNode rnode, BackendId backend); +extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend); extern bool smgrexists(SMgrRelation reln, ForkNumber forknum); -extern void smgrsetowner(SMgrRelation *owner, SMgrRelation reln); -extern void smgrclearowner(SMgrRelation *owner, SMgrRelation reln); +extern void smgrpin(SMgrRelation reln); +extern void smgrunpin(SMgrRelation reln); extern void smgrclose(SMgrRelation reln); -extern void smgrcloseall(void); -extern void smgrclosenode(RelFileNodeBackend rnode); +extern void smgrdestroyall(void); extern void smgrrelease(SMgrRelation reln); extern void smgrreleaseall(void); +extern void smgrreleaserellocator(RelFileLocatorBackend rlocator); extern void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo); extern void smgrdosyncall(SMgrRelation *rels, int nrels); extern void smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo); extern void smgrextend(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, char *buffer, bool skipFsync); + BlockNumber blocknum, const void *buffer, bool skipFsync); +extern void smgrzeroextend(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks, bool skipFsync); extern bool smgrprefetch(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum); -extern void smgrread(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, char *buffer); -extern void smgrwrite(SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, char *buffer, bool skipFsync); + BlockNumber blocknum, int nblocks); +extern void smgrreadv(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + void **buffers, BlockNumber nblocks); +extern void smgrwritev(SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + const void **buffers, BlockNumber nblocks, + bool skipFsync); extern void smgrwriteback(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, BlockNumber nblocks); extern BlockNumber smgrnblocks(SMgrRelation reln, ForkNumber forknum); extern BlockNumber smgrnblocks_cached(SMgrRelation reln, ForkNumber forknum); -extern void smgrtruncate(SMgrRelation reln, ForkNumber *forknum, - int nforks, BlockNumber *nblocks); +extern void smgrtruncate(SMgrRelation reln, ForkNumber *forknum, int nforks, + BlockNumber *nblocks); +extern void smgrtruncate2(SMgrRelation reln, ForkNumber *forknum, int nforks, + BlockNumber *old_nblocks, + BlockNumber *nblocks); extern void smgrimmedsync(SMgrRelation reln, ForkNumber forknum); +extern void smgrregistersync(SMgrRelation reln, ForkNumber forknum); extern void AtEOXact_SMgr(void); extern bool ProcessBarrierSmgrRelease(void); +static inline void +smgrread(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + void *buffer) +{ + smgrreadv(reln, forknum, blocknum, &buffer, 1); +} + +static inline void +smgrwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, + const void *buffer, bool skipFsync) +{ + smgrwritev(reln, forknum, blocknum, &buffer, 1, skipFsync); +} + #endif /* SMGR_H */ diff --git a/parser/include/storage/spin.h b/parser/include/postgres/storage/spin.h similarity index 97% rename from parser/include/storage/spin.h rename to parser/include/postgres/storage/spin.h index 7031f1d2..c0679c59 100644 --- a/parser/include/storage/spin.h +++ b/parser/include/postgres/storage/spin.h @@ -41,7 +41,7 @@ * be again. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/spin.h diff --git a/parser/include/storage/standby.h b/parser/include/postgres/storage/standby.h similarity index 78% rename from parser/include/storage/standby.h rename to parser/include/postgres/storage/standby.h index 6a776326..cce0bc52 100644 --- a/parser/include/storage/standby.h +++ b/parser/include/postgres/storage/standby.h @@ -4,7 +4,7 @@ * Definitions for hot standby mode. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/standby.h @@ -17,11 +17,10 @@ #include "datatype/timestamp.h" #include "storage/lock.h" #include "storage/procsignal.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "storage/standbydefs.h" /* User-settable GUC parameters */ -extern PGDLLIMPORT int vacuum_defer_cleanup_age; extern PGDLLIMPORT int max_standby_archive_delay; extern PGDLLIMPORT int max_standby_streaming_delay; extern PGDLLIMPORT bool log_recovery_conflict_waits; @@ -29,10 +28,12 @@ extern PGDLLIMPORT bool log_recovery_conflict_waits; extern void InitRecoveryTransactionEnvironment(void); extern void ShutdownRecoveryTransactionEnvironment(void); -extern void ResolveRecoveryConflictWithSnapshot(TransactionId latestRemovedXid, - RelFileNode node); -extern void ResolveRecoveryConflictWithSnapshotFullXid(FullTransactionId latestRemovedFullXid, - RelFileNode node); +extern void ResolveRecoveryConflictWithSnapshot(TransactionId snapshotConflictHorizon, + bool isCatalogRel, + RelFileLocator locator); +extern void ResolveRecoveryConflictWithSnapshotFullXid(FullTransactionId snapshotConflictHorizon, + bool isCatalogRel, + RelFileLocator locator); extern void ResolveRecoveryConflictWithTablespace(Oid tsid); extern void ResolveRecoveryConflictWithDatabase(Oid dbid); @@ -43,7 +44,7 @@ extern void StandbyDeadLockHandler(void); extern void StandbyTimeoutHandler(void); extern void StandbyLockTimeoutHandler(void); extern void LogRecoveryConflict(ProcSignalReason reason, TimestampTz wait_start, - TimestampTz cur_ts, VirtualTransactionId *wait_list, + TimestampTz now, VirtualTransactionId *wait_list, bool still_waiting); /* @@ -74,13 +75,23 @@ extern void StandbyReleaseOldLocks(TransactionId oldxid); * almost immediately see the data we need to begin executing queries. */ +typedef enum +{ + SUBXIDS_IN_ARRAY, /* xids array includes all running subxids */ + SUBXIDS_MISSING, /* snapshot overflowed, subxids are missing */ + SUBXIDS_IN_SUBTRANS, /* subxids are not included in 'xids', but + * pg_subtrans is fully up-to-date */ +} subxids_array_status; + typedef struct RunningTransactionsData { int xcnt; /* # of xact ids in xids[] */ int subxcnt; /* # of subxact ids in xids[] */ - bool subxid_overflow; /* snapshot overflowed, subxids missing */ - TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */ + subxids_array_status subxid_status; + TransactionId nextXid; /* xid from TransamVariables->nextXid */ TransactionId oldestRunningXid; /* *not* oldestXmin */ + TransactionId oldestDatabaseRunningXid; /* same as above, but within the + * current database */ TransactionId latestCompletedXid; /* so we can set xmax */ TransactionId *xids; /* array of (sub)xids still running */ diff --git a/parser/include/storage/standbydefs.h b/parser/include/postgres/storage/standbydefs.h similarity index 94% rename from parser/include/storage/standbydefs.h rename to parser/include/postgres/storage/standbydefs.h index c0234b6c..fe12f463 100644 --- a/parser/include/storage/standbydefs.h +++ b/parser/include/postgres/storage/standbydefs.h @@ -4,7 +4,7 @@ * Frontend exposed definitions for hot standby mode. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/standbydefs.h @@ -49,7 +49,7 @@ typedef struct xl_running_xacts int xcnt; /* # of xact ids in xids[] */ int subxcnt; /* # of subxact ids in xids[] */ bool subxid_overflow; /* snapshot overflowed, subxids missing */ - TransactionId nextXid; /* xid from ShmemVariableCache->nextXid */ + TransactionId nextXid; /* xid from TransamVariables->nextXid */ TransactionId oldestRunningXid; /* *not* oldestXmin */ TransactionId latestCompletedXid; /* so we can set xmax */ diff --git a/parser/include/storage/sync.h b/parser/include/postgres/storage/sync.h similarity index 88% rename from parser/include/storage/sync.h rename to parser/include/postgres/storage/sync.h index 9737e1eb..9dee8fa6 100644 --- a/parser/include/storage/sync.h +++ b/parser/include/postgres/storage/sync.h @@ -3,7 +3,7 @@ * sync.h * File synchronization management code. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/storage/sync.h @@ -13,7 +13,7 @@ #ifndef SYNC_H #define SYNC_H -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" /* * Type of sync request. These are used to manage the set of pending @@ -25,7 +25,7 @@ typedef enum SyncRequestType SYNC_REQUEST, /* schedule a call of sync function */ SYNC_UNLINK_REQUEST, /* schedule a call of unlink function */ SYNC_FORGET_REQUEST, /* forget all calls for a tag */ - SYNC_FILTER_REQUEST /* forget all calls satisfying match fn */ + SYNC_FILTER_REQUEST, /* forget all calls satisfying match fn */ } SyncRequestType; /* @@ -39,7 +39,7 @@ typedef enum SyncRequestHandler SYNC_HANDLER_COMMIT_TS, SYNC_HANDLER_MULTIXACT_OFFSET, SYNC_HANDLER_MULTIXACT_MEMBER, - SYNC_HANDLER_NONE + SYNC_HANDLER_NONE, } SyncRequestHandler; /* @@ -51,8 +51,8 @@ typedef struct FileTag { int16 handler; /* SyncRequestHandler value, saving space */ int16 forknum; /* ForkNumber, saving space */ - RelFileNode rnode; - uint32 segno; + RelFileLocator rlocator; + uint64 segno; } FileTag; extern void InitSync(void); diff --git a/parser/include/tcop/cmdtag.h b/parser/include/postgres/tcop/cmdtag.h similarity index 76% rename from parser/include/tcop/cmdtag.h rename to parser/include/postgres/tcop/cmdtag.h index b9e8992a..23c99d7e 100644 --- a/parser/include/tcop/cmdtag.h +++ b/parser/include/postgres/tcop/cmdtag.h @@ -3,7 +3,7 @@ * cmdtag.h * Declarations for commandtag names and enumeration. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/cmdtag.h @@ -13,6 +13,8 @@ #ifndef CMDTAG_H #define CMDTAG_H +/* buffer size required for command completion tags */ +#define COMPLETION_TAG_BUFSIZE 64 #define PG_CMDTAG(tag, name, evtrgok, rwrok, rowcnt) \ tag, @@ -20,7 +22,6 @@ typedef enum CommandTag { #include "tcop/cmdtaglist.h" - COMMAND_TAG_NEXTTAG } CommandTag; #undef PG_CMDTAG @@ -50,9 +51,12 @@ CopyQueryCompletion(QueryCompletion *dst, const QueryCompletion *src) extern void InitializeQueryCompletion(QueryCompletion *qc); extern const char *GetCommandTagName(CommandTag commandTag); +extern const char *GetCommandTagNameAndLen(CommandTag commandTag, Size *len); extern bool command_tag_display_rowcount(CommandTag commandTag); extern bool command_tag_event_trigger_ok(CommandTag commandTag); extern bool command_tag_table_rewrite_ok(CommandTag commandTag); -extern CommandTag GetCommandTagEnum(const char *tagname); +extern CommandTag GetCommandTagEnum(const char *commandname); +extern Size BuildQueryCompletionString(char *buff, const QueryCompletion *qc, + bool nameonly); #endif /* CMDTAG_H */ diff --git a/parser/include/tcop/cmdtaglist.h b/parser/include/postgres/tcop/cmdtaglist.h similarity index 98% rename from parser/include/tcop/cmdtaglist.h rename to parser/include/postgres/tcop/cmdtaglist.h index 9e94f44c..7fdcec6d 100644 --- a/parser/include/tcop/cmdtaglist.h +++ b/parser/include/postgres/tcop/cmdtaglist.h @@ -8,7 +8,7 @@ * determined by the PG_CMDTAG macro, which is not defined in this file; * it can be defined by the caller for special purposes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/cmdtaglist.h @@ -186,6 +186,7 @@ PG_CMDTAG(CMDTAG_INSERT, "INSERT", false, false, true) PG_CMDTAG(CMDTAG_LISTEN, "LISTEN", false, false, false) PG_CMDTAG(CMDTAG_LOAD, "LOAD", false, false, false) PG_CMDTAG(CMDTAG_LOCK_TABLE, "LOCK TABLE", false, false, false) +PG_CMDTAG(CMDTAG_LOGIN, "LOGIN", true, false, false) PG_CMDTAG(CMDTAG_MERGE, "MERGE", false, false, true) PG_CMDTAG(CMDTAG_MOVE, "MOVE", false, false, true) PG_CMDTAG(CMDTAG_NOTIFY, "NOTIFY", false, false, false) @@ -193,7 +194,7 @@ PG_CMDTAG(CMDTAG_PREPARE, "PREPARE", false, false, false) PG_CMDTAG(CMDTAG_PREPARE_TRANSACTION, "PREPARE TRANSACTION", false, false, false) PG_CMDTAG(CMDTAG_REASSIGN_OWNED, "REASSIGN OWNED", false, false, false) PG_CMDTAG(CMDTAG_REFRESH_MATERIALIZED_VIEW, "REFRESH MATERIALIZED VIEW", true, false, false) -PG_CMDTAG(CMDTAG_REINDEX, "REINDEX", false, false, false) +PG_CMDTAG(CMDTAG_REINDEX, "REINDEX", true, false, false) PG_CMDTAG(CMDTAG_RELEASE, "RELEASE", false, false, false) PG_CMDTAG(CMDTAG_RESET, "RESET", false, false, false) PG_CMDTAG(CMDTAG_REVOKE, "REVOKE", true, false, false) diff --git a/parser/include/tcop/deparse_utility.h b/parser/include/postgres/tcop/deparse_utility.h similarity index 95% rename from parser/include/tcop/deparse_utility.h rename to parser/include/postgres/tcop/deparse_utility.h index 94de13d9..bb943421 100644 --- a/parser/include/tcop/deparse_utility.h +++ b/parser/include/postgres/tcop/deparse_utility.h @@ -2,7 +2,7 @@ * * deparse_utility.h * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/deparse_utility.h @@ -29,7 +29,7 @@ typedef enum CollectedCommandType SCT_AlterOpFamily, SCT_AlterDefaultPrivileges, SCT_CreateOpClass, - SCT_AlterTSConfig + SCT_AlterTSConfig, } CollectedCommandType; /* diff --git a/parser/include/tcop/dest.h b/parser/include/postgres/tcop/dest.h similarity index 96% rename from parser/include/tcop/dest.h rename to parser/include/postgres/tcop/dest.h index 3c3eabae..a3d521b6 100644 --- a/parser/include/tcop/dest.h +++ b/parser/include/postgres/tcop/dest.h @@ -57,7 +57,7 @@ * calls in portal and cursor manipulations. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/dest.h @@ -71,8 +71,6 @@ #include "tcop/cmdtag.h" -/* buffer size to use for command completion tags */ -#define COMPLETION_TAG_BUFSIZE 64 /* ---------------- @@ -97,7 +95,8 @@ typedef enum DestCopyOut, /* results sent to COPY TO code */ DestSQLFunction, /* results sent to SQL-language func mgr */ DestTransientRel, /* results sent to transient relation */ - DestTupleQueue /* results sent to tuple queue */ + DestTupleQueue, /* results sent to tuple queue */ + DestExplainSerialize, /* results are serialized and discarded */ } CommandDest; /* ---------------- diff --git a/parser/include/tcop/fastpath.h b/parser/include/postgres/tcop/fastpath.h similarity index 87% rename from parser/include/tcop/fastpath.h rename to parser/include/postgres/tcop/fastpath.h index cb15a16a..da0bd715 100644 --- a/parser/include/tcop/fastpath.h +++ b/parser/include/postgres/tcop/fastpath.h @@ -3,7 +3,7 @@ * fastpath.h * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/fastpath.h diff --git a/parser/include/postgres/tcop/gokeep.go b/parser/include/postgres/tcop/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/tcop/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/tcop/pquery.h b/parser/include/postgres/tcop/pquery.h similarity index 95% rename from parser/include/tcop/pquery.h rename to parser/include/postgres/tcop/pquery.h index f9a6882e..073fb323 100644 --- a/parser/include/tcop/pquery.h +++ b/parser/include/postgres/tcop/pquery.h @@ -4,7 +4,7 @@ * prototypes for pquery.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/pquery.h diff --git a/parser/include/tcop/tcopprot.h b/parser/include/postgres/tcop/tcopprot.h similarity index 86% rename from parser/include/tcop/tcopprot.h rename to parser/include/postgres/tcop/tcopprot.h index 84ca54db..8ddbc7bb 100644 --- a/parser/include/tcop/tcopprot.h +++ b/parser/include/postgres/tcop/tcopprot.h @@ -4,7 +4,7 @@ * prototypes for postgres.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/tcopprot.h @@ -15,7 +15,6 @@ #define TCOPPROT_H #include "nodes/params.h" -#include "nodes/parsenodes.h" #include "nodes/plannodes.h" #include "storage/procsignal.h" #include "utils/guc.h" @@ -25,9 +24,9 @@ /* Required daylight between max_stack_depth and the kernel limit, in bytes */ #define STACK_DEPTH_SLOP (512 * 1024L) -extern PGDLLIMPORT __thread CommandDest whereToSendOutput; +extern PGDLLIMPORT __thread CommandDest whereToSendOutput; extern PGDLLIMPORT __thread const char *debug_query_string; -extern PGDLLIMPORT __thread int max_stack_depth; +extern PGDLLIMPORT __thread int max_stack_depth; extern PGDLLIMPORT int PostAuthDelay; extern PGDLLIMPORT int client_connection_check_interval; @@ -38,11 +37,17 @@ typedef enum LOGSTMT_NONE, /* log no statements */ LOGSTMT_DDL, /* log data definition statements */ LOGSTMT_MOD, /* log modification statements, plus DDL */ - LOGSTMT_ALL /* log all statements */ + LOGSTMT_ALL, /* log all statements */ } LogStmtLevel; extern PGDLLIMPORT int log_statement; +/* Flags for restrict_nonsystem_relation_kind value */ +#define RESTRICT_RELKIND_VIEW 0x01 +#define RESTRICT_RELKIND_FOREIGN_TABLE 0x02 + +extern PGDLLIMPORT int restrict_nonsystem_relation_kind; + extern List *pg_parse_query(const char *query_string); extern List *pg_rewrite_query(Query *query); extern List *pg_analyze_and_rewrite_fixedparams(RawStmt *parsetree, @@ -66,15 +71,11 @@ extern List *pg_plan_queries(List *querytrees, const char *query_string, int cursorOptions, ParamListInfo boundParams); -extern bool check_max_stack_depth(int *newval, void **extra, GucSource source); -extern void assign_max_stack_depth(int newval, void *extra); - extern void die(SIGNAL_ARGS); extern void quickdie(SIGNAL_ARGS) pg_attribute_noreturn(); extern void StatementCancelHandler(SIGNAL_ARGS); extern void FloatExceptionHandler(SIGNAL_ARGS) pg_attribute_noreturn(); -extern void RecoveryConflictInterrupt(ProcSignalReason reason); /* called from SIGUSR1 - * handler */ +extern void HandleRecoveryConflictInterrupt(ProcSignalReason reason); extern void ProcessClientReadInterrupt(bool blocked); extern void ProcessClientWriteInterrupt(bool blocked); diff --git a/parser/include/tcop/utility.h b/parser/include/postgres/tcop/utility.h similarity index 96% rename from parser/include/tcop/utility.h rename to parser/include/postgres/tcop/utility.h index f9daf5b7..9aa1de38 100644 --- a/parser/include/tcop/utility.h +++ b/parser/include/postgres/tcop/utility.h @@ -4,7 +4,7 @@ * prototypes for utility.c. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tcop/utility.h @@ -23,7 +23,7 @@ typedef enum PROCESS_UTILITY_QUERY, /* a complete query, but not toplevel */ PROCESS_UTILITY_QUERY_NONATOMIC, /* a complete query, nonatomic * execution context */ - PROCESS_UTILITY_SUBCOMMAND /* a portion of a query */ + PROCESS_UTILITY_SUBCOMMAND, /* a portion of a query */ } ProcessUtilityContext; /* Info needed when recursing from ALTER TABLE */ diff --git a/parser/include/postgres/tsearch/gokeep.go b/parser/include/postgres/tsearch/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/tsearch/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/tsearch/ts_cache.h b/parser/include/postgres/tsearch/ts_cache.h similarity index 88% rename from parser/include/tsearch/ts_cache.h rename to parser/include/postgres/tsearch/ts_cache.h index 5e4a49ea..2f8fcd4e 100644 --- a/parser/include/tsearch/ts_cache.h +++ b/parser/include/postgres/tsearch/ts_cache.h @@ -3,7 +3,7 @@ * ts_cache.h * Tsearch related object caches. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/tsearch/ts_cache.h @@ -13,7 +13,7 @@ #ifndef TS_CACHE_H #define TS_CACHE_H -#include "utils/guc.h" +#include "fmgr.h" /* @@ -92,7 +92,5 @@ extern TSDictionaryCacheEntry *lookup_ts_dictionary_cache(Oid dictId); extern TSConfigCacheEntry *lookup_ts_config_cache(Oid cfgId); extern Oid getTSCurrentConfig(bool emitError); -extern bool check_TSCurrentConfig(char **newval, void **extra, GucSource source); -extern void assign_TSCurrentConfig(const char *newval, void *extra); #endif /* TS_CACHE_H */ diff --git a/parser/include/utils/acl.h b/parser/include/postgres/utils/acl.h similarity index 64% rename from parser/include/utils/acl.h rename to parser/include/postgres/utils/acl.h index 48f7d72a..731d84b2 100644 --- a/parser/include/utils/acl.h +++ b/parser/include/postgres/utils/acl.h @@ -4,7 +4,7 @@ * Definition of (and support for) access control list data structures. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/acl.h @@ -59,33 +59,33 @@ typedef struct AclItem } AclItem; /* - * The upper 16 bits of the ai_privs field of an AclItem are the grant option - * bits, and the lower 16 bits are the actual privileges. We use "rights" + * The upper 32 bits of the ai_privs field of an AclItem are the grant option + * bits, and the lower 32 bits are the actual privileges. We use "rights" * to mean the combined grant option and privilege bits fields. */ -#define ACLITEM_GET_PRIVS(item) ((item).ai_privs & 0xFFFF) -#define ACLITEM_GET_GOPTIONS(item) (((item).ai_privs >> 16) & 0xFFFF) +#define ACLITEM_GET_PRIVS(item) ((item).ai_privs & 0xFFFFFFFF) +#define ACLITEM_GET_GOPTIONS(item) (((item).ai_privs >> 32) & 0xFFFFFFFF) #define ACLITEM_GET_RIGHTS(item) ((item).ai_privs) -#define ACL_GRANT_OPTION_FOR(privs) (((AclMode) (privs) & 0xFFFF) << 16) -#define ACL_OPTION_TO_PRIVS(privs) (((AclMode) (privs) >> 16) & 0xFFFF) +#define ACL_GRANT_OPTION_FOR(privs) (((AclMode) (privs) & 0xFFFFFFFF) << 32) +#define ACL_OPTION_TO_PRIVS(privs) (((AclMode) (privs) >> 32) & 0xFFFFFFFF) #define ACLITEM_SET_PRIVS(item,privs) \ - ((item).ai_privs = ((item).ai_privs & ~((AclMode) 0xFFFF)) | \ - ((AclMode) (privs) & 0xFFFF)) + ((item).ai_privs = ((item).ai_privs & ~((AclMode) 0xFFFFFFFF)) | \ + ((AclMode) (privs) & 0xFFFFFFFF)) #define ACLITEM_SET_GOPTIONS(item,goptions) \ - ((item).ai_privs = ((item).ai_privs & ~(((AclMode) 0xFFFF) << 16)) | \ - (((AclMode) (goptions) & 0xFFFF) << 16)) + ((item).ai_privs = ((item).ai_privs & ~(((AclMode) 0xFFFFFFFF) << 32)) | \ + (((AclMode) (goptions) & 0xFFFFFFFF) << 32)) #define ACLITEM_SET_RIGHTS(item,rights) \ ((item).ai_privs = (AclMode) (rights)) #define ACLITEM_SET_PRIVS_GOPTIONS(item,privs,goptions) \ - ((item).ai_privs = ((AclMode) (privs) & 0xFFFF) | \ - (((AclMode) (goptions) & 0xFFFF) << 16)) + ((item).ai_privs = ((AclMode) (privs) & 0xFFFFFFFF) | \ + (((AclMode) (goptions) & 0xFFFFFFFF) << 32)) -#define ACLITEM_ALL_PRIV_BITS ((AclMode) 0xFFFF) -#define ACLITEM_ALL_GOPTION_BITS ((AclMode) 0xFFFF << 16) +#define ACLITEM_ALL_PRIV_BITS ((AclMode) 0xFFFFFFFF) +#define ACLITEM_ALL_GOPTION_BITS ((AclMode) 0xFFFFFFFF << 32) /* * Definitions for convenient access to Acl (array of AclItem). @@ -148,15 +148,16 @@ typedef struct ArrayType Acl; #define ACL_CONNECT_CHR 'c' #define ACL_SET_CHR 's' #define ACL_ALTER_SYSTEM_CHR 'A' +#define ACL_MAINTAIN_CHR 'm' /* string holding all privilege code chars, in order by bitmask position */ -#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsA" +#define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsAm" /* * Bitmasks defining "all rights" for each supported object type */ #define ACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES) -#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER) +#define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER|ACL_MAINTAIN) #define ACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE) #define ACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT) #define ACL_ALL_RIGHTS_FDW (ACL_USAGE) @@ -173,7 +174,7 @@ typedef struct ArrayType Acl; typedef enum { ACLMASK_ALL, /* normal case: compute all bits */ - ACLMASK_ANY /* return when result is known nonzero */ + ACLMASK_ANY, /* return when result is known nonzero */ } AclMaskHow; /* result codes for pg_*_aclcheck */ @@ -181,7 +182,7 @@ typedef enum { ACLCHECK_OK = 0, ACLCHECK_NO_PRIV, - ACLCHECK_NOT_OWNER + ACLCHECK_NOT_OWNER, } AclResult; @@ -209,12 +210,14 @@ extern AclMode aclmask(const Acl *acl, Oid roleid, Oid ownerId, extern int aclmembers(const Acl *acl, Oid **roleids); extern bool has_privs_of_role(Oid member, Oid role); +extern bool member_can_set_role(Oid member, Oid role); +extern void check_can_set_role(Oid member, Oid role); extern bool is_member_of_role(Oid member, Oid role); extern bool is_member_of_role_nosuper(Oid member, Oid role); extern bool is_admin_of_role(Oid member, Oid role); -extern void check_is_member_of_role(Oid member, Oid role); -extern Oid get_role_oid(const char *rolename, bool missing_ok); -extern Oid get_role_oid_or_public(const char *rolename); +extern Oid select_best_admin(Oid member, Oid role); +extern Oid get_role_oid(const char *rolname, bool missing_ok); +extern Oid get_role_oid_or_public(const char *rolname); extern Oid get_rolespec_oid(const RoleSpec *role, bool missing_ok); extern void check_rolespec_name(const RoleSpec *role, const char *detail_msg); extern HeapTuple get_rolespec_tuple(const RoleSpec *role); @@ -234,39 +237,17 @@ extern void ExecAlterDefaultPrivilegesStmt(ParseState *pstate, AlterDefaultPrivi extern void RemoveRoleFromObjectACL(Oid roleid, Oid classid, Oid objid); -extern AclMode pg_attribute_aclmask(Oid table_oid, AttrNumber attnum, - Oid roleid, AclMode mask, AclMaskHow how); -extern AclMode pg_attribute_aclmask_ext(Oid table_oid, AttrNumber attnum, - Oid roleid, AclMode mask, - AclMaskHow how, bool *is_missing); extern AclMode pg_class_aclmask(Oid table_oid, Oid roleid, AclMode mask, AclMaskHow how); -extern AclMode pg_class_aclmask_ext(Oid table_oid, Oid roleid, - AclMode mask, AclMaskHow how, - bool *is_missing); -extern AclMode pg_database_aclmask(Oid db_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_parameter_aclmask(const char *name, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_parameter_acl_aclmask(Oid acl_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_proc_aclmask(Oid proc_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_language_aclmask(Oid lang_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_largeobject_aclmask_snapshot(Oid lobj_oid, Oid roleid, - AclMode mask, AclMaskHow how, Snapshot snapshot); -extern AclMode pg_namespace_aclmask(Oid nsp_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_tablespace_aclmask(Oid spc_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_foreign_data_wrapper_aclmask(Oid fdw_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_foreign_server_aclmask(Oid srv_oid, Oid roleid, - AclMode mask, AclMaskHow how); -extern AclMode pg_type_aclmask(Oid type_oid, Oid roleid, - AclMode mask, AclMaskHow how); +/* generic functions */ +extern AclResult object_aclcheck(Oid classid, Oid objectid, + Oid roleid, AclMode mode); +extern AclResult object_aclcheck_ext(Oid classid, Oid objectid, + Oid roleid, AclMode mode, + bool *is_missing); + +/* special cases */ extern AclResult pg_attribute_aclcheck(Oid table_oid, AttrNumber attnum, Oid roleid, AclMode mode); extern AclResult pg_attribute_aclcheck_ext(Oid table_oid, AttrNumber attnum, @@ -274,23 +255,16 @@ extern AclResult pg_attribute_aclcheck_ext(Oid table_oid, AttrNumber attnum, bool *is_missing); extern AclResult pg_attribute_aclcheck_all(Oid table_oid, Oid roleid, AclMode mode, AclMaskHow how); +extern AclResult pg_attribute_aclcheck_all_ext(Oid table_oid, Oid roleid, + AclMode mode, AclMaskHow how, + bool *is_missing); extern AclResult pg_class_aclcheck(Oid table_oid, Oid roleid, AclMode mode); extern AclResult pg_class_aclcheck_ext(Oid table_oid, Oid roleid, AclMode mode, bool *is_missing); -extern AclResult pg_database_aclcheck(Oid db_oid, Oid roleid, AclMode mode); extern AclResult pg_parameter_aclcheck(const char *name, Oid roleid, AclMode mode); -extern AclResult pg_parameter_acl_aclcheck(Oid acl_oid, Oid roleid, - AclMode mode); -extern AclResult pg_proc_aclcheck(Oid proc_oid, Oid roleid, AclMode mode); -extern AclResult pg_language_aclcheck(Oid lang_oid, Oid roleid, AclMode mode); -extern AclResult pg_largeobject_aclcheck_snapshot(Oid lang_oid, Oid roleid, +extern AclResult pg_largeobject_aclcheck_snapshot(Oid lobj_oid, Oid roleid, AclMode mode, Snapshot snapshot); -extern AclResult pg_namespace_aclcheck(Oid nsp_oid, Oid roleid, AclMode mode); -extern AclResult pg_tablespace_aclcheck(Oid spc_oid, Oid roleid, AclMode mode); -extern AclResult pg_foreign_data_wrapper_aclcheck(Oid fdw_oid, Oid roleid, AclMode mode); -extern AclResult pg_foreign_server_aclcheck(Oid srv_oid, Oid roleid, AclMode mode); -extern AclResult pg_type_aclcheck(Oid type_oid, Oid roleid, AclMode mode); extern void aclcheck_error(AclResult aclerr, ObjectType objtype, const char *objectname); @@ -302,31 +276,14 @@ extern void aclcheck_error_type(AclResult aclerr, Oid typeOid); extern void recordExtObjInitPriv(Oid objoid, Oid classoid); extern void removeExtObjInitPriv(Oid objoid, Oid classoid); +extern void ReplaceRoleInInitPriv(Oid oldroleid, Oid newroleid, + Oid classid, Oid objid, int32 objsubid); +extern void RemoveRoleFromInitPriv(Oid roleid, + Oid classid, Oid objid, int32 objsubid); /* ownercheck routines just return true (owner) or false (not) */ -extern bool pg_class_ownercheck(Oid class_oid, Oid roleid); -extern bool pg_type_ownercheck(Oid type_oid, Oid roleid); -extern bool pg_oper_ownercheck(Oid oper_oid, Oid roleid); -extern bool pg_proc_ownercheck(Oid proc_oid, Oid roleid); -extern bool pg_language_ownercheck(Oid lan_oid, Oid roleid); -extern bool pg_largeobject_ownercheck(Oid lobj_oid, Oid roleid); -extern bool pg_namespace_ownercheck(Oid nsp_oid, Oid roleid); -extern bool pg_tablespace_ownercheck(Oid spc_oid, Oid roleid); -extern bool pg_opclass_ownercheck(Oid opc_oid, Oid roleid); -extern bool pg_opfamily_ownercheck(Oid opf_oid, Oid roleid); -extern bool pg_database_ownercheck(Oid db_oid, Oid roleid); -extern bool pg_collation_ownercheck(Oid coll_oid, Oid roleid); -extern bool pg_conversion_ownercheck(Oid conv_oid, Oid roleid); -extern bool pg_ts_dict_ownercheck(Oid dict_oid, Oid roleid); -extern bool pg_ts_config_ownercheck(Oid cfg_oid, Oid roleid); -extern bool pg_foreign_data_wrapper_ownercheck(Oid srv_oid, Oid roleid); -extern bool pg_foreign_server_ownercheck(Oid srv_oid, Oid roleid); -extern bool pg_event_trigger_ownercheck(Oid et_oid, Oid roleid); -extern bool pg_extension_ownercheck(Oid ext_oid, Oid roleid); -extern bool pg_publication_ownercheck(Oid pub_oid, Oid roleid); -extern bool pg_subscription_ownercheck(Oid sub_oid, Oid roleid); -extern bool pg_statistics_object_ownercheck(Oid stat_oid, Oid roleid); +extern bool object_ownercheck(Oid classid, Oid objectid, Oid roleid); extern bool has_createrole_privilege(Oid roleid); extern bool has_bypassrls_privilege(Oid roleid); diff --git a/parser/include/utils/aclchk_internal.h b/parser/include/postgres/utils/aclchk_internal.h similarity index 95% rename from parser/include/utils/aclchk_internal.h rename to parser/include/postgres/utils/aclchk_internal.h index 361284d8..11cd87dd 100644 --- a/parser/include/utils/aclchk_internal.h +++ b/parser/include/postgres/utils/aclchk_internal.h @@ -2,7 +2,7 @@ * * aclchk_internal.h * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/aclchk_internal.h diff --git a/parser/include/utils/array.h b/parser/include/postgres/utils/array.h similarity index 95% rename from parser/include/utils/array.h rename to parser/include/postgres/utils/array.h index 656c766a..157cc0e4 100644 --- a/parser/include/utils/array.h +++ b/parser/include/postgres/utils/array.h @@ -51,7 +51,7 @@ * arrays holding the elements. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/array.h @@ -74,6 +74,13 @@ struct ExprContext; */ #define MAXDIM 6 +/* + * Maximum number of elements in an array. We limit this to at most about a + * quarter billion elements, so that it's not necessary to check for overflow + * in quite so many places --- for instance when palloc'ing Datum arrays. + */ +#define MaxArraySize ((Size) (MaxAllocSize / sizeof(Datum))) + /* * Arrays are varlena objects, so must meet the varlena convention that * the first int32 of the object contains the total object size in bytes. @@ -387,6 +394,7 @@ extern void array_bitmap_copy(bits8 *destbitmap, int destoffset, extern ArrayType *construct_array(Datum *elems, int nelems, Oid elmtype, int elmlen, bool elmbyval, char elmalign); +extern ArrayType *construct_array_builtin(Datum *elems, int nelems, Oid elmtype); extern ArrayType *construct_md_array(Datum *elems, bool *nulls, int ndims, @@ -401,10 +409,16 @@ extern void deconstruct_array(ArrayType *array, Oid elmtype, int elmlen, bool elmbyval, char elmalign, Datum **elemsp, bool **nullsp, int *nelemsp); +extern void deconstruct_array_builtin(ArrayType *array, + Oid elmtype, + Datum **elemsp, bool **nullsp, int *nelemsp); extern bool array_contains_nulls(ArrayType *array); extern ArrayBuildState *initArrayResult(Oid element_type, MemoryContext rcontext, bool subcontext); +extern ArrayBuildState *initArrayResultWithSize(Oid element_type, + MemoryContext rcontext, + bool subcontext, int initsize); extern ArrayBuildState *accumArrayResult(ArrayBuildState *astate, Datum dvalue, bool disnull, Oid element_type, @@ -441,9 +455,12 @@ extern void array_free_iterator(ArrayIterator iterator); */ extern int ArrayGetOffset(int n, const int *dim, const int *lb, const int *indx); -extern int ArrayGetOffset0(int n, const int *tup, const int *scale); extern int ArrayGetNItems(int ndim, const int *dims); +extern int ArrayGetNItemsSafe(int ndim, const int *dims, + struct Node *escontext); extern void ArrayCheckBounds(int ndim, const int *dims, const int *lb); +extern bool ArrayCheckBoundsSafe(int ndim, const int *dims, const int *lb, + struct Node *escontext); extern void mda_get_range(int n, int *span, const int *st, const int *endp); extern void mda_get_prod(int n, const int *range, int *prod); extern void mda_get_offset_values(int n, int *dist, const int *prod, const int *span); diff --git a/parser/include/postgres/utils/ascii.h b/parser/include/postgres/utils/ascii.h new file mode 100644 index 00000000..863f0f7e --- /dev/null +++ b/parser/include/postgres/utils/ascii.h @@ -0,0 +1,84 @@ +/*----------------------------------------------------------------------- + * ascii.h + * + * Portions Copyright (c) 1999-2024, PostgreSQL Global Development Group + * + * src/include/utils/ascii.h + * + *----------------------------------------------------------------------- + */ + +#ifndef _ASCII_H_ +#define _ASCII_H_ + +#include "port/simd.h" + +extern void ascii_safe_strlcpy(char *dest, const char *src, size_t destsiz); + +/* + * Verify a chunk of bytes for valid ASCII. + * + * Returns false if the input contains any zero bytes or bytes with the + * high-bit set. Input len must be a multiple of the chunk size (8 or 16). + */ +static inline bool +is_valid_ascii(const unsigned char *s, int len) +{ + const unsigned char *const s_end = s + len; + Vector8 chunk; + Vector8 highbit_cum = vector8_broadcast(0); +#ifdef USE_NO_SIMD + Vector8 zero_cum = vector8_broadcast(0x80); +#endif + + Assert(len % sizeof(chunk) == 0); + + while (s < s_end) + { + vector8_load(&chunk, s); + + /* Capture any zero bytes in this chunk. */ +#ifdef USE_NO_SIMD + + /* + * First, add 0x7f to each byte. This sets the high bit in each byte, + * unless it was a zero. If any resulting high bits are zero, the + * corresponding high bits in the zero accumulator will be cleared. + * + * If none of the bytes in the chunk had the high bit set, the max + * value each byte can have after the addition is 0x7f + 0x7f = 0xfe, + * and we don't need to worry about carrying over to the next byte. If + * any input bytes did have the high bit set, it doesn't matter + * because we check for those separately. + */ + zero_cum &= (chunk + vector8_broadcast(0x7F)); +#else + + /* + * Set all bits in each lane of the highbit accumulator where input + * bytes are zero. + */ + highbit_cum = vector8_or(highbit_cum, + vector8_eq(chunk, vector8_broadcast(0))); +#endif + + /* Capture all set bits in this chunk. */ + highbit_cum = vector8_or(highbit_cum, chunk); + + s += sizeof(chunk); + } + + /* Check if any high bits in the high bit accumulator got set. */ + if (vector8_is_highbit_set(highbit_cum)) + return false; + +#ifdef USE_NO_SIMD + /* Check if any high bits in the zero accumulator got cleared. */ + if (zero_cum != vector8_broadcast(0x80)) + return false; +#endif + + return true; +} + +#endif /* _ASCII_H_ */ diff --git a/parser/include/utils/backend_progress.h b/parser/include/postgres/utils/backend_progress.h similarity index 83% rename from parser/include/utils/backend_progress.h rename to parser/include/postgres/utils/backend_progress.h index 47bf8029..7b63d38f 100644 --- a/parser/include/utils/backend_progress.h +++ b/parser/include/postgres/utils/backend_progress.h @@ -6,7 +6,7 @@ * backend's command progress counters, without ascribing meaning to the * individual fields. See commands/progress.h and system_views.sql for that. * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/backend_progress.h * ---------- @@ -27,7 +27,7 @@ typedef enum ProgressCommandType PROGRESS_COMMAND_CLUSTER, PROGRESS_COMMAND_CREATE_INDEX, PROGRESS_COMMAND_BASEBACKUP, - PROGRESS_COMMAND_COPY + PROGRESS_COMMAND_COPY, } ProgressCommandType; #define PGSTAT_NUM_PROGRESS_PARAM 20 @@ -36,6 +36,8 @@ typedef enum ProgressCommandType extern void pgstat_progress_start_command(ProgressCommandType cmdtype, Oid relid); extern void pgstat_progress_update_param(int index, int64 val); +extern void pgstat_progress_incr_param(int index, int64 incr); +extern void pgstat_progress_parallel_incr_param(int index, int64 incr); extern void pgstat_progress_update_multi_param(int nparam, const int *index, const int64 *val); extern void pgstat_progress_end_command(void); diff --git a/parser/include/utils/backend_status.h b/parser/include/postgres/utils/backend_status.h similarity index 91% rename from parser/include/utils/backend_status.h rename to parser/include/postgres/utils/backend_status.h index 7403bca2..7b7f6f59 100644 --- a/parser/include/utils/backend_status.h +++ b/parser/include/postgres/utils/backend_status.h @@ -2,7 +2,7 @@ * backend_status.h * Definitions related to backend status reporting * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/backend_status.h * ---------- @@ -13,6 +13,7 @@ #include "datatype/timestamp.h" #include "libpq/pqcomm.h" #include "miscadmin.h" /* for BackendType */ +#include "storage/procnumber.h" #include "utils/backend_progress.h" @@ -28,7 +29,7 @@ typedef enum BackendState STATE_IDLEINTRANSACTION, STATE_FASTPATH, STATE_IDLEINTRANSACTION_ABORTED, - STATE_DISABLED + STATE_DISABLED, } BackendState; @@ -76,6 +77,7 @@ typedef struct PgBackendGSSStatus char gss_princ[NAMEDATALEN]; /* GSSAPI Principal used to auth */ bool gss_auth; /* If GSSAPI authentication was used */ bool gss_enc; /* If encryption is being used */ + bool gss_delegation; /* If credentials delegated */ } PgBackendGSSStatus; @@ -85,7 +87,7 @@ typedef struct PgBackendGSSStatus * * Each live backend maintains a PgBackendStatus struct in shared memory * showing its current activity. (The structs are allocated according to - * BackendId, but that is not critical.) Note that this is unrelated to the + * ProcNumber, but that is not critical.) Note that this is unrelated to the * cumulative stats system (i.e. pgstat.c et al). * * Each auxiliary process also maintains a PgBackendStatus struct in shared @@ -247,6 +249,11 @@ typedef struct LocalPgBackendStatus */ PgBackendStatus backendStatus; + /* + * The proc number. + */ + ProcNumber proc_number; + /* * The xid of the current transaction if available, InvalidTransactionId * if not. @@ -258,6 +265,17 @@ typedef struct LocalPgBackendStatus * not. */ TransactionId backend_xmin; + + /* + * Number of cached subtransactions in the current session. + */ + int backend_subxact_count; + + /* + * The number of subtransactions in the current session which exceeded the + * cached subtransaction limit. + */ + bool backend_subxact_overflowed; } LocalPgBackendStatus; @@ -313,8 +331,9 @@ extern uint64 pgstat_get_my_query_id(void); * ---------- */ extern int pgstat_fetch_stat_numbackends(void); -extern PgBackendStatus *pgstat_fetch_stat_beentry(int beid); -extern LocalPgBackendStatus *pgstat_fetch_stat_local_beentry(int beid); +extern PgBackendStatus *pgstat_get_beentry_by_proc_number(ProcNumber procNumber); +extern LocalPgBackendStatus *pgstat_get_local_beentry_by_proc_number(ProcNumber procNumber); +extern LocalPgBackendStatus *pgstat_get_local_beentry_by_index(int idx); extern char *pgstat_clip_activity(const char *raw_activity); diff --git a/parser/include/utils/builtins.h b/parser/include/postgres/utils/builtins.h similarity index 81% rename from parser/include/utils/builtins.h rename to parser/include/postgres/utils/builtins.h index 24d16e8f..2a5f7755 100644 --- a/parser/include/utils/builtins.h +++ b/parser/include/postgres/utils/builtins.h @@ -4,7 +4,7 @@ * Declarations for operations on built-in types. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/builtins.h @@ -28,12 +28,17 @@ extern bool parse_bool_with_len(const char *value, size_t len, bool *result); /* domains.c */ extern void domain_check(Datum value, bool isnull, Oid domainType, void **extra, MemoryContext mcxt); +extern bool domain_check_safe(Datum value, bool isnull, Oid domainType, + void **extra, MemoryContext mcxt, + Node *escontext); extern int errdatatype(Oid datatypeOid); extern int errdomainconstraint(Oid datatypeOid, const char *conname); /* encode.c */ extern uint64 hex_encode(const char *src, size_t len, char *dst); extern uint64 hex_decode(const char *src, size_t len, char *dst); +extern uint64 hex_decode_safe(const char *src, size_t len, char *dst, + Node *escontext); /* int.c */ extern int2vector *buildint2vector(const int16 *int2s, int n); @@ -44,13 +49,20 @@ extern int namestrcmp(Name name, const char *str); /* numutils.c */ extern int16 pg_strtoint16(const char *s); +extern int16 pg_strtoint16_safe(const char *s, Node *escontext); extern int32 pg_strtoint32(const char *s); +extern int32 pg_strtoint32_safe(const char *s, Node *escontext); extern int64 pg_strtoint64(const char *s); +extern int64 pg_strtoint64_safe(const char *s, Node *escontext); +extern uint32 uint32in_subr(const char *s, char **endloc, + const char *typname, Node *escontext); +extern uint64 uint64in_subr(const char *s, char **endloc, + const char *typname, Node *escontext); extern int pg_itoa(int16 i, char *a); -extern int pg_ultoa_n(uint32 l, char *a); -extern int pg_ulltoa_n(uint64 l, char *a); -extern int pg_ltoa(int32 l, char *a); -extern int pg_lltoa(int64 ll, char *a); +extern int pg_ultoa_n(uint32 value, char *a); +extern int pg_ulltoa_n(uint64 value, char *a); +extern int pg_ltoa(int32 value, char *a); +extern int pg_lltoa(int64 value, char *a); extern char *pg_ultostr_zeropad(char *str, uint32 value, int32 minwidth); extern char *pg_ultostr(char *str, uint32 value); @@ -64,7 +76,7 @@ extern char *regexp_fixed_prefix(text *text_re, bool case_insensitive, Oid collation, bool *exact); /* ruleutils.c */ -extern PGDLLIMPORT __thread bool quote_all_identifiers; +extern PGDLLIMPORT __thread bool quote_all_identifiers; extern const char *quote_identifier(const char *ident); extern char *quote_qualified_identifier(const char *qualifier, const char *ident); diff --git a/parser/include/utils/bytea.h b/parser/include/postgres/utils/bytea.h similarity index 86% rename from parser/include/utils/bytea.h rename to parser/include/postgres/utils/bytea.h index c3c9e547..dcc55d87 100644 --- a/parser/include/utils/bytea.h +++ b/parser/include/postgres/utils/bytea.h @@ -4,7 +4,7 @@ * Declarations for BYTEA data type support. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/bytea.h @@ -19,7 +19,7 @@ typedef enum { BYTEA_OUTPUT_ESCAPE, - BYTEA_OUTPUT_HEX + BYTEA_OUTPUT_HEX, } ByteaOutputType; extern PGDLLIMPORT int bytea_output; /* ByteaOutputType, but int for GUC diff --git a/parser/include/utils/catcache.h b/parser/include/postgres/utils/catcache.h similarity index 96% rename from parser/include/utils/catcache.h rename to parser/include/postgres/utils/catcache.h index d81e6fab..99169a93 100644 --- a/parser/include/utils/catcache.h +++ b/parser/include/postgres/utils/catcache.h @@ -10,7 +10,7 @@ * guarantee that there can only be one matching row for a key combination. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/catcache.h @@ -51,9 +51,11 @@ typedef struct catcache CCFastEqualFN cc_fastequal[CATCACHE_MAXKEYS]; /* fast equal function for * each key */ int cc_keyno[CATCACHE_MAXKEYS]; /* AttrNumber of each key */ - dlist_head cc_lists; /* list of CatCList structs */ - int cc_ntup; /* # of tuples currently in this cache */ int cc_nkeys; /* # of keys (1..CATCACHE_MAXKEYS) */ + int cc_ntup; /* # of tuples currently in this cache */ + int cc_nlist; /* # of CatCLists currently in this cache */ + int cc_nlbuckets; /* # of CatCList hash buckets in this cache */ + dlist_head *cc_lbucket; /* hash buckets for CatCLists */ const char *cc_relname; /* name of relation the tuples come from */ Oid cc_reloid; /* OID of relation the tuples come from */ Oid cc_indexoid; /* OID of index matching cache keys */ @@ -218,6 +220,7 @@ extern CatCList *SearchCatCacheList(CatCache *cache, int nkeys, extern void ReleaseCatCacheList(CatCList *list); extern void ResetCatalogCaches(void); +extern void ResetCatalogCachesExt(bool debug_discard); extern void CatalogCacheFlushCatalog(Oid catId); extern void CatCacheInvalidate(CatCache *cache, uint32 hashValue); extern void PrepareToInvalidateCacheTuple(Relation relation, @@ -225,7 +228,4 @@ extern void PrepareToInvalidateCacheTuple(Relation relation, HeapTuple newtuple, void (*function) (int, uint32, Oid)); -extern void PrintCatCacheLeakWarning(HeapTuple tuple); -extern void PrintCatCacheListLeakWarning(CatCList *list); - #endif /* CATCACHE_H */ diff --git a/parser/include/utils/date.h b/parser/include/postgres/utils/date.h similarity index 81% rename from parser/include/utils/date.h rename to parser/include/postgres/utils/date.h index 91ae2425..aaed6471 100644 --- a/parser/include/utils/date.h +++ b/parser/include/postgres/utils/date.h @@ -4,7 +4,7 @@ * Definitions for the SQL "date" and "time" types. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/date.h @@ -42,21 +42,49 @@ typedef struct #define DATE_IS_NOEND(j) ((j) == DATEVAL_NOEND) #define DATE_NOT_FINITE(j) (DATE_IS_NOBEGIN(j) || DATE_IS_NOEND(j)) +#define MAX_TIME_PRECISION 6 + /* - * Macros for fmgr-callable functions. + * Functions for fmgr-callable functions. * * For TimeADT, we make use of the same support routines as for int64. * Therefore TimeADT is pass-by-reference if and only if int64 is! */ -#define MAX_TIME_PRECISION 6 +static inline DateADT +DatumGetDateADT(Datum X) +{ + return (DateADT) DatumGetInt32(X); +} + +static inline TimeADT +DatumGetTimeADT(Datum X) +{ + return (TimeADT) DatumGetInt64(X); +} -#define DatumGetDateADT(X) ((DateADT) DatumGetInt32(X)) -#define DatumGetTimeADT(X) ((TimeADT) DatumGetInt64(X)) -#define DatumGetTimeTzADTP(X) ((TimeTzADT *) DatumGetPointer(X)) +static inline TimeTzADT * +DatumGetTimeTzADTP(Datum X) +{ + return (TimeTzADT *) DatumGetPointer(X); +} + +static inline Datum +DateADTGetDatum(DateADT X) +{ + return Int32GetDatum(X); +} -#define DateADTGetDatum(X) Int32GetDatum(X) -#define TimeADTGetDatum(X) Int64GetDatum(X) -#define TimeTzADTPGetDatum(X) PointerGetDatum(X) +static inline Datum +TimeADTGetDatum(TimeADT X) +{ + return Int64GetDatum(X); +} + +static inline Datum +TimeTzADTPGetDatum(const TimeTzADT *X) +{ + return PointerGetDatum(X); +} #define PG_GETARG_DATEADT(n) DatumGetDateADT(PG_GETARG_DATUM(n)) #define PG_GETARG_TIMEADT(n) DatumGetTimeADT(PG_GETARG_DATUM(n)) diff --git a/parser/include/utils/datetime.h b/parser/include/postgres/utils/datetime.h similarity index 83% rename from parser/include/utils/datetime.h rename to parser/include/postgres/utils/datetime.h index 4527e825..e4ac2b8e 100644 --- a/parser/include/utils/datetime.h +++ b/parser/include/postgres/utils/datetime.h @@ -6,7 +6,7 @@ * including date, and time. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/datetime.h @@ -16,7 +16,6 @@ #ifndef DATETIME_H #define DATETIME_H -#include "nodes/nodes.h" #include "utils/timestamp.h" /* this struct is declared in utils/tzparser.h: */ @@ -276,13 +275,30 @@ extern PGDLLIMPORT const int day_tab[2][13]; * Datetime input parsing routines (ParseDateTime, DecodeDateTime, etc) * return zero or a positive value on success. On failure, they return * one of these negative code values. DateTimeParseError may be used to - * produce a correct ereport. + * produce a suitable error report. For some of these codes, + * DateTimeParseError requires additional information, which is carried + * in struct DateTimeErrorExtra. */ #define DTERR_BAD_FORMAT (-1) #define DTERR_FIELD_OVERFLOW (-2) #define DTERR_MD_FIELD_OVERFLOW (-3) /* triggers hint about DateStyle */ #define DTERR_INTERVAL_OVERFLOW (-4) #define DTERR_TZDISP_OVERFLOW (-5) +#define DTERR_BAD_TIMEZONE (-6) +#define DTERR_BAD_ZONE_ABBREV (-7) + +typedef struct DateTimeErrorExtra +{ + /* Needed for DTERR_BAD_TIMEZONE and DTERR_BAD_ZONE_ABBREV: */ + const char *dtee_timezone; /* incorrect time zone name */ + /* Needed for DTERR_BAD_ZONE_ABBREV: */ + const char *dtee_abbrev; /* relevant time zone abbreviation */ +} DateTimeErrorExtra; + +/* Result codes for DecodeTimezoneName() */ +#define TZNAME_FIXED_OFFSET 0 +#define TZNAME_DYNTZ 1 +#define TZNAME_ZONE 2 extern void GetCurrentDateTime(struct pg_tm *tm); @@ -293,20 +309,21 @@ extern int date2j(int year, int month, int day); extern int ParseDateTime(const char *timestr, char *workbuf, size_t buflen, char **field, int *ftype, int maxfields, int *numfields); -extern int DecodeDateTime(char **field, int *ftype, - int nf, int *dtype, - struct pg_tm *tm, fsec_t *fsec, int *tzp); -extern int DecodeTimezone(char *str, int *tzp); -extern int DecodeTimeOnly(char **field, int *ftype, - int nf, int *dtype, - struct pg_tm *tm, fsec_t *fsec, int *tzp); +extern int DecodeDateTime(char **field, int *ftype, int nf, + int *dtype, struct pg_tm *tm, fsec_t *fsec, int *tzp, + DateTimeErrorExtra *extra); +extern int DecodeTimezone(const char *str, int *tzp); +extern int DecodeTimeOnly(char **field, int *ftype, int nf, + int *dtype, struct pg_tm *tm, fsec_t *fsec, int *tzp, + DateTimeErrorExtra *extra); extern int DecodeInterval(char **field, int *ftype, int nf, int range, int *dtype, struct pg_itm_in *itm_in); extern int DecodeISO8601Interval(char *str, int *dtype, struct pg_itm_in *itm_in); -extern void DateTimeParseError(int dterr, const char *str, - const char *datatype) pg_attribute_noreturn(); +extern void DateTimeParseError(int dterr, DateTimeErrorExtra *extra, + const char *str, const char *datatype, + struct Node *escontext); extern int DetermineTimeZoneOffset(struct pg_tm *tm, pg_tz *tzp); extern int DetermineTimeZoneAbbrevOffset(struct pg_tm *tm, const char *abbr, pg_tz *tzp); @@ -322,14 +339,21 @@ extern void EncodeSpecialTimestamp(Timestamp dt, char *str); extern int ValidateDate(int fmask, bool isjulian, bool is2digits, bool bc, struct pg_tm *tm); -extern int DecodeTimezoneAbbrev(int field, char *lowtoken, - int *offset, pg_tz **tz); -extern int DecodeSpecial(int field, char *lowtoken, int *val); -extern int DecodeUnits(int field, char *lowtoken, int *val); +extern int DecodeTimezoneAbbrev(int field, const char *lowtoken, + int *ftype, int *offset, pg_tz **tz, + DateTimeErrorExtra *extra); +extern int DecodeSpecial(int field, const char *lowtoken, int *val); +extern int DecodeUnits(int field, const char *lowtoken, int *val); + +extern int DecodeTimezoneName(const char *tzname, int *offset, pg_tz **tz); +extern pg_tz *DecodeTimezoneNameToTz(const char *tzname); + +extern int DecodeTimezoneAbbrevPrefix(const char *str, + int *offset, pg_tz **tz); -extern int j2day(int jd); +extern int j2day(int date); -extern Node *TemporalSimplify(int32 max_precis, Node *node); +extern struct Node *TemporalSimplify(int32 max_precis, struct Node *node); extern bool CheckDateTokenTables(void); @@ -337,8 +361,7 @@ extern TimeZoneAbbrevTable *ConvertTimeZoneAbbrevs(struct tzEntry *abbrevs, int n); extern void InstallTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl); -extern void AdjustTimestampForTypmod(Timestamp *time, int32 typmod); -extern bool AdjustTimestampForTypmodError(Timestamp *time, int32 typmod, - bool *error); +extern bool AdjustTimestampForTypmod(Timestamp *time, int32 typmod, + struct Node *escontext); #endif /* DATETIME_H */ diff --git a/parser/include/utils/datum.h b/parser/include/postgres/utils/datum.h similarity index 97% rename from parser/include/utils/datum.h rename to parser/include/postgres/utils/datum.h index d7de961f..8e3728f1 100644 --- a/parser/include/utils/datum.h +++ b/parser/include/postgres/utils/datum.h @@ -8,7 +8,7 @@ * of the Datum. (We do it this way because in most situations the caller * can look up the info just once and use it for many per-datum operations.) * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/datum.h diff --git a/parser/include/utils/dsa.h b/parser/include/postgres/utils/dsa.h similarity index 70% rename from parser/include/utils/dsa.h rename to parser/include/postgres/utils/dsa.h index 405606fe..8dff964b 100644 --- a/parser/include/utils/dsa.h +++ b/parser/include/postgres/utils/dsa.h @@ -3,7 +3,7 @@ * dsa.h * Dynamic shared memory areas. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -77,6 +77,31 @@ typedef pg_atomic_uint64 dsa_pointer_atomic; /* A sentinel value for dsa_pointer used to indicate failure to allocate. */ #define InvalidDsaPointer ((dsa_pointer) 0) +/* + * The number of bits used to represent the offset part of a dsa_pointer. + * This controls the maximum size of a segment, the maximum possible + * allocation size and also the maximum number of segments per area. + */ +#if SIZEOF_DSA_POINTER == 4 +#define DSA_OFFSET_WIDTH 27 /* 32 segments of size up to 128MB */ +#else +#define DSA_OFFSET_WIDTH 40 /* 1024 segments of size up to 1TB */ +#endif + +/* + * The default size of the initial DSM segment that backs a dsa_area created + * by dsa_create. After creating some number of segments of the initial size + * we'll double this size, and so on. Larger segments may be created if + * necessary to satisfy large requests. + */ +#define DSA_DEFAULT_INIT_SEGMENT_SIZE ((size_t) (1 * 1024 * 1024)) + +/* The minimum size of a DSM segment. */ +#define DSA_MIN_SEGMENT_SIZE ((size_t) (256 * 1024L)) + +/* The maximum size of a DSM segment. */ +#define DSA_MAX_SEGMENT_SIZE ((size_t) 1 << DSA_OFFSET_WIDTH) + /* Check if a dsa_pointer value is valid. */ #define DsaPointerIsValid(x) ((x) != InvalidDsaPointer) @@ -88,6 +113,17 @@ typedef pg_atomic_uint64 dsa_pointer_atomic; #define dsa_allocate0(area, size) \ dsa_allocate_extended(area, size, DSA_ALLOC_ZERO) +/* Create dsa_area with default segment sizes */ +#define dsa_create(tranch_id) \ + dsa_create_ext(tranch_id, DSA_DEFAULT_INIT_SEGMENT_SIZE, \ + DSA_MAX_SEGMENT_SIZE) + +/* Create dsa_area with default segment sizes in an existing share memory space */ +#define dsa_create_in_place(place, size, tranch_id, segment) \ + dsa_create_in_place_ext(place, size, tranch_id, segment, \ + DSA_DEFAULT_INIT_SEGMENT_SIZE, \ + DSA_MAX_SEGMENT_SIZE) + /* * The type used for dsa_area handles. dsa_handle values can be shared with * other processes, so that they can attach to them. This provides a way to @@ -99,9 +135,15 @@ typedef pg_atomic_uint64 dsa_pointer_atomic; */ typedef dsm_handle dsa_handle; -extern dsa_area *dsa_create(int tranche_id); -extern dsa_area *dsa_create_in_place(void *place, size_t size, - int tranche_id, dsm_segment *segment); +/* Sentinel value to use for invalid dsa_handles. */ +#define DSA_HANDLE_INVALID ((dsa_handle) DSM_HANDLE_INVALID) + +extern dsa_area *dsa_create_ext(int tranche_id, size_t init_segment_size, + size_t max_segment_size); +extern dsa_area *dsa_create_in_place_ext(void *place, size_t size, + int tranche_id, dsm_segment *segment, + size_t init_segment_size, + size_t max_segment_size); extern dsa_area *dsa_attach(dsa_handle handle); extern dsa_area *dsa_attach_in_place(void *place, dsm_segment *segment); extern void dsa_release_in_place(void *place); @@ -117,6 +159,7 @@ extern dsa_handle dsa_get_handle(dsa_area *area); extern dsa_pointer dsa_allocate_extended(dsa_area *area, size_t size, int flags); extern void dsa_free(dsa_area *area, dsa_pointer dp); extern void *dsa_get_address(dsa_area *area, dsa_pointer dp); +extern size_t dsa_get_total_size(dsa_area *area); extern void dsa_trim(dsa_area *area); extern void dsa_dump(dsa_area *area); diff --git a/parser/include/utils/elog.h b/parser/include/postgres/utils/elog.h similarity index 78% rename from parser/include/utils/elog.h rename to parser/include/postgres/utils/elog.h index 9cfad3d5..8c4b0f8f 100644 --- a/parser/include/utils/elog.h +++ b/parser/include/postgres/utils/elog.h @@ -4,7 +4,7 @@ * POSTGRES error reporting/logging definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/elog.h @@ -16,6 +16,12 @@ #include +#include "lib/stringinfo.h" + +/* We cannot include nodes.h yet, so forward-declare struct Node */ +struct Node; + + /* Error level codes */ #define DEBUG5 10 /* Debugging messages, in categories of * decreasing detail. */ @@ -83,7 +89,7 @@ */ #if defined(errno) && defined(__linux__) #define pg_prevent_errno_in_scope() int __errno_location pg_attribute_unused() -#elif defined(errno) && (defined(__darwin__) || defined(__freebsd__)) +#elif defined(errno) && (defined(__darwin__) || defined(__FreeBSD__)) #define pg_prevent_errno_in_scope() int __error pg_attribute_unused() #else #define pg_prevent_errno_in_scope() @@ -138,7 +144,7 @@ if (__builtin_constant_p(elevel) && (elevel) >= ERROR ? \ errstart_cold(elevel, domain) : \ errstart(elevel, domain)) \ - __VA_ARGS__, errfinish(__FILE__, __LINE__, PG_FUNCNAME_MACRO); \ + __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \ if (__builtin_constant_p(elevel) && (elevel) >= ERROR) \ pg_unreachable(); \ } while(0) @@ -148,7 +154,7 @@ const int elevel_ = (elevel); \ pg_prevent_errno_in_scope(); \ if (errstart(elevel_, domain)) \ - __VA_ARGS__, errfinish(__FILE__, __LINE__, PG_FUNCNAME_MACRO); \ + __VA_ARGS__, errfinish(__FILE__, __LINE__, __func__); \ if (elevel_ >= ERROR) \ pg_unreachable(); \ } while(0) @@ -220,6 +226,7 @@ extern int internalerrquery(const char *query); extern int err_generic_string(int field, const char *str); extern int geterrcode(void); +extern int geterrlevel(void); extern int geterrposition(void); extern int getinternalerrposition(void); @@ -233,6 +240,63 @@ extern int getinternalerrposition(void); ereport(elevel, errmsg_internal(__VA_ARGS__)) +/*---------- + * Support for reporting "soft" errors that don't require a full transaction + * abort to clean up. This is to be used in this way: + * errsave(context, + * errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), + * errmsg("invalid input syntax for type %s: \"%s\"", + * "boolean", in_str), + * ... other errxxx() fields as needed ...); + * + * "context" is a node pointer or NULL, and the remaining auxiliary calls + * provide the same error details as in ereport(). If context is not a + * pointer to an ErrorSaveContext node, then errsave(context, ...) + * behaves identically to ereport(ERROR, ...). If context is a pointer + * to an ErrorSaveContext node, then the information provided by the + * auxiliary calls is stored in the context node and control returns + * normally. The caller of errsave() must then do any required cleanup + * and return control back to its caller. That caller must check the + * ErrorSaveContext node to see whether an error occurred before + * it can trust the function's result to be meaningful. + * + * errsave_domain() allows a message domain to be specified; it is + * precisely analogous to ereport_domain(). + *---------- + */ +#define errsave_domain(context, domain, ...) \ + do { \ + struct Node *context_ = (context); \ + pg_prevent_errno_in_scope(); \ + if (errsave_start(context_, domain)) \ + __VA_ARGS__, errsave_finish(context_, __FILE__, __LINE__, __func__); \ + } while(0) + +#define errsave(context, ...) \ + errsave_domain(context, TEXTDOMAIN, __VA_ARGS__) + +/* + * "ereturn(context, dummy_value, ...);" is exactly the same as + * "errsave(context, ...); return dummy_value;". This saves a bit + * of typing in the common case where a function has no cleanup + * actions to take after reporting a soft error. "dummy_value" + * can be empty if the function returns void. + */ +#define ereturn_domain(context, dummy_value, domain, ...) \ + do { \ + errsave_domain(context, domain, __VA_ARGS__); \ + return dummy_value; \ + } while(0) + +#define ereturn(context, dummy_value, ...) \ + ereturn_domain(context, dummy_value, TEXTDOMAIN, __VA_ARGS__) + +extern bool errsave_start(struct Node *context, const char *domain); +extern void errsave_finish(struct Node *context, + const char *filename, int lineno, + const char *funcname); + + /* Support for constructing error strings separately from ereport() calls */ extern void pre_format_elog_string(int errnumber, const char *domain); @@ -248,7 +312,7 @@ typedef struct ErrorContextCallback void *arg; } ErrorContextCallback; -extern PGDLLIMPORT __thread ErrorContextCallback *error_context_stack; +extern PGDLLIMPORT __thread ErrorContextCallback *error_context_stack; /*---------- @@ -308,39 +372,47 @@ extern PGDLLIMPORT __thread ErrorContextCallback *error_context_stack; * pedantry; we have seen bugs from compilers improperly optimizing code * away when such a variable was not marked. Beware that gcc's -Wclobbered * warnings are just about entirely useless for catching such oversights. + * + * Each of these macros accepts an optional argument which can be specified + * to apply a suffix to the variables declared within the macros. This suffix + * can be used to avoid the compiler emitting warnings about shadowed + * variables when compiling with -Wshadow in situations where nested PG_TRY() + * statements are required. The optional suffix may contain any character + * that's allowed in a variable name. The suffix, if specified, must be the + * same within each component macro of the given PG_TRY() statement. *---------- */ -#define PG_TRY() \ +#define PG_TRY(...) \ do { \ - sigjmp_buf *_save_exception_stack = PG_exception_stack; \ - ErrorContextCallback *_save_context_stack = error_context_stack; \ - sigjmp_buf _local_sigjmp_buf; \ - bool _do_rethrow = false; \ - if (sigsetjmp(_local_sigjmp_buf, 0) == 0) \ + sigjmp_buf *_save_exception_stack##__VA_ARGS__ = PG_exception_stack; \ + ErrorContextCallback *_save_context_stack##__VA_ARGS__ = error_context_stack; \ + sigjmp_buf _local_sigjmp_buf##__VA_ARGS__; \ + bool _do_rethrow##__VA_ARGS__ = false; \ + if (sigsetjmp(_local_sigjmp_buf##__VA_ARGS__, 0) == 0) \ { \ - PG_exception_stack = &_local_sigjmp_buf + PG_exception_stack = &_local_sigjmp_buf##__VA_ARGS__ -#define PG_CATCH() \ +#define PG_CATCH(...) \ } \ else \ { \ - PG_exception_stack = _save_exception_stack; \ - error_context_stack = _save_context_stack + PG_exception_stack = _save_exception_stack##__VA_ARGS__; \ + error_context_stack = _save_context_stack##__VA_ARGS__ -#define PG_FINALLY() \ +#define PG_FINALLY(...) \ } \ else \ - _do_rethrow = true; \ + _do_rethrow##__VA_ARGS__ = true; \ { \ - PG_exception_stack = _save_exception_stack; \ - error_context_stack = _save_context_stack + PG_exception_stack = _save_exception_stack##__VA_ARGS__; \ + error_context_stack = _save_context_stack##__VA_ARGS__ -#define PG_END_TRY() \ +#define PG_END_TRY(...) \ } \ - if (_do_rethrow) \ + if (_do_rethrow##__VA_ARGS__) \ PG_RE_THROW(); \ - PG_exception_stack = _save_exception_stack; \ - error_context_stack = _save_context_stack; \ + PG_exception_stack = _save_exception_stack##__VA_ARGS__; \ + error_context_stack = _save_context_stack##__VA_ARGS__; \ } while (0) /* @@ -355,7 +427,7 @@ extern PGDLLIMPORT __thread ErrorContextCallback *error_context_stack; (pg_re_throw(), pg_unreachable()) #endif -extern PGDLLIMPORT __thread sigjmp_buf *PG_exception_stack; +extern PGDLLIMPORT __thread sigjmp_buf *PG_exception_stack; /* Stuff that error handlers might want to use */ @@ -412,7 +484,7 @@ extern char *GetErrorContextStack(void); /* Hook for intercepting messages before they are sent to the server log */ typedef void (*emit_log_hook_type) (ErrorData *edata); -extern PGDLLIMPORT __thread emit_log_hook_type emit_log_hook; +extern PGDLLIMPORT __thread emit_log_hook_type emit_log_hook; /* GUC-configurable parameters */ @@ -421,7 +493,7 @@ typedef enum { PGERROR_TERSE, /* single-line error messages */ PGERROR_DEFAULT, /* recommended style */ - PGERROR_VERBOSE /* all the facts, ma'am */ + PGERROR_VERBOSE, /* all the facts, ma'am */ } PGErrorVerbosity; extern PGDLLIMPORT int Log_error_verbosity; @@ -439,6 +511,8 @@ extern PGDLLIMPORT bool syslog_split_messages; #define LOG_DESTINATION_JSONLOG 16 /* Other exported functions */ +extern void log_status_format(StringInfo buf, const char *format, + ErrorData *edata); extern void DebugFileOpen(void); extern char *unpack_sql_state(int sql_state); extern bool in_error_recursion_trouble(void); @@ -456,15 +530,12 @@ extern void write_pipe_chunks(char *data, int len, int dest); extern void write_csvlog(ErrorData *edata); extern void write_jsonlog(ErrorData *edata); -#ifdef HAVE_SYSLOG -extern void set_syslog_parameters(const char *ident, int facility); -#endif - /* * Write errors to stderr (or by equal means when stderr is * not available). Used before ereport/elog can be used * safely (memory context, GUC load etc) */ extern void write_stderr(const char *fmt,...) pg_attribute_printf(1, 2); +extern void vwrite_stderr(const char *fmt, va_list ap) pg_attribute_printf(1, 0); #endif /* ELOG_H */ diff --git a/parser/include/utils/errcodes.h b/parser/include/postgres/utils/errcodes.h similarity index 99% rename from parser/include/utils/errcodes.h rename to parser/include/postgres/utils/errcodes.h index a2f604c2..8f86feb4 100644 --- a/parser/include/utils/errcodes.h +++ b/parser/include/postgres/utils/errcodes.h @@ -157,6 +157,7 @@ #define ERRCODE_NO_ACTIVE_SQL_TRANSACTION MAKE_SQLSTATE('2','5','P','0','1') #define ERRCODE_IN_FAILED_SQL_TRANSACTION MAKE_SQLSTATE('2','5','P','0','2') #define ERRCODE_IDLE_IN_TRANSACTION_SESSION_TIMEOUT MAKE_SQLSTATE('2','5','P','0','3') +#define ERRCODE_TRANSACTION_TIMEOUT MAKE_SQLSTATE('2','5','P','0','4') /* Class 26 - Invalid SQL Statement Name */ #define ERRCODE_INVALID_SQL_STATEMENT_NAME MAKE_SQLSTATE('2','6','0','0','0') @@ -305,9 +306,6 @@ #define ERRCODE_UNDEFINED_FILE MAKE_SQLSTATE('5','8','P','0','1') #define ERRCODE_DUPLICATE_FILE MAKE_SQLSTATE('5','8','P','0','2') -/* Class 72 - Snapshot Failure */ -#define ERRCODE_SNAPSHOT_TOO_OLD MAKE_SQLSTATE('7','2','0','0','0') - /* Class F0 - Configuration File Error */ #define ERRCODE_CONFIG_FILE_ERROR MAKE_SQLSTATE('F','0','0','0','0') #define ERRCODE_LOCK_FILE_EXISTS MAKE_SQLSTATE('F','0','0','0','1') diff --git a/parser/include/utils/expandeddatum.h b/parser/include/postgres/utils/expandeddatum.h similarity index 95% rename from parser/include/utils/expandeddatum.h rename to parser/include/postgres/utils/expandeddatum.h index ffdb0c45..4a6637da 100644 --- a/parser/include/utils/expandeddatum.h +++ b/parser/include/postgres/utils/expandeddatum.h @@ -34,7 +34,7 @@ * value if they fail partway through. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/expandeddatum.h @@ -44,6 +44,8 @@ #ifndef EXPANDEDDATUM_H #define EXPANDEDDATUM_H +#include "varatt.h" + /* Size of an EXTERNAL datum that contains a pointer to an expanded object */ #define EXPANDED_POINTER_SIZE (VARHDRSZ_EXTERNAL + sizeof(varatt_expanded)) @@ -133,8 +135,17 @@ struct ExpandedObjectHeader * (More of these might be worth inlining later.) */ -#define EOHPGetRWDatum(eohptr) PointerGetDatum((eohptr)->eoh_rw_ptr) -#define EOHPGetRODatum(eohptr) PointerGetDatum((eohptr)->eoh_ro_ptr) +static inline Datum +EOHPGetRWDatum(const struct ExpandedObjectHeader *eohptr) +{ + return PointerGetDatum(eohptr->eoh_rw_ptr); +} + +static inline Datum +EOHPGetRODatum(const struct ExpandedObjectHeader *eohptr) +{ + return PointerGetDatum(eohptr->eoh_ro_ptr); +} /* Does the Datum represent a writable expanded object? */ #define DatumIsReadWriteExpandedObject(d, isnull, typlen) \ diff --git a/parser/include/utils/expandedrecord.h b/parser/include/postgres/utils/expandedrecord.h similarity index 96% rename from parser/include/utils/expandedrecord.h rename to parser/include/postgres/utils/expandedrecord.h index be60e2ce..936aaf19 100644 --- a/parser/include/utils/expandedrecord.h +++ b/parser/include/postgres/utils/expandedrecord.h @@ -3,7 +3,7 @@ * expandedrecord.h * Declarations for composite expanded objects. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/expandedrecord.h @@ -138,10 +138,20 @@ typedef struct ExpandedRecordHeader MemoryContextCallback er_mcb; } ExpandedRecordHeader; -/* fmgr macros for expanded record objects */ +/* fmgr functions and macros for expanded record objects */ +static inline Datum +ExpandedRecordGetDatum(const ExpandedRecordHeader *erh) +{ + return EOHPGetRWDatum(&erh->hdr); +} + +static inline Datum +ExpandedRecordGetRODatum(const ExpandedRecordHeader *erh) +{ + return EOHPGetRODatum(&erh->hdr); +} + #define PG_GETARG_EXPANDED_RECORD(n) DatumGetExpandedRecord(PG_GETARG_DATUM(n)) -#define ExpandedRecordGetDatum(erh) EOHPGetRWDatum(&(erh)->hdr) -#define ExpandedRecordGetRODatum(erh) EOHPGetRODatum(&(erh)->hdr) #define PG_RETURN_EXPANDED_RECORD(x) PG_RETURN_DATUM(ExpandedRecordGetDatum(x)) /* assorted other macros */ diff --git a/parser/include/utils/float.h b/parser/include/postgres/utils/float.h similarity index 95% rename from parser/include/utils/float.h rename to parser/include/postgres/utils/float.h index 4bf0e3ac..7d1badd2 100644 --- a/parser/include/utils/float.h +++ b/parser/include/postgres/utils/float.h @@ -3,7 +3,7 @@ * float.h * Definitions for the built-in floating-point types * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -17,8 +17,8 @@ #include +/* X/Open (XSI) requires to provide M_PI, but core POSIX does not */ #ifndef M_PI -/* From my RH5.2 gcc math.h file - thomas 2000-04-03 */ #define M_PI 3.14159265358979323846 #endif @@ -42,10 +42,11 @@ extern void float_underflow_error(void) pg_attribute_noreturn(); extern void float_zero_divide_error(void) pg_attribute_noreturn(); extern int is_infinite(float8 val); extern float8 float8in_internal(char *num, char **endptr_p, - const char *type_name, const char *orig_string); -extern float8 float8in_internal_opt_error(char *num, char **endptr_p, - const char *type_name, const char *orig_string, - bool *have_error); + const char *type_name, const char *orig_string, + struct Node *escontext); +extern float4 float4in_internal(char *num, char **endptr_p, + const char *type_name, const char *orig_string, + struct Node *escontext); extern char *float8out_internal(float8 num); extern int float4_cmp_internal(float4 a, float4 b); extern int float8_cmp_internal(float8 a, float8 b); diff --git a/parser/include/utils/fmgroids.h b/parser/include/postgres/utils/fmgroids.h similarity index 96% rename from parser/include/utils/fmgroids.h rename to parser/include/postgres/utils/fmgroids.h index 4cbc374b..bb0a91f0 100644 --- a/parser/include/utils/fmgroids.h +++ b/parser/include/postgres/utils/fmgroids.h @@ -6,7 +6,7 @@ * These macros can be used to avoid a catalog lookup when a specific * fmgr-callable function needs to be referenced. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -979,7 +979,7 @@ #define F_BITLT 1595 #define F_BITCMP 1596 #define F_PG_ENCODING_TO_CHAR 1597 -#define F_RANDOM 1598 +#define F_RANDOM_ 1598 #define F_SETSEED 1599 #define F_ASIN 1600 #define F_ACOS 1601 @@ -1169,7 +1169,7 @@ #define F_INT2_SUM 1840 #define F_INT4_SUM 1841 #define F_INT8_SUM 1842 -#define F_INTERVAL_ACCUM 1843 +#define F_INTERVAL_AVG_ACCUM 1843 #define F_INTERVAL_AVG 1844 #define F_TO_ASCII_TEXT 1845 #define F_TO_ASCII_TEXT_INT4 1846 @@ -1816,13 +1816,12 @@ #define F_REGEXP_SPLIT_TO_TABLE_TEXT_TEXT_TEXT 2766 #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT 2767 #define F_REGEXP_SPLIT_TO_ARRAY_TEXT_TEXT_TEXT 2768 -#define F_PG_STAT_GET_BGWRITER_TIMED_CHECKPOINTS 2769 -#define F_PG_STAT_GET_BGWRITER_REQUESTED_CHECKPOINTS 2770 -#define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CHECKPOINTS 2771 +#define F_PG_STAT_GET_CHECKPOINTER_NUM_TIMED 2769 +#define F_PG_STAT_GET_CHECKPOINTER_NUM_REQUESTED 2770 +#define F_PG_STAT_GET_CHECKPOINTER_BUFFERS_WRITTEN 2771 #define F_PG_STAT_GET_BGWRITER_BUF_WRITTEN_CLEAN 2772 #define F_PG_STAT_GET_BGWRITER_MAXWRITTEN_CLEAN 2773 #define F_GINQUERYARRAYEXTRACT 2774 -#define F_PG_STAT_GET_BUF_WRITTEN_BACKEND 2775 #define F_ANYNONARRAY_IN 2777 #define F_ANYNONARRAY_OUT 2778 #define F_PG_STAT_GET_LAST_VACUUM_TIME 2781 @@ -2043,7 +2042,6 @@ #define F_LEFT 3060 #define F_RIGHT 3061 #define F_REVERSE 3062 -#define F_PG_STAT_GET_BUF_FSYNC_BACKEND 3063 #define F_GIST_POINT_DISTANCE 3064 #define F_PG_STAT_GET_DB_CONFLICT_TABLESPACE 3065 #define F_PG_STAT_GET_DB_CONFLICT_LOCK 3066 @@ -2123,8 +2121,8 @@ #define F_NUMERIC_SUPPORT 3157 #define F_VARBIT_SUPPORT 3158 #define F_PG_GET_VIEWDEF_OID_INT4 3159 -#define F_PG_STAT_GET_CHECKPOINT_WRITE_TIME 3160 -#define F_PG_STAT_GET_CHECKPOINT_SYNC_TIME 3161 +#define F_PG_STAT_GET_CHECKPOINTER_WRITE_TIME 3160 +#define F_PG_STAT_GET_CHECKPOINTER_SYNC_TIME 3161 #define F_PG_COLLATION_FOR 3162 #define F_PG_TRIGGER_DEPTH 3163 #define F_PG_WAL_LSN_DIFF 3165 @@ -2241,7 +2239,7 @@ #define F_UNNEST_TSVECTOR 3322 #define F_TS_DELETE_TSVECTOR__TEXT 3323 #define F_INT4_AVG_COMBINE 3324 -#define F_INTERVAL_COMBINE 3325 +#define F_INTERVAL_AVG_COMBINE 3325 #define F_TSVECTOR_TO_ARRAY 3326 #define F_ARRAY_TO_TSVECTOR 3327 #define F_BPCHAR_SORTSUPPORT 3328 @@ -2408,7 +2406,7 @@ #define F_INT8DEC 3546 #define F_INT8DEC_ANY 3547 #define F_NUMERIC_ACCUM_INV 3548 -#define F_INTERVAL_ACCUM_INV 3549 +#define F_INTERVAL_AVG_ACCUM_INV 3549 #define F_NETWORK_OVERLAP 3551 #define F_INET_GIST_CONSISTENT 3553 #define F_INET_GIST_UNION 3554 @@ -2431,8 +2429,8 @@ #define F_INT4_AVG_ACCUM_INV 3571 #define F_INT2INT4_SUM 3572 #define F_INET_GIST_FETCH 3573 -#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT 3577 -#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA 3578 +#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_TEXT_BOOL 3577 +#define F_PG_LOGICAL_EMIT_MESSAGE_BOOL_TEXT_BYTEA_BOOL 3578 #define F_JSONB_INSERT 3579 #define F_PG_XACT_COMMIT_TIMESTAMP 3581 #define F_BINARY_UPGRADE_SET_NEXT_PG_TYPE_OID 3582 @@ -2596,6 +2594,7 @@ #define F_PG_IS_IN_RECOVERY 3810 #define F_MONEY_INT4 3811 #define F_MONEY_INT8 3812 +#define F_XMLTEXT 3813 #define F_PG_COLLATION_IS_VISIBLE 3815 #define F_ARRAY_TYPANALYZE 3816 #define F_ARRAYCONTSEL 3817 @@ -2795,8 +2794,6 @@ #define F_REGROLERECV 4094 #define F_REGROLESEND 4095 #define F_REGROLEIN 4098 -#define F_PG_ROTATE_LOGFILE_OLD 4099 -#define F_PG_READ_FILE_OLD 4100 #define F_BINARY_UPGRADE_SET_MISSING_VALUE 4101 #define F_BRIN_INCLUSION_OPCINFO 4105 #define F_BRIN_INCLUSION_ADD_VALUE 4106 @@ -3039,6 +3036,7 @@ #define F_BINARY_UPGRADE_SET_NEXT_INDEX_RELFILENODE 4546 #define F_BINARY_UPGRADE_SET_NEXT_TOAST_RELFILENODE 4547 #define F_BINARY_UPGRADE_SET_NEXT_PG_TABLESPACE_OID 4548 +#define F_UNICODE_VERSION 4549 #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_OID 4566 #define F_PG_EVENT_TRIGGER_TABLE_REWRITE_REASON 4567 #define F_PG_EVENT_TRIGGER_DDL_COMMANDS 4568 @@ -3168,7 +3166,10 @@ #define F_PG_REPLICATION_ORIGIN_PROGRESS 6013 #define F_PG_SHOW_REPLICATION_ORIGIN_STATUS 6014 #define F_JSONB_SUBSCRIPT_HANDLER 6098 +#define F_ICU_UNICODE_VERSION 6099 #define F_PG_LSN 6103 +#define F_UNICODE_ASSIGNED 6105 +#define F_PG_STAT_GET_BACKEND_SUBXACT 6107 #define F_PG_STAT_GET_SUBSCRIPTION 6118 #define F_PG_GET_PUBLICATION_TABLES 6119 #define F_PG_GET_REPLICA_IDENTITY_INDEX 6120 @@ -3218,6 +3219,22 @@ #define F_HAS_PARAMETER_PRIVILEGE_NAME_TEXT_TEXT 6205 #define F_HAS_PARAMETER_PRIVILEGE_OID_TEXT_TEXT 6206 #define F_HAS_PARAMETER_PRIVILEGE_TEXT_TEXT 6207 +#define F_PG_READ_FILE_TEXT_BOOL 6208 +#define F_PG_READ_BINARY_FILE_TEXT_BOOL 6209 +#define F_PG_INPUT_IS_VALID 6210 +#define F_PG_INPUT_ERROR_INFO 6211 +#define F_RANDOM_NORMAL 6212 +#define F_PG_SPLIT_WALFILE_NAME 6213 +#define F_PG_STAT_GET_IO 6214 +#define F_ARRAY_SHUFFLE 6215 +#define F_ARRAY_SAMPLE 6216 +#define F_PG_STAT_GET_TUPLES_NEWPAGE_UPDATED 6217 +#define F_PG_STAT_GET_XACT_TUPLES_NEWPAGE_UPDATED 6218 +#define F_ERF 6219 +#define F_ERFC 6220 +#define F_DATE_ADD_TIMESTAMPTZ_INTERVAL 6221 +#define F_DATE_ADD_TIMESTAMPTZ_INTERVAL_TEXT 6222 +#define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL 6223 #define F_PG_GET_WAL_RESOURCE_MANAGERS 6224 #define F_MULTIRANGE_AGG_TRANSFN 6225 #define F_MULTIRANGE_AGG_FINALFN 6226 @@ -3257,5 +3274,74 @@ #define F_PG_LS_LOGICALSNAPDIR 6270 #define F_PG_LS_LOGICALMAPDIR 6271 #define F_PG_LS_REPLSLOTDIR 6272 +#define F_DATE_SUBTRACT_TIMESTAMPTZ_INTERVAL_TEXT 6273 +#define F_GENERATE_SERIES_TIMESTAMPTZ_TIMESTAMPTZ_INTERVAL_TEXT 6274 +#define F_JSON_AGG_STRICT_TRANSFN 6275 +#define F_JSON_AGG_STRICT 6276 +#define F_JSON_OBJECT_AGG_STRICT_TRANSFN 6277 +#define F_JSON_OBJECT_AGG_UNIQUE_TRANSFN 6278 +#define F_JSON_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6279 +#define F_JSON_OBJECT_AGG_STRICT 6280 +#define F_JSON_OBJECT_AGG_UNIQUE 6281 +#define F_JSON_OBJECT_AGG_UNIQUE_STRICT 6282 +#define F_JSONB_AGG_STRICT_TRANSFN 6283 +#define F_JSONB_AGG_STRICT 6284 +#define F_JSONB_OBJECT_AGG_STRICT_TRANSFN 6285 +#define F_JSONB_OBJECT_AGG_UNIQUE_TRANSFN 6286 +#define F_JSONB_OBJECT_AGG_UNIQUE_STRICT_TRANSFN 6287 +#define F_JSONB_OBJECT_AGG_STRICT 6288 +#define F_JSONB_OBJECT_AGG_UNIQUE 6289 +#define F_JSONB_OBJECT_AGG_UNIQUE_STRICT 6290 +#define F_ANY_VALUE 6291 +#define F_ANY_VALUE_TRANSFN 6292 +#define F_ARRAY_AGG_COMBINE 6293 +#define F_ARRAY_AGG_SERIALIZE 6294 +#define F_ARRAY_AGG_DESERIALIZE 6295 +#define F_ARRAY_AGG_ARRAY_COMBINE 6296 +#define F_ARRAY_AGG_ARRAY_SERIALIZE 6297 +#define F_ARRAY_AGG_ARRAY_DESERIALIZE 6298 +#define F_STRING_AGG_COMBINE 6299 +#define F_STRING_AGG_SERIALIZE 6300 +#define F_STRING_AGG_DESERIALIZE 6301 +#define F_PG_LOG_STANDBY_SNAPSHOT 6305 +#define F_WINDOW_PERCENT_RANK_SUPPORT 6306 +#define F_WINDOW_CUME_DIST_SUPPORT 6307 +#define F_WINDOW_NTILE_SUPPORT 6308 +#define F_PG_STAT_GET_DB_CONFLICT_LOGICALSLOT 6309 +#define F_PG_STAT_GET_LASTSCAN 6310 +#define F_SYSTEM_USER 6311 +#define F_BINARY_UPGRADE_LOGICAL_SLOT_HAS_CAUGHT_UP 6312 +#define F_PG_STAT_GET_CHECKPOINTER_STAT_RESET_TIME 6314 +#define F_PG_BASETYPE 6315 +#define F_PG_COLUMN_TOAST_CHUNK_ID 6316 +#define F_TO_REGTYPEMOD 6317 +#define F_PG_GET_WAIT_EVENTS 6318 +#define F_BINARY_UPGRADE_ADD_SUB_REL_STATE 6319 +#define F_BINARY_UPGRADE_REPLORIGIN_ADVANCE 6320 +#define F_PG_AVAILABLE_WAL_SUMMARIES 6321 +#define F_PG_WAL_SUMMARY_CONTENTS 6322 +#define F_PG_GET_WAL_SUMMARIZER_STATE 6323 +#define F_INTERVAL_AVG_SERIALIZE 6324 +#define F_INTERVAL_AVG_DESERIALIZE 6325 +#define F_INTERVAL_SUM 6326 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_TIMED 6327 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_REQUESTED 6328 +#define F_PG_STAT_GET_CHECKPOINTER_RESTARTPOINTS_PERFORMED 6329 +#define F_TO_BIN_INT4 6330 +#define F_TO_BIN_INT8 6331 +#define F_TO_OCT_INT4 6332 +#define F_TO_OCT_INT8 6333 +#define F_TIMEZONE_TIMESTAMPTZ 6334 +#define F_TIMEZONE_TIMESTAMP 6335 +#define F_TIMEZONE_TIMETZ 6336 +#define F_JSONB_POPULATE_RECORD_VALID 6338 +#define F_RANDOM_INT4_INT4 6339 +#define F_RANDOM_INT8_INT8 6340 +#define F_RANDOM_NUMERIC_NUMERIC 6341 +#define F_UUID_EXTRACT_TIMESTAMP 6342 +#define F_UUID_EXTRACT_VERSION 6343 +#define F_PG_SYNC_REPLICATION_SLOTS 6344 +#define F_RANGE_CONTAINS_ELEM_SUPPORT 6345 +#define F_ELEM_CONTAINED_BY_RANGE_SUPPORT 6346 #endif /* FMGROIDS_H */ diff --git a/parser/include/utils/fmgrprotos.h b/parser/include/postgres/utils/fmgrprotos.h similarity index 96% rename from parser/include/utils/fmgrprotos.h rename to parser/include/postgres/utils/fmgrprotos.h index 151e8dda..bccdc422 100644 --- a/parser/include/utils/fmgrprotos.h +++ b/parser/include/postgres/utils/fmgrprotos.h @@ -3,7 +3,7 @@ * fmgrprotos.h * Prototypes for built-in functions. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -1055,7 +1055,7 @@ extern Datum numeric_stddev_samp(PG_FUNCTION_ARGS); extern Datum int2_sum(PG_FUNCTION_ARGS); extern Datum int4_sum(PG_FUNCTION_ARGS); extern Datum int8_sum(PG_FUNCTION_ARGS); -extern Datum interval_accum(PG_FUNCTION_ARGS); +extern Datum interval_avg_accum(PG_FUNCTION_ARGS); extern Datum interval_avg(PG_FUNCTION_ARGS); extern Datum to_ascii_default(PG_FUNCTION_ARGS); extern Datum to_ascii_enc(PG_FUNCTION_ARGS); @@ -1515,7 +1515,7 @@ extern Datum domain_recv(PG_FUNCTION_ARGS); extern Datum pg_timezone_abbrevs(PG_FUNCTION_ARGS); extern Datum xmlexists(PG_FUNCTION_ARGS); extern Datum pg_reload_conf(PG_FUNCTION_ARGS); -extern Datum pg_rotate_logfile_v2(PG_FUNCTION_ARGS); +extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS); extern Datum pg_stat_file_1arg(PG_FUNCTION_ARGS); extern Datum pg_read_file_off_len(PG_FUNCTION_ARGS); extern Datum pg_ls_dir_1arg(PG_FUNCTION_ARGS); @@ -1565,13 +1565,12 @@ extern Datum regexp_split_to_table_no_flags(PG_FUNCTION_ARGS); extern Datum regexp_split_to_table(PG_FUNCTION_ARGS); extern Datum regexp_split_to_array_no_flags(PG_FUNCTION_ARGS); extern Datum regexp_split_to_array(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_timed_checkpoints(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_requested_checkpoints(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_bgwriter_buf_written_checkpoints(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_num_timed(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_num_requested(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_buffers_written(PG_FUNCTION_ARGS); extern Datum pg_stat_get_bgwriter_buf_written_clean(PG_FUNCTION_ARGS); extern Datum pg_stat_get_bgwriter_maxwritten_clean(PG_FUNCTION_ARGS); extern Datum ginqueryarrayextract(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_buf_written_backend(PG_FUNCTION_ARGS); extern Datum anynonarray_in(PG_FUNCTION_ARGS); extern Datum anynonarray_out(PG_FUNCTION_ARGS); extern Datum pg_stat_get_last_vacuum_time(PG_FUNCTION_ARGS); @@ -1774,7 +1773,6 @@ extern Datum text_concat_ws(PG_FUNCTION_ARGS); extern Datum text_left(PG_FUNCTION_ARGS); extern Datum text_right(PG_FUNCTION_ARGS); extern Datum text_reverse(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_buf_fsync_backend(PG_FUNCTION_ARGS); extern Datum gist_point_distance(PG_FUNCTION_ARGS); extern Datum pg_stat_get_db_conflict_tablespace(PG_FUNCTION_ARGS); extern Datum pg_stat_get_db_conflict_lock(PG_FUNCTION_ARGS); @@ -1854,8 +1852,8 @@ extern Datum row_to_json_pretty(PG_FUNCTION_ARGS); extern Datum numeric_support(PG_FUNCTION_ARGS); extern Datum varbit_support(PG_FUNCTION_ARGS); extern Datum pg_get_viewdef_wrap(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_checkpoint_write_time(PG_FUNCTION_ARGS); -extern Datum pg_stat_get_checkpoint_sync_time(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_write_time(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_sync_time(PG_FUNCTION_ARGS); extern Datum pg_collation_for(PG_FUNCTION_ARGS); extern Datum pg_trigger_depth(PG_FUNCTION_ARGS); extern Datum pg_wal_lsn_diff(PG_FUNCTION_ARGS); @@ -1939,9 +1937,9 @@ extern Datum numeric_sortsupport(PG_FUNCTION_ARGS); extern Datum gist_poly_distance(PG_FUNCTION_ARGS); extern Datum dist_cpoint(PG_FUNCTION_ARGS); extern Datum dist_polyp(PG_FUNCTION_ARGS); -extern Datum pg_read_file_v2(PG_FUNCTION_ARGS); +extern Datum pg_read_file_off_len_missing(PG_FUNCTION_ARGS); extern Datum show_config_by_name_missing_ok(PG_FUNCTION_ARGS); -extern Datum pg_read_binary_file(PG_FUNCTION_ARGS); +extern Datum pg_read_binary_file_off_len_missing(PG_FUNCTION_ARGS); extern Datum pg_notification_queue_usage(PG_FUNCTION_ARGS); extern Datum pg_ls_dir(PG_FUNCTION_ARGS); extern Datum row_security_active(PG_FUNCTION_ARGS); @@ -1967,7 +1965,7 @@ extern Datum tsvector_delete_str(PG_FUNCTION_ARGS); extern Datum tsvector_unnest(PG_FUNCTION_ARGS); extern Datum tsvector_delete_arr(PG_FUNCTION_ARGS); extern Datum int4_avg_combine(PG_FUNCTION_ARGS); -extern Datum interval_combine(PG_FUNCTION_ARGS); +extern Datum interval_avg_combine(PG_FUNCTION_ARGS); extern Datum tsvector_to_array(PG_FUNCTION_ARGS); extern Datum array_to_tsvector(PG_FUNCTION_ARGS); extern Datum bpchar_sortsupport(PG_FUNCTION_ARGS); @@ -2130,7 +2128,7 @@ extern Datum bytea_string_agg_finalfn(PG_FUNCTION_ARGS); extern Datum int8dec(PG_FUNCTION_ARGS); extern Datum int8dec_any(PG_FUNCTION_ARGS); extern Datum numeric_accum_inv(PG_FUNCTION_ARGS); -extern Datum interval_accum_inv(PG_FUNCTION_ARGS); +extern Datum interval_avg_accum_inv(PG_FUNCTION_ARGS); extern Datum network_overlap(PG_FUNCTION_ARGS); extern Datum inet_gist_consistent(PG_FUNCTION_ARGS); extern Datum inet_gist_union(PG_FUNCTION_ARGS); @@ -2316,6 +2314,7 @@ extern Datum pg_export_snapshot(PG_FUNCTION_ARGS); extern Datum pg_is_in_recovery(PG_FUNCTION_ARGS); extern Datum int4_cash(PG_FUNCTION_ARGS); extern Datum int8_cash(PG_FUNCTION_ARGS); +extern Datum xmltext(PG_FUNCTION_ARGS); extern Datum pg_collation_is_visible(PG_FUNCTION_ARGS); extern Datum array_typanalyze(PG_FUNCTION_ARGS); extern Datum arraycontsel(PG_FUNCTION_ARGS); @@ -2491,8 +2490,6 @@ extern Datum to_regrole(PG_FUNCTION_ARGS); extern Datum regrolerecv(PG_FUNCTION_ARGS); extern Datum regrolesend(PG_FUNCTION_ARGS); extern Datum regrolein(PG_FUNCTION_ARGS); -extern Datum pg_rotate_logfile(PG_FUNCTION_ARGS); -extern Datum pg_read_file(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_missing_value(PG_FUNCTION_ARGS); extern Datum brin_inclusion_opcinfo(PG_FUNCTION_ARGS); extern Datum brin_inclusion_add_value(PG_FUNCTION_ARGS); @@ -2630,6 +2627,7 @@ extern Datum binary_upgrade_set_next_heap_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_index_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_toast_relfilenode(PG_FUNCTION_ARGS); extern Datum binary_upgrade_set_next_pg_tablespace_oid(PG_FUNCTION_ARGS); +extern Datum unicode_version(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_table_rewrite_oid(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_table_rewrite_reason(PG_FUNCTION_ARGS); extern Datum pg_event_trigger_ddl_commands(PG_FUNCTION_ARGS); @@ -2744,7 +2742,10 @@ extern Datum pg_replication_origin_advance(PG_FUNCTION_ARGS); extern Datum pg_replication_origin_progress(PG_FUNCTION_ARGS); extern Datum pg_show_replication_origin_status(PG_FUNCTION_ARGS); extern Datum jsonb_subscript_handler(PG_FUNCTION_ARGS); +extern Datum icu_unicode_version(PG_FUNCTION_ARGS); extern Datum numeric_pg_lsn(PG_FUNCTION_ARGS); +extern Datum unicode_assigned(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_backend_subxact(PG_FUNCTION_ARGS); extern Datum pg_stat_get_subscription(PG_FUNCTION_ARGS); extern Datum pg_get_publication_tables(PG_FUNCTION_ARGS); extern Datum pg_get_replica_identity_index(PG_FUNCTION_ARGS); @@ -2788,6 +2789,20 @@ extern Datum extract_interval(PG_FUNCTION_ARGS); extern Datum has_parameter_privilege_name_name(PG_FUNCTION_ARGS); extern Datum has_parameter_privilege_id_name(PG_FUNCTION_ARGS); extern Datum has_parameter_privilege_name(PG_FUNCTION_ARGS); +extern Datum pg_read_file_all_missing(PG_FUNCTION_ARGS); +extern Datum pg_read_binary_file_all_missing(PG_FUNCTION_ARGS); +extern Datum pg_input_is_valid(PG_FUNCTION_ARGS); +extern Datum pg_input_error_info(PG_FUNCTION_ARGS); +extern Datum drandom_normal(PG_FUNCTION_ARGS); +extern Datum pg_split_walfile_name(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_io(PG_FUNCTION_ARGS); +extern Datum array_shuffle(PG_FUNCTION_ARGS); +extern Datum array_sample(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_tuples_newpage_updated(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_xact_tuples_newpage_updated(PG_FUNCTION_ARGS); +extern Datum derf(PG_FUNCTION_ARGS); +extern Datum derfc(PG_FUNCTION_ARGS); +extern Datum timestamptz_pl_interval_at_zone(PG_FUNCTION_ARGS); extern Datum pg_get_wal_resource_managers(PG_FUNCTION_ARGS); extern Datum multirange_agg_transfn(PG_FUNCTION_ARGS); extern Datum pg_stat_have_stats(PG_FUNCTION_ARGS); @@ -2825,5 +2840,65 @@ extern Datum regexp_substr(PG_FUNCTION_ARGS); extern Datum pg_ls_logicalsnapdir(PG_FUNCTION_ARGS); extern Datum pg_ls_logicalmapdir(PG_FUNCTION_ARGS); extern Datum pg_ls_replslotdir(PG_FUNCTION_ARGS); +extern Datum timestamptz_mi_interval_at_zone(PG_FUNCTION_ARGS); +extern Datum generate_series_timestamptz_at_zone(PG_FUNCTION_ARGS); +extern Datum json_agg_strict_transfn(PG_FUNCTION_ARGS); +extern Datum json_object_agg_strict_transfn(PG_FUNCTION_ARGS); +extern Datum json_object_agg_unique_transfn(PG_FUNCTION_ARGS); +extern Datum json_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS); +extern Datum jsonb_agg_strict_transfn(PG_FUNCTION_ARGS); +extern Datum jsonb_object_agg_strict_transfn(PG_FUNCTION_ARGS); +extern Datum jsonb_object_agg_unique_transfn(PG_FUNCTION_ARGS); +extern Datum jsonb_object_agg_unique_strict_transfn(PG_FUNCTION_ARGS); +extern Datum any_value_transfn(PG_FUNCTION_ARGS); +extern Datum array_agg_combine(PG_FUNCTION_ARGS); +extern Datum array_agg_serialize(PG_FUNCTION_ARGS); +extern Datum array_agg_deserialize(PG_FUNCTION_ARGS); +extern Datum array_agg_array_combine(PG_FUNCTION_ARGS); +extern Datum array_agg_array_serialize(PG_FUNCTION_ARGS); +extern Datum array_agg_array_deserialize(PG_FUNCTION_ARGS); +extern Datum string_agg_combine(PG_FUNCTION_ARGS); +extern Datum string_agg_serialize(PG_FUNCTION_ARGS); +extern Datum string_agg_deserialize(PG_FUNCTION_ARGS); +extern Datum pg_log_standby_snapshot(PG_FUNCTION_ARGS); +extern Datum window_percent_rank_support(PG_FUNCTION_ARGS); +extern Datum window_cume_dist_support(PG_FUNCTION_ARGS); +extern Datum window_ntile_support(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_db_conflict_logicalslot(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_lastscan(PG_FUNCTION_ARGS); +extern Datum system_user(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_logical_slot_has_caught_up(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_stat_reset_time(PG_FUNCTION_ARGS); +extern Datum pg_basetype(PG_FUNCTION_ARGS); +extern Datum pg_column_toast_chunk_id(PG_FUNCTION_ARGS); +extern Datum to_regtypemod(PG_FUNCTION_ARGS); +extern Datum pg_get_wait_events(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_add_sub_rel_state(PG_FUNCTION_ARGS); +extern Datum binary_upgrade_replorigin_advance(PG_FUNCTION_ARGS); +extern Datum pg_available_wal_summaries(PG_FUNCTION_ARGS); +extern Datum pg_wal_summary_contents(PG_FUNCTION_ARGS); +extern Datum pg_get_wal_summarizer_state(PG_FUNCTION_ARGS); +extern Datum interval_avg_serialize(PG_FUNCTION_ARGS); +extern Datum interval_avg_deserialize(PG_FUNCTION_ARGS); +extern Datum interval_sum(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_timed(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_requested(PG_FUNCTION_ARGS); +extern Datum pg_stat_get_checkpointer_restartpoints_performed(PG_FUNCTION_ARGS); +extern Datum to_bin32(PG_FUNCTION_ARGS); +extern Datum to_bin64(PG_FUNCTION_ARGS); +extern Datum to_oct32(PG_FUNCTION_ARGS); +extern Datum to_oct64(PG_FUNCTION_ARGS); +extern Datum timestamptz_at_local(PG_FUNCTION_ARGS); +extern Datum timestamp_at_local(PG_FUNCTION_ARGS); +extern Datum timetz_at_local(PG_FUNCTION_ARGS); +extern Datum jsonb_populate_record_valid(PG_FUNCTION_ARGS); +extern Datum int4random(PG_FUNCTION_ARGS); +extern Datum int8random(PG_FUNCTION_ARGS); +extern Datum numeric_random(PG_FUNCTION_ARGS); +extern Datum uuid_extract_timestamp(PG_FUNCTION_ARGS); +extern Datum uuid_extract_version(PG_FUNCTION_ARGS); +extern Datum pg_sync_replication_slots(PG_FUNCTION_ARGS); +extern Datum range_contains_elem_support(PG_FUNCTION_ARGS); +extern Datum elem_contained_by_range_support(PG_FUNCTION_ARGS); #endif /* FMGRPROTOS_H */ diff --git a/parser/include/utils/fmgrtab.h b/parser/include/postgres/utils/fmgrtab.h similarity index 95% rename from parser/include/utils/fmgrtab.h rename to parser/include/postgres/utils/fmgrtab.h index 0a599376..151dd740 100644 --- a/parser/include/utils/fmgrtab.h +++ b/parser/include/postgres/utils/fmgrtab.h @@ -3,7 +3,7 @@ * fmgrtab.h * The function manager's table of internal functions. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/fmgrtab.h diff --git a/parser/include/postgres/utils/gokeep.go b/parser/include/postgres/utils/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/postgres/utils/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/utils/guc.h b/parser/include/postgres/utils/guc.h similarity index 78% rename from parser/include/utils/guc.h rename to parser/include/postgres/utils/guc.h index 1bec4c23..464bd759 100644 --- a/parser/include/utils/guc.h +++ b/parser/include/postgres/utils/guc.h @@ -1,10 +1,9 @@ /*-------------------------------------------------------------------- * guc.h * - * External declarations pertaining to backend/utils/misc/guc.c and - * backend/utils/misc/guc-file.l + * External declarations pertaining to Grand Unified Configuration. * - * Copyright (c) 2000-2022, PostgreSQL Global Development Group + * Copyright (c) 2000-2024, PostgreSQL Global Development Group * Written by Peter Eisentraut . * * src/include/utils/guc.h @@ -73,7 +72,7 @@ typedef enum PGC_SU_BACKEND, PGC_BACKEND, PGC_SUSET, - PGC_USERSET + PGC_USERSET, } GucContext; /* @@ -103,7 +102,7 @@ typedef enum * will show as "default" in pg_settings. If there is a specific reason not * to want that, use source == PGC_S_OVERRIDE. * - * NB: see GucSource_Names in guc.c if you change this. + * NB: see GucSource_Names in guc_tables.c if you change this. */ typedef enum { @@ -120,7 +119,7 @@ typedef enum PGC_S_OVERRIDE, /* special case to forcibly set default */ PGC_S_INTERACTIVE, /* dividing line for error reporting */ PGC_S_TEST, /* test per-database or per-user setting */ - PGC_S_SESSION /* SET command */ + PGC_S_SESSION, /* SET command */ } GucSource; /* @@ -145,6 +144,8 @@ typedef struct ConfigVariable struct ConfigVariable *next; } ConfigVariable; +typedef struct config_generic config_handle; + extern bool ParseConfigFile(const char *config_file, bool strict, const char *calling_file, int calling_lineno, int depth, int elevel, @@ -197,52 +198,49 @@ typedef enum /* Types of set_config_option actions */ GUC_ACTION_SET, /* regular SET command */ GUC_ACTION_LOCAL, /* SET LOCAL command */ - GUC_ACTION_SAVE /* function SET option, or temp assignment */ + GUC_ACTION_SAVE, /* function SET option, or temp assignment */ } GucAction; #define GUC_QUALIFIER_SEPARATOR '.' /* - * bit values in "flags" of a GUC variable - */ -#define GUC_LIST_INPUT 0x0001 /* input can be list format */ -#define GUC_LIST_QUOTE 0x0002 /* double-quote list elements */ -#define GUC_NO_SHOW_ALL 0x0004 /* exclude from SHOW ALL */ -#define GUC_NO_RESET_ALL 0x0008 /* exclude from RESET ALL */ -#define GUC_REPORT 0x0010 /* auto-report changes to client */ -#define GUC_NOT_IN_SAMPLE 0x0020 /* not in postgresql.conf.sample */ -#define GUC_DISALLOW_IN_FILE 0x0040 /* can't set in postgresql.conf */ -#define GUC_CUSTOM_PLACEHOLDER 0x0080 /* placeholder for custom variable */ -#define GUC_SUPERUSER_ONLY 0x0100 /* show only to superusers */ -#define GUC_IS_NAME 0x0200 /* limit string to NAMEDATALEN-1 */ -#define GUC_NOT_WHILE_SEC_REST 0x0400 /* can't set if security restricted */ -#define GUC_DISALLOW_IN_AUTO_FILE 0x0800 /* can't set in - * PG_AUTOCONF_FILENAME */ - -#define GUC_UNIT_KB 0x1000 /* value is in kilobytes */ -#define GUC_UNIT_BLOCKS 0x2000 /* value is in blocks */ -#define GUC_UNIT_XBLOCKS 0x3000 /* value is in xlog blocks */ -#define GUC_UNIT_MB 0x4000 /* value is in megabytes */ -#define GUC_UNIT_BYTE 0x8000 /* value is in bytes */ -#define GUC_UNIT_MEMORY 0xF000 /* mask for size-related units */ - -#define GUC_UNIT_MS 0x10000 /* value is in milliseconds */ -#define GUC_UNIT_S 0x20000 /* value is in seconds */ -#define GUC_UNIT_MIN 0x30000 /* value is in minutes */ -#define GUC_UNIT_TIME 0xF0000 /* mask for time-related units */ - -#define GUC_EXPLAIN 0x100000 /* include in explain */ - -/* - * GUC_RUNTIME_COMPUTED is intended for runtime-computed GUCs that are only - * available via 'postgres -C' if the server is not running. + * Bit values in "flags" of a GUC variable. Note that these don't appear + * on disk, so we can reassign their values freely. */ -#define GUC_RUNTIME_COMPUTED 0x200000 - -#define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME) - - -/* GUC vars that are actually declared in guc.c, rather than elsewhere */ +#define GUC_LIST_INPUT 0x000001 /* input can be list format */ +#define GUC_LIST_QUOTE 0x000002 /* double-quote list elements */ +#define GUC_NO_SHOW_ALL 0x000004 /* exclude from SHOW ALL */ +#define GUC_NO_RESET 0x000008 /* disallow RESET and SAVE */ +#define GUC_NO_RESET_ALL 0x000010 /* exclude from RESET ALL */ +#define GUC_EXPLAIN 0x000020 /* include in EXPLAIN */ +#define GUC_REPORT 0x000040 /* auto-report changes to client */ +#define GUC_NOT_IN_SAMPLE 0x000080 /* not in postgresql.conf.sample */ +#define GUC_DISALLOW_IN_FILE 0x000100 /* can't set in postgresql.conf */ +#define GUC_CUSTOM_PLACEHOLDER 0x000200 /* placeholder for custom variable */ +#define GUC_SUPERUSER_ONLY 0x000400 /* show only to superusers */ +#define GUC_IS_NAME 0x000800 /* limit string to NAMEDATALEN-1 */ +#define GUC_NOT_WHILE_SEC_REST 0x001000 /* can't set if security restricted */ +#define GUC_DISALLOW_IN_AUTO_FILE \ + 0x002000 /* can't set in PG_AUTOCONF_FILENAME */ +#define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */ +#define GUC_ALLOW_IN_PARALLEL 0x008000 /* allow setting in parallel mode */ + +#define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */ +#define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */ +#define GUC_UNIT_XBLOCKS 0x03000000 /* value is in xlog blocks */ +#define GUC_UNIT_MB 0x04000000 /* value is in megabytes */ +#define GUC_UNIT_BYTE 0x05000000 /* value is in bytes */ +#define GUC_UNIT_MEMORY 0x0F000000 /* mask for size-related units */ + +#define GUC_UNIT_MS 0x10000000 /* value is in milliseconds */ +#define GUC_UNIT_S 0x20000000 /* value is in seconds */ +#define GUC_UNIT_MIN 0x30000000 /* value is in minutes */ +#define GUC_UNIT_TIME 0x70000000 /* mask for time-related units */ + +#define GUC_UNIT (GUC_UNIT_MEMORY | GUC_UNIT_TIME) + + +/* GUC vars that are actually defined in guc_tables.c, rather than elsewhere */ extern PGDLLIMPORT bool Debug_print_plan; extern PGDLLIMPORT bool Debug_print_parse; extern PGDLLIMPORT bool Debug_print_rewritten; @@ -254,22 +252,22 @@ extern PGDLLIMPORT bool log_executor_stats; extern PGDLLIMPORT bool log_statement_stats; extern PGDLLIMPORT bool log_btree_build_stats; -extern PGDLLIMPORT __thread bool check_function_bodies; -extern PGDLLIMPORT bool session_auth_is_superuser; +extern PGDLLIMPORT __thread bool check_function_bodies; +extern PGDLLIMPORT bool current_role_is_superuser; +extern PGDLLIMPORT bool AllowAlterSystem; extern PGDLLIMPORT bool log_duration; extern PGDLLIMPORT int log_parameter_max_length; extern PGDLLIMPORT int log_parameter_max_length_on_error; extern PGDLLIMPORT int log_min_error_statement; -extern PGDLLIMPORT __thread int log_min_messages; -extern PGDLLIMPORT __thread int client_min_messages; +extern PGDLLIMPORT __thread int log_min_messages; +extern PGDLLIMPORT int client_min_messages; extern PGDLLIMPORT int log_min_duration_sample; extern PGDLLIMPORT int log_min_duration_statement; extern PGDLLIMPORT int log_temp_files; extern PGDLLIMPORT double log_statement_sample_rate; extern PGDLLIMPORT double log_xact_sample_rate; -extern PGDLLIMPORT __thread char *backtrace_functions; -extern PGDLLIMPORT __thread char *backtrace_symbol_list; +extern PGDLLIMPORT __thread char *backtrace_functions; extern PGDLLIMPORT int temp_file_limit; @@ -307,7 +305,7 @@ extern void DefineCustomBoolVariable(const char *name, int flags, GucBoolCheckHook check_hook, GucBoolAssignHook assign_hook, - GucShowHook show_hook); + GucShowHook show_hook) pg_attribute_nonnull(1, 4); extern void DefineCustomIntVariable(const char *name, const char *short_desc, @@ -320,7 +318,7 @@ extern void DefineCustomIntVariable(const char *name, int flags, GucIntCheckHook check_hook, GucIntAssignHook assign_hook, - GucShowHook show_hook); + GucShowHook show_hook) pg_attribute_nonnull(1, 4); extern void DefineCustomRealVariable(const char *name, const char *short_desc, @@ -333,7 +331,7 @@ extern void DefineCustomRealVariable(const char *name, int flags, GucRealCheckHook check_hook, GucRealAssignHook assign_hook, - GucShowHook show_hook); + GucShowHook show_hook) pg_attribute_nonnull(1, 4); extern void DefineCustomStringVariable(const char *name, const char *short_desc, @@ -344,7 +342,7 @@ extern void DefineCustomStringVariable(const char *name, int flags, GucStringCheckHook check_hook, GucStringAssignHook assign_hook, - GucShowHook show_hook); + GucShowHook show_hook) pg_attribute_nonnull(1, 4); extern void DefineCustomEnumVariable(const char *name, const char *short_desc, @@ -356,7 +354,7 @@ extern void DefineCustomEnumVariable(const char *name, int flags, GucEnumCheckHook check_hook, GucEnumAssignHook assign_hook, - GucShowHook show_hook); + GucShowHook show_hook) pg_attribute_nonnull(1, 4); extern void MarkGUCPrefixReserved(const char *className); @@ -369,17 +367,18 @@ extern const char *GetConfigOptionResetString(const char *name); extern int GetConfigOptionFlags(const char *name, bool missing_ok); extern void ProcessConfigFile(GucContext context); extern char *convert_GUC_name_for_parameter_acl(const char *name); -extern bool check_GUC_name_for_parameter_acl(const char *name); +extern void check_GUC_name_for_parameter_acl(const char *name); extern void InitializeGUCOptions(void); -extern void InitializeWalConsistencyChecking(void); extern bool SelectConfigFiles(const char *userDoption, const char *progname); extern void ResetAllOptions(void); extern void AtStart_GUC(void); extern int NewGUCNestLevel(void); +extern void RestrictSearchPath(void); extern void AtEOXact_GUC(bool isCommit, int nestLevel); extern void BeginReportingGUCOptions(void); extern void ReportChangedGUCOptions(void); extern void ParseLongOption(const char *string, char **name, char **value); +extern const char *get_config_unit_name(int flags); extern bool parse_int(const char *value, int *result, int flags, const char **hintmsg); extern bool parse_real(const char *value, double *result, int flags, @@ -393,25 +392,30 @@ extern int set_config_option_ext(const char *name, const char *value, Oid srole, GucAction action, bool changeVal, int elevel, bool is_reload); +extern int set_config_with_handle(const char *name, config_handle *handle, + const char *value, + GucContext context, GucSource source, + Oid srole, + GucAction action, bool changeVal, + int elevel, bool is_reload); +extern config_handle *get_config_handle(const char *name); extern void AlterSystemSetConfigFile(AlterSystemStmt *altersysstmt); extern char *GetConfigOptionByName(const char *name, const char **varname, bool missing_ok); -extern void GetConfigOptionByNum(int varnum, const char **values, bool *noshow); -extern int GetNumConfigOptions(void); - -extern void SetPGVariable(const char *name, List *args, bool is_local); -extern void GetPGVariable(const char *name, DestReceiver *dest); -extern TupleDesc GetPGVariableResultDesc(const char *name); - -extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel); -extern char *ExtractSetVariableArgs(VariableSetStmt *stmt); +extern void TransformGUCArray(ArrayType *array, List **names, + List **values); extern void ProcessGUCArray(ArrayType *array, GucContext context, GucSource source, GucAction action); extern ArrayType *GUCArrayAdd(ArrayType *array, const char *name, const char *value); extern ArrayType *GUCArrayDelete(ArrayType *array, const char *name); extern ArrayType *GUCArrayReset(ArrayType *array); +extern void *guc_malloc(int elevel, size_t size); +extern pg_nodiscard void *guc_realloc(int elevel, void *old, size_t size); +extern char *guc_strdup(int elevel, const char *src); +extern void guc_free(void *ptr); + #ifdef EXEC_BACKEND extern void write_nondefault_variables(GucContext context); extern void read_nondefault_variables(void); @@ -422,6 +426,13 @@ extern Size EstimateGUCStateSpace(void); extern void SerializeGUCState(Size maxsize, char *start_address); extern void RestoreGUCState(void *gucstate); +/* Functions exported by guc_funcs.c */ +extern void ExecSetVariableStmt(VariableSetStmt *stmt, bool isTopLevel); +extern char *ExtractSetVariableArgs(VariableSetStmt *stmt); +extern void SetPGVariable(const char *name, List *args, bool is_local); +extern void GetPGVariable(const char *name, DestReceiver *dest); +extern TupleDesc GetPGVariableResultDesc(const char *name); + /* Support for messages reported from GUC check hooks */ extern PGDLLIMPORT char *GUC_check_errmsg_string; @@ -442,28 +453,4 @@ extern void GUC_check_errcode(int sqlerrcode); pre_format_elog_string(errno, TEXTDOMAIN), \ GUC_check_errhint_string = format_elog_string - -/* - * The following functions are not in guc.c, but are declared here to avoid - * having to include guc.h in some widely used headers that it really doesn't - * belong in. - */ - -/* in commands/tablespace.c */ -extern bool check_default_tablespace(char **newval, void **extra, GucSource source); -extern bool check_temp_tablespaces(char **newval, void **extra, GucSource source); -extern void assign_temp_tablespaces(const char *newval, void *extra); - -/* in catalog/namespace.c */ -extern bool check_search_path(char **newval, void **extra, GucSource source); -extern void assign_search_path(const char *newval, void *extra); - -/* in access/transam/xlog.c */ -extern bool check_wal_buffers(int *newval, void **extra, GucSource source); -extern void assign_xlog_sync_method(int new_sync_method, void *extra); - -/* in access/transam/xlogprefetcher.c */ -extern bool check_recovery_prefetch(int *new_value, void **extra, GucSource source); -extern void assign_recovery_prefetch(int new_value, void *extra); - #endif /* GUC_H */ diff --git a/parser/include/postgres/utils/guc_hooks.h b/parser/include/postgres/utils/guc_hooks.h new file mode 100644 index 00000000..1babff78 --- /dev/null +++ b/parser/include/postgres/utils/guc_hooks.h @@ -0,0 +1,182 @@ +/*------------------------------------------------------------------------- + * + * guc_hooks.h + * Declarations of per-variable callback functions used by GUC. + * + * These functions are scattered throughout the system, but we + * declare them all here to avoid having to propagate guc.h into + * a lot of unrelated header files. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * + * src/include/utils/guc_hooks.h + * + *------------------------------------------------------------------------- + */ +#ifndef GUC_HOOKS_H +#define GUC_HOOKS_H 1 + +#include "utils/guc.h" + +/* + * See guc.h for the typedefs that these hook functions should match + * (GucBoolCheckHook and so on). + * + * Please keep the declarations in order by GUC variable name. + */ + +extern bool check_application_name(char **newval, void **extra, + GucSource source); +extern void assign_application_name(const char *newval, void *extra); +extern const char *show_archive_command(void); +extern bool check_autovacuum_max_workers(int *newval, void **extra, + GucSource source); +extern bool check_autovacuum_work_mem(int *newval, void **extra, + GucSource source); +extern bool check_vacuum_buffer_usage_limit(int *newval, void **extra, + GucSource source); +extern bool check_backtrace_functions(char **newval, void **extra, + GucSource source); +extern void assign_backtrace_functions(const char *newval, void *extra); +extern bool check_bonjour(bool *newval, void **extra, GucSource source); +extern bool check_canonical_path(char **newval, void **extra, GucSource source); +extern void assign_checkpoint_completion_target(double newval, void *extra); +extern bool check_client_connection_check_interval(int *newval, void **extra, + GucSource source); +extern bool check_client_encoding(char **newval, void **extra, GucSource source); +extern void assign_client_encoding(const char *newval, void *extra); +extern bool check_cluster_name(char **newval, void **extra, GucSource source); +extern bool check_commit_ts_buffers(int *newval, void **extra, + GucSource source); +extern const char *show_data_directory_mode(void); +extern bool check_datestyle(char **newval, void **extra, GucSource source); +extern void assign_datestyle(const char *newval, void *extra); +extern bool check_debug_io_direct(char **newval, void **extra, GucSource source); +extern void assign_debug_io_direct(const char *newval, void *extra); +extern bool check_default_table_access_method(char **newval, void **extra, + GucSource source); +extern bool check_default_tablespace(char **newval, void **extra, + GucSource source); +extern bool check_default_text_search_config(char **newval, void **extra, GucSource source); +extern void assign_default_text_search_config(const char *newval, void *extra); +extern bool check_default_with_oids(bool *newval, void **extra, + GucSource source); +extern bool check_effective_io_concurrency(int *newval, void **extra, + GucSource source); +extern bool check_huge_page_size(int *newval, void **extra, GucSource source); +extern const char *show_in_hot_standby(void); +extern bool check_locale_messages(char **newval, void **extra, GucSource source); +extern void assign_locale_messages(const char *newval, void *extra); +extern bool check_locale_monetary(char **newval, void **extra, GucSource source); +extern void assign_locale_monetary(const char *newval, void *extra); +extern bool check_locale_numeric(char **newval, void **extra, GucSource source); +extern void assign_locale_numeric(const char *newval, void *extra); +extern bool check_locale_time(char **newval, void **extra, GucSource source); +extern void assign_locale_time(const char *newval, void *extra); +extern bool check_log_destination(char **newval, void **extra, + GucSource source); +extern void assign_log_destination(const char *newval, void *extra); +extern const char *show_log_file_mode(void); +extern bool check_log_stats(bool *newval, void **extra, GucSource source); +extern bool check_log_timezone(char **newval, void **extra, GucSource source); +extern void assign_log_timezone(const char *newval, void *extra); +extern const char *show_log_timezone(void); +extern bool check_maintenance_io_concurrency(int *newval, void **extra, + GucSource source); +extern void assign_maintenance_io_concurrency(int newval, void *extra); +extern bool check_max_connections(int *newval, void **extra, GucSource source); +extern bool check_max_wal_senders(int *newval, void **extra, GucSource source); +extern void assign_max_wal_size(int newval, void *extra); +extern bool check_max_worker_processes(int *newval, void **extra, + GucSource source); +extern bool check_max_stack_depth(int *newval, void **extra, GucSource source); +extern void assign_max_stack_depth(int newval, void *extra); +extern bool check_multixact_member_buffers(int *newval, void **extra, + GucSource source); +extern bool check_multixact_offset_buffers(int *newval, void **extra, + GucSource source); +extern bool check_notify_buffers(int *newval, void **extra, GucSource source); +extern bool check_primary_slot_name(char **newval, void **extra, + GucSource source); +extern bool check_random_seed(double *newval, void **extra, GucSource source); +extern void assign_random_seed(double newval, void *extra); +extern const char *show_random_seed(void); +extern bool check_recovery_prefetch(int *new_value, void **extra, + GucSource source); +extern void assign_recovery_prefetch(int new_value, void *extra); +extern bool check_recovery_target(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target(const char *newval, void *extra); +extern bool check_recovery_target_lsn(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target_lsn(const char *newval, void *extra); +extern bool check_recovery_target_name(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target_name(const char *newval, void *extra); +extern bool check_recovery_target_time(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target_time(const char *newval, void *extra); +extern bool check_recovery_target_timeline(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target_timeline(const char *newval, void *extra); +extern bool check_recovery_target_xid(char **newval, void **extra, + GucSource source); +extern void assign_recovery_target_xid(const char *newval, void *extra); +extern bool check_role(char **newval, void **extra, GucSource source); +extern void assign_role(const char *newval, void *extra); +extern const char *show_role(void); +extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra, + GucSource source); +extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra); +extern bool check_search_path(char **newval, void **extra, GucSource source); +extern void assign_search_path(const char *newval, void *extra); +extern bool check_serial_buffers(int *newval, void **extra, GucSource source); +extern bool check_session_authorization(char **newval, void **extra, GucSource source); +extern void assign_session_authorization(const char *newval, void *extra); +extern void assign_session_replication_role(int newval, void *extra); +extern void assign_stats_fetch_consistency(int newval, void *extra); +extern bool check_ssl(bool *newval, void **extra, GucSource source); +extern bool check_stage_log_stats(bool *newval, void **extra, GucSource source); +extern bool check_subtrans_buffers(int *newval, void **extra, + GucSource source); +extern bool check_synchronous_standby_names(char **newval, void **extra, + GucSource source); +extern void assign_synchronous_standby_names(const char *newval, void *extra); +extern void assign_synchronous_commit(int newval, void *extra); +extern void assign_syslog_facility(int newval, void *extra); +extern void assign_syslog_ident(const char *newval, void *extra); +extern void assign_tcp_keepalives_count(int newval, void *extra); +extern const char *show_tcp_keepalives_count(void); +extern void assign_tcp_keepalives_idle(int newval, void *extra); +extern const char *show_tcp_keepalives_idle(void); +extern void assign_tcp_keepalives_interval(int newval, void *extra); +extern const char *show_tcp_keepalives_interval(void); +extern void assign_tcp_user_timeout(int newval, void *extra); +extern const char *show_tcp_user_timeout(void); +extern bool check_temp_buffers(int *newval, void **extra, GucSource source); +extern bool check_temp_tablespaces(char **newval, void **extra, + GucSource source); +extern void assign_temp_tablespaces(const char *newval, void *extra); +extern bool check_timezone(char **newval, void **extra, GucSource source); +extern void assign_timezone(const char *newval, void *extra); +extern const char *show_timezone(void); +extern bool check_timezone_abbreviations(char **newval, void **extra, + GucSource source); +extern void assign_timezone_abbreviations(const char *newval, void *extra); +extern bool check_transaction_buffers(int *newval, void **extra, GucSource source); +extern bool check_transaction_deferrable(bool *newval, void **extra, GucSource source); +extern bool check_transaction_isolation(int *newval, void **extra, GucSource source); +extern bool check_transaction_read_only(bool *newval, void **extra, GucSource source); +extern void assign_transaction_timeout(int newval, void *extra); +extern const char *show_unix_socket_permissions(void); +extern bool check_wal_buffers(int *newval, void **extra, GucSource source); +extern bool check_wal_consistency_checking(char **newval, void **extra, + GucSource source); +extern void assign_wal_consistency_checking(const char *newval, void *extra); +extern bool check_wal_segment_size(int *newval, void **extra, GucSource source); +extern void assign_wal_sync_method(int new_wal_sync_method, void *extra); +extern bool check_synchronized_standby_slots(char **newval, void **extra, + GucSource source); +extern void assign_synchronized_standby_slots(const char *newval, void *extra); + +#endif /* GUC_HOOKS_H */ diff --git a/parser/include/utils/guc_tables.h b/parser/include/postgres/utils/guc_tables.h similarity index 77% rename from parser/include/utils/guc_tables.h rename to parser/include/postgres/utils/guc_tables.h index 067d82ad..0c0277c4 100644 --- a/parser/include/utils/guc_tables.h +++ b/parser/include/postgres/utils/guc_tables.h @@ -5,7 +5,7 @@ * * See src/backend/utils/misc/README for design notes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/utils/guc_tables.h * @@ -14,6 +14,7 @@ #ifndef GUC_TABLES_H #define GUC_TABLES_H 1 +#include "lib/ilist.h" #include "utils/guc.h" /* @@ -25,7 +26,7 @@ enum config_type PGC_INT, PGC_REAL, PGC_STRING, - PGC_ENUM + PGC_ENUM, }; union config_var_val @@ -56,6 +57,7 @@ enum config_group UNGROUPED, /* use for options not shown in pg_settings */ FILE_LOCATIONS, CONN_AUTH_SETTINGS, + CONN_AUTH_TCP, CONN_AUTH_AUTH, CONN_AUTH_SSL, RESOURCES_MEM, @@ -70,6 +72,7 @@ enum config_group WAL_RECOVERY, WAL_ARCHIVE_RECOVERY, WAL_RECOVERY_TARGET, + WAL_SUMMARIZATION, REPLICATION_SENDING, REPLICATION_PRIMARY, REPLICATION_STANDBY, @@ -91,11 +94,11 @@ enum config_group CLIENT_CONN_OTHER, LOCK_MANAGEMENT, COMPAT_OPTIONS_PREVIOUS, - COMPAT_OPTIONS_CLIENT, + COMPAT_OPTIONS_OTHER, ERROR_HANDLING_OPTIONS, PRESET_OPTIONS, CUSTOM_OPTIONS, - DEVELOPER_OPTIONS + DEVELOPER_OPTIONS, }; /* @@ -108,7 +111,7 @@ typedef enum GUC_SAVE, /* entry caused by function SET option */ GUC_SET, /* entry caused by plain SET command */ GUC_LOCAL, /* entry caused by SET LOCAL command */ - GUC_SET_LOCAL /* entry caused by SET then SET LOCAL */ + GUC_SET_LOCAL, /* entry caused by SET then SET LOCAL */ } GucStackState; typedef struct guc_stack @@ -137,6 +140,11 @@ typedef struct guc_stack * if the value came from an internal source or the config file. Similarly * for reset_srole (which is usually BOOTSTRAP_SUPERUSERID, but not always). * + * Variables that are currently of active interest for maintenance + * operations are linked into various lists using the xxx_link fields. + * The link fields are unused/garbage in variables not currently having + * the specified properties. + * * Note that sourcefile/sourceline are kept here, and not pushed into stacked * values, although in principle they belong with some stacked value if the * active value is session- or transaction-local. This is to avoid bloating @@ -162,6 +170,12 @@ struct config_generic Oid reset_srole; /* role that set the reset value */ GucStack *stack; /* stacked prior values */ void *extra; /* "extra" pointer for current actual value */ + dlist_node nondef_link; /* list link for variables that have source + * different from PGC_S_DEFAULT */ + slist_node stack_link; /* list link for variables that have non-NULL + * stack */ + slist_node report_link; /* list link for variables that have the + * GUC_NEEDS_REPORT bit set in status */ char *last_reported; /* if variable is GUC_REPORT, value last sent * to client (NULL if not yet sent) */ char *sourcefile; /* file current setting is from (NULL if not @@ -227,6 +241,16 @@ struct config_real void *reset_extra; }; +/* + * A note about string GUCs: the boot_val is allowed to be NULL, which leads + * to the reset_val and the actual variable value (*variable) also being NULL. + * However, there is no way to set a NULL value subsequently using + * set_config_option or any other GUC API. Also, GUC APIs such as SHOW will + * display a NULL value as an empty string. Callers that choose to use a NULL + * boot_val should overwrite the setting later in startup, or else be careful + * that NULL doesn't have semantics that are visibly different from an empty + * string. + */ struct config_string { struct config_generic gen; @@ -262,8 +286,28 @@ extern PGDLLIMPORT const char *const config_type_names[]; extern PGDLLIMPORT const char *const GucContext_Names[]; extern PGDLLIMPORT const char *const GucSource_Names[]; +/* data arrays defining all the built-in GUC variables */ +extern PGDLLIMPORT struct config_bool ConfigureNamesBool[]; +extern PGDLLIMPORT struct config_int ConfigureNamesInt[]; +extern PGDLLIMPORT struct config_real ConfigureNamesReal[]; +extern PGDLLIMPORT struct config_string ConfigureNamesString[]; +extern PGDLLIMPORT struct config_enum ConfigureNamesEnum[]; + +/* lookup GUC variables, returning config_generic pointers */ +extern struct config_generic *find_option(const char *name, + bool create_placeholders, + bool skip_errors, + int elevel); +extern struct config_generic **get_explain_guc_options(int *num); + +/* get string value of variable */ +extern char *ShowGUCOption(struct config_generic *record, bool use_units); + +/* get whether or not the GUC variable is visible to current user */ +extern bool ConfigOptionIsVisible(struct config_generic *conf); + /* get the current set of variables */ -extern struct config_generic **get_guc_variables(void); +extern struct config_generic **get_guc_variables(int *num_vars); extern void build_guc_variables(void); @@ -271,6 +315,9 @@ extern void build_guc_variables(void); extern const char *config_enum_lookup_by_value(struct config_enum *record, int val); extern bool config_enum_lookup_by_name(struct config_enum *record, const char *value, int *retval); -extern struct config_generic **get_explain_guc_options(int *num); +extern char *config_enum_get_options(struct config_enum *record, + const char *prefix, + const char *suffix, + const char *separator); #endif /* GUC_TABLES_H */ diff --git a/parser/include/utils/hsearch.h b/parser/include/postgres/utils/hsearch.h similarity index 98% rename from parser/include/utils/hsearch.h rename to parser/include/postgres/utils/hsearch.h index 854c3312..da26941f 100644 --- a/parser/include/utils/hsearch.h +++ b/parser/include/postgres/utils/hsearch.h @@ -4,7 +4,7 @@ * exported definitions for utils/hash/dynahash.c; see notes therein * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/hsearch.h @@ -113,7 +113,7 @@ typedef enum HASH_FIND, HASH_ENTER, HASH_REMOVE, - HASH_ENTER_NULL + HASH_ENTER_NULL, } HASHACTION; /* hash_seq status (should be considered an opaque type by callers) */ diff --git a/parser/include/postgres/utils/injection_point.h b/parser/include/postgres/utils/injection_point.h new file mode 100644 index 00000000..6e417ced --- /dev/null +++ b/parser/include/postgres/utils/injection_point.h @@ -0,0 +1,44 @@ +/*------------------------------------------------------------------------- + * injection_point.h + * Definitions related to injection points. + * + * Copyright (c) 2001-2024, PostgreSQL Global Development Group + * + * src/include/utils/injection_point.h + *------------------------------------------------------------------------- + */ + +#ifndef INJECTION_POINT_H +#define INJECTION_POINT_H + +/* + * Injections points require --enable-injection-points. + */ +#ifdef USE_INJECTION_POINTS +#define INJECTION_POINT(name) InjectionPointRun(name) +#else +#define INJECTION_POINT(name) ((void) name) +#endif + +/* + * Typedef for callback function launched by an injection point. + */ +typedef void (*InjectionPointCallback) (const char *name, + const void *private_data); + +extern Size InjectionPointShmemSize(void); +extern void InjectionPointShmemInit(void); + +extern void InjectionPointAttach(const char *name, + const char *library, + const char *function, + const void *private_data, + int private_data_size); +extern void InjectionPointRun(const char *name); +extern bool InjectionPointDetach(const char *name); + +#ifdef EXEC_BACKEND +extern PGDLLIMPORT struct InjectionPointsCtl *ActiveInjectionPoints; +#endif + +#endif /* INJECTION_POINT_H */ diff --git a/parser/include/utils/inval.h b/parser/include/postgres/utils/inval.h similarity index 91% rename from parser/include/utils/inval.h rename to parser/include/postgres/utils/inval.h index 0e0323b9..24695fac 100644 --- a/parser/include/utils/inval.h +++ b/parser/include/postgres/utils/inval.h @@ -4,7 +4,7 @@ * POSTGRES cache invalidation dispatcher definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/inval.h @@ -15,7 +15,7 @@ #define INVAL_H #include "access/htup.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "utils/relcache.h" extern PGDLLIMPORT int debug_discard_caches; @@ -48,7 +48,7 @@ extern void CacheInvalidateRelcacheByTuple(HeapTuple classTuple); extern void CacheInvalidateRelcacheByRelid(Oid relid); -extern void CacheInvalidateSmgr(RelFileNodeBackend rnode); +extern void CacheInvalidateSmgr(RelFileLocatorBackend rlocator); extern void CacheInvalidateRelmap(Oid databaseId); diff --git a/parser/include/postgres/utils/logtape.h b/parser/include/postgres/utils/logtape.h new file mode 100644 index 00000000..d310b974 --- /dev/null +++ b/parser/include/postgres/utils/logtape.h @@ -0,0 +1,77 @@ +/*------------------------------------------------------------------------- + * + * logtape.h + * Management of "logical tapes" within temporary files. + * + * See logtape.c for explanations. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/logtape.h + * + *------------------------------------------------------------------------- + */ + +#ifndef LOGTAPE_H +#define LOGTAPE_H + +#include "storage/sharedfileset.h" + +/* + * LogicalTapeSet and LogicalTape are opaque types whose details are not + * known outside logtape.c. + */ +typedef struct LogicalTapeSet LogicalTapeSet; +typedef struct LogicalTape LogicalTape; + + +/* + * The approach tuplesort.c takes to parallel external sorts is that workers, + * whose state is almost the same as independent serial sorts, are made to + * produce a final materialized tape of sorted output in all cases. This is + * frozen, just like any case requiring a final materialized tape. However, + * there is one difference, which is that freezing will also export an + * underlying shared fileset BufFile for sharing. Freezing produces TapeShare + * metadata for the worker when this happens, which is passed along through + * shared memory to leader. + * + * The leader process can then pass an array of TapeShare metadata (one per + * worker participant) to LogicalTapeSetCreate(), alongside a handle to a + * shared fileset, which is sufficient to construct a new logical tapeset that + * consists of each of the tapes materialized by workers. + * + * Note that while logtape.c does create an empty leader tape at the end of the + * tapeset in the leader case, it can never be written to due to a restriction + * in the shared buffile infrastructure. + */ +typedef struct TapeShare +{ + /* + * Currently, all the leader process needs is the location of the + * materialized tape's first block. + */ + int64 firstblocknumber; +} TapeShare; + +/* + * prototypes for functions in logtape.c + */ + +extern LogicalTapeSet *LogicalTapeSetCreate(bool preallocate, + SharedFileSet *fileset, int worker); +extern void LogicalTapeClose(LogicalTape *lt); +extern void LogicalTapeSetClose(LogicalTapeSet *lts); +extern LogicalTape *LogicalTapeCreate(LogicalTapeSet *lts); +extern LogicalTape *LogicalTapeImport(LogicalTapeSet *lts, int worker, TapeShare *shared); +extern void LogicalTapeSetForgetFreeSpace(LogicalTapeSet *lts); +extern size_t LogicalTapeRead(LogicalTape *lt, void *ptr, size_t size); +extern void LogicalTapeWrite(LogicalTape *lt, const void *ptr, size_t size); +extern void LogicalTapeRewindForRead(LogicalTape *lt, size_t buffer_size); +extern void LogicalTapeFreeze(LogicalTape *lt, TapeShare *share); +extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size); +extern void LogicalTapeSeek(LogicalTape *lt, int64 blocknum, int offset); +extern void LogicalTapeTell(LogicalTape *lt, int64 *blocknum, int *offset); +extern int64 LogicalTapeSetBlocks(LogicalTapeSet *lts); + +#endif /* LOGTAPE_H */ diff --git a/parser/include/utils/lsyscache.h b/parser/include/postgres/utils/lsyscache.h similarity index 94% rename from parser/include/utils/lsyscache.h rename to parser/include/postgres/utils/lsyscache.h index b8dd27d4..20446f6f 100644 --- a/parser/include/utils/lsyscache.h +++ b/parser/include/postgres/utils/lsyscache.h @@ -3,7 +3,7 @@ * lsyscache.h * Convenience routines for common queries in the system catalog cache. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/lsyscache.h @@ -35,7 +35,7 @@ typedef enum IOFuncSelector IOFunc_input, IOFunc_output, IOFunc_receive, - IOFunc_send + IOFunc_send, } IOFuncSelector; /* Flag bits for get_attstatsslot */ @@ -90,7 +90,6 @@ extern Oid get_opfamily_proc(Oid opfamily, Oid lefttype, Oid righttype, int16 procnum); extern char *get_attname(Oid relid, AttrNumber attnum, bool missing_ok); extern AttrNumber get_attnum(Oid relid, const char *attname); -extern int get_attstattarget(Oid relid, AttrNumber attnum); extern char get_attgenerated(Oid relid, AttrNumber attnum); extern Oid get_atttype(Oid relid, AttrNumber attnum); extern void get_atttypetypmodcoll(Oid relid, AttrNumber attnum, @@ -101,11 +100,14 @@ extern char *get_collation_name(Oid colloid); extern bool get_collation_isdeterministic(Oid colloid); extern char *get_constraint_name(Oid conoid); extern Oid get_constraint_index(Oid conoid); +extern char get_constraint_type(Oid conoid); + extern char *get_language_name(Oid langoid, bool missing_ok); extern Oid get_opclass_family(Oid opclass); extern Oid get_opclass_input_type(Oid opclass); extern bool get_opclass_opfamily_and_input_type(Oid opclass, Oid *opfamily, Oid *opcintype); +extern Oid get_opclass_method(Oid opclass); extern RegProcedure get_opcode(Oid opno); extern char *get_opname(Oid opno); extern Oid get_op_rettype(Oid opno); @@ -139,6 +141,7 @@ extern char get_rel_relkind(Oid relid); extern bool get_rel_relispartition(Oid relid); extern Oid get_rel_tablespace(Oid relid); extern char get_rel_persistence(Oid relid); +extern Oid get_rel_relam(Oid relid); extern Oid get_transform_fromsql(Oid typid, Oid langid, List *trftypes); extern Oid get_transform_tosql(Oid typid, Oid langid, List *trftypes); extern bool get_typisdefined(Oid typid); @@ -198,6 +201,10 @@ extern Oid get_index_column_opclass(Oid index_oid, int attno); extern bool get_index_isreplident(Oid index_oid); extern bool get_index_isvalid(Oid index_oid); extern bool get_index_isclustered(Oid index_oid); +extern Oid get_publication_oid(const char *pubname, bool missing_ok); +extern char *get_publication_name(Oid pubid, bool missing_ok); +extern Oid get_subscription_oid(const char *subname, bool missing_ok); +extern char *get_subscription_name(Oid subid, bool missing_ok); #define type_is_array(typid) (get_element_type(typid) != InvalidOid) /* type_is_array_domain accepts both plain arrays and domains over arrays */ diff --git a/parser/include/utils/memdebug.h b/parser/include/postgres/utils/memdebug.h similarity index 97% rename from parser/include/utils/memdebug.h rename to parser/include/postgres/utils/memdebug.h index 6876e0ac..f62b10cb 100644 --- a/parser/include/utils/memdebug.h +++ b/parser/include/postgres/utils/memdebug.h @@ -7,7 +7,7 @@ * empty definitions for Valgrind client request macros we use. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memdebug.h diff --git a/parser/include/utils/memutils.h b/parser/include/postgres/utils/memutils.h similarity index 77% rename from parser/include/utils/memutils.h rename to parser/include/postgres/utils/memutils.h index 87882b21..4c65d730 100644 --- a/parser/include/utils/memutils.h +++ b/parser/include/postgres/utils/memutils.h @@ -7,7 +7,7 @@ * of the API of the memory management subsystem. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/memutils.h @@ -41,8 +41,11 @@ #define AllocSizeIsValid(size) ((Size) (size) <= MaxAllocSize) +/* Must be less than SIZE_MAX */ #define MaxAllocHugeSize (SIZE_MAX / 2) +#define InvalidAllocSize SIZE_MAX + #define AllocHugeSizeIsValid(size) ((Size) (size) <= MaxAllocHugeSize) @@ -52,8 +55,8 @@ * Only TopMemoryContext and ErrorContext are initialized by * MemoryContextInit() itself. */ -extern PGDLLIMPORT __thread MemoryContext TopMemoryContext; -extern PGDLLIMPORT __thread MemoryContext ErrorContext; +extern PGDLLIMPORT __thread MemoryContext TopMemoryContext; +extern PGDLLIMPORT __thread MemoryContext ErrorContext; extern PGDLLIMPORT MemoryContext PostmasterContext; extern PGDLLIMPORT MemoryContext CacheMemoryContext; extern PGDLLIMPORT MemoryContext MessageContext; @@ -63,9 +66,6 @@ extern PGDLLIMPORT MemoryContext CurTransactionContext; /* This is a transient link to the active portal's memory context: */ extern PGDLLIMPORT MemoryContext PortalContext; -/* Backwards compatibility macro */ -#define MemoryContextResetAndDeleteChildren(ctx) MemoryContextReset(ctx) - /* * Memory-context-type-independent functions in mcxt.c @@ -79,12 +79,16 @@ extern void MemoryContextDeleteChildren(MemoryContext context); extern void MemoryContextSetIdentifier(MemoryContext context, const char *id); extern void MemoryContextSetParent(MemoryContext context, MemoryContext new_parent); +extern MemoryContext GetMemoryChunkContext(void *pointer); extern Size GetMemoryChunkSpace(void *pointer); extern MemoryContext MemoryContextGetParent(MemoryContext context); extern bool MemoryContextIsEmpty(MemoryContext context); extern Size MemoryContextMemAllocated(MemoryContext context, bool recurse); +extern void MemoryContextMemConsumed(MemoryContext context, + MemoryContextCounters *consumed); extern void MemoryContextStats(MemoryContext context); -extern void MemoryContextStatsDetail(MemoryContext context, int max_children, +extern void MemoryContextStatsDetail(MemoryContext context, + int max_level, int max_children, bool print_to_stderr); extern void MemoryContextAllowInCriticalSection(MemoryContext context, bool allow); @@ -92,59 +96,11 @@ extern void MemoryContextAllowInCriticalSection(MemoryContext context, #ifdef MEMORY_CONTEXT_CHECKING extern void MemoryContextCheck(MemoryContext context); #endif -extern bool MemoryContextContains(MemoryContext context, void *pointer); /* Handy macro for copying and assigning context ID ... but note double eval */ #define MemoryContextCopyAndSetIdentifier(cxt, id) \ MemoryContextSetIdentifier(cxt, MemoryContextStrdup(cxt, id)) -/* - * GetMemoryChunkContext - * Given a currently-allocated chunk, determine the context - * it belongs to. - * - * All chunks allocated by any memory context manager are required to be - * preceded by the corresponding MemoryContext stored, without padding, in the - * preceding sizeof(void*) bytes. A currently-allocated chunk must contain a - * backpointer to its owning context. The backpointer is used by pfree() and - * repalloc() to find the context to call. - */ -#ifndef FRONTEND -static inline MemoryContext -GetMemoryChunkContext(void *pointer) -{ - MemoryContext context; - - /* - * Try to detect bogus pointers handed to us, poorly though we can. - * Presumably, a pointer that isn't MAXALIGNED isn't pointing at an - * allocated chunk. - */ - Assert(pointer != NULL); - Assert(pointer == (void *) MAXALIGN(pointer)); - - /* - * OK, it's probably safe to look at the context. - */ - context = *(MemoryContext *) (((char *) pointer) - sizeof(void *)); - - AssertArg(MemoryContextIsValid(context)); - - return context; -} -#endif - -/* - * This routine handles the context-type-independent part of memory - * context creation. It's intended to be called from context-type- - * specific creation routines, and noplace else. - */ -extern void MemoryContextCreate(MemoryContext node, - NodeTag tag, - const MemoryContextMethods *methods, - MemoryContext parent, - const char *name); - extern void HandleLogMemoryContextInterrupt(void); extern void ProcessLogMemoryContextInterrupt(void); @@ -188,6 +144,13 @@ extern MemoryContext GenerationContextCreate(MemoryContext parent, Size initBlockSize, Size maxBlockSize); +/* bump.c */ +extern MemoryContext BumpContextCreate(MemoryContext parent, + const char *name, + Size minContextSize, + Size initBlockSize, + Size maxBlockSize); + /* * Recommended default alloc parameters, suitable for "ordinary" contexts * that might hold quite a lot of data. diff --git a/parser/include/postgres/utils/memutils_internal.h b/parser/include/postgres/utils/memutils_internal.h new file mode 100644 index 00000000..5ce2d9b5 --- /dev/null +++ b/parser/include/postgres/utils/memutils_internal.h @@ -0,0 +1,176 @@ +/*------------------------------------------------------------------------- + * + * memutils_internal.h + * This file contains declarations for memory allocation utility + * functions for internal use. + * + * + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/memutils_internal.h + * + *------------------------------------------------------------------------- + */ + +#ifndef MEMUTILS_INTERNAL_H +#define MEMUTILS_INTERNAL_H + +#include "utils/memutils.h" + +/* These functions implement the MemoryContext API for AllocSet context. */ +extern void *AllocSetAlloc(MemoryContext context, Size size, int flags); +extern void AllocSetFree(void *pointer); +extern void *AllocSetRealloc(void *pointer, Size size, int flags); +extern void AllocSetReset(MemoryContext context); +extern void AllocSetDelete(MemoryContext context); +extern MemoryContext AllocSetGetChunkContext(void *pointer); +extern Size AllocSetGetChunkSpace(void *pointer); +extern bool AllocSetIsEmpty(MemoryContext context); +extern void AllocSetStats(MemoryContext context, + MemoryStatsPrintFunc printfunc, void *passthru, + MemoryContextCounters *totals, + bool print_to_stderr); +#ifdef MEMORY_CONTEXT_CHECKING +extern void AllocSetCheck(MemoryContext context); +#endif + +/* These functions implement the MemoryContext API for Generation context. */ +extern void *GenerationAlloc(MemoryContext context, Size size, int flags); +extern void GenerationFree(void *pointer); +extern void *GenerationRealloc(void *pointer, Size size, int flags); +extern void GenerationReset(MemoryContext context); +extern void GenerationDelete(MemoryContext context); +extern MemoryContext GenerationGetChunkContext(void *pointer); +extern Size GenerationGetChunkSpace(void *pointer); +extern bool GenerationIsEmpty(MemoryContext context); +extern void GenerationStats(MemoryContext context, + MemoryStatsPrintFunc printfunc, void *passthru, + MemoryContextCounters *totals, + bool print_to_stderr); +#ifdef MEMORY_CONTEXT_CHECKING +extern void GenerationCheck(MemoryContext context); +#endif + + +/* These functions implement the MemoryContext API for Slab context. */ +extern void *SlabAlloc(MemoryContext context, Size size, int flags); +extern void SlabFree(void *pointer); +extern void *SlabRealloc(void *pointer, Size size, int flags); +extern void SlabReset(MemoryContext context); +extern void SlabDelete(MemoryContext context); +extern MemoryContext SlabGetChunkContext(void *pointer); +extern Size SlabGetChunkSpace(void *pointer); +extern bool SlabIsEmpty(MemoryContext context); +extern void SlabStats(MemoryContext context, + MemoryStatsPrintFunc printfunc, void *passthru, + MemoryContextCounters *totals, + bool print_to_stderr); +#ifdef MEMORY_CONTEXT_CHECKING +extern void SlabCheck(MemoryContext context); +#endif + +/* + * These functions support the implementation of palloc_aligned() and are not + * part of a fully-fledged MemoryContext type. + */ +extern void AlignedAllocFree(void *pointer); +extern void *AlignedAllocRealloc(void *pointer, Size size, int flags); +extern MemoryContext AlignedAllocGetChunkContext(void *pointer); +extern Size AlignedAllocGetChunkSpace(void *pointer); + + /* These functions implement the MemoryContext API for the Bump context. */ +extern void *BumpAlloc(MemoryContext context, Size size, int flags); +extern void BumpFree(void *pointer); +extern void *BumpRealloc(void *pointer, Size size, int flags); +extern void BumpReset(MemoryContext context); +extern void BumpDelete(MemoryContext context); +extern MemoryContext BumpGetChunkContext(void *pointer); +extern Size BumpGetChunkSpace(void *pointer); +extern bool BumpIsEmpty(MemoryContext context); +extern void BumpStats(MemoryContext context, MemoryStatsPrintFunc printfunc, + void *passthru, MemoryContextCounters *totals, + bool print_to_stderr); +#ifdef MEMORY_CONTEXT_CHECKING +extern void BumpCheck(MemoryContext context); +#endif + +/* + * How many extra bytes do we need to request in order to ensure that we can + * align a pointer to 'alignto'. Since palloc'd pointers are already aligned + * to MAXIMUM_ALIGNOF we can subtract that amount. We also need to make sure + * there is enough space for the redirection MemoryChunk. + */ +#define PallocAlignedExtraBytes(alignto) \ + ((alignto) + (sizeof(MemoryChunk) - MAXIMUM_ALIGNOF)) + +/* + * MemoryContextMethodID + * A unique identifier for each MemoryContext implementation which + * indicates the index into the mcxt_methods[] array. See mcxt.c. + * + * For robust error detection, ensure that MemoryContextMethodID has a value + * for each possible bit-pattern of MEMORY_CONTEXT_METHODID_MASK, and make + * dummy entries for unused IDs in the mcxt_methods[] array. We also try + * to avoid using bit-patterns as valid IDs if they are likely to occur in + * garbage data, or if they could falsely match on chunks that are really from + * malloc not palloc. (We can't tell that for most malloc implementations, + * but it happens that glibc stores flag bits in the same place where we put + * the MemoryContextMethodID, so the possible values are predictable for it.) + */ +typedef enum MemoryContextMethodID +{ + MCTX_0_RESERVED_UNUSEDMEM_ID, /* 0000 occurs in never-used memory */ + MCTX_1_RESERVED_GLIBC_ID, /* glibc malloc'd chunks usually match 0001 */ + MCTX_2_RESERVED_GLIBC_ID, /* glibc malloc'd chunks > 128kB match 0010 */ + MCTX_ASET_ID, + MCTX_GENERATION_ID, + MCTX_SLAB_ID, + MCTX_ALIGNED_REDIRECT_ID, + MCTX_BUMP_ID, + MCTX_8_UNUSED_ID, + MCTX_9_UNUSED_ID, + MCTX_10_UNUSED_ID, + MCTX_11_UNUSED_ID, + MCTX_12_UNUSED_ID, + MCTX_13_UNUSED_ID, + MCTX_14_UNUSED_ID, + MCTX_15_RESERVED_WIPEDMEM_ID /* 1111 occurs in wipe_mem'd memory */ +} MemoryContextMethodID; + +/* + * The number of bits that 8-byte memory chunk headers can use to encode the + * MemoryContextMethodID. + */ +#define MEMORY_CONTEXT_METHODID_BITS 4 +#define MEMORY_CONTEXT_METHODID_MASK \ + ((((uint64) 1) << MEMORY_CONTEXT_METHODID_BITS) - 1) + +/* + * This routine handles the context-type-independent part of memory + * context creation. It's intended to be called from context-type- + * specific creation routines, and noplace else. + */ +extern void MemoryContextCreate(MemoryContext node, + NodeTag tag, + MemoryContextMethodID method_id, + MemoryContext parent, + const char *name); + +extern void *MemoryContextAllocationFailure(MemoryContext context, Size size, + int flags); + +extern void MemoryContextSizeFailure(MemoryContext context, Size size, + int flags) pg_attribute_noreturn(); + +static inline void +MemoryContextCheckSize(MemoryContext context, Size size, int flags) +{ + if (unlikely(!AllocSizeIsValid(size))) + { + if (!(flags & MCXT_ALLOC_HUGE) || !AllocHugeSizeIsValid(size)) + MemoryContextSizeFailure(context, size, flags); + } +} + +#endif /* MEMUTILS_INTERNAL_H */ diff --git a/parser/include/postgres/utils/memutils_memorychunk.h b/parser/include/postgres/utils/memutils_memorychunk.h new file mode 100644 index 00000000..56c49d60 --- /dev/null +++ b/parser/include/postgres/utils/memutils_memorychunk.h @@ -0,0 +1,253 @@ +/*------------------------------------------------------------------------- + * + * memutils_memorychunk.h + * Here we define a struct named MemoryChunk which implementations of + * MemoryContexts may use as a header for chunks of memory they allocate. + * + * MemoryChunk provides a lightweight header that a MemoryContext can use to + * store a reference back to the block which the given chunk is allocated on + * and also an additional 30-bits to store another value such as the size of + * the allocated chunk. + * + * Although MemoryChunks are used by each of our MemoryContexts, future + * implementations may choose to implement their own method for storing chunk + * headers. The only requirement is that the header ends with an 8-byte value + * which the least significant 4-bits of are set to the MemoryContextMethodID + * of the given context. + * + * By default, a MemoryChunk is 8 bytes in size, however, when + * MEMORY_CONTEXT_CHECKING is defined the header becomes 16 bytes in size due + * to the additional requested_size field. The MemoryContext may use this + * field for whatever they wish, but it is intended to be used for additional + * checks which are only done in MEMORY_CONTEXT_CHECKING builds. + * + * The MemoryChunk contains a uint64 field named 'hdrmask'. This field is + * used to encode 4 separate pieces of information. Starting with the least + * significant bits of 'hdrmask', the bit space is reserved as follows: + * + * 1. 4-bits to indicate the MemoryContextMethodID as defined by + * MEMORY_CONTEXT_METHODID_MASK + * 2. 1-bit to denote an "external" chunk (see below) + * 3. 30-bits reserved for the MemoryContext to use for anything it + * requires. Most MemoryContexts likely want to store the size of the + * chunk here. + * 4. 30-bits for the number of bytes that must be subtracted from the chunk + * to obtain the address of the block that the chunk is stored on. + * + * If you're paying close attention, you'll notice this adds up to 65 bits + * rather than 64 bits. This is because the highest-order bit of #3 is the + * same bit as the lowest-order bit of #4. We can do this as we insist that + * the chunk and block pointers are both MAXALIGNed, therefore the relative + * offset between those will always be a MAXALIGNed value which means the + * lowest order bit is always 0. When fetching the chunk to block offset we + * mask out the lowest-order bit to ensure it's still zero. + * + * In some cases, for example when memory allocations become large, it's + * possible fields 3 and 4 above are not large enough to store the values + * required for the chunk. In this case, the MemoryContext can choose to mark + * the chunk as "external" by calling the MemoryChunkSetHdrMaskExternal() + * function. When this is done, fields 3 and 4 are unavailable for use by the + * MemoryContext and it's up to the MemoryContext itself to devise its own + * method for getting the reference to the block. + * + * Interface: + * + * MemoryChunkSetHdrMask: + * Used to set up a non-external MemoryChunk. + * + * MemoryChunkSetHdrMaskExternal: + * Used to set up an externally managed MemoryChunk. + * + * MemoryChunkIsExternal: + * Determine if the given MemoryChunk is externally managed, i.e. + * MemoryChunkSetHdrMaskExternal() was called on the chunk. + * + * MemoryChunkGetValue: + * For non-external chunks, return the stored 30-bit value as it was set + * in the call to MemoryChunkSetHdrMask(). + * + * MemoryChunkGetBlock: + * For non-external chunks, return a pointer to the block as it was set + * in the call to MemoryChunkSetHdrMask(). + * + * Also exports: + * MEMORYCHUNK_MAX_VALUE + * MEMORYCHUNK_MAX_BLOCKOFFSET + * PointerGetMemoryChunk + * MemoryChunkGetPointer + * + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/memutils_memorychunk.h + * + *------------------------------------------------------------------------- + */ + +#ifndef MEMUTILS_MEMORYCHUNK_H +#define MEMUTILS_MEMORYCHUNK_H + +#include "utils/memutils_internal.h" + + /* + * The maximum allowed value that MemoryContexts can store in the value + * field. Must be 1 less than a power of 2. + */ +#define MEMORYCHUNK_MAX_VALUE UINT64CONST(0x3FFFFFFF) + +/* + * The maximum distance in bytes that a MemoryChunk can be offset from the + * block that is storing the chunk. Must be 1 less than a power of 2. + */ +#define MEMORYCHUNK_MAX_BLOCKOFFSET UINT64CONST(0x3FFFFFFF) + +/* + * As above, but mask out the lowest-order (always zero) bit as this is shared + * with the MemoryChunkGetValue field. + */ +#define MEMORYCHUNK_BLOCKOFFSET_MASK UINT64CONST(0x3FFFFFFE) + +/* define the least significant base-0 bit of each portion of the hdrmask */ +#define MEMORYCHUNK_EXTERNAL_BASEBIT MEMORY_CONTEXT_METHODID_BITS +#define MEMORYCHUNK_VALUE_BASEBIT (MEMORYCHUNK_EXTERNAL_BASEBIT + 1) +#define MEMORYCHUNK_BLOCKOFFSET_BASEBIT (MEMORYCHUNK_VALUE_BASEBIT + 29) + +/* + * A magic number for storing in the free bits of an external chunk. This + * must mask out the bits used for storing the MemoryContextMethodID and the + * external bit. + */ +#define MEMORYCHUNK_MAGIC (UINT64CONST(0xB1A8DB858EB6EFBA) >> \ + MEMORYCHUNK_VALUE_BASEBIT << \ + MEMORYCHUNK_VALUE_BASEBIT) + +typedef struct MemoryChunk +{ +#ifdef MEMORY_CONTEXT_CHECKING + Size requested_size; +#endif + + /* bitfield for storing details about the chunk */ + uint64 hdrmask; /* must be last */ +} MemoryChunk; + +/* Get the MemoryChunk from the pointer */ +#define PointerGetMemoryChunk(p) \ + ((MemoryChunk *) ((char *) (p) - sizeof(MemoryChunk))) +/* Get the pointer from the MemoryChunk */ +#define MemoryChunkGetPointer(c) \ + ((void *) ((char *) (c) + sizeof(MemoryChunk))) + +/* private macros for making the inline functions below more simple */ +#define HdrMaskIsExternal(hdrmask) \ + ((hdrmask) & (((uint64) 1) << MEMORYCHUNK_EXTERNAL_BASEBIT)) +#define HdrMaskGetValue(hdrmask) \ + (((hdrmask) >> MEMORYCHUNK_VALUE_BASEBIT) & MEMORYCHUNK_MAX_VALUE) + +/* + * Shift the block offset down to the 0th bit position and mask off the single + * bit that's shared with the MemoryChunkGetValue field. + */ +#define HdrMaskBlockOffset(hdrmask) \ + (((hdrmask) >> MEMORYCHUNK_BLOCKOFFSET_BASEBIT) & MEMORYCHUNK_BLOCKOFFSET_MASK) + +/* For external chunks only, check the magic number matches */ +#define HdrMaskCheckMagic(hdrmask) \ + (MEMORYCHUNK_MAGIC == \ + ((hdrmask) >> MEMORYCHUNK_VALUE_BASEBIT << MEMORYCHUNK_VALUE_BASEBIT)) +/* + * MemoryChunkSetHdrMask + * Store the given 'block', 'chunk_size' and 'methodid' in the given + * MemoryChunk. + * + * The number of bytes between 'block' and 'chunk' must be <= + * MEMORYCHUNK_MAX_BLOCKOFFSET. + * 'value' must be <= MEMORYCHUNK_MAX_VALUE. + * Both 'chunk' and 'block' must be MAXALIGNed pointers. + */ +static inline void +MemoryChunkSetHdrMask(MemoryChunk *chunk, void *block, + Size value, MemoryContextMethodID methodid) +{ + Size blockoffset = (char *) chunk - (char *) block; + + Assert((char *) chunk >= (char *) block); + Assert((blockoffset & MEMORYCHUNK_BLOCKOFFSET_MASK) == blockoffset); + Assert(value <= MEMORYCHUNK_MAX_VALUE); + Assert((int) methodid <= MEMORY_CONTEXT_METHODID_MASK); + + chunk->hdrmask = (((uint64) blockoffset) << MEMORYCHUNK_BLOCKOFFSET_BASEBIT) | + (((uint64) value) << MEMORYCHUNK_VALUE_BASEBIT) | + methodid; +} + +/* + * MemoryChunkSetHdrMaskExternal + * Set 'chunk' as an externally managed chunk. Here we only record the + * MemoryContextMethodID and set the external chunk bit. + */ +static inline void +MemoryChunkSetHdrMaskExternal(MemoryChunk *chunk, + MemoryContextMethodID methodid) +{ + Assert((int) methodid <= MEMORY_CONTEXT_METHODID_MASK); + + chunk->hdrmask = MEMORYCHUNK_MAGIC | (((uint64) 1) << MEMORYCHUNK_EXTERNAL_BASEBIT) | + methodid; +} + +/* + * MemoryChunkIsExternal + * Return true if 'chunk' is marked as external. + */ +static inline bool +MemoryChunkIsExternal(MemoryChunk *chunk) +{ + /* + * External chunks should always store MEMORYCHUNK_MAGIC in the upper + * portion of the hdrmask, check that nothing has stomped on that. + */ + Assert(!HdrMaskIsExternal(chunk->hdrmask) || + HdrMaskCheckMagic(chunk->hdrmask)); + + return HdrMaskIsExternal(chunk->hdrmask); +} + +/* + * MemoryChunkGetValue + * For non-external chunks, returns the value field as it was set in + * MemoryChunkSetHdrMask. + */ +static inline Size +MemoryChunkGetValue(MemoryChunk *chunk) +{ + Assert(!HdrMaskIsExternal(chunk->hdrmask)); + + return HdrMaskGetValue(chunk->hdrmask); +} + +/* + * MemoryChunkGetBlock + * For non-external chunks, returns the pointer to the block as was set + * in MemoryChunkSetHdrMask. + */ +static inline void * +MemoryChunkGetBlock(MemoryChunk *chunk) +{ + Assert(!HdrMaskIsExternal(chunk->hdrmask)); + + return (void *) ((char *) chunk - HdrMaskBlockOffset(chunk->hdrmask)); +} + +/* cleanup all internal definitions */ +#undef MEMORYCHUNK_BLOCKOFFSET_MASK +#undef MEMORYCHUNK_EXTERNAL_BASEBIT +#undef MEMORYCHUNK_VALUE_BASEBIT +#undef MEMORYCHUNK_BLOCKOFFSET_BASEBIT +#undef MEMORYCHUNK_MAGIC +#undef HdrMaskIsExternal +#undef HdrMaskGetValue +#undef HdrMaskBlockOffset +#undef HdrMaskCheckMagic + +#endif /* MEMUTILS_MEMORYCHUNK_H */ diff --git a/parser/include/utils/numeric.h b/parser/include/postgres/utils/numeric.h similarity index 82% rename from parser/include/utils/numeric.h rename to parser/include/postgres/utils/numeric.h index 3caa74df..43c75c43 100644 --- a/parser/include/utils/numeric.h +++ b/parser/include/postgres/utils/numeric.h @@ -5,7 +5,7 @@ * * Original coding 1998, Jan Wieck. Heavily revised 2003, Tom Lane. * - * Copyright (c) 1998-2022, PostgreSQL Global Development Group + * Copyright (c) 1998-2024, PostgreSQL Global Development Group * * src/include/utils/numeric.h * @@ -14,6 +14,7 @@ #ifndef _PG_NUMERIC_H_ #define _PG_NUMERIC_H_ +#include "common/pg_prng.h" #include "fmgr.h" /* @@ -56,9 +57,24 @@ typedef struct NumericData *Numeric; * fmgr interface macros */ -#define DatumGetNumeric(X) ((Numeric) PG_DETOAST_DATUM(X)) -#define DatumGetNumericCopy(X) ((Numeric) PG_DETOAST_DATUM_COPY(X)) -#define NumericGetDatum(X) PointerGetDatum(X) +static inline Numeric +DatumGetNumeric(Datum X) +{ + return (Numeric) PG_DETOAST_DATUM(X); +} + +static inline Numeric +DatumGetNumericCopy(Datum X) +{ + return (Numeric) PG_DETOAST_DATUM_COPY(X); +} + +static inline Datum +NumericGetDatum(Numeric X) +{ + return PointerGetDatum(X); +} + #define PG_GETARG_NUMERIC(n) DatumGetNumeric(PG_GETARG_DATUM(n)) #define PG_GETARG_NUMERIC_COPY(n) DatumGetNumericCopy(PG_GETARG_DATUM(n)) #define PG_RETURN_NUMERIC(x) return NumericGetDatum(x) @@ -85,6 +101,10 @@ extern Numeric numeric_div_opt_error(Numeric num1, Numeric num2, bool *have_error); extern Numeric numeric_mod_opt_error(Numeric num1, Numeric num2, bool *have_error); -extern int32 numeric_int4_opt_error(Numeric num, bool *error); +extern int32 numeric_int4_opt_error(Numeric num, bool *have_error); +extern int64 numeric_int8_opt_error(Numeric num, bool *have_error); + +extern Numeric random_numeric(pg_prng_state *state, + Numeric rmin, Numeric rmax); #endif /* _PG_NUMERIC_H_ */ diff --git a/parser/include/utils/palloc.h b/parser/include/postgres/utils/palloc.h similarity index 87% rename from parser/include/utils/palloc.h rename to parser/include/postgres/utils/palloc.h index c39d395c..53554b22 100644 --- a/parser/include/utils/palloc.h +++ b/parser/include/postgres/utils/palloc.h @@ -18,7 +18,7 @@ * everything that should be freed. See utils/mmgr/README for more info. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/palloc.h @@ -56,7 +56,7 @@ typedef struct MemoryContextCallback * Avoid accessing it directly! Instead, use MemoryContextSwitchTo() * to change the setting. */ -extern PGDLLIMPORT __thread MemoryContext CurrentMemoryContext; +extern PGDLLIMPORT __thread MemoryContext CurrentMemoryContext; /* * Flags for MemoryContextAllocExtended. @@ -70,14 +70,19 @@ extern PGDLLIMPORT __thread MemoryContext CurrentMemoryContext; */ extern void *MemoryContextAlloc(MemoryContext context, Size size); extern void *MemoryContextAllocZero(MemoryContext context, Size size); -extern void *MemoryContextAllocZeroAligned(MemoryContext context, Size size); extern void *MemoryContextAllocExtended(MemoryContext context, Size size, int flags); +extern void *MemoryContextAllocAligned(MemoryContext context, + Size size, Size alignto, int flags); extern void *palloc(Size size); extern void *palloc0(Size size); extern void *palloc_extended(Size size, int flags); +extern void *palloc_aligned(Size size, Size alignto, int flags); extern pg_nodiscard void *repalloc(void *pointer, Size size); +extern pg_nodiscard void *repalloc_extended(void *pointer, + Size size, int flags); +extern pg_nodiscard void *repalloc0(void *pointer, Size oldsize, Size size); extern void pfree(void *pointer); /* @@ -101,19 +106,7 @@ extern void pfree(void *pointer); * objects of type "type" */ #define repalloc_array(pointer, type, count) ((type *) repalloc(pointer, sizeof(type) * (count))) - -/* - * The result of palloc() is always word-aligned, so we can skip testing - * alignment of the pointer when deciding which MemSet variant to use. - * Note that this variant does not offer any advantage, and should not be - * used, unless its "sz" argument is a compile-time constant; therefore, the - * issue that it evaluates the argument multiple times isn't a problem in - * practice. - */ -#define palloc0fast(sz) \ - ( MemSetTest(0, sz) ? \ - MemoryContextAllocZeroAligned(CurrentMemoryContext, sz) : \ - MemoryContextAllocZero(CurrentMemoryContext, sz) ) +#define repalloc0_array(pointer, type, oldcount, count) ((type *) repalloc0(pointer, sizeof(type) * (oldcount), sizeof(type) * (count))) /* Higher-limit allocators. */ extern void *MemoryContextAllocHuge(MemoryContext context, Size size); diff --git a/parser/include/utils/partcache.h b/parser/include/postgres/utils/partcache.h similarity index 93% rename from parser/include/utils/partcache.h rename to parser/include/postgres/utils/partcache.h index 3394e1fc..a4ffa036 100644 --- a/parser/include/utils/partcache.h +++ b/parser/include/postgres/utils/partcache.h @@ -2,7 +2,7 @@ * * partcache.h * - * Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/include/utils/partcache.h * @@ -13,6 +13,7 @@ #include "access/attnum.h" #include "fmgr.h" +#include "nodes/parsenodes.h" #include "nodes/pg_list.h" #include "nodes/primnodes.h" #include "partitioning/partdefs.h" @@ -23,7 +24,7 @@ */ typedef struct PartitionKeyData { - char strategy; /* partitioning strategy */ + PartitionStrategy strategy; /* partitioning strategy */ int16 partnatts; /* number of columns in the partition key */ AttrNumber *partattrs; /* attribute numbers of columns in the * partition key or 0 if it's an expr */ diff --git a/parser/include/utils/pg_locale.h b/parser/include/postgres/utils/pg_locale.h similarity index 63% rename from parser/include/utils/pg_locale.h rename to parser/include/postgres/utils/pg_locale.h index e7385fae..0bc93142 100644 --- a/parser/include/utils/pg_locale.h +++ b/parser/include/postgres/utils/pg_locale.h @@ -4,7 +4,7 @@ * * src/include/utils/pg_locale.h * - * Copyright (c) 2002-2022, PostgreSQL Global Development Group + * Copyright (c) 2002-2024, PostgreSQL Global Development Group * *----------------------------------------------------------------------- */ @@ -16,11 +16,14 @@ #include #endif #ifdef USE_ICU +/* only include the C APIs, to avoid errors in cpluspluscheck */ +#undef U_SHOW_CPLUSPLUS_API +#define U_SHOW_CPLUSPLUS_API 0 +#undef U_SHOW_CPLUSPLUS_HEADER_API +#define U_SHOW_CPLUSPLUS_HEADER_API 0 #include #endif -#include "utils/guc.h" - #ifdef USE_ICU /* * ucol_strcollUTF8() was introduced in ICU 50, but it is buggy before ICU 53. @@ -42,6 +45,7 @@ extern PGDLLIMPORT char *locale_messages; extern PGDLLIMPORT char *locale_monetary; extern PGDLLIMPORT char *locale_numeric; extern PGDLLIMPORT char *locale_time; +extern PGDLLIMPORT int icu_validation_level; /* lc_time localization cache */ extern PGDLLIMPORT char *localized_abbrev_days[]; @@ -49,19 +53,11 @@ extern PGDLLIMPORT char *localized_full_days[]; extern PGDLLIMPORT char *localized_abbrev_months[]; extern PGDLLIMPORT char *localized_full_months[]; - -extern bool check_locale_messages(char **newval, void **extra, GucSource source); -extern void assign_locale_messages(const char *newval, void *extra); -extern bool check_locale_monetary(char **newval, void **extra, GucSource source); -extern void assign_locale_monetary(const char *newval, void *extra); -extern bool check_locale_numeric(char **newval, void **extra, GucSource source); -extern void assign_locale_numeric(const char *newval, void *extra); -extern bool check_locale_time(char **newval, void **extra, GucSource source); -extern void assign_locale_time(const char *newval, void *extra); +/* is the databases's LC_CTYPE the C locale? */ +extern PGDLLIMPORT bool database_ctype_is_c; extern bool check_locale(int category, const char *locale, char **canonname); extern char *pg_perm_setlocale(int category, const char *locale); -extern void check_strxfrm_bug(void); extern bool lc_collate_is_c(Oid collation); extern bool lc_ctype_is_c(Oid collation); @@ -76,9 +72,7 @@ extern void cache_locale_time(void); /* - * We define our own wrapper around locale_t so we can keep the same - * function signatures for all builds, while not having to create a - * fake version of the standard type locale_t in the global namespace. + * We use a discriminated union to hold either a locale_t or an ICU collator. * pg_locale_t is occasionally checked for truth, so make it a pointer. */ struct pg_locale_struct @@ -87,9 +81,11 @@ struct pg_locale_struct bool deterministic; union { -#ifdef HAVE_LOCALE_T + struct + { + const char *locale; + } builtin; locale_t lt; -#endif #ifdef USE_ICU struct { @@ -97,7 +93,6 @@ struct pg_locale_struct UCollator *ucol; } icu; #endif - int dummy; /* in case we have neither LOCALE_T nor ICU */ } info; }; @@ -106,17 +101,36 @@ typedef struct pg_locale_struct *pg_locale_t; extern PGDLLIMPORT struct pg_locale_struct default_locale; extern void make_icu_collator(const char *iculocstr, + const char *icurules, struct pg_locale_struct *resultp); +extern bool pg_locale_deterministic(pg_locale_t locale); extern pg_locale_t pg_newlocale_from_collation(Oid collid); extern char *get_collation_actual_version(char collprovider, const char *collcollate); +extern int pg_strcoll(const char *arg1, const char *arg2, pg_locale_t locale); +extern int pg_strncoll(const char *arg1, size_t len1, + const char *arg2, size_t len2, pg_locale_t locale); +extern bool pg_strxfrm_enabled(pg_locale_t locale); +extern size_t pg_strxfrm(char *dest, const char *src, size_t destsize, + pg_locale_t locale); +extern size_t pg_strnxfrm(char *dest, size_t destsize, const char *src, + size_t srclen, pg_locale_t locale); +extern bool pg_strxfrm_prefix_enabled(pg_locale_t locale); +extern size_t pg_strxfrm_prefix(char *dest, const char *src, size_t destsize, + pg_locale_t locale); +extern size_t pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src, + size_t srclen, pg_locale_t locale); + +extern int builtin_locale_encoding(const char *locale); +extern const char *builtin_validate_locale(int encoding, const char *locale); +extern void icu_validate_locale(const char *loc_str); +extern char *icu_language_tag(const char *loc_str, int elevel); #ifdef USE_ICU extern int32_t icu_to_uchar(UChar **buff_uchar, const char *buff, size_t nbytes); extern int32_t icu_from_uchar(char **result, const UChar *buff_uchar, int32_t len_uchar); #endif -extern void check_icu_locale(const char *icu_locale); /* These functions convert from/to libc's wchar_t, *not* pg_wchar_t */ extern size_t wchar2char(char *to, const wchar_t *from, size_t tolen, diff --git a/parser/include/utils/pgstat_internal.h b/parser/include/postgres/utils/pgstat_internal.h similarity index 92% rename from parser/include/utils/pgstat_internal.h rename to parser/include/postgres/utils/pgstat_internal.h index 4b65dfef..22106778 100644 --- a/parser/include/utils/pgstat_internal.h +++ b/parser/include/postgres/utils/pgstat_internal.h @@ -5,7 +5,7 @@ * only be needed by files implementing statistics support (rather than ones * reporting / querying stats). * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * src/include/utils/pgstat_internal.h * ---------- @@ -14,7 +14,7 @@ #define PGSTAT_INTERNAL_H -#include "common/hashfn.h" +#include "common/hashfn_unstable.h" #include "lib/dshash.h" #include "lib/ilist.h" #include "pgstat.h" @@ -93,6 +93,19 @@ typedef struct PgStatShared_HashEntry */ pg_atomic_uint32 refcount; + /* + * Counter tracking the number of times the entry has been reused. + * + * Set to 0 when the entry is created, and incremented by one each time + * the shared entry is reinitialized with pgstat_reinit_entry(). + * + * May only be incremented / decremented while holding at least a shared + * lock on the dshash partition containing the entry. Like refcount, it + * needs to be an atomic variable because multiple backends can increment + * the generation with just a shared lock. + */ + pg_atomic_uint32 generation; + /* * Pointer to shared stats. The stats entry always starts with * PgStatShared_Common, embedded in a larger struct containing the @@ -102,7 +115,7 @@ typedef struct PgStatShared_HashEntry } PgStatShared_HashEntry; /* - * Common header struct for PgStatShm_Stat*Entry. + * Common header struct for PgStatShared_*. */ typedef struct PgStatShared_Common { @@ -132,6 +145,12 @@ typedef struct PgStat_EntryRef */ PgStatShared_Common *shared_stats; + /* + * Copy of PgStatShared_HashEntry->generation, keeping locally track of + * the shared stats entry "generation" retrieved (number of times reused). + */ + uint32 generation; + /* * Pending statistics data that will need to be flushed to shared memory * stats eventually. Each stats kind utilizing pending data defines what @@ -162,8 +181,7 @@ typedef struct PgStat_SubXactStatus * if the transaction commits/aborts. To handle replicas and crashes, * stats drops are included in commit / abort records. */ - dlist_head pending_drops; - int pending_drops_count; + dclist_head pending_drops; /* * Tuple insertion/deletion counts for an open transaction can't be @@ -270,13 +288,13 @@ typedef struct PgStat_KindInfo * definitions. */ static const char *const slru_names[] = { - "CommitTs", - "MultiXactMember", - "MultiXactOffset", - "Notify", - "Serial", - "Subtrans", - "Xact", + "commit_timestamp", + "multixact_member", + "multixact_offset", + "notify", + "serializable", + "subtransaction", + "transaction", "other" /* has to be last */ }; @@ -330,6 +348,17 @@ typedef struct PgStatShared_Checkpointer PgStat_CheckpointerStats reset_offset; } PgStatShared_Checkpointer; +/* Shared-memory ready PgStat_IO */ +typedef struct PgStatShared_IO +{ + /* + * locks[i] protects stats.stats[i]. locks[0] also protects + * stats.stat_reset_timestamp. + */ + LWLock locks[BACKEND_NUM_TYPES]; + PgStat_IO stats; +} PgStatShared_IO; + typedef struct PgStatShared_SLRU { /* lock protects ->stats */ @@ -420,6 +449,7 @@ typedef struct PgStat_ShmemControl PgStatShared_Archiver archiver; PgStatShared_BgWriter bgwriter; PgStatShared_Checkpointer checkpointer; + PgStatShared_IO io; PgStatShared_SLRU slru; PgStatShared_Wal wal; } PgStat_ShmemControl; @@ -443,6 +473,8 @@ typedef struct PgStat_Snapshot PgStat_CheckpointerStats checkpointer; + PgStat_IO io; + PgStat_SLRUStats slru[SLRU_NUM_ELEMENTS]; PgStat_WalStats wal; @@ -550,6 +582,15 @@ extern void pgstat_database_reset_timestamp_cb(PgStatShared_Common *header, Time extern bool pgstat_function_flush_cb(PgStat_EntryRef *entry_ref, bool nowait); +/* + * Functions in pgstat_io.c + */ + +extern bool pgstat_flush_io(bool nowait); +extern void pgstat_io_reset_all_cb(TimestampTz ts); +extern void pgstat_io_snapshot_cb(void); + + /* * Functions in pgstat_relation.c */ @@ -580,7 +621,7 @@ extern void pgstat_attach_shmem(void); extern void pgstat_detach_shmem(void); extern PgStat_EntryRef *pgstat_get_entry_ref(PgStat_Kind kind, Oid dboid, Oid objoid, - bool create, bool *found); + bool create, bool *created_entry); extern bool pgstat_lock_entry(PgStat_EntryRef *entry_ref, bool nowait); extern bool pgstat_lock_entry_shared(PgStat_EntryRef *entry_ref, bool nowait); extern void pgstat_unlock_entry(PgStat_EntryRef *entry_ref); @@ -627,6 +668,7 @@ extern void pgstat_wal_snapshot_cb(void); extern bool pgstat_subscription_flush_cb(PgStat_EntryRef *entry_ref, bool nowait); extern void pgstat_subscription_reset_timestamp_cb(PgStatShared_Common *header, TimestampTz ts); + /* * Functions in pgstat_xact.c */ @@ -643,6 +685,13 @@ extern void pgstat_create_transactional(PgStat_Kind kind, Oid dboid, Oid objoid) extern PGDLLIMPORT PgStat_LocalState pgStatLocal; +/* + * Variables in pgstat_io.c + */ + +extern PGDLLIMPORT bool have_iostats; + + /* * Variables in pgstat_slru.c */ @@ -739,23 +788,17 @@ pgstat_copy_changecounted_stats(void *dst, void *src, size_t len, static inline int pgstat_cmp_hash_key(const void *a, const void *b, size_t size, void *arg) { - AssertArg(size == sizeof(PgStat_HashKey) && arg == NULL); + Assert(size == sizeof(PgStat_HashKey) && arg == NULL); return memcmp(a, b, sizeof(PgStat_HashKey)); } static inline uint32 pgstat_hash_hash_key(const void *d, size_t size, void *arg) { - const PgStat_HashKey *key = (PgStat_HashKey *) d; - uint32 hash; - - AssertArg(size == sizeof(PgStat_HashKey) && arg == NULL); - - hash = murmurhash32(key->kind); - hash = hash_combine(hash, murmurhash32(key->dboid)); - hash = hash_combine(hash, murmurhash32(key->objoid)); + const char *key = (const char *) d; - return hash; + Assert(size == sizeof(PgStat_HashKey) && arg == NULL); + return fasthash32(key, size, 0); } /* diff --git a/parser/include/utils/plancache.h b/parser/include/postgres/utils/plancache.h similarity index 97% rename from parser/include/utils/plancache.h rename to parser/include/postgres/utils/plancache.h index 0499635f..a90dfdf9 100644 --- a/parser/include/utils/plancache.h +++ b/parser/include/postgres/utils/plancache.h @@ -5,7 +5,7 @@ * * See plancache.c for comments. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/plancache.h @@ -31,7 +31,7 @@ typedef enum { PLAN_CACHE_MODE_AUTO, PLAN_CACHE_MODE_FORCE_GENERIC_PLAN, - PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN + PLAN_CACHE_MODE_FORCE_CUSTOM_PLAN, } PlanCacheMode; /* GUC parameter */ @@ -111,7 +111,7 @@ typedef struct CachedPlanSource List *query_list; /* list of Query nodes, or NIL if not valid */ List *relationOids; /* OIDs of relations the queries depend on */ List *invalItems; /* other dependencies, as PlanInvalItems */ - struct OverrideSearchPath *search_path; /* search_path used for parsing + struct SearchPathMatcher *search_path; /* search_path used for parsing * and planning */ MemoryContext query_context; /* context holding the above, or NULL */ Oid rewriteRoleId; /* Role ID we did rewriting for */ @@ -188,6 +188,8 @@ typedef struct CachedExpression extern void InitPlanCache(void); extern void ResetPlanCache(void); +extern void ReleaseAllPlanCacheRefsInOwner(ResourceOwner owner); + extern CachedPlanSource *CreateCachedPlan(struct RawStmt *raw_parse_tree, const char *query_string, CommandTag commandTag); diff --git a/parser/include/utils/portal.h b/parser/include/postgres/utils/portal.h similarity index 95% rename from parser/include/utils/portal.h rename to parser/include/postgres/utils/portal.h index aeddbdaf..6c635150 100644 --- a/parser/include/utils/portal.h +++ b/parser/include/postgres/utils/portal.h @@ -36,7 +36,7 @@ * to look like NO SCROLL cursors. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/portal.h @@ -64,9 +64,9 @@ * supports holdable cursors (the Executor results can be dumped into a * tuplestore for access after transaction completion). * - * PORTAL_ONE_RETURNING: the portal contains a single INSERT/UPDATE/DELETE - * query with a RETURNING clause (plus possibly auxiliary queries added by - * rule rewriting). On first execution, we run the portal to completion + * PORTAL_ONE_RETURNING: the portal contains a single INSERT/UPDATE/DELETE/ + * MERGE query with a RETURNING clause (plus possibly auxiliary queries added + * by rule rewriting). On first execution, we run the portal to completion * and dump the primary query's results into the portal tuplestore; the * results are then returned to the client as demanded. (We can't support * suspension of the query partway through, because the AFTER TRIGGER code @@ -92,7 +92,7 @@ typedef enum PortalStrategy PORTAL_ONE_RETURNING, PORTAL_ONE_MOD_WITH, PORTAL_UTIL_SELECT, - PORTAL_MULTI_QUERY + PORTAL_MULTI_QUERY, } PortalStrategy; /* @@ -107,7 +107,7 @@ typedef enum PortalStatus PORTAL_READY, /* PortalStart complete, can run it */ PORTAL_ACTIVE, /* portal is running (can't delete it) */ PORTAL_DONE, /* portal is finished (don't re-run it) */ - PORTAL_FAILED /* portal got error (can't re-run it) */ + PORTAL_FAILED, /* portal got error (can't re-run it) */ } PortalStatus; typedef struct PortalData *Portal; @@ -145,7 +145,7 @@ typedef struct PortalData /* Features/options */ PortalStrategy strategy; /* see above */ int cursorOptions; /* DECLARE CURSOR option bits */ - bool run_once; /* portal will only be run once */ + bool run_once; /* unused */ /* Status data */ PortalStatus status; /* see above */ @@ -170,9 +170,9 @@ typedef struct PortalData Snapshot portalSnapshot; /* active snapshot, or NULL if none */ /* - * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING or - * PORTAL_UTIL_SELECT query. (A cursor held past the end of its - * transaction no longer has any active executor state.) + * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING, + * PORTAL_ONE_MOD_WITH, or PORTAL_UTIL_SELECT query. (A cursor held past + * the end of its transaction no longer has any active executor state.) */ Tuplestorestate *holdStore; /* store for holdable cursors */ MemoryContext holdContext; /* memory containing holdStore */ diff --git a/parser/include/utils/probes.h b/parser/include/postgres/utils/probes.h similarity index 94% rename from parser/include/utils/probes.h rename to parser/include/postgres/utils/probes.h index 54316d06..f600a965 100644 --- a/parser/include/utils/probes.h +++ b/parser/include/postgres/utils/probes.h @@ -50,14 +50,18 @@ #define TRACE_POSTGRESQL_SORT_START_ENABLED() (0) #define TRACE_POSTGRESQL_SORT_DONE(INT1, INT2) do {} while (0) #define TRACE_POSTGRESQL_SORT_DONE_ENABLED() (0) -#define TRACE_POSTGRESQL_BUFFER_READ_START(INT1, INT2, INT3, INT4, INT5, INT6, INT7) do {} while (0) +#define TRACE_POSTGRESQL_BUFFER_READ_START(INT1, INT2, INT3, INT4, INT5, INT6) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_READ_START_ENABLED() (0) -#define TRACE_POSTGRESQL_BUFFER_READ_DONE(INT1, INT2, INT3, INT4, INT5, INT6, INT7, INT8) do {} while (0) +#define TRACE_POSTGRESQL_BUFFER_READ_DONE(INT1, INT2, INT3, INT4, INT5, INT6, INT7) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_READ_DONE_ENABLED() (0) #define TRACE_POSTGRESQL_BUFFER_FLUSH_START(INT1, INT2, INT3, INT4, INT5) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_FLUSH_START_ENABLED() (0) #define TRACE_POSTGRESQL_BUFFER_FLUSH_DONE(INT1, INT2, INT3, INT4, INT5) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_FLUSH_DONE_ENABLED() (0) +#define TRACE_POSTGRESQL_BUFFER_EXTEND_START(INT1, INT2, INT3, INT4, INT5, INT6) do {} while (0) +#define TRACE_POSTGRESQL_BUFFER_EXTEND_START_ENABLED() (0) +#define TRACE_POSTGRESQL_BUFFER_EXTEND_DONE(INT1, INT2, INT3, INT4, INT5, INT6, INT7) do {} while (0) +#define TRACE_POSTGRESQL_BUFFER_EXTEND_DONE_ENABLED() (0) #define TRACE_POSTGRESQL_BUFFER_CHECKPOINT_START(INT1) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_CHECKPOINT_START_ENABLED() (0) #define TRACE_POSTGRESQL_BUFFER_CHECKPOINT_SYNC_START() do {} while (0) @@ -70,10 +74,6 @@ #define TRACE_POSTGRESQL_BUFFER_SYNC_WRITTEN_ENABLED() (0) #define TRACE_POSTGRESQL_BUFFER_SYNC_DONE(INT1, INT2, INT3) do {} while (0) #define TRACE_POSTGRESQL_BUFFER_SYNC_DONE_ENABLED() (0) -#define TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_START(INT1, INT2, INT3, INT4, INT5) do {} while (0) -#define TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_START_ENABLED() (0) -#define TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_DONE(INT1, INT2, INT3, INT4, INT5) do {} while (0) -#define TRACE_POSTGRESQL_BUFFER_WRITE_DIRTY_DONE_ENABLED() (0) #define TRACE_POSTGRESQL_DEADLOCK_FOUND() do {} while (0) #define TRACE_POSTGRESQL_DEADLOCK_FOUND_ENABLED() (0) #define TRACE_POSTGRESQL_CHECKPOINT_START(INT1) do {} while (0) diff --git a/parser/include/postgres/utils/ps_status.h b/parser/include/postgres/utils/ps_status.h new file mode 100644 index 00000000..ff5a2b2b --- /dev/null +++ b/parser/include/postgres/utils/ps_status.h @@ -0,0 +1,47 @@ +/*------------------------------------------------------------------------- + * + * ps_status.h + * + * Declarations for backend/utils/misc/ps_status.c + * + * src/include/utils/ps_status.h + * + *------------------------------------------------------------------------- + */ + +#ifndef PS_STATUS_H +#define PS_STATUS_H + +/* disabled on Windows as the performance overhead can be significant */ +#ifdef WIN32 +#define DEFAULT_UPDATE_PROCESS_TITLE false +#else +#define DEFAULT_UPDATE_PROCESS_TITLE true +#endif + +extern PGDLLIMPORT bool update_process_title; + +extern char **save_ps_display_args(int argc, char **argv); + +extern void init_ps_display(const char *fixed_part); + +extern void set_ps_display_suffix(const char *suffix); + +extern void set_ps_display_remove_suffix(void); + +extern void set_ps_display_with_len(const char *activity, size_t len); + +/* + * set_ps_display + * inlined to allow strlen to be evaluated during compilation when + * passing string constants. + */ +static inline void +set_ps_display(const char *activity) +{ + set_ps_display_with_len(activity, strlen(activity)); +} + +extern const char *get_ps_display(int *displen); + +#endif /* PS_STATUS_H */ diff --git a/parser/include/utils/queryenvironment.h b/parser/include/postgres/utils/queryenvironment.h similarity index 95% rename from parser/include/utils/queryenvironment.h rename to parser/include/postgres/utils/queryenvironment.h index 23a16a91..10a9b6d5 100644 --- a/parser/include/utils/queryenvironment.h +++ b/parser/include/postgres/utils/queryenvironment.h @@ -4,7 +4,7 @@ * Access to functions to mutate the query environment and retrieve the * actual data related to entries (if any). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/queryenvironment.h @@ -19,7 +19,7 @@ typedef enum EphemeralNameRelationType { - ENR_NAMED_TUPLESTORE /* named tuplestore relation; e.g., deltas */ + ENR_NAMED_TUPLESTORE, /* named tuplestore relation; e.g., deltas */ } EphemeralNameRelationType; /* diff --git a/parser/include/utils/regproc.h b/parser/include/postgres/utils/regproc.h similarity index 86% rename from parser/include/utils/regproc.h rename to parser/include/postgres/utils/regproc.h index a36ceba7..53e0298f 100644 --- a/parser/include/utils/regproc.h +++ b/parser/include/postgres/utils/regproc.h @@ -3,7 +3,7 @@ * regproc.h * Functions for the built-in types regproc, regclass, regtype, etc. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/regproc.h @@ -25,10 +25,10 @@ extern char *format_procedure_extended(Oid procedure_oid, bits16 flags); #define FORMAT_OPERATOR_FORCE_QUALIFY 0x02 /* force qualification */ extern char *format_operator_extended(Oid operator_oid, bits16 flags); -extern List *stringToQualifiedNameList(const char *string); +extern List *stringToQualifiedNameList(const char *string, Node *escontext); extern char *format_procedure(Oid procedure_oid); extern char *format_procedure_qualified(Oid procedure_oid); -extern void format_procedure_parts(Oid operator_oid, List **objnames, +extern void format_procedure_parts(Oid procedure_oid, List **objnames, List **objargs, bool missing_ok); extern char *format_operator(Oid operator_oid); diff --git a/parser/include/utils/rel.h b/parser/include/postgres/utils/rel.h similarity index 87% rename from parser/include/utils/rel.h rename to parser/include/postgres/utils/rel.h index 1896a9a0..87002049 100644 --- a/parser/include/utils/rel.h +++ b/parser/include/postgres/utils/rel.h @@ -4,7 +4,7 @@ * POSTGRES relation descriptor (a/k/a relcache entry) definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/rel.h @@ -16,6 +16,7 @@ #include "access/tupdesc.h" #include "access/xlog.h" +#include "catalog/catalog.h" #include "catalog/pg_class.h" #include "catalog/pg_index.h" #include "catalog/pg_publication.h" @@ -23,7 +24,7 @@ #include "partitioning/partdefs.h" #include "rewrite/prs2lock.h" #include "storage/block.h" -#include "storage/relfilenode.h" +#include "storage/relfilelocator.h" #include "storage/smgr.h" #include "utils/relcache.h" #include "utils/reltrigger.h" @@ -53,10 +54,10 @@ typedef LockInfoData *LockInfo; typedef struct RelationData { - RelFileNode rd_node; /* relation physical identifier */ + RelFileLocator rd_locator; /* relation physical identifier */ SMgrRelation rd_smgr; /* cached file handle, or NULL */ int rd_refcnt; /* reference count */ - BackendId rd_backend; /* owning backend id, if temporary relation */ + ProcNumber rd_backend; /* owning backend's proc number, if temp rel */ bool rd_islocaltemp; /* rel is a temp rel of this session */ bool rd_isnailed; /* rel is nailed in cache */ bool rd_isvalid; /* relcache entry is valid */ @@ -66,44 +67,45 @@ typedef struct RelationData /*---------- * rd_createSubid is the ID of the highest subtransaction the rel has - * survived into or zero if the rel or its rd_node was created before the - * current top transaction. (IndexStmt.oldNode leads to the case of a new - * rel with an old rd_node.) rd_firstRelfilenodeSubid is the ID of the - * highest subtransaction an rd_node change has survived into or zero if - * rd_node matches the value it had at the start of the current top + * survived into or zero if the rel or its storage was created before the + * current top transaction. (IndexStmt.oldNumber leads to the case of a new + * rel with an old rd_locator.) rd_firstRelfilelocatorSubid is the ID of the + * highest subtransaction an rd_locator change has survived into or zero if + * rd_locator matches the value it had at the start of the current top * transaction. (Rolling back the subtransaction that - * rd_firstRelfilenodeSubid denotes would restore rd_node to the value it + * rd_firstRelfilelocatorSubid denotes would restore rd_locator to the value it * had at the start of the current top transaction. Rolling back any * lower subtransaction would not.) Their accuracy is critical to * RelationNeedsWAL(). * - * rd_newRelfilenodeSubid is the ID of the highest subtransaction the - * most-recent relfilenode change has survived into or zero if not changed + * rd_newRelfilelocatorSubid is the ID of the highest subtransaction the + * most-recent relfilenumber change has survived into or zero if not changed * in the current transaction (or we have forgotten changing it). This * field is accurate when non-zero, but it can be zero when a relation has - * multiple new relfilenodes within a single transaction, with one of them + * multiple new relfilenumbers within a single transaction, with one of them * occurring in a subsequently aborted subtransaction, e.g. * BEGIN; * TRUNCATE t; * SAVEPOINT save; * TRUNCATE t; * ROLLBACK TO save; - * -- rd_newRelfilenodeSubid is now forgotten + * -- rd_newRelfilelocatorSubid is now forgotten * * If every rd_*Subid field is zero, they are read-only outside - * relcache.c. Files that trigger rd_node changes by updating + * relcache.c. Files that trigger rd_locator changes by updating * pg_class.reltablespace and/or pg_class.relfilenode call - * RelationAssumeNewRelfilenode() to update rd_*Subid. + * RelationAssumeNewRelfilelocator() to update rd_*Subid. * * rd_droppedSubid is the ID of the highest subtransaction that a drop of * the rel has survived into. In entries visible outside relcache.c, this * is always zero. */ SubTransactionId rd_createSubid; /* rel was created in current xact */ - SubTransactionId rd_newRelfilenodeSubid; /* highest subxact changing - * rd_node to current value */ - SubTransactionId rd_firstRelfilenodeSubid; /* highest subxact changing - * rd_node to any value */ + SubTransactionId rd_newRelfilelocatorSubid; /* highest subxact changing + * rd_locator to current value */ + SubTransactionId rd_firstRelfilelocatorSubid; /* highest subxact + * changing rd_locator to + * any value */ SubTransactionId rd_droppedSubid; /* dropped with another Subid set */ Form_pg_class rd_rel; /* RELATION tuple */ @@ -148,17 +150,20 @@ typedef struct RelationData /* data managed by RelationGetIndexList: */ List *rd_indexlist; /* list of OIDs of indexes on relation */ - Oid rd_pkindex; /* OID of primary key, if any */ + Oid rd_pkindex; /* OID of (deferrable?) primary key, if any */ + bool rd_ispkdeferrable; /* is rd_pkindex a deferrable PK? */ Oid rd_replidindex; /* OID of replica identity index, if any */ /* data managed by RelationGetStatExtList: */ List *rd_statlist; /* list of OIDs of extended stats */ /* data managed by RelationGetIndexAttrBitmap: */ - Bitmapset *rd_indexattr; /* identifies columns used in indexes */ + bool rd_attrsvalid; /* are bitmaps of attrs valid? */ Bitmapset *rd_keyattr; /* cols that can be ref'd by foreign keys */ Bitmapset *rd_pkattr; /* cols included in primary key */ Bitmapset *rd_idattr; /* included in replica identity index */ + Bitmapset *rd_hotblockingattr; /* cols blocking HOT update */ + Bitmapset *rd_summarizedattr; /* cols indexed by summarizing indexes */ PublicationDesc *rd_pubdesc; /* publication descriptor, or NULL */ @@ -267,15 +272,27 @@ typedef struct RelationData */ typedef struct ForeignKeyCacheInfo { + pg_node_attr(no_equal, no_read, no_query_jumble) + NodeTag type; - Oid conoid; /* oid of the constraint itself */ - Oid conrelid; /* relation constrained by the foreign key */ - Oid confrelid; /* relation referenced by the foreign key */ - int nkeys; /* number of columns in the foreign key */ - /* these arrays each have nkeys valid entries: */ - AttrNumber conkey[INDEX_MAX_KEYS]; /* cols in referencing table */ - AttrNumber confkey[INDEX_MAX_KEYS]; /* cols in referenced table */ - Oid conpfeqop[INDEX_MAX_KEYS]; /* PK = FK operator OIDs */ + /* oid of the constraint itself */ + Oid conoid; + /* relation constrained by the foreign key */ + Oid conrelid; + /* relation referenced by the foreign key */ + Oid confrelid; + /* number of columns in the foreign key */ + int nkeys; + + /* + * these arrays each have nkeys valid entries: + */ + /* cols in referencing table */ + AttrNumber conkey[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); + /* cols in referenced table */ + AttrNumber confkey[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); + /* PK = FK operator OIDs */ + Oid conpfeqop[INDEX_MAX_KEYS] pg_node_attr(array_size(nkeys)); } ForeignKeyCacheInfo; @@ -313,7 +330,7 @@ typedef enum StdRdOptIndexCleanup { STDRD_OPTION_VACUUM_INDEX_CLEANUP_AUTO = 0, STDRD_OPTION_VACUUM_INDEX_CLEANUP_OFF, - STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON + STDRD_OPTION_VACUUM_INDEX_CLEANUP_ON, } StdRdOptIndexCleanup; typedef struct StdRdOptions @@ -386,7 +403,7 @@ typedef enum ViewOptCheckOption { VIEW_OPTION_CHECK_OPTION_NOT_SET, VIEW_OPTION_CHECK_OPTION_LOCAL, - VIEW_OPTION_CHECK_OPTION_CASCADED + VIEW_OPTION_CHECK_OPTION_CASCADED, } ViewOptCheckOption; /* @@ -531,48 +548,47 @@ typedef struct ViewOptions /* * RelationIsMapped - * True if the relation uses the relfilenode map. Note multiple eval + * True if the relation uses the relfilenumber map. Note multiple eval * of argument! */ #define RelationIsMapped(relation) \ (RELKIND_HAS_STORAGE((relation)->rd_rel->relkind) && \ - ((relation)->rd_rel->relfilenode == InvalidOid)) + ((relation)->rd_rel->relfilenode == InvalidRelFileNumber)) +#ifndef FRONTEND /* * RelationGetSmgr * Returns smgr file handle for a relation, opening it if needed. * * Very little code is authorized to touch rel->rd_smgr directly. Instead * use this function to fetch its value. - * - * Note: since a relcache flush can cause the file handle to be closed again, - * it's unwise to hold onto the pointer returned by this function for any - * long period. Recommended practice is to just re-execute RelationGetSmgr - * each time you need to access the SMgrRelation. It's quite cheap in - * comparison to whatever an smgr function is going to do. */ static inline SMgrRelation RelationGetSmgr(Relation rel) { if (unlikely(rel->rd_smgr == NULL)) - smgrsetowner(&(rel->rd_smgr), smgropen(rel->rd_node, rel->rd_backend)); + { + rel->rd_smgr = smgropen(rel->rd_locator, rel->rd_backend); + smgrpin(rel->rd_smgr); + } return rel->rd_smgr; } /* * RelationCloseSmgr * Close the relation at the smgr level, if not already done. - * - * Note: smgrclose should unhook from owner pointer, hence the Assert. */ -#define RelationCloseSmgr(relation) \ - do { \ - if ((relation)->rd_smgr != NULL) \ - { \ - smgrclose((relation)->rd_smgr); \ - Assert((relation)->rd_smgr == NULL); \ - } \ - } while (0) +static inline void +RelationCloseSmgr(Relation relation) +{ + if (relation->rd_smgr != NULL) + { + smgrunpin(relation->rd_smgr); + smgrclose(relation->rd_smgr); + relation->rd_smgr = NULL; + } +} +#endif /* !FRONTEND */ /* * RelationGetTargetBlock @@ -607,12 +623,12 @@ RelationGetSmgr(Relation rel) * * Returns false if wal_level = minimal and this relation is created or * truncated in the current transaction. See "Skipping WAL for New - * RelFileNode" in src/backend/access/transam/README. + * RelFileLocator" in src/backend/access/transam/README. */ #define RelationNeedsWAL(relation) \ (RelationIsPermanent(relation) && (XLogIsNeeded() || \ (relation->rd_createSubid == InvalidSubTransactionId && \ - relation->rd_firstRelfilenodeSubid == InvalidSubTransactionId))) + relation->rd_firstRelfilelocatorSubid == InvalidSubTransactionId))) /* * RelationUsesLocalBuffers diff --git a/parser/include/utils/relcache.h b/parser/include/postgres/utils/relcache.h similarity index 89% rename from parser/include/utils/relcache.h rename to parser/include/postgres/utils/relcache.h index c93d8654..18c32ea7 100644 --- a/parser/include/utils/relcache.h +++ b/parser/include/postgres/utils/relcache.h @@ -4,7 +4,7 @@ * Relation descriptor cache definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/relcache.h @@ -15,6 +15,7 @@ #define RELCACHE_H #include "access/tupdesc.h" +#include "common/relpath.h" #include "nodes/bitmapset.h" @@ -50,15 +51,18 @@ extern Oid RelationGetReplicaIndex(Relation relation); extern List *RelationGetIndexExpressions(Relation relation); extern List *RelationGetDummyIndexExpressions(Relation relation); extern List *RelationGetIndexPredicate(Relation relation); -extern Datum *RelationGetIndexRawAttOptions(Relation relation); extern bytea **RelationGetIndexAttOptions(Relation relation, bool copy); +/* + * Which set of columns to return by RelationGetIndexAttrBitmap. + */ typedef enum IndexAttrBitmapKind { - INDEX_ATTR_BITMAP_ALL, INDEX_ATTR_BITMAP_KEY, INDEX_ATTR_BITMAP_PRIMARY_KEY, - INDEX_ATTR_BITMAP_IDENTITY_KEY + INDEX_ATTR_BITMAP_IDENTITY_KEY, + INDEX_ATTR_BITMAP_HOT_BLOCKING, + INDEX_ATTR_BITMAP_SUMMARIZED, } IndexAttrBitmapKind; extern Bitmapset *RelationGetIndexAttrBitmap(Relation relation, @@ -103,7 +107,7 @@ extern Relation RelationBuildLocalRelation(const char *relname, TupleDesc tupDesc, Oid relid, Oid accessmtd, - Oid relfilenode, + RelFileNumber relfilenumber, Oid reltablespace, bool shared_relation, bool mapped_relation, @@ -111,10 +115,10 @@ extern Relation RelationBuildLocalRelation(const char *relname, char relkind); /* - * Routines to manage assignment of new relfilenode to a relation + * Routines to manage assignment of new relfilenumber to a relation */ -extern void RelationSetNewRelfilenode(Relation relation, char persistence); -extern void RelationAssumeNewRelfilenode(Relation relation); +extern void RelationSetNewRelfilenumber(Relation relation, char persistence); +extern void RelationAssumeNewRelfilelocator(Relation relation); /* * Routines for flushing/rebuilding relcache entries in various scenarios @@ -125,8 +129,6 @@ extern void RelationCacheInvalidateEntry(Oid relationId); extern void RelationCacheInvalidate(bool debug_discard); -extern void RelationCloseSmgrByOid(Oid relationId); - #ifdef USE_ASSERT_CHECKING extern void AssertPendingSyncs_RelationCache(void); #else diff --git a/parser/include/utils/reltrigger.h b/parser/include/postgres/utils/reltrigger.h similarity index 97% rename from parser/include/utils/reltrigger.h rename to parser/include/postgres/utils/reltrigger.h index 9bac164a..dfef4c05 100644 --- a/parser/include/utils/reltrigger.h +++ b/parser/include/postgres/utils/reltrigger.h @@ -4,7 +4,7 @@ * POSTGRES relation trigger definitions. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/reltrigger.h diff --git a/parser/include/postgres/utils/resowner.h b/parser/include/postgres/utils/resowner.h new file mode 100644 index 00000000..4e534bc3 --- /dev/null +++ b/parser/include/postgres/utils/resowner.h @@ -0,0 +1,167 @@ +/*------------------------------------------------------------------------- + * + * resowner.h + * POSTGRES resource owner definitions. + * + * Query-lifespan resources are tracked by associating them with + * ResourceOwner objects. This provides a simple mechanism for ensuring + * that such resources are freed at the right time. + * See utils/resowner/README for more info. + * + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/utils/resowner.h + * + *------------------------------------------------------------------------- + */ +#ifndef RESOWNER_H +#define RESOWNER_H + + +/* + * ResourceOwner objects are an opaque data structure known only within + * resowner.c. + */ +typedef struct ResourceOwnerData *ResourceOwner; + + +/* + * Globally known ResourceOwners + */ +extern PGDLLIMPORT ResourceOwner CurrentResourceOwner; +extern PGDLLIMPORT ResourceOwner CurTransactionResourceOwner; +extern PGDLLIMPORT ResourceOwner TopTransactionResourceOwner; +extern PGDLLIMPORT ResourceOwner AuxProcessResourceOwner; + +/* + * Resource releasing is done in three phases: pre-locks, locks, and + * post-locks. The pre-lock phase must release any resources that are visible + * to other backends (such as pinned buffers); this ensures that when we + * release a lock that another backend may be waiting on, it will see us as + * being fully out of our transaction. The post-lock phase should be used for + * backend-internal cleanup. + * + * Within each phase, resources are released in priority order. Priority is + * just an integer specified in ResourceOwnerDesc. The priorities of built-in + * resource types are given below, extensions may use any priority relative to + * those or RELEASE_PRIO_FIRST/LAST. RELEASE_PRIO_FIRST is a fine choice if + * your resource doesn't depend on any other resources. + */ +typedef enum +{ + RESOURCE_RELEASE_BEFORE_LOCKS = 1, + RESOURCE_RELEASE_LOCKS, + RESOURCE_RELEASE_AFTER_LOCKS, +} ResourceReleasePhase; + +typedef uint32 ResourceReleasePriority; + +/* priorities of built-in BEFORE_LOCKS resources */ +#define RELEASE_PRIO_BUFFER_IOS 100 +#define RELEASE_PRIO_BUFFER_PINS 200 +#define RELEASE_PRIO_RELCACHE_REFS 300 +#define RELEASE_PRIO_DSMS 400 +#define RELEASE_PRIO_JIT_CONTEXTS 500 +#define RELEASE_PRIO_CRYPTOHASH_CONTEXTS 600 +#define RELEASE_PRIO_HMAC_CONTEXTS 700 + +/* priorities of built-in AFTER_LOCKS resources */ +#define RELEASE_PRIO_CATCACHE_REFS 100 +#define RELEASE_PRIO_CATCACHE_LIST_REFS 200 +#define RELEASE_PRIO_PLANCACHE_REFS 300 +#define RELEASE_PRIO_TUPDESC_REFS 400 +#define RELEASE_PRIO_SNAPSHOT_REFS 500 +#define RELEASE_PRIO_FILES 600 +#define RELEASE_PRIO_WAITEVENTSETS 700 + +/* 0 is considered invalid */ +#define RELEASE_PRIO_FIRST 1 +#define RELEASE_PRIO_LAST UINT32_MAX + +/* + * In order to track an object, resowner.c needs a few callbacks for it. + * The callbacks for resources of a specific kind are encapsulated in + * ResourceOwnerDesc. + * + * Note that the callbacks occur post-commit or post-abort, so the callback + * functions can only do noncritical cleanup and must not fail. + */ +typedef struct ResourceOwnerDesc +{ + const char *name; /* name for the object kind, for debugging */ + + /* when are these objects released? */ + ResourceReleasePhase release_phase; + ResourceReleasePriority release_priority; + + /* + * Release resource. + * + * This is called for each resource in the resource owner, in the order + * specified by 'release_phase' and 'release_priority' when the whole + * resource owner is been released or when ResourceOwnerReleaseAllOfKind() + * is called. The resource is implicitly removed from the owner, the + * callback function doesn't need to call ResourceOwnerForget. + */ + void (*ReleaseResource) (Datum res); + + /* + * Format a string describing the resource, for debugging purposes. If a + * resource has not been properly released before commit, this is used to + * print a WARNING. + * + * This can be left to NULL, in which case a generic "[resource name]: %p" + * format is used. + */ + char *(*DebugPrint) (Datum res); + +} ResourceOwnerDesc; + +/* + * Dynamically loaded modules can get control during ResourceOwnerRelease + * by providing a callback of this form. + */ +typedef void (*ResourceReleaseCallback) (ResourceReleasePhase phase, + bool isCommit, + bool isTopLevel, + void *arg); + + +/* + * Functions in resowner.c + */ + +/* generic routines */ +extern ResourceOwner ResourceOwnerCreate(ResourceOwner parent, + const char *name); +extern void ResourceOwnerRelease(ResourceOwner owner, + ResourceReleasePhase phase, + bool isCommit, + bool isTopLevel); +extern void ResourceOwnerDelete(ResourceOwner owner); +extern ResourceOwner ResourceOwnerGetParent(ResourceOwner owner); +extern void ResourceOwnerNewParent(ResourceOwner owner, + ResourceOwner newparent); + +extern void ResourceOwnerEnlarge(ResourceOwner owner); +extern void ResourceOwnerRemember(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind); +extern void ResourceOwnerForget(ResourceOwner owner, Datum value, const ResourceOwnerDesc *kind); + +extern void ResourceOwnerReleaseAllOfKind(ResourceOwner owner, const ResourceOwnerDesc *kind); + +extern void RegisterResourceReleaseCallback(ResourceReleaseCallback callback, + void *arg); +extern void UnregisterResourceReleaseCallback(ResourceReleaseCallback callback, + void *arg); + +extern void CreateAuxProcessResourceOwner(void); +extern void ReleaseAuxProcessResources(bool isCommit); + +/* special support for local lock management */ +struct LOCALLOCK; +extern void ResourceOwnerRememberLock(ResourceOwner owner, struct LOCALLOCK *locallock); +extern void ResourceOwnerForgetLock(ResourceOwner owner, struct LOCALLOCK *locallock); + +#endif /* RESOWNER_H */ diff --git a/parser/include/utils/ruleutils.h b/parser/include/postgres/utils/ruleutils.h similarity index 84% rename from parser/include/utils/ruleutils.h rename to parser/include/postgres/utils/ruleutils.h index 7d489718..161fb5ef 100644 --- a/parser/include/utils/ruleutils.h +++ b/parser/include/postgres/utils/ruleutils.h @@ -3,7 +3,7 @@ * ruleutils.h * Declarations for ruleutils.c * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/ruleutils.h @@ -20,9 +20,14 @@ struct Plan; /* avoid including plannodes.h here */ struct PlannedStmt; +/* Flags for pg_get_indexdef_columns_extended() */ +#define RULE_INDEXDEF_PRETTY 0x01 +#define RULE_INDEXDEF_KEYS_ONLY 0x02 /* ignore included attributes */ extern char *pg_get_indexdef_string(Oid indexrelid); extern char *pg_get_indexdef_columns(Oid indexrelid, bool pretty); +extern char *pg_get_indexdef_columns_extended(Oid indexrelid, + bits16 flags); extern char *pg_get_querydef(Query *query, bool pretty); extern char *pg_get_partkeydef_columns(Oid relid, bool pretty); diff --git a/parser/include/utils/sharedtuplestore.h b/parser/include/postgres/utils/sharedtuplestore.h similarity index 96% rename from parser/include/utils/sharedtuplestore.h rename to parser/include/postgres/utils/sharedtuplestore.h index 79be13d5..dcf676ff 100644 --- a/parser/include/utils/sharedtuplestore.h +++ b/parser/include/postgres/utils/sharedtuplestore.h @@ -3,7 +3,7 @@ * sharedtuplestore.h * Simple mechanism for sharing tuples between backends. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/sharedtuplestore.h diff --git a/parser/include/utils/snapmgr.h b/parser/include/postgres/utils/snapmgr.h similarity index 69% rename from parser/include/utils/snapmgr.h rename to parser/include/postgres/utils/snapmgr.h index 67b217b1..9398a840 100644 --- a/parser/include/utils/snapmgr.h +++ b/parser/include/postgres/utils/snapmgr.h @@ -3,7 +3,7 @@ * snapmgr.h * POSTGRES snapshot manager * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/snapmgr.h @@ -19,40 +19,6 @@ #include "utils/snapshot.h" -/* - * The structure used to map times to TransactionId values for the "snapshot - * too old" feature must have a few entries at the tail to hold old values; - * otherwise the lookup will often fail and the expected early pruning or - * vacuum will not usually occur. It is best if this padding is for a number - * of minutes greater than a thread would normally be stalled, but it's OK if - * early vacuum opportunities are occasionally missed, so there's no need to - * use an extreme value or get too fancy. 10 minutes seems plenty. - */ -#define OLD_SNAPSHOT_PADDING_ENTRIES 10 -#define OLD_SNAPSHOT_TIME_MAP_ENTRIES (old_snapshot_threshold + OLD_SNAPSHOT_PADDING_ENTRIES) - -/* - * Common definition of relation properties that allow early pruning/vacuuming - * when old_snapshot_threshold >= 0. - */ -#define RelationAllowsEarlyPruning(rel) \ -( \ - RelationIsPermanent(rel) && !IsCatalogRelation(rel) \ - && !RelationIsAccessibleInLogicalDecoding(rel) \ -) - -#define EarlyPruningEnabled(rel) (old_snapshot_threshold >= 0 && RelationAllowsEarlyPruning(rel)) - -/* GUC variables */ -extern PGDLLIMPORT int old_snapshot_threshold; - - -extern Size SnapMgrShmemSize(void); -extern void SnapMgrInit(void); -extern TimestampTz GetSnapshotCurrentTimestamp(void); -extern TimestampTz GetOldSnapshotThresholdTimestamp(void); -extern void SnapshotTooOldMagicForTest(void); - extern PGDLLIMPORT bool FirstSnapshotSet; extern PGDLLIMPORT TransactionId TransactionXmin; @@ -97,12 +63,6 @@ extern PGDLLIMPORT SnapshotData CatalogSnapshotData; ((snapshot)->snapshot_type == SNAPSHOT_MVCC || \ (snapshot)->snapshot_type == SNAPSHOT_HISTORIC_MVCC) -static inline bool -OldSnapshotThresholdActive(void) -{ - return old_snapshot_threshold >= 0; -} - extern Snapshot GetTransactionSnapshot(void); extern Snapshot GetLatestSnapshot(void); extern void SnapshotSetCommandId(CommandId curcid); @@ -136,13 +96,6 @@ extern void DeleteAllExportedSnapshotFiles(void); extern void WaitForOlderSnapshots(TransactionId limitXmin, bool progress); extern bool ThereAreNoPriorRegisteredSnapshots(void); extern bool HaveRegisteredOrActiveSnapshot(void); -extern bool TransactionIdLimitedForOldSnapshots(TransactionId recentXmin, - Relation relation, - TransactionId *limit_xid, - TimestampTz *limit_ts); -extern void SetOldSnapshotThresholdTimestamp(TimestampTz ts, TransactionId xlimit); -extern void MaintainOldSnapshotTimeMapping(TimestampTz whenTaken, - TransactionId xmin); extern char *ExportSnapshot(Snapshot snapshot); @@ -154,8 +107,6 @@ typedef struct GlobalVisState GlobalVisState; extern GlobalVisState *GlobalVisTestFor(Relation rel); extern bool GlobalVisTestIsRemovableXid(GlobalVisState *state, TransactionId xid); extern bool GlobalVisTestIsRemovableFullXid(GlobalVisState *state, FullTransactionId fxid); -extern FullTransactionId GlobalVisTestNonRemovableFullHorizon(GlobalVisState *state); -extern TransactionId GlobalVisTestNonRemovableHorizon(GlobalVisState *state); extern bool GlobalVisCheckRemovableXid(Relation rel, TransactionId xid); extern bool GlobalVisCheckRemovableFullXid(Relation rel, FullTransactionId fxid); @@ -167,7 +118,7 @@ extern bool XidInMVCCSnapshot(TransactionId xid, Snapshot snapshot); /* Support for catalog timetravel for logical decoding */ struct HTAB; extern struct HTAB *HistoricSnapshotGetTupleCids(void); -extern void SetupHistoricSnapshot(Snapshot snapshot_now, struct HTAB *tuplecids); +extern void SetupHistoricSnapshot(Snapshot historic_snapshot, struct HTAB *tuplecids); extern void TeardownHistoricSnapshot(bool is_error); extern bool HistoricSnapshotActive(void); diff --git a/parser/include/utils/snapshot.h b/parser/include/postgres/utils/snapshot.h similarity index 98% rename from parser/include/utils/snapshot.h rename to parser/include/postgres/utils/snapshot.h index 4e96f1af..8d1e31e8 100644 --- a/parser/include/utils/snapshot.h +++ b/parser/include/postgres/utils/snapshot.h @@ -3,7 +3,7 @@ * snapshot.h * POSTGRES snapshot definition * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/snapshot.h @@ -115,7 +115,7 @@ typedef enum SnapshotType * For visibility checks snapshot->min must have been set up with the xmin * horizon to use. */ - SNAPSHOT_NON_VACUUMABLE + SNAPSHOT_NON_VACUUMABLE, } SnapshotType; typedef struct SnapshotData *Snapshot; diff --git a/parser/include/utils/sortsupport.h b/parser/include/postgres/utils/sortsupport.h similarity index 98% rename from parser/include/utils/sortsupport.h rename to parser/include/postgres/utils/sortsupport.h index 8c36cf8d..4bf99584 100644 --- a/parser/include/utils/sortsupport.h +++ b/parser/include/postgres/utils/sortsupport.h @@ -42,7 +42,7 @@ * function for such cases, but probably not any other acceleration method. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/sortsupport.h @@ -372,7 +372,7 @@ ApplySortAbbrevFullComparator(Datum datum1, bool isNull1, /* * Datum comparison functions that we have specialized sort routines for. - * Datatypes that install these as their comparator or abbrevated comparator + * Datatypes that install these as their comparator or abbreviated comparator * are eligible for faster sorting. */ extern int ssup_datum_unsigned_cmp(Datum x, Datum y, SortSupport ssup); diff --git a/parser/include/utils/syscache.h b/parser/include/postgres/utils/syscache.h similarity index 75% rename from parser/include/utils/syscache.h rename to parser/include/postgres/utils/syscache.h index 4463ea66..b541911c 100644 --- a/parser/include/utils/syscache.h +++ b/parser/include/postgres/utils/syscache.h @@ -6,7 +6,7 @@ * See also lsyscache.h, which provides convenience routines for * common cache-lookup operations. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/syscache.h @@ -20,103 +20,7 @@ #include "access/htup.h" /* we intentionally do not include utils/catcache.h here */ -/* - * SysCache identifiers. - * - * The order of these identifiers must match the order - * of the entries in the array cacheinfo[] in syscache.c. - * Keep them in alphabetical order (renumbering only costs a - * backend rebuild). - */ - -enum SysCacheIdentifier -{ - AGGFNOID = 0, - AMNAME, - AMOID, - AMOPOPID, - AMOPSTRATEGY, - AMPROCNUM, - ATTNAME, - ATTNUM, - AUTHMEMMEMROLE, - AUTHMEMROLEMEM, - AUTHNAME, - AUTHOID, - CASTSOURCETARGET, - CLAAMNAMENSP, - CLAOID, - COLLNAMEENCNSP, - COLLOID, - CONDEFAULT, - CONNAMENSP, - CONSTROID, - CONVOID, - DATABASEOID, - DEFACLROLENSPOBJ, - ENUMOID, - ENUMTYPOIDNAME, - EVENTTRIGGERNAME, - EVENTTRIGGEROID, - FOREIGNDATAWRAPPERNAME, - FOREIGNDATAWRAPPEROID, - FOREIGNSERVERNAME, - FOREIGNSERVEROID, - FOREIGNTABLEREL, - INDEXRELID, - LANGNAME, - LANGOID, - NAMESPACENAME, - NAMESPACEOID, - OPERNAMENSP, - OPEROID, - OPFAMILYAMNAMENSP, - OPFAMILYOID, - PARAMETERACLNAME, - PARAMETERACLOID, - PARTRELID, - PROCNAMEARGSNSP, - PROCOID, - PUBLICATIONNAME, - PUBLICATIONNAMESPACE, - PUBLICATIONNAMESPACEMAP, - PUBLICATIONOID, - PUBLICATIONREL, - PUBLICATIONRELMAP, - RANGEMULTIRANGE, - RANGETYPE, - RELNAMENSP, - RELOID, - REPLORIGIDENT, - REPLORIGNAME, - RULERELNAME, - SEQRELID, - STATEXTDATASTXOID, - STATEXTNAMENSP, - STATEXTOID, - STATRELATTINH, - SUBSCRIPTIONNAME, - SUBSCRIPTIONOID, - SUBSCRIPTIONRELMAP, - TABLESPACEOID, - TRFOID, - TRFTYPELANG, - TSCONFIGMAP, - TSCONFIGNAMENSP, - TSCONFIGOID, - TSDICTNAMENSP, - TSDICTOID, - TSPARSERNAMENSP, - TSPARSEROID, - TSTEMPLATENAMENSP, - TSTEMPLATEOID, - TYPENAMENSP, - TYPEOID, - USERMAPPINGOID, - USERMAPPINGUSERSERVER - -#define SysCacheSize (USERMAPPINGUSERSERVER + 1) -}; +#include "catalog/syscache_ids.h" extern void InitCatalogCache(void); extern void InitCatalogCachePhase2(void); @@ -139,9 +43,14 @@ extern HeapTuple SearchSysCache4(int cacheId, extern void ReleaseSysCache(HeapTuple tuple); +extern HeapTuple SearchSysCacheLocked1(int cacheId, + Datum key1); + /* convenience routines */ extern HeapTuple SearchSysCacheCopy(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4); +extern HeapTuple SearchSysCacheLockedCopy1(int cacheId, + Datum key1); extern bool SearchSysCacheExists(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4); extern Oid GetSysCacheOid(int cacheId, AttrNumber oidcol, @@ -157,6 +66,9 @@ extern HeapTuple SearchSysCacheCopyAttNum(Oid relid, int16 attnum); extern Datum SysCacheGetAttr(int cacheId, HeapTuple tup, AttrNumber attributeNumber, bool *isNull); +extern Datum SysCacheGetAttrNotNull(int cacheId, HeapTuple tup, + AttrNumber attributeNumber); + extern uint32 GetSysCacheHashValue(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4); diff --git a/parser/include/utils/timeout.h b/parser/include/postgres/utils/timeout.h similarity index 96% rename from parser/include/utils/timeout.h rename to parser/include/postgres/utils/timeout.h index c068986d..a5d8f078 100644 --- a/parser/include/utils/timeout.h +++ b/parser/include/postgres/utils/timeout.h @@ -4,7 +4,7 @@ * Routines to multiplex SIGALRM interrupts for multiple timeout reasons. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/timeout.h @@ -31,6 +31,7 @@ typedef enum TimeoutId STANDBY_TIMEOUT, STANDBY_LOCK_TIMEOUT, IDLE_IN_TRANSACTION_SESSION_TIMEOUT, + TRANSACTION_TIMEOUT, IDLE_SESSION_TIMEOUT, IDLE_STATS_UPDATE_TIMEOUT, CLIENT_CONNECTION_CHECK_TIMEOUT, @@ -51,7 +52,7 @@ typedef enum TimeoutType { TMPARAM_AFTER, TMPARAM_AT, - TMPARAM_EVERY + TMPARAM_EVERY, } TimeoutType; typedef struct diff --git a/parser/include/utils/timestamp.h b/parser/include/postgres/utils/timestamp.h similarity index 81% rename from parser/include/utils/timestamp.h rename to parser/include/postgres/utils/timestamp.h index edf3a973..a6ce03ed 100644 --- a/parser/include/utils/timestamp.h +++ b/parser/include/postgres/utils/timestamp.h @@ -3,7 +3,7 @@ * timestamp.h * Definitions for the SQL "timestamp" and "interval" types. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/timestamp.h @@ -19,18 +19,46 @@ /* - * Macros for fmgr-callable functions. + * Functions for fmgr-callable functions. * * For Timestamp, we make use of the same support routines as for int64. * Therefore Timestamp is pass-by-reference if and only if int64 is! */ -#define DatumGetTimestamp(X) ((Timestamp) DatumGetInt64(X)) -#define DatumGetTimestampTz(X) ((TimestampTz) DatumGetInt64(X)) -#define DatumGetIntervalP(X) ((Interval *) DatumGetPointer(X)) - -#define TimestampGetDatum(X) Int64GetDatum(X) -#define TimestampTzGetDatum(X) Int64GetDatum(X) -#define IntervalPGetDatum(X) PointerGetDatum(X) +static inline Timestamp +DatumGetTimestamp(Datum X) +{ + return (Timestamp) DatumGetInt64(X); +} + +static inline TimestampTz +DatumGetTimestampTz(Datum X) +{ + return (TimestampTz) DatumGetInt64(X); +} + +static inline Interval * +DatumGetIntervalP(Datum X) +{ + return (Interval *) DatumGetPointer(X); +} + +static inline Datum +TimestampGetDatum(Timestamp X) +{ + return Int64GetDatum(X); +} + +static inline Datum +TimestampTzGetDatum(TimestampTz X) +{ + return Int64GetDatum(X); +} + +static inline Datum +IntervalPGetDatum(const Interval *X) +{ + return PointerGetDatum(X); +} #define PG_GETARG_TIMESTAMP(n) DatumGetTimestamp(PG_GETARG_DATUM(n)) #define PG_GETARG_TIMESTAMPTZ(n) DatumGetTimestampTz(PG_GETARG_DATUM(n)) @@ -53,7 +81,9 @@ #define INTERVAL_PRECISION(t) ((t) & INTERVAL_PRECISION_MASK) #define INTERVAL_RANGE(t) (((t) >> 16) & INTERVAL_RANGE_MASK) +/* Macros for doing timestamp arithmetic without assuming timestamp's units */ #define TimestampTzPlusMilliseconds(tz,ms) ((tz) + ((ms) * (int64) 1000)) +#define TimestampTzPlusSeconds(tz,s) ((tz) + ((s) * (int64) 1000000)) /* Set at postmaster start */ @@ -83,10 +113,10 @@ extern pg_time_t timestamptz_to_time_t(TimestampTz t); extern const char *timestamptz_to_str(TimestampTz t); -extern int tm2timestamp(struct pg_tm *tm, fsec_t fsec, int *tzp, Timestamp *dt); +extern int tm2timestamp(struct pg_tm *tm, fsec_t fsec, int *tzp, Timestamp *result); extern int timestamp2tm(Timestamp dt, int *tzp, struct pg_tm *tm, fsec_t *fsec, const char **tzn, pg_tz *attimezone); -extern void dt2time(Timestamp dt, int *hour, int *min, int *sec, fsec_t *fsec); +extern void dt2time(Timestamp jd, int *hour, int *min, int *sec, fsec_t *fsec); extern void interval2itm(Interval span, struct pg_itm *itm); extern int itm2interval(struct pg_itm *itm, Interval *span); diff --git a/parser/include/utils/tuplesort.h b/parser/include/postgres/utils/tuplesort.h similarity index 61% rename from parser/include/utils/tuplesort.h rename to parser/include/postgres/utils/tuplesort.h index a2eaeabe..cde83f62 100644 --- a/parser/include/utils/tuplesort.h +++ b/parser/include/postgres/utils/tuplesort.h @@ -11,7 +11,7 @@ * algorithm. Parallel sorts use a variant of this external sort * algorithm, and are typically only used for large amounts of data. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/tuplesort.h @@ -21,10 +21,13 @@ #ifndef TUPLESORT_H #define TUPLESORT_H +#include "access/brin_tuple.h" #include "access/itup.h" #include "executor/tuptable.h" #include "storage/dsm.h" +#include "utils/logtape.h" #include "utils/relcache.h" +#include "utils/sortsupport.h" /* @@ -75,7 +78,7 @@ typedef enum SORT_TYPE_TOP_N_HEAPSORT = 1 << 0, SORT_TYPE_QUICKSORT = 1 << 1, SORT_TYPE_EXTERNAL_SORT = 1 << 2, - SORT_TYPE_EXTERNAL_MERGE = 1 << 3 + SORT_TYPE_EXTERNAL_MERGE = 1 << 3, } TuplesortMethod; #define NUM_TUPLESORTMETHODS 4 @@ -83,7 +86,7 @@ typedef enum typedef enum { SORT_SPACE_TYPE_DISK, - SORT_SPACE_TYPE_MEMORY + SORT_SPACE_TYPE_MEMORY, } TuplesortSpaceType; /* Bitwise option flags for tuple sorts */ @@ -95,6 +98,15 @@ typedef enum /* specifies if the tuplesort is able to support bounded sorts */ #define TUPLESORT_ALLOWBOUNDED (1 << 1) +/* + * For bounded sort, tuples get pfree'd when they fall outside of the bound. + * When bounded sorts are not required, we can use a bump context for tuple + * allocation as there's no risk that pfree will ever be called for a tuple. + * Define a macro to make it easier for code to figure out if we're using a + * bump allocator. + */ +#define TupleSortUseBumpTupleCxt(opt) (((opt) & TUPLESORT_ALLOWBOUNDED) == 0) + typedef struct TuplesortInstrumentation { TuplesortMethod sortMethod; /* sort algorithm used */ @@ -102,6 +114,156 @@ typedef struct TuplesortInstrumentation int64 spaceUsed; /* space consumption, in kB */ } TuplesortInstrumentation; +/* + * The objects we actually sort are SortTuple structs. These contain + * a pointer to the tuple proper (might be a MinimalTuple or IndexTuple), + * which is a separate palloc chunk --- we assume it is just one chunk and + * can be freed by a simple pfree() (except during merge, where we use a + * simple slab allocator, and during a non-bounded sort where we use a bump + * allocator). SortTuples also contain the tuple's first key column in + * Datum/nullflag format, and a source/input tape number that tracks which + * tape each heap element/slot belongs to during merging. + * + * Storing the first key column lets us save heap_getattr or index_getattr + * calls during tuple comparisons. We could extract and save all the key + * columns not just the first, but this would increase code complexity and + * overhead, and wouldn't actually save any comparison cycles in the common + * case where the first key determines the comparison result. Note that + * for a pass-by-reference datatype, datum1 points into the "tuple" storage. + * + * There is one special case: when the sort support infrastructure provides an + * "abbreviated key" representation, where the key is (typically) a pass by + * value proxy for a pass by reference type. In this case, the abbreviated key + * is stored in datum1 in place of the actual first key column. + * + * When sorting single Datums, the data value is represented directly by + * datum1/isnull1 for pass by value types (or null values). If the datatype is + * pass-by-reference and isnull1 is false, then "tuple" points to a separately + * palloc'd data value, otherwise "tuple" is NULL. The value of datum1 is then + * either the same pointer as "tuple", or is an abbreviated key value as + * described above. Accordingly, "tuple" is always used in preference to + * datum1 as the authoritative value for pass-by-reference cases. + */ +typedef struct +{ + void *tuple; /* the tuple itself */ + Datum datum1; /* value of first key column */ + bool isnull1; /* is first key column NULL? */ + int srctape; /* source tape number */ +} SortTuple; + +typedef int (*SortTupleComparator) (const SortTuple *a, const SortTuple *b, + Tuplesortstate *state); + +/* + * The public part of a Tuple sort operation state. This data structure + * contains the definition of sort-variant-specific interface methods and + * the part of Tuple sort operation state required by their implementations. + */ +typedef struct +{ + /* + * These function pointers decouple the routines that must know what kind + * of tuple we are sorting from the routines that don't need to know it. + * They are set up by the tuplesort_begin_xxx routines. + * + * Function to compare two tuples; result is per qsort() convention, ie: + * <0, 0, >0 according as ab. The API must match + * qsort_arg_comparator. + */ + SortTupleComparator comparetup; + + /* + * Fall back to the full tuple for comparison, but only compare the first + * sortkey if it was abbreviated. Otherwise, only compare second and later + * sortkeys. + */ + SortTupleComparator comparetup_tiebreak; + + /* + * Alter datum1 representation in the SortTuple's array back from the + * abbreviated key to the first column value. + */ + void (*removeabbrev) (Tuplesortstate *state, SortTuple *stups, + int count); + + /* + * Function to write a stored tuple onto tape. The representation of the + * tuple on tape need not be the same as it is in memory. + */ + void (*writetup) (Tuplesortstate *state, LogicalTape *tape, + SortTuple *stup); + + /* + * Function to read a stored tuple from tape back into memory. 'len' is + * the already-read length of the stored tuple. The tuple is allocated + * from the slab memory arena, or is palloc'd, see + * tuplesort_readtup_alloc(). + */ + void (*readtup) (Tuplesortstate *state, SortTuple *stup, + LogicalTape *tape, unsigned int len); + + /* + * Function to do some specific release of resources for the sort variant. + * In particular, this function should free everything stored in the "arg" + * field, which wouldn't be cleared on reset of the Tuple sort memory + * contexts. This can be NULL if nothing specific needs to be done. + */ + void (*freestate) (Tuplesortstate *state); + + /* + * The subsequent fields are used in the implementations of the functions + * above. + */ + MemoryContext maincontext; /* memory context for tuple sort metadata that + * persists across multiple batches */ + MemoryContext sortcontext; /* memory context holding most sort data */ + MemoryContext tuplecontext; /* sub-context of sortcontext for tuple data */ + + /* + * Whether SortTuple's datum1 and isnull1 members are maintained by the + * above routines. If not, some sort specializations are disabled. + */ + bool haveDatum1; + + /* + * The sortKeys variable is used by every case other than the hash index + * case; it is set by tuplesort_begin_xxx. tupDesc is only used by the + * MinimalTuple and CLUSTER routines, though. + */ + int nKeys; /* number of columns in sort key */ + SortSupport sortKeys; /* array of length nKeys */ + + /* + * This variable is shared by the single-key MinimalTuple case and the + * Datum case (which both use qsort_ssup()). Otherwise, it's NULL. The + * presence of a value in this field is also checked by various sort + * specialization functions as an optimization when comparing the leading + * key in a tiebreak situation to determine if there are any subsequent + * keys to sort on. + */ + SortSupport onlyKey; + + int sortopt; /* Bitmask of flags used to setup sort */ + + bool tuples; /* Can SortTuple.tuple ever be set? */ + + void *arg; /* Specific information for the sort variant */ +} TuplesortPublic; + +/* Sort parallel code from state for sort__start probes */ +#define PARALLEL_SORT(coordinate) (coordinate == NULL || \ + (coordinate)->sharedsort == NULL ? 0 : \ + (coordinate)->isWorker ? 1 : 2) + +#define TuplesortstateGetPublic(state) ((TuplesortPublic *) state) + +/* When using this macro, beware of double evaluation of len */ +#define LogicalTapeReadExact(tape, ptr, len) \ + do { \ + if (LogicalTapeRead(tape, ptr, len) != (size_t) (len)) \ + elog(ERROR, "unexpected end of data"); \ + } while(0) /* * We provide multiple interfaces to what is essentially the same code, @@ -131,6 +293,9 @@ typedef struct TuplesortInstrumentation * The "index_hash" API is similar to index_btree, but the tuples are * actually sorted by their hash codes not the raw data. * + * The "index_brin" API is similar to index_btree, but the tuples are + * BrinTuple and are sorted by their block number not the raw data. + * * Parallel sort callers are required to coordinate multiple tuplesort states * in a leader process and one or more worker processes. The leader process * must launch workers, and have each perform an independent "partial" @@ -205,6 +370,50 @@ typedef struct TuplesortInstrumentation * generated (typically, caller uses a parallel heap scan). */ + +extern Tuplesortstate *tuplesort_begin_common(int workMem, + SortCoordinate coordinate, + int sortopt); +extern void tuplesort_set_bound(Tuplesortstate *state, int64 bound); +extern bool tuplesort_used_bound(Tuplesortstate *state); +extern void tuplesort_puttuple_common(Tuplesortstate *state, + SortTuple *tuple, bool useAbbrev, + Size tuplen); +extern void tuplesort_performsort(Tuplesortstate *state); +extern bool tuplesort_gettuple_common(Tuplesortstate *state, bool forward, + SortTuple *stup); +extern bool tuplesort_skiptuples(Tuplesortstate *state, int64 ntuples, + bool forward); +extern void tuplesort_end(Tuplesortstate *state); +extern void tuplesort_reset(Tuplesortstate *state); + +extern void tuplesort_get_stats(Tuplesortstate *state, + TuplesortInstrumentation *stats); +extern const char *tuplesort_method_name(TuplesortMethod m); +extern const char *tuplesort_space_type_name(TuplesortSpaceType t); + +extern int tuplesort_merge_order(int64 allowedMem); + +extern Size tuplesort_estimate_shared(int nWorkers); +extern void tuplesort_initialize_shared(Sharedsort *shared, int nWorkers, + dsm_segment *seg); +extern void tuplesort_attach_shared(Sharedsort *shared, dsm_segment *seg); + +/* + * These routines may only be called if TUPLESORT_RANDOMACCESS was specified + * during tuplesort_begin_*. Additionally backwards scan in gettuple/getdatum + * also require TUPLESORT_RANDOMACCESS. Note that parallel sorts do not + * support random access. + */ +extern void tuplesort_rescan(Tuplesortstate *state); +extern void tuplesort_markpos(Tuplesortstate *state); +extern void tuplesort_restorepos(Tuplesortstate *state); + +extern void *tuplesort_readtup_alloc(Tuplesortstate *state, Size tuplen); + + +/* tuplesortvariants.c */ + extern Tuplesortstate *tuplesort_begin_heap(TupleDesc tupDesc, int nkeys, AttrNumber *attNums, Oid *sortOperators, Oid *sortCollations, @@ -232,60 +441,32 @@ extern Tuplesortstate *tuplesort_begin_index_gist(Relation heapRel, Relation indexRel, int workMem, SortCoordinate coordinate, int sortopt); +extern Tuplesortstate *tuplesort_begin_index_brin(int workMem, SortCoordinate coordinate, + int sortopt); extern Tuplesortstate *tuplesort_begin_datum(Oid datumType, Oid sortOperator, Oid sortCollation, bool nullsFirstFlag, int workMem, SortCoordinate coordinate, int sortopt); -extern void tuplesort_set_bound(Tuplesortstate *state, int64 bound); -extern bool tuplesort_used_bound(Tuplesortstate *state); - extern void tuplesort_puttupleslot(Tuplesortstate *state, TupleTableSlot *slot); extern void tuplesort_putheaptuple(Tuplesortstate *state, HeapTuple tup); extern void tuplesort_putindextuplevalues(Tuplesortstate *state, Relation rel, ItemPointer self, - Datum *values, bool *isnull); + const Datum *values, const bool *isnull); +extern void tuplesort_putbrintuple(Tuplesortstate *state, BrinTuple *tuple, Size size); extern void tuplesort_putdatum(Tuplesortstate *state, Datum val, bool isNull); -extern void tuplesort_performsort(Tuplesortstate *state); - extern bool tuplesort_gettupleslot(Tuplesortstate *state, bool forward, bool copy, TupleTableSlot *slot, Datum *abbrev); extern HeapTuple tuplesort_getheaptuple(Tuplesortstate *state, bool forward); extern IndexTuple tuplesort_getindextuple(Tuplesortstate *state, bool forward); -extern bool tuplesort_getdatum(Tuplesortstate *state, bool forward, +extern BrinTuple *tuplesort_getbrintuple(Tuplesortstate *state, Size *len, + bool forward); +extern bool tuplesort_getdatum(Tuplesortstate *state, bool forward, bool copy, Datum *val, bool *isNull, Datum *abbrev); -extern bool tuplesort_skiptuples(Tuplesortstate *state, int64 ntuples, - bool forward); - -extern void tuplesort_end(Tuplesortstate *state); - -extern void tuplesort_reset(Tuplesortstate *state); - -extern void tuplesort_get_stats(Tuplesortstate *state, - TuplesortInstrumentation *stats); -extern const char *tuplesort_method_name(TuplesortMethod m); -extern const char *tuplesort_space_type_name(TuplesortSpaceType t); - -extern int tuplesort_merge_order(int64 allowedMem); - -extern Size tuplesort_estimate_shared(int nworkers); -extern void tuplesort_initialize_shared(Sharedsort *shared, int nWorkers, - dsm_segment *seg); -extern void tuplesort_attach_shared(Sharedsort *shared, dsm_segment *seg); - -/* - * These routines may only be called if TUPLESORT_RANDOMACCESS was specified - * during tuplesort_begin_*. Additionally backwards scan in gettuple/getdatum - * also require TUPLESORT_RANDOMACCESS. Note that parallel sorts do not - * support random access. - */ -extern void tuplesort_rescan(Tuplesortstate *state); -extern void tuplesort_markpos(Tuplesortstate *state); -extern void tuplesort_restorepos(Tuplesortstate *state); #endif /* TUPLESORT_H */ diff --git a/parser/include/utils/tuplestore.h b/parser/include/postgres/utils/tuplestore.h similarity index 94% rename from parser/include/utils/tuplestore.h rename to parser/include/postgres/utils/tuplestore.h index 01716fb4..419613c1 100644 --- a/parser/include/utils/tuplestore.h +++ b/parser/include/postgres/utils/tuplestore.h @@ -21,7 +21,7 @@ * Also, we have changed the API to return tuples in TupleTableSlots, * so that there is a check to prevent attempted access to system columns. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/tuplestore.h @@ -54,10 +54,7 @@ extern void tuplestore_puttupleslot(Tuplestorestate *state, TupleTableSlot *slot); extern void tuplestore_puttuple(Tuplestorestate *state, HeapTuple tuple); extern void tuplestore_putvalues(Tuplestorestate *state, TupleDesc tdesc, - Datum *values, bool *isnull); - -/* Backwards compatibility macro */ -#define tuplestore_donestoring(state) ((void) 0) + const Datum *values, const bool *isnull); extern int tuplestore_alloc_read_pointer(Tuplestorestate *state, int eflags); diff --git a/parser/include/utils/typcache.h b/parser/include/postgres/utils/typcache.h similarity index 98% rename from parser/include/utils/typcache.h rename to parser/include/postgres/utils/typcache.h index 431ad7f1..f506cc4a 100644 --- a/parser/include/utils/typcache.h +++ b/parser/include/postgres/utils/typcache.h @@ -6,7 +6,7 @@ * The type cache exists to speed lookup of certain information about data * types that is not directly available from a type's pg_type row. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/typcache.h @@ -96,6 +96,7 @@ typedef struct TypeCacheEntry * btree comparison function. */ struct TypeCacheEntry *rngelemtype; /* range's element type */ + Oid rng_opfamily; /* opfamily to use for range comparisons */ Oid rng_collation; /* collation for comparisons, if any */ FmgrInfo rng_cmp_proc_finfo; /* comparison function */ FmgrInfo rng_canonical_finfo; /* canonicalization function, if any */ diff --git a/parser/include/utils/varlena.h b/parser/include/postgres/utils/varlena.h similarity index 77% rename from parser/include/utils/varlena.h rename to parser/include/postgres/utils/varlena.h index c45208a2..e6d90b94 100644 --- a/parser/include/utils/varlena.h +++ b/parser/include/postgres/utils/varlena.h @@ -3,7 +3,7 @@ * varlena.h * Functions for the variable-length built-in types. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/varlena.h @@ -38,4 +38,16 @@ extern text *replace_text_regexp(text *src_text, text *pattern_text, int cflags, Oid collation, int search_start, int n); +typedef struct ClosestMatchState +{ + const char *source; + int min_d; + int max_d; + const char *match; +} ClosestMatchState; + +extern void initClosestMatch(ClosestMatchState *state, const char *source, int max_d); +extern void updateClosestMatch(ClosestMatchState *state, const char *candidate); +extern const char *getClosestMatch(ClosestMatchState *state); + #endif diff --git a/parser/include/postgres/utils/wait_event.h b/parser/include/postgres/utils/wait_event.h new file mode 100644 index 00000000..9f18a753 --- /dev/null +++ b/parser/include/postgres/utils/wait_event.h @@ -0,0 +1,108 @@ +/*------------------------------------------------------------------------- + * wait_event.h + * Definitions related to wait event reporting + * + * Copyright (c) 2001-2024, PostgreSQL Global Development Group + * + * src/include/utils/wait_event.h + * ---------- + */ +#ifndef WAIT_EVENT_H +#define WAIT_EVENT_H + + +/* ---------- + * Wait Classes + * ---------- + */ +#define PG_WAIT_LWLOCK 0x01000000U +#define PG_WAIT_LOCK 0x03000000U +#define PG_WAIT_BUFFERPIN 0x04000000U +#define PG_WAIT_ACTIVITY 0x05000000U +#define PG_WAIT_CLIENT 0x06000000U +#define PG_WAIT_EXTENSION 0x07000000U +#define PG_WAIT_IPC 0x08000000U +#define PG_WAIT_TIMEOUT 0x09000000U +#define PG_WAIT_IO 0x0A000000U +#define PG_WAIT_INJECTIONPOINT 0x0B000000U + +/* enums for wait events */ +#include "utils/wait_event_types.h" + +extern const char *pgstat_get_wait_event(uint32 wait_event_info); +extern const char *pgstat_get_wait_event_type(uint32 wait_event_info); +static inline void pgstat_report_wait_start(uint32 wait_event_info); +static inline void pgstat_report_wait_end(void); +extern void pgstat_set_wait_event_storage(uint32 *wait_event_info); +extern void pgstat_reset_wait_event_storage(void); + +extern PGDLLIMPORT uint32 *my_wait_event_info; + + +/* + * Wait Events - Extension, InjectionPoint + * + * Use InjectionPoint when the server process is waiting in an injection + * point. Use Extension for other cases of the server process waiting for + * some condition defined by an extension module. + * + * Extensions can define their own wait events in these categories. They + * should call one of these functions with a wait event string. If the wait + * event associated to a string is already allocated, it returns the wait + * event information to use. If not, it gets one wait event ID allocated from + * a shared counter, associates the string to the ID in the shared dynamic + * hash and returns the wait event information. + * + * The ID retrieved can be used with pgstat_report_wait_start() or equivalent. + */ +extern uint32 WaitEventExtensionNew(const char *wait_event_name); +extern uint32 WaitEventInjectionPointNew(const char *wait_event_name); + +extern void WaitEventCustomShmemInit(void); +extern Size WaitEventCustomShmemSize(void); +extern char **GetWaitEventCustomNames(uint32 classId, int *nwaitevents); + +/* ---------- + * pgstat_report_wait_start() - + * + * Called from places where server process needs to wait. This is called + * to report wait event information. The wait information is stored + * as 4-bytes where first byte represents the wait event class (type of + * wait, for different types of wait, refer WaitClass) and the next + * 3-bytes represent the actual wait event. Currently 2-bytes are used + * for wait event which is sufficient for current usage, 1-byte is + * reserved for future usage. + * + * Historically we used to make this reporting conditional on + * pgstat_track_activities, but the check for that seems to add more cost + * than it saves. + * + * my_wait_event_info initially points to local memory, making it safe to + * call this before MyProc has been initialized. + * ---------- + */ +static inline void +pgstat_report_wait_start(uint32 wait_event_info) +{ + /* + * Since this is a four-byte field which is always read and written as + * four-bytes, updates are atomic. + */ + *(volatile uint32 *) my_wait_event_info = wait_event_info; +} + +/* ---------- + * pgstat_report_wait_end() - + * + * Called to report end of a wait. + * ---------- + */ +static inline void +pgstat_report_wait_end(void) +{ + /* see pgstat_report_wait_start() */ + *(volatile uint32 *) my_wait_event_info = 0; +} + + +#endif /* WAIT_EVENT_H */ diff --git a/parser/include/utils/wait_event.h b/parser/include/postgres/utils/wait_event_types.h similarity index 57% rename from parser/include/utils/wait_event.h rename to parser/include/postgres/utils/wait_event_types.h index b578e2ec..fdd1e2ea 100644 --- a/parser/include/utils/wait_event.h +++ b/parser/include/postgres/utils/wait_event_types.h @@ -1,38 +1,26 @@ /*------------------------------------------------------------------------- - * wait_event.h - * Definitions related to wait event reporting * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * wait_event_types.h + * Generated wait events infrastructure code * - * src/include/utils/wait_event.h - * ---------- + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * NOTES + * ****************************** + * *** DO NOT EDIT THIS FILE! *** + * ****************************** + * + * It has been GENERATED by src/backend/utils/activity/generate-wait_event_types.pl + * + *------------------------------------------------------------------------- */ -#ifndef WAIT_EVENT_H -#define WAIT_EVENT_H +#ifndef WAIT_EVENT_TYPES_H +#define WAIT_EVENT_TYPES_H -/* ---------- - * Wait Classes - * ---------- - */ -#define PG_WAIT_LWLOCK 0x01000000U -#define PG_WAIT_LOCK 0x03000000U -#define PG_WAIT_BUFFER_PIN 0x04000000U -#define PG_WAIT_ACTIVITY 0x05000000U -#define PG_WAIT_CLIENT 0x06000000U -#define PG_WAIT_EXTENSION 0x07000000U -#define PG_WAIT_IPC 0x08000000U -#define PG_WAIT_TIMEOUT 0x09000000U -#define PG_WAIT_IO 0x0A000000U +#include "utils/wait_event.h" -/* ---------- - * Wait Events - Activity - * - * Use this category when a process is waiting because it has no work to do, - * unless the "Client" or "Timeout" category describes the situation better. - * Typically, this should only be used for background processes. - * ---------- - */ typedef enum { WAIT_EVENT_ARCHIVER_MAIN = PG_WAIT_ACTIVITY, @@ -42,21 +30,22 @@ typedef enum WAIT_EVENT_CHECKPOINTER_MAIN, WAIT_EVENT_LOGICAL_APPLY_MAIN, WAIT_EVENT_LOGICAL_LAUNCHER_MAIN, + WAIT_EVENT_LOGICAL_PARALLEL_APPLY_MAIN, WAIT_EVENT_RECOVERY_WAL_STREAM, + WAIT_EVENT_REPLICATION_SLOTSYNC_MAIN, + WAIT_EVENT_REPLICATION_SLOTSYNC_SHUTDOWN, WAIT_EVENT_SYSLOGGER_MAIN, WAIT_EVENT_WAL_RECEIVER_MAIN, WAIT_EVENT_WAL_SENDER_MAIN, + WAIT_EVENT_WAL_SUMMARIZER_WAL, WAIT_EVENT_WAL_WRITER_MAIN } WaitEventActivity; -/* ---------- - * Wait Events - Client - * - * Use this category when a process is waiting to send data to or receive data - * from the frontend process to which it is connected. This is never used for - * a background process, which has no client connection. - * ---------- - */ +typedef enum +{ + WAIT_EVENT_BUFFER_PIN = PG_WAIT_BUFFERPIN +} WaitEventBufferPin; + typedef enum { WAIT_EVENT_CLIENT_READ = PG_WAIT_CLIENT, @@ -65,104 +54,19 @@ typedef enum WAIT_EVENT_LIBPQWALRECEIVER_CONNECT, WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE, WAIT_EVENT_SSL_OPEN_SERVER, - WAIT_EVENT_WAL_SENDER_WAIT_WAL, - WAIT_EVENT_WAL_SENDER_WRITE_DATA, + WAIT_EVENT_WAIT_FOR_STANDBY_CONFIRMATION, + WAIT_EVENT_WAL_SENDER_WAIT_FOR_WAL, + WAIT_EVENT_WAL_SENDER_WRITE_DATA } WaitEventClient; -/* ---------- - * Wait Events - IPC - * - * Use this category when a process cannot complete the work it is doing because - * it is waiting for a notification from another process. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_APPEND_READY = PG_WAIT_IPC, - WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND, - WAIT_EVENT_ARCHIVE_COMMAND, - WAIT_EVENT_BACKEND_TERMINATION, - WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE, - WAIT_EVENT_BGWORKER_SHUTDOWN, - WAIT_EVENT_BGWORKER_STARTUP, - WAIT_EVENT_BTREE_PAGE, - WAIT_EVENT_BUFFER_IO, - WAIT_EVENT_CHECKPOINT_DONE, - WAIT_EVENT_CHECKPOINT_START, - WAIT_EVENT_EXECUTE_GATHER, - WAIT_EVENT_HASH_BATCH_ALLOCATE, - WAIT_EVENT_HASH_BATCH_ELECT, - WAIT_EVENT_HASH_BATCH_LOAD, - WAIT_EVENT_HASH_BUILD_ALLOCATE, - WAIT_EVENT_HASH_BUILD_ELECT, - WAIT_EVENT_HASH_BUILD_HASH_INNER, - WAIT_EVENT_HASH_BUILD_HASH_OUTER, - WAIT_EVENT_HASH_GROW_BATCHES_ALLOCATE, - WAIT_EVENT_HASH_GROW_BATCHES_DECIDE, - WAIT_EVENT_HASH_GROW_BATCHES_ELECT, - WAIT_EVENT_HASH_GROW_BATCHES_FINISH, - WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION, - WAIT_EVENT_HASH_GROW_BUCKETS_ALLOCATE, - WAIT_EVENT_HASH_GROW_BUCKETS_ELECT, - WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT, - WAIT_EVENT_LOGICAL_SYNC_DATA, - WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE, - WAIT_EVENT_MQ_INTERNAL, - WAIT_EVENT_MQ_PUT_MESSAGE, - WAIT_EVENT_MQ_RECEIVE, - WAIT_EVENT_MQ_SEND, - WAIT_EVENT_PARALLEL_BITMAP_SCAN, - WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN, - WAIT_EVENT_PARALLEL_FINISH, - WAIT_EVENT_PROCARRAY_GROUP_UPDATE, - WAIT_EVENT_PROC_SIGNAL_BARRIER, - WAIT_EVENT_PROMOTE, - WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT, - WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE, - WAIT_EVENT_RECOVERY_END_COMMAND, - WAIT_EVENT_RECOVERY_PAUSE, - WAIT_EVENT_REPLICATION_ORIGIN_DROP, - WAIT_EVENT_REPLICATION_SLOT_DROP, - WAIT_EVENT_RESTORE_COMMAND, - WAIT_EVENT_SAFE_SNAPSHOT, - WAIT_EVENT_SYNC_REP, - WAIT_EVENT_WAL_RECEIVER_EXIT, - WAIT_EVENT_WAL_RECEIVER_WAIT_START, - WAIT_EVENT_XACT_GROUP_UPDATE -} WaitEventIPC; - -/* ---------- - * Wait Events - Timeout - * - * Use this category when a process is waiting for a timeout to expire. - * ---------- - */ -typedef enum -{ - WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT, - WAIT_EVENT_CHECKPOINT_WRITE_DELAY, - WAIT_EVENT_PG_SLEEP, - WAIT_EVENT_RECOVERY_APPLY_DELAY, - WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL, - WAIT_EVENT_REGISTER_SYNC_REQUEST, - WAIT_EVENT_VACUUM_DELAY, - WAIT_EVENT_VACUUM_TRUNCATE -} WaitEventTimeout; - -/* ---------- - * Wait Events - IO - * - * Use this category when a process is waiting for a IO. - * ---------- - */ typedef enum { WAIT_EVENT_BASEBACKUP_READ = PG_WAIT_IO, WAIT_EVENT_BASEBACKUP_SYNC, WAIT_EVENT_BASEBACKUP_WRITE, WAIT_EVENT_BUFFILE_READ, - WAIT_EVENT_BUFFILE_WRITE, WAIT_EVENT_BUFFILE_TRUNCATE, + WAIT_EVENT_BUFFILE_WRITE, WAIT_EVENT_CONTROL_FILE_READ, WAIT_EVENT_CONTROL_FILE_SYNC, WAIT_EVENT_CONTROL_FILE_SYNC_UPDATE, @@ -178,6 +82,7 @@ typedef enum WAIT_EVENT_DATA_FILE_SYNC, WAIT_EVENT_DATA_FILE_TRUNCATE, WAIT_EVENT_DATA_FILE_WRITE, + WAIT_EVENT_DSM_ALLOCATE, WAIT_EVENT_DSM_FILL_ZERO_WRITE, WAIT_EVENT_LOCK_FILE_ADDTODATADIR_READ, WAIT_EVENT_LOCK_FILE_ADDTODATADIR_SYNC, @@ -193,7 +98,7 @@ typedef enum WAIT_EVENT_LOGICAL_REWRITE_TRUNCATE, WAIT_EVENT_LOGICAL_REWRITE_WRITE, WAIT_EVENT_RELATION_MAP_READ, - WAIT_EVENT_RELATION_MAP_SYNC, + WAIT_EVENT_RELATION_MAP_REPLACE, WAIT_EVENT_RELATION_MAP_WRITE, WAIT_EVENT_REORDER_BUFFER_READ, WAIT_EVENT_REORDER_BUFFER_WRITE, @@ -217,6 +122,7 @@ typedef enum WAIT_EVENT_TWOPHASE_FILE_READ, WAIT_EVENT_TWOPHASE_FILE_SYNC, WAIT_EVENT_TWOPHASE_FILE_WRITE, + WAIT_EVENT_VERSION_FILE_SYNC, WAIT_EVENT_VERSION_FILE_WRITE, WAIT_EVENT_WALSENDER_TIMELINE_HISTORY_READ, WAIT_EVENT_WAL_BOOTSTRAP_SYNC, @@ -227,63 +133,86 @@ typedef enum WAIT_EVENT_WAL_INIT_SYNC, WAIT_EVENT_WAL_INIT_WRITE, WAIT_EVENT_WAL_READ, + WAIT_EVENT_WAL_SUMMARY_READ, + WAIT_EVENT_WAL_SUMMARY_WRITE, WAIT_EVENT_WAL_SYNC, WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN, WAIT_EVENT_WAL_WRITE } WaitEventIO; - -extern const char *pgstat_get_wait_event(uint32 wait_event_info); -extern const char *pgstat_get_wait_event_type(uint32 wait_event_info); -static inline void pgstat_report_wait_start(uint32 wait_event_info); -static inline void pgstat_report_wait_end(void); -extern void pgstat_set_wait_event_storage(uint32 *wait_event_info); -extern void pgstat_reset_wait_event_storage(void); - -extern PGDLLIMPORT uint32 *my_wait_event_info; - - -/* ---------- - * pgstat_report_wait_start() - - * - * Called from places where server process needs to wait. This is called - * to report wait event information. The wait information is stored - * as 4-bytes where first byte represents the wait event class (type of - * wait, for different types of wait, refer WaitClass) and the next - * 3-bytes represent the actual wait event. Currently 2-bytes are used - * for wait event which is sufficient for current usage, 1-byte is - * reserved for future usage. - * - * Historically we used to make this reporting conditional on - * pgstat_track_activities, but the check for that seems to add more cost - * than it saves. - * - * my_wait_event_info initially points to local memory, making it safe to - * call this before MyProc has been initialized. - * ---------- - */ -static inline void -pgstat_report_wait_start(uint32 wait_event_info) +typedef enum { - /* - * Since this is a four-byte field which is always read and written as - * four-bytes, updates are atomic. - */ - *(volatile uint32 *) my_wait_event_info = wait_event_info; -} + WAIT_EVENT_APPEND_READY = PG_WAIT_IPC, + WAIT_EVENT_ARCHIVE_CLEANUP_COMMAND, + WAIT_EVENT_ARCHIVE_COMMAND, + WAIT_EVENT_BACKEND_TERMINATION, + WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE, + WAIT_EVENT_BGWORKER_SHUTDOWN, + WAIT_EVENT_BGWORKER_STARTUP, + WAIT_EVENT_BTREE_PAGE, + WAIT_EVENT_BUFFER_IO, + WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE, + WAIT_EVENT_CHECKPOINT_DELAY_START, + WAIT_EVENT_CHECKPOINT_DONE, + WAIT_EVENT_CHECKPOINT_START, + WAIT_EVENT_EXECUTE_GATHER, + WAIT_EVENT_HASH_BATCH_ALLOCATE, + WAIT_EVENT_HASH_BATCH_ELECT, + WAIT_EVENT_HASH_BATCH_LOAD, + WAIT_EVENT_HASH_BUILD_ALLOCATE, + WAIT_EVENT_HASH_BUILD_ELECT, + WAIT_EVENT_HASH_BUILD_HASH_INNER, + WAIT_EVENT_HASH_BUILD_HASH_OUTER, + WAIT_EVENT_HASH_GROW_BATCHES_DECIDE, + WAIT_EVENT_HASH_GROW_BATCHES_ELECT, + WAIT_EVENT_HASH_GROW_BATCHES_FINISH, + WAIT_EVENT_HASH_GROW_BATCHES_REALLOCATE, + WAIT_EVENT_HASH_GROW_BATCHES_REPARTITION, + WAIT_EVENT_HASH_GROW_BUCKETS_ELECT, + WAIT_EVENT_HASH_GROW_BUCKETS_REALLOCATE, + WAIT_EVENT_HASH_GROW_BUCKETS_REINSERT, + WAIT_EVENT_LOGICAL_APPLY_SEND_DATA, + WAIT_EVENT_LOGICAL_PARALLEL_APPLY_STATE_CHANGE, + WAIT_EVENT_LOGICAL_SYNC_DATA, + WAIT_EVENT_LOGICAL_SYNC_STATE_CHANGE, + WAIT_EVENT_MESSAGE_QUEUE_INTERNAL, + WAIT_EVENT_MESSAGE_QUEUE_PUT_MESSAGE, + WAIT_EVENT_MESSAGE_QUEUE_RECEIVE, + WAIT_EVENT_MESSAGE_QUEUE_SEND, + WAIT_EVENT_MULTIXACT_CREATION, + WAIT_EVENT_PARALLEL_BITMAP_SCAN, + WAIT_EVENT_PARALLEL_CREATE_INDEX_SCAN, + WAIT_EVENT_PARALLEL_FINISH, + WAIT_EVENT_PROCARRAY_GROUP_UPDATE, + WAIT_EVENT_PROC_SIGNAL_BARRIER, + WAIT_EVENT_PROMOTE, + WAIT_EVENT_RECOVERY_CONFLICT_SNAPSHOT, + WAIT_EVENT_RECOVERY_CONFLICT_TABLESPACE, + WAIT_EVENT_RECOVERY_END_COMMAND, + WAIT_EVENT_RECOVERY_PAUSE, + WAIT_EVENT_REPLICATION_ORIGIN_DROP, + WAIT_EVENT_REPLICATION_SLOT_DROP, + WAIT_EVENT_RESTORE_COMMAND, + WAIT_EVENT_SAFE_SNAPSHOT, + WAIT_EVENT_SYNC_REP, + WAIT_EVENT_WAL_RECEIVER_EXIT, + WAIT_EVENT_WAL_RECEIVER_WAIT_START, + WAIT_EVENT_WAL_SUMMARY_READY, + WAIT_EVENT_XACT_GROUP_UPDATE +} WaitEventIPC; -/* ---------- - * pgstat_report_wait_end() - - * - * Called to report end of a wait. - * ---------- - */ -static inline void -pgstat_report_wait_end(void) +typedef enum { - /* see pgstat_report_wait_start() */ - *(volatile uint32 *) my_wait_event_info = 0; -} - + WAIT_EVENT_BASE_BACKUP_THROTTLE = PG_WAIT_TIMEOUT, + WAIT_EVENT_CHECKPOINT_WRITE_DELAY, + WAIT_EVENT_PG_SLEEP, + WAIT_EVENT_RECOVERY_APPLY_DELAY, + WAIT_EVENT_RECOVERY_RETRIEVE_RETRY_INTERVAL, + WAIT_EVENT_REGISTER_SYNC_REQUEST, + WAIT_EVENT_SPIN_DELAY, + WAIT_EVENT_VACUUM_DELAY, + WAIT_EVENT_VACUUM_TRUNCATE, + WAIT_EVENT_WAL_SUMMARIZER_ERROR +} WaitEventTimeout; -#endif /* WAIT_EVENT_H */ +#endif /* WAIT_EVENT_TYPES_H */ diff --git a/parser/include/utils/xml.h b/parser/include/postgres/utils/xml.h similarity index 81% rename from parser/include/utils/xml.h rename to parser/include/postgres/utils/xml.h index 6620a626..ed20e213 100644 --- a/parser/include/utils/xml.h +++ b/parser/include/postgres/utils/xml.h @@ -4,7 +4,7 @@ * Declarations for XML data type support. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/include/utils/xml.h @@ -27,13 +27,13 @@ typedef enum XML_STANDALONE_YES, XML_STANDALONE_NO, XML_STANDALONE_NO_VALUE, - XML_STANDALONE_OMITTED + XML_STANDALONE_OMITTED, } XmlStandaloneType; typedef enum { XMLBINARY_BASE64, - XMLBINARY_HEX + XMLBINARY_HEX, } XmlBinaryType; typedef enum @@ -41,14 +41,23 @@ typedef enum PG_XML_STRICTNESS_LEGACY, /* ignore errors unless function result * indicates error condition */ PG_XML_STRICTNESS_WELLFORMED, /* ignore non-parser messages */ - PG_XML_STRICTNESS_ALL /* report all notices/warnings/errors */ + PG_XML_STRICTNESS_ALL, /* report all notices/warnings/errors */ } PgXmlStrictness; /* struct PgXmlErrorContext is private to xml.c */ typedef struct PgXmlErrorContext PgXmlErrorContext; -#define DatumGetXmlP(X) ((xmltype *) PG_DETOAST_DATUM(X)) -#define XmlPGetDatum(X) PointerGetDatum(X) +static inline xmltype * +DatumGetXmlP(Datum X) +{ + return (xmltype *) PG_DETOAST_DATUM(X); +} + +static inline Datum +XmlPGetDatum(const xmltype *X) +{ + return PointerGetDatum(X); +} #define PG_GETARG_XML_P(n) DatumGetXmlP(PG_GETARG_DATUM(n)) #define PG_RETURN_XML_P(x) PG_RETURN_POINTER(x) @@ -64,11 +73,12 @@ extern xmltype *xmlconcat(List *args); extern xmltype *xmlelement(XmlExpr *xexpr, Datum *named_argvalue, bool *named_argnull, Datum *argvalue, bool *argnull); -extern xmltype *xmlparse(text *data, XmlOptionType xmloption, bool preserve_whitespace); +extern xmltype *xmlparse(text *data, XmlOptionType xmloption_arg, bool preserve_whitespace); extern xmltype *xmlpi(const char *target, text *arg, bool arg_is_null, bool *result_is_null); extern xmltype *xmlroot(xmltype *data, text *version, int standalone); extern bool xml_is_document(xmltype *arg); -extern text *xmltotext_with_xmloption(xmltype *data, XmlOptionType xmloption_arg); +extern text *xmltotext_with_options(xmltype *data, XmlOptionType xmloption_arg, + bool indent); extern char *escape_xml(const char *str); extern char *map_sql_identifier_to_xml_name(const char *ident, bool fully_escaped, bool escape_period); diff --git a/parser/include/postgres.h b/parser/include/postgres/varatt.h similarity index 57% rename from parser/include/postgres.h rename to parser/include/postgres/varatt.h index 31358110..f04435e9 100644 --- a/parser/include/postgres.h +++ b/parser/include/postgres/varatt.h @@ -1,56 +1,19 @@ /*------------------------------------------------------------------------- * - * postgres.h - * Primary include file for PostgreSQL server .c files + * varatt.h + * variable-length datatypes (TOAST support) * - * This should be the first file included by PostgreSQL backend modules. - * Client-side code should include postgres_fe.h instead. * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1995, Regents of the University of California * - * src/include/postgres.h + * src/include/varatt.h * *------------------------------------------------------------------------- */ -/* - *---------------------------------------------------------------- - * TABLE OF CONTENTS - * - * When adding stuff to this file, please try to put stuff - * into the relevant section, or add new sections as appropriate. - * - * section description - * ------- ------------------------------------------------ - * 1) variable-length datatypes (TOAST support) - * 2) Datum type + support macros - * - * NOTES - * - * In general, this file should contain declarations that are widely needed - * in the backend environment, but are of no interest outside the backend. - * - * Simple type definitions live in c.h, where they are shared with - * postgres_fe.h. We do that since those type definitions are needed by - * frontend modules that want to deal with binary data transmission to or - * from the backend. Type definitions in this file should be for - * representations that never escape the backend, such as Datum or - * TOASTed varlena objects. - * - *---------------------------------------------------------------- - */ -#ifndef POSTGRES_H -#define POSTGRES_H - -#include "c.h" -#include "utils/elog.h" -#include "utils/palloc.h" -/* ---------------------------------------------------------------- - * Section 1: variable-length datatypes (TOAST support) - * ---------------------------------------------------------------- - */ +#ifndef VARATT_H +#define VARATT_H /* * struct varatt_external is a traditional "TOAST pointer", that is, the @@ -134,7 +97,7 @@ typedef enum vartag_external ((tag) == VARTAG_INDIRECT ? sizeof(varatt_indirect) : \ VARTAG_IS_EXPANDED(tag) ? sizeof(varatt_expanded) : \ (tag) == VARTAG_ONDISK ? sizeof(varatt_external) : \ - TrapMacro(true, "unrecognized TOAST vartag")) + (AssertMacro(false), 0)) /* * These structs describe the header of a varlena object that may have been @@ -392,417 +355,4 @@ typedef struct (VARATT_EXTERNAL_GET_EXTSIZE(toast_pointer) < \ (toast_pointer).va_rawsize - VARHDRSZ) - -/* ---------------------------------------------------------------- - * Section 2: Datum type + support macros - * ---------------------------------------------------------------- - */ - -/* - * A Datum contains either a value of a pass-by-value type or a pointer to a - * value of a pass-by-reference type. Therefore, we require: - * - * sizeof(Datum) == sizeof(void *) == 4 or 8 - * - * The macros below and the analogous macros for other types should be used to - * convert between a Datum and the appropriate C type. - */ - -typedef uintptr_t Datum; - -/* - * A NullableDatum is used in places where both a Datum and its nullness needs - * to be stored. This can be more efficient than storing datums and nullness - * in separate arrays, due to better spatial locality, even if more space may - * be wasted due to padding. - */ -typedef struct NullableDatum -{ -#define FIELDNO_NULLABLE_DATUM_DATUM 0 - Datum value; -#define FIELDNO_NULLABLE_DATUM_ISNULL 1 - bool isnull; - /* due to alignment padding this could be used for flags for free */ -} NullableDatum; - -#define SIZEOF_DATUM SIZEOF_VOID_P - -/* - * DatumGetBool - * Returns boolean value of a datum. - * - * Note: any nonzero value will be considered true. - */ - -#define DatumGetBool(X) ((bool) ((X) != 0)) - -/* - * BoolGetDatum - * Returns datum representation for a boolean. - * - * Note: any nonzero value will be considered true. - */ - -#define BoolGetDatum(X) ((Datum) ((X) ? 1 : 0)) - -/* - * DatumGetChar - * Returns character value of a datum. - */ - -#define DatumGetChar(X) ((char) (X)) - -/* - * CharGetDatum - * Returns datum representation for a character. - */ - -#define CharGetDatum(X) ((Datum) (X)) - -/* - * Int8GetDatum - * Returns datum representation for an 8-bit integer. - */ - -#define Int8GetDatum(X) ((Datum) (X)) - -/* - * DatumGetUInt8 - * Returns 8-bit unsigned integer value of a datum. - */ - -#define DatumGetUInt8(X) ((uint8) (X)) - -/* - * UInt8GetDatum - * Returns datum representation for an 8-bit unsigned integer. - */ - -#define UInt8GetDatum(X) ((Datum) (X)) - -/* - * DatumGetInt16 - * Returns 16-bit integer value of a datum. - */ - -#define DatumGetInt16(X) ((int16) (X)) - -/* - * Int16GetDatum - * Returns datum representation for a 16-bit integer. - */ - -#define Int16GetDatum(X) ((Datum) (X)) - -/* - * DatumGetUInt16 - * Returns 16-bit unsigned integer value of a datum. - */ - -#define DatumGetUInt16(X) ((uint16) (X)) - -/* - * UInt16GetDatum - * Returns datum representation for a 16-bit unsigned integer. - */ - -#define UInt16GetDatum(X) ((Datum) (X)) - -/* - * DatumGetInt32 - * Returns 32-bit integer value of a datum. - */ - -#define DatumGetInt32(X) ((int32) (X)) - -/* - * Int32GetDatum - * Returns datum representation for a 32-bit integer. - */ - -#define Int32GetDatum(X) ((Datum) (X)) - -/* - * DatumGetUInt32 - * Returns 32-bit unsigned integer value of a datum. - */ - -#define DatumGetUInt32(X) ((uint32) (X)) - -/* - * UInt32GetDatum - * Returns datum representation for a 32-bit unsigned integer. - */ - -#define UInt32GetDatum(X) ((Datum) (X)) - -/* - * DatumGetObjectId - * Returns object identifier value of a datum. - */ - -#define DatumGetObjectId(X) ((Oid) (X)) - -/* - * ObjectIdGetDatum - * Returns datum representation for an object identifier. - */ - -#define ObjectIdGetDatum(X) ((Datum) (X)) - -/* - * DatumGetTransactionId - * Returns transaction identifier value of a datum. - */ - -#define DatumGetTransactionId(X) ((TransactionId) (X)) - -/* - * TransactionIdGetDatum - * Returns datum representation for a transaction identifier. - */ - -#define TransactionIdGetDatum(X) ((Datum) (X)) - -/* - * MultiXactIdGetDatum - * Returns datum representation for a multixact identifier. - */ - -#define MultiXactIdGetDatum(X) ((Datum) (X)) - -/* - * DatumGetCommandId - * Returns command identifier value of a datum. - */ - -#define DatumGetCommandId(X) ((CommandId) (X)) - -/* - * CommandIdGetDatum - * Returns datum representation for a command identifier. - */ - -#define CommandIdGetDatum(X) ((Datum) (X)) - -/* - * DatumGetPointer - * Returns pointer value of a datum. - */ - -#define DatumGetPointer(X) ((Pointer) (X)) - -/* - * PointerGetDatum - * Returns datum representation for a pointer. - */ - -#define PointerGetDatum(X) ((Datum) (X)) - -/* - * DatumGetCString - * Returns C string (null-terminated string) value of a datum. - * - * Note: C string is not a full-fledged Postgres type at present, - * but type input functions use this conversion for their inputs. - */ - -#define DatumGetCString(X) ((char *) DatumGetPointer(X)) - -/* - * CStringGetDatum - * Returns datum representation for a C string (null-terminated string). - * - * Note: C string is not a full-fledged Postgres type at present, - * but type output functions use this conversion for their outputs. - * Note: CString is pass-by-reference; caller must ensure the pointed-to - * value has adequate lifetime. - */ - -#define CStringGetDatum(X) PointerGetDatum(X) - -/* - * DatumGetName - * Returns name value of a datum. - */ - -#define DatumGetName(X) ((Name) DatumGetPointer(X)) - -/* - * NameGetDatum - * Returns datum representation for a name. - * - * Note: Name is pass-by-reference; caller must ensure the pointed-to - * value has adequate lifetime. - */ - -#define NameGetDatum(X) CStringGetDatum(NameStr(*(X))) - -/* - * DatumGetInt64 - * Returns 64-bit integer value of a datum. - * - * Note: this macro hides whether int64 is pass by value or by reference. - */ - -#ifdef USE_FLOAT8_BYVAL -#define DatumGetInt64(X) ((int64) (X)) -#else -#define DatumGetInt64(X) (* ((int64 *) DatumGetPointer(X))) -#endif - -/* - * Int64GetDatum - * Returns datum representation for a 64-bit integer. - * - * Note: if int64 is pass by reference, this function returns a reference - * to palloc'd space. - */ - -#ifdef USE_FLOAT8_BYVAL -#define Int64GetDatum(X) ((Datum) (X)) -#else -extern Datum Int64GetDatum(int64 X); -#endif - -/* - * DatumGetUInt64 - * Returns 64-bit unsigned integer value of a datum. - * - * Note: this macro hides whether int64 is pass by value or by reference. - */ - -#ifdef USE_FLOAT8_BYVAL -#define DatumGetUInt64(X) ((uint64) (X)) -#else -#define DatumGetUInt64(X) (* ((uint64 *) DatumGetPointer(X))) #endif - -/* - * UInt64GetDatum - * Returns datum representation for a 64-bit unsigned integer. - * - * Note: if int64 is pass by reference, this function returns a reference - * to palloc'd space. - */ - -#ifdef USE_FLOAT8_BYVAL -#define UInt64GetDatum(X) ((Datum) (X)) -#else -#define UInt64GetDatum(X) Int64GetDatum((int64) (X)) -#endif - -/* - * Float <-> Datum conversions - * - * These have to be implemented as inline functions rather than macros, when - * passing by value, because many machines pass int and float function - * parameters/results differently; so we need to play weird games with unions. - */ - -/* - * DatumGetFloat4 - * Returns 4-byte floating point value of a datum. - */ -static inline float4 -DatumGetFloat4(Datum X) -{ - union - { - int32 value; - float4 retval; - } myunion; - - myunion.value = DatumGetInt32(X); - return myunion.retval; -} - -/* - * Float4GetDatum - * Returns datum representation for a 4-byte floating point number. - */ -static inline Datum -Float4GetDatum(float4 X) -{ - union - { - float4 value; - int32 retval; - } myunion; - - myunion.value = X; - return Int32GetDatum(myunion.retval); -} - -/* - * DatumGetFloat8 - * Returns 8-byte floating point value of a datum. - * - * Note: this macro hides whether float8 is pass by value or by reference. - */ - -#ifdef USE_FLOAT8_BYVAL -static inline float8 -DatumGetFloat8(Datum X) -{ - union - { - int64 value; - float8 retval; - } myunion; - - myunion.value = DatumGetInt64(X); - return myunion.retval; -} -#else -#define DatumGetFloat8(X) (* ((float8 *) DatumGetPointer(X))) -#endif - -/* - * Float8GetDatum - * Returns datum representation for an 8-byte floating point number. - * - * Note: if float8 is pass by reference, this function returns a reference - * to palloc'd space. - */ - -#ifdef USE_FLOAT8_BYVAL -static inline Datum -Float8GetDatum(float8 X) -{ - union - { - float8 value; - int64 retval; - } myunion; - - myunion.value = X; - return Int64GetDatum(myunion.retval); -} -#else -extern Datum Float8GetDatum(float8 X); -#endif - - -/* - * Int64GetDatumFast - * Float8GetDatumFast - * - * These macros are intended to allow writing code that does not depend on - * whether int64 and float8 are pass-by-reference types, while not - * sacrificing performance when they are. The argument must be a variable - * that will exist and have the same value for as long as the Datum is needed. - * In the pass-by-ref case, the address of the variable is taken to use as - * the Datum. In the pass-by-val case, these will be the same as the non-Fast - * macros. - */ - -#ifdef USE_FLOAT8_BYVAL -#define Int64GetDatumFast(X) Int64GetDatum(X) -#define Float8GetDatumFast(X) Float8GetDatum(X) -#else -#define Int64GetDatumFast(X) PointerGetDatum(&(X)) -#define Float8GetDatumFast(X) PointerGetDatum(&(X)) -#endif - -#endif /* POSTGRES_H */ diff --git a/parser/include/postgres_deparse.h b/parser/include/postgres_deparse.h new file mode 100644 index 00000000..05d7490c --- /dev/null +++ b/parser/include/postgres_deparse.h @@ -0,0 +1,34 @@ +#ifndef POSTGRES_DEPARSE_H +#define POSTGRES_DEPARSE_H + +#include +#include + +typedef struct PostgresDeparseComment { + int match_location; // Insert comment before a node, once we find a node whose location field is equal-or-higher than this location + int newlines_before_comment; // Insert newlines before inserting the comment (set to non-zero if the source comment was separated from the prior token by at least one newline) + int newlines_after_comment; // Insert newlines after inserting the comment (set to non-zero if the source comment was separated from the next token by at least one newline) + char *str; // The actual comment string, including comment start/end tokens, and newline characters in comment (if any) +} PostgresDeparseComment; + +typedef struct PostgresDeparseOpts { + PostgresDeparseComment **comments; + size_t comment_count; + + // Pretty print options + bool pretty_print; + int indent_size; // Indentation size (Default 4 spaces) + int max_line_length; // Restricts the line length of certain lists of items (Default 80 characters) + bool trailing_newline; // Whether to add a trailing newline at the end of the output (Default off) + bool commas_start_of_line; // Place separating commas at start of line (Default off) +} PostgresDeparseOpts; + +/* Forward declarations to allow referencing the structs in this include file without needing Postgres includes */ +struct StringInfoData; +typedef struct StringInfoData *StringInfo; +struct RawStmt; + +extern void deparseRawStmt(StringInfo str, struct RawStmt *raw_stmt); +extern void deparseRawStmtOpts(StringInfo str, struct RawStmt *raw_stmt, PostgresDeparseOpts opts); + +#endif diff --git a/parser/include/postmaster/auxprocess.h b/parser/include/postmaster/auxprocess.h deleted file mode 100644 index e3789fb8..00000000 --- a/parser/include/postmaster/auxprocess.h +++ /dev/null @@ -1,20 +0,0 @@ -/*------------------------------------------------------------------------- - * auxprocess.h - * include file for functions related to auxiliary processes. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * IDENTIFICATION - * src/include/postmaster/auxprocess.h - *------------------------------------------------------------------------- - */ -#ifndef AUXPROCESS_H -#define AUXPROCESS_H - -#include "miscadmin.h" - -extern void AuxiliaryProcessMain(AuxProcType auxtype) pg_attribute_noreturn(); - -#endif /* AUXPROCESS_H */ diff --git a/parser/include/postmaster/fork_process.h b/parser/include/postmaster/fork_process.h deleted file mode 100644 index 5fc8490e..00000000 --- a/parser/include/postmaster/fork_process.h +++ /dev/null @@ -1,17 +0,0 @@ -/*------------------------------------------------------------------------- - * - * fork_process.h - * Exports from postmaster/fork_process.c. - * - * Copyright (c) 1996-2022, PostgreSQL Global Development Group - * - * src/include/postmaster/fork_process.h - * - *------------------------------------------------------------------------- - */ -#ifndef FORK_PROCESS_H -#define FORK_PROCESS_H - -extern pid_t fork_process(void); - -#endif /* FORK_PROCESS_H */ diff --git a/parser/include/postmaster/pgarch.h b/parser/include/postmaster/pgarch.h deleted file mode 100644 index f366a159..00000000 --- a/parser/include/postmaster/pgarch.h +++ /dev/null @@ -1,73 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pgarch.h - * Exports from postmaster/pgarch.c. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/postmaster/pgarch.h - * - *------------------------------------------------------------------------- - */ -#ifndef _PGARCH_H -#define _PGARCH_H - -/* ---------- - * Archiver control info. - * - * We expect that archivable files within pg_wal will have names between - * MIN_XFN_CHARS and MAX_XFN_CHARS in length, consisting only of characters - * appearing in VALID_XFN_CHARS. The status files in archive_status have - * corresponding names with ".ready" or ".done" appended. - * ---------- - */ -#define MIN_XFN_CHARS 16 -#define MAX_XFN_CHARS 40 -#define VALID_XFN_CHARS "0123456789ABCDEF.history.backup.partial" - -extern Size PgArchShmemSize(void); -extern void PgArchShmemInit(void); -extern bool PgArchCanRestart(void); -extern void PgArchiverMain(void) pg_attribute_noreturn(); -extern void PgArchWakeup(void); -extern void PgArchForceDirScan(void); - -/* - * The value of the archive_library GUC. - */ -extern PGDLLIMPORT char *XLogArchiveLibrary; - -/* - * Archive module callbacks - * - * These callback functions should be defined by archive libraries and returned - * via _PG_archive_module_init(). ArchiveFileCB is the only required callback. - * For more information about the purpose of each callback, refer to the - * archive modules documentation. - */ -typedef bool (*ArchiveCheckConfiguredCB) (void); -typedef bool (*ArchiveFileCB) (const char *file, const char *path); -typedef void (*ArchiveShutdownCB) (void); - -typedef struct ArchiveModuleCallbacks -{ - ArchiveCheckConfiguredCB check_configured_cb; - ArchiveFileCB archive_file_cb; - ArchiveShutdownCB shutdown_cb; -} ArchiveModuleCallbacks; - -/* - * Type of the shared library symbol _PG_archive_module_init that is looked - * up when loading an archive library. - */ -typedef void (*ArchiveModuleInit) (ArchiveModuleCallbacks *cb); - -/* - * Since the logic for archiving via a shell command is in the core server - * and does not need to be loaded via a shared library, it has a special - * initialization function. - */ -extern void shell_archive_init(ArchiveModuleCallbacks *cb); - -#endif /* _PGARCH_H */ diff --git a/parser/include/protobuf-c/gokeep.go b/parser/include/protobuf-c/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/protobuf-c/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/protobuf/gokeep.go b/parser/include/protobuf/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/protobuf/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/include/protobuf/pg_query.pb-c.h b/parser/include/protobuf/pg_query.pb-c.h index 621776c3..388e597c 100644 --- a/parser/include/protobuf/pg_query.pb-c.h +++ b/parser/include/protobuf/pg_query.pb-c.h @@ -9,9 +9,9 @@ PROTOBUF_C__BEGIN_DECLS #if PROTOBUF_C_VERSION_NUMBER < 1003000 -# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers. -#elif 1004001 < PROTOBUF_C_MIN_COMPILER_VERSION -# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c. +# error This file was generated by a newer version of protobuf-c which is incompatible with your libprotobuf-c headers. Please update your headers. +#elif 1005001 < PROTOBUF_C_MIN_COMPILER_VERSION +# error This file was generated by an older version of protobuf-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protobuf-c. #endif @@ -30,11 +30,14 @@ typedef struct PgQuery__AConst PgQuery__AConst; typedef struct PgQuery__Alias PgQuery__Alias; typedef struct PgQuery__RangeVar PgQuery__RangeVar; typedef struct PgQuery__TableFunc PgQuery__TableFunc; +typedef struct PgQuery__IntoClause PgQuery__IntoClause; typedef struct PgQuery__Var PgQuery__Var; typedef struct PgQuery__Param PgQuery__Param; typedef struct PgQuery__Aggref PgQuery__Aggref; typedef struct PgQuery__GroupingFunc PgQuery__GroupingFunc; typedef struct PgQuery__WindowFunc PgQuery__WindowFunc; +typedef struct PgQuery__WindowFuncRunCondition PgQuery__WindowFuncRunCondition; +typedef struct PgQuery__MergeSupportFunc PgQuery__MergeSupportFunc; typedef struct PgQuery__SubscriptingRef PgQuery__SubscriptingRef; typedef struct PgQuery__FuncExpr PgQuery__FuncExpr; typedef struct PgQuery__NamedArgExpr PgQuery__NamedArgExpr; @@ -63,8 +66,19 @@ typedef struct PgQuery__CoalesceExpr PgQuery__CoalesceExpr; typedef struct PgQuery__MinMaxExpr PgQuery__MinMaxExpr; typedef struct PgQuery__SQLValueFunction PgQuery__SQLValueFunction; typedef struct PgQuery__XmlExpr PgQuery__XmlExpr; +typedef struct PgQuery__JsonFormat PgQuery__JsonFormat; +typedef struct PgQuery__JsonReturning PgQuery__JsonReturning; +typedef struct PgQuery__JsonValueExpr PgQuery__JsonValueExpr; +typedef struct PgQuery__JsonConstructorExpr PgQuery__JsonConstructorExpr; +typedef struct PgQuery__JsonIsPredicate PgQuery__JsonIsPredicate; +typedef struct PgQuery__JsonBehavior PgQuery__JsonBehavior; +typedef struct PgQuery__JsonExpr PgQuery__JsonExpr; +typedef struct PgQuery__JsonTablePath PgQuery__JsonTablePath; +typedef struct PgQuery__JsonTablePathScan PgQuery__JsonTablePathScan; +typedef struct PgQuery__JsonTableSiblingJoin PgQuery__JsonTableSiblingJoin; typedef struct PgQuery__NullTest PgQuery__NullTest; typedef struct PgQuery__BooleanTest PgQuery__BooleanTest; +typedef struct PgQuery__MergeAction PgQuery__MergeAction; typedef struct PgQuery__CoerceToDomain PgQuery__CoerceToDomain; typedef struct PgQuery__CoerceToDomainValue PgQuery__CoerceToDomainValue; typedef struct PgQuery__SetToDefault PgQuery__SetToDefault; @@ -76,198 +90,220 @@ typedef struct PgQuery__RangeTblRef PgQuery__RangeTblRef; typedef struct PgQuery__JoinExpr PgQuery__JoinExpr; typedef struct PgQuery__FromExpr PgQuery__FromExpr; typedef struct PgQuery__OnConflictExpr PgQuery__OnConflictExpr; -typedef struct PgQuery__IntoClause PgQuery__IntoClause; -typedef struct PgQuery__MergeAction PgQuery__MergeAction; -typedef struct PgQuery__RawStmt PgQuery__RawStmt; typedef struct PgQuery__Query PgQuery__Query; +typedef struct PgQuery__TypeName PgQuery__TypeName; +typedef struct PgQuery__ColumnRef PgQuery__ColumnRef; +typedef struct PgQuery__ParamRef PgQuery__ParamRef; +typedef struct PgQuery__AExpr PgQuery__AExpr; +typedef struct PgQuery__TypeCast PgQuery__TypeCast; +typedef struct PgQuery__CollateClause PgQuery__CollateClause; +typedef struct PgQuery__RoleSpec PgQuery__RoleSpec; +typedef struct PgQuery__FuncCall PgQuery__FuncCall; +typedef struct PgQuery__AStar PgQuery__AStar; +typedef struct PgQuery__AIndices PgQuery__AIndices; +typedef struct PgQuery__AIndirection PgQuery__AIndirection; +typedef struct PgQuery__AArrayExpr PgQuery__AArrayExpr; +typedef struct PgQuery__ResTarget PgQuery__ResTarget; +typedef struct PgQuery__MultiAssignRef PgQuery__MultiAssignRef; +typedef struct PgQuery__SortBy PgQuery__SortBy; +typedef struct PgQuery__WindowDef PgQuery__WindowDef; +typedef struct PgQuery__RangeSubselect PgQuery__RangeSubselect; +typedef struct PgQuery__RangeFunction PgQuery__RangeFunction; +typedef struct PgQuery__RangeTableFunc PgQuery__RangeTableFunc; +typedef struct PgQuery__RangeTableFuncCol PgQuery__RangeTableFuncCol; +typedef struct PgQuery__RangeTableSample PgQuery__RangeTableSample; +typedef struct PgQuery__ColumnDef PgQuery__ColumnDef; +typedef struct PgQuery__TableLikeClause PgQuery__TableLikeClause; +typedef struct PgQuery__IndexElem PgQuery__IndexElem; +typedef struct PgQuery__DefElem PgQuery__DefElem; +typedef struct PgQuery__LockingClause PgQuery__LockingClause; +typedef struct PgQuery__XmlSerialize PgQuery__XmlSerialize; +typedef struct PgQuery__PartitionElem PgQuery__PartitionElem; +typedef struct PgQuery__PartitionSpec PgQuery__PartitionSpec; +typedef struct PgQuery__PartitionBoundSpec PgQuery__PartitionBoundSpec; +typedef struct PgQuery__PartitionRangeDatum PgQuery__PartitionRangeDatum; +typedef struct PgQuery__SinglePartitionSpec PgQuery__SinglePartitionSpec; +typedef struct PgQuery__PartitionCmd PgQuery__PartitionCmd; +typedef struct PgQuery__RangeTblEntry PgQuery__RangeTblEntry; +typedef struct PgQuery__RTEPermissionInfo PgQuery__RTEPermissionInfo; +typedef struct PgQuery__RangeTblFunction PgQuery__RangeTblFunction; +typedef struct PgQuery__TableSampleClause PgQuery__TableSampleClause; +typedef struct PgQuery__WithCheckOption PgQuery__WithCheckOption; +typedef struct PgQuery__SortGroupClause PgQuery__SortGroupClause; +typedef struct PgQuery__GroupingSet PgQuery__GroupingSet; +typedef struct PgQuery__WindowClause PgQuery__WindowClause; +typedef struct PgQuery__RowMarkClause PgQuery__RowMarkClause; +typedef struct PgQuery__WithClause PgQuery__WithClause; +typedef struct PgQuery__InferClause PgQuery__InferClause; +typedef struct PgQuery__OnConflictClause PgQuery__OnConflictClause; +typedef struct PgQuery__CTESearchClause PgQuery__CTESearchClause; +typedef struct PgQuery__CTECycleClause PgQuery__CTECycleClause; +typedef struct PgQuery__CommonTableExpr PgQuery__CommonTableExpr; +typedef struct PgQuery__MergeWhenClause PgQuery__MergeWhenClause; +typedef struct PgQuery__TriggerTransition PgQuery__TriggerTransition; +typedef struct PgQuery__JsonOutput PgQuery__JsonOutput; +typedef struct PgQuery__JsonArgument PgQuery__JsonArgument; +typedef struct PgQuery__JsonFuncExpr PgQuery__JsonFuncExpr; +typedef struct PgQuery__JsonTablePathSpec PgQuery__JsonTablePathSpec; +typedef struct PgQuery__JsonTable PgQuery__JsonTable; +typedef struct PgQuery__JsonTableColumn PgQuery__JsonTableColumn; +typedef struct PgQuery__JsonKeyValue PgQuery__JsonKeyValue; +typedef struct PgQuery__JsonParseExpr PgQuery__JsonParseExpr; +typedef struct PgQuery__JsonScalarExpr PgQuery__JsonScalarExpr; +typedef struct PgQuery__JsonSerializeExpr PgQuery__JsonSerializeExpr; +typedef struct PgQuery__JsonObjectConstructor PgQuery__JsonObjectConstructor; +typedef struct PgQuery__JsonArrayConstructor PgQuery__JsonArrayConstructor; +typedef struct PgQuery__JsonArrayQueryConstructor PgQuery__JsonArrayQueryConstructor; +typedef struct PgQuery__JsonAggConstructor PgQuery__JsonAggConstructor; +typedef struct PgQuery__JsonObjectAgg PgQuery__JsonObjectAgg; +typedef struct PgQuery__JsonArrayAgg PgQuery__JsonArrayAgg; +typedef struct PgQuery__RawStmt PgQuery__RawStmt; typedef struct PgQuery__InsertStmt PgQuery__InsertStmt; typedef struct PgQuery__DeleteStmt PgQuery__DeleteStmt; typedef struct PgQuery__UpdateStmt PgQuery__UpdateStmt; typedef struct PgQuery__MergeStmt PgQuery__MergeStmt; typedef struct PgQuery__SelectStmt PgQuery__SelectStmt; +typedef struct PgQuery__SetOperationStmt PgQuery__SetOperationStmt; typedef struct PgQuery__ReturnStmt PgQuery__ReturnStmt; typedef struct PgQuery__PLAssignStmt PgQuery__PLAssignStmt; +typedef struct PgQuery__CreateSchemaStmt PgQuery__CreateSchemaStmt; typedef struct PgQuery__AlterTableStmt PgQuery__AlterTableStmt; +typedef struct PgQuery__ReplicaIdentityStmt PgQuery__ReplicaIdentityStmt; typedef struct PgQuery__AlterTableCmd PgQuery__AlterTableCmd; +typedef struct PgQuery__AlterCollationStmt PgQuery__AlterCollationStmt; typedef struct PgQuery__AlterDomainStmt PgQuery__AlterDomainStmt; -typedef struct PgQuery__SetOperationStmt PgQuery__SetOperationStmt; typedef struct PgQuery__GrantStmt PgQuery__GrantStmt; +typedef struct PgQuery__ObjectWithArgs PgQuery__ObjectWithArgs; +typedef struct PgQuery__AccessPriv PgQuery__AccessPriv; typedef struct PgQuery__GrantRoleStmt PgQuery__GrantRoleStmt; typedef struct PgQuery__AlterDefaultPrivilegesStmt PgQuery__AlterDefaultPrivilegesStmt; -typedef struct PgQuery__ClosePortalStmt PgQuery__ClosePortalStmt; -typedef struct PgQuery__ClusterStmt PgQuery__ClusterStmt; typedef struct PgQuery__CopyStmt PgQuery__CopyStmt; +typedef struct PgQuery__VariableSetStmt PgQuery__VariableSetStmt; +typedef struct PgQuery__VariableShowStmt PgQuery__VariableShowStmt; typedef struct PgQuery__CreateStmt PgQuery__CreateStmt; +typedef struct PgQuery__Constraint PgQuery__Constraint; +typedef struct PgQuery__CreateTableSpaceStmt PgQuery__CreateTableSpaceStmt; +typedef struct PgQuery__DropTableSpaceStmt PgQuery__DropTableSpaceStmt; +typedef struct PgQuery__AlterTableSpaceOptionsStmt PgQuery__AlterTableSpaceOptionsStmt; +typedef struct PgQuery__AlterTableMoveAllStmt PgQuery__AlterTableMoveAllStmt; +typedef struct PgQuery__CreateExtensionStmt PgQuery__CreateExtensionStmt; +typedef struct PgQuery__AlterExtensionStmt PgQuery__AlterExtensionStmt; +typedef struct PgQuery__AlterExtensionContentsStmt PgQuery__AlterExtensionContentsStmt; +typedef struct PgQuery__CreateFdwStmt PgQuery__CreateFdwStmt; +typedef struct PgQuery__AlterFdwStmt PgQuery__AlterFdwStmt; +typedef struct PgQuery__CreateForeignServerStmt PgQuery__CreateForeignServerStmt; +typedef struct PgQuery__AlterForeignServerStmt PgQuery__AlterForeignServerStmt; +typedef struct PgQuery__CreateForeignTableStmt PgQuery__CreateForeignTableStmt; +typedef struct PgQuery__CreateUserMappingStmt PgQuery__CreateUserMappingStmt; +typedef struct PgQuery__AlterUserMappingStmt PgQuery__AlterUserMappingStmt; +typedef struct PgQuery__DropUserMappingStmt PgQuery__DropUserMappingStmt; +typedef struct PgQuery__ImportForeignSchemaStmt PgQuery__ImportForeignSchemaStmt; +typedef struct PgQuery__CreatePolicyStmt PgQuery__CreatePolicyStmt; +typedef struct PgQuery__AlterPolicyStmt PgQuery__AlterPolicyStmt; +typedef struct PgQuery__CreateAmStmt PgQuery__CreateAmStmt; +typedef struct PgQuery__CreateTrigStmt PgQuery__CreateTrigStmt; +typedef struct PgQuery__CreateEventTrigStmt PgQuery__CreateEventTrigStmt; +typedef struct PgQuery__AlterEventTrigStmt PgQuery__AlterEventTrigStmt; +typedef struct PgQuery__CreatePLangStmt PgQuery__CreatePLangStmt; +typedef struct PgQuery__CreateRoleStmt PgQuery__CreateRoleStmt; +typedef struct PgQuery__AlterRoleStmt PgQuery__AlterRoleStmt; +typedef struct PgQuery__AlterRoleSetStmt PgQuery__AlterRoleSetStmt; +typedef struct PgQuery__DropRoleStmt PgQuery__DropRoleStmt; +typedef struct PgQuery__CreateSeqStmt PgQuery__CreateSeqStmt; +typedef struct PgQuery__AlterSeqStmt PgQuery__AlterSeqStmt; typedef struct PgQuery__DefineStmt PgQuery__DefineStmt; +typedef struct PgQuery__CreateDomainStmt PgQuery__CreateDomainStmt; +typedef struct PgQuery__CreateOpClassStmt PgQuery__CreateOpClassStmt; +typedef struct PgQuery__CreateOpClassItem PgQuery__CreateOpClassItem; +typedef struct PgQuery__CreateOpFamilyStmt PgQuery__CreateOpFamilyStmt; +typedef struct PgQuery__AlterOpFamilyStmt PgQuery__AlterOpFamilyStmt; typedef struct PgQuery__DropStmt PgQuery__DropStmt; typedef struct PgQuery__TruncateStmt PgQuery__TruncateStmt; typedef struct PgQuery__CommentStmt PgQuery__CommentStmt; +typedef struct PgQuery__SecLabelStmt PgQuery__SecLabelStmt; +typedef struct PgQuery__DeclareCursorStmt PgQuery__DeclareCursorStmt; +typedef struct PgQuery__ClosePortalStmt PgQuery__ClosePortalStmt; typedef struct PgQuery__FetchStmt PgQuery__FetchStmt; typedef struct PgQuery__IndexStmt PgQuery__IndexStmt; +typedef struct PgQuery__CreateStatsStmt PgQuery__CreateStatsStmt; +typedef struct PgQuery__StatsElem PgQuery__StatsElem; +typedef struct PgQuery__AlterStatsStmt PgQuery__AlterStatsStmt; typedef struct PgQuery__CreateFunctionStmt PgQuery__CreateFunctionStmt; +typedef struct PgQuery__FunctionParameter PgQuery__FunctionParameter; typedef struct PgQuery__AlterFunctionStmt PgQuery__AlterFunctionStmt; typedef struct PgQuery__DoStmt PgQuery__DoStmt; +typedef struct PgQuery__InlineCodeBlock PgQuery__InlineCodeBlock; +typedef struct PgQuery__CallStmt PgQuery__CallStmt; +typedef struct PgQuery__CallContext PgQuery__CallContext; typedef struct PgQuery__RenameStmt PgQuery__RenameStmt; +typedef struct PgQuery__AlterObjectDependsStmt PgQuery__AlterObjectDependsStmt; +typedef struct PgQuery__AlterObjectSchemaStmt PgQuery__AlterObjectSchemaStmt; +typedef struct PgQuery__AlterOwnerStmt PgQuery__AlterOwnerStmt; +typedef struct PgQuery__AlterOperatorStmt PgQuery__AlterOperatorStmt; +typedef struct PgQuery__AlterTypeStmt PgQuery__AlterTypeStmt; typedef struct PgQuery__RuleStmt PgQuery__RuleStmt; typedef struct PgQuery__NotifyStmt PgQuery__NotifyStmt; typedef struct PgQuery__ListenStmt PgQuery__ListenStmt; typedef struct PgQuery__UnlistenStmt PgQuery__UnlistenStmt; typedef struct PgQuery__TransactionStmt PgQuery__TransactionStmt; +typedef struct PgQuery__CompositeTypeStmt PgQuery__CompositeTypeStmt; +typedef struct PgQuery__CreateEnumStmt PgQuery__CreateEnumStmt; +typedef struct PgQuery__CreateRangeStmt PgQuery__CreateRangeStmt; +typedef struct PgQuery__AlterEnumStmt PgQuery__AlterEnumStmt; typedef struct PgQuery__ViewStmt PgQuery__ViewStmt; typedef struct PgQuery__LoadStmt PgQuery__LoadStmt; -typedef struct PgQuery__CreateDomainStmt PgQuery__CreateDomainStmt; typedef struct PgQuery__CreatedbStmt PgQuery__CreatedbStmt; +typedef struct PgQuery__AlterDatabaseStmt PgQuery__AlterDatabaseStmt; +typedef struct PgQuery__AlterDatabaseRefreshCollStmt PgQuery__AlterDatabaseRefreshCollStmt; +typedef struct PgQuery__AlterDatabaseSetStmt PgQuery__AlterDatabaseSetStmt; typedef struct PgQuery__DropdbStmt PgQuery__DropdbStmt; +typedef struct PgQuery__AlterSystemStmt PgQuery__AlterSystemStmt; +typedef struct PgQuery__ClusterStmt PgQuery__ClusterStmt; typedef struct PgQuery__VacuumStmt PgQuery__VacuumStmt; +typedef struct PgQuery__VacuumRelation PgQuery__VacuumRelation; typedef struct PgQuery__ExplainStmt PgQuery__ExplainStmt; typedef struct PgQuery__CreateTableAsStmt PgQuery__CreateTableAsStmt; -typedef struct PgQuery__CreateSeqStmt PgQuery__CreateSeqStmt; -typedef struct PgQuery__AlterSeqStmt PgQuery__AlterSeqStmt; -typedef struct PgQuery__VariableSetStmt PgQuery__VariableSetStmt; -typedef struct PgQuery__VariableShowStmt PgQuery__VariableShowStmt; +typedef struct PgQuery__RefreshMatViewStmt PgQuery__RefreshMatViewStmt; +typedef struct PgQuery__CheckPointStmt PgQuery__CheckPointStmt; typedef struct PgQuery__DiscardStmt PgQuery__DiscardStmt; -typedef struct PgQuery__CreateTrigStmt PgQuery__CreateTrigStmt; -typedef struct PgQuery__CreatePLangStmt PgQuery__CreatePLangStmt; -typedef struct PgQuery__CreateRoleStmt PgQuery__CreateRoleStmt; -typedef struct PgQuery__AlterRoleStmt PgQuery__AlterRoleStmt; -typedef struct PgQuery__DropRoleStmt PgQuery__DropRoleStmt; typedef struct PgQuery__LockStmt PgQuery__LockStmt; typedef struct PgQuery__ConstraintsSetStmt PgQuery__ConstraintsSetStmt; typedef struct PgQuery__ReindexStmt PgQuery__ReindexStmt; -typedef struct PgQuery__CheckPointStmt PgQuery__CheckPointStmt; -typedef struct PgQuery__CreateSchemaStmt PgQuery__CreateSchemaStmt; -typedef struct PgQuery__AlterDatabaseStmt PgQuery__AlterDatabaseStmt; -typedef struct PgQuery__AlterDatabaseRefreshCollStmt PgQuery__AlterDatabaseRefreshCollStmt; -typedef struct PgQuery__AlterDatabaseSetStmt PgQuery__AlterDatabaseSetStmt; -typedef struct PgQuery__AlterRoleSetStmt PgQuery__AlterRoleSetStmt; typedef struct PgQuery__CreateConversionStmt PgQuery__CreateConversionStmt; typedef struct PgQuery__CreateCastStmt PgQuery__CreateCastStmt; -typedef struct PgQuery__CreateOpClassStmt PgQuery__CreateOpClassStmt; -typedef struct PgQuery__CreateOpFamilyStmt PgQuery__CreateOpFamilyStmt; -typedef struct PgQuery__AlterOpFamilyStmt PgQuery__AlterOpFamilyStmt; +typedef struct PgQuery__CreateTransformStmt PgQuery__CreateTransformStmt; typedef struct PgQuery__PrepareStmt PgQuery__PrepareStmt; typedef struct PgQuery__ExecuteStmt PgQuery__ExecuteStmt; typedef struct PgQuery__DeallocateStmt PgQuery__DeallocateStmt; -typedef struct PgQuery__DeclareCursorStmt PgQuery__DeclareCursorStmt; -typedef struct PgQuery__CreateTableSpaceStmt PgQuery__CreateTableSpaceStmt; -typedef struct PgQuery__DropTableSpaceStmt PgQuery__DropTableSpaceStmt; -typedef struct PgQuery__AlterObjectDependsStmt PgQuery__AlterObjectDependsStmt; -typedef struct PgQuery__AlterObjectSchemaStmt PgQuery__AlterObjectSchemaStmt; -typedef struct PgQuery__AlterOwnerStmt PgQuery__AlterOwnerStmt; -typedef struct PgQuery__AlterOperatorStmt PgQuery__AlterOperatorStmt; -typedef struct PgQuery__AlterTypeStmt PgQuery__AlterTypeStmt; typedef struct PgQuery__DropOwnedStmt PgQuery__DropOwnedStmt; typedef struct PgQuery__ReassignOwnedStmt PgQuery__ReassignOwnedStmt; -typedef struct PgQuery__CompositeTypeStmt PgQuery__CompositeTypeStmt; -typedef struct PgQuery__CreateEnumStmt PgQuery__CreateEnumStmt; -typedef struct PgQuery__CreateRangeStmt PgQuery__CreateRangeStmt; -typedef struct PgQuery__AlterEnumStmt PgQuery__AlterEnumStmt; typedef struct PgQuery__AlterTSDictionaryStmt PgQuery__AlterTSDictionaryStmt; typedef struct PgQuery__AlterTSConfigurationStmt PgQuery__AlterTSConfigurationStmt; -typedef struct PgQuery__CreateFdwStmt PgQuery__CreateFdwStmt; -typedef struct PgQuery__AlterFdwStmt PgQuery__AlterFdwStmt; -typedef struct PgQuery__CreateForeignServerStmt PgQuery__CreateForeignServerStmt; -typedef struct PgQuery__AlterForeignServerStmt PgQuery__AlterForeignServerStmt; -typedef struct PgQuery__CreateUserMappingStmt PgQuery__CreateUserMappingStmt; -typedef struct PgQuery__AlterUserMappingStmt PgQuery__AlterUserMappingStmt; -typedef struct PgQuery__DropUserMappingStmt PgQuery__DropUserMappingStmt; -typedef struct PgQuery__AlterTableSpaceOptionsStmt PgQuery__AlterTableSpaceOptionsStmt; -typedef struct PgQuery__AlterTableMoveAllStmt PgQuery__AlterTableMoveAllStmt; -typedef struct PgQuery__SecLabelStmt PgQuery__SecLabelStmt; -typedef struct PgQuery__CreateForeignTableStmt PgQuery__CreateForeignTableStmt; -typedef struct PgQuery__ImportForeignSchemaStmt PgQuery__ImportForeignSchemaStmt; -typedef struct PgQuery__CreateExtensionStmt PgQuery__CreateExtensionStmt; -typedef struct PgQuery__AlterExtensionStmt PgQuery__AlterExtensionStmt; -typedef struct PgQuery__AlterExtensionContentsStmt PgQuery__AlterExtensionContentsStmt; -typedef struct PgQuery__CreateEventTrigStmt PgQuery__CreateEventTrigStmt; -typedef struct PgQuery__AlterEventTrigStmt PgQuery__AlterEventTrigStmt; -typedef struct PgQuery__RefreshMatViewStmt PgQuery__RefreshMatViewStmt; -typedef struct PgQuery__ReplicaIdentityStmt PgQuery__ReplicaIdentityStmt; -typedef struct PgQuery__AlterSystemStmt PgQuery__AlterSystemStmt; -typedef struct PgQuery__CreatePolicyStmt PgQuery__CreatePolicyStmt; -typedef struct PgQuery__AlterPolicyStmt PgQuery__AlterPolicyStmt; -typedef struct PgQuery__CreateTransformStmt PgQuery__CreateTransformStmt; -typedef struct PgQuery__CreateAmStmt PgQuery__CreateAmStmt; +typedef struct PgQuery__PublicationTable PgQuery__PublicationTable; +typedef struct PgQuery__PublicationObjSpec PgQuery__PublicationObjSpec; typedef struct PgQuery__CreatePublicationStmt PgQuery__CreatePublicationStmt; typedef struct PgQuery__AlterPublicationStmt PgQuery__AlterPublicationStmt; typedef struct PgQuery__CreateSubscriptionStmt PgQuery__CreateSubscriptionStmt; typedef struct PgQuery__AlterSubscriptionStmt PgQuery__AlterSubscriptionStmt; typedef struct PgQuery__DropSubscriptionStmt PgQuery__DropSubscriptionStmt; -typedef struct PgQuery__CreateStatsStmt PgQuery__CreateStatsStmt; -typedef struct PgQuery__AlterCollationStmt PgQuery__AlterCollationStmt; -typedef struct PgQuery__CallStmt PgQuery__CallStmt; -typedef struct PgQuery__AlterStatsStmt PgQuery__AlterStatsStmt; -typedef struct PgQuery__AExpr PgQuery__AExpr; -typedef struct PgQuery__ColumnRef PgQuery__ColumnRef; -typedef struct PgQuery__ParamRef PgQuery__ParamRef; -typedef struct PgQuery__FuncCall PgQuery__FuncCall; -typedef struct PgQuery__AStar PgQuery__AStar; -typedef struct PgQuery__AIndices PgQuery__AIndices; -typedef struct PgQuery__AIndirection PgQuery__AIndirection; -typedef struct PgQuery__AArrayExpr PgQuery__AArrayExpr; -typedef struct PgQuery__ResTarget PgQuery__ResTarget; -typedef struct PgQuery__MultiAssignRef PgQuery__MultiAssignRef; -typedef struct PgQuery__TypeCast PgQuery__TypeCast; -typedef struct PgQuery__CollateClause PgQuery__CollateClause; -typedef struct PgQuery__SortBy PgQuery__SortBy; -typedef struct PgQuery__WindowDef PgQuery__WindowDef; -typedef struct PgQuery__RangeSubselect PgQuery__RangeSubselect; -typedef struct PgQuery__RangeFunction PgQuery__RangeFunction; -typedef struct PgQuery__RangeTableSample PgQuery__RangeTableSample; -typedef struct PgQuery__RangeTableFunc PgQuery__RangeTableFunc; -typedef struct PgQuery__RangeTableFuncCol PgQuery__RangeTableFuncCol; -typedef struct PgQuery__TypeName PgQuery__TypeName; -typedef struct PgQuery__ColumnDef PgQuery__ColumnDef; -typedef struct PgQuery__IndexElem PgQuery__IndexElem; -typedef struct PgQuery__StatsElem PgQuery__StatsElem; -typedef struct PgQuery__Constraint PgQuery__Constraint; -typedef struct PgQuery__DefElem PgQuery__DefElem; -typedef struct PgQuery__RangeTblEntry PgQuery__RangeTblEntry; -typedef struct PgQuery__RangeTblFunction PgQuery__RangeTblFunction; -typedef struct PgQuery__TableSampleClause PgQuery__TableSampleClause; -typedef struct PgQuery__WithCheckOption PgQuery__WithCheckOption; -typedef struct PgQuery__SortGroupClause PgQuery__SortGroupClause; -typedef struct PgQuery__GroupingSet PgQuery__GroupingSet; -typedef struct PgQuery__WindowClause PgQuery__WindowClause; -typedef struct PgQuery__ObjectWithArgs PgQuery__ObjectWithArgs; -typedef struct PgQuery__AccessPriv PgQuery__AccessPriv; -typedef struct PgQuery__CreateOpClassItem PgQuery__CreateOpClassItem; -typedef struct PgQuery__TableLikeClause PgQuery__TableLikeClause; -typedef struct PgQuery__FunctionParameter PgQuery__FunctionParameter; -typedef struct PgQuery__LockingClause PgQuery__LockingClause; -typedef struct PgQuery__RowMarkClause PgQuery__RowMarkClause; -typedef struct PgQuery__XmlSerialize PgQuery__XmlSerialize; -typedef struct PgQuery__WithClause PgQuery__WithClause; -typedef struct PgQuery__InferClause PgQuery__InferClause; -typedef struct PgQuery__OnConflictClause PgQuery__OnConflictClause; -typedef struct PgQuery__CTESearchClause PgQuery__CTESearchClause; -typedef struct PgQuery__CTECycleClause PgQuery__CTECycleClause; -typedef struct PgQuery__CommonTableExpr PgQuery__CommonTableExpr; -typedef struct PgQuery__MergeWhenClause PgQuery__MergeWhenClause; -typedef struct PgQuery__RoleSpec PgQuery__RoleSpec; -typedef struct PgQuery__TriggerTransition PgQuery__TriggerTransition; -typedef struct PgQuery__PartitionElem PgQuery__PartitionElem; -typedef struct PgQuery__PartitionSpec PgQuery__PartitionSpec; -typedef struct PgQuery__PartitionBoundSpec PgQuery__PartitionBoundSpec; -typedef struct PgQuery__PartitionRangeDatum PgQuery__PartitionRangeDatum; -typedef struct PgQuery__PartitionCmd PgQuery__PartitionCmd; -typedef struct PgQuery__VacuumRelation PgQuery__VacuumRelation; -typedef struct PgQuery__PublicationObjSpec PgQuery__PublicationObjSpec; -typedef struct PgQuery__PublicationTable PgQuery__PublicationTable; -typedef struct PgQuery__InlineCodeBlock PgQuery__InlineCodeBlock; -typedef struct PgQuery__CallContext PgQuery__CallContext; typedef struct PgQuery__ScanToken PgQuery__ScanToken; +typedef struct PgQuery__SummaryResult PgQuery__SummaryResult; +typedef struct PgQuery__SummaryResult__Table PgQuery__SummaryResult__Table; +typedef struct PgQuery__SummaryResult__AliasesEntry PgQuery__SummaryResult__AliasesEntry; +typedef struct PgQuery__SummaryResult__Function PgQuery__SummaryResult__Function; +typedef struct PgQuery__SummaryResult__FilterColumn PgQuery__SummaryResult__FilterColumn; /* --- enums --- */ -typedef enum _PgQuery__OverridingKind { - PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED = 0, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET = 1, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE = 2, - PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE = 3 - PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__OVERRIDING_KIND) -} PgQuery__OverridingKind; +typedef enum _PgQuery__SummaryResult__Context { + PG_QUERY__SUMMARY_RESULT__CONTEXT__None = 0, + PG_QUERY__SUMMARY_RESULT__CONTEXT__Select = 1, + PG_QUERY__SUMMARY_RESULT__CONTEXT__DML = 2, + PG_QUERY__SUMMARY_RESULT__CONTEXT__DDL = 3, + PG_QUERY__SUMMARY_RESULT__CONTEXT__Call = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__SUMMARY_RESULT__CONTEXT) +} PgQuery__SummaryResult__Context; typedef enum _PgQuery__QuerySource { PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED = 0, PG_QUERY__QUERY_SOURCE__QSRC_ORIGINAL = 1, @@ -348,6 +384,13 @@ typedef enum _PgQuery__DefElemAction { PG_QUERY__DEF_ELEM_ACTION__DEFELEM_DROP = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__DEF_ELEM_ACTION) } PgQuery__DefElemAction; +typedef enum _PgQuery__PartitionStrategy { + PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_UNDEFINED = 0, + PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_LIST = 1, + PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_RANGE = 2, + PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_HASH = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__PARTITION_STRATEGY) +} PgQuery__PartitionStrategy; typedef enum _PgQuery__PartitionRangeDatumKind { PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_KIND_UNDEFINED = 0, PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_MINVALUE = 1, @@ -394,6 +437,22 @@ typedef enum _PgQuery__CTEMaterialize { PG_QUERY__CTEMATERIALIZE__CTEMaterializeNever = 3 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__CTEMATERIALIZE) } PgQuery__CTEMaterialize; +typedef enum _PgQuery__JsonQuotes { + PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED = 0, + PG_QUERY__JSON_QUOTES__JS_QUOTES_UNSPEC = 1, + PG_QUERY__JSON_QUOTES__JS_QUOTES_KEEP = 2, + PG_QUERY__JSON_QUOTES__JS_QUOTES_OMIT = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_QUOTES) +} PgQuery__JsonQuotes; +typedef enum _PgQuery__JsonTableColumnType { + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FOR_ORDINALITY = 1, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_REGULAR = 2, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_EXISTS = 3, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FORMATTED = 4, + PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_NESTED = 5 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_TABLE_COLUMN_TYPE) +} PgQuery__JsonTableColumnType; typedef enum _PgQuery__SetOperation { PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED = 0, PG_QUERY__SET_OPERATION__SETOP_NONE = 1, @@ -467,12 +526,12 @@ typedef enum _PgQuery__DropBehavior { typedef enum _PgQuery__AlterTableType { PG_QUERY__ALTER_TABLE_TYPE__ALTER_TABLE_TYPE_UNDEFINED = 0, PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumn = 1, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnRecurse = 2, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnToView = 3, - PG_QUERY__ALTER_TABLE_TYPE__AT_ColumnDefault = 4, - PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault = 5, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull = 6, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull = 7, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnToView = 2, + PG_QUERY__ALTER_TABLE_TYPE__AT_ColumnDefault = 3, + PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault = 4, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull = 5, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull = 6, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetExpression = 7, PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression = 8, PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull = 9, PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics = 10, @@ -481,62 +540,58 @@ typedef enum _PgQuery__AlterTableType { PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage = 13, PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression = 14, PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn = 15, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumnRecurse = 16, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex = 17, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex = 18, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint = 19, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraintRecurse = 20, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint = 21, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint = 22, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint = 23, - PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint = 24, - PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraintRecurse = 25, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint = 26, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint = 27, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraintRecurse = 28, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment = 29, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType = 30, - PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions = 31, - PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner = 32, - PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn = 33, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster = 34, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged = 35, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged = 36, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids = 37, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod = 38, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace = 39, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions = 40, - PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions = 41, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions = 42, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig = 43, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig = 44, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig = 45, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig = 46, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll = 47, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll = 48, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser = 49, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser = 50, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule = 51, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule = 52, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule = 53, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule = 54, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit = 55, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit = 56, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf = 57, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf = 58, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity = 59, - PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity = 60, - PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity = 61, - PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity = 62, - PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity = 63, - PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions = 64, - PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition = 65, - PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition = 66, - PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize = 67, - PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity = 68, - PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity = 69, - PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity = 70, - PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics = 71 + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex = 16, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex = 17, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint = 18, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint = 19, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint = 20, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint = 21, + PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint = 22, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint = 23, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint = 24, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment = 25, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType = 26, + PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions = 27, + PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner = 28, + PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn = 29, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster = 30, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged = 31, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged = 32, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids = 33, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod = 34, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace = 35, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions = 36, + PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions = 37, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions = 38, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig = 39, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig = 40, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig = 41, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig = 42, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll = 43, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll = 44, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser = 45, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser = 46, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule = 47, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule = 48, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule = 49, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule = 50, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit = 51, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit = 52, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf = 53, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf = 54, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity = 55, + PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity = 56, + PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity = 57, + PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity = 58, + PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity = 59, + PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions = 60, + PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition = 61, + PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition = 62, + PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize = 63, + PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity = 64, + PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity = 65, + PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity = 66, + PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics = 67 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ALTER_TABLE_TYPE) } PgQuery__AlterTableType; typedef enum _PgQuery__GrantTargetType { @@ -680,7 +735,14 @@ typedef enum _PgQuery__AlterSubscriptionType { PG_QUERY__ALTER_SUBSCRIPTION_TYPE__ALTER_SUBSCRIPTION_SKIP = 8 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ALTER_SUBSCRIPTION_TYPE) } PgQuery__AlterSubscriptionType; -typedef enum _PgQuery__OnCommitAction { +typedef enum _PgQuery__OverridingKind { + PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED = 0, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET = 1, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE = 2, + PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__OVERRIDING_KIND) +} PgQuery__OverridingKind; +typedef enum _PgQuery__OnCommitAction { PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED = 0, PG_QUERY__ON_COMMIT_ACTION__ONCOMMIT_NOOP = 1, PG_QUERY__ON_COMMIT_ACTION__ONCOMMIT_PRESERVE_ROWS = 2, @@ -688,6 +750,12 @@ typedef enum _PgQuery__OnCommitAction { PG_QUERY__ON_COMMIT_ACTION__ONCOMMIT_DROP = 4 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__ON_COMMIT_ACTION) } PgQuery__OnCommitAction; +typedef enum _PgQuery__TableFuncType { + PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED = 0, + PG_QUERY__TABLE_FUNC_TYPE__TFT_XMLTABLE = 1, + PG_QUERY__TABLE_FUNC_TYPE__TFT_JSON_TABLE = 2 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__TABLE_FUNC_TYPE) +} PgQuery__TableFuncType; typedef enum _PgQuery__ParamKind { PG_QUERY__PARAM_KIND__PARAM_KIND_UNDEFINED = 0, PG_QUERY__PARAM_KIND__PARAM_EXTERN = 1, @@ -784,6 +852,69 @@ typedef enum _PgQuery__XmlOptionType { PG_QUERY__XML_OPTION_TYPE__XMLOPTION_CONTENT = 2 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__XML_OPTION_TYPE) } PgQuery__XmlOptionType; +typedef enum _PgQuery__JsonEncoding { + PG_QUERY__JSON_ENCODING__JSON_ENCODING_UNDEFINED = 0, + PG_QUERY__JSON_ENCODING__JS_ENC_DEFAULT = 1, + PG_QUERY__JSON_ENCODING__JS_ENC_UTF8 = 2, + PG_QUERY__JSON_ENCODING__JS_ENC_UTF16 = 3, + PG_QUERY__JSON_ENCODING__JS_ENC_UTF32 = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_ENCODING) +} PgQuery__JsonEncoding; +typedef enum _PgQuery__JsonFormatType { + PG_QUERY__JSON_FORMAT_TYPE__JSON_FORMAT_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_DEFAULT = 1, + PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_JSON = 2, + PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_JSONB = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_FORMAT_TYPE) +} PgQuery__JsonFormatType; +typedef enum _PgQuery__JsonConstructorType { + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSON_CONSTRUCTOR_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECT = 1, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAY = 2, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECTAGG = 3, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAYAGG = 4, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_PARSE = 5, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SCALAR = 6, + PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SERIALIZE = 7 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_CONSTRUCTOR_TYPE) +} PgQuery__JsonConstructorType; +typedef enum _PgQuery__JsonValueType { + PG_QUERY__JSON_VALUE_TYPE__JSON_VALUE_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_ANY = 1, + PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_OBJECT = 2, + PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_ARRAY = 3, + PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_SCALAR = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_VALUE_TYPE) +} PgQuery__JsonValueType; +typedef enum _PgQuery__JsonWrapper { + PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED = 0, + PG_QUERY__JSON_WRAPPER__JSW_UNSPEC = 1, + PG_QUERY__JSON_WRAPPER__JSW_NONE = 2, + PG_QUERY__JSON_WRAPPER__JSW_CONDITIONAL = 3, + PG_QUERY__JSON_WRAPPER__JSW_UNCONDITIONAL = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_WRAPPER) +} PgQuery__JsonWrapper; +typedef enum _PgQuery__JsonBehaviorType { + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED = 0, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_NULL = 1, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_ERROR = 2, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY = 3, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TRUE = 4, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_FALSE = 5, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_UNKNOWN = 6, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_ARRAY = 7, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_OBJECT = 8, + PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_DEFAULT = 9 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_BEHAVIOR_TYPE) +} PgQuery__JsonBehaviorType; +typedef enum _PgQuery__JsonExprOp { + PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED = 0, + PG_QUERY__JSON_EXPR_OP__JSON_EXISTS_OP = 1, + PG_QUERY__JSON_EXPR_OP__JSON_QUERY_OP = 2, + PG_QUERY__JSON_EXPR_OP__JSON_VALUE_OP = 3, + PG_QUERY__JSON_EXPR_OP__JSON_TABLE_OP = 4 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JSON_EXPR_OP) +} PgQuery__JsonExprOp; typedef enum _PgQuery__NullTestType { PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED = 0, PG_QUERY__NULL_TEST_TYPE__IS_NULL = 1, @@ -800,6 +931,13 @@ typedef enum _PgQuery__BoolTestType { PG_QUERY__BOOL_TEST_TYPE__IS_NOT_UNKNOWN = 6 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__BOOL_TEST_TYPE) } PgQuery__BoolTestType; +typedef enum _PgQuery__MergeMatchKind { + PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED = 0, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_MATCHED = 1, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_SOURCE = 2, + PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_TARGET = 3 + PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__MERGE_MATCH_KIND) +} PgQuery__MergeMatchKind; typedef enum _PgQuery__CmdType { PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED = 0, PG_QUERY__CMD_TYPE__CMD_UNKNOWN = 1, @@ -820,8 +958,9 @@ typedef enum _PgQuery__JoinType { PG_QUERY__JOIN_TYPE__JOIN_RIGHT = 4, PG_QUERY__JOIN_TYPE__JOIN_SEMI = 5, PG_QUERY__JOIN_TYPE__JOIN_ANTI = 6, - PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_OUTER = 7, - PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_INNER = 8 + PG_QUERY__JOIN_TYPE__JOIN_RIGHT_ANTI = 7, + PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_OUTER = 8, + PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_INNER = 9 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__JOIN_TYPE) } PgQuery__JoinType; typedef enum _PgQuery__AggStrategy { @@ -906,6 +1045,10 @@ typedef enum _PgQuery__Token { * Either supporting syntax, or single-character operators (some can be both) * Also see https://www.postgresql.org/docs/12/sql-syntax-lexical.html#SQL-SYNTAX-SPECIAL-CHARS */ + /* + * "$" + */ + PG_QUERY__TOKEN__ASCII_36 = 36, /* * "%" */ @@ -1005,474 +1148,507 @@ typedef enum _PgQuery__Token { PG_QUERY__TOKEN__SQL_COMMENT = 275, PG_QUERY__TOKEN__C_COMMENT = 276, PG_QUERY__TOKEN__ABORT_P = 277, - PG_QUERY__TOKEN__ABSOLUTE_P = 278, - PG_QUERY__TOKEN__ACCESS = 279, - PG_QUERY__TOKEN__ACTION = 280, - PG_QUERY__TOKEN__ADD_P = 281, - PG_QUERY__TOKEN__ADMIN = 282, - PG_QUERY__TOKEN__AFTER = 283, - PG_QUERY__TOKEN__AGGREGATE = 284, - PG_QUERY__TOKEN__ALL = 285, - PG_QUERY__TOKEN__ALSO = 286, - PG_QUERY__TOKEN__ALTER = 287, - PG_QUERY__TOKEN__ALWAYS = 288, - PG_QUERY__TOKEN__ANALYSE = 289, - PG_QUERY__TOKEN__ANALYZE = 290, - PG_QUERY__TOKEN__AND = 291, - PG_QUERY__TOKEN__ANY = 292, - PG_QUERY__TOKEN__ARRAY = 293, - PG_QUERY__TOKEN__AS = 294, - PG_QUERY__TOKEN__ASC = 295, - PG_QUERY__TOKEN__ASENSITIVE = 296, - PG_QUERY__TOKEN__ASSERTION = 297, - PG_QUERY__TOKEN__ASSIGNMENT = 298, - PG_QUERY__TOKEN__ASYMMETRIC = 299, - PG_QUERY__TOKEN__ATOMIC = 300, - PG_QUERY__TOKEN__AT = 301, - PG_QUERY__TOKEN__ATTACH = 302, - PG_QUERY__TOKEN__ATTRIBUTE = 303, - PG_QUERY__TOKEN__AUTHORIZATION = 304, - PG_QUERY__TOKEN__BACKWARD = 305, - PG_QUERY__TOKEN__BEFORE = 306, - PG_QUERY__TOKEN__BEGIN_P = 307, - PG_QUERY__TOKEN__BETWEEN = 308, - PG_QUERY__TOKEN__BIGINT = 309, - PG_QUERY__TOKEN__BINARY = 310, - PG_QUERY__TOKEN__BIT = 311, - PG_QUERY__TOKEN__BOOLEAN_P = 312, - PG_QUERY__TOKEN__BOTH = 313, - PG_QUERY__TOKEN__BREADTH = 314, - PG_QUERY__TOKEN__BY = 315, - PG_QUERY__TOKEN__CACHE = 316, - PG_QUERY__TOKEN__CALL = 317, - PG_QUERY__TOKEN__CALLED = 318, - PG_QUERY__TOKEN__CASCADE = 319, - PG_QUERY__TOKEN__CASCADED = 320, - PG_QUERY__TOKEN__CASE = 321, - PG_QUERY__TOKEN__CAST = 322, - PG_QUERY__TOKEN__CATALOG_P = 323, - PG_QUERY__TOKEN__CHAIN = 324, - PG_QUERY__TOKEN__CHAR_P = 325, - PG_QUERY__TOKEN__CHARACTER = 326, - PG_QUERY__TOKEN__CHARACTERISTICS = 327, - PG_QUERY__TOKEN__CHECK = 328, - PG_QUERY__TOKEN__CHECKPOINT = 329, - PG_QUERY__TOKEN__CLASS = 330, - PG_QUERY__TOKEN__CLOSE = 331, - PG_QUERY__TOKEN__CLUSTER = 332, - PG_QUERY__TOKEN__COALESCE = 333, - PG_QUERY__TOKEN__COLLATE = 334, - PG_QUERY__TOKEN__COLLATION = 335, - PG_QUERY__TOKEN__COLUMN = 336, - PG_QUERY__TOKEN__COLUMNS = 337, - PG_QUERY__TOKEN__COMMENT = 338, - PG_QUERY__TOKEN__COMMENTS = 339, - PG_QUERY__TOKEN__COMMIT = 340, - PG_QUERY__TOKEN__COMMITTED = 341, - PG_QUERY__TOKEN__COMPRESSION = 342, - PG_QUERY__TOKEN__CONCURRENTLY = 343, - PG_QUERY__TOKEN__CONFIGURATION = 344, - PG_QUERY__TOKEN__CONFLICT = 345, - PG_QUERY__TOKEN__CONNECTION = 346, - PG_QUERY__TOKEN__CONSTRAINT = 347, - PG_QUERY__TOKEN__CONSTRAINTS = 348, - PG_QUERY__TOKEN__CONTENT_P = 349, - PG_QUERY__TOKEN__CONTINUE_P = 350, - PG_QUERY__TOKEN__CONVERSION_P = 351, - PG_QUERY__TOKEN__COPY = 352, - PG_QUERY__TOKEN__COST = 353, - PG_QUERY__TOKEN__CREATE = 354, - PG_QUERY__TOKEN__CROSS = 355, - PG_QUERY__TOKEN__CSV = 356, - PG_QUERY__TOKEN__CUBE = 357, - PG_QUERY__TOKEN__CURRENT_P = 358, - PG_QUERY__TOKEN__CURRENT_CATALOG = 359, - PG_QUERY__TOKEN__CURRENT_DATE = 360, - PG_QUERY__TOKEN__CURRENT_ROLE = 361, - PG_QUERY__TOKEN__CURRENT_SCHEMA = 362, - PG_QUERY__TOKEN__CURRENT_TIME = 363, - PG_QUERY__TOKEN__CURRENT_TIMESTAMP = 364, - PG_QUERY__TOKEN__CURRENT_USER = 365, - PG_QUERY__TOKEN__CURSOR = 366, - PG_QUERY__TOKEN__CYCLE = 367, - PG_QUERY__TOKEN__DATA_P = 368, - PG_QUERY__TOKEN__DATABASE = 369, - PG_QUERY__TOKEN__DAY_P = 370, - PG_QUERY__TOKEN__DEALLOCATE = 371, - PG_QUERY__TOKEN__DEC = 372, - PG_QUERY__TOKEN__DECIMAL_P = 373, - PG_QUERY__TOKEN__DECLARE = 374, - PG_QUERY__TOKEN__DEFAULT = 375, - PG_QUERY__TOKEN__DEFAULTS = 376, - PG_QUERY__TOKEN__DEFERRABLE = 377, - PG_QUERY__TOKEN__DEFERRED = 378, - PG_QUERY__TOKEN__DEFINER = 379, - PG_QUERY__TOKEN__DELETE_P = 380, - PG_QUERY__TOKEN__DELIMITER = 381, - PG_QUERY__TOKEN__DELIMITERS = 382, - PG_QUERY__TOKEN__DEPENDS = 383, - PG_QUERY__TOKEN__DEPTH = 384, - PG_QUERY__TOKEN__DESC = 385, - PG_QUERY__TOKEN__DETACH = 386, - PG_QUERY__TOKEN__DICTIONARY = 387, - PG_QUERY__TOKEN__DISABLE_P = 388, - PG_QUERY__TOKEN__DISCARD = 389, - PG_QUERY__TOKEN__DISTINCT = 390, - PG_QUERY__TOKEN__DO = 391, - PG_QUERY__TOKEN__DOCUMENT_P = 392, - PG_QUERY__TOKEN__DOMAIN_P = 393, - PG_QUERY__TOKEN__DOUBLE_P = 394, - PG_QUERY__TOKEN__DROP = 395, - PG_QUERY__TOKEN__EACH = 396, - PG_QUERY__TOKEN__ELSE = 397, - PG_QUERY__TOKEN__ENABLE_P = 398, - PG_QUERY__TOKEN__ENCODING = 399, - PG_QUERY__TOKEN__ENCRYPTED = 400, - PG_QUERY__TOKEN__END_P = 401, - PG_QUERY__TOKEN__ENUM_P = 402, - PG_QUERY__TOKEN__ESCAPE = 403, - PG_QUERY__TOKEN__EVENT = 404, - PG_QUERY__TOKEN__EXCEPT = 405, - PG_QUERY__TOKEN__EXCLUDE = 406, - PG_QUERY__TOKEN__EXCLUDING = 407, - PG_QUERY__TOKEN__EXCLUSIVE = 408, - PG_QUERY__TOKEN__EXECUTE = 409, - PG_QUERY__TOKEN__EXISTS = 410, - PG_QUERY__TOKEN__EXPLAIN = 411, - PG_QUERY__TOKEN__EXPRESSION = 412, - PG_QUERY__TOKEN__EXTENSION = 413, - PG_QUERY__TOKEN__EXTERNAL = 414, - PG_QUERY__TOKEN__EXTRACT = 415, - PG_QUERY__TOKEN__FALSE_P = 416, - PG_QUERY__TOKEN__FAMILY = 417, - PG_QUERY__TOKEN__FETCH = 418, - PG_QUERY__TOKEN__FILTER = 419, - PG_QUERY__TOKEN__FINALIZE = 420, - PG_QUERY__TOKEN__FIRST_P = 421, - PG_QUERY__TOKEN__FLOAT_P = 422, - PG_QUERY__TOKEN__FOLLOWING = 423, - PG_QUERY__TOKEN__FOR = 424, - PG_QUERY__TOKEN__FORCE = 425, - PG_QUERY__TOKEN__FOREIGN = 426, - PG_QUERY__TOKEN__FORWARD = 427, - PG_QUERY__TOKEN__FREEZE = 428, - PG_QUERY__TOKEN__FROM = 429, - PG_QUERY__TOKEN__FULL = 430, - PG_QUERY__TOKEN__FUNCTION = 431, - PG_QUERY__TOKEN__FUNCTIONS = 432, - PG_QUERY__TOKEN__GENERATED = 433, - PG_QUERY__TOKEN__GLOBAL = 434, - PG_QUERY__TOKEN__GRANT = 435, - PG_QUERY__TOKEN__GRANTED = 436, - PG_QUERY__TOKEN__GREATEST = 437, - PG_QUERY__TOKEN__GROUP_P = 438, - PG_QUERY__TOKEN__GROUPING = 439, - PG_QUERY__TOKEN__GROUPS = 440, - PG_QUERY__TOKEN__HANDLER = 441, - PG_QUERY__TOKEN__HAVING = 442, - PG_QUERY__TOKEN__HEADER_P = 443, - PG_QUERY__TOKEN__HOLD = 444, - PG_QUERY__TOKEN__HOUR_P = 445, - PG_QUERY__TOKEN__IDENTITY_P = 446, - PG_QUERY__TOKEN__IF_P = 447, - PG_QUERY__TOKEN__ILIKE = 448, - PG_QUERY__TOKEN__IMMEDIATE = 449, - PG_QUERY__TOKEN__IMMUTABLE = 450, - PG_QUERY__TOKEN__IMPLICIT_P = 451, - PG_QUERY__TOKEN__IMPORT_P = 452, - PG_QUERY__TOKEN__IN_P = 453, - PG_QUERY__TOKEN__INCLUDE = 454, - PG_QUERY__TOKEN__INCLUDING = 455, - PG_QUERY__TOKEN__INCREMENT = 456, - PG_QUERY__TOKEN__INDEX = 457, - PG_QUERY__TOKEN__INDEXES = 458, - PG_QUERY__TOKEN__INHERIT = 459, - PG_QUERY__TOKEN__INHERITS = 460, - PG_QUERY__TOKEN__INITIALLY = 461, - PG_QUERY__TOKEN__INLINE_P = 462, - PG_QUERY__TOKEN__INNER_P = 463, - PG_QUERY__TOKEN__INOUT = 464, - PG_QUERY__TOKEN__INPUT_P = 465, - PG_QUERY__TOKEN__INSENSITIVE = 466, - PG_QUERY__TOKEN__INSERT = 467, - PG_QUERY__TOKEN__INSTEAD = 468, - PG_QUERY__TOKEN__INT_P = 469, - PG_QUERY__TOKEN__INTEGER = 470, - PG_QUERY__TOKEN__INTERSECT = 471, - PG_QUERY__TOKEN__INTERVAL = 472, - PG_QUERY__TOKEN__INTO = 473, - PG_QUERY__TOKEN__INVOKER = 474, - PG_QUERY__TOKEN__IS = 475, - PG_QUERY__TOKEN__ISNULL = 476, - PG_QUERY__TOKEN__ISOLATION = 477, - PG_QUERY__TOKEN__JOIN = 478, - PG_QUERY__TOKEN__KEY = 479, - PG_QUERY__TOKEN__LABEL = 480, - PG_QUERY__TOKEN__LANGUAGE = 481, - PG_QUERY__TOKEN__LARGE_P = 482, - PG_QUERY__TOKEN__LAST_P = 483, - PG_QUERY__TOKEN__LATERAL_P = 484, - PG_QUERY__TOKEN__LEADING = 485, - PG_QUERY__TOKEN__LEAKPROOF = 486, - PG_QUERY__TOKEN__LEAST = 487, - PG_QUERY__TOKEN__LEFT = 488, - PG_QUERY__TOKEN__LEVEL = 489, - PG_QUERY__TOKEN__LIKE = 490, - PG_QUERY__TOKEN__LIMIT = 491, - PG_QUERY__TOKEN__LISTEN = 492, - PG_QUERY__TOKEN__LOAD = 493, - PG_QUERY__TOKEN__LOCAL = 494, - PG_QUERY__TOKEN__LOCALTIME = 495, - PG_QUERY__TOKEN__LOCALTIMESTAMP = 496, - PG_QUERY__TOKEN__LOCATION = 497, - PG_QUERY__TOKEN__LOCK_P = 498, - PG_QUERY__TOKEN__LOCKED = 499, - PG_QUERY__TOKEN__LOGGED = 500, - PG_QUERY__TOKEN__MAPPING = 501, - PG_QUERY__TOKEN__MATCH = 502, - PG_QUERY__TOKEN__MATCHED = 503, - PG_QUERY__TOKEN__MATERIALIZED = 504, - PG_QUERY__TOKEN__MAXVALUE = 505, - PG_QUERY__TOKEN__MERGE = 506, - PG_QUERY__TOKEN__METHOD = 507, - PG_QUERY__TOKEN__MINUTE_P = 508, - PG_QUERY__TOKEN__MINVALUE = 509, - PG_QUERY__TOKEN__MODE = 510, - PG_QUERY__TOKEN__MONTH_P = 511, - PG_QUERY__TOKEN__MOVE = 512, - PG_QUERY__TOKEN__NAME_P = 513, - PG_QUERY__TOKEN__NAMES = 514, - PG_QUERY__TOKEN__NATIONAL = 515, - PG_QUERY__TOKEN__NATURAL = 516, - PG_QUERY__TOKEN__NCHAR = 517, - PG_QUERY__TOKEN__NEW = 518, - PG_QUERY__TOKEN__NEXT = 519, - PG_QUERY__TOKEN__NFC = 520, - PG_QUERY__TOKEN__NFD = 521, - PG_QUERY__TOKEN__NFKC = 522, - PG_QUERY__TOKEN__NFKD = 523, - PG_QUERY__TOKEN__NO = 524, - PG_QUERY__TOKEN__NONE = 525, - PG_QUERY__TOKEN__NORMALIZE = 526, - PG_QUERY__TOKEN__NORMALIZED = 527, - PG_QUERY__TOKEN__NOT = 528, - PG_QUERY__TOKEN__NOTHING = 529, - PG_QUERY__TOKEN__NOTIFY = 530, - PG_QUERY__TOKEN__NOTNULL = 531, - PG_QUERY__TOKEN__NOWAIT = 532, - PG_QUERY__TOKEN__NULL_P = 533, - PG_QUERY__TOKEN__NULLIF = 534, - PG_QUERY__TOKEN__NULLS_P = 535, - PG_QUERY__TOKEN__NUMERIC = 536, - PG_QUERY__TOKEN__OBJECT_P = 537, - PG_QUERY__TOKEN__OF = 538, - PG_QUERY__TOKEN__OFF = 539, - PG_QUERY__TOKEN__OFFSET = 540, - PG_QUERY__TOKEN__OIDS = 541, - PG_QUERY__TOKEN__OLD = 542, - PG_QUERY__TOKEN__ON = 543, - PG_QUERY__TOKEN__ONLY = 544, - PG_QUERY__TOKEN__OPERATOR = 545, - PG_QUERY__TOKEN__OPTION = 546, - PG_QUERY__TOKEN__OPTIONS = 547, - PG_QUERY__TOKEN__OR = 548, - PG_QUERY__TOKEN__ORDER = 549, - PG_QUERY__TOKEN__ORDINALITY = 550, - PG_QUERY__TOKEN__OTHERS = 551, - PG_QUERY__TOKEN__OUT_P = 552, - PG_QUERY__TOKEN__OUTER_P = 553, - PG_QUERY__TOKEN__OVER = 554, - PG_QUERY__TOKEN__OVERLAPS = 555, - PG_QUERY__TOKEN__OVERLAY = 556, - PG_QUERY__TOKEN__OVERRIDING = 557, - PG_QUERY__TOKEN__OWNED = 558, - PG_QUERY__TOKEN__OWNER = 559, - PG_QUERY__TOKEN__PARALLEL = 560, - PG_QUERY__TOKEN__PARAMETER = 561, - PG_QUERY__TOKEN__PARSER = 562, - PG_QUERY__TOKEN__PARTIAL = 563, - PG_QUERY__TOKEN__PARTITION = 564, - PG_QUERY__TOKEN__PASSING = 565, - PG_QUERY__TOKEN__PASSWORD = 566, - PG_QUERY__TOKEN__PLACING = 567, - PG_QUERY__TOKEN__PLANS = 568, - PG_QUERY__TOKEN__POLICY = 569, - PG_QUERY__TOKEN__POSITION = 570, - PG_QUERY__TOKEN__PRECEDING = 571, - PG_QUERY__TOKEN__PRECISION = 572, - PG_QUERY__TOKEN__PRESERVE = 573, - PG_QUERY__TOKEN__PREPARE = 574, - PG_QUERY__TOKEN__PREPARED = 575, - PG_QUERY__TOKEN__PRIMARY = 576, - PG_QUERY__TOKEN__PRIOR = 577, - PG_QUERY__TOKEN__PRIVILEGES = 578, - PG_QUERY__TOKEN__PROCEDURAL = 579, - PG_QUERY__TOKEN__PROCEDURE = 580, - PG_QUERY__TOKEN__PROCEDURES = 581, - PG_QUERY__TOKEN__PROGRAM = 582, - PG_QUERY__TOKEN__PUBLICATION = 583, - PG_QUERY__TOKEN__QUOTE = 584, - PG_QUERY__TOKEN__RANGE = 585, - PG_QUERY__TOKEN__READ = 586, - PG_QUERY__TOKEN__REAL = 587, - PG_QUERY__TOKEN__REASSIGN = 588, - PG_QUERY__TOKEN__RECHECK = 589, - PG_QUERY__TOKEN__RECURSIVE = 590, - PG_QUERY__TOKEN__REF_P = 591, - PG_QUERY__TOKEN__REFERENCES = 592, - PG_QUERY__TOKEN__REFERENCING = 593, - PG_QUERY__TOKEN__REFRESH = 594, - PG_QUERY__TOKEN__REINDEX = 595, - PG_QUERY__TOKEN__RELATIVE_P = 596, - PG_QUERY__TOKEN__RELEASE = 597, - PG_QUERY__TOKEN__RENAME = 598, - PG_QUERY__TOKEN__REPEATABLE = 599, - PG_QUERY__TOKEN__REPLACE = 600, - PG_QUERY__TOKEN__REPLICA = 601, - PG_QUERY__TOKEN__RESET = 602, - PG_QUERY__TOKEN__RESTART = 603, - PG_QUERY__TOKEN__RESTRICT = 604, - PG_QUERY__TOKEN__RETURN = 605, - PG_QUERY__TOKEN__RETURNING = 606, - PG_QUERY__TOKEN__RETURNS = 607, - PG_QUERY__TOKEN__REVOKE = 608, - PG_QUERY__TOKEN__RIGHT = 609, - PG_QUERY__TOKEN__ROLE = 610, - PG_QUERY__TOKEN__ROLLBACK = 611, - PG_QUERY__TOKEN__ROLLUP = 612, - PG_QUERY__TOKEN__ROUTINE = 613, - PG_QUERY__TOKEN__ROUTINES = 614, - PG_QUERY__TOKEN__ROW = 615, - PG_QUERY__TOKEN__ROWS = 616, - PG_QUERY__TOKEN__RULE = 617, - PG_QUERY__TOKEN__SAVEPOINT = 618, - PG_QUERY__TOKEN__SCHEMA = 619, - PG_QUERY__TOKEN__SCHEMAS = 620, - PG_QUERY__TOKEN__SCROLL = 621, - PG_QUERY__TOKEN__SEARCH = 622, - PG_QUERY__TOKEN__SECOND_P = 623, - PG_QUERY__TOKEN__SECURITY = 624, - PG_QUERY__TOKEN__SELECT = 625, - PG_QUERY__TOKEN__SEQUENCE = 626, - PG_QUERY__TOKEN__SEQUENCES = 627, - PG_QUERY__TOKEN__SERIALIZABLE = 628, - PG_QUERY__TOKEN__SERVER = 629, - PG_QUERY__TOKEN__SESSION = 630, - PG_QUERY__TOKEN__SESSION_USER = 631, - PG_QUERY__TOKEN__SET = 632, - PG_QUERY__TOKEN__SETS = 633, - PG_QUERY__TOKEN__SETOF = 634, - PG_QUERY__TOKEN__SHARE = 635, - PG_QUERY__TOKEN__SHOW = 636, - PG_QUERY__TOKEN__SIMILAR = 637, - PG_QUERY__TOKEN__SIMPLE = 638, - PG_QUERY__TOKEN__SKIP = 639, - PG_QUERY__TOKEN__SMALLINT = 640, - PG_QUERY__TOKEN__SNAPSHOT = 641, - PG_QUERY__TOKEN__SOME = 642, - PG_QUERY__TOKEN__SQL_P = 643, - PG_QUERY__TOKEN__STABLE = 644, - PG_QUERY__TOKEN__STANDALONE_P = 645, - PG_QUERY__TOKEN__START = 646, - PG_QUERY__TOKEN__STATEMENT = 647, - PG_QUERY__TOKEN__STATISTICS = 648, - PG_QUERY__TOKEN__STDIN = 649, - PG_QUERY__TOKEN__STDOUT = 650, - PG_QUERY__TOKEN__STORAGE = 651, - PG_QUERY__TOKEN__STORED = 652, - PG_QUERY__TOKEN__STRICT_P = 653, - PG_QUERY__TOKEN__STRIP_P = 654, - PG_QUERY__TOKEN__SUBSCRIPTION = 655, - PG_QUERY__TOKEN__SUBSTRING = 656, - PG_QUERY__TOKEN__SUPPORT = 657, - PG_QUERY__TOKEN__SYMMETRIC = 658, - PG_QUERY__TOKEN__SYSID = 659, - PG_QUERY__TOKEN__SYSTEM_P = 660, - PG_QUERY__TOKEN__TABLE = 661, - PG_QUERY__TOKEN__TABLES = 662, - PG_QUERY__TOKEN__TABLESAMPLE = 663, - PG_QUERY__TOKEN__TABLESPACE = 664, - PG_QUERY__TOKEN__TEMP = 665, - PG_QUERY__TOKEN__TEMPLATE = 666, - PG_QUERY__TOKEN__TEMPORARY = 667, - PG_QUERY__TOKEN__TEXT_P = 668, - PG_QUERY__TOKEN__THEN = 669, - PG_QUERY__TOKEN__TIES = 670, - PG_QUERY__TOKEN__TIME = 671, - PG_QUERY__TOKEN__TIMESTAMP = 672, - PG_QUERY__TOKEN__TO = 673, - PG_QUERY__TOKEN__TRAILING = 674, - PG_QUERY__TOKEN__TRANSACTION = 675, - PG_QUERY__TOKEN__TRANSFORM = 676, - PG_QUERY__TOKEN__TREAT = 677, - PG_QUERY__TOKEN__TRIGGER = 678, - PG_QUERY__TOKEN__TRIM = 679, - PG_QUERY__TOKEN__TRUE_P = 680, - PG_QUERY__TOKEN__TRUNCATE = 681, - PG_QUERY__TOKEN__TRUSTED = 682, - PG_QUERY__TOKEN__TYPE_P = 683, - PG_QUERY__TOKEN__TYPES_P = 684, - PG_QUERY__TOKEN__UESCAPE = 685, - PG_QUERY__TOKEN__UNBOUNDED = 686, - PG_QUERY__TOKEN__UNCOMMITTED = 687, - PG_QUERY__TOKEN__UNENCRYPTED = 688, - PG_QUERY__TOKEN__UNION = 689, - PG_QUERY__TOKEN__UNIQUE = 690, - PG_QUERY__TOKEN__UNKNOWN = 691, - PG_QUERY__TOKEN__UNLISTEN = 692, - PG_QUERY__TOKEN__UNLOGGED = 693, - PG_QUERY__TOKEN__UNTIL = 694, - PG_QUERY__TOKEN__UPDATE = 695, - PG_QUERY__TOKEN__USER = 696, - PG_QUERY__TOKEN__USING = 697, - PG_QUERY__TOKEN__VACUUM = 698, - PG_QUERY__TOKEN__VALID = 699, - PG_QUERY__TOKEN__VALIDATE = 700, - PG_QUERY__TOKEN__VALIDATOR = 701, - PG_QUERY__TOKEN__VALUE_P = 702, - PG_QUERY__TOKEN__VALUES = 703, - PG_QUERY__TOKEN__VARCHAR = 704, - PG_QUERY__TOKEN__VARIADIC = 705, - PG_QUERY__TOKEN__VARYING = 706, - PG_QUERY__TOKEN__VERBOSE = 707, - PG_QUERY__TOKEN__VERSION_P = 708, - PG_QUERY__TOKEN__VIEW = 709, - PG_QUERY__TOKEN__VIEWS = 710, - PG_QUERY__TOKEN__VOLATILE = 711, - PG_QUERY__TOKEN__WHEN = 712, - PG_QUERY__TOKEN__WHERE = 713, - PG_QUERY__TOKEN__WHITESPACE_P = 714, - PG_QUERY__TOKEN__WINDOW = 715, - PG_QUERY__TOKEN__WITH = 716, - PG_QUERY__TOKEN__WITHIN = 717, - PG_QUERY__TOKEN__WITHOUT = 718, - PG_QUERY__TOKEN__WORK = 719, - PG_QUERY__TOKEN__WRAPPER = 720, - PG_QUERY__TOKEN__WRITE = 721, - PG_QUERY__TOKEN__XML_P = 722, - PG_QUERY__TOKEN__XMLATTRIBUTES = 723, - PG_QUERY__TOKEN__XMLCONCAT = 724, - PG_QUERY__TOKEN__XMLELEMENT = 725, - PG_QUERY__TOKEN__XMLEXISTS = 726, - PG_QUERY__TOKEN__XMLFOREST = 727, - PG_QUERY__TOKEN__XMLNAMESPACES = 728, - PG_QUERY__TOKEN__XMLPARSE = 729, - PG_QUERY__TOKEN__XMLPI = 730, - PG_QUERY__TOKEN__XMLROOT = 731, - PG_QUERY__TOKEN__XMLSERIALIZE = 732, - PG_QUERY__TOKEN__XMLTABLE = 733, - PG_QUERY__TOKEN__YEAR_P = 734, - PG_QUERY__TOKEN__YES_P = 735, - PG_QUERY__TOKEN__ZONE = 736, - PG_QUERY__TOKEN__NOT_LA = 737, - PG_QUERY__TOKEN__NULLS_LA = 738, - PG_QUERY__TOKEN__WITH_LA = 739, - PG_QUERY__TOKEN__MODE_TYPE_NAME = 740, - PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR = 741, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1 = 742, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2 = 743, - PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3 = 744, - PG_QUERY__TOKEN__UMINUS = 745 + PG_QUERY__TOKEN__ABSENT = 278, + PG_QUERY__TOKEN__ABSOLUTE_P = 279, + PG_QUERY__TOKEN__ACCESS = 280, + PG_QUERY__TOKEN__ACTION = 281, + PG_QUERY__TOKEN__ADD_P = 282, + PG_QUERY__TOKEN__ADMIN = 283, + PG_QUERY__TOKEN__AFTER = 284, + PG_QUERY__TOKEN__AGGREGATE = 285, + PG_QUERY__TOKEN__ALL = 286, + PG_QUERY__TOKEN__ALSO = 287, + PG_QUERY__TOKEN__ALTER = 288, + PG_QUERY__TOKEN__ALWAYS = 289, + PG_QUERY__TOKEN__ANALYSE = 290, + PG_QUERY__TOKEN__ANALYZE = 291, + PG_QUERY__TOKEN__AND = 292, + PG_QUERY__TOKEN__ANY = 293, + PG_QUERY__TOKEN__ARRAY = 294, + PG_QUERY__TOKEN__AS = 295, + PG_QUERY__TOKEN__ASC = 296, + PG_QUERY__TOKEN__ASENSITIVE = 297, + PG_QUERY__TOKEN__ASSERTION = 298, + PG_QUERY__TOKEN__ASSIGNMENT = 299, + PG_QUERY__TOKEN__ASYMMETRIC = 300, + PG_QUERY__TOKEN__ATOMIC = 301, + PG_QUERY__TOKEN__AT = 302, + PG_QUERY__TOKEN__ATTACH = 303, + PG_QUERY__TOKEN__ATTRIBUTE = 304, + PG_QUERY__TOKEN__AUTHORIZATION = 305, + PG_QUERY__TOKEN__BACKWARD = 306, + PG_QUERY__TOKEN__BEFORE = 307, + PG_QUERY__TOKEN__BEGIN_P = 308, + PG_QUERY__TOKEN__BETWEEN = 309, + PG_QUERY__TOKEN__BIGINT = 310, + PG_QUERY__TOKEN__BINARY = 311, + PG_QUERY__TOKEN__BIT = 312, + PG_QUERY__TOKEN__BOOLEAN_P = 313, + PG_QUERY__TOKEN__BOTH = 314, + PG_QUERY__TOKEN__BREADTH = 315, + PG_QUERY__TOKEN__BY = 316, + PG_QUERY__TOKEN__CACHE = 317, + PG_QUERY__TOKEN__CALL = 318, + PG_QUERY__TOKEN__CALLED = 319, + PG_QUERY__TOKEN__CASCADE = 320, + PG_QUERY__TOKEN__CASCADED = 321, + PG_QUERY__TOKEN__CASE = 322, + PG_QUERY__TOKEN__CAST = 323, + PG_QUERY__TOKEN__CATALOG_P = 324, + PG_QUERY__TOKEN__CHAIN = 325, + PG_QUERY__TOKEN__CHAR_P = 326, + PG_QUERY__TOKEN__CHARACTER = 327, + PG_QUERY__TOKEN__CHARACTERISTICS = 328, + PG_QUERY__TOKEN__CHECK = 329, + PG_QUERY__TOKEN__CHECKPOINT = 330, + PG_QUERY__TOKEN__CLASS = 331, + PG_QUERY__TOKEN__CLOSE = 332, + PG_QUERY__TOKEN__CLUSTER = 333, + PG_QUERY__TOKEN__COALESCE = 334, + PG_QUERY__TOKEN__COLLATE = 335, + PG_QUERY__TOKEN__COLLATION = 336, + PG_QUERY__TOKEN__COLUMN = 337, + PG_QUERY__TOKEN__COLUMNS = 338, + PG_QUERY__TOKEN__COMMENT = 339, + PG_QUERY__TOKEN__COMMENTS = 340, + PG_QUERY__TOKEN__COMMIT = 341, + PG_QUERY__TOKEN__COMMITTED = 342, + PG_QUERY__TOKEN__COMPRESSION = 343, + PG_QUERY__TOKEN__CONCURRENTLY = 344, + PG_QUERY__TOKEN__CONDITIONAL = 345, + PG_QUERY__TOKEN__CONFIGURATION = 346, + PG_QUERY__TOKEN__CONFLICT = 347, + PG_QUERY__TOKEN__CONNECTION = 348, + PG_QUERY__TOKEN__CONSTRAINT = 349, + PG_QUERY__TOKEN__CONSTRAINTS = 350, + PG_QUERY__TOKEN__CONTENT_P = 351, + PG_QUERY__TOKEN__CONTINUE_P = 352, + PG_QUERY__TOKEN__CONVERSION_P = 353, + PG_QUERY__TOKEN__COPY = 354, + PG_QUERY__TOKEN__COST = 355, + PG_QUERY__TOKEN__CREATE = 356, + PG_QUERY__TOKEN__CROSS = 357, + PG_QUERY__TOKEN__CSV = 358, + PG_QUERY__TOKEN__CUBE = 359, + PG_QUERY__TOKEN__CURRENT_P = 360, + PG_QUERY__TOKEN__CURRENT_CATALOG = 361, + PG_QUERY__TOKEN__CURRENT_DATE = 362, + PG_QUERY__TOKEN__CURRENT_ROLE = 363, + PG_QUERY__TOKEN__CURRENT_SCHEMA = 364, + PG_QUERY__TOKEN__CURRENT_TIME = 365, + PG_QUERY__TOKEN__CURRENT_TIMESTAMP = 366, + PG_QUERY__TOKEN__CURRENT_USER = 367, + PG_QUERY__TOKEN__CURSOR = 368, + PG_QUERY__TOKEN__CYCLE = 369, + PG_QUERY__TOKEN__DATA_P = 370, + PG_QUERY__TOKEN__DATABASE = 371, + PG_QUERY__TOKEN__DAY_P = 372, + PG_QUERY__TOKEN__DEALLOCATE = 373, + PG_QUERY__TOKEN__DEC = 374, + PG_QUERY__TOKEN__DECIMAL_P = 375, + PG_QUERY__TOKEN__DECLARE = 376, + PG_QUERY__TOKEN__DEFAULT = 377, + PG_QUERY__TOKEN__DEFAULTS = 378, + PG_QUERY__TOKEN__DEFERRABLE = 379, + PG_QUERY__TOKEN__DEFERRED = 380, + PG_QUERY__TOKEN__DEFINER = 381, + PG_QUERY__TOKEN__DELETE_P = 382, + PG_QUERY__TOKEN__DELIMITER = 383, + PG_QUERY__TOKEN__DELIMITERS = 384, + PG_QUERY__TOKEN__DEPENDS = 385, + PG_QUERY__TOKEN__DEPTH = 386, + PG_QUERY__TOKEN__DESC = 387, + PG_QUERY__TOKEN__DETACH = 388, + PG_QUERY__TOKEN__DICTIONARY = 389, + PG_QUERY__TOKEN__DISABLE_P = 390, + PG_QUERY__TOKEN__DISCARD = 391, + PG_QUERY__TOKEN__DISTINCT = 392, + PG_QUERY__TOKEN__DO = 393, + PG_QUERY__TOKEN__DOCUMENT_P = 394, + PG_QUERY__TOKEN__DOMAIN_P = 395, + PG_QUERY__TOKEN__DOUBLE_P = 396, + PG_QUERY__TOKEN__DROP = 397, + PG_QUERY__TOKEN__EACH = 398, + PG_QUERY__TOKEN__ELSE = 399, + PG_QUERY__TOKEN__EMPTY_P = 400, + PG_QUERY__TOKEN__ENABLE_P = 401, + PG_QUERY__TOKEN__ENCODING = 402, + PG_QUERY__TOKEN__ENCRYPTED = 403, + PG_QUERY__TOKEN__END_P = 404, + PG_QUERY__TOKEN__ENUM_P = 405, + PG_QUERY__TOKEN__ERROR_P = 406, + PG_QUERY__TOKEN__ESCAPE = 407, + PG_QUERY__TOKEN__EVENT = 408, + PG_QUERY__TOKEN__EXCEPT = 409, + PG_QUERY__TOKEN__EXCLUDE = 410, + PG_QUERY__TOKEN__EXCLUDING = 411, + PG_QUERY__TOKEN__EXCLUSIVE = 412, + PG_QUERY__TOKEN__EXECUTE = 413, + PG_QUERY__TOKEN__EXISTS = 414, + PG_QUERY__TOKEN__EXPLAIN = 415, + PG_QUERY__TOKEN__EXPRESSION = 416, + PG_QUERY__TOKEN__EXTENSION = 417, + PG_QUERY__TOKEN__EXTERNAL = 418, + PG_QUERY__TOKEN__EXTRACT = 419, + PG_QUERY__TOKEN__FALSE_P = 420, + PG_QUERY__TOKEN__FAMILY = 421, + PG_QUERY__TOKEN__FETCH = 422, + PG_QUERY__TOKEN__FILTER = 423, + PG_QUERY__TOKEN__FINALIZE = 424, + PG_QUERY__TOKEN__FIRST_P = 425, + PG_QUERY__TOKEN__FLOAT_P = 426, + PG_QUERY__TOKEN__FOLLOWING = 427, + PG_QUERY__TOKEN__FOR = 428, + PG_QUERY__TOKEN__FORCE = 429, + PG_QUERY__TOKEN__FOREIGN = 430, + PG_QUERY__TOKEN__FORMAT = 431, + PG_QUERY__TOKEN__FORWARD = 432, + PG_QUERY__TOKEN__FREEZE = 433, + PG_QUERY__TOKEN__FROM = 434, + PG_QUERY__TOKEN__FULL = 435, + PG_QUERY__TOKEN__FUNCTION = 436, + PG_QUERY__TOKEN__FUNCTIONS = 437, + PG_QUERY__TOKEN__GENERATED = 438, + PG_QUERY__TOKEN__GLOBAL = 439, + PG_QUERY__TOKEN__GRANT = 440, + PG_QUERY__TOKEN__GRANTED = 441, + PG_QUERY__TOKEN__GREATEST = 442, + PG_QUERY__TOKEN__GROUP_P = 443, + PG_QUERY__TOKEN__GROUPING = 444, + PG_QUERY__TOKEN__GROUPS = 445, + PG_QUERY__TOKEN__HANDLER = 446, + PG_QUERY__TOKEN__HAVING = 447, + PG_QUERY__TOKEN__HEADER_P = 448, + PG_QUERY__TOKEN__HOLD = 449, + PG_QUERY__TOKEN__HOUR_P = 450, + PG_QUERY__TOKEN__IDENTITY_P = 451, + PG_QUERY__TOKEN__IF_P = 452, + PG_QUERY__TOKEN__ILIKE = 453, + PG_QUERY__TOKEN__IMMEDIATE = 454, + PG_QUERY__TOKEN__IMMUTABLE = 455, + PG_QUERY__TOKEN__IMPLICIT_P = 456, + PG_QUERY__TOKEN__IMPORT_P = 457, + PG_QUERY__TOKEN__IN_P = 458, + PG_QUERY__TOKEN__INCLUDE = 459, + PG_QUERY__TOKEN__INCLUDING = 460, + PG_QUERY__TOKEN__INCREMENT = 461, + PG_QUERY__TOKEN__INDENT = 462, + PG_QUERY__TOKEN__INDEX = 463, + PG_QUERY__TOKEN__INDEXES = 464, + PG_QUERY__TOKEN__INHERIT = 465, + PG_QUERY__TOKEN__INHERITS = 466, + PG_QUERY__TOKEN__INITIALLY = 467, + PG_QUERY__TOKEN__INLINE_P = 468, + PG_QUERY__TOKEN__INNER_P = 469, + PG_QUERY__TOKEN__INOUT = 470, + PG_QUERY__TOKEN__INPUT_P = 471, + PG_QUERY__TOKEN__INSENSITIVE = 472, + PG_QUERY__TOKEN__INSERT = 473, + PG_QUERY__TOKEN__INSTEAD = 474, + PG_QUERY__TOKEN__INT_P = 475, + PG_QUERY__TOKEN__INTEGER = 476, + PG_QUERY__TOKEN__INTERSECT = 477, + PG_QUERY__TOKEN__INTERVAL = 478, + PG_QUERY__TOKEN__INTO = 479, + PG_QUERY__TOKEN__INVOKER = 480, + PG_QUERY__TOKEN__IS = 481, + PG_QUERY__TOKEN__ISNULL = 482, + PG_QUERY__TOKEN__ISOLATION = 483, + PG_QUERY__TOKEN__JOIN = 484, + PG_QUERY__TOKEN__JSON = 485, + PG_QUERY__TOKEN__JSON_ARRAY = 486, + PG_QUERY__TOKEN__JSON_ARRAYAGG = 487, + PG_QUERY__TOKEN__JSON_EXISTS = 488, + PG_QUERY__TOKEN__JSON_OBJECT = 489, + PG_QUERY__TOKEN__JSON_OBJECTAGG = 490, + PG_QUERY__TOKEN__JSON_QUERY = 491, + PG_QUERY__TOKEN__JSON_SCALAR = 492, + PG_QUERY__TOKEN__JSON_SERIALIZE = 493, + PG_QUERY__TOKEN__JSON_TABLE = 494, + PG_QUERY__TOKEN__JSON_VALUE = 495, + PG_QUERY__TOKEN__KEEP = 496, + PG_QUERY__TOKEN__KEY = 497, + PG_QUERY__TOKEN__KEYS = 498, + PG_QUERY__TOKEN__LABEL = 499, + PG_QUERY__TOKEN__LANGUAGE = 500, + PG_QUERY__TOKEN__LARGE_P = 501, + PG_QUERY__TOKEN__LAST_P = 502, + PG_QUERY__TOKEN__LATERAL_P = 503, + PG_QUERY__TOKEN__LEADING = 504, + PG_QUERY__TOKEN__LEAKPROOF = 505, + PG_QUERY__TOKEN__LEAST = 506, + PG_QUERY__TOKEN__LEFT = 507, + PG_QUERY__TOKEN__LEVEL = 508, + PG_QUERY__TOKEN__LIKE = 509, + PG_QUERY__TOKEN__LIMIT = 510, + PG_QUERY__TOKEN__LISTEN = 511, + PG_QUERY__TOKEN__LOAD = 512, + PG_QUERY__TOKEN__LOCAL = 513, + PG_QUERY__TOKEN__LOCALTIME = 514, + PG_QUERY__TOKEN__LOCALTIMESTAMP = 515, + PG_QUERY__TOKEN__LOCATION = 516, + PG_QUERY__TOKEN__LOCK_P = 517, + PG_QUERY__TOKEN__LOCKED = 518, + PG_QUERY__TOKEN__LOGGED = 519, + PG_QUERY__TOKEN__MAPPING = 520, + PG_QUERY__TOKEN__MATCH = 521, + PG_QUERY__TOKEN__MATCHED = 522, + PG_QUERY__TOKEN__MATERIALIZED = 523, + PG_QUERY__TOKEN__MAXVALUE = 524, + PG_QUERY__TOKEN__MERGE = 525, + PG_QUERY__TOKEN__MERGE_ACTION = 526, + PG_QUERY__TOKEN__METHOD = 527, + PG_QUERY__TOKEN__MINUTE_P = 528, + PG_QUERY__TOKEN__MINVALUE = 529, + PG_QUERY__TOKEN__MODE = 530, + PG_QUERY__TOKEN__MONTH_P = 531, + PG_QUERY__TOKEN__MOVE = 532, + PG_QUERY__TOKEN__NAME_P = 533, + PG_QUERY__TOKEN__NAMES = 534, + PG_QUERY__TOKEN__NATIONAL = 535, + PG_QUERY__TOKEN__NATURAL = 536, + PG_QUERY__TOKEN__NCHAR = 537, + PG_QUERY__TOKEN__NESTED = 538, + PG_QUERY__TOKEN__NEW = 539, + PG_QUERY__TOKEN__NEXT = 540, + PG_QUERY__TOKEN__NFC = 541, + PG_QUERY__TOKEN__NFD = 542, + PG_QUERY__TOKEN__NFKC = 543, + PG_QUERY__TOKEN__NFKD = 544, + PG_QUERY__TOKEN__NO = 545, + PG_QUERY__TOKEN__NONE = 546, + PG_QUERY__TOKEN__NORMALIZE = 547, + PG_QUERY__TOKEN__NORMALIZED = 548, + PG_QUERY__TOKEN__NOT = 549, + PG_QUERY__TOKEN__NOTHING = 550, + PG_QUERY__TOKEN__NOTIFY = 551, + PG_QUERY__TOKEN__NOTNULL = 552, + PG_QUERY__TOKEN__NOWAIT = 553, + PG_QUERY__TOKEN__NULL_P = 554, + PG_QUERY__TOKEN__NULLIF = 555, + PG_QUERY__TOKEN__NULLS_P = 556, + PG_QUERY__TOKEN__NUMERIC = 557, + PG_QUERY__TOKEN__OBJECT_P = 558, + PG_QUERY__TOKEN__OF = 559, + PG_QUERY__TOKEN__OFF = 560, + PG_QUERY__TOKEN__OFFSET = 561, + PG_QUERY__TOKEN__OIDS = 562, + PG_QUERY__TOKEN__OLD = 563, + PG_QUERY__TOKEN__OMIT = 564, + PG_QUERY__TOKEN__ON = 565, + PG_QUERY__TOKEN__ONLY = 566, + PG_QUERY__TOKEN__OPERATOR = 567, + PG_QUERY__TOKEN__OPTION = 568, + PG_QUERY__TOKEN__OPTIONS = 569, + PG_QUERY__TOKEN__OR = 570, + PG_QUERY__TOKEN__ORDER = 571, + PG_QUERY__TOKEN__ORDINALITY = 572, + PG_QUERY__TOKEN__OTHERS = 573, + PG_QUERY__TOKEN__OUT_P = 574, + PG_QUERY__TOKEN__OUTER_P = 575, + PG_QUERY__TOKEN__OVER = 576, + PG_QUERY__TOKEN__OVERLAPS = 577, + PG_QUERY__TOKEN__OVERLAY = 578, + PG_QUERY__TOKEN__OVERRIDING = 579, + PG_QUERY__TOKEN__OWNED = 580, + PG_QUERY__TOKEN__OWNER = 581, + PG_QUERY__TOKEN__PARALLEL = 582, + PG_QUERY__TOKEN__PARAMETER = 583, + PG_QUERY__TOKEN__PARSER = 584, + PG_QUERY__TOKEN__PARTIAL = 585, + PG_QUERY__TOKEN__PARTITION = 586, + PG_QUERY__TOKEN__PASSING = 587, + PG_QUERY__TOKEN__PASSWORD = 588, + PG_QUERY__TOKEN__PATH = 589, + PG_QUERY__TOKEN__PLACING = 590, + PG_QUERY__TOKEN__PLAN = 591, + PG_QUERY__TOKEN__PLANS = 592, + PG_QUERY__TOKEN__POLICY = 593, + PG_QUERY__TOKEN__POSITION = 594, + PG_QUERY__TOKEN__PRECEDING = 595, + PG_QUERY__TOKEN__PRECISION = 596, + PG_QUERY__TOKEN__PRESERVE = 597, + PG_QUERY__TOKEN__PREPARE = 598, + PG_QUERY__TOKEN__PREPARED = 599, + PG_QUERY__TOKEN__PRIMARY = 600, + PG_QUERY__TOKEN__PRIOR = 601, + PG_QUERY__TOKEN__PRIVILEGES = 602, + PG_QUERY__TOKEN__PROCEDURAL = 603, + PG_QUERY__TOKEN__PROCEDURE = 604, + PG_QUERY__TOKEN__PROCEDURES = 605, + PG_QUERY__TOKEN__PROGRAM = 606, + PG_QUERY__TOKEN__PUBLICATION = 607, + PG_QUERY__TOKEN__QUOTE = 608, + PG_QUERY__TOKEN__QUOTES = 609, + PG_QUERY__TOKEN__RANGE = 610, + PG_QUERY__TOKEN__READ = 611, + PG_QUERY__TOKEN__REAL = 612, + PG_QUERY__TOKEN__REASSIGN = 613, + PG_QUERY__TOKEN__RECHECK = 614, + PG_QUERY__TOKEN__RECURSIVE = 615, + PG_QUERY__TOKEN__REF_P = 616, + PG_QUERY__TOKEN__REFERENCES = 617, + PG_QUERY__TOKEN__REFERENCING = 618, + PG_QUERY__TOKEN__REFRESH = 619, + PG_QUERY__TOKEN__REINDEX = 620, + PG_QUERY__TOKEN__RELATIVE_P = 621, + PG_QUERY__TOKEN__RELEASE = 622, + PG_QUERY__TOKEN__RENAME = 623, + PG_QUERY__TOKEN__REPEATABLE = 624, + PG_QUERY__TOKEN__REPLACE = 625, + PG_QUERY__TOKEN__REPLICA = 626, + PG_QUERY__TOKEN__RESET = 627, + PG_QUERY__TOKEN__RESTART = 628, + PG_QUERY__TOKEN__RESTRICT = 629, + PG_QUERY__TOKEN__RETURN = 630, + PG_QUERY__TOKEN__RETURNING = 631, + PG_QUERY__TOKEN__RETURNS = 632, + PG_QUERY__TOKEN__REVOKE = 633, + PG_QUERY__TOKEN__RIGHT = 634, + PG_QUERY__TOKEN__ROLE = 635, + PG_QUERY__TOKEN__ROLLBACK = 636, + PG_QUERY__TOKEN__ROLLUP = 637, + PG_QUERY__TOKEN__ROUTINE = 638, + PG_QUERY__TOKEN__ROUTINES = 639, + PG_QUERY__TOKEN__ROW = 640, + PG_QUERY__TOKEN__ROWS = 641, + PG_QUERY__TOKEN__RULE = 642, + PG_QUERY__TOKEN__SAVEPOINT = 643, + PG_QUERY__TOKEN__SCALAR = 644, + PG_QUERY__TOKEN__SCHEMA = 645, + PG_QUERY__TOKEN__SCHEMAS = 646, + PG_QUERY__TOKEN__SCROLL = 647, + PG_QUERY__TOKEN__SEARCH = 648, + PG_QUERY__TOKEN__SECOND_P = 649, + PG_QUERY__TOKEN__SECURITY = 650, + PG_QUERY__TOKEN__SELECT = 651, + PG_QUERY__TOKEN__SEQUENCE = 652, + PG_QUERY__TOKEN__SEQUENCES = 653, + PG_QUERY__TOKEN__SERIALIZABLE = 654, + PG_QUERY__TOKEN__SERVER = 655, + PG_QUERY__TOKEN__SESSION = 656, + PG_QUERY__TOKEN__SESSION_USER = 657, + PG_QUERY__TOKEN__SET = 658, + PG_QUERY__TOKEN__SETS = 659, + PG_QUERY__TOKEN__SETOF = 660, + PG_QUERY__TOKEN__SHARE = 661, + PG_QUERY__TOKEN__SHOW = 662, + PG_QUERY__TOKEN__SIMILAR = 663, + PG_QUERY__TOKEN__SIMPLE = 664, + PG_QUERY__TOKEN__SKIP = 665, + PG_QUERY__TOKEN__SMALLINT = 666, + PG_QUERY__TOKEN__SNAPSHOT = 667, + PG_QUERY__TOKEN__SOME = 668, + PG_QUERY__TOKEN__SOURCE = 669, + PG_QUERY__TOKEN__SQL_P = 670, + PG_QUERY__TOKEN__STABLE = 671, + PG_QUERY__TOKEN__STANDALONE_P = 672, + PG_QUERY__TOKEN__START = 673, + PG_QUERY__TOKEN__STATEMENT = 674, + PG_QUERY__TOKEN__STATISTICS = 675, + PG_QUERY__TOKEN__STDIN = 676, + PG_QUERY__TOKEN__STDOUT = 677, + PG_QUERY__TOKEN__STORAGE = 678, + PG_QUERY__TOKEN__STORED = 679, + PG_QUERY__TOKEN__STRICT_P = 680, + PG_QUERY__TOKEN__STRING_P = 681, + PG_QUERY__TOKEN__STRIP_P = 682, + PG_QUERY__TOKEN__SUBSCRIPTION = 683, + PG_QUERY__TOKEN__SUBSTRING = 684, + PG_QUERY__TOKEN__SUPPORT = 685, + PG_QUERY__TOKEN__SYMMETRIC = 686, + PG_QUERY__TOKEN__SYSID = 687, + PG_QUERY__TOKEN__SYSTEM_P = 688, + PG_QUERY__TOKEN__SYSTEM_USER = 689, + PG_QUERY__TOKEN__TABLE = 690, + PG_QUERY__TOKEN__TABLES = 691, + PG_QUERY__TOKEN__TABLESAMPLE = 692, + PG_QUERY__TOKEN__TABLESPACE = 693, + PG_QUERY__TOKEN__TARGET = 694, + PG_QUERY__TOKEN__TEMP = 695, + PG_QUERY__TOKEN__TEMPLATE = 696, + PG_QUERY__TOKEN__TEMPORARY = 697, + PG_QUERY__TOKEN__TEXT_P = 698, + PG_QUERY__TOKEN__THEN = 699, + PG_QUERY__TOKEN__TIES = 700, + PG_QUERY__TOKEN__TIME = 701, + PG_QUERY__TOKEN__TIMESTAMP = 702, + PG_QUERY__TOKEN__TO = 703, + PG_QUERY__TOKEN__TRAILING = 704, + PG_QUERY__TOKEN__TRANSACTION = 705, + PG_QUERY__TOKEN__TRANSFORM = 706, + PG_QUERY__TOKEN__TREAT = 707, + PG_QUERY__TOKEN__TRIGGER = 708, + PG_QUERY__TOKEN__TRIM = 709, + PG_QUERY__TOKEN__TRUE_P = 710, + PG_QUERY__TOKEN__TRUNCATE = 711, + PG_QUERY__TOKEN__TRUSTED = 712, + PG_QUERY__TOKEN__TYPE_P = 713, + PG_QUERY__TOKEN__TYPES_P = 714, + PG_QUERY__TOKEN__UESCAPE = 715, + PG_QUERY__TOKEN__UNBOUNDED = 716, + PG_QUERY__TOKEN__UNCONDITIONAL = 717, + PG_QUERY__TOKEN__UNCOMMITTED = 718, + PG_QUERY__TOKEN__UNENCRYPTED = 719, + PG_QUERY__TOKEN__UNION = 720, + PG_QUERY__TOKEN__UNIQUE = 721, + PG_QUERY__TOKEN__UNKNOWN = 722, + PG_QUERY__TOKEN__UNLISTEN = 723, + PG_QUERY__TOKEN__UNLOGGED = 724, + PG_QUERY__TOKEN__UNTIL = 725, + PG_QUERY__TOKEN__UPDATE = 726, + PG_QUERY__TOKEN__USER = 727, + PG_QUERY__TOKEN__USING = 728, + PG_QUERY__TOKEN__VACUUM = 729, + PG_QUERY__TOKEN__VALID = 730, + PG_QUERY__TOKEN__VALIDATE = 731, + PG_QUERY__TOKEN__VALIDATOR = 732, + PG_QUERY__TOKEN__VALUE_P = 733, + PG_QUERY__TOKEN__VALUES = 734, + PG_QUERY__TOKEN__VARCHAR = 735, + PG_QUERY__TOKEN__VARIADIC = 736, + PG_QUERY__TOKEN__VARYING = 737, + PG_QUERY__TOKEN__VERBOSE = 738, + PG_QUERY__TOKEN__VERSION_P = 739, + PG_QUERY__TOKEN__VIEW = 740, + PG_QUERY__TOKEN__VIEWS = 741, + PG_QUERY__TOKEN__VOLATILE = 742, + PG_QUERY__TOKEN__WHEN = 743, + PG_QUERY__TOKEN__WHERE = 744, + PG_QUERY__TOKEN__WHITESPACE_P = 745, + PG_QUERY__TOKEN__WINDOW = 746, + PG_QUERY__TOKEN__WITH = 747, + PG_QUERY__TOKEN__WITHIN = 748, + PG_QUERY__TOKEN__WITHOUT = 749, + PG_QUERY__TOKEN__WORK = 750, + PG_QUERY__TOKEN__WRAPPER = 751, + PG_QUERY__TOKEN__WRITE = 752, + PG_QUERY__TOKEN__XML_P = 753, + PG_QUERY__TOKEN__XMLATTRIBUTES = 754, + PG_QUERY__TOKEN__XMLCONCAT = 755, + PG_QUERY__TOKEN__XMLELEMENT = 756, + PG_QUERY__TOKEN__XMLEXISTS = 757, + PG_QUERY__TOKEN__XMLFOREST = 758, + PG_QUERY__TOKEN__XMLNAMESPACES = 759, + PG_QUERY__TOKEN__XMLPARSE = 760, + PG_QUERY__TOKEN__XMLPI = 761, + PG_QUERY__TOKEN__XMLROOT = 762, + PG_QUERY__TOKEN__XMLSERIALIZE = 763, + PG_QUERY__TOKEN__XMLTABLE = 764, + PG_QUERY__TOKEN__YEAR_P = 765, + PG_QUERY__TOKEN__YES_P = 766, + PG_QUERY__TOKEN__ZONE = 767, + PG_QUERY__TOKEN__FORMAT_LA = 768, + PG_QUERY__TOKEN__NOT_LA = 769, + PG_QUERY__TOKEN__NULLS_LA = 770, + PG_QUERY__TOKEN__WITH_LA = 771, + PG_QUERY__TOKEN__WITHOUT_LA = 772, + PG_QUERY__TOKEN__MODE_TYPE_NAME = 773, + PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR = 774, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1 = 775, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2 = 776, + PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3 = 777, + PG_QUERY__TOKEN__UMINUS = 778 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__TOKEN) } PgQuery__Token; @@ -1507,241 +1683,271 @@ typedef enum { PG_QUERY__NODE__NODE_ALIAS = 1, PG_QUERY__NODE__NODE_RANGE_VAR = 2, PG_QUERY__NODE__NODE_TABLE_FUNC = 3, - PG_QUERY__NODE__NODE_VAR = 4, - PG_QUERY__NODE__NODE_PARAM = 5, - PG_QUERY__NODE__NODE_AGGREF = 6, - PG_QUERY__NODE__NODE_GROUPING_FUNC = 7, - PG_QUERY__NODE__NODE_WINDOW_FUNC = 8, - PG_QUERY__NODE__NODE_SUBSCRIPTING_REF = 9, - PG_QUERY__NODE__NODE_FUNC_EXPR = 10, - PG_QUERY__NODE__NODE_NAMED_ARG_EXPR = 11, - PG_QUERY__NODE__NODE_OP_EXPR = 12, - PG_QUERY__NODE__NODE_DISTINCT_EXPR = 13, - PG_QUERY__NODE__NODE_NULL_IF_EXPR = 14, - PG_QUERY__NODE__NODE_SCALAR_ARRAY_OP_EXPR = 15, - PG_QUERY__NODE__NODE_BOOL_EXPR = 16, - PG_QUERY__NODE__NODE_SUB_LINK = 17, - PG_QUERY__NODE__NODE_SUB_PLAN = 18, - PG_QUERY__NODE__NODE_ALTERNATIVE_SUB_PLAN = 19, - PG_QUERY__NODE__NODE_FIELD_SELECT = 20, - PG_QUERY__NODE__NODE_FIELD_STORE = 21, - PG_QUERY__NODE__NODE_RELABEL_TYPE = 22, - PG_QUERY__NODE__NODE_COERCE_VIA_IO = 23, - PG_QUERY__NODE__NODE_ARRAY_COERCE_EXPR = 24, - PG_QUERY__NODE__NODE_CONVERT_ROWTYPE_EXPR = 25, - PG_QUERY__NODE__NODE_COLLATE_EXPR = 26, - PG_QUERY__NODE__NODE_CASE_EXPR = 27, - PG_QUERY__NODE__NODE_CASE_WHEN = 28, - PG_QUERY__NODE__NODE_CASE_TEST_EXPR = 29, - PG_QUERY__NODE__NODE_ARRAY_EXPR = 30, - PG_QUERY__NODE__NODE_ROW_EXPR = 31, - PG_QUERY__NODE__NODE_ROW_COMPARE_EXPR = 32, - PG_QUERY__NODE__NODE_COALESCE_EXPR = 33, - PG_QUERY__NODE__NODE_MIN_MAX_EXPR = 34, - PG_QUERY__NODE__NODE_SQLVALUE_FUNCTION = 35, - PG_QUERY__NODE__NODE_XML_EXPR = 36, - PG_QUERY__NODE__NODE_NULL_TEST = 37, - PG_QUERY__NODE__NODE_BOOLEAN_TEST = 38, - PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN = 39, - PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN_VALUE = 40, - PG_QUERY__NODE__NODE_SET_TO_DEFAULT = 41, - PG_QUERY__NODE__NODE_CURRENT_OF_EXPR = 42, - PG_QUERY__NODE__NODE_NEXT_VALUE_EXPR = 43, - PG_QUERY__NODE__NODE_INFERENCE_ELEM = 44, - PG_QUERY__NODE__NODE_TARGET_ENTRY = 45, - PG_QUERY__NODE__NODE_RANGE_TBL_REF = 46, - PG_QUERY__NODE__NODE_JOIN_EXPR = 47, - PG_QUERY__NODE__NODE_FROM_EXPR = 48, - PG_QUERY__NODE__NODE_ON_CONFLICT_EXPR = 49, - PG_QUERY__NODE__NODE_INTO_CLAUSE = 50, - PG_QUERY__NODE__NODE_MERGE_ACTION = 51, - PG_QUERY__NODE__NODE_RAW_STMT = 52, - PG_QUERY__NODE__NODE_QUERY = 53, - PG_QUERY__NODE__NODE_INSERT_STMT = 54, - PG_QUERY__NODE__NODE_DELETE_STMT = 55, - PG_QUERY__NODE__NODE_UPDATE_STMT = 56, - PG_QUERY__NODE__NODE_MERGE_STMT = 57, - PG_QUERY__NODE__NODE_SELECT_STMT = 58, - PG_QUERY__NODE__NODE_RETURN_STMT = 59, - PG_QUERY__NODE__NODE_PLASSIGN_STMT = 60, - PG_QUERY__NODE__NODE_ALTER_TABLE_STMT = 61, - PG_QUERY__NODE__NODE_ALTER_TABLE_CMD = 62, - PG_QUERY__NODE__NODE_ALTER_DOMAIN_STMT = 63, - PG_QUERY__NODE__NODE_SET_OPERATION_STMT = 64, - PG_QUERY__NODE__NODE_GRANT_STMT = 65, - PG_QUERY__NODE__NODE_GRANT_ROLE_STMT = 66, - PG_QUERY__NODE__NODE_ALTER_DEFAULT_PRIVILEGES_STMT = 67, - PG_QUERY__NODE__NODE_CLOSE_PORTAL_STMT = 68, - PG_QUERY__NODE__NODE_CLUSTER_STMT = 69, - PG_QUERY__NODE__NODE_COPY_STMT = 70, - PG_QUERY__NODE__NODE_CREATE_STMT = 71, - PG_QUERY__NODE__NODE_DEFINE_STMT = 72, - PG_QUERY__NODE__NODE_DROP_STMT = 73, - PG_QUERY__NODE__NODE_TRUNCATE_STMT = 74, - PG_QUERY__NODE__NODE_COMMENT_STMT = 75, - PG_QUERY__NODE__NODE_FETCH_STMT = 76, - PG_QUERY__NODE__NODE_INDEX_STMT = 77, - PG_QUERY__NODE__NODE_CREATE_FUNCTION_STMT = 78, - PG_QUERY__NODE__NODE_ALTER_FUNCTION_STMT = 79, - PG_QUERY__NODE__NODE_DO_STMT = 80, - PG_QUERY__NODE__NODE_RENAME_STMT = 81, - PG_QUERY__NODE__NODE_RULE_STMT = 82, - PG_QUERY__NODE__NODE_NOTIFY_STMT = 83, - PG_QUERY__NODE__NODE_LISTEN_STMT = 84, - PG_QUERY__NODE__NODE_UNLISTEN_STMT = 85, - PG_QUERY__NODE__NODE_TRANSACTION_STMT = 86, - PG_QUERY__NODE__NODE_VIEW_STMT = 87, - PG_QUERY__NODE__NODE_LOAD_STMT = 88, - PG_QUERY__NODE__NODE_CREATE_DOMAIN_STMT = 89, - PG_QUERY__NODE__NODE_CREATEDB_STMT = 90, - PG_QUERY__NODE__NODE_DROPDB_STMT = 91, - PG_QUERY__NODE__NODE_VACUUM_STMT = 92, - PG_QUERY__NODE__NODE_EXPLAIN_STMT = 93, - PG_QUERY__NODE__NODE_CREATE_TABLE_AS_STMT = 94, - PG_QUERY__NODE__NODE_CREATE_SEQ_STMT = 95, - PG_QUERY__NODE__NODE_ALTER_SEQ_STMT = 96, - PG_QUERY__NODE__NODE_VARIABLE_SET_STMT = 97, - PG_QUERY__NODE__NODE_VARIABLE_SHOW_STMT = 98, - PG_QUERY__NODE__NODE_DISCARD_STMT = 99, - PG_QUERY__NODE__NODE_CREATE_TRIG_STMT = 100, - PG_QUERY__NODE__NODE_CREATE_PLANG_STMT = 101, - PG_QUERY__NODE__NODE_CREATE_ROLE_STMT = 102, - PG_QUERY__NODE__NODE_ALTER_ROLE_STMT = 103, - PG_QUERY__NODE__NODE_DROP_ROLE_STMT = 104, - PG_QUERY__NODE__NODE_LOCK_STMT = 105, - PG_QUERY__NODE__NODE_CONSTRAINTS_SET_STMT = 106, - PG_QUERY__NODE__NODE_REINDEX_STMT = 107, - PG_QUERY__NODE__NODE_CHECK_POINT_STMT = 108, - PG_QUERY__NODE__NODE_CREATE_SCHEMA_STMT = 109, - PG_QUERY__NODE__NODE_ALTER_DATABASE_STMT = 110, - PG_QUERY__NODE__NODE_ALTER_DATABASE_REFRESH_COLL_STMT = 111, - PG_QUERY__NODE__NODE_ALTER_DATABASE_SET_STMT = 112, - PG_QUERY__NODE__NODE_ALTER_ROLE_SET_STMT = 113, - PG_QUERY__NODE__NODE_CREATE_CONVERSION_STMT = 114, - PG_QUERY__NODE__NODE_CREATE_CAST_STMT = 115, - PG_QUERY__NODE__NODE_CREATE_OP_CLASS_STMT = 116, - PG_QUERY__NODE__NODE_CREATE_OP_FAMILY_STMT = 117, - PG_QUERY__NODE__NODE_ALTER_OP_FAMILY_STMT = 118, - PG_QUERY__NODE__NODE_PREPARE_STMT = 119, - PG_QUERY__NODE__NODE_EXECUTE_STMT = 120, - PG_QUERY__NODE__NODE_DEALLOCATE_STMT = 121, - PG_QUERY__NODE__NODE_DECLARE_CURSOR_STMT = 122, - PG_QUERY__NODE__NODE_CREATE_TABLE_SPACE_STMT = 123, - PG_QUERY__NODE__NODE_DROP_TABLE_SPACE_STMT = 124, - PG_QUERY__NODE__NODE_ALTER_OBJECT_DEPENDS_STMT = 125, - PG_QUERY__NODE__NODE_ALTER_OBJECT_SCHEMA_STMT = 126, - PG_QUERY__NODE__NODE_ALTER_OWNER_STMT = 127, - PG_QUERY__NODE__NODE_ALTER_OPERATOR_STMT = 128, - PG_QUERY__NODE__NODE_ALTER_TYPE_STMT = 129, - PG_QUERY__NODE__NODE_DROP_OWNED_STMT = 130, - PG_QUERY__NODE__NODE_REASSIGN_OWNED_STMT = 131, - PG_QUERY__NODE__NODE_COMPOSITE_TYPE_STMT = 132, - PG_QUERY__NODE__NODE_CREATE_ENUM_STMT = 133, - PG_QUERY__NODE__NODE_CREATE_RANGE_STMT = 134, - PG_QUERY__NODE__NODE_ALTER_ENUM_STMT = 135, - PG_QUERY__NODE__NODE_ALTER_TSDICTIONARY_STMT = 136, - PG_QUERY__NODE__NODE_ALTER_TSCONFIGURATION_STMT = 137, - PG_QUERY__NODE__NODE_CREATE_FDW_STMT = 138, - PG_QUERY__NODE__NODE_ALTER_FDW_STMT = 139, - PG_QUERY__NODE__NODE_CREATE_FOREIGN_SERVER_STMT = 140, - PG_QUERY__NODE__NODE_ALTER_FOREIGN_SERVER_STMT = 141, - PG_QUERY__NODE__NODE_CREATE_USER_MAPPING_STMT = 142, - PG_QUERY__NODE__NODE_ALTER_USER_MAPPING_STMT = 143, - PG_QUERY__NODE__NODE_DROP_USER_MAPPING_STMT = 144, - PG_QUERY__NODE__NODE_ALTER_TABLE_SPACE_OPTIONS_STMT = 145, - PG_QUERY__NODE__NODE_ALTER_TABLE_MOVE_ALL_STMT = 146, - PG_QUERY__NODE__NODE_SEC_LABEL_STMT = 147, - PG_QUERY__NODE__NODE_CREATE_FOREIGN_TABLE_STMT = 148, - PG_QUERY__NODE__NODE_IMPORT_FOREIGN_SCHEMA_STMT = 149, - PG_QUERY__NODE__NODE_CREATE_EXTENSION_STMT = 150, - PG_QUERY__NODE__NODE_ALTER_EXTENSION_STMT = 151, - PG_QUERY__NODE__NODE_ALTER_EXTENSION_CONTENTS_STMT = 152, - PG_QUERY__NODE__NODE_CREATE_EVENT_TRIG_STMT = 153, - PG_QUERY__NODE__NODE_ALTER_EVENT_TRIG_STMT = 154, - PG_QUERY__NODE__NODE_REFRESH_MAT_VIEW_STMT = 155, - PG_QUERY__NODE__NODE_REPLICA_IDENTITY_STMT = 156, - PG_QUERY__NODE__NODE_ALTER_SYSTEM_STMT = 157, - PG_QUERY__NODE__NODE_CREATE_POLICY_STMT = 158, - PG_QUERY__NODE__NODE_ALTER_POLICY_STMT = 159, - PG_QUERY__NODE__NODE_CREATE_TRANSFORM_STMT = 160, - PG_QUERY__NODE__NODE_CREATE_AM_STMT = 161, - PG_QUERY__NODE__NODE_CREATE_PUBLICATION_STMT = 162, - PG_QUERY__NODE__NODE_ALTER_PUBLICATION_STMT = 163, - PG_QUERY__NODE__NODE_CREATE_SUBSCRIPTION_STMT = 164, - PG_QUERY__NODE__NODE_ALTER_SUBSCRIPTION_STMT = 165, - PG_QUERY__NODE__NODE_DROP_SUBSCRIPTION_STMT = 166, - PG_QUERY__NODE__NODE_CREATE_STATS_STMT = 167, - PG_QUERY__NODE__NODE_ALTER_COLLATION_STMT = 168, - PG_QUERY__NODE__NODE_CALL_STMT = 169, - PG_QUERY__NODE__NODE_ALTER_STATS_STMT = 170, - PG_QUERY__NODE__NODE_A_EXPR = 171, - PG_QUERY__NODE__NODE_COLUMN_REF = 172, - PG_QUERY__NODE__NODE_PARAM_REF = 173, - PG_QUERY__NODE__NODE_FUNC_CALL = 174, - PG_QUERY__NODE__NODE_A_STAR = 175, - PG_QUERY__NODE__NODE_A_INDICES = 176, - PG_QUERY__NODE__NODE_A_INDIRECTION = 177, - PG_QUERY__NODE__NODE_A_ARRAY_EXPR = 178, - PG_QUERY__NODE__NODE_RES_TARGET = 179, - PG_QUERY__NODE__NODE_MULTI_ASSIGN_REF = 180, - PG_QUERY__NODE__NODE_TYPE_CAST = 181, - PG_QUERY__NODE__NODE_COLLATE_CLAUSE = 182, - PG_QUERY__NODE__NODE_SORT_BY = 183, - PG_QUERY__NODE__NODE_WINDOW_DEF = 184, - PG_QUERY__NODE__NODE_RANGE_SUBSELECT = 185, - PG_QUERY__NODE__NODE_RANGE_FUNCTION = 186, - PG_QUERY__NODE__NODE_RANGE_TABLE_SAMPLE = 187, - PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC = 188, - PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC_COL = 189, - PG_QUERY__NODE__NODE_TYPE_NAME = 190, - PG_QUERY__NODE__NODE_COLUMN_DEF = 191, - PG_QUERY__NODE__NODE_INDEX_ELEM = 192, - PG_QUERY__NODE__NODE_STATS_ELEM = 193, - PG_QUERY__NODE__NODE_CONSTRAINT = 194, - PG_QUERY__NODE__NODE_DEF_ELEM = 195, - PG_QUERY__NODE__NODE_RANGE_TBL_ENTRY = 196, - PG_QUERY__NODE__NODE_RANGE_TBL_FUNCTION = 197, - PG_QUERY__NODE__NODE_TABLE_SAMPLE_CLAUSE = 198, - PG_QUERY__NODE__NODE_WITH_CHECK_OPTION = 199, - PG_QUERY__NODE__NODE_SORT_GROUP_CLAUSE = 200, - PG_QUERY__NODE__NODE_GROUPING_SET = 201, - PG_QUERY__NODE__NODE_WINDOW_CLAUSE = 202, - PG_QUERY__NODE__NODE_OBJECT_WITH_ARGS = 203, - PG_QUERY__NODE__NODE_ACCESS_PRIV = 204, - PG_QUERY__NODE__NODE_CREATE_OP_CLASS_ITEM = 205, - PG_QUERY__NODE__NODE_TABLE_LIKE_CLAUSE = 206, - PG_QUERY__NODE__NODE_FUNCTION_PARAMETER = 207, - PG_QUERY__NODE__NODE_LOCKING_CLAUSE = 208, - PG_QUERY__NODE__NODE_ROW_MARK_CLAUSE = 209, - PG_QUERY__NODE__NODE_XML_SERIALIZE = 210, - PG_QUERY__NODE__NODE_WITH_CLAUSE = 211, - PG_QUERY__NODE__NODE_INFER_CLAUSE = 212, - PG_QUERY__NODE__NODE_ON_CONFLICT_CLAUSE = 213, - PG_QUERY__NODE__NODE_CTESEARCH_CLAUSE = 214, - PG_QUERY__NODE__NODE_CTECYCLE_CLAUSE = 215, - PG_QUERY__NODE__NODE_COMMON_TABLE_EXPR = 216, - PG_QUERY__NODE__NODE_MERGE_WHEN_CLAUSE = 217, - PG_QUERY__NODE__NODE_ROLE_SPEC = 218, - PG_QUERY__NODE__NODE_TRIGGER_TRANSITION = 219, - PG_QUERY__NODE__NODE_PARTITION_ELEM = 220, - PG_QUERY__NODE__NODE_PARTITION_SPEC = 221, - PG_QUERY__NODE__NODE_PARTITION_BOUND_SPEC = 222, - PG_QUERY__NODE__NODE_PARTITION_RANGE_DATUM = 223, - PG_QUERY__NODE__NODE_PARTITION_CMD = 224, - PG_QUERY__NODE__NODE_VACUUM_RELATION = 225, - PG_QUERY__NODE__NODE_PUBLICATION_OBJ_SPEC = 226, - PG_QUERY__NODE__NODE_PUBLICATION_TABLE = 227, - PG_QUERY__NODE__NODE_INLINE_CODE_BLOCK = 228, - PG_QUERY__NODE__NODE_CALL_CONTEXT = 229, - PG_QUERY__NODE__NODE_INTEGER = 230, - PG_QUERY__NODE__NODE_FLOAT = 231, - PG_QUERY__NODE__NODE_BOOLEAN = 232, - PG_QUERY__NODE__NODE_STRING = 233, - PG_QUERY__NODE__NODE_BIT_STRING = 234, - PG_QUERY__NODE__NODE_LIST = 235, - PG_QUERY__NODE__NODE_INT_LIST = 236, - PG_QUERY__NODE__NODE_OID_LIST = 237, - PG_QUERY__NODE__NODE_A_CONST = 238 + PG_QUERY__NODE__NODE_INTO_CLAUSE = 4, + PG_QUERY__NODE__NODE_VAR = 5, + PG_QUERY__NODE__NODE_PARAM = 6, + PG_QUERY__NODE__NODE_AGGREF = 7, + PG_QUERY__NODE__NODE_GROUPING_FUNC = 8, + PG_QUERY__NODE__NODE_WINDOW_FUNC = 9, + PG_QUERY__NODE__NODE_WINDOW_FUNC_RUN_CONDITION = 10, + PG_QUERY__NODE__NODE_MERGE_SUPPORT_FUNC = 11, + PG_QUERY__NODE__NODE_SUBSCRIPTING_REF = 12, + PG_QUERY__NODE__NODE_FUNC_EXPR = 13, + PG_QUERY__NODE__NODE_NAMED_ARG_EXPR = 14, + PG_QUERY__NODE__NODE_OP_EXPR = 15, + PG_QUERY__NODE__NODE_DISTINCT_EXPR = 16, + PG_QUERY__NODE__NODE_NULL_IF_EXPR = 17, + PG_QUERY__NODE__NODE_SCALAR_ARRAY_OP_EXPR = 18, + PG_QUERY__NODE__NODE_BOOL_EXPR = 19, + PG_QUERY__NODE__NODE_SUB_LINK = 20, + PG_QUERY__NODE__NODE_SUB_PLAN = 21, + PG_QUERY__NODE__NODE_ALTERNATIVE_SUB_PLAN = 22, + PG_QUERY__NODE__NODE_FIELD_SELECT = 23, + PG_QUERY__NODE__NODE_FIELD_STORE = 24, + PG_QUERY__NODE__NODE_RELABEL_TYPE = 25, + PG_QUERY__NODE__NODE_COERCE_VIA_IO = 26, + PG_QUERY__NODE__NODE_ARRAY_COERCE_EXPR = 27, + PG_QUERY__NODE__NODE_CONVERT_ROWTYPE_EXPR = 28, + PG_QUERY__NODE__NODE_COLLATE_EXPR = 29, + PG_QUERY__NODE__NODE_CASE_EXPR = 30, + PG_QUERY__NODE__NODE_CASE_WHEN = 31, + PG_QUERY__NODE__NODE_CASE_TEST_EXPR = 32, + PG_QUERY__NODE__NODE_ARRAY_EXPR = 33, + PG_QUERY__NODE__NODE_ROW_EXPR = 34, + PG_QUERY__NODE__NODE_ROW_COMPARE_EXPR = 35, + PG_QUERY__NODE__NODE_COALESCE_EXPR = 36, + PG_QUERY__NODE__NODE_MIN_MAX_EXPR = 37, + PG_QUERY__NODE__NODE_SQLVALUE_FUNCTION = 38, + PG_QUERY__NODE__NODE_XML_EXPR = 39, + PG_QUERY__NODE__NODE_JSON_FORMAT = 40, + PG_QUERY__NODE__NODE_JSON_RETURNING = 41, + PG_QUERY__NODE__NODE_JSON_VALUE_EXPR = 42, + PG_QUERY__NODE__NODE_JSON_CONSTRUCTOR_EXPR = 43, + PG_QUERY__NODE__NODE_JSON_IS_PREDICATE = 44, + PG_QUERY__NODE__NODE_JSON_BEHAVIOR = 45, + PG_QUERY__NODE__NODE_JSON_EXPR = 46, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH = 47, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH_SCAN = 48, + PG_QUERY__NODE__NODE_JSON_TABLE_SIBLING_JOIN = 49, + PG_QUERY__NODE__NODE_NULL_TEST = 50, + PG_QUERY__NODE__NODE_BOOLEAN_TEST = 51, + PG_QUERY__NODE__NODE_MERGE_ACTION = 52, + PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN = 53, + PG_QUERY__NODE__NODE_COERCE_TO_DOMAIN_VALUE = 54, + PG_QUERY__NODE__NODE_SET_TO_DEFAULT = 55, + PG_QUERY__NODE__NODE_CURRENT_OF_EXPR = 56, + PG_QUERY__NODE__NODE_NEXT_VALUE_EXPR = 57, + PG_QUERY__NODE__NODE_INFERENCE_ELEM = 58, + PG_QUERY__NODE__NODE_TARGET_ENTRY = 59, + PG_QUERY__NODE__NODE_RANGE_TBL_REF = 60, + PG_QUERY__NODE__NODE_JOIN_EXPR = 61, + PG_QUERY__NODE__NODE_FROM_EXPR = 62, + PG_QUERY__NODE__NODE_ON_CONFLICT_EXPR = 63, + PG_QUERY__NODE__NODE_QUERY = 64, + PG_QUERY__NODE__NODE_TYPE_NAME = 65, + PG_QUERY__NODE__NODE_COLUMN_REF = 66, + PG_QUERY__NODE__NODE_PARAM_REF = 67, + PG_QUERY__NODE__NODE_A_EXPR = 68, + PG_QUERY__NODE__NODE_TYPE_CAST = 69, + PG_QUERY__NODE__NODE_COLLATE_CLAUSE = 70, + PG_QUERY__NODE__NODE_ROLE_SPEC = 71, + PG_QUERY__NODE__NODE_FUNC_CALL = 72, + PG_QUERY__NODE__NODE_A_STAR = 73, + PG_QUERY__NODE__NODE_A_INDICES = 74, + PG_QUERY__NODE__NODE_A_INDIRECTION = 75, + PG_QUERY__NODE__NODE_A_ARRAY_EXPR = 76, + PG_QUERY__NODE__NODE_RES_TARGET = 77, + PG_QUERY__NODE__NODE_MULTI_ASSIGN_REF = 78, + PG_QUERY__NODE__NODE_SORT_BY = 79, + PG_QUERY__NODE__NODE_WINDOW_DEF = 80, + PG_QUERY__NODE__NODE_RANGE_SUBSELECT = 81, + PG_QUERY__NODE__NODE_RANGE_FUNCTION = 82, + PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC = 83, + PG_QUERY__NODE__NODE_RANGE_TABLE_FUNC_COL = 84, + PG_QUERY__NODE__NODE_RANGE_TABLE_SAMPLE = 85, + PG_QUERY__NODE__NODE_COLUMN_DEF = 86, + PG_QUERY__NODE__NODE_TABLE_LIKE_CLAUSE = 87, + PG_QUERY__NODE__NODE_INDEX_ELEM = 88, + PG_QUERY__NODE__NODE_DEF_ELEM = 89, + PG_QUERY__NODE__NODE_LOCKING_CLAUSE = 90, + PG_QUERY__NODE__NODE_XML_SERIALIZE = 91, + PG_QUERY__NODE__NODE_PARTITION_ELEM = 92, + PG_QUERY__NODE__NODE_PARTITION_SPEC = 93, + PG_QUERY__NODE__NODE_PARTITION_BOUND_SPEC = 94, + PG_QUERY__NODE__NODE_PARTITION_RANGE_DATUM = 95, + PG_QUERY__NODE__NODE_SINGLE_PARTITION_SPEC = 96, + PG_QUERY__NODE__NODE_PARTITION_CMD = 97, + PG_QUERY__NODE__NODE_RANGE_TBL_ENTRY = 98, + PG_QUERY__NODE__NODE_RTEPERMISSION_INFO = 99, + PG_QUERY__NODE__NODE_RANGE_TBL_FUNCTION = 100, + PG_QUERY__NODE__NODE_TABLE_SAMPLE_CLAUSE = 101, + PG_QUERY__NODE__NODE_WITH_CHECK_OPTION = 102, + PG_QUERY__NODE__NODE_SORT_GROUP_CLAUSE = 103, + PG_QUERY__NODE__NODE_GROUPING_SET = 104, + PG_QUERY__NODE__NODE_WINDOW_CLAUSE = 105, + PG_QUERY__NODE__NODE_ROW_MARK_CLAUSE = 106, + PG_QUERY__NODE__NODE_WITH_CLAUSE = 107, + PG_QUERY__NODE__NODE_INFER_CLAUSE = 108, + PG_QUERY__NODE__NODE_ON_CONFLICT_CLAUSE = 109, + PG_QUERY__NODE__NODE_CTESEARCH_CLAUSE = 110, + PG_QUERY__NODE__NODE_CTECYCLE_CLAUSE = 111, + PG_QUERY__NODE__NODE_COMMON_TABLE_EXPR = 112, + PG_QUERY__NODE__NODE_MERGE_WHEN_CLAUSE = 113, + PG_QUERY__NODE__NODE_TRIGGER_TRANSITION = 114, + PG_QUERY__NODE__NODE_JSON_OUTPUT = 115, + PG_QUERY__NODE__NODE_JSON_ARGUMENT = 116, + PG_QUERY__NODE__NODE_JSON_FUNC_EXPR = 117, + PG_QUERY__NODE__NODE_JSON_TABLE_PATH_SPEC = 118, + PG_QUERY__NODE__NODE_JSON_TABLE = 119, + PG_QUERY__NODE__NODE_JSON_TABLE_COLUMN = 120, + PG_QUERY__NODE__NODE_JSON_KEY_VALUE = 121, + PG_QUERY__NODE__NODE_JSON_PARSE_EXPR = 122, + PG_QUERY__NODE__NODE_JSON_SCALAR_EXPR = 123, + PG_QUERY__NODE__NODE_JSON_SERIALIZE_EXPR = 124, + PG_QUERY__NODE__NODE_JSON_OBJECT_CONSTRUCTOR = 125, + PG_QUERY__NODE__NODE_JSON_ARRAY_CONSTRUCTOR = 126, + PG_QUERY__NODE__NODE_JSON_ARRAY_QUERY_CONSTRUCTOR = 127, + PG_QUERY__NODE__NODE_JSON_AGG_CONSTRUCTOR = 128, + PG_QUERY__NODE__NODE_JSON_OBJECT_AGG = 129, + PG_QUERY__NODE__NODE_JSON_ARRAY_AGG = 130, + PG_QUERY__NODE__NODE_RAW_STMT = 131, + PG_QUERY__NODE__NODE_INSERT_STMT = 132, + PG_QUERY__NODE__NODE_DELETE_STMT = 133, + PG_QUERY__NODE__NODE_UPDATE_STMT = 134, + PG_QUERY__NODE__NODE_MERGE_STMT = 135, + PG_QUERY__NODE__NODE_SELECT_STMT = 136, + PG_QUERY__NODE__NODE_SET_OPERATION_STMT = 137, + PG_QUERY__NODE__NODE_RETURN_STMT = 138, + PG_QUERY__NODE__NODE_PLASSIGN_STMT = 139, + PG_QUERY__NODE__NODE_CREATE_SCHEMA_STMT = 140, + PG_QUERY__NODE__NODE_ALTER_TABLE_STMT = 141, + PG_QUERY__NODE__NODE_REPLICA_IDENTITY_STMT = 142, + PG_QUERY__NODE__NODE_ALTER_TABLE_CMD = 143, + PG_QUERY__NODE__NODE_ALTER_COLLATION_STMT = 144, + PG_QUERY__NODE__NODE_ALTER_DOMAIN_STMT = 145, + PG_QUERY__NODE__NODE_GRANT_STMT = 146, + PG_QUERY__NODE__NODE_OBJECT_WITH_ARGS = 147, + PG_QUERY__NODE__NODE_ACCESS_PRIV = 148, + PG_QUERY__NODE__NODE_GRANT_ROLE_STMT = 149, + PG_QUERY__NODE__NODE_ALTER_DEFAULT_PRIVILEGES_STMT = 150, + PG_QUERY__NODE__NODE_COPY_STMT = 151, + PG_QUERY__NODE__NODE_VARIABLE_SET_STMT = 152, + PG_QUERY__NODE__NODE_VARIABLE_SHOW_STMT = 153, + PG_QUERY__NODE__NODE_CREATE_STMT = 154, + PG_QUERY__NODE__NODE_CONSTRAINT = 155, + PG_QUERY__NODE__NODE_CREATE_TABLE_SPACE_STMT = 156, + PG_QUERY__NODE__NODE_DROP_TABLE_SPACE_STMT = 157, + PG_QUERY__NODE__NODE_ALTER_TABLE_SPACE_OPTIONS_STMT = 158, + PG_QUERY__NODE__NODE_ALTER_TABLE_MOVE_ALL_STMT = 159, + PG_QUERY__NODE__NODE_CREATE_EXTENSION_STMT = 160, + PG_QUERY__NODE__NODE_ALTER_EXTENSION_STMT = 161, + PG_QUERY__NODE__NODE_ALTER_EXTENSION_CONTENTS_STMT = 162, + PG_QUERY__NODE__NODE_CREATE_FDW_STMT = 163, + PG_QUERY__NODE__NODE_ALTER_FDW_STMT = 164, + PG_QUERY__NODE__NODE_CREATE_FOREIGN_SERVER_STMT = 165, + PG_QUERY__NODE__NODE_ALTER_FOREIGN_SERVER_STMT = 166, + PG_QUERY__NODE__NODE_CREATE_FOREIGN_TABLE_STMT = 167, + PG_QUERY__NODE__NODE_CREATE_USER_MAPPING_STMT = 168, + PG_QUERY__NODE__NODE_ALTER_USER_MAPPING_STMT = 169, + PG_QUERY__NODE__NODE_DROP_USER_MAPPING_STMT = 170, + PG_QUERY__NODE__NODE_IMPORT_FOREIGN_SCHEMA_STMT = 171, + PG_QUERY__NODE__NODE_CREATE_POLICY_STMT = 172, + PG_QUERY__NODE__NODE_ALTER_POLICY_STMT = 173, + PG_QUERY__NODE__NODE_CREATE_AM_STMT = 174, + PG_QUERY__NODE__NODE_CREATE_TRIG_STMT = 175, + PG_QUERY__NODE__NODE_CREATE_EVENT_TRIG_STMT = 176, + PG_QUERY__NODE__NODE_ALTER_EVENT_TRIG_STMT = 177, + PG_QUERY__NODE__NODE_CREATE_PLANG_STMT = 178, + PG_QUERY__NODE__NODE_CREATE_ROLE_STMT = 179, + PG_QUERY__NODE__NODE_ALTER_ROLE_STMT = 180, + PG_QUERY__NODE__NODE_ALTER_ROLE_SET_STMT = 181, + PG_QUERY__NODE__NODE_DROP_ROLE_STMT = 182, + PG_QUERY__NODE__NODE_CREATE_SEQ_STMT = 183, + PG_QUERY__NODE__NODE_ALTER_SEQ_STMT = 184, + PG_QUERY__NODE__NODE_DEFINE_STMT = 185, + PG_QUERY__NODE__NODE_CREATE_DOMAIN_STMT = 186, + PG_QUERY__NODE__NODE_CREATE_OP_CLASS_STMT = 187, + PG_QUERY__NODE__NODE_CREATE_OP_CLASS_ITEM = 188, + PG_QUERY__NODE__NODE_CREATE_OP_FAMILY_STMT = 189, + PG_QUERY__NODE__NODE_ALTER_OP_FAMILY_STMT = 190, + PG_QUERY__NODE__NODE_DROP_STMT = 191, + PG_QUERY__NODE__NODE_TRUNCATE_STMT = 192, + PG_QUERY__NODE__NODE_COMMENT_STMT = 193, + PG_QUERY__NODE__NODE_SEC_LABEL_STMT = 194, + PG_QUERY__NODE__NODE_DECLARE_CURSOR_STMT = 195, + PG_QUERY__NODE__NODE_CLOSE_PORTAL_STMT = 196, + PG_QUERY__NODE__NODE_FETCH_STMT = 197, + PG_QUERY__NODE__NODE_INDEX_STMT = 198, + PG_QUERY__NODE__NODE_CREATE_STATS_STMT = 199, + PG_QUERY__NODE__NODE_STATS_ELEM = 200, + PG_QUERY__NODE__NODE_ALTER_STATS_STMT = 201, + PG_QUERY__NODE__NODE_CREATE_FUNCTION_STMT = 202, + PG_QUERY__NODE__NODE_FUNCTION_PARAMETER = 203, + PG_QUERY__NODE__NODE_ALTER_FUNCTION_STMT = 204, + PG_QUERY__NODE__NODE_DO_STMT = 205, + PG_QUERY__NODE__NODE_INLINE_CODE_BLOCK = 206, + PG_QUERY__NODE__NODE_CALL_STMT = 207, + PG_QUERY__NODE__NODE_CALL_CONTEXT = 208, + PG_QUERY__NODE__NODE_RENAME_STMT = 209, + PG_QUERY__NODE__NODE_ALTER_OBJECT_DEPENDS_STMT = 210, + PG_QUERY__NODE__NODE_ALTER_OBJECT_SCHEMA_STMT = 211, + PG_QUERY__NODE__NODE_ALTER_OWNER_STMT = 212, + PG_QUERY__NODE__NODE_ALTER_OPERATOR_STMT = 213, + PG_QUERY__NODE__NODE_ALTER_TYPE_STMT = 214, + PG_QUERY__NODE__NODE_RULE_STMT = 215, + PG_QUERY__NODE__NODE_NOTIFY_STMT = 216, + PG_QUERY__NODE__NODE_LISTEN_STMT = 217, + PG_QUERY__NODE__NODE_UNLISTEN_STMT = 218, + PG_QUERY__NODE__NODE_TRANSACTION_STMT = 219, + PG_QUERY__NODE__NODE_COMPOSITE_TYPE_STMT = 220, + PG_QUERY__NODE__NODE_CREATE_ENUM_STMT = 221, + PG_QUERY__NODE__NODE_CREATE_RANGE_STMT = 222, + PG_QUERY__NODE__NODE_ALTER_ENUM_STMT = 223, + PG_QUERY__NODE__NODE_VIEW_STMT = 224, + PG_QUERY__NODE__NODE_LOAD_STMT = 225, + PG_QUERY__NODE__NODE_CREATEDB_STMT = 226, + PG_QUERY__NODE__NODE_ALTER_DATABASE_STMT = 227, + PG_QUERY__NODE__NODE_ALTER_DATABASE_REFRESH_COLL_STMT = 228, + PG_QUERY__NODE__NODE_ALTER_DATABASE_SET_STMT = 229, + PG_QUERY__NODE__NODE_DROPDB_STMT = 230, + PG_QUERY__NODE__NODE_ALTER_SYSTEM_STMT = 231, + PG_QUERY__NODE__NODE_CLUSTER_STMT = 232, + PG_QUERY__NODE__NODE_VACUUM_STMT = 233, + PG_QUERY__NODE__NODE_VACUUM_RELATION = 234, + PG_QUERY__NODE__NODE_EXPLAIN_STMT = 235, + PG_QUERY__NODE__NODE_CREATE_TABLE_AS_STMT = 236, + PG_QUERY__NODE__NODE_REFRESH_MAT_VIEW_STMT = 237, + PG_QUERY__NODE__NODE_CHECK_POINT_STMT = 238, + PG_QUERY__NODE__NODE_DISCARD_STMT = 239, + PG_QUERY__NODE__NODE_LOCK_STMT = 240, + PG_QUERY__NODE__NODE_CONSTRAINTS_SET_STMT = 241, + PG_QUERY__NODE__NODE_REINDEX_STMT = 242, + PG_QUERY__NODE__NODE_CREATE_CONVERSION_STMT = 243, + PG_QUERY__NODE__NODE_CREATE_CAST_STMT = 244, + PG_QUERY__NODE__NODE_CREATE_TRANSFORM_STMT = 245, + PG_QUERY__NODE__NODE_PREPARE_STMT = 246, + PG_QUERY__NODE__NODE_EXECUTE_STMT = 247, + PG_QUERY__NODE__NODE_DEALLOCATE_STMT = 248, + PG_QUERY__NODE__NODE_DROP_OWNED_STMT = 249, + PG_QUERY__NODE__NODE_REASSIGN_OWNED_STMT = 250, + PG_QUERY__NODE__NODE_ALTER_TSDICTIONARY_STMT = 251, + PG_QUERY__NODE__NODE_ALTER_TSCONFIGURATION_STMT = 252, + PG_QUERY__NODE__NODE_PUBLICATION_TABLE = 253, + PG_QUERY__NODE__NODE_PUBLICATION_OBJ_SPEC = 254, + PG_QUERY__NODE__NODE_CREATE_PUBLICATION_STMT = 255, + PG_QUERY__NODE__NODE_ALTER_PUBLICATION_STMT = 256, + PG_QUERY__NODE__NODE_CREATE_SUBSCRIPTION_STMT = 257, + PG_QUERY__NODE__NODE_ALTER_SUBSCRIPTION_STMT = 258, + PG_QUERY__NODE__NODE_DROP_SUBSCRIPTION_STMT = 259, + PG_QUERY__NODE__NODE_INTEGER = 260, + PG_QUERY__NODE__NODE_FLOAT = 261, + PG_QUERY__NODE__NODE_BOOLEAN = 262, + PG_QUERY__NODE__NODE_STRING = 263, + PG_QUERY__NODE__NODE_BIT_STRING = 264, + PG_QUERY__NODE__NODE_LIST = 265, + PG_QUERY__NODE__NODE_INT_LIST = 266, + PG_QUERY__NODE__NODE_OID_LIST = 267, + PG_QUERY__NODE__NODE_A_CONST = 268 PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(PG_QUERY__NODE__NODE__CASE) } PgQuery__Node__NodeCase; @@ -1750,244 +1956,274 @@ struct PgQuery__Node ProtobufCMessage base; PgQuery__Node__NodeCase node_case; union { - PgQuery__Alias *alias; - PgQuery__RangeVar *range_var; - PgQuery__TableFunc *table_func; - PgQuery__Var *var; - PgQuery__Param *param; + PgQuery__AArrayExpr *a_array_expr; + PgQuery__AConst *a_const; + PgQuery__AExpr *a_expr; + PgQuery__AIndices *a_indices; + PgQuery__AIndirection *a_indirection; + PgQuery__AStar *a_star; + PgQuery__AccessPriv *access_priv; PgQuery__Aggref *aggref; - PgQuery__GroupingFunc *grouping_func; - PgQuery__WindowFunc *window_func; - PgQuery__SubscriptingRef *subscripting_ref; - PgQuery__FuncExpr *func_expr; - PgQuery__NamedArgExpr *named_arg_expr; - PgQuery__OpExpr *op_expr; - PgQuery__DistinctExpr *distinct_expr; - PgQuery__NullIfExpr *null_if_expr; - PgQuery__ScalarArrayOpExpr *scalar_array_op_expr; - PgQuery__BoolExpr *bool_expr; - PgQuery__SubLink *sub_link; - PgQuery__SubPlan *sub_plan; + PgQuery__Alias *alias; + PgQuery__AlterCollationStmt *alter_collation_stmt; + PgQuery__AlterDatabaseRefreshCollStmt *alter_database_refresh_coll_stmt; + PgQuery__AlterDatabaseSetStmt *alter_database_set_stmt; + PgQuery__AlterDatabaseStmt *alter_database_stmt; + PgQuery__AlterDefaultPrivilegesStmt *alter_default_privileges_stmt; + PgQuery__AlterDomainStmt *alter_domain_stmt; + PgQuery__AlterEnumStmt *alter_enum_stmt; + PgQuery__AlterEventTrigStmt *alter_event_trig_stmt; + PgQuery__AlterExtensionContentsStmt *alter_extension_contents_stmt; + PgQuery__AlterExtensionStmt *alter_extension_stmt; + PgQuery__AlterFdwStmt *alter_fdw_stmt; + PgQuery__AlterForeignServerStmt *alter_foreign_server_stmt; + PgQuery__AlterFunctionStmt *alter_function_stmt; + PgQuery__AlterObjectDependsStmt *alter_object_depends_stmt; + PgQuery__AlterObjectSchemaStmt *alter_object_schema_stmt; + PgQuery__AlterOpFamilyStmt *alter_op_family_stmt; + PgQuery__AlterOperatorStmt *alter_operator_stmt; + PgQuery__AlterOwnerStmt *alter_owner_stmt; + PgQuery__AlterPolicyStmt *alter_policy_stmt; + PgQuery__AlterPublicationStmt *alter_publication_stmt; + PgQuery__AlterRoleSetStmt *alter_role_set_stmt; + PgQuery__AlterRoleStmt *alter_role_stmt; + PgQuery__AlterSeqStmt *alter_seq_stmt; + PgQuery__AlterStatsStmt *alter_stats_stmt; + PgQuery__AlterSubscriptionStmt *alter_subscription_stmt; + PgQuery__AlterSystemStmt *alter_system_stmt; + PgQuery__AlterTableCmd *alter_table_cmd; + PgQuery__AlterTableMoveAllStmt *alter_table_move_all_stmt; + PgQuery__AlterTableSpaceOptionsStmt *alter_table_space_options_stmt; + PgQuery__AlterTableStmt *alter_table_stmt; + PgQuery__AlterTSConfigurationStmt *alter_tsconfiguration_stmt; + PgQuery__AlterTSDictionaryStmt *alter_tsdictionary_stmt; + PgQuery__AlterTypeStmt *alter_type_stmt; + PgQuery__AlterUserMappingStmt *alter_user_mapping_stmt; PgQuery__AlternativeSubPlan *alternative_sub_plan; - PgQuery__FieldSelect *field_select; - PgQuery__FieldStore *field_store; - PgQuery__RelabelType *relabel_type; - PgQuery__CoerceViaIO *coerce_via_io; PgQuery__ArrayCoerceExpr *array_coerce_expr; - PgQuery__ConvertRowtypeExpr *convert_rowtype_expr; - PgQuery__CollateExpr *collate_expr; + PgQuery__ArrayExpr *array_expr; + PgQuery__BitString *bit_string; + PgQuery__BoolExpr *bool_expr; + PgQuery__Boolean *boolean; + PgQuery__BooleanTest *boolean_test; + PgQuery__CallContext *call_context; + PgQuery__CallStmt *call_stmt; PgQuery__CaseExpr *case_expr; - PgQuery__CaseWhen *case_when; PgQuery__CaseTestExpr *case_test_expr; - PgQuery__ArrayExpr *array_expr; - PgQuery__RowExpr *row_expr; - PgQuery__RowCompareExpr *row_compare_expr; + PgQuery__CaseWhen *case_when; + PgQuery__CheckPointStmt *check_point_stmt; + PgQuery__ClosePortalStmt *close_portal_stmt; + PgQuery__ClusterStmt *cluster_stmt; PgQuery__CoalesceExpr *coalesce_expr; - PgQuery__MinMaxExpr *min_max_expr; - PgQuery__SQLValueFunction *sqlvalue_function; - PgQuery__XmlExpr *xml_expr; - PgQuery__NullTest *null_test; - PgQuery__BooleanTest *boolean_test; PgQuery__CoerceToDomain *coerce_to_domain; PgQuery__CoerceToDomainValue *coerce_to_domain_value; - PgQuery__SetToDefault *set_to_default; - PgQuery__CurrentOfExpr *current_of_expr; - PgQuery__NextValueExpr *next_value_expr; - PgQuery__InferenceElem *inference_elem; - PgQuery__TargetEntry *target_entry; - PgQuery__RangeTblRef *range_tbl_ref; - PgQuery__JoinExpr *join_expr; - PgQuery__FromExpr *from_expr; - PgQuery__OnConflictExpr *on_conflict_expr; - PgQuery__IntoClause *into_clause; - PgQuery__MergeAction *merge_action; - PgQuery__RawStmt *raw_stmt; - PgQuery__Query *query; - PgQuery__InsertStmt *insert_stmt; - PgQuery__DeleteStmt *delete_stmt; - PgQuery__UpdateStmt *update_stmt; - PgQuery__MergeStmt *merge_stmt; - PgQuery__SelectStmt *select_stmt; - PgQuery__ReturnStmt *return_stmt; - PgQuery__PLAssignStmt *plassign_stmt; - PgQuery__AlterTableStmt *alter_table_stmt; - PgQuery__AlterTableCmd *alter_table_cmd; - PgQuery__AlterDomainStmt *alter_domain_stmt; - PgQuery__SetOperationStmt *set_operation_stmt; - PgQuery__GrantStmt *grant_stmt; - PgQuery__GrantRoleStmt *grant_role_stmt; - PgQuery__AlterDefaultPrivilegesStmt *alter_default_privileges_stmt; - PgQuery__ClosePortalStmt *close_portal_stmt; - PgQuery__ClusterStmt *cluster_stmt; - PgQuery__CopyStmt *copy_stmt; - PgQuery__CreateStmt *create_stmt; - PgQuery__DefineStmt *define_stmt; - PgQuery__DropStmt *drop_stmt; - PgQuery__TruncateStmt *truncate_stmt; + PgQuery__CoerceViaIO *coerce_via_io; + PgQuery__CollateClause *collate_clause; + PgQuery__CollateExpr *collate_expr; + PgQuery__ColumnDef *column_def; + PgQuery__ColumnRef *column_ref; PgQuery__CommentStmt *comment_stmt; - PgQuery__FetchStmt *fetch_stmt; - PgQuery__IndexStmt *index_stmt; - PgQuery__CreateFunctionStmt *create_function_stmt; - PgQuery__AlterFunctionStmt *alter_function_stmt; - PgQuery__DoStmt *do_stmt; - PgQuery__RenameStmt *rename_stmt; - PgQuery__RuleStmt *rule_stmt; - PgQuery__NotifyStmt *notify_stmt; - PgQuery__ListenStmt *listen_stmt; - PgQuery__UnlistenStmt *unlisten_stmt; - PgQuery__TransactionStmt *transaction_stmt; - PgQuery__ViewStmt *view_stmt; - PgQuery__LoadStmt *load_stmt; - PgQuery__CreateDomainStmt *create_domain_stmt; - PgQuery__CreatedbStmt *createdb_stmt; - PgQuery__DropdbStmt *dropdb_stmt; - PgQuery__VacuumStmt *vacuum_stmt; - PgQuery__ExplainStmt *explain_stmt; - PgQuery__CreateTableAsStmt *create_table_as_stmt; - PgQuery__CreateSeqStmt *create_seq_stmt; - PgQuery__AlterSeqStmt *alter_seq_stmt; - PgQuery__VariableSetStmt *variable_set_stmt; - PgQuery__VariableShowStmt *variable_show_stmt; - PgQuery__DiscardStmt *discard_stmt; - PgQuery__CreateTrigStmt *create_trig_stmt; - PgQuery__CreatePLangStmt *create_plang_stmt; - PgQuery__CreateRoleStmt *create_role_stmt; - PgQuery__AlterRoleStmt *alter_role_stmt; - PgQuery__DropRoleStmt *drop_role_stmt; - PgQuery__LockStmt *lock_stmt; + PgQuery__CommonTableExpr *common_table_expr; + PgQuery__CompositeTypeStmt *composite_type_stmt; + PgQuery__Constraint *constraint; PgQuery__ConstraintsSetStmt *constraints_set_stmt; - PgQuery__ReindexStmt *reindex_stmt; - PgQuery__CheckPointStmt *check_point_stmt; - PgQuery__CreateSchemaStmt *create_schema_stmt; - PgQuery__AlterDatabaseStmt *alter_database_stmt; - PgQuery__AlterDatabaseRefreshCollStmt *alter_database_refresh_coll_stmt; - PgQuery__AlterDatabaseSetStmt *alter_database_set_stmt; - PgQuery__AlterRoleSetStmt *alter_role_set_stmt; - PgQuery__CreateConversionStmt *create_conversion_stmt; + PgQuery__ConvertRowtypeExpr *convert_rowtype_expr; + PgQuery__CopyStmt *copy_stmt; + PgQuery__CreateAmStmt *create_am_stmt; PgQuery__CreateCastStmt *create_cast_stmt; - PgQuery__CreateOpClassStmt *create_op_class_stmt; - PgQuery__CreateOpFamilyStmt *create_op_family_stmt; - PgQuery__AlterOpFamilyStmt *alter_op_family_stmt; - PgQuery__PrepareStmt *prepare_stmt; - PgQuery__ExecuteStmt *execute_stmt; - PgQuery__DeallocateStmt *deallocate_stmt; - PgQuery__DeclareCursorStmt *declare_cursor_stmt; - PgQuery__CreateTableSpaceStmt *create_table_space_stmt; - PgQuery__DropTableSpaceStmt *drop_table_space_stmt; - PgQuery__AlterObjectDependsStmt *alter_object_depends_stmt; - PgQuery__AlterObjectSchemaStmt *alter_object_schema_stmt; - PgQuery__AlterOwnerStmt *alter_owner_stmt; - PgQuery__AlterOperatorStmt *alter_operator_stmt; - PgQuery__AlterTypeStmt *alter_type_stmt; - PgQuery__DropOwnedStmt *drop_owned_stmt; - PgQuery__ReassignOwnedStmt *reassign_owned_stmt; - PgQuery__CompositeTypeStmt *composite_type_stmt; + PgQuery__CreateConversionStmt *create_conversion_stmt; + PgQuery__CreateDomainStmt *create_domain_stmt; PgQuery__CreateEnumStmt *create_enum_stmt; - PgQuery__CreateRangeStmt *create_range_stmt; - PgQuery__AlterEnumStmt *alter_enum_stmt; - PgQuery__AlterTSDictionaryStmt *alter_tsdictionary_stmt; - PgQuery__AlterTSConfigurationStmt *alter_tsconfiguration_stmt; + PgQuery__CreateEventTrigStmt *create_event_trig_stmt; + PgQuery__CreateExtensionStmt *create_extension_stmt; PgQuery__CreateFdwStmt *create_fdw_stmt; - PgQuery__AlterFdwStmt *alter_fdw_stmt; PgQuery__CreateForeignServerStmt *create_foreign_server_stmt; - PgQuery__AlterForeignServerStmt *alter_foreign_server_stmt; - PgQuery__CreateUserMappingStmt *create_user_mapping_stmt; - PgQuery__AlterUserMappingStmt *alter_user_mapping_stmt; - PgQuery__DropUserMappingStmt *drop_user_mapping_stmt; - PgQuery__AlterTableSpaceOptionsStmt *alter_table_space_options_stmt; - PgQuery__AlterTableMoveAllStmt *alter_table_move_all_stmt; - PgQuery__SecLabelStmt *sec_label_stmt; PgQuery__CreateForeignTableStmt *create_foreign_table_stmt; - PgQuery__ImportForeignSchemaStmt *import_foreign_schema_stmt; - PgQuery__CreateExtensionStmt *create_extension_stmt; - PgQuery__AlterExtensionStmt *alter_extension_stmt; - PgQuery__AlterExtensionContentsStmt *alter_extension_contents_stmt; - PgQuery__CreateEventTrigStmt *create_event_trig_stmt; - PgQuery__AlterEventTrigStmt *alter_event_trig_stmt; - PgQuery__RefreshMatViewStmt *refresh_mat_view_stmt; - PgQuery__ReplicaIdentityStmt *replica_identity_stmt; - PgQuery__AlterSystemStmt *alter_system_stmt; + PgQuery__CreateFunctionStmt *create_function_stmt; + PgQuery__CreateOpClassItem *create_op_class_item; + PgQuery__CreateOpClassStmt *create_op_class_stmt; + PgQuery__CreateOpFamilyStmt *create_op_family_stmt; + PgQuery__CreatePLangStmt *create_plang_stmt; PgQuery__CreatePolicyStmt *create_policy_stmt; - PgQuery__AlterPolicyStmt *alter_policy_stmt; - PgQuery__CreateTransformStmt *create_transform_stmt; - PgQuery__CreateAmStmt *create_am_stmt; PgQuery__CreatePublicationStmt *create_publication_stmt; - PgQuery__AlterPublicationStmt *alter_publication_stmt; + PgQuery__CreateRangeStmt *create_range_stmt; + PgQuery__CreateRoleStmt *create_role_stmt; + PgQuery__CreateSchemaStmt *create_schema_stmt; + PgQuery__CreateSeqStmt *create_seq_stmt; + PgQuery__CreateStatsStmt *create_stats_stmt; + PgQuery__CreateStmt *create_stmt; PgQuery__CreateSubscriptionStmt *create_subscription_stmt; - PgQuery__AlterSubscriptionStmt *alter_subscription_stmt; + PgQuery__CreateTableAsStmt *create_table_as_stmt; + PgQuery__CreateTableSpaceStmt *create_table_space_stmt; + PgQuery__CreateTransformStmt *create_transform_stmt; + PgQuery__CreateTrigStmt *create_trig_stmt; + PgQuery__CreateUserMappingStmt *create_user_mapping_stmt; + PgQuery__CreatedbStmt *createdb_stmt; + PgQuery__CTECycleClause *ctecycle_clause; + PgQuery__CTESearchClause *ctesearch_clause; + PgQuery__CurrentOfExpr *current_of_expr; + PgQuery__DeallocateStmt *deallocate_stmt; + PgQuery__DeclareCursorStmt *declare_cursor_stmt; + PgQuery__DefElem *def_elem; + PgQuery__DefineStmt *define_stmt; + PgQuery__DeleteStmt *delete_stmt; + PgQuery__DiscardStmt *discard_stmt; + PgQuery__DistinctExpr *distinct_expr; + PgQuery__DoStmt *do_stmt; + PgQuery__DropOwnedStmt *drop_owned_stmt; + PgQuery__DropRoleStmt *drop_role_stmt; + PgQuery__DropStmt *drop_stmt; PgQuery__DropSubscriptionStmt *drop_subscription_stmt; - PgQuery__CreateStatsStmt *create_stats_stmt; - PgQuery__AlterCollationStmt *alter_collation_stmt; - PgQuery__CallStmt *call_stmt; - PgQuery__AlterStatsStmt *alter_stats_stmt; - PgQuery__AExpr *a_expr; - PgQuery__ColumnRef *column_ref; - PgQuery__ParamRef *param_ref; + PgQuery__DropTableSpaceStmt *drop_table_space_stmt; + PgQuery__DropUserMappingStmt *drop_user_mapping_stmt; + PgQuery__DropdbStmt *dropdb_stmt; + PgQuery__ExecuteStmt *execute_stmt; + PgQuery__ExplainStmt *explain_stmt; + PgQuery__FetchStmt *fetch_stmt; + PgQuery__FieldSelect *field_select; + PgQuery__FieldStore *field_store; + PgQuery__Float *float_; + PgQuery__FromExpr *from_expr; PgQuery__FuncCall *func_call; - PgQuery__AStar *a_star; - PgQuery__AIndices *a_indices; - PgQuery__AIndirection *a_indirection; - PgQuery__AArrayExpr *a_array_expr; - PgQuery__ResTarget *res_target; + PgQuery__FuncExpr *func_expr; + PgQuery__FunctionParameter *function_parameter; + PgQuery__GrantRoleStmt *grant_role_stmt; + PgQuery__GrantStmt *grant_stmt; + PgQuery__GroupingFunc *grouping_func; + PgQuery__GroupingSet *grouping_set; + PgQuery__ImportForeignSchemaStmt *import_foreign_schema_stmt; + PgQuery__IndexElem *index_elem; + PgQuery__IndexStmt *index_stmt; + PgQuery__InferClause *infer_clause; + PgQuery__InferenceElem *inference_elem; + PgQuery__InlineCodeBlock *inline_code_block; + PgQuery__InsertStmt *insert_stmt; + PgQuery__IntList *int_list; + PgQuery__Integer *integer; + PgQuery__IntoClause *into_clause; + PgQuery__JoinExpr *join_expr; + PgQuery__JsonAggConstructor *json_agg_constructor; + PgQuery__JsonArgument *json_argument; + PgQuery__JsonArrayAgg *json_array_agg; + PgQuery__JsonArrayConstructor *json_array_constructor; + PgQuery__JsonArrayQueryConstructor *json_array_query_constructor; + PgQuery__JsonBehavior *json_behavior; + PgQuery__JsonConstructorExpr *json_constructor_expr; + PgQuery__JsonExpr *json_expr; + PgQuery__JsonFormat *json_format; + PgQuery__JsonFuncExpr *json_func_expr; + PgQuery__JsonIsPredicate *json_is_predicate; + PgQuery__JsonKeyValue *json_key_value; + PgQuery__JsonObjectAgg *json_object_agg; + PgQuery__JsonObjectConstructor *json_object_constructor; + PgQuery__JsonOutput *json_output; + PgQuery__JsonParseExpr *json_parse_expr; + PgQuery__JsonReturning *json_returning; + PgQuery__JsonScalarExpr *json_scalar_expr; + PgQuery__JsonSerializeExpr *json_serialize_expr; + PgQuery__JsonTable *json_table; + PgQuery__JsonTableColumn *json_table_column; + PgQuery__JsonTablePath *json_table_path; + PgQuery__JsonTablePathScan *json_table_path_scan; + PgQuery__JsonTablePathSpec *json_table_path_spec; + PgQuery__JsonTableSiblingJoin *json_table_sibling_join; + PgQuery__JsonValueExpr *json_value_expr; + PgQuery__List *list; + PgQuery__ListenStmt *listen_stmt; + PgQuery__LoadStmt *load_stmt; + PgQuery__LockStmt *lock_stmt; + PgQuery__LockingClause *locking_clause; + PgQuery__MergeAction *merge_action; + PgQuery__MergeStmt *merge_stmt; + PgQuery__MergeSupportFunc *merge_support_func; + PgQuery__MergeWhenClause *merge_when_clause; + PgQuery__MinMaxExpr *min_max_expr; PgQuery__MultiAssignRef *multi_assign_ref; - PgQuery__TypeCast *type_cast; - PgQuery__CollateClause *collate_clause; - PgQuery__SortBy *sort_by; - PgQuery__WindowDef *window_def; - PgQuery__RangeSubselect *range_subselect; + PgQuery__NamedArgExpr *named_arg_expr; + PgQuery__NextValueExpr *next_value_expr; + PgQuery__NotifyStmt *notify_stmt; + PgQuery__NullIfExpr *null_if_expr; + PgQuery__NullTest *null_test; + PgQuery__ObjectWithArgs *object_with_args; + PgQuery__OidList *oid_list; + PgQuery__OnConflictClause *on_conflict_clause; + PgQuery__OnConflictExpr *on_conflict_expr; + PgQuery__OpExpr *op_expr; + PgQuery__Param *param; + PgQuery__ParamRef *param_ref; + PgQuery__PartitionBoundSpec *partition_bound_spec; + PgQuery__PartitionCmd *partition_cmd; + PgQuery__PartitionElem *partition_elem; + PgQuery__PartitionRangeDatum *partition_range_datum; + PgQuery__PartitionSpec *partition_spec; + PgQuery__PLAssignStmt *plassign_stmt; + PgQuery__PrepareStmt *prepare_stmt; + PgQuery__PublicationObjSpec *publication_obj_spec; + PgQuery__PublicationTable *publication_table; + PgQuery__Query *query; PgQuery__RangeFunction *range_function; - PgQuery__RangeTableSample *range_table_sample; + PgQuery__RangeSubselect *range_subselect; PgQuery__RangeTableFunc *range_table_func; PgQuery__RangeTableFuncCol *range_table_func_col; - PgQuery__TypeName *type_name; - PgQuery__ColumnDef *column_def; - PgQuery__IndexElem *index_elem; - PgQuery__StatsElem *stats_elem; - PgQuery__Constraint *constraint; - PgQuery__DefElem *def_elem; + PgQuery__RangeTableSample *range_table_sample; PgQuery__RangeTblEntry *range_tbl_entry; PgQuery__RangeTblFunction *range_tbl_function; - PgQuery__TableSampleClause *table_sample_clause; - PgQuery__WithCheckOption *with_check_option; + PgQuery__RangeTblRef *range_tbl_ref; + PgQuery__RangeVar *range_var; + PgQuery__RawStmt *raw_stmt; + PgQuery__ReassignOwnedStmt *reassign_owned_stmt; + PgQuery__RefreshMatViewStmt *refresh_mat_view_stmt; + PgQuery__ReindexStmt *reindex_stmt; + PgQuery__RelabelType *relabel_type; + PgQuery__RenameStmt *rename_stmt; + PgQuery__ReplicaIdentityStmt *replica_identity_stmt; + PgQuery__ResTarget *res_target; + PgQuery__ReturnStmt *return_stmt; + PgQuery__RoleSpec *role_spec; + PgQuery__RowCompareExpr *row_compare_expr; + PgQuery__RowExpr *row_expr; + PgQuery__RowMarkClause *row_mark_clause; + PgQuery__RTEPermissionInfo *rtepermission_info; + PgQuery__RuleStmt *rule_stmt; + PgQuery__ScalarArrayOpExpr *scalar_array_op_expr; + PgQuery__SecLabelStmt *sec_label_stmt; + PgQuery__SelectStmt *select_stmt; + PgQuery__SetOperationStmt *set_operation_stmt; + PgQuery__SetToDefault *set_to_default; + PgQuery__SinglePartitionSpec *single_partition_spec; + PgQuery__SortBy *sort_by; PgQuery__SortGroupClause *sort_group_clause; - PgQuery__GroupingSet *grouping_set; - PgQuery__WindowClause *window_clause; - PgQuery__ObjectWithArgs *object_with_args; - PgQuery__AccessPriv *access_priv; - PgQuery__CreateOpClassItem *create_op_class_item; + PgQuery__SQLValueFunction *sqlvalue_function; + PgQuery__StatsElem *stats_elem; + PgQuery__String *string; + PgQuery__SubLink *sub_link; + PgQuery__SubPlan *sub_plan; + PgQuery__SubscriptingRef *subscripting_ref; + PgQuery__TableFunc *table_func; PgQuery__TableLikeClause *table_like_clause; - PgQuery__FunctionParameter *function_parameter; - PgQuery__LockingClause *locking_clause; - PgQuery__RowMarkClause *row_mark_clause; - PgQuery__XmlSerialize *xml_serialize; - PgQuery__WithClause *with_clause; - PgQuery__InferClause *infer_clause; - PgQuery__OnConflictClause *on_conflict_clause; - PgQuery__CTESearchClause *ctesearch_clause; - PgQuery__CTECycleClause *ctecycle_clause; - PgQuery__CommonTableExpr *common_table_expr; - PgQuery__MergeWhenClause *merge_when_clause; - PgQuery__RoleSpec *role_spec; + PgQuery__TableSampleClause *table_sample_clause; + PgQuery__TargetEntry *target_entry; + PgQuery__TransactionStmt *transaction_stmt; PgQuery__TriggerTransition *trigger_transition; - PgQuery__PartitionElem *partition_elem; - PgQuery__PartitionSpec *partition_spec; - PgQuery__PartitionBoundSpec *partition_bound_spec; - PgQuery__PartitionRangeDatum *partition_range_datum; - PgQuery__PartitionCmd *partition_cmd; + PgQuery__TruncateStmt *truncate_stmt; + PgQuery__TypeCast *type_cast; + PgQuery__TypeName *type_name; + PgQuery__UnlistenStmt *unlisten_stmt; + PgQuery__UpdateStmt *update_stmt; PgQuery__VacuumRelation *vacuum_relation; - PgQuery__PublicationObjSpec *publication_obj_spec; - PgQuery__PublicationTable *publication_table; - PgQuery__InlineCodeBlock *inline_code_block; - PgQuery__CallContext *call_context; - PgQuery__Integer *integer; - PgQuery__Float *float_; - PgQuery__Boolean *boolean; - PgQuery__String *string; - PgQuery__BitString *bit_string; - PgQuery__List *list; - PgQuery__IntList *int_list; - PgQuery__OidList *oid_list; - PgQuery__AConst *a_const; + PgQuery__VacuumStmt *vacuum_stmt; + PgQuery__Var *var; + PgQuery__VariableSetStmt *variable_set_stmt; + PgQuery__VariableShowStmt *variable_show_stmt; + PgQuery__ViewStmt *view_stmt; + PgQuery__WindowClause *window_clause; + PgQuery__WindowDef *window_def; + PgQuery__WindowFunc *window_func; + PgQuery__WindowFuncRunCondition *window_func_run_condition; + PgQuery__WithCheckOption *with_check_option; + PgQuery__WithClause *with_clause; + PgQuery__XmlExpr *xml_expr; + PgQuery__XmlSerialize *xml_serialize; }; }; #define PG_QUERY__NODE__INIT \ @@ -2107,11 +2343,11 @@ struct PgQuery__AConst int32_t location; PgQuery__AConst__ValCase val_case; union { - PgQuery__Integer *ival; - PgQuery__Float *fval; PgQuery__Boolean *boolval; - PgQuery__String *sval; PgQuery__BitString *bsval; + PgQuery__Float *fval; + PgQuery__Integer *ival; + PgQuery__String *sval; }; }; #define PG_QUERY__A__CONST__INIT \ @@ -2150,6 +2386,7 @@ struct PgQuery__RangeVar struct PgQuery__TableFunc { ProtobufCMessage base; + PgQuery__TableFuncType functype; size_t n_ns_uris; PgQuery__Node **ns_uris; size_t n_ns_names; @@ -2168,14 +2405,38 @@ struct PgQuery__TableFunc PgQuery__Node **colexprs; size_t n_coldefexprs; PgQuery__Node **coldefexprs; + size_t n_colvalexprs; + PgQuery__Node **colvalexprs; + size_t n_passingvalexprs; + PgQuery__Node **passingvalexprs; size_t n_notnulls; uint64_t *notnulls; + PgQuery__Node *plan; int32_t ordinalitycol; int32_t location; }; #define PG_QUERY__TABLE_FUNC__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_func__descriptor) \ - , 0,NULL, 0,NULL, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0, 0 } + , PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED, 0,NULL, 0,NULL, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, 0, 0 } + + +struct PgQuery__IntoClause +{ + ProtobufCMessage base; + PgQuery__RangeVar *rel; + size_t n_col_names; + PgQuery__Node **col_names; + char *access_method; + size_t n_options; + PgQuery__Node **options; + PgQuery__OnCommitAction on_commit; + char *table_space_name; + PgQuery__Node *view_query; + protobuf_c_boolean skip_data; +}; +#define PG_QUERY__INTO_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__into_clause__descriptor) \ + , NULL, 0,NULL, (char *)protobuf_c_empty_string, 0,NULL, PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED, (char *)protobuf_c_empty_string, NULL, 0 } struct PgQuery__Var @@ -2187,14 +2448,14 @@ struct PgQuery__Var uint32_t vartype; int32_t vartypmod; uint32_t varcollid; + size_t n_varnullingrels; + uint64_t *varnullingrels; uint32_t varlevelsup; - uint32_t varnosyn; - int32_t varattnosyn; int32_t location; }; #define PG_QUERY__VAR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__var__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + , NULL, 0, 0, 0, 0, 0, 0,NULL, 0, 0 } struct PgQuery__Param @@ -2221,7 +2482,6 @@ struct PgQuery__Aggref uint32_t aggtype; uint32_t aggcollid; uint32_t inputcollid; - uint32_t aggtranstype; size_t n_aggargtypes; PgQuery__Node **aggargtypes; size_t n_aggdirectargs; @@ -2244,7 +2504,7 @@ struct PgQuery__Aggref }; #define PG_QUERY__AGGREF__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__aggref__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, 0, 0, (char *)protobuf_c_empty_string, 0, PG_QUERY__AGG_SPLIT__AGG_SPLIT_UNDEFINED, 0, 0, 0 } + , NULL, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, 0, 0, (char *)protobuf_c_empty_string, 0, PG_QUERY__AGG_SPLIT__AGG_SPLIT_UNDEFINED, 0, 0, 0 } struct PgQuery__GroupingFunc @@ -2255,14 +2515,12 @@ struct PgQuery__GroupingFunc PgQuery__Node **args; size_t n_refs; PgQuery__Node **refs; - size_t n_cols; - PgQuery__Node **cols; uint32_t agglevelsup; int32_t location; }; #define PG_QUERY__GROUPING_FUNC__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__grouping_func__descriptor) \ - , NULL, 0,NULL, 0,NULL, 0,NULL, 0, 0 } + , NULL, 0,NULL, 0,NULL, 0, 0 } struct PgQuery__WindowFunc @@ -2276,6 +2534,8 @@ struct PgQuery__WindowFunc size_t n_args; PgQuery__Node **args; PgQuery__Node *aggfilter; + size_t n_run_condition; + PgQuery__Node **run_condition; uint32_t winref; protobuf_c_boolean winstar; protobuf_c_boolean winagg; @@ -2283,7 +2543,34 @@ struct PgQuery__WindowFunc }; #define PG_QUERY__WINDOW_FUNC__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_func__descriptor) \ - , NULL, 0, 0, 0, 0, 0,NULL, NULL, 0, 0, 0, 0 } + , NULL, 0, 0, 0, 0, 0,NULL, NULL, 0,NULL, 0, 0, 0, 0 } + + +struct PgQuery__WindowFuncRunCondition +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + uint32_t opno; + uint32_t inputcollid; + protobuf_c_boolean wfunc_left; + PgQuery__Node *arg; +}; +#define PG_QUERY__WINDOW_FUNC_RUN_CONDITION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_func_run_condition__descriptor) \ + , NULL, 0, 0, 0, NULL } + + +struct PgQuery__MergeSupportFunc +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + uint32_t msftype; + uint32_t msfcollid; + int32_t location; +}; +#define PG_QUERY__MERGE_SUPPORT_FUNC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_support_func__descriptor) \ + , NULL, 0, 0, 0 } struct PgQuery__SubscriptingRef @@ -2346,7 +2633,6 @@ struct PgQuery__OpExpr ProtobufCMessage base; PgQuery__Node *xpr; uint32_t opno; - uint32_t opfuncid; uint32_t opresulttype; protobuf_c_boolean opretset; uint32_t opcollid; @@ -2357,7 +2643,7 @@ struct PgQuery__OpExpr }; #define PG_QUERY__OP_EXPR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__op_expr__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0, 0,NULL, 0 } + , NULL, 0, 0, 0, 0, 0, 0,NULL, 0 } struct PgQuery__DistinctExpr @@ -2365,7 +2651,6 @@ struct PgQuery__DistinctExpr ProtobufCMessage base; PgQuery__Node *xpr; uint32_t opno; - uint32_t opfuncid; uint32_t opresulttype; protobuf_c_boolean opretset; uint32_t opcollid; @@ -2376,7 +2661,7 @@ struct PgQuery__DistinctExpr }; #define PG_QUERY__DISTINCT_EXPR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__distinct_expr__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0, 0,NULL, 0 } + , NULL, 0, 0, 0, 0, 0, 0,NULL, 0 } struct PgQuery__NullIfExpr @@ -2384,7 +2669,6 @@ struct PgQuery__NullIfExpr ProtobufCMessage base; PgQuery__Node *xpr; uint32_t opno; - uint32_t opfuncid; uint32_t opresulttype; protobuf_c_boolean opretset; uint32_t opcollid; @@ -2395,7 +2679,7 @@ struct PgQuery__NullIfExpr }; #define PG_QUERY__NULL_IF_EXPR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__null_if_expr__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0, 0,NULL, 0 } + , NULL, 0, 0, 0, 0, 0, 0,NULL, 0 } struct PgQuery__ScalarArrayOpExpr @@ -2403,9 +2687,6 @@ struct PgQuery__ScalarArrayOpExpr ProtobufCMessage base; PgQuery__Node *xpr; uint32_t opno; - uint32_t opfuncid; - uint32_t hashfuncid; - uint32_t negfuncid; protobuf_c_boolean use_or; uint32_t inputcollid; size_t n_args; @@ -2414,7 +2695,7 @@ struct PgQuery__ScalarArrayOpExpr }; #define PG_QUERY__SCALAR_ARRAY_OP_EXPR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__scalar_array_op_expr__descriptor) \ - , NULL, 0, 0, 0, 0, 0, 0, 0,NULL, 0 } + , NULL, 0, 0, 0, 0,NULL, 0 } struct PgQuery__BoolExpr @@ -2753,70 +3034,235 @@ struct PgQuery__XmlExpr size_t n_args; PgQuery__Node **args; PgQuery__XmlOptionType xmloption; + protobuf_c_boolean indent; uint32_t type; int32_t typmod; int32_t location; }; #define PG_QUERY__XML_EXPR__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__xml_expr__descriptor) \ - , NULL, PG_QUERY__XML_EXPR_OP__XML_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, PG_QUERY__XML_OPTION_TYPE__XML_OPTION_TYPE_UNDEFINED, 0, 0, 0 } + , NULL, PG_QUERY__XML_EXPR_OP__XML_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, PG_QUERY__XML_OPTION_TYPE__XML_OPTION_TYPE_UNDEFINED, 0, 0, 0, 0 } -struct PgQuery__NullTest +struct PgQuery__JsonFormat { ProtobufCMessage base; - PgQuery__Node *xpr; - PgQuery__Node *arg; - PgQuery__NullTestType nulltesttype; - protobuf_c_boolean argisrow; + PgQuery__JsonFormatType format_type; + PgQuery__JsonEncoding encoding; int32_t location; }; -#define PG_QUERY__NULL_TEST__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__null_test__descriptor) \ - , NULL, NULL, PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED, 0, 0 } +#define PG_QUERY__JSON_FORMAT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_format__descriptor) \ + , PG_QUERY__JSON_FORMAT_TYPE__JSON_FORMAT_TYPE_UNDEFINED, PG_QUERY__JSON_ENCODING__JSON_ENCODING_UNDEFINED, 0 } -struct PgQuery__BooleanTest +struct PgQuery__JsonReturning { ProtobufCMessage base; - PgQuery__Node *xpr; - PgQuery__Node *arg; - PgQuery__BoolTestType booltesttype; - int32_t location; + PgQuery__JsonFormat *format; + uint32_t typid; + int32_t typmod; }; -#define PG_QUERY__BOOLEAN_TEST__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__boolean_test__descriptor) \ - , NULL, NULL, PG_QUERY__BOOL_TEST_TYPE__BOOL_TEST_TYPE_UNDEFINED, 0 } +#define PG_QUERY__JSON_RETURNING__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_returning__descriptor) \ + , NULL, 0, 0 } -struct PgQuery__CoerceToDomain +struct PgQuery__JsonValueExpr { ProtobufCMessage base; - PgQuery__Node *xpr; - PgQuery__Node *arg; - uint32_t resulttype; - int32_t resulttypmod; - uint32_t resultcollid; - PgQuery__CoercionForm coercionformat; - int32_t location; + PgQuery__Node *raw_expr; + PgQuery__Node *formatted_expr; + PgQuery__JsonFormat *format; }; -#define PG_QUERY__COERCE_TO_DOMAIN__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__coerce_to_domain__descriptor) \ - , NULL, NULL, 0, 0, 0, PG_QUERY__COERCION_FORM__COERCION_FORM_UNDEFINED, 0 } +#define PG_QUERY__JSON_VALUE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_value_expr__descriptor) \ + , NULL, NULL, NULL } -struct PgQuery__CoerceToDomainValue +struct PgQuery__JsonConstructorExpr { ProtobufCMessage base; PgQuery__Node *xpr; - uint32_t type_id; - int32_t type_mod; - uint32_t collation; + PgQuery__JsonConstructorType type; + size_t n_args; + PgQuery__Node **args; + PgQuery__Node *func; + PgQuery__Node *coercion; + PgQuery__JsonReturning *returning; + protobuf_c_boolean absent_on_null; + protobuf_c_boolean unique; int32_t location; }; -#define PG_QUERY__COERCE_TO_DOMAIN_VALUE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__coerce_to_domain_value__descriptor) \ - , NULL, 0, 0, 0, 0 } +#define PG_QUERY__JSON_CONSTRUCTOR_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_constructor_expr__descriptor) \ + , NULL, PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSON_CONSTRUCTOR_TYPE_UNDEFINED, 0,NULL, NULL, NULL, NULL, 0, 0, 0 } + + +struct PgQuery__JsonIsPredicate +{ + ProtobufCMessage base; + PgQuery__Node *expr; + PgQuery__JsonFormat *format; + PgQuery__JsonValueType item_type; + protobuf_c_boolean unique_keys; + int32_t location; +}; +#define PG_QUERY__JSON_IS_PREDICATE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_is_predicate__descriptor) \ + , NULL, NULL, PG_QUERY__JSON_VALUE_TYPE__JSON_VALUE_TYPE_UNDEFINED, 0, 0 } + + +struct PgQuery__JsonBehavior +{ + ProtobufCMessage base; + PgQuery__JsonBehaviorType btype; + PgQuery__Node *expr; + protobuf_c_boolean coerce; + int32_t location; +}; +#define PG_QUERY__JSON_BEHAVIOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_behavior__descriptor) \ + , PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED, NULL, 0, 0 } + + +struct PgQuery__JsonExpr +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + PgQuery__JsonExprOp op; + char *column_name; + PgQuery__Node *formatted_expr; + PgQuery__JsonFormat *format; + PgQuery__Node *path_spec; + PgQuery__JsonReturning *returning; + size_t n_passing_names; + PgQuery__Node **passing_names; + size_t n_passing_values; + PgQuery__Node **passing_values; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + protobuf_c_boolean use_io_coercion; + protobuf_c_boolean use_json_coercion; + PgQuery__JsonWrapper wrapper; + protobuf_c_boolean omit_quotes; + uint32_t collation; + int32_t location; +}; +#define PG_QUERY__JSON_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_expr__descriptor) \ + , NULL, PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, NULL, NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, 0, 0, 0 } + + +struct PgQuery__JsonTablePath +{ + ProtobufCMessage base; + char *name; +}; +#define PG_QUERY__JSON_TABLE_PATH__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path__descriptor) \ + , (char *)protobuf_c_empty_string } + + +struct PgQuery__JsonTablePathScan +{ + ProtobufCMessage base; + PgQuery__Node *plan; + PgQuery__JsonTablePath *path; + protobuf_c_boolean error_on_error; + PgQuery__Node *child; + int32_t col_min; + int32_t col_max; +}; +#define PG_QUERY__JSON_TABLE_PATH_SCAN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path_scan__descriptor) \ + , NULL, NULL, 0, NULL, 0, 0 } + + +struct PgQuery__JsonTableSiblingJoin +{ + ProtobufCMessage base; + PgQuery__Node *plan; + PgQuery__Node *lplan; + PgQuery__Node *rplan; +}; +#define PG_QUERY__JSON_TABLE_SIBLING_JOIN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_sibling_join__descriptor) \ + , NULL, NULL, NULL } + + +struct PgQuery__NullTest +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + PgQuery__Node *arg; + PgQuery__NullTestType nulltesttype; + protobuf_c_boolean argisrow; + int32_t location; +}; +#define PG_QUERY__NULL_TEST__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__null_test__descriptor) \ + , NULL, NULL, PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED, 0, 0 } + + +struct PgQuery__BooleanTest +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + PgQuery__Node *arg; + PgQuery__BoolTestType booltesttype; + int32_t location; +}; +#define PG_QUERY__BOOLEAN_TEST__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__boolean_test__descriptor) \ + , NULL, NULL, PG_QUERY__BOOL_TEST_TYPE__BOOL_TEST_TYPE_UNDEFINED, 0 } + + +struct PgQuery__MergeAction +{ + ProtobufCMessage base; + PgQuery__MergeMatchKind match_kind; + PgQuery__CmdType command_type; + PgQuery__OverridingKind override; + PgQuery__Node *qual; + size_t n_target_list; + PgQuery__Node **target_list; + size_t n_update_colnos; + PgQuery__Node **update_colnos; +}; +#define PG_QUERY__MERGE_ACTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_action__descriptor) \ + , PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } + + +struct PgQuery__CoerceToDomain +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + PgQuery__Node *arg; + uint32_t resulttype; + int32_t resulttypmod; + uint32_t resultcollid; + PgQuery__CoercionForm coercionformat; + int32_t location; +}; +#define PG_QUERY__COERCE_TO_DOMAIN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__coerce_to_domain__descriptor) \ + , NULL, NULL, 0, 0, 0, PG_QUERY__COERCION_FORM__COERCION_FORM_UNDEFINED, 0 } + + +struct PgQuery__CoerceToDomainValue +{ + ProtobufCMessage base; + PgQuery__Node *xpr; + uint32_t type_id; + int32_t type_mod; + uint32_t collation; + int32_t location; +}; +#define PG_QUERY__COERCE_TO_DOMAIN_VALUE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__coerce_to_domain_value__descriptor) \ + , NULL, 0, 0, 0, 0 } struct PgQuery__SetToDefault @@ -2949,54 +3395,6 @@ struct PgQuery__OnConflictExpr , PG_QUERY__ON_CONFLICT_ACTION__ON_CONFLICT_ACTION_UNDEFINED, 0,NULL, NULL, 0, 0,NULL, NULL, 0, 0,NULL } -struct PgQuery__IntoClause -{ - ProtobufCMessage base; - PgQuery__RangeVar *rel; - size_t n_col_names; - PgQuery__Node **col_names; - char *access_method; - size_t n_options; - PgQuery__Node **options; - PgQuery__OnCommitAction on_commit; - char *table_space_name; - PgQuery__Node *view_query; - protobuf_c_boolean skip_data; -}; -#define PG_QUERY__INTO_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__into_clause__descriptor) \ - , NULL, 0,NULL, (char *)protobuf_c_empty_string, 0,NULL, PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED, (char *)protobuf_c_empty_string, NULL, 0 } - - -struct PgQuery__MergeAction -{ - ProtobufCMessage base; - protobuf_c_boolean matched; - PgQuery__CmdType command_type; - PgQuery__OverridingKind override; - PgQuery__Node *qual; - size_t n_target_list; - PgQuery__Node **target_list; - size_t n_update_colnos; - PgQuery__Node **update_colnos; -}; -#define PG_QUERY__MERGE_ACTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_action__descriptor) \ - , 0, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } - - -struct PgQuery__RawStmt -{ - ProtobufCMessage base; - PgQuery__Node *stmt; - int32_t stmt_location; - int32_t stmt_len; -}; -#define PG_QUERY__RAW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__raw_stmt__descriptor) \ - , NULL, 0, 0 } - - struct PgQuery__Query { ProtobufCMessage base; @@ -3019,10 +3417,13 @@ struct PgQuery__Query PgQuery__Node **cte_list; size_t n_rtable; PgQuery__Node **rtable; + size_t n_rteperminfos; + PgQuery__Node **rteperminfos; PgQuery__FromExpr *jointree; size_t n_merge_action_list; PgQuery__Node **merge_action_list; - protobuf_c_boolean merge_use_outer_join; + int32_t merge_target_relation; + PgQuery__Node *merge_join_condition; size_t n_target_list; PgQuery__Node **target_list; PgQuery__OverridingKind override; @@ -3056,1334 +3457,1502 @@ struct PgQuery__Query }; #define PG_QUERY__QUERY__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__query__descriptor) \ - , PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, NULL, 0,NULL, 0, 0,NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL, 0, 0,NULL, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, 0,NULL, 0,NULL, 0, 0 } + , PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED, 0, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL, 0, 0,NULL, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, 0,NULL, 0,NULL, 0, 0 } -struct PgQuery__InsertStmt +struct PgQuery__TypeName { ProtobufCMessage base; - PgQuery__RangeVar *relation; - size_t n_cols; - PgQuery__Node **cols; - PgQuery__Node *select_stmt; - PgQuery__OnConflictClause *on_conflict_clause; - size_t n_returning_list; - PgQuery__Node **returning_list; - PgQuery__WithClause *with_clause; - PgQuery__OverridingKind override; + size_t n_names; + PgQuery__Node **names; + uint32_t type_oid; + protobuf_c_boolean setof; + protobuf_c_boolean pct_type; + size_t n_typmods; + PgQuery__Node **typmods; + int32_t typemod; + size_t n_array_bounds; + PgQuery__Node **array_bounds; + int32_t location; }; -#define PG_QUERY__INSERT_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__insert_stmt__descriptor) \ - , NULL, 0,NULL, NULL, NULL, 0,NULL, NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED } +#define PG_QUERY__TYPE_NAME__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__type_name__descriptor) \ + , 0,NULL, 0, 0, 0, 0,NULL, 0, 0,NULL, 0 } -struct PgQuery__DeleteStmt +struct PgQuery__ColumnRef { ProtobufCMessage base; - PgQuery__RangeVar *relation; - size_t n_using_clause; - PgQuery__Node **using_clause; - PgQuery__Node *where_clause; - size_t n_returning_list; - PgQuery__Node **returning_list; - PgQuery__WithClause *with_clause; + size_t n_fields; + PgQuery__Node **fields; + int32_t location; }; -#define PG_QUERY__DELETE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__delete_stmt__descriptor) \ - , NULL, 0,NULL, NULL, 0,NULL, NULL } +#define PG_QUERY__COLUMN_REF__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__column_ref__descriptor) \ + , 0,NULL, 0 } -struct PgQuery__UpdateStmt +struct PgQuery__ParamRef { ProtobufCMessage base; - PgQuery__RangeVar *relation; - size_t n_target_list; - PgQuery__Node **target_list; - PgQuery__Node *where_clause; - size_t n_from_clause; - PgQuery__Node **from_clause; - size_t n_returning_list; - PgQuery__Node **returning_list; - PgQuery__WithClause *with_clause; + int32_t number; + int32_t location; }; -#define PG_QUERY__UPDATE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__update_stmt__descriptor) \ - , NULL, 0,NULL, NULL, 0,NULL, 0,NULL, NULL } +#define PG_QUERY__PARAM_REF__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__param_ref__descriptor) \ + , 0, 0 } -struct PgQuery__MergeStmt +struct PgQuery__AExpr { ProtobufCMessage base; - PgQuery__RangeVar *relation; - PgQuery__Node *source_relation; - PgQuery__Node *join_condition; - size_t n_merge_when_clauses; - PgQuery__Node **merge_when_clauses; - PgQuery__WithClause *with_clause; + PgQuery__AExprKind kind; + size_t n_name; + PgQuery__Node **name; + PgQuery__Node *lexpr; + PgQuery__Node *rexpr; + int32_t location; }; -#define PG_QUERY__MERGE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_stmt__descriptor) \ - , NULL, NULL, NULL, 0,NULL, NULL } +#define PG_QUERY__A__EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__expr__descriptor) \ + , PG_QUERY__A__EXPR__KIND__A_EXPR_KIND_UNDEFINED, 0,NULL, NULL, NULL, 0 } -struct PgQuery__SelectStmt +struct PgQuery__TypeCast { ProtobufCMessage base; - size_t n_distinct_clause; - PgQuery__Node **distinct_clause; - PgQuery__IntoClause *into_clause; - size_t n_target_list; - PgQuery__Node **target_list; - size_t n_from_clause; - PgQuery__Node **from_clause; - PgQuery__Node *where_clause; - size_t n_group_clause; - PgQuery__Node **group_clause; - protobuf_c_boolean group_distinct; - PgQuery__Node *having_clause; - size_t n_window_clause; - PgQuery__Node **window_clause; - size_t n_values_lists; - PgQuery__Node **values_lists; - size_t n_sort_clause; - PgQuery__Node **sort_clause; - PgQuery__Node *limit_offset; - PgQuery__Node *limit_count; - PgQuery__LimitOption limit_option; - size_t n_locking_clause; - PgQuery__Node **locking_clause; - PgQuery__WithClause *with_clause; - PgQuery__SetOperation op; - protobuf_c_boolean all; - PgQuery__SelectStmt *larg; - PgQuery__SelectStmt *rarg; + PgQuery__Node *arg; + PgQuery__TypeName *type_name; + int32_t location; }; -#define PG_QUERY__SELECT_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__select_stmt__descriptor) \ - , 0,NULL, NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED, 0, NULL, NULL } +#define PG_QUERY__TYPE_CAST__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__type_cast__descriptor) \ + , NULL, NULL, 0 } -struct PgQuery__ReturnStmt +struct PgQuery__CollateClause { ProtobufCMessage base; - PgQuery__Node *returnval; + PgQuery__Node *arg; + size_t n_collname; + PgQuery__Node **collname; + int32_t location; }; -#define PG_QUERY__RETURN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__return_stmt__descriptor) \ - , NULL } +#define PG_QUERY__COLLATE_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__collate_clause__descriptor) \ + , NULL, 0,NULL, 0 } -struct PgQuery__PLAssignStmt +struct PgQuery__RoleSpec { ProtobufCMessage base; - char *name; - size_t n_indirection; - PgQuery__Node **indirection; - int32_t nnames; - PgQuery__SelectStmt *val; + PgQuery__RoleSpecType roletype; + char *rolename; int32_t location; }; -#define PG_QUERY__PLASSIGN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__plassign_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0, NULL, 0 } +#define PG_QUERY__ROLE_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__role_spec__descriptor) \ + , PG_QUERY__ROLE_SPEC_TYPE__ROLE_SPEC_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__AlterTableStmt +struct PgQuery__FuncCall { ProtobufCMessage base; - PgQuery__RangeVar *relation; - size_t n_cmds; - PgQuery__Node **cmds; - PgQuery__ObjectType objtype; - protobuf_c_boolean missing_ok; + size_t n_funcname; + PgQuery__Node **funcname; + size_t n_args; + PgQuery__Node **args; + size_t n_agg_order; + PgQuery__Node **agg_order; + PgQuery__Node *agg_filter; + PgQuery__WindowDef *over; + protobuf_c_boolean agg_within_group; + protobuf_c_boolean agg_star; + protobuf_c_boolean agg_distinct; + protobuf_c_boolean func_variadic; + PgQuery__CoercionForm funcformat; + int32_t location; }; -#define PG_QUERY__ALTER_TABLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_table_stmt__descriptor) \ - , NULL, 0,NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0 } +#define PG_QUERY__FUNC_CALL__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__func_call__descriptor) \ + , 0,NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0, 0, 0, PG_QUERY__COERCION_FORM__COERCION_FORM_UNDEFINED, 0 } -struct PgQuery__AlterTableCmd +struct PgQuery__AStar { ProtobufCMessage base; - PgQuery__AlterTableType subtype; - char *name; - int32_t num; - PgQuery__RoleSpec *newowner; - PgQuery__Node *def; - PgQuery__DropBehavior behavior; - protobuf_c_boolean missing_ok; - protobuf_c_boolean recurse; }; -#define PG_QUERY__ALTER_TABLE_CMD__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_table_cmd__descriptor) \ - , PG_QUERY__ALTER_TABLE_TYPE__ALTER_TABLE_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, NULL, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0, 0 } +#define PG_QUERY__A__STAR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__star__descriptor) \ + } -struct PgQuery__AlterDomainStmt +struct PgQuery__AIndices { ProtobufCMessage base; - char *subtype; - size_t n_type_name; - PgQuery__Node **type_name; - char *name; - PgQuery__Node *def; - PgQuery__DropBehavior behavior; - protobuf_c_boolean missing_ok; + protobuf_c_boolean is_slice; + PgQuery__Node *lidx; + PgQuery__Node *uidx; }; -#define PG_QUERY__ALTER_DOMAIN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_domain_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, (char *)protobuf_c_empty_string, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0 } +#define PG_QUERY__A__INDICES__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__indices__descriptor) \ + , 0, NULL, NULL } -struct PgQuery__SetOperationStmt +struct PgQuery__AIndirection { ProtobufCMessage base; - PgQuery__SetOperation op; - protobuf_c_boolean all; - PgQuery__Node *larg; - PgQuery__Node *rarg; - size_t n_col_types; - PgQuery__Node **col_types; - size_t n_col_typmods; - PgQuery__Node **col_typmods; - size_t n_col_collations; - PgQuery__Node **col_collations; - size_t n_group_clauses; - PgQuery__Node **group_clauses; + PgQuery__Node *arg; + size_t n_indirection; + PgQuery__Node **indirection; }; -#define PG_QUERY__SET_OPERATION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__set_operation_stmt__descriptor) \ - , PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED, 0, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL } +#define PG_QUERY__A__INDIRECTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__indirection__descriptor) \ + , NULL, 0,NULL } -struct PgQuery__GrantStmt +struct PgQuery__AArrayExpr { ProtobufCMessage base; - protobuf_c_boolean is_grant; - PgQuery__GrantTargetType targtype; - PgQuery__ObjectType objtype; - size_t n_objects; - PgQuery__Node **objects; - size_t n_privileges; - PgQuery__Node **privileges; - size_t n_grantees; - PgQuery__Node **grantees; - protobuf_c_boolean grant_option; - PgQuery__RoleSpec *grantor; - PgQuery__DropBehavior behavior; + size_t n_elements; + PgQuery__Node **elements; + int32_t location; }; -#define PG_QUERY__GRANT_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__grant_stmt__descriptor) \ - , 0, PG_QUERY__GRANT_TARGET_TYPE__GRANT_TARGET_TYPE_UNDEFINED, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0,NULL, 0,NULL, 0,NULL, 0, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } +#define PG_QUERY__A__ARRAY_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__array_expr__descriptor) \ + , 0,NULL, 0 } -struct PgQuery__GrantRoleStmt +struct PgQuery__ResTarget { ProtobufCMessage base; - size_t n_granted_roles; - PgQuery__Node **granted_roles; - size_t n_grantee_roles; - PgQuery__Node **grantee_roles; - protobuf_c_boolean is_grant; - protobuf_c_boolean admin_opt; - PgQuery__RoleSpec *grantor; - PgQuery__DropBehavior behavior; + char *name; + size_t n_indirection; + PgQuery__Node **indirection; + PgQuery__Node *val; + int32_t location; }; -#define PG_QUERY__GRANT_ROLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__grant_role_stmt__descriptor) \ - , 0,NULL, 0,NULL, 0, 0, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } +#define PG_QUERY__RES_TARGET__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__res_target__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, NULL, 0 } -struct PgQuery__AlterDefaultPrivilegesStmt +struct PgQuery__MultiAssignRef { ProtobufCMessage base; - size_t n_options; - PgQuery__Node **options; - PgQuery__GrantStmt *action; + PgQuery__Node *source; + int32_t colno; + int32_t ncolumns; }; -#define PG_QUERY__ALTER_DEFAULT_PRIVILEGES_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_default_privileges_stmt__descriptor) \ - , 0,NULL, NULL } +#define PG_QUERY__MULTI_ASSIGN_REF__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__multi_assign_ref__descriptor) \ + , NULL, 0, 0 } -struct PgQuery__ClosePortalStmt +struct PgQuery__SortBy { ProtobufCMessage base; - char *portalname; + PgQuery__Node *node; + PgQuery__SortByDir sortby_dir; + PgQuery__SortByNulls sortby_nulls; + size_t n_use_op; + PgQuery__Node **use_op; + int32_t location; }; -#define PG_QUERY__CLOSE_PORTAL_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__close_portal_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__SORT_BY__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__sort_by__descriptor) \ + , NULL, PG_QUERY__SORT_BY_DIR__SORT_BY_DIR_UNDEFINED, PG_QUERY__SORT_BY_NULLS__SORT_BY_NULLS_UNDEFINED, 0,NULL, 0 } -struct PgQuery__ClusterStmt +struct PgQuery__WindowDef { ProtobufCMessage base; - PgQuery__RangeVar *relation; - char *indexname; - size_t n_params; - PgQuery__Node **params; + char *name; + char *refname; + size_t n_partition_clause; + PgQuery__Node **partition_clause; + size_t n_order_clause; + PgQuery__Node **order_clause; + int32_t frame_options; + PgQuery__Node *start_offset; + PgQuery__Node *end_offset; + int32_t location; }; -#define PG_QUERY__CLUSTER_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__cluster_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__WINDOW_DEF__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_def__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0 } -struct PgQuery__CopyStmt +struct PgQuery__RangeSubselect { ProtobufCMessage base; - PgQuery__RangeVar *relation; - PgQuery__Node *query; - size_t n_attlist; - PgQuery__Node **attlist; - protobuf_c_boolean is_from; - protobuf_c_boolean is_program; - char *filename; - size_t n_options; - PgQuery__Node **options; - PgQuery__Node *where_clause; + protobuf_c_boolean lateral; + PgQuery__Node *subquery; + PgQuery__Alias *alias; }; -#define PG_QUERY__COPY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__copy_stmt__descriptor) \ - , NULL, NULL, 0,NULL, 0, 0, (char *)protobuf_c_empty_string, 0,NULL, NULL } +#define PG_QUERY__RANGE_SUBSELECT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_subselect__descriptor) \ + , 0, NULL, NULL } -struct PgQuery__CreateStmt +struct PgQuery__RangeFunction { ProtobufCMessage base; - PgQuery__RangeVar *relation; - size_t n_table_elts; - PgQuery__Node **table_elts; - size_t n_inh_relations; - PgQuery__Node **inh_relations; - PgQuery__PartitionBoundSpec *partbound; - PgQuery__PartitionSpec *partspec; - PgQuery__TypeName *of_typename; - size_t n_constraints; - PgQuery__Node **constraints; - size_t n_options; - PgQuery__Node **options; - PgQuery__OnCommitAction oncommit; - char *tablespacename; - char *access_method; - protobuf_c_boolean if_not_exists; -}; -#define PG_QUERY__CREATE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_stmt__descriptor) \ - , NULL, 0,NULL, 0,NULL, NULL, NULL, NULL, 0,NULL, 0,NULL, PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0 } - - -struct PgQuery__DefineStmt -{ - ProtobufCMessage base; - PgQuery__ObjectType kind; - protobuf_c_boolean oldstyle; - size_t n_defnames; - PgQuery__Node **defnames; - size_t n_args; - PgQuery__Node **args; - size_t n_definition; - PgQuery__Node **definition; - protobuf_c_boolean if_not_exists; - protobuf_c_boolean replace; + protobuf_c_boolean lateral; + protobuf_c_boolean ordinality; + protobuf_c_boolean is_rowsfrom; + size_t n_functions; + PgQuery__Node **functions; + PgQuery__Alias *alias; + size_t n_coldeflist; + PgQuery__Node **coldeflist; }; -#define PG_QUERY__DEFINE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__define_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, 0, 0 } +#define PG_QUERY__RANGE_FUNCTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_function__descriptor) \ + , 0, 0, 0, 0,NULL, NULL, 0,NULL } -struct PgQuery__DropStmt +struct PgQuery__RangeTableFunc { ProtobufCMessage base; - size_t n_objects; - PgQuery__Node **objects; - PgQuery__ObjectType remove_type; - PgQuery__DropBehavior behavior; - protobuf_c_boolean missing_ok; - protobuf_c_boolean concurrent; + protobuf_c_boolean lateral; + PgQuery__Node *docexpr; + PgQuery__Node *rowexpr; + size_t n_namespaces; + PgQuery__Node **namespaces; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__Alias *alias; + int32_t location; }; -#define PG_QUERY__DROP_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_stmt__descriptor) \ - , 0,NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0, 0 } +#define PG_QUERY__RANGE_TABLE_FUNC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_func__descriptor) \ + , 0, NULL, NULL, 0,NULL, 0,NULL, NULL, 0 } -struct PgQuery__TruncateStmt +struct PgQuery__RangeTableFuncCol { ProtobufCMessage base; - size_t n_relations; - PgQuery__Node **relations; - protobuf_c_boolean restart_seqs; - PgQuery__DropBehavior behavior; + char *colname; + PgQuery__TypeName *type_name; + protobuf_c_boolean for_ordinality; + protobuf_c_boolean is_not_null; + PgQuery__Node *colexpr; + PgQuery__Node *coldefexpr; + int32_t location; }; -#define PG_QUERY__TRUNCATE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__truncate_stmt__descriptor) \ - , 0,NULL, 0, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } +#define PG_QUERY__RANGE_TABLE_FUNC_COL__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_func_col__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, 0, 0, NULL, NULL, 0 } -struct PgQuery__CommentStmt +struct PgQuery__RangeTableSample { ProtobufCMessage base; - PgQuery__ObjectType objtype; - PgQuery__Node *object; - char *comment; + PgQuery__Node *relation; + size_t n_method; + PgQuery__Node **method; + size_t n_args; + PgQuery__Node **args; + PgQuery__Node *repeatable; + int32_t location; }; -#define PG_QUERY__COMMENT_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__comment_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string } +#define PG_QUERY__RANGE_TABLE_SAMPLE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_sample__descriptor) \ + , NULL, 0,NULL, 0,NULL, NULL, 0 } -struct PgQuery__FetchStmt +struct PgQuery__ColumnDef { ProtobufCMessage base; - PgQuery__FetchDirection direction; - int64_t how_many; - char *portalname; - protobuf_c_boolean ismove; + char *colname; + PgQuery__TypeName *type_name; + char *compression; + int32_t inhcount; + protobuf_c_boolean is_local; + protobuf_c_boolean is_not_null; + protobuf_c_boolean is_from_type; + char *storage; + char *storage_name; + PgQuery__Node *raw_default; + PgQuery__Node *cooked_default; + char *identity; + PgQuery__RangeVar *identity_sequence; + char *generated; + PgQuery__CollateClause *coll_clause; + uint32_t coll_oid; + size_t n_constraints; + PgQuery__Node **constraints; + size_t n_fdwoptions; + PgQuery__Node **fdwoptions; + int32_t location; }; -#define PG_QUERY__FETCH_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__fetch_stmt__descriptor) \ - , PG_QUERY__FETCH_DIRECTION__FETCH_DIRECTION_UNDEFINED, 0, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__COLUMN_DEF__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__column_def__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL, NULL, (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, NULL, 0, 0,NULL, 0,NULL, 0 } -struct PgQuery__IndexStmt +struct PgQuery__TableLikeClause { ProtobufCMessage base; - char *idxname; PgQuery__RangeVar *relation; - char *access_method; - char *table_space; - size_t n_index_params; - PgQuery__Node **index_params; - size_t n_index_including_params; - PgQuery__Node **index_including_params; - size_t n_options; - PgQuery__Node **options; - PgQuery__Node *where_clause; - size_t n_exclude_op_names; - PgQuery__Node **exclude_op_names; - char *idxcomment; - uint32_t index_oid; - uint32_t old_node; - uint32_t old_create_subid; - uint32_t old_first_relfilenode_subid; - protobuf_c_boolean unique; - protobuf_c_boolean nulls_not_distinct; - protobuf_c_boolean primary; - protobuf_c_boolean isconstraint; - protobuf_c_boolean deferrable; - protobuf_c_boolean initdeferred; - protobuf_c_boolean transformed; - protobuf_c_boolean concurrent; - protobuf_c_boolean if_not_exists; - protobuf_c_boolean reset_default_tblspc; + uint32_t options; + uint32_t relation_oid; }; -#define PG_QUERY__INDEX_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__index_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } +#define PG_QUERY__TABLE_LIKE_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_like_clause__descriptor) \ + , NULL, 0, 0 } -struct PgQuery__CreateFunctionStmt +struct PgQuery__IndexElem { ProtobufCMessage base; - protobuf_c_boolean is_procedure; - protobuf_c_boolean replace; - size_t n_funcname; - PgQuery__Node **funcname; - size_t n_parameters; - PgQuery__Node **parameters; - PgQuery__TypeName *return_type; - size_t n_options; - PgQuery__Node **options; - PgQuery__Node *sql_body; + char *name; + PgQuery__Node *expr; + char *indexcolname; + size_t n_collation; + PgQuery__Node **collation; + size_t n_opclass; + PgQuery__Node **opclass; + size_t n_opclassopts; + PgQuery__Node **opclassopts; + PgQuery__SortByDir ordering; + PgQuery__SortByNulls nulls_ordering; }; -#define PG_QUERY__CREATE_FUNCTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_function_stmt__descriptor) \ - , 0, 0, 0,NULL, 0,NULL, NULL, 0,NULL, NULL } +#define PG_QUERY__INDEX_ELEM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__index_elem__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, PG_QUERY__SORT_BY_DIR__SORT_BY_DIR_UNDEFINED, PG_QUERY__SORT_BY_NULLS__SORT_BY_NULLS_UNDEFINED } -struct PgQuery__AlterFunctionStmt +struct PgQuery__DefElem { ProtobufCMessage base; - PgQuery__ObjectType objtype; - PgQuery__ObjectWithArgs *func; - size_t n_actions; - PgQuery__Node **actions; + char *defnamespace; + char *defname; + PgQuery__Node *arg; + PgQuery__DefElemAction defaction; + int32_t location; }; -#define PG_QUERY__ALTER_FUNCTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_function_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, 0,NULL } +#define PG_QUERY__DEF_ELEM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__def_elem__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL, PG_QUERY__DEF_ELEM_ACTION__DEF_ELEM_ACTION_UNDEFINED, 0 } -struct PgQuery__DoStmt +struct PgQuery__LockingClause { ProtobufCMessage base; - size_t n_args; - PgQuery__Node **args; + size_t n_locked_rels; + PgQuery__Node **locked_rels; + PgQuery__LockClauseStrength strength; + PgQuery__LockWaitPolicy wait_policy; }; -#define PG_QUERY__DO_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__do_stmt__descriptor) \ - , 0,NULL } +#define PG_QUERY__LOCKING_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__locking_clause__descriptor) \ + , 0,NULL, PG_QUERY__LOCK_CLAUSE_STRENGTH__LOCK_CLAUSE_STRENGTH_UNDEFINED, PG_QUERY__LOCK_WAIT_POLICY__LOCK_WAIT_POLICY_UNDEFINED } -struct PgQuery__RenameStmt +struct PgQuery__XmlSerialize { ProtobufCMessage base; - PgQuery__ObjectType rename_type; - PgQuery__ObjectType relation_type; - PgQuery__RangeVar *relation; - PgQuery__Node *object; - char *subname; - char *newname; - PgQuery__DropBehavior behavior; - protobuf_c_boolean missing_ok; + PgQuery__XmlOptionType xmloption; + PgQuery__Node *expr; + PgQuery__TypeName *type_name; + protobuf_c_boolean indent; + int32_t location; }; -#define PG_QUERY__RENAME_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__rename_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0 } +#define PG_QUERY__XML_SERIALIZE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__xml_serialize__descriptor) \ + , PG_QUERY__XML_OPTION_TYPE__XML_OPTION_TYPE_UNDEFINED, NULL, NULL, 0, 0 } -struct PgQuery__RuleStmt +struct PgQuery__PartitionElem { ProtobufCMessage base; - PgQuery__RangeVar *relation; - char *rulename; - PgQuery__Node *where_clause; - PgQuery__CmdType event; - protobuf_c_boolean instead; - size_t n_actions; - PgQuery__Node **actions; - protobuf_c_boolean replace; + char *name; + PgQuery__Node *expr; + size_t n_collation; + PgQuery__Node **collation; + size_t n_opclass; + PgQuery__Node **opclass; + int32_t location; }; -#define PG_QUERY__RULE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__rule_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, NULL, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, 0, 0,NULL, 0 } +#define PG_QUERY__PARTITION_ELEM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_elem__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, 0,NULL, 0,NULL, 0 } -struct PgQuery__NotifyStmt +struct PgQuery__PartitionSpec { ProtobufCMessage base; - char *conditionname; - char *payload; + PgQuery__PartitionStrategy strategy; + size_t n_part_params; + PgQuery__Node **part_params; + int32_t location; }; -#define PG_QUERY__NOTIFY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__notify_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } +#define PG_QUERY__PARTITION_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_spec__descriptor) \ + , PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_UNDEFINED, 0,NULL, 0 } -struct PgQuery__ListenStmt +struct PgQuery__PartitionBoundSpec { ProtobufCMessage base; - char *conditionname; + char *strategy; + protobuf_c_boolean is_default; + int32_t modulus; + int32_t remainder; + size_t n_listdatums; + PgQuery__Node **listdatums; + size_t n_lowerdatums; + PgQuery__Node **lowerdatums; + size_t n_upperdatums; + PgQuery__Node **upperdatums; + int32_t location; }; -#define PG_QUERY__LISTEN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__listen_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__PARTITION_BOUND_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_bound_spec__descriptor) \ + , (char *)protobuf_c_empty_string, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0 } -struct PgQuery__UnlistenStmt +struct PgQuery__PartitionRangeDatum { ProtobufCMessage base; - char *conditionname; + PgQuery__PartitionRangeDatumKind kind; + PgQuery__Node *value; + int32_t location; }; -#define PG_QUERY__UNLISTEN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__unlisten_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__PARTITION_RANGE_DATUM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_range_datum__descriptor) \ + , PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_KIND_UNDEFINED, NULL, 0 } -struct PgQuery__TransactionStmt +struct PgQuery__SinglePartitionSpec { ProtobufCMessage base; - PgQuery__TransactionStmtKind kind; - size_t n_options; - PgQuery__Node **options; - char *savepoint_name; - char *gid; - protobuf_c_boolean chain; }; -#define PG_QUERY__TRANSACTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__transaction_stmt__descriptor) \ - , PG_QUERY__TRANSACTION_STMT_KIND__TRANSACTION_STMT_KIND_UNDEFINED, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__SINGLE_PARTITION_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__single_partition_spec__descriptor) \ + } -struct PgQuery__ViewStmt +struct PgQuery__PartitionCmd { ProtobufCMessage base; - PgQuery__RangeVar *view; - size_t n_aliases; - PgQuery__Node **aliases; - PgQuery__Node *query; - protobuf_c_boolean replace; - size_t n_options; - PgQuery__Node **options; - PgQuery__ViewCheckOption with_check_option; + PgQuery__RangeVar *name; + PgQuery__PartitionBoundSpec *bound; + protobuf_c_boolean concurrent; }; -#define PG_QUERY__VIEW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__view_stmt__descriptor) \ - , NULL, 0,NULL, NULL, 0, 0,NULL, PG_QUERY__VIEW_CHECK_OPTION__VIEW_CHECK_OPTION_UNDEFINED } +#define PG_QUERY__PARTITION_CMD__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_cmd__descriptor) \ + , NULL, NULL, 0 } -struct PgQuery__LoadStmt +struct PgQuery__RangeTblEntry { ProtobufCMessage base; - char *filename; + PgQuery__Alias *alias; + PgQuery__Alias *eref; + PgQuery__RTEKind rtekind; + uint32_t relid; + protobuf_c_boolean inh; + char *relkind; + int32_t rellockmode; + uint32_t perminfoindex; + PgQuery__TableSampleClause *tablesample; + PgQuery__Query *subquery; + protobuf_c_boolean security_barrier; + PgQuery__JoinType jointype; + int32_t joinmergedcols; + size_t n_joinaliasvars; + PgQuery__Node **joinaliasvars; + size_t n_joinleftcols; + PgQuery__Node **joinleftcols; + size_t n_joinrightcols; + PgQuery__Node **joinrightcols; + PgQuery__Alias *join_using_alias; + size_t n_functions; + PgQuery__Node **functions; + protobuf_c_boolean funcordinality; + PgQuery__TableFunc *tablefunc; + size_t n_values_lists; + PgQuery__Node **values_lists; + char *ctename; + uint32_t ctelevelsup; + protobuf_c_boolean self_reference; + size_t n_coltypes; + PgQuery__Node **coltypes; + size_t n_coltypmods; + PgQuery__Node **coltypmods; + size_t n_colcollations; + PgQuery__Node **colcollations; + char *enrname; + double enrtuples; + protobuf_c_boolean lateral; + protobuf_c_boolean in_from_cl; + size_t n_security_quals; + PgQuery__Node **security_quals; }; -#define PG_QUERY__LOAD_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__load_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__RANGE_TBL_ENTRY__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_tbl_entry__descriptor) \ + , NULL, NULL, PG_QUERY__RTEKIND__RTEKIND_UNDEFINED, 0, 0, (char *)protobuf_c_empty_string, 0, 0, NULL, NULL, 0, PG_QUERY__JOIN_TYPE__JOIN_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0,NULL } -struct PgQuery__CreateDomainStmt +struct PgQuery__RTEPermissionInfo { ProtobufCMessage base; - size_t n_domainname; - PgQuery__Node **domainname; - PgQuery__TypeName *type_name; - PgQuery__CollateClause *coll_clause; - size_t n_constraints; - PgQuery__Node **constraints; + uint32_t relid; + protobuf_c_boolean inh; + uint64_t required_perms; + uint32_t check_as_user; + size_t n_selected_cols; + uint64_t *selected_cols; + size_t n_inserted_cols; + uint64_t *inserted_cols; + size_t n_updated_cols; + uint64_t *updated_cols; }; -#define PG_QUERY__CREATE_DOMAIN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_domain_stmt__descriptor) \ - , 0,NULL, NULL, NULL, 0,NULL } +#define PG_QUERY__RTEPERMISSION_INFO__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__rtepermission_info__descriptor) \ + , 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL } -struct PgQuery__CreatedbStmt +struct PgQuery__RangeTblFunction { ProtobufCMessage base; - char *dbname; - size_t n_options; - PgQuery__Node **options; + PgQuery__Node *funcexpr; + int32_t funccolcount; + size_t n_funccolnames; + PgQuery__Node **funccolnames; + size_t n_funccoltypes; + PgQuery__Node **funccoltypes; + size_t n_funccoltypmods; + PgQuery__Node **funccoltypmods; + size_t n_funccolcollations; + PgQuery__Node **funccolcollations; + size_t n_funcparams; + uint64_t *funcparams; }; -#define PG_QUERY__CREATEDB_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__createdb_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__RANGE_TBL_FUNCTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_tbl_function__descriptor) \ + , NULL, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL } -struct PgQuery__DropdbStmt +struct PgQuery__TableSampleClause { ProtobufCMessage base; - char *dbname; - protobuf_c_boolean missing_ok; - size_t n_options; - PgQuery__Node **options; + uint32_t tsmhandler; + size_t n_args; + PgQuery__Node **args; + PgQuery__Node *repeatable; }; -#define PG_QUERY__DROPDB_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__dropdb_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0, 0,NULL } +#define PG_QUERY__TABLE_SAMPLE_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_sample_clause__descriptor) \ + , 0, 0,NULL, NULL } -struct PgQuery__VacuumStmt +struct PgQuery__WithCheckOption { ProtobufCMessage base; - size_t n_options; - PgQuery__Node **options; - size_t n_rels; - PgQuery__Node **rels; - protobuf_c_boolean is_vacuumcmd; + PgQuery__WCOKind kind; + char *relname; + char *polname; + PgQuery__Node *qual; + protobuf_c_boolean cascaded; }; -#define PG_QUERY__VACUUM_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__vacuum_stmt__descriptor) \ - , 0,NULL, 0,NULL, 0 } +#define PG_QUERY__WITH_CHECK_OPTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__with_check_option__descriptor) \ + , PG_QUERY__WCOKIND__WCOKIND_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL, 0 } -struct PgQuery__ExplainStmt +struct PgQuery__SortGroupClause { ProtobufCMessage base; - PgQuery__Node *query; - size_t n_options; - PgQuery__Node **options; + uint32_t tle_sort_group_ref; + uint32_t eqop; + uint32_t sortop; + protobuf_c_boolean nulls_first; + protobuf_c_boolean hashable; }; -#define PG_QUERY__EXPLAIN_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__explain_stmt__descriptor) \ - , NULL, 0,NULL } +#define PG_QUERY__SORT_GROUP_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__sort_group_clause__descriptor) \ + , 0, 0, 0, 0, 0 } -struct PgQuery__CreateTableAsStmt +struct PgQuery__GroupingSet { ProtobufCMessage base; - PgQuery__Node *query; - PgQuery__IntoClause *into; - PgQuery__ObjectType objtype; - protobuf_c_boolean is_select_into; - protobuf_c_boolean if_not_exists; + PgQuery__GroupingSetKind kind; + size_t n_content; + PgQuery__Node **content; + int32_t location; }; -#define PG_QUERY__CREATE_TABLE_AS_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_table_as_stmt__descriptor) \ - , NULL, NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0, 0 } +#define PG_QUERY__GROUPING_SET__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__grouping_set__descriptor) \ + , PG_QUERY__GROUPING_SET_KIND__GROUPING_SET_KIND_UNDEFINED, 0,NULL, 0 } -struct PgQuery__CreateSeqStmt +struct PgQuery__WindowClause { ProtobufCMessage base; - PgQuery__RangeVar *sequence; - size_t n_options; - PgQuery__Node **options; - uint32_t owner_id; - protobuf_c_boolean for_identity; - protobuf_c_boolean if_not_exists; -}; -#define PG_QUERY__CREATE_SEQ_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_seq_stmt__descriptor) \ - , NULL, 0,NULL, 0, 0, 0 } + char *name; + char *refname; + size_t n_partition_clause; + PgQuery__Node **partition_clause; + size_t n_order_clause; + PgQuery__Node **order_clause; + int32_t frame_options; + PgQuery__Node *start_offset; + PgQuery__Node *end_offset; + uint32_t start_in_range_func; + uint32_t end_in_range_func; + uint32_t in_range_coll; + protobuf_c_boolean in_range_asc; + protobuf_c_boolean in_range_nulls_first; + uint32_t winref; + protobuf_c_boolean copied_order; +}; +#define PG_QUERY__WINDOW_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_clause__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0 } -struct PgQuery__AlterSeqStmt +struct PgQuery__RowMarkClause { ProtobufCMessage base; - PgQuery__RangeVar *sequence; - size_t n_options; - PgQuery__Node **options; - protobuf_c_boolean for_identity; - protobuf_c_boolean missing_ok; + uint32_t rti; + PgQuery__LockClauseStrength strength; + PgQuery__LockWaitPolicy wait_policy; + protobuf_c_boolean pushed_down; }; -#define PG_QUERY__ALTER_SEQ_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_seq_stmt__descriptor) \ - , NULL, 0,NULL, 0, 0 } +#define PG_QUERY__ROW_MARK_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__row_mark_clause__descriptor) \ + , 0, PG_QUERY__LOCK_CLAUSE_STRENGTH__LOCK_CLAUSE_STRENGTH_UNDEFINED, PG_QUERY__LOCK_WAIT_POLICY__LOCK_WAIT_POLICY_UNDEFINED, 0 } -struct PgQuery__VariableSetStmt +struct PgQuery__WithClause { ProtobufCMessage base; - PgQuery__VariableSetKind kind; - char *name; - size_t n_args; - PgQuery__Node **args; - protobuf_c_boolean is_local; + size_t n_ctes; + PgQuery__Node **ctes; + protobuf_c_boolean recursive; + int32_t location; }; -#define PG_QUERY__VARIABLE_SET_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__variable_set_stmt__descriptor) \ - , PG_QUERY__VARIABLE_SET_KIND__VARIABLE_SET_KIND_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL, 0 } +#define PG_QUERY__WITH_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__with_clause__descriptor) \ + , 0,NULL, 0, 0 } -struct PgQuery__VariableShowStmt +struct PgQuery__InferClause { ProtobufCMessage base; - char *name; + size_t n_index_elems; + PgQuery__Node **index_elems; + PgQuery__Node *where_clause; + char *conname; + int32_t location; }; -#define PG_QUERY__VARIABLE_SHOW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__variable_show_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__INFER_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__infer_clause__descriptor) \ + , 0,NULL, NULL, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__DiscardStmt +struct PgQuery__OnConflictClause { ProtobufCMessage base; - PgQuery__DiscardMode target; + PgQuery__OnConflictAction action; + PgQuery__InferClause *infer; + size_t n_target_list; + PgQuery__Node **target_list; + PgQuery__Node *where_clause; + int32_t location; }; -#define PG_QUERY__DISCARD_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__discard_stmt__descriptor) \ - , PG_QUERY__DISCARD_MODE__DISCARD_MODE_UNDEFINED } +#define PG_QUERY__ON_CONFLICT_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__on_conflict_clause__descriptor) \ + , PG_QUERY__ON_CONFLICT_ACTION__ON_CONFLICT_ACTION_UNDEFINED, NULL, 0,NULL, NULL, 0 } -struct PgQuery__CreateTrigStmt +struct PgQuery__CTESearchClause { ProtobufCMessage base; - protobuf_c_boolean replace; - protobuf_c_boolean isconstraint; - char *trigname; - PgQuery__RangeVar *relation; - size_t n_funcname; - PgQuery__Node **funcname; - size_t n_args; - PgQuery__Node **args; - protobuf_c_boolean row; - int32_t timing; - int32_t events; - size_t n_columns; - PgQuery__Node **columns; - PgQuery__Node *when_clause; - size_t n_transition_rels; - PgQuery__Node **transition_rels; - protobuf_c_boolean deferrable; - protobuf_c_boolean initdeferred; - PgQuery__RangeVar *constrrel; + size_t n_search_col_list; + PgQuery__Node **search_col_list; + protobuf_c_boolean search_breadth_first; + char *search_seq_column; + int32_t location; }; -#define PG_QUERY__CREATE_TRIG_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_trig_stmt__descriptor) \ - , 0, 0, (char *)protobuf_c_empty_string, NULL, 0,NULL, 0,NULL, 0, 0, 0, 0,NULL, NULL, 0,NULL, 0, 0, NULL } +#define PG_QUERY__CTESEARCH_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__ctesearch_clause__descriptor) \ + , 0,NULL, 0, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__CreatePLangStmt +struct PgQuery__CTECycleClause { ProtobufCMessage base; - protobuf_c_boolean replace; - char *plname; - size_t n_plhandler; - PgQuery__Node **plhandler; - size_t n_plinline; - PgQuery__Node **plinline; - size_t n_plvalidator; - PgQuery__Node **plvalidator; - protobuf_c_boolean pltrusted; + size_t n_cycle_col_list; + PgQuery__Node **cycle_col_list; + char *cycle_mark_column; + PgQuery__Node *cycle_mark_value; + PgQuery__Node *cycle_mark_default; + char *cycle_path_column; + int32_t location; + uint32_t cycle_mark_type; + int32_t cycle_mark_typmod; + uint32_t cycle_mark_collation; + uint32_t cycle_mark_neop; }; -#define PG_QUERY__CREATE_PLANG_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_plang_stmt__descriptor) \ - , 0, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__CTECYCLE_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__ctecycle_clause__descriptor) \ + , 0,NULL, (char *)protobuf_c_empty_string, NULL, NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0 } -struct PgQuery__CreateRoleStmt +struct PgQuery__CommonTableExpr { ProtobufCMessage base; - PgQuery__RoleStmtType stmt_type; - char *role; - size_t n_options; - PgQuery__Node **options; + char *ctename; + size_t n_aliascolnames; + PgQuery__Node **aliascolnames; + PgQuery__CTEMaterialize ctematerialized; + PgQuery__Node *ctequery; + PgQuery__CTESearchClause *search_clause; + PgQuery__CTECycleClause *cycle_clause; + int32_t location; + protobuf_c_boolean cterecursive; + int32_t cterefcount; + size_t n_ctecolnames; + PgQuery__Node **ctecolnames; + size_t n_ctecoltypes; + PgQuery__Node **ctecoltypes; + size_t n_ctecoltypmods; + PgQuery__Node **ctecoltypmods; + size_t n_ctecolcollations; + PgQuery__Node **ctecolcollations; }; -#define PG_QUERY__CREATE_ROLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_role_stmt__descriptor) \ - , PG_QUERY__ROLE_STMT_TYPE__ROLE_STMT_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__COMMON_TABLE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__common_table_expr__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, PG_QUERY__CTEMATERIALIZE__CTEMATERIALIZE_UNDEFINED, NULL, NULL, NULL, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL } -struct PgQuery__AlterRoleStmt +struct PgQuery__MergeWhenClause { ProtobufCMessage base; - PgQuery__RoleSpec *role; - size_t n_options; - PgQuery__Node **options; - int32_t action; + PgQuery__MergeMatchKind match_kind; + PgQuery__CmdType command_type; + PgQuery__OverridingKind override; + PgQuery__Node *condition; + size_t n_target_list; + PgQuery__Node **target_list; + size_t n_values; + PgQuery__Node **values; }; -#define PG_QUERY__ALTER_ROLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_role_stmt__descriptor) \ - , NULL, 0,NULL, 0 } +#define PG_QUERY__MERGE_WHEN_CLAUSE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_when_clause__descriptor) \ + , PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } -struct PgQuery__DropRoleStmt +struct PgQuery__TriggerTransition { ProtobufCMessage base; - size_t n_roles; - PgQuery__Node **roles; - protobuf_c_boolean missing_ok; + char *name; + protobuf_c_boolean is_new; + protobuf_c_boolean is_table; }; -#define PG_QUERY__DROP_ROLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_role_stmt__descriptor) \ - , 0,NULL, 0 } +#define PG_QUERY__TRIGGER_TRANSITION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__trigger_transition__descriptor) \ + , (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__LockStmt +struct PgQuery__JsonOutput { ProtobufCMessage base; - size_t n_relations; - PgQuery__Node **relations; - int32_t mode; - protobuf_c_boolean nowait; + PgQuery__TypeName *type_name; + PgQuery__JsonReturning *returning; }; -#define PG_QUERY__LOCK_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__lock_stmt__descriptor) \ - , 0,NULL, 0, 0 } +#define PG_QUERY__JSON_OUTPUT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_output__descriptor) \ + , NULL, NULL } -struct PgQuery__ConstraintsSetStmt +struct PgQuery__JsonArgument { ProtobufCMessage base; - size_t n_constraints; - PgQuery__Node **constraints; - protobuf_c_boolean deferred; + PgQuery__JsonValueExpr *val; + char *name; }; -#define PG_QUERY__CONSTRAINTS_SET_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__constraints_set_stmt__descriptor) \ - , 0,NULL, 0 } +#define PG_QUERY__JSON_ARGUMENT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_argument__descriptor) \ + , NULL, (char *)protobuf_c_empty_string } -struct PgQuery__ReindexStmt +struct PgQuery__JsonFuncExpr { ProtobufCMessage base; - PgQuery__ReindexObjectType kind; - PgQuery__RangeVar *relation; - char *name; - size_t n_params; - PgQuery__Node **params; + PgQuery__JsonExprOp op; + char *column_name; + PgQuery__JsonValueExpr *context_item; + PgQuery__Node *pathspec; + size_t n_passing; + PgQuery__Node **passing; + PgQuery__JsonOutput *output; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + PgQuery__JsonWrapper wrapper; + PgQuery__JsonQuotes quotes; + int32_t location; }; -#define PG_QUERY__REINDEX_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__reindex_stmt__descriptor) \ - , PG_QUERY__REINDEX_OBJECT_TYPE__REINDEX_OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__JSON_FUNC_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_func_expr__descriptor) \ + , PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, NULL, NULL, NULL, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED, 0 } -struct PgQuery__CheckPointStmt +struct PgQuery__JsonTablePathSpec { ProtobufCMessage base; + PgQuery__Node *string; + char *name; + int32_t name_location; + int32_t location; }; -#define PG_QUERY__CHECK_POINT_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__check_point_stmt__descriptor) \ - } +#define PG_QUERY__JSON_TABLE_PATH_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_path_spec__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__CreateSchemaStmt +struct PgQuery__JsonTable { ProtobufCMessage base; - char *schemaname; - PgQuery__RoleSpec *authrole; - size_t n_schema_elts; - PgQuery__Node **schema_elts; - protobuf_c_boolean if_not_exists; + PgQuery__JsonValueExpr *context_item; + PgQuery__JsonTablePathSpec *pathspec; + size_t n_passing; + PgQuery__Node **passing; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__JsonBehavior *on_error; + PgQuery__Alias *alias; + protobuf_c_boolean lateral; + int32_t location; }; -#define PG_QUERY__CREATE_SCHEMA_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_schema_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, 0,NULL, 0 } +#define PG_QUERY__JSON_TABLE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table__descriptor) \ + , NULL, NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0 } -struct PgQuery__AlterDatabaseStmt +struct PgQuery__JsonTableColumn { ProtobufCMessage base; - char *dbname; - size_t n_options; - PgQuery__Node **options; + PgQuery__JsonTableColumnType coltype; + char *name; + PgQuery__TypeName *type_name; + PgQuery__JsonTablePathSpec *pathspec; + PgQuery__JsonFormat *format; + PgQuery__JsonWrapper wrapper; + PgQuery__JsonQuotes quotes; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__JsonBehavior *on_empty; + PgQuery__JsonBehavior *on_error; + int32_t location; }; -#define PG_QUERY__ALTER_DATABASE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__JSON_TABLE_COLUMN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_table_column__descriptor) \ + , PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, NULL, NULL, NULL, PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED, PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED, 0,NULL, NULL, NULL, 0 } -struct PgQuery__AlterDatabaseRefreshCollStmt +struct PgQuery__JsonKeyValue { ProtobufCMessage base; - char *dbname; + PgQuery__Node *key; + PgQuery__JsonValueExpr *value; }; -#define PG_QUERY__ALTER_DATABASE_REFRESH_COLL_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_refresh_coll_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__JSON_KEY_VALUE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_key_value__descriptor) \ + , NULL, NULL } -struct PgQuery__AlterDatabaseSetStmt +struct PgQuery__JsonParseExpr { ProtobufCMessage base; - char *dbname; - PgQuery__VariableSetStmt *setstmt; + PgQuery__JsonValueExpr *expr; + PgQuery__JsonOutput *output; + protobuf_c_boolean unique_keys; + int32_t location; }; -#define PG_QUERY__ALTER_DATABASE_SET_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_set_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, NULL } +#define PG_QUERY__JSON_PARSE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_parse_expr__descriptor) \ + , NULL, NULL, 0, 0 } -struct PgQuery__AlterRoleSetStmt +struct PgQuery__JsonScalarExpr { ProtobufCMessage base; - PgQuery__RoleSpec *role; - char *database; - PgQuery__VariableSetStmt *setstmt; + PgQuery__Node *expr; + PgQuery__JsonOutput *output; + int32_t location; }; -#define PG_QUERY__ALTER_ROLE_SET_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_role_set_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, NULL } +#define PG_QUERY__JSON_SCALAR_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_scalar_expr__descriptor) \ + , NULL, NULL, 0 } -struct PgQuery__CreateConversionStmt +struct PgQuery__JsonSerializeExpr { ProtobufCMessage base; - size_t n_conversion_name; - PgQuery__Node **conversion_name; - char *for_encoding_name; - char *to_encoding_name; - size_t n_func_name; - PgQuery__Node **func_name; - protobuf_c_boolean def; + PgQuery__JsonValueExpr *expr; + PgQuery__JsonOutput *output; + int32_t location; }; -#define PG_QUERY__CREATE_CONVERSION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_conversion_stmt__descriptor) \ - , 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0 } +#define PG_QUERY__JSON_SERIALIZE_EXPR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_serialize_expr__descriptor) \ + , NULL, NULL, 0 } -struct PgQuery__CreateCastStmt +struct PgQuery__JsonObjectConstructor { ProtobufCMessage base; - PgQuery__TypeName *sourcetype; - PgQuery__TypeName *targettype; - PgQuery__ObjectWithArgs *func; - PgQuery__CoercionContext context; - protobuf_c_boolean inout; + size_t n_exprs; + PgQuery__Node **exprs; + PgQuery__JsonOutput *output; + protobuf_c_boolean absent_on_null; + protobuf_c_boolean unique; + int32_t location; }; -#define PG_QUERY__CREATE_CAST_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_cast_stmt__descriptor) \ - , NULL, NULL, NULL, PG_QUERY__COERCION_CONTEXT__COERCION_CONTEXT_UNDEFINED, 0 } +#define PG_QUERY__JSON_OBJECT_CONSTRUCTOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_object_constructor__descriptor) \ + , 0,NULL, NULL, 0, 0, 0 } -struct PgQuery__CreateOpClassStmt +struct PgQuery__JsonArrayConstructor { ProtobufCMessage base; - size_t n_opclassname; - PgQuery__Node **opclassname; - size_t n_opfamilyname; - PgQuery__Node **opfamilyname; - char *amname; - PgQuery__TypeName *datatype; - size_t n_items; - PgQuery__Node **items; - protobuf_c_boolean is_default; + size_t n_exprs; + PgQuery__Node **exprs; + PgQuery__JsonOutput *output; + protobuf_c_boolean absent_on_null; + int32_t location; }; -#define PG_QUERY__CREATE_OP_CLASS_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_class_stmt__descriptor) \ - , 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, NULL, 0,NULL, 0 } +#define PG_QUERY__JSON_ARRAY_CONSTRUCTOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_array_constructor__descriptor) \ + , 0,NULL, NULL, 0, 0 } -struct PgQuery__CreateOpFamilyStmt +struct PgQuery__JsonArrayQueryConstructor { ProtobufCMessage base; - size_t n_opfamilyname; - PgQuery__Node **opfamilyname; - char *amname; + PgQuery__Node *query; + PgQuery__JsonOutput *output; + PgQuery__JsonFormat *format; + protobuf_c_boolean absent_on_null; + int32_t location; }; -#define PG_QUERY__CREATE_OP_FAMILY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_family_stmt__descriptor) \ - , 0,NULL, (char *)protobuf_c_empty_string } +#define PG_QUERY__JSON_ARRAY_QUERY_CONSTRUCTOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_array_query_constructor__descriptor) \ + , NULL, NULL, NULL, 0, 0 } -struct PgQuery__AlterOpFamilyStmt +struct PgQuery__JsonAggConstructor { ProtobufCMessage base; - size_t n_opfamilyname; - PgQuery__Node **opfamilyname; - char *amname; - protobuf_c_boolean is_drop; - size_t n_items; - PgQuery__Node **items; + PgQuery__JsonOutput *output; + PgQuery__Node *agg_filter; + size_t n_agg_order; + PgQuery__Node **agg_order; + PgQuery__WindowDef *over; + int32_t location; }; -#define PG_QUERY__ALTER_OP_FAMILY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_op_family_stmt__descriptor) \ - , 0,NULL, (char *)protobuf_c_empty_string, 0, 0,NULL } +#define PG_QUERY__JSON_AGG_CONSTRUCTOR__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_agg_constructor__descriptor) \ + , NULL, NULL, 0,NULL, NULL, 0 } -struct PgQuery__PrepareStmt +struct PgQuery__JsonObjectAgg { ProtobufCMessage base; - char *name; - size_t n_argtypes; - PgQuery__Node **argtypes; - PgQuery__Node *query; + PgQuery__JsonAggConstructor *constructor; + PgQuery__JsonKeyValue *arg; + protobuf_c_boolean absent_on_null; + protobuf_c_boolean unique; }; -#define PG_QUERY__PREPARE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__prepare_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, NULL } +#define PG_QUERY__JSON_OBJECT_AGG__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_object_agg__descriptor) \ + , NULL, NULL, 0, 0 } -struct PgQuery__ExecuteStmt +struct PgQuery__JsonArrayAgg { ProtobufCMessage base; - char *name; - size_t n_params; - PgQuery__Node **params; + PgQuery__JsonAggConstructor *constructor; + PgQuery__JsonValueExpr *arg; + protobuf_c_boolean absent_on_null; }; -#define PG_QUERY__EXECUTE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__execute_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__JSON_ARRAY_AGG__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__json_array_agg__descriptor) \ + , NULL, NULL, 0 } -struct PgQuery__DeallocateStmt +struct PgQuery__RawStmt { ProtobufCMessage base; - char *name; + PgQuery__Node *stmt; + int32_t stmt_location; + int32_t stmt_len; }; -#define PG_QUERY__DEALLOCATE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__deallocate_stmt__descriptor) \ - , (char *)protobuf_c_empty_string } +#define PG_QUERY__RAW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__raw_stmt__descriptor) \ + , NULL, 0, 0 } -struct PgQuery__DeclareCursorStmt +struct PgQuery__InsertStmt { ProtobufCMessage base; - char *portalname; - int32_t options; - PgQuery__Node *query; + PgQuery__RangeVar *relation; + size_t n_cols; + PgQuery__Node **cols; + PgQuery__Node *select_stmt; + PgQuery__OnConflictClause *on_conflict_clause; + size_t n_returning_list; + PgQuery__Node **returning_list; + PgQuery__WithClause *with_clause; + PgQuery__OverridingKind override; }; -#define PG_QUERY__DECLARE_CURSOR_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__declare_cursor_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0, NULL } +#define PG_QUERY__INSERT_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__insert_stmt__descriptor) \ + , NULL, 0,NULL, NULL, NULL, 0,NULL, NULL, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED } -struct PgQuery__CreateTableSpaceStmt +struct PgQuery__DeleteStmt { ProtobufCMessage base; - char *tablespacename; - PgQuery__RoleSpec *owner; - char *location; - size_t n_options; - PgQuery__Node **options; + PgQuery__RangeVar *relation; + size_t n_using_clause; + PgQuery__Node **using_clause; + PgQuery__Node *where_clause; + size_t n_returning_list; + PgQuery__Node **returning_list; + PgQuery__WithClause *with_clause; }; -#define PG_QUERY__CREATE_TABLE_SPACE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_table_space_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__DELETE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__delete_stmt__descriptor) \ + , NULL, 0,NULL, NULL, 0,NULL, NULL } -struct PgQuery__DropTableSpaceStmt +struct PgQuery__UpdateStmt { ProtobufCMessage base; - char *tablespacename; - protobuf_c_boolean missing_ok; + PgQuery__RangeVar *relation; + size_t n_target_list; + PgQuery__Node **target_list; + PgQuery__Node *where_clause; + size_t n_from_clause; + PgQuery__Node **from_clause; + size_t n_returning_list; + PgQuery__Node **returning_list; + PgQuery__WithClause *with_clause; }; -#define PG_QUERY__DROP_TABLE_SPACE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_table_space_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__UPDATE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__update_stmt__descriptor) \ + , NULL, 0,NULL, NULL, 0,NULL, 0,NULL, NULL } -struct PgQuery__AlterObjectDependsStmt +struct PgQuery__MergeStmt { ProtobufCMessage base; - PgQuery__ObjectType object_type; PgQuery__RangeVar *relation; - PgQuery__Node *object; - PgQuery__String *extname; - protobuf_c_boolean remove; + PgQuery__Node *source_relation; + PgQuery__Node *join_condition; + size_t n_merge_when_clauses; + PgQuery__Node **merge_when_clauses; + size_t n_returning_list; + PgQuery__Node **returning_list; + PgQuery__WithClause *with_clause; }; -#define PG_QUERY__ALTER_OBJECT_DEPENDS_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_object_depends_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, NULL, 0 } +#define PG_QUERY__MERGE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_stmt__descriptor) \ + , NULL, NULL, NULL, 0,NULL, 0,NULL, NULL } -struct PgQuery__AlterObjectSchemaStmt +struct PgQuery__SelectStmt { ProtobufCMessage base; - PgQuery__ObjectType object_type; - PgQuery__RangeVar *relation; - PgQuery__Node *object; - char *newschema; - protobuf_c_boolean missing_ok; + size_t n_distinct_clause; + PgQuery__Node **distinct_clause; + PgQuery__IntoClause *into_clause; + size_t n_target_list; + PgQuery__Node **target_list; + size_t n_from_clause; + PgQuery__Node **from_clause; + PgQuery__Node *where_clause; + size_t n_group_clause; + PgQuery__Node **group_clause; + protobuf_c_boolean group_distinct; + PgQuery__Node *having_clause; + size_t n_window_clause; + PgQuery__Node **window_clause; + size_t n_values_lists; + PgQuery__Node **values_lists; + size_t n_sort_clause; + PgQuery__Node **sort_clause; + PgQuery__Node *limit_offset; + PgQuery__Node *limit_count; + PgQuery__LimitOption limit_option; + size_t n_locking_clause; + PgQuery__Node **locking_clause; + PgQuery__WithClause *with_clause; + PgQuery__SetOperation op; + protobuf_c_boolean all; + PgQuery__SelectStmt *larg; + PgQuery__SelectStmt *rarg; }; -#define PG_QUERY__ALTER_OBJECT_SCHEMA_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_object_schema_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__SELECT_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__select_stmt__descriptor) \ + , 0,NULL, NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, 0,NULL, 0,NULL, NULL, NULL, PG_QUERY__LIMIT_OPTION__LIMIT_OPTION_UNDEFINED, 0,NULL, NULL, PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED, 0, NULL, NULL } -struct PgQuery__AlterOwnerStmt +struct PgQuery__SetOperationStmt { ProtobufCMessage base; - PgQuery__ObjectType object_type; - PgQuery__RangeVar *relation; - PgQuery__Node *object; - PgQuery__RoleSpec *newowner; -}; -#define PG_QUERY__ALTER_OWNER_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_owner_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, NULL } + PgQuery__SetOperation op; + protobuf_c_boolean all; + PgQuery__Node *larg; + PgQuery__Node *rarg; + size_t n_col_types; + PgQuery__Node **col_types; + size_t n_col_typmods; + PgQuery__Node **col_typmods; + size_t n_col_collations; + PgQuery__Node **col_collations; + size_t n_group_clauses; + PgQuery__Node **group_clauses; +}; +#define PG_QUERY__SET_OPERATION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__set_operation_stmt__descriptor) \ + , PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED, 0, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL } -struct PgQuery__AlterOperatorStmt +struct PgQuery__ReturnStmt { ProtobufCMessage base; - PgQuery__ObjectWithArgs *opername; - size_t n_options; - PgQuery__Node **options; + PgQuery__Node *returnval; }; -#define PG_QUERY__ALTER_OPERATOR_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_operator_stmt__descriptor) \ - , NULL, 0,NULL } +#define PG_QUERY__RETURN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__return_stmt__descriptor) \ + , NULL } -struct PgQuery__AlterTypeStmt +struct PgQuery__PLAssignStmt { ProtobufCMessage base; - size_t n_type_name; - PgQuery__Node **type_name; - size_t n_options; - PgQuery__Node **options; + char *name; + size_t n_indirection; + PgQuery__Node **indirection; + int32_t nnames; + PgQuery__SelectStmt *val; + int32_t location; }; -#define PG_QUERY__ALTER_TYPE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_type_stmt__descriptor) \ - , 0,NULL, 0,NULL } +#define PG_QUERY__PLASSIGN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__plassign_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, 0, NULL, 0 } -struct PgQuery__DropOwnedStmt +struct PgQuery__CreateSchemaStmt { ProtobufCMessage base; - size_t n_roles; - PgQuery__Node **roles; - PgQuery__DropBehavior behavior; + char *schemaname; + PgQuery__RoleSpec *authrole; + size_t n_schema_elts; + PgQuery__Node **schema_elts; + protobuf_c_boolean if_not_exists; }; -#define PG_QUERY__DROP_OWNED_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_owned_stmt__descriptor) \ - , 0,NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } +#define PG_QUERY__CREATE_SCHEMA_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_schema_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, 0,NULL, 0 } -struct PgQuery__ReassignOwnedStmt +struct PgQuery__AlterTableStmt { ProtobufCMessage base; - size_t n_roles; - PgQuery__Node **roles; - PgQuery__RoleSpec *newrole; + PgQuery__RangeVar *relation; + size_t n_cmds; + PgQuery__Node **cmds; + PgQuery__ObjectType objtype; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__REASSIGN_OWNED_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__reassign_owned_stmt__descriptor) \ - , 0,NULL, NULL } +#define PG_QUERY__ALTER_TABLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_table_stmt__descriptor) \ + , NULL, 0,NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0 } -struct PgQuery__CompositeTypeStmt +struct PgQuery__ReplicaIdentityStmt { ProtobufCMessage base; - PgQuery__RangeVar *typevar; - size_t n_coldeflist; - PgQuery__Node **coldeflist; + char *identity_type; + char *name; }; -#define PG_QUERY__COMPOSITE_TYPE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__composite_type_stmt__descriptor) \ - , NULL, 0,NULL } +#define PG_QUERY__REPLICA_IDENTITY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__replica_identity_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } -struct PgQuery__CreateEnumStmt +struct PgQuery__AlterTableCmd { ProtobufCMessage base; - size_t n_type_name; - PgQuery__Node **type_name; - size_t n_vals; - PgQuery__Node **vals; + PgQuery__AlterTableType subtype; + char *name; + int32_t num; + PgQuery__RoleSpec *newowner; + PgQuery__Node *def; + PgQuery__DropBehavior behavior; + protobuf_c_boolean missing_ok; + protobuf_c_boolean recurse; }; -#define PG_QUERY__CREATE_ENUM_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_enum_stmt__descriptor) \ - , 0,NULL, 0,NULL } +#define PG_QUERY__ALTER_TABLE_CMD__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_table_cmd__descriptor) \ + , PG_QUERY__ALTER_TABLE_TYPE__ALTER_TABLE_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, NULL, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0, 0 } -struct PgQuery__CreateRangeStmt +struct PgQuery__AlterCollationStmt { ProtobufCMessage base; - size_t n_type_name; - PgQuery__Node **type_name; - size_t n_params; - PgQuery__Node **params; + size_t n_collname; + PgQuery__Node **collname; }; -#define PG_QUERY__CREATE_RANGE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_range_stmt__descriptor) \ - , 0,NULL, 0,NULL } +#define PG_QUERY__ALTER_COLLATION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_collation_stmt__descriptor) \ + , 0,NULL } -struct PgQuery__AlterEnumStmt +struct PgQuery__AlterDomainStmt { ProtobufCMessage base; + char *subtype; size_t n_type_name; PgQuery__Node **type_name; - char *old_val; - char *new_val; - char *new_val_neighbor; - protobuf_c_boolean new_val_is_after; - protobuf_c_boolean skip_if_new_val_exists; + char *name; + PgQuery__Node *def; + PgQuery__DropBehavior behavior; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__ALTER_ENUM_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_enum_stmt__descriptor) \ - , 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0 } +#define PG_QUERY__ALTER_DOMAIN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_domain_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, (char *)protobuf_c_empty_string, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0 } -struct PgQuery__AlterTSDictionaryStmt +struct PgQuery__GrantStmt { ProtobufCMessage base; - size_t n_dictname; - PgQuery__Node **dictname; - size_t n_options; - PgQuery__Node **options; + protobuf_c_boolean is_grant; + PgQuery__GrantTargetType targtype; + PgQuery__ObjectType objtype; + size_t n_objects; + PgQuery__Node **objects; + size_t n_privileges; + PgQuery__Node **privileges; + size_t n_grantees; + PgQuery__Node **grantees; + protobuf_c_boolean grant_option; + PgQuery__RoleSpec *grantor; + PgQuery__DropBehavior behavior; }; -#define PG_QUERY__ALTER_TSDICTIONARY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_tsdictionary_stmt__descriptor) \ - , 0,NULL, 0,NULL } +#define PG_QUERY__GRANT_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__grant_stmt__descriptor) \ + , 0, PG_QUERY__GRANT_TARGET_TYPE__GRANT_TARGET_TYPE_UNDEFINED, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0,NULL, 0,NULL, 0,NULL, 0, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } -struct PgQuery__AlterTSConfigurationStmt +struct PgQuery__ObjectWithArgs { ProtobufCMessage base; - PgQuery__AlterTSConfigType kind; - size_t n_cfgname; - PgQuery__Node **cfgname; - size_t n_tokentype; - PgQuery__Node **tokentype; - size_t n_dicts; - PgQuery__Node **dicts; - protobuf_c_boolean override; - protobuf_c_boolean replace; - protobuf_c_boolean missing_ok; + size_t n_objname; + PgQuery__Node **objname; + size_t n_objargs; + PgQuery__Node **objargs; + size_t n_objfuncargs; + PgQuery__Node **objfuncargs; + protobuf_c_boolean args_unspecified; }; -#define PG_QUERY__ALTER_TSCONFIGURATION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_tsconfiguration_stmt__descriptor) \ - , PG_QUERY__ALTER_TSCONFIG_TYPE__ALTER_TSCONFIG_TYPE_UNDEFINED, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0 } +#define PG_QUERY__OBJECT_WITH_ARGS__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__object_with_args__descriptor) \ + , 0,NULL, 0,NULL, 0,NULL, 0 } -struct PgQuery__CreateFdwStmt +struct PgQuery__AccessPriv { ProtobufCMessage base; - char *fdwname; - size_t n_func_options; - PgQuery__Node **func_options; - size_t n_options; - PgQuery__Node **options; + char *priv_name; + size_t n_cols; + PgQuery__Node **cols; }; -#define PG_QUERY__CREATE_FDW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_fdw_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } +#define PG_QUERY__ACCESS_PRIV__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__access_priv__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__AlterFdwStmt +struct PgQuery__GrantRoleStmt { ProtobufCMessage base; - char *fdwname; - size_t n_func_options; - PgQuery__Node **func_options; - size_t n_options; - PgQuery__Node **options; + size_t n_granted_roles; + PgQuery__Node **granted_roles; + size_t n_grantee_roles; + PgQuery__Node **grantee_roles; + protobuf_c_boolean is_grant; + size_t n_opt; + PgQuery__Node **opt; + PgQuery__RoleSpec *grantor; + PgQuery__DropBehavior behavior; }; -#define PG_QUERY__ALTER_FDW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_fdw_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } +#define PG_QUERY__GRANT_ROLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__grant_role_stmt__descriptor) \ + , 0,NULL, 0,NULL, 0, 0,NULL, NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } -struct PgQuery__CreateForeignServerStmt +struct PgQuery__AlterDefaultPrivilegesStmt { ProtobufCMessage base; - char *servername; - char *servertype; - char *version; - char *fdwname; - protobuf_c_boolean if_not_exists; size_t n_options; PgQuery__Node **options; + PgQuery__GrantStmt *action; }; -#define PG_QUERY__CREATE_FOREIGN_SERVER_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_foreign_server_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0,NULL } +#define PG_QUERY__ALTER_DEFAULT_PRIVILEGES_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_default_privileges_stmt__descriptor) \ + , 0,NULL, NULL } -struct PgQuery__AlterForeignServerStmt +struct PgQuery__CopyStmt { ProtobufCMessage base; - char *servername; - char *version; + PgQuery__RangeVar *relation; + PgQuery__Node *query; + size_t n_attlist; + PgQuery__Node **attlist; + protobuf_c_boolean is_from; + protobuf_c_boolean is_program; + char *filename; size_t n_options; PgQuery__Node **options; - protobuf_c_boolean has_version; + PgQuery__Node *where_clause; }; -#define PG_QUERY__ALTER_FOREIGN_SERVER_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_foreign_server_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0 } +#define PG_QUERY__COPY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__copy_stmt__descriptor) \ + , NULL, NULL, 0,NULL, 0, 0, (char *)protobuf_c_empty_string, 0,NULL, NULL } -struct PgQuery__CreateUserMappingStmt +struct PgQuery__VariableSetStmt { ProtobufCMessage base; - PgQuery__RoleSpec *user; - char *servername; + PgQuery__VariableSetKind kind; + char *name; + size_t n_args; + PgQuery__Node **args; + protobuf_c_boolean is_local; +}; +#define PG_QUERY__VARIABLE_SET_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__variable_set_stmt__descriptor) \ + , PG_QUERY__VARIABLE_SET_KIND__VARIABLE_SET_KIND_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL, 0 } + + +struct PgQuery__VariableShowStmt +{ + ProtobufCMessage base; + char *name; +}; +#define PG_QUERY__VARIABLE_SHOW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__variable_show_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } + + +struct PgQuery__CreateStmt +{ + ProtobufCMessage base; + PgQuery__RangeVar *relation; + size_t n_table_elts; + PgQuery__Node **table_elts; + size_t n_inh_relations; + PgQuery__Node **inh_relations; + PgQuery__PartitionBoundSpec *partbound; + PgQuery__PartitionSpec *partspec; + PgQuery__TypeName *of_typename; + size_t n_constraints; + PgQuery__Node **constraints; + size_t n_options; + PgQuery__Node **options; + PgQuery__OnCommitAction oncommit; + char *tablespacename; + char *access_method; protobuf_c_boolean if_not_exists; +}; +#define PG_QUERY__CREATE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_stmt__descriptor) \ + , NULL, 0,NULL, 0,NULL, NULL, NULL, NULL, 0,NULL, 0,NULL, PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0 } + + +struct PgQuery__Constraint +{ + ProtobufCMessage base; + PgQuery__ConstrType contype; + char *conname; + protobuf_c_boolean deferrable; + protobuf_c_boolean initdeferred; + protobuf_c_boolean skip_validation; + protobuf_c_boolean initially_valid; + protobuf_c_boolean is_no_inherit; + PgQuery__Node *raw_expr; + char *cooked_expr; + char *generated_when; + int32_t inhcount; + protobuf_c_boolean nulls_not_distinct; + size_t n_keys; + PgQuery__Node **keys; + size_t n_including; + PgQuery__Node **including; + size_t n_exclusions; + PgQuery__Node **exclusions; size_t n_options; PgQuery__Node **options; + char *indexname; + char *indexspace; + protobuf_c_boolean reset_default_tblspc; + char *access_method; + PgQuery__Node *where_clause; + PgQuery__RangeVar *pktable; + size_t n_fk_attrs; + PgQuery__Node **fk_attrs; + size_t n_pk_attrs; + PgQuery__Node **pk_attrs; + char *fk_matchtype; + char *fk_upd_action; + char *fk_del_action; + size_t n_fk_del_set_cols; + PgQuery__Node **fk_del_set_cols; + size_t n_old_conpfeqop; + PgQuery__Node **old_conpfeqop; + uint32_t old_pktable_oid; + int32_t location; }; -#define PG_QUERY__CREATE_USER_MAPPING_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_user_mapping_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, 0, 0,NULL } +#define PG_QUERY__CONSTRAINT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__constraint__descriptor) \ + , PG_QUERY__CONSTR_TYPE__CONSTR_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, 0 } -struct PgQuery__AlterUserMappingStmt +struct PgQuery__CreateTableSpaceStmt { ProtobufCMessage base; - PgQuery__RoleSpec *user; - char *servername; + char *tablespacename; + PgQuery__RoleSpec *owner; + char *location; size_t n_options; PgQuery__Node **options; }; -#define PG_QUERY__ALTER_USER_MAPPING_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_user_mapping_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__CREATE_TABLE_SPACE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_table_space_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__DropUserMappingStmt +struct PgQuery__DropTableSpaceStmt { ProtobufCMessage base; - PgQuery__RoleSpec *user; - char *servername; + char *tablespacename; protobuf_c_boolean missing_ok; }; -#define PG_QUERY__DROP_USER_MAPPING_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_user_mapping_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__DROP_TABLE_SPACE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_table_space_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0 } struct PgQuery__AlterTableSpaceOptionsStmt @@ -4414,49 +4983,6 @@ struct PgQuery__AlterTableMoveAllStmt , (char *)protobuf_c_empty_string, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0,NULL, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__SecLabelStmt -{ - ProtobufCMessage base; - PgQuery__ObjectType objtype; - PgQuery__Node *object; - char *provider; - char *label; -}; -#define PG_QUERY__SEC_LABEL_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__sec_label_stmt__descriptor) \ - , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } - - -struct PgQuery__CreateForeignTableStmt -{ - ProtobufCMessage base; - PgQuery__CreateStmt *base_stmt; - char *servername; - size_t n_options; - PgQuery__Node **options; -}; -#define PG_QUERY__CREATE_FOREIGN_TABLE_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_foreign_table_stmt__descriptor) \ - , NULL, (char *)protobuf_c_empty_string, 0,NULL } - - -struct PgQuery__ImportForeignSchemaStmt -{ - ProtobufCMessage base; - char *server_name; - char *remote_schema; - char *local_schema; - PgQuery__ImportForeignSchemaType list_type; - size_t n_table_list; - PgQuery__Node **table_list; - size_t n_options; - PgQuery__Node **options; -}; -#define PG_QUERY__IMPORT_FOREIGN_SCHEMA_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__import_foreign_schema_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__IMPORT_FOREIGN_SCHEMA_TYPE__IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED, 0,NULL, 0,NULL } - - struct PgQuery__CreateExtensionStmt { ProtobufCMessage base; @@ -4495,76 +5021,144 @@ struct PgQuery__AlterExtensionContentsStmt , (char *)protobuf_c_empty_string, 0, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL } -struct PgQuery__CreateEventTrigStmt +struct PgQuery__CreateFdwStmt { ProtobufCMessage base; - char *trigname; - char *eventname; - size_t n_whenclause; - PgQuery__Node **whenclause; - size_t n_funcname; - PgQuery__Node **funcname; + char *fdwname; + size_t n_func_options; + PgQuery__Node **func_options; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__CREATE_EVENT_TRIG_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_event_trig_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } +#define PG_QUERY__CREATE_FDW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_fdw_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } -struct PgQuery__AlterEventTrigStmt +struct PgQuery__AlterFdwStmt { ProtobufCMessage base; - char *trigname; - char *tgenabled; + char *fdwname; + size_t n_func_options; + PgQuery__Node **func_options; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__ALTER_EVENT_TRIG_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_event_trig_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } +#define PG_QUERY__ALTER_FDW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_fdw_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } -struct PgQuery__RefreshMatViewStmt +struct PgQuery__CreateForeignServerStmt { ProtobufCMessage base; - protobuf_c_boolean concurrent; - protobuf_c_boolean skip_data; - PgQuery__RangeVar *relation; + char *servername; + char *servertype; + char *version; + char *fdwname; + protobuf_c_boolean if_not_exists; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__REFRESH_MAT_VIEW_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__refresh_mat_view_stmt__descriptor) \ - , 0, 0, NULL } +#define PG_QUERY__CREATE_FOREIGN_SERVER_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_foreign_server_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0,NULL } -struct PgQuery__ReplicaIdentityStmt +struct PgQuery__AlterForeignServerStmt { ProtobufCMessage base; - char *identity_type; - char *name; + char *servername; + char *version; + size_t n_options; + PgQuery__Node **options; + protobuf_c_boolean has_version; }; -#define PG_QUERY__REPLICA_IDENTITY_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__replica_identity_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } +#define PG_QUERY__ALTER_FOREIGN_SERVER_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_foreign_server_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0 } -struct PgQuery__AlterSystemStmt +struct PgQuery__CreateForeignTableStmt { ProtobufCMessage base; - PgQuery__VariableSetStmt *setstmt; + PgQuery__CreateStmt *base_stmt; + char *servername; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__ALTER_SYSTEM_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_system_stmt__descriptor) \ - , NULL } +#define PG_QUERY__CREATE_FOREIGN_TABLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_foreign_table_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__CreatePolicyStmt +struct PgQuery__CreateUserMappingStmt { ProtobufCMessage base; - char *policy_name; - PgQuery__RangeVar *table; - char *cmd_name; - protobuf_c_boolean permissive; - size_t n_roles; - PgQuery__Node **roles; - PgQuery__Node *qual; - PgQuery__Node *with_check; + PgQuery__RoleSpec *user; + char *servername; + protobuf_c_boolean if_not_exists; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__CREATE_USER_MAPPING_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_user_mapping_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0, 0,NULL } + + +struct PgQuery__AlterUserMappingStmt +{ + ProtobufCMessage base; + PgQuery__RoleSpec *user; + char *servername; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__ALTER_USER_MAPPING_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_user_mapping_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0,NULL } + + +struct PgQuery__DropUserMappingStmt +{ + ProtobufCMessage base; + PgQuery__RoleSpec *user; + char *servername; + protobuf_c_boolean missing_ok; +}; +#define PG_QUERY__DROP_USER_MAPPING_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_user_mapping_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0 } + + +struct PgQuery__ImportForeignSchemaStmt +{ + ProtobufCMessage base; + char *server_name; + char *remote_schema; + char *local_schema; + PgQuery__ImportForeignSchemaType list_type; + size_t n_table_list; + PgQuery__Node **table_list; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__IMPORT_FOREIGN_SCHEMA_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__import_foreign_schema_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__IMPORT_FOREIGN_SCHEMA_TYPE__IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED, 0,NULL, 0,NULL } + + +struct PgQuery__CreatePolicyStmt +{ + ProtobufCMessage base; + char *policy_name; + PgQuery__RangeVar *table; + char *cmd_name; + protobuf_c_boolean permissive; + size_t n_roles; + PgQuery__Node **roles; + PgQuery__Node *qual; + PgQuery__Node *with_check; }; #define PG_QUERY__CREATE_POLICY_STMT__INIT \ { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_policy_stmt__descriptor) \ @@ -4586,20 +5180,6 @@ struct PgQuery__AlterPolicyStmt , (char *)protobuf_c_empty_string, NULL, 0,NULL, NULL, NULL } -struct PgQuery__CreateTransformStmt -{ - ProtobufCMessage base; - protobuf_c_boolean replace; - PgQuery__TypeName *type_name; - char *lang; - PgQuery__ObjectWithArgs *fromsql; - PgQuery__ObjectWithArgs *tosql; -}; -#define PG_QUERY__CREATE_TRANSFORM_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_transform_stmt__descriptor) \ - , 0, NULL, (char *)protobuf_c_empty_string, NULL, NULL } - - struct PgQuery__CreateAmStmt { ProtobufCMessage base; @@ -4613,1118 +5193,1296 @@ struct PgQuery__CreateAmStmt , (char *)protobuf_c_empty_string, 0,NULL, (char *)protobuf_c_empty_string } -struct PgQuery__CreatePublicationStmt +struct PgQuery__CreateTrigStmt { ProtobufCMessage base; - char *pubname; - size_t n_options; - PgQuery__Node **options; - size_t n_pubobjects; - PgQuery__Node **pubobjects; - protobuf_c_boolean for_all_tables; + protobuf_c_boolean replace; + protobuf_c_boolean isconstraint; + char *trigname; + PgQuery__RangeVar *relation; + size_t n_funcname; + PgQuery__Node **funcname; + size_t n_args; + PgQuery__Node **args; + protobuf_c_boolean row; + int32_t timing; + int32_t events; + size_t n_columns; + PgQuery__Node **columns; + PgQuery__Node *when_clause; + size_t n_transition_rels; + PgQuery__Node **transition_rels; + protobuf_c_boolean deferrable; + protobuf_c_boolean initdeferred; + PgQuery__RangeVar *constrrel; }; -#define PG_QUERY__CREATE_PUBLICATION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_publication_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__CREATE_TRIG_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_trig_stmt__descriptor) \ + , 0, 0, (char *)protobuf_c_empty_string, NULL, 0,NULL, 0,NULL, 0, 0, 0, 0,NULL, NULL, 0,NULL, 0, 0, NULL } -struct PgQuery__AlterPublicationStmt +struct PgQuery__CreateEventTrigStmt { ProtobufCMessage base; - char *pubname; - size_t n_options; - PgQuery__Node **options; - size_t n_pubobjects; - PgQuery__Node **pubobjects; - protobuf_c_boolean for_all_tables; - PgQuery__AlterPublicationAction action; + char *trigname; + char *eventname; + size_t n_whenclause; + PgQuery__Node **whenclause; + size_t n_funcname; + PgQuery__Node **funcname; }; -#define PG_QUERY__ALTER_PUBLICATION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_publication_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, PG_QUERY__ALTER_PUBLICATION_ACTION__ALTER_PUBLICATION_ACTION_UNDEFINED } +#define PG_QUERY__CREATE_EVENT_TRIG_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_event_trig_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } -struct PgQuery__CreateSubscriptionStmt +struct PgQuery__AlterEventTrigStmt { ProtobufCMessage base; - char *subname; - char *conninfo; - size_t n_publication; - PgQuery__Node **publication; - size_t n_options; - PgQuery__Node **options; + char *trigname; + char *tgenabled; }; -#define PG_QUERY__CREATE_SUBSCRIPTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_subscription_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } +#define PG_QUERY__ALTER_EVENT_TRIG_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_event_trig_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } -struct PgQuery__AlterSubscriptionStmt +struct PgQuery__CreatePLangStmt { ProtobufCMessage base; - PgQuery__AlterSubscriptionType kind; - char *subname; - char *conninfo; - size_t n_publication; - PgQuery__Node **publication; - size_t n_options; - PgQuery__Node **options; + protobuf_c_boolean replace; + char *plname; + size_t n_plhandler; + PgQuery__Node **plhandler; + size_t n_plinline; + PgQuery__Node **plinline; + size_t n_plvalidator; + PgQuery__Node **plvalidator; + protobuf_c_boolean pltrusted; }; -#define PG_QUERY__ALTER_SUBSCRIPTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_subscription_stmt__descriptor) \ - , PG_QUERY__ALTER_SUBSCRIPTION_TYPE__ALTER_SUBSCRIPTION_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } +#define PG_QUERY__CREATE_PLANG_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_plang_stmt__descriptor) \ + , 0, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, 0 } -struct PgQuery__DropSubscriptionStmt +struct PgQuery__CreateRoleStmt { ProtobufCMessage base; - char *subname; - protobuf_c_boolean missing_ok; - PgQuery__DropBehavior behavior; + PgQuery__RoleStmtType stmt_type; + char *role; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__DROP_SUBSCRIPTION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_subscription_stmt__descriptor) \ - , (char *)protobuf_c_empty_string, 0, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } +#define PG_QUERY__CREATE_ROLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_role_stmt__descriptor) \ + , PG_QUERY__ROLE_STMT_TYPE__ROLE_STMT_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__CreateStatsStmt +struct PgQuery__AlterRoleStmt { ProtobufCMessage base; - size_t n_defnames; - PgQuery__Node **defnames; - size_t n_stat_types; - PgQuery__Node **stat_types; - size_t n_exprs; - PgQuery__Node **exprs; - size_t n_relations; - PgQuery__Node **relations; - char *stxcomment; - protobuf_c_boolean transformed; - protobuf_c_boolean if_not_exists; + PgQuery__RoleSpec *role; + size_t n_options; + PgQuery__Node **options; + int32_t action; }; -#define PG_QUERY__CREATE_STATS_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_stats_stmt__descriptor) \ - , 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0 } +#define PG_QUERY__ALTER_ROLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_role_stmt__descriptor) \ + , NULL, 0,NULL, 0 } -struct PgQuery__AlterCollationStmt +struct PgQuery__AlterRoleSetStmt { ProtobufCMessage base; - size_t n_collname; - PgQuery__Node **collname; + PgQuery__RoleSpec *role; + char *database; + PgQuery__VariableSetStmt *setstmt; }; -#define PG_QUERY__ALTER_COLLATION_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_collation_stmt__descriptor) \ - , 0,NULL } +#define PG_QUERY__ALTER_ROLE_SET_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_role_set_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, NULL } -struct PgQuery__CallStmt +struct PgQuery__DropRoleStmt { ProtobufCMessage base; - PgQuery__FuncCall *funccall; - PgQuery__FuncExpr *funcexpr; - size_t n_outargs; - PgQuery__Node **outargs; + size_t n_roles; + PgQuery__Node **roles; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__CALL_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__call_stmt__descriptor) \ - , NULL, NULL, 0,NULL } +#define PG_QUERY__DROP_ROLE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_role_stmt__descriptor) \ + , 0,NULL, 0 } -struct PgQuery__AlterStatsStmt +struct PgQuery__CreateSeqStmt { ProtobufCMessage base; - size_t n_defnames; - PgQuery__Node **defnames; - int32_t stxstattarget; - protobuf_c_boolean missing_ok; + PgQuery__RangeVar *sequence; + size_t n_options; + PgQuery__Node **options; + uint32_t owner_id; + protobuf_c_boolean for_identity; + protobuf_c_boolean if_not_exists; }; -#define PG_QUERY__ALTER_STATS_STMT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_stats_stmt__descriptor) \ - , 0,NULL, 0, 0 } +#define PG_QUERY__CREATE_SEQ_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_seq_stmt__descriptor) \ + , NULL, 0,NULL, 0, 0, 0 } -struct PgQuery__AExpr +struct PgQuery__AlterSeqStmt { ProtobufCMessage base; - PgQuery__AExprKind kind; - size_t n_name; - PgQuery__Node **name; - PgQuery__Node *lexpr; - PgQuery__Node *rexpr; - int32_t location; + PgQuery__RangeVar *sequence; + size_t n_options; + PgQuery__Node **options; + protobuf_c_boolean for_identity; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__A__EXPR__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__expr__descriptor) \ - , PG_QUERY__A__EXPR__KIND__A_EXPR_KIND_UNDEFINED, 0,NULL, NULL, NULL, 0 } +#define PG_QUERY__ALTER_SEQ_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_seq_stmt__descriptor) \ + , NULL, 0,NULL, 0, 0 } -struct PgQuery__ColumnRef +struct PgQuery__DefineStmt { ProtobufCMessage base; - size_t n_fields; - PgQuery__Node **fields; - int32_t location; + PgQuery__ObjectType kind; + protobuf_c_boolean oldstyle; + size_t n_defnames; + PgQuery__Node **defnames; + size_t n_args; + PgQuery__Node **args; + size_t n_definition; + PgQuery__Node **definition; + protobuf_c_boolean if_not_exists; + protobuf_c_boolean replace; }; -#define PG_QUERY__COLUMN_REF__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__column_ref__descriptor) \ - , 0,NULL, 0 } +#define PG_QUERY__DEFINE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__define_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, 0, 0 } -struct PgQuery__ParamRef +struct PgQuery__CreateDomainStmt { ProtobufCMessage base; - int32_t number; - int32_t location; + size_t n_domainname; + PgQuery__Node **domainname; + PgQuery__TypeName *type_name; + PgQuery__CollateClause *coll_clause; + size_t n_constraints; + PgQuery__Node **constraints; }; -#define PG_QUERY__PARAM_REF__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__param_ref__descriptor) \ - , 0, 0 } +#define PG_QUERY__CREATE_DOMAIN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_domain_stmt__descriptor) \ + , 0,NULL, NULL, NULL, 0,NULL } -struct PgQuery__FuncCall +struct PgQuery__CreateOpClassStmt { ProtobufCMessage base; - size_t n_funcname; - PgQuery__Node **funcname; - size_t n_args; - PgQuery__Node **args; - size_t n_agg_order; - PgQuery__Node **agg_order; - PgQuery__Node *agg_filter; - PgQuery__WindowDef *over; - protobuf_c_boolean agg_within_group; - protobuf_c_boolean agg_star; - protobuf_c_boolean agg_distinct; - protobuf_c_boolean func_variadic; - PgQuery__CoercionForm funcformat; - int32_t location; + size_t n_opclassname; + PgQuery__Node **opclassname; + size_t n_opfamilyname; + PgQuery__Node **opfamilyname; + char *amname; + PgQuery__TypeName *datatype; + size_t n_items; + PgQuery__Node **items; + protobuf_c_boolean is_default; }; -#define PG_QUERY__FUNC_CALL__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__func_call__descriptor) \ - , 0,NULL, 0,NULL, 0,NULL, NULL, NULL, 0, 0, 0, 0, PG_QUERY__COERCION_FORM__COERCION_FORM_UNDEFINED, 0 } +#define PG_QUERY__CREATE_OP_CLASS_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_class_stmt__descriptor) \ + , 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, NULL, 0,NULL, 0 } -struct PgQuery__AStar +struct PgQuery__CreateOpClassItem { ProtobufCMessage base; + int32_t itemtype; + PgQuery__ObjectWithArgs *name; + int32_t number; + size_t n_order_family; + PgQuery__Node **order_family; + size_t n_class_args; + PgQuery__Node **class_args; + PgQuery__TypeName *storedtype; }; -#define PG_QUERY__A__STAR__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__star__descriptor) \ - } +#define PG_QUERY__CREATE_OP_CLASS_ITEM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_class_item__descriptor) \ + , 0, NULL, 0, 0,NULL, 0,NULL, NULL } -struct PgQuery__AIndices +struct PgQuery__CreateOpFamilyStmt { ProtobufCMessage base; - protobuf_c_boolean is_slice; - PgQuery__Node *lidx; - PgQuery__Node *uidx; + size_t n_opfamilyname; + PgQuery__Node **opfamilyname; + char *amname; }; -#define PG_QUERY__A__INDICES__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__indices__descriptor) \ - , 0, NULL, NULL } +#define PG_QUERY__CREATE_OP_FAMILY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_family_stmt__descriptor) \ + , 0,NULL, (char *)protobuf_c_empty_string } -struct PgQuery__AIndirection +struct PgQuery__AlterOpFamilyStmt { ProtobufCMessage base; - PgQuery__Node *arg; - size_t n_indirection; - PgQuery__Node **indirection; + size_t n_opfamilyname; + PgQuery__Node **opfamilyname; + char *amname; + protobuf_c_boolean is_drop; + size_t n_items; + PgQuery__Node **items; }; -#define PG_QUERY__A__INDIRECTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__indirection__descriptor) \ - , NULL, 0,NULL } +#define PG_QUERY__ALTER_OP_FAMILY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_op_family_stmt__descriptor) \ + , 0,NULL, (char *)protobuf_c_empty_string, 0, 0,NULL } -struct PgQuery__AArrayExpr +struct PgQuery__DropStmt { ProtobufCMessage base; - size_t n_elements; - PgQuery__Node **elements; - int32_t location; + size_t n_objects; + PgQuery__Node **objects; + PgQuery__ObjectType remove_type; + PgQuery__DropBehavior behavior; + protobuf_c_boolean missing_ok; + protobuf_c_boolean concurrent; }; -#define PG_QUERY__A__ARRAY_EXPR__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__a__array_expr__descriptor) \ - , 0,NULL, 0 } +#define PG_QUERY__DROP_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_stmt__descriptor) \ + , 0,NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0, 0 } -struct PgQuery__ResTarget +struct PgQuery__TruncateStmt { ProtobufCMessage base; - char *name; - size_t n_indirection; - PgQuery__Node **indirection; - PgQuery__Node *val; - int32_t location; + size_t n_relations; + PgQuery__Node **relations; + protobuf_c_boolean restart_seqs; + PgQuery__DropBehavior behavior; }; -#define PG_QUERY__RES_TARGET__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__res_target__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, NULL, 0 } +#define PG_QUERY__TRUNCATE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__truncate_stmt__descriptor) \ + , 0,NULL, 0, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } -struct PgQuery__MultiAssignRef +struct PgQuery__CommentStmt { ProtobufCMessage base; - PgQuery__Node *source; - int32_t colno; - int32_t ncolumns; + PgQuery__ObjectType objtype; + PgQuery__Node *object; + char *comment; }; -#define PG_QUERY__MULTI_ASSIGN_REF__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__multi_assign_ref__descriptor) \ - , NULL, 0, 0 } +#define PG_QUERY__COMMENT_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__comment_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string } -struct PgQuery__TypeCast +struct PgQuery__SecLabelStmt { ProtobufCMessage base; - PgQuery__Node *arg; - PgQuery__TypeName *type_name; - int32_t location; + PgQuery__ObjectType objtype; + PgQuery__Node *object; + char *provider; + char *label; }; -#define PG_QUERY__TYPE_CAST__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__type_cast__descriptor) \ - , NULL, NULL, 0 } +#define PG_QUERY__SEC_LABEL_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__sec_label_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } -struct PgQuery__CollateClause +struct PgQuery__DeclareCursorStmt { ProtobufCMessage base; - PgQuery__Node *arg; - size_t n_collname; - PgQuery__Node **collname; - int32_t location; + char *portalname; + int32_t options; + PgQuery__Node *query; }; -#define PG_QUERY__COLLATE_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__collate_clause__descriptor) \ - , NULL, 0,NULL, 0 } +#define PG_QUERY__DECLARE_CURSOR_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__declare_cursor_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0, NULL } -struct PgQuery__SortBy +struct PgQuery__ClosePortalStmt { ProtobufCMessage base; - PgQuery__Node *node; - PgQuery__SortByDir sortby_dir; - PgQuery__SortByNulls sortby_nulls; - size_t n_use_op; - PgQuery__Node **use_op; - int32_t location; + char *portalname; }; -#define PG_QUERY__SORT_BY__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__sort_by__descriptor) \ - , NULL, PG_QUERY__SORT_BY_DIR__SORT_BY_DIR_UNDEFINED, PG_QUERY__SORT_BY_NULLS__SORT_BY_NULLS_UNDEFINED, 0,NULL, 0 } +#define PG_QUERY__CLOSE_PORTAL_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__close_portal_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } -struct PgQuery__WindowDef +struct PgQuery__FetchStmt { ProtobufCMessage base; - char *name; - char *refname; - size_t n_partition_clause; - PgQuery__Node **partition_clause; - size_t n_order_clause; - PgQuery__Node **order_clause; - int32_t frame_options; - PgQuery__Node *start_offset; - PgQuery__Node *end_offset; - int32_t location; + PgQuery__FetchDirection direction; + int64_t how_many; + char *portalname; + protobuf_c_boolean ismove; }; -#define PG_QUERY__WINDOW_DEF__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_def__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0 } +#define PG_QUERY__FETCH_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__fetch_stmt__descriptor) \ + , PG_QUERY__FETCH_DIRECTION__FETCH_DIRECTION_UNDEFINED, 0, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__RangeSubselect +struct PgQuery__IndexStmt { ProtobufCMessage base; - protobuf_c_boolean lateral; - PgQuery__Node *subquery; - PgQuery__Alias *alias; -}; -#define PG_QUERY__RANGE_SUBSELECT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_subselect__descriptor) \ - , 0, NULL, NULL } - - -struct PgQuery__RangeFunction -{ - ProtobufCMessage base; - protobuf_c_boolean lateral; - protobuf_c_boolean ordinality; - protobuf_c_boolean is_rowsfrom; - size_t n_functions; - PgQuery__Node **functions; - PgQuery__Alias *alias; - size_t n_coldeflist; - PgQuery__Node **coldeflist; + char *idxname; + PgQuery__RangeVar *relation; + char *access_method; + char *table_space; + size_t n_index_params; + PgQuery__Node **index_params; + size_t n_index_including_params; + PgQuery__Node **index_including_params; + size_t n_options; + PgQuery__Node **options; + PgQuery__Node *where_clause; + size_t n_exclude_op_names; + PgQuery__Node **exclude_op_names; + char *idxcomment; + uint32_t index_oid; + uint32_t old_number; + uint32_t old_create_subid; + uint32_t old_first_relfilelocator_subid; + protobuf_c_boolean unique; + protobuf_c_boolean nulls_not_distinct; + protobuf_c_boolean primary; + protobuf_c_boolean isconstraint; + protobuf_c_boolean deferrable; + protobuf_c_boolean initdeferred; + protobuf_c_boolean transformed; + protobuf_c_boolean concurrent; + protobuf_c_boolean if_not_exists; + protobuf_c_boolean reset_default_tblspc; }; -#define PG_QUERY__RANGE_FUNCTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_function__descriptor) \ - , 0, 0, 0, 0,NULL, NULL, 0,NULL } +#define PG_QUERY__INDEX_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__index_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } -struct PgQuery__RangeTableSample +struct PgQuery__CreateStatsStmt { ProtobufCMessage base; - PgQuery__Node *relation; - size_t n_method; - PgQuery__Node **method; - size_t n_args; - PgQuery__Node **args; - PgQuery__Node *repeatable; - int32_t location; + size_t n_defnames; + PgQuery__Node **defnames; + size_t n_stat_types; + PgQuery__Node **stat_types; + size_t n_exprs; + PgQuery__Node **exprs; + size_t n_relations; + PgQuery__Node **relations; + char *stxcomment; + protobuf_c_boolean transformed; + protobuf_c_boolean if_not_exists; }; -#define PG_QUERY__RANGE_TABLE_SAMPLE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_sample__descriptor) \ - , NULL, 0,NULL, 0,NULL, NULL, 0 } +#define PG_QUERY__CREATE_STATS_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_stats_stmt__descriptor) \ + , 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__RangeTableFunc +struct PgQuery__StatsElem { ProtobufCMessage base; - protobuf_c_boolean lateral; - PgQuery__Node *docexpr; - PgQuery__Node *rowexpr; - size_t n_namespaces; - PgQuery__Node **namespaces; - size_t n_columns; - PgQuery__Node **columns; - PgQuery__Alias *alias; - int32_t location; + char *name; + PgQuery__Node *expr; }; -#define PG_QUERY__RANGE_TABLE_FUNC__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_func__descriptor) \ - , 0, NULL, NULL, 0,NULL, 0,NULL, NULL, 0 } +#define PG_QUERY__STATS_ELEM__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__stats_elem__descriptor) \ + , (char *)protobuf_c_empty_string, NULL } -struct PgQuery__RangeTableFuncCol +struct PgQuery__AlterStatsStmt { ProtobufCMessage base; - char *colname; - PgQuery__TypeName *type_name; - protobuf_c_boolean for_ordinality; - protobuf_c_boolean is_not_null; - PgQuery__Node *colexpr; - PgQuery__Node *coldefexpr; - int32_t location; + size_t n_defnames; + PgQuery__Node **defnames; + PgQuery__Node *stxstattarget; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__RANGE_TABLE_FUNC_COL__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_table_func_col__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, 0, 0, NULL, NULL, 0 } +#define PG_QUERY__ALTER_STATS_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_stats_stmt__descriptor) \ + , 0,NULL, NULL, 0 } -struct PgQuery__TypeName +struct PgQuery__CreateFunctionStmt { ProtobufCMessage base; - size_t n_names; - PgQuery__Node **names; - uint32_t type_oid; - protobuf_c_boolean setof; - protobuf_c_boolean pct_type; - size_t n_typmods; - PgQuery__Node **typmods; - int32_t typemod; - size_t n_array_bounds; - PgQuery__Node **array_bounds; - int32_t location; + protobuf_c_boolean is_procedure; + protobuf_c_boolean replace; + size_t n_funcname; + PgQuery__Node **funcname; + size_t n_parameters; + PgQuery__Node **parameters; + PgQuery__TypeName *return_type; + size_t n_options; + PgQuery__Node **options; + PgQuery__Node *sql_body; }; -#define PG_QUERY__TYPE_NAME__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__type_name__descriptor) \ - , 0,NULL, 0, 0, 0, 0,NULL, 0, 0,NULL, 0 } +#define PG_QUERY__CREATE_FUNCTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_function_stmt__descriptor) \ + , 0, 0, 0,NULL, 0,NULL, NULL, 0,NULL, NULL } -struct PgQuery__ColumnDef +struct PgQuery__FunctionParameter { ProtobufCMessage base; - char *colname; - PgQuery__TypeName *type_name; - char *compression; - int32_t inhcount; - protobuf_c_boolean is_local; - protobuf_c_boolean is_not_null; - protobuf_c_boolean is_from_type; - char *storage; - PgQuery__Node *raw_default; - PgQuery__Node *cooked_default; - char *identity; - PgQuery__RangeVar *identity_sequence; - char *generated; - PgQuery__CollateClause *coll_clause; - uint32_t coll_oid; - size_t n_constraints; - PgQuery__Node **constraints; - size_t n_fdwoptions; - PgQuery__Node **fdwoptions; - int32_t location; + char *name; + PgQuery__TypeName *arg_type; + PgQuery__FunctionParameterMode mode; + PgQuery__Node *defexpr; }; -#define PG_QUERY__COLUMN_DEF__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__column_def__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, (char *)protobuf_c_empty_string, NULL, NULL, (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, NULL, 0, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__FUNCTION_PARAMETER__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__function_parameter__descriptor) \ + , (char *)protobuf_c_empty_string, NULL, PG_QUERY__FUNCTION_PARAMETER_MODE__FUNCTION_PARAMETER_MODE_UNDEFINED, NULL } -struct PgQuery__IndexElem +struct PgQuery__AlterFunctionStmt { ProtobufCMessage base; - char *name; - PgQuery__Node *expr; - char *indexcolname; - size_t n_collation; - PgQuery__Node **collation; - size_t n_opclass; - PgQuery__Node **opclass; - size_t n_opclassopts; - PgQuery__Node **opclassopts; - PgQuery__SortByDir ordering; - PgQuery__SortByNulls nulls_ordering; + PgQuery__ObjectType objtype; + PgQuery__ObjectWithArgs *func; + size_t n_actions; + PgQuery__Node **actions; }; -#define PG_QUERY__INDEX_ELEM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__index_elem__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0,NULL, PG_QUERY__SORT_BY_DIR__SORT_BY_DIR_UNDEFINED, PG_QUERY__SORT_BY_NULLS__SORT_BY_NULLS_UNDEFINED } +#define PG_QUERY__ALTER_FUNCTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_function_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, 0,NULL } -struct PgQuery__StatsElem +struct PgQuery__DoStmt { ProtobufCMessage base; - char *name; - PgQuery__Node *expr; + size_t n_args; + PgQuery__Node **args; }; -#define PG_QUERY__STATS_ELEM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__stats_elem__descriptor) \ - , (char *)protobuf_c_empty_string, NULL } +#define PG_QUERY__DO_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__do_stmt__descriptor) \ + , 0,NULL } -struct PgQuery__Constraint +struct PgQuery__InlineCodeBlock { ProtobufCMessage base; - PgQuery__ConstrType contype; - char *conname; - protobuf_c_boolean deferrable; - protobuf_c_boolean initdeferred; - int32_t location; - protobuf_c_boolean is_no_inherit; - PgQuery__Node *raw_expr; - char *cooked_expr; - char *generated_when; - protobuf_c_boolean nulls_not_distinct; - size_t n_keys; - PgQuery__Node **keys; - size_t n_including; - PgQuery__Node **including; - size_t n_exclusions; - PgQuery__Node **exclusions; - size_t n_options; - PgQuery__Node **options; - char *indexname; - char *indexspace; - protobuf_c_boolean reset_default_tblspc; - char *access_method; - PgQuery__Node *where_clause; - PgQuery__RangeVar *pktable; - size_t n_fk_attrs; - PgQuery__Node **fk_attrs; - size_t n_pk_attrs; - PgQuery__Node **pk_attrs; - char *fk_matchtype; - char *fk_upd_action; - char *fk_del_action; - size_t n_fk_del_set_cols; - PgQuery__Node **fk_del_set_cols; - size_t n_old_conpfeqop; - PgQuery__Node **old_conpfeqop; - uint32_t old_pktable_oid; - protobuf_c_boolean skip_validation; - protobuf_c_boolean initially_valid; + char *source_text; + uint32_t lang_oid; + protobuf_c_boolean lang_is_trusted; + protobuf_c_boolean atomic; }; -#define PG_QUERY__CONSTRAINT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__constraint__descriptor) \ - , PG_QUERY__CONSTR_TYPE__CONSTR_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0, 0, 0, 0, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, (char *)protobuf_c_empty_string, NULL, NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, 0, 0 } +#define PG_QUERY__INLINE_CODE_BLOCK__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__inline_code_block__descriptor) \ + , (char *)protobuf_c_empty_string, 0, 0, 0 } -struct PgQuery__DefElem +struct PgQuery__CallStmt { ProtobufCMessage base; - char *defnamespace; - char *defname; - PgQuery__Node *arg; - PgQuery__DefElemAction defaction; - int32_t location; + PgQuery__FuncCall *funccall; + PgQuery__FuncExpr *funcexpr; + size_t n_outargs; + PgQuery__Node **outargs; }; -#define PG_QUERY__DEF_ELEM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__def_elem__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL, PG_QUERY__DEF_ELEM_ACTION__DEF_ELEM_ACTION_UNDEFINED, 0 } +#define PG_QUERY__CALL_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__call_stmt__descriptor) \ + , NULL, NULL, 0,NULL } -struct PgQuery__RangeTblEntry +struct PgQuery__CallContext { ProtobufCMessage base; - PgQuery__RTEKind rtekind; - uint32_t relid; - char *relkind; - int32_t rellockmode; - PgQuery__TableSampleClause *tablesample; - PgQuery__Query *subquery; - protobuf_c_boolean security_barrier; - PgQuery__JoinType jointype; - int32_t joinmergedcols; - size_t n_joinaliasvars; - PgQuery__Node **joinaliasvars; - size_t n_joinleftcols; - PgQuery__Node **joinleftcols; - size_t n_joinrightcols; - PgQuery__Node **joinrightcols; - PgQuery__Alias *join_using_alias; - size_t n_functions; - PgQuery__Node **functions; - protobuf_c_boolean funcordinality; - PgQuery__TableFunc *tablefunc; - size_t n_values_lists; - PgQuery__Node **values_lists; - char *ctename; - uint32_t ctelevelsup; - protobuf_c_boolean self_reference; - size_t n_coltypes; - PgQuery__Node **coltypes; - size_t n_coltypmods; - PgQuery__Node **coltypmods; - size_t n_colcollations; - PgQuery__Node **colcollations; - char *enrname; - double enrtuples; - PgQuery__Alias *alias; - PgQuery__Alias *eref; - protobuf_c_boolean lateral; - protobuf_c_boolean inh; - protobuf_c_boolean in_from_cl; - uint32_t required_perms; - uint32_t check_as_user; - size_t n_selected_cols; - uint64_t *selected_cols; - size_t n_inserted_cols; - uint64_t *inserted_cols; - size_t n_updated_cols; - uint64_t *updated_cols; - size_t n_extra_updated_cols; - uint64_t *extra_updated_cols; - size_t n_security_quals; - PgQuery__Node **security_quals; + protobuf_c_boolean atomic; }; -#define PG_QUERY__RANGE_TBL_ENTRY__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_tbl_entry__descriptor) \ - , PG_QUERY__RTEKIND__RTEKIND_UNDEFINED, 0, (char *)protobuf_c_empty_string, 0, NULL, NULL, 0, PG_QUERY__JOIN_TYPE__JOIN_TYPE_UNDEFINED, 0, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0, NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, 0, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string, 0, NULL, NULL, 0, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL } +#define PG_QUERY__CALL_CONTEXT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__call_context__descriptor) \ + , 0 } -struct PgQuery__RangeTblFunction +struct PgQuery__RenameStmt { ProtobufCMessage base; - PgQuery__Node *funcexpr; - int32_t funccolcount; - size_t n_funccolnames; - PgQuery__Node **funccolnames; - size_t n_funccoltypes; - PgQuery__Node **funccoltypes; - size_t n_funccoltypmods; - PgQuery__Node **funccoltypmods; - size_t n_funccolcollations; - PgQuery__Node **funccolcollations; - size_t n_funcparams; - uint64_t *funcparams; + PgQuery__ObjectType rename_type; + PgQuery__ObjectType relation_type; + PgQuery__RangeVar *relation; + PgQuery__Node *object; + char *subname; + char *newname; + PgQuery__DropBehavior behavior; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__RANGE_TBL_FUNCTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__range_tbl_function__descriptor) \ - , NULL, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL } +#define PG_QUERY__RENAME_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__rename_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED, 0 } -struct PgQuery__TableSampleClause +struct PgQuery__AlterObjectDependsStmt { ProtobufCMessage base; - uint32_t tsmhandler; - size_t n_args; - PgQuery__Node **args; - PgQuery__Node *repeatable; + PgQuery__ObjectType object_type; + PgQuery__RangeVar *relation; + PgQuery__Node *object; + PgQuery__String *extname; + protobuf_c_boolean remove; }; -#define PG_QUERY__TABLE_SAMPLE_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_sample_clause__descriptor) \ - , 0, 0,NULL, NULL } +#define PG_QUERY__ALTER_OBJECT_DEPENDS_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_object_depends_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, NULL, 0 } -struct PgQuery__WithCheckOption +struct PgQuery__AlterObjectSchemaStmt { ProtobufCMessage base; - PgQuery__WCOKind kind; - char *relname; - char *polname; - PgQuery__Node *qual; - protobuf_c_boolean cascaded; + PgQuery__ObjectType object_type; + PgQuery__RangeVar *relation; + PgQuery__Node *object; + char *newschema; + protobuf_c_boolean missing_ok; }; -#define PG_QUERY__WITH_CHECK_OPTION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__with_check_option__descriptor) \ - , PG_QUERY__WCOKIND__WCOKIND_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, NULL, 0 } +#define PG_QUERY__ALTER_OBJECT_SCHEMA_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_object_schema_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, (char *)protobuf_c_empty_string, 0 } -struct PgQuery__SortGroupClause +struct PgQuery__AlterOwnerStmt { ProtobufCMessage base; - uint32_t tle_sort_group_ref; - uint32_t eqop; - uint32_t sortop; - protobuf_c_boolean nulls_first; - protobuf_c_boolean hashable; + PgQuery__ObjectType object_type; + PgQuery__RangeVar *relation; + PgQuery__Node *object; + PgQuery__RoleSpec *newowner; }; -#define PG_QUERY__SORT_GROUP_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__sort_group_clause__descriptor) \ - , 0, 0, 0, 0, 0 } +#define PG_QUERY__ALTER_OWNER_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_owner_stmt__descriptor) \ + , PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, NULL, NULL, NULL } -struct PgQuery__GroupingSet +struct PgQuery__AlterOperatorStmt { ProtobufCMessage base; - PgQuery__GroupingSetKind kind; - size_t n_content; - PgQuery__Node **content; - int32_t location; + PgQuery__ObjectWithArgs *opername; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__GROUPING_SET__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__grouping_set__descriptor) \ - , PG_QUERY__GROUPING_SET_KIND__GROUPING_SET_KIND_UNDEFINED, 0,NULL, 0 } +#define PG_QUERY__ALTER_OPERATOR_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_operator_stmt__descriptor) \ + , NULL, 0,NULL } -struct PgQuery__WindowClause +struct PgQuery__AlterTypeStmt { ProtobufCMessage base; - char *name; - char *refname; - size_t n_partition_clause; - PgQuery__Node **partition_clause; - size_t n_order_clause; - PgQuery__Node **order_clause; - int32_t frame_options; - PgQuery__Node *start_offset; - PgQuery__Node *end_offset; - size_t n_run_condition; - PgQuery__Node **run_condition; - uint32_t start_in_range_func; - uint32_t end_in_range_func; - uint32_t in_range_coll; - protobuf_c_boolean in_range_asc; - protobuf_c_boolean in_range_nulls_first; - uint32_t winref; - protobuf_c_boolean copied_order; + size_t n_type_name; + PgQuery__Node **type_name; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__WINDOW_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__window_clause__descriptor) \ - , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, NULL, NULL, 0,NULL, 0, 0, 0, 0, 0, 0, 0 } +#define PG_QUERY__ALTER_TYPE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_type_stmt__descriptor) \ + , 0,NULL, 0,NULL } -struct PgQuery__ObjectWithArgs +struct PgQuery__RuleStmt { ProtobufCMessage base; - size_t n_objname; - PgQuery__Node **objname; - size_t n_objargs; - PgQuery__Node **objargs; - size_t n_objfuncargs; - PgQuery__Node **objfuncargs; - protobuf_c_boolean args_unspecified; + PgQuery__RangeVar *relation; + char *rulename; + PgQuery__Node *where_clause; + PgQuery__CmdType event; + protobuf_c_boolean instead; + size_t n_actions; + PgQuery__Node **actions; + protobuf_c_boolean replace; }; -#define PG_QUERY__OBJECT_WITH_ARGS__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__object_with_args__descriptor) \ - , 0,NULL, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__RULE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__rule_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, NULL, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, 0, 0,NULL, 0 } -struct PgQuery__AccessPriv +struct PgQuery__NotifyStmt { ProtobufCMessage base; - char *priv_name; - size_t n_cols; - PgQuery__Node **cols; + char *conditionname; + char *payload; }; -#define PG_QUERY__ACCESS_PRIV__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__access_priv__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL } +#define PG_QUERY__NOTIFY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__notify_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } -struct PgQuery__CreateOpClassItem +struct PgQuery__ListenStmt { ProtobufCMessage base; - int32_t itemtype; - PgQuery__ObjectWithArgs *name; - int32_t number; - size_t n_order_family; - PgQuery__Node **order_family; - size_t n_class_args; - PgQuery__Node **class_args; - PgQuery__TypeName *storedtype; + char *conditionname; }; -#define PG_QUERY__CREATE_OP_CLASS_ITEM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_op_class_item__descriptor) \ - , 0, NULL, 0, 0,NULL, 0,NULL, NULL } +#define PG_QUERY__LISTEN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__listen_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } -struct PgQuery__TableLikeClause +struct PgQuery__UnlistenStmt { ProtobufCMessage base; - PgQuery__RangeVar *relation; - uint32_t options; - uint32_t relation_oid; + char *conditionname; }; -#define PG_QUERY__TABLE_LIKE_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__table_like_clause__descriptor) \ - , NULL, 0, 0 } - - -struct PgQuery__FunctionParameter +#define PG_QUERY__UNLISTEN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__unlisten_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } + + +struct PgQuery__TransactionStmt { ProtobufCMessage base; - char *name; - PgQuery__TypeName *arg_type; - PgQuery__FunctionParameterMode mode; - PgQuery__Node *defexpr; + PgQuery__TransactionStmtKind kind; + size_t n_options; + PgQuery__Node **options; + char *savepoint_name; + char *gid; + protobuf_c_boolean chain; + int32_t location; }; -#define PG_QUERY__FUNCTION_PARAMETER__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__function_parameter__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, PG_QUERY__FUNCTION_PARAMETER_MODE__FUNCTION_PARAMETER_MODE_UNDEFINED, NULL } +#define PG_QUERY__TRANSACTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__transaction_stmt__descriptor) \ + , PG_QUERY__TRANSACTION_STMT_KIND__TRANSACTION_STMT_KIND_UNDEFINED, 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__LockingClause +struct PgQuery__CompositeTypeStmt { ProtobufCMessage base; - size_t n_locked_rels; - PgQuery__Node **locked_rels; - PgQuery__LockClauseStrength strength; - PgQuery__LockWaitPolicy wait_policy; + PgQuery__RangeVar *typevar; + size_t n_coldeflist; + PgQuery__Node **coldeflist; }; -#define PG_QUERY__LOCKING_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__locking_clause__descriptor) \ - , 0,NULL, PG_QUERY__LOCK_CLAUSE_STRENGTH__LOCK_CLAUSE_STRENGTH_UNDEFINED, PG_QUERY__LOCK_WAIT_POLICY__LOCK_WAIT_POLICY_UNDEFINED } +#define PG_QUERY__COMPOSITE_TYPE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__composite_type_stmt__descriptor) \ + , NULL, 0,NULL } -struct PgQuery__RowMarkClause +struct PgQuery__CreateEnumStmt { ProtobufCMessage base; - uint32_t rti; - PgQuery__LockClauseStrength strength; - PgQuery__LockWaitPolicy wait_policy; - protobuf_c_boolean pushed_down; + size_t n_type_name; + PgQuery__Node **type_name; + size_t n_vals; + PgQuery__Node **vals; }; -#define PG_QUERY__ROW_MARK_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__row_mark_clause__descriptor) \ - , 0, PG_QUERY__LOCK_CLAUSE_STRENGTH__LOCK_CLAUSE_STRENGTH_UNDEFINED, PG_QUERY__LOCK_WAIT_POLICY__LOCK_WAIT_POLICY_UNDEFINED, 0 } +#define PG_QUERY__CREATE_ENUM_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_enum_stmt__descriptor) \ + , 0,NULL, 0,NULL } -struct PgQuery__XmlSerialize +struct PgQuery__CreateRangeStmt { ProtobufCMessage base; - PgQuery__XmlOptionType xmloption; - PgQuery__Node *expr; - PgQuery__TypeName *type_name; - int32_t location; + size_t n_type_name; + PgQuery__Node **type_name; + size_t n_params; + PgQuery__Node **params; }; -#define PG_QUERY__XML_SERIALIZE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__xml_serialize__descriptor) \ - , PG_QUERY__XML_OPTION_TYPE__XML_OPTION_TYPE_UNDEFINED, NULL, NULL, 0 } +#define PG_QUERY__CREATE_RANGE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_range_stmt__descriptor) \ + , 0,NULL, 0,NULL } -struct PgQuery__WithClause +struct PgQuery__AlterEnumStmt { ProtobufCMessage base; - size_t n_ctes; - PgQuery__Node **ctes; - protobuf_c_boolean recursive; - int32_t location; + size_t n_type_name; + PgQuery__Node **type_name; + char *old_val; + char *new_val; + char *new_val_neighbor; + protobuf_c_boolean new_val_is_after; + protobuf_c_boolean skip_if_new_val_exists; }; -#define PG_QUERY__WITH_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__with_clause__descriptor) \ - , 0,NULL, 0, 0 } +#define PG_QUERY__ALTER_ENUM_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_enum_stmt__descriptor) \ + , 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__InferClause +struct PgQuery__ViewStmt { ProtobufCMessage base; - size_t n_index_elems; - PgQuery__Node **index_elems; - PgQuery__Node *where_clause; - char *conname; - int32_t location; + PgQuery__RangeVar *view; + size_t n_aliases; + PgQuery__Node **aliases; + PgQuery__Node *query; + protobuf_c_boolean replace; + size_t n_options; + PgQuery__Node **options; + PgQuery__ViewCheckOption with_check_option; }; -#define PG_QUERY__INFER_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__infer_clause__descriptor) \ - , 0,NULL, NULL, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__VIEW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__view_stmt__descriptor) \ + , NULL, 0,NULL, NULL, 0, 0,NULL, PG_QUERY__VIEW_CHECK_OPTION__VIEW_CHECK_OPTION_UNDEFINED } -struct PgQuery__OnConflictClause +struct PgQuery__LoadStmt { ProtobufCMessage base; - PgQuery__OnConflictAction action; - PgQuery__InferClause *infer; - size_t n_target_list; - PgQuery__Node **target_list; - PgQuery__Node *where_clause; - int32_t location; + char *filename; }; -#define PG_QUERY__ON_CONFLICT_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__on_conflict_clause__descriptor) \ - , PG_QUERY__ON_CONFLICT_ACTION__ON_CONFLICT_ACTION_UNDEFINED, NULL, 0,NULL, NULL, 0 } +#define PG_QUERY__LOAD_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__load_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } -struct PgQuery__CTESearchClause +struct PgQuery__CreatedbStmt { ProtobufCMessage base; - size_t n_search_col_list; - PgQuery__Node **search_col_list; - protobuf_c_boolean search_breadth_first; - char *search_seq_column; - int32_t location; + char *dbname; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__CTESEARCH_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__ctesearch_clause__descriptor) \ - , 0,NULL, 0, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__CREATEDB_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__createdb_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__CTECycleClause +struct PgQuery__AlterDatabaseStmt { ProtobufCMessage base; - size_t n_cycle_col_list; - PgQuery__Node **cycle_col_list; - char *cycle_mark_column; - PgQuery__Node *cycle_mark_value; - PgQuery__Node *cycle_mark_default; - char *cycle_path_column; - int32_t location; - uint32_t cycle_mark_type; - int32_t cycle_mark_typmod; - uint32_t cycle_mark_collation; - uint32_t cycle_mark_neop; + char *dbname; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__CTECYCLE_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__ctecycle_clause__descriptor) \ - , 0,NULL, (char *)protobuf_c_empty_string, NULL, NULL, (char *)protobuf_c_empty_string, 0, 0, 0, 0, 0 } +#define PG_QUERY__ALTER_DATABASE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__CommonTableExpr +struct PgQuery__AlterDatabaseRefreshCollStmt { ProtobufCMessage base; - char *ctename; - size_t n_aliascolnames; - PgQuery__Node **aliascolnames; - PgQuery__CTEMaterialize ctematerialized; - PgQuery__Node *ctequery; - PgQuery__CTESearchClause *search_clause; - PgQuery__CTECycleClause *cycle_clause; - int32_t location; - protobuf_c_boolean cterecursive; - int32_t cterefcount; - size_t n_ctecolnames; - PgQuery__Node **ctecolnames; - size_t n_ctecoltypes; - PgQuery__Node **ctecoltypes; - size_t n_ctecoltypmods; - PgQuery__Node **ctecoltypmods; - size_t n_ctecolcollations; - PgQuery__Node **ctecolcollations; + char *dbname; }; -#define PG_QUERY__COMMON_TABLE_EXPR__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__common_table_expr__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, PG_QUERY__CTEMATERIALIZE__CTEMATERIALIZE_UNDEFINED, NULL, NULL, NULL, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL } +#define PG_QUERY__ALTER_DATABASE_REFRESH_COLL_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_refresh_coll_stmt__descriptor) \ + , (char *)protobuf_c_empty_string } -struct PgQuery__MergeWhenClause +struct PgQuery__AlterDatabaseSetStmt { ProtobufCMessage base; - protobuf_c_boolean matched; - PgQuery__CmdType command_type; - PgQuery__OverridingKind override; - PgQuery__Node *condition; - size_t n_target_list; - PgQuery__Node **target_list; - size_t n_values; - PgQuery__Node **values; + char *dbname; + PgQuery__VariableSetStmt *setstmt; }; -#define PG_QUERY__MERGE_WHEN_CLAUSE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__merge_when_clause__descriptor) \ - , 0, PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED, PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED, NULL, 0,NULL, 0,NULL } +#define PG_QUERY__ALTER_DATABASE_SET_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_database_set_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, NULL } -struct PgQuery__RoleSpec +struct PgQuery__DropdbStmt { ProtobufCMessage base; - PgQuery__RoleSpecType roletype; - char *rolename; - int32_t location; + char *dbname; + protobuf_c_boolean missing_ok; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__ROLE_SPEC__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__role_spec__descriptor) \ - , PG_QUERY__ROLE_SPEC_TYPE__ROLE_SPEC_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, 0 } +#define PG_QUERY__DROPDB_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__dropdb_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0, 0,NULL } -struct PgQuery__TriggerTransition +struct PgQuery__AlterSystemStmt { ProtobufCMessage base; - char *name; - protobuf_c_boolean is_new; - protobuf_c_boolean is_table; + PgQuery__VariableSetStmt *setstmt; }; -#define PG_QUERY__TRIGGER_TRANSITION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__trigger_transition__descriptor) \ - , (char *)protobuf_c_empty_string, 0, 0 } +#define PG_QUERY__ALTER_SYSTEM_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_system_stmt__descriptor) \ + , NULL } -struct PgQuery__PartitionElem +struct PgQuery__ClusterStmt { ProtobufCMessage base; - char *name; - PgQuery__Node *expr; - size_t n_collation; - PgQuery__Node **collation; - size_t n_opclass; - PgQuery__Node **opclass; - int32_t location; + PgQuery__RangeVar *relation; + char *indexname; + size_t n_params; + PgQuery__Node **params; }; -#define PG_QUERY__PARTITION_ELEM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_elem__descriptor) \ - , (char *)protobuf_c_empty_string, NULL, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__CLUSTER_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__cluster_stmt__descriptor) \ + , NULL, (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__PartitionSpec +struct PgQuery__VacuumStmt { ProtobufCMessage base; - char *strategy; - size_t n_part_params; - PgQuery__Node **part_params; - int32_t location; + size_t n_options; + PgQuery__Node **options; + size_t n_rels; + PgQuery__Node **rels; + protobuf_c_boolean is_vacuumcmd; }; -#define PG_QUERY__PARTITION_SPEC__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_spec__descriptor) \ - , (char *)protobuf_c_empty_string, 0,NULL, 0 } +#define PG_QUERY__VACUUM_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__vacuum_stmt__descriptor) \ + , 0,NULL, 0,NULL, 0 } -struct PgQuery__PartitionBoundSpec +struct PgQuery__VacuumRelation { ProtobufCMessage base; - char *strategy; - protobuf_c_boolean is_default; - int32_t modulus; - int32_t remainder; - size_t n_listdatums; - PgQuery__Node **listdatums; - size_t n_lowerdatums; - PgQuery__Node **lowerdatums; - size_t n_upperdatums; - PgQuery__Node **upperdatums; - int32_t location; + PgQuery__RangeVar *relation; + uint32_t oid; + size_t n_va_cols; + PgQuery__Node **va_cols; }; -#define PG_QUERY__PARTITION_BOUND_SPEC__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_bound_spec__descriptor) \ - , (char *)protobuf_c_empty_string, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0 } +#define PG_QUERY__VACUUM_RELATION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__vacuum_relation__descriptor) \ + , NULL, 0, 0,NULL } -struct PgQuery__PartitionRangeDatum +struct PgQuery__ExplainStmt { ProtobufCMessage base; - PgQuery__PartitionRangeDatumKind kind; - PgQuery__Node *value; - int32_t location; + PgQuery__Node *query; + size_t n_options; + PgQuery__Node **options; }; -#define PG_QUERY__PARTITION_RANGE_DATUM__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_range_datum__descriptor) \ - , PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_KIND_UNDEFINED, NULL, 0 } +#define PG_QUERY__EXPLAIN_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__explain_stmt__descriptor) \ + , NULL, 0,NULL } -struct PgQuery__PartitionCmd +struct PgQuery__CreateTableAsStmt +{ + ProtobufCMessage base; + PgQuery__Node *query; + PgQuery__IntoClause *into; + PgQuery__ObjectType objtype; + protobuf_c_boolean is_select_into; + protobuf_c_boolean if_not_exists; +}; +#define PG_QUERY__CREATE_TABLE_AS_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_table_as_stmt__descriptor) \ + , NULL, NULL, PG_QUERY__OBJECT_TYPE__OBJECT_TYPE_UNDEFINED, 0, 0 } + + +struct PgQuery__RefreshMatViewStmt { ProtobufCMessage base; - PgQuery__RangeVar *name; - PgQuery__PartitionBoundSpec *bound; protobuf_c_boolean concurrent; + protobuf_c_boolean skip_data; + PgQuery__RangeVar *relation; }; -#define PG_QUERY__PARTITION_CMD__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__partition_cmd__descriptor) \ - , NULL, NULL, 0 } +#define PG_QUERY__REFRESH_MAT_VIEW_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__refresh_mat_view_stmt__descriptor) \ + , 0, 0, NULL } -struct PgQuery__VacuumRelation +struct PgQuery__CheckPointStmt +{ + ProtobufCMessage base; +}; +#define PG_QUERY__CHECK_POINT_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__check_point_stmt__descriptor) \ + } + + +struct PgQuery__DiscardStmt +{ + ProtobufCMessage base; + PgQuery__DiscardMode target; +}; +#define PG_QUERY__DISCARD_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__discard_stmt__descriptor) \ + , PG_QUERY__DISCARD_MODE__DISCARD_MODE_UNDEFINED } + + +struct PgQuery__LockStmt { ProtobufCMessage base; + size_t n_relations; + PgQuery__Node **relations; + int32_t mode; + protobuf_c_boolean nowait; +}; +#define PG_QUERY__LOCK_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__lock_stmt__descriptor) \ + , 0,NULL, 0, 0 } + + +struct PgQuery__ConstraintsSetStmt +{ + ProtobufCMessage base; + size_t n_constraints; + PgQuery__Node **constraints; + protobuf_c_boolean deferred; +}; +#define PG_QUERY__CONSTRAINTS_SET_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__constraints_set_stmt__descriptor) \ + , 0,NULL, 0 } + + +struct PgQuery__ReindexStmt +{ + ProtobufCMessage base; + PgQuery__ReindexObjectType kind; PgQuery__RangeVar *relation; - uint32_t oid; - size_t n_va_cols; - PgQuery__Node **va_cols; + char *name; + size_t n_params; + PgQuery__Node **params; }; -#define PG_QUERY__VACUUM_RELATION__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__vacuum_relation__descriptor) \ - , NULL, 0, 0,NULL } +#define PG_QUERY__REINDEX_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__reindex_stmt__descriptor) \ + , PG_QUERY__REINDEX_OBJECT_TYPE__REINDEX_OBJECT_TYPE_UNDEFINED, NULL, (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__PublicationObjSpec +struct PgQuery__CreateConversionStmt +{ + ProtobufCMessage base; + size_t n_conversion_name; + PgQuery__Node **conversion_name; + char *for_encoding_name; + char *to_encoding_name; + size_t n_func_name; + PgQuery__Node **func_name; + protobuf_c_boolean def; +}; +#define PG_QUERY__CREATE_CONVERSION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_conversion_stmt__descriptor) \ + , 0,NULL, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0 } + + +struct PgQuery__CreateCastStmt +{ + ProtobufCMessage base; + PgQuery__TypeName *sourcetype; + PgQuery__TypeName *targettype; + PgQuery__ObjectWithArgs *func; + PgQuery__CoercionContext context; + protobuf_c_boolean inout; +}; +#define PG_QUERY__CREATE_CAST_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_cast_stmt__descriptor) \ + , NULL, NULL, NULL, PG_QUERY__COERCION_CONTEXT__COERCION_CONTEXT_UNDEFINED, 0 } + + +struct PgQuery__CreateTransformStmt +{ + ProtobufCMessage base; + protobuf_c_boolean replace; + PgQuery__TypeName *type_name; + char *lang; + PgQuery__ObjectWithArgs *fromsql; + PgQuery__ObjectWithArgs *tosql; +}; +#define PG_QUERY__CREATE_TRANSFORM_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_transform_stmt__descriptor) \ + , 0, NULL, (char *)protobuf_c_empty_string, NULL, NULL } + + +struct PgQuery__PrepareStmt { ProtobufCMessage base; - PgQuery__PublicationObjSpecType pubobjtype; char *name; - PgQuery__PublicationTable *pubtable; - int32_t location; + size_t n_argtypes; + PgQuery__Node **argtypes; + PgQuery__Node *query; }; -#define PG_QUERY__PUBLICATION_OBJ_SPEC__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__publication_obj_spec__descriptor) \ - , PG_QUERY__PUBLICATION_OBJ_SPEC_TYPE__PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, NULL, 0 } +#define PG_QUERY__PREPARE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__prepare_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, NULL } -struct PgQuery__PublicationTable +struct PgQuery__ExecuteStmt { ProtobufCMessage base; - PgQuery__RangeVar *relation; - PgQuery__Node *where_clause; - size_t n_columns; - PgQuery__Node **columns; + char *name; + size_t n_params; + PgQuery__Node **params; }; -#define PG_QUERY__PUBLICATION_TABLE__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__publication_table__descriptor) \ - , NULL, NULL, 0,NULL } +#define PG_QUERY__EXECUTE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__execute_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL } -struct PgQuery__InlineCodeBlock +struct PgQuery__DeallocateStmt { ProtobufCMessage base; - char *source_text; - uint32_t lang_oid; - protobuf_c_boolean lang_is_trusted; - protobuf_c_boolean atomic; + char *name; + protobuf_c_boolean isall; + int32_t location; }; -#define PG_QUERY__INLINE_CODE_BLOCK__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__inline_code_block__descriptor) \ - , (char *)protobuf_c_empty_string, 0, 0, 0 } +#define PG_QUERY__DEALLOCATE_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__deallocate_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0, 0 } -struct PgQuery__CallContext +struct PgQuery__DropOwnedStmt { ProtobufCMessage base; - protobuf_c_boolean atomic; + size_t n_roles; + PgQuery__Node **roles; + PgQuery__DropBehavior behavior; }; -#define PG_QUERY__CALL_CONTEXT__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__call_context__descriptor) \ - , 0 } +#define PG_QUERY__DROP_OWNED_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_owned_stmt__descriptor) \ + , 0,NULL, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } -struct PgQuery__ScanToken +struct PgQuery__ReassignOwnedStmt { ProtobufCMessage base; - int32_t start; - int32_t end; - PgQuery__Token token; - PgQuery__KeywordKind keyword_kind; + size_t n_roles; + PgQuery__Node **roles; + PgQuery__RoleSpec *newrole; }; -#define PG_QUERY__SCAN_TOKEN__INIT \ - { PROTOBUF_C_MESSAGE_INIT (&pg_query__scan_token__descriptor) \ - , 0, 0, PG_QUERY__TOKEN__NUL, PG_QUERY__KEYWORD_KIND__NO_KEYWORD } +#define PG_QUERY__REASSIGN_OWNED_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__reassign_owned_stmt__descriptor) \ + , 0,NULL, NULL } -/* PgQuery__ParseResult methods */ -void pg_query__parse_result__init - (PgQuery__ParseResult *message); -size_t pg_query__parse_result__get_packed_size - (const PgQuery__ParseResult *message); -size_t pg_query__parse_result__pack - (const PgQuery__ParseResult *message, - uint8_t *out); +struct PgQuery__AlterTSDictionaryStmt +{ + ProtobufCMessage base; + size_t n_dictname; + PgQuery__Node **dictname; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__ALTER_TSDICTIONARY_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_tsdictionary_stmt__descriptor) \ + , 0,NULL, 0,NULL } + + +struct PgQuery__AlterTSConfigurationStmt +{ + ProtobufCMessage base; + PgQuery__AlterTSConfigType kind; + size_t n_cfgname; + PgQuery__Node **cfgname; + size_t n_tokentype; + PgQuery__Node **tokentype; + size_t n_dicts; + PgQuery__Node **dicts; + protobuf_c_boolean override; + protobuf_c_boolean replace; + protobuf_c_boolean missing_ok; +}; +#define PG_QUERY__ALTER_TSCONFIGURATION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_tsconfiguration_stmt__descriptor) \ + , PG_QUERY__ALTER_TSCONFIG_TYPE__ALTER_TSCONFIG_TYPE_UNDEFINED, 0,NULL, 0,NULL, 0,NULL, 0, 0, 0 } + + +struct PgQuery__PublicationTable +{ + ProtobufCMessage base; + PgQuery__RangeVar *relation; + PgQuery__Node *where_clause; + size_t n_columns; + PgQuery__Node **columns; +}; +#define PG_QUERY__PUBLICATION_TABLE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__publication_table__descriptor) \ + , NULL, NULL, 0,NULL } + + +struct PgQuery__PublicationObjSpec +{ + ProtobufCMessage base; + PgQuery__PublicationObjSpecType pubobjtype; + char *name; + PgQuery__PublicationTable *pubtable; + int32_t location; +}; +#define PG_QUERY__PUBLICATION_OBJ_SPEC__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__publication_obj_spec__descriptor) \ + , PG_QUERY__PUBLICATION_OBJ_SPEC_TYPE__PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, NULL, 0 } + + +struct PgQuery__CreatePublicationStmt +{ + ProtobufCMessage base; + char *pubname; + size_t n_options; + PgQuery__Node **options; + size_t n_pubobjects; + PgQuery__Node **pubobjects; + protobuf_c_boolean for_all_tables; +}; +#define PG_QUERY__CREATE_PUBLICATION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_publication_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0 } + + +struct PgQuery__AlterPublicationStmt +{ + ProtobufCMessage base; + char *pubname; + size_t n_options; + PgQuery__Node **options; + size_t n_pubobjects; + PgQuery__Node **pubobjects; + protobuf_c_boolean for_all_tables; + PgQuery__AlterPublicationAction action; +}; +#define PG_QUERY__ALTER_PUBLICATION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_publication_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0,NULL, 0,NULL, 0, PG_QUERY__ALTER_PUBLICATION_ACTION__ALTER_PUBLICATION_ACTION_UNDEFINED } + + +struct PgQuery__CreateSubscriptionStmt +{ + ProtobufCMessage base; + char *subname; + char *conninfo; + size_t n_publication; + PgQuery__Node **publication; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__CREATE_SUBSCRIPTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__create_subscription_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } + + +struct PgQuery__AlterSubscriptionStmt +{ + ProtobufCMessage base; + PgQuery__AlterSubscriptionType kind; + char *subname; + char *conninfo; + size_t n_publication; + PgQuery__Node **publication; + size_t n_options; + PgQuery__Node **options; +}; +#define PG_QUERY__ALTER_SUBSCRIPTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__alter_subscription_stmt__descriptor) \ + , PG_QUERY__ALTER_SUBSCRIPTION_TYPE__ALTER_SUBSCRIPTION_TYPE_UNDEFINED, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, 0,NULL, 0,NULL } + + +struct PgQuery__DropSubscriptionStmt +{ + ProtobufCMessage base; + char *subname; + protobuf_c_boolean missing_ok; + PgQuery__DropBehavior behavior; +}; +#define PG_QUERY__DROP_SUBSCRIPTION_STMT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__drop_subscription_stmt__descriptor) \ + , (char *)protobuf_c_empty_string, 0, PG_QUERY__DROP_BEHAVIOR__DROP_BEHAVIOR_UNDEFINED } + + +struct PgQuery__ScanToken +{ + ProtobufCMessage base; + int32_t start; + int32_t end; + PgQuery__Token token; + PgQuery__KeywordKind keyword_kind; +}; +#define PG_QUERY__SCAN_TOKEN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__scan_token__descriptor) \ + , 0, 0, PG_QUERY__TOKEN__NUL, PG_QUERY__KEYWORD_KIND__NO_KEYWORD } + + +struct PgQuery__SummaryResult__Table +{ + ProtobufCMessage base; + char *name; + char *schema_name; + char *table_name; + PgQuery__SummaryResult__Context context; +}; +#define PG_QUERY__SUMMARY_RESULT__TABLE__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__summary_result__table__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__SUMMARY_RESULT__CONTEXT__None } + + +struct PgQuery__SummaryResult__AliasesEntry +{ + ProtobufCMessage base; + char *key; + char *value; +}; +#define PG_QUERY__SUMMARY_RESULT__ALIASES_ENTRY__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__summary_result__aliases_entry__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } + + +struct PgQuery__SummaryResult__Function +{ + ProtobufCMessage base; + char *name; + char *function_name; + /* + * optional + */ + char *schema_name; + PgQuery__SummaryResult__Context context; +}; +#define PG_QUERY__SUMMARY_RESULT__FUNCTION__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__summary_result__function__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, PG_QUERY__SUMMARY_RESULT__CONTEXT__None } + + +struct PgQuery__SummaryResult__FilterColumn +{ + ProtobufCMessage base; + /* + * optional + */ + char *schema_name; + /* + * optional + */ + char *table_name; + char *column; +}; +#define PG_QUERY__SUMMARY_RESULT__FILTER_COLUMN__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__summary_result__filter_column__descriptor) \ + , (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string, (char *)protobuf_c_empty_string } + + +/* + * protobuf-c doesn't support optional fields, so any optional strings + * are just an empty string if it should be the equivalent of None/nil. + * These fields have `// optional` at the end of the line. + * Upstream issue: https://github.com/protobuf-c/protobuf-c/issues/476 + */ +struct PgQuery__SummaryResult +{ + ProtobufCMessage base; + size_t n_tables; + PgQuery__SummaryResult__Table **tables; + /* + * The value here is the table name (i.e. schema.table or just table). + */ + size_t n_aliases; + PgQuery__SummaryResult__AliasesEntry **aliases; + size_t n_cte_names; + char **cte_names; + size_t n_functions; + PgQuery__SummaryResult__Function **functions; + size_t n_filter_columns; + PgQuery__SummaryResult__FilterColumn **filter_columns; + size_t n_statement_types; + char **statement_types; + /* + * optional, empty if truncation limit is -1 + */ + char *truncated_query; +}; +#define PG_QUERY__SUMMARY_RESULT__INIT \ + { PROTOBUF_C_MESSAGE_INIT (&pg_query__summary_result__descriptor) \ + , 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, (char *)protobuf_c_empty_string } + + +/* PgQuery__ParseResult methods */ +void pg_query__parse_result__init + (PgQuery__ParseResult *message); +size_t pg_query__parse_result__get_packed_size + (const PgQuery__ParseResult *message); +size_t pg_query__parse_result__pack + (const PgQuery__ParseResult *message, + uint8_t *out); size_t pg_query__parse_result__pack_to_buffer (const PgQuery__ParseResult *message, ProtobufCBuffer *buffer); @@ -5752,2250 +6510,2839 @@ PgQuery__ScanResult * (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__scan_result__free_unpacked - (PgQuery__ScanResult *message, +void pg_query__scan_result__free_unpacked + (PgQuery__ScanResult *message, + ProtobufCAllocator *allocator); +/* PgQuery__Node methods */ +void pg_query__node__init + (PgQuery__Node *message); +size_t pg_query__node__get_packed_size + (const PgQuery__Node *message); +size_t pg_query__node__pack + (const PgQuery__Node *message, + uint8_t *out); +size_t pg_query__node__pack_to_buffer + (const PgQuery__Node *message, + ProtobufCBuffer *buffer); +PgQuery__Node * + pg_query__node__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__node__free_unpacked + (PgQuery__Node *message, + ProtobufCAllocator *allocator); +/* PgQuery__Integer methods */ +void pg_query__integer__init + (PgQuery__Integer *message); +size_t pg_query__integer__get_packed_size + (const PgQuery__Integer *message); +size_t pg_query__integer__pack + (const PgQuery__Integer *message, + uint8_t *out); +size_t pg_query__integer__pack_to_buffer + (const PgQuery__Integer *message, + ProtobufCBuffer *buffer); +PgQuery__Integer * + pg_query__integer__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__integer__free_unpacked + (PgQuery__Integer *message, + ProtobufCAllocator *allocator); +/* PgQuery__Float methods */ +void pg_query__float__init + (PgQuery__Float *message); +size_t pg_query__float__get_packed_size + (const PgQuery__Float *message); +size_t pg_query__float__pack + (const PgQuery__Float *message, + uint8_t *out); +size_t pg_query__float__pack_to_buffer + (const PgQuery__Float *message, + ProtobufCBuffer *buffer); +PgQuery__Float * + pg_query__float__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__float__free_unpacked + (PgQuery__Float *message, + ProtobufCAllocator *allocator); +/* PgQuery__Boolean methods */ +void pg_query__boolean__init + (PgQuery__Boolean *message); +size_t pg_query__boolean__get_packed_size + (const PgQuery__Boolean *message); +size_t pg_query__boolean__pack + (const PgQuery__Boolean *message, + uint8_t *out); +size_t pg_query__boolean__pack_to_buffer + (const PgQuery__Boolean *message, + ProtobufCBuffer *buffer); +PgQuery__Boolean * + pg_query__boolean__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__boolean__free_unpacked + (PgQuery__Boolean *message, + ProtobufCAllocator *allocator); +/* PgQuery__String methods */ +void pg_query__string__init + (PgQuery__String *message); +size_t pg_query__string__get_packed_size + (const PgQuery__String *message); +size_t pg_query__string__pack + (const PgQuery__String *message, + uint8_t *out); +size_t pg_query__string__pack_to_buffer + (const PgQuery__String *message, + ProtobufCBuffer *buffer); +PgQuery__String * + pg_query__string__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__string__free_unpacked + (PgQuery__String *message, + ProtobufCAllocator *allocator); +/* PgQuery__BitString methods */ +void pg_query__bit_string__init + (PgQuery__BitString *message); +size_t pg_query__bit_string__get_packed_size + (const PgQuery__BitString *message); +size_t pg_query__bit_string__pack + (const PgQuery__BitString *message, + uint8_t *out); +size_t pg_query__bit_string__pack_to_buffer + (const PgQuery__BitString *message, + ProtobufCBuffer *buffer); +PgQuery__BitString * + pg_query__bit_string__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__bit_string__free_unpacked + (PgQuery__BitString *message, + ProtobufCAllocator *allocator); +/* PgQuery__List methods */ +void pg_query__list__init + (PgQuery__List *message); +size_t pg_query__list__get_packed_size + (const PgQuery__List *message); +size_t pg_query__list__pack + (const PgQuery__List *message, + uint8_t *out); +size_t pg_query__list__pack_to_buffer + (const PgQuery__List *message, + ProtobufCBuffer *buffer); +PgQuery__List * + pg_query__list__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__list__free_unpacked + (PgQuery__List *message, + ProtobufCAllocator *allocator); +/* PgQuery__OidList methods */ +void pg_query__oid_list__init + (PgQuery__OidList *message); +size_t pg_query__oid_list__get_packed_size + (const PgQuery__OidList *message); +size_t pg_query__oid_list__pack + (const PgQuery__OidList *message, + uint8_t *out); +size_t pg_query__oid_list__pack_to_buffer + (const PgQuery__OidList *message, + ProtobufCBuffer *buffer); +PgQuery__OidList * + pg_query__oid_list__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__oid_list__free_unpacked + (PgQuery__OidList *message, + ProtobufCAllocator *allocator); +/* PgQuery__IntList methods */ +void pg_query__int_list__init + (PgQuery__IntList *message); +size_t pg_query__int_list__get_packed_size + (const PgQuery__IntList *message); +size_t pg_query__int_list__pack + (const PgQuery__IntList *message, + uint8_t *out); +size_t pg_query__int_list__pack_to_buffer + (const PgQuery__IntList *message, + ProtobufCBuffer *buffer); +PgQuery__IntList * + pg_query__int_list__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__int_list__free_unpacked + (PgQuery__IntList *message, + ProtobufCAllocator *allocator); +/* PgQuery__AConst methods */ +void pg_query__a__const__init + (PgQuery__AConst *message); +size_t pg_query__a__const__get_packed_size + (const PgQuery__AConst *message); +size_t pg_query__a__const__pack + (const PgQuery__AConst *message, + uint8_t *out); +size_t pg_query__a__const__pack_to_buffer + (const PgQuery__AConst *message, + ProtobufCBuffer *buffer); +PgQuery__AConst * + pg_query__a__const__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__a__const__free_unpacked + (PgQuery__AConst *message, + ProtobufCAllocator *allocator); +/* PgQuery__Alias methods */ +void pg_query__alias__init + (PgQuery__Alias *message); +size_t pg_query__alias__get_packed_size + (const PgQuery__Alias *message); +size_t pg_query__alias__pack + (const PgQuery__Alias *message, + uint8_t *out); +size_t pg_query__alias__pack_to_buffer + (const PgQuery__Alias *message, + ProtobufCBuffer *buffer); +PgQuery__Alias * + pg_query__alias__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alias__free_unpacked + (PgQuery__Alias *message, + ProtobufCAllocator *allocator); +/* PgQuery__RangeVar methods */ +void pg_query__range_var__init + (PgQuery__RangeVar *message); +size_t pg_query__range_var__get_packed_size + (const PgQuery__RangeVar *message); +size_t pg_query__range_var__pack + (const PgQuery__RangeVar *message, + uint8_t *out); +size_t pg_query__range_var__pack_to_buffer + (const PgQuery__RangeVar *message, + ProtobufCBuffer *buffer); +PgQuery__RangeVar * + pg_query__range_var__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__range_var__free_unpacked + (PgQuery__RangeVar *message, + ProtobufCAllocator *allocator); +/* PgQuery__TableFunc methods */ +void pg_query__table_func__init + (PgQuery__TableFunc *message); +size_t pg_query__table_func__get_packed_size + (const PgQuery__TableFunc *message); +size_t pg_query__table_func__pack + (const PgQuery__TableFunc *message, + uint8_t *out); +size_t pg_query__table_func__pack_to_buffer + (const PgQuery__TableFunc *message, + ProtobufCBuffer *buffer); +PgQuery__TableFunc * + pg_query__table_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__table_func__free_unpacked + (PgQuery__TableFunc *message, + ProtobufCAllocator *allocator); +/* PgQuery__IntoClause methods */ +void pg_query__into_clause__init + (PgQuery__IntoClause *message); +size_t pg_query__into_clause__get_packed_size + (const PgQuery__IntoClause *message); +size_t pg_query__into_clause__pack + (const PgQuery__IntoClause *message, + uint8_t *out); +size_t pg_query__into_clause__pack_to_buffer + (const PgQuery__IntoClause *message, + ProtobufCBuffer *buffer); +PgQuery__IntoClause * + pg_query__into_clause__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__into_clause__free_unpacked + (PgQuery__IntoClause *message, + ProtobufCAllocator *allocator); +/* PgQuery__Var methods */ +void pg_query__var__init + (PgQuery__Var *message); +size_t pg_query__var__get_packed_size + (const PgQuery__Var *message); +size_t pg_query__var__pack + (const PgQuery__Var *message, + uint8_t *out); +size_t pg_query__var__pack_to_buffer + (const PgQuery__Var *message, + ProtobufCBuffer *buffer); +PgQuery__Var * + pg_query__var__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__var__free_unpacked + (PgQuery__Var *message, + ProtobufCAllocator *allocator); +/* PgQuery__Param methods */ +void pg_query__param__init + (PgQuery__Param *message); +size_t pg_query__param__get_packed_size + (const PgQuery__Param *message); +size_t pg_query__param__pack + (const PgQuery__Param *message, + uint8_t *out); +size_t pg_query__param__pack_to_buffer + (const PgQuery__Param *message, + ProtobufCBuffer *buffer); +PgQuery__Param * + pg_query__param__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__param__free_unpacked + (PgQuery__Param *message, + ProtobufCAllocator *allocator); +/* PgQuery__Aggref methods */ +void pg_query__aggref__init + (PgQuery__Aggref *message); +size_t pg_query__aggref__get_packed_size + (const PgQuery__Aggref *message); +size_t pg_query__aggref__pack + (const PgQuery__Aggref *message, + uint8_t *out); +size_t pg_query__aggref__pack_to_buffer + (const PgQuery__Aggref *message, + ProtobufCBuffer *buffer); +PgQuery__Aggref * + pg_query__aggref__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__aggref__free_unpacked + (PgQuery__Aggref *message, + ProtobufCAllocator *allocator); +/* PgQuery__GroupingFunc methods */ +void pg_query__grouping_func__init + (PgQuery__GroupingFunc *message); +size_t pg_query__grouping_func__get_packed_size + (const PgQuery__GroupingFunc *message); +size_t pg_query__grouping_func__pack + (const PgQuery__GroupingFunc *message, + uint8_t *out); +size_t pg_query__grouping_func__pack_to_buffer + (const PgQuery__GroupingFunc *message, + ProtobufCBuffer *buffer); +PgQuery__GroupingFunc * + pg_query__grouping_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__grouping_func__free_unpacked + (PgQuery__GroupingFunc *message, + ProtobufCAllocator *allocator); +/* PgQuery__WindowFunc methods */ +void pg_query__window_func__init + (PgQuery__WindowFunc *message); +size_t pg_query__window_func__get_packed_size + (const PgQuery__WindowFunc *message); +size_t pg_query__window_func__pack + (const PgQuery__WindowFunc *message, + uint8_t *out); +size_t pg_query__window_func__pack_to_buffer + (const PgQuery__WindowFunc *message, + ProtobufCBuffer *buffer); +PgQuery__WindowFunc * + pg_query__window_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__window_func__free_unpacked + (PgQuery__WindowFunc *message, + ProtobufCAllocator *allocator); +/* PgQuery__WindowFuncRunCondition methods */ +void pg_query__window_func_run_condition__init + (PgQuery__WindowFuncRunCondition *message); +size_t pg_query__window_func_run_condition__get_packed_size + (const PgQuery__WindowFuncRunCondition *message); +size_t pg_query__window_func_run_condition__pack + (const PgQuery__WindowFuncRunCondition *message, + uint8_t *out); +size_t pg_query__window_func_run_condition__pack_to_buffer + (const PgQuery__WindowFuncRunCondition *message, + ProtobufCBuffer *buffer); +PgQuery__WindowFuncRunCondition * + pg_query__window_func_run_condition__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__window_func_run_condition__free_unpacked + (PgQuery__WindowFuncRunCondition *message, + ProtobufCAllocator *allocator); +/* PgQuery__MergeSupportFunc methods */ +void pg_query__merge_support_func__init + (PgQuery__MergeSupportFunc *message); +size_t pg_query__merge_support_func__get_packed_size + (const PgQuery__MergeSupportFunc *message); +size_t pg_query__merge_support_func__pack + (const PgQuery__MergeSupportFunc *message, + uint8_t *out); +size_t pg_query__merge_support_func__pack_to_buffer + (const PgQuery__MergeSupportFunc *message, + ProtobufCBuffer *buffer); +PgQuery__MergeSupportFunc * + pg_query__merge_support_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__merge_support_func__free_unpacked + (PgQuery__MergeSupportFunc *message, + ProtobufCAllocator *allocator); +/* PgQuery__SubscriptingRef methods */ +void pg_query__subscripting_ref__init + (PgQuery__SubscriptingRef *message); +size_t pg_query__subscripting_ref__get_packed_size + (const PgQuery__SubscriptingRef *message); +size_t pg_query__subscripting_ref__pack + (const PgQuery__SubscriptingRef *message, + uint8_t *out); +size_t pg_query__subscripting_ref__pack_to_buffer + (const PgQuery__SubscriptingRef *message, + ProtobufCBuffer *buffer); +PgQuery__SubscriptingRef * + pg_query__subscripting_ref__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__subscripting_ref__free_unpacked + (PgQuery__SubscriptingRef *message, + ProtobufCAllocator *allocator); +/* PgQuery__FuncExpr methods */ +void pg_query__func_expr__init + (PgQuery__FuncExpr *message); +size_t pg_query__func_expr__get_packed_size + (const PgQuery__FuncExpr *message); +size_t pg_query__func_expr__pack + (const PgQuery__FuncExpr *message, + uint8_t *out); +size_t pg_query__func_expr__pack_to_buffer + (const PgQuery__FuncExpr *message, + ProtobufCBuffer *buffer); +PgQuery__FuncExpr * + pg_query__func_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__func_expr__free_unpacked + (PgQuery__FuncExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__NamedArgExpr methods */ +void pg_query__named_arg_expr__init + (PgQuery__NamedArgExpr *message); +size_t pg_query__named_arg_expr__get_packed_size + (const PgQuery__NamedArgExpr *message); +size_t pg_query__named_arg_expr__pack + (const PgQuery__NamedArgExpr *message, + uint8_t *out); +size_t pg_query__named_arg_expr__pack_to_buffer + (const PgQuery__NamedArgExpr *message, + ProtobufCBuffer *buffer); +PgQuery__NamedArgExpr * + pg_query__named_arg_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__named_arg_expr__free_unpacked + (PgQuery__NamedArgExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__OpExpr methods */ +void pg_query__op_expr__init + (PgQuery__OpExpr *message); +size_t pg_query__op_expr__get_packed_size + (const PgQuery__OpExpr *message); +size_t pg_query__op_expr__pack + (const PgQuery__OpExpr *message, + uint8_t *out); +size_t pg_query__op_expr__pack_to_buffer + (const PgQuery__OpExpr *message, + ProtobufCBuffer *buffer); +PgQuery__OpExpr * + pg_query__op_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__op_expr__free_unpacked + (PgQuery__OpExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__DistinctExpr methods */ +void pg_query__distinct_expr__init + (PgQuery__DistinctExpr *message); +size_t pg_query__distinct_expr__get_packed_size + (const PgQuery__DistinctExpr *message); +size_t pg_query__distinct_expr__pack + (const PgQuery__DistinctExpr *message, + uint8_t *out); +size_t pg_query__distinct_expr__pack_to_buffer + (const PgQuery__DistinctExpr *message, + ProtobufCBuffer *buffer); +PgQuery__DistinctExpr * + pg_query__distinct_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__distinct_expr__free_unpacked + (PgQuery__DistinctExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__NullIfExpr methods */ +void pg_query__null_if_expr__init + (PgQuery__NullIfExpr *message); +size_t pg_query__null_if_expr__get_packed_size + (const PgQuery__NullIfExpr *message); +size_t pg_query__null_if_expr__pack + (const PgQuery__NullIfExpr *message, + uint8_t *out); +size_t pg_query__null_if_expr__pack_to_buffer + (const PgQuery__NullIfExpr *message, + ProtobufCBuffer *buffer); +PgQuery__NullIfExpr * + pg_query__null_if_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__null_if_expr__free_unpacked + (PgQuery__NullIfExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__ScalarArrayOpExpr methods */ +void pg_query__scalar_array_op_expr__init + (PgQuery__ScalarArrayOpExpr *message); +size_t pg_query__scalar_array_op_expr__get_packed_size + (const PgQuery__ScalarArrayOpExpr *message); +size_t pg_query__scalar_array_op_expr__pack + (const PgQuery__ScalarArrayOpExpr *message, + uint8_t *out); +size_t pg_query__scalar_array_op_expr__pack_to_buffer + (const PgQuery__ScalarArrayOpExpr *message, + ProtobufCBuffer *buffer); +PgQuery__ScalarArrayOpExpr * + pg_query__scalar_array_op_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__scalar_array_op_expr__free_unpacked + (PgQuery__ScalarArrayOpExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__BoolExpr methods */ +void pg_query__bool_expr__init + (PgQuery__BoolExpr *message); +size_t pg_query__bool_expr__get_packed_size + (const PgQuery__BoolExpr *message); +size_t pg_query__bool_expr__pack + (const PgQuery__BoolExpr *message, + uint8_t *out); +size_t pg_query__bool_expr__pack_to_buffer + (const PgQuery__BoolExpr *message, + ProtobufCBuffer *buffer); +PgQuery__BoolExpr * + pg_query__bool_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__bool_expr__free_unpacked + (PgQuery__BoolExpr *message, + ProtobufCAllocator *allocator); +/* PgQuery__SubLink methods */ +void pg_query__sub_link__init + (PgQuery__SubLink *message); +size_t pg_query__sub_link__get_packed_size + (const PgQuery__SubLink *message); +size_t pg_query__sub_link__pack + (const PgQuery__SubLink *message, + uint8_t *out); +size_t pg_query__sub_link__pack_to_buffer + (const PgQuery__SubLink *message, + ProtobufCBuffer *buffer); +PgQuery__SubLink * + pg_query__sub_link__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__sub_link__free_unpacked + (PgQuery__SubLink *message, ProtobufCAllocator *allocator); -/* PgQuery__Node methods */ -void pg_query__node__init - (PgQuery__Node *message); -size_t pg_query__node__get_packed_size - (const PgQuery__Node *message); -size_t pg_query__node__pack - (const PgQuery__Node *message, +/* PgQuery__SubPlan methods */ +void pg_query__sub_plan__init + (PgQuery__SubPlan *message); +size_t pg_query__sub_plan__get_packed_size + (const PgQuery__SubPlan *message); +size_t pg_query__sub_plan__pack + (const PgQuery__SubPlan *message, uint8_t *out); -size_t pg_query__node__pack_to_buffer - (const PgQuery__Node *message, +size_t pg_query__sub_plan__pack_to_buffer + (const PgQuery__SubPlan *message, ProtobufCBuffer *buffer); -PgQuery__Node * - pg_query__node__unpack +PgQuery__SubPlan * + pg_query__sub_plan__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__node__free_unpacked - (PgQuery__Node *message, +void pg_query__sub_plan__free_unpacked + (PgQuery__SubPlan *message, ProtobufCAllocator *allocator); -/* PgQuery__Integer methods */ -void pg_query__integer__init - (PgQuery__Integer *message); -size_t pg_query__integer__get_packed_size - (const PgQuery__Integer *message); -size_t pg_query__integer__pack - (const PgQuery__Integer *message, +/* PgQuery__AlternativeSubPlan methods */ +void pg_query__alternative_sub_plan__init + (PgQuery__AlternativeSubPlan *message); +size_t pg_query__alternative_sub_plan__get_packed_size + (const PgQuery__AlternativeSubPlan *message); +size_t pg_query__alternative_sub_plan__pack + (const PgQuery__AlternativeSubPlan *message, uint8_t *out); -size_t pg_query__integer__pack_to_buffer - (const PgQuery__Integer *message, +size_t pg_query__alternative_sub_plan__pack_to_buffer + (const PgQuery__AlternativeSubPlan *message, ProtobufCBuffer *buffer); -PgQuery__Integer * - pg_query__integer__unpack +PgQuery__AlternativeSubPlan * + pg_query__alternative_sub_plan__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__integer__free_unpacked - (PgQuery__Integer *message, +void pg_query__alternative_sub_plan__free_unpacked + (PgQuery__AlternativeSubPlan *message, ProtobufCAllocator *allocator); -/* PgQuery__Float methods */ -void pg_query__float__init - (PgQuery__Float *message); -size_t pg_query__float__get_packed_size - (const PgQuery__Float *message); -size_t pg_query__float__pack - (const PgQuery__Float *message, +/* PgQuery__FieldSelect methods */ +void pg_query__field_select__init + (PgQuery__FieldSelect *message); +size_t pg_query__field_select__get_packed_size + (const PgQuery__FieldSelect *message); +size_t pg_query__field_select__pack + (const PgQuery__FieldSelect *message, uint8_t *out); -size_t pg_query__float__pack_to_buffer - (const PgQuery__Float *message, +size_t pg_query__field_select__pack_to_buffer + (const PgQuery__FieldSelect *message, ProtobufCBuffer *buffer); -PgQuery__Float * - pg_query__float__unpack +PgQuery__FieldSelect * + pg_query__field_select__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__float__free_unpacked - (PgQuery__Float *message, +void pg_query__field_select__free_unpacked + (PgQuery__FieldSelect *message, ProtobufCAllocator *allocator); -/* PgQuery__Boolean methods */ -void pg_query__boolean__init - (PgQuery__Boolean *message); -size_t pg_query__boolean__get_packed_size - (const PgQuery__Boolean *message); -size_t pg_query__boolean__pack - (const PgQuery__Boolean *message, +/* PgQuery__FieldStore methods */ +void pg_query__field_store__init + (PgQuery__FieldStore *message); +size_t pg_query__field_store__get_packed_size + (const PgQuery__FieldStore *message); +size_t pg_query__field_store__pack + (const PgQuery__FieldStore *message, uint8_t *out); -size_t pg_query__boolean__pack_to_buffer - (const PgQuery__Boolean *message, +size_t pg_query__field_store__pack_to_buffer + (const PgQuery__FieldStore *message, ProtobufCBuffer *buffer); -PgQuery__Boolean * - pg_query__boolean__unpack +PgQuery__FieldStore * + pg_query__field_store__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__boolean__free_unpacked - (PgQuery__Boolean *message, +void pg_query__field_store__free_unpacked + (PgQuery__FieldStore *message, ProtobufCAllocator *allocator); -/* PgQuery__String methods */ -void pg_query__string__init - (PgQuery__String *message); -size_t pg_query__string__get_packed_size - (const PgQuery__String *message); -size_t pg_query__string__pack - (const PgQuery__String *message, +/* PgQuery__RelabelType methods */ +void pg_query__relabel_type__init + (PgQuery__RelabelType *message); +size_t pg_query__relabel_type__get_packed_size + (const PgQuery__RelabelType *message); +size_t pg_query__relabel_type__pack + (const PgQuery__RelabelType *message, uint8_t *out); -size_t pg_query__string__pack_to_buffer - (const PgQuery__String *message, +size_t pg_query__relabel_type__pack_to_buffer + (const PgQuery__RelabelType *message, ProtobufCBuffer *buffer); -PgQuery__String * - pg_query__string__unpack +PgQuery__RelabelType * + pg_query__relabel_type__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__string__free_unpacked - (PgQuery__String *message, +void pg_query__relabel_type__free_unpacked + (PgQuery__RelabelType *message, ProtobufCAllocator *allocator); -/* PgQuery__BitString methods */ -void pg_query__bit_string__init - (PgQuery__BitString *message); -size_t pg_query__bit_string__get_packed_size - (const PgQuery__BitString *message); -size_t pg_query__bit_string__pack - (const PgQuery__BitString *message, +/* PgQuery__CoerceViaIO methods */ +void pg_query__coerce_via_io__init + (PgQuery__CoerceViaIO *message); +size_t pg_query__coerce_via_io__get_packed_size + (const PgQuery__CoerceViaIO *message); +size_t pg_query__coerce_via_io__pack + (const PgQuery__CoerceViaIO *message, uint8_t *out); -size_t pg_query__bit_string__pack_to_buffer - (const PgQuery__BitString *message, +size_t pg_query__coerce_via_io__pack_to_buffer + (const PgQuery__CoerceViaIO *message, ProtobufCBuffer *buffer); -PgQuery__BitString * - pg_query__bit_string__unpack +PgQuery__CoerceViaIO * + pg_query__coerce_via_io__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__bit_string__free_unpacked - (PgQuery__BitString *message, +void pg_query__coerce_via_io__free_unpacked + (PgQuery__CoerceViaIO *message, ProtobufCAllocator *allocator); -/* PgQuery__List methods */ -void pg_query__list__init - (PgQuery__List *message); -size_t pg_query__list__get_packed_size - (const PgQuery__List *message); -size_t pg_query__list__pack - (const PgQuery__List *message, +/* PgQuery__ArrayCoerceExpr methods */ +void pg_query__array_coerce_expr__init + (PgQuery__ArrayCoerceExpr *message); +size_t pg_query__array_coerce_expr__get_packed_size + (const PgQuery__ArrayCoerceExpr *message); +size_t pg_query__array_coerce_expr__pack + (const PgQuery__ArrayCoerceExpr *message, uint8_t *out); -size_t pg_query__list__pack_to_buffer - (const PgQuery__List *message, +size_t pg_query__array_coerce_expr__pack_to_buffer + (const PgQuery__ArrayCoerceExpr *message, ProtobufCBuffer *buffer); -PgQuery__List * - pg_query__list__unpack +PgQuery__ArrayCoerceExpr * + pg_query__array_coerce_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__list__free_unpacked - (PgQuery__List *message, +void pg_query__array_coerce_expr__free_unpacked + (PgQuery__ArrayCoerceExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__OidList methods */ -void pg_query__oid_list__init - (PgQuery__OidList *message); -size_t pg_query__oid_list__get_packed_size - (const PgQuery__OidList *message); -size_t pg_query__oid_list__pack - (const PgQuery__OidList *message, +/* PgQuery__ConvertRowtypeExpr methods */ +void pg_query__convert_rowtype_expr__init + (PgQuery__ConvertRowtypeExpr *message); +size_t pg_query__convert_rowtype_expr__get_packed_size + (const PgQuery__ConvertRowtypeExpr *message); +size_t pg_query__convert_rowtype_expr__pack + (const PgQuery__ConvertRowtypeExpr *message, uint8_t *out); -size_t pg_query__oid_list__pack_to_buffer - (const PgQuery__OidList *message, +size_t pg_query__convert_rowtype_expr__pack_to_buffer + (const PgQuery__ConvertRowtypeExpr *message, ProtobufCBuffer *buffer); -PgQuery__OidList * - pg_query__oid_list__unpack +PgQuery__ConvertRowtypeExpr * + pg_query__convert_rowtype_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__oid_list__free_unpacked - (PgQuery__OidList *message, +void pg_query__convert_rowtype_expr__free_unpacked + (PgQuery__ConvertRowtypeExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__IntList methods */ -void pg_query__int_list__init - (PgQuery__IntList *message); -size_t pg_query__int_list__get_packed_size - (const PgQuery__IntList *message); -size_t pg_query__int_list__pack - (const PgQuery__IntList *message, +/* PgQuery__CollateExpr methods */ +void pg_query__collate_expr__init + (PgQuery__CollateExpr *message); +size_t pg_query__collate_expr__get_packed_size + (const PgQuery__CollateExpr *message); +size_t pg_query__collate_expr__pack + (const PgQuery__CollateExpr *message, uint8_t *out); -size_t pg_query__int_list__pack_to_buffer - (const PgQuery__IntList *message, +size_t pg_query__collate_expr__pack_to_buffer + (const PgQuery__CollateExpr *message, ProtobufCBuffer *buffer); -PgQuery__IntList * - pg_query__int_list__unpack +PgQuery__CollateExpr * + pg_query__collate_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__int_list__free_unpacked - (PgQuery__IntList *message, +void pg_query__collate_expr__free_unpacked + (PgQuery__CollateExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__AConst methods */ -void pg_query__a__const__init - (PgQuery__AConst *message); -size_t pg_query__a__const__get_packed_size - (const PgQuery__AConst *message); -size_t pg_query__a__const__pack - (const PgQuery__AConst *message, +/* PgQuery__CaseExpr methods */ +void pg_query__case_expr__init + (PgQuery__CaseExpr *message); +size_t pg_query__case_expr__get_packed_size + (const PgQuery__CaseExpr *message); +size_t pg_query__case_expr__pack + (const PgQuery__CaseExpr *message, uint8_t *out); -size_t pg_query__a__const__pack_to_buffer - (const PgQuery__AConst *message, +size_t pg_query__case_expr__pack_to_buffer + (const PgQuery__CaseExpr *message, ProtobufCBuffer *buffer); -PgQuery__AConst * - pg_query__a__const__unpack +PgQuery__CaseExpr * + pg_query__case_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__a__const__free_unpacked - (PgQuery__AConst *message, +void pg_query__case_expr__free_unpacked + (PgQuery__CaseExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__Alias methods */ -void pg_query__alias__init - (PgQuery__Alias *message); -size_t pg_query__alias__get_packed_size - (const PgQuery__Alias *message); -size_t pg_query__alias__pack - (const PgQuery__Alias *message, +/* PgQuery__CaseWhen methods */ +void pg_query__case_when__init + (PgQuery__CaseWhen *message); +size_t pg_query__case_when__get_packed_size + (const PgQuery__CaseWhen *message); +size_t pg_query__case_when__pack + (const PgQuery__CaseWhen *message, uint8_t *out); -size_t pg_query__alias__pack_to_buffer - (const PgQuery__Alias *message, +size_t pg_query__case_when__pack_to_buffer + (const PgQuery__CaseWhen *message, ProtobufCBuffer *buffer); -PgQuery__Alias * - pg_query__alias__unpack +PgQuery__CaseWhen * + pg_query__case_when__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alias__free_unpacked - (PgQuery__Alias *message, +void pg_query__case_when__free_unpacked + (PgQuery__CaseWhen *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeVar methods */ -void pg_query__range_var__init - (PgQuery__RangeVar *message); -size_t pg_query__range_var__get_packed_size - (const PgQuery__RangeVar *message); -size_t pg_query__range_var__pack - (const PgQuery__RangeVar *message, +/* PgQuery__CaseTestExpr methods */ +void pg_query__case_test_expr__init + (PgQuery__CaseTestExpr *message); +size_t pg_query__case_test_expr__get_packed_size + (const PgQuery__CaseTestExpr *message); +size_t pg_query__case_test_expr__pack + (const PgQuery__CaseTestExpr *message, uint8_t *out); -size_t pg_query__range_var__pack_to_buffer - (const PgQuery__RangeVar *message, +size_t pg_query__case_test_expr__pack_to_buffer + (const PgQuery__CaseTestExpr *message, ProtobufCBuffer *buffer); -PgQuery__RangeVar * - pg_query__range_var__unpack +PgQuery__CaseTestExpr * + pg_query__case_test_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_var__free_unpacked - (PgQuery__RangeVar *message, +void pg_query__case_test_expr__free_unpacked + (PgQuery__CaseTestExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__TableFunc methods */ -void pg_query__table_func__init - (PgQuery__TableFunc *message); -size_t pg_query__table_func__get_packed_size - (const PgQuery__TableFunc *message); -size_t pg_query__table_func__pack - (const PgQuery__TableFunc *message, +/* PgQuery__ArrayExpr methods */ +void pg_query__array_expr__init + (PgQuery__ArrayExpr *message); +size_t pg_query__array_expr__get_packed_size + (const PgQuery__ArrayExpr *message); +size_t pg_query__array_expr__pack + (const PgQuery__ArrayExpr *message, uint8_t *out); -size_t pg_query__table_func__pack_to_buffer - (const PgQuery__TableFunc *message, +size_t pg_query__array_expr__pack_to_buffer + (const PgQuery__ArrayExpr *message, ProtobufCBuffer *buffer); -PgQuery__TableFunc * - pg_query__table_func__unpack +PgQuery__ArrayExpr * + pg_query__array_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__table_func__free_unpacked - (PgQuery__TableFunc *message, +void pg_query__array_expr__free_unpacked + (PgQuery__ArrayExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__Var methods */ -void pg_query__var__init - (PgQuery__Var *message); -size_t pg_query__var__get_packed_size - (const PgQuery__Var *message); -size_t pg_query__var__pack - (const PgQuery__Var *message, +/* PgQuery__RowExpr methods */ +void pg_query__row_expr__init + (PgQuery__RowExpr *message); +size_t pg_query__row_expr__get_packed_size + (const PgQuery__RowExpr *message); +size_t pg_query__row_expr__pack + (const PgQuery__RowExpr *message, uint8_t *out); -size_t pg_query__var__pack_to_buffer - (const PgQuery__Var *message, +size_t pg_query__row_expr__pack_to_buffer + (const PgQuery__RowExpr *message, ProtobufCBuffer *buffer); -PgQuery__Var * - pg_query__var__unpack +PgQuery__RowExpr * + pg_query__row_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__var__free_unpacked - (PgQuery__Var *message, +void pg_query__row_expr__free_unpacked + (PgQuery__RowExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__Param methods */ -void pg_query__param__init - (PgQuery__Param *message); -size_t pg_query__param__get_packed_size - (const PgQuery__Param *message); -size_t pg_query__param__pack - (const PgQuery__Param *message, +/* PgQuery__RowCompareExpr methods */ +void pg_query__row_compare_expr__init + (PgQuery__RowCompareExpr *message); +size_t pg_query__row_compare_expr__get_packed_size + (const PgQuery__RowCompareExpr *message); +size_t pg_query__row_compare_expr__pack + (const PgQuery__RowCompareExpr *message, uint8_t *out); -size_t pg_query__param__pack_to_buffer - (const PgQuery__Param *message, +size_t pg_query__row_compare_expr__pack_to_buffer + (const PgQuery__RowCompareExpr *message, ProtobufCBuffer *buffer); -PgQuery__Param * - pg_query__param__unpack +PgQuery__RowCompareExpr * + pg_query__row_compare_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__param__free_unpacked - (PgQuery__Param *message, +void pg_query__row_compare_expr__free_unpacked + (PgQuery__RowCompareExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__Aggref methods */ -void pg_query__aggref__init - (PgQuery__Aggref *message); -size_t pg_query__aggref__get_packed_size - (const PgQuery__Aggref *message); -size_t pg_query__aggref__pack - (const PgQuery__Aggref *message, +/* PgQuery__CoalesceExpr methods */ +void pg_query__coalesce_expr__init + (PgQuery__CoalesceExpr *message); +size_t pg_query__coalesce_expr__get_packed_size + (const PgQuery__CoalesceExpr *message); +size_t pg_query__coalesce_expr__pack + (const PgQuery__CoalesceExpr *message, uint8_t *out); -size_t pg_query__aggref__pack_to_buffer - (const PgQuery__Aggref *message, +size_t pg_query__coalesce_expr__pack_to_buffer + (const PgQuery__CoalesceExpr *message, ProtobufCBuffer *buffer); -PgQuery__Aggref * - pg_query__aggref__unpack +PgQuery__CoalesceExpr * + pg_query__coalesce_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__aggref__free_unpacked - (PgQuery__Aggref *message, +void pg_query__coalesce_expr__free_unpacked + (PgQuery__CoalesceExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__GroupingFunc methods */ -void pg_query__grouping_func__init - (PgQuery__GroupingFunc *message); -size_t pg_query__grouping_func__get_packed_size - (const PgQuery__GroupingFunc *message); -size_t pg_query__grouping_func__pack - (const PgQuery__GroupingFunc *message, +/* PgQuery__MinMaxExpr methods */ +void pg_query__min_max_expr__init + (PgQuery__MinMaxExpr *message); +size_t pg_query__min_max_expr__get_packed_size + (const PgQuery__MinMaxExpr *message); +size_t pg_query__min_max_expr__pack + (const PgQuery__MinMaxExpr *message, uint8_t *out); -size_t pg_query__grouping_func__pack_to_buffer - (const PgQuery__GroupingFunc *message, +size_t pg_query__min_max_expr__pack_to_buffer + (const PgQuery__MinMaxExpr *message, ProtobufCBuffer *buffer); -PgQuery__GroupingFunc * - pg_query__grouping_func__unpack +PgQuery__MinMaxExpr * + pg_query__min_max_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__grouping_func__free_unpacked - (PgQuery__GroupingFunc *message, +void pg_query__min_max_expr__free_unpacked + (PgQuery__MinMaxExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__WindowFunc methods */ -void pg_query__window_func__init - (PgQuery__WindowFunc *message); -size_t pg_query__window_func__get_packed_size - (const PgQuery__WindowFunc *message); -size_t pg_query__window_func__pack - (const PgQuery__WindowFunc *message, +/* PgQuery__SQLValueFunction methods */ +void pg_query__sqlvalue_function__init + (PgQuery__SQLValueFunction *message); +size_t pg_query__sqlvalue_function__get_packed_size + (const PgQuery__SQLValueFunction *message); +size_t pg_query__sqlvalue_function__pack + (const PgQuery__SQLValueFunction *message, uint8_t *out); -size_t pg_query__window_func__pack_to_buffer - (const PgQuery__WindowFunc *message, +size_t pg_query__sqlvalue_function__pack_to_buffer + (const PgQuery__SQLValueFunction *message, ProtobufCBuffer *buffer); -PgQuery__WindowFunc * - pg_query__window_func__unpack +PgQuery__SQLValueFunction * + pg_query__sqlvalue_function__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__window_func__free_unpacked - (PgQuery__WindowFunc *message, +void pg_query__sqlvalue_function__free_unpacked + (PgQuery__SQLValueFunction *message, ProtobufCAllocator *allocator); -/* PgQuery__SubscriptingRef methods */ -void pg_query__subscripting_ref__init - (PgQuery__SubscriptingRef *message); -size_t pg_query__subscripting_ref__get_packed_size - (const PgQuery__SubscriptingRef *message); -size_t pg_query__subscripting_ref__pack - (const PgQuery__SubscriptingRef *message, +/* PgQuery__XmlExpr methods */ +void pg_query__xml_expr__init + (PgQuery__XmlExpr *message); +size_t pg_query__xml_expr__get_packed_size + (const PgQuery__XmlExpr *message); +size_t pg_query__xml_expr__pack + (const PgQuery__XmlExpr *message, uint8_t *out); -size_t pg_query__subscripting_ref__pack_to_buffer - (const PgQuery__SubscriptingRef *message, +size_t pg_query__xml_expr__pack_to_buffer + (const PgQuery__XmlExpr *message, ProtobufCBuffer *buffer); -PgQuery__SubscriptingRef * - pg_query__subscripting_ref__unpack +PgQuery__XmlExpr * + pg_query__xml_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__subscripting_ref__free_unpacked - (PgQuery__SubscriptingRef *message, +void pg_query__xml_expr__free_unpacked + (PgQuery__XmlExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__FuncExpr methods */ -void pg_query__func_expr__init - (PgQuery__FuncExpr *message); -size_t pg_query__func_expr__get_packed_size - (const PgQuery__FuncExpr *message); -size_t pg_query__func_expr__pack - (const PgQuery__FuncExpr *message, +/* PgQuery__JsonFormat methods */ +void pg_query__json_format__init + (PgQuery__JsonFormat *message); +size_t pg_query__json_format__get_packed_size + (const PgQuery__JsonFormat *message); +size_t pg_query__json_format__pack + (const PgQuery__JsonFormat *message, uint8_t *out); -size_t pg_query__func_expr__pack_to_buffer - (const PgQuery__FuncExpr *message, +size_t pg_query__json_format__pack_to_buffer + (const PgQuery__JsonFormat *message, + ProtobufCBuffer *buffer); +PgQuery__JsonFormat * + pg_query__json_format__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__json_format__free_unpacked + (PgQuery__JsonFormat *message, + ProtobufCAllocator *allocator); +/* PgQuery__JsonReturning methods */ +void pg_query__json_returning__init + (PgQuery__JsonReturning *message); +size_t pg_query__json_returning__get_packed_size + (const PgQuery__JsonReturning *message); +size_t pg_query__json_returning__pack + (const PgQuery__JsonReturning *message, + uint8_t *out); +size_t pg_query__json_returning__pack_to_buffer + (const PgQuery__JsonReturning *message, ProtobufCBuffer *buffer); -PgQuery__FuncExpr * - pg_query__func_expr__unpack +PgQuery__JsonReturning * + pg_query__json_returning__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__func_expr__free_unpacked - (PgQuery__FuncExpr *message, +void pg_query__json_returning__free_unpacked + (PgQuery__JsonReturning *message, ProtobufCAllocator *allocator); -/* PgQuery__NamedArgExpr methods */ -void pg_query__named_arg_expr__init - (PgQuery__NamedArgExpr *message); -size_t pg_query__named_arg_expr__get_packed_size - (const PgQuery__NamedArgExpr *message); -size_t pg_query__named_arg_expr__pack - (const PgQuery__NamedArgExpr *message, +/* PgQuery__JsonValueExpr methods */ +void pg_query__json_value_expr__init + (PgQuery__JsonValueExpr *message); +size_t pg_query__json_value_expr__get_packed_size + (const PgQuery__JsonValueExpr *message); +size_t pg_query__json_value_expr__pack + (const PgQuery__JsonValueExpr *message, uint8_t *out); -size_t pg_query__named_arg_expr__pack_to_buffer - (const PgQuery__NamedArgExpr *message, +size_t pg_query__json_value_expr__pack_to_buffer + (const PgQuery__JsonValueExpr *message, ProtobufCBuffer *buffer); -PgQuery__NamedArgExpr * - pg_query__named_arg_expr__unpack +PgQuery__JsonValueExpr * + pg_query__json_value_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__named_arg_expr__free_unpacked - (PgQuery__NamedArgExpr *message, +void pg_query__json_value_expr__free_unpacked + (PgQuery__JsonValueExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__OpExpr methods */ -void pg_query__op_expr__init - (PgQuery__OpExpr *message); -size_t pg_query__op_expr__get_packed_size - (const PgQuery__OpExpr *message); -size_t pg_query__op_expr__pack - (const PgQuery__OpExpr *message, +/* PgQuery__JsonConstructorExpr methods */ +void pg_query__json_constructor_expr__init + (PgQuery__JsonConstructorExpr *message); +size_t pg_query__json_constructor_expr__get_packed_size + (const PgQuery__JsonConstructorExpr *message); +size_t pg_query__json_constructor_expr__pack + (const PgQuery__JsonConstructorExpr *message, uint8_t *out); -size_t pg_query__op_expr__pack_to_buffer - (const PgQuery__OpExpr *message, +size_t pg_query__json_constructor_expr__pack_to_buffer + (const PgQuery__JsonConstructorExpr *message, ProtobufCBuffer *buffer); -PgQuery__OpExpr * - pg_query__op_expr__unpack +PgQuery__JsonConstructorExpr * + pg_query__json_constructor_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__op_expr__free_unpacked - (PgQuery__OpExpr *message, +void pg_query__json_constructor_expr__free_unpacked + (PgQuery__JsonConstructorExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__DistinctExpr methods */ -void pg_query__distinct_expr__init - (PgQuery__DistinctExpr *message); -size_t pg_query__distinct_expr__get_packed_size - (const PgQuery__DistinctExpr *message); -size_t pg_query__distinct_expr__pack - (const PgQuery__DistinctExpr *message, +/* PgQuery__JsonIsPredicate methods */ +void pg_query__json_is_predicate__init + (PgQuery__JsonIsPredicate *message); +size_t pg_query__json_is_predicate__get_packed_size + (const PgQuery__JsonIsPredicate *message); +size_t pg_query__json_is_predicate__pack + (const PgQuery__JsonIsPredicate *message, uint8_t *out); -size_t pg_query__distinct_expr__pack_to_buffer - (const PgQuery__DistinctExpr *message, +size_t pg_query__json_is_predicate__pack_to_buffer + (const PgQuery__JsonIsPredicate *message, ProtobufCBuffer *buffer); -PgQuery__DistinctExpr * - pg_query__distinct_expr__unpack +PgQuery__JsonIsPredicate * + pg_query__json_is_predicate__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__distinct_expr__free_unpacked - (PgQuery__DistinctExpr *message, +void pg_query__json_is_predicate__free_unpacked + (PgQuery__JsonIsPredicate *message, ProtobufCAllocator *allocator); -/* PgQuery__NullIfExpr methods */ -void pg_query__null_if_expr__init - (PgQuery__NullIfExpr *message); -size_t pg_query__null_if_expr__get_packed_size - (const PgQuery__NullIfExpr *message); -size_t pg_query__null_if_expr__pack - (const PgQuery__NullIfExpr *message, +/* PgQuery__JsonBehavior methods */ +void pg_query__json_behavior__init + (PgQuery__JsonBehavior *message); +size_t pg_query__json_behavior__get_packed_size + (const PgQuery__JsonBehavior *message); +size_t pg_query__json_behavior__pack + (const PgQuery__JsonBehavior *message, uint8_t *out); -size_t pg_query__null_if_expr__pack_to_buffer - (const PgQuery__NullIfExpr *message, +size_t pg_query__json_behavior__pack_to_buffer + (const PgQuery__JsonBehavior *message, ProtobufCBuffer *buffer); -PgQuery__NullIfExpr * - pg_query__null_if_expr__unpack +PgQuery__JsonBehavior * + pg_query__json_behavior__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__null_if_expr__free_unpacked - (PgQuery__NullIfExpr *message, +void pg_query__json_behavior__free_unpacked + (PgQuery__JsonBehavior *message, ProtobufCAllocator *allocator); -/* PgQuery__ScalarArrayOpExpr methods */ -void pg_query__scalar_array_op_expr__init - (PgQuery__ScalarArrayOpExpr *message); -size_t pg_query__scalar_array_op_expr__get_packed_size - (const PgQuery__ScalarArrayOpExpr *message); -size_t pg_query__scalar_array_op_expr__pack - (const PgQuery__ScalarArrayOpExpr *message, +/* PgQuery__JsonExpr methods */ +void pg_query__json_expr__init + (PgQuery__JsonExpr *message); +size_t pg_query__json_expr__get_packed_size + (const PgQuery__JsonExpr *message); +size_t pg_query__json_expr__pack + (const PgQuery__JsonExpr *message, uint8_t *out); -size_t pg_query__scalar_array_op_expr__pack_to_buffer - (const PgQuery__ScalarArrayOpExpr *message, +size_t pg_query__json_expr__pack_to_buffer + (const PgQuery__JsonExpr *message, ProtobufCBuffer *buffer); -PgQuery__ScalarArrayOpExpr * - pg_query__scalar_array_op_expr__unpack +PgQuery__JsonExpr * + pg_query__json_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__scalar_array_op_expr__free_unpacked - (PgQuery__ScalarArrayOpExpr *message, +void pg_query__json_expr__free_unpacked + (PgQuery__JsonExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__BoolExpr methods */ -void pg_query__bool_expr__init - (PgQuery__BoolExpr *message); -size_t pg_query__bool_expr__get_packed_size - (const PgQuery__BoolExpr *message); -size_t pg_query__bool_expr__pack - (const PgQuery__BoolExpr *message, +/* PgQuery__JsonTablePath methods */ +void pg_query__json_table_path__init + (PgQuery__JsonTablePath *message); +size_t pg_query__json_table_path__get_packed_size + (const PgQuery__JsonTablePath *message); +size_t pg_query__json_table_path__pack + (const PgQuery__JsonTablePath *message, uint8_t *out); -size_t pg_query__bool_expr__pack_to_buffer - (const PgQuery__BoolExpr *message, +size_t pg_query__json_table_path__pack_to_buffer + (const PgQuery__JsonTablePath *message, ProtobufCBuffer *buffer); -PgQuery__BoolExpr * - pg_query__bool_expr__unpack +PgQuery__JsonTablePath * + pg_query__json_table_path__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__bool_expr__free_unpacked - (PgQuery__BoolExpr *message, +void pg_query__json_table_path__free_unpacked + (PgQuery__JsonTablePath *message, ProtobufCAllocator *allocator); -/* PgQuery__SubLink methods */ -void pg_query__sub_link__init - (PgQuery__SubLink *message); -size_t pg_query__sub_link__get_packed_size - (const PgQuery__SubLink *message); -size_t pg_query__sub_link__pack - (const PgQuery__SubLink *message, +/* PgQuery__JsonTablePathScan methods */ +void pg_query__json_table_path_scan__init + (PgQuery__JsonTablePathScan *message); +size_t pg_query__json_table_path_scan__get_packed_size + (const PgQuery__JsonTablePathScan *message); +size_t pg_query__json_table_path_scan__pack + (const PgQuery__JsonTablePathScan *message, uint8_t *out); -size_t pg_query__sub_link__pack_to_buffer - (const PgQuery__SubLink *message, +size_t pg_query__json_table_path_scan__pack_to_buffer + (const PgQuery__JsonTablePathScan *message, ProtobufCBuffer *buffer); -PgQuery__SubLink * - pg_query__sub_link__unpack +PgQuery__JsonTablePathScan * + pg_query__json_table_path_scan__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sub_link__free_unpacked - (PgQuery__SubLink *message, +void pg_query__json_table_path_scan__free_unpacked + (PgQuery__JsonTablePathScan *message, ProtobufCAllocator *allocator); -/* PgQuery__SubPlan methods */ -void pg_query__sub_plan__init - (PgQuery__SubPlan *message); -size_t pg_query__sub_plan__get_packed_size - (const PgQuery__SubPlan *message); -size_t pg_query__sub_plan__pack - (const PgQuery__SubPlan *message, +/* PgQuery__JsonTableSiblingJoin methods */ +void pg_query__json_table_sibling_join__init + (PgQuery__JsonTableSiblingJoin *message); +size_t pg_query__json_table_sibling_join__get_packed_size + (const PgQuery__JsonTableSiblingJoin *message); +size_t pg_query__json_table_sibling_join__pack + (const PgQuery__JsonTableSiblingJoin *message, uint8_t *out); -size_t pg_query__sub_plan__pack_to_buffer - (const PgQuery__SubPlan *message, +size_t pg_query__json_table_sibling_join__pack_to_buffer + (const PgQuery__JsonTableSiblingJoin *message, ProtobufCBuffer *buffer); -PgQuery__SubPlan * - pg_query__sub_plan__unpack +PgQuery__JsonTableSiblingJoin * + pg_query__json_table_sibling_join__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sub_plan__free_unpacked - (PgQuery__SubPlan *message, +void pg_query__json_table_sibling_join__free_unpacked + (PgQuery__JsonTableSiblingJoin *message, ProtobufCAllocator *allocator); -/* PgQuery__AlternativeSubPlan methods */ -void pg_query__alternative_sub_plan__init - (PgQuery__AlternativeSubPlan *message); -size_t pg_query__alternative_sub_plan__get_packed_size - (const PgQuery__AlternativeSubPlan *message); -size_t pg_query__alternative_sub_plan__pack - (const PgQuery__AlternativeSubPlan *message, +/* PgQuery__NullTest methods */ +void pg_query__null_test__init + (PgQuery__NullTest *message); +size_t pg_query__null_test__get_packed_size + (const PgQuery__NullTest *message); +size_t pg_query__null_test__pack + (const PgQuery__NullTest *message, uint8_t *out); -size_t pg_query__alternative_sub_plan__pack_to_buffer - (const PgQuery__AlternativeSubPlan *message, +size_t pg_query__null_test__pack_to_buffer + (const PgQuery__NullTest *message, ProtobufCBuffer *buffer); -PgQuery__AlternativeSubPlan * - pg_query__alternative_sub_plan__unpack +PgQuery__NullTest * + pg_query__null_test__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alternative_sub_plan__free_unpacked - (PgQuery__AlternativeSubPlan *message, +void pg_query__null_test__free_unpacked + (PgQuery__NullTest *message, ProtobufCAllocator *allocator); -/* PgQuery__FieldSelect methods */ -void pg_query__field_select__init - (PgQuery__FieldSelect *message); -size_t pg_query__field_select__get_packed_size - (const PgQuery__FieldSelect *message); -size_t pg_query__field_select__pack - (const PgQuery__FieldSelect *message, +/* PgQuery__BooleanTest methods */ +void pg_query__boolean_test__init + (PgQuery__BooleanTest *message); +size_t pg_query__boolean_test__get_packed_size + (const PgQuery__BooleanTest *message); +size_t pg_query__boolean_test__pack + (const PgQuery__BooleanTest *message, uint8_t *out); -size_t pg_query__field_select__pack_to_buffer - (const PgQuery__FieldSelect *message, +size_t pg_query__boolean_test__pack_to_buffer + (const PgQuery__BooleanTest *message, ProtobufCBuffer *buffer); -PgQuery__FieldSelect * - pg_query__field_select__unpack +PgQuery__BooleanTest * + pg_query__boolean_test__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__field_select__free_unpacked - (PgQuery__FieldSelect *message, +void pg_query__boolean_test__free_unpacked + (PgQuery__BooleanTest *message, ProtobufCAllocator *allocator); -/* PgQuery__FieldStore methods */ -void pg_query__field_store__init - (PgQuery__FieldStore *message); -size_t pg_query__field_store__get_packed_size - (const PgQuery__FieldStore *message); -size_t pg_query__field_store__pack - (const PgQuery__FieldStore *message, +/* PgQuery__MergeAction methods */ +void pg_query__merge_action__init + (PgQuery__MergeAction *message); +size_t pg_query__merge_action__get_packed_size + (const PgQuery__MergeAction *message); +size_t pg_query__merge_action__pack + (const PgQuery__MergeAction *message, uint8_t *out); -size_t pg_query__field_store__pack_to_buffer - (const PgQuery__FieldStore *message, +size_t pg_query__merge_action__pack_to_buffer + (const PgQuery__MergeAction *message, ProtobufCBuffer *buffer); -PgQuery__FieldStore * - pg_query__field_store__unpack +PgQuery__MergeAction * + pg_query__merge_action__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__field_store__free_unpacked - (PgQuery__FieldStore *message, +void pg_query__merge_action__free_unpacked + (PgQuery__MergeAction *message, ProtobufCAllocator *allocator); -/* PgQuery__RelabelType methods */ -void pg_query__relabel_type__init - (PgQuery__RelabelType *message); -size_t pg_query__relabel_type__get_packed_size - (const PgQuery__RelabelType *message); -size_t pg_query__relabel_type__pack - (const PgQuery__RelabelType *message, +/* PgQuery__CoerceToDomain methods */ +void pg_query__coerce_to_domain__init + (PgQuery__CoerceToDomain *message); +size_t pg_query__coerce_to_domain__get_packed_size + (const PgQuery__CoerceToDomain *message); +size_t pg_query__coerce_to_domain__pack + (const PgQuery__CoerceToDomain *message, uint8_t *out); -size_t pg_query__relabel_type__pack_to_buffer - (const PgQuery__RelabelType *message, +size_t pg_query__coerce_to_domain__pack_to_buffer + (const PgQuery__CoerceToDomain *message, ProtobufCBuffer *buffer); -PgQuery__RelabelType * - pg_query__relabel_type__unpack +PgQuery__CoerceToDomain * + pg_query__coerce_to_domain__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__relabel_type__free_unpacked - (PgQuery__RelabelType *message, +void pg_query__coerce_to_domain__free_unpacked + (PgQuery__CoerceToDomain *message, ProtobufCAllocator *allocator); -/* PgQuery__CoerceViaIO methods */ -void pg_query__coerce_via_io__init - (PgQuery__CoerceViaIO *message); -size_t pg_query__coerce_via_io__get_packed_size - (const PgQuery__CoerceViaIO *message); -size_t pg_query__coerce_via_io__pack - (const PgQuery__CoerceViaIO *message, +/* PgQuery__CoerceToDomainValue methods */ +void pg_query__coerce_to_domain_value__init + (PgQuery__CoerceToDomainValue *message); +size_t pg_query__coerce_to_domain_value__get_packed_size + (const PgQuery__CoerceToDomainValue *message); +size_t pg_query__coerce_to_domain_value__pack + (const PgQuery__CoerceToDomainValue *message, uint8_t *out); -size_t pg_query__coerce_via_io__pack_to_buffer - (const PgQuery__CoerceViaIO *message, +size_t pg_query__coerce_to_domain_value__pack_to_buffer + (const PgQuery__CoerceToDomainValue *message, ProtobufCBuffer *buffer); -PgQuery__CoerceViaIO * - pg_query__coerce_via_io__unpack +PgQuery__CoerceToDomainValue * + pg_query__coerce_to_domain_value__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__coerce_via_io__free_unpacked - (PgQuery__CoerceViaIO *message, +void pg_query__coerce_to_domain_value__free_unpacked + (PgQuery__CoerceToDomainValue *message, ProtobufCAllocator *allocator); -/* PgQuery__ArrayCoerceExpr methods */ -void pg_query__array_coerce_expr__init - (PgQuery__ArrayCoerceExpr *message); -size_t pg_query__array_coerce_expr__get_packed_size - (const PgQuery__ArrayCoerceExpr *message); -size_t pg_query__array_coerce_expr__pack - (const PgQuery__ArrayCoerceExpr *message, - uint8_t *out); -size_t pg_query__array_coerce_expr__pack_to_buffer - (const PgQuery__ArrayCoerceExpr *message, +/* PgQuery__SetToDefault methods */ +void pg_query__set_to_default__init + (PgQuery__SetToDefault *message); +size_t pg_query__set_to_default__get_packed_size + (const PgQuery__SetToDefault *message); +size_t pg_query__set_to_default__pack + (const PgQuery__SetToDefault *message, + uint8_t *out); +size_t pg_query__set_to_default__pack_to_buffer + (const PgQuery__SetToDefault *message, ProtobufCBuffer *buffer); -PgQuery__ArrayCoerceExpr * - pg_query__array_coerce_expr__unpack +PgQuery__SetToDefault * + pg_query__set_to_default__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__array_coerce_expr__free_unpacked - (PgQuery__ArrayCoerceExpr *message, +void pg_query__set_to_default__free_unpacked + (PgQuery__SetToDefault *message, ProtobufCAllocator *allocator); -/* PgQuery__ConvertRowtypeExpr methods */ -void pg_query__convert_rowtype_expr__init - (PgQuery__ConvertRowtypeExpr *message); -size_t pg_query__convert_rowtype_expr__get_packed_size - (const PgQuery__ConvertRowtypeExpr *message); -size_t pg_query__convert_rowtype_expr__pack - (const PgQuery__ConvertRowtypeExpr *message, +/* PgQuery__CurrentOfExpr methods */ +void pg_query__current_of_expr__init + (PgQuery__CurrentOfExpr *message); +size_t pg_query__current_of_expr__get_packed_size + (const PgQuery__CurrentOfExpr *message); +size_t pg_query__current_of_expr__pack + (const PgQuery__CurrentOfExpr *message, uint8_t *out); -size_t pg_query__convert_rowtype_expr__pack_to_buffer - (const PgQuery__ConvertRowtypeExpr *message, +size_t pg_query__current_of_expr__pack_to_buffer + (const PgQuery__CurrentOfExpr *message, ProtobufCBuffer *buffer); -PgQuery__ConvertRowtypeExpr * - pg_query__convert_rowtype_expr__unpack +PgQuery__CurrentOfExpr * + pg_query__current_of_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__convert_rowtype_expr__free_unpacked - (PgQuery__ConvertRowtypeExpr *message, +void pg_query__current_of_expr__free_unpacked + (PgQuery__CurrentOfExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__CollateExpr methods */ -void pg_query__collate_expr__init - (PgQuery__CollateExpr *message); -size_t pg_query__collate_expr__get_packed_size - (const PgQuery__CollateExpr *message); -size_t pg_query__collate_expr__pack - (const PgQuery__CollateExpr *message, +/* PgQuery__NextValueExpr methods */ +void pg_query__next_value_expr__init + (PgQuery__NextValueExpr *message); +size_t pg_query__next_value_expr__get_packed_size + (const PgQuery__NextValueExpr *message); +size_t pg_query__next_value_expr__pack + (const PgQuery__NextValueExpr *message, uint8_t *out); -size_t pg_query__collate_expr__pack_to_buffer - (const PgQuery__CollateExpr *message, +size_t pg_query__next_value_expr__pack_to_buffer + (const PgQuery__NextValueExpr *message, ProtobufCBuffer *buffer); -PgQuery__CollateExpr * - pg_query__collate_expr__unpack +PgQuery__NextValueExpr * + pg_query__next_value_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__collate_expr__free_unpacked - (PgQuery__CollateExpr *message, +void pg_query__next_value_expr__free_unpacked + (PgQuery__NextValueExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__CaseExpr methods */ -void pg_query__case_expr__init - (PgQuery__CaseExpr *message); -size_t pg_query__case_expr__get_packed_size - (const PgQuery__CaseExpr *message); -size_t pg_query__case_expr__pack - (const PgQuery__CaseExpr *message, +/* PgQuery__InferenceElem methods */ +void pg_query__inference_elem__init + (PgQuery__InferenceElem *message); +size_t pg_query__inference_elem__get_packed_size + (const PgQuery__InferenceElem *message); +size_t pg_query__inference_elem__pack + (const PgQuery__InferenceElem *message, uint8_t *out); -size_t pg_query__case_expr__pack_to_buffer - (const PgQuery__CaseExpr *message, +size_t pg_query__inference_elem__pack_to_buffer + (const PgQuery__InferenceElem *message, ProtobufCBuffer *buffer); -PgQuery__CaseExpr * - pg_query__case_expr__unpack +PgQuery__InferenceElem * + pg_query__inference_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__case_expr__free_unpacked - (PgQuery__CaseExpr *message, +void pg_query__inference_elem__free_unpacked + (PgQuery__InferenceElem *message, ProtobufCAllocator *allocator); -/* PgQuery__CaseWhen methods */ -void pg_query__case_when__init - (PgQuery__CaseWhen *message); -size_t pg_query__case_when__get_packed_size - (const PgQuery__CaseWhen *message); -size_t pg_query__case_when__pack - (const PgQuery__CaseWhen *message, +/* PgQuery__TargetEntry methods */ +void pg_query__target_entry__init + (PgQuery__TargetEntry *message); +size_t pg_query__target_entry__get_packed_size + (const PgQuery__TargetEntry *message); +size_t pg_query__target_entry__pack + (const PgQuery__TargetEntry *message, uint8_t *out); -size_t pg_query__case_when__pack_to_buffer - (const PgQuery__CaseWhen *message, +size_t pg_query__target_entry__pack_to_buffer + (const PgQuery__TargetEntry *message, ProtobufCBuffer *buffer); -PgQuery__CaseWhen * - pg_query__case_when__unpack +PgQuery__TargetEntry * + pg_query__target_entry__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__case_when__free_unpacked - (PgQuery__CaseWhen *message, +void pg_query__target_entry__free_unpacked + (PgQuery__TargetEntry *message, ProtobufCAllocator *allocator); -/* PgQuery__CaseTestExpr methods */ -void pg_query__case_test_expr__init - (PgQuery__CaseTestExpr *message); -size_t pg_query__case_test_expr__get_packed_size - (const PgQuery__CaseTestExpr *message); -size_t pg_query__case_test_expr__pack - (const PgQuery__CaseTestExpr *message, +/* PgQuery__RangeTblRef methods */ +void pg_query__range_tbl_ref__init + (PgQuery__RangeTblRef *message); +size_t pg_query__range_tbl_ref__get_packed_size + (const PgQuery__RangeTblRef *message); +size_t pg_query__range_tbl_ref__pack + (const PgQuery__RangeTblRef *message, uint8_t *out); -size_t pg_query__case_test_expr__pack_to_buffer - (const PgQuery__CaseTestExpr *message, +size_t pg_query__range_tbl_ref__pack_to_buffer + (const PgQuery__RangeTblRef *message, ProtobufCBuffer *buffer); -PgQuery__CaseTestExpr * - pg_query__case_test_expr__unpack +PgQuery__RangeTblRef * + pg_query__range_tbl_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__case_test_expr__free_unpacked - (PgQuery__CaseTestExpr *message, +void pg_query__range_tbl_ref__free_unpacked + (PgQuery__RangeTblRef *message, ProtobufCAllocator *allocator); -/* PgQuery__ArrayExpr methods */ -void pg_query__array_expr__init - (PgQuery__ArrayExpr *message); -size_t pg_query__array_expr__get_packed_size - (const PgQuery__ArrayExpr *message); -size_t pg_query__array_expr__pack - (const PgQuery__ArrayExpr *message, +/* PgQuery__JoinExpr methods */ +void pg_query__join_expr__init + (PgQuery__JoinExpr *message); +size_t pg_query__join_expr__get_packed_size + (const PgQuery__JoinExpr *message); +size_t pg_query__join_expr__pack + (const PgQuery__JoinExpr *message, uint8_t *out); -size_t pg_query__array_expr__pack_to_buffer - (const PgQuery__ArrayExpr *message, +size_t pg_query__join_expr__pack_to_buffer + (const PgQuery__JoinExpr *message, ProtobufCBuffer *buffer); -PgQuery__ArrayExpr * - pg_query__array_expr__unpack +PgQuery__JoinExpr * + pg_query__join_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__array_expr__free_unpacked - (PgQuery__ArrayExpr *message, +void pg_query__join_expr__free_unpacked + (PgQuery__JoinExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__RowExpr methods */ -void pg_query__row_expr__init - (PgQuery__RowExpr *message); -size_t pg_query__row_expr__get_packed_size - (const PgQuery__RowExpr *message); -size_t pg_query__row_expr__pack - (const PgQuery__RowExpr *message, +/* PgQuery__FromExpr methods */ +void pg_query__from_expr__init + (PgQuery__FromExpr *message); +size_t pg_query__from_expr__get_packed_size + (const PgQuery__FromExpr *message); +size_t pg_query__from_expr__pack + (const PgQuery__FromExpr *message, uint8_t *out); -size_t pg_query__row_expr__pack_to_buffer - (const PgQuery__RowExpr *message, +size_t pg_query__from_expr__pack_to_buffer + (const PgQuery__FromExpr *message, ProtobufCBuffer *buffer); -PgQuery__RowExpr * - pg_query__row_expr__unpack +PgQuery__FromExpr * + pg_query__from_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__row_expr__free_unpacked - (PgQuery__RowExpr *message, +void pg_query__from_expr__free_unpacked + (PgQuery__FromExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__RowCompareExpr methods */ -void pg_query__row_compare_expr__init - (PgQuery__RowCompareExpr *message); -size_t pg_query__row_compare_expr__get_packed_size - (const PgQuery__RowCompareExpr *message); -size_t pg_query__row_compare_expr__pack - (const PgQuery__RowCompareExpr *message, +/* PgQuery__OnConflictExpr methods */ +void pg_query__on_conflict_expr__init + (PgQuery__OnConflictExpr *message); +size_t pg_query__on_conflict_expr__get_packed_size + (const PgQuery__OnConflictExpr *message); +size_t pg_query__on_conflict_expr__pack + (const PgQuery__OnConflictExpr *message, uint8_t *out); -size_t pg_query__row_compare_expr__pack_to_buffer - (const PgQuery__RowCompareExpr *message, +size_t pg_query__on_conflict_expr__pack_to_buffer + (const PgQuery__OnConflictExpr *message, ProtobufCBuffer *buffer); -PgQuery__RowCompareExpr * - pg_query__row_compare_expr__unpack +PgQuery__OnConflictExpr * + pg_query__on_conflict_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__row_compare_expr__free_unpacked - (PgQuery__RowCompareExpr *message, +void pg_query__on_conflict_expr__free_unpacked + (PgQuery__OnConflictExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__CoalesceExpr methods */ -void pg_query__coalesce_expr__init - (PgQuery__CoalesceExpr *message); -size_t pg_query__coalesce_expr__get_packed_size - (const PgQuery__CoalesceExpr *message); -size_t pg_query__coalesce_expr__pack - (const PgQuery__CoalesceExpr *message, +/* PgQuery__Query methods */ +void pg_query__query__init + (PgQuery__Query *message); +size_t pg_query__query__get_packed_size + (const PgQuery__Query *message); +size_t pg_query__query__pack + (const PgQuery__Query *message, uint8_t *out); -size_t pg_query__coalesce_expr__pack_to_buffer - (const PgQuery__CoalesceExpr *message, +size_t pg_query__query__pack_to_buffer + (const PgQuery__Query *message, ProtobufCBuffer *buffer); -PgQuery__CoalesceExpr * - pg_query__coalesce_expr__unpack +PgQuery__Query * + pg_query__query__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__coalesce_expr__free_unpacked - (PgQuery__CoalesceExpr *message, +void pg_query__query__free_unpacked + (PgQuery__Query *message, ProtobufCAllocator *allocator); -/* PgQuery__MinMaxExpr methods */ -void pg_query__min_max_expr__init - (PgQuery__MinMaxExpr *message); -size_t pg_query__min_max_expr__get_packed_size - (const PgQuery__MinMaxExpr *message); -size_t pg_query__min_max_expr__pack - (const PgQuery__MinMaxExpr *message, +/* PgQuery__TypeName methods */ +void pg_query__type_name__init + (PgQuery__TypeName *message); +size_t pg_query__type_name__get_packed_size + (const PgQuery__TypeName *message); +size_t pg_query__type_name__pack + (const PgQuery__TypeName *message, uint8_t *out); -size_t pg_query__min_max_expr__pack_to_buffer - (const PgQuery__MinMaxExpr *message, +size_t pg_query__type_name__pack_to_buffer + (const PgQuery__TypeName *message, ProtobufCBuffer *buffer); -PgQuery__MinMaxExpr * - pg_query__min_max_expr__unpack +PgQuery__TypeName * + pg_query__type_name__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__min_max_expr__free_unpacked - (PgQuery__MinMaxExpr *message, +void pg_query__type_name__free_unpacked + (PgQuery__TypeName *message, ProtobufCAllocator *allocator); -/* PgQuery__SQLValueFunction methods */ -void pg_query__sqlvalue_function__init - (PgQuery__SQLValueFunction *message); -size_t pg_query__sqlvalue_function__get_packed_size - (const PgQuery__SQLValueFunction *message); -size_t pg_query__sqlvalue_function__pack - (const PgQuery__SQLValueFunction *message, +/* PgQuery__ColumnRef methods */ +void pg_query__column_ref__init + (PgQuery__ColumnRef *message); +size_t pg_query__column_ref__get_packed_size + (const PgQuery__ColumnRef *message); +size_t pg_query__column_ref__pack + (const PgQuery__ColumnRef *message, uint8_t *out); -size_t pg_query__sqlvalue_function__pack_to_buffer - (const PgQuery__SQLValueFunction *message, +size_t pg_query__column_ref__pack_to_buffer + (const PgQuery__ColumnRef *message, ProtobufCBuffer *buffer); -PgQuery__SQLValueFunction * - pg_query__sqlvalue_function__unpack +PgQuery__ColumnRef * + pg_query__column_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sqlvalue_function__free_unpacked - (PgQuery__SQLValueFunction *message, +void pg_query__column_ref__free_unpacked + (PgQuery__ColumnRef *message, ProtobufCAllocator *allocator); -/* PgQuery__XmlExpr methods */ -void pg_query__xml_expr__init - (PgQuery__XmlExpr *message); -size_t pg_query__xml_expr__get_packed_size - (const PgQuery__XmlExpr *message); -size_t pg_query__xml_expr__pack - (const PgQuery__XmlExpr *message, +/* PgQuery__ParamRef methods */ +void pg_query__param_ref__init + (PgQuery__ParamRef *message); +size_t pg_query__param_ref__get_packed_size + (const PgQuery__ParamRef *message); +size_t pg_query__param_ref__pack + (const PgQuery__ParamRef *message, uint8_t *out); -size_t pg_query__xml_expr__pack_to_buffer - (const PgQuery__XmlExpr *message, +size_t pg_query__param_ref__pack_to_buffer + (const PgQuery__ParamRef *message, ProtobufCBuffer *buffer); -PgQuery__XmlExpr * - pg_query__xml_expr__unpack +PgQuery__ParamRef * + pg_query__param_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__xml_expr__free_unpacked - (PgQuery__XmlExpr *message, +void pg_query__param_ref__free_unpacked + (PgQuery__ParamRef *message, ProtobufCAllocator *allocator); -/* PgQuery__NullTest methods */ -void pg_query__null_test__init - (PgQuery__NullTest *message); -size_t pg_query__null_test__get_packed_size - (const PgQuery__NullTest *message); -size_t pg_query__null_test__pack - (const PgQuery__NullTest *message, +/* PgQuery__AExpr methods */ +void pg_query__a__expr__init + (PgQuery__AExpr *message); +size_t pg_query__a__expr__get_packed_size + (const PgQuery__AExpr *message); +size_t pg_query__a__expr__pack + (const PgQuery__AExpr *message, uint8_t *out); -size_t pg_query__null_test__pack_to_buffer - (const PgQuery__NullTest *message, +size_t pg_query__a__expr__pack_to_buffer + (const PgQuery__AExpr *message, ProtobufCBuffer *buffer); -PgQuery__NullTest * - pg_query__null_test__unpack +PgQuery__AExpr * + pg_query__a__expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__null_test__free_unpacked - (PgQuery__NullTest *message, +void pg_query__a__expr__free_unpacked + (PgQuery__AExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__BooleanTest methods */ -void pg_query__boolean_test__init - (PgQuery__BooleanTest *message); -size_t pg_query__boolean_test__get_packed_size - (const PgQuery__BooleanTest *message); -size_t pg_query__boolean_test__pack - (const PgQuery__BooleanTest *message, +/* PgQuery__TypeCast methods */ +void pg_query__type_cast__init + (PgQuery__TypeCast *message); +size_t pg_query__type_cast__get_packed_size + (const PgQuery__TypeCast *message); +size_t pg_query__type_cast__pack + (const PgQuery__TypeCast *message, uint8_t *out); -size_t pg_query__boolean_test__pack_to_buffer - (const PgQuery__BooleanTest *message, +size_t pg_query__type_cast__pack_to_buffer + (const PgQuery__TypeCast *message, ProtobufCBuffer *buffer); -PgQuery__BooleanTest * - pg_query__boolean_test__unpack +PgQuery__TypeCast * + pg_query__type_cast__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__boolean_test__free_unpacked - (PgQuery__BooleanTest *message, +void pg_query__type_cast__free_unpacked + (PgQuery__TypeCast *message, ProtobufCAllocator *allocator); -/* PgQuery__CoerceToDomain methods */ -void pg_query__coerce_to_domain__init - (PgQuery__CoerceToDomain *message); -size_t pg_query__coerce_to_domain__get_packed_size - (const PgQuery__CoerceToDomain *message); -size_t pg_query__coerce_to_domain__pack - (const PgQuery__CoerceToDomain *message, +/* PgQuery__CollateClause methods */ +void pg_query__collate_clause__init + (PgQuery__CollateClause *message); +size_t pg_query__collate_clause__get_packed_size + (const PgQuery__CollateClause *message); +size_t pg_query__collate_clause__pack + (const PgQuery__CollateClause *message, uint8_t *out); -size_t pg_query__coerce_to_domain__pack_to_buffer - (const PgQuery__CoerceToDomain *message, +size_t pg_query__collate_clause__pack_to_buffer + (const PgQuery__CollateClause *message, ProtobufCBuffer *buffer); -PgQuery__CoerceToDomain * - pg_query__coerce_to_domain__unpack +PgQuery__CollateClause * + pg_query__collate_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__coerce_to_domain__free_unpacked - (PgQuery__CoerceToDomain *message, +void pg_query__collate_clause__free_unpacked + (PgQuery__CollateClause *message, ProtobufCAllocator *allocator); -/* PgQuery__CoerceToDomainValue methods */ -void pg_query__coerce_to_domain_value__init - (PgQuery__CoerceToDomainValue *message); -size_t pg_query__coerce_to_domain_value__get_packed_size - (const PgQuery__CoerceToDomainValue *message); -size_t pg_query__coerce_to_domain_value__pack - (const PgQuery__CoerceToDomainValue *message, +/* PgQuery__RoleSpec methods */ +void pg_query__role_spec__init + (PgQuery__RoleSpec *message); +size_t pg_query__role_spec__get_packed_size + (const PgQuery__RoleSpec *message); +size_t pg_query__role_spec__pack + (const PgQuery__RoleSpec *message, uint8_t *out); -size_t pg_query__coerce_to_domain_value__pack_to_buffer - (const PgQuery__CoerceToDomainValue *message, +size_t pg_query__role_spec__pack_to_buffer + (const PgQuery__RoleSpec *message, ProtobufCBuffer *buffer); -PgQuery__CoerceToDomainValue * - pg_query__coerce_to_domain_value__unpack +PgQuery__RoleSpec * + pg_query__role_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__coerce_to_domain_value__free_unpacked - (PgQuery__CoerceToDomainValue *message, +void pg_query__role_spec__free_unpacked + (PgQuery__RoleSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__SetToDefault methods */ -void pg_query__set_to_default__init - (PgQuery__SetToDefault *message); -size_t pg_query__set_to_default__get_packed_size - (const PgQuery__SetToDefault *message); -size_t pg_query__set_to_default__pack - (const PgQuery__SetToDefault *message, +/* PgQuery__FuncCall methods */ +void pg_query__func_call__init + (PgQuery__FuncCall *message); +size_t pg_query__func_call__get_packed_size + (const PgQuery__FuncCall *message); +size_t pg_query__func_call__pack + (const PgQuery__FuncCall *message, uint8_t *out); -size_t pg_query__set_to_default__pack_to_buffer - (const PgQuery__SetToDefault *message, +size_t pg_query__func_call__pack_to_buffer + (const PgQuery__FuncCall *message, ProtobufCBuffer *buffer); -PgQuery__SetToDefault * - pg_query__set_to_default__unpack +PgQuery__FuncCall * + pg_query__func_call__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__set_to_default__free_unpacked - (PgQuery__SetToDefault *message, +void pg_query__func_call__free_unpacked + (PgQuery__FuncCall *message, ProtobufCAllocator *allocator); -/* PgQuery__CurrentOfExpr methods */ -void pg_query__current_of_expr__init - (PgQuery__CurrentOfExpr *message); -size_t pg_query__current_of_expr__get_packed_size - (const PgQuery__CurrentOfExpr *message); -size_t pg_query__current_of_expr__pack - (const PgQuery__CurrentOfExpr *message, +/* PgQuery__AStar methods */ +void pg_query__a__star__init + (PgQuery__AStar *message); +size_t pg_query__a__star__get_packed_size + (const PgQuery__AStar *message); +size_t pg_query__a__star__pack + (const PgQuery__AStar *message, uint8_t *out); -size_t pg_query__current_of_expr__pack_to_buffer - (const PgQuery__CurrentOfExpr *message, +size_t pg_query__a__star__pack_to_buffer + (const PgQuery__AStar *message, ProtobufCBuffer *buffer); -PgQuery__CurrentOfExpr * - pg_query__current_of_expr__unpack +PgQuery__AStar * + pg_query__a__star__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__current_of_expr__free_unpacked - (PgQuery__CurrentOfExpr *message, +void pg_query__a__star__free_unpacked + (PgQuery__AStar *message, ProtobufCAllocator *allocator); -/* PgQuery__NextValueExpr methods */ -void pg_query__next_value_expr__init - (PgQuery__NextValueExpr *message); -size_t pg_query__next_value_expr__get_packed_size - (const PgQuery__NextValueExpr *message); -size_t pg_query__next_value_expr__pack - (const PgQuery__NextValueExpr *message, +/* PgQuery__AIndices methods */ +void pg_query__a__indices__init + (PgQuery__AIndices *message); +size_t pg_query__a__indices__get_packed_size + (const PgQuery__AIndices *message); +size_t pg_query__a__indices__pack + (const PgQuery__AIndices *message, uint8_t *out); -size_t pg_query__next_value_expr__pack_to_buffer - (const PgQuery__NextValueExpr *message, +size_t pg_query__a__indices__pack_to_buffer + (const PgQuery__AIndices *message, ProtobufCBuffer *buffer); -PgQuery__NextValueExpr * - pg_query__next_value_expr__unpack +PgQuery__AIndices * + pg_query__a__indices__unpack (ProtobufCAllocator *allocator, size_t len, - const uint8_t *data); -void pg_query__next_value_expr__free_unpacked - (PgQuery__NextValueExpr *message, - ProtobufCAllocator *allocator); -/* PgQuery__InferenceElem methods */ -void pg_query__inference_elem__init - (PgQuery__InferenceElem *message); -size_t pg_query__inference_elem__get_packed_size - (const PgQuery__InferenceElem *message); -size_t pg_query__inference_elem__pack - (const PgQuery__InferenceElem *message, + const uint8_t *data); +void pg_query__a__indices__free_unpacked + (PgQuery__AIndices *message, + ProtobufCAllocator *allocator); +/* PgQuery__AIndirection methods */ +void pg_query__a__indirection__init + (PgQuery__AIndirection *message); +size_t pg_query__a__indirection__get_packed_size + (const PgQuery__AIndirection *message); +size_t pg_query__a__indirection__pack + (const PgQuery__AIndirection *message, uint8_t *out); -size_t pg_query__inference_elem__pack_to_buffer - (const PgQuery__InferenceElem *message, +size_t pg_query__a__indirection__pack_to_buffer + (const PgQuery__AIndirection *message, ProtobufCBuffer *buffer); -PgQuery__InferenceElem * - pg_query__inference_elem__unpack +PgQuery__AIndirection * + pg_query__a__indirection__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__inference_elem__free_unpacked - (PgQuery__InferenceElem *message, +void pg_query__a__indirection__free_unpacked + (PgQuery__AIndirection *message, ProtobufCAllocator *allocator); -/* PgQuery__TargetEntry methods */ -void pg_query__target_entry__init - (PgQuery__TargetEntry *message); -size_t pg_query__target_entry__get_packed_size - (const PgQuery__TargetEntry *message); -size_t pg_query__target_entry__pack - (const PgQuery__TargetEntry *message, +/* PgQuery__AArrayExpr methods */ +void pg_query__a__array_expr__init + (PgQuery__AArrayExpr *message); +size_t pg_query__a__array_expr__get_packed_size + (const PgQuery__AArrayExpr *message); +size_t pg_query__a__array_expr__pack + (const PgQuery__AArrayExpr *message, uint8_t *out); -size_t pg_query__target_entry__pack_to_buffer - (const PgQuery__TargetEntry *message, +size_t pg_query__a__array_expr__pack_to_buffer + (const PgQuery__AArrayExpr *message, ProtobufCBuffer *buffer); -PgQuery__TargetEntry * - pg_query__target_entry__unpack +PgQuery__AArrayExpr * + pg_query__a__array_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__target_entry__free_unpacked - (PgQuery__TargetEntry *message, +void pg_query__a__array_expr__free_unpacked + (PgQuery__AArrayExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeTblRef methods */ -void pg_query__range_tbl_ref__init - (PgQuery__RangeTblRef *message); -size_t pg_query__range_tbl_ref__get_packed_size - (const PgQuery__RangeTblRef *message); -size_t pg_query__range_tbl_ref__pack - (const PgQuery__RangeTblRef *message, +/* PgQuery__ResTarget methods */ +void pg_query__res_target__init + (PgQuery__ResTarget *message); +size_t pg_query__res_target__get_packed_size + (const PgQuery__ResTarget *message); +size_t pg_query__res_target__pack + (const PgQuery__ResTarget *message, uint8_t *out); -size_t pg_query__range_tbl_ref__pack_to_buffer - (const PgQuery__RangeTblRef *message, +size_t pg_query__res_target__pack_to_buffer + (const PgQuery__ResTarget *message, ProtobufCBuffer *buffer); -PgQuery__RangeTblRef * - pg_query__range_tbl_ref__unpack +PgQuery__ResTarget * + pg_query__res_target__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_tbl_ref__free_unpacked - (PgQuery__RangeTblRef *message, +void pg_query__res_target__free_unpacked + (PgQuery__ResTarget *message, ProtobufCAllocator *allocator); -/* PgQuery__JoinExpr methods */ -void pg_query__join_expr__init - (PgQuery__JoinExpr *message); -size_t pg_query__join_expr__get_packed_size - (const PgQuery__JoinExpr *message); -size_t pg_query__join_expr__pack - (const PgQuery__JoinExpr *message, +/* PgQuery__MultiAssignRef methods */ +void pg_query__multi_assign_ref__init + (PgQuery__MultiAssignRef *message); +size_t pg_query__multi_assign_ref__get_packed_size + (const PgQuery__MultiAssignRef *message); +size_t pg_query__multi_assign_ref__pack + (const PgQuery__MultiAssignRef *message, uint8_t *out); -size_t pg_query__join_expr__pack_to_buffer - (const PgQuery__JoinExpr *message, +size_t pg_query__multi_assign_ref__pack_to_buffer + (const PgQuery__MultiAssignRef *message, ProtobufCBuffer *buffer); -PgQuery__JoinExpr * - pg_query__join_expr__unpack +PgQuery__MultiAssignRef * + pg_query__multi_assign_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__join_expr__free_unpacked - (PgQuery__JoinExpr *message, +void pg_query__multi_assign_ref__free_unpacked + (PgQuery__MultiAssignRef *message, ProtobufCAllocator *allocator); -/* PgQuery__FromExpr methods */ -void pg_query__from_expr__init - (PgQuery__FromExpr *message); -size_t pg_query__from_expr__get_packed_size - (const PgQuery__FromExpr *message); -size_t pg_query__from_expr__pack - (const PgQuery__FromExpr *message, +/* PgQuery__SortBy methods */ +void pg_query__sort_by__init + (PgQuery__SortBy *message); +size_t pg_query__sort_by__get_packed_size + (const PgQuery__SortBy *message); +size_t pg_query__sort_by__pack + (const PgQuery__SortBy *message, uint8_t *out); -size_t pg_query__from_expr__pack_to_buffer - (const PgQuery__FromExpr *message, +size_t pg_query__sort_by__pack_to_buffer + (const PgQuery__SortBy *message, ProtobufCBuffer *buffer); -PgQuery__FromExpr * - pg_query__from_expr__unpack +PgQuery__SortBy * + pg_query__sort_by__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__from_expr__free_unpacked - (PgQuery__FromExpr *message, +void pg_query__sort_by__free_unpacked + (PgQuery__SortBy *message, ProtobufCAllocator *allocator); -/* PgQuery__OnConflictExpr methods */ -void pg_query__on_conflict_expr__init - (PgQuery__OnConflictExpr *message); -size_t pg_query__on_conflict_expr__get_packed_size - (const PgQuery__OnConflictExpr *message); -size_t pg_query__on_conflict_expr__pack - (const PgQuery__OnConflictExpr *message, +/* PgQuery__WindowDef methods */ +void pg_query__window_def__init + (PgQuery__WindowDef *message); +size_t pg_query__window_def__get_packed_size + (const PgQuery__WindowDef *message); +size_t pg_query__window_def__pack + (const PgQuery__WindowDef *message, uint8_t *out); -size_t pg_query__on_conflict_expr__pack_to_buffer - (const PgQuery__OnConflictExpr *message, +size_t pg_query__window_def__pack_to_buffer + (const PgQuery__WindowDef *message, ProtobufCBuffer *buffer); -PgQuery__OnConflictExpr * - pg_query__on_conflict_expr__unpack +PgQuery__WindowDef * + pg_query__window_def__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__on_conflict_expr__free_unpacked - (PgQuery__OnConflictExpr *message, +void pg_query__window_def__free_unpacked + (PgQuery__WindowDef *message, ProtobufCAllocator *allocator); -/* PgQuery__IntoClause methods */ -void pg_query__into_clause__init - (PgQuery__IntoClause *message); -size_t pg_query__into_clause__get_packed_size - (const PgQuery__IntoClause *message); -size_t pg_query__into_clause__pack - (const PgQuery__IntoClause *message, +/* PgQuery__RangeSubselect methods */ +void pg_query__range_subselect__init + (PgQuery__RangeSubselect *message); +size_t pg_query__range_subselect__get_packed_size + (const PgQuery__RangeSubselect *message); +size_t pg_query__range_subselect__pack + (const PgQuery__RangeSubselect *message, uint8_t *out); -size_t pg_query__into_clause__pack_to_buffer - (const PgQuery__IntoClause *message, +size_t pg_query__range_subselect__pack_to_buffer + (const PgQuery__RangeSubselect *message, ProtobufCBuffer *buffer); -PgQuery__IntoClause * - pg_query__into_clause__unpack +PgQuery__RangeSubselect * + pg_query__range_subselect__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__into_clause__free_unpacked - (PgQuery__IntoClause *message, +void pg_query__range_subselect__free_unpacked + (PgQuery__RangeSubselect *message, ProtobufCAllocator *allocator); -/* PgQuery__MergeAction methods */ -void pg_query__merge_action__init - (PgQuery__MergeAction *message); -size_t pg_query__merge_action__get_packed_size - (const PgQuery__MergeAction *message); -size_t pg_query__merge_action__pack - (const PgQuery__MergeAction *message, +/* PgQuery__RangeFunction methods */ +void pg_query__range_function__init + (PgQuery__RangeFunction *message); +size_t pg_query__range_function__get_packed_size + (const PgQuery__RangeFunction *message); +size_t pg_query__range_function__pack + (const PgQuery__RangeFunction *message, uint8_t *out); -size_t pg_query__merge_action__pack_to_buffer - (const PgQuery__MergeAction *message, +size_t pg_query__range_function__pack_to_buffer + (const PgQuery__RangeFunction *message, ProtobufCBuffer *buffer); -PgQuery__MergeAction * - pg_query__merge_action__unpack +PgQuery__RangeFunction * + pg_query__range_function__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__merge_action__free_unpacked - (PgQuery__MergeAction *message, +void pg_query__range_function__free_unpacked + (PgQuery__RangeFunction *message, ProtobufCAllocator *allocator); -/* PgQuery__RawStmt methods */ -void pg_query__raw_stmt__init - (PgQuery__RawStmt *message); -size_t pg_query__raw_stmt__get_packed_size - (const PgQuery__RawStmt *message); -size_t pg_query__raw_stmt__pack - (const PgQuery__RawStmt *message, +/* PgQuery__RangeTableFunc methods */ +void pg_query__range_table_func__init + (PgQuery__RangeTableFunc *message); +size_t pg_query__range_table_func__get_packed_size + (const PgQuery__RangeTableFunc *message); +size_t pg_query__range_table_func__pack + (const PgQuery__RangeTableFunc *message, uint8_t *out); -size_t pg_query__raw_stmt__pack_to_buffer - (const PgQuery__RawStmt *message, +size_t pg_query__range_table_func__pack_to_buffer + (const PgQuery__RangeTableFunc *message, ProtobufCBuffer *buffer); -PgQuery__RawStmt * - pg_query__raw_stmt__unpack +PgQuery__RangeTableFunc * + pg_query__range_table_func__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__raw_stmt__free_unpacked - (PgQuery__RawStmt *message, +void pg_query__range_table_func__free_unpacked + (PgQuery__RangeTableFunc *message, ProtobufCAllocator *allocator); -/* PgQuery__Query methods */ -void pg_query__query__init - (PgQuery__Query *message); -size_t pg_query__query__get_packed_size - (const PgQuery__Query *message); -size_t pg_query__query__pack - (const PgQuery__Query *message, +/* PgQuery__RangeTableFuncCol methods */ +void pg_query__range_table_func_col__init + (PgQuery__RangeTableFuncCol *message); +size_t pg_query__range_table_func_col__get_packed_size + (const PgQuery__RangeTableFuncCol *message); +size_t pg_query__range_table_func_col__pack + (const PgQuery__RangeTableFuncCol *message, uint8_t *out); -size_t pg_query__query__pack_to_buffer - (const PgQuery__Query *message, +size_t pg_query__range_table_func_col__pack_to_buffer + (const PgQuery__RangeTableFuncCol *message, ProtobufCBuffer *buffer); -PgQuery__Query * - pg_query__query__unpack +PgQuery__RangeTableFuncCol * + pg_query__range_table_func_col__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__query__free_unpacked - (PgQuery__Query *message, +void pg_query__range_table_func_col__free_unpacked + (PgQuery__RangeTableFuncCol *message, ProtobufCAllocator *allocator); -/* PgQuery__InsertStmt methods */ -void pg_query__insert_stmt__init - (PgQuery__InsertStmt *message); -size_t pg_query__insert_stmt__get_packed_size - (const PgQuery__InsertStmt *message); -size_t pg_query__insert_stmt__pack - (const PgQuery__InsertStmt *message, +/* PgQuery__RangeTableSample methods */ +void pg_query__range_table_sample__init + (PgQuery__RangeTableSample *message); +size_t pg_query__range_table_sample__get_packed_size + (const PgQuery__RangeTableSample *message); +size_t pg_query__range_table_sample__pack + (const PgQuery__RangeTableSample *message, uint8_t *out); -size_t pg_query__insert_stmt__pack_to_buffer - (const PgQuery__InsertStmt *message, +size_t pg_query__range_table_sample__pack_to_buffer + (const PgQuery__RangeTableSample *message, ProtobufCBuffer *buffer); -PgQuery__InsertStmt * - pg_query__insert_stmt__unpack +PgQuery__RangeTableSample * + pg_query__range_table_sample__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__insert_stmt__free_unpacked - (PgQuery__InsertStmt *message, +void pg_query__range_table_sample__free_unpacked + (PgQuery__RangeTableSample *message, ProtobufCAllocator *allocator); -/* PgQuery__DeleteStmt methods */ -void pg_query__delete_stmt__init - (PgQuery__DeleteStmt *message); -size_t pg_query__delete_stmt__get_packed_size - (const PgQuery__DeleteStmt *message); -size_t pg_query__delete_stmt__pack - (const PgQuery__DeleteStmt *message, +/* PgQuery__ColumnDef methods */ +void pg_query__column_def__init + (PgQuery__ColumnDef *message); +size_t pg_query__column_def__get_packed_size + (const PgQuery__ColumnDef *message); +size_t pg_query__column_def__pack + (const PgQuery__ColumnDef *message, uint8_t *out); -size_t pg_query__delete_stmt__pack_to_buffer - (const PgQuery__DeleteStmt *message, +size_t pg_query__column_def__pack_to_buffer + (const PgQuery__ColumnDef *message, ProtobufCBuffer *buffer); -PgQuery__DeleteStmt * - pg_query__delete_stmt__unpack +PgQuery__ColumnDef * + pg_query__column_def__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__delete_stmt__free_unpacked - (PgQuery__DeleteStmt *message, +void pg_query__column_def__free_unpacked + (PgQuery__ColumnDef *message, ProtobufCAllocator *allocator); -/* PgQuery__UpdateStmt methods */ -void pg_query__update_stmt__init - (PgQuery__UpdateStmt *message); -size_t pg_query__update_stmt__get_packed_size - (const PgQuery__UpdateStmt *message); -size_t pg_query__update_stmt__pack - (const PgQuery__UpdateStmt *message, +/* PgQuery__TableLikeClause methods */ +void pg_query__table_like_clause__init + (PgQuery__TableLikeClause *message); +size_t pg_query__table_like_clause__get_packed_size + (const PgQuery__TableLikeClause *message); +size_t pg_query__table_like_clause__pack + (const PgQuery__TableLikeClause *message, uint8_t *out); -size_t pg_query__update_stmt__pack_to_buffer - (const PgQuery__UpdateStmt *message, +size_t pg_query__table_like_clause__pack_to_buffer + (const PgQuery__TableLikeClause *message, ProtobufCBuffer *buffer); -PgQuery__UpdateStmt * - pg_query__update_stmt__unpack +PgQuery__TableLikeClause * + pg_query__table_like_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__update_stmt__free_unpacked - (PgQuery__UpdateStmt *message, +void pg_query__table_like_clause__free_unpacked + (PgQuery__TableLikeClause *message, ProtobufCAllocator *allocator); -/* PgQuery__MergeStmt methods */ -void pg_query__merge_stmt__init - (PgQuery__MergeStmt *message); -size_t pg_query__merge_stmt__get_packed_size - (const PgQuery__MergeStmt *message); -size_t pg_query__merge_stmt__pack - (const PgQuery__MergeStmt *message, +/* PgQuery__IndexElem methods */ +void pg_query__index_elem__init + (PgQuery__IndexElem *message); +size_t pg_query__index_elem__get_packed_size + (const PgQuery__IndexElem *message); +size_t pg_query__index_elem__pack + (const PgQuery__IndexElem *message, uint8_t *out); -size_t pg_query__merge_stmt__pack_to_buffer - (const PgQuery__MergeStmt *message, +size_t pg_query__index_elem__pack_to_buffer + (const PgQuery__IndexElem *message, ProtobufCBuffer *buffer); -PgQuery__MergeStmt * - pg_query__merge_stmt__unpack +PgQuery__IndexElem * + pg_query__index_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__merge_stmt__free_unpacked - (PgQuery__MergeStmt *message, +void pg_query__index_elem__free_unpacked + (PgQuery__IndexElem *message, ProtobufCAllocator *allocator); -/* PgQuery__SelectStmt methods */ -void pg_query__select_stmt__init - (PgQuery__SelectStmt *message); -size_t pg_query__select_stmt__get_packed_size - (const PgQuery__SelectStmt *message); -size_t pg_query__select_stmt__pack - (const PgQuery__SelectStmt *message, +/* PgQuery__DefElem methods */ +void pg_query__def_elem__init + (PgQuery__DefElem *message); +size_t pg_query__def_elem__get_packed_size + (const PgQuery__DefElem *message); +size_t pg_query__def_elem__pack + (const PgQuery__DefElem *message, uint8_t *out); -size_t pg_query__select_stmt__pack_to_buffer - (const PgQuery__SelectStmt *message, +size_t pg_query__def_elem__pack_to_buffer + (const PgQuery__DefElem *message, ProtobufCBuffer *buffer); -PgQuery__SelectStmt * - pg_query__select_stmt__unpack +PgQuery__DefElem * + pg_query__def_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__select_stmt__free_unpacked - (PgQuery__SelectStmt *message, +void pg_query__def_elem__free_unpacked + (PgQuery__DefElem *message, ProtobufCAllocator *allocator); -/* PgQuery__ReturnStmt methods */ -void pg_query__return_stmt__init - (PgQuery__ReturnStmt *message); -size_t pg_query__return_stmt__get_packed_size - (const PgQuery__ReturnStmt *message); -size_t pg_query__return_stmt__pack - (const PgQuery__ReturnStmt *message, +/* PgQuery__LockingClause methods */ +void pg_query__locking_clause__init + (PgQuery__LockingClause *message); +size_t pg_query__locking_clause__get_packed_size + (const PgQuery__LockingClause *message); +size_t pg_query__locking_clause__pack + (const PgQuery__LockingClause *message, uint8_t *out); -size_t pg_query__return_stmt__pack_to_buffer - (const PgQuery__ReturnStmt *message, +size_t pg_query__locking_clause__pack_to_buffer + (const PgQuery__LockingClause *message, ProtobufCBuffer *buffer); -PgQuery__ReturnStmt * - pg_query__return_stmt__unpack +PgQuery__LockingClause * + pg_query__locking_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__return_stmt__free_unpacked - (PgQuery__ReturnStmt *message, +void pg_query__locking_clause__free_unpacked + (PgQuery__LockingClause *message, ProtobufCAllocator *allocator); -/* PgQuery__PLAssignStmt methods */ -void pg_query__plassign_stmt__init - (PgQuery__PLAssignStmt *message); -size_t pg_query__plassign_stmt__get_packed_size - (const PgQuery__PLAssignStmt *message); -size_t pg_query__plassign_stmt__pack - (const PgQuery__PLAssignStmt *message, +/* PgQuery__XmlSerialize methods */ +void pg_query__xml_serialize__init + (PgQuery__XmlSerialize *message); +size_t pg_query__xml_serialize__get_packed_size + (const PgQuery__XmlSerialize *message); +size_t pg_query__xml_serialize__pack + (const PgQuery__XmlSerialize *message, uint8_t *out); -size_t pg_query__plassign_stmt__pack_to_buffer - (const PgQuery__PLAssignStmt *message, +size_t pg_query__xml_serialize__pack_to_buffer + (const PgQuery__XmlSerialize *message, ProtobufCBuffer *buffer); -PgQuery__PLAssignStmt * - pg_query__plassign_stmt__unpack +PgQuery__XmlSerialize * + pg_query__xml_serialize__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__plassign_stmt__free_unpacked - (PgQuery__PLAssignStmt *message, +void pg_query__xml_serialize__free_unpacked + (PgQuery__XmlSerialize *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTableStmt methods */ -void pg_query__alter_table_stmt__init - (PgQuery__AlterTableStmt *message); -size_t pg_query__alter_table_stmt__get_packed_size - (const PgQuery__AlterTableStmt *message); -size_t pg_query__alter_table_stmt__pack - (const PgQuery__AlterTableStmt *message, +/* PgQuery__PartitionElem methods */ +void pg_query__partition_elem__init + (PgQuery__PartitionElem *message); +size_t pg_query__partition_elem__get_packed_size + (const PgQuery__PartitionElem *message); +size_t pg_query__partition_elem__pack + (const PgQuery__PartitionElem *message, uint8_t *out); -size_t pg_query__alter_table_stmt__pack_to_buffer - (const PgQuery__AlterTableStmt *message, +size_t pg_query__partition_elem__pack_to_buffer + (const PgQuery__PartitionElem *message, ProtobufCBuffer *buffer); -PgQuery__AlterTableStmt * - pg_query__alter_table_stmt__unpack +PgQuery__PartitionElem * + pg_query__partition_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_table_stmt__free_unpacked - (PgQuery__AlterTableStmt *message, +void pg_query__partition_elem__free_unpacked + (PgQuery__PartitionElem *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTableCmd methods */ -void pg_query__alter_table_cmd__init - (PgQuery__AlterTableCmd *message); -size_t pg_query__alter_table_cmd__get_packed_size - (const PgQuery__AlterTableCmd *message); -size_t pg_query__alter_table_cmd__pack - (const PgQuery__AlterTableCmd *message, +/* PgQuery__PartitionSpec methods */ +void pg_query__partition_spec__init + (PgQuery__PartitionSpec *message); +size_t pg_query__partition_spec__get_packed_size + (const PgQuery__PartitionSpec *message); +size_t pg_query__partition_spec__pack + (const PgQuery__PartitionSpec *message, uint8_t *out); -size_t pg_query__alter_table_cmd__pack_to_buffer - (const PgQuery__AlterTableCmd *message, +size_t pg_query__partition_spec__pack_to_buffer + (const PgQuery__PartitionSpec *message, ProtobufCBuffer *buffer); -PgQuery__AlterTableCmd * - pg_query__alter_table_cmd__unpack +PgQuery__PartitionSpec * + pg_query__partition_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_table_cmd__free_unpacked - (PgQuery__AlterTableCmd *message, +void pg_query__partition_spec__free_unpacked + (PgQuery__PartitionSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterDomainStmt methods */ -void pg_query__alter_domain_stmt__init - (PgQuery__AlterDomainStmt *message); -size_t pg_query__alter_domain_stmt__get_packed_size - (const PgQuery__AlterDomainStmt *message); -size_t pg_query__alter_domain_stmt__pack - (const PgQuery__AlterDomainStmt *message, +/* PgQuery__PartitionBoundSpec methods */ +void pg_query__partition_bound_spec__init + (PgQuery__PartitionBoundSpec *message); +size_t pg_query__partition_bound_spec__get_packed_size + (const PgQuery__PartitionBoundSpec *message); +size_t pg_query__partition_bound_spec__pack + (const PgQuery__PartitionBoundSpec *message, uint8_t *out); -size_t pg_query__alter_domain_stmt__pack_to_buffer - (const PgQuery__AlterDomainStmt *message, +size_t pg_query__partition_bound_spec__pack_to_buffer + (const PgQuery__PartitionBoundSpec *message, ProtobufCBuffer *buffer); -PgQuery__AlterDomainStmt * - pg_query__alter_domain_stmt__unpack +PgQuery__PartitionBoundSpec * + pg_query__partition_bound_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_domain_stmt__free_unpacked - (PgQuery__AlterDomainStmt *message, +void pg_query__partition_bound_spec__free_unpacked + (PgQuery__PartitionBoundSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__SetOperationStmt methods */ -void pg_query__set_operation_stmt__init - (PgQuery__SetOperationStmt *message); -size_t pg_query__set_operation_stmt__get_packed_size - (const PgQuery__SetOperationStmt *message); -size_t pg_query__set_operation_stmt__pack - (const PgQuery__SetOperationStmt *message, +/* PgQuery__PartitionRangeDatum methods */ +void pg_query__partition_range_datum__init + (PgQuery__PartitionRangeDatum *message); +size_t pg_query__partition_range_datum__get_packed_size + (const PgQuery__PartitionRangeDatum *message); +size_t pg_query__partition_range_datum__pack + (const PgQuery__PartitionRangeDatum *message, uint8_t *out); -size_t pg_query__set_operation_stmt__pack_to_buffer - (const PgQuery__SetOperationStmt *message, +size_t pg_query__partition_range_datum__pack_to_buffer + (const PgQuery__PartitionRangeDatum *message, ProtobufCBuffer *buffer); -PgQuery__SetOperationStmt * - pg_query__set_operation_stmt__unpack +PgQuery__PartitionRangeDatum * + pg_query__partition_range_datum__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__set_operation_stmt__free_unpacked - (PgQuery__SetOperationStmt *message, +void pg_query__partition_range_datum__free_unpacked + (PgQuery__PartitionRangeDatum *message, ProtobufCAllocator *allocator); -/* PgQuery__GrantStmt methods */ -void pg_query__grant_stmt__init - (PgQuery__GrantStmt *message); -size_t pg_query__grant_stmt__get_packed_size - (const PgQuery__GrantStmt *message); -size_t pg_query__grant_stmt__pack - (const PgQuery__GrantStmt *message, +/* PgQuery__SinglePartitionSpec methods */ +void pg_query__single_partition_spec__init + (PgQuery__SinglePartitionSpec *message); +size_t pg_query__single_partition_spec__get_packed_size + (const PgQuery__SinglePartitionSpec *message); +size_t pg_query__single_partition_spec__pack + (const PgQuery__SinglePartitionSpec *message, uint8_t *out); -size_t pg_query__grant_stmt__pack_to_buffer - (const PgQuery__GrantStmt *message, +size_t pg_query__single_partition_spec__pack_to_buffer + (const PgQuery__SinglePartitionSpec *message, ProtobufCBuffer *buffer); -PgQuery__GrantStmt * - pg_query__grant_stmt__unpack +PgQuery__SinglePartitionSpec * + pg_query__single_partition_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__grant_stmt__free_unpacked - (PgQuery__GrantStmt *message, +void pg_query__single_partition_spec__free_unpacked + (PgQuery__SinglePartitionSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__GrantRoleStmt methods */ -void pg_query__grant_role_stmt__init - (PgQuery__GrantRoleStmt *message); -size_t pg_query__grant_role_stmt__get_packed_size - (const PgQuery__GrantRoleStmt *message); -size_t pg_query__grant_role_stmt__pack - (const PgQuery__GrantRoleStmt *message, +/* PgQuery__PartitionCmd methods */ +void pg_query__partition_cmd__init + (PgQuery__PartitionCmd *message); +size_t pg_query__partition_cmd__get_packed_size + (const PgQuery__PartitionCmd *message); +size_t pg_query__partition_cmd__pack + (const PgQuery__PartitionCmd *message, uint8_t *out); -size_t pg_query__grant_role_stmt__pack_to_buffer - (const PgQuery__GrantRoleStmt *message, +size_t pg_query__partition_cmd__pack_to_buffer + (const PgQuery__PartitionCmd *message, ProtobufCBuffer *buffer); -PgQuery__GrantRoleStmt * - pg_query__grant_role_stmt__unpack +PgQuery__PartitionCmd * + pg_query__partition_cmd__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__grant_role_stmt__free_unpacked - (PgQuery__GrantRoleStmt *message, +void pg_query__partition_cmd__free_unpacked + (PgQuery__PartitionCmd *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterDefaultPrivilegesStmt methods */ -void pg_query__alter_default_privileges_stmt__init - (PgQuery__AlterDefaultPrivilegesStmt *message); -size_t pg_query__alter_default_privileges_stmt__get_packed_size - (const PgQuery__AlterDefaultPrivilegesStmt *message); -size_t pg_query__alter_default_privileges_stmt__pack - (const PgQuery__AlterDefaultPrivilegesStmt *message, +/* PgQuery__RangeTblEntry methods */ +void pg_query__range_tbl_entry__init + (PgQuery__RangeTblEntry *message); +size_t pg_query__range_tbl_entry__get_packed_size + (const PgQuery__RangeTblEntry *message); +size_t pg_query__range_tbl_entry__pack + (const PgQuery__RangeTblEntry *message, uint8_t *out); -size_t pg_query__alter_default_privileges_stmt__pack_to_buffer - (const PgQuery__AlterDefaultPrivilegesStmt *message, +size_t pg_query__range_tbl_entry__pack_to_buffer + (const PgQuery__RangeTblEntry *message, ProtobufCBuffer *buffer); -PgQuery__AlterDefaultPrivilegesStmt * - pg_query__alter_default_privileges_stmt__unpack +PgQuery__RangeTblEntry * + pg_query__range_tbl_entry__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_default_privileges_stmt__free_unpacked - (PgQuery__AlterDefaultPrivilegesStmt *message, +void pg_query__range_tbl_entry__free_unpacked + (PgQuery__RangeTblEntry *message, ProtobufCAllocator *allocator); -/* PgQuery__ClosePortalStmt methods */ -void pg_query__close_portal_stmt__init - (PgQuery__ClosePortalStmt *message); -size_t pg_query__close_portal_stmt__get_packed_size - (const PgQuery__ClosePortalStmt *message); -size_t pg_query__close_portal_stmt__pack - (const PgQuery__ClosePortalStmt *message, +/* PgQuery__RTEPermissionInfo methods */ +void pg_query__rtepermission_info__init + (PgQuery__RTEPermissionInfo *message); +size_t pg_query__rtepermission_info__get_packed_size + (const PgQuery__RTEPermissionInfo *message); +size_t pg_query__rtepermission_info__pack + (const PgQuery__RTEPermissionInfo *message, uint8_t *out); -size_t pg_query__close_portal_stmt__pack_to_buffer - (const PgQuery__ClosePortalStmt *message, +size_t pg_query__rtepermission_info__pack_to_buffer + (const PgQuery__RTEPermissionInfo *message, ProtobufCBuffer *buffer); -PgQuery__ClosePortalStmt * - pg_query__close_portal_stmt__unpack +PgQuery__RTEPermissionInfo * + pg_query__rtepermission_info__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__close_portal_stmt__free_unpacked - (PgQuery__ClosePortalStmt *message, +void pg_query__rtepermission_info__free_unpacked + (PgQuery__RTEPermissionInfo *message, ProtobufCAllocator *allocator); -/* PgQuery__ClusterStmt methods */ -void pg_query__cluster_stmt__init - (PgQuery__ClusterStmt *message); -size_t pg_query__cluster_stmt__get_packed_size - (const PgQuery__ClusterStmt *message); -size_t pg_query__cluster_stmt__pack - (const PgQuery__ClusterStmt *message, +/* PgQuery__RangeTblFunction methods */ +void pg_query__range_tbl_function__init + (PgQuery__RangeTblFunction *message); +size_t pg_query__range_tbl_function__get_packed_size + (const PgQuery__RangeTblFunction *message); +size_t pg_query__range_tbl_function__pack + (const PgQuery__RangeTblFunction *message, uint8_t *out); -size_t pg_query__cluster_stmt__pack_to_buffer - (const PgQuery__ClusterStmt *message, +size_t pg_query__range_tbl_function__pack_to_buffer + (const PgQuery__RangeTblFunction *message, ProtobufCBuffer *buffer); -PgQuery__ClusterStmt * - pg_query__cluster_stmt__unpack +PgQuery__RangeTblFunction * + pg_query__range_tbl_function__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__cluster_stmt__free_unpacked - (PgQuery__ClusterStmt *message, +void pg_query__range_tbl_function__free_unpacked + (PgQuery__RangeTblFunction *message, ProtobufCAllocator *allocator); -/* PgQuery__CopyStmt methods */ -void pg_query__copy_stmt__init - (PgQuery__CopyStmt *message); -size_t pg_query__copy_stmt__get_packed_size - (const PgQuery__CopyStmt *message); -size_t pg_query__copy_stmt__pack - (const PgQuery__CopyStmt *message, +/* PgQuery__TableSampleClause methods */ +void pg_query__table_sample_clause__init + (PgQuery__TableSampleClause *message); +size_t pg_query__table_sample_clause__get_packed_size + (const PgQuery__TableSampleClause *message); +size_t pg_query__table_sample_clause__pack + (const PgQuery__TableSampleClause *message, uint8_t *out); -size_t pg_query__copy_stmt__pack_to_buffer - (const PgQuery__CopyStmt *message, +size_t pg_query__table_sample_clause__pack_to_buffer + (const PgQuery__TableSampleClause *message, ProtobufCBuffer *buffer); -PgQuery__CopyStmt * - pg_query__copy_stmt__unpack +PgQuery__TableSampleClause * + pg_query__table_sample_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__copy_stmt__free_unpacked - (PgQuery__CopyStmt *message, +void pg_query__table_sample_clause__free_unpacked + (PgQuery__TableSampleClause *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateStmt methods */ -void pg_query__create_stmt__init - (PgQuery__CreateStmt *message); -size_t pg_query__create_stmt__get_packed_size - (const PgQuery__CreateStmt *message); -size_t pg_query__create_stmt__pack - (const PgQuery__CreateStmt *message, +/* PgQuery__WithCheckOption methods */ +void pg_query__with_check_option__init + (PgQuery__WithCheckOption *message); +size_t pg_query__with_check_option__get_packed_size + (const PgQuery__WithCheckOption *message); +size_t pg_query__with_check_option__pack + (const PgQuery__WithCheckOption *message, uint8_t *out); -size_t pg_query__create_stmt__pack_to_buffer - (const PgQuery__CreateStmt *message, +size_t pg_query__with_check_option__pack_to_buffer + (const PgQuery__WithCheckOption *message, ProtobufCBuffer *buffer); -PgQuery__CreateStmt * - pg_query__create_stmt__unpack +PgQuery__WithCheckOption * + pg_query__with_check_option__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_stmt__free_unpacked - (PgQuery__CreateStmt *message, +void pg_query__with_check_option__free_unpacked + (PgQuery__WithCheckOption *message, ProtobufCAllocator *allocator); -/* PgQuery__DefineStmt methods */ -void pg_query__define_stmt__init - (PgQuery__DefineStmt *message); -size_t pg_query__define_stmt__get_packed_size - (const PgQuery__DefineStmt *message); -size_t pg_query__define_stmt__pack - (const PgQuery__DefineStmt *message, +/* PgQuery__SortGroupClause methods */ +void pg_query__sort_group_clause__init + (PgQuery__SortGroupClause *message); +size_t pg_query__sort_group_clause__get_packed_size + (const PgQuery__SortGroupClause *message); +size_t pg_query__sort_group_clause__pack + (const PgQuery__SortGroupClause *message, uint8_t *out); -size_t pg_query__define_stmt__pack_to_buffer - (const PgQuery__DefineStmt *message, +size_t pg_query__sort_group_clause__pack_to_buffer + (const PgQuery__SortGroupClause *message, ProtobufCBuffer *buffer); -PgQuery__DefineStmt * - pg_query__define_stmt__unpack +PgQuery__SortGroupClause * + pg_query__sort_group_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__define_stmt__free_unpacked - (PgQuery__DefineStmt *message, +void pg_query__sort_group_clause__free_unpacked + (PgQuery__SortGroupClause *message, ProtobufCAllocator *allocator); -/* PgQuery__DropStmt methods */ -void pg_query__drop_stmt__init - (PgQuery__DropStmt *message); -size_t pg_query__drop_stmt__get_packed_size - (const PgQuery__DropStmt *message); -size_t pg_query__drop_stmt__pack - (const PgQuery__DropStmt *message, +/* PgQuery__GroupingSet methods */ +void pg_query__grouping_set__init + (PgQuery__GroupingSet *message); +size_t pg_query__grouping_set__get_packed_size + (const PgQuery__GroupingSet *message); +size_t pg_query__grouping_set__pack + (const PgQuery__GroupingSet *message, uint8_t *out); -size_t pg_query__drop_stmt__pack_to_buffer - (const PgQuery__DropStmt *message, +size_t pg_query__grouping_set__pack_to_buffer + (const PgQuery__GroupingSet *message, ProtobufCBuffer *buffer); -PgQuery__DropStmt * - pg_query__drop_stmt__unpack +PgQuery__GroupingSet * + pg_query__grouping_set__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__drop_stmt__free_unpacked - (PgQuery__DropStmt *message, +void pg_query__grouping_set__free_unpacked + (PgQuery__GroupingSet *message, ProtobufCAllocator *allocator); -/* PgQuery__TruncateStmt methods */ -void pg_query__truncate_stmt__init - (PgQuery__TruncateStmt *message); -size_t pg_query__truncate_stmt__get_packed_size - (const PgQuery__TruncateStmt *message); -size_t pg_query__truncate_stmt__pack - (const PgQuery__TruncateStmt *message, - uint8_t *out); -size_t pg_query__truncate_stmt__pack_to_buffer - (const PgQuery__TruncateStmt *message, +/* PgQuery__WindowClause methods */ +void pg_query__window_clause__init + (PgQuery__WindowClause *message); +size_t pg_query__window_clause__get_packed_size + (const PgQuery__WindowClause *message); +size_t pg_query__window_clause__pack + (const PgQuery__WindowClause *message, + uint8_t *out); +size_t pg_query__window_clause__pack_to_buffer + (const PgQuery__WindowClause *message, ProtobufCBuffer *buffer); -PgQuery__TruncateStmt * - pg_query__truncate_stmt__unpack +PgQuery__WindowClause * + pg_query__window_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__truncate_stmt__free_unpacked - (PgQuery__TruncateStmt *message, +void pg_query__window_clause__free_unpacked + (PgQuery__WindowClause *message, ProtobufCAllocator *allocator); -/* PgQuery__CommentStmt methods */ -void pg_query__comment_stmt__init - (PgQuery__CommentStmt *message); -size_t pg_query__comment_stmt__get_packed_size - (const PgQuery__CommentStmt *message); -size_t pg_query__comment_stmt__pack - (const PgQuery__CommentStmt *message, +/* PgQuery__RowMarkClause methods */ +void pg_query__row_mark_clause__init + (PgQuery__RowMarkClause *message); +size_t pg_query__row_mark_clause__get_packed_size + (const PgQuery__RowMarkClause *message); +size_t pg_query__row_mark_clause__pack + (const PgQuery__RowMarkClause *message, uint8_t *out); -size_t pg_query__comment_stmt__pack_to_buffer - (const PgQuery__CommentStmt *message, +size_t pg_query__row_mark_clause__pack_to_buffer + (const PgQuery__RowMarkClause *message, ProtobufCBuffer *buffer); -PgQuery__CommentStmt * - pg_query__comment_stmt__unpack +PgQuery__RowMarkClause * + pg_query__row_mark_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__comment_stmt__free_unpacked - (PgQuery__CommentStmt *message, +void pg_query__row_mark_clause__free_unpacked + (PgQuery__RowMarkClause *message, ProtobufCAllocator *allocator); -/* PgQuery__FetchStmt methods */ -void pg_query__fetch_stmt__init - (PgQuery__FetchStmt *message); -size_t pg_query__fetch_stmt__get_packed_size - (const PgQuery__FetchStmt *message); -size_t pg_query__fetch_stmt__pack - (const PgQuery__FetchStmt *message, +/* PgQuery__WithClause methods */ +void pg_query__with_clause__init + (PgQuery__WithClause *message); +size_t pg_query__with_clause__get_packed_size + (const PgQuery__WithClause *message); +size_t pg_query__with_clause__pack + (const PgQuery__WithClause *message, uint8_t *out); -size_t pg_query__fetch_stmt__pack_to_buffer - (const PgQuery__FetchStmt *message, +size_t pg_query__with_clause__pack_to_buffer + (const PgQuery__WithClause *message, ProtobufCBuffer *buffer); -PgQuery__FetchStmt * - pg_query__fetch_stmt__unpack +PgQuery__WithClause * + pg_query__with_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__fetch_stmt__free_unpacked - (PgQuery__FetchStmt *message, +void pg_query__with_clause__free_unpacked + (PgQuery__WithClause *message, ProtobufCAllocator *allocator); -/* PgQuery__IndexStmt methods */ -void pg_query__index_stmt__init - (PgQuery__IndexStmt *message); -size_t pg_query__index_stmt__get_packed_size - (const PgQuery__IndexStmt *message); -size_t pg_query__index_stmt__pack - (const PgQuery__IndexStmt *message, +/* PgQuery__InferClause methods */ +void pg_query__infer_clause__init + (PgQuery__InferClause *message); +size_t pg_query__infer_clause__get_packed_size + (const PgQuery__InferClause *message); +size_t pg_query__infer_clause__pack + (const PgQuery__InferClause *message, uint8_t *out); -size_t pg_query__index_stmt__pack_to_buffer - (const PgQuery__IndexStmt *message, +size_t pg_query__infer_clause__pack_to_buffer + (const PgQuery__InferClause *message, ProtobufCBuffer *buffer); -PgQuery__IndexStmt * - pg_query__index_stmt__unpack +PgQuery__InferClause * + pg_query__infer_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__index_stmt__free_unpacked - (PgQuery__IndexStmt *message, +void pg_query__infer_clause__free_unpacked + (PgQuery__InferClause *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateFunctionStmt methods */ -void pg_query__create_function_stmt__init - (PgQuery__CreateFunctionStmt *message); -size_t pg_query__create_function_stmt__get_packed_size - (const PgQuery__CreateFunctionStmt *message); -size_t pg_query__create_function_stmt__pack - (const PgQuery__CreateFunctionStmt *message, +/* PgQuery__OnConflictClause methods */ +void pg_query__on_conflict_clause__init + (PgQuery__OnConflictClause *message); +size_t pg_query__on_conflict_clause__get_packed_size + (const PgQuery__OnConflictClause *message); +size_t pg_query__on_conflict_clause__pack + (const PgQuery__OnConflictClause *message, uint8_t *out); -size_t pg_query__create_function_stmt__pack_to_buffer - (const PgQuery__CreateFunctionStmt *message, +size_t pg_query__on_conflict_clause__pack_to_buffer + (const PgQuery__OnConflictClause *message, ProtobufCBuffer *buffer); -PgQuery__CreateFunctionStmt * - pg_query__create_function_stmt__unpack +PgQuery__OnConflictClause * + pg_query__on_conflict_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_function_stmt__free_unpacked - (PgQuery__CreateFunctionStmt *message, +void pg_query__on_conflict_clause__free_unpacked + (PgQuery__OnConflictClause *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterFunctionStmt methods */ -void pg_query__alter_function_stmt__init - (PgQuery__AlterFunctionStmt *message); -size_t pg_query__alter_function_stmt__get_packed_size - (const PgQuery__AlterFunctionStmt *message); -size_t pg_query__alter_function_stmt__pack - (const PgQuery__AlterFunctionStmt *message, +/* PgQuery__CTESearchClause methods */ +void pg_query__ctesearch_clause__init + (PgQuery__CTESearchClause *message); +size_t pg_query__ctesearch_clause__get_packed_size + (const PgQuery__CTESearchClause *message); +size_t pg_query__ctesearch_clause__pack + (const PgQuery__CTESearchClause *message, uint8_t *out); -size_t pg_query__alter_function_stmt__pack_to_buffer - (const PgQuery__AlterFunctionStmt *message, +size_t pg_query__ctesearch_clause__pack_to_buffer + (const PgQuery__CTESearchClause *message, ProtobufCBuffer *buffer); -PgQuery__AlterFunctionStmt * - pg_query__alter_function_stmt__unpack +PgQuery__CTESearchClause * + pg_query__ctesearch_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_function_stmt__free_unpacked - (PgQuery__AlterFunctionStmt *message, +void pg_query__ctesearch_clause__free_unpacked + (PgQuery__CTESearchClause *message, ProtobufCAllocator *allocator); -/* PgQuery__DoStmt methods */ -void pg_query__do_stmt__init - (PgQuery__DoStmt *message); -size_t pg_query__do_stmt__get_packed_size - (const PgQuery__DoStmt *message); -size_t pg_query__do_stmt__pack - (const PgQuery__DoStmt *message, +/* PgQuery__CTECycleClause methods */ +void pg_query__ctecycle_clause__init + (PgQuery__CTECycleClause *message); +size_t pg_query__ctecycle_clause__get_packed_size + (const PgQuery__CTECycleClause *message); +size_t pg_query__ctecycle_clause__pack + (const PgQuery__CTECycleClause *message, uint8_t *out); -size_t pg_query__do_stmt__pack_to_buffer - (const PgQuery__DoStmt *message, +size_t pg_query__ctecycle_clause__pack_to_buffer + (const PgQuery__CTECycleClause *message, ProtobufCBuffer *buffer); -PgQuery__DoStmt * - pg_query__do_stmt__unpack +PgQuery__CTECycleClause * + pg_query__ctecycle_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__do_stmt__free_unpacked - (PgQuery__DoStmt *message, +void pg_query__ctecycle_clause__free_unpacked + (PgQuery__CTECycleClause *message, ProtobufCAllocator *allocator); -/* PgQuery__RenameStmt methods */ -void pg_query__rename_stmt__init - (PgQuery__RenameStmt *message); -size_t pg_query__rename_stmt__get_packed_size - (const PgQuery__RenameStmt *message); -size_t pg_query__rename_stmt__pack - (const PgQuery__RenameStmt *message, +/* PgQuery__CommonTableExpr methods */ +void pg_query__common_table_expr__init + (PgQuery__CommonTableExpr *message); +size_t pg_query__common_table_expr__get_packed_size + (const PgQuery__CommonTableExpr *message); +size_t pg_query__common_table_expr__pack + (const PgQuery__CommonTableExpr *message, uint8_t *out); -size_t pg_query__rename_stmt__pack_to_buffer - (const PgQuery__RenameStmt *message, +size_t pg_query__common_table_expr__pack_to_buffer + (const PgQuery__CommonTableExpr *message, ProtobufCBuffer *buffer); -PgQuery__RenameStmt * - pg_query__rename_stmt__unpack +PgQuery__CommonTableExpr * + pg_query__common_table_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__rename_stmt__free_unpacked - (PgQuery__RenameStmt *message, +void pg_query__common_table_expr__free_unpacked + (PgQuery__CommonTableExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__RuleStmt methods */ -void pg_query__rule_stmt__init - (PgQuery__RuleStmt *message); -size_t pg_query__rule_stmt__get_packed_size - (const PgQuery__RuleStmt *message); -size_t pg_query__rule_stmt__pack - (const PgQuery__RuleStmt *message, +/* PgQuery__MergeWhenClause methods */ +void pg_query__merge_when_clause__init + (PgQuery__MergeWhenClause *message); +size_t pg_query__merge_when_clause__get_packed_size + (const PgQuery__MergeWhenClause *message); +size_t pg_query__merge_when_clause__pack + (const PgQuery__MergeWhenClause *message, uint8_t *out); -size_t pg_query__rule_stmt__pack_to_buffer - (const PgQuery__RuleStmt *message, +size_t pg_query__merge_when_clause__pack_to_buffer + (const PgQuery__MergeWhenClause *message, ProtobufCBuffer *buffer); -PgQuery__RuleStmt * - pg_query__rule_stmt__unpack +PgQuery__MergeWhenClause * + pg_query__merge_when_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__rule_stmt__free_unpacked - (PgQuery__RuleStmt *message, +void pg_query__merge_when_clause__free_unpacked + (PgQuery__MergeWhenClause *message, ProtobufCAllocator *allocator); -/* PgQuery__NotifyStmt methods */ -void pg_query__notify_stmt__init - (PgQuery__NotifyStmt *message); -size_t pg_query__notify_stmt__get_packed_size - (const PgQuery__NotifyStmt *message); -size_t pg_query__notify_stmt__pack - (const PgQuery__NotifyStmt *message, +/* PgQuery__TriggerTransition methods */ +void pg_query__trigger_transition__init + (PgQuery__TriggerTransition *message); +size_t pg_query__trigger_transition__get_packed_size + (const PgQuery__TriggerTransition *message); +size_t pg_query__trigger_transition__pack + (const PgQuery__TriggerTransition *message, uint8_t *out); -size_t pg_query__notify_stmt__pack_to_buffer - (const PgQuery__NotifyStmt *message, +size_t pg_query__trigger_transition__pack_to_buffer + (const PgQuery__TriggerTransition *message, ProtobufCBuffer *buffer); -PgQuery__NotifyStmt * - pg_query__notify_stmt__unpack +PgQuery__TriggerTransition * + pg_query__trigger_transition__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__notify_stmt__free_unpacked - (PgQuery__NotifyStmt *message, +void pg_query__trigger_transition__free_unpacked + (PgQuery__TriggerTransition *message, ProtobufCAllocator *allocator); -/* PgQuery__ListenStmt methods */ -void pg_query__listen_stmt__init - (PgQuery__ListenStmt *message); -size_t pg_query__listen_stmt__get_packed_size - (const PgQuery__ListenStmt *message); -size_t pg_query__listen_stmt__pack - (const PgQuery__ListenStmt *message, +/* PgQuery__JsonOutput methods */ +void pg_query__json_output__init + (PgQuery__JsonOutput *message); +size_t pg_query__json_output__get_packed_size + (const PgQuery__JsonOutput *message); +size_t pg_query__json_output__pack + (const PgQuery__JsonOutput *message, uint8_t *out); -size_t pg_query__listen_stmt__pack_to_buffer - (const PgQuery__ListenStmt *message, +size_t pg_query__json_output__pack_to_buffer + (const PgQuery__JsonOutput *message, ProtobufCBuffer *buffer); -PgQuery__ListenStmt * - pg_query__listen_stmt__unpack +PgQuery__JsonOutput * + pg_query__json_output__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__listen_stmt__free_unpacked - (PgQuery__ListenStmt *message, +void pg_query__json_output__free_unpacked + (PgQuery__JsonOutput *message, ProtobufCAllocator *allocator); -/* PgQuery__UnlistenStmt methods */ -void pg_query__unlisten_stmt__init - (PgQuery__UnlistenStmt *message); -size_t pg_query__unlisten_stmt__get_packed_size - (const PgQuery__UnlistenStmt *message); -size_t pg_query__unlisten_stmt__pack - (const PgQuery__UnlistenStmt *message, +/* PgQuery__JsonArgument methods */ +void pg_query__json_argument__init + (PgQuery__JsonArgument *message); +size_t pg_query__json_argument__get_packed_size + (const PgQuery__JsonArgument *message); +size_t pg_query__json_argument__pack + (const PgQuery__JsonArgument *message, uint8_t *out); -size_t pg_query__unlisten_stmt__pack_to_buffer - (const PgQuery__UnlistenStmt *message, +size_t pg_query__json_argument__pack_to_buffer + (const PgQuery__JsonArgument *message, ProtobufCBuffer *buffer); -PgQuery__UnlistenStmt * - pg_query__unlisten_stmt__unpack +PgQuery__JsonArgument * + pg_query__json_argument__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__unlisten_stmt__free_unpacked - (PgQuery__UnlistenStmt *message, +void pg_query__json_argument__free_unpacked + (PgQuery__JsonArgument *message, ProtobufCAllocator *allocator); -/* PgQuery__TransactionStmt methods */ -void pg_query__transaction_stmt__init - (PgQuery__TransactionStmt *message); -size_t pg_query__transaction_stmt__get_packed_size - (const PgQuery__TransactionStmt *message); -size_t pg_query__transaction_stmt__pack - (const PgQuery__TransactionStmt *message, +/* PgQuery__JsonFuncExpr methods */ +void pg_query__json_func_expr__init + (PgQuery__JsonFuncExpr *message); +size_t pg_query__json_func_expr__get_packed_size + (const PgQuery__JsonFuncExpr *message); +size_t pg_query__json_func_expr__pack + (const PgQuery__JsonFuncExpr *message, uint8_t *out); -size_t pg_query__transaction_stmt__pack_to_buffer - (const PgQuery__TransactionStmt *message, +size_t pg_query__json_func_expr__pack_to_buffer + (const PgQuery__JsonFuncExpr *message, ProtobufCBuffer *buffer); -PgQuery__TransactionStmt * - pg_query__transaction_stmt__unpack +PgQuery__JsonFuncExpr * + pg_query__json_func_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__transaction_stmt__free_unpacked - (PgQuery__TransactionStmt *message, +void pg_query__json_func_expr__free_unpacked + (PgQuery__JsonFuncExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__ViewStmt methods */ -void pg_query__view_stmt__init - (PgQuery__ViewStmt *message); -size_t pg_query__view_stmt__get_packed_size - (const PgQuery__ViewStmt *message); -size_t pg_query__view_stmt__pack - (const PgQuery__ViewStmt *message, +/* PgQuery__JsonTablePathSpec methods */ +void pg_query__json_table_path_spec__init + (PgQuery__JsonTablePathSpec *message); +size_t pg_query__json_table_path_spec__get_packed_size + (const PgQuery__JsonTablePathSpec *message); +size_t pg_query__json_table_path_spec__pack + (const PgQuery__JsonTablePathSpec *message, uint8_t *out); -size_t pg_query__view_stmt__pack_to_buffer - (const PgQuery__ViewStmt *message, +size_t pg_query__json_table_path_spec__pack_to_buffer + (const PgQuery__JsonTablePathSpec *message, ProtobufCBuffer *buffer); -PgQuery__ViewStmt * - pg_query__view_stmt__unpack +PgQuery__JsonTablePathSpec * + pg_query__json_table_path_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__view_stmt__free_unpacked - (PgQuery__ViewStmt *message, +void pg_query__json_table_path_spec__free_unpacked + (PgQuery__JsonTablePathSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__LoadStmt methods */ -void pg_query__load_stmt__init - (PgQuery__LoadStmt *message); -size_t pg_query__load_stmt__get_packed_size - (const PgQuery__LoadStmt *message); -size_t pg_query__load_stmt__pack - (const PgQuery__LoadStmt *message, +/* PgQuery__JsonTable methods */ +void pg_query__json_table__init + (PgQuery__JsonTable *message); +size_t pg_query__json_table__get_packed_size + (const PgQuery__JsonTable *message); +size_t pg_query__json_table__pack + (const PgQuery__JsonTable *message, uint8_t *out); -size_t pg_query__load_stmt__pack_to_buffer - (const PgQuery__LoadStmt *message, +size_t pg_query__json_table__pack_to_buffer + (const PgQuery__JsonTable *message, ProtobufCBuffer *buffer); -PgQuery__LoadStmt * - pg_query__load_stmt__unpack +PgQuery__JsonTable * + pg_query__json_table__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__load_stmt__free_unpacked - (PgQuery__LoadStmt *message, +void pg_query__json_table__free_unpacked + (PgQuery__JsonTable *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateDomainStmt methods */ -void pg_query__create_domain_stmt__init - (PgQuery__CreateDomainStmt *message); -size_t pg_query__create_domain_stmt__get_packed_size - (const PgQuery__CreateDomainStmt *message); -size_t pg_query__create_domain_stmt__pack - (const PgQuery__CreateDomainStmt *message, +/* PgQuery__JsonTableColumn methods */ +void pg_query__json_table_column__init + (PgQuery__JsonTableColumn *message); +size_t pg_query__json_table_column__get_packed_size + (const PgQuery__JsonTableColumn *message); +size_t pg_query__json_table_column__pack + (const PgQuery__JsonTableColumn *message, uint8_t *out); -size_t pg_query__create_domain_stmt__pack_to_buffer - (const PgQuery__CreateDomainStmt *message, +size_t pg_query__json_table_column__pack_to_buffer + (const PgQuery__JsonTableColumn *message, ProtobufCBuffer *buffer); -PgQuery__CreateDomainStmt * - pg_query__create_domain_stmt__unpack +PgQuery__JsonTableColumn * + pg_query__json_table_column__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_domain_stmt__free_unpacked - (PgQuery__CreateDomainStmt *message, +void pg_query__json_table_column__free_unpacked + (PgQuery__JsonTableColumn *message, ProtobufCAllocator *allocator); -/* PgQuery__CreatedbStmt methods */ -void pg_query__createdb_stmt__init - (PgQuery__CreatedbStmt *message); -size_t pg_query__createdb_stmt__get_packed_size - (const PgQuery__CreatedbStmt *message); -size_t pg_query__createdb_stmt__pack - (const PgQuery__CreatedbStmt *message, +/* PgQuery__JsonKeyValue methods */ +void pg_query__json_key_value__init + (PgQuery__JsonKeyValue *message); +size_t pg_query__json_key_value__get_packed_size + (const PgQuery__JsonKeyValue *message); +size_t pg_query__json_key_value__pack + (const PgQuery__JsonKeyValue *message, uint8_t *out); -size_t pg_query__createdb_stmt__pack_to_buffer - (const PgQuery__CreatedbStmt *message, +size_t pg_query__json_key_value__pack_to_buffer + (const PgQuery__JsonKeyValue *message, ProtobufCBuffer *buffer); -PgQuery__CreatedbStmt * - pg_query__createdb_stmt__unpack +PgQuery__JsonKeyValue * + pg_query__json_key_value__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__createdb_stmt__free_unpacked - (PgQuery__CreatedbStmt *message, +void pg_query__json_key_value__free_unpacked + (PgQuery__JsonKeyValue *message, ProtobufCAllocator *allocator); -/* PgQuery__DropdbStmt methods */ -void pg_query__dropdb_stmt__init - (PgQuery__DropdbStmt *message); -size_t pg_query__dropdb_stmt__get_packed_size - (const PgQuery__DropdbStmt *message); -size_t pg_query__dropdb_stmt__pack - (const PgQuery__DropdbStmt *message, +/* PgQuery__JsonParseExpr methods */ +void pg_query__json_parse_expr__init + (PgQuery__JsonParseExpr *message); +size_t pg_query__json_parse_expr__get_packed_size + (const PgQuery__JsonParseExpr *message); +size_t pg_query__json_parse_expr__pack + (const PgQuery__JsonParseExpr *message, uint8_t *out); -size_t pg_query__dropdb_stmt__pack_to_buffer - (const PgQuery__DropdbStmt *message, +size_t pg_query__json_parse_expr__pack_to_buffer + (const PgQuery__JsonParseExpr *message, ProtobufCBuffer *buffer); -PgQuery__DropdbStmt * - pg_query__dropdb_stmt__unpack +PgQuery__JsonParseExpr * + pg_query__json_parse_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__dropdb_stmt__free_unpacked - (PgQuery__DropdbStmt *message, +void pg_query__json_parse_expr__free_unpacked + (PgQuery__JsonParseExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__VacuumStmt methods */ -void pg_query__vacuum_stmt__init - (PgQuery__VacuumStmt *message); -size_t pg_query__vacuum_stmt__get_packed_size - (const PgQuery__VacuumStmt *message); -size_t pg_query__vacuum_stmt__pack - (const PgQuery__VacuumStmt *message, +/* PgQuery__JsonScalarExpr methods */ +void pg_query__json_scalar_expr__init + (PgQuery__JsonScalarExpr *message); +size_t pg_query__json_scalar_expr__get_packed_size + (const PgQuery__JsonScalarExpr *message); +size_t pg_query__json_scalar_expr__pack + (const PgQuery__JsonScalarExpr *message, uint8_t *out); -size_t pg_query__vacuum_stmt__pack_to_buffer - (const PgQuery__VacuumStmt *message, +size_t pg_query__json_scalar_expr__pack_to_buffer + (const PgQuery__JsonScalarExpr *message, ProtobufCBuffer *buffer); -PgQuery__VacuumStmt * - pg_query__vacuum_stmt__unpack +PgQuery__JsonScalarExpr * + pg_query__json_scalar_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__vacuum_stmt__free_unpacked - (PgQuery__VacuumStmt *message, +void pg_query__json_scalar_expr__free_unpacked + (PgQuery__JsonScalarExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__ExplainStmt methods */ -void pg_query__explain_stmt__init - (PgQuery__ExplainStmt *message); -size_t pg_query__explain_stmt__get_packed_size - (const PgQuery__ExplainStmt *message); -size_t pg_query__explain_stmt__pack - (const PgQuery__ExplainStmt *message, +/* PgQuery__JsonSerializeExpr methods */ +void pg_query__json_serialize_expr__init + (PgQuery__JsonSerializeExpr *message); +size_t pg_query__json_serialize_expr__get_packed_size + (const PgQuery__JsonSerializeExpr *message); +size_t pg_query__json_serialize_expr__pack + (const PgQuery__JsonSerializeExpr *message, uint8_t *out); -size_t pg_query__explain_stmt__pack_to_buffer - (const PgQuery__ExplainStmt *message, +size_t pg_query__json_serialize_expr__pack_to_buffer + (const PgQuery__JsonSerializeExpr *message, ProtobufCBuffer *buffer); -PgQuery__ExplainStmt * - pg_query__explain_stmt__unpack +PgQuery__JsonSerializeExpr * + pg_query__json_serialize_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__explain_stmt__free_unpacked - (PgQuery__ExplainStmt *message, +void pg_query__json_serialize_expr__free_unpacked + (PgQuery__JsonSerializeExpr *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateTableAsStmt methods */ -void pg_query__create_table_as_stmt__init - (PgQuery__CreateTableAsStmt *message); -size_t pg_query__create_table_as_stmt__get_packed_size - (const PgQuery__CreateTableAsStmt *message); -size_t pg_query__create_table_as_stmt__pack - (const PgQuery__CreateTableAsStmt *message, +/* PgQuery__JsonObjectConstructor methods */ +void pg_query__json_object_constructor__init + (PgQuery__JsonObjectConstructor *message); +size_t pg_query__json_object_constructor__get_packed_size + (const PgQuery__JsonObjectConstructor *message); +size_t pg_query__json_object_constructor__pack + (const PgQuery__JsonObjectConstructor *message, uint8_t *out); -size_t pg_query__create_table_as_stmt__pack_to_buffer - (const PgQuery__CreateTableAsStmt *message, +size_t pg_query__json_object_constructor__pack_to_buffer + (const PgQuery__JsonObjectConstructor *message, ProtobufCBuffer *buffer); -PgQuery__CreateTableAsStmt * - pg_query__create_table_as_stmt__unpack +PgQuery__JsonObjectConstructor * + pg_query__json_object_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_table_as_stmt__free_unpacked - (PgQuery__CreateTableAsStmt *message, +void pg_query__json_object_constructor__free_unpacked + (PgQuery__JsonObjectConstructor *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateSeqStmt methods */ -void pg_query__create_seq_stmt__init - (PgQuery__CreateSeqStmt *message); -size_t pg_query__create_seq_stmt__get_packed_size - (const PgQuery__CreateSeqStmt *message); -size_t pg_query__create_seq_stmt__pack - (const PgQuery__CreateSeqStmt *message, +/* PgQuery__JsonArrayConstructor methods */ +void pg_query__json_array_constructor__init + (PgQuery__JsonArrayConstructor *message); +size_t pg_query__json_array_constructor__get_packed_size + (const PgQuery__JsonArrayConstructor *message); +size_t pg_query__json_array_constructor__pack + (const PgQuery__JsonArrayConstructor *message, uint8_t *out); -size_t pg_query__create_seq_stmt__pack_to_buffer - (const PgQuery__CreateSeqStmt *message, +size_t pg_query__json_array_constructor__pack_to_buffer + (const PgQuery__JsonArrayConstructor *message, ProtobufCBuffer *buffer); -PgQuery__CreateSeqStmt * - pg_query__create_seq_stmt__unpack +PgQuery__JsonArrayConstructor * + pg_query__json_array_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_seq_stmt__free_unpacked - (PgQuery__CreateSeqStmt *message, +void pg_query__json_array_constructor__free_unpacked + (PgQuery__JsonArrayConstructor *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterSeqStmt methods */ -void pg_query__alter_seq_stmt__init - (PgQuery__AlterSeqStmt *message); -size_t pg_query__alter_seq_stmt__get_packed_size - (const PgQuery__AlterSeqStmt *message); -size_t pg_query__alter_seq_stmt__pack - (const PgQuery__AlterSeqStmt *message, +/* PgQuery__JsonArrayQueryConstructor methods */ +void pg_query__json_array_query_constructor__init + (PgQuery__JsonArrayQueryConstructor *message); +size_t pg_query__json_array_query_constructor__get_packed_size + (const PgQuery__JsonArrayQueryConstructor *message); +size_t pg_query__json_array_query_constructor__pack + (const PgQuery__JsonArrayQueryConstructor *message, uint8_t *out); -size_t pg_query__alter_seq_stmt__pack_to_buffer - (const PgQuery__AlterSeqStmt *message, +size_t pg_query__json_array_query_constructor__pack_to_buffer + (const PgQuery__JsonArrayQueryConstructor *message, ProtobufCBuffer *buffer); -PgQuery__AlterSeqStmt * - pg_query__alter_seq_stmt__unpack +PgQuery__JsonArrayQueryConstructor * + pg_query__json_array_query_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_seq_stmt__free_unpacked - (PgQuery__AlterSeqStmt *message, +void pg_query__json_array_query_constructor__free_unpacked + (PgQuery__JsonArrayQueryConstructor *message, ProtobufCAllocator *allocator); -/* PgQuery__VariableSetStmt methods */ -void pg_query__variable_set_stmt__init - (PgQuery__VariableSetStmt *message); -size_t pg_query__variable_set_stmt__get_packed_size - (const PgQuery__VariableSetStmt *message); -size_t pg_query__variable_set_stmt__pack - (const PgQuery__VariableSetStmt *message, +/* PgQuery__JsonAggConstructor methods */ +void pg_query__json_agg_constructor__init + (PgQuery__JsonAggConstructor *message); +size_t pg_query__json_agg_constructor__get_packed_size + (const PgQuery__JsonAggConstructor *message); +size_t pg_query__json_agg_constructor__pack + (const PgQuery__JsonAggConstructor *message, uint8_t *out); -size_t pg_query__variable_set_stmt__pack_to_buffer - (const PgQuery__VariableSetStmt *message, +size_t pg_query__json_agg_constructor__pack_to_buffer + (const PgQuery__JsonAggConstructor *message, ProtobufCBuffer *buffer); -PgQuery__VariableSetStmt * - pg_query__variable_set_stmt__unpack +PgQuery__JsonAggConstructor * + pg_query__json_agg_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__variable_set_stmt__free_unpacked - (PgQuery__VariableSetStmt *message, +void pg_query__json_agg_constructor__free_unpacked + (PgQuery__JsonAggConstructor *message, ProtobufCAllocator *allocator); -/* PgQuery__VariableShowStmt methods */ -void pg_query__variable_show_stmt__init - (PgQuery__VariableShowStmt *message); -size_t pg_query__variable_show_stmt__get_packed_size - (const PgQuery__VariableShowStmt *message); -size_t pg_query__variable_show_stmt__pack - (const PgQuery__VariableShowStmt *message, +/* PgQuery__JsonObjectAgg methods */ +void pg_query__json_object_agg__init + (PgQuery__JsonObjectAgg *message); +size_t pg_query__json_object_agg__get_packed_size + (const PgQuery__JsonObjectAgg *message); +size_t pg_query__json_object_agg__pack + (const PgQuery__JsonObjectAgg *message, uint8_t *out); -size_t pg_query__variable_show_stmt__pack_to_buffer - (const PgQuery__VariableShowStmt *message, +size_t pg_query__json_object_agg__pack_to_buffer + (const PgQuery__JsonObjectAgg *message, ProtobufCBuffer *buffer); -PgQuery__VariableShowStmt * - pg_query__variable_show_stmt__unpack +PgQuery__JsonObjectAgg * + pg_query__json_object_agg__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__variable_show_stmt__free_unpacked - (PgQuery__VariableShowStmt *message, +void pg_query__json_object_agg__free_unpacked + (PgQuery__JsonObjectAgg *message, ProtobufCAllocator *allocator); -/* PgQuery__DiscardStmt methods */ -void pg_query__discard_stmt__init - (PgQuery__DiscardStmt *message); -size_t pg_query__discard_stmt__get_packed_size - (const PgQuery__DiscardStmt *message); -size_t pg_query__discard_stmt__pack - (const PgQuery__DiscardStmt *message, +/* PgQuery__JsonArrayAgg methods */ +void pg_query__json_array_agg__init + (PgQuery__JsonArrayAgg *message); +size_t pg_query__json_array_agg__get_packed_size + (const PgQuery__JsonArrayAgg *message); +size_t pg_query__json_array_agg__pack + (const PgQuery__JsonArrayAgg *message, uint8_t *out); -size_t pg_query__discard_stmt__pack_to_buffer - (const PgQuery__DiscardStmt *message, +size_t pg_query__json_array_agg__pack_to_buffer + (const PgQuery__JsonArrayAgg *message, ProtobufCBuffer *buffer); -PgQuery__DiscardStmt * - pg_query__discard_stmt__unpack +PgQuery__JsonArrayAgg * + pg_query__json_array_agg__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__discard_stmt__free_unpacked - (PgQuery__DiscardStmt *message, +void pg_query__json_array_agg__free_unpacked + (PgQuery__JsonArrayAgg *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateTrigStmt methods */ -void pg_query__create_trig_stmt__init - (PgQuery__CreateTrigStmt *message); -size_t pg_query__create_trig_stmt__get_packed_size - (const PgQuery__CreateTrigStmt *message); -size_t pg_query__create_trig_stmt__pack - (const PgQuery__CreateTrigStmt *message, +/* PgQuery__RawStmt methods */ +void pg_query__raw_stmt__init + (PgQuery__RawStmt *message); +size_t pg_query__raw_stmt__get_packed_size + (const PgQuery__RawStmt *message); +size_t pg_query__raw_stmt__pack + (const PgQuery__RawStmt *message, uint8_t *out); -size_t pg_query__create_trig_stmt__pack_to_buffer - (const PgQuery__CreateTrigStmt *message, +size_t pg_query__raw_stmt__pack_to_buffer + (const PgQuery__RawStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateTrigStmt * - pg_query__create_trig_stmt__unpack +PgQuery__RawStmt * + pg_query__raw_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_trig_stmt__free_unpacked - (PgQuery__CreateTrigStmt *message, +void pg_query__raw_stmt__free_unpacked + (PgQuery__RawStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreatePLangStmt methods */ -void pg_query__create_plang_stmt__init - (PgQuery__CreatePLangStmt *message); -size_t pg_query__create_plang_stmt__get_packed_size - (const PgQuery__CreatePLangStmt *message); -size_t pg_query__create_plang_stmt__pack - (const PgQuery__CreatePLangStmt *message, +/* PgQuery__InsertStmt methods */ +void pg_query__insert_stmt__init + (PgQuery__InsertStmt *message); +size_t pg_query__insert_stmt__get_packed_size + (const PgQuery__InsertStmt *message); +size_t pg_query__insert_stmt__pack + (const PgQuery__InsertStmt *message, uint8_t *out); -size_t pg_query__create_plang_stmt__pack_to_buffer - (const PgQuery__CreatePLangStmt *message, +size_t pg_query__insert_stmt__pack_to_buffer + (const PgQuery__InsertStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreatePLangStmt * - pg_query__create_plang_stmt__unpack +PgQuery__InsertStmt * + pg_query__insert_stmt__unpack (ProtobufCAllocator *allocator, size_t len, - const uint8_t *data); -void pg_query__create_plang_stmt__free_unpacked - (PgQuery__CreatePLangStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__CreateRoleStmt methods */ -void pg_query__create_role_stmt__init - (PgQuery__CreateRoleStmt *message); -size_t pg_query__create_role_stmt__get_packed_size - (const PgQuery__CreateRoleStmt *message); -size_t pg_query__create_role_stmt__pack - (const PgQuery__CreateRoleStmt *message, + const uint8_t *data); +void pg_query__insert_stmt__free_unpacked + (PgQuery__InsertStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__DeleteStmt methods */ +void pg_query__delete_stmt__init + (PgQuery__DeleteStmt *message); +size_t pg_query__delete_stmt__get_packed_size + (const PgQuery__DeleteStmt *message); +size_t pg_query__delete_stmt__pack + (const PgQuery__DeleteStmt *message, uint8_t *out); -size_t pg_query__create_role_stmt__pack_to_buffer - (const PgQuery__CreateRoleStmt *message, +size_t pg_query__delete_stmt__pack_to_buffer + (const PgQuery__DeleteStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateRoleStmt * - pg_query__create_role_stmt__unpack +PgQuery__DeleteStmt * + pg_query__delete_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_role_stmt__free_unpacked - (PgQuery__CreateRoleStmt *message, +void pg_query__delete_stmt__free_unpacked + (PgQuery__DeleteStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterRoleStmt methods */ -void pg_query__alter_role_stmt__init - (PgQuery__AlterRoleStmt *message); -size_t pg_query__alter_role_stmt__get_packed_size - (const PgQuery__AlterRoleStmt *message); -size_t pg_query__alter_role_stmt__pack - (const PgQuery__AlterRoleStmt *message, +/* PgQuery__UpdateStmt methods */ +void pg_query__update_stmt__init + (PgQuery__UpdateStmt *message); +size_t pg_query__update_stmt__get_packed_size + (const PgQuery__UpdateStmt *message); +size_t pg_query__update_stmt__pack + (const PgQuery__UpdateStmt *message, uint8_t *out); -size_t pg_query__alter_role_stmt__pack_to_buffer - (const PgQuery__AlterRoleStmt *message, +size_t pg_query__update_stmt__pack_to_buffer + (const PgQuery__UpdateStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterRoleStmt * - pg_query__alter_role_stmt__unpack +PgQuery__UpdateStmt * + pg_query__update_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_role_stmt__free_unpacked - (PgQuery__AlterRoleStmt *message, +void pg_query__update_stmt__free_unpacked + (PgQuery__UpdateStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__DropRoleStmt methods */ -void pg_query__drop_role_stmt__init - (PgQuery__DropRoleStmt *message); -size_t pg_query__drop_role_stmt__get_packed_size - (const PgQuery__DropRoleStmt *message); -size_t pg_query__drop_role_stmt__pack - (const PgQuery__DropRoleStmt *message, +/* PgQuery__MergeStmt methods */ +void pg_query__merge_stmt__init + (PgQuery__MergeStmt *message); +size_t pg_query__merge_stmt__get_packed_size + (const PgQuery__MergeStmt *message); +size_t pg_query__merge_stmt__pack + (const PgQuery__MergeStmt *message, uint8_t *out); -size_t pg_query__drop_role_stmt__pack_to_buffer - (const PgQuery__DropRoleStmt *message, +size_t pg_query__merge_stmt__pack_to_buffer + (const PgQuery__MergeStmt *message, ProtobufCBuffer *buffer); -PgQuery__DropRoleStmt * - pg_query__drop_role_stmt__unpack +PgQuery__MergeStmt * + pg_query__merge_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__drop_role_stmt__free_unpacked - (PgQuery__DropRoleStmt *message, +void pg_query__merge_stmt__free_unpacked + (PgQuery__MergeStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__LockStmt methods */ -void pg_query__lock_stmt__init - (PgQuery__LockStmt *message); -size_t pg_query__lock_stmt__get_packed_size - (const PgQuery__LockStmt *message); -size_t pg_query__lock_stmt__pack - (const PgQuery__LockStmt *message, +/* PgQuery__SelectStmt methods */ +void pg_query__select_stmt__init + (PgQuery__SelectStmt *message); +size_t pg_query__select_stmt__get_packed_size + (const PgQuery__SelectStmt *message); +size_t pg_query__select_stmt__pack + (const PgQuery__SelectStmt *message, uint8_t *out); -size_t pg_query__lock_stmt__pack_to_buffer - (const PgQuery__LockStmt *message, +size_t pg_query__select_stmt__pack_to_buffer + (const PgQuery__SelectStmt *message, ProtobufCBuffer *buffer); -PgQuery__LockStmt * - pg_query__lock_stmt__unpack +PgQuery__SelectStmt * + pg_query__select_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__lock_stmt__free_unpacked - (PgQuery__LockStmt *message, +void pg_query__select_stmt__free_unpacked + (PgQuery__SelectStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ConstraintsSetStmt methods */ -void pg_query__constraints_set_stmt__init - (PgQuery__ConstraintsSetStmt *message); -size_t pg_query__constraints_set_stmt__get_packed_size - (const PgQuery__ConstraintsSetStmt *message); -size_t pg_query__constraints_set_stmt__pack - (const PgQuery__ConstraintsSetStmt *message, +/* PgQuery__SetOperationStmt methods */ +void pg_query__set_operation_stmt__init + (PgQuery__SetOperationStmt *message); +size_t pg_query__set_operation_stmt__get_packed_size + (const PgQuery__SetOperationStmt *message); +size_t pg_query__set_operation_stmt__pack + (const PgQuery__SetOperationStmt *message, uint8_t *out); -size_t pg_query__constraints_set_stmt__pack_to_buffer - (const PgQuery__ConstraintsSetStmt *message, +size_t pg_query__set_operation_stmt__pack_to_buffer + (const PgQuery__SetOperationStmt *message, ProtobufCBuffer *buffer); -PgQuery__ConstraintsSetStmt * - pg_query__constraints_set_stmt__unpack +PgQuery__SetOperationStmt * + pg_query__set_operation_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__constraints_set_stmt__free_unpacked - (PgQuery__ConstraintsSetStmt *message, +void pg_query__set_operation_stmt__free_unpacked + (PgQuery__SetOperationStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ReindexStmt methods */ -void pg_query__reindex_stmt__init - (PgQuery__ReindexStmt *message); -size_t pg_query__reindex_stmt__get_packed_size - (const PgQuery__ReindexStmt *message); -size_t pg_query__reindex_stmt__pack - (const PgQuery__ReindexStmt *message, +/* PgQuery__ReturnStmt methods */ +void pg_query__return_stmt__init + (PgQuery__ReturnStmt *message); +size_t pg_query__return_stmt__get_packed_size + (const PgQuery__ReturnStmt *message); +size_t pg_query__return_stmt__pack + (const PgQuery__ReturnStmt *message, uint8_t *out); -size_t pg_query__reindex_stmt__pack_to_buffer - (const PgQuery__ReindexStmt *message, +size_t pg_query__return_stmt__pack_to_buffer + (const PgQuery__ReturnStmt *message, ProtobufCBuffer *buffer); -PgQuery__ReindexStmt * - pg_query__reindex_stmt__unpack +PgQuery__ReturnStmt * + pg_query__return_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__reindex_stmt__free_unpacked - (PgQuery__ReindexStmt *message, +void pg_query__return_stmt__free_unpacked + (PgQuery__ReturnStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CheckPointStmt methods */ -void pg_query__check_point_stmt__init - (PgQuery__CheckPointStmt *message); -size_t pg_query__check_point_stmt__get_packed_size - (const PgQuery__CheckPointStmt *message); -size_t pg_query__check_point_stmt__pack - (const PgQuery__CheckPointStmt *message, +/* PgQuery__PLAssignStmt methods */ +void pg_query__plassign_stmt__init + (PgQuery__PLAssignStmt *message); +size_t pg_query__plassign_stmt__get_packed_size + (const PgQuery__PLAssignStmt *message); +size_t pg_query__plassign_stmt__pack + (const PgQuery__PLAssignStmt *message, uint8_t *out); -size_t pg_query__check_point_stmt__pack_to_buffer - (const PgQuery__CheckPointStmt *message, +size_t pg_query__plassign_stmt__pack_to_buffer + (const PgQuery__PLAssignStmt *message, ProtobufCBuffer *buffer); -PgQuery__CheckPointStmt * - pg_query__check_point_stmt__unpack +PgQuery__PLAssignStmt * + pg_query__plassign_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__check_point_stmt__free_unpacked - (PgQuery__CheckPointStmt *message, +void pg_query__plassign_stmt__free_unpacked + (PgQuery__PLAssignStmt *message, ProtobufCAllocator *allocator); /* PgQuery__CreateSchemaStmt methods */ void pg_query__create_schema_stmt__init @@ -8016,252 +9363,290 @@ PgQuery__CreateSchemaStmt * void pg_query__create_schema_stmt__free_unpacked (PgQuery__CreateSchemaStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterDatabaseStmt methods */ -void pg_query__alter_database_stmt__init - (PgQuery__AlterDatabaseStmt *message); -size_t pg_query__alter_database_stmt__get_packed_size - (const PgQuery__AlterDatabaseStmt *message); -size_t pg_query__alter_database_stmt__pack - (const PgQuery__AlterDatabaseStmt *message, +/* PgQuery__AlterTableStmt methods */ +void pg_query__alter_table_stmt__init + (PgQuery__AlterTableStmt *message); +size_t pg_query__alter_table_stmt__get_packed_size + (const PgQuery__AlterTableStmt *message); +size_t pg_query__alter_table_stmt__pack + (const PgQuery__AlterTableStmt *message, uint8_t *out); -size_t pg_query__alter_database_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseStmt *message, +size_t pg_query__alter_table_stmt__pack_to_buffer + (const PgQuery__AlterTableStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterDatabaseStmt * - pg_query__alter_database_stmt__unpack +PgQuery__AlterTableStmt * + pg_query__alter_table_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_database_stmt__free_unpacked - (PgQuery__AlterDatabaseStmt *message, +void pg_query__alter_table_stmt__free_unpacked + (PgQuery__AlterTableStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterDatabaseRefreshCollStmt methods */ -void pg_query__alter_database_refresh_coll_stmt__init - (PgQuery__AlterDatabaseRefreshCollStmt *message); -size_t pg_query__alter_database_refresh_coll_stmt__get_packed_size - (const PgQuery__AlterDatabaseRefreshCollStmt *message); -size_t pg_query__alter_database_refresh_coll_stmt__pack - (const PgQuery__AlterDatabaseRefreshCollStmt *message, +/* PgQuery__ReplicaIdentityStmt methods */ +void pg_query__replica_identity_stmt__init + (PgQuery__ReplicaIdentityStmt *message); +size_t pg_query__replica_identity_stmt__get_packed_size + (const PgQuery__ReplicaIdentityStmt *message); +size_t pg_query__replica_identity_stmt__pack + (const PgQuery__ReplicaIdentityStmt *message, + uint8_t *out); +size_t pg_query__replica_identity_stmt__pack_to_buffer + (const PgQuery__ReplicaIdentityStmt *message, + ProtobufCBuffer *buffer); +PgQuery__ReplicaIdentityStmt * + pg_query__replica_identity_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__replica_identity_stmt__free_unpacked + (PgQuery__ReplicaIdentityStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__AlterTableCmd methods */ +void pg_query__alter_table_cmd__init + (PgQuery__AlterTableCmd *message); +size_t pg_query__alter_table_cmd__get_packed_size + (const PgQuery__AlterTableCmd *message); +size_t pg_query__alter_table_cmd__pack + (const PgQuery__AlterTableCmd *message, + uint8_t *out); +size_t pg_query__alter_table_cmd__pack_to_buffer + (const PgQuery__AlterTableCmd *message, + ProtobufCBuffer *buffer); +PgQuery__AlterTableCmd * + pg_query__alter_table_cmd__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alter_table_cmd__free_unpacked + (PgQuery__AlterTableCmd *message, + ProtobufCAllocator *allocator); +/* PgQuery__AlterCollationStmt methods */ +void pg_query__alter_collation_stmt__init + (PgQuery__AlterCollationStmt *message); +size_t pg_query__alter_collation_stmt__get_packed_size + (const PgQuery__AlterCollationStmt *message); +size_t pg_query__alter_collation_stmt__pack + (const PgQuery__AlterCollationStmt *message, uint8_t *out); -size_t pg_query__alter_database_refresh_coll_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseRefreshCollStmt *message, +size_t pg_query__alter_collation_stmt__pack_to_buffer + (const PgQuery__AlterCollationStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterDatabaseRefreshCollStmt * - pg_query__alter_database_refresh_coll_stmt__unpack +PgQuery__AlterCollationStmt * + pg_query__alter_collation_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_database_refresh_coll_stmt__free_unpacked - (PgQuery__AlterDatabaseRefreshCollStmt *message, +void pg_query__alter_collation_stmt__free_unpacked + (PgQuery__AlterCollationStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterDatabaseSetStmt methods */ -void pg_query__alter_database_set_stmt__init - (PgQuery__AlterDatabaseSetStmt *message); -size_t pg_query__alter_database_set_stmt__get_packed_size - (const PgQuery__AlterDatabaseSetStmt *message); -size_t pg_query__alter_database_set_stmt__pack - (const PgQuery__AlterDatabaseSetStmt *message, +/* PgQuery__AlterDomainStmt methods */ +void pg_query__alter_domain_stmt__init + (PgQuery__AlterDomainStmt *message); +size_t pg_query__alter_domain_stmt__get_packed_size + (const PgQuery__AlterDomainStmt *message); +size_t pg_query__alter_domain_stmt__pack + (const PgQuery__AlterDomainStmt *message, uint8_t *out); -size_t pg_query__alter_database_set_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseSetStmt *message, +size_t pg_query__alter_domain_stmt__pack_to_buffer + (const PgQuery__AlterDomainStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterDatabaseSetStmt * - pg_query__alter_database_set_stmt__unpack +PgQuery__AlterDomainStmt * + pg_query__alter_domain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_database_set_stmt__free_unpacked - (PgQuery__AlterDatabaseSetStmt *message, +void pg_query__alter_domain_stmt__free_unpacked + (PgQuery__AlterDomainStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterRoleSetStmt methods */ -void pg_query__alter_role_set_stmt__init - (PgQuery__AlterRoleSetStmt *message); -size_t pg_query__alter_role_set_stmt__get_packed_size - (const PgQuery__AlterRoleSetStmt *message); -size_t pg_query__alter_role_set_stmt__pack - (const PgQuery__AlterRoleSetStmt *message, +/* PgQuery__GrantStmt methods */ +void pg_query__grant_stmt__init + (PgQuery__GrantStmt *message); +size_t pg_query__grant_stmt__get_packed_size + (const PgQuery__GrantStmt *message); +size_t pg_query__grant_stmt__pack + (const PgQuery__GrantStmt *message, uint8_t *out); -size_t pg_query__alter_role_set_stmt__pack_to_buffer - (const PgQuery__AlterRoleSetStmt *message, +size_t pg_query__grant_stmt__pack_to_buffer + (const PgQuery__GrantStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterRoleSetStmt * - pg_query__alter_role_set_stmt__unpack +PgQuery__GrantStmt * + pg_query__grant_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_role_set_stmt__free_unpacked - (PgQuery__AlterRoleSetStmt *message, +void pg_query__grant_stmt__free_unpacked + (PgQuery__GrantStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateConversionStmt methods */ -void pg_query__create_conversion_stmt__init - (PgQuery__CreateConversionStmt *message); -size_t pg_query__create_conversion_stmt__get_packed_size - (const PgQuery__CreateConversionStmt *message); -size_t pg_query__create_conversion_stmt__pack - (const PgQuery__CreateConversionStmt *message, +/* PgQuery__ObjectWithArgs methods */ +void pg_query__object_with_args__init + (PgQuery__ObjectWithArgs *message); +size_t pg_query__object_with_args__get_packed_size + (const PgQuery__ObjectWithArgs *message); +size_t pg_query__object_with_args__pack + (const PgQuery__ObjectWithArgs *message, uint8_t *out); -size_t pg_query__create_conversion_stmt__pack_to_buffer - (const PgQuery__CreateConversionStmt *message, +size_t pg_query__object_with_args__pack_to_buffer + (const PgQuery__ObjectWithArgs *message, ProtobufCBuffer *buffer); -PgQuery__CreateConversionStmt * - pg_query__create_conversion_stmt__unpack +PgQuery__ObjectWithArgs * + pg_query__object_with_args__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_conversion_stmt__free_unpacked - (PgQuery__CreateConversionStmt *message, +void pg_query__object_with_args__free_unpacked + (PgQuery__ObjectWithArgs *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateCastStmt methods */ -void pg_query__create_cast_stmt__init - (PgQuery__CreateCastStmt *message); -size_t pg_query__create_cast_stmt__get_packed_size - (const PgQuery__CreateCastStmt *message); -size_t pg_query__create_cast_stmt__pack - (const PgQuery__CreateCastStmt *message, +/* PgQuery__AccessPriv methods */ +void pg_query__access_priv__init + (PgQuery__AccessPriv *message); +size_t pg_query__access_priv__get_packed_size + (const PgQuery__AccessPriv *message); +size_t pg_query__access_priv__pack + (const PgQuery__AccessPriv *message, uint8_t *out); -size_t pg_query__create_cast_stmt__pack_to_buffer - (const PgQuery__CreateCastStmt *message, +size_t pg_query__access_priv__pack_to_buffer + (const PgQuery__AccessPriv *message, ProtobufCBuffer *buffer); -PgQuery__CreateCastStmt * - pg_query__create_cast_stmt__unpack +PgQuery__AccessPriv * + pg_query__access_priv__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_cast_stmt__free_unpacked - (PgQuery__CreateCastStmt *message, +void pg_query__access_priv__free_unpacked + (PgQuery__AccessPriv *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateOpClassStmt methods */ -void pg_query__create_op_class_stmt__init - (PgQuery__CreateOpClassStmt *message); -size_t pg_query__create_op_class_stmt__get_packed_size - (const PgQuery__CreateOpClassStmt *message); -size_t pg_query__create_op_class_stmt__pack - (const PgQuery__CreateOpClassStmt *message, +/* PgQuery__GrantRoleStmt methods */ +void pg_query__grant_role_stmt__init + (PgQuery__GrantRoleStmt *message); +size_t pg_query__grant_role_stmt__get_packed_size + (const PgQuery__GrantRoleStmt *message); +size_t pg_query__grant_role_stmt__pack + (const PgQuery__GrantRoleStmt *message, uint8_t *out); -size_t pg_query__create_op_class_stmt__pack_to_buffer - (const PgQuery__CreateOpClassStmt *message, +size_t pg_query__grant_role_stmt__pack_to_buffer + (const PgQuery__GrantRoleStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateOpClassStmt * - pg_query__create_op_class_stmt__unpack +PgQuery__GrantRoleStmt * + pg_query__grant_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_op_class_stmt__free_unpacked - (PgQuery__CreateOpClassStmt *message, +void pg_query__grant_role_stmt__free_unpacked + (PgQuery__GrantRoleStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateOpFamilyStmt methods */ -void pg_query__create_op_family_stmt__init - (PgQuery__CreateOpFamilyStmt *message); -size_t pg_query__create_op_family_stmt__get_packed_size - (const PgQuery__CreateOpFamilyStmt *message); -size_t pg_query__create_op_family_stmt__pack - (const PgQuery__CreateOpFamilyStmt *message, +/* PgQuery__AlterDefaultPrivilegesStmt methods */ +void pg_query__alter_default_privileges_stmt__init + (PgQuery__AlterDefaultPrivilegesStmt *message); +size_t pg_query__alter_default_privileges_stmt__get_packed_size + (const PgQuery__AlterDefaultPrivilegesStmt *message); +size_t pg_query__alter_default_privileges_stmt__pack + (const PgQuery__AlterDefaultPrivilegesStmt *message, uint8_t *out); -size_t pg_query__create_op_family_stmt__pack_to_buffer - (const PgQuery__CreateOpFamilyStmt *message, +size_t pg_query__alter_default_privileges_stmt__pack_to_buffer + (const PgQuery__AlterDefaultPrivilegesStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateOpFamilyStmt * - pg_query__create_op_family_stmt__unpack +PgQuery__AlterDefaultPrivilegesStmt * + pg_query__alter_default_privileges_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_op_family_stmt__free_unpacked - (PgQuery__CreateOpFamilyStmt *message, +void pg_query__alter_default_privileges_stmt__free_unpacked + (PgQuery__AlterDefaultPrivilegesStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterOpFamilyStmt methods */ -void pg_query__alter_op_family_stmt__init - (PgQuery__AlterOpFamilyStmt *message); -size_t pg_query__alter_op_family_stmt__get_packed_size - (const PgQuery__AlterOpFamilyStmt *message); -size_t pg_query__alter_op_family_stmt__pack - (const PgQuery__AlterOpFamilyStmt *message, +/* PgQuery__CopyStmt methods */ +void pg_query__copy_stmt__init + (PgQuery__CopyStmt *message); +size_t pg_query__copy_stmt__get_packed_size + (const PgQuery__CopyStmt *message); +size_t pg_query__copy_stmt__pack + (const PgQuery__CopyStmt *message, uint8_t *out); -size_t pg_query__alter_op_family_stmt__pack_to_buffer - (const PgQuery__AlterOpFamilyStmt *message, +size_t pg_query__copy_stmt__pack_to_buffer + (const PgQuery__CopyStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterOpFamilyStmt * - pg_query__alter_op_family_stmt__unpack +PgQuery__CopyStmt * + pg_query__copy_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_op_family_stmt__free_unpacked - (PgQuery__AlterOpFamilyStmt *message, +void pg_query__copy_stmt__free_unpacked + (PgQuery__CopyStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PrepareStmt methods */ -void pg_query__prepare_stmt__init - (PgQuery__PrepareStmt *message); -size_t pg_query__prepare_stmt__get_packed_size - (const PgQuery__PrepareStmt *message); -size_t pg_query__prepare_stmt__pack - (const PgQuery__PrepareStmt *message, +/* PgQuery__VariableSetStmt methods */ +void pg_query__variable_set_stmt__init + (PgQuery__VariableSetStmt *message); +size_t pg_query__variable_set_stmt__get_packed_size + (const PgQuery__VariableSetStmt *message); +size_t pg_query__variable_set_stmt__pack + (const PgQuery__VariableSetStmt *message, uint8_t *out); -size_t pg_query__prepare_stmt__pack_to_buffer - (const PgQuery__PrepareStmt *message, +size_t pg_query__variable_set_stmt__pack_to_buffer + (const PgQuery__VariableSetStmt *message, ProtobufCBuffer *buffer); -PgQuery__PrepareStmt * - pg_query__prepare_stmt__unpack +PgQuery__VariableSetStmt * + pg_query__variable_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__prepare_stmt__free_unpacked - (PgQuery__PrepareStmt *message, +void pg_query__variable_set_stmt__free_unpacked + (PgQuery__VariableSetStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ExecuteStmt methods */ -void pg_query__execute_stmt__init - (PgQuery__ExecuteStmt *message); -size_t pg_query__execute_stmt__get_packed_size - (const PgQuery__ExecuteStmt *message); -size_t pg_query__execute_stmt__pack - (const PgQuery__ExecuteStmt *message, +/* PgQuery__VariableShowStmt methods */ +void pg_query__variable_show_stmt__init + (PgQuery__VariableShowStmt *message); +size_t pg_query__variable_show_stmt__get_packed_size + (const PgQuery__VariableShowStmt *message); +size_t pg_query__variable_show_stmt__pack + (const PgQuery__VariableShowStmt *message, uint8_t *out); -size_t pg_query__execute_stmt__pack_to_buffer - (const PgQuery__ExecuteStmt *message, +size_t pg_query__variable_show_stmt__pack_to_buffer + (const PgQuery__VariableShowStmt *message, ProtobufCBuffer *buffer); -PgQuery__ExecuteStmt * - pg_query__execute_stmt__unpack +PgQuery__VariableShowStmt * + pg_query__variable_show_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__execute_stmt__free_unpacked - (PgQuery__ExecuteStmt *message, +void pg_query__variable_show_stmt__free_unpacked + (PgQuery__VariableShowStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__DeallocateStmt methods */ -void pg_query__deallocate_stmt__init - (PgQuery__DeallocateStmt *message); -size_t pg_query__deallocate_stmt__get_packed_size - (const PgQuery__DeallocateStmt *message); -size_t pg_query__deallocate_stmt__pack - (const PgQuery__DeallocateStmt *message, +/* PgQuery__CreateStmt methods */ +void pg_query__create_stmt__init + (PgQuery__CreateStmt *message); +size_t pg_query__create_stmt__get_packed_size + (const PgQuery__CreateStmt *message); +size_t pg_query__create_stmt__pack + (const PgQuery__CreateStmt *message, uint8_t *out); -size_t pg_query__deallocate_stmt__pack_to_buffer - (const PgQuery__DeallocateStmt *message, +size_t pg_query__create_stmt__pack_to_buffer + (const PgQuery__CreateStmt *message, ProtobufCBuffer *buffer); -PgQuery__DeallocateStmt * - pg_query__deallocate_stmt__unpack +PgQuery__CreateStmt * + pg_query__create_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__deallocate_stmt__free_unpacked - (PgQuery__DeallocateStmt *message, +void pg_query__create_stmt__free_unpacked + (PgQuery__CreateStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__DeclareCursorStmt methods */ -void pg_query__declare_cursor_stmt__init - (PgQuery__DeclareCursorStmt *message); -size_t pg_query__declare_cursor_stmt__get_packed_size - (const PgQuery__DeclareCursorStmt *message); -size_t pg_query__declare_cursor_stmt__pack - (const PgQuery__DeclareCursorStmt *message, +/* PgQuery__Constraint methods */ +void pg_query__constraint__init + (PgQuery__Constraint *message); +size_t pg_query__constraint__get_packed_size + (const PgQuery__Constraint *message); +size_t pg_query__constraint__pack + (const PgQuery__Constraint *message, uint8_t *out); -size_t pg_query__declare_cursor_stmt__pack_to_buffer - (const PgQuery__DeclareCursorStmt *message, +size_t pg_query__constraint__pack_to_buffer + (const PgQuery__Constraint *message, ProtobufCBuffer *buffer); -PgQuery__DeclareCursorStmt * - pg_query__declare_cursor_stmt__unpack +PgQuery__Constraint * + pg_query__constraint__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__declare_cursor_stmt__free_unpacked - (PgQuery__DeclareCursorStmt *message, +void pg_query__constraint__free_unpacked + (PgQuery__Constraint *message, ProtobufCAllocator *allocator); /* PgQuery__CreateTableSpaceStmt methods */ void pg_query__create_table_space_stmt__init @@ -8301,252 +9686,100 @@ PgQuery__DropTableSpaceStmt * void pg_query__drop_table_space_stmt__free_unpacked (PgQuery__DropTableSpaceStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterObjectDependsStmt methods */ -void pg_query__alter_object_depends_stmt__init - (PgQuery__AlterObjectDependsStmt *message); -size_t pg_query__alter_object_depends_stmt__get_packed_size - (const PgQuery__AlterObjectDependsStmt *message); -size_t pg_query__alter_object_depends_stmt__pack - (const PgQuery__AlterObjectDependsStmt *message, - uint8_t *out); -size_t pg_query__alter_object_depends_stmt__pack_to_buffer - (const PgQuery__AlterObjectDependsStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterObjectDependsStmt * - pg_query__alter_object_depends_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_object_depends_stmt__free_unpacked - (PgQuery__AlterObjectDependsStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__AlterObjectSchemaStmt methods */ -void pg_query__alter_object_schema_stmt__init - (PgQuery__AlterObjectSchemaStmt *message); -size_t pg_query__alter_object_schema_stmt__get_packed_size - (const PgQuery__AlterObjectSchemaStmt *message); -size_t pg_query__alter_object_schema_stmt__pack - (const PgQuery__AlterObjectSchemaStmt *message, - uint8_t *out); -size_t pg_query__alter_object_schema_stmt__pack_to_buffer - (const PgQuery__AlterObjectSchemaStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterObjectSchemaStmt * - pg_query__alter_object_schema_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_object_schema_stmt__free_unpacked - (PgQuery__AlterObjectSchemaStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__AlterOwnerStmt methods */ -void pg_query__alter_owner_stmt__init - (PgQuery__AlterOwnerStmt *message); -size_t pg_query__alter_owner_stmt__get_packed_size - (const PgQuery__AlterOwnerStmt *message); -size_t pg_query__alter_owner_stmt__pack - (const PgQuery__AlterOwnerStmt *message, - uint8_t *out); -size_t pg_query__alter_owner_stmt__pack_to_buffer - (const PgQuery__AlterOwnerStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterOwnerStmt * - pg_query__alter_owner_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_owner_stmt__free_unpacked - (PgQuery__AlterOwnerStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__AlterOperatorStmt methods */ -void pg_query__alter_operator_stmt__init - (PgQuery__AlterOperatorStmt *message); -size_t pg_query__alter_operator_stmt__get_packed_size - (const PgQuery__AlterOperatorStmt *message); -size_t pg_query__alter_operator_stmt__pack - (const PgQuery__AlterOperatorStmt *message, - uint8_t *out); -size_t pg_query__alter_operator_stmt__pack_to_buffer - (const PgQuery__AlterOperatorStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterOperatorStmt * - pg_query__alter_operator_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_operator_stmt__free_unpacked - (PgQuery__AlterOperatorStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__AlterTypeStmt methods */ -void pg_query__alter_type_stmt__init - (PgQuery__AlterTypeStmt *message); -size_t pg_query__alter_type_stmt__get_packed_size - (const PgQuery__AlterTypeStmt *message); -size_t pg_query__alter_type_stmt__pack - (const PgQuery__AlterTypeStmt *message, - uint8_t *out); -size_t pg_query__alter_type_stmt__pack_to_buffer - (const PgQuery__AlterTypeStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterTypeStmt * - pg_query__alter_type_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_type_stmt__free_unpacked - (PgQuery__AlterTypeStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__DropOwnedStmt methods */ -void pg_query__drop_owned_stmt__init - (PgQuery__DropOwnedStmt *message); -size_t pg_query__drop_owned_stmt__get_packed_size - (const PgQuery__DropOwnedStmt *message); -size_t pg_query__drop_owned_stmt__pack - (const PgQuery__DropOwnedStmt *message, - uint8_t *out); -size_t pg_query__drop_owned_stmt__pack_to_buffer - (const PgQuery__DropOwnedStmt *message, - ProtobufCBuffer *buffer); -PgQuery__DropOwnedStmt * - pg_query__drop_owned_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__drop_owned_stmt__free_unpacked - (PgQuery__DropOwnedStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__ReassignOwnedStmt methods */ -void pg_query__reassign_owned_stmt__init - (PgQuery__ReassignOwnedStmt *message); -size_t pg_query__reassign_owned_stmt__get_packed_size - (const PgQuery__ReassignOwnedStmt *message); -size_t pg_query__reassign_owned_stmt__pack - (const PgQuery__ReassignOwnedStmt *message, - uint8_t *out); -size_t pg_query__reassign_owned_stmt__pack_to_buffer - (const PgQuery__ReassignOwnedStmt *message, - ProtobufCBuffer *buffer); -PgQuery__ReassignOwnedStmt * - pg_query__reassign_owned_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__reassign_owned_stmt__free_unpacked - (PgQuery__ReassignOwnedStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__CompositeTypeStmt methods */ -void pg_query__composite_type_stmt__init - (PgQuery__CompositeTypeStmt *message); -size_t pg_query__composite_type_stmt__get_packed_size - (const PgQuery__CompositeTypeStmt *message); -size_t pg_query__composite_type_stmt__pack - (const PgQuery__CompositeTypeStmt *message, - uint8_t *out); -size_t pg_query__composite_type_stmt__pack_to_buffer - (const PgQuery__CompositeTypeStmt *message, - ProtobufCBuffer *buffer); -PgQuery__CompositeTypeStmt * - pg_query__composite_type_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__composite_type_stmt__free_unpacked - (PgQuery__CompositeTypeStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__CreateEnumStmt methods */ -void pg_query__create_enum_stmt__init - (PgQuery__CreateEnumStmt *message); -size_t pg_query__create_enum_stmt__get_packed_size - (const PgQuery__CreateEnumStmt *message); -size_t pg_query__create_enum_stmt__pack - (const PgQuery__CreateEnumStmt *message, +/* PgQuery__AlterTableSpaceOptionsStmt methods */ +void pg_query__alter_table_space_options_stmt__init + (PgQuery__AlterTableSpaceOptionsStmt *message); +size_t pg_query__alter_table_space_options_stmt__get_packed_size + (const PgQuery__AlterTableSpaceOptionsStmt *message); +size_t pg_query__alter_table_space_options_stmt__pack + (const PgQuery__AlterTableSpaceOptionsStmt *message, uint8_t *out); -size_t pg_query__create_enum_stmt__pack_to_buffer - (const PgQuery__CreateEnumStmt *message, +size_t pg_query__alter_table_space_options_stmt__pack_to_buffer + (const PgQuery__AlterTableSpaceOptionsStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateEnumStmt * - pg_query__create_enum_stmt__unpack +PgQuery__AlterTableSpaceOptionsStmt * + pg_query__alter_table_space_options_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_enum_stmt__free_unpacked - (PgQuery__CreateEnumStmt *message, +void pg_query__alter_table_space_options_stmt__free_unpacked + (PgQuery__AlterTableSpaceOptionsStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateRangeStmt methods */ -void pg_query__create_range_stmt__init - (PgQuery__CreateRangeStmt *message); -size_t pg_query__create_range_stmt__get_packed_size - (const PgQuery__CreateRangeStmt *message); -size_t pg_query__create_range_stmt__pack - (const PgQuery__CreateRangeStmt *message, +/* PgQuery__AlterTableMoveAllStmt methods */ +void pg_query__alter_table_move_all_stmt__init + (PgQuery__AlterTableMoveAllStmt *message); +size_t pg_query__alter_table_move_all_stmt__get_packed_size + (const PgQuery__AlterTableMoveAllStmt *message); +size_t pg_query__alter_table_move_all_stmt__pack + (const PgQuery__AlterTableMoveAllStmt *message, uint8_t *out); -size_t pg_query__create_range_stmt__pack_to_buffer - (const PgQuery__CreateRangeStmt *message, +size_t pg_query__alter_table_move_all_stmt__pack_to_buffer + (const PgQuery__AlterTableMoveAllStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateRangeStmt * - pg_query__create_range_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__create_range_stmt__free_unpacked - (PgQuery__CreateRangeStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__AlterEnumStmt methods */ -void pg_query__alter_enum_stmt__init - (PgQuery__AlterEnumStmt *message); -size_t pg_query__alter_enum_stmt__get_packed_size - (const PgQuery__AlterEnumStmt *message); -size_t pg_query__alter_enum_stmt__pack - (const PgQuery__AlterEnumStmt *message, +PgQuery__AlterTableMoveAllStmt * + pg_query__alter_table_move_all_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alter_table_move_all_stmt__free_unpacked + (PgQuery__AlterTableMoveAllStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreateExtensionStmt methods */ +void pg_query__create_extension_stmt__init + (PgQuery__CreateExtensionStmt *message); +size_t pg_query__create_extension_stmt__get_packed_size + (const PgQuery__CreateExtensionStmt *message); +size_t pg_query__create_extension_stmt__pack + (const PgQuery__CreateExtensionStmt *message, uint8_t *out); -size_t pg_query__alter_enum_stmt__pack_to_buffer - (const PgQuery__AlterEnumStmt *message, +size_t pg_query__create_extension_stmt__pack_to_buffer + (const PgQuery__CreateExtensionStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterEnumStmt * - pg_query__alter_enum_stmt__unpack +PgQuery__CreateExtensionStmt * + pg_query__create_extension_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_enum_stmt__free_unpacked - (PgQuery__AlterEnumStmt *message, +void pg_query__create_extension_stmt__free_unpacked + (PgQuery__CreateExtensionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTSDictionaryStmt methods */ -void pg_query__alter_tsdictionary_stmt__init - (PgQuery__AlterTSDictionaryStmt *message); -size_t pg_query__alter_tsdictionary_stmt__get_packed_size - (const PgQuery__AlterTSDictionaryStmt *message); -size_t pg_query__alter_tsdictionary_stmt__pack - (const PgQuery__AlterTSDictionaryStmt *message, +/* PgQuery__AlterExtensionStmt methods */ +void pg_query__alter_extension_stmt__init + (PgQuery__AlterExtensionStmt *message); +size_t pg_query__alter_extension_stmt__get_packed_size + (const PgQuery__AlterExtensionStmt *message); +size_t pg_query__alter_extension_stmt__pack + (const PgQuery__AlterExtensionStmt *message, uint8_t *out); -size_t pg_query__alter_tsdictionary_stmt__pack_to_buffer - (const PgQuery__AlterTSDictionaryStmt *message, +size_t pg_query__alter_extension_stmt__pack_to_buffer + (const PgQuery__AlterExtensionStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterTSDictionaryStmt * - pg_query__alter_tsdictionary_stmt__unpack +PgQuery__AlterExtensionStmt * + pg_query__alter_extension_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_tsdictionary_stmt__free_unpacked - (PgQuery__AlterTSDictionaryStmt *message, +void pg_query__alter_extension_stmt__free_unpacked + (PgQuery__AlterExtensionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTSConfigurationStmt methods */ -void pg_query__alter_tsconfiguration_stmt__init - (PgQuery__AlterTSConfigurationStmt *message); -size_t pg_query__alter_tsconfiguration_stmt__get_packed_size - (const PgQuery__AlterTSConfigurationStmt *message); -size_t pg_query__alter_tsconfiguration_stmt__pack - (const PgQuery__AlterTSConfigurationStmt *message, +/* PgQuery__AlterExtensionContentsStmt methods */ +void pg_query__alter_extension_contents_stmt__init + (PgQuery__AlterExtensionContentsStmt *message); +size_t pg_query__alter_extension_contents_stmt__get_packed_size + (const PgQuery__AlterExtensionContentsStmt *message); +size_t pg_query__alter_extension_contents_stmt__pack + (const PgQuery__AlterExtensionContentsStmt *message, uint8_t *out); -size_t pg_query__alter_tsconfiguration_stmt__pack_to_buffer - (const PgQuery__AlterTSConfigurationStmt *message, +size_t pg_query__alter_extension_contents_stmt__pack_to_buffer + (const PgQuery__AlterExtensionContentsStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterTSConfigurationStmt * - pg_query__alter_tsconfiguration_stmt__unpack +PgQuery__AlterExtensionContentsStmt * + pg_query__alter_extension_contents_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_tsconfiguration_stmt__free_unpacked - (PgQuery__AlterTSConfigurationStmt *message, +void pg_query__alter_extension_contents_stmt__free_unpacked + (PgQuery__AlterExtensionContentsStmt *message, ProtobufCAllocator *allocator); /* PgQuery__CreateFdwStmt methods */ void pg_query__create_fdw_stmt__init @@ -8624,6 +9857,25 @@ PgQuery__AlterForeignServerStmt * void pg_query__alter_foreign_server_stmt__free_unpacked (PgQuery__AlterForeignServerStmt *message, ProtobufCAllocator *allocator); +/* PgQuery__CreateForeignTableStmt methods */ +void pg_query__create_foreign_table_stmt__init + (PgQuery__CreateForeignTableStmt *message); +size_t pg_query__create_foreign_table_stmt__get_packed_size + (const PgQuery__CreateForeignTableStmt *message); +size_t pg_query__create_foreign_table_stmt__pack + (const PgQuery__CreateForeignTableStmt *message, + uint8_t *out); +size_t pg_query__create_foreign_table_stmt__pack_to_buffer + (const PgQuery__CreateForeignTableStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreateForeignTableStmt * + pg_query__create_foreign_table_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_foreign_table_stmt__free_unpacked + (PgQuery__CreateForeignTableStmt *message, + ProtobufCAllocator *allocator); /* PgQuery__CreateUserMappingStmt methods */ void pg_query__create_user_mapping_stmt__init (PgQuery__CreateUserMappingStmt *message); @@ -8681,423 +9933,537 @@ PgQuery__DropUserMappingStmt * void pg_query__drop_user_mapping_stmt__free_unpacked (PgQuery__DropUserMappingStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTableSpaceOptionsStmt methods */ -void pg_query__alter_table_space_options_stmt__init - (PgQuery__AlterTableSpaceOptionsStmt *message); -size_t pg_query__alter_table_space_options_stmt__get_packed_size - (const PgQuery__AlterTableSpaceOptionsStmt *message); -size_t pg_query__alter_table_space_options_stmt__pack - (const PgQuery__AlterTableSpaceOptionsStmt *message, +/* PgQuery__ImportForeignSchemaStmt methods */ +void pg_query__import_foreign_schema_stmt__init + (PgQuery__ImportForeignSchemaStmt *message); +size_t pg_query__import_foreign_schema_stmt__get_packed_size + (const PgQuery__ImportForeignSchemaStmt *message); +size_t pg_query__import_foreign_schema_stmt__pack + (const PgQuery__ImportForeignSchemaStmt *message, uint8_t *out); -size_t pg_query__alter_table_space_options_stmt__pack_to_buffer - (const PgQuery__AlterTableSpaceOptionsStmt *message, +size_t pg_query__import_foreign_schema_stmt__pack_to_buffer + (const PgQuery__ImportForeignSchemaStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterTableSpaceOptionsStmt * - pg_query__alter_table_space_options_stmt__unpack +PgQuery__ImportForeignSchemaStmt * + pg_query__import_foreign_schema_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_table_space_options_stmt__free_unpacked - (PgQuery__AlterTableSpaceOptionsStmt *message, +void pg_query__import_foreign_schema_stmt__free_unpacked + (PgQuery__ImportForeignSchemaStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterTableMoveAllStmt methods */ -void pg_query__alter_table_move_all_stmt__init - (PgQuery__AlterTableMoveAllStmt *message); -size_t pg_query__alter_table_move_all_stmt__get_packed_size - (const PgQuery__AlterTableMoveAllStmt *message); -size_t pg_query__alter_table_move_all_stmt__pack - (const PgQuery__AlterTableMoveAllStmt *message, +/* PgQuery__CreatePolicyStmt methods */ +void pg_query__create_policy_stmt__init + (PgQuery__CreatePolicyStmt *message); +size_t pg_query__create_policy_stmt__get_packed_size + (const PgQuery__CreatePolicyStmt *message); +size_t pg_query__create_policy_stmt__pack + (const PgQuery__CreatePolicyStmt *message, uint8_t *out); -size_t pg_query__alter_table_move_all_stmt__pack_to_buffer - (const PgQuery__AlterTableMoveAllStmt *message, +size_t pg_query__create_policy_stmt__pack_to_buffer + (const PgQuery__CreatePolicyStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterTableMoveAllStmt * - pg_query__alter_table_move_all_stmt__unpack +PgQuery__CreatePolicyStmt * + pg_query__create_policy_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_policy_stmt__free_unpacked + (PgQuery__CreatePolicyStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__AlterPolicyStmt methods */ +void pg_query__alter_policy_stmt__init + (PgQuery__AlterPolicyStmt *message); +size_t pg_query__alter_policy_stmt__get_packed_size + (const PgQuery__AlterPolicyStmt *message); +size_t pg_query__alter_policy_stmt__pack + (const PgQuery__AlterPolicyStmt *message, + uint8_t *out); +size_t pg_query__alter_policy_stmt__pack_to_buffer + (const PgQuery__AlterPolicyStmt *message, + ProtobufCBuffer *buffer); +PgQuery__AlterPolicyStmt * + pg_query__alter_policy_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alter_policy_stmt__free_unpacked + (PgQuery__AlterPolicyStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreateAmStmt methods */ +void pg_query__create_am_stmt__init + (PgQuery__CreateAmStmt *message); +size_t pg_query__create_am_stmt__get_packed_size + (const PgQuery__CreateAmStmt *message); +size_t pg_query__create_am_stmt__pack + (const PgQuery__CreateAmStmt *message, + uint8_t *out); +size_t pg_query__create_am_stmt__pack_to_buffer + (const PgQuery__CreateAmStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreateAmStmt * + pg_query__create_am_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_am_stmt__free_unpacked + (PgQuery__CreateAmStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreateTrigStmt methods */ +void pg_query__create_trig_stmt__init + (PgQuery__CreateTrigStmt *message); +size_t pg_query__create_trig_stmt__get_packed_size + (const PgQuery__CreateTrigStmt *message); +size_t pg_query__create_trig_stmt__pack + (const PgQuery__CreateTrigStmt *message, + uint8_t *out); +size_t pg_query__create_trig_stmt__pack_to_buffer + (const PgQuery__CreateTrigStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreateTrigStmt * + pg_query__create_trig_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_trig_stmt__free_unpacked + (PgQuery__CreateTrigStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreateEventTrigStmt methods */ +void pg_query__create_event_trig_stmt__init + (PgQuery__CreateEventTrigStmt *message); +size_t pg_query__create_event_trig_stmt__get_packed_size + (const PgQuery__CreateEventTrigStmt *message); +size_t pg_query__create_event_trig_stmt__pack + (const PgQuery__CreateEventTrigStmt *message, + uint8_t *out); +size_t pg_query__create_event_trig_stmt__pack_to_buffer + (const PgQuery__CreateEventTrigStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreateEventTrigStmt * + pg_query__create_event_trig_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_event_trig_stmt__free_unpacked + (PgQuery__CreateEventTrigStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__AlterEventTrigStmt methods */ +void pg_query__alter_event_trig_stmt__init + (PgQuery__AlterEventTrigStmt *message); +size_t pg_query__alter_event_trig_stmt__get_packed_size + (const PgQuery__AlterEventTrigStmt *message); +size_t pg_query__alter_event_trig_stmt__pack + (const PgQuery__AlterEventTrigStmt *message, + uint8_t *out); +size_t pg_query__alter_event_trig_stmt__pack_to_buffer + (const PgQuery__AlterEventTrigStmt *message, + ProtobufCBuffer *buffer); +PgQuery__AlterEventTrigStmt * + pg_query__alter_event_trig_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alter_event_trig_stmt__free_unpacked + (PgQuery__AlterEventTrigStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreatePLangStmt methods */ +void pg_query__create_plang_stmt__init + (PgQuery__CreatePLangStmt *message); +size_t pg_query__create_plang_stmt__get_packed_size + (const PgQuery__CreatePLangStmt *message); +size_t pg_query__create_plang_stmt__pack + (const PgQuery__CreatePLangStmt *message, + uint8_t *out); +size_t pg_query__create_plang_stmt__pack_to_buffer + (const PgQuery__CreatePLangStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreatePLangStmt * + pg_query__create_plang_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_table_move_all_stmt__free_unpacked - (PgQuery__AlterTableMoveAllStmt *message, +void pg_query__create_plang_stmt__free_unpacked + (PgQuery__CreatePLangStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__SecLabelStmt methods */ -void pg_query__sec_label_stmt__init - (PgQuery__SecLabelStmt *message); -size_t pg_query__sec_label_stmt__get_packed_size - (const PgQuery__SecLabelStmt *message); -size_t pg_query__sec_label_stmt__pack - (const PgQuery__SecLabelStmt *message, +/* PgQuery__CreateRoleStmt methods */ +void pg_query__create_role_stmt__init + (PgQuery__CreateRoleStmt *message); +size_t pg_query__create_role_stmt__get_packed_size + (const PgQuery__CreateRoleStmt *message); +size_t pg_query__create_role_stmt__pack + (const PgQuery__CreateRoleStmt *message, uint8_t *out); -size_t pg_query__sec_label_stmt__pack_to_buffer - (const PgQuery__SecLabelStmt *message, +size_t pg_query__create_role_stmt__pack_to_buffer + (const PgQuery__CreateRoleStmt *message, ProtobufCBuffer *buffer); -PgQuery__SecLabelStmt * - pg_query__sec_label_stmt__unpack +PgQuery__CreateRoleStmt * + pg_query__create_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sec_label_stmt__free_unpacked - (PgQuery__SecLabelStmt *message, +void pg_query__create_role_stmt__free_unpacked + (PgQuery__CreateRoleStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateForeignTableStmt methods */ -void pg_query__create_foreign_table_stmt__init - (PgQuery__CreateForeignTableStmt *message); -size_t pg_query__create_foreign_table_stmt__get_packed_size - (const PgQuery__CreateForeignTableStmt *message); -size_t pg_query__create_foreign_table_stmt__pack - (const PgQuery__CreateForeignTableStmt *message, +/* PgQuery__AlterRoleStmt methods */ +void pg_query__alter_role_stmt__init + (PgQuery__AlterRoleStmt *message); +size_t pg_query__alter_role_stmt__get_packed_size + (const PgQuery__AlterRoleStmt *message); +size_t pg_query__alter_role_stmt__pack + (const PgQuery__AlterRoleStmt *message, uint8_t *out); -size_t pg_query__create_foreign_table_stmt__pack_to_buffer - (const PgQuery__CreateForeignTableStmt *message, +size_t pg_query__alter_role_stmt__pack_to_buffer + (const PgQuery__AlterRoleStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateForeignTableStmt * - pg_query__create_foreign_table_stmt__unpack +PgQuery__AlterRoleStmt * + pg_query__alter_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_foreign_table_stmt__free_unpacked - (PgQuery__CreateForeignTableStmt *message, +void pg_query__alter_role_stmt__free_unpacked + (PgQuery__AlterRoleStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ImportForeignSchemaStmt methods */ -void pg_query__import_foreign_schema_stmt__init - (PgQuery__ImportForeignSchemaStmt *message); -size_t pg_query__import_foreign_schema_stmt__get_packed_size - (const PgQuery__ImportForeignSchemaStmt *message); -size_t pg_query__import_foreign_schema_stmt__pack - (const PgQuery__ImportForeignSchemaStmt *message, +/* PgQuery__AlterRoleSetStmt methods */ +void pg_query__alter_role_set_stmt__init + (PgQuery__AlterRoleSetStmt *message); +size_t pg_query__alter_role_set_stmt__get_packed_size + (const PgQuery__AlterRoleSetStmt *message); +size_t pg_query__alter_role_set_stmt__pack + (const PgQuery__AlterRoleSetStmt *message, uint8_t *out); -size_t pg_query__import_foreign_schema_stmt__pack_to_buffer - (const PgQuery__ImportForeignSchemaStmt *message, +size_t pg_query__alter_role_set_stmt__pack_to_buffer + (const PgQuery__AlterRoleSetStmt *message, ProtobufCBuffer *buffer); -PgQuery__ImportForeignSchemaStmt * - pg_query__import_foreign_schema_stmt__unpack +PgQuery__AlterRoleSetStmt * + pg_query__alter_role_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__import_foreign_schema_stmt__free_unpacked - (PgQuery__ImportForeignSchemaStmt *message, +void pg_query__alter_role_set_stmt__free_unpacked + (PgQuery__AlterRoleSetStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateExtensionStmt methods */ -void pg_query__create_extension_stmt__init - (PgQuery__CreateExtensionStmt *message); -size_t pg_query__create_extension_stmt__get_packed_size - (const PgQuery__CreateExtensionStmt *message); -size_t pg_query__create_extension_stmt__pack - (const PgQuery__CreateExtensionStmt *message, +/* PgQuery__DropRoleStmt methods */ +void pg_query__drop_role_stmt__init + (PgQuery__DropRoleStmt *message); +size_t pg_query__drop_role_stmt__get_packed_size + (const PgQuery__DropRoleStmt *message); +size_t pg_query__drop_role_stmt__pack + (const PgQuery__DropRoleStmt *message, uint8_t *out); -size_t pg_query__create_extension_stmt__pack_to_buffer - (const PgQuery__CreateExtensionStmt *message, +size_t pg_query__drop_role_stmt__pack_to_buffer + (const PgQuery__DropRoleStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateExtensionStmt * - pg_query__create_extension_stmt__unpack +PgQuery__DropRoleStmt * + pg_query__drop_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_extension_stmt__free_unpacked - (PgQuery__CreateExtensionStmt *message, +void pg_query__drop_role_stmt__free_unpacked + (PgQuery__DropRoleStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterExtensionStmt methods */ -void pg_query__alter_extension_stmt__init - (PgQuery__AlterExtensionStmt *message); -size_t pg_query__alter_extension_stmt__get_packed_size - (const PgQuery__AlterExtensionStmt *message); -size_t pg_query__alter_extension_stmt__pack - (const PgQuery__AlterExtensionStmt *message, +/* PgQuery__CreateSeqStmt methods */ +void pg_query__create_seq_stmt__init + (PgQuery__CreateSeqStmt *message); +size_t pg_query__create_seq_stmt__get_packed_size + (const PgQuery__CreateSeqStmt *message); +size_t pg_query__create_seq_stmt__pack + (const PgQuery__CreateSeqStmt *message, uint8_t *out); -size_t pg_query__alter_extension_stmt__pack_to_buffer - (const PgQuery__AlterExtensionStmt *message, +size_t pg_query__create_seq_stmt__pack_to_buffer + (const PgQuery__CreateSeqStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterExtensionStmt * - pg_query__alter_extension_stmt__unpack +PgQuery__CreateSeqStmt * + pg_query__create_seq_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_extension_stmt__free_unpacked - (PgQuery__AlterExtensionStmt *message, +void pg_query__create_seq_stmt__free_unpacked + (PgQuery__CreateSeqStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterExtensionContentsStmt methods */ -void pg_query__alter_extension_contents_stmt__init - (PgQuery__AlterExtensionContentsStmt *message); -size_t pg_query__alter_extension_contents_stmt__get_packed_size - (const PgQuery__AlterExtensionContentsStmt *message); -size_t pg_query__alter_extension_contents_stmt__pack - (const PgQuery__AlterExtensionContentsStmt *message, +/* PgQuery__AlterSeqStmt methods */ +void pg_query__alter_seq_stmt__init + (PgQuery__AlterSeqStmt *message); +size_t pg_query__alter_seq_stmt__get_packed_size + (const PgQuery__AlterSeqStmt *message); +size_t pg_query__alter_seq_stmt__pack + (const PgQuery__AlterSeqStmt *message, uint8_t *out); -size_t pg_query__alter_extension_contents_stmt__pack_to_buffer - (const PgQuery__AlterExtensionContentsStmt *message, +size_t pg_query__alter_seq_stmt__pack_to_buffer + (const PgQuery__AlterSeqStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterExtensionContentsStmt * - pg_query__alter_extension_contents_stmt__unpack +PgQuery__AlterSeqStmt * + pg_query__alter_seq_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_extension_contents_stmt__free_unpacked - (PgQuery__AlterExtensionContentsStmt *message, +void pg_query__alter_seq_stmt__free_unpacked + (PgQuery__AlterSeqStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateEventTrigStmt methods */ -void pg_query__create_event_trig_stmt__init - (PgQuery__CreateEventTrigStmt *message); -size_t pg_query__create_event_trig_stmt__get_packed_size - (const PgQuery__CreateEventTrigStmt *message); -size_t pg_query__create_event_trig_stmt__pack - (const PgQuery__CreateEventTrigStmt *message, +/* PgQuery__DefineStmt methods */ +void pg_query__define_stmt__init + (PgQuery__DefineStmt *message); +size_t pg_query__define_stmt__get_packed_size + (const PgQuery__DefineStmt *message); +size_t pg_query__define_stmt__pack + (const PgQuery__DefineStmt *message, uint8_t *out); -size_t pg_query__create_event_trig_stmt__pack_to_buffer - (const PgQuery__CreateEventTrigStmt *message, +size_t pg_query__define_stmt__pack_to_buffer + (const PgQuery__DefineStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateEventTrigStmt * - pg_query__create_event_trig_stmt__unpack +PgQuery__DefineStmt * + pg_query__define_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_event_trig_stmt__free_unpacked - (PgQuery__CreateEventTrigStmt *message, +void pg_query__define_stmt__free_unpacked + (PgQuery__DefineStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterEventTrigStmt methods */ -void pg_query__alter_event_trig_stmt__init - (PgQuery__AlterEventTrigStmt *message); -size_t pg_query__alter_event_trig_stmt__get_packed_size - (const PgQuery__AlterEventTrigStmt *message); -size_t pg_query__alter_event_trig_stmt__pack - (const PgQuery__AlterEventTrigStmt *message, +/* PgQuery__CreateDomainStmt methods */ +void pg_query__create_domain_stmt__init + (PgQuery__CreateDomainStmt *message); +size_t pg_query__create_domain_stmt__get_packed_size + (const PgQuery__CreateDomainStmt *message); +size_t pg_query__create_domain_stmt__pack + (const PgQuery__CreateDomainStmt *message, uint8_t *out); -size_t pg_query__alter_event_trig_stmt__pack_to_buffer - (const PgQuery__AlterEventTrigStmt *message, +size_t pg_query__create_domain_stmt__pack_to_buffer + (const PgQuery__CreateDomainStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterEventTrigStmt * - pg_query__alter_event_trig_stmt__unpack +PgQuery__CreateDomainStmt * + pg_query__create_domain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_event_trig_stmt__free_unpacked - (PgQuery__AlterEventTrigStmt *message, +void pg_query__create_domain_stmt__free_unpacked + (PgQuery__CreateDomainStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RefreshMatViewStmt methods */ -void pg_query__refresh_mat_view_stmt__init - (PgQuery__RefreshMatViewStmt *message); -size_t pg_query__refresh_mat_view_stmt__get_packed_size - (const PgQuery__RefreshMatViewStmt *message); -size_t pg_query__refresh_mat_view_stmt__pack - (const PgQuery__RefreshMatViewStmt *message, +/* PgQuery__CreateOpClassStmt methods */ +void pg_query__create_op_class_stmt__init + (PgQuery__CreateOpClassStmt *message); +size_t pg_query__create_op_class_stmt__get_packed_size + (const PgQuery__CreateOpClassStmt *message); +size_t pg_query__create_op_class_stmt__pack + (const PgQuery__CreateOpClassStmt *message, uint8_t *out); -size_t pg_query__refresh_mat_view_stmt__pack_to_buffer - (const PgQuery__RefreshMatViewStmt *message, +size_t pg_query__create_op_class_stmt__pack_to_buffer + (const PgQuery__CreateOpClassStmt *message, ProtobufCBuffer *buffer); -PgQuery__RefreshMatViewStmt * - pg_query__refresh_mat_view_stmt__unpack +PgQuery__CreateOpClassStmt * + pg_query__create_op_class_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__refresh_mat_view_stmt__free_unpacked - (PgQuery__RefreshMatViewStmt *message, +void pg_query__create_op_class_stmt__free_unpacked + (PgQuery__CreateOpClassStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ReplicaIdentityStmt methods */ -void pg_query__replica_identity_stmt__init - (PgQuery__ReplicaIdentityStmt *message); -size_t pg_query__replica_identity_stmt__get_packed_size - (const PgQuery__ReplicaIdentityStmt *message); -size_t pg_query__replica_identity_stmt__pack - (const PgQuery__ReplicaIdentityStmt *message, +/* PgQuery__CreateOpClassItem methods */ +void pg_query__create_op_class_item__init + (PgQuery__CreateOpClassItem *message); +size_t pg_query__create_op_class_item__get_packed_size + (const PgQuery__CreateOpClassItem *message); +size_t pg_query__create_op_class_item__pack + (const PgQuery__CreateOpClassItem *message, uint8_t *out); -size_t pg_query__replica_identity_stmt__pack_to_buffer - (const PgQuery__ReplicaIdentityStmt *message, +size_t pg_query__create_op_class_item__pack_to_buffer + (const PgQuery__CreateOpClassItem *message, ProtobufCBuffer *buffer); -PgQuery__ReplicaIdentityStmt * - pg_query__replica_identity_stmt__unpack +PgQuery__CreateOpClassItem * + pg_query__create_op_class_item__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__replica_identity_stmt__free_unpacked - (PgQuery__ReplicaIdentityStmt *message, +void pg_query__create_op_class_item__free_unpacked + (PgQuery__CreateOpClassItem *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterSystemStmt methods */ -void pg_query__alter_system_stmt__init - (PgQuery__AlterSystemStmt *message); -size_t pg_query__alter_system_stmt__get_packed_size - (const PgQuery__AlterSystemStmt *message); -size_t pg_query__alter_system_stmt__pack - (const PgQuery__AlterSystemStmt *message, +/* PgQuery__CreateOpFamilyStmt methods */ +void pg_query__create_op_family_stmt__init + (PgQuery__CreateOpFamilyStmt *message); +size_t pg_query__create_op_family_stmt__get_packed_size + (const PgQuery__CreateOpFamilyStmt *message); +size_t pg_query__create_op_family_stmt__pack + (const PgQuery__CreateOpFamilyStmt *message, uint8_t *out); -size_t pg_query__alter_system_stmt__pack_to_buffer - (const PgQuery__AlterSystemStmt *message, +size_t pg_query__create_op_family_stmt__pack_to_buffer + (const PgQuery__CreateOpFamilyStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterSystemStmt * - pg_query__alter_system_stmt__unpack +PgQuery__CreateOpFamilyStmt * + pg_query__create_op_family_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_system_stmt__free_unpacked - (PgQuery__AlterSystemStmt *message, +void pg_query__create_op_family_stmt__free_unpacked + (PgQuery__CreateOpFamilyStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreatePolicyStmt methods */ -void pg_query__create_policy_stmt__init - (PgQuery__CreatePolicyStmt *message); -size_t pg_query__create_policy_stmt__get_packed_size - (const PgQuery__CreatePolicyStmt *message); -size_t pg_query__create_policy_stmt__pack - (const PgQuery__CreatePolicyStmt *message, +/* PgQuery__AlterOpFamilyStmt methods */ +void pg_query__alter_op_family_stmt__init + (PgQuery__AlterOpFamilyStmt *message); +size_t pg_query__alter_op_family_stmt__get_packed_size + (const PgQuery__AlterOpFamilyStmt *message); +size_t pg_query__alter_op_family_stmt__pack + (const PgQuery__AlterOpFamilyStmt *message, uint8_t *out); -size_t pg_query__create_policy_stmt__pack_to_buffer - (const PgQuery__CreatePolicyStmt *message, +size_t pg_query__alter_op_family_stmt__pack_to_buffer + (const PgQuery__AlterOpFamilyStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreatePolicyStmt * - pg_query__create_policy_stmt__unpack +PgQuery__AlterOpFamilyStmt * + pg_query__alter_op_family_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_policy_stmt__free_unpacked - (PgQuery__CreatePolicyStmt *message, +void pg_query__alter_op_family_stmt__free_unpacked + (PgQuery__AlterOpFamilyStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterPolicyStmt methods */ -void pg_query__alter_policy_stmt__init - (PgQuery__AlterPolicyStmt *message); -size_t pg_query__alter_policy_stmt__get_packed_size - (const PgQuery__AlterPolicyStmt *message); -size_t pg_query__alter_policy_stmt__pack - (const PgQuery__AlterPolicyStmt *message, +/* PgQuery__DropStmt methods */ +void pg_query__drop_stmt__init + (PgQuery__DropStmt *message); +size_t pg_query__drop_stmt__get_packed_size + (const PgQuery__DropStmt *message); +size_t pg_query__drop_stmt__pack + (const PgQuery__DropStmt *message, uint8_t *out); -size_t pg_query__alter_policy_stmt__pack_to_buffer - (const PgQuery__AlterPolicyStmt *message, +size_t pg_query__drop_stmt__pack_to_buffer + (const PgQuery__DropStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterPolicyStmt * - pg_query__alter_policy_stmt__unpack +PgQuery__DropStmt * + pg_query__drop_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_policy_stmt__free_unpacked - (PgQuery__AlterPolicyStmt *message, +void pg_query__drop_stmt__free_unpacked + (PgQuery__DropStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateTransformStmt methods */ -void pg_query__create_transform_stmt__init - (PgQuery__CreateTransformStmt *message); -size_t pg_query__create_transform_stmt__get_packed_size - (const PgQuery__CreateTransformStmt *message); -size_t pg_query__create_transform_stmt__pack - (const PgQuery__CreateTransformStmt *message, +/* PgQuery__TruncateStmt methods */ +void pg_query__truncate_stmt__init + (PgQuery__TruncateStmt *message); +size_t pg_query__truncate_stmt__get_packed_size + (const PgQuery__TruncateStmt *message); +size_t pg_query__truncate_stmt__pack + (const PgQuery__TruncateStmt *message, uint8_t *out); -size_t pg_query__create_transform_stmt__pack_to_buffer - (const PgQuery__CreateTransformStmt *message, +size_t pg_query__truncate_stmt__pack_to_buffer + (const PgQuery__TruncateStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateTransformStmt * - pg_query__create_transform_stmt__unpack +PgQuery__TruncateStmt * + pg_query__truncate_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_transform_stmt__free_unpacked - (PgQuery__CreateTransformStmt *message, +void pg_query__truncate_stmt__free_unpacked + (PgQuery__TruncateStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateAmStmt methods */ -void pg_query__create_am_stmt__init - (PgQuery__CreateAmStmt *message); -size_t pg_query__create_am_stmt__get_packed_size - (const PgQuery__CreateAmStmt *message); -size_t pg_query__create_am_stmt__pack - (const PgQuery__CreateAmStmt *message, +/* PgQuery__CommentStmt methods */ +void pg_query__comment_stmt__init + (PgQuery__CommentStmt *message); +size_t pg_query__comment_stmt__get_packed_size + (const PgQuery__CommentStmt *message); +size_t pg_query__comment_stmt__pack + (const PgQuery__CommentStmt *message, uint8_t *out); -size_t pg_query__create_am_stmt__pack_to_buffer - (const PgQuery__CreateAmStmt *message, +size_t pg_query__comment_stmt__pack_to_buffer + (const PgQuery__CommentStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateAmStmt * - pg_query__create_am_stmt__unpack +PgQuery__CommentStmt * + pg_query__comment_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_am_stmt__free_unpacked - (PgQuery__CreateAmStmt *message, +void pg_query__comment_stmt__free_unpacked + (PgQuery__CommentStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreatePublicationStmt methods */ -void pg_query__create_publication_stmt__init - (PgQuery__CreatePublicationStmt *message); -size_t pg_query__create_publication_stmt__get_packed_size - (const PgQuery__CreatePublicationStmt *message); -size_t pg_query__create_publication_stmt__pack - (const PgQuery__CreatePublicationStmt *message, +/* PgQuery__SecLabelStmt methods */ +void pg_query__sec_label_stmt__init + (PgQuery__SecLabelStmt *message); +size_t pg_query__sec_label_stmt__get_packed_size + (const PgQuery__SecLabelStmt *message); +size_t pg_query__sec_label_stmt__pack + (const PgQuery__SecLabelStmt *message, uint8_t *out); -size_t pg_query__create_publication_stmt__pack_to_buffer - (const PgQuery__CreatePublicationStmt *message, +size_t pg_query__sec_label_stmt__pack_to_buffer + (const PgQuery__SecLabelStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreatePublicationStmt * - pg_query__create_publication_stmt__unpack +PgQuery__SecLabelStmt * + pg_query__sec_label_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_publication_stmt__free_unpacked - (PgQuery__CreatePublicationStmt *message, +void pg_query__sec_label_stmt__free_unpacked + (PgQuery__SecLabelStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterPublicationStmt methods */ -void pg_query__alter_publication_stmt__init - (PgQuery__AlterPublicationStmt *message); -size_t pg_query__alter_publication_stmt__get_packed_size - (const PgQuery__AlterPublicationStmt *message); -size_t pg_query__alter_publication_stmt__pack - (const PgQuery__AlterPublicationStmt *message, +/* PgQuery__DeclareCursorStmt methods */ +void pg_query__declare_cursor_stmt__init + (PgQuery__DeclareCursorStmt *message); +size_t pg_query__declare_cursor_stmt__get_packed_size + (const PgQuery__DeclareCursorStmt *message); +size_t pg_query__declare_cursor_stmt__pack + (const PgQuery__DeclareCursorStmt *message, uint8_t *out); -size_t pg_query__alter_publication_stmt__pack_to_buffer - (const PgQuery__AlterPublicationStmt *message, +size_t pg_query__declare_cursor_stmt__pack_to_buffer + (const PgQuery__DeclareCursorStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterPublicationStmt * - pg_query__alter_publication_stmt__unpack +PgQuery__DeclareCursorStmt * + pg_query__declare_cursor_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_publication_stmt__free_unpacked - (PgQuery__AlterPublicationStmt *message, +void pg_query__declare_cursor_stmt__free_unpacked + (PgQuery__DeclareCursorStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateSubscriptionStmt methods */ -void pg_query__create_subscription_stmt__init - (PgQuery__CreateSubscriptionStmt *message); -size_t pg_query__create_subscription_stmt__get_packed_size - (const PgQuery__CreateSubscriptionStmt *message); -size_t pg_query__create_subscription_stmt__pack - (const PgQuery__CreateSubscriptionStmt *message, +/* PgQuery__ClosePortalStmt methods */ +void pg_query__close_portal_stmt__init + (PgQuery__ClosePortalStmt *message); +size_t pg_query__close_portal_stmt__get_packed_size + (const PgQuery__ClosePortalStmt *message); +size_t pg_query__close_portal_stmt__pack + (const PgQuery__ClosePortalStmt *message, uint8_t *out); -size_t pg_query__create_subscription_stmt__pack_to_buffer - (const PgQuery__CreateSubscriptionStmt *message, +size_t pg_query__close_portal_stmt__pack_to_buffer + (const PgQuery__ClosePortalStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateSubscriptionStmt * - pg_query__create_subscription_stmt__unpack +PgQuery__ClosePortalStmt * + pg_query__close_portal_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_subscription_stmt__free_unpacked - (PgQuery__CreateSubscriptionStmt *message, +void pg_query__close_portal_stmt__free_unpacked + (PgQuery__ClosePortalStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterSubscriptionStmt methods */ -void pg_query__alter_subscription_stmt__init - (PgQuery__AlterSubscriptionStmt *message); -size_t pg_query__alter_subscription_stmt__get_packed_size - (const PgQuery__AlterSubscriptionStmt *message); -size_t pg_query__alter_subscription_stmt__pack - (const PgQuery__AlterSubscriptionStmt *message, +/* PgQuery__FetchStmt methods */ +void pg_query__fetch_stmt__init + (PgQuery__FetchStmt *message); +size_t pg_query__fetch_stmt__get_packed_size + (const PgQuery__FetchStmt *message); +size_t pg_query__fetch_stmt__pack + (const PgQuery__FetchStmt *message, uint8_t *out); -size_t pg_query__alter_subscription_stmt__pack_to_buffer - (const PgQuery__AlterSubscriptionStmt *message, +size_t pg_query__fetch_stmt__pack_to_buffer + (const PgQuery__FetchStmt *message, ProtobufCBuffer *buffer); -PgQuery__AlterSubscriptionStmt * - pg_query__alter_subscription_stmt__unpack +PgQuery__FetchStmt * + pg_query__fetch_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__alter_subscription_stmt__free_unpacked - (PgQuery__AlterSubscriptionStmt *message, +void pg_query__fetch_stmt__free_unpacked + (PgQuery__FetchStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__DropSubscriptionStmt methods */ -void pg_query__drop_subscription_stmt__init - (PgQuery__DropSubscriptionStmt *message); -size_t pg_query__drop_subscription_stmt__get_packed_size - (const PgQuery__DropSubscriptionStmt *message); -size_t pg_query__drop_subscription_stmt__pack - (const PgQuery__DropSubscriptionStmt *message, +/* PgQuery__IndexStmt methods */ +void pg_query__index_stmt__init + (PgQuery__IndexStmt *message); +size_t pg_query__index_stmt__get_packed_size + (const PgQuery__IndexStmt *message); +size_t pg_query__index_stmt__pack + (const PgQuery__IndexStmt *message, uint8_t *out); -size_t pg_query__drop_subscription_stmt__pack_to_buffer - (const PgQuery__DropSubscriptionStmt *message, +size_t pg_query__index_stmt__pack_to_buffer + (const PgQuery__IndexStmt *message, ProtobufCBuffer *buffer); -PgQuery__DropSubscriptionStmt * - pg_query__drop_subscription_stmt__unpack +PgQuery__IndexStmt * + pg_query__index_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__drop_subscription_stmt__free_unpacked - (PgQuery__DropSubscriptionStmt *message, +void pg_query__index_stmt__free_unpacked + (PgQuery__IndexStmt *message, ProtobufCAllocator *allocator); /* PgQuery__CreateStatsStmt methods */ void pg_query__create_stats_stmt__init @@ -9118,43 +10484,24 @@ PgQuery__CreateStatsStmt * void pg_query__create_stats_stmt__free_unpacked (PgQuery__CreateStatsStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AlterCollationStmt methods */ -void pg_query__alter_collation_stmt__init - (PgQuery__AlterCollationStmt *message); -size_t pg_query__alter_collation_stmt__get_packed_size - (const PgQuery__AlterCollationStmt *message); -size_t pg_query__alter_collation_stmt__pack - (const PgQuery__AlterCollationStmt *message, - uint8_t *out); -size_t pg_query__alter_collation_stmt__pack_to_buffer - (const PgQuery__AlterCollationStmt *message, - ProtobufCBuffer *buffer); -PgQuery__AlterCollationStmt * - pg_query__alter_collation_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__alter_collation_stmt__free_unpacked - (PgQuery__AlterCollationStmt *message, - ProtobufCAllocator *allocator); -/* PgQuery__CallStmt methods */ -void pg_query__call_stmt__init - (PgQuery__CallStmt *message); -size_t pg_query__call_stmt__get_packed_size - (const PgQuery__CallStmt *message); -size_t pg_query__call_stmt__pack - (const PgQuery__CallStmt *message, +/* PgQuery__StatsElem methods */ +void pg_query__stats_elem__init + (PgQuery__StatsElem *message); +size_t pg_query__stats_elem__get_packed_size + (const PgQuery__StatsElem *message); +size_t pg_query__stats_elem__pack + (const PgQuery__StatsElem *message, uint8_t *out); -size_t pg_query__call_stmt__pack_to_buffer - (const PgQuery__CallStmt *message, +size_t pg_query__stats_elem__pack_to_buffer + (const PgQuery__StatsElem *message, ProtobufCBuffer *buffer); -PgQuery__CallStmt * - pg_query__call_stmt__unpack +PgQuery__StatsElem * + pg_query__stats_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__call_stmt__free_unpacked - (PgQuery__CallStmt *message, +void pg_query__stats_elem__free_unpacked + (PgQuery__StatsElem *message, ProtobufCAllocator *allocator); /* PgQuery__AlterStatsStmt methods */ void pg_query__alter_stats_stmt__init @@ -9175,1050 +10522,993 @@ PgQuery__AlterStatsStmt * void pg_query__alter_stats_stmt__free_unpacked (PgQuery__AlterStatsStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AExpr methods */ -void pg_query__a__expr__init - (PgQuery__AExpr *message); -size_t pg_query__a__expr__get_packed_size - (const PgQuery__AExpr *message); -size_t pg_query__a__expr__pack - (const PgQuery__AExpr *message, - uint8_t *out); -size_t pg_query__a__expr__pack_to_buffer - (const PgQuery__AExpr *message, - ProtobufCBuffer *buffer); -PgQuery__AExpr * - pg_query__a__expr__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__a__expr__free_unpacked - (PgQuery__AExpr *message, - ProtobufCAllocator *allocator); -/* PgQuery__ColumnRef methods */ -void pg_query__column_ref__init - (PgQuery__ColumnRef *message); -size_t pg_query__column_ref__get_packed_size - (const PgQuery__ColumnRef *message); -size_t pg_query__column_ref__pack - (const PgQuery__ColumnRef *message, - uint8_t *out); -size_t pg_query__column_ref__pack_to_buffer - (const PgQuery__ColumnRef *message, - ProtobufCBuffer *buffer); -PgQuery__ColumnRef * - pg_query__column_ref__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__column_ref__free_unpacked - (PgQuery__ColumnRef *message, - ProtobufCAllocator *allocator); -/* PgQuery__ParamRef methods */ -void pg_query__param_ref__init - (PgQuery__ParamRef *message); -size_t pg_query__param_ref__get_packed_size - (const PgQuery__ParamRef *message); -size_t pg_query__param_ref__pack - (const PgQuery__ParamRef *message, - uint8_t *out); -size_t pg_query__param_ref__pack_to_buffer - (const PgQuery__ParamRef *message, - ProtobufCBuffer *buffer); -PgQuery__ParamRef * - pg_query__param_ref__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data); -void pg_query__param_ref__free_unpacked - (PgQuery__ParamRef *message, - ProtobufCAllocator *allocator); -/* PgQuery__FuncCall methods */ -void pg_query__func_call__init - (PgQuery__FuncCall *message); -size_t pg_query__func_call__get_packed_size - (const PgQuery__FuncCall *message); -size_t pg_query__func_call__pack - (const PgQuery__FuncCall *message, +/* PgQuery__CreateFunctionStmt methods */ +void pg_query__create_function_stmt__init + (PgQuery__CreateFunctionStmt *message); +size_t pg_query__create_function_stmt__get_packed_size + (const PgQuery__CreateFunctionStmt *message); +size_t pg_query__create_function_stmt__pack + (const PgQuery__CreateFunctionStmt *message, uint8_t *out); -size_t pg_query__func_call__pack_to_buffer - (const PgQuery__FuncCall *message, +size_t pg_query__create_function_stmt__pack_to_buffer + (const PgQuery__CreateFunctionStmt *message, ProtobufCBuffer *buffer); -PgQuery__FuncCall * - pg_query__func_call__unpack +PgQuery__CreateFunctionStmt * + pg_query__create_function_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__func_call__free_unpacked - (PgQuery__FuncCall *message, +void pg_query__create_function_stmt__free_unpacked + (PgQuery__CreateFunctionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AStar methods */ -void pg_query__a__star__init - (PgQuery__AStar *message); -size_t pg_query__a__star__get_packed_size - (const PgQuery__AStar *message); -size_t pg_query__a__star__pack - (const PgQuery__AStar *message, +/* PgQuery__FunctionParameter methods */ +void pg_query__function_parameter__init + (PgQuery__FunctionParameter *message); +size_t pg_query__function_parameter__get_packed_size + (const PgQuery__FunctionParameter *message); +size_t pg_query__function_parameter__pack + (const PgQuery__FunctionParameter *message, uint8_t *out); -size_t pg_query__a__star__pack_to_buffer - (const PgQuery__AStar *message, +size_t pg_query__function_parameter__pack_to_buffer + (const PgQuery__FunctionParameter *message, ProtobufCBuffer *buffer); -PgQuery__AStar * - pg_query__a__star__unpack +PgQuery__FunctionParameter * + pg_query__function_parameter__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__a__star__free_unpacked - (PgQuery__AStar *message, +void pg_query__function_parameter__free_unpacked + (PgQuery__FunctionParameter *message, ProtobufCAllocator *allocator); -/* PgQuery__AIndices methods */ -void pg_query__a__indices__init - (PgQuery__AIndices *message); -size_t pg_query__a__indices__get_packed_size - (const PgQuery__AIndices *message); -size_t pg_query__a__indices__pack - (const PgQuery__AIndices *message, +/* PgQuery__AlterFunctionStmt methods */ +void pg_query__alter_function_stmt__init + (PgQuery__AlterFunctionStmt *message); +size_t pg_query__alter_function_stmt__get_packed_size + (const PgQuery__AlterFunctionStmt *message); +size_t pg_query__alter_function_stmt__pack + (const PgQuery__AlterFunctionStmt *message, uint8_t *out); -size_t pg_query__a__indices__pack_to_buffer - (const PgQuery__AIndices *message, +size_t pg_query__alter_function_stmt__pack_to_buffer + (const PgQuery__AlterFunctionStmt *message, ProtobufCBuffer *buffer); -PgQuery__AIndices * - pg_query__a__indices__unpack +PgQuery__AlterFunctionStmt * + pg_query__alter_function_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__a__indices__free_unpacked - (PgQuery__AIndices *message, +void pg_query__alter_function_stmt__free_unpacked + (PgQuery__AlterFunctionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AIndirection methods */ -void pg_query__a__indirection__init - (PgQuery__AIndirection *message); -size_t pg_query__a__indirection__get_packed_size - (const PgQuery__AIndirection *message); -size_t pg_query__a__indirection__pack - (const PgQuery__AIndirection *message, +/* PgQuery__DoStmt methods */ +void pg_query__do_stmt__init + (PgQuery__DoStmt *message); +size_t pg_query__do_stmt__get_packed_size + (const PgQuery__DoStmt *message); +size_t pg_query__do_stmt__pack + (const PgQuery__DoStmt *message, uint8_t *out); -size_t pg_query__a__indirection__pack_to_buffer - (const PgQuery__AIndirection *message, +size_t pg_query__do_stmt__pack_to_buffer + (const PgQuery__DoStmt *message, ProtobufCBuffer *buffer); -PgQuery__AIndirection * - pg_query__a__indirection__unpack +PgQuery__DoStmt * + pg_query__do_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__a__indirection__free_unpacked - (PgQuery__AIndirection *message, +void pg_query__do_stmt__free_unpacked + (PgQuery__DoStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AArrayExpr methods */ -void pg_query__a__array_expr__init - (PgQuery__AArrayExpr *message); -size_t pg_query__a__array_expr__get_packed_size - (const PgQuery__AArrayExpr *message); -size_t pg_query__a__array_expr__pack - (const PgQuery__AArrayExpr *message, +/* PgQuery__InlineCodeBlock methods */ +void pg_query__inline_code_block__init + (PgQuery__InlineCodeBlock *message); +size_t pg_query__inline_code_block__get_packed_size + (const PgQuery__InlineCodeBlock *message); +size_t pg_query__inline_code_block__pack + (const PgQuery__InlineCodeBlock *message, uint8_t *out); -size_t pg_query__a__array_expr__pack_to_buffer - (const PgQuery__AArrayExpr *message, +size_t pg_query__inline_code_block__pack_to_buffer + (const PgQuery__InlineCodeBlock *message, ProtobufCBuffer *buffer); -PgQuery__AArrayExpr * - pg_query__a__array_expr__unpack +PgQuery__InlineCodeBlock * + pg_query__inline_code_block__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__a__array_expr__free_unpacked - (PgQuery__AArrayExpr *message, +void pg_query__inline_code_block__free_unpacked + (PgQuery__InlineCodeBlock *message, ProtobufCAllocator *allocator); -/* PgQuery__ResTarget methods */ -void pg_query__res_target__init - (PgQuery__ResTarget *message); -size_t pg_query__res_target__get_packed_size - (const PgQuery__ResTarget *message); -size_t pg_query__res_target__pack - (const PgQuery__ResTarget *message, +/* PgQuery__CallStmt methods */ +void pg_query__call_stmt__init + (PgQuery__CallStmt *message); +size_t pg_query__call_stmt__get_packed_size + (const PgQuery__CallStmt *message); +size_t pg_query__call_stmt__pack + (const PgQuery__CallStmt *message, uint8_t *out); -size_t pg_query__res_target__pack_to_buffer - (const PgQuery__ResTarget *message, +size_t pg_query__call_stmt__pack_to_buffer + (const PgQuery__CallStmt *message, ProtobufCBuffer *buffer); -PgQuery__ResTarget * - pg_query__res_target__unpack +PgQuery__CallStmt * + pg_query__call_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__res_target__free_unpacked - (PgQuery__ResTarget *message, +void pg_query__call_stmt__free_unpacked + (PgQuery__CallStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__MultiAssignRef methods */ -void pg_query__multi_assign_ref__init - (PgQuery__MultiAssignRef *message); -size_t pg_query__multi_assign_ref__get_packed_size - (const PgQuery__MultiAssignRef *message); -size_t pg_query__multi_assign_ref__pack - (const PgQuery__MultiAssignRef *message, +/* PgQuery__CallContext methods */ +void pg_query__call_context__init + (PgQuery__CallContext *message); +size_t pg_query__call_context__get_packed_size + (const PgQuery__CallContext *message); +size_t pg_query__call_context__pack + (const PgQuery__CallContext *message, uint8_t *out); -size_t pg_query__multi_assign_ref__pack_to_buffer - (const PgQuery__MultiAssignRef *message, +size_t pg_query__call_context__pack_to_buffer + (const PgQuery__CallContext *message, ProtobufCBuffer *buffer); -PgQuery__MultiAssignRef * - pg_query__multi_assign_ref__unpack +PgQuery__CallContext * + pg_query__call_context__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__multi_assign_ref__free_unpacked - (PgQuery__MultiAssignRef *message, +void pg_query__call_context__free_unpacked + (PgQuery__CallContext *message, ProtobufCAllocator *allocator); -/* PgQuery__TypeCast methods */ -void pg_query__type_cast__init - (PgQuery__TypeCast *message); -size_t pg_query__type_cast__get_packed_size - (const PgQuery__TypeCast *message); -size_t pg_query__type_cast__pack - (const PgQuery__TypeCast *message, +/* PgQuery__RenameStmt methods */ +void pg_query__rename_stmt__init + (PgQuery__RenameStmt *message); +size_t pg_query__rename_stmt__get_packed_size + (const PgQuery__RenameStmt *message); +size_t pg_query__rename_stmt__pack + (const PgQuery__RenameStmt *message, uint8_t *out); -size_t pg_query__type_cast__pack_to_buffer - (const PgQuery__TypeCast *message, +size_t pg_query__rename_stmt__pack_to_buffer + (const PgQuery__RenameStmt *message, ProtobufCBuffer *buffer); -PgQuery__TypeCast * - pg_query__type_cast__unpack +PgQuery__RenameStmt * + pg_query__rename_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__type_cast__free_unpacked - (PgQuery__TypeCast *message, +void pg_query__rename_stmt__free_unpacked + (PgQuery__RenameStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CollateClause methods */ -void pg_query__collate_clause__init - (PgQuery__CollateClause *message); -size_t pg_query__collate_clause__get_packed_size - (const PgQuery__CollateClause *message); -size_t pg_query__collate_clause__pack - (const PgQuery__CollateClause *message, +/* PgQuery__AlterObjectDependsStmt methods */ +void pg_query__alter_object_depends_stmt__init + (PgQuery__AlterObjectDependsStmt *message); +size_t pg_query__alter_object_depends_stmt__get_packed_size + (const PgQuery__AlterObjectDependsStmt *message); +size_t pg_query__alter_object_depends_stmt__pack + (const PgQuery__AlterObjectDependsStmt *message, uint8_t *out); -size_t pg_query__collate_clause__pack_to_buffer - (const PgQuery__CollateClause *message, +size_t pg_query__alter_object_depends_stmt__pack_to_buffer + (const PgQuery__AlterObjectDependsStmt *message, ProtobufCBuffer *buffer); -PgQuery__CollateClause * - pg_query__collate_clause__unpack +PgQuery__AlterObjectDependsStmt * + pg_query__alter_object_depends_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__collate_clause__free_unpacked - (PgQuery__CollateClause *message, +void pg_query__alter_object_depends_stmt__free_unpacked + (PgQuery__AlterObjectDependsStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__SortBy methods */ -void pg_query__sort_by__init - (PgQuery__SortBy *message); -size_t pg_query__sort_by__get_packed_size - (const PgQuery__SortBy *message); -size_t pg_query__sort_by__pack - (const PgQuery__SortBy *message, +/* PgQuery__AlterObjectSchemaStmt methods */ +void pg_query__alter_object_schema_stmt__init + (PgQuery__AlterObjectSchemaStmt *message); +size_t pg_query__alter_object_schema_stmt__get_packed_size + (const PgQuery__AlterObjectSchemaStmt *message); +size_t pg_query__alter_object_schema_stmt__pack + (const PgQuery__AlterObjectSchemaStmt *message, uint8_t *out); -size_t pg_query__sort_by__pack_to_buffer - (const PgQuery__SortBy *message, +size_t pg_query__alter_object_schema_stmt__pack_to_buffer + (const PgQuery__AlterObjectSchemaStmt *message, ProtobufCBuffer *buffer); -PgQuery__SortBy * - pg_query__sort_by__unpack +PgQuery__AlterObjectSchemaStmt * + pg_query__alter_object_schema_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sort_by__free_unpacked - (PgQuery__SortBy *message, +void pg_query__alter_object_schema_stmt__free_unpacked + (PgQuery__AlterObjectSchemaStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__WindowDef methods */ -void pg_query__window_def__init - (PgQuery__WindowDef *message); -size_t pg_query__window_def__get_packed_size - (const PgQuery__WindowDef *message); -size_t pg_query__window_def__pack - (const PgQuery__WindowDef *message, +/* PgQuery__AlterOwnerStmt methods */ +void pg_query__alter_owner_stmt__init + (PgQuery__AlterOwnerStmt *message); +size_t pg_query__alter_owner_stmt__get_packed_size + (const PgQuery__AlterOwnerStmt *message); +size_t pg_query__alter_owner_stmt__pack + (const PgQuery__AlterOwnerStmt *message, uint8_t *out); -size_t pg_query__window_def__pack_to_buffer - (const PgQuery__WindowDef *message, +size_t pg_query__alter_owner_stmt__pack_to_buffer + (const PgQuery__AlterOwnerStmt *message, ProtobufCBuffer *buffer); -PgQuery__WindowDef * - pg_query__window_def__unpack +PgQuery__AlterOwnerStmt * + pg_query__alter_owner_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__window_def__free_unpacked - (PgQuery__WindowDef *message, +void pg_query__alter_owner_stmt__free_unpacked + (PgQuery__AlterOwnerStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeSubselect methods */ -void pg_query__range_subselect__init - (PgQuery__RangeSubselect *message); -size_t pg_query__range_subselect__get_packed_size - (const PgQuery__RangeSubselect *message); -size_t pg_query__range_subselect__pack - (const PgQuery__RangeSubselect *message, +/* PgQuery__AlterOperatorStmt methods */ +void pg_query__alter_operator_stmt__init + (PgQuery__AlterOperatorStmt *message); +size_t pg_query__alter_operator_stmt__get_packed_size + (const PgQuery__AlterOperatorStmt *message); +size_t pg_query__alter_operator_stmt__pack + (const PgQuery__AlterOperatorStmt *message, uint8_t *out); -size_t pg_query__range_subselect__pack_to_buffer - (const PgQuery__RangeSubselect *message, +size_t pg_query__alter_operator_stmt__pack_to_buffer + (const PgQuery__AlterOperatorStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeSubselect * - pg_query__range_subselect__unpack +PgQuery__AlterOperatorStmt * + pg_query__alter_operator_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_subselect__free_unpacked - (PgQuery__RangeSubselect *message, +void pg_query__alter_operator_stmt__free_unpacked + (PgQuery__AlterOperatorStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeFunction methods */ -void pg_query__range_function__init - (PgQuery__RangeFunction *message); -size_t pg_query__range_function__get_packed_size - (const PgQuery__RangeFunction *message); -size_t pg_query__range_function__pack - (const PgQuery__RangeFunction *message, +/* PgQuery__AlterTypeStmt methods */ +void pg_query__alter_type_stmt__init + (PgQuery__AlterTypeStmt *message); +size_t pg_query__alter_type_stmt__get_packed_size + (const PgQuery__AlterTypeStmt *message); +size_t pg_query__alter_type_stmt__pack + (const PgQuery__AlterTypeStmt *message, uint8_t *out); -size_t pg_query__range_function__pack_to_buffer - (const PgQuery__RangeFunction *message, +size_t pg_query__alter_type_stmt__pack_to_buffer + (const PgQuery__AlterTypeStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeFunction * - pg_query__range_function__unpack +PgQuery__AlterTypeStmt * + pg_query__alter_type_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_function__free_unpacked - (PgQuery__RangeFunction *message, +void pg_query__alter_type_stmt__free_unpacked + (PgQuery__AlterTypeStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeTableSample methods */ -void pg_query__range_table_sample__init - (PgQuery__RangeTableSample *message); -size_t pg_query__range_table_sample__get_packed_size - (const PgQuery__RangeTableSample *message); -size_t pg_query__range_table_sample__pack - (const PgQuery__RangeTableSample *message, +/* PgQuery__RuleStmt methods */ +void pg_query__rule_stmt__init + (PgQuery__RuleStmt *message); +size_t pg_query__rule_stmt__get_packed_size + (const PgQuery__RuleStmt *message); +size_t pg_query__rule_stmt__pack + (const PgQuery__RuleStmt *message, uint8_t *out); -size_t pg_query__range_table_sample__pack_to_buffer - (const PgQuery__RangeTableSample *message, +size_t pg_query__rule_stmt__pack_to_buffer + (const PgQuery__RuleStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeTableSample * - pg_query__range_table_sample__unpack +PgQuery__RuleStmt * + pg_query__rule_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_table_sample__free_unpacked - (PgQuery__RangeTableSample *message, +void pg_query__rule_stmt__free_unpacked + (PgQuery__RuleStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeTableFunc methods */ -void pg_query__range_table_func__init - (PgQuery__RangeTableFunc *message); -size_t pg_query__range_table_func__get_packed_size - (const PgQuery__RangeTableFunc *message); -size_t pg_query__range_table_func__pack - (const PgQuery__RangeTableFunc *message, +/* PgQuery__NotifyStmt methods */ +void pg_query__notify_stmt__init + (PgQuery__NotifyStmt *message); +size_t pg_query__notify_stmt__get_packed_size + (const PgQuery__NotifyStmt *message); +size_t pg_query__notify_stmt__pack + (const PgQuery__NotifyStmt *message, uint8_t *out); -size_t pg_query__range_table_func__pack_to_buffer - (const PgQuery__RangeTableFunc *message, +size_t pg_query__notify_stmt__pack_to_buffer + (const PgQuery__NotifyStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeTableFunc * - pg_query__range_table_func__unpack +PgQuery__NotifyStmt * + pg_query__notify_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_table_func__free_unpacked - (PgQuery__RangeTableFunc *message, - ProtobufCAllocator *allocator); -/* PgQuery__RangeTableFuncCol methods */ -void pg_query__range_table_func_col__init - (PgQuery__RangeTableFuncCol *message); -size_t pg_query__range_table_func_col__get_packed_size - (const PgQuery__RangeTableFuncCol *message); -size_t pg_query__range_table_func_col__pack - (const PgQuery__RangeTableFuncCol *message, +void pg_query__notify_stmt__free_unpacked + (PgQuery__NotifyStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__ListenStmt methods */ +void pg_query__listen_stmt__init + (PgQuery__ListenStmt *message); +size_t pg_query__listen_stmt__get_packed_size + (const PgQuery__ListenStmt *message); +size_t pg_query__listen_stmt__pack + (const PgQuery__ListenStmt *message, uint8_t *out); -size_t pg_query__range_table_func_col__pack_to_buffer - (const PgQuery__RangeTableFuncCol *message, +size_t pg_query__listen_stmt__pack_to_buffer + (const PgQuery__ListenStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeTableFuncCol * - pg_query__range_table_func_col__unpack +PgQuery__ListenStmt * + pg_query__listen_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_table_func_col__free_unpacked - (PgQuery__RangeTableFuncCol *message, +void pg_query__listen_stmt__free_unpacked + (PgQuery__ListenStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__TypeName methods */ -void pg_query__type_name__init - (PgQuery__TypeName *message); -size_t pg_query__type_name__get_packed_size - (const PgQuery__TypeName *message); -size_t pg_query__type_name__pack - (const PgQuery__TypeName *message, +/* PgQuery__UnlistenStmt methods */ +void pg_query__unlisten_stmt__init + (PgQuery__UnlistenStmt *message); +size_t pg_query__unlisten_stmt__get_packed_size + (const PgQuery__UnlistenStmt *message); +size_t pg_query__unlisten_stmt__pack + (const PgQuery__UnlistenStmt *message, uint8_t *out); -size_t pg_query__type_name__pack_to_buffer - (const PgQuery__TypeName *message, +size_t pg_query__unlisten_stmt__pack_to_buffer + (const PgQuery__UnlistenStmt *message, ProtobufCBuffer *buffer); -PgQuery__TypeName * - pg_query__type_name__unpack +PgQuery__UnlistenStmt * + pg_query__unlisten_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__type_name__free_unpacked - (PgQuery__TypeName *message, +void pg_query__unlisten_stmt__free_unpacked + (PgQuery__UnlistenStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ColumnDef methods */ -void pg_query__column_def__init - (PgQuery__ColumnDef *message); -size_t pg_query__column_def__get_packed_size - (const PgQuery__ColumnDef *message); -size_t pg_query__column_def__pack - (const PgQuery__ColumnDef *message, +/* PgQuery__TransactionStmt methods */ +void pg_query__transaction_stmt__init + (PgQuery__TransactionStmt *message); +size_t pg_query__transaction_stmt__get_packed_size + (const PgQuery__TransactionStmt *message); +size_t pg_query__transaction_stmt__pack + (const PgQuery__TransactionStmt *message, uint8_t *out); -size_t pg_query__column_def__pack_to_buffer - (const PgQuery__ColumnDef *message, +size_t pg_query__transaction_stmt__pack_to_buffer + (const PgQuery__TransactionStmt *message, ProtobufCBuffer *buffer); -PgQuery__ColumnDef * - pg_query__column_def__unpack +PgQuery__TransactionStmt * + pg_query__transaction_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__column_def__free_unpacked - (PgQuery__ColumnDef *message, +void pg_query__transaction_stmt__free_unpacked + (PgQuery__TransactionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__IndexElem methods */ -void pg_query__index_elem__init - (PgQuery__IndexElem *message); -size_t pg_query__index_elem__get_packed_size - (const PgQuery__IndexElem *message); -size_t pg_query__index_elem__pack - (const PgQuery__IndexElem *message, +/* PgQuery__CompositeTypeStmt methods */ +void pg_query__composite_type_stmt__init + (PgQuery__CompositeTypeStmt *message); +size_t pg_query__composite_type_stmt__get_packed_size + (const PgQuery__CompositeTypeStmt *message); +size_t pg_query__composite_type_stmt__pack + (const PgQuery__CompositeTypeStmt *message, uint8_t *out); -size_t pg_query__index_elem__pack_to_buffer - (const PgQuery__IndexElem *message, +size_t pg_query__composite_type_stmt__pack_to_buffer + (const PgQuery__CompositeTypeStmt *message, ProtobufCBuffer *buffer); -PgQuery__IndexElem * - pg_query__index_elem__unpack +PgQuery__CompositeTypeStmt * + pg_query__composite_type_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__index_elem__free_unpacked - (PgQuery__IndexElem *message, +void pg_query__composite_type_stmt__free_unpacked + (PgQuery__CompositeTypeStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__StatsElem methods */ -void pg_query__stats_elem__init - (PgQuery__StatsElem *message); -size_t pg_query__stats_elem__get_packed_size - (const PgQuery__StatsElem *message); -size_t pg_query__stats_elem__pack - (const PgQuery__StatsElem *message, +/* PgQuery__CreateEnumStmt methods */ +void pg_query__create_enum_stmt__init + (PgQuery__CreateEnumStmt *message); +size_t pg_query__create_enum_stmt__get_packed_size + (const PgQuery__CreateEnumStmt *message); +size_t pg_query__create_enum_stmt__pack + (const PgQuery__CreateEnumStmt *message, uint8_t *out); -size_t pg_query__stats_elem__pack_to_buffer - (const PgQuery__StatsElem *message, +size_t pg_query__create_enum_stmt__pack_to_buffer + (const PgQuery__CreateEnumStmt *message, ProtobufCBuffer *buffer); -PgQuery__StatsElem * - pg_query__stats_elem__unpack +PgQuery__CreateEnumStmt * + pg_query__create_enum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__stats_elem__free_unpacked - (PgQuery__StatsElem *message, +void pg_query__create_enum_stmt__free_unpacked + (PgQuery__CreateEnumStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__Constraint methods */ -void pg_query__constraint__init - (PgQuery__Constraint *message); -size_t pg_query__constraint__get_packed_size - (const PgQuery__Constraint *message); -size_t pg_query__constraint__pack - (const PgQuery__Constraint *message, +/* PgQuery__CreateRangeStmt methods */ +void pg_query__create_range_stmt__init + (PgQuery__CreateRangeStmt *message); +size_t pg_query__create_range_stmt__get_packed_size + (const PgQuery__CreateRangeStmt *message); +size_t pg_query__create_range_stmt__pack + (const PgQuery__CreateRangeStmt *message, uint8_t *out); -size_t pg_query__constraint__pack_to_buffer - (const PgQuery__Constraint *message, +size_t pg_query__create_range_stmt__pack_to_buffer + (const PgQuery__CreateRangeStmt *message, ProtobufCBuffer *buffer); -PgQuery__Constraint * - pg_query__constraint__unpack +PgQuery__CreateRangeStmt * + pg_query__create_range_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__constraint__free_unpacked - (PgQuery__Constraint *message, +void pg_query__create_range_stmt__free_unpacked + (PgQuery__CreateRangeStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__DefElem methods */ -void pg_query__def_elem__init - (PgQuery__DefElem *message); -size_t pg_query__def_elem__get_packed_size - (const PgQuery__DefElem *message); -size_t pg_query__def_elem__pack - (const PgQuery__DefElem *message, +/* PgQuery__AlterEnumStmt methods */ +void pg_query__alter_enum_stmt__init + (PgQuery__AlterEnumStmt *message); +size_t pg_query__alter_enum_stmt__get_packed_size + (const PgQuery__AlterEnumStmt *message); +size_t pg_query__alter_enum_stmt__pack + (const PgQuery__AlterEnumStmt *message, uint8_t *out); -size_t pg_query__def_elem__pack_to_buffer - (const PgQuery__DefElem *message, +size_t pg_query__alter_enum_stmt__pack_to_buffer + (const PgQuery__AlterEnumStmt *message, ProtobufCBuffer *buffer); -PgQuery__DefElem * - pg_query__def_elem__unpack +PgQuery__AlterEnumStmt * + pg_query__alter_enum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__def_elem__free_unpacked - (PgQuery__DefElem *message, +void pg_query__alter_enum_stmt__free_unpacked + (PgQuery__AlterEnumStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeTblEntry methods */ -void pg_query__range_tbl_entry__init - (PgQuery__RangeTblEntry *message); -size_t pg_query__range_tbl_entry__get_packed_size - (const PgQuery__RangeTblEntry *message); -size_t pg_query__range_tbl_entry__pack - (const PgQuery__RangeTblEntry *message, +/* PgQuery__ViewStmt methods */ +void pg_query__view_stmt__init + (PgQuery__ViewStmt *message); +size_t pg_query__view_stmt__get_packed_size + (const PgQuery__ViewStmt *message); +size_t pg_query__view_stmt__pack + (const PgQuery__ViewStmt *message, uint8_t *out); -size_t pg_query__range_tbl_entry__pack_to_buffer - (const PgQuery__RangeTblEntry *message, +size_t pg_query__view_stmt__pack_to_buffer + (const PgQuery__ViewStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeTblEntry * - pg_query__range_tbl_entry__unpack +PgQuery__ViewStmt * + pg_query__view_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_tbl_entry__free_unpacked - (PgQuery__RangeTblEntry *message, +void pg_query__view_stmt__free_unpacked + (PgQuery__ViewStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RangeTblFunction methods */ -void pg_query__range_tbl_function__init - (PgQuery__RangeTblFunction *message); -size_t pg_query__range_tbl_function__get_packed_size - (const PgQuery__RangeTblFunction *message); -size_t pg_query__range_tbl_function__pack - (const PgQuery__RangeTblFunction *message, +/* PgQuery__LoadStmt methods */ +void pg_query__load_stmt__init + (PgQuery__LoadStmt *message); +size_t pg_query__load_stmt__get_packed_size + (const PgQuery__LoadStmt *message); +size_t pg_query__load_stmt__pack + (const PgQuery__LoadStmt *message, uint8_t *out); -size_t pg_query__range_tbl_function__pack_to_buffer - (const PgQuery__RangeTblFunction *message, +size_t pg_query__load_stmt__pack_to_buffer + (const PgQuery__LoadStmt *message, ProtobufCBuffer *buffer); -PgQuery__RangeTblFunction * - pg_query__range_tbl_function__unpack +PgQuery__LoadStmt * + pg_query__load_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__range_tbl_function__free_unpacked - (PgQuery__RangeTblFunction *message, +void pg_query__load_stmt__free_unpacked + (PgQuery__LoadStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__TableSampleClause methods */ -void pg_query__table_sample_clause__init - (PgQuery__TableSampleClause *message); -size_t pg_query__table_sample_clause__get_packed_size - (const PgQuery__TableSampleClause *message); -size_t pg_query__table_sample_clause__pack - (const PgQuery__TableSampleClause *message, +/* PgQuery__CreatedbStmt methods */ +void pg_query__createdb_stmt__init + (PgQuery__CreatedbStmt *message); +size_t pg_query__createdb_stmt__get_packed_size + (const PgQuery__CreatedbStmt *message); +size_t pg_query__createdb_stmt__pack + (const PgQuery__CreatedbStmt *message, uint8_t *out); -size_t pg_query__table_sample_clause__pack_to_buffer - (const PgQuery__TableSampleClause *message, +size_t pg_query__createdb_stmt__pack_to_buffer + (const PgQuery__CreatedbStmt *message, ProtobufCBuffer *buffer); -PgQuery__TableSampleClause * - pg_query__table_sample_clause__unpack +PgQuery__CreatedbStmt * + pg_query__createdb_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__table_sample_clause__free_unpacked - (PgQuery__TableSampleClause *message, +void pg_query__createdb_stmt__free_unpacked + (PgQuery__CreatedbStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__WithCheckOption methods */ -void pg_query__with_check_option__init - (PgQuery__WithCheckOption *message); -size_t pg_query__with_check_option__get_packed_size - (const PgQuery__WithCheckOption *message); -size_t pg_query__with_check_option__pack - (const PgQuery__WithCheckOption *message, +/* PgQuery__AlterDatabaseStmt methods */ +void pg_query__alter_database_stmt__init + (PgQuery__AlterDatabaseStmt *message); +size_t pg_query__alter_database_stmt__get_packed_size + (const PgQuery__AlterDatabaseStmt *message); +size_t pg_query__alter_database_stmt__pack + (const PgQuery__AlterDatabaseStmt *message, uint8_t *out); -size_t pg_query__with_check_option__pack_to_buffer - (const PgQuery__WithCheckOption *message, +size_t pg_query__alter_database_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseStmt *message, ProtobufCBuffer *buffer); -PgQuery__WithCheckOption * - pg_query__with_check_option__unpack +PgQuery__AlterDatabaseStmt * + pg_query__alter_database_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__with_check_option__free_unpacked - (PgQuery__WithCheckOption *message, +void pg_query__alter_database_stmt__free_unpacked + (PgQuery__AlterDatabaseStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__SortGroupClause methods */ -void pg_query__sort_group_clause__init - (PgQuery__SortGroupClause *message); -size_t pg_query__sort_group_clause__get_packed_size - (const PgQuery__SortGroupClause *message); -size_t pg_query__sort_group_clause__pack - (const PgQuery__SortGroupClause *message, +/* PgQuery__AlterDatabaseRefreshCollStmt methods */ +void pg_query__alter_database_refresh_coll_stmt__init + (PgQuery__AlterDatabaseRefreshCollStmt *message); +size_t pg_query__alter_database_refresh_coll_stmt__get_packed_size + (const PgQuery__AlterDatabaseRefreshCollStmt *message); +size_t pg_query__alter_database_refresh_coll_stmt__pack + (const PgQuery__AlterDatabaseRefreshCollStmt *message, uint8_t *out); -size_t pg_query__sort_group_clause__pack_to_buffer - (const PgQuery__SortGroupClause *message, +size_t pg_query__alter_database_refresh_coll_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseRefreshCollStmt *message, ProtobufCBuffer *buffer); -PgQuery__SortGroupClause * - pg_query__sort_group_clause__unpack +PgQuery__AlterDatabaseRefreshCollStmt * + pg_query__alter_database_refresh_coll_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__sort_group_clause__free_unpacked - (PgQuery__SortGroupClause *message, +void pg_query__alter_database_refresh_coll_stmt__free_unpacked + (PgQuery__AlterDatabaseRefreshCollStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__GroupingSet methods */ -void pg_query__grouping_set__init - (PgQuery__GroupingSet *message); -size_t pg_query__grouping_set__get_packed_size - (const PgQuery__GroupingSet *message); -size_t pg_query__grouping_set__pack - (const PgQuery__GroupingSet *message, +/* PgQuery__AlterDatabaseSetStmt methods */ +void pg_query__alter_database_set_stmt__init + (PgQuery__AlterDatabaseSetStmt *message); +size_t pg_query__alter_database_set_stmt__get_packed_size + (const PgQuery__AlterDatabaseSetStmt *message); +size_t pg_query__alter_database_set_stmt__pack + (const PgQuery__AlterDatabaseSetStmt *message, uint8_t *out); -size_t pg_query__grouping_set__pack_to_buffer - (const PgQuery__GroupingSet *message, +size_t pg_query__alter_database_set_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseSetStmt *message, ProtobufCBuffer *buffer); -PgQuery__GroupingSet * - pg_query__grouping_set__unpack +PgQuery__AlterDatabaseSetStmt * + pg_query__alter_database_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__grouping_set__free_unpacked - (PgQuery__GroupingSet *message, +void pg_query__alter_database_set_stmt__free_unpacked + (PgQuery__AlterDatabaseSetStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__WindowClause methods */ -void pg_query__window_clause__init - (PgQuery__WindowClause *message); -size_t pg_query__window_clause__get_packed_size - (const PgQuery__WindowClause *message); -size_t pg_query__window_clause__pack - (const PgQuery__WindowClause *message, +/* PgQuery__DropdbStmt methods */ +void pg_query__dropdb_stmt__init + (PgQuery__DropdbStmt *message); +size_t pg_query__dropdb_stmt__get_packed_size + (const PgQuery__DropdbStmt *message); +size_t pg_query__dropdb_stmt__pack + (const PgQuery__DropdbStmt *message, uint8_t *out); -size_t pg_query__window_clause__pack_to_buffer - (const PgQuery__WindowClause *message, +size_t pg_query__dropdb_stmt__pack_to_buffer + (const PgQuery__DropdbStmt *message, ProtobufCBuffer *buffer); -PgQuery__WindowClause * - pg_query__window_clause__unpack +PgQuery__DropdbStmt * + pg_query__dropdb_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__window_clause__free_unpacked - (PgQuery__WindowClause *message, +void pg_query__dropdb_stmt__free_unpacked + (PgQuery__DropdbStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__ObjectWithArgs methods */ -void pg_query__object_with_args__init - (PgQuery__ObjectWithArgs *message); -size_t pg_query__object_with_args__get_packed_size - (const PgQuery__ObjectWithArgs *message); -size_t pg_query__object_with_args__pack - (const PgQuery__ObjectWithArgs *message, +/* PgQuery__AlterSystemStmt methods */ +void pg_query__alter_system_stmt__init + (PgQuery__AlterSystemStmt *message); +size_t pg_query__alter_system_stmt__get_packed_size + (const PgQuery__AlterSystemStmt *message); +size_t pg_query__alter_system_stmt__pack + (const PgQuery__AlterSystemStmt *message, uint8_t *out); -size_t pg_query__object_with_args__pack_to_buffer - (const PgQuery__ObjectWithArgs *message, +size_t pg_query__alter_system_stmt__pack_to_buffer + (const PgQuery__AlterSystemStmt *message, ProtobufCBuffer *buffer); -PgQuery__ObjectWithArgs * - pg_query__object_with_args__unpack +PgQuery__AlterSystemStmt * + pg_query__alter_system_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__object_with_args__free_unpacked - (PgQuery__ObjectWithArgs *message, +void pg_query__alter_system_stmt__free_unpacked + (PgQuery__AlterSystemStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__AccessPriv methods */ -void pg_query__access_priv__init - (PgQuery__AccessPriv *message); -size_t pg_query__access_priv__get_packed_size - (const PgQuery__AccessPriv *message); -size_t pg_query__access_priv__pack - (const PgQuery__AccessPriv *message, +/* PgQuery__ClusterStmt methods */ +void pg_query__cluster_stmt__init + (PgQuery__ClusterStmt *message); +size_t pg_query__cluster_stmt__get_packed_size + (const PgQuery__ClusterStmt *message); +size_t pg_query__cluster_stmt__pack + (const PgQuery__ClusterStmt *message, uint8_t *out); -size_t pg_query__access_priv__pack_to_buffer - (const PgQuery__AccessPriv *message, +size_t pg_query__cluster_stmt__pack_to_buffer + (const PgQuery__ClusterStmt *message, ProtobufCBuffer *buffer); -PgQuery__AccessPriv * - pg_query__access_priv__unpack +PgQuery__ClusterStmt * + pg_query__cluster_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__access_priv__free_unpacked - (PgQuery__AccessPriv *message, +void pg_query__cluster_stmt__free_unpacked + (PgQuery__ClusterStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CreateOpClassItem methods */ -void pg_query__create_op_class_item__init - (PgQuery__CreateOpClassItem *message); -size_t pg_query__create_op_class_item__get_packed_size - (const PgQuery__CreateOpClassItem *message); -size_t pg_query__create_op_class_item__pack - (const PgQuery__CreateOpClassItem *message, +/* PgQuery__VacuumStmt methods */ +void pg_query__vacuum_stmt__init + (PgQuery__VacuumStmt *message); +size_t pg_query__vacuum_stmt__get_packed_size + (const PgQuery__VacuumStmt *message); +size_t pg_query__vacuum_stmt__pack + (const PgQuery__VacuumStmt *message, uint8_t *out); -size_t pg_query__create_op_class_item__pack_to_buffer - (const PgQuery__CreateOpClassItem *message, +size_t pg_query__vacuum_stmt__pack_to_buffer + (const PgQuery__VacuumStmt *message, ProtobufCBuffer *buffer); -PgQuery__CreateOpClassItem * - pg_query__create_op_class_item__unpack +PgQuery__VacuumStmt * + pg_query__vacuum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__create_op_class_item__free_unpacked - (PgQuery__CreateOpClassItem *message, +void pg_query__vacuum_stmt__free_unpacked + (PgQuery__VacuumStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__TableLikeClause methods */ -void pg_query__table_like_clause__init - (PgQuery__TableLikeClause *message); -size_t pg_query__table_like_clause__get_packed_size - (const PgQuery__TableLikeClause *message); -size_t pg_query__table_like_clause__pack - (const PgQuery__TableLikeClause *message, +/* PgQuery__VacuumRelation methods */ +void pg_query__vacuum_relation__init + (PgQuery__VacuumRelation *message); +size_t pg_query__vacuum_relation__get_packed_size + (const PgQuery__VacuumRelation *message); +size_t pg_query__vacuum_relation__pack + (const PgQuery__VacuumRelation *message, uint8_t *out); -size_t pg_query__table_like_clause__pack_to_buffer - (const PgQuery__TableLikeClause *message, +size_t pg_query__vacuum_relation__pack_to_buffer + (const PgQuery__VacuumRelation *message, ProtobufCBuffer *buffer); -PgQuery__TableLikeClause * - pg_query__table_like_clause__unpack +PgQuery__VacuumRelation * + pg_query__vacuum_relation__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__table_like_clause__free_unpacked - (PgQuery__TableLikeClause *message, +void pg_query__vacuum_relation__free_unpacked + (PgQuery__VacuumRelation *message, ProtobufCAllocator *allocator); -/* PgQuery__FunctionParameter methods */ -void pg_query__function_parameter__init - (PgQuery__FunctionParameter *message); -size_t pg_query__function_parameter__get_packed_size - (const PgQuery__FunctionParameter *message); -size_t pg_query__function_parameter__pack - (const PgQuery__FunctionParameter *message, +/* PgQuery__ExplainStmt methods */ +void pg_query__explain_stmt__init + (PgQuery__ExplainStmt *message); +size_t pg_query__explain_stmt__get_packed_size + (const PgQuery__ExplainStmt *message); +size_t pg_query__explain_stmt__pack + (const PgQuery__ExplainStmt *message, uint8_t *out); -size_t pg_query__function_parameter__pack_to_buffer - (const PgQuery__FunctionParameter *message, +size_t pg_query__explain_stmt__pack_to_buffer + (const PgQuery__ExplainStmt *message, ProtobufCBuffer *buffer); -PgQuery__FunctionParameter * - pg_query__function_parameter__unpack +PgQuery__ExplainStmt * + pg_query__explain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__function_parameter__free_unpacked - (PgQuery__FunctionParameter *message, +void pg_query__explain_stmt__free_unpacked + (PgQuery__ExplainStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__LockingClause methods */ -void pg_query__locking_clause__init - (PgQuery__LockingClause *message); -size_t pg_query__locking_clause__get_packed_size - (const PgQuery__LockingClause *message); -size_t pg_query__locking_clause__pack - (const PgQuery__LockingClause *message, +/* PgQuery__CreateTableAsStmt methods */ +void pg_query__create_table_as_stmt__init + (PgQuery__CreateTableAsStmt *message); +size_t pg_query__create_table_as_stmt__get_packed_size + (const PgQuery__CreateTableAsStmt *message); +size_t pg_query__create_table_as_stmt__pack + (const PgQuery__CreateTableAsStmt *message, uint8_t *out); -size_t pg_query__locking_clause__pack_to_buffer - (const PgQuery__LockingClause *message, +size_t pg_query__create_table_as_stmt__pack_to_buffer + (const PgQuery__CreateTableAsStmt *message, ProtobufCBuffer *buffer); -PgQuery__LockingClause * - pg_query__locking_clause__unpack +PgQuery__CreateTableAsStmt * + pg_query__create_table_as_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__locking_clause__free_unpacked - (PgQuery__LockingClause *message, +void pg_query__create_table_as_stmt__free_unpacked + (PgQuery__CreateTableAsStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RowMarkClause methods */ -void pg_query__row_mark_clause__init - (PgQuery__RowMarkClause *message); -size_t pg_query__row_mark_clause__get_packed_size - (const PgQuery__RowMarkClause *message); -size_t pg_query__row_mark_clause__pack - (const PgQuery__RowMarkClause *message, +/* PgQuery__RefreshMatViewStmt methods */ +void pg_query__refresh_mat_view_stmt__init + (PgQuery__RefreshMatViewStmt *message); +size_t pg_query__refresh_mat_view_stmt__get_packed_size + (const PgQuery__RefreshMatViewStmt *message); +size_t pg_query__refresh_mat_view_stmt__pack + (const PgQuery__RefreshMatViewStmt *message, uint8_t *out); -size_t pg_query__row_mark_clause__pack_to_buffer - (const PgQuery__RowMarkClause *message, +size_t pg_query__refresh_mat_view_stmt__pack_to_buffer + (const PgQuery__RefreshMatViewStmt *message, ProtobufCBuffer *buffer); -PgQuery__RowMarkClause * - pg_query__row_mark_clause__unpack +PgQuery__RefreshMatViewStmt * + pg_query__refresh_mat_view_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__row_mark_clause__free_unpacked - (PgQuery__RowMarkClause *message, +void pg_query__refresh_mat_view_stmt__free_unpacked + (PgQuery__RefreshMatViewStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__XmlSerialize methods */ -void pg_query__xml_serialize__init - (PgQuery__XmlSerialize *message); -size_t pg_query__xml_serialize__get_packed_size - (const PgQuery__XmlSerialize *message); -size_t pg_query__xml_serialize__pack - (const PgQuery__XmlSerialize *message, +/* PgQuery__CheckPointStmt methods */ +void pg_query__check_point_stmt__init + (PgQuery__CheckPointStmt *message); +size_t pg_query__check_point_stmt__get_packed_size + (const PgQuery__CheckPointStmt *message); +size_t pg_query__check_point_stmt__pack + (const PgQuery__CheckPointStmt *message, uint8_t *out); -size_t pg_query__xml_serialize__pack_to_buffer - (const PgQuery__XmlSerialize *message, +size_t pg_query__check_point_stmt__pack_to_buffer + (const PgQuery__CheckPointStmt *message, ProtobufCBuffer *buffer); -PgQuery__XmlSerialize * - pg_query__xml_serialize__unpack +PgQuery__CheckPointStmt * + pg_query__check_point_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__xml_serialize__free_unpacked - (PgQuery__XmlSerialize *message, +void pg_query__check_point_stmt__free_unpacked + (PgQuery__CheckPointStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__WithClause methods */ -void pg_query__with_clause__init - (PgQuery__WithClause *message); -size_t pg_query__with_clause__get_packed_size - (const PgQuery__WithClause *message); -size_t pg_query__with_clause__pack - (const PgQuery__WithClause *message, +/* PgQuery__DiscardStmt methods */ +void pg_query__discard_stmt__init + (PgQuery__DiscardStmt *message); +size_t pg_query__discard_stmt__get_packed_size + (const PgQuery__DiscardStmt *message); +size_t pg_query__discard_stmt__pack + (const PgQuery__DiscardStmt *message, uint8_t *out); -size_t pg_query__with_clause__pack_to_buffer - (const PgQuery__WithClause *message, +size_t pg_query__discard_stmt__pack_to_buffer + (const PgQuery__DiscardStmt *message, ProtobufCBuffer *buffer); -PgQuery__WithClause * - pg_query__with_clause__unpack +PgQuery__DiscardStmt * + pg_query__discard_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__with_clause__free_unpacked - (PgQuery__WithClause *message, +void pg_query__discard_stmt__free_unpacked + (PgQuery__DiscardStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__InferClause methods */ -void pg_query__infer_clause__init - (PgQuery__InferClause *message); -size_t pg_query__infer_clause__get_packed_size - (const PgQuery__InferClause *message); -size_t pg_query__infer_clause__pack - (const PgQuery__InferClause *message, +/* PgQuery__LockStmt methods */ +void pg_query__lock_stmt__init + (PgQuery__LockStmt *message); +size_t pg_query__lock_stmt__get_packed_size + (const PgQuery__LockStmt *message); +size_t pg_query__lock_stmt__pack + (const PgQuery__LockStmt *message, uint8_t *out); -size_t pg_query__infer_clause__pack_to_buffer - (const PgQuery__InferClause *message, +size_t pg_query__lock_stmt__pack_to_buffer + (const PgQuery__LockStmt *message, ProtobufCBuffer *buffer); -PgQuery__InferClause * - pg_query__infer_clause__unpack +PgQuery__LockStmt * + pg_query__lock_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__infer_clause__free_unpacked - (PgQuery__InferClause *message, +void pg_query__lock_stmt__free_unpacked + (PgQuery__LockStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__OnConflictClause methods */ -void pg_query__on_conflict_clause__init - (PgQuery__OnConflictClause *message); -size_t pg_query__on_conflict_clause__get_packed_size - (const PgQuery__OnConflictClause *message); -size_t pg_query__on_conflict_clause__pack - (const PgQuery__OnConflictClause *message, +/* PgQuery__ConstraintsSetStmt methods */ +void pg_query__constraints_set_stmt__init + (PgQuery__ConstraintsSetStmt *message); +size_t pg_query__constraints_set_stmt__get_packed_size + (const PgQuery__ConstraintsSetStmt *message); +size_t pg_query__constraints_set_stmt__pack + (const PgQuery__ConstraintsSetStmt *message, uint8_t *out); -size_t pg_query__on_conflict_clause__pack_to_buffer - (const PgQuery__OnConflictClause *message, +size_t pg_query__constraints_set_stmt__pack_to_buffer + (const PgQuery__ConstraintsSetStmt *message, ProtobufCBuffer *buffer); -PgQuery__OnConflictClause * - pg_query__on_conflict_clause__unpack +PgQuery__ConstraintsSetStmt * + pg_query__constraints_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__on_conflict_clause__free_unpacked - (PgQuery__OnConflictClause *message, +void pg_query__constraints_set_stmt__free_unpacked + (PgQuery__ConstraintsSetStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CTESearchClause methods */ -void pg_query__ctesearch_clause__init - (PgQuery__CTESearchClause *message); -size_t pg_query__ctesearch_clause__get_packed_size - (const PgQuery__CTESearchClause *message); -size_t pg_query__ctesearch_clause__pack - (const PgQuery__CTESearchClause *message, +/* PgQuery__ReindexStmt methods */ +void pg_query__reindex_stmt__init + (PgQuery__ReindexStmt *message); +size_t pg_query__reindex_stmt__get_packed_size + (const PgQuery__ReindexStmt *message); +size_t pg_query__reindex_stmt__pack + (const PgQuery__ReindexStmt *message, uint8_t *out); -size_t pg_query__ctesearch_clause__pack_to_buffer - (const PgQuery__CTESearchClause *message, +size_t pg_query__reindex_stmt__pack_to_buffer + (const PgQuery__ReindexStmt *message, ProtobufCBuffer *buffer); -PgQuery__CTESearchClause * - pg_query__ctesearch_clause__unpack +PgQuery__ReindexStmt * + pg_query__reindex_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__ctesearch_clause__free_unpacked - (PgQuery__CTESearchClause *message, +void pg_query__reindex_stmt__free_unpacked + (PgQuery__ReindexStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CTECycleClause methods */ -void pg_query__ctecycle_clause__init - (PgQuery__CTECycleClause *message); -size_t pg_query__ctecycle_clause__get_packed_size - (const PgQuery__CTECycleClause *message); -size_t pg_query__ctecycle_clause__pack - (const PgQuery__CTECycleClause *message, +/* PgQuery__CreateConversionStmt methods */ +void pg_query__create_conversion_stmt__init + (PgQuery__CreateConversionStmt *message); +size_t pg_query__create_conversion_stmt__get_packed_size + (const PgQuery__CreateConversionStmt *message); +size_t pg_query__create_conversion_stmt__pack + (const PgQuery__CreateConversionStmt *message, uint8_t *out); -size_t pg_query__ctecycle_clause__pack_to_buffer - (const PgQuery__CTECycleClause *message, +size_t pg_query__create_conversion_stmt__pack_to_buffer + (const PgQuery__CreateConversionStmt *message, ProtobufCBuffer *buffer); -PgQuery__CTECycleClause * - pg_query__ctecycle_clause__unpack +PgQuery__CreateConversionStmt * + pg_query__create_conversion_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__ctecycle_clause__free_unpacked - (PgQuery__CTECycleClause *message, +void pg_query__create_conversion_stmt__free_unpacked + (PgQuery__CreateConversionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CommonTableExpr methods */ -void pg_query__common_table_expr__init - (PgQuery__CommonTableExpr *message); -size_t pg_query__common_table_expr__get_packed_size - (const PgQuery__CommonTableExpr *message); -size_t pg_query__common_table_expr__pack - (const PgQuery__CommonTableExpr *message, +/* PgQuery__CreateCastStmt methods */ +void pg_query__create_cast_stmt__init + (PgQuery__CreateCastStmt *message); +size_t pg_query__create_cast_stmt__get_packed_size + (const PgQuery__CreateCastStmt *message); +size_t pg_query__create_cast_stmt__pack + (const PgQuery__CreateCastStmt *message, uint8_t *out); -size_t pg_query__common_table_expr__pack_to_buffer - (const PgQuery__CommonTableExpr *message, +size_t pg_query__create_cast_stmt__pack_to_buffer + (const PgQuery__CreateCastStmt *message, ProtobufCBuffer *buffer); -PgQuery__CommonTableExpr * - pg_query__common_table_expr__unpack +PgQuery__CreateCastStmt * + pg_query__create_cast_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__common_table_expr__free_unpacked - (PgQuery__CommonTableExpr *message, +void pg_query__create_cast_stmt__free_unpacked + (PgQuery__CreateCastStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__MergeWhenClause methods */ -void pg_query__merge_when_clause__init - (PgQuery__MergeWhenClause *message); -size_t pg_query__merge_when_clause__get_packed_size - (const PgQuery__MergeWhenClause *message); -size_t pg_query__merge_when_clause__pack - (const PgQuery__MergeWhenClause *message, +/* PgQuery__CreateTransformStmt methods */ +void pg_query__create_transform_stmt__init + (PgQuery__CreateTransformStmt *message); +size_t pg_query__create_transform_stmt__get_packed_size + (const PgQuery__CreateTransformStmt *message); +size_t pg_query__create_transform_stmt__pack + (const PgQuery__CreateTransformStmt *message, uint8_t *out); -size_t pg_query__merge_when_clause__pack_to_buffer - (const PgQuery__MergeWhenClause *message, +size_t pg_query__create_transform_stmt__pack_to_buffer + (const PgQuery__CreateTransformStmt *message, ProtobufCBuffer *buffer); -PgQuery__MergeWhenClause * - pg_query__merge_when_clause__unpack +PgQuery__CreateTransformStmt * + pg_query__create_transform_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__merge_when_clause__free_unpacked - (PgQuery__MergeWhenClause *message, +void pg_query__create_transform_stmt__free_unpacked + (PgQuery__CreateTransformStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__RoleSpec methods */ -void pg_query__role_spec__init - (PgQuery__RoleSpec *message); -size_t pg_query__role_spec__get_packed_size - (const PgQuery__RoleSpec *message); -size_t pg_query__role_spec__pack - (const PgQuery__RoleSpec *message, +/* PgQuery__PrepareStmt methods */ +void pg_query__prepare_stmt__init + (PgQuery__PrepareStmt *message); +size_t pg_query__prepare_stmt__get_packed_size + (const PgQuery__PrepareStmt *message); +size_t pg_query__prepare_stmt__pack + (const PgQuery__PrepareStmt *message, uint8_t *out); -size_t pg_query__role_spec__pack_to_buffer - (const PgQuery__RoleSpec *message, +size_t pg_query__prepare_stmt__pack_to_buffer + (const PgQuery__PrepareStmt *message, ProtobufCBuffer *buffer); -PgQuery__RoleSpec * - pg_query__role_spec__unpack +PgQuery__PrepareStmt * + pg_query__prepare_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__role_spec__free_unpacked - (PgQuery__RoleSpec *message, +void pg_query__prepare_stmt__free_unpacked + (PgQuery__PrepareStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__TriggerTransition methods */ -void pg_query__trigger_transition__init - (PgQuery__TriggerTransition *message); -size_t pg_query__trigger_transition__get_packed_size - (const PgQuery__TriggerTransition *message); -size_t pg_query__trigger_transition__pack - (const PgQuery__TriggerTransition *message, +/* PgQuery__ExecuteStmt methods */ +void pg_query__execute_stmt__init + (PgQuery__ExecuteStmt *message); +size_t pg_query__execute_stmt__get_packed_size + (const PgQuery__ExecuteStmt *message); +size_t pg_query__execute_stmt__pack + (const PgQuery__ExecuteStmt *message, uint8_t *out); -size_t pg_query__trigger_transition__pack_to_buffer - (const PgQuery__TriggerTransition *message, +size_t pg_query__execute_stmt__pack_to_buffer + (const PgQuery__ExecuteStmt *message, ProtobufCBuffer *buffer); -PgQuery__TriggerTransition * - pg_query__trigger_transition__unpack +PgQuery__ExecuteStmt * + pg_query__execute_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__trigger_transition__free_unpacked - (PgQuery__TriggerTransition *message, +void pg_query__execute_stmt__free_unpacked + (PgQuery__ExecuteStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PartitionElem methods */ -void pg_query__partition_elem__init - (PgQuery__PartitionElem *message); -size_t pg_query__partition_elem__get_packed_size - (const PgQuery__PartitionElem *message); -size_t pg_query__partition_elem__pack - (const PgQuery__PartitionElem *message, +/* PgQuery__DeallocateStmt methods */ +void pg_query__deallocate_stmt__init + (PgQuery__DeallocateStmt *message); +size_t pg_query__deallocate_stmt__get_packed_size + (const PgQuery__DeallocateStmt *message); +size_t pg_query__deallocate_stmt__pack + (const PgQuery__DeallocateStmt *message, uint8_t *out); -size_t pg_query__partition_elem__pack_to_buffer - (const PgQuery__PartitionElem *message, +size_t pg_query__deallocate_stmt__pack_to_buffer + (const PgQuery__DeallocateStmt *message, ProtobufCBuffer *buffer); -PgQuery__PartitionElem * - pg_query__partition_elem__unpack +PgQuery__DeallocateStmt * + pg_query__deallocate_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__partition_elem__free_unpacked - (PgQuery__PartitionElem *message, +void pg_query__deallocate_stmt__free_unpacked + (PgQuery__DeallocateStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PartitionSpec methods */ -void pg_query__partition_spec__init - (PgQuery__PartitionSpec *message); -size_t pg_query__partition_spec__get_packed_size - (const PgQuery__PartitionSpec *message); -size_t pg_query__partition_spec__pack - (const PgQuery__PartitionSpec *message, +/* PgQuery__DropOwnedStmt methods */ +void pg_query__drop_owned_stmt__init + (PgQuery__DropOwnedStmt *message); +size_t pg_query__drop_owned_stmt__get_packed_size + (const PgQuery__DropOwnedStmt *message); +size_t pg_query__drop_owned_stmt__pack + (const PgQuery__DropOwnedStmt *message, uint8_t *out); -size_t pg_query__partition_spec__pack_to_buffer - (const PgQuery__PartitionSpec *message, +size_t pg_query__drop_owned_stmt__pack_to_buffer + (const PgQuery__DropOwnedStmt *message, ProtobufCBuffer *buffer); -PgQuery__PartitionSpec * - pg_query__partition_spec__unpack +PgQuery__DropOwnedStmt * + pg_query__drop_owned_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__partition_spec__free_unpacked - (PgQuery__PartitionSpec *message, +void pg_query__drop_owned_stmt__free_unpacked + (PgQuery__DropOwnedStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PartitionBoundSpec methods */ -void pg_query__partition_bound_spec__init - (PgQuery__PartitionBoundSpec *message); -size_t pg_query__partition_bound_spec__get_packed_size - (const PgQuery__PartitionBoundSpec *message); -size_t pg_query__partition_bound_spec__pack - (const PgQuery__PartitionBoundSpec *message, +/* PgQuery__ReassignOwnedStmt methods */ +void pg_query__reassign_owned_stmt__init + (PgQuery__ReassignOwnedStmt *message); +size_t pg_query__reassign_owned_stmt__get_packed_size + (const PgQuery__ReassignOwnedStmt *message); +size_t pg_query__reassign_owned_stmt__pack + (const PgQuery__ReassignOwnedStmt *message, uint8_t *out); -size_t pg_query__partition_bound_spec__pack_to_buffer - (const PgQuery__PartitionBoundSpec *message, +size_t pg_query__reassign_owned_stmt__pack_to_buffer + (const PgQuery__ReassignOwnedStmt *message, ProtobufCBuffer *buffer); -PgQuery__PartitionBoundSpec * - pg_query__partition_bound_spec__unpack +PgQuery__ReassignOwnedStmt * + pg_query__reassign_owned_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__partition_bound_spec__free_unpacked - (PgQuery__PartitionBoundSpec *message, +void pg_query__reassign_owned_stmt__free_unpacked + (PgQuery__ReassignOwnedStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PartitionRangeDatum methods */ -void pg_query__partition_range_datum__init - (PgQuery__PartitionRangeDatum *message); -size_t pg_query__partition_range_datum__get_packed_size - (const PgQuery__PartitionRangeDatum *message); -size_t pg_query__partition_range_datum__pack - (const PgQuery__PartitionRangeDatum *message, +/* PgQuery__AlterTSDictionaryStmt methods */ +void pg_query__alter_tsdictionary_stmt__init + (PgQuery__AlterTSDictionaryStmt *message); +size_t pg_query__alter_tsdictionary_stmt__get_packed_size + (const PgQuery__AlterTSDictionaryStmt *message); +size_t pg_query__alter_tsdictionary_stmt__pack + (const PgQuery__AlterTSDictionaryStmt *message, uint8_t *out); -size_t pg_query__partition_range_datum__pack_to_buffer - (const PgQuery__PartitionRangeDatum *message, +size_t pg_query__alter_tsdictionary_stmt__pack_to_buffer + (const PgQuery__AlterTSDictionaryStmt *message, ProtobufCBuffer *buffer); -PgQuery__PartitionRangeDatum * - pg_query__partition_range_datum__unpack +PgQuery__AlterTSDictionaryStmt * + pg_query__alter_tsdictionary_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__partition_range_datum__free_unpacked - (PgQuery__PartitionRangeDatum *message, +void pg_query__alter_tsdictionary_stmt__free_unpacked + (PgQuery__AlterTSDictionaryStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__PartitionCmd methods */ -void pg_query__partition_cmd__init - (PgQuery__PartitionCmd *message); -size_t pg_query__partition_cmd__get_packed_size - (const PgQuery__PartitionCmd *message); -size_t pg_query__partition_cmd__pack - (const PgQuery__PartitionCmd *message, +/* PgQuery__AlterTSConfigurationStmt methods */ +void pg_query__alter_tsconfiguration_stmt__init + (PgQuery__AlterTSConfigurationStmt *message); +size_t pg_query__alter_tsconfiguration_stmt__get_packed_size + (const PgQuery__AlterTSConfigurationStmt *message); +size_t pg_query__alter_tsconfiguration_stmt__pack + (const PgQuery__AlterTSConfigurationStmt *message, uint8_t *out); -size_t pg_query__partition_cmd__pack_to_buffer - (const PgQuery__PartitionCmd *message, +size_t pg_query__alter_tsconfiguration_stmt__pack_to_buffer + (const PgQuery__AlterTSConfigurationStmt *message, ProtobufCBuffer *buffer); -PgQuery__PartitionCmd * - pg_query__partition_cmd__unpack +PgQuery__AlterTSConfigurationStmt * + pg_query__alter_tsconfiguration_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__partition_cmd__free_unpacked - (PgQuery__PartitionCmd *message, +void pg_query__alter_tsconfiguration_stmt__free_unpacked + (PgQuery__AlterTSConfigurationStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__VacuumRelation methods */ -void pg_query__vacuum_relation__init - (PgQuery__VacuumRelation *message); -size_t pg_query__vacuum_relation__get_packed_size - (const PgQuery__VacuumRelation *message); -size_t pg_query__vacuum_relation__pack - (const PgQuery__VacuumRelation *message, +/* PgQuery__PublicationTable methods */ +void pg_query__publication_table__init + (PgQuery__PublicationTable *message); +size_t pg_query__publication_table__get_packed_size + (const PgQuery__PublicationTable *message); +size_t pg_query__publication_table__pack + (const PgQuery__PublicationTable *message, uint8_t *out); -size_t pg_query__vacuum_relation__pack_to_buffer - (const PgQuery__VacuumRelation *message, +size_t pg_query__publication_table__pack_to_buffer + (const PgQuery__PublicationTable *message, ProtobufCBuffer *buffer); -PgQuery__VacuumRelation * - pg_query__vacuum_relation__unpack +PgQuery__PublicationTable * + pg_query__publication_table__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__vacuum_relation__free_unpacked - (PgQuery__VacuumRelation *message, +void pg_query__publication_table__free_unpacked + (PgQuery__PublicationTable *message, ProtobufCAllocator *allocator); /* PgQuery__PublicationObjSpec methods */ void pg_query__publication_obj_spec__init @@ -10239,62 +11529,100 @@ PgQuery__PublicationObjSpec * void pg_query__publication_obj_spec__free_unpacked (PgQuery__PublicationObjSpec *message, ProtobufCAllocator *allocator); -/* PgQuery__PublicationTable methods */ -void pg_query__publication_table__init - (PgQuery__PublicationTable *message); -size_t pg_query__publication_table__get_packed_size - (const PgQuery__PublicationTable *message); -size_t pg_query__publication_table__pack - (const PgQuery__PublicationTable *message, +/* PgQuery__CreatePublicationStmt methods */ +void pg_query__create_publication_stmt__init + (PgQuery__CreatePublicationStmt *message); +size_t pg_query__create_publication_stmt__get_packed_size + (const PgQuery__CreatePublicationStmt *message); +size_t pg_query__create_publication_stmt__pack + (const PgQuery__CreatePublicationStmt *message, uint8_t *out); -size_t pg_query__publication_table__pack_to_buffer - (const PgQuery__PublicationTable *message, +size_t pg_query__create_publication_stmt__pack_to_buffer + (const PgQuery__CreatePublicationStmt *message, ProtobufCBuffer *buffer); -PgQuery__PublicationTable * - pg_query__publication_table__unpack +PgQuery__CreatePublicationStmt * + pg_query__create_publication_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__publication_table__free_unpacked - (PgQuery__PublicationTable *message, +void pg_query__create_publication_stmt__free_unpacked + (PgQuery__CreatePublicationStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__InlineCodeBlock methods */ -void pg_query__inline_code_block__init - (PgQuery__InlineCodeBlock *message); -size_t pg_query__inline_code_block__get_packed_size - (const PgQuery__InlineCodeBlock *message); -size_t pg_query__inline_code_block__pack - (const PgQuery__InlineCodeBlock *message, +/* PgQuery__AlterPublicationStmt methods */ +void pg_query__alter_publication_stmt__init + (PgQuery__AlterPublicationStmt *message); +size_t pg_query__alter_publication_stmt__get_packed_size + (const PgQuery__AlterPublicationStmt *message); +size_t pg_query__alter_publication_stmt__pack + (const PgQuery__AlterPublicationStmt *message, + uint8_t *out); +size_t pg_query__alter_publication_stmt__pack_to_buffer + (const PgQuery__AlterPublicationStmt *message, + ProtobufCBuffer *buffer); +PgQuery__AlterPublicationStmt * + pg_query__alter_publication_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__alter_publication_stmt__free_unpacked + (PgQuery__AlterPublicationStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__CreateSubscriptionStmt methods */ +void pg_query__create_subscription_stmt__init + (PgQuery__CreateSubscriptionStmt *message); +size_t pg_query__create_subscription_stmt__get_packed_size + (const PgQuery__CreateSubscriptionStmt *message); +size_t pg_query__create_subscription_stmt__pack + (const PgQuery__CreateSubscriptionStmt *message, + uint8_t *out); +size_t pg_query__create_subscription_stmt__pack_to_buffer + (const PgQuery__CreateSubscriptionStmt *message, + ProtobufCBuffer *buffer); +PgQuery__CreateSubscriptionStmt * + pg_query__create_subscription_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__create_subscription_stmt__free_unpacked + (PgQuery__CreateSubscriptionStmt *message, + ProtobufCAllocator *allocator); +/* PgQuery__AlterSubscriptionStmt methods */ +void pg_query__alter_subscription_stmt__init + (PgQuery__AlterSubscriptionStmt *message); +size_t pg_query__alter_subscription_stmt__get_packed_size + (const PgQuery__AlterSubscriptionStmt *message); +size_t pg_query__alter_subscription_stmt__pack + (const PgQuery__AlterSubscriptionStmt *message, uint8_t *out); -size_t pg_query__inline_code_block__pack_to_buffer - (const PgQuery__InlineCodeBlock *message, +size_t pg_query__alter_subscription_stmt__pack_to_buffer + (const PgQuery__AlterSubscriptionStmt *message, ProtobufCBuffer *buffer); -PgQuery__InlineCodeBlock * - pg_query__inline_code_block__unpack +PgQuery__AlterSubscriptionStmt * + pg_query__alter_subscription_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__inline_code_block__free_unpacked - (PgQuery__InlineCodeBlock *message, +void pg_query__alter_subscription_stmt__free_unpacked + (PgQuery__AlterSubscriptionStmt *message, ProtobufCAllocator *allocator); -/* PgQuery__CallContext methods */ -void pg_query__call_context__init - (PgQuery__CallContext *message); -size_t pg_query__call_context__get_packed_size - (const PgQuery__CallContext *message); -size_t pg_query__call_context__pack - (const PgQuery__CallContext *message, +/* PgQuery__DropSubscriptionStmt methods */ +void pg_query__drop_subscription_stmt__init + (PgQuery__DropSubscriptionStmt *message); +size_t pg_query__drop_subscription_stmt__get_packed_size + (const PgQuery__DropSubscriptionStmt *message); +size_t pg_query__drop_subscription_stmt__pack + (const PgQuery__DropSubscriptionStmt *message, uint8_t *out); -size_t pg_query__call_context__pack_to_buffer - (const PgQuery__CallContext *message, +size_t pg_query__drop_subscription_stmt__pack_to_buffer + (const PgQuery__DropSubscriptionStmt *message, ProtobufCBuffer *buffer); -PgQuery__CallContext * - pg_query__call_context__unpack +PgQuery__DropSubscriptionStmt * + pg_query__drop_subscription_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data); -void pg_query__call_context__free_unpacked - (PgQuery__CallContext *message, +void pg_query__drop_subscription_stmt__free_unpacked + (PgQuery__DropSubscriptionStmt *message, ProtobufCAllocator *allocator); /* PgQuery__ScanToken methods */ void pg_query__scan_token__init @@ -10315,6 +11643,37 @@ PgQuery__ScanToken * void pg_query__scan_token__free_unpacked (PgQuery__ScanToken *message, ProtobufCAllocator *allocator); +/* PgQuery__SummaryResult__Table methods */ +void pg_query__summary_result__table__init + (PgQuery__SummaryResult__Table *message); +/* PgQuery__SummaryResult__AliasesEntry methods */ +void pg_query__summary_result__aliases_entry__init + (PgQuery__SummaryResult__AliasesEntry *message); +/* PgQuery__SummaryResult__Function methods */ +void pg_query__summary_result__function__init + (PgQuery__SummaryResult__Function *message); +/* PgQuery__SummaryResult__FilterColumn methods */ +void pg_query__summary_result__filter_column__init + (PgQuery__SummaryResult__FilterColumn *message); +/* PgQuery__SummaryResult methods */ +void pg_query__summary_result__init + (PgQuery__SummaryResult *message); +size_t pg_query__summary_result__get_packed_size + (const PgQuery__SummaryResult *message); +size_t pg_query__summary_result__pack + (const PgQuery__SummaryResult *message, + uint8_t *out); +size_t pg_query__summary_result__pack_to_buffer + (const PgQuery__SummaryResult *message, + ProtobufCBuffer *buffer); +PgQuery__SummaryResult * + pg_query__summary_result__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data); +void pg_query__summary_result__free_unpacked + (PgQuery__SummaryResult *message, + ProtobufCAllocator *allocator); /* --- per-message closures --- */ typedef void (*PgQuery__ParseResult_Closure) @@ -10362,6 +11721,9 @@ typedef void (*PgQuery__RangeVar_Closure) typedef void (*PgQuery__TableFunc_Closure) (const PgQuery__TableFunc *message, void *closure_data); +typedef void (*PgQuery__IntoClause_Closure) + (const PgQuery__IntoClause *message, + void *closure_data); typedef void (*PgQuery__Var_Closure) (const PgQuery__Var *message, void *closure_data); @@ -10377,6 +11739,12 @@ typedef void (*PgQuery__GroupingFunc_Closure) typedef void (*PgQuery__WindowFunc_Closure) (const PgQuery__WindowFunc *message, void *closure_data); +typedef void (*PgQuery__WindowFuncRunCondition_Closure) + (const PgQuery__WindowFuncRunCondition *message, + void *closure_data); +typedef void (*PgQuery__MergeSupportFunc_Closure) + (const PgQuery__MergeSupportFunc *message, + void *closure_data); typedef void (*PgQuery__SubscriptingRef_Closure) (const PgQuery__SubscriptingRef *message, void *closure_data); @@ -10461,12 +11829,45 @@ typedef void (*PgQuery__SQLValueFunction_Closure) typedef void (*PgQuery__XmlExpr_Closure) (const PgQuery__XmlExpr *message, void *closure_data); +typedef void (*PgQuery__JsonFormat_Closure) + (const PgQuery__JsonFormat *message, + void *closure_data); +typedef void (*PgQuery__JsonReturning_Closure) + (const PgQuery__JsonReturning *message, + void *closure_data); +typedef void (*PgQuery__JsonValueExpr_Closure) + (const PgQuery__JsonValueExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonConstructorExpr_Closure) + (const PgQuery__JsonConstructorExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonIsPredicate_Closure) + (const PgQuery__JsonIsPredicate *message, + void *closure_data); +typedef void (*PgQuery__JsonBehavior_Closure) + (const PgQuery__JsonBehavior *message, + void *closure_data); +typedef void (*PgQuery__JsonExpr_Closure) + (const PgQuery__JsonExpr *message, + void *closure_data); +typedef void (*PgQuery__JsonTablePath_Closure) + (const PgQuery__JsonTablePath *message, + void *closure_data); +typedef void (*PgQuery__JsonTablePathScan_Closure) + (const PgQuery__JsonTablePathScan *message, + void *closure_data); +typedef void (*PgQuery__JsonTableSiblingJoin_Closure) + (const PgQuery__JsonTableSiblingJoin *message, + void *closure_data); typedef void (*PgQuery__NullTest_Closure) (const PgQuery__NullTest *message, void *closure_data); typedef void (*PgQuery__BooleanTest_Closure) (const PgQuery__BooleanTest *message, void *closure_data); +typedef void (*PgQuery__MergeAction_Closure) + (const PgQuery__MergeAction *message, + void *closure_data); typedef void (*PgQuery__CoerceToDomain_Closure) (const PgQuery__CoerceToDomain *message, void *closure_data); @@ -10500,224 +11901,281 @@ typedef void (*PgQuery__FromExpr_Closure) typedef void (*PgQuery__OnConflictExpr_Closure) (const PgQuery__OnConflictExpr *message, void *closure_data); -typedef void (*PgQuery__IntoClause_Closure) - (const PgQuery__IntoClause *message, +typedef void (*PgQuery__Query_Closure) + (const PgQuery__Query *message, void *closure_data); -typedef void (*PgQuery__MergeAction_Closure) - (const PgQuery__MergeAction *message, +typedef void (*PgQuery__TypeName_Closure) + (const PgQuery__TypeName *message, void *closure_data); -typedef void (*PgQuery__RawStmt_Closure) - (const PgQuery__RawStmt *message, +typedef void (*PgQuery__ColumnRef_Closure) + (const PgQuery__ColumnRef *message, void *closure_data); -typedef void (*PgQuery__Query_Closure) - (const PgQuery__Query *message, +typedef void (*PgQuery__ParamRef_Closure) + (const PgQuery__ParamRef *message, void *closure_data); -typedef void (*PgQuery__InsertStmt_Closure) - (const PgQuery__InsertStmt *message, +typedef void (*PgQuery__AExpr_Closure) + (const PgQuery__AExpr *message, void *closure_data); -typedef void (*PgQuery__DeleteStmt_Closure) - (const PgQuery__DeleteStmt *message, +typedef void (*PgQuery__TypeCast_Closure) + (const PgQuery__TypeCast *message, void *closure_data); -typedef void (*PgQuery__UpdateStmt_Closure) - (const PgQuery__UpdateStmt *message, +typedef void (*PgQuery__CollateClause_Closure) + (const PgQuery__CollateClause *message, void *closure_data); -typedef void (*PgQuery__MergeStmt_Closure) - (const PgQuery__MergeStmt *message, +typedef void (*PgQuery__RoleSpec_Closure) + (const PgQuery__RoleSpec *message, void *closure_data); -typedef void (*PgQuery__SelectStmt_Closure) - (const PgQuery__SelectStmt *message, +typedef void (*PgQuery__FuncCall_Closure) + (const PgQuery__FuncCall *message, void *closure_data); -typedef void (*PgQuery__ReturnStmt_Closure) - (const PgQuery__ReturnStmt *message, +typedef void (*PgQuery__AStar_Closure) + (const PgQuery__AStar *message, void *closure_data); -typedef void (*PgQuery__PLAssignStmt_Closure) - (const PgQuery__PLAssignStmt *message, +typedef void (*PgQuery__AIndices_Closure) + (const PgQuery__AIndices *message, void *closure_data); -typedef void (*PgQuery__AlterTableStmt_Closure) - (const PgQuery__AlterTableStmt *message, +typedef void (*PgQuery__AIndirection_Closure) + (const PgQuery__AIndirection *message, void *closure_data); -typedef void (*PgQuery__AlterTableCmd_Closure) - (const PgQuery__AlterTableCmd *message, +typedef void (*PgQuery__AArrayExpr_Closure) + (const PgQuery__AArrayExpr *message, void *closure_data); -typedef void (*PgQuery__AlterDomainStmt_Closure) - (const PgQuery__AlterDomainStmt *message, +typedef void (*PgQuery__ResTarget_Closure) + (const PgQuery__ResTarget *message, void *closure_data); -typedef void (*PgQuery__SetOperationStmt_Closure) - (const PgQuery__SetOperationStmt *message, +typedef void (*PgQuery__MultiAssignRef_Closure) + (const PgQuery__MultiAssignRef *message, void *closure_data); -typedef void (*PgQuery__GrantStmt_Closure) - (const PgQuery__GrantStmt *message, +typedef void (*PgQuery__SortBy_Closure) + (const PgQuery__SortBy *message, void *closure_data); -typedef void (*PgQuery__GrantRoleStmt_Closure) - (const PgQuery__GrantRoleStmt *message, +typedef void (*PgQuery__WindowDef_Closure) + (const PgQuery__WindowDef *message, void *closure_data); -typedef void (*PgQuery__AlterDefaultPrivilegesStmt_Closure) - (const PgQuery__AlterDefaultPrivilegesStmt *message, +typedef void (*PgQuery__RangeSubselect_Closure) + (const PgQuery__RangeSubselect *message, void *closure_data); -typedef void (*PgQuery__ClosePortalStmt_Closure) - (const PgQuery__ClosePortalStmt *message, +typedef void (*PgQuery__RangeFunction_Closure) + (const PgQuery__RangeFunction *message, void *closure_data); -typedef void (*PgQuery__ClusterStmt_Closure) - (const PgQuery__ClusterStmt *message, +typedef void (*PgQuery__RangeTableFunc_Closure) + (const PgQuery__RangeTableFunc *message, void *closure_data); -typedef void (*PgQuery__CopyStmt_Closure) - (const PgQuery__CopyStmt *message, +typedef void (*PgQuery__RangeTableFuncCol_Closure) + (const PgQuery__RangeTableFuncCol *message, void *closure_data); -typedef void (*PgQuery__CreateStmt_Closure) - (const PgQuery__CreateStmt *message, +typedef void (*PgQuery__RangeTableSample_Closure) + (const PgQuery__RangeTableSample *message, void *closure_data); -typedef void (*PgQuery__DefineStmt_Closure) - (const PgQuery__DefineStmt *message, +typedef void (*PgQuery__ColumnDef_Closure) + (const PgQuery__ColumnDef *message, void *closure_data); -typedef void (*PgQuery__DropStmt_Closure) - (const PgQuery__DropStmt *message, +typedef void (*PgQuery__TableLikeClause_Closure) + (const PgQuery__TableLikeClause *message, void *closure_data); -typedef void (*PgQuery__TruncateStmt_Closure) - (const PgQuery__TruncateStmt *message, +typedef void (*PgQuery__IndexElem_Closure) + (const PgQuery__IndexElem *message, void *closure_data); -typedef void (*PgQuery__CommentStmt_Closure) - (const PgQuery__CommentStmt *message, +typedef void (*PgQuery__DefElem_Closure) + (const PgQuery__DefElem *message, void *closure_data); -typedef void (*PgQuery__FetchStmt_Closure) - (const PgQuery__FetchStmt *message, +typedef void (*PgQuery__LockingClause_Closure) + (const PgQuery__LockingClause *message, void *closure_data); -typedef void (*PgQuery__IndexStmt_Closure) - (const PgQuery__IndexStmt *message, +typedef void (*PgQuery__XmlSerialize_Closure) + (const PgQuery__XmlSerialize *message, void *closure_data); -typedef void (*PgQuery__CreateFunctionStmt_Closure) - (const PgQuery__CreateFunctionStmt *message, +typedef void (*PgQuery__PartitionElem_Closure) + (const PgQuery__PartitionElem *message, void *closure_data); -typedef void (*PgQuery__AlterFunctionStmt_Closure) - (const PgQuery__AlterFunctionStmt *message, +typedef void (*PgQuery__PartitionSpec_Closure) + (const PgQuery__PartitionSpec *message, void *closure_data); -typedef void (*PgQuery__DoStmt_Closure) - (const PgQuery__DoStmt *message, +typedef void (*PgQuery__PartitionBoundSpec_Closure) + (const PgQuery__PartitionBoundSpec *message, void *closure_data); -typedef void (*PgQuery__RenameStmt_Closure) - (const PgQuery__RenameStmt *message, +typedef void (*PgQuery__PartitionRangeDatum_Closure) + (const PgQuery__PartitionRangeDatum *message, void *closure_data); -typedef void (*PgQuery__RuleStmt_Closure) - (const PgQuery__RuleStmt *message, +typedef void (*PgQuery__SinglePartitionSpec_Closure) + (const PgQuery__SinglePartitionSpec *message, void *closure_data); -typedef void (*PgQuery__NotifyStmt_Closure) - (const PgQuery__NotifyStmt *message, +typedef void (*PgQuery__PartitionCmd_Closure) + (const PgQuery__PartitionCmd *message, void *closure_data); -typedef void (*PgQuery__ListenStmt_Closure) - (const PgQuery__ListenStmt *message, +typedef void (*PgQuery__RangeTblEntry_Closure) + (const PgQuery__RangeTblEntry *message, void *closure_data); -typedef void (*PgQuery__UnlistenStmt_Closure) - (const PgQuery__UnlistenStmt *message, +typedef void (*PgQuery__RTEPermissionInfo_Closure) + (const PgQuery__RTEPermissionInfo *message, + void *closure_data); +typedef void (*PgQuery__RangeTblFunction_Closure) + (const PgQuery__RangeTblFunction *message, + void *closure_data); +typedef void (*PgQuery__TableSampleClause_Closure) + (const PgQuery__TableSampleClause *message, + void *closure_data); +typedef void (*PgQuery__WithCheckOption_Closure) + (const PgQuery__WithCheckOption *message, + void *closure_data); +typedef void (*PgQuery__SortGroupClause_Closure) + (const PgQuery__SortGroupClause *message, + void *closure_data); +typedef void (*PgQuery__GroupingSet_Closure) + (const PgQuery__GroupingSet *message, + void *closure_data); +typedef void (*PgQuery__WindowClause_Closure) + (const PgQuery__WindowClause *message, + void *closure_data); +typedef void (*PgQuery__RowMarkClause_Closure) + (const PgQuery__RowMarkClause *message, + void *closure_data); +typedef void (*PgQuery__WithClause_Closure) + (const PgQuery__WithClause *message, + void *closure_data); +typedef void (*PgQuery__InferClause_Closure) + (const PgQuery__InferClause *message, + void *closure_data); +typedef void (*PgQuery__OnConflictClause_Closure) + (const PgQuery__OnConflictClause *message, + void *closure_data); +typedef void (*PgQuery__CTESearchClause_Closure) + (const PgQuery__CTESearchClause *message, + void *closure_data); +typedef void (*PgQuery__CTECycleClause_Closure) + (const PgQuery__CTECycleClause *message, + void *closure_data); +typedef void (*PgQuery__CommonTableExpr_Closure) + (const PgQuery__CommonTableExpr *message, + void *closure_data); +typedef void (*PgQuery__MergeWhenClause_Closure) + (const PgQuery__MergeWhenClause *message, + void *closure_data); +typedef void (*PgQuery__TriggerTransition_Closure) + (const PgQuery__TriggerTransition *message, + void *closure_data); +typedef void (*PgQuery__JsonOutput_Closure) + (const PgQuery__JsonOutput *message, + void *closure_data); +typedef void (*PgQuery__JsonArgument_Closure) + (const PgQuery__JsonArgument *message, void *closure_data); -typedef void (*PgQuery__TransactionStmt_Closure) - (const PgQuery__TransactionStmt *message, +typedef void (*PgQuery__JsonFuncExpr_Closure) + (const PgQuery__JsonFuncExpr *message, void *closure_data); -typedef void (*PgQuery__ViewStmt_Closure) - (const PgQuery__ViewStmt *message, +typedef void (*PgQuery__JsonTablePathSpec_Closure) + (const PgQuery__JsonTablePathSpec *message, void *closure_data); -typedef void (*PgQuery__LoadStmt_Closure) - (const PgQuery__LoadStmt *message, +typedef void (*PgQuery__JsonTable_Closure) + (const PgQuery__JsonTable *message, void *closure_data); -typedef void (*PgQuery__CreateDomainStmt_Closure) - (const PgQuery__CreateDomainStmt *message, +typedef void (*PgQuery__JsonTableColumn_Closure) + (const PgQuery__JsonTableColumn *message, void *closure_data); -typedef void (*PgQuery__CreatedbStmt_Closure) - (const PgQuery__CreatedbStmt *message, +typedef void (*PgQuery__JsonKeyValue_Closure) + (const PgQuery__JsonKeyValue *message, void *closure_data); -typedef void (*PgQuery__DropdbStmt_Closure) - (const PgQuery__DropdbStmt *message, +typedef void (*PgQuery__JsonParseExpr_Closure) + (const PgQuery__JsonParseExpr *message, void *closure_data); -typedef void (*PgQuery__VacuumStmt_Closure) - (const PgQuery__VacuumStmt *message, +typedef void (*PgQuery__JsonScalarExpr_Closure) + (const PgQuery__JsonScalarExpr *message, void *closure_data); -typedef void (*PgQuery__ExplainStmt_Closure) - (const PgQuery__ExplainStmt *message, +typedef void (*PgQuery__JsonSerializeExpr_Closure) + (const PgQuery__JsonSerializeExpr *message, void *closure_data); -typedef void (*PgQuery__CreateTableAsStmt_Closure) - (const PgQuery__CreateTableAsStmt *message, +typedef void (*PgQuery__JsonObjectConstructor_Closure) + (const PgQuery__JsonObjectConstructor *message, void *closure_data); -typedef void (*PgQuery__CreateSeqStmt_Closure) - (const PgQuery__CreateSeqStmt *message, +typedef void (*PgQuery__JsonArrayConstructor_Closure) + (const PgQuery__JsonArrayConstructor *message, void *closure_data); -typedef void (*PgQuery__AlterSeqStmt_Closure) - (const PgQuery__AlterSeqStmt *message, +typedef void (*PgQuery__JsonArrayQueryConstructor_Closure) + (const PgQuery__JsonArrayQueryConstructor *message, void *closure_data); -typedef void (*PgQuery__VariableSetStmt_Closure) - (const PgQuery__VariableSetStmt *message, +typedef void (*PgQuery__JsonAggConstructor_Closure) + (const PgQuery__JsonAggConstructor *message, void *closure_data); -typedef void (*PgQuery__VariableShowStmt_Closure) - (const PgQuery__VariableShowStmt *message, +typedef void (*PgQuery__JsonObjectAgg_Closure) + (const PgQuery__JsonObjectAgg *message, void *closure_data); -typedef void (*PgQuery__DiscardStmt_Closure) - (const PgQuery__DiscardStmt *message, +typedef void (*PgQuery__JsonArrayAgg_Closure) + (const PgQuery__JsonArrayAgg *message, void *closure_data); -typedef void (*PgQuery__CreateTrigStmt_Closure) - (const PgQuery__CreateTrigStmt *message, +typedef void (*PgQuery__RawStmt_Closure) + (const PgQuery__RawStmt *message, void *closure_data); -typedef void (*PgQuery__CreatePLangStmt_Closure) - (const PgQuery__CreatePLangStmt *message, +typedef void (*PgQuery__InsertStmt_Closure) + (const PgQuery__InsertStmt *message, void *closure_data); -typedef void (*PgQuery__CreateRoleStmt_Closure) - (const PgQuery__CreateRoleStmt *message, +typedef void (*PgQuery__DeleteStmt_Closure) + (const PgQuery__DeleteStmt *message, void *closure_data); -typedef void (*PgQuery__AlterRoleStmt_Closure) - (const PgQuery__AlterRoleStmt *message, +typedef void (*PgQuery__UpdateStmt_Closure) + (const PgQuery__UpdateStmt *message, void *closure_data); -typedef void (*PgQuery__DropRoleStmt_Closure) - (const PgQuery__DropRoleStmt *message, +typedef void (*PgQuery__MergeStmt_Closure) + (const PgQuery__MergeStmt *message, void *closure_data); -typedef void (*PgQuery__LockStmt_Closure) - (const PgQuery__LockStmt *message, +typedef void (*PgQuery__SelectStmt_Closure) + (const PgQuery__SelectStmt *message, void *closure_data); -typedef void (*PgQuery__ConstraintsSetStmt_Closure) - (const PgQuery__ConstraintsSetStmt *message, +typedef void (*PgQuery__SetOperationStmt_Closure) + (const PgQuery__SetOperationStmt *message, void *closure_data); -typedef void (*PgQuery__ReindexStmt_Closure) - (const PgQuery__ReindexStmt *message, +typedef void (*PgQuery__ReturnStmt_Closure) + (const PgQuery__ReturnStmt *message, void *closure_data); -typedef void (*PgQuery__CheckPointStmt_Closure) - (const PgQuery__CheckPointStmt *message, +typedef void (*PgQuery__PLAssignStmt_Closure) + (const PgQuery__PLAssignStmt *message, void *closure_data); typedef void (*PgQuery__CreateSchemaStmt_Closure) (const PgQuery__CreateSchemaStmt *message, void *closure_data); -typedef void (*PgQuery__AlterDatabaseStmt_Closure) - (const PgQuery__AlterDatabaseStmt *message, +typedef void (*PgQuery__AlterTableStmt_Closure) + (const PgQuery__AlterTableStmt *message, void *closure_data); -typedef void (*PgQuery__AlterDatabaseRefreshCollStmt_Closure) - (const PgQuery__AlterDatabaseRefreshCollStmt *message, +typedef void (*PgQuery__ReplicaIdentityStmt_Closure) + (const PgQuery__ReplicaIdentityStmt *message, void *closure_data); -typedef void (*PgQuery__AlterDatabaseSetStmt_Closure) - (const PgQuery__AlterDatabaseSetStmt *message, +typedef void (*PgQuery__AlterTableCmd_Closure) + (const PgQuery__AlterTableCmd *message, void *closure_data); -typedef void (*PgQuery__AlterRoleSetStmt_Closure) - (const PgQuery__AlterRoleSetStmt *message, +typedef void (*PgQuery__AlterCollationStmt_Closure) + (const PgQuery__AlterCollationStmt *message, void *closure_data); -typedef void (*PgQuery__CreateConversionStmt_Closure) - (const PgQuery__CreateConversionStmt *message, +typedef void (*PgQuery__AlterDomainStmt_Closure) + (const PgQuery__AlterDomainStmt *message, void *closure_data); -typedef void (*PgQuery__CreateCastStmt_Closure) - (const PgQuery__CreateCastStmt *message, +typedef void (*PgQuery__GrantStmt_Closure) + (const PgQuery__GrantStmt *message, void *closure_data); -typedef void (*PgQuery__CreateOpClassStmt_Closure) - (const PgQuery__CreateOpClassStmt *message, +typedef void (*PgQuery__ObjectWithArgs_Closure) + (const PgQuery__ObjectWithArgs *message, void *closure_data); -typedef void (*PgQuery__CreateOpFamilyStmt_Closure) - (const PgQuery__CreateOpFamilyStmt *message, +typedef void (*PgQuery__AccessPriv_Closure) + (const PgQuery__AccessPriv *message, void *closure_data); -typedef void (*PgQuery__AlterOpFamilyStmt_Closure) - (const PgQuery__AlterOpFamilyStmt *message, +typedef void (*PgQuery__GrantRoleStmt_Closure) + (const PgQuery__GrantRoleStmt *message, void *closure_data); -typedef void (*PgQuery__PrepareStmt_Closure) - (const PgQuery__PrepareStmt *message, +typedef void (*PgQuery__AlterDefaultPrivilegesStmt_Closure) + (const PgQuery__AlterDefaultPrivilegesStmt *message, void *closure_data); -typedef void (*PgQuery__ExecuteStmt_Closure) - (const PgQuery__ExecuteStmt *message, +typedef void (*PgQuery__CopyStmt_Closure) + (const PgQuery__CopyStmt *message, void *closure_data); -typedef void (*PgQuery__DeallocateStmt_Closure) - (const PgQuery__DeallocateStmt *message, +typedef void (*PgQuery__VariableSetStmt_Closure) + (const PgQuery__VariableSetStmt *message, void *closure_data); -typedef void (*PgQuery__DeclareCursorStmt_Closure) - (const PgQuery__DeclareCursorStmt *message, +typedef void (*PgQuery__VariableShowStmt_Closure) + (const PgQuery__VariableShowStmt *message, + void *closure_data); +typedef void (*PgQuery__CreateStmt_Closure) + (const PgQuery__CreateStmt *message, + void *closure_data); +typedef void (*PgQuery__Constraint_Closure) + (const PgQuery__Constraint *message, void *closure_data); typedef void (*PgQuery__CreateTableSpaceStmt_Closure) (const PgQuery__CreateTableSpaceStmt *message, @@ -10725,44 +12183,20 @@ typedef void (*PgQuery__CreateTableSpaceStmt_Closure) typedef void (*PgQuery__DropTableSpaceStmt_Closure) (const PgQuery__DropTableSpaceStmt *message, void *closure_data); -typedef void (*PgQuery__AlterObjectDependsStmt_Closure) - (const PgQuery__AlterObjectDependsStmt *message, - void *closure_data); -typedef void (*PgQuery__AlterObjectSchemaStmt_Closure) - (const PgQuery__AlterObjectSchemaStmt *message, - void *closure_data); -typedef void (*PgQuery__AlterOwnerStmt_Closure) - (const PgQuery__AlterOwnerStmt *message, - void *closure_data); -typedef void (*PgQuery__AlterOperatorStmt_Closure) - (const PgQuery__AlterOperatorStmt *message, - void *closure_data); -typedef void (*PgQuery__AlterTypeStmt_Closure) - (const PgQuery__AlterTypeStmt *message, - void *closure_data); -typedef void (*PgQuery__DropOwnedStmt_Closure) - (const PgQuery__DropOwnedStmt *message, - void *closure_data); -typedef void (*PgQuery__ReassignOwnedStmt_Closure) - (const PgQuery__ReassignOwnedStmt *message, - void *closure_data); -typedef void (*PgQuery__CompositeTypeStmt_Closure) - (const PgQuery__CompositeTypeStmt *message, - void *closure_data); -typedef void (*PgQuery__CreateEnumStmt_Closure) - (const PgQuery__CreateEnumStmt *message, +typedef void (*PgQuery__AlterTableSpaceOptionsStmt_Closure) + (const PgQuery__AlterTableSpaceOptionsStmt *message, void *closure_data); -typedef void (*PgQuery__CreateRangeStmt_Closure) - (const PgQuery__CreateRangeStmt *message, +typedef void (*PgQuery__AlterTableMoveAllStmt_Closure) + (const PgQuery__AlterTableMoveAllStmt *message, void *closure_data); -typedef void (*PgQuery__AlterEnumStmt_Closure) - (const PgQuery__AlterEnumStmt *message, +typedef void (*PgQuery__CreateExtensionStmt_Closure) + (const PgQuery__CreateExtensionStmt *message, void *closure_data); -typedef void (*PgQuery__AlterTSDictionaryStmt_Closure) - (const PgQuery__AlterTSDictionaryStmt *message, +typedef void (*PgQuery__AlterExtensionStmt_Closure) + (const PgQuery__AlterExtensionStmt *message, void *closure_data); -typedef void (*PgQuery__AlterTSConfigurationStmt_Closure) - (const PgQuery__AlterTSConfigurationStmt *message, +typedef void (*PgQuery__AlterExtensionContentsStmt_Closure) + (const PgQuery__AlterExtensionContentsStmt *message, void *closure_data); typedef void (*PgQuery__CreateFdwStmt_Closure) (const PgQuery__CreateFdwStmt *message, @@ -10776,6 +12210,9 @@ typedef void (*PgQuery__CreateForeignServerStmt_Closure) typedef void (*PgQuery__AlterForeignServerStmt_Closure) (const PgQuery__AlterForeignServerStmt *message, void *closure_data); +typedef void (*PgQuery__CreateForeignTableStmt_Closure) + (const PgQuery__CreateForeignTableStmt *message, + void *closure_data); typedef void (*PgQuery__CreateUserMappingStmt_Closure) (const PgQuery__CreateUserMappingStmt *message, void *closure_data); @@ -10785,29 +12222,20 @@ typedef void (*PgQuery__AlterUserMappingStmt_Closure) typedef void (*PgQuery__DropUserMappingStmt_Closure) (const PgQuery__DropUserMappingStmt *message, void *closure_data); -typedef void (*PgQuery__AlterTableSpaceOptionsStmt_Closure) - (const PgQuery__AlterTableSpaceOptionsStmt *message, - void *closure_data); -typedef void (*PgQuery__AlterTableMoveAllStmt_Closure) - (const PgQuery__AlterTableMoveAllStmt *message, - void *closure_data); -typedef void (*PgQuery__SecLabelStmt_Closure) - (const PgQuery__SecLabelStmt *message, - void *closure_data); -typedef void (*PgQuery__CreateForeignTableStmt_Closure) - (const PgQuery__CreateForeignTableStmt *message, - void *closure_data); typedef void (*PgQuery__ImportForeignSchemaStmt_Closure) (const PgQuery__ImportForeignSchemaStmt *message, void *closure_data); -typedef void (*PgQuery__CreateExtensionStmt_Closure) - (const PgQuery__CreateExtensionStmt *message, +typedef void (*PgQuery__CreatePolicyStmt_Closure) + (const PgQuery__CreatePolicyStmt *message, void *closure_data); -typedef void (*PgQuery__AlterExtensionStmt_Closure) - (const PgQuery__AlterExtensionStmt *message, +typedef void (*PgQuery__AlterPolicyStmt_Closure) + (const PgQuery__AlterPolicyStmt *message, void *closure_data); -typedef void (*PgQuery__AlterExtensionContentsStmt_Closure) - (const PgQuery__AlterExtensionContentsStmt *message, +typedef void (*PgQuery__CreateAmStmt_Closure) + (const PgQuery__CreateAmStmt *message, + void *closure_data); +typedef void (*PgQuery__CreateTrigStmt_Closure) + (const PgQuery__CreateTrigStmt *message, void *closure_data); typedef void (*PgQuery__CreateEventTrigStmt_Closure) (const PgQuery__CreateEventTrigStmt *message, @@ -10815,241 +12243,276 @@ typedef void (*PgQuery__CreateEventTrigStmt_Closure) typedef void (*PgQuery__AlterEventTrigStmt_Closure) (const PgQuery__AlterEventTrigStmt *message, void *closure_data); -typedef void (*PgQuery__RefreshMatViewStmt_Closure) - (const PgQuery__RefreshMatViewStmt *message, +typedef void (*PgQuery__CreatePLangStmt_Closure) + (const PgQuery__CreatePLangStmt *message, void *closure_data); -typedef void (*PgQuery__ReplicaIdentityStmt_Closure) - (const PgQuery__ReplicaIdentityStmt *message, +typedef void (*PgQuery__CreateRoleStmt_Closure) + (const PgQuery__CreateRoleStmt *message, void *closure_data); -typedef void (*PgQuery__AlterSystemStmt_Closure) - (const PgQuery__AlterSystemStmt *message, +typedef void (*PgQuery__AlterRoleStmt_Closure) + (const PgQuery__AlterRoleStmt *message, void *closure_data); -typedef void (*PgQuery__CreatePolicyStmt_Closure) - (const PgQuery__CreatePolicyStmt *message, +typedef void (*PgQuery__AlterRoleSetStmt_Closure) + (const PgQuery__AlterRoleSetStmt *message, void *closure_data); -typedef void (*PgQuery__AlterPolicyStmt_Closure) - (const PgQuery__AlterPolicyStmt *message, +typedef void (*PgQuery__DropRoleStmt_Closure) + (const PgQuery__DropRoleStmt *message, void *closure_data); -typedef void (*PgQuery__CreateTransformStmt_Closure) - (const PgQuery__CreateTransformStmt *message, +typedef void (*PgQuery__CreateSeqStmt_Closure) + (const PgQuery__CreateSeqStmt *message, void *closure_data); -typedef void (*PgQuery__CreateAmStmt_Closure) - (const PgQuery__CreateAmStmt *message, +typedef void (*PgQuery__AlterSeqStmt_Closure) + (const PgQuery__AlterSeqStmt *message, void *closure_data); -typedef void (*PgQuery__CreatePublicationStmt_Closure) - (const PgQuery__CreatePublicationStmt *message, +typedef void (*PgQuery__DefineStmt_Closure) + (const PgQuery__DefineStmt *message, void *closure_data); -typedef void (*PgQuery__AlterPublicationStmt_Closure) - (const PgQuery__AlterPublicationStmt *message, +typedef void (*PgQuery__CreateDomainStmt_Closure) + (const PgQuery__CreateDomainStmt *message, + void *closure_data); +typedef void (*PgQuery__CreateOpClassStmt_Closure) + (const PgQuery__CreateOpClassStmt *message, + void *closure_data); +typedef void (*PgQuery__CreateOpClassItem_Closure) + (const PgQuery__CreateOpClassItem *message, + void *closure_data); +typedef void (*PgQuery__CreateOpFamilyStmt_Closure) + (const PgQuery__CreateOpFamilyStmt *message, + void *closure_data); +typedef void (*PgQuery__AlterOpFamilyStmt_Closure) + (const PgQuery__AlterOpFamilyStmt *message, + void *closure_data); +typedef void (*PgQuery__DropStmt_Closure) + (const PgQuery__DropStmt *message, + void *closure_data); +typedef void (*PgQuery__TruncateStmt_Closure) + (const PgQuery__TruncateStmt *message, + void *closure_data); +typedef void (*PgQuery__CommentStmt_Closure) + (const PgQuery__CommentStmt *message, + void *closure_data); +typedef void (*PgQuery__SecLabelStmt_Closure) + (const PgQuery__SecLabelStmt *message, void *closure_data); -typedef void (*PgQuery__CreateSubscriptionStmt_Closure) - (const PgQuery__CreateSubscriptionStmt *message, +typedef void (*PgQuery__DeclareCursorStmt_Closure) + (const PgQuery__DeclareCursorStmt *message, void *closure_data); -typedef void (*PgQuery__AlterSubscriptionStmt_Closure) - (const PgQuery__AlterSubscriptionStmt *message, +typedef void (*PgQuery__ClosePortalStmt_Closure) + (const PgQuery__ClosePortalStmt *message, void *closure_data); -typedef void (*PgQuery__DropSubscriptionStmt_Closure) - (const PgQuery__DropSubscriptionStmt *message, +typedef void (*PgQuery__FetchStmt_Closure) + (const PgQuery__FetchStmt *message, + void *closure_data); +typedef void (*PgQuery__IndexStmt_Closure) + (const PgQuery__IndexStmt *message, void *closure_data); typedef void (*PgQuery__CreateStatsStmt_Closure) (const PgQuery__CreateStatsStmt *message, void *closure_data); -typedef void (*PgQuery__AlterCollationStmt_Closure) - (const PgQuery__AlterCollationStmt *message, - void *closure_data); -typedef void (*PgQuery__CallStmt_Closure) - (const PgQuery__CallStmt *message, +typedef void (*PgQuery__StatsElem_Closure) + (const PgQuery__StatsElem *message, void *closure_data); typedef void (*PgQuery__AlterStatsStmt_Closure) (const PgQuery__AlterStatsStmt *message, void *closure_data); -typedef void (*PgQuery__AExpr_Closure) - (const PgQuery__AExpr *message, - void *closure_data); -typedef void (*PgQuery__ColumnRef_Closure) - (const PgQuery__ColumnRef *message, - void *closure_data); -typedef void (*PgQuery__ParamRef_Closure) - (const PgQuery__ParamRef *message, - void *closure_data); -typedef void (*PgQuery__FuncCall_Closure) - (const PgQuery__FuncCall *message, +typedef void (*PgQuery__CreateFunctionStmt_Closure) + (const PgQuery__CreateFunctionStmt *message, void *closure_data); -typedef void (*PgQuery__AStar_Closure) - (const PgQuery__AStar *message, +typedef void (*PgQuery__FunctionParameter_Closure) + (const PgQuery__FunctionParameter *message, void *closure_data); -typedef void (*PgQuery__AIndices_Closure) - (const PgQuery__AIndices *message, +typedef void (*PgQuery__AlterFunctionStmt_Closure) + (const PgQuery__AlterFunctionStmt *message, void *closure_data); -typedef void (*PgQuery__AIndirection_Closure) - (const PgQuery__AIndirection *message, +typedef void (*PgQuery__DoStmt_Closure) + (const PgQuery__DoStmt *message, void *closure_data); -typedef void (*PgQuery__AArrayExpr_Closure) - (const PgQuery__AArrayExpr *message, +typedef void (*PgQuery__InlineCodeBlock_Closure) + (const PgQuery__InlineCodeBlock *message, void *closure_data); -typedef void (*PgQuery__ResTarget_Closure) - (const PgQuery__ResTarget *message, +typedef void (*PgQuery__CallStmt_Closure) + (const PgQuery__CallStmt *message, void *closure_data); -typedef void (*PgQuery__MultiAssignRef_Closure) - (const PgQuery__MultiAssignRef *message, +typedef void (*PgQuery__CallContext_Closure) + (const PgQuery__CallContext *message, void *closure_data); -typedef void (*PgQuery__TypeCast_Closure) - (const PgQuery__TypeCast *message, +typedef void (*PgQuery__RenameStmt_Closure) + (const PgQuery__RenameStmt *message, void *closure_data); -typedef void (*PgQuery__CollateClause_Closure) - (const PgQuery__CollateClause *message, +typedef void (*PgQuery__AlterObjectDependsStmt_Closure) + (const PgQuery__AlterObjectDependsStmt *message, void *closure_data); -typedef void (*PgQuery__SortBy_Closure) - (const PgQuery__SortBy *message, +typedef void (*PgQuery__AlterObjectSchemaStmt_Closure) + (const PgQuery__AlterObjectSchemaStmt *message, void *closure_data); -typedef void (*PgQuery__WindowDef_Closure) - (const PgQuery__WindowDef *message, +typedef void (*PgQuery__AlterOwnerStmt_Closure) + (const PgQuery__AlterOwnerStmt *message, void *closure_data); -typedef void (*PgQuery__RangeSubselect_Closure) - (const PgQuery__RangeSubselect *message, +typedef void (*PgQuery__AlterOperatorStmt_Closure) + (const PgQuery__AlterOperatorStmt *message, void *closure_data); -typedef void (*PgQuery__RangeFunction_Closure) - (const PgQuery__RangeFunction *message, +typedef void (*PgQuery__AlterTypeStmt_Closure) + (const PgQuery__AlterTypeStmt *message, void *closure_data); -typedef void (*PgQuery__RangeTableSample_Closure) - (const PgQuery__RangeTableSample *message, +typedef void (*PgQuery__RuleStmt_Closure) + (const PgQuery__RuleStmt *message, void *closure_data); -typedef void (*PgQuery__RangeTableFunc_Closure) - (const PgQuery__RangeTableFunc *message, +typedef void (*PgQuery__NotifyStmt_Closure) + (const PgQuery__NotifyStmt *message, void *closure_data); -typedef void (*PgQuery__RangeTableFuncCol_Closure) - (const PgQuery__RangeTableFuncCol *message, +typedef void (*PgQuery__ListenStmt_Closure) + (const PgQuery__ListenStmt *message, void *closure_data); -typedef void (*PgQuery__TypeName_Closure) - (const PgQuery__TypeName *message, +typedef void (*PgQuery__UnlistenStmt_Closure) + (const PgQuery__UnlistenStmt *message, void *closure_data); -typedef void (*PgQuery__ColumnDef_Closure) - (const PgQuery__ColumnDef *message, +typedef void (*PgQuery__TransactionStmt_Closure) + (const PgQuery__TransactionStmt *message, void *closure_data); -typedef void (*PgQuery__IndexElem_Closure) - (const PgQuery__IndexElem *message, +typedef void (*PgQuery__CompositeTypeStmt_Closure) + (const PgQuery__CompositeTypeStmt *message, void *closure_data); -typedef void (*PgQuery__StatsElem_Closure) - (const PgQuery__StatsElem *message, +typedef void (*PgQuery__CreateEnumStmt_Closure) + (const PgQuery__CreateEnumStmt *message, void *closure_data); -typedef void (*PgQuery__Constraint_Closure) - (const PgQuery__Constraint *message, +typedef void (*PgQuery__CreateRangeStmt_Closure) + (const PgQuery__CreateRangeStmt *message, void *closure_data); -typedef void (*PgQuery__DefElem_Closure) - (const PgQuery__DefElem *message, +typedef void (*PgQuery__AlterEnumStmt_Closure) + (const PgQuery__AlterEnumStmt *message, void *closure_data); -typedef void (*PgQuery__RangeTblEntry_Closure) - (const PgQuery__RangeTblEntry *message, +typedef void (*PgQuery__ViewStmt_Closure) + (const PgQuery__ViewStmt *message, void *closure_data); -typedef void (*PgQuery__RangeTblFunction_Closure) - (const PgQuery__RangeTblFunction *message, +typedef void (*PgQuery__LoadStmt_Closure) + (const PgQuery__LoadStmt *message, void *closure_data); -typedef void (*PgQuery__TableSampleClause_Closure) - (const PgQuery__TableSampleClause *message, +typedef void (*PgQuery__CreatedbStmt_Closure) + (const PgQuery__CreatedbStmt *message, void *closure_data); -typedef void (*PgQuery__WithCheckOption_Closure) - (const PgQuery__WithCheckOption *message, +typedef void (*PgQuery__AlterDatabaseStmt_Closure) + (const PgQuery__AlterDatabaseStmt *message, void *closure_data); -typedef void (*PgQuery__SortGroupClause_Closure) - (const PgQuery__SortGroupClause *message, +typedef void (*PgQuery__AlterDatabaseRefreshCollStmt_Closure) + (const PgQuery__AlterDatabaseRefreshCollStmt *message, void *closure_data); -typedef void (*PgQuery__GroupingSet_Closure) - (const PgQuery__GroupingSet *message, +typedef void (*PgQuery__AlterDatabaseSetStmt_Closure) + (const PgQuery__AlterDatabaseSetStmt *message, void *closure_data); -typedef void (*PgQuery__WindowClause_Closure) - (const PgQuery__WindowClause *message, +typedef void (*PgQuery__DropdbStmt_Closure) + (const PgQuery__DropdbStmt *message, void *closure_data); -typedef void (*PgQuery__ObjectWithArgs_Closure) - (const PgQuery__ObjectWithArgs *message, +typedef void (*PgQuery__AlterSystemStmt_Closure) + (const PgQuery__AlterSystemStmt *message, void *closure_data); -typedef void (*PgQuery__AccessPriv_Closure) - (const PgQuery__AccessPriv *message, +typedef void (*PgQuery__ClusterStmt_Closure) + (const PgQuery__ClusterStmt *message, void *closure_data); -typedef void (*PgQuery__CreateOpClassItem_Closure) - (const PgQuery__CreateOpClassItem *message, +typedef void (*PgQuery__VacuumStmt_Closure) + (const PgQuery__VacuumStmt *message, void *closure_data); -typedef void (*PgQuery__TableLikeClause_Closure) - (const PgQuery__TableLikeClause *message, +typedef void (*PgQuery__VacuumRelation_Closure) + (const PgQuery__VacuumRelation *message, void *closure_data); -typedef void (*PgQuery__FunctionParameter_Closure) - (const PgQuery__FunctionParameter *message, +typedef void (*PgQuery__ExplainStmt_Closure) + (const PgQuery__ExplainStmt *message, void *closure_data); -typedef void (*PgQuery__LockingClause_Closure) - (const PgQuery__LockingClause *message, +typedef void (*PgQuery__CreateTableAsStmt_Closure) + (const PgQuery__CreateTableAsStmt *message, void *closure_data); -typedef void (*PgQuery__RowMarkClause_Closure) - (const PgQuery__RowMarkClause *message, +typedef void (*PgQuery__RefreshMatViewStmt_Closure) + (const PgQuery__RefreshMatViewStmt *message, void *closure_data); -typedef void (*PgQuery__XmlSerialize_Closure) - (const PgQuery__XmlSerialize *message, +typedef void (*PgQuery__CheckPointStmt_Closure) + (const PgQuery__CheckPointStmt *message, void *closure_data); -typedef void (*PgQuery__WithClause_Closure) - (const PgQuery__WithClause *message, +typedef void (*PgQuery__DiscardStmt_Closure) + (const PgQuery__DiscardStmt *message, void *closure_data); -typedef void (*PgQuery__InferClause_Closure) - (const PgQuery__InferClause *message, +typedef void (*PgQuery__LockStmt_Closure) + (const PgQuery__LockStmt *message, void *closure_data); -typedef void (*PgQuery__OnConflictClause_Closure) - (const PgQuery__OnConflictClause *message, +typedef void (*PgQuery__ConstraintsSetStmt_Closure) + (const PgQuery__ConstraintsSetStmt *message, void *closure_data); -typedef void (*PgQuery__CTESearchClause_Closure) - (const PgQuery__CTESearchClause *message, +typedef void (*PgQuery__ReindexStmt_Closure) + (const PgQuery__ReindexStmt *message, void *closure_data); -typedef void (*PgQuery__CTECycleClause_Closure) - (const PgQuery__CTECycleClause *message, +typedef void (*PgQuery__CreateConversionStmt_Closure) + (const PgQuery__CreateConversionStmt *message, void *closure_data); -typedef void (*PgQuery__CommonTableExpr_Closure) - (const PgQuery__CommonTableExpr *message, +typedef void (*PgQuery__CreateCastStmt_Closure) + (const PgQuery__CreateCastStmt *message, void *closure_data); -typedef void (*PgQuery__MergeWhenClause_Closure) - (const PgQuery__MergeWhenClause *message, +typedef void (*PgQuery__CreateTransformStmt_Closure) + (const PgQuery__CreateTransformStmt *message, void *closure_data); -typedef void (*PgQuery__RoleSpec_Closure) - (const PgQuery__RoleSpec *message, +typedef void (*PgQuery__PrepareStmt_Closure) + (const PgQuery__PrepareStmt *message, void *closure_data); -typedef void (*PgQuery__TriggerTransition_Closure) - (const PgQuery__TriggerTransition *message, +typedef void (*PgQuery__ExecuteStmt_Closure) + (const PgQuery__ExecuteStmt *message, void *closure_data); -typedef void (*PgQuery__PartitionElem_Closure) - (const PgQuery__PartitionElem *message, +typedef void (*PgQuery__DeallocateStmt_Closure) + (const PgQuery__DeallocateStmt *message, void *closure_data); -typedef void (*PgQuery__PartitionSpec_Closure) - (const PgQuery__PartitionSpec *message, +typedef void (*PgQuery__DropOwnedStmt_Closure) + (const PgQuery__DropOwnedStmt *message, void *closure_data); -typedef void (*PgQuery__PartitionBoundSpec_Closure) - (const PgQuery__PartitionBoundSpec *message, +typedef void (*PgQuery__ReassignOwnedStmt_Closure) + (const PgQuery__ReassignOwnedStmt *message, void *closure_data); -typedef void (*PgQuery__PartitionRangeDatum_Closure) - (const PgQuery__PartitionRangeDatum *message, +typedef void (*PgQuery__AlterTSDictionaryStmt_Closure) + (const PgQuery__AlterTSDictionaryStmt *message, void *closure_data); -typedef void (*PgQuery__PartitionCmd_Closure) - (const PgQuery__PartitionCmd *message, +typedef void (*PgQuery__AlterTSConfigurationStmt_Closure) + (const PgQuery__AlterTSConfigurationStmt *message, void *closure_data); -typedef void (*PgQuery__VacuumRelation_Closure) - (const PgQuery__VacuumRelation *message, +typedef void (*PgQuery__PublicationTable_Closure) + (const PgQuery__PublicationTable *message, void *closure_data); typedef void (*PgQuery__PublicationObjSpec_Closure) (const PgQuery__PublicationObjSpec *message, void *closure_data); -typedef void (*PgQuery__PublicationTable_Closure) - (const PgQuery__PublicationTable *message, +typedef void (*PgQuery__CreatePublicationStmt_Closure) + (const PgQuery__CreatePublicationStmt *message, void *closure_data); -typedef void (*PgQuery__InlineCodeBlock_Closure) - (const PgQuery__InlineCodeBlock *message, +typedef void (*PgQuery__AlterPublicationStmt_Closure) + (const PgQuery__AlterPublicationStmt *message, void *closure_data); -typedef void (*PgQuery__CallContext_Closure) - (const PgQuery__CallContext *message, +typedef void (*PgQuery__CreateSubscriptionStmt_Closure) + (const PgQuery__CreateSubscriptionStmt *message, + void *closure_data); +typedef void (*PgQuery__AlterSubscriptionStmt_Closure) + (const PgQuery__AlterSubscriptionStmt *message, + void *closure_data); +typedef void (*PgQuery__DropSubscriptionStmt_Closure) + (const PgQuery__DropSubscriptionStmt *message, void *closure_data); typedef void (*PgQuery__ScanToken_Closure) (const PgQuery__ScanToken *message, void *closure_data); +typedef void (*PgQuery__SummaryResult__Table_Closure) + (const PgQuery__SummaryResult__Table *message, + void *closure_data); +typedef void (*PgQuery__SummaryResult__AliasesEntry_Closure) + (const PgQuery__SummaryResult__AliasesEntry *message, + void *closure_data); +typedef void (*PgQuery__SummaryResult__Function_Closure) + (const PgQuery__SummaryResult__Function *message, + void *closure_data); +typedef void (*PgQuery__SummaryResult__FilterColumn_Closure) + (const PgQuery__SummaryResult__FilterColumn *message, + void *closure_data); +typedef void (*PgQuery__SummaryResult_Closure) + (const PgQuery__SummaryResult *message, + void *closure_data); /* --- services --- */ /* --- descriptors --- */ -extern const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__query_source__descriptor; extern const ProtobufCEnumDescriptor pg_query__sort_by_dir__descriptor; extern const ProtobufCEnumDescriptor pg_query__sort_by_nulls__descriptor; @@ -11058,11 +12521,14 @@ extern const ProtobufCEnumDescriptor pg_query__a__expr__kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__role_spec_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__table_like_option__descriptor; extern const ProtobufCEnumDescriptor pg_query__def_elem_action__descriptor; +extern const ProtobufCEnumDescriptor pg_query__partition_strategy__descriptor; extern const ProtobufCEnumDescriptor pg_query__partition_range_datum_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__rtekind__descriptor; extern const ProtobufCEnumDescriptor pg_query__wcokind__descriptor; extern const ProtobufCEnumDescriptor pg_query__grouping_set_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__ctematerialize__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_quotes__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_table_column_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__set_operation__descriptor; extern const ProtobufCEnumDescriptor pg_query__object_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__drop_behavior__descriptor; @@ -11082,7 +12548,9 @@ extern const ProtobufCEnumDescriptor pg_query__alter_tsconfig_type__descripto extern const ProtobufCEnumDescriptor pg_query__publication_obj_spec_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__alter_publication_action__descriptor; extern const ProtobufCEnumDescriptor pg_query__alter_subscription_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__on_commit_action__descriptor; +extern const ProtobufCEnumDescriptor pg_query__table_func_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__param_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__coercion_context__descriptor; extern const ProtobufCEnumDescriptor pg_query__coercion_form__descriptor; @@ -11093,8 +12561,16 @@ extern const ProtobufCEnumDescriptor pg_query__min_max_op__descriptor; extern const ProtobufCEnumDescriptor pg_query__sqlvalue_function_op__descriptor; extern const ProtobufCEnumDescriptor pg_query__xml_expr_op__descriptor; extern const ProtobufCEnumDescriptor pg_query__xml_option_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_encoding__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_format_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_constructor_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_value_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_wrapper__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_behavior_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__json_expr_op__descriptor; extern const ProtobufCEnumDescriptor pg_query__null_test_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__bool_test_type__descriptor; +extern const ProtobufCEnumDescriptor pg_query__merge_match_kind__descriptor; extern const ProtobufCEnumDescriptor pg_query__cmd_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__join_type__descriptor; extern const ProtobufCEnumDescriptor pg_query__agg_strategy__descriptor; @@ -11123,11 +12599,14 @@ extern const ProtobufCMessageDescriptor pg_query__a__const__descriptor; extern const ProtobufCMessageDescriptor pg_query__alias__descriptor; extern const ProtobufCMessageDescriptor pg_query__range_var__descriptor; extern const ProtobufCMessageDescriptor pg_query__table_func__descriptor; +extern const ProtobufCMessageDescriptor pg_query__into_clause__descriptor; extern const ProtobufCMessageDescriptor pg_query__var__descriptor; extern const ProtobufCMessageDescriptor pg_query__param__descriptor; extern const ProtobufCMessageDescriptor pg_query__aggref__descriptor; extern const ProtobufCMessageDescriptor pg_query__grouping_func__descriptor; extern const ProtobufCMessageDescriptor pg_query__window_func__descriptor; +extern const ProtobufCMessageDescriptor pg_query__window_func_run_condition__descriptor; +extern const ProtobufCMessageDescriptor pg_query__merge_support_func__descriptor; extern const ProtobufCMessageDescriptor pg_query__subscripting_ref__descriptor; extern const ProtobufCMessageDescriptor pg_query__func_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__named_arg_expr__descriptor; @@ -11156,8 +12635,19 @@ extern const ProtobufCMessageDescriptor pg_query__coalesce_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__min_max_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__sqlvalue_function__descriptor; extern const ProtobufCMessageDescriptor pg_query__xml_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_format__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_returning__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_value_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_constructor_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_is_predicate__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_behavior__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path_scan__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_sibling_join__descriptor; extern const ProtobufCMessageDescriptor pg_query__null_test__descriptor; extern const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor; +extern const ProtobufCMessageDescriptor pg_query__merge_action__descriptor; extern const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor; extern const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor; extern const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor; @@ -11169,187 +12659,209 @@ extern const ProtobufCMessageDescriptor pg_query__range_tbl_ref__descriptor; extern const ProtobufCMessageDescriptor pg_query__join_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__from_expr__descriptor; extern const ProtobufCMessageDescriptor pg_query__on_conflict_expr__descriptor; -extern const ProtobufCMessageDescriptor pg_query__into_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__merge_action__descriptor; -extern const ProtobufCMessageDescriptor pg_query__raw_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__query__descriptor; +extern const ProtobufCMessageDescriptor pg_query__type_name__descriptor; +extern const ProtobufCMessageDescriptor pg_query__column_ref__descriptor; +extern const ProtobufCMessageDescriptor pg_query__param_ref__descriptor; +extern const ProtobufCMessageDescriptor pg_query__a__expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__type_cast__descriptor; +extern const ProtobufCMessageDescriptor pg_query__collate_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__role_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__func_call__descriptor; +extern const ProtobufCMessageDescriptor pg_query__a__star__descriptor; +extern const ProtobufCMessageDescriptor pg_query__a__indices__descriptor; +extern const ProtobufCMessageDescriptor pg_query__a__indirection__descriptor; +extern const ProtobufCMessageDescriptor pg_query__a__array_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__res_target__descriptor; +extern const ProtobufCMessageDescriptor pg_query__multi_assign_ref__descriptor; +extern const ProtobufCMessageDescriptor pg_query__sort_by__descriptor; +extern const ProtobufCMessageDescriptor pg_query__window_def__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_subselect__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_function__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_table_func__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_table_func_col__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_table_sample__descriptor; +extern const ProtobufCMessageDescriptor pg_query__column_def__descriptor; +extern const ProtobufCMessageDescriptor pg_query__table_like_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__index_elem__descriptor; +extern const ProtobufCMessageDescriptor pg_query__def_elem__descriptor; +extern const ProtobufCMessageDescriptor pg_query__locking_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__xml_serialize__descriptor; +extern const ProtobufCMessageDescriptor pg_query__partition_elem__descriptor; +extern const ProtobufCMessageDescriptor pg_query__partition_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__partition_bound_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor; +extern const ProtobufCMessageDescriptor pg_query__single_partition_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor; +extern const ProtobufCMessageDescriptor pg_query__rtepermission_info__descriptor; +extern const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor; +extern const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor; +extern const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor; +extern const ProtobufCMessageDescriptor pg_query__window_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__with_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor; +extern const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_output__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_argument__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_func_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_path_spec__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_table_column__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_key_value__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_parse_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_scalar_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_serialize_expr__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_object_constructor__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_array_constructor__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_array_query_constructor__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_agg_constructor__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_object_agg__descriptor; +extern const ProtobufCMessageDescriptor pg_query__json_array_agg__descriptor; +extern const ProtobufCMessageDescriptor pg_query__raw_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__insert_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__delete_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__update_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__merge_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__select_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__set_operation_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__return_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__plassign_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_schema_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_table_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__replica_identity_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_table_cmd__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_collation_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_domain_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__set_operation_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__grant_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__object_with_args__descriptor; +extern const ProtobufCMessageDescriptor pg_query__access_priv__descriptor; extern const ProtobufCMessageDescriptor pg_query__grant_role_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_default_privileges_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__close_portal_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__cluster_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__copy_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__variable_set_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__variable_show_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__constraint__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_table_space_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__drop_table_space_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_table_space_options_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_table_move_all_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_extension_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_extension_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_extension_contents_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_fdw_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_fdw_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_foreign_server_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_foreign_server_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_foreign_table_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_user_mapping_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_user_mapping_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__drop_user_mapping_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__import_foreign_schema_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_policy_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_policy_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_am_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_trig_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_event_trig_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_event_trig_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_plang_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_role_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_role_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_role_set_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__drop_role_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_seq_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_seq_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__define_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_domain_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_op_class_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_op_class_item__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_op_family_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_op_family_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__drop_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__truncate_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__comment_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__sec_label_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__declare_cursor_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__close_portal_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__fetch_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__index_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_stats_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__stats_elem__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_stats_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_function_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__function_parameter__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_function_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__do_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__inline_code_block__descriptor; +extern const ProtobufCMessageDescriptor pg_query__call_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__call_context__descriptor; extern const ProtobufCMessageDescriptor pg_query__rename_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_object_depends_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_object_schema_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_owner_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_operator_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_type_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__rule_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__notify_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__listen_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__unlisten_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__transaction_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__composite_type_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_enum_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_range_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_enum_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__view_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__load_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_domain_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__createdb_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_database_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_database_refresh_coll_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_database_set_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__dropdb_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__alter_system_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__cluster_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__vacuum_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__vacuum_relation__descriptor; extern const ProtobufCMessageDescriptor pg_query__explain_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_table_as_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_seq_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_seq_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__variable_set_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__variable_show_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__refresh_mat_view_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__check_point_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__discard_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_trig_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_plang_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_role_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_role_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__drop_role_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__lock_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__constraints_set_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__reindex_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__check_point_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_schema_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_database_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_database_refresh_coll_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_database_set_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_role_set_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_conversion_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_cast_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_op_class_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_op_family_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_op_family_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__create_transform_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__prepare_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__execute_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__deallocate_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__declare_cursor_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_table_space_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__drop_table_space_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_object_depends_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_object_schema_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_owner_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_operator_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_type_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__drop_owned_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__reassign_owned_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__composite_type_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_enum_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_range_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_enum_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_tsdictionary_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_tsconfiguration_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_fdw_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_fdw_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_foreign_server_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_foreign_server_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_user_mapping_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_user_mapping_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__drop_user_mapping_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_table_space_options_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_table_move_all_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__sec_label_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_foreign_table_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__import_foreign_schema_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_extension_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_extension_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_extension_contents_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_event_trig_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_event_trig_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__refresh_mat_view_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__replica_identity_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_system_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_policy_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_policy_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_transform_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_am_stmt__descriptor; +extern const ProtobufCMessageDescriptor pg_query__publication_table__descriptor; +extern const ProtobufCMessageDescriptor pg_query__publication_obj_spec__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_publication_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_publication_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__create_subscription_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__alter_subscription_stmt__descriptor; extern const ProtobufCMessageDescriptor pg_query__drop_subscription_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_stats_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_collation_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__call_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__alter_stats_stmt__descriptor; -extern const ProtobufCMessageDescriptor pg_query__a__expr__descriptor; -extern const ProtobufCMessageDescriptor pg_query__column_ref__descriptor; -extern const ProtobufCMessageDescriptor pg_query__param_ref__descriptor; -extern const ProtobufCMessageDescriptor pg_query__func_call__descriptor; -extern const ProtobufCMessageDescriptor pg_query__a__star__descriptor; -extern const ProtobufCMessageDescriptor pg_query__a__indices__descriptor; -extern const ProtobufCMessageDescriptor pg_query__a__indirection__descriptor; -extern const ProtobufCMessageDescriptor pg_query__a__array_expr__descriptor; -extern const ProtobufCMessageDescriptor pg_query__res_target__descriptor; -extern const ProtobufCMessageDescriptor pg_query__multi_assign_ref__descriptor; -extern const ProtobufCMessageDescriptor pg_query__type_cast__descriptor; -extern const ProtobufCMessageDescriptor pg_query__collate_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__sort_by__descriptor; -extern const ProtobufCMessageDescriptor pg_query__window_def__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_subselect__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_function__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_table_sample__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_table_func__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_table_func_col__descriptor; -extern const ProtobufCMessageDescriptor pg_query__type_name__descriptor; -extern const ProtobufCMessageDescriptor pg_query__column_def__descriptor; -extern const ProtobufCMessageDescriptor pg_query__index_elem__descriptor; -extern const ProtobufCMessageDescriptor pg_query__stats_elem__descriptor; -extern const ProtobufCMessageDescriptor pg_query__constraint__descriptor; -extern const ProtobufCMessageDescriptor pg_query__def_elem__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor; -extern const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor; -extern const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor; -extern const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor; -extern const ProtobufCMessageDescriptor pg_query__window_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__object_with_args__descriptor; -extern const ProtobufCMessageDescriptor pg_query__access_priv__descriptor; -extern const ProtobufCMessageDescriptor pg_query__create_op_class_item__descriptor; -extern const ProtobufCMessageDescriptor pg_query__table_like_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__function_parameter__descriptor; -extern const ProtobufCMessageDescriptor pg_query__locking_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__xml_serialize__descriptor; -extern const ProtobufCMessageDescriptor pg_query__with_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor; -extern const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor; -extern const ProtobufCMessageDescriptor pg_query__role_spec__descriptor; -extern const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor; -extern const ProtobufCMessageDescriptor pg_query__partition_elem__descriptor; -extern const ProtobufCMessageDescriptor pg_query__partition_spec__descriptor; -extern const ProtobufCMessageDescriptor pg_query__partition_bound_spec__descriptor; -extern const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor; -extern const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor; -extern const ProtobufCMessageDescriptor pg_query__vacuum_relation__descriptor; -extern const ProtobufCMessageDescriptor pg_query__publication_obj_spec__descriptor; -extern const ProtobufCMessageDescriptor pg_query__publication_table__descriptor; -extern const ProtobufCMessageDescriptor pg_query__inline_code_block__descriptor; -extern const ProtobufCMessageDescriptor pg_query__call_context__descriptor; extern const ProtobufCMessageDescriptor pg_query__scan_token__descriptor; +extern const ProtobufCMessageDescriptor pg_query__summary_result__descriptor; +extern const ProtobufCMessageDescriptor pg_query__summary_result__table__descriptor; +extern const ProtobufCMessageDescriptor pg_query__summary_result__aliases_entry__descriptor; +extern const ProtobufCMessageDescriptor pg_query__summary_result__function__descriptor; +extern const ProtobufCMessageDescriptor pg_query__summary_result__filter_column__descriptor; +extern const ProtobufCEnumDescriptor pg_query__summary_result__context__descriptor; PROTOBUF_C__END_DECLS diff --git a/parser/include/protobuf/pg_query.pb.h b/parser/include/protobuf/pg_query.pb.h index 36cd0335..b3354a80 100644 --- a/parser/include/protobuf/pg_query.pb.h +++ b/parser/include/protobuf/pg_query.pb.h @@ -1,51 +1,62 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! // source: protobuf/pg_query.proto +// Protobuf C++ Version: 4.25.1 -#ifndef GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto -#define GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto +#ifndef GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto_2epb_2eh +#define GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto_2epb_2eh #include #include - -#include -#if PROTOBUF_VERSION < 3021000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3021009 < PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include +#include +#include + +#include "google/protobuf/port_def.inc" +#if PROTOBUF_VERSION < 4025000 +#error "This file was generated by a newer version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please update" +#error "your headers." +#endif // PROTOBUF_VERSION + +#if 4025001 < PROTOBUF_MIN_PROTOC_VERSION +#error "This file was generated by an older version of protoc which is" +#error "incompatible with your Protocol Buffer headers. Please" +#error "regenerate this file with a newer version of protoc." +#endif // PROTOBUF_MIN_PROTOC_VERSION +#include "google/protobuf/port_undef.inc" +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_bases.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" // @@protoc_insertion_point(includes) -#include + +// Must be included last. +#include "google/protobuf/port_def.inc" + #define PROTOBUF_INTERNAL_EXPORT_protobuf_2fpg_5fquery_2eproto -PROTOBUF_NAMESPACE_OPEN + +namespace google { +namespace protobuf { namespace internal { class AnyMetadata; } // namespace internal -PROTOBUF_NAMESPACE_CLOSE +} // namespace protobuf +} // namespace google // Internal implementation detail -- do not use these members. struct TableStruct_protobuf_2fpg_5fquery_2eproto { - static const uint32_t offsets[]; + static const ::uint32_t offsets[]; }; -extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_protobuf_2fpg_5fquery_2eproto; +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_protobuf_2fpg_5fquery_2eproto; namespace pg_query { class A_ArrayExpr; struct A_ArrayExprDefaultTypeInternal; @@ -485,6 +496,84 @@ extern IntoClauseDefaultTypeInternal _IntoClause_default_instance_; class JoinExpr; struct JoinExprDefaultTypeInternal; extern JoinExprDefaultTypeInternal _JoinExpr_default_instance_; +class JsonAggConstructor; +struct JsonAggConstructorDefaultTypeInternal; +extern JsonAggConstructorDefaultTypeInternal _JsonAggConstructor_default_instance_; +class JsonArgument; +struct JsonArgumentDefaultTypeInternal; +extern JsonArgumentDefaultTypeInternal _JsonArgument_default_instance_; +class JsonArrayAgg; +struct JsonArrayAggDefaultTypeInternal; +extern JsonArrayAggDefaultTypeInternal _JsonArrayAgg_default_instance_; +class JsonArrayConstructor; +struct JsonArrayConstructorDefaultTypeInternal; +extern JsonArrayConstructorDefaultTypeInternal _JsonArrayConstructor_default_instance_; +class JsonArrayQueryConstructor; +struct JsonArrayQueryConstructorDefaultTypeInternal; +extern JsonArrayQueryConstructorDefaultTypeInternal _JsonArrayQueryConstructor_default_instance_; +class JsonBehavior; +struct JsonBehaviorDefaultTypeInternal; +extern JsonBehaviorDefaultTypeInternal _JsonBehavior_default_instance_; +class JsonConstructorExpr; +struct JsonConstructorExprDefaultTypeInternal; +extern JsonConstructorExprDefaultTypeInternal _JsonConstructorExpr_default_instance_; +class JsonExpr; +struct JsonExprDefaultTypeInternal; +extern JsonExprDefaultTypeInternal _JsonExpr_default_instance_; +class JsonFormat; +struct JsonFormatDefaultTypeInternal; +extern JsonFormatDefaultTypeInternal _JsonFormat_default_instance_; +class JsonFuncExpr; +struct JsonFuncExprDefaultTypeInternal; +extern JsonFuncExprDefaultTypeInternal _JsonFuncExpr_default_instance_; +class JsonIsPredicate; +struct JsonIsPredicateDefaultTypeInternal; +extern JsonIsPredicateDefaultTypeInternal _JsonIsPredicate_default_instance_; +class JsonKeyValue; +struct JsonKeyValueDefaultTypeInternal; +extern JsonKeyValueDefaultTypeInternal _JsonKeyValue_default_instance_; +class JsonObjectAgg; +struct JsonObjectAggDefaultTypeInternal; +extern JsonObjectAggDefaultTypeInternal _JsonObjectAgg_default_instance_; +class JsonObjectConstructor; +struct JsonObjectConstructorDefaultTypeInternal; +extern JsonObjectConstructorDefaultTypeInternal _JsonObjectConstructor_default_instance_; +class JsonOutput; +struct JsonOutputDefaultTypeInternal; +extern JsonOutputDefaultTypeInternal _JsonOutput_default_instance_; +class JsonParseExpr; +struct JsonParseExprDefaultTypeInternal; +extern JsonParseExprDefaultTypeInternal _JsonParseExpr_default_instance_; +class JsonReturning; +struct JsonReturningDefaultTypeInternal; +extern JsonReturningDefaultTypeInternal _JsonReturning_default_instance_; +class JsonScalarExpr; +struct JsonScalarExprDefaultTypeInternal; +extern JsonScalarExprDefaultTypeInternal _JsonScalarExpr_default_instance_; +class JsonSerializeExpr; +struct JsonSerializeExprDefaultTypeInternal; +extern JsonSerializeExprDefaultTypeInternal _JsonSerializeExpr_default_instance_; +class JsonTable; +struct JsonTableDefaultTypeInternal; +extern JsonTableDefaultTypeInternal _JsonTable_default_instance_; +class JsonTableColumn; +struct JsonTableColumnDefaultTypeInternal; +extern JsonTableColumnDefaultTypeInternal _JsonTableColumn_default_instance_; +class JsonTablePath; +struct JsonTablePathDefaultTypeInternal; +extern JsonTablePathDefaultTypeInternal _JsonTablePath_default_instance_; +class JsonTablePathScan; +struct JsonTablePathScanDefaultTypeInternal; +extern JsonTablePathScanDefaultTypeInternal _JsonTablePathScan_default_instance_; +class JsonTablePathSpec; +struct JsonTablePathSpecDefaultTypeInternal; +extern JsonTablePathSpecDefaultTypeInternal _JsonTablePathSpec_default_instance_; +class JsonTableSiblingJoin; +struct JsonTableSiblingJoinDefaultTypeInternal; +extern JsonTableSiblingJoinDefaultTypeInternal _JsonTableSiblingJoin_default_instance_; +class JsonValueExpr; +struct JsonValueExprDefaultTypeInternal; +extern JsonValueExprDefaultTypeInternal _JsonValueExpr_default_instance_; class List; struct ListDefaultTypeInternal; extern ListDefaultTypeInternal _List_default_instance_; @@ -506,6 +595,9 @@ extern MergeActionDefaultTypeInternal _MergeAction_default_instance_; class MergeStmt; struct MergeStmtDefaultTypeInternal; extern MergeStmtDefaultTypeInternal _MergeStmt_default_instance_; +class MergeSupportFunc; +struct MergeSupportFuncDefaultTypeInternal; +extern MergeSupportFuncDefaultTypeInternal _MergeSupportFunc_default_instance_; class MergeWhenClause; struct MergeWhenClauseDefaultTypeInternal; extern MergeWhenClauseDefaultTypeInternal _MergeWhenClause_default_instance_; @@ -587,6 +679,9 @@ extern PublicationTableDefaultTypeInternal _PublicationTable_default_instance_; class Query; struct QueryDefaultTypeInternal; extern QueryDefaultTypeInternal _Query_default_instance_; +class RTEPermissionInfo; +struct RTEPermissionInfoDefaultTypeInternal; +extern RTEPermissionInfoDefaultTypeInternal _RTEPermissionInfo_default_instance_; class RangeFunction; struct RangeFunctionDefaultTypeInternal; extern RangeFunctionDefaultTypeInternal _RangeFunction_default_instance_; @@ -680,6 +775,9 @@ extern SetOperationStmtDefaultTypeInternal _SetOperationStmt_default_instance_; class SetToDefault; struct SetToDefaultDefaultTypeInternal; extern SetToDefaultDefaultTypeInternal _SetToDefault_default_instance_; +class SinglePartitionSpec; +struct SinglePartitionSpecDefaultTypeInternal; +extern SinglePartitionSpecDefaultTypeInternal _SinglePartitionSpec_default_instance_; class SortBy; struct SortByDefaultTypeInternal; extern SortByDefaultTypeInternal _SortBy_default_instance_; @@ -761,6 +859,9 @@ extern WindowDefDefaultTypeInternal _WindowDef_default_instance_; class WindowFunc; struct WindowFuncDefaultTypeInternal; extern WindowFuncDefaultTypeInternal _WindowFunc_default_instance_; +class WindowFuncRunCondition; +struct WindowFuncRunConditionDefaultTypeInternal; +extern WindowFuncRunConditionDefaultTypeInternal _WindowFuncRunCondition_default_instance_; class WithCheckOption; struct WithCheckOptionDefaultTypeInternal; extern WithCheckOptionDefaultTypeInternal _WithCheckOption_default_instance_; @@ -774,279 +875,12 @@ class XmlSerialize; struct XmlSerializeDefaultTypeInternal; extern XmlSerializeDefaultTypeInternal _XmlSerialize_default_instance_; } // namespace pg_query -PROTOBUF_NAMESPACE_OPEN -template<> ::pg_query::A_ArrayExpr* Arena::CreateMaybeMessage<::pg_query::A_ArrayExpr>(Arena*); -template<> ::pg_query::A_Const* Arena::CreateMaybeMessage<::pg_query::A_Const>(Arena*); -template<> ::pg_query::A_Expr* Arena::CreateMaybeMessage<::pg_query::A_Expr>(Arena*); -template<> ::pg_query::A_Indices* Arena::CreateMaybeMessage<::pg_query::A_Indices>(Arena*); -template<> ::pg_query::A_Indirection* Arena::CreateMaybeMessage<::pg_query::A_Indirection>(Arena*); -template<> ::pg_query::A_Star* Arena::CreateMaybeMessage<::pg_query::A_Star>(Arena*); -template<> ::pg_query::AccessPriv* Arena::CreateMaybeMessage<::pg_query::AccessPriv>(Arena*); -template<> ::pg_query::Aggref* Arena::CreateMaybeMessage<::pg_query::Aggref>(Arena*); -template<> ::pg_query::Alias* Arena::CreateMaybeMessage<::pg_query::Alias>(Arena*); -template<> ::pg_query::AlterCollationStmt* Arena::CreateMaybeMessage<::pg_query::AlterCollationStmt>(Arena*); -template<> ::pg_query::AlterDatabaseRefreshCollStmt* Arena::CreateMaybeMessage<::pg_query::AlterDatabaseRefreshCollStmt>(Arena*); -template<> ::pg_query::AlterDatabaseSetStmt* Arena::CreateMaybeMessage<::pg_query::AlterDatabaseSetStmt>(Arena*); -template<> ::pg_query::AlterDatabaseStmt* Arena::CreateMaybeMessage<::pg_query::AlterDatabaseStmt>(Arena*); -template<> ::pg_query::AlterDefaultPrivilegesStmt* Arena::CreateMaybeMessage<::pg_query::AlterDefaultPrivilegesStmt>(Arena*); -template<> ::pg_query::AlterDomainStmt* Arena::CreateMaybeMessage<::pg_query::AlterDomainStmt>(Arena*); -template<> ::pg_query::AlterEnumStmt* Arena::CreateMaybeMessage<::pg_query::AlterEnumStmt>(Arena*); -template<> ::pg_query::AlterEventTrigStmt* Arena::CreateMaybeMessage<::pg_query::AlterEventTrigStmt>(Arena*); -template<> ::pg_query::AlterExtensionContentsStmt* Arena::CreateMaybeMessage<::pg_query::AlterExtensionContentsStmt>(Arena*); -template<> ::pg_query::AlterExtensionStmt* Arena::CreateMaybeMessage<::pg_query::AlterExtensionStmt>(Arena*); -template<> ::pg_query::AlterFdwStmt* Arena::CreateMaybeMessage<::pg_query::AlterFdwStmt>(Arena*); -template<> ::pg_query::AlterForeignServerStmt* Arena::CreateMaybeMessage<::pg_query::AlterForeignServerStmt>(Arena*); -template<> ::pg_query::AlterFunctionStmt* Arena::CreateMaybeMessage<::pg_query::AlterFunctionStmt>(Arena*); -template<> ::pg_query::AlterObjectDependsStmt* Arena::CreateMaybeMessage<::pg_query::AlterObjectDependsStmt>(Arena*); -template<> ::pg_query::AlterObjectSchemaStmt* Arena::CreateMaybeMessage<::pg_query::AlterObjectSchemaStmt>(Arena*); -template<> ::pg_query::AlterOpFamilyStmt* Arena::CreateMaybeMessage<::pg_query::AlterOpFamilyStmt>(Arena*); -template<> ::pg_query::AlterOperatorStmt* Arena::CreateMaybeMessage<::pg_query::AlterOperatorStmt>(Arena*); -template<> ::pg_query::AlterOwnerStmt* Arena::CreateMaybeMessage<::pg_query::AlterOwnerStmt>(Arena*); -template<> ::pg_query::AlterPolicyStmt* Arena::CreateMaybeMessage<::pg_query::AlterPolicyStmt>(Arena*); -template<> ::pg_query::AlterPublicationStmt* Arena::CreateMaybeMessage<::pg_query::AlterPublicationStmt>(Arena*); -template<> ::pg_query::AlterRoleSetStmt* Arena::CreateMaybeMessage<::pg_query::AlterRoleSetStmt>(Arena*); -template<> ::pg_query::AlterRoleStmt* Arena::CreateMaybeMessage<::pg_query::AlterRoleStmt>(Arena*); -template<> ::pg_query::AlterSeqStmt* Arena::CreateMaybeMessage<::pg_query::AlterSeqStmt>(Arena*); -template<> ::pg_query::AlterStatsStmt* Arena::CreateMaybeMessage<::pg_query::AlterStatsStmt>(Arena*); -template<> ::pg_query::AlterSubscriptionStmt* Arena::CreateMaybeMessage<::pg_query::AlterSubscriptionStmt>(Arena*); -template<> ::pg_query::AlterSystemStmt* Arena::CreateMaybeMessage<::pg_query::AlterSystemStmt>(Arena*); -template<> ::pg_query::AlterTSConfigurationStmt* Arena::CreateMaybeMessage<::pg_query::AlterTSConfigurationStmt>(Arena*); -template<> ::pg_query::AlterTSDictionaryStmt* Arena::CreateMaybeMessage<::pg_query::AlterTSDictionaryStmt>(Arena*); -template<> ::pg_query::AlterTableCmd* Arena::CreateMaybeMessage<::pg_query::AlterTableCmd>(Arena*); -template<> ::pg_query::AlterTableMoveAllStmt* Arena::CreateMaybeMessage<::pg_query::AlterTableMoveAllStmt>(Arena*); -template<> ::pg_query::AlterTableSpaceOptionsStmt* Arena::CreateMaybeMessage<::pg_query::AlterTableSpaceOptionsStmt>(Arena*); -template<> ::pg_query::AlterTableStmt* Arena::CreateMaybeMessage<::pg_query::AlterTableStmt>(Arena*); -template<> ::pg_query::AlterTypeStmt* Arena::CreateMaybeMessage<::pg_query::AlterTypeStmt>(Arena*); -template<> ::pg_query::AlterUserMappingStmt* Arena::CreateMaybeMessage<::pg_query::AlterUserMappingStmt>(Arena*); -template<> ::pg_query::AlternativeSubPlan* Arena::CreateMaybeMessage<::pg_query::AlternativeSubPlan>(Arena*); -template<> ::pg_query::ArrayCoerceExpr* Arena::CreateMaybeMessage<::pg_query::ArrayCoerceExpr>(Arena*); -template<> ::pg_query::ArrayExpr* Arena::CreateMaybeMessage<::pg_query::ArrayExpr>(Arena*); -template<> ::pg_query::BitString* Arena::CreateMaybeMessage<::pg_query::BitString>(Arena*); -template<> ::pg_query::BoolExpr* Arena::CreateMaybeMessage<::pg_query::BoolExpr>(Arena*); -template<> ::pg_query::Boolean* Arena::CreateMaybeMessage<::pg_query::Boolean>(Arena*); -template<> ::pg_query::BooleanTest* Arena::CreateMaybeMessage<::pg_query::BooleanTest>(Arena*); -template<> ::pg_query::CTECycleClause* Arena::CreateMaybeMessage<::pg_query::CTECycleClause>(Arena*); -template<> ::pg_query::CTESearchClause* Arena::CreateMaybeMessage<::pg_query::CTESearchClause>(Arena*); -template<> ::pg_query::CallContext* Arena::CreateMaybeMessage<::pg_query::CallContext>(Arena*); -template<> ::pg_query::CallStmt* Arena::CreateMaybeMessage<::pg_query::CallStmt>(Arena*); -template<> ::pg_query::CaseExpr* Arena::CreateMaybeMessage<::pg_query::CaseExpr>(Arena*); -template<> ::pg_query::CaseTestExpr* Arena::CreateMaybeMessage<::pg_query::CaseTestExpr>(Arena*); -template<> ::pg_query::CaseWhen* Arena::CreateMaybeMessage<::pg_query::CaseWhen>(Arena*); -template<> ::pg_query::CheckPointStmt* Arena::CreateMaybeMessage<::pg_query::CheckPointStmt>(Arena*); -template<> ::pg_query::ClosePortalStmt* Arena::CreateMaybeMessage<::pg_query::ClosePortalStmt>(Arena*); -template<> ::pg_query::ClusterStmt* Arena::CreateMaybeMessage<::pg_query::ClusterStmt>(Arena*); -template<> ::pg_query::CoalesceExpr* Arena::CreateMaybeMessage<::pg_query::CoalesceExpr>(Arena*); -template<> ::pg_query::CoerceToDomain* Arena::CreateMaybeMessage<::pg_query::CoerceToDomain>(Arena*); -template<> ::pg_query::CoerceToDomainValue* Arena::CreateMaybeMessage<::pg_query::CoerceToDomainValue>(Arena*); -template<> ::pg_query::CoerceViaIO* Arena::CreateMaybeMessage<::pg_query::CoerceViaIO>(Arena*); -template<> ::pg_query::CollateClause* Arena::CreateMaybeMessage<::pg_query::CollateClause>(Arena*); -template<> ::pg_query::CollateExpr* Arena::CreateMaybeMessage<::pg_query::CollateExpr>(Arena*); -template<> ::pg_query::ColumnDef* Arena::CreateMaybeMessage<::pg_query::ColumnDef>(Arena*); -template<> ::pg_query::ColumnRef* Arena::CreateMaybeMessage<::pg_query::ColumnRef>(Arena*); -template<> ::pg_query::CommentStmt* Arena::CreateMaybeMessage<::pg_query::CommentStmt>(Arena*); -template<> ::pg_query::CommonTableExpr* Arena::CreateMaybeMessage<::pg_query::CommonTableExpr>(Arena*); -template<> ::pg_query::CompositeTypeStmt* Arena::CreateMaybeMessage<::pg_query::CompositeTypeStmt>(Arena*); -template<> ::pg_query::Constraint* Arena::CreateMaybeMessage<::pg_query::Constraint>(Arena*); -template<> ::pg_query::ConstraintsSetStmt* Arena::CreateMaybeMessage<::pg_query::ConstraintsSetStmt>(Arena*); -template<> ::pg_query::ConvertRowtypeExpr* Arena::CreateMaybeMessage<::pg_query::ConvertRowtypeExpr>(Arena*); -template<> ::pg_query::CopyStmt* Arena::CreateMaybeMessage<::pg_query::CopyStmt>(Arena*); -template<> ::pg_query::CreateAmStmt* Arena::CreateMaybeMessage<::pg_query::CreateAmStmt>(Arena*); -template<> ::pg_query::CreateCastStmt* Arena::CreateMaybeMessage<::pg_query::CreateCastStmt>(Arena*); -template<> ::pg_query::CreateConversionStmt* Arena::CreateMaybeMessage<::pg_query::CreateConversionStmt>(Arena*); -template<> ::pg_query::CreateDomainStmt* Arena::CreateMaybeMessage<::pg_query::CreateDomainStmt>(Arena*); -template<> ::pg_query::CreateEnumStmt* Arena::CreateMaybeMessage<::pg_query::CreateEnumStmt>(Arena*); -template<> ::pg_query::CreateEventTrigStmt* Arena::CreateMaybeMessage<::pg_query::CreateEventTrigStmt>(Arena*); -template<> ::pg_query::CreateExtensionStmt* Arena::CreateMaybeMessage<::pg_query::CreateExtensionStmt>(Arena*); -template<> ::pg_query::CreateFdwStmt* Arena::CreateMaybeMessage<::pg_query::CreateFdwStmt>(Arena*); -template<> ::pg_query::CreateForeignServerStmt* Arena::CreateMaybeMessage<::pg_query::CreateForeignServerStmt>(Arena*); -template<> ::pg_query::CreateForeignTableStmt* Arena::CreateMaybeMessage<::pg_query::CreateForeignTableStmt>(Arena*); -template<> ::pg_query::CreateFunctionStmt* Arena::CreateMaybeMessage<::pg_query::CreateFunctionStmt>(Arena*); -template<> ::pg_query::CreateOpClassItem* Arena::CreateMaybeMessage<::pg_query::CreateOpClassItem>(Arena*); -template<> ::pg_query::CreateOpClassStmt* Arena::CreateMaybeMessage<::pg_query::CreateOpClassStmt>(Arena*); -template<> ::pg_query::CreateOpFamilyStmt* Arena::CreateMaybeMessage<::pg_query::CreateOpFamilyStmt>(Arena*); -template<> ::pg_query::CreatePLangStmt* Arena::CreateMaybeMessage<::pg_query::CreatePLangStmt>(Arena*); -template<> ::pg_query::CreatePolicyStmt* Arena::CreateMaybeMessage<::pg_query::CreatePolicyStmt>(Arena*); -template<> ::pg_query::CreatePublicationStmt* Arena::CreateMaybeMessage<::pg_query::CreatePublicationStmt>(Arena*); -template<> ::pg_query::CreateRangeStmt* Arena::CreateMaybeMessage<::pg_query::CreateRangeStmt>(Arena*); -template<> ::pg_query::CreateRoleStmt* Arena::CreateMaybeMessage<::pg_query::CreateRoleStmt>(Arena*); -template<> ::pg_query::CreateSchemaStmt* Arena::CreateMaybeMessage<::pg_query::CreateSchemaStmt>(Arena*); -template<> ::pg_query::CreateSeqStmt* Arena::CreateMaybeMessage<::pg_query::CreateSeqStmt>(Arena*); -template<> ::pg_query::CreateStatsStmt* Arena::CreateMaybeMessage<::pg_query::CreateStatsStmt>(Arena*); -template<> ::pg_query::CreateStmt* Arena::CreateMaybeMessage<::pg_query::CreateStmt>(Arena*); -template<> ::pg_query::CreateSubscriptionStmt* Arena::CreateMaybeMessage<::pg_query::CreateSubscriptionStmt>(Arena*); -template<> ::pg_query::CreateTableAsStmt* Arena::CreateMaybeMessage<::pg_query::CreateTableAsStmt>(Arena*); -template<> ::pg_query::CreateTableSpaceStmt* Arena::CreateMaybeMessage<::pg_query::CreateTableSpaceStmt>(Arena*); -template<> ::pg_query::CreateTransformStmt* Arena::CreateMaybeMessage<::pg_query::CreateTransformStmt>(Arena*); -template<> ::pg_query::CreateTrigStmt* Arena::CreateMaybeMessage<::pg_query::CreateTrigStmt>(Arena*); -template<> ::pg_query::CreateUserMappingStmt* Arena::CreateMaybeMessage<::pg_query::CreateUserMappingStmt>(Arena*); -template<> ::pg_query::CreatedbStmt* Arena::CreateMaybeMessage<::pg_query::CreatedbStmt>(Arena*); -template<> ::pg_query::CurrentOfExpr* Arena::CreateMaybeMessage<::pg_query::CurrentOfExpr>(Arena*); -template<> ::pg_query::DeallocateStmt* Arena::CreateMaybeMessage<::pg_query::DeallocateStmt>(Arena*); -template<> ::pg_query::DeclareCursorStmt* Arena::CreateMaybeMessage<::pg_query::DeclareCursorStmt>(Arena*); -template<> ::pg_query::DefElem* Arena::CreateMaybeMessage<::pg_query::DefElem>(Arena*); -template<> ::pg_query::DefineStmt* Arena::CreateMaybeMessage<::pg_query::DefineStmt>(Arena*); -template<> ::pg_query::DeleteStmt* Arena::CreateMaybeMessage<::pg_query::DeleteStmt>(Arena*); -template<> ::pg_query::DiscardStmt* Arena::CreateMaybeMessage<::pg_query::DiscardStmt>(Arena*); -template<> ::pg_query::DistinctExpr* Arena::CreateMaybeMessage<::pg_query::DistinctExpr>(Arena*); -template<> ::pg_query::DoStmt* Arena::CreateMaybeMessage<::pg_query::DoStmt>(Arena*); -template<> ::pg_query::DropOwnedStmt* Arena::CreateMaybeMessage<::pg_query::DropOwnedStmt>(Arena*); -template<> ::pg_query::DropRoleStmt* Arena::CreateMaybeMessage<::pg_query::DropRoleStmt>(Arena*); -template<> ::pg_query::DropStmt* Arena::CreateMaybeMessage<::pg_query::DropStmt>(Arena*); -template<> ::pg_query::DropSubscriptionStmt* Arena::CreateMaybeMessage<::pg_query::DropSubscriptionStmt>(Arena*); -template<> ::pg_query::DropTableSpaceStmt* Arena::CreateMaybeMessage<::pg_query::DropTableSpaceStmt>(Arena*); -template<> ::pg_query::DropUserMappingStmt* Arena::CreateMaybeMessage<::pg_query::DropUserMappingStmt>(Arena*); -template<> ::pg_query::DropdbStmt* Arena::CreateMaybeMessage<::pg_query::DropdbStmt>(Arena*); -template<> ::pg_query::ExecuteStmt* Arena::CreateMaybeMessage<::pg_query::ExecuteStmt>(Arena*); -template<> ::pg_query::ExplainStmt* Arena::CreateMaybeMessage<::pg_query::ExplainStmt>(Arena*); -template<> ::pg_query::FetchStmt* Arena::CreateMaybeMessage<::pg_query::FetchStmt>(Arena*); -template<> ::pg_query::FieldSelect* Arena::CreateMaybeMessage<::pg_query::FieldSelect>(Arena*); -template<> ::pg_query::FieldStore* Arena::CreateMaybeMessage<::pg_query::FieldStore>(Arena*); -template<> ::pg_query::Float* Arena::CreateMaybeMessage<::pg_query::Float>(Arena*); -template<> ::pg_query::FromExpr* Arena::CreateMaybeMessage<::pg_query::FromExpr>(Arena*); -template<> ::pg_query::FuncCall* Arena::CreateMaybeMessage<::pg_query::FuncCall>(Arena*); -template<> ::pg_query::FuncExpr* Arena::CreateMaybeMessage<::pg_query::FuncExpr>(Arena*); -template<> ::pg_query::FunctionParameter* Arena::CreateMaybeMessage<::pg_query::FunctionParameter>(Arena*); -template<> ::pg_query::GrantRoleStmt* Arena::CreateMaybeMessage<::pg_query::GrantRoleStmt>(Arena*); -template<> ::pg_query::GrantStmt* Arena::CreateMaybeMessage<::pg_query::GrantStmt>(Arena*); -template<> ::pg_query::GroupingFunc* Arena::CreateMaybeMessage<::pg_query::GroupingFunc>(Arena*); -template<> ::pg_query::GroupingSet* Arena::CreateMaybeMessage<::pg_query::GroupingSet>(Arena*); -template<> ::pg_query::ImportForeignSchemaStmt* Arena::CreateMaybeMessage<::pg_query::ImportForeignSchemaStmt>(Arena*); -template<> ::pg_query::IndexElem* Arena::CreateMaybeMessage<::pg_query::IndexElem>(Arena*); -template<> ::pg_query::IndexStmt* Arena::CreateMaybeMessage<::pg_query::IndexStmt>(Arena*); -template<> ::pg_query::InferClause* Arena::CreateMaybeMessage<::pg_query::InferClause>(Arena*); -template<> ::pg_query::InferenceElem* Arena::CreateMaybeMessage<::pg_query::InferenceElem>(Arena*); -template<> ::pg_query::InlineCodeBlock* Arena::CreateMaybeMessage<::pg_query::InlineCodeBlock>(Arena*); -template<> ::pg_query::InsertStmt* Arena::CreateMaybeMessage<::pg_query::InsertStmt>(Arena*); -template<> ::pg_query::IntList* Arena::CreateMaybeMessage<::pg_query::IntList>(Arena*); -template<> ::pg_query::Integer* Arena::CreateMaybeMessage<::pg_query::Integer>(Arena*); -template<> ::pg_query::IntoClause* Arena::CreateMaybeMessage<::pg_query::IntoClause>(Arena*); -template<> ::pg_query::JoinExpr* Arena::CreateMaybeMessage<::pg_query::JoinExpr>(Arena*); -template<> ::pg_query::List* Arena::CreateMaybeMessage<::pg_query::List>(Arena*); -template<> ::pg_query::ListenStmt* Arena::CreateMaybeMessage<::pg_query::ListenStmt>(Arena*); -template<> ::pg_query::LoadStmt* Arena::CreateMaybeMessage<::pg_query::LoadStmt>(Arena*); -template<> ::pg_query::LockStmt* Arena::CreateMaybeMessage<::pg_query::LockStmt>(Arena*); -template<> ::pg_query::LockingClause* Arena::CreateMaybeMessage<::pg_query::LockingClause>(Arena*); -template<> ::pg_query::MergeAction* Arena::CreateMaybeMessage<::pg_query::MergeAction>(Arena*); -template<> ::pg_query::MergeStmt* Arena::CreateMaybeMessage<::pg_query::MergeStmt>(Arena*); -template<> ::pg_query::MergeWhenClause* Arena::CreateMaybeMessage<::pg_query::MergeWhenClause>(Arena*); -template<> ::pg_query::MinMaxExpr* Arena::CreateMaybeMessage<::pg_query::MinMaxExpr>(Arena*); -template<> ::pg_query::MultiAssignRef* Arena::CreateMaybeMessage<::pg_query::MultiAssignRef>(Arena*); -template<> ::pg_query::NamedArgExpr* Arena::CreateMaybeMessage<::pg_query::NamedArgExpr>(Arena*); -template<> ::pg_query::NextValueExpr* Arena::CreateMaybeMessage<::pg_query::NextValueExpr>(Arena*); -template<> ::pg_query::Node* Arena::CreateMaybeMessage<::pg_query::Node>(Arena*); -template<> ::pg_query::NotifyStmt* Arena::CreateMaybeMessage<::pg_query::NotifyStmt>(Arena*); -template<> ::pg_query::NullIfExpr* Arena::CreateMaybeMessage<::pg_query::NullIfExpr>(Arena*); -template<> ::pg_query::NullTest* Arena::CreateMaybeMessage<::pg_query::NullTest>(Arena*); -template<> ::pg_query::ObjectWithArgs* Arena::CreateMaybeMessage<::pg_query::ObjectWithArgs>(Arena*); -template<> ::pg_query::OidList* Arena::CreateMaybeMessage<::pg_query::OidList>(Arena*); -template<> ::pg_query::OnConflictClause* Arena::CreateMaybeMessage<::pg_query::OnConflictClause>(Arena*); -template<> ::pg_query::OnConflictExpr* Arena::CreateMaybeMessage<::pg_query::OnConflictExpr>(Arena*); -template<> ::pg_query::OpExpr* Arena::CreateMaybeMessage<::pg_query::OpExpr>(Arena*); -template<> ::pg_query::PLAssignStmt* Arena::CreateMaybeMessage<::pg_query::PLAssignStmt>(Arena*); -template<> ::pg_query::Param* Arena::CreateMaybeMessage<::pg_query::Param>(Arena*); -template<> ::pg_query::ParamRef* Arena::CreateMaybeMessage<::pg_query::ParamRef>(Arena*); -template<> ::pg_query::ParseResult* Arena::CreateMaybeMessage<::pg_query::ParseResult>(Arena*); -template<> ::pg_query::PartitionBoundSpec* Arena::CreateMaybeMessage<::pg_query::PartitionBoundSpec>(Arena*); -template<> ::pg_query::PartitionCmd* Arena::CreateMaybeMessage<::pg_query::PartitionCmd>(Arena*); -template<> ::pg_query::PartitionElem* Arena::CreateMaybeMessage<::pg_query::PartitionElem>(Arena*); -template<> ::pg_query::PartitionRangeDatum* Arena::CreateMaybeMessage<::pg_query::PartitionRangeDatum>(Arena*); -template<> ::pg_query::PartitionSpec* Arena::CreateMaybeMessage<::pg_query::PartitionSpec>(Arena*); -template<> ::pg_query::PrepareStmt* Arena::CreateMaybeMessage<::pg_query::PrepareStmt>(Arena*); -template<> ::pg_query::PublicationObjSpec* Arena::CreateMaybeMessage<::pg_query::PublicationObjSpec>(Arena*); -template<> ::pg_query::PublicationTable* Arena::CreateMaybeMessage<::pg_query::PublicationTable>(Arena*); -template<> ::pg_query::Query* Arena::CreateMaybeMessage<::pg_query::Query>(Arena*); -template<> ::pg_query::RangeFunction* Arena::CreateMaybeMessage<::pg_query::RangeFunction>(Arena*); -template<> ::pg_query::RangeSubselect* Arena::CreateMaybeMessage<::pg_query::RangeSubselect>(Arena*); -template<> ::pg_query::RangeTableFunc* Arena::CreateMaybeMessage<::pg_query::RangeTableFunc>(Arena*); -template<> ::pg_query::RangeTableFuncCol* Arena::CreateMaybeMessage<::pg_query::RangeTableFuncCol>(Arena*); -template<> ::pg_query::RangeTableSample* Arena::CreateMaybeMessage<::pg_query::RangeTableSample>(Arena*); -template<> ::pg_query::RangeTblEntry* Arena::CreateMaybeMessage<::pg_query::RangeTblEntry>(Arena*); -template<> ::pg_query::RangeTblFunction* Arena::CreateMaybeMessage<::pg_query::RangeTblFunction>(Arena*); -template<> ::pg_query::RangeTblRef* Arena::CreateMaybeMessage<::pg_query::RangeTblRef>(Arena*); -template<> ::pg_query::RangeVar* Arena::CreateMaybeMessage<::pg_query::RangeVar>(Arena*); -template<> ::pg_query::RawStmt* Arena::CreateMaybeMessage<::pg_query::RawStmt>(Arena*); -template<> ::pg_query::ReassignOwnedStmt* Arena::CreateMaybeMessage<::pg_query::ReassignOwnedStmt>(Arena*); -template<> ::pg_query::RefreshMatViewStmt* Arena::CreateMaybeMessage<::pg_query::RefreshMatViewStmt>(Arena*); -template<> ::pg_query::ReindexStmt* Arena::CreateMaybeMessage<::pg_query::ReindexStmt>(Arena*); -template<> ::pg_query::RelabelType* Arena::CreateMaybeMessage<::pg_query::RelabelType>(Arena*); -template<> ::pg_query::RenameStmt* Arena::CreateMaybeMessage<::pg_query::RenameStmt>(Arena*); -template<> ::pg_query::ReplicaIdentityStmt* Arena::CreateMaybeMessage<::pg_query::ReplicaIdentityStmt>(Arena*); -template<> ::pg_query::ResTarget* Arena::CreateMaybeMessage<::pg_query::ResTarget>(Arena*); -template<> ::pg_query::ReturnStmt* Arena::CreateMaybeMessage<::pg_query::ReturnStmt>(Arena*); -template<> ::pg_query::RoleSpec* Arena::CreateMaybeMessage<::pg_query::RoleSpec>(Arena*); -template<> ::pg_query::RowCompareExpr* Arena::CreateMaybeMessage<::pg_query::RowCompareExpr>(Arena*); -template<> ::pg_query::RowExpr* Arena::CreateMaybeMessage<::pg_query::RowExpr>(Arena*); -template<> ::pg_query::RowMarkClause* Arena::CreateMaybeMessage<::pg_query::RowMarkClause>(Arena*); -template<> ::pg_query::RuleStmt* Arena::CreateMaybeMessage<::pg_query::RuleStmt>(Arena*); -template<> ::pg_query::SQLValueFunction* Arena::CreateMaybeMessage<::pg_query::SQLValueFunction>(Arena*); -template<> ::pg_query::ScalarArrayOpExpr* Arena::CreateMaybeMessage<::pg_query::ScalarArrayOpExpr>(Arena*); -template<> ::pg_query::ScanResult* Arena::CreateMaybeMessage<::pg_query::ScanResult>(Arena*); -template<> ::pg_query::ScanToken* Arena::CreateMaybeMessage<::pg_query::ScanToken>(Arena*); -template<> ::pg_query::SecLabelStmt* Arena::CreateMaybeMessage<::pg_query::SecLabelStmt>(Arena*); -template<> ::pg_query::SelectStmt* Arena::CreateMaybeMessage<::pg_query::SelectStmt>(Arena*); -template<> ::pg_query::SetOperationStmt* Arena::CreateMaybeMessage<::pg_query::SetOperationStmt>(Arena*); -template<> ::pg_query::SetToDefault* Arena::CreateMaybeMessage<::pg_query::SetToDefault>(Arena*); -template<> ::pg_query::SortBy* Arena::CreateMaybeMessage<::pg_query::SortBy>(Arena*); -template<> ::pg_query::SortGroupClause* Arena::CreateMaybeMessage<::pg_query::SortGroupClause>(Arena*); -template<> ::pg_query::StatsElem* Arena::CreateMaybeMessage<::pg_query::StatsElem>(Arena*); -template<> ::pg_query::String* Arena::CreateMaybeMessage<::pg_query::String>(Arena*); -template<> ::pg_query::SubLink* Arena::CreateMaybeMessage<::pg_query::SubLink>(Arena*); -template<> ::pg_query::SubPlan* Arena::CreateMaybeMessage<::pg_query::SubPlan>(Arena*); -template<> ::pg_query::SubscriptingRef* Arena::CreateMaybeMessage<::pg_query::SubscriptingRef>(Arena*); -template<> ::pg_query::TableFunc* Arena::CreateMaybeMessage<::pg_query::TableFunc>(Arena*); -template<> ::pg_query::TableLikeClause* Arena::CreateMaybeMessage<::pg_query::TableLikeClause>(Arena*); -template<> ::pg_query::TableSampleClause* Arena::CreateMaybeMessage<::pg_query::TableSampleClause>(Arena*); -template<> ::pg_query::TargetEntry* Arena::CreateMaybeMessage<::pg_query::TargetEntry>(Arena*); -template<> ::pg_query::TransactionStmt* Arena::CreateMaybeMessage<::pg_query::TransactionStmt>(Arena*); -template<> ::pg_query::TriggerTransition* Arena::CreateMaybeMessage<::pg_query::TriggerTransition>(Arena*); -template<> ::pg_query::TruncateStmt* Arena::CreateMaybeMessage<::pg_query::TruncateStmt>(Arena*); -template<> ::pg_query::TypeCast* Arena::CreateMaybeMessage<::pg_query::TypeCast>(Arena*); -template<> ::pg_query::TypeName* Arena::CreateMaybeMessage<::pg_query::TypeName>(Arena*); -template<> ::pg_query::UnlistenStmt* Arena::CreateMaybeMessage<::pg_query::UnlistenStmt>(Arena*); -template<> ::pg_query::UpdateStmt* Arena::CreateMaybeMessage<::pg_query::UpdateStmt>(Arena*); -template<> ::pg_query::VacuumRelation* Arena::CreateMaybeMessage<::pg_query::VacuumRelation>(Arena*); -template<> ::pg_query::VacuumStmt* Arena::CreateMaybeMessage<::pg_query::VacuumStmt>(Arena*); -template<> ::pg_query::Var* Arena::CreateMaybeMessage<::pg_query::Var>(Arena*); -template<> ::pg_query::VariableSetStmt* Arena::CreateMaybeMessage<::pg_query::VariableSetStmt>(Arena*); -template<> ::pg_query::VariableShowStmt* Arena::CreateMaybeMessage<::pg_query::VariableShowStmt>(Arena*); -template<> ::pg_query::ViewStmt* Arena::CreateMaybeMessage<::pg_query::ViewStmt>(Arena*); -template<> ::pg_query::WindowClause* Arena::CreateMaybeMessage<::pg_query::WindowClause>(Arena*); -template<> ::pg_query::WindowDef* Arena::CreateMaybeMessage<::pg_query::WindowDef>(Arena*); -template<> ::pg_query::WindowFunc* Arena::CreateMaybeMessage<::pg_query::WindowFunc>(Arena*); -template<> ::pg_query::WithCheckOption* Arena::CreateMaybeMessage<::pg_query::WithCheckOption>(Arena*); -template<> ::pg_query::WithClause* Arena::CreateMaybeMessage<::pg_query::WithClause>(Arena*); -template<> ::pg_query::XmlExpr* Arena::CreateMaybeMessage<::pg_query::XmlExpr>(Arena*); -template<> ::pg_query::XmlSerialize* Arena::CreateMaybeMessage<::pg_query::XmlSerialize>(Arena*); -PROTOBUF_NAMESPACE_CLOSE -namespace pg_query { +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google -enum OverridingKind : int { - OVERRIDING_KIND_UNDEFINED = 0, - OVERRIDING_NOT_SET = 1, - OVERRIDING_USER_VALUE = 2, - OVERRIDING_SYSTEM_VALUE = 3, - OverridingKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - OverridingKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() -}; -bool OverridingKind_IsValid(int value); -constexpr OverridingKind OverridingKind_MIN = OVERRIDING_KIND_UNDEFINED; -constexpr OverridingKind OverridingKind_MAX = OVERRIDING_SYSTEM_VALUE; -constexpr int OverridingKind_ARRAYSIZE = OverridingKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OverridingKind_descriptor(); -template -inline const std::string& OverridingKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function OverridingKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - OverridingKind_descriptor(), enum_t_value); -} -inline bool OverridingKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OverridingKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - OverridingKind_descriptor(), name, value); -} +namespace pg_query { enum QuerySource : int { QUERY_SOURCE_UNDEFINED = 0, QSRC_ORIGINAL = 1, @@ -1054,27 +888,35 @@ enum QuerySource : int { QSRC_INSTEAD_RULE = 3, QSRC_QUAL_INSTEAD_RULE = 4, QSRC_NON_INSTEAD_RULE = 5, - QuerySource_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - QuerySource_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + QuerySource_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + QuerySource_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool QuerySource_IsValid(int value); -constexpr QuerySource QuerySource_MIN = QUERY_SOURCE_UNDEFINED; -constexpr QuerySource QuerySource_MAX = QSRC_NON_INSTEAD_RULE; -constexpr int QuerySource_ARRAYSIZE = QuerySource_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* QuerySource_descriptor(); -template -inline const std::string& QuerySource_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function QuerySource_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - QuerySource_descriptor(), enum_t_value); -} -inline bool QuerySource_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, QuerySource* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - QuerySource_descriptor(), name, value); +extern const uint32_t QuerySource_internal_data_[]; +constexpr QuerySource QuerySource_MIN = static_cast(0); +constexpr QuerySource QuerySource_MAX = static_cast(5); +constexpr int QuerySource_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +QuerySource_descriptor(); +template +const std::string& QuerySource_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to QuerySource_Name()."); + return QuerySource_Name(static_cast(value)); +} +template <> +inline const std::string& QuerySource_Name(QuerySource value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool QuerySource_Parse(absl::string_view name, QuerySource* value) { + return ::google::protobuf::internal::ParseNamedEnum( + QuerySource_descriptor(), name, value); } enum SortByDir : int { SORT_BY_DIR_UNDEFINED = 0, @@ -1082,81 +924,105 @@ enum SortByDir : int { SORTBY_ASC = 2, SORTBY_DESC = 3, SORTBY_USING = 4, - SortByDir_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SortByDir_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SortByDir_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SortByDir_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SortByDir_IsValid(int value); -constexpr SortByDir SortByDir_MIN = SORT_BY_DIR_UNDEFINED; -constexpr SortByDir SortByDir_MAX = SORTBY_USING; -constexpr int SortByDir_ARRAYSIZE = SortByDir_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SortByDir_descriptor(); -template -inline const std::string& SortByDir_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SortByDir_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SortByDir_descriptor(), enum_t_value); -} -inline bool SortByDir_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SortByDir* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SortByDir_descriptor(), name, value); +extern const uint32_t SortByDir_internal_data_[]; +constexpr SortByDir SortByDir_MIN = static_cast(0); +constexpr SortByDir SortByDir_MAX = static_cast(4); +constexpr int SortByDir_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +SortByDir_descriptor(); +template +const std::string& SortByDir_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SortByDir_Name()."); + return SortByDir_Name(static_cast(value)); +} +template <> +inline const std::string& SortByDir_Name(SortByDir value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SortByDir_Parse(absl::string_view name, SortByDir* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SortByDir_descriptor(), name, value); } enum SortByNulls : int { SORT_BY_NULLS_UNDEFINED = 0, SORTBY_NULLS_DEFAULT = 1, SORTBY_NULLS_FIRST = 2, SORTBY_NULLS_LAST = 3, - SortByNulls_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SortByNulls_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SortByNulls_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SortByNulls_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SortByNulls_IsValid(int value); -constexpr SortByNulls SortByNulls_MIN = SORT_BY_NULLS_UNDEFINED; -constexpr SortByNulls SortByNulls_MAX = SORTBY_NULLS_LAST; -constexpr int SortByNulls_ARRAYSIZE = SortByNulls_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SortByNulls_descriptor(); -template -inline const std::string& SortByNulls_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SortByNulls_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SortByNulls_descriptor(), enum_t_value); -} -inline bool SortByNulls_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SortByNulls* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SortByNulls_descriptor(), name, value); +extern const uint32_t SortByNulls_internal_data_[]; +constexpr SortByNulls SortByNulls_MIN = static_cast(0); +constexpr SortByNulls SortByNulls_MAX = static_cast(3); +constexpr int SortByNulls_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +SortByNulls_descriptor(); +template +const std::string& SortByNulls_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SortByNulls_Name()."); + return SortByNulls_Name(static_cast(value)); +} +template <> +inline const std::string& SortByNulls_Name(SortByNulls value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SortByNulls_Parse(absl::string_view name, SortByNulls* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SortByNulls_descriptor(), name, value); } enum SetQuantifier : int { SET_QUANTIFIER_UNDEFINED = 0, SET_QUANTIFIER_DEFAULT = 1, SET_QUANTIFIER_ALL = 2, SET_QUANTIFIER_DISTINCT = 3, - SetQuantifier_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SetQuantifier_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SetQuantifier_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SetQuantifier_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SetQuantifier_IsValid(int value); -constexpr SetQuantifier SetQuantifier_MIN = SET_QUANTIFIER_UNDEFINED; -constexpr SetQuantifier SetQuantifier_MAX = SET_QUANTIFIER_DISTINCT; -constexpr int SetQuantifier_ARRAYSIZE = SetQuantifier_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetQuantifier_descriptor(); -template -inline const std::string& SetQuantifier_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SetQuantifier_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SetQuantifier_descriptor(), enum_t_value); -} -inline bool SetQuantifier_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SetQuantifier* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SetQuantifier_descriptor(), name, value); +extern const uint32_t SetQuantifier_internal_data_[]; +constexpr SetQuantifier SetQuantifier_MIN = static_cast(0); +constexpr SetQuantifier SetQuantifier_MAX = static_cast(3); +constexpr int SetQuantifier_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +SetQuantifier_descriptor(); +template +const std::string& SetQuantifier_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SetQuantifier_Name()."); + return SetQuantifier_Name(static_cast(value)); +} +template <> +inline const std::string& SetQuantifier_Name(SetQuantifier value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SetQuantifier_Parse(absl::string_view name, SetQuantifier* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SetQuantifier_descriptor(), name, value); } enum A_Expr_Kind : int { A_EXPR_KIND_UNDEFINED = 0, @@ -1174,27 +1040,35 @@ enum A_Expr_Kind : int { AEXPR_NOT_BETWEEN = 12, AEXPR_BETWEEN_SYM = 13, AEXPR_NOT_BETWEEN_SYM = 14, - A_Expr_Kind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - A_Expr_Kind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + A_Expr_Kind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + A_Expr_Kind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool A_Expr_Kind_IsValid(int value); -constexpr A_Expr_Kind A_Expr_Kind_MIN = A_EXPR_KIND_UNDEFINED; -constexpr A_Expr_Kind A_Expr_Kind_MAX = AEXPR_NOT_BETWEEN_SYM; -constexpr int A_Expr_Kind_ARRAYSIZE = A_Expr_Kind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* A_Expr_Kind_descriptor(); -template -inline const std::string& A_Expr_Kind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function A_Expr_Kind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - A_Expr_Kind_descriptor(), enum_t_value); -} -inline bool A_Expr_Kind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, A_Expr_Kind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - A_Expr_Kind_descriptor(), name, value); +extern const uint32_t A_Expr_Kind_internal_data_[]; +constexpr A_Expr_Kind A_Expr_Kind_MIN = static_cast(0); +constexpr A_Expr_Kind A_Expr_Kind_MAX = static_cast(14); +constexpr int A_Expr_Kind_ARRAYSIZE = 14 + 1; +const ::google::protobuf::EnumDescriptor* +A_Expr_Kind_descriptor(); +template +const std::string& A_Expr_Kind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to A_Expr_Kind_Name()."); + return A_Expr_Kind_Name(static_cast(value)); +} +template <> +inline const std::string& A_Expr_Kind_Name(A_Expr_Kind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool A_Expr_Kind_Parse(absl::string_view name, A_Expr_Kind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + A_Expr_Kind_descriptor(), name, value); } enum RoleSpecType : int { ROLE_SPEC_TYPE_UNDEFINED = 0, @@ -1203,27 +1077,35 @@ enum RoleSpecType : int { ROLESPEC_CURRENT_USER = 3, ROLESPEC_SESSION_USER = 4, ROLESPEC_PUBLIC = 5, - RoleSpecType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - RoleSpecType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + RoleSpecType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + RoleSpecType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool RoleSpecType_IsValid(int value); -constexpr RoleSpecType RoleSpecType_MIN = ROLE_SPEC_TYPE_UNDEFINED; -constexpr RoleSpecType RoleSpecType_MAX = ROLESPEC_PUBLIC; -constexpr int RoleSpecType_ARRAYSIZE = RoleSpecType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoleSpecType_descriptor(); -template -inline const std::string& RoleSpecType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RoleSpecType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RoleSpecType_descriptor(), enum_t_value); -} -inline bool RoleSpecType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoleSpecType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RoleSpecType_descriptor(), name, value); +extern const uint32_t RoleSpecType_internal_data_[]; +constexpr RoleSpecType RoleSpecType_MIN = static_cast(0); +constexpr RoleSpecType RoleSpecType_MAX = static_cast(5); +constexpr int RoleSpecType_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +RoleSpecType_descriptor(); +template +const std::string& RoleSpecType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to RoleSpecType_Name()."); + return RoleSpecType_Name(static_cast(value)); +} +template <> +inline const std::string& RoleSpecType_Name(RoleSpecType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool RoleSpecType_Parse(absl::string_view name, RoleSpecType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + RoleSpecType_descriptor(), name, value); } enum TableLikeOption : int { TABLE_LIKE_OPTION_UNDEFINED = 0, @@ -1237,27 +1119,35 @@ enum TableLikeOption : int { CREATE_TABLE_LIKE_STATISTICS = 8, CREATE_TABLE_LIKE_STORAGE = 9, CREATE_TABLE_LIKE_ALL = 10, - TableLikeOption_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - TableLikeOption_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + TableLikeOption_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + TableLikeOption_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool TableLikeOption_IsValid(int value); -constexpr TableLikeOption TableLikeOption_MIN = TABLE_LIKE_OPTION_UNDEFINED; -constexpr TableLikeOption TableLikeOption_MAX = CREATE_TABLE_LIKE_ALL; -constexpr int TableLikeOption_ARRAYSIZE = TableLikeOption_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TableLikeOption_descriptor(); -template -inline const std::string& TableLikeOption_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function TableLikeOption_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - TableLikeOption_descriptor(), enum_t_value); -} -inline bool TableLikeOption_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TableLikeOption* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - TableLikeOption_descriptor(), name, value); +extern const uint32_t TableLikeOption_internal_data_[]; +constexpr TableLikeOption TableLikeOption_MIN = static_cast(0); +constexpr TableLikeOption TableLikeOption_MAX = static_cast(10); +constexpr int TableLikeOption_ARRAYSIZE = 10 + 1; +const ::google::protobuf::EnumDescriptor* +TableLikeOption_descriptor(); +template +const std::string& TableLikeOption_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to TableLikeOption_Name()."); + return TableLikeOption_Name(static_cast(value)); +} +template <> +inline const std::string& TableLikeOption_Name(TableLikeOption value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool TableLikeOption_Parse(absl::string_view name, TableLikeOption* value) { + return ::google::protobuf::internal::ParseNamedEnum( + TableLikeOption_descriptor(), name, value); } enum DefElemAction : int { DEF_ELEM_ACTION_UNDEFINED = 0, @@ -1265,54 +1155,105 @@ enum DefElemAction : int { DEFELEM_SET = 2, DEFELEM_ADD = 3, DEFELEM_DROP = 4, - DefElemAction_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - DefElemAction_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + DefElemAction_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + DefElemAction_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool DefElemAction_IsValid(int value); -constexpr DefElemAction DefElemAction_MIN = DEF_ELEM_ACTION_UNDEFINED; -constexpr DefElemAction DefElemAction_MAX = DEFELEM_DROP; -constexpr int DefElemAction_ARRAYSIZE = DefElemAction_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DefElemAction_descriptor(); -template -inline const std::string& DefElemAction_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DefElemAction_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - DefElemAction_descriptor(), enum_t_value); -} -inline bool DefElemAction_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DefElemAction* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - DefElemAction_descriptor(), name, value); +extern const uint32_t DefElemAction_internal_data_[]; +constexpr DefElemAction DefElemAction_MIN = static_cast(0); +constexpr DefElemAction DefElemAction_MAX = static_cast(4); +constexpr int DefElemAction_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +DefElemAction_descriptor(); +template +const std::string& DefElemAction_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to DefElemAction_Name()."); + return DefElemAction_Name(static_cast(value)); +} +template <> +inline const std::string& DefElemAction_Name(DefElemAction value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool DefElemAction_Parse(absl::string_view name, DefElemAction* value) { + return ::google::protobuf::internal::ParseNamedEnum( + DefElemAction_descriptor(), name, value); +} +enum PartitionStrategy : int { + PARTITION_STRATEGY_UNDEFINED = 0, + PARTITION_STRATEGY_LIST = 1, + PARTITION_STRATEGY_RANGE = 2, + PARTITION_STRATEGY_HASH = 3, + PartitionStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + PartitionStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool PartitionStrategy_IsValid(int value); +extern const uint32_t PartitionStrategy_internal_data_[]; +constexpr PartitionStrategy PartitionStrategy_MIN = static_cast(0); +constexpr PartitionStrategy PartitionStrategy_MAX = static_cast(3); +constexpr int PartitionStrategy_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +PartitionStrategy_descriptor(); +template +const std::string& PartitionStrategy_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to PartitionStrategy_Name()."); + return PartitionStrategy_Name(static_cast(value)); +} +template <> +inline const std::string& PartitionStrategy_Name(PartitionStrategy value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool PartitionStrategy_Parse(absl::string_view name, PartitionStrategy* value) { + return ::google::protobuf::internal::ParseNamedEnum( + PartitionStrategy_descriptor(), name, value); } enum PartitionRangeDatumKind : int { PARTITION_RANGE_DATUM_KIND_UNDEFINED = 0, PARTITION_RANGE_DATUM_MINVALUE = 1, PARTITION_RANGE_DATUM_VALUE = 2, PARTITION_RANGE_DATUM_MAXVALUE = 3, - PartitionRangeDatumKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - PartitionRangeDatumKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + PartitionRangeDatumKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + PartitionRangeDatumKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool PartitionRangeDatumKind_IsValid(int value); -constexpr PartitionRangeDatumKind PartitionRangeDatumKind_MIN = PARTITION_RANGE_DATUM_KIND_UNDEFINED; -constexpr PartitionRangeDatumKind PartitionRangeDatumKind_MAX = PARTITION_RANGE_DATUM_MAXVALUE; -constexpr int PartitionRangeDatumKind_ARRAYSIZE = PartitionRangeDatumKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PartitionRangeDatumKind_descriptor(); -template -inline const std::string& PartitionRangeDatumKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function PartitionRangeDatumKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - PartitionRangeDatumKind_descriptor(), enum_t_value); -} -inline bool PartitionRangeDatumKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PartitionRangeDatumKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - PartitionRangeDatumKind_descriptor(), name, value); +extern const uint32_t PartitionRangeDatumKind_internal_data_[]; +constexpr PartitionRangeDatumKind PartitionRangeDatumKind_MIN = static_cast(0); +constexpr PartitionRangeDatumKind PartitionRangeDatumKind_MAX = static_cast(3); +constexpr int PartitionRangeDatumKind_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +PartitionRangeDatumKind_descriptor(); +template +const std::string& PartitionRangeDatumKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to PartitionRangeDatumKind_Name()."); + return PartitionRangeDatumKind_Name(static_cast(value)); +} +template <> +inline const std::string& PartitionRangeDatumKind_Name(PartitionRangeDatumKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool PartitionRangeDatumKind_Parse(absl::string_view name, PartitionRangeDatumKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + PartitionRangeDatumKind_descriptor(), name, value); } enum RTEKind : int { RTEKIND_UNDEFINED = 0, @@ -1325,27 +1266,35 @@ enum RTEKind : int { RTE_CTE = 7, RTE_NAMEDTUPLESTORE = 8, RTE_RESULT = 9, - RTEKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - RTEKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + RTEKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + RTEKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool RTEKind_IsValid(int value); -constexpr RTEKind RTEKind_MIN = RTEKIND_UNDEFINED; -constexpr RTEKind RTEKind_MAX = RTE_RESULT; -constexpr int RTEKind_ARRAYSIZE = RTEKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RTEKind_descriptor(); -template -inline const std::string& RTEKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RTEKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RTEKind_descriptor(), enum_t_value); -} -inline bool RTEKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RTEKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RTEKind_descriptor(), name, value); +extern const uint32_t RTEKind_internal_data_[]; +constexpr RTEKind RTEKind_MIN = static_cast(0); +constexpr RTEKind RTEKind_MAX = static_cast(9); +constexpr int RTEKind_ARRAYSIZE = 9 + 1; +const ::google::protobuf::EnumDescriptor* +RTEKind_descriptor(); +template +const std::string& RTEKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to RTEKind_Name()."); + return RTEKind_Name(static_cast(value)); +} +template <> +inline const std::string& RTEKind_Name(RTEKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool RTEKind_Parse(absl::string_view name, RTEKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + RTEKind_descriptor(), name, value); } enum WCOKind : int { WCOKIND_UNDEFINED = 0, @@ -1355,27 +1304,35 @@ enum WCOKind : int { WCO_RLS_CONFLICT_CHECK = 4, WCO_RLS_MERGE_UPDATE_CHECK = 5, WCO_RLS_MERGE_DELETE_CHECK = 6, - WCOKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - WCOKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + WCOKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + WCOKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool WCOKind_IsValid(int value); -constexpr WCOKind WCOKind_MIN = WCOKIND_UNDEFINED; -constexpr WCOKind WCOKind_MAX = WCO_RLS_MERGE_DELETE_CHECK; -constexpr int WCOKind_ARRAYSIZE = WCOKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* WCOKind_descriptor(); -template -inline const std::string& WCOKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function WCOKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - WCOKind_descriptor(), enum_t_value); -} -inline bool WCOKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, WCOKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - WCOKind_descriptor(), name, value); +extern const uint32_t WCOKind_internal_data_[]; +constexpr WCOKind WCOKind_MIN = static_cast(0); +constexpr WCOKind WCOKind_MAX = static_cast(6); +constexpr int WCOKind_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* +WCOKind_descriptor(); +template +const std::string& WCOKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to WCOKind_Name()."); + return WCOKind_Name(static_cast(value)); +} +template <> +inline const std::string& WCOKind_Name(WCOKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool WCOKind_Parse(absl::string_view name, WCOKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + WCOKind_descriptor(), name, value); } enum GroupingSetKind : int { GROUPING_SET_KIND_UNDEFINED = 0, @@ -1384,54 +1341,142 @@ enum GroupingSetKind : int { GROUPING_SET_ROLLUP = 3, GROUPING_SET_CUBE = 4, GROUPING_SET_SETS = 5, - GroupingSetKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - GroupingSetKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + GroupingSetKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + GroupingSetKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool GroupingSetKind_IsValid(int value); -constexpr GroupingSetKind GroupingSetKind_MIN = GROUPING_SET_KIND_UNDEFINED; -constexpr GroupingSetKind GroupingSetKind_MAX = GROUPING_SET_SETS; -constexpr int GroupingSetKind_ARRAYSIZE = GroupingSetKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GroupingSetKind_descriptor(); -template -inline const std::string& GroupingSetKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function GroupingSetKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - GroupingSetKind_descriptor(), enum_t_value); -} -inline bool GroupingSetKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GroupingSetKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - GroupingSetKind_descriptor(), name, value); +extern const uint32_t GroupingSetKind_internal_data_[]; +constexpr GroupingSetKind GroupingSetKind_MIN = static_cast(0); +constexpr GroupingSetKind GroupingSetKind_MAX = static_cast(5); +constexpr int GroupingSetKind_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +GroupingSetKind_descriptor(); +template +const std::string& GroupingSetKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to GroupingSetKind_Name()."); + return GroupingSetKind_Name(static_cast(value)); +} +template <> +inline const std::string& GroupingSetKind_Name(GroupingSetKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool GroupingSetKind_Parse(absl::string_view name, GroupingSetKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + GroupingSetKind_descriptor(), name, value); } enum CTEMaterialize : int { CTEMATERIALIZE_UNDEFINED = 0, CTEMaterializeDefault = 1, CTEMaterializeAlways = 2, CTEMaterializeNever = 3, - CTEMaterialize_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - CTEMaterialize_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + CTEMaterialize_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CTEMaterialize_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool CTEMaterialize_IsValid(int value); -constexpr CTEMaterialize CTEMaterialize_MIN = CTEMATERIALIZE_UNDEFINED; -constexpr CTEMaterialize CTEMaterialize_MAX = CTEMaterializeNever; -constexpr int CTEMaterialize_ARRAYSIZE = CTEMaterialize_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CTEMaterialize_descriptor(); -template -inline const std::string& CTEMaterialize_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function CTEMaterialize_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - CTEMaterialize_descriptor(), enum_t_value); -} -inline bool CTEMaterialize_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CTEMaterialize* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - CTEMaterialize_descriptor(), name, value); +extern const uint32_t CTEMaterialize_internal_data_[]; +constexpr CTEMaterialize CTEMaterialize_MIN = static_cast(0); +constexpr CTEMaterialize CTEMaterialize_MAX = static_cast(3); +constexpr int CTEMaterialize_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +CTEMaterialize_descriptor(); +template +const std::string& CTEMaterialize_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CTEMaterialize_Name()."); + return CTEMaterialize_Name(static_cast(value)); +} +template <> +inline const std::string& CTEMaterialize_Name(CTEMaterialize value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool CTEMaterialize_Parse(absl::string_view name, CTEMaterialize* value) { + return ::google::protobuf::internal::ParseNamedEnum( + CTEMaterialize_descriptor(), name, value); +} +enum JsonQuotes : int { + JSON_QUOTES_UNDEFINED = 0, + JS_QUOTES_UNSPEC = 1, + JS_QUOTES_KEEP = 2, + JS_QUOTES_OMIT = 3, + JsonQuotes_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonQuotes_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonQuotes_IsValid(int value); +extern const uint32_t JsonQuotes_internal_data_[]; +constexpr JsonQuotes JsonQuotes_MIN = static_cast(0); +constexpr JsonQuotes JsonQuotes_MAX = static_cast(3); +constexpr int JsonQuotes_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +JsonQuotes_descriptor(); +template +const std::string& JsonQuotes_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonQuotes_Name()."); + return JsonQuotes_Name(static_cast(value)); +} +template <> +inline const std::string& JsonQuotes_Name(JsonQuotes value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonQuotes_Parse(absl::string_view name, JsonQuotes* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonQuotes_descriptor(), name, value); +} +enum JsonTableColumnType : int { + JSON_TABLE_COLUMN_TYPE_UNDEFINED = 0, + JTC_FOR_ORDINALITY = 1, + JTC_REGULAR = 2, + JTC_EXISTS = 3, + JTC_FORMATTED = 4, + JTC_NESTED = 5, + JsonTableColumnType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonTableColumnType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonTableColumnType_IsValid(int value); +extern const uint32_t JsonTableColumnType_internal_data_[]; +constexpr JsonTableColumnType JsonTableColumnType_MIN = static_cast(0); +constexpr JsonTableColumnType JsonTableColumnType_MAX = static_cast(5); +constexpr int JsonTableColumnType_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +JsonTableColumnType_descriptor(); +template +const std::string& JsonTableColumnType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonTableColumnType_Name()."); + return JsonTableColumnType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonTableColumnType_Name(JsonTableColumnType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonTableColumnType_Parse(absl::string_view name, JsonTableColumnType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonTableColumnType_descriptor(), name, value); } enum SetOperation : int { SET_OPERATION_UNDEFINED = 0, @@ -1439,27 +1484,35 @@ enum SetOperation : int { SETOP_UNION = 2, SETOP_INTERSECT = 3, SETOP_EXCEPT = 4, - SetOperation_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SetOperation_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SetOperation_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SetOperation_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SetOperation_IsValid(int value); -constexpr SetOperation SetOperation_MIN = SET_OPERATION_UNDEFINED; -constexpr SetOperation SetOperation_MAX = SETOP_EXCEPT; -constexpr int SetOperation_ARRAYSIZE = SetOperation_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOperation_descriptor(); -template -inline const std::string& SetOperation_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SetOperation_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SetOperation_descriptor(), enum_t_value); -} -inline bool SetOperation_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SetOperation* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SetOperation_descriptor(), name, value); +extern const uint32_t SetOperation_internal_data_[]; +constexpr SetOperation SetOperation_MIN = static_cast(0); +constexpr SetOperation SetOperation_MAX = static_cast(4); +constexpr int SetOperation_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +SetOperation_descriptor(); +template +const std::string& SetOperation_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SetOperation_Name()."); + return SetOperation_Name(static_cast(value)); +} +template <> +inline const std::string& SetOperation_Name(SetOperation value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SetOperation_Parse(absl::string_view name, SetOperation* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SetOperation_descriptor(), name, value); } enum ObjectType : int { OBJECT_TYPE_UNDEFINED = 0, @@ -1515,63 +1568,79 @@ enum ObjectType : int { OBJECT_TYPE = 50, OBJECT_USER_MAPPING = 51, OBJECT_VIEW = 52, - ObjectType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ObjectType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ObjectType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ObjectType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ObjectType_IsValid(int value); -constexpr ObjectType ObjectType_MIN = OBJECT_TYPE_UNDEFINED; -constexpr ObjectType ObjectType_MAX = OBJECT_VIEW; -constexpr int ObjectType_ARRAYSIZE = ObjectType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ObjectType_descriptor(); -template -inline const std::string& ObjectType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ObjectType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ObjectType_descriptor(), enum_t_value); -} -inline bool ObjectType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ObjectType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ObjectType_descriptor(), name, value); +extern const uint32_t ObjectType_internal_data_[]; +constexpr ObjectType ObjectType_MIN = static_cast(0); +constexpr ObjectType ObjectType_MAX = static_cast(52); +constexpr int ObjectType_ARRAYSIZE = 52 + 1; +const ::google::protobuf::EnumDescriptor* +ObjectType_descriptor(); +template +const std::string& ObjectType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ObjectType_Name()."); + return ObjectType_Name(static_cast(value)); +} +template <> +inline const std::string& ObjectType_Name(ObjectType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ObjectType_Parse(absl::string_view name, ObjectType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ObjectType_descriptor(), name, value); } enum DropBehavior : int { DROP_BEHAVIOR_UNDEFINED = 0, DROP_RESTRICT = 1, DROP_CASCADE = 2, - DropBehavior_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - DropBehavior_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + DropBehavior_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + DropBehavior_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool DropBehavior_IsValid(int value); -constexpr DropBehavior DropBehavior_MIN = DROP_BEHAVIOR_UNDEFINED; -constexpr DropBehavior DropBehavior_MAX = DROP_CASCADE; -constexpr int DropBehavior_ARRAYSIZE = DropBehavior_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DropBehavior_descriptor(); -template -inline const std::string& DropBehavior_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DropBehavior_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - DropBehavior_descriptor(), enum_t_value); -} -inline bool DropBehavior_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DropBehavior* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - DropBehavior_descriptor(), name, value); +extern const uint32_t DropBehavior_internal_data_[]; +constexpr DropBehavior DropBehavior_MIN = static_cast(0); +constexpr DropBehavior DropBehavior_MAX = static_cast(2); +constexpr int DropBehavior_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +DropBehavior_descriptor(); +template +const std::string& DropBehavior_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to DropBehavior_Name()."); + return DropBehavior_Name(static_cast(value)); +} +template <> +inline const std::string& DropBehavior_Name(DropBehavior value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool DropBehavior_Parse(absl::string_view name, DropBehavior* value) { + return ::google::protobuf::internal::ParseNamedEnum( + DropBehavior_descriptor(), name, value); } enum AlterTableType : int { ALTER_TABLE_TYPE_UNDEFINED = 0, AT_AddColumn = 1, - AT_AddColumnRecurse = 2, - AT_AddColumnToView = 3, - AT_ColumnDefault = 4, - AT_CookedColumnDefault = 5, - AT_DropNotNull = 6, - AT_SetNotNull = 7, + AT_AddColumnToView = 2, + AT_ColumnDefault = 3, + AT_CookedColumnDefault = 4, + AT_DropNotNull = 5, + AT_SetNotNull = 6, + AT_SetExpression = 7, AT_DropExpression = 8, AT_CheckNotNull = 9, AT_SetStatistics = 10, @@ -1580,110 +1649,122 @@ enum AlterTableType : int { AT_SetStorage = 13, AT_SetCompression = 14, AT_DropColumn = 15, - AT_DropColumnRecurse = 16, - AT_AddIndex = 17, - AT_ReAddIndex = 18, - AT_AddConstraint = 19, - AT_AddConstraintRecurse = 20, - AT_ReAddConstraint = 21, - AT_ReAddDomainConstraint = 22, - AT_AlterConstraint = 23, - AT_ValidateConstraint = 24, - AT_ValidateConstraintRecurse = 25, - AT_AddIndexConstraint = 26, - AT_DropConstraint = 27, - AT_DropConstraintRecurse = 28, - AT_ReAddComment = 29, - AT_AlterColumnType = 30, - AT_AlterColumnGenericOptions = 31, - AT_ChangeOwner = 32, - AT_ClusterOn = 33, - AT_DropCluster = 34, - AT_SetLogged = 35, - AT_SetUnLogged = 36, - AT_DropOids = 37, - AT_SetAccessMethod = 38, - AT_SetTableSpace = 39, - AT_SetRelOptions = 40, - AT_ResetRelOptions = 41, - AT_ReplaceRelOptions = 42, - AT_EnableTrig = 43, - AT_EnableAlwaysTrig = 44, - AT_EnableReplicaTrig = 45, - AT_DisableTrig = 46, - AT_EnableTrigAll = 47, - AT_DisableTrigAll = 48, - AT_EnableTrigUser = 49, - AT_DisableTrigUser = 50, - AT_EnableRule = 51, - AT_EnableAlwaysRule = 52, - AT_EnableReplicaRule = 53, - AT_DisableRule = 54, - AT_AddInherit = 55, - AT_DropInherit = 56, - AT_AddOf = 57, - AT_DropOf = 58, - AT_ReplicaIdentity = 59, - AT_EnableRowSecurity = 60, - AT_DisableRowSecurity = 61, - AT_ForceRowSecurity = 62, - AT_NoForceRowSecurity = 63, - AT_GenericOptions = 64, - AT_AttachPartition = 65, - AT_DetachPartition = 66, - AT_DetachPartitionFinalize = 67, - AT_AddIdentity = 68, - AT_SetIdentity = 69, - AT_DropIdentity = 70, - AT_ReAddStatistics = 71, - AlterTableType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AlterTableType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AT_AddIndex = 16, + AT_ReAddIndex = 17, + AT_AddConstraint = 18, + AT_ReAddConstraint = 19, + AT_ReAddDomainConstraint = 20, + AT_AlterConstraint = 21, + AT_ValidateConstraint = 22, + AT_AddIndexConstraint = 23, + AT_DropConstraint = 24, + AT_ReAddComment = 25, + AT_AlterColumnType = 26, + AT_AlterColumnGenericOptions = 27, + AT_ChangeOwner = 28, + AT_ClusterOn = 29, + AT_DropCluster = 30, + AT_SetLogged = 31, + AT_SetUnLogged = 32, + AT_DropOids = 33, + AT_SetAccessMethod = 34, + AT_SetTableSpace = 35, + AT_SetRelOptions = 36, + AT_ResetRelOptions = 37, + AT_ReplaceRelOptions = 38, + AT_EnableTrig = 39, + AT_EnableAlwaysTrig = 40, + AT_EnableReplicaTrig = 41, + AT_DisableTrig = 42, + AT_EnableTrigAll = 43, + AT_DisableTrigAll = 44, + AT_EnableTrigUser = 45, + AT_DisableTrigUser = 46, + AT_EnableRule = 47, + AT_EnableAlwaysRule = 48, + AT_EnableReplicaRule = 49, + AT_DisableRule = 50, + AT_AddInherit = 51, + AT_DropInherit = 52, + AT_AddOf = 53, + AT_DropOf = 54, + AT_ReplicaIdentity = 55, + AT_EnableRowSecurity = 56, + AT_DisableRowSecurity = 57, + AT_ForceRowSecurity = 58, + AT_NoForceRowSecurity = 59, + AT_GenericOptions = 60, + AT_AttachPartition = 61, + AT_DetachPartition = 62, + AT_DetachPartitionFinalize = 63, + AT_AddIdentity = 64, + AT_SetIdentity = 65, + AT_DropIdentity = 66, + AT_ReAddStatistics = 67, + AlterTableType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AlterTableType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AlterTableType_IsValid(int value); -constexpr AlterTableType AlterTableType_MIN = ALTER_TABLE_TYPE_UNDEFINED; -constexpr AlterTableType AlterTableType_MAX = AT_ReAddStatistics; -constexpr int AlterTableType_ARRAYSIZE = AlterTableType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterTableType_descriptor(); -template -inline const std::string& AlterTableType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AlterTableType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AlterTableType_descriptor(), enum_t_value); -} -inline bool AlterTableType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AlterTableType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AlterTableType_descriptor(), name, value); +extern const uint32_t AlterTableType_internal_data_[]; +constexpr AlterTableType AlterTableType_MIN = static_cast(0); +constexpr AlterTableType AlterTableType_MAX = static_cast(67); +constexpr int AlterTableType_ARRAYSIZE = 67 + 1; +const ::google::protobuf::EnumDescriptor* +AlterTableType_descriptor(); +template +const std::string& AlterTableType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AlterTableType_Name()."); + return AlterTableType_Name(static_cast(value)); +} +template <> +inline const std::string& AlterTableType_Name(AlterTableType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AlterTableType_Parse(absl::string_view name, AlterTableType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AlterTableType_descriptor(), name, value); } enum GrantTargetType : int { GRANT_TARGET_TYPE_UNDEFINED = 0, ACL_TARGET_OBJECT = 1, ACL_TARGET_ALL_IN_SCHEMA = 2, ACL_TARGET_DEFAULTS = 3, - GrantTargetType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - GrantTargetType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + GrantTargetType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + GrantTargetType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool GrantTargetType_IsValid(int value); -constexpr GrantTargetType GrantTargetType_MIN = GRANT_TARGET_TYPE_UNDEFINED; -constexpr GrantTargetType GrantTargetType_MAX = ACL_TARGET_DEFAULTS; -constexpr int GrantTargetType_ARRAYSIZE = GrantTargetType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GrantTargetType_descriptor(); -template -inline const std::string& GrantTargetType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function GrantTargetType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - GrantTargetType_descriptor(), enum_t_value); -} -inline bool GrantTargetType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GrantTargetType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - GrantTargetType_descriptor(), name, value); +extern const uint32_t GrantTargetType_internal_data_[]; +constexpr GrantTargetType GrantTargetType_MIN = static_cast(0); +constexpr GrantTargetType GrantTargetType_MAX = static_cast(3); +constexpr int GrantTargetType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +GrantTargetType_descriptor(); +template +const std::string& GrantTargetType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to GrantTargetType_Name()."); + return GrantTargetType_Name(static_cast(value)); +} +template <> +inline const std::string& GrantTargetType_Name(GrantTargetType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool GrantTargetType_Parse(absl::string_view name, GrantTargetType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + GrantTargetType_descriptor(), name, value); } enum VariableSetKind : int { VARIABLE_SET_KIND_UNDEFINED = 0, @@ -1693,27 +1774,35 @@ enum VariableSetKind : int { VAR_SET_MULTI = 4, VAR_RESET = 5, VAR_RESET_ALL = 6, - VariableSetKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - VariableSetKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + VariableSetKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + VariableSetKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool VariableSetKind_IsValid(int value); -constexpr VariableSetKind VariableSetKind_MIN = VARIABLE_SET_KIND_UNDEFINED; -constexpr VariableSetKind VariableSetKind_MAX = VAR_RESET_ALL; -constexpr int VariableSetKind_ARRAYSIZE = VariableSetKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* VariableSetKind_descriptor(); -template -inline const std::string& VariableSetKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function VariableSetKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - VariableSetKind_descriptor(), enum_t_value); -} -inline bool VariableSetKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, VariableSetKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - VariableSetKind_descriptor(), name, value); +extern const uint32_t VariableSetKind_internal_data_[]; +constexpr VariableSetKind VariableSetKind_MIN = static_cast(0); +constexpr VariableSetKind VariableSetKind_MAX = static_cast(6); +constexpr int VariableSetKind_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* +VariableSetKind_descriptor(); +template +const std::string& VariableSetKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to VariableSetKind_Name()."); + return VariableSetKind_Name(static_cast(value)); +} +template <> +inline const std::string& VariableSetKind_Name(VariableSetKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool VariableSetKind_Parse(absl::string_view name, VariableSetKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + VariableSetKind_descriptor(), name, value); } enum ConstrType : int { CONSTR_TYPE_UNDEFINED = 0, @@ -1731,81 +1820,105 @@ enum ConstrType : int { CONSTR_ATTR_NOT_DEFERRABLE = 12, CONSTR_ATTR_DEFERRED = 13, CONSTR_ATTR_IMMEDIATE = 14, - ConstrType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ConstrType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ConstrType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ConstrType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ConstrType_IsValid(int value); -constexpr ConstrType ConstrType_MIN = CONSTR_TYPE_UNDEFINED; -constexpr ConstrType ConstrType_MAX = CONSTR_ATTR_IMMEDIATE; -constexpr int ConstrType_ARRAYSIZE = ConstrType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ConstrType_descriptor(); -template -inline const std::string& ConstrType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ConstrType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ConstrType_descriptor(), enum_t_value); -} -inline bool ConstrType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ConstrType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ConstrType_descriptor(), name, value); +extern const uint32_t ConstrType_internal_data_[]; +constexpr ConstrType ConstrType_MIN = static_cast(0); +constexpr ConstrType ConstrType_MAX = static_cast(14); +constexpr int ConstrType_ARRAYSIZE = 14 + 1; +const ::google::protobuf::EnumDescriptor* +ConstrType_descriptor(); +template +const std::string& ConstrType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ConstrType_Name()."); + return ConstrType_Name(static_cast(value)); +} +template <> +inline const std::string& ConstrType_Name(ConstrType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ConstrType_Parse(absl::string_view name, ConstrType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ConstrType_descriptor(), name, value); } enum ImportForeignSchemaType : int { IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED = 0, FDW_IMPORT_SCHEMA_ALL = 1, FDW_IMPORT_SCHEMA_LIMIT_TO = 2, FDW_IMPORT_SCHEMA_EXCEPT = 3, - ImportForeignSchemaType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ImportForeignSchemaType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ImportForeignSchemaType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ImportForeignSchemaType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ImportForeignSchemaType_IsValid(int value); -constexpr ImportForeignSchemaType ImportForeignSchemaType_MIN = IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED; -constexpr ImportForeignSchemaType ImportForeignSchemaType_MAX = FDW_IMPORT_SCHEMA_EXCEPT; -constexpr int ImportForeignSchemaType_ARRAYSIZE = ImportForeignSchemaType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ImportForeignSchemaType_descriptor(); -template -inline const std::string& ImportForeignSchemaType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ImportForeignSchemaType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ImportForeignSchemaType_descriptor(), enum_t_value); -} -inline bool ImportForeignSchemaType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ImportForeignSchemaType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ImportForeignSchemaType_descriptor(), name, value); +extern const uint32_t ImportForeignSchemaType_internal_data_[]; +constexpr ImportForeignSchemaType ImportForeignSchemaType_MIN = static_cast(0); +constexpr ImportForeignSchemaType ImportForeignSchemaType_MAX = static_cast(3); +constexpr int ImportForeignSchemaType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +ImportForeignSchemaType_descriptor(); +template +const std::string& ImportForeignSchemaType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ImportForeignSchemaType_Name()."); + return ImportForeignSchemaType_Name(static_cast(value)); +} +template <> +inline const std::string& ImportForeignSchemaType_Name(ImportForeignSchemaType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ImportForeignSchemaType_Parse(absl::string_view name, ImportForeignSchemaType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ImportForeignSchemaType_descriptor(), name, value); } enum RoleStmtType : int { ROLE_STMT_TYPE_UNDEFINED = 0, ROLESTMT_ROLE = 1, ROLESTMT_USER = 2, ROLESTMT_GROUP = 3, - RoleStmtType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - RoleStmtType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + RoleStmtType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + RoleStmtType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool RoleStmtType_IsValid(int value); -constexpr RoleStmtType RoleStmtType_MIN = ROLE_STMT_TYPE_UNDEFINED; -constexpr RoleStmtType RoleStmtType_MAX = ROLESTMT_GROUP; -constexpr int RoleStmtType_ARRAYSIZE = RoleStmtType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RoleStmtType_descriptor(); -template -inline const std::string& RoleStmtType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RoleStmtType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RoleStmtType_descriptor(), enum_t_value); -} -inline bool RoleStmtType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RoleStmtType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RoleStmtType_descriptor(), name, value); +extern const uint32_t RoleStmtType_internal_data_[]; +constexpr RoleStmtType RoleStmtType_MIN = static_cast(0); +constexpr RoleStmtType RoleStmtType_MAX = static_cast(3); +constexpr int RoleStmtType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +RoleStmtType_descriptor(); +template +const std::string& RoleStmtType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to RoleStmtType_Name()."); + return RoleStmtType_Name(static_cast(value)); +} +template <> +inline const std::string& RoleStmtType_Name(RoleStmtType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool RoleStmtType_Parse(absl::string_view name, RoleStmtType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + RoleStmtType_descriptor(), name, value); } enum FetchDirection : int { FETCH_DIRECTION_UNDEFINED = 0, @@ -1813,27 +1926,35 @@ enum FetchDirection : int { FETCH_BACKWARD = 2, FETCH_ABSOLUTE = 3, FETCH_RELATIVE = 4, - FetchDirection_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - FetchDirection_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + FetchDirection_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + FetchDirection_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool FetchDirection_IsValid(int value); -constexpr FetchDirection FetchDirection_MIN = FETCH_DIRECTION_UNDEFINED; -constexpr FetchDirection FetchDirection_MAX = FETCH_RELATIVE; -constexpr int FetchDirection_ARRAYSIZE = FetchDirection_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FetchDirection_descriptor(); -template -inline const std::string& FetchDirection_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function FetchDirection_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - FetchDirection_descriptor(), enum_t_value); -} -inline bool FetchDirection_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FetchDirection* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - FetchDirection_descriptor(), name, value); +extern const uint32_t FetchDirection_internal_data_[]; +constexpr FetchDirection FetchDirection_MIN = static_cast(0); +constexpr FetchDirection FetchDirection_MAX = static_cast(4); +constexpr int FetchDirection_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +FetchDirection_descriptor(); +template +const std::string& FetchDirection_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to FetchDirection_Name()."); + return FetchDirection_Name(static_cast(value)); +} +template <> +inline const std::string& FetchDirection_Name(FetchDirection value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool FetchDirection_Parse(absl::string_view name, FetchDirection* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FetchDirection_descriptor(), name, value); } enum FunctionParameterMode : int { FUNCTION_PARAMETER_MODE_UNDEFINED = 0, @@ -1843,27 +1964,35 @@ enum FunctionParameterMode : int { FUNC_PARAM_VARIADIC = 4, FUNC_PARAM_TABLE = 5, FUNC_PARAM_DEFAULT = 6, - FunctionParameterMode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - FunctionParameterMode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + FunctionParameterMode_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + FunctionParameterMode_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool FunctionParameterMode_IsValid(int value); -constexpr FunctionParameterMode FunctionParameterMode_MIN = FUNCTION_PARAMETER_MODE_UNDEFINED; -constexpr FunctionParameterMode FunctionParameterMode_MAX = FUNC_PARAM_DEFAULT; -constexpr int FunctionParameterMode_ARRAYSIZE = FunctionParameterMode_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* FunctionParameterMode_descriptor(); -template -inline const std::string& FunctionParameterMode_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function FunctionParameterMode_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - FunctionParameterMode_descriptor(), enum_t_value); -} -inline bool FunctionParameterMode_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, FunctionParameterMode* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - FunctionParameterMode_descriptor(), name, value); +extern const uint32_t FunctionParameterMode_internal_data_[]; +constexpr FunctionParameterMode FunctionParameterMode_MIN = static_cast(0); +constexpr FunctionParameterMode FunctionParameterMode_MAX = static_cast(6); +constexpr int FunctionParameterMode_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* +FunctionParameterMode_descriptor(); +template +const std::string& FunctionParameterMode_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to FunctionParameterMode_Name()."); + return FunctionParameterMode_Name(static_cast(value)); +} +template <> +inline const std::string& FunctionParameterMode_Name(FunctionParameterMode value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool FunctionParameterMode_Parse(absl::string_view name, FunctionParameterMode* value) { + return ::google::protobuf::internal::ParseNamedEnum( + FunctionParameterMode_descriptor(), name, value); } enum TransactionStmtKind : int { TRANSACTION_STMT_KIND_UNDEFINED = 0, @@ -1877,54 +2006,70 @@ enum TransactionStmtKind : int { TRANS_STMT_PREPARE = 8, TRANS_STMT_COMMIT_PREPARED = 9, TRANS_STMT_ROLLBACK_PREPARED = 10, - TransactionStmtKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - TransactionStmtKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + TransactionStmtKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + TransactionStmtKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool TransactionStmtKind_IsValid(int value); -constexpr TransactionStmtKind TransactionStmtKind_MIN = TRANSACTION_STMT_KIND_UNDEFINED; -constexpr TransactionStmtKind TransactionStmtKind_MAX = TRANS_STMT_ROLLBACK_PREPARED; -constexpr int TransactionStmtKind_ARRAYSIZE = TransactionStmtKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TransactionStmtKind_descriptor(); -template -inline const std::string& TransactionStmtKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function TransactionStmtKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - TransactionStmtKind_descriptor(), enum_t_value); -} -inline bool TransactionStmtKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TransactionStmtKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - TransactionStmtKind_descriptor(), name, value); +extern const uint32_t TransactionStmtKind_internal_data_[]; +constexpr TransactionStmtKind TransactionStmtKind_MIN = static_cast(0); +constexpr TransactionStmtKind TransactionStmtKind_MAX = static_cast(10); +constexpr int TransactionStmtKind_ARRAYSIZE = 10 + 1; +const ::google::protobuf::EnumDescriptor* +TransactionStmtKind_descriptor(); +template +const std::string& TransactionStmtKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to TransactionStmtKind_Name()."); + return TransactionStmtKind_Name(static_cast(value)); +} +template <> +inline const std::string& TransactionStmtKind_Name(TransactionStmtKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool TransactionStmtKind_Parse(absl::string_view name, TransactionStmtKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + TransactionStmtKind_descriptor(), name, value); } enum ViewCheckOption : int { VIEW_CHECK_OPTION_UNDEFINED = 0, NO_CHECK_OPTION = 1, LOCAL_CHECK_OPTION = 2, CASCADED_CHECK_OPTION = 3, - ViewCheckOption_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ViewCheckOption_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ViewCheckOption_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ViewCheckOption_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ViewCheckOption_IsValid(int value); -constexpr ViewCheckOption ViewCheckOption_MIN = VIEW_CHECK_OPTION_UNDEFINED; -constexpr ViewCheckOption ViewCheckOption_MAX = CASCADED_CHECK_OPTION; -constexpr int ViewCheckOption_ARRAYSIZE = ViewCheckOption_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ViewCheckOption_descriptor(); -template -inline const std::string& ViewCheckOption_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ViewCheckOption_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ViewCheckOption_descriptor(), enum_t_value); -} -inline bool ViewCheckOption_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ViewCheckOption* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ViewCheckOption_descriptor(), name, value); +extern const uint32_t ViewCheckOption_internal_data_[]; +constexpr ViewCheckOption ViewCheckOption_MIN = static_cast(0); +constexpr ViewCheckOption ViewCheckOption_MAX = static_cast(3); +constexpr int ViewCheckOption_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +ViewCheckOption_descriptor(); +template +const std::string& ViewCheckOption_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ViewCheckOption_Name()."); + return ViewCheckOption_Name(static_cast(value)); +} +template <> +inline const std::string& ViewCheckOption_Name(ViewCheckOption value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ViewCheckOption_Parse(absl::string_view name, ViewCheckOption* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ViewCheckOption_descriptor(), name, value); } enum DiscardMode : int { DISCARD_MODE_UNDEFINED = 0, @@ -1932,27 +2077,35 @@ enum DiscardMode : int { DISCARD_PLANS = 2, DISCARD_SEQUENCES = 3, DISCARD_TEMP = 4, - DiscardMode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - DiscardMode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + DiscardMode_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + DiscardMode_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool DiscardMode_IsValid(int value); -constexpr DiscardMode DiscardMode_MIN = DISCARD_MODE_UNDEFINED; -constexpr DiscardMode DiscardMode_MAX = DISCARD_TEMP; -constexpr int DiscardMode_ARRAYSIZE = DiscardMode_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DiscardMode_descriptor(); -template -inline const std::string& DiscardMode_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function DiscardMode_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - DiscardMode_descriptor(), enum_t_value); -} -inline bool DiscardMode_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, DiscardMode* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - DiscardMode_descriptor(), name, value); +extern const uint32_t DiscardMode_internal_data_[]; +constexpr DiscardMode DiscardMode_MIN = static_cast(0); +constexpr DiscardMode DiscardMode_MAX = static_cast(4); +constexpr int DiscardMode_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +DiscardMode_descriptor(); +template +const std::string& DiscardMode_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to DiscardMode_Name()."); + return DiscardMode_Name(static_cast(value)); +} +template <> +inline const std::string& DiscardMode_Name(DiscardMode value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool DiscardMode_Parse(absl::string_view name, DiscardMode* value) { + return ::google::protobuf::internal::ParseNamedEnum( + DiscardMode_descriptor(), name, value); } enum ReindexObjectType : int { REINDEX_OBJECT_TYPE_UNDEFINED = 0, @@ -1961,27 +2114,35 @@ enum ReindexObjectType : int { REINDEX_OBJECT_SCHEMA = 3, REINDEX_OBJECT_SYSTEM = 4, REINDEX_OBJECT_DATABASE = 5, - ReindexObjectType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ReindexObjectType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ReindexObjectType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ReindexObjectType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ReindexObjectType_IsValid(int value); -constexpr ReindexObjectType ReindexObjectType_MIN = REINDEX_OBJECT_TYPE_UNDEFINED; -constexpr ReindexObjectType ReindexObjectType_MAX = REINDEX_OBJECT_DATABASE; -constexpr int ReindexObjectType_ARRAYSIZE = ReindexObjectType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ReindexObjectType_descriptor(); -template -inline const std::string& ReindexObjectType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ReindexObjectType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ReindexObjectType_descriptor(), enum_t_value); -} -inline bool ReindexObjectType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ReindexObjectType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ReindexObjectType_descriptor(), name, value); +extern const uint32_t ReindexObjectType_internal_data_[]; +constexpr ReindexObjectType ReindexObjectType_MIN = static_cast(0); +constexpr ReindexObjectType ReindexObjectType_MAX = static_cast(5); +constexpr int ReindexObjectType_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +ReindexObjectType_descriptor(); +template +const std::string& ReindexObjectType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ReindexObjectType_Name()."); + return ReindexObjectType_Name(static_cast(value)); +} +template <> +inline const std::string& ReindexObjectType_Name(ReindexObjectType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ReindexObjectType_Parse(absl::string_view name, ReindexObjectType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ReindexObjectType_descriptor(), name, value); } enum AlterTSConfigType : int { ALTER_TSCONFIG_TYPE_UNDEFINED = 0, @@ -1990,27 +2151,35 @@ enum AlterTSConfigType : int { ALTER_TSCONFIG_REPLACE_DICT = 3, ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN = 4, ALTER_TSCONFIG_DROP_MAPPING = 5, - AlterTSConfigType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AlterTSConfigType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AlterTSConfigType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AlterTSConfigType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AlterTSConfigType_IsValid(int value); -constexpr AlterTSConfigType AlterTSConfigType_MIN = ALTER_TSCONFIG_TYPE_UNDEFINED; -constexpr AlterTSConfigType AlterTSConfigType_MAX = ALTER_TSCONFIG_DROP_MAPPING; -constexpr int AlterTSConfigType_ARRAYSIZE = AlterTSConfigType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterTSConfigType_descriptor(); -template -inline const std::string& AlterTSConfigType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AlterTSConfigType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AlterTSConfigType_descriptor(), enum_t_value); -} -inline bool AlterTSConfigType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AlterTSConfigType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AlterTSConfigType_descriptor(), name, value); +extern const uint32_t AlterTSConfigType_internal_data_[]; +constexpr AlterTSConfigType AlterTSConfigType_MIN = static_cast(0); +constexpr AlterTSConfigType AlterTSConfigType_MAX = static_cast(5); +constexpr int AlterTSConfigType_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +AlterTSConfigType_descriptor(); +template +const std::string& AlterTSConfigType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AlterTSConfigType_Name()."); + return AlterTSConfigType_Name(static_cast(value)); +} +template <> +inline const std::string& AlterTSConfigType_Name(AlterTSConfigType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AlterTSConfigType_Parse(absl::string_view name, AlterTSConfigType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AlterTSConfigType_descriptor(), name, value); } enum PublicationObjSpecType : int { PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED = 0, @@ -2018,54 +2187,70 @@ enum PublicationObjSpecType : int { PUBLICATIONOBJ_TABLES_IN_SCHEMA = 2, PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA = 3, PUBLICATIONOBJ_CONTINUATION = 4, - PublicationObjSpecType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - PublicationObjSpecType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + PublicationObjSpecType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + PublicationObjSpecType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool PublicationObjSpecType_IsValid(int value); -constexpr PublicationObjSpecType PublicationObjSpecType_MIN = PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED; -constexpr PublicationObjSpecType PublicationObjSpecType_MAX = PUBLICATIONOBJ_CONTINUATION; -constexpr int PublicationObjSpecType_ARRAYSIZE = PublicationObjSpecType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* PublicationObjSpecType_descriptor(); -template -inline const std::string& PublicationObjSpecType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function PublicationObjSpecType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - PublicationObjSpecType_descriptor(), enum_t_value); -} -inline bool PublicationObjSpecType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, PublicationObjSpecType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - PublicationObjSpecType_descriptor(), name, value); +extern const uint32_t PublicationObjSpecType_internal_data_[]; +constexpr PublicationObjSpecType PublicationObjSpecType_MIN = static_cast(0); +constexpr PublicationObjSpecType PublicationObjSpecType_MAX = static_cast(4); +constexpr int PublicationObjSpecType_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +PublicationObjSpecType_descriptor(); +template +const std::string& PublicationObjSpecType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to PublicationObjSpecType_Name()."); + return PublicationObjSpecType_Name(static_cast(value)); +} +template <> +inline const std::string& PublicationObjSpecType_Name(PublicationObjSpecType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool PublicationObjSpecType_Parse(absl::string_view name, PublicationObjSpecType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + PublicationObjSpecType_descriptor(), name, value); } enum AlterPublicationAction : int { ALTER_PUBLICATION_ACTION_UNDEFINED = 0, AP_AddObjects = 1, AP_DropObjects = 2, AP_SetObjects = 3, - AlterPublicationAction_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AlterPublicationAction_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AlterPublicationAction_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AlterPublicationAction_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AlterPublicationAction_IsValid(int value); -constexpr AlterPublicationAction AlterPublicationAction_MIN = ALTER_PUBLICATION_ACTION_UNDEFINED; -constexpr AlterPublicationAction AlterPublicationAction_MAX = AP_SetObjects; -constexpr int AlterPublicationAction_ARRAYSIZE = AlterPublicationAction_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterPublicationAction_descriptor(); -template -inline const std::string& AlterPublicationAction_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AlterPublicationAction_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AlterPublicationAction_descriptor(), enum_t_value); -} -inline bool AlterPublicationAction_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AlterPublicationAction* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AlterPublicationAction_descriptor(), name, value); +extern const uint32_t AlterPublicationAction_internal_data_[]; +constexpr AlterPublicationAction AlterPublicationAction_MIN = static_cast(0); +constexpr AlterPublicationAction AlterPublicationAction_MAX = static_cast(3); +constexpr int AlterPublicationAction_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +AlterPublicationAction_descriptor(); +template +const std::string& AlterPublicationAction_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AlterPublicationAction_Name()."); + return AlterPublicationAction_Name(static_cast(value)); +} +template <> +inline const std::string& AlterPublicationAction_Name(AlterPublicationAction value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AlterPublicationAction_Parse(absl::string_view name, AlterPublicationAction* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AlterPublicationAction_descriptor(), name, value); } enum AlterSubscriptionType : int { ALTER_SUBSCRIPTION_TYPE_UNDEFINED = 0, @@ -2077,27 +2262,70 @@ enum AlterSubscriptionType : int { ALTER_SUBSCRIPTION_REFRESH = 6, ALTER_SUBSCRIPTION_ENABLED = 7, ALTER_SUBSCRIPTION_SKIP = 8, - AlterSubscriptionType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AlterSubscriptionType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AlterSubscriptionType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AlterSubscriptionType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AlterSubscriptionType_IsValid(int value); -constexpr AlterSubscriptionType AlterSubscriptionType_MIN = ALTER_SUBSCRIPTION_TYPE_UNDEFINED; -constexpr AlterSubscriptionType AlterSubscriptionType_MAX = ALTER_SUBSCRIPTION_SKIP; -constexpr int AlterSubscriptionType_ARRAYSIZE = AlterSubscriptionType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AlterSubscriptionType_descriptor(); -template -inline const std::string& AlterSubscriptionType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AlterSubscriptionType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AlterSubscriptionType_descriptor(), enum_t_value); -} -inline bool AlterSubscriptionType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AlterSubscriptionType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AlterSubscriptionType_descriptor(), name, value); +extern const uint32_t AlterSubscriptionType_internal_data_[]; +constexpr AlterSubscriptionType AlterSubscriptionType_MIN = static_cast(0); +constexpr AlterSubscriptionType AlterSubscriptionType_MAX = static_cast(8); +constexpr int AlterSubscriptionType_ARRAYSIZE = 8 + 1; +const ::google::protobuf::EnumDescriptor* +AlterSubscriptionType_descriptor(); +template +const std::string& AlterSubscriptionType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AlterSubscriptionType_Name()."); + return AlterSubscriptionType_Name(static_cast(value)); +} +template <> +inline const std::string& AlterSubscriptionType_Name(AlterSubscriptionType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AlterSubscriptionType_Parse(absl::string_view name, AlterSubscriptionType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AlterSubscriptionType_descriptor(), name, value); +} +enum OverridingKind : int { + OVERRIDING_KIND_UNDEFINED = 0, + OVERRIDING_NOT_SET = 1, + OVERRIDING_USER_VALUE = 2, + OVERRIDING_SYSTEM_VALUE = 3, + OverridingKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + OverridingKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool OverridingKind_IsValid(int value); +extern const uint32_t OverridingKind_internal_data_[]; +constexpr OverridingKind OverridingKind_MIN = static_cast(0); +constexpr OverridingKind OverridingKind_MAX = static_cast(3); +constexpr int OverridingKind_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +OverridingKind_descriptor(); +template +const std::string& OverridingKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to OverridingKind_Name()."); + return OverridingKind_Name(static_cast(value)); +} +template <> +inline const std::string& OverridingKind_Name(OverridingKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool OverridingKind_Parse(absl::string_view name, OverridingKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + OverridingKind_descriptor(), name, value); } enum OnCommitAction : int { ON_COMMIT_ACTION_UNDEFINED = 0, @@ -2105,27 +2333,69 @@ enum OnCommitAction : int { ONCOMMIT_PRESERVE_ROWS = 2, ONCOMMIT_DELETE_ROWS = 3, ONCOMMIT_DROP = 4, - OnCommitAction_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - OnCommitAction_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + OnCommitAction_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + OnCommitAction_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool OnCommitAction_IsValid(int value); -constexpr OnCommitAction OnCommitAction_MIN = ON_COMMIT_ACTION_UNDEFINED; -constexpr OnCommitAction OnCommitAction_MAX = ONCOMMIT_DROP; -constexpr int OnCommitAction_ARRAYSIZE = OnCommitAction_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OnCommitAction_descriptor(); -template -inline const std::string& OnCommitAction_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function OnCommitAction_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - OnCommitAction_descriptor(), enum_t_value); -} -inline bool OnCommitAction_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OnCommitAction* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - OnCommitAction_descriptor(), name, value); +extern const uint32_t OnCommitAction_internal_data_[]; +constexpr OnCommitAction OnCommitAction_MIN = static_cast(0); +constexpr OnCommitAction OnCommitAction_MAX = static_cast(4); +constexpr int OnCommitAction_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +OnCommitAction_descriptor(); +template +const std::string& OnCommitAction_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to OnCommitAction_Name()."); + return OnCommitAction_Name(static_cast(value)); +} +template <> +inline const std::string& OnCommitAction_Name(OnCommitAction value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool OnCommitAction_Parse(absl::string_view name, OnCommitAction* value) { + return ::google::protobuf::internal::ParseNamedEnum( + OnCommitAction_descriptor(), name, value); +} +enum TableFuncType : int { + TABLE_FUNC_TYPE_UNDEFINED = 0, + TFT_XMLTABLE = 1, + TFT_JSON_TABLE = 2, + TableFuncType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + TableFuncType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool TableFuncType_IsValid(int value); +extern const uint32_t TableFuncType_internal_data_[]; +constexpr TableFuncType TableFuncType_MIN = static_cast(0); +constexpr TableFuncType TableFuncType_MAX = static_cast(2); +constexpr int TableFuncType_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +TableFuncType_descriptor(); +template +const std::string& TableFuncType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to TableFuncType_Name()."); + return TableFuncType_Name(static_cast(value)); +} +template <> +inline const std::string& TableFuncType_Name(TableFuncType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool TableFuncType_Parse(absl::string_view name, TableFuncType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + TableFuncType_descriptor(), name, value); } enum ParamKind : int { PARAM_KIND_UNDEFINED = 0, @@ -2133,27 +2403,35 @@ enum ParamKind : int { PARAM_EXEC = 2, PARAM_SUBLINK = 3, PARAM_MULTIEXPR = 4, - ParamKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - ParamKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ParamKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + ParamKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool ParamKind_IsValid(int value); -constexpr ParamKind ParamKind_MIN = PARAM_KIND_UNDEFINED; -constexpr ParamKind ParamKind_MAX = PARAM_MULTIEXPR; -constexpr int ParamKind_ARRAYSIZE = ParamKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ParamKind_descriptor(); -template -inline const std::string& ParamKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function ParamKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - ParamKind_descriptor(), enum_t_value); -} -inline bool ParamKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ParamKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - ParamKind_descriptor(), name, value); +extern const uint32_t ParamKind_internal_data_[]; +constexpr ParamKind ParamKind_MIN = static_cast(0); +constexpr ParamKind ParamKind_MAX = static_cast(4); +constexpr int ParamKind_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +ParamKind_descriptor(); +template +const std::string& ParamKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to ParamKind_Name()."); + return ParamKind_Name(static_cast(value)); +} +template <> +inline const std::string& ParamKind_Name(ParamKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool ParamKind_Parse(absl::string_view name, ParamKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + ParamKind_descriptor(), name, value); } enum CoercionContext : int { COERCION_CONTEXT_UNDEFINED = 0, @@ -2161,27 +2439,35 @@ enum CoercionContext : int { COERCION_ASSIGNMENT = 2, COERCION_PLPGSQL = 3, COERCION_EXPLICIT = 4, - CoercionContext_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - CoercionContext_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + CoercionContext_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CoercionContext_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool CoercionContext_IsValid(int value); -constexpr CoercionContext CoercionContext_MIN = COERCION_CONTEXT_UNDEFINED; -constexpr CoercionContext CoercionContext_MAX = COERCION_EXPLICIT; -constexpr int CoercionContext_ARRAYSIZE = CoercionContext_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CoercionContext_descriptor(); -template -inline const std::string& CoercionContext_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function CoercionContext_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - CoercionContext_descriptor(), enum_t_value); -} -inline bool CoercionContext_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CoercionContext* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - CoercionContext_descriptor(), name, value); +extern const uint32_t CoercionContext_internal_data_[]; +constexpr CoercionContext CoercionContext_MIN = static_cast(0); +constexpr CoercionContext CoercionContext_MAX = static_cast(4); +constexpr int CoercionContext_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +CoercionContext_descriptor(); +template +const std::string& CoercionContext_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CoercionContext_Name()."); + return CoercionContext_Name(static_cast(value)); +} +template <> +inline const std::string& CoercionContext_Name(CoercionContext value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool CoercionContext_Parse(absl::string_view name, CoercionContext* value) { + return ::google::protobuf::internal::ParseNamedEnum( + CoercionContext_descriptor(), name, value); } enum CoercionForm : int { COERCION_FORM_UNDEFINED = 0, @@ -2189,54 +2475,70 @@ enum CoercionForm : int { COERCE_EXPLICIT_CAST = 2, COERCE_IMPLICIT_CAST = 3, COERCE_SQL_SYNTAX = 4, - CoercionForm_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - CoercionForm_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + CoercionForm_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CoercionForm_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool CoercionForm_IsValid(int value); -constexpr CoercionForm CoercionForm_MIN = COERCION_FORM_UNDEFINED; -constexpr CoercionForm CoercionForm_MAX = COERCE_SQL_SYNTAX; -constexpr int CoercionForm_ARRAYSIZE = CoercionForm_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CoercionForm_descriptor(); -template -inline const std::string& CoercionForm_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function CoercionForm_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - CoercionForm_descriptor(), enum_t_value); -} -inline bool CoercionForm_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CoercionForm* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - CoercionForm_descriptor(), name, value); +extern const uint32_t CoercionForm_internal_data_[]; +constexpr CoercionForm CoercionForm_MIN = static_cast(0); +constexpr CoercionForm CoercionForm_MAX = static_cast(4); +constexpr int CoercionForm_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +CoercionForm_descriptor(); +template +const std::string& CoercionForm_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CoercionForm_Name()."); + return CoercionForm_Name(static_cast(value)); +} +template <> +inline const std::string& CoercionForm_Name(CoercionForm value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool CoercionForm_Parse(absl::string_view name, CoercionForm* value) { + return ::google::protobuf::internal::ParseNamedEnum( + CoercionForm_descriptor(), name, value); } enum BoolExprType : int { BOOL_EXPR_TYPE_UNDEFINED = 0, AND_EXPR = 1, OR_EXPR = 2, NOT_EXPR = 3, - BoolExprType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - BoolExprType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + BoolExprType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + BoolExprType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool BoolExprType_IsValid(int value); -constexpr BoolExprType BoolExprType_MIN = BOOL_EXPR_TYPE_UNDEFINED; -constexpr BoolExprType BoolExprType_MAX = NOT_EXPR; -constexpr int BoolExprType_ARRAYSIZE = BoolExprType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoolExprType_descriptor(); -template -inline const std::string& BoolExprType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function BoolExprType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - BoolExprType_descriptor(), enum_t_value); -} -inline bool BoolExprType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BoolExprType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - BoolExprType_descriptor(), name, value); +extern const uint32_t BoolExprType_internal_data_[]; +constexpr BoolExprType BoolExprType_MIN = static_cast(0); +constexpr BoolExprType BoolExprType_MAX = static_cast(3); +constexpr int BoolExprType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +BoolExprType_descriptor(); +template +const std::string& BoolExprType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to BoolExprType_Name()."); + return BoolExprType_Name(static_cast(value)); +} +template <> +inline const std::string& BoolExprType_Name(BoolExprType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool BoolExprType_Parse(absl::string_view name, BoolExprType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + BoolExprType_descriptor(), name, value); } enum SubLinkType : int { SUB_LINK_TYPE_UNDEFINED = 0, @@ -2248,27 +2550,35 @@ enum SubLinkType : int { MULTIEXPR_SUBLINK = 6, ARRAY_SUBLINK = 7, CTE_SUBLINK = 8, - SubLinkType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SubLinkType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SubLinkType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SubLinkType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SubLinkType_IsValid(int value); -constexpr SubLinkType SubLinkType_MIN = SUB_LINK_TYPE_UNDEFINED; -constexpr SubLinkType SubLinkType_MAX = CTE_SUBLINK; -constexpr int SubLinkType_ARRAYSIZE = SubLinkType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SubLinkType_descriptor(); -template -inline const std::string& SubLinkType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SubLinkType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SubLinkType_descriptor(), enum_t_value); -} -inline bool SubLinkType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SubLinkType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SubLinkType_descriptor(), name, value); +extern const uint32_t SubLinkType_internal_data_[]; +constexpr SubLinkType SubLinkType_MIN = static_cast(0); +constexpr SubLinkType SubLinkType_MAX = static_cast(8); +constexpr int SubLinkType_ARRAYSIZE = 8 + 1; +const ::google::protobuf::EnumDescriptor* +SubLinkType_descriptor(); +template +const std::string& SubLinkType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SubLinkType_Name()."); + return SubLinkType_Name(static_cast(value)); +} +template <> +inline const std::string& SubLinkType_Name(SubLinkType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SubLinkType_Parse(absl::string_view name, SubLinkType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SubLinkType_descriptor(), name, value); } enum RowCompareType : int { ROW_COMPARE_TYPE_UNDEFINED = 0, @@ -2278,53 +2588,69 @@ enum RowCompareType : int { ROWCOMPARE_GE = 4, ROWCOMPARE_GT = 5, ROWCOMPARE_NE = 6, - RowCompareType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - RowCompareType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + RowCompareType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + RowCompareType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool RowCompareType_IsValid(int value); -constexpr RowCompareType RowCompareType_MIN = ROW_COMPARE_TYPE_UNDEFINED; -constexpr RowCompareType RowCompareType_MAX = ROWCOMPARE_NE; -constexpr int RowCompareType_ARRAYSIZE = RowCompareType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RowCompareType_descriptor(); -template -inline const std::string& RowCompareType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function RowCompareType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - RowCompareType_descriptor(), enum_t_value); -} -inline bool RowCompareType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, RowCompareType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - RowCompareType_descriptor(), name, value); +extern const uint32_t RowCompareType_internal_data_[]; +constexpr RowCompareType RowCompareType_MIN = static_cast(0); +constexpr RowCompareType RowCompareType_MAX = static_cast(6); +constexpr int RowCompareType_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* +RowCompareType_descriptor(); +template +const std::string& RowCompareType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to RowCompareType_Name()."); + return RowCompareType_Name(static_cast(value)); +} +template <> +inline const std::string& RowCompareType_Name(RowCompareType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool RowCompareType_Parse(absl::string_view name, RowCompareType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + RowCompareType_descriptor(), name, value); } enum MinMaxOp : int { MIN_MAX_OP_UNDEFINED = 0, IS_GREATEST = 1, IS_LEAST = 2, - MinMaxOp_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - MinMaxOp_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + MinMaxOp_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + MinMaxOp_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool MinMaxOp_IsValid(int value); -constexpr MinMaxOp MinMaxOp_MIN = MIN_MAX_OP_UNDEFINED; -constexpr MinMaxOp MinMaxOp_MAX = IS_LEAST; -constexpr int MinMaxOp_ARRAYSIZE = MinMaxOp_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* MinMaxOp_descriptor(); -template -inline const std::string& MinMaxOp_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function MinMaxOp_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - MinMaxOp_descriptor(), enum_t_value); -} -inline bool MinMaxOp_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, MinMaxOp* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - MinMaxOp_descriptor(), name, value); +extern const uint32_t MinMaxOp_internal_data_[]; +constexpr MinMaxOp MinMaxOp_MIN = static_cast(0); +constexpr MinMaxOp MinMaxOp_MAX = static_cast(2); +constexpr int MinMaxOp_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +MinMaxOp_descriptor(); +template +const std::string& MinMaxOp_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to MinMaxOp_Name()."); + return MinMaxOp_Name(static_cast(value)); +} +template <> +inline const std::string& MinMaxOp_Name(MinMaxOp value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool MinMaxOp_Parse(absl::string_view name, MinMaxOp* value) { + return ::google::protobuf::internal::ParseNamedEnum( + MinMaxOp_descriptor(), name, value); } enum SQLValueFunctionOp : int { SQLVALUE_FUNCTION_OP_UNDEFINED = 0, @@ -2343,27 +2669,35 @@ enum SQLValueFunctionOp : int { SVFOP_SESSION_USER = 13, SVFOP_CURRENT_CATALOG = 14, SVFOP_CURRENT_SCHEMA = 15, - SQLValueFunctionOp_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SQLValueFunctionOp_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SQLValueFunctionOp_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SQLValueFunctionOp_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SQLValueFunctionOp_IsValid(int value); -constexpr SQLValueFunctionOp SQLValueFunctionOp_MIN = SQLVALUE_FUNCTION_OP_UNDEFINED; -constexpr SQLValueFunctionOp SQLValueFunctionOp_MAX = SVFOP_CURRENT_SCHEMA; -constexpr int SQLValueFunctionOp_ARRAYSIZE = SQLValueFunctionOp_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SQLValueFunctionOp_descriptor(); -template -inline const std::string& SQLValueFunctionOp_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SQLValueFunctionOp_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SQLValueFunctionOp_descriptor(), enum_t_value); -} -inline bool SQLValueFunctionOp_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SQLValueFunctionOp* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SQLValueFunctionOp_descriptor(), name, value); +extern const uint32_t SQLValueFunctionOp_internal_data_[]; +constexpr SQLValueFunctionOp SQLValueFunctionOp_MIN = static_cast(0); +constexpr SQLValueFunctionOp SQLValueFunctionOp_MAX = static_cast(15); +constexpr int SQLValueFunctionOp_ARRAYSIZE = 15 + 1; +const ::google::protobuf::EnumDescriptor* +SQLValueFunctionOp_descriptor(); +template +const std::string& SQLValueFunctionOp_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SQLValueFunctionOp_Name()."); + return SQLValueFunctionOp_Name(static_cast(value)); +} +template <> +inline const std::string& SQLValueFunctionOp_Name(SQLValueFunctionOp value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SQLValueFunctionOp_Parse(absl::string_view name, SQLValueFunctionOp* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SQLValueFunctionOp_descriptor(), name, value); } enum XmlExprOp : int { XML_EXPR_OP_UNDEFINED = 0, @@ -2375,79 +2709,362 @@ enum XmlExprOp : int { IS_XMLROOT = 6, IS_XMLSERIALIZE = 7, IS_DOCUMENT = 8, - XmlExprOp_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - XmlExprOp_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + XmlExprOp_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + XmlExprOp_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool XmlExprOp_IsValid(int value); -constexpr XmlExprOp XmlExprOp_MIN = XML_EXPR_OP_UNDEFINED; -constexpr XmlExprOp XmlExprOp_MAX = IS_DOCUMENT; -constexpr int XmlExprOp_ARRAYSIZE = XmlExprOp_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* XmlExprOp_descriptor(); -template -inline const std::string& XmlExprOp_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function XmlExprOp_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - XmlExprOp_descriptor(), enum_t_value); -} -inline bool XmlExprOp_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, XmlExprOp* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - XmlExprOp_descriptor(), name, value); +extern const uint32_t XmlExprOp_internal_data_[]; +constexpr XmlExprOp XmlExprOp_MIN = static_cast(0); +constexpr XmlExprOp XmlExprOp_MAX = static_cast(8); +constexpr int XmlExprOp_ARRAYSIZE = 8 + 1; +const ::google::protobuf::EnumDescriptor* +XmlExprOp_descriptor(); +template +const std::string& XmlExprOp_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to XmlExprOp_Name()."); + return XmlExprOp_Name(static_cast(value)); +} +template <> +inline const std::string& XmlExprOp_Name(XmlExprOp value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool XmlExprOp_Parse(absl::string_view name, XmlExprOp* value) { + return ::google::protobuf::internal::ParseNamedEnum( + XmlExprOp_descriptor(), name, value); } enum XmlOptionType : int { XML_OPTION_TYPE_UNDEFINED = 0, XMLOPTION_DOCUMENT = 1, XMLOPTION_CONTENT = 2, - XmlOptionType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - XmlOptionType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + XmlOptionType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + XmlOptionType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool XmlOptionType_IsValid(int value); -constexpr XmlOptionType XmlOptionType_MIN = XML_OPTION_TYPE_UNDEFINED; -constexpr XmlOptionType XmlOptionType_MAX = XMLOPTION_CONTENT; -constexpr int XmlOptionType_ARRAYSIZE = XmlOptionType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* XmlOptionType_descriptor(); -template -inline const std::string& XmlOptionType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function XmlOptionType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - XmlOptionType_descriptor(), enum_t_value); -} -inline bool XmlOptionType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, XmlOptionType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - XmlOptionType_descriptor(), name, value); +extern const uint32_t XmlOptionType_internal_data_[]; +constexpr XmlOptionType XmlOptionType_MIN = static_cast(0); +constexpr XmlOptionType XmlOptionType_MAX = static_cast(2); +constexpr int XmlOptionType_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +XmlOptionType_descriptor(); +template +const std::string& XmlOptionType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to XmlOptionType_Name()."); + return XmlOptionType_Name(static_cast(value)); +} +template <> +inline const std::string& XmlOptionType_Name(XmlOptionType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool XmlOptionType_Parse(absl::string_view name, XmlOptionType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + XmlOptionType_descriptor(), name, value); +} +enum JsonEncoding : int { + JSON_ENCODING_UNDEFINED = 0, + JS_ENC_DEFAULT = 1, + JS_ENC_UTF8 = 2, + JS_ENC_UTF16 = 3, + JS_ENC_UTF32 = 4, + JsonEncoding_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonEncoding_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonEncoding_IsValid(int value); +extern const uint32_t JsonEncoding_internal_data_[]; +constexpr JsonEncoding JsonEncoding_MIN = static_cast(0); +constexpr JsonEncoding JsonEncoding_MAX = static_cast(4); +constexpr int JsonEncoding_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonEncoding_descriptor(); +template +const std::string& JsonEncoding_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonEncoding_Name()."); + return JsonEncoding_Name(static_cast(value)); +} +template <> +inline const std::string& JsonEncoding_Name(JsonEncoding value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonEncoding_Parse(absl::string_view name, JsonEncoding* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonEncoding_descriptor(), name, value); +} +enum JsonFormatType : int { + JSON_FORMAT_TYPE_UNDEFINED = 0, + JS_FORMAT_DEFAULT = 1, + JS_FORMAT_JSON = 2, + JS_FORMAT_JSONB = 3, + JsonFormatType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonFormatType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonFormatType_IsValid(int value); +extern const uint32_t JsonFormatType_internal_data_[]; +constexpr JsonFormatType JsonFormatType_MIN = static_cast(0); +constexpr JsonFormatType JsonFormatType_MAX = static_cast(3); +constexpr int JsonFormatType_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +JsonFormatType_descriptor(); +template +const std::string& JsonFormatType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonFormatType_Name()."); + return JsonFormatType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonFormatType_Name(JsonFormatType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonFormatType_Parse(absl::string_view name, JsonFormatType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonFormatType_descriptor(), name, value); +} +enum JsonConstructorType : int { + JSON_CONSTRUCTOR_TYPE_UNDEFINED = 0, + JSCTOR_JSON_OBJECT = 1, + JSCTOR_JSON_ARRAY = 2, + JSCTOR_JSON_OBJECTAGG = 3, + JSCTOR_JSON_ARRAYAGG = 4, + JSCTOR_JSON_PARSE = 5, + JSCTOR_JSON_SCALAR = 6, + JSCTOR_JSON_SERIALIZE = 7, + JsonConstructorType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonConstructorType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonConstructorType_IsValid(int value); +extern const uint32_t JsonConstructorType_internal_data_[]; +constexpr JsonConstructorType JsonConstructorType_MIN = static_cast(0); +constexpr JsonConstructorType JsonConstructorType_MAX = static_cast(7); +constexpr int JsonConstructorType_ARRAYSIZE = 7 + 1; +const ::google::protobuf::EnumDescriptor* +JsonConstructorType_descriptor(); +template +const std::string& JsonConstructorType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonConstructorType_Name()."); + return JsonConstructorType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonConstructorType_Name(JsonConstructorType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonConstructorType_Parse(absl::string_view name, JsonConstructorType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonConstructorType_descriptor(), name, value); +} +enum JsonValueType : int { + JSON_VALUE_TYPE_UNDEFINED = 0, + JS_TYPE_ANY = 1, + JS_TYPE_OBJECT = 2, + JS_TYPE_ARRAY = 3, + JS_TYPE_SCALAR = 4, + JsonValueType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonValueType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonValueType_IsValid(int value); +extern const uint32_t JsonValueType_internal_data_[]; +constexpr JsonValueType JsonValueType_MIN = static_cast(0); +constexpr JsonValueType JsonValueType_MAX = static_cast(4); +constexpr int JsonValueType_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonValueType_descriptor(); +template +const std::string& JsonValueType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonValueType_Name()."); + return JsonValueType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonValueType_Name(JsonValueType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonValueType_Parse(absl::string_view name, JsonValueType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonValueType_descriptor(), name, value); +} +enum JsonWrapper : int { + JSON_WRAPPER_UNDEFINED = 0, + JSW_UNSPEC = 1, + JSW_NONE = 2, + JSW_CONDITIONAL = 3, + JSW_UNCONDITIONAL = 4, + JsonWrapper_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonWrapper_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonWrapper_IsValid(int value); +extern const uint32_t JsonWrapper_internal_data_[]; +constexpr JsonWrapper JsonWrapper_MIN = static_cast(0); +constexpr JsonWrapper JsonWrapper_MAX = static_cast(4); +constexpr int JsonWrapper_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonWrapper_descriptor(); +template +const std::string& JsonWrapper_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonWrapper_Name()."); + return JsonWrapper_Name(static_cast(value)); +} +template <> +inline const std::string& JsonWrapper_Name(JsonWrapper value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonWrapper_Parse(absl::string_view name, JsonWrapper* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonWrapper_descriptor(), name, value); +} +enum JsonBehaviorType : int { + JSON_BEHAVIOR_TYPE_UNDEFINED = 0, + JSON_BEHAVIOR_NULL = 1, + JSON_BEHAVIOR_ERROR = 2, + JSON_BEHAVIOR_EMPTY = 3, + JSON_BEHAVIOR_TRUE = 4, + JSON_BEHAVIOR_FALSE = 5, + JSON_BEHAVIOR_UNKNOWN = 6, + JSON_BEHAVIOR_EMPTY_ARRAY = 7, + JSON_BEHAVIOR_EMPTY_OBJECT = 8, + JSON_BEHAVIOR_DEFAULT = 9, + JsonBehaviorType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonBehaviorType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonBehaviorType_IsValid(int value); +extern const uint32_t JsonBehaviorType_internal_data_[]; +constexpr JsonBehaviorType JsonBehaviorType_MIN = static_cast(0); +constexpr JsonBehaviorType JsonBehaviorType_MAX = static_cast(9); +constexpr int JsonBehaviorType_ARRAYSIZE = 9 + 1; +const ::google::protobuf::EnumDescriptor* +JsonBehaviorType_descriptor(); +template +const std::string& JsonBehaviorType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonBehaviorType_Name()."); + return JsonBehaviorType_Name(static_cast(value)); +} +template <> +inline const std::string& JsonBehaviorType_Name(JsonBehaviorType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonBehaviorType_Parse(absl::string_view name, JsonBehaviorType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonBehaviorType_descriptor(), name, value); +} +enum JsonExprOp : int { + JSON_EXPR_OP_UNDEFINED = 0, + JSON_EXISTS_OP = 1, + JSON_QUERY_OP = 2, + JSON_VALUE_OP = 3, + JSON_TABLE_OP = 4, + JsonExprOp_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JsonExprOp_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool JsonExprOp_IsValid(int value); +extern const uint32_t JsonExprOp_internal_data_[]; +constexpr JsonExprOp JsonExprOp_MIN = static_cast(0); +constexpr JsonExprOp JsonExprOp_MAX = static_cast(4); +constexpr int JsonExprOp_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +JsonExprOp_descriptor(); +template +const std::string& JsonExprOp_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JsonExprOp_Name()."); + return JsonExprOp_Name(static_cast(value)); +} +template <> +inline const std::string& JsonExprOp_Name(JsonExprOp value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JsonExprOp_Parse(absl::string_view name, JsonExprOp* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JsonExprOp_descriptor(), name, value); } enum NullTestType : int { NULL_TEST_TYPE_UNDEFINED = 0, IS_NULL = 1, IS_NOT_NULL = 2, - NullTestType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - NullTestType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + NullTestType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + NullTestType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool NullTestType_IsValid(int value); -constexpr NullTestType NullTestType_MIN = NULL_TEST_TYPE_UNDEFINED; -constexpr NullTestType NullTestType_MAX = IS_NOT_NULL; -constexpr int NullTestType_ARRAYSIZE = NullTestType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* NullTestType_descriptor(); -template -inline const std::string& NullTestType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function NullTestType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - NullTestType_descriptor(), enum_t_value); -} -inline bool NullTestType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, NullTestType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - NullTestType_descriptor(), name, value); +extern const uint32_t NullTestType_internal_data_[]; +constexpr NullTestType NullTestType_MIN = static_cast(0); +constexpr NullTestType NullTestType_MAX = static_cast(2); +constexpr int NullTestType_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +NullTestType_descriptor(); +template +const std::string& NullTestType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to NullTestType_Name()."); + return NullTestType_Name(static_cast(value)); +} +template <> +inline const std::string& NullTestType_Name(NullTestType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool NullTestType_Parse(absl::string_view name, NullTestType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + NullTestType_descriptor(), name, value); } enum BoolTestType : int { BOOL_TEST_TYPE_UNDEFINED = 0, @@ -2457,27 +3074,70 @@ enum BoolTestType : int { IS_NOT_FALSE = 4, IS_UNKNOWN = 5, IS_NOT_UNKNOWN = 6, - BoolTestType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - BoolTestType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + BoolTestType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + BoolTestType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool BoolTestType_IsValid(int value); -constexpr BoolTestType BoolTestType_MIN = BOOL_TEST_TYPE_UNDEFINED; -constexpr BoolTestType BoolTestType_MAX = IS_NOT_UNKNOWN; -constexpr int BoolTestType_ARRAYSIZE = BoolTestType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* BoolTestType_descriptor(); -template -inline const std::string& BoolTestType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function BoolTestType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - BoolTestType_descriptor(), enum_t_value); -} -inline bool BoolTestType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, BoolTestType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - BoolTestType_descriptor(), name, value); +extern const uint32_t BoolTestType_internal_data_[]; +constexpr BoolTestType BoolTestType_MIN = static_cast(0); +constexpr BoolTestType BoolTestType_MAX = static_cast(6); +constexpr int BoolTestType_ARRAYSIZE = 6 + 1; +const ::google::protobuf::EnumDescriptor* +BoolTestType_descriptor(); +template +const std::string& BoolTestType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to BoolTestType_Name()."); + return BoolTestType_Name(static_cast(value)); +} +template <> +inline const std::string& BoolTestType_Name(BoolTestType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool BoolTestType_Parse(absl::string_view name, BoolTestType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + BoolTestType_descriptor(), name, value); +} +enum MergeMatchKind : int { + MERGE_MATCH_KIND_UNDEFINED = 0, + MERGE_WHEN_MATCHED = 1, + MERGE_WHEN_NOT_MATCHED_BY_SOURCE = 2, + MERGE_WHEN_NOT_MATCHED_BY_TARGET = 3, + MergeMatchKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + MergeMatchKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool MergeMatchKind_IsValid(int value); +extern const uint32_t MergeMatchKind_internal_data_[]; +constexpr MergeMatchKind MergeMatchKind_MIN = static_cast(0); +constexpr MergeMatchKind MergeMatchKind_MAX = static_cast(3); +constexpr int MergeMatchKind_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +MergeMatchKind_descriptor(); +template +const std::string& MergeMatchKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to MergeMatchKind_Name()."); + return MergeMatchKind_Name(static_cast(value)); +} +template <> +inline const std::string& MergeMatchKind_Name(MergeMatchKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool MergeMatchKind_Parse(absl::string_view name, MergeMatchKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + MergeMatchKind_descriptor(), name, value); } enum CmdType : int { CMD_TYPE_UNDEFINED = 0, @@ -2489,27 +3149,35 @@ enum CmdType : int { CMD_MERGE = 6, CMD_UTILITY = 7, CMD_NOTHING = 8, - CmdType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - CmdType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + CmdType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + CmdType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool CmdType_IsValid(int value); -constexpr CmdType CmdType_MIN = CMD_TYPE_UNDEFINED; -constexpr CmdType CmdType_MAX = CMD_NOTHING; -constexpr int CmdType_ARRAYSIZE = CmdType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CmdType_descriptor(); -template -inline const std::string& CmdType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function CmdType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - CmdType_descriptor(), enum_t_value); -} -inline bool CmdType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, CmdType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - CmdType_descriptor(), name, value); +extern const uint32_t CmdType_internal_data_[]; +constexpr CmdType CmdType_MIN = static_cast(0); +constexpr CmdType CmdType_MAX = static_cast(8); +constexpr int CmdType_ARRAYSIZE = 8 + 1; +const ::google::protobuf::EnumDescriptor* +CmdType_descriptor(); +template +const std::string& CmdType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to CmdType_Name()."); + return CmdType_Name(static_cast(value)); +} +template <> +inline const std::string& CmdType_Name(CmdType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool CmdType_Parse(absl::string_view name, CmdType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + CmdType_descriptor(), name, value); } enum JoinType : int { JOIN_TYPE_UNDEFINED = 0, @@ -2519,29 +3187,38 @@ enum JoinType : int { JOIN_RIGHT = 4, JOIN_SEMI = 5, JOIN_ANTI = 6, - JOIN_UNIQUE_OUTER = 7, - JOIN_UNIQUE_INNER = 8, - JoinType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - JoinType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + JOIN_RIGHT_ANTI = 7, + JOIN_UNIQUE_OUTER = 8, + JOIN_UNIQUE_INNER = 9, + JoinType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + JoinType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool JoinType_IsValid(int value); -constexpr JoinType JoinType_MIN = JOIN_TYPE_UNDEFINED; -constexpr JoinType JoinType_MAX = JOIN_UNIQUE_INNER; -constexpr int JoinType_ARRAYSIZE = JoinType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* JoinType_descriptor(); -template -inline const std::string& JoinType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function JoinType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - JoinType_descriptor(), enum_t_value); -} -inline bool JoinType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, JoinType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - JoinType_descriptor(), name, value); +extern const uint32_t JoinType_internal_data_[]; +constexpr JoinType JoinType_MIN = static_cast(0); +constexpr JoinType JoinType_MAX = static_cast(9); +constexpr int JoinType_ARRAYSIZE = 9 + 1; +const ::google::protobuf::EnumDescriptor* +JoinType_descriptor(); +template +const std::string& JoinType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to JoinType_Name()."); + return JoinType_Name(static_cast(value)); +} +template <> +inline const std::string& JoinType_Name(JoinType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool JoinType_Parse(absl::string_view name, JoinType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + JoinType_descriptor(), name, value); } enum AggStrategy : int { AGG_STRATEGY_UNDEFINED = 0, @@ -2549,54 +3226,70 @@ enum AggStrategy : int { AGG_SORTED = 2, AGG_HASHED = 3, AGG_MIXED = 4, - AggStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AggStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AggStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AggStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AggStrategy_IsValid(int value); -constexpr AggStrategy AggStrategy_MIN = AGG_STRATEGY_UNDEFINED; -constexpr AggStrategy AggStrategy_MAX = AGG_MIXED; -constexpr int AggStrategy_ARRAYSIZE = AggStrategy_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AggStrategy_descriptor(); -template -inline const std::string& AggStrategy_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AggStrategy_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AggStrategy_descriptor(), enum_t_value); -} -inline bool AggStrategy_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AggStrategy* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AggStrategy_descriptor(), name, value); +extern const uint32_t AggStrategy_internal_data_[]; +constexpr AggStrategy AggStrategy_MIN = static_cast(0); +constexpr AggStrategy AggStrategy_MAX = static_cast(4); +constexpr int AggStrategy_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +AggStrategy_descriptor(); +template +const std::string& AggStrategy_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AggStrategy_Name()."); + return AggStrategy_Name(static_cast(value)); +} +template <> +inline const std::string& AggStrategy_Name(AggStrategy value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AggStrategy_Parse(absl::string_view name, AggStrategy* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AggStrategy_descriptor(), name, value); } enum AggSplit : int { AGG_SPLIT_UNDEFINED = 0, AGGSPLIT_SIMPLE = 1, AGGSPLIT_INITIAL_SERIAL = 2, AGGSPLIT_FINAL_DESERIAL = 3, - AggSplit_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - AggSplit_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + AggSplit_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + AggSplit_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool AggSplit_IsValid(int value); -constexpr AggSplit AggSplit_MIN = AGG_SPLIT_UNDEFINED; -constexpr AggSplit AggSplit_MAX = AGGSPLIT_FINAL_DESERIAL; -constexpr int AggSplit_ARRAYSIZE = AggSplit_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* AggSplit_descriptor(); -template -inline const std::string& AggSplit_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function AggSplit_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - AggSplit_descriptor(), enum_t_value); -} -inline bool AggSplit_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, AggSplit* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - AggSplit_descriptor(), name, value); +extern const uint32_t AggSplit_internal_data_[]; +constexpr AggSplit AggSplit_MIN = static_cast(0); +constexpr AggSplit AggSplit_MAX = static_cast(3); +constexpr int AggSplit_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +AggSplit_descriptor(); +template +const std::string& AggSplit_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to AggSplit_Name()."); + return AggSplit_Name(static_cast(value)); +} +template <> +inline const std::string& AggSplit_Name(AggSplit value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool AggSplit_Parse(absl::string_view name, AggSplit* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AggSplit_descriptor(), name, value); } enum SetOpCmd : int { SET_OP_CMD_UNDEFINED = 0, @@ -2604,107 +3297,139 @@ enum SetOpCmd : int { SETOPCMD_INTERSECT_ALL = 2, SETOPCMD_EXCEPT = 3, SETOPCMD_EXCEPT_ALL = 4, - SetOpCmd_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SetOpCmd_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SetOpCmd_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SetOpCmd_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SetOpCmd_IsValid(int value); -constexpr SetOpCmd SetOpCmd_MIN = SET_OP_CMD_UNDEFINED; -constexpr SetOpCmd SetOpCmd_MAX = SETOPCMD_EXCEPT_ALL; -constexpr int SetOpCmd_ARRAYSIZE = SetOpCmd_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOpCmd_descriptor(); -template -inline const std::string& SetOpCmd_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SetOpCmd_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SetOpCmd_descriptor(), enum_t_value); -} -inline bool SetOpCmd_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SetOpCmd* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SetOpCmd_descriptor(), name, value); +extern const uint32_t SetOpCmd_internal_data_[]; +constexpr SetOpCmd SetOpCmd_MIN = static_cast(0); +constexpr SetOpCmd SetOpCmd_MAX = static_cast(4); +constexpr int SetOpCmd_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +SetOpCmd_descriptor(); +template +const std::string& SetOpCmd_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SetOpCmd_Name()."); + return SetOpCmd_Name(static_cast(value)); +} +template <> +inline const std::string& SetOpCmd_Name(SetOpCmd value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SetOpCmd_Parse(absl::string_view name, SetOpCmd* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SetOpCmd_descriptor(), name, value); } enum SetOpStrategy : int { SET_OP_STRATEGY_UNDEFINED = 0, SETOP_SORTED = 1, SETOP_HASHED = 2, - SetOpStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - SetOpStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + SetOpStrategy_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + SetOpStrategy_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool SetOpStrategy_IsValid(int value); -constexpr SetOpStrategy SetOpStrategy_MIN = SET_OP_STRATEGY_UNDEFINED; -constexpr SetOpStrategy SetOpStrategy_MAX = SETOP_HASHED; -constexpr int SetOpStrategy_ARRAYSIZE = SetOpStrategy_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SetOpStrategy_descriptor(); -template -inline const std::string& SetOpStrategy_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SetOpStrategy_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SetOpStrategy_descriptor(), enum_t_value); -} -inline bool SetOpStrategy_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SetOpStrategy* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SetOpStrategy_descriptor(), name, value); +extern const uint32_t SetOpStrategy_internal_data_[]; +constexpr SetOpStrategy SetOpStrategy_MIN = static_cast(0); +constexpr SetOpStrategy SetOpStrategy_MAX = static_cast(2); +constexpr int SetOpStrategy_ARRAYSIZE = 2 + 1; +const ::google::protobuf::EnumDescriptor* +SetOpStrategy_descriptor(); +template +const std::string& SetOpStrategy_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to SetOpStrategy_Name()."); + return SetOpStrategy_Name(static_cast(value)); +} +template <> +inline const std::string& SetOpStrategy_Name(SetOpStrategy value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool SetOpStrategy_Parse(absl::string_view name, SetOpStrategy* value) { + return ::google::protobuf::internal::ParseNamedEnum( + SetOpStrategy_descriptor(), name, value); } enum OnConflictAction : int { ON_CONFLICT_ACTION_UNDEFINED = 0, ONCONFLICT_NONE = 1, ONCONFLICT_NOTHING = 2, ONCONFLICT_UPDATE = 3, - OnConflictAction_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - OnConflictAction_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + OnConflictAction_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + OnConflictAction_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool OnConflictAction_IsValid(int value); -constexpr OnConflictAction OnConflictAction_MIN = ON_CONFLICT_ACTION_UNDEFINED; -constexpr OnConflictAction OnConflictAction_MAX = ONCONFLICT_UPDATE; -constexpr int OnConflictAction_ARRAYSIZE = OnConflictAction_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OnConflictAction_descriptor(); -template -inline const std::string& OnConflictAction_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function OnConflictAction_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - OnConflictAction_descriptor(), enum_t_value); -} -inline bool OnConflictAction_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, OnConflictAction* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - OnConflictAction_descriptor(), name, value); +extern const uint32_t OnConflictAction_internal_data_[]; +constexpr OnConflictAction OnConflictAction_MIN = static_cast(0); +constexpr OnConflictAction OnConflictAction_MAX = static_cast(3); +constexpr int OnConflictAction_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +OnConflictAction_descriptor(); +template +const std::string& OnConflictAction_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to OnConflictAction_Name()."); + return OnConflictAction_Name(static_cast(value)); +} +template <> +inline const std::string& OnConflictAction_Name(OnConflictAction value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool OnConflictAction_Parse(absl::string_view name, OnConflictAction* value) { + return ::google::protobuf::internal::ParseNamedEnum( + OnConflictAction_descriptor(), name, value); } enum LimitOption : int { LIMIT_OPTION_UNDEFINED = 0, LIMIT_OPTION_DEFAULT = 1, LIMIT_OPTION_COUNT = 2, LIMIT_OPTION_WITH_TIES = 3, - LimitOption_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - LimitOption_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + LimitOption_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + LimitOption_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool LimitOption_IsValid(int value); -constexpr LimitOption LimitOption_MIN = LIMIT_OPTION_UNDEFINED; -constexpr LimitOption LimitOption_MAX = LIMIT_OPTION_WITH_TIES; -constexpr int LimitOption_ARRAYSIZE = LimitOption_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LimitOption_descriptor(); -template -inline const std::string& LimitOption_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function LimitOption_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - LimitOption_descriptor(), enum_t_value); -} -inline bool LimitOption_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LimitOption* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - LimitOption_descriptor(), name, value); +extern const uint32_t LimitOption_internal_data_[]; +constexpr LimitOption LimitOption_MIN = static_cast(0); +constexpr LimitOption LimitOption_MAX = static_cast(3); +constexpr int LimitOption_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +LimitOption_descriptor(); +template +const std::string& LimitOption_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to LimitOption_Name()."); + return LimitOption_Name(static_cast(value)); +} +template <> +inline const std::string& LimitOption_Name(LimitOption value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool LimitOption_Parse(absl::string_view name, LimitOption* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LimitOption_descriptor(), name, value); } enum LockClauseStrength : int { LOCK_CLAUSE_STRENGTH_UNDEFINED = 0, @@ -2713,54 +3438,70 @@ enum LockClauseStrength : int { LCS_FORSHARE = 3, LCS_FORNOKEYUPDATE = 4, LCS_FORUPDATE = 5, - LockClauseStrength_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - LockClauseStrength_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + LockClauseStrength_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + LockClauseStrength_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool LockClauseStrength_IsValid(int value); -constexpr LockClauseStrength LockClauseStrength_MIN = LOCK_CLAUSE_STRENGTH_UNDEFINED; -constexpr LockClauseStrength LockClauseStrength_MAX = LCS_FORUPDATE; -constexpr int LockClauseStrength_ARRAYSIZE = LockClauseStrength_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockClauseStrength_descriptor(); -template -inline const std::string& LockClauseStrength_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function LockClauseStrength_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - LockClauseStrength_descriptor(), enum_t_value); -} -inline bool LockClauseStrength_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LockClauseStrength* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - LockClauseStrength_descriptor(), name, value); +extern const uint32_t LockClauseStrength_internal_data_[]; +constexpr LockClauseStrength LockClauseStrength_MIN = static_cast(0); +constexpr LockClauseStrength LockClauseStrength_MAX = static_cast(5); +constexpr int LockClauseStrength_ARRAYSIZE = 5 + 1; +const ::google::protobuf::EnumDescriptor* +LockClauseStrength_descriptor(); +template +const std::string& LockClauseStrength_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to LockClauseStrength_Name()."); + return LockClauseStrength_Name(static_cast(value)); +} +template <> +inline const std::string& LockClauseStrength_Name(LockClauseStrength value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool LockClauseStrength_Parse(absl::string_view name, LockClauseStrength* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LockClauseStrength_descriptor(), name, value); } enum LockWaitPolicy : int { LOCK_WAIT_POLICY_UNDEFINED = 0, LockWaitBlock = 1, LockWaitSkip = 2, LockWaitError = 3, - LockWaitPolicy_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - LockWaitPolicy_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + LockWaitPolicy_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + LockWaitPolicy_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool LockWaitPolicy_IsValid(int value); -constexpr LockWaitPolicy LockWaitPolicy_MIN = LOCK_WAIT_POLICY_UNDEFINED; -constexpr LockWaitPolicy LockWaitPolicy_MAX = LockWaitError; -constexpr int LockWaitPolicy_ARRAYSIZE = LockWaitPolicy_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockWaitPolicy_descriptor(); -template -inline const std::string& LockWaitPolicy_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function LockWaitPolicy_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - LockWaitPolicy_descriptor(), enum_t_value); -} -inline bool LockWaitPolicy_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LockWaitPolicy* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - LockWaitPolicy_descriptor(), name, value); +extern const uint32_t LockWaitPolicy_internal_data_[]; +constexpr LockWaitPolicy LockWaitPolicy_MIN = static_cast(0); +constexpr LockWaitPolicy LockWaitPolicy_MAX = static_cast(3); +constexpr int LockWaitPolicy_ARRAYSIZE = 3 + 1; +const ::google::protobuf::EnumDescriptor* +LockWaitPolicy_descriptor(); +template +const std::string& LockWaitPolicy_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to LockWaitPolicy_Name()."); + return LockWaitPolicy_Name(static_cast(value)); +} +template <> +inline const std::string& LockWaitPolicy_Name(LockWaitPolicy value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool LockWaitPolicy_Parse(absl::string_view name, LockWaitPolicy* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LockWaitPolicy_descriptor(), name, value); } enum LockTupleMode : int { LOCK_TUPLE_MODE_UNDEFINED = 0, @@ -2768,27 +3509,35 @@ enum LockTupleMode : int { LockTupleShare = 2, LockTupleNoKeyExclusive = 3, LockTupleExclusive = 4, - LockTupleMode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - LockTupleMode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + LockTupleMode_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + LockTupleMode_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool LockTupleMode_IsValid(int value); -constexpr LockTupleMode LockTupleMode_MIN = LOCK_TUPLE_MODE_UNDEFINED; -constexpr LockTupleMode LockTupleMode_MAX = LockTupleExclusive; -constexpr int LockTupleMode_ARRAYSIZE = LockTupleMode_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* LockTupleMode_descriptor(); -template -inline const std::string& LockTupleMode_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function LockTupleMode_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - LockTupleMode_descriptor(), enum_t_value); -} -inline bool LockTupleMode_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, LockTupleMode* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - LockTupleMode_descriptor(), name, value); +extern const uint32_t LockTupleMode_internal_data_[]; +constexpr LockTupleMode LockTupleMode_MIN = static_cast(0); +constexpr LockTupleMode LockTupleMode_MAX = static_cast(4); +constexpr int LockTupleMode_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +LockTupleMode_descriptor(); +template +const std::string& LockTupleMode_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to LockTupleMode_Name()."); + return LockTupleMode_Name(static_cast(value)); +} +template <> +inline const std::string& LockTupleMode_Name(LockTupleMode value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool LockTupleMode_Parse(absl::string_view name, LockTupleMode* value) { + return ::google::protobuf::internal::ParseNamedEnum( + LockTupleMode_descriptor(), name, value); } enum KeywordKind : int { NO_KEYWORD = 0, @@ -2796,30 +3545,39 @@ enum KeywordKind : int { COL_NAME_KEYWORD = 2, TYPE_FUNC_NAME_KEYWORD = 3, RESERVED_KEYWORD = 4, - KeywordKind_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - KeywordKind_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + KeywordKind_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + KeywordKind_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool KeywordKind_IsValid(int value); -constexpr KeywordKind KeywordKind_MIN = NO_KEYWORD; -constexpr KeywordKind KeywordKind_MAX = RESERVED_KEYWORD; -constexpr int KeywordKind_ARRAYSIZE = KeywordKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* KeywordKind_descriptor(); -template -inline const std::string& KeywordKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function KeywordKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - KeywordKind_descriptor(), enum_t_value); -} -inline bool KeywordKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, KeywordKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - KeywordKind_descriptor(), name, value); +extern const uint32_t KeywordKind_internal_data_[]; +constexpr KeywordKind KeywordKind_MIN = static_cast(0); +constexpr KeywordKind KeywordKind_MAX = static_cast(4); +constexpr int KeywordKind_ARRAYSIZE = 4 + 1; +const ::google::protobuf::EnumDescriptor* +KeywordKind_descriptor(); +template +const std::string& KeywordKind_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to KeywordKind_Name()."); + return KeywordKind_Name(static_cast(value)); +} +template <> +inline const std::string& KeywordKind_Name(KeywordKind value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool KeywordKind_Parse(absl::string_view name, KeywordKind* value) { + return ::google::protobuf::internal::ParseNamedEnum( + KeywordKind_descriptor(), name, value); } enum Token : int { NUL = 0, + ASCII_36 = 36, ASCII_37 = 37, ASCII_40 = 40, ASCII_41 = 41, @@ -2859,520 +3617,567 @@ enum Token : int { SQL_COMMENT = 275, C_COMMENT = 276, ABORT_P = 277, - ABSOLUTE_P = 278, - ACCESS = 279, - ACTION = 280, - ADD_P = 281, - ADMIN = 282, - AFTER = 283, - AGGREGATE = 284, - ALL = 285, - ALSO = 286, - ALTER = 287, - ALWAYS = 288, - ANALYSE = 289, - ANALYZE = 290, - AND = 291, - ANY = 292, - ARRAY = 293, - AS = 294, - ASC = 295, - ASENSITIVE = 296, - ASSERTION = 297, - ASSIGNMENT = 298, - ASYMMETRIC = 299, - ATOMIC = 300, - AT = 301, - ATTACH = 302, - ATTRIBUTE = 303, - AUTHORIZATION = 304, - BACKWARD = 305, - BEFORE = 306, - BEGIN_P = 307, - BETWEEN = 308, - BIGINT = 309, - BINARY = 310, - BIT = 311, - BOOLEAN_P = 312, - BOTH = 313, - BREADTH = 314, - BY = 315, - CACHE = 316, - CALL = 317, - CALLED = 318, - CASCADE = 319, - CASCADED = 320, - CASE = 321, - CAST = 322, - CATALOG_P = 323, - CHAIN = 324, - CHAR_P = 325, - CHARACTER = 326, - CHARACTERISTICS = 327, - CHECK = 328, - CHECKPOINT = 329, - CLASS = 330, - CLOSE = 331, - CLUSTER = 332, - COALESCE = 333, - COLLATE = 334, - COLLATION = 335, - COLUMN = 336, - COLUMNS = 337, - COMMENT = 338, - COMMENTS = 339, - COMMIT = 340, - COMMITTED = 341, - COMPRESSION = 342, - CONCURRENTLY = 343, - CONFIGURATION = 344, - CONFLICT = 345, - CONNECTION = 346, - CONSTRAINT = 347, - CONSTRAINTS = 348, - CONTENT_P = 349, - CONTINUE_P = 350, - CONVERSION_P = 351, - COPY = 352, - COST = 353, - CREATE = 354, - CROSS = 355, - CSV = 356, - CUBE = 357, - CURRENT_P = 358, - CURRENT_CATALOG = 359, - CURRENT_DATE = 360, - CURRENT_ROLE = 361, - CURRENT_SCHEMA = 362, - CURRENT_TIME = 363, - CURRENT_TIMESTAMP = 364, - CURRENT_USER = 365, - CURSOR = 366, - CYCLE = 367, - DATA_P = 368, - DATABASE = 369, - DAY_P = 370, - DEALLOCATE = 371, - DEC = 372, - DECIMAL_P = 373, - DECLARE = 374, - DEFAULT = 375, - DEFAULTS = 376, - DEFERRABLE = 377, - DEFERRED = 378, - DEFINER = 379, - DELETE_P = 380, - DELIMITER = 381, - DELIMITERS = 382, - DEPENDS = 383, - DEPTH = 384, - DESC = 385, - DETACH = 386, - DICTIONARY = 387, - DISABLE_P = 388, - DISCARD = 389, - DISTINCT = 390, - DO = 391, - DOCUMENT_P = 392, - DOMAIN_P = 393, - DOUBLE_P = 394, - DROP = 395, - EACH = 396, - ELSE = 397, - ENABLE_P = 398, - ENCODING = 399, - ENCRYPTED = 400, - END_P = 401, - ENUM_P = 402, - ESCAPE = 403, - EVENT = 404, - EXCEPT = 405, - EXCLUDE = 406, - EXCLUDING = 407, - EXCLUSIVE = 408, - EXECUTE = 409, - EXISTS = 410, - EXPLAIN = 411, - EXPRESSION = 412, - EXTENSION = 413, - EXTERNAL = 414, - EXTRACT = 415, - FALSE_P = 416, - FAMILY = 417, - FETCH = 418, - FILTER = 419, - FINALIZE = 420, - FIRST_P = 421, - FLOAT_P = 422, - FOLLOWING = 423, - FOR = 424, - FORCE = 425, - FOREIGN = 426, - FORWARD = 427, - FREEZE = 428, - FROM = 429, - FULL = 430, - FUNCTION = 431, - FUNCTIONS = 432, - GENERATED = 433, - GLOBAL = 434, - GRANT = 435, - GRANTED = 436, - GREATEST = 437, - GROUP_P = 438, - GROUPING = 439, - GROUPS = 440, - HANDLER = 441, - HAVING = 442, - HEADER_P = 443, - HOLD = 444, - HOUR_P = 445, - IDENTITY_P = 446, - IF_P = 447, - ILIKE = 448, - IMMEDIATE = 449, - IMMUTABLE = 450, - IMPLICIT_P = 451, - IMPORT_P = 452, - IN_P = 453, - INCLUDE = 454, - INCLUDING = 455, - INCREMENT = 456, - INDEX = 457, - INDEXES = 458, - INHERIT = 459, - INHERITS = 460, - INITIALLY = 461, - INLINE_P = 462, - INNER_P = 463, - INOUT = 464, - INPUT_P = 465, - INSENSITIVE = 466, - INSERT = 467, - INSTEAD = 468, - INT_P = 469, - INTEGER = 470, - INTERSECT = 471, - INTERVAL = 472, - INTO = 473, - INVOKER = 474, - IS = 475, - ISNULL = 476, - ISOLATION = 477, - JOIN = 478, - KEY = 479, - LABEL = 480, - LANGUAGE = 481, - LARGE_P = 482, - LAST_P = 483, - LATERAL_P = 484, - LEADING = 485, - LEAKPROOF = 486, - LEAST = 487, - LEFT = 488, - LEVEL = 489, - LIKE = 490, - LIMIT = 491, - LISTEN = 492, - LOAD = 493, - LOCAL = 494, - LOCALTIME = 495, - LOCALTIMESTAMP = 496, - LOCATION = 497, - LOCK_P = 498, - LOCKED = 499, - LOGGED = 500, - MAPPING = 501, - MATCH = 502, - MATCHED = 503, - MATERIALIZED = 504, - MAXVALUE = 505, - MERGE = 506, - METHOD = 507, - MINUTE_P = 508, - MINVALUE = 509, - MODE = 510, - MONTH_P = 511, - MOVE = 512, - NAME_P = 513, - NAMES = 514, - NATIONAL = 515, - NATURAL = 516, - NCHAR = 517, - NEW = 518, - NEXT = 519, - NFC = 520, - NFD = 521, - NFKC = 522, - NFKD = 523, - NO = 524, - NONE = 525, - NORMALIZE = 526, - NORMALIZED = 527, - NOT = 528, - NOTHING = 529, - NOTIFY = 530, - NOTNULL = 531, - NOWAIT = 532, - NULL_P = 533, - NULLIF = 534, - NULLS_P = 535, - NUMERIC = 536, - OBJECT_P = 537, - OF = 538, - OFF = 539, - OFFSET = 540, - OIDS = 541, - OLD = 542, - ON = 543, - ONLY = 544, - OPERATOR = 545, - OPTION = 546, - OPTIONS = 547, - OR = 548, - ORDER = 549, - ORDINALITY = 550, - OTHERS = 551, - OUT_P = 552, - OUTER_P = 553, - OVER = 554, - OVERLAPS = 555, - OVERLAY = 556, - OVERRIDING = 557, - OWNED = 558, - OWNER = 559, - PARALLEL = 560, - PARAMETER = 561, - PARSER = 562, - PARTIAL = 563, - PARTITION = 564, - PASSING = 565, - PASSWORD = 566, - PLACING = 567, - PLANS = 568, - POLICY = 569, - POSITION = 570, - PRECEDING = 571, - PRECISION = 572, - PRESERVE = 573, - PREPARE = 574, - PREPARED = 575, - PRIMARY = 576, - PRIOR = 577, - PRIVILEGES = 578, - PROCEDURAL = 579, - PROCEDURE = 580, - PROCEDURES = 581, - PROGRAM = 582, - PUBLICATION = 583, - QUOTE = 584, - RANGE = 585, - READ = 586, - REAL = 587, - REASSIGN = 588, - RECHECK = 589, - RECURSIVE = 590, - REF_P = 591, - REFERENCES = 592, - REFERENCING = 593, - REFRESH = 594, - REINDEX = 595, - RELATIVE_P = 596, - RELEASE = 597, - RENAME = 598, - REPEATABLE = 599, - REPLACE = 600, - REPLICA = 601, - RESET = 602, - RESTART = 603, - RESTRICT = 604, - RETURN = 605, - RETURNING = 606, - RETURNS = 607, - REVOKE = 608, - RIGHT = 609, - ROLE = 610, - ROLLBACK = 611, - ROLLUP = 612, - ROUTINE = 613, - ROUTINES = 614, - ROW = 615, - ROWS = 616, - RULE = 617, - SAVEPOINT = 618, - SCHEMA = 619, - SCHEMAS = 620, - SCROLL = 621, - SEARCH = 622, - SECOND_P = 623, - SECURITY = 624, - SELECT = 625, - SEQUENCE = 626, - SEQUENCES = 627, - SERIALIZABLE = 628, - SERVER = 629, - SESSION = 630, - SESSION_USER = 631, - SET = 632, - SETS = 633, - SETOF = 634, - SHARE = 635, - SHOW = 636, - SIMILAR = 637, - SIMPLE = 638, - SKIP = 639, - SMALLINT = 640, - SNAPSHOT = 641, - SOME = 642, - SQL_P = 643, - STABLE = 644, - STANDALONE_P = 645, - START = 646, - STATEMENT = 647, - STATISTICS = 648, - STDIN = 649, - STDOUT = 650, - STORAGE = 651, - STORED = 652, - STRICT_P = 653, - STRIP_P = 654, - SUBSCRIPTION = 655, - SUBSTRING = 656, - SUPPORT = 657, - SYMMETRIC = 658, - SYSID = 659, - SYSTEM_P = 660, - TABLE = 661, - TABLES = 662, - TABLESAMPLE = 663, - TABLESPACE = 664, - TEMP = 665, - TEMPLATE = 666, - TEMPORARY = 667, - TEXT_P = 668, - THEN = 669, - TIES = 670, - TIME = 671, - TIMESTAMP = 672, - TO = 673, - TRAILING = 674, - TRANSACTION = 675, - TRANSFORM = 676, - TREAT = 677, - TRIGGER = 678, - TRIM = 679, - TRUE_P = 680, - TRUNCATE = 681, - TRUSTED = 682, - TYPE_P = 683, - TYPES_P = 684, - UESCAPE = 685, - UNBOUNDED = 686, - UNCOMMITTED = 687, - UNENCRYPTED = 688, - UNION = 689, - UNIQUE = 690, - UNKNOWN = 691, - UNLISTEN = 692, - UNLOGGED = 693, - UNTIL = 694, - UPDATE = 695, - USER = 696, - USING = 697, - VACUUM = 698, - VALID = 699, - VALIDATE = 700, - VALIDATOR = 701, - VALUE_P = 702, - VALUES = 703, - VARCHAR = 704, - VARIADIC = 705, - VARYING = 706, - VERBOSE = 707, - VERSION_P = 708, - VIEW = 709, - VIEWS = 710, - VOLATILE = 711, - WHEN = 712, - WHERE = 713, - WHITESPACE_P = 714, - WINDOW = 715, - WITH = 716, - WITHIN = 717, - WITHOUT = 718, - WORK = 719, - WRAPPER = 720, - WRITE = 721, - XML_P = 722, - XMLATTRIBUTES = 723, - XMLCONCAT = 724, - XMLELEMENT = 725, - XMLEXISTS = 726, - XMLFOREST = 727, - XMLNAMESPACES = 728, - XMLPARSE = 729, - XMLPI = 730, - XMLROOT = 731, - XMLSERIALIZE = 732, - XMLTABLE = 733, - YEAR_P = 734, - YES_P = 735, - ZONE = 736, - NOT_LA = 737, - NULLS_LA = 738, - WITH_LA = 739, - MODE_TYPE_NAME = 740, - MODE_PLPGSQL_EXPR = 741, - MODE_PLPGSQL_ASSIGN1 = 742, - MODE_PLPGSQL_ASSIGN2 = 743, - MODE_PLPGSQL_ASSIGN3 = 744, - UMINUS = 745, - Token_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits::min(), - Token_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits::max() + ABSENT = 278, + ABSOLUTE_P = 279, + ACCESS = 280, + ACTION = 281, + ADD_P = 282, + ADMIN = 283, + AFTER = 284, + AGGREGATE = 285, + ALL = 286, + ALSO = 287, + ALTER = 288, + ALWAYS = 289, + ANALYSE = 290, + ANALYZE = 291, + AND = 292, + ANY = 293, + ARRAY = 294, + AS = 295, + ASC = 296, + ASENSITIVE = 297, + ASSERTION = 298, + ASSIGNMENT = 299, + ASYMMETRIC = 300, + ATOMIC = 301, + AT = 302, + ATTACH = 303, + ATTRIBUTE = 304, + AUTHORIZATION = 305, + BACKWARD = 306, + BEFORE = 307, + BEGIN_P = 308, + BETWEEN = 309, + BIGINT = 310, + BINARY = 311, + BIT = 312, + BOOLEAN_P = 313, + BOTH = 314, + BREADTH = 315, + BY = 316, + CACHE = 317, + CALL = 318, + CALLED = 319, + CASCADE = 320, + CASCADED = 321, + CASE = 322, + CAST = 323, + CATALOG_P = 324, + CHAIN = 325, + CHAR_P = 326, + CHARACTER = 327, + CHARACTERISTICS = 328, + CHECK = 329, + CHECKPOINT = 330, + CLASS = 331, + CLOSE = 332, + CLUSTER = 333, + COALESCE = 334, + COLLATE = 335, + COLLATION = 336, + COLUMN = 337, + COLUMNS = 338, + COMMENT = 339, + COMMENTS = 340, + COMMIT = 341, + COMMITTED = 342, + COMPRESSION = 343, + CONCURRENTLY = 344, + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778, + Token_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + Token_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), }; + bool Token_IsValid(int value); -constexpr Token Token_MIN = NUL; -constexpr Token Token_MAX = UMINUS; -constexpr int Token_ARRAYSIZE = Token_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Token_descriptor(); -template -inline const std::string& Token_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function Token_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - Token_descriptor(), enum_t_value); -} -inline bool Token_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Token* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - Token_descriptor(), name, value); +extern const uint32_t Token_internal_data_[]; +constexpr Token Token_MIN = static_cast(0); +constexpr Token Token_MAX = static_cast(778); +constexpr int Token_ARRAYSIZE = 778 + 1; +const ::google::protobuf::EnumDescriptor* +Token_descriptor(); +template +const std::string& Token_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to Token_Name()."); + return Token_Name(static_cast(value)); +} +template <> +inline const std::string& Token_Name(Token value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool Token_Parse(absl::string_view name, Token* value) { + return ::google::protobuf::internal::ParseNamedEnum( + Token_descriptor(), name, value); } + // =================================================================== -class ParseResult final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ParseResult) */ { + +// ------------------------------------------------------------------- + +class VariableShowStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableShowStmt) */ { public: - inline ParseResult() : ParseResult(nullptr) {} - ~ParseResult() override; - explicit PROTOBUF_CONSTEXPR ParseResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline VariableShowStmt() : VariableShowStmt(nullptr) {} + ~VariableShowStmt() override; + template + explicit PROTOBUF_CONSTEXPR VariableShowStmt(::google::protobuf::internal::ConstantInitialized); - ParseResult(const ParseResult& from); - ParseResult(ParseResult&& from) noexcept - : ParseResult() { + inline VariableShowStmt(const VariableShowStmt& from) + : VariableShowStmt(nullptr, from) {} + VariableShowStmt(VariableShowStmt&& from) noexcept + : VariableShowStmt() { *this = ::std::move(from); } - inline ParseResult& operator=(const ParseResult& from) { + inline VariableShowStmt& operator=(const VariableShowStmt& from) { CopyFrom(from); return *this; } - inline ParseResult& operator=(ParseResult&& from) noexcept { + inline VariableShowStmt& operator=(VariableShowStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -3382,165 +4187,178 @@ class ParseResult final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ParseResult& default_instance() { + static const VariableShowStmt& default_instance() { return *internal_default_instance(); } - static inline const ParseResult* internal_default_instance() { - return reinterpret_cast( - &_ParseResult_default_instance_); + static inline const VariableShowStmt* internal_default_instance() { + return reinterpret_cast( + &_VariableShowStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 0; + 164; - friend void swap(ParseResult& a, ParseResult& b) { + friend void swap(VariableShowStmt& a, VariableShowStmt& b) { a.Swap(&b); } - inline void Swap(ParseResult* other) { + inline void Swap(VariableShowStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ParseResult* other) { + void UnsafeArenaSwap(VariableShowStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ParseResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VariableShowStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ParseResult& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ParseResult& from) { - ParseResult::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VariableShowStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const VariableShowStmt& from) { + VariableShowStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ParseResult* other); + void InternalSwap(VariableShowStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ParseResult"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.VariableShowStmt"; } protected: - explicit ParseResult(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit VariableShowStmt(::google::protobuf::Arena* arena); + VariableShowStmt(::google::protobuf::Arena* arena, const VariableShowStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kStmtsFieldNumber = 2, - kVersionFieldNumber = 1, + kNameFieldNumber = 1, }; - // repeated .pg_query.RawStmt stmts = 2; - int stmts_size() const; - private: - int _internal_stmts_size() const; - public: - void clear_stmts(); - ::pg_query::RawStmt* mutable_stmts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::RawStmt >* - mutable_stmts(); - private: - const ::pg_query::RawStmt& _internal_stmts(int index) const; - ::pg_query::RawStmt* _internal_add_stmts(); - public: - const ::pg_query::RawStmt& stmts(int index) const; - ::pg_query::RawStmt* add_stmts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::RawStmt >& - stmts() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // int32 version = 1; - void clear_version(); - int32_t version() const; - void set_version(int32_t value); private: - int32_t _internal_version() const; - void _internal_set_version(int32_t value); - public: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // @@protoc_insertion_point(class_scope:pg_query.ParseResult) + public: + // @@protoc_insertion_point(class_scope:pg_query.VariableShowStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 38, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::RawStmt > stmts_; - int32_t version_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ScanResult final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ScanResult) */ { +class UnlistenStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.UnlistenStmt) */ { public: - inline ScanResult() : ScanResult(nullptr) {} - ~ScanResult() override; - explicit PROTOBUF_CONSTEXPR ScanResult(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline UnlistenStmt() : UnlistenStmt(nullptr) {} + ~UnlistenStmt() override; + template + explicit PROTOBUF_CONSTEXPR UnlistenStmt(::google::protobuf::internal::ConstantInitialized); - ScanResult(const ScanResult& from); - ScanResult(ScanResult&& from) noexcept - : ScanResult() { + inline UnlistenStmt(const UnlistenStmt& from) + : UnlistenStmt(nullptr, from) {} + UnlistenStmt(UnlistenStmt&& from) noexcept + : UnlistenStmt() { *this = ::std::move(from); } - inline ScanResult& operator=(const ScanResult& from) { + inline UnlistenStmt& operator=(const UnlistenStmt& from) { CopyFrom(from); return *this; } - inline ScanResult& operator=(ScanResult&& from) noexcept { + inline UnlistenStmt& operator=(UnlistenStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -3550,165 +4368,178 @@ class ScanResult final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ScanResult& default_instance() { + static const UnlistenStmt& default_instance() { return *internal_default_instance(); } - static inline const ScanResult* internal_default_instance() { - return reinterpret_cast( - &_ScanResult_default_instance_); + static inline const UnlistenStmt* internal_default_instance() { + return reinterpret_cast( + &_UnlistenStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 1; + 229; - friend void swap(ScanResult& a, ScanResult& b) { + friend void swap(UnlistenStmt& a, UnlistenStmt& b) { a.Swap(&b); } - inline void Swap(ScanResult* other) { + inline void Swap(UnlistenStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ScanResult* other) { + void UnsafeArenaSwap(UnlistenStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ScanResult* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + UnlistenStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ScanResult& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ScanResult& from) { - ScanResult::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const UnlistenStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const UnlistenStmt& from) { + UnlistenStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ScanResult* other); + void InternalSwap(UnlistenStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ScanResult"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.UnlistenStmt"; } protected: - explicit ScanResult(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit UnlistenStmt(::google::protobuf::Arena* arena); + UnlistenStmt(::google::protobuf::Arena* arena, const UnlistenStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTokensFieldNumber = 2, - kVersionFieldNumber = 1, + kConditionnameFieldNumber = 1, }; - // repeated .pg_query.ScanToken tokens = 2; - int tokens_size() const; - private: - int _internal_tokens_size() const; - public: - void clear_tokens(); - ::pg_query::ScanToken* mutable_tokens(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::ScanToken >* - mutable_tokens(); - private: - const ::pg_query::ScanToken& _internal_tokens(int index) const; - ::pg_query::ScanToken* _internal_add_tokens(); - public: - const ::pg_query::ScanToken& tokens(int index) const; - ::pg_query::ScanToken* add_tokens(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::ScanToken >& - tokens() const; + // string conditionname = 1 [json_name = "conditionname"]; + void clear_conditionname() ; + const std::string& conditionname() const; + template + void set_conditionname(Arg_&& arg, Args_... args); + std::string* mutable_conditionname(); + PROTOBUF_NODISCARD std::string* release_conditionname(); + void set_allocated_conditionname(std::string* value); - // int32 version = 1; - void clear_version(); - int32_t version() const; - void set_version(int32_t value); private: - int32_t _internal_version() const; - void _internal_set_version(int32_t value); - public: + const std::string& _internal_conditionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname( + const std::string& value); + std::string* _internal_mutable_conditionname(); - // @@protoc_insertion_point(class_scope:pg_query.ScanResult) + public: + // @@protoc_insertion_point(class_scope:pg_query.UnlistenStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::ScanToken > tokens_; - int32_t version_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr conditionname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Node final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Node) */ { +class TriggerTransition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TriggerTransition) */ { public: - inline Node() : Node(nullptr) {} - ~Node() override; - explicit PROTOBUF_CONSTEXPR Node(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TriggerTransition() : TriggerTransition(nullptr) {} + ~TriggerTransition() override; + template + explicit PROTOBUF_CONSTEXPR TriggerTransition(::google::protobuf::internal::ConstantInitialized); - Node(const Node& from); - Node(Node&& from) noexcept - : Node() { + inline TriggerTransition(const TriggerTransition& from) + : TriggerTransition(nullptr, from) {} + TriggerTransition(TriggerTransition&& from) noexcept + : TriggerTransition() { *this = ::std::move(from); } - inline Node& operator=(const Node& from) { + inline TriggerTransition& operator=(const TriggerTransition& from) { CopyFrom(from); return *this; } - inline Node& operator=(Node&& from) noexcept { + inline TriggerTransition& operator=(TriggerTransition&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -3718,5385 +4549,5380 @@ class Node final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Node& default_instance() { + static const TriggerTransition& default_instance() { return *internal_default_instance(); } - enum NodeCase { - kAlias = 1, - kRangeVar = 2, - kTableFunc = 3, - kVar = 4, - kParam = 5, - kAggref = 6, - kGroupingFunc = 7, - kWindowFunc = 8, - kSubscriptingRef = 9, - kFuncExpr = 10, - kNamedArgExpr = 11, - kOpExpr = 12, - kDistinctExpr = 13, - kNullIfExpr = 14, - kScalarArrayOpExpr = 15, - kBoolExpr = 16, - kSubLink = 17, - kSubPlan = 18, - kAlternativeSubPlan = 19, - kFieldSelect = 20, - kFieldStore = 21, - kRelabelType = 22, - kCoerceViaIo = 23, - kArrayCoerceExpr = 24, - kConvertRowtypeExpr = 25, - kCollateExpr = 26, - kCaseExpr = 27, - kCaseWhen = 28, - kCaseTestExpr = 29, - kArrayExpr = 30, - kRowExpr = 31, - kRowCompareExpr = 32, - kCoalesceExpr = 33, - kMinMaxExpr = 34, - kSqlvalueFunction = 35, - kXmlExpr = 36, - kNullTest = 37, - kBooleanTest = 38, - kCoerceToDomain = 39, - kCoerceToDomainValue = 40, - kSetToDefault = 41, - kCurrentOfExpr = 42, - kNextValueExpr = 43, - kInferenceElem = 44, - kTargetEntry = 45, - kRangeTblRef = 46, - kJoinExpr = 47, - kFromExpr = 48, - kOnConflictExpr = 49, - kIntoClause = 50, - kMergeAction = 51, - kRawStmt = 52, - kQuery = 53, - kInsertStmt = 54, - kDeleteStmt = 55, - kUpdateStmt = 56, - kMergeStmt = 57, - kSelectStmt = 58, - kReturnStmt = 59, - kPlassignStmt = 60, - kAlterTableStmt = 61, - kAlterTableCmd = 62, - kAlterDomainStmt = 63, - kSetOperationStmt = 64, - kGrantStmt = 65, - kGrantRoleStmt = 66, - kAlterDefaultPrivilegesStmt = 67, - kClosePortalStmt = 68, - kClusterStmt = 69, - kCopyStmt = 70, - kCreateStmt = 71, - kDefineStmt = 72, - kDropStmt = 73, - kTruncateStmt = 74, - kCommentStmt = 75, - kFetchStmt = 76, - kIndexStmt = 77, - kCreateFunctionStmt = 78, - kAlterFunctionStmt = 79, - kDoStmt = 80, - kRenameStmt = 81, - kRuleStmt = 82, - kNotifyStmt = 83, - kListenStmt = 84, - kUnlistenStmt = 85, - kTransactionStmt = 86, - kViewStmt = 87, - kLoadStmt = 88, - kCreateDomainStmt = 89, - kCreatedbStmt = 90, - kDropdbStmt = 91, - kVacuumStmt = 92, - kExplainStmt = 93, - kCreateTableAsStmt = 94, - kCreateSeqStmt = 95, - kAlterSeqStmt = 96, - kVariableSetStmt = 97, - kVariableShowStmt = 98, - kDiscardStmt = 99, - kCreateTrigStmt = 100, - kCreatePlangStmt = 101, - kCreateRoleStmt = 102, - kAlterRoleStmt = 103, - kDropRoleStmt = 104, - kLockStmt = 105, - kConstraintsSetStmt = 106, - kReindexStmt = 107, - kCheckPointStmt = 108, - kCreateSchemaStmt = 109, - kAlterDatabaseStmt = 110, - kAlterDatabaseRefreshCollStmt = 111, - kAlterDatabaseSetStmt = 112, - kAlterRoleSetStmt = 113, - kCreateConversionStmt = 114, - kCreateCastStmt = 115, - kCreateOpClassStmt = 116, - kCreateOpFamilyStmt = 117, - kAlterOpFamilyStmt = 118, - kPrepareStmt = 119, - kExecuteStmt = 120, - kDeallocateStmt = 121, - kDeclareCursorStmt = 122, - kCreateTableSpaceStmt = 123, - kDropTableSpaceStmt = 124, - kAlterObjectDependsStmt = 125, - kAlterObjectSchemaStmt = 126, - kAlterOwnerStmt = 127, - kAlterOperatorStmt = 128, - kAlterTypeStmt = 129, - kDropOwnedStmt = 130, - kReassignOwnedStmt = 131, - kCompositeTypeStmt = 132, - kCreateEnumStmt = 133, - kCreateRangeStmt = 134, - kAlterEnumStmt = 135, - kAlterTsdictionaryStmt = 136, - kAlterTsconfigurationStmt = 137, - kCreateFdwStmt = 138, - kAlterFdwStmt = 139, - kCreateForeignServerStmt = 140, - kAlterForeignServerStmt = 141, - kCreateUserMappingStmt = 142, - kAlterUserMappingStmt = 143, - kDropUserMappingStmt = 144, - kAlterTableSpaceOptionsStmt = 145, - kAlterTableMoveAllStmt = 146, - kSecLabelStmt = 147, - kCreateForeignTableStmt = 148, - kImportForeignSchemaStmt = 149, - kCreateExtensionStmt = 150, - kAlterExtensionStmt = 151, - kAlterExtensionContentsStmt = 152, - kCreateEventTrigStmt = 153, - kAlterEventTrigStmt = 154, - kRefreshMatViewStmt = 155, - kReplicaIdentityStmt = 156, - kAlterSystemStmt = 157, - kCreatePolicyStmt = 158, - kAlterPolicyStmt = 159, - kCreateTransformStmt = 160, - kCreateAmStmt = 161, - kCreatePublicationStmt = 162, - kAlterPublicationStmt = 163, - kCreateSubscriptionStmt = 164, - kAlterSubscriptionStmt = 165, - kDropSubscriptionStmt = 166, - kCreateStatsStmt = 167, - kAlterCollationStmt = 168, - kCallStmt = 169, - kAlterStatsStmt = 170, - kAExpr = 171, - kColumnRef = 172, - kParamRef = 173, - kFuncCall = 174, - kAStar = 175, - kAIndices = 176, - kAIndirection = 177, - kAArrayExpr = 178, - kResTarget = 179, - kMultiAssignRef = 180, - kTypeCast = 181, - kCollateClause = 182, - kSortBy = 183, - kWindowDef = 184, - kRangeSubselect = 185, - kRangeFunction = 186, - kRangeTableSample = 187, - kRangeTableFunc = 188, - kRangeTableFuncCol = 189, - kTypeName = 190, - kColumnDef = 191, - kIndexElem = 192, - kStatsElem = 193, - kConstraint = 194, - kDefElem = 195, - kRangeTblEntry = 196, - kRangeTblFunction = 197, - kTableSampleClause = 198, - kWithCheckOption = 199, - kSortGroupClause = 200, - kGroupingSet = 201, - kWindowClause = 202, - kObjectWithArgs = 203, - kAccessPriv = 204, - kCreateOpClassItem = 205, - kTableLikeClause = 206, - kFunctionParameter = 207, - kLockingClause = 208, - kRowMarkClause = 209, - kXmlSerialize = 210, - kWithClause = 211, - kInferClause = 212, - kOnConflictClause = 213, - kCtesearchClause = 214, - kCtecycleClause = 215, - kCommonTableExpr = 216, - kMergeWhenClause = 217, - kRoleSpec = 218, - kTriggerTransition = 219, - kPartitionElem = 220, - kPartitionSpec = 221, - kPartitionBoundSpec = 222, - kPartitionRangeDatum = 223, - kPartitionCmd = 224, - kVacuumRelation = 225, - kPublicationObjSpec = 226, - kPublicationTable = 227, - kInlineCodeBlock = 228, - kCallContext = 229, - kInteger = 230, - kFloat = 231, - kBoolean = 232, - kString = 233, - kBitString = 234, - kList = 235, - kIntList = 236, - kOidList = 237, - kAConst = 238, - NODE_NOT_SET = 0, - }; - - static inline const Node* internal_default_instance() { - return reinterpret_cast( - &_Node_default_instance_); + static inline const TriggerTransition* internal_default_instance() { + return reinterpret_cast( + &_TriggerTransition_default_instance_); } static constexpr int kIndexInFileMessages = - 2; + 125; - friend void swap(Node& a, Node& b) { + friend void swap(TriggerTransition& a, TriggerTransition& b) { a.Swap(&b); } - inline void Swap(Node* other) { + inline void Swap(TriggerTransition* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Node* other) { + void UnsafeArenaSwap(TriggerTransition* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Node* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TriggerTransition* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Node& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Node& from) { - Node::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TriggerTransition& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TriggerTransition& from) { + TriggerTransition::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Node* other); + void InternalSwap(TriggerTransition* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Node"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TriggerTransition"; } protected: - explicit Node(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TriggerTransition(::google::protobuf::Arena* arena); + TriggerTransition(::google::protobuf::Arena* arena, const TriggerTransition& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kAliasFieldNumber = 1, - kRangeVarFieldNumber = 2, - kTableFuncFieldNumber = 3, - kVarFieldNumber = 4, - kParamFieldNumber = 5, - kAggrefFieldNumber = 6, - kGroupingFuncFieldNumber = 7, - kWindowFuncFieldNumber = 8, - kSubscriptingRefFieldNumber = 9, - kFuncExprFieldNumber = 10, - kNamedArgExprFieldNumber = 11, - kOpExprFieldNumber = 12, - kDistinctExprFieldNumber = 13, - kNullIfExprFieldNumber = 14, - kScalarArrayOpExprFieldNumber = 15, - kBoolExprFieldNumber = 16, - kSubLinkFieldNumber = 17, - kSubPlanFieldNumber = 18, - kAlternativeSubPlanFieldNumber = 19, - kFieldSelectFieldNumber = 20, - kFieldStoreFieldNumber = 21, - kRelabelTypeFieldNumber = 22, - kCoerceViaIoFieldNumber = 23, - kArrayCoerceExprFieldNumber = 24, - kConvertRowtypeExprFieldNumber = 25, - kCollateExprFieldNumber = 26, - kCaseExprFieldNumber = 27, - kCaseWhenFieldNumber = 28, - kCaseTestExprFieldNumber = 29, - kArrayExprFieldNumber = 30, - kRowExprFieldNumber = 31, - kRowCompareExprFieldNumber = 32, - kCoalesceExprFieldNumber = 33, - kMinMaxExprFieldNumber = 34, - kSqlvalueFunctionFieldNumber = 35, - kXmlExprFieldNumber = 36, - kNullTestFieldNumber = 37, - kBooleanTestFieldNumber = 38, - kCoerceToDomainFieldNumber = 39, - kCoerceToDomainValueFieldNumber = 40, - kSetToDefaultFieldNumber = 41, - kCurrentOfExprFieldNumber = 42, - kNextValueExprFieldNumber = 43, - kInferenceElemFieldNumber = 44, - kTargetEntryFieldNumber = 45, - kRangeTblRefFieldNumber = 46, - kJoinExprFieldNumber = 47, - kFromExprFieldNumber = 48, - kOnConflictExprFieldNumber = 49, - kIntoClauseFieldNumber = 50, - kMergeActionFieldNumber = 51, - kRawStmtFieldNumber = 52, - kQueryFieldNumber = 53, - kInsertStmtFieldNumber = 54, - kDeleteStmtFieldNumber = 55, - kUpdateStmtFieldNumber = 56, - kMergeStmtFieldNumber = 57, - kSelectStmtFieldNumber = 58, - kReturnStmtFieldNumber = 59, - kPlassignStmtFieldNumber = 60, - kAlterTableStmtFieldNumber = 61, - kAlterTableCmdFieldNumber = 62, - kAlterDomainStmtFieldNumber = 63, - kSetOperationStmtFieldNumber = 64, - kGrantStmtFieldNumber = 65, - kGrantRoleStmtFieldNumber = 66, - kAlterDefaultPrivilegesStmtFieldNumber = 67, - kClosePortalStmtFieldNumber = 68, - kClusterStmtFieldNumber = 69, - kCopyStmtFieldNumber = 70, - kCreateStmtFieldNumber = 71, - kDefineStmtFieldNumber = 72, - kDropStmtFieldNumber = 73, - kTruncateStmtFieldNumber = 74, - kCommentStmtFieldNumber = 75, - kFetchStmtFieldNumber = 76, - kIndexStmtFieldNumber = 77, - kCreateFunctionStmtFieldNumber = 78, - kAlterFunctionStmtFieldNumber = 79, - kDoStmtFieldNumber = 80, - kRenameStmtFieldNumber = 81, - kRuleStmtFieldNumber = 82, - kNotifyStmtFieldNumber = 83, - kListenStmtFieldNumber = 84, - kUnlistenStmtFieldNumber = 85, - kTransactionStmtFieldNumber = 86, - kViewStmtFieldNumber = 87, - kLoadStmtFieldNumber = 88, - kCreateDomainStmtFieldNumber = 89, - kCreatedbStmtFieldNumber = 90, - kDropdbStmtFieldNumber = 91, - kVacuumStmtFieldNumber = 92, - kExplainStmtFieldNumber = 93, - kCreateTableAsStmtFieldNumber = 94, - kCreateSeqStmtFieldNumber = 95, - kAlterSeqStmtFieldNumber = 96, - kVariableSetStmtFieldNumber = 97, - kVariableShowStmtFieldNumber = 98, - kDiscardStmtFieldNumber = 99, - kCreateTrigStmtFieldNumber = 100, - kCreatePlangStmtFieldNumber = 101, - kCreateRoleStmtFieldNumber = 102, - kAlterRoleStmtFieldNumber = 103, - kDropRoleStmtFieldNumber = 104, - kLockStmtFieldNumber = 105, - kConstraintsSetStmtFieldNumber = 106, - kReindexStmtFieldNumber = 107, - kCheckPointStmtFieldNumber = 108, - kCreateSchemaStmtFieldNumber = 109, - kAlterDatabaseStmtFieldNumber = 110, - kAlterDatabaseRefreshCollStmtFieldNumber = 111, - kAlterDatabaseSetStmtFieldNumber = 112, - kAlterRoleSetStmtFieldNumber = 113, - kCreateConversionStmtFieldNumber = 114, - kCreateCastStmtFieldNumber = 115, - kCreateOpClassStmtFieldNumber = 116, - kCreateOpFamilyStmtFieldNumber = 117, - kAlterOpFamilyStmtFieldNumber = 118, - kPrepareStmtFieldNumber = 119, - kExecuteStmtFieldNumber = 120, - kDeallocateStmtFieldNumber = 121, - kDeclareCursorStmtFieldNumber = 122, - kCreateTableSpaceStmtFieldNumber = 123, - kDropTableSpaceStmtFieldNumber = 124, - kAlterObjectDependsStmtFieldNumber = 125, - kAlterObjectSchemaStmtFieldNumber = 126, - kAlterOwnerStmtFieldNumber = 127, - kAlterOperatorStmtFieldNumber = 128, - kAlterTypeStmtFieldNumber = 129, - kDropOwnedStmtFieldNumber = 130, - kReassignOwnedStmtFieldNumber = 131, - kCompositeTypeStmtFieldNumber = 132, - kCreateEnumStmtFieldNumber = 133, - kCreateRangeStmtFieldNumber = 134, - kAlterEnumStmtFieldNumber = 135, - kAlterTsdictionaryStmtFieldNumber = 136, - kAlterTsconfigurationStmtFieldNumber = 137, - kCreateFdwStmtFieldNumber = 138, - kAlterFdwStmtFieldNumber = 139, - kCreateForeignServerStmtFieldNumber = 140, - kAlterForeignServerStmtFieldNumber = 141, - kCreateUserMappingStmtFieldNumber = 142, - kAlterUserMappingStmtFieldNumber = 143, - kDropUserMappingStmtFieldNumber = 144, - kAlterTableSpaceOptionsStmtFieldNumber = 145, - kAlterTableMoveAllStmtFieldNumber = 146, - kSecLabelStmtFieldNumber = 147, - kCreateForeignTableStmtFieldNumber = 148, - kImportForeignSchemaStmtFieldNumber = 149, - kCreateExtensionStmtFieldNumber = 150, - kAlterExtensionStmtFieldNumber = 151, - kAlterExtensionContentsStmtFieldNumber = 152, - kCreateEventTrigStmtFieldNumber = 153, - kAlterEventTrigStmtFieldNumber = 154, - kRefreshMatViewStmtFieldNumber = 155, - kReplicaIdentityStmtFieldNumber = 156, - kAlterSystemStmtFieldNumber = 157, - kCreatePolicyStmtFieldNumber = 158, - kAlterPolicyStmtFieldNumber = 159, - kCreateTransformStmtFieldNumber = 160, - kCreateAmStmtFieldNumber = 161, - kCreatePublicationStmtFieldNumber = 162, - kAlterPublicationStmtFieldNumber = 163, - kCreateSubscriptionStmtFieldNumber = 164, - kAlterSubscriptionStmtFieldNumber = 165, - kDropSubscriptionStmtFieldNumber = 166, - kCreateStatsStmtFieldNumber = 167, - kAlterCollationStmtFieldNumber = 168, - kCallStmtFieldNumber = 169, - kAlterStatsStmtFieldNumber = 170, - kAExprFieldNumber = 171, - kColumnRefFieldNumber = 172, - kParamRefFieldNumber = 173, - kFuncCallFieldNumber = 174, - kAStarFieldNumber = 175, - kAIndicesFieldNumber = 176, - kAIndirectionFieldNumber = 177, - kAArrayExprFieldNumber = 178, - kResTargetFieldNumber = 179, - kMultiAssignRefFieldNumber = 180, - kTypeCastFieldNumber = 181, - kCollateClauseFieldNumber = 182, - kSortByFieldNumber = 183, - kWindowDefFieldNumber = 184, - kRangeSubselectFieldNumber = 185, - kRangeFunctionFieldNumber = 186, - kRangeTableSampleFieldNumber = 187, - kRangeTableFuncFieldNumber = 188, - kRangeTableFuncColFieldNumber = 189, - kTypeNameFieldNumber = 190, - kColumnDefFieldNumber = 191, - kIndexElemFieldNumber = 192, - kStatsElemFieldNumber = 193, - kConstraintFieldNumber = 194, - kDefElemFieldNumber = 195, - kRangeTblEntryFieldNumber = 196, - kRangeTblFunctionFieldNumber = 197, - kTableSampleClauseFieldNumber = 198, - kWithCheckOptionFieldNumber = 199, - kSortGroupClauseFieldNumber = 200, - kGroupingSetFieldNumber = 201, - kWindowClauseFieldNumber = 202, - kObjectWithArgsFieldNumber = 203, - kAccessPrivFieldNumber = 204, - kCreateOpClassItemFieldNumber = 205, - kTableLikeClauseFieldNumber = 206, - kFunctionParameterFieldNumber = 207, - kLockingClauseFieldNumber = 208, - kRowMarkClauseFieldNumber = 209, - kXmlSerializeFieldNumber = 210, - kWithClauseFieldNumber = 211, - kInferClauseFieldNumber = 212, - kOnConflictClauseFieldNumber = 213, - kCtesearchClauseFieldNumber = 214, - kCtecycleClauseFieldNumber = 215, - kCommonTableExprFieldNumber = 216, - kMergeWhenClauseFieldNumber = 217, - kRoleSpecFieldNumber = 218, - kTriggerTransitionFieldNumber = 219, - kPartitionElemFieldNumber = 220, - kPartitionSpecFieldNumber = 221, - kPartitionBoundSpecFieldNumber = 222, - kPartitionRangeDatumFieldNumber = 223, - kPartitionCmdFieldNumber = 224, - kVacuumRelationFieldNumber = 225, - kPublicationObjSpecFieldNumber = 226, - kPublicationTableFieldNumber = 227, - kInlineCodeBlockFieldNumber = 228, - kCallContextFieldNumber = 229, - kIntegerFieldNumber = 230, - kFloatFieldNumber = 231, - kBooleanFieldNumber = 232, - kStringFieldNumber = 233, - kBitStringFieldNumber = 234, - kListFieldNumber = 235, - kIntListFieldNumber = 236, - kOidListFieldNumber = 237, - kAConstFieldNumber = 238, + kNameFieldNumber = 1, + kIsNewFieldNumber = 2, + kIsTableFieldNumber = 3, }; - // .pg_query.Alias alias = 1 [json_name = "Alias"]; - bool has_alias() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - bool _internal_has_alias() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); + // bool is_new = 2 [json_name = "isNew"]; + void clear_is_new() ; + bool is_new() const; + void set_is_new(bool value); + private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + bool _internal_is_new() const; + void _internal_set_is_new(bool value); + public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // bool is_table = 3 [json_name = "isTable"]; + void clear_is_table() ; + bool is_table() const; + void set_is_table(bool value); - // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; - bool has_range_var() const; private: - bool _internal_has_range_var() const; + bool _internal_is_table() const; + void _internal_set_is_table(bool value); + public: - void clear_range_var(); - const ::pg_query::RangeVar& range_var() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_range_var(); - ::pg_query::RangeVar* mutable_range_var(); - void set_allocated_range_var(::pg_query::RangeVar* range_var); + // @@protoc_insertion_point(class_scope:pg_query.TriggerTransition) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 39, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr name_; + bool is_new_; + bool is_table_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class String final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.String) */ { + public: + inline String() : String(nullptr) {} + ~String() override; + template + explicit PROTOBUF_CONSTEXPR String(::google::protobuf::internal::ConstantInitialized); + + inline String(const String& from) + : String(nullptr, from) {} + String(String&& from) noexcept + : String() { + *this = ::std::move(from); + } + + inline String& operator=(const String& from) { + CopyFrom(from); + return *this; + } + inline String& operator=(String&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const String& default_instance() { + return *internal_default_instance(); + } + static inline const String* internal_default_instance() { + return reinterpret_cast( + &_String_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(String& a, String& b) { + a.Swap(&b); + } + inline void Swap(String* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(String* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + String* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const String& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const String& from) { + String::MergeImpl(*this, from); + } private: - const ::pg_query::RangeVar& _internal_range_var() const; - ::pg_query::RangeVar* _internal_mutable_range_var(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_range_var( - ::pg_query::RangeVar* range_var); - ::pg_query::RangeVar* unsafe_arena_release_range_var(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; - bool has_table_func() const; private: - bool _internal_has_table_func() const; - public: - void clear_table_func(); - const ::pg_query::TableFunc& table_func() const; - PROTOBUF_NODISCARD ::pg_query::TableFunc* release_table_func(); - ::pg_query::TableFunc* mutable_table_func(); - void set_allocated_table_func(::pg_query::TableFunc* table_func); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(String* other); + private: - const ::pg_query::TableFunc& _internal_table_func() const; - ::pg_query::TableFunc* _internal_mutable_table_func(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.String"; + } + protected: + explicit String(::google::protobuf::Arena* arena); + String(::google::protobuf::Arena* arena, const String& from); public: - void unsafe_arena_set_allocated_table_func( - ::pg_query::TableFunc* table_func); - ::pg_query::TableFunc* unsafe_arena_release_table_func(); - // .pg_query.Var var = 4 [json_name = "Var"]; - bool has_var() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSvalFieldNumber = 1, + }; + // string sval = 1; + void clear_sval() ; + const std::string& sval() const; + template + void set_sval(Arg_&& arg, Args_... args); + std::string* mutable_sval(); + PROTOBUF_NODISCARD std::string* release_sval(); + void set_allocated_sval(std::string* value); + private: - bool _internal_has_var() const; + const std::string& _internal_sval() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_sval( + const std::string& value); + std::string* _internal_mutable_sval(); + public: - void clear_var(); - const ::pg_query::Var& var() const; - PROTOBUF_NODISCARD ::pg_query::Var* release_var(); - ::pg_query::Var* mutable_var(); - void set_allocated_var(::pg_query::Var* var); + // @@protoc_insertion_point(class_scope:pg_query.String) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 28, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr sval_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class SortGroupClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SortGroupClause) */ { + public: + inline SortGroupClause() : SortGroupClause(nullptr) {} + ~SortGroupClause() override; + template + explicit PROTOBUF_CONSTEXPR SortGroupClause(::google::protobuf::internal::ConstantInitialized); + + inline SortGroupClause(const SortGroupClause& from) + : SortGroupClause(nullptr, from) {} + SortGroupClause(SortGroupClause&& from) noexcept + : SortGroupClause() { + *this = ::std::move(from); + } + + inline SortGroupClause& operator=(const SortGroupClause& from) { + CopyFrom(from); + return *this; + } + inline SortGroupClause& operator=(SortGroupClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SortGroupClause& default_instance() { + return *internal_default_instance(); + } + static inline const SortGroupClause* internal_default_instance() { + return reinterpret_cast( + &_SortGroupClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 114; + + friend void swap(SortGroupClause& a, SortGroupClause& b) { + a.Swap(&b); + } + inline void Swap(SortGroupClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SortGroupClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SortGroupClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SortGroupClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SortGroupClause& from) { + SortGroupClause::MergeImpl(*this, from); + } private: - const ::pg_query::Var& _internal_var() const; - ::pg_query::Var* _internal_mutable_var(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_var( - ::pg_query::Var* var); - ::pg_query::Var* unsafe_arena_release_var(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.Param param = 5 [json_name = "Param"]; - bool has_param() const; private: - bool _internal_has_param() const; - public: - void clear_param(); - const ::pg_query::Param& param() const; - PROTOBUF_NODISCARD ::pg_query::Param* release_param(); - ::pg_query::Param* mutable_param(); - void set_allocated_param(::pg_query::Param* param); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(SortGroupClause* other); + private: - const ::pg_query::Param& _internal_param() const; - ::pg_query::Param* _internal_mutable_param(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SortGroupClause"; + } + protected: + explicit SortGroupClause(::google::protobuf::Arena* arena); + SortGroupClause(::google::protobuf::Arena* arena, const SortGroupClause& from); public: - void unsafe_arena_set_allocated_param( - ::pg_query::Param* param); - ::pg_query::Param* unsafe_arena_release_param(); - // .pg_query.Aggref aggref = 6 [json_name = "Aggref"]; - bool has_aggref() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTleSortGroupRefFieldNumber = 1, + kEqopFieldNumber = 2, + kSortopFieldNumber = 3, + kNullsFirstFieldNumber = 4, + kHashableFieldNumber = 5, + }; + // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; + void clear_tle_sort_group_ref() ; + ::uint32_t tle_sort_group_ref() const; + void set_tle_sort_group_ref(::uint32_t value); + private: - bool _internal_has_aggref() const; + ::uint32_t _internal_tle_sort_group_ref() const; + void _internal_set_tle_sort_group_ref(::uint32_t value); + public: - void clear_aggref(); - const ::pg_query::Aggref& aggref() const; - PROTOBUF_NODISCARD ::pg_query::Aggref* release_aggref(); - ::pg_query::Aggref* mutable_aggref(); - void set_allocated_aggref(::pg_query::Aggref* aggref); + // uint32 eqop = 2 [json_name = "eqop"]; + void clear_eqop() ; + ::uint32_t eqop() const; + void set_eqop(::uint32_t value); + private: - const ::pg_query::Aggref& _internal_aggref() const; - ::pg_query::Aggref* _internal_mutable_aggref(); + ::uint32_t _internal_eqop() const; + void _internal_set_eqop(::uint32_t value); + public: - void unsafe_arena_set_allocated_aggref( - ::pg_query::Aggref* aggref); - ::pg_query::Aggref* unsafe_arena_release_aggref(); + // uint32 sortop = 3 [json_name = "sortop"]; + void clear_sortop() ; + ::uint32_t sortop() const; + void set_sortop(::uint32_t value); - // .pg_query.GroupingFunc grouping_func = 7 [json_name = "GroupingFunc"]; - bool has_grouping_func() const; private: - bool _internal_has_grouping_func() const; + ::uint32_t _internal_sortop() const; + void _internal_set_sortop(::uint32_t value); + public: - void clear_grouping_func(); - const ::pg_query::GroupingFunc& grouping_func() const; - PROTOBUF_NODISCARD ::pg_query::GroupingFunc* release_grouping_func(); - ::pg_query::GroupingFunc* mutable_grouping_func(); - void set_allocated_grouping_func(::pg_query::GroupingFunc* grouping_func); - private: - const ::pg_query::GroupingFunc& _internal_grouping_func() const; - ::pg_query::GroupingFunc* _internal_mutable_grouping_func(); - public: - void unsafe_arena_set_allocated_grouping_func( - ::pg_query::GroupingFunc* grouping_func); - ::pg_query::GroupingFunc* unsafe_arena_release_grouping_func(); + // bool nulls_first = 4 [json_name = "nulls_first"]; + void clear_nulls_first() ; + bool nulls_first() const; + void set_nulls_first(bool value); - // .pg_query.WindowFunc window_func = 8 [json_name = "WindowFunc"]; - bool has_window_func() const; - private: - bool _internal_has_window_func() const; - public: - void clear_window_func(); - const ::pg_query::WindowFunc& window_func() const; - PROTOBUF_NODISCARD ::pg_query::WindowFunc* release_window_func(); - ::pg_query::WindowFunc* mutable_window_func(); - void set_allocated_window_func(::pg_query::WindowFunc* window_func); private: - const ::pg_query::WindowFunc& _internal_window_func() const; - ::pg_query::WindowFunc* _internal_mutable_window_func(); - public: - void unsafe_arena_set_allocated_window_func( - ::pg_query::WindowFunc* window_func); - ::pg_query::WindowFunc* unsafe_arena_release_window_func(); + bool _internal_nulls_first() const; + void _internal_set_nulls_first(bool value); - // .pg_query.SubscriptingRef subscripting_ref = 9 [json_name = "SubscriptingRef"]; - bool has_subscripting_ref() const; - private: - bool _internal_has_subscripting_ref() const; - public: - void clear_subscripting_ref(); - const ::pg_query::SubscriptingRef& subscripting_ref() const; - PROTOBUF_NODISCARD ::pg_query::SubscriptingRef* release_subscripting_ref(); - ::pg_query::SubscriptingRef* mutable_subscripting_ref(); - void set_allocated_subscripting_ref(::pg_query::SubscriptingRef* subscripting_ref); - private: - const ::pg_query::SubscriptingRef& _internal_subscripting_ref() const; - ::pg_query::SubscriptingRef* _internal_mutable_subscripting_ref(); public: - void unsafe_arena_set_allocated_subscripting_ref( - ::pg_query::SubscriptingRef* subscripting_ref); - ::pg_query::SubscriptingRef* unsafe_arena_release_subscripting_ref(); + // bool hashable = 5 [json_name = "hashable"]; + void clear_hashable() ; + bool hashable() const; + void set_hashable(bool value); - // .pg_query.FuncExpr func_expr = 10 [json_name = "FuncExpr"]; - bool has_func_expr() const; - private: - bool _internal_has_func_expr() const; - public: - void clear_func_expr(); - const ::pg_query::FuncExpr& func_expr() const; - PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_func_expr(); - ::pg_query::FuncExpr* mutable_func_expr(); - void set_allocated_func_expr(::pg_query::FuncExpr* func_expr); private: - const ::pg_query::FuncExpr& _internal_func_expr() const; - ::pg_query::FuncExpr* _internal_mutable_func_expr(); - public: - void unsafe_arena_set_allocated_func_expr( - ::pg_query::FuncExpr* func_expr); - ::pg_query::FuncExpr* unsafe_arena_release_func_expr(); + bool _internal_hashable() const; + void _internal_set_hashable(bool value); - // .pg_query.NamedArgExpr named_arg_expr = 11 [json_name = "NamedArgExpr"]; - bool has_named_arg_expr() const; - private: - bool _internal_has_named_arg_expr() const; - public: - void clear_named_arg_expr(); - const ::pg_query::NamedArgExpr& named_arg_expr() const; - PROTOBUF_NODISCARD ::pg_query::NamedArgExpr* release_named_arg_expr(); - ::pg_query::NamedArgExpr* mutable_named_arg_expr(); - void set_allocated_named_arg_expr(::pg_query::NamedArgExpr* named_arg_expr); - private: - const ::pg_query::NamedArgExpr& _internal_named_arg_expr() const; - ::pg_query::NamedArgExpr* _internal_mutable_named_arg_expr(); public: - void unsafe_arena_set_allocated_named_arg_expr( - ::pg_query::NamedArgExpr* named_arg_expr); - ::pg_query::NamedArgExpr* unsafe_arena_release_named_arg_expr(); + // @@protoc_insertion_point(class_scope:pg_query.SortGroupClause) + private: + class _Internal; - // .pg_query.OpExpr op_expr = 12 [json_name = "OpExpr"]; - bool has_op_expr() const; - private: - bool _internal_has_op_expr() const; - public: - void clear_op_expr(); - const ::pg_query::OpExpr& op_expr() const; - PROTOBUF_NODISCARD ::pg_query::OpExpr* release_op_expr(); - ::pg_query::OpExpr* mutable_op_expr(); - void set_allocated_op_expr(::pg_query::OpExpr* op_expr); - private: - const ::pg_query::OpExpr& _internal_op_expr() const; - ::pg_query::OpExpr* _internal_mutable_op_expr(); - public: - void unsafe_arena_set_allocated_op_expr( - ::pg_query::OpExpr* op_expr); - ::pg_query::OpExpr* unsafe_arena_release_op_expr(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.DistinctExpr distinct_expr = 13 [json_name = "DistinctExpr"]; - bool has_distinct_expr() const; - private: - bool _internal_has_distinct_expr() const; - public: - void clear_distinct_expr(); - const ::pg_query::DistinctExpr& distinct_expr() const; - PROTOBUF_NODISCARD ::pg_query::DistinctExpr* release_distinct_expr(); - ::pg_query::DistinctExpr* mutable_distinct_expr(); - void set_allocated_distinct_expr(::pg_query::DistinctExpr* distinct_expr); - private: - const ::pg_query::DistinctExpr& _internal_distinct_expr() const; - ::pg_query::DistinctExpr* _internal_mutable_distinct_expr(); - public: - void unsafe_arena_set_allocated_distinct_expr( - ::pg_query::DistinctExpr* distinct_expr); - ::pg_query::DistinctExpr* unsafe_arena_release_distinct_expr(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::uint32_t tle_sort_group_ref_; + ::uint32_t eqop_; + ::uint32_t sortop_; + bool nulls_first_; + bool hashable_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.NullIfExpr null_if_expr = 14 [json_name = "NullIfExpr"]; - bool has_null_if_expr() const; - private: - bool _internal_has_null_if_expr() const; - public: - void clear_null_if_expr(); - const ::pg_query::NullIfExpr& null_if_expr() const; - PROTOBUF_NODISCARD ::pg_query::NullIfExpr* release_null_if_expr(); - ::pg_query::NullIfExpr* mutable_null_if_expr(); - void set_allocated_null_if_expr(::pg_query::NullIfExpr* null_if_expr); - private: - const ::pg_query::NullIfExpr& _internal_null_if_expr() const; - ::pg_query::NullIfExpr* _internal_mutable_null_if_expr(); - public: - void unsafe_arena_set_allocated_null_if_expr( - ::pg_query::NullIfExpr* null_if_expr); - ::pg_query::NullIfExpr* unsafe_arena_release_null_if_expr(); +class SinglePartitionSpec final : + public ::google::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.SinglePartitionSpec) */ { + public: + inline SinglePartitionSpec() : SinglePartitionSpec(nullptr) {} + template + explicit PROTOBUF_CONSTEXPR SinglePartitionSpec(::google::protobuf::internal::ConstantInitialized); + + inline SinglePartitionSpec(const SinglePartitionSpec& from) + : SinglePartitionSpec(nullptr, from) {} + SinglePartitionSpec(SinglePartitionSpec&& from) noexcept + : SinglePartitionSpec() { + *this = ::std::move(from); + } - // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 15 [json_name = "ScalarArrayOpExpr"]; - bool has_scalar_array_op_expr() const; - private: - bool _internal_has_scalar_array_op_expr() const; - public: - void clear_scalar_array_op_expr(); - const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr() const; - PROTOBUF_NODISCARD ::pg_query::ScalarArrayOpExpr* release_scalar_array_op_expr(); - ::pg_query::ScalarArrayOpExpr* mutable_scalar_array_op_expr(); - void set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* scalar_array_op_expr); - private: - const ::pg_query::ScalarArrayOpExpr& _internal_scalar_array_op_expr() const; - ::pg_query::ScalarArrayOpExpr* _internal_mutable_scalar_array_op_expr(); - public: - void unsafe_arena_set_allocated_scalar_array_op_expr( - ::pg_query::ScalarArrayOpExpr* scalar_array_op_expr); - ::pg_query::ScalarArrayOpExpr* unsafe_arena_release_scalar_array_op_expr(); + inline SinglePartitionSpec& operator=(const SinglePartitionSpec& from) { + CopyFrom(from); + return *this; + } + inline SinglePartitionSpec& operator=(SinglePartitionSpec&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.BoolExpr bool_expr = 16 [json_name = "BoolExpr"]; - bool has_bool_expr() const; - private: - bool _internal_has_bool_expr() const; - public: - void clear_bool_expr(); - const ::pg_query::BoolExpr& bool_expr() const; - PROTOBUF_NODISCARD ::pg_query::BoolExpr* release_bool_expr(); - ::pg_query::BoolExpr* mutable_bool_expr(); - void set_allocated_bool_expr(::pg_query::BoolExpr* bool_expr); - private: - const ::pg_query::BoolExpr& _internal_bool_expr() const; - ::pg_query::BoolExpr* _internal_mutable_bool_expr(); - public: - void unsafe_arena_set_allocated_bool_expr( - ::pg_query::BoolExpr* bool_expr); - ::pg_query::BoolExpr* unsafe_arena_release_bool_expr(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.SubLink sub_link = 17 [json_name = "SubLink"]; - bool has_sub_link() const; - private: - bool _internal_has_sub_link() const; - public: - void clear_sub_link(); - const ::pg_query::SubLink& sub_link() const; - PROTOBUF_NODISCARD ::pg_query::SubLink* release_sub_link(); - ::pg_query::SubLink* mutable_sub_link(); - void set_allocated_sub_link(::pg_query::SubLink* sub_link); - private: - const ::pg_query::SubLink& _internal_sub_link() const; - ::pg_query::SubLink* _internal_mutable_sub_link(); - public: - void unsafe_arena_set_allocated_sub_link( - ::pg_query::SubLink* sub_link); - ::pg_query::SubLink* unsafe_arena_release_sub_link(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SinglePartitionSpec& default_instance() { + return *internal_default_instance(); + } + static inline const SinglePartitionSpec* internal_default_instance() { + return reinterpret_cast( + &_SinglePartitionSpec_default_instance_); + } + static constexpr int kIndexInFileMessages = + 107; - // .pg_query.SubPlan sub_plan = 18 [json_name = "SubPlan"]; - bool has_sub_plan() const; - private: - bool _internal_has_sub_plan() const; - public: - void clear_sub_plan(); - const ::pg_query::SubPlan& sub_plan() const; - PROTOBUF_NODISCARD ::pg_query::SubPlan* release_sub_plan(); - ::pg_query::SubPlan* mutable_sub_plan(); - void set_allocated_sub_plan(::pg_query::SubPlan* sub_plan); - private: - const ::pg_query::SubPlan& _internal_sub_plan() const; - ::pg_query::SubPlan* _internal_mutable_sub_plan(); + friend void swap(SinglePartitionSpec& a, SinglePartitionSpec& b) { + a.Swap(&b); + } + inline void Swap(SinglePartitionSpec* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SinglePartitionSpec* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SinglePartitionSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const SinglePartitionSpec& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const SinglePartitionSpec& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); + } public: - void unsafe_arena_set_allocated_sub_plan( - ::pg_query::SubPlan* sub_plan); - ::pg_query::SubPlan* unsafe_arena_release_sub_plan(); - // .pg_query.AlternativeSubPlan alternative_sub_plan = 19 [json_name = "AlternativeSubPlan"]; - bool has_alternative_sub_plan() const; private: - bool _internal_has_alternative_sub_plan() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SinglePartitionSpec"; + } + protected: + explicit SinglePartitionSpec(::google::protobuf::Arena* arena); + SinglePartitionSpec(::google::protobuf::Arena* arena, const SinglePartitionSpec& from); public: - void clear_alternative_sub_plan(); - const ::pg_query::AlternativeSubPlan& alternative_sub_plan() const; - PROTOBUF_NODISCARD ::pg_query::AlternativeSubPlan* release_alternative_sub_plan(); - ::pg_query::AlternativeSubPlan* mutable_alternative_sub_plan(); - void set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* alternative_sub_plan); + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:pg_query.SinglePartitionSpec) + private: + class _Internal; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + PROTOBUF_TSAN_DECLARE_MEMBER + }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class ScanToken final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScanToken) */ { + public: + inline ScanToken() : ScanToken(nullptr) {} + ~ScanToken() override; + template + explicit PROTOBUF_CONSTEXPR ScanToken(::google::protobuf::internal::ConstantInitialized); + + inline ScanToken(const ScanToken& from) + : ScanToken(nullptr, from) {} + ScanToken(ScanToken&& from) noexcept + : ScanToken() { + *this = ::std::move(from); + } + + inline ScanToken& operator=(const ScanToken& from) { + CopyFrom(from); + return *this; + } + inline ScanToken& operator=(ScanToken&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ScanToken& default_instance() { + return *internal_default_instance(); + } + static inline const ScanToken* internal_default_instance() { + return reinterpret_cast( + &_ScanToken_default_instance_); + } + static constexpr int kIndexInFileMessages = + 271; + + friend void swap(ScanToken& a, ScanToken& b) { + a.Swap(&b); + } + inline void Swap(ScanToken* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ScanToken* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ScanToken* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ScanToken& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ScanToken& from) { + ScanToken::MergeImpl(*this, from); + } private: - const ::pg_query::AlternativeSubPlan& _internal_alternative_sub_plan() const; - ::pg_query::AlternativeSubPlan* _internal_mutable_alternative_sub_plan(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_alternative_sub_plan( - ::pg_query::AlternativeSubPlan* alternative_sub_plan); - ::pg_query::AlternativeSubPlan* unsafe_arena_release_alternative_sub_plan(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.FieldSelect field_select = 20 [json_name = "FieldSelect"]; - bool has_field_select() const; private: - bool _internal_has_field_select() const; - public: - void clear_field_select(); - const ::pg_query::FieldSelect& field_select() const; - PROTOBUF_NODISCARD ::pg_query::FieldSelect* release_field_select(); - ::pg_query::FieldSelect* mutable_field_select(); - void set_allocated_field_select(::pg_query::FieldSelect* field_select); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ScanToken* other); + private: - const ::pg_query::FieldSelect& _internal_field_select() const; - ::pg_query::FieldSelect* _internal_mutable_field_select(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ScanToken"; + } + protected: + explicit ScanToken(::google::protobuf::Arena* arena); + ScanToken(::google::protobuf::Arena* arena, const ScanToken& from); public: - void unsafe_arena_set_allocated_field_select( - ::pg_query::FieldSelect* field_select); - ::pg_query::FieldSelect* unsafe_arena_release_field_select(); - // .pg_query.FieldStore field_store = 21 [json_name = "FieldStore"]; - bool has_field_store() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kStartFieldNumber = 1, + kEndFieldNumber = 2, + kTokenFieldNumber = 4, + kKeywordKindFieldNumber = 5, + }; + // int32 start = 1; + void clear_start() ; + ::int32_t start() const; + void set_start(::int32_t value); + private: - bool _internal_has_field_store() const; + ::int32_t _internal_start() const; + void _internal_set_start(::int32_t value); + public: - void clear_field_store(); - const ::pg_query::FieldStore& field_store() const; - PROTOBUF_NODISCARD ::pg_query::FieldStore* release_field_store(); - ::pg_query::FieldStore* mutable_field_store(); - void set_allocated_field_store(::pg_query::FieldStore* field_store); + // int32 end = 2; + void clear_end() ; + ::int32_t end() const; + void set_end(::int32_t value); + private: - const ::pg_query::FieldStore& _internal_field_store() const; - ::pg_query::FieldStore* _internal_mutable_field_store(); + ::int32_t _internal_end() const; + void _internal_set_end(::int32_t value); + public: - void unsafe_arena_set_allocated_field_store( - ::pg_query::FieldStore* field_store); - ::pg_query::FieldStore* unsafe_arena_release_field_store(); + // .pg_query.Token token = 4; + void clear_token() ; + ::pg_query::Token token() const; + void set_token(::pg_query::Token value); - // .pg_query.RelabelType relabel_type = 22 [json_name = "RelabelType"]; - bool has_relabel_type() const; private: - bool _internal_has_relabel_type() const; + ::pg_query::Token _internal_token() const; + void _internal_set_token(::pg_query::Token value); + public: - void clear_relabel_type(); - const ::pg_query::RelabelType& relabel_type() const; - PROTOBUF_NODISCARD ::pg_query::RelabelType* release_relabel_type(); - ::pg_query::RelabelType* mutable_relabel_type(); - void set_allocated_relabel_type(::pg_query::RelabelType* relabel_type); + // .pg_query.KeywordKind keyword_kind = 5; + void clear_keyword_kind() ; + ::pg_query::KeywordKind keyword_kind() const; + void set_keyword_kind(::pg_query::KeywordKind value); + private: - const ::pg_query::RelabelType& _internal_relabel_type() const; - ::pg_query::RelabelType* _internal_mutable_relabel_type(); + ::pg_query::KeywordKind _internal_keyword_kind() const; + void _internal_set_keyword_kind(::pg_query::KeywordKind value); + public: - void unsafe_arena_set_allocated_relabel_type( - ::pg_query::RelabelType* relabel_type); - ::pg_query::RelabelType* unsafe_arena_release_relabel_type(); + // @@protoc_insertion_point(class_scope:pg_query.ScanToken) + private: + class _Internal; - // .pg_query.CoerceViaIO coerce_via_io = 23 [json_name = "CoerceViaIO"]; - bool has_coerce_via_io() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 4, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::int32_t start_; + ::int32_t end_; + int token_; + int keyword_kind_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class RowMarkClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowMarkClause) */ { + public: + inline RowMarkClause() : RowMarkClause(nullptr) {} + ~RowMarkClause() override; + template + explicit PROTOBUF_CONSTEXPR RowMarkClause(::google::protobuf::internal::ConstantInitialized); + + inline RowMarkClause(const RowMarkClause& from) + : RowMarkClause(nullptr, from) {} + RowMarkClause(RowMarkClause&& from) noexcept + : RowMarkClause() { + *this = ::std::move(from); + } + + inline RowMarkClause& operator=(const RowMarkClause& from) { + CopyFrom(from); + return *this; + } + inline RowMarkClause& operator=(RowMarkClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RowMarkClause& default_instance() { + return *internal_default_instance(); + } + static inline const RowMarkClause* internal_default_instance() { + return reinterpret_cast( + &_RowMarkClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 117; + + friend void swap(RowMarkClause& a, RowMarkClause& b) { + a.Swap(&b); + } + inline void Swap(RowMarkClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RowMarkClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RowMarkClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RowMarkClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RowMarkClause& from) { + RowMarkClause::MergeImpl(*this, from); + } private: - bool _internal_has_coerce_via_io() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_coerce_via_io(); - const ::pg_query::CoerceViaIO& coerce_via_io() const; - PROTOBUF_NODISCARD ::pg_query::CoerceViaIO* release_coerce_via_io(); - ::pg_query::CoerceViaIO* mutable_coerce_via_io(); - void set_allocated_coerce_via_io(::pg_query::CoerceViaIO* coerce_via_io); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::CoerceViaIO& _internal_coerce_via_io() const; - ::pg_query::CoerceViaIO* _internal_mutable_coerce_via_io(); - public: - void unsafe_arena_set_allocated_coerce_via_io( - ::pg_query::CoerceViaIO* coerce_via_io); - ::pg_query::CoerceViaIO* unsafe_arena_release_coerce_via_io(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RowMarkClause* other); - // .pg_query.ArrayCoerceExpr array_coerce_expr = 24 [json_name = "ArrayCoerceExpr"]; - bool has_array_coerce_expr() const; private: - bool _internal_has_array_coerce_expr() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RowMarkClause"; + } + protected: + explicit RowMarkClause(::google::protobuf::Arena* arena); + RowMarkClause(::google::protobuf::Arena* arena, const RowMarkClause& from); public: - void clear_array_coerce_expr(); - const ::pg_query::ArrayCoerceExpr& array_coerce_expr() const; - PROTOBUF_NODISCARD ::pg_query::ArrayCoerceExpr* release_array_coerce_expr(); - ::pg_query::ArrayCoerceExpr* mutable_array_coerce_expr(); - void set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* array_coerce_expr); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRtiFieldNumber = 1, + kStrengthFieldNumber = 2, + kWaitPolicyFieldNumber = 3, + kPushedDownFieldNumber = 4, + }; + // uint32 rti = 1 [json_name = "rti"]; + void clear_rti() ; + ::uint32_t rti() const; + void set_rti(::uint32_t value); + private: - const ::pg_query::ArrayCoerceExpr& _internal_array_coerce_expr() const; - ::pg_query::ArrayCoerceExpr* _internal_mutable_array_coerce_expr(); + ::uint32_t _internal_rti() const; + void _internal_set_rti(::uint32_t value); + public: - void unsafe_arena_set_allocated_array_coerce_expr( - ::pg_query::ArrayCoerceExpr* array_coerce_expr); - ::pg_query::ArrayCoerceExpr* unsafe_arena_release_array_coerce_expr(); + // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; + void clear_strength() ; + ::pg_query::LockClauseStrength strength() const; + void set_strength(::pg_query::LockClauseStrength value); - // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 25 [json_name = "ConvertRowtypeExpr"]; - bool has_convert_rowtype_expr() const; private: - bool _internal_has_convert_rowtype_expr() const; + ::pg_query::LockClauseStrength _internal_strength() const; + void _internal_set_strength(::pg_query::LockClauseStrength value); + public: - void clear_convert_rowtype_expr(); - const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr() const; - PROTOBUF_NODISCARD ::pg_query::ConvertRowtypeExpr* release_convert_rowtype_expr(); - ::pg_query::ConvertRowtypeExpr* mutable_convert_rowtype_expr(); - void set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* convert_rowtype_expr); + // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; + void clear_wait_policy() ; + ::pg_query::LockWaitPolicy wait_policy() const; + void set_wait_policy(::pg_query::LockWaitPolicy value); + private: - const ::pg_query::ConvertRowtypeExpr& _internal_convert_rowtype_expr() const; - ::pg_query::ConvertRowtypeExpr* _internal_mutable_convert_rowtype_expr(); + ::pg_query::LockWaitPolicy _internal_wait_policy() const; + void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); + public: - void unsafe_arena_set_allocated_convert_rowtype_expr( - ::pg_query::ConvertRowtypeExpr* convert_rowtype_expr); - ::pg_query::ConvertRowtypeExpr* unsafe_arena_release_convert_rowtype_expr(); + // bool pushed_down = 4 [json_name = "pushedDown"]; + void clear_pushed_down() ; + bool pushed_down() const; + void set_pushed_down(bool value); - // .pg_query.CollateExpr collate_expr = 26 [json_name = "CollateExpr"]; - bool has_collate_expr() const; private: - bool _internal_has_collate_expr() const; + bool _internal_pushed_down() const; + void _internal_set_pushed_down(bool value); + public: - void clear_collate_expr(); - const ::pg_query::CollateExpr& collate_expr() const; - PROTOBUF_NODISCARD ::pg_query::CollateExpr* release_collate_expr(); - ::pg_query::CollateExpr* mutable_collate_expr(); - void set_allocated_collate_expr(::pg_query::CollateExpr* collate_expr); + // @@protoc_insertion_point(class_scope:pg_query.RowMarkClause) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::uint32_t rti_; + int strength_; + int wait_policy_; + bool pushed_down_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class RoleSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RoleSpec) */ { + public: + inline RoleSpec() : RoleSpec(nullptr) {} + ~RoleSpec() override; + template + explicit PROTOBUF_CONSTEXPR RoleSpec(::google::protobuf::internal::ConstantInitialized); + + inline RoleSpec(const RoleSpec& from) + : RoleSpec(nullptr, from) {} + RoleSpec(RoleSpec&& from) noexcept + : RoleSpec() { + *this = ::std::move(from); + } + + inline RoleSpec& operator=(const RoleSpec& from) { + CopyFrom(from); + return *this; + } + inline RoleSpec& operator=(RoleSpec&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RoleSpec& default_instance() { + return *internal_default_instance(); + } + static inline const RoleSpec* internal_default_instance() { + return reinterpret_cast( + &_RoleSpec_default_instance_); + } + static constexpr int kIndexInFileMessages = + 82; + + friend void swap(RoleSpec& a, RoleSpec& b) { + a.Swap(&b); + } + inline void Swap(RoleSpec* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RoleSpec* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RoleSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RoleSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RoleSpec& from) { + RoleSpec::MergeImpl(*this, from); + } private: - const ::pg_query::CollateExpr& _internal_collate_expr() const; - ::pg_query::CollateExpr* _internal_mutable_collate_expr(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_collate_expr( - ::pg_query::CollateExpr* collate_expr); - ::pg_query::CollateExpr* unsafe_arena_release_collate_expr(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.CaseExpr case_expr = 27 [json_name = "CaseExpr"]; - bool has_case_expr() const; private: - bool _internal_has_case_expr() const; - public: - void clear_case_expr(); - const ::pg_query::CaseExpr& case_expr() const; - PROTOBUF_NODISCARD ::pg_query::CaseExpr* release_case_expr(); - ::pg_query::CaseExpr* mutable_case_expr(); - void set_allocated_case_expr(::pg_query::CaseExpr* case_expr); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RoleSpec* other); + private: - const ::pg_query::CaseExpr& _internal_case_expr() const; - ::pg_query::CaseExpr* _internal_mutable_case_expr(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RoleSpec"; + } + protected: + explicit RoleSpec(::google::protobuf::Arena* arena); + RoleSpec(::google::protobuf::Arena* arena, const RoleSpec& from); public: - void unsafe_arena_set_allocated_case_expr( - ::pg_query::CaseExpr* case_expr); - ::pg_query::CaseExpr* unsafe_arena_release_case_expr(); - // .pg_query.CaseWhen case_when = 28 [json_name = "CaseWhen"]; - bool has_case_when() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRolenameFieldNumber = 2, + kRoletypeFieldNumber = 1, + kLocationFieldNumber = 3, + }; + // string rolename = 2 [json_name = "rolename"]; + void clear_rolename() ; + const std::string& rolename() const; + template + void set_rolename(Arg_&& arg, Args_... args); + std::string* mutable_rolename(); + PROTOBUF_NODISCARD std::string* release_rolename(); + void set_allocated_rolename(std::string* value); + private: - bool _internal_has_case_when() const; + const std::string& _internal_rolename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_rolename( + const std::string& value); + std::string* _internal_mutable_rolename(); + public: - void clear_case_when(); - const ::pg_query::CaseWhen& case_when() const; - PROTOBUF_NODISCARD ::pg_query::CaseWhen* release_case_when(); - ::pg_query::CaseWhen* mutable_case_when(); - void set_allocated_case_when(::pg_query::CaseWhen* case_when); + // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; + void clear_roletype() ; + ::pg_query::RoleSpecType roletype() const; + void set_roletype(::pg_query::RoleSpecType value); + private: - const ::pg_query::CaseWhen& _internal_case_when() const; - ::pg_query::CaseWhen* _internal_mutable_case_when(); + ::pg_query::RoleSpecType _internal_roletype() const; + void _internal_set_roletype(::pg_query::RoleSpecType value); + public: - void unsafe_arena_set_allocated_case_when( - ::pg_query::CaseWhen* case_when); - ::pg_query::CaseWhen* unsafe_arena_release_case_when(); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.CaseTestExpr case_test_expr = 29 [json_name = "CaseTestExpr"]; - bool has_case_test_expr() const; private: - bool _internal_has_case_test_expr() const; + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: - void clear_case_test_expr(); - const ::pg_query::CaseTestExpr& case_test_expr() const; - PROTOBUF_NODISCARD ::pg_query::CaseTestExpr* release_case_test_expr(); - ::pg_query::CaseTestExpr* mutable_case_test_expr(); - void set_allocated_case_test_expr(::pg_query::CaseTestExpr* case_test_expr); + // @@protoc_insertion_point(class_scope:pg_query.RoleSpec) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr rolename_; + int roletype_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class ReplicaIdentityStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReplicaIdentityStmt) */ { + public: + inline ReplicaIdentityStmt() : ReplicaIdentityStmt(nullptr) {} + ~ReplicaIdentityStmt() override; + template + explicit PROTOBUF_CONSTEXPR ReplicaIdentityStmt(::google::protobuf::internal::ConstantInitialized); + + inline ReplicaIdentityStmt(const ReplicaIdentityStmt& from) + : ReplicaIdentityStmt(nullptr, from) {} + ReplicaIdentityStmt(ReplicaIdentityStmt&& from) noexcept + : ReplicaIdentityStmt() { + *this = ::std::move(from); + } + + inline ReplicaIdentityStmt& operator=(const ReplicaIdentityStmt& from) { + CopyFrom(from); + return *this; + } + inline ReplicaIdentityStmt& operator=(ReplicaIdentityStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ReplicaIdentityStmt& default_instance() { + return *internal_default_instance(); + } + static inline const ReplicaIdentityStmt* internal_default_instance() { + return reinterpret_cast( + &_ReplicaIdentityStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 153; + + friend void swap(ReplicaIdentityStmt& a, ReplicaIdentityStmt& b) { + a.Swap(&b); + } + inline void Swap(ReplicaIdentityStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ReplicaIdentityStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ReplicaIdentityStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ReplicaIdentityStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ReplicaIdentityStmt& from) { + ReplicaIdentityStmt::MergeImpl(*this, from); + } private: - const ::pg_query::CaseTestExpr& _internal_case_test_expr() const; - ::pg_query::CaseTestExpr* _internal_mutable_case_test_expr(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_case_test_expr( - ::pg_query::CaseTestExpr* case_test_expr); - ::pg_query::CaseTestExpr* unsafe_arena_release_case_test_expr(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.ArrayExpr array_expr = 30 [json_name = "ArrayExpr"]; - bool has_array_expr() const; private: - bool _internal_has_array_expr() const; - public: - void clear_array_expr(); - const ::pg_query::ArrayExpr& array_expr() const; - PROTOBUF_NODISCARD ::pg_query::ArrayExpr* release_array_expr(); - ::pg_query::ArrayExpr* mutable_array_expr(); - void set_allocated_array_expr(::pg_query::ArrayExpr* array_expr); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ReplicaIdentityStmt* other); + private: - const ::pg_query::ArrayExpr& _internal_array_expr() const; - ::pg_query::ArrayExpr* _internal_mutable_array_expr(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ReplicaIdentityStmt"; + } + protected: + explicit ReplicaIdentityStmt(::google::protobuf::Arena* arena); + ReplicaIdentityStmt(::google::protobuf::Arena* arena, const ReplicaIdentityStmt& from); public: - void unsafe_arena_set_allocated_array_expr( - ::pg_query::ArrayExpr* array_expr); - ::pg_query::ArrayExpr* unsafe_arena_release_array_expr(); - // .pg_query.RowExpr row_expr = 31 [json_name = "RowExpr"]; - bool has_row_expr() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kIdentityTypeFieldNumber = 1, + kNameFieldNumber = 2, + }; + // string identity_type = 1 [json_name = "identity_type"]; + void clear_identity_type() ; + const std::string& identity_type() const; + template + void set_identity_type(Arg_&& arg, Args_... args); + std::string* mutable_identity_type(); + PROTOBUF_NODISCARD std::string* release_identity_type(); + void set_allocated_identity_type(std::string* value); + private: - bool _internal_has_row_expr() const; + const std::string& _internal_identity_type() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_identity_type( + const std::string& value); + std::string* _internal_mutable_identity_type(); + public: - void clear_row_expr(); - const ::pg_query::RowExpr& row_expr() const; - PROTOBUF_NODISCARD ::pg_query::RowExpr* release_row_expr(); - ::pg_query::RowExpr* mutable_row_expr(); - void set_allocated_row_expr(::pg_query::RowExpr* row_expr); + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - const ::pg_query::RowExpr& _internal_row_expr() const; - ::pg_query::RowExpr* _internal_mutable_row_expr(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void unsafe_arena_set_allocated_row_expr( - ::pg_query::RowExpr* row_expr); - ::pg_query::RowExpr* unsafe_arena_release_row_expr(); + // @@protoc_insertion_point(class_scope:pg_query.ReplicaIdentityStmt) + private: + class _Internal; - // .pg_query.RowCompareExpr row_compare_expr = 32 [json_name = "RowCompareExpr"]; - bool has_row_compare_expr() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 54, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr identity_type_; + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class RangeTblRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblRef) */ { + public: + inline RangeTblRef() : RangeTblRef(nullptr) {} + ~RangeTblRef() override; + template + explicit PROTOBUF_CONSTEXPR RangeTblRef(::google::protobuf::internal::ConstantInitialized); + + inline RangeTblRef(const RangeTblRef& from) + : RangeTblRef(nullptr, from) {} + RangeTblRef(RangeTblRef&& from) noexcept + : RangeTblRef() { + *this = ::std::move(from); + } + + inline RangeTblRef& operator=(const RangeTblRef& from) { + CopyFrom(from); + return *this; + } + inline RangeTblRef& operator=(RangeTblRef&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RangeTblRef& default_instance() { + return *internal_default_instance(); + } + static inline const RangeTblRef* internal_default_instance() { + return reinterpret_cast( + &_RangeTblRef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 71; + + friend void swap(RangeTblRef& a, RangeTblRef& b) { + a.Swap(&b); + } + inline void Swap(RangeTblRef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RangeTblRef* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RangeTblRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTblRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTblRef& from) { + RangeTblRef::MergeImpl(*this, from); + } private: - bool _internal_has_row_compare_expr() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_row_compare_expr(); - const ::pg_query::RowCompareExpr& row_compare_expr() const; - PROTOBUF_NODISCARD ::pg_query::RowCompareExpr* release_row_compare_expr(); - ::pg_query::RowCompareExpr* mutable_row_compare_expr(); - void set_allocated_row_compare_expr(::pg_query::RowCompareExpr* row_compare_expr); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::RowCompareExpr& _internal_row_compare_expr() const; - ::pg_query::RowCompareExpr* _internal_mutable_row_compare_expr(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RangeTblRef* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTblRef"; + } + protected: + explicit RangeTblRef(::google::protobuf::Arena* arena); + RangeTblRef(::google::protobuf::Arena* arena, const RangeTblRef& from); public: - void unsafe_arena_set_allocated_row_compare_expr( - ::pg_query::RowCompareExpr* row_compare_expr); - ::pg_query::RowCompareExpr* unsafe_arena_release_row_compare_expr(); - // .pg_query.CoalesceExpr coalesce_expr = 33 [json_name = "CoalesceExpr"]; - bool has_coalesce_expr() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kRtindexFieldNumber = 1, + }; + // int32 rtindex = 1 [json_name = "rtindex"]; + void clear_rtindex() ; + ::int32_t rtindex() const; + void set_rtindex(::int32_t value); + private: - bool _internal_has_coalesce_expr() const; + ::int32_t _internal_rtindex() const; + void _internal_set_rtindex(::int32_t value); + public: - void clear_coalesce_expr(); - const ::pg_query::CoalesceExpr& coalesce_expr() const; - PROTOBUF_NODISCARD ::pg_query::CoalesceExpr* release_coalesce_expr(); - ::pg_query::CoalesceExpr* mutable_coalesce_expr(); - void set_allocated_coalesce_expr(::pg_query::CoalesceExpr* coalesce_expr); + // @@protoc_insertion_point(class_scope:pg_query.RangeTblRef) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::int32_t rtindex_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class RTEPermissionInfo final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RTEPermissionInfo) */ { + public: + inline RTEPermissionInfo() : RTEPermissionInfo(nullptr) {} + ~RTEPermissionInfo() override; + template + explicit PROTOBUF_CONSTEXPR RTEPermissionInfo(::google::protobuf::internal::ConstantInitialized); + + inline RTEPermissionInfo(const RTEPermissionInfo& from) + : RTEPermissionInfo(nullptr, from) {} + RTEPermissionInfo(RTEPermissionInfo&& from) noexcept + : RTEPermissionInfo() { + *this = ::std::move(from); + } + + inline RTEPermissionInfo& operator=(const RTEPermissionInfo& from) { + CopyFrom(from); + return *this; + } + inline RTEPermissionInfo& operator=(RTEPermissionInfo&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RTEPermissionInfo& default_instance() { + return *internal_default_instance(); + } + static inline const RTEPermissionInfo* internal_default_instance() { + return reinterpret_cast( + &_RTEPermissionInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = + 110; + + friend void swap(RTEPermissionInfo& a, RTEPermissionInfo& b) { + a.Swap(&b); + } + inline void Swap(RTEPermissionInfo* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RTEPermissionInfo* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RTEPermissionInfo* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RTEPermissionInfo& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RTEPermissionInfo& from) { + RTEPermissionInfo::MergeImpl(*this, from); + } private: - const ::pg_query::CoalesceExpr& _internal_coalesce_expr() const; - ::pg_query::CoalesceExpr* _internal_mutable_coalesce_expr(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_coalesce_expr( - ::pg_query::CoalesceExpr* coalesce_expr); - ::pg_query::CoalesceExpr* unsafe_arena_release_coalesce_expr(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.MinMaxExpr min_max_expr = 34 [json_name = "MinMaxExpr"]; - bool has_min_max_expr() const; private: - bool _internal_has_min_max_expr() const; + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RTEPermissionInfo* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RTEPermissionInfo"; + } + protected: + explicit RTEPermissionInfo(::google::protobuf::Arena* arena); + RTEPermissionInfo(::google::protobuf::Arena* arena, const RTEPermissionInfo& from); public: - void clear_min_max_expr(); - const ::pg_query::MinMaxExpr& min_max_expr() const; - PROTOBUF_NODISCARD ::pg_query::MinMaxExpr* release_min_max_expr(); - ::pg_query::MinMaxExpr* mutable_min_max_expr(); - void set_allocated_min_max_expr(::pg_query::MinMaxExpr* min_max_expr); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSelectedColsFieldNumber = 5, + kInsertedColsFieldNumber = 6, + kUpdatedColsFieldNumber = 7, + kRelidFieldNumber = 1, + kInhFieldNumber = 2, + kRequiredPermsFieldNumber = 3, + kCheckAsUserFieldNumber = 4, + }; + // repeated uint64 selected_cols = 5 [json_name = "selectedCols"]; + int selected_cols_size() const; private: - const ::pg_query::MinMaxExpr& _internal_min_max_expr() const; - ::pg_query::MinMaxExpr* _internal_mutable_min_max_expr(); + int _internal_selected_cols_size() const; + public: - void unsafe_arena_set_allocated_min_max_expr( - ::pg_query::MinMaxExpr* min_max_expr); - ::pg_query::MinMaxExpr* unsafe_arena_release_min_max_expr(); + void clear_selected_cols() ; + ::uint64_t selected_cols(int index) const; + void set_selected_cols(int index, ::uint64_t value); + void add_selected_cols(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& selected_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_selected_cols(); - // .pg_query.SQLValueFunction sqlvalue_function = 35 [json_name = "SQLValueFunction"]; - bool has_sqlvalue_function() const; private: - bool _internal_has_sqlvalue_function() const; + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_selected_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_selected_cols(); + public: - void clear_sqlvalue_function(); - const ::pg_query::SQLValueFunction& sqlvalue_function() const; - PROTOBUF_NODISCARD ::pg_query::SQLValueFunction* release_sqlvalue_function(); - ::pg_query::SQLValueFunction* mutable_sqlvalue_function(); - void set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* sqlvalue_function); + // repeated uint64 inserted_cols = 6 [json_name = "insertedCols"]; + int inserted_cols_size() const; private: - const ::pg_query::SQLValueFunction& _internal_sqlvalue_function() const; - ::pg_query::SQLValueFunction* _internal_mutable_sqlvalue_function(); + int _internal_inserted_cols_size() const; + public: - void unsafe_arena_set_allocated_sqlvalue_function( - ::pg_query::SQLValueFunction* sqlvalue_function); - ::pg_query::SQLValueFunction* unsafe_arena_release_sqlvalue_function(); + void clear_inserted_cols() ; + ::uint64_t inserted_cols(int index) const; + void set_inserted_cols(int index, ::uint64_t value); + void add_inserted_cols(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& inserted_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_inserted_cols(); - // .pg_query.XmlExpr xml_expr = 36 [json_name = "XmlExpr"]; - bool has_xml_expr() const; private: - bool _internal_has_xml_expr() const; + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_inserted_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_inserted_cols(); + public: - void clear_xml_expr(); - const ::pg_query::XmlExpr& xml_expr() const; - PROTOBUF_NODISCARD ::pg_query::XmlExpr* release_xml_expr(); - ::pg_query::XmlExpr* mutable_xml_expr(); - void set_allocated_xml_expr(::pg_query::XmlExpr* xml_expr); + // repeated uint64 updated_cols = 7 [json_name = "updatedCols"]; + int updated_cols_size() const; private: - const ::pg_query::XmlExpr& _internal_xml_expr() const; - ::pg_query::XmlExpr* _internal_mutable_xml_expr(); - public: - void unsafe_arena_set_allocated_xml_expr( - ::pg_query::XmlExpr* xml_expr); - ::pg_query::XmlExpr* unsafe_arena_release_xml_expr(); + int _internal_updated_cols_size() const; - // .pg_query.NullTest null_test = 37 [json_name = "NullTest"]; - bool has_null_test() const; - private: - bool _internal_has_null_test() const; - public: - void clear_null_test(); - const ::pg_query::NullTest& null_test() const; - PROTOBUF_NODISCARD ::pg_query::NullTest* release_null_test(); - ::pg_query::NullTest* mutable_null_test(); - void set_allocated_null_test(::pg_query::NullTest* null_test); - private: - const ::pg_query::NullTest& _internal_null_test() const; - ::pg_query::NullTest* _internal_mutable_null_test(); public: - void unsafe_arena_set_allocated_null_test( - ::pg_query::NullTest* null_test); - ::pg_query::NullTest* unsafe_arena_release_null_test(); + void clear_updated_cols() ; + ::uint64_t updated_cols(int index) const; + void set_updated_cols(int index, ::uint64_t value); + void add_updated_cols(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& updated_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_updated_cols(); - // .pg_query.BooleanTest boolean_test = 38 [json_name = "BooleanTest"]; - bool has_boolean_test() const; - private: - bool _internal_has_boolean_test() const; - public: - void clear_boolean_test(); - const ::pg_query::BooleanTest& boolean_test() const; - PROTOBUF_NODISCARD ::pg_query::BooleanTest* release_boolean_test(); - ::pg_query::BooleanTest* mutable_boolean_test(); - void set_allocated_boolean_test(::pg_query::BooleanTest* boolean_test); private: - const ::pg_query::BooleanTest& _internal_boolean_test() const; - ::pg_query::BooleanTest* _internal_mutable_boolean_test(); - public: - void unsafe_arena_set_allocated_boolean_test( - ::pg_query::BooleanTest* boolean_test); - ::pg_query::BooleanTest* unsafe_arena_release_boolean_test(); + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_updated_cols() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_updated_cols(); - // .pg_query.CoerceToDomain coerce_to_domain = 39 [json_name = "CoerceToDomain"]; - bool has_coerce_to_domain() const; - private: - bool _internal_has_coerce_to_domain() const; public: - void clear_coerce_to_domain(); - const ::pg_query::CoerceToDomain& coerce_to_domain() const; - PROTOBUF_NODISCARD ::pg_query::CoerceToDomain* release_coerce_to_domain(); - ::pg_query::CoerceToDomain* mutable_coerce_to_domain(); - void set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* coerce_to_domain); - private: - const ::pg_query::CoerceToDomain& _internal_coerce_to_domain() const; - ::pg_query::CoerceToDomain* _internal_mutable_coerce_to_domain(); - public: - void unsafe_arena_set_allocated_coerce_to_domain( - ::pg_query::CoerceToDomain* coerce_to_domain); - ::pg_query::CoerceToDomain* unsafe_arena_release_coerce_to_domain(); + // uint32 relid = 1 [json_name = "relid"]; + void clear_relid() ; + ::uint32_t relid() const; + void set_relid(::uint32_t value); - // .pg_query.CoerceToDomainValue coerce_to_domain_value = 40 [json_name = "CoerceToDomainValue"]; - bool has_coerce_to_domain_value() const; - private: - bool _internal_has_coerce_to_domain_value() const; - public: - void clear_coerce_to_domain_value(); - const ::pg_query::CoerceToDomainValue& coerce_to_domain_value() const; - PROTOBUF_NODISCARD ::pg_query::CoerceToDomainValue* release_coerce_to_domain_value(); - ::pg_query::CoerceToDomainValue* mutable_coerce_to_domain_value(); - void set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* coerce_to_domain_value); private: - const ::pg_query::CoerceToDomainValue& _internal_coerce_to_domain_value() const; - ::pg_query::CoerceToDomainValue* _internal_mutable_coerce_to_domain_value(); - public: - void unsafe_arena_set_allocated_coerce_to_domain_value( - ::pg_query::CoerceToDomainValue* coerce_to_domain_value); - ::pg_query::CoerceToDomainValue* unsafe_arena_release_coerce_to_domain_value(); + ::uint32_t _internal_relid() const; + void _internal_set_relid(::uint32_t value); - // .pg_query.SetToDefault set_to_default = 41 [json_name = "SetToDefault"]; - bool has_set_to_default() const; - private: - bool _internal_has_set_to_default() const; - public: - void clear_set_to_default(); - const ::pg_query::SetToDefault& set_to_default() const; - PROTOBUF_NODISCARD ::pg_query::SetToDefault* release_set_to_default(); - ::pg_query::SetToDefault* mutable_set_to_default(); - void set_allocated_set_to_default(::pg_query::SetToDefault* set_to_default); - private: - const ::pg_query::SetToDefault& _internal_set_to_default() const; - ::pg_query::SetToDefault* _internal_mutable_set_to_default(); public: - void unsafe_arena_set_allocated_set_to_default( - ::pg_query::SetToDefault* set_to_default); - ::pg_query::SetToDefault* unsafe_arena_release_set_to_default(); + // bool inh = 2 [json_name = "inh"]; + void clear_inh() ; + bool inh() const; + void set_inh(bool value); - // .pg_query.CurrentOfExpr current_of_expr = 42 [json_name = "CurrentOfExpr"]; - bool has_current_of_expr() const; - private: - bool _internal_has_current_of_expr() const; - public: - void clear_current_of_expr(); - const ::pg_query::CurrentOfExpr& current_of_expr() const; - PROTOBUF_NODISCARD ::pg_query::CurrentOfExpr* release_current_of_expr(); - ::pg_query::CurrentOfExpr* mutable_current_of_expr(); - void set_allocated_current_of_expr(::pg_query::CurrentOfExpr* current_of_expr); private: - const ::pg_query::CurrentOfExpr& _internal_current_of_expr() const; - ::pg_query::CurrentOfExpr* _internal_mutable_current_of_expr(); - public: - void unsafe_arena_set_allocated_current_of_expr( - ::pg_query::CurrentOfExpr* current_of_expr); - ::pg_query::CurrentOfExpr* unsafe_arena_release_current_of_expr(); + bool _internal_inh() const; + void _internal_set_inh(bool value); - // .pg_query.NextValueExpr next_value_expr = 43 [json_name = "NextValueExpr"]; - bool has_next_value_expr() const; - private: - bool _internal_has_next_value_expr() const; public: - void clear_next_value_expr(); - const ::pg_query::NextValueExpr& next_value_expr() const; - PROTOBUF_NODISCARD ::pg_query::NextValueExpr* release_next_value_expr(); - ::pg_query::NextValueExpr* mutable_next_value_expr(); - void set_allocated_next_value_expr(::pg_query::NextValueExpr* next_value_expr); - private: - const ::pg_query::NextValueExpr& _internal_next_value_expr() const; - ::pg_query::NextValueExpr* _internal_mutable_next_value_expr(); - public: - void unsafe_arena_set_allocated_next_value_expr( - ::pg_query::NextValueExpr* next_value_expr); - ::pg_query::NextValueExpr* unsafe_arena_release_next_value_expr(); + // uint64 required_perms = 3 [json_name = "requiredPerms"]; + void clear_required_perms() ; + ::uint64_t required_perms() const; + void set_required_perms(::uint64_t value); - // .pg_query.InferenceElem inference_elem = 44 [json_name = "InferenceElem"]; - bool has_inference_elem() const; - private: - bool _internal_has_inference_elem() const; - public: - void clear_inference_elem(); - const ::pg_query::InferenceElem& inference_elem() const; - PROTOBUF_NODISCARD ::pg_query::InferenceElem* release_inference_elem(); - ::pg_query::InferenceElem* mutable_inference_elem(); - void set_allocated_inference_elem(::pg_query::InferenceElem* inference_elem); private: - const ::pg_query::InferenceElem& _internal_inference_elem() const; - ::pg_query::InferenceElem* _internal_mutable_inference_elem(); - public: - void unsafe_arena_set_allocated_inference_elem( - ::pg_query::InferenceElem* inference_elem); - ::pg_query::InferenceElem* unsafe_arena_release_inference_elem(); + ::uint64_t _internal_required_perms() const; + void _internal_set_required_perms(::uint64_t value); - // .pg_query.TargetEntry target_entry = 45 [json_name = "TargetEntry"]; - bool has_target_entry() const; - private: - bool _internal_has_target_entry() const; - public: - void clear_target_entry(); - const ::pg_query::TargetEntry& target_entry() const; - PROTOBUF_NODISCARD ::pg_query::TargetEntry* release_target_entry(); - ::pg_query::TargetEntry* mutable_target_entry(); - void set_allocated_target_entry(::pg_query::TargetEntry* target_entry); - private: - const ::pg_query::TargetEntry& _internal_target_entry() const; - ::pg_query::TargetEntry* _internal_mutable_target_entry(); public: - void unsafe_arena_set_allocated_target_entry( - ::pg_query::TargetEntry* target_entry); - ::pg_query::TargetEntry* unsafe_arena_release_target_entry(); + // uint32 check_as_user = 4 [json_name = "checkAsUser"]; + void clear_check_as_user() ; + ::uint32_t check_as_user() const; + void set_check_as_user(::uint32_t value); - // .pg_query.RangeTblRef range_tbl_ref = 46 [json_name = "RangeTblRef"]; - bool has_range_tbl_ref() const; - private: - bool _internal_has_range_tbl_ref() const; - public: - void clear_range_tbl_ref(); - const ::pg_query::RangeTblRef& range_tbl_ref() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblRef* release_range_tbl_ref(); - ::pg_query::RangeTblRef* mutable_range_tbl_ref(); - void set_allocated_range_tbl_ref(::pg_query::RangeTblRef* range_tbl_ref); private: - const ::pg_query::RangeTblRef& _internal_range_tbl_ref() const; - ::pg_query::RangeTblRef* _internal_mutable_range_tbl_ref(); - public: - void unsafe_arena_set_allocated_range_tbl_ref( - ::pg_query::RangeTblRef* range_tbl_ref); - ::pg_query::RangeTblRef* unsafe_arena_release_range_tbl_ref(); + ::uint32_t _internal_check_as_user() const; + void _internal_set_check_as_user(::uint32_t value); - // .pg_query.JoinExpr join_expr = 47 [json_name = "JoinExpr"]; - bool has_join_expr() const; - private: - bool _internal_has_join_expr() const; - public: - void clear_join_expr(); - const ::pg_query::JoinExpr& join_expr() const; - PROTOBUF_NODISCARD ::pg_query::JoinExpr* release_join_expr(); - ::pg_query::JoinExpr* mutable_join_expr(); - void set_allocated_join_expr(::pg_query::JoinExpr* join_expr); - private: - const ::pg_query::JoinExpr& _internal_join_expr() const; - ::pg_query::JoinExpr* _internal_mutable_join_expr(); public: - void unsafe_arena_set_allocated_join_expr( - ::pg_query::JoinExpr* join_expr); - ::pg_query::JoinExpr* unsafe_arena_release_join_expr(); + // @@protoc_insertion_point(class_scope:pg_query.RTEPermissionInfo) + private: + class _Internal; - // .pg_query.FromExpr from_expr = 48 [json_name = "FromExpr"]; - bool has_from_expr() const; - private: - bool _internal_has_from_expr() const; - public: - void clear_from_expr(); - const ::pg_query::FromExpr& from_expr() const; - PROTOBUF_NODISCARD ::pg_query::FromExpr* release_from_expr(); - ::pg_query::FromExpr* mutable_from_expr(); - void set_allocated_from_expr(::pg_query::FromExpr* from_expr); - private: - const ::pg_query::FromExpr& _internal_from_expr() const; - ::pg_query::FromExpr* _internal_mutable_from_expr(); - public: - void unsafe_arena_set_allocated_from_expr( - ::pg_query::FromExpr* from_expr); - ::pg_query::FromExpr* unsafe_arena_release_from_expr(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.OnConflictExpr on_conflict_expr = 49 [json_name = "OnConflictExpr"]; - bool has_on_conflict_expr() const; - private: - bool _internal_has_on_conflict_expr() const; - public: - void clear_on_conflict_expr(); - const ::pg_query::OnConflictExpr& on_conflict_expr() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict_expr(); - ::pg_query::OnConflictExpr* mutable_on_conflict_expr(); - void set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* on_conflict_expr); - private: - const ::pg_query::OnConflictExpr& _internal_on_conflict_expr() const; - ::pg_query::OnConflictExpr* _internal_mutable_on_conflict_expr(); - public: - void unsafe_arena_set_allocated_on_conflict_expr( - ::pg_query::OnConflictExpr* on_conflict_expr); - ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict_expr(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedField<::uint64_t> selected_cols_; + mutable ::google::protobuf::internal::CachedSize _selected_cols_cached_byte_size_; + ::google::protobuf::RepeatedField<::uint64_t> inserted_cols_; + mutable ::google::protobuf::internal::CachedSize _inserted_cols_cached_byte_size_; + ::google::protobuf::RepeatedField<::uint64_t> updated_cols_; + mutable ::google::protobuf::internal::CachedSize _updated_cols_cached_byte_size_; + ::uint32_t relid_; + bool inh_; + ::uint64_t required_perms_; + ::uint32_t check_as_user_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.IntoClause into_clause = 50 [json_name = "IntoClause"]; - bool has_into_clause() const; - private: - bool _internal_has_into_clause() const; - public: - void clear_into_clause(); - const ::pg_query::IntoClause& into_clause() const; - PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); - ::pg_query::IntoClause* mutable_into_clause(); - void set_allocated_into_clause(::pg_query::IntoClause* into_clause); - private: - const ::pg_query::IntoClause& _internal_into_clause() const; - ::pg_query::IntoClause* _internal_mutable_into_clause(); - public: - void unsafe_arena_set_allocated_into_clause( - ::pg_query::IntoClause* into_clause); - ::pg_query::IntoClause* unsafe_arena_release_into_clause(); +class ParamRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ParamRef) */ { + public: + inline ParamRef() : ParamRef(nullptr) {} + ~ParamRef() override; + template + explicit PROTOBUF_CONSTEXPR ParamRef(::google::protobuf::internal::ConstantInitialized); - // .pg_query.MergeAction merge_action = 51 [json_name = "MergeAction"]; - bool has_merge_action() const; - private: - bool _internal_has_merge_action() const; - public: - void clear_merge_action(); - const ::pg_query::MergeAction& merge_action() const; - PROTOBUF_NODISCARD ::pg_query::MergeAction* release_merge_action(); - ::pg_query::MergeAction* mutable_merge_action(); - void set_allocated_merge_action(::pg_query::MergeAction* merge_action); - private: - const ::pg_query::MergeAction& _internal_merge_action() const; - ::pg_query::MergeAction* _internal_mutable_merge_action(); - public: - void unsafe_arena_set_allocated_merge_action( - ::pg_query::MergeAction* merge_action); - ::pg_query::MergeAction* unsafe_arena_release_merge_action(); + inline ParamRef(const ParamRef& from) + : ParamRef(nullptr, from) {} + ParamRef(ParamRef&& from) noexcept + : ParamRef() { + *this = ::std::move(from); + } - // .pg_query.RawStmt raw_stmt = 52 [json_name = "RawStmt"]; - bool has_raw_stmt() const; - private: - bool _internal_has_raw_stmt() const; - public: - void clear_raw_stmt(); - const ::pg_query::RawStmt& raw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RawStmt* release_raw_stmt(); - ::pg_query::RawStmt* mutable_raw_stmt(); - void set_allocated_raw_stmt(::pg_query::RawStmt* raw_stmt); - private: - const ::pg_query::RawStmt& _internal_raw_stmt() const; - ::pg_query::RawStmt* _internal_mutable_raw_stmt(); - public: - void unsafe_arena_set_allocated_raw_stmt( - ::pg_query::RawStmt* raw_stmt); - ::pg_query::RawStmt* unsafe_arena_release_raw_stmt(); + inline ParamRef& operator=(const ParamRef& from) { + CopyFrom(from); + return *this; + } + inline ParamRef& operator=(ParamRef&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.Query query = 53 [json_name = "Query"]; - bool has_query() const; - private: - bool _internal_has_query() const; - public: - void clear_query(); - const ::pg_query::Query& query() const; - PROTOBUF_NODISCARD ::pg_query::Query* release_query(); - ::pg_query::Query* mutable_query(); - void set_allocated_query(::pg_query::Query* query); - private: - const ::pg_query::Query& _internal_query() const; - ::pg_query::Query* _internal_mutable_query(); - public: - void unsafe_arena_set_allocated_query( - ::pg_query::Query* query); - ::pg_query::Query* unsafe_arena_release_query(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.InsertStmt insert_stmt = 54 [json_name = "InsertStmt"]; - bool has_insert_stmt() const; - private: - bool _internal_has_insert_stmt() const; - public: - void clear_insert_stmt(); - const ::pg_query::InsertStmt& insert_stmt() const; - PROTOBUF_NODISCARD ::pg_query::InsertStmt* release_insert_stmt(); - ::pg_query::InsertStmt* mutable_insert_stmt(); - void set_allocated_insert_stmt(::pg_query::InsertStmt* insert_stmt); - private: - const ::pg_query::InsertStmt& _internal_insert_stmt() const; - ::pg_query::InsertStmt* _internal_mutable_insert_stmt(); - public: - void unsafe_arena_set_allocated_insert_stmt( - ::pg_query::InsertStmt* insert_stmt); - ::pg_query::InsertStmt* unsafe_arena_release_insert_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ParamRef& default_instance() { + return *internal_default_instance(); + } + static inline const ParamRef* internal_default_instance() { + return reinterpret_cast( + &_ParamRef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 78; - // .pg_query.DeleteStmt delete_stmt = 55 [json_name = "DeleteStmt"]; - bool has_delete_stmt() const; - private: - bool _internal_has_delete_stmt() const; - public: - void clear_delete_stmt(); - const ::pg_query::DeleteStmt& delete_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeleteStmt* release_delete_stmt(); - ::pg_query::DeleteStmt* mutable_delete_stmt(); - void set_allocated_delete_stmt(::pg_query::DeleteStmt* delete_stmt); - private: - const ::pg_query::DeleteStmt& _internal_delete_stmt() const; - ::pg_query::DeleteStmt* _internal_mutable_delete_stmt(); - public: - void unsafe_arena_set_allocated_delete_stmt( - ::pg_query::DeleteStmt* delete_stmt); - ::pg_query::DeleteStmt* unsafe_arena_release_delete_stmt(); + friend void swap(ParamRef& a, ParamRef& b) { + a.Swap(&b); + } + inline void Swap(ParamRef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ParamRef* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.UpdateStmt update_stmt = 56 [json_name = "UpdateStmt"]; - bool has_update_stmt() const; - private: - bool _internal_has_update_stmt() const; - public: - void clear_update_stmt(); - const ::pg_query::UpdateStmt& update_stmt() const; - PROTOBUF_NODISCARD ::pg_query::UpdateStmt* release_update_stmt(); - ::pg_query::UpdateStmt* mutable_update_stmt(); - void set_allocated_update_stmt(::pg_query::UpdateStmt* update_stmt); - private: - const ::pg_query::UpdateStmt& _internal_update_stmt() const; - ::pg_query::UpdateStmt* _internal_mutable_update_stmt(); - public: - void unsafe_arena_set_allocated_update_stmt( - ::pg_query::UpdateStmt* update_stmt); - ::pg_query::UpdateStmt* unsafe_arena_release_update_stmt(); + // implements Message ---------------------------------------------- - // .pg_query.MergeStmt merge_stmt = 57 [json_name = "MergeStmt"]; - bool has_merge_stmt() const; - private: - bool _internal_has_merge_stmt() const; - public: - void clear_merge_stmt(); - const ::pg_query::MergeStmt& merge_stmt() const; - PROTOBUF_NODISCARD ::pg_query::MergeStmt* release_merge_stmt(); - ::pg_query::MergeStmt* mutable_merge_stmt(); - void set_allocated_merge_stmt(::pg_query::MergeStmt* merge_stmt); + ParamRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ParamRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ParamRef& from) { + ParamRef::MergeImpl(*this, from); + } private: - const ::pg_query::MergeStmt& _internal_merge_stmt() const; - ::pg_query::MergeStmt* _internal_mutable_merge_stmt(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_merge_stmt( - ::pg_query::MergeStmt* merge_stmt); - ::pg_query::MergeStmt* unsafe_arena_release_merge_stmt(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.SelectStmt select_stmt = 58 [json_name = "SelectStmt"]; - bool has_select_stmt() const; - private: - bool _internal_has_select_stmt() const; - public: - void clear_select_stmt(); - const ::pg_query::SelectStmt& select_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_select_stmt(); - ::pg_query::SelectStmt* mutable_select_stmt(); - void set_allocated_select_stmt(::pg_query::SelectStmt* select_stmt); - private: - const ::pg_query::SelectStmt& _internal_select_stmt() const; - ::pg_query::SelectStmt* _internal_mutable_select_stmt(); - public: - void unsafe_arena_set_allocated_select_stmt( - ::pg_query::SelectStmt* select_stmt); - ::pg_query::SelectStmt* unsafe_arena_release_select_stmt(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.ReturnStmt return_stmt = 59 [json_name = "ReturnStmt"]; - bool has_return_stmt() const; - private: - bool _internal_has_return_stmt() const; - public: - void clear_return_stmt(); - const ::pg_query::ReturnStmt& return_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReturnStmt* release_return_stmt(); - ::pg_query::ReturnStmt* mutable_return_stmt(); - void set_allocated_return_stmt(::pg_query::ReturnStmt* return_stmt); private: - const ::pg_query::ReturnStmt& _internal_return_stmt() const; - ::pg_query::ReturnStmt* _internal_mutable_return_stmt(); - public: - void unsafe_arena_set_allocated_return_stmt( - ::pg_query::ReturnStmt* return_stmt); - ::pg_query::ReturnStmt* unsafe_arena_release_return_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ParamRef* other); - // .pg_query.PLAssignStmt plassign_stmt = 60 [json_name = "PLAssignStmt"]; - bool has_plassign_stmt() const; - private: - bool _internal_has_plassign_stmt() const; - public: - void clear_plassign_stmt(); - const ::pg_query::PLAssignStmt& plassign_stmt() const; - PROTOBUF_NODISCARD ::pg_query::PLAssignStmt* release_plassign_stmt(); - ::pg_query::PLAssignStmt* mutable_plassign_stmt(); - void set_allocated_plassign_stmt(::pg_query::PLAssignStmt* plassign_stmt); private: - const ::pg_query::PLAssignStmt& _internal_plassign_stmt() const; - ::pg_query::PLAssignStmt* _internal_mutable_plassign_stmt(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ParamRef"; + } + protected: + explicit ParamRef(::google::protobuf::Arena* arena); + ParamRef(::google::protobuf::Arena* arena, const ParamRef& from); public: - void unsafe_arena_set_allocated_plassign_stmt( - ::pg_query::PLAssignStmt* plassign_stmt); - ::pg_query::PLAssignStmt* unsafe_arena_release_plassign_stmt(); - // .pg_query.AlterTableStmt alter_table_stmt = 61 [json_name = "AlterTableStmt"]; - bool has_alter_table_stmt() const; - private: - bool _internal_has_alter_table_stmt() const; - public: - void clear_alter_table_stmt(); - const ::pg_query::AlterTableStmt& alter_table_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableStmt* release_alter_table_stmt(); - ::pg_query::AlterTableStmt* mutable_alter_table_stmt(); - void set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* alter_table_stmt); - private: - const ::pg_query::AlterTableStmt& _internal_alter_table_stmt() const; - ::pg_query::AlterTableStmt* _internal_mutable_alter_table_stmt(); - public: - void unsafe_arena_set_allocated_alter_table_stmt( - ::pg_query::AlterTableStmt* alter_table_stmt); - ::pg_query::AlterTableStmt* unsafe_arena_release_alter_table_stmt(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.AlterTableCmd alter_table_cmd = 62 [json_name = "AlterTableCmd"]; - bool has_alter_table_cmd() const; - private: - bool _internal_has_alter_table_cmd() const; - public: - void clear_alter_table_cmd(); - const ::pg_query::AlterTableCmd& alter_table_cmd() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableCmd* release_alter_table_cmd(); - ::pg_query::AlterTableCmd* mutable_alter_table_cmd(); - void set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* alter_table_cmd); - private: - const ::pg_query::AlterTableCmd& _internal_alter_table_cmd() const; - ::pg_query::AlterTableCmd* _internal_mutable_alter_table_cmd(); - public: - void unsafe_arena_set_allocated_alter_table_cmd( - ::pg_query::AlterTableCmd* alter_table_cmd); - ::pg_query::AlterTableCmd* unsafe_arena_release_alter_table_cmd(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.AlterDomainStmt alter_domain_stmt = 63 [json_name = "AlterDomainStmt"]; - bool has_alter_domain_stmt() const; - private: - bool _internal_has_alter_domain_stmt() const; - public: - void clear_alter_domain_stmt(); - const ::pg_query::AlterDomainStmt& alter_domain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDomainStmt* release_alter_domain_stmt(); - ::pg_query::AlterDomainStmt* mutable_alter_domain_stmt(); - void set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* alter_domain_stmt); - private: - const ::pg_query::AlterDomainStmt& _internal_alter_domain_stmt() const; - ::pg_query::AlterDomainStmt* _internal_mutable_alter_domain_stmt(); - public: - void unsafe_arena_set_allocated_alter_domain_stmt( - ::pg_query::AlterDomainStmt* alter_domain_stmt); - ::pg_query::AlterDomainStmt* unsafe_arena_release_alter_domain_stmt(); + // nested types ---------------------------------------------------- - // .pg_query.SetOperationStmt set_operation_stmt = 64 [json_name = "SetOperationStmt"]; - bool has_set_operation_stmt() const; - private: - bool _internal_has_set_operation_stmt() const; - public: - void clear_set_operation_stmt(); - const ::pg_query::SetOperationStmt& set_operation_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SetOperationStmt* release_set_operation_stmt(); - ::pg_query::SetOperationStmt* mutable_set_operation_stmt(); - void set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* set_operation_stmt); - private: - const ::pg_query::SetOperationStmt& _internal_set_operation_stmt() const; - ::pg_query::SetOperationStmt* _internal_mutable_set_operation_stmt(); - public: - void unsafe_arena_set_allocated_set_operation_stmt( - ::pg_query::SetOperationStmt* set_operation_stmt); - ::pg_query::SetOperationStmt* unsafe_arena_release_set_operation_stmt(); + // accessors ------------------------------------------------------- - // .pg_query.GrantStmt grant_stmt = 65 [json_name = "GrantStmt"]; - bool has_grant_stmt() const; - private: - bool _internal_has_grant_stmt() const; - public: - void clear_grant_stmt(); - const ::pg_query::GrantStmt& grant_stmt() const; - PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_grant_stmt(); - ::pg_query::GrantStmt* mutable_grant_stmt(); - void set_allocated_grant_stmt(::pg_query::GrantStmt* grant_stmt); - private: - const ::pg_query::GrantStmt& _internal_grant_stmt() const; - ::pg_query::GrantStmt* _internal_mutable_grant_stmt(); - public: - void unsafe_arena_set_allocated_grant_stmt( - ::pg_query::GrantStmt* grant_stmt); - ::pg_query::GrantStmt* unsafe_arena_release_grant_stmt(); + enum : int { + kNumberFieldNumber = 1, + kLocationFieldNumber = 2, + }; + // int32 number = 1 [json_name = "number"]; + void clear_number() ; + ::int32_t number() const; + void set_number(::int32_t value); - // .pg_query.GrantRoleStmt grant_role_stmt = 66 [json_name = "GrantRoleStmt"]; - bool has_grant_role_stmt() const; - private: - bool _internal_has_grant_role_stmt() const; - public: - void clear_grant_role_stmt(); - const ::pg_query::GrantRoleStmt& grant_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::GrantRoleStmt* release_grant_role_stmt(); - ::pg_query::GrantRoleStmt* mutable_grant_role_stmt(); - void set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* grant_role_stmt); private: - const ::pg_query::GrantRoleStmt& _internal_grant_role_stmt() const; - ::pg_query::GrantRoleStmt* _internal_mutable_grant_role_stmt(); - public: - void unsafe_arena_set_allocated_grant_role_stmt( - ::pg_query::GrantRoleStmt* grant_role_stmt); - ::pg_query::GrantRoleStmt* unsafe_arena_release_grant_role_stmt(); + ::int32_t _internal_number() const; + void _internal_set_number(::int32_t value); - // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 67 [json_name = "AlterDefaultPrivilegesStmt"]; - bool has_alter_default_privileges_stmt() const; - private: - bool _internal_has_alter_default_privileges_stmt() const; - public: - void clear_alter_default_privileges_stmt(); - const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDefaultPrivilegesStmt* release_alter_default_privileges_stmt(); - ::pg_query::AlterDefaultPrivilegesStmt* mutable_alter_default_privileges_stmt(); - void set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt); - private: - const ::pg_query::AlterDefaultPrivilegesStmt& _internal_alter_default_privileges_stmt() const; - ::pg_query::AlterDefaultPrivilegesStmt* _internal_mutable_alter_default_privileges_stmt(); public: - void unsafe_arena_set_allocated_alter_default_privileges_stmt( - ::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt); - ::pg_query::AlterDefaultPrivilegesStmt* unsafe_arena_release_alter_default_privileges_stmt(); + // int32 location = 2 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.ClosePortalStmt close_portal_stmt = 68 [json_name = "ClosePortalStmt"]; - bool has_close_portal_stmt() const; - private: - bool _internal_has_close_portal_stmt() const; - public: - void clear_close_portal_stmt(); - const ::pg_query::ClosePortalStmt& close_portal_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ClosePortalStmt* release_close_portal_stmt(); - ::pg_query::ClosePortalStmt* mutable_close_portal_stmt(); - void set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* close_portal_stmt); private: - const ::pg_query::ClosePortalStmt& _internal_close_portal_stmt() const; - ::pg_query::ClosePortalStmt* _internal_mutable_close_portal_stmt(); - public: - void unsafe_arena_set_allocated_close_portal_stmt( - ::pg_query::ClosePortalStmt* close_portal_stmt); - ::pg_query::ClosePortalStmt* unsafe_arena_release_close_portal_stmt(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // .pg_query.ClusterStmt cluster_stmt = 69 [json_name = "ClusterStmt"]; - bool has_cluster_stmt() const; - private: - bool _internal_has_cluster_stmt() const; - public: - void clear_cluster_stmt(); - const ::pg_query::ClusterStmt& cluster_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ClusterStmt* release_cluster_stmt(); - ::pg_query::ClusterStmt* mutable_cluster_stmt(); - void set_allocated_cluster_stmt(::pg_query::ClusterStmt* cluster_stmt); - private: - const ::pg_query::ClusterStmt& _internal_cluster_stmt() const; - ::pg_query::ClusterStmt* _internal_mutable_cluster_stmt(); public: - void unsafe_arena_set_allocated_cluster_stmt( - ::pg_query::ClusterStmt* cluster_stmt); - ::pg_query::ClusterStmt* unsafe_arena_release_cluster_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.ParamRef) + private: + class _Internal; - // .pg_query.CopyStmt copy_stmt = 70 [json_name = "CopyStmt"]; - bool has_copy_stmt() const; - private: - bool _internal_has_copy_stmt() const; - public: - void clear_copy_stmt(); - const ::pg_query::CopyStmt& copy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CopyStmt* release_copy_stmt(); - ::pg_query::CopyStmt* mutable_copy_stmt(); - void set_allocated_copy_stmt(::pg_query::CopyStmt* copy_stmt); - private: - const ::pg_query::CopyStmt& _internal_copy_stmt() const; - ::pg_query::CopyStmt* _internal_mutable_copy_stmt(); - public: - void unsafe_arena_set_allocated_copy_stmt( - ::pg_query::CopyStmt* copy_stmt); - ::pg_query::CopyStmt* unsafe_arena_release_copy_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.CreateStmt create_stmt = 71 [json_name = "CreateStmt"]; - bool has_create_stmt() const; - private: - bool _internal_has_create_stmt() const; - public: - void clear_create_stmt(); - const ::pg_query::CreateStmt& create_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_create_stmt(); - ::pg_query::CreateStmt* mutable_create_stmt(); - void set_allocated_create_stmt(::pg_query::CreateStmt* create_stmt); - private: - const ::pg_query::CreateStmt& _internal_create_stmt() const; - ::pg_query::CreateStmt* _internal_mutable_create_stmt(); - public: - void unsafe_arena_set_allocated_create_stmt( - ::pg_query::CreateStmt* create_stmt); - ::pg_query::CreateStmt* unsafe_arena_release_create_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::int32_t number_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.DefineStmt define_stmt = 72 [json_name = "DefineStmt"]; - bool has_define_stmt() const; - private: - bool _internal_has_define_stmt() const; - public: - void clear_define_stmt(); - const ::pg_query::DefineStmt& define_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DefineStmt* release_define_stmt(); - ::pg_query::DefineStmt* mutable_define_stmt(); - void set_allocated_define_stmt(::pg_query::DefineStmt* define_stmt); - private: - const ::pg_query::DefineStmt& _internal_define_stmt() const; - ::pg_query::DefineStmt* _internal_mutable_define_stmt(); - public: - void unsafe_arena_set_allocated_define_stmt( - ::pg_query::DefineStmt* define_stmt); - ::pg_query::DefineStmt* unsafe_arena_release_define_stmt(); +class NotifyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NotifyStmt) */ { + public: + inline NotifyStmt() : NotifyStmt(nullptr) {} + ~NotifyStmt() override; + template + explicit PROTOBUF_CONSTEXPR NotifyStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.DropStmt drop_stmt = 73 [json_name = "DropStmt"]; - bool has_drop_stmt() const; - private: - bool _internal_has_drop_stmt() const; - public: - void clear_drop_stmt(); - const ::pg_query::DropStmt& drop_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropStmt* release_drop_stmt(); - ::pg_query::DropStmt* mutable_drop_stmt(); - void set_allocated_drop_stmt(::pg_query::DropStmt* drop_stmt); - private: - const ::pg_query::DropStmt& _internal_drop_stmt() const; - ::pg_query::DropStmt* _internal_mutable_drop_stmt(); - public: - void unsafe_arena_set_allocated_drop_stmt( - ::pg_query::DropStmt* drop_stmt); - ::pg_query::DropStmt* unsafe_arena_release_drop_stmt(); + inline NotifyStmt(const NotifyStmt& from) + : NotifyStmt(nullptr, from) {} + NotifyStmt(NotifyStmt&& from) noexcept + : NotifyStmt() { + *this = ::std::move(from); + } - // .pg_query.TruncateStmt truncate_stmt = 74 [json_name = "TruncateStmt"]; - bool has_truncate_stmt() const; - private: - bool _internal_has_truncate_stmt() const; - public: - void clear_truncate_stmt(); - const ::pg_query::TruncateStmt& truncate_stmt() const; - PROTOBUF_NODISCARD ::pg_query::TruncateStmt* release_truncate_stmt(); - ::pg_query::TruncateStmt* mutable_truncate_stmt(); - void set_allocated_truncate_stmt(::pg_query::TruncateStmt* truncate_stmt); - private: - const ::pg_query::TruncateStmt& _internal_truncate_stmt() const; - ::pg_query::TruncateStmt* _internal_mutable_truncate_stmt(); - public: - void unsafe_arena_set_allocated_truncate_stmt( - ::pg_query::TruncateStmt* truncate_stmt); - ::pg_query::TruncateStmt* unsafe_arena_release_truncate_stmt(); + inline NotifyStmt& operator=(const NotifyStmt& from) { + CopyFrom(from); + return *this; + } + inline NotifyStmt& operator=(NotifyStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.CommentStmt comment_stmt = 75 [json_name = "CommentStmt"]; - bool has_comment_stmt() const; - private: - bool _internal_has_comment_stmt() const; - public: - void clear_comment_stmt(); - const ::pg_query::CommentStmt& comment_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CommentStmt* release_comment_stmt(); - ::pg_query::CommentStmt* mutable_comment_stmt(); - void set_allocated_comment_stmt(::pg_query::CommentStmt* comment_stmt); - private: - const ::pg_query::CommentStmt& _internal_comment_stmt() const; - ::pg_query::CommentStmt* _internal_mutable_comment_stmt(); - public: - void unsafe_arena_set_allocated_comment_stmt( - ::pg_query::CommentStmt* comment_stmt); - ::pg_query::CommentStmt* unsafe_arena_release_comment_stmt(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.FetchStmt fetch_stmt = 76 [json_name = "FetchStmt"]; - bool has_fetch_stmt() const; - private: - bool _internal_has_fetch_stmt() const; - public: - void clear_fetch_stmt(); - const ::pg_query::FetchStmt& fetch_stmt() const; - PROTOBUF_NODISCARD ::pg_query::FetchStmt* release_fetch_stmt(); - ::pg_query::FetchStmt* mutable_fetch_stmt(); - void set_allocated_fetch_stmt(::pg_query::FetchStmt* fetch_stmt); - private: - const ::pg_query::FetchStmt& _internal_fetch_stmt() const; - ::pg_query::FetchStmt* _internal_mutable_fetch_stmt(); - public: - void unsafe_arena_set_allocated_fetch_stmt( - ::pg_query::FetchStmt* fetch_stmt); - ::pg_query::FetchStmt* unsafe_arena_release_fetch_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const NotifyStmt& default_instance() { + return *internal_default_instance(); + } + static inline const NotifyStmt* internal_default_instance() { + return reinterpret_cast( + &_NotifyStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 227; - // .pg_query.IndexStmt index_stmt = 77 [json_name = "IndexStmt"]; - bool has_index_stmt() const; - private: - bool _internal_has_index_stmt() const; - public: - void clear_index_stmt(); - const ::pg_query::IndexStmt& index_stmt() const; - PROTOBUF_NODISCARD ::pg_query::IndexStmt* release_index_stmt(); - ::pg_query::IndexStmt* mutable_index_stmt(); - void set_allocated_index_stmt(::pg_query::IndexStmt* index_stmt); - private: - const ::pg_query::IndexStmt& _internal_index_stmt() const; - ::pg_query::IndexStmt* _internal_mutable_index_stmt(); - public: - void unsafe_arena_set_allocated_index_stmt( - ::pg_query::IndexStmt* index_stmt); - ::pg_query::IndexStmt* unsafe_arena_release_index_stmt(); + friend void swap(NotifyStmt& a, NotifyStmt& b) { + a.Swap(&b); + } + inline void Swap(NotifyStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(NotifyStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.CreateFunctionStmt create_function_stmt = 78 [json_name = "CreateFunctionStmt"]; - bool has_create_function_stmt() const; - private: - bool _internal_has_create_function_stmt() const; - public: - void clear_create_function_stmt(); - const ::pg_query::CreateFunctionStmt& create_function_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateFunctionStmt* release_create_function_stmt(); - ::pg_query::CreateFunctionStmt* mutable_create_function_stmt(); - void set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* create_function_stmt); - private: - const ::pg_query::CreateFunctionStmt& _internal_create_function_stmt() const; - ::pg_query::CreateFunctionStmt* _internal_mutable_create_function_stmt(); - public: - void unsafe_arena_set_allocated_create_function_stmt( - ::pg_query::CreateFunctionStmt* create_function_stmt); - ::pg_query::CreateFunctionStmt* unsafe_arena_release_create_function_stmt(); + // implements Message ---------------------------------------------- - // .pg_query.AlterFunctionStmt alter_function_stmt = 79 [json_name = "AlterFunctionStmt"]; - bool has_alter_function_stmt() const; - private: - bool _internal_has_alter_function_stmt() const; - public: - void clear_alter_function_stmt(); - const ::pg_query::AlterFunctionStmt& alter_function_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterFunctionStmt* release_alter_function_stmt(); - ::pg_query::AlterFunctionStmt* mutable_alter_function_stmt(); - void set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* alter_function_stmt); + NotifyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NotifyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NotifyStmt& from) { + NotifyStmt::MergeImpl(*this, from); + } private: - const ::pg_query::AlterFunctionStmt& _internal_alter_function_stmt() const; - ::pg_query::AlterFunctionStmt* _internal_mutable_alter_function_stmt(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_alter_function_stmt( - ::pg_query::AlterFunctionStmt* alter_function_stmt); - ::pg_query::AlterFunctionStmt* unsafe_arena_release_alter_function_stmt(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.DoStmt do_stmt = 80 [json_name = "DoStmt"]; - bool has_do_stmt() const; - private: - bool _internal_has_do_stmt() const; - public: - void clear_do_stmt(); - const ::pg_query::DoStmt& do_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DoStmt* release_do_stmt(); - ::pg_query::DoStmt* mutable_do_stmt(); - void set_allocated_do_stmt(::pg_query::DoStmt* do_stmt); - private: - const ::pg_query::DoStmt& _internal_do_stmt() const; - ::pg_query::DoStmt* _internal_mutable_do_stmt(); - public: - void unsafe_arena_set_allocated_do_stmt( - ::pg_query::DoStmt* do_stmt); - ::pg_query::DoStmt* unsafe_arena_release_do_stmt(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.RenameStmt rename_stmt = 81 [json_name = "RenameStmt"]; - bool has_rename_stmt() const; - private: - bool _internal_has_rename_stmt() const; - public: - void clear_rename_stmt(); - const ::pg_query::RenameStmt& rename_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RenameStmt* release_rename_stmt(); - ::pg_query::RenameStmt* mutable_rename_stmt(); - void set_allocated_rename_stmt(::pg_query::RenameStmt* rename_stmt); private: - const ::pg_query::RenameStmt& _internal_rename_stmt() const; - ::pg_query::RenameStmt* _internal_mutable_rename_stmt(); - public: - void unsafe_arena_set_allocated_rename_stmt( - ::pg_query::RenameStmt* rename_stmt); - ::pg_query::RenameStmt* unsafe_arena_release_rename_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(NotifyStmt* other); - // .pg_query.RuleStmt rule_stmt = 82 [json_name = "RuleStmt"]; - bool has_rule_stmt() const; - private: - bool _internal_has_rule_stmt() const; - public: - void clear_rule_stmt(); - const ::pg_query::RuleStmt& rule_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RuleStmt* release_rule_stmt(); - ::pg_query::RuleStmt* mutable_rule_stmt(); - void set_allocated_rule_stmt(::pg_query::RuleStmt* rule_stmt); private: - const ::pg_query::RuleStmt& _internal_rule_stmt() const; - ::pg_query::RuleStmt* _internal_mutable_rule_stmt(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NotifyStmt"; + } + protected: + explicit NotifyStmt(::google::protobuf::Arena* arena); + NotifyStmt(::google::protobuf::Arena* arena, const NotifyStmt& from); public: - void unsafe_arena_set_allocated_rule_stmt( - ::pg_query::RuleStmt* rule_stmt); - ::pg_query::RuleStmt* unsafe_arena_release_rule_stmt(); - // .pg_query.NotifyStmt notify_stmt = 83 [json_name = "NotifyStmt"]; - bool has_notify_stmt() const; - private: - bool _internal_has_notify_stmt() const; - public: - void clear_notify_stmt(); - const ::pg_query::NotifyStmt& notify_stmt() const; - PROTOBUF_NODISCARD ::pg_query::NotifyStmt* release_notify_stmt(); - ::pg_query::NotifyStmt* mutable_notify_stmt(); - void set_allocated_notify_stmt(::pg_query::NotifyStmt* notify_stmt); - private: - const ::pg_query::NotifyStmt& _internal_notify_stmt() const; - ::pg_query::NotifyStmt* _internal_mutable_notify_stmt(); - public: - void unsafe_arena_set_allocated_notify_stmt( - ::pg_query::NotifyStmt* notify_stmt); - ::pg_query::NotifyStmt* unsafe_arena_release_notify_stmt(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.ListenStmt listen_stmt = 84 [json_name = "ListenStmt"]; - bool has_listen_stmt() const; - private: - bool _internal_has_listen_stmt() const; - public: - void clear_listen_stmt(); - const ::pg_query::ListenStmt& listen_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ListenStmt* release_listen_stmt(); - ::pg_query::ListenStmt* mutable_listen_stmt(); - void set_allocated_listen_stmt(::pg_query::ListenStmt* listen_stmt); - private: - const ::pg_query::ListenStmt& _internal_listen_stmt() const; - ::pg_query::ListenStmt* _internal_mutable_listen_stmt(); - public: - void unsafe_arena_set_allocated_listen_stmt( - ::pg_query::ListenStmt* listen_stmt); - ::pg_query::ListenStmt* unsafe_arena_release_listen_stmt(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.UnlistenStmt unlisten_stmt = 85 [json_name = "UnlistenStmt"]; - bool has_unlisten_stmt() const; - private: - bool _internal_has_unlisten_stmt() const; - public: - void clear_unlisten_stmt(); - const ::pg_query::UnlistenStmt& unlisten_stmt() const; - PROTOBUF_NODISCARD ::pg_query::UnlistenStmt* release_unlisten_stmt(); - ::pg_query::UnlistenStmt* mutable_unlisten_stmt(); - void set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* unlisten_stmt); - private: - const ::pg_query::UnlistenStmt& _internal_unlisten_stmt() const; - ::pg_query::UnlistenStmt* _internal_mutable_unlisten_stmt(); - public: - void unsafe_arena_set_allocated_unlisten_stmt( - ::pg_query::UnlistenStmt* unlisten_stmt); - ::pg_query::UnlistenStmt* unsafe_arena_release_unlisten_stmt(); + // nested types ---------------------------------------------------- - // .pg_query.TransactionStmt transaction_stmt = 86 [json_name = "TransactionStmt"]; - bool has_transaction_stmt() const; - private: - bool _internal_has_transaction_stmt() const; - public: - void clear_transaction_stmt(); - const ::pg_query::TransactionStmt& transaction_stmt() const; - PROTOBUF_NODISCARD ::pg_query::TransactionStmt* release_transaction_stmt(); - ::pg_query::TransactionStmt* mutable_transaction_stmt(); - void set_allocated_transaction_stmt(::pg_query::TransactionStmt* transaction_stmt); - private: - const ::pg_query::TransactionStmt& _internal_transaction_stmt() const; - ::pg_query::TransactionStmt* _internal_mutable_transaction_stmt(); - public: - void unsafe_arena_set_allocated_transaction_stmt( - ::pg_query::TransactionStmt* transaction_stmt); - ::pg_query::TransactionStmt* unsafe_arena_release_transaction_stmt(); + // accessors ------------------------------------------------------- - // .pg_query.ViewStmt view_stmt = 87 [json_name = "ViewStmt"]; - bool has_view_stmt() const; - private: - bool _internal_has_view_stmt() const; - public: - void clear_view_stmt(); - const ::pg_query::ViewStmt& view_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ViewStmt* release_view_stmt(); - ::pg_query::ViewStmt* mutable_view_stmt(); - void set_allocated_view_stmt(::pg_query::ViewStmt* view_stmt); - private: - const ::pg_query::ViewStmt& _internal_view_stmt() const; - ::pg_query::ViewStmt* _internal_mutable_view_stmt(); - public: - void unsafe_arena_set_allocated_view_stmt( - ::pg_query::ViewStmt* view_stmt); - ::pg_query::ViewStmt* unsafe_arena_release_view_stmt(); + enum : int { + kConditionnameFieldNumber = 1, + kPayloadFieldNumber = 2, + }; + // string conditionname = 1 [json_name = "conditionname"]; + void clear_conditionname() ; + const std::string& conditionname() const; + template + void set_conditionname(Arg_&& arg, Args_... args); + std::string* mutable_conditionname(); + PROTOBUF_NODISCARD std::string* release_conditionname(); + void set_allocated_conditionname(std::string* value); - // .pg_query.LoadStmt load_stmt = 88 [json_name = "LoadStmt"]; - bool has_load_stmt() const; - private: - bool _internal_has_load_stmt() const; - public: - void clear_load_stmt(); - const ::pg_query::LoadStmt& load_stmt() const; - PROTOBUF_NODISCARD ::pg_query::LoadStmt* release_load_stmt(); - ::pg_query::LoadStmt* mutable_load_stmt(); - void set_allocated_load_stmt(::pg_query::LoadStmt* load_stmt); private: - const ::pg_query::LoadStmt& _internal_load_stmt() const; - ::pg_query::LoadStmt* _internal_mutable_load_stmt(); - public: - void unsafe_arena_set_allocated_load_stmt( - ::pg_query::LoadStmt* load_stmt); - ::pg_query::LoadStmt* unsafe_arena_release_load_stmt(); + const std::string& _internal_conditionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname( + const std::string& value); + std::string* _internal_mutable_conditionname(); - // .pg_query.CreateDomainStmt create_domain_stmt = 89 [json_name = "CreateDomainStmt"]; - bool has_create_domain_stmt() const; - private: - bool _internal_has_create_domain_stmt() const; - public: - void clear_create_domain_stmt(); - const ::pg_query::CreateDomainStmt& create_domain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateDomainStmt* release_create_domain_stmt(); - ::pg_query::CreateDomainStmt* mutable_create_domain_stmt(); - void set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* create_domain_stmt); - private: - const ::pg_query::CreateDomainStmt& _internal_create_domain_stmt() const; - ::pg_query::CreateDomainStmt* _internal_mutable_create_domain_stmt(); public: - void unsafe_arena_set_allocated_create_domain_stmt( - ::pg_query::CreateDomainStmt* create_domain_stmt); - ::pg_query::CreateDomainStmt* unsafe_arena_release_create_domain_stmt(); + // string payload = 2 [json_name = "payload"]; + void clear_payload() ; + const std::string& payload() const; + template + void set_payload(Arg_&& arg, Args_... args); + std::string* mutable_payload(); + PROTOBUF_NODISCARD std::string* release_payload(); + void set_allocated_payload(std::string* value); - // .pg_query.CreatedbStmt createdb_stmt = 90 [json_name = "CreatedbStmt"]; - bool has_createdb_stmt() const; - private: - bool _internal_has_createdb_stmt() const; - public: - void clear_createdb_stmt(); - const ::pg_query::CreatedbStmt& createdb_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatedbStmt* release_createdb_stmt(); - ::pg_query::CreatedbStmt* mutable_createdb_stmt(); - void set_allocated_createdb_stmt(::pg_query::CreatedbStmt* createdb_stmt); private: - const ::pg_query::CreatedbStmt& _internal_createdb_stmt() const; - ::pg_query::CreatedbStmt* _internal_mutable_createdb_stmt(); - public: - void unsafe_arena_set_allocated_createdb_stmt( - ::pg_query::CreatedbStmt* createdb_stmt); - ::pg_query::CreatedbStmt* unsafe_arena_release_createdb_stmt(); + const std::string& _internal_payload() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_payload( + const std::string& value); + std::string* _internal_mutable_payload(); - // .pg_query.DropdbStmt dropdb_stmt = 91 [json_name = "DropdbStmt"]; - bool has_dropdb_stmt() const; - private: - bool _internal_has_dropdb_stmt() const; public: - void clear_dropdb_stmt(); - const ::pg_query::DropdbStmt& dropdb_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropdbStmt* release_dropdb_stmt(); - ::pg_query::DropdbStmt* mutable_dropdb_stmt(); - void set_allocated_dropdb_stmt(::pg_query::DropdbStmt* dropdb_stmt); - private: - const ::pg_query::DropdbStmt& _internal_dropdb_stmt() const; - ::pg_query::DropdbStmt* _internal_mutable_dropdb_stmt(); - public: - void unsafe_arena_set_allocated_dropdb_stmt( - ::pg_query::DropdbStmt* dropdb_stmt); - ::pg_query::DropdbStmt* unsafe_arena_release_dropdb_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.NotifyStmt) + private: + class _Internal; - // .pg_query.VacuumStmt vacuum_stmt = 92 [json_name = "VacuumStmt"]; - bool has_vacuum_stmt() const; - private: - bool _internal_has_vacuum_stmt() const; - public: - void clear_vacuum_stmt(); - const ::pg_query::VacuumStmt& vacuum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VacuumStmt* release_vacuum_stmt(); - ::pg_query::VacuumStmt* mutable_vacuum_stmt(); - void set_allocated_vacuum_stmt(::pg_query::VacuumStmt* vacuum_stmt); - private: - const ::pg_query::VacuumStmt& _internal_vacuum_stmt() const; - ::pg_query::VacuumStmt* _internal_mutable_vacuum_stmt(); - public: - void unsafe_arena_set_allocated_vacuum_stmt( - ::pg_query::VacuumStmt* vacuum_stmt); - ::pg_query::VacuumStmt* unsafe_arena_release_vacuum_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.ExplainStmt explain_stmt = 93 [json_name = "ExplainStmt"]; - bool has_explain_stmt() const; - private: - bool _internal_has_explain_stmt() const; - public: - void clear_explain_stmt(); - const ::pg_query::ExplainStmt& explain_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ExplainStmt* release_explain_stmt(); - ::pg_query::ExplainStmt* mutable_explain_stmt(); - void set_allocated_explain_stmt(::pg_query::ExplainStmt* explain_stmt); - private: - const ::pg_query::ExplainStmt& _internal_explain_stmt() const; - ::pg_query::ExplainStmt* _internal_mutable_explain_stmt(); - public: - void unsafe_arena_set_allocated_explain_stmt( - ::pg_query::ExplainStmt* explain_stmt); - ::pg_query::ExplainStmt* unsafe_arena_release_explain_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr conditionname_; + ::google::protobuf::internal::ArenaStringPtr payload_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.CreateTableAsStmt create_table_as_stmt = 94 [json_name = "CreateTableAsStmt"]; - bool has_create_table_as_stmt() const; - private: - bool _internal_has_create_table_as_stmt() const; - public: - void clear_create_table_as_stmt(); - const ::pg_query::CreateTableAsStmt& create_table_as_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTableAsStmt* release_create_table_as_stmt(); - ::pg_query::CreateTableAsStmt* mutable_create_table_as_stmt(); - void set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* create_table_as_stmt); - private: - const ::pg_query::CreateTableAsStmt& _internal_create_table_as_stmt() const; - ::pg_query::CreateTableAsStmt* _internal_mutable_create_table_as_stmt(); - public: - void unsafe_arena_set_allocated_create_table_as_stmt( - ::pg_query::CreateTableAsStmt* create_table_as_stmt); - ::pg_query::CreateTableAsStmt* unsafe_arena_release_create_table_as_stmt(); +class LoadStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LoadStmt) */ { + public: + inline LoadStmt() : LoadStmt(nullptr) {} + ~LoadStmt() override; + template + explicit PROTOBUF_CONSTEXPR LoadStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.CreateSeqStmt create_seq_stmt = 95 [json_name = "CreateSeqStmt"]; - bool has_create_seq_stmt() const; - private: - bool _internal_has_create_seq_stmt() const; - public: - void clear_create_seq_stmt(); - const ::pg_query::CreateSeqStmt& create_seq_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSeqStmt* release_create_seq_stmt(); - ::pg_query::CreateSeqStmt* mutable_create_seq_stmt(); - void set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* create_seq_stmt); - private: - const ::pg_query::CreateSeqStmt& _internal_create_seq_stmt() const; - ::pg_query::CreateSeqStmt* _internal_mutable_create_seq_stmt(); - public: - void unsafe_arena_set_allocated_create_seq_stmt( - ::pg_query::CreateSeqStmt* create_seq_stmt); - ::pg_query::CreateSeqStmt* unsafe_arena_release_create_seq_stmt(); + inline LoadStmt(const LoadStmt& from) + : LoadStmt(nullptr, from) {} + LoadStmt(LoadStmt&& from) noexcept + : LoadStmt() { + *this = ::std::move(from); + } - // .pg_query.AlterSeqStmt alter_seq_stmt = 96 [json_name = "AlterSeqStmt"]; - bool has_alter_seq_stmt() const; - private: - bool _internal_has_alter_seq_stmt() const; - public: - void clear_alter_seq_stmt(); - const ::pg_query::AlterSeqStmt& alter_seq_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSeqStmt* release_alter_seq_stmt(); - ::pg_query::AlterSeqStmt* mutable_alter_seq_stmt(); - void set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* alter_seq_stmt); - private: - const ::pg_query::AlterSeqStmt& _internal_alter_seq_stmt() const; - ::pg_query::AlterSeqStmt* _internal_mutable_alter_seq_stmt(); - public: - void unsafe_arena_set_allocated_alter_seq_stmt( - ::pg_query::AlterSeqStmt* alter_seq_stmt); - ::pg_query::AlterSeqStmt* unsafe_arena_release_alter_seq_stmt(); + inline LoadStmt& operator=(const LoadStmt& from) { + CopyFrom(from); + return *this; + } + inline LoadStmt& operator=(LoadStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.VariableSetStmt variable_set_stmt = 97 [json_name = "VariableSetStmt"]; - bool has_variable_set_stmt() const; - private: - bool _internal_has_variable_set_stmt() const; - public: - void clear_variable_set_stmt(); - const ::pg_query::VariableSetStmt& variable_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_variable_set_stmt(); - ::pg_query::VariableSetStmt* mutable_variable_set_stmt(); - void set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* variable_set_stmt); - private: - const ::pg_query::VariableSetStmt& _internal_variable_set_stmt() const; - ::pg_query::VariableSetStmt* _internal_mutable_variable_set_stmt(); - public: - void unsafe_arena_set_allocated_variable_set_stmt( - ::pg_query::VariableSetStmt* variable_set_stmt); - ::pg_query::VariableSetStmt* unsafe_arena_release_variable_set_stmt(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.VariableShowStmt variable_show_stmt = 98 [json_name = "VariableShowStmt"]; - bool has_variable_show_stmt() const; - private: - bool _internal_has_variable_show_stmt() const; - public: - void clear_variable_show_stmt(); - const ::pg_query::VariableShowStmt& variable_show_stmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableShowStmt* release_variable_show_stmt(); - ::pg_query::VariableShowStmt* mutable_variable_show_stmt(); - void set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* variable_show_stmt); - private: - const ::pg_query::VariableShowStmt& _internal_variable_show_stmt() const; - ::pg_query::VariableShowStmt* _internal_mutable_variable_show_stmt(); - public: - void unsafe_arena_set_allocated_variable_show_stmt( - ::pg_query::VariableShowStmt* variable_show_stmt); - ::pg_query::VariableShowStmt* unsafe_arena_release_variable_show_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const LoadStmt& default_instance() { + return *internal_default_instance(); + } + static inline const LoadStmt* internal_default_instance() { + return reinterpret_cast( + &_LoadStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 236; - // .pg_query.DiscardStmt discard_stmt = 99 [json_name = "DiscardStmt"]; - bool has_discard_stmt() const; - private: - bool _internal_has_discard_stmt() const; - public: - void clear_discard_stmt(); - const ::pg_query::DiscardStmt& discard_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DiscardStmt* release_discard_stmt(); - ::pg_query::DiscardStmt* mutable_discard_stmt(); - void set_allocated_discard_stmt(::pg_query::DiscardStmt* discard_stmt); - private: - const ::pg_query::DiscardStmt& _internal_discard_stmt() const; - ::pg_query::DiscardStmt* _internal_mutable_discard_stmt(); - public: - void unsafe_arena_set_allocated_discard_stmt( - ::pg_query::DiscardStmt* discard_stmt); - ::pg_query::DiscardStmt* unsafe_arena_release_discard_stmt(); + friend void swap(LoadStmt& a, LoadStmt& b) { + a.Swap(&b); + } + inline void Swap(LoadStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(LoadStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.CreateTrigStmt create_trig_stmt = 100 [json_name = "CreateTrigStmt"]; - bool has_create_trig_stmt() const; - private: - bool _internal_has_create_trig_stmt() const; - public: - void clear_create_trig_stmt(); - const ::pg_query::CreateTrigStmt& create_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTrigStmt* release_create_trig_stmt(); - ::pg_query::CreateTrigStmt* mutable_create_trig_stmt(); - void set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* create_trig_stmt); - private: - const ::pg_query::CreateTrigStmt& _internal_create_trig_stmt() const; - ::pg_query::CreateTrigStmt* _internal_mutable_create_trig_stmt(); - public: - void unsafe_arena_set_allocated_create_trig_stmt( - ::pg_query::CreateTrigStmt* create_trig_stmt); - ::pg_query::CreateTrigStmt* unsafe_arena_release_create_trig_stmt(); + // implements Message ---------------------------------------------- - // .pg_query.CreatePLangStmt create_plang_stmt = 101 [json_name = "CreatePLangStmt"]; - bool has_create_plang_stmt() const; + LoadStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const LoadStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const LoadStmt& from) { + LoadStmt::MergeImpl(*this, from); + } private: - bool _internal_has_create_plang_stmt() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_create_plang_stmt(); - const ::pg_query::CreatePLangStmt& create_plang_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePLangStmt* release_create_plang_stmt(); - ::pg_query::CreatePLangStmt* mutable_create_plang_stmt(); - void set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* create_plang_stmt); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::CreatePLangStmt& _internal_create_plang_stmt() const; - ::pg_query::CreatePLangStmt* _internal_mutable_create_plang_stmt(); - public: - void unsafe_arena_set_allocated_create_plang_stmt( - ::pg_query::CreatePLangStmt* create_plang_stmt); - ::pg_query::CreatePLangStmt* unsafe_arena_release_create_plang_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(LoadStmt* other); - // .pg_query.CreateRoleStmt create_role_stmt = 102 [json_name = "CreateRoleStmt"]; - bool has_create_role_stmt() const; private: - bool _internal_has_create_role_stmt() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.LoadStmt"; + } + protected: + explicit LoadStmt(::google::protobuf::Arena* arena); + LoadStmt(::google::protobuf::Arena* arena, const LoadStmt& from); public: - void clear_create_role_stmt(); - const ::pg_query::CreateRoleStmt& create_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateRoleStmt* release_create_role_stmt(); - ::pg_query::CreateRoleStmt* mutable_create_role_stmt(); - void set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* create_role_stmt); - private: - const ::pg_query::CreateRoleStmt& _internal_create_role_stmt() const; - ::pg_query::CreateRoleStmt* _internal_mutable_create_role_stmt(); - public: - void unsafe_arena_set_allocated_create_role_stmt( - ::pg_query::CreateRoleStmt* create_role_stmt); - ::pg_query::CreateRoleStmt* unsafe_arena_release_create_role_stmt(); - // .pg_query.AlterRoleStmt alter_role_stmt = 103 [json_name = "AlterRoleStmt"]; - bool has_alter_role_stmt() const; - private: - bool _internal_has_alter_role_stmt() const; - public: - void clear_alter_role_stmt(); - const ::pg_query::AlterRoleStmt& alter_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterRoleStmt* release_alter_role_stmt(); - ::pg_query::AlterRoleStmt* mutable_alter_role_stmt(); - void set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* alter_role_stmt); - private: - const ::pg_query::AlterRoleStmt& _internal_alter_role_stmt() const; - ::pg_query::AlterRoleStmt* _internal_mutable_alter_role_stmt(); - public: - void unsafe_arena_set_allocated_alter_role_stmt( - ::pg_query::AlterRoleStmt* alter_role_stmt); - ::pg_query::AlterRoleStmt* unsafe_arena_release_alter_role_stmt(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.DropRoleStmt drop_role_stmt = 104 [json_name = "DropRoleStmt"]; - bool has_drop_role_stmt() const; - private: - bool _internal_has_drop_role_stmt() const; - public: - void clear_drop_role_stmt(); - const ::pg_query::DropRoleStmt& drop_role_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropRoleStmt* release_drop_role_stmt(); - ::pg_query::DropRoleStmt* mutable_drop_role_stmt(); - void set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* drop_role_stmt); - private: - const ::pg_query::DropRoleStmt& _internal_drop_role_stmt() const; - ::pg_query::DropRoleStmt* _internal_mutable_drop_role_stmt(); - public: - void unsafe_arena_set_allocated_drop_role_stmt( - ::pg_query::DropRoleStmt* drop_role_stmt); - ::pg_query::DropRoleStmt* unsafe_arena_release_drop_role_stmt(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.LockStmt lock_stmt = 105 [json_name = "LockStmt"]; - bool has_lock_stmt() const; - private: - bool _internal_has_lock_stmt() const; - public: - void clear_lock_stmt(); - const ::pg_query::LockStmt& lock_stmt() const; - PROTOBUF_NODISCARD ::pg_query::LockStmt* release_lock_stmt(); - ::pg_query::LockStmt* mutable_lock_stmt(); - void set_allocated_lock_stmt(::pg_query::LockStmt* lock_stmt); - private: - const ::pg_query::LockStmt& _internal_lock_stmt() const; - ::pg_query::LockStmt* _internal_mutable_lock_stmt(); - public: - void unsafe_arena_set_allocated_lock_stmt( - ::pg_query::LockStmt* lock_stmt); - ::pg_query::LockStmt* unsafe_arena_release_lock_stmt(); + // nested types ---------------------------------------------------- - // .pg_query.ConstraintsSetStmt constraints_set_stmt = 106 [json_name = "ConstraintsSetStmt"]; - bool has_constraints_set_stmt() const; - private: - bool _internal_has_constraints_set_stmt() const; - public: - void clear_constraints_set_stmt(); - const ::pg_query::ConstraintsSetStmt& constraints_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ConstraintsSetStmt* release_constraints_set_stmt(); - ::pg_query::ConstraintsSetStmt* mutable_constraints_set_stmt(); - void set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* constraints_set_stmt); - private: - const ::pg_query::ConstraintsSetStmt& _internal_constraints_set_stmt() const; - ::pg_query::ConstraintsSetStmt* _internal_mutable_constraints_set_stmt(); - public: - void unsafe_arena_set_allocated_constraints_set_stmt( - ::pg_query::ConstraintsSetStmt* constraints_set_stmt); - ::pg_query::ConstraintsSetStmt* unsafe_arena_release_constraints_set_stmt(); + // accessors ------------------------------------------------------- - // .pg_query.ReindexStmt reindex_stmt = 107 [json_name = "ReindexStmt"]; - bool has_reindex_stmt() const; - private: - bool _internal_has_reindex_stmt() const; - public: - void clear_reindex_stmt(); - const ::pg_query::ReindexStmt& reindex_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReindexStmt* release_reindex_stmt(); - ::pg_query::ReindexStmt* mutable_reindex_stmt(); - void set_allocated_reindex_stmt(::pg_query::ReindexStmt* reindex_stmt); - private: - const ::pg_query::ReindexStmt& _internal_reindex_stmt() const; - ::pg_query::ReindexStmt* _internal_mutable_reindex_stmt(); - public: - void unsafe_arena_set_allocated_reindex_stmt( - ::pg_query::ReindexStmt* reindex_stmt); - ::pg_query::ReindexStmt* unsafe_arena_release_reindex_stmt(); + enum : int { + kFilenameFieldNumber = 1, + }; + // string filename = 1 [json_name = "filename"]; + void clear_filename() ; + const std::string& filename() const; + template + void set_filename(Arg_&& arg, Args_... args); + std::string* mutable_filename(); + PROTOBUF_NODISCARD std::string* release_filename(); + void set_allocated_filename(std::string* value); - // .pg_query.CheckPointStmt check_point_stmt = 108 [json_name = "CheckPointStmt"]; - bool has_check_point_stmt() const; - private: - bool _internal_has_check_point_stmt() const; - public: - void clear_check_point_stmt(); - const ::pg_query::CheckPointStmt& check_point_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CheckPointStmt* release_check_point_stmt(); - ::pg_query::CheckPointStmt* mutable_check_point_stmt(); - void set_allocated_check_point_stmt(::pg_query::CheckPointStmt* check_point_stmt); private: - const ::pg_query::CheckPointStmt& _internal_check_point_stmt() const; - ::pg_query::CheckPointStmt* _internal_mutable_check_point_stmt(); - public: - void unsafe_arena_set_allocated_check_point_stmt( - ::pg_query::CheckPointStmt* check_point_stmt); - ::pg_query::CheckPointStmt* unsafe_arena_release_check_point_stmt(); + const std::string& _internal_filename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_filename( + const std::string& value); + std::string* _internal_mutable_filename(); - // .pg_query.CreateSchemaStmt create_schema_stmt = 109 [json_name = "CreateSchemaStmt"]; - bool has_create_schema_stmt() const; - private: - bool _internal_has_create_schema_stmt() const; - public: - void clear_create_schema_stmt(); - const ::pg_query::CreateSchemaStmt& create_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSchemaStmt* release_create_schema_stmt(); - ::pg_query::CreateSchemaStmt* mutable_create_schema_stmt(); - void set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* create_schema_stmt); - private: - const ::pg_query::CreateSchemaStmt& _internal_create_schema_stmt() const; - ::pg_query::CreateSchemaStmt* _internal_mutable_create_schema_stmt(); public: - void unsafe_arena_set_allocated_create_schema_stmt( - ::pg_query::CreateSchemaStmt* create_schema_stmt); - ::pg_query::CreateSchemaStmt* unsafe_arena_release_create_schema_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.LoadStmt) + private: + class _Internal; - // .pg_query.AlterDatabaseStmt alter_database_stmt = 110 [json_name = "AlterDatabaseStmt"]; - bool has_alter_database_stmt() const; - private: - bool _internal_has_alter_database_stmt() const; - public: - void clear_alter_database_stmt(); - const ::pg_query::AlterDatabaseStmt& alter_database_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseStmt* release_alter_database_stmt(); - ::pg_query::AlterDatabaseStmt* mutable_alter_database_stmt(); - void set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* alter_database_stmt); - private: - const ::pg_query::AlterDatabaseStmt& _internal_alter_database_stmt() const; - ::pg_query::AlterDatabaseStmt* _internal_mutable_alter_database_stmt(); - public: - void unsafe_arena_set_allocated_alter_database_stmt( - ::pg_query::AlterDatabaseStmt* alter_database_stmt); - ::pg_query::AlterDatabaseStmt* unsafe_arena_release_alter_database_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 111 [json_name = "AlterDatabaseRefreshCollStmt"]; - bool has_alter_database_refresh_coll_stmt() const; - private: - bool _internal_has_alter_database_refresh_coll_stmt() const; - public: - void clear_alter_database_refresh_coll_stmt(); - const ::pg_query::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseRefreshCollStmt* release_alter_database_refresh_coll_stmt(); - ::pg_query::AlterDatabaseRefreshCollStmt* mutable_alter_database_refresh_coll_stmt(); - void set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt); - private: - const ::pg_query::AlterDatabaseRefreshCollStmt& _internal_alter_database_refresh_coll_stmt() const; - ::pg_query::AlterDatabaseRefreshCollStmt* _internal_mutable_alter_database_refresh_coll_stmt(); - public: - void unsafe_arena_set_allocated_alter_database_refresh_coll_stmt( - ::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt); - ::pg_query::AlterDatabaseRefreshCollStmt* unsafe_arena_release_alter_database_refresh_coll_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr filename_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 112 [json_name = "AlterDatabaseSetStmt"]; - bool has_alter_database_set_stmt() const; - private: - bool _internal_has_alter_database_set_stmt() const; - public: - void clear_alter_database_set_stmt(); - const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterDatabaseSetStmt* release_alter_database_set_stmt(); - ::pg_query::AlterDatabaseSetStmt* mutable_alter_database_set_stmt(); - void set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt); - private: - const ::pg_query::AlterDatabaseSetStmt& _internal_alter_database_set_stmt() const; - ::pg_query::AlterDatabaseSetStmt* _internal_mutable_alter_database_set_stmt(); - public: - void unsafe_arena_set_allocated_alter_database_set_stmt( - ::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt); - ::pg_query::AlterDatabaseSetStmt* unsafe_arena_release_alter_database_set_stmt(); +class ListenStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ListenStmt) */ { + public: + inline ListenStmt() : ListenStmt(nullptr) {} + ~ListenStmt() override; + template + explicit PROTOBUF_CONSTEXPR ListenStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 113 [json_name = "AlterRoleSetStmt"]; - bool has_alter_role_set_stmt() const; - private: - bool _internal_has_alter_role_set_stmt() const; - public: - void clear_alter_role_set_stmt(); - const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterRoleSetStmt* release_alter_role_set_stmt(); - ::pg_query::AlterRoleSetStmt* mutable_alter_role_set_stmt(); - void set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* alter_role_set_stmt); - private: - const ::pg_query::AlterRoleSetStmt& _internal_alter_role_set_stmt() const; - ::pg_query::AlterRoleSetStmt* _internal_mutable_alter_role_set_stmt(); - public: - void unsafe_arena_set_allocated_alter_role_set_stmt( - ::pg_query::AlterRoleSetStmt* alter_role_set_stmt); - ::pg_query::AlterRoleSetStmt* unsafe_arena_release_alter_role_set_stmt(); + inline ListenStmt(const ListenStmt& from) + : ListenStmt(nullptr, from) {} + ListenStmt(ListenStmt&& from) noexcept + : ListenStmt() { + *this = ::std::move(from); + } - // .pg_query.CreateConversionStmt create_conversion_stmt = 114 [json_name = "CreateConversionStmt"]; - bool has_create_conversion_stmt() const; - private: - bool _internal_has_create_conversion_stmt() const; - public: - void clear_create_conversion_stmt(); - const ::pg_query::CreateConversionStmt& create_conversion_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateConversionStmt* release_create_conversion_stmt(); - ::pg_query::CreateConversionStmt* mutable_create_conversion_stmt(); - void set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* create_conversion_stmt); - private: - const ::pg_query::CreateConversionStmt& _internal_create_conversion_stmt() const; - ::pg_query::CreateConversionStmt* _internal_mutable_create_conversion_stmt(); - public: - void unsafe_arena_set_allocated_create_conversion_stmt( - ::pg_query::CreateConversionStmt* create_conversion_stmt); - ::pg_query::CreateConversionStmt* unsafe_arena_release_create_conversion_stmt(); + inline ListenStmt& operator=(const ListenStmt& from) { + CopyFrom(from); + return *this; + } + inline ListenStmt& operator=(ListenStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.CreateCastStmt create_cast_stmt = 115 [json_name = "CreateCastStmt"]; - bool has_create_cast_stmt() const; - private: - bool _internal_has_create_cast_stmt() const; - public: - void clear_create_cast_stmt(); - const ::pg_query::CreateCastStmt& create_cast_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateCastStmt* release_create_cast_stmt(); - ::pg_query::CreateCastStmt* mutable_create_cast_stmt(); - void set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* create_cast_stmt); - private: - const ::pg_query::CreateCastStmt& _internal_create_cast_stmt() const; - ::pg_query::CreateCastStmt* _internal_mutable_create_cast_stmt(); - public: - void unsafe_arena_set_allocated_create_cast_stmt( - ::pg_query::CreateCastStmt* create_cast_stmt); - ::pg_query::CreateCastStmt* unsafe_arena_release_create_cast_stmt(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.CreateOpClassStmt create_op_class_stmt = 116 [json_name = "CreateOpClassStmt"]; - bool has_create_op_class_stmt() const; - private: - bool _internal_has_create_op_class_stmt() const; - public: - void clear_create_op_class_stmt(); - const ::pg_query::CreateOpClassStmt& create_op_class_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpClassStmt* release_create_op_class_stmt(); - ::pg_query::CreateOpClassStmt* mutable_create_op_class_stmt(); - void set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* create_op_class_stmt); - private: - const ::pg_query::CreateOpClassStmt& _internal_create_op_class_stmt() const; - ::pg_query::CreateOpClassStmt* _internal_mutable_create_op_class_stmt(); - public: - void unsafe_arena_set_allocated_create_op_class_stmt( - ::pg_query::CreateOpClassStmt* create_op_class_stmt); - ::pg_query::CreateOpClassStmt* unsafe_arena_release_create_op_class_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ListenStmt& default_instance() { + return *internal_default_instance(); + } + static inline const ListenStmt* internal_default_instance() { + return reinterpret_cast( + &_ListenStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 228; - // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 117 [json_name = "CreateOpFamilyStmt"]; - bool has_create_op_family_stmt() const; + friend void swap(ListenStmt& a, ListenStmt& b) { + a.Swap(&b); + } + inline void Swap(ListenStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ListenStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ListenStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ListenStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ListenStmt& from) { + ListenStmt::MergeImpl(*this, from); + } private: - bool _internal_has_create_op_family_stmt() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_create_op_family_stmt(); - const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpFamilyStmt* release_create_op_family_stmt(); - ::pg_query::CreateOpFamilyStmt* mutable_create_op_family_stmt(); - void set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* create_op_family_stmt); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::CreateOpFamilyStmt& _internal_create_op_family_stmt() const; - ::pg_query::CreateOpFamilyStmt* _internal_mutable_create_op_family_stmt(); - public: - void unsafe_arena_set_allocated_create_op_family_stmt( - ::pg_query::CreateOpFamilyStmt* create_op_family_stmt); - ::pg_query::CreateOpFamilyStmt* unsafe_arena_release_create_op_family_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ListenStmt* other); - // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 118 [json_name = "AlterOpFamilyStmt"]; - bool has_alter_op_family_stmt() const; private: - bool _internal_has_alter_op_family_stmt() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ListenStmt"; + } + protected: + explicit ListenStmt(::google::protobuf::Arena* arena); + ListenStmt(::google::protobuf::Arena* arena, const ListenStmt& from); public: - void clear_alter_op_family_stmt(); - const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOpFamilyStmt* release_alter_op_family_stmt(); - ::pg_query::AlterOpFamilyStmt* mutable_alter_op_family_stmt(); - void set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* alter_op_family_stmt); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kConditionnameFieldNumber = 1, + }; + // string conditionname = 1 [json_name = "conditionname"]; + void clear_conditionname() ; + const std::string& conditionname() const; + template + void set_conditionname(Arg_&& arg, Args_... args); + std::string* mutable_conditionname(); + PROTOBUF_NODISCARD std::string* release_conditionname(); + void set_allocated_conditionname(std::string* value); + private: - const ::pg_query::AlterOpFamilyStmt& _internal_alter_op_family_stmt() const; - ::pg_query::AlterOpFamilyStmt* _internal_mutable_alter_op_family_stmt(); + const std::string& _internal_conditionname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname( + const std::string& value); + std::string* _internal_mutable_conditionname(); + public: - void unsafe_arena_set_allocated_alter_op_family_stmt( - ::pg_query::AlterOpFamilyStmt* alter_op_family_stmt); - ::pg_query::AlterOpFamilyStmt* unsafe_arena_release_alter_op_family_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.ListenStmt) + private: + class _Internal; - // .pg_query.PrepareStmt prepare_stmt = 119 [json_name = "PrepareStmt"]; - bool has_prepare_stmt() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 41, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr conditionname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class JsonTablePath final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePath) */ { + public: + inline JsonTablePath() : JsonTablePath(nullptr) {} + ~JsonTablePath() override; + template + explicit PROTOBUF_CONSTEXPR JsonTablePath(::google::protobuf::internal::ConstantInitialized); + + inline JsonTablePath(const JsonTablePath& from) + : JsonTablePath(nullptr, from) {} + JsonTablePath(JsonTablePath&& from) noexcept + : JsonTablePath() { + *this = ::std::move(from); + } + + inline JsonTablePath& operator=(const JsonTablePath& from) { + CopyFrom(from); + return *this; + } + inline JsonTablePath& operator=(JsonTablePath&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonTablePath& default_instance() { + return *internal_default_instance(); + } + static inline const JsonTablePath* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePath_default_instance_); + } + static constexpr int kIndexInFileMessages = + 58; + + friend void swap(JsonTablePath& a, JsonTablePath& b) { + a.Swap(&b); + } + inline void Swap(JsonTablePath* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonTablePath* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonTablePath* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTablePath& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTablePath& from) { + JsonTablePath::MergeImpl(*this, from); + } private: - bool _internal_has_prepare_stmt() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_prepare_stmt(); - const ::pg_query::PrepareStmt& prepare_stmt() const; - PROTOBUF_NODISCARD ::pg_query::PrepareStmt* release_prepare_stmt(); - ::pg_query::PrepareStmt* mutable_prepare_stmt(); - void set_allocated_prepare_stmt(::pg_query::PrepareStmt* prepare_stmt); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::PrepareStmt& _internal_prepare_stmt() const; - ::pg_query::PrepareStmt* _internal_mutable_prepare_stmt(); - public: - void unsafe_arena_set_allocated_prepare_stmt( - ::pg_query::PrepareStmt* prepare_stmt); - ::pg_query::PrepareStmt* unsafe_arena_release_prepare_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonTablePath* other); - // .pg_query.ExecuteStmt execute_stmt = 120 [json_name = "ExecuteStmt"]; - bool has_execute_stmt() const; private: - bool _internal_has_execute_stmt() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTablePath"; + } + protected: + explicit JsonTablePath(::google::protobuf::Arena* arena); + JsonTablePath(::google::protobuf::Arena* arena, const JsonTablePath& from); public: - void clear_execute_stmt(); - const ::pg_query::ExecuteStmt& execute_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ExecuteStmt* release_execute_stmt(); - ::pg_query::ExecuteStmt* mutable_execute_stmt(); - void set_allocated_execute_stmt(::pg_query::ExecuteStmt* execute_stmt); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + }; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - const ::pg_query::ExecuteStmt& _internal_execute_stmt() const; - ::pg_query::ExecuteStmt* _internal_mutable_execute_stmt(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void unsafe_arena_set_allocated_execute_stmt( - ::pg_query::ExecuteStmt* execute_stmt); - ::pg_query::ExecuteStmt* unsafe_arena_release_execute_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePath) + private: + class _Internal; - // .pg_query.DeallocateStmt deallocate_stmt = 121 [json_name = "DeallocateStmt"]; - bool has_deallocate_stmt() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 35, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class JsonFormat final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonFormat) */ { + public: + inline JsonFormat() : JsonFormat(nullptr) {} + ~JsonFormat() override; + template + explicit PROTOBUF_CONSTEXPR JsonFormat(::google::protobuf::internal::ConstantInitialized); + + inline JsonFormat(const JsonFormat& from) + : JsonFormat(nullptr, from) {} + JsonFormat(JsonFormat&& from) noexcept + : JsonFormat() { + *this = ::std::move(from); + } + + inline JsonFormat& operator=(const JsonFormat& from) { + CopyFrom(from); + return *this; + } + inline JsonFormat& operator=(JsonFormat&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const JsonFormat& default_instance() { + return *internal_default_instance(); + } + static inline const JsonFormat* internal_default_instance() { + return reinterpret_cast( + &_JsonFormat_default_instance_); + } + static constexpr int kIndexInFileMessages = + 51; + + friend void swap(JsonFormat& a, JsonFormat& b) { + a.Swap(&b); + } + inline void Swap(JsonFormat* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(JsonFormat* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + JsonFormat* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonFormat& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonFormat& from) { + JsonFormat::MergeImpl(*this, from); + } private: - bool _internal_has_deallocate_stmt() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_deallocate_stmt(); - const ::pg_query::DeallocateStmt& deallocate_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeallocateStmt* release_deallocate_stmt(); - ::pg_query::DeallocateStmt* mutable_deallocate_stmt(); - void set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* deallocate_stmt); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::DeallocateStmt& _internal_deallocate_stmt() const; - ::pg_query::DeallocateStmt* _internal_mutable_deallocate_stmt(); - public: - void unsafe_arena_set_allocated_deallocate_stmt( - ::pg_query::DeallocateStmt* deallocate_stmt); - ::pg_query::DeallocateStmt* unsafe_arena_release_deallocate_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(JsonFormat* other); - // .pg_query.DeclareCursorStmt declare_cursor_stmt = 122 [json_name = "DeclareCursorStmt"]; - bool has_declare_cursor_stmt() const; private: - bool _internal_has_declare_cursor_stmt() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonFormat"; + } + protected: + explicit JsonFormat(::google::protobuf::Arena* arena); + JsonFormat(::google::protobuf::Arena* arena, const JsonFormat& from); public: - void clear_declare_cursor_stmt(); - const ::pg_query::DeclareCursorStmt& declare_cursor_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DeclareCursorStmt* release_declare_cursor_stmt(); - ::pg_query::DeclareCursorStmt* mutable_declare_cursor_stmt(); - void set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* declare_cursor_stmt); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFormatTypeFieldNumber = 1, + kEncodingFieldNumber = 2, + kLocationFieldNumber = 3, + }; + // .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"]; + void clear_format_type() ; + ::pg_query::JsonFormatType format_type() const; + void set_format_type(::pg_query::JsonFormatType value); + private: - const ::pg_query::DeclareCursorStmt& _internal_declare_cursor_stmt() const; - ::pg_query::DeclareCursorStmt* _internal_mutable_declare_cursor_stmt(); + ::pg_query::JsonFormatType _internal_format_type() const; + void _internal_set_format_type(::pg_query::JsonFormatType value); + public: - void unsafe_arena_set_allocated_declare_cursor_stmt( - ::pg_query::DeclareCursorStmt* declare_cursor_stmt); - ::pg_query::DeclareCursorStmt* unsafe_arena_release_declare_cursor_stmt(); + // .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"]; + void clear_encoding() ; + ::pg_query::JsonEncoding encoding() const; + void set_encoding(::pg_query::JsonEncoding value); - // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 123 [json_name = "CreateTableSpaceStmt"]; - bool has_create_table_space_stmt() const; private: - bool _internal_has_create_table_space_stmt() const; + ::pg_query::JsonEncoding _internal_encoding() const; + void _internal_set_encoding(::pg_query::JsonEncoding value); + public: - void clear_create_table_space_stmt(); - const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTableSpaceStmt* release_create_table_space_stmt(); - ::pg_query::CreateTableSpaceStmt* mutable_create_table_space_stmt(); - void set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* create_table_space_stmt); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::pg_query::CreateTableSpaceStmt& _internal_create_table_space_stmt() const; - ::pg_query::CreateTableSpaceStmt* _internal_mutable_create_table_space_stmt(); - public: - void unsafe_arena_set_allocated_create_table_space_stmt( - ::pg_query::CreateTableSpaceStmt* create_table_space_stmt); - ::pg_query::CreateTableSpaceStmt* unsafe_arena_release_create_table_space_stmt(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 124 [json_name = "DropTableSpaceStmt"]; - bool has_drop_table_space_stmt() const; - private: - bool _internal_has_drop_table_space_stmt() const; - public: - void clear_drop_table_space_stmt(); - const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropTableSpaceStmt* release_drop_table_space_stmt(); - ::pg_query::DropTableSpaceStmt* mutable_drop_table_space_stmt(); - void set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* drop_table_space_stmt); - private: - const ::pg_query::DropTableSpaceStmt& _internal_drop_table_space_stmt() const; - ::pg_query::DropTableSpaceStmt* _internal_mutable_drop_table_space_stmt(); public: - void unsafe_arena_set_allocated_drop_table_space_stmt( - ::pg_query::DropTableSpaceStmt* drop_table_space_stmt); - ::pg_query::DropTableSpaceStmt* unsafe_arena_release_drop_table_space_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.JsonFormat) + private: + class _Internal; - // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 125 [json_name = "AlterObjectDependsStmt"]; - bool has_alter_object_depends_stmt() const; - private: - bool _internal_has_alter_object_depends_stmt() const; - public: - void clear_alter_object_depends_stmt(); - const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterObjectDependsStmt* release_alter_object_depends_stmt(); - ::pg_query::AlterObjectDependsStmt* mutable_alter_object_depends_stmt(); - void set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt); - private: - const ::pg_query::AlterObjectDependsStmt& _internal_alter_object_depends_stmt() const; - ::pg_query::AlterObjectDependsStmt* _internal_mutable_alter_object_depends_stmt(); - public: - void unsafe_arena_set_allocated_alter_object_depends_stmt( - ::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt); - ::pg_query::AlterObjectDependsStmt* unsafe_arena_release_alter_object_depends_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 126 [json_name = "AlterObjectSchemaStmt"]; - bool has_alter_object_schema_stmt() const; - private: - bool _internal_has_alter_object_schema_stmt() const; - public: - void clear_alter_object_schema_stmt(); - const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterObjectSchemaStmt* release_alter_object_schema_stmt(); - ::pg_query::AlterObjectSchemaStmt* mutable_alter_object_schema_stmt(); - void set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt); - private: - const ::pg_query::AlterObjectSchemaStmt& _internal_alter_object_schema_stmt() const; - ::pg_query::AlterObjectSchemaStmt* _internal_mutable_alter_object_schema_stmt(); - public: - void unsafe_arena_set_allocated_alter_object_schema_stmt( - ::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt); - ::pg_query::AlterObjectSchemaStmt* unsafe_arena_release_alter_object_schema_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + int format_type_; + int encoding_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.AlterOwnerStmt alter_owner_stmt = 127 [json_name = "AlterOwnerStmt"]; - bool has_alter_owner_stmt() const; - private: - bool _internal_has_alter_owner_stmt() const; - public: - void clear_alter_owner_stmt(); - const ::pg_query::AlterOwnerStmt& alter_owner_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOwnerStmt* release_alter_owner_stmt(); - ::pg_query::AlterOwnerStmt* mutable_alter_owner_stmt(); - void set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* alter_owner_stmt); - private: - const ::pg_query::AlterOwnerStmt& _internal_alter_owner_stmt() const; - ::pg_query::AlterOwnerStmt* _internal_mutable_alter_owner_stmt(); - public: - void unsafe_arena_set_allocated_alter_owner_stmt( - ::pg_query::AlterOwnerStmt* alter_owner_stmt); - ::pg_query::AlterOwnerStmt* unsafe_arena_release_alter_owner_stmt(); +class Integer final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Integer) */ { + public: + inline Integer() : Integer(nullptr) {} + ~Integer() override; + template + explicit PROTOBUF_CONSTEXPR Integer(::google::protobuf::internal::ConstantInitialized); - // .pg_query.AlterOperatorStmt alter_operator_stmt = 128 [json_name = "AlterOperatorStmt"]; - bool has_alter_operator_stmt() const; - private: - bool _internal_has_alter_operator_stmt() const; - public: - void clear_alter_operator_stmt(); - const ::pg_query::AlterOperatorStmt& alter_operator_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterOperatorStmt* release_alter_operator_stmt(); - ::pg_query::AlterOperatorStmt* mutable_alter_operator_stmt(); - void set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* alter_operator_stmt); - private: - const ::pg_query::AlterOperatorStmt& _internal_alter_operator_stmt() const; - ::pg_query::AlterOperatorStmt* _internal_mutable_alter_operator_stmt(); - public: - void unsafe_arena_set_allocated_alter_operator_stmt( - ::pg_query::AlterOperatorStmt* alter_operator_stmt); - ::pg_query::AlterOperatorStmt* unsafe_arena_release_alter_operator_stmt(); + inline Integer(const Integer& from) + : Integer(nullptr, from) {} + Integer(Integer&& from) noexcept + : Integer() { + *this = ::std::move(from); + } - // .pg_query.AlterTypeStmt alter_type_stmt = 129 [json_name = "AlterTypeStmt"]; - bool has_alter_type_stmt() const; - private: - bool _internal_has_alter_type_stmt() const; - public: - void clear_alter_type_stmt(); - const ::pg_query::AlterTypeStmt& alter_type_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTypeStmt* release_alter_type_stmt(); - ::pg_query::AlterTypeStmt* mutable_alter_type_stmt(); - void set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* alter_type_stmt); - private: - const ::pg_query::AlterTypeStmt& _internal_alter_type_stmt() const; - ::pg_query::AlterTypeStmt* _internal_mutable_alter_type_stmt(); - public: - void unsafe_arena_set_allocated_alter_type_stmt( - ::pg_query::AlterTypeStmt* alter_type_stmt); - ::pg_query::AlterTypeStmt* unsafe_arena_release_alter_type_stmt(); + inline Integer& operator=(const Integer& from) { + CopyFrom(from); + return *this; + } + inline Integer& operator=(Integer&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.DropOwnedStmt drop_owned_stmt = 130 [json_name = "DropOwnedStmt"]; - bool has_drop_owned_stmt() const; - private: - bool _internal_has_drop_owned_stmt() const; - public: - void clear_drop_owned_stmt(); - const ::pg_query::DropOwnedStmt& drop_owned_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropOwnedStmt* release_drop_owned_stmt(); - ::pg_query::DropOwnedStmt* mutable_drop_owned_stmt(); - void set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* drop_owned_stmt); - private: - const ::pg_query::DropOwnedStmt& _internal_drop_owned_stmt() const; - ::pg_query::DropOwnedStmt* _internal_mutable_drop_owned_stmt(); - public: - void unsafe_arena_set_allocated_drop_owned_stmt( - ::pg_query::DropOwnedStmt* drop_owned_stmt); - ::pg_query::DropOwnedStmt* unsafe_arena_release_drop_owned_stmt(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 131 [json_name = "ReassignOwnedStmt"]; - bool has_reassign_owned_stmt() const; - private: - bool _internal_has_reassign_owned_stmt() const; - public: - void clear_reassign_owned_stmt(); - const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReassignOwnedStmt* release_reassign_owned_stmt(); - ::pg_query::ReassignOwnedStmt* mutable_reassign_owned_stmt(); - void set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* reassign_owned_stmt); - private: - const ::pg_query::ReassignOwnedStmt& _internal_reassign_owned_stmt() const; - ::pg_query::ReassignOwnedStmt* _internal_mutable_reassign_owned_stmt(); - public: - void unsafe_arena_set_allocated_reassign_owned_stmt( - ::pg_query::ReassignOwnedStmt* reassign_owned_stmt); - ::pg_query::ReassignOwnedStmt* unsafe_arena_release_reassign_owned_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Integer& default_instance() { + return *internal_default_instance(); + } + static inline const Integer* internal_default_instance() { + return reinterpret_cast( + &_Integer_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; - // .pg_query.CompositeTypeStmt composite_type_stmt = 132 [json_name = "CompositeTypeStmt"]; - bool has_composite_type_stmt() const; - private: - bool _internal_has_composite_type_stmt() const; - public: - void clear_composite_type_stmt(); - const ::pg_query::CompositeTypeStmt& composite_type_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CompositeTypeStmt* release_composite_type_stmt(); - ::pg_query::CompositeTypeStmt* mutable_composite_type_stmt(); - void set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* composite_type_stmt); - private: - const ::pg_query::CompositeTypeStmt& _internal_composite_type_stmt() const; - ::pg_query::CompositeTypeStmt* _internal_mutable_composite_type_stmt(); - public: - void unsafe_arena_set_allocated_composite_type_stmt( - ::pg_query::CompositeTypeStmt* composite_type_stmt); - ::pg_query::CompositeTypeStmt* unsafe_arena_release_composite_type_stmt(); + friend void swap(Integer& a, Integer& b) { + a.Swap(&b); + } + inline void Swap(Integer* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Integer* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.CreateEnumStmt create_enum_stmt = 133 [json_name = "CreateEnumStmt"]; - bool has_create_enum_stmt() const; - private: - bool _internal_has_create_enum_stmt() const; - public: - void clear_create_enum_stmt(); - const ::pg_query::CreateEnumStmt& create_enum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateEnumStmt* release_create_enum_stmt(); - ::pg_query::CreateEnumStmt* mutable_create_enum_stmt(); - void set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* create_enum_stmt); - private: - const ::pg_query::CreateEnumStmt& _internal_create_enum_stmt() const; - ::pg_query::CreateEnumStmt* _internal_mutable_create_enum_stmt(); - public: - void unsafe_arena_set_allocated_create_enum_stmt( - ::pg_query::CreateEnumStmt* create_enum_stmt); - ::pg_query::CreateEnumStmt* unsafe_arena_release_create_enum_stmt(); + // implements Message ---------------------------------------------- - // .pg_query.CreateRangeStmt create_range_stmt = 134 [json_name = "CreateRangeStmt"]; - bool has_create_range_stmt() const; - private: - bool _internal_has_create_range_stmt() const; - public: - void clear_create_range_stmt(); - const ::pg_query::CreateRangeStmt& create_range_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateRangeStmt* release_create_range_stmt(); - ::pg_query::CreateRangeStmt* mutable_create_range_stmt(); - void set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* create_range_stmt); + Integer* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Integer& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Integer& from) { + Integer::MergeImpl(*this, from); + } private: - const ::pg_query::CreateRangeStmt& _internal_create_range_stmt() const; - ::pg_query::CreateRangeStmt* _internal_mutable_create_range_stmt(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_create_range_stmt( - ::pg_query::CreateRangeStmt* create_range_stmt); - ::pg_query::CreateRangeStmt* unsafe_arena_release_create_range_stmt(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.AlterEnumStmt alter_enum_stmt = 135 [json_name = "AlterEnumStmt"]; - bool has_alter_enum_stmt() const; - private: - bool _internal_has_alter_enum_stmt() const; - public: - void clear_alter_enum_stmt(); - const ::pg_query::AlterEnumStmt& alter_enum_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterEnumStmt* release_alter_enum_stmt(); - ::pg_query::AlterEnumStmt* mutable_alter_enum_stmt(); - void set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* alter_enum_stmt); - private: - const ::pg_query::AlterEnumStmt& _internal_alter_enum_stmt() const; - ::pg_query::AlterEnumStmt* _internal_mutable_alter_enum_stmt(); - public: - void unsafe_arena_set_allocated_alter_enum_stmt( - ::pg_query::AlterEnumStmt* alter_enum_stmt); - ::pg_query::AlterEnumStmt* unsafe_arena_release_alter_enum_stmt(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 136 [json_name = "AlterTSDictionaryStmt"]; - bool has_alter_tsdictionary_stmt() const; - private: - bool _internal_has_alter_tsdictionary_stmt() const; - public: - void clear_alter_tsdictionary_stmt(); - const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTSDictionaryStmt* release_alter_tsdictionary_stmt(); - ::pg_query::AlterTSDictionaryStmt* mutable_alter_tsdictionary_stmt(); - void set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt); private: - const ::pg_query::AlterTSDictionaryStmt& _internal_alter_tsdictionary_stmt() const; - ::pg_query::AlterTSDictionaryStmt* _internal_mutable_alter_tsdictionary_stmt(); - public: - void unsafe_arena_set_allocated_alter_tsdictionary_stmt( - ::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt); - ::pg_query::AlterTSDictionaryStmt* unsafe_arena_release_alter_tsdictionary_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Integer* other); - // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 137 [json_name = "AlterTSConfigurationStmt"]; - bool has_alter_tsconfiguration_stmt() const; - private: - bool _internal_has_alter_tsconfiguration_stmt() const; - public: - void clear_alter_tsconfiguration_stmt(); - const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTSConfigurationStmt* release_alter_tsconfiguration_stmt(); - ::pg_query::AlterTSConfigurationStmt* mutable_alter_tsconfiguration_stmt(); - void set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt); private: - const ::pg_query::AlterTSConfigurationStmt& _internal_alter_tsconfiguration_stmt() const; - ::pg_query::AlterTSConfigurationStmt* _internal_mutable_alter_tsconfiguration_stmt(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Integer"; + } + protected: + explicit Integer(::google::protobuf::Arena* arena); + Integer(::google::protobuf::Arena* arena, const Integer& from); public: - void unsafe_arena_set_allocated_alter_tsconfiguration_stmt( - ::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt); - ::pg_query::AlterTSConfigurationStmt* unsafe_arena_release_alter_tsconfiguration_stmt(); - // .pg_query.CreateFdwStmt create_fdw_stmt = 138 [json_name = "CreateFdwStmt"]; - bool has_create_fdw_stmt() const; - private: - bool _internal_has_create_fdw_stmt() const; - public: - void clear_create_fdw_stmt(); - const ::pg_query::CreateFdwStmt& create_fdw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateFdwStmt* release_create_fdw_stmt(); - ::pg_query::CreateFdwStmt* mutable_create_fdw_stmt(); - void set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* create_fdw_stmt); - private: - const ::pg_query::CreateFdwStmt& _internal_create_fdw_stmt() const; - ::pg_query::CreateFdwStmt* _internal_mutable_create_fdw_stmt(); - public: - void unsafe_arena_set_allocated_create_fdw_stmt( - ::pg_query::CreateFdwStmt* create_fdw_stmt); - ::pg_query::CreateFdwStmt* unsafe_arena_release_create_fdw_stmt(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.AlterFdwStmt alter_fdw_stmt = 139 [json_name = "AlterFdwStmt"]; - bool has_alter_fdw_stmt() const; - private: - bool _internal_has_alter_fdw_stmt() const; - public: - void clear_alter_fdw_stmt(); - const ::pg_query::AlterFdwStmt& alter_fdw_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterFdwStmt* release_alter_fdw_stmt(); - ::pg_query::AlterFdwStmt* mutable_alter_fdw_stmt(); - void set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* alter_fdw_stmt); - private: - const ::pg_query::AlterFdwStmt& _internal_alter_fdw_stmt() const; - ::pg_query::AlterFdwStmt* _internal_mutable_alter_fdw_stmt(); - public: - void unsafe_arena_set_allocated_alter_fdw_stmt( - ::pg_query::AlterFdwStmt* alter_fdw_stmt); - ::pg_query::AlterFdwStmt* unsafe_arena_release_alter_fdw_stmt(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 140 [json_name = "CreateForeignServerStmt"]; - bool has_create_foreign_server_stmt() const; - private: - bool _internal_has_create_foreign_server_stmt() const; - public: - void clear_create_foreign_server_stmt(); - const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateForeignServerStmt* release_create_foreign_server_stmt(); - ::pg_query::CreateForeignServerStmt* mutable_create_foreign_server_stmt(); - void set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* create_foreign_server_stmt); - private: - const ::pg_query::CreateForeignServerStmt& _internal_create_foreign_server_stmt() const; - ::pg_query::CreateForeignServerStmt* _internal_mutable_create_foreign_server_stmt(); - public: - void unsafe_arena_set_allocated_create_foreign_server_stmt( - ::pg_query::CreateForeignServerStmt* create_foreign_server_stmt); - ::pg_query::CreateForeignServerStmt* unsafe_arena_release_create_foreign_server_stmt(); + // nested types ---------------------------------------------------- - // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 141 [json_name = "AlterForeignServerStmt"]; - bool has_alter_foreign_server_stmt() const; - private: - bool _internal_has_alter_foreign_server_stmt() const; - public: - void clear_alter_foreign_server_stmt(); - const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterForeignServerStmt* release_alter_foreign_server_stmt(); - ::pg_query::AlterForeignServerStmt* mutable_alter_foreign_server_stmt(); - void set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt); - private: - const ::pg_query::AlterForeignServerStmt& _internal_alter_foreign_server_stmt() const; - ::pg_query::AlterForeignServerStmt* _internal_mutable_alter_foreign_server_stmt(); - public: - void unsafe_arena_set_allocated_alter_foreign_server_stmt( - ::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt); - ::pg_query::AlterForeignServerStmt* unsafe_arena_release_alter_foreign_server_stmt(); + // accessors ------------------------------------------------------- - // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 142 [json_name = "CreateUserMappingStmt"]; - bool has_create_user_mapping_stmt() const; - private: - bool _internal_has_create_user_mapping_stmt() const; - public: - void clear_create_user_mapping_stmt(); - const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateUserMappingStmt* release_create_user_mapping_stmt(); - ::pg_query::CreateUserMappingStmt* mutable_create_user_mapping_stmt(); - void set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* create_user_mapping_stmt); - private: - const ::pg_query::CreateUserMappingStmt& _internal_create_user_mapping_stmt() const; - ::pg_query::CreateUserMappingStmt* _internal_mutable_create_user_mapping_stmt(); - public: - void unsafe_arena_set_allocated_create_user_mapping_stmt( - ::pg_query::CreateUserMappingStmt* create_user_mapping_stmt); - ::pg_query::CreateUserMappingStmt* unsafe_arena_release_create_user_mapping_stmt(); + enum : int { + kIvalFieldNumber = 1, + }; + // int32 ival = 1; + void clear_ival() ; + ::int32_t ival() const; + void set_ival(::int32_t value); - // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 143 [json_name = "AlterUserMappingStmt"]; - bool has_alter_user_mapping_stmt() const; - private: - bool _internal_has_alter_user_mapping_stmt() const; - public: - void clear_alter_user_mapping_stmt(); - const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterUserMappingStmt* release_alter_user_mapping_stmt(); - ::pg_query::AlterUserMappingStmt* mutable_alter_user_mapping_stmt(); - void set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt); private: - const ::pg_query::AlterUserMappingStmt& _internal_alter_user_mapping_stmt() const; - ::pg_query::AlterUserMappingStmt* _internal_mutable_alter_user_mapping_stmt(); - public: - void unsafe_arena_set_allocated_alter_user_mapping_stmt( - ::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt); - ::pg_query::AlterUserMappingStmt* unsafe_arena_release_alter_user_mapping_stmt(); + ::int32_t _internal_ival() const; + void _internal_set_ival(::int32_t value); - // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 144 [json_name = "DropUserMappingStmt"]; - bool has_drop_user_mapping_stmt() const; - private: - bool _internal_has_drop_user_mapping_stmt() const; - public: - void clear_drop_user_mapping_stmt(); - const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropUserMappingStmt* release_drop_user_mapping_stmt(); - ::pg_query::DropUserMappingStmt* mutable_drop_user_mapping_stmt(); - void set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* drop_user_mapping_stmt); - private: - const ::pg_query::DropUserMappingStmt& _internal_drop_user_mapping_stmt() const; - ::pg_query::DropUserMappingStmt* _internal_mutable_drop_user_mapping_stmt(); public: - void unsafe_arena_set_allocated_drop_user_mapping_stmt( - ::pg_query::DropUserMappingStmt* drop_user_mapping_stmt); - ::pg_query::DropUserMappingStmt* unsafe_arena_release_drop_user_mapping_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.Integer) + private: + class _Internal; - // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 145 [json_name = "AlterTableSpaceOptionsStmt"]; - bool has_alter_table_space_options_stmt() const; - private: - bool _internal_has_alter_table_space_options_stmt() const; - public: - void clear_alter_table_space_options_stmt(); - const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableSpaceOptionsStmt* release_alter_table_space_options_stmt(); - ::pg_query::AlterTableSpaceOptionsStmt* mutable_alter_table_space_options_stmt(); - void set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt); - private: - const ::pg_query::AlterTableSpaceOptionsStmt& _internal_alter_table_space_options_stmt() const; - ::pg_query::AlterTableSpaceOptionsStmt* _internal_mutable_alter_table_space_options_stmt(); - public: - void unsafe_arena_set_allocated_alter_table_space_options_stmt( - ::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt); - ::pg_query::AlterTableSpaceOptionsStmt* unsafe_arena_release_alter_table_space_options_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 146 [json_name = "AlterTableMoveAllStmt"]; - bool has_alter_table_move_all_stmt() const; - private: - bool _internal_has_alter_table_move_all_stmt() const; - public: - void clear_alter_table_move_all_stmt(); - const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterTableMoveAllStmt* release_alter_table_move_all_stmt(); - ::pg_query::AlterTableMoveAllStmt* mutable_alter_table_move_all_stmt(); - void set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt); - private: - const ::pg_query::AlterTableMoveAllStmt& _internal_alter_table_move_all_stmt() const; - ::pg_query::AlterTableMoveAllStmt* _internal_mutable_alter_table_move_all_stmt(); - public: - void unsafe_arena_set_allocated_alter_table_move_all_stmt( - ::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt); - ::pg_query::AlterTableMoveAllStmt* unsafe_arena_release_alter_table_move_all_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::int32_t ival_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.SecLabelStmt sec_label_stmt = 147 [json_name = "SecLabelStmt"]; - bool has_sec_label_stmt() const; - private: - bool _internal_has_sec_label_stmt() const; - public: - void clear_sec_label_stmt(); - const ::pg_query::SecLabelStmt& sec_label_stmt() const; - PROTOBUF_NODISCARD ::pg_query::SecLabelStmt* release_sec_label_stmt(); - ::pg_query::SecLabelStmt* mutable_sec_label_stmt(); - void set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* sec_label_stmt); - private: - const ::pg_query::SecLabelStmt& _internal_sec_label_stmt() const; - ::pg_query::SecLabelStmt* _internal_mutable_sec_label_stmt(); - public: - void unsafe_arena_set_allocated_sec_label_stmt( - ::pg_query::SecLabelStmt* sec_label_stmt); - ::pg_query::SecLabelStmt* unsafe_arena_release_sec_label_stmt(); +class InlineCodeBlock final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.InlineCodeBlock) */ { + public: + inline InlineCodeBlock() : InlineCodeBlock(nullptr) {} + ~InlineCodeBlock() override; + template + explicit PROTOBUF_CONSTEXPR InlineCodeBlock(::google::protobuf::internal::ConstantInitialized); - // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 148 [json_name = "CreateForeignTableStmt"]; - bool has_create_foreign_table_stmt() const; + inline InlineCodeBlock(const InlineCodeBlock& from) + : InlineCodeBlock(nullptr, from) {} + InlineCodeBlock(InlineCodeBlock&& from) noexcept + : InlineCodeBlock() { + *this = ::std::move(from); + } + + inline InlineCodeBlock& operator=(const InlineCodeBlock& from) { + CopyFrom(from); + return *this; + } + inline InlineCodeBlock& operator=(InlineCodeBlock&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const InlineCodeBlock& default_instance() { + return *internal_default_instance(); + } + static inline const InlineCodeBlock* internal_default_instance() { + return reinterpret_cast( + &_InlineCodeBlock_default_instance_); + } + static constexpr int kIndexInFileMessages = + 217; + + friend void swap(InlineCodeBlock& a, InlineCodeBlock& b) { + a.Swap(&b); + } + inline void Swap(InlineCodeBlock* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(InlineCodeBlock* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + InlineCodeBlock* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const InlineCodeBlock& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const InlineCodeBlock& from) { + InlineCodeBlock::MergeImpl(*this, from); + } private: - bool _internal_has_create_foreign_table_stmt() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_create_foreign_table_stmt(); - const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateForeignTableStmt* release_create_foreign_table_stmt(); - ::pg_query::CreateForeignTableStmt* mutable_create_foreign_table_stmt(); - void set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* create_foreign_table_stmt); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::CreateForeignTableStmt& _internal_create_foreign_table_stmt() const; - ::pg_query::CreateForeignTableStmt* _internal_mutable_create_foreign_table_stmt(); - public: - void unsafe_arena_set_allocated_create_foreign_table_stmt( - ::pg_query::CreateForeignTableStmt* create_foreign_table_stmt); - ::pg_query::CreateForeignTableStmt* unsafe_arena_release_create_foreign_table_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(InlineCodeBlock* other); - // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 149 [json_name = "ImportForeignSchemaStmt"]; - bool has_import_foreign_schema_stmt() const; private: - bool _internal_has_import_foreign_schema_stmt() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.InlineCodeBlock"; + } + protected: + explicit InlineCodeBlock(::google::protobuf::Arena* arena); + InlineCodeBlock(::google::protobuf::Arena* arena, const InlineCodeBlock& from); public: - void clear_import_foreign_schema_stmt(); - const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ImportForeignSchemaStmt* release_import_foreign_schema_stmt(); - ::pg_query::ImportForeignSchemaStmt* mutable_import_foreign_schema_stmt(); - void set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSourceTextFieldNumber = 1, + kLangOidFieldNumber = 2, + kLangIsTrustedFieldNumber = 3, + kAtomicFieldNumber = 4, + }; + // string source_text = 1 [json_name = "source_text"]; + void clear_source_text() ; + const std::string& source_text() const; + template + void set_source_text(Arg_&& arg, Args_... args); + std::string* mutable_source_text(); + PROTOBUF_NODISCARD std::string* release_source_text(); + void set_allocated_source_text(std::string* value); + private: - const ::pg_query::ImportForeignSchemaStmt& _internal_import_foreign_schema_stmt() const; - ::pg_query::ImportForeignSchemaStmt* _internal_mutable_import_foreign_schema_stmt(); + const std::string& _internal_source_text() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_source_text( + const std::string& value); + std::string* _internal_mutable_source_text(); + public: - void unsafe_arena_set_allocated_import_foreign_schema_stmt( - ::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt); - ::pg_query::ImportForeignSchemaStmt* unsafe_arena_release_import_foreign_schema_stmt(); + // uint32 lang_oid = 2 [json_name = "langOid"]; + void clear_lang_oid() ; + ::uint32_t lang_oid() const; + void set_lang_oid(::uint32_t value); - // .pg_query.CreateExtensionStmt create_extension_stmt = 150 [json_name = "CreateExtensionStmt"]; - bool has_create_extension_stmt() const; private: - bool _internal_has_create_extension_stmt() const; + ::uint32_t _internal_lang_oid() const; + void _internal_set_lang_oid(::uint32_t value); + public: - void clear_create_extension_stmt(); - const ::pg_query::CreateExtensionStmt& create_extension_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateExtensionStmt* release_create_extension_stmt(); - ::pg_query::CreateExtensionStmt* mutable_create_extension_stmt(); - void set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* create_extension_stmt); + // bool lang_is_trusted = 3 [json_name = "langIsTrusted"]; + void clear_lang_is_trusted() ; + bool lang_is_trusted() const; + void set_lang_is_trusted(bool value); + private: - const ::pg_query::CreateExtensionStmt& _internal_create_extension_stmt() const; - ::pg_query::CreateExtensionStmt* _internal_mutable_create_extension_stmt(); + bool _internal_lang_is_trusted() const; + void _internal_set_lang_is_trusted(bool value); + public: - void unsafe_arena_set_allocated_create_extension_stmt( - ::pg_query::CreateExtensionStmt* create_extension_stmt); - ::pg_query::CreateExtensionStmt* unsafe_arena_release_create_extension_stmt(); + // bool atomic = 4 [json_name = "atomic"]; + void clear_atomic() ; + bool atomic() const; + void set_atomic(bool value); - // .pg_query.AlterExtensionStmt alter_extension_stmt = 151 [json_name = "AlterExtensionStmt"]; - bool has_alter_extension_stmt() const; private: - bool _internal_has_alter_extension_stmt() const; + bool _internal_atomic() const; + void _internal_set_atomic(bool value); + public: - void clear_alter_extension_stmt(); - const ::pg_query::AlterExtensionStmt& alter_extension_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterExtensionStmt* release_alter_extension_stmt(); - ::pg_query::AlterExtensionStmt* mutable_alter_extension_stmt(); - void set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* alter_extension_stmt); - private: - const ::pg_query::AlterExtensionStmt& _internal_alter_extension_stmt() const; - ::pg_query::AlterExtensionStmt* _internal_mutable_alter_extension_stmt(); - public: - void unsafe_arena_set_allocated_alter_extension_stmt( - ::pg_query::AlterExtensionStmt* alter_extension_stmt); - ::pg_query::AlterExtensionStmt* unsafe_arena_release_alter_extension_stmt(); + // @@protoc_insertion_point(class_scope:pg_query.InlineCodeBlock) + private: + class _Internal; - // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 152 [json_name = "AlterExtensionContentsStmt"]; - bool has_alter_extension_contents_stmt() const; - private: - bool _internal_has_alter_extension_contents_stmt() const; - public: - void clear_alter_extension_contents_stmt(); - const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterExtensionContentsStmt* release_alter_extension_contents_stmt(); - ::pg_query::AlterExtensionContentsStmt* mutable_alter_extension_contents_stmt(); - void set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt); - private: - const ::pg_query::AlterExtensionContentsStmt& _internal_alter_extension_contents_stmt() const; - ::pg_query::AlterExtensionContentsStmt* _internal_mutable_alter_extension_contents_stmt(); - public: - void unsafe_arena_set_allocated_alter_extension_contents_stmt( - ::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt); - ::pg_query::AlterExtensionContentsStmt* unsafe_arena_release_alter_extension_contents_stmt(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 0, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 153 [json_name = "CreateEventTrigStmt"]; - bool has_create_event_trig_stmt() const; - private: - bool _internal_has_create_event_trig_stmt() const; - public: - void clear_create_event_trig_stmt(); - const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateEventTrigStmt* release_create_event_trig_stmt(); - ::pg_query::CreateEventTrigStmt* mutable_create_event_trig_stmt(); - void set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* create_event_trig_stmt); - private: - const ::pg_query::CreateEventTrigStmt& _internal_create_event_trig_stmt() const; - ::pg_query::CreateEventTrigStmt* _internal_mutable_create_event_trig_stmt(); - public: - void unsafe_arena_set_allocated_create_event_trig_stmt( - ::pg_query::CreateEventTrigStmt* create_event_trig_stmt); - ::pg_query::CreateEventTrigStmt* unsafe_arena_release_create_event_trig_stmt(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr source_text_; + ::uint32_t lang_oid_; + bool lang_is_trusted_; + bool atomic_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 154 [json_name = "AlterEventTrigStmt"]; - bool has_alter_event_trig_stmt() const; - private: - bool _internal_has_alter_event_trig_stmt() const; - public: - void clear_alter_event_trig_stmt(); - const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterEventTrigStmt* release_alter_event_trig_stmt(); - ::pg_query::AlterEventTrigStmt* mutable_alter_event_trig_stmt(); - void set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* alter_event_trig_stmt); - private: - const ::pg_query::AlterEventTrigStmt& _internal_alter_event_trig_stmt() const; - ::pg_query::AlterEventTrigStmt* _internal_mutable_alter_event_trig_stmt(); - public: - void unsafe_arena_set_allocated_alter_event_trig_stmt( - ::pg_query::AlterEventTrigStmt* alter_event_trig_stmt); - ::pg_query::AlterEventTrigStmt* unsafe_arena_release_alter_event_trig_stmt(); +class Float final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Float) */ { + public: + inline Float() : Float(nullptr) {} + ~Float() override; + template + explicit PROTOBUF_CONSTEXPR Float(::google::protobuf::internal::ConstantInitialized); - // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 155 [json_name = "RefreshMatViewStmt"]; - bool has_refresh_mat_view_stmt() const; - private: - bool _internal_has_refresh_mat_view_stmt() const; - public: - void clear_refresh_mat_view_stmt(); - const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt() const; - PROTOBUF_NODISCARD ::pg_query::RefreshMatViewStmt* release_refresh_mat_view_stmt(); - ::pg_query::RefreshMatViewStmt* mutable_refresh_mat_view_stmt(); - void set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt); - private: - const ::pg_query::RefreshMatViewStmt& _internal_refresh_mat_view_stmt() const; - ::pg_query::RefreshMatViewStmt* _internal_mutable_refresh_mat_view_stmt(); - public: - void unsafe_arena_set_allocated_refresh_mat_view_stmt( - ::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt); - ::pg_query::RefreshMatViewStmt* unsafe_arena_release_refresh_mat_view_stmt(); + inline Float(const Float& from) + : Float(nullptr, from) {} + Float(Float&& from) noexcept + : Float() { + *this = ::std::move(from); + } - // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 156 [json_name = "ReplicaIdentityStmt"]; - bool has_replica_identity_stmt() const; - private: - bool _internal_has_replica_identity_stmt() const; - public: - void clear_replica_identity_stmt(); - const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt() const; - PROTOBUF_NODISCARD ::pg_query::ReplicaIdentityStmt* release_replica_identity_stmt(); - ::pg_query::ReplicaIdentityStmt* mutable_replica_identity_stmt(); - void set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* replica_identity_stmt); - private: - const ::pg_query::ReplicaIdentityStmt& _internal_replica_identity_stmt() const; - ::pg_query::ReplicaIdentityStmt* _internal_mutable_replica_identity_stmt(); - public: - void unsafe_arena_set_allocated_replica_identity_stmt( - ::pg_query::ReplicaIdentityStmt* replica_identity_stmt); - ::pg_query::ReplicaIdentityStmt* unsafe_arena_release_replica_identity_stmt(); + inline Float& operator=(const Float& from) { + CopyFrom(from); + return *this; + } + inline Float& operator=(Float&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.AlterSystemStmt alter_system_stmt = 157 [json_name = "AlterSystemStmt"]; - bool has_alter_system_stmt() const; - private: - bool _internal_has_alter_system_stmt() const; - public: - void clear_alter_system_stmt(); - const ::pg_query::AlterSystemStmt& alter_system_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSystemStmt* release_alter_system_stmt(); - ::pg_query::AlterSystemStmt* mutable_alter_system_stmt(); - void set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* alter_system_stmt); - private: - const ::pg_query::AlterSystemStmt& _internal_alter_system_stmt() const; - ::pg_query::AlterSystemStmt* _internal_mutable_alter_system_stmt(); - public: - void unsafe_arena_set_allocated_alter_system_stmt( - ::pg_query::AlterSystemStmt* alter_system_stmt); - ::pg_query::AlterSystemStmt* unsafe_arena_release_alter_system_stmt(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.CreatePolicyStmt create_policy_stmt = 158 [json_name = "CreatePolicyStmt"]; - bool has_create_policy_stmt() const; - private: - bool _internal_has_create_policy_stmt() const; - public: - void clear_create_policy_stmt(); - const ::pg_query::CreatePolicyStmt& create_policy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePolicyStmt* release_create_policy_stmt(); - ::pg_query::CreatePolicyStmt* mutable_create_policy_stmt(); - void set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* create_policy_stmt); - private: - const ::pg_query::CreatePolicyStmt& _internal_create_policy_stmt() const; - ::pg_query::CreatePolicyStmt* _internal_mutable_create_policy_stmt(); - public: - void unsafe_arena_set_allocated_create_policy_stmt( - ::pg_query::CreatePolicyStmt* create_policy_stmt); - ::pg_query::CreatePolicyStmt* unsafe_arena_release_create_policy_stmt(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Float& default_instance() { + return *internal_default_instance(); + } + static inline const Float* internal_default_instance() { + return reinterpret_cast( + &_Float_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; - // .pg_query.AlterPolicyStmt alter_policy_stmt = 159 [json_name = "AlterPolicyStmt"]; - bool has_alter_policy_stmt() const; - private: - bool _internal_has_alter_policy_stmt() const; - public: - void clear_alter_policy_stmt(); - const ::pg_query::AlterPolicyStmt& alter_policy_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterPolicyStmt* release_alter_policy_stmt(); - ::pg_query::AlterPolicyStmt* mutable_alter_policy_stmt(); - void set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* alter_policy_stmt); - private: - const ::pg_query::AlterPolicyStmt& _internal_alter_policy_stmt() const; - ::pg_query::AlterPolicyStmt* _internal_mutable_alter_policy_stmt(); - public: - void unsafe_arena_set_allocated_alter_policy_stmt( - ::pg_query::AlterPolicyStmt* alter_policy_stmt); - ::pg_query::AlterPolicyStmt* unsafe_arena_release_alter_policy_stmt(); + friend void swap(Float& a, Float& b) { + a.Swap(&b); + } + inline void Swap(Float* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Float* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.CreateTransformStmt create_transform_stmt = 160 [json_name = "CreateTransformStmt"]; - bool has_create_transform_stmt() const; - private: - bool _internal_has_create_transform_stmt() const; - public: - void clear_create_transform_stmt(); - const ::pg_query::CreateTransformStmt& create_transform_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateTransformStmt* release_create_transform_stmt(); - ::pg_query::CreateTransformStmt* mutable_create_transform_stmt(); - void set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* create_transform_stmt); - private: - const ::pg_query::CreateTransformStmt& _internal_create_transform_stmt() const; - ::pg_query::CreateTransformStmt* _internal_mutable_create_transform_stmt(); - public: - void unsafe_arena_set_allocated_create_transform_stmt( - ::pg_query::CreateTransformStmt* create_transform_stmt); - ::pg_query::CreateTransformStmt* unsafe_arena_release_create_transform_stmt(); + // implements Message ---------------------------------------------- - // .pg_query.CreateAmStmt create_am_stmt = 161 [json_name = "CreateAmStmt"]; - bool has_create_am_stmt() const; - private: - bool _internal_has_create_am_stmt() const; - public: - void clear_create_am_stmt(); - const ::pg_query::CreateAmStmt& create_am_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateAmStmt* release_create_am_stmt(); - ::pg_query::CreateAmStmt* mutable_create_am_stmt(); - void set_allocated_create_am_stmt(::pg_query::CreateAmStmt* create_am_stmt); + Float* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Float& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Float& from) { + Float::MergeImpl(*this, from); + } private: - const ::pg_query::CreateAmStmt& _internal_create_am_stmt() const; - ::pg_query::CreateAmStmt* _internal_mutable_create_am_stmt(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_create_am_stmt( - ::pg_query::CreateAmStmt* create_am_stmt); - ::pg_query::CreateAmStmt* unsafe_arena_release_create_am_stmt(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.CreatePublicationStmt create_publication_stmt = 162 [json_name = "CreatePublicationStmt"]; - bool has_create_publication_stmt() const; - private: - bool _internal_has_create_publication_stmt() const; - public: - void clear_create_publication_stmt(); - const ::pg_query::CreatePublicationStmt& create_publication_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreatePublicationStmt* release_create_publication_stmt(); - ::pg_query::CreatePublicationStmt* mutable_create_publication_stmt(); - void set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* create_publication_stmt); - private: - const ::pg_query::CreatePublicationStmt& _internal_create_publication_stmt() const; - ::pg_query::CreatePublicationStmt* _internal_mutable_create_publication_stmt(); - public: - void unsafe_arena_set_allocated_create_publication_stmt( - ::pg_query::CreatePublicationStmt* create_publication_stmt); - ::pg_query::CreatePublicationStmt* unsafe_arena_release_create_publication_stmt(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.AlterPublicationStmt alter_publication_stmt = 163 [json_name = "AlterPublicationStmt"]; - bool has_alter_publication_stmt() const; - private: - bool _internal_has_alter_publication_stmt() const; - public: - void clear_alter_publication_stmt(); - const ::pg_query::AlterPublicationStmt& alter_publication_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterPublicationStmt* release_alter_publication_stmt(); - ::pg_query::AlterPublicationStmt* mutable_alter_publication_stmt(); - void set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* alter_publication_stmt); private: - const ::pg_query::AlterPublicationStmt& _internal_alter_publication_stmt() const; - ::pg_query::AlterPublicationStmt* _internal_mutable_alter_publication_stmt(); - public: - void unsafe_arena_set_allocated_alter_publication_stmt( - ::pg_query::AlterPublicationStmt* alter_publication_stmt); - ::pg_query::AlterPublicationStmt* unsafe_arena_release_alter_publication_stmt(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Float* other); - // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 164 [json_name = "CreateSubscriptionStmt"]; - bool has_create_subscription_stmt() const; - private: - bool _internal_has_create_subscription_stmt() const; - public: - void clear_create_subscription_stmt(); - const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateSubscriptionStmt* release_create_subscription_stmt(); - ::pg_query::CreateSubscriptionStmt* mutable_create_subscription_stmt(); - void set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* create_subscription_stmt); private: - const ::pg_query::CreateSubscriptionStmt& _internal_create_subscription_stmt() const; - ::pg_query::CreateSubscriptionStmt* _internal_mutable_create_subscription_stmt(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Float"; + } + protected: + explicit Float(::google::protobuf::Arena* arena); + Float(::google::protobuf::Arena* arena, const Float& from); public: - void unsafe_arena_set_allocated_create_subscription_stmt( - ::pg_query::CreateSubscriptionStmt* create_subscription_stmt); - ::pg_query::CreateSubscriptionStmt* unsafe_arena_release_create_subscription_stmt(); - // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 165 [json_name = "AlterSubscriptionStmt"]; - bool has_alter_subscription_stmt() const; - private: - bool _internal_has_alter_subscription_stmt() const; - public: - void clear_alter_subscription_stmt(); - const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterSubscriptionStmt* release_alter_subscription_stmt(); - ::pg_query::AlterSubscriptionStmt* mutable_alter_subscription_stmt(); - void set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* alter_subscription_stmt); - private: - const ::pg_query::AlterSubscriptionStmt& _internal_alter_subscription_stmt() const; - ::pg_query::AlterSubscriptionStmt* _internal_mutable_alter_subscription_stmt(); - public: - void unsafe_arena_set_allocated_alter_subscription_stmt( - ::pg_query::AlterSubscriptionStmt* alter_subscription_stmt); - ::pg_query::AlterSubscriptionStmt* unsafe_arena_release_alter_subscription_stmt(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 166 [json_name = "DropSubscriptionStmt"]; - bool has_drop_subscription_stmt() const; - private: - bool _internal_has_drop_subscription_stmt() const; - public: - void clear_drop_subscription_stmt(); - const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt() const; - PROTOBUF_NODISCARD ::pg_query::DropSubscriptionStmt* release_drop_subscription_stmt(); - ::pg_query::DropSubscriptionStmt* mutable_drop_subscription_stmt(); - void set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* drop_subscription_stmt); - private: - const ::pg_query::DropSubscriptionStmt& _internal_drop_subscription_stmt() const; - ::pg_query::DropSubscriptionStmt* _internal_mutable_drop_subscription_stmt(); - public: - void unsafe_arena_set_allocated_drop_subscription_stmt( - ::pg_query::DropSubscriptionStmt* drop_subscription_stmt); - ::pg_query::DropSubscriptionStmt* unsafe_arena_release_drop_subscription_stmt(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.CreateStatsStmt create_stats_stmt = 167 [json_name = "CreateStatsStmt"]; - bool has_create_stats_stmt() const; - private: - bool _internal_has_create_stats_stmt() const; - public: - void clear_create_stats_stmt(); - const ::pg_query::CreateStatsStmt& create_stats_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateStatsStmt* release_create_stats_stmt(); - ::pg_query::CreateStatsStmt* mutable_create_stats_stmt(); - void set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* create_stats_stmt); - private: - const ::pg_query::CreateStatsStmt& _internal_create_stats_stmt() const; - ::pg_query::CreateStatsStmt* _internal_mutable_create_stats_stmt(); - public: - void unsafe_arena_set_allocated_create_stats_stmt( - ::pg_query::CreateStatsStmt* create_stats_stmt); - ::pg_query::CreateStatsStmt* unsafe_arena_release_create_stats_stmt(); + // nested types ---------------------------------------------------- - // .pg_query.AlterCollationStmt alter_collation_stmt = 168 [json_name = "AlterCollationStmt"]; - bool has_alter_collation_stmt() const; - private: - bool _internal_has_alter_collation_stmt() const; - public: - void clear_alter_collation_stmt(); - const ::pg_query::AlterCollationStmt& alter_collation_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterCollationStmt* release_alter_collation_stmt(); - ::pg_query::AlterCollationStmt* mutable_alter_collation_stmt(); - void set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* alter_collation_stmt); - private: - const ::pg_query::AlterCollationStmt& _internal_alter_collation_stmt() const; - ::pg_query::AlterCollationStmt* _internal_mutable_alter_collation_stmt(); - public: - void unsafe_arena_set_allocated_alter_collation_stmt( - ::pg_query::AlterCollationStmt* alter_collation_stmt); - ::pg_query::AlterCollationStmt* unsafe_arena_release_alter_collation_stmt(); + // accessors ------------------------------------------------------- - // .pg_query.CallStmt call_stmt = 169 [json_name = "CallStmt"]; - bool has_call_stmt() const; - private: - bool _internal_has_call_stmt() const; - public: - void clear_call_stmt(); - const ::pg_query::CallStmt& call_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CallStmt* release_call_stmt(); - ::pg_query::CallStmt* mutable_call_stmt(); - void set_allocated_call_stmt(::pg_query::CallStmt* call_stmt); - private: - const ::pg_query::CallStmt& _internal_call_stmt() const; - ::pg_query::CallStmt* _internal_mutable_call_stmt(); - public: - void unsafe_arena_set_allocated_call_stmt( - ::pg_query::CallStmt* call_stmt); - ::pg_query::CallStmt* unsafe_arena_release_call_stmt(); + enum : int { + kFvalFieldNumber = 1, + }; + // string fval = 1; + void clear_fval() ; + const std::string& fval() const; + template + void set_fval(Arg_&& arg, Args_... args); + std::string* mutable_fval(); + PROTOBUF_NODISCARD std::string* release_fval(); + void set_allocated_fval(std::string* value); - // .pg_query.AlterStatsStmt alter_stats_stmt = 170 [json_name = "AlterStatsStmt"]; - bool has_alter_stats_stmt() const; - private: - bool _internal_has_alter_stats_stmt() const; - public: - void clear_alter_stats_stmt(); - const ::pg_query::AlterStatsStmt& alter_stats_stmt() const; - PROTOBUF_NODISCARD ::pg_query::AlterStatsStmt* release_alter_stats_stmt(); - ::pg_query::AlterStatsStmt* mutable_alter_stats_stmt(); - void set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* alter_stats_stmt); private: - const ::pg_query::AlterStatsStmt& _internal_alter_stats_stmt() const; - ::pg_query::AlterStatsStmt* _internal_mutable_alter_stats_stmt(); - public: - void unsafe_arena_set_allocated_alter_stats_stmt( - ::pg_query::AlterStatsStmt* alter_stats_stmt); - ::pg_query::AlterStatsStmt* unsafe_arena_release_alter_stats_stmt(); + const std::string& _internal_fval() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fval( + const std::string& value); + std::string* _internal_mutable_fval(); - // .pg_query.A_Expr a_expr = 171 [json_name = "A_Expr"]; - bool has_a_expr() const; - private: - bool _internal_has_a_expr() const; - public: - void clear_a_expr(); - const ::pg_query::A_Expr& a_expr() const; - PROTOBUF_NODISCARD ::pg_query::A_Expr* release_a_expr(); - ::pg_query::A_Expr* mutable_a_expr(); - void set_allocated_a_expr(::pg_query::A_Expr* a_expr); - private: - const ::pg_query::A_Expr& _internal_a_expr() const; - ::pg_query::A_Expr* _internal_mutable_a_expr(); public: - void unsafe_arena_set_allocated_a_expr( - ::pg_query::A_Expr* a_expr); - ::pg_query::A_Expr* unsafe_arena_release_a_expr(); + // @@protoc_insertion_point(class_scope:pg_query.Float) + private: + class _Internal; - // .pg_query.ColumnRef column_ref = 172 [json_name = "ColumnRef"]; - bool has_column_ref() const; - private: - bool _internal_has_column_ref() const; - public: - void clear_column_ref(); - const ::pg_query::ColumnRef& column_ref() const; - PROTOBUF_NODISCARD ::pg_query::ColumnRef* release_column_ref(); - ::pg_query::ColumnRef* mutable_column_ref(); - void set_allocated_column_ref(::pg_query::ColumnRef* column_ref); - private: - const ::pg_query::ColumnRef& _internal_column_ref() const; - ::pg_query::ColumnRef* _internal_mutable_column_ref(); - public: - void unsafe_arena_set_allocated_column_ref( - ::pg_query::ColumnRef* column_ref); - ::pg_query::ColumnRef* unsafe_arena_release_column_ref(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 27, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.ParamRef param_ref = 173 [json_name = "ParamRef"]; - bool has_param_ref() const; - private: - bool _internal_has_param_ref() const; - public: - void clear_param_ref(); - const ::pg_query::ParamRef& param_ref() const; - PROTOBUF_NODISCARD ::pg_query::ParamRef* release_param_ref(); - ::pg_query::ParamRef* mutable_param_ref(); - void set_allocated_param_ref(::pg_query::ParamRef* param_ref); - private: - const ::pg_query::ParamRef& _internal_param_ref() const; - ::pg_query::ParamRef* _internal_mutable_param_ref(); - public: - void unsafe_arena_set_allocated_param_ref( - ::pg_query::ParamRef* param_ref); - ::pg_query::ParamRef* unsafe_arena_release_param_ref(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr fval_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.FuncCall func_call = 174 [json_name = "FuncCall"]; - bool has_func_call() const; +class FetchStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FetchStmt) */ { + public: + inline FetchStmt() : FetchStmt(nullptr) {} + ~FetchStmt() override; + template + explicit PROTOBUF_CONSTEXPR FetchStmt(::google::protobuf::internal::ConstantInitialized); + + inline FetchStmt(const FetchStmt& from) + : FetchStmt(nullptr, from) {} + FetchStmt(FetchStmt&& from) noexcept + : FetchStmt() { + *this = ::std::move(from); + } + + inline FetchStmt& operator=(const FetchStmt& from) { + CopyFrom(from); + return *this; + } + inline FetchStmt& operator=(FetchStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FetchStmt& default_instance() { + return *internal_default_instance(); + } + static inline const FetchStmt* internal_default_instance() { + return reinterpret_cast( + &_FetchStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 208; + + friend void swap(FetchStmt& a, FetchStmt& b) { + a.Swap(&b); + } + inline void Swap(FetchStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FetchStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FetchStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FetchStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FetchStmt& from) { + FetchStmt::MergeImpl(*this, from); + } private: - bool _internal_has_func_call() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_func_call(); - const ::pg_query::FuncCall& func_call() const; - PROTOBUF_NODISCARD ::pg_query::FuncCall* release_func_call(); - ::pg_query::FuncCall* mutable_func_call(); - void set_allocated_func_call(::pg_query::FuncCall* func_call); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::FuncCall& _internal_func_call() const; - ::pg_query::FuncCall* _internal_mutable_func_call(); - public: - void unsafe_arena_set_allocated_func_call( - ::pg_query::FuncCall* func_call); - ::pg_query::FuncCall* unsafe_arena_release_func_call(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(FetchStmt* other); - // .pg_query.A_Star a_star = 175 [json_name = "A_Star"]; - bool has_a_star() const; private: - bool _internal_has_a_star() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FetchStmt"; + } + protected: + explicit FetchStmt(::google::protobuf::Arena* arena); + FetchStmt(::google::protobuf::Arena* arena, const FetchStmt& from); public: - void clear_a_star(); - const ::pg_query::A_Star& a_star() const; - PROTOBUF_NODISCARD ::pg_query::A_Star* release_a_star(); - ::pg_query::A_Star* mutable_a_star(); - void set_allocated_a_star(::pg_query::A_Star* a_star); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPortalnameFieldNumber = 3, + kHowManyFieldNumber = 2, + kDirectionFieldNumber = 1, + kIsmoveFieldNumber = 4, + }; + // string portalname = 3 [json_name = "portalname"]; + void clear_portalname() ; + const std::string& portalname() const; + template + void set_portalname(Arg_&& arg, Args_... args); + std::string* mutable_portalname(); + PROTOBUF_NODISCARD std::string* release_portalname(); + void set_allocated_portalname(std::string* value); + private: - const ::pg_query::A_Star& _internal_a_star() const; - ::pg_query::A_Star* _internal_mutable_a_star(); + const std::string& _internal_portalname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname( + const std::string& value); + std::string* _internal_mutable_portalname(); + public: - void unsafe_arena_set_allocated_a_star( - ::pg_query::A_Star* a_star); - ::pg_query::A_Star* unsafe_arena_release_a_star(); + // int64 how_many = 2 [json_name = "howMany"]; + void clear_how_many() ; + ::int64_t how_many() const; + void set_how_many(::int64_t value); - // .pg_query.A_Indices a_indices = 176 [json_name = "A_Indices"]; - bool has_a_indices() const; private: - bool _internal_has_a_indices() const; + ::int64_t _internal_how_many() const; + void _internal_set_how_many(::int64_t value); + public: - void clear_a_indices(); - const ::pg_query::A_Indices& a_indices() const; - PROTOBUF_NODISCARD ::pg_query::A_Indices* release_a_indices(); - ::pg_query::A_Indices* mutable_a_indices(); - void set_allocated_a_indices(::pg_query::A_Indices* a_indices); + // .pg_query.FetchDirection direction = 1 [json_name = "direction"]; + void clear_direction() ; + ::pg_query::FetchDirection direction() const; + void set_direction(::pg_query::FetchDirection value); + private: - const ::pg_query::A_Indices& _internal_a_indices() const; - ::pg_query::A_Indices* _internal_mutable_a_indices(); + ::pg_query::FetchDirection _internal_direction() const; + void _internal_set_direction(::pg_query::FetchDirection value); + public: - void unsafe_arena_set_allocated_a_indices( - ::pg_query::A_Indices* a_indices); - ::pg_query::A_Indices* unsafe_arena_release_a_indices(); + // bool ismove = 4 [json_name = "ismove"]; + void clear_ismove() ; + bool ismove() const; + void set_ismove(bool value); - // .pg_query.A_Indirection a_indirection = 177 [json_name = "A_Indirection"]; - bool has_a_indirection() const; private: - bool _internal_has_a_indirection() const; + bool _internal_ismove() const; + void _internal_set_ismove(bool value); + public: - void clear_a_indirection(); - const ::pg_query::A_Indirection& a_indirection() const; - PROTOBUF_NODISCARD ::pg_query::A_Indirection* release_a_indirection(); - ::pg_query::A_Indirection* mutable_a_indirection(); - void set_allocated_a_indirection(::pg_query::A_Indirection* a_indirection); - private: - const ::pg_query::A_Indirection& _internal_a_indirection() const; - ::pg_query::A_Indirection* _internal_mutable_a_indirection(); - public: - void unsafe_arena_set_allocated_a_indirection( - ::pg_query::A_Indirection* a_indirection); - ::pg_query::A_Indirection* unsafe_arena_release_a_indirection(); + // @@protoc_insertion_point(class_scope:pg_query.FetchStmt) + private: + class _Internal; - // .pg_query.A_ArrayExpr a_array_expr = 178 [json_name = "A_ArrayExpr"]; - bool has_a_array_expr() const; - private: - bool _internal_has_a_array_expr() const; - public: - void clear_a_array_expr(); - const ::pg_query::A_ArrayExpr& a_array_expr() const; - PROTOBUF_NODISCARD ::pg_query::A_ArrayExpr* release_a_array_expr(); - ::pg_query::A_ArrayExpr* mutable_a_array_expr(); - void set_allocated_a_array_expr(::pg_query::A_ArrayExpr* a_array_expr); - private: - const ::pg_query::A_ArrayExpr& _internal_a_array_expr() const; - ::pg_query::A_ArrayExpr* _internal_mutable_a_array_expr(); - public: - void unsafe_arena_set_allocated_a_array_expr( - ::pg_query::A_ArrayExpr* a_array_expr); - ::pg_query::A_ArrayExpr* unsafe_arena_release_a_array_expr(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 0, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.ResTarget res_target = 179 [json_name = "ResTarget"]; - bool has_res_target() const; - private: - bool _internal_has_res_target() const; - public: - void clear_res_target(); - const ::pg_query::ResTarget& res_target() const; - PROTOBUF_NODISCARD ::pg_query::ResTarget* release_res_target(); - ::pg_query::ResTarget* mutable_res_target(); - void set_allocated_res_target(::pg_query::ResTarget* res_target); - private: - const ::pg_query::ResTarget& _internal_res_target() const; - ::pg_query::ResTarget* _internal_mutable_res_target(); - public: - void unsafe_arena_set_allocated_res_target( - ::pg_query::ResTarget* res_target); - ::pg_query::ResTarget* unsafe_arena_release_res_target(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr portalname_; + ::int64_t how_many_; + int direction_; + bool ismove_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.MultiAssignRef multi_assign_ref = 180 [json_name = "MultiAssignRef"]; - bool has_multi_assign_ref() const; - private: - bool _internal_has_multi_assign_ref() const; - public: - void clear_multi_assign_ref(); - const ::pg_query::MultiAssignRef& multi_assign_ref() const; - PROTOBUF_NODISCARD ::pg_query::MultiAssignRef* release_multi_assign_ref(); - ::pg_query::MultiAssignRef* mutable_multi_assign_ref(); - void set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* multi_assign_ref); - private: - const ::pg_query::MultiAssignRef& _internal_multi_assign_ref() const; - ::pg_query::MultiAssignRef* _internal_mutable_multi_assign_ref(); - public: - void unsafe_arena_set_allocated_multi_assign_ref( - ::pg_query::MultiAssignRef* multi_assign_ref); - ::pg_query::MultiAssignRef* unsafe_arena_release_multi_assign_ref(); +class DropTableSpaceStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropTableSpaceStmt) */ { + public: + inline DropTableSpaceStmt() : DropTableSpaceStmt(nullptr) {} + ~DropTableSpaceStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropTableSpaceStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.TypeCast type_cast = 181 [json_name = "TypeCast"]; - bool has_type_cast() const; - private: - bool _internal_has_type_cast() const; - public: - void clear_type_cast(); - const ::pg_query::TypeCast& type_cast() const; - PROTOBUF_NODISCARD ::pg_query::TypeCast* release_type_cast(); - ::pg_query::TypeCast* mutable_type_cast(); - void set_allocated_type_cast(::pg_query::TypeCast* type_cast); - private: - const ::pg_query::TypeCast& _internal_type_cast() const; - ::pg_query::TypeCast* _internal_mutable_type_cast(); - public: - void unsafe_arena_set_allocated_type_cast( - ::pg_query::TypeCast* type_cast); - ::pg_query::TypeCast* unsafe_arena_release_type_cast(); + inline DropTableSpaceStmt(const DropTableSpaceStmt& from) + : DropTableSpaceStmt(nullptr, from) {} + DropTableSpaceStmt(DropTableSpaceStmt&& from) noexcept + : DropTableSpaceStmt() { + *this = ::std::move(from); + } - // .pg_query.CollateClause collate_clause = 182 [json_name = "CollateClause"]; - bool has_collate_clause() const; - private: - bool _internal_has_collate_clause() const; - public: - void clear_collate_clause(); - const ::pg_query::CollateClause& collate_clause() const; - PROTOBUF_NODISCARD ::pg_query::CollateClause* release_collate_clause(); - ::pg_query::CollateClause* mutable_collate_clause(); - void set_allocated_collate_clause(::pg_query::CollateClause* collate_clause); - private: - const ::pg_query::CollateClause& _internal_collate_clause() const; - ::pg_query::CollateClause* _internal_mutable_collate_clause(); - public: - void unsafe_arena_set_allocated_collate_clause( - ::pg_query::CollateClause* collate_clause); - ::pg_query::CollateClause* unsafe_arena_release_collate_clause(); + inline DropTableSpaceStmt& operator=(const DropTableSpaceStmt& from) { + CopyFrom(from); + return *this; + } + inline DropTableSpaceStmt& operator=(DropTableSpaceStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.SortBy sort_by = 183 [json_name = "SortBy"]; - bool has_sort_by() const; - private: - bool _internal_has_sort_by() const; - public: - void clear_sort_by(); - const ::pg_query::SortBy& sort_by() const; - PROTOBUF_NODISCARD ::pg_query::SortBy* release_sort_by(); - ::pg_query::SortBy* mutable_sort_by(); - void set_allocated_sort_by(::pg_query::SortBy* sort_by); - private: - const ::pg_query::SortBy& _internal_sort_by() const; - ::pg_query::SortBy* _internal_mutable_sort_by(); - public: - void unsafe_arena_set_allocated_sort_by( - ::pg_query::SortBy* sort_by); - ::pg_query::SortBy* unsafe_arena_release_sort_by(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.WindowDef window_def = 184 [json_name = "WindowDef"]; - bool has_window_def() const; - private: - bool _internal_has_window_def() const; - public: - void clear_window_def(); - const ::pg_query::WindowDef& window_def() const; - PROTOBUF_NODISCARD ::pg_query::WindowDef* release_window_def(); - ::pg_query::WindowDef* mutable_window_def(); - void set_allocated_window_def(::pg_query::WindowDef* window_def); - private: - const ::pg_query::WindowDef& _internal_window_def() const; - ::pg_query::WindowDef* _internal_mutable_window_def(); - public: - void unsafe_arena_set_allocated_window_def( - ::pg_query::WindowDef* window_def); - ::pg_query::WindowDef* unsafe_arena_release_window_def(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DropTableSpaceStmt& default_instance() { + return *internal_default_instance(); + } + static inline const DropTableSpaceStmt* internal_default_instance() { + return reinterpret_cast( + &_DropTableSpaceStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 168; - // .pg_query.RangeSubselect range_subselect = 185 [json_name = "RangeSubselect"]; - bool has_range_subselect() const; - private: - bool _internal_has_range_subselect() const; - public: - void clear_range_subselect(); - const ::pg_query::RangeSubselect& range_subselect() const; - PROTOBUF_NODISCARD ::pg_query::RangeSubselect* release_range_subselect(); - ::pg_query::RangeSubselect* mutable_range_subselect(); - void set_allocated_range_subselect(::pg_query::RangeSubselect* range_subselect); - private: - const ::pg_query::RangeSubselect& _internal_range_subselect() const; - ::pg_query::RangeSubselect* _internal_mutable_range_subselect(); - public: - void unsafe_arena_set_allocated_range_subselect( - ::pg_query::RangeSubselect* range_subselect); - ::pg_query::RangeSubselect* unsafe_arena_release_range_subselect(); + friend void swap(DropTableSpaceStmt& a, DropTableSpaceStmt& b) { + a.Swap(&b); + } + inline void Swap(DropTableSpaceStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DropTableSpaceStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.RangeFunction range_function = 186 [json_name = "RangeFunction"]; - bool has_range_function() const; - private: - bool _internal_has_range_function() const; - public: - void clear_range_function(); - const ::pg_query::RangeFunction& range_function() const; - PROTOBUF_NODISCARD ::pg_query::RangeFunction* release_range_function(); - ::pg_query::RangeFunction* mutable_range_function(); - void set_allocated_range_function(::pg_query::RangeFunction* range_function); - private: - const ::pg_query::RangeFunction& _internal_range_function() const; - ::pg_query::RangeFunction* _internal_mutable_range_function(); - public: - void unsafe_arena_set_allocated_range_function( - ::pg_query::RangeFunction* range_function); - ::pg_query::RangeFunction* unsafe_arena_release_range_function(); + // implements Message ---------------------------------------------- - // .pg_query.RangeTableSample range_table_sample = 187 [json_name = "RangeTableSample"]; - bool has_range_table_sample() const; - private: - bool _internal_has_range_table_sample() const; - public: - void clear_range_table_sample(); - const ::pg_query::RangeTableSample& range_table_sample() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableSample* release_range_table_sample(); - ::pg_query::RangeTableSample* mutable_range_table_sample(); - void set_allocated_range_table_sample(::pg_query::RangeTableSample* range_table_sample); + DropTableSpaceStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropTableSpaceStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropTableSpaceStmt& from) { + DropTableSpaceStmt::MergeImpl(*this, from); + } private: - const ::pg_query::RangeTableSample& _internal_range_table_sample() const; - ::pg_query::RangeTableSample* _internal_mutable_range_table_sample(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_range_table_sample( - ::pg_query::RangeTableSample* range_table_sample); - ::pg_query::RangeTableSample* unsafe_arena_release_range_table_sample(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.RangeTableFunc range_table_func = 188 [json_name = "RangeTableFunc"]; - bool has_range_table_func() const; - private: - bool _internal_has_range_table_func() const; - public: - void clear_range_table_func(); - const ::pg_query::RangeTableFunc& range_table_func() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableFunc* release_range_table_func(); - ::pg_query::RangeTableFunc* mutable_range_table_func(); - void set_allocated_range_table_func(::pg_query::RangeTableFunc* range_table_func); - private: - const ::pg_query::RangeTableFunc& _internal_range_table_func() const; - ::pg_query::RangeTableFunc* _internal_mutable_range_table_func(); - public: - void unsafe_arena_set_allocated_range_table_func( - ::pg_query::RangeTableFunc* range_table_func); - ::pg_query::RangeTableFunc* unsafe_arena_release_range_table_func(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.RangeTableFuncCol range_table_func_col = 189 [json_name = "RangeTableFuncCol"]; - bool has_range_table_func_col() const; - private: - bool _internal_has_range_table_func_col() const; - public: - void clear_range_table_func_col(); - const ::pg_query::RangeTableFuncCol& range_table_func_col() const; - PROTOBUF_NODISCARD ::pg_query::RangeTableFuncCol* release_range_table_func_col(); - ::pg_query::RangeTableFuncCol* mutable_range_table_func_col(); - void set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* range_table_func_col); private: - const ::pg_query::RangeTableFuncCol& _internal_range_table_func_col() const; - ::pg_query::RangeTableFuncCol* _internal_mutable_range_table_func_col(); - public: - void unsafe_arena_set_allocated_range_table_func_col( - ::pg_query::RangeTableFuncCol* range_table_func_col); - ::pg_query::RangeTableFuncCol* unsafe_arena_release_range_table_func_col(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(DropTableSpaceStmt* other); - // .pg_query.TypeName type_name = 190 [json_name = "TypeName"]; - bool has_type_name() const; - private: - bool _internal_has_type_name() const; - public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropTableSpaceStmt"; + } + protected: + explicit DropTableSpaceStmt(::google::protobuf::Arena* arena); + DropTableSpaceStmt(::google::protobuf::Arena* arena, const DropTableSpaceStmt& from); public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); - // .pg_query.ColumnDef column_def = 191 [json_name = "ColumnDef"]; - bool has_column_def() const; - private: - bool _internal_has_column_def() const; - public: - void clear_column_def(); - const ::pg_query::ColumnDef& column_def() const; - PROTOBUF_NODISCARD ::pg_query::ColumnDef* release_column_def(); - ::pg_query::ColumnDef* mutable_column_def(); - void set_allocated_column_def(::pg_query::ColumnDef* column_def); - private: - const ::pg_query::ColumnDef& _internal_column_def() const; - ::pg_query::ColumnDef* _internal_mutable_column_def(); - public: - void unsafe_arena_set_allocated_column_def( - ::pg_query::ColumnDef* column_def); - ::pg_query::ColumnDef* unsafe_arena_release_column_def(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.IndexElem index_elem = 192 [json_name = "IndexElem"]; - bool has_index_elem() const; - private: - bool _internal_has_index_elem() const; - public: - void clear_index_elem(); - const ::pg_query::IndexElem& index_elem() const; - PROTOBUF_NODISCARD ::pg_query::IndexElem* release_index_elem(); - ::pg_query::IndexElem* mutable_index_elem(); - void set_allocated_index_elem(::pg_query::IndexElem* index_elem); - private: - const ::pg_query::IndexElem& _internal_index_elem() const; - ::pg_query::IndexElem* _internal_mutable_index_elem(); - public: - void unsafe_arena_set_allocated_index_elem( - ::pg_query::IndexElem* index_elem); - ::pg_query::IndexElem* unsafe_arena_release_index_elem(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.StatsElem stats_elem = 193 [json_name = "StatsElem"]; - bool has_stats_elem() const; - private: - bool _internal_has_stats_elem() const; - public: - void clear_stats_elem(); - const ::pg_query::StatsElem& stats_elem() const; - PROTOBUF_NODISCARD ::pg_query::StatsElem* release_stats_elem(); - ::pg_query::StatsElem* mutable_stats_elem(); - void set_allocated_stats_elem(::pg_query::StatsElem* stats_elem); - private: - const ::pg_query::StatsElem& _internal_stats_elem() const; - ::pg_query::StatsElem* _internal_mutable_stats_elem(); - public: - void unsafe_arena_set_allocated_stats_elem( - ::pg_query::StatsElem* stats_elem); - ::pg_query::StatsElem* unsafe_arena_release_stats_elem(); + // nested types ---------------------------------------------------- - // .pg_query.Constraint constraint = 194 [json_name = "Constraint"]; - bool has_constraint() const; - private: - bool _internal_has_constraint() const; - public: - void clear_constraint(); - const ::pg_query::Constraint& constraint() const; - PROTOBUF_NODISCARD ::pg_query::Constraint* release_constraint(); - ::pg_query::Constraint* mutable_constraint(); - void set_allocated_constraint(::pg_query::Constraint* constraint); - private: - const ::pg_query::Constraint& _internal_constraint() const; - ::pg_query::Constraint* _internal_mutable_constraint(); - public: - void unsafe_arena_set_allocated_constraint( - ::pg_query::Constraint* constraint); - ::pg_query::Constraint* unsafe_arena_release_constraint(); + // accessors ------------------------------------------------------- - // .pg_query.DefElem def_elem = 195 [json_name = "DefElem"]; - bool has_def_elem() const; - private: - bool _internal_has_def_elem() const; - public: - void clear_def_elem(); - const ::pg_query::DefElem& def_elem() const; - PROTOBUF_NODISCARD ::pg_query::DefElem* release_def_elem(); - ::pg_query::DefElem* mutable_def_elem(); - void set_allocated_def_elem(::pg_query::DefElem* def_elem); - private: - const ::pg_query::DefElem& _internal_def_elem() const; - ::pg_query::DefElem* _internal_mutable_def_elem(); - public: - void unsafe_arena_set_allocated_def_elem( - ::pg_query::DefElem* def_elem); - ::pg_query::DefElem* unsafe_arena_release_def_elem(); + enum : int { + kTablespacenameFieldNumber = 1, + kMissingOkFieldNumber = 2, + }; + // string tablespacename = 1 [json_name = "tablespacename"]; + void clear_tablespacename() ; + const std::string& tablespacename() const; + template + void set_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_tablespacename(); + PROTOBUF_NODISCARD std::string* release_tablespacename(); + void set_allocated_tablespacename(std::string* value); - // .pg_query.RangeTblEntry range_tbl_entry = 196 [json_name = "RangeTblEntry"]; - bool has_range_tbl_entry() const; private: - bool _internal_has_range_tbl_entry() const; - public: - void clear_range_tbl_entry(); - const ::pg_query::RangeTblEntry& range_tbl_entry() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblEntry* release_range_tbl_entry(); - ::pg_query::RangeTblEntry* mutable_range_tbl_entry(); - void set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* range_tbl_entry); - private: - const ::pg_query::RangeTblEntry& _internal_range_tbl_entry() const; - ::pg_query::RangeTblEntry* _internal_mutable_range_tbl_entry(); - public: - void unsafe_arena_set_allocated_range_tbl_entry( - ::pg_query::RangeTblEntry* range_tbl_entry); - ::pg_query::RangeTblEntry* unsafe_arena_release_range_tbl_entry(); + const std::string& _internal_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename( + const std::string& value); + std::string* _internal_mutable_tablespacename(); - // .pg_query.RangeTblFunction range_tbl_function = 197 [json_name = "RangeTblFunction"]; - bool has_range_tbl_function() const; - private: - bool _internal_has_range_tbl_function() const; - public: - void clear_range_tbl_function(); - const ::pg_query::RangeTblFunction& range_tbl_function() const; - PROTOBUF_NODISCARD ::pg_query::RangeTblFunction* release_range_tbl_function(); - ::pg_query::RangeTblFunction* mutable_range_tbl_function(); - void set_allocated_range_tbl_function(::pg_query::RangeTblFunction* range_tbl_function); - private: - const ::pg_query::RangeTblFunction& _internal_range_tbl_function() const; - ::pg_query::RangeTblFunction* _internal_mutable_range_tbl_function(); public: - void unsafe_arena_set_allocated_range_tbl_function( - ::pg_query::RangeTblFunction* range_tbl_function); - ::pg_query::RangeTblFunction* unsafe_arena_release_range_tbl_function(); + // bool missing_ok = 2 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // .pg_query.TableSampleClause table_sample_clause = 198 [json_name = "TableSampleClause"]; - bool has_table_sample_clause() const; - private: - bool _internal_has_table_sample_clause() const; - public: - void clear_table_sample_clause(); - const ::pg_query::TableSampleClause& table_sample_clause() const; - PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_table_sample_clause(); - ::pg_query::TableSampleClause* mutable_table_sample_clause(); - void set_allocated_table_sample_clause(::pg_query::TableSampleClause* table_sample_clause); private: - const ::pg_query::TableSampleClause& _internal_table_sample_clause() const; - ::pg_query::TableSampleClause* _internal_mutable_table_sample_clause(); - public: - void unsafe_arena_set_allocated_table_sample_clause( - ::pg_query::TableSampleClause* table_sample_clause); - ::pg_query::TableSampleClause* unsafe_arena_release_table_sample_clause(); + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // .pg_query.WithCheckOption with_check_option = 199 [json_name = "WithCheckOption"]; - bool has_with_check_option() const; - private: - bool _internal_has_with_check_option() const; - public: - void clear_with_check_option(); - const ::pg_query::WithCheckOption& with_check_option() const; - PROTOBUF_NODISCARD ::pg_query::WithCheckOption* release_with_check_option(); - ::pg_query::WithCheckOption* mutable_with_check_option(); - void set_allocated_with_check_option(::pg_query::WithCheckOption* with_check_option); - private: - const ::pg_query::WithCheckOption& _internal_with_check_option() const; - ::pg_query::WithCheckOption* _internal_mutable_with_check_option(); public: - void unsafe_arena_set_allocated_with_check_option( - ::pg_query::WithCheckOption* with_check_option); - ::pg_query::WithCheckOption* unsafe_arena_release_with_check_option(); + // @@protoc_insertion_point(class_scope:pg_query.DropTableSpaceStmt) + private: + class _Internal; - // .pg_query.SortGroupClause sort_group_clause = 200 [json_name = "SortGroupClause"]; - bool has_sort_group_clause() const; - private: - bool _internal_has_sort_group_clause() const; - public: - void clear_sort_group_clause(); - const ::pg_query::SortGroupClause& sort_group_clause() const; - PROTOBUF_NODISCARD ::pg_query::SortGroupClause* release_sort_group_clause(); - ::pg_query::SortGroupClause* mutable_sort_group_clause(); - void set_allocated_sort_group_clause(::pg_query::SortGroupClause* sort_group_clause); - private: - const ::pg_query::SortGroupClause& _internal_sort_group_clause() const; - ::pg_query::SortGroupClause* _internal_mutable_sort_group_clause(); - public: - void unsafe_arena_set_allocated_sort_group_clause( - ::pg_query::SortGroupClause* sort_group_clause); - ::pg_query::SortGroupClause* unsafe_arena_release_sort_group_clause(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.GroupingSet grouping_set = 201 [json_name = "GroupingSet"]; - bool has_grouping_set() const; - private: - bool _internal_has_grouping_set() const; - public: - void clear_grouping_set(); - const ::pg_query::GroupingSet& grouping_set() const; - PROTOBUF_NODISCARD ::pg_query::GroupingSet* release_grouping_set(); - ::pg_query::GroupingSet* mutable_grouping_set(); - void set_allocated_grouping_set(::pg_query::GroupingSet* grouping_set); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr tablespacename_; + bool missing_ok_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class DropSubscriptionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropSubscriptionStmt) */ { + public: + inline DropSubscriptionStmt() : DropSubscriptionStmt(nullptr) {} + ~DropSubscriptionStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropSubscriptionStmt(::google::protobuf::internal::ConstantInitialized); + + inline DropSubscriptionStmt(const DropSubscriptionStmt& from) + : DropSubscriptionStmt(nullptr, from) {} + DropSubscriptionStmt(DropSubscriptionStmt&& from) noexcept + : DropSubscriptionStmt() { + *this = ::std::move(from); + } + + inline DropSubscriptionStmt& operator=(const DropSubscriptionStmt& from) { + CopyFrom(from); + return *this; + } + inline DropSubscriptionStmt& operator=(DropSubscriptionStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DropSubscriptionStmt& default_instance() { + return *internal_default_instance(); + } + static inline const DropSubscriptionStmt* internal_default_instance() { + return reinterpret_cast( + &_DropSubscriptionStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 270; + + friend void swap(DropSubscriptionStmt& a, DropSubscriptionStmt& b) { + a.Swap(&b); + } + inline void Swap(DropSubscriptionStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DropSubscriptionStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DropSubscriptionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropSubscriptionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropSubscriptionStmt& from) { + DropSubscriptionStmt::MergeImpl(*this, from); + } private: - const ::pg_query::GroupingSet& _internal_grouping_set() const; - ::pg_query::GroupingSet* _internal_mutable_grouping_set(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_grouping_set( - ::pg_query::GroupingSet* grouping_set); - ::pg_query::GroupingSet* unsafe_arena_release_grouping_set(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.WindowClause window_clause = 202 [json_name = "WindowClause"]; - bool has_window_clause() const; private: - bool _internal_has_window_clause() const; - public: - void clear_window_clause(); - const ::pg_query::WindowClause& window_clause() const; - PROTOBUF_NODISCARD ::pg_query::WindowClause* release_window_clause(); - ::pg_query::WindowClause* mutable_window_clause(); - void set_allocated_window_clause(::pg_query::WindowClause* window_clause); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(DropSubscriptionStmt* other); + private: - const ::pg_query::WindowClause& _internal_window_clause() const; - ::pg_query::WindowClause* _internal_mutable_window_clause(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropSubscriptionStmt"; + } + protected: + explicit DropSubscriptionStmt(::google::protobuf::Arena* arena); + DropSubscriptionStmt(::google::protobuf::Arena* arena, const DropSubscriptionStmt& from); public: - void unsafe_arena_set_allocated_window_clause( - ::pg_query::WindowClause* window_clause); - ::pg_query::WindowClause* unsafe_arena_release_window_clause(); - // .pg_query.ObjectWithArgs object_with_args = 203 [json_name = "ObjectWithArgs"]; - bool has_object_with_args() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSubnameFieldNumber = 1, + kMissingOkFieldNumber = 2, + kBehaviorFieldNumber = 3, + }; + // string subname = 1 [json_name = "subname"]; + void clear_subname() ; + const std::string& subname() const; + template + void set_subname(Arg_&& arg, Args_... args); + std::string* mutable_subname(); + PROTOBUF_NODISCARD std::string* release_subname(); + void set_allocated_subname(std::string* value); + private: - bool _internal_has_object_with_args() const; + const std::string& _internal_subname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( + const std::string& value); + std::string* _internal_mutable_subname(); + public: - void clear_object_with_args(); - const ::pg_query::ObjectWithArgs& object_with_args() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_object_with_args(); - ::pg_query::ObjectWithArgs* mutable_object_with_args(); - void set_allocated_object_with_args(::pg_query::ObjectWithArgs* object_with_args); + // bool missing_ok = 2 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); + private: - const ::pg_query::ObjectWithArgs& _internal_object_with_args() const; - ::pg_query::ObjectWithArgs* _internal_mutable_object_with_args(); + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + public: - void unsafe_arena_set_allocated_object_with_args( - ::pg_query::ObjectWithArgs* object_with_args); - ::pg_query::ObjectWithArgs* unsafe_arena_release_object_with_args(); + // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // .pg_query.AccessPriv access_priv = 204 [json_name = "AccessPriv"]; - bool has_access_priv() const; private: - bool _internal_has_access_priv() const; - public: - void clear_access_priv(); - const ::pg_query::AccessPriv& access_priv() const; - PROTOBUF_NODISCARD ::pg_query::AccessPriv* release_access_priv(); - ::pg_query::AccessPriv* mutable_access_priv(); - void set_allocated_access_priv(::pg_query::AccessPriv* access_priv); - private: - const ::pg_query::AccessPriv& _internal_access_priv() const; - ::pg_query::AccessPriv* _internal_mutable_access_priv(); - public: - void unsafe_arena_set_allocated_access_priv( - ::pg_query::AccessPriv* access_priv); - ::pg_query::AccessPriv* unsafe_arena_release_access_priv(); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); - // .pg_query.CreateOpClassItem create_op_class_item = 205 [json_name = "CreateOpClassItem"]; - bool has_create_op_class_item() const; - private: - bool _internal_has_create_op_class_item() const; - public: - void clear_create_op_class_item(); - const ::pg_query::CreateOpClassItem& create_op_class_item() const; - PROTOBUF_NODISCARD ::pg_query::CreateOpClassItem* release_create_op_class_item(); - ::pg_query::CreateOpClassItem* mutable_create_op_class_item(); - void set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* create_op_class_item); - private: - const ::pg_query::CreateOpClassItem& _internal_create_op_class_item() const; - ::pg_query::CreateOpClassItem* _internal_mutable_create_op_class_item(); public: - void unsafe_arena_set_allocated_create_op_class_item( - ::pg_query::CreateOpClassItem* create_op_class_item); - ::pg_query::CreateOpClassItem* unsafe_arena_release_create_op_class_item(); + // @@protoc_insertion_point(class_scope:pg_query.DropSubscriptionStmt) + private: + class _Internal; - // .pg_query.TableLikeClause table_like_clause = 206 [json_name = "TableLikeClause"]; - bool has_table_like_clause() const; - private: - bool _internal_has_table_like_clause() const; - public: - void clear_table_like_clause(); - const ::pg_query::TableLikeClause& table_like_clause() const; - PROTOBUF_NODISCARD ::pg_query::TableLikeClause* release_table_like_clause(); - ::pg_query::TableLikeClause* mutable_table_like_clause(); - void set_allocated_table_like_clause(::pg_query::TableLikeClause* table_like_clause); - private: - const ::pg_query::TableLikeClause& _internal_table_like_clause() const; - ::pg_query::TableLikeClause* _internal_mutable_table_like_clause(); - public: - void unsafe_arena_set_allocated_table_like_clause( - ::pg_query::TableLikeClause* table_like_clause); - ::pg_query::TableLikeClause* unsafe_arena_release_table_like_clause(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 45, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.FunctionParameter function_parameter = 207 [json_name = "FunctionParameter"]; - bool has_function_parameter() const; - private: - bool _internal_has_function_parameter() const; - public: - void clear_function_parameter(); - const ::pg_query::FunctionParameter& function_parameter() const; - PROTOBUF_NODISCARD ::pg_query::FunctionParameter* release_function_parameter(); - ::pg_query::FunctionParameter* mutable_function_parameter(); - void set_allocated_function_parameter(::pg_query::FunctionParameter* function_parameter); - private: - const ::pg_query::FunctionParameter& _internal_function_parameter() const; - ::pg_query::FunctionParameter* _internal_mutable_function_parameter(); - public: - void unsafe_arena_set_allocated_function_parameter( - ::pg_query::FunctionParameter* function_parameter); - ::pg_query::FunctionParameter* unsafe_arena_release_function_parameter(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr subname_; + bool missing_ok_; + int behavior_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.LockingClause locking_clause = 208 [json_name = "LockingClause"]; - bool has_locking_clause() const; - private: - bool _internal_has_locking_clause() const; - public: - void clear_locking_clause(); - const ::pg_query::LockingClause& locking_clause() const; - PROTOBUF_NODISCARD ::pg_query::LockingClause* release_locking_clause(); - ::pg_query::LockingClause* mutable_locking_clause(); - void set_allocated_locking_clause(::pg_query::LockingClause* locking_clause); - private: - const ::pg_query::LockingClause& _internal_locking_clause() const; - ::pg_query::LockingClause* _internal_mutable_locking_clause(); - public: - void unsafe_arena_set_allocated_locking_clause( - ::pg_query::LockingClause* locking_clause); - ::pg_query::LockingClause* unsafe_arena_release_locking_clause(); +class DiscardStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DiscardStmt) */ { + public: + inline DiscardStmt() : DiscardStmt(nullptr) {} + ~DiscardStmt() override; + template + explicit PROTOBUF_CONSTEXPR DiscardStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.RowMarkClause row_mark_clause = 209 [json_name = "RowMarkClause"]; - bool has_row_mark_clause() const; - private: - bool _internal_has_row_mark_clause() const; - public: - void clear_row_mark_clause(); - const ::pg_query::RowMarkClause& row_mark_clause() const; - PROTOBUF_NODISCARD ::pg_query::RowMarkClause* release_row_mark_clause(); - ::pg_query::RowMarkClause* mutable_row_mark_clause(); - void set_allocated_row_mark_clause(::pg_query::RowMarkClause* row_mark_clause); - private: - const ::pg_query::RowMarkClause& _internal_row_mark_clause() const; - ::pg_query::RowMarkClause* _internal_mutable_row_mark_clause(); - public: - void unsafe_arena_set_allocated_row_mark_clause( - ::pg_query::RowMarkClause* row_mark_clause); - ::pg_query::RowMarkClause* unsafe_arena_release_row_mark_clause(); + inline DiscardStmt(const DiscardStmt& from) + : DiscardStmt(nullptr, from) {} + DiscardStmt(DiscardStmt&& from) noexcept + : DiscardStmt() { + *this = ::std::move(from); + } - // .pg_query.XmlSerialize xml_serialize = 210 [json_name = "XmlSerialize"]; - bool has_xml_serialize() const; - private: - bool _internal_has_xml_serialize() const; - public: - void clear_xml_serialize(); - const ::pg_query::XmlSerialize& xml_serialize() const; - PROTOBUF_NODISCARD ::pg_query::XmlSerialize* release_xml_serialize(); - ::pg_query::XmlSerialize* mutable_xml_serialize(); - void set_allocated_xml_serialize(::pg_query::XmlSerialize* xml_serialize); - private: - const ::pg_query::XmlSerialize& _internal_xml_serialize() const; - ::pg_query::XmlSerialize* _internal_mutable_xml_serialize(); - public: - void unsafe_arena_set_allocated_xml_serialize( - ::pg_query::XmlSerialize* xml_serialize); - ::pg_query::XmlSerialize* unsafe_arena_release_xml_serialize(); + inline DiscardStmt& operator=(const DiscardStmt& from) { + CopyFrom(from); + return *this; + } + inline DiscardStmt& operator=(DiscardStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.WithClause with_clause = 211 [json_name = "WithClause"]; - bool has_with_clause() const; - private: - bool _internal_has_with_clause() const; - public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); - private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); - public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // .pg_query.InferClause infer_clause = 212 [json_name = "InferClause"]; - bool has_infer_clause() const; - private: - bool _internal_has_infer_clause() const; - public: - void clear_infer_clause(); - const ::pg_query::InferClause& infer_clause() const; - PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer_clause(); - ::pg_query::InferClause* mutable_infer_clause(); - void set_allocated_infer_clause(::pg_query::InferClause* infer_clause); - private: - const ::pg_query::InferClause& _internal_infer_clause() const; - ::pg_query::InferClause* _internal_mutable_infer_clause(); - public: - void unsafe_arena_set_allocated_infer_clause( - ::pg_query::InferClause* infer_clause); - ::pg_query::InferClause* unsafe_arena_release_infer_clause(); + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DiscardStmt& default_instance() { + return *internal_default_instance(); + } + static inline const DiscardStmt* internal_default_instance() { + return reinterpret_cast( + &_DiscardStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 250; - // .pg_query.OnConflictClause on_conflict_clause = 213 [json_name = "OnConflictClause"]; - bool has_on_conflict_clause() const; - private: - bool _internal_has_on_conflict_clause() const; - public: - void clear_on_conflict_clause(); - const ::pg_query::OnConflictClause& on_conflict_clause() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); - ::pg_query::OnConflictClause* mutable_on_conflict_clause(); - void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause); - private: - const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; - ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); - public: - void unsafe_arena_set_allocated_on_conflict_clause( - ::pg_query::OnConflictClause* on_conflict_clause); - ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); + friend void swap(DiscardStmt& a, DiscardStmt& b) { + a.Swap(&b); + } + inline void Swap(DiscardStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DiscardStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // .pg_query.CTESearchClause ctesearch_clause = 214 [json_name = "CTESearchClause"]; - bool has_ctesearch_clause() const; - private: - bool _internal_has_ctesearch_clause() const; - public: - void clear_ctesearch_clause(); - const ::pg_query::CTESearchClause& ctesearch_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_ctesearch_clause(); - ::pg_query::CTESearchClause* mutable_ctesearch_clause(); - void set_allocated_ctesearch_clause(::pg_query::CTESearchClause* ctesearch_clause); - private: - const ::pg_query::CTESearchClause& _internal_ctesearch_clause() const; - ::pg_query::CTESearchClause* _internal_mutable_ctesearch_clause(); - public: - void unsafe_arena_set_allocated_ctesearch_clause( - ::pg_query::CTESearchClause* ctesearch_clause); - ::pg_query::CTESearchClause* unsafe_arena_release_ctesearch_clause(); + // implements Message ---------------------------------------------- - // .pg_query.CTECycleClause ctecycle_clause = 215 [json_name = "CTECycleClause"]; - bool has_ctecycle_clause() const; - private: - bool _internal_has_ctecycle_clause() const; - public: - void clear_ctecycle_clause(); - const ::pg_query::CTECycleClause& ctecycle_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_ctecycle_clause(); - ::pg_query::CTECycleClause* mutable_ctecycle_clause(); - void set_allocated_ctecycle_clause(::pg_query::CTECycleClause* ctecycle_clause); + DiscardStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DiscardStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DiscardStmt& from) { + DiscardStmt::MergeImpl(*this, from); + } private: - const ::pg_query::CTECycleClause& _internal_ctecycle_clause() const; - ::pg_query::CTECycleClause* _internal_mutable_ctecycle_clause(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_ctecycle_clause( - ::pg_query::CTECycleClause* ctecycle_clause); - ::pg_query::CTECycleClause* unsafe_arena_release_ctecycle_clause(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // .pg_query.CommonTableExpr common_table_expr = 216 [json_name = "CommonTableExpr"]; - bool has_common_table_expr() const; - private: - bool _internal_has_common_table_expr() const; - public: - void clear_common_table_expr(); - const ::pg_query::CommonTableExpr& common_table_expr() const; - PROTOBUF_NODISCARD ::pg_query::CommonTableExpr* release_common_table_expr(); - ::pg_query::CommonTableExpr* mutable_common_table_expr(); - void set_allocated_common_table_expr(::pg_query::CommonTableExpr* common_table_expr); - private: - const ::pg_query::CommonTableExpr& _internal_common_table_expr() const; - ::pg_query::CommonTableExpr* _internal_mutable_common_table_expr(); - public: - void unsafe_arena_set_allocated_common_table_expr( - ::pg_query::CommonTableExpr* common_table_expr); - ::pg_query::CommonTableExpr* unsafe_arena_release_common_table_expr(); + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.MergeWhenClause merge_when_clause = 217 [json_name = "MergeWhenClause"]; - bool has_merge_when_clause() const; - private: - bool _internal_has_merge_when_clause() const; - public: - void clear_merge_when_clause(); - const ::pg_query::MergeWhenClause& merge_when_clause() const; - PROTOBUF_NODISCARD ::pg_query::MergeWhenClause* release_merge_when_clause(); - ::pg_query::MergeWhenClause* mutable_merge_when_clause(); - void set_allocated_merge_when_clause(::pg_query::MergeWhenClause* merge_when_clause); private: - const ::pg_query::MergeWhenClause& _internal_merge_when_clause() const; - ::pg_query::MergeWhenClause* _internal_mutable_merge_when_clause(); - public: - void unsafe_arena_set_allocated_merge_when_clause( - ::pg_query::MergeWhenClause* merge_when_clause); - ::pg_query::MergeWhenClause* unsafe_arena_release_merge_when_clause(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(DiscardStmt* other); - // .pg_query.RoleSpec role_spec = 218 [json_name = "RoleSpec"]; - bool has_role_spec() const; - private: - bool _internal_has_role_spec() const; - public: - void clear_role_spec(); - const ::pg_query::RoleSpec& role_spec() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role_spec(); - ::pg_query::RoleSpec* mutable_role_spec(); - void set_allocated_role_spec(::pg_query::RoleSpec* role_spec); private: - const ::pg_query::RoleSpec& _internal_role_spec() const; - ::pg_query::RoleSpec* _internal_mutable_role_spec(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DiscardStmt"; + } + protected: + explicit DiscardStmt(::google::protobuf::Arena* arena); + DiscardStmt(::google::protobuf::Arena* arena, const DiscardStmt& from); public: - void unsafe_arena_set_allocated_role_spec( - ::pg_query::RoleSpec* role_spec); - ::pg_query::RoleSpec* unsafe_arena_release_role_spec(); - // .pg_query.TriggerTransition trigger_transition = 219 [json_name = "TriggerTransition"]; - bool has_trigger_transition() const; - private: - bool _internal_has_trigger_transition() const; - public: - void clear_trigger_transition(); - const ::pg_query::TriggerTransition& trigger_transition() const; - PROTOBUF_NODISCARD ::pg_query::TriggerTransition* release_trigger_transition(); - ::pg_query::TriggerTransition* mutable_trigger_transition(); - void set_allocated_trigger_transition(::pg_query::TriggerTransition* trigger_transition); - private: - const ::pg_query::TriggerTransition& _internal_trigger_transition() const; - ::pg_query::TriggerTransition* _internal_mutable_trigger_transition(); - public: - void unsafe_arena_set_allocated_trigger_transition( - ::pg_query::TriggerTransition* trigger_transition); - ::pg_query::TriggerTransition* unsafe_arena_release_trigger_transition(); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // .pg_query.PartitionElem partition_elem = 220 [json_name = "PartitionElem"]; - bool has_partition_elem() const; - private: - bool _internal_has_partition_elem() const; - public: - void clear_partition_elem(); - const ::pg_query::PartitionElem& partition_elem() const; - PROTOBUF_NODISCARD ::pg_query::PartitionElem* release_partition_elem(); - ::pg_query::PartitionElem* mutable_partition_elem(); - void set_allocated_partition_elem(::pg_query::PartitionElem* partition_elem); - private: - const ::pg_query::PartitionElem& _internal_partition_elem() const; - ::pg_query::PartitionElem* _internal_mutable_partition_elem(); - public: - void unsafe_arena_set_allocated_partition_elem( - ::pg_query::PartitionElem* partition_elem); - ::pg_query::PartitionElem* unsafe_arena_release_partition_elem(); + ::google::protobuf::Metadata GetMetadata() const final; - // .pg_query.PartitionSpec partition_spec = 221 [json_name = "PartitionSpec"]; - bool has_partition_spec() const; - private: - bool _internal_has_partition_spec() const; - public: - void clear_partition_spec(); - const ::pg_query::PartitionSpec& partition_spec() const; - PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partition_spec(); - ::pg_query::PartitionSpec* mutable_partition_spec(); - void set_allocated_partition_spec(::pg_query::PartitionSpec* partition_spec); - private: - const ::pg_query::PartitionSpec& _internal_partition_spec() const; - ::pg_query::PartitionSpec* _internal_mutable_partition_spec(); - public: - void unsafe_arena_set_allocated_partition_spec( - ::pg_query::PartitionSpec* partition_spec); - ::pg_query::PartitionSpec* unsafe_arena_release_partition_spec(); + // nested types ---------------------------------------------------- - // .pg_query.PartitionBoundSpec partition_bound_spec = 222 [json_name = "PartitionBoundSpec"]; - bool has_partition_bound_spec() const; - private: - bool _internal_has_partition_bound_spec() const; - public: - void clear_partition_bound_spec(); - const ::pg_query::PartitionBoundSpec& partition_bound_spec() const; - PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partition_bound_spec(); - ::pg_query::PartitionBoundSpec* mutable_partition_bound_spec(); - void set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* partition_bound_spec); - private: - const ::pg_query::PartitionBoundSpec& _internal_partition_bound_spec() const; - ::pg_query::PartitionBoundSpec* _internal_mutable_partition_bound_spec(); - public: - void unsafe_arena_set_allocated_partition_bound_spec( - ::pg_query::PartitionBoundSpec* partition_bound_spec); - ::pg_query::PartitionBoundSpec* unsafe_arena_release_partition_bound_spec(); + // accessors ------------------------------------------------------- - // .pg_query.PartitionRangeDatum partition_range_datum = 223 [json_name = "PartitionRangeDatum"]; - bool has_partition_range_datum() const; - private: - bool _internal_has_partition_range_datum() const; - public: - void clear_partition_range_datum(); - const ::pg_query::PartitionRangeDatum& partition_range_datum() const; - PROTOBUF_NODISCARD ::pg_query::PartitionRangeDatum* release_partition_range_datum(); - ::pg_query::PartitionRangeDatum* mutable_partition_range_datum(); - void set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* partition_range_datum); - private: - const ::pg_query::PartitionRangeDatum& _internal_partition_range_datum() const; - ::pg_query::PartitionRangeDatum* _internal_mutable_partition_range_datum(); - public: - void unsafe_arena_set_allocated_partition_range_datum( - ::pg_query::PartitionRangeDatum* partition_range_datum); - ::pg_query::PartitionRangeDatum* unsafe_arena_release_partition_range_datum(); + enum : int { + kTargetFieldNumber = 1, + }; + // .pg_query.DiscardMode target = 1 [json_name = "target"]; + void clear_target() ; + ::pg_query::DiscardMode target() const; + void set_target(::pg_query::DiscardMode value); - // .pg_query.PartitionCmd partition_cmd = 224 [json_name = "PartitionCmd"]; - bool has_partition_cmd() const; - private: - bool _internal_has_partition_cmd() const; - public: - void clear_partition_cmd(); - const ::pg_query::PartitionCmd& partition_cmd() const; - PROTOBUF_NODISCARD ::pg_query::PartitionCmd* release_partition_cmd(); - ::pg_query::PartitionCmd* mutable_partition_cmd(); - void set_allocated_partition_cmd(::pg_query::PartitionCmd* partition_cmd); private: - const ::pg_query::PartitionCmd& _internal_partition_cmd() const; - ::pg_query::PartitionCmd* _internal_mutable_partition_cmd(); - public: - void unsafe_arena_set_allocated_partition_cmd( - ::pg_query::PartitionCmd* partition_cmd); - ::pg_query::PartitionCmd* unsafe_arena_release_partition_cmd(); + ::pg_query::DiscardMode _internal_target() const; + void _internal_set_target(::pg_query::DiscardMode value); - // .pg_query.VacuumRelation vacuum_relation = 225 [json_name = "VacuumRelation"]; - bool has_vacuum_relation() const; - private: - bool _internal_has_vacuum_relation() const; public: - void clear_vacuum_relation(); - const ::pg_query::VacuumRelation& vacuum_relation() const; - PROTOBUF_NODISCARD ::pg_query::VacuumRelation* release_vacuum_relation(); - ::pg_query::VacuumRelation* mutable_vacuum_relation(); - void set_allocated_vacuum_relation(::pg_query::VacuumRelation* vacuum_relation); - private: - const ::pg_query::VacuumRelation& _internal_vacuum_relation() const; - ::pg_query::VacuumRelation* _internal_mutable_vacuum_relation(); - public: - void unsafe_arena_set_allocated_vacuum_relation( - ::pg_query::VacuumRelation* vacuum_relation); - ::pg_query::VacuumRelation* unsafe_arena_release_vacuum_relation(); + // @@protoc_insertion_point(class_scope:pg_query.DiscardStmt) + private: + class _Internal; - // .pg_query.PublicationObjSpec publication_obj_spec = 226 [json_name = "PublicationObjSpec"]; - bool has_publication_obj_spec() const; - private: - bool _internal_has_publication_obj_spec() const; - public: - void clear_publication_obj_spec(); - const ::pg_query::PublicationObjSpec& publication_obj_spec() const; - PROTOBUF_NODISCARD ::pg_query::PublicationObjSpec* release_publication_obj_spec(); - ::pg_query::PublicationObjSpec* mutable_publication_obj_spec(); - void set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* publication_obj_spec); - private: - const ::pg_query::PublicationObjSpec& _internal_publication_obj_spec() const; - ::pg_query::PublicationObjSpec* _internal_mutable_publication_obj_spec(); - public: - void unsafe_arena_set_allocated_publication_obj_spec( - ::pg_query::PublicationObjSpec* publication_obj_spec); - ::pg_query::PublicationObjSpec* unsafe_arena_release_publication_obj_spec(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.PublicationTable publication_table = 227 [json_name = "PublicationTable"]; - bool has_publication_table() const; - private: - bool _internal_has_publication_table() const; - public: - void clear_publication_table(); - const ::pg_query::PublicationTable& publication_table() const; - PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_publication_table(); - ::pg_query::PublicationTable* mutable_publication_table(); - void set_allocated_publication_table(::pg_query::PublicationTable* publication_table); - private: - const ::pg_query::PublicationTable& _internal_publication_table() const; - ::pg_query::PublicationTable* _internal_mutable_publication_table(); - public: - void unsafe_arena_set_allocated_publication_table( - ::pg_query::PublicationTable* publication_table); - ::pg_query::PublicationTable* unsafe_arena_release_publication_table(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + int target_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.InlineCodeBlock inline_code_block = 228 [json_name = "InlineCodeBlock"]; - bool has_inline_code_block() const; - private: - bool _internal_has_inline_code_block() const; - public: - void clear_inline_code_block(); - const ::pg_query::InlineCodeBlock& inline_code_block() const; - PROTOBUF_NODISCARD ::pg_query::InlineCodeBlock* release_inline_code_block(); - ::pg_query::InlineCodeBlock* mutable_inline_code_block(); - void set_allocated_inline_code_block(::pg_query::InlineCodeBlock* inline_code_block); +class DeallocateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DeallocateStmt) */ { + public: + inline DeallocateStmt() : DeallocateStmt(nullptr) {} + ~DeallocateStmt() override; + template + explicit PROTOBUF_CONSTEXPR DeallocateStmt(::google::protobuf::internal::ConstantInitialized); + + inline DeallocateStmt(const DeallocateStmt& from) + : DeallocateStmt(nullptr, from) {} + DeallocateStmt(DeallocateStmt&& from) noexcept + : DeallocateStmt() { + *this = ::std::move(from); + } + + inline DeallocateStmt& operator=(const DeallocateStmt& from) { + CopyFrom(from); + return *this; + } + inline DeallocateStmt& operator=(DeallocateStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const DeallocateStmt& default_instance() { + return *internal_default_instance(); + } + static inline const DeallocateStmt* internal_default_instance() { + return reinterpret_cast( + &_DeallocateStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 259; + + friend void swap(DeallocateStmt& a, DeallocateStmt& b) { + a.Swap(&b); + } + inline void Swap(DeallocateStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(DeallocateStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + DeallocateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DeallocateStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DeallocateStmt& from) { + DeallocateStmt::MergeImpl(*this, from); + } private: - const ::pg_query::InlineCodeBlock& _internal_inline_code_block() const; - ::pg_query::InlineCodeBlock* _internal_mutable_inline_code_block(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void unsafe_arena_set_allocated_inline_code_block( - ::pg_query::InlineCodeBlock* inline_code_block); - ::pg_query::InlineCodeBlock* unsafe_arena_release_inline_code_block(); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.CallContext call_context = 229 [json_name = "CallContext"]; - bool has_call_context() const; private: - bool _internal_has_call_context() const; - public: - void clear_call_context(); - const ::pg_query::CallContext& call_context() const; - PROTOBUF_NODISCARD ::pg_query::CallContext* release_call_context(); - ::pg_query::CallContext* mutable_call_context(); - void set_allocated_call_context(::pg_query::CallContext* call_context); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(DeallocateStmt* other); + private: - const ::pg_query::CallContext& _internal_call_context() const; - ::pg_query::CallContext* _internal_mutable_call_context(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DeallocateStmt"; + } + protected: + explicit DeallocateStmt(::google::protobuf::Arena* arena); + DeallocateStmt(::google::protobuf::Arena* arena, const DeallocateStmt& from); public: - void unsafe_arena_set_allocated_call_context( - ::pg_query::CallContext* call_context); - ::pg_query::CallContext* unsafe_arena_release_call_context(); - // .pg_query.Integer integer = 230 [json_name = "Integer"]; - bool has_integer() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kIsallFieldNumber = 2, + kLocationFieldNumber = 3, + }; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - bool _internal_has_integer() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_integer(); - const ::pg_query::Integer& integer() const; - PROTOBUF_NODISCARD ::pg_query::Integer* release_integer(); - ::pg_query::Integer* mutable_integer(); - void set_allocated_integer(::pg_query::Integer* integer); + // bool isall = 2 [json_name = "isall"]; + void clear_isall() ; + bool isall() const; + void set_isall(bool value); + private: - const ::pg_query::Integer& _internal_integer() const; - ::pg_query::Integer* _internal_mutable_integer(); + bool _internal_isall() const; + void _internal_set_isall(bool value); + public: - void unsafe_arena_set_allocated_integer( - ::pg_query::Integer* integer); - ::pg_query::Integer* unsafe_arena_release_integer(); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.Float float = 231 [json_name = "Float"]; - bool has_float_() const; private: - bool _internal_has_float_() const; + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: - void clear_float_(); - const ::pg_query::Float& float_() const; - PROTOBUF_NODISCARD ::pg_query::Float* release_float_(); - ::pg_query::Float* mutable_float_(); - void set_allocated_float_(::pg_query::Float* float_); - private: - const ::pg_query::Float& _internal_float_() const; - ::pg_query::Float* _internal_mutable_float_(); - public: - void unsafe_arena_set_allocated_float_( - ::pg_query::Float* float_); - ::pg_query::Float* unsafe_arena_release_float_(); + // @@protoc_insertion_point(class_scope:pg_query.DeallocateStmt) + private: + class _Internal; - // .pg_query.Boolean boolean = 232 [json_name = "Boolean"]; - bool has_boolean() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 36, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr name_; + bool isall_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class ClosePortalStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ClosePortalStmt) */ { + public: + inline ClosePortalStmt() : ClosePortalStmt(nullptr) {} + ~ClosePortalStmt() override; + template + explicit PROTOBUF_CONSTEXPR ClosePortalStmt(::google::protobuf::internal::ConstantInitialized); + + inline ClosePortalStmt(const ClosePortalStmt& from) + : ClosePortalStmt(nullptr, from) {} + ClosePortalStmt(ClosePortalStmt&& from) noexcept + : ClosePortalStmt() { + *this = ::std::move(from); + } + + inline ClosePortalStmt& operator=(const ClosePortalStmt& from) { + CopyFrom(from); + return *this; + } + inline ClosePortalStmt& operator=(ClosePortalStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ClosePortalStmt& default_instance() { + return *internal_default_instance(); + } + static inline const ClosePortalStmt* internal_default_instance() { + return reinterpret_cast( + &_ClosePortalStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 207; + + friend void swap(ClosePortalStmt& a, ClosePortalStmt& b) { + a.Swap(&b); + } + inline void Swap(ClosePortalStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ClosePortalStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ClosePortalStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ClosePortalStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ClosePortalStmt& from) { + ClosePortalStmt::MergeImpl(*this, from); + } private: - bool _internal_has_boolean() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_boolean(); - const ::pg_query::Boolean& boolean() const; - PROTOBUF_NODISCARD ::pg_query::Boolean* release_boolean(); - ::pg_query::Boolean* mutable_boolean(); - void set_allocated_boolean(::pg_query::Boolean* boolean); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::Boolean& _internal_boolean() const; - ::pg_query::Boolean* _internal_mutable_boolean(); - public: - void unsafe_arena_set_allocated_boolean( - ::pg_query::Boolean* boolean); - ::pg_query::Boolean* unsafe_arena_release_boolean(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(ClosePortalStmt* other); - // .pg_query.String string = 233 [json_name = "String"]; - bool has_string() const; private: - bool _internal_has_string() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ClosePortalStmt"; + } + protected: + explicit ClosePortalStmt(::google::protobuf::Arena* arena); + ClosePortalStmt(::google::protobuf::Arena* arena, const ClosePortalStmt& from); public: - void clear_string(); - const ::pg_query::String& string() const; - PROTOBUF_NODISCARD ::pg_query::String* release_string(); - ::pg_query::String* mutable_string(); - void set_allocated_string(::pg_query::String* string); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPortalnameFieldNumber = 1, + }; + // string portalname = 1 [json_name = "portalname"]; + void clear_portalname() ; + const std::string& portalname() const; + template + void set_portalname(Arg_&& arg, Args_... args); + std::string* mutable_portalname(); + PROTOBUF_NODISCARD std::string* release_portalname(); + void set_allocated_portalname(std::string* value); + private: - const ::pg_query::String& _internal_string() const; - ::pg_query::String* _internal_mutable_string(); + const std::string& _internal_portalname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname( + const std::string& value); + std::string* _internal_mutable_portalname(); + public: - void unsafe_arena_set_allocated_string( - ::pg_query::String* string); - ::pg_query::String* unsafe_arena_release_string(); + // @@protoc_insertion_point(class_scope:pg_query.ClosePortalStmt) + private: + class _Internal; - // .pg_query.BitString bit_string = 234 [json_name = "BitString"]; - bool has_bit_string() const; - private: - bool _internal_has_bit_string() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr portalname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class CheckPointStmt final : + public ::google::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.CheckPointStmt) */ { + public: + inline CheckPointStmt() : CheckPointStmt(nullptr) {} + template + explicit PROTOBUF_CONSTEXPR CheckPointStmt(::google::protobuf::internal::ConstantInitialized); + + inline CheckPointStmt(const CheckPointStmt& from) + : CheckPointStmt(nullptr, from) {} + CheckPointStmt(CheckPointStmt&& from) noexcept + : CheckPointStmt() { + *this = ::std::move(from); + } + + inline CheckPointStmt& operator=(const CheckPointStmt& from) { + CopyFrom(from); + return *this; + } + inline CheckPointStmt& operator=(CheckPointStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CheckPointStmt& default_instance() { + return *internal_default_instance(); + } + static inline const CheckPointStmt* internal_default_instance() { + return reinterpret_cast( + &_CheckPointStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 249; + + friend void swap(CheckPointStmt& a, CheckPointStmt& b) { + a.Swap(&b); + } + inline void Swap(CheckPointStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CheckPointStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CheckPointStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const CheckPointStmt& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const CheckPointStmt& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); + } public: - void clear_bit_string(); - const ::pg_query::BitString& bit_string() const; - PROTOBUF_NODISCARD ::pg_query::BitString* release_bit_string(); - ::pg_query::BitString* mutable_bit_string(); - void set_allocated_bit_string(::pg_query::BitString* bit_string); + private: - const ::pg_query::BitString& _internal_bit_string() const; - ::pg_query::BitString* _internal_mutable_bit_string(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CheckPointStmt"; + } + protected: + explicit CheckPointStmt(::google::protobuf::Arena* arena); + CheckPointStmt(::google::protobuf::Arena* arena, const CheckPointStmt& from); public: - void unsafe_arena_set_allocated_bit_string( - ::pg_query::BitString* bit_string); - ::pg_query::BitString* unsafe_arena_release_bit_string(); - // .pg_query.List list = 235 [json_name = "List"]; - bool has_list() const; + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // @@protoc_insertion_point(class_scope:pg_query.CheckPointStmt) + private: + class _Internal; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + PROTOBUF_TSAN_DECLARE_MEMBER + }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class CallContext final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CallContext) */ { + public: + inline CallContext() : CallContext(nullptr) {} + ~CallContext() override; + template + explicit PROTOBUF_CONSTEXPR CallContext(::google::protobuf::internal::ConstantInitialized); + + inline CallContext(const CallContext& from) + : CallContext(nullptr, from) {} + CallContext(CallContext&& from) noexcept + : CallContext() { + *this = ::std::move(from); + } + + inline CallContext& operator=(const CallContext& from) { + CopyFrom(from); + return *this; + } + inline CallContext& operator=(CallContext&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CallContext& default_instance() { + return *internal_default_instance(); + } + static inline const CallContext* internal_default_instance() { + return reinterpret_cast( + &_CallContext_default_instance_); + } + static constexpr int kIndexInFileMessages = + 219; + + friend void swap(CallContext& a, CallContext& b) { + a.Swap(&b); + } + inline void Swap(CallContext* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CallContext* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CallContext* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CallContext& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CallContext& from) { + CallContext::MergeImpl(*this, from); + } private: - bool _internal_has_list() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_list(); - const ::pg_query::List& list() const; - PROTOBUF_NODISCARD ::pg_query::List* release_list(); - ::pg_query::List* mutable_list(); - void set_allocated_list(::pg_query::List* list); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::List& _internal_list() const; - ::pg_query::List* _internal_mutable_list(); - public: - void unsafe_arena_set_allocated_list( - ::pg_query::List* list); - ::pg_query::List* unsafe_arena_release_list(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(CallContext* other); - // .pg_query.IntList int_list = 236 [json_name = "IntList"]; - bool has_int_list() const; private: - bool _internal_has_int_list() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CallContext"; + } + protected: + explicit CallContext(::google::protobuf::Arena* arena); + CallContext(::google::protobuf::Arena* arena, const CallContext& from); public: - void clear_int_list(); - const ::pg_query::IntList& int_list() const; - PROTOBUF_NODISCARD ::pg_query::IntList* release_int_list(); - ::pg_query::IntList* mutable_int_list(); - void set_allocated_int_list(::pg_query::IntList* int_list); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAtomicFieldNumber = 1, + }; + // bool atomic = 1 [json_name = "atomic"]; + void clear_atomic() ; + bool atomic() const; + void set_atomic(bool value); + private: - const ::pg_query::IntList& _internal_int_list() const; - ::pg_query::IntList* _internal_mutable_int_list(); + bool _internal_atomic() const; + void _internal_set_atomic(bool value); + public: - void unsafe_arena_set_allocated_int_list( - ::pg_query::IntList* int_list); - ::pg_query::IntList* unsafe_arena_release_int_list(); + // @@protoc_insertion_point(class_scope:pg_query.CallContext) + private: + class _Internal; - // .pg_query.OidList oid_list = 237 [json_name = "OidList"]; - bool has_oid_list() const; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + bool atomic_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class Boolean final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Boolean) */ { + public: + inline Boolean() : Boolean(nullptr) {} + ~Boolean() override; + template + explicit PROTOBUF_CONSTEXPR Boolean(::google::protobuf::internal::ConstantInitialized); + + inline Boolean(const Boolean& from) + : Boolean(nullptr, from) {} + Boolean(Boolean&& from) noexcept + : Boolean() { + *this = ::std::move(from); + } + + inline Boolean& operator=(const Boolean& from) { + CopyFrom(from); + return *this; + } + inline Boolean& operator=(Boolean&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Boolean& default_instance() { + return *internal_default_instance(); + } + static inline const Boolean* internal_default_instance() { + return reinterpret_cast( + &_Boolean_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(Boolean& a, Boolean& b) { + a.Swap(&b); + } + inline void Swap(Boolean* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Boolean* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Boolean* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Boolean& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Boolean& from) { + Boolean::MergeImpl(*this, from); + } private: - bool _internal_has_oid_list() const; + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - void clear_oid_list(); - const ::pg_query::OidList& oid_list() const; - PROTOBUF_NODISCARD ::pg_query::OidList* release_oid_list(); - ::pg_query::OidList* mutable_oid_list(); - void set_allocated_oid_list(::pg_query::OidList* oid_list); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + private: - const ::pg_query::OidList& _internal_oid_list() const; - ::pg_query::OidList* _internal_mutable_oid_list(); - public: - void unsafe_arena_set_allocated_oid_list( - ::pg_query::OidList* oid_list); - ::pg_query::OidList* unsafe_arena_release_oid_list(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Boolean* other); - // .pg_query.A_Const a_const = 238 [json_name = "A_Const"]; - bool has_a_const() const; private: - bool _internal_has_a_const() const; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Boolean"; + } + protected: + explicit Boolean(::google::protobuf::Arena* arena); + Boolean(::google::protobuf::Arena* arena, const Boolean& from); public: - void clear_a_const(); - const ::pg_query::A_Const& a_const() const; - PROTOBUF_NODISCARD ::pg_query::A_Const* release_a_const(); - ::pg_query::A_Const* mutable_a_const(); - void set_allocated_a_const(::pg_query::A_Const* a_const); + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kBoolvalFieldNumber = 1, + }; + // bool boolval = 1; + void clear_boolval() ; + bool boolval() const; + void set_boolval(bool value); + private: - const ::pg_query::A_Const& _internal_a_const() const; - ::pg_query::A_Const* _internal_mutable_a_const(); - public: - void unsafe_arena_set_allocated_a_const( - ::pg_query::A_Const* a_const); - ::pg_query::A_Const* unsafe_arena_release_a_const(); + bool _internal_boolval() const; + void _internal_set_boolval(bool value); - void clear_node(); - NodeCase node_case() const; - // @@protoc_insertion_point(class_scope:pg_query.Node) + public: + // @@protoc_insertion_point(class_scope:pg_query.Boolean) private: class _Internal; - void set_has_alias(); - void set_has_range_var(); - void set_has_table_func(); - void set_has_var(); - void set_has_param(); - void set_has_aggref(); - void set_has_grouping_func(); - void set_has_window_func(); - void set_has_subscripting_ref(); - void set_has_func_expr(); - void set_has_named_arg_expr(); - void set_has_op_expr(); - void set_has_distinct_expr(); - void set_has_null_if_expr(); - void set_has_scalar_array_op_expr(); - void set_has_bool_expr(); - void set_has_sub_link(); - void set_has_sub_plan(); - void set_has_alternative_sub_plan(); - void set_has_field_select(); - void set_has_field_store(); - void set_has_relabel_type(); - void set_has_coerce_via_io(); - void set_has_array_coerce_expr(); - void set_has_convert_rowtype_expr(); - void set_has_collate_expr(); - void set_has_case_expr(); - void set_has_case_when(); - void set_has_case_test_expr(); - void set_has_array_expr(); - void set_has_row_expr(); - void set_has_row_compare_expr(); - void set_has_coalesce_expr(); - void set_has_min_max_expr(); - void set_has_sqlvalue_function(); - void set_has_xml_expr(); - void set_has_null_test(); - void set_has_boolean_test(); - void set_has_coerce_to_domain(); - void set_has_coerce_to_domain_value(); - void set_has_set_to_default(); - void set_has_current_of_expr(); - void set_has_next_value_expr(); - void set_has_inference_elem(); - void set_has_target_entry(); - void set_has_range_tbl_ref(); - void set_has_join_expr(); - void set_has_from_expr(); - void set_has_on_conflict_expr(); - void set_has_into_clause(); - void set_has_merge_action(); - void set_has_raw_stmt(); - void set_has_query(); - void set_has_insert_stmt(); - void set_has_delete_stmt(); - void set_has_update_stmt(); - void set_has_merge_stmt(); - void set_has_select_stmt(); - void set_has_return_stmt(); - void set_has_plassign_stmt(); - void set_has_alter_table_stmt(); - void set_has_alter_table_cmd(); - void set_has_alter_domain_stmt(); - void set_has_set_operation_stmt(); - void set_has_grant_stmt(); - void set_has_grant_role_stmt(); - void set_has_alter_default_privileges_stmt(); - void set_has_close_portal_stmt(); - void set_has_cluster_stmt(); - void set_has_copy_stmt(); - void set_has_create_stmt(); - void set_has_define_stmt(); - void set_has_drop_stmt(); - void set_has_truncate_stmt(); - void set_has_comment_stmt(); - void set_has_fetch_stmt(); - void set_has_index_stmt(); - void set_has_create_function_stmt(); - void set_has_alter_function_stmt(); - void set_has_do_stmt(); - void set_has_rename_stmt(); - void set_has_rule_stmt(); - void set_has_notify_stmt(); - void set_has_listen_stmt(); - void set_has_unlisten_stmt(); - void set_has_transaction_stmt(); - void set_has_view_stmt(); - void set_has_load_stmt(); - void set_has_create_domain_stmt(); - void set_has_createdb_stmt(); - void set_has_dropdb_stmt(); - void set_has_vacuum_stmt(); - void set_has_explain_stmt(); - void set_has_create_table_as_stmt(); - void set_has_create_seq_stmt(); - void set_has_alter_seq_stmt(); - void set_has_variable_set_stmt(); - void set_has_variable_show_stmt(); - void set_has_discard_stmt(); - void set_has_create_trig_stmt(); - void set_has_create_plang_stmt(); - void set_has_create_role_stmt(); - void set_has_alter_role_stmt(); - void set_has_drop_role_stmt(); - void set_has_lock_stmt(); - void set_has_constraints_set_stmt(); - void set_has_reindex_stmt(); - void set_has_check_point_stmt(); - void set_has_create_schema_stmt(); - void set_has_alter_database_stmt(); - void set_has_alter_database_refresh_coll_stmt(); - void set_has_alter_database_set_stmt(); - void set_has_alter_role_set_stmt(); - void set_has_create_conversion_stmt(); - void set_has_create_cast_stmt(); - void set_has_create_op_class_stmt(); - void set_has_create_op_family_stmt(); - void set_has_alter_op_family_stmt(); - void set_has_prepare_stmt(); - void set_has_execute_stmt(); - void set_has_deallocate_stmt(); - void set_has_declare_cursor_stmt(); - void set_has_create_table_space_stmt(); - void set_has_drop_table_space_stmt(); - void set_has_alter_object_depends_stmt(); - void set_has_alter_object_schema_stmt(); - void set_has_alter_owner_stmt(); - void set_has_alter_operator_stmt(); - void set_has_alter_type_stmt(); - void set_has_drop_owned_stmt(); - void set_has_reassign_owned_stmt(); - void set_has_composite_type_stmt(); - void set_has_create_enum_stmt(); - void set_has_create_range_stmt(); - void set_has_alter_enum_stmt(); - void set_has_alter_tsdictionary_stmt(); - void set_has_alter_tsconfiguration_stmt(); - void set_has_create_fdw_stmt(); - void set_has_alter_fdw_stmt(); - void set_has_create_foreign_server_stmt(); - void set_has_alter_foreign_server_stmt(); - void set_has_create_user_mapping_stmt(); - void set_has_alter_user_mapping_stmt(); - void set_has_drop_user_mapping_stmt(); - void set_has_alter_table_space_options_stmt(); - void set_has_alter_table_move_all_stmt(); - void set_has_sec_label_stmt(); - void set_has_create_foreign_table_stmt(); - void set_has_import_foreign_schema_stmt(); - void set_has_create_extension_stmt(); - void set_has_alter_extension_stmt(); - void set_has_alter_extension_contents_stmt(); - void set_has_create_event_trig_stmt(); - void set_has_alter_event_trig_stmt(); - void set_has_refresh_mat_view_stmt(); - void set_has_replica_identity_stmt(); - void set_has_alter_system_stmt(); - void set_has_create_policy_stmt(); - void set_has_alter_policy_stmt(); - void set_has_create_transform_stmt(); - void set_has_create_am_stmt(); - void set_has_create_publication_stmt(); - void set_has_alter_publication_stmt(); - void set_has_create_subscription_stmt(); - void set_has_alter_subscription_stmt(); - void set_has_drop_subscription_stmt(); - void set_has_create_stats_stmt(); - void set_has_alter_collation_stmt(); - void set_has_call_stmt(); - void set_has_alter_stats_stmt(); - void set_has_a_expr(); - void set_has_column_ref(); - void set_has_param_ref(); - void set_has_func_call(); - void set_has_a_star(); - void set_has_a_indices(); - void set_has_a_indirection(); - void set_has_a_array_expr(); - void set_has_res_target(); - void set_has_multi_assign_ref(); - void set_has_type_cast(); - void set_has_collate_clause(); - void set_has_sort_by(); - void set_has_window_def(); - void set_has_range_subselect(); - void set_has_range_function(); - void set_has_range_table_sample(); - void set_has_range_table_func(); - void set_has_range_table_func_col(); - void set_has_type_name(); - void set_has_column_def(); - void set_has_index_elem(); - void set_has_stats_elem(); - void set_has_constraint(); - void set_has_def_elem(); - void set_has_range_tbl_entry(); - void set_has_range_tbl_function(); - void set_has_table_sample_clause(); - void set_has_with_check_option(); - void set_has_sort_group_clause(); - void set_has_grouping_set(); - void set_has_window_clause(); - void set_has_object_with_args(); - void set_has_access_priv(); - void set_has_create_op_class_item(); - void set_has_table_like_clause(); - void set_has_function_parameter(); - void set_has_locking_clause(); - void set_has_row_mark_clause(); - void set_has_xml_serialize(); - void set_has_with_clause(); - void set_has_infer_clause(); - void set_has_on_conflict_clause(); - void set_has_ctesearch_clause(); - void set_has_ctecycle_clause(); - void set_has_common_table_expr(); - void set_has_merge_when_clause(); - void set_has_role_spec(); - void set_has_trigger_transition(); - void set_has_partition_elem(); - void set_has_partition_spec(); - void set_has_partition_bound_spec(); - void set_has_partition_range_datum(); - void set_has_partition_cmd(); - void set_has_vacuum_relation(); - void set_has_publication_obj_spec(); - void set_has_publication_table(); - void set_has_inline_code_block(); - void set_has_call_context(); - void set_has_integer(); - void set_has_float_(); - void set_has_boolean(); - void set_has_string(); - void set_has_bit_string(); - void set_has_list(); - void set_has_int_list(); - void set_has_oid_list(); - void set_has_a_const(); - - inline bool has_node() const; - inline void clear_has_node(); - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - union NodeUnion { - constexpr NodeUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::pg_query::Alias* alias_; - ::pg_query::RangeVar* range_var_; - ::pg_query::TableFunc* table_func_; - ::pg_query::Var* var_; - ::pg_query::Param* param_; - ::pg_query::Aggref* aggref_; - ::pg_query::GroupingFunc* grouping_func_; - ::pg_query::WindowFunc* window_func_; - ::pg_query::SubscriptingRef* subscripting_ref_; - ::pg_query::FuncExpr* func_expr_; - ::pg_query::NamedArgExpr* named_arg_expr_; - ::pg_query::OpExpr* op_expr_; - ::pg_query::DistinctExpr* distinct_expr_; - ::pg_query::NullIfExpr* null_if_expr_; - ::pg_query::ScalarArrayOpExpr* scalar_array_op_expr_; - ::pg_query::BoolExpr* bool_expr_; - ::pg_query::SubLink* sub_link_; - ::pg_query::SubPlan* sub_plan_; - ::pg_query::AlternativeSubPlan* alternative_sub_plan_; - ::pg_query::FieldSelect* field_select_; - ::pg_query::FieldStore* field_store_; - ::pg_query::RelabelType* relabel_type_; - ::pg_query::CoerceViaIO* coerce_via_io_; - ::pg_query::ArrayCoerceExpr* array_coerce_expr_; - ::pg_query::ConvertRowtypeExpr* convert_rowtype_expr_; - ::pg_query::CollateExpr* collate_expr_; - ::pg_query::CaseExpr* case_expr_; - ::pg_query::CaseWhen* case_when_; - ::pg_query::CaseTestExpr* case_test_expr_; - ::pg_query::ArrayExpr* array_expr_; - ::pg_query::RowExpr* row_expr_; - ::pg_query::RowCompareExpr* row_compare_expr_; - ::pg_query::CoalesceExpr* coalesce_expr_; - ::pg_query::MinMaxExpr* min_max_expr_; - ::pg_query::SQLValueFunction* sqlvalue_function_; - ::pg_query::XmlExpr* xml_expr_; - ::pg_query::NullTest* null_test_; - ::pg_query::BooleanTest* boolean_test_; - ::pg_query::CoerceToDomain* coerce_to_domain_; - ::pg_query::CoerceToDomainValue* coerce_to_domain_value_; - ::pg_query::SetToDefault* set_to_default_; - ::pg_query::CurrentOfExpr* current_of_expr_; - ::pg_query::NextValueExpr* next_value_expr_; - ::pg_query::InferenceElem* inference_elem_; - ::pg_query::TargetEntry* target_entry_; - ::pg_query::RangeTblRef* range_tbl_ref_; - ::pg_query::JoinExpr* join_expr_; - ::pg_query::FromExpr* from_expr_; - ::pg_query::OnConflictExpr* on_conflict_expr_; - ::pg_query::IntoClause* into_clause_; - ::pg_query::MergeAction* merge_action_; - ::pg_query::RawStmt* raw_stmt_; - ::pg_query::Query* query_; - ::pg_query::InsertStmt* insert_stmt_; - ::pg_query::DeleteStmt* delete_stmt_; - ::pg_query::UpdateStmt* update_stmt_; - ::pg_query::MergeStmt* merge_stmt_; - ::pg_query::SelectStmt* select_stmt_; - ::pg_query::ReturnStmt* return_stmt_; - ::pg_query::PLAssignStmt* plassign_stmt_; - ::pg_query::AlterTableStmt* alter_table_stmt_; - ::pg_query::AlterTableCmd* alter_table_cmd_; - ::pg_query::AlterDomainStmt* alter_domain_stmt_; - ::pg_query::SetOperationStmt* set_operation_stmt_; - ::pg_query::GrantStmt* grant_stmt_; - ::pg_query::GrantRoleStmt* grant_role_stmt_; - ::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt_; - ::pg_query::ClosePortalStmt* close_portal_stmt_; - ::pg_query::ClusterStmt* cluster_stmt_; - ::pg_query::CopyStmt* copy_stmt_; - ::pg_query::CreateStmt* create_stmt_; - ::pg_query::DefineStmt* define_stmt_; - ::pg_query::DropStmt* drop_stmt_; - ::pg_query::TruncateStmt* truncate_stmt_; - ::pg_query::CommentStmt* comment_stmt_; - ::pg_query::FetchStmt* fetch_stmt_; - ::pg_query::IndexStmt* index_stmt_; - ::pg_query::CreateFunctionStmt* create_function_stmt_; - ::pg_query::AlterFunctionStmt* alter_function_stmt_; - ::pg_query::DoStmt* do_stmt_; - ::pg_query::RenameStmt* rename_stmt_; - ::pg_query::RuleStmt* rule_stmt_; - ::pg_query::NotifyStmt* notify_stmt_; - ::pg_query::ListenStmt* listen_stmt_; - ::pg_query::UnlistenStmt* unlisten_stmt_; - ::pg_query::TransactionStmt* transaction_stmt_; - ::pg_query::ViewStmt* view_stmt_; - ::pg_query::LoadStmt* load_stmt_; - ::pg_query::CreateDomainStmt* create_domain_stmt_; - ::pg_query::CreatedbStmt* createdb_stmt_; - ::pg_query::DropdbStmt* dropdb_stmt_; - ::pg_query::VacuumStmt* vacuum_stmt_; - ::pg_query::ExplainStmt* explain_stmt_; - ::pg_query::CreateTableAsStmt* create_table_as_stmt_; - ::pg_query::CreateSeqStmt* create_seq_stmt_; - ::pg_query::AlterSeqStmt* alter_seq_stmt_; - ::pg_query::VariableSetStmt* variable_set_stmt_; - ::pg_query::VariableShowStmt* variable_show_stmt_; - ::pg_query::DiscardStmt* discard_stmt_; - ::pg_query::CreateTrigStmt* create_trig_stmt_; - ::pg_query::CreatePLangStmt* create_plang_stmt_; - ::pg_query::CreateRoleStmt* create_role_stmt_; - ::pg_query::AlterRoleStmt* alter_role_stmt_; - ::pg_query::DropRoleStmt* drop_role_stmt_; - ::pg_query::LockStmt* lock_stmt_; - ::pg_query::ConstraintsSetStmt* constraints_set_stmt_; - ::pg_query::ReindexStmt* reindex_stmt_; - ::pg_query::CheckPointStmt* check_point_stmt_; - ::pg_query::CreateSchemaStmt* create_schema_stmt_; - ::pg_query::AlterDatabaseStmt* alter_database_stmt_; - ::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt_; - ::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt_; - ::pg_query::AlterRoleSetStmt* alter_role_set_stmt_; - ::pg_query::CreateConversionStmt* create_conversion_stmt_; - ::pg_query::CreateCastStmt* create_cast_stmt_; - ::pg_query::CreateOpClassStmt* create_op_class_stmt_; - ::pg_query::CreateOpFamilyStmt* create_op_family_stmt_; - ::pg_query::AlterOpFamilyStmt* alter_op_family_stmt_; - ::pg_query::PrepareStmt* prepare_stmt_; - ::pg_query::ExecuteStmt* execute_stmt_; - ::pg_query::DeallocateStmt* deallocate_stmt_; - ::pg_query::DeclareCursorStmt* declare_cursor_stmt_; - ::pg_query::CreateTableSpaceStmt* create_table_space_stmt_; - ::pg_query::DropTableSpaceStmt* drop_table_space_stmt_; - ::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt_; - ::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt_; - ::pg_query::AlterOwnerStmt* alter_owner_stmt_; - ::pg_query::AlterOperatorStmt* alter_operator_stmt_; - ::pg_query::AlterTypeStmt* alter_type_stmt_; - ::pg_query::DropOwnedStmt* drop_owned_stmt_; - ::pg_query::ReassignOwnedStmt* reassign_owned_stmt_; - ::pg_query::CompositeTypeStmt* composite_type_stmt_; - ::pg_query::CreateEnumStmt* create_enum_stmt_; - ::pg_query::CreateRangeStmt* create_range_stmt_; - ::pg_query::AlterEnumStmt* alter_enum_stmt_; - ::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt_; - ::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt_; - ::pg_query::CreateFdwStmt* create_fdw_stmt_; - ::pg_query::AlterFdwStmt* alter_fdw_stmt_; - ::pg_query::CreateForeignServerStmt* create_foreign_server_stmt_; - ::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt_; - ::pg_query::CreateUserMappingStmt* create_user_mapping_stmt_; - ::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt_; - ::pg_query::DropUserMappingStmt* drop_user_mapping_stmt_; - ::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt_; - ::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt_; - ::pg_query::SecLabelStmt* sec_label_stmt_; - ::pg_query::CreateForeignTableStmt* create_foreign_table_stmt_; - ::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt_; - ::pg_query::CreateExtensionStmt* create_extension_stmt_; - ::pg_query::AlterExtensionStmt* alter_extension_stmt_; - ::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt_; - ::pg_query::CreateEventTrigStmt* create_event_trig_stmt_; - ::pg_query::AlterEventTrigStmt* alter_event_trig_stmt_; - ::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt_; - ::pg_query::ReplicaIdentityStmt* replica_identity_stmt_; - ::pg_query::AlterSystemStmt* alter_system_stmt_; - ::pg_query::CreatePolicyStmt* create_policy_stmt_; - ::pg_query::AlterPolicyStmt* alter_policy_stmt_; - ::pg_query::CreateTransformStmt* create_transform_stmt_; - ::pg_query::CreateAmStmt* create_am_stmt_; - ::pg_query::CreatePublicationStmt* create_publication_stmt_; - ::pg_query::AlterPublicationStmt* alter_publication_stmt_; - ::pg_query::CreateSubscriptionStmt* create_subscription_stmt_; - ::pg_query::AlterSubscriptionStmt* alter_subscription_stmt_; - ::pg_query::DropSubscriptionStmt* drop_subscription_stmt_; - ::pg_query::CreateStatsStmt* create_stats_stmt_; - ::pg_query::AlterCollationStmt* alter_collation_stmt_; - ::pg_query::CallStmt* call_stmt_; - ::pg_query::AlterStatsStmt* alter_stats_stmt_; - ::pg_query::A_Expr* a_expr_; - ::pg_query::ColumnRef* column_ref_; - ::pg_query::ParamRef* param_ref_; - ::pg_query::FuncCall* func_call_; - ::pg_query::A_Star* a_star_; - ::pg_query::A_Indices* a_indices_; - ::pg_query::A_Indirection* a_indirection_; - ::pg_query::A_ArrayExpr* a_array_expr_; - ::pg_query::ResTarget* res_target_; - ::pg_query::MultiAssignRef* multi_assign_ref_; - ::pg_query::TypeCast* type_cast_; - ::pg_query::CollateClause* collate_clause_; - ::pg_query::SortBy* sort_by_; - ::pg_query::WindowDef* window_def_; - ::pg_query::RangeSubselect* range_subselect_; - ::pg_query::RangeFunction* range_function_; - ::pg_query::RangeTableSample* range_table_sample_; - ::pg_query::RangeTableFunc* range_table_func_; - ::pg_query::RangeTableFuncCol* range_table_func_col_; - ::pg_query::TypeName* type_name_; - ::pg_query::ColumnDef* column_def_; - ::pg_query::IndexElem* index_elem_; - ::pg_query::StatsElem* stats_elem_; - ::pg_query::Constraint* constraint_; - ::pg_query::DefElem* def_elem_; - ::pg_query::RangeTblEntry* range_tbl_entry_; - ::pg_query::RangeTblFunction* range_tbl_function_; - ::pg_query::TableSampleClause* table_sample_clause_; - ::pg_query::WithCheckOption* with_check_option_; - ::pg_query::SortGroupClause* sort_group_clause_; - ::pg_query::GroupingSet* grouping_set_; - ::pg_query::WindowClause* window_clause_; - ::pg_query::ObjectWithArgs* object_with_args_; - ::pg_query::AccessPriv* access_priv_; - ::pg_query::CreateOpClassItem* create_op_class_item_; - ::pg_query::TableLikeClause* table_like_clause_; - ::pg_query::FunctionParameter* function_parameter_; - ::pg_query::LockingClause* locking_clause_; - ::pg_query::RowMarkClause* row_mark_clause_; - ::pg_query::XmlSerialize* xml_serialize_; - ::pg_query::WithClause* with_clause_; - ::pg_query::InferClause* infer_clause_; - ::pg_query::OnConflictClause* on_conflict_clause_; - ::pg_query::CTESearchClause* ctesearch_clause_; - ::pg_query::CTECycleClause* ctecycle_clause_; - ::pg_query::CommonTableExpr* common_table_expr_; - ::pg_query::MergeWhenClause* merge_when_clause_; - ::pg_query::RoleSpec* role_spec_; - ::pg_query::TriggerTransition* trigger_transition_; - ::pg_query::PartitionElem* partition_elem_; - ::pg_query::PartitionSpec* partition_spec_; - ::pg_query::PartitionBoundSpec* partition_bound_spec_; - ::pg_query::PartitionRangeDatum* partition_range_datum_; - ::pg_query::PartitionCmd* partition_cmd_; - ::pg_query::VacuumRelation* vacuum_relation_; - ::pg_query::PublicationObjSpec* publication_obj_spec_; - ::pg_query::PublicationTable* publication_table_; - ::pg_query::InlineCodeBlock* inline_code_block_; - ::pg_query::CallContext* call_context_; - ::pg_query::Integer* integer_; - ::pg_query::Float* float__; - ::pg_query::Boolean* boolean_; - ::pg_query::String* string_; - ::pg_query::BitString* bit_string_; - ::pg_query::List* list_; - ::pg_query::IntList* int_list_; - ::pg_query::OidList* oid_list_; - ::pg_query::A_Const* a_const_; - } node_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + bool boolval_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Integer final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Integer) */ { +class BitString final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.BitString) */ { public: - inline Integer() : Integer(nullptr) {} - ~Integer() override; - explicit PROTOBUF_CONSTEXPR Integer(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline BitString() : BitString(nullptr) {} + ~BitString() override; + template + explicit PROTOBUF_CONSTEXPR BitString(::google::protobuf::internal::ConstantInitialized); - Integer(const Integer& from); - Integer(Integer&& from) noexcept - : Integer() { + inline BitString(const BitString& from) + : BitString(nullptr, from) {} + BitString(BitString&& from) noexcept + : BitString() { *this = ::std::move(from); } - inline Integer& operator=(const Integer& from) { + inline BitString& operator=(const BitString& from) { CopyFrom(from); return *this; } - inline Integer& operator=(Integer&& from) noexcept { + inline BitString& operator=(BitString&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9106,145 +9932,178 @@ class Integer final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Integer& default_instance() { + static const BitString& default_instance() { return *internal_default_instance(); } - static inline const Integer* internal_default_instance() { - return reinterpret_cast( - &_Integer_default_instance_); + static inline const BitString* internal_default_instance() { + return reinterpret_cast( + &_BitString_default_instance_); } static constexpr int kIndexInFileMessages = - 3; + 7; - friend void swap(Integer& a, Integer& b) { + friend void swap(BitString& a, BitString& b) { a.Swap(&b); } - inline void Swap(Integer* other) { + inline void Swap(BitString* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Integer* other) { + void UnsafeArenaSwap(BitString* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Integer* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + BitString* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Integer& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Integer& from) { - Integer::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const BitString& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const BitString& from) { + BitString::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Integer* other); + void InternalSwap(BitString* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Integer"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.BitString"; } protected: - explicit Integer(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit BitString(::google::protobuf::Arena* arena); + BitString(::google::protobuf::Arena* arena, const BitString& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIvalFieldNumber = 1, + kBsvalFieldNumber = 1, }; - // int32 ival = 1; - void clear_ival(); - int32_t ival() const; - void set_ival(int32_t value); + // string bsval = 1; + void clear_bsval() ; + const std::string& bsval() const; + template + void set_bsval(Arg_&& arg, Args_... args); + std::string* mutable_bsval(); + PROTOBUF_NODISCARD std::string* release_bsval(); + void set_allocated_bsval(std::string* value); + private: - int32_t _internal_ival() const; - void _internal_set_ival(int32_t value); - public: + const std::string& _internal_bsval() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bsval( + const std::string& value); + std::string* _internal_mutable_bsval(); - // @@protoc_insertion_point(class_scope:pg_query.Integer) + public: + // @@protoc_insertion_point(class_scope:pg_query.BitString) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 32, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - int32_t ival_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr bsval_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Float final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Float) */ { +class AlterEventTrigStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterEventTrigStmt) */ { public: - inline Float() : Float(nullptr) {} - ~Float() override; - explicit PROTOBUF_CONSTEXPR Float(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterEventTrigStmt() : AlterEventTrigStmt(nullptr) {} + ~AlterEventTrigStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterEventTrigStmt(::google::protobuf::internal::ConstantInitialized); - Float(const Float& from); - Float(Float&& from) noexcept - : Float() { + inline AlterEventTrigStmt(const AlterEventTrigStmt& from) + : AlterEventTrigStmt(nullptr, from) {} + AlterEventTrigStmt(AlterEventTrigStmt&& from) noexcept + : AlterEventTrigStmt() { *this = ::std::move(from); } - inline Float& operator=(const Float& from) { + inline AlterEventTrigStmt& operator=(const AlterEventTrigStmt& from) { CopyFrom(from); return *this; } - inline Float& operator=(Float&& from) noexcept { + inline AlterEventTrigStmt& operator=(AlterEventTrigStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9254,150 +10113,196 @@ class Float final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Float& default_instance() { + static const AlterEventTrigStmt& default_instance() { return *internal_default_instance(); } - static inline const Float* internal_default_instance() { - return reinterpret_cast( - &_Float_default_instance_); + static inline const AlterEventTrigStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterEventTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 188; - friend void swap(Float& a, Float& b) { + friend void swap(AlterEventTrigStmt& a, AlterEventTrigStmt& b) { a.Swap(&b); } - inline void Swap(Float* other) { + inline void Swap(AlterEventTrigStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Float* other) { + void UnsafeArenaSwap(AlterEventTrigStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Float* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterEventTrigStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Float& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Float& from) { - Float::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterEventTrigStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterEventTrigStmt& from) { + AlterEventTrigStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Float* other); + void InternalSwap(AlterEventTrigStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Float"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterEventTrigStmt"; } protected: - explicit Float(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterEventTrigStmt(::google::protobuf::Arena* arena); + AlterEventTrigStmt(::google::protobuf::Arena* arena, const AlterEventTrigStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFvalFieldNumber = 1, + kTrignameFieldNumber = 1, + kTgenabledFieldNumber = 2, }; - // string fval = 1; - void clear_fval(); - const std::string& fval() const; - template - void set_fval(ArgT0&& arg0, ArgT... args); - std::string* mutable_fval(); - PROTOBUF_NODISCARD std::string* release_fval(); - void set_allocated_fval(std::string* fval); + // string trigname = 1 [json_name = "trigname"]; + void clear_trigname() ; + const std::string& trigname() const; + template + void set_trigname(Arg_&& arg, Args_... args); + std::string* mutable_trigname(); + PROTOBUF_NODISCARD std::string* release_trigname(); + void set_allocated_trigname(std::string* value); + private: - const std::string& _internal_fval() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fval(const std::string& value); - std::string* _internal_mutable_fval(); + const std::string& _internal_trigname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname( + const std::string& value); + std::string* _internal_mutable_trigname(); + public: + // string tgenabled = 2 [json_name = "tgenabled"]; + void clear_tgenabled() ; + const std::string& tgenabled() const; + template + void set_tgenabled(Arg_&& arg, Args_... args); + std::string* mutable_tgenabled(); + PROTOBUF_NODISCARD std::string* release_tgenabled(); + void set_allocated_tgenabled(std::string* value); - // @@protoc_insertion_point(class_scope:pg_query.Float) + private: + const std::string& _internal_tgenabled() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_tgenabled( + const std::string& value); + std::string* _internal_mutable_tgenabled(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterEventTrigStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 53, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fval_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr trigname_; + ::google::protobuf::internal::ArenaStringPtr tgenabled_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Boolean final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Boolean) */ { +class AlterDatabaseRefreshCollStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseRefreshCollStmt) */ { public: - inline Boolean() : Boolean(nullptr) {} - ~Boolean() override; - explicit PROTOBUF_CONSTEXPR Boolean(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterDatabaseRefreshCollStmt() : AlterDatabaseRefreshCollStmt(nullptr) {} + ~AlterDatabaseRefreshCollStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmt(::google::protobuf::internal::ConstantInitialized); - Boolean(const Boolean& from); - Boolean(Boolean&& from) noexcept - : Boolean() { + inline AlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt& from) + : AlterDatabaseRefreshCollStmt(nullptr, from) {} + AlterDatabaseRefreshCollStmt(AlterDatabaseRefreshCollStmt&& from) noexcept + : AlterDatabaseRefreshCollStmt() { *this = ::std::move(from); } - inline Boolean& operator=(const Boolean& from) { + inline AlterDatabaseRefreshCollStmt& operator=(const AlterDatabaseRefreshCollStmt& from) { CopyFrom(from); return *this; } - inline Boolean& operator=(Boolean&& from) noexcept { + inline AlterDatabaseRefreshCollStmt& operator=(AlterDatabaseRefreshCollStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9407,145 +10312,177 @@ class Boolean final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Boolean& default_instance() { + static const AlterDatabaseRefreshCollStmt& default_instance() { return *internal_default_instance(); } - static inline const Boolean* internal_default_instance() { - return reinterpret_cast( - &_Boolean_default_instance_); + static inline const AlterDatabaseRefreshCollStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterDatabaseRefreshCollStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 239; - friend void swap(Boolean& a, Boolean& b) { + friend void swap(AlterDatabaseRefreshCollStmt& a, AlterDatabaseRefreshCollStmt& b) { a.Swap(&b); } - inline void Swap(Boolean* other) { + inline void Swap(AlterDatabaseRefreshCollStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Boolean* other) { + void UnsafeArenaSwap(AlterDatabaseRefreshCollStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Boolean* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterDatabaseRefreshCollStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Boolean& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Boolean& from) { - Boolean::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterDatabaseRefreshCollStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterDatabaseRefreshCollStmt& from) { + AlterDatabaseRefreshCollStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Boolean* other); + void InternalSwap(AlterDatabaseRefreshCollStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Boolean"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterDatabaseRefreshCollStmt"; } protected: - explicit Boolean(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterDatabaseRefreshCollStmt(::google::protobuf::Arena* arena); + AlterDatabaseRefreshCollStmt(::google::protobuf::Arena* arena, const AlterDatabaseRefreshCollStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kBoolvalFieldNumber = 1, + kDbnameFieldNumber = 1, }; - // bool boolval = 1; - void clear_boolval(); - bool boolval() const; - void set_boolval(bool value); + // string dbname = 1 [json_name = "dbname"]; + void clear_dbname() ; + const std::string& dbname() const; + template + void set_dbname(Arg_&& arg, Args_... args); + std::string* mutable_dbname(); + PROTOBUF_NODISCARD std::string* release_dbname(); + void set_allocated_dbname(std::string* value); + private: - bool _internal_boolval() const; - void _internal_set_boolval(bool value); - public: + const std::string& _internal_dbname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname( + const std::string& value); + std::string* _internal_mutable_dbname(); - // @@protoc_insertion_point(class_scope:pg_query.Boolean) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseRefreshCollStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 52, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - bool boolval_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::ArenaStringPtr dbname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class String final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.String) */ { +class A_Star final : + public ::google::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.A_Star) */ { public: - inline String() : String(nullptr) {} - ~String() override; - explicit PROTOBUF_CONSTEXPR String(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_Star() : A_Star(nullptr) {} + template + explicit PROTOBUF_CONSTEXPR A_Star(::google::protobuf::internal::ConstantInitialized); - String(const String& from); - String(String&& from) noexcept - : String() { + inline A_Star(const A_Star& from) + : A_Star(nullptr, from) {} + A_Star(A_Star&& from) noexcept + : A_Star() { *this = ::std::move(from); } - inline String& operator=(const String& from) { + inline A_Star& operator=(const A_Star& from) { CopyFrom(from); return *this; } - inline String& operator=(String&& from) noexcept { + inline A_Star& operator=(A_Star&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9555,150 +10492,134 @@ class String final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const String& default_instance() { + static const A_Star& default_instance() { return *internal_default_instance(); } - static inline const String* internal_default_instance() { - return reinterpret_cast( - &_String_default_instance_); + static inline const A_Star* internal_default_instance() { + return reinterpret_cast( + &_A_Star_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 84; - friend void swap(String& a, String& b) { + friend void swap(A_Star& a, A_Star& b) { a.Swap(&b); } - inline void Swap(String* other) { + inline void Swap(A_Star* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(String* other) { + void UnsafeArenaSwap(A_Star* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - String* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_Star* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const String& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const String& from) { - String::MergeImpl(*this, from); + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const A_Star& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const A_Star& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(String* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.String"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_Star"; } protected: - explicit String(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_Star(::google::protobuf::Arena* arena); + A_Star(::google::protobuf::Arena* arena, const A_Star& from); public: - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - enum : int { - kSvalFieldNumber = 1, - }; - // string sval = 1; - void clear_sval(); - const std::string& sval() const; - template - void set_sval(ArgT0&& arg0, ArgT... args); - std::string* mutable_sval(); - PROTOBUF_NODISCARD std::string* release_sval(); - void set_allocated_sval(std::string* sval); - private: - const std::string& _internal_sval() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_sval(const std::string& value); - std::string* _internal_mutable_sval(); - public: - - // @@protoc_insertion_point(class_scope:pg_query.String) + // @@protoc_insertion_point(class_scope:pg_query.A_Star) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sval_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + PROTOBUF_TSAN_DECLARE_MEMBER }; - union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class BitString final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.BitString) */ { +class ScanResult final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScanResult) */ { public: - inline BitString() : BitString(nullptr) {} - ~BitString() override; - explicit PROTOBUF_CONSTEXPR BitString(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ScanResult() : ScanResult(nullptr) {} + ~ScanResult() override; + template + explicit PROTOBUF_CONSTEXPR ScanResult(::google::protobuf::internal::ConstantInitialized); - BitString(const BitString& from); - BitString(BitString&& from) noexcept - : BitString() { + inline ScanResult(const ScanResult& from) + : ScanResult(nullptr, from) {} + ScanResult(ScanResult&& from) noexcept + : ScanResult() { *this = ::std::move(from); } - inline BitString& operator=(const BitString& from) { + inline ScanResult& operator=(const ScanResult& from) { CopyFrom(from); return *this; } - inline BitString& operator=(BitString&& from) noexcept { + inline ScanResult& operator=(ScanResult&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9708,150 +10629,192 @@ class BitString final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const BitString& default_instance() { + static const ScanResult& default_instance() { return *internal_default_instance(); } - static inline const BitString* internal_default_instance() { - return reinterpret_cast( - &_BitString_default_instance_); + static inline const ScanResult* internal_default_instance() { + return reinterpret_cast( + &_ScanResult_default_instance_); } static constexpr int kIndexInFileMessages = - 7; + 1; - friend void swap(BitString& a, BitString& b) { + friend void swap(ScanResult& a, ScanResult& b) { a.Swap(&b); } - inline void Swap(BitString* other) { + inline void Swap(ScanResult* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(BitString* other) { + void UnsafeArenaSwap(ScanResult* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - BitString* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ScanResult* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const BitString& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const BitString& from) { - BitString::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ScanResult& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ScanResult& from) { + ScanResult::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(BitString* other); + void InternalSwap(ScanResult* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.BitString"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ScanResult"; } protected: - explicit BitString(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ScanResult(::google::protobuf::Arena* arena); + ScanResult(::google::protobuf::Arena* arena, const ScanResult& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kBsvalFieldNumber = 1, + kTokensFieldNumber = 2, + kVersionFieldNumber = 1, }; - // string bsval = 1; - void clear_bsval(); - const std::string& bsval() const; - template - void set_bsval(ArgT0&& arg0, ArgT... args); - std::string* mutable_bsval(); - PROTOBUF_NODISCARD std::string* release_bsval(); - void set_allocated_bsval(std::string* bsval); + // repeated .pg_query.ScanToken tokens = 2; + int tokens_size() const; private: - const std::string& _internal_bsval() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_bsval(const std::string& value); - std::string* _internal_mutable_bsval(); + int _internal_tokens_size() const; + + public: + void clear_tokens() ; + ::pg_query::ScanToken* mutable_tokens(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::ScanToken >* + mutable_tokens(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& _internal_tokens() const; + ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* _internal_mutable_tokens(); public: + const ::pg_query::ScanToken& tokens(int index) const; + ::pg_query::ScanToken* add_tokens(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::ScanToken >& + tokens() const; + // int32 version = 1; + void clear_version() ; + ::int32_t version() const; + void set_version(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.BitString) + private: + ::int32_t _internal_version() const; + void _internal_set_version(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ScanResult) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr bsval_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::ScanToken > tokens_; + ::int32_t version_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class List final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.List) */ { +class JsonReturning final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonReturning) */ { public: - inline List() : List(nullptr) {} - ~List() override; - explicit PROTOBUF_CONSTEXPR List(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - List(const List& from); - List(List&& from) noexcept - : List() { + inline JsonReturning() : JsonReturning(nullptr) {} + ~JsonReturning() override; + template + explicit PROTOBUF_CONSTEXPR JsonReturning(::google::protobuf::internal::ConstantInitialized); + + inline JsonReturning(const JsonReturning& from) + : JsonReturning(nullptr, from) {} + JsonReturning(JsonReturning&& from) noexcept + : JsonReturning() { *this = ::std::move(from); } - inline List& operator=(const List& from) { + inline JsonReturning& operator=(const JsonReturning& from) { CopyFrom(from); return *this; } - inline List& operator=(List&& from) noexcept { + inline JsonReturning& operator=(JsonReturning&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -9861,154 +10824,202 @@ class List final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const List& default_instance() { + static const JsonReturning& default_instance() { return *internal_default_instance(); } - static inline const List* internal_default_instance() { - return reinterpret_cast( - &_List_default_instance_); + static inline const JsonReturning* internal_default_instance() { + return reinterpret_cast( + &_JsonReturning_default_instance_); } static constexpr int kIndexInFileMessages = - 8; + 52; - friend void swap(List& a, List& b) { + friend void swap(JsonReturning& a, JsonReturning& b) { a.Swap(&b); } - inline void Swap(List* other) { + inline void Swap(JsonReturning* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(List* other) { + void UnsafeArenaSwap(JsonReturning* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - List* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonReturning* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const List& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const List& from) { - List::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonReturning& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonReturning& from) { + JsonReturning::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(List* other); + void InternalSwap(JsonReturning* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.List"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonReturning"; } protected: - explicit List(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonReturning(::google::protobuf::Arena* arena); + JsonReturning(::google::protobuf::Arena* arena, const JsonReturning& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kItemsFieldNumber = 1, + kFormatFieldNumber = 1, + kTypidFieldNumber = 2, + kTypmodFieldNumber = 3, }; - // repeated .pg_query.Node items = 1; - int items_size() const; + // .pg_query.JsonFormat format = 1 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); + private: - int _internal_items_size() const; + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + public: - void clear_items(); - ::pg_query::Node* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + // uint32 typid = 2 [json_name = "typid"]; + void clear_typid() ; + ::uint32_t typid() const; + void set_typid(::uint32_t value); + private: - const ::pg_query::Node& _internal_items(int index) const; - ::pg_query::Node* _internal_add_items(); + ::uint32_t _internal_typid() const; + void _internal_set_typid(::uint32_t value); + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - items() const; + // int32 typmod = 3 [json_name = "typmod"]; + void clear_typmod() ; + ::int32_t typmod() const; + void set_typmod(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.List) + private: + ::int32_t _internal_typmod() const; + void _internal_set_typmod(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonReturning) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > items_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonFormat* format_; + ::uint32_t typid_; + ::int32_t typmod_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class OidList final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.OidList) */ { +class DropUserMappingStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropUserMappingStmt) */ { public: - inline OidList() : OidList(nullptr) {} - ~OidList() override; - explicit PROTOBUF_CONSTEXPR OidList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropUserMappingStmt() : DropUserMappingStmt(nullptr) {} + ~DropUserMappingStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropUserMappingStmt(::google::protobuf::internal::ConstantInitialized); - OidList(const OidList& from); - OidList(OidList&& from) noexcept - : OidList() { + inline DropUserMappingStmt(const DropUserMappingStmt& from) + : DropUserMappingStmt(nullptr, from) {} + DropUserMappingStmt(DropUserMappingStmt&& from) noexcept + : DropUserMappingStmt() { *this = ::std::move(from); } - inline OidList& operator=(const OidList& from) { + inline DropUserMappingStmt& operator=(const DropUserMappingStmt& from) { CopyFrom(from); return *this; } - inline OidList& operator=(OidList&& from) noexcept { + inline DropUserMappingStmt& operator=(DropUserMappingStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -10018,154 +11029,208 @@ class OidList final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const OidList& default_instance() { + static const DropUserMappingStmt& default_instance() { return *internal_default_instance(); } - static inline const OidList* internal_default_instance() { - return reinterpret_cast( - &_OidList_default_instance_); + static inline const DropUserMappingStmt* internal_default_instance() { + return reinterpret_cast( + &_DropUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 9; + 181; - friend void swap(OidList& a, OidList& b) { + friend void swap(DropUserMappingStmt& a, DropUserMappingStmt& b) { a.Swap(&b); } - inline void Swap(OidList* other) { + inline void Swap(DropUserMappingStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(OidList* other) { + void UnsafeArenaSwap(DropUserMappingStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - OidList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropUserMappingStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const OidList& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const OidList& from) { - OidList::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropUserMappingStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropUserMappingStmt& from) { + DropUserMappingStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(OidList* other); + void InternalSwap(DropUserMappingStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.OidList"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropUserMappingStmt"; } protected: - explicit OidList(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DropUserMappingStmt(::google::protobuf::Arena* arena); + DropUserMappingStmt(::google::protobuf::Arena* arena, const DropUserMappingStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kItemsFieldNumber = 1, + kServernameFieldNumber = 2, + kUserFieldNumber = 1, + kMissingOkFieldNumber = 3, }; - // repeated .pg_query.Node items = 1; - int items_size() const; + // string servername = 2 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); + private: - int _internal_items_size() const; + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); + public: - void clear_items(); - ::pg_query::Node* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + // .pg_query.RoleSpec user = 1 [json_name = "user"]; + bool has_user() const; + void clear_user() ; + const ::pg_query::RoleSpec& user() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); + ::pg_query::RoleSpec* mutable_user(); + void set_allocated_user(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_user(); + private: - const ::pg_query::Node& _internal_items(int index) const; - ::pg_query::Node* _internal_add_items(); + const ::pg_query::RoleSpec& _internal_user() const; + ::pg_query::RoleSpec* _internal_mutable_user(); + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - items() const; + // bool missing_ok = 3 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.OidList) + private: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.DropUserMappingStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 47, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > items_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::pg_query::RoleSpec* user_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class IntList final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.IntList) */ { +class A_Const final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Const) */ { public: - inline IntList() : IntList(nullptr) {} - ~IntList() override; - explicit PROTOBUF_CONSTEXPR IntList(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_Const() : A_Const(nullptr) {} + ~A_Const() override; + template + explicit PROTOBUF_CONSTEXPR A_Const(::google::protobuf::internal::ConstantInitialized); - IntList(const IntList& from); - IntList(IntList&& from) noexcept - : IntList() { + inline A_Const(const A_Const& from) + : A_Const(nullptr, from) {} + A_Const(A_Const&& from) noexcept + : A_Const() { *this = ::std::move(from); } - inline IntList& operator=(const IntList& from) { + inline A_Const& operator=(const A_Const& from) { CopyFrom(from); return *this; } - inline IntList& operator=(IntList&& from) noexcept { + inline A_Const& operator=(A_Const&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -10175,378 +11240,237 @@ class IntList final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const IntList& default_instance() { + static const A_Const& default_instance() { return *internal_default_instance(); } - static inline const IntList* internal_default_instance() { - return reinterpret_cast( - &_IntList_default_instance_); + enum ValCase { + kIval = 1, + kFval = 2, + kBoolval = 3, + kSval = 4, + kBsval = 5, + VAL_NOT_SET = 0, + }; + + static inline const A_Const* internal_default_instance() { + return reinterpret_cast( + &_A_Const_default_instance_); } static constexpr int kIndexInFileMessages = - 10; + 11; - friend void swap(IntList& a, IntList& b) { + friend void swap(A_Const& a, A_Const& b) { a.Swap(&b); } - inline void Swap(IntList* other) { + inline void Swap(A_Const* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(IntList* other) { + void UnsafeArenaSwap(A_Const* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - IntList* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_Const* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const IntList& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const IntList& from) { - IntList::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const A_Const& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const A_Const& from) { + A_Const::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(IntList* other); + void InternalSwap(A_Const* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.IntList"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_Const"; } protected: - explicit IntList(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_Const(::google::protobuf::Arena* arena); + A_Const(::google::protobuf::Arena* arena, const A_Const& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kItemsFieldNumber = 1, + kIsnullFieldNumber = 10, + kLocationFieldNumber = 11, + kIvalFieldNumber = 1, + kFvalFieldNumber = 2, + kBoolvalFieldNumber = 3, + kSvalFieldNumber = 4, + kBsvalFieldNumber = 5, }; - // repeated .pg_query.Node items = 1; - int items_size() const; + // bool isnull = 10; + void clear_isnull() ; + bool isnull() const; + void set_isnull(bool value); + private: - int _internal_items_size() const; + bool _internal_isnull() const; + void _internal_set_isnull(bool value); + public: - void clear_items(); - ::pg_query::Node* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + // int32 location = 11; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::pg_query::Node& _internal_items(int index) const; - ::pg_query::Node* _internal_add_items(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - items() const; + // .pg_query.Integer ival = 1; + bool has_ival() const; + private: + bool _internal_has_ival() const; - // @@protoc_insertion_point(class_scope:pg_query.IntList) - private: - class _Internal; + public: + void clear_ival() ; + const ::pg_query::Integer& ival() const; + PROTOBUF_NODISCARD ::pg_query::Integer* release_ival(); + ::pg_query::Integer* mutable_ival(); + void set_allocated_ival(::pg_query::Integer* value); + void unsafe_arena_set_allocated_ival(::pg_query::Integer* value); + ::pg_query::Integer* unsafe_arena_release_ival(); - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > items_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class A_Const final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Const) */ { - public: - inline A_Const() : A_Const(nullptr) {} - ~A_Const() override; - explicit PROTOBUF_CONSTEXPR A_Const(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - A_Const(const A_Const& from); - A_Const(A_Const&& from) noexcept - : A_Const() { - *this = ::std::move(from); - } - - inline A_Const& operator=(const A_Const& from) { - CopyFrom(from); - return *this; - } - inline A_Const& operator=(A_Const&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const A_Const& default_instance() { - return *internal_default_instance(); - } - enum ValCase { - kIval = 1, - kFval = 2, - kBoolval = 3, - kSval = 4, - kBsval = 5, - VAL_NOT_SET = 0, - }; - - static inline const A_Const* internal_default_instance() { - return reinterpret_cast( - &_A_Const_default_instance_); - } - static constexpr int kIndexInFileMessages = - 11; - - friend void swap(A_Const& a, A_Const& b) { - a.Swap(&b); - } - inline void Swap(A_Const* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(A_Const* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - A_Const* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const A_Const& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const A_Const& from) { - A_Const::MergeImpl(*this, from); - } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(A_Const* other); - - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_Const"; - } - protected: - explicit A_Const(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kIsnullFieldNumber = 10, - kLocationFieldNumber = 11, - kIvalFieldNumber = 1, - kFvalFieldNumber = 2, - kBoolvalFieldNumber = 3, - kSvalFieldNumber = 4, - kBsvalFieldNumber = 5, - }; - // bool isnull = 10; - void clear_isnull(); - bool isnull() const; - void set_isnull(bool value); - private: - bool _internal_isnull() const; - void _internal_set_isnull(bool value); - public: - - // int32 location = 11; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: - - // .pg_query.Integer ival = 1; - bool has_ival() const; - private: - bool _internal_has_ival() const; - public: - void clear_ival(); - const ::pg_query::Integer& ival() const; - PROTOBUF_NODISCARD ::pg_query::Integer* release_ival(); - ::pg_query::Integer* mutable_ival(); - void set_allocated_ival(::pg_query::Integer* ival); private: const ::pg_query::Integer& _internal_ival() const; ::pg_query::Integer* _internal_mutable_ival(); - public: - void unsafe_arena_set_allocated_ival( - ::pg_query::Integer* ival); - ::pg_query::Integer* unsafe_arena_release_ival(); + public: // .pg_query.Float fval = 2; bool has_fval() const; private: bool _internal_has_fval() const; + public: - void clear_fval(); + void clear_fval() ; const ::pg_query::Float& fval() const; PROTOBUF_NODISCARD ::pg_query::Float* release_fval(); ::pg_query::Float* mutable_fval(); - void set_allocated_fval(::pg_query::Float* fval); + void set_allocated_fval(::pg_query::Float* value); + void unsafe_arena_set_allocated_fval(::pg_query::Float* value); + ::pg_query::Float* unsafe_arena_release_fval(); + private: const ::pg_query::Float& _internal_fval() const; ::pg_query::Float* _internal_mutable_fval(); - public: - void unsafe_arena_set_allocated_fval( - ::pg_query::Float* fval); - ::pg_query::Float* unsafe_arena_release_fval(); + public: // .pg_query.Boolean boolval = 3; bool has_boolval() const; private: bool _internal_has_boolval() const; + public: - void clear_boolval(); + void clear_boolval() ; const ::pg_query::Boolean& boolval() const; PROTOBUF_NODISCARD ::pg_query::Boolean* release_boolval(); ::pg_query::Boolean* mutable_boolval(); - void set_allocated_boolval(::pg_query::Boolean* boolval); + void set_allocated_boolval(::pg_query::Boolean* value); + void unsafe_arena_set_allocated_boolval(::pg_query::Boolean* value); + ::pg_query::Boolean* unsafe_arena_release_boolval(); + private: const ::pg_query::Boolean& _internal_boolval() const; ::pg_query::Boolean* _internal_mutable_boolval(); - public: - void unsafe_arena_set_allocated_boolval( - ::pg_query::Boolean* boolval); - ::pg_query::Boolean* unsafe_arena_release_boolval(); + public: // .pg_query.String sval = 4; bool has_sval() const; private: bool _internal_has_sval() const; + public: - void clear_sval(); + void clear_sval() ; const ::pg_query::String& sval() const; PROTOBUF_NODISCARD ::pg_query::String* release_sval(); ::pg_query::String* mutable_sval(); - void set_allocated_sval(::pg_query::String* sval); + void set_allocated_sval(::pg_query::String* value); + void unsafe_arena_set_allocated_sval(::pg_query::String* value); + ::pg_query::String* unsafe_arena_release_sval(); + private: const ::pg_query::String& _internal_sval() const; ::pg_query::String* _internal_mutable_sval(); - public: - void unsafe_arena_set_allocated_sval( - ::pg_query::String* sval); - ::pg_query::String* unsafe_arena_release_sval(); + public: // .pg_query.BitString bsval = 5; bool has_bsval() const; private: bool _internal_has_bsval() const; + public: - void clear_bsval(); + void clear_bsval() ; const ::pg_query::BitString& bsval() const; PROTOBUF_NODISCARD ::pg_query::BitString* release_bsval(); ::pg_query::BitString* mutable_bsval(); - void set_allocated_bsval(::pg_query::BitString* bsval); + void set_allocated_bsval(::pg_query::BitString* value); + void unsafe_arena_set_allocated_bsval(::pg_query::BitString* value); + ::pg_query::BitString* unsafe_arena_release_bsval(); + private: const ::pg_query::BitString& _internal_bsval() const; ::pg_query::BitString* _internal_mutable_bsval(); - public: - void unsafe_arena_set_allocated_bsval( - ::pg_query::BitString* bsval); - ::pg_query::BitString* unsafe_arena_release_bsval(); + public: void clear_val(); ValCase val_case() const; // @@protoc_insertion_point(class_scope:pg_query.A_Const) @@ -10561,52 +11485,69 @@ class A_Const final : inline bool has_val() const; inline void clear_has_val(); - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 7, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); bool isnull_; - int32_t location_; + ::int32_t location_; union ValUnion { constexpr ValUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::google::protobuf::internal::ConstantInitialized _constinit_; ::pg_query::Integer* ival_; ::pg_query::Float* fval_; ::pg_query::Boolean* boolval_; ::pg_query::String* sval_; ::pg_query::BitString* bsval_; } val_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - uint32_t _oneof_case_[1]; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Alias final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Alias) */ { +class A_ArrayExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.A_ArrayExpr) */ { public: - inline Alias() : Alias(nullptr) {} - ~Alias() override; - explicit PROTOBUF_CONSTEXPR Alias(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_ArrayExpr() : A_ArrayExpr(nullptr) {} + ~A_ArrayExpr() override; + template + explicit PROTOBUF_CONSTEXPR A_ArrayExpr(::google::protobuf::internal::ConstantInitialized); - Alias(const Alias& from); - Alias(Alias&& from) noexcept - : Alias() { + inline A_ArrayExpr(const A_ArrayExpr& from) + : A_ArrayExpr(nullptr, from) {} + A_ArrayExpr(A_ArrayExpr&& from) noexcept + : A_ArrayExpr() { *this = ::std::move(from); } - inline Alias& operator=(const Alias& from) { + inline A_ArrayExpr& operator=(const A_ArrayExpr& from) { CopyFrom(from); return *this; } - inline Alias& operator=(Alias&& from) noexcept { + inline A_ArrayExpr& operator=(A_ArrayExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -10616,170 +11557,192 @@ class Alias final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Alias& default_instance() { + static const A_ArrayExpr& default_instance() { return *internal_default_instance(); } - static inline const Alias* internal_default_instance() { - return reinterpret_cast( - &_Alias_default_instance_); + static inline const A_ArrayExpr* internal_default_instance() { + return reinterpret_cast( + &_A_ArrayExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 12; + 87; - friend void swap(Alias& a, Alias& b) { + friend void swap(A_ArrayExpr& a, A_ArrayExpr& b) { a.Swap(&b); } - inline void Swap(Alias* other) { + inline void Swap(A_ArrayExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Alias* other) { + void UnsafeArenaSwap(A_ArrayExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Alias* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_ArrayExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Alias& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Alias& from) { - Alias::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const A_ArrayExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const A_ArrayExpr& from) { + A_ArrayExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Alias* other); + void InternalSwap(A_ArrayExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Alias"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_ArrayExpr"; } protected: - explicit Alias(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_ArrayExpr(::google::protobuf::Arena* arena); + A_ArrayExpr(::google::protobuf::Arena* arena, const A_ArrayExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColnamesFieldNumber = 2, - kAliasnameFieldNumber = 1, + kElementsFieldNumber = 1, + kLocationFieldNumber = 2, }; - // repeated .pg_query.Node colnames = 2 [json_name = "colnames"]; - int colnames_size() const; + // repeated .pg_query.Node elements = 1 [json_name = "elements"]; + int elements_size() const; private: - int _internal_colnames_size() const; + int _internal_elements_size() const; + public: - void clear_colnames(); - ::pg_query::Node* mutable_colnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colnames(); + void clear_elements() ; + ::pg_query::Node* mutable_elements(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_elements(); private: - const ::pg_query::Node& _internal_colnames(int index) const; - ::pg_query::Node* _internal_add_colnames(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_elements() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_elements(); public: - const ::pg_query::Node& colnames(int index) const; - ::pg_query::Node* add_colnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colnames() const; + const ::pg_query::Node& elements(int index) const; + ::pg_query::Node* add_elements(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + elements() const; + // int32 location = 2 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // string aliasname = 1 [json_name = "aliasname"]; - void clear_aliasname(); - const std::string& aliasname() const; - template - void set_aliasname(ArgT0&& arg0, ArgT... args); - std::string* mutable_aliasname(); - PROTOBUF_NODISCARD std::string* release_aliasname(); - void set_allocated_aliasname(std::string* aliasname); private: - const std::string& _internal_aliasname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_aliasname(const std::string& value); - std::string* _internal_mutable_aliasname(); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.Alias) + public: + // @@protoc_insertion_point(class_scope:pg_query.A_ArrayExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colnames_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr aliasname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > elements_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeVar final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeVar) */ { +class A_Expr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Expr) */ { public: - inline RangeVar() : RangeVar(nullptr) {} - ~RangeVar() override; - explicit PROTOBUF_CONSTEXPR RangeVar(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_Expr() : A_Expr(nullptr) {} + ~A_Expr() override; + template + explicit PROTOBUF_CONSTEXPR A_Expr(::google::protobuf::internal::ConstantInitialized); - RangeVar(const RangeVar& from); - RangeVar(RangeVar&& from) noexcept - : RangeVar() { + inline A_Expr(const A_Expr& from) + : A_Expr(nullptr, from) {} + A_Expr(A_Expr&& from) noexcept + : A_Expr() { *this = ::std::move(from); } - inline RangeVar& operator=(const RangeVar& from) { + inline A_Expr& operator=(const A_Expr& from) { CopyFrom(from); return *this; } - inline RangeVar& operator=(RangeVar&& from) noexcept { + inline A_Expr& operator=(A_Expr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -10789,240 +11752,239 @@ class RangeVar final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeVar& default_instance() { + static const A_Expr& default_instance() { return *internal_default_instance(); } - static inline const RangeVar* internal_default_instance() { - return reinterpret_cast( - &_RangeVar_default_instance_); + static inline const A_Expr* internal_default_instance() { + return reinterpret_cast( + &_A_Expr_default_instance_); } static constexpr int kIndexInFileMessages = - 13; + 79; - friend void swap(RangeVar& a, RangeVar& b) { + friend void swap(A_Expr& a, A_Expr& b) { a.Swap(&b); } - inline void Swap(RangeVar* other) { + inline void Swap(A_Expr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeVar* other) { + void UnsafeArenaSwap(A_Expr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeVar* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_Expr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeVar& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeVar& from) { - RangeVar::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const A_Expr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const A_Expr& from) { + A_Expr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeVar* other); + void InternalSwap(A_Expr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeVar"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_Expr"; } protected: - explicit RangeVar(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_Expr(::google::protobuf::Arena* arena); + A_Expr(::google::protobuf::Arena* arena, const A_Expr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCatalognameFieldNumber = 1, - kSchemanameFieldNumber = 2, - kRelnameFieldNumber = 3, - kRelpersistenceFieldNumber = 5, - kAliasFieldNumber = 6, - kInhFieldNumber = 4, - kLocationFieldNumber = 7, + kNameFieldNumber = 2, + kLexprFieldNumber = 3, + kRexprFieldNumber = 4, + kKindFieldNumber = 1, + kLocationFieldNumber = 5, }; - // string catalogname = 1 [json_name = "catalogname"]; - void clear_catalogname(); - const std::string& catalogname() const; - template - void set_catalogname(ArgT0&& arg0, ArgT... args); - std::string* mutable_catalogname(); - PROTOBUF_NODISCARD std::string* release_catalogname(); - void set_allocated_catalogname(std::string* catalogname); + // repeated .pg_query.Node name = 2 [json_name = "name"]; + int name_size() const; private: - const std::string& _internal_catalogname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_catalogname(const std::string& value); - std::string* _internal_mutable_catalogname(); - public: + int _internal_name_size() const; - // string schemaname = 2 [json_name = "schemaname"]; - void clear_schemaname(); - const std::string& schemaname() const; - template - void set_schemaname(ArgT0&& arg0, ArgT... args); - std::string* mutable_schemaname(); - PROTOBUF_NODISCARD std::string* release_schemaname(); - void set_allocated_schemaname(std::string* schemaname); - private: - const std::string& _internal_schemaname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname(const std::string& value); - std::string* _internal_mutable_schemaname(); public: - - // string relname = 3 [json_name = "relname"]; - void clear_relname(); - const std::string& relname() const; - template - void set_relname(ArgT0&& arg0, ArgT... args); - std::string* mutable_relname(); - PROTOBUF_NODISCARD std::string* release_relname(); - void set_allocated_relname(std::string* relname); + void clear_name() ; + ::pg_query::Node* mutable_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_name(); private: - const std::string& _internal_relname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname(const std::string& value); - std::string* _internal_mutable_relname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_name(); public: + const ::pg_query::Node& name(int index) const; + ::pg_query::Node* add_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + name() const; + // .pg_query.Node lexpr = 3 [json_name = "lexpr"]; + bool has_lexpr() const; + void clear_lexpr() ; + const ::pg_query::Node& lexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_lexpr(); + ::pg_query::Node* mutable_lexpr(); + void set_allocated_lexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_lexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_lexpr(); - // string relpersistence = 5 [json_name = "relpersistence"]; - void clear_relpersistence(); - const std::string& relpersistence() const; - template - void set_relpersistence(ArgT0&& arg0, ArgT... args); - std::string* mutable_relpersistence(); - PROTOBUF_NODISCARD std::string* release_relpersistence(); - void set_allocated_relpersistence(std::string* relpersistence); private: - const std::string& _internal_relpersistence() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relpersistence(const std::string& value); - std::string* _internal_mutable_relpersistence(); - public: + const ::pg_query::Node& _internal_lexpr() const; + ::pg_query::Node* _internal_mutable_lexpr(); - // .pg_query.Alias alias = 6 [json_name = "alias"]; - bool has_alias() const; - private: - bool _internal_has_alias() const; public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); + // .pg_query.Node rexpr = 4 [json_name = "rexpr"]; + bool has_rexpr() const; + void clear_rexpr() ; + const ::pg_query::Node& rexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rexpr(); + ::pg_query::Node* mutable_rexpr(); + void set_allocated_rexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_rexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rexpr(); + private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + const ::pg_query::Node& _internal_rexpr() const; + ::pg_query::Node* _internal_mutable_rexpr(); + public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::A_Expr_Kind kind() const; + void set_kind(::pg_query::A_Expr_Kind value); - // bool inh = 4 [json_name = "inh"]; - void clear_inh(); - bool inh() const; - void set_inh(bool value); private: - bool _internal_inh() const; - void _internal_set_inh(bool value); + ::pg_query::A_Expr_Kind _internal_kind() const; + void _internal_set_kind(::pg_query::A_Expr_Kind value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RangeVar) + public: + // @@protoc_insertion_point(class_scope:pg_query.A_Expr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr catalogname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr schemaname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr relname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr relpersistence_; - ::pg_query::Alias* alias_; - bool inh_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > name_; + ::pg_query::Node* lexpr_; + ::pg_query::Node* rexpr_; + int kind_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TableFunc final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TableFunc) */ { +class A_Indices final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Indices) */ { public: - inline TableFunc() : TableFunc(nullptr) {} - ~TableFunc() override; - explicit PROTOBUF_CONSTEXPR TableFunc(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_Indices() : A_Indices(nullptr) {} + ~A_Indices() override; + template + explicit PROTOBUF_CONSTEXPR A_Indices(::google::protobuf::internal::ConstantInitialized); - TableFunc(const TableFunc& from); - TableFunc(TableFunc&& from) noexcept - : TableFunc() { + inline A_Indices(const A_Indices& from) + : A_Indices(nullptr, from) {} + A_Indices(A_Indices&& from) noexcept + : A_Indices() { *this = ::std::move(from); } - inline TableFunc& operator=(const TableFunc& from) { + inline A_Indices& operator=(const A_Indices& from) { CopyFrom(from); return *this; } - inline TableFunc& operator=(TableFunc&& from) noexcept { + inline A_Indices& operator=(A_Indices&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -11032,381 +11994,207 @@ class TableFunc final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableFunc& default_instance() { + static const A_Indices& default_instance() { return *internal_default_instance(); } - static inline const TableFunc* internal_default_instance() { - return reinterpret_cast( - &_TableFunc_default_instance_); + static inline const A_Indices* internal_default_instance() { + return reinterpret_cast( + &_A_Indices_default_instance_); } static constexpr int kIndexInFileMessages = - 14; + 85; - friend void swap(TableFunc& a, TableFunc& b) { + friend void swap(A_Indices& a, A_Indices& b) { a.Swap(&b); } - inline void Swap(TableFunc* other) { + inline void Swap(A_Indices* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableFunc* other) { + void UnsafeArenaSwap(A_Indices* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TableFunc* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_Indices* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TableFunc& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TableFunc& from) { - TableFunc::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const A_Indices& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const A_Indices& from) { + A_Indices::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TableFunc* other); + void InternalSwap(A_Indices* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TableFunc"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_Indices"; } protected: - explicit TableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_Indices(::google::protobuf::Arena* arena); + A_Indices(::google::protobuf::Arena* arena, const A_Indices& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNsUrisFieldNumber = 1, - kNsNamesFieldNumber = 2, - kColnamesFieldNumber = 5, - kColtypesFieldNumber = 6, - kColtypmodsFieldNumber = 7, - kColcollationsFieldNumber = 8, - kColexprsFieldNumber = 9, - kColdefexprsFieldNumber = 10, - kNotnullsFieldNumber = 11, - kDocexprFieldNumber = 3, - kRowexprFieldNumber = 4, - kOrdinalitycolFieldNumber = 12, - kLocationFieldNumber = 13, - }; - // repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"]; - int ns_uris_size() const; - private: - int _internal_ns_uris_size() const; - public: - void clear_ns_uris(); - ::pg_query::Node* mutable_ns_uris(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ns_uris(); - private: - const ::pg_query::Node& _internal_ns_uris(int index) const; - ::pg_query::Node* _internal_add_ns_uris(); - public: - const ::pg_query::Node& ns_uris(int index) const; - ::pg_query::Node* add_ns_uris(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ns_uris() const; + kLidxFieldNumber = 2, + kUidxFieldNumber = 3, + kIsSliceFieldNumber = 1, + }; + // .pg_query.Node lidx = 2 [json_name = "lidx"]; + bool has_lidx() const; + void clear_lidx() ; + const ::pg_query::Node& lidx() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_lidx(); + ::pg_query::Node* mutable_lidx(); + void set_allocated_lidx(::pg_query::Node* value); + void unsafe_arena_set_allocated_lidx(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_lidx(); - // repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"]; - int ns_names_size() const; - private: - int _internal_ns_names_size() const; - public: - void clear_ns_names(); - ::pg_query::Node* mutable_ns_names(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ns_names(); private: - const ::pg_query::Node& _internal_ns_names(int index) const; - ::pg_query::Node* _internal_add_ns_names(); - public: - const ::pg_query::Node& ns_names(int index) const; - ::pg_query::Node* add_ns_names(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ns_names() const; + const ::pg_query::Node& _internal_lidx() const; + ::pg_query::Node* _internal_mutable_lidx(); - // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; - int colnames_size() const; - private: - int _internal_colnames_size() const; - public: - void clear_colnames(); - ::pg_query::Node* mutable_colnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colnames(); - private: - const ::pg_query::Node& _internal_colnames(int index) const; - ::pg_query::Node* _internal_add_colnames(); public: - const ::pg_query::Node& colnames(int index) const; - ::pg_query::Node* add_colnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colnames() const; + // .pg_query.Node uidx = 3 [json_name = "uidx"]; + bool has_uidx() const; + void clear_uidx() ; + const ::pg_query::Node& uidx() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_uidx(); + ::pg_query::Node* mutable_uidx(); + void set_allocated_uidx(::pg_query::Node* value); + void unsafe_arena_set_allocated_uidx(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_uidx(); - // repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"]; - int coltypes_size() const; - private: - int _internal_coltypes_size() const; - public: - void clear_coltypes(); - ::pg_query::Node* mutable_coltypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypes(); private: - const ::pg_query::Node& _internal_coltypes(int index) const; - ::pg_query::Node* _internal_add_coltypes(); - public: - const ::pg_query::Node& coltypes(int index) const; - ::pg_query::Node* add_coltypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coltypes() const; + const ::pg_query::Node& _internal_uidx() const; + ::pg_query::Node* _internal_mutable_uidx(); - // repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"]; - int coltypmods_size() const; - private: - int _internal_coltypmods_size() const; - public: - void clear_coltypmods(); - ::pg_query::Node* mutable_coltypmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypmods(); - private: - const ::pg_query::Node& _internal_coltypmods(int index) const; - ::pg_query::Node* _internal_add_coltypmods(); public: - const ::pg_query::Node& coltypmods(int index) const; - ::pg_query::Node* add_coltypmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coltypmods() const; + // bool is_slice = 1 [json_name = "is_slice"]; + void clear_is_slice() ; + bool is_slice() const; + void set_is_slice(bool value); - // repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"]; - int colcollations_size() const; private: - int _internal_colcollations_size() const; - public: - void clear_colcollations(); - ::pg_query::Node* mutable_colcollations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colcollations(); - private: - const ::pg_query::Node& _internal_colcollations(int index) const; - ::pg_query::Node* _internal_add_colcollations(); - public: - const ::pg_query::Node& colcollations(int index) const; - ::pg_query::Node* add_colcollations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colcollations() const; - - // repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"]; - int colexprs_size() const; - private: - int _internal_colexprs_size() const; - public: - void clear_colexprs(); - ::pg_query::Node* mutable_colexprs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colexprs(); - private: - const ::pg_query::Node& _internal_colexprs(int index) const; - ::pg_query::Node* _internal_add_colexprs(); - public: - const ::pg_query::Node& colexprs(int index) const; - ::pg_query::Node* add_colexprs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colexprs() const; - - // repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"]; - int coldefexprs_size() const; - private: - int _internal_coldefexprs_size() const; - public: - void clear_coldefexprs(); - ::pg_query::Node* mutable_coldefexprs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coldefexprs(); - private: - const ::pg_query::Node& _internal_coldefexprs(int index) const; - ::pg_query::Node* _internal_add_coldefexprs(); - public: - const ::pg_query::Node& coldefexprs(int index) const; - ::pg_query::Node* add_coldefexprs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coldefexprs() const; - - // repeated uint64 notnulls = 11 [json_name = "notnulls"]; - int notnulls_size() const; - private: - int _internal_notnulls_size() const; - public: - void clear_notnulls(); - private: - uint64_t _internal_notnulls(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_notnulls() const; - void _internal_add_notnulls(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_notnulls(); - public: - uint64_t notnulls(int index) const; - void set_notnulls(int index, uint64_t value); - void add_notnulls(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - notnulls() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_notnulls(); - - // .pg_query.Node docexpr = 3 [json_name = "docexpr"]; - bool has_docexpr() const; - private: - bool _internal_has_docexpr() const; - public: - void clear_docexpr(); - const ::pg_query::Node& docexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); - ::pg_query::Node* mutable_docexpr(); - void set_allocated_docexpr(::pg_query::Node* docexpr); - private: - const ::pg_query::Node& _internal_docexpr() const; - ::pg_query::Node* _internal_mutable_docexpr(); - public: - void unsafe_arena_set_allocated_docexpr( - ::pg_query::Node* docexpr); - ::pg_query::Node* unsafe_arena_release_docexpr(); - - // .pg_query.Node rowexpr = 4 [json_name = "rowexpr"]; - bool has_rowexpr() const; - private: - bool _internal_has_rowexpr() const; - public: - void clear_rowexpr(); - const ::pg_query::Node& rowexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); - ::pg_query::Node* mutable_rowexpr(); - void set_allocated_rowexpr(::pg_query::Node* rowexpr); - private: - const ::pg_query::Node& _internal_rowexpr() const; - ::pg_query::Node* _internal_mutable_rowexpr(); - public: - void unsafe_arena_set_allocated_rowexpr( - ::pg_query::Node* rowexpr); - ::pg_query::Node* unsafe_arena_release_rowexpr(); - - // int32 ordinalitycol = 12 [json_name = "ordinalitycol"]; - void clear_ordinalitycol(); - int32_t ordinalitycol() const; - void set_ordinalitycol(int32_t value); - private: - int32_t _internal_ordinalitycol() const; - void _internal_set_ordinalitycol(int32_t value); - public: + bool _internal_is_slice() const; + void _internal_set_is_slice(bool value); - // int32 location = 13 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.TableFunc) + // @@protoc_insertion_point(class_scope:pg_query.A_Indices) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ns_uris_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ns_names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coltypes_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coltypmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colcollations_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colexprs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coldefexprs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > notnulls_; - mutable std::atomic _notnulls_cached_byte_size_; - ::pg_query::Node* docexpr_; - ::pg_query::Node* rowexpr_; - int32_t ordinalitycol_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* lidx_; + ::pg_query::Node* uidx_; + bool is_slice_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Var final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Var) */ { +class A_Indirection final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Indirection) */ { public: - inline Var() : Var(nullptr) {} - ~Var() override; - explicit PROTOBUF_CONSTEXPR Var(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline A_Indirection() : A_Indirection(nullptr) {} + ~A_Indirection() override; + template + explicit PROTOBUF_CONSTEXPR A_Indirection(::google::protobuf::internal::ConstantInitialized); - Var(const Var& from); - Var(Var&& from) noexcept - : Var() { + inline A_Indirection(const A_Indirection& from) + : A_Indirection(nullptr, from) {} + A_Indirection(A_Indirection&& from) noexcept + : A_Indirection() { *this = ::std::move(from); } - inline Var& operator=(const Var& from) { + inline A_Indirection& operator=(const A_Indirection& from) { CopyFrom(from); return *this; } - inline Var& operator=(Var&& from) noexcept { + inline A_Indirection& operator=(A_Indirection&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -11416,253 +12204,198 @@ class Var final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Var& default_instance() { + static const A_Indirection& default_instance() { return *internal_default_instance(); } - static inline const Var* internal_default_instance() { - return reinterpret_cast( - &_Var_default_instance_); + static inline const A_Indirection* internal_default_instance() { + return reinterpret_cast( + &_A_Indirection_default_instance_); } static constexpr int kIndexInFileMessages = - 15; + 86; - friend void swap(Var& a, Var& b) { + friend void swap(A_Indirection& a, A_Indirection& b) { a.Swap(&b); } - inline void Swap(Var* other) { + inline void Swap(A_Indirection* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Var* other) { + void UnsafeArenaSwap(A_Indirection* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Var* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + A_Indirection* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Var& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Var& from) { - Var::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const A_Indirection& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const A_Indirection& from) { + A_Indirection::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Var* other); + void InternalSwap(A_Indirection* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Var"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.A_Indirection"; } protected: - explicit Var(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit A_Indirection(::google::protobuf::Arena* arena); + A_Indirection(::google::protobuf::Arena* arena, const A_Indirection& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kVarnoFieldNumber = 2, - kVarattnoFieldNumber = 3, - kVartypeFieldNumber = 4, - kVartypmodFieldNumber = 5, - kVarcollidFieldNumber = 6, - kVarlevelsupFieldNumber = 7, - kVarnosynFieldNumber = 8, - kVarattnosynFieldNumber = 9, - kLocationFieldNumber = 10, + kIndirectionFieldNumber = 2, + kArgFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // int32 varno = 2 [json_name = "varno"]; - void clear_varno(); - int32_t varno() const; - void set_varno(int32_t value); - private: - int32_t _internal_varno() const; - void _internal_set_varno(int32_t value); - public: - - // int32 varattno = 3 [json_name = "varattno"]; - void clear_varattno(); - int32_t varattno() const; - void set_varattno(int32_t value); - private: - int32_t _internal_varattno() const; - void _internal_set_varattno(int32_t value); - public: - - // uint32 vartype = 4 [json_name = "vartype"]; - void clear_vartype(); - uint32_t vartype() const; - void set_vartype(uint32_t value); - private: - uint32_t _internal_vartype() const; - void _internal_set_vartype(uint32_t value); - public: - - // int32 vartypmod = 5 [json_name = "vartypmod"]; - void clear_vartypmod(); - int32_t vartypmod() const; - void set_vartypmod(int32_t value); - private: - int32_t _internal_vartypmod() const; - void _internal_set_vartypmod(int32_t value); - public: - - // uint32 varcollid = 6 [json_name = "varcollid"]; - void clear_varcollid(); - uint32_t varcollid() const; - void set_varcollid(uint32_t value); + // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; + int indirection_size() const; private: - uint32_t _internal_varcollid() const; - void _internal_set_varcollid(uint32_t value); - public: + int _internal_indirection_size() const; - // uint32 varlevelsup = 7 [json_name = "varlevelsup"]; - void clear_varlevelsup(); - uint32_t varlevelsup() const; - void set_varlevelsup(uint32_t value); - private: - uint32_t _internal_varlevelsup() const; - void _internal_set_varlevelsup(uint32_t value); public: - - // uint32 varnosyn = 8 [json_name = "varnosyn"]; - void clear_varnosyn(); - uint32_t varnosyn() const; - void set_varnosyn(uint32_t value); + void clear_indirection() ; + ::pg_query::Node* mutable_indirection(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_indirection(); private: - uint32_t _internal_varnosyn() const; - void _internal_set_varnosyn(uint32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); public: + const ::pg_query::Node& indirection(int index) const; + ::pg_query::Node* add_indirection(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + indirection() const; + // .pg_query.Node arg = 1 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // int32 varattnosyn = 9 [json_name = "varattnosyn"]; - void clear_varattnosyn(); - int32_t varattnosyn() const; - void set_varattnosyn(int32_t value); private: - int32_t _internal_varattnosyn() const; - void _internal_set_varattnosyn(int32_t value); - public: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // int32 location = 10 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.Var) + // @@protoc_insertion_point(class_scope:pg_query.A_Indirection) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - int32_t varno_; - int32_t varattno_; - uint32_t vartype_; - int32_t vartypmod_; - uint32_t varcollid_; - uint32_t varlevelsup_; - uint32_t varnosyn_; - int32_t varattnosyn_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; + ::pg_query::Node* arg_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Param final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Param) */ { +class AccessPriv final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AccessPriv) */ { public: - inline Param() : Param(nullptr) {} - ~Param() override; - explicit PROTOBUF_CONSTEXPR Param(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AccessPriv() : AccessPriv(nullptr) {} + ~AccessPriv() override; + template + explicit PROTOBUF_CONSTEXPR AccessPriv(::google::protobuf::internal::ConstantInitialized); - Param(const Param& from); - Param(Param&& from) noexcept - : Param() { + inline AccessPriv(const AccessPriv& from) + : AccessPriv(nullptr, from) {} + AccessPriv(AccessPriv&& from) noexcept + : AccessPriv() { *this = ::std::move(from); } - inline Param& operator=(const Param& from) { + inline AccessPriv& operator=(const AccessPriv& from) { CopyFrom(from); return *this; } - inline Param& operator=(Param&& from) noexcept { + inline AccessPriv& operator=(AccessPriv&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -11672,206 +12405,184 @@ class Param final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Param& default_instance() { + static const AccessPriv& default_instance() { return *internal_default_instance(); } - static inline const Param* internal_default_instance() { - return reinterpret_cast( - &_Param_default_instance_); + static inline const AccessPriv* internal_default_instance() { + return reinterpret_cast( + &_AccessPriv_default_instance_); } static constexpr int kIndexInFileMessages = - 16; + 159; - friend void swap(Param& a, Param& b) { + friend void swap(AccessPriv& a, AccessPriv& b) { a.Swap(&b); } - inline void Swap(Param* other) { + inline void Swap(AccessPriv* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Param* other) { + void UnsafeArenaSwap(AccessPriv* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Param* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AccessPriv* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Param& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Param& from) { - Param::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AccessPriv& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AccessPriv& from) { + AccessPriv::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Param* other); + void InternalSwap(AccessPriv* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Param"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AccessPriv"; } protected: - explicit Param(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AccessPriv(::google::protobuf::Arena* arena); + AccessPriv(::google::protobuf::Arena* arena, const AccessPriv& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kParamkindFieldNumber = 2, - kParamidFieldNumber = 3, - kParamtypeFieldNumber = 4, - kParamtypmodFieldNumber = 5, - kParamcollidFieldNumber = 6, - kLocationFieldNumber = 7, + kColsFieldNumber = 2, + kPrivNameFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; - void clear_paramkind(); - ::pg_query::ParamKind paramkind() const; - void set_paramkind(::pg_query::ParamKind value); - private: - ::pg_query::ParamKind _internal_paramkind() const; - void _internal_set_paramkind(::pg_query::ParamKind value); - public: - - // int32 paramid = 3 [json_name = "paramid"]; - void clear_paramid(); - int32_t paramid() const; - void set_paramid(int32_t value); + // repeated .pg_query.Node cols = 2 [json_name = "cols"]; + int cols_size() const; private: - int32_t _internal_paramid() const; - void _internal_set_paramid(int32_t value); - public: + int _internal_cols_size() const; - // uint32 paramtype = 4 [json_name = "paramtype"]; - void clear_paramtype(); - uint32_t paramtype() const; - void set_paramtype(uint32_t value); - private: - uint32_t _internal_paramtype() const; - void _internal_set_paramtype(uint32_t value); public: - - // int32 paramtypmod = 5 [json_name = "paramtypmod"]; - void clear_paramtypmod(); - int32_t paramtypmod() const; - void set_paramtypmod(int32_t value); + void clear_cols() ; + ::pg_query::Node* mutable_cols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cols(); private: - int32_t _internal_paramtypmod() const; - void _internal_set_paramtypmod(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cols(); public: + const ::pg_query::Node& cols(int index) const; + ::pg_query::Node* add_cols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cols() const; + // string priv_name = 1 [json_name = "priv_name"]; + void clear_priv_name() ; + const std::string& priv_name() const; + template + void set_priv_name(Arg_&& arg, Args_... args); + std::string* mutable_priv_name(); + PROTOBUF_NODISCARD std::string* release_priv_name(); + void set_allocated_priv_name(std::string* value); - // uint32 paramcollid = 6 [json_name = "paramcollid"]; - void clear_paramcollid(); - uint32_t paramcollid() const; - void set_paramcollid(uint32_t value); private: - uint32_t _internal_paramcollid() const; - void _internal_set_paramcollid(uint32_t value); - public: + const std::string& _internal_priv_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_priv_name( + const std::string& value); + std::string* _internal_mutable_priv_name(); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.Param) + // @@protoc_insertion_point(class_scope:pg_query.AccessPriv) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - int paramkind_; - int32_t paramid_; - uint32_t paramtype_; - int32_t paramtypmod_; - uint32_t paramcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cols_; + ::google::protobuf::internal::ArenaStringPtr priv_name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- class Aggref final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Aggref) */ { + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Aggref) */ { public: inline Aggref() : Aggref(nullptr) {} ~Aggref() override; - explicit PROTOBUF_CONSTEXPR Aggref(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + template + explicit PROTOBUF_CONSTEXPR Aggref(::google::protobuf::internal::ConstantInitialized); - Aggref(const Aggref& from); + inline Aggref(const Aggref& from) + : Aggref(nullptr, from) {} Aggref(Aggref&& from) noexcept : Aggref() { *this = ::std::move(from); @@ -11883,9 +12594,9 @@ class Aggref final : } inline Aggref& operator=(Aggref&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -11895,13 +12606,22 @@ class Aggref final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } static const Aggref& default_instance() { @@ -11912,7 +12632,7 @@ class Aggref final : &_Aggref_default_instance_); } static constexpr int kIndexInFileMessages = - 17; + 18; friend void swap(Aggref& a, Aggref& b) { a.Swap(&b); @@ -11920,397 +12640,411 @@ class Aggref final : inline void Swap(Aggref* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } void UnsafeArenaSwap(Aggref* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Aggref* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { + Aggref* New(::google::protobuf::Arena* arena = nullptr) const final { return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + using ::google::protobuf::Message::CopyFrom; void CopyFrom(const Aggref& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + using ::google::protobuf::Message::MergeFrom; void MergeFrom( const Aggref& from) { Aggref::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; void InternalSwap(Aggref* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { return "pg_query.Aggref"; } protected: - explicit Aggref(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Aggref(::google::protobuf::Arena* arena); + Aggref(::google::protobuf::Arena* arena, const Aggref& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kAggargtypesFieldNumber = 7, - kAggdirectargsFieldNumber = 8, - kArgsFieldNumber = 9, - kAggorderFieldNumber = 10, - kAggdistinctFieldNumber = 11, - kAggkindFieldNumber = 15, + kAggargtypesFieldNumber = 6, + kAggdirectargsFieldNumber = 7, + kArgsFieldNumber = 8, + kAggorderFieldNumber = 9, + kAggdistinctFieldNumber = 10, + kAggkindFieldNumber = 14, kXprFieldNumber = 1, - kAggfilterFieldNumber = 12, + kAggfilterFieldNumber = 11, kAggfnoidFieldNumber = 2, kAggtypeFieldNumber = 3, kAggcollidFieldNumber = 4, kInputcollidFieldNumber = 5, - kAggtranstypeFieldNumber = 6, - kAggstarFieldNumber = 13, - kAggvariadicFieldNumber = 14, - kAgglevelsupFieldNumber = 16, - kAggsplitFieldNumber = 17, - kAggnoFieldNumber = 18, - kAggtransnoFieldNumber = 19, - kLocationFieldNumber = 20, - }; - // repeated .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"]; + kAggstarFieldNumber = 12, + kAggvariadicFieldNumber = 13, + kAgglevelsupFieldNumber = 15, + kAggsplitFieldNumber = 16, + kAggnoFieldNumber = 17, + kAggtransnoFieldNumber = 18, + kLocationFieldNumber = 19, + }; + // repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"]; int aggargtypes_size() const; private: int _internal_aggargtypes_size() const; + public: - void clear_aggargtypes(); + void clear_aggargtypes() ; ::pg_query::Node* mutable_aggargtypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_aggargtypes(); private: - const ::pg_query::Node& _internal_aggargtypes(int index) const; - ::pg_query::Node* _internal_add_aggargtypes(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aggargtypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aggargtypes(); public: const ::pg_query::Node& aggargtypes(int index) const; ::pg_query::Node* add_aggargtypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& aggargtypes() const; - - // repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"]; + // repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"]; int aggdirectargs_size() const; private: int _internal_aggdirectargs_size() const; + public: - void clear_aggdirectargs(); + void clear_aggdirectargs() ; ::pg_query::Node* mutable_aggdirectargs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_aggdirectargs(); private: - const ::pg_query::Node& _internal_aggdirectargs(int index) const; - ::pg_query::Node* _internal_add_aggdirectargs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aggdirectargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aggdirectargs(); public: const ::pg_query::Node& aggdirectargs(int index) const; ::pg_query::Node* add_aggdirectargs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& aggdirectargs() const; - - // repeated .pg_query.Node args = 9 [json_name = "args"]; + // repeated .pg_query.Node args = 8 [json_name = "args"]; int args_size() const; private: int _internal_args_size() const; + public: - void clear_args(); + void clear_args() ; ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_args(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: const ::pg_query::Node& args(int index) const; ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& args() const; - - // repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"]; + // repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"]; int aggorder_size() const; private: int _internal_aggorder_size() const; + public: - void clear_aggorder(); + void clear_aggorder() ; ::pg_query::Node* mutable_aggorder(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_aggorder(); private: - const ::pg_query::Node& _internal_aggorder(int index) const; - ::pg_query::Node* _internal_add_aggorder(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aggorder() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aggorder(); public: const ::pg_query::Node& aggorder(int index) const; ::pg_query::Node* add_aggorder(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& aggorder() const; - - // repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"]; + // repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"]; int aggdistinct_size() const; private: int _internal_aggdistinct_size() const; + public: - void clear_aggdistinct(); + void clear_aggdistinct() ; ::pg_query::Node* mutable_aggdistinct(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_aggdistinct(); private: - const ::pg_query::Node& _internal_aggdistinct(int index) const; - ::pg_query::Node* _internal_add_aggdistinct(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aggdistinct() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aggdistinct(); public: const ::pg_query::Node& aggdistinct(int index) const; ::pg_query::Node* add_aggdistinct(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& aggdistinct() const; - - // string aggkind = 15 [json_name = "aggkind"]; - void clear_aggkind(); + // string aggkind = 14 [json_name = "aggkind"]; + void clear_aggkind() ; const std::string& aggkind() const; - template - void set_aggkind(ArgT0&& arg0, ArgT... args); + template + void set_aggkind(Arg_&& arg, Args_... args); std::string* mutable_aggkind(); PROTOBUF_NODISCARD std::string* release_aggkind(); - void set_allocated_aggkind(std::string* aggkind); + void set_allocated_aggkind(std::string* value); + private: const std::string& _internal_aggkind() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_aggkind(const std::string& value); + inline PROTOBUF_ALWAYS_INLINE void _internal_set_aggkind( + const std::string& value); std::string* _internal_mutable_aggkind(); - public: + public: // .pg_query.Node xpr = 1 [json_name = "xpr"]; bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: const ::pg_query::Node& _internal_xpr() const; ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.Node aggfilter = 12 [json_name = "aggfilter"]; - bool has_aggfilter() const; - private: - bool _internal_has_aggfilter() const; public: - void clear_aggfilter(); + // .pg_query.Node aggfilter = 11 [json_name = "aggfilter"]; + bool has_aggfilter() const; + void clear_aggfilter() ; const ::pg_query::Node& aggfilter() const; PROTOBUF_NODISCARD ::pg_query::Node* release_aggfilter(); ::pg_query::Node* mutable_aggfilter(); - void set_allocated_aggfilter(::pg_query::Node* aggfilter); + void set_allocated_aggfilter(::pg_query::Node* value); + void unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_aggfilter(); + private: const ::pg_query::Node& _internal_aggfilter() const; ::pg_query::Node* _internal_mutable_aggfilter(); - public: - void unsafe_arena_set_allocated_aggfilter( - ::pg_query::Node* aggfilter); - ::pg_query::Node* unsafe_arena_release_aggfilter(); - // uint32 aggfnoid = 2 [json_name = "aggfnoid"]; - void clear_aggfnoid(); - uint32_t aggfnoid() const; - void set_aggfnoid(uint32_t value); - private: - uint32_t _internal_aggfnoid() const; - void _internal_set_aggfnoid(uint32_t value); public: + // uint32 aggfnoid = 2 [json_name = "aggfnoid"]; + void clear_aggfnoid() ; + ::uint32_t aggfnoid() const; + void set_aggfnoid(::uint32_t value); - // uint32 aggtype = 3 [json_name = "aggtype"]; - void clear_aggtype(); - uint32_t aggtype() const; - void set_aggtype(uint32_t value); private: - uint32_t _internal_aggtype() const; - void _internal_set_aggtype(uint32_t value); + ::uint32_t _internal_aggfnoid() const; + void _internal_set_aggfnoid(::uint32_t value); + public: + // uint32 aggtype = 3 [json_name = "aggtype"]; + void clear_aggtype() ; + ::uint32_t aggtype() const; + void set_aggtype(::uint32_t value); - // uint32 aggcollid = 4 [json_name = "aggcollid"]; - void clear_aggcollid(); - uint32_t aggcollid() const; - void set_aggcollid(uint32_t value); private: - uint32_t _internal_aggcollid() const; - void _internal_set_aggcollid(uint32_t value); + ::uint32_t _internal_aggtype() const; + void _internal_set_aggtype(::uint32_t value); + public: + // uint32 aggcollid = 4 [json_name = "aggcollid"]; + void clear_aggcollid() ; + ::uint32_t aggcollid() const; + void set_aggcollid(::uint32_t value); - // uint32 inputcollid = 5 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); + ::uint32_t _internal_aggcollid() const; + void _internal_set_aggcollid(::uint32_t value); + public: + // uint32 inputcollid = 5 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); - // uint32 aggtranstype = 6 [json_name = "aggtranstype"]; - void clear_aggtranstype(); - uint32_t aggtranstype() const; - void set_aggtranstype(uint32_t value); private: - uint32_t _internal_aggtranstype() const; - void _internal_set_aggtranstype(uint32_t value); - public: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); - // bool aggstar = 13 [json_name = "aggstar"]; - void clear_aggstar(); + public: + // bool aggstar = 12 [json_name = "aggstar"]; + void clear_aggstar() ; bool aggstar() const; void set_aggstar(bool value); + private: bool _internal_aggstar() const; void _internal_set_aggstar(bool value); - public: - // bool aggvariadic = 14 [json_name = "aggvariadic"]; - void clear_aggvariadic(); + public: + // bool aggvariadic = 13 [json_name = "aggvariadic"]; + void clear_aggvariadic() ; bool aggvariadic() const; void set_aggvariadic(bool value); + private: bool _internal_aggvariadic() const; void _internal_set_aggvariadic(bool value); + public: + // uint32 agglevelsup = 15 [json_name = "agglevelsup"]; + void clear_agglevelsup() ; + ::uint32_t agglevelsup() const; + void set_agglevelsup(::uint32_t value); - // uint32 agglevelsup = 16 [json_name = "agglevelsup"]; - void clear_agglevelsup(); - uint32_t agglevelsup() const; - void set_agglevelsup(uint32_t value); private: - uint32_t _internal_agglevelsup() const; - void _internal_set_agglevelsup(uint32_t value); - public: + ::uint32_t _internal_agglevelsup() const; + void _internal_set_agglevelsup(::uint32_t value); - // .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"]; - void clear_aggsplit(); + public: + // .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"]; + void clear_aggsplit() ; ::pg_query::AggSplit aggsplit() const; void set_aggsplit(::pg_query::AggSplit value); + private: ::pg_query::AggSplit _internal_aggsplit() const; void _internal_set_aggsplit(::pg_query::AggSplit value); + public: + // int32 aggno = 17 [json_name = "aggno"]; + void clear_aggno() ; + ::int32_t aggno() const; + void set_aggno(::int32_t value); - // int32 aggno = 18 [json_name = "aggno"]; - void clear_aggno(); - int32_t aggno() const; - void set_aggno(int32_t value); private: - int32_t _internal_aggno() const; - void _internal_set_aggno(int32_t value); + ::int32_t _internal_aggno() const; + void _internal_set_aggno(::int32_t value); + public: + // int32 aggtransno = 18 [json_name = "aggtransno"]; + void clear_aggtransno() ; + ::int32_t aggtransno() const; + void set_aggtransno(::int32_t value); - // int32 aggtransno = 19 [json_name = "aggtransno"]; - void clear_aggtransno(); - int32_t aggtransno() const; - void set_aggtransno(int32_t value); private: - int32_t _internal_aggtransno() const; - void _internal_set_aggtransno(int32_t value); + ::int32_t _internal_aggtransno() const; + void _internal_set_aggtransno(::int32_t value); + public: + // int32 location = 19 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 location = 20 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: // @@protoc_insertion_point(class_scope:pg_query.Aggref) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 19, 7, + 47, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aggargtypes_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aggdirectargs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aggorder_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aggdistinct_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr aggkind_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aggargtypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aggdirectargs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aggorder_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aggdistinct_; + ::google::protobuf::internal::ArenaStringPtr aggkind_; ::pg_query::Node* xpr_; ::pg_query::Node* aggfilter_; - uint32_t aggfnoid_; - uint32_t aggtype_; - uint32_t aggcollid_; - uint32_t inputcollid_; - uint32_t aggtranstype_; + ::uint32_t aggfnoid_; + ::uint32_t aggtype_; + ::uint32_t aggcollid_; + ::uint32_t inputcollid_; bool aggstar_; bool aggvariadic_; - uint32_t agglevelsup_; + ::uint32_t agglevelsup_; int aggsplit_; - int32_t aggno_; - int32_t aggtransno_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::int32_t aggno_; + ::int32_t aggtransno_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class GroupingFunc final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.GroupingFunc) */ { +class Alias final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Alias) */ { public: - inline GroupingFunc() : GroupingFunc(nullptr) {} - ~GroupingFunc() override; - explicit PROTOBUF_CONSTEXPR GroupingFunc(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Alias() : Alias(nullptr) {} + ~Alias() override; + template + explicit PROTOBUF_CONSTEXPR Alias(::google::protobuf::internal::ConstantInitialized); - GroupingFunc(const GroupingFunc& from); - GroupingFunc(GroupingFunc&& from) noexcept - : GroupingFunc() { + inline Alias(const Alias& from) + : Alias(nullptr, from) {} + Alias(Alias&& from) noexcept + : Alias() { *this = ::std::move(from); } - inline GroupingFunc& operator=(const GroupingFunc& from) { + inline Alias& operator=(const Alias& from) { CopyFrom(from); return *this; } - inline GroupingFunc& operator=(GroupingFunc&& from) noexcept { + inline Alias& operator=(Alias&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -12320,236 +13054,198 @@ class GroupingFunc final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GroupingFunc& default_instance() { + static const Alias& default_instance() { return *internal_default_instance(); } - static inline const GroupingFunc* internal_default_instance() { - return reinterpret_cast( - &_GroupingFunc_default_instance_); + static inline const Alias* internal_default_instance() { + return reinterpret_cast( + &_Alias_default_instance_); } static constexpr int kIndexInFileMessages = - 18; + 12; - friend void swap(GroupingFunc& a, GroupingFunc& b) { + friend void swap(Alias& a, Alias& b) { a.Swap(&b); } - inline void Swap(GroupingFunc* other) { + inline void Swap(Alias* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GroupingFunc* other) { + void UnsafeArenaSwap(Alias* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - GroupingFunc* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Alias* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GroupingFunc& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const GroupingFunc& from) { - GroupingFunc::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Alias& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Alias& from) { + Alias::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(GroupingFunc* other); + void InternalSwap(Alias* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.GroupingFunc"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Alias"; } protected: - explicit GroupingFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Alias(::google::protobuf::Arena* arena); + Alias(::google::protobuf::Arena* arena, const Alias& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 2, - kRefsFieldNumber = 3, - kColsFieldNumber = 4, - kXprFieldNumber = 1, - kAgglevelsupFieldNumber = 5, - kLocationFieldNumber = 6, + kColnamesFieldNumber = 2, + kAliasnameFieldNumber = 1, }; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // repeated .pg_query.Node refs = 3 [json_name = "refs"]; - int refs_size() const; - private: - int _internal_refs_size() const; - public: - void clear_refs(); - ::pg_query::Node* mutable_refs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_refs(); - private: - const ::pg_query::Node& _internal_refs(int index) const; - ::pg_query::Node* _internal_add_refs(); - public: - const ::pg_query::Node& refs(int index) const; - ::pg_query::Node* add_refs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - refs() const; - - // repeated .pg_query.Node cols = 4 [json_name = "cols"]; - int cols_size() const; - private: - int _internal_cols_size() const; - public: - void clear_cols(); - ::pg_query::Node* mutable_cols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cols(); + // repeated .pg_query.Node colnames = 2 [json_name = "colnames"]; + int colnames_size() const; private: - const ::pg_query::Node& _internal_cols(int index) const; - ::pg_query::Node* _internal_add_cols(); - public: - const ::pg_query::Node& cols(int index) const; - ::pg_query::Node* add_cols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cols() const; + int _internal_colnames_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_colnames() ; + ::pg_query::Node* mutable_colnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colnames(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& colnames(int index) const; + ::pg_query::Node* add_colnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colnames() const; + // string aliasname = 1 [json_name = "aliasname"]; + void clear_aliasname() ; + const std::string& aliasname() const; + template + void set_aliasname(Arg_&& arg, Args_... args); + std::string* mutable_aliasname(); + PROTOBUF_NODISCARD std::string* release_aliasname(); + void set_allocated_aliasname(std::string* value); - // uint32 agglevelsup = 5 [json_name = "agglevelsup"]; - void clear_agglevelsup(); - uint32_t agglevelsup() const; - void set_agglevelsup(uint32_t value); private: - uint32_t _internal_agglevelsup() const; - void _internal_set_agglevelsup(uint32_t value); - public: + const std::string& _internal_aliasname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_aliasname( + const std::string& value); + std::string* _internal_mutable_aliasname(); - // int32 location = 6 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.GroupingFunc) + // @@protoc_insertion_point(class_scope:pg_query.Alias) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 32, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > refs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cols_; - ::pg_query::Node* xpr_; - uint32_t agglevelsup_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; + ::google::protobuf::internal::ArenaStringPtr aliasname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class WindowFunc final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFunc) */ { +class AlterCollationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterCollationStmt) */ { public: - inline WindowFunc() : WindowFunc(nullptr) {} - ~WindowFunc() override; - explicit PROTOBUF_CONSTEXPR WindowFunc(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterCollationStmt() : AlterCollationStmt(nullptr) {} + ~AlterCollationStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterCollationStmt(::google::protobuf::internal::ConstantInitialized); - WindowFunc(const WindowFunc& from); - WindowFunc(WindowFunc&& from) noexcept - : WindowFunc() { + inline AlterCollationStmt(const AlterCollationStmt& from) + : AlterCollationStmt(nullptr, from) {} + AlterCollationStmt(AlterCollationStmt&& from) noexcept + : AlterCollationStmt() { *this = ::std::move(from); } - inline WindowFunc& operator=(const WindowFunc& from) { + inline AlterCollationStmt& operator=(const AlterCollationStmt& from) { CopyFrom(from); return *this; } - inline WindowFunc& operator=(WindowFunc&& from) noexcept { + inline AlterCollationStmt& operator=(AlterCollationStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -12559,282 +13255,180 @@ class WindowFunc final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowFunc& default_instance() { + static const AlterCollationStmt& default_instance() { return *internal_default_instance(); } - static inline const WindowFunc* internal_default_instance() { - return reinterpret_cast( - &_WindowFunc_default_instance_); - } - static constexpr int kIndexInFileMessages = - 19; + static inline const AlterCollationStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterCollationStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 155; - friend void swap(WindowFunc& a, WindowFunc& b) { + friend void swap(AlterCollationStmt& a, AlterCollationStmt& b) { a.Swap(&b); } - inline void Swap(WindowFunc* other) { + inline void Swap(AlterCollationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowFunc* other) { + void UnsafeArenaSwap(AlterCollationStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - WindowFunc* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterCollationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const WindowFunc& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const WindowFunc& from) { - WindowFunc::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterCollationStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterCollationStmt& from) { + AlterCollationStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(WindowFunc* other); + void InternalSwap(AlterCollationStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.WindowFunc"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterCollationStmt"; } protected: - explicit WindowFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterCollationStmt(::google::protobuf::Arena* arena); + AlterCollationStmt(::google::protobuf::Arena* arena, const AlterCollationStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 6, - kXprFieldNumber = 1, - kAggfilterFieldNumber = 7, - kWinfnoidFieldNumber = 2, - kWintypeFieldNumber = 3, - kWincollidFieldNumber = 4, - kInputcollidFieldNumber = 5, - kWinrefFieldNumber = 8, - kWinstarFieldNumber = 9, - kWinaggFieldNumber = 10, - kLocationFieldNumber = 11, + kCollnameFieldNumber = 1, }; - // repeated .pg_query.Node args = 6 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; - bool has_aggfilter() const; - private: - bool _internal_has_aggfilter() const; - public: - void clear_aggfilter(); - const ::pg_query::Node& aggfilter() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_aggfilter(); - ::pg_query::Node* mutable_aggfilter(); - void set_allocated_aggfilter(::pg_query::Node* aggfilter); - private: - const ::pg_query::Node& _internal_aggfilter() const; - ::pg_query::Node* _internal_mutable_aggfilter(); - public: - void unsafe_arena_set_allocated_aggfilter( - ::pg_query::Node* aggfilter); - ::pg_query::Node* unsafe_arena_release_aggfilter(); - - // uint32 winfnoid = 2 [json_name = "winfnoid"]; - void clear_winfnoid(); - uint32_t winfnoid() const; - void set_winfnoid(uint32_t value); - private: - uint32_t _internal_winfnoid() const; - void _internal_set_winfnoid(uint32_t value); - public: - - // uint32 wintype = 3 [json_name = "wintype"]; - void clear_wintype(); - uint32_t wintype() const; - void set_wintype(uint32_t value); - private: - uint32_t _internal_wintype() const; - void _internal_set_wintype(uint32_t value); - public: - - // uint32 wincollid = 4 [json_name = "wincollid"]; - void clear_wincollid(); - uint32_t wincollid() const; - void set_wincollid(uint32_t value); - private: - uint32_t _internal_wincollid() const; - void _internal_set_wincollid(uint32_t value); - public: - - // uint32 inputcollid = 5 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); - private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); - public: - - // uint32 winref = 8 [json_name = "winref"]; - void clear_winref(); - uint32_t winref() const; - void set_winref(uint32_t value); - private: - uint32_t _internal_winref() const; - void _internal_set_winref(uint32_t value); - public: - - // bool winstar = 9 [json_name = "winstar"]; - void clear_winstar(); - bool winstar() const; - void set_winstar(bool value); + // repeated .pg_query.Node collname = 1 [json_name = "collname"]; + int collname_size() const; private: - bool _internal_winstar() const; - void _internal_set_winstar(bool value); - public: + int _internal_collname_size() const; - // bool winagg = 10 [json_name = "winagg"]; - void clear_winagg(); - bool winagg() const; - void set_winagg(bool value); - private: - bool _internal_winagg() const; - void _internal_set_winagg(bool value); public: - - // int32 location = 11 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); + void clear_collname() ; + ::pg_query::Node* mutable_collname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_collname(); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collname(); public: - - // @@protoc_insertion_point(class_scope:pg_query.WindowFunc) + const ::pg_query::Node& collname(int index) const; + ::pg_query::Node* add_collname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + collname() const; + // @@protoc_insertion_point(class_scope:pg_query.AlterCollationStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::pg_query::Node* aggfilter_; - uint32_t winfnoid_; - uint32_t wintype_; - uint32_t wincollid_; - uint32_t inputcollid_; - uint32_t winref_; - bool winstar_; - bool winagg_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SubscriptingRef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SubscriptingRef) */ { +class AlterDatabaseSetStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseSetStmt) */ { public: - inline SubscriptingRef() : SubscriptingRef(nullptr) {} - ~SubscriptingRef() override; - explicit PROTOBUF_CONSTEXPR SubscriptingRef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterDatabaseSetStmt() : AlterDatabaseSetStmt(nullptr) {} + ~AlterDatabaseSetStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterDatabaseSetStmt(::google::protobuf::internal::ConstantInitialized); - SubscriptingRef(const SubscriptingRef& from); - SubscriptingRef(SubscriptingRef&& from) noexcept - : SubscriptingRef() { + inline AlterDatabaseSetStmt(const AlterDatabaseSetStmt& from) + : AlterDatabaseSetStmt(nullptr, from) {} + AlterDatabaseSetStmt(AlterDatabaseSetStmt&& from) noexcept + : AlterDatabaseSetStmt() { *this = ::std::move(from); } - inline SubscriptingRef& operator=(const SubscriptingRef& from) { + inline AlterDatabaseSetStmt& operator=(const AlterDatabaseSetStmt& from) { CopyFrom(from); return *this; } - inline SubscriptingRef& operator=(SubscriptingRef&& from) noexcept { + inline AlterDatabaseSetStmt& operator=(AlterDatabaseSetStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -12844,289 +13438,196 @@ class SubscriptingRef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubscriptingRef& default_instance() { + static const AlterDatabaseSetStmt& default_instance() { return *internal_default_instance(); } - static inline const SubscriptingRef* internal_default_instance() { - return reinterpret_cast( - &_SubscriptingRef_default_instance_); + static inline const AlterDatabaseSetStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterDatabaseSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 20; + 240; - friend void swap(SubscriptingRef& a, SubscriptingRef& b) { + friend void swap(AlterDatabaseSetStmt& a, AlterDatabaseSetStmt& b) { a.Swap(&b); } - inline void Swap(SubscriptingRef* other) { + inline void Swap(AlterDatabaseSetStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubscriptingRef* other) { + void UnsafeArenaSwap(AlterDatabaseSetStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SubscriptingRef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterDatabaseSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SubscriptingRef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SubscriptingRef& from) { - SubscriptingRef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterDatabaseSetStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterDatabaseSetStmt& from) { + AlterDatabaseSetStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SubscriptingRef* other); + void InternalSwap(AlterDatabaseSetStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SubscriptingRef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterDatabaseSetStmt"; } protected: - explicit SubscriptingRef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterDatabaseSetStmt(::google::protobuf::Arena* arena); + AlterDatabaseSetStmt(::google::protobuf::Arena* arena, const AlterDatabaseSetStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRefupperindexprFieldNumber = 7, - kReflowerindexprFieldNumber = 8, - kXprFieldNumber = 1, - kRefexprFieldNumber = 9, - kRefassgnexprFieldNumber = 10, - kRefcontainertypeFieldNumber = 2, - kRefelemtypeFieldNumber = 3, - kRefrestypeFieldNumber = 4, - kReftypmodFieldNumber = 5, - kRefcollidFieldNumber = 6, + kDbnameFieldNumber = 1, + kSetstmtFieldNumber = 2, }; - // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; - int refupperindexpr_size() const; - private: - int _internal_refupperindexpr_size() const; - public: - void clear_refupperindexpr(); - ::pg_query::Node* mutable_refupperindexpr(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_refupperindexpr(); - private: - const ::pg_query::Node& _internal_refupperindexpr(int index) const; - ::pg_query::Node* _internal_add_refupperindexpr(); - public: - const ::pg_query::Node& refupperindexpr(int index) const; - ::pg_query::Node* add_refupperindexpr(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - refupperindexpr() const; - - // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; - int reflowerindexpr_size() const; - private: - int _internal_reflowerindexpr_size() const; - public: - void clear_reflowerindexpr(); - ::pg_query::Node* mutable_reflowerindexpr(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_reflowerindexpr(); - private: - const ::pg_query::Node& _internal_reflowerindexpr(int index) const; - ::pg_query::Node* _internal_add_reflowerindexpr(); - public: - const ::pg_query::Node& reflowerindexpr(int index) const; - ::pg_query::Node* add_reflowerindexpr(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - reflowerindexpr() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.Node refexpr = 9 [json_name = "refexpr"]; - bool has_refexpr() const; - private: - bool _internal_has_refexpr() const; - public: - void clear_refexpr(); - const ::pg_query::Node& refexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_refexpr(); - ::pg_query::Node* mutable_refexpr(); - void set_allocated_refexpr(::pg_query::Node* refexpr); - private: - const ::pg_query::Node& _internal_refexpr() const; - ::pg_query::Node* _internal_mutable_refexpr(); - public: - void unsafe_arena_set_allocated_refexpr( - ::pg_query::Node* refexpr); - ::pg_query::Node* unsafe_arena_release_refexpr(); - - // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; - bool has_refassgnexpr() const; - private: - bool _internal_has_refassgnexpr() const; - public: - void clear_refassgnexpr(); - const ::pg_query::Node& refassgnexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_refassgnexpr(); - ::pg_query::Node* mutable_refassgnexpr(); - void set_allocated_refassgnexpr(::pg_query::Node* refassgnexpr); - private: - const ::pg_query::Node& _internal_refassgnexpr() const; - ::pg_query::Node* _internal_mutable_refassgnexpr(); - public: - void unsafe_arena_set_allocated_refassgnexpr( - ::pg_query::Node* refassgnexpr); - ::pg_query::Node* unsafe_arena_release_refassgnexpr(); - - // uint32 refcontainertype = 2 [json_name = "refcontainertype"]; - void clear_refcontainertype(); - uint32_t refcontainertype() const; - void set_refcontainertype(uint32_t value); - private: - uint32_t _internal_refcontainertype() const; - void _internal_set_refcontainertype(uint32_t value); - public: + // string dbname = 1 [json_name = "dbname"]; + void clear_dbname() ; + const std::string& dbname() const; + template + void set_dbname(Arg_&& arg, Args_... args); + std::string* mutable_dbname(); + PROTOBUF_NODISCARD std::string* release_dbname(); + void set_allocated_dbname(std::string* value); - // uint32 refelemtype = 3 [json_name = "refelemtype"]; - void clear_refelemtype(); - uint32_t refelemtype() const; - void set_refelemtype(uint32_t value); private: - uint32_t _internal_refelemtype() const; - void _internal_set_refelemtype(uint32_t value); - public: + const std::string& _internal_dbname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname( + const std::string& value); + std::string* _internal_mutable_dbname(); - // uint32 refrestype = 4 [json_name = "refrestype"]; - void clear_refrestype(); - uint32_t refrestype() const; - void set_refrestype(uint32_t value); - private: - uint32_t _internal_refrestype() const; - void _internal_set_refrestype(uint32_t value); public: + // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"]; + bool has_setstmt() const; + void clear_setstmt() ; + const ::pg_query::VariableSetStmt& setstmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); + ::pg_query::VariableSetStmt* mutable_setstmt(); + void set_allocated_setstmt(::pg_query::VariableSetStmt* value); + void unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value); + ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); - // int32 reftypmod = 5 [json_name = "reftypmod"]; - void clear_reftypmod(); - int32_t reftypmod() const; - void set_reftypmod(int32_t value); private: - int32_t _internal_reftypmod() const; - void _internal_set_reftypmod(int32_t value); - public: + const ::pg_query::VariableSetStmt& _internal_setstmt() const; + ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); - // uint32 refcollid = 6 [json_name = "refcollid"]; - void clear_refcollid(); - uint32_t refcollid() const; - void set_refcollid(uint32_t value); - private: - uint32_t _internal_refcollid() const; - void _internal_set_refcollid(uint32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.SubscriptingRef) + // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseSetStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > refupperindexpr_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > reflowerindexpr_; - ::pg_query::Node* xpr_; - ::pg_query::Node* refexpr_; - ::pg_query::Node* refassgnexpr_; - uint32_t refcontainertype_; - uint32_t refelemtype_; - uint32_t refrestype_; - int32_t reftypmod_; - uint32_t refcollid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr dbname_; + ::pg_query::VariableSetStmt* setstmt_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FuncExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FuncExpr) */ { +class AlterDatabaseStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseStmt) */ { public: - inline FuncExpr() : FuncExpr(nullptr) {} - ~FuncExpr() override; - explicit PROTOBUF_CONSTEXPR FuncExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterDatabaseStmt() : AlterDatabaseStmt(nullptr) {} + ~AlterDatabaseStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterDatabaseStmt(::google::protobuf::internal::ConstantInitialized); - FuncExpr(const FuncExpr& from); - FuncExpr(FuncExpr&& from) noexcept - : FuncExpr() { + inline AlterDatabaseStmt(const AlterDatabaseStmt& from) + : AlterDatabaseStmt(nullptr, from) {} + AlterDatabaseStmt(AlterDatabaseStmt&& from) noexcept + : AlterDatabaseStmt() { *this = ::std::move(from); } - inline FuncExpr& operator=(const FuncExpr& from) { + inline AlterDatabaseStmt& operator=(const AlterDatabaseStmt& from) { CopyFrom(from); return *this; } - inline FuncExpr& operator=(FuncExpr&& from) noexcept { + inline AlterDatabaseStmt& operator=(AlterDatabaseStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -13136,262 +13637,198 @@ class FuncExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FuncExpr& default_instance() { + static const AlterDatabaseStmt& default_instance() { return *internal_default_instance(); } - static inline const FuncExpr* internal_default_instance() { - return reinterpret_cast( - &_FuncExpr_default_instance_); + static inline const AlterDatabaseStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterDatabaseStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 21; + 238; - friend void swap(FuncExpr& a, FuncExpr& b) { + friend void swap(AlterDatabaseStmt& a, AlterDatabaseStmt& b) { a.Swap(&b); } - inline void Swap(FuncExpr* other) { + inline void Swap(AlterDatabaseStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FuncExpr* other) { + void UnsafeArenaSwap(AlterDatabaseStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FuncExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterDatabaseStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FuncExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FuncExpr& from) { - FuncExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterDatabaseStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterDatabaseStmt& from) { + AlterDatabaseStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FuncExpr* other); + void InternalSwap(AlterDatabaseStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FuncExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterDatabaseStmt"; } protected: - explicit FuncExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterDatabaseStmt(::google::protobuf::Arena* arena); + AlterDatabaseStmt(::google::protobuf::Arena* arena, const AlterDatabaseStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 9, - kXprFieldNumber = 1, - kFuncidFieldNumber = 2, - kFuncresulttypeFieldNumber = 3, - kFuncretsetFieldNumber = 4, - kFuncvariadicFieldNumber = 5, - kFuncformatFieldNumber = 6, - kFunccollidFieldNumber = 7, - kInputcollidFieldNumber = 8, - kLocationFieldNumber = 10, + kOptionsFieldNumber = 2, + kDbnameFieldNumber = 1, }; - // repeated .pg_query.Node args = 9 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // uint32 funcid = 2 [json_name = "funcid"]; - void clear_funcid(); - uint32_t funcid() const; - void set_funcid(uint32_t value); - private: - uint32_t _internal_funcid() const; - void _internal_set_funcid(uint32_t value); - public: - - // uint32 funcresulttype = 3 [json_name = "funcresulttype"]; - void clear_funcresulttype(); - uint32_t funcresulttype() const; - void set_funcresulttype(uint32_t value); - private: - uint32_t _internal_funcresulttype() const; - void _internal_set_funcresulttype(uint32_t value); - public: - - // bool funcretset = 4 [json_name = "funcretset"]; - void clear_funcretset(); - bool funcretset() const; - void set_funcretset(bool value); - private: - bool _internal_funcretset() const; - void _internal_set_funcretset(bool value); - public: - - // bool funcvariadic = 5 [json_name = "funcvariadic"]; - void clear_funcvariadic(); - bool funcvariadic() const; - void set_funcvariadic(bool value); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - bool _internal_funcvariadic() const; - void _internal_set_funcvariadic(bool value); - public: + int _internal_options_size() const; - // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"]; - void clear_funcformat(); - ::pg_query::CoercionForm funcformat() const; - void set_funcformat(::pg_query::CoercionForm value); - private: - ::pg_query::CoercionForm _internal_funcformat() const; - void _internal_set_funcformat(::pg_query::CoercionForm value); public: - - // uint32 funccollid = 7 [json_name = "funccollid"]; - void clear_funccollid(); - uint32_t funccollid() const; - void set_funccollid(uint32_t value); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - uint32_t _internal_funccollid() const; - void _internal_set_funccollid(uint32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string dbname = 1 [json_name = "dbname"]; + void clear_dbname() ; + const std::string& dbname() const; + template + void set_dbname(Arg_&& arg, Args_... args); + std::string* mutable_dbname(); + PROTOBUF_NODISCARD std::string* release_dbname(); + void set_allocated_dbname(std::string* value); - // uint32 inputcollid = 8 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); - public: + const std::string& _internal_dbname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname( + const std::string& value); + std::string* _internal_mutable_dbname(); - // int32 location = 10 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.FuncExpr) + // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 41, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t funcid_; - uint32_t funcresulttype_; - bool funcretset_; - bool funcvariadic_; - int funcformat_; - uint32_t funccollid_; - uint32_t inputcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr dbname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class NamedArgExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.NamedArgExpr) */ { +class AlterDefaultPrivilegesStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDefaultPrivilegesStmt) */ { public: - inline NamedArgExpr() : NamedArgExpr(nullptr) {} - ~NamedArgExpr() override; - explicit PROTOBUF_CONSTEXPR NamedArgExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterDefaultPrivilegesStmt() : AlterDefaultPrivilegesStmt(nullptr) {} + ~AlterDefaultPrivilegesStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmt(::google::protobuf::internal::ConstantInitialized); - NamedArgExpr(const NamedArgExpr& from); - NamedArgExpr(NamedArgExpr&& from) noexcept - : NamedArgExpr() { + inline AlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt& from) + : AlterDefaultPrivilegesStmt(nullptr, from) {} + AlterDefaultPrivilegesStmt(AlterDefaultPrivilegesStmt&& from) noexcept + : AlterDefaultPrivilegesStmt() { *this = ::std::move(from); } - inline NamedArgExpr& operator=(const NamedArgExpr& from) { + inline AlterDefaultPrivilegesStmt& operator=(const AlterDefaultPrivilegesStmt& from) { CopyFrom(from); return *this; } - inline NamedArgExpr& operator=(NamedArgExpr&& from) noexcept { + inline AlterDefaultPrivilegesStmt& operator=(AlterDefaultPrivilegesStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -13401,212 +13838,198 @@ class NamedArgExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NamedArgExpr& default_instance() { + static const AlterDefaultPrivilegesStmt& default_instance() { return *internal_default_instance(); } - static inline const NamedArgExpr* internal_default_instance() { - return reinterpret_cast( - &_NamedArgExpr_default_instance_); + static inline const AlterDefaultPrivilegesStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterDefaultPrivilegesStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 22; + 161; - friend void swap(NamedArgExpr& a, NamedArgExpr& b) { + friend void swap(AlterDefaultPrivilegesStmt& a, AlterDefaultPrivilegesStmt& b) { a.Swap(&b); } - inline void Swap(NamedArgExpr* other) { + inline void Swap(AlterDefaultPrivilegesStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NamedArgExpr* other) { + void UnsafeArenaSwap(AlterDefaultPrivilegesStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - NamedArgExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterDefaultPrivilegesStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const NamedArgExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const NamedArgExpr& from) { - NamedArgExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterDefaultPrivilegesStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterDefaultPrivilegesStmt& from) { + AlterDefaultPrivilegesStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(NamedArgExpr* other); + void InternalSwap(AlterDefaultPrivilegesStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.NamedArgExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterDefaultPrivilegesStmt"; } protected: - explicit NamedArgExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterDefaultPrivilegesStmt(::google::protobuf::Arena* arena); + AlterDefaultPrivilegesStmt(::google::protobuf::Arena* arena, const AlterDefaultPrivilegesStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 3, - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kArgnumberFieldNumber = 4, - kLocationFieldNumber = 5, + kOptionsFieldNumber = 1, + kActionFieldNumber = 2, }; - // string name = 3 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // repeated .pg_query.Node options = 1 [json_name = "options"]; + int options_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: + int _internal_options_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.GrantStmt action = 2 [json_name = "action"]; + bool has_action() const; + void clear_action() ; + const ::pg_query::GrantStmt& action() const; + PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_action(); + ::pg_query::GrantStmt* mutable_action(); + void set_allocated_action(::pg_query::GrantStmt* value); + void unsafe_arena_set_allocated_action(::pg_query::GrantStmt* value); + ::pg_query::GrantStmt* unsafe_arena_release_action(); - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; private: - bool _internal_has_arg() const; + const ::pg_query::GrantStmt& _internal_action() const; + ::pg_query::GrantStmt* _internal_mutable_action(); + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); - private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); - - // int32 argnumber = 4 [json_name = "argnumber"]; - void clear_argnumber(); - int32_t argnumber() const; - void set_argnumber(int32_t value); - private: - int32_t _internal_argnumber() const; - void _internal_set_argnumber(int32_t value); - public: - - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.NamedArgExpr) + // @@protoc_insertion_point(class_scope:pg_query.AlterDefaultPrivilegesStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - int32_t argnumber_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::GrantStmt* action_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class OpExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.OpExpr) */ { +class AlterDomainStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDomainStmt) */ { public: - inline OpExpr() : OpExpr(nullptr) {} - ~OpExpr() override; - explicit PROTOBUF_CONSTEXPR OpExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterDomainStmt() : AlterDomainStmt(nullptr) {} + ~AlterDomainStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterDomainStmt(::google::protobuf::internal::ConstantInitialized); - OpExpr(const OpExpr& from); - OpExpr(OpExpr&& from) noexcept - : OpExpr() { + inline AlterDomainStmt(const AlterDomainStmt& from) + : AlterDomainStmt(nullptr, from) {} + AlterDomainStmt(AlterDomainStmt&& from) noexcept + : AlterDomainStmt() { *this = ::std::move(from); } - inline OpExpr& operator=(const OpExpr& from) { + inline AlterDomainStmt& operator=(const AlterDomainStmt& from) { CopyFrom(from); return *this; } - inline OpExpr& operator=(OpExpr&& from) noexcept { + inline AlterDomainStmt& operator=(AlterDomainStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -13616,251 +14039,258 @@ class OpExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const OpExpr& default_instance() { + static const AlterDomainStmt& default_instance() { return *internal_default_instance(); } - static inline const OpExpr* internal_default_instance() { - return reinterpret_cast( - &_OpExpr_default_instance_); + static inline const AlterDomainStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterDomainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 23; + 156; - friend void swap(OpExpr& a, OpExpr& b) { + friend void swap(AlterDomainStmt& a, AlterDomainStmt& b) { a.Swap(&b); } - inline void Swap(OpExpr* other) { + inline void Swap(AlterDomainStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(OpExpr* other) { + void UnsafeArenaSwap(AlterDomainStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - OpExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterDomainStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const OpExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const OpExpr& from) { - OpExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterDomainStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterDomainStmt& from) { + AlterDomainStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(OpExpr* other); + void InternalSwap(AlterDomainStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.OpExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterDomainStmt"; } protected: - explicit OpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterDomainStmt(::google::protobuf::Arena* arena); + AlterDomainStmt(::google::protobuf::Arena* arena, const AlterDomainStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 8, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpfuncidFieldNumber = 3, - kOpresulttypeFieldNumber = 4, - kOpretsetFieldNumber = 5, - kOpcollidFieldNumber = 6, - kInputcollidFieldNumber = 7, - kLocationFieldNumber = 9, + kTypeNameFieldNumber = 2, + kSubtypeFieldNumber = 1, + kNameFieldNumber = 3, + kDefFieldNumber = 4, + kBehaviorFieldNumber = 5, + kMissingOkFieldNumber = 6, }; - // repeated .pg_query.Node args = 8 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // repeated .pg_query.Node type_name = 2 [json_name = "typeName"]; + int type_name_size() const; private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + int _internal_type_name_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_type_name() ; + ::pg_query::Node* mutable_type_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_type_name(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_type_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_type_name(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& type_name(int index) const; + ::pg_query::Node* add_type_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + type_name() const; + // string subtype = 1 [json_name = "subtype"]; + void clear_subtype() ; + const std::string& subtype() const; + template + void set_subtype(Arg_&& arg, Args_... args); + std::string* mutable_subtype(); + PROTOBUF_NODISCARD std::string* release_subtype(); + void set_allocated_subtype(std::string* value); - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno(); - uint32_t opno() const; - void set_opno(uint32_t value); private: - uint32_t _internal_opno() const; - void _internal_set_opno(uint32_t value); - public: + const std::string& _internal_subtype() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subtype( + const std::string& value); + std::string* _internal_mutable_subtype(); - // uint32 opfuncid = 3 [json_name = "opfuncid"]; - void clear_opfuncid(); - uint32_t opfuncid() const; - void set_opfuncid(uint32_t value); - private: - uint32_t _internal_opfuncid() const; - void _internal_set_opfuncid(uint32_t value); public: + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // uint32 opresulttype = 4 [json_name = "opresulttype"]; - void clear_opresulttype(); - uint32_t opresulttype() const; - void set_opresulttype(uint32_t value); private: - uint32_t _internal_opresulttype() const; - void _internal_set_opresulttype(uint32_t value); - public: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // bool opretset = 5 [json_name = "opretset"]; - void clear_opretset(); - bool opretset() const; - void set_opretset(bool value); - private: - bool _internal_opretset() const; - void _internal_set_opretset(bool value); public: + // .pg_query.Node def = 4 [json_name = "def"]; + bool has_def() const; + void clear_def() ; + const ::pg_query::Node& def() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_def(); + ::pg_query::Node* mutable_def(); + void set_allocated_def(::pg_query::Node* value); + void unsafe_arena_set_allocated_def(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_def(); - // uint32 opcollid = 6 [json_name = "opcollid"]; - void clear_opcollid(); - uint32_t opcollid() const; - void set_opcollid(uint32_t value); private: - uint32_t _internal_opcollid() const; - void _internal_set_opcollid(uint32_t value); + const ::pg_query::Node& _internal_def() const; + ::pg_query::Node* _internal_mutable_def(); + public: + // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // uint32 inputcollid = 7 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + public: + // bool missing_ok = 6 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // int32 location = 9 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.OpExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterDomainStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t opno_; - uint32_t opfuncid_; - uint32_t opresulttype_; - bool opretset_; - uint32_t opcollid_; - uint32_t inputcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > type_name_; + ::google::protobuf::internal::ArenaStringPtr subtype_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* def_; + int behavior_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DistinctExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DistinctExpr) */ { +class AlterEnumStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterEnumStmt) */ { public: - inline DistinctExpr() : DistinctExpr(nullptr) {} - ~DistinctExpr() override; - explicit PROTOBUF_CONSTEXPR DistinctExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterEnumStmt() : AlterEnumStmt(nullptr) {} + ~AlterEnumStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterEnumStmt(::google::protobuf::internal::ConstantInitialized); - DistinctExpr(const DistinctExpr& from); - DistinctExpr(DistinctExpr&& from) noexcept - : DistinctExpr() { + inline AlterEnumStmt(const AlterEnumStmt& from) + : AlterEnumStmt(nullptr, from) {} + AlterEnumStmt(AlterEnumStmt&& from) noexcept + : AlterEnumStmt() { *this = ::std::move(from); } - inline DistinctExpr& operator=(const DistinctExpr& from) { + inline AlterEnumStmt& operator=(const AlterEnumStmt& from) { CopyFrom(from); return *this; } - inline DistinctExpr& operator=(DistinctExpr&& from) noexcept { + inline AlterEnumStmt& operator=(AlterEnumStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -13870,251 +14300,258 @@ class DistinctExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DistinctExpr& default_instance() { + static const AlterEnumStmt& default_instance() { return *internal_default_instance(); } - static inline const DistinctExpr* internal_default_instance() { - return reinterpret_cast( - &_DistinctExpr_default_instance_); + static inline const AlterEnumStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterEnumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 24; + 234; - friend void swap(DistinctExpr& a, DistinctExpr& b) { + friend void swap(AlterEnumStmt& a, AlterEnumStmt& b) { a.Swap(&b); } - inline void Swap(DistinctExpr* other) { + inline void Swap(AlterEnumStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DistinctExpr* other) { + void UnsafeArenaSwap(AlterEnumStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DistinctExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterEnumStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DistinctExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DistinctExpr& from) { - DistinctExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterEnumStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterEnumStmt& from) { + AlterEnumStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DistinctExpr* other); + void InternalSwap(AlterEnumStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DistinctExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterEnumStmt"; } protected: - explicit DistinctExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterEnumStmt(::google::protobuf::Arena* arena); + AlterEnumStmt(::google::protobuf::Arena* arena, const AlterEnumStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 8, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpfuncidFieldNumber = 3, - kOpresulttypeFieldNumber = 4, - kOpretsetFieldNumber = 5, - kOpcollidFieldNumber = 6, - kInputcollidFieldNumber = 7, - kLocationFieldNumber = 9, + kTypeNameFieldNumber = 1, + kOldValFieldNumber = 2, + kNewValFieldNumber = 3, + kNewValNeighborFieldNumber = 4, + kNewValIsAfterFieldNumber = 5, + kSkipIfNewValExistsFieldNumber = 6, }; - // repeated .pg_query.Node args = 8 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; + int type_name_size() const; private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + int _internal_type_name_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_type_name() ; + ::pg_query::Node* mutable_type_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_type_name(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_type_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_type_name(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& type_name(int index) const; + ::pg_query::Node* add_type_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + type_name() const; + // string old_val = 2 [json_name = "oldVal"]; + void clear_old_val() ; + const std::string& old_val() const; + template + void set_old_val(Arg_&& arg, Args_... args); + std::string* mutable_old_val(); + PROTOBUF_NODISCARD std::string* release_old_val(); + void set_allocated_old_val(std::string* value); - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno(); - uint32_t opno() const; - void set_opno(uint32_t value); private: - uint32_t _internal_opno() const; - void _internal_set_opno(uint32_t value); - public: + const std::string& _internal_old_val() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_old_val( + const std::string& value); + std::string* _internal_mutable_old_val(); - // uint32 opfuncid = 3 [json_name = "opfuncid"]; - void clear_opfuncid(); - uint32_t opfuncid() const; - void set_opfuncid(uint32_t value); - private: - uint32_t _internal_opfuncid() const; - void _internal_set_opfuncid(uint32_t value); public: + // string new_val = 3 [json_name = "newVal"]; + void clear_new_val() ; + const std::string& new_val() const; + template + void set_new_val(Arg_&& arg, Args_... args); + std::string* mutable_new_val(); + PROTOBUF_NODISCARD std::string* release_new_val(); + void set_allocated_new_val(std::string* value); - // uint32 opresulttype = 4 [json_name = "opresulttype"]; - void clear_opresulttype(); - uint32_t opresulttype() const; - void set_opresulttype(uint32_t value); private: - uint32_t _internal_opresulttype() const; - void _internal_set_opresulttype(uint32_t value); - public: + const std::string& _internal_new_val() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_val( + const std::string& value); + std::string* _internal_mutable_new_val(); - // bool opretset = 5 [json_name = "opretset"]; - void clear_opretset(); - bool opretset() const; - void set_opretset(bool value); - private: - bool _internal_opretset() const; - void _internal_set_opretset(bool value); public: + // string new_val_neighbor = 4 [json_name = "newValNeighbor"]; + void clear_new_val_neighbor() ; + const std::string& new_val_neighbor() const; + template + void set_new_val_neighbor(Arg_&& arg, Args_... args); + std::string* mutable_new_val_neighbor(); + PROTOBUF_NODISCARD std::string* release_new_val_neighbor(); + void set_allocated_new_val_neighbor(std::string* value); - // uint32 opcollid = 6 [json_name = "opcollid"]; - void clear_opcollid(); - uint32_t opcollid() const; - void set_opcollid(uint32_t value); private: - uint32_t _internal_opcollid() const; - void _internal_set_opcollid(uint32_t value); + const std::string& _internal_new_val_neighbor() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_val_neighbor( + const std::string& value); + std::string* _internal_mutable_new_val_neighbor(); + public: + // bool new_val_is_after = 5 [json_name = "newValIsAfter"]; + void clear_new_val_is_after() ; + bool new_val_is_after() const; + void set_new_val_is_after(bool value); - // uint32 inputcollid = 7 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); + bool _internal_new_val_is_after() const; + void _internal_set_new_val_is_after(bool value); + public: + // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"]; + void clear_skip_if_new_val_exists() ; + bool skip_if_new_val_exists() const; + void set_skip_if_new_val_exists(bool value); - // int32 location = 9 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_skip_if_new_val_exists() const; + void _internal_set_skip_if_new_val_exists(bool value); - // @@protoc_insertion_point(class_scope:pg_query.DistinctExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterEnumStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 1, + 61, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t opno_; - uint32_t opfuncid_; - uint32_t opresulttype_; - bool opretset_; - uint32_t opcollid_; - uint32_t inputcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > type_name_; + ::google::protobuf::internal::ArenaStringPtr old_val_; + ::google::protobuf::internal::ArenaStringPtr new_val_; + ::google::protobuf::internal::ArenaStringPtr new_val_neighbor_; + bool new_val_is_after_; + bool skip_if_new_val_exists_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class NullIfExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.NullIfExpr) */ { +class AlterExtensionContentsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterExtensionContentsStmt) */ { public: - inline NullIfExpr() : NullIfExpr(nullptr) {} - ~NullIfExpr() override; - explicit PROTOBUF_CONSTEXPR NullIfExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterExtensionContentsStmt() : AlterExtensionContentsStmt(nullptr) {} + ~AlterExtensionContentsStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterExtensionContentsStmt(::google::protobuf::internal::ConstantInitialized); - NullIfExpr(const NullIfExpr& from); - NullIfExpr(NullIfExpr&& from) noexcept - : NullIfExpr() { + inline AlterExtensionContentsStmt(const AlterExtensionContentsStmt& from) + : AlterExtensionContentsStmt(nullptr, from) {} + AlterExtensionContentsStmt(AlterExtensionContentsStmt&& from) noexcept + : AlterExtensionContentsStmt() { *this = ::std::move(from); } - inline NullIfExpr& operator=(const NullIfExpr& from) { + inline AlterExtensionContentsStmt& operator=(const AlterExtensionContentsStmt& from) { CopyFrom(from); return *this; } - inline NullIfExpr& operator=(NullIfExpr&& from) noexcept { + inline AlterExtensionContentsStmt& operator=(AlterExtensionContentsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -14124,251 +14561,220 @@ class NullIfExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NullIfExpr& default_instance() { + static const AlterExtensionContentsStmt& default_instance() { return *internal_default_instance(); } - static inline const NullIfExpr* internal_default_instance() { - return reinterpret_cast( - &_NullIfExpr_default_instance_); + static inline const AlterExtensionContentsStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterExtensionContentsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 25; + 173; - friend void swap(NullIfExpr& a, NullIfExpr& b) { + friend void swap(AlterExtensionContentsStmt& a, AlterExtensionContentsStmt& b) { a.Swap(&b); } - inline void Swap(NullIfExpr* other) { + inline void Swap(AlterExtensionContentsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NullIfExpr* other) { + void UnsafeArenaSwap(AlterExtensionContentsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - NullIfExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterExtensionContentsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const NullIfExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const NullIfExpr& from) { - NullIfExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterExtensionContentsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterExtensionContentsStmt& from) { + AlterExtensionContentsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(NullIfExpr* other); + void InternalSwap(AlterExtensionContentsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.NullIfExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterExtensionContentsStmt"; } protected: - explicit NullIfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterExtensionContentsStmt(::google::protobuf::Arena* arena); + AlterExtensionContentsStmt(::google::protobuf::Arena* arena, const AlterExtensionContentsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 8, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpfuncidFieldNumber = 3, - kOpresulttypeFieldNumber = 4, - kOpretsetFieldNumber = 5, - kOpcollidFieldNumber = 6, - kInputcollidFieldNumber = 7, - kLocationFieldNumber = 9, + kExtnameFieldNumber = 1, + kObjectFieldNumber = 4, + kActionFieldNumber = 2, + kObjtypeFieldNumber = 3, }; - // repeated .pg_query.Node args = 8 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + // string extname = 1 [json_name = "extname"]; + void clear_extname() ; + const std::string& extname() const; + template + void set_extname(Arg_&& arg, Args_... args); + std::string* mutable_extname(); + PROTOBUF_NODISCARD std::string* release_extname(); + void set_allocated_extname(std::string* value); - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const std::string& _internal_extname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname( + const std::string& value); + std::string* _internal_mutable_extname(); - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno(); - uint32_t opno() const; - void set_opno(uint32_t value); - private: - uint32_t _internal_opno() const; - void _internal_set_opno(uint32_t value); public: + // .pg_query.Node object = 4 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // uint32 opfuncid = 3 [json_name = "opfuncid"]; - void clear_opfuncid(); - uint32_t opfuncid() const; - void set_opfuncid(uint32_t value); private: - uint32_t _internal_opfuncid() const; - void _internal_set_opfuncid(uint32_t value); - public: + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); - // uint32 opresulttype = 4 [json_name = "opresulttype"]; - void clear_opresulttype(); - uint32_t opresulttype() const; - void set_opresulttype(uint32_t value); - private: - uint32_t _internal_opresulttype() const; - void _internal_set_opresulttype(uint32_t value); public: + // int32 action = 2 [json_name = "action"]; + void clear_action() ; + ::int32_t action() const; + void set_action(::int32_t value); - // bool opretset = 5 [json_name = "opretset"]; - void clear_opretset(); - bool opretset() const; - void set_opretset(bool value); private: - bool _internal_opretset() const; - void _internal_set_opretset(bool value); - public: + ::int32_t _internal_action() const; + void _internal_set_action(::int32_t value); - // uint32 opcollid = 6 [json_name = "opcollid"]; - void clear_opcollid(); - uint32_t opcollid() const; - void set_opcollid(uint32_t value); - private: - uint32_t _internal_opcollid() const; - void _internal_set_opcollid(uint32_t value); public: + // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // uint32 inputcollid = 7 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); - public: + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); - // int32 location = 9 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.NullIfExpr) + // @@protoc_insertion_point(class_scope:pg_query.AlterExtensionContentsStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 51, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t opno_; - uint32_t opfuncid_; - uint32_t opresulttype_; - bool opretset_; - uint32_t opcollid_; - uint32_t inputcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr extname_; + ::pg_query::Node* object_; + ::int32_t action_; + int objtype_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ScalarArrayOpExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ScalarArrayOpExpr) */ { +class AlterExtensionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterExtensionStmt) */ { public: - inline ScalarArrayOpExpr() : ScalarArrayOpExpr(nullptr) {} - ~ScalarArrayOpExpr() override; - explicit PROTOBUF_CONSTEXPR ScalarArrayOpExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterExtensionStmt() : AlterExtensionStmt(nullptr) {} + ~AlterExtensionStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterExtensionStmt(::google::protobuf::internal::ConstantInitialized); - ScalarArrayOpExpr(const ScalarArrayOpExpr& from); - ScalarArrayOpExpr(ScalarArrayOpExpr&& from) noexcept - : ScalarArrayOpExpr() { + inline AlterExtensionStmt(const AlterExtensionStmt& from) + : AlterExtensionStmt(nullptr, from) {} + AlterExtensionStmt(AlterExtensionStmt&& from) noexcept + : AlterExtensionStmt() { *this = ::std::move(from); } - inline ScalarArrayOpExpr& operator=(const ScalarArrayOpExpr& from) { + inline AlterExtensionStmt& operator=(const AlterExtensionStmt& from) { CopyFrom(from); return *this; } - inline ScalarArrayOpExpr& operator=(ScalarArrayOpExpr&& from) noexcept { + inline AlterExtensionStmt& operator=(AlterExtensionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -14378,251 +14784,419 @@ class ScalarArrayOpExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ScalarArrayOpExpr& default_instance() { + static const AlterExtensionStmt& default_instance() { return *internal_default_instance(); } - static inline const ScalarArrayOpExpr* internal_default_instance() { - return reinterpret_cast( - &_ScalarArrayOpExpr_default_instance_); + static inline const AlterExtensionStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterExtensionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 26; + 172; - friend void swap(ScalarArrayOpExpr& a, ScalarArrayOpExpr& b) { + friend void swap(AlterExtensionStmt& a, AlterExtensionStmt& b) { a.Swap(&b); } - inline void Swap(ScalarArrayOpExpr* other) { + inline void Swap(AlterExtensionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ScalarArrayOpExpr* other) { + void UnsafeArenaSwap(AlterExtensionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ScalarArrayOpExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterExtensionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ScalarArrayOpExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ScalarArrayOpExpr& from) { - ScalarArrayOpExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterExtensionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterExtensionStmt& from) { + AlterExtensionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ScalarArrayOpExpr* other); + void InternalSwap(AlterExtensionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ScalarArrayOpExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterExtensionStmt"; } protected: - explicit ScalarArrayOpExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterExtensionStmt(::google::protobuf::Arena* arena); + AlterExtensionStmt(::google::protobuf::Arena* arena, const AlterExtensionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 8, - kXprFieldNumber = 1, - kOpnoFieldNumber = 2, - kOpfuncidFieldNumber = 3, - kHashfuncidFieldNumber = 4, - kNegfuncidFieldNumber = 5, - kUseOrFieldNumber = 6, - kInputcollidFieldNumber = 7, - kLocationFieldNumber = 9, + kOptionsFieldNumber = 2, + kExtnameFieldNumber = 1, }; - // repeated .pg_query.Node args = 8 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + int _internal_options_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string extname = 1 [json_name = "extname"]; + void clear_extname() ; + const std::string& extname() const; + template + void set_extname(Arg_&& arg, Args_... args); + std::string* mutable_extname(); + PROTOBUF_NODISCARD std::string* release_extname(); + void set_allocated_extname(std::string* value); - // uint32 opno = 2 [json_name = "opno"]; - void clear_opno(); - uint32_t opno() const; - void set_opno(uint32_t value); private: - uint32_t _internal_opno() const; - void _internal_set_opno(uint32_t value); - public: + const std::string& _internal_extname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname( + const std::string& value); + std::string* _internal_mutable_extname(); - // uint32 opfuncid = 3 [json_name = "opfuncid"]; - void clear_opfuncid(); - uint32_t opfuncid() const; - void set_opfuncid(uint32_t value); - private: - uint32_t _internal_opfuncid() const; - void _internal_set_opfuncid(uint32_t value); public: + // @@protoc_insertion_point(class_scope:pg_query.AlterExtensionStmt) + private: + class _Internal; - // uint32 hashfuncid = 4 [json_name = "hashfuncid"]; - void clear_hashfuncid(); - uint32_t hashfuncid() const; - void set_hashfuncid(uint32_t value); - private: - uint32_t _internal_hashfuncid() const; - void _internal_set_hashfuncid(uint32_t value); - public: + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // uint32 negfuncid = 5 [json_name = "negfuncid"]; - void clear_negfuncid(); - uint32_t negfuncid() const; - void set_negfuncid(uint32_t value); - private: - uint32_t _internal_negfuncid() const; - void _internal_set_negfuncid(uint32_t value); - public: + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr extname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // bool use_or = 6 [json_name = "useOr"]; - void clear_use_or(); - bool use_or() const; - void set_use_or(bool value); - private: - bool _internal_use_or() const; - void _internal_set_use_or(bool value); +class AlterFdwStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterFdwStmt) */ { + public: + inline AlterFdwStmt() : AlterFdwStmt(nullptr) {} + ~AlterFdwStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterFdwStmt(::google::protobuf::internal::ConstantInitialized); + + inline AlterFdwStmt(const AlterFdwStmt& from) + : AlterFdwStmt(nullptr, from) {} + AlterFdwStmt(AlterFdwStmt&& from) noexcept + : AlterFdwStmt() { + *this = ::std::move(from); + } + + inline AlterFdwStmt& operator=(const AlterFdwStmt& from) { + CopyFrom(from); + return *this; + } + inline AlterFdwStmt& operator=(AlterFdwStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AlterFdwStmt& default_instance() { + return *internal_default_instance(); + } + static inline const AlterFdwStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterFdwStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 175; + + friend void swap(AlterFdwStmt& a, AlterFdwStmt& b) { + a.Swap(&b); + } + inline void Swap(AlterFdwStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AlterFdwStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AlterFdwStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterFdwStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterFdwStmt& from) { + AlterFdwStmt::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(AlterFdwStmt* other); - // uint32 inputcollid = 7 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterFdwStmt"; + } + protected: + explicit AlterFdwStmt(::google::protobuf::Arena* arena); + AlterFdwStmt(::google::protobuf::Arena* arena, const AlterFdwStmt& from); public: - // int32 location = 9 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFuncOptionsFieldNumber = 2, + kOptionsFieldNumber = 3, + kFdwnameFieldNumber = 1, + }; + // repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; + int func_options_size() const; + private: + int _internal_func_options_size() const; + + public: + void clear_func_options() ; + ::pg_query::Node* mutable_func_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_func_options(); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_func_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_func_options(); public: + const ::pg_query::Node& func_options(int index) const; + ::pg_query::Node* add_func_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + func_options() const; + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // @@protoc_insertion_point(class_scope:pg_query.ScalarArrayOpExpr) + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string fdwname = 1 [json_name = "fdwname"]; + void clear_fdwname() ; + const std::string& fdwname() const; + template + void set_fdwname(Arg_&& arg, Args_... args); + std::string* mutable_fdwname(); + PROTOBUF_NODISCARD std::string* release_fdwname(); + void set_allocated_fdwname(std::string* value); + + private: + const std::string& _internal_fdwname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname( + const std::string& value); + std::string* _internal_mutable_fdwname(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterFdwStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t opno_; - uint32_t opfuncid_; - uint32_t hashfuncid_; - uint32_t negfuncid_; - bool use_or_; - uint32_t inputcollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > func_options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr fdwname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class BoolExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.BoolExpr) */ { +class AlterForeignServerStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterForeignServerStmt) */ { public: - inline BoolExpr() : BoolExpr(nullptr) {} - ~BoolExpr() override; - explicit PROTOBUF_CONSTEXPR BoolExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterForeignServerStmt() : AlterForeignServerStmt(nullptr) {} + ~AlterForeignServerStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterForeignServerStmt(::google::protobuf::internal::ConstantInitialized); - BoolExpr(const BoolExpr& from); - BoolExpr(BoolExpr&& from) noexcept - : BoolExpr() { + inline AlterForeignServerStmt(const AlterForeignServerStmt& from) + : AlterForeignServerStmt(nullptr, from) {} + AlterForeignServerStmt(AlterForeignServerStmt&& from) noexcept + : AlterForeignServerStmt() { *this = ::std::move(from); } - inline BoolExpr& operator=(const BoolExpr& from) { + inline AlterForeignServerStmt& operator=(const AlterForeignServerStmt& from) { CopyFrom(from); return *this; } - inline BoolExpr& operator=(BoolExpr&& from) noexcept { + inline AlterForeignServerStmt& operator=(AlterForeignServerStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -14632,196 +15206,228 @@ class BoolExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const BoolExpr& default_instance() { + static const AlterForeignServerStmt& default_instance() { return *internal_default_instance(); } - static inline const BoolExpr* internal_default_instance() { - return reinterpret_cast( - &_BoolExpr_default_instance_); + static inline const AlterForeignServerStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterForeignServerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 27; + 177; - friend void swap(BoolExpr& a, BoolExpr& b) { + friend void swap(AlterForeignServerStmt& a, AlterForeignServerStmt& b) { a.Swap(&b); } - inline void Swap(BoolExpr* other) { + inline void Swap(AlterForeignServerStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(BoolExpr* other) { + void UnsafeArenaSwap(AlterForeignServerStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - BoolExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterForeignServerStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const BoolExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const BoolExpr& from) { - BoolExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterForeignServerStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterForeignServerStmt& from) { + AlterForeignServerStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(BoolExpr* other); + void InternalSwap(AlterForeignServerStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.BoolExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterForeignServerStmt"; } protected: - explicit BoolExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterForeignServerStmt(::google::protobuf::Arena* arena); + AlterForeignServerStmt(::google::protobuf::Arena* arena, const AlterForeignServerStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 3, - kXprFieldNumber = 1, - kBoolopFieldNumber = 2, - kLocationFieldNumber = 4, + kOptionsFieldNumber = 3, + kServernameFieldNumber = 1, + kVersionFieldNumber = 2, + kHasVersionFieldNumber = 4, }; - // repeated .pg_query.Node args = 3 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; private: - int _internal_args_size() const; + int _internal_options_size() const; + public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string servername = 1 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // string version = 2 [json_name = "version"]; + void clear_version() ; + const std::string& version() const; + template + void set_version(Arg_&& arg, Args_... args); + std::string* mutable_version(); + PROTOBUF_NODISCARD std::string* release_version(); + void set_allocated_version(std::string* value); - // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"]; - void clear_boolop(); - ::pg_query::BoolExprType boolop() const; - void set_boolop(::pg_query::BoolExprType value); private: - ::pg_query::BoolExprType _internal_boolop() const; - void _internal_set_boolop(::pg_query::BoolExprType value); + const std::string& _internal_version() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_version( + const std::string& value); + std::string* _internal_mutable_version(); + public: + // bool has_version = 4 [json_name = "has_version"]; + void clear_has_version() ; + bool has_version() const; + void set_has_version(bool value); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_has_version() const; + void _internal_set_has_version(bool value); - // @@protoc_insertion_point(class_scope:pg_query.BoolExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterForeignServerStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 57, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - int boolop_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::google::protobuf::internal::ArenaStringPtr version_; + bool has_version_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SubLink final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SubLink) */ { +class AlterFunctionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterFunctionStmt) */ { public: - inline SubLink() : SubLink(nullptr) {} - ~SubLink() override; - explicit PROTOBUF_CONSTEXPR SubLink(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterFunctionStmt() : AlterFunctionStmt(nullptr) {} + ~AlterFunctionStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterFunctionStmt(::google::protobuf::internal::ConstantInitialized); - SubLink(const SubLink& from); - SubLink(SubLink&& from) noexcept - : SubLink() { + inline AlterFunctionStmt(const AlterFunctionStmt& from) + : AlterFunctionStmt(nullptr, from) {} + AlterFunctionStmt(AlterFunctionStmt&& from) noexcept + : AlterFunctionStmt() { *this = ::std::move(from); } - inline SubLink& operator=(const SubLink& from) { + inline AlterFunctionStmt& operator=(const AlterFunctionStmt& from) { CopyFrom(from); return *this; } - inline SubLink& operator=(SubLink&& from) noexcept { + inline AlterFunctionStmt& operator=(AlterFunctionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -14831,247 +15437,210 @@ class SubLink final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubLink& default_instance() { + static const AlterFunctionStmt& default_instance() { return *internal_default_instance(); } - static inline const SubLink* internal_default_instance() { - return reinterpret_cast( - &_SubLink_default_instance_); + static inline const AlterFunctionStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterFunctionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 28; + 215; - friend void swap(SubLink& a, SubLink& b) { + friend void swap(AlterFunctionStmt& a, AlterFunctionStmt& b) { a.Swap(&b); } - inline void Swap(SubLink* other) { + inline void Swap(AlterFunctionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubLink* other) { + void UnsafeArenaSwap(AlterFunctionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SubLink* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterFunctionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SubLink& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SubLink& from) { - SubLink::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterFunctionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterFunctionStmt& from) { + AlterFunctionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SubLink* other); + void InternalSwap(AlterFunctionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SubLink"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterFunctionStmt"; } protected: - explicit SubLink(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterFunctionStmt(::google::protobuf::Arena* arena); + AlterFunctionStmt(::google::protobuf::Arena* arena, const AlterFunctionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOperNameFieldNumber = 5, - kXprFieldNumber = 1, - kTestexprFieldNumber = 4, - kSubselectFieldNumber = 6, - kSubLinkTypeFieldNumber = 2, - kSubLinkIdFieldNumber = 3, - kLocationFieldNumber = 7, + kActionsFieldNumber = 3, + kFuncFieldNumber = 2, + kObjtypeFieldNumber = 1, }; - // repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; - int oper_name_size() const; - private: - int _internal_oper_name_size() const; - public: - void clear_oper_name(); - ::pg_query::Node* mutable_oper_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_oper_name(); - private: - const ::pg_query::Node& _internal_oper_name(int index) const; - ::pg_query::Node* _internal_add_oper_name(); - public: - const ::pg_query::Node& oper_name(int index) const; - ::pg_query::Node* add_oper_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - oper_name() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node actions = 3 [json_name = "actions"]; + int actions_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_actions_size() const; - // .pg_query.Node testexpr = 4 [json_name = "testexpr"]; - bool has_testexpr() const; - private: - bool _internal_has_testexpr() const; public: - void clear_testexpr(); - const ::pg_query::Node& testexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); - ::pg_query::Node* mutable_testexpr(); - void set_allocated_testexpr(::pg_query::Node* testexpr); + void clear_actions() ; + ::pg_query::Node* mutable_actions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_actions(); private: - const ::pg_query::Node& _internal_testexpr() const; - ::pg_query::Node* _internal_mutable_testexpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_actions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_actions(); public: - void unsafe_arena_set_allocated_testexpr( - ::pg_query::Node* testexpr); - ::pg_query::Node* unsafe_arena_release_testexpr(); + const ::pg_query::Node& actions(int index) const; + ::pg_query::Node* add_actions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + actions() const; + // .pg_query.ObjectWithArgs func = 2 [json_name = "func"]; + bool has_func() const; + void clear_func() ; + const ::pg_query::ObjectWithArgs& func() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_func(); + ::pg_query::ObjectWithArgs* mutable_func(); + void set_allocated_func(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_func(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_func(); - // .pg_query.Node subselect = 6 [json_name = "subselect"]; - bool has_subselect() const; - private: - bool _internal_has_subselect() const; - public: - void clear_subselect(); - const ::pg_query::Node& subselect() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_subselect(); - ::pg_query::Node* mutable_subselect(); - void set_allocated_subselect(::pg_query::Node* subselect); private: - const ::pg_query::Node& _internal_subselect() const; - ::pg_query::Node* _internal_mutable_subselect(); - public: - void unsafe_arena_set_allocated_subselect( - ::pg_query::Node* subselect); - ::pg_query::Node* unsafe_arena_release_subselect(); + const ::pg_query::ObjectWithArgs& _internal_func() const; + ::pg_query::ObjectWithArgs* _internal_mutable_func(); - // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; - void clear_sub_link_type(); - ::pg_query::SubLinkType sub_link_type() const; - void set_sub_link_type(::pg_query::SubLinkType value); - private: - ::pg_query::SubLinkType _internal_sub_link_type() const; - void _internal_set_sub_link_type(::pg_query::SubLinkType value); public: + // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // int32 sub_link_id = 3 [json_name = "subLinkId"]; - void clear_sub_link_id(); - int32_t sub_link_id() const; - void set_sub_link_id(int32_t value); private: - int32_t _internal_sub_link_id() const; - void _internal_set_sub_link_id(int32_t value); - public: + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.SubLink) + // @@protoc_insertion_point(class_scope:pg_query.AlterFunctionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > oper_name_; - ::pg_query::Node* xpr_; - ::pg_query::Node* testexpr_; - ::pg_query::Node* subselect_; - int sub_link_type_; - int32_t sub_link_id_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > actions_; + ::pg_query::ObjectWithArgs* func_; + int objtype_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SubPlan final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SubPlan) */ { +class AlterObjectDependsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterObjectDependsStmt) */ { public: - inline SubPlan() : SubPlan(nullptr) {} - ~SubPlan() override; - explicit PROTOBUF_CONSTEXPR SubPlan(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterObjectDependsStmt() : AlterObjectDependsStmt(nullptr) {} + ~AlterObjectDependsStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterObjectDependsStmt(::google::protobuf::internal::ConstantInitialized); - SubPlan(const SubPlan& from); - SubPlan(SubPlan&& from) noexcept - : SubPlan() { + inline AlterObjectDependsStmt(const AlterObjectDependsStmt& from) + : AlterObjectDependsStmt(nullptr, from) {} + AlterObjectDependsStmt(AlterObjectDependsStmt&& from) noexcept + : AlterObjectDependsStmt() { *this = ::std::move(from); } - inline SubPlan& operator=(const SubPlan& from) { + inline AlterObjectDependsStmt& operator=(const AlterObjectDependsStmt& from) { CopyFrom(from); return *this; } - inline SubPlan& operator=(SubPlan&& from) noexcept { + inline AlterObjectDependsStmt& operator=(AlterObjectDependsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -15081,380 +15650,236 @@ class SubPlan final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SubPlan& default_instance() { + static const AlterObjectDependsStmt& default_instance() { return *internal_default_instance(); } - static inline const SubPlan* internal_default_instance() { - return reinterpret_cast( - &_SubPlan_default_instance_); + static inline const AlterObjectDependsStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterObjectDependsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 29; + 221; - friend void swap(SubPlan& a, SubPlan& b) { + friend void swap(AlterObjectDependsStmt& a, AlterObjectDependsStmt& b) { a.Swap(&b); } - inline void Swap(SubPlan* other) { + inline void Swap(AlterObjectDependsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SubPlan* other) { + void UnsafeArenaSwap(AlterObjectDependsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SubPlan* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterObjectDependsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SubPlan& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SubPlan& from) { - SubPlan::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterObjectDependsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterObjectDependsStmt& from) { + AlterObjectDependsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SubPlan* other); + void InternalSwap(AlterObjectDependsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SubPlan"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterObjectDependsStmt"; } protected: - explicit SubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterObjectDependsStmt(::google::protobuf::Arena* arena); + AlterObjectDependsStmt(::google::protobuf::Arena* arena, const AlterObjectDependsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kParamIdsFieldNumber = 4, - kSetParamFieldNumber = 13, - kParParamFieldNumber = 14, - kArgsFieldNumber = 15, - kPlanNameFieldNumber = 6, - kXprFieldNumber = 1, - kTestexprFieldNumber = 3, - kSubLinkTypeFieldNumber = 2, - kPlanIdFieldNumber = 5, - kFirstColTypeFieldNumber = 7, - kFirstColTypmodFieldNumber = 8, - kFirstColCollationFieldNumber = 9, - kUseHashTableFieldNumber = 10, - kUnknownEqFalseFieldNumber = 11, - kParallelSafeFieldNumber = 12, - kStartupCostFieldNumber = 16, - kPerCallCostFieldNumber = 17, + kRelationFieldNumber = 2, + kObjectFieldNumber = 3, + kExtnameFieldNumber = 4, + kObjectTypeFieldNumber = 1, + kRemoveFieldNumber = 5, }; - // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; - int param_ids_size() const; - private: - int _internal_param_ids_size() const; - public: - void clear_param_ids(); - ::pg_query::Node* mutable_param_ids(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_param_ids(); + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + private: - const ::pg_query::Node& _internal_param_ids(int index) const; - ::pg_query::Node* _internal_add_param_ids(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: - const ::pg_query::Node& param_ids(int index) const; - ::pg_query::Node* add_param_ids(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - param_ids() const; + // .pg_query.Node object = 3 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; - int set_param_size() const; private: - int _internal_set_param_size() const; + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); + public: - void clear_set_param(); - ::pg_query::Node* mutable_set_param(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_set_param(); + // .pg_query.String extname = 4 [json_name = "extname"]; + bool has_extname() const; + void clear_extname() ; + const ::pg_query::String& extname() const; + PROTOBUF_NODISCARD ::pg_query::String* release_extname(); + ::pg_query::String* mutable_extname(); + void set_allocated_extname(::pg_query::String* value); + void unsafe_arena_set_allocated_extname(::pg_query::String* value); + ::pg_query::String* unsafe_arena_release_extname(); + private: - const ::pg_query::Node& _internal_set_param(int index) const; - ::pg_query::Node* _internal_add_set_param(); + const ::pg_query::String& _internal_extname() const; + ::pg_query::String* _internal_mutable_extname(); + public: - const ::pg_query::Node& set_param(int index) const; - ::pg_query::Node* add_set_param(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - set_param() const; + // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; + void clear_object_type() ; + ::pg_query::ObjectType object_type() const; + void set_object_type(::pg_query::ObjectType value); - // repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; - int par_param_size() const; private: - int _internal_par_param_size() const; - public: - void clear_par_param(); - ::pg_query::Node* mutable_par_param(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_par_param(); - private: - const ::pg_query::Node& _internal_par_param(int index) const; - ::pg_query::Node* _internal_add_par_param(); - public: - const ::pg_query::Node& par_param(int index) const; - ::pg_query::Node* add_par_param(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - par_param() const; - - // repeated .pg_query.Node args = 15 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // string plan_name = 6 [json_name = "plan_name"]; - void clear_plan_name(); - const std::string& plan_name() const; - template - void set_plan_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_plan_name(); - PROTOBUF_NODISCARD std::string* release_plan_name(); - void set_allocated_plan_name(std::string* plan_name); - private: - const std::string& _internal_plan_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_plan_name(const std::string& value); - std::string* _internal_mutable_plan_name(); - public: - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.Node testexpr = 3 [json_name = "testexpr"]; - bool has_testexpr() const; - private: - bool _internal_has_testexpr() const; - public: - void clear_testexpr(); - const ::pg_query::Node& testexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); - ::pg_query::Node* mutable_testexpr(); - void set_allocated_testexpr(::pg_query::Node* testexpr); - private: - const ::pg_query::Node& _internal_testexpr() const; - ::pg_query::Node* _internal_mutable_testexpr(); - public: - void unsafe_arena_set_allocated_testexpr( - ::pg_query::Node* testexpr); - ::pg_query::Node* unsafe_arena_release_testexpr(); - - // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; - void clear_sub_link_type(); - ::pg_query::SubLinkType sub_link_type() const; - void set_sub_link_type(::pg_query::SubLinkType value); - private: - ::pg_query::SubLinkType _internal_sub_link_type() const; - void _internal_set_sub_link_type(::pg_query::SubLinkType value); - public: - - // int32 plan_id = 5 [json_name = "plan_id"]; - void clear_plan_id(); - int32_t plan_id() const; - void set_plan_id(int32_t value); - private: - int32_t _internal_plan_id() const; - void _internal_set_plan_id(int32_t value); - public: - - // uint32 first_col_type = 7 [json_name = "firstColType"]; - void clear_first_col_type(); - uint32_t first_col_type() const; - void set_first_col_type(uint32_t value); - private: - uint32_t _internal_first_col_type() const; - void _internal_set_first_col_type(uint32_t value); - public: - - // int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; - void clear_first_col_typmod(); - int32_t first_col_typmod() const; - void set_first_col_typmod(int32_t value); - private: - int32_t _internal_first_col_typmod() const; - void _internal_set_first_col_typmod(int32_t value); - public: - - // uint32 first_col_collation = 9 [json_name = "firstColCollation"]; - void clear_first_col_collation(); - uint32_t first_col_collation() const; - void set_first_col_collation(uint32_t value); - private: - uint32_t _internal_first_col_collation() const; - void _internal_set_first_col_collation(uint32_t value); - public: - - // bool use_hash_table = 10 [json_name = "useHashTable"]; - void clear_use_hash_table(); - bool use_hash_table() const; - void set_use_hash_table(bool value); - private: - bool _internal_use_hash_table() const; - void _internal_set_use_hash_table(bool value); - public: - - // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; - void clear_unknown_eq_false(); - bool unknown_eq_false() const; - void set_unknown_eq_false(bool value); - private: - bool _internal_unknown_eq_false() const; - void _internal_set_unknown_eq_false(bool value); - public: + ::pg_query::ObjectType _internal_object_type() const; + void _internal_set_object_type(::pg_query::ObjectType value); - // bool parallel_safe = 12 [json_name = "parallel_safe"]; - void clear_parallel_safe(); - bool parallel_safe() const; - void set_parallel_safe(bool value); - private: - bool _internal_parallel_safe() const; - void _internal_set_parallel_safe(bool value); public: + // bool remove = 5 [json_name = "remove"]; + void clear_remove() ; + bool remove() const; + void set_remove(bool value); - // double startup_cost = 16 [json_name = "startup_cost"]; - void clear_startup_cost(); - double startup_cost() const; - void set_startup_cost(double value); private: - double _internal_startup_cost() const; - void _internal_set_startup_cost(double value); - public: + bool _internal_remove() const; + void _internal_set_remove(bool value); - // double per_call_cost = 17 [json_name = "per_call_cost"]; - void clear_per_call_cost(); - double per_call_cost() const; - void set_per_call_cost(double value); - private: - double _internal_per_call_cost() const; - void _internal_set_per_call_cost(double value); public: - - // @@protoc_insertion_point(class_scope:pg_query.SubPlan) + // @@protoc_insertion_point(class_scope:pg_query.AlterObjectDependsStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > param_ids_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > set_param_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > par_param_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr plan_name_; - ::pg_query::Node* xpr_; - ::pg_query::Node* testexpr_; - int sub_link_type_; - int32_t plan_id_; - uint32_t first_col_type_; - int32_t first_col_typmod_; - uint32_t first_col_collation_; - bool use_hash_table_; - bool unknown_eq_false_; - bool parallel_safe_; - double startup_cost_; - double per_call_cost_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* object_; + ::pg_query::String* extname_; + int object_type_; + bool remove_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlternativeSubPlan final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlternativeSubPlan) */ { +class AlterObjectSchemaStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterObjectSchemaStmt) */ { public: - inline AlternativeSubPlan() : AlternativeSubPlan(nullptr) {} - ~AlternativeSubPlan() override; - explicit PROTOBUF_CONSTEXPR AlternativeSubPlan(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterObjectSchemaStmt() : AlterObjectSchemaStmt(nullptr) {} + ~AlterObjectSchemaStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterObjectSchemaStmt(::google::protobuf::internal::ConstantInitialized); - AlternativeSubPlan(const AlternativeSubPlan& from); - AlternativeSubPlan(AlternativeSubPlan&& from) noexcept - : AlternativeSubPlan() { + inline AlterObjectSchemaStmt(const AlterObjectSchemaStmt& from) + : AlterObjectSchemaStmt(nullptr, from) {} + AlterObjectSchemaStmt(AlterObjectSchemaStmt&& from) noexcept + : AlterObjectSchemaStmt() { *this = ::std::move(from); } - inline AlternativeSubPlan& operator=(const AlternativeSubPlan& from) { + inline AlterObjectSchemaStmt& operator=(const AlterObjectSchemaStmt& from) { CopyFrom(from); return *this; } - inline AlternativeSubPlan& operator=(AlternativeSubPlan&& from) noexcept { + inline AlterObjectSchemaStmt& operator=(AlterObjectSchemaStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -15464,174 +15889,237 @@ class AlternativeSubPlan final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlternativeSubPlan& default_instance() { + static const AlterObjectSchemaStmt& default_instance() { return *internal_default_instance(); } - static inline const AlternativeSubPlan* internal_default_instance() { - return reinterpret_cast( - &_AlternativeSubPlan_default_instance_); + static inline const AlterObjectSchemaStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterObjectSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 30; + 222; - friend void swap(AlternativeSubPlan& a, AlternativeSubPlan& b) { + friend void swap(AlterObjectSchemaStmt& a, AlterObjectSchemaStmt& b) { a.Swap(&b); } - inline void Swap(AlternativeSubPlan* other) { + inline void Swap(AlterObjectSchemaStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlternativeSubPlan* other) { + void UnsafeArenaSwap(AlterObjectSchemaStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlternativeSubPlan* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterObjectSchemaStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlternativeSubPlan& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlternativeSubPlan& from) { - AlternativeSubPlan::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterObjectSchemaStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterObjectSchemaStmt& from) { + AlterObjectSchemaStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlternativeSubPlan* other); + void InternalSwap(AlterObjectSchemaStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlternativeSubPlan"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterObjectSchemaStmt"; } protected: - explicit AlternativeSubPlan(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterObjectSchemaStmt(::google::protobuf::Arena* arena); + AlterObjectSchemaStmt(::google::protobuf::Arena* arena, const AlterObjectSchemaStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSubplansFieldNumber = 2, - kXprFieldNumber = 1, + kNewschemaFieldNumber = 4, + kRelationFieldNumber = 2, + kObjectFieldNumber = 3, + kObjectTypeFieldNumber = 1, + kMissingOkFieldNumber = 5, }; - // repeated .pg_query.Node subplans = 2 [json_name = "subplans"]; - int subplans_size() const; + // string newschema = 4 [json_name = "newschema"]; + void clear_newschema() ; + const std::string& newschema() const; + template + void set_newschema(Arg_&& arg, Args_... args); + std::string* mutable_newschema(); + PROTOBUF_NODISCARD std::string* release_newschema(); + void set_allocated_newschema(std::string* value); + private: - int _internal_subplans_size() const; + const std::string& _internal_newschema() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_newschema( + const std::string& value); + std::string* _internal_mutable_newschema(); + public: - void clear_subplans(); - ::pg_query::Node* mutable_subplans(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_subplans(); + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + private: - const ::pg_query::Node& _internal_subplans(int index) const; - ::pg_query::Node* _internal_add_subplans(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: - const ::pg_query::Node& subplans(int index) const; - ::pg_query::Node* add_subplans(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - subplans() const; + // .pg_query.Node object = 3 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; private: - bool _internal_has_xpr() const; + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; + void clear_object_type() ; + ::pg_query::ObjectType object_type() const; + void set_object_type(::pg_query::ObjectType value); + private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + ::pg_query::ObjectType _internal_object_type() const; + void _internal_set_object_type(::pg_query::ObjectType value); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // bool missing_ok = 5 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.AlternativeSubPlan) + private: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterObjectSchemaStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > subplans_; - ::pg_query::Node* xpr_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr newschema_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* object_; + int object_type_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FieldSelect final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FieldSelect) */ { +class AlterOpFamilyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOpFamilyStmt) */ { public: - inline FieldSelect() : FieldSelect(nullptr) {} - ~FieldSelect() override; - explicit PROTOBUF_CONSTEXPR FieldSelect(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterOpFamilyStmt() : AlterOpFamilyStmt(nullptr) {} + ~AlterOpFamilyStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterOpFamilyStmt(::google::protobuf::internal::ConstantInitialized); - FieldSelect(const FieldSelect& from); - FieldSelect(FieldSelect&& from) noexcept - : FieldSelect() { + inline AlterOpFamilyStmt(const AlterOpFamilyStmt& from) + : AlterOpFamilyStmt(nullptr, from) {} + AlterOpFamilyStmt(AlterOpFamilyStmt&& from) noexcept + : AlterOpFamilyStmt() { *this = ::std::move(from); } - inline FieldSelect& operator=(const FieldSelect& from) { + inline AlterOpFamilyStmt& operator=(const AlterOpFamilyStmt& from) { CopyFrom(from); return *this; } - inline FieldSelect& operator=(FieldSelect&& from) noexcept { + inline AlterOpFamilyStmt& operator=(AlterOpFamilyStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -15641,218 +16129,230 @@ class FieldSelect final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FieldSelect& default_instance() { + static const AlterOpFamilyStmt& default_instance() { return *internal_default_instance(); } - static inline const FieldSelect* internal_default_instance() { - return reinterpret_cast( - &_FieldSelect_default_instance_); + static inline const AlterOpFamilyStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterOpFamilyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 31; + 201; - friend void swap(FieldSelect& a, FieldSelect& b) { + friend void swap(AlterOpFamilyStmt& a, AlterOpFamilyStmt& b) { a.Swap(&b); } - inline void Swap(FieldSelect* other) { + inline void Swap(AlterOpFamilyStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FieldSelect* other) { + void UnsafeArenaSwap(AlterOpFamilyStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FieldSelect* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterOpFamilyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FieldSelect& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FieldSelect& from) { - FieldSelect::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterOpFamilyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterOpFamilyStmt& from) { + AlterOpFamilyStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FieldSelect* other); + void InternalSwap(AlterOpFamilyStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FieldSelect"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterOpFamilyStmt"; } protected: - explicit FieldSelect(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterOpFamilyStmt(::google::protobuf::Arena* arena); + AlterOpFamilyStmt(::google::protobuf::Arena* arena, const AlterOpFamilyStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kFieldnumFieldNumber = 3, - kResulttypeFieldNumber = 4, - kResulttypmodFieldNumber = 5, - kResultcollidFieldNumber = 6, + kOpfamilynameFieldNumber = 1, + kItemsFieldNumber = 4, + kAmnameFieldNumber = 2, + kIsDropFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; + int opfamilyname_size() const; private: - bool _internal_has_xpr() const; + int _internal_opfamilyname_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_opfamilyname() ; + ::pg_query::Node* mutable_opfamilyname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opfamilyname(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilyname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilyname(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; + const ::pg_query::Node& opfamilyname(int index) const; + ::pg_query::Node* add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opfamilyname() const; + // repeated .pg_query.Node items = 4 [json_name = "items"]; + int items_size() const; private: - bool _internal_has_arg() const; + int _internal_items_size() const; + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // string amname = 2 [json_name = "amname"]; + void clear_amname() ; + const std::string& amname() const; + template + void set_amname(Arg_&& arg, Args_... args); + std::string* mutable_amname(); + PROTOBUF_NODISCARD std::string* release_amname(); + void set_allocated_amname(std::string* value); - // int32 fieldnum = 3 [json_name = "fieldnum"]; - void clear_fieldnum(); - int32_t fieldnum() const; - void set_fieldnum(int32_t value); private: - int32_t _internal_fieldnum() const; - void _internal_set_fieldnum(int32_t value); - public: + const std::string& _internal_amname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname( + const std::string& value); + std::string* _internal_mutable_amname(); - // uint32 resulttype = 4 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); - private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); public: + // bool is_drop = 3 [json_name = "isDrop"]; + void clear_is_drop() ; + bool is_drop() const; + void set_is_drop(bool value); - // int32 resulttypmod = 5 [json_name = "resulttypmod"]; - void clear_resulttypmod(); - int32_t resulttypmod() const; - void set_resulttypmod(int32_t value); private: - int32_t _internal_resulttypmod() const; - void _internal_set_resulttypmod(int32_t value); - public: + bool _internal_is_drop() const; + void _internal_set_is_drop(bool value); - // uint32 resultcollid = 6 [json_name = "resultcollid"]; - void clear_resultcollid(); - uint32_t resultcollid() const; - void set_resultcollid(uint32_t value); - private: - uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(uint32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.FieldSelect) + // @@protoc_insertion_point(class_scope:pg_query.AlterOpFamilyStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 41, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - int32_t fieldnum_; - uint32_t resulttype_; - int32_t resulttypmod_; - uint32_t resultcollid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilyname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + ::google::protobuf::internal::ArenaStringPtr amname_; + bool is_drop_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FieldStore final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FieldStore) */ { +class AlterOperatorStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOperatorStmt) */ { public: - inline FieldStore() : FieldStore(nullptr) {} - ~FieldStore() override; - explicit PROTOBUF_CONSTEXPR FieldStore(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterOperatorStmt() : AlterOperatorStmt(nullptr) {} + ~AlterOperatorStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterOperatorStmt(::google::protobuf::internal::ConstantInitialized); - FieldStore(const FieldStore& from); - FieldStore(FieldStore&& from) noexcept - : FieldStore() { + inline AlterOperatorStmt(const AlterOperatorStmt& from) + : AlterOperatorStmt(nullptr, from) {} + AlterOperatorStmt(AlterOperatorStmt&& from) noexcept + : AlterOperatorStmt() { *this = ::std::move(from); } - inline FieldStore& operator=(const FieldStore& from) { + inline AlterOperatorStmt& operator=(const AlterOperatorStmt& from) { CopyFrom(from); return *this; } - inline FieldStore& operator=(FieldStore&& from) noexcept { + inline AlterOperatorStmt& operator=(AlterOperatorStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -15862,225 +16362,198 @@ class FieldStore final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FieldStore& default_instance() { + static const AlterOperatorStmt& default_instance() { return *internal_default_instance(); } - static inline const FieldStore* internal_default_instance() { - return reinterpret_cast( - &_FieldStore_default_instance_); + static inline const AlterOperatorStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterOperatorStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 32; + 224; - friend void swap(FieldStore& a, FieldStore& b) { + friend void swap(AlterOperatorStmt& a, AlterOperatorStmt& b) { a.Swap(&b); } - inline void Swap(FieldStore* other) { + inline void Swap(AlterOperatorStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FieldStore* other) { + void UnsafeArenaSwap(AlterOperatorStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FieldStore* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterOperatorStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FieldStore& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FieldStore& from) { - FieldStore::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterOperatorStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterOperatorStmt& from) { + AlterOperatorStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FieldStore* other); + void InternalSwap(AlterOperatorStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FieldStore"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterOperatorStmt"; } protected: - explicit FieldStore(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterOperatorStmt(::google::protobuf::Arena* arena); + AlterOperatorStmt(::google::protobuf::Arena* arena, const AlterOperatorStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNewvalsFieldNumber = 3, - kFieldnumsFieldNumber = 4, - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 5, + kOptionsFieldNumber = 2, + kOpernameFieldNumber = 1, }; - // repeated .pg_query.Node newvals = 3 [json_name = "newvals"]; - int newvals_size() const; - private: - int _internal_newvals_size() const; - public: - void clear_newvals(); - ::pg_query::Node* mutable_newvals(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_newvals(); - private: - const ::pg_query::Node& _internal_newvals(int index) const; - ::pg_query::Node* _internal_add_newvals(); - public: - const ::pg_query::Node& newvals(int index) const; - ::pg_query::Node* add_newvals(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - newvals() const; - - // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"]; - int fieldnums_size() const; - private: - int _internal_fieldnums_size() const; - public: - void clear_fieldnums(); - ::pg_query::Node* mutable_fieldnums(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fieldnums(); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_fieldnums(int index) const; - ::pg_query::Node* _internal_add_fieldnums(); - public: - const ::pg_query::Node& fieldnums(int index) const; - ::pg_query::Node* add_fieldnums(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fieldnums() const; + int _internal_options_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"]; + bool has_opername() const; + void clear_opername() ; + const ::pg_query::ObjectWithArgs& opername() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_opername(); + ::pg_query::ObjectWithArgs* mutable_opername(); + void set_allocated_opername(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_opername(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_opername(); - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; private: - bool _internal_has_arg() const; - public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); - private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::ObjectWithArgs& _internal_opername() const; + ::pg_query::ObjectWithArgs* _internal_mutable_opername(); - // uint32 resulttype = 5 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); - private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.FieldStore) + // @@protoc_insertion_point(class_scope:pg_query.AlterOperatorStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > newvals_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fieldnums_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t resulttype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::ObjectWithArgs* opername_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RelabelType final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RelabelType) */ { +class AlterOwnerStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOwnerStmt) */ { public: - inline RelabelType() : RelabelType(nullptr) {} - ~RelabelType() override; - explicit PROTOBUF_CONSTEXPR RelabelType(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterOwnerStmt() : AlterOwnerStmt(nullptr) {} + ~AlterOwnerStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterOwnerStmt(::google::protobuf::internal::ConstantInitialized); - RelabelType(const RelabelType& from); - RelabelType(RelabelType&& from) noexcept - : RelabelType() { + inline AlterOwnerStmt(const AlterOwnerStmt& from) + : AlterOwnerStmt(nullptr, from) {} + AlterOwnerStmt(AlterOwnerStmt&& from) noexcept + : AlterOwnerStmt() { *this = ::std::move(from); } - inline RelabelType& operator=(const RelabelType& from) { + inline AlterOwnerStmt& operator=(const AlterOwnerStmt& from) { CopyFrom(from); return *this; } - inline RelabelType& operator=(RelabelType&& from) noexcept { + inline AlterOwnerStmt& operator=(AlterOwnerStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -16090,229 +16563,224 @@ class RelabelType final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RelabelType& default_instance() { + static const AlterOwnerStmt& default_instance() { return *internal_default_instance(); } - static inline const RelabelType* internal_default_instance() { - return reinterpret_cast( - &_RelabelType_default_instance_); + static inline const AlterOwnerStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterOwnerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 33; + 223; - friend void swap(RelabelType& a, RelabelType& b) { + friend void swap(AlterOwnerStmt& a, AlterOwnerStmt& b) { a.Swap(&b); } - inline void Swap(RelabelType* other) { + inline void Swap(AlterOwnerStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RelabelType* other) { + void UnsafeArenaSwap(AlterOwnerStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RelabelType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterOwnerStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RelabelType& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RelabelType& from) { - RelabelType::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterOwnerStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterOwnerStmt& from) { + AlterOwnerStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RelabelType* other); + void InternalSwap(AlterOwnerStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RelabelType"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterOwnerStmt"; } protected: - explicit RelabelType(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterOwnerStmt(::google::protobuf::Arena* arena); + AlterOwnerStmt(::google::protobuf::Arena* arena, const AlterOwnerStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 3, - kResulttypmodFieldNumber = 4, - kResultcollidFieldNumber = 5, - kRelabelformatFieldNumber = 6, - kLocationFieldNumber = 7, + kRelationFieldNumber = 2, + kObjectFieldNumber = 3, + kNewownerFieldNumber = 4, + kObjectTypeFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; - public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - // uint32 resulttype = 3 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); - private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); public: + // .pg_query.Node object = 3 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // int32 resulttypmod = 4 [json_name = "resulttypmod"]; - void clear_resulttypmod(); - int32_t resulttypmod() const; - void set_resulttypmod(int32_t value); private: - int32_t _internal_resulttypmod() const; - void _internal_set_resulttypmod(int32_t value); - public: + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); - // uint32 resultcollid = 5 [json_name = "resultcollid"]; - void clear_resultcollid(); - uint32_t resultcollid() const; - void set_resultcollid(uint32_t value); - private: - uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(uint32_t value); public: + // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; + bool has_newowner() const; + void clear_newowner() ; + const ::pg_query::RoleSpec& newowner() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newowner(); + ::pg_query::RoleSpec* mutable_newowner(); + void set_allocated_newowner(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_newowner(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_newowner(); - // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; - void clear_relabelformat(); - ::pg_query::CoercionForm relabelformat() const; - void set_relabelformat(::pg_query::CoercionForm value); private: - ::pg_query::CoercionForm _internal_relabelformat() const; - void _internal_set_relabelformat(::pg_query::CoercionForm value); + const ::pg_query::RoleSpec& _internal_newowner() const; + ::pg_query::RoleSpec* _internal_mutable_newowner(); + public: + // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; + void clear_object_type() ; + ::pg_query::ObjectType object_type() const; + void set_object_type(::pg_query::ObjectType value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::pg_query::ObjectType _internal_object_type() const; + void _internal_set_object_type(::pg_query::ObjectType value); - // @@protoc_insertion_point(class_scope:pg_query.RelabelType) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterOwnerStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t resulttype_; - int32_t resulttypmod_; - uint32_t resultcollid_; - int relabelformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* object_; + ::pg_query::RoleSpec* newowner_; + int object_type_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CoerceViaIO final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceViaIO) */ { +class AlterPolicyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterPolicyStmt) */ { public: - inline CoerceViaIO() : CoerceViaIO(nullptr) {} - ~CoerceViaIO() override; - explicit PROTOBUF_CONSTEXPR CoerceViaIO(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterPolicyStmt() : AlterPolicyStmt(nullptr) {} + ~AlterPolicyStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterPolicyStmt(::google::protobuf::internal::ConstantInitialized); - CoerceViaIO(const CoerceViaIO& from); - CoerceViaIO(CoerceViaIO&& from) noexcept - : CoerceViaIO() { + inline AlterPolicyStmt(const AlterPolicyStmt& from) + : AlterPolicyStmt(nullptr, from) {} + AlterPolicyStmt(AlterPolicyStmt&& from) noexcept + : AlterPolicyStmt() { *this = ::std::move(from); } - inline CoerceViaIO& operator=(const CoerceViaIO& from) { + inline AlterPolicyStmt& operator=(const AlterPolicyStmt& from) { CopyFrom(from); return *this; } - inline CoerceViaIO& operator=(CoerceViaIO&& from) noexcept { + inline AlterPolicyStmt& operator=(AlterPolicyStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -16322,218 +16790,250 @@ class CoerceViaIO final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CoerceViaIO& default_instance() { + static const AlterPolicyStmt& default_instance() { return *internal_default_instance(); } - static inline const CoerceViaIO* internal_default_instance() { - return reinterpret_cast( - &_CoerceViaIO_default_instance_); + static inline const AlterPolicyStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterPolicyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 34; + 184; - friend void swap(CoerceViaIO& a, CoerceViaIO& b) { + friend void swap(AlterPolicyStmt& a, AlterPolicyStmt& b) { a.Swap(&b); } - inline void Swap(CoerceViaIO* other) { + inline void Swap(AlterPolicyStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CoerceViaIO* other) { + void UnsafeArenaSwap(AlterPolicyStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CoerceViaIO* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterPolicyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CoerceViaIO& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CoerceViaIO& from) { - CoerceViaIO::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterPolicyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterPolicyStmt& from) { + AlterPolicyStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CoerceViaIO* other); + void InternalSwap(AlterPolicyStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CoerceViaIO"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterPolicyStmt"; } protected: - explicit CoerceViaIO(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterPolicyStmt(::google::protobuf::Arena* arena); + AlterPolicyStmt(::google::protobuf::Arena* arena, const AlterPolicyStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 3, - kResultcollidFieldNumber = 4, - kCoerceformatFieldNumber = 5, - kLocationFieldNumber = 6, + kRolesFieldNumber = 3, + kPolicyNameFieldNumber = 1, + kTableFieldNumber = 2, + kQualFieldNumber = 4, + kWithCheckFieldNumber = 5, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node roles = 3 [json_name = "roles"]; + int roles_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_roles_size() const; - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // string policy_name = 1 [json_name = "policy_name"]; + void clear_policy_name() ; + const std::string& policy_name() const; + template + void set_policy_name(Arg_&& arg, Args_... args); + std::string* mutable_policy_name(); + PROTOBUF_NODISCARD std::string* release_policy_name(); + void set_allocated_policy_name(std::string* value); - // uint32 resulttype = 3 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); + const std::string& _internal_policy_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_policy_name( + const std::string& value); + std::string* _internal_mutable_policy_name(); + public: + // .pg_query.RangeVar table = 2 [json_name = "table"]; + bool has_table() const; + void clear_table() ; + const ::pg_query::RangeVar& table() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_table(); + ::pg_query::RangeVar* mutable_table(); + void set_allocated_table(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_table(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_table(); - // uint32 resultcollid = 4 [json_name = "resultcollid"]; - void clear_resultcollid(); - uint32_t resultcollid() const; - void set_resultcollid(uint32_t value); private: - uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(uint32_t value); + const ::pg_query::RangeVar& _internal_table() const; + ::pg_query::RangeVar* _internal_mutable_table(); + public: + // .pg_query.Node qual = 4 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); - // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"]; - void clear_coerceformat(); - ::pg_query::CoercionForm coerceformat() const; - void set_coerceformat(::pg_query::CoercionForm value); private: - ::pg_query::CoercionForm _internal_coerceformat() const; - void _internal_set_coerceformat(::pg_query::CoercionForm value); + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); + public: + // .pg_query.Node with_check = 5 [json_name = "with_check"]; + bool has_with_check() const; + void clear_with_check() ; + const ::pg_query::Node& with_check() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_with_check(); + ::pg_query::Node* mutable_with_check(); + void set_allocated_with_check(::pg_query::Node* value); + void unsafe_arena_set_allocated_with_check(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_with_check(); - // int32 location = 6 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + const ::pg_query::Node& _internal_with_check() const; + ::pg_query::Node* _internal_mutable_with_check(); - // @@protoc_insertion_point(class_scope:pg_query.CoerceViaIO) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterPolicyStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 4, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t resulttype_; - uint32_t resultcollid_; - int coerceformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + ::google::protobuf::internal::ArenaStringPtr policy_name_; + ::pg_query::RangeVar* table_; + ::pg_query::Node* qual_; + ::pg_query::Node* with_check_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ArrayCoerceExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ArrayCoerceExpr) */ { +class AlterPublicationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterPublicationStmt) */ { public: - inline ArrayCoerceExpr() : ArrayCoerceExpr(nullptr) {} - ~ArrayCoerceExpr() override; - explicit PROTOBUF_CONSTEXPR ArrayCoerceExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterPublicationStmt() : AlterPublicationStmt(nullptr) {} + ~AlterPublicationStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterPublicationStmt(::google::protobuf::internal::ConstantInitialized); - ArrayCoerceExpr(const ArrayCoerceExpr& from); - ArrayCoerceExpr(ArrayCoerceExpr&& from) noexcept - : ArrayCoerceExpr() { + inline AlterPublicationStmt(const AlterPublicationStmt& from) + : AlterPublicationStmt(nullptr, from) {} + AlterPublicationStmt(AlterPublicationStmt&& from) noexcept + : AlterPublicationStmt() { *this = ::std::move(from); } - inline ArrayCoerceExpr& operator=(const ArrayCoerceExpr& from) { + inline AlterPublicationStmt& operator=(const AlterPublicationStmt& from) { CopyFrom(from); return *this; } - inline ArrayCoerceExpr& operator=(ArrayCoerceExpr&& from) noexcept { + inline AlterPublicationStmt& operator=(AlterPublicationStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -16543,249 +17043,242 @@ class ArrayCoerceExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ArrayCoerceExpr& default_instance() { + static const AlterPublicationStmt& default_instance() { return *internal_default_instance(); } - static inline const ArrayCoerceExpr* internal_default_instance() { - return reinterpret_cast( - &_ArrayCoerceExpr_default_instance_); + static inline const AlterPublicationStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterPublicationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 35; + 267; - friend void swap(ArrayCoerceExpr& a, ArrayCoerceExpr& b) { + friend void swap(AlterPublicationStmt& a, AlterPublicationStmt& b) { a.Swap(&b); } - inline void Swap(ArrayCoerceExpr* other) { + inline void Swap(AlterPublicationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ArrayCoerceExpr* other) { + void UnsafeArenaSwap(AlterPublicationStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ArrayCoerceExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterPublicationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ArrayCoerceExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ArrayCoerceExpr& from) { - ArrayCoerceExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterPublicationStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterPublicationStmt& from) { + AlterPublicationStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ArrayCoerceExpr* other); + void InternalSwap(AlterPublicationStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ArrayCoerceExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterPublicationStmt"; } protected: - explicit ArrayCoerceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterPublicationStmt(::google::protobuf::Arena* arena); + AlterPublicationStmt(::google::protobuf::Arena* arena, const AlterPublicationStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kElemexprFieldNumber = 3, - kResulttypeFieldNumber = 4, - kResulttypmodFieldNumber = 5, - kResultcollidFieldNumber = 6, - kCoerceformatFieldNumber = 7, - kLocationFieldNumber = 8, + kOptionsFieldNumber = 2, + kPubobjectsFieldNumber = 3, + kPubnameFieldNumber = 1, + kForAllTablesFieldNumber = 4, + kActionFieldNumber = 5, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_options_size() const; - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); - - // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"]; - bool has_elemexpr() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; + int pubobjects_size() const; private: - bool _internal_has_elemexpr() const; + int _internal_pubobjects_size() const; + public: - void clear_elemexpr(); - const ::pg_query::Node& elemexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_elemexpr(); - ::pg_query::Node* mutable_elemexpr(); - void set_allocated_elemexpr(::pg_query::Node* elemexpr); + void clear_pubobjects() ; + ::pg_query::Node* mutable_pubobjects(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_pubobjects(); private: - const ::pg_query::Node& _internal_elemexpr() const; - ::pg_query::Node* _internal_mutable_elemexpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_pubobjects() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_pubobjects(); public: - void unsafe_arena_set_allocated_elemexpr( - ::pg_query::Node* elemexpr); - ::pg_query::Node* unsafe_arena_release_elemexpr(); + const ::pg_query::Node& pubobjects(int index) const; + ::pg_query::Node* add_pubobjects(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + pubobjects() const; + // string pubname = 1 [json_name = "pubname"]; + void clear_pubname() ; + const std::string& pubname() const; + template + void set_pubname(Arg_&& arg, Args_... args); + std::string* mutable_pubname(); + PROTOBUF_NODISCARD std::string* release_pubname(); + void set_allocated_pubname(std::string* value); - // uint32 resulttype = 4 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); - public: + const std::string& _internal_pubname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_pubname( + const std::string& value); + std::string* _internal_mutable_pubname(); - // int32 resulttypmod = 5 [json_name = "resulttypmod"]; - void clear_resulttypmod(); - int32_t resulttypmod() const; - void set_resulttypmod(int32_t value); - private: - int32_t _internal_resulttypmod() const; - void _internal_set_resulttypmod(int32_t value); public: + // bool for_all_tables = 4 [json_name = "for_all_tables"]; + void clear_for_all_tables() ; + bool for_all_tables() const; + void set_for_all_tables(bool value); - // uint32 resultcollid = 6 [json_name = "resultcollid"]; - void clear_resultcollid(); - uint32_t resultcollid() const; - void set_resultcollid(uint32_t value); private: - uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(uint32_t value); - public: + bool _internal_for_all_tables() const; + void _internal_set_for_all_tables(bool value); - // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"]; - void clear_coerceformat(); - ::pg_query::CoercionForm coerceformat() const; - void set_coerceformat(::pg_query::CoercionForm value); - private: - ::pg_query::CoercionForm _internal_coerceformat() const; - void _internal_set_coerceformat(::pg_query::CoercionForm value); public: + // .pg_query.AlterPublicationAction action = 5 [json_name = "action"]; + void clear_action() ; + ::pg_query::AlterPublicationAction action() const; + void set_action(::pg_query::AlterPublicationAction value); - // int32 location = 8 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::pg_query::AlterPublicationAction _internal_action() const; + void _internal_set_action(::pg_query::AlterPublicationAction value); - // @@protoc_insertion_point(class_scope:pg_query.ArrayCoerceExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterPublicationStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 45, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - ::pg_query::Node* elemexpr_; - uint32_t resulttype_; - int32_t resulttypmod_; - uint32_t resultcollid_; - int coerceformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > pubobjects_; + ::google::protobuf::internal::ArenaStringPtr pubname_; + bool for_all_tables_; + int action_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ConvertRowtypeExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ConvertRowtypeExpr) */ { +class AlterRoleSetStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterRoleSetStmt) */ { public: - inline ConvertRowtypeExpr() : ConvertRowtypeExpr(nullptr) {} - ~ConvertRowtypeExpr() override; - explicit PROTOBUF_CONSTEXPR ConvertRowtypeExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterRoleSetStmt() : AlterRoleSetStmt(nullptr) {} + ~AlterRoleSetStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterRoleSetStmt(::google::protobuf::internal::ConstantInitialized); - ConvertRowtypeExpr(const ConvertRowtypeExpr& from); - ConvertRowtypeExpr(ConvertRowtypeExpr&& from) noexcept - : ConvertRowtypeExpr() { + inline AlterRoleSetStmt(const AlterRoleSetStmt& from) + : AlterRoleSetStmt(nullptr, from) {} + AlterRoleSetStmt(AlterRoleSetStmt&& from) noexcept + : AlterRoleSetStmt() { *this = ::std::move(from); } - inline ConvertRowtypeExpr& operator=(const ConvertRowtypeExpr& from) { + inline AlterRoleSetStmt& operator=(const AlterRoleSetStmt& from) { CopyFrom(from); return *this; } - inline ConvertRowtypeExpr& operator=(ConvertRowtypeExpr&& from) noexcept { + inline AlterRoleSetStmt& operator=(AlterRoleSetStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -16795,207 +17288,213 @@ class ConvertRowtypeExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ConvertRowtypeExpr& default_instance() { + static const AlterRoleSetStmt& default_instance() { return *internal_default_instance(); } - static inline const ConvertRowtypeExpr* internal_default_instance() { - return reinterpret_cast( - &_ConvertRowtypeExpr_default_instance_); + static inline const AlterRoleSetStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterRoleSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 36; + 192; - friend void swap(ConvertRowtypeExpr& a, ConvertRowtypeExpr& b) { + friend void swap(AlterRoleSetStmt& a, AlterRoleSetStmt& b) { a.Swap(&b); } - inline void Swap(ConvertRowtypeExpr* other) { + inline void Swap(AlterRoleSetStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ConvertRowtypeExpr* other) { + void UnsafeArenaSwap(AlterRoleSetStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ConvertRowtypeExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterRoleSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ConvertRowtypeExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ConvertRowtypeExpr& from) { - ConvertRowtypeExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterRoleSetStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterRoleSetStmt& from) { + AlterRoleSetStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ConvertRowtypeExpr* other); + void InternalSwap(AlterRoleSetStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ConvertRowtypeExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterRoleSetStmt"; } protected: - explicit ConvertRowtypeExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterRoleSetStmt(::google::protobuf::Arena* arena); + AlterRoleSetStmt(::google::protobuf::Arena* arena, const AlterRoleSetStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 3, - kConvertformatFieldNumber = 4, - kLocationFieldNumber = 5, + kDatabaseFieldNumber = 2, + kRoleFieldNumber = 1, + kSetstmtFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // string database = 2 [json_name = "database"]; + void clear_database() ; + const std::string& database() const; + template + void set_database(Arg_&& arg, Args_... args); + std::string* mutable_database(); + PROTOBUF_NODISCARD std::string* release_database(); + void set_allocated_database(std::string* value); - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; private: - bool _internal_has_arg() const; + const std::string& _internal_database() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_database( + const std::string& value); + std::string* _internal_mutable_database(); + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + // .pg_query.RoleSpec role = 1 [json_name = "role"]; + bool has_role() const; + void clear_role() ; + const ::pg_query::RoleSpec& role() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role(); + ::pg_query::RoleSpec* mutable_role(); + void set_allocated_role(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_role(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_role(); + private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::pg_query::RoleSpec& _internal_role() const; + ::pg_query::RoleSpec* _internal_mutable_role(); + public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"]; + bool has_setstmt() const; + void clear_setstmt() ; + const ::pg_query::VariableSetStmt& setstmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); + ::pg_query::VariableSetStmt* mutable_setstmt(); + void set_allocated_setstmt(::pg_query::VariableSetStmt* value); + void unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value); + ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); - // uint32 resulttype = 3 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); + const ::pg_query::VariableSetStmt& _internal_setstmt() const; + ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterRoleSetStmt) + private: + class _Internal; - // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"]; - void clear_convertformat(); - ::pg_query::CoercionForm convertformat() const; - void set_convertformat(::pg_query::CoercionForm value); - private: - ::pg_query::CoercionForm _internal_convertformat() const; - void _internal_set_convertformat(::pg_query::CoercionForm value); - public: - - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.ConvertRowtypeExpr) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t resulttype_; - int convertformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr database_; + ::pg_query::RoleSpec* role_; + ::pg_query::VariableSetStmt* setstmt_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CollateExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CollateExpr) */ { +class AlterRoleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterRoleStmt) */ { public: - inline CollateExpr() : CollateExpr(nullptr) {} - ~CollateExpr() override; - explicit PROTOBUF_CONSTEXPR CollateExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterRoleStmt() : AlterRoleStmt(nullptr) {} + ~AlterRoleStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterRoleStmt(::google::protobuf::internal::ConstantInitialized); - CollateExpr(const CollateExpr& from); - CollateExpr(CollateExpr&& from) noexcept - : CollateExpr() { + inline AlterRoleStmt(const AlterRoleStmt& from) + : AlterRoleStmt(nullptr, from) {} + AlterRoleStmt(AlterRoleStmt&& from) noexcept + : AlterRoleStmt() { *this = ::std::move(from); } - inline CollateExpr& operator=(const CollateExpr& from) { + inline AlterRoleStmt& operator=(const AlterRoleStmt& from) { CopyFrom(from); return *this; } - inline CollateExpr& operator=(CollateExpr&& from) noexcept { + inline AlterRoleStmt& operator=(AlterRoleStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -17005,196 +17504,210 @@ class CollateExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CollateExpr& default_instance() { + static const AlterRoleStmt& default_instance() { return *internal_default_instance(); } - static inline const CollateExpr* internal_default_instance() { - return reinterpret_cast( - &_CollateExpr_default_instance_); + static inline const AlterRoleStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 37; + 191; - friend void swap(CollateExpr& a, CollateExpr& b) { + friend void swap(AlterRoleStmt& a, AlterRoleStmt& b) { a.Swap(&b); } - inline void Swap(CollateExpr* other) { + inline void Swap(AlterRoleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CollateExpr* other) { + void UnsafeArenaSwap(AlterRoleStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CollateExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterRoleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CollateExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CollateExpr& from) { - CollateExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterRoleStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterRoleStmt& from) { + AlterRoleStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CollateExpr* other); + void InternalSwap(AlterRoleStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CollateExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterRoleStmt"; } protected: - explicit CollateExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterRoleStmt(::google::protobuf::Arena* arena); + AlterRoleStmt(::google::protobuf::Arena* arena, const AlterRoleStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kCollOidFieldNumber = 3, - kLocationFieldNumber = 4, + kOptionsFieldNumber = 2, + kRoleFieldNumber = 1, + kActionFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_options_size() const; - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.RoleSpec role = 1 [json_name = "role"]; + bool has_role() const; + void clear_role() ; + const ::pg_query::RoleSpec& role() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role(); + ::pg_query::RoleSpec* mutable_role(); + void set_allocated_role(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_role(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_role(); - // uint32 coll_oid = 3 [json_name = "collOid"]; - void clear_coll_oid(); - uint32_t coll_oid() const; - void set_coll_oid(uint32_t value); private: - uint32_t _internal_coll_oid() const; - void _internal_set_coll_oid(uint32_t value); + const ::pg_query::RoleSpec& _internal_role() const; + ::pg_query::RoleSpec* _internal_mutable_role(); + public: + // int32 action = 3 [json_name = "action"]; + void clear_action() ; + ::int32_t action() const; + void set_action(::int32_t value); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_action() const; + void _internal_set_action(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CollateExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterRoleStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t coll_oid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::RoleSpec* role_; + ::int32_t action_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CaseExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseExpr) */ { +class AlterSeqStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSeqStmt) */ { public: - inline CaseExpr() : CaseExpr(nullptr) {} - ~CaseExpr() override; - explicit PROTOBUF_CONSTEXPR CaseExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterSeqStmt() : AlterSeqStmt(nullptr) {} + ~AlterSeqStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterSeqStmt(::google::protobuf::internal::ConstantInitialized); - CaseExpr(const CaseExpr& from); - CaseExpr(CaseExpr&& from) noexcept - : CaseExpr() { + inline AlterSeqStmt(const AlterSeqStmt& from) + : AlterSeqStmt(nullptr, from) {} + AlterSeqStmt(AlterSeqStmt&& from) noexcept + : AlterSeqStmt() { *this = ::std::move(from); } - inline CaseExpr& operator=(const CaseExpr& from) { + inline AlterSeqStmt& operator=(const AlterSeqStmt& from) { CopyFrom(from); return *this; } - inline CaseExpr& operator=(CaseExpr&& from) noexcept { + inline AlterSeqStmt& operator=(AlterSeqStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -17204,247 +17717,222 @@ class CaseExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CaseExpr& default_instance() { + static const AlterSeqStmt& default_instance() { return *internal_default_instance(); } - static inline const CaseExpr* internal_default_instance() { - return reinterpret_cast( - &_CaseExpr_default_instance_); + static inline const AlterSeqStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterSeqStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 38; + 195; - friend void swap(CaseExpr& a, CaseExpr& b) { + friend void swap(AlterSeqStmt& a, AlterSeqStmt& b) { a.Swap(&b); } - inline void Swap(CaseExpr* other) { + inline void Swap(AlterSeqStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CaseExpr* other) { + void UnsafeArenaSwap(AlterSeqStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CaseExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterSeqStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CaseExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CaseExpr& from) { - CaseExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterSeqStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterSeqStmt& from) { + AlterSeqStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CaseExpr* other); + void InternalSwap(AlterSeqStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CaseExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterSeqStmt"; } protected: - explicit CaseExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterSeqStmt(::google::protobuf::Arena* arena); + AlterSeqStmt(::google::protobuf::Arena* arena, const AlterSeqStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 5, - kXprFieldNumber = 1, - kArgFieldNumber = 4, - kDefresultFieldNumber = 6, - kCasetypeFieldNumber = 2, - kCasecollidFieldNumber = 3, - kLocationFieldNumber = 7, + kOptionsFieldNumber = 2, + kSequenceFieldNumber = 1, + kForIdentityFieldNumber = 3, + kMissingOkFieldNumber = 4, }; - // repeated .pg_query.Node args = 5 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + int _internal_options_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; + bool has_sequence() const; + void clear_sequence() ; + const ::pg_query::RangeVar& sequence() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_sequence(); + ::pg_query::RangeVar* mutable_sequence(); + void set_allocated_sequence(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_sequence(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_sequence(); - // .pg_query.Node arg = 4 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; - public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::RangeVar& _internal_sequence() const; + ::pg_query::RangeVar* _internal_mutable_sequence(); - // .pg_query.Node defresult = 6 [json_name = "defresult"]; - bool has_defresult() const; - private: - bool _internal_has_defresult() const; - public: - void clear_defresult(); - const ::pg_query::Node& defresult() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_defresult(); - ::pg_query::Node* mutable_defresult(); - void set_allocated_defresult(::pg_query::Node* defresult); - private: - const ::pg_query::Node& _internal_defresult() const; - ::pg_query::Node* _internal_mutable_defresult(); public: - void unsafe_arena_set_allocated_defresult( - ::pg_query::Node* defresult); - ::pg_query::Node* unsafe_arena_release_defresult(); + // bool for_identity = 3 [json_name = "for_identity"]; + void clear_for_identity() ; + bool for_identity() const; + void set_for_identity(bool value); - // uint32 casetype = 2 [json_name = "casetype"]; - void clear_casetype(); - uint32_t casetype() const; - void set_casetype(uint32_t value); private: - uint32_t _internal_casetype() const; - void _internal_set_casetype(uint32_t value); - public: + bool _internal_for_identity() const; + void _internal_set_for_identity(bool value); - // uint32 casecollid = 3 [json_name = "casecollid"]; - void clear_casecollid(); - uint32_t casecollid() const; - void set_casecollid(uint32_t value); - private: - uint32_t _internal_casecollid() const; - void _internal_set_casecollid(uint32_t value); public: + // bool missing_ok = 4 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CaseExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterSeqStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - ::pg_query::Node* defresult_; - uint32_t casetype_; - uint32_t casecollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::RangeVar* sequence_; + bool for_identity_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CaseWhen final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseWhen) */ { +class AlterStatsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterStatsStmt) */ { public: - inline CaseWhen() : CaseWhen(nullptr) {} - ~CaseWhen() override; - explicit PROTOBUF_CONSTEXPR CaseWhen(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterStatsStmt() : AlterStatsStmt(nullptr) {} + ~AlterStatsStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterStatsStmt(::google::protobuf::internal::ConstantInitialized); - CaseWhen(const CaseWhen& from); - CaseWhen(CaseWhen&& from) noexcept - : CaseWhen() { + inline AlterStatsStmt(const AlterStatsStmt& from) + : AlterStatsStmt(nullptr, from) {} + AlterStatsStmt(AlterStatsStmt&& from) noexcept + : AlterStatsStmt() { *this = ::std::move(from); } - inline CaseWhen& operator=(const CaseWhen& from) { + inline AlterStatsStmt& operator=(const AlterStatsStmt& from) { CopyFrom(from); return *this; } - inline CaseWhen& operator=(CaseWhen&& from) noexcept { + inline AlterStatsStmt& operator=(AlterStatsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -17454,205 +17942,210 @@ class CaseWhen final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CaseWhen& default_instance() { + static const AlterStatsStmt& default_instance() { return *internal_default_instance(); } - static inline const CaseWhen* internal_default_instance() { - return reinterpret_cast( - &_CaseWhen_default_instance_); + static inline const AlterStatsStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterStatsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 39; + 212; - friend void swap(CaseWhen& a, CaseWhen& b) { + friend void swap(AlterStatsStmt& a, AlterStatsStmt& b) { a.Swap(&b); } - inline void Swap(CaseWhen* other) { + inline void Swap(AlterStatsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CaseWhen* other) { + void UnsafeArenaSwap(AlterStatsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CaseWhen* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterStatsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CaseWhen& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CaseWhen& from) { - CaseWhen::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterStatsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterStatsStmt& from) { + AlterStatsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CaseWhen* other); + void InternalSwap(AlterStatsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CaseWhen"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterStatsStmt"; } protected: - explicit CaseWhen(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterStatsStmt(::google::protobuf::Arena* arena); + AlterStatsStmt(::google::protobuf::Arena* arena, const AlterStatsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kExprFieldNumber = 2, - kResultFieldNumber = 3, - kLocationFieldNumber = 4, + kDefnamesFieldNumber = 1, + kStxstattargetFieldNumber = 2, + kMissingOkFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; + int defnames_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_defnames_size() const; - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - private: - bool _internal_has_expr() const; public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); + void clear_defnames() ; + ::pg_query::Node* mutable_defnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_defnames(); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_defnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_defnames(); public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + const ::pg_query::Node& defnames(int index) const; + ::pg_query::Node* add_defnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + defnames() const; + // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"]; + bool has_stxstattarget() const; + void clear_stxstattarget() ; + const ::pg_query::Node& stxstattarget() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_stxstattarget(); + ::pg_query::Node* mutable_stxstattarget(); + void set_allocated_stxstattarget(::pg_query::Node* value); + void unsafe_arena_set_allocated_stxstattarget(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_stxstattarget(); - // .pg_query.Node result = 3 [json_name = "result"]; - bool has_result() const; - private: - bool _internal_has_result() const; - public: - void clear_result(); - const ::pg_query::Node& result() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_result(); - ::pg_query::Node* mutable_result(); - void set_allocated_result(::pg_query::Node* result); private: - const ::pg_query::Node& _internal_result() const; - ::pg_query::Node* _internal_mutable_result(); + const ::pg_query::Node& _internal_stxstattarget() const; + ::pg_query::Node* _internal_mutable_stxstattarget(); + public: - void unsafe_arena_set_allocated_result( - ::pg_query::Node* result); - ::pg_query::Node* unsafe_arena_release_result(); + // bool missing_ok = 3 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CaseWhen) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterStatsStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* expr_; - ::pg_query::Node* result_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > defnames_; + ::pg_query::Node* stxstattarget_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CaseTestExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseTestExpr) */ { +class AlterSubscriptionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSubscriptionStmt) */ { public: - inline CaseTestExpr() : CaseTestExpr(nullptr) {} - ~CaseTestExpr() override; - explicit PROTOBUF_CONSTEXPR CaseTestExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterSubscriptionStmt() : AlterSubscriptionStmt(nullptr) {} + ~AlterSubscriptionStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterSubscriptionStmt(::google::protobuf::internal::ConstantInitialized); - CaseTestExpr(const CaseTestExpr& from); - CaseTestExpr(CaseTestExpr&& from) noexcept - : CaseTestExpr() { + inline AlterSubscriptionStmt(const AlterSubscriptionStmt& from) + : AlterSubscriptionStmt(nullptr, from) {} + AlterSubscriptionStmt(AlterSubscriptionStmt&& from) noexcept + : AlterSubscriptionStmt() { *this = ::std::move(from); } - inline CaseTestExpr& operator=(const CaseTestExpr& from) { + inline AlterSubscriptionStmt& operator=(const AlterSubscriptionStmt& from) { CopyFrom(from); return *this; } - inline CaseTestExpr& operator=(CaseTestExpr&& from) noexcept { + inline AlterSubscriptionStmt& operator=(AlterSubscriptionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -17662,187 +18155,248 @@ class CaseTestExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CaseTestExpr& default_instance() { + static const AlterSubscriptionStmt& default_instance() { return *internal_default_instance(); } - static inline const CaseTestExpr* internal_default_instance() { - return reinterpret_cast( - &_CaseTestExpr_default_instance_); + static inline const AlterSubscriptionStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterSubscriptionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 40; + 269; - friend void swap(CaseTestExpr& a, CaseTestExpr& b) { + friend void swap(AlterSubscriptionStmt& a, AlterSubscriptionStmt& b) { a.Swap(&b); } - inline void Swap(CaseTestExpr* other) { + inline void Swap(AlterSubscriptionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CaseTestExpr* other) { + void UnsafeArenaSwap(AlterSubscriptionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CaseTestExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterSubscriptionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CaseTestExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CaseTestExpr& from) { - CaseTestExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterSubscriptionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterSubscriptionStmt& from) { + AlterSubscriptionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CaseTestExpr* other); + void InternalSwap(AlterSubscriptionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CaseTestExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterSubscriptionStmt"; } protected: - explicit CaseTestExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterSubscriptionStmt(::google::protobuf::Arena* arena); + AlterSubscriptionStmt(::google::protobuf::Arena* arena, const AlterSubscriptionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kTypeIdFieldNumber = 2, - kTypeModFieldNumber = 3, - kCollationFieldNumber = 4, + kPublicationFieldNumber = 4, + kOptionsFieldNumber = 5, + kSubnameFieldNumber = 2, + kConninfoFieldNumber = 3, + kKindFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node publication = 4 [json_name = "publication"]; + int publication_size() const; private: - bool _internal_has_xpr() const; + int _internal_publication_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_publication() ; + ::pg_query::Node* mutable_publication(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_publication(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_publication() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_publication(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& publication(int index) const; + ::pg_query::Node* add_publication(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + publication() const; + // repeated .pg_query.Node options = 5 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // uint32 type_id = 2 [json_name = "typeId"]; - void clear_type_id(); - uint32_t type_id() const; - void set_type_id(uint32_t value); + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - uint32_t _internal_type_id() const; - void _internal_set_type_id(uint32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string subname = 2 [json_name = "subname"]; + void clear_subname() ; + const std::string& subname() const; + template + void set_subname(Arg_&& arg, Args_... args); + std::string* mutable_subname(); + PROTOBUF_NODISCARD std::string* release_subname(); + void set_allocated_subname(std::string* value); - // int32 type_mod = 3 [json_name = "typeMod"]; - void clear_type_mod(); - int32_t type_mod() const; - void set_type_mod(int32_t value); private: - int32_t _internal_type_mod() const; - void _internal_set_type_mod(int32_t value); + const std::string& _internal_subname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( + const std::string& value); + std::string* _internal_mutable_subname(); + public: + // string conninfo = 3 [json_name = "conninfo"]; + void clear_conninfo() ; + const std::string& conninfo() const; + template + void set_conninfo(Arg_&& arg, Args_... args); + std::string* mutable_conninfo(); + PROTOBUF_NODISCARD std::string* release_conninfo(); + void set_allocated_conninfo(std::string* value); - // uint32 collation = 4 [json_name = "collation"]; - void clear_collation(); - uint32_t collation() const; - void set_collation(uint32_t value); private: - uint32_t _internal_collation() const; - void _internal_set_collation(uint32_t value); + const std::string& _internal_conninfo() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conninfo( + const std::string& value); + std::string* _internal_mutable_conninfo(); + public: + // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::AlterSubscriptionType kind() const; + void set_kind(::pg_query::AlterSubscriptionType value); - // @@protoc_insertion_point(class_scope:pg_query.CaseTestExpr) + private: + ::pg_query::AlterSubscriptionType _internal_kind() const; + void _internal_set_kind(::pg_query::AlterSubscriptionType value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterSubscriptionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 54, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - uint32_t type_id_; - int32_t type_mod_; - uint32_t collation_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > publication_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr subname_; + ::google::protobuf::internal::ArenaStringPtr conninfo_; + int kind_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ArrayExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ArrayExpr) */ { +class AlterSystemStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSystemStmt) */ { public: - inline ArrayExpr() : ArrayExpr(nullptr) {} - ~ArrayExpr() override; - explicit PROTOBUF_CONSTEXPR ArrayExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterSystemStmt() : AlterSystemStmt(nullptr) {} + ~AlterSystemStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterSystemStmt(::google::protobuf::internal::ConstantInitialized); - ArrayExpr(const ArrayExpr& from); - ArrayExpr(ArrayExpr&& from) noexcept - : ArrayExpr() { + inline AlterSystemStmt(const AlterSystemStmt& from) + : AlterSystemStmt(nullptr, from) {} + AlterSystemStmt(AlterSystemStmt&& from) noexcept + : AlterSystemStmt() { *this = ::std::move(from); } - inline ArrayExpr& operator=(const ArrayExpr& from) { + inline AlterSystemStmt& operator=(const AlterSystemStmt& from) { CopyFrom(from); return *this; } - inline ArrayExpr& operator=(ArrayExpr&& from) noexcept { + inline AlterSystemStmt& operator=(AlterSystemStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -17852,229 +18406,178 @@ class ArrayExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ArrayExpr& default_instance() { + static const AlterSystemStmt& default_instance() { return *internal_default_instance(); } - static inline const ArrayExpr* internal_default_instance() { - return reinterpret_cast( - &_ArrayExpr_default_instance_); + static inline const AlterSystemStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterSystemStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 41; + 242; - friend void swap(ArrayExpr& a, ArrayExpr& b) { + friend void swap(AlterSystemStmt& a, AlterSystemStmt& b) { a.Swap(&b); } - inline void Swap(ArrayExpr* other) { + inline void Swap(AlterSystemStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ArrayExpr* other) { + void UnsafeArenaSwap(AlterSystemStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ArrayExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterSystemStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ArrayExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ArrayExpr& from) { - ArrayExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterSystemStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterSystemStmt& from) { + AlterSystemStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ArrayExpr* other); + void InternalSwap(AlterSystemStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ArrayExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterSystemStmt"; } protected: - explicit ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterSystemStmt(::google::protobuf::Arena* arena); + AlterSystemStmt(::google::protobuf::Arena* arena, const AlterSystemStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kElementsFieldNumber = 5, - kXprFieldNumber = 1, - kArrayTypeidFieldNumber = 2, - kArrayCollidFieldNumber = 3, - kElementTypeidFieldNumber = 4, - kMultidimsFieldNumber = 6, - kLocationFieldNumber = 7, + kSetstmtFieldNumber = 1, }; - // repeated .pg_query.Node elements = 5 [json_name = "elements"]; - int elements_size() const; - private: - int _internal_elements_size() const; - public: - void clear_elements(); - ::pg_query::Node* mutable_elements(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_elements(); - private: - const ::pg_query::Node& _internal_elements(int index) const; - ::pg_query::Node* _internal_add_elements(); - public: - const ::pg_query::Node& elements(int index) const; - ::pg_query::Node* add_elements(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - elements() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // uint32 array_typeid = 2 [json_name = "array_typeid"]; - void clear_array_typeid(); - uint32_t array_typeid() const; - void set_array_typeid(uint32_t value); - private: - uint32_t _internal_array_typeid() const; - void _internal_set_array_typeid(uint32_t value); - public: - - // uint32 array_collid = 3 [json_name = "array_collid"]; - void clear_array_collid(); - uint32_t array_collid() const; - void set_array_collid(uint32_t value); - private: - uint32_t _internal_array_collid() const; - void _internal_set_array_collid(uint32_t value); - public: - - // uint32 element_typeid = 4 [json_name = "element_typeid"]; - void clear_element_typeid(); - uint32_t element_typeid() const; - void set_element_typeid(uint32_t value); - private: - uint32_t _internal_element_typeid() const; - void _internal_set_element_typeid(uint32_t value); - public: + // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"]; + bool has_setstmt() const; + void clear_setstmt() ; + const ::pg_query::VariableSetStmt& setstmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); + ::pg_query::VariableSetStmt* mutable_setstmt(); + void set_allocated_setstmt(::pg_query::VariableSetStmt* value); + void unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value); + ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); - // bool multidims = 6 [json_name = "multidims"]; - void clear_multidims(); - bool multidims() const; - void set_multidims(bool value); private: - bool _internal_multidims() const; - void _internal_set_multidims(bool value); - public: + const ::pg_query::VariableSetStmt& _internal_setstmt() const; + ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.ArrayExpr) + // @@protoc_insertion_point(class_scope:pg_query.AlterSystemStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > elements_; - ::pg_query::Node* xpr_; - uint32_t array_typeid_; - uint32_t array_collid_; - uint32_t element_typeid_; - bool multidims_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::VariableSetStmt* setstmt_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RowExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RowExpr) */ { +class AlterTSConfigurationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTSConfigurationStmt) */ { public: - inline RowExpr() : RowExpr(nullptr) {} - ~RowExpr() override; - explicit PROTOBUF_CONSTEXPR RowExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTSConfigurationStmt() : AlterTSConfigurationStmt(nullptr) {} + ~AlterTSConfigurationStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTSConfigurationStmt(::google::protobuf::internal::ConstantInitialized); - RowExpr(const RowExpr& from); - RowExpr(RowExpr&& from) noexcept - : RowExpr() { + inline AlterTSConfigurationStmt(const AlterTSConfigurationStmt& from) + : AlterTSConfigurationStmt(nullptr, from) {} + AlterTSConfigurationStmt(AlterTSConfigurationStmt&& from) noexcept + : AlterTSConfigurationStmt() { *this = ::std::move(from); } - inline RowExpr& operator=(const RowExpr& from) { + inline AlterTSConfigurationStmt& operator=(const AlterTSConfigurationStmt& from) { CopyFrom(from); return *this; } - inline RowExpr& operator=(RowExpr&& from) noexcept { + inline AlterTSConfigurationStmt& operator=(AlterTSConfigurationStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -18084,227 +18587,268 @@ class RowExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RowExpr& default_instance() { + static const AlterTSConfigurationStmt& default_instance() { return *internal_default_instance(); } - static inline const RowExpr* internal_default_instance() { - return reinterpret_cast( - &_RowExpr_default_instance_); + static inline const AlterTSConfigurationStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTSConfigurationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 42; + 263; - friend void swap(RowExpr& a, RowExpr& b) { + friend void swap(AlterTSConfigurationStmt& a, AlterTSConfigurationStmt& b) { a.Swap(&b); } - inline void Swap(RowExpr* other) { + inline void Swap(AlterTSConfigurationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RowExpr* other) { + void UnsafeArenaSwap(AlterTSConfigurationStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RowExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTSConfigurationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RowExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RowExpr& from) { - RowExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTSConfigurationStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTSConfigurationStmt& from) { + AlterTSConfigurationStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RowExpr* other); + void InternalSwap(AlterTSConfigurationStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RowExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTSConfigurationStmt"; } protected: - explicit RowExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTSConfigurationStmt(::google::protobuf::Arena* arena); + AlterTSConfigurationStmt(::google::protobuf::Arena* arena, const AlterTSConfigurationStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 2, - kColnamesFieldNumber = 5, - kXprFieldNumber = 1, - kRowTypeidFieldNumber = 3, - kRowFormatFieldNumber = 4, - kLocationFieldNumber = 6, + kCfgnameFieldNumber = 2, + kTokentypeFieldNumber = 3, + kDictsFieldNumber = 4, + kKindFieldNumber = 1, + kOverrideFieldNumber = 5, + kReplaceFieldNumber = 6, + kMissingOkFieldNumber = 7, }; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"]; + int cfgname_size() const; private: - int _internal_args_size() const; + int _internal_cfgname_size() const; + public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + void clear_cfgname() ; + ::pg_query::Node* mutable_cfgname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cfgname(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cfgname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cfgname(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; - int colnames_size() const; + const ::pg_query::Node& cfgname(int index) const; + ::pg_query::Node* add_cfgname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cfgname() const; + // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"]; + int tokentype_size() const; private: - int _internal_colnames_size() const; + int _internal_tokentype_size() const; + public: - void clear_colnames(); - ::pg_query::Node* mutable_colnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colnames(); + void clear_tokentype() ; + ::pg_query::Node* mutable_tokentype(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_tokentype(); private: - const ::pg_query::Node& _internal_colnames(int index) const; - ::pg_query::Node* _internal_add_colnames(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_tokentype() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_tokentype(); public: - const ::pg_query::Node& colnames(int index) const; - ::pg_query::Node* add_colnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colnames() const; - - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + const ::pg_query::Node& tokentype(int index) const; + ::pg_query::Node* add_tokentype(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + tokentype() const; + // repeated .pg_query.Node dicts = 4 [json_name = "dicts"]; + int dicts_size() const; private: - bool _internal_has_xpr() const; + int _internal_dicts_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_dicts() ; + ::pg_query::Node* mutable_dicts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_dicts(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_dicts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_dicts(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& dicts(int index) const; + ::pg_query::Node* add_dicts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + dicts() const; + // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::AlterTSConfigType kind() const; + void set_kind(::pg_query::AlterTSConfigType value); - // uint32 row_typeid = 3 [json_name = "row_typeid"]; - void clear_row_typeid(); - uint32_t row_typeid() const; - void set_row_typeid(uint32_t value); private: - uint32_t _internal_row_typeid() const; - void _internal_set_row_typeid(uint32_t value); + ::pg_query::AlterTSConfigType _internal_kind() const; + void _internal_set_kind(::pg_query::AlterTSConfigType value); + public: + // bool override = 5 [json_name = "override"]; + void clear_override() ; + bool override() const; + void set_override(bool value); - // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; - void clear_row_format(); - ::pg_query::CoercionForm row_format() const; - void set_row_format(::pg_query::CoercionForm value); private: - ::pg_query::CoercionForm _internal_row_format() const; - void _internal_set_row_format(::pg_query::CoercionForm value); + bool _internal_override() const; + void _internal_set_override(bool value); + public: + // bool replace = 6 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // int32 location = 6 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_replace() const; + void _internal_set_replace(bool value); + public: + // bool missing_ok = 7 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.RowExpr) + private: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterTSConfigurationStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colnames_; - ::pg_query::Node* xpr_; - uint32_t row_typeid_; - int row_format_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cfgname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > tokentype_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > dicts_; + int kind_; + bool override_; + bool replace_; + bool missing_ok_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RowCompareExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RowCompareExpr) */ { +class AlterTSDictionaryStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTSDictionaryStmt) */ { public: - inline RowCompareExpr() : RowCompareExpr(nullptr) {} - ~RowCompareExpr() override; - explicit PROTOBUF_CONSTEXPR RowCompareExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTSDictionaryStmt() : AlterTSDictionaryStmt(nullptr) {} + ~AlterTSDictionaryStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTSDictionaryStmt(::google::protobuf::internal::ConstantInitialized); - RowCompareExpr(const RowCompareExpr& from); - RowCompareExpr(RowCompareExpr&& from) noexcept - : RowCompareExpr() { + inline AlterTSDictionaryStmt(const AlterTSDictionaryStmt& from) + : AlterTSDictionaryStmt(nullptr, from) {} + AlterTSDictionaryStmt(AlterTSDictionaryStmt&& from) noexcept + : AlterTSDictionaryStmt() { *this = ::std::move(from); } - inline RowCompareExpr& operator=(const RowCompareExpr& from) { + inline AlterTSDictionaryStmt& operator=(const AlterTSDictionaryStmt& from) { CopyFrom(from); return *this; } - inline RowCompareExpr& operator=(RowCompareExpr&& from) noexcept { + inline AlterTSDictionaryStmt& operator=(AlterTSDictionaryStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -18314,265 +18858,200 @@ class RowCompareExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RowCompareExpr& default_instance() { + static const AlterTSDictionaryStmt& default_instance() { return *internal_default_instance(); } - static inline const RowCompareExpr* internal_default_instance() { - return reinterpret_cast( - &_RowCompareExpr_default_instance_); + static inline const AlterTSDictionaryStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTSDictionaryStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 43; + 262; - friend void swap(RowCompareExpr& a, RowCompareExpr& b) { + friend void swap(AlterTSDictionaryStmt& a, AlterTSDictionaryStmt& b) { a.Swap(&b); } - inline void Swap(RowCompareExpr* other) { + inline void Swap(AlterTSDictionaryStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RowCompareExpr* other) { + void UnsafeArenaSwap(AlterTSDictionaryStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RowCompareExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTSDictionaryStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RowCompareExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RowCompareExpr& from) { - RowCompareExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTSDictionaryStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTSDictionaryStmt& from) { + AlterTSDictionaryStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RowCompareExpr* other); + void InternalSwap(AlterTSDictionaryStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RowCompareExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTSDictionaryStmt"; } protected: - explicit RowCompareExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTSDictionaryStmt(::google::protobuf::Arena* arena); + AlterTSDictionaryStmt(::google::protobuf::Arena* arena, const AlterTSDictionaryStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOpnosFieldNumber = 3, - kOpfamiliesFieldNumber = 4, - kInputcollidsFieldNumber = 5, - kLargsFieldNumber = 6, - kRargsFieldNumber = 7, - kXprFieldNumber = 1, - kRctypeFieldNumber = 2, + kDictnameFieldNumber = 1, + kOptionsFieldNumber = 2, }; - // repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; - int opnos_size() const; - private: - int _internal_opnos_size() const; - public: - void clear_opnos(); - ::pg_query::Node* mutable_opnos(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opnos(); - private: - const ::pg_query::Node& _internal_opnos(int index) const; - ::pg_query::Node* _internal_add_opnos(); - public: - const ::pg_query::Node& opnos(int index) const; - ::pg_query::Node* add_opnos(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opnos() const; - - // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; - int opfamilies_size() const; - private: - int _internal_opfamilies_size() const; - public: - void clear_opfamilies(); - ::pg_query::Node* mutable_opfamilies(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opfamilies(); - private: - const ::pg_query::Node& _internal_opfamilies(int index) const; - ::pg_query::Node* _internal_add_opfamilies(); - public: - const ::pg_query::Node& opfamilies(int index) const; - ::pg_query::Node* add_opfamilies(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opfamilies() const; - - // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; - int inputcollids_size() const; - private: - int _internal_inputcollids_size() const; - public: - void clear_inputcollids(); - ::pg_query::Node* mutable_inputcollids(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_inputcollids(); + // repeated .pg_query.Node dictname = 1 [json_name = "dictname"]; + int dictname_size() const; private: - const ::pg_query::Node& _internal_inputcollids(int index) const; - ::pg_query::Node* _internal_add_inputcollids(); - public: - const ::pg_query::Node& inputcollids(int index) const; - ::pg_query::Node* add_inputcollids(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - inputcollids() const; + int _internal_dictname_size() const; - // repeated .pg_query.Node largs = 6 [json_name = "largs"]; - int largs_size() const; - private: - int _internal_largs_size() const; - public: - void clear_largs(); - ::pg_query::Node* mutable_largs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_largs(); - private: - const ::pg_query::Node& _internal_largs(int index) const; - ::pg_query::Node* _internal_add_largs(); public: - const ::pg_query::Node& largs(int index) const; - ::pg_query::Node* add_largs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - largs() const; - - // repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; - int rargs_size() const; + void clear_dictname() ; + ::pg_query::Node* mutable_dictname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_dictname(); private: - int _internal_rargs_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_dictname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_dictname(); public: - void clear_rargs(); - ::pg_query::Node* mutable_rargs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_rargs(); + const ::pg_query::Node& dictname(int index) const; + ::pg_query::Node* add_dictname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + dictname() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_rargs(int index) const; - ::pg_query::Node* _internal_add_rargs(); - public: - const ::pg_query::Node& rargs(int index) const; - ::pg_query::Node* add_rargs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - rargs() const; + int _internal_options_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; - void clear_rctype(); - ::pg_query::RowCompareType rctype() const; - void set_rctype(::pg_query::RowCompareType value); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - ::pg_query::RowCompareType _internal_rctype() const; - void _internal_set_rctype(::pg_query::RowCompareType value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - - // @@protoc_insertion_point(class_scope:pg_query.RowCompareExpr) + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // @@protoc_insertion_point(class_scope:pg_query.AlterTSDictionaryStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opnos_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opfamilies_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > inputcollids_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > largs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > rargs_; - ::pg_query::Node* xpr_; - int rctype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > dictname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CoalesceExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CoalesceExpr) */ { +class AlterTableCmd final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableCmd) */ { public: - inline CoalesceExpr() : CoalesceExpr(nullptr) {} - ~CoalesceExpr() override; - explicit PROTOBUF_CONSTEXPR CoalesceExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTableCmd() : AlterTableCmd(nullptr) {} + ~AlterTableCmd() override; + template + explicit PROTOBUF_CONSTEXPR AlterTableCmd(::google::protobuf::internal::ConstantInitialized); - CoalesceExpr(const CoalesceExpr& from); - CoalesceExpr(CoalesceExpr&& from) noexcept - : CoalesceExpr() { + inline AlterTableCmd(const AlterTableCmd& from) + : AlterTableCmd(nullptr, from) {} + AlterTableCmd(AlterTableCmd&& from) noexcept + : AlterTableCmd() { *this = ::std::move(from); } - inline CoalesceExpr& operator=(const CoalesceExpr& from) { + inline AlterTableCmd& operator=(const AlterTableCmd& from) { CopyFrom(from); return *this; } - inline CoalesceExpr& operator=(CoalesceExpr&& from) noexcept { + inline AlterTableCmd& operator=(AlterTableCmd&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -18582,207 +19061,273 @@ class CoalesceExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CoalesceExpr& default_instance() { + static const AlterTableCmd& default_instance() { return *internal_default_instance(); } - static inline const CoalesceExpr* internal_default_instance() { - return reinterpret_cast( - &_CoalesceExpr_default_instance_); + static inline const AlterTableCmd* internal_default_instance() { + return reinterpret_cast( + &_AlterTableCmd_default_instance_); } static constexpr int kIndexInFileMessages = - 44; + 154; - friend void swap(CoalesceExpr& a, CoalesceExpr& b) { + friend void swap(AlterTableCmd& a, AlterTableCmd& b) { a.Swap(&b); } - inline void Swap(CoalesceExpr* other) { + inline void Swap(AlterTableCmd* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CoalesceExpr* other) { + void UnsafeArenaSwap(AlterTableCmd* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CoalesceExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTableCmd* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CoalesceExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CoalesceExpr& from) { - CoalesceExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTableCmd& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTableCmd& from) { + AlterTableCmd::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CoalesceExpr* other); + void InternalSwap(AlterTableCmd* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CoalesceExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTableCmd"; } protected: - explicit CoalesceExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTableCmd(::google::protobuf::Arena* arena); + AlterTableCmd(::google::protobuf::Arena* arena, const AlterTableCmd& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 4, - kXprFieldNumber = 1, - kCoalescetypeFieldNumber = 2, - kCoalescecollidFieldNumber = 3, - kLocationFieldNumber = 5, + kNameFieldNumber = 2, + kNewownerFieldNumber = 4, + kDefFieldNumber = 5, + kSubtypeFieldNumber = 1, + kNumFieldNumber = 3, + kBehaviorFieldNumber = 6, + kMissingOkFieldNumber = 7, + kRecurseFieldNumber = 8, }; - // repeated .pg_query.Node args = 4 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; + bool has_newowner() const; + void clear_newowner() ; + const ::pg_query::RoleSpec& newowner() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newowner(); + ::pg_query::RoleSpec* mutable_newowner(); + void set_allocated_newowner(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_newowner(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_newowner(); - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; private: - bool _internal_has_xpr() const; + const ::pg_query::RoleSpec& _internal_newowner() const; + ::pg_query::RoleSpec* _internal_mutable_newowner(); + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // .pg_query.Node def = 5 [json_name = "def"]; + bool has_def() const; + void clear_def() ; + const ::pg_query::Node& def() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_def(); + ::pg_query::Node* mutable_def(); + void set_allocated_def(::pg_query::Node* value); + void unsafe_arena_set_allocated_def(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_def(); + private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::pg_query::Node& _internal_def() const; + ::pg_query::Node* _internal_mutable_def(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"]; + void clear_subtype() ; + ::pg_query::AlterTableType subtype() const; + void set_subtype(::pg_query::AlterTableType value); - // uint32 coalescetype = 2 [json_name = "coalescetype"]; - void clear_coalescetype(); - uint32_t coalescetype() const; - void set_coalescetype(uint32_t value); private: - uint32_t _internal_coalescetype() const; - void _internal_set_coalescetype(uint32_t value); + ::pg_query::AlterTableType _internal_subtype() const; + void _internal_set_subtype(::pg_query::AlterTableType value); + public: + // int32 num = 3 [json_name = "num"]; + void clear_num() ; + ::int32_t num() const; + void set_num(::int32_t value); - // uint32 coalescecollid = 3 [json_name = "coalescecollid"]; - void clear_coalescecollid(); - uint32_t coalescecollid() const; - void set_coalescecollid(uint32_t value); private: - uint32_t _internal_coalescecollid() const; - void _internal_set_coalescecollid(uint32_t value); + ::int32_t _internal_num() const; + void _internal_set_num(::int32_t value); + public: + // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + public: + // bool missing_ok = 7 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CoalesceExpr) + private: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + + public: + // bool recurse = 8 [json_name = "recurse"]; + void clear_recurse() ; + bool recurse() const; + void set_recurse(bool value); + + private: + bool _internal_recurse() const; + void _internal_set_recurse(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterTableCmd) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t coalescetype_; - uint32_t coalescecollid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::RoleSpec* newowner_; + ::pg_query::Node* def_; + int subtype_; + ::int32_t num_; + int behavior_; + bool missing_ok_; + bool recurse_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class MinMaxExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.MinMaxExpr) */ { +class AlterTableMoveAllStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableMoveAllStmt) */ { public: - inline MinMaxExpr() : MinMaxExpr(nullptr) {} - ~MinMaxExpr() override; - explicit PROTOBUF_CONSTEXPR MinMaxExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTableMoveAllStmt() : AlterTableMoveAllStmt(nullptr) {} + ~AlterTableMoveAllStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTableMoveAllStmt(::google::protobuf::internal::ConstantInitialized); - MinMaxExpr(const MinMaxExpr& from); - MinMaxExpr(MinMaxExpr&& from) noexcept - : MinMaxExpr() { + inline AlterTableMoveAllStmt(const AlterTableMoveAllStmt& from) + : AlterTableMoveAllStmt(nullptr, from) {} + AlterTableMoveAllStmt(AlterTableMoveAllStmt&& from) noexcept + : AlterTableMoveAllStmt() { *this = ::std::move(from); } - inline MinMaxExpr& operator=(const MinMaxExpr& from) { + inline AlterTableMoveAllStmt& operator=(const AlterTableMoveAllStmt& from) { CopyFrom(from); return *this; } - inline MinMaxExpr& operator=(MinMaxExpr&& from) noexcept { + inline AlterTableMoveAllStmt& operator=(AlterTableMoveAllStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -18792,229 +19337,240 @@ class MinMaxExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MinMaxExpr& default_instance() { + static const AlterTableMoveAllStmt& default_instance() { return *internal_default_instance(); } - static inline const MinMaxExpr* internal_default_instance() { - return reinterpret_cast( - &_MinMaxExpr_default_instance_); + static inline const AlterTableMoveAllStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTableMoveAllStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 45; + 170; - friend void swap(MinMaxExpr& a, MinMaxExpr& b) { + friend void swap(AlterTableMoveAllStmt& a, AlterTableMoveAllStmt& b) { a.Swap(&b); } - inline void Swap(MinMaxExpr* other) { + inline void Swap(AlterTableMoveAllStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MinMaxExpr* other) { + void UnsafeArenaSwap(AlterTableMoveAllStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - MinMaxExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTableMoveAllStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MinMaxExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MinMaxExpr& from) { - MinMaxExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTableMoveAllStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTableMoveAllStmt& from) { + AlterTableMoveAllStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MinMaxExpr* other); + void InternalSwap(AlterTableMoveAllStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.MinMaxExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTableMoveAllStmt"; } protected: - explicit MinMaxExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTableMoveAllStmt(::google::protobuf::Arena* arena); + AlterTableMoveAllStmt(::google::protobuf::Arena* arena, const AlterTableMoveAllStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 6, - kXprFieldNumber = 1, - kMinmaxtypeFieldNumber = 2, - kMinmaxcollidFieldNumber = 3, - kInputcollidFieldNumber = 4, - kOpFieldNumber = 5, - kLocationFieldNumber = 7, + kRolesFieldNumber = 3, + kOrigTablespacenameFieldNumber = 1, + kNewTablespacenameFieldNumber = 4, + kObjtypeFieldNumber = 2, + kNowaitFieldNumber = 5, }; - // repeated .pg_query.Node args = 6 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + // repeated .pg_query.Node roles = 3 [json_name = "roles"]; + int roles_size() const; private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + int _internal_roles_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // string orig_tablespacename = 1 [json_name = "orig_tablespacename"]; + void clear_orig_tablespacename() ; + const std::string& orig_tablespacename() const; + template + void set_orig_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_orig_tablespacename(); + PROTOBUF_NODISCARD std::string* release_orig_tablespacename(); + void set_allocated_orig_tablespacename(std::string* value); - // uint32 minmaxtype = 2 [json_name = "minmaxtype"]; - void clear_minmaxtype(); - uint32_t minmaxtype() const; - void set_minmaxtype(uint32_t value); private: - uint32_t _internal_minmaxtype() const; - void _internal_set_minmaxtype(uint32_t value); - public: + const std::string& _internal_orig_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_orig_tablespacename( + const std::string& value); + std::string* _internal_mutable_orig_tablespacename(); - // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; - void clear_minmaxcollid(); - uint32_t minmaxcollid() const; - void set_minmaxcollid(uint32_t value); - private: - uint32_t _internal_minmaxcollid() const; - void _internal_set_minmaxcollid(uint32_t value); public: + // string new_tablespacename = 4 [json_name = "new_tablespacename"]; + void clear_new_tablespacename() ; + const std::string& new_tablespacename() const; + template + void set_new_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_new_tablespacename(); + PROTOBUF_NODISCARD std::string* release_new_tablespacename(); + void set_allocated_new_tablespacename(std::string* value); - // uint32 inputcollid = 4 [json_name = "inputcollid"]; - void clear_inputcollid(); - uint32_t inputcollid() const; - void set_inputcollid(uint32_t value); private: - uint32_t _internal_inputcollid() const; - void _internal_set_inputcollid(uint32_t value); + const std::string& _internal_new_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_tablespacename( + const std::string& value); + std::string* _internal_mutable_new_tablespacename(); + public: + // .pg_query.ObjectType objtype = 2 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // .pg_query.MinMaxOp op = 5 [json_name = "op"]; - void clear_op(); - ::pg_query::MinMaxOp op() const; - void set_op(::pg_query::MinMaxOp value); private: - ::pg_query::MinMaxOp _internal_op() const; - void _internal_set_op(::pg_query::MinMaxOp value); + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); + public: + // bool nowait = 5 [json_name = "nowait"]; + void clear_nowait() ; + bool nowait() const; + void set_nowait(bool value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_nowait() const; + void _internal_set_nowait(bool value); - // @@protoc_insertion_point(class_scope:pg_query.MinMaxExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterTableMoveAllStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 76, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* xpr_; - uint32_t minmaxtype_; - uint32_t minmaxcollid_; - uint32_t inputcollid_; - int op_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + ::google::protobuf::internal::ArenaStringPtr orig_tablespacename_; + ::google::protobuf::internal::ArenaStringPtr new_tablespacename_; + int objtype_; + bool nowait_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SQLValueFunction final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SQLValueFunction) */ { +class AlterTableSpaceOptionsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableSpaceOptionsStmt) */ { public: - inline SQLValueFunction() : SQLValueFunction(nullptr) {} - ~SQLValueFunction() override; - explicit PROTOBUF_CONSTEXPR SQLValueFunction(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTableSpaceOptionsStmt() : AlterTableSpaceOptionsStmt(nullptr) {} + ~AlterTableSpaceOptionsStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmt(::google::protobuf::internal::ConstantInitialized); - SQLValueFunction(const SQLValueFunction& from); - SQLValueFunction(SQLValueFunction&& from) noexcept - : SQLValueFunction() { + inline AlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt& from) + : AlterTableSpaceOptionsStmt(nullptr, from) {} + AlterTableSpaceOptionsStmt(AlterTableSpaceOptionsStmt&& from) noexcept + : AlterTableSpaceOptionsStmt() { *this = ::std::move(from); } - inline SQLValueFunction& operator=(const SQLValueFunction& from) { + inline AlterTableSpaceOptionsStmt& operator=(const AlterTableSpaceOptionsStmt& from) { CopyFrom(from); return *this; } - inline SQLValueFunction& operator=(SQLValueFunction&& from) noexcept { + inline AlterTableSpaceOptionsStmt& operator=(AlterTableSpaceOptionsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -19024,198 +19580,210 @@ class SQLValueFunction final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SQLValueFunction& default_instance() { + static const AlterTableSpaceOptionsStmt& default_instance() { return *internal_default_instance(); } - static inline const SQLValueFunction* internal_default_instance() { - return reinterpret_cast( - &_SQLValueFunction_default_instance_); + static inline const AlterTableSpaceOptionsStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTableSpaceOptionsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 46; + 169; - friend void swap(SQLValueFunction& a, SQLValueFunction& b) { + friend void swap(AlterTableSpaceOptionsStmt& a, AlterTableSpaceOptionsStmt& b) { a.Swap(&b); } - inline void Swap(SQLValueFunction* other) { + inline void Swap(AlterTableSpaceOptionsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SQLValueFunction* other) { + void UnsafeArenaSwap(AlterTableSpaceOptionsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SQLValueFunction* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTableSpaceOptionsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SQLValueFunction& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SQLValueFunction& from) { - SQLValueFunction::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTableSpaceOptionsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTableSpaceOptionsStmt& from) { + AlterTableSpaceOptionsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SQLValueFunction* other); + void InternalSwap(AlterTableSpaceOptionsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SQLValueFunction"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTableSpaceOptionsStmt"; } protected: - explicit SQLValueFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTableSpaceOptionsStmt(::google::protobuf::Arena* arena); + AlterTableSpaceOptionsStmt(::google::protobuf::Arena* arena, const AlterTableSpaceOptionsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kOpFieldNumber = 2, - kTypeFieldNumber = 3, - kTypmodFieldNumber = 4, - kLocationFieldNumber = 5, + kOptionsFieldNumber = 2, + kTablespacenameFieldNumber = 1, + kIsResetFieldNumber = 3, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - bool _internal_has_xpr() const; + int _internal_options_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string tablespacename = 1 [json_name = "tablespacename"]; + void clear_tablespacename() ; + const std::string& tablespacename() const; + template + void set_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_tablespacename(); + PROTOBUF_NODISCARD std::string* release_tablespacename(); + void set_allocated_tablespacename(std::string* value); - // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; - void clear_op(); - ::pg_query::SQLValueFunctionOp op() const; - void set_op(::pg_query::SQLValueFunctionOp value); private: - ::pg_query::SQLValueFunctionOp _internal_op() const; - void _internal_set_op(::pg_query::SQLValueFunctionOp value); - public: + const std::string& _internal_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename( + const std::string& value); + std::string* _internal_mutable_tablespacename(); - // uint32 type = 3 [json_name = "type"]; - void clear_type(); - uint32_t type() const; - void set_type(uint32_t value); - private: - uint32_t _internal_type() const; - void _internal_set_type(uint32_t value); public: + // bool is_reset = 3 [json_name = "isReset"]; + void clear_is_reset() ; + bool is_reset() const; + void set_is_reset(bool value); - // int32 typmod = 4 [json_name = "typmod"]; - void clear_typmod(); - int32_t typmod() const; - void set_typmod(int32_t value); private: - int32_t _internal_typmod() const; - void _internal_set_typmod(int32_t value); - public: + bool _internal_is_reset() const; + void _internal_set_is_reset(bool value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.SQLValueFunction) + // @@protoc_insertion_point(class_scope:pg_query.AlterTableSpaceOptionsStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 58, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - int op_; - uint32_t type_; - int32_t typmod_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr tablespacename_; + bool is_reset_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class XmlExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlExpr) */ { +class AlterTableStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableStmt) */ { public: - inline XmlExpr() : XmlExpr(nullptr) {} - ~XmlExpr() override; - explicit PROTOBUF_CONSTEXPR XmlExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTableStmt() : AlterTableStmt(nullptr) {} + ~AlterTableStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTableStmt(::google::protobuf::internal::ConstantInitialized); - XmlExpr(const XmlExpr& from); - XmlExpr(XmlExpr&& from) noexcept - : XmlExpr() { + inline AlterTableStmt(const AlterTableStmt& from) + : AlterTableStmt(nullptr, from) {} + AlterTableStmt(AlterTableStmt&& from) noexcept + : AlterTableStmt() { *this = ::std::move(from); } - inline XmlExpr& operator=(const XmlExpr& from) { + inline AlterTableStmt& operator=(const AlterTableStmt& from) { CopyFrom(from); return *this; } - inline XmlExpr& operator=(XmlExpr&& from) noexcept { + inline AlterTableStmt& operator=(AlterTableStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -19225,285 +19793,222 @@ class XmlExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const XmlExpr& default_instance() { + static const AlterTableStmt& default_instance() { return *internal_default_instance(); } - static inline const XmlExpr* internal_default_instance() { - return reinterpret_cast( - &_XmlExpr_default_instance_); + static inline const AlterTableStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTableStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 47; + 152; - friend void swap(XmlExpr& a, XmlExpr& b) { + friend void swap(AlterTableStmt& a, AlterTableStmt& b) { a.Swap(&b); } - inline void Swap(XmlExpr* other) { + inline void Swap(AlterTableStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(XmlExpr* other) { + void UnsafeArenaSwap(AlterTableStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - XmlExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTableStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const XmlExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const XmlExpr& from) { - XmlExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTableStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTableStmt& from) { + AlterTableStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(XmlExpr* other); + void InternalSwap(AlterTableStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.XmlExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTableStmt"; } protected: - explicit XmlExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTableStmt(::google::protobuf::Arena* arena); + AlterTableStmt(::google::protobuf::Arena* arena, const AlterTableStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNamedArgsFieldNumber = 4, - kArgNamesFieldNumber = 5, - kArgsFieldNumber = 6, - kNameFieldNumber = 3, - kXprFieldNumber = 1, - kOpFieldNumber = 2, - kXmloptionFieldNumber = 7, - kTypeFieldNumber = 8, - kTypmodFieldNumber = 9, - kLocationFieldNumber = 10, + kCmdsFieldNumber = 2, + kRelationFieldNumber = 1, + kObjtypeFieldNumber = 3, + kMissingOkFieldNumber = 4, }; - // repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; - int named_args_size() const; - private: - int _internal_named_args_size() const; - public: - void clear_named_args(); - ::pg_query::Node* mutable_named_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_named_args(); - private: - const ::pg_query::Node& _internal_named_args(int index) const; - ::pg_query::Node* _internal_add_named_args(); - public: - const ::pg_query::Node& named_args(int index) const; - ::pg_query::Node* add_named_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - named_args() const; - - // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; - int arg_names_size() const; - private: - int _internal_arg_names_size() const; - public: - void clear_arg_names(); - ::pg_query::Node* mutable_arg_names(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_arg_names(); + // repeated .pg_query.Node cmds = 2 [json_name = "cmds"]; + int cmds_size() const; private: - const ::pg_query::Node& _internal_arg_names(int index) const; - ::pg_query::Node* _internal_add_arg_names(); - public: - const ::pg_query::Node& arg_names(int index) const; - ::pg_query::Node* add_arg_names(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - arg_names() const; + int _internal_cmds_size() const; - // repeated .pg_query.Node args = 6 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // string name = 3 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + void clear_cmds() ; + ::pg_query::Node* mutable_cmds(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cmds(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cmds() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cmds(); public: + const ::pg_query::Node& cmds(int index) const; + ::pg_query::Node* add_cmds(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cmds() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - // .pg_query.XmlExprOp op = 2 [json_name = "op"]; - void clear_op(); - ::pg_query::XmlExprOp op() const; - void set_op(::pg_query::XmlExprOp value); - private: - ::pg_query::XmlExprOp _internal_op() const; - void _internal_set_op(::pg_query::XmlExprOp value); public: + // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; - void clear_xmloption(); - ::pg_query::XmlOptionType xmloption() const; - void set_xmloption(::pg_query::XmlOptionType value); private: - ::pg_query::XmlOptionType _internal_xmloption() const; - void _internal_set_xmloption(::pg_query::XmlOptionType value); - public: + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); - // uint32 type = 8 [json_name = "type"]; - void clear_type(); - uint32_t type() const; - void set_type(uint32_t value); - private: - uint32_t _internal_type() const; - void _internal_set_type(uint32_t value); public: + // bool missing_ok = 4 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // int32 typmod = 9 [json_name = "typmod"]; - void clear_typmod(); - int32_t typmod() const; - void set_typmod(int32_t value); private: - int32_t _internal_typmod() const; - void _internal_set_typmod(int32_t value); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // int32 location = 10 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.XmlExpr) + // @@protoc_insertion_point(class_scope:pg_query.AlterTableStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > named_args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > arg_names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* xpr_; - int op_; - int xmloption_; - uint32_t type_; - int32_t typmod_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cmds_; + ::pg_query::RangeVar* relation_; + int objtype_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class NullTest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.NullTest) */ { +class AlterTypeStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTypeStmt) */ { public: - inline NullTest() : NullTest(nullptr) {} - ~NullTest() override; - explicit PROTOBUF_CONSTEXPR NullTest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterTypeStmt() : AlterTypeStmt(nullptr) {} + ~AlterTypeStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterTypeStmt(::google::protobuf::internal::ConstantInitialized); - NullTest(const NullTest& from); - NullTest(NullTest&& from) noexcept - : NullTest() { + inline AlterTypeStmt(const AlterTypeStmt& from) + : AlterTypeStmt(nullptr, from) {} + AlterTypeStmt(AlterTypeStmt&& from) noexcept + : AlterTypeStmt() { *this = ::std::move(from); } - inline NullTest& operator=(const NullTest& from) { + inline AlterTypeStmt& operator=(const AlterTypeStmt& from) { CopyFrom(from); return *this; } - inline NullTest& operator=(NullTest&& from) noexcept { + inline AlterTypeStmt& operator=(AlterTypeStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -19513,207 +20018,200 @@ class NullTest final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NullTest& default_instance() { + static const AlterTypeStmt& default_instance() { return *internal_default_instance(); } - static inline const NullTest* internal_default_instance() { - return reinterpret_cast( - &_NullTest_default_instance_); + static inline const AlterTypeStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterTypeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 48; + 225; - friend void swap(NullTest& a, NullTest& b) { + friend void swap(AlterTypeStmt& a, AlterTypeStmt& b) { a.Swap(&b); } - inline void Swap(NullTest* other) { + inline void Swap(AlterTypeStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NullTest* other) { + void UnsafeArenaSwap(AlterTypeStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - NullTest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterTypeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const NullTest& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const NullTest& from) { - NullTest::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterTypeStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterTypeStmt& from) { + AlterTypeStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(NullTest* other); + void InternalSwap(AlterTypeStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.NullTest"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterTypeStmt"; } protected: - explicit NullTest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterTypeStmt(::google::protobuf::Arena* arena); + AlterTypeStmt(::google::protobuf::Arena* arena, const AlterTypeStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kNulltesttypeFieldNumber = 3, - kArgisrowFieldNumber = 4, - kLocationFieldNumber = 5, + kTypeNameFieldNumber = 1, + kOptionsFieldNumber = 2, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; + int type_name_size() const; private: - bool _internal_has_xpr() const; + int _internal_type_name_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_type_name() ; + ::pg_query::Node* mutable_type_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_type_name(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_type_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_type_name(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); - - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; + const ::pg_query::Node& type_name(int index) const; + ::pg_query::Node* add_type_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + type_name() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - bool _internal_has_arg() const; + int _internal_options_size() const; + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); - - // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; - void clear_nulltesttype(); - ::pg_query::NullTestType nulltesttype() const; - void set_nulltesttype(::pg_query::NullTestType value); - private: - ::pg_query::NullTestType _internal_nulltesttype() const; - void _internal_set_nulltesttype(::pg_query::NullTestType value); - public: - - // bool argisrow = 4 [json_name = "argisrow"]; - void clear_argisrow(); - bool argisrow() const; - void set_argisrow(bool value); - private: - bool _internal_argisrow() const; - void _internal_set_argisrow(bool value); - public: - - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.NullTest) + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // @@protoc_insertion_point(class_scope:pg_query.AlterTypeStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - int nulltesttype_; - bool argisrow_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > type_name_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class BooleanTest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.BooleanTest) */ { +class AlterUserMappingStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterUserMappingStmt) */ { public: - inline BooleanTest() : BooleanTest(nullptr) {} - ~BooleanTest() override; - explicit PROTOBUF_CONSTEXPR BooleanTest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlterUserMappingStmt() : AlterUserMappingStmt(nullptr) {} + ~AlterUserMappingStmt() override; + template + explicit PROTOBUF_CONSTEXPR AlterUserMappingStmt(::google::protobuf::internal::ConstantInitialized); - BooleanTest(const BooleanTest& from); - BooleanTest(BooleanTest&& from) noexcept - : BooleanTest() { + inline AlterUserMappingStmt(const AlterUserMappingStmt& from) + : AlterUserMappingStmt(nullptr, from) {} + AlterUserMappingStmt(AlterUserMappingStmt&& from) noexcept + : AlterUserMappingStmt() { *this = ::std::move(from); } - inline BooleanTest& operator=(const BooleanTest& from) { + inline AlterUserMappingStmt& operator=(const AlterUserMappingStmt& from) { CopyFrom(from); return *this; } - inline BooleanTest& operator=(BooleanTest&& from) noexcept { + inline AlterUserMappingStmt& operator=(AlterUserMappingStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -19723,196 +20221,216 @@ class BooleanTest final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const BooleanTest& default_instance() { + static const AlterUserMappingStmt& default_instance() { return *internal_default_instance(); } - static inline const BooleanTest* internal_default_instance() { - return reinterpret_cast( - &_BooleanTest_default_instance_); + static inline const AlterUserMappingStmt* internal_default_instance() { + return reinterpret_cast( + &_AlterUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 49; + 180; - friend void swap(BooleanTest& a, BooleanTest& b) { + friend void swap(AlterUserMappingStmt& a, AlterUserMappingStmt& b) { a.Swap(&b); } - inline void Swap(BooleanTest* other) { + inline void Swap(AlterUserMappingStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(BooleanTest* other) { + void UnsafeArenaSwap(AlterUserMappingStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - BooleanTest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlterUserMappingStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const BooleanTest& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const BooleanTest& from) { - BooleanTest::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlterUserMappingStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlterUserMappingStmt& from) { + AlterUserMappingStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(BooleanTest* other); + void InternalSwap(AlterUserMappingStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.BooleanTest"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlterUserMappingStmt"; } protected: - explicit BooleanTest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlterUserMappingStmt(::google::protobuf::Arena* arena); + AlterUserMappingStmt(::google::protobuf::Arena* arena, const AlterUserMappingStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kArgFieldNumber = 2, - kBooltesttypeFieldNumber = 3, - kLocationFieldNumber = 4, + kOptionsFieldNumber = 3, + kServernameFieldNumber = 2, + kUserFieldNumber = 1, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + int _internal_options_size() const; - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string servername = 2 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); - // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; - void clear_booltesttype(); - ::pg_query::BoolTestType booltesttype() const; - void set_booltesttype(::pg_query::BoolTestType value); private: - ::pg_query::BoolTestType _internal_booltesttype() const; - void _internal_set_booltesttype(::pg_query::BoolTestType value); + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); + public: + // .pg_query.RoleSpec user = 1 [json_name = "user"]; + bool has_user() const; + void clear_user() ; + const ::pg_query::RoleSpec& user() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); + ::pg_query::RoleSpec* mutable_user(); + void set_allocated_user(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_user(); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + const ::pg_query::RoleSpec& _internal_user() const; + ::pg_query::RoleSpec* _internal_mutable_user(); - // @@protoc_insertion_point(class_scope:pg_query.BooleanTest) + public: + // @@protoc_insertion_point(class_scope:pg_query.AlterUserMappingStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - int booltesttype_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::pg_query::RoleSpec* user_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CoerceToDomain final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceToDomain) */ { +class AlternativeSubPlan final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.AlternativeSubPlan) */ { public: - inline CoerceToDomain() : CoerceToDomain(nullptr) {} - ~CoerceToDomain() override; - explicit PROTOBUF_CONSTEXPR CoerceToDomain(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline AlternativeSubPlan() : AlternativeSubPlan(nullptr) {} + ~AlternativeSubPlan() override; + template + explicit PROTOBUF_CONSTEXPR AlternativeSubPlan(::google::protobuf::internal::ConstantInitialized); - CoerceToDomain(const CoerceToDomain& from); - CoerceToDomain(CoerceToDomain&& from) noexcept - : CoerceToDomain() { + inline AlternativeSubPlan(const AlternativeSubPlan& from) + : AlternativeSubPlan(nullptr, from) {} + AlternativeSubPlan(AlternativeSubPlan&& from) noexcept + : AlternativeSubPlan() { *this = ::std::move(from); } - inline CoerceToDomain& operator=(const CoerceToDomain& from) { + inline AlternativeSubPlan& operator=(const AlternativeSubPlan& from) { CopyFrom(from); return *this; } - inline CoerceToDomain& operator=(CoerceToDomain&& from) noexcept { + inline AlternativeSubPlan& operator=(AlternativeSubPlan&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -19922,229 +20440,198 @@ class CoerceToDomain final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CoerceToDomain& default_instance() { + static const AlternativeSubPlan& default_instance() { return *internal_default_instance(); } - static inline const CoerceToDomain* internal_default_instance() { - return reinterpret_cast( - &_CoerceToDomain_default_instance_); + static inline const AlternativeSubPlan* internal_default_instance() { + return reinterpret_cast( + &_AlternativeSubPlan_default_instance_); } static constexpr int kIndexInFileMessages = - 50; + 33; - friend void swap(CoerceToDomain& a, CoerceToDomain& b) { + friend void swap(AlternativeSubPlan& a, AlternativeSubPlan& b) { a.Swap(&b); } - inline void Swap(CoerceToDomain* other) { + inline void Swap(AlternativeSubPlan* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CoerceToDomain* other) { + void UnsafeArenaSwap(AlternativeSubPlan* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CoerceToDomain* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + AlternativeSubPlan* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CoerceToDomain& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CoerceToDomain& from) { - CoerceToDomain::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AlternativeSubPlan& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const AlternativeSubPlan& from) { + AlternativeSubPlan::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CoerceToDomain* other); + void InternalSwap(AlternativeSubPlan* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CoerceToDomain"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.AlternativeSubPlan"; } protected: - explicit CoerceToDomain(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit AlternativeSubPlan(::google::protobuf::Arena* arena); + AlternativeSubPlan(::google::protobuf::Arena* arena, const AlternativeSubPlan& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { + kSubplansFieldNumber = 2, kXprFieldNumber = 1, - kArgFieldNumber = 2, - kResulttypeFieldNumber = 3, - kResulttypmodFieldNumber = 4, - kResultcollidFieldNumber = 5, - kCoercionformatFieldNumber = 6, - kLocationFieldNumber = 7, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node subplans = 2 [json_name = "subplans"]; + int subplans_size() const; + private: + int _internal_subplans_size() const; + + public: + void clear_subplans() ; + ::pg_query::Node* mutable_subplans(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_subplans(); private: - bool _internal_has_xpr() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_subplans() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_subplans(); public: - void clear_xpr(); + const ::pg_query::Node& subplans(int index) const; + ::pg_query::Node* add_subplans(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + subplans() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); - private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); - public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.Node arg = 2 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; - public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); - private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); - - // uint32 resulttype = 3 [json_name = "resulttype"]; - void clear_resulttype(); - uint32_t resulttype() const; - void set_resulttype(uint32_t value); - private: - uint32_t _internal_resulttype() const; - void _internal_set_resulttype(uint32_t value); - public: - - // int32 resulttypmod = 4 [json_name = "resulttypmod"]; - void clear_resulttypmod(); - int32_t resulttypmod() const; - void set_resulttypmod(int32_t value); - private: - int32_t _internal_resulttypmod() const; - void _internal_set_resulttypmod(int32_t value); - public: - - // uint32 resultcollid = 5 [json_name = "resultcollid"]; - void clear_resultcollid(); - uint32_t resultcollid() const; - void set_resultcollid(uint32_t value); - private: - uint32_t _internal_resultcollid() const; - void _internal_set_resultcollid(uint32_t value); - public: - - // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; - void clear_coercionformat(); - ::pg_query::CoercionForm coercionformat() const; - void set_coercionformat(::pg_query::CoercionForm value); private: - ::pg_query::CoercionForm _internal_coercionformat() const; - void _internal_set_coercionformat(::pg_query::CoercionForm value); - public: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CoerceToDomain) + // @@protoc_insertion_point(class_scope:pg_query.AlternativeSubPlan) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > subplans_; ::pg_query::Node* xpr_; - ::pg_query::Node* arg_; - uint32_t resulttype_; - int32_t resulttypmod_; - uint32_t resultcollid_; - int coercionformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CoerceToDomainValue final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceToDomainValue) */ { +class ArrayCoerceExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ArrayCoerceExpr) */ { public: - inline CoerceToDomainValue() : CoerceToDomainValue(nullptr) {} - ~CoerceToDomainValue() override; - explicit PROTOBUF_CONSTEXPR CoerceToDomainValue(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ArrayCoerceExpr() : ArrayCoerceExpr(nullptr) {} + ~ArrayCoerceExpr() override; + template + explicit PROTOBUF_CONSTEXPR ArrayCoerceExpr(::google::protobuf::internal::ConstantInitialized); - CoerceToDomainValue(const CoerceToDomainValue& from); - CoerceToDomainValue(CoerceToDomainValue&& from) noexcept - : CoerceToDomainValue() { + inline ArrayCoerceExpr(const ArrayCoerceExpr& from) + : ArrayCoerceExpr(nullptr, from) {} + ArrayCoerceExpr(ArrayCoerceExpr&& from) noexcept + : ArrayCoerceExpr() { *this = ::std::move(from); } - inline CoerceToDomainValue& operator=(const CoerceToDomainValue& from) { + inline ArrayCoerceExpr& operator=(const ArrayCoerceExpr& from) { CopyFrom(from); return *this; } - inline CoerceToDomainValue& operator=(CoerceToDomainValue&& from) noexcept { + inline ArrayCoerceExpr& operator=(ArrayCoerceExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -20154,90 +20641,99 @@ class CoerceToDomainValue final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CoerceToDomainValue& default_instance() { + static const ArrayCoerceExpr& default_instance() { return *internal_default_instance(); } - static inline const CoerceToDomainValue* internal_default_instance() { - return reinterpret_cast( - &_CoerceToDomainValue_default_instance_); + static inline const ArrayCoerceExpr* internal_default_instance() { + return reinterpret_cast( + &_ArrayCoerceExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 51; + 38; - friend void swap(CoerceToDomainValue& a, CoerceToDomainValue& b) { + friend void swap(ArrayCoerceExpr& a, ArrayCoerceExpr& b) { a.Swap(&b); } - inline void Swap(CoerceToDomainValue* other) { + inline void Swap(ArrayCoerceExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CoerceToDomainValue* other) { + void UnsafeArenaSwap(ArrayCoerceExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CoerceToDomainValue* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ArrayCoerceExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CoerceToDomainValue& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CoerceToDomainValue& from) { - CoerceToDomainValue::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ArrayCoerceExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ArrayCoerceExpr& from) { + ArrayCoerceExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CoerceToDomainValue* other); + void InternalSwap(ArrayCoerceExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CoerceToDomainValue"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ArrayCoerceExpr"; } protected: - explicit CoerceToDomainValue(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ArrayCoerceExpr(::google::protobuf::Arena* arena); + ArrayCoerceExpr(::google::protobuf::Arena* arena, const ArrayCoerceExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- @@ -20245,107 +20741,172 @@ class CoerceToDomainValue final : enum : int { kXprFieldNumber = 1, - kTypeIdFieldNumber = 2, - kTypeModFieldNumber = 3, - kCollationFieldNumber = 4, - kLocationFieldNumber = 5, + kArgFieldNumber = 2, + kElemexprFieldNumber = 3, + kResulttypeFieldNumber = 4, + kResulttypmodFieldNumber = 5, + kResultcollidFieldNumber = 6, + kCoerceformatFieldNumber = 7, + kLocationFieldNumber = 8, }; // .pg_query.Node xpr = 1 [json_name = "xpr"]; bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: const ::pg_query::Node& _internal_xpr() const; ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // uint32 type_id = 2 [json_name = "typeId"]; - void clear_type_id(); - uint32_t type_id() const; - void set_type_id(uint32_t value); private: - uint32_t _internal_type_id() const; - void _internal_set_type_id(uint32_t value); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: + // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"]; + bool has_elemexpr() const; + void clear_elemexpr() ; + const ::pg_query::Node& elemexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_elemexpr(); + ::pg_query::Node* mutable_elemexpr(); + void set_allocated_elemexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_elemexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_elemexpr(); - // int32 type_mod = 3 [json_name = "typeMod"]; - void clear_type_mod(); - int32_t type_mod() const; - void set_type_mod(int32_t value); private: - int32_t _internal_type_mod() const; - void _internal_set_type_mod(int32_t value); + const ::pg_query::Node& _internal_elemexpr() const; + ::pg_query::Node* _internal_mutable_elemexpr(); + public: + // uint32 resulttype = 4 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); - // uint32 collation = 4 [json_name = "collation"]; - void clear_collation(); - uint32_t collation() const; - void set_collation(uint32_t value); private: - uint32_t _internal_collation() const; - void _internal_set_collation(uint32_t value); + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + public: + // int32 resulttypmod = 5 [json_name = "resulttypmod"]; + void clear_resulttypmod() ; + ::int32_t resulttypmod() const; + void set_resulttypmod(::int32_t value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + ::int32_t _internal_resulttypmod() const; + void _internal_set_resulttypmod(::int32_t value); + public: + // uint32 resultcollid = 6 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CoerceToDomainValue) + private: + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); + + public: + // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"]; + void clear_coerceformat() ; + ::pg_query::CoercionForm coerceformat() const; + void set_coerceformat(::pg_query::CoercionForm value); + + private: + ::pg_query::CoercionForm _internal_coerceformat() const; + void _internal_set_coerceformat(::pg_query::CoercionForm value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ArrayCoerceExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; ::pg_query::Node* xpr_; - uint32_t type_id_; - int32_t type_mod_; - uint32_t collation_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::pg_query::Node* arg_; + ::pg_query::Node* elemexpr_; + ::uint32_t resulttype_; + ::int32_t resulttypmod_; + ::uint32_t resultcollid_; + int coerceformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SetToDefault final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SetToDefault) */ { +class ArrayExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ArrayExpr) */ { public: - inline SetToDefault() : SetToDefault(nullptr) {} - ~SetToDefault() override; - explicit PROTOBUF_CONSTEXPR SetToDefault(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ArrayExpr() : ArrayExpr(nullptr) {} + ~ArrayExpr() override; + template + explicit PROTOBUF_CONSTEXPR ArrayExpr(::google::protobuf::internal::ConstantInitialized); - SetToDefault(const SetToDefault& from); - SetToDefault(SetToDefault&& from) noexcept - : SetToDefault() { + inline ArrayExpr(const ArrayExpr& from) + : ArrayExpr(nullptr, from) {} + ArrayExpr(ArrayExpr&& from) noexcept + : ArrayExpr() { *this = ::std::move(from); } - inline SetToDefault& operator=(const SetToDefault& from) { + inline ArrayExpr& operator=(const ArrayExpr& from) { CopyFrom(from); return *this; } - inline SetToDefault& operator=(SetToDefault&& from) noexcept { + inline ArrayExpr& operator=(ArrayExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -20355,198 +20916,258 @@ class SetToDefault final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SetToDefault& default_instance() { + static const ArrayExpr& default_instance() { return *internal_default_instance(); } - static inline const SetToDefault* internal_default_instance() { - return reinterpret_cast( - &_SetToDefault_default_instance_); + static inline const ArrayExpr* internal_default_instance() { + return reinterpret_cast( + &_ArrayExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 52; + 44; - friend void swap(SetToDefault& a, SetToDefault& b) { + friend void swap(ArrayExpr& a, ArrayExpr& b) { a.Swap(&b); } - inline void Swap(SetToDefault* other) { + inline void Swap(ArrayExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SetToDefault* other) { + void UnsafeArenaSwap(ArrayExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SetToDefault* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ArrayExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SetToDefault& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SetToDefault& from) { - SetToDefault::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ArrayExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ArrayExpr& from) { + ArrayExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SetToDefault* other); + void InternalSwap(ArrayExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SetToDefault"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ArrayExpr"; } protected: - explicit SetToDefault(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ArrayExpr(::google::protobuf::Arena* arena); + ArrayExpr(::google::protobuf::Arena* arena, const ArrayExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { + kElementsFieldNumber = 5, kXprFieldNumber = 1, - kTypeIdFieldNumber = 2, - kTypeModFieldNumber = 3, - kCollationFieldNumber = 4, - kLocationFieldNumber = 5, + kArrayTypeidFieldNumber = 2, + kArrayCollidFieldNumber = 3, + kElementTypeidFieldNumber = 4, + kMultidimsFieldNumber = 6, + kLocationFieldNumber = 7, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node elements = 5 [json_name = "elements"]; + int elements_size() const; + private: + int _internal_elements_size() const; + + public: + void clear_elements() ; + ::pg_query::Node* mutable_elements(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_elements(); private: - bool _internal_has_xpr() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_elements() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_elements(); public: - void clear_xpr(); + const ::pg_query::Node& elements(int index) const; + ::pg_query::Node* add_elements(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + elements() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: const ::pg_query::Node& _internal_xpr() const; ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // uint32 array_typeid = 2 [json_name = "array_typeid"]; + void clear_array_typeid() ; + ::uint32_t array_typeid() const; + void set_array_typeid(::uint32_t value); - // uint32 type_id = 2 [json_name = "typeId"]; - void clear_type_id(); - uint32_t type_id() const; - void set_type_id(uint32_t value); private: - uint32_t _internal_type_id() const; - void _internal_set_type_id(uint32_t value); + ::uint32_t _internal_array_typeid() const; + void _internal_set_array_typeid(::uint32_t value); + public: + // uint32 array_collid = 3 [json_name = "array_collid"]; + void clear_array_collid() ; + ::uint32_t array_collid() const; + void set_array_collid(::uint32_t value); - // int32 type_mod = 3 [json_name = "typeMod"]; - void clear_type_mod(); - int32_t type_mod() const; - void set_type_mod(int32_t value); private: - int32_t _internal_type_mod() const; - void _internal_set_type_mod(int32_t value); + ::uint32_t _internal_array_collid() const; + void _internal_set_array_collid(::uint32_t value); + public: + // uint32 element_typeid = 4 [json_name = "element_typeid"]; + void clear_element_typeid() ; + ::uint32_t element_typeid() const; + void set_element_typeid(::uint32_t value); - // uint32 collation = 4 [json_name = "collation"]; - void clear_collation(); - uint32_t collation() const; - void set_collation(uint32_t value); private: - uint32_t _internal_collation() const; - void _internal_set_collation(uint32_t value); + ::uint32_t _internal_element_typeid() const; + void _internal_set_element_typeid(::uint32_t value); + public: + // bool multidims = 6 [json_name = "multidims"]; + void clear_multidims() ; + bool multidims() const; + void set_multidims(bool value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_multidims() const; + void _internal_set_multidims(bool value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.SetToDefault) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ArrayExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > elements_; ::pg_query::Node* xpr_; - uint32_t type_id_; - int32_t type_mod_; - uint32_t collation_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::uint32_t array_typeid_; + ::uint32_t array_collid_; + ::uint32_t element_typeid_; + bool multidims_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CurrentOfExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CurrentOfExpr) */ { +class BoolExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.BoolExpr) */ { public: - inline CurrentOfExpr() : CurrentOfExpr(nullptr) {} - ~CurrentOfExpr() override; - explicit PROTOBUF_CONSTEXPR CurrentOfExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline BoolExpr() : BoolExpr(nullptr) {} + ~BoolExpr() override; + template + explicit PROTOBUF_CONSTEXPR BoolExpr(::google::protobuf::internal::ConstantInitialized); - CurrentOfExpr(const CurrentOfExpr& from); - CurrentOfExpr(CurrentOfExpr&& from) noexcept - : CurrentOfExpr() { + inline BoolExpr(const BoolExpr& from) + : BoolExpr(nullptr, from) {} + BoolExpr(BoolExpr&& from) noexcept + : BoolExpr() { *this = ::std::move(from); } - inline CurrentOfExpr& operator=(const CurrentOfExpr& from) { + inline BoolExpr& operator=(const BoolExpr& from) { CopyFrom(from); return *this; } - inline CurrentOfExpr& operator=(CurrentOfExpr&& from) noexcept { + inline BoolExpr& operator=(BoolExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -20556,192 +21177,222 @@ class CurrentOfExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CurrentOfExpr& default_instance() { + static const BoolExpr& default_instance() { return *internal_default_instance(); } - static inline const CurrentOfExpr* internal_default_instance() { - return reinterpret_cast( - &_CurrentOfExpr_default_instance_); + static inline const BoolExpr* internal_default_instance() { + return reinterpret_cast( + &_BoolExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 53; + 30; - friend void swap(CurrentOfExpr& a, CurrentOfExpr& b) { + friend void swap(BoolExpr& a, BoolExpr& b) { a.Swap(&b); } - inline void Swap(CurrentOfExpr* other) { + inline void Swap(BoolExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CurrentOfExpr* other) { + void UnsafeArenaSwap(BoolExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CurrentOfExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + BoolExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CurrentOfExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CurrentOfExpr& from) { - CurrentOfExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const BoolExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const BoolExpr& from) { + BoolExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CurrentOfExpr* other); + void InternalSwap(BoolExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CurrentOfExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.BoolExpr"; } protected: - explicit CurrentOfExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit BoolExpr(::google::protobuf::Arena* arena); + BoolExpr(::google::protobuf::Arena* arena, const BoolExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCursorNameFieldNumber = 3, + kArgsFieldNumber = 3, kXprFieldNumber = 1, - kCvarnoFieldNumber = 2, - kCursorParamFieldNumber = 4, + kBoolopFieldNumber = 2, + kLocationFieldNumber = 4, }; - // string cursor_name = 3 [json_name = "cursor_name"]; - void clear_cursor_name(); - const std::string& cursor_name() const; - template - void set_cursor_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_cursor_name(); - PROTOBUF_NODISCARD std::string* release_cursor_name(); - void set_allocated_cursor_name(std::string* cursor_name); + // repeated .pg_query.Node args = 3 [json_name = "args"]; + int args_size() const; private: - const std::string& _internal_cursor_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_cursor_name(const std::string& value); - std::string* _internal_mutable_cursor_name(); - public: + int _internal_args_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - bool _internal_has_xpr() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void clear_xpr(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: const ::pg_query::Node& _internal_xpr() const; ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"]; + void clear_boolop() ; + ::pg_query::BoolExprType boolop() const; + void set_boolop(::pg_query::BoolExprType value); - // uint32 cvarno = 2 [json_name = "cvarno"]; - void clear_cvarno(); - uint32_t cvarno() const; - void set_cvarno(uint32_t value); private: - uint32_t _internal_cvarno() const; - void _internal_set_cvarno(uint32_t value); + ::pg_query::BoolExprType _internal_boolop() const; + void _internal_set_boolop(::pg_query::BoolExprType value); + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 cursor_param = 4 [json_name = "cursor_param"]; - void clear_cursor_param(); - int32_t cursor_param() const; - void set_cursor_param(int32_t value); private: - int32_t _internal_cursor_param() const; - void _internal_set_cursor_param(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CurrentOfExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.BoolExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cursor_name_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; ::pg_query::Node* xpr_; - uint32_t cvarno_; - int32_t cursor_param_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + int boolop_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class NextValueExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.NextValueExpr) */ { +class BooleanTest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.BooleanTest) */ { public: - inline NextValueExpr() : NextValueExpr(nullptr) {} - ~NextValueExpr() override; - explicit PROTOBUF_CONSTEXPR NextValueExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline BooleanTest() : BooleanTest(nullptr) {} + ~BooleanTest() override; + template + explicit PROTOBUF_CONSTEXPR BooleanTest(::google::protobuf::internal::ConstantInitialized); - NextValueExpr(const NextValueExpr& from); - NextValueExpr(NextValueExpr&& from) noexcept - : NextValueExpr() { + inline BooleanTest(const BooleanTest& from) + : BooleanTest(nullptr, from) {} + BooleanTest(BooleanTest&& from) noexcept + : BooleanTest() { *this = ::std::move(from); } - inline NextValueExpr& operator=(const NextValueExpr& from) { + inline BooleanTest& operator=(const BooleanTest& from) { CopyFrom(from); return *this; } - inline NextValueExpr& operator=(NextValueExpr&& from) noexcept { + inline BooleanTest& operator=(BooleanTest&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -20751,90 +21402,99 @@ class NextValueExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NextValueExpr& default_instance() { + static const BooleanTest& default_instance() { return *internal_default_instance(); } - static inline const NextValueExpr* internal_default_instance() { - return reinterpret_cast( - &_NextValueExpr_default_instance_); + static inline const BooleanTest* internal_default_instance() { + return reinterpret_cast( + &_BooleanTest_default_instance_); } static constexpr int kIndexInFileMessages = - 54; + 62; - friend void swap(NextValueExpr& a, NextValueExpr& b) { + friend void swap(BooleanTest& a, BooleanTest& b) { a.Swap(&b); } - inline void Swap(NextValueExpr* other) { + inline void Swap(BooleanTest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NextValueExpr* other) { + void UnsafeArenaSwap(BooleanTest* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - NextValueExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + BooleanTest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const NextValueExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const NextValueExpr& from) { - NextValueExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const BooleanTest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const BooleanTest& from) { + BooleanTest::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(NextValueExpr* other); + void InternalSwap(BooleanTest* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.NextValueExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.BooleanTest"; } protected: - explicit NextValueExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit BooleanTest(::google::protobuf::Arena* arena); + BooleanTest(::google::protobuf::Arena* arena, const BooleanTest& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- @@ -20842,85 +21502,119 @@ class NextValueExpr final : enum : int { kXprFieldNumber = 1, - kSeqidFieldNumber = 2, - kTypeIdFieldNumber = 3, + kArgFieldNumber = 2, + kBooltesttypeFieldNumber = 3, + kLocationFieldNumber = 4, }; // .pg_query.Node xpr = 1 [json_name = "xpr"]; bool has_xpr() const; - private: - bool _internal_has_xpr() const; - public: - void clear_xpr(); + void clear_xpr() ; const ::pg_query::Node& xpr() const; PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: const ::pg_query::Node& _internal_xpr() const; ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // uint32 seqid = 2 [json_name = "seqid"]; - void clear_seqid(); - uint32_t seqid() const; - void set_seqid(uint32_t value); private: - uint32_t _internal_seqid() const; - void _internal_set_seqid(uint32_t value); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: + // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; + void clear_booltesttype() ; + ::pg_query::BoolTestType booltesttype() const; + void set_booltesttype(::pg_query::BoolTestType value); - // uint32 type_id = 3 [json_name = "typeId"]; - void clear_type_id(); - uint32_t type_id() const; - void set_type_id(uint32_t value); private: - uint32_t _internal_type_id() const; - void _internal_set_type_id(uint32_t value); + ::pg_query::BoolTestType _internal_booltesttype() const; + void _internal_set_booltesttype(::pg_query::BoolTestType value); + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.NextValueExpr) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.BooleanTest) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; ::pg_query::Node* xpr_; - uint32_t seqid_; - uint32_t type_id_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::pg_query::Node* arg_; + int booltesttype_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class InferenceElem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.InferenceElem) */ { +class CTECycleClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CTECycleClause) */ { public: - inline InferenceElem() : InferenceElem(nullptr) {} - ~InferenceElem() override; - explicit PROTOBUF_CONSTEXPR InferenceElem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CTECycleClause() : CTECycleClause(nullptr) {} + ~CTECycleClause() override; + template + explicit PROTOBUF_CONSTEXPR CTECycleClause(::google::protobuf::internal::ConstantInitialized); - InferenceElem(const InferenceElem& from); - InferenceElem(InferenceElem&& from) noexcept - : InferenceElem() { + inline CTECycleClause(const CTECycleClause& from) + : CTECycleClause(nullptr, from) {} + CTECycleClause(CTECycleClause&& from) noexcept + : CTECycleClause() { *this = ::std::move(from); } - inline InferenceElem& operator=(const InferenceElem& from) { + inline CTECycleClause& operator=(const CTECycleClause& from) { CopyFrom(from); return *this; } - inline InferenceElem& operator=(InferenceElem&& from) noexcept { + inline CTECycleClause& operator=(CTECycleClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -20930,196 +21624,311 @@ class InferenceElem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const InferenceElem& default_instance() { + static const CTECycleClause& default_instance() { return *internal_default_instance(); } - static inline const InferenceElem* internal_default_instance() { - return reinterpret_cast( - &_InferenceElem_default_instance_); + static inline const CTECycleClause* internal_default_instance() { + return reinterpret_cast( + &_CTECycleClause_default_instance_); } static constexpr int kIndexInFileMessages = - 55; + 122; - friend void swap(InferenceElem& a, InferenceElem& b) { + friend void swap(CTECycleClause& a, CTECycleClause& b) { a.Swap(&b); } - inline void Swap(InferenceElem* other) { + inline void Swap(CTECycleClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(InferenceElem* other) { + void UnsafeArenaSwap(CTECycleClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - InferenceElem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CTECycleClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const InferenceElem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const InferenceElem& from) { - InferenceElem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CTECycleClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CTECycleClause& from) { + CTECycleClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(InferenceElem* other); + void InternalSwap(CTECycleClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.InferenceElem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CTECycleClause"; } protected: - explicit InferenceElem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CTECycleClause(::google::protobuf::Arena* arena); + CTECycleClause(::google::protobuf::Arena* arena, const CTECycleClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kXprFieldNumber = 1, - kExprFieldNumber = 2, - kInfercollidFieldNumber = 3, - kInferopclassFieldNumber = 4, + kCycleColListFieldNumber = 1, + kCycleMarkColumnFieldNumber = 2, + kCyclePathColumnFieldNumber = 5, + kCycleMarkValueFieldNumber = 3, + kCycleMarkDefaultFieldNumber = 4, + kLocationFieldNumber = 6, + kCycleMarkTypeFieldNumber = 7, + kCycleMarkTypmodFieldNumber = 8, + kCycleMarkCollationFieldNumber = 9, + kCycleMarkNeopFieldNumber = 10, }; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; + // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; + int cycle_col_list_size() const; private: - bool _internal_has_xpr() const; + int _internal_cycle_col_list_size() const; + public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_cycle_col_list() ; + ::pg_query::Node* mutable_cycle_col_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cycle_col_list(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cycle_col_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cycle_col_list(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& cycle_col_list(int index) const; + ::pg_query::Node* add_cycle_col_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cycle_col_list() const; + // string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; + void clear_cycle_mark_column() ; + const std::string& cycle_mark_column() const; + template + void set_cycle_mark_column(Arg_&& arg, Args_... args); + std::string* mutable_cycle_mark_column(); + PROTOBUF_NODISCARD std::string* release_cycle_mark_column(); + void set_allocated_cycle_mark_column(std::string* value); - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; private: - bool _internal_has_expr() const; + const std::string& _internal_cycle_mark_column() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_cycle_mark_column( + const std::string& value); + std::string* _internal_mutable_cycle_mark_column(); + public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); + // string cycle_path_column = 5 [json_name = "cycle_path_column"]; + void clear_cycle_path_column() ; + const std::string& cycle_path_column() const; + template + void set_cycle_path_column(Arg_&& arg, Args_... args); + std::string* mutable_cycle_path_column(); + PROTOBUF_NODISCARD std::string* release_cycle_path_column(); + void set_allocated_cycle_path_column(std::string* value); + private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + const std::string& _internal_cycle_path_column() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_cycle_path_column( + const std::string& value); + std::string* _internal_mutable_cycle_path_column(); + public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; + bool has_cycle_mark_value() const; + void clear_cycle_mark_value() ; + const ::pg_query::Node& cycle_mark_value() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_cycle_mark_value(); + ::pg_query::Node* mutable_cycle_mark_value(); + void set_allocated_cycle_mark_value(::pg_query::Node* value); + void unsafe_arena_set_allocated_cycle_mark_value(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_cycle_mark_value(); - // uint32 infercollid = 3 [json_name = "infercollid"]; - void clear_infercollid(); - uint32_t infercollid() const; - void set_infercollid(uint32_t value); private: - uint32_t _internal_infercollid() const; - void _internal_set_infercollid(uint32_t value); + const ::pg_query::Node& _internal_cycle_mark_value() const; + ::pg_query::Node* _internal_mutable_cycle_mark_value(); + public: + // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; + bool has_cycle_mark_default() const; + void clear_cycle_mark_default() ; + const ::pg_query::Node& cycle_mark_default() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_cycle_mark_default(); + ::pg_query::Node* mutable_cycle_mark_default(); + void set_allocated_cycle_mark_default(::pg_query::Node* value); + void unsafe_arena_set_allocated_cycle_mark_default(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_cycle_mark_default(); + + private: + const ::pg_query::Node& _internal_cycle_mark_default() const; + ::pg_query::Node* _internal_mutable_cycle_mark_default(); + + public: + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // uint32 inferopclass = 4 [json_name = "inferopclass"]; - void clear_inferopclass(); - uint32_t inferopclass() const; - void set_inferopclass(uint32_t value); private: - uint32_t _internal_inferopclass() const; - void _internal_set_inferopclass(uint32_t value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: + // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; + void clear_cycle_mark_type() ; + ::uint32_t cycle_mark_type() const; + void set_cycle_mark_type(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.InferenceElem) + private: + ::uint32_t _internal_cycle_mark_type() const; + void _internal_set_cycle_mark_type(::uint32_t value); + + public: + // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; + void clear_cycle_mark_typmod() ; + ::int32_t cycle_mark_typmod() const; + void set_cycle_mark_typmod(::int32_t value); + + private: + ::int32_t _internal_cycle_mark_typmod() const; + void _internal_set_cycle_mark_typmod(::int32_t value); + + public: + // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; + void clear_cycle_mark_collation() ; + ::uint32_t cycle_mark_collation() const; + void set_cycle_mark_collation(::uint32_t value); + + private: + ::uint32_t _internal_cycle_mark_collation() const; + void _internal_set_cycle_mark_collation(::uint32_t value); + + public: + // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; + void clear_cycle_mark_neop() ; + ::uint32_t cycle_mark_neop() const; + void set_cycle_mark_neop(::uint32_t value); + + private: + ::uint32_t _internal_cycle_mark_neop() const; + void _internal_set_cycle_mark_neop(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CTECycleClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 10, 3, + 74, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* xpr_; - ::pg_query::Node* expr_; - uint32_t infercollid_; - uint32_t inferopclass_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cycle_col_list_; + ::google::protobuf::internal::ArenaStringPtr cycle_mark_column_; + ::google::protobuf::internal::ArenaStringPtr cycle_path_column_; + ::pg_query::Node* cycle_mark_value_; + ::pg_query::Node* cycle_mark_default_; + ::int32_t location_; + ::uint32_t cycle_mark_type_; + ::int32_t cycle_mark_typmod_; + ::uint32_t cycle_mark_collation_; + ::uint32_t cycle_mark_neop_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TargetEntry final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TargetEntry) */ { +class CTESearchClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CTESearchClause) */ { public: - inline TargetEntry() : TargetEntry(nullptr) {} - ~TargetEntry() override; - explicit PROTOBUF_CONSTEXPR TargetEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CTESearchClause() : CTESearchClause(nullptr) {} + ~CTESearchClause() override; + template + explicit PROTOBUF_CONSTEXPR CTESearchClause(::google::protobuf::internal::ConstantInitialized); - TargetEntry(const TargetEntry& from); - TargetEntry(TargetEntry&& from) noexcept - : TargetEntry() { + inline CTESearchClause(const CTESearchClause& from) + : CTESearchClause(nullptr, from) {} + CTESearchClause(CTESearchClause&& from) noexcept + : CTESearchClause() { *this = ::std::move(from); } - inline TargetEntry& operator=(const TargetEntry& from) { + inline CTESearchClause& operator=(const CTESearchClause& from) { CopyFrom(from); return *this; } - inline TargetEntry& operator=(TargetEntry&& from) noexcept { + inline CTESearchClause& operator=(CTESearchClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -21129,245 +21938,222 @@ class TargetEntry final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TargetEntry& default_instance() { + static const CTESearchClause& default_instance() { return *internal_default_instance(); } - static inline const TargetEntry* internal_default_instance() { - return reinterpret_cast( - &_TargetEntry_default_instance_); + static inline const CTESearchClause* internal_default_instance() { + return reinterpret_cast( + &_CTESearchClause_default_instance_); } static constexpr int kIndexInFileMessages = - 56; + 121; - friend void swap(TargetEntry& a, TargetEntry& b) { + friend void swap(CTESearchClause& a, CTESearchClause& b) { a.Swap(&b); } - inline void Swap(TargetEntry* other) { + inline void Swap(CTESearchClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TargetEntry* other) { + void UnsafeArenaSwap(CTESearchClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TargetEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CTESearchClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TargetEntry& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TargetEntry& from) { - TargetEntry::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CTESearchClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CTESearchClause& from) { + CTESearchClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TargetEntry* other); + void InternalSwap(CTESearchClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TargetEntry"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CTESearchClause"; } protected: - explicit TargetEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CTESearchClause(::google::protobuf::Arena* arena); + CTESearchClause(::google::protobuf::Arena* arena, const CTESearchClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kResnameFieldNumber = 4, - kXprFieldNumber = 1, - kExprFieldNumber = 2, - kResnoFieldNumber = 3, - kRessortgrouprefFieldNumber = 5, - kResorigtblFieldNumber = 6, - kResorigcolFieldNumber = 7, - kResjunkFieldNumber = 8, + kSearchColListFieldNumber = 1, + kSearchSeqColumnFieldNumber = 3, + kSearchBreadthFirstFieldNumber = 2, + kLocationFieldNumber = 4, }; - // string resname = 4 [json_name = "resname"]; - void clear_resname(); - const std::string& resname() const; - template - void set_resname(ArgT0&& arg0, ArgT... args); - std::string* mutable_resname(); - PROTOBUF_NODISCARD std::string* release_resname(); - void set_allocated_resname(std::string* resname); + // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; + int search_col_list_size() const; private: - const std::string& _internal_resname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_resname(const std::string& value); - std::string* _internal_mutable_resname(); - public: + int _internal_search_col_list_size() const; - // .pg_query.Node xpr = 1 [json_name = "xpr"]; - bool has_xpr() const; - private: - bool _internal_has_xpr() const; public: - void clear_xpr(); - const ::pg_query::Node& xpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); - ::pg_query::Node* mutable_xpr(); - void set_allocated_xpr(::pg_query::Node* xpr); + void clear_search_col_list() ; + ::pg_query::Node* mutable_search_col_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_search_col_list(); private: - const ::pg_query::Node& _internal_xpr() const; - ::pg_query::Node* _internal_mutable_xpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_search_col_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_search_col_list(); public: - void unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr); - ::pg_query::Node* unsafe_arena_release_xpr(); + const ::pg_query::Node& search_col_list(int index) const; + ::pg_query::Node* add_search_col_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + search_col_list() const; + // string search_seq_column = 3 [json_name = "search_seq_column"]; + void clear_search_seq_column() ; + const std::string& search_seq_column() const; + template + void set_search_seq_column(Arg_&& arg, Args_... args); + std::string* mutable_search_seq_column(); + PROTOBUF_NODISCARD std::string* release_search_seq_column(); + void set_allocated_search_seq_column(std::string* value); - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - private: - bool _internal_has_expr() const; - public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); - public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + const std::string& _internal_search_seq_column() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_search_seq_column( + const std::string& value); + std::string* _internal_mutable_search_seq_column(); - // int32 resno = 3 [json_name = "resno"]; - void clear_resno(); - int32_t resno() const; - void set_resno(int32_t value); - private: - int32_t _internal_resno() const; - void _internal_set_resno(int32_t value); public: + // bool search_breadth_first = 2 [json_name = "search_breadth_first"]; + void clear_search_breadth_first() ; + bool search_breadth_first() const; + void set_search_breadth_first(bool value); - // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; - void clear_ressortgroupref(); - uint32_t ressortgroupref() const; - void set_ressortgroupref(uint32_t value); private: - uint32_t _internal_ressortgroupref() const; - void _internal_set_ressortgroupref(uint32_t value); - public: + bool _internal_search_breadth_first() const; + void _internal_set_search_breadth_first(bool value); - // uint32 resorigtbl = 6 [json_name = "resorigtbl"]; - void clear_resorigtbl(); - uint32_t resorigtbl() const; - void set_resorigtbl(uint32_t value); - private: - uint32_t _internal_resorigtbl() const; - void _internal_set_resorigtbl(uint32_t value); public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 resorigcol = 7 [json_name = "resorigcol"]; - void clear_resorigcol(); - int32_t resorigcol() const; - void set_resorigcol(int32_t value); private: - int32_t _internal_resorigcol() const; - void _internal_set_resorigcol(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // bool resjunk = 8 [json_name = "resjunk"]; - void clear_resjunk(); - bool resjunk() const; - void set_resjunk(bool value); - private: - bool _internal_resjunk() const; - void _internal_set_resjunk(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.TargetEntry) + // @@protoc_insertion_point(class_scope:pg_query.CTESearchClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr resname_; - ::pg_query::Node* xpr_; - ::pg_query::Node* expr_; - int32_t resno_; - uint32_t ressortgroupref_; - uint32_t resorigtbl_; - int32_t resorigcol_; - bool resjunk_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > search_col_list_; + ::google::protobuf::internal::ArenaStringPtr search_seq_column_; + bool search_breadth_first_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTblRef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblRef) */ { +class CallStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CallStmt) */ { public: - inline RangeTblRef() : RangeTblRef(nullptr) {} - ~RangeTblRef() override; - explicit PROTOBUF_CONSTEXPR RangeTblRef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CallStmt() : CallStmt(nullptr) {} + ~CallStmt() override; + template + explicit PROTOBUF_CONSTEXPR CallStmt(::google::protobuf::internal::ConstantInitialized); - RangeTblRef(const RangeTblRef& from); - RangeTblRef(RangeTblRef&& from) noexcept - : RangeTblRef() { + inline CallStmt(const CallStmt& from) + : CallStmt(nullptr, from) {} + CallStmt(CallStmt&& from) noexcept + : CallStmt() { *this = ::std::move(from); } - inline RangeTblRef& operator=(const RangeTblRef& from) { + inline CallStmt& operator=(const CallStmt& from) { CopyFrom(from); return *this; } - inline RangeTblRef& operator=(RangeTblRef&& from) noexcept { + inline CallStmt& operator=(CallStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -21377,145 +22163,215 @@ class RangeTblRef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTblRef& default_instance() { + static const CallStmt& default_instance() { return *internal_default_instance(); } - static inline const RangeTblRef* internal_default_instance() { - return reinterpret_cast( - &_RangeTblRef_default_instance_); + static inline const CallStmt* internal_default_instance() { + return reinterpret_cast( + &_CallStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 57; + 218; - friend void swap(RangeTblRef& a, RangeTblRef& b) { + friend void swap(CallStmt& a, CallStmt& b) { a.Swap(&b); } - inline void Swap(RangeTblRef* other) { + inline void Swap(CallStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTblRef* other) { + void UnsafeArenaSwap(CallStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTblRef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CallStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTblRef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTblRef& from) { - RangeTblRef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CallStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CallStmt& from) { + CallStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTblRef* other); + void InternalSwap(CallStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTblRef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CallStmt"; } protected: - explicit RangeTblRef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CallStmt(::google::protobuf::Arena* arena); + CallStmt(::google::protobuf::Arena* arena, const CallStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRtindexFieldNumber = 1, + kOutargsFieldNumber = 3, + kFunccallFieldNumber = 1, + kFuncexprFieldNumber = 2, }; - // int32 rtindex = 1 [json_name = "rtindex"]; - void clear_rtindex(); - int32_t rtindex() const; - void set_rtindex(int32_t value); + // repeated .pg_query.Node outargs = 3 [json_name = "outargs"]; + int outargs_size() const; + private: + int _internal_outargs_size() const; + + public: + void clear_outargs() ; + ::pg_query::Node* mutable_outargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_outargs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_outargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_outargs(); + public: + const ::pg_query::Node& outargs(int index) const; + ::pg_query::Node* add_outargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + outargs() const; + // .pg_query.FuncCall funccall = 1 [json_name = "funccall"]; + bool has_funccall() const; + void clear_funccall() ; + const ::pg_query::FuncCall& funccall() const; + PROTOBUF_NODISCARD ::pg_query::FuncCall* release_funccall(); + ::pg_query::FuncCall* mutable_funccall(); + void set_allocated_funccall(::pg_query::FuncCall* value); + void unsafe_arena_set_allocated_funccall(::pg_query::FuncCall* value); + ::pg_query::FuncCall* unsafe_arena_release_funccall(); + private: - int32_t _internal_rtindex() const; - void _internal_set_rtindex(int32_t value); + const ::pg_query::FuncCall& _internal_funccall() const; + ::pg_query::FuncCall* _internal_mutable_funccall(); + public: + // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"]; + bool has_funcexpr() const; + void clear_funcexpr() ; + const ::pg_query::FuncExpr& funcexpr() const; + PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_funcexpr(); + ::pg_query::FuncExpr* mutable_funcexpr(); + void set_allocated_funcexpr(::pg_query::FuncExpr* value); + void unsafe_arena_set_allocated_funcexpr(::pg_query::FuncExpr* value); + ::pg_query::FuncExpr* unsafe_arena_release_funcexpr(); - // @@protoc_insertion_point(class_scope:pg_query.RangeTblRef) + private: + const ::pg_query::FuncExpr& _internal_funcexpr() const; + ::pg_query::FuncExpr* _internal_mutable_funcexpr(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CallStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - int32_t rtindex_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > outargs_; + ::pg_query::FuncCall* funccall_; + ::pg_query::FuncExpr* funcexpr_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class JoinExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.JoinExpr) */ { +class CaseExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseExpr) */ { public: - inline JoinExpr() : JoinExpr(nullptr) {} - ~JoinExpr() override; - explicit PROTOBUF_CONSTEXPR JoinExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CaseExpr() : CaseExpr(nullptr) {} + ~CaseExpr() override; + template + explicit PROTOBUF_CONSTEXPR CaseExpr(::google::protobuf::internal::ConstantInitialized); - JoinExpr(const JoinExpr& from); - JoinExpr(JoinExpr&& from) noexcept - : JoinExpr() { + inline CaseExpr(const CaseExpr& from) + : CaseExpr(nullptr, from) {} + CaseExpr(CaseExpr&& from) noexcept + : CaseExpr() { *this = ::std::move(from); } - inline JoinExpr& operator=(const JoinExpr& from) { + inline CaseExpr& operator=(const CaseExpr& from) { CopyFrom(from); return *this; } - inline JoinExpr& operator=(JoinExpr&& from) noexcept { + inline CaseExpr& operator=(CaseExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -21525,287 +22381,268 @@ class JoinExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const JoinExpr& default_instance() { + static const CaseExpr& default_instance() { return *internal_default_instance(); } - static inline const JoinExpr* internal_default_instance() { - return reinterpret_cast( - &_JoinExpr_default_instance_); + static inline const CaseExpr* internal_default_instance() { + return reinterpret_cast( + &_CaseExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 58; + 41; - friend void swap(JoinExpr& a, JoinExpr& b) { + friend void swap(CaseExpr& a, CaseExpr& b) { a.Swap(&b); } - inline void Swap(JoinExpr* other) { + inline void Swap(CaseExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(JoinExpr* other) { + void UnsafeArenaSwap(CaseExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - JoinExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CaseExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const JoinExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const JoinExpr& from) { - JoinExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CaseExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CaseExpr& from) { + CaseExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(JoinExpr* other); + void InternalSwap(CaseExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.JoinExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CaseExpr"; } protected: - explicit JoinExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CaseExpr(::google::protobuf::Arena* arena); + CaseExpr(::google::protobuf::Arena* arena, const CaseExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kUsingClauseFieldNumber = 5, - kLargFieldNumber = 3, - kRargFieldNumber = 4, - kJoinUsingAliasFieldNumber = 6, - kQualsFieldNumber = 7, - kAliasFieldNumber = 8, - kJointypeFieldNumber = 1, - kIsNaturalFieldNumber = 2, - kRtindexFieldNumber = 9, + kArgsFieldNumber = 5, + kXprFieldNumber = 1, + kArgFieldNumber = 4, + kDefresultFieldNumber = 6, + kCasetypeFieldNumber = 2, + kCasecollidFieldNumber = 3, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; - int using_clause_size() const; - private: - int _internal_using_clause_size() const; - public: - void clear_using_clause(); - ::pg_query::Node* mutable_using_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_using_clause(); + // repeated .pg_query.Node args = 5 [json_name = "args"]; + int args_size() const; private: - const ::pg_query::Node& _internal_using_clause(int index) const; - ::pg_query::Node* _internal_add_using_clause(); - public: - const ::pg_query::Node& using_clause(int index) const; - ::pg_query::Node* add_using_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - using_clause() const; + int _internal_args_size() const; - // .pg_query.Node larg = 3 [json_name = "larg"]; - bool has_larg() const; - private: - bool _internal_has_larg() const; public: - void clear_larg(); - const ::pg_query::Node& larg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); - ::pg_query::Node* mutable_larg(); - void set_allocated_larg(::pg_query::Node* larg); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_larg() const; - ::pg_query::Node* _internal_mutable_larg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void unsafe_arena_set_allocated_larg( - ::pg_query::Node* larg); - ::pg_query::Node* unsafe_arena_release_larg(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.Node rarg = 4 [json_name = "rarg"]; - bool has_rarg() const; - private: - bool _internal_has_rarg() const; - public: - void clear_rarg(); - const ::pg_query::Node& rarg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); - ::pg_query::Node* mutable_rarg(); - void set_allocated_rarg(::pg_query::Node* rarg); private: - const ::pg_query::Node& _internal_rarg() const; - ::pg_query::Node* _internal_mutable_rarg(); - public: - void unsafe_arena_set_allocated_rarg( - ::pg_query::Node* rarg); - ::pg_query::Node* unsafe_arena_release_rarg(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; - bool has_join_using_alias() const; - private: - bool _internal_has_join_using_alias() const; - public: - void clear_join_using_alias(); - const ::pg_query::Alias& join_using_alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); - ::pg_query::Alias* mutable_join_using_alias(); - void set_allocated_join_using_alias(::pg_query::Alias* join_using_alias); - private: - const ::pg_query::Alias& _internal_join_using_alias() const; - ::pg_query::Alias* _internal_mutable_join_using_alias(); public: - void unsafe_arena_set_allocated_join_using_alias( - ::pg_query::Alias* join_using_alias); - ::pg_query::Alias* unsafe_arena_release_join_using_alias(); + // .pg_query.Node arg = 4 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // .pg_query.Node quals = 7 [json_name = "quals"]; - bool has_quals() const; - private: - bool _internal_has_quals() const; - public: - void clear_quals(); - const ::pg_query::Node& quals() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_quals(); - ::pg_query::Node* mutable_quals(); - void set_allocated_quals(::pg_query::Node* quals); private: - const ::pg_query::Node& _internal_quals() const; - ::pg_query::Node* _internal_mutable_quals(); - public: - void unsafe_arena_set_allocated_quals( - ::pg_query::Node* quals); - ::pg_query::Node* unsafe_arena_release_quals(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // .pg_query.Alias alias = 8 [json_name = "alias"]; - bool has_alias() const; - private: - bool _internal_has_alias() const; public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); + // .pg_query.Node defresult = 6 [json_name = "defresult"]; + bool has_defresult() const; + void clear_defresult() ; + const ::pg_query::Node& defresult() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_defresult(); + ::pg_query::Node* mutable_defresult(); + void set_allocated_defresult(::pg_query::Node* value); + void unsafe_arena_set_allocated_defresult(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_defresult(); + private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + const ::pg_query::Node& _internal_defresult() const; + ::pg_query::Node* _internal_mutable_defresult(); + public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // uint32 casetype = 2 [json_name = "casetype"]; + void clear_casetype() ; + ::uint32_t casetype() const; + void set_casetype(::uint32_t value); - // .pg_query.JoinType jointype = 1 [json_name = "jointype"]; - void clear_jointype(); - ::pg_query::JoinType jointype() const; - void set_jointype(::pg_query::JoinType value); private: - ::pg_query::JoinType _internal_jointype() const; - void _internal_set_jointype(::pg_query::JoinType value); + ::uint32_t _internal_casetype() const; + void _internal_set_casetype(::uint32_t value); + public: + // uint32 casecollid = 3 [json_name = "casecollid"]; + void clear_casecollid() ; + ::uint32_t casecollid() const; + void set_casecollid(::uint32_t value); - // bool is_natural = 2 [json_name = "isNatural"]; - void clear_is_natural(); - bool is_natural() const; - void set_is_natural(bool value); private: - bool _internal_is_natural() const; - void _internal_set_is_natural(bool value); + ::uint32_t _internal_casecollid() const; + void _internal_set_casecollid(::uint32_t value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 rtindex = 9 [json_name = "rtindex"]; - void clear_rtindex(); - int32_t rtindex() const; - void set_rtindex(int32_t value); private: - int32_t _internal_rtindex() const; - void _internal_set_rtindex(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.JoinExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.CaseExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > using_clause_; - ::pg_query::Node* larg_; - ::pg_query::Node* rarg_; - ::pg_query::Alias* join_using_alias_; - ::pg_query::Node* quals_; - ::pg_query::Alias* alias_; - int jointype_; - bool is_natural_; - int32_t rtindex_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::pg_query::Node* defresult_; + ::uint32_t casetype_; + ::uint32_t casecollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FromExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FromExpr) */ { +class CaseTestExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseTestExpr) */ { public: - inline FromExpr() : FromExpr(nullptr) {} - ~FromExpr() override; - explicit PROTOBUF_CONSTEXPR FromExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CaseTestExpr() : CaseTestExpr(nullptr) {} + ~CaseTestExpr() override; + template + explicit PROTOBUF_CONSTEXPR CaseTestExpr(::google::protobuf::internal::ConstantInitialized); - FromExpr(const FromExpr& from); - FromExpr(FromExpr&& from) noexcept - : FromExpr() { + inline CaseTestExpr(const CaseTestExpr& from) + : CaseTestExpr(nullptr, from) {} + CaseTestExpr(CaseTestExpr&& from) noexcept + : CaseTestExpr() { *this = ::std::move(from); } - inline FromExpr& operator=(const FromExpr& from) { + inline CaseTestExpr& operator=(const CaseTestExpr& from) { CopyFrom(from); return *this; } - inline FromExpr& operator=(FromExpr&& from) noexcept { + inline CaseTestExpr& operator=(CaseTestExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -21815,174 +22652,214 @@ class FromExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FromExpr& default_instance() { + static const CaseTestExpr& default_instance() { return *internal_default_instance(); } - static inline const FromExpr* internal_default_instance() { - return reinterpret_cast( - &_FromExpr_default_instance_); + static inline const CaseTestExpr* internal_default_instance() { + return reinterpret_cast( + &_CaseTestExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 59; + 43; - friend void swap(FromExpr& a, FromExpr& b) { + friend void swap(CaseTestExpr& a, CaseTestExpr& b) { a.Swap(&b); } - inline void Swap(FromExpr* other) { + inline void Swap(CaseTestExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FromExpr* other) { + void UnsafeArenaSwap(CaseTestExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FromExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CaseTestExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FromExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FromExpr& from) { - FromExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CaseTestExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CaseTestExpr& from) { + CaseTestExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FromExpr* other); + void InternalSwap(CaseTestExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FromExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CaseTestExpr"; } protected: - explicit FromExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CaseTestExpr(::google::protobuf::Arena* arena); + CaseTestExpr(::google::protobuf::Arena* arena, const CaseTestExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFromlistFieldNumber = 1, - kQualsFieldNumber = 2, + kXprFieldNumber = 1, + kTypeIdFieldNumber = 2, + kTypeModFieldNumber = 3, + kCollationFieldNumber = 4, }; - // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; - int fromlist_size() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - int _internal_fromlist_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_fromlist(); - ::pg_query::Node* mutable_fromlist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fromlist(); + // uint32 type_id = 2 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); + private: - const ::pg_query::Node& _internal_fromlist(int index) const; - ::pg_query::Node* _internal_add_fromlist(); + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); + public: - const ::pg_query::Node& fromlist(int index) const; - ::pg_query::Node* add_fromlist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fromlist() const; + // int32 type_mod = 3 [json_name = "typeMod"]; + void clear_type_mod() ; + ::int32_t type_mod() const; + void set_type_mod(::int32_t value); - // .pg_query.Node quals = 2 [json_name = "quals"]; - bool has_quals() const; private: - bool _internal_has_quals() const; + ::int32_t _internal_type_mod() const; + void _internal_set_type_mod(::int32_t value); + public: - void clear_quals(); - const ::pg_query::Node& quals() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_quals(); - ::pg_query::Node* mutable_quals(); - void set_allocated_quals(::pg_query::Node* quals); + // uint32 collation = 4 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); + private: - const ::pg_query::Node& _internal_quals() const; - ::pg_query::Node* _internal_mutable_quals(); - public: - void unsafe_arena_set_allocated_quals( - ::pg_query::Node* quals); - ::pg_query::Node* unsafe_arena_release_quals(); + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.FromExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.CaseTestExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fromlist_; - ::pg_query::Node* quals_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t type_id_; + ::int32_t type_mod_; + ::uint32_t collation_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class OnConflictExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictExpr) */ { +class CaseWhen final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CaseWhen) */ { public: - inline OnConflictExpr() : OnConflictExpr(nullptr) {} - ~OnConflictExpr() override; - explicit PROTOBUF_CONSTEXPR OnConflictExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CaseWhen() : CaseWhen(nullptr) {} + ~CaseWhen() override; + template + explicit PROTOBUF_CONSTEXPR CaseWhen(::google::protobuf::internal::ConstantInitialized); - OnConflictExpr(const OnConflictExpr& from); - OnConflictExpr(OnConflictExpr&& from) noexcept - : OnConflictExpr() { + inline CaseWhen(const CaseWhen& from) + : CaseWhen(nullptr, from) {} + CaseWhen(CaseWhen&& from) noexcept + : CaseWhen() { *this = ::std::move(from); } - inline OnConflictExpr& operator=(const OnConflictExpr& from) { + inline CaseWhen& operator=(const CaseWhen& from) { CopyFrom(from); return *this; } - inline OnConflictExpr& operator=(OnConflictExpr&& from) noexcept { + inline CaseWhen& operator=(CaseWhen&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -21992,267 +22869,224 @@ class OnConflictExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const OnConflictExpr& default_instance() { + static const CaseWhen& default_instance() { return *internal_default_instance(); } - static inline const OnConflictExpr* internal_default_instance() { - return reinterpret_cast( - &_OnConflictExpr_default_instance_); + static inline const CaseWhen* internal_default_instance() { + return reinterpret_cast( + &_CaseWhen_default_instance_); } static constexpr int kIndexInFileMessages = - 60; + 42; - friend void swap(OnConflictExpr& a, OnConflictExpr& b) { + friend void swap(CaseWhen& a, CaseWhen& b) { a.Swap(&b); } - inline void Swap(OnConflictExpr* other) { + inline void Swap(CaseWhen* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(OnConflictExpr* other) { + void UnsafeArenaSwap(CaseWhen* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - OnConflictExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CaseWhen* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const OnConflictExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const OnConflictExpr& from) { - OnConflictExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CaseWhen& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CaseWhen& from) { + CaseWhen::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(OnConflictExpr* other); + void InternalSwap(CaseWhen* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.OnConflictExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CaseWhen"; } protected: - explicit OnConflictExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CaseWhen(::google::protobuf::Arena* arena); + CaseWhen(::google::protobuf::Arena* arena, const CaseWhen& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArbiterElemsFieldNumber = 2, - kOnConflictSetFieldNumber = 5, - kExclRelTlistFieldNumber = 8, - kArbiterWhereFieldNumber = 3, - kOnConflictWhereFieldNumber = 6, - kActionFieldNumber = 1, - kConstraintFieldNumber = 4, - kExclRelIndexFieldNumber = 7, + kXprFieldNumber = 1, + kExprFieldNumber = 2, + kResultFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; - int arbiter_elems_size() const; - private: - int _internal_arbiter_elems_size() const; - public: - void clear_arbiter_elems(); - ::pg_query::Node* mutable_arbiter_elems(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_arbiter_elems(); - private: - const ::pg_query::Node& _internal_arbiter_elems(int index) const; - ::pg_query::Node* _internal_add_arbiter_elems(); - public: - const ::pg_query::Node& arbiter_elems(int index) const; - ::pg_query::Node* add_arbiter_elems(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - arbiter_elems() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; - int on_conflict_set_size() const; - private: - int _internal_on_conflict_set_size() const; - public: - void clear_on_conflict_set(); - ::pg_query::Node* mutable_on_conflict_set(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_on_conflict_set(); private: - const ::pg_query::Node& _internal_on_conflict_set(int index) const; - ::pg_query::Node* _internal_add_on_conflict_set(); - public: - const ::pg_query::Node& on_conflict_set(int index) const; - ::pg_query::Node* add_on_conflict_set(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - on_conflict_set() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; - int excl_rel_tlist_size() const; - private: - int _internal_excl_rel_tlist_size() const; - public: - void clear_excl_rel_tlist(); - ::pg_query::Node* mutable_excl_rel_tlist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_excl_rel_tlist(); - private: - const ::pg_query::Node& _internal_excl_rel_tlist(int index) const; - ::pg_query::Node* _internal_add_excl_rel_tlist(); public: - const ::pg_query::Node& excl_rel_tlist(int index) const; - ::pg_query::Node* add_excl_rel_tlist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - excl_rel_tlist() const; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; - bool has_arbiter_where() const; - private: - bool _internal_has_arbiter_where() const; - public: - void clear_arbiter_where(); - const ::pg_query::Node& arbiter_where() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arbiter_where(); - ::pg_query::Node* mutable_arbiter_where(); - void set_allocated_arbiter_where(::pg_query::Node* arbiter_where); private: - const ::pg_query::Node& _internal_arbiter_where() const; - ::pg_query::Node* _internal_mutable_arbiter_where(); - public: - void unsafe_arena_set_allocated_arbiter_where( - ::pg_query::Node* arbiter_where); - ::pg_query::Node* unsafe_arena_release_arbiter_where(); + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); - // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; - bool has_on_conflict_where() const; - private: - bool _internal_has_on_conflict_where() const; - public: - void clear_on_conflict_where(); - const ::pg_query::Node& on_conflict_where() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_on_conflict_where(); - ::pg_query::Node* mutable_on_conflict_where(); - void set_allocated_on_conflict_where(::pg_query::Node* on_conflict_where); - private: - const ::pg_query::Node& _internal_on_conflict_where() const; - ::pg_query::Node* _internal_mutable_on_conflict_where(); public: - void unsafe_arena_set_allocated_on_conflict_where( - ::pg_query::Node* on_conflict_where); - ::pg_query::Node* unsafe_arena_release_on_conflict_where(); + // .pg_query.Node result = 3 [json_name = "result"]; + bool has_result() const; + void clear_result() ; + const ::pg_query::Node& result() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_result(); + ::pg_query::Node* mutable_result(); + void set_allocated_result(::pg_query::Node* value); + void unsafe_arena_set_allocated_result(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_result(); - // .pg_query.OnConflictAction action = 1 [json_name = "action"]; - void clear_action(); - ::pg_query::OnConflictAction action() const; - void set_action(::pg_query::OnConflictAction value); private: - ::pg_query::OnConflictAction _internal_action() const; - void _internal_set_action(::pg_query::OnConflictAction value); - public: + const ::pg_query::Node& _internal_result() const; + ::pg_query::Node* _internal_mutable_result(); - // uint32 constraint = 4 [json_name = "constraint"]; - void clear_constraint(); - uint32_t constraint() const; - void set_constraint(uint32_t value); - private: - uint32_t _internal_constraint() const; - void _internal_set_constraint(uint32_t value); public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; - void clear_excl_rel_index(); - int32_t excl_rel_index() const; - void set_excl_rel_index(int32_t value); private: - int32_t _internal_excl_rel_index() const; - void _internal_set_excl_rel_index(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.OnConflictExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.CaseWhen) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > arbiter_elems_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > on_conflict_set_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > excl_rel_tlist_; - ::pg_query::Node* arbiter_where_; - ::pg_query::Node* on_conflict_where_; - int action_; - uint32_t constraint_; - int32_t excl_rel_index_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* expr_; + ::pg_query::Node* result_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class IntoClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.IntoClause) */ { +class ClusterStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ClusterStmt) */ { public: - inline IntoClause() : IntoClause(nullptr) {} - ~IntoClause() override; - explicit PROTOBUF_CONSTEXPR IntoClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ClusterStmt() : ClusterStmt(nullptr) {} + ~ClusterStmt() override; + template + explicit PROTOBUF_CONSTEXPR ClusterStmt(::google::protobuf::internal::ConstantInitialized); - IntoClause(const IntoClause& from); - IntoClause(IntoClause&& from) noexcept - : IntoClause() { + inline ClusterStmt(const ClusterStmt& from) + : ClusterStmt(nullptr, from) {} + ClusterStmt(ClusterStmt&& from) noexcept + : ClusterStmt() { *this = ::std::move(from); } - inline IntoClause& operator=(const IntoClause& from) { + inline ClusterStmt& operator=(const ClusterStmt& from) { CopyFrom(from); return *this; } - inline IntoClause& operator=(IntoClause&& from) noexcept { + inline ClusterStmt& operator=(ClusterStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -22262,268 +23096,453 @@ class IntoClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const IntoClause& default_instance() { + static const ClusterStmt& default_instance() { return *internal_default_instance(); } - static inline const IntoClause* internal_default_instance() { - return reinterpret_cast( - &_IntoClause_default_instance_); + static inline const ClusterStmt* internal_default_instance() { + return reinterpret_cast( + &_ClusterStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 61; + 243; - friend void swap(IntoClause& a, IntoClause& b) { + friend void swap(ClusterStmt& a, ClusterStmt& b) { a.Swap(&b); } - inline void Swap(IntoClause* other) { + inline void Swap(ClusterStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(IntoClause* other) { + void UnsafeArenaSwap(ClusterStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - IntoClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ClusterStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const IntoClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const IntoClause& from) { - IntoClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ClusterStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ClusterStmt& from) { + ClusterStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(IntoClause* other); + void InternalSwap(ClusterStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.IntoClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ClusterStmt"; } protected: - explicit IntoClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ClusterStmt(::google::protobuf::Arena* arena); + ClusterStmt(::google::protobuf::Arena* arena, const ClusterStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColNamesFieldNumber = 2, - kOptionsFieldNumber = 4, - kAccessMethodFieldNumber = 3, - kTableSpaceNameFieldNumber = 6, - kRelFieldNumber = 1, - kViewQueryFieldNumber = 7, - kOnCommitFieldNumber = 5, - kSkipDataFieldNumber = 8, + kParamsFieldNumber = 3, + kIndexnameFieldNumber = 2, + kRelationFieldNumber = 1, }; - // repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; - int col_names_size() const; + // repeated .pg_query.Node params = 3 [json_name = "params"]; + int params_size() const; private: - int _internal_col_names_size() const; + int _internal_params_size() const; + public: - void clear_col_names(); - ::pg_query::Node* mutable_col_names(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_col_names(); + void clear_params() ; + ::pg_query::Node* mutable_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_params(); private: - const ::pg_query::Node& _internal_col_names(int index) const; - ::pg_query::Node* _internal_add_col_names(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); public: - const ::pg_query::Node& col_names(int index) const; - ::pg_query::Node* add_col_names(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - col_names() const; - - // repeated .pg_query.Node options = 4 [json_name = "options"]; - int options_size() const; + const ::pg_query::Node& params(int index) const; + ::pg_query::Node* add_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + params() const; + // string indexname = 2 [json_name = "indexname"]; + void clear_indexname() ; + const std::string& indexname() const; + template + void set_indexname(Arg_&& arg, Args_... args); + std::string* mutable_indexname(); + PROTOBUF_NODISCARD std::string* release_indexname(); + void set_allocated_indexname(std::string* value); + private: - int _internal_options_size() const; + const std::string& _internal_indexname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexname( + const std::string& value); + std::string* _internal_mutable_indexname(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // @@protoc_insertion_point(class_scope:pg_query.ClusterStmt) + private: + class _Internal; - // string access_method = 3 [json_name = "accessMethod"]; - void clear_access_method(); - const std::string& access_method() const; - template - void set_access_method(ArgT0&& arg0, ArgT... args); - std::string* mutable_access_method(); - PROTOBUF_NODISCARD std::string* release_access_method(); - void set_allocated_access_method(std::string* access_method); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 38, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; + ::google::protobuf::internal::ArenaStringPtr indexname_; + ::pg_query::RangeVar* relation_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class CoalesceExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CoalesceExpr) */ { + public: + inline CoalesceExpr() : CoalesceExpr(nullptr) {} + ~CoalesceExpr() override; + template + explicit PROTOBUF_CONSTEXPR CoalesceExpr(::google::protobuf::internal::ConstantInitialized); + + inline CoalesceExpr(const CoalesceExpr& from) + : CoalesceExpr(nullptr, from) {} + CoalesceExpr(CoalesceExpr&& from) noexcept + : CoalesceExpr() { + *this = ::std::move(from); + } + + inline CoalesceExpr& operator=(const CoalesceExpr& from) { + CopyFrom(from); + return *this; + } + inline CoalesceExpr& operator=(CoalesceExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CoalesceExpr& default_instance() { + return *internal_default_instance(); + } + static inline const CoalesceExpr* internal_default_instance() { + return reinterpret_cast( + &_CoalesceExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 47; + + friend void swap(CoalesceExpr& a, CoalesceExpr& b) { + a.Swap(&b); + } + inline void Swap(CoalesceExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CoalesceExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CoalesceExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CoalesceExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CoalesceExpr& from) { + CoalesceExpr::MergeImpl(*this, from); + } private: - const std::string& _internal_access_method() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method(const std::string& value); - std::string* _internal_mutable_access_method(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // string table_space_name = 6 [json_name = "tableSpaceName"]; - void clear_table_space_name(); - const std::string& table_space_name() const; - template - void set_table_space_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_table_space_name(); - PROTOBUF_NODISCARD std::string* release_table_space_name(); - void set_allocated_table_space_name(std::string* table_space_name); private: - const std::string& _internal_table_space_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_space_name(const std::string& value); - std::string* _internal_mutable_table_space_name(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(CoalesceExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CoalesceExpr"; + } + protected: + explicit CoalesceExpr(::google::protobuf::Arena* arena); + CoalesceExpr(::google::protobuf::Arena* arena, const CoalesceExpr& from); public: - // .pg_query.RangeVar rel = 1 [json_name = "rel"]; - bool has_rel() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArgsFieldNumber = 4, + kXprFieldNumber = 1, + kCoalescetypeFieldNumber = 2, + kCoalescecollidFieldNumber = 3, + kLocationFieldNumber = 5, + }; + // repeated .pg_query.Node args = 4 [json_name = "args"]; + int args_size() const; private: - bool _internal_has_rel() const; + int _internal_args_size() const; + public: - void clear_rel(); - const ::pg_query::RangeVar& rel() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_rel(); - ::pg_query::RangeVar* mutable_rel(); - void set_allocated_rel(::pg_query::RangeVar* rel); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::RangeVar& _internal_rel() const; - ::pg_query::RangeVar* _internal_mutable_rel(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void unsafe_arena_set_allocated_rel( - ::pg_query::RangeVar* rel); - ::pg_query::RangeVar* unsafe_arena_release_rel(); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.Node view_query = 7 [json_name = "viewQuery"]; - bool has_view_query() const; private: - bool _internal_has_view_query() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_view_query(); - const ::pg_query::Node& view_query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_view_query(); - ::pg_query::Node* mutable_view_query(); - void set_allocated_view_query(::pg_query::Node* view_query); + // uint32 coalescetype = 2 [json_name = "coalescetype"]; + void clear_coalescetype() ; + ::uint32_t coalescetype() const; + void set_coalescetype(::uint32_t value); + private: - const ::pg_query::Node& _internal_view_query() const; - ::pg_query::Node* _internal_mutable_view_query(); + ::uint32_t _internal_coalescetype() const; + void _internal_set_coalescetype(::uint32_t value); + public: - void unsafe_arena_set_allocated_view_query( - ::pg_query::Node* view_query); - ::pg_query::Node* unsafe_arena_release_view_query(); + // uint32 coalescecollid = 3 [json_name = "coalescecollid"]; + void clear_coalescecollid() ; + ::uint32_t coalescecollid() const; + void set_coalescecollid(::uint32_t value); - // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; - void clear_on_commit(); - ::pg_query::OnCommitAction on_commit() const; - void set_on_commit(::pg_query::OnCommitAction value); private: - ::pg_query::OnCommitAction _internal_on_commit() const; - void _internal_set_on_commit(::pg_query::OnCommitAction value); + ::uint32_t _internal_coalescecollid() const; + void _internal_set_coalescecollid(::uint32_t value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool skip_data = 8 [json_name = "skipData"]; - void clear_skip_data(); - bool skip_data() const; - void set_skip_data(bool value); private: - bool _internal_skip_data() const; - void _internal_set_skip_data(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.IntoClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.CoalesceExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > col_names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr access_method_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_space_name_; - ::pg_query::RangeVar* rel_; - ::pg_query::Node* view_query_; - int on_commit_; - bool skip_data_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t coalescetype_; + ::uint32_t coalescecollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class MergeAction final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeAction) */ { +class CoerceToDomain final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceToDomain) */ { public: - inline MergeAction() : MergeAction(nullptr) {} - ~MergeAction() override; - explicit PROTOBUF_CONSTEXPR MergeAction(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CoerceToDomain() : CoerceToDomain(nullptr) {} + ~CoerceToDomain() override; + template + explicit PROTOBUF_CONSTEXPR CoerceToDomain(::google::protobuf::internal::ConstantInitialized); - MergeAction(const MergeAction& from); - MergeAction(MergeAction&& from) noexcept - : MergeAction() { + inline CoerceToDomain(const CoerceToDomain& from) + : CoerceToDomain(nullptr, from) {} + CoerceToDomain(CoerceToDomain&& from) noexcept + : CoerceToDomain() { *this = ::std::move(from); } - inline MergeAction& operator=(const MergeAction& from) { + inline CoerceToDomain& operator=(const CoerceToDomain& from) { CopyFrom(from); return *this; } - inline MergeAction& operator=(MergeAction&& from) noexcept { + inline CoerceToDomain& operator=(CoerceToDomain&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -22533,227 +23552,255 @@ class MergeAction final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeAction& default_instance() { + static const CoerceToDomain& default_instance() { return *internal_default_instance(); } - static inline const MergeAction* internal_default_instance() { - return reinterpret_cast( - &_MergeAction_default_instance_); + static inline const CoerceToDomain* internal_default_instance() { + return reinterpret_cast( + &_CoerceToDomain_default_instance_); } static constexpr int kIndexInFileMessages = - 62; + 64; - friend void swap(MergeAction& a, MergeAction& b) { + friend void swap(CoerceToDomain& a, CoerceToDomain& b) { a.Swap(&b); } - inline void Swap(MergeAction* other) { + inline void Swap(CoerceToDomain* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeAction* other) { + void UnsafeArenaSwap(CoerceToDomain* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - MergeAction* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CoerceToDomain* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MergeAction& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MergeAction& from) { - MergeAction::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CoerceToDomain& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CoerceToDomain& from) { + CoerceToDomain::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MergeAction* other); + void InternalSwap(CoerceToDomain* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.MergeAction"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CoerceToDomain"; } protected: - explicit MergeAction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CoerceToDomain(::google::protobuf::Arena* arena); + CoerceToDomain(::google::protobuf::Arena* arena, const CoerceToDomain& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 5, - kUpdateColnosFieldNumber = 6, - kQualFieldNumber = 4, - kMatchedFieldNumber = 1, - kCommandTypeFieldNumber = 2, - kOverrideFieldNumber = 3, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 3, + kResulttypmodFieldNumber = 4, + kResultcollidFieldNumber = 5, + kCoercionformatFieldNumber = 6, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; - int update_colnos_size() const; private: - int _internal_update_colnos_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_update_colnos(); - ::pg_query::Node* mutable_update_colnos(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_update_colnos(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::Node& _internal_update_colnos(int index) const; - ::pg_query::Node* _internal_add_update_colnos(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - const ::pg_query::Node& update_colnos(int index) const; - ::pg_query::Node* add_update_colnos(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - update_colnos() const; + // uint32 resulttype = 3 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); - // .pg_query.Node qual = 4 [json_name = "qual"]; - bool has_qual() const; private: - bool _internal_has_qual() const; + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + public: - void clear_qual(); - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* qual); + // int32 resulttypmod = 4 [json_name = "resulttypmod"]; + void clear_resulttypmod() ; + ::int32_t resulttypmod() const; + void set_resulttypmod(::int32_t value); + private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); + ::int32_t _internal_resulttypmod() const; + void _internal_set_resulttypmod(::int32_t value); + public: - void unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual); - ::pg_query::Node* unsafe_arena_release_qual(); + // uint32 resultcollid = 5 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); - // bool matched = 1 [json_name = "matched"]; - void clear_matched(); - bool matched() const; - void set_matched(bool value); private: - bool _internal_matched() const; - void _internal_set_matched(bool value); + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); + public: + // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; + void clear_coercionformat() ; + ::pg_query::CoercionForm coercionformat() const; + void set_coercionformat(::pg_query::CoercionForm value); - // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; - void clear_command_type(); - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); + ::pg_query::CoercionForm _internal_coercionformat() const; + void _internal_set_coercionformat(::pg_query::CoercionForm value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.OverridingKind override = 3 [json_name = "override"]; - void clear_override(); - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.MergeAction) + public: + // @@protoc_insertion_point(class_scope:pg_query.CoerceToDomain) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > update_colnos_; - ::pg_query::Node* qual_; - bool matched_; - int command_type_; - int override_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + ::int32_t resulttypmod_; + ::uint32_t resultcollid_; + int coercionformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RawStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RawStmt) */ { +class CoerceToDomainValue final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceToDomainValue) */ { public: - inline RawStmt() : RawStmt(nullptr) {} - ~RawStmt() override; - explicit PROTOBUF_CONSTEXPR RawStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CoerceToDomainValue() : CoerceToDomainValue(nullptr) {} + ~CoerceToDomainValue() override; + template + explicit PROTOBUF_CONSTEXPR CoerceToDomainValue(::google::protobuf::internal::ConstantInitialized); - RawStmt(const RawStmt& from); - RawStmt(RawStmt&& from) noexcept - : RawStmt() { + inline CoerceToDomainValue(const CoerceToDomainValue& from) + : CoerceToDomainValue(nullptr, from) {} + CoerceToDomainValue(CoerceToDomainValue&& from) noexcept + : CoerceToDomainValue() { *this = ::std::move(from); } - inline RawStmt& operator=(const RawStmt& from) { + inline CoerceToDomainValue& operator=(const CoerceToDomainValue& from) { CopyFrom(from); return *this; } - inline RawStmt& operator=(RawStmt&& from) noexcept { + inline CoerceToDomainValue& operator=(CoerceToDomainValue&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -22763,176 +23810,226 @@ class RawStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RawStmt& default_instance() { + static const CoerceToDomainValue& default_instance() { return *internal_default_instance(); } - static inline const RawStmt* internal_default_instance() { - return reinterpret_cast( - &_RawStmt_default_instance_); + static inline const CoerceToDomainValue* internal_default_instance() { + return reinterpret_cast( + &_CoerceToDomainValue_default_instance_); } static constexpr int kIndexInFileMessages = - 63; + 65; - friend void swap(RawStmt& a, RawStmt& b) { + friend void swap(CoerceToDomainValue& a, CoerceToDomainValue& b) { a.Swap(&b); } - inline void Swap(RawStmt* other) { + inline void Swap(CoerceToDomainValue* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RawStmt* other) { + void UnsafeArenaSwap(CoerceToDomainValue* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RawStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CoerceToDomainValue* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RawStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RawStmt& from) { - RawStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CoerceToDomainValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CoerceToDomainValue& from) { + CoerceToDomainValue::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RawStmt* other); + void InternalSwap(CoerceToDomainValue* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RawStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CoerceToDomainValue"; } protected: - explicit RawStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CoerceToDomainValue(::google::protobuf::Arena* arena); + CoerceToDomainValue(::google::protobuf::Arena* arena, const CoerceToDomainValue& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kStmtFieldNumber = 1, - kStmtLocationFieldNumber = 2, - kStmtLenFieldNumber = 3, + kXprFieldNumber = 1, + kTypeIdFieldNumber = 2, + kTypeModFieldNumber = 3, + kCollationFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.Node stmt = 1 [json_name = "stmt"]; - bool has_stmt() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - bool _internal_has_stmt() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_stmt(); - const ::pg_query::Node& stmt() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_stmt(); - ::pg_query::Node* mutable_stmt(); - void set_allocated_stmt(::pg_query::Node* stmt); + // uint32 type_id = 2 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); + private: - const ::pg_query::Node& _internal_stmt() const; - ::pg_query::Node* _internal_mutable_stmt(); + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); + public: - void unsafe_arena_set_allocated_stmt( - ::pg_query::Node* stmt); - ::pg_query::Node* unsafe_arena_release_stmt(); + // int32 type_mod = 3 [json_name = "typeMod"]; + void clear_type_mod() ; + ::int32_t type_mod() const; + void set_type_mod(::int32_t value); - // int32 stmt_location = 2 [json_name = "stmt_location"]; - void clear_stmt_location(); - int32_t stmt_location() const; - void set_stmt_location(int32_t value); private: - int32_t _internal_stmt_location() const; - void _internal_set_stmt_location(int32_t value); + ::int32_t _internal_type_mod() const; + void _internal_set_type_mod(::int32_t value); + public: + // uint32 collation = 4 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); - // int32 stmt_len = 3 [json_name = "stmt_len"]; - void clear_stmt_len(); - int32_t stmt_len() const; - void set_stmt_len(int32_t value); private: - int32_t _internal_stmt_len() const; - void _internal_set_stmt_len(int32_t value); + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RawStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CoerceToDomainValue) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* stmt_; - int32_t stmt_location_; - int32_t stmt_len_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t type_id_; + ::int32_t type_mod_; + ::uint32_t collation_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Query final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Query) */ { +class CoerceViaIO final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CoerceViaIO) */ { public: - inline Query() : Query(nullptr) {} - ~Query() override; - explicit PROTOBUF_CONSTEXPR Query(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CoerceViaIO() : CoerceViaIO(nullptr) {} + ~CoerceViaIO() override; + template + explicit PROTOBUF_CONSTEXPR CoerceViaIO(::google::protobuf::internal::ConstantInitialized); - Query(const Query& from); - Query(Query&& from) noexcept - : Query() { + inline CoerceViaIO(const CoerceViaIO& from) + : CoerceViaIO(nullptr, from) {} + CoerceViaIO(CoerceViaIO&& from) noexcept + : CoerceViaIO() { *this = ::std::move(from); } - inline Query& operator=(const Query& from) { + inline CoerceViaIO& operator=(const CoerceViaIO& from) { CopyFrom(from); return *this; } - inline Query& operator=(Query&& from) noexcept { + inline CoerceViaIO& operator=(CoerceViaIO&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -22942,754 +24039,456 @@ class Query final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Query& default_instance() { + static const CoerceViaIO& default_instance() { return *internal_default_instance(); } - static inline const Query* internal_default_instance() { - return reinterpret_cast( - &_Query_default_instance_); + static inline const CoerceViaIO* internal_default_instance() { + return reinterpret_cast( + &_CoerceViaIO_default_instance_); } static constexpr int kIndexInFileMessages = - 64; + 37; - friend void swap(Query& a, Query& b) { + friend void swap(CoerceViaIO& a, CoerceViaIO& b) { a.Swap(&b); } - inline void Swap(Query* other) { + inline void Swap(CoerceViaIO* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Query* other) { + void UnsafeArenaSwap(CoerceViaIO* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Query* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CoerceViaIO* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Query& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Query& from) { - Query::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CoerceViaIO& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CoerceViaIO& from) { + CoerceViaIO::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Query* other); + void InternalSwap(CoerceViaIO* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Query"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CoerceViaIO"; } protected: - explicit Query(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CoerceViaIO(::google::protobuf::Arena* arena); + CoerceViaIO(::google::protobuf::Arena* arena, const CoerceViaIO& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCteListFieldNumber = 16, - kRtableFieldNumber = 17, - kMergeActionListFieldNumber = 19, - kTargetListFieldNumber = 21, - kReturningListFieldNumber = 24, - kGroupClauseFieldNumber = 25, - kGroupingSetsFieldNumber = 27, - kWindowClauseFieldNumber = 29, - kDistinctClauseFieldNumber = 30, - kSortClauseFieldNumber = 31, - kRowMarksFieldNumber = 35, - kConstraintDepsFieldNumber = 37, - kWithCheckOptionsFieldNumber = 38, - kUtilityStmtFieldNumber = 4, - kJointreeFieldNumber = 18, - kOnConflictFieldNumber = 23, - kHavingQualFieldNumber = 28, - kLimitOffsetFieldNumber = 32, - kLimitCountFieldNumber = 33, - kSetOperationsFieldNumber = 36, - kCommandTypeFieldNumber = 1, - kQuerySourceFieldNumber = 2, - kResultRelationFieldNumber = 5, - kCanSetTagFieldNumber = 3, - kHasAggsFieldNumber = 6, - kHasWindowFuncsFieldNumber = 7, - kHasTargetSrfsFieldNumber = 8, - kHasSubLinksFieldNumber = 9, - kHasDistinctOnFieldNumber = 10, - kHasRecursiveFieldNumber = 11, - kHasModifyingCteFieldNumber = 12, - kHasForUpdateFieldNumber = 13, - kHasRowSecurityFieldNumber = 14, - kIsReturnFieldNumber = 15, - kMergeUseOuterJoinFieldNumber = 20, - kOverrideFieldNumber = 22, - kGroupDistinctFieldNumber = 26, - kLimitOptionFieldNumber = 34, - kStmtLocationFieldNumber = 39, - kStmtLenFieldNumber = 40, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 3, + kResultcollidFieldNumber = 4, + kCoerceformatFieldNumber = 5, + kLocationFieldNumber = 6, }; - // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; - int cte_list_size() const; - private: - int _internal_cte_list_size() const; - public: - void clear_cte_list(); - ::pg_query::Node* mutable_cte_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cte_list(); - private: - const ::pg_query::Node& _internal_cte_list(int index) const; - ::pg_query::Node* _internal_add_cte_list(); - public: - const ::pg_query::Node& cte_list(int index) const; - ::pg_query::Node* add_cte_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cte_list() const; - - // repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; - int rtable_size() const; - private: - int _internal_rtable_size() const; - public: - void clear_rtable(); - ::pg_query::Node* mutable_rtable(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_rtable(); - private: - const ::pg_query::Node& _internal_rtable(int index) const; - ::pg_query::Node* _internal_add_rtable(); - public: - const ::pg_query::Node& rtable(int index) const; - ::pg_query::Node* add_rtable(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - rtable() const; - - // repeated .pg_query.Node merge_action_list = 19 [json_name = "mergeActionList"]; - int merge_action_list_size() const; - private: - int _internal_merge_action_list_size() const; - public: - void clear_merge_action_list(); - ::pg_query::Node* mutable_merge_action_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_merge_action_list(); - private: - const ::pg_query::Node& _internal_merge_action_list(int index) const; - ::pg_query::Node* _internal_add_merge_action_list(); - public: - const ::pg_query::Node& merge_action_list(int index) const; - ::pg_query::Node* add_merge_action_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - merge_action_list() const; - - // repeated .pg_query.Node target_list = 21 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node returning_list = 24 [json_name = "returningList"]; - int returning_list_size() const; - private: - int _internal_returning_list_size() const; - public: - void clear_returning_list(); - ::pg_query::Node* mutable_returning_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); private: - const ::pg_query::Node& _internal_returning_list(int index) const; - ::pg_query::Node* _internal_add_returning_list(); - public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // repeated .pg_query.Node group_clause = 25 [json_name = "groupClause"]; - int group_clause_size() const; - private: - int _internal_group_clause_size() const; public: - void clear_group_clause(); - ::pg_query::Node* mutable_group_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clause(); - private: - const ::pg_query::Node& _internal_group_clause(int index) const; - ::pg_query::Node* _internal_add_group_clause(); - public: - const ::pg_query::Node& group_clause(int index) const; - ::pg_query::Node* add_group_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - group_clause() const; + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // repeated .pg_query.Node grouping_sets = 27 [json_name = "groupingSets"]; - int grouping_sets_size() const; - private: - int _internal_grouping_sets_size() const; - public: - void clear_grouping_sets(); - ::pg_query::Node* mutable_grouping_sets(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_grouping_sets(); private: - const ::pg_query::Node& _internal_grouping_sets(int index) const; - ::pg_query::Node* _internal_add_grouping_sets(); - public: - const ::pg_query::Node& grouping_sets(int index) const; - ::pg_query::Node* add_grouping_sets(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - grouping_sets() const; + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // repeated .pg_query.Node window_clause = 29 [json_name = "windowClause"]; - int window_clause_size() const; - private: - int _internal_window_clause_size() const; - public: - void clear_window_clause(); - ::pg_query::Node* mutable_window_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_window_clause(); - private: - const ::pg_query::Node& _internal_window_clause(int index) const; - ::pg_query::Node* _internal_add_window_clause(); public: - const ::pg_query::Node& window_clause(int index) const; - ::pg_query::Node* add_window_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - window_clause() const; + // uint32 resulttype = 3 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); - // repeated .pg_query.Node distinct_clause = 30 [json_name = "distinctClause"]; - int distinct_clause_size() const; - private: - int _internal_distinct_clause_size() const; - public: - void clear_distinct_clause(); - ::pg_query::Node* mutable_distinct_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_distinct_clause(); private: - const ::pg_query::Node& _internal_distinct_clause(int index) const; - ::pg_query::Node* _internal_add_distinct_clause(); - public: - const ::pg_query::Node& distinct_clause(int index) const; - ::pg_query::Node* add_distinct_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - distinct_clause() const; + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); - // repeated .pg_query.Node sort_clause = 31 [json_name = "sortClause"]; - int sort_clause_size() const; - private: - int _internal_sort_clause_size() const; - public: - void clear_sort_clause(); - ::pg_query::Node* mutable_sort_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_sort_clause(); - private: - const ::pg_query::Node& _internal_sort_clause(int index) const; - ::pg_query::Node* _internal_add_sort_clause(); public: - const ::pg_query::Node& sort_clause(int index) const; - ::pg_query::Node* add_sort_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - sort_clause() const; + // uint32 resultcollid = 4 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); - // repeated .pg_query.Node row_marks = 35 [json_name = "rowMarks"]; - int row_marks_size() const; - private: - int _internal_row_marks_size() const; - public: - void clear_row_marks(); - ::pg_query::Node* mutable_row_marks(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_row_marks(); private: - const ::pg_query::Node& _internal_row_marks(int index) const; - ::pg_query::Node* _internal_add_row_marks(); - public: - const ::pg_query::Node& row_marks(int index) const; - ::pg_query::Node* add_row_marks(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - row_marks() const; + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); - // repeated .pg_query.Node constraint_deps = 37 [json_name = "constraintDeps"]; - int constraint_deps_size() const; - private: - int _internal_constraint_deps_size() const; - public: - void clear_constraint_deps(); - ::pg_query::Node* mutable_constraint_deps(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_constraint_deps(); - private: - const ::pg_query::Node& _internal_constraint_deps(int index) const; - ::pg_query::Node* _internal_add_constraint_deps(); public: - const ::pg_query::Node& constraint_deps(int index) const; - ::pg_query::Node* add_constraint_deps(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - constraint_deps() const; + // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"]; + void clear_coerceformat() ; + ::pg_query::CoercionForm coerceformat() const; + void set_coerceformat(::pg_query::CoercionForm value); - // repeated .pg_query.Node with_check_options = 38 [json_name = "withCheckOptions"]; - int with_check_options_size() const; - private: - int _internal_with_check_options_size() const; - public: - void clear_with_check_options(); - ::pg_query::Node* mutable_with_check_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_with_check_options(); private: - const ::pg_query::Node& _internal_with_check_options(int index) const; - ::pg_query::Node* _internal_add_with_check_options(); - public: - const ::pg_query::Node& with_check_options(int index) const; - ::pg_query::Node* add_with_check_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - with_check_options() const; + ::pg_query::CoercionForm _internal_coerceformat() const; + void _internal_set_coerceformat(::pg_query::CoercionForm value); - // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; - bool has_utility_stmt() const; - private: - bool _internal_has_utility_stmt() const; - public: - void clear_utility_stmt(); - const ::pg_query::Node& utility_stmt() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_utility_stmt(); - ::pg_query::Node* mutable_utility_stmt(); - void set_allocated_utility_stmt(::pg_query::Node* utility_stmt); - private: - const ::pg_query::Node& _internal_utility_stmt() const; - ::pg_query::Node* _internal_mutable_utility_stmt(); public: - void unsafe_arena_set_allocated_utility_stmt( - ::pg_query::Node* utility_stmt); - ::pg_query::Node* unsafe_arena_release_utility_stmt(); + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.FromExpr jointree = 18 [json_name = "jointree"]; - bool has_jointree() const; - private: - bool _internal_has_jointree() const; - public: - void clear_jointree(); - const ::pg_query::FromExpr& jointree() const; - PROTOBUF_NODISCARD ::pg_query::FromExpr* release_jointree(); - ::pg_query::FromExpr* mutable_jointree(); - void set_allocated_jointree(::pg_query::FromExpr* jointree); private: - const ::pg_query::FromExpr& _internal_jointree() const; - ::pg_query::FromExpr* _internal_mutable_jointree(); - public: - void unsafe_arena_set_allocated_jointree( - ::pg_query::FromExpr* jointree); - ::pg_query::FromExpr* unsafe_arena_release_jointree(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // .pg_query.OnConflictExpr on_conflict = 23 [json_name = "onConflict"]; - bool has_on_conflict() const; - private: - bool _internal_has_on_conflict() const; - public: - void clear_on_conflict(); - const ::pg_query::OnConflictExpr& on_conflict() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict(); - ::pg_query::OnConflictExpr* mutable_on_conflict(); - void set_allocated_on_conflict(::pg_query::OnConflictExpr* on_conflict); - private: - const ::pg_query::OnConflictExpr& _internal_on_conflict() const; - ::pg_query::OnConflictExpr* _internal_mutable_on_conflict(); public: - void unsafe_arena_set_allocated_on_conflict( - ::pg_query::OnConflictExpr* on_conflict); - ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict(); + // @@protoc_insertion_point(class_scope:pg_query.CoerceViaIO) + private: + class _Internal; - // .pg_query.Node having_qual = 28 [json_name = "havingQual"]; - bool has_having_qual() const; - private: - bool _internal_has_having_qual() const; - public: - void clear_having_qual(); - const ::pg_query::Node& having_qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_having_qual(); - ::pg_query::Node* mutable_having_qual(); - void set_allocated_having_qual(::pg_query::Node* having_qual); - private: - const ::pg_query::Node& _internal_having_qual() const; - ::pg_query::Node* _internal_mutable_having_qual(); - public: - void unsafe_arena_set_allocated_having_qual( - ::pg_query::Node* having_qual); - ::pg_query::Node* unsafe_arena_release_having_qual(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.Node limit_offset = 32 [json_name = "limitOffset"]; - bool has_limit_offset() const; - private: - bool _internal_has_limit_offset() const; - public: - void clear_limit_offset(); - const ::pg_query::Node& limit_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); - ::pg_query::Node* mutable_limit_offset(); - void set_allocated_limit_offset(::pg_query::Node* limit_offset); - private: - const ::pg_query::Node& _internal_limit_offset() const; - ::pg_query::Node* _internal_mutable_limit_offset(); - public: - void unsafe_arena_set_allocated_limit_offset( - ::pg_query::Node* limit_offset); - ::pg_query::Node* unsafe_arena_release_limit_offset(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + ::uint32_t resultcollid_; + int coerceformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.Node limit_count = 33 [json_name = "limitCount"]; - bool has_limit_count() const; - private: - bool _internal_has_limit_count() const; - public: - void clear_limit_count(); - const ::pg_query::Node& limit_count() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); - ::pg_query::Node* mutable_limit_count(); - void set_allocated_limit_count(::pg_query::Node* limit_count); - private: - const ::pg_query::Node& _internal_limit_count() const; - ::pg_query::Node* _internal_mutable_limit_count(); - public: - void unsafe_arena_set_allocated_limit_count( - ::pg_query::Node* limit_count); - ::pg_query::Node* unsafe_arena_release_limit_count(); +class CollateClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CollateClause) */ { + public: + inline CollateClause() : CollateClause(nullptr) {} + ~CollateClause() override; + template + explicit PROTOBUF_CONSTEXPR CollateClause(::google::protobuf::internal::ConstantInitialized); - // .pg_query.Node set_operations = 36 [json_name = "setOperations"]; - bool has_set_operations() const; - private: - bool _internal_has_set_operations() const; - public: - void clear_set_operations(); - const ::pg_query::Node& set_operations() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_set_operations(); - ::pg_query::Node* mutable_set_operations(); - void set_allocated_set_operations(::pg_query::Node* set_operations); - private: - const ::pg_query::Node& _internal_set_operations() const; - ::pg_query::Node* _internal_mutable_set_operations(); - public: - void unsafe_arena_set_allocated_set_operations( - ::pg_query::Node* set_operations); - ::pg_query::Node* unsafe_arena_release_set_operations(); + inline CollateClause(const CollateClause& from) + : CollateClause(nullptr, from) {} + CollateClause(CollateClause&& from) noexcept + : CollateClause() { + *this = ::std::move(from); + } - // .pg_query.CmdType command_type = 1 [json_name = "commandType"]; - void clear_command_type(); - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); - private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); - public: + inline CollateClause& operator=(const CollateClause& from) { + CopyFrom(from); + return *this; + } + inline CollateClause& operator=(CollateClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } - // .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; - void clear_query_source(); - ::pg_query::QuerySource query_source() const; - void set_query_source(::pg_query::QuerySource value); - private: - ::pg_query::QuerySource _internal_query_source() const; - void _internal_set_query_source(::pg_query::QuerySource value); - public: + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } - // int32 result_relation = 5 [json_name = "resultRelation"]; - void clear_result_relation(); - int32_t result_relation() const; - void set_result_relation(int32_t value); - private: - int32_t _internal_result_relation() const; - void _internal_set_result_relation(int32_t value); - public: + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CollateClause& default_instance() { + return *internal_default_instance(); + } + static inline const CollateClause* internal_default_instance() { + return reinterpret_cast( + &_CollateClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 81; - // bool can_set_tag = 3 [json_name = "canSetTag"]; - void clear_can_set_tag(); - bool can_set_tag() const; - void set_can_set_tag(bool value); - private: - bool _internal_can_set_tag() const; - void _internal_set_can_set_tag(bool value); - public: + friend void swap(CollateClause& a, CollateClause& b) { + a.Swap(&b); + } + inline void Swap(CollateClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CollateClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } - // bool has_aggs = 6 [json_name = "hasAggs"]; - void clear_has_aggs(); - bool has_aggs() const; - void set_has_aggs(bool value); - private: - bool _internal_has_aggs() const; - void _internal_set_has_aggs(bool value); - public: + // implements Message ---------------------------------------------- - // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; - void clear_has_window_funcs(); - bool has_window_funcs() const; - void set_has_window_funcs(bool value); + CollateClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CollateClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CollateClause& from) { + CollateClause::MergeImpl(*this, from); + } private: - bool _internal_has_window_funcs() const; - void _internal_set_has_window_funcs(bool value); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; - // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; - void clear_has_target_srfs(); - bool has_target_srfs() const; - void set_has_target_srfs(bool value); - private: - bool _internal_has_target_srfs() const; - void _internal_set_has_target_srfs(bool value); - public: + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // bool has_sub_links = 9 [json_name = "hasSubLinks"]; - void clear_has_sub_links(); - bool has_sub_links() const; - void set_has_sub_links(bool value); private: - bool _internal_has_sub_links() const; - void _internal_set_has_sub_links(bool value); - public: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(CollateClause* other); - // bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; - void clear_has_distinct_on(); - bool has_distinct_on() const; - void set_has_distinct_on(bool value); private: - bool _internal_has_distinct_on() const; - void _internal_set_has_distinct_on(bool value); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CollateClause"; + } + protected: + explicit CollateClause(::google::protobuf::Arena* arena); + CollateClause(::google::protobuf::Arena* arena, const CollateClause& from); public: - // bool has_recursive = 11 [json_name = "hasRecursive"]; - void clear_has_recursive(); - bool has_recursive() const; - void set_has_recursive(bool value); - private: - bool _internal_has_recursive() const; - void _internal_set_has_recursive(bool value); - public: + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; - void clear_has_modifying_cte(); - bool has_modifying_cte() const; - void set_has_modifying_cte(bool value); - private: - bool _internal_has_modifying_cte() const; - void _internal_set_has_modifying_cte(bool value); - public: + ::google::protobuf::Metadata GetMetadata() const final; - // bool has_for_update = 13 [json_name = "hasForUpdate"]; - void clear_has_for_update(); - bool has_for_update() const; - void set_has_for_update(bool value); - private: - bool _internal_has_for_update() const; - void _internal_set_has_for_update(bool value); - public: + // nested types ---------------------------------------------------- - // bool has_row_security = 14 [json_name = "hasRowSecurity"]; - void clear_has_row_security(); - bool has_row_security() const; - void set_has_row_security(bool value); - private: - bool _internal_has_row_security() const; - void _internal_set_has_row_security(bool value); - public: + // accessors ------------------------------------------------------- - // bool is_return = 15 [json_name = "isReturn"]; - void clear_is_return(); - bool is_return() const; - void set_is_return(bool value); + enum : int { + kCollnameFieldNumber = 2, + kArgFieldNumber = 1, + kLocationFieldNumber = 3, + }; + // repeated .pg_query.Node collname = 2 [json_name = "collname"]; + int collname_size() const; private: - bool _internal_is_return() const; - void _internal_set_is_return(bool value); - public: + int _internal_collname_size() const; - // bool merge_use_outer_join = 20 [json_name = "mergeUseOuterJoin"]; - void clear_merge_use_outer_join(); - bool merge_use_outer_join() const; - void set_merge_use_outer_join(bool value); - private: - bool _internal_merge_use_outer_join() const; - void _internal_set_merge_use_outer_join(bool value); public: - - // .pg_query.OverridingKind override = 22 [json_name = "override"]; - void clear_override(); - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); + void clear_collname() ; + ::pg_query::Node* mutable_collname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_collname(); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collname(); public: + const ::pg_query::Node& collname(int index) const; + ::pg_query::Node* add_collname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + collname() const; + // .pg_query.Node arg = 1 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // bool group_distinct = 26 [json_name = "groupDistinct"]; - void clear_group_distinct(); - bool group_distinct() const; - void set_group_distinct(bool value); private: - bool _internal_group_distinct() const; - void _internal_set_group_distinct(bool value); - public: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // .pg_query.LimitOption limit_option = 34 [json_name = "limitOption"]; - void clear_limit_option(); - ::pg_query::LimitOption limit_option() const; - void set_limit_option(::pg_query::LimitOption value); - private: - ::pg_query::LimitOption _internal_limit_option() const; - void _internal_set_limit_option(::pg_query::LimitOption value); public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 stmt_location = 39 [json_name = "stmt_location"]; - void clear_stmt_location(); - int32_t stmt_location() const; - void set_stmt_location(int32_t value); private: - int32_t _internal_stmt_location() const; - void _internal_set_stmt_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // int32 stmt_len = 40 [json_name = "stmt_len"]; - void clear_stmt_len(); - int32_t stmt_len() const; - void set_stmt_len(int32_t value); - private: - int32_t _internal_stmt_len() const; - void _internal_set_stmt_len(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.Query) + // @@protoc_insertion_point(class_scope:pg_query.CollateClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cte_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > rtable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > merge_action_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > group_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > grouping_sets_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > window_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > distinct_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > sort_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > row_marks_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > constraint_deps_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > with_check_options_; - ::pg_query::Node* utility_stmt_; - ::pg_query::FromExpr* jointree_; - ::pg_query::OnConflictExpr* on_conflict_; - ::pg_query::Node* having_qual_; - ::pg_query::Node* limit_offset_; - ::pg_query::Node* limit_count_; - ::pg_query::Node* set_operations_; - int command_type_; - int query_source_; - int32_t result_relation_; - bool can_set_tag_; - bool has_aggs_; - bool has_window_funcs_; - bool has_target_srfs_; - bool has_sub_links_; - bool has_distinct_on_; - bool has_recursive_; - bool has_modifying_cte_; - bool has_for_update_; - bool has_row_security_; - bool is_return_; - bool merge_use_outer_join_; - int override_; - bool group_distinct_; - int limit_option_; - int32_t stmt_location_; - int32_t stmt_len_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collname_; + ::pg_query::Node* arg_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class InsertStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.InsertStmt) */ { +class CollateExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CollateExpr) */ { public: - inline InsertStmt() : InsertStmt(nullptr) {} - ~InsertStmt() override; - explicit PROTOBUF_CONSTEXPR InsertStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CollateExpr() : CollateExpr(nullptr) {} + ~CollateExpr() override; + template + explicit PROTOBUF_CONSTEXPR CollateExpr(::google::protobuf::internal::ConstantInitialized); - InsertStmt(const InsertStmt& from); - InsertStmt(InsertStmt&& from) noexcept - : InsertStmt() { + inline CollateExpr(const CollateExpr& from) + : CollateExpr(nullptr, from) {} + CollateExpr(CollateExpr&& from) noexcept + : CollateExpr() { *this = ::std::move(from); } - inline InsertStmt& operator=(const InsertStmt& from) { + inline CollateExpr& operator=(const CollateExpr& from) { CopyFrom(from); return *this; } - inline InsertStmt& operator=(InsertStmt&& from) noexcept { + inline CollateExpr& operator=(CollateExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -23699,265 +24498,219 @@ class InsertStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const InsertStmt& default_instance() { + static const CollateExpr& default_instance() { return *internal_default_instance(); } - static inline const InsertStmt* internal_default_instance() { - return reinterpret_cast( - &_InsertStmt_default_instance_); + static inline const CollateExpr* internal_default_instance() { + return reinterpret_cast( + &_CollateExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 65; + 40; - friend void swap(InsertStmt& a, InsertStmt& b) { + friend void swap(CollateExpr& a, CollateExpr& b) { a.Swap(&b); } - inline void Swap(InsertStmt* other) { + inline void Swap(CollateExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(InsertStmt* other) { + void UnsafeArenaSwap(CollateExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - InsertStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const InsertStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const InsertStmt& from) { - InsertStmt::MergeImpl(*this, from); + CollateExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CollateExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CollateExpr& from) { + CollateExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(InsertStmt* other); + void InternalSwap(CollateExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.InsertStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CollateExpr"; } protected: - explicit InsertStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CollateExpr(::google::protobuf::Arena* arena); + CollateExpr(::google::protobuf::Arena* arena, const CollateExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColsFieldNumber = 2, - kReturningListFieldNumber = 5, - kRelationFieldNumber = 1, - kSelectStmtFieldNumber = 3, - kOnConflictClauseFieldNumber = 4, - kWithClauseFieldNumber = 6, - kOverrideFieldNumber = 7, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kCollOidFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node cols = 2 [json_name = "cols"]; - int cols_size() const; - private: - int _internal_cols_size() const; - public: - void clear_cols(); - ::pg_query::Node* mutable_cols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cols(); - private: - const ::pg_query::Node& _internal_cols(int index) const; - ::pg_query::Node* _internal_add_cols(); - public: - const ::pg_query::Node& cols(int index) const; - ::pg_query::Node* add_cols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cols() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; - int returning_list_size() const; - private: - int _internal_returning_list_size() const; - public: - void clear_returning_list(); - ::pg_query::Node* mutable_returning_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); private: - const ::pg_query::Node& _internal_returning_list(int index) const; - ::pg_query::Node* _internal_add_returning_list(); - public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"]; - bool has_select_stmt() const; - private: - bool _internal_has_select_stmt() const; - public: - void clear_select_stmt(); - const ::pg_query::Node& select_stmt() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_select_stmt(); - ::pg_query::Node* mutable_select_stmt(); - void set_allocated_select_stmt(::pg_query::Node* select_stmt); private: - const ::pg_query::Node& _internal_select_stmt() const; - ::pg_query::Node* _internal_mutable_select_stmt(); - public: - void unsafe_arena_set_allocated_select_stmt( - ::pg_query::Node* select_stmt); - ::pg_query::Node* unsafe_arena_release_select_stmt(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"]; - bool has_on_conflict_clause() const; - private: - bool _internal_has_on_conflict_clause() const; - public: - void clear_on_conflict_clause(); - const ::pg_query::OnConflictClause& on_conflict_clause() const; - PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); - ::pg_query::OnConflictClause* mutable_on_conflict_clause(); - void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause); - private: - const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; - ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); public: - void unsafe_arena_set_allocated_on_conflict_clause( - ::pg_query::OnConflictClause* on_conflict_clause); - ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); + // uint32 coll_oid = 3 [json_name = "collOid"]; + void clear_coll_oid() ; + ::uint32_t coll_oid() const; + void set_coll_oid(::uint32_t value); - // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; - bool has_with_clause() const; private: - bool _internal_has_with_clause() const; - public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); - private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + ::uint32_t _internal_coll_oid() const; + void _internal_set_coll_oid(::uint32_t value); + public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.OverridingKind override = 7 [json_name = "override"]; - void clear_override(); - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.InsertStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CollateExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cols_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* select_stmt_; - ::pg_query::OnConflictClause* on_conflict_clause_; - ::pg_query::WithClause* with_clause_; - int override_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t coll_oid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DeleteStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DeleteStmt) */ { +class ColumnDef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ColumnDef) */ { public: - inline DeleteStmt() : DeleteStmt(nullptr) {} - ~DeleteStmt() override; - explicit PROTOBUF_CONSTEXPR DeleteStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ColumnDef() : ColumnDef(nullptr) {} + ~ColumnDef() override; + template + explicit PROTOBUF_CONSTEXPR ColumnDef(::google::protobuf::internal::ConstantInitialized); - DeleteStmt(const DeleteStmt& from); - DeleteStmt(DeleteStmt&& from) noexcept - : DeleteStmt() { + inline ColumnDef(const ColumnDef& from) + : ColumnDef(nullptr, from) {} + ColumnDef(ColumnDef&& from) noexcept + : ColumnDef() { *this = ::std::move(from); } - inline DeleteStmt& operator=(const DeleteStmt& from) { + inline ColumnDef& operator=(const ColumnDef& from) { CopyFrom(from); return *this; } - inline DeleteStmt& operator=(DeleteStmt&& from) noexcept { + inline ColumnDef& operator=(ColumnDef&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -23967,234 +24720,466 @@ class DeleteStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DeleteStmt& default_instance() { + static const ColumnDef& default_instance() { return *internal_default_instance(); } - static inline const DeleteStmt* internal_default_instance() { - return reinterpret_cast( - &_DeleteStmt_default_instance_); + static inline const ColumnDef* internal_default_instance() { + return reinterpret_cast( + &_ColumnDef_default_instance_); } static constexpr int kIndexInFileMessages = - 66; + 97; - friend void swap(DeleteStmt& a, DeleteStmt& b) { + friend void swap(ColumnDef& a, ColumnDef& b) { a.Swap(&b); } - inline void Swap(DeleteStmt* other) { + inline void Swap(ColumnDef* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DeleteStmt* other) { + void UnsafeArenaSwap(ColumnDef* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DeleteStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ColumnDef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DeleteStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DeleteStmt& from) { - DeleteStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ColumnDef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ColumnDef& from) { + ColumnDef::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DeleteStmt* other); + void InternalSwap(ColumnDef* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DeleteStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ColumnDef"; } protected: - explicit DeleteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ColumnDef(::google::protobuf::Arena* arena); + ColumnDef(::google::protobuf::Arena* arena, const ColumnDef& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kUsingClauseFieldNumber = 2, - kReturningListFieldNumber = 4, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 3, - kWithClauseFieldNumber = 5, + kConstraintsFieldNumber = 17, + kFdwoptionsFieldNumber = 18, + kColnameFieldNumber = 1, + kCompressionFieldNumber = 3, + kStorageFieldNumber = 8, + kStorageNameFieldNumber = 9, + kIdentityFieldNumber = 12, + kGeneratedFieldNumber = 14, + kTypeNameFieldNumber = 2, + kRawDefaultFieldNumber = 10, + kCookedDefaultFieldNumber = 11, + kIdentitySequenceFieldNumber = 13, + kCollClauseFieldNumber = 15, + kInhcountFieldNumber = 4, + kIsLocalFieldNumber = 5, + kIsNotNullFieldNumber = 6, + kIsFromTypeFieldNumber = 7, + kCollOidFieldNumber = 16, + kLocationFieldNumber = 19, }; - // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"]; - int using_clause_size() const; + // repeated .pg_query.Node constraints = 17 [json_name = "constraints"]; + int constraints_size() const; private: - int _internal_using_clause_size() const; + int _internal_constraints_size() const; + public: - void clear_using_clause(); - ::pg_query::Node* mutable_using_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_using_clause(); + void clear_constraints() ; + ::pg_query::Node* mutable_constraints(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraints(); private: - const ::pg_query::Node& _internal_using_clause(int index) const; - ::pg_query::Node* _internal_add_using_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraints() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraints(); public: - const ::pg_query::Node& using_clause(int index) const; - ::pg_query::Node* add_using_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - using_clause() const; + const ::pg_query::Node& constraints(int index) const; + ::pg_query::Node* add_constraints(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraints() const; + // repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"]; + int fdwoptions_size() const; + private: + int _internal_fdwoptions_size() const; - // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"]; - int returning_list_size() const; + public: + void clear_fdwoptions() ; + ::pg_query::Node* mutable_fdwoptions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fdwoptions(); private: - int _internal_returning_list_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fdwoptions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fdwoptions(); public: - void clear_returning_list(); - ::pg_query::Node* mutable_returning_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); + const ::pg_query::Node& fdwoptions(int index) const; + ::pg_query::Node* add_fdwoptions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fdwoptions() const; + // string colname = 1 [json_name = "colname"]; + void clear_colname() ; + const std::string& colname() const; + template + void set_colname(Arg_&& arg, Args_... args); + std::string* mutable_colname(); + PROTOBUF_NODISCARD std::string* release_colname(); + void set_allocated_colname(std::string* value); + private: - const ::pg_query::Node& _internal_returning_list(int index) const; - ::pg_query::Node* _internal_add_returning_list(); + const std::string& _internal_colname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname( + const std::string& value); + std::string* _internal_mutable_colname(); + public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; + // string compression = 3 [json_name = "compression"]; + void clear_compression() ; + const std::string& compression() const; + template + void set_compression(Arg_&& arg, Args_... args); + std::string* mutable_compression(); + PROTOBUF_NODISCARD std::string* release_compression(); + void set_allocated_compression(std::string* value); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; private: - bool _internal_has_relation() const; + const std::string& _internal_compression() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_compression( + const std::string& value); + std::string* _internal_mutable_compression(); + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // string storage = 8 [json_name = "storage"]; + void clear_storage() ; + const std::string& storage() const; + template + void set_storage(Arg_&& arg, Args_... args); + std::string* mutable_storage(); + PROTOBUF_NODISCARD std::string* release_storage(); + void set_allocated_storage(std::string* value); + private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const std::string& _internal_storage() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_storage( + const std::string& value); + std::string* _internal_mutable_storage(); + public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // string storage_name = 9 [json_name = "storage_name"]; + void clear_storage_name() ; + const std::string& storage_name() const; + template + void set_storage_name(Arg_&& arg, Args_... args); + std::string* mutable_storage_name(); + PROTOBUF_NODISCARD std::string* release_storage_name(); + void set_allocated_storage_name(std::string* value); - // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; - bool has_where_clause() const; private: - bool _internal_has_where_clause() const; + const std::string& _internal_storage_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_storage_name( + const std::string& value); + std::string* _internal_mutable_storage_name(); + public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); + // string identity = 12 [json_name = "identity"]; + void clear_identity() ; + const std::string& identity() const; + template + void set_identity(Arg_&& arg, Args_... args); + std::string* mutable_identity(); + PROTOBUF_NODISCARD std::string* release_identity(); + void set_allocated_identity(std::string* value); + private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const std::string& _internal_identity() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_identity( + const std::string& value); + std::string* _internal_mutable_identity(); + public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + // string generated = 14 [json_name = "generated"]; + void clear_generated() ; + const std::string& generated() const; + template + void set_generated(Arg_&& arg, Args_... args); + std::string* mutable_generated(); + PROTOBUF_NODISCARD std::string* release_generated(); + void set_allocated_generated(std::string* value); - // .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; - bool has_with_clause() const; private: - bool _internal_has_with_clause() const; + const std::string& _internal_generated() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_generated( + const std::string& value); + std::string* _internal_mutable_generated(); + public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + // .pg_query.Node raw_default = 10 [json_name = "raw_default"]; + bool has_raw_default() const; + void clear_raw_default() ; + const ::pg_query::Node& raw_default() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_raw_default(); + ::pg_query::Node* mutable_raw_default(); + void set_allocated_raw_default(::pg_query::Node* value); + void unsafe_arena_set_allocated_raw_default(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_raw_default(); - // @@protoc_insertion_point(class_scope:pg_query.DeleteStmt) + private: + const ::pg_query::Node& _internal_raw_default() const; + ::pg_query::Node* _internal_mutable_raw_default(); + + public: + // .pg_query.Node cooked_default = 11 [json_name = "cooked_default"]; + bool has_cooked_default() const; + void clear_cooked_default() ; + const ::pg_query::Node& cooked_default() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_cooked_default(); + ::pg_query::Node* mutable_cooked_default(); + void set_allocated_cooked_default(::pg_query::Node* value); + void unsafe_arena_set_allocated_cooked_default(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_cooked_default(); + + private: + const ::pg_query::Node& _internal_cooked_default() const; + ::pg_query::Node* _internal_mutable_cooked_default(); + + public: + // .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"]; + bool has_identity_sequence() const; + void clear_identity_sequence() ; + const ::pg_query::RangeVar& identity_sequence() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_identity_sequence(); + ::pg_query::RangeVar* mutable_identity_sequence(); + void set_allocated_identity_sequence(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_identity_sequence(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_identity_sequence(); + + private: + const ::pg_query::RangeVar& _internal_identity_sequence() const; + ::pg_query::RangeVar* _internal_mutable_identity_sequence(); + + public: + // .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"]; + bool has_coll_clause() const; + void clear_coll_clause() ; + const ::pg_query::CollateClause& coll_clause() const; + PROTOBUF_NODISCARD ::pg_query::CollateClause* release_coll_clause(); + ::pg_query::CollateClause* mutable_coll_clause(); + void set_allocated_coll_clause(::pg_query::CollateClause* value); + void unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value); + ::pg_query::CollateClause* unsafe_arena_release_coll_clause(); + + private: + const ::pg_query::CollateClause& _internal_coll_clause() const; + ::pg_query::CollateClause* _internal_mutable_coll_clause(); + + public: + // int32 inhcount = 4 [json_name = "inhcount"]; + void clear_inhcount() ; + ::int32_t inhcount() const; + void set_inhcount(::int32_t value); + + private: + ::int32_t _internal_inhcount() const; + void _internal_set_inhcount(::int32_t value); + + public: + // bool is_local = 5 [json_name = "is_local"]; + void clear_is_local() ; + bool is_local() const; + void set_is_local(bool value); + + private: + bool _internal_is_local() const; + void _internal_set_is_local(bool value); + + public: + // bool is_not_null = 6 [json_name = "is_not_null"]; + void clear_is_not_null() ; + bool is_not_null() const; + void set_is_not_null(bool value); + + private: + bool _internal_is_not_null() const; + void _internal_set_is_not_null(bool value); + + public: + // bool is_from_type = 7 [json_name = "is_from_type"]; + void clear_is_from_type() ; + bool is_from_type() const; + void set_is_from_type(bool value); + + private: + bool _internal_is_from_type() const; + void _internal_set_is_from_type(bool value); + + public: + // uint32 coll_oid = 16 [json_name = "collOid"]; + void clear_coll_oid() ; + ::uint32_t coll_oid() const; + void set_coll_oid(::uint32_t value); + + private: + ::uint32_t _internal_coll_oid() const; + void _internal_set_coll_oid(::uint32_t value); + + public: + // int32 location = 19 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ColumnDef) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 19, 7, + 97, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > using_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - ::pg_query::WithClause* with_clause_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraints_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fdwoptions_; + ::google::protobuf::internal::ArenaStringPtr colname_; + ::google::protobuf::internal::ArenaStringPtr compression_; + ::google::protobuf::internal::ArenaStringPtr storage_; + ::google::protobuf::internal::ArenaStringPtr storage_name_; + ::google::protobuf::internal::ArenaStringPtr identity_; + ::google::protobuf::internal::ArenaStringPtr generated_; + ::pg_query::TypeName* type_name_; + ::pg_query::Node* raw_default_; + ::pg_query::Node* cooked_default_; + ::pg_query::RangeVar* identity_sequence_; + ::pg_query::CollateClause* coll_clause_; + ::int32_t inhcount_; + bool is_local_; + bool is_not_null_; + bool is_from_type_; + ::uint32_t coll_oid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class UpdateStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.UpdateStmt) */ { +class ColumnRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ColumnRef) */ { public: - inline UpdateStmt() : UpdateStmt(nullptr) {} - ~UpdateStmt() override; - explicit PROTOBUF_CONSTEXPR UpdateStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ColumnRef() : ColumnRef(nullptr) {} + ~ColumnRef() override; + template + explicit PROTOBUF_CONSTEXPR ColumnRef(::google::protobuf::internal::ConstantInitialized); - UpdateStmt(const UpdateStmt& from); - UpdateStmt(UpdateStmt&& from) noexcept - : UpdateStmt() { + inline ColumnRef(const ColumnRef& from) + : ColumnRef(nullptr, from) {} + ColumnRef(ColumnRef&& from) noexcept + : ColumnRef() { *this = ::std::move(from); } - inline UpdateStmt& operator=(const UpdateStmt& from) { + inline ColumnRef& operator=(const ColumnRef& from) { CopyFrom(from); return *this; } - inline UpdateStmt& operator=(UpdateStmt&& from) noexcept { + inline ColumnRef& operator=(ColumnRef&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -24204,254 +25189,192 @@ class UpdateStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const UpdateStmt& default_instance() { + static const ColumnRef& default_instance() { return *internal_default_instance(); } - static inline const UpdateStmt* internal_default_instance() { - return reinterpret_cast( - &_UpdateStmt_default_instance_); + static inline const ColumnRef* internal_default_instance() { + return reinterpret_cast( + &_ColumnRef_default_instance_); } static constexpr int kIndexInFileMessages = - 67; + 77; - friend void swap(UpdateStmt& a, UpdateStmt& b) { + friend void swap(ColumnRef& a, ColumnRef& b) { a.Swap(&b); } - inline void Swap(UpdateStmt* other) { + inline void Swap(ColumnRef* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(UpdateStmt* other) { + void UnsafeArenaSwap(ColumnRef* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - UpdateStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ColumnRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const UpdateStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const UpdateStmt& from) { - UpdateStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ColumnRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ColumnRef& from) { + ColumnRef::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(UpdateStmt* other); + void InternalSwap(ColumnRef* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.UpdateStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ColumnRef"; } protected: - explicit UpdateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ColumnRef(::google::protobuf::Arena* arena); + ColumnRef(::google::protobuf::Arena* arena, const ColumnRef& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 2, - kFromClauseFieldNumber = 4, - kReturningListFieldNumber = 5, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 3, - kWithClauseFieldNumber = 6, + kFieldsFieldNumber = 1, + kLocationFieldNumber = 2, }; - // repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + // repeated .pg_query.Node fields = 1 [json_name = "fields"]; + int fields_size() const; private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); - public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; + int _internal_fields_size() const; - // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; - int from_clause_size() const; - private: - int _internal_from_clause_size() const; public: - void clear_from_clause(); - ::pg_query::Node* mutable_from_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_from_clause(); + void clear_fields() ; + ::pg_query::Node* mutable_fields(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fields(); private: - const ::pg_query::Node& _internal_from_clause(int index) const; - ::pg_query::Node* _internal_add_from_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fields() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fields(); public: - const ::pg_query::Node& from_clause(int index) const; - ::pg_query::Node* add_from_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - from_clause() const; + const ::pg_query::Node& fields(int index) const; + ::pg_query::Node* add_fields(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fields() const; + // int32 location = 2 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; - int returning_list_size() const; private: - int _internal_returning_list_size() const; - public: - void clear_returning_list(); - ::pg_query::Node* mutable_returning_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_returning_list(); - private: - const ::pg_query::Node& _internal_returning_list(int index) const; - ::pg_query::Node* _internal_add_returning_list(); - public: - const ::pg_query::Node& returning_list(int index) const; - ::pg_query::Node* add_returning_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - returning_list() const; + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // @@protoc_insertion_point(class_scope:pg_query.ColumnRef) + private: + class _Internal; - // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; - public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; - bool has_with_clause() const; - private: - bool _internal_has_with_clause() const; - public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); - private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); - public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); - - // @@protoc_insertion_point(class_scope:pg_query.UpdateStmt) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > from_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > returning_list_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - ::pg_query::WithClause* with_clause_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fields_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class MergeStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeStmt) */ { +class CommentStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CommentStmt) */ { public: - inline MergeStmt() : MergeStmt(nullptr) {} - ~MergeStmt() override; - explicit PROTOBUF_CONSTEXPR MergeStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CommentStmt() : CommentStmt(nullptr) {} + ~CommentStmt() override; + template + explicit PROTOBUF_CONSTEXPR CommentStmt(::google::protobuf::internal::ConstantInitialized); - MergeStmt(const MergeStmt& from); - MergeStmt(MergeStmt&& from) noexcept - : MergeStmt() { + inline CommentStmt(const CommentStmt& from) + : CommentStmt(nullptr, from) {} + CommentStmt(CommentStmt&& from) noexcept + : CommentStmt() { *this = ::std::move(from); } - inline MergeStmt& operator=(const MergeStmt& from) { + inline CommentStmt& operator=(const CommentStmt& from) { CopyFrom(from); return *this; } - inline MergeStmt& operator=(MergeStmt&& from) noexcept { + inline CommentStmt& operator=(CommentStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -24461,234 +25384,208 @@ class MergeStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeStmt& default_instance() { + static const CommentStmt& default_instance() { return *internal_default_instance(); } - static inline const MergeStmt* internal_default_instance() { - return reinterpret_cast( - &_MergeStmt_default_instance_); + static inline const CommentStmt* internal_default_instance() { + return reinterpret_cast( + &_CommentStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 68; + 204; - friend void swap(MergeStmt& a, MergeStmt& b) { + friend void swap(CommentStmt& a, CommentStmt& b) { a.Swap(&b); } - inline void Swap(MergeStmt* other) { + inline void Swap(CommentStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeStmt* other) { + void UnsafeArenaSwap(CommentStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - MergeStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CommentStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MergeStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MergeStmt& from) { - MergeStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CommentStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CommentStmt& from) { + CommentStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MergeStmt* other); + void InternalSwap(CommentStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.MergeStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CommentStmt"; } protected: - explicit MergeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CommentStmt(::google::protobuf::Arena* arena); + CommentStmt(::google::protobuf::Arena* arena, const CommentStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kMergeWhenClausesFieldNumber = 4, - kRelationFieldNumber = 1, - kSourceRelationFieldNumber = 2, - kJoinConditionFieldNumber = 3, - kWithClauseFieldNumber = 5, + kCommentFieldNumber = 3, + kObjectFieldNumber = 2, + kObjtypeFieldNumber = 1, }; - // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; - int merge_when_clauses_size() const; - private: - int _internal_merge_when_clauses_size() const; - public: - void clear_merge_when_clauses(); - ::pg_query::Node* mutable_merge_when_clauses(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_merge_when_clauses(); - private: - const ::pg_query::Node& _internal_merge_when_clauses(int index) const; - ::pg_query::Node* _internal_add_merge_when_clauses(); - public: - const ::pg_query::Node& merge_when_clauses(int index) const; - ::pg_query::Node* add_merge_when_clauses(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - merge_when_clauses() const; + // string comment = 3 [json_name = "comment"]; + void clear_comment() ; + const std::string& comment() const; + template + void set_comment(Arg_&& arg, Args_... args); + std::string* mutable_comment(); + PROTOBUF_NODISCARD std::string* release_comment(); + void set_allocated_comment(std::string* value); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const std::string& _internal_comment() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_comment( + const std::string& value); + std::string* _internal_mutable_comment(); - // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; - bool has_source_relation() const; - private: - bool _internal_has_source_relation() const; - public: - void clear_source_relation(); - const ::pg_query::Node& source_relation() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_source_relation(); - ::pg_query::Node* mutable_source_relation(); - void set_allocated_source_relation(::pg_query::Node* source_relation); - private: - const ::pg_query::Node& _internal_source_relation() const; - ::pg_query::Node* _internal_mutable_source_relation(); public: - void unsafe_arena_set_allocated_source_relation( - ::pg_query::Node* source_relation); - ::pg_query::Node* unsafe_arena_release_source_relation(); + // .pg_query.Node object = 2 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; - bool has_join_condition() const; - private: - bool _internal_has_join_condition() const; - public: - void clear_join_condition(); - const ::pg_query::Node& join_condition() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_join_condition(); - ::pg_query::Node* mutable_join_condition(); - void set_allocated_join_condition(::pg_query::Node* join_condition); private: - const ::pg_query::Node& _internal_join_condition() const; - ::pg_query::Node* _internal_mutable_join_condition(); - public: - void unsafe_arena_set_allocated_join_condition( - ::pg_query::Node* join_condition); - ::pg_query::Node* unsafe_arena_release_join_condition(); + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); - // .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; - bool has_with_clause() const; - private: - bool _internal_has_with_clause() const; public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); + // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); + private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); - public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); - // @@protoc_insertion_point(class_scope:pg_query.MergeStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CommentStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 36, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > merge_when_clauses_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* source_relation_; - ::pg_query::Node* join_condition_; - ::pg_query::WithClause* with_clause_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr comment_; + ::pg_query::Node* object_; + int objtype_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SelectStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SelectStmt) */ { +class CommonTableExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CommonTableExpr) */ { public: - inline SelectStmt() : SelectStmt(nullptr) {} - ~SelectStmt() override; - explicit PROTOBUF_CONSTEXPR SelectStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CommonTableExpr() : CommonTableExpr(nullptr) {} + ~CommonTableExpr() override; + template + explicit PROTOBUF_CONSTEXPR CommonTableExpr(::google::protobuf::internal::ConstantInitialized); - SelectStmt(const SelectStmt& from); - SelectStmt(SelectStmt&& from) noexcept - : SelectStmt() { + inline CommonTableExpr(const CommonTableExpr& from) + : CommonTableExpr(nullptr, from) {} + CommonTableExpr(CommonTableExpr&& from) noexcept + : CommonTableExpr() { *this = ::std::move(from); } - inline SelectStmt& operator=(const SelectStmt& from) { + inline CommonTableExpr& operator=(const CommonTableExpr& from) { CopyFrom(from); return *this; } - inline SelectStmt& operator=(SelectStmt&& from) noexcept { + inline CommonTableExpr& operator=(CommonTableExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -24698,498 +25595,378 @@ class SelectStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SelectStmt& default_instance() { + static const CommonTableExpr& default_instance() { return *internal_default_instance(); } - static inline const SelectStmt* internal_default_instance() { - return reinterpret_cast( - &_SelectStmt_default_instance_); + static inline const CommonTableExpr* internal_default_instance() { + return reinterpret_cast( + &_CommonTableExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 69; + 123; - friend void swap(SelectStmt& a, SelectStmt& b) { + friend void swap(CommonTableExpr& a, CommonTableExpr& b) { a.Swap(&b); } - inline void Swap(SelectStmt* other) { + inline void Swap(CommonTableExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SelectStmt* other) { + void UnsafeArenaSwap(CommonTableExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SelectStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CommonTableExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SelectStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SelectStmt& from) { - SelectStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CommonTableExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CommonTableExpr& from) { + CommonTableExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SelectStmt* other); + void InternalSwap(CommonTableExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SelectStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CommonTableExpr"; } protected: - explicit SelectStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CommonTableExpr(::google::protobuf::Arena* arena); + CommonTableExpr(::google::protobuf::Arena* arena, const CommonTableExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDistinctClauseFieldNumber = 1, - kTargetListFieldNumber = 3, - kFromClauseFieldNumber = 4, - kGroupClauseFieldNumber = 6, - kWindowClauseFieldNumber = 9, - kValuesListsFieldNumber = 10, - kSortClauseFieldNumber = 11, - kLockingClauseFieldNumber = 15, - kIntoClauseFieldNumber = 2, - kWhereClauseFieldNumber = 5, - kHavingClauseFieldNumber = 8, - kLimitOffsetFieldNumber = 12, - kLimitCountFieldNumber = 13, - kWithClauseFieldNumber = 16, - kLargFieldNumber = 19, - kRargFieldNumber = 20, - kGroupDistinctFieldNumber = 7, - kAllFieldNumber = 18, - kLimitOptionFieldNumber = 14, - kOpFieldNumber = 17, + kAliascolnamesFieldNumber = 2, + kCtecolnamesFieldNumber = 10, + kCtecoltypesFieldNumber = 11, + kCtecoltypmodsFieldNumber = 12, + kCtecolcollationsFieldNumber = 13, + kCtenameFieldNumber = 1, + kCtequeryFieldNumber = 4, + kSearchClauseFieldNumber = 5, + kCycleClauseFieldNumber = 6, + kCtematerializedFieldNumber = 3, + kLocationFieldNumber = 7, + kCterecursiveFieldNumber = 8, + kCterefcountFieldNumber = 9, }; - // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; - int distinct_clause_size() const; - private: - int _internal_distinct_clause_size() const; - public: - void clear_distinct_clause(); - ::pg_query::Node* mutable_distinct_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_distinct_clause(); + // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; + int aliascolnames_size() const; private: - const ::pg_query::Node& _internal_distinct_clause(int index) const; - ::pg_query::Node* _internal_add_distinct_clause(); - public: - const ::pg_query::Node& distinct_clause(int index) const; - ::pg_query::Node* add_distinct_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - distinct_clause() const; + int _internal_aliascolnames_size() const; - // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; - int target_list_size() const; - private: - int _internal_target_list_size() const; - public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); - private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - - // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; - int from_clause_size() const; + void clear_aliascolnames() ; + ::pg_query::Node* mutable_aliascolnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_aliascolnames(); private: - int _internal_from_clause_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aliascolnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aliascolnames(); public: - void clear_from_clause(); - ::pg_query::Node* mutable_from_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_from_clause(); + const ::pg_query::Node& aliascolnames(int index) const; + ::pg_query::Node* add_aliascolnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + aliascolnames() const; + // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; + int ctecolnames_size() const; private: - const ::pg_query::Node& _internal_from_clause(int index) const; - ::pg_query::Node* _internal_add_from_clause(); - public: - const ::pg_query::Node& from_clause(int index) const; - ::pg_query::Node* add_from_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - from_clause() const; + int _internal_ctecolnames_size() const; - // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; - int group_clause_size() const; - private: - int _internal_group_clause_size() const; - public: - void clear_group_clause(); - ::pg_query::Node* mutable_group_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clause(); - private: - const ::pg_query::Node& _internal_group_clause(int index) const; - ::pg_query::Node* _internal_add_group_clause(); public: - const ::pg_query::Node& group_clause(int index) const; - ::pg_query::Node* add_group_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - group_clause() const; - - // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; - int window_clause_size() const; + void clear_ctecolnames() ; + ::pg_query::Node* mutable_ctecolnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctecolnames(); private: - int _internal_window_clause_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctecolnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctecolnames(); public: - void clear_window_clause(); - ::pg_query::Node* mutable_window_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_window_clause(); + const ::pg_query::Node& ctecolnames(int index) const; + ::pg_query::Node* add_ctecolnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctecolnames() const; + // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; + int ctecoltypes_size() const; private: - const ::pg_query::Node& _internal_window_clause(int index) const; - ::pg_query::Node* _internal_add_window_clause(); - public: - const ::pg_query::Node& window_clause(int index) const; - ::pg_query::Node* add_window_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - window_clause() const; + int _internal_ctecoltypes_size() const; - // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; - int values_lists_size() const; - private: - int _internal_values_lists_size() const; - public: - void clear_values_lists(); - ::pg_query::Node* mutable_values_lists(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_values_lists(); - private: - const ::pg_query::Node& _internal_values_lists(int index) const; - ::pg_query::Node* _internal_add_values_lists(); public: - const ::pg_query::Node& values_lists(int index) const; - ::pg_query::Node* add_values_lists(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - values_lists() const; - - // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; - int sort_clause_size() const; + void clear_ctecoltypes() ; + ::pg_query::Node* mutable_ctecoltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctecoltypes(); private: - int _internal_sort_clause_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctecoltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctecoltypes(); public: - void clear_sort_clause(); - ::pg_query::Node* mutable_sort_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_sort_clause(); + const ::pg_query::Node& ctecoltypes(int index) const; + ::pg_query::Node* add_ctecoltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctecoltypes() const; + // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; + int ctecoltypmods_size() const; private: - const ::pg_query::Node& _internal_sort_clause(int index) const; - ::pg_query::Node* _internal_add_sort_clause(); - public: - const ::pg_query::Node& sort_clause(int index) const; - ::pg_query::Node* add_sort_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - sort_clause() const; + int _internal_ctecoltypmods_size() const; - // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; - int locking_clause_size() const; - private: - int _internal_locking_clause_size() const; public: - void clear_locking_clause(); - ::pg_query::Node* mutable_locking_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_locking_clause(); - private: - const ::pg_query::Node& _internal_locking_clause(int index) const; - ::pg_query::Node* _internal_add_locking_clause(); - public: - const ::pg_query::Node& locking_clause(int index) const; - ::pg_query::Node* add_locking_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - locking_clause() const; - - // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; - bool has_into_clause() const; + void clear_ctecoltypmods() ; + ::pg_query::Node* mutable_ctecoltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctecoltypmods(); private: - bool _internal_has_into_clause() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctecoltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctecoltypmods(); public: - void clear_into_clause(); - const ::pg_query::IntoClause& into_clause() const; - PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); - ::pg_query::IntoClause* mutable_into_clause(); - void set_allocated_into_clause(::pg_query::IntoClause* into_clause); + const ::pg_query::Node& ctecoltypmods(int index) const; + ::pg_query::Node* add_ctecoltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctecoltypmods() const; + // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; + int ctecolcollations_size() const; private: - const ::pg_query::IntoClause& _internal_into_clause() const; - ::pg_query::IntoClause* _internal_mutable_into_clause(); - public: - void unsafe_arena_set_allocated_into_clause( - ::pg_query::IntoClause* into_clause); - ::pg_query::IntoClause* unsafe_arena_release_into_clause(); + int _internal_ctecolcollations_size() const; - // .pg_query.Node where_clause = 5 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); + void clear_ctecolcollations() ; + ::pg_query::Node* mutable_ctecolcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctecolcollations(); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctecolcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctecolcollations(); public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + const ::pg_query::Node& ctecolcollations(int index) const; + ::pg_query::Node* add_ctecolcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctecolcollations() const; + // string ctename = 1 [json_name = "ctename"]; + void clear_ctename() ; + const std::string& ctename() const; + template + void set_ctename(Arg_&& arg, Args_... args); + std::string* mutable_ctename(); + PROTOBUF_NODISCARD std::string* release_ctename(); + void set_allocated_ctename(std::string* value); - // .pg_query.Node having_clause = 8 [json_name = "havingClause"]; - bool has_having_clause() const; - private: - bool _internal_has_having_clause() const; - public: - void clear_having_clause(); - const ::pg_query::Node& having_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_having_clause(); - ::pg_query::Node* mutable_having_clause(); - void set_allocated_having_clause(::pg_query::Node* having_clause); private: - const ::pg_query::Node& _internal_having_clause() const; - ::pg_query::Node* _internal_mutable_having_clause(); - public: - void unsafe_arena_set_allocated_having_clause( - ::pg_query::Node* having_clause); - ::pg_query::Node* unsafe_arena_release_having_clause(); + const std::string& _internal_ctename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename( + const std::string& value); + std::string* _internal_mutable_ctename(); - // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; - bool has_limit_offset() const; - private: - bool _internal_has_limit_offset() const; - public: - void clear_limit_offset(); - const ::pg_query::Node& limit_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); - ::pg_query::Node* mutable_limit_offset(); - void set_allocated_limit_offset(::pg_query::Node* limit_offset); - private: - const ::pg_query::Node& _internal_limit_offset() const; - ::pg_query::Node* _internal_mutable_limit_offset(); public: - void unsafe_arena_set_allocated_limit_offset( - ::pg_query::Node* limit_offset); - ::pg_query::Node* unsafe_arena_release_limit_offset(); + // .pg_query.Node ctequery = 4 [json_name = "ctequery"]; + bool has_ctequery() const; + void clear_ctequery() ; + const ::pg_query::Node& ctequery() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_ctequery(); + ::pg_query::Node* mutable_ctequery(); + void set_allocated_ctequery(::pg_query::Node* value); + void unsafe_arena_set_allocated_ctequery(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_ctequery(); - // .pg_query.Node limit_count = 13 [json_name = "limitCount"]; - bool has_limit_count() const; - private: - bool _internal_has_limit_count() const; - public: - void clear_limit_count(); - const ::pg_query::Node& limit_count() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); - ::pg_query::Node* mutable_limit_count(); - void set_allocated_limit_count(::pg_query::Node* limit_count); private: - const ::pg_query::Node& _internal_limit_count() const; - ::pg_query::Node* _internal_mutable_limit_count(); - public: - void unsafe_arena_set_allocated_limit_count( - ::pg_query::Node* limit_count); - ::pg_query::Node* unsafe_arena_release_limit_count(); + const ::pg_query::Node& _internal_ctequery() const; + ::pg_query::Node* _internal_mutable_ctequery(); - // .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; - bool has_with_clause() const; - private: - bool _internal_has_with_clause() const; - public: - void clear_with_clause(); - const ::pg_query::WithClause& with_clause() const; - PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); - ::pg_query::WithClause* mutable_with_clause(); - void set_allocated_with_clause(::pg_query::WithClause* with_clause); - private: - const ::pg_query::WithClause& _internal_with_clause() const; - ::pg_query::WithClause* _internal_mutable_with_clause(); public: - void unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause); - ::pg_query::WithClause* unsafe_arena_release_with_clause(); + // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; + bool has_search_clause() const; + void clear_search_clause() ; + const ::pg_query::CTESearchClause& search_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_search_clause(); + ::pg_query::CTESearchClause* mutable_search_clause(); + void set_allocated_search_clause(::pg_query::CTESearchClause* value); + void unsafe_arena_set_allocated_search_clause(::pg_query::CTESearchClause* value); + ::pg_query::CTESearchClause* unsafe_arena_release_search_clause(); - // .pg_query.SelectStmt larg = 19 [json_name = "larg"]; - bool has_larg() const; - private: - bool _internal_has_larg() const; - public: - void clear_larg(); - const ::pg_query::SelectStmt& larg() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_larg(); - ::pg_query::SelectStmt* mutable_larg(); - void set_allocated_larg(::pg_query::SelectStmt* larg); private: - const ::pg_query::SelectStmt& _internal_larg() const; - ::pg_query::SelectStmt* _internal_mutable_larg(); + const ::pg_query::CTESearchClause& _internal_search_clause() const; + ::pg_query::CTESearchClause* _internal_mutable_search_clause(); + public: - void unsafe_arena_set_allocated_larg( - ::pg_query::SelectStmt* larg); - ::pg_query::SelectStmt* unsafe_arena_release_larg(); + // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; + bool has_cycle_clause() const; + void clear_cycle_clause() ; + const ::pg_query::CTECycleClause& cycle_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_cycle_clause(); + ::pg_query::CTECycleClause* mutable_cycle_clause(); + void set_allocated_cycle_clause(::pg_query::CTECycleClause* value); + void unsafe_arena_set_allocated_cycle_clause(::pg_query::CTECycleClause* value); + ::pg_query::CTECycleClause* unsafe_arena_release_cycle_clause(); - // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; - bool has_rarg() const; private: - bool _internal_has_rarg() const; + const ::pg_query::CTECycleClause& _internal_cycle_clause() const; + ::pg_query::CTECycleClause* _internal_mutable_cycle_clause(); + public: - void clear_rarg(); - const ::pg_query::SelectStmt& rarg() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_rarg(); - ::pg_query::SelectStmt* mutable_rarg(); - void set_allocated_rarg(::pg_query::SelectStmt* rarg); + // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; + void clear_ctematerialized() ; + ::pg_query::CTEMaterialize ctematerialized() const; + void set_ctematerialized(::pg_query::CTEMaterialize value); + private: - const ::pg_query::SelectStmt& _internal_rarg() const; - ::pg_query::SelectStmt* _internal_mutable_rarg(); + ::pg_query::CTEMaterialize _internal_ctematerialized() const; + void _internal_set_ctematerialized(::pg_query::CTEMaterialize value); + public: - void unsafe_arena_set_allocated_rarg( - ::pg_query::SelectStmt* rarg); - ::pg_query::SelectStmt* unsafe_arena_release_rarg(); + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool group_distinct = 7 [json_name = "groupDistinct"]; - void clear_group_distinct(); - bool group_distinct() const; - void set_group_distinct(bool value); private: - bool _internal_group_distinct() const; - void _internal_set_group_distinct(bool value); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + public: + // bool cterecursive = 8 [json_name = "cterecursive"]; + void clear_cterecursive() ; + bool cterecursive() const; + void set_cterecursive(bool value); - // bool all = 18 [json_name = "all"]; - void clear_all(); - bool all() const; - void set_all(bool value); private: - bool _internal_all() const; - void _internal_set_all(bool value); + bool _internal_cterecursive() const; + void _internal_set_cterecursive(bool value); + public: + // int32 cterefcount = 9 [json_name = "cterefcount"]; + void clear_cterefcount() ; + ::int32_t cterefcount() const; + void set_cterefcount(::int32_t value); - // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; - void clear_limit_option(); - ::pg_query::LimitOption limit_option() const; - void set_limit_option(::pg_query::LimitOption value); private: - ::pg_query::LimitOption _internal_limit_option() const; - void _internal_set_limit_option(::pg_query::LimitOption value); - public: + ::int32_t _internal_cterefcount() const; + void _internal_set_cterefcount(::int32_t value); - // .pg_query.SetOperation op = 17 [json_name = "op"]; - void clear_op(); - ::pg_query::SetOperation op() const; - void set_op(::pg_query::SetOperation value); - private: - ::pg_query::SetOperation _internal_op() const; - void _internal_set_op(::pg_query::SetOperation value); public: - - // @@protoc_insertion_point(class_scope:pg_query.SelectStmt) + // @@protoc_insertion_point(class_scope:pg_query.CommonTableExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 13, 8, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > distinct_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > from_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > group_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > window_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > values_lists_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > sort_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > locking_clause_; - ::pg_query::IntoClause* into_clause_; - ::pg_query::Node* where_clause_; - ::pg_query::Node* having_clause_; - ::pg_query::Node* limit_offset_; - ::pg_query::Node* limit_count_; - ::pg_query::WithClause* with_clause_; - ::pg_query::SelectStmt* larg_; - ::pg_query::SelectStmt* rarg_; - bool group_distinct_; - bool all_; - int limit_option_; - int op_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aliascolnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctecolnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctecoltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctecoltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctecolcollations_; + ::google::protobuf::internal::ArenaStringPtr ctename_; + ::pg_query::Node* ctequery_; + ::pg_query::CTESearchClause* search_clause_; + ::pg_query::CTECycleClause* cycle_clause_; + int ctematerialized_; + ::int32_t location_; + bool cterecursive_; + ::int32_t cterefcount_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ReturnStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ReturnStmt) */ { +class CompositeTypeStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CompositeTypeStmt) */ { public: - inline ReturnStmt() : ReturnStmt(nullptr) {} - ~ReturnStmt() override; - explicit PROTOBUF_CONSTEXPR ReturnStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CompositeTypeStmt() : CompositeTypeStmt(nullptr) {} + ~CompositeTypeStmt() override; + template + explicit PROTOBUF_CONSTEXPR CompositeTypeStmt(::google::protobuf::internal::ConstantInitialized); - ReturnStmt(const ReturnStmt& from); - ReturnStmt(ReturnStmt&& from) noexcept - : ReturnStmt() { + inline CompositeTypeStmt(const CompositeTypeStmt& from) + : CompositeTypeStmt(nullptr, from) {} + CompositeTypeStmt(CompositeTypeStmt&& from) noexcept + : CompositeTypeStmt() { *this = ::std::move(from); } - inline ReturnStmt& operator=(const ReturnStmt& from) { + inline CompositeTypeStmt& operator=(const CompositeTypeStmt& from) { CopyFrom(from); return *this; } - inline ReturnStmt& operator=(ReturnStmt&& from) noexcept { + inline CompositeTypeStmt& operator=(CompositeTypeStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -25199,154 +25976,198 @@ class ReturnStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReturnStmt& default_instance() { + static const CompositeTypeStmt& default_instance() { return *internal_default_instance(); } - static inline const ReturnStmt* internal_default_instance() { - return reinterpret_cast( - &_ReturnStmt_default_instance_); + static inline const CompositeTypeStmt* internal_default_instance() { + return reinterpret_cast( + &_CompositeTypeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 70; + 231; - friend void swap(ReturnStmt& a, ReturnStmt& b) { + friend void swap(CompositeTypeStmt& a, CompositeTypeStmt& b) { a.Swap(&b); } - inline void Swap(ReturnStmt* other) { + inline void Swap(CompositeTypeStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReturnStmt* other) { + void UnsafeArenaSwap(CompositeTypeStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ReturnStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CompositeTypeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ReturnStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ReturnStmt& from) { - ReturnStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CompositeTypeStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CompositeTypeStmt& from) { + CompositeTypeStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ReturnStmt* other); + void InternalSwap(CompositeTypeStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ReturnStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CompositeTypeStmt"; } protected: - explicit ReturnStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CompositeTypeStmt(::google::protobuf::Arena* arena); + CompositeTypeStmt(::google::protobuf::Arena* arena, const CompositeTypeStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kReturnvalFieldNumber = 1, + kColdeflistFieldNumber = 2, + kTypevarFieldNumber = 1, }; - // .pg_query.Node returnval = 1 [json_name = "returnval"]; - bool has_returnval() const; + // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"]; + int coldeflist_size() const; private: - bool _internal_has_returnval() const; + int _internal_coldeflist_size() const; + public: - void clear_returnval(); - const ::pg_query::Node& returnval() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_returnval(); - ::pg_query::Node* mutable_returnval(); - void set_allocated_returnval(::pg_query::Node* returnval); + void clear_coldeflist() ; + ::pg_query::Node* mutable_coldeflist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coldeflist(); private: - const ::pg_query::Node& _internal_returnval() const; - ::pg_query::Node* _internal_mutable_returnval(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldeflist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldeflist(); public: - void unsafe_arena_set_allocated_returnval( - ::pg_query::Node* returnval); - ::pg_query::Node* unsafe_arena_release_returnval(); + const ::pg_query::Node& coldeflist(int index) const; + ::pg_query::Node* add_coldeflist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coldeflist() const; + // .pg_query.RangeVar typevar = 1 [json_name = "typevar"]; + bool has_typevar() const; + void clear_typevar() ; + const ::pg_query::RangeVar& typevar() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_typevar(); + ::pg_query::RangeVar* mutable_typevar(); + void set_allocated_typevar(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_typevar(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_typevar(); - // @@protoc_insertion_point(class_scope:pg_query.ReturnStmt) + private: + const ::pg_query::RangeVar& _internal_typevar() const; + ::pg_query::RangeVar* _internal_mutable_typevar(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CompositeTypeStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* returnval_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldeflist_; + ::pg_query::RangeVar* typevar_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PLAssignStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PLAssignStmt) */ { +class Constraint final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Constraint) */ { public: - inline PLAssignStmt() : PLAssignStmt(nullptr) {} - ~PLAssignStmt() override; - explicit PROTOBUF_CONSTEXPR PLAssignStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Constraint() : Constraint(nullptr) {} + ~Constraint() override; + template + explicit PROTOBUF_CONSTEXPR Constraint(::google::protobuf::internal::ConstantInitialized); - PLAssignStmt(const PLAssignStmt& from); - PLAssignStmt(PLAssignStmt&& from) noexcept - : PLAssignStmt() { + inline Constraint(const Constraint& from) + : Constraint(nullptr, from) {} + Constraint(Constraint&& from) noexcept + : Constraint() { *this = ::std::move(from); } - inline PLAssignStmt& operator=(const PLAssignStmt& from) { + inline Constraint& operator=(const Constraint& from) { CopyFrom(from); return *this; } - inline PLAssignStmt& operator=(PLAssignStmt&& from) noexcept { + inline Constraint& operator=(Constraint&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -25356,212 +26177,666 @@ class PLAssignStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PLAssignStmt& default_instance() { + static const Constraint& default_instance() { return *internal_default_instance(); } - static inline const PLAssignStmt* internal_default_instance() { - return reinterpret_cast( - &_PLAssignStmt_default_instance_); + static inline const Constraint* internal_default_instance() { + return reinterpret_cast( + &_Constraint_default_instance_); } static constexpr int kIndexInFileMessages = - 71; + 166; - friend void swap(PLAssignStmt& a, PLAssignStmt& b) { + friend void swap(Constraint& a, Constraint& b) { a.Swap(&b); } - inline void Swap(PLAssignStmt* other) { + inline void Swap(Constraint* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PLAssignStmt* other) { + void UnsafeArenaSwap(Constraint* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PLAssignStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Constraint* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PLAssignStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PLAssignStmt& from) { - PLAssignStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Constraint& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Constraint& from) { + Constraint::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PLAssignStmt* other); + void InternalSwap(Constraint* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PLAssignStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Constraint"; } protected: - explicit PLAssignStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Constraint(::google::protobuf::Arena* arena); + Constraint(::google::protobuf::Arena* arena, const Constraint& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIndirectionFieldNumber = 2, - kNameFieldNumber = 1, - kValFieldNumber = 4, - kNnamesFieldNumber = 3, - kLocationFieldNumber = 5, + kKeysFieldNumber = 13, + kIncludingFieldNumber = 14, + kExclusionsFieldNumber = 15, + kOptionsFieldNumber = 16, + kFkAttrsFieldNumber = 23, + kPkAttrsFieldNumber = 24, + kFkDelSetColsFieldNumber = 28, + kOldConpfeqopFieldNumber = 29, + kConnameFieldNumber = 2, + kCookedExprFieldNumber = 9, + kGeneratedWhenFieldNumber = 10, + kIndexnameFieldNumber = 17, + kIndexspaceFieldNumber = 18, + kAccessMethodFieldNumber = 20, + kFkMatchtypeFieldNumber = 25, + kFkUpdActionFieldNumber = 26, + kFkDelActionFieldNumber = 27, + kRawExprFieldNumber = 8, + kWhereClauseFieldNumber = 21, + kPktableFieldNumber = 22, + kContypeFieldNumber = 1, + kDeferrableFieldNumber = 3, + kInitdeferredFieldNumber = 4, + kSkipValidationFieldNumber = 5, + kInitiallyValidFieldNumber = 6, + kInhcountFieldNumber = 11, + kIsNoInheritFieldNumber = 7, + kNullsNotDistinctFieldNumber = 12, + kResetDefaultTblspcFieldNumber = 19, + kOldPktableOidFieldNumber = 30, + kLocationFieldNumber = 31, }; - // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; - int indirection_size() const; + // repeated .pg_query.Node keys = 13 [json_name = "keys"]; + int keys_size() const; private: - int _internal_indirection_size() const; + int _internal_keys_size() const; + public: - void clear_indirection(); - ::pg_query::Node* mutable_indirection(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_indirection(); + void clear_keys() ; + ::pg_query::Node* mutable_keys(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_keys(); private: - const ::pg_query::Node& _internal_indirection(int index) const; - ::pg_query::Node* _internal_add_indirection(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_keys() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_keys(); public: - const ::pg_query::Node& indirection(int index) const; - ::pg_query::Node* add_indirection(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - indirection() const; + const ::pg_query::Node& keys(int index) const; + ::pg_query::Node* add_keys(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + keys() const; + // repeated .pg_query.Node including = 14 [json_name = "including"]; + int including_size() const; + private: + int _internal_including_size() const; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_including() ; + ::pg_query::Node* mutable_including(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_including(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_including() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_including(); public: + const ::pg_query::Node& including(int index) const; + ::pg_query::Node* add_including(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + including() const; + // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"]; + int exclusions_size() const; + private: + int _internal_exclusions_size() const; - // .pg_query.SelectStmt val = 4 [json_name = "val"]; - bool has_val() const; + public: + void clear_exclusions() ; + ::pg_query::Node* mutable_exclusions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exclusions(); private: - bool _internal_has_val() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exclusions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exclusions(); public: - void clear_val(); - const ::pg_query::SelectStmt& val() const; - PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_val(); - ::pg_query::SelectStmt* mutable_val(); - void set_allocated_val(::pg_query::SelectStmt* val); + const ::pg_query::Node& exclusions(int index) const; + ::pg_query::Node* add_exclusions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exclusions() const; + // repeated .pg_query.Node options = 16 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::SelectStmt& _internal_val() const; - ::pg_query::SelectStmt* _internal_mutable_val(); + int _internal_options_size() const; + public: - void unsafe_arena_set_allocated_val( - ::pg_query::SelectStmt* val); - ::pg_query::SelectStmt* unsafe_arena_release_val(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"]; + int fk_attrs_size() const; + private: + int _internal_fk_attrs_size() const; - // int32 nnames = 3 [json_name = "nnames"]; - void clear_nnames(); - int32_t nnames() const; - void set_nnames(int32_t value); + public: + void clear_fk_attrs() ; + ::pg_query::Node* mutable_fk_attrs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fk_attrs(); private: - int32_t _internal_nnames() const; - void _internal_set_nnames(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fk_attrs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fk_attrs(); public: + const ::pg_query::Node& fk_attrs(int index) const; + ::pg_query::Node* add_fk_attrs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fk_attrs() const; + // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"]; + int pk_attrs_size() const; + private: + int _internal_pk_attrs_size() const; - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); + public: + void clear_pk_attrs() ; + ::pg_query::Node* mutable_pk_attrs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_pk_attrs(); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_pk_attrs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_pk_attrs(); public: + const ::pg_query::Node& pk_attrs(int index) const; + ::pg_query::Node* add_pk_attrs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + pk_attrs() const; + // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"]; + int fk_del_set_cols_size() const; + private: + int _internal_fk_del_set_cols_size() const; - // @@protoc_insertion_point(class_scope:pg_query.PLAssignStmt) + public: + void clear_fk_del_set_cols() ; + ::pg_query::Node* mutable_fk_del_set_cols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fk_del_set_cols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fk_del_set_cols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fk_del_set_cols(); + public: + const ::pg_query::Node& fk_del_set_cols(int index) const; + ::pg_query::Node* add_fk_del_set_cols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fk_del_set_cols() const; + // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"]; + int old_conpfeqop_size() const; + private: + int _internal_old_conpfeqop_size() const; + + public: + void clear_old_conpfeqop() ; + ::pg_query::Node* mutable_old_conpfeqop(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_old_conpfeqop(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_old_conpfeqop() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_old_conpfeqop(); + public: + const ::pg_query::Node& old_conpfeqop(int index) const; + ::pg_query::Node* add_old_conpfeqop(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + old_conpfeqop() const; + // string conname = 2 [json_name = "conname"]; + void clear_conname() ; + const std::string& conname() const; + template + void set_conname(Arg_&& arg, Args_... args); + std::string* mutable_conname(); + PROTOBUF_NODISCARD std::string* release_conname(); + void set_allocated_conname(std::string* value); + + private: + const std::string& _internal_conname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conname( + const std::string& value); + std::string* _internal_mutable_conname(); + + public: + // string cooked_expr = 9 [json_name = "cooked_expr"]; + void clear_cooked_expr() ; + const std::string& cooked_expr() const; + template + void set_cooked_expr(Arg_&& arg, Args_... args); + std::string* mutable_cooked_expr(); + PROTOBUF_NODISCARD std::string* release_cooked_expr(); + void set_allocated_cooked_expr(std::string* value); + + private: + const std::string& _internal_cooked_expr() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_cooked_expr( + const std::string& value); + std::string* _internal_mutable_cooked_expr(); + + public: + // string generated_when = 10 [json_name = "generated_when"]; + void clear_generated_when() ; + const std::string& generated_when() const; + template + void set_generated_when(Arg_&& arg, Args_... args); + std::string* mutable_generated_when(); + PROTOBUF_NODISCARD std::string* release_generated_when(); + void set_allocated_generated_when(std::string* value); + + private: + const std::string& _internal_generated_when() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_generated_when( + const std::string& value); + std::string* _internal_mutable_generated_when(); + + public: + // string indexname = 17 [json_name = "indexname"]; + void clear_indexname() ; + const std::string& indexname() const; + template + void set_indexname(Arg_&& arg, Args_... args); + std::string* mutable_indexname(); + PROTOBUF_NODISCARD std::string* release_indexname(); + void set_allocated_indexname(std::string* value); + + private: + const std::string& _internal_indexname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexname( + const std::string& value); + std::string* _internal_mutable_indexname(); + + public: + // string indexspace = 18 [json_name = "indexspace"]; + void clear_indexspace() ; + const std::string& indexspace() const; + template + void set_indexspace(Arg_&& arg, Args_... args); + std::string* mutable_indexspace(); + PROTOBUF_NODISCARD std::string* release_indexspace(); + void set_allocated_indexspace(std::string* value); + + private: + const std::string& _internal_indexspace() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexspace( + const std::string& value); + std::string* _internal_mutable_indexspace(); + + public: + // string access_method = 20 [json_name = "access_method"]; + void clear_access_method() ; + const std::string& access_method() const; + template + void set_access_method(Arg_&& arg, Args_... args); + std::string* mutable_access_method(); + PROTOBUF_NODISCARD std::string* release_access_method(); + void set_allocated_access_method(std::string* value); + + private: + const std::string& _internal_access_method() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method( + const std::string& value); + std::string* _internal_mutable_access_method(); + + public: + // string fk_matchtype = 25 [json_name = "fk_matchtype"]; + void clear_fk_matchtype() ; + const std::string& fk_matchtype() const; + template + void set_fk_matchtype(Arg_&& arg, Args_... args); + std::string* mutable_fk_matchtype(); + PROTOBUF_NODISCARD std::string* release_fk_matchtype(); + void set_allocated_fk_matchtype(std::string* value); + + private: + const std::string& _internal_fk_matchtype() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_matchtype( + const std::string& value); + std::string* _internal_mutable_fk_matchtype(); + + public: + // string fk_upd_action = 26 [json_name = "fk_upd_action"]; + void clear_fk_upd_action() ; + const std::string& fk_upd_action() const; + template + void set_fk_upd_action(Arg_&& arg, Args_... args); + std::string* mutable_fk_upd_action(); + PROTOBUF_NODISCARD std::string* release_fk_upd_action(); + void set_allocated_fk_upd_action(std::string* value); + + private: + const std::string& _internal_fk_upd_action() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_upd_action( + const std::string& value); + std::string* _internal_mutable_fk_upd_action(); + + public: + // string fk_del_action = 27 [json_name = "fk_del_action"]; + void clear_fk_del_action() ; + const std::string& fk_del_action() const; + template + void set_fk_del_action(Arg_&& arg, Args_... args); + std::string* mutable_fk_del_action(); + PROTOBUF_NODISCARD std::string* release_fk_del_action(); + void set_allocated_fk_del_action(std::string* value); + + private: + const std::string& _internal_fk_del_action() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_del_action( + const std::string& value); + std::string* _internal_mutable_fk_del_action(); + + public: + // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"]; + bool has_raw_expr() const; + void clear_raw_expr() ; + const ::pg_query::Node& raw_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_raw_expr(); + ::pg_query::Node* mutable_raw_expr(); + void set_allocated_raw_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_raw_expr(); + + private: + const ::pg_query::Node& _internal_raw_expr() const; + ::pg_query::Node* _internal_mutable_raw_expr(); + + public: + // .pg_query.Node where_clause = 21 [json_name = "where_clause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + + private: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + + public: + // .pg_query.RangeVar pktable = 22 [json_name = "pktable"]; + bool has_pktable() const; + void clear_pktable() ; + const ::pg_query::RangeVar& pktable() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_pktable(); + ::pg_query::RangeVar* mutable_pktable(); + void set_allocated_pktable(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_pktable(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_pktable(); + + private: + const ::pg_query::RangeVar& _internal_pktable() const; + ::pg_query::RangeVar* _internal_mutable_pktable(); + + public: + // .pg_query.ConstrType contype = 1 [json_name = "contype"]; + void clear_contype() ; + ::pg_query::ConstrType contype() const; + void set_contype(::pg_query::ConstrType value); + + private: + ::pg_query::ConstrType _internal_contype() const; + void _internal_set_contype(::pg_query::ConstrType value); + + public: + // bool deferrable = 3 [json_name = "deferrable"]; + void clear_deferrable() ; + bool deferrable() const; + void set_deferrable(bool value); + + private: + bool _internal_deferrable() const; + void _internal_set_deferrable(bool value); + + public: + // bool initdeferred = 4 [json_name = "initdeferred"]; + void clear_initdeferred() ; + bool initdeferred() const; + void set_initdeferred(bool value); + + private: + bool _internal_initdeferred() const; + void _internal_set_initdeferred(bool value); + + public: + // bool skip_validation = 5 [json_name = "skip_validation"]; + void clear_skip_validation() ; + bool skip_validation() const; + void set_skip_validation(bool value); + + private: + bool _internal_skip_validation() const; + void _internal_set_skip_validation(bool value); + + public: + // bool initially_valid = 6 [json_name = "initially_valid"]; + void clear_initially_valid() ; + bool initially_valid() const; + void set_initially_valid(bool value); + + private: + bool _internal_initially_valid() const; + void _internal_set_initially_valid(bool value); + + public: + // int32 inhcount = 11 [json_name = "inhcount"]; + void clear_inhcount() ; + ::int32_t inhcount() const; + void set_inhcount(::int32_t value); + + private: + ::int32_t _internal_inhcount() const; + void _internal_set_inhcount(::int32_t value); + + public: + // bool is_no_inherit = 7 [json_name = "is_no_inherit"]; + void clear_is_no_inherit() ; + bool is_no_inherit() const; + void set_is_no_inherit(bool value); + + private: + bool _internal_is_no_inherit() const; + void _internal_set_is_no_inherit(bool value); + + public: + // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"]; + void clear_nulls_not_distinct() ; + bool nulls_not_distinct() const; + void set_nulls_not_distinct(bool value); + + private: + bool _internal_nulls_not_distinct() const; + void _internal_set_nulls_not_distinct(bool value); + + public: + // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"]; + void clear_reset_default_tblspc() ; + bool reset_default_tblspc() const; + void set_reset_default_tblspc(bool value); + + private: + bool _internal_reset_default_tblspc() const; + void _internal_set_reset_default_tblspc(bool value); + + public: + // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"]; + void clear_old_pktable_oid() ; + ::uint32_t old_pktable_oid() const; + void set_old_pktable_oid(::uint32_t value); + + private: + ::uint32_t _internal_old_pktable_oid() const; + void _internal_set_old_pktable_oid(::uint32_t value); + + public: + // int32 location = 31 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.Constraint) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 31, 11, + 154, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > indirection_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::SelectStmt* val_; - int32_t nnames_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > keys_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > including_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exclusions_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fk_attrs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > pk_attrs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fk_del_set_cols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > old_conpfeqop_; + ::google::protobuf::internal::ArenaStringPtr conname_; + ::google::protobuf::internal::ArenaStringPtr cooked_expr_; + ::google::protobuf::internal::ArenaStringPtr generated_when_; + ::google::protobuf::internal::ArenaStringPtr indexname_; + ::google::protobuf::internal::ArenaStringPtr indexspace_; + ::google::protobuf::internal::ArenaStringPtr access_method_; + ::google::protobuf::internal::ArenaStringPtr fk_matchtype_; + ::google::protobuf::internal::ArenaStringPtr fk_upd_action_; + ::google::protobuf::internal::ArenaStringPtr fk_del_action_; + ::pg_query::Node* raw_expr_; + ::pg_query::Node* where_clause_; + ::pg_query::RangeVar* pktable_; + int contype_; + bool deferrable_; + bool initdeferred_; + bool skip_validation_; + bool initially_valid_; + ::int32_t inhcount_; + bool is_no_inherit_; + bool nulls_not_distinct_; + bool reset_default_tblspc_; + ::uint32_t old_pktable_oid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTableStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableStmt) */ { +class ConstraintsSetStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ConstraintsSetStmt) */ { public: - inline AlterTableStmt() : AlterTableStmt(nullptr) {} - ~AlterTableStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTableStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ConstraintsSetStmt() : ConstraintsSetStmt(nullptr) {} + ~ConstraintsSetStmt() override; + template + explicit PROTOBUF_CONSTEXPR ConstraintsSetStmt(::google::protobuf::internal::ConstantInitialized); - AlterTableStmt(const AlterTableStmt& from); - AlterTableStmt(AlterTableStmt&& from) noexcept - : AlterTableStmt() { + inline ConstraintsSetStmt(const ConstraintsSetStmt& from) + : ConstraintsSetStmt(nullptr, from) {} + ConstraintsSetStmt(ConstraintsSetStmt&& from) noexcept + : ConstraintsSetStmt() { *this = ::std::move(from); } - inline AlterTableStmt& operator=(const AlterTableStmt& from) { + inline ConstraintsSetStmt& operator=(const ConstraintsSetStmt& from) { CopyFrom(from); return *this; } - inline AlterTableStmt& operator=(AlterTableStmt&& from) noexcept { + inline ConstraintsSetStmt& operator=(ConstraintsSetStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -25571,196 +26846,192 @@ class AlterTableStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTableStmt& default_instance() { + static const ConstraintsSetStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterTableStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTableStmt_default_instance_); + static inline const ConstraintsSetStmt* internal_default_instance() { + return reinterpret_cast( + &_ConstraintsSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 72; + 252; - friend void swap(AlterTableStmt& a, AlterTableStmt& b) { + friend void swap(ConstraintsSetStmt& a, ConstraintsSetStmt& b) { a.Swap(&b); } - inline void Swap(AlterTableStmt* other) { + inline void Swap(ConstraintsSetStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTableStmt* other) { + void UnsafeArenaSwap(ConstraintsSetStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTableStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ConstraintsSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTableStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTableStmt& from) { - AlterTableStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ConstraintsSetStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ConstraintsSetStmt& from) { + ConstraintsSetStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTableStmt* other); + void InternalSwap(ConstraintsSetStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTableStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ConstraintsSetStmt"; } protected: - explicit AlterTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ConstraintsSetStmt(::google::protobuf::Arena* arena); + ConstraintsSetStmt(::google::protobuf::Arena* arena, const ConstraintsSetStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCmdsFieldNumber = 2, - kRelationFieldNumber = 1, - kObjtypeFieldNumber = 3, - kMissingOkFieldNumber = 4, + kConstraintsFieldNumber = 1, + kDeferredFieldNumber = 2, }; - // repeated .pg_query.Node cmds = 2 [json_name = "cmds"]; - int cmds_size() const; - private: - int _internal_cmds_size() const; - public: - void clear_cmds(); - ::pg_query::Node* mutable_cmds(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cmds(); + // repeated .pg_query.Node constraints = 1 [json_name = "constraints"]; + int constraints_size() const; private: - const ::pg_query::Node& _internal_cmds(int index) const; - ::pg_query::Node* _internal_add_cmds(); - public: - const ::pg_query::Node& cmds(int index) const; - ::pg_query::Node* add_cmds(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cmds() const; + int _internal_constraints_size() const; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + void clear_constraints() ; + ::pg_query::Node* mutable_constraints(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraints(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraints() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraints(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const ::pg_query::Node& constraints(int index) const; + ::pg_query::Node* add_constraints(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraints() const; + // bool deferred = 2 [json_name = "deferred"]; + void clear_deferred() ; + bool deferred() const; + void set_deferred(bool value); - // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); - public: + bool _internal_deferred() const; + void _internal_set_deferred(bool value); - // bool missing_ok = 4 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); - private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.AlterTableStmt) + // @@protoc_insertion_point(class_scope:pg_query.ConstraintsSetStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cmds_; - ::pg_query::RangeVar* relation_; - int objtype_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraints_; + bool deferred_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTableCmd final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableCmd) */ { +class ConvertRowtypeExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ConvertRowtypeExpr) */ { public: - inline AlterTableCmd() : AlterTableCmd(nullptr) {} - ~AlterTableCmd() override; - explicit PROTOBUF_CONSTEXPR AlterTableCmd(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ConvertRowtypeExpr() : ConvertRowtypeExpr(nullptr) {} + ~ConvertRowtypeExpr() override; + template + explicit PROTOBUF_CONSTEXPR ConvertRowtypeExpr(::google::protobuf::internal::ConstantInitialized); - AlterTableCmd(const AlterTableCmd& from); - AlterTableCmd(AlterTableCmd&& from) noexcept - : AlterTableCmd() { + inline ConvertRowtypeExpr(const ConvertRowtypeExpr& from) + : ConvertRowtypeExpr(nullptr, from) {} + ConvertRowtypeExpr(ConvertRowtypeExpr&& from) noexcept + : ConvertRowtypeExpr() { *this = ::std::move(from); } - inline AlterTableCmd& operator=(const AlterTableCmd& from) { + inline ConvertRowtypeExpr& operator=(const ConvertRowtypeExpr& from) { CopyFrom(from); return *this; } - inline AlterTableCmd& operator=(AlterTableCmd&& from) noexcept { + inline ConvertRowtypeExpr& operator=(ConvertRowtypeExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -25770,245 +27041,231 @@ class AlterTableCmd final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTableCmd& default_instance() { + static const ConvertRowtypeExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterTableCmd* internal_default_instance() { - return reinterpret_cast( - &_AlterTableCmd_default_instance_); + static inline const ConvertRowtypeExpr* internal_default_instance() { + return reinterpret_cast( + &_ConvertRowtypeExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 73; + 39; - friend void swap(AlterTableCmd& a, AlterTableCmd& b) { + friend void swap(ConvertRowtypeExpr& a, ConvertRowtypeExpr& b) { a.Swap(&b); } - inline void Swap(AlterTableCmd* other) { + inline void Swap(ConvertRowtypeExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTableCmd* other) { + void UnsafeArenaSwap(ConvertRowtypeExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTableCmd* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ConvertRowtypeExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTableCmd& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTableCmd& from) { - AlterTableCmd::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ConvertRowtypeExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ConvertRowtypeExpr& from) { + ConvertRowtypeExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTableCmd* other); + void InternalSwap(ConvertRowtypeExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTableCmd"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ConvertRowtypeExpr"; } protected: - explicit AlterTableCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ConvertRowtypeExpr(::google::protobuf::Arena* arena); + ConvertRowtypeExpr(::google::protobuf::Arena* arena, const ConvertRowtypeExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 2, - kNewownerFieldNumber = 4, - kDefFieldNumber = 5, - kSubtypeFieldNumber = 1, - kNumFieldNumber = 3, - kBehaviorFieldNumber = 6, - kMissingOkFieldNumber = 7, - kRecurseFieldNumber = 8, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 3, + kConvertformatFieldNumber = 4, + kLocationFieldNumber = 5, }; - // string name = 2 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; - bool has_newowner() const; - private: - bool _internal_has_newowner() const; - public: - void clear_newowner(); - const ::pg_query::RoleSpec& newowner() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newowner(); - ::pg_query::RoleSpec* mutable_newowner(); - void set_allocated_newowner(::pg_query::RoleSpec* newowner); private: - const ::pg_query::RoleSpec& _internal_newowner() const; - ::pg_query::RoleSpec* _internal_mutable_newowner(); - public: - void unsafe_arena_set_allocated_newowner( - ::pg_query::RoleSpec* newowner); - ::pg_query::RoleSpec* unsafe_arena_release_newowner(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // .pg_query.Node def = 5 [json_name = "def"]; - bool has_def() const; - private: - bool _internal_has_def() const; - public: - void clear_def(); - const ::pg_query::Node& def() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_def(); - ::pg_query::Node* mutable_def(); - void set_allocated_def(::pg_query::Node* def); - private: - const ::pg_query::Node& _internal_def() const; - ::pg_query::Node* _internal_mutable_def(); public: - void unsafe_arena_set_allocated_def( - ::pg_query::Node* def); - ::pg_query::Node* unsafe_arena_release_def(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"]; - void clear_subtype(); - ::pg_query::AlterTableType subtype() const; - void set_subtype(::pg_query::AlterTableType value); private: - ::pg_query::AlterTableType _internal_subtype() const; - void _internal_set_subtype(::pg_query::AlterTableType value); - public: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); - // int32 num = 3 [json_name = "num"]; - void clear_num(); - int32_t num() const; - void set_num(int32_t value); - private: - int32_t _internal_num() const; - void _internal_set_num(int32_t value); public: + // uint32 resulttype = 3 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); - // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + public: + // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"]; + void clear_convertformat() ; + ::pg_query::CoercionForm convertformat() const; + void set_convertformat(::pg_query::CoercionForm value); - // bool missing_ok = 7 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + ::pg_query::CoercionForm _internal_convertformat() const; + void _internal_set_convertformat(::pg_query::CoercionForm value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool recurse = 8 [json_name = "recurse"]; - void clear_recurse(); - bool recurse() const; - void set_recurse(bool value); private: - bool _internal_recurse() const; - void _internal_set_recurse(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterTableCmd) + public: + // @@protoc_insertion_point(class_scope:pg_query.ConvertRowtypeExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::RoleSpec* newowner_; - ::pg_query::Node* def_; - int subtype_; - int32_t num_; - int behavior_; - bool missing_ok_; - bool recurse_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + int convertformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterDomainStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDomainStmt) */ { +class CopyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CopyStmt) */ { public: - inline AlterDomainStmt() : AlterDomainStmt(nullptr) {} - ~AlterDomainStmt() override; - explicit PROTOBUF_CONSTEXPR AlterDomainStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CopyStmt() : CopyStmt(nullptr) {} + ~CopyStmt() override; + template + explicit PROTOBUF_CONSTEXPR CopyStmt(::google::protobuf::internal::ConstantInitialized); - AlterDomainStmt(const AlterDomainStmt& from); - AlterDomainStmt(AlterDomainStmt&& from) noexcept - : AlterDomainStmt() { + inline CopyStmt(const CopyStmt& from) + : CopyStmt(nullptr, from) {} + CopyStmt(CopyStmt&& from) noexcept + : CopyStmt() { *this = ::std::move(from); } - inline AlterDomainStmt& operator=(const AlterDomainStmt& from) { + inline CopyStmt& operator=(const CopyStmt& from) { CopyFrom(from); return *this; } - inline AlterDomainStmt& operator=(AlterDomainStmt&& from) noexcept { + inline CopyStmt& operator=(CopyStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -26018,228 +27275,294 @@ class AlterDomainStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterDomainStmt& default_instance() { + static const CopyStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterDomainStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterDomainStmt_default_instance_); + static inline const CopyStmt* internal_default_instance() { + return reinterpret_cast( + &_CopyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 74; + 162; - friend void swap(AlterDomainStmt& a, AlterDomainStmt& b) { + friend void swap(CopyStmt& a, CopyStmt& b) { a.Swap(&b); } - inline void Swap(AlterDomainStmt* other) { + inline void Swap(CopyStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterDomainStmt* other) { + void UnsafeArenaSwap(CopyStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterDomainStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CopyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterDomainStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterDomainStmt& from) { - AlterDomainStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CopyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CopyStmt& from) { + CopyStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterDomainStmt* other); + void InternalSwap(CopyStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterDomainStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CopyStmt"; } protected: - explicit AlterDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CopyStmt(::google::protobuf::Arena* arena); + CopyStmt(::google::protobuf::Arena* arena, const CopyStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTypeNameFieldNumber = 2, - kSubtypeFieldNumber = 1, - kNameFieldNumber = 3, - kDefFieldNumber = 4, - kBehaviorFieldNumber = 5, - kMissingOkFieldNumber = 6, + kAttlistFieldNumber = 3, + kOptionsFieldNumber = 7, + kFilenameFieldNumber = 6, + kRelationFieldNumber = 1, + kQueryFieldNumber = 2, + kWhereClauseFieldNumber = 8, + kIsFromFieldNumber = 4, + kIsProgramFieldNumber = 5, }; - // repeated .pg_query.Node type_name = 2 [json_name = "typeName"]; - int type_name_size() const; + // repeated .pg_query.Node attlist = 3 [json_name = "attlist"]; + int attlist_size() const; private: - int _internal_type_name_size() const; + int _internal_attlist_size() const; + public: - void clear_type_name(); - ::pg_query::Node* mutable_type_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_type_name(); + void clear_attlist() ; + ::pg_query::Node* mutable_attlist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_attlist(); private: - const ::pg_query::Node& _internal_type_name(int index) const; - ::pg_query::Node* _internal_add_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_attlist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_attlist(); public: - const ::pg_query::Node& type_name(int index) const; - ::pg_query::Node* add_type_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - type_name() const; + const ::pg_query::Node& attlist(int index) const; + ::pg_query::Node* add_attlist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + attlist() const; + // repeated .pg_query.Node options = 7 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // string subtype = 1 [json_name = "subtype"]; - void clear_subtype(); - const std::string& subtype() const; - template - void set_subtype(ArgT0&& arg0, ArgT... args); - std::string* mutable_subtype(); - PROTOBUF_NODISCARD std::string* release_subtype(); - void set_allocated_subtype(std::string* subtype); + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const std::string& _internal_subtype() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subtype(const std::string& value); - std::string* _internal_mutable_subtype(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string filename = 6 [json_name = "filename"]; + void clear_filename() ; + const std::string& filename() const; + template + void set_filename(Arg_&& arg, Args_... args); + std::string* mutable_filename(); + PROTOBUF_NODISCARD std::string* release_filename(); + void set_allocated_filename(std::string* value); - // string name = 3 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const std::string& _internal_filename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_filename( + const std::string& value); + std::string* _internal_mutable_filename(); + public: + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.Node def = 4 [json_name = "def"]; - bool has_def() const; private: - bool _internal_has_def() const; + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: - void clear_def(); - const ::pg_query::Node& def() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_def(); - ::pg_query::Node* mutable_def(); - void set_allocated_def(::pg_query::Node* def); + // .pg_query.Node query = 2 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); + private: - const ::pg_query::Node& _internal_def() const; - ::pg_query::Node* _internal_mutable_def(); + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + public: - void unsafe_arena_set_allocated_def( - ::pg_query::Node* def); - ::pg_query::Node* unsafe_arena_release_def(); + // .pg_query.Node where_clause = 8 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); - // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + public: + // bool is_from = 4 [json_name = "is_from"]; + void clear_is_from() ; + bool is_from() const; + void set_is_from(bool value); - // bool missing_ok = 6 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + bool _internal_is_from() const; + void _internal_set_is_from(bool value); + public: + // bool is_program = 5 [json_name = "is_program"]; + void clear_is_program() ; + bool is_program() const; + void set_is_program(bool value); - // @@protoc_insertion_point(class_scope:pg_query.AlterDomainStmt) + private: + bool _internal_is_program() const; + void _internal_set_is_program(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CopyStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 5, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > type_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subtype_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* def_; - int behavior_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > attlist_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr filename_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* query_; + ::pg_query::Node* where_clause_; + bool is_from_; + bool is_program_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SetOperationStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SetOperationStmt) */ { +class CreateAmStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateAmStmt) */ { public: - inline SetOperationStmt() : SetOperationStmt(nullptr) {} - ~SetOperationStmt() override; - explicit PROTOBUF_CONSTEXPR SetOperationStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateAmStmt() : CreateAmStmt(nullptr) {} + ~CreateAmStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateAmStmt(::google::protobuf::internal::ConstantInitialized); - SetOperationStmt(const SetOperationStmt& from); - SetOperationStmt(SetOperationStmt&& from) noexcept - : SetOperationStmt() { + inline CreateAmStmt(const CreateAmStmt& from) + : CreateAmStmt(nullptr, from) {} + CreateAmStmt(CreateAmStmt&& from) noexcept + : CreateAmStmt() { *this = ::std::move(from); } - inline SetOperationStmt& operator=(const SetOperationStmt& from) { + inline CreateAmStmt& operator=(const CreateAmStmt& from) { CopyFrom(from); return *this; } - inline SetOperationStmt& operator=(SetOperationStmt&& from) noexcept { + inline CreateAmStmt& operator=(CreateAmStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -26249,276 +27572,216 @@ class SetOperationStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SetOperationStmt& default_instance() { + static const CreateAmStmt& default_instance() { return *internal_default_instance(); } - static inline const SetOperationStmt* internal_default_instance() { - return reinterpret_cast( - &_SetOperationStmt_default_instance_); + static inline const CreateAmStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateAmStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 75; + 185; - friend void swap(SetOperationStmt& a, SetOperationStmt& b) { + friend void swap(CreateAmStmt& a, CreateAmStmt& b) { a.Swap(&b); } - inline void Swap(SetOperationStmt* other) { + inline void Swap(CreateAmStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SetOperationStmt* other) { + void UnsafeArenaSwap(CreateAmStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SetOperationStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateAmStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SetOperationStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SetOperationStmt& from) { - SetOperationStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateAmStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateAmStmt& from) { + CreateAmStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SetOperationStmt* other); + void InternalSwap(CreateAmStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SetOperationStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateAmStmt"; } protected: - explicit SetOperationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateAmStmt(::google::protobuf::Arena* arena); + CreateAmStmt(::google::protobuf::Arena* arena, const CreateAmStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColTypesFieldNumber = 5, - kColTypmodsFieldNumber = 6, - kColCollationsFieldNumber = 7, - kGroupClausesFieldNumber = 8, - kLargFieldNumber = 3, - kRargFieldNumber = 4, - kOpFieldNumber = 1, - kAllFieldNumber = 2, + kHandlerNameFieldNumber = 2, + kAmnameFieldNumber = 1, + kAmtypeFieldNumber = 3, }; - // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; - int col_types_size() const; - private: - int _internal_col_types_size() const; - public: - void clear_col_types(); - ::pg_query::Node* mutable_col_types(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_col_types(); + // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"]; + int handler_name_size() const; private: - const ::pg_query::Node& _internal_col_types(int index) const; - ::pg_query::Node* _internal_add_col_types(); - public: - const ::pg_query::Node& col_types(int index) const; - ::pg_query::Node* add_col_types(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - col_types() const; + int _internal_handler_name_size() const; - // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; - int col_typmods_size() const; - private: - int _internal_col_typmods_size() const; public: - void clear_col_typmods(); - ::pg_query::Node* mutable_col_typmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_col_typmods(); + void clear_handler_name() ; + ::pg_query::Node* mutable_handler_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_handler_name(); private: - const ::pg_query::Node& _internal_col_typmods(int index) const; - ::pg_query::Node* _internal_add_col_typmods(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_handler_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_handler_name(); public: - const ::pg_query::Node& col_typmods(int index) const; - ::pg_query::Node* add_col_typmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - col_typmods() const; + const ::pg_query::Node& handler_name(int index) const; + ::pg_query::Node* add_handler_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + handler_name() const; + // string amname = 1 [json_name = "amname"]; + void clear_amname() ; + const std::string& amname() const; + template + void set_amname(Arg_&& arg, Args_... args); + std::string* mutable_amname(); + PROTOBUF_NODISCARD std::string* release_amname(); + void set_allocated_amname(std::string* value); - // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; - int col_collations_size() const; - private: - int _internal_col_collations_size() const; - public: - void clear_col_collations(); - ::pg_query::Node* mutable_col_collations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_col_collations(); private: - const ::pg_query::Node& _internal_col_collations(int index) const; - ::pg_query::Node* _internal_add_col_collations(); + const std::string& _internal_amname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname( + const std::string& value); + std::string* _internal_mutable_amname(); + public: - const ::pg_query::Node& col_collations(int index) const; - ::pg_query::Node* add_col_collations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - col_collations() const; + // string amtype = 3 [json_name = "amtype"]; + void clear_amtype() ; + const std::string& amtype() const; + template + void set_amtype(Arg_&& arg, Args_... args); + std::string* mutable_amtype(); + PROTOBUF_NODISCARD std::string* release_amtype(); + void set_allocated_amtype(std::string* value); - // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; - int group_clauses_size() const; private: - int _internal_group_clauses_size() const; + const std::string& _internal_amtype() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_amtype( + const std::string& value); + std::string* _internal_mutable_amtype(); + public: - void clear_group_clauses(); - ::pg_query::Node* mutable_group_clauses(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_group_clauses(); - private: - const ::pg_query::Node& _internal_group_clauses(int index) const; - ::pg_query::Node* _internal_add_group_clauses(); - public: - const ::pg_query::Node& group_clauses(int index) const; - ::pg_query::Node* add_group_clauses(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - group_clauses() const; - - // .pg_query.Node larg = 3 [json_name = "larg"]; - bool has_larg() const; - private: - bool _internal_has_larg() const; - public: - void clear_larg(); - const ::pg_query::Node& larg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); - ::pg_query::Node* mutable_larg(); - void set_allocated_larg(::pg_query::Node* larg); - private: - const ::pg_query::Node& _internal_larg() const; - ::pg_query::Node* _internal_mutable_larg(); - public: - void unsafe_arena_set_allocated_larg( - ::pg_query::Node* larg); - ::pg_query::Node* unsafe_arena_release_larg(); - - // .pg_query.Node rarg = 4 [json_name = "rarg"]; - bool has_rarg() const; - private: - bool _internal_has_rarg() const; - public: - void clear_rarg(); - const ::pg_query::Node& rarg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); - ::pg_query::Node* mutable_rarg(); - void set_allocated_rarg(::pg_query::Node* rarg); - private: - const ::pg_query::Node& _internal_rarg() const; - ::pg_query::Node* _internal_mutable_rarg(); - public: - void unsafe_arena_set_allocated_rarg( - ::pg_query::Node* rarg); - ::pg_query::Node* unsafe_arena_release_rarg(); - - // .pg_query.SetOperation op = 1 [json_name = "op"]; - void clear_op(); - ::pg_query::SetOperation op() const; - void set_op(::pg_query::SetOperation value); - private: - ::pg_query::SetOperation _internal_op() const; - void _internal_set_op(::pg_query::SetOperation value); - public: - - // bool all = 2 [json_name = "all"]; - void clear_all(); - bool all() const; - void set_all(bool value); - private: - bool _internal_all() const; - void _internal_set_all(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.SetOperationStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateAmStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > col_types_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > col_typmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > col_collations_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > group_clauses_; - ::pg_query::Node* larg_; - ::pg_query::Node* rarg_; - int op_; - bool all_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > handler_name_; + ::google::protobuf::internal::ArenaStringPtr amname_; + ::google::protobuf::internal::ArenaStringPtr amtype_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class GrantStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.GrantStmt) */ { +class CreateCastStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateCastStmt) */ { public: - inline GrantStmt() : GrantStmt(nullptr) {} - ~GrantStmt() override; - explicit PROTOBUF_CONSTEXPR GrantStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateCastStmt() : CreateCastStmt(nullptr) {} + ~CreateCastStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateCastStmt(::google::protobuf::internal::ConstantInitialized); - GrantStmt(const GrantStmt& from); - GrantStmt(GrantStmt&& from) noexcept - : GrantStmt() { + inline CreateCastStmt(const CreateCastStmt& from) + : CreateCastStmt(nullptr, from) {} + CreateCastStmt(CreateCastStmt&& from) noexcept + : CreateCastStmt() { *this = ::std::move(from); } - inline GrantStmt& operator=(const GrantStmt& from) { + inline CreateCastStmt& operator=(const CreateCastStmt& from) { CopyFrom(from); return *this; } - inline GrantStmt& operator=(GrantStmt&& from) noexcept { + inline CreateCastStmt& operator=(CreateCastStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -26528,269 +27791,236 @@ class GrantStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GrantStmt& default_instance() { + static const CreateCastStmt& default_instance() { return *internal_default_instance(); } - static inline const GrantStmt* internal_default_instance() { - return reinterpret_cast( - &_GrantStmt_default_instance_); + static inline const CreateCastStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateCastStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 76; + 255; - friend void swap(GrantStmt& a, GrantStmt& b) { + friend void swap(CreateCastStmt& a, CreateCastStmt& b) { a.Swap(&b); } - inline void Swap(GrantStmt* other) { + inline void Swap(CreateCastStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GrantStmt* other) { + void UnsafeArenaSwap(CreateCastStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - GrantStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateCastStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GrantStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const GrantStmt& from) { - GrantStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateCastStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateCastStmt& from) { + CreateCastStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(GrantStmt* other); + void InternalSwap(CreateCastStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.GrantStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateCastStmt"; } protected: - explicit GrantStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateCastStmt(::google::protobuf::Arena* arena); + CreateCastStmt(::google::protobuf::Arena* arena, const CreateCastStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kObjectsFieldNumber = 4, - kPrivilegesFieldNumber = 5, - kGranteesFieldNumber = 6, - kGrantorFieldNumber = 8, - kTargtypeFieldNumber = 2, - kObjtypeFieldNumber = 3, - kIsGrantFieldNumber = 1, - kGrantOptionFieldNumber = 7, - kBehaviorFieldNumber = 9, + kSourcetypeFieldNumber = 1, + kTargettypeFieldNumber = 2, + kFuncFieldNumber = 3, + kContextFieldNumber = 4, + kInoutFieldNumber = 5, }; - // repeated .pg_query.Node objects = 4 [json_name = "objects"]; - int objects_size() const; - private: - int _internal_objects_size() const; - public: - void clear_objects(); - ::pg_query::Node* mutable_objects(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_objects(); - private: - const ::pg_query::Node& _internal_objects(int index) const; - ::pg_query::Node* _internal_add_objects(); - public: - const ::pg_query::Node& objects(int index) const; - ::pg_query::Node* add_objects(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - objects() const; + // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"]; + bool has_sourcetype() const; + void clear_sourcetype() ; + const ::pg_query::TypeName& sourcetype() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_sourcetype(); + ::pg_query::TypeName* mutable_sourcetype(); + void set_allocated_sourcetype(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_sourcetype(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_sourcetype(); - // repeated .pg_query.Node privileges = 5 [json_name = "privileges"]; - int privileges_size() const; - private: - int _internal_privileges_size() const; - public: - void clear_privileges(); - ::pg_query::Node* mutable_privileges(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_privileges(); private: - const ::pg_query::Node& _internal_privileges(int index) const; - ::pg_query::Node* _internal_add_privileges(); - public: - const ::pg_query::Node& privileges(int index) const; - ::pg_query::Node* add_privileges(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - privileges() const; + const ::pg_query::TypeName& _internal_sourcetype() const; + ::pg_query::TypeName* _internal_mutable_sourcetype(); - // repeated .pg_query.Node grantees = 6 [json_name = "grantees"]; - int grantees_size() const; - private: - int _internal_grantees_size() const; public: - void clear_grantees(); - ::pg_query::Node* mutable_grantees(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_grantees(); - private: - const ::pg_query::Node& _internal_grantees(int index) const; - ::pg_query::Node* _internal_add_grantees(); - public: - const ::pg_query::Node& grantees(int index) const; - ::pg_query::Node* add_grantees(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - grantees() const; + // .pg_query.TypeName targettype = 2 [json_name = "targettype"]; + bool has_targettype() const; + void clear_targettype() ; + const ::pg_query::TypeName& targettype() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_targettype(); + ::pg_query::TypeName* mutable_targettype(); + void set_allocated_targettype(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_targettype(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_targettype(); - // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"]; - bool has_grantor() const; - private: - bool _internal_has_grantor() const; - public: - void clear_grantor(); - const ::pg_query::RoleSpec& grantor() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_grantor(); - ::pg_query::RoleSpec* mutable_grantor(); - void set_allocated_grantor(::pg_query::RoleSpec* grantor); private: - const ::pg_query::RoleSpec& _internal_grantor() const; - ::pg_query::RoleSpec* _internal_mutable_grantor(); - public: - void unsafe_arena_set_allocated_grantor( - ::pg_query::RoleSpec* grantor); - ::pg_query::RoleSpec* unsafe_arena_release_grantor(); + const ::pg_query::TypeName& _internal_targettype() const; + ::pg_query::TypeName* _internal_mutable_targettype(); - // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"]; - void clear_targtype(); - ::pg_query::GrantTargetType targtype() const; - void set_targtype(::pg_query::GrantTargetType value); - private: - ::pg_query::GrantTargetType _internal_targtype() const; - void _internal_set_targtype(::pg_query::GrantTargetType value); public: + // .pg_query.ObjectWithArgs func = 3 [json_name = "func"]; + bool has_func() const; + void clear_func() ; + const ::pg_query::ObjectWithArgs& func() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_func(); + ::pg_query::ObjectWithArgs* mutable_func(); + void set_allocated_func(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_func(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_func(); - // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); - public: + const ::pg_query::ObjectWithArgs& _internal_func() const; + ::pg_query::ObjectWithArgs* _internal_mutable_func(); - // bool is_grant = 1 [json_name = "is_grant"]; - void clear_is_grant(); - bool is_grant() const; - void set_is_grant(bool value); - private: - bool _internal_is_grant() const; - void _internal_set_is_grant(bool value); public: + // .pg_query.CoercionContext context = 4 [json_name = "context"]; + void clear_context() ; + ::pg_query::CoercionContext context() const; + void set_context(::pg_query::CoercionContext value); - // bool grant_option = 7 [json_name = "grant_option"]; - void clear_grant_option(); - bool grant_option() const; - void set_grant_option(bool value); private: - bool _internal_grant_option() const; - void _internal_set_grant_option(bool value); + ::pg_query::CoercionContext _internal_context() const; + void _internal_set_context(::pg_query::CoercionContext value); + public: + // bool inout = 5 [json_name = "inout"]; + void clear_inout() ; + bool inout() const; + void set_inout(bool value); - // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); - public: + bool _internal_inout() const; + void _internal_set_inout(bool value); - // @@protoc_insertion_point(class_scope:pg_query.GrantStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateCastStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > objects_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > privileges_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > grantees_; - ::pg_query::RoleSpec* grantor_; - int targtype_; - int objtype_; - bool is_grant_; - bool grant_option_; - int behavior_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::TypeName* sourcetype_; + ::pg_query::TypeName* targettype_; + ::pg_query::ObjectWithArgs* func_; + int context_; + bool inout_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class GrantRoleStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.GrantRoleStmt) */ { +class CreateConversionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateConversionStmt) */ { public: - inline GrantRoleStmt() : GrantRoleStmt(nullptr) {} - ~GrantRoleStmt() override; - explicit PROTOBUF_CONSTEXPR GrantRoleStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateConversionStmt() : CreateConversionStmt(nullptr) {} + ~CreateConversionStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateConversionStmt(::google::protobuf::internal::ConstantInitialized); - GrantRoleStmt(const GrantRoleStmt& from); - GrantRoleStmt(GrantRoleStmt&& from) noexcept - : GrantRoleStmt() { + inline CreateConversionStmt(const CreateConversionStmt& from) + : CreateConversionStmt(nullptr, from) {} + CreateConversionStmt(CreateConversionStmt&& from) noexcept + : CreateConversionStmt() { *this = ::std::move(from); } - inline GrantRoleStmt& operator=(const GrantRoleStmt& from) { + inline CreateConversionStmt& operator=(const CreateConversionStmt& from) { CopyFrom(from); return *this; } - inline GrantRoleStmt& operator=(GrantRoleStmt&& from) noexcept { + inline CreateConversionStmt& operator=(CreateConversionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -26800,227 +28030,248 @@ class GrantRoleStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GrantRoleStmt& default_instance() { + static const CreateConversionStmt& default_instance() { return *internal_default_instance(); } - static inline const GrantRoleStmt* internal_default_instance() { - return reinterpret_cast( - &_GrantRoleStmt_default_instance_); + static inline const CreateConversionStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateConversionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 77; + 254; - friend void swap(GrantRoleStmt& a, GrantRoleStmt& b) { + friend void swap(CreateConversionStmt& a, CreateConversionStmt& b) { a.Swap(&b); } - inline void Swap(GrantRoleStmt* other) { + inline void Swap(CreateConversionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GrantRoleStmt* other) { + void UnsafeArenaSwap(CreateConversionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - GrantRoleStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateConversionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GrantRoleStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const GrantRoleStmt& from) { - GrantRoleStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateConversionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateConversionStmt& from) { + CreateConversionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(GrantRoleStmt* other); + void InternalSwap(CreateConversionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.GrantRoleStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateConversionStmt"; } protected: - explicit GrantRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateConversionStmt(::google::protobuf::Arena* arena); + CreateConversionStmt(::google::protobuf::Arena* arena, const CreateConversionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kGrantedRolesFieldNumber = 1, - kGranteeRolesFieldNumber = 2, - kGrantorFieldNumber = 5, - kIsGrantFieldNumber = 3, - kAdminOptFieldNumber = 4, - kBehaviorFieldNumber = 6, + kConversionNameFieldNumber = 1, + kFuncNameFieldNumber = 4, + kForEncodingNameFieldNumber = 2, + kToEncodingNameFieldNumber = 3, + kDefFieldNumber = 5, }; - // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"]; - int granted_roles_size() const; - private: - int _internal_granted_roles_size() const; - public: - void clear_granted_roles(); - ::pg_query::Node* mutable_granted_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_granted_roles(); + // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"]; + int conversion_name_size() const; private: - const ::pg_query::Node& _internal_granted_roles(int index) const; - ::pg_query::Node* _internal_add_granted_roles(); - public: - const ::pg_query::Node& granted_roles(int index) const; - ::pg_query::Node* add_granted_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - granted_roles() const; + int _internal_conversion_name_size() const; - // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"]; - int grantee_roles_size() const; - private: - int _internal_grantee_roles_size() const; public: - void clear_grantee_roles(); - ::pg_query::Node* mutable_grantee_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_grantee_roles(); + void clear_conversion_name() ; + ::pg_query::Node* mutable_conversion_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_conversion_name(); private: - const ::pg_query::Node& _internal_grantee_roles(int index) const; - ::pg_query::Node* _internal_add_grantee_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_conversion_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_conversion_name(); public: - const ::pg_query::Node& grantee_roles(int index) const; - ::pg_query::Node* add_grantee_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - grantee_roles() const; - - // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"]; - bool has_grantor() const; + const ::pg_query::Node& conversion_name(int index) const; + ::pg_query::Node* add_conversion_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + conversion_name() const; + // repeated .pg_query.Node func_name = 4 [json_name = "func_name"]; + int func_name_size() const; private: - bool _internal_has_grantor() const; + int _internal_func_name_size() const; + public: - void clear_grantor(); - const ::pg_query::RoleSpec& grantor() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_grantor(); - ::pg_query::RoleSpec* mutable_grantor(); - void set_allocated_grantor(::pg_query::RoleSpec* grantor); + void clear_func_name() ; + ::pg_query::Node* mutable_func_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_func_name(); private: - const ::pg_query::RoleSpec& _internal_grantor() const; - ::pg_query::RoleSpec* _internal_mutable_grantor(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_func_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_func_name(); public: - void unsafe_arena_set_allocated_grantor( - ::pg_query::RoleSpec* grantor); - ::pg_query::RoleSpec* unsafe_arena_release_grantor(); + const ::pg_query::Node& func_name(int index) const; + ::pg_query::Node* add_func_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + func_name() const; + // string for_encoding_name = 2 [json_name = "for_encoding_name"]; + void clear_for_encoding_name() ; + const std::string& for_encoding_name() const; + template + void set_for_encoding_name(Arg_&& arg, Args_... args); + std::string* mutable_for_encoding_name(); + PROTOBUF_NODISCARD std::string* release_for_encoding_name(); + void set_allocated_for_encoding_name(std::string* value); - // bool is_grant = 3 [json_name = "is_grant"]; - void clear_is_grant(); - bool is_grant() const; - void set_is_grant(bool value); private: - bool _internal_is_grant() const; - void _internal_set_is_grant(bool value); + const std::string& _internal_for_encoding_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_for_encoding_name( + const std::string& value); + std::string* _internal_mutable_for_encoding_name(); + public: + // string to_encoding_name = 3 [json_name = "to_encoding_name"]; + void clear_to_encoding_name() ; + const std::string& to_encoding_name() const; + template + void set_to_encoding_name(Arg_&& arg, Args_... args); + std::string* mutable_to_encoding_name(); + PROTOBUF_NODISCARD std::string* release_to_encoding_name(); + void set_allocated_to_encoding_name(std::string* value); - // bool admin_opt = 4 [json_name = "admin_opt"]; - void clear_admin_opt(); - bool admin_opt() const; - void set_admin_opt(bool value); private: - bool _internal_admin_opt() const; - void _internal_set_admin_opt(bool value); + const std::string& _internal_to_encoding_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_to_encoding_name( + const std::string& value); + std::string* _internal_mutable_to_encoding_name(); + public: + // bool def = 5 [json_name = "def"]; + void clear_def() ; + bool def() const; + void set_def(bool value); - // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); - public: + bool _internal_def() const; + void _internal_set_def(bool value); - // @@protoc_insertion_point(class_scope:pg_query.GrantRoleStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateConversionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 71, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > granted_roles_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > grantee_roles_; - ::pg_query::RoleSpec* grantor_; - bool is_grant_; - bool admin_opt_; - int behavior_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > conversion_name_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > func_name_; + ::google::protobuf::internal::ArenaStringPtr for_encoding_name_; + ::google::protobuf::internal::ArenaStringPtr to_encoding_name_; + bool def_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterDefaultPrivilegesStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDefaultPrivilegesStmt) */ { +class CreateDomainStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateDomainStmt) */ { public: - inline AlterDefaultPrivilegesStmt() : AlterDefaultPrivilegesStmt(nullptr) {} - ~AlterDefaultPrivilegesStmt() override; - explicit PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateDomainStmt() : CreateDomainStmt(nullptr) {} + ~CreateDomainStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateDomainStmt(::google::protobuf::internal::ConstantInitialized); - AlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt& from); - AlterDefaultPrivilegesStmt(AlterDefaultPrivilegesStmt&& from) noexcept - : AlterDefaultPrivilegesStmt() { + inline CreateDomainStmt(const CreateDomainStmt& from) + : CreateDomainStmt(nullptr, from) {} + CreateDomainStmt(CreateDomainStmt&& from) noexcept + : CreateDomainStmt() { *this = ::std::move(from); } - inline AlterDefaultPrivilegesStmt& operator=(const AlterDefaultPrivilegesStmt& from) { + inline CreateDomainStmt& operator=(const CreateDomainStmt& from) { CopyFrom(from); return *this; } - inline AlterDefaultPrivilegesStmt& operator=(AlterDefaultPrivilegesStmt&& from) noexcept { + inline CreateDomainStmt& operator=(CreateDomainStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -27030,174 +28281,235 @@ class AlterDefaultPrivilegesStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterDefaultPrivilegesStmt& default_instance() { + static const CreateDomainStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterDefaultPrivilegesStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterDefaultPrivilegesStmt_default_instance_); + static inline const CreateDomainStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateDomainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 78; + 197; - friend void swap(AlterDefaultPrivilegesStmt& a, AlterDefaultPrivilegesStmt& b) { + friend void swap(CreateDomainStmt& a, CreateDomainStmt& b) { a.Swap(&b); } - inline void Swap(AlterDefaultPrivilegesStmt* other) { + inline void Swap(CreateDomainStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterDefaultPrivilegesStmt* other) { + void UnsafeArenaSwap(CreateDomainStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterDefaultPrivilegesStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateDomainStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterDefaultPrivilegesStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterDefaultPrivilegesStmt& from) { - AlterDefaultPrivilegesStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateDomainStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateDomainStmt& from) { + CreateDomainStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterDefaultPrivilegesStmt* other); + void InternalSwap(CreateDomainStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterDefaultPrivilegesStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateDomainStmt"; } protected: - explicit AlterDefaultPrivilegesStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateDomainStmt(::google::protobuf::Arena* arena); + CreateDomainStmt(::google::protobuf::Arena* arena, const CreateDomainStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 1, - kActionFieldNumber = 2, + kDomainnameFieldNumber = 1, + kConstraintsFieldNumber = 4, + kTypeNameFieldNumber = 2, + kCollClauseFieldNumber = 3, }; - // repeated .pg_query.Node options = 1 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node domainname = 1 [json_name = "domainname"]; + int domainname_size() const; private: - int _internal_options_size() const; + int _internal_domainname_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_domainname() ; + ::pg_query::Node* mutable_domainname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_domainname(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_domainname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_domainname(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& domainname(int index) const; + ::pg_query::Node* add_domainname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + domainname() const; + // repeated .pg_query.Node constraints = 4 [json_name = "constraints"]; + int constraints_size() const; + private: + int _internal_constraints_size() const; - // .pg_query.GrantStmt action = 2 [json_name = "action"]; - bool has_action() const; + public: + void clear_constraints() ; + ::pg_query::Node* mutable_constraints(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraints(); private: - bool _internal_has_action() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraints() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraints(); public: - void clear_action(); - const ::pg_query::GrantStmt& action() const; - PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_action(); - ::pg_query::GrantStmt* mutable_action(); - void set_allocated_action(::pg_query::GrantStmt* action); + const ::pg_query::Node& constraints(int index) const; + ::pg_query::Node* add_constraints(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraints() const; + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + private: - const ::pg_query::GrantStmt& _internal_action() const; - ::pg_query::GrantStmt* _internal_mutable_action(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: - void unsafe_arena_set_allocated_action( - ::pg_query::GrantStmt* action); - ::pg_query::GrantStmt* unsafe_arena_release_action(); + // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"]; + bool has_coll_clause() const; + void clear_coll_clause() ; + const ::pg_query::CollateClause& coll_clause() const; + PROTOBUF_NODISCARD ::pg_query::CollateClause* release_coll_clause(); + ::pg_query::CollateClause* mutable_coll_clause(); + void set_allocated_coll_clause(::pg_query::CollateClause* value); + void unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value); + ::pg_query::CollateClause* unsafe_arena_release_coll_clause(); - // @@protoc_insertion_point(class_scope:pg_query.AlterDefaultPrivilegesStmt) + private: + const ::pg_query::CollateClause& _internal_coll_clause() const; + ::pg_query::CollateClause* _internal_mutable_coll_clause(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateDomainStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::GrantStmt* action_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > domainname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraints_; + ::pg_query::TypeName* type_name_; + ::pg_query::CollateClause* coll_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ClosePortalStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ClosePortalStmt) */ { +class CreateEnumStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateEnumStmt) */ { public: - inline ClosePortalStmt() : ClosePortalStmt(nullptr) {} - ~ClosePortalStmt() override; - explicit PROTOBUF_CONSTEXPR ClosePortalStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateEnumStmt() : CreateEnumStmt(nullptr) {} + ~CreateEnumStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateEnumStmt(::google::protobuf::internal::ConstantInitialized); - ClosePortalStmt(const ClosePortalStmt& from); - ClosePortalStmt(ClosePortalStmt&& from) noexcept - : ClosePortalStmt() { + inline CreateEnumStmt(const CreateEnumStmt& from) + : CreateEnumStmt(nullptr, from) {} + CreateEnumStmt(CreateEnumStmt&& from) noexcept + : CreateEnumStmt() { *this = ::std::move(from); } - inline ClosePortalStmt& operator=(const ClosePortalStmt& from) { + inline CreateEnumStmt& operator=(const CreateEnumStmt& from) { CopyFrom(from); return *this; } - inline ClosePortalStmt& operator=(ClosePortalStmt&& from) noexcept { + inline CreateEnumStmt& operator=(CreateEnumStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -27207,150 +28519,200 @@ class ClosePortalStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ClosePortalStmt& default_instance() { + static const CreateEnumStmt& default_instance() { return *internal_default_instance(); } - static inline const ClosePortalStmt* internal_default_instance() { - return reinterpret_cast( - &_ClosePortalStmt_default_instance_); + static inline const CreateEnumStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateEnumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 79; + 232; - friend void swap(ClosePortalStmt& a, ClosePortalStmt& b) { + friend void swap(CreateEnumStmt& a, CreateEnumStmt& b) { a.Swap(&b); } - inline void Swap(ClosePortalStmt* other) { + inline void Swap(CreateEnumStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ClosePortalStmt* other) { + void UnsafeArenaSwap(CreateEnumStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ClosePortalStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateEnumStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ClosePortalStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ClosePortalStmt& from) { - ClosePortalStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateEnumStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateEnumStmt& from) { + CreateEnumStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ClosePortalStmt* other); + void InternalSwap(CreateEnumStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ClosePortalStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateEnumStmt"; } protected: - explicit ClosePortalStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateEnumStmt(::google::protobuf::Arena* arena); + CreateEnumStmt(::google::protobuf::Arena* arena, const CreateEnumStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPortalnameFieldNumber = 1, + kTypeNameFieldNumber = 1, + kValsFieldNumber = 2, }; - // string portalname = 1 [json_name = "portalname"]; - void clear_portalname(); - const std::string& portalname() const; - template - void set_portalname(ArgT0&& arg0, ArgT... args); - std::string* mutable_portalname(); - PROTOBUF_NODISCARD std::string* release_portalname(); - void set_allocated_portalname(std::string* portalname); + // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; + int type_name_size() const; private: - const std::string& _internal_portalname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname(const std::string& value); - std::string* _internal_mutable_portalname(); + int _internal_type_name_size() const; + + public: + void clear_type_name() ; + ::pg_query::Node* mutable_type_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_type_name(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_type_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_type_name(); public: + const ::pg_query::Node& type_name(int index) const; + ::pg_query::Node* add_type_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + type_name() const; + // repeated .pg_query.Node vals = 2 [json_name = "vals"]; + int vals_size() const; + private: + int _internal_vals_size() const; - // @@protoc_insertion_point(class_scope:pg_query.ClosePortalStmt) + public: + void clear_vals() ; + ::pg_query::Node* mutable_vals(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_vals(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_vals() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_vals(); + public: + const ::pg_query::Node& vals(int index) const; + ::pg_query::Node* add_vals(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + vals() const; + // @@protoc_insertion_point(class_scope:pg_query.CreateEnumStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr portalname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > type_name_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > vals_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ClusterStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ClusterStmt) */ { +class CreateEventTrigStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateEventTrigStmt) */ { public: - inline ClusterStmt() : ClusterStmt(nullptr) {} - ~ClusterStmt() override; - explicit PROTOBUF_CONSTEXPR ClusterStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateEventTrigStmt() : CreateEventTrigStmt(nullptr) {} + ~CreateEventTrigStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateEventTrigStmt(::google::protobuf::internal::ConstantInitialized); - ClusterStmt(const ClusterStmt& from); - ClusterStmt(ClusterStmt&& from) noexcept - : ClusterStmt() { + inline CreateEventTrigStmt(const CreateEventTrigStmt& from) + : CreateEventTrigStmt(nullptr, from) {} + CreateEventTrigStmt(CreateEventTrigStmt&& from) noexcept + : CreateEventTrigStmt() { *this = ::std::move(from); } - inline ClusterStmt& operator=(const ClusterStmt& from) { + inline CreateEventTrigStmt& operator=(const CreateEventTrigStmt& from) { CopyFrom(from); return *this; } - inline ClusterStmt& operator=(ClusterStmt&& from) noexcept { + inline CreateEventTrigStmt& operator=(CreateEventTrigStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -27360,190 +28722,236 @@ class ClusterStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ClusterStmt& default_instance() { + static const CreateEventTrigStmt& default_instance() { return *internal_default_instance(); } - static inline const ClusterStmt* internal_default_instance() { - return reinterpret_cast( - &_ClusterStmt_default_instance_); + static inline const CreateEventTrigStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateEventTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 80; + 187; - friend void swap(ClusterStmt& a, ClusterStmt& b) { + friend void swap(CreateEventTrigStmt& a, CreateEventTrigStmt& b) { a.Swap(&b); } - inline void Swap(ClusterStmt* other) { + inline void Swap(CreateEventTrigStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ClusterStmt* other) { + void UnsafeArenaSwap(CreateEventTrigStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ClusterStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateEventTrigStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ClusterStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ClusterStmt& from) { - ClusterStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateEventTrigStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateEventTrigStmt& from) { + CreateEventTrigStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ClusterStmt* other); + void InternalSwap(CreateEventTrigStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ClusterStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateEventTrigStmt"; } protected: - explicit ClusterStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateEventTrigStmt(::google::protobuf::Arena* arena); + CreateEventTrigStmt(::google::protobuf::Arena* arena, const CreateEventTrigStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kParamsFieldNumber = 3, - kIndexnameFieldNumber = 2, - kRelationFieldNumber = 1, + kWhenclauseFieldNumber = 3, + kFuncnameFieldNumber = 4, + kTrignameFieldNumber = 1, + kEventnameFieldNumber = 2, }; - // repeated .pg_query.Node params = 3 [json_name = "params"]; - int params_size() const; + // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"]; + int whenclause_size() const; private: - int _internal_params_size() const; + int _internal_whenclause_size() const; + public: - void clear_params(); - ::pg_query::Node* mutable_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_params(); + void clear_whenclause() ; + ::pg_query::Node* mutable_whenclause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_whenclause(); private: - const ::pg_query::Node& _internal_params(int index) const; - ::pg_query::Node* _internal_add_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_whenclause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_whenclause(); public: - const ::pg_query::Node& params(int index) const; - ::pg_query::Node* add_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - params() const; + const ::pg_query::Node& whenclause(int index) const; + ::pg_query::Node* add_whenclause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + whenclause() const; + // repeated .pg_query.Node funcname = 4 [json_name = "funcname"]; + int funcname_size() const; + private: + int _internal_funcname_size() const; - // string indexname = 2 [json_name = "indexname"]; - void clear_indexname(); - const std::string& indexname() const; - template - void set_indexname(ArgT0&& arg0, ArgT... args); - std::string* mutable_indexname(); - PROTOBUF_NODISCARD std::string* release_indexname(); - void set_allocated_indexname(std::string* indexname); + public: + void clear_funcname() ; + ::pg_query::Node* mutable_funcname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funcname(); private: - const std::string& _internal_indexname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexname(const std::string& value); - std::string* _internal_mutable_indexname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funcname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funcname(); public: + const ::pg_query::Node& funcname(int index) const; + ::pg_query::Node* add_funcname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funcname() const; + // string trigname = 1 [json_name = "trigname"]; + void clear_trigname() ; + const std::string& trigname() const; + template + void set_trigname(Arg_&& arg, Args_... args); + std::string* mutable_trigname(); + PROTOBUF_NODISCARD std::string* release_trigname(); + void set_allocated_trigname(std::string* value); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; private: - bool _internal_has_relation() const; + const std::string& _internal_trigname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname( + const std::string& value); + std::string* _internal_mutable_trigname(); + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // string eventname = 2 [json_name = "eventname"]; + void clear_eventname() ; + const std::string& eventname() const; + template + void set_eventname(Arg_&& arg, Args_... args); + std::string* mutable_eventname(); + PROTOBUF_NODISCARD std::string* release_eventname(); + void set_allocated_eventname(std::string* value); + private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const std::string& _internal_eventname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_eventname( + const std::string& value); + std::string* _internal_mutable_eventname(); - // @@protoc_insertion_point(class_scope:pg_query.ClusterStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateEventTrigStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 54, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > params_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr indexname_; - ::pg_query::RangeVar* relation_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > whenclause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funcname_; + ::google::protobuf::internal::ArenaStringPtr trigname_; + ::google::protobuf::internal::ArenaStringPtr eventname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CopyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CopyStmt) */ { +class CreateExtensionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateExtensionStmt) */ { public: - inline CopyStmt() : CopyStmt(nullptr) {} - ~CopyStmt() override; - explicit PROTOBUF_CONSTEXPR CopyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateExtensionStmt() : CreateExtensionStmt(nullptr) {} + ~CreateExtensionStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateExtensionStmt(::google::protobuf::internal::ConstantInitialized); - CopyStmt(const CopyStmt& from); - CopyStmt(CopyStmt&& from) noexcept - : CopyStmt() { + inline CreateExtensionStmt(const CreateExtensionStmt& from) + : CreateExtensionStmt(nullptr, from) {} + CreateExtensionStmt(CreateExtensionStmt&& from) noexcept + : CreateExtensionStmt() { *this = ::std::move(from); } - inline CopyStmt& operator=(const CopyStmt& from) { + inline CreateExtensionStmt& operator=(const CreateExtensionStmt& from) { CopyFrom(from); return *this; } - inline CopyStmt& operator=(CopyStmt&& from) noexcept { + inline CreateExtensionStmt& operator=(CreateExtensionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -27553,272 +28961,210 @@ class CopyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CopyStmt& default_instance() { + static const CreateExtensionStmt& default_instance() { return *internal_default_instance(); } - static inline const CopyStmt* internal_default_instance() { - return reinterpret_cast( - &_CopyStmt_default_instance_); + static inline const CreateExtensionStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateExtensionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 81; + 171; - friend void swap(CopyStmt& a, CopyStmt& b) { + friend void swap(CreateExtensionStmt& a, CreateExtensionStmt& b) { a.Swap(&b); } - inline void Swap(CopyStmt* other) { + inline void Swap(CreateExtensionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CopyStmt* other) { + void UnsafeArenaSwap(CreateExtensionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CopyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateExtensionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CopyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CopyStmt& from) { - CopyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateExtensionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateExtensionStmt& from) { + CreateExtensionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CopyStmt* other); + void InternalSwap(CreateExtensionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CopyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateExtensionStmt"; } protected: - explicit CopyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateExtensionStmt(::google::protobuf::Arena* arena); + CreateExtensionStmt(::google::protobuf::Arena* arena, const CreateExtensionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kAttlistFieldNumber = 3, - kOptionsFieldNumber = 7, - kFilenameFieldNumber = 6, - kRelationFieldNumber = 1, - kQueryFieldNumber = 2, - kWhereClauseFieldNumber = 8, - kIsFromFieldNumber = 4, - kIsProgramFieldNumber = 5, + kOptionsFieldNumber = 3, + kExtnameFieldNumber = 1, + kIfNotExistsFieldNumber = 2, }; - // repeated .pg_query.Node attlist = 3 [json_name = "attlist"]; - int attlist_size() const; - private: - int _internal_attlist_size() const; - public: - void clear_attlist(); - ::pg_query::Node* mutable_attlist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_attlist(); - private: - const ::pg_query::Node& _internal_attlist(int index) const; - ::pg_query::Node* _internal_add_attlist(); - public: - const ::pg_query::Node& attlist(int index) const; - ::pg_query::Node* add_attlist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - attlist() const; - - // repeated .pg_query.Node options = 7 [json_name = "options"]; + // repeated .pg_query.Node options = 3 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; + public: - void clear_options(); + void clear_options() ; ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: const ::pg_query::Node& options(int index) const; ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; + // string extname = 1 [json_name = "extname"]; + void clear_extname() ; + const std::string& extname() const; + template + void set_extname(Arg_&& arg, Args_... args); + std::string* mutable_extname(); + PROTOBUF_NODISCARD std::string* release_extname(); + void set_allocated_extname(std::string* value); - // string filename = 6 [json_name = "filename"]; - void clear_filename(); - const std::string& filename() const; - template - void set_filename(ArgT0&& arg0, ArgT... args); - std::string* mutable_filename(); - PROTOBUF_NODISCARD std::string* release_filename(); - void set_allocated_filename(std::string* filename); - private: - const std::string& _internal_filename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_filename(const std::string& value); - std::string* _internal_mutable_filename(); - public: - - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - // .pg_query.Node query = 2 [json_name = "query"]; - bool has_query() const; - private: - bool _internal_has_query() const; - public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); - public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); + const std::string& _internal_extname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname( + const std::string& value); + std::string* _internal_mutable_extname(); - // .pg_query.Node where_clause = 8 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; - public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + // bool if_not_exists = 2 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); - // bool is_from = 4 [json_name = "is_from"]; - void clear_is_from(); - bool is_from() const; - void set_is_from(bool value); private: - bool _internal_is_from() const; - void _internal_set_is_from(bool value); - public: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); - // bool is_program = 5 [json_name = "is_program"]; - void clear_is_program(); - bool is_program() const; - void set_is_program(bool value); - private: - bool _internal_is_program() const; - void _internal_set_is_program(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CopyStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateExtensionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > attlist_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr filename_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* query_; - ::pg_query::Node* where_clause_; - bool is_from_; - bool is_program_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr extname_; + bool if_not_exists_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateStmt) */ { +class CreateFdwStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateFdwStmt) */ { public: - inline CreateStmt() : CreateStmt(nullptr) {} - ~CreateStmt() override; - explicit PROTOBUF_CONSTEXPR CreateStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateFdwStmt() : CreateFdwStmt(nullptr) {} + ~CreateFdwStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateFdwStmt(::google::protobuf::internal::ConstantInitialized); - CreateStmt(const CreateStmt& from); - CreateStmt(CreateStmt&& from) noexcept - : CreateStmt() { + inline CreateFdwStmt(const CreateFdwStmt& from) + : CreateFdwStmt(nullptr, from) {} + CreateFdwStmt(CreateFdwStmt&& from) noexcept + : CreateFdwStmt() { *this = ::std::move(from); } - inline CreateStmt& operator=(const CreateStmt& from) { + inline CreateFdwStmt& operator=(const CreateFdwStmt& from) { CopyFrom(from); return *this; } - inline CreateStmt& operator=(CreateStmt&& from) noexcept { + inline CreateFdwStmt& operator=(CreateFdwStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -27828,348 +29174,218 @@ class CreateStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateStmt& default_instance() { + static const CreateFdwStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateStmt_default_instance_); + static inline const CreateFdwStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateFdwStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 82; + 174; - friend void swap(CreateStmt& a, CreateStmt& b) { + friend void swap(CreateFdwStmt& a, CreateFdwStmt& b) { a.Swap(&b); } - inline void Swap(CreateStmt* other) { + inline void Swap(CreateFdwStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateStmt* other) { + void UnsafeArenaSwap(CreateFdwStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateFdwStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateStmt& from) { - CreateStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateFdwStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateFdwStmt& from) { + CreateFdwStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateStmt* other); + void InternalSwap(CreateFdwStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateFdwStmt"; } protected: - explicit CreateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateFdwStmt(::google::protobuf::Arena* arena); + CreateFdwStmt(::google::protobuf::Arena* arena, const CreateFdwStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTableEltsFieldNumber = 2, - kInhRelationsFieldNumber = 3, - kConstraintsFieldNumber = 7, - kOptionsFieldNumber = 8, - kTablespacenameFieldNumber = 10, - kAccessMethodFieldNumber = 11, - kRelationFieldNumber = 1, - kPartboundFieldNumber = 4, - kPartspecFieldNumber = 5, - kOfTypenameFieldNumber = 6, - kOncommitFieldNumber = 9, - kIfNotExistsFieldNumber = 12, + kFuncOptionsFieldNumber = 2, + kOptionsFieldNumber = 3, + kFdwnameFieldNumber = 1, }; - // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"]; - int table_elts_size() const; - private: - int _internal_table_elts_size() const; - public: - void clear_table_elts(); - ::pg_query::Node* mutable_table_elts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_table_elts(); - private: - const ::pg_query::Node& _internal_table_elts(int index) const; - ::pg_query::Node* _internal_add_table_elts(); - public: - const ::pg_query::Node& table_elts(int index) const; - ::pg_query::Node* add_table_elts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - table_elts() const; - - // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"]; - int inh_relations_size() const; - private: - int _internal_inh_relations_size() const; - public: - void clear_inh_relations(); - ::pg_query::Node* mutable_inh_relations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_inh_relations(); + // repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; + int func_options_size() const; private: - const ::pg_query::Node& _internal_inh_relations(int index) const; - ::pg_query::Node* _internal_add_inh_relations(); - public: - const ::pg_query::Node& inh_relations(int index) const; - ::pg_query::Node* add_inh_relations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - inh_relations() const; + int _internal_func_options_size() const; - // repeated .pg_query.Node constraints = 7 [json_name = "constraints"]; - int constraints_size() const; - private: - int _internal_constraints_size() const; public: - void clear_constraints(); - ::pg_query::Node* mutable_constraints(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_constraints(); + void clear_func_options() ; + ::pg_query::Node* mutable_func_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_func_options(); private: - const ::pg_query::Node& _internal_constraints(int index) const; - ::pg_query::Node* _internal_add_constraints(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_func_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_func_options(); public: - const ::pg_query::Node& constraints(int index) const; - ::pg_query::Node* add_constraints(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - constraints() const; - - // repeated .pg_query.Node options = 8 [json_name = "options"]; + const ::pg_query::Node& func_options(int index) const; + ::pg_query::Node* add_func_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + func_options() const; + // repeated .pg_query.Node options = 3 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; + public: - void clear_options(); + void clear_options() ; ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: const ::pg_query::Node& options(int index) const; ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; + // string fdwname = 1 [json_name = "fdwname"]; + void clear_fdwname() ; + const std::string& fdwname() const; + template + void set_fdwname(Arg_&& arg, Args_... args); + std::string* mutable_fdwname(); + PROTOBUF_NODISCARD std::string* release_fdwname(); + void set_allocated_fdwname(std::string* value); - // string tablespacename = 10 [json_name = "tablespacename"]; - void clear_tablespacename(); - const std::string& tablespacename() const; - template - void set_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_tablespacename(); - PROTOBUF_NODISCARD std::string* release_tablespacename(); - void set_allocated_tablespacename(std::string* tablespacename); private: - const std::string& _internal_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename(const std::string& value); - std::string* _internal_mutable_tablespacename(); - public: + const std::string& _internal_fdwname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname( + const std::string& value); + std::string* _internal_mutable_fdwname(); - // string access_method = 11 [json_name = "accessMethod"]; - void clear_access_method(); - const std::string& access_method() const; - template - void set_access_method(ArgT0&& arg0, ArgT... args); - std::string* mutable_access_method(); - PROTOBUF_NODISCARD std::string* release_access_method(); - void set_allocated_access_method(std::string* access_method); - private: - const std::string& _internal_access_method() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method(const std::string& value); - std::string* _internal_mutable_access_method(); public: + // @@protoc_insertion_point(class_scope:pg_query.CreateFdwStmt) + private: + class _Internal; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 38, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { - // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"]; - bool has_partbound() const; - private: - bool _internal_has_partbound() const; - public: - void clear_partbound(); - const ::pg_query::PartitionBoundSpec& partbound() const; - PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partbound(); - ::pg_query::PartitionBoundSpec* mutable_partbound(); - void set_allocated_partbound(::pg_query::PartitionBoundSpec* partbound); - private: - const ::pg_query::PartitionBoundSpec& _internal_partbound() const; - ::pg_query::PartitionBoundSpec* _internal_mutable_partbound(); - public: - void unsafe_arena_set_allocated_partbound( - ::pg_query::PartitionBoundSpec* partbound); - ::pg_query::PartitionBoundSpec* unsafe_arena_release_partbound(); + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > func_options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr fdwname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- - // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"]; - bool has_partspec() const; - private: - bool _internal_has_partspec() const; - public: - void clear_partspec(); - const ::pg_query::PartitionSpec& partspec() const; - PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partspec(); - ::pg_query::PartitionSpec* mutable_partspec(); - void set_allocated_partspec(::pg_query::PartitionSpec* partspec); - private: - const ::pg_query::PartitionSpec& _internal_partspec() const; - ::pg_query::PartitionSpec* _internal_mutable_partspec(); - public: - void unsafe_arena_set_allocated_partspec( - ::pg_query::PartitionSpec* partspec); - ::pg_query::PartitionSpec* unsafe_arena_release_partspec(); +class CreateForeignServerStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateForeignServerStmt) */ { + public: + inline CreateForeignServerStmt() : CreateForeignServerStmt(nullptr) {} + ~CreateForeignServerStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateForeignServerStmt(::google::protobuf::internal::ConstantInitialized); - // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"]; - bool has_of_typename() const; - private: - bool _internal_has_of_typename() const; - public: - void clear_of_typename(); - const ::pg_query::TypeName& of_typename() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_of_typename(); - ::pg_query::TypeName* mutable_of_typename(); - void set_allocated_of_typename(::pg_query::TypeName* of_typename); - private: - const ::pg_query::TypeName& _internal_of_typename() const; - ::pg_query::TypeName* _internal_mutable_of_typename(); - public: - void unsafe_arena_set_allocated_of_typename( - ::pg_query::TypeName* of_typename); - ::pg_query::TypeName* unsafe_arena_release_of_typename(); - - // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"]; - void clear_oncommit(); - ::pg_query::OnCommitAction oncommit() const; - void set_oncommit(::pg_query::OnCommitAction value); - private: - ::pg_query::OnCommitAction _internal_oncommit() const; - void _internal_set_oncommit(::pg_query::OnCommitAction value); - public: - - // bool if_not_exists = 12 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); - private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateStmt) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > table_elts_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > inh_relations_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > constraints_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tablespacename_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr access_method_; - ::pg_query::RangeVar* relation_; - ::pg_query::PartitionBoundSpec* partbound_; - ::pg_query::PartitionSpec* partspec_; - ::pg_query::TypeName* of_typename_; - int oncommit_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class DefineStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DefineStmt) */ { - public: - inline DefineStmt() : DefineStmt(nullptr) {} - ~DefineStmt() override; - explicit PROTOBUF_CONSTEXPR DefineStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DefineStmt(const DefineStmt& from); - DefineStmt(DefineStmt&& from) noexcept - : DefineStmt() { + inline CreateForeignServerStmt(const CreateForeignServerStmt& from) + : CreateForeignServerStmt(nullptr, from) {} + CreateForeignServerStmt(CreateForeignServerStmt&& from) noexcept + : CreateForeignServerStmt() { *this = ::std::move(from); } - inline DefineStmt& operator=(const DefineStmt& from) { + inline CreateForeignServerStmt& operator=(const CreateForeignServerStmt& from) { CopyFrom(from); return *this; } - inline DefineStmt& operator=(DefineStmt&& from) noexcept { + inline CreateForeignServerStmt& operator=(CreateForeignServerStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -28179,238 +29395,264 @@ class DefineStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DefineStmt& default_instance() { + static const CreateForeignServerStmt& default_instance() { return *internal_default_instance(); } - static inline const DefineStmt* internal_default_instance() { - return reinterpret_cast( - &_DefineStmt_default_instance_); + static inline const CreateForeignServerStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateForeignServerStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 83; + 176; - friend void swap(DefineStmt& a, DefineStmt& b) { + friend void swap(CreateForeignServerStmt& a, CreateForeignServerStmt& b) { a.Swap(&b); } - inline void Swap(DefineStmt* other) { + inline void Swap(CreateForeignServerStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DefineStmt* other) { + void UnsafeArenaSwap(CreateForeignServerStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DefineStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateForeignServerStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DefineStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DefineStmt& from) { - DefineStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateForeignServerStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateForeignServerStmt& from) { + CreateForeignServerStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DefineStmt* other); + void InternalSwap(CreateForeignServerStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DefineStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateForeignServerStmt"; } protected: - explicit DefineStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateForeignServerStmt(::google::protobuf::Arena* arena); + CreateForeignServerStmt(::google::protobuf::Arena* arena, const CreateForeignServerStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDefnamesFieldNumber = 3, - kArgsFieldNumber = 4, - kDefinitionFieldNumber = 5, - kKindFieldNumber = 1, - kOldstyleFieldNumber = 2, - kIfNotExistsFieldNumber = 6, - kReplaceFieldNumber = 7, + kOptionsFieldNumber = 6, + kServernameFieldNumber = 1, + kServertypeFieldNumber = 2, + kVersionFieldNumber = 3, + kFdwnameFieldNumber = 4, + kIfNotExistsFieldNumber = 5, }; - // repeated .pg_query.Node defnames = 3 [json_name = "defnames"]; - int defnames_size() const; - private: - int _internal_defnames_size() const; - public: - void clear_defnames(); - ::pg_query::Node* mutable_defnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_defnames(); + // repeated .pg_query.Node options = 6 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_defnames(int index) const; - ::pg_query::Node* _internal_add_defnames(); - public: - const ::pg_query::Node& defnames(int index) const; - ::pg_query::Node* add_defnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - defnames() const; + int _internal_options_size() const; - // repeated .pg_query.Node args = 4 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string servername = 1 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); - // repeated .pg_query.Node definition = 5 [json_name = "definition"]; - int definition_size() const; private: - int _internal_definition_size() const; + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); + public: - void clear_definition(); - ::pg_query::Node* mutable_definition(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_definition(); + // string servertype = 2 [json_name = "servertype"]; + void clear_servertype() ; + const std::string& servertype() const; + template + void set_servertype(Arg_&& arg, Args_... args); + std::string* mutable_servertype(); + PROTOBUF_NODISCARD std::string* release_servertype(); + void set_allocated_servertype(std::string* value); + private: - const ::pg_query::Node& _internal_definition(int index) const; - ::pg_query::Node* _internal_add_definition(); + const std::string& _internal_servertype() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servertype( + const std::string& value); + std::string* _internal_mutable_servertype(); + public: - const ::pg_query::Node& definition(int index) const; - ::pg_query::Node* add_definition(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - definition() const; + // string version = 3 [json_name = "version"]; + void clear_version() ; + const std::string& version() const; + template + void set_version(Arg_&& arg, Args_... args); + std::string* mutable_version(); + PROTOBUF_NODISCARD std::string* release_version(); + void set_allocated_version(std::string* value); - // .pg_query.ObjectType kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::ObjectType kind() const; - void set_kind(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_kind() const; - void _internal_set_kind(::pg_query::ObjectType value); + const std::string& _internal_version() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_version( + const std::string& value); + std::string* _internal_mutable_version(); + public: + // string fdwname = 4 [json_name = "fdwname"]; + void clear_fdwname() ; + const std::string& fdwname() const; + template + void set_fdwname(Arg_&& arg, Args_... args); + std::string* mutable_fdwname(); + PROTOBUF_NODISCARD std::string* release_fdwname(); + void set_allocated_fdwname(std::string* value); - // bool oldstyle = 2 [json_name = "oldstyle"]; - void clear_oldstyle(); - bool oldstyle() const; - void set_oldstyle(bool value); private: - bool _internal_oldstyle() const; - void _internal_set_oldstyle(bool value); - public: + const std::string& _internal_fdwname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname( + const std::string& value); + std::string* _internal_mutable_fdwname(); - // bool if_not_exists = 6 [json_name = "if_not_exists"]; - void clear_if_not_exists(); + public: + // bool if_not_exists = 5 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; bool if_not_exists() const; void set_if_not_exists(bool value); + private: bool _internal_if_not_exists() const; void _internal_set_if_not_exists(bool value); - public: - // bool replace = 7 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); - private: - bool _internal_replace() const; - void _internal_set_replace(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.DefineStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateForeignServerStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 1, + 75, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > defnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > definition_; - int kind_; - bool oldstyle_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::google::protobuf::internal::ArenaStringPtr servertype_; + ::google::protobuf::internal::ArenaStringPtr version_; + ::google::protobuf::internal::ArenaStringPtr fdwname_; bool if_not_exists_; - bool replace_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropStmt) */ { +class CreateForeignTableStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateForeignTableStmt) */ { public: - inline DropStmt() : DropStmt(nullptr) {} - ~DropStmt() override; - explicit PROTOBUF_CONSTEXPR DropStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateForeignTableStmt() : CreateForeignTableStmt(nullptr) {} + ~CreateForeignTableStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateForeignTableStmt(::google::protobuf::internal::ConstantInitialized); - DropStmt(const DropStmt& from); - DropStmt(DropStmt&& from) noexcept - : DropStmt() { + inline CreateForeignTableStmt(const CreateForeignTableStmt& from) + : CreateForeignTableStmt(nullptr, from) {} + CreateForeignTableStmt(CreateForeignTableStmt&& from) noexcept + : CreateForeignTableStmt() { *this = ::std::move(from); } - inline DropStmt& operator=(const DropStmt& from) { + inline CreateForeignTableStmt& operator=(const CreateForeignTableStmt& from) { CopyFrom(from); return *this; } - inline DropStmt& operator=(DropStmt&& from) noexcept { + inline CreateForeignTableStmt& operator=(CreateForeignTableStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -28420,198 +29662,216 @@ class DropStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropStmt& default_instance() { + static const CreateForeignTableStmt& default_instance() { return *internal_default_instance(); } - static inline const DropStmt* internal_default_instance() { - return reinterpret_cast( - &_DropStmt_default_instance_); + static inline const CreateForeignTableStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateForeignTableStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 84; + 178; - friend void swap(DropStmt& a, DropStmt& b) { + friend void swap(CreateForeignTableStmt& a, CreateForeignTableStmt& b) { a.Swap(&b); } - inline void Swap(DropStmt* other) { + inline void Swap(CreateForeignTableStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropStmt* other) { + void UnsafeArenaSwap(CreateForeignTableStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateForeignTableStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropStmt& from) { - DropStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateForeignTableStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateForeignTableStmt& from) { + CreateForeignTableStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropStmt* other); + void InternalSwap(CreateForeignTableStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateForeignTableStmt"; } protected: - explicit DropStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateForeignTableStmt(::google::protobuf::Arena* arena); + CreateForeignTableStmt(::google::protobuf::Arena* arena, const CreateForeignTableStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kObjectsFieldNumber = 1, - kRemoveTypeFieldNumber = 2, - kBehaviorFieldNumber = 3, - kMissingOkFieldNumber = 4, - kConcurrentFieldNumber = 5, + kOptionsFieldNumber = 3, + kServernameFieldNumber = 2, + kBaseStmtFieldNumber = 1, }; - // repeated .pg_query.Node objects = 1 [json_name = "objects"]; - int objects_size() const; + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; private: - int _internal_objects_size() const; + int _internal_options_size() const; + public: - void clear_objects(); - ::pg_query::Node* mutable_objects(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_objects(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_objects(int index) const; - ::pg_query::Node* _internal_add_objects(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& objects(int index) const; - ::pg_query::Node* add_objects(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - objects() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string servername = 2 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); - // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"]; - void clear_remove_type(); - ::pg_query::ObjectType remove_type() const; - void set_remove_type(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_remove_type() const; - void _internal_set_remove_type(::pg_query::ObjectType value); - public: + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); - // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); - private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); public: + // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"]; + bool has_base_stmt() const; + void clear_base_stmt() ; + const ::pg_query::CreateStmt& base_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_base_stmt(); + ::pg_query::CreateStmt* mutable_base_stmt(); + void set_allocated_base_stmt(::pg_query::CreateStmt* value); + void unsafe_arena_set_allocated_base_stmt(::pg_query::CreateStmt* value); + ::pg_query::CreateStmt* unsafe_arena_release_base_stmt(); - // bool missing_ok = 4 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); - public: + const ::pg_query::CreateStmt& _internal_base_stmt() const; + ::pg_query::CreateStmt* _internal_mutable_base_stmt(); - // bool concurrent = 5 [json_name = "concurrent"]; - void clear_concurrent(); - bool concurrent() const; - void set_concurrent(bool value); - private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.DropStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateForeignTableStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > objects_; - int remove_type_; - int behavior_; - bool missing_ok_; - bool concurrent_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::pg_query::CreateStmt* base_stmt_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TruncateStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TruncateStmt) */ { +class CreateFunctionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateFunctionStmt) */ { public: - inline TruncateStmt() : TruncateStmt(nullptr) {} - ~TruncateStmt() override; - explicit PROTOBUF_CONSTEXPR TruncateStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateFunctionStmt() : CreateFunctionStmt(nullptr) {} + ~CreateFunctionStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateFunctionStmt(::google::protobuf::internal::ConstantInitialized); - TruncateStmt(const TruncateStmt& from); - TruncateStmt(TruncateStmt&& from) noexcept - : TruncateStmt() { + inline CreateFunctionStmt(const CreateFunctionStmt& from) + : CreateFunctionStmt(nullptr, from) {} + CreateFunctionStmt(CreateFunctionStmt&& from) noexcept + : CreateFunctionStmt() { *this = ::std::move(from); } - inline TruncateStmt& operator=(const TruncateStmt& from) { + inline CreateFunctionStmt& operator=(const CreateFunctionStmt& from) { CopyFrom(from); return *this; } - inline TruncateStmt& operator=(TruncateStmt&& from) noexcept { + inline CreateFunctionStmt& operator=(CreateFunctionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -28621,176 +29881,279 @@ class TruncateStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TruncateStmt& default_instance() { + static const CreateFunctionStmt& default_instance() { return *internal_default_instance(); } - static inline const TruncateStmt* internal_default_instance() { - return reinterpret_cast( - &_TruncateStmt_default_instance_); + static inline const CreateFunctionStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateFunctionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 85; + 213; - friend void swap(TruncateStmt& a, TruncateStmt& b) { + friend void swap(CreateFunctionStmt& a, CreateFunctionStmt& b) { a.Swap(&b); } - inline void Swap(TruncateStmt* other) { + inline void Swap(CreateFunctionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TruncateStmt* other) { + void UnsafeArenaSwap(CreateFunctionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TruncateStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateFunctionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TruncateStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TruncateStmt& from) { - TruncateStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateFunctionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateFunctionStmt& from) { + CreateFunctionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TruncateStmt* other); + void InternalSwap(CreateFunctionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TruncateStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateFunctionStmt"; } protected: - explicit TruncateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateFunctionStmt(::google::protobuf::Arena* arena); + CreateFunctionStmt(::google::protobuf::Arena* arena, const CreateFunctionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationsFieldNumber = 1, - kRestartSeqsFieldNumber = 2, - kBehaviorFieldNumber = 3, + kFuncnameFieldNumber = 3, + kParametersFieldNumber = 4, + kOptionsFieldNumber = 6, + kReturnTypeFieldNumber = 5, + kSqlBodyFieldNumber = 7, + kIsProcedureFieldNumber = 1, + kReplaceFieldNumber = 2, }; - // repeated .pg_query.Node relations = 1 [json_name = "relations"]; - int relations_size() const; + // repeated .pg_query.Node funcname = 3 [json_name = "funcname"]; + int funcname_size() const; private: - int _internal_relations_size() const; + int _internal_funcname_size() const; + public: - void clear_relations(); - ::pg_query::Node* mutable_relations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_relations(); + void clear_funcname() ; + ::pg_query::Node* mutable_funcname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funcname(); private: - const ::pg_query::Node& _internal_relations(int index) const; - ::pg_query::Node* _internal_add_relations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funcname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funcname(); public: - const ::pg_query::Node& relations(int index) const; - ::pg_query::Node* add_relations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - relations() const; + const ::pg_query::Node& funcname(int index) const; + ::pg_query::Node* add_funcname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funcname() const; + // repeated .pg_query.Node parameters = 4 [json_name = "parameters"]; + int parameters_size() const; + private: + int _internal_parameters_size() const; - // bool restart_seqs = 2 [json_name = "restart_seqs"]; - void clear_restart_seqs(); - bool restart_seqs() const; - void set_restart_seqs(bool value); + public: + void clear_parameters() ; + ::pg_query::Node* mutable_parameters(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_parameters(); private: - bool _internal_restart_seqs() const; - void _internal_set_restart_seqs(bool value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_parameters() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_parameters(); public: + const ::pg_query::Node& parameters(int index) const; + ::pg_query::Node* add_parameters(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + parameters() const; + // repeated .pg_query.Node options = 6 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.TypeName return_type = 5 [json_name = "returnType"]; + bool has_return_type() const; + void clear_return_type() ; + const ::pg_query::TypeName& return_type() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_return_type(); + ::pg_query::TypeName* mutable_return_type(); + void set_allocated_return_type(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_return_type(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_return_type(); + + private: + const ::pg_query::TypeName& _internal_return_type() const; + ::pg_query::TypeName* _internal_mutable_return_type(); + + public: + // .pg_query.Node sql_body = 7 [json_name = "sql_body"]; + bool has_sql_body() const; + void clear_sql_body() ; + const ::pg_query::Node& sql_body() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_sql_body(); + ::pg_query::Node* mutable_sql_body(); + void set_allocated_sql_body(::pg_query::Node* value); + void unsafe_arena_set_allocated_sql_body(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_sql_body(); + + private: + const ::pg_query::Node& _internal_sql_body() const; + ::pg_query::Node* _internal_mutable_sql_body(); + public: + // bool is_procedure = 1 [json_name = "is_procedure"]; + void clear_is_procedure() ; + bool is_procedure() const; + void set_is_procedure(bool value); - // @@protoc_insertion_point(class_scope:pg_query.TruncateStmt) + private: + bool _internal_is_procedure() const; + void _internal_set_is_procedure(bool value); + + public: + // bool replace = 2 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); + + private: + bool _internal_replace() const; + void _internal_set_replace(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateFunctionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > relations_; - bool restart_seqs_; - int behavior_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funcname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > parameters_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::TypeName* return_type_; + ::pg_query::Node* sql_body_; + bool is_procedure_; + bool replace_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CommentStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CommentStmt) */ { +class CreateOpClassItem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpClassItem) */ { public: - inline CommentStmt() : CommentStmt(nullptr) {} - ~CommentStmt() override; - explicit PROTOBUF_CONSTEXPR CommentStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateOpClassItem() : CreateOpClassItem(nullptr) {} + ~CreateOpClassItem() override; + template + explicit PROTOBUF_CONSTEXPR CreateOpClassItem(::google::protobuf::internal::ConstantInitialized); - CommentStmt(const CommentStmt& from); - CommentStmt(CommentStmt&& from) noexcept - : CommentStmt() { + inline CreateOpClassItem(const CreateOpClassItem& from) + : CreateOpClassItem(nullptr, from) {} + CreateOpClassItem(CreateOpClassItem&& from) noexcept + : CreateOpClassItem() { *this = ::std::move(from); } - inline CommentStmt& operator=(const CommentStmt& from) { + inline CreateOpClassItem& operator=(const CreateOpClassItem& from) { CopyFrom(from); return *this; } - inline CommentStmt& operator=(CommentStmt&& from) noexcept { + inline CreateOpClassItem& operator=(CreateOpClassItem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -28800,181 +30163,259 @@ class CommentStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CommentStmt& default_instance() { + static const CreateOpClassItem& default_instance() { return *internal_default_instance(); } - static inline const CommentStmt* internal_default_instance() { - return reinterpret_cast( - &_CommentStmt_default_instance_); + static inline const CreateOpClassItem* internal_default_instance() { + return reinterpret_cast( + &_CreateOpClassItem_default_instance_); } static constexpr int kIndexInFileMessages = - 86; + 199; - friend void swap(CommentStmt& a, CommentStmt& b) { + friend void swap(CreateOpClassItem& a, CreateOpClassItem& b) { a.Swap(&b); } - inline void Swap(CommentStmt* other) { + inline void Swap(CreateOpClassItem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CommentStmt* other) { + void UnsafeArenaSwap(CreateOpClassItem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CommentStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateOpClassItem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CommentStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CommentStmt& from) { - CommentStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateOpClassItem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateOpClassItem& from) { + CreateOpClassItem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CommentStmt* other); + void InternalSwap(CreateOpClassItem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CommentStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateOpClassItem"; } protected: - explicit CommentStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateOpClassItem(::google::protobuf::Arena* arena); + CreateOpClassItem(::google::protobuf::Arena* arena, const CreateOpClassItem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCommentFieldNumber = 3, - kObjectFieldNumber = 2, - kObjtypeFieldNumber = 1, + kOrderFamilyFieldNumber = 4, + kClassArgsFieldNumber = 5, + kNameFieldNumber = 2, + kStoredtypeFieldNumber = 6, + kItemtypeFieldNumber = 1, + kNumberFieldNumber = 3, }; - // string comment = 3 [json_name = "comment"]; - void clear_comment(); - const std::string& comment() const; - template - void set_comment(ArgT0&& arg0, ArgT... args); - std::string* mutable_comment(); - PROTOBUF_NODISCARD std::string* release_comment(); - void set_allocated_comment(std::string* comment); + // repeated .pg_query.Node order_family = 4 [json_name = "order_family"]; + int order_family_size() const; private: - const std::string& _internal_comment() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_comment(const std::string& value); - std::string* _internal_mutable_comment(); + int _internal_order_family_size() const; + + public: + void clear_order_family() ; + ::pg_query::Node* mutable_order_family(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_order_family(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_family() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_family(); public: + const ::pg_query::Node& order_family(int index) const; + ::pg_query::Node* add_order_family(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + order_family() const; + // repeated .pg_query.Node class_args = 5 [json_name = "class_args"]; + int class_args_size() const; + private: + int _internal_class_args_size() const; - // .pg_query.Node object = 2 [json_name = "object"]; - bool has_object() const; + public: + void clear_class_args() ; + ::pg_query::Node* mutable_class_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_class_args(); private: - bool _internal_has_object() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_class_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_class_args(); public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + const ::pg_query::Node& class_args(int index) const; + ::pg_query::Node* add_class_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + class_args() const; + // .pg_query.ObjectWithArgs name = 2 [json_name = "name"]; + bool has_name() const; + void clear_name() ; + const ::pg_query::ObjectWithArgs& name() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_name(); + ::pg_query::ObjectWithArgs* mutable_name(); + void set_allocated_name(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_name(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_name(); + private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const ::pg_query::ObjectWithArgs& _internal_name() const; + ::pg_query::ObjectWithArgs* _internal_mutable_name(); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"]; + bool has_storedtype() const; + void clear_storedtype() ; + const ::pg_query::TypeName& storedtype() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_storedtype(); + ::pg_query::TypeName* mutable_storedtype(); + void set_allocated_storedtype(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_storedtype(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_storedtype(); - // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + const ::pg_query::TypeName& _internal_storedtype() const; + ::pg_query::TypeName* _internal_mutable_storedtype(); + public: + // int32 itemtype = 1 [json_name = "itemtype"]; + void clear_itemtype() ; + ::int32_t itemtype() const; + void set_itemtype(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CommentStmt) + private: + ::int32_t _internal_itemtype() const; + void _internal_set_itemtype(::int32_t value); + + public: + // int32 number = 3 [json_name = "number"]; + void clear_number() ; + ::int32_t number() const; + void set_number(::int32_t value); + + private: + ::int32_t _internal_number() const; + void _internal_set_number(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateOpClassItem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_; - ::pg_query::Node* object_; - int objtype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_family_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > class_args_; + ::pg_query::ObjectWithArgs* name_; + ::pg_query::TypeName* storedtype_; + ::int32_t itemtype_; + ::int32_t number_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FetchStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FetchStmt) */ { +class CreateOpClassStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpClassStmt) */ { public: - inline FetchStmt() : FetchStmt(nullptr) {} - ~FetchStmt() override; - explicit PROTOBUF_CONSTEXPR FetchStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateOpClassStmt() : CreateOpClassStmt(nullptr) {} + ~CreateOpClassStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateOpClassStmt(::google::protobuf::internal::ConstantInitialized); - FetchStmt(const FetchStmt& from); - FetchStmt(FetchStmt&& from) noexcept - : FetchStmt() { + inline CreateOpClassStmt(const CreateOpClassStmt& from) + : CreateOpClassStmt(nullptr, from) {} + CreateOpClassStmt(CreateOpClassStmt&& from) noexcept + : CreateOpClassStmt() { *this = ::std::move(from); } - inline FetchStmt& operator=(const FetchStmt& from) { + inline CreateOpClassStmt& operator=(const CreateOpClassStmt& from) { CopyFrom(from); return *this; } - inline FetchStmt& operator=(FetchStmt&& from) noexcept { + inline CreateOpClassStmt& operator=(CreateOpClassStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -28984,183 +30425,268 @@ class FetchStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FetchStmt& default_instance() { + static const CreateOpClassStmt& default_instance() { return *internal_default_instance(); } - static inline const FetchStmt* internal_default_instance() { - return reinterpret_cast( - &_FetchStmt_default_instance_); + static inline const CreateOpClassStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateOpClassStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 87; + 198; - friend void swap(FetchStmt& a, FetchStmt& b) { + friend void swap(CreateOpClassStmt& a, CreateOpClassStmt& b) { a.Swap(&b); } - inline void Swap(FetchStmt* other) { + inline void Swap(CreateOpClassStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FetchStmt* other) { + void UnsafeArenaSwap(CreateOpClassStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FetchStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateOpClassStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FetchStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FetchStmt& from) { - FetchStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateOpClassStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateOpClassStmt& from) { + CreateOpClassStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FetchStmt* other); + void InternalSwap(CreateOpClassStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FetchStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateOpClassStmt"; } protected: - explicit FetchStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateOpClassStmt(::google::protobuf::Arena* arena); + CreateOpClassStmt(::google::protobuf::Arena* arena, const CreateOpClassStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPortalnameFieldNumber = 3, - kHowManyFieldNumber = 2, - kDirectionFieldNumber = 1, - kIsmoveFieldNumber = 4, + kOpclassnameFieldNumber = 1, + kOpfamilynameFieldNumber = 2, + kItemsFieldNumber = 5, + kAmnameFieldNumber = 3, + kDatatypeFieldNumber = 4, + kIsDefaultFieldNumber = 6, }; - // string portalname = 3 [json_name = "portalname"]; - void clear_portalname(); - const std::string& portalname() const; - template - void set_portalname(ArgT0&& arg0, ArgT... args); - std::string* mutable_portalname(); - PROTOBUF_NODISCARD std::string* release_portalname(); - void set_allocated_portalname(std::string* portalname); + // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"]; + int opclassname_size() const; private: - const std::string& _internal_portalname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname(const std::string& value); - std::string* _internal_mutable_portalname(); + int _internal_opclassname_size() const; + + public: + void clear_opclassname() ; + ::pg_query::Node* mutable_opclassname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opclassname(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclassname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclassname(); public: + const ::pg_query::Node& opclassname(int index) const; + ::pg_query::Node* add_opclassname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opclassname() const; + // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"]; + int opfamilyname_size() const; + private: + int _internal_opfamilyname_size() const; - // int64 how_many = 2 [json_name = "howMany"]; - void clear_how_many(); - int64_t how_many() const; - void set_how_many(int64_t value); + public: + void clear_opfamilyname() ; + ::pg_query::Node* mutable_opfamilyname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opfamilyname(); private: - int64_t _internal_how_many() const; - void _internal_set_how_many(int64_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilyname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilyname(); public: + const ::pg_query::Node& opfamilyname(int index) const; + ::pg_query::Node* add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opfamilyname() const; + // repeated .pg_query.Node items = 5 [json_name = "items"]; + int items_size() const; + private: + int _internal_items_size() const; - // .pg_query.FetchDirection direction = 1 [json_name = "direction"]; - void clear_direction(); - ::pg_query::FetchDirection direction() const; - void set_direction(::pg_query::FetchDirection value); + public: + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - ::pg_query::FetchDirection _internal_direction() const; - void _internal_set_direction(::pg_query::FetchDirection value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // string amname = 3 [json_name = "amname"]; + void clear_amname() ; + const std::string& amname() const; + template + void set_amname(Arg_&& arg, Args_... args); + std::string* mutable_amname(); + PROTOBUF_NODISCARD std::string* release_amname(); + void set_allocated_amname(std::string* value); - // bool ismove = 4 [json_name = "ismove"]; - void clear_ismove(); - bool ismove() const; - void set_ismove(bool value); private: - bool _internal_ismove() const; - void _internal_set_ismove(bool value); + const std::string& _internal_amname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname( + const std::string& value); + std::string* _internal_mutable_amname(); + public: + // .pg_query.TypeName datatype = 4 [json_name = "datatype"]; + bool has_datatype() const; + void clear_datatype() ; + const ::pg_query::TypeName& datatype() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_datatype(); + ::pg_query::TypeName* mutable_datatype(); + void set_allocated_datatype(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_datatype(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_datatype(); - // @@protoc_insertion_point(class_scope:pg_query.FetchStmt) + private: + const ::pg_query::TypeName& _internal_datatype() const; + ::pg_query::TypeName* _internal_mutable_datatype(); + + public: + // bool is_default = 6 [json_name = "isDefault"]; + void clear_is_default() ; + bool is_default() const; + void set_is_default(bool value); + + private: + bool _internal_is_default() const; + void _internal_set_is_default(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateOpClassStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 4, + 41, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr portalname_; - int64_t how_many_; - int direction_; - bool ismove_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclassname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilyname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + ::google::protobuf::internal::ArenaStringPtr amname_; + ::pg_query::TypeName* datatype_; + bool is_default_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class IndexStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.IndexStmt) */ { +class CreateOpFamilyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpFamilyStmt) */ { public: - inline IndexStmt() : IndexStmt(nullptr) {} - ~IndexStmt() override; - explicit PROTOBUF_CONSTEXPR IndexStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateOpFamilyStmt() : CreateOpFamilyStmt(nullptr) {} + ~CreateOpFamilyStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateOpFamilyStmt(::google::protobuf::internal::ConstantInitialized); - IndexStmt(const IndexStmt& from); - IndexStmt(IndexStmt&& from) noexcept - : IndexStmt() { + inline CreateOpFamilyStmt(const CreateOpFamilyStmt& from) + : CreateOpFamilyStmt(nullptr, from) {} + CreateOpFamilyStmt(CreateOpFamilyStmt&& from) noexcept + : CreateOpFamilyStmt() { *this = ::std::move(from); } - inline IndexStmt& operator=(const IndexStmt& from) { + inline CreateOpFamilyStmt& operator=(const CreateOpFamilyStmt& from) { CopyFrom(from); return *this; } - inline IndexStmt& operator=(IndexStmt&& from) noexcept { + inline CreateOpFamilyStmt& operator=(CreateOpFamilyStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -29170,472 +30696,463 @@ class IndexStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const IndexStmt& default_instance() { + static const CreateOpFamilyStmt& default_instance() { return *internal_default_instance(); } - static inline const IndexStmt* internal_default_instance() { - return reinterpret_cast( - &_IndexStmt_default_instance_); + static inline const CreateOpFamilyStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateOpFamilyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 88; + 200; - friend void swap(IndexStmt& a, IndexStmt& b) { + friend void swap(CreateOpFamilyStmt& a, CreateOpFamilyStmt& b) { a.Swap(&b); } - inline void Swap(IndexStmt* other) { + inline void Swap(CreateOpFamilyStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(IndexStmt* other) { + void UnsafeArenaSwap(CreateOpFamilyStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - IndexStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateOpFamilyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const IndexStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const IndexStmt& from) { - IndexStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateOpFamilyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateOpFamilyStmt& from) { + CreateOpFamilyStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(IndexStmt* other); + void InternalSwap(CreateOpFamilyStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.IndexStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateOpFamilyStmt"; } protected: - explicit IndexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateOpFamilyStmt(::google::protobuf::Arena* arena); + CreateOpFamilyStmt(::google::protobuf::Arena* arena, const CreateOpFamilyStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIndexParamsFieldNumber = 5, - kIndexIncludingParamsFieldNumber = 6, - kOptionsFieldNumber = 7, - kExcludeOpNamesFieldNumber = 9, - kIdxnameFieldNumber = 1, - kAccessMethodFieldNumber = 3, - kTableSpaceFieldNumber = 4, - kIdxcommentFieldNumber = 10, - kRelationFieldNumber = 2, - kWhereClauseFieldNumber = 8, - kIndexOidFieldNumber = 11, - kOldNodeFieldNumber = 12, - kOldCreateSubidFieldNumber = 13, - kOldFirstRelfilenodeSubidFieldNumber = 14, - kUniqueFieldNumber = 15, - kNullsNotDistinctFieldNumber = 16, - kPrimaryFieldNumber = 17, - kIsconstraintFieldNumber = 18, - kDeferrableFieldNumber = 19, - kInitdeferredFieldNumber = 20, - kTransformedFieldNumber = 21, - kConcurrentFieldNumber = 22, - kIfNotExistsFieldNumber = 23, - kResetDefaultTblspcFieldNumber = 24, + kOpfamilynameFieldNumber = 1, + kAmnameFieldNumber = 2, }; - // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"]; - int index_params_size() const; + // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; + int opfamilyname_size() const; private: - int _internal_index_params_size() const; + int _internal_opfamilyname_size() const; + public: - void clear_index_params(); - ::pg_query::Node* mutable_index_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_index_params(); + void clear_opfamilyname() ; + ::pg_query::Node* mutable_opfamilyname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opfamilyname(); private: - const ::pg_query::Node& _internal_index_params(int index) const; - ::pg_query::Node* _internal_add_index_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilyname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilyname(); public: - const ::pg_query::Node& index_params(int index) const; - ::pg_query::Node* add_index_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - index_params() const; + const ::pg_query::Node& opfamilyname(int index) const; + ::pg_query::Node* add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opfamilyname() const; + // string amname = 2 [json_name = "amname"]; + void clear_amname() ; + const std::string& amname() const; + template + void set_amname(Arg_&& arg, Args_... args); + std::string* mutable_amname(); + PROTOBUF_NODISCARD std::string* release_amname(); + void set_allocated_amname(std::string* value); - // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"]; - int index_including_params_size() const; private: - int _internal_index_including_params_size() const; + const std::string& _internal_amname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname( + const std::string& value); + std::string* _internal_mutable_amname(); + public: - void clear_index_including_params(); - ::pg_query::Node* mutable_index_including_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_index_including_params(); + // @@protoc_insertion_point(class_scope:pg_query.CreateOpFamilyStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilyname_; + ::google::protobuf::internal::ArenaStringPtr amname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class CreatePLangStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePLangStmt) */ { + public: + inline CreatePLangStmt() : CreatePLangStmt(nullptr) {} + ~CreatePLangStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreatePLangStmt(::google::protobuf::internal::ConstantInitialized); + + inline CreatePLangStmt(const CreatePLangStmt& from) + : CreatePLangStmt(nullptr, from) {} + CreatePLangStmt(CreatePLangStmt&& from) noexcept + : CreatePLangStmt() { + *this = ::std::move(from); + } + + inline CreatePLangStmt& operator=(const CreatePLangStmt& from) { + CopyFrom(from); + return *this; + } + inline CreatePLangStmt& operator=(CreatePLangStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const CreatePLangStmt& default_instance() { + return *internal_default_instance(); + } + static inline const CreatePLangStmt* internal_default_instance() { + return reinterpret_cast( + &_CreatePLangStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 189; + + friend void swap(CreatePLangStmt& a, CreatePLangStmt& b) { + a.Swap(&b); + } + inline void Swap(CreatePLangStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(CreatePLangStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + CreatePLangStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreatePLangStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreatePLangStmt& from) { + CreatePLangStmt::MergeImpl(*this, from); + } private: - const ::pg_query::Node& _internal_index_including_params(int index) const; - ::pg_query::Node* _internal_add_index_including_params(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - const ::pg_query::Node& index_including_params(int index) const; - ::pg_query::Node* add_index_including_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - index_including_params() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // repeated .pg_query.Node options = 7 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(CreatePLangStmt* other); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreatePLangStmt"; + } + protected: + explicit CreatePLangStmt(::google::protobuf::Arena* arena); + CreatePLangStmt(::google::protobuf::Arena* arena, const CreatePLangStmt& from); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; - // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"]; - int exclude_op_names_size() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kPlhandlerFieldNumber = 3, + kPlinlineFieldNumber = 4, + kPlvalidatorFieldNumber = 5, + kPlnameFieldNumber = 2, + kReplaceFieldNumber = 1, + kPltrustedFieldNumber = 6, + }; + // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"]; + int plhandler_size() const; private: - int _internal_exclude_op_names_size() const; + int _internal_plhandler_size() const; + public: - void clear_exclude_op_names(); - ::pg_query::Node* mutable_exclude_op_names(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_exclude_op_names(); + void clear_plhandler() ; + ::pg_query::Node* mutable_plhandler(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_plhandler(); private: - const ::pg_query::Node& _internal_exclude_op_names(int index) const; - ::pg_query::Node* _internal_add_exclude_op_names(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_plhandler() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_plhandler(); public: - const ::pg_query::Node& exclude_op_names(int index) const; - ::pg_query::Node* add_exclude_op_names(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - exclude_op_names() const; - - // string idxname = 1 [json_name = "idxname"]; - void clear_idxname(); - const std::string& idxname() const; - template - void set_idxname(ArgT0&& arg0, ArgT... args); - std::string* mutable_idxname(); - PROTOBUF_NODISCARD std::string* release_idxname(); - void set_allocated_idxname(std::string* idxname); + const ::pg_query::Node& plhandler(int index) const; + ::pg_query::Node* add_plhandler(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + plhandler() const; + // repeated .pg_query.Node plinline = 4 [json_name = "plinline"]; + int plinline_size() const; private: - const std::string& _internal_idxname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_idxname(const std::string& value); - std::string* _internal_mutable_idxname(); - public: + int _internal_plinline_size() const; - // string access_method = 3 [json_name = "accessMethod"]; - void clear_access_method(); - const std::string& access_method() const; - template - void set_access_method(ArgT0&& arg0, ArgT... args); - std::string* mutable_access_method(); - PROTOBUF_NODISCARD std::string* release_access_method(); - void set_allocated_access_method(std::string* access_method); + public: + void clear_plinline() ; + ::pg_query::Node* mutable_plinline(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_plinline(); private: - const std::string& _internal_access_method() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method(const std::string& value); - std::string* _internal_mutable_access_method(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_plinline() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_plinline(); public: + const ::pg_query::Node& plinline(int index) const; + ::pg_query::Node* add_plinline(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + plinline() const; + // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"]; + int plvalidator_size() const; + private: + int _internal_plvalidator_size() const; - // string table_space = 4 [json_name = "tableSpace"]; - void clear_table_space(); - const std::string& table_space() const; - template - void set_table_space(ArgT0&& arg0, ArgT... args); - std::string* mutable_table_space(); - PROTOBUF_NODISCARD std::string* release_table_space(); - void set_allocated_table_space(std::string* table_space); + public: + void clear_plvalidator() ; + ::pg_query::Node* mutable_plvalidator(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_plvalidator(); private: - const std::string& _internal_table_space() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_space(const std::string& value); - std::string* _internal_mutable_table_space(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_plvalidator() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_plvalidator(); public: + const ::pg_query::Node& plvalidator(int index) const; + ::pg_query::Node* add_plvalidator(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + plvalidator() const; + // string plname = 2 [json_name = "plname"]; + void clear_plname() ; + const std::string& plname() const; + template + void set_plname(Arg_&& arg, Args_... args); + std::string* mutable_plname(); + PROTOBUF_NODISCARD std::string* release_plname(); + void set_allocated_plname(std::string* value); - // string idxcomment = 10 [json_name = "idxcomment"]; - void clear_idxcomment(); - const std::string& idxcomment() const; - template - void set_idxcomment(ArgT0&& arg0, ArgT... args); - std::string* mutable_idxcomment(); - PROTOBUF_NODISCARD std::string* release_idxcomment(); - void set_allocated_idxcomment(std::string* idxcomment); private: - const std::string& _internal_idxcomment() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_idxcomment(const std::string& value); - std::string* _internal_mutable_idxcomment(); + const std::string& _internal_plname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_plname( + const std::string& value); + std::string* _internal_mutable_plname(); + public: + // bool replace = 1 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - // .pg_query.Node where_clause = 8 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; - public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); - - // uint32 index_oid = 11 [json_name = "indexOid"]; - void clear_index_oid(); - uint32_t index_oid() const; - void set_index_oid(uint32_t value); - private: - uint32_t _internal_index_oid() const; - void _internal_set_index_oid(uint32_t value); - public: - - // uint32 old_node = 12 [json_name = "oldNode"]; - void clear_old_node(); - uint32_t old_node() const; - void set_old_node(uint32_t value); - private: - uint32_t _internal_old_node() const; - void _internal_set_old_node(uint32_t value); - public: - - // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"]; - void clear_old_create_subid(); - uint32_t old_create_subid() const; - void set_old_create_subid(uint32_t value); - private: - uint32_t _internal_old_create_subid() const; - void _internal_set_old_create_subid(uint32_t value); - public: - - // uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"]; - void clear_old_first_relfilenode_subid(); - uint32_t old_first_relfilenode_subid() const; - void set_old_first_relfilenode_subid(uint32_t value); - private: - uint32_t _internal_old_first_relfilenode_subid() const; - void _internal_set_old_first_relfilenode_subid(uint32_t value); - public: - - // bool unique = 15 [json_name = "unique"]; - void clear_unique(); - bool unique() const; - void set_unique(bool value); - private: - bool _internal_unique() const; - void _internal_set_unique(bool value); - public: - - // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"]; - void clear_nulls_not_distinct(); - bool nulls_not_distinct() const; - void set_nulls_not_distinct(bool value); - private: - bool _internal_nulls_not_distinct() const; - void _internal_set_nulls_not_distinct(bool value); - public: - - // bool primary = 17 [json_name = "primary"]; - void clear_primary(); - bool primary() const; - void set_primary(bool value); - private: - bool _internal_primary() const; - void _internal_set_primary(bool value); - public: - - // bool isconstraint = 18 [json_name = "isconstraint"]; - void clear_isconstraint(); - bool isconstraint() const; - void set_isconstraint(bool value); - private: - bool _internal_isconstraint() const; - void _internal_set_isconstraint(bool value); - public: - - // bool deferrable = 19 [json_name = "deferrable"]; - void clear_deferrable(); - bool deferrable() const; - void set_deferrable(bool value); - private: - bool _internal_deferrable() const; - void _internal_set_deferrable(bool value); - public: - - // bool initdeferred = 20 [json_name = "initdeferred"]; - void clear_initdeferred(); - bool initdeferred() const; - void set_initdeferred(bool value); - private: - bool _internal_initdeferred() const; - void _internal_set_initdeferred(bool value); - public: - - // bool transformed = 21 [json_name = "transformed"]; - void clear_transformed(); - bool transformed() const; - void set_transformed(bool value); - private: - bool _internal_transformed() const; - void _internal_set_transformed(bool value); - public: + bool _internal_replace() const; + void _internal_set_replace(bool value); - // bool concurrent = 22 [json_name = "concurrent"]; - void clear_concurrent(); - bool concurrent() const; - void set_concurrent(bool value); - private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); public: + // bool pltrusted = 6 [json_name = "pltrusted"]; + void clear_pltrusted() ; + bool pltrusted() const; + void set_pltrusted(bool value); - // bool if_not_exists = 23 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + bool _internal_pltrusted() const; + void _internal_set_pltrusted(bool value); - // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"]; - void clear_reset_default_tblspc(); - bool reset_default_tblspc() const; - void set_reset_default_tblspc(bool value); - private: - bool _internal_reset_default_tblspc() const; - void _internal_set_reset_default_tblspc(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.IndexStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreatePLangStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 39, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > index_params_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > index_including_params_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > exclude_op_names_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr idxname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr access_method_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_space_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr idxcomment_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - uint32_t index_oid_; - uint32_t old_node_; - uint32_t old_create_subid_; - uint32_t old_first_relfilenode_subid_; - bool unique_; - bool nulls_not_distinct_; - bool primary_; - bool isconstraint_; - bool deferrable_; - bool initdeferred_; - bool transformed_; - bool concurrent_; - bool if_not_exists_; - bool reset_default_tblspc_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > plhandler_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > plinline_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > plvalidator_; + ::google::protobuf::internal::ArenaStringPtr plname_; + bool replace_; + bool pltrusted_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateFunctionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateFunctionStmt) */ { +class CreatePolicyStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePolicyStmt) */ { public: - inline CreateFunctionStmt() : CreateFunctionStmt(nullptr) {} - ~CreateFunctionStmt() override; - explicit PROTOBUF_CONSTEXPR CreateFunctionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreatePolicyStmt() : CreatePolicyStmt(nullptr) {} + ~CreatePolicyStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreatePolicyStmt(::google::protobuf::internal::ConstantInitialized); - CreateFunctionStmt(const CreateFunctionStmt& from); - CreateFunctionStmt(CreateFunctionStmt&& from) noexcept - : CreateFunctionStmt() { + inline CreatePolicyStmt(const CreatePolicyStmt& from) + : CreatePolicyStmt(nullptr, from) {} + CreatePolicyStmt(CreatePolicyStmt&& from) noexcept + : CreatePolicyStmt() { *this = ::std::move(from); } - inline CreateFunctionStmt& operator=(const CreateFunctionStmt& from) { + inline CreatePolicyStmt& operator=(const CreatePolicyStmt& from) { CopyFrom(from); return *this; } - inline CreateFunctionStmt& operator=(CreateFunctionStmt&& from) noexcept { + inline CreatePolicyStmt& operator=(CreatePolicyStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -29645,256 +31162,280 @@ class CreateFunctionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateFunctionStmt& default_instance() { + static const CreatePolicyStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateFunctionStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateFunctionStmt_default_instance_); + static inline const CreatePolicyStmt* internal_default_instance() { + return reinterpret_cast( + &_CreatePolicyStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 89; + 183; - friend void swap(CreateFunctionStmt& a, CreateFunctionStmt& b) { + friend void swap(CreatePolicyStmt& a, CreatePolicyStmt& b) { a.Swap(&b); } - inline void Swap(CreateFunctionStmt* other) { + inline void Swap(CreatePolicyStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateFunctionStmt* other) { + void UnsafeArenaSwap(CreatePolicyStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateFunctionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreatePolicyStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateFunctionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateFunctionStmt& from) { - CreateFunctionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreatePolicyStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreatePolicyStmt& from) { + CreatePolicyStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateFunctionStmt* other); + void InternalSwap(CreatePolicyStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateFunctionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreatePolicyStmt"; } protected: - explicit CreateFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreatePolicyStmt(::google::protobuf::Arena* arena); + CreatePolicyStmt(::google::protobuf::Arena* arena, const CreatePolicyStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFuncnameFieldNumber = 3, - kParametersFieldNumber = 4, - kOptionsFieldNumber = 6, - kReturnTypeFieldNumber = 5, - kSqlBodyFieldNumber = 7, - kIsProcedureFieldNumber = 1, - kReplaceFieldNumber = 2, + kRolesFieldNumber = 5, + kPolicyNameFieldNumber = 1, + kCmdNameFieldNumber = 3, + kTableFieldNumber = 2, + kQualFieldNumber = 6, + kWithCheckFieldNumber = 7, + kPermissiveFieldNumber = 4, }; - // repeated .pg_query.Node funcname = 3 [json_name = "funcname"]; - int funcname_size() const; - private: - int _internal_funcname_size() const; - public: - void clear_funcname(); - ::pg_query::Node* mutable_funcname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funcname(); + // repeated .pg_query.Node roles = 5 [json_name = "roles"]; + int roles_size() const; private: - const ::pg_query::Node& _internal_funcname(int index) const; - ::pg_query::Node* _internal_add_funcname(); - public: - const ::pg_query::Node& funcname(int index) const; - ::pg_query::Node* add_funcname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funcname() const; + int _internal_roles_size() const; - // repeated .pg_query.Node parameters = 4 [json_name = "parameters"]; - int parameters_size() const; - private: - int _internal_parameters_size() const; public: - void clear_parameters(); - ::pg_query::Node* mutable_parameters(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_parameters(); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const ::pg_query::Node& _internal_parameters(int index) const; - ::pg_query::Node* _internal_add_parameters(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - const ::pg_query::Node& parameters(int index) const; - ::pg_query::Node* add_parameters(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - parameters() const; + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // string policy_name = 1 [json_name = "policy_name"]; + void clear_policy_name() ; + const std::string& policy_name() const; + template + void set_policy_name(Arg_&& arg, Args_... args); + std::string* mutable_policy_name(); + PROTOBUF_NODISCARD std::string* release_policy_name(); + void set_allocated_policy_name(std::string* value); - // repeated .pg_query.Node options = 6 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const std::string& _internal_policy_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_policy_name( + const std::string& value); + std::string* _internal_mutable_policy_name(); - // .pg_query.TypeName return_type = 5 [json_name = "returnType"]; - bool has_return_type() const; - private: - bool _internal_has_return_type() const; public: - void clear_return_type(); - const ::pg_query::TypeName& return_type() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_return_type(); - ::pg_query::TypeName* mutable_return_type(); - void set_allocated_return_type(::pg_query::TypeName* return_type); + // string cmd_name = 3 [json_name = "cmd_name"]; + void clear_cmd_name() ; + const std::string& cmd_name() const; + template + void set_cmd_name(Arg_&& arg, Args_... args); + std::string* mutable_cmd_name(); + PROTOBUF_NODISCARD std::string* release_cmd_name(); + void set_allocated_cmd_name(std::string* value); + private: - const ::pg_query::TypeName& _internal_return_type() const; - ::pg_query::TypeName* _internal_mutable_return_type(); + const std::string& _internal_cmd_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_cmd_name( + const std::string& value); + std::string* _internal_mutable_cmd_name(); + public: - void unsafe_arena_set_allocated_return_type( - ::pg_query::TypeName* return_type); - ::pg_query::TypeName* unsafe_arena_release_return_type(); + // .pg_query.RangeVar table = 2 [json_name = "table"]; + bool has_table() const; + void clear_table() ; + const ::pg_query::RangeVar& table() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_table(); + ::pg_query::RangeVar* mutable_table(); + void set_allocated_table(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_table(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_table(); - // .pg_query.Node sql_body = 7 [json_name = "sql_body"]; - bool has_sql_body() const; private: - bool _internal_has_sql_body() const; + const ::pg_query::RangeVar& _internal_table() const; + ::pg_query::RangeVar* _internal_mutable_table(); + public: - void clear_sql_body(); - const ::pg_query::Node& sql_body() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_sql_body(); - ::pg_query::Node* mutable_sql_body(); - void set_allocated_sql_body(::pg_query::Node* sql_body); + // .pg_query.Node qual = 6 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); + private: - const ::pg_query::Node& _internal_sql_body() const; - ::pg_query::Node* _internal_mutable_sql_body(); + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); + public: - void unsafe_arena_set_allocated_sql_body( - ::pg_query::Node* sql_body); - ::pg_query::Node* unsafe_arena_release_sql_body(); + // .pg_query.Node with_check = 7 [json_name = "with_check"]; + bool has_with_check() const; + void clear_with_check() ; + const ::pg_query::Node& with_check() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_with_check(); + ::pg_query::Node* mutable_with_check(); + void set_allocated_with_check(::pg_query::Node* value); + void unsafe_arena_set_allocated_with_check(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_with_check(); - // bool is_procedure = 1 [json_name = "is_procedure"]; - void clear_is_procedure(); - bool is_procedure() const; - void set_is_procedure(bool value); private: - bool _internal_is_procedure() const; - void _internal_set_is_procedure(bool value); + const ::pg_query::Node& _internal_with_check() const; + ::pg_query::Node* _internal_mutable_with_check(); + public: + // bool permissive = 4 [json_name = "permissive"]; + void clear_permissive() ; + bool permissive() const; + void set_permissive(bool value); - // bool replace = 2 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); private: - bool _internal_replace() const; - void _internal_set_replace(bool value); - public: + bool _internal_permissive() const; + void _internal_set_permissive(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateFunctionStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreatePolicyStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 4, + 53, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funcname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > parameters_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::TypeName* return_type_; - ::pg_query::Node* sql_body_; - bool is_procedure_; - bool replace_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + ::google::protobuf::internal::ArenaStringPtr policy_name_; + ::google::protobuf::internal::ArenaStringPtr cmd_name_; + ::pg_query::RangeVar* table_; + ::pg_query::Node* qual_; + ::pg_query::Node* with_check_; + bool permissive_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterFunctionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterFunctionStmt) */ { +class CreatePublicationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePublicationStmt) */ { public: - inline AlterFunctionStmt() : AlterFunctionStmt(nullptr) {} - ~AlterFunctionStmt() override; - explicit PROTOBUF_CONSTEXPR AlterFunctionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreatePublicationStmt() : CreatePublicationStmt(nullptr) {} + ~CreatePublicationStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreatePublicationStmt(::google::protobuf::internal::ConstantInitialized); - AlterFunctionStmt(const AlterFunctionStmt& from); - AlterFunctionStmt(AlterFunctionStmt&& from) noexcept - : AlterFunctionStmt() { + inline CreatePublicationStmt(const CreatePublicationStmt& from) + : CreatePublicationStmt(nullptr, from) {} + CreatePublicationStmt(CreatePublicationStmt&& from) noexcept + : CreatePublicationStmt() { *this = ::std::move(from); } - inline AlterFunctionStmt& operator=(const AlterFunctionStmt& from) { + inline CreatePublicationStmt& operator=(const CreatePublicationStmt& from) { CopyFrom(from); return *this; } - inline AlterFunctionStmt& operator=(AlterFunctionStmt&& from) noexcept { + inline CreatePublicationStmt& operator=(CreatePublicationStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -29904,185 +31445,230 @@ class AlterFunctionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterFunctionStmt& default_instance() { + static const CreatePublicationStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterFunctionStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterFunctionStmt_default_instance_); + static inline const CreatePublicationStmt* internal_default_instance() { + return reinterpret_cast( + &_CreatePublicationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 90; + 266; - friend void swap(AlterFunctionStmt& a, AlterFunctionStmt& b) { + friend void swap(CreatePublicationStmt& a, CreatePublicationStmt& b) { a.Swap(&b); } - inline void Swap(AlterFunctionStmt* other) { + inline void Swap(CreatePublicationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterFunctionStmt* other) { + void UnsafeArenaSwap(CreatePublicationStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterFunctionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreatePublicationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterFunctionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterFunctionStmt& from) { - AlterFunctionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreatePublicationStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreatePublicationStmt& from) { + CreatePublicationStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterFunctionStmt* other); + void InternalSwap(CreatePublicationStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterFunctionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreatePublicationStmt"; } protected: - explicit AlterFunctionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreatePublicationStmt(::google::protobuf::Arena* arena); + CreatePublicationStmt(::google::protobuf::Arena* arena, const CreatePublicationStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kActionsFieldNumber = 3, - kFuncFieldNumber = 2, - kObjtypeFieldNumber = 1, + kOptionsFieldNumber = 2, + kPubobjectsFieldNumber = 3, + kPubnameFieldNumber = 1, + kForAllTablesFieldNumber = 4, }; - // repeated .pg_query.Node actions = 3 [json_name = "actions"]; - int actions_size() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - int _internal_actions_size() const; + int _internal_options_size() const; + public: - void clear_actions(); - ::pg_query::Node* mutable_actions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_actions(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_actions(int index) const; - ::pg_query::Node* _internal_add_actions(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& actions(int index) const; - ::pg_query::Node* add_actions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - actions() const; - - // .pg_query.ObjectWithArgs func = 2 [json_name = "func"]; - bool has_func() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; + int pubobjects_size() const; private: - bool _internal_has_func() const; + int _internal_pubobjects_size() const; + public: - void clear_func(); - const ::pg_query::ObjectWithArgs& func() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_func(); - ::pg_query::ObjectWithArgs* mutable_func(); - void set_allocated_func(::pg_query::ObjectWithArgs* func); + void clear_pubobjects() ; + ::pg_query::Node* mutable_pubobjects(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_pubobjects(); private: - const ::pg_query::ObjectWithArgs& _internal_func() const; - ::pg_query::ObjectWithArgs* _internal_mutable_func(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_pubobjects() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_pubobjects(); public: - void unsafe_arena_set_allocated_func( - ::pg_query::ObjectWithArgs* func); - ::pg_query::ObjectWithArgs* unsafe_arena_release_func(); + const ::pg_query::Node& pubobjects(int index) const; + ::pg_query::Node* add_pubobjects(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + pubobjects() const; + // string pubname = 1 [json_name = "pubname"]; + void clear_pubname() ; + const std::string& pubname() const; + template + void set_pubname(Arg_&& arg, Args_... args); + std::string* mutable_pubname(); + PROTOBUF_NODISCARD std::string* release_pubname(); + void set_allocated_pubname(std::string* value); - // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + const std::string& _internal_pubname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_pubname( + const std::string& value); + std::string* _internal_mutable_pubname(); + public: + // bool for_all_tables = 4 [json_name = "for_all_tables"]; + void clear_for_all_tables() ; + bool for_all_tables() const; + void set_for_all_tables(bool value); - // @@protoc_insertion_point(class_scope:pg_query.AlterFunctionStmt) + private: + bool _internal_for_all_tables() const; + void _internal_set_for_all_tables(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreatePublicationStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 46, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > actions_; - ::pg_query::ObjectWithArgs* func_; - int objtype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > pubobjects_; + ::google::protobuf::internal::ArenaStringPtr pubname_; + bool for_all_tables_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DoStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DoStmt) */ { +class CreateRangeStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateRangeStmt) */ { public: - inline DoStmt() : DoStmt(nullptr) {} - ~DoStmt() override; - explicit PROTOBUF_CONSTEXPR DoStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateRangeStmt() : CreateRangeStmt(nullptr) {} + ~CreateRangeStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateRangeStmt(::google::protobuf::internal::ConstantInitialized); - DoStmt(const DoStmt& from); - DoStmt(DoStmt&& from) noexcept - : DoStmt() { + inline CreateRangeStmt(const CreateRangeStmt& from) + : CreateRangeStmt(nullptr, from) {} + CreateRangeStmt(CreateRangeStmt&& from) noexcept + : CreateRangeStmt() { *this = ::std::move(from); } - inline DoStmt& operator=(const DoStmt& from) { + inline CreateRangeStmt& operator=(const CreateRangeStmt& from) { CopyFrom(from); return *this; } - inline DoStmt& operator=(DoStmt&& from) noexcept { + inline CreateRangeStmt& operator=(CreateRangeStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -30092,154 +31678,200 @@ class DoStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DoStmt& default_instance() { + static const CreateRangeStmt& default_instance() { return *internal_default_instance(); } - static inline const DoStmt* internal_default_instance() { - return reinterpret_cast( - &_DoStmt_default_instance_); + static inline const CreateRangeStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateRangeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 91; + 233; - friend void swap(DoStmt& a, DoStmt& b) { + friend void swap(CreateRangeStmt& a, CreateRangeStmt& b) { a.Swap(&b); } - inline void Swap(DoStmt* other) { + inline void Swap(CreateRangeStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DoStmt* other) { + void UnsafeArenaSwap(CreateRangeStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DoStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateRangeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DoStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DoStmt& from) { - DoStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateRangeStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateRangeStmt& from) { + CreateRangeStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DoStmt* other); + void InternalSwap(CreateRangeStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DoStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateRangeStmt"; } protected: - explicit DoStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateRangeStmt(::google::protobuf::Arena* arena); + CreateRangeStmt(::google::protobuf::Arena* arena, const CreateRangeStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 1, + kTypeNameFieldNumber = 1, + kParamsFieldNumber = 2, }; - // repeated .pg_query.Node args = 1 [json_name = "args"]; - int args_size() const; + // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; + int type_name_size() const; private: - int _internal_args_size() const; + int _internal_type_name_size() const; + public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + void clear_type_name() ; + ::pg_query::Node* mutable_type_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_type_name(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_type_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_type_name(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // @@protoc_insertion_point(class_scope:pg_query.DoStmt) - private: - class _Internal; + const ::pg_query::Node& type_name(int index) const; + ::pg_query::Node* add_type_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + type_name() const; + // repeated .pg_query.Node params = 2 [json_name = "params"]; + int params_size() const; + private: + int _internal_params_size() const; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + public: + void clear_params() ; + ::pg_query::Node* mutable_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_params(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); + public: + const ::pg_query::Node& params(int index) const; + ::pg_query::Node* add_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + params() const; + // @@protoc_insertion_point(class_scope:pg_query.CreateRangeStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > type_name_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RenameStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RenameStmt) */ { +class CreateRoleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateRoleStmt) */ { public: - inline RenameStmt() : RenameStmt(nullptr) {} - ~RenameStmt() override; - explicit PROTOBUF_CONSTEXPR RenameStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateRoleStmt() : CreateRoleStmt(nullptr) {} + ~CreateRoleStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateRoleStmt(::google::protobuf::internal::ConstantInitialized); - RenameStmt(const RenameStmt& from); - RenameStmt(RenameStmt&& from) noexcept - : RenameStmt() { + inline CreateRoleStmt(const CreateRoleStmt& from) + : CreateRoleStmt(nullptr, from) {} + CreateRoleStmt(CreateRoleStmt&& from) noexcept + : CreateRoleStmt() { *this = ::std::move(from); } - inline RenameStmt& operator=(const RenameStmt& from) { + inline CreateRoleStmt& operator=(const CreateRoleStmt& from) { CopyFrom(from); return *this; } - inline RenameStmt& operator=(RenameStmt&& from) noexcept { + inline CreateRoleStmt& operator=(CreateRoleStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -30249,250 +31881,210 @@ class RenameStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RenameStmt& default_instance() { + static const CreateRoleStmt& default_instance() { return *internal_default_instance(); } - static inline const RenameStmt* internal_default_instance() { - return reinterpret_cast( - &_RenameStmt_default_instance_); + static inline const CreateRoleStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 92; + 190; - friend void swap(RenameStmt& a, RenameStmt& b) { + friend void swap(CreateRoleStmt& a, CreateRoleStmt& b) { a.Swap(&b); } - inline void Swap(RenameStmt* other) { + inline void Swap(CreateRoleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RenameStmt* other) { + void UnsafeArenaSwap(CreateRoleStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RenameStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateRoleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RenameStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RenameStmt& from) { - RenameStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateRoleStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateRoleStmt& from) { + CreateRoleStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RenameStmt* other); + void InternalSwap(CreateRoleStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RenameStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateRoleStmt"; } protected: - explicit RenameStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateRoleStmt(::google::protobuf::Arena* arena); + CreateRoleStmt(::google::protobuf::Arena* arena, const CreateRoleStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSubnameFieldNumber = 5, - kNewnameFieldNumber = 6, - kRelationFieldNumber = 3, - kObjectFieldNumber = 4, - kRenameTypeFieldNumber = 1, - kRelationTypeFieldNumber = 2, - kBehaviorFieldNumber = 7, - kMissingOkFieldNumber = 8, + kOptionsFieldNumber = 3, + kRoleFieldNumber = 2, + kStmtTypeFieldNumber = 1, }; - // string subname = 5 [json_name = "subname"]; - void clear_subname(); - const std::string& subname() const; - template - void set_subname(ArgT0&& arg0, ArgT... args); - std::string* mutable_subname(); - PROTOBUF_NODISCARD std::string* release_subname(); - void set_allocated_subname(std::string* subname); - private: - const std::string& _internal_subname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname(const std::string& value); - std::string* _internal_mutable_subname(); - public: - - // string newname = 6 [json_name = "newname"]; - void clear_newname(); - const std::string& newname() const; - template - void set_newname(ArgT0&& arg0, ArgT... args); - std::string* mutable_newname(); - PROTOBUF_NODISCARD std::string* release_newname(); - void set_allocated_newname(std::string* newname); - private: - const std::string& _internal_newname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_newname(const std::string& value); - std::string* _internal_mutable_newname(); - public: - - // .pg_query.RangeVar relation = 3 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + int _internal_options_size() const; - // .pg_query.Node object = 4 [json_name = "object"]; - bool has_object() const; - private: - bool _internal_has_object() const; public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string role = 2 [json_name = "role"]; + void clear_role() ; + const std::string& role() const; + template + void set_role(Arg_&& arg, Args_... args); + std::string* mutable_role(); + PROTOBUF_NODISCARD std::string* release_role(); + void set_allocated_role(std::string* value); - // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; - void clear_rename_type(); - ::pg_query::ObjectType rename_type() const; - void set_rename_type(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_rename_type() const; - void _internal_set_rename_type(::pg_query::ObjectType value); - public: + const std::string& _internal_role() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_role( + const std::string& value); + std::string* _internal_mutable_role(); - // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; - void clear_relation_type(); - ::pg_query::ObjectType relation_type() const; - void set_relation_type(::pg_query::ObjectType value); - private: - ::pg_query::ObjectType _internal_relation_type() const; - void _internal_set_relation_type(::pg_query::ObjectType value); public: + // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"]; + void clear_stmt_type() ; + ::pg_query::RoleStmtType stmt_type() const; + void set_stmt_type(::pg_query::RoleStmtType value); - // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); - public: + ::pg_query::RoleStmtType _internal_stmt_type() const; + void _internal_set_stmt_type(::pg_query::RoleStmtType value); - // bool missing_ok = 8 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); - private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.RenameStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateRoleStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 36, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr newname_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* object_; - int rename_type_; - int relation_type_; - int behavior_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr role_; + int stmt_type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RuleStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RuleStmt) */ { +class CreateSchemaStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSchemaStmt) */ { public: - inline RuleStmt() : RuleStmt(nullptr) {} - ~RuleStmt() override; - explicit PROTOBUF_CONSTEXPR RuleStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateSchemaStmt() : CreateSchemaStmt(nullptr) {} + ~CreateSchemaStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateSchemaStmt(::google::protobuf::internal::ConstantInitialized); - RuleStmt(const RuleStmt& from); - RuleStmt(RuleStmt&& from) noexcept - : RuleStmt() { + inline CreateSchemaStmt(const CreateSchemaStmt& from) + : CreateSchemaStmt(nullptr, from) {} + CreateSchemaStmt(CreateSchemaStmt&& from) noexcept + : CreateSchemaStmt() { *this = ::std::move(from); } - inline RuleStmt& operator=(const RuleStmt& from) { + inline CreateSchemaStmt& operator=(const CreateSchemaStmt& from) { CopyFrom(from); return *this; } - inline RuleStmt& operator=(RuleStmt&& from) noexcept { + inline CreateSchemaStmt& operator=(CreateSchemaStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -30502,243 +32094,228 @@ class RuleStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RuleStmt& default_instance() { + static const CreateSchemaStmt& default_instance() { return *internal_default_instance(); } - static inline const RuleStmt* internal_default_instance() { - return reinterpret_cast( - &_RuleStmt_default_instance_); + static inline const CreateSchemaStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 93; + 151; - friend void swap(RuleStmt& a, RuleStmt& b) { + friend void swap(CreateSchemaStmt& a, CreateSchemaStmt& b) { a.Swap(&b); } - inline void Swap(RuleStmt* other) { + inline void Swap(CreateSchemaStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RuleStmt* other) { + void UnsafeArenaSwap(CreateSchemaStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RuleStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateSchemaStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RuleStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RuleStmt& from) { - RuleStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateSchemaStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateSchemaStmt& from) { + CreateSchemaStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RuleStmt* other); + void InternalSwap(CreateSchemaStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RuleStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateSchemaStmt"; } protected: - explicit RuleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateSchemaStmt(::google::protobuf::Arena* arena); + CreateSchemaStmt(::google::protobuf::Arena* arena, const CreateSchemaStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kActionsFieldNumber = 6, - kRulenameFieldNumber = 2, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 3, - kEventFieldNumber = 4, - kInsteadFieldNumber = 5, - kReplaceFieldNumber = 7, + kSchemaEltsFieldNumber = 3, + kSchemanameFieldNumber = 1, + kAuthroleFieldNumber = 2, + kIfNotExistsFieldNumber = 4, }; - // repeated .pg_query.Node actions = 6 [json_name = "actions"]; - int actions_size() const; + // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"]; + int schema_elts_size() const; private: - int _internal_actions_size() const; + int _internal_schema_elts_size() const; + public: - void clear_actions(); - ::pg_query::Node* mutable_actions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_actions(); + void clear_schema_elts() ; + ::pg_query::Node* mutable_schema_elts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_schema_elts(); private: - const ::pg_query::Node& _internal_actions(int index) const; - ::pg_query::Node* _internal_add_actions(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_schema_elts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_schema_elts(); public: - const ::pg_query::Node& actions(int index) const; - ::pg_query::Node* add_actions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - actions() const; + const ::pg_query::Node& schema_elts(int index) const; + ::pg_query::Node* add_schema_elts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + schema_elts() const; + // string schemaname = 1 [json_name = "schemaname"]; + void clear_schemaname() ; + const std::string& schemaname() const; + template + void set_schemaname(Arg_&& arg, Args_... args); + std::string* mutable_schemaname(); + PROTOBUF_NODISCARD std::string* release_schemaname(); + void set_allocated_schemaname(std::string* value); - // string rulename = 2 [json_name = "rulename"]; - void clear_rulename(); - const std::string& rulename() const; - template - void set_rulename(ArgT0&& arg0, ArgT... args); - std::string* mutable_rulename(); - PROTOBUF_NODISCARD std::string* release_rulename(); - void set_allocated_rulename(std::string* rulename); private: - const std::string& _internal_rulename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_rulename(const std::string& value); - std::string* _internal_mutable_rulename(); - public: + const std::string& _internal_schemaname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname( + const std::string& value); + std::string* _internal_mutable_schemaname(); - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"]; + bool has_authrole() const; + void clear_authrole() ; + const ::pg_query::RoleSpec& authrole() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_authrole(); + ::pg_query::RoleSpec* mutable_authrole(); + void set_allocated_authrole(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_authrole(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_authrole(); - // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; - public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + const ::pg_query::RoleSpec& _internal_authrole() const; + ::pg_query::RoleSpec* _internal_mutable_authrole(); - // .pg_query.CmdType event = 4 [json_name = "event"]; - void clear_event(); - ::pg_query::CmdType event() const; - void set_event(::pg_query::CmdType value); - private: - ::pg_query::CmdType _internal_event() const; - void _internal_set_event(::pg_query::CmdType value); public: + // bool if_not_exists = 4 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); - // bool instead = 5 [json_name = "instead"]; - void clear_instead(); - bool instead() const; - void set_instead(bool value); private: - bool _internal_instead() const; - void _internal_set_instead(bool value); - public: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); - // bool replace = 7 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); - private: - bool _internal_replace() const; - void _internal_set_replace(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.RuleStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateSchemaStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > actions_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rulename_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - int event_; - bool instead_; - bool replace_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > schema_elts_; + ::google::protobuf::internal::ArenaStringPtr schemaname_; + ::pg_query::RoleSpec* authrole_; + bool if_not_exists_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class NotifyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.NotifyStmt) */ { +class CreateSeqStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSeqStmt) */ { public: - inline NotifyStmt() : NotifyStmt(nullptr) {} - ~NotifyStmt() override; - explicit PROTOBUF_CONSTEXPR NotifyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateSeqStmt() : CreateSeqStmt(nullptr) {} + ~CreateSeqStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateSeqStmt(::google::protobuf::internal::ConstantInitialized); - NotifyStmt(const NotifyStmt& from); - NotifyStmt(NotifyStmt&& from) noexcept - : NotifyStmt() { + inline CreateSeqStmt(const CreateSeqStmt& from) + : CreateSeqStmt(nullptr, from) {} + CreateSeqStmt(CreateSeqStmt&& from) noexcept + : CreateSeqStmt() { *this = ::std::move(from); } - inline NotifyStmt& operator=(const NotifyStmt& from) { + inline CreateSeqStmt& operator=(const CreateSeqStmt& from) { CopyFrom(from); return *this; } - inline NotifyStmt& operator=(NotifyStmt&& from) noexcept { + inline CreateSeqStmt& operator=(CreateSeqStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -30748,166 +32325,234 @@ class NotifyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const NotifyStmt& default_instance() { + static const CreateSeqStmt& default_instance() { return *internal_default_instance(); } - static inline const NotifyStmt* internal_default_instance() { - return reinterpret_cast( - &_NotifyStmt_default_instance_); + static inline const CreateSeqStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateSeqStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 94; + 194; - friend void swap(NotifyStmt& a, NotifyStmt& b) { + friend void swap(CreateSeqStmt& a, CreateSeqStmt& b) { a.Swap(&b); } - inline void Swap(NotifyStmt* other) { + inline void Swap(CreateSeqStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(NotifyStmt* other) { + void UnsafeArenaSwap(CreateSeqStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - NotifyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateSeqStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const NotifyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const NotifyStmt& from) { - NotifyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateSeqStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateSeqStmt& from) { + CreateSeqStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(NotifyStmt* other); + void InternalSwap(CreateSeqStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.NotifyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateSeqStmt"; } protected: - explicit NotifyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateSeqStmt(::google::protobuf::Arena* arena); + CreateSeqStmt(::google::protobuf::Arena* arena, const CreateSeqStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConditionnameFieldNumber = 1, - kPayloadFieldNumber = 2, + kOptionsFieldNumber = 2, + kSequenceFieldNumber = 1, + kOwnerIdFieldNumber = 3, + kForIdentityFieldNumber = 4, + kIfNotExistsFieldNumber = 5, }; - // string conditionname = 1 [json_name = "conditionname"]; - void clear_conditionname(); - const std::string& conditionname() const; - template - void set_conditionname(ArgT0&& arg0, ArgT... args); - std::string* mutable_conditionname(); - PROTOBUF_NODISCARD std::string* release_conditionname(); - void set_allocated_conditionname(std::string* conditionname); + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - const std::string& _internal_conditionname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname(const std::string& value); - std::string* _internal_mutable_conditionname(); + int _internal_options_size() const; + + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; + bool has_sequence() const; + void clear_sequence() ; + const ::pg_query::RangeVar& sequence() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_sequence(); + ::pg_query::RangeVar* mutable_sequence(); + void set_allocated_sequence(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_sequence(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_sequence(); - // string payload = 2 [json_name = "payload"]; - void clear_payload(); - const std::string& payload() const; - template - void set_payload(ArgT0&& arg0, ArgT... args); - std::string* mutable_payload(); - PROTOBUF_NODISCARD std::string* release_payload(); - void set_allocated_payload(std::string* payload); private: - const std::string& _internal_payload() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_payload(const std::string& value); - std::string* _internal_mutable_payload(); + const ::pg_query::RangeVar& _internal_sequence() const; + ::pg_query::RangeVar* _internal_mutable_sequence(); + public: + // uint32 owner_id = 3 [json_name = "ownerId"]; + void clear_owner_id() ; + ::uint32_t owner_id() const; + void set_owner_id(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.NotifyStmt) + private: + ::uint32_t _internal_owner_id() const; + void _internal_set_owner_id(::uint32_t value); + + public: + // bool for_identity = 4 [json_name = "for_identity"]; + void clear_for_identity() ; + bool for_identity() const; + void set_for_identity(bool value); + + private: + bool _internal_for_identity() const; + void _internal_set_for_identity(bool value); + + public: + // bool if_not_exists = 5 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); + + private: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateSeqStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conditionname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr payload_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::RangeVar* sequence_; + ::uint32_t owner_id_; + bool for_identity_; + bool if_not_exists_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ListenStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ListenStmt) */ { +class CreateStatsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateStatsStmt) */ { public: - inline ListenStmt() : ListenStmt(nullptr) {} - ~ListenStmt() override; - explicit PROTOBUF_CONSTEXPR ListenStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateStatsStmt() : CreateStatsStmt(nullptr) {} + ~CreateStatsStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateStatsStmt(::google::protobuf::internal::ConstantInitialized); - ListenStmt(const ListenStmt& from); - ListenStmt(ListenStmt&& from) noexcept - : ListenStmt() { + inline CreateStatsStmt(const CreateStatsStmt& from) + : CreateStatsStmt(nullptr, from) {} + CreateStatsStmt(CreateStatsStmt&& from) noexcept + : CreateStatsStmt() { *this = ::std::move(from); } - inline ListenStmt& operator=(const ListenStmt& from) { + inline CreateStatsStmt& operator=(const CreateStatsStmt& from) { CopyFrom(from); return *this; } - inline ListenStmt& operator=(ListenStmt&& from) noexcept { + inline CreateStatsStmt& operator=(CreateStatsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -30917,150 +32562,282 @@ class ListenStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ListenStmt& default_instance() { + static const CreateStatsStmt& default_instance() { return *internal_default_instance(); } - static inline const ListenStmt* internal_default_instance() { - return reinterpret_cast( - &_ListenStmt_default_instance_); + static inline const CreateStatsStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateStatsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 95; + 210; - friend void swap(ListenStmt& a, ListenStmt& b) { + friend void swap(CreateStatsStmt& a, CreateStatsStmt& b) { a.Swap(&b); } - inline void Swap(ListenStmt* other) { + inline void Swap(CreateStatsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ListenStmt* other) { + void UnsafeArenaSwap(CreateStatsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ListenStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateStatsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ListenStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ListenStmt& from) { - ListenStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateStatsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateStatsStmt& from) { + CreateStatsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ListenStmt* other); + void InternalSwap(CreateStatsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ListenStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateStatsStmt"; } protected: - explicit ListenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateStatsStmt(::google::protobuf::Arena* arena); + CreateStatsStmt(::google::protobuf::Arena* arena, const CreateStatsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConditionnameFieldNumber = 1, + kDefnamesFieldNumber = 1, + kStatTypesFieldNumber = 2, + kExprsFieldNumber = 3, + kRelationsFieldNumber = 4, + kStxcommentFieldNumber = 5, + kTransformedFieldNumber = 6, + kIfNotExistsFieldNumber = 7, }; - // string conditionname = 1 [json_name = "conditionname"]; - void clear_conditionname(); - const std::string& conditionname() const; - template - void set_conditionname(ArgT0&& arg0, ArgT... args); - std::string* mutable_conditionname(); - PROTOBUF_NODISCARD std::string* release_conditionname(); - void set_allocated_conditionname(std::string* conditionname); + // repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; + int defnames_size() const; private: - const std::string& _internal_conditionname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname(const std::string& value); - std::string* _internal_mutable_conditionname(); - public: + int _internal_defnames_size() const; - // @@protoc_insertion_point(class_scope:pg_query.ListenStmt) - private: - class _Internal; + public: + void clear_defnames() ; + ::pg_query::Node* mutable_defnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_defnames(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_defnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_defnames(); + public: + const ::pg_query::Node& defnames(int index) const; + ::pg_query::Node* add_defnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + defnames() const; + // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"]; + int stat_types_size() const; + private: + int _internal_stat_types_size() const; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conditionname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; + public: + void clear_stat_types() ; + ::pg_query::Node* mutable_stat_types(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_stat_types(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_stat_types() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_stat_types(); + public: + const ::pg_query::Node& stat_types(int index) const; + ::pg_query::Node* add_stat_types(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + stat_types() const; + // repeated .pg_query.Node exprs = 3 [json_name = "exprs"]; + int exprs_size() const; + private: + int _internal_exprs_size() const; + + public: + void clear_exprs() ; + ::pg_query::Node* mutable_exprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exprs(); + public: + const ::pg_query::Node& exprs(int index) const; + ::pg_query::Node* add_exprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exprs() const; + // repeated .pg_query.Node relations = 4 [json_name = "relations"]; + int relations_size() const; + private: + int _internal_relations_size() const; + + public: + void clear_relations() ; + ::pg_query::Node* mutable_relations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_relations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); + public: + const ::pg_query::Node& relations(int index) const; + ::pg_query::Node* add_relations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + relations() const; + // string stxcomment = 5 [json_name = "stxcomment"]; + void clear_stxcomment() ; + const std::string& stxcomment() const; + template + void set_stxcomment(Arg_&& arg, Args_... args); + std::string* mutable_stxcomment(); + PROTOBUF_NODISCARD std::string* release_stxcomment(); + void set_allocated_stxcomment(std::string* value); + + private: + const std::string& _internal_stxcomment() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_stxcomment( + const std::string& value); + std::string* _internal_mutable_stxcomment(); + + public: + // bool transformed = 6 [json_name = "transformed"]; + void clear_transformed() ; + bool transformed() const; + void set_transformed(bool value); + + private: + bool _internal_transformed() const; + void _internal_set_transformed(bool value); + + public: + // bool if_not_exists = 7 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); + + private: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateStatsStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 4, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > defnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > stat_types_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; + ::google::protobuf::internal::ArenaStringPtr stxcomment_; + bool transformed_; + bool if_not_exists_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class UnlistenStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.UnlistenStmt) */ { +class CreateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateStmt) */ { public: - inline UnlistenStmt() : UnlistenStmt(nullptr) {} - ~UnlistenStmt() override; - explicit PROTOBUF_CONSTEXPR UnlistenStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateStmt() : CreateStmt(nullptr) {} + ~CreateStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateStmt(::google::protobuf::internal::ConstantInitialized); - UnlistenStmt(const UnlistenStmt& from); - UnlistenStmt(UnlistenStmt&& from) noexcept - : UnlistenStmt() { + inline CreateStmt(const CreateStmt& from) + : CreateStmt(nullptr, from) {} + CreateStmt(CreateStmt&& from) noexcept + : CreateStmt() { *this = ::std::move(from); } - inline UnlistenStmt& operator=(const UnlistenStmt& from) { + inline CreateStmt& operator=(const CreateStmt& from) { CopyFrom(from); return *this; } - inline UnlistenStmt& operator=(UnlistenStmt&& from) noexcept { + inline CreateStmt& operator=(CreateStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -31070,150 +32847,369 @@ class UnlistenStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const UnlistenStmt& default_instance() { + static const CreateStmt& default_instance() { return *internal_default_instance(); } - static inline const UnlistenStmt* internal_default_instance() { - return reinterpret_cast( - &_UnlistenStmt_default_instance_); + static inline const CreateStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 96; + 165; - friend void swap(UnlistenStmt& a, UnlistenStmt& b) { + friend void swap(CreateStmt& a, CreateStmt& b) { a.Swap(&b); } - inline void Swap(UnlistenStmt* other) { + inline void Swap(CreateStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(UnlistenStmt* other) { + void UnsafeArenaSwap(CreateStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - UnlistenStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const UnlistenStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const UnlistenStmt& from) { - UnlistenStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateStmt& from) { + CreateStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(UnlistenStmt* other); + void InternalSwap(CreateStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.UnlistenStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateStmt"; } protected: - explicit UnlistenStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateStmt(::google::protobuf::Arena* arena); + CreateStmt(::google::protobuf::Arena* arena, const CreateStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConditionnameFieldNumber = 1, + kTableEltsFieldNumber = 2, + kInhRelationsFieldNumber = 3, + kConstraintsFieldNumber = 7, + kOptionsFieldNumber = 8, + kTablespacenameFieldNumber = 10, + kAccessMethodFieldNumber = 11, + kRelationFieldNumber = 1, + kPartboundFieldNumber = 4, + kPartspecFieldNumber = 5, + kOfTypenameFieldNumber = 6, + kOncommitFieldNumber = 9, + kIfNotExistsFieldNumber = 12, }; - // string conditionname = 1 [json_name = "conditionname"]; - void clear_conditionname(); - const std::string& conditionname() const; - template - void set_conditionname(ArgT0&& arg0, ArgT... args); - std::string* mutable_conditionname(); - PROTOBUF_NODISCARD std::string* release_conditionname(); - void set_allocated_conditionname(std::string* conditionname); + // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"]; + int table_elts_size() const; private: - const std::string& _internal_conditionname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conditionname(const std::string& value); - std::string* _internal_mutable_conditionname(); + int _internal_table_elts_size() const; + + public: + void clear_table_elts() ; + ::pg_query::Node* mutable_table_elts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_table_elts(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_table_elts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_table_elts(); public: + const ::pg_query::Node& table_elts(int index) const; + ::pg_query::Node* add_table_elts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + table_elts() const; + // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"]; + int inh_relations_size() const; + private: + int _internal_inh_relations_size() const; - // @@protoc_insertion_point(class_scope:pg_query.UnlistenStmt) + public: + void clear_inh_relations() ; + ::pg_query::Node* mutable_inh_relations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_inh_relations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_inh_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_inh_relations(); + public: + const ::pg_query::Node& inh_relations(int index) const; + ::pg_query::Node* add_inh_relations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + inh_relations() const; + // repeated .pg_query.Node constraints = 7 [json_name = "constraints"]; + int constraints_size() const; + private: + int _internal_constraints_size() const; + + public: + void clear_constraints() ; + ::pg_query::Node* mutable_constraints(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraints(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraints() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraints(); + public: + const ::pg_query::Node& constraints(int index) const; + ::pg_query::Node* add_constraints(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraints() const; + // repeated .pg_query.Node options = 8 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; + + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); + public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string tablespacename = 10 [json_name = "tablespacename"]; + void clear_tablespacename() ; + const std::string& tablespacename() const; + template + void set_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_tablespacename(); + PROTOBUF_NODISCARD std::string* release_tablespacename(); + void set_allocated_tablespacename(std::string* value); + + private: + const std::string& _internal_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename( + const std::string& value); + std::string* _internal_mutable_tablespacename(); + + public: + // string access_method = 11 [json_name = "accessMethod"]; + void clear_access_method() ; + const std::string& access_method() const; + template + void set_access_method(Arg_&& arg, Args_... args); + std::string* mutable_access_method(); + PROTOBUF_NODISCARD std::string* release_access_method(); + void set_allocated_access_method(std::string* value); + + private: + const std::string& _internal_access_method() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method( + const std::string& value); + std::string* _internal_mutable_access_method(); + + public: + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + + private: + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + + public: + // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"]; + bool has_partbound() const; + void clear_partbound() ; + const ::pg_query::PartitionBoundSpec& partbound() const; + PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partbound(); + ::pg_query::PartitionBoundSpec* mutable_partbound(); + void set_allocated_partbound(::pg_query::PartitionBoundSpec* value); + void unsafe_arena_set_allocated_partbound(::pg_query::PartitionBoundSpec* value); + ::pg_query::PartitionBoundSpec* unsafe_arena_release_partbound(); + + private: + const ::pg_query::PartitionBoundSpec& _internal_partbound() const; + ::pg_query::PartitionBoundSpec* _internal_mutable_partbound(); + + public: + // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"]; + bool has_partspec() const; + void clear_partspec() ; + const ::pg_query::PartitionSpec& partspec() const; + PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partspec(); + ::pg_query::PartitionSpec* mutable_partspec(); + void set_allocated_partspec(::pg_query::PartitionSpec* value); + void unsafe_arena_set_allocated_partspec(::pg_query::PartitionSpec* value); + ::pg_query::PartitionSpec* unsafe_arena_release_partspec(); + + private: + const ::pg_query::PartitionSpec& _internal_partspec() const; + ::pg_query::PartitionSpec* _internal_mutable_partspec(); + + public: + // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"]; + bool has_of_typename() const; + void clear_of_typename() ; + const ::pg_query::TypeName& of_typename() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_of_typename(); + ::pg_query::TypeName* mutable_of_typename(); + void set_allocated_of_typename(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_of_typename(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_of_typename(); + + private: + const ::pg_query::TypeName& _internal_of_typename() const; + ::pg_query::TypeName* _internal_mutable_of_typename(); + + public: + // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"]; + void clear_oncommit() ; + ::pg_query::OnCommitAction oncommit() const; + void set_oncommit(::pg_query::OnCommitAction value); + + private: + ::pg_query::OnCommitAction _internal_oncommit() const; + void _internal_set_oncommit(::pg_query::OnCommitAction value); + + public: + // bool if_not_exists = 12 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); + + private: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 12, 8, + 63, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conditionname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > table_elts_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > inh_relations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraints_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr tablespacename_; + ::google::protobuf::internal::ArenaStringPtr access_method_; + ::pg_query::RangeVar* relation_; + ::pg_query::PartitionBoundSpec* partbound_; + ::pg_query::PartitionSpec* partspec_; + ::pg_query::TypeName* of_typename_; + int oncommit_; + bool if_not_exists_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TransactionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TransactionStmt) */ { +class CreateSubscriptionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSubscriptionStmt) */ { public: - inline TransactionStmt() : TransactionStmt(nullptr) {} - ~TransactionStmt() override; - explicit PROTOBUF_CONSTEXPR TransactionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateSubscriptionStmt() : CreateSubscriptionStmt(nullptr) {} + ~CreateSubscriptionStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateSubscriptionStmt(::google::protobuf::internal::ConstantInitialized); - TransactionStmt(const TransactionStmt& from); - TransactionStmt(TransactionStmt&& from) noexcept - : TransactionStmt() { + inline CreateSubscriptionStmt(const CreateSubscriptionStmt& from) + : CreateSubscriptionStmt(nullptr, from) {} + CreateSubscriptionStmt(CreateSubscriptionStmt&& from) noexcept + : CreateSubscriptionStmt() { *this = ::std::move(from); } - inline TransactionStmt& operator=(const TransactionStmt& from) { + inline CreateSubscriptionStmt& operator=(const CreateSubscriptionStmt& from) { CopyFrom(from); return *this; } - inline TransactionStmt& operator=(TransactionStmt&& from) noexcept { + inline CreateSubscriptionStmt& operator=(CreateSubscriptionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -31223,208 +33219,236 @@ class TransactionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TransactionStmt& default_instance() { + static const CreateSubscriptionStmt& default_instance() { return *internal_default_instance(); } - static inline const TransactionStmt* internal_default_instance() { - return reinterpret_cast( - &_TransactionStmt_default_instance_); + static inline const CreateSubscriptionStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateSubscriptionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 97; + 268; - friend void swap(TransactionStmt& a, TransactionStmt& b) { + friend void swap(CreateSubscriptionStmt& a, CreateSubscriptionStmt& b) { a.Swap(&b); } - inline void Swap(TransactionStmt* other) { + inline void Swap(CreateSubscriptionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TransactionStmt* other) { + void UnsafeArenaSwap(CreateSubscriptionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TransactionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateSubscriptionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TransactionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TransactionStmt& from) { - TransactionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateSubscriptionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateSubscriptionStmt& from) { + CreateSubscriptionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TransactionStmt* other); + void InternalSwap(CreateSubscriptionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TransactionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateSubscriptionStmt"; } protected: - explicit TransactionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateSubscriptionStmt(::google::protobuf::Arena* arena); + CreateSubscriptionStmt(::google::protobuf::Arena* arena, const CreateSubscriptionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kSavepointNameFieldNumber = 3, - kGidFieldNumber = 4, - kKindFieldNumber = 1, - kChainFieldNumber = 5, + kPublicationFieldNumber = 3, + kOptionsFieldNumber = 4, + kSubnameFieldNumber = 1, + kConninfoFieldNumber = 2, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; + // repeated .pg_query.Node publication = 3 [json_name = "publication"]; + int publication_size() const; + private: + int _internal_publication_size() const; + + public: + void clear_publication() ; + ::pg_query::Node* mutable_publication(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_publication(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_publication() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_publication(); + public: + const ::pg_query::Node& publication(int index) const; + ::pg_query::Node* add_publication(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + publication() const; + // repeated .pg_query.Node options = 4 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; + public: - void clear_options(); + void clear_options() ; ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: const ::pg_query::Node& options(int index) const; ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; + // string subname = 1 [json_name = "subname"]; + void clear_subname() ; + const std::string& subname() const; + template + void set_subname(Arg_&& arg, Args_... args); + std::string* mutable_subname(); + PROTOBUF_NODISCARD std::string* release_subname(); + void set_allocated_subname(std::string* value); - // string savepoint_name = 3 [json_name = "savepoint_name"]; - void clear_savepoint_name(); - const std::string& savepoint_name() const; - template - void set_savepoint_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_savepoint_name(); - PROTOBUF_NODISCARD std::string* release_savepoint_name(); - void set_allocated_savepoint_name(std::string* savepoint_name); private: - const std::string& _internal_savepoint_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_savepoint_name(const std::string& value); - std::string* _internal_mutable_savepoint_name(); - public: + const std::string& _internal_subname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( + const std::string& value); + std::string* _internal_mutable_subname(); - // string gid = 4 [json_name = "gid"]; - void clear_gid(); - const std::string& gid() const; - template - void set_gid(ArgT0&& arg0, ArgT... args); - std::string* mutable_gid(); - PROTOBUF_NODISCARD std::string* release_gid(); - void set_allocated_gid(std::string* gid); - private: - const std::string& _internal_gid() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_gid(const std::string& value); - std::string* _internal_mutable_gid(); public: + // string conninfo = 2 [json_name = "conninfo"]; + void clear_conninfo() ; + const std::string& conninfo() const; + template + void set_conninfo(Arg_&& arg, Args_... args); + std::string* mutable_conninfo(); + PROTOBUF_NODISCARD std::string* release_conninfo(); + void set_allocated_conninfo(std::string* value); - // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::TransactionStmtKind kind() const; - void set_kind(::pg_query::TransactionStmtKind value); private: - ::pg_query::TransactionStmtKind _internal_kind() const; - void _internal_set_kind(::pg_query::TransactionStmtKind value); - public: + const std::string& _internal_conninfo() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conninfo( + const std::string& value); + std::string* _internal_mutable_conninfo(); - // bool chain = 5 [json_name = "chain"]; - void clear_chain(); - bool chain() const; - void set_chain(bool value); - private: - bool _internal_chain() const; - void _internal_set_chain(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.TransactionStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateSubscriptionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 55, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr savepoint_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr gid_; - int kind_; - bool chain_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > publication_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr subname_; + ::google::protobuf::internal::ArenaStringPtr conninfo_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ViewStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ViewStmt) */ { +class CreateTableAsStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTableAsStmt) */ { public: - inline ViewStmt() : ViewStmt(nullptr) {} - ~ViewStmt() override; - explicit PROTOBUF_CONSTEXPR ViewStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateTableAsStmt() : CreateTableAsStmt(nullptr) {} + ~CreateTableAsStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateTableAsStmt(::google::protobuf::internal::ConstantInitialized); - ViewStmt(const ViewStmt& from); - ViewStmt(ViewStmt&& from) noexcept - : ViewStmt() { + inline CreateTableAsStmt(const CreateTableAsStmt& from) + : CreateTableAsStmt(nullptr, from) {} + CreateTableAsStmt(CreateTableAsStmt&& from) noexcept + : CreateTableAsStmt() { *this = ::std::move(from); } - inline ViewStmt& operator=(const ViewStmt& from) { + inline CreateTableAsStmt& operator=(const CreateTableAsStmt& from) { CopyFrom(from); return *this; } - inline ViewStmt& operator=(ViewStmt&& from) noexcept { + inline CreateTableAsStmt& operator=(CreateTableAsStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -31434,236 +33458,231 @@ class ViewStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ViewStmt& default_instance() { + static const CreateTableAsStmt& default_instance() { return *internal_default_instance(); } - static inline const ViewStmt* internal_default_instance() { - return reinterpret_cast( - &_ViewStmt_default_instance_); + static inline const CreateTableAsStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateTableAsStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 98; + 247; - friend void swap(ViewStmt& a, ViewStmt& b) { + friend void swap(CreateTableAsStmt& a, CreateTableAsStmt& b) { a.Swap(&b); } - inline void Swap(ViewStmt* other) { + inline void Swap(CreateTableAsStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ViewStmt* other) { + void UnsafeArenaSwap(CreateTableAsStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ViewStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateTableAsStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ViewStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ViewStmt& from) { - ViewStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateTableAsStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateTableAsStmt& from) { + CreateTableAsStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ViewStmt* other); + void InternalSwap(CreateTableAsStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ViewStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateTableAsStmt"; } protected: - explicit ViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateTableAsStmt(::google::protobuf::Arena* arena); + CreateTableAsStmt(::google::protobuf::Arena* arena, const CreateTableAsStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kAliasesFieldNumber = 2, - kOptionsFieldNumber = 5, - kViewFieldNumber = 1, - kQueryFieldNumber = 3, - kReplaceFieldNumber = 4, - kWithCheckOptionFieldNumber = 6, + kQueryFieldNumber = 1, + kIntoFieldNumber = 2, + kObjtypeFieldNumber = 3, + kIsSelectIntoFieldNumber = 4, + kIfNotExistsFieldNumber = 5, }; - // repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; - int aliases_size() const; + // .pg_query.Node query = 1 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); + private: - int _internal_aliases_size() const; + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + public: - void clear_aliases(); - ::pg_query::Node* mutable_aliases(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_aliases(); + // .pg_query.IntoClause into = 2 [json_name = "into"]; + bool has_into() const; + void clear_into() ; + const ::pg_query::IntoClause& into() const; + PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into(); + ::pg_query::IntoClause* mutable_into(); + void set_allocated_into(::pg_query::IntoClause* value); + void unsafe_arena_set_allocated_into(::pg_query::IntoClause* value); + ::pg_query::IntoClause* unsafe_arena_release_into(); + private: - const ::pg_query::Node& _internal_aliases(int index) const; - ::pg_query::Node* _internal_add_aliases(); + const ::pg_query::IntoClause& _internal_into() const; + ::pg_query::IntoClause* _internal_mutable_into(); + public: - const ::pg_query::Node& aliases(int index) const; - ::pg_query::Node* add_aliases(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - aliases() const; + // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // repeated .pg_query.Node options = 5 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // bool is_select_into = 4 [json_name = "is_select_into"]; + void clear_is_select_into() ; + bool is_select_into() const; + void set_is_select_into(bool value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + bool _internal_is_select_into() const; + void _internal_set_is_select_into(bool value); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // bool if_not_exists = 5 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); - // .pg_query.RangeVar view = 1 [json_name = "view"]; - bool has_view() const; private: - bool _internal_has_view() const; + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + public: - void clear_view(); - const ::pg_query::RangeVar& view() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_view(); - ::pg_query::RangeVar* mutable_view(); - void set_allocated_view(::pg_query::RangeVar* view); - private: - const ::pg_query::RangeVar& _internal_view() const; - ::pg_query::RangeVar* _internal_mutable_view(); - public: - void unsafe_arena_set_allocated_view( - ::pg_query::RangeVar* view); - ::pg_query::RangeVar* unsafe_arena_release_view(); - - // .pg_query.Node query = 3 [json_name = "query"]; - bool has_query() const; - private: - bool _internal_has_query() const; - public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); - private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); - public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); - - // bool replace = 4 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); - private: - bool _internal_replace() const; - void _internal_set_replace(bool value); - public: - - // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; - void clear_with_check_option(); - ::pg_query::ViewCheckOption with_check_option() const; - void set_with_check_option(::pg_query::ViewCheckOption value); - private: - ::pg_query::ViewCheckOption _internal_with_check_option() const; - void _internal_set_with_check_option(::pg_query::ViewCheckOption value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.ViewStmt) + // @@protoc_insertion_point(class_scope:pg_query.CreateTableAsStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aliases_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::RangeVar* view_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; ::pg_query::Node* query_; - bool replace_; - int with_check_option_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::pg_query::IntoClause* into_; + int objtype_; + bool is_select_into_; + bool if_not_exists_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class LoadStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.LoadStmt) */ { +class CreateTableSpaceStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTableSpaceStmt) */ { public: - inline LoadStmt() : LoadStmt(nullptr) {} - ~LoadStmt() override; - explicit PROTOBUF_CONSTEXPR LoadStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateTableSpaceStmt() : CreateTableSpaceStmt(nullptr) {} + ~CreateTableSpaceStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateTableSpaceStmt(::google::protobuf::internal::ConstantInitialized); - LoadStmt(const LoadStmt& from); - LoadStmt(LoadStmt&& from) noexcept - : LoadStmt() { + inline CreateTableSpaceStmt(const CreateTableSpaceStmt& from) + : CreateTableSpaceStmt(nullptr, from) {} + CreateTableSpaceStmt(CreateTableSpaceStmt&& from) noexcept + : CreateTableSpaceStmt() { *this = ::std::move(from); } - inline LoadStmt& operator=(const LoadStmt& from) { + inline CreateTableSpaceStmt& operator=(const CreateTableSpaceStmt& from) { CopyFrom(from); return *this; } - inline LoadStmt& operator=(LoadStmt&& from) noexcept { + inline CreateTableSpaceStmt& operator=(CreateTableSpaceStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -31673,150 +33692,234 @@ class LoadStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const LoadStmt& default_instance() { + static const CreateTableSpaceStmt& default_instance() { return *internal_default_instance(); } - static inline const LoadStmt* internal_default_instance() { - return reinterpret_cast( - &_LoadStmt_default_instance_); + static inline const CreateTableSpaceStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateTableSpaceStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 99; + 167; - friend void swap(LoadStmt& a, LoadStmt& b) { + friend void swap(CreateTableSpaceStmt& a, CreateTableSpaceStmt& b) { a.Swap(&b); } - inline void Swap(LoadStmt* other) { + inline void Swap(CreateTableSpaceStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(LoadStmt* other) { + void UnsafeArenaSwap(CreateTableSpaceStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - LoadStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateTableSpaceStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const LoadStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const LoadStmt& from) { - LoadStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateTableSpaceStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateTableSpaceStmt& from) { + CreateTableSpaceStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(LoadStmt* other); + void InternalSwap(CreateTableSpaceStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.LoadStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateTableSpaceStmt"; } protected: - explicit LoadStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateTableSpaceStmt(::google::protobuf::Arena* arena); + CreateTableSpaceStmt(::google::protobuf::Arena* arena, const CreateTableSpaceStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFilenameFieldNumber = 1, + kOptionsFieldNumber = 4, + kTablespacenameFieldNumber = 1, + kLocationFieldNumber = 3, + kOwnerFieldNumber = 2, }; - // string filename = 1 [json_name = "filename"]; - void clear_filename(); - const std::string& filename() const; - template - void set_filename(ArgT0&& arg0, ArgT... args); - std::string* mutable_filename(); - PROTOBUF_NODISCARD std::string* release_filename(); - void set_allocated_filename(std::string* filename); + // repeated .pg_query.Node options = 4 [json_name = "options"]; + int options_size() const; private: - const std::string& _internal_filename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_filename(const std::string& value); - std::string* _internal_mutable_filename(); + int _internal_options_size() const; + + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string tablespacename = 1 [json_name = "tablespacename"]; + void clear_tablespacename() ; + const std::string& tablespacename() const; + template + void set_tablespacename(Arg_&& arg, Args_... args); + std::string* mutable_tablespacename(); + PROTOBUF_NODISCARD std::string* release_tablespacename(); + void set_allocated_tablespacename(std::string* value); - // @@protoc_insertion_point(class_scope:pg_query.LoadStmt) + private: + const std::string& _internal_tablespacename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename( + const std::string& value); + std::string* _internal_mutable_tablespacename(); + + public: + // string location = 3 [json_name = "location"]; + void clear_location() ; + const std::string& location() const; + template + void set_location(Arg_&& arg, Args_... args); + std::string* mutable_location(); + PROTOBUF_NODISCARD std::string* release_location(); + void set_allocated_location(std::string* value); + + private: + const std::string& _internal_location() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_location( + const std::string& value); + std::string* _internal_mutable_location(); + + public: + // .pg_query.RoleSpec owner = 2 [json_name = "owner"]; + bool has_owner() const; + void clear_owner() ; + const ::pg_query::RoleSpec& owner() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_owner(); + ::pg_query::RoleSpec* mutable_owner(); + void set_allocated_owner(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_owner(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_owner(); + + private: + const ::pg_query::RoleSpec& _internal_owner() const; + ::pg_query::RoleSpec* _internal_mutable_owner(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateTableSpaceStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 60, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr filename_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr tablespacename_; + ::google::protobuf::internal::ArenaStringPtr location_; + ::pg_query::RoleSpec* owner_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateDomainStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateDomainStmt) */ { +class CreateTransformStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTransformStmt) */ { public: - inline CreateDomainStmt() : CreateDomainStmt(nullptr) {} - ~CreateDomainStmt() override; - explicit PROTOBUF_CONSTEXPR CreateDomainStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateTransformStmt() : CreateTransformStmt(nullptr) {} + ~CreateTransformStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateTransformStmt(::google::protobuf::internal::ConstantInitialized); - CreateDomainStmt(const CreateDomainStmt& from); - CreateDomainStmt(CreateDomainStmt&& from) noexcept - : CreateDomainStmt() { + inline CreateTransformStmt(const CreateTransformStmt& from) + : CreateTransformStmt(nullptr, from) {} + CreateTransformStmt(CreateTransformStmt&& from) noexcept + : CreateTransformStmt() { *this = ::std::move(from); } - inline CreateDomainStmt& operator=(const CreateDomainStmt& from) { + inline CreateTransformStmt& operator=(const CreateTransformStmt& from) { CopyFrom(from); return *this; } - inline CreateDomainStmt& operator=(CreateDomainStmt&& from) noexcept { + inline CreateTransformStmt& operator=(CreateTransformStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -31826,214 +33929,242 @@ class CreateDomainStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateDomainStmt& default_instance() { + static const CreateTransformStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateDomainStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateDomainStmt_default_instance_); + static inline const CreateTransformStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateTransformStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 100; + 256; - friend void swap(CreateDomainStmt& a, CreateDomainStmt& b) { + friend void swap(CreateTransformStmt& a, CreateTransformStmt& b) { a.Swap(&b); } - inline void Swap(CreateDomainStmt* other) { + inline void Swap(CreateTransformStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateDomainStmt* other) { + void UnsafeArenaSwap(CreateTransformStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateDomainStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateTransformStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateDomainStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateDomainStmt& from) { - CreateDomainStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateTransformStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateTransformStmt& from) { + CreateTransformStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateDomainStmt* other); + void InternalSwap(CreateTransformStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateDomainStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateTransformStmt"; } protected: - explicit CreateDomainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateTransformStmt(::google::protobuf::Arena* arena); + CreateTransformStmt(::google::protobuf::Arena* arena, const CreateTransformStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDomainnameFieldNumber = 1, - kConstraintsFieldNumber = 4, + kLangFieldNumber = 3, kTypeNameFieldNumber = 2, - kCollClauseFieldNumber = 3, + kFromsqlFieldNumber = 4, + kTosqlFieldNumber = 5, + kReplaceFieldNumber = 1, }; - // repeated .pg_query.Node domainname = 1 [json_name = "domainname"]; - int domainname_size() const; - private: - int _internal_domainname_size() const; - public: - void clear_domainname(); - ::pg_query::Node* mutable_domainname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_domainname(); - private: - const ::pg_query::Node& _internal_domainname(int index) const; - ::pg_query::Node* _internal_add_domainname(); - public: - const ::pg_query::Node& domainname(int index) const; - ::pg_query::Node* add_domainname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - domainname() const; + // string lang = 3 [json_name = "lang"]; + void clear_lang() ; + const std::string& lang() const; + template + void set_lang(Arg_&& arg, Args_... args); + std::string* mutable_lang(); + PROTOBUF_NODISCARD std::string* release_lang(); + void set_allocated_lang(std::string* value); - // repeated .pg_query.Node constraints = 4 [json_name = "constraints"]; - int constraints_size() const; - private: - int _internal_constraints_size() const; - public: - void clear_constraints(); - ::pg_query::Node* mutable_constraints(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_constraints(); private: - const ::pg_query::Node& _internal_constraints(int index) const; - ::pg_query::Node* _internal_add_constraints(); - public: - const ::pg_query::Node& constraints(int index) const; - ::pg_query::Node* add_constraints(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - constraints() const; + const std::string& _internal_lang() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_lang( + const std::string& value); + std::string* _internal_mutable_lang(); - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; - private: - bool _internal_has_type_name() const; public: - void clear_type_name(); + // .pg_query.TypeName type_name = 2 [json_name = "type_name"]; + bool has_type_name() const; + void clear_type_name() ; const ::pg_query::TypeName& type_name() const; PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + private: const ::pg_query::TypeName& _internal_type_name() const; ::pg_query::TypeName* _internal_mutable_type_name(); + public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"]; + bool has_fromsql() const; + void clear_fromsql() ; + const ::pg_query::ObjectWithArgs& fromsql() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_fromsql(); + ::pg_query::ObjectWithArgs* mutable_fromsql(); + void set_allocated_fromsql(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_fromsql(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_fromsql(); - // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"]; - bool has_coll_clause() const; private: - bool _internal_has_coll_clause() const; + const ::pg_query::ObjectWithArgs& _internal_fromsql() const; + ::pg_query::ObjectWithArgs* _internal_mutable_fromsql(); + public: - void clear_coll_clause(); - const ::pg_query::CollateClause& coll_clause() const; - PROTOBUF_NODISCARD ::pg_query::CollateClause* release_coll_clause(); - ::pg_query::CollateClause* mutable_coll_clause(); - void set_allocated_coll_clause(::pg_query::CollateClause* coll_clause); + // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"]; + bool has_tosql() const; + void clear_tosql() ; + const ::pg_query::ObjectWithArgs& tosql() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_tosql(); + ::pg_query::ObjectWithArgs* mutable_tosql(); + void set_allocated_tosql(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_tosql(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_tosql(); + private: - const ::pg_query::CollateClause& _internal_coll_clause() const; - ::pg_query::CollateClause* _internal_mutable_coll_clause(); + const ::pg_query::ObjectWithArgs& _internal_tosql() const; + ::pg_query::ObjectWithArgs* _internal_mutable_tosql(); + public: - void unsafe_arena_set_allocated_coll_clause( - ::pg_query::CollateClause* coll_clause); - ::pg_query::CollateClause* unsafe_arena_release_coll_clause(); + // bool replace = 1 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateDomainStmt) + private: + bool _internal_replace() const; + void _internal_set_replace(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateTransformStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 41, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > domainname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > constraints_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr lang_; ::pg_query::TypeName* type_name_; - ::pg_query::CollateClause* coll_clause_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::pg_query::ObjectWithArgs* fromsql_; + ::pg_query::ObjectWithArgs* tosql_; + bool replace_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreatedbStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatedbStmt) */ { +class CreateTrigStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTrigStmt) */ { public: - inline CreatedbStmt() : CreatedbStmt(nullptr) {} - ~CreatedbStmt() override; - explicit PROTOBUF_CONSTEXPR CreatedbStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateTrigStmt() : CreateTrigStmt(nullptr) {} + ~CreateTrigStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateTrigStmt(::google::protobuf::internal::ConstantInitialized); - CreatedbStmt(const CreatedbStmt& from); - CreatedbStmt(CreatedbStmt&& from) noexcept - : CreatedbStmt() { + inline CreateTrigStmt(const CreateTrigStmt& from) + : CreateTrigStmt(nullptr, from) {} + CreateTrigStmt(CreateTrigStmt&& from) noexcept + : CreateTrigStmt() { *this = ::std::move(from); } - inline CreatedbStmt& operator=(const CreatedbStmt& from) { + inline CreateTrigStmt& operator=(const CreateTrigStmt& from) { CopyFrom(from); return *this; } - inline CreatedbStmt& operator=(CreatedbStmt&& from) noexcept { + inline CreateTrigStmt& operator=(CreateTrigStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -32043,354 +34174,394 @@ class CreatedbStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreatedbStmt& default_instance() { + static const CreateTrigStmt& default_instance() { return *internal_default_instance(); } - static inline const CreatedbStmt* internal_default_instance() { - return reinterpret_cast( - &_CreatedbStmt_default_instance_); + static inline const CreateTrigStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateTrigStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 101; + 186; - friend void swap(CreatedbStmt& a, CreatedbStmt& b) { + friend void swap(CreateTrigStmt& a, CreateTrigStmt& b) { a.Swap(&b); } - inline void Swap(CreatedbStmt* other) { + inline void Swap(CreateTrigStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreatedbStmt* other) { + void UnsafeArenaSwap(CreateTrigStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreatedbStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateTrigStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreatedbStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreatedbStmt& from) { - CreatedbStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateTrigStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateTrigStmt& from) { + CreateTrigStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreatedbStmt* other); + void InternalSwap(CreateTrigStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreatedbStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateTrigStmt"; } protected: - explicit CreatedbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateTrigStmt(::google::protobuf::Arena* arena); + CreateTrigStmt(::google::protobuf::Arena* arena, const CreateTrigStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kDbnameFieldNumber = 1, + kFuncnameFieldNumber = 5, + kArgsFieldNumber = 6, + kColumnsFieldNumber = 10, + kTransitionRelsFieldNumber = 12, + kTrignameFieldNumber = 3, + kRelationFieldNumber = 4, + kWhenClauseFieldNumber = 11, + kConstrrelFieldNumber = 15, + kReplaceFieldNumber = 1, + kIsconstraintFieldNumber = 2, + kRowFieldNumber = 7, + kDeferrableFieldNumber = 13, + kTimingFieldNumber = 8, + kEventsFieldNumber = 9, + kInitdeferredFieldNumber = 14, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node funcname = 5 [json_name = "funcname"]; + int funcname_size() const; private: - int _internal_options_size() const; + int _internal_funcname_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_funcname() ; + ::pg_query::Node* mutable_funcname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funcname(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funcname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funcname(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& funcname(int index) const; + ::pg_query::Node* add_funcname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funcname() const; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; - // string dbname = 1 [json_name = "dbname"]; - void clear_dbname(); - const std::string& dbname() const; - template - void set_dbname(ArgT0&& arg0, ArgT... args); - std::string* mutable_dbname(); - PROTOBUF_NODISCARD std::string* release_dbname(); - void set_allocated_dbname(std::string* dbname); + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const std::string& _internal_dbname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname(const std::string& value); - std::string* _internal_mutable_dbname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node columns = 10 [json_name = "columns"]; + int columns_size() const; + private: + int _internal_columns_size() const; - // @@protoc_insertion_point(class_scope:pg_query.CreatedbStmt) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dbname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class DropdbStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropdbStmt) */ { - public: - inline DropdbStmt() : DropdbStmt(nullptr) {} - ~DropdbStmt() override; - explicit PROTOBUF_CONSTEXPR DropdbStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DropdbStmt(const DropdbStmt& from); - DropdbStmt(DropdbStmt&& from) noexcept - : DropdbStmt() { - *this = ::std::move(from); - } - - inline DropdbStmt& operator=(const DropdbStmt& from) { - CopyFrom(from); - return *this; - } - inline DropdbStmt& operator=(DropdbStmt&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const DropdbStmt& default_instance() { - return *internal_default_instance(); - } - static inline const DropdbStmt* internal_default_instance() { - return reinterpret_cast( - &_DropdbStmt_default_instance_); - } - static constexpr int kIndexInFileMessages = - 102; - - friend void swap(DropdbStmt& a, DropdbStmt& b) { - a.Swap(&b); - } - inline void Swap(DropdbStmt* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(DropdbStmt* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - DropdbStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropdbStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropdbStmt& from) { - DropdbStmt::MergeImpl(*this, from); - } + public: + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"]; + int transition_rels_size() const; private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropdbStmt* other); + int _internal_transition_rels_size() const; + public: + void clear_transition_rels() ; + ::pg_query::Node* mutable_transition_rels(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_transition_rels(); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropdbStmt"; - } - protected: - explicit DropdbStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_transition_rels() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_transition_rels(); public: + const ::pg_query::Node& transition_rels(int index) const; + ::pg_query::Node* add_transition_rels(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + transition_rels() const; + // string trigname = 3 [json_name = "trigname"]; + void clear_trigname() ; + const std::string& trigname() const; + template + void set_trigname(Arg_&& arg, Args_... args); + std::string* mutable_trigname(); + PROTOBUF_NODISCARD std::string* release_trigname(); + void set_allocated_trigname(std::string* value); - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + private: + const std::string& _internal_trigname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname( + const std::string& value); + std::string* _internal_mutable_trigname(); - // nested types ---------------------------------------------------- + public: + // .pg_query.RangeVar relation = 4 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // accessors ------------------------------------------------------- + private: + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + + public: + // .pg_query.Node when_clause = 11 [json_name = "whenClause"]; + bool has_when_clause() const; + void clear_when_clause() ; + const ::pg_query::Node& when_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_when_clause(); + ::pg_query::Node* mutable_when_clause(); + void set_allocated_when_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_when_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_when_clause(); - enum : int { - kOptionsFieldNumber = 3, - kDbnameFieldNumber = 1, - kMissingOkFieldNumber = 2, - }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + const ::pg_query::Node& _internal_when_clause() const; + ::pg_query::Node* _internal_mutable_when_clause(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"]; + bool has_constrrel() const; + void clear_constrrel() ; + const ::pg_query::RangeVar& constrrel() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_constrrel(); + ::pg_query::RangeVar* mutable_constrrel(); + void set_allocated_constrrel(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_constrrel(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_constrrel(); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::pg_query::RangeVar& _internal_constrrel() const; + ::pg_query::RangeVar* _internal_mutable_constrrel(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // bool replace = 1 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // string dbname = 1 [json_name = "dbname"]; - void clear_dbname(); - const std::string& dbname() const; - template - void set_dbname(ArgT0&& arg0, ArgT... args); - std::string* mutable_dbname(); - PROTOBUF_NODISCARD std::string* release_dbname(); - void set_allocated_dbname(std::string* dbname); private: - const std::string& _internal_dbname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname(const std::string& value); - std::string* _internal_mutable_dbname(); + bool _internal_replace() const; + void _internal_set_replace(bool value); + public: + // bool isconstraint = 2 [json_name = "isconstraint"]; + void clear_isconstraint() ; + bool isconstraint() const; + void set_isconstraint(bool value); - // bool missing_ok = 2 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + bool _internal_isconstraint() const; + void _internal_set_isconstraint(bool value); + public: + // bool row = 7 [json_name = "row"]; + void clear_row() ; + bool row() const; + void set_row(bool value); - // @@protoc_insertion_point(class_scope:pg_query.DropdbStmt) + private: + bool _internal_row() const; + void _internal_set_row(bool value); + + public: + // bool deferrable = 13 [json_name = "deferrable"]; + void clear_deferrable() ; + bool deferrable() const; + void set_deferrable(bool value); + + private: + bool _internal_deferrable() const; + void _internal_set_deferrable(bool value); + + public: + // int32 timing = 8 [json_name = "timing"]; + void clear_timing() ; + ::int32_t timing() const; + void set_timing(::int32_t value); + + private: + ::int32_t _internal_timing() const; + void _internal_set_timing(::int32_t value); + + public: + // int32 events = 9 [json_name = "events"]; + void clear_events() ; + ::int32_t events() const; + void set_events(::int32_t value); + + private: + ::int32_t _internal_events() const; + void _internal_set_events(::int32_t value); + + public: + // bool initdeferred = 14 [json_name = "initdeferred"]; + void clear_initdeferred() ; + bool initdeferred() const; + void set_initdeferred(bool value); + + private: + bool _internal_initdeferred() const; + void _internal_set_initdeferred(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateTrigStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 15, 7, + 48, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dbname_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funcname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > transition_rels_; + ::google::protobuf::internal::ArenaStringPtr trigname_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* when_clause_; + ::pg_query::RangeVar* constrrel_; + bool replace_; + bool isconstraint_; + bool row_; + bool deferrable_; + ::int32_t timing_; + ::int32_t events_; + bool initdeferred_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class VacuumStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumStmt) */ { +class CreateUserMappingStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateUserMappingStmt) */ { public: - inline VacuumStmt() : VacuumStmt(nullptr) {} - ~VacuumStmt() override; - explicit PROTOBUF_CONSTEXPR VacuumStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreateUserMappingStmt() : CreateUserMappingStmt(nullptr) {} + ~CreateUserMappingStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreateUserMappingStmt(::google::protobuf::internal::ConstantInitialized); - VacuumStmt(const VacuumStmt& from); - VacuumStmt(VacuumStmt&& from) noexcept - : VacuumStmt() { + inline CreateUserMappingStmt(const CreateUserMappingStmt& from) + : CreateUserMappingStmt(nullptr, from) {} + CreateUserMappingStmt(CreateUserMappingStmt&& from) noexcept + : CreateUserMappingStmt() { *this = ::std::move(from); } - inline VacuumStmt& operator=(const VacuumStmt& from) { + inline CreateUserMappingStmt& operator=(const CreateUserMappingStmt& from) { CopyFrom(from); return *this; } - inline VacuumStmt& operator=(VacuumStmt&& from) noexcept { + inline CreateUserMappingStmt& operator=(CreateUserMappingStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -32400,185 +34571,228 @@ class VacuumStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VacuumStmt& default_instance() { + static const CreateUserMappingStmt& default_instance() { return *internal_default_instance(); } - static inline const VacuumStmt* internal_default_instance() { - return reinterpret_cast( - &_VacuumStmt_default_instance_); + static inline const CreateUserMappingStmt* internal_default_instance() { + return reinterpret_cast( + &_CreateUserMappingStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 103; + 179; - friend void swap(VacuumStmt& a, VacuumStmt& b) { + friend void swap(CreateUserMappingStmt& a, CreateUserMappingStmt& b) { a.Swap(&b); } - inline void Swap(VacuumStmt* other) { + inline void Swap(CreateUserMappingStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VacuumStmt* other) { + void UnsafeArenaSwap(CreateUserMappingStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - VacuumStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreateUserMappingStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const VacuumStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const VacuumStmt& from) { - VacuumStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreateUserMappingStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreateUserMappingStmt& from) { + CreateUserMappingStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(VacuumStmt* other); + void InternalSwap(CreateUserMappingStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.VacuumStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreateUserMappingStmt"; } protected: - explicit VacuumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreateUserMappingStmt(::google::protobuf::Arena* arena); + CreateUserMappingStmt(::google::protobuf::Arena* arena, const CreateUserMappingStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 1, - kRelsFieldNumber = 2, - kIsVacuumcmdFieldNumber = 3, + kOptionsFieldNumber = 4, + kServernameFieldNumber = 2, + kUserFieldNumber = 1, + kIfNotExistsFieldNumber = 3, }; - // repeated .pg_query.Node options = 1 [json_name = "options"]; + // repeated .pg_query.Node options = 4 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; + public: - void clear_options(); + void clear_options() ; ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: const ::pg_query::Node& options(int index) const; ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; + // string servername = 2 [json_name = "servername"]; + void clear_servername() ; + const std::string& servername() const; + template + void set_servername(Arg_&& arg, Args_... args); + std::string* mutable_servername(); + PROTOBUF_NODISCARD std::string* release_servername(); + void set_allocated_servername(std::string* value); - // repeated .pg_query.Node rels = 2 [json_name = "rels"]; - int rels_size() const; private: - int _internal_rels_size() const; + const std::string& _internal_servername() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername( + const std::string& value); + std::string* _internal_mutable_servername(); + public: - void clear_rels(); - ::pg_query::Node* mutable_rels(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_rels(); + // .pg_query.RoleSpec user = 1 [json_name = "user"]; + bool has_user() const; + void clear_user() ; + const ::pg_query::RoleSpec& user() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); + ::pg_query::RoleSpec* mutable_user(); + void set_allocated_user(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_user(); + private: - const ::pg_query::Node& _internal_rels(int index) const; - ::pg_query::Node* _internal_add_rels(); + const ::pg_query::RoleSpec& _internal_user() const; + ::pg_query::RoleSpec* _internal_mutable_user(); + public: - const ::pg_query::Node& rels(int index) const; - ::pg_query::Node* add_rels(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - rels() const; + // bool if_not_exists = 3 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); - // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; - void clear_is_vacuumcmd(); - bool is_vacuumcmd() const; - void set_is_vacuumcmd(bool value); private: - bool _internal_is_vacuumcmd() const; - void _internal_set_is_vacuumcmd(bool value); - public: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); - // @@protoc_insertion_point(class_scope:pg_query.VacuumStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreateUserMappingStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 49, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > rels_; - bool is_vacuumcmd_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr servername_; + ::pg_query::RoleSpec* user_; + bool if_not_exists_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ExplainStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ExplainStmt) */ { +class CreatedbStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatedbStmt) */ { public: - inline ExplainStmt() : ExplainStmt(nullptr) {} - ~ExplainStmt() override; - explicit PROTOBUF_CONSTEXPR ExplainStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CreatedbStmt() : CreatedbStmt(nullptr) {} + ~CreatedbStmt() override; + template + explicit PROTOBUF_CONSTEXPR CreatedbStmt(::google::protobuf::internal::ConstantInitialized); - ExplainStmt(const ExplainStmt& from); - ExplainStmt(ExplainStmt&& from) noexcept - : ExplainStmt() { + inline CreatedbStmt(const CreatedbStmt& from) + : CreatedbStmt(nullptr, from) {} + CreatedbStmt(CreatedbStmt&& from) noexcept + : CreatedbStmt() { *this = ::std::move(from); } - inline ExplainStmt& operator=(const ExplainStmt& from) { + inline CreatedbStmt& operator=(const CreatedbStmt& from) { CopyFrom(from); return *this; } - inline ExplainStmt& operator=(ExplainStmt&& from) noexcept { + inline CreatedbStmt& operator=(CreatedbStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -32588,90 +34802,99 @@ class ExplainStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ExplainStmt& default_instance() { + static const CreatedbStmt& default_instance() { return *internal_default_instance(); } - static inline const ExplainStmt* internal_default_instance() { - return reinterpret_cast( - &_ExplainStmt_default_instance_); + static inline const CreatedbStmt* internal_default_instance() { + return reinterpret_cast( + &_CreatedbStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 104; + 237; - friend void swap(ExplainStmt& a, ExplainStmt& b) { + friend void swap(CreatedbStmt& a, CreatedbStmt& b) { a.Swap(&b); } - inline void Swap(ExplainStmt* other) { + inline void Swap(CreatedbStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ExplainStmt* other) { + void UnsafeArenaSwap(CreatedbStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ExplainStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CreatedbStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ExplainStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ExplainStmt& from) { - ExplainStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CreatedbStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CreatedbStmt& from) { + CreatedbStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ExplainStmt* other); + void InternalSwap(CreatedbStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ExplainStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CreatedbStmt"; } protected: - explicit ExplainStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CreatedbStmt(::google::protobuf::Arena* arena); + CreatedbStmt(::google::protobuf::Arena* arena, const CreatedbStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- @@ -32679,83 +34902,98 @@ class ExplainStmt final : enum : int { kOptionsFieldNumber = 2, - kQueryFieldNumber = 1, + kDbnameFieldNumber = 1, }; // repeated .pg_query.Node options = 2 [json_name = "options"]; int options_size() const; private: int _internal_options_size() const; + public: - void clear_options(); + void clear_options() ; ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: const ::pg_query::Node& options(int index) const; ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& options() const; + // string dbname = 1 [json_name = "dbname"]; + void clear_dbname() ; + const std::string& dbname() const; + template + void set_dbname(Arg_&& arg, Args_... args); + std::string* mutable_dbname(); + PROTOBUF_NODISCARD std::string* release_dbname(); + void set_allocated_dbname(std::string* value); - // .pg_query.Node query = 1 [json_name = "query"]; - bool has_query() const; - private: - bool _internal_has_query() const; - public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); - public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); + const std::string& _internal_dbname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname( + const std::string& value); + std::string* _internal_mutable_dbname(); - // @@protoc_insertion_point(class_scope:pg_query.ExplainStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CreatedbStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 36, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::Node* query_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr dbname_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateTableAsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTableAsStmt) */ { +class CurrentOfExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.CurrentOfExpr) */ { public: - inline CreateTableAsStmt() : CreateTableAsStmt(nullptr) {} - ~CreateTableAsStmt() override; - explicit PROTOBUF_CONSTEXPR CreateTableAsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline CurrentOfExpr() : CurrentOfExpr(nullptr) {} + ~CurrentOfExpr() override; + template + explicit PROTOBUF_CONSTEXPR CurrentOfExpr(::google::protobuf::internal::ConstantInitialized); - CreateTableAsStmt(const CreateTableAsStmt& from); - CreateTableAsStmt(CreateTableAsStmt&& from) noexcept - : CreateTableAsStmt() { + inline CurrentOfExpr(const CurrentOfExpr& from) + : CurrentOfExpr(nullptr, from) {} + CurrentOfExpr(CurrentOfExpr&& from) noexcept + : CurrentOfExpr() { *this = ::std::move(from); } - inline CreateTableAsStmt& operator=(const CreateTableAsStmt& from) { + inline CurrentOfExpr& operator=(const CurrentOfExpr& from) { CopyFrom(from); return *this; } - inline CreateTableAsStmt& operator=(CreateTableAsStmt&& from) noexcept { + inline CurrentOfExpr& operator=(CurrentOfExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -32765,207 +35003,220 @@ class CreateTableAsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateTableAsStmt& default_instance() { + static const CurrentOfExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateTableAsStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateTableAsStmt_default_instance_); + static inline const CurrentOfExpr* internal_default_instance() { + return reinterpret_cast( + &_CurrentOfExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 105; + 67; - friend void swap(CreateTableAsStmt& a, CreateTableAsStmt& b) { + friend void swap(CurrentOfExpr& a, CurrentOfExpr& b) { a.Swap(&b); } - inline void Swap(CreateTableAsStmt* other) { + inline void Swap(CurrentOfExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateTableAsStmt* other) { + void UnsafeArenaSwap(CurrentOfExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateTableAsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + CurrentOfExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateTableAsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateTableAsStmt& from) { - CreateTableAsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const CurrentOfExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const CurrentOfExpr& from) { + CurrentOfExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateTableAsStmt* other); + void InternalSwap(CurrentOfExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateTableAsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.CurrentOfExpr"; } protected: - explicit CreateTableAsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit CurrentOfExpr(::google::protobuf::Arena* arena); + CurrentOfExpr(::google::protobuf::Arena* arena, const CurrentOfExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kQueryFieldNumber = 1, - kIntoFieldNumber = 2, - kObjtypeFieldNumber = 3, - kIsSelectIntoFieldNumber = 4, - kIfNotExistsFieldNumber = 5, + kCursorNameFieldNumber = 3, + kXprFieldNumber = 1, + kCvarnoFieldNumber = 2, + kCursorParamFieldNumber = 4, }; - // .pg_query.Node query = 1 [json_name = "query"]; - bool has_query() const; - private: - bool _internal_has_query() const; - public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); - private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); - public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); + // string cursor_name = 3 [json_name = "cursor_name"]; + void clear_cursor_name() ; + const std::string& cursor_name() const; + template + void set_cursor_name(Arg_&& arg, Args_... args); + std::string* mutable_cursor_name(); + PROTOBUF_NODISCARD std::string* release_cursor_name(); + void set_allocated_cursor_name(std::string* value); - // .pg_query.IntoClause into = 2 [json_name = "into"]; - bool has_into() const; - private: - bool _internal_has_into() const; - public: - void clear_into(); - const ::pg_query::IntoClause& into() const; - PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into(); - ::pg_query::IntoClause* mutable_into(); - void set_allocated_into(::pg_query::IntoClause* into); private: - const ::pg_query::IntoClause& _internal_into() const; - ::pg_query::IntoClause* _internal_mutable_into(); + const std::string& _internal_cursor_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_cursor_name( + const std::string& value); + std::string* _internal_mutable_cursor_name(); + public: - void unsafe_arena_set_allocated_into( - ::pg_query::IntoClause* into); - ::pg_query::IntoClause* unsafe_arena_release_into(); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // uint32 cvarno = 2 [json_name = "cvarno"]; + void clear_cvarno() ; + ::uint32_t cvarno() const; + void set_cvarno(::uint32_t value); - // bool is_select_into = 4 [json_name = "is_select_into"]; - void clear_is_select_into(); - bool is_select_into() const; - void set_is_select_into(bool value); private: - bool _internal_is_select_into() const; - void _internal_set_is_select_into(bool value); + ::uint32_t _internal_cvarno() const; + void _internal_set_cvarno(::uint32_t value); + public: + // int32 cursor_param = 4 [json_name = "cursor_param"]; + void clear_cursor_param() ; + ::int32_t cursor_param() const; + void set_cursor_param(::int32_t value); - // bool if_not_exists = 5 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + ::int32_t _internal_cursor_param() const; + void _internal_set_cursor_param(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateTableAsStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.CurrentOfExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* query_; - ::pg_query::IntoClause* into_; - int objtype_; - bool is_select_into_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr cursor_name_; + ::pg_query::Node* xpr_; + ::uint32_t cvarno_; + ::int32_t cursor_param_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateSeqStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSeqStmt) */ { +class DeclareCursorStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DeclareCursorStmt) */ { public: - inline CreateSeqStmt() : CreateSeqStmt(nullptr) {} - ~CreateSeqStmt() override; - explicit PROTOBUF_CONSTEXPR CreateSeqStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DeclareCursorStmt() : DeclareCursorStmt(nullptr) {} + ~DeclareCursorStmt() override; + template + explicit PROTOBUF_CONSTEXPR DeclareCursorStmt(::google::protobuf::internal::ConstantInitialized); - CreateSeqStmt(const CreateSeqStmt& from); - CreateSeqStmt(CreateSeqStmt&& from) noexcept - : CreateSeqStmt() { + inline DeclareCursorStmt(const DeclareCursorStmt& from) + : DeclareCursorStmt(nullptr, from) {} + DeclareCursorStmt(DeclareCursorStmt&& from) noexcept + : DeclareCursorStmt() { *this = ::std::move(from); } - inline CreateSeqStmt& operator=(const CreateSeqStmt& from) { + inline DeclareCursorStmt& operator=(const DeclareCursorStmt& from) { CopyFrom(from); return *this; } - inline CreateSeqStmt& operator=(CreateSeqStmt&& from) noexcept { + inline DeclareCursorStmt& operator=(DeclareCursorStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -32975,207 +35226,208 @@ class CreateSeqStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateSeqStmt& default_instance() { + static const DeclareCursorStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateSeqStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateSeqStmt_default_instance_); + static inline const DeclareCursorStmt* internal_default_instance() { + return reinterpret_cast( + &_DeclareCursorStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 106; + 206; - friend void swap(CreateSeqStmt& a, CreateSeqStmt& b) { + friend void swap(DeclareCursorStmt& a, DeclareCursorStmt& b) { a.Swap(&b); } - inline void Swap(CreateSeqStmt* other) { + inline void Swap(DeclareCursorStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateSeqStmt* other) { + void UnsafeArenaSwap(DeclareCursorStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateSeqStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DeclareCursorStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateSeqStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateSeqStmt& from) { - CreateSeqStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DeclareCursorStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DeclareCursorStmt& from) { + DeclareCursorStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateSeqStmt* other); + void InternalSwap(DeclareCursorStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateSeqStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DeclareCursorStmt"; } protected: - explicit CreateSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DeclareCursorStmt(::google::protobuf::Arena* arena); + DeclareCursorStmt(::google::protobuf::Arena* arena, const DeclareCursorStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { + kPortalnameFieldNumber = 1, + kQueryFieldNumber = 3, kOptionsFieldNumber = 2, - kSequenceFieldNumber = 1, - kOwnerIdFieldNumber = 3, - kForIdentityFieldNumber = 4, - kIfNotExistsFieldNumber = 5, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // string portalname = 1 [json_name = "portalname"]; + void clear_portalname() ; + const std::string& portalname() const; + template + void set_portalname(Arg_&& arg, Args_... args); + std::string* mutable_portalname(); + PROTOBUF_NODISCARD std::string* release_portalname(); + void set_allocated_portalname(std::string* value); - // .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; - bool has_sequence() const; - private: - bool _internal_has_sequence() const; - public: - void clear_sequence(); - const ::pg_query::RangeVar& sequence() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_sequence(); - ::pg_query::RangeVar* mutable_sequence(); - void set_allocated_sequence(::pg_query::RangeVar* sequence); private: - const ::pg_query::RangeVar& _internal_sequence() const; - ::pg_query::RangeVar* _internal_mutable_sequence(); - public: - void unsafe_arena_set_allocated_sequence( - ::pg_query::RangeVar* sequence); - ::pg_query::RangeVar* unsafe_arena_release_sequence(); + const std::string& _internal_portalname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname( + const std::string& value); + std::string* _internal_mutable_portalname(); - // uint32 owner_id = 3 [json_name = "ownerId"]; - void clear_owner_id(); - uint32_t owner_id() const; - void set_owner_id(uint32_t value); - private: - uint32_t _internal_owner_id() const; - void _internal_set_owner_id(uint32_t value); public: + // .pg_query.Node query = 3 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); - // bool for_identity = 4 [json_name = "for_identity"]; - void clear_for_identity(); - bool for_identity() const; - void set_for_identity(bool value); private: - bool _internal_for_identity() const; - void _internal_set_for_identity(bool value); + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + public: + // int32 options = 2 [json_name = "options"]; + void clear_options() ; + ::int32_t options() const; + void set_options(::int32_t value); - // bool if_not_exists = 5 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + ::int32_t _internal_options() const; + void _internal_set_options(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateSeqStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.DeclareCursorStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 45, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::RangeVar* sequence_; - uint32_t owner_id_; - bool for_identity_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr portalname_; + ::pg_query::Node* query_; + ::int32_t options_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterSeqStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSeqStmt) */ { +class DefElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DefElem) */ { public: - inline AlterSeqStmt() : AlterSeqStmt(nullptr) {} - ~AlterSeqStmt() override; - explicit PROTOBUF_CONSTEXPR AlterSeqStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DefElem() : DefElem(nullptr) {} + ~DefElem() override; + template + explicit PROTOBUF_CONSTEXPR DefElem(::google::protobuf::internal::ConstantInitialized); - AlterSeqStmt(const AlterSeqStmt& from); - AlterSeqStmt(AlterSeqStmt&& from) noexcept - : AlterSeqStmt() { + inline DefElem(const DefElem& from) + : DefElem(nullptr, from) {} + DefElem(DefElem&& from) noexcept + : DefElem() { *this = ::std::move(from); } - inline AlterSeqStmt& operator=(const AlterSeqStmt& from) { + inline DefElem& operator=(const DefElem& from) { CopyFrom(from); return *this; } - inline AlterSeqStmt& operator=(AlterSeqStmt&& from) noexcept { + inline DefElem& operator=(DefElem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -33185,196 +35437,238 @@ class AlterSeqStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterSeqStmt& default_instance() { + static const DefElem& default_instance() { return *internal_default_instance(); } - static inline const AlterSeqStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterSeqStmt_default_instance_); + static inline const DefElem* internal_default_instance() { + return reinterpret_cast( + &_DefElem_default_instance_); } static constexpr int kIndexInFileMessages = - 107; + 100; - friend void swap(AlterSeqStmt& a, AlterSeqStmt& b) { + friend void swap(DefElem& a, DefElem& b) { a.Swap(&b); } - inline void Swap(AlterSeqStmt* other) { + inline void Swap(DefElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterSeqStmt* other) { + void UnsafeArenaSwap(DefElem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterSeqStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DefElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterSeqStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterSeqStmt& from) { - AlterSeqStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DefElem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DefElem& from) { + DefElem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterSeqStmt* other); + void InternalSwap(DefElem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterSeqStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DefElem"; } protected: - explicit AlterSeqStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DefElem(::google::protobuf::Arena* arena); + DefElem(::google::protobuf::Arena* arena, const DefElem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kSequenceFieldNumber = 1, - kForIdentityFieldNumber = 3, - kMissingOkFieldNumber = 4, + kDefnamespaceFieldNumber = 1, + kDefnameFieldNumber = 2, + kArgFieldNumber = 3, + kDefactionFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // string defnamespace = 1 [json_name = "defnamespace"]; + void clear_defnamespace() ; + const std::string& defnamespace() const; + template + void set_defnamespace(Arg_&& arg, Args_... args); + std::string* mutable_defnamespace(); + PROTOBUF_NODISCARD std::string* release_defnamespace(); + void set_allocated_defnamespace(std::string* value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const std::string& _internal_defnamespace() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_defnamespace( + const std::string& value); + std::string* _internal_mutable_defnamespace(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // string defname = 2 [json_name = "defname"]; + void clear_defname() ; + const std::string& defname() const; + template + void set_defname(Arg_&& arg, Args_... args); + std::string* mutable_defname(); + PROTOBUF_NODISCARD std::string* release_defname(); + void set_allocated_defname(std::string* value); - // .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; - bool has_sequence() const; private: - bool _internal_has_sequence() const; + const std::string& _internal_defname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_defname( + const std::string& value); + std::string* _internal_mutable_defname(); + public: - void clear_sequence(); - const ::pg_query::RangeVar& sequence() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_sequence(); - ::pg_query::RangeVar* mutable_sequence(); - void set_allocated_sequence(::pg_query::RangeVar* sequence); + // .pg_query.Node arg = 3 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::RangeVar& _internal_sequence() const; - ::pg_query::RangeVar* _internal_mutable_sequence(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - void unsafe_arena_set_allocated_sequence( - ::pg_query::RangeVar* sequence); - ::pg_query::RangeVar* unsafe_arena_release_sequence(); + // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; + void clear_defaction() ; + ::pg_query::DefElemAction defaction() const; + void set_defaction(::pg_query::DefElemAction value); - // bool for_identity = 3 [json_name = "for_identity"]; - void clear_for_identity(); - bool for_identity() const; - void set_for_identity(bool value); private: - bool _internal_for_identity() const; - void _internal_set_for_identity(bool value); + ::pg_query::DefElemAction _internal_defaction() const; + void _internal_set_defaction(::pg_query::DefElemAction value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool missing_ok = 4 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterSeqStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.DefElem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::RangeVar* sequence_; - bool for_identity_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr defnamespace_; + ::google::protobuf::internal::ArenaStringPtr defname_; + ::pg_query::Node* arg_; + int defaction_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class VariableSetStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableSetStmt) */ { +class DefineStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DefineStmt) */ { public: - inline VariableSetStmt() : VariableSetStmt(nullptr) {} - ~VariableSetStmt() override; - explicit PROTOBUF_CONSTEXPR VariableSetStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DefineStmt() : DefineStmt(nullptr) {} + ~DefineStmt() override; + template + explicit PROTOBUF_CONSTEXPR DefineStmt(::google::protobuf::internal::ConstantInitialized); - VariableSetStmt(const VariableSetStmt& from); - VariableSetStmt(VariableSetStmt&& from) noexcept - : VariableSetStmt() { + inline DefineStmt(const DefineStmt& from) + : DefineStmt(nullptr, from) {} + DefineStmt(DefineStmt&& from) noexcept + : DefineStmt() { *this = ::std::move(from); } - inline VariableSetStmt& operator=(const VariableSetStmt& from) { + inline DefineStmt& operator=(const DefineStmt& from) { CopyFrom(from); return *this; } - inline VariableSetStmt& operator=(VariableSetStmt&& from) noexcept { + inline DefineStmt& operator=(DefineStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -33384,192 +35678,268 @@ class VariableSetStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VariableSetStmt& default_instance() { + static const DefineStmt& default_instance() { return *internal_default_instance(); } - static inline const VariableSetStmt* internal_default_instance() { - return reinterpret_cast( - &_VariableSetStmt_default_instance_); + static inline const DefineStmt* internal_default_instance() { + return reinterpret_cast( + &_DefineStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 108; + 196; - friend void swap(VariableSetStmt& a, VariableSetStmt& b) { + friend void swap(DefineStmt& a, DefineStmt& b) { a.Swap(&b); } - inline void Swap(VariableSetStmt* other) { + inline void Swap(DefineStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VariableSetStmt* other) { + void UnsafeArenaSwap(DefineStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - VariableSetStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DefineStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const VariableSetStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const VariableSetStmt& from) { - VariableSetStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DefineStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DefineStmt& from) { + DefineStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(VariableSetStmt* other); + void InternalSwap(DefineStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.VariableSetStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DefineStmt"; } protected: - explicit VariableSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DefineStmt(::google::protobuf::Arena* arena); + DefineStmt(::google::protobuf::Arena* arena, const DefineStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 3, - kNameFieldNumber = 2, + kDefnamesFieldNumber = 3, + kArgsFieldNumber = 4, + kDefinitionFieldNumber = 5, kKindFieldNumber = 1, - kIsLocalFieldNumber = 4, + kOldstyleFieldNumber = 2, + kIfNotExistsFieldNumber = 6, + kReplaceFieldNumber = 7, }; - // repeated .pg_query.Node args = 3 [json_name = "args"]; + // repeated .pg_query.Node defnames = 3 [json_name = "defnames"]; + int defnames_size() const; + private: + int _internal_defnames_size() const; + + public: + void clear_defnames() ; + ::pg_query::Node* mutable_defnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_defnames(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_defnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_defnames(); + public: + const ::pg_query::Node& defnames(int index) const; + ::pg_query::Node* add_defnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + defnames() const; + // repeated .pg_query.Node args = 4 [json_name = "args"]; int args_size() const; private: int _internal_args_size() const; + public: - void clear_args(); + void clear_args() ; ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_args(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: const ::pg_query::Node& args(int index) const; ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& args() const; + // repeated .pg_query.Node definition = 5 [json_name = "definition"]; + int definition_size() const; + private: + int _internal_definition_size() const; - // string name = 2 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_definition() ; + ::pg_query::Node* mutable_definition(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_definition(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_definition() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_definition(); public: + const ::pg_query::Node& definition(int index) const; + ::pg_query::Node* add_definition(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + definition() const; + // .pg_query.ObjectType kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::ObjectType kind() const; + void set_kind(::pg_query::ObjectType value); - // .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::VariableSetKind kind() const; - void set_kind(::pg_query::VariableSetKind value); private: - ::pg_query::VariableSetKind _internal_kind() const; - void _internal_set_kind(::pg_query::VariableSetKind value); + ::pg_query::ObjectType _internal_kind() const; + void _internal_set_kind(::pg_query::ObjectType value); + public: + // bool oldstyle = 2 [json_name = "oldstyle"]; + void clear_oldstyle() ; + bool oldstyle() const; + void set_oldstyle(bool value); - // bool is_local = 4 [json_name = "is_local"]; - void clear_is_local(); - bool is_local() const; - void set_is_local(bool value); private: - bool _internal_is_local() const; - void _internal_set_is_local(bool value); + bool _internal_oldstyle() const; + void _internal_set_oldstyle(bool value); + public: + // bool if_not_exists = 6 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); - // @@protoc_insertion_point(class_scope:pg_query.VariableSetStmt) + private: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + + public: + // bool replace = 7 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); + + private: + bool _internal_replace() const; + void _internal_set_replace(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.DefineStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > defnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > definition_; int kind_; - bool is_local_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + bool oldstyle_; + bool if_not_exists_; + bool replace_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class VariableShowStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableShowStmt) */ { +class DeleteStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DeleteStmt) */ { public: - inline VariableShowStmt() : VariableShowStmt(nullptr) {} - ~VariableShowStmt() override; - explicit PROTOBUF_CONSTEXPR VariableShowStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DeleteStmt() : DeleteStmt(nullptr) {} + ~DeleteStmt() override; + template + explicit PROTOBUF_CONSTEXPR DeleteStmt(::google::protobuf::internal::ConstantInitialized); - VariableShowStmt(const VariableShowStmt& from); - VariableShowStmt(VariableShowStmt&& from) noexcept - : VariableShowStmt() { + inline DeleteStmt(const DeleteStmt& from) + : DeleteStmt(nullptr, from) {} + DeleteStmt(DeleteStmt&& from) noexcept + : DeleteStmt() { *this = ::std::move(from); } - inline VariableShowStmt& operator=(const VariableShowStmt& from) { + inline DeleteStmt& operator=(const DeleteStmt& from) { CopyFrom(from); return *this; } - inline VariableShowStmt& operator=(VariableShowStmt&& from) noexcept { + inline DeleteStmt& operator=(DeleteStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -33579,150 +35949,252 @@ class VariableShowStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const VariableShowStmt& default_instance() { + static const DeleteStmt& default_instance() { return *internal_default_instance(); } - static inline const VariableShowStmt* internal_default_instance() { - return reinterpret_cast( - &_VariableShowStmt_default_instance_); + static inline const DeleteStmt* internal_default_instance() { + return reinterpret_cast( + &_DeleteStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 109; + 144; - friend void swap(VariableShowStmt& a, VariableShowStmt& b) { + friend void swap(DeleteStmt& a, DeleteStmt& b) { a.Swap(&b); } - inline void Swap(VariableShowStmt* other) { + inline void Swap(DeleteStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(VariableShowStmt* other) { + void UnsafeArenaSwap(DeleteStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - VariableShowStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DeleteStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const VariableShowStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const VariableShowStmt& from) { - VariableShowStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DeleteStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DeleteStmt& from) { + DeleteStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(VariableShowStmt* other); + void InternalSwap(DeleteStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.VariableShowStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DeleteStmt"; } protected: - explicit VariableShowStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DeleteStmt(::google::protobuf::Arena* arena); + DeleteStmt(::google::protobuf::Arena* arena, const DeleteStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, + kUsingClauseFieldNumber = 2, + kReturningListFieldNumber = 4, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 3, + kWithClauseFieldNumber = 5, }; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"]; + int using_clause_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + int _internal_using_clause_size() const; + + public: + void clear_using_clause() ; + ::pg_query::Node* mutable_using_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_using_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_using_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_using_clause(); public: + const ::pg_query::Node& using_clause(int index) const; + ::pg_query::Node* add_using_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + using_clause() const; + // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"]; + int returning_list_size() const; + private: + int _internal_returning_list_size() const; - // @@protoc_insertion_point(class_scope:pg_query.VariableShowStmt) + public: + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); + public: + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + + private: + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + + public: + // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + + private: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + + public: + // .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); + + private: + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.DeleteStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > using_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + ::pg_query::WithClause* with_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DiscardStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DiscardStmt) */ { +class DistinctExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DistinctExpr) */ { public: - inline DiscardStmt() : DiscardStmt(nullptr) {} - ~DiscardStmt() override; - explicit PROTOBUF_CONSTEXPR DiscardStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DistinctExpr() : DistinctExpr(nullptr) {} + ~DistinctExpr() override; + template + explicit PROTOBUF_CONSTEXPR DistinctExpr(::google::protobuf::internal::ConstantInitialized); - DiscardStmt(const DiscardStmt& from); - DiscardStmt(DiscardStmt&& from) noexcept - : DiscardStmt() { + inline DistinctExpr(const DistinctExpr& from) + : DistinctExpr(nullptr, from) {} + DistinctExpr(DistinctExpr&& from) noexcept + : DistinctExpr() { *this = ::std::move(from); } - inline DiscardStmt& operator=(const DiscardStmt& from) { + inline DistinctExpr& operator=(const DistinctExpr& from) { CopyFrom(from); return *this; } - inline DiscardStmt& operator=(DiscardStmt&& from) noexcept { + inline DistinctExpr& operator=(DistinctExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -33732,145 +36204,270 @@ class DiscardStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DiscardStmt& default_instance() { + static const DistinctExpr& default_instance() { return *internal_default_instance(); } - static inline const DiscardStmt* internal_default_instance() { - return reinterpret_cast( - &_DiscardStmt_default_instance_); + static inline const DistinctExpr* internal_default_instance() { + return reinterpret_cast( + &_DistinctExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 110; + 27; - friend void swap(DiscardStmt& a, DiscardStmt& b) { + friend void swap(DistinctExpr& a, DistinctExpr& b) { a.Swap(&b); } - inline void Swap(DiscardStmt* other) { + inline void Swap(DistinctExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DiscardStmt* other) { + void UnsafeArenaSwap(DistinctExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DiscardStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DistinctExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DiscardStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DiscardStmt& from) { - DiscardStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DistinctExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DistinctExpr& from) { + DistinctExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DiscardStmt* other); + void InternalSwap(DistinctExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DiscardStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DistinctExpr"; } protected: - explicit DiscardStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DistinctExpr(::google::protobuf::Arena* arena); + DistinctExpr(::google::protobuf::Arena* arena, const DistinctExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTargetFieldNumber = 1, + kArgsFieldNumber = 7, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kOpresulttypeFieldNumber = 3, + kOpretsetFieldNumber = 4, + kOpcollidFieldNumber = 5, + kInputcollidFieldNumber = 6, + kLocationFieldNumber = 8, }; - // .pg_query.DiscardMode target = 1 [json_name = "target"]; - void clear_target(); - ::pg_query::DiscardMode target() const; - void set_target(::pg_query::DiscardMode value); + // repeated .pg_query.Node args = 7 [json_name = "args"]; + int args_size() const; private: - ::pg_query::DiscardMode _internal_target() const; - void _internal_set_target(::pg_query::DiscardMode value); + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.DiscardStmt) + private: + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + + public: + // uint32 opresulttype = 3 [json_name = "opresulttype"]; + void clear_opresulttype() ; + ::uint32_t opresulttype() const; + void set_opresulttype(::uint32_t value); + + private: + ::uint32_t _internal_opresulttype() const; + void _internal_set_opresulttype(::uint32_t value); + + public: + // bool opretset = 4 [json_name = "opretset"]; + void clear_opretset() ; + bool opretset() const; + void set_opretset(bool value); + + private: + bool _internal_opretset() const; + void _internal_set_opretset(bool value); + + public: + // uint32 opcollid = 5 [json_name = "opcollid"]; + void clear_opcollid() ; + ::uint32_t opcollid() const; + void set_opcollid(::uint32_t value); + + private: + ::uint32_t _internal_opcollid() const; + void _internal_set_opcollid(::uint32_t value); + + public: + // uint32 inputcollid = 6 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.DistinctExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - int target_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + ::uint32_t opresulttype_; + bool opretset_; + ::uint32_t opcollid_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateTrigStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTrigStmt) */ { +class DoStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DoStmt) */ { public: - inline CreateTrigStmt() : CreateTrigStmt(nullptr) {} - ~CreateTrigStmt() override; - explicit PROTOBUF_CONSTEXPR CreateTrigStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DoStmt() : DoStmt(nullptr) {} + ~DoStmt() override; + template + explicit PROTOBUF_CONSTEXPR DoStmt(::google::protobuf::internal::ConstantInitialized); - CreateTrigStmt(const CreateTrigStmt& from); - CreateTrigStmt(CreateTrigStmt&& from) noexcept - : CreateTrigStmt() { + inline DoStmt(const DoStmt& from) + : DoStmt(nullptr, from) {} + DoStmt(DoStmt&& from) noexcept + : DoStmt() { *this = ::std::move(from); } - inline CreateTrigStmt& operator=(const CreateTrigStmt& from) { + inline DoStmt& operator=(const DoStmt& from) { CopyFrom(from); return *this; } - inline CreateTrigStmt& operator=(CreateTrigStmt&& from) noexcept { + inline DoStmt& operator=(DoStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -33880,367 +36477,180 @@ class CreateTrigStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateTrigStmt& default_instance() { + static const DoStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateTrigStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateTrigStmt_default_instance_); + static inline const DoStmt* internal_default_instance() { + return reinterpret_cast( + &_DoStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 111; + 216; - friend void swap(CreateTrigStmt& a, CreateTrigStmt& b) { + friend void swap(DoStmt& a, DoStmt& b) { a.Swap(&b); } - inline void Swap(CreateTrigStmt* other) { + inline void Swap(DoStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateTrigStmt* other) { + void UnsafeArenaSwap(DoStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateTrigStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DoStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateTrigStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateTrigStmt& from) { - CreateTrigStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DoStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DoStmt& from) { + DoStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateTrigStmt* other); + void InternalSwap(DoStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateTrigStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DoStmt"; } protected: - explicit CreateTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DoStmt(::google::protobuf::Arena* arena); + DoStmt(::google::protobuf::Arena* arena, const DoStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFuncnameFieldNumber = 5, - kArgsFieldNumber = 6, - kColumnsFieldNumber = 10, - kTransitionRelsFieldNumber = 12, - kTrignameFieldNumber = 3, - kRelationFieldNumber = 4, - kWhenClauseFieldNumber = 11, - kConstrrelFieldNumber = 15, - kReplaceFieldNumber = 1, - kIsconstraintFieldNumber = 2, - kRowFieldNumber = 7, - kDeferrableFieldNumber = 13, - kTimingFieldNumber = 8, - kEventsFieldNumber = 9, - kInitdeferredFieldNumber = 14, + kArgsFieldNumber = 1, }; - // repeated .pg_query.Node funcname = 5 [json_name = "funcname"]; - int funcname_size() const; - private: - int _internal_funcname_size() const; - public: - void clear_funcname(); - ::pg_query::Node* mutable_funcname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funcname(); - private: - const ::pg_query::Node& _internal_funcname(int index) const; - ::pg_query::Node* _internal_add_funcname(); - public: - const ::pg_query::Node& funcname(int index) const; - ::pg_query::Node* add_funcname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funcname() const; - - // repeated .pg_query.Node args = 6 [json_name = "args"]; + // repeated .pg_query.Node args = 1 [json_name = "args"]; int args_size() const; private: int _internal_args_size() const; + public: - void clear_args(); + void clear_args() ; ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* mutable_args(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: const ::pg_query::Node& args(int index) const; ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& args() const; - - // repeated .pg_query.Node columns = 10 [json_name = "columns"]; - int columns_size() const; - private: - int _internal_columns_size() const; - public: - void clear_columns(); - ::pg_query::Node* mutable_columns(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_columns(); - private: - const ::pg_query::Node& _internal_columns(int index) const; - ::pg_query::Node* _internal_add_columns(); - public: - const ::pg_query::Node& columns(int index) const; - ::pg_query::Node* add_columns(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - columns() const; - - // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"]; - int transition_rels_size() const; - private: - int _internal_transition_rels_size() const; - public: - void clear_transition_rels(); - ::pg_query::Node* mutable_transition_rels(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_transition_rels(); - private: - const ::pg_query::Node& _internal_transition_rels(int index) const; - ::pg_query::Node* _internal_add_transition_rels(); - public: - const ::pg_query::Node& transition_rels(int index) const; - ::pg_query::Node* add_transition_rels(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - transition_rels() const; - - // string trigname = 3 [json_name = "trigname"]; - void clear_trigname(); - const std::string& trigname() const; - template - void set_trigname(ArgT0&& arg0, ArgT... args); - std::string* mutable_trigname(); - PROTOBUF_NODISCARD std::string* release_trigname(); - void set_allocated_trigname(std::string* trigname); - private: - const std::string& _internal_trigname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname(const std::string& value); - std::string* _internal_mutable_trigname(); - public: - - // .pg_query.RangeVar relation = 4 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - // .pg_query.Node when_clause = 11 [json_name = "whenClause"]; - bool has_when_clause() const; - private: - bool _internal_has_when_clause() const; - public: - void clear_when_clause(); - const ::pg_query::Node& when_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_when_clause(); - ::pg_query::Node* mutable_when_clause(); - void set_allocated_when_clause(::pg_query::Node* when_clause); - private: - const ::pg_query::Node& _internal_when_clause() const; - ::pg_query::Node* _internal_mutable_when_clause(); - public: - void unsafe_arena_set_allocated_when_clause( - ::pg_query::Node* when_clause); - ::pg_query::Node* unsafe_arena_release_when_clause(); - - // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"]; - bool has_constrrel() const; - private: - bool _internal_has_constrrel() const; - public: - void clear_constrrel(); - const ::pg_query::RangeVar& constrrel() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_constrrel(); - ::pg_query::RangeVar* mutable_constrrel(); - void set_allocated_constrrel(::pg_query::RangeVar* constrrel); - private: - const ::pg_query::RangeVar& _internal_constrrel() const; - ::pg_query::RangeVar* _internal_mutable_constrrel(); - public: - void unsafe_arena_set_allocated_constrrel( - ::pg_query::RangeVar* constrrel); - ::pg_query::RangeVar* unsafe_arena_release_constrrel(); - - // bool replace = 1 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); - private: - bool _internal_replace() const; - void _internal_set_replace(bool value); - public: - - // bool isconstraint = 2 [json_name = "isconstraint"]; - void clear_isconstraint(); - bool isconstraint() const; - void set_isconstraint(bool value); - private: - bool _internal_isconstraint() const; - void _internal_set_isconstraint(bool value); - public: - - // bool row = 7 [json_name = "row"]; - void clear_row(); - bool row() const; - void set_row(bool value); - private: - bool _internal_row() const; - void _internal_set_row(bool value); - public: - - // bool deferrable = 13 [json_name = "deferrable"]; - void clear_deferrable(); - bool deferrable() const; - void set_deferrable(bool value); - private: - bool _internal_deferrable() const; - void _internal_set_deferrable(bool value); - public: - - // int32 timing = 8 [json_name = "timing"]; - void clear_timing(); - int32_t timing() const; - void set_timing(int32_t value); - private: - int32_t _internal_timing() const; - void _internal_set_timing(int32_t value); - public: - - // int32 events = 9 [json_name = "events"]; - void clear_events(); - int32_t events() const; - void set_events(int32_t value); - private: - int32_t _internal_events() const; - void _internal_set_events(int32_t value); - public: - - // bool initdeferred = 14 [json_name = "initdeferred"]; - void clear_initdeferred(); - bool initdeferred() const; - void set_initdeferred(bool value); - private: - bool _internal_initdeferred() const; - void _internal_set_initdeferred(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateTrigStmt) + // @@protoc_insertion_point(class_scope:pg_query.DoStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funcname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > columns_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > transition_rels_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigname_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* when_clause_; - ::pg_query::RangeVar* constrrel_; - bool replace_; - bool isconstraint_; - bool row_; - bool deferrable_; - int32_t timing_; - int32_t events_; - bool initdeferred_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreatePLangStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePLangStmt) */ { +class DropOwnedStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropOwnedStmt) */ { public: - inline CreatePLangStmt() : CreatePLangStmt(nullptr) {} - ~CreatePLangStmt() override; - explicit PROTOBUF_CONSTEXPR CreatePLangStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropOwnedStmt() : DropOwnedStmt(nullptr) {} + ~DropOwnedStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropOwnedStmt(::google::protobuf::internal::ConstantInitialized); - CreatePLangStmt(const CreatePLangStmt& from); - CreatePLangStmt(CreatePLangStmt&& from) noexcept - : CreatePLangStmt() { + inline DropOwnedStmt(const DropOwnedStmt& from) + : DropOwnedStmt(nullptr, from) {} + DropOwnedStmt(DropOwnedStmt&& from) noexcept + : DropOwnedStmt() { *this = ::std::move(from); } - inline CreatePLangStmt& operator=(const CreatePLangStmt& from) { + inline DropOwnedStmt& operator=(const DropOwnedStmt& from) { CopyFrom(from); return *this; } - inline CreatePLangStmt& operator=(CreatePLangStmt&& from) noexcept { + inline DropOwnedStmt& operator=(DropOwnedStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -34250,232 +36660,192 @@ class CreatePLangStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreatePLangStmt& default_instance() { + static const DropOwnedStmt& default_instance() { return *internal_default_instance(); } - static inline const CreatePLangStmt* internal_default_instance() { - return reinterpret_cast( - &_CreatePLangStmt_default_instance_); + static inline const DropOwnedStmt* internal_default_instance() { + return reinterpret_cast( + &_DropOwnedStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 112; + 260; - friend void swap(CreatePLangStmt& a, CreatePLangStmt& b) { + friend void swap(DropOwnedStmt& a, DropOwnedStmt& b) { a.Swap(&b); } - inline void Swap(CreatePLangStmt* other) { + inline void Swap(DropOwnedStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreatePLangStmt* other) { + void UnsafeArenaSwap(DropOwnedStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreatePLangStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropOwnedStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreatePLangStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreatePLangStmt& from) { - CreatePLangStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropOwnedStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropOwnedStmt& from) { + DropOwnedStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreatePLangStmt* other); + void InternalSwap(DropOwnedStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreatePLangStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropOwnedStmt"; } protected: - explicit CreatePLangStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DropOwnedStmt(::google::protobuf::Arena* arena); + DropOwnedStmt(::google::protobuf::Arena* arena, const DropOwnedStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPlhandlerFieldNumber = 3, - kPlinlineFieldNumber = 4, - kPlvalidatorFieldNumber = 5, - kPlnameFieldNumber = 2, - kReplaceFieldNumber = 1, - kPltrustedFieldNumber = 6, + kRolesFieldNumber = 1, + kBehaviorFieldNumber = 2, }; - // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"]; - int plhandler_size() const; - private: - int _internal_plhandler_size() const; - public: - void clear_plhandler(); - ::pg_query::Node* mutable_plhandler(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_plhandler(); - private: - const ::pg_query::Node& _internal_plhandler(int index) const; - ::pg_query::Node* _internal_add_plhandler(); - public: - const ::pg_query::Node& plhandler(int index) const; - ::pg_query::Node* add_plhandler(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - plhandler() const; - - // repeated .pg_query.Node plinline = 4 [json_name = "plinline"]; - int plinline_size() const; - private: - int _internal_plinline_size() const; - public: - void clear_plinline(); - ::pg_query::Node* mutable_plinline(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_plinline(); + // repeated .pg_query.Node roles = 1 [json_name = "roles"]; + int roles_size() const; private: - const ::pg_query::Node& _internal_plinline(int index) const; - ::pg_query::Node* _internal_add_plinline(); - public: - const ::pg_query::Node& plinline(int index) const; - ::pg_query::Node* add_plinline(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - plinline() const; + int _internal_roles_size() const; - // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"]; - int plvalidator_size() const; - private: - int _internal_plvalidator_size() const; - public: - void clear_plvalidator(); - ::pg_query::Node* mutable_plvalidator(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_plvalidator(); - private: - const ::pg_query::Node& _internal_plvalidator(int index) const; - ::pg_query::Node* _internal_add_plvalidator(); public: - const ::pg_query::Node& plvalidator(int index) const; - ::pg_query::Node* add_plvalidator(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - plvalidator() const; - - // string plname = 2 [json_name = "plname"]; - void clear_plname(); - const std::string& plname() const; - template - void set_plname(ArgT0&& arg0, ArgT... args); - std::string* mutable_plname(); - PROTOBUF_NODISCARD std::string* release_plname(); - void set_allocated_plname(std::string* plname); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const std::string& _internal_plname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_plname(const std::string& value); - std::string* _internal_mutable_plname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // bool replace = 1 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); private: - bool _internal_replace() const; - void _internal_set_replace(bool value); - public: + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); - // bool pltrusted = 6 [json_name = "pltrusted"]; - void clear_pltrusted(); - bool pltrusted() const; - void set_pltrusted(bool value); - private: - bool _internal_pltrusted() const; - void _internal_set_pltrusted(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CreatePLangStmt) + // @@protoc_insertion_point(class_scope:pg_query.DropOwnedStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > plhandler_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > plinline_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > plvalidator_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr plname_; - bool replace_; - bool pltrusted_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + int behavior_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateRoleStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateRoleStmt) */ { +class DropRoleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropRoleStmt) */ { public: - inline CreateRoleStmt() : CreateRoleStmt(nullptr) {} - ~CreateRoleStmt() override; - explicit PROTOBUF_CONSTEXPR CreateRoleStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropRoleStmt() : DropRoleStmt(nullptr) {} + ~DropRoleStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropRoleStmt(::google::protobuf::internal::ConstantInitialized); - CreateRoleStmt(const CreateRoleStmt& from); - CreateRoleStmt(CreateRoleStmt&& from) noexcept - : CreateRoleStmt() { + inline DropRoleStmt(const DropRoleStmt& from) + : DropRoleStmt(nullptr, from) {} + DropRoleStmt(DropRoleStmt&& from) noexcept + : DropRoleStmt() { *this = ::std::move(from); } - inline CreateRoleStmt& operator=(const CreateRoleStmt& from) { + inline DropRoleStmt& operator=(const DropRoleStmt& from) { CopyFrom(from); return *this; } - inline CreateRoleStmt& operator=(CreateRoleStmt&& from) noexcept { + inline DropRoleStmt& operator=(DropRoleStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -34485,181 +36855,192 @@ class CreateRoleStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateRoleStmt& default_instance() { + static const DropRoleStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateRoleStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateRoleStmt_default_instance_); + static inline const DropRoleStmt* internal_default_instance() { + return reinterpret_cast( + &_DropRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 113; + 193; - friend void swap(CreateRoleStmt& a, CreateRoleStmt& b) { + friend void swap(DropRoleStmt& a, DropRoleStmt& b) { a.Swap(&b); } - inline void Swap(CreateRoleStmt* other) { + inline void Swap(DropRoleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateRoleStmt* other) { + void UnsafeArenaSwap(DropRoleStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateRoleStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropRoleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateRoleStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateRoleStmt& from) { - CreateRoleStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropRoleStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropRoleStmt& from) { + DropRoleStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateRoleStmt* other); + void InternalSwap(DropRoleStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateRoleStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropRoleStmt"; } protected: - explicit CreateRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DropRoleStmt(::google::protobuf::Arena* arena); + DropRoleStmt(::google::protobuf::Arena* arena, const DropRoleStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 3, - kRoleFieldNumber = 2, - kStmtTypeFieldNumber = 1, + kRolesFieldNumber = 1, + kMissingOkFieldNumber = 2, }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node roles = 1 [json_name = "roles"]; + int roles_size() const; private: - int _internal_options_size() const; + int _internal_roles_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // bool missing_ok = 2 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // string role = 2 [json_name = "role"]; - void clear_role(); - const std::string& role() const; - template - void set_role(ArgT0&& arg0, ArgT... args); - std::string* mutable_role(); - PROTOBUF_NODISCARD std::string* release_role(); - void set_allocated_role(std::string* role); private: - const std::string& _internal_role() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_role(const std::string& value); - std::string* _internal_mutable_role(); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"]; - void clear_stmt_type(); - ::pg_query::RoleStmtType stmt_type() const; - void set_stmt_type(::pg_query::RoleStmtType value); - private: - ::pg_query::RoleStmtType _internal_stmt_type() const; - void _internal_set_stmt_type(::pg_query::RoleStmtType value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateRoleStmt) + // @@protoc_insertion_point(class_scope:pg_query.DropRoleStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr role_; - int stmt_type_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + bool missing_ok_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterRoleStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterRoleStmt) */ { +class DropStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropStmt) */ { public: - inline AlterRoleStmt() : AlterRoleStmt(nullptr) {} - ~AlterRoleStmt() override; - explicit PROTOBUF_CONSTEXPR AlterRoleStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropStmt() : DropStmt(nullptr) {} + ~DropStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropStmt(::google::protobuf::internal::ConstantInitialized); - AlterRoleStmt(const AlterRoleStmt& from); - AlterRoleStmt(AlterRoleStmt&& from) noexcept - : AlterRoleStmt() { + inline DropStmt(const DropStmt& from) + : DropStmt(nullptr, from) {} + DropStmt(DropStmt&& from) noexcept + : DropStmt() { *this = ::std::move(from); } - inline AlterRoleStmt& operator=(const AlterRoleStmt& from) { + inline DropStmt& operator=(const DropStmt& from) { CopyFrom(from); return *this; } - inline AlterRoleStmt& operator=(AlterRoleStmt&& from) noexcept { + inline DropStmt& operator=(DropStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -34669,185 +37050,228 @@ class AlterRoleStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterRoleStmt& default_instance() { + static const DropStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterRoleStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterRoleStmt_default_instance_); + static inline const DropStmt* internal_default_instance() { + return reinterpret_cast( + &_DropStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 114; + 202; - friend void swap(AlterRoleStmt& a, AlterRoleStmt& b) { + friend void swap(DropStmt& a, DropStmt& b) { a.Swap(&b); } - inline void Swap(AlterRoleStmt* other) { + inline void Swap(DropStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterRoleStmt* other) { + void UnsafeArenaSwap(DropStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterRoleStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterRoleStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterRoleStmt& from) { - AlterRoleStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropStmt& from) { + DropStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterRoleStmt* other); + void InternalSwap(DropStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterRoleStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropStmt"; } protected: - explicit AlterRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DropStmt(::google::protobuf::Arena* arena); + DropStmt(::google::protobuf::Arena* arena, const DropStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kRoleFieldNumber = 1, - kActionFieldNumber = 3, + kObjectsFieldNumber = 1, + kRemoveTypeFieldNumber = 2, + kBehaviorFieldNumber = 3, + kMissingOkFieldNumber = 4, + kConcurrentFieldNumber = 5, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // repeated .pg_query.Node objects = 1 [json_name = "objects"]; + int objects_size() const; private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + int _internal_objects_size() const; - // .pg_query.RoleSpec role = 1 [json_name = "role"]; - bool has_role() const; - private: - bool _internal_has_role() const; public: - void clear_role(); - const ::pg_query::RoleSpec& role() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role(); - ::pg_query::RoleSpec* mutable_role(); - void set_allocated_role(::pg_query::RoleSpec* role); + void clear_objects() ; + ::pg_query::Node* mutable_objects(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objects(); private: - const ::pg_query::RoleSpec& _internal_role() const; - ::pg_query::RoleSpec* _internal_mutable_role(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objects() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objects(); public: - void unsafe_arena_set_allocated_role( - ::pg_query::RoleSpec* role); - ::pg_query::RoleSpec* unsafe_arena_release_role(); + const ::pg_query::Node& objects(int index) const; + ::pg_query::Node* add_objects(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objects() const; + // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"]; + void clear_remove_type() ; + ::pg_query::ObjectType remove_type() const; + void set_remove_type(::pg_query::ObjectType value); - // int32 action = 3 [json_name = "action"]; - void clear_action(); - int32_t action() const; - void set_action(int32_t value); private: - int32_t _internal_action() const; - void _internal_set_action(int32_t value); + ::pg_query::ObjectType _internal_remove_type() const; + void _internal_set_remove_type(::pg_query::ObjectType value); + public: + // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // @@protoc_insertion_point(class_scope:pg_query.AlterRoleStmt) + private: + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + + public: + // bool missing_ok = 4 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); + + private: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); + + public: + // bool concurrent = 5 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); + + private: + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.DropStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::RoleSpec* role_; - int32_t action_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objects_; + int remove_type_; + int behavior_; + bool missing_ok_; + bool concurrent_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropRoleStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropRoleStmt) */ { +class DropdbStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.DropdbStmt) */ { public: - inline DropRoleStmt() : DropRoleStmt(nullptr) {} - ~DropRoleStmt() override; - explicit PROTOBUF_CONSTEXPR DropRoleStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline DropdbStmt() : DropdbStmt(nullptr) {} + ~DropdbStmt() override; + template + explicit PROTOBUF_CONSTEXPR DropdbStmt(::google::protobuf::internal::ConstantInitialized); - DropRoleStmt(const DropRoleStmt& from); - DropRoleStmt(DropRoleStmt&& from) noexcept - : DropRoleStmt() { + inline DropdbStmt(const DropdbStmt& from) + : DropdbStmt(nullptr, from) {} + DropdbStmt(DropdbStmt&& from) noexcept + : DropdbStmt() { *this = ::std::move(from); } - inline DropRoleStmt& operator=(const DropRoleStmt& from) { + inline DropdbStmt& operator=(const DropdbStmt& from) { CopyFrom(from); return *this; } - inline DropRoleStmt& operator=(DropRoleStmt&& from) noexcept { + inline DropdbStmt& operator=(DropdbStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -34857,165 +37281,210 @@ class DropRoleStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropRoleStmt& default_instance() { + static const DropdbStmt& default_instance() { return *internal_default_instance(); } - static inline const DropRoleStmt* internal_default_instance() { - return reinterpret_cast( - &_DropRoleStmt_default_instance_); + static inline const DropdbStmt* internal_default_instance() { + return reinterpret_cast( + &_DropdbStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 115; + 241; - friend void swap(DropRoleStmt& a, DropRoleStmt& b) { + friend void swap(DropdbStmt& a, DropdbStmt& b) { a.Swap(&b); } - inline void Swap(DropRoleStmt* other) { + inline void Swap(DropdbStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropRoleStmt* other) { + void UnsafeArenaSwap(DropdbStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropRoleStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + DropdbStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropRoleStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropRoleStmt& from) { - DropRoleStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const DropdbStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const DropdbStmt& from) { + DropdbStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropRoleStmt* other); + void InternalSwap(DropdbStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropRoleStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.DropdbStmt"; } protected: - explicit DropRoleStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit DropdbStmt(::google::protobuf::Arena* arena); + DropdbStmt(::google::protobuf::Arena* arena, const DropdbStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 1, + kOptionsFieldNumber = 3, + kDbnameFieldNumber = 1, kMissingOkFieldNumber = 2, }; - // repeated .pg_query.Node roles = 1 [json_name = "roles"]; - int roles_size() const; + // repeated .pg_query.Node options = 3 [json_name = "options"]; + int options_size() const; private: - int _internal_roles_size() const; + int _internal_options_size() const; + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string dbname = 1 [json_name = "dbname"]; + void clear_dbname() ; + const std::string& dbname() const; + template + void set_dbname(Arg_&& arg, Args_... args); + std::string* mutable_dbname(); + PROTOBUF_NODISCARD std::string* release_dbname(); + void set_allocated_dbname(std::string* value); + + private: + const std::string& _internal_dbname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname( + const std::string& value); + std::string* _internal_mutable_dbname(); + public: // bool missing_ok = 2 [json_name = "missing_ok"]; - void clear_missing_ok(); + void clear_missing_ok() ; bool missing_ok() const; void set_missing_ok(bool value); + private: bool _internal_missing_ok() const; void _internal_set_missing_ok(bool value); - public: - // @@protoc_insertion_point(class_scope:pg_query.DropRoleStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.DropdbStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr dbname_; bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class LockStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.LockStmt) */ { +class ExecuteStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ExecuteStmt) */ { public: - inline LockStmt() : LockStmt(nullptr) {} - ~LockStmt() override; - explicit PROTOBUF_CONSTEXPR LockStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ExecuteStmt() : ExecuteStmt(nullptr) {} + ~ExecuteStmt() override; + template + explicit PROTOBUF_CONSTEXPR ExecuteStmt(::google::protobuf::internal::ConstantInitialized); - LockStmt(const LockStmt& from); - LockStmt(LockStmt&& from) noexcept - : LockStmt() { + inline ExecuteStmt(const ExecuteStmt& from) + : ExecuteStmt(nullptr, from) {} + ExecuteStmt(ExecuteStmt&& from) noexcept + : ExecuteStmt() { *this = ::std::move(from); } - inline LockStmt& operator=(const LockStmt& from) { + inline ExecuteStmt& operator=(const ExecuteStmt& from) { CopyFrom(from); return *this; } - inline LockStmt& operator=(LockStmt&& from) noexcept { + inline ExecuteStmt& operator=(ExecuteStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35025,176 +37494,198 @@ class LockStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const LockStmt& default_instance() { + static const ExecuteStmt& default_instance() { return *internal_default_instance(); } - static inline const LockStmt* internal_default_instance() { - return reinterpret_cast( - &_LockStmt_default_instance_); + static inline const ExecuteStmt* internal_default_instance() { + return reinterpret_cast( + &_ExecuteStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 116; + 258; - friend void swap(LockStmt& a, LockStmt& b) { + friend void swap(ExecuteStmt& a, ExecuteStmt& b) { a.Swap(&b); } - inline void Swap(LockStmt* other) { + inline void Swap(ExecuteStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(LockStmt* other) { + void UnsafeArenaSwap(ExecuteStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - LockStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ExecuteStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const LockStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const LockStmt& from) { - LockStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ExecuteStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ExecuteStmt& from) { + ExecuteStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(LockStmt* other); + void InternalSwap(ExecuteStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.LockStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ExecuteStmt"; } protected: - explicit LockStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ExecuteStmt(::google::protobuf::Arena* arena); + ExecuteStmt(::google::protobuf::Arena* arena, const ExecuteStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationsFieldNumber = 1, - kModeFieldNumber = 2, - kNowaitFieldNumber = 3, + kParamsFieldNumber = 2, + kNameFieldNumber = 1, }; - // repeated .pg_query.Node relations = 1 [json_name = "relations"]; - int relations_size() const; + // repeated .pg_query.Node params = 2 [json_name = "params"]; + int params_size() const; private: - int _internal_relations_size() const; + int _internal_params_size() const; + public: - void clear_relations(); - ::pg_query::Node* mutable_relations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_relations(); + void clear_params() ; + ::pg_query::Node* mutable_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_params(); private: - const ::pg_query::Node& _internal_relations(int index) const; - ::pg_query::Node* _internal_add_relations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); public: - const ::pg_query::Node& relations(int index) const; - ::pg_query::Node* add_relations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - relations() const; + const ::pg_query::Node& params(int index) const; + ::pg_query::Node* add_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + params() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // int32 mode = 2 [json_name = "mode"]; - void clear_mode(); - int32_t mode() const; - void set_mode(int32_t value); private: - int32_t _internal_mode() const; - void _internal_set_mode(int32_t value); - public: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // bool nowait = 3 [json_name = "nowait"]; - void clear_nowait(); - bool nowait() const; - void set_nowait(bool value); - private: - bool _internal_nowait() const; - void _internal_set_nowait(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.LockStmt) + // @@protoc_insertion_point(class_scope:pg_query.ExecuteStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 33, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > relations_; - int32_t mode_; - bool nowait_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; + ::google::protobuf::internal::ArenaStringPtr name_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ConstraintsSetStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ConstraintsSetStmt) */ { +class ExplainStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ExplainStmt) */ { public: - inline ConstraintsSetStmt() : ConstraintsSetStmt(nullptr) {} - ~ConstraintsSetStmt() override; - explicit PROTOBUF_CONSTEXPR ConstraintsSetStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ExplainStmt() : ExplainStmt(nullptr) {} + ~ExplainStmt() override; + template + explicit PROTOBUF_CONSTEXPR ExplainStmt(::google::protobuf::internal::ConstantInitialized); - ConstraintsSetStmt(const ConstraintsSetStmt& from); - ConstraintsSetStmt(ConstraintsSetStmt&& from) noexcept - : ConstraintsSetStmt() { + inline ExplainStmt(const ExplainStmt& from) + : ExplainStmt(nullptr, from) {} + ExplainStmt(ExplainStmt&& from) noexcept + : ExplainStmt() { *this = ::std::move(from); } - inline ConstraintsSetStmt& operator=(const ConstraintsSetStmt& from) { + inline ExplainStmt& operator=(const ExplainStmt& from) { CopyFrom(from); return *this; } - inline ConstraintsSetStmt& operator=(ConstraintsSetStmt&& from) noexcept { + inline ExplainStmt& operator=(ExplainStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35204,165 +37695,198 @@ class ConstraintsSetStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ConstraintsSetStmt& default_instance() { + static const ExplainStmt& default_instance() { return *internal_default_instance(); } - static inline const ConstraintsSetStmt* internal_default_instance() { - return reinterpret_cast( - &_ConstraintsSetStmt_default_instance_); + static inline const ExplainStmt* internal_default_instance() { + return reinterpret_cast( + &_ExplainStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 117; + 246; - friend void swap(ConstraintsSetStmt& a, ConstraintsSetStmt& b) { + friend void swap(ExplainStmt& a, ExplainStmt& b) { a.Swap(&b); } - inline void Swap(ConstraintsSetStmt* other) { + inline void Swap(ExplainStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ConstraintsSetStmt* other) { + void UnsafeArenaSwap(ExplainStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ConstraintsSetStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ExplainStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ConstraintsSetStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ConstraintsSetStmt& from) { - ConstraintsSetStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ExplainStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ExplainStmt& from) { + ExplainStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ConstraintsSetStmt* other); + void InternalSwap(ExplainStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ConstraintsSetStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ExplainStmt"; } protected: - explicit ConstraintsSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ExplainStmt(::google::protobuf::Arena* arena); + ExplainStmt(::google::protobuf::Arena* arena, const ExplainStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConstraintsFieldNumber = 1, - kDeferredFieldNumber = 2, + kOptionsFieldNumber = 2, + kQueryFieldNumber = 1, }; - // repeated .pg_query.Node constraints = 1 [json_name = "constraints"]; - int constraints_size() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - int _internal_constraints_size() const; + int _internal_options_size() const; + public: - void clear_constraints(); - ::pg_query::Node* mutable_constraints(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_constraints(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_constraints(int index) const; - ::pg_query::Node* _internal_add_constraints(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& constraints(int index) const; - ::pg_query::Node* add_constraints(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - constraints() const; + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.Node query = 1 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); - // bool deferred = 2 [json_name = "deferred"]; - void clear_deferred(); - bool deferred() const; - void set_deferred(bool value); private: - bool _internal_deferred() const; - void _internal_set_deferred(bool value); - public: + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); - // @@protoc_insertion_point(class_scope:pg_query.ConstraintsSetStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.ExplainStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > constraints_; - bool deferred_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::Node* query_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ReindexStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ReindexStmt) */ { +class FieldSelect final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FieldSelect) */ { public: - inline ReindexStmt() : ReindexStmt(nullptr) {} - ~ReindexStmt() override; - explicit PROTOBUF_CONSTEXPR ReindexStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FieldSelect() : FieldSelect(nullptr) {} + ~FieldSelect() override; + template + explicit PROTOBUF_CONSTEXPR FieldSelect(::google::protobuf::internal::ConstantInitialized); - ReindexStmt(const ReindexStmt& from); - ReindexStmt(ReindexStmt&& from) noexcept - : ReindexStmt() { + inline FieldSelect(const FieldSelect& from) + : FieldSelect(nullptr, from) {} + FieldSelect(FieldSelect&& from) noexcept + : FieldSelect() { *this = ::std::move(from); } - inline ReindexStmt& operator=(const ReindexStmt& from) { + inline FieldSelect& operator=(const FieldSelect& from) { CopyFrom(from); return *this; } - inline ReindexStmt& operator=(ReindexStmt&& from) noexcept { + inline FieldSelect& operator=(FieldSelect&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35372,200 +37896,243 @@ class ReindexStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReindexStmt& default_instance() { + static const FieldSelect& default_instance() { return *internal_default_instance(); } - static inline const ReindexStmt* internal_default_instance() { - return reinterpret_cast( - &_ReindexStmt_default_instance_); + static inline const FieldSelect* internal_default_instance() { + return reinterpret_cast( + &_FieldSelect_default_instance_); } static constexpr int kIndexInFileMessages = - 118; + 34; - friend void swap(ReindexStmt& a, ReindexStmt& b) { + friend void swap(FieldSelect& a, FieldSelect& b) { a.Swap(&b); } - inline void Swap(ReindexStmt* other) { + inline void Swap(FieldSelect* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReindexStmt* other) { + void UnsafeArenaSwap(FieldSelect* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ReindexStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FieldSelect* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ReindexStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ReindexStmt& from) { - ReindexStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldSelect& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FieldSelect& from) { + FieldSelect::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ReindexStmt* other); + void InternalSwap(FieldSelect* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ReindexStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FieldSelect"; } protected: - explicit ReindexStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FieldSelect(::google::protobuf::Arena* arena); + FieldSelect(::google::protobuf::Arena* arena, const FieldSelect& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kParamsFieldNumber = 4, - kNameFieldNumber = 3, - kRelationFieldNumber = 2, - kKindFieldNumber = 1, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kFieldnumFieldNumber = 3, + kResulttypeFieldNumber = 4, + kResulttypmodFieldNumber = 5, + kResultcollidFieldNumber = 6, }; - // repeated .pg_query.Node params = 4 [json_name = "params"]; - int params_size() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - int _internal_params_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_params(); - ::pg_query::Node* mutable_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_params(); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::Node& _internal_params(int index) const; - ::pg_query::Node* _internal_add_params(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - const ::pg_query::Node& params(int index) const; - ::pg_query::Node* add_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - params() const; + // int32 fieldnum = 3 [json_name = "fieldnum"]; + void clear_fieldnum() ; + ::int32_t fieldnum() const; + void set_fieldnum(::int32_t value); - // string name = 3 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + ::int32_t _internal_fieldnum() const; + void _internal_set_fieldnum(::int32_t value); + public: + // uint32 resulttype = 4 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; private: - bool _internal_has_relation() const; + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // int32 resulttypmod = 5 [json_name = "resulttypmod"]; + void clear_resulttypmod() ; + ::int32_t resulttypmod() const; + void set_resulttypmod(::int32_t value); + private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + ::int32_t _internal_resulttypmod() const; + void _internal_set_resulttypmod(::int32_t value); + public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // uint32 resultcollid = 6 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); - // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::ReindexObjectType kind() const; - void set_kind(::pg_query::ReindexObjectType value); private: - ::pg_query::ReindexObjectType _internal_kind() const; - void _internal_set_kind(::pg_query::ReindexObjectType value); - public: + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.ReindexStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.FieldSelect) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > params_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::RangeVar* relation_; - int kind_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::int32_t fieldnum_; + ::uint32_t resulttype_; + ::int32_t resulttypmod_; + ::uint32_t resultcollid_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CheckPointStmt final : - public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.CheckPointStmt) */ { +class FieldStore final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FieldStore) */ { public: - inline CheckPointStmt() : CheckPointStmt(nullptr) {} - explicit PROTOBUF_CONSTEXPR CheckPointStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FieldStore() : FieldStore(nullptr) {} + ~FieldStore() override; + template + explicit PROTOBUF_CONSTEXPR FieldStore(::google::protobuf::internal::ConstantInitialized); - CheckPointStmt(const CheckPointStmt& from); - CheckPointStmt(CheckPointStmt&& from) noexcept - : CheckPointStmt() { + inline FieldStore(const FieldStore& from) + : FieldStore(nullptr, from) {} + FieldStore(FieldStore&& from) noexcept + : FieldStore() { *this = ::std::move(from); } - inline CheckPointStmt& operator=(const CheckPointStmt& from) { + inline FieldStore& operator=(const FieldStore& from) { CopyFrom(from); return *this; } - inline CheckPointStmt& operator=(CheckPointStmt&& from) noexcept { + inline FieldStore& operator=(FieldStore&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35575,116 +38142,247 @@ class CheckPointStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CheckPointStmt& default_instance() { + static const FieldStore& default_instance() { return *internal_default_instance(); } - static inline const CheckPointStmt* internal_default_instance() { - return reinterpret_cast( - &_CheckPointStmt_default_instance_); + static inline const FieldStore* internal_default_instance() { + return reinterpret_cast( + &_FieldStore_default_instance_); } static constexpr int kIndexInFileMessages = - 119; + 35; - friend void swap(CheckPointStmt& a, CheckPointStmt& b) { + friend void swap(FieldStore& a, FieldStore& b) { a.Swap(&b); } - inline void Swap(CheckPointStmt* other) { + inline void Swap(FieldStore* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CheckPointStmt* other) { + void UnsafeArenaSwap(FieldStore* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CheckPointStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; - inline void CopyFrom(const CheckPointStmt& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from); + FieldStore* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; - void MergeFrom(const CheckPointStmt& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldStore& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FieldStore& from) { + FieldStore::MergeImpl(*this, from); } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CheckPointStmt"; + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(FieldStore* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FieldStore"; } protected: - explicit CheckPointStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FieldStore(::google::protobuf::Arena* arena); + FieldStore(::google::protobuf::Arena* arena, const FieldStore& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - // @@protoc_insertion_point(class_scope:pg_query.CheckPointStmt) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { + enum : int { + kNewvalsFieldNumber = 3, + kFieldnumsFieldNumber = 4, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 5, }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- + // repeated .pg_query.Node newvals = 3 [json_name = "newvals"]; + int newvals_size() const; + private: + int _internal_newvals_size() const; -class CreateSchemaStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSchemaStmt) */ { - public: - inline CreateSchemaStmt() : CreateSchemaStmt(nullptr) {} - ~CreateSchemaStmt() override; - explicit PROTOBUF_CONSTEXPR CreateSchemaStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + public: + void clear_newvals() ; + ::pg_query::Node* mutable_newvals(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_newvals(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_newvals() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_newvals(); + public: + const ::pg_query::Node& newvals(int index) const; + ::pg_query::Node* add_newvals(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + newvals() const; + // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"]; + int fieldnums_size() const; + private: + int _internal_fieldnums_size() const; - CreateSchemaStmt(const CreateSchemaStmt& from); - CreateSchemaStmt(CreateSchemaStmt&& from) noexcept - : CreateSchemaStmt() { - *this = ::std::move(from); - } + public: + void clear_fieldnums() ; + ::pg_query::Node* mutable_fieldnums(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fieldnums(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fieldnums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fieldnums(); + public: + const ::pg_query::Node& fieldnums(int index) const; + ::pg_query::Node* add_fieldnums(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fieldnums() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - inline CreateSchemaStmt& operator=(const CreateSchemaStmt& from) { + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + + private: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + + public: + // uint32 resulttype = 5 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); + + private: + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.FieldStore) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > newvals_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fieldnums_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class FromExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FromExpr) */ { + public: + inline FromExpr() : FromExpr(nullptr) {} + ~FromExpr() override; + template + explicit PROTOBUF_CONSTEXPR FromExpr(::google::protobuf::internal::ConstantInitialized); + + inline FromExpr(const FromExpr& from) + : FromExpr(nullptr, from) {} + FromExpr(FromExpr&& from) noexcept + : FromExpr() { + *this = ::std::move(from); + } + + inline FromExpr& operator=(const FromExpr& from) { CopyFrom(from); return *this; } - inline CreateSchemaStmt& operator=(CreateSchemaStmt&& from) noexcept { + inline FromExpr& operator=(FromExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35694,201 +38392,198 @@ class CreateSchemaStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateSchemaStmt& default_instance() { + static const FromExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateSchemaStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateSchemaStmt_default_instance_); + static inline const FromExpr* internal_default_instance() { + return reinterpret_cast( + &_FromExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 120; + 73; - friend void swap(CreateSchemaStmt& a, CreateSchemaStmt& b) { + friend void swap(FromExpr& a, FromExpr& b) { a.Swap(&b); } - inline void Swap(CreateSchemaStmt* other) { + inline void Swap(FromExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateSchemaStmt* other) { + void UnsafeArenaSwap(FromExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateSchemaStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FromExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateSchemaStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateSchemaStmt& from) { - CreateSchemaStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FromExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FromExpr& from) { + FromExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateSchemaStmt* other); + void InternalSwap(FromExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateSchemaStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FromExpr"; } protected: - explicit CreateSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FromExpr(::google::protobuf::Arena* arena); + FromExpr(::google::protobuf::Arena* arena, const FromExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSchemaEltsFieldNumber = 3, - kSchemanameFieldNumber = 1, - kAuthroleFieldNumber = 2, - kIfNotExistsFieldNumber = 4, + kFromlistFieldNumber = 1, + kQualsFieldNumber = 2, }; - // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"]; - int schema_elts_size() const; - private: - int _internal_schema_elts_size() const; - public: - void clear_schema_elts(); - ::pg_query::Node* mutable_schema_elts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_schema_elts(); - private: - const ::pg_query::Node& _internal_schema_elts(int index) const; - ::pg_query::Node* _internal_add_schema_elts(); - public: - const ::pg_query::Node& schema_elts(int index) const; - ::pg_query::Node* add_schema_elts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - schema_elts() const; - - // string schemaname = 1 [json_name = "schemaname"]; - void clear_schemaname(); - const std::string& schemaname() const; - template - void set_schemaname(ArgT0&& arg0, ArgT... args); - std::string* mutable_schemaname(); - PROTOBUF_NODISCARD std::string* release_schemaname(); - void set_allocated_schemaname(std::string* schemaname); + // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; + int fromlist_size() const; private: - const std::string& _internal_schemaname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname(const std::string& value); - std::string* _internal_mutable_schemaname(); - public: + int _internal_fromlist_size() const; - // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"]; - bool has_authrole() const; - private: - bool _internal_has_authrole() const; public: - void clear_authrole(); - const ::pg_query::RoleSpec& authrole() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_authrole(); - ::pg_query::RoleSpec* mutable_authrole(); - void set_allocated_authrole(::pg_query::RoleSpec* authrole); + void clear_fromlist() ; + ::pg_query::Node* mutable_fromlist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_fromlist(); private: - const ::pg_query::RoleSpec& _internal_authrole() const; - ::pg_query::RoleSpec* _internal_mutable_authrole(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_fromlist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_fromlist(); public: - void unsafe_arena_set_allocated_authrole( - ::pg_query::RoleSpec* authrole); - ::pg_query::RoleSpec* unsafe_arena_release_authrole(); + const ::pg_query::Node& fromlist(int index) const; + ::pg_query::Node* add_fromlist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + fromlist() const; + // .pg_query.Node quals = 2 [json_name = "quals"]; + bool has_quals() const; + void clear_quals() ; + const ::pg_query::Node& quals() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_quals(); + ::pg_query::Node* mutable_quals(); + void set_allocated_quals(::pg_query::Node* value); + void unsafe_arena_set_allocated_quals(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_quals(); - // bool if_not_exists = 4 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + const ::pg_query::Node& _internal_quals() const; + ::pg_query::Node* _internal_mutable_quals(); - // @@protoc_insertion_point(class_scope:pg_query.CreateSchemaStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.FromExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > schema_elts_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr schemaname_; - ::pg_query::RoleSpec* authrole_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > fromlist_; + ::pg_query::Node* quals_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterDatabaseStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseStmt) */ { +class FuncCall final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FuncCall) */ { public: - inline AlterDatabaseStmt() : AlterDatabaseStmt(nullptr) {} - ~AlterDatabaseStmt() override; - explicit PROTOBUF_CONSTEXPR AlterDatabaseStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FuncCall() : FuncCall(nullptr) {} + ~FuncCall() override; + template + explicit PROTOBUF_CONSTEXPR FuncCall(::google::protobuf::internal::ConstantInitialized); - AlterDatabaseStmt(const AlterDatabaseStmt& from); - AlterDatabaseStmt(AlterDatabaseStmt&& from) noexcept - : AlterDatabaseStmt() { + inline FuncCall(const FuncCall& from) + : FuncCall(nullptr, from) {} + FuncCall(FuncCall&& from) noexcept + : FuncCall() { *this = ::std::move(from); } - inline AlterDatabaseStmt& operator=(const AlterDatabaseStmt& from) { + inline FuncCall& operator=(const FuncCall& from) { CopyFrom(from); return *this; } - inline AlterDatabaseStmt& operator=(AlterDatabaseStmt&& from) noexcept { + inline FuncCall& operator=(FuncCall&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -35898,170 +38593,327 @@ class AlterDatabaseStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterDatabaseStmt& default_instance() { + static const FuncCall& default_instance() { return *internal_default_instance(); } - static inline const AlterDatabaseStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterDatabaseStmt_default_instance_); + static inline const FuncCall* internal_default_instance() { + return reinterpret_cast( + &_FuncCall_default_instance_); } static constexpr int kIndexInFileMessages = - 121; + 83; - friend void swap(AlterDatabaseStmt& a, AlterDatabaseStmt& b) { + friend void swap(FuncCall& a, FuncCall& b) { a.Swap(&b); } - inline void Swap(AlterDatabaseStmt* other) { + inline void Swap(FuncCall* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterDatabaseStmt* other) { + void UnsafeArenaSwap(FuncCall* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterDatabaseStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FuncCall* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterDatabaseStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterDatabaseStmt& from) { - AlterDatabaseStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FuncCall& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FuncCall& from) { + FuncCall::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterDatabaseStmt* other); + void InternalSwap(FuncCall* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterDatabaseStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FuncCall"; } protected: - explicit AlterDatabaseStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FuncCall(::google::protobuf::Arena* arena); + FuncCall(::google::protobuf::Arena* arena, const FuncCall& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kDbnameFieldNumber = 1, + kFuncnameFieldNumber = 1, + kArgsFieldNumber = 2, + kAggOrderFieldNumber = 3, + kAggFilterFieldNumber = 4, + kOverFieldNumber = 5, + kAggWithinGroupFieldNumber = 6, + kAggStarFieldNumber = 7, + kAggDistinctFieldNumber = 8, + kFuncVariadicFieldNumber = 9, + kFuncformatFieldNumber = 10, + kLocationFieldNumber = 11, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; + int funcname_size() const; private: - int _internal_options_size() const; + int _internal_funcname_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_funcname() ; + ::pg_query::Node* mutable_funcname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funcname(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funcname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funcname(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& funcname(int index) const; + ::pg_query::Node* add_funcname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funcname() const; + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; - // string dbname = 1 [json_name = "dbname"]; - void clear_dbname(); - const std::string& dbname() const; - template - void set_dbname(ArgT0&& arg0, ArgT... args); - std::string* mutable_dbname(); - PROTOBUF_NODISCARD std::string* release_dbname(); - void set_allocated_dbname(std::string* dbname); + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const std::string& _internal_dbname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname(const std::string& value); - std::string* _internal_mutable_dbname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; + int agg_order_size() const; + private: + int _internal_agg_order_size() const; + + public: + void clear_agg_order() ; + ::pg_query::Node* mutable_agg_order(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_agg_order(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_agg_order() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_agg_order(); public: + const ::pg_query::Node& agg_order(int index) const; + ::pg_query::Node* add_agg_order(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + agg_order() const; + // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; + bool has_agg_filter() const; + void clear_agg_filter() ; + const ::pg_query::Node& agg_filter() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_agg_filter(); + ::pg_query::Node* mutable_agg_filter(); + void set_allocated_agg_filter(::pg_query::Node* value); + void unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_agg_filter(); - // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseStmt) + private: + const ::pg_query::Node& _internal_agg_filter() const; + ::pg_query::Node* _internal_mutable_agg_filter(); + + public: + // .pg_query.WindowDef over = 5 [json_name = "over"]; + bool has_over() const; + void clear_over() ; + const ::pg_query::WindowDef& over() const; + PROTOBUF_NODISCARD ::pg_query::WindowDef* release_over(); + ::pg_query::WindowDef* mutable_over(); + void set_allocated_over(::pg_query::WindowDef* value); + void unsafe_arena_set_allocated_over(::pg_query::WindowDef* value); + ::pg_query::WindowDef* unsafe_arena_release_over(); + + private: + const ::pg_query::WindowDef& _internal_over() const; + ::pg_query::WindowDef* _internal_mutable_over(); + + public: + // bool agg_within_group = 6 [json_name = "agg_within_group"]; + void clear_agg_within_group() ; + bool agg_within_group() const; + void set_agg_within_group(bool value); + + private: + bool _internal_agg_within_group() const; + void _internal_set_agg_within_group(bool value); + + public: + // bool agg_star = 7 [json_name = "agg_star"]; + void clear_agg_star() ; + bool agg_star() const; + void set_agg_star(bool value); + + private: + bool _internal_agg_star() const; + void _internal_set_agg_star(bool value); + + public: + // bool agg_distinct = 8 [json_name = "agg_distinct"]; + void clear_agg_distinct() ; + bool agg_distinct() const; + void set_agg_distinct(bool value); + + private: + bool _internal_agg_distinct() const; + void _internal_set_agg_distinct(bool value); + + public: + // bool func_variadic = 9 [json_name = "func_variadic"]; + void clear_func_variadic() ; + bool func_variadic() const; + void set_func_variadic(bool value); + + private: + bool _internal_func_variadic() const; + void _internal_set_func_variadic(bool value); + + public: + // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; + void clear_funcformat() ; + ::pg_query::CoercionForm funcformat() const; + void set_funcformat(::pg_query::CoercionForm value); + + private: + ::pg_query::CoercionForm _internal_funcformat() const; + void _internal_set_funcformat(::pg_query::CoercionForm value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.FuncCall) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dbname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funcname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > agg_order_; + ::pg_query::Node* agg_filter_; + ::pg_query::WindowDef* over_; + bool agg_within_group_; + bool agg_star_; + bool agg_distinct_; + bool func_variadic_; + int funcformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterDatabaseRefreshCollStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseRefreshCollStmt) */ { +class FuncExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FuncExpr) */ { public: - inline AlterDatabaseRefreshCollStmt() : AlterDatabaseRefreshCollStmt(nullptr) {} - ~AlterDatabaseRefreshCollStmt() override; - explicit PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FuncExpr() : FuncExpr(nullptr) {} + ~FuncExpr() override; + template + explicit PROTOBUF_CONSTEXPR FuncExpr(::google::protobuf::internal::ConstantInitialized); - AlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt& from); - AlterDatabaseRefreshCollStmt(AlterDatabaseRefreshCollStmt&& from) noexcept - : AlterDatabaseRefreshCollStmt() { + inline FuncExpr(const FuncExpr& from) + : FuncExpr(nullptr, from) {} + FuncExpr(FuncExpr&& from) noexcept + : FuncExpr() { *this = ::std::move(from); } - inline AlterDatabaseRefreshCollStmt& operator=(const AlterDatabaseRefreshCollStmt& from) { + inline FuncExpr& operator=(const FuncExpr& from) { CopyFrom(from); return *this; } - inline AlterDatabaseRefreshCollStmt& operator=(AlterDatabaseRefreshCollStmt&& from) noexcept { + inline FuncExpr& operator=(FuncExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -36071,150 +38923,294 @@ class AlterDatabaseRefreshCollStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterDatabaseRefreshCollStmt& default_instance() { + static const FuncExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterDatabaseRefreshCollStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterDatabaseRefreshCollStmt_default_instance_); + static inline const FuncExpr* internal_default_instance() { + return reinterpret_cast( + &_FuncExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 122; + 24; - friend void swap(AlterDatabaseRefreshCollStmt& a, AlterDatabaseRefreshCollStmt& b) { + friend void swap(FuncExpr& a, FuncExpr& b) { a.Swap(&b); } - inline void Swap(AlterDatabaseRefreshCollStmt* other) { + inline void Swap(FuncExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterDatabaseRefreshCollStmt* other) { + void UnsafeArenaSwap(FuncExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterDatabaseRefreshCollStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FuncExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterDatabaseRefreshCollStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterDatabaseRefreshCollStmt& from) { - AlterDatabaseRefreshCollStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FuncExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FuncExpr& from) { + FuncExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterDatabaseRefreshCollStmt* other); + void InternalSwap(FuncExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterDatabaseRefreshCollStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FuncExpr"; } protected: - explicit AlterDatabaseRefreshCollStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FuncExpr(::google::protobuf::Arena* arena); + FuncExpr(::google::protobuf::Arena* arena, const FuncExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDbnameFieldNumber = 1, + kArgsFieldNumber = 9, + kXprFieldNumber = 1, + kFuncidFieldNumber = 2, + kFuncresulttypeFieldNumber = 3, + kFuncretsetFieldNumber = 4, + kFuncvariadicFieldNumber = 5, + kFuncformatFieldNumber = 6, + kFunccollidFieldNumber = 7, + kInputcollidFieldNumber = 8, + kLocationFieldNumber = 10, }; - // string dbname = 1 [json_name = "dbname"]; - void clear_dbname(); - const std::string& dbname() const; - template - void set_dbname(ArgT0&& arg0, ArgT... args); - std::string* mutable_dbname(); - PROTOBUF_NODISCARD std::string* release_dbname(); - void set_allocated_dbname(std::string* dbname); + // repeated .pg_query.Node args = 9 [json_name = "args"]; + int args_size() const; private: - const std::string& _internal_dbname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname(const std::string& value); - std::string* _internal_mutable_dbname(); + int _internal_args_size() const; + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseRefreshCollStmt) + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // uint32 funcid = 2 [json_name = "funcid"]; + void clear_funcid() ; + ::uint32_t funcid() const; + void set_funcid(::uint32_t value); + + private: + ::uint32_t _internal_funcid() const; + void _internal_set_funcid(::uint32_t value); + + public: + // uint32 funcresulttype = 3 [json_name = "funcresulttype"]; + void clear_funcresulttype() ; + ::uint32_t funcresulttype() const; + void set_funcresulttype(::uint32_t value); + + private: + ::uint32_t _internal_funcresulttype() const; + void _internal_set_funcresulttype(::uint32_t value); + + public: + // bool funcretset = 4 [json_name = "funcretset"]; + void clear_funcretset() ; + bool funcretset() const; + void set_funcretset(bool value); + + private: + bool _internal_funcretset() const; + void _internal_set_funcretset(bool value); + + public: + // bool funcvariadic = 5 [json_name = "funcvariadic"]; + void clear_funcvariadic() ; + bool funcvariadic() const; + void set_funcvariadic(bool value); + + private: + bool _internal_funcvariadic() const; + void _internal_set_funcvariadic(bool value); + + public: + // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"]; + void clear_funcformat() ; + ::pg_query::CoercionForm funcformat() const; + void set_funcformat(::pg_query::CoercionForm value); + + private: + ::pg_query::CoercionForm _internal_funcformat() const; + void _internal_set_funcformat(::pg_query::CoercionForm value); + + public: + // uint32 funccollid = 7 [json_name = "funccollid"]; + void clear_funccollid() ; + ::uint32_t funccollid() const; + void set_funccollid(::uint32_t value); + + private: + ::uint32_t _internal_funccollid() const; + void _internal_set_funccollid(::uint32_t value); + + public: + // uint32 inputcollid = 8 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // int32 location = 10 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.FuncExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 10, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dbname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t funcid_; + ::uint32_t funcresulttype_; + bool funcretset_; + bool funcvariadic_; + int funcformat_; + ::uint32_t funccollid_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterDatabaseSetStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterDatabaseSetStmt) */ { +class FunctionParameter final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.FunctionParameter) */ { public: - inline AlterDatabaseSetStmt() : AlterDatabaseSetStmt(nullptr) {} - ~AlterDatabaseSetStmt() override; - explicit PROTOBUF_CONSTEXPR AlterDatabaseSetStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline FunctionParameter() : FunctionParameter(nullptr) {} + ~FunctionParameter() override; + template + explicit PROTOBUF_CONSTEXPR FunctionParameter(::google::protobuf::internal::ConstantInitialized); - AlterDatabaseSetStmt(const AlterDatabaseSetStmt& from); - AlterDatabaseSetStmt(AlterDatabaseSetStmt&& from) noexcept - : AlterDatabaseSetStmt() { + inline FunctionParameter(const FunctionParameter& from) + : FunctionParameter(nullptr, from) {} + FunctionParameter(FunctionParameter&& from) noexcept + : FunctionParameter() { *this = ::std::move(from); } - inline AlterDatabaseSetStmt& operator=(const AlterDatabaseSetStmt& from) { + inline FunctionParameter& operator=(const FunctionParameter& from) { CopyFrom(from); return *this; } - inline AlterDatabaseSetStmt& operator=(AlterDatabaseSetStmt&& from) noexcept { + inline FunctionParameter& operator=(FunctionParameter&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -36224,170 +39220,225 @@ class AlterDatabaseSetStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterDatabaseSetStmt& default_instance() { + static const FunctionParameter& default_instance() { return *internal_default_instance(); } - static inline const AlterDatabaseSetStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterDatabaseSetStmt_default_instance_); + static inline const FunctionParameter* internal_default_instance() { + return reinterpret_cast( + &_FunctionParameter_default_instance_); } static constexpr int kIndexInFileMessages = - 123; + 214; - friend void swap(AlterDatabaseSetStmt& a, AlterDatabaseSetStmt& b) { + friend void swap(FunctionParameter& a, FunctionParameter& b) { a.Swap(&b); } - inline void Swap(AlterDatabaseSetStmt* other) { + inline void Swap(FunctionParameter* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterDatabaseSetStmt* other) { + void UnsafeArenaSwap(FunctionParameter* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterDatabaseSetStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + FunctionParameter* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterDatabaseSetStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterDatabaseSetStmt& from) { - AlterDatabaseSetStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FunctionParameter& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const FunctionParameter& from) { + FunctionParameter::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterDatabaseSetStmt* other); + void InternalSwap(FunctionParameter* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterDatabaseSetStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.FunctionParameter"; } protected: - explicit AlterDatabaseSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit FunctionParameter(::google::protobuf::Arena* arena); + FunctionParameter(::google::protobuf::Arena* arena, const FunctionParameter& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDbnameFieldNumber = 1, - kSetstmtFieldNumber = 2, + kNameFieldNumber = 1, + kArgTypeFieldNumber = 2, + kDefexprFieldNumber = 4, + kModeFieldNumber = 3, }; - // string dbname = 1 [json_name = "dbname"]; - void clear_dbname(); - const std::string& dbname() const; - template - void set_dbname(ArgT0&& arg0, ArgT... args); - std::string* mutable_dbname(); - PROTOBUF_NODISCARD std::string* release_dbname(); - void set_allocated_dbname(std::string* dbname); + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - const std::string& _internal_dbname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dbname(const std::string& value); - std::string* _internal_mutable_dbname(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: + // .pg_query.TypeName arg_type = 2 [json_name = "argType"]; + bool has_arg_type() const; + void clear_arg_type() ; + const ::pg_query::TypeName& arg_type() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_arg_type(); + ::pg_query::TypeName* mutable_arg_type(); + void set_allocated_arg_type(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_arg_type(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_arg_type(); - // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"]; - bool has_setstmt() const; private: - bool _internal_has_setstmt() const; + const ::pg_query::TypeName& _internal_arg_type() const; + ::pg_query::TypeName* _internal_mutable_arg_type(); + public: - void clear_setstmt(); - const ::pg_query::VariableSetStmt& setstmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); - ::pg_query::VariableSetStmt* mutable_setstmt(); - void set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt); + // .pg_query.Node defexpr = 4 [json_name = "defexpr"]; + bool has_defexpr() const; + void clear_defexpr() ; + const ::pg_query::Node& defexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_defexpr(); + ::pg_query::Node* mutable_defexpr(); + void set_allocated_defexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_defexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_defexpr(); + private: - const ::pg_query::VariableSetStmt& _internal_setstmt() const; - ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); + const ::pg_query::Node& _internal_defexpr() const; + ::pg_query::Node* _internal_mutable_defexpr(); + public: - void unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt); - ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); + // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"]; + void clear_mode() ; + ::pg_query::FunctionParameterMode mode() const; + void set_mode(::pg_query::FunctionParameterMode value); - // @@protoc_insertion_point(class_scope:pg_query.AlterDatabaseSetStmt) + private: + ::pg_query::FunctionParameterMode _internal_mode() const; + void _internal_set_mode(::pg_query::FunctionParameterMode value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.FunctionParameter) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 39, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dbname_; - ::pg_query::VariableSetStmt* setstmt_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::TypeName* arg_type_; + ::pg_query::Node* defexpr_; + int mode_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterRoleSetStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterRoleSetStmt) */ { +class GrantRoleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.GrantRoleStmt) */ { public: - inline AlterRoleSetStmt() : AlterRoleSetStmt(nullptr) {} - ~AlterRoleSetStmt() override; - explicit PROTOBUF_CONSTEXPR AlterRoleSetStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GrantRoleStmt() : GrantRoleStmt(nullptr) {} + ~GrantRoleStmt() override; + template + explicit PROTOBUF_CONSTEXPR GrantRoleStmt(::google::protobuf::internal::ConstantInitialized); - AlterRoleSetStmt(const AlterRoleSetStmt& from); - AlterRoleSetStmt(AlterRoleSetStmt&& from) noexcept - : AlterRoleSetStmt() { + inline GrantRoleStmt(const GrantRoleStmt& from) + : GrantRoleStmt(nullptr, from) {} + GrantRoleStmt(GrantRoleStmt&& from) noexcept + : GrantRoleStmt() { *this = ::std::move(from); } - inline AlterRoleSetStmt& operator=(const AlterRoleSetStmt& from) { + inline GrantRoleStmt& operator=(const GrantRoleStmt& from) { CopyFrom(from); return *this; } - inline AlterRoleSetStmt& operator=(AlterRoleSetStmt&& from) noexcept { + inline GrantRoleStmt& operator=(GrantRoleStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -36397,190 +39448,262 @@ class AlterRoleSetStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterRoleSetStmt& default_instance() { + static const GrantRoleStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterRoleSetStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterRoleSetStmt_default_instance_); + static inline const GrantRoleStmt* internal_default_instance() { + return reinterpret_cast( + &_GrantRoleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 124; + 160; - friend void swap(AlterRoleSetStmt& a, AlterRoleSetStmt& b) { + friend void swap(GrantRoleStmt& a, GrantRoleStmt& b) { a.Swap(&b); } - inline void Swap(AlterRoleSetStmt* other) { + inline void Swap(GrantRoleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterRoleSetStmt* other) { + void UnsafeArenaSwap(GrantRoleStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterRoleSetStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GrantRoleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterRoleSetStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterRoleSetStmt& from) { - AlterRoleSetStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GrantRoleStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const GrantRoleStmt& from) { + GrantRoleStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterRoleSetStmt* other); + void InternalSwap(GrantRoleStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterRoleSetStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.GrantRoleStmt"; } protected: - explicit AlterRoleSetStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit GrantRoleStmt(::google::protobuf::Arena* arena); + GrantRoleStmt(::google::protobuf::Arena* arena, const GrantRoleStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDatabaseFieldNumber = 2, - kRoleFieldNumber = 1, - kSetstmtFieldNumber = 3, + kGrantedRolesFieldNumber = 1, + kGranteeRolesFieldNumber = 2, + kOptFieldNumber = 4, + kGrantorFieldNumber = 5, + kIsGrantFieldNumber = 3, + kBehaviorFieldNumber = 6, }; - // string database = 2 [json_name = "database"]; - void clear_database(); - const std::string& database() const; - template - void set_database(ArgT0&& arg0, ArgT... args); - std::string* mutable_database(); - PROTOBUF_NODISCARD std::string* release_database(); - void set_allocated_database(std::string* database); + // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"]; + int granted_roles_size() const; private: - const std::string& _internal_database() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_database(const std::string& value); - std::string* _internal_mutable_database(); + int _internal_granted_roles_size() const; + + public: + void clear_granted_roles() ; + ::pg_query::Node* mutable_granted_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_granted_roles(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_granted_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_granted_roles(); public: + const ::pg_query::Node& granted_roles(int index) const; + ::pg_query::Node* add_granted_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + granted_roles() const; + // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"]; + int grantee_roles_size() const; + private: + int _internal_grantee_roles_size() const; - // .pg_query.RoleSpec role = 1 [json_name = "role"]; - bool has_role() const; + public: + void clear_grantee_roles() ; + ::pg_query::Node* mutable_grantee_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_grantee_roles(); private: - bool _internal_has_role() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_grantee_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_grantee_roles(); public: - void clear_role(); - const ::pg_query::RoleSpec& role() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role(); - ::pg_query::RoleSpec* mutable_role(); - void set_allocated_role(::pg_query::RoleSpec* role); + const ::pg_query::Node& grantee_roles(int index) const; + ::pg_query::Node* add_grantee_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + grantee_roles() const; + // repeated .pg_query.Node opt = 4 [json_name = "opt"]; + int opt_size() const; private: - const ::pg_query::RoleSpec& _internal_role() const; - ::pg_query::RoleSpec* _internal_mutable_role(); + int _internal_opt_size() const; + public: - void unsafe_arena_set_allocated_role( - ::pg_query::RoleSpec* role); - ::pg_query::RoleSpec* unsafe_arena_release_role(); + void clear_opt() ; + ::pg_query::Node* mutable_opt(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opt(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opt() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opt(); + public: + const ::pg_query::Node& opt(int index) const; + ::pg_query::Node* add_opt(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opt() const; + // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"]; + bool has_grantor() const; + void clear_grantor() ; + const ::pg_query::RoleSpec& grantor() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_grantor(); + ::pg_query::RoleSpec* mutable_grantor(); + void set_allocated_grantor(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_grantor(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_grantor(); - // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"]; - bool has_setstmt() const; private: - bool _internal_has_setstmt() const; + const ::pg_query::RoleSpec& _internal_grantor() const; + ::pg_query::RoleSpec* _internal_mutable_grantor(); + public: - void clear_setstmt(); - const ::pg_query::VariableSetStmt& setstmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); - ::pg_query::VariableSetStmt* mutable_setstmt(); - void set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt); + // bool is_grant = 3 [json_name = "is_grant"]; + void clear_is_grant() ; + bool is_grant() const; + void set_is_grant(bool value); + private: - const ::pg_query::VariableSetStmt& _internal_setstmt() const; - ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); + bool _internal_is_grant() const; + void _internal_set_is_grant(bool value); + public: - void unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt); - ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); + // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // @@protoc_insertion_point(class_scope:pg_query.AlterRoleSetStmt) + private: + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.GrantRoleStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr database_; - ::pg_query::RoleSpec* role_; - ::pg_query::VariableSetStmt* setstmt_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > granted_roles_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > grantee_roles_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opt_; + ::pg_query::RoleSpec* grantor_; + bool is_grant_; + int behavior_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateConversionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateConversionStmt) */ { +class GrantStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.GrantStmt) */ { public: - inline CreateConversionStmt() : CreateConversionStmt(nullptr) {} - ~CreateConversionStmt() override; - explicit PROTOBUF_CONSTEXPR CreateConversionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GrantStmt() : GrantStmt(nullptr) {} + ~GrantStmt() override; + template + explicit PROTOBUF_CONSTEXPR GrantStmt(::google::protobuf::internal::ConstantInitialized); - CreateConversionStmt(const CreateConversionStmt& from); - CreateConversionStmt(CreateConversionStmt&& from) noexcept - : CreateConversionStmt() { + inline GrantStmt(const GrantStmt& from) + : GrantStmt(nullptr, from) {} + GrantStmt(GrantStmt&& from) noexcept + : GrantStmt() { *this = ::std::move(from); } - inline CreateConversionStmt& operator=(const CreateConversionStmt& from) { + inline GrantStmt& operator=(const GrantStmt& from) { CopyFrom(from); return *this; } - inline CreateConversionStmt& operator=(CreateConversionStmt&& from) noexcept { + inline GrantStmt& operator=(GrantStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -36590,217 +39713,298 @@ class CreateConversionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateConversionStmt& default_instance() { + static const GrantStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateConversionStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateConversionStmt_default_instance_); + static inline const GrantStmt* internal_default_instance() { + return reinterpret_cast( + &_GrantStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 125; + 157; - friend void swap(CreateConversionStmt& a, CreateConversionStmt& b) { + friend void swap(GrantStmt& a, GrantStmt& b) { a.Swap(&b); } - inline void Swap(CreateConversionStmt* other) { + inline void Swap(GrantStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateConversionStmt* other) { + void UnsafeArenaSwap(GrantStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateConversionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GrantStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateConversionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateConversionStmt& from) { - CreateConversionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GrantStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const GrantStmt& from) { + GrantStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateConversionStmt* other); + void InternalSwap(GrantStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateConversionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.GrantStmt"; } protected: - explicit CreateConversionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit GrantStmt(::google::protobuf::Arena* arena); + GrantStmt(::google::protobuf::Arena* arena, const GrantStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConversionNameFieldNumber = 1, - kFuncNameFieldNumber = 4, - kForEncodingNameFieldNumber = 2, - kToEncodingNameFieldNumber = 3, - kDefFieldNumber = 5, + kObjectsFieldNumber = 4, + kPrivilegesFieldNumber = 5, + kGranteesFieldNumber = 6, + kGrantorFieldNumber = 8, + kTargtypeFieldNumber = 2, + kObjtypeFieldNumber = 3, + kIsGrantFieldNumber = 1, + kGrantOptionFieldNumber = 7, + kBehaviorFieldNumber = 9, }; - // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"]; - int conversion_name_size() const; + // repeated .pg_query.Node objects = 4 [json_name = "objects"]; + int objects_size() const; private: - int _internal_conversion_name_size() const; + int _internal_objects_size() const; + public: - void clear_conversion_name(); - ::pg_query::Node* mutable_conversion_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_conversion_name(); + void clear_objects() ; + ::pg_query::Node* mutable_objects(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objects(); private: - const ::pg_query::Node& _internal_conversion_name(int index) const; - ::pg_query::Node* _internal_add_conversion_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objects() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objects(); public: - const ::pg_query::Node& conversion_name(int index) const; - ::pg_query::Node* add_conversion_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - conversion_name() const; + const ::pg_query::Node& objects(int index) const; + ::pg_query::Node* add_objects(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objects() const; + // repeated .pg_query.Node privileges = 5 [json_name = "privileges"]; + int privileges_size() const; + private: + int _internal_privileges_size() const; - // repeated .pg_query.Node func_name = 4 [json_name = "func_name"]; - int func_name_size() const; + public: + void clear_privileges() ; + ::pg_query::Node* mutable_privileges(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_privileges(); private: - int _internal_func_name_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_privileges() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_privileges(); public: - void clear_func_name(); - ::pg_query::Node* mutable_func_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_func_name(); + const ::pg_query::Node& privileges(int index) const; + ::pg_query::Node* add_privileges(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + privileges() const; + // repeated .pg_query.Node grantees = 6 [json_name = "grantees"]; + int grantees_size() const; + private: + int _internal_grantees_size() const; + + public: + void clear_grantees() ; + ::pg_query::Node* mutable_grantees(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_grantees(); private: - const ::pg_query::Node& _internal_func_name(int index) const; - ::pg_query::Node* _internal_add_func_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_grantees() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_grantees(); public: - const ::pg_query::Node& func_name(int index) const; - ::pg_query::Node* add_func_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - func_name() const; + const ::pg_query::Node& grantees(int index) const; + ::pg_query::Node* add_grantees(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + grantees() const; + // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"]; + bool has_grantor() const; + void clear_grantor() ; + const ::pg_query::RoleSpec& grantor() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_grantor(); + ::pg_query::RoleSpec* mutable_grantor(); + void set_allocated_grantor(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_grantor(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_grantor(); - // string for_encoding_name = 2 [json_name = "for_encoding_name"]; - void clear_for_encoding_name(); - const std::string& for_encoding_name() const; - template - void set_for_encoding_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_for_encoding_name(); - PROTOBUF_NODISCARD std::string* release_for_encoding_name(); - void set_allocated_for_encoding_name(std::string* for_encoding_name); private: - const std::string& _internal_for_encoding_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_for_encoding_name(const std::string& value); - std::string* _internal_mutable_for_encoding_name(); + const ::pg_query::RoleSpec& _internal_grantor() const; + ::pg_query::RoleSpec* _internal_mutable_grantor(); + public: + // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"]; + void clear_targtype() ; + ::pg_query::GrantTargetType targtype() const; + void set_targtype(::pg_query::GrantTargetType value); - // string to_encoding_name = 3 [json_name = "to_encoding_name"]; - void clear_to_encoding_name(); - const std::string& to_encoding_name() const; - template - void set_to_encoding_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_to_encoding_name(); - PROTOBUF_NODISCARD std::string* release_to_encoding_name(); - void set_allocated_to_encoding_name(std::string* to_encoding_name); private: - const std::string& _internal_to_encoding_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_to_encoding_name(const std::string& value); - std::string* _internal_mutable_to_encoding_name(); + ::pg_query::GrantTargetType _internal_targtype() const; + void _internal_set_targtype(::pg_query::GrantTargetType value); + public: + // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // bool def = 5 [json_name = "def"]; - void clear_def(); - bool def() const; - void set_def(bool value); private: - bool _internal_def() const; - void _internal_set_def(bool value); + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); + public: + // bool is_grant = 1 [json_name = "is_grant"]; + void clear_is_grant() ; + bool is_grant() const; + void set_is_grant(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateConversionStmt) + private: + bool _internal_is_grant() const; + void _internal_set_is_grant(bool value); + + public: + // bool grant_option = 7 [json_name = "grant_option"]; + void clear_grant_option() ; + bool grant_option() const; + void set_grant_option(bool value); + + private: + bool _internal_grant_option() const; + void _internal_set_grant_option(bool value); + + public: + // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); + + private: + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.GrantStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 9, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > conversion_name_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > func_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr for_encoding_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr to_encoding_name_; - bool def_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objects_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > privileges_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > grantees_; + ::pg_query::RoleSpec* grantor_; + int targtype_; + int objtype_; + bool is_grant_; + bool grant_option_; + int behavior_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateCastStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateCastStmt) */ { +class GroupingFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.GroupingFunc) */ { public: - inline CreateCastStmt() : CreateCastStmt(nullptr) {} - ~CreateCastStmt() override; - explicit PROTOBUF_CONSTEXPR CreateCastStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GroupingFunc() : GroupingFunc(nullptr) {} + ~GroupingFunc() override; + template + explicit PROTOBUF_CONSTEXPR GroupingFunc(::google::protobuf::internal::ConstantInitialized); - CreateCastStmt(const CreateCastStmt& from); - CreateCastStmt(CreateCastStmt&& from) noexcept - : CreateCastStmt() { + inline GroupingFunc(const GroupingFunc& from) + : GroupingFunc(nullptr, from) {} + GroupingFunc(GroupingFunc&& from) noexcept + : GroupingFunc() { *this = ::std::move(from); } - inline CreateCastStmt& operator=(const CreateCastStmt& from) { + inline GroupingFunc& operator=(const GroupingFunc& from) { CopyFrom(from); return *this; } - inline CreateCastStmt& operator=(CreateCastStmt&& from) noexcept { + inline GroupingFunc& operator=(GroupingFunc&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -36810,216 +40014,242 @@ class CreateCastStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateCastStmt& default_instance() { + static const GroupingFunc& default_instance() { return *internal_default_instance(); } - static inline const CreateCastStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateCastStmt_default_instance_); + static inline const GroupingFunc* internal_default_instance() { + return reinterpret_cast( + &_GroupingFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 126; + 19; - friend void swap(CreateCastStmt& a, CreateCastStmt& b) { + friend void swap(GroupingFunc& a, GroupingFunc& b) { a.Swap(&b); } - inline void Swap(CreateCastStmt* other) { + inline void Swap(GroupingFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateCastStmt* other) { + void UnsafeArenaSwap(GroupingFunc* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateCastStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GroupingFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateCastStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateCastStmt& from) { - CreateCastStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GroupingFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const GroupingFunc& from) { + GroupingFunc::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateCastStmt* other); + void InternalSwap(GroupingFunc* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateCastStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.GroupingFunc"; } protected: - explicit CreateCastStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit GroupingFunc(::google::protobuf::Arena* arena); + GroupingFunc(::google::protobuf::Arena* arena, const GroupingFunc& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSourcetypeFieldNumber = 1, - kTargettypeFieldNumber = 2, - kFuncFieldNumber = 3, - kContextFieldNumber = 4, - kInoutFieldNumber = 5, + kArgsFieldNumber = 2, + kRefsFieldNumber = 3, + kXprFieldNumber = 1, + kAgglevelsupFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"]; - bool has_sourcetype() const; + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; private: - bool _internal_has_sourcetype() const; + int _internal_args_size() const; + public: - void clear_sourcetype(); - const ::pg_query::TypeName& sourcetype() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_sourcetype(); - ::pg_query::TypeName* mutable_sourcetype(); - void set_allocated_sourcetype(::pg_query::TypeName* sourcetype); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::TypeName& _internal_sourcetype() const; - ::pg_query::TypeName* _internal_mutable_sourcetype(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void unsafe_arena_set_allocated_sourcetype( - ::pg_query::TypeName* sourcetype); - ::pg_query::TypeName* unsafe_arena_release_sourcetype(); - - // .pg_query.TypeName targettype = 2 [json_name = "targettype"]; - bool has_targettype() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node refs = 3 [json_name = "refs"]; + int refs_size() const; private: - bool _internal_has_targettype() const; + int _internal_refs_size() const; + public: - void clear_targettype(); - const ::pg_query::TypeName& targettype() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_targettype(); - ::pg_query::TypeName* mutable_targettype(); - void set_allocated_targettype(::pg_query::TypeName* targettype); + void clear_refs() ; + ::pg_query::Node* mutable_refs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_refs(); private: - const ::pg_query::TypeName& _internal_targettype() const; - ::pg_query::TypeName* _internal_mutable_targettype(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_refs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_refs(); public: - void unsafe_arena_set_allocated_targettype( - ::pg_query::TypeName* targettype); - ::pg_query::TypeName* unsafe_arena_release_targettype(); + const ::pg_query::Node& refs(int index) const; + ::pg_query::Node* add_refs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + refs() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.ObjectWithArgs func = 3 [json_name = "func"]; - bool has_func() const; - private: - bool _internal_has_func() const; - public: - void clear_func(); - const ::pg_query::ObjectWithArgs& func() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_func(); - ::pg_query::ObjectWithArgs* mutable_func(); - void set_allocated_func(::pg_query::ObjectWithArgs* func); private: - const ::pg_query::ObjectWithArgs& _internal_func() const; - ::pg_query::ObjectWithArgs* _internal_mutable_func(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_func( - ::pg_query::ObjectWithArgs* func); - ::pg_query::ObjectWithArgs* unsafe_arena_release_func(); + // uint32 agglevelsup = 4 [json_name = "agglevelsup"]; + void clear_agglevelsup() ; + ::uint32_t agglevelsup() const; + void set_agglevelsup(::uint32_t value); - // .pg_query.CoercionContext context = 4 [json_name = "context"]; - void clear_context(); - ::pg_query::CoercionContext context() const; - void set_context(::pg_query::CoercionContext value); private: - ::pg_query::CoercionContext _internal_context() const; - void _internal_set_context(::pg_query::CoercionContext value); + ::uint32_t _internal_agglevelsup() const; + void _internal_set_agglevelsup(::uint32_t value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool inout = 5 [json_name = "inout"]; - void clear_inout(); - bool inout() const; - void set_inout(bool value); private: - bool _internal_inout() const; - void _internal_set_inout(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateCastStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.GroupingFunc) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::TypeName* sourcetype_; - ::pg_query::TypeName* targettype_; - ::pg_query::ObjectWithArgs* func_; - int context_; - bool inout_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > refs_; + ::pg_query::Node* xpr_; + ::uint32_t agglevelsup_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateOpClassStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpClassStmt) */ { +class GroupingSet final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.GroupingSet) */ { public: - inline CreateOpClassStmt() : CreateOpClassStmt(nullptr) {} - ~CreateOpClassStmt() override; - explicit PROTOBUF_CONSTEXPR CreateOpClassStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline GroupingSet() : GroupingSet(nullptr) {} + ~GroupingSet() override; + template + explicit PROTOBUF_CONSTEXPR GroupingSet(::google::protobuf::internal::ConstantInitialized); - CreateOpClassStmt(const CreateOpClassStmt& from); - CreateOpClassStmt(CreateOpClassStmt&& from) noexcept - : CreateOpClassStmt() { + inline GroupingSet(const GroupingSet& from) + : GroupingSet(nullptr, from) {} + GroupingSet(GroupingSet&& from) noexcept + : GroupingSet() { *this = ::std::move(from); } - inline CreateOpClassStmt& operator=(const CreateOpClassStmt& from) { + inline GroupingSet& operator=(const GroupingSet& from) { CopyFrom(from); return *this; } - inline CreateOpClassStmt& operator=(CreateOpClassStmt&& from) noexcept { + inline GroupingSet& operator=(GroupingSet&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -37029,241 +40259,204 @@ class CreateOpClassStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateOpClassStmt& default_instance() { + static const GroupingSet& default_instance() { return *internal_default_instance(); } - static inline const CreateOpClassStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateOpClassStmt_default_instance_); + static inline const GroupingSet* internal_default_instance() { + return reinterpret_cast( + &_GroupingSet_default_instance_); } static constexpr int kIndexInFileMessages = - 127; + 115; - friend void swap(CreateOpClassStmt& a, CreateOpClassStmt& b) { + friend void swap(GroupingSet& a, GroupingSet& b) { a.Swap(&b); } - inline void Swap(CreateOpClassStmt* other) { + inline void Swap(GroupingSet* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateOpClassStmt* other) { + void UnsafeArenaSwap(GroupingSet* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateOpClassStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + GroupingSet* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateOpClassStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateOpClassStmt& from) { - CreateOpClassStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GroupingSet& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const GroupingSet& from) { + GroupingSet::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateOpClassStmt* other); + void InternalSwap(GroupingSet* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateOpClassStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.GroupingSet"; } protected: - explicit CreateOpClassStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit GroupingSet(::google::protobuf::Arena* arena); + GroupingSet(::google::protobuf::Arena* arena, const GroupingSet& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOpclassnameFieldNumber = 1, - kOpfamilynameFieldNumber = 2, - kItemsFieldNumber = 5, - kAmnameFieldNumber = 3, - kDatatypeFieldNumber = 4, - kIsDefaultFieldNumber = 6, + kContentFieldNumber = 2, + kKindFieldNumber = 1, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"]; - int opclassname_size() const; - private: - int _internal_opclassname_size() const; - public: - void clear_opclassname(); - ::pg_query::Node* mutable_opclassname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opclassname(); + // repeated .pg_query.Node content = 2 [json_name = "content"]; + int content_size() const; private: - const ::pg_query::Node& _internal_opclassname(int index) const; - ::pg_query::Node* _internal_add_opclassname(); - public: - const ::pg_query::Node& opclassname(int index) const; - ::pg_query::Node* add_opclassname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opclassname() const; + int _internal_content_size() const; - // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"]; - int opfamilyname_size() const; - private: - int _internal_opfamilyname_size() const; public: - void clear_opfamilyname(); - ::pg_query::Node* mutable_opfamilyname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opfamilyname(); + void clear_content() ; + ::pg_query::Node* mutable_content(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_content(); private: - const ::pg_query::Node& _internal_opfamilyname(int index) const; - ::pg_query::Node* _internal_add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_content() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_content(); public: - const ::pg_query::Node& opfamilyname(int index) const; - ::pg_query::Node* add_opfamilyname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opfamilyname() const; + const ::pg_query::Node& content(int index) const; + ::pg_query::Node* add_content(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + content() const; + // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::GroupingSetKind kind() const; + void set_kind(::pg_query::GroupingSetKind value); - // repeated .pg_query.Node items = 5 [json_name = "items"]; - int items_size() const; - private: - int _internal_items_size() const; - public: - void clear_items(); - ::pg_query::Node* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); private: - const ::pg_query::Node& _internal_items(int index) const; - ::pg_query::Node* _internal_add_items(); - public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - items() const; + ::pg_query::GroupingSetKind _internal_kind() const; + void _internal_set_kind(::pg_query::GroupingSetKind value); - // string amname = 3 [json_name = "amname"]; - void clear_amname(); - const std::string& amname() const; - template - void set_amname(ArgT0&& arg0, ArgT... args); - std::string* mutable_amname(); - PROTOBUF_NODISCARD std::string* release_amname(); - void set_allocated_amname(std::string* amname); - private: - const std::string& _internal_amname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname(const std::string& value); - std::string* _internal_mutable_amname(); public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.TypeName datatype = 4 [json_name = "datatype"]; - bool has_datatype() const; - private: - bool _internal_has_datatype() const; - public: - void clear_datatype(); - const ::pg_query::TypeName& datatype() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_datatype(); - ::pg_query::TypeName* mutable_datatype(); - void set_allocated_datatype(::pg_query::TypeName* datatype); private: - const ::pg_query::TypeName& _internal_datatype() const; - ::pg_query::TypeName* _internal_mutable_datatype(); - public: - void unsafe_arena_set_allocated_datatype( - ::pg_query::TypeName* datatype); - ::pg_query::TypeName* unsafe_arena_release_datatype(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // bool is_default = 6 [json_name = "isDefault"]; - void clear_is_default(); - bool is_default() const; - void set_is_default(bool value); - private: - bool _internal_is_default() const; - void _internal_set_is_default(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateOpClassStmt) + // @@protoc_insertion_point(class_scope:pg_query.GroupingSet) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opclassname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opfamilyname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > items_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr amname_; - ::pg_query::TypeName* datatype_; - bool is_default_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > content_; + int kind_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateOpFamilyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpFamilyStmt) */ { +class ImportForeignSchemaStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ImportForeignSchemaStmt) */ { public: - inline CreateOpFamilyStmt() : CreateOpFamilyStmt(nullptr) {} - ~CreateOpFamilyStmt() override; - explicit PROTOBUF_CONSTEXPR CreateOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ImportForeignSchemaStmt() : ImportForeignSchemaStmt(nullptr) {} + ~ImportForeignSchemaStmt() override; + template + explicit PROTOBUF_CONSTEXPR ImportForeignSchemaStmt(::google::protobuf::internal::ConstantInitialized); - CreateOpFamilyStmt(const CreateOpFamilyStmt& from); - CreateOpFamilyStmt(CreateOpFamilyStmt&& from) noexcept - : CreateOpFamilyStmt() { + inline ImportForeignSchemaStmt(const ImportForeignSchemaStmt& from) + : ImportForeignSchemaStmt(nullptr, from) {} + ImportForeignSchemaStmt(ImportForeignSchemaStmt&& from) noexcept + : ImportForeignSchemaStmt() { *this = ::std::move(from); } - inline CreateOpFamilyStmt& operator=(const CreateOpFamilyStmt& from) { + inline ImportForeignSchemaStmt& operator=(const ImportForeignSchemaStmt& from) { CopyFrom(from); return *this; } - inline CreateOpFamilyStmt& operator=(CreateOpFamilyStmt&& from) noexcept { + inline ImportForeignSchemaStmt& operator=(ImportForeignSchemaStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -37273,170 +40466,266 @@ class CreateOpFamilyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateOpFamilyStmt& default_instance() { + static const ImportForeignSchemaStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateOpFamilyStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateOpFamilyStmt_default_instance_); + static inline const ImportForeignSchemaStmt* internal_default_instance() { + return reinterpret_cast( + &_ImportForeignSchemaStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 128; + 182; - friend void swap(CreateOpFamilyStmt& a, CreateOpFamilyStmt& b) { + friend void swap(ImportForeignSchemaStmt& a, ImportForeignSchemaStmt& b) { a.Swap(&b); } - inline void Swap(CreateOpFamilyStmt* other) { + inline void Swap(ImportForeignSchemaStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateOpFamilyStmt* other) { + void UnsafeArenaSwap(ImportForeignSchemaStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateOpFamilyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ImportForeignSchemaStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateOpFamilyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateOpFamilyStmt& from) { - CreateOpFamilyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ImportForeignSchemaStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ImportForeignSchemaStmt& from) { + ImportForeignSchemaStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateOpFamilyStmt* other); + void InternalSwap(ImportForeignSchemaStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateOpFamilyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ImportForeignSchemaStmt"; } protected: - explicit CreateOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ImportForeignSchemaStmt(::google::protobuf::Arena* arena); + ImportForeignSchemaStmt(::google::protobuf::Arena* arena, const ImportForeignSchemaStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOpfamilynameFieldNumber = 1, - kAmnameFieldNumber = 2, + kTableListFieldNumber = 5, + kOptionsFieldNumber = 6, + kServerNameFieldNumber = 1, + kRemoteSchemaFieldNumber = 2, + kLocalSchemaFieldNumber = 3, + kListTypeFieldNumber = 4, }; - // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; - int opfamilyname_size() const; + // repeated .pg_query.Node table_list = 5 [json_name = "table_list"]; + int table_list_size() const; private: - int _internal_opfamilyname_size() const; + int _internal_table_list_size() const; + public: - void clear_opfamilyname(); - ::pg_query::Node* mutable_opfamilyname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opfamilyname(); + void clear_table_list() ; + ::pg_query::Node* mutable_table_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_table_list(); private: - const ::pg_query::Node& _internal_opfamilyname(int index) const; - ::pg_query::Node* _internal_add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_table_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_table_list(); public: - const ::pg_query::Node& opfamilyname(int index) const; - ::pg_query::Node* add_opfamilyname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opfamilyname() const; + const ::pg_query::Node& table_list(int index) const; + ::pg_query::Node* add_table_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + table_list() const; + // repeated .pg_query.Node options = 6 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // string amname = 2 [json_name = "amname"]; - void clear_amname(); - const std::string& amname() const; - template - void set_amname(ArgT0&& arg0, ArgT... args); - std::string* mutable_amname(); - PROTOBUF_NODISCARD std::string* release_amname(); - void set_allocated_amname(std::string* amname); + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const std::string& _internal_amname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname(const std::string& value); - std::string* _internal_mutable_amname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string server_name = 1 [json_name = "server_name"]; + void clear_server_name() ; + const std::string& server_name() const; + template + void set_server_name(Arg_&& arg, Args_... args); + std::string* mutable_server_name(); + PROTOBUF_NODISCARD std::string* release_server_name(); + void set_allocated_server_name(std::string* value); - // @@protoc_insertion_point(class_scope:pg_query.CreateOpFamilyStmt) + private: + const std::string& _internal_server_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_server_name( + const std::string& value); + std::string* _internal_mutable_server_name(); + + public: + // string remote_schema = 2 [json_name = "remote_schema"]; + void clear_remote_schema() ; + const std::string& remote_schema() const; + template + void set_remote_schema(Arg_&& arg, Args_... args); + std::string* mutable_remote_schema(); + PROTOBUF_NODISCARD std::string* release_remote_schema(); + void set_allocated_remote_schema(std::string* value); + + private: + const std::string& _internal_remote_schema() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_remote_schema( + const std::string& value); + std::string* _internal_mutable_remote_schema(); + + public: + // string local_schema = 3 [json_name = "local_schema"]; + void clear_local_schema() ; + const std::string& local_schema() const; + template + void set_local_schema(Arg_&& arg, Args_... args); + std::string* mutable_local_schema(); + PROTOBUF_NODISCARD std::string* release_local_schema(); + void set_allocated_local_schema(std::string* value); + + private: + const std::string& _internal_local_schema() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_local_schema( + const std::string& value); + std::string* _internal_mutable_local_schema(); + + public: + // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"]; + void clear_list_type() ; + ::pg_query::ImportForeignSchemaType list_type() const; + void set_list_type(::pg_query::ImportForeignSchemaType value); + + private: + ::pg_query::ImportForeignSchemaType _internal_list_type() const; + void _internal_set_list_type(::pg_query::ImportForeignSchemaType value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ImportForeignSchemaStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 77, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opfamilyname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr amname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > table_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr server_name_; + ::google::protobuf::internal::ArenaStringPtr remote_schema_; + ::google::protobuf::internal::ArenaStringPtr local_schema_; + int list_type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterOpFamilyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOpFamilyStmt) */ { +class IndexElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.IndexElem) */ { public: - inline AlterOpFamilyStmt() : AlterOpFamilyStmt(nullptr) {} - ~AlterOpFamilyStmt() override; - explicit PROTOBUF_CONSTEXPR AlterOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline IndexElem() : IndexElem(nullptr) {} + ~IndexElem() override; + template + explicit PROTOBUF_CONSTEXPR IndexElem(::google::protobuf::internal::ConstantInitialized); - AlterOpFamilyStmt(const AlterOpFamilyStmt& from); - AlterOpFamilyStmt(AlterOpFamilyStmt&& from) noexcept - : AlterOpFamilyStmt() { + inline IndexElem(const IndexElem& from) + : IndexElem(nullptr, from) {} + IndexElem(IndexElem&& from) noexcept + : IndexElem() { *this = ::std::move(from); } - inline AlterOpFamilyStmt& operator=(const AlterOpFamilyStmt& from) { + inline IndexElem& operator=(const IndexElem& from) { CopyFrom(from); return *this; } - inline AlterOpFamilyStmt& operator=(AlterOpFamilyStmt&& from) noexcept { + inline IndexElem& operator=(IndexElem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -37446,201 +40735,298 @@ class AlterOpFamilyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterOpFamilyStmt& default_instance() { + static const IndexElem& default_instance() { return *internal_default_instance(); } - static inline const AlterOpFamilyStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterOpFamilyStmt_default_instance_); + static inline const IndexElem* internal_default_instance() { + return reinterpret_cast( + &_IndexElem_default_instance_); } static constexpr int kIndexInFileMessages = - 129; + 99; - friend void swap(AlterOpFamilyStmt& a, AlterOpFamilyStmt& b) { + friend void swap(IndexElem& a, IndexElem& b) { a.Swap(&b); } - inline void Swap(AlterOpFamilyStmt* other) { + inline void Swap(IndexElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterOpFamilyStmt* other) { + void UnsafeArenaSwap(IndexElem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterOpFamilyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + IndexElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterOpFamilyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterOpFamilyStmt& from) { - AlterOpFamilyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const IndexElem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const IndexElem& from) { + IndexElem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterOpFamilyStmt* other); + void InternalSwap(IndexElem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterOpFamilyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.IndexElem"; } protected: - explicit AlterOpFamilyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit IndexElem(::google::protobuf::Arena* arena); + IndexElem(::google::protobuf::Arena* arena, const IndexElem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOpfamilynameFieldNumber = 1, - kItemsFieldNumber = 4, - kAmnameFieldNumber = 2, - kIsDropFieldNumber = 3, + kCollationFieldNumber = 4, + kOpclassFieldNumber = 5, + kOpclassoptsFieldNumber = 6, + kNameFieldNumber = 1, + kIndexcolnameFieldNumber = 3, + kExprFieldNumber = 2, + kOrderingFieldNumber = 7, + kNullsOrderingFieldNumber = 8, }; - // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; - int opfamilyname_size() const; + // repeated .pg_query.Node collation = 4 [json_name = "collation"]; + int collation_size() const; private: - int _internal_opfamilyname_size() const; + int _internal_collation_size() const; + public: - void clear_opfamilyname(); - ::pg_query::Node* mutable_opfamilyname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opfamilyname(); + void clear_collation() ; + ::pg_query::Node* mutable_collation(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_collation(); private: - const ::pg_query::Node& _internal_opfamilyname(int index) const; - ::pg_query::Node* _internal_add_opfamilyname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collation() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collation(); public: - const ::pg_query::Node& opfamilyname(int index) const; - ::pg_query::Node* add_opfamilyname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opfamilyname() const; + const ::pg_query::Node& collation(int index) const; + ::pg_query::Node* add_collation(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + collation() const; + // repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; + int opclass_size() const; + private: + int _internal_opclass_size() const; - // repeated .pg_query.Node items = 4 [json_name = "items"]; - int items_size() const; + public: + void clear_opclass() ; + ::pg_query::Node* mutable_opclass(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opclass(); private: - int _internal_items_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclass() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclass(); public: - void clear_items(); - ::pg_query::Node* mutable_items(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_items(); + const ::pg_query::Node& opclass(int index) const; + ::pg_query::Node* add_opclass(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opclass() const; + // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; + int opclassopts_size() const; private: - const ::pg_query::Node& _internal_items(int index) const; - ::pg_query::Node* _internal_add_items(); + int _internal_opclassopts_size() const; + public: - const ::pg_query::Node& items(int index) const; - ::pg_query::Node* add_items(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - items() const; + void clear_opclassopts() ; + ::pg_query::Node* mutable_opclassopts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opclassopts(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclassopts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclassopts(); + public: + const ::pg_query::Node& opclassopts(int index) const; + ::pg_query::Node* add_opclassopts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opclassopts() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string amname = 2 [json_name = "amname"]; - void clear_amname(); - const std::string& amname() const; - template - void set_amname(ArgT0&& arg0, ArgT... args); - std::string* mutable_amname(); - PROTOBUF_NODISCARD std::string* release_amname(); - void set_allocated_amname(std::string* amname); private: - const std::string& _internal_amname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname(const std::string& value); - std::string* _internal_mutable_amname(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: + // string indexcolname = 3 [json_name = "indexcolname"]; + void clear_indexcolname() ; + const std::string& indexcolname() const; + template + void set_indexcolname(Arg_&& arg, Args_... args); + std::string* mutable_indexcolname(); + PROTOBUF_NODISCARD std::string* release_indexcolname(); + void set_allocated_indexcolname(std::string* value); - // bool is_drop = 3 [json_name = "isDrop"]; - void clear_is_drop(); - bool is_drop() const; - void set_is_drop(bool value); private: - bool _internal_is_drop() const; - void _internal_set_is_drop(bool value); + const std::string& _internal_indexcolname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexcolname( + const std::string& value); + std::string* _internal_mutable_indexcolname(); + public: + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // @@protoc_insertion_point(class_scope:pg_query.AlterOpFamilyStmt) + private: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + + public: + // .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; + void clear_ordering() ; + ::pg_query::SortByDir ordering() const; + void set_ordering(::pg_query::SortByDir value); + + private: + ::pg_query::SortByDir _internal_ordering() const; + void _internal_set_ordering(::pg_query::SortByDir value); + + public: + // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; + void clear_nulls_ordering() ; + ::pg_query::SortByNulls nulls_ordering() const; + void set_nulls_ordering(::pg_query::SortByNulls value); + + private: + ::pg_query::SortByNulls _internal_nulls_ordering() const; + void _internal_set_nulls_ordering(::pg_query::SortByNulls value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.IndexElem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 4, + 51, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opfamilyname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > items_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr amname_; - bool is_drop_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collation_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclass_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclassopts_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr indexcolname_; + ::pg_query::Node* expr_; + int ordering_; + int nulls_ordering_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PrepareStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PrepareStmt) */ { +class IndexStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.IndexStmt) */ { public: - inline PrepareStmt() : PrepareStmt(nullptr) {} - ~PrepareStmt() override; - explicit PROTOBUF_CONSTEXPR PrepareStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline IndexStmt() : IndexStmt(nullptr) {} + ~IndexStmt() override; + template + explicit PROTOBUF_CONSTEXPR IndexStmt(::google::protobuf::internal::ConstantInitialized); - PrepareStmt(const PrepareStmt& from); - PrepareStmt(PrepareStmt&& from) noexcept - : PrepareStmt() { + inline IndexStmt(const IndexStmt& from) + : IndexStmt(nullptr, from) {} + IndexStmt(IndexStmt&& from) noexcept + : IndexStmt() { *this = ::std::move(from); } - inline PrepareStmt& operator=(const PrepareStmt& from) { + inline IndexStmt& operator=(const IndexStmt& from) { CopyFrom(from); return *this; } - inline PrepareStmt& operator=(PrepareStmt&& from) noexcept { + inline IndexStmt& operator=(IndexStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -37650,190 +41036,515 @@ class PrepareStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PrepareStmt& default_instance() { + static const IndexStmt& default_instance() { return *internal_default_instance(); } - static inline const PrepareStmt* internal_default_instance() { - return reinterpret_cast( - &_PrepareStmt_default_instance_); + static inline const IndexStmt* internal_default_instance() { + return reinterpret_cast( + &_IndexStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 130; + 209; - friend void swap(PrepareStmt& a, PrepareStmt& b) { + friend void swap(IndexStmt& a, IndexStmt& b) { a.Swap(&b); } - inline void Swap(PrepareStmt* other) { + inline void Swap(IndexStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PrepareStmt* other) { + void UnsafeArenaSwap(IndexStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PrepareStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + IndexStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PrepareStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PrepareStmt& from) { - PrepareStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const IndexStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const IndexStmt& from) { + IndexStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PrepareStmt* other); + void InternalSwap(IndexStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PrepareStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.IndexStmt"; } protected: - explicit PrepareStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit IndexStmt(::google::protobuf::Arena* arena); + IndexStmt(::google::protobuf::Arena* arena, const IndexStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgtypesFieldNumber = 2, - kNameFieldNumber = 1, - kQueryFieldNumber = 3, + kIndexParamsFieldNumber = 5, + kIndexIncludingParamsFieldNumber = 6, + kOptionsFieldNumber = 7, + kExcludeOpNamesFieldNumber = 9, + kIdxnameFieldNumber = 1, + kAccessMethodFieldNumber = 3, + kTableSpaceFieldNumber = 4, + kIdxcommentFieldNumber = 10, + kRelationFieldNumber = 2, + kWhereClauseFieldNumber = 8, + kIndexOidFieldNumber = 11, + kOldNumberFieldNumber = 12, + kOldCreateSubidFieldNumber = 13, + kOldFirstRelfilelocatorSubidFieldNumber = 14, + kUniqueFieldNumber = 15, + kNullsNotDistinctFieldNumber = 16, + kPrimaryFieldNumber = 17, + kIsconstraintFieldNumber = 18, + kDeferrableFieldNumber = 19, + kInitdeferredFieldNumber = 20, + kTransformedFieldNumber = 21, + kConcurrentFieldNumber = 22, + kIfNotExistsFieldNumber = 23, + kResetDefaultTblspcFieldNumber = 24, }; - // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; - int argtypes_size() const; - private: - int _internal_argtypes_size() const; + // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"]; + int index_params_size() const; + private: + int _internal_index_params_size() const; + public: - void clear_argtypes(); - ::pg_query::Node* mutable_argtypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_argtypes(); + void clear_index_params() ; + ::pg_query::Node* mutable_index_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_index_params(); private: - const ::pg_query::Node& _internal_argtypes(int index) const; - ::pg_query::Node* _internal_add_argtypes(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_index_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_index_params(); public: - const ::pg_query::Node& argtypes(int index) const; - ::pg_query::Node* add_argtypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - argtypes() const; + const ::pg_query::Node& index_params(int index) const; + ::pg_query::Node* add_index_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + index_params() const; + // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"]; + int index_including_params_size() const; + private: + int _internal_index_including_params_size() const; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_index_including_params() ; + ::pg_query::Node* mutable_index_including_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_index_including_params(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_index_including_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_index_including_params(); public: + const ::pg_query::Node& index_including_params(int index) const; + ::pg_query::Node* add_index_including_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + index_including_params() const; + // repeated .pg_query.Node options = 7 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // .pg_query.Node query = 3 [json_name = "query"]; - bool has_query() const; + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - bool _internal_has_query() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"]; + int exclude_op_names_size() const; private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); + int _internal_exclude_op_names_size() const; + public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); + void clear_exclude_op_names() ; + ::pg_query::Node* mutable_exclude_op_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exclude_op_names(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exclude_op_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exclude_op_names(); + public: + const ::pg_query::Node& exclude_op_names(int index) const; + ::pg_query::Node* add_exclude_op_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exclude_op_names() const; + // string idxname = 1 [json_name = "idxname"]; + void clear_idxname() ; + const std::string& idxname() const; + template + void set_idxname(Arg_&& arg, Args_... args); + std::string* mutable_idxname(); + PROTOBUF_NODISCARD std::string* release_idxname(); + void set_allocated_idxname(std::string* value); - // @@protoc_insertion_point(class_scope:pg_query.PrepareStmt) + private: + const std::string& _internal_idxname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_idxname( + const std::string& value); + std::string* _internal_mutable_idxname(); + + public: + // string access_method = 3 [json_name = "accessMethod"]; + void clear_access_method() ; + const std::string& access_method() const; + template + void set_access_method(Arg_&& arg, Args_... args); + std::string* mutable_access_method(); + PROTOBUF_NODISCARD std::string* release_access_method(); + void set_allocated_access_method(std::string* value); + + private: + const std::string& _internal_access_method() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method( + const std::string& value); + std::string* _internal_mutable_access_method(); + + public: + // string table_space = 4 [json_name = "tableSpace"]; + void clear_table_space() ; + const std::string& table_space() const; + template + void set_table_space(Arg_&& arg, Args_... args); + std::string* mutable_table_space(); + PROTOBUF_NODISCARD std::string* release_table_space(); + void set_allocated_table_space(std::string* value); + + private: + const std::string& _internal_table_space() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_space( + const std::string& value); + std::string* _internal_mutable_table_space(); + + public: + // string idxcomment = 10 [json_name = "idxcomment"]; + void clear_idxcomment() ; + const std::string& idxcomment() const; + template + void set_idxcomment(Arg_&& arg, Args_... args); + std::string* mutable_idxcomment(); + PROTOBUF_NODISCARD std::string* release_idxcomment(); + void set_allocated_idxcomment(std::string* value); + + private: + const std::string& _internal_idxcomment() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_idxcomment( + const std::string& value); + std::string* _internal_mutable_idxcomment(); + + public: + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + + private: + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + + public: + // .pg_query.Node where_clause = 8 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + + private: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + + public: + // uint32 index_oid = 11 [json_name = "indexOid"]; + void clear_index_oid() ; + ::uint32_t index_oid() const; + void set_index_oid(::uint32_t value); + + private: + ::uint32_t _internal_index_oid() const; + void _internal_set_index_oid(::uint32_t value); + + public: + // uint32 old_number = 12 [json_name = "oldNumber"]; + void clear_old_number() ; + ::uint32_t old_number() const; + void set_old_number(::uint32_t value); + + private: + ::uint32_t _internal_old_number() const; + void _internal_set_old_number(::uint32_t value); + + public: + // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"]; + void clear_old_create_subid() ; + ::uint32_t old_create_subid() const; + void set_old_create_subid(::uint32_t value); + + private: + ::uint32_t _internal_old_create_subid() const; + void _internal_set_old_create_subid(::uint32_t value); + + public: + // uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"]; + void clear_old_first_relfilelocator_subid() ; + ::uint32_t old_first_relfilelocator_subid() const; + void set_old_first_relfilelocator_subid(::uint32_t value); + + private: + ::uint32_t _internal_old_first_relfilelocator_subid() const; + void _internal_set_old_first_relfilelocator_subid(::uint32_t value); + + public: + // bool unique = 15 [json_name = "unique"]; + void clear_unique() ; + bool unique() const; + void set_unique(bool value); + + private: + bool _internal_unique() const; + void _internal_set_unique(bool value); + + public: + // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"]; + void clear_nulls_not_distinct() ; + bool nulls_not_distinct() const; + void set_nulls_not_distinct(bool value); + + private: + bool _internal_nulls_not_distinct() const; + void _internal_set_nulls_not_distinct(bool value); + + public: + // bool primary = 17 [json_name = "primary"]; + void clear_primary() ; + bool primary() const; + void set_primary(bool value); + + private: + bool _internal_primary() const; + void _internal_set_primary(bool value); + + public: + // bool isconstraint = 18 [json_name = "isconstraint"]; + void clear_isconstraint() ; + bool isconstraint() const; + void set_isconstraint(bool value); + + private: + bool _internal_isconstraint() const; + void _internal_set_isconstraint(bool value); + + public: + // bool deferrable = 19 [json_name = "deferrable"]; + void clear_deferrable() ; + bool deferrable() const; + void set_deferrable(bool value); + + private: + bool _internal_deferrable() const; + void _internal_set_deferrable(bool value); + + public: + // bool initdeferred = 20 [json_name = "initdeferred"]; + void clear_initdeferred() ; + bool initdeferred() const; + void set_initdeferred(bool value); + + private: + bool _internal_initdeferred() const; + void _internal_set_initdeferred(bool value); + + public: + // bool transformed = 21 [json_name = "transformed"]; + void clear_transformed() ; + bool transformed() const; + void set_transformed(bool value); + + private: + bool _internal_transformed() const; + void _internal_set_transformed(bool value); + + public: + // bool concurrent = 22 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); + + private: + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); + + public: + // bool if_not_exists = 23 [json_name = "if_not_exists"]; + void clear_if_not_exists() ; + bool if_not_exists() const; + void set_if_not_exists(bool value); + + private: + bool _internal_if_not_exists() const; + void _internal_set_if_not_exists(bool value); + + public: + // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"]; + void clear_reset_default_tblspc() ; + bool reset_default_tblspc() const; + void set_reset_default_tblspc(bool value); + + private: + bool _internal_reset_default_tblspc() const; + void _internal_set_reset_default_tblspc(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.IndexStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 24, 6, + 92, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > argtypes_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* query_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > index_params_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > index_including_params_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exclude_op_names_; + ::google::protobuf::internal::ArenaStringPtr idxname_; + ::google::protobuf::internal::ArenaStringPtr access_method_; + ::google::protobuf::internal::ArenaStringPtr table_space_; + ::google::protobuf::internal::ArenaStringPtr idxcomment_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + ::uint32_t index_oid_; + ::uint32_t old_number_; + ::uint32_t old_create_subid_; + ::uint32_t old_first_relfilelocator_subid_; + bool unique_; + bool nulls_not_distinct_; + bool primary_; + bool isconstraint_; + bool deferrable_; + bool initdeferred_; + bool transformed_; + bool concurrent_; + bool if_not_exists_; + bool reset_default_tblspc_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ExecuteStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ExecuteStmt) */ { +class InferClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.InferClause) */ { public: - inline ExecuteStmt() : ExecuteStmt(nullptr) {} - ~ExecuteStmt() override; - explicit PROTOBUF_CONSTEXPR ExecuteStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline InferClause() : InferClause(nullptr) {} + ~InferClause() override; + template + explicit PROTOBUF_CONSTEXPR InferClause(::google::protobuf::internal::ConstantInitialized); - ExecuteStmt(const ExecuteStmt& from); - ExecuteStmt(ExecuteStmt&& from) noexcept - : ExecuteStmt() { + inline InferClause(const InferClause& from) + : InferClause(nullptr, from) {} + InferClause(InferClause&& from) noexcept + : InferClause() { *this = ::std::move(from); } - inline ExecuteStmt& operator=(const ExecuteStmt& from) { + inline InferClause& operator=(const InferClause& from) { CopyFrom(from); return *this; } - inline ExecuteStmt& operator=(ExecuteStmt&& from) noexcept { + inline InferClause& operator=(InferClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -37843,170 +41554,228 @@ class ExecuteStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ExecuteStmt& default_instance() { + static const InferClause& default_instance() { return *internal_default_instance(); } - static inline const ExecuteStmt* internal_default_instance() { - return reinterpret_cast( - &_ExecuteStmt_default_instance_); + static inline const InferClause* internal_default_instance() { + return reinterpret_cast( + &_InferClause_default_instance_); } static constexpr int kIndexInFileMessages = - 131; + 119; - friend void swap(ExecuteStmt& a, ExecuteStmt& b) { + friend void swap(InferClause& a, InferClause& b) { a.Swap(&b); } - inline void Swap(ExecuteStmt* other) { + inline void Swap(InferClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ExecuteStmt* other) { + void UnsafeArenaSwap(InferClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ExecuteStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + InferClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ExecuteStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ExecuteStmt& from) { - ExecuteStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const InferClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const InferClause& from) { + InferClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ExecuteStmt* other); + void InternalSwap(InferClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ExecuteStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.InferClause"; } protected: - explicit ExecuteStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit InferClause(::google::protobuf::Arena* arena); + InferClause(::google::protobuf::Arena* arena, const InferClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kParamsFieldNumber = 2, - kNameFieldNumber = 1, + kIndexElemsFieldNumber = 1, + kConnameFieldNumber = 3, + kWhereClauseFieldNumber = 2, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node params = 2 [json_name = "params"]; - int params_size() const; + // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; + int index_elems_size() const; private: - int _internal_params_size() const; + int _internal_index_elems_size() const; + public: - void clear_params(); - ::pg_query::Node* mutable_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_params(); + void clear_index_elems() ; + ::pg_query::Node* mutable_index_elems(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_index_elems(); private: - const ::pg_query::Node& _internal_params(int index) const; - ::pg_query::Node* _internal_add_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_index_elems() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_index_elems(); public: - const ::pg_query::Node& params(int index) const; - ::pg_query::Node* add_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - params() const; + const ::pg_query::Node& index_elems(int index) const; + ::pg_query::Node* add_index_elems(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + index_elems() const; + // string conname = 3 [json_name = "conname"]; + void clear_conname() ; + const std::string& conname() const; + template + void set_conname(Arg_&& arg, Args_... args); + std::string* mutable_conname(); + PROTOBUF_NODISCARD std::string* release_conname(); + void set_allocated_conname(std::string* value); - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const std::string& _internal_conname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_conname( + const std::string& value); + std::string* _internal_mutable_conname(); + + public: + // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + + private: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.ExecuteStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.InferClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 36, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > params_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > index_elems_; + ::google::protobuf::internal::ArenaStringPtr conname_; + ::pg_query::Node* where_clause_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DeallocateStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DeallocateStmt) */ { +class InferenceElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.InferenceElem) */ { public: - inline DeallocateStmt() : DeallocateStmt(nullptr) {} - ~DeallocateStmt() override; - explicit PROTOBUF_CONSTEXPR DeallocateStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline InferenceElem() : InferenceElem(nullptr) {} + ~InferenceElem() override; + template + explicit PROTOBUF_CONSTEXPR InferenceElem(::google::protobuf::internal::ConstantInitialized); - DeallocateStmt(const DeallocateStmt& from); - DeallocateStmt(DeallocateStmt&& from) noexcept - : DeallocateStmt() { + inline InferenceElem(const InferenceElem& from) + : InferenceElem(nullptr, from) {} + InferenceElem(InferenceElem&& from) noexcept + : InferenceElem() { *this = ::std::move(from); } - inline DeallocateStmt& operator=(const DeallocateStmt& from) { + inline InferenceElem& operator=(const InferenceElem& from) { CopyFrom(from); return *this; } - inline DeallocateStmt& operator=(DeallocateStmt&& from) noexcept { + inline InferenceElem& operator=(InferenceElem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -38016,150 +41785,219 @@ class DeallocateStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DeallocateStmt& default_instance() { + static const InferenceElem& default_instance() { return *internal_default_instance(); } - static inline const DeallocateStmt* internal_default_instance() { - return reinterpret_cast( - &_DeallocateStmt_default_instance_); + static inline const InferenceElem* internal_default_instance() { + return reinterpret_cast( + &_InferenceElem_default_instance_); } static constexpr int kIndexInFileMessages = - 132; + 69; - friend void swap(DeallocateStmt& a, DeallocateStmt& b) { + friend void swap(InferenceElem& a, InferenceElem& b) { a.Swap(&b); } - inline void Swap(DeallocateStmt* other) { + inline void Swap(InferenceElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DeallocateStmt* other) { + void UnsafeArenaSwap(InferenceElem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DeallocateStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + InferenceElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DeallocateStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DeallocateStmt& from) { - DeallocateStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const InferenceElem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const InferenceElem& from) { + InferenceElem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DeallocateStmt* other); + void InternalSwap(InferenceElem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DeallocateStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.InferenceElem"; } protected: - explicit DeallocateStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit InferenceElem(::google::protobuf::Arena* arena); + InferenceElem(::google::protobuf::Arena* arena, const InferenceElem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, + kXprFieldNumber = 1, + kExprFieldNumber = 2, + kInfercollidFieldNumber = 3, + kInferopclassFieldNumber = 4, }; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // @@protoc_insertion_point(class_scope:pg_query.DeallocateStmt) + private: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + + public: + // uint32 infercollid = 3 [json_name = "infercollid"]; + void clear_infercollid() ; + ::uint32_t infercollid() const; + void set_infercollid(::uint32_t value); + + private: + ::uint32_t _internal_infercollid() const; + void _internal_set_infercollid(::uint32_t value); + + public: + // uint32 inferopclass = 4 [json_name = "inferopclass"]; + void clear_inferopclass() ; + ::uint32_t inferopclass() const; + void set_inferopclass(::uint32_t value); + + private: + ::uint32_t _internal_inferopclass() const; + void _internal_set_inferopclass(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.InferenceElem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* expr_; + ::uint32_t infercollid_; + ::uint32_t inferopclass_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DeclareCursorStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DeclareCursorStmt) */ { +class InsertStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.InsertStmt) */ { public: - inline DeclareCursorStmt() : DeclareCursorStmt(nullptr) {} - ~DeclareCursorStmt() override; - explicit PROTOBUF_CONSTEXPR DeclareCursorStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline InsertStmt() : InsertStmt(nullptr) {} + ~InsertStmt() override; + template + explicit PROTOBUF_CONSTEXPR InsertStmt(::google::protobuf::internal::ConstantInitialized); - DeclareCursorStmt(const DeclareCursorStmt& from); - DeclareCursorStmt(DeclareCursorStmt&& from) noexcept - : DeclareCursorStmt() { + inline InsertStmt(const InsertStmt& from) + : InsertStmt(nullptr, from) {} + InsertStmt(InsertStmt&& from) noexcept + : InsertStmt() { *this = ::std::move(from); } - inline DeclareCursorStmt& operator=(const DeclareCursorStmt& from) { + inline InsertStmt& operator=(const InsertStmt& from) { CopyFrom(from); return *this; } - inline DeclareCursorStmt& operator=(DeclareCursorStmt&& from) noexcept { + inline InsertStmt& operator=(InsertStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -38169,390 +42007,281 @@ class DeclareCursorStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DeclareCursorStmt& default_instance() { + static const InsertStmt& default_instance() { return *internal_default_instance(); } - static inline const DeclareCursorStmt* internal_default_instance() { - return reinterpret_cast( - &_DeclareCursorStmt_default_instance_); + static inline const InsertStmt* internal_default_instance() { + return reinterpret_cast( + &_InsertStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 133; + 143; - friend void swap(DeclareCursorStmt& a, DeclareCursorStmt& b) { + friend void swap(InsertStmt& a, InsertStmt& b) { a.Swap(&b); } - inline void Swap(DeclareCursorStmt* other) { + inline void Swap(InsertStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DeclareCursorStmt* other) { + void UnsafeArenaSwap(InsertStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DeclareCursorStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + InsertStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DeclareCursorStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DeclareCursorStmt& from) { - DeclareCursorStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const InsertStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const InsertStmt& from) { + InsertStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DeclareCursorStmt* other); + void InternalSwap(InsertStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DeclareCursorStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.InsertStmt"; } protected: - explicit DeclareCursorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit InsertStmt(::google::protobuf::Arena* arena); + InsertStmt(::google::protobuf::Arena* arena, const InsertStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPortalnameFieldNumber = 1, - kQueryFieldNumber = 3, - kOptionsFieldNumber = 2, + kColsFieldNumber = 2, + kReturningListFieldNumber = 5, + kRelationFieldNumber = 1, + kSelectStmtFieldNumber = 3, + kOnConflictClauseFieldNumber = 4, + kWithClauseFieldNumber = 6, + kOverrideFieldNumber = 7, }; - // string portalname = 1 [json_name = "portalname"]; - void clear_portalname(); - const std::string& portalname() const; - template - void set_portalname(ArgT0&& arg0, ArgT... args); - std::string* mutable_portalname(); - PROTOBUF_NODISCARD std::string* release_portalname(); - void set_allocated_portalname(std::string* portalname); + // repeated .pg_query.Node cols = 2 [json_name = "cols"]; + int cols_size() const; private: - const std::string& _internal_portalname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_portalname(const std::string& value); - std::string* _internal_mutable_portalname(); - public: + int _internal_cols_size() const; - // .pg_query.Node query = 3 [json_name = "query"]; - bool has_query() const; - private: - bool _internal_has_query() const; public: - void clear_query(); - const ::pg_query::Node& query() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_query(); - ::pg_query::Node* mutable_query(); - void set_allocated_query(::pg_query::Node* query); + void clear_cols() ; + ::pg_query::Node* mutable_cols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cols(); private: - const ::pg_query::Node& _internal_query() const; - ::pg_query::Node* _internal_mutable_query(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cols(); public: - void unsafe_arena_set_allocated_query( - ::pg_query::Node* query); - ::pg_query::Node* unsafe_arena_release_query(); - - // int32 options = 2 [json_name = "options"]; - void clear_options(); - int32_t options() const; - void set_options(int32_t value); + const ::pg_query::Node& cols(int index) const; + ::pg_query::Node* add_cols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cols() const; + // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; + int returning_list_size() const; private: - int32_t _internal_options() const; - void _internal_set_options(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.DeclareCursorStmt) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr portalname_; - ::pg_query::Node* query_; - int32_t options_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class CreateTableSpaceStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTableSpaceStmt) */ { - public: - inline CreateTableSpaceStmt() : CreateTableSpaceStmt(nullptr) {} - ~CreateTableSpaceStmt() override; - explicit PROTOBUF_CONSTEXPR CreateTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateTableSpaceStmt(const CreateTableSpaceStmt& from); - CreateTableSpaceStmt(CreateTableSpaceStmt&& from) noexcept - : CreateTableSpaceStmt() { - *this = ::std::move(from); - } - - inline CreateTableSpaceStmt& operator=(const CreateTableSpaceStmt& from) { - CopyFrom(from); - return *this; - } - inline CreateTableSpaceStmt& operator=(CreateTableSpaceStmt&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const CreateTableSpaceStmt& default_instance() { - return *internal_default_instance(); - } - static inline const CreateTableSpaceStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateTableSpaceStmt_default_instance_); - } - static constexpr int kIndexInFileMessages = - 134; - - friend void swap(CreateTableSpaceStmt& a, CreateTableSpaceStmt& b) { - a.Swap(&b); - } - inline void Swap(CreateTableSpaceStmt* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(CreateTableSpaceStmt* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- + int _internal_returning_list_size() const; - CreateTableSpaceStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateTableSpaceStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateTableSpaceStmt& from) { - CreateTableSpaceStmt::MergeImpl(*this, from); - } + public: + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateTableSpaceStmt* other); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateTableSpaceStmt"; - } - protected: - explicit CreateTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); public: + // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"]; + bool has_select_stmt() const; + void clear_select_stmt() ; + const ::pg_query::Node& select_stmt() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_select_stmt(); + ::pg_query::Node* mutable_select_stmt(); + void set_allocated_select_stmt(::pg_query::Node* value); + void unsafe_arena_set_allocated_select_stmt(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_select_stmt(); - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kOptionsFieldNumber = 4, - kTablespacenameFieldNumber = 1, - kLocationFieldNumber = 3, - kOwnerFieldNumber = 2, - }; - // repeated .pg_query.Node options = 4 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& _internal_select_stmt() const; + ::pg_query::Node* _internal_mutable_select_stmt(); - // string tablespacename = 1 [json_name = "tablespacename"]; - void clear_tablespacename(); - const std::string& tablespacename() const; - template - void set_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_tablespacename(); - PROTOBUF_NODISCARD std::string* release_tablespacename(); - void set_allocated_tablespacename(std::string* tablespacename); - private: - const std::string& _internal_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename(const std::string& value); - std::string* _internal_mutable_tablespacename(); public: + // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"]; + bool has_on_conflict_clause() const; + void clear_on_conflict_clause() ; + const ::pg_query::OnConflictClause& on_conflict_clause() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); + ::pg_query::OnConflictClause* mutable_on_conflict_clause(); + void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + void unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); - // string location = 3 [json_name = "location"]; - void clear_location(); - const std::string& location() const; - template - void set_location(ArgT0&& arg0, ArgT... args); - std::string* mutable_location(); - PROTOBUF_NODISCARD std::string* release_location(); - void set_allocated_location(std::string* location); private: - const std::string& _internal_location() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_location(const std::string& value); - std::string* _internal_mutable_location(); + const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; + ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); + public: + // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); - // .pg_query.RoleSpec owner = 2 [json_name = "owner"]; - bool has_owner() const; private: - bool _internal_has_owner() const; + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + public: - void clear_owner(); - const ::pg_query::RoleSpec& owner() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_owner(); - ::pg_query::RoleSpec* mutable_owner(); - void set_allocated_owner(::pg_query::RoleSpec* owner); + // .pg_query.OverridingKind override = 7 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); + private: - const ::pg_query::RoleSpec& _internal_owner() const; - ::pg_query::RoleSpec* _internal_mutable_owner(); - public: - void unsafe_arena_set_allocated_owner( - ::pg_query::RoleSpec* owner); - ::pg_query::RoleSpec* unsafe_arena_release_owner(); + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); - // @@protoc_insertion_point(class_scope:pg_query.CreateTableSpaceStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.InsertStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tablespacename_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr location_; - ::pg_query::RoleSpec* owner_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* select_stmt_; + ::pg_query::OnConflictClause* on_conflict_clause_; + ::pg_query::WithClause* with_clause_; + int override_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropTableSpaceStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropTableSpaceStmt) */ { +class IntList final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.IntList) */ { public: - inline DropTableSpaceStmt() : DropTableSpaceStmt(nullptr) {} - ~DropTableSpaceStmt() override; - explicit PROTOBUF_CONSTEXPR DropTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline IntList() : IntList(nullptr) {} + ~IntList() override; + template + explicit PROTOBUF_CONSTEXPR IntList(::google::protobuf::internal::ConstantInitialized); - DropTableSpaceStmt(const DropTableSpaceStmt& from); - DropTableSpaceStmt(DropTableSpaceStmt&& from) noexcept - : DropTableSpaceStmt() { + inline IntList(const IntList& from) + : IntList(nullptr, from) {} + IntList(IntList&& from) noexcept + : IntList() { *this = ::std::move(from); } - inline DropTableSpaceStmt& operator=(const DropTableSpaceStmt& from) { + inline IntList& operator=(const IntList& from) { CopyFrom(from); return *this; } - inline DropTableSpaceStmt& operator=(DropTableSpaceStmt&& from) noexcept { + inline IntList& operator=(IntList&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -38562,161 +42291,180 @@ class DropTableSpaceStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropTableSpaceStmt& default_instance() { + static const IntList& default_instance() { return *internal_default_instance(); } - static inline const DropTableSpaceStmt* internal_default_instance() { - return reinterpret_cast( - &_DropTableSpaceStmt_default_instance_); + static inline const IntList* internal_default_instance() { + return reinterpret_cast( + &_IntList_default_instance_); } static constexpr int kIndexInFileMessages = - 135; + 10; - friend void swap(DropTableSpaceStmt& a, DropTableSpaceStmt& b) { + friend void swap(IntList& a, IntList& b) { a.Swap(&b); } - inline void Swap(DropTableSpaceStmt* other) { + inline void Swap(IntList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropTableSpaceStmt* other) { + void UnsafeArenaSwap(IntList* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropTableSpaceStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + IntList* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropTableSpaceStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropTableSpaceStmt& from) { - DropTableSpaceStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const IntList& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const IntList& from) { + IntList::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropTableSpaceStmt* other); + void InternalSwap(IntList* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropTableSpaceStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.IntList"; } protected: - explicit DropTableSpaceStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit IntList(::google::protobuf::Arena* arena); + IntList(::google::protobuf::Arena* arena, const IntList& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTablespacenameFieldNumber = 1, - kMissingOkFieldNumber = 2, + kItemsFieldNumber = 1, }; - // string tablespacename = 1 [json_name = "tablespacename"]; - void clear_tablespacename(); - const std::string& tablespacename() const; - template - void set_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_tablespacename(); - PROTOBUF_NODISCARD std::string* release_tablespacename(); - void set_allocated_tablespacename(std::string* tablespacename); + // repeated .pg_query.Node items = 1; + int items_size() const; private: - const std::string& _internal_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename(const std::string& value); - std::string* _internal_mutable_tablespacename(); - public: + int _internal_items_size() const; - // bool missing_ok = 2 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); + public: + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: - - // @@protoc_insertion_point(class_scope:pg_query.DropTableSpaceStmt) + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // @@protoc_insertion_point(class_scope:pg_query.IntList) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tablespacename_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterObjectDependsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterObjectDependsStmt) */ { +class IntoClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.IntoClause) */ { public: - inline AlterObjectDependsStmt() : AlterObjectDependsStmt(nullptr) {} - ~AlterObjectDependsStmt() override; - explicit PROTOBUF_CONSTEXPR AlterObjectDependsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline IntoClause() : IntoClause(nullptr) {} + ~IntoClause() override; + template + explicit PROTOBUF_CONSTEXPR IntoClause(::google::protobuf::internal::ConstantInitialized); - AlterObjectDependsStmt(const AlterObjectDependsStmt& from); - AlterObjectDependsStmt(AlterObjectDependsStmt&& from) noexcept - : AlterObjectDependsStmt() { + inline IntoClause(const IntoClause& from) + : IntoClause(nullptr, from) {} + IntoClause(IntoClause&& from) noexcept + : IntoClause() { *this = ::std::move(from); } - inline AlterObjectDependsStmt& operator=(const AlterObjectDependsStmt& from) { + inline IntoClause& operator=(const IntoClause& from) { CopyFrom(from); return *this; } - inline AlterObjectDependsStmt& operator=(AlterObjectDependsStmt&& from) noexcept { + inline IntoClause& operator=(IntoClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -38726,216 +42474,295 @@ class AlterObjectDependsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterObjectDependsStmt& default_instance() { + static const IntoClause& default_instance() { return *internal_default_instance(); } - static inline const AlterObjectDependsStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterObjectDependsStmt_default_instance_); + static inline const IntoClause* internal_default_instance() { + return reinterpret_cast( + &_IntoClause_default_instance_); } static constexpr int kIndexInFileMessages = - 136; + 15; - friend void swap(AlterObjectDependsStmt& a, AlterObjectDependsStmt& b) { + friend void swap(IntoClause& a, IntoClause& b) { a.Swap(&b); } - inline void Swap(AlterObjectDependsStmt* other) { + inline void Swap(IntoClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterObjectDependsStmt* other) { + void UnsafeArenaSwap(IntoClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterObjectDependsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + IntoClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterObjectDependsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterObjectDependsStmt& from) { - AlterObjectDependsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const IntoClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const IntoClause& from) { + IntoClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterObjectDependsStmt* other); + void InternalSwap(IntoClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterObjectDependsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.IntoClause"; } protected: - explicit AlterObjectDependsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit IntoClause(::google::protobuf::Arena* arena); + IntoClause(::google::protobuf::Arena* arena, const IntoClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 2, - kObjectFieldNumber = 3, - kExtnameFieldNumber = 4, - kObjectTypeFieldNumber = 1, - kRemoveFieldNumber = 5, + kColNamesFieldNumber = 2, + kOptionsFieldNumber = 4, + kAccessMethodFieldNumber = 3, + kTableSpaceNameFieldNumber = 6, + kRelFieldNumber = 1, + kViewQueryFieldNumber = 7, + kOnCommitFieldNumber = 5, + kSkipDataFieldNumber = 8, }; - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; + // repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; + int col_names_size() const; private: - bool _internal_has_relation() const; + int _internal_col_names_size() const; + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + void clear_col_names() ; + ::pg_query::Node* mutable_col_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_names(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_names(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const ::pg_query::Node& col_names(int index) const; + ::pg_query::Node* add_col_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_names() const; + // repeated .pg_query.Node options = 4 [json_name = "options"]; + int options_size() const; + private: + int _internal_options_size() const; - // .pg_query.Node object = 3 [json_name = "object"]; - bool has_object() const; + public: + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - bool _internal_has_object() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string access_method = 3 [json_name = "accessMethod"]; + void clear_access_method() ; + const std::string& access_method() const; + template + void set_access_method(Arg_&& arg, Args_... args); + std::string* mutable_access_method(); + PROTOBUF_NODISCARD std::string* release_access_method(); + void set_allocated_access_method(std::string* value); + private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const std::string& _internal_access_method() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method( + const std::string& value); + std::string* _internal_mutable_access_method(); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // string table_space_name = 6 [json_name = "tableSpaceName"]; + void clear_table_space_name() ; + const std::string& table_space_name() const; + template + void set_table_space_name(Arg_&& arg, Args_... args); + std::string* mutable_table_space_name(); + PROTOBUF_NODISCARD std::string* release_table_space_name(); + void set_allocated_table_space_name(std::string* value); - // .pg_query.String extname = 4 [json_name = "extname"]; - bool has_extname() const; private: - bool _internal_has_extname() const; + const std::string& _internal_table_space_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_space_name( + const std::string& value); + std::string* _internal_mutable_table_space_name(); + public: - void clear_extname(); - const ::pg_query::String& extname() const; - PROTOBUF_NODISCARD ::pg_query::String* release_extname(); - ::pg_query::String* mutable_extname(); - void set_allocated_extname(::pg_query::String* extname); + // .pg_query.RangeVar rel = 1 [json_name = "rel"]; + bool has_rel() const; + void clear_rel() ; + const ::pg_query::RangeVar& rel() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_rel(); + ::pg_query::RangeVar* mutable_rel(); + void set_allocated_rel(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_rel(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_rel(); + private: - const ::pg_query::String& _internal_extname() const; - ::pg_query::String* _internal_mutable_extname(); + const ::pg_query::RangeVar& _internal_rel() const; + ::pg_query::RangeVar* _internal_mutable_rel(); + public: - void unsafe_arena_set_allocated_extname( - ::pg_query::String* extname); - ::pg_query::String* unsafe_arena_release_extname(); + // .pg_query.Node view_query = 7 [json_name = "viewQuery"]; + bool has_view_query() const; + void clear_view_query() ; + const ::pg_query::Node& view_query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_view_query(); + ::pg_query::Node* mutable_view_query(); + void set_allocated_view_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_view_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_view_query(); - // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; - void clear_object_type(); - ::pg_query::ObjectType object_type() const; - void set_object_type(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_object_type() const; - void _internal_set_object_type(::pg_query::ObjectType value); + const ::pg_query::Node& _internal_view_query() const; + ::pg_query::Node* _internal_mutable_view_query(); + public: + // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; + void clear_on_commit() ; + ::pg_query::OnCommitAction on_commit() const; + void set_on_commit(::pg_query::OnCommitAction value); - // bool remove = 5 [json_name = "remove"]; - void clear_remove(); - bool remove() const; - void set_remove(bool value); private: - bool _internal_remove() const; - void _internal_set_remove(bool value); + ::pg_query::OnCommitAction _internal_on_commit() const; + void _internal_set_on_commit(::pg_query::OnCommitAction value); + public: + // bool skip_data = 8 [json_name = "skipData"]; + void clear_skip_data() ; + bool skip_data() const; + void set_skip_data(bool value); - // @@protoc_insertion_point(class_scope:pg_query.AlterObjectDependsStmt) + private: + bool _internal_skip_data() const; + void _internal_set_skip_data(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.IntoClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 4, + 65, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::RangeVar* relation_; - ::pg_query::Node* object_; - ::pg_query::String* extname_; - int object_type_; - bool remove_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr access_method_; + ::google::protobuf::internal::ArenaStringPtr table_space_name_; + ::pg_query::RangeVar* rel_; + ::pg_query::Node* view_query_; + int on_commit_; + bool skip_data_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterObjectSchemaStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterObjectSchemaStmt) */ { +class JoinExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JoinExpr) */ { public: - inline AlterObjectSchemaStmt() : AlterObjectSchemaStmt(nullptr) {} - ~AlterObjectSchemaStmt() override; - explicit PROTOBUF_CONSTEXPR AlterObjectSchemaStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline JoinExpr() : JoinExpr(nullptr) {} + ~JoinExpr() override; + template + explicit PROTOBUF_CONSTEXPR JoinExpr(::google::protobuf::internal::ConstantInitialized); - AlterObjectSchemaStmt(const AlterObjectSchemaStmt& from); - AlterObjectSchemaStmt(AlterObjectSchemaStmt&& from) noexcept - : AlterObjectSchemaStmt() { + inline JoinExpr(const JoinExpr& from) + : JoinExpr(nullptr, from) {} + JoinExpr(JoinExpr&& from) noexcept + : JoinExpr() { *this = ::std::move(from); } - inline AlterObjectSchemaStmt& operator=(const AlterObjectSchemaStmt& from) { + inline JoinExpr& operator=(const JoinExpr& from) { CopyFrom(from); return *this; } - inline AlterObjectSchemaStmt& operator=(AlterObjectSchemaStmt&& from) noexcept { + inline JoinExpr& operator=(JoinExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -38945,212 +42772,302 @@ class AlterObjectSchemaStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterObjectSchemaStmt& default_instance() { + static const JoinExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterObjectSchemaStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterObjectSchemaStmt_default_instance_); + static inline const JoinExpr* internal_default_instance() { + return reinterpret_cast( + &_JoinExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 137; + 72; - friend void swap(AlterObjectSchemaStmt& a, AlterObjectSchemaStmt& b) { + friend void swap(JoinExpr& a, JoinExpr& b) { a.Swap(&b); } - inline void Swap(AlterObjectSchemaStmt* other) { + inline void Swap(JoinExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterObjectSchemaStmt* other) { + void UnsafeArenaSwap(JoinExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterObjectSchemaStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JoinExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterObjectSchemaStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterObjectSchemaStmt& from) { - AlterObjectSchemaStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JoinExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JoinExpr& from) { + JoinExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterObjectSchemaStmt* other); + void InternalSwap(JoinExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterObjectSchemaStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JoinExpr"; } protected: - explicit AlterObjectSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JoinExpr(::google::protobuf::Arena* arena); + JoinExpr(::google::protobuf::Arena* arena, const JoinExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNewschemaFieldNumber = 4, - kRelationFieldNumber = 2, - kObjectFieldNumber = 3, - kObjectTypeFieldNumber = 1, - kMissingOkFieldNumber = 5, + kUsingClauseFieldNumber = 5, + kLargFieldNumber = 3, + kRargFieldNumber = 4, + kJoinUsingAliasFieldNumber = 6, + kQualsFieldNumber = 7, + kAliasFieldNumber = 8, + kJointypeFieldNumber = 1, + kIsNaturalFieldNumber = 2, + kRtindexFieldNumber = 9, }; - // string newschema = 4 [json_name = "newschema"]; - void clear_newschema(); - const std::string& newschema() const; - template - void set_newschema(ArgT0&& arg0, ArgT... args); - std::string* mutable_newschema(); - PROTOBUF_NODISCARD std::string* release_newschema(); - void set_allocated_newschema(std::string* newschema); + // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; + int using_clause_size() const; private: - const std::string& _internal_newschema() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_newschema(const std::string& value); - std::string* _internal_mutable_newschema(); + int _internal_using_clause_size() const; + + public: + void clear_using_clause() ; + ::pg_query::Node* mutable_using_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_using_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_using_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_using_clause(); public: + const ::pg_query::Node& using_clause(int index) const; + ::pg_query::Node* add_using_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + using_clause() const; + // .pg_query.Node larg = 3 [json_name = "larg"]; + bool has_larg() const; + void clear_larg() ; + const ::pg_query::Node& larg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); + ::pg_query::Node* mutable_larg(); + void set_allocated_larg(::pg_query::Node* value); + void unsafe_arena_set_allocated_larg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_larg(); - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; private: - bool _internal_has_relation() const; + const ::pg_query::Node& _internal_larg() const; + ::pg_query::Node* _internal_mutable_larg(); + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // .pg_query.Node rarg = 4 [json_name = "rarg"]; + bool has_rarg() const; + void clear_rarg() ; + const ::pg_query::Node& rarg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); + ::pg_query::Node* mutable_rarg(); + void set_allocated_rarg(::pg_query::Node* value); + void unsafe_arena_set_allocated_rarg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rarg(); + private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::pg_query::Node& _internal_rarg() const; + ::pg_query::Node* _internal_mutable_rarg(); + public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; + bool has_join_using_alias() const; + void clear_join_using_alias() ; + const ::pg_query::Alias& join_using_alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); + ::pg_query::Alias* mutable_join_using_alias(); + void set_allocated_join_using_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_join_using_alias(); + + private: + const ::pg_query::Alias& _internal_join_using_alias() const; + ::pg_query::Alias* _internal_mutable_join_using_alias(); + + public: + // .pg_query.Node quals = 7 [json_name = "quals"]; + bool has_quals() const; + void clear_quals() ; + const ::pg_query::Node& quals() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_quals(); + ::pg_query::Node* mutable_quals(); + void set_allocated_quals(::pg_query::Node* value); + void unsafe_arena_set_allocated_quals(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_quals(); - // .pg_query.Node object = 3 [json_name = "object"]; - bool has_object() const; private: - bool _internal_has_object() const; + const ::pg_query::Node& _internal_quals() const; + ::pg_query::Node* _internal_mutable_quals(); + public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + // .pg_query.Alias alias = 8 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // .pg_query.JoinType jointype = 1 [json_name = "jointype"]; + void clear_jointype() ; + ::pg_query::JoinType jointype() const; + void set_jointype(::pg_query::JoinType value); - // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; - void clear_object_type(); - ::pg_query::ObjectType object_type() const; - void set_object_type(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_object_type() const; - void _internal_set_object_type(::pg_query::ObjectType value); + ::pg_query::JoinType _internal_jointype() const; + void _internal_set_jointype(::pg_query::JoinType value); + public: + // bool is_natural = 2 [json_name = "isNatural"]; + void clear_is_natural() ; + bool is_natural() const; + void set_is_natural(bool value); - // bool missing_ok = 5 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + bool _internal_is_natural() const; + void _internal_set_is_natural(bool value); + public: + // int32 rtindex = 9 [json_name = "rtindex"]; + void clear_rtindex() ; + ::int32_t rtindex() const; + void set_rtindex(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterObjectSchemaStmt) + private: + ::int32_t _internal_rtindex() const; + void _internal_set_rtindex(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JoinExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 9, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr newschema_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* object_; - int object_type_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > using_clause_; + ::pg_query::Node* larg_; + ::pg_query::Node* rarg_; + ::pg_query::Alias* join_using_alias_; + ::pg_query::Node* quals_; + ::pg_query::Alias* alias_; + int jointype_; + bool is_natural_; + ::int32_t rtindex_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterOwnerStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOwnerStmt) */ { +class JsonAggConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonAggConstructor) */ { public: - inline AlterOwnerStmt() : AlterOwnerStmt(nullptr) {} - ~AlterOwnerStmt() override; - explicit PROTOBUF_CONSTEXPR AlterOwnerStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterOwnerStmt(const AlterOwnerStmt& from); - AlterOwnerStmt(AlterOwnerStmt&& from) noexcept - : AlterOwnerStmt() { + inline JsonAggConstructor() : JsonAggConstructor(nullptr) {} + ~JsonAggConstructor() override; + template + explicit PROTOBUF_CONSTEXPR JsonAggConstructor(::google::protobuf::internal::ConstantInitialized); + + inline JsonAggConstructor(const JsonAggConstructor& from) + : JsonAggConstructor(nullptr, from) {} + JsonAggConstructor(JsonAggConstructor&& from) noexcept + : JsonAggConstructor() { *this = ::std::move(from); } - inline AlterOwnerStmt& operator=(const AlterOwnerStmt& from) { + inline JsonAggConstructor& operator=(const JsonAggConstructor& from) { CopyFrom(from); return *this; } - inline AlterOwnerStmt& operator=(AlterOwnerStmt&& from) noexcept { + inline JsonAggConstructor& operator=(JsonAggConstructor&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -39160,205 +43077,244 @@ class AlterOwnerStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterOwnerStmt& default_instance() { + static const JsonAggConstructor& default_instance() { return *internal_default_instance(); } - static inline const AlterOwnerStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterOwnerStmt_default_instance_); + static inline const JsonAggConstructor* internal_default_instance() { + return reinterpret_cast( + &_JsonAggConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 138; + 139; - friend void swap(AlterOwnerStmt& a, AlterOwnerStmt& b) { + friend void swap(JsonAggConstructor& a, JsonAggConstructor& b) { a.Swap(&b); } - inline void Swap(AlterOwnerStmt* other) { + inline void Swap(JsonAggConstructor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterOwnerStmt* other) { + void UnsafeArenaSwap(JsonAggConstructor* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterOwnerStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonAggConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterOwnerStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterOwnerStmt& from) { - AlterOwnerStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonAggConstructor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonAggConstructor& from) { + JsonAggConstructor::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterOwnerStmt* other); + void InternalSwap(JsonAggConstructor* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterOwnerStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonAggConstructor"; } protected: - explicit AlterOwnerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonAggConstructor(::google::protobuf::Arena* arena); + JsonAggConstructor(::google::protobuf::Arena* arena, const JsonAggConstructor& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 2, - kObjectFieldNumber = 3, - kNewownerFieldNumber = 4, - kObjectTypeFieldNumber = 1, + kAggOrderFieldNumber = 3, + kOutputFieldNumber = 1, + kAggFilterFieldNumber = 2, + kOverFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.RangeVar relation = 2 [json_name = "relation"]; - bool has_relation() const; + // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; + int agg_order_size() const; private: - bool _internal_has_relation() const; + int _internal_agg_order_size() const; + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + void clear_agg_order() ; + ::pg_query::Node* mutable_agg_order(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_agg_order(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_agg_order() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_agg_order(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const ::pg_query::Node& agg_order(int index) const; + ::pg_query::Node* add_agg_order(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + agg_order() const; + // .pg_query.JsonOutput output = 1 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // .pg_query.Node object = 3 [json_name = "object"]; - bool has_object() const; - private: - bool _internal_has_object() const; - public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // .pg_query.Node agg_filter = 2 [json_name = "agg_filter"]; + bool has_agg_filter() const; + void clear_agg_filter() ; + const ::pg_query::Node& agg_filter() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_agg_filter(); + ::pg_query::Node* mutable_agg_filter(); + void set_allocated_agg_filter(::pg_query::Node* value); + void unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_agg_filter(); - // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; - bool has_newowner() const; private: - bool _internal_has_newowner() const; + const ::pg_query::Node& _internal_agg_filter() const; + ::pg_query::Node* _internal_mutable_agg_filter(); + public: - void clear_newowner(); - const ::pg_query::RoleSpec& newowner() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newowner(); - ::pg_query::RoleSpec* mutable_newowner(); - void set_allocated_newowner(::pg_query::RoleSpec* newowner); + // .pg_query.WindowDef over = 4 [json_name = "over"]; + bool has_over() const; + void clear_over() ; + const ::pg_query::WindowDef& over() const; + PROTOBUF_NODISCARD ::pg_query::WindowDef* release_over(); + ::pg_query::WindowDef* mutable_over(); + void set_allocated_over(::pg_query::WindowDef* value); + void unsafe_arena_set_allocated_over(::pg_query::WindowDef* value); + ::pg_query::WindowDef* unsafe_arena_release_over(); + private: - const ::pg_query::RoleSpec& _internal_newowner() const; - ::pg_query::RoleSpec* _internal_mutable_newowner(); + const ::pg_query::WindowDef& _internal_over() const; + ::pg_query::WindowDef* _internal_mutable_over(); + public: - void unsafe_arena_set_allocated_newowner( - ::pg_query::RoleSpec* newowner); - ::pg_query::RoleSpec* unsafe_arena_release_newowner(); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; - void clear_object_type(); - ::pg_query::ObjectType object_type() const; - void set_object_type(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_object_type() const; - void _internal_set_object_type(::pg_query::ObjectType value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterOwnerStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonAggConstructor) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::RangeVar* relation_; - ::pg_query::Node* object_; - ::pg_query::RoleSpec* newowner_; - int object_type_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > agg_order_; + ::pg_query::JsonOutput* output_; + ::pg_query::Node* agg_filter_; + ::pg_query::WindowDef* over_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterOperatorStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterOperatorStmt) */ { +class JsonArgument final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArgument) */ { public: - inline AlterOperatorStmt() : AlterOperatorStmt(nullptr) {} - ~AlterOperatorStmt() override; - explicit PROTOBUF_CONSTEXPR AlterOperatorStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterOperatorStmt(const AlterOperatorStmt& from); - AlterOperatorStmt(AlterOperatorStmt&& from) noexcept - : AlterOperatorStmt() { + inline JsonArgument() : JsonArgument(nullptr) {} + ~JsonArgument() override; + template + explicit PROTOBUF_CONSTEXPR JsonArgument(::google::protobuf::internal::ConstantInitialized); + + inline JsonArgument(const JsonArgument& from) + : JsonArgument(nullptr, from) {} + JsonArgument(JsonArgument&& from) noexcept + : JsonArgument() { *this = ::std::move(from); } - inline AlterOperatorStmt& operator=(const AlterOperatorStmt& from) { + inline JsonArgument& operator=(const JsonArgument& from) { CopyFrom(from); return *this; } - inline AlterOperatorStmt& operator=(AlterOperatorStmt&& from) noexcept { + inline JsonArgument& operator=(JsonArgument&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -39368,174 +43324,196 @@ class AlterOperatorStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterOperatorStmt& default_instance() { + static const JsonArgument& default_instance() { return *internal_default_instance(); } - static inline const AlterOperatorStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterOperatorStmt_default_instance_); + static inline const JsonArgument* internal_default_instance() { + return reinterpret_cast( + &_JsonArgument_default_instance_); } static constexpr int kIndexInFileMessages = - 139; + 127; - friend void swap(AlterOperatorStmt& a, AlterOperatorStmt& b) { + friend void swap(JsonArgument& a, JsonArgument& b) { a.Swap(&b); } - inline void Swap(AlterOperatorStmt* other) { + inline void Swap(JsonArgument* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterOperatorStmt* other) { + void UnsafeArenaSwap(JsonArgument* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterOperatorStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArgument* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterOperatorStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterOperatorStmt& from) { - AlterOperatorStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonArgument& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonArgument& from) { + JsonArgument::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterOperatorStmt* other); + void InternalSwap(JsonArgument* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterOperatorStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonArgument"; } protected: - explicit AlterOperatorStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonArgument(::google::protobuf::Arena* arena); + JsonArgument(::google::protobuf::Arena* arena, const JsonArgument& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kOpernameFieldNumber = 1, + kNameFieldNumber = 2, + kValFieldNumber = 1, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"]; - bool has_opername() const; private: - bool _internal_has_opername() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_opername(); - const ::pg_query::ObjectWithArgs& opername() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_opername(); - ::pg_query::ObjectWithArgs* mutable_opername(); - void set_allocated_opername(::pg_query::ObjectWithArgs* opername); + // .pg_query.JsonValueExpr val = 1 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::JsonValueExpr& val() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_val(); + ::pg_query::JsonValueExpr* mutable_val(); + void set_allocated_val(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_val(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_val(); + private: - const ::pg_query::ObjectWithArgs& _internal_opername() const; - ::pg_query::ObjectWithArgs* _internal_mutable_opername(); - public: - void unsafe_arena_set_allocated_opername( - ::pg_query::ObjectWithArgs* opername); - ::pg_query::ObjectWithArgs* unsafe_arena_release_opername(); + const ::pg_query::JsonValueExpr& _internal_val() const; + ::pg_query::JsonValueExpr* _internal_mutable_val(); - // @@protoc_insertion_point(class_scope:pg_query.AlterOperatorStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonArgument) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::pg_query::ObjectWithArgs* opername_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::JsonValueExpr* val_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTypeStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTypeStmt) */ { +class JsonArrayAgg final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayAgg) */ { public: - inline AlterTypeStmt() : AlterTypeStmt(nullptr) {} - ~AlterTypeStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTypeStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterTypeStmt(const AlterTypeStmt& from); - AlterTypeStmt(AlterTypeStmt&& from) noexcept - : AlterTypeStmt() { + inline JsonArrayAgg() : JsonArrayAgg(nullptr) {} + ~JsonArrayAgg() override; + template + explicit PROTOBUF_CONSTEXPR JsonArrayAgg(::google::protobuf::internal::ConstantInitialized); + + inline JsonArrayAgg(const JsonArrayAgg& from) + : JsonArrayAgg(nullptr, from) {} + JsonArrayAgg(JsonArrayAgg&& from) noexcept + : JsonArrayAgg() { *this = ::std::move(from); } - inline AlterTypeStmt& operator=(const AlterTypeStmt& from) { + inline JsonArrayAgg& operator=(const JsonArrayAgg& from) { CopyFrom(from); return *this; } - inline AlterTypeStmt& operator=(AlterTypeStmt&& from) noexcept { + inline JsonArrayAgg& operator=(JsonArrayAgg&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -39545,174 +43523,207 @@ class AlterTypeStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTypeStmt& default_instance() { + static const JsonArrayAgg& default_instance() { return *internal_default_instance(); } - static inline const AlterTypeStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTypeStmt_default_instance_); + static inline const JsonArrayAgg* internal_default_instance() { + return reinterpret_cast( + &_JsonArrayAgg_default_instance_); } static constexpr int kIndexInFileMessages = - 140; + 141; - friend void swap(AlterTypeStmt& a, AlterTypeStmt& b) { + friend void swap(JsonArrayAgg& a, JsonArrayAgg& b) { a.Swap(&b); } - inline void Swap(AlterTypeStmt* other) { + inline void Swap(JsonArrayAgg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTypeStmt* other) { + void UnsafeArenaSwap(JsonArrayAgg* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTypeStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArrayAgg* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTypeStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTypeStmt& from) { - AlterTypeStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonArrayAgg& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonArrayAgg& from) { + JsonArrayAgg::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTypeStmt* other); + void InternalSwap(JsonArrayAgg* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTypeStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonArrayAgg"; } protected: - explicit AlterTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonArrayAgg(::google::protobuf::Arena* arena); + JsonArrayAgg(::google::protobuf::Arena* arena, const JsonArrayAgg& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTypeNameFieldNumber = 1, - kOptionsFieldNumber = 2, + kConstructorFieldNumber = 1, + kArgFieldNumber = 2, + kAbsentOnNullFieldNumber = 3, }; - // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; - int type_name_size() const; - private: - int _internal_type_name_size() const; - public: - void clear_type_name(); - ::pg_query::Node* mutable_type_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_type_name(); + // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; + bool has_constructor() const; + void clear_constructor() ; + const ::pg_query::JsonAggConstructor& constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_constructor(); + ::pg_query::JsonAggConstructor* mutable_constructor(); + void set_allocated_constructor(::pg_query::JsonAggConstructor* value); + void unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value); + ::pg_query::JsonAggConstructor* unsafe_arena_release_constructor(); + private: - const ::pg_query::Node& _internal_type_name(int index) const; - ::pg_query::Node* _internal_add_type_name(); + const ::pg_query::JsonAggConstructor& _internal_constructor() const; + ::pg_query::JsonAggConstructor* _internal_mutable_constructor(); + public: - const ::pg_query::Node& type_name(int index) const; - ::pg_query::Node* add_type_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - type_name() const; + // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::JsonValueExpr& arg() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_arg(); + ::pg_query::JsonValueExpr* mutable_arg(); + void set_allocated_arg(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_arg(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_arg(); - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + const ::pg_query::JsonValueExpr& _internal_arg() const; + ::pg_query::JsonValueExpr* _internal_mutable_arg(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // bool absent_on_null = 3 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); - // @@protoc_insertion_point(class_scope:pg_query.AlterTypeStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonArrayAgg) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > type_name_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonAggConstructor* constructor_; + ::pg_query::JsonValueExpr* arg_; + bool absent_on_null_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropOwnedStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropOwnedStmt) */ { +class JsonArrayConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayConstructor) */ { public: - inline DropOwnedStmt() : DropOwnedStmt(nullptr) {} - ~DropOwnedStmt() override; - explicit PROTOBUF_CONSTEXPR DropOwnedStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DropOwnedStmt(const DropOwnedStmt& from); - DropOwnedStmt(DropOwnedStmt&& from) noexcept - : DropOwnedStmt() { + inline JsonArrayConstructor() : JsonArrayConstructor(nullptr) {} + ~JsonArrayConstructor() override; + template + explicit PROTOBUF_CONSTEXPR JsonArrayConstructor(::google::protobuf::internal::ConstantInitialized); + + inline JsonArrayConstructor(const JsonArrayConstructor& from) + : JsonArrayConstructor(nullptr, from) {} + JsonArrayConstructor(JsonArrayConstructor&& from) noexcept + : JsonArrayConstructor() { *this = ::std::move(from); } - inline DropOwnedStmt& operator=(const DropOwnedStmt& from) { + inline JsonArrayConstructor& operator=(const JsonArrayConstructor& from) { CopyFrom(from); return *this; } - inline DropOwnedStmt& operator=(DropOwnedStmt&& from) noexcept { + inline JsonArrayConstructor& operator=(JsonArrayConstructor&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -39722,165 +43733,222 @@ class DropOwnedStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropOwnedStmt& default_instance() { + static const JsonArrayConstructor& default_instance() { return *internal_default_instance(); } - static inline const DropOwnedStmt* internal_default_instance() { - return reinterpret_cast( - &_DropOwnedStmt_default_instance_); + static inline const JsonArrayConstructor* internal_default_instance() { + return reinterpret_cast( + &_JsonArrayConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 141; + 137; - friend void swap(DropOwnedStmt& a, DropOwnedStmt& b) { + friend void swap(JsonArrayConstructor& a, JsonArrayConstructor& b) { a.Swap(&b); } - inline void Swap(DropOwnedStmt* other) { + inline void Swap(JsonArrayConstructor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropOwnedStmt* other) { + void UnsafeArenaSwap(JsonArrayConstructor* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropOwnedStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArrayConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropOwnedStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropOwnedStmt& from) { - DropOwnedStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonArrayConstructor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonArrayConstructor& from) { + JsonArrayConstructor::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropOwnedStmt* other); + void InternalSwap(JsonArrayConstructor* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropOwnedStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonArrayConstructor"; } protected: - explicit DropOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonArrayConstructor(::google::protobuf::Arena* arena); + JsonArrayConstructor(::google::protobuf::Arena* arena, const JsonArrayConstructor& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 1, - kBehaviorFieldNumber = 2, + kExprsFieldNumber = 1, + kOutputFieldNumber = 2, + kAbsentOnNullFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node roles = 1 [json_name = "roles"]; - int roles_size() const; + // repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; + int exprs_size() const; private: - int _internal_roles_size() const; + int _internal_exprs_size() const; + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + void clear_exprs() ; + ::pg_query::Node* mutable_exprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exprs(); private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exprs(); public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + const ::pg_query::Node& exprs(int index) const; + ::pg_query::Node* add_exprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exprs() const; + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: + // bool absent_on_null = 3 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); - // @@protoc_insertion_point(class_scope:pg_query.DropOwnedStmt) + private: + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonArrayConstructor) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; - int behavior_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exprs_; + ::pg_query::JsonOutput* output_; + bool absent_on_null_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ReassignOwnedStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ReassignOwnedStmt) */ { +class JsonArrayQueryConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonArrayQueryConstructor) */ { public: - inline ReassignOwnedStmt() : ReassignOwnedStmt(nullptr) {} - ~ReassignOwnedStmt() override; - explicit PROTOBUF_CONSTEXPR ReassignOwnedStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ReassignOwnedStmt(const ReassignOwnedStmt& from); - ReassignOwnedStmt(ReassignOwnedStmt&& from) noexcept - : ReassignOwnedStmt() { + inline JsonArrayQueryConstructor() : JsonArrayQueryConstructor(nullptr) {} + ~JsonArrayQueryConstructor() override; + template + explicit PROTOBUF_CONSTEXPR JsonArrayQueryConstructor(::google::protobuf::internal::ConstantInitialized); + + inline JsonArrayQueryConstructor(const JsonArrayQueryConstructor& from) + : JsonArrayQueryConstructor(nullptr, from) {} + JsonArrayQueryConstructor(JsonArrayQueryConstructor&& from) noexcept + : JsonArrayQueryConstructor() { *this = ::std::move(from); } - inline ReassignOwnedStmt& operator=(const ReassignOwnedStmt& from) { + inline JsonArrayQueryConstructor& operator=(const JsonArrayQueryConstructor& from) { CopyFrom(from); return *this; } - inline ReassignOwnedStmt& operator=(ReassignOwnedStmt&& from) noexcept { + inline JsonArrayQueryConstructor& operator=(JsonArrayQueryConstructor&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -39890,174 +43958,236 @@ class ReassignOwnedStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReassignOwnedStmt& default_instance() { + static const JsonArrayQueryConstructor& default_instance() { return *internal_default_instance(); } - static inline const ReassignOwnedStmt* internal_default_instance() { - return reinterpret_cast( - &_ReassignOwnedStmt_default_instance_); + static inline const JsonArrayQueryConstructor* internal_default_instance() { + return reinterpret_cast( + &_JsonArrayQueryConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 142; + 138; - friend void swap(ReassignOwnedStmt& a, ReassignOwnedStmt& b) { + friend void swap(JsonArrayQueryConstructor& a, JsonArrayQueryConstructor& b) { a.Swap(&b); } - inline void Swap(ReassignOwnedStmt* other) { + inline void Swap(JsonArrayQueryConstructor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReassignOwnedStmt* other) { + void UnsafeArenaSwap(JsonArrayQueryConstructor* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ReassignOwnedStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonArrayQueryConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ReassignOwnedStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ReassignOwnedStmt& from) { - ReassignOwnedStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonArrayQueryConstructor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonArrayQueryConstructor& from) { + JsonArrayQueryConstructor::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ReassignOwnedStmt* other); + void InternalSwap(JsonArrayQueryConstructor* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ReassignOwnedStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonArrayQueryConstructor"; } protected: - explicit ReassignOwnedStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonArrayQueryConstructor(::google::protobuf::Arena* arena); + JsonArrayQueryConstructor(::google::protobuf::Arena* arena, const JsonArrayQueryConstructor& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 1, - kNewroleFieldNumber = 2, + kQueryFieldNumber = 1, + kOutputFieldNumber = 2, + kFormatFieldNumber = 3, + kAbsentOnNullFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node roles = 1 [json_name = "roles"]; - int roles_size() const; + // .pg_query.Node query = 1 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); + private: - int _internal_roles_size() const; + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); + private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + // .pg_query.JsonFormat format = 3 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); - // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; - bool has_newrole() const; private: - bool _internal_has_newrole() const; + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + public: - void clear_newrole(); - const ::pg_query::RoleSpec& newrole() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newrole(); - ::pg_query::RoleSpec* mutable_newrole(); - void set_allocated_newrole(::pg_query::RoleSpec* newrole); + // bool absent_on_null = 4 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + private: - const ::pg_query::RoleSpec& _internal_newrole() const; - ::pg_query::RoleSpec* _internal_mutable_newrole(); + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + public: - void unsafe_arena_set_allocated_newrole( - ::pg_query::RoleSpec* newrole); - ::pg_query::RoleSpec* unsafe_arena_release_newrole(); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.ReassignOwnedStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonArrayQueryConstructor) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; - ::pg_query::RoleSpec* newrole_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* query_; + ::pg_query::JsonOutput* output_; + ::pg_query::JsonFormat* format_; + bool absent_on_null_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CompositeTypeStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CompositeTypeStmt) */ { +class JsonBehavior final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonBehavior) */ { public: - inline CompositeTypeStmt() : CompositeTypeStmt(nullptr) {} - ~CompositeTypeStmt() override; - explicit PROTOBUF_CONSTEXPR CompositeTypeStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CompositeTypeStmt(const CompositeTypeStmt& from); - CompositeTypeStmt(CompositeTypeStmt&& from) noexcept - : CompositeTypeStmt() { + inline JsonBehavior() : JsonBehavior(nullptr) {} + ~JsonBehavior() override; + template + explicit PROTOBUF_CONSTEXPR JsonBehavior(::google::protobuf::internal::ConstantInitialized); + + inline JsonBehavior(const JsonBehavior& from) + : JsonBehavior(nullptr, from) {} + JsonBehavior(JsonBehavior&& from) noexcept + : JsonBehavior() { *this = ::std::move(from); } - inline CompositeTypeStmt& operator=(const CompositeTypeStmt& from) { + inline JsonBehavior& operator=(const JsonBehavior& from) { CopyFrom(from); return *this; } - inline CompositeTypeStmt& operator=(CompositeTypeStmt&& from) noexcept { + inline JsonBehavior& operator=(JsonBehavior&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -40067,174 +44197,214 @@ class CompositeTypeStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CompositeTypeStmt& default_instance() { + static const JsonBehavior& default_instance() { return *internal_default_instance(); } - static inline const CompositeTypeStmt* internal_default_instance() { - return reinterpret_cast( - &_CompositeTypeStmt_default_instance_); + static inline const JsonBehavior* internal_default_instance() { + return reinterpret_cast( + &_JsonBehavior_default_instance_); } static constexpr int kIndexInFileMessages = - 143; + 56; - friend void swap(CompositeTypeStmt& a, CompositeTypeStmt& b) { + friend void swap(JsonBehavior& a, JsonBehavior& b) { a.Swap(&b); } - inline void Swap(CompositeTypeStmt* other) { + inline void Swap(JsonBehavior* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CompositeTypeStmt* other) { + void UnsafeArenaSwap(JsonBehavior* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CompositeTypeStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonBehavior* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CompositeTypeStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CompositeTypeStmt& from) { - CompositeTypeStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonBehavior& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonBehavior& from) { + JsonBehavior::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CompositeTypeStmt* other); + void InternalSwap(JsonBehavior* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CompositeTypeStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonBehavior"; } protected: - explicit CompositeTypeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonBehavior(::google::protobuf::Arena* arena); + JsonBehavior(::google::protobuf::Arena* arena, const JsonBehavior& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColdeflistFieldNumber = 2, - kTypevarFieldNumber = 1, + kExprFieldNumber = 2, + kBtypeFieldNumber = 1, + kCoerceFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"]; - int coldeflist_size() const; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + private: - int _internal_coldeflist_size() const; + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + public: - void clear_coldeflist(); - ::pg_query::Node* mutable_coldeflist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coldeflist(); + // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"]; + void clear_btype() ; + ::pg_query::JsonBehaviorType btype() const; + void set_btype(::pg_query::JsonBehaviorType value); + private: - const ::pg_query::Node& _internal_coldeflist(int index) const; - ::pg_query::Node* _internal_add_coldeflist(); + ::pg_query::JsonBehaviorType _internal_btype() const; + void _internal_set_btype(::pg_query::JsonBehaviorType value); + public: - const ::pg_query::Node& coldeflist(int index) const; - ::pg_query::Node* add_coldeflist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coldeflist() const; + // bool coerce = 3 [json_name = "coerce"]; + void clear_coerce() ; + bool coerce() const; + void set_coerce(bool value); - // .pg_query.RangeVar typevar = 1 [json_name = "typevar"]; - bool has_typevar() const; private: - bool _internal_has_typevar() const; + bool _internal_coerce() const; + void _internal_set_coerce(bool value); + public: - void clear_typevar(); - const ::pg_query::RangeVar& typevar() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_typevar(); - ::pg_query::RangeVar* mutable_typevar(); - void set_allocated_typevar(::pg_query::RangeVar* typevar); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::pg_query::RangeVar& _internal_typevar() const; - ::pg_query::RangeVar* _internal_mutable_typevar(); - public: - void unsafe_arena_set_allocated_typevar( - ::pg_query::RangeVar* typevar); - ::pg_query::RangeVar* unsafe_arena_release_typevar(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CompositeTypeStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonBehavior) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coldeflist_; - ::pg_query::RangeVar* typevar_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + int btype_; + bool coerce_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateEnumStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateEnumStmt) */ { +class JsonConstructorExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonConstructorExpr) */ { public: - inline CreateEnumStmt() : CreateEnumStmt(nullptr) {} - ~CreateEnumStmt() override; - explicit PROTOBUF_CONSTEXPR CreateEnumStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateEnumStmt(const CreateEnumStmt& from); - CreateEnumStmt(CreateEnumStmt&& from) noexcept - : CreateEnumStmt() { + inline JsonConstructorExpr() : JsonConstructorExpr(nullptr) {} + ~JsonConstructorExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonConstructorExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonConstructorExpr(const JsonConstructorExpr& from) + : JsonConstructorExpr(nullptr, from) {} + JsonConstructorExpr(JsonConstructorExpr&& from) noexcept + : JsonConstructorExpr() { *this = ::std::move(from); } - inline CreateEnumStmt& operator=(const CreateEnumStmt& from) { + inline JsonConstructorExpr& operator=(const JsonConstructorExpr& from) { CopyFrom(from); return *this; } - inline CreateEnumStmt& operator=(CreateEnumStmt&& from) noexcept { + inline JsonConstructorExpr& operator=(JsonConstructorExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -40244,174 +44414,297 @@ class CreateEnumStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateEnumStmt& default_instance() { + static const JsonConstructorExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateEnumStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateEnumStmt_default_instance_); + static inline const JsonConstructorExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonConstructorExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 144; + 54; - friend void swap(CreateEnumStmt& a, CreateEnumStmt& b) { + friend void swap(JsonConstructorExpr& a, JsonConstructorExpr& b) { a.Swap(&b); } - inline void Swap(CreateEnumStmt* other) { + inline void Swap(JsonConstructorExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateEnumStmt* other) { + void UnsafeArenaSwap(JsonConstructorExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateEnumStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonConstructorExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateEnumStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateEnumStmt& from) { - CreateEnumStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonConstructorExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonConstructorExpr& from) { + JsonConstructorExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateEnumStmt* other); + void InternalSwap(JsonConstructorExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateEnumStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonConstructorExpr"; } protected: - explicit CreateEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonConstructorExpr(::google::protobuf::Arena* arena); + JsonConstructorExpr(::google::protobuf::Arena* arena, const JsonConstructorExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTypeNameFieldNumber = 1, - kValsFieldNumber = 2, + kArgsFieldNumber = 3, + kXprFieldNumber = 1, + kFuncFieldNumber = 4, + kCoercionFieldNumber = 5, + kReturningFieldNumber = 6, + kTypeFieldNumber = 2, + kAbsentOnNullFieldNumber = 7, + kUniqueFieldNumber = 8, + kLocationFieldNumber = 9, }; - // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; - int type_name_size() const; + // repeated .pg_query.Node args = 3 [json_name = "args"]; + int args_size() const; private: - int _internal_type_name_size() const; + int _internal_args_size() const; + public: - void clear_type_name(); - ::pg_query::Node* mutable_type_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_type_name(); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_type_name(int index) const; - ::pg_query::Node* _internal_add_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& type_name(int index) const; - ::pg_query::Node* add_type_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - type_name() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node vals = 2 [json_name = "vals"]; - int vals_size() const; private: - int _internal_vals_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_vals(); - ::pg_query::Node* mutable_vals(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_vals(); + // .pg_query.Node func = 4 [json_name = "func"]; + bool has_func() const; + void clear_func() ; + const ::pg_query::Node& func() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_func(); + ::pg_query::Node* mutable_func(); + void set_allocated_func(::pg_query::Node* value); + void unsafe_arena_set_allocated_func(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_func(); + private: - const ::pg_query::Node& _internal_vals(int index) const; - ::pg_query::Node* _internal_add_vals(); + const ::pg_query::Node& _internal_func() const; + ::pg_query::Node* _internal_mutable_func(); + public: - const ::pg_query::Node& vals(int index) const; - ::pg_query::Node* add_vals(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - vals() const; + // .pg_query.Node coercion = 5 [json_name = "coercion"]; + bool has_coercion() const; + void clear_coercion() ; + const ::pg_query::Node& coercion() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_coercion(); + ::pg_query::Node* mutable_coercion(); + void set_allocated_coercion(::pg_query::Node* value); + void unsafe_arena_set_allocated_coercion(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_coercion(); - // @@protoc_insertion_point(class_scope:pg_query.CreateEnumStmt) + private: + const ::pg_query::Node& _internal_coercion() const; + ::pg_query::Node* _internal_mutable_coercion(); + + public: + // .pg_query.JsonReturning returning = 6 [json_name = "returning"]; + bool has_returning() const; + void clear_returning() ; + const ::pg_query::JsonReturning& returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_returning(); + ::pg_query::JsonReturning* mutable_returning(); + void set_allocated_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_returning(); + + private: + const ::pg_query::JsonReturning& _internal_returning() const; + ::pg_query::JsonReturning* _internal_mutable_returning(); + + public: + // .pg_query.JsonConstructorType type = 2 [json_name = "type"]; + void clear_type() ; + ::pg_query::JsonConstructorType type() const; + void set_type(::pg_query::JsonConstructorType value); + + private: + ::pg_query::JsonConstructorType _internal_type() const; + void _internal_set_type(::pg_query::JsonConstructorType value); + + public: + // bool absent_on_null = 7 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + + private: + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + + public: + // bool unique = 8 [json_name = "unique"]; + void clear_unique() ; + bool unique() const; + void set_unique(bool value); + + private: + bool _internal_unique() const; + void _internal_set_unique(bool value); + + public: + // int32 location = 9 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonConstructorExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 9, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > type_name_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > vals_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::pg_query::Node* func_; + ::pg_query::Node* coercion_; + ::pg_query::JsonReturning* returning_; + int type_; + bool absent_on_null_; + bool unique_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateRangeStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateRangeStmt) */ { +class JsonExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonExpr) */ { public: - inline CreateRangeStmt() : CreateRangeStmt(nullptr) {} - ~CreateRangeStmt() override; - explicit PROTOBUF_CONSTEXPR CreateRangeStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateRangeStmt(const CreateRangeStmt& from); - CreateRangeStmt(CreateRangeStmt&& from) noexcept - : CreateRangeStmt() { + inline JsonExpr() : JsonExpr(nullptr) {} + ~JsonExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonExpr(const JsonExpr& from) + : JsonExpr(nullptr, from) {} + JsonExpr(JsonExpr&& from) noexcept + : JsonExpr() { *this = ::std::move(from); } - inline CreateRangeStmt& operator=(const CreateRangeStmt& from) { + inline JsonExpr& operator=(const JsonExpr& from) { CopyFrom(from); return *this; } - inline CreateRangeStmt& operator=(CreateRangeStmt&& from) noexcept { + inline JsonExpr& operator=(JsonExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -40421,174 +44714,422 @@ class CreateRangeStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateRangeStmt& default_instance() { + static const JsonExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateRangeStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateRangeStmt_default_instance_); + static inline const JsonExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 145; + 57; - friend void swap(CreateRangeStmt& a, CreateRangeStmt& b) { + friend void swap(JsonExpr& a, JsonExpr& b) { a.Swap(&b); } - inline void Swap(CreateRangeStmt* other) { + inline void Swap(JsonExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateRangeStmt* other) { + void UnsafeArenaSwap(JsonExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateRangeStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateRangeStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateRangeStmt& from) { - CreateRangeStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonExpr& from) { + JsonExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateRangeStmt* other); + void InternalSwap(JsonExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateRangeStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonExpr"; } protected: - explicit CreateRangeStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonExpr(::google::protobuf::Arena* arena); + JsonExpr(::google::protobuf::Arena* arena, const JsonExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTypeNameFieldNumber = 1, - kParamsFieldNumber = 2, + kPassingNamesFieldNumber = 8, + kPassingValuesFieldNumber = 9, + kColumnNameFieldNumber = 3, + kXprFieldNumber = 1, + kFormattedExprFieldNumber = 4, + kFormatFieldNumber = 5, + kPathSpecFieldNumber = 6, + kReturningFieldNumber = 7, + kOnEmptyFieldNumber = 10, + kOnErrorFieldNumber = 11, + kOpFieldNumber = 2, + kUseIoCoercionFieldNumber = 12, + kUseJsonCoercionFieldNumber = 13, + kOmitQuotesFieldNumber = 15, + kWrapperFieldNumber = 14, + kCollationFieldNumber = 16, + kLocationFieldNumber = 17, }; - // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; - int type_name_size() const; + // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"]; + int passing_names_size() const; private: - int _internal_type_name_size() const; + int _internal_passing_names_size() const; + public: - void clear_type_name(); - ::pg_query::Node* mutable_type_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_type_name(); + void clear_passing_names() ; + ::pg_query::Node* mutable_passing_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing_names(); private: - const ::pg_query::Node& _internal_type_name(int index) const; - ::pg_query::Node* _internal_add_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing_names(); public: - const ::pg_query::Node& type_name(int index) const; - ::pg_query::Node* add_type_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - type_name() const; + const ::pg_query::Node& passing_names(int index) const; + ::pg_query::Node* add_passing_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing_names() const; + // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"]; + int passing_values_size() const; + private: + int _internal_passing_values_size() const; - // repeated .pg_query.Node params = 2 [json_name = "params"]; - int params_size() const; + public: + void clear_passing_values() ; + ::pg_query::Node* mutable_passing_values(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing_values(); private: - int _internal_params_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing_values() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing_values(); public: - void clear_params(); - ::pg_query::Node* mutable_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_params(); + const ::pg_query::Node& passing_values(int index) const; + ::pg_query::Node* add_passing_values(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing_values() const; + // string column_name = 3 [json_name = "column_name"]; + void clear_column_name() ; + const std::string& column_name() const; + template + void set_column_name(Arg_&& arg, Args_... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* value); + private: - const ::pg_query::Node& _internal_params(int index) const; - ::pg_query::Node* _internal_add_params(); + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name( + const std::string& value); + std::string* _internal_mutable_column_name(); + public: - const ::pg_query::Node& params(int index) const; - ::pg_query::Node* add_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - params() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // @@protoc_insertion_point(class_scope:pg_query.CreateRangeStmt) + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"]; + bool has_formatted_expr() const; + void clear_formatted_expr() ; + const ::pg_query::Node& formatted_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_formatted_expr(); + ::pg_query::Node* mutable_formatted_expr(); + void set_allocated_formatted_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_formatted_expr(); + + private: + const ::pg_query::Node& _internal_formatted_expr() const; + ::pg_query::Node* _internal_mutable_formatted_expr(); + + public: + // .pg_query.JsonFormat format = 5 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); + + private: + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + + public: + // .pg_query.Node path_spec = 6 [json_name = "path_spec"]; + bool has_path_spec() const; + void clear_path_spec() ; + const ::pg_query::Node& path_spec() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_path_spec(); + ::pg_query::Node* mutable_path_spec(); + void set_allocated_path_spec(::pg_query::Node* value); + void unsafe_arena_set_allocated_path_spec(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_path_spec(); + + private: + const ::pg_query::Node& _internal_path_spec() const; + ::pg_query::Node* _internal_mutable_path_spec(); + + public: + // .pg_query.JsonReturning returning = 7 [json_name = "returning"]; + bool has_returning() const; + void clear_returning() ; + const ::pg_query::JsonReturning& returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_returning(); + ::pg_query::JsonReturning* mutable_returning(); + void set_allocated_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_returning(); + + private: + const ::pg_query::JsonReturning& _internal_returning() const; + ::pg_query::JsonReturning* _internal_mutable_returning(); + + public: + // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); + + private: + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); + + public: + // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); + + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.JsonExprOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::JsonExprOp op() const; + void set_op(::pg_query::JsonExprOp value); + + private: + ::pg_query::JsonExprOp _internal_op() const; + void _internal_set_op(::pg_query::JsonExprOp value); + + public: + // bool use_io_coercion = 12 [json_name = "use_io_coercion"]; + void clear_use_io_coercion() ; + bool use_io_coercion() const; + void set_use_io_coercion(bool value); + + private: + bool _internal_use_io_coercion() const; + void _internal_set_use_io_coercion(bool value); + + public: + // bool use_json_coercion = 13 [json_name = "use_json_coercion"]; + void clear_use_json_coercion() ; + bool use_json_coercion() const; + void set_use_json_coercion(bool value); + + private: + bool _internal_use_json_coercion() const; + void _internal_set_use_json_coercion(bool value); + + public: + // bool omit_quotes = 15 [json_name = "omit_quotes"]; + void clear_omit_quotes() ; + bool omit_quotes() const; + void set_omit_quotes(bool value); + + private: + bool _internal_omit_quotes() const; + void _internal_set_omit_quotes(bool value); + + public: + // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // uint32 collation = 16 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); + + private: + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); + + public: + // int32 location = 17 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 17, 9, + 53, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > type_name_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > params_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_values_; + ::google::protobuf::internal::ArenaStringPtr column_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* formatted_expr_; + ::pg_query::JsonFormat* format_; + ::pg_query::Node* path_spec_; + ::pg_query::JsonReturning* returning_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int op_; + bool use_io_coercion_; + bool use_json_coercion_; + bool omit_quotes_; + int wrapper_; + ::uint32_t collation_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterEnumStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterEnumStmt) */ { +class JsonFuncExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonFuncExpr) */ { public: - inline AlterEnumStmt() : AlterEnumStmt(nullptr) {} - ~AlterEnumStmt() override; - explicit PROTOBUF_CONSTEXPR AlterEnumStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterEnumStmt(const AlterEnumStmt& from); - AlterEnumStmt(AlterEnumStmt&& from) noexcept - : AlterEnumStmt() { + inline JsonFuncExpr() : JsonFuncExpr(nullptr) {} + ~JsonFuncExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonFuncExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonFuncExpr(const JsonFuncExpr& from) + : JsonFuncExpr(nullptr, from) {} + JsonFuncExpr(JsonFuncExpr&& from) noexcept + : JsonFuncExpr() { *this = ::std::move(from); } - inline AlterEnumStmt& operator=(const AlterEnumStmt& from) { + inline JsonFuncExpr& operator=(const JsonFuncExpr& from) { CopyFrom(from); return *this; } - inline AlterEnumStmt& operator=(AlterEnumStmt&& from) noexcept { + inline JsonFuncExpr& operator=(JsonFuncExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -40598,224 +45139,332 @@ class AlterEnumStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterEnumStmt& default_instance() { + static const JsonFuncExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterEnumStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterEnumStmt_default_instance_); + static inline const JsonFuncExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonFuncExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 146; + 128; - friend void swap(AlterEnumStmt& a, AlterEnumStmt& b) { + friend void swap(JsonFuncExpr& a, JsonFuncExpr& b) { a.Swap(&b); } - inline void Swap(AlterEnumStmt* other) { + inline void Swap(JsonFuncExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterEnumStmt* other) { + void UnsafeArenaSwap(JsonFuncExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterEnumStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonFuncExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterEnumStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterEnumStmt& from) { - AlterEnumStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonFuncExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonFuncExpr& from) { + JsonFuncExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterEnumStmt* other); + void InternalSwap(JsonFuncExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterEnumStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonFuncExpr"; } protected: - explicit AlterEnumStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonFuncExpr(::google::protobuf::Arena* arena); + JsonFuncExpr(::google::protobuf::Arena* arena, const JsonFuncExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTypeNameFieldNumber = 1, - kOldValFieldNumber = 2, - kNewValFieldNumber = 3, - kNewValNeighborFieldNumber = 4, - kNewValIsAfterFieldNumber = 5, - kSkipIfNewValExistsFieldNumber = 6, + kPassingFieldNumber = 5, + kColumnNameFieldNumber = 2, + kContextItemFieldNumber = 3, + kPathspecFieldNumber = 4, + kOutputFieldNumber = 6, + kOnEmptyFieldNumber = 7, + kOnErrorFieldNumber = 8, + kOpFieldNumber = 1, + kWrapperFieldNumber = 9, + kQuotesFieldNumber = 10, + kLocationFieldNumber = 11, }; - // repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; - int type_name_size() const; + // repeated .pg_query.Node passing = 5 [json_name = "passing"]; + int passing_size() const; private: - int _internal_type_name_size() const; + int _internal_passing_size() const; + public: - void clear_type_name(); - ::pg_query::Node* mutable_type_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_type_name(); + void clear_passing() ; + ::pg_query::Node* mutable_passing(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing(); private: - const ::pg_query::Node& _internal_type_name(int index) const; - ::pg_query::Node* _internal_add_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing(); public: - const ::pg_query::Node& type_name(int index) const; - ::pg_query::Node* add_type_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - type_name() const; + const ::pg_query::Node& passing(int index) const; + ::pg_query::Node* add_passing(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing() const; + // string column_name = 2 [json_name = "column_name"]; + void clear_column_name() ; + const std::string& column_name() const; + template + void set_column_name(Arg_&& arg, Args_... args); + std::string* mutable_column_name(); + PROTOBUF_NODISCARD std::string* release_column_name(); + void set_allocated_column_name(std::string* value); - // string old_val = 2 [json_name = "oldVal"]; - void clear_old_val(); - const std::string& old_val() const; - template - void set_old_val(ArgT0&& arg0, ArgT... args); - std::string* mutable_old_val(); - PROTOBUF_NODISCARD std::string* release_old_val(); - void set_allocated_old_val(std::string* old_val); private: - const std::string& _internal_old_val() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_old_val(const std::string& value); - std::string* _internal_mutable_old_val(); + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name( + const std::string& value); + std::string* _internal_mutable_column_name(); + public: + // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"]; + bool has_context_item() const; + void clear_context_item() ; + const ::pg_query::JsonValueExpr& context_item() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_context_item(); + ::pg_query::JsonValueExpr* mutable_context_item(); + void set_allocated_context_item(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_context_item(); - // string new_val = 3 [json_name = "newVal"]; - void clear_new_val(); - const std::string& new_val() const; - template - void set_new_val(ArgT0&& arg0, ArgT... args); - std::string* mutable_new_val(); - PROTOBUF_NODISCARD std::string* release_new_val(); - void set_allocated_new_val(std::string* new_val); private: - const std::string& _internal_new_val() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_val(const std::string& value); - std::string* _internal_mutable_new_val(); + const ::pg_query::JsonValueExpr& _internal_context_item() const; + ::pg_query::JsonValueExpr* _internal_mutable_context_item(); + public: + // .pg_query.Node pathspec = 4 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::Node& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_pathspec(); + ::pg_query::Node* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::Node* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_pathspec(); - // string new_val_neighbor = 4 [json_name = "newValNeighbor"]; - void clear_new_val_neighbor(); - const std::string& new_val_neighbor() const; - template - void set_new_val_neighbor(ArgT0&& arg0, ArgT... args); - std::string* mutable_new_val_neighbor(); - PROTOBUF_NODISCARD std::string* release_new_val_neighbor(); - void set_allocated_new_val_neighbor(std::string* new_val_neighbor); private: - const std::string& _internal_new_val_neighbor() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_val_neighbor(const std::string& value); - std::string* _internal_mutable_new_val_neighbor(); + const ::pg_query::Node& _internal_pathspec() const; + ::pg_query::Node* _internal_mutable_pathspec(); + public: + // .pg_query.JsonOutput output = 6 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // bool new_val_is_after = 5 [json_name = "newValIsAfter"]; - void clear_new_val_is_after(); - bool new_val_is_after() const; - void set_new_val_is_after(bool value); private: - bool _internal_new_val_is_after() const; - void _internal_set_new_val_is_after(bool value); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: + // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); - // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"]; - void clear_skip_if_new_val_exists(); - bool skip_if_new_val_exists() const; - void set_skip_if_new_val_exists(bool value); private: - bool _internal_skip_if_new_val_exists() const; - void _internal_set_skip_if_new_val_exists(bool value); + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); + public: + // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); - // @@protoc_insertion_point(class_scope:pg_query.AlterEnumStmt) + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.JsonExprOp op = 1 [json_name = "op"]; + void clear_op() ; + ::pg_query::JsonExprOp op() const; + void set_op(::pg_query::JsonExprOp value); + + private: + ::pg_query::JsonExprOp _internal_op() const; + void _internal_set_op(::pg_query::JsonExprOp value); + + public: + // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"]; + void clear_quotes() ; + ::pg_query::JsonQuotes quotes() const; + void set_quotes(::pg_query::JsonQuotes value); + + private: + ::pg_query::JsonQuotes _internal_quotes() const; + void _internal_set_quotes(::pg_query::JsonQuotes value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonFuncExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 6, + 49, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > type_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr old_val_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr new_val_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr new_val_neighbor_; - bool new_val_is_after_; - bool skip_if_new_val_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_; + ::google::protobuf::internal::ArenaStringPtr column_name_; + ::pg_query::JsonValueExpr* context_item_; + ::pg_query::Node* pathspec_; + ::pg_query::JsonOutput* output_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int op_; + int wrapper_; + int quotes_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTSDictionaryStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTSDictionaryStmt) */ { +class JsonIsPredicate final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonIsPredicate) */ { public: - inline AlterTSDictionaryStmt() : AlterTSDictionaryStmt(nullptr) {} - ~AlterTSDictionaryStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTSDictionaryStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterTSDictionaryStmt(const AlterTSDictionaryStmt& from); - AlterTSDictionaryStmt(AlterTSDictionaryStmt&& from) noexcept - : AlterTSDictionaryStmt() { + inline JsonIsPredicate() : JsonIsPredicate(nullptr) {} + ~JsonIsPredicate() override; + template + explicit PROTOBUF_CONSTEXPR JsonIsPredicate(::google::protobuf::internal::ConstantInitialized); + + inline JsonIsPredicate(const JsonIsPredicate& from) + : JsonIsPredicate(nullptr, from) {} + JsonIsPredicate(JsonIsPredicate&& from) noexcept + : JsonIsPredicate() { *this = ::std::move(from); } - inline AlterTSDictionaryStmt& operator=(const AlterTSDictionaryStmt& from) { + inline JsonIsPredicate& operator=(const JsonIsPredicate& from) { CopyFrom(from); return *this; } - inline AlterTSDictionaryStmt& operator=(AlterTSDictionaryStmt&& from) noexcept { + inline JsonIsPredicate& operator=(JsonIsPredicate&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -40825,174 +45474,231 @@ class AlterTSDictionaryStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTSDictionaryStmt& default_instance() { + static const JsonIsPredicate& default_instance() { return *internal_default_instance(); } - static inline const AlterTSDictionaryStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTSDictionaryStmt_default_instance_); + static inline const JsonIsPredicate* internal_default_instance() { + return reinterpret_cast( + &_JsonIsPredicate_default_instance_); } static constexpr int kIndexInFileMessages = - 147; + 55; - friend void swap(AlterTSDictionaryStmt& a, AlterTSDictionaryStmt& b) { + friend void swap(JsonIsPredicate& a, JsonIsPredicate& b) { a.Swap(&b); } - inline void Swap(AlterTSDictionaryStmt* other) { + inline void Swap(JsonIsPredicate* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTSDictionaryStmt* other) { + void UnsafeArenaSwap(JsonIsPredicate* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTSDictionaryStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonIsPredicate* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTSDictionaryStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTSDictionaryStmt& from) { - AlterTSDictionaryStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonIsPredicate& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonIsPredicate& from) { + JsonIsPredicate::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTSDictionaryStmt* other); + void InternalSwap(JsonIsPredicate* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTSDictionaryStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonIsPredicate"; } protected: - explicit AlterTSDictionaryStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonIsPredicate(::google::protobuf::Arena* arena); + JsonIsPredicate(::google::protobuf::Arena* arena, const JsonIsPredicate& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDictnameFieldNumber = 1, - kOptionsFieldNumber = 2, + kExprFieldNumber = 1, + kFormatFieldNumber = 2, + kItemTypeFieldNumber = 3, + kUniqueKeysFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node dictname = 1 [json_name = "dictname"]; - int dictname_size() const; + // .pg_query.Node expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + private: - int _internal_dictname_size() const; + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + public: - void clear_dictname(); - ::pg_query::Node* mutable_dictname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_dictname(); + // .pg_query.JsonFormat format = 2 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); + private: - const ::pg_query::Node& _internal_dictname(int index) const; - ::pg_query::Node* _internal_add_dictname(); + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + public: - const ::pg_query::Node& dictname(int index) const; - ::pg_query::Node* add_dictname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - dictname() const; + // .pg_query.JsonValueType item_type = 3 [json_name = "item_type"]; + void clear_item_type() ; + ::pg_query::JsonValueType item_type() const; + void set_item_type(::pg_query::JsonValueType value); - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + ::pg_query::JsonValueType _internal_item_type() const; + void _internal_set_item_type(::pg_query::JsonValueType value); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // bool unique_keys = 4 [json_name = "unique_keys"]; + void clear_unique_keys() ; + bool unique_keys() const; + void set_unique_keys(bool value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + bool _internal_unique_keys() const; + void _internal_set_unique_keys(bool value); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterTSDictionaryStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonIsPredicate) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > dictname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + ::pg_query::JsonFormat* format_; + int item_type_; + bool unique_keys_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTSConfigurationStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTSConfigurationStmt) */ { +class JsonKeyValue final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonKeyValue) */ { public: - inline AlterTSConfigurationStmt() : AlterTSConfigurationStmt(nullptr) {} - ~AlterTSConfigurationStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTSConfigurationStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterTSConfigurationStmt(const AlterTSConfigurationStmt& from); - AlterTSConfigurationStmt(AlterTSConfigurationStmt&& from) noexcept - : AlterTSConfigurationStmt() { + inline JsonKeyValue() : JsonKeyValue(nullptr) {} + ~JsonKeyValue() override; + template + explicit PROTOBUF_CONSTEXPR JsonKeyValue(::google::protobuf::internal::ConstantInitialized); + + inline JsonKeyValue(const JsonKeyValue& from) + : JsonKeyValue(nullptr, from) {} + JsonKeyValue(JsonKeyValue&& from) noexcept + : JsonKeyValue() { *this = ::std::move(from); } - inline AlterTSConfigurationStmt& operator=(const AlterTSConfigurationStmt& from) { + inline JsonKeyValue& operator=(const JsonKeyValue& from) { CopyFrom(from); return *this; } - inline AlterTSConfigurationStmt& operator=(AlterTSConfigurationStmt&& from) noexcept { + inline JsonKeyValue& operator=(JsonKeyValue&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -41002,238 +45708,195 @@ class AlterTSConfigurationStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTSConfigurationStmt& default_instance() { + static const JsonKeyValue& default_instance() { return *internal_default_instance(); } - static inline const AlterTSConfigurationStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTSConfigurationStmt_default_instance_); + static inline const JsonKeyValue* internal_default_instance() { + return reinterpret_cast( + &_JsonKeyValue_default_instance_); } static constexpr int kIndexInFileMessages = - 148; + 132; - friend void swap(AlterTSConfigurationStmt& a, AlterTSConfigurationStmt& b) { + friend void swap(JsonKeyValue& a, JsonKeyValue& b) { a.Swap(&b); } - inline void Swap(AlterTSConfigurationStmt* other) { + inline void Swap(JsonKeyValue* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTSConfigurationStmt* other) { + void UnsafeArenaSwap(JsonKeyValue* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTSConfigurationStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonKeyValue* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTSConfigurationStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTSConfigurationStmt& from) { - AlterTSConfigurationStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonKeyValue& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonKeyValue& from) { + JsonKeyValue::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTSConfigurationStmt* other); + void InternalSwap(JsonKeyValue* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTSConfigurationStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonKeyValue"; } protected: - explicit AlterTSConfigurationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonKeyValue(::google::protobuf::Arena* arena); + JsonKeyValue(::google::protobuf::Arena* arena, const JsonKeyValue& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCfgnameFieldNumber = 2, - kTokentypeFieldNumber = 3, - kDictsFieldNumber = 4, - kKindFieldNumber = 1, - kOverrideFieldNumber = 5, - kReplaceFieldNumber = 6, - kMissingOkFieldNumber = 7, + kKeyFieldNumber = 1, + kValueFieldNumber = 2, }; - // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"]; - int cfgname_size() const; - private: - int _internal_cfgname_size() const; - public: - void clear_cfgname(); - ::pg_query::Node* mutable_cfgname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cfgname(); - private: - const ::pg_query::Node& _internal_cfgname(int index) const; - ::pg_query::Node* _internal_add_cfgname(); - public: - const ::pg_query::Node& cfgname(int index) const; - ::pg_query::Node* add_cfgname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cfgname() const; + // .pg_query.Node key = 1 [json_name = "key"]; + bool has_key() const; + void clear_key() ; + const ::pg_query::Node& key() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_key(); + ::pg_query::Node* mutable_key(); + void set_allocated_key(::pg_query::Node* value); + void unsafe_arena_set_allocated_key(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_key(); - // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"]; - int tokentype_size() const; - private: - int _internal_tokentype_size() const; - public: - void clear_tokentype(); - ::pg_query::Node* mutable_tokentype(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_tokentype(); private: - const ::pg_query::Node& _internal_tokentype(int index) const; - ::pg_query::Node* _internal_add_tokentype(); - public: - const ::pg_query::Node& tokentype(int index) const; - ::pg_query::Node* add_tokentype(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - tokentype() const; + const ::pg_query::Node& _internal_key() const; + ::pg_query::Node* _internal_mutable_key(); - // repeated .pg_query.Node dicts = 4 [json_name = "dicts"]; - int dicts_size() const; - private: - int _internal_dicts_size() const; public: - void clear_dicts(); - ::pg_query::Node* mutable_dicts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_dicts(); + // .pg_query.JsonValueExpr value = 2 [json_name = "value"]; + bool has_value() const; + void clear_value() ; + const ::pg_query::JsonValueExpr& value() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_value(); + ::pg_query::JsonValueExpr* mutable_value(); + void set_allocated_value(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_value(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_value(); + private: - const ::pg_query::Node& _internal_dicts(int index) const; - ::pg_query::Node* _internal_add_dicts(); + const ::pg_query::JsonValueExpr& _internal_value() const; + ::pg_query::JsonValueExpr* _internal_mutable_value(); + public: - const ::pg_query::Node& dicts(int index) const; - ::pg_query::Node* add_dicts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - dicts() const; - - // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::AlterTSConfigType kind() const; - void set_kind(::pg_query::AlterTSConfigType value); - private: - ::pg_query::AlterTSConfigType _internal_kind() const; - void _internal_set_kind(::pg_query::AlterTSConfigType value); - public: - - // bool override = 5 [json_name = "override"]; - void clear_override(); - bool override() const; - void set_override(bool value); - private: - bool _internal_override() const; - void _internal_set_override(bool value); - public: - - // bool replace = 6 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); - private: - bool _internal_replace() const; - void _internal_set_replace(bool value); - public: - - // bool missing_ok = 7 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); - private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.AlterTSConfigurationStmt) + // @@protoc_insertion_point(class_scope:pg_query.JsonKeyValue) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cfgname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > tokentype_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > dicts_; - int kind_; - bool override_; - bool replace_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* key_; + ::pg_query::JsonValueExpr* value_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateFdwStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateFdwStmt) */ { +class JsonObjectAgg final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonObjectAgg) */ { public: - inline CreateFdwStmt() : CreateFdwStmt(nullptr) {} - ~CreateFdwStmt() override; - explicit PROTOBUF_CONSTEXPR CreateFdwStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateFdwStmt(const CreateFdwStmt& from); - CreateFdwStmt(CreateFdwStmt&& from) noexcept - : CreateFdwStmt() { + inline JsonObjectAgg() : JsonObjectAgg(nullptr) {} + ~JsonObjectAgg() override; + template + explicit PROTOBUF_CONSTEXPR JsonObjectAgg(::google::protobuf::internal::ConstantInitialized); + + inline JsonObjectAgg(const JsonObjectAgg& from) + : JsonObjectAgg(nullptr, from) {} + JsonObjectAgg(JsonObjectAgg&& from) noexcept + : JsonObjectAgg() { *this = ::std::move(from); } - inline CreateFdwStmt& operator=(const CreateFdwStmt& from) { + inline JsonObjectAgg& operator=(const JsonObjectAgg& from) { CopyFrom(from); return *this; } - inline CreateFdwStmt& operator=(CreateFdwStmt&& from) noexcept { + inline JsonObjectAgg& operator=(JsonObjectAgg&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -41243,190 +45906,219 @@ class CreateFdwStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateFdwStmt& default_instance() { + static const JsonObjectAgg& default_instance() { return *internal_default_instance(); } - static inline const CreateFdwStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateFdwStmt_default_instance_); + static inline const JsonObjectAgg* internal_default_instance() { + return reinterpret_cast( + &_JsonObjectAgg_default_instance_); } static constexpr int kIndexInFileMessages = - 149; + 140; - friend void swap(CreateFdwStmt& a, CreateFdwStmt& b) { + friend void swap(JsonObjectAgg& a, JsonObjectAgg& b) { a.Swap(&b); } - inline void Swap(CreateFdwStmt* other) { + inline void Swap(JsonObjectAgg* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateFdwStmt* other) { + void UnsafeArenaSwap(JsonObjectAgg* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateFdwStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonObjectAgg* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateFdwStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateFdwStmt& from) { - CreateFdwStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonObjectAgg& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonObjectAgg& from) { + JsonObjectAgg::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateFdwStmt* other); + void InternalSwap(JsonObjectAgg* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateFdwStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonObjectAgg"; } protected: - explicit CreateFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonObjectAgg(::google::protobuf::Arena* arena); + JsonObjectAgg(::google::protobuf::Arena* arena, const JsonObjectAgg& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFuncOptionsFieldNumber = 2, - kOptionsFieldNumber = 3, - kFdwnameFieldNumber = 1, + kConstructorFieldNumber = 1, + kArgFieldNumber = 2, + kAbsentOnNullFieldNumber = 3, + kUniqueFieldNumber = 4, }; - // repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; - int func_options_size() const; - private: - int _internal_func_options_size() const; - public: - void clear_func_options(); - ::pg_query::Node* mutable_func_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_func_options(); + // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; + bool has_constructor() const; + void clear_constructor() ; + const ::pg_query::JsonAggConstructor& constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_constructor(); + ::pg_query::JsonAggConstructor* mutable_constructor(); + void set_allocated_constructor(::pg_query::JsonAggConstructor* value); + void unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value); + ::pg_query::JsonAggConstructor* unsafe_arena_release_constructor(); + private: - const ::pg_query::Node& _internal_func_options(int index) const; - ::pg_query::Node* _internal_add_func_options(); + const ::pg_query::JsonAggConstructor& _internal_constructor() const; + ::pg_query::JsonAggConstructor* _internal_mutable_constructor(); + public: - const ::pg_query::Node& func_options(int index) const; - ::pg_query::Node* add_func_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - func_options() const; + // .pg_query.JsonKeyValue arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::JsonKeyValue& arg() const; + PROTOBUF_NODISCARD ::pg_query::JsonKeyValue* release_arg(); + ::pg_query::JsonKeyValue* mutable_arg(); + void set_allocated_arg(::pg_query::JsonKeyValue* value); + void unsafe_arena_set_allocated_arg(::pg_query::JsonKeyValue* value); + ::pg_query::JsonKeyValue* unsafe_arena_release_arg(); - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + const ::pg_query::JsonKeyValue& _internal_arg() const; + ::pg_query::JsonKeyValue* _internal_mutable_arg(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // bool absent_on_null = 3 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // bool unique = 4 [json_name = "unique"]; + void clear_unique() ; + bool unique() const; + void set_unique(bool value); - // string fdwname = 1 [json_name = "fdwname"]; - void clear_fdwname(); - const std::string& fdwname() const; - template - void set_fdwname(ArgT0&& arg0, ArgT... args); - std::string* mutable_fdwname(); - PROTOBUF_NODISCARD std::string* release_fdwname(); - void set_allocated_fdwname(std::string* fdwname); private: - const std::string& _internal_fdwname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname(const std::string& value); - std::string* _internal_mutable_fdwname(); - public: + bool _internal_unique() const; + void _internal_set_unique(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateFdwStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonObjectAgg) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > func_options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fdwname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonAggConstructor* constructor_; + ::pg_query::JsonKeyValue* arg_; + bool absent_on_null_; + bool unique_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterFdwStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterFdwStmt) */ { +class JsonObjectConstructor final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonObjectConstructor) */ { public: - inline AlterFdwStmt() : AlterFdwStmt(nullptr) {} - ~AlterFdwStmt() override; - explicit PROTOBUF_CONSTEXPR AlterFdwStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterFdwStmt(const AlterFdwStmt& from); - AlterFdwStmt(AlterFdwStmt&& from) noexcept - : AlterFdwStmt() { + inline JsonObjectConstructor() : JsonObjectConstructor(nullptr) {} + ~JsonObjectConstructor() override; + template + explicit PROTOBUF_CONSTEXPR JsonObjectConstructor(::google::protobuf::internal::ConstantInitialized); + + inline JsonObjectConstructor(const JsonObjectConstructor& from) + : JsonObjectConstructor(nullptr, from) {} + JsonObjectConstructor(JsonObjectConstructor&& from) noexcept + : JsonObjectConstructor() { *this = ::std::move(from); } - inline AlterFdwStmt& operator=(const AlterFdwStmt& from) { + inline JsonObjectConstructor& operator=(const JsonObjectConstructor& from) { CopyFrom(from); return *this; } - inline AlterFdwStmt& operator=(AlterFdwStmt&& from) noexcept { + inline JsonObjectConstructor& operator=(JsonObjectConstructor&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -41436,190 +46128,234 @@ class AlterFdwStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterFdwStmt& default_instance() { + static const JsonObjectConstructor& default_instance() { return *internal_default_instance(); } - static inline const AlterFdwStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterFdwStmt_default_instance_); + static inline const JsonObjectConstructor* internal_default_instance() { + return reinterpret_cast( + &_JsonObjectConstructor_default_instance_); } static constexpr int kIndexInFileMessages = - 150; + 136; - friend void swap(AlterFdwStmt& a, AlterFdwStmt& b) { + friend void swap(JsonObjectConstructor& a, JsonObjectConstructor& b) { a.Swap(&b); } - inline void Swap(AlterFdwStmt* other) { + inline void Swap(JsonObjectConstructor* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterFdwStmt* other) { + void UnsafeArenaSwap(JsonObjectConstructor* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterFdwStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonObjectConstructor* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterFdwStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterFdwStmt& from) { - AlterFdwStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonObjectConstructor& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonObjectConstructor& from) { + JsonObjectConstructor::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterFdwStmt* other); + void InternalSwap(JsonObjectConstructor* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterFdwStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonObjectConstructor"; } protected: - explicit AlterFdwStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonObjectConstructor(::google::protobuf::Arena* arena); + JsonObjectConstructor(::google::protobuf::Arena* arena, const JsonObjectConstructor& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFuncOptionsFieldNumber = 2, - kOptionsFieldNumber = 3, - kFdwnameFieldNumber = 1, + kExprsFieldNumber = 1, + kOutputFieldNumber = 2, + kAbsentOnNullFieldNumber = 3, + kUniqueFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; - int func_options_size() const; + // repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; + int exprs_size() const; private: - int _internal_func_options_size() const; + int _internal_exprs_size() const; + public: - void clear_func_options(); - ::pg_query::Node* mutable_func_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_func_options(); + void clear_exprs() ; + ::pg_query::Node* mutable_exprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_exprs(); private: - const ::pg_query::Node& _internal_func_options(int index) const; - ::pg_query::Node* _internal_add_func_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_exprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_exprs(); public: - const ::pg_query::Node& func_options(int index) const; - ::pg_query::Node* add_func_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - func_options() const; + const ::pg_query::Node& exprs(int index) const; + ::pg_query::Node* add_exprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + exprs() const; + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // bool absent_on_null = 3 [json_name = "absent_on_null"]; + void clear_absent_on_null() ; + bool absent_on_null() const; + void set_absent_on_null(bool value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + bool _internal_absent_on_null() const; + void _internal_set_absent_on_null(bool value); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // bool unique = 4 [json_name = "unique"]; + void clear_unique() ; + bool unique() const; + void set_unique(bool value); - // string fdwname = 1 [json_name = "fdwname"]; - void clear_fdwname(); - const std::string& fdwname() const; - template - void set_fdwname(ArgT0&& arg0, ArgT... args); - std::string* mutable_fdwname(); - PROTOBUF_NODISCARD std::string* release_fdwname(); - void set_allocated_fdwname(std::string* fdwname); private: - const std::string& _internal_fdwname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname(const std::string& value); - std::string* _internal_mutable_fdwname(); + bool _internal_unique() const; + void _internal_set_unique(bool value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterFdwStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonObjectConstructor) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > func_options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fdwname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > exprs_; + ::pg_query::JsonOutput* output_; + bool absent_on_null_; + bool unique_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateForeignServerStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateForeignServerStmt) */ { +class JsonOutput final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonOutput) */ { public: - inline CreateForeignServerStmt() : CreateForeignServerStmt(nullptr) {} - ~CreateForeignServerStmt() override; - explicit PROTOBUF_CONSTEXPR CreateForeignServerStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateForeignServerStmt(const CreateForeignServerStmt& from); - CreateForeignServerStmt(CreateForeignServerStmt&& from) noexcept - : CreateForeignServerStmt() { + inline JsonOutput() : JsonOutput(nullptr) {} + ~JsonOutput() override; + template + explicit PROTOBUF_CONSTEXPR JsonOutput(::google::protobuf::internal::ConstantInitialized); + + inline JsonOutput(const JsonOutput& from) + : JsonOutput(nullptr, from) {} + JsonOutput(JsonOutput&& from) noexcept + : JsonOutput() { *this = ::std::move(from); } - inline CreateForeignServerStmt& operator=(const CreateForeignServerStmt& from) { + inline JsonOutput& operator=(const JsonOutput& from) { CopyFrom(from); return *this; } - inline CreateForeignServerStmt& operator=(CreateForeignServerStmt&& from) noexcept { + inline JsonOutput& operator=(JsonOutput&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -41629,229 +46365,195 @@ class CreateForeignServerStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateForeignServerStmt& default_instance() { + static const JsonOutput& default_instance() { return *internal_default_instance(); } - static inline const CreateForeignServerStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateForeignServerStmt_default_instance_); + static inline const JsonOutput* internal_default_instance() { + return reinterpret_cast( + &_JsonOutput_default_instance_); } static constexpr int kIndexInFileMessages = - 151; + 126; - friend void swap(CreateForeignServerStmt& a, CreateForeignServerStmt& b) { + friend void swap(JsonOutput& a, JsonOutput& b) { a.Swap(&b); } - inline void Swap(CreateForeignServerStmt* other) { + inline void Swap(JsonOutput* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateForeignServerStmt* other) { + void UnsafeArenaSwap(JsonOutput* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateForeignServerStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonOutput* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateForeignServerStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateForeignServerStmt& from) { - CreateForeignServerStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonOutput& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonOutput& from) { + JsonOutput::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateForeignServerStmt* other); + void InternalSwap(JsonOutput* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateForeignServerStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonOutput"; } protected: - explicit CreateForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonOutput(::google::protobuf::Arena* arena); + JsonOutput(::google::protobuf::Arena* arena, const JsonOutput& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 6, - kServernameFieldNumber = 1, - kServertypeFieldNumber = 2, - kVersionFieldNumber = 3, - kFdwnameFieldNumber = 4, - kIfNotExistsFieldNumber = 5, + kTypeNameFieldNumber = 1, + kReturningFieldNumber = 2, }; - // repeated .pg_query.Node options = 6 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; - - // string servername = 1 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); - private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); - public: + // .pg_query.TypeName type_name = 1 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); - // string servertype = 2 [json_name = "servertype"]; - void clear_servertype(); - const std::string& servertype() const; - template - void set_servertype(ArgT0&& arg0, ArgT... args); - std::string* mutable_servertype(); - PROTOBUF_NODISCARD std::string* release_servertype(); - void set_allocated_servertype(std::string* servertype); private: - const std::string& _internal_servertype() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servertype(const std::string& value); - std::string* _internal_mutable_servertype(); - public: + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); - // string version = 3 [json_name = "version"]; - void clear_version(); - const std::string& version() const; - template - void set_version(ArgT0&& arg0, ArgT... args); - std::string* mutable_version(); - PROTOBUF_NODISCARD std::string* release_version(); - void set_allocated_version(std::string* version); - private: - const std::string& _internal_version() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value); - std::string* _internal_mutable_version(); public: + // .pg_query.JsonReturning returning = 2 [json_name = "returning"]; + bool has_returning() const; + void clear_returning() ; + const ::pg_query::JsonReturning& returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_returning(); + ::pg_query::JsonReturning* mutable_returning(); + void set_allocated_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_returning(); - // string fdwname = 4 [json_name = "fdwname"]; - void clear_fdwname(); - const std::string& fdwname() const; - template - void set_fdwname(ArgT0&& arg0, ArgT... args); - std::string* mutable_fdwname(); - PROTOBUF_NODISCARD std::string* release_fdwname(); - void set_allocated_fdwname(std::string* fdwname); private: - const std::string& _internal_fdwname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fdwname(const std::string& value); - std::string* _internal_mutable_fdwname(); - public: + const ::pg_query::JsonReturning& _internal_returning() const; + ::pg_query::JsonReturning* _internal_mutable_returning(); - // bool if_not_exists = 5 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); - private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateForeignServerStmt) + // @@protoc_insertion_point(class_scope:pg_query.JsonOutput) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servertype_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fdwname_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::TypeName* type_name_; + ::pg_query::JsonReturning* returning_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterForeignServerStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterForeignServerStmt) */ { +class JsonParseExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonParseExpr) */ { public: - inline AlterForeignServerStmt() : AlterForeignServerStmt(nullptr) {} - ~AlterForeignServerStmt() override; - explicit PROTOBUF_CONSTEXPR AlterForeignServerStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterForeignServerStmt(const AlterForeignServerStmt& from); - AlterForeignServerStmt(AlterForeignServerStmt&& from) noexcept - : AlterForeignServerStmt() { + inline JsonParseExpr() : JsonParseExpr(nullptr) {} + ~JsonParseExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonParseExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonParseExpr(const JsonParseExpr& from) + : JsonParseExpr(nullptr, from) {} + JsonParseExpr(JsonParseExpr&& from) noexcept + : JsonParseExpr() { *this = ::std::move(from); } - inline AlterForeignServerStmt& operator=(const AlterForeignServerStmt& from) { + inline JsonParseExpr& operator=(const JsonParseExpr& from) { CopyFrom(from); return *this; } - inline AlterForeignServerStmt& operator=(AlterForeignServerStmt&& from) noexcept { + inline JsonParseExpr& operator=(JsonParseExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -41861,197 +46563,219 @@ class AlterForeignServerStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterForeignServerStmt& default_instance() { + static const JsonParseExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterForeignServerStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterForeignServerStmt_default_instance_); + static inline const JsonParseExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonParseExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 152; + 133; - friend void swap(AlterForeignServerStmt& a, AlterForeignServerStmt& b) { + friend void swap(JsonParseExpr& a, JsonParseExpr& b) { a.Swap(&b); } - inline void Swap(AlterForeignServerStmt* other) { + inline void Swap(JsonParseExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterForeignServerStmt* other) { + void UnsafeArenaSwap(JsonParseExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterForeignServerStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonParseExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterForeignServerStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterForeignServerStmt& from) { - AlterForeignServerStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonParseExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonParseExpr& from) { + JsonParseExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterForeignServerStmt* other); + void InternalSwap(JsonParseExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterForeignServerStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonParseExpr"; } protected: - explicit AlterForeignServerStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonParseExpr(::google::protobuf::Arena* arena); + JsonParseExpr(::google::protobuf::Arena* arena, const JsonParseExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 3, - kServernameFieldNumber = 1, - kVersionFieldNumber = 2, - kHasVersionFieldNumber = 4, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kUniqueKeysFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::JsonValueExpr& expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_expr(); + ::pg_query::JsonValueExpr* mutable_expr(); + void set_allocated_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_expr(); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::pg_query::JsonValueExpr& _internal_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_expr(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // string servername = 1 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: + // bool unique_keys = 3 [json_name = "unique_keys"]; + void clear_unique_keys() ; + bool unique_keys() const; + void set_unique_keys(bool value); - // string version = 2 [json_name = "version"]; - void clear_version(); - const std::string& version() const; - template - void set_version(ArgT0&& arg0, ArgT... args); - std::string* mutable_version(); - PROTOBUF_NODISCARD std::string* release_version(); - void set_allocated_version(std::string* version); private: - const std::string& _internal_version() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_version(const std::string& value); - std::string* _internal_mutable_version(); + bool _internal_unique_keys() const; + void _internal_set_unique_keys(bool value); + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool has_version = 4 [json_name = "has_version"]; - void clear_has_version(); - bool has_version() const; - void set_has_version(bool value); private: - bool _internal_has_version() const; - void _internal_set_has_version(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterForeignServerStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonParseExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_; - bool has_version_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonValueExpr* expr_; + ::pg_query::JsonOutput* output_; + bool unique_keys_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateUserMappingStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateUserMappingStmt) */ { +class JsonScalarExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonScalarExpr) */ { public: - inline CreateUserMappingStmt() : CreateUserMappingStmt(nullptr) {} - ~CreateUserMappingStmt() override; - explicit PROTOBUF_CONSTEXPR CreateUserMappingStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateUserMappingStmt(const CreateUserMappingStmt& from); - CreateUserMappingStmt(CreateUserMappingStmt&& from) noexcept - : CreateUserMappingStmt() { + inline JsonScalarExpr() : JsonScalarExpr(nullptr) {} + ~JsonScalarExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonScalarExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonScalarExpr(const JsonScalarExpr& from) + : JsonScalarExpr(nullptr, from) {} + JsonScalarExpr(JsonScalarExpr&& from) noexcept + : JsonScalarExpr() { *this = ::std::move(from); } - inline CreateUserMappingStmt& operator=(const CreateUserMappingStmt& from) { + inline JsonScalarExpr& operator=(const JsonScalarExpr& from) { CopyFrom(from); return *this; } - inline CreateUserMappingStmt& operator=(CreateUserMappingStmt&& from) noexcept { + inline JsonScalarExpr& operator=(JsonScalarExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -42061,201 +46785,207 @@ class CreateUserMappingStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateUserMappingStmt& default_instance() { + static const JsonScalarExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateUserMappingStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateUserMappingStmt_default_instance_); + static inline const JsonScalarExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonScalarExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 153; + 134; - friend void swap(CreateUserMappingStmt& a, CreateUserMappingStmt& b) { + friend void swap(JsonScalarExpr& a, JsonScalarExpr& b) { a.Swap(&b); } - inline void Swap(CreateUserMappingStmt* other) { + inline void Swap(JsonScalarExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateUserMappingStmt* other) { + void UnsafeArenaSwap(JsonScalarExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateUserMappingStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonScalarExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateUserMappingStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateUserMappingStmt& from) { - CreateUserMappingStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonScalarExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonScalarExpr& from) { + JsonScalarExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateUserMappingStmt* other); + void InternalSwap(JsonScalarExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateUserMappingStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonScalarExpr"; } protected: - explicit CreateUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonScalarExpr(::google::protobuf::Arena* arena); + JsonScalarExpr(::google::protobuf::Arena* arena, const JsonScalarExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 4, - kServernameFieldNumber = 2, - kUserFieldNumber = 1, - kIfNotExistsFieldNumber = 3, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node options = 4 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.Node expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // string servername = 2 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); - public: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); - // .pg_query.RoleSpec user = 1 [json_name = "user"]; - bool has_user() const; - private: - bool _internal_has_user() const; public: - void clear_user(); - const ::pg_query::RoleSpec& user() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); - ::pg_query::RoleSpec* mutable_user(); - void set_allocated_user(::pg_query::RoleSpec* user); + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); + private: - const ::pg_query::RoleSpec& _internal_user() const; - ::pg_query::RoleSpec* _internal_mutable_user(); + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - void unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user); - ::pg_query::RoleSpec* unsafe_arena_release_user(); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool if_not_exists = 3 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateUserMappingStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonScalarExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::pg_query::RoleSpec* user_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + ::pg_query::JsonOutput* output_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterUserMappingStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterUserMappingStmt) */ { +class JsonSerializeExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonSerializeExpr) */ { public: - inline AlterUserMappingStmt() : AlterUserMappingStmt(nullptr) {} - ~AlterUserMappingStmt() override; - explicit PROTOBUF_CONSTEXPR AlterUserMappingStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterUserMappingStmt(const AlterUserMappingStmt& from); - AlterUserMappingStmt(AlterUserMappingStmt&& from) noexcept - : AlterUserMappingStmt() { + inline JsonSerializeExpr() : JsonSerializeExpr(nullptr) {} + ~JsonSerializeExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonSerializeExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonSerializeExpr(const JsonSerializeExpr& from) + : JsonSerializeExpr(nullptr, from) {} + JsonSerializeExpr(JsonSerializeExpr&& from) noexcept + : JsonSerializeExpr() { *this = ::std::move(from); } - inline AlterUserMappingStmt& operator=(const AlterUserMappingStmt& from) { + inline JsonSerializeExpr& operator=(const JsonSerializeExpr& from) { CopyFrom(from); return *this; } - inline AlterUserMappingStmt& operator=(AlterUserMappingStmt&& from) noexcept { + inline JsonSerializeExpr& operator=(JsonSerializeExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -42265,190 +46995,207 @@ class AlterUserMappingStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterUserMappingStmt& default_instance() { + static const JsonSerializeExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterUserMappingStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterUserMappingStmt_default_instance_); + static inline const JsonSerializeExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonSerializeExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 154; + 135; - friend void swap(AlterUserMappingStmt& a, AlterUserMappingStmt& b) { + friend void swap(JsonSerializeExpr& a, JsonSerializeExpr& b) { a.Swap(&b); } - inline void Swap(AlterUserMappingStmt* other) { + inline void Swap(JsonSerializeExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterUserMappingStmt* other) { + void UnsafeArenaSwap(JsonSerializeExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterUserMappingStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonSerializeExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterUserMappingStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterUserMappingStmt& from) { - AlterUserMappingStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonSerializeExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonSerializeExpr& from) { + JsonSerializeExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterUserMappingStmt* other); + void InternalSwap(JsonSerializeExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterUserMappingStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonSerializeExpr"; } protected: - explicit AlterUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonSerializeExpr(::google::protobuf::Arena* arena); + JsonSerializeExpr(::google::protobuf::Arena* arena, const JsonSerializeExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 3, - kServernameFieldNumber = 2, - kUserFieldNumber = 1, + kExprFieldNumber = 1, + kOutputFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::JsonValueExpr& expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_expr(); + ::pg_query::JsonValueExpr* mutable_expr(); + void set_allocated_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_expr(); - // string servername = 2 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); + const ::pg_query::JsonValueExpr& _internal_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_expr(); + public: + // .pg_query.JsonOutput output = 2 [json_name = "output"]; + bool has_output() const; + void clear_output() ; + const ::pg_query::JsonOutput& output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_output(); + ::pg_query::JsonOutput* mutable_output(); + void set_allocated_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_output(); - // .pg_query.RoleSpec user = 1 [json_name = "user"]; - bool has_user() const; private: - bool _internal_has_user() const; + const ::pg_query::JsonOutput& _internal_output() const; + ::pg_query::JsonOutput* _internal_mutable_output(); + public: - void clear_user(); - const ::pg_query::RoleSpec& user() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); - ::pg_query::RoleSpec* mutable_user(); - void set_allocated_user(::pg_query::RoleSpec* user); + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::pg_query::RoleSpec& _internal_user() const; - ::pg_query::RoleSpec* _internal_mutable_user(); - public: - void unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user); - ::pg_query::RoleSpec* unsafe_arena_release_user(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterUserMappingStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonSerializeExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::pg_query::RoleSpec* user_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::JsonValueExpr* expr_; + ::pg_query::JsonOutput* output_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropUserMappingStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropUserMappingStmt) */ { +class JsonTable final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTable) */ { public: - inline DropUserMappingStmt() : DropUserMappingStmt(nullptr) {} - ~DropUserMappingStmt() override; - explicit PROTOBUF_CONSTEXPR DropUserMappingStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - DropUserMappingStmt(const DropUserMappingStmt& from); - DropUserMappingStmt(DropUserMappingStmt&& from) noexcept - : DropUserMappingStmt() { + inline JsonTable() : JsonTable(nullptr) {} + ~JsonTable() override; + template + explicit PROTOBUF_CONSTEXPR JsonTable(::google::protobuf::internal::ConstantInitialized); + + inline JsonTable(const JsonTable& from) + : JsonTable(nullptr, from) {} + JsonTable(JsonTable&& from) noexcept + : JsonTable() { *this = ::std::move(from); } - inline DropUserMappingStmt& operator=(const DropUserMappingStmt& from) { + inline JsonTable& operator=(const JsonTable& from) { CopyFrom(from); return *this; } - inline DropUserMappingStmt& operator=(DropUserMappingStmt&& from) noexcept { + inline JsonTable& operator=(JsonTable&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -42458,181 +47205,293 @@ class DropUserMappingStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropUserMappingStmt& default_instance() { + static const JsonTable& default_instance() { return *internal_default_instance(); } - static inline const DropUserMappingStmt* internal_default_instance() { - return reinterpret_cast( - &_DropUserMappingStmt_default_instance_); + static inline const JsonTable* internal_default_instance() { + return reinterpret_cast( + &_JsonTable_default_instance_); } static constexpr int kIndexInFileMessages = - 155; + 130; - friend void swap(DropUserMappingStmt& a, DropUserMappingStmt& b) { + friend void swap(JsonTable& a, JsonTable& b) { a.Swap(&b); } - inline void Swap(DropUserMappingStmt* other) { + inline void Swap(JsonTable* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropUserMappingStmt* other) { + void UnsafeArenaSwap(JsonTable* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropUserMappingStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTable* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropUserMappingStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropUserMappingStmt& from) { - DropUserMappingStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTable& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTable& from) { + JsonTable::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropUserMappingStmt* other); + void InternalSwap(JsonTable* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropUserMappingStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTable"; } protected: - explicit DropUserMappingStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonTable(::google::protobuf::Arena* arena); + JsonTable(::google::protobuf::Arena* arena, const JsonTable& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kServernameFieldNumber = 2, - kUserFieldNumber = 1, - kMissingOkFieldNumber = 3, + kPassingFieldNumber = 3, + kColumnsFieldNumber = 4, + kContextItemFieldNumber = 1, + kPathspecFieldNumber = 2, + kOnErrorFieldNumber = 5, + kAliasFieldNumber = 6, + kLateralFieldNumber = 7, + kLocationFieldNumber = 8, }; - // string servername = 2 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); + // repeated .pg_query.Node passing = 3 [json_name = "passing"]; + int passing_size() const; private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); + int _internal_passing_size() const; + + public: + void clear_passing() ; + ::pg_query::Node* mutable_passing(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passing(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passing() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passing(); public: + const ::pg_query::Node& passing(int index) const; + ::pg_query::Node* add_passing(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passing() const; + // repeated .pg_query.Node columns = 4 [json_name = "columns"]; + int columns_size() const; + private: + int _internal_columns_size() const; - // .pg_query.RoleSpec user = 1 [json_name = "user"]; - bool has_user() const; + public: + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); private: - bool _internal_has_user() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - void clear_user(); - const ::pg_query::RoleSpec& user() const; - PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_user(); - ::pg_query::RoleSpec* mutable_user(); - void set_allocated_user(::pg_query::RoleSpec* user); + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"]; + bool has_context_item() const; + void clear_context_item() ; + const ::pg_query::JsonValueExpr& context_item() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_context_item(); + ::pg_query::JsonValueExpr* mutable_context_item(); + void set_allocated_context_item(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_context_item(); + private: - const ::pg_query::RoleSpec& _internal_user() const; - ::pg_query::RoleSpec* _internal_mutable_user(); + const ::pg_query::JsonValueExpr& _internal_context_item() const; + ::pg_query::JsonValueExpr* _internal_mutable_context_item(); + public: - void unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user); - ::pg_query::RoleSpec* unsafe_arena_release_user(); + // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::JsonTablePathSpec& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_pathspec(); + ::pg_query::JsonTablePathSpec* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_pathspec(); - // bool missing_ok = 3 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + const ::pg_query::JsonTablePathSpec& _internal_pathspec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_pathspec(); + public: + // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); - // @@protoc_insertion_point(class_scope:pg_query.DropUserMappingStmt) + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + + public: + // bool lateral = 7 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); + + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTable) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::pg_query::RoleSpec* user_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passing_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::JsonValueExpr* context_item_; + ::pg_query::JsonTablePathSpec* pathspec_; + ::pg_query::JsonBehavior* on_error_; + ::pg_query::Alias* alias_; + bool lateral_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTableSpaceOptionsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableSpaceOptionsStmt) */ { +class JsonTableColumn final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTableColumn) */ { public: - inline AlterTableSpaceOptionsStmt() : AlterTableSpaceOptionsStmt(nullptr) {} - ~AlterTableSpaceOptionsStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt& from); - AlterTableSpaceOptionsStmt(AlterTableSpaceOptionsStmt&& from) noexcept - : AlterTableSpaceOptionsStmt() { + inline JsonTableColumn() : JsonTableColumn(nullptr) {} + ~JsonTableColumn() override; + template + explicit PROTOBUF_CONSTEXPR JsonTableColumn(::google::protobuf::internal::ConstantInitialized); + + inline JsonTableColumn(const JsonTableColumn& from) + : JsonTableColumn(nullptr, from) {} + JsonTableColumn(JsonTableColumn&& from) noexcept + : JsonTableColumn() { *this = ::std::move(from); } - inline AlterTableSpaceOptionsStmt& operator=(const AlterTableSpaceOptionsStmt& from) { + inline JsonTableColumn& operator=(const JsonTableColumn& from) { CopyFrom(from); return *this; } - inline AlterTableSpaceOptionsStmt& operator=(AlterTableSpaceOptionsStmt&& from) noexcept { + inline JsonTableColumn& operator=(JsonTableColumn&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -42642,181 +47501,332 @@ class AlterTableSpaceOptionsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTableSpaceOptionsStmt& default_instance() { + static const JsonTableColumn& default_instance() { return *internal_default_instance(); } - static inline const AlterTableSpaceOptionsStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTableSpaceOptionsStmt_default_instance_); + static inline const JsonTableColumn* internal_default_instance() { + return reinterpret_cast( + &_JsonTableColumn_default_instance_); } static constexpr int kIndexInFileMessages = - 156; + 131; - friend void swap(AlterTableSpaceOptionsStmt& a, AlterTableSpaceOptionsStmt& b) { + friend void swap(JsonTableColumn& a, JsonTableColumn& b) { a.Swap(&b); } - inline void Swap(AlterTableSpaceOptionsStmt* other) { + inline void Swap(JsonTableColumn* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTableSpaceOptionsStmt* other) { + void UnsafeArenaSwap(JsonTableColumn* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTableSpaceOptionsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTableColumn* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTableSpaceOptionsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTableSpaceOptionsStmt& from) { - AlterTableSpaceOptionsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTableColumn& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTableColumn& from) { + JsonTableColumn::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTableSpaceOptionsStmt* other); + void InternalSwap(JsonTableColumn* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTableSpaceOptionsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTableColumn"; } protected: - explicit AlterTableSpaceOptionsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonTableColumn(::google::protobuf::Arena* arena); + JsonTableColumn(::google::protobuf::Arena* arena, const JsonTableColumn& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kTablespacenameFieldNumber = 1, - kIsResetFieldNumber = 3, + kColumnsFieldNumber = 8, + kNameFieldNumber = 2, + kTypeNameFieldNumber = 3, + kPathspecFieldNumber = 4, + kFormatFieldNumber = 5, + kOnEmptyFieldNumber = 9, + kOnErrorFieldNumber = 10, + kColtypeFieldNumber = 1, + kWrapperFieldNumber = 6, + kQuotesFieldNumber = 7, + kLocationFieldNumber = 11, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node columns = 8 [json_name = "columns"]; + int columns_size() const; private: - int _internal_options_size() const; + int _internal_columns_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string tablespacename = 1 [json_name = "tablespacename"]; - void clear_tablespacename(); - const std::string& tablespacename() const; - template - void set_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_tablespacename(); - PROTOBUF_NODISCARD std::string* release_tablespacename(); - void set_allocated_tablespacename(std::string* tablespacename); private: - const std::string& _internal_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_tablespacename(const std::string& value); - std::string* _internal_mutable_tablespacename(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + + private: + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: + // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"]; + bool has_pathspec() const; + void clear_pathspec() ; + const ::pg_query::JsonTablePathSpec& pathspec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_pathspec(); + ::pg_query::JsonTablePathSpec* mutable_pathspec(); + void set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_pathspec(); - // bool is_reset = 3 [json_name = "isReset"]; - void clear_is_reset(); - bool is_reset() const; - void set_is_reset(bool value); private: - bool _internal_is_reset() const; - void _internal_set_is_reset(bool value); + const ::pg_query::JsonTablePathSpec& _internal_pathspec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_pathspec(); + public: + // .pg_query.JsonFormat format = 5 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); - // @@protoc_insertion_point(class_scope:pg_query.AlterTableSpaceOptionsStmt) + private: + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + + public: + // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"]; + bool has_on_empty() const; + void clear_on_empty() ; + const ::pg_query::JsonBehavior& on_empty() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_empty(); + ::pg_query::JsonBehavior* mutable_on_empty(); + void set_allocated_on_empty(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_empty(); + + private: + const ::pg_query::JsonBehavior& _internal_on_empty() const; + ::pg_query::JsonBehavior* _internal_mutable_on_empty(); + + public: + // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"]; + bool has_on_error() const; + void clear_on_error() ; + const ::pg_query::JsonBehavior& on_error() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_on_error(); + ::pg_query::JsonBehavior* mutable_on_error(); + void set_allocated_on_error(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_on_error(); + + private: + const ::pg_query::JsonBehavior& _internal_on_error() const; + ::pg_query::JsonBehavior* _internal_mutable_on_error(); + + public: + // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"]; + void clear_coltype() ; + ::pg_query::JsonTableColumnType coltype() const; + void set_coltype(::pg_query::JsonTableColumnType value); + + private: + ::pg_query::JsonTableColumnType _internal_coltype() const; + void _internal_set_coltype(::pg_query::JsonTableColumnType value); + + public: + // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"]; + void clear_wrapper() ; + ::pg_query::JsonWrapper wrapper() const; + void set_wrapper(::pg_query::JsonWrapper value); + + private: + ::pg_query::JsonWrapper _internal_wrapper() const; + void _internal_set_wrapper(::pg_query::JsonWrapper value); + + public: + // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"]; + void clear_quotes() ; + ::pg_query::JsonQuotes quotes() const; + void set_quotes(::pg_query::JsonQuotes value); + + private: + ::pg_query::JsonQuotes _internal_quotes() const; + void _internal_set_quotes(::pg_query::JsonQuotes value); + + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTableColumn) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 6, + 45, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tablespacename_; - bool is_reset_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::TypeName* type_name_; + ::pg_query::JsonTablePathSpec* pathspec_; + ::pg_query::JsonFormat* format_; + ::pg_query::JsonBehavior* on_empty_; + ::pg_query::JsonBehavior* on_error_; + int coltype_; + int wrapper_; + int quotes_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterTableMoveAllStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterTableMoveAllStmt) */ { +class JsonTablePathScan final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePathScan) */ { public: - inline AlterTableMoveAllStmt() : AlterTableMoveAllStmt(nullptr) {} - ~AlterTableMoveAllStmt() override; - explicit PROTOBUF_CONSTEXPR AlterTableMoveAllStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlterTableMoveAllStmt(const AlterTableMoveAllStmt& from); - AlterTableMoveAllStmt(AlterTableMoveAllStmt&& from) noexcept - : AlterTableMoveAllStmt() { + inline JsonTablePathScan() : JsonTablePathScan(nullptr) {} + ~JsonTablePathScan() override; + template + explicit PROTOBUF_CONSTEXPR JsonTablePathScan(::google::protobuf::internal::ConstantInitialized); + + inline JsonTablePathScan(const JsonTablePathScan& from) + : JsonTablePathScan(nullptr, from) {} + JsonTablePathScan(JsonTablePathScan&& from) noexcept + : JsonTablePathScan() { *this = ::std::move(from); } - inline AlterTableMoveAllStmt& operator=(const AlterTableMoveAllStmt& from) { + inline JsonTablePathScan& operator=(const JsonTablePathScan& from) { CopyFrom(from); return *this; } - inline AlterTableMoveAllStmt& operator=(AlterTableMoveAllStmt&& from) noexcept { + inline JsonTablePathScan& operator=(JsonTablePathScan&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -42826,208 +47836,248 @@ class AlterTableMoveAllStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterTableMoveAllStmt& default_instance() { + static const JsonTablePathScan& default_instance() { return *internal_default_instance(); } - static inline const AlterTableMoveAllStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterTableMoveAllStmt_default_instance_); + static inline const JsonTablePathScan* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePathScan_default_instance_); } static constexpr int kIndexInFileMessages = - 157; + 59; - friend void swap(AlterTableMoveAllStmt& a, AlterTableMoveAllStmt& b) { + friend void swap(JsonTablePathScan& a, JsonTablePathScan& b) { a.Swap(&b); } - inline void Swap(AlterTableMoveAllStmt* other) { + inline void Swap(JsonTablePathScan* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterTableMoveAllStmt* other) { + void UnsafeArenaSwap(JsonTablePathScan* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterTableMoveAllStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTablePathScan* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterTableMoveAllStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterTableMoveAllStmt& from) { - AlterTableMoveAllStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTablePathScan& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTablePathScan& from) { + JsonTablePathScan::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterTableMoveAllStmt* other); + void InternalSwap(JsonTablePathScan* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterTableMoveAllStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTablePathScan"; } protected: - explicit AlterTableMoveAllStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonTablePathScan(::google::protobuf::Arena* arena); + JsonTablePathScan(::google::protobuf::Arena* arena, const JsonTablePathScan& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 3, - kOrigTablespacenameFieldNumber = 1, - kNewTablespacenameFieldNumber = 4, - kObjtypeFieldNumber = 2, - kNowaitFieldNumber = 5, + kPlanFieldNumber = 1, + kPathFieldNumber = 2, + kChildFieldNumber = 4, + kErrorOnErrorFieldNumber = 3, + kColMinFieldNumber = 5, + kColMaxFieldNumber = 6, }; - // repeated .pg_query.Node roles = 3 [json_name = "roles"]; - int roles_size() const; + // .pg_query.Node plan = 1 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); + private: - int _internal_roles_size() const; + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + // .pg_query.JsonTablePath path = 2 [json_name = "path"]; + bool has_path() const; + void clear_path() ; + const ::pg_query::JsonTablePath& path() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePath* release_path(); + ::pg_query::JsonTablePath* mutable_path(); + void set_allocated_path(::pg_query::JsonTablePath* value); + void unsafe_arena_set_allocated_path(::pg_query::JsonTablePath* value); + ::pg_query::JsonTablePath* unsafe_arena_release_path(); + private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::pg_query::JsonTablePath& _internal_path() const; + ::pg_query::JsonTablePath* _internal_mutable_path(); + public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + // .pg_query.Node child = 4 [json_name = "child"]; + bool has_child() const; + void clear_child() ; + const ::pg_query::Node& child() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_child(); + ::pg_query::Node* mutable_child(); + void set_allocated_child(::pg_query::Node* value); + void unsafe_arena_set_allocated_child(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_child(); - // string orig_tablespacename = 1 [json_name = "orig_tablespacename"]; - void clear_orig_tablespacename(); - const std::string& orig_tablespacename() const; - template - void set_orig_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_orig_tablespacename(); - PROTOBUF_NODISCARD std::string* release_orig_tablespacename(); - void set_allocated_orig_tablespacename(std::string* orig_tablespacename); private: - const std::string& _internal_orig_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_orig_tablespacename(const std::string& value); - std::string* _internal_mutable_orig_tablespacename(); + const ::pg_query::Node& _internal_child() const; + ::pg_query::Node* _internal_mutable_child(); + public: + // bool error_on_error = 3 [json_name = "errorOnError"]; + void clear_error_on_error() ; + bool error_on_error() const; + void set_error_on_error(bool value); - // string new_tablespacename = 4 [json_name = "new_tablespacename"]; - void clear_new_tablespacename(); - const std::string& new_tablespacename() const; - template - void set_new_tablespacename(ArgT0&& arg0, ArgT... args); - std::string* mutable_new_tablespacename(); - PROTOBUF_NODISCARD std::string* release_new_tablespacename(); - void set_allocated_new_tablespacename(std::string* new_tablespacename); private: - const std::string& _internal_new_tablespacename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_new_tablespacename(const std::string& value); - std::string* _internal_mutable_new_tablespacename(); + bool _internal_error_on_error() const; + void _internal_set_error_on_error(bool value); + public: + // int32 col_min = 5 [json_name = "colMin"]; + void clear_col_min() ; + ::int32_t col_min() const; + void set_col_min(::int32_t value); - // .pg_query.ObjectType objtype = 2 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + ::int32_t _internal_col_min() const; + void _internal_set_col_min(::int32_t value); + public: + // int32 col_max = 6 [json_name = "colMax"]; + void clear_col_max() ; + ::int32_t col_max() const; + void set_col_max(::int32_t value); - // bool nowait = 5 [json_name = "nowait"]; - void clear_nowait(); - bool nowait() const; - void set_nowait(bool value); private: - bool _internal_nowait() const; - void _internal_set_nowait(bool value); - public: + ::int32_t _internal_col_max() const; + void _internal_set_col_max(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterTableMoveAllStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePathScan) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr orig_tablespacename_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr new_tablespacename_; - int objtype_; - bool nowait_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* plan_; + ::pg_query::JsonTablePath* path_; + ::pg_query::Node* child_; + bool error_on_error_; + ::int32_t col_min_; + ::int32_t col_max_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SecLabelStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SecLabelStmt) */ { +class JsonTablePathSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTablePathSpec) */ { public: - inline SecLabelStmt() : SecLabelStmt(nullptr) {} - ~SecLabelStmt() override; - explicit PROTOBUF_CONSTEXPR SecLabelStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - SecLabelStmt(const SecLabelStmt& from); - SecLabelStmt(SecLabelStmt&& from) noexcept - : SecLabelStmt() { + inline JsonTablePathSpec() : JsonTablePathSpec(nullptr) {} + ~JsonTablePathSpec() override; + template + explicit PROTOBUF_CONSTEXPR JsonTablePathSpec(::google::protobuf::internal::ConstantInitialized); + + inline JsonTablePathSpec(const JsonTablePathSpec& from) + : JsonTablePathSpec(nullptr, from) {} + JsonTablePathSpec(JsonTablePathSpec&& from) noexcept + : JsonTablePathSpec() { *this = ::std::move(from); } - inline SecLabelStmt& operator=(const SecLabelStmt& from) { + inline JsonTablePathSpec& operator=(const JsonTablePathSpec& from) { CopyFrom(from); return *this; } - inline SecLabelStmt& operator=(SecLabelStmt&& from) noexcept { + inline JsonTablePathSpec& operator=(JsonTablePathSpec&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -43037,197 +48087,220 @@ class SecLabelStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SecLabelStmt& default_instance() { + static const JsonTablePathSpec& default_instance() { return *internal_default_instance(); } - static inline const SecLabelStmt* internal_default_instance() { - return reinterpret_cast( - &_SecLabelStmt_default_instance_); + static inline const JsonTablePathSpec* internal_default_instance() { + return reinterpret_cast( + &_JsonTablePathSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 158; + 129; - friend void swap(SecLabelStmt& a, SecLabelStmt& b) { + friend void swap(JsonTablePathSpec& a, JsonTablePathSpec& b) { a.Swap(&b); } - inline void Swap(SecLabelStmt* other) { + inline void Swap(JsonTablePathSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SecLabelStmt* other) { + void UnsafeArenaSwap(JsonTablePathSpec* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SecLabelStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTablePathSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SecLabelStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SecLabelStmt& from) { - SecLabelStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTablePathSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTablePathSpec& from) { + JsonTablePathSpec::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SecLabelStmt* other); + void InternalSwap(JsonTablePathSpec* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SecLabelStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTablePathSpec"; } protected: - explicit SecLabelStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonTablePathSpec(::google::protobuf::Arena* arena); + JsonTablePathSpec(::google::protobuf::Arena* arena, const JsonTablePathSpec& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kProviderFieldNumber = 3, - kLabelFieldNumber = 4, - kObjectFieldNumber = 2, - kObjtypeFieldNumber = 1, + kNameFieldNumber = 2, + kStringFieldNumber = 1, + kNameLocationFieldNumber = 3, + kLocationFieldNumber = 4, }; - // string provider = 3 [json_name = "provider"]; - void clear_provider(); - const std::string& provider() const; - template - void set_provider(ArgT0&& arg0, ArgT... args); - std::string* mutable_provider(); - PROTOBUF_NODISCARD std::string* release_provider(); - void set_allocated_provider(std::string* provider); - private: - const std::string& _internal_provider() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider(const std::string& value); - std::string* _internal_mutable_provider(); - public: + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string label = 4 [json_name = "label"]; - void clear_label(); - const std::string& label() const; - template - void set_label(ArgT0&& arg0, ArgT... args); - std::string* mutable_label(); - PROTOBUF_NODISCARD std::string* release_label(); - void set_allocated_label(std::string* label); private: - const std::string& _internal_label() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value); - std::string* _internal_mutable_label(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: + // .pg_query.Node string = 1 [json_name = "string"]; + bool has_string() const; + void clear_string() ; + const ::pg_query::Node& string() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_string(); + ::pg_query::Node* mutable_string(); + void set_allocated_string(::pg_query::Node* value); + void unsafe_arena_set_allocated_string(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_string(); - // .pg_query.Node object = 2 [json_name = "object"]; - bool has_object() const; private: - bool _internal_has_object() const; + const ::pg_query::Node& _internal_string() const; + ::pg_query::Node* _internal_mutable_string(); + public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + // int32 name_location = 3 [json_name = "name_location"]; + void clear_name_location() ; + ::int32_t name_location() const; + void set_name_location(::int32_t value); + private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + ::int32_t _internal_name_location() const; + void _internal_set_name_location(::int32_t value); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.SecLabelStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTablePathSpec) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 39, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr provider_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_; - ::pg_query::Node* object_; - int objtype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* string_; + ::int32_t name_location_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateForeignTableStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateForeignTableStmt) */ { +class JsonTableSiblingJoin final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonTableSiblingJoin) */ { public: - inline CreateForeignTableStmt() : CreateForeignTableStmt(nullptr) {} - ~CreateForeignTableStmt() override; - explicit PROTOBUF_CONSTEXPR CreateForeignTableStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CreateForeignTableStmt(const CreateForeignTableStmt& from); - CreateForeignTableStmt(CreateForeignTableStmt&& from) noexcept - : CreateForeignTableStmt() { + inline JsonTableSiblingJoin() : JsonTableSiblingJoin(nullptr) {} + ~JsonTableSiblingJoin() override; + template + explicit PROTOBUF_CONSTEXPR JsonTableSiblingJoin(::google::protobuf::internal::ConstantInitialized); + + inline JsonTableSiblingJoin(const JsonTableSiblingJoin& from) + : JsonTableSiblingJoin(nullptr, from) {} + JsonTableSiblingJoin(JsonTableSiblingJoin&& from) noexcept + : JsonTableSiblingJoin() { *this = ::std::move(from); } - inline CreateForeignTableStmt& operator=(const CreateForeignTableStmt& from) { + inline JsonTableSiblingJoin& operator=(const JsonTableSiblingJoin& from) { CopyFrom(from); return *this; } - inline CreateForeignTableStmt& operator=(CreateForeignTableStmt&& from) noexcept { + inline JsonTableSiblingJoin& operator=(JsonTableSiblingJoin&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -43237,190 +48310,212 @@ class CreateForeignTableStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateForeignTableStmt& default_instance() { + static const JsonTableSiblingJoin& default_instance() { return *internal_default_instance(); } - static inline const CreateForeignTableStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateForeignTableStmt_default_instance_); + static inline const JsonTableSiblingJoin* internal_default_instance() { + return reinterpret_cast( + &_JsonTableSiblingJoin_default_instance_); } static constexpr int kIndexInFileMessages = - 159; + 60; - friend void swap(CreateForeignTableStmt& a, CreateForeignTableStmt& b) { + friend void swap(JsonTableSiblingJoin& a, JsonTableSiblingJoin& b) { a.Swap(&b); } - inline void Swap(CreateForeignTableStmt* other) { + inline void Swap(JsonTableSiblingJoin* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateForeignTableStmt* other) { + void UnsafeArenaSwap(JsonTableSiblingJoin* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateForeignTableStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonTableSiblingJoin* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateForeignTableStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateForeignTableStmt& from) { - CreateForeignTableStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonTableSiblingJoin& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonTableSiblingJoin& from) { + JsonTableSiblingJoin::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateForeignTableStmt* other); + void InternalSwap(JsonTableSiblingJoin* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateForeignTableStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonTableSiblingJoin"; } protected: - explicit CreateForeignTableStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonTableSiblingJoin(::google::protobuf::Arena* arena); + JsonTableSiblingJoin(::google::protobuf::Arena* arena, const JsonTableSiblingJoin& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 3, - kServernameFieldNumber = 2, - kBaseStmtFieldNumber = 1, + kPlanFieldNumber = 1, + kLplanFieldNumber = 2, + kRplanFieldNumber = 3, }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); - private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); - public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.Node plan = 1 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); - // string servername = 2 [json_name = "servername"]; - void clear_servername(); - const std::string& servername() const; - template - void set_servername(ArgT0&& arg0, ArgT... args); - std::string* mutable_servername(); - PROTOBUF_NODISCARD std::string* release_servername(); - void set_allocated_servername(std::string* servername); private: - const std::string& _internal_servername() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_servername(const std::string& value); - std::string* _internal_mutable_servername(); + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); + public: + // .pg_query.Node lplan = 2 [json_name = "lplan"]; + bool has_lplan() const; + void clear_lplan() ; + const ::pg_query::Node& lplan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_lplan(); + ::pg_query::Node* mutable_lplan(); + void set_allocated_lplan(::pg_query::Node* value); + void unsafe_arena_set_allocated_lplan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_lplan(); - // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"]; - bool has_base_stmt() const; private: - bool _internal_has_base_stmt() const; + const ::pg_query::Node& _internal_lplan() const; + ::pg_query::Node* _internal_mutable_lplan(); + public: - void clear_base_stmt(); - const ::pg_query::CreateStmt& base_stmt() const; - PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_base_stmt(); - ::pg_query::CreateStmt* mutable_base_stmt(); - void set_allocated_base_stmt(::pg_query::CreateStmt* base_stmt); + // .pg_query.Node rplan = 3 [json_name = "rplan"]; + bool has_rplan() const; + void clear_rplan() ; + const ::pg_query::Node& rplan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rplan(); + ::pg_query::Node* mutable_rplan(); + void set_allocated_rplan(::pg_query::Node* value); + void unsafe_arena_set_allocated_rplan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rplan(); + private: - const ::pg_query::CreateStmt& _internal_base_stmt() const; - ::pg_query::CreateStmt* _internal_mutable_base_stmt(); - public: - void unsafe_arena_set_allocated_base_stmt( - ::pg_query::CreateStmt* base_stmt); - ::pg_query::CreateStmt* unsafe_arena_release_base_stmt(); + const ::pg_query::Node& _internal_rplan() const; + ::pg_query::Node* _internal_mutable_rplan(); - // @@protoc_insertion_point(class_scope:pg_query.CreateForeignTableStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonTableSiblingJoin) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr servername_; - ::pg_query::CreateStmt* base_stmt_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* plan_; + ::pg_query::Node* lplan_; + ::pg_query::Node* rplan_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ImportForeignSchemaStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ImportForeignSchemaStmt) */ { +class JsonValueExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.JsonValueExpr) */ { public: - inline ImportForeignSchemaStmt() : ImportForeignSchemaStmt(nullptr) {} - ~ImportForeignSchemaStmt() override; - explicit PROTOBUF_CONSTEXPR ImportForeignSchemaStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ImportForeignSchemaStmt(const ImportForeignSchemaStmt& from); - ImportForeignSchemaStmt(ImportForeignSchemaStmt&& from) noexcept - : ImportForeignSchemaStmt() { + inline JsonValueExpr() : JsonValueExpr(nullptr) {} + ~JsonValueExpr() override; + template + explicit PROTOBUF_CONSTEXPR JsonValueExpr(::google::protobuf::internal::ConstantInitialized); + + inline JsonValueExpr(const JsonValueExpr& from) + : JsonValueExpr(nullptr, from) {} + JsonValueExpr(JsonValueExpr&& from) noexcept + : JsonValueExpr() { *this = ::std::move(from); } - inline ImportForeignSchemaStmt& operator=(const ImportForeignSchemaStmt& from) { + inline JsonValueExpr& operator=(const JsonValueExpr& from) { CopyFrom(from); return *this; } - inline ImportForeignSchemaStmt& operator=(ImportForeignSchemaStmt&& from) noexcept { + inline JsonValueExpr& operator=(JsonValueExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -43430,233 +48525,395 @@ class ImportForeignSchemaStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ImportForeignSchemaStmt& default_instance() { + static const JsonValueExpr& default_instance() { return *internal_default_instance(); } - static inline const ImportForeignSchemaStmt* internal_default_instance() { - return reinterpret_cast( - &_ImportForeignSchemaStmt_default_instance_); + static inline const JsonValueExpr* internal_default_instance() { + return reinterpret_cast( + &_JsonValueExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 160; + 53; - friend void swap(ImportForeignSchemaStmt& a, ImportForeignSchemaStmt& b) { + friend void swap(JsonValueExpr& a, JsonValueExpr& b) { a.Swap(&b); } - inline void Swap(ImportForeignSchemaStmt* other) { + inline void Swap(JsonValueExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ImportForeignSchemaStmt* other) { + void UnsafeArenaSwap(JsonValueExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ImportForeignSchemaStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + JsonValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ImportForeignSchemaStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ImportForeignSchemaStmt& from) { - ImportForeignSchemaStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const JsonValueExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const JsonValueExpr& from) { + JsonValueExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ImportForeignSchemaStmt* other); + void InternalSwap(JsonValueExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ImportForeignSchemaStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.JsonValueExpr"; } protected: - explicit ImportForeignSchemaStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit JsonValueExpr(::google::protobuf::Arena* arena); + JsonValueExpr(::google::protobuf::Arena* arena, const JsonValueExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTableListFieldNumber = 5, - kOptionsFieldNumber = 6, - kServerNameFieldNumber = 1, - kRemoteSchemaFieldNumber = 2, - kLocalSchemaFieldNumber = 3, - kListTypeFieldNumber = 4, + kRawExprFieldNumber = 1, + kFormattedExprFieldNumber = 2, + kFormatFieldNumber = 3, }; - // repeated .pg_query.Node table_list = 5 [json_name = "table_list"]; - int table_list_size() const; - private: - int _internal_table_list_size() const; - public: - void clear_table_list(); - ::pg_query::Node* mutable_table_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_table_list(); - private: - const ::pg_query::Node& _internal_table_list(int index) const; - ::pg_query::Node* _internal_add_table_list(); - public: - const ::pg_query::Node& table_list(int index) const; - ::pg_query::Node* add_table_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - table_list() const; + // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; + bool has_raw_expr() const; + void clear_raw_expr() ; + const ::pg_query::Node& raw_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_raw_expr(); + ::pg_query::Node* mutable_raw_expr(); + void set_allocated_raw_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_raw_expr(); - // repeated .pg_query.Node options = 6 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::pg_query::Node& _internal_raw_expr() const; + ::pg_query::Node* _internal_mutable_raw_expr(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; + bool has_formatted_expr() const; + void clear_formatted_expr() ; + const ::pg_query::Node& formatted_expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_formatted_expr(); + ::pg_query::Node* mutable_formatted_expr(); + void set_allocated_formatted_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_formatted_expr(); - // string server_name = 1 [json_name = "server_name"]; - void clear_server_name(); - const std::string& server_name() const; - template - void set_server_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_server_name(); - PROTOBUF_NODISCARD std::string* release_server_name(); - void set_allocated_server_name(std::string* server_name); private: - const std::string& _internal_server_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_server_name(const std::string& value); - std::string* _internal_mutable_server_name(); + const ::pg_query::Node& _internal_formatted_expr() const; + ::pg_query::Node* _internal_mutable_formatted_expr(); + public: + // .pg_query.JsonFormat format = 3 [json_name = "format"]; + bool has_format() const; + void clear_format() ; + const ::pg_query::JsonFormat& format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_format(); + ::pg_query::JsonFormat* mutable_format(); + void set_allocated_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_format(); - // string remote_schema = 2 [json_name = "remote_schema"]; - void clear_remote_schema(); - const std::string& remote_schema() const; - template - void set_remote_schema(ArgT0&& arg0, ArgT... args); - std::string* mutable_remote_schema(); - PROTOBUF_NODISCARD std::string* release_remote_schema(); - void set_allocated_remote_schema(std::string* remote_schema); private: - const std::string& _internal_remote_schema() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_remote_schema(const std::string& value); - std::string* _internal_mutable_remote_schema(); + const ::pg_query::JsonFormat& _internal_format() const; + ::pg_query::JsonFormat* _internal_mutable_format(); + public: + // @@protoc_insertion_point(class_scope:pg_query.JsonValueExpr) + private: + class _Internal; - // string local_schema = 3 [json_name = "local_schema"]; - void clear_local_schema(); - const std::string& local_schema() const; - template - void set_local_schema(ArgT0&& arg0, ArgT... args); - std::string* mutable_local_schema(); - PROTOBUF_NODISCARD std::string* release_local_schema(); - void set_allocated_local_schema(std::string* local_schema); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* raw_expr_; + ::pg_query::Node* formatted_expr_; + ::pg_query::JsonFormat* format_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class List final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.List) */ { + public: + inline List() : List(nullptr) {} + ~List() override; + template + explicit PROTOBUF_CONSTEXPR List(::google::protobuf::internal::ConstantInitialized); + + inline List(const List& from) + : List(nullptr, from) {} + List(List&& from) noexcept + : List() { + *this = ::std::move(from); + } + + inline List& operator=(const List& from) { + CopyFrom(from); + return *this; + } + inline List& operator=(List&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const List& default_instance() { + return *internal_default_instance(); + } + static inline const List* internal_default_instance() { + return reinterpret_cast( + &_List_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + friend void swap(List& a, List& b) { + a.Swap(&b); + } + inline void Swap(List* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(List* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + List* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const List& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const List& from) { + List::MergeImpl(*this, from); + } private: - const std::string& _internal_local_schema() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_local_schema(const std::string& value); - std::string* _internal_mutable_local_schema(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"]; - void clear_list_type(); - ::pg_query::ImportForeignSchemaType list_type() const; - void set_list_type(::pg_query::ImportForeignSchemaType value); private: - ::pg_query::ImportForeignSchemaType _internal_list_type() const; - void _internal_set_list_type(::pg_query::ImportForeignSchemaType value); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(List* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.List"; + } + protected: + explicit List(::google::protobuf::Arena* arena); + List(::google::protobuf::Arena* arena, const List& from); public: - // @@protoc_insertion_point(class_scope:pg_query.ImportForeignSchemaStmt) + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kItemsFieldNumber = 1, + }; + // repeated .pg_query.Node items = 1; + int items_size() const; + private: + int _internal_items_size() const; + + public: + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); + public: + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // @@protoc_insertion_point(class_scope:pg_query.List) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > table_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr server_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr remote_schema_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr local_schema_; - int list_type_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateExtensionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateExtensionStmt) */ { +class LockStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockStmt) */ { public: - inline CreateExtensionStmt() : CreateExtensionStmt(nullptr) {} - ~CreateExtensionStmt() override; - explicit PROTOBUF_CONSTEXPR CreateExtensionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline LockStmt() : LockStmt(nullptr) {} + ~LockStmt() override; + template + explicit PROTOBUF_CONSTEXPR LockStmt(::google::protobuf::internal::ConstantInitialized); - CreateExtensionStmt(const CreateExtensionStmt& from); - CreateExtensionStmt(CreateExtensionStmt&& from) noexcept - : CreateExtensionStmt() { + inline LockStmt(const LockStmt& from) + : LockStmt(nullptr, from) {} + LockStmt(LockStmt&& from) noexcept + : LockStmt() { *this = ::std::move(from); } - inline CreateExtensionStmt& operator=(const CreateExtensionStmt& from) { + inline LockStmt& operator=(const LockStmt& from) { CopyFrom(from); return *this; } - inline CreateExtensionStmt& operator=(CreateExtensionStmt&& from) noexcept { + inline LockStmt& operator=(LockStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -43666,181 +48923,204 @@ class CreateExtensionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateExtensionStmt& default_instance() { + static const LockStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateExtensionStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateExtensionStmt_default_instance_); + static inline const LockStmt* internal_default_instance() { + return reinterpret_cast( + &_LockStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 161; + 251; - friend void swap(CreateExtensionStmt& a, CreateExtensionStmt& b) { + friend void swap(LockStmt& a, LockStmt& b) { a.Swap(&b); } - inline void Swap(CreateExtensionStmt* other) { + inline void Swap(LockStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateExtensionStmt* other) { + void UnsafeArenaSwap(LockStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateExtensionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + LockStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateExtensionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateExtensionStmt& from) { - CreateExtensionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const LockStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const LockStmt& from) { + LockStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateExtensionStmt* other); + void InternalSwap(LockStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateExtensionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.LockStmt"; } protected: - explicit CreateExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit LockStmt(::google::protobuf::Arena* arena); + LockStmt(::google::protobuf::Arena* arena, const LockStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 3, - kExtnameFieldNumber = 1, - kIfNotExistsFieldNumber = 2, + kRelationsFieldNumber = 1, + kModeFieldNumber = 2, + kNowaitFieldNumber = 3, }; - // repeated .pg_query.Node options = 3 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node relations = 1 [json_name = "relations"]; + int relations_size() const; private: - int _internal_options_size() const; + int _internal_relations_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_relations() ; + ::pg_query::Node* mutable_relations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_relations(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& relations(int index) const; + ::pg_query::Node* add_relations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + relations() const; + // int32 mode = 2 [json_name = "mode"]; + void clear_mode() ; + ::int32_t mode() const; + void set_mode(::int32_t value); - // string extname = 1 [json_name = "extname"]; - void clear_extname(); - const std::string& extname() const; - template - void set_extname(ArgT0&& arg0, ArgT... args); - std::string* mutable_extname(); - PROTOBUF_NODISCARD std::string* release_extname(); - void set_allocated_extname(std::string* extname); private: - const std::string& _internal_extname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname(const std::string& value); - std::string* _internal_mutable_extname(); + ::int32_t _internal_mode() const; + void _internal_set_mode(::int32_t value); + public: + // bool nowait = 3 [json_name = "nowait"]; + void clear_nowait() ; + bool nowait() const; + void set_nowait(bool value); - // bool if_not_exists = 2 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); - public: + bool _internal_nowait() const; + void _internal_set_nowait(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateExtensionStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.LockStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr extname_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; + ::int32_t mode_; + bool nowait_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterExtensionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterExtensionStmt) */ { +class LockingClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.LockingClause) */ { public: - inline AlterExtensionStmt() : AlterExtensionStmt(nullptr) {} - ~AlterExtensionStmt() override; - explicit PROTOBUF_CONSTEXPR AlterExtensionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline LockingClause() : LockingClause(nullptr) {} + ~LockingClause() override; + template + explicit PROTOBUF_CONSTEXPR LockingClause(::google::protobuf::internal::ConstantInitialized); - AlterExtensionStmt(const AlterExtensionStmt& from); - AlterExtensionStmt(AlterExtensionStmt&& from) noexcept - : AlterExtensionStmt() { + inline LockingClause(const LockingClause& from) + : LockingClause(nullptr, from) {} + LockingClause(LockingClause&& from) noexcept + : LockingClause() { *this = ::std::move(from); } - inline AlterExtensionStmt& operator=(const AlterExtensionStmt& from) { + inline LockingClause& operator=(const LockingClause& from) { CopyFrom(from); return *this; } - inline AlterExtensionStmt& operator=(AlterExtensionStmt&& from) noexcept { + inline LockingClause& operator=(LockingClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -43850,170 +49130,204 @@ class AlterExtensionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterExtensionStmt& default_instance() { + static const LockingClause& default_instance() { return *internal_default_instance(); } - static inline const AlterExtensionStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterExtensionStmt_default_instance_); + static inline const LockingClause* internal_default_instance() { + return reinterpret_cast( + &_LockingClause_default_instance_); } static constexpr int kIndexInFileMessages = - 162; + 101; - friend void swap(AlterExtensionStmt& a, AlterExtensionStmt& b) { + friend void swap(LockingClause& a, LockingClause& b) { a.Swap(&b); } - inline void Swap(AlterExtensionStmt* other) { + inline void Swap(LockingClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterExtensionStmt* other) { + void UnsafeArenaSwap(LockingClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterExtensionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + LockingClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterExtensionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterExtensionStmt& from) { - AlterExtensionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const LockingClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const LockingClause& from) { + LockingClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterExtensionStmt* other); + void InternalSwap(LockingClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterExtensionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.LockingClause"; } protected: - explicit AlterExtensionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit LockingClause(::google::protobuf::Arena* arena); + LockingClause(::google::protobuf::Arena* arena, const LockingClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kExtnameFieldNumber = 1, + kLockedRelsFieldNumber = 1, + kStrengthFieldNumber = 2, + kWaitPolicyFieldNumber = 3, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; + int locked_rels_size() const; private: - int _internal_options_size() const; + int _internal_locked_rels_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_locked_rels() ; + ::pg_query::Node* mutable_locked_rels(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_locked_rels(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locked_rels() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locked_rels(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& locked_rels(int index) const; + ::pg_query::Node* add_locked_rels(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + locked_rels() const; + // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; + void clear_strength() ; + ::pg_query::LockClauseStrength strength() const; + void set_strength(::pg_query::LockClauseStrength value); - // string extname = 1 [json_name = "extname"]; - void clear_extname(); - const std::string& extname() const; - template - void set_extname(ArgT0&& arg0, ArgT... args); - std::string* mutable_extname(); - PROTOBUF_NODISCARD std::string* release_extname(); - void set_allocated_extname(std::string* extname); private: - const std::string& _internal_extname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname(const std::string& value); - std::string* _internal_mutable_extname(); + ::pg_query::LockClauseStrength _internal_strength() const; + void _internal_set_strength(::pg_query::LockClauseStrength value); + public: + // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; + void clear_wait_policy() ; + ::pg_query::LockWaitPolicy wait_policy() const; + void set_wait_policy(::pg_query::LockWaitPolicy value); - // @@protoc_insertion_point(class_scope:pg_query.AlterExtensionStmt) + private: + ::pg_query::LockWaitPolicy _internal_wait_policy() const; + void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.LockingClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr extname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locked_rels_; + int strength_; + int wait_policy_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterExtensionContentsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterExtensionContentsStmt) */ { +class MergeAction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeAction) */ { public: - inline AlterExtensionContentsStmt() : AlterExtensionContentsStmt(nullptr) {} - ~AlterExtensionContentsStmt() override; - explicit PROTOBUF_CONSTEXPR AlterExtensionContentsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline MergeAction() : MergeAction(nullptr) {} + ~MergeAction() override; + template + explicit PROTOBUF_CONSTEXPR MergeAction(::google::protobuf::internal::ConstantInitialized); - AlterExtensionContentsStmt(const AlterExtensionContentsStmt& from); - AlterExtensionContentsStmt(AlterExtensionContentsStmt&& from) noexcept - : AlterExtensionContentsStmt() { + inline MergeAction(const MergeAction& from) + : MergeAction(nullptr, from) {} + MergeAction(MergeAction&& from) noexcept + : MergeAction() { *this = ::std::move(from); } - inline AlterExtensionContentsStmt& operator=(const AlterExtensionContentsStmt& from) { + inline MergeAction& operator=(const MergeAction& from) { CopyFrom(from); return *this; } - inline AlterExtensionContentsStmt& operator=(AlterExtensionContentsStmt&& from) noexcept { + inline MergeAction& operator=(MergeAction&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44023,192 +49337,254 @@ class AlterExtensionContentsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterExtensionContentsStmt& default_instance() { + static const MergeAction& default_instance() { return *internal_default_instance(); } - static inline const AlterExtensionContentsStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterExtensionContentsStmt_default_instance_); + static inline const MergeAction* internal_default_instance() { + return reinterpret_cast( + &_MergeAction_default_instance_); } static constexpr int kIndexInFileMessages = - 163; + 63; - friend void swap(AlterExtensionContentsStmt& a, AlterExtensionContentsStmt& b) { + friend void swap(MergeAction& a, MergeAction& b) { a.Swap(&b); } - inline void Swap(AlterExtensionContentsStmt* other) { + inline void Swap(MergeAction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterExtensionContentsStmt* other) { + void UnsafeArenaSwap(MergeAction* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterExtensionContentsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + MergeAction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterExtensionContentsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterExtensionContentsStmt& from) { - AlterExtensionContentsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeAction& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeAction& from) { + MergeAction::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterExtensionContentsStmt* other); + void InternalSwap(MergeAction* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterExtensionContentsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeAction"; } protected: - explicit AlterExtensionContentsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit MergeAction(::google::protobuf::Arena* arena); + MergeAction(::google::protobuf::Arena* arena, const MergeAction& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kExtnameFieldNumber = 1, - kObjectFieldNumber = 4, - kActionFieldNumber = 2, - kObjtypeFieldNumber = 3, + kTargetListFieldNumber = 5, + kUpdateColnosFieldNumber = 6, + kQualFieldNumber = 4, + kMatchKindFieldNumber = 1, + kCommandTypeFieldNumber = 2, + kOverrideFieldNumber = 3, }; - // string extname = 1 [json_name = "extname"]; - void clear_extname(); - const std::string& extname() const; - template - void set_extname(ArgT0&& arg0, ArgT... args); - std::string* mutable_extname(); - PROTOBUF_NODISCARD std::string* release_extname(); - void set_allocated_extname(std::string* extname); + // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; + int target_list_size() const; private: - const std::string& _internal_extname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_extname(const std::string& value); - std::string* _internal_mutable_extname(); + int _internal_target_list_size() const; + public: + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + public: + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; + int update_colnos_size() const; + private: + int _internal_update_colnos_size() const; - // .pg_query.Node object = 4 [json_name = "object"]; - bool has_object() const; + public: + void clear_update_colnos() ; + ::pg_query::Node* mutable_update_colnos(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_update_colnos(); private: - bool _internal_has_object() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_update_colnos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_update_colnos(); public: - void clear_object(); - const ::pg_query::Node& object() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_object(); - ::pg_query::Node* mutable_object(); - void set_allocated_object(::pg_query::Node* object); + const ::pg_query::Node& update_colnos(int index) const; + ::pg_query::Node* add_update_colnos(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + update_colnos() const; + // .pg_query.Node qual = 4 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); + private: - const ::pg_query::Node& _internal_object() const; - ::pg_query::Node* _internal_mutable_object(); + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); + public: - void unsafe_arena_set_allocated_object( - ::pg_query::Node* object); - ::pg_query::Node* unsafe_arena_release_object(); + // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; + void clear_match_kind() ; + ::pg_query::MergeMatchKind match_kind() const; + void set_match_kind(::pg_query::MergeMatchKind value); - // int32 action = 2 [json_name = "action"]; - void clear_action(); - int32_t action() const; - void set_action(int32_t value); private: - int32_t _internal_action() const; - void _internal_set_action(int32_t value); + ::pg_query::MergeMatchKind _internal_match_kind() const; + void _internal_set_match_kind(::pg_query::MergeMatchKind value); + public: + // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); - // .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; - void clear_objtype(); - ::pg_query::ObjectType objtype() const; - void set_objtype(::pg_query::ObjectType value); private: - ::pg_query::ObjectType _internal_objtype() const; - void _internal_set_objtype(::pg_query::ObjectType value); + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); + public: + // .pg_query.OverridingKind override = 3 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); - // @@protoc_insertion_point(class_scope:pg_query.AlterExtensionContentsStmt) + private: + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MergeAction) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr extname_; - ::pg_query::Node* object_; - int32_t action_; - int objtype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > update_colnos_; + ::pg_query::Node* qual_; + int match_kind_; + int command_type_; + int override_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateEventTrigStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateEventTrigStmt) */ { +class MergeStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeStmt) */ { public: - inline CreateEventTrigStmt() : CreateEventTrigStmt(nullptr) {} - ~CreateEventTrigStmt() override; - explicit PROTOBUF_CONSTEXPR CreateEventTrigStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline MergeStmt() : MergeStmt(nullptr) {} + ~MergeStmt() override; + template + explicit PROTOBUF_CONSTEXPR MergeStmt(::google::protobuf::internal::ConstantInitialized); - CreateEventTrigStmt(const CreateEventTrigStmt& from); - CreateEventTrigStmt(CreateEventTrigStmt&& from) noexcept - : CreateEventTrigStmt() { + inline MergeStmt(const MergeStmt& from) + : MergeStmt(nullptr, from) {} + MergeStmt(MergeStmt&& from) noexcept + : MergeStmt() { *this = ::std::move(from); } - inline CreateEventTrigStmt& operator=(const CreateEventTrigStmt& from) { + inline MergeStmt& operator=(const MergeStmt& from) { CopyFrom(from); return *this; } - inline CreateEventTrigStmt& operator=(CreateEventTrigStmt&& from) noexcept { + inline MergeStmt& operator=(MergeStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44218,206 +49594,7996 @@ class CreateEventTrigStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateEventTrigStmt& default_instance() { + static const MergeStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateEventTrigStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateEventTrigStmt_default_instance_); + static inline const MergeStmt* internal_default_instance() { + return reinterpret_cast( + &_MergeStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 164; + 146; - friend void swap(CreateEventTrigStmt& a, CreateEventTrigStmt& b) { + friend void swap(MergeStmt& a, MergeStmt& b) { a.Swap(&b); } - inline void Swap(CreateEventTrigStmt* other) { + inline void Swap(MergeStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateEventTrigStmt* other) { + void UnsafeArenaSwap(MergeStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateEventTrigStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + MergeStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateEventTrigStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateEventTrigStmt& from) { - CreateEventTrigStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeStmt& from) { + MergeStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateEventTrigStmt* other); + void InternalSwap(MergeStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateEventTrigStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeStmt"; } protected: - explicit CreateEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit MergeStmt(::google::protobuf::Arena* arena); + MergeStmt(::google::protobuf::Arena* arena, const MergeStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kWhenclauseFieldNumber = 3, - kFuncnameFieldNumber = 4, - kTrignameFieldNumber = 1, - kEventnameFieldNumber = 2, + kMergeWhenClausesFieldNumber = 4, + kReturningListFieldNumber = 5, + kRelationFieldNumber = 1, + kSourceRelationFieldNumber = 2, + kJoinConditionFieldNumber = 3, + kWithClauseFieldNumber = 6, }; - // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"]; - int whenclause_size() const; + // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; + int merge_when_clauses_size() const; private: - int _internal_whenclause_size() const; + int _internal_merge_when_clauses_size() const; + public: - void clear_whenclause(); - ::pg_query::Node* mutable_whenclause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_whenclause(); + void clear_merge_when_clauses() ; + ::pg_query::Node* mutable_merge_when_clauses(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_merge_when_clauses(); private: - const ::pg_query::Node& _internal_whenclause(int index) const; - ::pg_query::Node* _internal_add_whenclause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_when_clauses() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_when_clauses(); public: - const ::pg_query::Node& whenclause(int index) const; - ::pg_query::Node* add_whenclause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - whenclause() const; - - // repeated .pg_query.Node funcname = 4 [json_name = "funcname"]; - int funcname_size() const; + const ::pg_query::Node& merge_when_clauses(int index) const; + ::pg_query::Node* add_merge_when_clauses(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + merge_when_clauses() const; + // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; + int returning_list_size() const; + private: + int _internal_returning_list_size() const; + + public: + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); + public: + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + + private: + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + + public: + // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; + bool has_source_relation() const; + void clear_source_relation() ; + const ::pg_query::Node& source_relation() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_source_relation(); + ::pg_query::Node* mutable_source_relation(); + void set_allocated_source_relation(::pg_query::Node* value); + void unsafe_arena_set_allocated_source_relation(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_source_relation(); + + private: + const ::pg_query::Node& _internal_source_relation() const; + ::pg_query::Node* _internal_mutable_source_relation(); + + public: + // .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; + bool has_join_condition() const; + void clear_join_condition() ; + const ::pg_query::Node& join_condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_join_condition(); + ::pg_query::Node* mutable_join_condition(); + void set_allocated_join_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_join_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_join_condition(); + + private: + const ::pg_query::Node& _internal_join_condition() const; + ::pg_query::Node* _internal_mutable_join_condition(); + + public: + // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); + + private: + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MergeStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_when_clauses_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* source_relation_; + ::pg_query::Node* join_condition_; + ::pg_query::WithClause* with_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class MergeSupportFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeSupportFunc) */ { + public: + inline MergeSupportFunc() : MergeSupportFunc(nullptr) {} + ~MergeSupportFunc() override; + template + explicit PROTOBUF_CONSTEXPR MergeSupportFunc(::google::protobuf::internal::ConstantInitialized); + + inline MergeSupportFunc(const MergeSupportFunc& from) + : MergeSupportFunc(nullptr, from) {} + MergeSupportFunc(MergeSupportFunc&& from) noexcept + : MergeSupportFunc() { + *this = ::std::move(from); + } + + inline MergeSupportFunc& operator=(const MergeSupportFunc& from) { + CopyFrom(from); + return *this; + } + inline MergeSupportFunc& operator=(MergeSupportFunc&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeSupportFunc& default_instance() { + return *internal_default_instance(); + } + static inline const MergeSupportFunc* internal_default_instance() { + return reinterpret_cast( + &_MergeSupportFunc_default_instance_); + } + static constexpr int kIndexInFileMessages = + 22; + + friend void swap(MergeSupportFunc& a, MergeSupportFunc& b) { + a.Swap(&b); + } + inline void Swap(MergeSupportFunc* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeSupportFunc* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MergeSupportFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeSupportFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeSupportFunc& from) { + MergeSupportFunc::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeSupportFunc* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeSupportFunc"; + } + protected: + explicit MergeSupportFunc(::google::protobuf::Arena* arena); + MergeSupportFunc(::google::protobuf::Arena* arena, const MergeSupportFunc& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kXprFieldNumber = 1, + kMsftypeFieldNumber = 2, + kMsfcollidFieldNumber = 3, + kLocationFieldNumber = 4, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // uint32 msftype = 2 [json_name = "msftype"]; + void clear_msftype() ; + ::uint32_t msftype() const; + void set_msftype(::uint32_t value); + + private: + ::uint32_t _internal_msftype() const; + void _internal_set_msftype(::uint32_t value); + + public: + // uint32 msfcollid = 3 [json_name = "msfcollid"]; + void clear_msfcollid() ; + ::uint32_t msfcollid() const; + void set_msfcollid(::uint32_t value); + + private: + ::uint32_t _internal_msfcollid() const; + void _internal_set_msfcollid(::uint32_t value); + + public: + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MergeSupportFunc) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t msftype_; + ::uint32_t msfcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class MergeWhenClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeWhenClause) */ { + public: + inline MergeWhenClause() : MergeWhenClause(nullptr) {} + ~MergeWhenClause() override; + template + explicit PROTOBUF_CONSTEXPR MergeWhenClause(::google::protobuf::internal::ConstantInitialized); + + inline MergeWhenClause(const MergeWhenClause& from) + : MergeWhenClause(nullptr, from) {} + MergeWhenClause(MergeWhenClause&& from) noexcept + : MergeWhenClause() { + *this = ::std::move(from); + } + + inline MergeWhenClause& operator=(const MergeWhenClause& from) { + CopyFrom(from); + return *this; + } + inline MergeWhenClause& operator=(MergeWhenClause&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MergeWhenClause& default_instance() { + return *internal_default_instance(); + } + static inline const MergeWhenClause* internal_default_instance() { + return reinterpret_cast( + &_MergeWhenClause_default_instance_); + } + static constexpr int kIndexInFileMessages = + 124; + + friend void swap(MergeWhenClause& a, MergeWhenClause& b) { + a.Swap(&b); + } + inline void Swap(MergeWhenClause* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MergeWhenClause* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MergeWhenClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MergeWhenClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MergeWhenClause& from) { + MergeWhenClause::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MergeWhenClause* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MergeWhenClause"; + } + protected: + explicit MergeWhenClause(::google::protobuf::Arena* arena); + MergeWhenClause(::google::protobuf::Arena* arena, const MergeWhenClause& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kTargetListFieldNumber = 5, + kValuesFieldNumber = 6, + kConditionFieldNumber = 4, + kMatchKindFieldNumber = 1, + kCommandTypeFieldNumber = 2, + kOverrideFieldNumber = 3, + }; + // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; + int target_list_size() const; + private: + int _internal_target_list_size() const; + + public: + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + public: + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node values = 6 [json_name = "values"]; + int values_size() const; + private: + int _internal_values_size() const; + + public: + void clear_values() ; + ::pg_query::Node* mutable_values(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_values(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values(); + public: + const ::pg_query::Node& values(int index) const; + ::pg_query::Node* add_values(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + values() const; + // .pg_query.Node condition = 4 [json_name = "condition"]; + bool has_condition() const; + void clear_condition() ; + const ::pg_query::Node& condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_condition(); + ::pg_query::Node* mutable_condition(); + void set_allocated_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_condition(); + + private: + const ::pg_query::Node& _internal_condition() const; + ::pg_query::Node* _internal_mutable_condition(); + + public: + // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; + void clear_match_kind() ; + ::pg_query::MergeMatchKind match_kind() const; + void set_match_kind(::pg_query::MergeMatchKind value); + + private: + ::pg_query::MergeMatchKind _internal_match_kind() const; + void _internal_set_match_kind(::pg_query::MergeMatchKind value); + + public: + // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); + + private: + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); + + public: + // .pg_query.OverridingKind override = 3 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); + + private: + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MergeWhenClause) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_; + ::pg_query::Node* condition_; + int match_kind_; + int command_type_; + int override_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class MinMaxExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MinMaxExpr) */ { + public: + inline MinMaxExpr() : MinMaxExpr(nullptr) {} + ~MinMaxExpr() override; + template + explicit PROTOBUF_CONSTEXPR MinMaxExpr(::google::protobuf::internal::ConstantInitialized); + + inline MinMaxExpr(const MinMaxExpr& from) + : MinMaxExpr(nullptr, from) {} + MinMaxExpr(MinMaxExpr&& from) noexcept + : MinMaxExpr() { + *this = ::std::move(from); + } + + inline MinMaxExpr& operator=(const MinMaxExpr& from) { + CopyFrom(from); + return *this; + } + inline MinMaxExpr& operator=(MinMaxExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MinMaxExpr& default_instance() { + return *internal_default_instance(); + } + static inline const MinMaxExpr* internal_default_instance() { + return reinterpret_cast( + &_MinMaxExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 48; + + friend void swap(MinMaxExpr& a, MinMaxExpr& b) { + a.Swap(&b); + } + inline void Swap(MinMaxExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MinMaxExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MinMaxExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MinMaxExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MinMaxExpr& from) { + MinMaxExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MinMaxExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MinMaxExpr"; + } + protected: + explicit MinMaxExpr(::google::protobuf::Arena* arena); + MinMaxExpr(::google::protobuf::Arena* arena, const MinMaxExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kArgsFieldNumber = 6, + kXprFieldNumber = 1, + kMinmaxtypeFieldNumber = 2, + kMinmaxcollidFieldNumber = 3, + kInputcollidFieldNumber = 4, + kOpFieldNumber = 5, + kLocationFieldNumber = 7, + }; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // uint32 minmaxtype = 2 [json_name = "minmaxtype"]; + void clear_minmaxtype() ; + ::uint32_t minmaxtype() const; + void set_minmaxtype(::uint32_t value); + + private: + ::uint32_t _internal_minmaxtype() const; + void _internal_set_minmaxtype(::uint32_t value); + + public: + // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; + void clear_minmaxcollid() ; + ::uint32_t minmaxcollid() const; + void set_minmaxcollid(::uint32_t value); + + private: + ::uint32_t _internal_minmaxcollid() const; + void _internal_set_minmaxcollid(::uint32_t value); + + public: + // uint32 inputcollid = 4 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // .pg_query.MinMaxOp op = 5 [json_name = "op"]; + void clear_op() ; + ::pg_query::MinMaxOp op() const; + void set_op(::pg_query::MinMaxOp value); + + private: + ::pg_query::MinMaxOp _internal_op() const; + void _internal_set_op(::pg_query::MinMaxOp value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MinMaxExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t minmaxtype_; + ::uint32_t minmaxcollid_; + ::uint32_t inputcollid_; + int op_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class MultiAssignRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.MultiAssignRef) */ { + public: + inline MultiAssignRef() : MultiAssignRef(nullptr) {} + ~MultiAssignRef() override; + template + explicit PROTOBUF_CONSTEXPR MultiAssignRef(::google::protobuf::internal::ConstantInitialized); + + inline MultiAssignRef(const MultiAssignRef& from) + : MultiAssignRef(nullptr, from) {} + MultiAssignRef(MultiAssignRef&& from) noexcept + : MultiAssignRef() { + *this = ::std::move(from); + } + + inline MultiAssignRef& operator=(const MultiAssignRef& from) { + CopyFrom(from); + return *this; + } + inline MultiAssignRef& operator=(MultiAssignRef&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const MultiAssignRef& default_instance() { + return *internal_default_instance(); + } + static inline const MultiAssignRef* internal_default_instance() { + return reinterpret_cast( + &_MultiAssignRef_default_instance_); + } + static constexpr int kIndexInFileMessages = + 89; + + friend void swap(MultiAssignRef& a, MultiAssignRef& b) { + a.Swap(&b); + } + inline void Swap(MultiAssignRef* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(MultiAssignRef* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + MultiAssignRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const MultiAssignRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const MultiAssignRef& from) { + MultiAssignRef::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(MultiAssignRef* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.MultiAssignRef"; + } + protected: + explicit MultiAssignRef(::google::protobuf::Arena* arena); + MultiAssignRef(::google::protobuf::Arena* arena, const MultiAssignRef& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kSourceFieldNumber = 1, + kColnoFieldNumber = 2, + kNcolumnsFieldNumber = 3, + }; + // .pg_query.Node source = 1 [json_name = "source"]; + bool has_source() const; + void clear_source() ; + const ::pg_query::Node& source() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_source(); + ::pg_query::Node* mutable_source(); + void set_allocated_source(::pg_query::Node* value); + void unsafe_arena_set_allocated_source(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_source(); + + private: + const ::pg_query::Node& _internal_source() const; + ::pg_query::Node* _internal_mutable_source(); + + public: + // int32 colno = 2 [json_name = "colno"]; + void clear_colno() ; + ::int32_t colno() const; + void set_colno(::int32_t value); + + private: + ::int32_t _internal_colno() const; + void _internal_set_colno(::int32_t value); + + public: + // int32 ncolumns = 3 [json_name = "ncolumns"]; + void clear_ncolumns() ; + ::int32_t ncolumns() const; + void set_ncolumns(::int32_t value); + + private: + ::int32_t _internal_ncolumns() const; + void _internal_set_ncolumns(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.MultiAssignRef) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* source_; + ::int32_t colno_; + ::int32_t ncolumns_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class NamedArgExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NamedArgExpr) */ { + public: + inline NamedArgExpr() : NamedArgExpr(nullptr) {} + ~NamedArgExpr() override; + template + explicit PROTOBUF_CONSTEXPR NamedArgExpr(::google::protobuf::internal::ConstantInitialized); + + inline NamedArgExpr(const NamedArgExpr& from) + : NamedArgExpr(nullptr, from) {} + NamedArgExpr(NamedArgExpr&& from) noexcept + : NamedArgExpr() { + *this = ::std::move(from); + } + + inline NamedArgExpr& operator=(const NamedArgExpr& from) { + CopyFrom(from); + return *this; + } + inline NamedArgExpr& operator=(NamedArgExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const NamedArgExpr& default_instance() { + return *internal_default_instance(); + } + static inline const NamedArgExpr* internal_default_instance() { + return reinterpret_cast( + &_NamedArgExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 25; + + friend void swap(NamedArgExpr& a, NamedArgExpr& b) { + a.Swap(&b); + } + inline void Swap(NamedArgExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(NamedArgExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + NamedArgExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NamedArgExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NamedArgExpr& from) { + NamedArgExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(NamedArgExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NamedArgExpr"; + } + protected: + explicit NamedArgExpr(::google::protobuf::Arena* arena); + NamedArgExpr(::google::protobuf::Arena* arena, const NamedArgExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 3, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kArgnumberFieldNumber = 4, + kLocationFieldNumber = 5, + }; + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + + private: + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + + public: + // int32 argnumber = 4 [json_name = "argnumber"]; + void clear_argnumber() ; + ::int32_t argnumber() const; + void set_argnumber(::int32_t value); + + private: + ::int32_t _internal_argnumber() const; + void _internal_set_argnumber(::int32_t value); + + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.NamedArgExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::int32_t argnumber_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class NextValueExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NextValueExpr) */ { + public: + inline NextValueExpr() : NextValueExpr(nullptr) {} + ~NextValueExpr() override; + template + explicit PROTOBUF_CONSTEXPR NextValueExpr(::google::protobuf::internal::ConstantInitialized); + + inline NextValueExpr(const NextValueExpr& from) + : NextValueExpr(nullptr, from) {} + NextValueExpr(NextValueExpr&& from) noexcept + : NextValueExpr() { + *this = ::std::move(from); + } + + inline NextValueExpr& operator=(const NextValueExpr& from) { + CopyFrom(from); + return *this; + } + inline NextValueExpr& operator=(NextValueExpr&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const NextValueExpr& default_instance() { + return *internal_default_instance(); + } + static inline const NextValueExpr* internal_default_instance() { + return reinterpret_cast( + &_NextValueExpr_default_instance_); + } + static constexpr int kIndexInFileMessages = + 68; + + friend void swap(NextValueExpr& a, NextValueExpr& b) { + a.Swap(&b); + } + inline void Swap(NextValueExpr* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(NextValueExpr* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + NextValueExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NextValueExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NextValueExpr& from) { + NextValueExpr::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(NextValueExpr* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NextValueExpr"; + } + protected: + explicit NextValueExpr(::google::protobuf::Arena* arena); + NextValueExpr(::google::protobuf::Arena* arena, const NextValueExpr& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kXprFieldNumber = 1, + kSeqidFieldNumber = 2, + kTypeIdFieldNumber = 3, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // uint32 seqid = 2 [json_name = "seqid"]; + void clear_seqid() ; + ::uint32_t seqid() const; + void set_seqid(::uint32_t value); + + private: + ::uint32_t _internal_seqid() const; + void _internal_set_seqid(::uint32_t value); + + public: + // uint32 type_id = 3 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); + + private: + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.NextValueExpr) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t seqid_; + ::uint32_t type_id_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class Node final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Node) */ { + public: + inline Node() : Node(nullptr) {} + ~Node() override; + template + explicit PROTOBUF_CONSTEXPR Node(::google::protobuf::internal::ConstantInitialized); + + inline Node(const Node& from) + : Node(nullptr, from) {} + Node(Node&& from) noexcept + : Node() { + *this = ::std::move(from); + } + + inline Node& operator=(const Node& from) { + CopyFrom(from); + return *this; + } + inline Node& operator=(Node&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Node& default_instance() { + return *internal_default_instance(); + } + enum NodeCase { + kAlias = 1, + kRangeVar = 2, + kTableFunc = 3, + kIntoClause = 4, + kVar = 5, + kParam = 6, + kAggref = 7, + kGroupingFunc = 8, + kWindowFunc = 9, + kWindowFuncRunCondition = 10, + kMergeSupportFunc = 11, + kSubscriptingRef = 12, + kFuncExpr = 13, + kNamedArgExpr = 14, + kOpExpr = 15, + kDistinctExpr = 16, + kNullIfExpr = 17, + kScalarArrayOpExpr = 18, + kBoolExpr = 19, + kSubLink = 20, + kSubPlan = 21, + kAlternativeSubPlan = 22, + kFieldSelect = 23, + kFieldStore = 24, + kRelabelType = 25, + kCoerceViaIo = 26, + kArrayCoerceExpr = 27, + kConvertRowtypeExpr = 28, + kCollateExpr = 29, + kCaseExpr = 30, + kCaseWhen = 31, + kCaseTestExpr = 32, + kArrayExpr = 33, + kRowExpr = 34, + kRowCompareExpr = 35, + kCoalesceExpr = 36, + kMinMaxExpr = 37, + kSqlvalueFunction = 38, + kXmlExpr = 39, + kJsonFormat = 40, + kJsonReturning = 41, + kJsonValueExpr = 42, + kJsonConstructorExpr = 43, + kJsonIsPredicate = 44, + kJsonBehavior = 45, + kJsonExpr = 46, + kJsonTablePath = 47, + kJsonTablePathScan = 48, + kJsonTableSiblingJoin = 49, + kNullTest = 50, + kBooleanTest = 51, + kMergeAction = 52, + kCoerceToDomain = 53, + kCoerceToDomainValue = 54, + kSetToDefault = 55, + kCurrentOfExpr = 56, + kNextValueExpr = 57, + kInferenceElem = 58, + kTargetEntry = 59, + kRangeTblRef = 60, + kJoinExpr = 61, + kFromExpr = 62, + kOnConflictExpr = 63, + kQuery = 64, + kTypeName = 65, + kColumnRef = 66, + kParamRef = 67, + kAExpr = 68, + kTypeCast = 69, + kCollateClause = 70, + kRoleSpec = 71, + kFuncCall = 72, + kAStar = 73, + kAIndices = 74, + kAIndirection = 75, + kAArrayExpr = 76, + kResTarget = 77, + kMultiAssignRef = 78, + kSortBy = 79, + kWindowDef = 80, + kRangeSubselect = 81, + kRangeFunction = 82, + kRangeTableFunc = 83, + kRangeTableFuncCol = 84, + kRangeTableSample = 85, + kColumnDef = 86, + kTableLikeClause = 87, + kIndexElem = 88, + kDefElem = 89, + kLockingClause = 90, + kXmlSerialize = 91, + kPartitionElem = 92, + kPartitionSpec = 93, + kPartitionBoundSpec = 94, + kPartitionRangeDatum = 95, + kSinglePartitionSpec = 96, + kPartitionCmd = 97, + kRangeTblEntry = 98, + kRtepermissionInfo = 99, + kRangeTblFunction = 100, + kTableSampleClause = 101, + kWithCheckOption = 102, + kSortGroupClause = 103, + kGroupingSet = 104, + kWindowClause = 105, + kRowMarkClause = 106, + kWithClause = 107, + kInferClause = 108, + kOnConflictClause = 109, + kCtesearchClause = 110, + kCtecycleClause = 111, + kCommonTableExpr = 112, + kMergeWhenClause = 113, + kTriggerTransition = 114, + kJsonOutput = 115, + kJsonArgument = 116, + kJsonFuncExpr = 117, + kJsonTablePathSpec = 118, + kJsonTable = 119, + kJsonTableColumn = 120, + kJsonKeyValue = 121, + kJsonParseExpr = 122, + kJsonScalarExpr = 123, + kJsonSerializeExpr = 124, + kJsonObjectConstructor = 125, + kJsonArrayConstructor = 126, + kJsonArrayQueryConstructor = 127, + kJsonAggConstructor = 128, + kJsonObjectAgg = 129, + kJsonArrayAgg = 130, + kRawStmt = 131, + kInsertStmt = 132, + kDeleteStmt = 133, + kUpdateStmt = 134, + kMergeStmt = 135, + kSelectStmt = 136, + kSetOperationStmt = 137, + kReturnStmt = 138, + kPlassignStmt = 139, + kCreateSchemaStmt = 140, + kAlterTableStmt = 141, + kReplicaIdentityStmt = 142, + kAlterTableCmd = 143, + kAlterCollationStmt = 144, + kAlterDomainStmt = 145, + kGrantStmt = 146, + kObjectWithArgs = 147, + kAccessPriv = 148, + kGrantRoleStmt = 149, + kAlterDefaultPrivilegesStmt = 150, + kCopyStmt = 151, + kVariableSetStmt = 152, + kVariableShowStmt = 153, + kCreateStmt = 154, + kConstraint = 155, + kCreateTableSpaceStmt = 156, + kDropTableSpaceStmt = 157, + kAlterTableSpaceOptionsStmt = 158, + kAlterTableMoveAllStmt = 159, + kCreateExtensionStmt = 160, + kAlterExtensionStmt = 161, + kAlterExtensionContentsStmt = 162, + kCreateFdwStmt = 163, + kAlterFdwStmt = 164, + kCreateForeignServerStmt = 165, + kAlterForeignServerStmt = 166, + kCreateForeignTableStmt = 167, + kCreateUserMappingStmt = 168, + kAlterUserMappingStmt = 169, + kDropUserMappingStmt = 170, + kImportForeignSchemaStmt = 171, + kCreatePolicyStmt = 172, + kAlterPolicyStmt = 173, + kCreateAmStmt = 174, + kCreateTrigStmt = 175, + kCreateEventTrigStmt = 176, + kAlterEventTrigStmt = 177, + kCreatePlangStmt = 178, + kCreateRoleStmt = 179, + kAlterRoleStmt = 180, + kAlterRoleSetStmt = 181, + kDropRoleStmt = 182, + kCreateSeqStmt = 183, + kAlterSeqStmt = 184, + kDefineStmt = 185, + kCreateDomainStmt = 186, + kCreateOpClassStmt = 187, + kCreateOpClassItem = 188, + kCreateOpFamilyStmt = 189, + kAlterOpFamilyStmt = 190, + kDropStmt = 191, + kTruncateStmt = 192, + kCommentStmt = 193, + kSecLabelStmt = 194, + kDeclareCursorStmt = 195, + kClosePortalStmt = 196, + kFetchStmt = 197, + kIndexStmt = 198, + kCreateStatsStmt = 199, + kStatsElem = 200, + kAlterStatsStmt = 201, + kCreateFunctionStmt = 202, + kFunctionParameter = 203, + kAlterFunctionStmt = 204, + kDoStmt = 205, + kInlineCodeBlock = 206, + kCallStmt = 207, + kCallContext = 208, + kRenameStmt = 209, + kAlterObjectDependsStmt = 210, + kAlterObjectSchemaStmt = 211, + kAlterOwnerStmt = 212, + kAlterOperatorStmt = 213, + kAlterTypeStmt = 214, + kRuleStmt = 215, + kNotifyStmt = 216, + kListenStmt = 217, + kUnlistenStmt = 218, + kTransactionStmt = 219, + kCompositeTypeStmt = 220, + kCreateEnumStmt = 221, + kCreateRangeStmt = 222, + kAlterEnumStmt = 223, + kViewStmt = 224, + kLoadStmt = 225, + kCreatedbStmt = 226, + kAlterDatabaseStmt = 227, + kAlterDatabaseRefreshCollStmt = 228, + kAlterDatabaseSetStmt = 229, + kDropdbStmt = 230, + kAlterSystemStmt = 231, + kClusterStmt = 232, + kVacuumStmt = 233, + kVacuumRelation = 234, + kExplainStmt = 235, + kCreateTableAsStmt = 236, + kRefreshMatViewStmt = 237, + kCheckPointStmt = 238, + kDiscardStmt = 239, + kLockStmt = 240, + kConstraintsSetStmt = 241, + kReindexStmt = 242, + kCreateConversionStmt = 243, + kCreateCastStmt = 244, + kCreateTransformStmt = 245, + kPrepareStmt = 246, + kExecuteStmt = 247, + kDeallocateStmt = 248, + kDropOwnedStmt = 249, + kReassignOwnedStmt = 250, + kAlterTsdictionaryStmt = 251, + kAlterTsconfigurationStmt = 252, + kPublicationTable = 253, + kPublicationObjSpec = 254, + kCreatePublicationStmt = 255, + kAlterPublicationStmt = 256, + kCreateSubscriptionStmt = 257, + kAlterSubscriptionStmt = 258, + kDropSubscriptionStmt = 259, + kInteger = 260, + kFloat = 261, + kBoolean = 262, + kString = 263, + kBitString = 264, + kList = 265, + kIntList = 266, + kOidList = 267, + kAConst = 268, + NODE_NOT_SET = 0, + }; + + static inline const Node* internal_default_instance() { + return reinterpret_cast( + &_Node_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(Node& a, Node& b) { + a.Swap(&b); + } + inline void Swap(Node* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Node* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Node* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Node& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Node& from) { + Node::MergeImpl(*this, from); + } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(Node* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Node"; + } + protected: + explicit Node(::google::protobuf::Arena* arena); + Node(::google::protobuf::Arena* arena, const Node& from); + public: + + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kAliasFieldNumber = 1, + kRangeVarFieldNumber = 2, + kTableFuncFieldNumber = 3, + kIntoClauseFieldNumber = 4, + kVarFieldNumber = 5, + kParamFieldNumber = 6, + kAggrefFieldNumber = 7, + kGroupingFuncFieldNumber = 8, + kWindowFuncFieldNumber = 9, + kWindowFuncRunConditionFieldNumber = 10, + kMergeSupportFuncFieldNumber = 11, + kSubscriptingRefFieldNumber = 12, + kFuncExprFieldNumber = 13, + kNamedArgExprFieldNumber = 14, + kOpExprFieldNumber = 15, + kDistinctExprFieldNumber = 16, + kNullIfExprFieldNumber = 17, + kScalarArrayOpExprFieldNumber = 18, + kBoolExprFieldNumber = 19, + kSubLinkFieldNumber = 20, + kSubPlanFieldNumber = 21, + kAlternativeSubPlanFieldNumber = 22, + kFieldSelectFieldNumber = 23, + kFieldStoreFieldNumber = 24, + kRelabelTypeFieldNumber = 25, + kCoerceViaIoFieldNumber = 26, + kArrayCoerceExprFieldNumber = 27, + kConvertRowtypeExprFieldNumber = 28, + kCollateExprFieldNumber = 29, + kCaseExprFieldNumber = 30, + kCaseWhenFieldNumber = 31, + kCaseTestExprFieldNumber = 32, + kArrayExprFieldNumber = 33, + kRowExprFieldNumber = 34, + kRowCompareExprFieldNumber = 35, + kCoalesceExprFieldNumber = 36, + kMinMaxExprFieldNumber = 37, + kSqlvalueFunctionFieldNumber = 38, + kXmlExprFieldNumber = 39, + kJsonFormatFieldNumber = 40, + kJsonReturningFieldNumber = 41, + kJsonValueExprFieldNumber = 42, + kJsonConstructorExprFieldNumber = 43, + kJsonIsPredicateFieldNumber = 44, + kJsonBehaviorFieldNumber = 45, + kJsonExprFieldNumber = 46, + kJsonTablePathFieldNumber = 47, + kJsonTablePathScanFieldNumber = 48, + kJsonTableSiblingJoinFieldNumber = 49, + kNullTestFieldNumber = 50, + kBooleanTestFieldNumber = 51, + kMergeActionFieldNumber = 52, + kCoerceToDomainFieldNumber = 53, + kCoerceToDomainValueFieldNumber = 54, + kSetToDefaultFieldNumber = 55, + kCurrentOfExprFieldNumber = 56, + kNextValueExprFieldNumber = 57, + kInferenceElemFieldNumber = 58, + kTargetEntryFieldNumber = 59, + kRangeTblRefFieldNumber = 60, + kJoinExprFieldNumber = 61, + kFromExprFieldNumber = 62, + kOnConflictExprFieldNumber = 63, + kQueryFieldNumber = 64, + kTypeNameFieldNumber = 65, + kColumnRefFieldNumber = 66, + kParamRefFieldNumber = 67, + kAExprFieldNumber = 68, + kTypeCastFieldNumber = 69, + kCollateClauseFieldNumber = 70, + kRoleSpecFieldNumber = 71, + kFuncCallFieldNumber = 72, + kAStarFieldNumber = 73, + kAIndicesFieldNumber = 74, + kAIndirectionFieldNumber = 75, + kAArrayExprFieldNumber = 76, + kResTargetFieldNumber = 77, + kMultiAssignRefFieldNumber = 78, + kSortByFieldNumber = 79, + kWindowDefFieldNumber = 80, + kRangeSubselectFieldNumber = 81, + kRangeFunctionFieldNumber = 82, + kRangeTableFuncFieldNumber = 83, + kRangeTableFuncColFieldNumber = 84, + kRangeTableSampleFieldNumber = 85, + kColumnDefFieldNumber = 86, + kTableLikeClauseFieldNumber = 87, + kIndexElemFieldNumber = 88, + kDefElemFieldNumber = 89, + kLockingClauseFieldNumber = 90, + kXmlSerializeFieldNumber = 91, + kPartitionElemFieldNumber = 92, + kPartitionSpecFieldNumber = 93, + kPartitionBoundSpecFieldNumber = 94, + kPartitionRangeDatumFieldNumber = 95, + kSinglePartitionSpecFieldNumber = 96, + kPartitionCmdFieldNumber = 97, + kRangeTblEntryFieldNumber = 98, + kRtepermissionInfoFieldNumber = 99, + kRangeTblFunctionFieldNumber = 100, + kTableSampleClauseFieldNumber = 101, + kWithCheckOptionFieldNumber = 102, + kSortGroupClauseFieldNumber = 103, + kGroupingSetFieldNumber = 104, + kWindowClauseFieldNumber = 105, + kRowMarkClauseFieldNumber = 106, + kWithClauseFieldNumber = 107, + kInferClauseFieldNumber = 108, + kOnConflictClauseFieldNumber = 109, + kCtesearchClauseFieldNumber = 110, + kCtecycleClauseFieldNumber = 111, + kCommonTableExprFieldNumber = 112, + kMergeWhenClauseFieldNumber = 113, + kTriggerTransitionFieldNumber = 114, + kJsonOutputFieldNumber = 115, + kJsonArgumentFieldNumber = 116, + kJsonFuncExprFieldNumber = 117, + kJsonTablePathSpecFieldNumber = 118, + kJsonTableFieldNumber = 119, + kJsonTableColumnFieldNumber = 120, + kJsonKeyValueFieldNumber = 121, + kJsonParseExprFieldNumber = 122, + kJsonScalarExprFieldNumber = 123, + kJsonSerializeExprFieldNumber = 124, + kJsonObjectConstructorFieldNumber = 125, + kJsonArrayConstructorFieldNumber = 126, + kJsonArrayQueryConstructorFieldNumber = 127, + kJsonAggConstructorFieldNumber = 128, + kJsonObjectAggFieldNumber = 129, + kJsonArrayAggFieldNumber = 130, + kRawStmtFieldNumber = 131, + kInsertStmtFieldNumber = 132, + kDeleteStmtFieldNumber = 133, + kUpdateStmtFieldNumber = 134, + kMergeStmtFieldNumber = 135, + kSelectStmtFieldNumber = 136, + kSetOperationStmtFieldNumber = 137, + kReturnStmtFieldNumber = 138, + kPlassignStmtFieldNumber = 139, + kCreateSchemaStmtFieldNumber = 140, + kAlterTableStmtFieldNumber = 141, + kReplicaIdentityStmtFieldNumber = 142, + kAlterTableCmdFieldNumber = 143, + kAlterCollationStmtFieldNumber = 144, + kAlterDomainStmtFieldNumber = 145, + kGrantStmtFieldNumber = 146, + kObjectWithArgsFieldNumber = 147, + kAccessPrivFieldNumber = 148, + kGrantRoleStmtFieldNumber = 149, + kAlterDefaultPrivilegesStmtFieldNumber = 150, + kCopyStmtFieldNumber = 151, + kVariableSetStmtFieldNumber = 152, + kVariableShowStmtFieldNumber = 153, + kCreateStmtFieldNumber = 154, + kConstraintFieldNumber = 155, + kCreateTableSpaceStmtFieldNumber = 156, + kDropTableSpaceStmtFieldNumber = 157, + kAlterTableSpaceOptionsStmtFieldNumber = 158, + kAlterTableMoveAllStmtFieldNumber = 159, + kCreateExtensionStmtFieldNumber = 160, + kAlterExtensionStmtFieldNumber = 161, + kAlterExtensionContentsStmtFieldNumber = 162, + kCreateFdwStmtFieldNumber = 163, + kAlterFdwStmtFieldNumber = 164, + kCreateForeignServerStmtFieldNumber = 165, + kAlterForeignServerStmtFieldNumber = 166, + kCreateForeignTableStmtFieldNumber = 167, + kCreateUserMappingStmtFieldNumber = 168, + kAlterUserMappingStmtFieldNumber = 169, + kDropUserMappingStmtFieldNumber = 170, + kImportForeignSchemaStmtFieldNumber = 171, + kCreatePolicyStmtFieldNumber = 172, + kAlterPolicyStmtFieldNumber = 173, + kCreateAmStmtFieldNumber = 174, + kCreateTrigStmtFieldNumber = 175, + kCreateEventTrigStmtFieldNumber = 176, + kAlterEventTrigStmtFieldNumber = 177, + kCreatePlangStmtFieldNumber = 178, + kCreateRoleStmtFieldNumber = 179, + kAlterRoleStmtFieldNumber = 180, + kAlterRoleSetStmtFieldNumber = 181, + kDropRoleStmtFieldNumber = 182, + kCreateSeqStmtFieldNumber = 183, + kAlterSeqStmtFieldNumber = 184, + kDefineStmtFieldNumber = 185, + kCreateDomainStmtFieldNumber = 186, + kCreateOpClassStmtFieldNumber = 187, + kCreateOpClassItemFieldNumber = 188, + kCreateOpFamilyStmtFieldNumber = 189, + kAlterOpFamilyStmtFieldNumber = 190, + kDropStmtFieldNumber = 191, + kTruncateStmtFieldNumber = 192, + kCommentStmtFieldNumber = 193, + kSecLabelStmtFieldNumber = 194, + kDeclareCursorStmtFieldNumber = 195, + kClosePortalStmtFieldNumber = 196, + kFetchStmtFieldNumber = 197, + kIndexStmtFieldNumber = 198, + kCreateStatsStmtFieldNumber = 199, + kStatsElemFieldNumber = 200, + kAlterStatsStmtFieldNumber = 201, + kCreateFunctionStmtFieldNumber = 202, + kFunctionParameterFieldNumber = 203, + kAlterFunctionStmtFieldNumber = 204, + kDoStmtFieldNumber = 205, + kInlineCodeBlockFieldNumber = 206, + kCallStmtFieldNumber = 207, + kCallContextFieldNumber = 208, + kRenameStmtFieldNumber = 209, + kAlterObjectDependsStmtFieldNumber = 210, + kAlterObjectSchemaStmtFieldNumber = 211, + kAlterOwnerStmtFieldNumber = 212, + kAlterOperatorStmtFieldNumber = 213, + kAlterTypeStmtFieldNumber = 214, + kRuleStmtFieldNumber = 215, + kNotifyStmtFieldNumber = 216, + kListenStmtFieldNumber = 217, + kUnlistenStmtFieldNumber = 218, + kTransactionStmtFieldNumber = 219, + kCompositeTypeStmtFieldNumber = 220, + kCreateEnumStmtFieldNumber = 221, + kCreateRangeStmtFieldNumber = 222, + kAlterEnumStmtFieldNumber = 223, + kViewStmtFieldNumber = 224, + kLoadStmtFieldNumber = 225, + kCreatedbStmtFieldNumber = 226, + kAlterDatabaseStmtFieldNumber = 227, + kAlterDatabaseRefreshCollStmtFieldNumber = 228, + kAlterDatabaseSetStmtFieldNumber = 229, + kDropdbStmtFieldNumber = 230, + kAlterSystemStmtFieldNumber = 231, + kClusterStmtFieldNumber = 232, + kVacuumStmtFieldNumber = 233, + kVacuumRelationFieldNumber = 234, + kExplainStmtFieldNumber = 235, + kCreateTableAsStmtFieldNumber = 236, + kRefreshMatViewStmtFieldNumber = 237, + kCheckPointStmtFieldNumber = 238, + kDiscardStmtFieldNumber = 239, + kLockStmtFieldNumber = 240, + kConstraintsSetStmtFieldNumber = 241, + kReindexStmtFieldNumber = 242, + kCreateConversionStmtFieldNumber = 243, + kCreateCastStmtFieldNumber = 244, + kCreateTransformStmtFieldNumber = 245, + kPrepareStmtFieldNumber = 246, + kExecuteStmtFieldNumber = 247, + kDeallocateStmtFieldNumber = 248, + kDropOwnedStmtFieldNumber = 249, + kReassignOwnedStmtFieldNumber = 250, + kAlterTsdictionaryStmtFieldNumber = 251, + kAlterTsconfigurationStmtFieldNumber = 252, + kPublicationTableFieldNumber = 253, + kPublicationObjSpecFieldNumber = 254, + kCreatePublicationStmtFieldNumber = 255, + kAlterPublicationStmtFieldNumber = 256, + kCreateSubscriptionStmtFieldNumber = 257, + kAlterSubscriptionStmtFieldNumber = 258, + kDropSubscriptionStmtFieldNumber = 259, + kIntegerFieldNumber = 260, + kFloatFieldNumber = 261, + kBooleanFieldNumber = 262, + kStringFieldNumber = 263, + kBitStringFieldNumber = 264, + kListFieldNumber = 265, + kIntListFieldNumber = 266, + kOidListFieldNumber = 267, + kAConstFieldNumber = 268, + }; + // .pg_query.Alias alias = 1 [json_name = "Alias"]; + bool has_alias() const; + private: + bool _internal_has_alias() const; + + public: + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + + public: + // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; + bool has_range_var() const; + private: + bool _internal_has_range_var() const; + + public: + void clear_range_var() ; + const ::pg_query::RangeVar& range_var() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_range_var(); + ::pg_query::RangeVar* mutable_range_var(); + void set_allocated_range_var(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_range_var(); + + private: + const ::pg_query::RangeVar& _internal_range_var() const; + ::pg_query::RangeVar* _internal_mutable_range_var(); + + public: + // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; + bool has_table_func() const; + private: + bool _internal_has_table_func() const; + + public: + void clear_table_func() ; + const ::pg_query::TableFunc& table_func() const; + PROTOBUF_NODISCARD ::pg_query::TableFunc* release_table_func(); + ::pg_query::TableFunc* mutable_table_func(); + void set_allocated_table_func(::pg_query::TableFunc* value); + void unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value); + ::pg_query::TableFunc* unsafe_arena_release_table_func(); + + private: + const ::pg_query::TableFunc& _internal_table_func() const; + ::pg_query::TableFunc* _internal_mutable_table_func(); + + public: + // .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; + bool has_into_clause() const; + private: + bool _internal_has_into_clause() const; + + public: + void clear_into_clause() ; + const ::pg_query::IntoClause& into_clause() const; + PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); + ::pg_query::IntoClause* mutable_into_clause(); + void set_allocated_into_clause(::pg_query::IntoClause* value); + void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); + ::pg_query::IntoClause* unsafe_arena_release_into_clause(); + + private: + const ::pg_query::IntoClause& _internal_into_clause() const; + ::pg_query::IntoClause* _internal_mutable_into_clause(); + + public: + // .pg_query.Var var = 5 [json_name = "Var"]; + bool has_var() const; + private: + bool _internal_has_var() const; + + public: + void clear_var() ; + const ::pg_query::Var& var() const; + PROTOBUF_NODISCARD ::pg_query::Var* release_var(); + ::pg_query::Var* mutable_var(); + void set_allocated_var(::pg_query::Var* value); + void unsafe_arena_set_allocated_var(::pg_query::Var* value); + ::pg_query::Var* unsafe_arena_release_var(); + + private: + const ::pg_query::Var& _internal_var() const; + ::pg_query::Var* _internal_mutable_var(); + + public: + // .pg_query.Param param = 6 [json_name = "Param"]; + bool has_param() const; + private: + bool _internal_has_param() const; + + public: + void clear_param() ; + const ::pg_query::Param& param() const; + PROTOBUF_NODISCARD ::pg_query::Param* release_param(); + ::pg_query::Param* mutable_param(); + void set_allocated_param(::pg_query::Param* value); + void unsafe_arena_set_allocated_param(::pg_query::Param* value); + ::pg_query::Param* unsafe_arena_release_param(); + + private: + const ::pg_query::Param& _internal_param() const; + ::pg_query::Param* _internal_mutable_param(); + + public: + // .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; + bool has_aggref() const; + private: + bool _internal_has_aggref() const; + + public: + void clear_aggref() ; + const ::pg_query::Aggref& aggref() const; + PROTOBUF_NODISCARD ::pg_query::Aggref* release_aggref(); + ::pg_query::Aggref* mutable_aggref(); + void set_allocated_aggref(::pg_query::Aggref* value); + void unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value); + ::pg_query::Aggref* unsafe_arena_release_aggref(); + + private: + const ::pg_query::Aggref& _internal_aggref() const; + ::pg_query::Aggref* _internal_mutable_aggref(); + + public: + // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; + bool has_grouping_func() const; + private: + bool _internal_has_grouping_func() const; + + public: + void clear_grouping_func() ; + const ::pg_query::GroupingFunc& grouping_func() const; + PROTOBUF_NODISCARD ::pg_query::GroupingFunc* release_grouping_func(); + ::pg_query::GroupingFunc* mutable_grouping_func(); + void set_allocated_grouping_func(::pg_query::GroupingFunc* value); + void unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value); + ::pg_query::GroupingFunc* unsafe_arena_release_grouping_func(); + + private: + const ::pg_query::GroupingFunc& _internal_grouping_func() const; + ::pg_query::GroupingFunc* _internal_mutable_grouping_func(); + + public: + // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; + bool has_window_func() const; + private: + bool _internal_has_window_func() const; + + public: + void clear_window_func() ; + const ::pg_query::WindowFunc& window_func() const; + PROTOBUF_NODISCARD ::pg_query::WindowFunc* release_window_func(); + ::pg_query::WindowFunc* mutable_window_func(); + void set_allocated_window_func(::pg_query::WindowFunc* value); + void unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value); + ::pg_query::WindowFunc* unsafe_arena_release_window_func(); + + private: + const ::pg_query::WindowFunc& _internal_window_func() const; + ::pg_query::WindowFunc* _internal_mutable_window_func(); + + public: + // .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"]; + bool has_window_func_run_condition() const; + private: + bool _internal_has_window_func_run_condition() const; + + public: + void clear_window_func_run_condition() ; + const ::pg_query::WindowFuncRunCondition& window_func_run_condition() const; + PROTOBUF_NODISCARD ::pg_query::WindowFuncRunCondition* release_window_func_run_condition(); + ::pg_query::WindowFuncRunCondition* mutable_window_func_run_condition(); + void set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value); + void unsafe_arena_set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value); + ::pg_query::WindowFuncRunCondition* unsafe_arena_release_window_func_run_condition(); + + private: + const ::pg_query::WindowFuncRunCondition& _internal_window_func_run_condition() const; + ::pg_query::WindowFuncRunCondition* _internal_mutable_window_func_run_condition(); + + public: + // .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"]; + bool has_merge_support_func() const; + private: + bool _internal_has_merge_support_func() const; + + public: + void clear_merge_support_func() ; + const ::pg_query::MergeSupportFunc& merge_support_func() const; + PROTOBUF_NODISCARD ::pg_query::MergeSupportFunc* release_merge_support_func(); + ::pg_query::MergeSupportFunc* mutable_merge_support_func(); + void set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value); + void unsafe_arena_set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value); + ::pg_query::MergeSupportFunc* unsafe_arena_release_merge_support_func(); + + private: + const ::pg_query::MergeSupportFunc& _internal_merge_support_func() const; + ::pg_query::MergeSupportFunc* _internal_mutable_merge_support_func(); + + public: + // .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"]; + bool has_subscripting_ref() const; + private: + bool _internal_has_subscripting_ref() const; + + public: + void clear_subscripting_ref() ; + const ::pg_query::SubscriptingRef& subscripting_ref() const; + PROTOBUF_NODISCARD ::pg_query::SubscriptingRef* release_subscripting_ref(); + ::pg_query::SubscriptingRef* mutable_subscripting_ref(); + void set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); + void unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value); + ::pg_query::SubscriptingRef* unsafe_arena_release_subscripting_ref(); + + private: + const ::pg_query::SubscriptingRef& _internal_subscripting_ref() const; + ::pg_query::SubscriptingRef* _internal_mutable_subscripting_ref(); + + public: + // .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"]; + bool has_func_expr() const; + private: + bool _internal_has_func_expr() const; + + public: + void clear_func_expr() ; + const ::pg_query::FuncExpr& func_expr() const; + PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_func_expr(); + ::pg_query::FuncExpr* mutable_func_expr(); + void set_allocated_func_expr(::pg_query::FuncExpr* value); + void unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value); + ::pg_query::FuncExpr* unsafe_arena_release_func_expr(); + + private: + const ::pg_query::FuncExpr& _internal_func_expr() const; + ::pg_query::FuncExpr* _internal_mutable_func_expr(); + + public: + // .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"]; + bool has_named_arg_expr() const; + private: + bool _internal_has_named_arg_expr() const; + + public: + void clear_named_arg_expr() ; + const ::pg_query::NamedArgExpr& named_arg_expr() const; + PROTOBUF_NODISCARD ::pg_query::NamedArgExpr* release_named_arg_expr(); + ::pg_query::NamedArgExpr* mutable_named_arg_expr(); + void set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); + void unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value); + ::pg_query::NamedArgExpr* unsafe_arena_release_named_arg_expr(); + + private: + const ::pg_query::NamedArgExpr& _internal_named_arg_expr() const; + ::pg_query::NamedArgExpr* _internal_mutable_named_arg_expr(); + + public: + // .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"]; + bool has_op_expr() const; + private: + bool _internal_has_op_expr() const; + + public: + void clear_op_expr() ; + const ::pg_query::OpExpr& op_expr() const; + PROTOBUF_NODISCARD ::pg_query::OpExpr* release_op_expr(); + ::pg_query::OpExpr* mutable_op_expr(); + void set_allocated_op_expr(::pg_query::OpExpr* value); + void unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value); + ::pg_query::OpExpr* unsafe_arena_release_op_expr(); + + private: + const ::pg_query::OpExpr& _internal_op_expr() const; + ::pg_query::OpExpr* _internal_mutable_op_expr(); + + public: + // .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"]; + bool has_distinct_expr() const; + private: + bool _internal_has_distinct_expr() const; + + public: + void clear_distinct_expr() ; + const ::pg_query::DistinctExpr& distinct_expr() const; + PROTOBUF_NODISCARD ::pg_query::DistinctExpr* release_distinct_expr(); + ::pg_query::DistinctExpr* mutable_distinct_expr(); + void set_allocated_distinct_expr(::pg_query::DistinctExpr* value); + void unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value); + ::pg_query::DistinctExpr* unsafe_arena_release_distinct_expr(); + + private: + const ::pg_query::DistinctExpr& _internal_distinct_expr() const; + ::pg_query::DistinctExpr* _internal_mutable_distinct_expr(); + + public: + // .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"]; + bool has_null_if_expr() const; + private: + bool _internal_has_null_if_expr() const; + + public: + void clear_null_if_expr() ; + const ::pg_query::NullIfExpr& null_if_expr() const; + PROTOBUF_NODISCARD ::pg_query::NullIfExpr* release_null_if_expr(); + ::pg_query::NullIfExpr* mutable_null_if_expr(); + void set_allocated_null_if_expr(::pg_query::NullIfExpr* value); + void unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value); + ::pg_query::NullIfExpr* unsafe_arena_release_null_if_expr(); + + private: + const ::pg_query::NullIfExpr& _internal_null_if_expr() const; + ::pg_query::NullIfExpr* _internal_mutable_null_if_expr(); + + public: + // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"]; + bool has_scalar_array_op_expr() const; + private: + bool _internal_has_scalar_array_op_expr() const; + + public: + void clear_scalar_array_op_expr() ; + const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr() const; + PROTOBUF_NODISCARD ::pg_query::ScalarArrayOpExpr* release_scalar_array_op_expr(); + ::pg_query::ScalarArrayOpExpr* mutable_scalar_array_op_expr(); + void set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); + void unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value); + ::pg_query::ScalarArrayOpExpr* unsafe_arena_release_scalar_array_op_expr(); + + private: + const ::pg_query::ScalarArrayOpExpr& _internal_scalar_array_op_expr() const; + ::pg_query::ScalarArrayOpExpr* _internal_mutable_scalar_array_op_expr(); + + public: + // .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"]; + bool has_bool_expr() const; + private: + bool _internal_has_bool_expr() const; + + public: + void clear_bool_expr() ; + const ::pg_query::BoolExpr& bool_expr() const; + PROTOBUF_NODISCARD ::pg_query::BoolExpr* release_bool_expr(); + ::pg_query::BoolExpr* mutable_bool_expr(); + void set_allocated_bool_expr(::pg_query::BoolExpr* value); + void unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value); + ::pg_query::BoolExpr* unsafe_arena_release_bool_expr(); + + private: + const ::pg_query::BoolExpr& _internal_bool_expr() const; + ::pg_query::BoolExpr* _internal_mutable_bool_expr(); + + public: + // .pg_query.SubLink sub_link = 20 [json_name = "SubLink"]; + bool has_sub_link() const; + private: + bool _internal_has_sub_link() const; + + public: + void clear_sub_link() ; + const ::pg_query::SubLink& sub_link() const; + PROTOBUF_NODISCARD ::pg_query::SubLink* release_sub_link(); + ::pg_query::SubLink* mutable_sub_link(); + void set_allocated_sub_link(::pg_query::SubLink* value); + void unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value); + ::pg_query::SubLink* unsafe_arena_release_sub_link(); + + private: + const ::pg_query::SubLink& _internal_sub_link() const; + ::pg_query::SubLink* _internal_mutable_sub_link(); + + public: + // .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"]; + bool has_sub_plan() const; + private: + bool _internal_has_sub_plan() const; + + public: + void clear_sub_plan() ; + const ::pg_query::SubPlan& sub_plan() const; + PROTOBUF_NODISCARD ::pg_query::SubPlan* release_sub_plan(); + ::pg_query::SubPlan* mutable_sub_plan(); + void set_allocated_sub_plan(::pg_query::SubPlan* value); + void unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value); + ::pg_query::SubPlan* unsafe_arena_release_sub_plan(); + + private: + const ::pg_query::SubPlan& _internal_sub_plan() const; + ::pg_query::SubPlan* _internal_mutable_sub_plan(); + + public: + // .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"]; + bool has_alternative_sub_plan() const; + private: + bool _internal_has_alternative_sub_plan() const; + + public: + void clear_alternative_sub_plan() ; + const ::pg_query::AlternativeSubPlan& alternative_sub_plan() const; + PROTOBUF_NODISCARD ::pg_query::AlternativeSubPlan* release_alternative_sub_plan(); + ::pg_query::AlternativeSubPlan* mutable_alternative_sub_plan(); + void set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); + void unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value); + ::pg_query::AlternativeSubPlan* unsafe_arena_release_alternative_sub_plan(); + + private: + const ::pg_query::AlternativeSubPlan& _internal_alternative_sub_plan() const; + ::pg_query::AlternativeSubPlan* _internal_mutable_alternative_sub_plan(); + + public: + // .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"]; + bool has_field_select() const; + private: + bool _internal_has_field_select() const; + + public: + void clear_field_select() ; + const ::pg_query::FieldSelect& field_select() const; + PROTOBUF_NODISCARD ::pg_query::FieldSelect* release_field_select(); + ::pg_query::FieldSelect* mutable_field_select(); + void set_allocated_field_select(::pg_query::FieldSelect* value); + void unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value); + ::pg_query::FieldSelect* unsafe_arena_release_field_select(); + + private: + const ::pg_query::FieldSelect& _internal_field_select() const; + ::pg_query::FieldSelect* _internal_mutable_field_select(); + + public: + // .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"]; + bool has_field_store() const; + private: + bool _internal_has_field_store() const; + + public: + void clear_field_store() ; + const ::pg_query::FieldStore& field_store() const; + PROTOBUF_NODISCARD ::pg_query::FieldStore* release_field_store(); + ::pg_query::FieldStore* mutable_field_store(); + void set_allocated_field_store(::pg_query::FieldStore* value); + void unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value); + ::pg_query::FieldStore* unsafe_arena_release_field_store(); + + private: + const ::pg_query::FieldStore& _internal_field_store() const; + ::pg_query::FieldStore* _internal_mutable_field_store(); + + public: + // .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"]; + bool has_relabel_type() const; + private: + bool _internal_has_relabel_type() const; + + public: + void clear_relabel_type() ; + const ::pg_query::RelabelType& relabel_type() const; + PROTOBUF_NODISCARD ::pg_query::RelabelType* release_relabel_type(); + ::pg_query::RelabelType* mutable_relabel_type(); + void set_allocated_relabel_type(::pg_query::RelabelType* value); + void unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value); + ::pg_query::RelabelType* unsafe_arena_release_relabel_type(); + + private: + const ::pg_query::RelabelType& _internal_relabel_type() const; + ::pg_query::RelabelType* _internal_mutable_relabel_type(); + + public: + // .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"]; + bool has_coerce_via_io() const; + private: + bool _internal_has_coerce_via_io() const; + + public: + void clear_coerce_via_io() ; + const ::pg_query::CoerceViaIO& coerce_via_io() const; + PROTOBUF_NODISCARD ::pg_query::CoerceViaIO* release_coerce_via_io(); + ::pg_query::CoerceViaIO* mutable_coerce_via_io(); + void set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); + void unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value); + ::pg_query::CoerceViaIO* unsafe_arena_release_coerce_via_io(); + + private: + const ::pg_query::CoerceViaIO& _internal_coerce_via_io() const; + ::pg_query::CoerceViaIO* _internal_mutable_coerce_via_io(); + + public: + // .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"]; + bool has_array_coerce_expr() const; + private: + bool _internal_has_array_coerce_expr() const; + + public: + void clear_array_coerce_expr() ; + const ::pg_query::ArrayCoerceExpr& array_coerce_expr() const; + PROTOBUF_NODISCARD ::pg_query::ArrayCoerceExpr* release_array_coerce_expr(); + ::pg_query::ArrayCoerceExpr* mutable_array_coerce_expr(); + void set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); + void unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value); + ::pg_query::ArrayCoerceExpr* unsafe_arena_release_array_coerce_expr(); + + private: + const ::pg_query::ArrayCoerceExpr& _internal_array_coerce_expr() const; + ::pg_query::ArrayCoerceExpr* _internal_mutable_array_coerce_expr(); + + public: + // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"]; + bool has_convert_rowtype_expr() const; + private: + bool _internal_has_convert_rowtype_expr() const; + + public: + void clear_convert_rowtype_expr() ; + const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr() const; + PROTOBUF_NODISCARD ::pg_query::ConvertRowtypeExpr* release_convert_rowtype_expr(); + ::pg_query::ConvertRowtypeExpr* mutable_convert_rowtype_expr(); + void set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); + void unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value); + ::pg_query::ConvertRowtypeExpr* unsafe_arena_release_convert_rowtype_expr(); + + private: + const ::pg_query::ConvertRowtypeExpr& _internal_convert_rowtype_expr() const; + ::pg_query::ConvertRowtypeExpr* _internal_mutable_convert_rowtype_expr(); + + public: + // .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"]; + bool has_collate_expr() const; + private: + bool _internal_has_collate_expr() const; + + public: + void clear_collate_expr() ; + const ::pg_query::CollateExpr& collate_expr() const; + PROTOBUF_NODISCARD ::pg_query::CollateExpr* release_collate_expr(); + ::pg_query::CollateExpr* mutable_collate_expr(); + void set_allocated_collate_expr(::pg_query::CollateExpr* value); + void unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value); + ::pg_query::CollateExpr* unsafe_arena_release_collate_expr(); + + private: + const ::pg_query::CollateExpr& _internal_collate_expr() const; + ::pg_query::CollateExpr* _internal_mutable_collate_expr(); + + public: + // .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"]; + bool has_case_expr() const; + private: + bool _internal_has_case_expr() const; + + public: + void clear_case_expr() ; + const ::pg_query::CaseExpr& case_expr() const; + PROTOBUF_NODISCARD ::pg_query::CaseExpr* release_case_expr(); + ::pg_query::CaseExpr* mutable_case_expr(); + void set_allocated_case_expr(::pg_query::CaseExpr* value); + void unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value); + ::pg_query::CaseExpr* unsafe_arena_release_case_expr(); + + private: + const ::pg_query::CaseExpr& _internal_case_expr() const; + ::pg_query::CaseExpr* _internal_mutable_case_expr(); + + public: + // .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"]; + bool has_case_when() const; + private: + bool _internal_has_case_when() const; + + public: + void clear_case_when() ; + const ::pg_query::CaseWhen& case_when() const; + PROTOBUF_NODISCARD ::pg_query::CaseWhen* release_case_when(); + ::pg_query::CaseWhen* mutable_case_when(); + void set_allocated_case_when(::pg_query::CaseWhen* value); + void unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value); + ::pg_query::CaseWhen* unsafe_arena_release_case_when(); + + private: + const ::pg_query::CaseWhen& _internal_case_when() const; + ::pg_query::CaseWhen* _internal_mutable_case_when(); + + public: + // .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"]; + bool has_case_test_expr() const; + private: + bool _internal_has_case_test_expr() const; + + public: + void clear_case_test_expr() ; + const ::pg_query::CaseTestExpr& case_test_expr() const; + PROTOBUF_NODISCARD ::pg_query::CaseTestExpr* release_case_test_expr(); + ::pg_query::CaseTestExpr* mutable_case_test_expr(); + void set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); + void unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value); + ::pg_query::CaseTestExpr* unsafe_arena_release_case_test_expr(); + + private: + const ::pg_query::CaseTestExpr& _internal_case_test_expr() const; + ::pg_query::CaseTestExpr* _internal_mutable_case_test_expr(); + + public: + // .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"]; + bool has_array_expr() const; + private: + bool _internal_has_array_expr() const; + + public: + void clear_array_expr() ; + const ::pg_query::ArrayExpr& array_expr() const; + PROTOBUF_NODISCARD ::pg_query::ArrayExpr* release_array_expr(); + ::pg_query::ArrayExpr* mutable_array_expr(); + void set_allocated_array_expr(::pg_query::ArrayExpr* value); + void unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value); + ::pg_query::ArrayExpr* unsafe_arena_release_array_expr(); + + private: + const ::pg_query::ArrayExpr& _internal_array_expr() const; + ::pg_query::ArrayExpr* _internal_mutable_array_expr(); + + public: + // .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"]; + bool has_row_expr() const; + private: + bool _internal_has_row_expr() const; + + public: + void clear_row_expr() ; + const ::pg_query::RowExpr& row_expr() const; + PROTOBUF_NODISCARD ::pg_query::RowExpr* release_row_expr(); + ::pg_query::RowExpr* mutable_row_expr(); + void set_allocated_row_expr(::pg_query::RowExpr* value); + void unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value); + ::pg_query::RowExpr* unsafe_arena_release_row_expr(); + + private: + const ::pg_query::RowExpr& _internal_row_expr() const; + ::pg_query::RowExpr* _internal_mutable_row_expr(); + + public: + // .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"]; + bool has_row_compare_expr() const; + private: + bool _internal_has_row_compare_expr() const; + + public: + void clear_row_compare_expr() ; + const ::pg_query::RowCompareExpr& row_compare_expr() const; + PROTOBUF_NODISCARD ::pg_query::RowCompareExpr* release_row_compare_expr(); + ::pg_query::RowCompareExpr* mutable_row_compare_expr(); + void set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); + void unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value); + ::pg_query::RowCompareExpr* unsafe_arena_release_row_compare_expr(); + + private: + const ::pg_query::RowCompareExpr& _internal_row_compare_expr() const; + ::pg_query::RowCompareExpr* _internal_mutable_row_compare_expr(); + + public: + // .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"]; + bool has_coalesce_expr() const; + private: + bool _internal_has_coalesce_expr() const; + + public: + void clear_coalesce_expr() ; + const ::pg_query::CoalesceExpr& coalesce_expr() const; + PROTOBUF_NODISCARD ::pg_query::CoalesceExpr* release_coalesce_expr(); + ::pg_query::CoalesceExpr* mutable_coalesce_expr(); + void set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); + void unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value); + ::pg_query::CoalesceExpr* unsafe_arena_release_coalesce_expr(); + + private: + const ::pg_query::CoalesceExpr& _internal_coalesce_expr() const; + ::pg_query::CoalesceExpr* _internal_mutable_coalesce_expr(); + + public: + // .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"]; + bool has_min_max_expr() const; + private: + bool _internal_has_min_max_expr() const; + + public: + void clear_min_max_expr() ; + const ::pg_query::MinMaxExpr& min_max_expr() const; + PROTOBUF_NODISCARD ::pg_query::MinMaxExpr* release_min_max_expr(); + ::pg_query::MinMaxExpr* mutable_min_max_expr(); + void set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); + void unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value); + ::pg_query::MinMaxExpr* unsafe_arena_release_min_max_expr(); + + private: + const ::pg_query::MinMaxExpr& _internal_min_max_expr() const; + ::pg_query::MinMaxExpr* _internal_mutable_min_max_expr(); + + public: + // .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"]; + bool has_sqlvalue_function() const; + private: + bool _internal_has_sqlvalue_function() const; + + public: + void clear_sqlvalue_function() ; + const ::pg_query::SQLValueFunction& sqlvalue_function() const; + PROTOBUF_NODISCARD ::pg_query::SQLValueFunction* release_sqlvalue_function(); + ::pg_query::SQLValueFunction* mutable_sqlvalue_function(); + void set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); + void unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value); + ::pg_query::SQLValueFunction* unsafe_arena_release_sqlvalue_function(); + + private: + const ::pg_query::SQLValueFunction& _internal_sqlvalue_function() const; + ::pg_query::SQLValueFunction* _internal_mutable_sqlvalue_function(); + + public: + // .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"]; + bool has_xml_expr() const; + private: + bool _internal_has_xml_expr() const; + + public: + void clear_xml_expr() ; + const ::pg_query::XmlExpr& xml_expr() const; + PROTOBUF_NODISCARD ::pg_query::XmlExpr* release_xml_expr(); + ::pg_query::XmlExpr* mutable_xml_expr(); + void set_allocated_xml_expr(::pg_query::XmlExpr* value); + void unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value); + ::pg_query::XmlExpr* unsafe_arena_release_xml_expr(); + + private: + const ::pg_query::XmlExpr& _internal_xml_expr() const; + ::pg_query::XmlExpr* _internal_mutable_xml_expr(); + + public: + // .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"]; + bool has_json_format() const; + private: + bool _internal_has_json_format() const; + + public: + void clear_json_format() ; + const ::pg_query::JsonFormat& json_format() const; + PROTOBUF_NODISCARD ::pg_query::JsonFormat* release_json_format(); + ::pg_query::JsonFormat* mutable_json_format(); + void set_allocated_json_format(::pg_query::JsonFormat* value); + void unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value); + ::pg_query::JsonFormat* unsafe_arena_release_json_format(); + + private: + const ::pg_query::JsonFormat& _internal_json_format() const; + ::pg_query::JsonFormat* _internal_mutable_json_format(); + + public: + // .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"]; + bool has_json_returning() const; + private: + bool _internal_has_json_returning() const; + + public: + void clear_json_returning() ; + const ::pg_query::JsonReturning& json_returning() const; + PROTOBUF_NODISCARD ::pg_query::JsonReturning* release_json_returning(); + ::pg_query::JsonReturning* mutable_json_returning(); + void set_allocated_json_returning(::pg_query::JsonReturning* value); + void unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value); + ::pg_query::JsonReturning* unsafe_arena_release_json_returning(); + + private: + const ::pg_query::JsonReturning& _internal_json_returning() const; + ::pg_query::JsonReturning* _internal_mutable_json_returning(); + + public: + // .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"]; + bool has_json_value_expr() const; + private: + bool _internal_has_json_value_expr() const; + + public: + void clear_json_value_expr() ; + const ::pg_query::JsonValueExpr& json_value_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonValueExpr* release_json_value_expr(); + ::pg_query::JsonValueExpr* mutable_json_value_expr(); + void set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); + void unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value); + ::pg_query::JsonValueExpr* unsafe_arena_release_json_value_expr(); + + private: + const ::pg_query::JsonValueExpr& _internal_json_value_expr() const; + ::pg_query::JsonValueExpr* _internal_mutable_json_value_expr(); + + public: + // .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"]; + bool has_json_constructor_expr() const; + private: + bool _internal_has_json_constructor_expr() const; + + public: + void clear_json_constructor_expr() ; + const ::pg_query::JsonConstructorExpr& json_constructor_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonConstructorExpr* release_json_constructor_expr(); + ::pg_query::JsonConstructorExpr* mutable_json_constructor_expr(); + void set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); + void unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value); + ::pg_query::JsonConstructorExpr* unsafe_arena_release_json_constructor_expr(); + + private: + const ::pg_query::JsonConstructorExpr& _internal_json_constructor_expr() const; + ::pg_query::JsonConstructorExpr* _internal_mutable_json_constructor_expr(); + + public: + // .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"]; + bool has_json_is_predicate() const; + private: + bool _internal_has_json_is_predicate() const; + + public: + void clear_json_is_predicate() ; + const ::pg_query::JsonIsPredicate& json_is_predicate() const; + PROTOBUF_NODISCARD ::pg_query::JsonIsPredicate* release_json_is_predicate(); + ::pg_query::JsonIsPredicate* mutable_json_is_predicate(); + void set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); + void unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value); + ::pg_query::JsonIsPredicate* unsafe_arena_release_json_is_predicate(); + + private: + const ::pg_query::JsonIsPredicate& _internal_json_is_predicate() const; + ::pg_query::JsonIsPredicate* _internal_mutable_json_is_predicate(); + + public: + // .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"]; + bool has_json_behavior() const; + private: + bool _internal_has_json_behavior() const; + + public: + void clear_json_behavior() ; + const ::pg_query::JsonBehavior& json_behavior() const; + PROTOBUF_NODISCARD ::pg_query::JsonBehavior* release_json_behavior(); + ::pg_query::JsonBehavior* mutable_json_behavior(); + void set_allocated_json_behavior(::pg_query::JsonBehavior* value); + void unsafe_arena_set_allocated_json_behavior(::pg_query::JsonBehavior* value); + ::pg_query::JsonBehavior* unsafe_arena_release_json_behavior(); + + private: + const ::pg_query::JsonBehavior& _internal_json_behavior() const; + ::pg_query::JsonBehavior* _internal_mutable_json_behavior(); + + public: + // .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"]; + bool has_json_expr() const; + private: + bool _internal_has_json_expr() const; + + public: + void clear_json_expr() ; + const ::pg_query::JsonExpr& json_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonExpr* release_json_expr(); + ::pg_query::JsonExpr* mutable_json_expr(); + void set_allocated_json_expr(::pg_query::JsonExpr* value); + void unsafe_arena_set_allocated_json_expr(::pg_query::JsonExpr* value); + ::pg_query::JsonExpr* unsafe_arena_release_json_expr(); + + private: + const ::pg_query::JsonExpr& _internal_json_expr() const; + ::pg_query::JsonExpr* _internal_mutable_json_expr(); + + public: + // .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"]; + bool has_json_table_path() const; + private: + bool _internal_has_json_table_path() const; + + public: + void clear_json_table_path() ; + const ::pg_query::JsonTablePath& json_table_path() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePath* release_json_table_path(); + ::pg_query::JsonTablePath* mutable_json_table_path(); + void set_allocated_json_table_path(::pg_query::JsonTablePath* value); + void unsafe_arena_set_allocated_json_table_path(::pg_query::JsonTablePath* value); + ::pg_query::JsonTablePath* unsafe_arena_release_json_table_path(); + + private: + const ::pg_query::JsonTablePath& _internal_json_table_path() const; + ::pg_query::JsonTablePath* _internal_mutable_json_table_path(); + + public: + // .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"]; + bool has_json_table_path_scan() const; + private: + bool _internal_has_json_table_path_scan() const; + + public: + void clear_json_table_path_scan() ; + const ::pg_query::JsonTablePathScan& json_table_path_scan() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathScan* release_json_table_path_scan(); + ::pg_query::JsonTablePathScan* mutable_json_table_path_scan(); + void set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value); + void unsafe_arena_set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value); + ::pg_query::JsonTablePathScan* unsafe_arena_release_json_table_path_scan(); + + private: + const ::pg_query::JsonTablePathScan& _internal_json_table_path_scan() const; + ::pg_query::JsonTablePathScan* _internal_mutable_json_table_path_scan(); + + public: + // .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"]; + bool has_json_table_sibling_join() const; + private: + bool _internal_has_json_table_sibling_join() const; + + public: + void clear_json_table_sibling_join() ; + const ::pg_query::JsonTableSiblingJoin& json_table_sibling_join() const; + PROTOBUF_NODISCARD ::pg_query::JsonTableSiblingJoin* release_json_table_sibling_join(); + ::pg_query::JsonTableSiblingJoin* mutable_json_table_sibling_join(); + void set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value); + void unsafe_arena_set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value); + ::pg_query::JsonTableSiblingJoin* unsafe_arena_release_json_table_sibling_join(); + + private: + const ::pg_query::JsonTableSiblingJoin& _internal_json_table_sibling_join() const; + ::pg_query::JsonTableSiblingJoin* _internal_mutable_json_table_sibling_join(); + + public: + // .pg_query.NullTest null_test = 50 [json_name = "NullTest"]; + bool has_null_test() const; + private: + bool _internal_has_null_test() const; + + public: + void clear_null_test() ; + const ::pg_query::NullTest& null_test() const; + PROTOBUF_NODISCARD ::pg_query::NullTest* release_null_test(); + ::pg_query::NullTest* mutable_null_test(); + void set_allocated_null_test(::pg_query::NullTest* value); + void unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value); + ::pg_query::NullTest* unsafe_arena_release_null_test(); + + private: + const ::pg_query::NullTest& _internal_null_test() const; + ::pg_query::NullTest* _internal_mutable_null_test(); + + public: + // .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"]; + bool has_boolean_test() const; + private: + bool _internal_has_boolean_test() const; + + public: + void clear_boolean_test() ; + const ::pg_query::BooleanTest& boolean_test() const; + PROTOBUF_NODISCARD ::pg_query::BooleanTest* release_boolean_test(); + ::pg_query::BooleanTest* mutable_boolean_test(); + void set_allocated_boolean_test(::pg_query::BooleanTest* value); + void unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value); + ::pg_query::BooleanTest* unsafe_arena_release_boolean_test(); + + private: + const ::pg_query::BooleanTest& _internal_boolean_test() const; + ::pg_query::BooleanTest* _internal_mutable_boolean_test(); + + public: + // .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"]; + bool has_merge_action() const; + private: + bool _internal_has_merge_action() const; + + public: + void clear_merge_action() ; + const ::pg_query::MergeAction& merge_action() const; + PROTOBUF_NODISCARD ::pg_query::MergeAction* release_merge_action(); + ::pg_query::MergeAction* mutable_merge_action(); + void set_allocated_merge_action(::pg_query::MergeAction* value); + void unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value); + ::pg_query::MergeAction* unsafe_arena_release_merge_action(); + + private: + const ::pg_query::MergeAction& _internal_merge_action() const; + ::pg_query::MergeAction* _internal_mutable_merge_action(); + + public: + // .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"]; + bool has_coerce_to_domain() const; + private: + bool _internal_has_coerce_to_domain() const; + + public: + void clear_coerce_to_domain() ; + const ::pg_query::CoerceToDomain& coerce_to_domain() const; + PROTOBUF_NODISCARD ::pg_query::CoerceToDomain* release_coerce_to_domain(); + ::pg_query::CoerceToDomain* mutable_coerce_to_domain(); + void set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); + void unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value); + ::pg_query::CoerceToDomain* unsafe_arena_release_coerce_to_domain(); + + private: + const ::pg_query::CoerceToDomain& _internal_coerce_to_domain() const; + ::pg_query::CoerceToDomain* _internal_mutable_coerce_to_domain(); + + public: + // .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"]; + bool has_coerce_to_domain_value() const; + private: + bool _internal_has_coerce_to_domain_value() const; + + public: + void clear_coerce_to_domain_value() ; + const ::pg_query::CoerceToDomainValue& coerce_to_domain_value() const; + PROTOBUF_NODISCARD ::pg_query::CoerceToDomainValue* release_coerce_to_domain_value(); + ::pg_query::CoerceToDomainValue* mutable_coerce_to_domain_value(); + void set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); + void unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value); + ::pg_query::CoerceToDomainValue* unsafe_arena_release_coerce_to_domain_value(); + + private: + const ::pg_query::CoerceToDomainValue& _internal_coerce_to_domain_value() const; + ::pg_query::CoerceToDomainValue* _internal_mutable_coerce_to_domain_value(); + + public: + // .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"]; + bool has_set_to_default() const; + private: + bool _internal_has_set_to_default() const; + + public: + void clear_set_to_default() ; + const ::pg_query::SetToDefault& set_to_default() const; + PROTOBUF_NODISCARD ::pg_query::SetToDefault* release_set_to_default(); + ::pg_query::SetToDefault* mutable_set_to_default(); + void set_allocated_set_to_default(::pg_query::SetToDefault* value); + void unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value); + ::pg_query::SetToDefault* unsafe_arena_release_set_to_default(); + + private: + const ::pg_query::SetToDefault& _internal_set_to_default() const; + ::pg_query::SetToDefault* _internal_mutable_set_to_default(); + + public: + // .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"]; + bool has_current_of_expr() const; + private: + bool _internal_has_current_of_expr() const; + + public: + void clear_current_of_expr() ; + const ::pg_query::CurrentOfExpr& current_of_expr() const; + PROTOBUF_NODISCARD ::pg_query::CurrentOfExpr* release_current_of_expr(); + ::pg_query::CurrentOfExpr* mutable_current_of_expr(); + void set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); + void unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value); + ::pg_query::CurrentOfExpr* unsafe_arena_release_current_of_expr(); + + private: + const ::pg_query::CurrentOfExpr& _internal_current_of_expr() const; + ::pg_query::CurrentOfExpr* _internal_mutable_current_of_expr(); + + public: + // .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"]; + bool has_next_value_expr() const; + private: + bool _internal_has_next_value_expr() const; + + public: + void clear_next_value_expr() ; + const ::pg_query::NextValueExpr& next_value_expr() const; + PROTOBUF_NODISCARD ::pg_query::NextValueExpr* release_next_value_expr(); + ::pg_query::NextValueExpr* mutable_next_value_expr(); + void set_allocated_next_value_expr(::pg_query::NextValueExpr* value); + void unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value); + ::pg_query::NextValueExpr* unsafe_arena_release_next_value_expr(); + + private: + const ::pg_query::NextValueExpr& _internal_next_value_expr() const; + ::pg_query::NextValueExpr* _internal_mutable_next_value_expr(); + + public: + // .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"]; + bool has_inference_elem() const; + private: + bool _internal_has_inference_elem() const; + + public: + void clear_inference_elem() ; + const ::pg_query::InferenceElem& inference_elem() const; + PROTOBUF_NODISCARD ::pg_query::InferenceElem* release_inference_elem(); + ::pg_query::InferenceElem* mutable_inference_elem(); + void set_allocated_inference_elem(::pg_query::InferenceElem* value); + void unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value); + ::pg_query::InferenceElem* unsafe_arena_release_inference_elem(); + + private: + const ::pg_query::InferenceElem& _internal_inference_elem() const; + ::pg_query::InferenceElem* _internal_mutable_inference_elem(); + + public: + // .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"]; + bool has_target_entry() const; + private: + bool _internal_has_target_entry() const; + + public: + void clear_target_entry() ; + const ::pg_query::TargetEntry& target_entry() const; + PROTOBUF_NODISCARD ::pg_query::TargetEntry* release_target_entry(); + ::pg_query::TargetEntry* mutable_target_entry(); + void set_allocated_target_entry(::pg_query::TargetEntry* value); + void unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value); + ::pg_query::TargetEntry* unsafe_arena_release_target_entry(); + + private: + const ::pg_query::TargetEntry& _internal_target_entry() const; + ::pg_query::TargetEntry* _internal_mutable_target_entry(); + + public: + // .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"]; + bool has_range_tbl_ref() const; + private: + bool _internal_has_range_tbl_ref() const; + + public: + void clear_range_tbl_ref() ; + const ::pg_query::RangeTblRef& range_tbl_ref() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblRef* release_range_tbl_ref(); + ::pg_query::RangeTblRef* mutable_range_tbl_ref(); + void set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); + void unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value); + ::pg_query::RangeTblRef* unsafe_arena_release_range_tbl_ref(); + + private: + const ::pg_query::RangeTblRef& _internal_range_tbl_ref() const; + ::pg_query::RangeTblRef* _internal_mutable_range_tbl_ref(); + + public: + // .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"]; + bool has_join_expr() const; + private: + bool _internal_has_join_expr() const; + + public: + void clear_join_expr() ; + const ::pg_query::JoinExpr& join_expr() const; + PROTOBUF_NODISCARD ::pg_query::JoinExpr* release_join_expr(); + ::pg_query::JoinExpr* mutable_join_expr(); + void set_allocated_join_expr(::pg_query::JoinExpr* value); + void unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value); + ::pg_query::JoinExpr* unsafe_arena_release_join_expr(); + + private: + const ::pg_query::JoinExpr& _internal_join_expr() const; + ::pg_query::JoinExpr* _internal_mutable_join_expr(); + + public: + // .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"]; + bool has_from_expr() const; + private: + bool _internal_has_from_expr() const; + + public: + void clear_from_expr() ; + const ::pg_query::FromExpr& from_expr() const; + PROTOBUF_NODISCARD ::pg_query::FromExpr* release_from_expr(); + ::pg_query::FromExpr* mutable_from_expr(); + void set_allocated_from_expr(::pg_query::FromExpr* value); + void unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value); + ::pg_query::FromExpr* unsafe_arena_release_from_expr(); + + private: + const ::pg_query::FromExpr& _internal_from_expr() const; + ::pg_query::FromExpr* _internal_mutable_from_expr(); + + public: + // .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"]; + bool has_on_conflict_expr() const; + private: + bool _internal_has_on_conflict_expr() const; + + public: + void clear_on_conflict_expr() ; + const ::pg_query::OnConflictExpr& on_conflict_expr() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict_expr(); + ::pg_query::OnConflictExpr* mutable_on_conflict_expr(); + void set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); + void unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value); + ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict_expr(); + + private: + const ::pg_query::OnConflictExpr& _internal_on_conflict_expr() const; + ::pg_query::OnConflictExpr* _internal_mutable_on_conflict_expr(); + + public: + // .pg_query.Query query = 64 [json_name = "Query"]; + bool has_query() const; + private: + bool _internal_has_query() const; + + public: + void clear_query() ; + const ::pg_query::Query& query() const; + PROTOBUF_NODISCARD ::pg_query::Query* release_query(); + ::pg_query::Query* mutable_query(); + void set_allocated_query(::pg_query::Query* value); + void unsafe_arena_set_allocated_query(::pg_query::Query* value); + ::pg_query::Query* unsafe_arena_release_query(); + + private: + const ::pg_query::Query& _internal_query() const; + ::pg_query::Query* _internal_mutable_query(); + + public: + // .pg_query.TypeName type_name = 65 [json_name = "TypeName"]; + bool has_type_name() const; + private: + bool _internal_has_type_name() const; + + public: + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + + private: + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + + public: + // .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"]; + bool has_column_ref() const; + private: + bool _internal_has_column_ref() const; + + public: + void clear_column_ref() ; + const ::pg_query::ColumnRef& column_ref() const; + PROTOBUF_NODISCARD ::pg_query::ColumnRef* release_column_ref(); + ::pg_query::ColumnRef* mutable_column_ref(); + void set_allocated_column_ref(::pg_query::ColumnRef* value); + void unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value); + ::pg_query::ColumnRef* unsafe_arena_release_column_ref(); + + private: + const ::pg_query::ColumnRef& _internal_column_ref() const; + ::pg_query::ColumnRef* _internal_mutable_column_ref(); + + public: + // .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"]; + bool has_param_ref() const; + private: + bool _internal_has_param_ref() const; + + public: + void clear_param_ref() ; + const ::pg_query::ParamRef& param_ref() const; + PROTOBUF_NODISCARD ::pg_query::ParamRef* release_param_ref(); + ::pg_query::ParamRef* mutable_param_ref(); + void set_allocated_param_ref(::pg_query::ParamRef* value); + void unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value); + ::pg_query::ParamRef* unsafe_arena_release_param_ref(); + + private: + const ::pg_query::ParamRef& _internal_param_ref() const; + ::pg_query::ParamRef* _internal_mutable_param_ref(); + + public: + // .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"]; + bool has_a_expr() const; + private: + bool _internal_has_a_expr() const; + + public: + void clear_a_expr() ; + const ::pg_query::A_Expr& a_expr() const; + PROTOBUF_NODISCARD ::pg_query::A_Expr* release_a_expr(); + ::pg_query::A_Expr* mutable_a_expr(); + void set_allocated_a_expr(::pg_query::A_Expr* value); + void unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value); + ::pg_query::A_Expr* unsafe_arena_release_a_expr(); + + private: + const ::pg_query::A_Expr& _internal_a_expr() const; + ::pg_query::A_Expr* _internal_mutable_a_expr(); + + public: + // .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"]; + bool has_type_cast() const; + private: + bool _internal_has_type_cast() const; + + public: + void clear_type_cast() ; + const ::pg_query::TypeCast& type_cast() const; + PROTOBUF_NODISCARD ::pg_query::TypeCast* release_type_cast(); + ::pg_query::TypeCast* mutable_type_cast(); + void set_allocated_type_cast(::pg_query::TypeCast* value); + void unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value); + ::pg_query::TypeCast* unsafe_arena_release_type_cast(); + + private: + const ::pg_query::TypeCast& _internal_type_cast() const; + ::pg_query::TypeCast* _internal_mutable_type_cast(); + + public: + // .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"]; + bool has_collate_clause() const; + private: + bool _internal_has_collate_clause() const; + + public: + void clear_collate_clause() ; + const ::pg_query::CollateClause& collate_clause() const; + PROTOBUF_NODISCARD ::pg_query::CollateClause* release_collate_clause(); + ::pg_query::CollateClause* mutable_collate_clause(); + void set_allocated_collate_clause(::pg_query::CollateClause* value); + void unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value); + ::pg_query::CollateClause* unsafe_arena_release_collate_clause(); + + private: + const ::pg_query::CollateClause& _internal_collate_clause() const; + ::pg_query::CollateClause* _internal_mutable_collate_clause(); + + public: + // .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"]; + bool has_role_spec() const; + private: + bool _internal_has_role_spec() const; + + public: + void clear_role_spec() ; + const ::pg_query::RoleSpec& role_spec() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_role_spec(); + ::pg_query::RoleSpec* mutable_role_spec(); + void set_allocated_role_spec(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_role_spec(); + + private: + const ::pg_query::RoleSpec& _internal_role_spec() const; + ::pg_query::RoleSpec* _internal_mutable_role_spec(); + + public: + // .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"]; + bool has_func_call() const; + private: + bool _internal_has_func_call() const; + + public: + void clear_func_call() ; + const ::pg_query::FuncCall& func_call() const; + PROTOBUF_NODISCARD ::pg_query::FuncCall* release_func_call(); + ::pg_query::FuncCall* mutable_func_call(); + void set_allocated_func_call(::pg_query::FuncCall* value); + void unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value); + ::pg_query::FuncCall* unsafe_arena_release_func_call(); + + private: + const ::pg_query::FuncCall& _internal_func_call() const; + ::pg_query::FuncCall* _internal_mutable_func_call(); + + public: + // .pg_query.A_Star a_star = 73 [json_name = "A_Star"]; + bool has_a_star() const; + private: + bool _internal_has_a_star() const; + + public: + void clear_a_star() ; + const ::pg_query::A_Star& a_star() const; + PROTOBUF_NODISCARD ::pg_query::A_Star* release_a_star(); + ::pg_query::A_Star* mutable_a_star(); + void set_allocated_a_star(::pg_query::A_Star* value); + void unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value); + ::pg_query::A_Star* unsafe_arena_release_a_star(); + + private: + const ::pg_query::A_Star& _internal_a_star() const; + ::pg_query::A_Star* _internal_mutable_a_star(); + + public: + // .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"]; + bool has_a_indices() const; + private: + bool _internal_has_a_indices() const; + + public: + void clear_a_indices() ; + const ::pg_query::A_Indices& a_indices() const; + PROTOBUF_NODISCARD ::pg_query::A_Indices* release_a_indices(); + ::pg_query::A_Indices* mutable_a_indices(); + void set_allocated_a_indices(::pg_query::A_Indices* value); + void unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value); + ::pg_query::A_Indices* unsafe_arena_release_a_indices(); + + private: + const ::pg_query::A_Indices& _internal_a_indices() const; + ::pg_query::A_Indices* _internal_mutable_a_indices(); + + public: + // .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"]; + bool has_a_indirection() const; + private: + bool _internal_has_a_indirection() const; + + public: + void clear_a_indirection() ; + const ::pg_query::A_Indirection& a_indirection() const; + PROTOBUF_NODISCARD ::pg_query::A_Indirection* release_a_indirection(); + ::pg_query::A_Indirection* mutable_a_indirection(); + void set_allocated_a_indirection(::pg_query::A_Indirection* value); + void unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value); + ::pg_query::A_Indirection* unsafe_arena_release_a_indirection(); + + private: + const ::pg_query::A_Indirection& _internal_a_indirection() const; + ::pg_query::A_Indirection* _internal_mutable_a_indirection(); + + public: + // .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"]; + bool has_a_array_expr() const; + private: + bool _internal_has_a_array_expr() const; + + public: + void clear_a_array_expr() ; + const ::pg_query::A_ArrayExpr& a_array_expr() const; + PROTOBUF_NODISCARD ::pg_query::A_ArrayExpr* release_a_array_expr(); + ::pg_query::A_ArrayExpr* mutable_a_array_expr(); + void set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); + void unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value); + ::pg_query::A_ArrayExpr* unsafe_arena_release_a_array_expr(); + + private: + const ::pg_query::A_ArrayExpr& _internal_a_array_expr() const; + ::pg_query::A_ArrayExpr* _internal_mutable_a_array_expr(); + + public: + // .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"]; + bool has_res_target() const; + private: + bool _internal_has_res_target() const; + + public: + void clear_res_target() ; + const ::pg_query::ResTarget& res_target() const; + PROTOBUF_NODISCARD ::pg_query::ResTarget* release_res_target(); + ::pg_query::ResTarget* mutable_res_target(); + void set_allocated_res_target(::pg_query::ResTarget* value); + void unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value); + ::pg_query::ResTarget* unsafe_arena_release_res_target(); + + private: + const ::pg_query::ResTarget& _internal_res_target() const; + ::pg_query::ResTarget* _internal_mutable_res_target(); + + public: + // .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"]; + bool has_multi_assign_ref() const; + private: + bool _internal_has_multi_assign_ref() const; + + public: + void clear_multi_assign_ref() ; + const ::pg_query::MultiAssignRef& multi_assign_ref() const; + PROTOBUF_NODISCARD ::pg_query::MultiAssignRef* release_multi_assign_ref(); + ::pg_query::MultiAssignRef* mutable_multi_assign_ref(); + void set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); + void unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value); + ::pg_query::MultiAssignRef* unsafe_arena_release_multi_assign_ref(); + + private: + const ::pg_query::MultiAssignRef& _internal_multi_assign_ref() const; + ::pg_query::MultiAssignRef* _internal_mutable_multi_assign_ref(); + + public: + // .pg_query.SortBy sort_by = 79 [json_name = "SortBy"]; + bool has_sort_by() const; + private: + bool _internal_has_sort_by() const; + + public: + void clear_sort_by() ; + const ::pg_query::SortBy& sort_by() const; + PROTOBUF_NODISCARD ::pg_query::SortBy* release_sort_by(); + ::pg_query::SortBy* mutable_sort_by(); + void set_allocated_sort_by(::pg_query::SortBy* value); + void unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value); + ::pg_query::SortBy* unsafe_arena_release_sort_by(); + + private: + const ::pg_query::SortBy& _internal_sort_by() const; + ::pg_query::SortBy* _internal_mutable_sort_by(); + + public: + // .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"]; + bool has_window_def() const; + private: + bool _internal_has_window_def() const; + + public: + void clear_window_def() ; + const ::pg_query::WindowDef& window_def() const; + PROTOBUF_NODISCARD ::pg_query::WindowDef* release_window_def(); + ::pg_query::WindowDef* mutable_window_def(); + void set_allocated_window_def(::pg_query::WindowDef* value); + void unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value); + ::pg_query::WindowDef* unsafe_arena_release_window_def(); + + private: + const ::pg_query::WindowDef& _internal_window_def() const; + ::pg_query::WindowDef* _internal_mutable_window_def(); + + public: + // .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"]; + bool has_range_subselect() const; + private: + bool _internal_has_range_subselect() const; + + public: + void clear_range_subselect() ; + const ::pg_query::RangeSubselect& range_subselect() const; + PROTOBUF_NODISCARD ::pg_query::RangeSubselect* release_range_subselect(); + ::pg_query::RangeSubselect* mutable_range_subselect(); + void set_allocated_range_subselect(::pg_query::RangeSubselect* value); + void unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value); + ::pg_query::RangeSubselect* unsafe_arena_release_range_subselect(); + + private: + const ::pg_query::RangeSubselect& _internal_range_subselect() const; + ::pg_query::RangeSubselect* _internal_mutable_range_subselect(); + + public: + // .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"]; + bool has_range_function() const; + private: + bool _internal_has_range_function() const; + + public: + void clear_range_function() ; + const ::pg_query::RangeFunction& range_function() const; + PROTOBUF_NODISCARD ::pg_query::RangeFunction* release_range_function(); + ::pg_query::RangeFunction* mutable_range_function(); + void set_allocated_range_function(::pg_query::RangeFunction* value); + void unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value); + ::pg_query::RangeFunction* unsafe_arena_release_range_function(); + + private: + const ::pg_query::RangeFunction& _internal_range_function() const; + ::pg_query::RangeFunction* _internal_mutable_range_function(); + + public: + // .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"]; + bool has_range_table_func() const; + private: + bool _internal_has_range_table_func() const; + + public: + void clear_range_table_func() ; + const ::pg_query::RangeTableFunc& range_table_func() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableFunc* release_range_table_func(); + ::pg_query::RangeTableFunc* mutable_range_table_func(); + void set_allocated_range_table_func(::pg_query::RangeTableFunc* value); + void unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value); + ::pg_query::RangeTableFunc* unsafe_arena_release_range_table_func(); + + private: + const ::pg_query::RangeTableFunc& _internal_range_table_func() const; + ::pg_query::RangeTableFunc* _internal_mutable_range_table_func(); + + public: + // .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"]; + bool has_range_table_func_col() const; + private: + bool _internal_has_range_table_func_col() const; + + public: + void clear_range_table_func_col() ; + const ::pg_query::RangeTableFuncCol& range_table_func_col() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableFuncCol* release_range_table_func_col(); + ::pg_query::RangeTableFuncCol* mutable_range_table_func_col(); + void set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); + void unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value); + ::pg_query::RangeTableFuncCol* unsafe_arena_release_range_table_func_col(); + + private: + const ::pg_query::RangeTableFuncCol& _internal_range_table_func_col() const; + ::pg_query::RangeTableFuncCol* _internal_mutable_range_table_func_col(); + + public: + // .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"]; + bool has_range_table_sample() const; + private: + bool _internal_has_range_table_sample() const; + + public: + void clear_range_table_sample() ; + const ::pg_query::RangeTableSample& range_table_sample() const; + PROTOBUF_NODISCARD ::pg_query::RangeTableSample* release_range_table_sample(); + ::pg_query::RangeTableSample* mutable_range_table_sample(); + void set_allocated_range_table_sample(::pg_query::RangeTableSample* value); + void unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value); + ::pg_query::RangeTableSample* unsafe_arena_release_range_table_sample(); + + private: + const ::pg_query::RangeTableSample& _internal_range_table_sample() const; + ::pg_query::RangeTableSample* _internal_mutable_range_table_sample(); + + public: + // .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"]; + bool has_column_def() const; + private: + bool _internal_has_column_def() const; + + public: + void clear_column_def() ; + const ::pg_query::ColumnDef& column_def() const; + PROTOBUF_NODISCARD ::pg_query::ColumnDef* release_column_def(); + ::pg_query::ColumnDef* mutable_column_def(); + void set_allocated_column_def(::pg_query::ColumnDef* value); + void unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value); + ::pg_query::ColumnDef* unsafe_arena_release_column_def(); + + private: + const ::pg_query::ColumnDef& _internal_column_def() const; + ::pg_query::ColumnDef* _internal_mutable_column_def(); + + public: + // .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"]; + bool has_table_like_clause() const; + private: + bool _internal_has_table_like_clause() const; + + public: + void clear_table_like_clause() ; + const ::pg_query::TableLikeClause& table_like_clause() const; + PROTOBUF_NODISCARD ::pg_query::TableLikeClause* release_table_like_clause(); + ::pg_query::TableLikeClause* mutable_table_like_clause(); + void set_allocated_table_like_clause(::pg_query::TableLikeClause* value); + void unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value); + ::pg_query::TableLikeClause* unsafe_arena_release_table_like_clause(); + + private: + const ::pg_query::TableLikeClause& _internal_table_like_clause() const; + ::pg_query::TableLikeClause* _internal_mutable_table_like_clause(); + + public: + // .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"]; + bool has_index_elem() const; + private: + bool _internal_has_index_elem() const; + + public: + void clear_index_elem() ; + const ::pg_query::IndexElem& index_elem() const; + PROTOBUF_NODISCARD ::pg_query::IndexElem* release_index_elem(); + ::pg_query::IndexElem* mutable_index_elem(); + void set_allocated_index_elem(::pg_query::IndexElem* value); + void unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value); + ::pg_query::IndexElem* unsafe_arena_release_index_elem(); + + private: + const ::pg_query::IndexElem& _internal_index_elem() const; + ::pg_query::IndexElem* _internal_mutable_index_elem(); + + public: + // .pg_query.DefElem def_elem = 89 [json_name = "DefElem"]; + bool has_def_elem() const; + private: + bool _internal_has_def_elem() const; + + public: + void clear_def_elem() ; + const ::pg_query::DefElem& def_elem() const; + PROTOBUF_NODISCARD ::pg_query::DefElem* release_def_elem(); + ::pg_query::DefElem* mutable_def_elem(); + void set_allocated_def_elem(::pg_query::DefElem* value); + void unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value); + ::pg_query::DefElem* unsafe_arena_release_def_elem(); + + private: + const ::pg_query::DefElem& _internal_def_elem() const; + ::pg_query::DefElem* _internal_mutable_def_elem(); + + public: + // .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"]; + bool has_locking_clause() const; + private: + bool _internal_has_locking_clause() const; + + public: + void clear_locking_clause() ; + const ::pg_query::LockingClause& locking_clause() const; + PROTOBUF_NODISCARD ::pg_query::LockingClause* release_locking_clause(); + ::pg_query::LockingClause* mutable_locking_clause(); + void set_allocated_locking_clause(::pg_query::LockingClause* value); + void unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value); + ::pg_query::LockingClause* unsafe_arena_release_locking_clause(); + + private: + const ::pg_query::LockingClause& _internal_locking_clause() const; + ::pg_query::LockingClause* _internal_mutable_locking_clause(); + + public: + // .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"]; + bool has_xml_serialize() const; + private: + bool _internal_has_xml_serialize() const; + + public: + void clear_xml_serialize() ; + const ::pg_query::XmlSerialize& xml_serialize() const; + PROTOBUF_NODISCARD ::pg_query::XmlSerialize* release_xml_serialize(); + ::pg_query::XmlSerialize* mutable_xml_serialize(); + void set_allocated_xml_serialize(::pg_query::XmlSerialize* value); + void unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value); + ::pg_query::XmlSerialize* unsafe_arena_release_xml_serialize(); + + private: + const ::pg_query::XmlSerialize& _internal_xml_serialize() const; + ::pg_query::XmlSerialize* _internal_mutable_xml_serialize(); + + public: + // .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"]; + bool has_partition_elem() const; + private: + bool _internal_has_partition_elem() const; + + public: + void clear_partition_elem() ; + const ::pg_query::PartitionElem& partition_elem() const; + PROTOBUF_NODISCARD ::pg_query::PartitionElem* release_partition_elem(); + ::pg_query::PartitionElem* mutable_partition_elem(); + void set_allocated_partition_elem(::pg_query::PartitionElem* value); + void unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value); + ::pg_query::PartitionElem* unsafe_arena_release_partition_elem(); + + private: + const ::pg_query::PartitionElem& _internal_partition_elem() const; + ::pg_query::PartitionElem* _internal_mutable_partition_elem(); + + public: + // .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"]; + bool has_partition_spec() const; + private: + bool _internal_has_partition_spec() const; + + public: + void clear_partition_spec() ; + const ::pg_query::PartitionSpec& partition_spec() const; + PROTOBUF_NODISCARD ::pg_query::PartitionSpec* release_partition_spec(); + ::pg_query::PartitionSpec* mutable_partition_spec(); + void set_allocated_partition_spec(::pg_query::PartitionSpec* value); + void unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value); + ::pg_query::PartitionSpec* unsafe_arena_release_partition_spec(); + + private: + const ::pg_query::PartitionSpec& _internal_partition_spec() const; + ::pg_query::PartitionSpec* _internal_mutable_partition_spec(); + + public: + // .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"]; + bool has_partition_bound_spec() const; + private: + bool _internal_has_partition_bound_spec() const; + + public: + void clear_partition_bound_spec() ; + const ::pg_query::PartitionBoundSpec& partition_bound_spec() const; + PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_partition_bound_spec(); + ::pg_query::PartitionBoundSpec* mutable_partition_bound_spec(); + void set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); + void unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value); + ::pg_query::PartitionBoundSpec* unsafe_arena_release_partition_bound_spec(); + + private: + const ::pg_query::PartitionBoundSpec& _internal_partition_bound_spec() const; + ::pg_query::PartitionBoundSpec* _internal_mutable_partition_bound_spec(); + + public: + // .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"]; + bool has_partition_range_datum() const; + private: + bool _internal_has_partition_range_datum() const; + + public: + void clear_partition_range_datum() ; + const ::pg_query::PartitionRangeDatum& partition_range_datum() const; + PROTOBUF_NODISCARD ::pg_query::PartitionRangeDatum* release_partition_range_datum(); + ::pg_query::PartitionRangeDatum* mutable_partition_range_datum(); + void set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); + void unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value); + ::pg_query::PartitionRangeDatum* unsafe_arena_release_partition_range_datum(); + + private: + const ::pg_query::PartitionRangeDatum& _internal_partition_range_datum() const; + ::pg_query::PartitionRangeDatum* _internal_mutable_partition_range_datum(); + + public: + // .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"]; + bool has_single_partition_spec() const; + private: + bool _internal_has_single_partition_spec() const; + + public: + void clear_single_partition_spec() ; + const ::pg_query::SinglePartitionSpec& single_partition_spec() const; + PROTOBUF_NODISCARD ::pg_query::SinglePartitionSpec* release_single_partition_spec(); + ::pg_query::SinglePartitionSpec* mutable_single_partition_spec(); + void set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value); + void unsafe_arena_set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value); + ::pg_query::SinglePartitionSpec* unsafe_arena_release_single_partition_spec(); + + private: + const ::pg_query::SinglePartitionSpec& _internal_single_partition_spec() const; + ::pg_query::SinglePartitionSpec* _internal_mutable_single_partition_spec(); + + public: + // .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"]; + bool has_partition_cmd() const; + private: + bool _internal_has_partition_cmd() const; + + public: + void clear_partition_cmd() ; + const ::pg_query::PartitionCmd& partition_cmd() const; + PROTOBUF_NODISCARD ::pg_query::PartitionCmd* release_partition_cmd(); + ::pg_query::PartitionCmd* mutable_partition_cmd(); + void set_allocated_partition_cmd(::pg_query::PartitionCmd* value); + void unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value); + ::pg_query::PartitionCmd* unsafe_arena_release_partition_cmd(); + + private: + const ::pg_query::PartitionCmd& _internal_partition_cmd() const; + ::pg_query::PartitionCmd* _internal_mutable_partition_cmd(); + + public: + // .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"]; + bool has_range_tbl_entry() const; + private: + bool _internal_has_range_tbl_entry() const; + + public: + void clear_range_tbl_entry() ; + const ::pg_query::RangeTblEntry& range_tbl_entry() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblEntry* release_range_tbl_entry(); + ::pg_query::RangeTblEntry* mutable_range_tbl_entry(); + void set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); + void unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value); + ::pg_query::RangeTblEntry* unsafe_arena_release_range_tbl_entry(); + + private: + const ::pg_query::RangeTblEntry& _internal_range_tbl_entry() const; + ::pg_query::RangeTblEntry* _internal_mutable_range_tbl_entry(); + + public: + // .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"]; + bool has_rtepermission_info() const; + private: + bool _internal_has_rtepermission_info() const; + + public: + void clear_rtepermission_info() ; + const ::pg_query::RTEPermissionInfo& rtepermission_info() const; + PROTOBUF_NODISCARD ::pg_query::RTEPermissionInfo* release_rtepermission_info(); + ::pg_query::RTEPermissionInfo* mutable_rtepermission_info(); + void set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); + void unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value); + ::pg_query::RTEPermissionInfo* unsafe_arena_release_rtepermission_info(); + + private: + const ::pg_query::RTEPermissionInfo& _internal_rtepermission_info() const; + ::pg_query::RTEPermissionInfo* _internal_mutable_rtepermission_info(); + + public: + // .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"]; + bool has_range_tbl_function() const; + private: + bool _internal_has_range_tbl_function() const; + + public: + void clear_range_tbl_function() ; + const ::pg_query::RangeTblFunction& range_tbl_function() const; + PROTOBUF_NODISCARD ::pg_query::RangeTblFunction* release_range_tbl_function(); + ::pg_query::RangeTblFunction* mutable_range_tbl_function(); + void set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); + void unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value); + ::pg_query::RangeTblFunction* unsafe_arena_release_range_tbl_function(); + + private: + const ::pg_query::RangeTblFunction& _internal_range_tbl_function() const; + ::pg_query::RangeTblFunction* _internal_mutable_range_tbl_function(); + + public: + // .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"]; + bool has_table_sample_clause() const; + private: + bool _internal_has_table_sample_clause() const; + + public: + void clear_table_sample_clause() ; + const ::pg_query::TableSampleClause& table_sample_clause() const; + PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_table_sample_clause(); + ::pg_query::TableSampleClause* mutable_table_sample_clause(); + void set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); + void unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value); + ::pg_query::TableSampleClause* unsafe_arena_release_table_sample_clause(); + + private: + const ::pg_query::TableSampleClause& _internal_table_sample_clause() const; + ::pg_query::TableSampleClause* _internal_mutable_table_sample_clause(); + + public: + // .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"]; + bool has_with_check_option() const; + private: + bool _internal_has_with_check_option() const; + + public: + void clear_with_check_option() ; + const ::pg_query::WithCheckOption& with_check_option() const; + PROTOBUF_NODISCARD ::pg_query::WithCheckOption* release_with_check_option(); + ::pg_query::WithCheckOption* mutable_with_check_option(); + void set_allocated_with_check_option(::pg_query::WithCheckOption* value); + void unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value); + ::pg_query::WithCheckOption* unsafe_arena_release_with_check_option(); + + private: + const ::pg_query::WithCheckOption& _internal_with_check_option() const; + ::pg_query::WithCheckOption* _internal_mutable_with_check_option(); + + public: + // .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"]; + bool has_sort_group_clause() const; + private: + bool _internal_has_sort_group_clause() const; + + public: + void clear_sort_group_clause() ; + const ::pg_query::SortGroupClause& sort_group_clause() const; + PROTOBUF_NODISCARD ::pg_query::SortGroupClause* release_sort_group_clause(); + ::pg_query::SortGroupClause* mutable_sort_group_clause(); + void set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); + void unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value); + ::pg_query::SortGroupClause* unsafe_arena_release_sort_group_clause(); + + private: + const ::pg_query::SortGroupClause& _internal_sort_group_clause() const; + ::pg_query::SortGroupClause* _internal_mutable_sort_group_clause(); + + public: + // .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"]; + bool has_grouping_set() const; + private: + bool _internal_has_grouping_set() const; + + public: + void clear_grouping_set() ; + const ::pg_query::GroupingSet& grouping_set() const; + PROTOBUF_NODISCARD ::pg_query::GroupingSet* release_grouping_set(); + ::pg_query::GroupingSet* mutable_grouping_set(); + void set_allocated_grouping_set(::pg_query::GroupingSet* value); + void unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value); + ::pg_query::GroupingSet* unsafe_arena_release_grouping_set(); + + private: + const ::pg_query::GroupingSet& _internal_grouping_set() const; + ::pg_query::GroupingSet* _internal_mutable_grouping_set(); + + public: + // .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"]; + bool has_window_clause() const; + private: + bool _internal_has_window_clause() const; + + public: + void clear_window_clause() ; + const ::pg_query::WindowClause& window_clause() const; + PROTOBUF_NODISCARD ::pg_query::WindowClause* release_window_clause(); + ::pg_query::WindowClause* mutable_window_clause(); + void set_allocated_window_clause(::pg_query::WindowClause* value); + void unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value); + ::pg_query::WindowClause* unsafe_arena_release_window_clause(); + + private: + const ::pg_query::WindowClause& _internal_window_clause() const; + ::pg_query::WindowClause* _internal_mutable_window_clause(); + + public: + // .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"]; + bool has_row_mark_clause() const; + private: + bool _internal_has_row_mark_clause() const; + + public: + void clear_row_mark_clause() ; + const ::pg_query::RowMarkClause& row_mark_clause() const; + PROTOBUF_NODISCARD ::pg_query::RowMarkClause* release_row_mark_clause(); + ::pg_query::RowMarkClause* mutable_row_mark_clause(); + void set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); + void unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value); + ::pg_query::RowMarkClause* unsafe_arena_release_row_mark_clause(); + + private: + const ::pg_query::RowMarkClause& _internal_row_mark_clause() const; + ::pg_query::RowMarkClause* _internal_mutable_row_mark_clause(); + + public: + // .pg_query.WithClause with_clause = 107 [json_name = "WithClause"]; + bool has_with_clause() const; + private: + bool _internal_has_with_clause() const; + + public: + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); + + private: + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + + public: + // .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"]; + bool has_infer_clause() const; + private: + bool _internal_has_infer_clause() const; + + public: + void clear_infer_clause() ; + const ::pg_query::InferClause& infer_clause() const; + PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer_clause(); + ::pg_query::InferClause* mutable_infer_clause(); + void set_allocated_infer_clause(::pg_query::InferClause* value); + void unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value); + ::pg_query::InferClause* unsafe_arena_release_infer_clause(); + + private: + const ::pg_query::InferClause& _internal_infer_clause() const; + ::pg_query::InferClause* _internal_mutable_infer_clause(); + + public: + // .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"]; + bool has_on_conflict_clause() const; + private: + bool _internal_has_on_conflict_clause() const; + + public: + void clear_on_conflict_clause() ; + const ::pg_query::OnConflictClause& on_conflict_clause() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictClause* release_on_conflict_clause(); + ::pg_query::OnConflictClause* mutable_on_conflict_clause(); + void set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + void unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value); + ::pg_query::OnConflictClause* unsafe_arena_release_on_conflict_clause(); + + private: + const ::pg_query::OnConflictClause& _internal_on_conflict_clause() const; + ::pg_query::OnConflictClause* _internal_mutable_on_conflict_clause(); + + public: + // .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"]; + bool has_ctesearch_clause() const; + private: + bool _internal_has_ctesearch_clause() const; + + public: + void clear_ctesearch_clause() ; + const ::pg_query::CTESearchClause& ctesearch_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_ctesearch_clause(); + ::pg_query::CTESearchClause* mutable_ctesearch_clause(); + void set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); + void unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value); + ::pg_query::CTESearchClause* unsafe_arena_release_ctesearch_clause(); + + private: + const ::pg_query::CTESearchClause& _internal_ctesearch_clause() const; + ::pg_query::CTESearchClause* _internal_mutable_ctesearch_clause(); + + public: + // .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"]; + bool has_ctecycle_clause() const; + private: + bool _internal_has_ctecycle_clause() const; + + public: + void clear_ctecycle_clause() ; + const ::pg_query::CTECycleClause& ctecycle_clause() const; + PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_ctecycle_clause(); + ::pg_query::CTECycleClause* mutable_ctecycle_clause(); + void set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); + void unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value); + ::pg_query::CTECycleClause* unsafe_arena_release_ctecycle_clause(); + + private: + const ::pg_query::CTECycleClause& _internal_ctecycle_clause() const; + ::pg_query::CTECycleClause* _internal_mutable_ctecycle_clause(); + + public: + // .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"]; + bool has_common_table_expr() const; + private: + bool _internal_has_common_table_expr() const; + + public: + void clear_common_table_expr() ; + const ::pg_query::CommonTableExpr& common_table_expr() const; + PROTOBUF_NODISCARD ::pg_query::CommonTableExpr* release_common_table_expr(); + ::pg_query::CommonTableExpr* mutable_common_table_expr(); + void set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); + void unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value); + ::pg_query::CommonTableExpr* unsafe_arena_release_common_table_expr(); + + private: + const ::pg_query::CommonTableExpr& _internal_common_table_expr() const; + ::pg_query::CommonTableExpr* _internal_mutable_common_table_expr(); + + public: + // .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"]; + bool has_merge_when_clause() const; + private: + bool _internal_has_merge_when_clause() const; + + public: + void clear_merge_when_clause() ; + const ::pg_query::MergeWhenClause& merge_when_clause() const; + PROTOBUF_NODISCARD ::pg_query::MergeWhenClause* release_merge_when_clause(); + ::pg_query::MergeWhenClause* mutable_merge_when_clause(); + void set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); + void unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value); + ::pg_query::MergeWhenClause* unsafe_arena_release_merge_when_clause(); + + private: + const ::pg_query::MergeWhenClause& _internal_merge_when_clause() const; + ::pg_query::MergeWhenClause* _internal_mutable_merge_when_clause(); + + public: + // .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"]; + bool has_trigger_transition() const; + private: + bool _internal_has_trigger_transition() const; + + public: + void clear_trigger_transition() ; + const ::pg_query::TriggerTransition& trigger_transition() const; + PROTOBUF_NODISCARD ::pg_query::TriggerTransition* release_trigger_transition(); + ::pg_query::TriggerTransition* mutable_trigger_transition(); + void set_allocated_trigger_transition(::pg_query::TriggerTransition* value); + void unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value); + ::pg_query::TriggerTransition* unsafe_arena_release_trigger_transition(); + + private: + const ::pg_query::TriggerTransition& _internal_trigger_transition() const; + ::pg_query::TriggerTransition* _internal_mutable_trigger_transition(); + + public: + // .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"]; + bool has_json_output() const; + private: + bool _internal_has_json_output() const; + + public: + void clear_json_output() ; + const ::pg_query::JsonOutput& json_output() const; + PROTOBUF_NODISCARD ::pg_query::JsonOutput* release_json_output(); + ::pg_query::JsonOutput* mutable_json_output(); + void set_allocated_json_output(::pg_query::JsonOutput* value); + void unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value); + ::pg_query::JsonOutput* unsafe_arena_release_json_output(); + + private: + const ::pg_query::JsonOutput& _internal_json_output() const; + ::pg_query::JsonOutput* _internal_mutable_json_output(); + + public: + // .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"]; + bool has_json_argument() const; + private: + bool _internal_has_json_argument() const; + + public: + void clear_json_argument() ; + const ::pg_query::JsonArgument& json_argument() const; + PROTOBUF_NODISCARD ::pg_query::JsonArgument* release_json_argument(); + ::pg_query::JsonArgument* mutable_json_argument(); + void set_allocated_json_argument(::pg_query::JsonArgument* value); + void unsafe_arena_set_allocated_json_argument(::pg_query::JsonArgument* value); + ::pg_query::JsonArgument* unsafe_arena_release_json_argument(); + + private: + const ::pg_query::JsonArgument& _internal_json_argument() const; + ::pg_query::JsonArgument* _internal_mutable_json_argument(); + + public: + // .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"]; + bool has_json_func_expr() const; + private: + bool _internal_has_json_func_expr() const; + + public: + void clear_json_func_expr() ; + const ::pg_query::JsonFuncExpr& json_func_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonFuncExpr* release_json_func_expr(); + ::pg_query::JsonFuncExpr* mutable_json_func_expr(); + void set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value); + void unsafe_arena_set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value); + ::pg_query::JsonFuncExpr* unsafe_arena_release_json_func_expr(); + + private: + const ::pg_query::JsonFuncExpr& _internal_json_func_expr() const; + ::pg_query::JsonFuncExpr* _internal_mutable_json_func_expr(); + + public: + // .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"]; + bool has_json_table_path_spec() const; + private: + bool _internal_has_json_table_path_spec() const; + + public: + void clear_json_table_path_spec() ; + const ::pg_query::JsonTablePathSpec& json_table_path_spec() const; + PROTOBUF_NODISCARD ::pg_query::JsonTablePathSpec* release_json_table_path_spec(); + ::pg_query::JsonTablePathSpec* mutable_json_table_path_spec(); + void set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value); + void unsafe_arena_set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value); + ::pg_query::JsonTablePathSpec* unsafe_arena_release_json_table_path_spec(); + + private: + const ::pg_query::JsonTablePathSpec& _internal_json_table_path_spec() const; + ::pg_query::JsonTablePathSpec* _internal_mutable_json_table_path_spec(); + + public: + // .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"]; + bool has_json_table() const; + private: + bool _internal_has_json_table() const; + + public: + void clear_json_table() ; + const ::pg_query::JsonTable& json_table() const; + PROTOBUF_NODISCARD ::pg_query::JsonTable* release_json_table(); + ::pg_query::JsonTable* mutable_json_table(); + void set_allocated_json_table(::pg_query::JsonTable* value); + void unsafe_arena_set_allocated_json_table(::pg_query::JsonTable* value); + ::pg_query::JsonTable* unsafe_arena_release_json_table(); + + private: + const ::pg_query::JsonTable& _internal_json_table() const; + ::pg_query::JsonTable* _internal_mutable_json_table(); + + public: + // .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"]; + bool has_json_table_column() const; + private: + bool _internal_has_json_table_column() const; + + public: + void clear_json_table_column() ; + const ::pg_query::JsonTableColumn& json_table_column() const; + PROTOBUF_NODISCARD ::pg_query::JsonTableColumn* release_json_table_column(); + ::pg_query::JsonTableColumn* mutable_json_table_column(); + void set_allocated_json_table_column(::pg_query::JsonTableColumn* value); + void unsafe_arena_set_allocated_json_table_column(::pg_query::JsonTableColumn* value); + ::pg_query::JsonTableColumn* unsafe_arena_release_json_table_column(); + + private: + const ::pg_query::JsonTableColumn& _internal_json_table_column() const; + ::pg_query::JsonTableColumn* _internal_mutable_json_table_column(); + + public: + // .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"]; + bool has_json_key_value() const; + private: + bool _internal_has_json_key_value() const; + + public: + void clear_json_key_value() ; + const ::pg_query::JsonKeyValue& json_key_value() const; + PROTOBUF_NODISCARD ::pg_query::JsonKeyValue* release_json_key_value(); + ::pg_query::JsonKeyValue* mutable_json_key_value(); + void set_allocated_json_key_value(::pg_query::JsonKeyValue* value); + void unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value); + ::pg_query::JsonKeyValue* unsafe_arena_release_json_key_value(); + + private: + const ::pg_query::JsonKeyValue& _internal_json_key_value() const; + ::pg_query::JsonKeyValue* _internal_mutable_json_key_value(); + + public: + // .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"]; + bool has_json_parse_expr() const; + private: + bool _internal_has_json_parse_expr() const; + + public: + void clear_json_parse_expr() ; + const ::pg_query::JsonParseExpr& json_parse_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonParseExpr* release_json_parse_expr(); + ::pg_query::JsonParseExpr* mutable_json_parse_expr(); + void set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value); + void unsafe_arena_set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value); + ::pg_query::JsonParseExpr* unsafe_arena_release_json_parse_expr(); + + private: + const ::pg_query::JsonParseExpr& _internal_json_parse_expr() const; + ::pg_query::JsonParseExpr* _internal_mutable_json_parse_expr(); + + public: + // .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"]; + bool has_json_scalar_expr() const; + private: + bool _internal_has_json_scalar_expr() const; + + public: + void clear_json_scalar_expr() ; + const ::pg_query::JsonScalarExpr& json_scalar_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonScalarExpr* release_json_scalar_expr(); + ::pg_query::JsonScalarExpr* mutable_json_scalar_expr(); + void set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value); + void unsafe_arena_set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value); + ::pg_query::JsonScalarExpr* unsafe_arena_release_json_scalar_expr(); + + private: + const ::pg_query::JsonScalarExpr& _internal_json_scalar_expr() const; + ::pg_query::JsonScalarExpr* _internal_mutable_json_scalar_expr(); + + public: + // .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"]; + bool has_json_serialize_expr() const; + private: + bool _internal_has_json_serialize_expr() const; + + public: + void clear_json_serialize_expr() ; + const ::pg_query::JsonSerializeExpr& json_serialize_expr() const; + PROTOBUF_NODISCARD ::pg_query::JsonSerializeExpr* release_json_serialize_expr(); + ::pg_query::JsonSerializeExpr* mutable_json_serialize_expr(); + void set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value); + void unsafe_arena_set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value); + ::pg_query::JsonSerializeExpr* unsafe_arena_release_json_serialize_expr(); + + private: + const ::pg_query::JsonSerializeExpr& _internal_json_serialize_expr() const; + ::pg_query::JsonSerializeExpr* _internal_mutable_json_serialize_expr(); + + public: + // .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"]; + bool has_json_object_constructor() const; + private: + bool _internal_has_json_object_constructor() const; + + public: + void clear_json_object_constructor() ; + const ::pg_query::JsonObjectConstructor& json_object_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonObjectConstructor* release_json_object_constructor(); + ::pg_query::JsonObjectConstructor* mutable_json_object_constructor(); + void set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); + void unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value); + ::pg_query::JsonObjectConstructor* unsafe_arena_release_json_object_constructor(); + + private: + const ::pg_query::JsonObjectConstructor& _internal_json_object_constructor() const; + ::pg_query::JsonObjectConstructor* _internal_mutable_json_object_constructor(); + + public: + // .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"]; + bool has_json_array_constructor() const; + private: + bool _internal_has_json_array_constructor() const; + + public: + void clear_json_array_constructor() ; + const ::pg_query::JsonArrayConstructor& json_array_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayConstructor* release_json_array_constructor(); + ::pg_query::JsonArrayConstructor* mutable_json_array_constructor(); + void set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); + void unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value); + ::pg_query::JsonArrayConstructor* unsafe_arena_release_json_array_constructor(); + + private: + const ::pg_query::JsonArrayConstructor& _internal_json_array_constructor() const; + ::pg_query::JsonArrayConstructor* _internal_mutable_json_array_constructor(); + + public: + // .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"]; + bool has_json_array_query_constructor() const; + private: + bool _internal_has_json_array_query_constructor() const; + + public: + void clear_json_array_query_constructor() ; + const ::pg_query::JsonArrayQueryConstructor& json_array_query_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayQueryConstructor* release_json_array_query_constructor(); + ::pg_query::JsonArrayQueryConstructor* mutable_json_array_query_constructor(); + void set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); + void unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value); + ::pg_query::JsonArrayQueryConstructor* unsafe_arena_release_json_array_query_constructor(); + + private: + const ::pg_query::JsonArrayQueryConstructor& _internal_json_array_query_constructor() const; + ::pg_query::JsonArrayQueryConstructor* _internal_mutable_json_array_query_constructor(); + + public: + // .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"]; + bool has_json_agg_constructor() const; + private: + bool _internal_has_json_agg_constructor() const; + + public: + void clear_json_agg_constructor() ; + const ::pg_query::JsonAggConstructor& json_agg_constructor() const; + PROTOBUF_NODISCARD ::pg_query::JsonAggConstructor* release_json_agg_constructor(); + ::pg_query::JsonAggConstructor* mutable_json_agg_constructor(); + void set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); + void unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value); + ::pg_query::JsonAggConstructor* unsafe_arena_release_json_agg_constructor(); + + private: + const ::pg_query::JsonAggConstructor& _internal_json_agg_constructor() const; + ::pg_query::JsonAggConstructor* _internal_mutable_json_agg_constructor(); + + public: + // .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"]; + bool has_json_object_agg() const; + private: + bool _internal_has_json_object_agg() const; + + public: + void clear_json_object_agg() ; + const ::pg_query::JsonObjectAgg& json_object_agg() const; + PROTOBUF_NODISCARD ::pg_query::JsonObjectAgg* release_json_object_agg(); + ::pg_query::JsonObjectAgg* mutable_json_object_agg(); + void set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); + void unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value); + ::pg_query::JsonObjectAgg* unsafe_arena_release_json_object_agg(); + + private: + const ::pg_query::JsonObjectAgg& _internal_json_object_agg() const; + ::pg_query::JsonObjectAgg* _internal_mutable_json_object_agg(); + + public: + // .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"]; + bool has_json_array_agg() const; + private: + bool _internal_has_json_array_agg() const; + + public: + void clear_json_array_agg() ; + const ::pg_query::JsonArrayAgg& json_array_agg() const; + PROTOBUF_NODISCARD ::pg_query::JsonArrayAgg* release_json_array_agg(); + ::pg_query::JsonArrayAgg* mutable_json_array_agg(); + void set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); + void unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value); + ::pg_query::JsonArrayAgg* unsafe_arena_release_json_array_agg(); + + private: + const ::pg_query::JsonArrayAgg& _internal_json_array_agg() const; + ::pg_query::JsonArrayAgg* _internal_mutable_json_array_agg(); + + public: + // .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"]; + bool has_raw_stmt() const; + private: + bool _internal_has_raw_stmt() const; + + public: + void clear_raw_stmt() ; + const ::pg_query::RawStmt& raw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RawStmt* release_raw_stmt(); + ::pg_query::RawStmt* mutable_raw_stmt(); + void set_allocated_raw_stmt(::pg_query::RawStmt* value); + void unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value); + ::pg_query::RawStmt* unsafe_arena_release_raw_stmt(); + + private: + const ::pg_query::RawStmt& _internal_raw_stmt() const; + ::pg_query::RawStmt* _internal_mutable_raw_stmt(); + + public: + // .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"]; + bool has_insert_stmt() const; + private: + bool _internal_has_insert_stmt() const; + + public: + void clear_insert_stmt() ; + const ::pg_query::InsertStmt& insert_stmt() const; + PROTOBUF_NODISCARD ::pg_query::InsertStmt* release_insert_stmt(); + ::pg_query::InsertStmt* mutable_insert_stmt(); + void set_allocated_insert_stmt(::pg_query::InsertStmt* value); + void unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value); + ::pg_query::InsertStmt* unsafe_arena_release_insert_stmt(); + + private: + const ::pg_query::InsertStmt& _internal_insert_stmt() const; + ::pg_query::InsertStmt* _internal_mutable_insert_stmt(); + + public: + // .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"]; + bool has_delete_stmt() const; + private: + bool _internal_has_delete_stmt() const; + + public: + void clear_delete_stmt() ; + const ::pg_query::DeleteStmt& delete_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeleteStmt* release_delete_stmt(); + ::pg_query::DeleteStmt* mutable_delete_stmt(); + void set_allocated_delete_stmt(::pg_query::DeleteStmt* value); + void unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value); + ::pg_query::DeleteStmt* unsafe_arena_release_delete_stmt(); + + private: + const ::pg_query::DeleteStmt& _internal_delete_stmt() const; + ::pg_query::DeleteStmt* _internal_mutable_delete_stmt(); + + public: + // .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"]; + bool has_update_stmt() const; + private: + bool _internal_has_update_stmt() const; + + public: + void clear_update_stmt() ; + const ::pg_query::UpdateStmt& update_stmt() const; + PROTOBUF_NODISCARD ::pg_query::UpdateStmt* release_update_stmt(); + ::pg_query::UpdateStmt* mutable_update_stmt(); + void set_allocated_update_stmt(::pg_query::UpdateStmt* value); + void unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value); + ::pg_query::UpdateStmt* unsafe_arena_release_update_stmt(); + + private: + const ::pg_query::UpdateStmt& _internal_update_stmt() const; + ::pg_query::UpdateStmt* _internal_mutable_update_stmt(); + + public: + // .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"]; + bool has_merge_stmt() const; + private: + bool _internal_has_merge_stmt() const; + + public: + void clear_merge_stmt() ; + const ::pg_query::MergeStmt& merge_stmt() const; + PROTOBUF_NODISCARD ::pg_query::MergeStmt* release_merge_stmt(); + ::pg_query::MergeStmt* mutable_merge_stmt(); + void set_allocated_merge_stmt(::pg_query::MergeStmt* value); + void unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value); + ::pg_query::MergeStmt* unsafe_arena_release_merge_stmt(); + + private: + const ::pg_query::MergeStmt& _internal_merge_stmt() const; + ::pg_query::MergeStmt* _internal_mutable_merge_stmt(); + + public: + // .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"]; + bool has_select_stmt() const; + private: + bool _internal_has_select_stmt() const; + + public: + void clear_select_stmt() ; + const ::pg_query::SelectStmt& select_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_select_stmt(); + ::pg_query::SelectStmt* mutable_select_stmt(); + void set_allocated_select_stmt(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_select_stmt(); + + private: + const ::pg_query::SelectStmt& _internal_select_stmt() const; + ::pg_query::SelectStmt* _internal_mutable_select_stmt(); + + public: + // .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"]; + bool has_set_operation_stmt() const; + private: + bool _internal_has_set_operation_stmt() const; + + public: + void clear_set_operation_stmt() ; + const ::pg_query::SetOperationStmt& set_operation_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SetOperationStmt* release_set_operation_stmt(); + ::pg_query::SetOperationStmt* mutable_set_operation_stmt(); + void set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); + void unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value); + ::pg_query::SetOperationStmt* unsafe_arena_release_set_operation_stmt(); + + private: + const ::pg_query::SetOperationStmt& _internal_set_operation_stmt() const; + ::pg_query::SetOperationStmt* _internal_mutable_set_operation_stmt(); + + public: + // .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"]; + bool has_return_stmt() const; + private: + bool _internal_has_return_stmt() const; + + public: + void clear_return_stmt() ; + const ::pg_query::ReturnStmt& return_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReturnStmt* release_return_stmt(); + ::pg_query::ReturnStmt* mutable_return_stmt(); + void set_allocated_return_stmt(::pg_query::ReturnStmt* value); + void unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value); + ::pg_query::ReturnStmt* unsafe_arena_release_return_stmt(); + + private: + const ::pg_query::ReturnStmt& _internal_return_stmt() const; + ::pg_query::ReturnStmt* _internal_mutable_return_stmt(); + + public: + // .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"]; + bool has_plassign_stmt() const; + private: + bool _internal_has_plassign_stmt() const; + + public: + void clear_plassign_stmt() ; + const ::pg_query::PLAssignStmt& plassign_stmt() const; + PROTOBUF_NODISCARD ::pg_query::PLAssignStmt* release_plassign_stmt(); + ::pg_query::PLAssignStmt* mutable_plassign_stmt(); + void set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); + void unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value); + ::pg_query::PLAssignStmt* unsafe_arena_release_plassign_stmt(); + + private: + const ::pg_query::PLAssignStmt& _internal_plassign_stmt() const; + ::pg_query::PLAssignStmt* _internal_mutable_plassign_stmt(); + + public: + // .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"]; + bool has_create_schema_stmt() const; + private: + bool _internal_has_create_schema_stmt() const; + + public: + void clear_create_schema_stmt() ; + const ::pg_query::CreateSchemaStmt& create_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSchemaStmt* release_create_schema_stmt(); + ::pg_query::CreateSchemaStmt* mutable_create_schema_stmt(); + void set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); + void unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value); + ::pg_query::CreateSchemaStmt* unsafe_arena_release_create_schema_stmt(); + + private: + const ::pg_query::CreateSchemaStmt& _internal_create_schema_stmt() const; + ::pg_query::CreateSchemaStmt* _internal_mutable_create_schema_stmt(); + + public: + // .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"]; + bool has_alter_table_stmt() const; + private: + bool _internal_has_alter_table_stmt() const; + + public: + void clear_alter_table_stmt() ; + const ::pg_query::AlterTableStmt& alter_table_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableStmt* release_alter_table_stmt(); + ::pg_query::AlterTableStmt* mutable_alter_table_stmt(); + void set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); + void unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value); + ::pg_query::AlterTableStmt* unsafe_arena_release_alter_table_stmt(); + + private: + const ::pg_query::AlterTableStmt& _internal_alter_table_stmt() const; + ::pg_query::AlterTableStmt* _internal_mutable_alter_table_stmt(); + + public: + // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"]; + bool has_replica_identity_stmt() const; + private: + bool _internal_has_replica_identity_stmt() const; + + public: + void clear_replica_identity_stmt() ; + const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReplicaIdentityStmt* release_replica_identity_stmt(); + ::pg_query::ReplicaIdentityStmt* mutable_replica_identity_stmt(); + void set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); + void unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value); + ::pg_query::ReplicaIdentityStmt* unsafe_arena_release_replica_identity_stmt(); + + private: + const ::pg_query::ReplicaIdentityStmt& _internal_replica_identity_stmt() const; + ::pg_query::ReplicaIdentityStmt* _internal_mutable_replica_identity_stmt(); + + public: + // .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"]; + bool has_alter_table_cmd() const; + private: + bool _internal_has_alter_table_cmd() const; + + public: + void clear_alter_table_cmd() ; + const ::pg_query::AlterTableCmd& alter_table_cmd() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableCmd* release_alter_table_cmd(); + ::pg_query::AlterTableCmd* mutable_alter_table_cmd(); + void set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); + void unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value); + ::pg_query::AlterTableCmd* unsafe_arena_release_alter_table_cmd(); + + private: + const ::pg_query::AlterTableCmd& _internal_alter_table_cmd() const; + ::pg_query::AlterTableCmd* _internal_mutable_alter_table_cmd(); + + public: + // .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"]; + bool has_alter_collation_stmt() const; + private: + bool _internal_has_alter_collation_stmt() const; + + public: + void clear_alter_collation_stmt() ; + const ::pg_query::AlterCollationStmt& alter_collation_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterCollationStmt* release_alter_collation_stmt(); + ::pg_query::AlterCollationStmt* mutable_alter_collation_stmt(); + void set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); + void unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value); + ::pg_query::AlterCollationStmt* unsafe_arena_release_alter_collation_stmt(); + + private: + const ::pg_query::AlterCollationStmt& _internal_alter_collation_stmt() const; + ::pg_query::AlterCollationStmt* _internal_mutable_alter_collation_stmt(); + + public: + // .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"]; + bool has_alter_domain_stmt() const; + private: + bool _internal_has_alter_domain_stmt() const; + + public: + void clear_alter_domain_stmt() ; + const ::pg_query::AlterDomainStmt& alter_domain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDomainStmt* release_alter_domain_stmt(); + ::pg_query::AlterDomainStmt* mutable_alter_domain_stmt(); + void set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); + void unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value); + ::pg_query::AlterDomainStmt* unsafe_arena_release_alter_domain_stmt(); + + private: + const ::pg_query::AlterDomainStmt& _internal_alter_domain_stmt() const; + ::pg_query::AlterDomainStmt* _internal_mutable_alter_domain_stmt(); + + public: + // .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"]; + bool has_grant_stmt() const; + private: + bool _internal_has_grant_stmt() const; + + public: + void clear_grant_stmt() ; + const ::pg_query::GrantStmt& grant_stmt() const; + PROTOBUF_NODISCARD ::pg_query::GrantStmt* release_grant_stmt(); + ::pg_query::GrantStmt* mutable_grant_stmt(); + void set_allocated_grant_stmt(::pg_query::GrantStmt* value); + void unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value); + ::pg_query::GrantStmt* unsafe_arena_release_grant_stmt(); + + private: + const ::pg_query::GrantStmt& _internal_grant_stmt() const; + ::pg_query::GrantStmt* _internal_mutable_grant_stmt(); + + public: + // .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"]; + bool has_object_with_args() const; + private: + bool _internal_has_object_with_args() const; + + public: + void clear_object_with_args() ; + const ::pg_query::ObjectWithArgs& object_with_args() const; + PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_object_with_args(); + ::pg_query::ObjectWithArgs* mutable_object_with_args(); + void set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); + void unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value); + ::pg_query::ObjectWithArgs* unsafe_arena_release_object_with_args(); + + private: + const ::pg_query::ObjectWithArgs& _internal_object_with_args() const; + ::pg_query::ObjectWithArgs* _internal_mutable_object_with_args(); + + public: + // .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"]; + bool has_access_priv() const; + private: + bool _internal_has_access_priv() const; + + public: + void clear_access_priv() ; + const ::pg_query::AccessPriv& access_priv() const; + PROTOBUF_NODISCARD ::pg_query::AccessPriv* release_access_priv(); + ::pg_query::AccessPriv* mutable_access_priv(); + void set_allocated_access_priv(::pg_query::AccessPriv* value); + void unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value); + ::pg_query::AccessPriv* unsafe_arena_release_access_priv(); + + private: + const ::pg_query::AccessPriv& _internal_access_priv() const; + ::pg_query::AccessPriv* _internal_mutable_access_priv(); + + public: + // .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"]; + bool has_grant_role_stmt() const; + private: + bool _internal_has_grant_role_stmt() const; + + public: + void clear_grant_role_stmt() ; + const ::pg_query::GrantRoleStmt& grant_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::GrantRoleStmt* release_grant_role_stmt(); + ::pg_query::GrantRoleStmt* mutable_grant_role_stmt(); + void set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); + void unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value); + ::pg_query::GrantRoleStmt* unsafe_arena_release_grant_role_stmt(); + + private: + const ::pg_query::GrantRoleStmt& _internal_grant_role_stmt() const; + ::pg_query::GrantRoleStmt* _internal_mutable_grant_role_stmt(); + + public: + // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"]; + bool has_alter_default_privileges_stmt() const; + private: + bool _internal_has_alter_default_privileges_stmt() const; + + public: + void clear_alter_default_privileges_stmt() ; + const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDefaultPrivilegesStmt* release_alter_default_privileges_stmt(); + ::pg_query::AlterDefaultPrivilegesStmt* mutable_alter_default_privileges_stmt(); + void set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); + void unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value); + ::pg_query::AlterDefaultPrivilegesStmt* unsafe_arena_release_alter_default_privileges_stmt(); + + private: + const ::pg_query::AlterDefaultPrivilegesStmt& _internal_alter_default_privileges_stmt() const; + ::pg_query::AlterDefaultPrivilegesStmt* _internal_mutable_alter_default_privileges_stmt(); + + public: + // .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"]; + bool has_copy_stmt() const; + private: + bool _internal_has_copy_stmt() const; + + public: + void clear_copy_stmt() ; + const ::pg_query::CopyStmt& copy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CopyStmt* release_copy_stmt(); + ::pg_query::CopyStmt* mutable_copy_stmt(); + void set_allocated_copy_stmt(::pg_query::CopyStmt* value); + void unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value); + ::pg_query::CopyStmt* unsafe_arena_release_copy_stmt(); + + private: + const ::pg_query::CopyStmt& _internal_copy_stmt() const; + ::pg_query::CopyStmt* _internal_mutable_copy_stmt(); + + public: + // .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"]; + bool has_variable_set_stmt() const; + private: + bool _internal_has_variable_set_stmt() const; + + public: + void clear_variable_set_stmt() ; + const ::pg_query::VariableSetStmt& variable_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_variable_set_stmt(); + ::pg_query::VariableSetStmt* mutable_variable_set_stmt(); + void set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); + void unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value); + ::pg_query::VariableSetStmt* unsafe_arena_release_variable_set_stmt(); + + private: + const ::pg_query::VariableSetStmt& _internal_variable_set_stmt() const; + ::pg_query::VariableSetStmt* _internal_mutable_variable_set_stmt(); + + public: + // .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"]; + bool has_variable_show_stmt() const; + private: + bool _internal_has_variable_show_stmt() const; + + public: + void clear_variable_show_stmt() ; + const ::pg_query::VariableShowStmt& variable_show_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VariableShowStmt* release_variable_show_stmt(); + ::pg_query::VariableShowStmt* mutable_variable_show_stmt(); + void set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); + void unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value); + ::pg_query::VariableShowStmt* unsafe_arena_release_variable_show_stmt(); + + private: + const ::pg_query::VariableShowStmt& _internal_variable_show_stmt() const; + ::pg_query::VariableShowStmt* _internal_mutable_variable_show_stmt(); + + public: + // .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"]; + bool has_create_stmt() const; + private: + bool _internal_has_create_stmt() const; + + public: + void clear_create_stmt() ; + const ::pg_query::CreateStmt& create_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateStmt* release_create_stmt(); + ::pg_query::CreateStmt* mutable_create_stmt(); + void set_allocated_create_stmt(::pg_query::CreateStmt* value); + void unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value); + ::pg_query::CreateStmt* unsafe_arena_release_create_stmt(); + + private: + const ::pg_query::CreateStmt& _internal_create_stmt() const; + ::pg_query::CreateStmt* _internal_mutable_create_stmt(); + + public: + // .pg_query.Constraint constraint = 155 [json_name = "Constraint"]; + bool has_constraint() const; + private: + bool _internal_has_constraint() const; + + public: + void clear_constraint() ; + const ::pg_query::Constraint& constraint() const; + PROTOBUF_NODISCARD ::pg_query::Constraint* release_constraint(); + ::pg_query::Constraint* mutable_constraint(); + void set_allocated_constraint(::pg_query::Constraint* value); + void unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value); + ::pg_query::Constraint* unsafe_arena_release_constraint(); + + private: + const ::pg_query::Constraint& _internal_constraint() const; + ::pg_query::Constraint* _internal_mutable_constraint(); + + public: + // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"]; + bool has_create_table_space_stmt() const; + private: + bool _internal_has_create_table_space_stmt() const; + + public: + void clear_create_table_space_stmt() ; + const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTableSpaceStmt* release_create_table_space_stmt(); + ::pg_query::CreateTableSpaceStmt* mutable_create_table_space_stmt(); + void set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); + void unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value); + ::pg_query::CreateTableSpaceStmt* unsafe_arena_release_create_table_space_stmt(); + + private: + const ::pg_query::CreateTableSpaceStmt& _internal_create_table_space_stmt() const; + ::pg_query::CreateTableSpaceStmt* _internal_mutable_create_table_space_stmt(); + + public: + // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"]; + bool has_drop_table_space_stmt() const; + private: + bool _internal_has_drop_table_space_stmt() const; + + public: + void clear_drop_table_space_stmt() ; + const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropTableSpaceStmt* release_drop_table_space_stmt(); + ::pg_query::DropTableSpaceStmt* mutable_drop_table_space_stmt(); + void set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); + void unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value); + ::pg_query::DropTableSpaceStmt* unsafe_arena_release_drop_table_space_stmt(); + + private: + const ::pg_query::DropTableSpaceStmt& _internal_drop_table_space_stmt() const; + ::pg_query::DropTableSpaceStmt* _internal_mutable_drop_table_space_stmt(); + + public: + // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"]; + bool has_alter_table_space_options_stmt() const; + private: + bool _internal_has_alter_table_space_options_stmt() const; + + public: + void clear_alter_table_space_options_stmt() ; + const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableSpaceOptionsStmt* release_alter_table_space_options_stmt(); + ::pg_query::AlterTableSpaceOptionsStmt* mutable_alter_table_space_options_stmt(); + void set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); + void unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value); + ::pg_query::AlterTableSpaceOptionsStmt* unsafe_arena_release_alter_table_space_options_stmt(); + + private: + const ::pg_query::AlterTableSpaceOptionsStmt& _internal_alter_table_space_options_stmt() const; + ::pg_query::AlterTableSpaceOptionsStmt* _internal_mutable_alter_table_space_options_stmt(); + + public: + // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"]; + bool has_alter_table_move_all_stmt() const; + private: + bool _internal_has_alter_table_move_all_stmt() const; + + public: + void clear_alter_table_move_all_stmt() ; + const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTableMoveAllStmt* release_alter_table_move_all_stmt(); + ::pg_query::AlterTableMoveAllStmt* mutable_alter_table_move_all_stmt(); + void set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); + void unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value); + ::pg_query::AlterTableMoveAllStmt* unsafe_arena_release_alter_table_move_all_stmt(); + + private: + const ::pg_query::AlterTableMoveAllStmt& _internal_alter_table_move_all_stmt() const; + ::pg_query::AlterTableMoveAllStmt* _internal_mutable_alter_table_move_all_stmt(); + + public: + // .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"]; + bool has_create_extension_stmt() const; + private: + bool _internal_has_create_extension_stmt() const; + + public: + void clear_create_extension_stmt() ; + const ::pg_query::CreateExtensionStmt& create_extension_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateExtensionStmt* release_create_extension_stmt(); + ::pg_query::CreateExtensionStmt* mutable_create_extension_stmt(); + void set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); + void unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value); + ::pg_query::CreateExtensionStmt* unsafe_arena_release_create_extension_stmt(); + + private: + const ::pg_query::CreateExtensionStmt& _internal_create_extension_stmt() const; + ::pg_query::CreateExtensionStmt* _internal_mutable_create_extension_stmt(); + + public: + // .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"]; + bool has_alter_extension_stmt() const; + private: + bool _internal_has_alter_extension_stmt() const; + + public: + void clear_alter_extension_stmt() ; + const ::pg_query::AlterExtensionStmt& alter_extension_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterExtensionStmt* release_alter_extension_stmt(); + ::pg_query::AlterExtensionStmt* mutable_alter_extension_stmt(); + void set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); + void unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value); + ::pg_query::AlterExtensionStmt* unsafe_arena_release_alter_extension_stmt(); + + private: + const ::pg_query::AlterExtensionStmt& _internal_alter_extension_stmt() const; + ::pg_query::AlterExtensionStmt* _internal_mutable_alter_extension_stmt(); + + public: + // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"]; + bool has_alter_extension_contents_stmt() const; + private: + bool _internal_has_alter_extension_contents_stmt() const; + + public: + void clear_alter_extension_contents_stmt() ; + const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterExtensionContentsStmt* release_alter_extension_contents_stmt(); + ::pg_query::AlterExtensionContentsStmt* mutable_alter_extension_contents_stmt(); + void set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); + void unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value); + ::pg_query::AlterExtensionContentsStmt* unsafe_arena_release_alter_extension_contents_stmt(); + + private: + const ::pg_query::AlterExtensionContentsStmt& _internal_alter_extension_contents_stmt() const; + ::pg_query::AlterExtensionContentsStmt* _internal_mutable_alter_extension_contents_stmt(); + + public: + // .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"]; + bool has_create_fdw_stmt() const; + private: + bool _internal_has_create_fdw_stmt() const; + + public: + void clear_create_fdw_stmt() ; + const ::pg_query::CreateFdwStmt& create_fdw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateFdwStmt* release_create_fdw_stmt(); + ::pg_query::CreateFdwStmt* mutable_create_fdw_stmt(); + void set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); + void unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value); + ::pg_query::CreateFdwStmt* unsafe_arena_release_create_fdw_stmt(); + + private: + const ::pg_query::CreateFdwStmt& _internal_create_fdw_stmt() const; + ::pg_query::CreateFdwStmt* _internal_mutable_create_fdw_stmt(); + + public: + // .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"]; + bool has_alter_fdw_stmt() const; + private: + bool _internal_has_alter_fdw_stmt() const; + + public: + void clear_alter_fdw_stmt() ; + const ::pg_query::AlterFdwStmt& alter_fdw_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterFdwStmt* release_alter_fdw_stmt(); + ::pg_query::AlterFdwStmt* mutable_alter_fdw_stmt(); + void set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); + void unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value); + ::pg_query::AlterFdwStmt* unsafe_arena_release_alter_fdw_stmt(); + + private: + const ::pg_query::AlterFdwStmt& _internal_alter_fdw_stmt() const; + ::pg_query::AlterFdwStmt* _internal_mutable_alter_fdw_stmt(); + + public: + // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"]; + bool has_create_foreign_server_stmt() const; + private: + bool _internal_has_create_foreign_server_stmt() const; + + public: + void clear_create_foreign_server_stmt() ; + const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateForeignServerStmt* release_create_foreign_server_stmt(); + ::pg_query::CreateForeignServerStmt* mutable_create_foreign_server_stmt(); + void set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); + void unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value); + ::pg_query::CreateForeignServerStmt* unsafe_arena_release_create_foreign_server_stmt(); + + private: + const ::pg_query::CreateForeignServerStmt& _internal_create_foreign_server_stmt() const; + ::pg_query::CreateForeignServerStmt* _internal_mutable_create_foreign_server_stmt(); + + public: + // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"]; + bool has_alter_foreign_server_stmt() const; + private: + bool _internal_has_alter_foreign_server_stmt() const; + + public: + void clear_alter_foreign_server_stmt() ; + const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterForeignServerStmt* release_alter_foreign_server_stmt(); + ::pg_query::AlterForeignServerStmt* mutable_alter_foreign_server_stmt(); + void set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); + void unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value); + ::pg_query::AlterForeignServerStmt* unsafe_arena_release_alter_foreign_server_stmt(); + + private: + const ::pg_query::AlterForeignServerStmt& _internal_alter_foreign_server_stmt() const; + ::pg_query::AlterForeignServerStmt* _internal_mutable_alter_foreign_server_stmt(); + + public: + // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"]; + bool has_create_foreign_table_stmt() const; + private: + bool _internal_has_create_foreign_table_stmt() const; + + public: + void clear_create_foreign_table_stmt() ; + const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateForeignTableStmt* release_create_foreign_table_stmt(); + ::pg_query::CreateForeignTableStmt* mutable_create_foreign_table_stmt(); + void set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); + void unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value); + ::pg_query::CreateForeignTableStmt* unsafe_arena_release_create_foreign_table_stmt(); + + private: + const ::pg_query::CreateForeignTableStmt& _internal_create_foreign_table_stmt() const; + ::pg_query::CreateForeignTableStmt* _internal_mutable_create_foreign_table_stmt(); + + public: + // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"]; + bool has_create_user_mapping_stmt() const; + private: + bool _internal_has_create_user_mapping_stmt() const; + + public: + void clear_create_user_mapping_stmt() ; + const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateUserMappingStmt* release_create_user_mapping_stmt(); + ::pg_query::CreateUserMappingStmt* mutable_create_user_mapping_stmt(); + void set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); + void unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value); + ::pg_query::CreateUserMappingStmt* unsafe_arena_release_create_user_mapping_stmt(); + + private: + const ::pg_query::CreateUserMappingStmt& _internal_create_user_mapping_stmt() const; + ::pg_query::CreateUserMappingStmt* _internal_mutable_create_user_mapping_stmt(); + + public: + // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"]; + bool has_alter_user_mapping_stmt() const; + private: + bool _internal_has_alter_user_mapping_stmt() const; + + public: + void clear_alter_user_mapping_stmt() ; + const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterUserMappingStmt* release_alter_user_mapping_stmt(); + ::pg_query::AlterUserMappingStmt* mutable_alter_user_mapping_stmt(); + void set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); + void unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value); + ::pg_query::AlterUserMappingStmt* unsafe_arena_release_alter_user_mapping_stmt(); + + private: + const ::pg_query::AlterUserMappingStmt& _internal_alter_user_mapping_stmt() const; + ::pg_query::AlterUserMappingStmt* _internal_mutable_alter_user_mapping_stmt(); + + public: + // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"]; + bool has_drop_user_mapping_stmt() const; + private: + bool _internal_has_drop_user_mapping_stmt() const; + + public: + void clear_drop_user_mapping_stmt() ; + const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropUserMappingStmt* release_drop_user_mapping_stmt(); + ::pg_query::DropUserMappingStmt* mutable_drop_user_mapping_stmt(); + void set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); + void unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value); + ::pg_query::DropUserMappingStmt* unsafe_arena_release_drop_user_mapping_stmt(); + + private: + const ::pg_query::DropUserMappingStmt& _internal_drop_user_mapping_stmt() const; + ::pg_query::DropUserMappingStmt* _internal_mutable_drop_user_mapping_stmt(); + + public: + // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"]; + bool has_import_foreign_schema_stmt() const; + private: + bool _internal_has_import_foreign_schema_stmt() const; + + public: + void clear_import_foreign_schema_stmt() ; + const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ImportForeignSchemaStmt* release_import_foreign_schema_stmt(); + ::pg_query::ImportForeignSchemaStmt* mutable_import_foreign_schema_stmt(); + void set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); + void unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value); + ::pg_query::ImportForeignSchemaStmt* unsafe_arena_release_import_foreign_schema_stmt(); + + private: + const ::pg_query::ImportForeignSchemaStmt& _internal_import_foreign_schema_stmt() const; + ::pg_query::ImportForeignSchemaStmt* _internal_mutable_import_foreign_schema_stmt(); + + public: + // .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"]; + bool has_create_policy_stmt() const; + private: + bool _internal_has_create_policy_stmt() const; + + public: + void clear_create_policy_stmt() ; + const ::pg_query::CreatePolicyStmt& create_policy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePolicyStmt* release_create_policy_stmt(); + ::pg_query::CreatePolicyStmt* mutable_create_policy_stmt(); + void set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); + void unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value); + ::pg_query::CreatePolicyStmt* unsafe_arena_release_create_policy_stmt(); + + private: + const ::pg_query::CreatePolicyStmt& _internal_create_policy_stmt() const; + ::pg_query::CreatePolicyStmt* _internal_mutable_create_policy_stmt(); + + public: + // .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"]; + bool has_alter_policy_stmt() const; + private: + bool _internal_has_alter_policy_stmt() const; + + public: + void clear_alter_policy_stmt() ; + const ::pg_query::AlterPolicyStmt& alter_policy_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterPolicyStmt* release_alter_policy_stmt(); + ::pg_query::AlterPolicyStmt* mutable_alter_policy_stmt(); + void set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); + void unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value); + ::pg_query::AlterPolicyStmt* unsafe_arena_release_alter_policy_stmt(); + + private: + const ::pg_query::AlterPolicyStmt& _internal_alter_policy_stmt() const; + ::pg_query::AlterPolicyStmt* _internal_mutable_alter_policy_stmt(); + + public: + // .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"]; + bool has_create_am_stmt() const; + private: + bool _internal_has_create_am_stmt() const; + + public: + void clear_create_am_stmt() ; + const ::pg_query::CreateAmStmt& create_am_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateAmStmt* release_create_am_stmt(); + ::pg_query::CreateAmStmt* mutable_create_am_stmt(); + void set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); + void unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value); + ::pg_query::CreateAmStmt* unsafe_arena_release_create_am_stmt(); + + private: + const ::pg_query::CreateAmStmt& _internal_create_am_stmt() const; + ::pg_query::CreateAmStmt* _internal_mutable_create_am_stmt(); + + public: + // .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"]; + bool has_create_trig_stmt() const; + private: + bool _internal_has_create_trig_stmt() const; + + public: + void clear_create_trig_stmt() ; + const ::pg_query::CreateTrigStmt& create_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTrigStmt* release_create_trig_stmt(); + ::pg_query::CreateTrigStmt* mutable_create_trig_stmt(); + void set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); + void unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value); + ::pg_query::CreateTrigStmt* unsafe_arena_release_create_trig_stmt(); + + private: + const ::pg_query::CreateTrigStmt& _internal_create_trig_stmt() const; + ::pg_query::CreateTrigStmt* _internal_mutable_create_trig_stmt(); + + public: + // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"]; + bool has_create_event_trig_stmt() const; + private: + bool _internal_has_create_event_trig_stmt() const; + + public: + void clear_create_event_trig_stmt() ; + const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateEventTrigStmt* release_create_event_trig_stmt(); + ::pg_query::CreateEventTrigStmt* mutable_create_event_trig_stmt(); + void set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); + void unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value); + ::pg_query::CreateEventTrigStmt* unsafe_arena_release_create_event_trig_stmt(); + + private: + const ::pg_query::CreateEventTrigStmt& _internal_create_event_trig_stmt() const; + ::pg_query::CreateEventTrigStmt* _internal_mutable_create_event_trig_stmt(); + + public: + // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"]; + bool has_alter_event_trig_stmt() const; + private: + bool _internal_has_alter_event_trig_stmt() const; + + public: + void clear_alter_event_trig_stmt() ; + const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterEventTrigStmt* release_alter_event_trig_stmt(); + ::pg_query::AlterEventTrigStmt* mutable_alter_event_trig_stmt(); + void set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); + void unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value); + ::pg_query::AlterEventTrigStmt* unsafe_arena_release_alter_event_trig_stmt(); + + private: + const ::pg_query::AlterEventTrigStmt& _internal_alter_event_trig_stmt() const; + ::pg_query::AlterEventTrigStmt* _internal_mutable_alter_event_trig_stmt(); + + public: + // .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"]; + bool has_create_plang_stmt() const; + private: + bool _internal_has_create_plang_stmt() const; + + public: + void clear_create_plang_stmt() ; + const ::pg_query::CreatePLangStmt& create_plang_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePLangStmt* release_create_plang_stmt(); + ::pg_query::CreatePLangStmt* mutable_create_plang_stmt(); + void set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); + void unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value); + ::pg_query::CreatePLangStmt* unsafe_arena_release_create_plang_stmt(); + + private: + const ::pg_query::CreatePLangStmt& _internal_create_plang_stmt() const; + ::pg_query::CreatePLangStmt* _internal_mutable_create_plang_stmt(); + + public: + // .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"]; + bool has_create_role_stmt() const; + private: + bool _internal_has_create_role_stmt() const; + + public: + void clear_create_role_stmt() ; + const ::pg_query::CreateRoleStmt& create_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateRoleStmt* release_create_role_stmt(); + ::pg_query::CreateRoleStmt* mutable_create_role_stmt(); + void set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); + void unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value); + ::pg_query::CreateRoleStmt* unsafe_arena_release_create_role_stmt(); + + private: + const ::pg_query::CreateRoleStmt& _internal_create_role_stmt() const; + ::pg_query::CreateRoleStmt* _internal_mutable_create_role_stmt(); + + public: + // .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"]; + bool has_alter_role_stmt() const; + private: + bool _internal_has_alter_role_stmt() const; + + public: + void clear_alter_role_stmt() ; + const ::pg_query::AlterRoleStmt& alter_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterRoleStmt* release_alter_role_stmt(); + ::pg_query::AlterRoleStmt* mutable_alter_role_stmt(); + void set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); + void unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value); + ::pg_query::AlterRoleStmt* unsafe_arena_release_alter_role_stmt(); + + private: + const ::pg_query::AlterRoleStmt& _internal_alter_role_stmt() const; + ::pg_query::AlterRoleStmt* _internal_mutable_alter_role_stmt(); + + public: + // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"]; + bool has_alter_role_set_stmt() const; + private: + bool _internal_has_alter_role_set_stmt() const; + + public: + void clear_alter_role_set_stmt() ; + const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterRoleSetStmt* release_alter_role_set_stmt(); + ::pg_query::AlterRoleSetStmt* mutable_alter_role_set_stmt(); + void set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); + void unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value); + ::pg_query::AlterRoleSetStmt* unsafe_arena_release_alter_role_set_stmt(); + + private: + const ::pg_query::AlterRoleSetStmt& _internal_alter_role_set_stmt() const; + ::pg_query::AlterRoleSetStmt* _internal_mutable_alter_role_set_stmt(); + + public: + // .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"]; + bool has_drop_role_stmt() const; + private: + bool _internal_has_drop_role_stmt() const; + + public: + void clear_drop_role_stmt() ; + const ::pg_query::DropRoleStmt& drop_role_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropRoleStmt* release_drop_role_stmt(); + ::pg_query::DropRoleStmt* mutable_drop_role_stmt(); + void set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); + void unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value); + ::pg_query::DropRoleStmt* unsafe_arena_release_drop_role_stmt(); + + private: + const ::pg_query::DropRoleStmt& _internal_drop_role_stmt() const; + ::pg_query::DropRoleStmt* _internal_mutable_drop_role_stmt(); + + public: + // .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"]; + bool has_create_seq_stmt() const; + private: + bool _internal_has_create_seq_stmt() const; + + public: + void clear_create_seq_stmt() ; + const ::pg_query::CreateSeqStmt& create_seq_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSeqStmt* release_create_seq_stmt(); + ::pg_query::CreateSeqStmt* mutable_create_seq_stmt(); + void set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); + void unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value); + ::pg_query::CreateSeqStmt* unsafe_arena_release_create_seq_stmt(); + + private: + const ::pg_query::CreateSeqStmt& _internal_create_seq_stmt() const; + ::pg_query::CreateSeqStmt* _internal_mutable_create_seq_stmt(); + + public: + // .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"]; + bool has_alter_seq_stmt() const; + private: + bool _internal_has_alter_seq_stmt() const; + + public: + void clear_alter_seq_stmt() ; + const ::pg_query::AlterSeqStmt& alter_seq_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSeqStmt* release_alter_seq_stmt(); + ::pg_query::AlterSeqStmt* mutable_alter_seq_stmt(); + void set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); + void unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value); + ::pg_query::AlterSeqStmt* unsafe_arena_release_alter_seq_stmt(); + + private: + const ::pg_query::AlterSeqStmt& _internal_alter_seq_stmt() const; + ::pg_query::AlterSeqStmt* _internal_mutable_alter_seq_stmt(); + + public: + // .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"]; + bool has_define_stmt() const; + private: + bool _internal_has_define_stmt() const; + + public: + void clear_define_stmt() ; + const ::pg_query::DefineStmt& define_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DefineStmt* release_define_stmt(); + ::pg_query::DefineStmt* mutable_define_stmt(); + void set_allocated_define_stmt(::pg_query::DefineStmt* value); + void unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value); + ::pg_query::DefineStmt* unsafe_arena_release_define_stmt(); + + private: + const ::pg_query::DefineStmt& _internal_define_stmt() const; + ::pg_query::DefineStmt* _internal_mutable_define_stmt(); + + public: + // .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"]; + bool has_create_domain_stmt() const; + private: + bool _internal_has_create_domain_stmt() const; + + public: + void clear_create_domain_stmt() ; + const ::pg_query::CreateDomainStmt& create_domain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateDomainStmt* release_create_domain_stmt(); + ::pg_query::CreateDomainStmt* mutable_create_domain_stmt(); + void set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); + void unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value); + ::pg_query::CreateDomainStmt* unsafe_arena_release_create_domain_stmt(); + + private: + const ::pg_query::CreateDomainStmt& _internal_create_domain_stmt() const; + ::pg_query::CreateDomainStmt* _internal_mutable_create_domain_stmt(); + + public: + // .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"]; + bool has_create_op_class_stmt() const; + private: + bool _internal_has_create_op_class_stmt() const; + + public: + void clear_create_op_class_stmt() ; + const ::pg_query::CreateOpClassStmt& create_op_class_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpClassStmt* release_create_op_class_stmt(); + ::pg_query::CreateOpClassStmt* mutable_create_op_class_stmt(); + void set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); + void unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value); + ::pg_query::CreateOpClassStmt* unsafe_arena_release_create_op_class_stmt(); + + private: + const ::pg_query::CreateOpClassStmt& _internal_create_op_class_stmt() const; + ::pg_query::CreateOpClassStmt* _internal_mutable_create_op_class_stmt(); + + public: + // .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"]; + bool has_create_op_class_item() const; + private: + bool _internal_has_create_op_class_item() const; + + public: + void clear_create_op_class_item() ; + const ::pg_query::CreateOpClassItem& create_op_class_item() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpClassItem* release_create_op_class_item(); + ::pg_query::CreateOpClassItem* mutable_create_op_class_item(); + void set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); + void unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value); + ::pg_query::CreateOpClassItem* unsafe_arena_release_create_op_class_item(); + + private: + const ::pg_query::CreateOpClassItem& _internal_create_op_class_item() const; + ::pg_query::CreateOpClassItem* _internal_mutable_create_op_class_item(); + + public: + // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"]; + bool has_create_op_family_stmt() const; + private: + bool _internal_has_create_op_family_stmt() const; + + public: + void clear_create_op_family_stmt() ; + const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateOpFamilyStmt* release_create_op_family_stmt(); + ::pg_query::CreateOpFamilyStmt* mutable_create_op_family_stmt(); + void set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); + void unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value); + ::pg_query::CreateOpFamilyStmt* unsafe_arena_release_create_op_family_stmt(); + + private: + const ::pg_query::CreateOpFamilyStmt& _internal_create_op_family_stmt() const; + ::pg_query::CreateOpFamilyStmt* _internal_mutable_create_op_family_stmt(); + + public: + // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"]; + bool has_alter_op_family_stmt() const; + private: + bool _internal_has_alter_op_family_stmt() const; + + public: + void clear_alter_op_family_stmt() ; + const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOpFamilyStmt* release_alter_op_family_stmt(); + ::pg_query::AlterOpFamilyStmt* mutable_alter_op_family_stmt(); + void set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); + void unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value); + ::pg_query::AlterOpFamilyStmt* unsafe_arena_release_alter_op_family_stmt(); + + private: + const ::pg_query::AlterOpFamilyStmt& _internal_alter_op_family_stmt() const; + ::pg_query::AlterOpFamilyStmt* _internal_mutable_alter_op_family_stmt(); + + public: + // .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"]; + bool has_drop_stmt() const; + private: + bool _internal_has_drop_stmt() const; + + public: + void clear_drop_stmt() ; + const ::pg_query::DropStmt& drop_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropStmt* release_drop_stmt(); + ::pg_query::DropStmt* mutable_drop_stmt(); + void set_allocated_drop_stmt(::pg_query::DropStmt* value); + void unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value); + ::pg_query::DropStmt* unsafe_arena_release_drop_stmt(); + + private: + const ::pg_query::DropStmt& _internal_drop_stmt() const; + ::pg_query::DropStmt* _internal_mutable_drop_stmt(); + + public: + // .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"]; + bool has_truncate_stmt() const; + private: + bool _internal_has_truncate_stmt() const; + + public: + void clear_truncate_stmt() ; + const ::pg_query::TruncateStmt& truncate_stmt() const; + PROTOBUF_NODISCARD ::pg_query::TruncateStmt* release_truncate_stmt(); + ::pg_query::TruncateStmt* mutable_truncate_stmt(); + void set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); + void unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value); + ::pg_query::TruncateStmt* unsafe_arena_release_truncate_stmt(); + + private: + const ::pg_query::TruncateStmt& _internal_truncate_stmt() const; + ::pg_query::TruncateStmt* _internal_mutable_truncate_stmt(); + + public: + // .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"]; + bool has_comment_stmt() const; + private: + bool _internal_has_comment_stmt() const; + + public: + void clear_comment_stmt() ; + const ::pg_query::CommentStmt& comment_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CommentStmt* release_comment_stmt(); + ::pg_query::CommentStmt* mutable_comment_stmt(); + void set_allocated_comment_stmt(::pg_query::CommentStmt* value); + void unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value); + ::pg_query::CommentStmt* unsafe_arena_release_comment_stmt(); + + private: + const ::pg_query::CommentStmt& _internal_comment_stmt() const; + ::pg_query::CommentStmt* _internal_mutable_comment_stmt(); + + public: + // .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"]; + bool has_sec_label_stmt() const; + private: + bool _internal_has_sec_label_stmt() const; + + public: + void clear_sec_label_stmt() ; + const ::pg_query::SecLabelStmt& sec_label_stmt() const; + PROTOBUF_NODISCARD ::pg_query::SecLabelStmt* release_sec_label_stmt(); + ::pg_query::SecLabelStmt* mutable_sec_label_stmt(); + void set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); + void unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value); + ::pg_query::SecLabelStmt* unsafe_arena_release_sec_label_stmt(); + + private: + const ::pg_query::SecLabelStmt& _internal_sec_label_stmt() const; + ::pg_query::SecLabelStmt* _internal_mutable_sec_label_stmt(); + + public: + // .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"]; + bool has_declare_cursor_stmt() const; + private: + bool _internal_has_declare_cursor_stmt() const; + + public: + void clear_declare_cursor_stmt() ; + const ::pg_query::DeclareCursorStmt& declare_cursor_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeclareCursorStmt* release_declare_cursor_stmt(); + ::pg_query::DeclareCursorStmt* mutable_declare_cursor_stmt(); + void set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); + void unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value); + ::pg_query::DeclareCursorStmt* unsafe_arena_release_declare_cursor_stmt(); + + private: + const ::pg_query::DeclareCursorStmt& _internal_declare_cursor_stmt() const; + ::pg_query::DeclareCursorStmt* _internal_mutable_declare_cursor_stmt(); + + public: + // .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"]; + bool has_close_portal_stmt() const; + private: + bool _internal_has_close_portal_stmt() const; + + public: + void clear_close_portal_stmt() ; + const ::pg_query::ClosePortalStmt& close_portal_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ClosePortalStmt* release_close_portal_stmt(); + ::pg_query::ClosePortalStmt* mutable_close_portal_stmt(); + void set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); + void unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value); + ::pg_query::ClosePortalStmt* unsafe_arena_release_close_portal_stmt(); + + private: + const ::pg_query::ClosePortalStmt& _internal_close_portal_stmt() const; + ::pg_query::ClosePortalStmt* _internal_mutable_close_portal_stmt(); + + public: + // .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"]; + bool has_fetch_stmt() const; + private: + bool _internal_has_fetch_stmt() const; + + public: + void clear_fetch_stmt() ; + const ::pg_query::FetchStmt& fetch_stmt() const; + PROTOBUF_NODISCARD ::pg_query::FetchStmt* release_fetch_stmt(); + ::pg_query::FetchStmt* mutable_fetch_stmt(); + void set_allocated_fetch_stmt(::pg_query::FetchStmt* value); + void unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value); + ::pg_query::FetchStmt* unsafe_arena_release_fetch_stmt(); + + private: + const ::pg_query::FetchStmt& _internal_fetch_stmt() const; + ::pg_query::FetchStmt* _internal_mutable_fetch_stmt(); + + public: + // .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"]; + bool has_index_stmt() const; + private: + bool _internal_has_index_stmt() const; + + public: + void clear_index_stmt() ; + const ::pg_query::IndexStmt& index_stmt() const; + PROTOBUF_NODISCARD ::pg_query::IndexStmt* release_index_stmt(); + ::pg_query::IndexStmt* mutable_index_stmt(); + void set_allocated_index_stmt(::pg_query::IndexStmt* value); + void unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value); + ::pg_query::IndexStmt* unsafe_arena_release_index_stmt(); + + private: + const ::pg_query::IndexStmt& _internal_index_stmt() const; + ::pg_query::IndexStmt* _internal_mutable_index_stmt(); + + public: + // .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"]; + bool has_create_stats_stmt() const; + private: + bool _internal_has_create_stats_stmt() const; + + public: + void clear_create_stats_stmt() ; + const ::pg_query::CreateStatsStmt& create_stats_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateStatsStmt* release_create_stats_stmt(); + ::pg_query::CreateStatsStmt* mutable_create_stats_stmt(); + void set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); + void unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value); + ::pg_query::CreateStatsStmt* unsafe_arena_release_create_stats_stmt(); + + private: + const ::pg_query::CreateStatsStmt& _internal_create_stats_stmt() const; + ::pg_query::CreateStatsStmt* _internal_mutable_create_stats_stmt(); + + public: + // .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"]; + bool has_stats_elem() const; + private: + bool _internal_has_stats_elem() const; + + public: + void clear_stats_elem() ; + const ::pg_query::StatsElem& stats_elem() const; + PROTOBUF_NODISCARD ::pg_query::StatsElem* release_stats_elem(); + ::pg_query::StatsElem* mutable_stats_elem(); + void set_allocated_stats_elem(::pg_query::StatsElem* value); + void unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value); + ::pg_query::StatsElem* unsafe_arena_release_stats_elem(); + + private: + const ::pg_query::StatsElem& _internal_stats_elem() const; + ::pg_query::StatsElem* _internal_mutable_stats_elem(); + + public: + // .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"]; + bool has_alter_stats_stmt() const; + private: + bool _internal_has_alter_stats_stmt() const; + + public: + void clear_alter_stats_stmt() ; + const ::pg_query::AlterStatsStmt& alter_stats_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterStatsStmt* release_alter_stats_stmt(); + ::pg_query::AlterStatsStmt* mutable_alter_stats_stmt(); + void set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); + void unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value); + ::pg_query::AlterStatsStmt* unsafe_arena_release_alter_stats_stmt(); + + private: + const ::pg_query::AlterStatsStmt& _internal_alter_stats_stmt() const; + ::pg_query::AlterStatsStmt* _internal_mutable_alter_stats_stmt(); + + public: + // .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"]; + bool has_create_function_stmt() const; + private: + bool _internal_has_create_function_stmt() const; + + public: + void clear_create_function_stmt() ; + const ::pg_query::CreateFunctionStmt& create_function_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateFunctionStmt* release_create_function_stmt(); + ::pg_query::CreateFunctionStmt* mutable_create_function_stmt(); + void set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); + void unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value); + ::pg_query::CreateFunctionStmt* unsafe_arena_release_create_function_stmt(); + + private: + const ::pg_query::CreateFunctionStmt& _internal_create_function_stmt() const; + ::pg_query::CreateFunctionStmt* _internal_mutable_create_function_stmt(); + + public: + // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"]; + bool has_function_parameter() const; + private: + bool _internal_has_function_parameter() const; + + public: + void clear_function_parameter() ; + const ::pg_query::FunctionParameter& function_parameter() const; + PROTOBUF_NODISCARD ::pg_query::FunctionParameter* release_function_parameter(); + ::pg_query::FunctionParameter* mutable_function_parameter(); + void set_allocated_function_parameter(::pg_query::FunctionParameter* value); + void unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value); + ::pg_query::FunctionParameter* unsafe_arena_release_function_parameter(); + + private: + const ::pg_query::FunctionParameter& _internal_function_parameter() const; + ::pg_query::FunctionParameter* _internal_mutable_function_parameter(); + + public: + // .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"]; + bool has_alter_function_stmt() const; + private: + bool _internal_has_alter_function_stmt() const; + + public: + void clear_alter_function_stmt() ; + const ::pg_query::AlterFunctionStmt& alter_function_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterFunctionStmt* release_alter_function_stmt(); + ::pg_query::AlterFunctionStmt* mutable_alter_function_stmt(); + void set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); + void unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value); + ::pg_query::AlterFunctionStmt* unsafe_arena_release_alter_function_stmt(); + + private: + const ::pg_query::AlterFunctionStmt& _internal_alter_function_stmt() const; + ::pg_query::AlterFunctionStmt* _internal_mutable_alter_function_stmt(); + + public: + // .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"]; + bool has_do_stmt() const; + private: + bool _internal_has_do_stmt() const; + + public: + void clear_do_stmt() ; + const ::pg_query::DoStmt& do_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DoStmt* release_do_stmt(); + ::pg_query::DoStmt* mutable_do_stmt(); + void set_allocated_do_stmt(::pg_query::DoStmt* value); + void unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value); + ::pg_query::DoStmt* unsafe_arena_release_do_stmt(); + + private: + const ::pg_query::DoStmt& _internal_do_stmt() const; + ::pg_query::DoStmt* _internal_mutable_do_stmt(); + + public: + // .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"]; + bool has_inline_code_block() const; + private: + bool _internal_has_inline_code_block() const; + + public: + void clear_inline_code_block() ; + const ::pg_query::InlineCodeBlock& inline_code_block() const; + PROTOBUF_NODISCARD ::pg_query::InlineCodeBlock* release_inline_code_block(); + ::pg_query::InlineCodeBlock* mutable_inline_code_block(); + void set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); + void unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value); + ::pg_query::InlineCodeBlock* unsafe_arena_release_inline_code_block(); + + private: + const ::pg_query::InlineCodeBlock& _internal_inline_code_block() const; + ::pg_query::InlineCodeBlock* _internal_mutable_inline_code_block(); + + public: + // .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"]; + bool has_call_stmt() const; + private: + bool _internal_has_call_stmt() const; + + public: + void clear_call_stmt() ; + const ::pg_query::CallStmt& call_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CallStmt* release_call_stmt(); + ::pg_query::CallStmt* mutable_call_stmt(); + void set_allocated_call_stmt(::pg_query::CallStmt* value); + void unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value); + ::pg_query::CallStmt* unsafe_arena_release_call_stmt(); + + private: + const ::pg_query::CallStmt& _internal_call_stmt() const; + ::pg_query::CallStmt* _internal_mutable_call_stmt(); + + public: + // .pg_query.CallContext call_context = 208 [json_name = "CallContext"]; + bool has_call_context() const; + private: + bool _internal_has_call_context() const; + + public: + void clear_call_context() ; + const ::pg_query::CallContext& call_context() const; + PROTOBUF_NODISCARD ::pg_query::CallContext* release_call_context(); + ::pg_query::CallContext* mutable_call_context(); + void set_allocated_call_context(::pg_query::CallContext* value); + void unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value); + ::pg_query::CallContext* unsafe_arena_release_call_context(); + + private: + const ::pg_query::CallContext& _internal_call_context() const; + ::pg_query::CallContext* _internal_mutable_call_context(); + + public: + // .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"]; + bool has_rename_stmt() const; + private: + bool _internal_has_rename_stmt() const; + + public: + void clear_rename_stmt() ; + const ::pg_query::RenameStmt& rename_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RenameStmt* release_rename_stmt(); + ::pg_query::RenameStmt* mutable_rename_stmt(); + void set_allocated_rename_stmt(::pg_query::RenameStmt* value); + void unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value); + ::pg_query::RenameStmt* unsafe_arena_release_rename_stmt(); + + private: + const ::pg_query::RenameStmt& _internal_rename_stmt() const; + ::pg_query::RenameStmt* _internal_mutable_rename_stmt(); + + public: + // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"]; + bool has_alter_object_depends_stmt() const; + private: + bool _internal_has_alter_object_depends_stmt() const; + + public: + void clear_alter_object_depends_stmt() ; + const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterObjectDependsStmt* release_alter_object_depends_stmt(); + ::pg_query::AlterObjectDependsStmt* mutable_alter_object_depends_stmt(); + void set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); + void unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value); + ::pg_query::AlterObjectDependsStmt* unsafe_arena_release_alter_object_depends_stmt(); + + private: + const ::pg_query::AlterObjectDependsStmt& _internal_alter_object_depends_stmt() const; + ::pg_query::AlterObjectDependsStmt* _internal_mutable_alter_object_depends_stmt(); + + public: + // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"]; + bool has_alter_object_schema_stmt() const; + private: + bool _internal_has_alter_object_schema_stmt() const; + + public: + void clear_alter_object_schema_stmt() ; + const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterObjectSchemaStmt* release_alter_object_schema_stmt(); + ::pg_query::AlterObjectSchemaStmt* mutable_alter_object_schema_stmt(); + void set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); + void unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value); + ::pg_query::AlterObjectSchemaStmt* unsafe_arena_release_alter_object_schema_stmt(); + + private: + const ::pg_query::AlterObjectSchemaStmt& _internal_alter_object_schema_stmt() const; + ::pg_query::AlterObjectSchemaStmt* _internal_mutable_alter_object_schema_stmt(); + + public: + // .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"]; + bool has_alter_owner_stmt() const; + private: + bool _internal_has_alter_owner_stmt() const; + + public: + void clear_alter_owner_stmt() ; + const ::pg_query::AlterOwnerStmt& alter_owner_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOwnerStmt* release_alter_owner_stmt(); + ::pg_query::AlterOwnerStmt* mutable_alter_owner_stmt(); + void set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); + void unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value); + ::pg_query::AlterOwnerStmt* unsafe_arena_release_alter_owner_stmt(); + + private: + const ::pg_query::AlterOwnerStmt& _internal_alter_owner_stmt() const; + ::pg_query::AlterOwnerStmt* _internal_mutable_alter_owner_stmt(); + + public: + // .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"]; + bool has_alter_operator_stmt() const; + private: + bool _internal_has_alter_operator_stmt() const; + + public: + void clear_alter_operator_stmt() ; + const ::pg_query::AlterOperatorStmt& alter_operator_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterOperatorStmt* release_alter_operator_stmt(); + ::pg_query::AlterOperatorStmt* mutable_alter_operator_stmt(); + void set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); + void unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value); + ::pg_query::AlterOperatorStmt* unsafe_arena_release_alter_operator_stmt(); + + private: + const ::pg_query::AlterOperatorStmt& _internal_alter_operator_stmt() const; + ::pg_query::AlterOperatorStmt* _internal_mutable_alter_operator_stmt(); + + public: + // .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"]; + bool has_alter_type_stmt() const; + private: + bool _internal_has_alter_type_stmt() const; + + public: + void clear_alter_type_stmt() ; + const ::pg_query::AlterTypeStmt& alter_type_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTypeStmt* release_alter_type_stmt(); + ::pg_query::AlterTypeStmt* mutable_alter_type_stmt(); + void set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); + void unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value); + ::pg_query::AlterTypeStmt* unsafe_arena_release_alter_type_stmt(); + + private: + const ::pg_query::AlterTypeStmt& _internal_alter_type_stmt() const; + ::pg_query::AlterTypeStmt* _internal_mutable_alter_type_stmt(); + + public: + // .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"]; + bool has_rule_stmt() const; + private: + bool _internal_has_rule_stmt() const; + + public: + void clear_rule_stmt() ; + const ::pg_query::RuleStmt& rule_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RuleStmt* release_rule_stmt(); + ::pg_query::RuleStmt* mutable_rule_stmt(); + void set_allocated_rule_stmt(::pg_query::RuleStmt* value); + void unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value); + ::pg_query::RuleStmt* unsafe_arena_release_rule_stmt(); + + private: + const ::pg_query::RuleStmt& _internal_rule_stmt() const; + ::pg_query::RuleStmt* _internal_mutable_rule_stmt(); + + public: + // .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"]; + bool has_notify_stmt() const; + private: + bool _internal_has_notify_stmt() const; + + public: + void clear_notify_stmt() ; + const ::pg_query::NotifyStmt& notify_stmt() const; + PROTOBUF_NODISCARD ::pg_query::NotifyStmt* release_notify_stmt(); + ::pg_query::NotifyStmt* mutable_notify_stmt(); + void set_allocated_notify_stmt(::pg_query::NotifyStmt* value); + void unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value); + ::pg_query::NotifyStmt* unsafe_arena_release_notify_stmt(); + + private: + const ::pg_query::NotifyStmt& _internal_notify_stmt() const; + ::pg_query::NotifyStmt* _internal_mutable_notify_stmt(); + + public: + // .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"]; + bool has_listen_stmt() const; + private: + bool _internal_has_listen_stmt() const; + + public: + void clear_listen_stmt() ; + const ::pg_query::ListenStmt& listen_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ListenStmt* release_listen_stmt(); + ::pg_query::ListenStmt* mutable_listen_stmt(); + void set_allocated_listen_stmt(::pg_query::ListenStmt* value); + void unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value); + ::pg_query::ListenStmt* unsafe_arena_release_listen_stmt(); + + private: + const ::pg_query::ListenStmt& _internal_listen_stmt() const; + ::pg_query::ListenStmt* _internal_mutable_listen_stmt(); + + public: + // .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"]; + bool has_unlisten_stmt() const; + private: + bool _internal_has_unlisten_stmt() const; + + public: + void clear_unlisten_stmt() ; + const ::pg_query::UnlistenStmt& unlisten_stmt() const; + PROTOBUF_NODISCARD ::pg_query::UnlistenStmt* release_unlisten_stmt(); + ::pg_query::UnlistenStmt* mutable_unlisten_stmt(); + void set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); + void unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value); + ::pg_query::UnlistenStmt* unsafe_arena_release_unlisten_stmt(); + + private: + const ::pg_query::UnlistenStmt& _internal_unlisten_stmt() const; + ::pg_query::UnlistenStmt* _internal_mutable_unlisten_stmt(); + + public: + // .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"]; + bool has_transaction_stmt() const; + private: + bool _internal_has_transaction_stmt() const; + + public: + void clear_transaction_stmt() ; + const ::pg_query::TransactionStmt& transaction_stmt() const; + PROTOBUF_NODISCARD ::pg_query::TransactionStmt* release_transaction_stmt(); + ::pg_query::TransactionStmt* mutable_transaction_stmt(); + void set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); + void unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value); + ::pg_query::TransactionStmt* unsafe_arena_release_transaction_stmt(); + + private: + const ::pg_query::TransactionStmt& _internal_transaction_stmt() const; + ::pg_query::TransactionStmt* _internal_mutable_transaction_stmt(); + + public: + // .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"]; + bool has_composite_type_stmt() const; + private: + bool _internal_has_composite_type_stmt() const; + + public: + void clear_composite_type_stmt() ; + const ::pg_query::CompositeTypeStmt& composite_type_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CompositeTypeStmt* release_composite_type_stmt(); + ::pg_query::CompositeTypeStmt* mutable_composite_type_stmt(); + void set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); + void unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value); + ::pg_query::CompositeTypeStmt* unsafe_arena_release_composite_type_stmt(); + + private: + const ::pg_query::CompositeTypeStmt& _internal_composite_type_stmt() const; + ::pg_query::CompositeTypeStmt* _internal_mutable_composite_type_stmt(); + + public: + // .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"]; + bool has_create_enum_stmt() const; + private: + bool _internal_has_create_enum_stmt() const; + + public: + void clear_create_enum_stmt() ; + const ::pg_query::CreateEnumStmt& create_enum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateEnumStmt* release_create_enum_stmt(); + ::pg_query::CreateEnumStmt* mutable_create_enum_stmt(); + void set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); + void unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value); + ::pg_query::CreateEnumStmt* unsafe_arena_release_create_enum_stmt(); + + private: + const ::pg_query::CreateEnumStmt& _internal_create_enum_stmt() const; + ::pg_query::CreateEnumStmt* _internal_mutable_create_enum_stmt(); + + public: + // .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"]; + bool has_create_range_stmt() const; + private: + bool _internal_has_create_range_stmt() const; + + public: + void clear_create_range_stmt() ; + const ::pg_query::CreateRangeStmt& create_range_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateRangeStmt* release_create_range_stmt(); + ::pg_query::CreateRangeStmt* mutable_create_range_stmt(); + void set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); + void unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value); + ::pg_query::CreateRangeStmt* unsafe_arena_release_create_range_stmt(); + + private: + const ::pg_query::CreateRangeStmt& _internal_create_range_stmt() const; + ::pg_query::CreateRangeStmt* _internal_mutable_create_range_stmt(); + + public: + // .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"]; + bool has_alter_enum_stmt() const; + private: + bool _internal_has_alter_enum_stmt() const; + + public: + void clear_alter_enum_stmt() ; + const ::pg_query::AlterEnumStmt& alter_enum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterEnumStmt* release_alter_enum_stmt(); + ::pg_query::AlterEnumStmt* mutable_alter_enum_stmt(); + void set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); + void unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value); + ::pg_query::AlterEnumStmt* unsafe_arena_release_alter_enum_stmt(); + + private: + const ::pg_query::AlterEnumStmt& _internal_alter_enum_stmt() const; + ::pg_query::AlterEnumStmt* _internal_mutable_alter_enum_stmt(); + + public: + // .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"]; + bool has_view_stmt() const; + private: + bool _internal_has_view_stmt() const; + + public: + void clear_view_stmt() ; + const ::pg_query::ViewStmt& view_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ViewStmt* release_view_stmt(); + ::pg_query::ViewStmt* mutable_view_stmt(); + void set_allocated_view_stmt(::pg_query::ViewStmt* value); + void unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value); + ::pg_query::ViewStmt* unsafe_arena_release_view_stmt(); + + private: + const ::pg_query::ViewStmt& _internal_view_stmt() const; + ::pg_query::ViewStmt* _internal_mutable_view_stmt(); + + public: + // .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"]; + bool has_load_stmt() const; + private: + bool _internal_has_load_stmt() const; + + public: + void clear_load_stmt() ; + const ::pg_query::LoadStmt& load_stmt() const; + PROTOBUF_NODISCARD ::pg_query::LoadStmt* release_load_stmt(); + ::pg_query::LoadStmt* mutable_load_stmt(); + void set_allocated_load_stmt(::pg_query::LoadStmt* value); + void unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value); + ::pg_query::LoadStmt* unsafe_arena_release_load_stmt(); + + private: + const ::pg_query::LoadStmt& _internal_load_stmt() const; + ::pg_query::LoadStmt* _internal_mutable_load_stmt(); + + public: + // .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"]; + bool has_createdb_stmt() const; + private: + bool _internal_has_createdb_stmt() const; + + public: + void clear_createdb_stmt() ; + const ::pg_query::CreatedbStmt& createdb_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatedbStmt* release_createdb_stmt(); + ::pg_query::CreatedbStmt* mutable_createdb_stmt(); + void set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); + void unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value); + ::pg_query::CreatedbStmt* unsafe_arena_release_createdb_stmt(); + + private: + const ::pg_query::CreatedbStmt& _internal_createdb_stmt() const; + ::pg_query::CreatedbStmt* _internal_mutable_createdb_stmt(); + + public: + // .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"]; + bool has_alter_database_stmt() const; + private: + bool _internal_has_alter_database_stmt() const; + + public: + void clear_alter_database_stmt() ; + const ::pg_query::AlterDatabaseStmt& alter_database_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseStmt* release_alter_database_stmt(); + ::pg_query::AlterDatabaseStmt* mutable_alter_database_stmt(); + void set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); + void unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value); + ::pg_query::AlterDatabaseStmt* unsafe_arena_release_alter_database_stmt(); + + private: + const ::pg_query::AlterDatabaseStmt& _internal_alter_database_stmt() const; + ::pg_query::AlterDatabaseStmt* _internal_mutable_alter_database_stmt(); + + public: + // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"]; + bool has_alter_database_refresh_coll_stmt() const; + private: + bool _internal_has_alter_database_refresh_coll_stmt() const; + + public: + void clear_alter_database_refresh_coll_stmt() ; + const ::pg_query::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseRefreshCollStmt* release_alter_database_refresh_coll_stmt(); + ::pg_query::AlterDatabaseRefreshCollStmt* mutable_alter_database_refresh_coll_stmt(); + void set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); + void unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value); + ::pg_query::AlterDatabaseRefreshCollStmt* unsafe_arena_release_alter_database_refresh_coll_stmt(); + + private: + const ::pg_query::AlterDatabaseRefreshCollStmt& _internal_alter_database_refresh_coll_stmt() const; + ::pg_query::AlterDatabaseRefreshCollStmt* _internal_mutable_alter_database_refresh_coll_stmt(); + + public: + // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"]; + bool has_alter_database_set_stmt() const; + private: + bool _internal_has_alter_database_set_stmt() const; + + public: + void clear_alter_database_set_stmt() ; + const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterDatabaseSetStmt* release_alter_database_set_stmt(); + ::pg_query::AlterDatabaseSetStmt* mutable_alter_database_set_stmt(); + void set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); + void unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value); + ::pg_query::AlterDatabaseSetStmt* unsafe_arena_release_alter_database_set_stmt(); + + private: + const ::pg_query::AlterDatabaseSetStmt& _internal_alter_database_set_stmt() const; + ::pg_query::AlterDatabaseSetStmt* _internal_mutable_alter_database_set_stmt(); + + public: + // .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"]; + bool has_dropdb_stmt() const; + private: + bool _internal_has_dropdb_stmt() const; + + public: + void clear_dropdb_stmt() ; + const ::pg_query::DropdbStmt& dropdb_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropdbStmt* release_dropdb_stmt(); + ::pg_query::DropdbStmt* mutable_dropdb_stmt(); + void set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); + void unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value); + ::pg_query::DropdbStmt* unsafe_arena_release_dropdb_stmt(); + + private: + const ::pg_query::DropdbStmt& _internal_dropdb_stmt() const; + ::pg_query::DropdbStmt* _internal_mutable_dropdb_stmt(); + + public: + // .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"]; + bool has_alter_system_stmt() const; + private: + bool _internal_has_alter_system_stmt() const; + + public: + void clear_alter_system_stmt() ; + const ::pg_query::AlterSystemStmt& alter_system_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSystemStmt* release_alter_system_stmt(); + ::pg_query::AlterSystemStmt* mutable_alter_system_stmt(); + void set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); + void unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value); + ::pg_query::AlterSystemStmt* unsafe_arena_release_alter_system_stmt(); + + private: + const ::pg_query::AlterSystemStmt& _internal_alter_system_stmt() const; + ::pg_query::AlterSystemStmt* _internal_mutable_alter_system_stmt(); + + public: + // .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"]; + bool has_cluster_stmt() const; + private: + bool _internal_has_cluster_stmt() const; + + public: + void clear_cluster_stmt() ; + const ::pg_query::ClusterStmt& cluster_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ClusterStmt* release_cluster_stmt(); + ::pg_query::ClusterStmt* mutable_cluster_stmt(); + void set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); + void unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value); + ::pg_query::ClusterStmt* unsafe_arena_release_cluster_stmt(); + + private: + const ::pg_query::ClusterStmt& _internal_cluster_stmt() const; + ::pg_query::ClusterStmt* _internal_mutable_cluster_stmt(); + + public: + // .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"]; + bool has_vacuum_stmt() const; + private: + bool _internal_has_vacuum_stmt() const; + + public: + void clear_vacuum_stmt() ; + const ::pg_query::VacuumStmt& vacuum_stmt() const; + PROTOBUF_NODISCARD ::pg_query::VacuumStmt* release_vacuum_stmt(); + ::pg_query::VacuumStmt* mutable_vacuum_stmt(); + void set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); + void unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value); + ::pg_query::VacuumStmt* unsafe_arena_release_vacuum_stmt(); + + private: + const ::pg_query::VacuumStmt& _internal_vacuum_stmt() const; + ::pg_query::VacuumStmt* _internal_mutable_vacuum_stmt(); + + public: + // .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"]; + bool has_vacuum_relation() const; + private: + bool _internal_has_vacuum_relation() const; + + public: + void clear_vacuum_relation() ; + const ::pg_query::VacuumRelation& vacuum_relation() const; + PROTOBUF_NODISCARD ::pg_query::VacuumRelation* release_vacuum_relation(); + ::pg_query::VacuumRelation* mutable_vacuum_relation(); + void set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); + void unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value); + ::pg_query::VacuumRelation* unsafe_arena_release_vacuum_relation(); + + private: + const ::pg_query::VacuumRelation& _internal_vacuum_relation() const; + ::pg_query::VacuumRelation* _internal_mutable_vacuum_relation(); + + public: + // .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"]; + bool has_explain_stmt() const; + private: + bool _internal_has_explain_stmt() const; + + public: + void clear_explain_stmt() ; + const ::pg_query::ExplainStmt& explain_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ExplainStmt* release_explain_stmt(); + ::pg_query::ExplainStmt* mutable_explain_stmt(); + void set_allocated_explain_stmt(::pg_query::ExplainStmt* value); + void unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value); + ::pg_query::ExplainStmt* unsafe_arena_release_explain_stmt(); + + private: + const ::pg_query::ExplainStmt& _internal_explain_stmt() const; + ::pg_query::ExplainStmt* _internal_mutable_explain_stmt(); + + public: + // .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"]; + bool has_create_table_as_stmt() const; + private: + bool _internal_has_create_table_as_stmt() const; + + public: + void clear_create_table_as_stmt() ; + const ::pg_query::CreateTableAsStmt& create_table_as_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTableAsStmt* release_create_table_as_stmt(); + ::pg_query::CreateTableAsStmt* mutable_create_table_as_stmt(); + void set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); + void unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value); + ::pg_query::CreateTableAsStmt* unsafe_arena_release_create_table_as_stmt(); + + private: + const ::pg_query::CreateTableAsStmt& _internal_create_table_as_stmt() const; + ::pg_query::CreateTableAsStmt* _internal_mutable_create_table_as_stmt(); + + public: + // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"]; + bool has_refresh_mat_view_stmt() const; + private: + bool _internal_has_refresh_mat_view_stmt() const; + + public: + void clear_refresh_mat_view_stmt() ; + const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt() const; + PROTOBUF_NODISCARD ::pg_query::RefreshMatViewStmt* release_refresh_mat_view_stmt(); + ::pg_query::RefreshMatViewStmt* mutable_refresh_mat_view_stmt(); + void set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); + void unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value); + ::pg_query::RefreshMatViewStmt* unsafe_arena_release_refresh_mat_view_stmt(); + + private: + const ::pg_query::RefreshMatViewStmt& _internal_refresh_mat_view_stmt() const; + ::pg_query::RefreshMatViewStmt* _internal_mutable_refresh_mat_view_stmt(); + + public: + // .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"]; + bool has_check_point_stmt() const; + private: + bool _internal_has_check_point_stmt() const; + + public: + void clear_check_point_stmt() ; + const ::pg_query::CheckPointStmt& check_point_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CheckPointStmt* release_check_point_stmt(); + ::pg_query::CheckPointStmt* mutable_check_point_stmt(); + void set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); + void unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value); + ::pg_query::CheckPointStmt* unsafe_arena_release_check_point_stmt(); + + private: + const ::pg_query::CheckPointStmt& _internal_check_point_stmt() const; + ::pg_query::CheckPointStmt* _internal_mutable_check_point_stmt(); + + public: + // .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"]; + bool has_discard_stmt() const; + private: + bool _internal_has_discard_stmt() const; + + public: + void clear_discard_stmt() ; + const ::pg_query::DiscardStmt& discard_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DiscardStmt* release_discard_stmt(); + ::pg_query::DiscardStmt* mutable_discard_stmt(); + void set_allocated_discard_stmt(::pg_query::DiscardStmt* value); + void unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value); + ::pg_query::DiscardStmt* unsafe_arena_release_discard_stmt(); + + private: + const ::pg_query::DiscardStmt& _internal_discard_stmt() const; + ::pg_query::DiscardStmt* _internal_mutable_discard_stmt(); + + public: + // .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"]; + bool has_lock_stmt() const; + private: + bool _internal_has_lock_stmt() const; + + public: + void clear_lock_stmt() ; + const ::pg_query::LockStmt& lock_stmt() const; + PROTOBUF_NODISCARD ::pg_query::LockStmt* release_lock_stmt(); + ::pg_query::LockStmt* mutable_lock_stmt(); + void set_allocated_lock_stmt(::pg_query::LockStmt* value); + void unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value); + ::pg_query::LockStmt* unsafe_arena_release_lock_stmt(); + + private: + const ::pg_query::LockStmt& _internal_lock_stmt() const; + ::pg_query::LockStmt* _internal_mutable_lock_stmt(); + + public: + // .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"]; + bool has_constraints_set_stmt() const; + private: + bool _internal_has_constraints_set_stmt() const; + + public: + void clear_constraints_set_stmt() ; + const ::pg_query::ConstraintsSetStmt& constraints_set_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ConstraintsSetStmt* release_constraints_set_stmt(); + ::pg_query::ConstraintsSetStmt* mutable_constraints_set_stmt(); + void set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); + void unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value); + ::pg_query::ConstraintsSetStmt* unsafe_arena_release_constraints_set_stmt(); + + private: + const ::pg_query::ConstraintsSetStmt& _internal_constraints_set_stmt() const; + ::pg_query::ConstraintsSetStmt* _internal_mutable_constraints_set_stmt(); + + public: + // .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"]; + bool has_reindex_stmt() const; + private: + bool _internal_has_reindex_stmt() const; + + public: + void clear_reindex_stmt() ; + const ::pg_query::ReindexStmt& reindex_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReindexStmt* release_reindex_stmt(); + ::pg_query::ReindexStmt* mutable_reindex_stmt(); + void set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); + void unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value); + ::pg_query::ReindexStmt* unsafe_arena_release_reindex_stmt(); + + private: + const ::pg_query::ReindexStmt& _internal_reindex_stmt() const; + ::pg_query::ReindexStmt* _internal_mutable_reindex_stmt(); + + public: + // .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"]; + bool has_create_conversion_stmt() const; + private: + bool _internal_has_create_conversion_stmt() const; + + public: + void clear_create_conversion_stmt() ; + const ::pg_query::CreateConversionStmt& create_conversion_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateConversionStmt* release_create_conversion_stmt(); + ::pg_query::CreateConversionStmt* mutable_create_conversion_stmt(); + void set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); + void unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value); + ::pg_query::CreateConversionStmt* unsafe_arena_release_create_conversion_stmt(); + + private: + const ::pg_query::CreateConversionStmt& _internal_create_conversion_stmt() const; + ::pg_query::CreateConversionStmt* _internal_mutable_create_conversion_stmt(); + + public: + // .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"]; + bool has_create_cast_stmt() const; + private: + bool _internal_has_create_cast_stmt() const; + + public: + void clear_create_cast_stmt() ; + const ::pg_query::CreateCastStmt& create_cast_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateCastStmt* release_create_cast_stmt(); + ::pg_query::CreateCastStmt* mutable_create_cast_stmt(); + void set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); + void unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value); + ::pg_query::CreateCastStmt* unsafe_arena_release_create_cast_stmt(); + + private: + const ::pg_query::CreateCastStmt& _internal_create_cast_stmt() const; + ::pg_query::CreateCastStmt* _internal_mutable_create_cast_stmt(); + + public: + // .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"]; + bool has_create_transform_stmt() const; + private: + bool _internal_has_create_transform_stmt() const; + + public: + void clear_create_transform_stmt() ; + const ::pg_query::CreateTransformStmt& create_transform_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateTransformStmt* release_create_transform_stmt(); + ::pg_query::CreateTransformStmt* mutable_create_transform_stmt(); + void set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); + void unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value); + ::pg_query::CreateTransformStmt* unsafe_arena_release_create_transform_stmt(); + + private: + const ::pg_query::CreateTransformStmt& _internal_create_transform_stmt() const; + ::pg_query::CreateTransformStmt* _internal_mutable_create_transform_stmt(); + + public: + // .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"]; + bool has_prepare_stmt() const; + private: + bool _internal_has_prepare_stmt() const; + + public: + void clear_prepare_stmt() ; + const ::pg_query::PrepareStmt& prepare_stmt() const; + PROTOBUF_NODISCARD ::pg_query::PrepareStmt* release_prepare_stmt(); + ::pg_query::PrepareStmt* mutable_prepare_stmt(); + void set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); + void unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value); + ::pg_query::PrepareStmt* unsafe_arena_release_prepare_stmt(); + + private: + const ::pg_query::PrepareStmt& _internal_prepare_stmt() const; + ::pg_query::PrepareStmt* _internal_mutable_prepare_stmt(); + + public: + // .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"]; + bool has_execute_stmt() const; + private: + bool _internal_has_execute_stmt() const; + + public: + void clear_execute_stmt() ; + const ::pg_query::ExecuteStmt& execute_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ExecuteStmt* release_execute_stmt(); + ::pg_query::ExecuteStmt* mutable_execute_stmt(); + void set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); + void unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value); + ::pg_query::ExecuteStmt* unsafe_arena_release_execute_stmt(); + + private: + const ::pg_query::ExecuteStmt& _internal_execute_stmt() const; + ::pg_query::ExecuteStmt* _internal_mutable_execute_stmt(); + + public: + // .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"]; + bool has_deallocate_stmt() const; + private: + bool _internal_has_deallocate_stmt() const; + + public: + void clear_deallocate_stmt() ; + const ::pg_query::DeallocateStmt& deallocate_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DeallocateStmt* release_deallocate_stmt(); + ::pg_query::DeallocateStmt* mutable_deallocate_stmt(); + void set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); + void unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value); + ::pg_query::DeallocateStmt* unsafe_arena_release_deallocate_stmt(); + + private: + const ::pg_query::DeallocateStmt& _internal_deallocate_stmt() const; + ::pg_query::DeallocateStmt* _internal_mutable_deallocate_stmt(); + + public: + // .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"]; + bool has_drop_owned_stmt() const; + private: + bool _internal_has_drop_owned_stmt() const; + + public: + void clear_drop_owned_stmt() ; + const ::pg_query::DropOwnedStmt& drop_owned_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropOwnedStmt* release_drop_owned_stmt(); + ::pg_query::DropOwnedStmt* mutable_drop_owned_stmt(); + void set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); + void unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value); + ::pg_query::DropOwnedStmt* unsafe_arena_release_drop_owned_stmt(); + + private: + const ::pg_query::DropOwnedStmt& _internal_drop_owned_stmt() const; + ::pg_query::DropOwnedStmt* _internal_mutable_drop_owned_stmt(); + + public: + // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"]; + bool has_reassign_owned_stmt() const; + private: + bool _internal_has_reassign_owned_stmt() const; + + public: + void clear_reassign_owned_stmt() ; + const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt() const; + PROTOBUF_NODISCARD ::pg_query::ReassignOwnedStmt* release_reassign_owned_stmt(); + ::pg_query::ReassignOwnedStmt* mutable_reassign_owned_stmt(); + void set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); + void unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value); + ::pg_query::ReassignOwnedStmt* unsafe_arena_release_reassign_owned_stmt(); + + private: + const ::pg_query::ReassignOwnedStmt& _internal_reassign_owned_stmt() const; + ::pg_query::ReassignOwnedStmt* _internal_mutable_reassign_owned_stmt(); + + public: + // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"]; + bool has_alter_tsdictionary_stmt() const; + private: + bool _internal_has_alter_tsdictionary_stmt() const; + + public: + void clear_alter_tsdictionary_stmt() ; + const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTSDictionaryStmt* release_alter_tsdictionary_stmt(); + ::pg_query::AlterTSDictionaryStmt* mutable_alter_tsdictionary_stmt(); + void set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); + void unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value); + ::pg_query::AlterTSDictionaryStmt* unsafe_arena_release_alter_tsdictionary_stmt(); + + private: + const ::pg_query::AlterTSDictionaryStmt& _internal_alter_tsdictionary_stmt() const; + ::pg_query::AlterTSDictionaryStmt* _internal_mutable_alter_tsdictionary_stmt(); + + public: + // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"]; + bool has_alter_tsconfiguration_stmt() const; + private: + bool _internal_has_alter_tsconfiguration_stmt() const; + + public: + void clear_alter_tsconfiguration_stmt() ; + const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterTSConfigurationStmt* release_alter_tsconfiguration_stmt(); + ::pg_query::AlterTSConfigurationStmt* mutable_alter_tsconfiguration_stmt(); + void set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); + void unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value); + ::pg_query::AlterTSConfigurationStmt* unsafe_arena_release_alter_tsconfiguration_stmt(); + + private: + const ::pg_query::AlterTSConfigurationStmt& _internal_alter_tsconfiguration_stmt() const; + ::pg_query::AlterTSConfigurationStmt* _internal_mutable_alter_tsconfiguration_stmt(); + + public: + // .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"]; + bool has_publication_table() const; + private: + bool _internal_has_publication_table() const; + + public: + void clear_publication_table() ; + const ::pg_query::PublicationTable& publication_table() const; + PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_publication_table(); + ::pg_query::PublicationTable* mutable_publication_table(); + void set_allocated_publication_table(::pg_query::PublicationTable* value); + void unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value); + ::pg_query::PublicationTable* unsafe_arena_release_publication_table(); + + private: + const ::pg_query::PublicationTable& _internal_publication_table() const; + ::pg_query::PublicationTable* _internal_mutable_publication_table(); + + public: + // .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"]; + bool has_publication_obj_spec() const; + private: + bool _internal_has_publication_obj_spec() const; + + public: + void clear_publication_obj_spec() ; + const ::pg_query::PublicationObjSpec& publication_obj_spec() const; + PROTOBUF_NODISCARD ::pg_query::PublicationObjSpec* release_publication_obj_spec(); + ::pg_query::PublicationObjSpec* mutable_publication_obj_spec(); + void set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); + void unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value); + ::pg_query::PublicationObjSpec* unsafe_arena_release_publication_obj_spec(); + + private: + const ::pg_query::PublicationObjSpec& _internal_publication_obj_spec() const; + ::pg_query::PublicationObjSpec* _internal_mutable_publication_obj_spec(); + + public: + // .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"]; + bool has_create_publication_stmt() const; + private: + bool _internal_has_create_publication_stmt() const; + + public: + void clear_create_publication_stmt() ; + const ::pg_query::CreatePublicationStmt& create_publication_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreatePublicationStmt* release_create_publication_stmt(); + ::pg_query::CreatePublicationStmt* mutable_create_publication_stmt(); + void set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); + void unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value); + ::pg_query::CreatePublicationStmt* unsafe_arena_release_create_publication_stmt(); + + private: + const ::pg_query::CreatePublicationStmt& _internal_create_publication_stmt() const; + ::pg_query::CreatePublicationStmt* _internal_mutable_create_publication_stmt(); + + public: + // .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"]; + bool has_alter_publication_stmt() const; + private: + bool _internal_has_alter_publication_stmt() const; + + public: + void clear_alter_publication_stmt() ; + const ::pg_query::AlterPublicationStmt& alter_publication_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterPublicationStmt* release_alter_publication_stmt(); + ::pg_query::AlterPublicationStmt* mutable_alter_publication_stmt(); + void set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); + void unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value); + ::pg_query::AlterPublicationStmt* unsafe_arena_release_alter_publication_stmt(); + + private: + const ::pg_query::AlterPublicationStmt& _internal_alter_publication_stmt() const; + ::pg_query::AlterPublicationStmt* _internal_mutable_alter_publication_stmt(); + + public: + // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"]; + bool has_create_subscription_stmt() const; + private: + bool _internal_has_create_subscription_stmt() const; + + public: + void clear_create_subscription_stmt() ; + const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::CreateSubscriptionStmt* release_create_subscription_stmt(); + ::pg_query::CreateSubscriptionStmt* mutable_create_subscription_stmt(); + void set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); + void unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value); + ::pg_query::CreateSubscriptionStmt* unsafe_arena_release_create_subscription_stmt(); + + private: + const ::pg_query::CreateSubscriptionStmt& _internal_create_subscription_stmt() const; + ::pg_query::CreateSubscriptionStmt* _internal_mutable_create_subscription_stmt(); + + public: + // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"]; + bool has_alter_subscription_stmt() const; + private: + bool _internal_has_alter_subscription_stmt() const; + + public: + void clear_alter_subscription_stmt() ; + const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::AlterSubscriptionStmt* release_alter_subscription_stmt(); + ::pg_query::AlterSubscriptionStmt* mutable_alter_subscription_stmt(); + void set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); + void unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value); + ::pg_query::AlterSubscriptionStmt* unsafe_arena_release_alter_subscription_stmt(); + + private: + const ::pg_query::AlterSubscriptionStmt& _internal_alter_subscription_stmt() const; + ::pg_query::AlterSubscriptionStmt* _internal_mutable_alter_subscription_stmt(); + + public: + // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"]; + bool has_drop_subscription_stmt() const; + private: + bool _internal_has_drop_subscription_stmt() const; + + public: + void clear_drop_subscription_stmt() ; + const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt() const; + PROTOBUF_NODISCARD ::pg_query::DropSubscriptionStmt* release_drop_subscription_stmt(); + ::pg_query::DropSubscriptionStmt* mutable_drop_subscription_stmt(); + void set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); + void unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value); + ::pg_query::DropSubscriptionStmt* unsafe_arena_release_drop_subscription_stmt(); + + private: + const ::pg_query::DropSubscriptionStmt& _internal_drop_subscription_stmt() const; + ::pg_query::DropSubscriptionStmt* _internal_mutable_drop_subscription_stmt(); + + public: + // .pg_query.Integer integer = 260 [json_name = "Integer"]; + bool has_integer() const; + private: + bool _internal_has_integer() const; + + public: + void clear_integer() ; + const ::pg_query::Integer& integer() const; + PROTOBUF_NODISCARD ::pg_query::Integer* release_integer(); + ::pg_query::Integer* mutable_integer(); + void set_allocated_integer(::pg_query::Integer* value); + void unsafe_arena_set_allocated_integer(::pg_query::Integer* value); + ::pg_query::Integer* unsafe_arena_release_integer(); + + private: + const ::pg_query::Integer& _internal_integer() const; + ::pg_query::Integer* _internal_mutable_integer(); + + public: + // .pg_query.Float float = 261 [json_name = "Float"]; + bool has_float_() const; + private: + bool _internal_has_float_() const; + + public: + void clear_float_() ; + const ::pg_query::Float& float_() const; + PROTOBUF_NODISCARD ::pg_query::Float* release_float_(); + ::pg_query::Float* mutable_float_(); + void set_allocated_float_(::pg_query::Float* value); + void unsafe_arena_set_allocated_float_(::pg_query::Float* value); + ::pg_query::Float* unsafe_arena_release_float_(); + + private: + const ::pg_query::Float& _internal_float_() const; + ::pg_query::Float* _internal_mutable_float_(); + + public: + // .pg_query.Boolean boolean = 262 [json_name = "Boolean"]; + bool has_boolean() const; + private: + bool _internal_has_boolean() const; + + public: + void clear_boolean() ; + const ::pg_query::Boolean& boolean() const; + PROTOBUF_NODISCARD ::pg_query::Boolean* release_boolean(); + ::pg_query::Boolean* mutable_boolean(); + void set_allocated_boolean(::pg_query::Boolean* value); + void unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value); + ::pg_query::Boolean* unsafe_arena_release_boolean(); + + private: + const ::pg_query::Boolean& _internal_boolean() const; + ::pg_query::Boolean* _internal_mutable_boolean(); + + public: + // .pg_query.String string = 263 [json_name = "String"]; + bool has_string() const; private: - int _internal_funcname_size() const; + bool _internal_has_string() const; + public: - void clear_funcname(); - ::pg_query::Node* mutable_funcname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funcname(); + void clear_string() ; + const ::pg_query::String& string() const; + PROTOBUF_NODISCARD ::pg_query::String* release_string(); + ::pg_query::String* mutable_string(); + void set_allocated_string(::pg_query::String* value); + void unsafe_arena_set_allocated_string(::pg_query::String* value); + ::pg_query::String* unsafe_arena_release_string(); + + private: + const ::pg_query::String& _internal_string() const; + ::pg_query::String* _internal_mutable_string(); + + public: + // .pg_query.BitString bit_string = 264 [json_name = "BitString"]; + bool has_bit_string() const; private: - const ::pg_query::Node& _internal_funcname(int index) const; - ::pg_query::Node* _internal_add_funcname(); + bool _internal_has_bit_string() const; + public: - const ::pg_query::Node& funcname(int index) const; - ::pg_query::Node* add_funcname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funcname() const; + void clear_bit_string() ; + const ::pg_query::BitString& bit_string() const; + PROTOBUF_NODISCARD ::pg_query::BitString* release_bit_string(); + ::pg_query::BitString* mutable_bit_string(); + void set_allocated_bit_string(::pg_query::BitString* value); + void unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value); + ::pg_query::BitString* unsafe_arena_release_bit_string(); - // string trigname = 1 [json_name = "trigname"]; - void clear_trigname(); - const std::string& trigname() const; - template - void set_trigname(ArgT0&& arg0, ArgT... args); - std::string* mutable_trigname(); - PROTOBUF_NODISCARD std::string* release_trigname(); - void set_allocated_trigname(std::string* trigname); private: - const std::string& _internal_trigname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname(const std::string& value); - std::string* _internal_mutable_trigname(); + const ::pg_query::BitString& _internal_bit_string() const; + ::pg_query::BitString* _internal_mutable_bit_string(); + public: + // .pg_query.List list = 265 [json_name = "List"]; + bool has_list() const; + private: + bool _internal_has_list() const; + + public: + void clear_list() ; + const ::pg_query::List& list() const; + PROTOBUF_NODISCARD ::pg_query::List* release_list(); + ::pg_query::List* mutable_list(); + void set_allocated_list(::pg_query::List* value); + void unsafe_arena_set_allocated_list(::pg_query::List* value); + ::pg_query::List* unsafe_arena_release_list(); - // string eventname = 2 [json_name = "eventname"]; - void clear_eventname(); - const std::string& eventname() const; - template - void set_eventname(ArgT0&& arg0, ArgT... args); - std::string* mutable_eventname(); - PROTOBUF_NODISCARD std::string* release_eventname(); - void set_allocated_eventname(std::string* eventname); private: - const std::string& _internal_eventname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_eventname(const std::string& value); - std::string* _internal_mutable_eventname(); + const ::pg_query::List& _internal_list() const; + ::pg_query::List* _internal_mutable_list(); + public: + // .pg_query.IntList int_list = 266 [json_name = "IntList"]; + bool has_int_list() const; + private: + bool _internal_has_int_list() const; - // @@protoc_insertion_point(class_scope:pg_query.CreateEventTrigStmt) + public: + void clear_int_list() ; + const ::pg_query::IntList& int_list() const; + PROTOBUF_NODISCARD ::pg_query::IntList* release_int_list(); + ::pg_query::IntList* mutable_int_list(); + void set_allocated_int_list(::pg_query::IntList* value); + void unsafe_arena_set_allocated_int_list(::pg_query::IntList* value); + ::pg_query::IntList* unsafe_arena_release_int_list(); + + private: + const ::pg_query::IntList& _internal_int_list() const; + ::pg_query::IntList* _internal_mutable_int_list(); + + public: + // .pg_query.OidList oid_list = 267 [json_name = "OidList"]; + bool has_oid_list() const; + private: + bool _internal_has_oid_list() const; + + public: + void clear_oid_list() ; + const ::pg_query::OidList& oid_list() const; + PROTOBUF_NODISCARD ::pg_query::OidList* release_oid_list(); + ::pg_query::OidList* mutable_oid_list(); + void set_allocated_oid_list(::pg_query::OidList* value); + void unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value); + ::pg_query::OidList* unsafe_arena_release_oid_list(); + + private: + const ::pg_query::OidList& _internal_oid_list() const; + ::pg_query::OidList* _internal_mutable_oid_list(); + + public: + // .pg_query.A_Const a_const = 268 [json_name = "A_Const"]; + bool has_a_const() const; + private: + bool _internal_has_a_const() const; + + public: + void clear_a_const() ; + const ::pg_query::A_Const& a_const() const; + PROTOBUF_NODISCARD ::pg_query::A_Const* release_a_const(); + ::pg_query::A_Const* mutable_a_const(); + void set_allocated_a_const(::pg_query::A_Const* value); + void unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value); + ::pg_query::A_Const* unsafe_arena_release_a_const(); + + private: + const ::pg_query::A_Const& _internal_a_const() const; + ::pg_query::A_Const* _internal_mutable_a_const(); + + public: + void clear_node(); + NodeCase node_case() const; + // @@protoc_insertion_point(class_scope:pg_query.Node) private: class _Internal; + void set_has_alias(); + void set_has_range_var(); + void set_has_table_func(); + void set_has_into_clause(); + void set_has_var(); + void set_has_param(); + void set_has_aggref(); + void set_has_grouping_func(); + void set_has_window_func(); + void set_has_window_func_run_condition(); + void set_has_merge_support_func(); + void set_has_subscripting_ref(); + void set_has_func_expr(); + void set_has_named_arg_expr(); + void set_has_op_expr(); + void set_has_distinct_expr(); + void set_has_null_if_expr(); + void set_has_scalar_array_op_expr(); + void set_has_bool_expr(); + void set_has_sub_link(); + void set_has_sub_plan(); + void set_has_alternative_sub_plan(); + void set_has_field_select(); + void set_has_field_store(); + void set_has_relabel_type(); + void set_has_coerce_via_io(); + void set_has_array_coerce_expr(); + void set_has_convert_rowtype_expr(); + void set_has_collate_expr(); + void set_has_case_expr(); + void set_has_case_when(); + void set_has_case_test_expr(); + void set_has_array_expr(); + void set_has_row_expr(); + void set_has_row_compare_expr(); + void set_has_coalesce_expr(); + void set_has_min_max_expr(); + void set_has_sqlvalue_function(); + void set_has_xml_expr(); + void set_has_json_format(); + void set_has_json_returning(); + void set_has_json_value_expr(); + void set_has_json_constructor_expr(); + void set_has_json_is_predicate(); + void set_has_json_behavior(); + void set_has_json_expr(); + void set_has_json_table_path(); + void set_has_json_table_path_scan(); + void set_has_json_table_sibling_join(); + void set_has_null_test(); + void set_has_boolean_test(); + void set_has_merge_action(); + void set_has_coerce_to_domain(); + void set_has_coerce_to_domain_value(); + void set_has_set_to_default(); + void set_has_current_of_expr(); + void set_has_next_value_expr(); + void set_has_inference_elem(); + void set_has_target_entry(); + void set_has_range_tbl_ref(); + void set_has_join_expr(); + void set_has_from_expr(); + void set_has_on_conflict_expr(); + void set_has_query(); + void set_has_type_name(); + void set_has_column_ref(); + void set_has_param_ref(); + void set_has_a_expr(); + void set_has_type_cast(); + void set_has_collate_clause(); + void set_has_role_spec(); + void set_has_func_call(); + void set_has_a_star(); + void set_has_a_indices(); + void set_has_a_indirection(); + void set_has_a_array_expr(); + void set_has_res_target(); + void set_has_multi_assign_ref(); + void set_has_sort_by(); + void set_has_window_def(); + void set_has_range_subselect(); + void set_has_range_function(); + void set_has_range_table_func(); + void set_has_range_table_func_col(); + void set_has_range_table_sample(); + void set_has_column_def(); + void set_has_table_like_clause(); + void set_has_index_elem(); + void set_has_def_elem(); + void set_has_locking_clause(); + void set_has_xml_serialize(); + void set_has_partition_elem(); + void set_has_partition_spec(); + void set_has_partition_bound_spec(); + void set_has_partition_range_datum(); + void set_has_single_partition_spec(); + void set_has_partition_cmd(); + void set_has_range_tbl_entry(); + void set_has_rtepermission_info(); + void set_has_range_tbl_function(); + void set_has_table_sample_clause(); + void set_has_with_check_option(); + void set_has_sort_group_clause(); + void set_has_grouping_set(); + void set_has_window_clause(); + void set_has_row_mark_clause(); + void set_has_with_clause(); + void set_has_infer_clause(); + void set_has_on_conflict_clause(); + void set_has_ctesearch_clause(); + void set_has_ctecycle_clause(); + void set_has_common_table_expr(); + void set_has_merge_when_clause(); + void set_has_trigger_transition(); + void set_has_json_output(); + void set_has_json_argument(); + void set_has_json_func_expr(); + void set_has_json_table_path_spec(); + void set_has_json_table(); + void set_has_json_table_column(); + void set_has_json_key_value(); + void set_has_json_parse_expr(); + void set_has_json_scalar_expr(); + void set_has_json_serialize_expr(); + void set_has_json_object_constructor(); + void set_has_json_array_constructor(); + void set_has_json_array_query_constructor(); + void set_has_json_agg_constructor(); + void set_has_json_object_agg(); + void set_has_json_array_agg(); + void set_has_raw_stmt(); + void set_has_insert_stmt(); + void set_has_delete_stmt(); + void set_has_update_stmt(); + void set_has_merge_stmt(); + void set_has_select_stmt(); + void set_has_set_operation_stmt(); + void set_has_return_stmt(); + void set_has_plassign_stmt(); + void set_has_create_schema_stmt(); + void set_has_alter_table_stmt(); + void set_has_replica_identity_stmt(); + void set_has_alter_table_cmd(); + void set_has_alter_collation_stmt(); + void set_has_alter_domain_stmt(); + void set_has_grant_stmt(); + void set_has_object_with_args(); + void set_has_access_priv(); + void set_has_grant_role_stmt(); + void set_has_alter_default_privileges_stmt(); + void set_has_copy_stmt(); + void set_has_variable_set_stmt(); + void set_has_variable_show_stmt(); + void set_has_create_stmt(); + void set_has_constraint(); + void set_has_create_table_space_stmt(); + void set_has_drop_table_space_stmt(); + void set_has_alter_table_space_options_stmt(); + void set_has_alter_table_move_all_stmt(); + void set_has_create_extension_stmt(); + void set_has_alter_extension_stmt(); + void set_has_alter_extension_contents_stmt(); + void set_has_create_fdw_stmt(); + void set_has_alter_fdw_stmt(); + void set_has_create_foreign_server_stmt(); + void set_has_alter_foreign_server_stmt(); + void set_has_create_foreign_table_stmt(); + void set_has_create_user_mapping_stmt(); + void set_has_alter_user_mapping_stmt(); + void set_has_drop_user_mapping_stmt(); + void set_has_import_foreign_schema_stmt(); + void set_has_create_policy_stmt(); + void set_has_alter_policy_stmt(); + void set_has_create_am_stmt(); + void set_has_create_trig_stmt(); + void set_has_create_event_trig_stmt(); + void set_has_alter_event_trig_stmt(); + void set_has_create_plang_stmt(); + void set_has_create_role_stmt(); + void set_has_alter_role_stmt(); + void set_has_alter_role_set_stmt(); + void set_has_drop_role_stmt(); + void set_has_create_seq_stmt(); + void set_has_alter_seq_stmt(); + void set_has_define_stmt(); + void set_has_create_domain_stmt(); + void set_has_create_op_class_stmt(); + void set_has_create_op_class_item(); + void set_has_create_op_family_stmt(); + void set_has_alter_op_family_stmt(); + void set_has_drop_stmt(); + void set_has_truncate_stmt(); + void set_has_comment_stmt(); + void set_has_sec_label_stmt(); + void set_has_declare_cursor_stmt(); + void set_has_close_portal_stmt(); + void set_has_fetch_stmt(); + void set_has_index_stmt(); + void set_has_create_stats_stmt(); + void set_has_stats_elem(); + void set_has_alter_stats_stmt(); + void set_has_create_function_stmt(); + void set_has_function_parameter(); + void set_has_alter_function_stmt(); + void set_has_do_stmt(); + void set_has_inline_code_block(); + void set_has_call_stmt(); + void set_has_call_context(); + void set_has_rename_stmt(); + void set_has_alter_object_depends_stmt(); + void set_has_alter_object_schema_stmt(); + void set_has_alter_owner_stmt(); + void set_has_alter_operator_stmt(); + void set_has_alter_type_stmt(); + void set_has_rule_stmt(); + void set_has_notify_stmt(); + void set_has_listen_stmt(); + void set_has_unlisten_stmt(); + void set_has_transaction_stmt(); + void set_has_composite_type_stmt(); + void set_has_create_enum_stmt(); + void set_has_create_range_stmt(); + void set_has_alter_enum_stmt(); + void set_has_view_stmt(); + void set_has_load_stmt(); + void set_has_createdb_stmt(); + void set_has_alter_database_stmt(); + void set_has_alter_database_refresh_coll_stmt(); + void set_has_alter_database_set_stmt(); + void set_has_dropdb_stmt(); + void set_has_alter_system_stmt(); + void set_has_cluster_stmt(); + void set_has_vacuum_stmt(); + void set_has_vacuum_relation(); + void set_has_explain_stmt(); + void set_has_create_table_as_stmt(); + void set_has_refresh_mat_view_stmt(); + void set_has_check_point_stmt(); + void set_has_discard_stmt(); + void set_has_lock_stmt(); + void set_has_constraints_set_stmt(); + void set_has_reindex_stmt(); + void set_has_create_conversion_stmt(); + void set_has_create_cast_stmt(); + void set_has_create_transform_stmt(); + void set_has_prepare_stmt(); + void set_has_execute_stmt(); + void set_has_deallocate_stmt(); + void set_has_drop_owned_stmt(); + void set_has_reassign_owned_stmt(); + void set_has_alter_tsdictionary_stmt(); + void set_has_alter_tsconfiguration_stmt(); + void set_has_publication_table(); + void set_has_publication_obj_spec(); + void set_has_create_publication_stmt(); + void set_has_alter_publication_stmt(); + void set_has_create_subscription_stmt(); + void set_has_alter_subscription_stmt(); + void set_has_drop_subscription_stmt(); + void set_has_integer(); + void set_has_float_(); + void set_has_boolean(); + void set_has_string(); + void set_has_bit_string(); + void set_has_list(); + void set_has_int_list(); + void set_has_oid_list(); + void set_has_a_const(); + + inline bool has_node() const; + inline void clear_has_node(); + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 268, 268, + 0, 35> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + union NodeUnion { + constexpr NodeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::pg_query::Alias* alias_; + ::pg_query::RangeVar* range_var_; + ::pg_query::TableFunc* table_func_; + ::pg_query::IntoClause* into_clause_; + ::pg_query::Var* var_; + ::pg_query::Param* param_; + ::pg_query::Aggref* aggref_; + ::pg_query::GroupingFunc* grouping_func_; + ::pg_query::WindowFunc* window_func_; + ::pg_query::WindowFuncRunCondition* window_func_run_condition_; + ::pg_query::MergeSupportFunc* merge_support_func_; + ::pg_query::SubscriptingRef* subscripting_ref_; + ::pg_query::FuncExpr* func_expr_; + ::pg_query::NamedArgExpr* named_arg_expr_; + ::pg_query::OpExpr* op_expr_; + ::pg_query::DistinctExpr* distinct_expr_; + ::pg_query::NullIfExpr* null_if_expr_; + ::pg_query::ScalarArrayOpExpr* scalar_array_op_expr_; + ::pg_query::BoolExpr* bool_expr_; + ::pg_query::SubLink* sub_link_; + ::pg_query::SubPlan* sub_plan_; + ::pg_query::AlternativeSubPlan* alternative_sub_plan_; + ::pg_query::FieldSelect* field_select_; + ::pg_query::FieldStore* field_store_; + ::pg_query::RelabelType* relabel_type_; + ::pg_query::CoerceViaIO* coerce_via_io_; + ::pg_query::ArrayCoerceExpr* array_coerce_expr_; + ::pg_query::ConvertRowtypeExpr* convert_rowtype_expr_; + ::pg_query::CollateExpr* collate_expr_; + ::pg_query::CaseExpr* case_expr_; + ::pg_query::CaseWhen* case_when_; + ::pg_query::CaseTestExpr* case_test_expr_; + ::pg_query::ArrayExpr* array_expr_; + ::pg_query::RowExpr* row_expr_; + ::pg_query::RowCompareExpr* row_compare_expr_; + ::pg_query::CoalesceExpr* coalesce_expr_; + ::pg_query::MinMaxExpr* min_max_expr_; + ::pg_query::SQLValueFunction* sqlvalue_function_; + ::pg_query::XmlExpr* xml_expr_; + ::pg_query::JsonFormat* json_format_; + ::pg_query::JsonReturning* json_returning_; + ::pg_query::JsonValueExpr* json_value_expr_; + ::pg_query::JsonConstructorExpr* json_constructor_expr_; + ::pg_query::JsonIsPredicate* json_is_predicate_; + ::pg_query::JsonBehavior* json_behavior_; + ::pg_query::JsonExpr* json_expr_; + ::pg_query::JsonTablePath* json_table_path_; + ::pg_query::JsonTablePathScan* json_table_path_scan_; + ::pg_query::JsonTableSiblingJoin* json_table_sibling_join_; + ::pg_query::NullTest* null_test_; + ::pg_query::BooleanTest* boolean_test_; + ::pg_query::MergeAction* merge_action_; + ::pg_query::CoerceToDomain* coerce_to_domain_; + ::pg_query::CoerceToDomainValue* coerce_to_domain_value_; + ::pg_query::SetToDefault* set_to_default_; + ::pg_query::CurrentOfExpr* current_of_expr_; + ::pg_query::NextValueExpr* next_value_expr_; + ::pg_query::InferenceElem* inference_elem_; + ::pg_query::TargetEntry* target_entry_; + ::pg_query::RangeTblRef* range_tbl_ref_; + ::pg_query::JoinExpr* join_expr_; + ::pg_query::FromExpr* from_expr_; + ::pg_query::OnConflictExpr* on_conflict_expr_; + ::pg_query::Query* query_; + ::pg_query::TypeName* type_name_; + ::pg_query::ColumnRef* column_ref_; + ::pg_query::ParamRef* param_ref_; + ::pg_query::A_Expr* a_expr_; + ::pg_query::TypeCast* type_cast_; + ::pg_query::CollateClause* collate_clause_; + ::pg_query::RoleSpec* role_spec_; + ::pg_query::FuncCall* func_call_; + ::pg_query::A_Star* a_star_; + ::pg_query::A_Indices* a_indices_; + ::pg_query::A_Indirection* a_indirection_; + ::pg_query::A_ArrayExpr* a_array_expr_; + ::pg_query::ResTarget* res_target_; + ::pg_query::MultiAssignRef* multi_assign_ref_; + ::pg_query::SortBy* sort_by_; + ::pg_query::WindowDef* window_def_; + ::pg_query::RangeSubselect* range_subselect_; + ::pg_query::RangeFunction* range_function_; + ::pg_query::RangeTableFunc* range_table_func_; + ::pg_query::RangeTableFuncCol* range_table_func_col_; + ::pg_query::RangeTableSample* range_table_sample_; + ::pg_query::ColumnDef* column_def_; + ::pg_query::TableLikeClause* table_like_clause_; + ::pg_query::IndexElem* index_elem_; + ::pg_query::DefElem* def_elem_; + ::pg_query::LockingClause* locking_clause_; + ::pg_query::XmlSerialize* xml_serialize_; + ::pg_query::PartitionElem* partition_elem_; + ::pg_query::PartitionSpec* partition_spec_; + ::pg_query::PartitionBoundSpec* partition_bound_spec_; + ::pg_query::PartitionRangeDatum* partition_range_datum_; + ::pg_query::SinglePartitionSpec* single_partition_spec_; + ::pg_query::PartitionCmd* partition_cmd_; + ::pg_query::RangeTblEntry* range_tbl_entry_; + ::pg_query::RTEPermissionInfo* rtepermission_info_; + ::pg_query::RangeTblFunction* range_tbl_function_; + ::pg_query::TableSampleClause* table_sample_clause_; + ::pg_query::WithCheckOption* with_check_option_; + ::pg_query::SortGroupClause* sort_group_clause_; + ::pg_query::GroupingSet* grouping_set_; + ::pg_query::WindowClause* window_clause_; + ::pg_query::RowMarkClause* row_mark_clause_; + ::pg_query::WithClause* with_clause_; + ::pg_query::InferClause* infer_clause_; + ::pg_query::OnConflictClause* on_conflict_clause_; + ::pg_query::CTESearchClause* ctesearch_clause_; + ::pg_query::CTECycleClause* ctecycle_clause_; + ::pg_query::CommonTableExpr* common_table_expr_; + ::pg_query::MergeWhenClause* merge_when_clause_; + ::pg_query::TriggerTransition* trigger_transition_; + ::pg_query::JsonOutput* json_output_; + ::pg_query::JsonArgument* json_argument_; + ::pg_query::JsonFuncExpr* json_func_expr_; + ::pg_query::JsonTablePathSpec* json_table_path_spec_; + ::pg_query::JsonTable* json_table_; + ::pg_query::JsonTableColumn* json_table_column_; + ::pg_query::JsonKeyValue* json_key_value_; + ::pg_query::JsonParseExpr* json_parse_expr_; + ::pg_query::JsonScalarExpr* json_scalar_expr_; + ::pg_query::JsonSerializeExpr* json_serialize_expr_; + ::pg_query::JsonObjectConstructor* json_object_constructor_; + ::pg_query::JsonArrayConstructor* json_array_constructor_; + ::pg_query::JsonArrayQueryConstructor* json_array_query_constructor_; + ::pg_query::JsonAggConstructor* json_agg_constructor_; + ::pg_query::JsonObjectAgg* json_object_agg_; + ::pg_query::JsonArrayAgg* json_array_agg_; + ::pg_query::RawStmt* raw_stmt_; + ::pg_query::InsertStmt* insert_stmt_; + ::pg_query::DeleteStmt* delete_stmt_; + ::pg_query::UpdateStmt* update_stmt_; + ::pg_query::MergeStmt* merge_stmt_; + ::pg_query::SelectStmt* select_stmt_; + ::pg_query::SetOperationStmt* set_operation_stmt_; + ::pg_query::ReturnStmt* return_stmt_; + ::pg_query::PLAssignStmt* plassign_stmt_; + ::pg_query::CreateSchemaStmt* create_schema_stmt_; + ::pg_query::AlterTableStmt* alter_table_stmt_; + ::pg_query::ReplicaIdentityStmt* replica_identity_stmt_; + ::pg_query::AlterTableCmd* alter_table_cmd_; + ::pg_query::AlterCollationStmt* alter_collation_stmt_; + ::pg_query::AlterDomainStmt* alter_domain_stmt_; + ::pg_query::GrantStmt* grant_stmt_; + ::pg_query::ObjectWithArgs* object_with_args_; + ::pg_query::AccessPriv* access_priv_; + ::pg_query::GrantRoleStmt* grant_role_stmt_; + ::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt_; + ::pg_query::CopyStmt* copy_stmt_; + ::pg_query::VariableSetStmt* variable_set_stmt_; + ::pg_query::VariableShowStmt* variable_show_stmt_; + ::pg_query::CreateStmt* create_stmt_; + ::pg_query::Constraint* constraint_; + ::pg_query::CreateTableSpaceStmt* create_table_space_stmt_; + ::pg_query::DropTableSpaceStmt* drop_table_space_stmt_; + ::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt_; + ::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt_; + ::pg_query::CreateExtensionStmt* create_extension_stmt_; + ::pg_query::AlterExtensionStmt* alter_extension_stmt_; + ::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt_; + ::pg_query::CreateFdwStmt* create_fdw_stmt_; + ::pg_query::AlterFdwStmt* alter_fdw_stmt_; + ::pg_query::CreateForeignServerStmt* create_foreign_server_stmt_; + ::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt_; + ::pg_query::CreateForeignTableStmt* create_foreign_table_stmt_; + ::pg_query::CreateUserMappingStmt* create_user_mapping_stmt_; + ::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt_; + ::pg_query::DropUserMappingStmt* drop_user_mapping_stmt_; + ::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt_; + ::pg_query::CreatePolicyStmt* create_policy_stmt_; + ::pg_query::AlterPolicyStmt* alter_policy_stmt_; + ::pg_query::CreateAmStmt* create_am_stmt_; + ::pg_query::CreateTrigStmt* create_trig_stmt_; + ::pg_query::CreateEventTrigStmt* create_event_trig_stmt_; + ::pg_query::AlterEventTrigStmt* alter_event_trig_stmt_; + ::pg_query::CreatePLangStmt* create_plang_stmt_; + ::pg_query::CreateRoleStmt* create_role_stmt_; + ::pg_query::AlterRoleStmt* alter_role_stmt_; + ::pg_query::AlterRoleSetStmt* alter_role_set_stmt_; + ::pg_query::DropRoleStmt* drop_role_stmt_; + ::pg_query::CreateSeqStmt* create_seq_stmt_; + ::pg_query::AlterSeqStmt* alter_seq_stmt_; + ::pg_query::DefineStmt* define_stmt_; + ::pg_query::CreateDomainStmt* create_domain_stmt_; + ::pg_query::CreateOpClassStmt* create_op_class_stmt_; + ::pg_query::CreateOpClassItem* create_op_class_item_; + ::pg_query::CreateOpFamilyStmt* create_op_family_stmt_; + ::pg_query::AlterOpFamilyStmt* alter_op_family_stmt_; + ::pg_query::DropStmt* drop_stmt_; + ::pg_query::TruncateStmt* truncate_stmt_; + ::pg_query::CommentStmt* comment_stmt_; + ::pg_query::SecLabelStmt* sec_label_stmt_; + ::pg_query::DeclareCursorStmt* declare_cursor_stmt_; + ::pg_query::ClosePortalStmt* close_portal_stmt_; + ::pg_query::FetchStmt* fetch_stmt_; + ::pg_query::IndexStmt* index_stmt_; + ::pg_query::CreateStatsStmt* create_stats_stmt_; + ::pg_query::StatsElem* stats_elem_; + ::pg_query::AlterStatsStmt* alter_stats_stmt_; + ::pg_query::CreateFunctionStmt* create_function_stmt_; + ::pg_query::FunctionParameter* function_parameter_; + ::pg_query::AlterFunctionStmt* alter_function_stmt_; + ::pg_query::DoStmt* do_stmt_; + ::pg_query::InlineCodeBlock* inline_code_block_; + ::pg_query::CallStmt* call_stmt_; + ::pg_query::CallContext* call_context_; + ::pg_query::RenameStmt* rename_stmt_; + ::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt_; + ::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt_; + ::pg_query::AlterOwnerStmt* alter_owner_stmt_; + ::pg_query::AlterOperatorStmt* alter_operator_stmt_; + ::pg_query::AlterTypeStmt* alter_type_stmt_; + ::pg_query::RuleStmt* rule_stmt_; + ::pg_query::NotifyStmt* notify_stmt_; + ::pg_query::ListenStmt* listen_stmt_; + ::pg_query::UnlistenStmt* unlisten_stmt_; + ::pg_query::TransactionStmt* transaction_stmt_; + ::pg_query::CompositeTypeStmt* composite_type_stmt_; + ::pg_query::CreateEnumStmt* create_enum_stmt_; + ::pg_query::CreateRangeStmt* create_range_stmt_; + ::pg_query::AlterEnumStmt* alter_enum_stmt_; + ::pg_query::ViewStmt* view_stmt_; + ::pg_query::LoadStmt* load_stmt_; + ::pg_query::CreatedbStmt* createdb_stmt_; + ::pg_query::AlterDatabaseStmt* alter_database_stmt_; + ::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt_; + ::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt_; + ::pg_query::DropdbStmt* dropdb_stmt_; + ::pg_query::AlterSystemStmt* alter_system_stmt_; + ::pg_query::ClusterStmt* cluster_stmt_; + ::pg_query::VacuumStmt* vacuum_stmt_; + ::pg_query::VacuumRelation* vacuum_relation_; + ::pg_query::ExplainStmt* explain_stmt_; + ::pg_query::CreateTableAsStmt* create_table_as_stmt_; + ::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt_; + ::pg_query::CheckPointStmt* check_point_stmt_; + ::pg_query::DiscardStmt* discard_stmt_; + ::pg_query::LockStmt* lock_stmt_; + ::pg_query::ConstraintsSetStmt* constraints_set_stmt_; + ::pg_query::ReindexStmt* reindex_stmt_; + ::pg_query::CreateConversionStmt* create_conversion_stmt_; + ::pg_query::CreateCastStmt* create_cast_stmt_; + ::pg_query::CreateTransformStmt* create_transform_stmt_; + ::pg_query::PrepareStmt* prepare_stmt_; + ::pg_query::ExecuteStmt* execute_stmt_; + ::pg_query::DeallocateStmt* deallocate_stmt_; + ::pg_query::DropOwnedStmt* drop_owned_stmt_; + ::pg_query::ReassignOwnedStmt* reassign_owned_stmt_; + ::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt_; + ::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt_; + ::pg_query::PublicationTable* publication_table_; + ::pg_query::PublicationObjSpec* publication_obj_spec_; + ::pg_query::CreatePublicationStmt* create_publication_stmt_; + ::pg_query::AlterPublicationStmt* alter_publication_stmt_; + ::pg_query::CreateSubscriptionStmt* create_subscription_stmt_; + ::pg_query::AlterSubscriptionStmt* alter_subscription_stmt_; + ::pg_query::DropSubscriptionStmt* drop_subscription_stmt_; + ::pg_query::Integer* integer_; + ::pg_query::Float* float__; + ::pg_query::Boolean* boolean_; + ::pg_query::String* string_; + ::pg_query::BitString* bit_string_; + ::pg_query::List* list_; + ::pg_query::IntList* int_list_; + ::pg_query::OidList* oid_list_; + ::pg_query::A_Const* a_const_; + } node_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::uint32_t _oneof_case_[1]; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > whenclause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funcname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr eventname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterEventTrigStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterEventTrigStmt) */ { +class NullIfExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullIfExpr) */ { public: - inline AlterEventTrigStmt() : AlterEventTrigStmt(nullptr) {} - ~AlterEventTrigStmt() override; - explicit PROTOBUF_CONSTEXPR AlterEventTrigStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline NullIfExpr() : NullIfExpr(nullptr) {} + ~NullIfExpr() override; + template + explicit PROTOBUF_CONSTEXPR NullIfExpr(::google::protobuf::internal::ConstantInitialized); - AlterEventTrigStmt(const AlterEventTrigStmt& from); - AlterEventTrigStmt(AlterEventTrigStmt&& from) noexcept - : AlterEventTrigStmt() { + inline NullIfExpr(const NullIfExpr& from) + : NullIfExpr(nullptr, from) {} + NullIfExpr(NullIfExpr&& from) noexcept + : NullIfExpr() { *this = ::std::move(from); } - inline AlterEventTrigStmt& operator=(const AlterEventTrigStmt& from) { + inline NullIfExpr& operator=(const NullIfExpr& from) { CopyFrom(from); return *this; } - inline AlterEventTrigStmt& operator=(AlterEventTrigStmt&& from) noexcept { + inline NullIfExpr& operator=(NullIfExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44427,166 +57593,270 @@ class AlterEventTrigStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterEventTrigStmt& default_instance() { + static const NullIfExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterEventTrigStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterEventTrigStmt_default_instance_); + static inline const NullIfExpr* internal_default_instance() { + return reinterpret_cast( + &_NullIfExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 165; + 28; - friend void swap(AlterEventTrigStmt& a, AlterEventTrigStmt& b) { + friend void swap(NullIfExpr& a, NullIfExpr& b) { a.Swap(&b); } - inline void Swap(AlterEventTrigStmt* other) { + inline void Swap(NullIfExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterEventTrigStmt* other) { + void UnsafeArenaSwap(NullIfExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterEventTrigStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + NullIfExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterEventTrigStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterEventTrigStmt& from) { - AlterEventTrigStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NullIfExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NullIfExpr& from) { + NullIfExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterEventTrigStmt* other); + void InternalSwap(NullIfExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterEventTrigStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NullIfExpr"; } protected: - explicit AlterEventTrigStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit NullIfExpr(::google::protobuf::Arena* arena); + NullIfExpr(::google::protobuf::Arena* arena, const NullIfExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTrignameFieldNumber = 1, - kTgenabledFieldNumber = 2, + kArgsFieldNumber = 7, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kOpresulttypeFieldNumber = 3, + kOpretsetFieldNumber = 4, + kOpcollidFieldNumber = 5, + kInputcollidFieldNumber = 6, + kLocationFieldNumber = 8, }; - // string trigname = 1 [json_name = "trigname"]; - void clear_trigname(); - const std::string& trigname() const; - template - void set_trigname(ArgT0&& arg0, ArgT... args); - std::string* mutable_trigname(); - PROTOBUF_NODISCARD std::string* release_trigname(); - void set_allocated_trigname(std::string* trigname); + // repeated .pg_query.Node args = 7 [json_name = "args"]; + int args_size() const; private: - const std::string& _internal_trigname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_trigname(const std::string& value); - std::string* _internal_mutable_trigname(); + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // string tgenabled = 2 [json_name = "tgenabled"]; - void clear_tgenabled(); - const std::string& tgenabled() const; - template - void set_tgenabled(ArgT0&& arg0, ArgT... args); - std::string* mutable_tgenabled(); - PROTOBUF_NODISCARD std::string* release_tgenabled(); - void set_allocated_tgenabled(std::string* tgenabled); private: - const std::string& _internal_tgenabled() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_tgenabled(const std::string& value); - std::string* _internal_mutable_tgenabled(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterEventTrigStmt) + private: + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + + public: + // uint32 opresulttype = 3 [json_name = "opresulttype"]; + void clear_opresulttype() ; + ::uint32_t opresulttype() const; + void set_opresulttype(::uint32_t value); + + private: + ::uint32_t _internal_opresulttype() const; + void _internal_set_opresulttype(::uint32_t value); + + public: + // bool opretset = 4 [json_name = "opretset"]; + void clear_opretset() ; + bool opretset() const; + void set_opretset(bool value); + + private: + bool _internal_opretset() const; + void _internal_set_opretset(bool value); + + public: + // uint32 opcollid = 5 [json_name = "opcollid"]; + void clear_opcollid() ; + ::uint32_t opcollid() const; + void set_opcollid(::uint32_t value); + + private: + ::uint32_t _internal_opcollid() const; + void _internal_set_opcollid(::uint32_t value); + + public: + // uint32 inputcollid = 6 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.NullIfExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr trigname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr tgenabled_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + ::uint32_t opresulttype_; + bool opretset_; + ::uint32_t opcollid_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RefreshMatViewStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RefreshMatViewStmt) */ { +class NullTest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.NullTest) */ { public: - inline RefreshMatViewStmt() : RefreshMatViewStmt(nullptr) {} - ~RefreshMatViewStmt() override; - explicit PROTOBUF_CONSTEXPR RefreshMatViewStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline NullTest() : NullTest(nullptr) {} + ~NullTest() override; + template + explicit PROTOBUF_CONSTEXPR NullTest(::google::protobuf::internal::ConstantInitialized); - RefreshMatViewStmt(const RefreshMatViewStmt& from); - RefreshMatViewStmt(RefreshMatViewStmt&& from) noexcept - : RefreshMatViewStmt() { + inline NullTest(const NullTest& from) + : NullTest(nullptr, from) {} + NullTest(NullTest&& from) noexcept + : NullTest() { *this = ::std::move(from); } - inline RefreshMatViewStmt& operator=(const RefreshMatViewStmt& from) { + inline NullTest& operator=(const NullTest& from) { CopyFrom(from); return *this; } - inline RefreshMatViewStmt& operator=(RefreshMatViewStmt&& from) noexcept { + inline NullTest& operator=(NullTest&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44596,176 +57866,231 @@ class RefreshMatViewStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RefreshMatViewStmt& default_instance() { + static const NullTest& default_instance() { return *internal_default_instance(); } - static inline const RefreshMatViewStmt* internal_default_instance() { - return reinterpret_cast( - &_RefreshMatViewStmt_default_instance_); + static inline const NullTest* internal_default_instance() { + return reinterpret_cast( + &_NullTest_default_instance_); } static constexpr int kIndexInFileMessages = - 166; + 61; - friend void swap(RefreshMatViewStmt& a, RefreshMatViewStmt& b) { + friend void swap(NullTest& a, NullTest& b) { a.Swap(&b); } - inline void Swap(RefreshMatViewStmt* other) { + inline void Swap(NullTest* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RefreshMatViewStmt* other) { + void UnsafeArenaSwap(NullTest* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RefreshMatViewStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + NullTest* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RefreshMatViewStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RefreshMatViewStmt& from) { - RefreshMatViewStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const NullTest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const NullTest& from) { + NullTest::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RefreshMatViewStmt* other); + void InternalSwap(NullTest* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RefreshMatViewStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.NullTest"; } protected: - explicit RefreshMatViewStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit NullTest(::google::protobuf::Arena* arena); + NullTest(::google::protobuf::Arena* arena, const NullTest& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 3, - kConcurrentFieldNumber = 1, - kSkipDataFieldNumber = 2, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kNulltesttypeFieldNumber = 3, + kArgisrowFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.RangeVar relation = 3 [json_name = "relation"]; - bool has_relation() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - bool _internal_has_relation() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; + void clear_nulltesttype() ; + ::pg_query::NullTestType nulltesttype() const; + void set_nulltesttype(::pg_query::NullTestType value); - // bool concurrent = 1 [json_name = "concurrent"]; - void clear_concurrent(); - bool concurrent() const; - void set_concurrent(bool value); private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); + ::pg_query::NullTestType _internal_nulltesttype() const; + void _internal_set_nulltesttype(::pg_query::NullTestType value); + public: + // bool argisrow = 4 [json_name = "argisrow"]; + void clear_argisrow() ; + bool argisrow() const; + void set_argisrow(bool value); - // bool skip_data = 2 [json_name = "skipData"]; - void clear_skip_data(); - bool skip_data() const; - void set_skip_data(bool value); private: - bool _internal_skip_data() const; - void _internal_set_skip_data(bool value); + bool _internal_argisrow() const; + void _internal_set_argisrow(bool value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RefreshMatViewStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.NullTest) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::RangeVar* relation_; - bool concurrent_; - bool skip_data_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + int nulltesttype_; + bool argisrow_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ReplicaIdentityStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ReplicaIdentityStmt) */ { +class ObjectWithArgs final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ObjectWithArgs) */ { public: - inline ReplicaIdentityStmt() : ReplicaIdentityStmt(nullptr) {} - ~ReplicaIdentityStmt() override; - explicit PROTOBUF_CONSTEXPR ReplicaIdentityStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ObjectWithArgs() : ObjectWithArgs(nullptr) {} + ~ObjectWithArgs() override; + template + explicit PROTOBUF_CONSTEXPR ObjectWithArgs(::google::protobuf::internal::ConstantInitialized); - ReplicaIdentityStmt(const ReplicaIdentityStmt& from); - ReplicaIdentityStmt(ReplicaIdentityStmt&& from) noexcept - : ReplicaIdentityStmt() { + inline ObjectWithArgs(const ObjectWithArgs& from) + : ObjectWithArgs(nullptr, from) {} + ObjectWithArgs(ObjectWithArgs&& from) noexcept + : ObjectWithArgs() { *this = ::std::move(from); } - inline ReplicaIdentityStmt& operator=(const ReplicaIdentityStmt& from) { + inline ObjectWithArgs& operator=(const ObjectWithArgs& from) { CopyFrom(from); return *this; } - inline ReplicaIdentityStmt& operator=(ReplicaIdentityStmt&& from) noexcept { + inline ObjectWithArgs& operator=(ObjectWithArgs&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44775,166 +58100,232 @@ class ReplicaIdentityStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ReplicaIdentityStmt& default_instance() { + static const ObjectWithArgs& default_instance() { return *internal_default_instance(); } - static inline const ReplicaIdentityStmt* internal_default_instance() { - return reinterpret_cast( - &_ReplicaIdentityStmt_default_instance_); + static inline const ObjectWithArgs* internal_default_instance() { + return reinterpret_cast( + &_ObjectWithArgs_default_instance_); } static constexpr int kIndexInFileMessages = - 167; + 158; - friend void swap(ReplicaIdentityStmt& a, ReplicaIdentityStmt& b) { + friend void swap(ObjectWithArgs& a, ObjectWithArgs& b) { a.Swap(&b); } - inline void Swap(ReplicaIdentityStmt* other) { + inline void Swap(ObjectWithArgs* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ReplicaIdentityStmt* other) { + void UnsafeArenaSwap(ObjectWithArgs* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ReplicaIdentityStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ObjectWithArgs* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ReplicaIdentityStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ReplicaIdentityStmt& from) { - ReplicaIdentityStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ObjectWithArgs& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ObjectWithArgs& from) { + ObjectWithArgs::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ReplicaIdentityStmt* other); + void InternalSwap(ObjectWithArgs* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ReplicaIdentityStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ObjectWithArgs"; } protected: - explicit ReplicaIdentityStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ObjectWithArgs(::google::protobuf::Arena* arena); + ObjectWithArgs(::google::protobuf::Arena* arena, const ObjectWithArgs& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIdentityTypeFieldNumber = 1, - kNameFieldNumber = 2, + kObjnameFieldNumber = 1, + kObjargsFieldNumber = 2, + kObjfuncargsFieldNumber = 3, + kArgsUnspecifiedFieldNumber = 4, }; - // string identity_type = 1 [json_name = "identity_type"]; - void clear_identity_type(); - const std::string& identity_type() const; - template - void set_identity_type(ArgT0&& arg0, ArgT... args); - std::string* mutable_identity_type(); - PROTOBUF_NODISCARD std::string* release_identity_type(); - void set_allocated_identity_type(std::string* identity_type); + // repeated .pg_query.Node objname = 1 [json_name = "objname"]; + int objname_size() const; private: - const std::string& _internal_identity_type() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_identity_type(const std::string& value); - std::string* _internal_mutable_identity_type(); + int _internal_objname_size() const; + + public: + void clear_objname() ; + ::pg_query::Node* mutable_objname(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objname(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objname() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objname(); + public: + const ::pg_query::Node& objname(int index) const; + ::pg_query::Node* add_objname(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objname() const; + // repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; + int objargs_size() const; + private: + int _internal_objargs_size() const; + + public: + void clear_objargs() ; + ::pg_query::Node* mutable_objargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objargs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objargs(); public: + const ::pg_query::Node& objargs(int index) const; + ::pg_query::Node* add_objargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objargs() const; + // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; + int objfuncargs_size() const; + private: + int _internal_objfuncargs_size() const; - // string name = 2 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_objfuncargs() ; + ::pg_query::Node* mutable_objfuncargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_objfuncargs(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_objfuncargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_objfuncargs(); public: + const ::pg_query::Node& objfuncargs(int index) const; + ::pg_query::Node* add_objfuncargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + objfuncargs() const; + // bool args_unspecified = 4 [json_name = "args_unspecified"]; + void clear_args_unspecified() ; + bool args_unspecified() const; + void set_args_unspecified(bool value); - // @@protoc_insertion_point(class_scope:pg_query.ReplicaIdentityStmt) + private: + bool _internal_args_unspecified() const; + void _internal_set_args_unspecified(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ObjectWithArgs) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr identity_type_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objname_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objargs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > objfuncargs_; + bool args_unspecified_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterSystemStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSystemStmt) */ { +class OidList final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OidList) */ { public: - inline AlterSystemStmt() : AlterSystemStmt(nullptr) {} - ~AlterSystemStmt() override; - explicit PROTOBUF_CONSTEXPR AlterSystemStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline OidList() : OidList(nullptr) {} + ~OidList() override; + template + explicit PROTOBUF_CONSTEXPR OidList(::google::protobuf::internal::ConstantInitialized); - AlterSystemStmt(const AlterSystemStmt& from); - AlterSystemStmt(AlterSystemStmt&& from) noexcept - : AlterSystemStmt() { + inline OidList(const OidList& from) + : OidList(nullptr, from) {} + OidList(OidList&& from) noexcept + : OidList() { *this = ::std::move(from); } - inline AlterSystemStmt& operator=(const AlterSystemStmt& from) { + inline OidList& operator=(const OidList& from) { CopyFrom(from); return *this; } - inline AlterSystemStmt& operator=(AlterSystemStmt&& from) noexcept { + inline OidList& operator=(OidList&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -44944,154 +58335,180 @@ class AlterSystemStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterSystemStmt& default_instance() { + static const OidList& default_instance() { return *internal_default_instance(); } - static inline const AlterSystemStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterSystemStmt_default_instance_); + static inline const OidList* internal_default_instance() { + return reinterpret_cast( + &_OidList_default_instance_); } static constexpr int kIndexInFileMessages = - 168; + 9; - friend void swap(AlterSystemStmt& a, AlterSystemStmt& b) { + friend void swap(OidList& a, OidList& b) { a.Swap(&b); } - inline void Swap(AlterSystemStmt* other) { + inline void Swap(OidList* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterSystemStmt* other) { + void UnsafeArenaSwap(OidList* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterSystemStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OidList* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterSystemStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterSystemStmt& from) { - AlterSystemStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const OidList& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const OidList& from) { + OidList::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterSystemStmt* other); + void InternalSwap(OidList* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterSystemStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.OidList"; } protected: - explicit AlterSystemStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit OidList(::google::protobuf::Arena* arena); + OidList(::google::protobuf::Arena* arena, const OidList& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSetstmtFieldNumber = 1, + kItemsFieldNumber = 1, }; - // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"]; - bool has_setstmt() const; + // repeated .pg_query.Node items = 1; + int items_size() const; private: - bool _internal_has_setstmt() const; + int _internal_items_size() const; + public: - void clear_setstmt(); - const ::pg_query::VariableSetStmt& setstmt() const; - PROTOBUF_NODISCARD ::pg_query::VariableSetStmt* release_setstmt(); - ::pg_query::VariableSetStmt* mutable_setstmt(); - void set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt); + void clear_items() ; + ::pg_query::Node* mutable_items(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_items(); private: - const ::pg_query::VariableSetStmt& _internal_setstmt() const; - ::pg_query::VariableSetStmt* _internal_mutable_setstmt(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_items() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_items(); public: - void unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt); - ::pg_query::VariableSetStmt* unsafe_arena_release_setstmt(); - - // @@protoc_insertion_point(class_scope:pg_query.AlterSystemStmt) + const ::pg_query::Node& items(int index) const; + ::pg_query::Node* add_items(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + items() const; + // @@protoc_insertion_point(class_scope:pg_query.OidList) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::VariableSetStmt* setstmt_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > items_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreatePolicyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePolicyStmt) */ { +class OnConflictClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictClause) */ { public: - inline CreatePolicyStmt() : CreatePolicyStmt(nullptr) {} - ~CreatePolicyStmt() override; - explicit PROTOBUF_CONSTEXPR CreatePolicyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline OnConflictClause() : OnConflictClause(nullptr) {} + ~OnConflictClause() override; + template + explicit PROTOBUF_CONSTEXPR OnConflictClause(::google::protobuf::internal::ConstantInitialized); - CreatePolicyStmt(const CreatePolicyStmt& from); - CreatePolicyStmt(CreatePolicyStmt&& from) noexcept - : CreatePolicyStmt() { + inline OnConflictClause(const OnConflictClause& from) + : OnConflictClause(nullptr, from) {} + OnConflictClause(OnConflictClause&& from) noexcept + : OnConflictClause() { *this = ::std::move(from); } - inline CreatePolicyStmt& operator=(const CreatePolicyStmt& from) { + inline OnConflictClause& operator=(const OnConflictClause& from) { CopyFrom(from); return *this; } - inline CreatePolicyStmt& operator=(CreatePolicyStmt&& from) noexcept { + inline OnConflictClause& operator=(OnConflictClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -45101,257 +58518,239 @@ class CreatePolicyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreatePolicyStmt& default_instance() { + static const OnConflictClause& default_instance() { return *internal_default_instance(); } - static inline const CreatePolicyStmt* internal_default_instance() { - return reinterpret_cast( - &_CreatePolicyStmt_default_instance_); + static inline const OnConflictClause* internal_default_instance() { + return reinterpret_cast( + &_OnConflictClause_default_instance_); } static constexpr int kIndexInFileMessages = - 169; + 120; - friend void swap(CreatePolicyStmt& a, CreatePolicyStmt& b) { + friend void swap(OnConflictClause& a, OnConflictClause& b) { a.Swap(&b); } - inline void Swap(CreatePolicyStmt* other) { + inline void Swap(OnConflictClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreatePolicyStmt* other) { + void UnsafeArenaSwap(OnConflictClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreatePolicyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OnConflictClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreatePolicyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreatePolicyStmt& from) { - CreatePolicyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const OnConflictClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const OnConflictClause& from) { + OnConflictClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreatePolicyStmt* other); + void InternalSwap(OnConflictClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreatePolicyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.OnConflictClause"; } protected: - explicit CreatePolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit OnConflictClause(::google::protobuf::Arena* arena); + OnConflictClause(::google::protobuf::Arena* arena, const OnConflictClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 5, - kPolicyNameFieldNumber = 1, - kCmdNameFieldNumber = 3, - kTableFieldNumber = 2, - kQualFieldNumber = 6, - kWithCheckFieldNumber = 7, - kPermissiveFieldNumber = 4, + kTargetListFieldNumber = 3, + kInferFieldNumber = 2, + kWhereClauseFieldNumber = 4, + kActionFieldNumber = 1, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node roles = 5 [json_name = "roles"]; - int roles_size() const; + // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; + int target_list_size() const; private: - int _internal_roles_size() const; + int _internal_target_list_size() const; + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // .pg_query.InferClause infer = 2 [json_name = "infer"]; + bool has_infer() const; + void clear_infer() ; + const ::pg_query::InferClause& infer() const; + PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer(); + ::pg_query::InferClause* mutable_infer(); + void set_allocated_infer(::pg_query::InferClause* value); + void unsafe_arena_set_allocated_infer(::pg_query::InferClause* value); + ::pg_query::InferClause* unsafe_arena_release_infer(); - // string policy_name = 1 [json_name = "policy_name"]; - void clear_policy_name(); - const std::string& policy_name() const; - template - void set_policy_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_policy_name(); - PROTOBUF_NODISCARD std::string* release_policy_name(); - void set_allocated_policy_name(std::string* policy_name); private: - const std::string& _internal_policy_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_policy_name(const std::string& value); - std::string* _internal_mutable_policy_name(); - public: + const ::pg_query::InferClause& _internal_infer() const; + ::pg_query::InferClause* _internal_mutable_infer(); - // string cmd_name = 3 [json_name = "cmd_name"]; - void clear_cmd_name(); - const std::string& cmd_name() const; - template - void set_cmd_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_cmd_name(); - PROTOBUF_NODISCARD std::string* release_cmd_name(); - void set_allocated_cmd_name(std::string* cmd_name); - private: - const std::string& _internal_cmd_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_cmd_name(const std::string& value); - std::string* _internal_mutable_cmd_name(); public: + // .pg_query.Node where_clause = 4 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); - // .pg_query.RangeVar table = 2 [json_name = "table"]; - bool has_table() const; - private: - bool _internal_has_table() const; - public: - void clear_table(); - const ::pg_query::RangeVar& table() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_table(); - ::pg_query::RangeVar* mutable_table(); - void set_allocated_table(::pg_query::RangeVar* table); private: - const ::pg_query::RangeVar& _internal_table() const; - ::pg_query::RangeVar* _internal_mutable_table(); - public: - void unsafe_arena_set_allocated_table( - ::pg_query::RangeVar* table); - ::pg_query::RangeVar* unsafe_arena_release_table(); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); - // .pg_query.Node qual = 6 [json_name = "qual"]; - bool has_qual() const; - private: - bool _internal_has_qual() const; - public: - void clear_qual(); - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* qual); - private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); public: - void unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual); - ::pg_query::Node* unsafe_arena_release_qual(); + // .pg_query.OnConflictAction action = 1 [json_name = "action"]; + void clear_action() ; + ::pg_query::OnConflictAction action() const; + void set_action(::pg_query::OnConflictAction value); - // .pg_query.Node with_check = 7 [json_name = "with_check"]; - bool has_with_check() const; - private: - bool _internal_has_with_check() const; - public: - void clear_with_check(); - const ::pg_query::Node& with_check() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_with_check(); - ::pg_query::Node* mutable_with_check(); - void set_allocated_with_check(::pg_query::Node* with_check); private: - const ::pg_query::Node& _internal_with_check() const; - ::pg_query::Node* _internal_mutable_with_check(); + ::pg_query::OnConflictAction _internal_action() const; + void _internal_set_action(::pg_query::OnConflictAction value); + public: - void unsafe_arena_set_allocated_with_check( - ::pg_query::Node* with_check); - ::pg_query::Node* unsafe_arena_release_with_check(); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool permissive = 4 [json_name = "permissive"]; - void clear_permissive(); - bool permissive() const; - void set_permissive(bool value); private: - bool _internal_permissive() const; - void _internal_set_permissive(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreatePolicyStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.OnConflictClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr policy_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cmd_name_; - ::pg_query::RangeVar* table_; - ::pg_query::Node* qual_; - ::pg_query::Node* with_check_; - bool permissive_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::pg_query::InferClause* infer_; + ::pg_query::Node* where_clause_; + int action_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterPolicyStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterPolicyStmt) */ { +class OnConflictExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictExpr) */ { public: - inline AlterPolicyStmt() : AlterPolicyStmt(nullptr) {} - ~AlterPolicyStmt() override; - explicit PROTOBUF_CONSTEXPR AlterPolicyStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline OnConflictExpr() : OnConflictExpr(nullptr) {} + ~OnConflictExpr() override; + template + explicit PROTOBUF_CONSTEXPR OnConflictExpr(::google::protobuf::internal::ConstantInitialized); - AlterPolicyStmt(const AlterPolicyStmt& from); - AlterPolicyStmt(AlterPolicyStmt&& from) noexcept - : AlterPolicyStmt() { + inline OnConflictExpr(const OnConflictExpr& from) + : OnConflictExpr(nullptr, from) {} + OnConflictExpr(OnConflictExpr&& from) noexcept + : OnConflictExpr() { *this = ::std::move(from); } - inline AlterPolicyStmt& operator=(const AlterPolicyStmt& from) { + inline OnConflictExpr& operator=(const OnConflictExpr& from) { CopyFrom(from); return *this; } - inline AlterPolicyStmt& operator=(AlterPolicyStmt&& from) noexcept { + inline OnConflictExpr& operator=(OnConflictExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -45361,230 +58760,291 @@ class AlterPolicyStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterPolicyStmt& default_instance() { + static const OnConflictExpr& default_instance() { return *internal_default_instance(); } - static inline const AlterPolicyStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterPolicyStmt_default_instance_); + static inline const OnConflictExpr* internal_default_instance() { + return reinterpret_cast( + &_OnConflictExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 170; + 74; - friend void swap(AlterPolicyStmt& a, AlterPolicyStmt& b) { + friend void swap(OnConflictExpr& a, OnConflictExpr& b) { a.Swap(&b); } - inline void Swap(AlterPolicyStmt* other) { + inline void Swap(OnConflictExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterPolicyStmt* other) { + void UnsafeArenaSwap(OnConflictExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterPolicyStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OnConflictExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterPolicyStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterPolicyStmt& from) { - AlterPolicyStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const OnConflictExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const OnConflictExpr& from) { + OnConflictExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterPolicyStmt* other); + void InternalSwap(OnConflictExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterPolicyStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.OnConflictExpr"; } protected: - explicit AlterPolicyStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit OnConflictExpr(::google::protobuf::Arena* arena); + OnConflictExpr(::google::protobuf::Arena* arena, const OnConflictExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolesFieldNumber = 3, - kPolicyNameFieldNumber = 1, - kTableFieldNumber = 2, - kQualFieldNumber = 4, - kWithCheckFieldNumber = 5, + kArbiterElemsFieldNumber = 2, + kOnConflictSetFieldNumber = 5, + kExclRelTlistFieldNumber = 8, + kArbiterWhereFieldNumber = 3, + kOnConflictWhereFieldNumber = 6, + kActionFieldNumber = 1, + kConstraintFieldNumber = 4, + kExclRelIndexFieldNumber = 7, }; - // repeated .pg_query.Node roles = 3 [json_name = "roles"]; - int roles_size() const; + // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; + int arbiter_elems_size() const; private: - int _internal_roles_size() const; + int _internal_arbiter_elems_size() const; + public: - void clear_roles(); - ::pg_query::Node* mutable_roles(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_roles(); + void clear_arbiter_elems() ; + ::pg_query::Node* mutable_arbiter_elems(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_arbiter_elems(); private: - const ::pg_query::Node& _internal_roles(int index) const; - ::pg_query::Node* _internal_add_roles(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arbiter_elems() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arbiter_elems(); public: - const ::pg_query::Node& roles(int index) const; - ::pg_query::Node* add_roles(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - roles() const; + const ::pg_query::Node& arbiter_elems(int index) const; + ::pg_query::Node* add_arbiter_elems(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + arbiter_elems() const; + // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; + int on_conflict_set_size() const; + private: + int _internal_on_conflict_set_size() const; - // string policy_name = 1 [json_name = "policy_name"]; - void clear_policy_name(); - const std::string& policy_name() const; - template - void set_policy_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_policy_name(); - PROTOBUF_NODISCARD std::string* release_policy_name(); - void set_allocated_policy_name(std::string* policy_name); + public: + void clear_on_conflict_set() ; + ::pg_query::Node* mutable_on_conflict_set(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_on_conflict_set(); private: - const std::string& _internal_policy_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_policy_name(const std::string& value); - std::string* _internal_mutable_policy_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_on_conflict_set() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_on_conflict_set(); public: - - // .pg_query.RangeVar table = 2 [json_name = "table"]; - bool has_table() const; + const ::pg_query::Node& on_conflict_set(int index) const; + ::pg_query::Node* add_on_conflict_set(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + on_conflict_set() const; + // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; + int excl_rel_tlist_size() const; private: - bool _internal_has_table() const; + int _internal_excl_rel_tlist_size() const; + public: - void clear_table(); - const ::pg_query::RangeVar& table() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_table(); - ::pg_query::RangeVar* mutable_table(); - void set_allocated_table(::pg_query::RangeVar* table); + void clear_excl_rel_tlist() ; + ::pg_query::Node* mutable_excl_rel_tlist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_excl_rel_tlist(); private: - const ::pg_query::RangeVar& _internal_table() const; - ::pg_query::RangeVar* _internal_mutable_table(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_excl_rel_tlist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_excl_rel_tlist(); public: - void unsafe_arena_set_allocated_table( - ::pg_query::RangeVar* table); - ::pg_query::RangeVar* unsafe_arena_release_table(); + const ::pg_query::Node& excl_rel_tlist(int index) const; + ::pg_query::Node* add_excl_rel_tlist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + excl_rel_tlist() const; + // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; + bool has_arbiter_where() const; + void clear_arbiter_where() ; + const ::pg_query::Node& arbiter_where() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arbiter_where(); + ::pg_query::Node* mutable_arbiter_where(); + void set_allocated_arbiter_where(::pg_query::Node* value); + void unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arbiter_where(); - // .pg_query.Node qual = 4 [json_name = "qual"]; - bool has_qual() const; private: - bool _internal_has_qual() const; + const ::pg_query::Node& _internal_arbiter_where() const; + ::pg_query::Node* _internal_mutable_arbiter_where(); + public: - void clear_qual(); - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* qual); + // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; + bool has_on_conflict_where() const; + void clear_on_conflict_where() ; + const ::pg_query::Node& on_conflict_where() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_on_conflict_where(); + ::pg_query::Node* mutable_on_conflict_where(); + void set_allocated_on_conflict_where(::pg_query::Node* value); + void unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_on_conflict_where(); + private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); + const ::pg_query::Node& _internal_on_conflict_where() const; + ::pg_query::Node* _internal_mutable_on_conflict_where(); + public: - void unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual); - ::pg_query::Node* unsafe_arena_release_qual(); + // .pg_query.OnConflictAction action = 1 [json_name = "action"]; + void clear_action() ; + ::pg_query::OnConflictAction action() const; + void set_action(::pg_query::OnConflictAction value); - // .pg_query.Node with_check = 5 [json_name = "with_check"]; - bool has_with_check() const; private: - bool _internal_has_with_check() const; + ::pg_query::OnConflictAction _internal_action() const; + void _internal_set_action(::pg_query::OnConflictAction value); + public: - void clear_with_check(); - const ::pg_query::Node& with_check() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_with_check(); - ::pg_query::Node* mutable_with_check(); - void set_allocated_with_check(::pg_query::Node* with_check); + // uint32 constraint = 4 [json_name = "constraint"]; + void clear_constraint() ; + ::uint32_t constraint() const; + void set_constraint(::uint32_t value); + private: - const ::pg_query::Node& _internal_with_check() const; - ::pg_query::Node* _internal_mutable_with_check(); + ::uint32_t _internal_constraint() const; + void _internal_set_constraint(::uint32_t value); + public: - void unsafe_arena_set_allocated_with_check( - ::pg_query::Node* with_check); - ::pg_query::Node* unsafe_arena_release_with_check(); + // int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; + void clear_excl_rel_index() ; + ::int32_t excl_rel_index() const; + void set_excl_rel_index(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterPolicyStmt) + private: + ::int32_t _internal_excl_rel_index() const; + void _internal_set_excl_rel_index(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.OnConflictExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > roles_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr policy_name_; - ::pg_query::RangeVar* table_; - ::pg_query::Node* qual_; - ::pg_query::Node* with_check_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arbiter_elems_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > on_conflict_set_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > excl_rel_tlist_; + ::pg_query::Node* arbiter_where_; + ::pg_query::Node* on_conflict_where_; + int action_; + ::uint32_t constraint_; + ::int32_t excl_rel_index_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateTransformStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateTransformStmt) */ { +class OpExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.OpExpr) */ { public: - inline CreateTransformStmt() : CreateTransformStmt(nullptr) {} - ~CreateTransformStmt() override; - explicit PROTOBUF_CONSTEXPR CreateTransformStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline OpExpr() : OpExpr(nullptr) {} + ~OpExpr() override; + template + explicit PROTOBUF_CONSTEXPR OpExpr(::google::protobuf::internal::ConstantInitialized); - CreateTransformStmt(const CreateTransformStmt& from); - CreateTransformStmt(CreateTransformStmt&& from) noexcept - : CreateTransformStmt() { + inline OpExpr(const OpExpr& from) + : OpExpr(nullptr, from) {} + OpExpr(OpExpr&& from) noexcept + : OpExpr() { *this = ::std::move(from); } - inline CreateTransformStmt& operator=(const CreateTransformStmt& from) { + inline OpExpr& operator=(const OpExpr& from) { CopyFrom(from); return *this; } - inline CreateTransformStmt& operator=(CreateTransformStmt&& from) noexcept { + inline OpExpr& operator=(OpExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -45594,221 +59054,270 @@ class CreateTransformStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateTransformStmt& default_instance() { + static const OpExpr& default_instance() { return *internal_default_instance(); } - static inline const CreateTransformStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateTransformStmt_default_instance_); + static inline const OpExpr* internal_default_instance() { + return reinterpret_cast( + &_OpExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 171; + 26; - friend void swap(CreateTransformStmt& a, CreateTransformStmt& b) { + friend void swap(OpExpr& a, OpExpr& b) { a.Swap(&b); } - inline void Swap(CreateTransformStmt* other) { + inline void Swap(OpExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateTransformStmt* other) { + void UnsafeArenaSwap(OpExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateTransformStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + OpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateTransformStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateTransformStmt& from) { - CreateTransformStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const OpExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const OpExpr& from) { + OpExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateTransformStmt* other); + void InternalSwap(OpExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateTransformStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.OpExpr"; } protected: - explicit CreateTransformStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit OpExpr(::google::protobuf::Arena* arena); + OpExpr(::google::protobuf::Arena* arena, const OpExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kLangFieldNumber = 3, - kTypeNameFieldNumber = 2, - kFromsqlFieldNumber = 4, - kTosqlFieldNumber = 5, - kReplaceFieldNumber = 1, + kArgsFieldNumber = 7, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kOpresulttypeFieldNumber = 3, + kOpretsetFieldNumber = 4, + kOpcollidFieldNumber = 5, + kInputcollidFieldNumber = 6, + kLocationFieldNumber = 8, }; - // string lang = 3 [json_name = "lang"]; - void clear_lang(); - const std::string& lang() const; - template - void set_lang(ArgT0&& arg0, ArgT... args); - std::string* mutable_lang(); - PROTOBUF_NODISCARD std::string* release_lang(); - void set_allocated_lang(std::string* lang); + // repeated .pg_query.Node args = 7 [json_name = "args"]; + int args_size() const; private: - const std::string& _internal_lang() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_lang(const std::string& value); - std::string* _internal_mutable_lang(); - public: + int _internal_args_size() const; - // .pg_query.TypeName type_name = 2 [json_name = "type_name"]; - bool has_type_name() const; + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - bool _internal_has_type_name() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); - // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"]; - bool has_fromsql() const; private: - bool _internal_has_fromsql() const; + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + public: - void clear_fromsql(); - const ::pg_query::ObjectWithArgs& fromsql() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_fromsql(); - ::pg_query::ObjectWithArgs* mutable_fromsql(); - void set_allocated_fromsql(::pg_query::ObjectWithArgs* fromsql); + // uint32 opresulttype = 3 [json_name = "opresulttype"]; + void clear_opresulttype() ; + ::uint32_t opresulttype() const; + void set_opresulttype(::uint32_t value); + private: - const ::pg_query::ObjectWithArgs& _internal_fromsql() const; - ::pg_query::ObjectWithArgs* _internal_mutable_fromsql(); + ::uint32_t _internal_opresulttype() const; + void _internal_set_opresulttype(::uint32_t value); + public: - void unsafe_arena_set_allocated_fromsql( - ::pg_query::ObjectWithArgs* fromsql); - ::pg_query::ObjectWithArgs* unsafe_arena_release_fromsql(); + // bool opretset = 4 [json_name = "opretset"]; + void clear_opretset() ; + bool opretset() const; + void set_opretset(bool value); - // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"]; - bool has_tosql() const; private: - bool _internal_has_tosql() const; + bool _internal_opretset() const; + void _internal_set_opretset(bool value); + public: - void clear_tosql(); - const ::pg_query::ObjectWithArgs& tosql() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_tosql(); - ::pg_query::ObjectWithArgs* mutable_tosql(); - void set_allocated_tosql(::pg_query::ObjectWithArgs* tosql); + // uint32 opcollid = 5 [json_name = "opcollid"]; + void clear_opcollid() ; + ::uint32_t opcollid() const; + void set_opcollid(::uint32_t value); + private: - const ::pg_query::ObjectWithArgs& _internal_tosql() const; - ::pg_query::ObjectWithArgs* _internal_mutable_tosql(); + ::uint32_t _internal_opcollid() const; + void _internal_set_opcollid(::uint32_t value); + public: - void unsafe_arena_set_allocated_tosql( - ::pg_query::ObjectWithArgs* tosql); - ::pg_query::ObjectWithArgs* unsafe_arena_release_tosql(); + // uint32 inputcollid = 6 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); - // bool replace = 1 [json_name = "replace"]; - void clear_replace(); - bool replace() const; - void set_replace(bool value); private: - bool _internal_replace() const; - void _internal_set_replace(bool value); + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateTransformStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.OpExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr lang_; - ::pg_query::TypeName* type_name_; - ::pg_query::ObjectWithArgs* fromsql_; - ::pg_query::ObjectWithArgs* tosql_; - bool replace_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + ::uint32_t opresulttype_; + bool opretset_; + ::uint32_t opcollid_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateAmStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateAmStmt) */ { +class PLAssignStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PLAssignStmt) */ { public: - inline CreateAmStmt() : CreateAmStmt(nullptr) {} - ~CreateAmStmt() override; - explicit PROTOBUF_CONSTEXPR CreateAmStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PLAssignStmt() : PLAssignStmt(nullptr) {} + ~PLAssignStmt() override; + template + explicit PROTOBUF_CONSTEXPR PLAssignStmt(::google::protobuf::internal::ConstantInitialized); - CreateAmStmt(const CreateAmStmt& from); - CreateAmStmt(CreateAmStmt&& from) noexcept - : CreateAmStmt() { + inline PLAssignStmt(const PLAssignStmt& from) + : PLAssignStmt(nullptr, from) {} + PLAssignStmt(PLAssignStmt&& from) noexcept + : PLAssignStmt() { *this = ::std::move(from); } - inline CreateAmStmt& operator=(const CreateAmStmt& from) { + inline PLAssignStmt& operator=(const PLAssignStmt& from) { CopyFrom(from); return *this; } - inline CreateAmStmt& operator=(CreateAmStmt&& from) noexcept { + inline PLAssignStmt& operator=(PLAssignStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -45818,186 +59327,240 @@ class CreateAmStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateAmStmt& default_instance() { + static const PLAssignStmt& default_instance() { return *internal_default_instance(); } - static inline const CreateAmStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateAmStmt_default_instance_); + static inline const PLAssignStmt* internal_default_instance() { + return reinterpret_cast( + &_PLAssignStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 172; + 150; - friend void swap(CreateAmStmt& a, CreateAmStmt& b) { + friend void swap(PLAssignStmt& a, PLAssignStmt& b) { a.Swap(&b); } - inline void Swap(CreateAmStmt* other) { + inline void Swap(PLAssignStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateAmStmt* other) { + void UnsafeArenaSwap(PLAssignStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateAmStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PLAssignStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateAmStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateAmStmt& from) { - CreateAmStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PLAssignStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PLAssignStmt& from) { + PLAssignStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateAmStmt* other); + void InternalSwap(PLAssignStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateAmStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PLAssignStmt"; } protected: - explicit CreateAmStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PLAssignStmt(::google::protobuf::Arena* arena); + PLAssignStmt(::google::protobuf::Arena* arena, const PLAssignStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kHandlerNameFieldNumber = 2, - kAmnameFieldNumber = 1, - kAmtypeFieldNumber = 3, + kIndirectionFieldNumber = 2, + kNameFieldNumber = 1, + kValFieldNumber = 4, + kNnamesFieldNumber = 3, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"]; - int handler_name_size() const; + // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; + int indirection_size() const; + private: + int _internal_indirection_size() const; + + public: + void clear_indirection() ; + ::pg_query::Node* mutable_indirection(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_indirection(); private: - int _internal_handler_name_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); public: - void clear_handler_name(); - ::pg_query::Node* mutable_handler_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_handler_name(); + const ::pg_query::Node& indirection(int index) const; + ::pg_query::Node* add_indirection(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + indirection() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + private: - const ::pg_query::Node& _internal_handler_name(int index) const; - ::pg_query::Node* _internal_add_handler_name(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - const ::pg_query::Node& handler_name(int index) const; - ::pg_query::Node* add_handler_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - handler_name() const; + // .pg_query.SelectStmt val = 4 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::SelectStmt& val() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_val(); + ::pg_query::SelectStmt* mutable_val(); + void set_allocated_val(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_val(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_val(); - // string amname = 1 [json_name = "amname"]; - void clear_amname(); - const std::string& amname() const; - template - void set_amname(ArgT0&& arg0, ArgT... args); - std::string* mutable_amname(); - PROTOBUF_NODISCARD std::string* release_amname(); - void set_allocated_amname(std::string* amname); private: - const std::string& _internal_amname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_amname(const std::string& value); - std::string* _internal_mutable_amname(); + const ::pg_query::SelectStmt& _internal_val() const; + ::pg_query::SelectStmt* _internal_mutable_val(); + public: + // int32 nnames = 3 [json_name = "nnames"]; + void clear_nnames() ; + ::int32_t nnames() const; + void set_nnames(::int32_t value); - // string amtype = 3 [json_name = "amtype"]; - void clear_amtype(); - const std::string& amtype() const; - template - void set_amtype(ArgT0&& arg0, ArgT... args); - std::string* mutable_amtype(); - PROTOBUF_NODISCARD std::string* release_amtype(); - void set_allocated_amtype(std::string* amtype); private: - const std::string& _internal_amtype() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_amtype(const std::string& value); - std::string* _internal_mutable_amtype(); + ::int32_t _internal_nnames() const; + void _internal_set_nnames(::int32_t value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreateAmStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.PLAssignStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > handler_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr amname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr amtype_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::SelectStmt* val_; + ::int32_t nnames_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreatePublicationStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreatePublicationStmt) */ { +class Param final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Param) */ { public: - inline CreatePublicationStmt() : CreatePublicationStmt(nullptr) {} - ~CreatePublicationStmt() override; - explicit PROTOBUF_CONSTEXPR CreatePublicationStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Param() : Param(nullptr) {} + ~Param() override; + template + explicit PROTOBUF_CONSTEXPR Param(::google::protobuf::internal::ConstantInitialized); - CreatePublicationStmt(const CreatePublicationStmt& from); - CreatePublicationStmt(CreatePublicationStmt&& from) noexcept - : CreatePublicationStmt() { + inline Param(const Param& from) + : Param(nullptr, from) {} + Param(Param&& from) noexcept + : Param() { *this = ::std::move(from); } - inline CreatePublicationStmt& operator=(const CreatePublicationStmt& from) { + inline Param& operator=(const Param& from) { CopyFrom(from); return *this; } - inline CreatePublicationStmt& operator=(CreatePublicationStmt&& from) noexcept { + inline Param& operator=(Param&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -46007,201 +59570,250 @@ class CreatePublicationStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreatePublicationStmt& default_instance() { + static const Param& default_instance() { return *internal_default_instance(); } - static inline const CreatePublicationStmt* internal_default_instance() { - return reinterpret_cast( - &_CreatePublicationStmt_default_instance_); + static inline const Param* internal_default_instance() { + return reinterpret_cast( + &_Param_default_instance_); } static constexpr int kIndexInFileMessages = - 173; + 17; - friend void swap(CreatePublicationStmt& a, CreatePublicationStmt& b) { + friend void swap(Param& a, Param& b) { a.Swap(&b); } - inline void Swap(CreatePublicationStmt* other) { + inline void Swap(Param* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreatePublicationStmt* other) { + void UnsafeArenaSwap(Param* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreatePublicationStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Param* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreatePublicationStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreatePublicationStmt& from) { - CreatePublicationStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Param& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Param& from) { + Param::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreatePublicationStmt* other); + void InternalSwap(Param* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreatePublicationStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Param"; } protected: - explicit CreatePublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Param(::google::protobuf::Arena* arena); + Param(::google::protobuf::Arena* arena, const Param& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kPubobjectsFieldNumber = 3, - kPubnameFieldNumber = 1, - kForAllTablesFieldNumber = 4, + kXprFieldNumber = 1, + kParamkindFieldNumber = 2, + kParamidFieldNumber = 3, + kParamtypeFieldNumber = 4, + kParamtypmodFieldNumber = 5, + kParamcollidFieldNumber = 6, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - int _internal_options_size() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; + void clear_paramkind() ; + ::pg_query::ParamKind paramkind() const; + void set_paramkind(::pg_query::ParamKind value); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + ::pg_query::ParamKind _internal_paramkind() const; + void _internal_set_paramkind(::pg_query::ParamKind value); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // int32 paramid = 3 [json_name = "paramid"]; + void clear_paramid() ; + ::int32_t paramid() const; + void set_paramid(::int32_t value); - // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; - int pubobjects_size() const; private: - int _internal_pubobjects_size() const; + ::int32_t _internal_paramid() const; + void _internal_set_paramid(::int32_t value); + public: - void clear_pubobjects(); - ::pg_query::Node* mutable_pubobjects(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_pubobjects(); + // uint32 paramtype = 4 [json_name = "paramtype"]; + void clear_paramtype() ; + ::uint32_t paramtype() const; + void set_paramtype(::uint32_t value); + private: - const ::pg_query::Node& _internal_pubobjects(int index) const; - ::pg_query::Node* _internal_add_pubobjects(); + ::uint32_t _internal_paramtype() const; + void _internal_set_paramtype(::uint32_t value); + public: - const ::pg_query::Node& pubobjects(int index) const; - ::pg_query::Node* add_pubobjects(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - pubobjects() const; + // int32 paramtypmod = 5 [json_name = "paramtypmod"]; + void clear_paramtypmod() ; + ::int32_t paramtypmod() const; + void set_paramtypmod(::int32_t value); - // string pubname = 1 [json_name = "pubname"]; - void clear_pubname(); - const std::string& pubname() const; - template - void set_pubname(ArgT0&& arg0, ArgT... args); - std::string* mutable_pubname(); - PROTOBUF_NODISCARD std::string* release_pubname(); - void set_allocated_pubname(std::string* pubname); private: - const std::string& _internal_pubname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_pubname(const std::string& value); - std::string* _internal_mutable_pubname(); + ::int32_t _internal_paramtypmod() const; + void _internal_set_paramtypmod(::int32_t value); + public: + // uint32 paramcollid = 6 [json_name = "paramcollid"]; + void clear_paramcollid() ; + ::uint32_t paramcollid() const; + void set_paramcollid(::uint32_t value); - // bool for_all_tables = 4 [json_name = "for_all_tables"]; - void clear_for_all_tables(); - bool for_all_tables() const; - void set_for_all_tables(bool value); private: - bool _internal_for_all_tables() const; - void _internal_set_for_all_tables(bool value); + ::uint32_t _internal_paramcollid() const; + void _internal_set_paramcollid(::uint32_t value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CreatePublicationStmt) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.Param) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > pubobjects_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr pubname_; - bool for_all_tables_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + int paramkind_; + ::int32_t paramid_; + ::uint32_t paramtype_; + ::int32_t paramtypmod_; + ::uint32_t paramcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterPublicationStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterPublicationStmt) */ { +class PartitionBoundSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionBoundSpec) */ { public: - inline AlterPublicationStmt() : AlterPublicationStmt(nullptr) {} - ~AlterPublicationStmt() override; - explicit PROTOBUF_CONSTEXPR AlterPublicationStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PartitionBoundSpec() : PartitionBoundSpec(nullptr) {} + ~PartitionBoundSpec() override; + template + explicit PROTOBUF_CONSTEXPR PartitionBoundSpec(::google::protobuf::internal::ConstantInitialized); - AlterPublicationStmt(const AlterPublicationStmt& from); - AlterPublicationStmt(AlterPublicationStmt&& from) noexcept - : AlterPublicationStmt() { + inline PartitionBoundSpec(const PartitionBoundSpec& from) + : PartitionBoundSpec(nullptr, from) {} + PartitionBoundSpec(PartitionBoundSpec&& from) noexcept + : PartitionBoundSpec() { *this = ::std::move(from); } - inline AlterPublicationStmt& operator=(const AlterPublicationStmt& from) { + inline PartitionBoundSpec& operator=(const PartitionBoundSpec& from) { CopyFrom(from); return *this; } - inline AlterPublicationStmt& operator=(AlterPublicationStmt&& from) noexcept { + inline PartitionBoundSpec& operator=(PartitionBoundSpec&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -46211,212 +59823,286 @@ class AlterPublicationStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterPublicationStmt& default_instance() { + static const PartitionBoundSpec& default_instance() { return *internal_default_instance(); } - static inline const AlterPublicationStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterPublicationStmt_default_instance_); + static inline const PartitionBoundSpec* internal_default_instance() { + return reinterpret_cast( + &_PartitionBoundSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 174; + 105; - friend void swap(AlterPublicationStmt& a, AlterPublicationStmt& b) { + friend void swap(PartitionBoundSpec& a, PartitionBoundSpec& b) { a.Swap(&b); } - inline void Swap(AlterPublicationStmt* other) { + inline void Swap(PartitionBoundSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterPublicationStmt* other) { + void UnsafeArenaSwap(PartitionBoundSpec* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterPublicationStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionBoundSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterPublicationStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterPublicationStmt& from) { - AlterPublicationStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PartitionBoundSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PartitionBoundSpec& from) { + PartitionBoundSpec::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterPublicationStmt* other); + void InternalSwap(PartitionBoundSpec* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterPublicationStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PartitionBoundSpec"; } protected: - explicit AlterPublicationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PartitionBoundSpec(::google::protobuf::Arena* arena); + PartitionBoundSpec(::google::protobuf::Arena* arena, const PartitionBoundSpec& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOptionsFieldNumber = 2, - kPubobjectsFieldNumber = 3, - kPubnameFieldNumber = 1, - kForAllTablesFieldNumber = 4, - kActionFieldNumber = 5, + kListdatumsFieldNumber = 5, + kLowerdatumsFieldNumber = 6, + kUpperdatumsFieldNumber = 7, + kStrategyFieldNumber = 1, + kIsDefaultFieldNumber = 2, + kModulusFieldNumber = 3, + kRemainderFieldNumber = 4, + kLocationFieldNumber = 8, }; - // repeated .pg_query.Node options = 2 [json_name = "options"]; - int options_size() const; + // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; + int listdatums_size() const; private: - int _internal_options_size() const; + int _internal_listdatums_size() const; + public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_listdatums() ; + ::pg_query::Node* mutable_listdatums(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_listdatums(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_listdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_listdatums(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& listdatums(int index) const; + ::pg_query::Node* add_listdatums(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + listdatums() const; + // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; + int lowerdatums_size() const; + private: + int _internal_lowerdatums_size() const; - // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; - int pubobjects_size() const; + public: + void clear_lowerdatums() ; + ::pg_query::Node* mutable_lowerdatums(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_lowerdatums(); private: - int _internal_pubobjects_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_lowerdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_lowerdatums(); public: - void clear_pubobjects(); - ::pg_query::Node* mutable_pubobjects(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_pubobjects(); + const ::pg_query::Node& lowerdatums(int index) const; + ::pg_query::Node* add_lowerdatums(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + lowerdatums() const; + // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; + int upperdatums_size() const; private: - const ::pg_query::Node& _internal_pubobjects(int index) const; - ::pg_query::Node* _internal_add_pubobjects(); + int _internal_upperdatums_size() const; + public: - const ::pg_query::Node& pubobjects(int index) const; - ::pg_query::Node* add_pubobjects(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - pubobjects() const; + void clear_upperdatums() ; + ::pg_query::Node* mutable_upperdatums(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_upperdatums(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_upperdatums() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_upperdatums(); + public: + const ::pg_query::Node& upperdatums(int index) const; + ::pg_query::Node* add_upperdatums(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + upperdatums() const; + // string strategy = 1 [json_name = "strategy"]; + void clear_strategy() ; + const std::string& strategy() const; + template + void set_strategy(Arg_&& arg, Args_... args); + std::string* mutable_strategy(); + PROTOBUF_NODISCARD std::string* release_strategy(); + void set_allocated_strategy(std::string* value); - // string pubname = 1 [json_name = "pubname"]; - void clear_pubname(); - const std::string& pubname() const; - template - void set_pubname(ArgT0&& arg0, ArgT... args); - std::string* mutable_pubname(); - PROTOBUF_NODISCARD std::string* release_pubname(); - void set_allocated_pubname(std::string* pubname); private: - const std::string& _internal_pubname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_pubname(const std::string& value); - std::string* _internal_mutable_pubname(); + const std::string& _internal_strategy() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy( + const std::string& value); + std::string* _internal_mutable_strategy(); + public: + // bool is_default = 2 [json_name = "is_default"]; + void clear_is_default() ; + bool is_default() const; + void set_is_default(bool value); - // bool for_all_tables = 4 [json_name = "for_all_tables"]; - void clear_for_all_tables(); - bool for_all_tables() const; - void set_for_all_tables(bool value); private: - bool _internal_for_all_tables() const; - void _internal_set_for_all_tables(bool value); + bool _internal_is_default() const; + void _internal_set_is_default(bool value); + public: + // int32 modulus = 3 [json_name = "modulus"]; + void clear_modulus() ; + ::int32_t modulus() const; + void set_modulus(::int32_t value); - // .pg_query.AlterPublicationAction action = 5 [json_name = "action"]; - void clear_action(); - ::pg_query::AlterPublicationAction action() const; - void set_action(::pg_query::AlterPublicationAction value); private: - ::pg_query::AlterPublicationAction _internal_action() const; - void _internal_set_action(::pg_query::AlterPublicationAction value); + ::int32_t _internal_modulus() const; + void _internal_set_modulus(::int32_t value); + public: + // int32 remainder = 4 [json_name = "remainder"]; + void clear_remainder() ; + ::int32_t remainder() const; + void set_remainder(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterPublicationStmt) + private: + ::int32_t _internal_remainder() const; + void _internal_set_remainder(::int32_t value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.PartitionBoundSpec) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 3, + 52, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > pubobjects_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr pubname_; - bool for_all_tables_; - int action_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > listdatums_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > lowerdatums_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > upperdatums_; + ::google::protobuf::internal::ArenaStringPtr strategy_; + bool is_default_; + ::int32_t modulus_; + ::int32_t remainder_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateSubscriptionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateSubscriptionStmt) */ { +class PartitionCmd final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionCmd) */ { public: - inline CreateSubscriptionStmt() : CreateSubscriptionStmt(nullptr) {} - ~CreateSubscriptionStmt() override; - explicit PROTOBUF_CONSTEXPR CreateSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PartitionCmd() : PartitionCmd(nullptr) {} + ~PartitionCmd() override; + template + explicit PROTOBUF_CONSTEXPR PartitionCmd(::google::protobuf::internal::ConstantInitialized); - CreateSubscriptionStmt(const CreateSubscriptionStmt& from); - CreateSubscriptionStmt(CreateSubscriptionStmt&& from) noexcept - : CreateSubscriptionStmt() { + inline PartitionCmd(const PartitionCmd& from) + : PartitionCmd(nullptr, from) {} + PartitionCmd(PartitionCmd&& from) noexcept + : PartitionCmd() { *this = ::std::move(from); } - inline CreateSubscriptionStmt& operator=(const CreateSubscriptionStmt& from) { + inline PartitionCmd& operator=(const PartitionCmd& from) { CopyFrom(from); return *this; } - inline CreateSubscriptionStmt& operator=(CreateSubscriptionStmt&& from) noexcept { + inline PartitionCmd& operator=(PartitionCmd&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -46426,206 +60112,207 @@ class CreateSubscriptionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateSubscriptionStmt& default_instance() { + static const PartitionCmd& default_instance() { return *internal_default_instance(); } - static inline const CreateSubscriptionStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateSubscriptionStmt_default_instance_); + static inline const PartitionCmd* internal_default_instance() { + return reinterpret_cast( + &_PartitionCmd_default_instance_); } static constexpr int kIndexInFileMessages = - 175; + 108; - friend void swap(CreateSubscriptionStmt& a, CreateSubscriptionStmt& b) { + friend void swap(PartitionCmd& a, PartitionCmd& b) { a.Swap(&b); } - inline void Swap(CreateSubscriptionStmt* other) { + inline void Swap(PartitionCmd* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateSubscriptionStmt* other) { + void UnsafeArenaSwap(PartitionCmd* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateSubscriptionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionCmd* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateSubscriptionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateSubscriptionStmt& from) { - CreateSubscriptionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PartitionCmd& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PartitionCmd& from) { + PartitionCmd::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateSubscriptionStmt* other); + void InternalSwap(PartitionCmd* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateSubscriptionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PartitionCmd"; } protected: - explicit CreateSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PartitionCmd(::google::protobuf::Arena* arena); + PartitionCmd(::google::protobuf::Arena* arena, const PartitionCmd& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPublicationFieldNumber = 3, - kOptionsFieldNumber = 4, - kSubnameFieldNumber = 1, - kConninfoFieldNumber = 2, + kNameFieldNumber = 1, + kBoundFieldNumber = 2, + kConcurrentFieldNumber = 3, }; - // repeated .pg_query.Node publication = 3 [json_name = "publication"]; - int publication_size() const; - private: - int _internal_publication_size() const; - public: - void clear_publication(); - ::pg_query::Node* mutable_publication(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_publication(); - private: - const ::pg_query::Node& _internal_publication(int index) const; - ::pg_query::Node* _internal_add_publication(); - public: - const ::pg_query::Node& publication(int index) const; - ::pg_query::Node* add_publication(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - publication() const; + // .pg_query.RangeVar name = 1 [json_name = "name"]; + bool has_name() const; + void clear_name() ; + const ::pg_query::RangeVar& name() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_name(); + ::pg_query::RangeVar* mutable_name(); + void set_allocated_name(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_name(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_name(); - // repeated .pg_query.Node options = 4 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::pg_query::RangeVar& _internal_name() const; + ::pg_query::RangeVar* _internal_mutable_name(); + public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; + bool has_bound() const; + void clear_bound() ; + const ::pg_query::PartitionBoundSpec& bound() const; + PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_bound(); + ::pg_query::PartitionBoundSpec* mutable_bound(); + void set_allocated_bound(::pg_query::PartitionBoundSpec* value); + void unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value); + ::pg_query::PartitionBoundSpec* unsafe_arena_release_bound(); - // string subname = 1 [json_name = "subname"]; - void clear_subname(); - const std::string& subname() const; - template - void set_subname(ArgT0&& arg0, ArgT... args); - std::string* mutable_subname(); - PROTOBUF_NODISCARD std::string* release_subname(); - void set_allocated_subname(std::string* subname); private: - const std::string& _internal_subname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname(const std::string& value); - std::string* _internal_mutable_subname(); + const ::pg_query::PartitionBoundSpec& _internal_bound() const; + ::pg_query::PartitionBoundSpec* _internal_mutable_bound(); + public: + // bool concurrent = 3 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); - // string conninfo = 2 [json_name = "conninfo"]; - void clear_conninfo(); - const std::string& conninfo() const; - template - void set_conninfo(ArgT0&& arg0, ArgT... args); - std::string* mutable_conninfo(); - PROTOBUF_NODISCARD std::string* release_conninfo(); - void set_allocated_conninfo(std::string* conninfo); private: - const std::string& _internal_conninfo() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conninfo(const std::string& value); - std::string* _internal_mutable_conninfo(); - public: + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateSubscriptionStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.PartitionCmd) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > publication_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conninfo_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::RangeVar* name_; + ::pg_query::PartitionBoundSpec* bound_; + bool concurrent_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterSubscriptionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterSubscriptionStmt) */ { +class PartitionElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionElem) */ { public: - inline AlterSubscriptionStmt() : AlterSubscriptionStmt(nullptr) {} - ~AlterSubscriptionStmt() override; - explicit PROTOBUF_CONSTEXPR AlterSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PartitionElem() : PartitionElem(nullptr) {} + ~PartitionElem() override; + template + explicit PROTOBUF_CONSTEXPR PartitionElem(::google::protobuf::internal::ConstantInitialized); - AlterSubscriptionStmt(const AlterSubscriptionStmt& from); - AlterSubscriptionStmt(AlterSubscriptionStmt&& from) noexcept - : AlterSubscriptionStmt() { + inline PartitionElem(const PartitionElem& from) + : PartitionElem(nullptr, from) {} + PartitionElem(PartitionElem&& from) noexcept + : PartitionElem() { *this = ::std::move(from); } - inline AlterSubscriptionStmt& operator=(const AlterSubscriptionStmt& from) { + inline PartitionElem& operator=(const PartitionElem& from) { CopyFrom(from); return *this; } - inline AlterSubscriptionStmt& operator=(AlterSubscriptionStmt&& from) noexcept { + inline PartitionElem& operator=(PartitionElem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -46635,217 +60322,248 @@ class AlterSubscriptionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterSubscriptionStmt& default_instance() { + static const PartitionElem& default_instance() { return *internal_default_instance(); } - static inline const AlterSubscriptionStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterSubscriptionStmt_default_instance_); + static inline const PartitionElem* internal_default_instance() { + return reinterpret_cast( + &_PartitionElem_default_instance_); } static constexpr int kIndexInFileMessages = - 176; + 103; - friend void swap(AlterSubscriptionStmt& a, AlterSubscriptionStmt& b) { + friend void swap(PartitionElem& a, PartitionElem& b) { a.Swap(&b); } - inline void Swap(AlterSubscriptionStmt* other) { + inline void Swap(PartitionElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterSubscriptionStmt* other) { + void UnsafeArenaSwap(PartitionElem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterSubscriptionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterSubscriptionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterSubscriptionStmt& from) { - AlterSubscriptionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PartitionElem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PartitionElem& from) { + PartitionElem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterSubscriptionStmt* other); + void InternalSwap(PartitionElem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterSubscriptionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PartitionElem"; } protected: - explicit AlterSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PartitionElem(::google::protobuf::Arena* arena); + PartitionElem(::google::protobuf::Arena* arena, const PartitionElem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPublicationFieldNumber = 4, - kOptionsFieldNumber = 5, - kSubnameFieldNumber = 2, - kConninfoFieldNumber = 3, - kKindFieldNumber = 1, + kCollationFieldNumber = 3, + kOpclassFieldNumber = 4, + kNameFieldNumber = 1, + kExprFieldNumber = 2, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node publication = 4 [json_name = "publication"]; - int publication_size() const; + // repeated .pg_query.Node collation = 3 [json_name = "collation"]; + int collation_size() const; private: - int _internal_publication_size() const; + int _internal_collation_size() const; + public: - void clear_publication(); - ::pg_query::Node* mutable_publication(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_publication(); + void clear_collation() ; + ::pg_query::Node* mutable_collation(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_collation(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_collation() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_collation(); + public: + const ::pg_query::Node& collation(int index) const; + ::pg_query::Node* add_collation(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + collation() const; + // repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; + int opclass_size() const; private: - const ::pg_query::Node& _internal_publication(int index) const; - ::pg_query::Node* _internal_add_publication(); - public: - const ::pg_query::Node& publication(int index) const; - ::pg_query::Node* add_publication(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - publication() const; + int _internal_opclass_size() const; - // repeated .pg_query.Node options = 5 [json_name = "options"]; - int options_size() const; - private: - int _internal_options_size() const; public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + void clear_opclass() ; + ::pg_query::Node* mutable_opclass(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opclass(); private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opclass() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opclass(); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; + const ::pg_query::Node& opclass(int index) const; + ::pg_query::Node* add_opclass(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opclass() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string subname = 2 [json_name = "subname"]; - void clear_subname(); - const std::string& subname() const; - template - void set_subname(ArgT0&& arg0, ArgT... args); - std::string* mutable_subname(); - PROTOBUF_NODISCARD std::string* release_subname(); - void set_allocated_subname(std::string* subname); private: - const std::string& _internal_subname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname(const std::string& value); - std::string* _internal_mutable_subname(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // string conninfo = 3 [json_name = "conninfo"]; - void clear_conninfo(); - const std::string& conninfo() const; - template - void set_conninfo(ArgT0&& arg0, ArgT... args); - std::string* mutable_conninfo(); - PROTOBUF_NODISCARD std::string* release_conninfo(); - void set_allocated_conninfo(std::string* conninfo); private: - const std::string& _internal_conninfo() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conninfo(const std::string& value); - std::string* _internal_mutable_conninfo(); + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::AlterSubscriptionType kind() const; - void set_kind(::pg_query::AlterSubscriptionType value); private: - ::pg_query::AlterSubscriptionType _internal_kind() const; - void _internal_set_kind(::pg_query::AlterSubscriptionType value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AlterSubscriptionStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.PartitionElem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 3, + 35, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > publication_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conninfo_; - int kind_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > collation_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opclass_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* expr_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DropSubscriptionStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DropSubscriptionStmt) */ { +class PartitionRangeDatum final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionRangeDatum) */ { public: - inline DropSubscriptionStmt() : DropSubscriptionStmt(nullptr) {} - ~DropSubscriptionStmt() override; - explicit PROTOBUF_CONSTEXPR DropSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PartitionRangeDatum() : PartitionRangeDatum(nullptr) {} + ~PartitionRangeDatum() override; + template + explicit PROTOBUF_CONSTEXPR PartitionRangeDatum(::google::protobuf::internal::ConstantInitialized); - DropSubscriptionStmt(const DropSubscriptionStmt& from); - DropSubscriptionStmt(DropSubscriptionStmt&& from) noexcept - : DropSubscriptionStmt() { + inline PartitionRangeDatum(const PartitionRangeDatum& from) + : PartitionRangeDatum(nullptr, from) {} + PartitionRangeDatum(PartitionRangeDatum&& from) noexcept + : PartitionRangeDatum() { *this = ::std::move(from); } - inline DropSubscriptionStmt& operator=(const DropSubscriptionStmt& from) { + inline PartitionRangeDatum& operator=(const PartitionRangeDatum& from) { CopyFrom(from); return *this; } - inline DropSubscriptionStmt& operator=(DropSubscriptionStmt&& from) noexcept { + inline PartitionRangeDatum& operator=(PartitionRangeDatum&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -46855,172 +60573,202 @@ class DropSubscriptionStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DropSubscriptionStmt& default_instance() { + static const PartitionRangeDatum& default_instance() { return *internal_default_instance(); } - static inline const DropSubscriptionStmt* internal_default_instance() { - return reinterpret_cast( - &_DropSubscriptionStmt_default_instance_); + static inline const PartitionRangeDatum* internal_default_instance() { + return reinterpret_cast( + &_PartitionRangeDatum_default_instance_); } static constexpr int kIndexInFileMessages = - 177; + 106; - friend void swap(DropSubscriptionStmt& a, DropSubscriptionStmt& b) { + friend void swap(PartitionRangeDatum& a, PartitionRangeDatum& b) { a.Swap(&b); } - inline void Swap(DropSubscriptionStmt* other) { + inline void Swap(PartitionRangeDatum* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DropSubscriptionStmt* other) { + void UnsafeArenaSwap(PartitionRangeDatum* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DropSubscriptionStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionRangeDatum* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DropSubscriptionStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DropSubscriptionStmt& from) { - DropSubscriptionStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PartitionRangeDatum& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PartitionRangeDatum& from) { + PartitionRangeDatum::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DropSubscriptionStmt* other); + void InternalSwap(PartitionRangeDatum* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DropSubscriptionStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PartitionRangeDatum"; } protected: - explicit DropSubscriptionStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PartitionRangeDatum(::google::protobuf::Arena* arena); + PartitionRangeDatum(::google::protobuf::Arena* arena, const PartitionRangeDatum& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSubnameFieldNumber = 1, - kMissingOkFieldNumber = 2, - kBehaviorFieldNumber = 3, + kValueFieldNumber = 2, + kKindFieldNumber = 1, + kLocationFieldNumber = 3, }; - // string subname = 1 [json_name = "subname"]; - void clear_subname(); - const std::string& subname() const; - template - void set_subname(ArgT0&& arg0, ArgT... args); - std::string* mutable_subname(); - PROTOBUF_NODISCARD std::string* release_subname(); - void set_allocated_subname(std::string* subname); + // .pg_query.Node value = 2 [json_name = "value"]; + bool has_value() const; + void clear_value() ; + const ::pg_query::Node& value() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_value(); + ::pg_query::Node* mutable_value(); + void set_allocated_value(::pg_query::Node* value); + void unsafe_arena_set_allocated_value(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_value(); + private: - const std::string& _internal_subname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname(const std::string& value); - std::string* _internal_mutable_subname(); + const ::pg_query::Node& _internal_value() const; + ::pg_query::Node* _internal_mutable_value(); + public: + // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::PartitionRangeDatumKind kind() const; + void set_kind(::pg_query::PartitionRangeDatumKind value); - // bool missing_ok = 2 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); + ::pg_query::PartitionRangeDatumKind _internal_kind() const; + void _internal_set_kind(::pg_query::PartitionRangeDatumKind value); + public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; - void clear_behavior(); - ::pg_query::DropBehavior behavior() const; - void set_behavior(::pg_query::DropBehavior value); private: - ::pg_query::DropBehavior _internal_behavior() const; - void _internal_set_behavior(::pg_query::DropBehavior value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.DropSubscriptionStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.PartitionRangeDatum) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr subname_; - bool missing_ok_; - int behavior_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* value_; + int kind_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateStatsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateStatsStmt) */ { +class PartitionSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionSpec) */ { public: - inline CreateStatsStmt() : CreateStatsStmt(nullptr) {} - ~CreateStatsStmt() override; - explicit PROTOBUF_CONSTEXPR CreateStatsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PartitionSpec() : PartitionSpec(nullptr) {} + ~PartitionSpec() override; + template + explicit PROTOBUF_CONSTEXPR PartitionSpec(::google::protobuf::internal::ConstantInitialized); - CreateStatsStmt(const CreateStatsStmt& from); - CreateStatsStmt(CreateStatsStmt&& from) noexcept - : CreateStatsStmt() { + inline PartitionSpec(const PartitionSpec& from) + : PartitionSpec(nullptr, from) {} + PartitionSpec(PartitionSpec&& from) noexcept + : PartitionSpec() { *this = ::std::move(from); } - inline CreateStatsStmt& operator=(const CreateStatsStmt& from) { + inline PartitionSpec& operator=(const PartitionSpec& from) { CopyFrom(from); return *this; } - inline CreateStatsStmt& operator=(CreateStatsStmt&& from) noexcept { + inline PartitionSpec& operator=(PartitionSpec&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -47030,252 +60778,204 @@ class CreateStatsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateStatsStmt& default_instance() { + static const PartitionSpec& default_instance() { return *internal_default_instance(); } - static inline const CreateStatsStmt* internal_default_instance() { - return reinterpret_cast( - &_CreateStatsStmt_default_instance_); + static inline const PartitionSpec* internal_default_instance() { + return reinterpret_cast( + &_PartitionSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 178; + 104; - friend void swap(CreateStatsStmt& a, CreateStatsStmt& b) { + friend void swap(PartitionSpec& a, PartitionSpec& b) { a.Swap(&b); } - inline void Swap(CreateStatsStmt* other) { + inline void Swap(PartitionSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateStatsStmt* other) { + void UnsafeArenaSwap(PartitionSpec* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateStatsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PartitionSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateStatsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateStatsStmt& from) { - CreateStatsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PartitionSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PartitionSpec& from) { + PartitionSpec::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateStatsStmt* other); + void InternalSwap(PartitionSpec* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateStatsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PartitionSpec"; } protected: - explicit CreateStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PartitionSpec(::google::protobuf::Arena* arena); + PartitionSpec(::google::protobuf::Arena* arena, const PartitionSpec& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDefnamesFieldNumber = 1, - kStatTypesFieldNumber = 2, - kExprsFieldNumber = 3, - kRelationsFieldNumber = 4, - kStxcommentFieldNumber = 5, - kTransformedFieldNumber = 6, - kIfNotExistsFieldNumber = 7, + kPartParamsFieldNumber = 2, + kStrategyFieldNumber = 1, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; - int defnames_size() const; - private: - int _internal_defnames_size() const; - public: - void clear_defnames(); - ::pg_query::Node* mutable_defnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_defnames(); - private: - const ::pg_query::Node& _internal_defnames(int index) const; - ::pg_query::Node* _internal_add_defnames(); - public: - const ::pg_query::Node& defnames(int index) const; - ::pg_query::Node* add_defnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - defnames() const; - - // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"]; - int stat_types_size() const; - private: - int _internal_stat_types_size() const; - public: - void clear_stat_types(); - ::pg_query::Node* mutable_stat_types(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_stat_types(); + // repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; + int part_params_size() const; private: - const ::pg_query::Node& _internal_stat_types(int index) const; - ::pg_query::Node* _internal_add_stat_types(); - public: - const ::pg_query::Node& stat_types(int index) const; - ::pg_query::Node* add_stat_types(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - stat_types() const; + int _internal_part_params_size() const; - // repeated .pg_query.Node exprs = 3 [json_name = "exprs"]; - int exprs_size() const; - private: - int _internal_exprs_size() const; public: - void clear_exprs(); - ::pg_query::Node* mutable_exprs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_exprs(); + void clear_part_params() ; + ::pg_query::Node* mutable_part_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_part_params(); private: - const ::pg_query::Node& _internal_exprs(int index) const; - ::pg_query::Node* _internal_add_exprs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_part_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_part_params(); public: - const ::pg_query::Node& exprs(int index) const; - ::pg_query::Node* add_exprs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - exprs() const; + const ::pg_query::Node& part_params(int index) const; + ::pg_query::Node* add_part_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + part_params() const; + // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; + void clear_strategy() ; + ::pg_query::PartitionStrategy strategy() const; + void set_strategy(::pg_query::PartitionStrategy value); - // repeated .pg_query.Node relations = 4 [json_name = "relations"]; - int relations_size() const; - private: - int _internal_relations_size() const; - public: - void clear_relations(); - ::pg_query::Node* mutable_relations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_relations(); private: - const ::pg_query::Node& _internal_relations(int index) const; - ::pg_query::Node* _internal_add_relations(); - public: - const ::pg_query::Node& relations(int index) const; - ::pg_query::Node* add_relations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - relations() const; + ::pg_query::PartitionStrategy _internal_strategy() const; + void _internal_set_strategy(::pg_query::PartitionStrategy value); - // string stxcomment = 5 [json_name = "stxcomment"]; - void clear_stxcomment(); - const std::string& stxcomment() const; - template - void set_stxcomment(ArgT0&& arg0, ArgT... args); - std::string* mutable_stxcomment(); - PROTOBUF_NODISCARD std::string* release_stxcomment(); - void set_allocated_stxcomment(std::string* stxcomment); - private: - const std::string& _internal_stxcomment() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_stxcomment(const std::string& value); - std::string* _internal_mutable_stxcomment(); public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // bool transformed = 6 [json_name = "transformed"]; - void clear_transformed(); - bool transformed() const; - void set_transformed(bool value); private: - bool _internal_transformed() const; - void _internal_set_transformed(bool value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // bool if_not_exists = 7 [json_name = "if_not_exists"]; - void clear_if_not_exists(); - bool if_not_exists() const; - void set_if_not_exists(bool value); - private: - bool _internal_if_not_exists() const; - void _internal_set_if_not_exists(bool value); public: - - // @@protoc_insertion_point(class_scope:pg_query.CreateStatsStmt) + // @@protoc_insertion_point(class_scope:pg_query.PartitionSpec) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > defnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > stat_types_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > exprs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > relations_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr stxcomment_; - bool transformed_; - bool if_not_exists_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > part_params_; + int strategy_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterCollationStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterCollationStmt) */ { +class PrepareStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PrepareStmt) */ { public: - inline AlterCollationStmt() : AlterCollationStmt(nullptr) {} - ~AlterCollationStmt() override; - explicit PROTOBUF_CONSTEXPR AlterCollationStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PrepareStmt() : PrepareStmt(nullptr) {} + ~PrepareStmt() override; + template + explicit PROTOBUF_CONSTEXPR PrepareStmt(::google::protobuf::internal::ConstantInitialized); - AlterCollationStmt(const AlterCollationStmt& from); - AlterCollationStmt(AlterCollationStmt&& from) noexcept - : AlterCollationStmt() { + inline PrepareStmt(const PrepareStmt& from) + : PrepareStmt(nullptr, from) {} + PrepareStmt(PrepareStmt&& from) noexcept + : PrepareStmt() { *this = ::std::move(from); } - inline AlterCollationStmt& operator=(const AlterCollationStmt& from) { + inline PrepareStmt& operator=(const PrepareStmt& from) { CopyFrom(from); return *this; } - inline AlterCollationStmt& operator=(AlterCollationStmt&& from) noexcept { + inline PrepareStmt& operator=(PrepareStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -47285,154 +60985,216 @@ class AlterCollationStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterCollationStmt& default_instance() { + static const PrepareStmt& default_instance() { return *internal_default_instance(); } - static inline const AlterCollationStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterCollationStmt_default_instance_); + static inline const PrepareStmt* internal_default_instance() { + return reinterpret_cast( + &_PrepareStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 179; + 257; - friend void swap(AlterCollationStmt& a, AlterCollationStmt& b) { + friend void swap(PrepareStmt& a, PrepareStmt& b) { a.Swap(&b); } - inline void Swap(AlterCollationStmt* other) { + inline void Swap(PrepareStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterCollationStmt* other) { + void UnsafeArenaSwap(PrepareStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterCollationStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PrepareStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterCollationStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterCollationStmt& from) { - AlterCollationStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PrepareStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PrepareStmt& from) { + PrepareStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterCollationStmt* other); + void InternalSwap(PrepareStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterCollationStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PrepareStmt"; } protected: - explicit AlterCollationStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PrepareStmt(::google::protobuf::Arena* arena); + PrepareStmt(::google::protobuf::Arena* arena, const PrepareStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCollnameFieldNumber = 1, + kArgtypesFieldNumber = 2, + kNameFieldNumber = 1, + kQueryFieldNumber = 3, }; - // repeated .pg_query.Node collname = 1 [json_name = "collname"]; - int collname_size() const; + // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; + int argtypes_size() const; private: - int _internal_collname_size() const; + int _internal_argtypes_size() const; + public: - void clear_collname(); - ::pg_query::Node* mutable_collname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_collname(); + void clear_argtypes() ; + ::pg_query::Node* mutable_argtypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_argtypes(); private: - const ::pg_query::Node& _internal_collname(int index) const; - ::pg_query::Node* _internal_add_collname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_argtypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_argtypes(); public: - const ::pg_query::Node& collname(int index) const; - ::pg_query::Node* add_collname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - collname() const; + const ::pg_query::Node& argtypes(int index) const; + ::pg_query::Node* add_argtypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + argtypes() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // @@protoc_insertion_point(class_scope:pg_query.AlterCollationStmt) + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .pg_query.Node query = 3 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); + + private: + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.PrepareStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 33, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > collname_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > argtypes_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* query_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CallStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CallStmt) */ { +class PublicationObjSpec final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationObjSpec) */ { public: - inline CallStmt() : CallStmt(nullptr) {} - ~CallStmt() override; - explicit PROTOBUF_CONSTEXPR CallStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PublicationObjSpec() : PublicationObjSpec(nullptr) {} + ~PublicationObjSpec() override; + template + explicit PROTOBUF_CONSTEXPR PublicationObjSpec(::google::protobuf::internal::ConstantInitialized); - CallStmt(const CallStmt& from); - CallStmt(CallStmt&& from) noexcept - : CallStmt() { + inline PublicationObjSpec(const PublicationObjSpec& from) + : PublicationObjSpec(nullptr, from) {} + PublicationObjSpec(PublicationObjSpec&& from) noexcept + : PublicationObjSpec() { *this = ::std::move(from); } - inline CallStmt& operator=(const CallStmt& from) { + inline PublicationObjSpec& operator=(const PublicationObjSpec& from) { CopyFrom(from); return *this; } - inline CallStmt& operator=(CallStmt&& from) noexcept { + inline PublicationObjSpec& operator=(PublicationObjSpec&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -47442,194 +61204,220 @@ class CallStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CallStmt& default_instance() { + static const PublicationObjSpec& default_instance() { return *internal_default_instance(); } - static inline const CallStmt* internal_default_instance() { - return reinterpret_cast( - &_CallStmt_default_instance_); + static inline const PublicationObjSpec* internal_default_instance() { + return reinterpret_cast( + &_PublicationObjSpec_default_instance_); } static constexpr int kIndexInFileMessages = - 180; + 265; - friend void swap(CallStmt& a, CallStmt& b) { + friend void swap(PublicationObjSpec& a, PublicationObjSpec& b) { a.Swap(&b); } - inline void Swap(CallStmt* other) { + inline void Swap(PublicationObjSpec* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CallStmt* other) { + void UnsafeArenaSwap(PublicationObjSpec* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CallStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PublicationObjSpec* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CallStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CallStmt& from) { - CallStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PublicationObjSpec& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PublicationObjSpec& from) { + PublicationObjSpec::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CallStmt* other); + void InternalSwap(PublicationObjSpec* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CallStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PublicationObjSpec"; } protected: - explicit CallStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PublicationObjSpec(::google::protobuf::Arena* arena); + PublicationObjSpec(::google::protobuf::Arena* arena, const PublicationObjSpec& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOutargsFieldNumber = 3, - kFunccallFieldNumber = 1, - kFuncexprFieldNumber = 2, + kNameFieldNumber = 2, + kPubtableFieldNumber = 3, + kPubobjtypeFieldNumber = 1, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node outargs = 3 [json_name = "outargs"]; - int outargs_size() const; - private: - int _internal_outargs_size() const; - public: - void clear_outargs(); - ::pg_query::Node* mutable_outargs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_outargs(); - private: - const ::pg_query::Node& _internal_outargs(int index) const; - ::pg_query::Node* _internal_add_outargs(); - public: - const ::pg_query::Node& outargs(int index) const; - ::pg_query::Node* add_outargs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - outargs() const; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // .pg_query.FuncCall funccall = 1 [json_name = "funccall"]; - bool has_funccall() const; private: - bool _internal_has_funccall() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_funccall(); - const ::pg_query::FuncCall& funccall() const; - PROTOBUF_NODISCARD ::pg_query::FuncCall* release_funccall(); - ::pg_query::FuncCall* mutable_funccall(); - void set_allocated_funccall(::pg_query::FuncCall* funccall); + // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; + bool has_pubtable() const; + void clear_pubtable() ; + const ::pg_query::PublicationTable& pubtable() const; + PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_pubtable(); + ::pg_query::PublicationTable* mutable_pubtable(); + void set_allocated_pubtable(::pg_query::PublicationTable* value); + void unsafe_arena_set_allocated_pubtable(::pg_query::PublicationTable* value); + ::pg_query::PublicationTable* unsafe_arena_release_pubtable(); + private: - const ::pg_query::FuncCall& _internal_funccall() const; - ::pg_query::FuncCall* _internal_mutable_funccall(); + const ::pg_query::PublicationTable& _internal_pubtable() const; + ::pg_query::PublicationTable* _internal_mutable_pubtable(); + public: - void unsafe_arena_set_allocated_funccall( - ::pg_query::FuncCall* funccall); - ::pg_query::FuncCall* unsafe_arena_release_funccall(); + // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; + void clear_pubobjtype() ; + ::pg_query::PublicationObjSpecType pubobjtype() const; + void set_pubobjtype(::pg_query::PublicationObjSpecType value); - // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"]; - bool has_funcexpr() const; private: - bool _internal_has_funcexpr() const; + ::pg_query::PublicationObjSpecType _internal_pubobjtype() const; + void _internal_set_pubobjtype(::pg_query::PublicationObjSpecType value); + public: - void clear_funcexpr(); - const ::pg_query::FuncExpr& funcexpr() const; - PROTOBUF_NODISCARD ::pg_query::FuncExpr* release_funcexpr(); - ::pg_query::FuncExpr* mutable_funcexpr(); - void set_allocated_funcexpr(::pg_query::FuncExpr* funcexpr); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - const ::pg_query::FuncExpr& _internal_funcexpr() const; - ::pg_query::FuncExpr* _internal_mutable_funcexpr(); - public: - void unsafe_arena_set_allocated_funcexpr( - ::pg_query::FuncExpr* funcexpr); - ::pg_query::FuncExpr* unsafe_arena_release_funcexpr(); + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CallStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.PublicationObjSpec) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 40, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > outargs_; - ::pg_query::FuncCall* funccall_; - ::pg_query::FuncExpr* funcexpr_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::PublicationTable* pubtable_; + int pubobjtype_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AlterStatsStmt final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AlterStatsStmt) */ { +class PublicationTable final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationTable) */ { public: - inline AlterStatsStmt() : AlterStatsStmt(nullptr) {} - ~AlterStatsStmt() override; - explicit PROTOBUF_CONSTEXPR AlterStatsStmt(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline PublicationTable() : PublicationTable(nullptr) {} + ~PublicationTable() override; + template + explicit PROTOBUF_CONSTEXPR PublicationTable(::google::protobuf::internal::ConstantInitialized); - AlterStatsStmt(const AlterStatsStmt& from); - AlterStatsStmt(AlterStatsStmt&& from) noexcept - : AlterStatsStmt() { + inline PublicationTable(const PublicationTable& from) + : PublicationTable(nullptr, from) {} + PublicationTable(PublicationTable&& from) noexcept + : PublicationTable() { *this = ::std::move(from); } - inline AlterStatsStmt& operator=(const AlterStatsStmt& from) { + inline PublicationTable& operator=(const PublicationTable& from) { CopyFrom(from); return *this; } - inline AlterStatsStmt& operator=(AlterStatsStmt&& from) noexcept { + inline PublicationTable& operator=(PublicationTable&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -47639,176 +61427,215 @@ class AlterStatsStmt final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AlterStatsStmt& default_instance() { + static const PublicationTable& default_instance() { return *internal_default_instance(); } - static inline const AlterStatsStmt* internal_default_instance() { - return reinterpret_cast( - &_AlterStatsStmt_default_instance_); + static inline const PublicationTable* internal_default_instance() { + return reinterpret_cast( + &_PublicationTable_default_instance_); } static constexpr int kIndexInFileMessages = - 181; + 264; - friend void swap(AlterStatsStmt& a, AlterStatsStmt& b) { + friend void swap(PublicationTable& a, PublicationTable& b) { a.Swap(&b); } - inline void Swap(AlterStatsStmt* other) { + inline void Swap(PublicationTable* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AlterStatsStmt* other) { + void UnsafeArenaSwap(PublicationTable* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AlterStatsStmt* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + PublicationTable* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlterStatsStmt& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AlterStatsStmt& from) { - AlterStatsStmt::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PublicationTable& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const PublicationTable& from) { + PublicationTable::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlterStatsStmt* other); + void InternalSwap(PublicationTable* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AlterStatsStmt"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.PublicationTable"; } protected: - explicit AlterStatsStmt(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit PublicationTable(::google::protobuf::Arena* arena); + PublicationTable(::google::protobuf::Arena* arena, const PublicationTable& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDefnamesFieldNumber = 1, - kStxstattargetFieldNumber = 2, - kMissingOkFieldNumber = 3, + kColumnsFieldNumber = 3, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 2, }; - // repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; - int defnames_size() const; + // repeated .pg_query.Node columns = 3 [json_name = "columns"]; + int columns_size() const; private: - int _internal_defnames_size() const; + int _internal_columns_size() const; + public: - void clear_defnames(); - ::pg_query::Node* mutable_defnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_defnames(); + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); private: - const ::pg_query::Node& _internal_defnames(int index) const; - ::pg_query::Node* _internal_add_defnames(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - const ::pg_query::Node& defnames(int index) const; - ::pg_query::Node* add_defnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - defnames() const; + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // int32 stxstattarget = 2 [json_name = "stxstattarget"]; - void clear_stxstattarget(); - int32_t stxstattarget() const; - void set_stxstattarget(int32_t value); private: - int32_t _internal_stxstattarget() const; - void _internal_set_stxstattarget(int32_t value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: + // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); - // bool missing_ok = 3 [json_name = "missing_ok"]; - void clear_missing_ok(); - bool missing_ok() const; - void set_missing_ok(bool value); private: - bool _internal_missing_ok() const; - void _internal_set_missing_ok(bool value); - public: + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); - // @@protoc_insertion_point(class_scope:pg_query.AlterStatsStmt) + public: + // @@protoc_insertion_point(class_scope:pg_query.PublicationTable) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > defnames_; - int32_t stxstattarget_; - bool missing_ok_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class A_Expr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Expr) */ { +class Query final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Query) */ { public: - inline A_Expr() : A_Expr(nullptr) {} - ~A_Expr() override; - explicit PROTOBUF_CONSTEXPR A_Expr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Query() : Query(nullptr) {} + ~Query() override; + template + explicit PROTOBUF_CONSTEXPR Query(::google::protobuf::internal::ConstantInitialized); - A_Expr(const A_Expr& from); - A_Expr(A_Expr&& from) noexcept - : A_Expr() { + inline Query(const Query& from) + : Query(nullptr, from) {} + Query(Query&& from) noexcept + : Query() { *this = ::std::move(from); } - inline A_Expr& operator=(const A_Expr& from) { + inline Query& operator=(const Query& from) { CopyFrom(from); return *this; } - inline A_Expr& operator=(A_Expr&& from) noexcept { + inline Query& operator=(Query&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -47818,216 +61645,817 @@ class A_Expr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const A_Expr& default_instance() { + static const Query& default_instance() { return *internal_default_instance(); } - static inline const A_Expr* internal_default_instance() { - return reinterpret_cast( - &_A_Expr_default_instance_); + static inline const Query* internal_default_instance() { + return reinterpret_cast( + &_Query_default_instance_); } static constexpr int kIndexInFileMessages = - 182; + 75; - friend void swap(A_Expr& a, A_Expr& b) { + friend void swap(Query& a, Query& b) { a.Swap(&b); } - inline void Swap(A_Expr* other) { + inline void Swap(Query* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(A_Expr* other) { + void UnsafeArenaSwap(Query* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - A_Expr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Query* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const A_Expr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const A_Expr& from) { - A_Expr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Query& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Query& from) { + Query::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(A_Expr* other); + void InternalSwap(Query* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_Expr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Query"; } protected: - explicit A_Expr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Query(::google::protobuf::Arena* arena); + Query(::google::protobuf::Arena* arena, const Query& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 2, - kLexprFieldNumber = 3, - kRexprFieldNumber = 4, - kKindFieldNumber = 1, - kLocationFieldNumber = 5, + kCteListFieldNumber = 16, + kRtableFieldNumber = 17, + kRteperminfosFieldNumber = 18, + kMergeActionListFieldNumber = 20, + kTargetListFieldNumber = 23, + kReturningListFieldNumber = 26, + kGroupClauseFieldNumber = 27, + kGroupingSetsFieldNumber = 29, + kWindowClauseFieldNumber = 31, + kDistinctClauseFieldNumber = 32, + kSortClauseFieldNumber = 33, + kRowMarksFieldNumber = 37, + kConstraintDepsFieldNumber = 39, + kWithCheckOptionsFieldNumber = 40, + kUtilityStmtFieldNumber = 4, + kJointreeFieldNumber = 19, + kMergeJoinConditionFieldNumber = 22, + kOnConflictFieldNumber = 25, + kHavingQualFieldNumber = 30, + kLimitOffsetFieldNumber = 34, + kLimitCountFieldNumber = 35, + kSetOperationsFieldNumber = 38, + kCommandTypeFieldNumber = 1, + kQuerySourceFieldNumber = 2, + kResultRelationFieldNumber = 5, + kCanSetTagFieldNumber = 3, + kHasAggsFieldNumber = 6, + kHasWindowFuncsFieldNumber = 7, + kHasTargetSrfsFieldNumber = 8, + kHasSubLinksFieldNumber = 9, + kHasDistinctOnFieldNumber = 10, + kHasRecursiveFieldNumber = 11, + kHasModifyingCteFieldNumber = 12, + kHasForUpdateFieldNumber = 13, + kHasRowSecurityFieldNumber = 14, + kIsReturnFieldNumber = 15, + kGroupDistinctFieldNumber = 28, + kMergeTargetRelationFieldNumber = 21, + kOverrideFieldNumber = 24, + kLimitOptionFieldNumber = 36, + kStmtLocationFieldNumber = 41, + kStmtLenFieldNumber = 42, }; - // repeated .pg_query.Node name = 2 [json_name = "name"]; - int name_size() const; + // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; + int cte_list_size() const; + private: + int _internal_cte_list_size() const; + + public: + void clear_cte_list() ; + ::pg_query::Node* mutable_cte_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_cte_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_cte_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_cte_list(); + public: + const ::pg_query::Node& cte_list(int index) const; + ::pg_query::Node* add_cte_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + cte_list() const; + // repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; + int rtable_size() const; + private: + int _internal_rtable_size() const; + + public: + void clear_rtable() ; + ::pg_query::Node* mutable_rtable(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rtable(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rtable() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rtable(); + public: + const ::pg_query::Node& rtable(int index) const; + ::pg_query::Node* add_rtable(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rtable() const; + // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; + int rteperminfos_size() const; + private: + int _internal_rteperminfos_size() const; + + public: + void clear_rteperminfos() ; + ::pg_query::Node* mutable_rteperminfos(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rteperminfos(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rteperminfos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rteperminfos(); + public: + const ::pg_query::Node& rteperminfos(int index) const; + ::pg_query::Node* add_rteperminfos(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rteperminfos() const; + // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; + int merge_action_list_size() const; + private: + int _internal_merge_action_list_size() const; + + public: + void clear_merge_action_list() ; + ::pg_query::Node* mutable_merge_action_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_merge_action_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_merge_action_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_merge_action_list(); + public: + const ::pg_query::Node& merge_action_list(int index) const; + ::pg_query::Node* add_merge_action_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + merge_action_list() const; + // repeated .pg_query.Node target_list = 23 [json_name = "targetList"]; + int target_list_size() const; + private: + int _internal_target_list_size() const; + + public: + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); + public: + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"]; + int returning_list_size() const; + private: + int _internal_returning_list_size() const; + + public: + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); + public: + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"]; + int group_clause_size() const; + private: + int _internal_group_clause_size() const; + + public: + void clear_group_clause() ; + ::pg_query::Node* mutable_group_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_group_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); + public: + const ::pg_query::Node& group_clause(int index) const; + ::pg_query::Node* add_group_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + group_clause() const; + // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"]; + int grouping_sets_size() const; + private: + int _internal_grouping_sets_size() const; + + public: + void clear_grouping_sets() ; + ::pg_query::Node* mutable_grouping_sets(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_grouping_sets(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_grouping_sets() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_grouping_sets(); + public: + const ::pg_query::Node& grouping_sets(int index) const; + ::pg_query::Node* add_grouping_sets(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + grouping_sets() const; + // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"]; + int window_clause_size() const; + private: + int _internal_window_clause_size() const; + + public: + void clear_window_clause() ; + ::pg_query::Node* mutable_window_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_window_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); + public: + const ::pg_query::Node& window_clause(int index) const; + ::pg_query::Node* add_window_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + window_clause() const; + // repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"]; + int distinct_clause_size() const; + private: + int _internal_distinct_clause_size() const; + + public: + void clear_distinct_clause() ; + ::pg_query::Node* mutable_distinct_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_distinct_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); + public: + const ::pg_query::Node& distinct_clause(int index) const; + ::pg_query::Node* add_distinct_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + distinct_clause() const; + // repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"]; + int sort_clause_size() const; + private: + int _internal_sort_clause_size() const; + + public: + void clear_sort_clause() ; + ::pg_query::Node* mutable_sort_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_sort_clause(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); + public: + const ::pg_query::Node& sort_clause(int index) const; + ::pg_query::Node* add_sort_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + sort_clause() const; + // repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"]; + int row_marks_size() const; + private: + int _internal_row_marks_size() const; + + public: + void clear_row_marks() ; + ::pg_query::Node* mutable_row_marks(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_row_marks(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_row_marks() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_row_marks(); + public: + const ::pg_query::Node& row_marks(int index) const; + ::pg_query::Node* add_row_marks(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + row_marks() const; + // repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"]; + int constraint_deps_size() const; + private: + int _internal_constraint_deps_size() const; + + public: + void clear_constraint_deps() ; + ::pg_query::Node* mutable_constraint_deps(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_constraint_deps(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_constraint_deps() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_constraint_deps(); + public: + const ::pg_query::Node& constraint_deps(int index) const; + ::pg_query::Node* add_constraint_deps(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + constraint_deps() const; + // repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"]; + int with_check_options_size() const; + private: + int _internal_with_check_options_size() const; + + public: + void clear_with_check_options() ; + ::pg_query::Node* mutable_with_check_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_with_check_options(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_with_check_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_with_check_options(); + public: + const ::pg_query::Node& with_check_options(int index) const; + ::pg_query::Node* add_with_check_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + with_check_options() const; + // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; + bool has_utility_stmt() const; + void clear_utility_stmt() ; + const ::pg_query::Node& utility_stmt() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_utility_stmt(); + ::pg_query::Node* mutable_utility_stmt(); + void set_allocated_utility_stmt(::pg_query::Node* value); + void unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_utility_stmt(); + + private: + const ::pg_query::Node& _internal_utility_stmt() const; + ::pg_query::Node* _internal_mutable_utility_stmt(); + + public: + // .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; + bool has_jointree() const; + void clear_jointree() ; + const ::pg_query::FromExpr& jointree() const; + PROTOBUF_NODISCARD ::pg_query::FromExpr* release_jointree(); + ::pg_query::FromExpr* mutable_jointree(); + void set_allocated_jointree(::pg_query::FromExpr* value); + void unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value); + ::pg_query::FromExpr* unsafe_arena_release_jointree(); + + private: + const ::pg_query::FromExpr& _internal_jointree() const; + ::pg_query::FromExpr* _internal_mutable_jointree(); + + public: + // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"]; + bool has_merge_join_condition() const; + void clear_merge_join_condition() ; + const ::pg_query::Node& merge_join_condition() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_merge_join_condition(); + ::pg_query::Node* mutable_merge_join_condition(); + void set_allocated_merge_join_condition(::pg_query::Node* value); + void unsafe_arena_set_allocated_merge_join_condition(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_merge_join_condition(); + + private: + const ::pg_query::Node& _internal_merge_join_condition() const; + ::pg_query::Node* _internal_mutable_merge_join_condition(); + + public: + // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"]; + bool has_on_conflict() const; + void clear_on_conflict() ; + const ::pg_query::OnConflictExpr& on_conflict() const; + PROTOBUF_NODISCARD ::pg_query::OnConflictExpr* release_on_conflict(); + ::pg_query::OnConflictExpr* mutable_on_conflict(); + void set_allocated_on_conflict(::pg_query::OnConflictExpr* value); + void unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value); + ::pg_query::OnConflictExpr* unsafe_arena_release_on_conflict(); + + private: + const ::pg_query::OnConflictExpr& _internal_on_conflict() const; + ::pg_query::OnConflictExpr* _internal_mutable_on_conflict(); + + public: + // .pg_query.Node having_qual = 30 [json_name = "havingQual"]; + bool has_having_qual() const; + void clear_having_qual() ; + const ::pg_query::Node& having_qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_having_qual(); + ::pg_query::Node* mutable_having_qual(); + void set_allocated_having_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_having_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_having_qual(); + + private: + const ::pg_query::Node& _internal_having_qual() const; + ::pg_query::Node* _internal_mutable_having_qual(); + + public: + // .pg_query.Node limit_offset = 34 [json_name = "limitOffset"]; + bool has_limit_offset() const; + void clear_limit_offset() ; + const ::pg_query::Node& limit_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); + ::pg_query::Node* mutable_limit_offset(); + void set_allocated_limit_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_offset(); + + private: + const ::pg_query::Node& _internal_limit_offset() const; + ::pg_query::Node* _internal_mutable_limit_offset(); + + public: + // .pg_query.Node limit_count = 35 [json_name = "limitCount"]; + bool has_limit_count() const; + void clear_limit_count() ; + const ::pg_query::Node& limit_count() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); + ::pg_query::Node* mutable_limit_count(); + void set_allocated_limit_count(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_count(); + + private: + const ::pg_query::Node& _internal_limit_count() const; + ::pg_query::Node* _internal_mutable_limit_count(); + + public: + // .pg_query.Node set_operations = 38 [json_name = "setOperations"]; + bool has_set_operations() const; + void clear_set_operations() ; + const ::pg_query::Node& set_operations() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_set_operations(); + ::pg_query::Node* mutable_set_operations(); + void set_allocated_set_operations(::pg_query::Node* value); + void unsafe_arena_set_allocated_set_operations(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_set_operations(); + + private: + const ::pg_query::Node& _internal_set_operations() const; + ::pg_query::Node* _internal_mutable_set_operations(); + + public: + // .pg_query.CmdType command_type = 1 [json_name = "commandType"]; + void clear_command_type() ; + ::pg_query::CmdType command_type() const; + void set_command_type(::pg_query::CmdType value); + + private: + ::pg_query::CmdType _internal_command_type() const; + void _internal_set_command_type(::pg_query::CmdType value); + + public: + // .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; + void clear_query_source() ; + ::pg_query::QuerySource query_source() const; + void set_query_source(::pg_query::QuerySource value); + + private: + ::pg_query::QuerySource _internal_query_source() const; + void _internal_set_query_source(::pg_query::QuerySource value); + + public: + // int32 result_relation = 5 [json_name = "resultRelation"]; + void clear_result_relation() ; + ::int32_t result_relation() const; + void set_result_relation(::int32_t value); + + private: + ::int32_t _internal_result_relation() const; + void _internal_set_result_relation(::int32_t value); + + public: + // bool can_set_tag = 3 [json_name = "canSetTag"]; + void clear_can_set_tag() ; + bool can_set_tag() const; + void set_can_set_tag(bool value); + + private: + bool _internal_can_set_tag() const; + void _internal_set_can_set_tag(bool value); + + public: + // bool has_aggs = 6 [json_name = "hasAggs"]; + void clear_has_aggs() ; + bool has_aggs() const; + void set_has_aggs(bool value); + + private: + bool _internal_has_aggs() const; + void _internal_set_has_aggs(bool value); + + public: + // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; + void clear_has_window_funcs() ; + bool has_window_funcs() const; + void set_has_window_funcs(bool value); + + private: + bool _internal_has_window_funcs() const; + void _internal_set_has_window_funcs(bool value); + + public: + // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; + void clear_has_target_srfs() ; + bool has_target_srfs() const; + void set_has_target_srfs(bool value); + + private: + bool _internal_has_target_srfs() const; + void _internal_set_has_target_srfs(bool value); + + public: + // bool has_sub_links = 9 [json_name = "hasSubLinks"]; + void clear_has_sub_links() ; + bool has_sub_links() const; + void set_has_sub_links(bool value); + + private: + bool _internal_has_sub_links() const; + void _internal_set_has_sub_links(bool value); + + public: + // bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; + void clear_has_distinct_on() ; + bool has_distinct_on() const; + void set_has_distinct_on(bool value); + + private: + bool _internal_has_distinct_on() const; + void _internal_set_has_distinct_on(bool value); + + public: + // bool has_recursive = 11 [json_name = "hasRecursive"]; + void clear_has_recursive() ; + bool has_recursive() const; + void set_has_recursive(bool value); + + private: + bool _internal_has_recursive() const; + void _internal_set_has_recursive(bool value); + + public: + // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; + void clear_has_modifying_cte() ; + bool has_modifying_cte() const; + void set_has_modifying_cte(bool value); + + private: + bool _internal_has_modifying_cte() const; + void _internal_set_has_modifying_cte(bool value); + + public: + // bool has_for_update = 13 [json_name = "hasForUpdate"]; + void clear_has_for_update() ; + bool has_for_update() const; + void set_has_for_update(bool value); + + private: + bool _internal_has_for_update() const; + void _internal_set_has_for_update(bool value); + + public: + // bool has_row_security = 14 [json_name = "hasRowSecurity"]; + void clear_has_row_security() ; + bool has_row_security() const; + void set_has_row_security(bool value); + private: - int _internal_name_size() const; + bool _internal_has_row_security() const; + void _internal_set_has_row_security(bool value); + public: - void clear_name(); - ::pg_query::Node* mutable_name(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_name(); + // bool is_return = 15 [json_name = "isReturn"]; + void clear_is_return() ; + bool is_return() const; + void set_is_return(bool value); + private: - const ::pg_query::Node& _internal_name(int index) const; - ::pg_query::Node* _internal_add_name(); + bool _internal_is_return() const; + void _internal_set_is_return(bool value); + public: - const ::pg_query::Node& name(int index) const; - ::pg_query::Node* add_name(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - name() const; + // bool group_distinct = 28 [json_name = "groupDistinct"]; + void clear_group_distinct() ; + bool group_distinct() const; + void set_group_distinct(bool value); - // .pg_query.Node lexpr = 3 [json_name = "lexpr"]; - bool has_lexpr() const; private: - bool _internal_has_lexpr() const; + bool _internal_group_distinct() const; + void _internal_set_group_distinct(bool value); + public: - void clear_lexpr(); - const ::pg_query::Node& lexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_lexpr(); - ::pg_query::Node* mutable_lexpr(); - void set_allocated_lexpr(::pg_query::Node* lexpr); + // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"]; + void clear_merge_target_relation() ; + ::int32_t merge_target_relation() const; + void set_merge_target_relation(::int32_t value); + private: - const ::pg_query::Node& _internal_lexpr() const; - ::pg_query::Node* _internal_mutable_lexpr(); + ::int32_t _internal_merge_target_relation() const; + void _internal_set_merge_target_relation(::int32_t value); + public: - void unsafe_arena_set_allocated_lexpr( - ::pg_query::Node* lexpr); - ::pg_query::Node* unsafe_arena_release_lexpr(); + // .pg_query.OverridingKind override = 24 [json_name = "override"]; + void clear_override() ; + ::pg_query::OverridingKind override() const; + void set_override(::pg_query::OverridingKind value); - // .pg_query.Node rexpr = 4 [json_name = "rexpr"]; - bool has_rexpr() const; private: - bool _internal_has_rexpr() const; + ::pg_query::OverridingKind _internal_override() const; + void _internal_set_override(::pg_query::OverridingKind value); + public: - void clear_rexpr(); - const ::pg_query::Node& rexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rexpr(); - ::pg_query::Node* mutable_rexpr(); - void set_allocated_rexpr(::pg_query::Node* rexpr); + // .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"]; + void clear_limit_option() ; + ::pg_query::LimitOption limit_option() const; + void set_limit_option(::pg_query::LimitOption value); + private: - const ::pg_query::Node& _internal_rexpr() const; - ::pg_query::Node* _internal_mutable_rexpr(); + ::pg_query::LimitOption _internal_limit_option() const; + void _internal_set_limit_option(::pg_query::LimitOption value); + public: - void unsafe_arena_set_allocated_rexpr( - ::pg_query::Node* rexpr); - ::pg_query::Node* unsafe_arena_release_rexpr(); + // int32 stmt_location = 41 [json_name = "stmt_location"]; + void clear_stmt_location() ; + ::int32_t stmt_location() const; + void set_stmt_location(::int32_t value); - // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::A_Expr_Kind kind() const; - void set_kind(::pg_query::A_Expr_Kind value); private: - ::pg_query::A_Expr_Kind _internal_kind() const; - void _internal_set_kind(::pg_query::A_Expr_Kind value); + ::int32_t _internal_stmt_location() const; + void _internal_set_stmt_location(::int32_t value); + public: + // int32 stmt_len = 42 [json_name = "stmt_len"]; + void clear_stmt_len() ; + ::int32_t stmt_len() const; + void set_stmt_len(::int32_t value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_stmt_len() const; + void _internal_set_stmt_len(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.A_Expr) + public: + // @@protoc_insertion_point(class_scope:pg_query.Query) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 42, 22, + 0, 7> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > name_; - ::pg_query::Node* lexpr_; - ::pg_query::Node* rexpr_; - int kind_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > cte_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rtable_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rteperminfos_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > merge_action_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > grouping_sets_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > row_marks_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > constraint_deps_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > with_check_options_; + ::pg_query::Node* utility_stmt_; + ::pg_query::FromExpr* jointree_; + ::pg_query::Node* merge_join_condition_; + ::pg_query::OnConflictExpr* on_conflict_; + ::pg_query::Node* having_qual_; + ::pg_query::Node* limit_offset_; + ::pg_query::Node* limit_count_; + ::pg_query::Node* set_operations_; + int command_type_; + int query_source_; + ::int32_t result_relation_; + bool can_set_tag_; + bool has_aggs_; + bool has_window_funcs_; + bool has_target_srfs_; + bool has_sub_links_; + bool has_distinct_on_; + bool has_recursive_; + bool has_modifying_cte_; + bool has_for_update_; + bool has_row_security_; + bool is_return_; + bool group_distinct_; + ::int32_t merge_target_relation_; + int override_; + int limit_option_; + ::int32_t stmt_location_; + ::int32_t stmt_len_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ColumnRef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ColumnRef) */ { +class RangeFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeFunction) */ { public: - inline ColumnRef() : ColumnRef(nullptr) {} - ~ColumnRef() override; - explicit PROTOBUF_CONSTEXPR ColumnRef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeFunction() : RangeFunction(nullptr) {} + ~RangeFunction() override; + template + explicit PROTOBUF_CONSTEXPR RangeFunction(::google::protobuf::internal::ConstantInitialized); - ColumnRef(const ColumnRef& from); - ColumnRef(ColumnRef&& from) noexcept - : ColumnRef() { + inline RangeFunction(const RangeFunction& from) + : RangeFunction(nullptr, from) {} + RangeFunction(RangeFunction&& from) noexcept + : RangeFunction() { *this = ::std::move(from); } - inline ColumnRef& operator=(const ColumnRef& from) { + inline RangeFunction& operator=(const RangeFunction& from) { CopyFrom(from); return *this; } - inline ColumnRef& operator=(ColumnRef&& from) noexcept { + inline RangeFunction& operator=(RangeFunction&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48037,165 +62465,254 @@ class ColumnRef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ColumnRef& default_instance() { + static const RangeFunction& default_instance() { return *internal_default_instance(); } - static inline const ColumnRef* internal_default_instance() { - return reinterpret_cast( - &_ColumnRef_default_instance_); + static inline const RangeFunction* internal_default_instance() { + return reinterpret_cast( + &_RangeFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 183; + 93; - friend void swap(ColumnRef& a, ColumnRef& b) { + friend void swap(RangeFunction& a, RangeFunction& b) { a.Swap(&b); } - inline void Swap(ColumnRef* other) { + inline void Swap(RangeFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ColumnRef* other) { + void UnsafeArenaSwap(RangeFunction* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ColumnRef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ColumnRef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ColumnRef& from) { - ColumnRef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeFunction& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeFunction& from) { + RangeFunction::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ColumnRef* other); + void InternalSwap(RangeFunction* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ColumnRef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeFunction"; } protected: - explicit ColumnRef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeFunction(::google::protobuf::Arena* arena); + RangeFunction(::google::protobuf::Arena* arena, const RangeFunction& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFieldsFieldNumber = 1, - kLocationFieldNumber = 2, + kFunctionsFieldNumber = 4, + kColdeflistFieldNumber = 6, + kAliasFieldNumber = 5, + kLateralFieldNumber = 1, + kOrdinalityFieldNumber = 2, + kIsRowsfromFieldNumber = 3, }; - // repeated .pg_query.Node fields = 1 [json_name = "fields"]; - int fields_size() const; + // repeated .pg_query.Node functions = 4 [json_name = "functions"]; + int functions_size() const; private: - int _internal_fields_size() const; + int _internal_functions_size() const; + public: - void clear_fields(); - ::pg_query::Node* mutable_fields(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fields(); + void clear_functions() ; + ::pg_query::Node* mutable_functions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_functions(); private: - const ::pg_query::Node& _internal_fields(int index) const; - ::pg_query::Node* _internal_add_fields(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); public: - const ::pg_query::Node& fields(int index) const; - ::pg_query::Node* add_fields(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fields() const; + const ::pg_query::Node& functions(int index) const; + ::pg_query::Node* add_functions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + functions() const; + // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; + int coldeflist_size() const; + private: + int _internal_coldeflist_size() const; + + public: + void clear_coldeflist() ; + ::pg_query::Node* mutable_coldeflist(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coldeflist(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldeflist() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldeflist(); + public: + const ::pg_query::Node& coldeflist(int index) const; + ::pg_query::Node* add_coldeflist(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coldeflist() const; + // .pg_query.Alias alias = 5 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); - // int32 location = 2 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + public: + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); - // @@protoc_insertion_point(class_scope:pg_query.ColumnRef) + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // bool ordinality = 2 [json_name = "ordinality"]; + void clear_ordinality() ; + bool ordinality() const; + void set_ordinality(bool value); + + private: + bool _internal_ordinality() const; + void _internal_set_ordinality(bool value); + + public: + // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; + void clear_is_rowsfrom() ; + bool is_rowsfrom() const; + void set_is_rowsfrom(bool value); + + private: + bool _internal_is_rowsfrom() const; + void _internal_set_is_rowsfrom(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeFunction) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fields_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldeflist_; + ::pg_query::Alias* alias_; + bool lateral_; + bool ordinality_; + bool is_rowsfrom_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ParamRef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ParamRef) */ { +class RangeSubselect final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeSubselect) */ { public: - inline ParamRef() : ParamRef(nullptr) {} - ~ParamRef() override; - explicit PROTOBUF_CONSTEXPR ParamRef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeSubselect() : RangeSubselect(nullptr) {} + ~RangeSubselect() override; + template + explicit PROTOBUF_CONSTEXPR RangeSubselect(::google::protobuf::internal::ConstantInitialized); - ParamRef(const ParamRef& from); - ParamRef(ParamRef&& from) noexcept - : ParamRef() { + inline RangeSubselect(const RangeSubselect& from) + : RangeSubselect(nullptr, from) {} + RangeSubselect(RangeSubselect&& from) noexcept + : RangeSubselect() { *this = ::std::move(from); } - inline ParamRef& operator=(const ParamRef& from) { + inline RangeSubselect& operator=(const RangeSubselect& from) { CopyFrom(from); return *this; } - inline ParamRef& operator=(ParamRef&& from) noexcept { + inline RangeSubselect& operator=(RangeSubselect&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48205,156 +62722,207 @@ class ParamRef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ParamRef& default_instance() { + static const RangeSubselect& default_instance() { return *internal_default_instance(); } - static inline const ParamRef* internal_default_instance() { - return reinterpret_cast( - &_ParamRef_default_instance_); + static inline const RangeSubselect* internal_default_instance() { + return reinterpret_cast( + &_RangeSubselect_default_instance_); } static constexpr int kIndexInFileMessages = - 184; + 92; - friend void swap(ParamRef& a, ParamRef& b) { + friend void swap(RangeSubselect& a, RangeSubselect& b) { a.Swap(&b); } - inline void Swap(ParamRef* other) { + inline void Swap(RangeSubselect* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ParamRef* other) { + void UnsafeArenaSwap(RangeSubselect* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ParamRef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeSubselect* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ParamRef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ParamRef& from) { - ParamRef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeSubselect& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeSubselect& from) { + RangeSubselect::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ParamRef* other); + void InternalSwap(RangeSubselect* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ParamRef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeSubselect"; } protected: - explicit ParamRef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeSubselect(::google::protobuf::Arena* arena); + RangeSubselect(::google::protobuf::Arena* arena, const RangeSubselect& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNumberFieldNumber = 1, - kLocationFieldNumber = 2, + kSubqueryFieldNumber = 2, + kAliasFieldNumber = 3, + kLateralFieldNumber = 1, }; - // int32 number = 1 [json_name = "number"]; - void clear_number(); - int32_t number() const; - void set_number(int32_t value); + // .pg_query.Node subquery = 2 [json_name = "subquery"]; + bool has_subquery() const; + void clear_subquery() ; + const ::pg_query::Node& subquery() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_subquery(); + ::pg_query::Node* mutable_subquery(); + void set_allocated_subquery(::pg_query::Node* value); + void unsafe_arena_set_allocated_subquery(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_subquery(); + private: - int32_t _internal_number() const; - void _internal_set_number(int32_t value); + const ::pg_query::Node& _internal_subquery() const; + ::pg_query::Node* _internal_mutable_subquery(); + public: + // .pg_query.Alias alias = 3 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); - // int32 location = 2 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + public: + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); - // @@protoc_insertion_point(class_scope:pg_query.ParamRef) + private: + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeSubselect) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - int32_t number_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* subquery_; + ::pg_query::Alias* alias_; + bool lateral_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FuncCall final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FuncCall) */ { +class RangeTableFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFunc) */ { public: - inline FuncCall() : FuncCall(nullptr) {} - ~FuncCall() override; - explicit PROTOBUF_CONSTEXPR FuncCall(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeTableFunc() : RangeTableFunc(nullptr) {} + ~RangeTableFunc() override; + template + explicit PROTOBUF_CONSTEXPR RangeTableFunc(::google::protobuf::internal::ConstantInitialized); - FuncCall(const FuncCall& from); - FuncCall(FuncCall&& from) noexcept - : FuncCall() { + inline RangeTableFunc(const RangeTableFunc& from) + : RangeTableFunc(nullptr, from) {} + RangeTableFunc(RangeTableFunc&& from) noexcept + : RangeTableFunc() { *this = ::std::move(from); } - inline FuncCall& operator=(const FuncCall& from) { + inline RangeTableFunc& operator=(const RangeTableFunc& from) { CopyFrom(from); return *this; } - inline FuncCall& operator=(FuncCall&& from) noexcept { + inline RangeTableFunc& operator=(RangeTableFunc&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48364,299 +62932,276 @@ class FuncCall final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FuncCall& default_instance() { + static const RangeTableFunc& default_instance() { return *internal_default_instance(); } - static inline const FuncCall* internal_default_instance() { - return reinterpret_cast( - &_FuncCall_default_instance_); + static inline const RangeTableFunc* internal_default_instance() { + return reinterpret_cast( + &_RangeTableFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 185; + 94; - friend void swap(FuncCall& a, FuncCall& b) { + friend void swap(RangeTableFunc& a, RangeTableFunc& b) { a.Swap(&b); } - inline void Swap(FuncCall* other) { + inline void Swap(RangeTableFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FuncCall* other) { + void UnsafeArenaSwap(RangeTableFunc* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FuncCall* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FuncCall& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FuncCall& from) { - FuncCall::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTableFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTableFunc& from) { + RangeTableFunc::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FuncCall* other); + void InternalSwap(RangeTableFunc* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FuncCall"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTableFunc"; } protected: - explicit FuncCall(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeTableFunc(::google::protobuf::Arena* arena); + RangeTableFunc(::google::protobuf::Arena* arena, const RangeTableFunc& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFuncnameFieldNumber = 1, - kArgsFieldNumber = 2, - kAggOrderFieldNumber = 3, - kAggFilterFieldNumber = 4, - kOverFieldNumber = 5, - kAggWithinGroupFieldNumber = 6, - kAggStarFieldNumber = 7, - kAggDistinctFieldNumber = 8, - kFuncVariadicFieldNumber = 9, - kFuncformatFieldNumber = 10, - kLocationFieldNumber = 11, + kNamespacesFieldNumber = 4, + kColumnsFieldNumber = 5, + kDocexprFieldNumber = 2, + kRowexprFieldNumber = 3, + kAliasFieldNumber = 6, + kLateralFieldNumber = 1, + kLocationFieldNumber = 7, }; - // repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; - int funcname_size() const; - private: - int _internal_funcname_size() const; - public: - void clear_funcname(); - ::pg_query::Node* mutable_funcname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funcname(); + // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; + int namespaces_size() const; private: - const ::pg_query::Node& _internal_funcname(int index) const; - ::pg_query::Node* _internal_add_funcname(); - public: - const ::pg_query::Node& funcname(int index) const; - ::pg_query::Node* add_funcname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funcname() const; + int _internal_namespaces_size() const; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; - - // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; - int agg_order_size() const; + void clear_namespaces() ; + ::pg_query::Node* mutable_namespaces(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_namespaces(); private: - int _internal_agg_order_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_namespaces() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_namespaces(); public: - void clear_agg_order(); - ::pg_query::Node* mutable_agg_order(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_agg_order(); + const ::pg_query::Node& namespaces(int index) const; + ::pg_query::Node* add_namespaces(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + namespaces() const; + // repeated .pg_query.Node columns = 5 [json_name = "columns"]; + int columns_size() const; private: - const ::pg_query::Node& _internal_agg_order(int index) const; - ::pg_query::Node* _internal_add_agg_order(); - public: - const ::pg_query::Node& agg_order(int index) const; - ::pg_query::Node* add_agg_order(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - agg_order() const; + int _internal_columns_size() const; - // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; - bool has_agg_filter() const; - private: - bool _internal_has_agg_filter() const; public: - void clear_agg_filter(); - const ::pg_query::Node& agg_filter() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_agg_filter(); - ::pg_query::Node* mutable_agg_filter(); - void set_allocated_agg_filter(::pg_query::Node* agg_filter); + void clear_columns() ; + ::pg_query::Node* mutable_columns(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_columns(); private: - const ::pg_query::Node& _internal_agg_filter() const; - ::pg_query::Node* _internal_mutable_agg_filter(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_columns() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_columns(); public: - void unsafe_arena_set_allocated_agg_filter( - ::pg_query::Node* agg_filter); - ::pg_query::Node* unsafe_arena_release_agg_filter(); + const ::pg_query::Node& columns(int index) const; + ::pg_query::Node* add_columns(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + columns() const; + // .pg_query.Node docexpr = 2 [json_name = "docexpr"]; + bool has_docexpr() const; + void clear_docexpr() ; + const ::pg_query::Node& docexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); + ::pg_query::Node* mutable_docexpr(); + void set_allocated_docexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_docexpr(); - // .pg_query.WindowDef over = 5 [json_name = "over"]; - bool has_over() const; - private: - bool _internal_has_over() const; - public: - void clear_over(); - const ::pg_query::WindowDef& over() const; - PROTOBUF_NODISCARD ::pg_query::WindowDef* release_over(); - ::pg_query::WindowDef* mutable_over(); - void set_allocated_over(::pg_query::WindowDef* over); private: - const ::pg_query::WindowDef& _internal_over() const; - ::pg_query::WindowDef* _internal_mutable_over(); - public: - void unsafe_arena_set_allocated_over( - ::pg_query::WindowDef* over); - ::pg_query::WindowDef* unsafe_arena_release_over(); + const ::pg_query::Node& _internal_docexpr() const; + ::pg_query::Node* _internal_mutable_docexpr(); - // bool agg_within_group = 6 [json_name = "agg_within_group"]; - void clear_agg_within_group(); - bool agg_within_group() const; - void set_agg_within_group(bool value); - private: - bool _internal_agg_within_group() const; - void _internal_set_agg_within_group(bool value); public: + // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; + bool has_rowexpr() const; + void clear_rowexpr() ; + const ::pg_query::Node& rowexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); + ::pg_query::Node* mutable_rowexpr(); + void set_allocated_rowexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rowexpr(); - // bool agg_star = 7 [json_name = "agg_star"]; - void clear_agg_star(); - bool agg_star() const; - void set_agg_star(bool value); private: - bool _internal_agg_star() const; - void _internal_set_agg_star(bool value); - public: + const ::pg_query::Node& _internal_rowexpr() const; + ::pg_query::Node* _internal_mutable_rowexpr(); - // bool agg_distinct = 8 [json_name = "agg_distinct"]; - void clear_agg_distinct(); - bool agg_distinct() const; - void set_agg_distinct(bool value); - private: - bool _internal_agg_distinct() const; - void _internal_set_agg_distinct(bool value); public: + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); - // bool func_variadic = 9 [json_name = "func_variadic"]; - void clear_func_variadic(); - bool func_variadic() const; - void set_func_variadic(bool value); private: - bool _internal_func_variadic() const; - void _internal_set_func_variadic(bool value); - public: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); - // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; - void clear_funcformat(); - ::pg_query::CoercionForm funcformat() const; - void set_funcformat(::pg_query::CoercionForm value); - private: - ::pg_query::CoercionForm _internal_funcformat() const; - void _internal_set_funcformat(::pg_query::CoercionForm value); public: + // bool lateral = 1 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); - // int32 location = 11 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.FuncCall) - private: - class _Internal; + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funcname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > agg_order_; - ::pg_query::Node* agg_filter_; - ::pg_query::WindowDef* over_; - bool agg_within_group_; - bool agg_star_; - bool agg_distinct_; - bool func_variadic_; - int funcformat_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTableFunc) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > namespaces_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > columns_; + ::pg_query::Node* docexpr_; + ::pg_query::Node* rowexpr_; + ::pg_query::Alias* alias_; + bool lateral_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class A_Star final : - public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:pg_query.A_Star) */ { +class RangeTableFuncCol final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFuncCol) */ { public: - inline A_Star() : A_Star(nullptr) {} - explicit PROTOBUF_CONSTEXPR A_Star(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeTableFuncCol() : RangeTableFuncCol(nullptr) {} + ~RangeTableFuncCol() override; + template + explicit PROTOBUF_CONSTEXPR RangeTableFuncCol(::google::protobuf::internal::ConstantInitialized); - A_Star(const A_Star& from); - A_Star(A_Star&& from) noexcept - : A_Star() { + inline RangeTableFuncCol(const RangeTableFuncCol& from) + : RangeTableFuncCol(nullptr, from) {} + RangeTableFuncCol(RangeTableFuncCol&& from) noexcept + : RangeTableFuncCol() { *this = ::std::move(from); } - inline A_Star& operator=(const A_Star& from) { + inline RangeTableFuncCol& operator=(const RangeTableFuncCol& from) { CopyFrom(from); return *this; } - inline A_Star& operator=(A_Star&& from) noexcept { + inline RangeTableFuncCol& operator=(RangeTableFuncCol&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48666,116 +63211,266 @@ class A_Star final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const A_Star& default_instance() { + static const RangeTableFuncCol& default_instance() { return *internal_default_instance(); } - static inline const A_Star* internal_default_instance() { - return reinterpret_cast( - &_A_Star_default_instance_); + static inline const RangeTableFuncCol* internal_default_instance() { + return reinterpret_cast( + &_RangeTableFuncCol_default_instance_); } static constexpr int kIndexInFileMessages = - 186; + 95; - friend void swap(A_Star& a, A_Star& b) { + friend void swap(RangeTableFuncCol& a, RangeTableFuncCol& b) { a.Swap(&b); } - inline void Swap(A_Star* other) { + inline void Swap(RangeTableFuncCol* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(A_Star* other) { + void UnsafeArenaSwap(RangeTableFuncCol* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - A_Star* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom; - inline void CopyFrom(const A_Star& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from); + RangeTableFuncCol* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom; - void MergeFrom(const A_Star& from) { - ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTableFuncCol& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTableFuncCol& from) { + RangeTableFuncCol::MergeImpl(*this, from); } + private: + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_Star"; + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(RangeTableFuncCol* other); + + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTableFuncCol"; } protected: - explicit A_Star(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeTableFuncCol(::google::protobuf::Arena* arena); + RangeTableFuncCol(::google::protobuf::Arena* arena, const RangeTableFuncCol& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- - // @@protoc_insertion_point(class_scope:pg_query.A_Star) + enum : int { + kColnameFieldNumber = 1, + kTypeNameFieldNumber = 2, + kColexprFieldNumber = 5, + kColdefexprFieldNumber = 6, + kForOrdinalityFieldNumber = 3, + kIsNotNullFieldNumber = 4, + kLocationFieldNumber = 7, + }; + // string colname = 1 [json_name = "colname"]; + void clear_colname() ; + const std::string& colname() const; + template + void set_colname(Arg_&& arg, Args_... args); + std::string* mutable_colname(); + PROTOBUF_NODISCARD std::string* release_colname(); + void set_allocated_colname(std::string* value); + + private: + const std::string& _internal_colname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname( + const std::string& value); + std::string* _internal_mutable_colname(); + + public: + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + + private: + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + + public: + // .pg_query.Node colexpr = 5 [json_name = "colexpr"]; + bool has_colexpr() const; + void clear_colexpr() ; + const ::pg_query::Node& colexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_colexpr(); + ::pg_query::Node* mutable_colexpr(); + void set_allocated_colexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_colexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_colexpr(); + + private: + const ::pg_query::Node& _internal_colexpr() const; + ::pg_query::Node* _internal_mutable_colexpr(); + + public: + // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; + bool has_coldefexpr() const; + void clear_coldefexpr() ; + const ::pg_query::Node& coldefexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_coldefexpr(); + ::pg_query::Node* mutable_coldefexpr(); + void set_allocated_coldefexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_coldefexpr(); + + private: + const ::pg_query::Node& _internal_coldefexpr() const; + ::pg_query::Node* _internal_mutable_coldefexpr(); + + public: + // bool for_ordinality = 3 [json_name = "for_ordinality"]; + void clear_for_ordinality() ; + bool for_ordinality() const; + void set_for_ordinality(bool value); + + private: + bool _internal_for_ordinality() const; + void _internal_set_for_ordinality(bool value); + + public: + // bool is_not_null = 4 [json_name = "is_not_null"]; + void clear_is_not_null() ; + bool is_not_null() const; + void set_is_not_null(bool value); + + private: + bool _internal_is_not_null() const; + void _internal_set_is_not_null(bool value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTableFuncCol) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 3, + 42, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr colname_; + ::pg_query::TypeName* type_name_; + ::pg_query::Node* colexpr_; + ::pg_query::Node* coldefexpr_; + bool for_ordinality_; + bool is_not_null_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; + union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class A_Indices final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Indices) */ { +class RangeTableSample final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableSample) */ { public: - inline A_Indices() : A_Indices(nullptr) {} - ~A_Indices() override; - explicit PROTOBUF_CONSTEXPR A_Indices(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeTableSample() : RangeTableSample(nullptr) {} + ~RangeTableSample() override; + template + explicit PROTOBUF_CONSTEXPR RangeTableSample(::google::protobuf::internal::ConstantInitialized); - A_Indices(const A_Indices& from); - A_Indices(A_Indices&& from) noexcept - : A_Indices() { + inline RangeTableSample(const RangeTableSample& from) + : RangeTableSample(nullptr, from) {} + RangeTableSample(RangeTableSample&& from) noexcept + : RangeTableSample() { *this = ::std::move(from); } - inline A_Indices& operator=(const A_Indices& from) { + inline RangeTableSample& operator=(const RangeTableSample& from) { CopyFrom(from); return *this; } - inline A_Indices& operator=(A_Indices&& from) noexcept { + inline RangeTableSample& operator=(RangeTableSample&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48785,185 +63480,247 @@ class A_Indices final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const A_Indices& default_instance() { + static const RangeTableSample& default_instance() { return *internal_default_instance(); } - static inline const A_Indices* internal_default_instance() { - return reinterpret_cast( - &_A_Indices_default_instance_); + static inline const RangeTableSample* internal_default_instance() { + return reinterpret_cast( + &_RangeTableSample_default_instance_); } static constexpr int kIndexInFileMessages = - 187; + 96; - friend void swap(A_Indices& a, A_Indices& b) { + friend void swap(RangeTableSample& a, RangeTableSample& b) { a.Swap(&b); } - inline void Swap(A_Indices* other) { + inline void Swap(RangeTableSample* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(A_Indices* other) { + void UnsafeArenaSwap(RangeTableSample* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - A_Indices* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTableSample* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const A_Indices& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const A_Indices& from) { - A_Indices::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTableSample& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTableSample& from) { + RangeTableSample::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(A_Indices* other); + void InternalSwap(RangeTableSample* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_Indices"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTableSample"; } protected: - explicit A_Indices(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeTableSample(::google::protobuf::Arena* arena); + RangeTableSample(::google::protobuf::Arena* arena, const RangeTableSample& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kLidxFieldNumber = 2, - kUidxFieldNumber = 3, - kIsSliceFieldNumber = 1, + kMethodFieldNumber = 2, + kArgsFieldNumber = 3, + kRelationFieldNumber = 1, + kRepeatableFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.Node lidx = 2 [json_name = "lidx"]; - bool has_lidx() const; + // repeated .pg_query.Node method = 2 [json_name = "method"]; + int method_size() const; private: - bool _internal_has_lidx() const; + int _internal_method_size() const; + public: - void clear_lidx(); - const ::pg_query::Node& lidx() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_lidx(); - ::pg_query::Node* mutable_lidx(); - void set_allocated_lidx(::pg_query::Node* lidx); + void clear_method() ; + ::pg_query::Node* mutable_method(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_method(); private: - const ::pg_query::Node& _internal_lidx() const; - ::pg_query::Node* _internal_mutable_lidx(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_method() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_method(); public: - void unsafe_arena_set_allocated_lidx( - ::pg_query::Node* lidx); - ::pg_query::Node* unsafe_arena_release_lidx(); + const ::pg_query::Node& method(int index) const; + ::pg_query::Node* add_method(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + method() const; + // repeated .pg_query.Node args = 3 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; - // .pg_query.Node uidx = 3 [json_name = "uidx"]; - bool has_uidx() const; + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - bool _internal_has_uidx() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - void clear_uidx(); - const ::pg_query::Node& uidx() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_uidx(); - ::pg_query::Node* mutable_uidx(); - void set_allocated_uidx(::pg_query::Node* uidx); + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::Node& relation() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_relation(); + ::pg_query::Node* mutable_relation(); + void set_allocated_relation(::pg_query::Node* value); + void unsafe_arena_set_allocated_relation(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_relation(); + private: - const ::pg_query::Node& _internal_uidx() const; - ::pg_query::Node* _internal_mutable_uidx(); + const ::pg_query::Node& _internal_relation() const; + ::pg_query::Node* _internal_mutable_relation(); + public: - void unsafe_arena_set_allocated_uidx( - ::pg_query::Node* uidx); - ::pg_query::Node* unsafe_arena_release_uidx(); + // .pg_query.Node repeatable = 4 [json_name = "repeatable"]; + bool has_repeatable() const; + void clear_repeatable() ; + const ::pg_query::Node& repeatable() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); + ::pg_query::Node* mutable_repeatable(); + void set_allocated_repeatable(::pg_query::Node* value); + void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_repeatable(); - // bool is_slice = 1 [json_name = "is_slice"]; - void clear_is_slice(); - bool is_slice() const; - void set_is_slice(bool value); private: - bool _internal_is_slice() const; - void _internal_set_is_slice(bool value); + const ::pg_query::Node& _internal_repeatable() const; + ::pg_query::Node* _internal_mutable_repeatable(); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.A_Indices) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTableSample) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* lidx_; - ::pg_query::Node* uidx_; - bool is_slice_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > method_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* relation_; + ::pg_query::Node* repeatable_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class A_Indirection final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.A_Indirection) */ { +class RangeTblEntry final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblEntry) */ { public: - inline A_Indirection() : A_Indirection(nullptr) {} - ~A_Indirection() override; - explicit PROTOBUF_CONSTEXPR A_Indirection(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeTblEntry() : RangeTblEntry(nullptr) {} + ~RangeTblEntry() override; + template + explicit PROTOBUF_CONSTEXPR RangeTblEntry(::google::protobuf::internal::ConstantInitialized); - A_Indirection(const A_Indirection& from); - A_Indirection(A_Indirection&& from) noexcept - : A_Indirection() { + inline RangeTblEntry(const RangeTblEntry& from) + : RangeTblEntry(nullptr, from) {} + RangeTblEntry(RangeTblEntry&& from) noexcept + : RangeTblEntry() { *this = ::std::move(from); } - inline A_Indirection& operator=(const A_Indirection& from) { + inline RangeTblEntry& operator=(const RangeTblEntry& from) { CopyFrom(from); return *this; } - inline A_Indirection& operator=(A_Indirection&& from) noexcept { + inline RangeTblEntry& operator=(RangeTblEntry&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -48973,342 +63730,665 @@ class A_Indirection final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const A_Indirection& default_instance() { + static const RangeTblEntry& default_instance() { return *internal_default_instance(); } - static inline const A_Indirection* internal_default_instance() { - return reinterpret_cast( - &_A_Indirection_default_instance_); + static inline const RangeTblEntry* internal_default_instance() { + return reinterpret_cast( + &_RangeTblEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 188; + 109; - friend void swap(A_Indirection& a, A_Indirection& b) { + friend void swap(RangeTblEntry& a, RangeTblEntry& b) { a.Swap(&b); } - inline void Swap(A_Indirection* other) { + inline void Swap(RangeTblEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(A_Indirection* other) { + void UnsafeArenaSwap(RangeTblEntry* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - A_Indirection* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTblEntry* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const A_Indirection& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const A_Indirection& from) { - A_Indirection::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTblEntry& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTblEntry& from) { + RangeTblEntry::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(A_Indirection* other); + void InternalSwap(RangeTblEntry* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_Indirection"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTblEntry"; } protected: - explicit A_Indirection(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeTblEntry(::google::protobuf::Arena* arena); + RangeTblEntry(::google::protobuf::Arena* arena, const RangeTblEntry& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIndirectionFieldNumber = 2, - kArgFieldNumber = 1, + kJoinaliasvarsFieldNumber = 14, + kJoinleftcolsFieldNumber = 15, + kJoinrightcolsFieldNumber = 16, + kFunctionsFieldNumber = 18, + kValuesListsFieldNumber = 21, + kColtypesFieldNumber = 25, + kColtypmodsFieldNumber = 26, + kColcollationsFieldNumber = 27, + kSecurityQualsFieldNumber = 32, + kRelkindFieldNumber = 6, + kCtenameFieldNumber = 22, + kEnrnameFieldNumber = 28, + kAliasFieldNumber = 1, + kErefFieldNumber = 2, + kTablesampleFieldNumber = 9, + kSubqueryFieldNumber = 10, + kJoinUsingAliasFieldNumber = 17, + kTablefuncFieldNumber = 20, + kRtekindFieldNumber = 3, + kRelidFieldNumber = 4, + kRellockmodeFieldNumber = 7, + kPerminfoindexFieldNumber = 8, + kJointypeFieldNumber = 12, + kJoinmergedcolsFieldNumber = 13, + kInhFieldNumber = 5, + kSecurityBarrierFieldNumber = 11, + kFuncordinalityFieldNumber = 19, + kSelfReferenceFieldNumber = 24, + kCtelevelsupFieldNumber = 23, + kEnrtuplesFieldNumber = 29, + kLateralFieldNumber = 30, + kInFromClFieldNumber = 31, }; - // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; - int indirection_size() const; + // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"]; + int joinaliasvars_size() const; + private: + int _internal_joinaliasvars_size() const; + + public: + void clear_joinaliasvars() ; + ::pg_query::Node* mutable_joinaliasvars(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_joinaliasvars(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinaliasvars() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinaliasvars(); + public: + const ::pg_query::Node& joinaliasvars(int index) const; + ::pg_query::Node* add_joinaliasvars(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + joinaliasvars() const; + // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"]; + int joinleftcols_size() const; + private: + int _internal_joinleftcols_size() const; + + public: + void clear_joinleftcols() ; + ::pg_query::Node* mutable_joinleftcols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_joinleftcols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinleftcols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinleftcols(); + public: + const ::pg_query::Node& joinleftcols(int index) const; + ::pg_query::Node* add_joinleftcols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + joinleftcols() const; + // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"]; + int joinrightcols_size() const; + private: + int _internal_joinrightcols_size() const; + + public: + void clear_joinrightcols() ; + ::pg_query::Node* mutable_joinrightcols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_joinrightcols(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_joinrightcols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_joinrightcols(); + public: + const ::pg_query::Node& joinrightcols(int index) const; + ::pg_query::Node* add_joinrightcols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + joinrightcols() const; + // repeated .pg_query.Node functions = 18 [json_name = "functions"]; + int functions_size() const; + private: + int _internal_functions_size() const; + + public: + void clear_functions() ; + ::pg_query::Node* mutable_functions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_functions(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_functions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_functions(); + public: + const ::pg_query::Node& functions(int index) const; + ::pg_query::Node* add_functions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + functions() const; + // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"]; + int values_lists_size() const; + private: + int _internal_values_lists_size() const; + + public: + void clear_values_lists() ; + ::pg_query::Node* mutable_values_lists(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_values_lists(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); + public: + const ::pg_query::Node& values_lists(int index) const; + ::pg_query::Node* add_values_lists(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + values_lists() const; + // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"]; + int coltypes_size() const; + private: + int _internal_coltypes_size() const; + + public: + void clear_coltypes() ; + ::pg_query::Node* mutable_coltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypes(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); + public: + const ::pg_query::Node& coltypes(int index) const; + ::pg_query::Node* add_coltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypes() const; + // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"]; + int coltypmods_size() const; + private: + int _internal_coltypmods_size() const; + + public: + void clear_coltypmods() ; + ::pg_query::Node* mutable_coltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypmods(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); + public: + const ::pg_query::Node& coltypmods(int index) const; + ::pg_query::Node* add_coltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypmods() const; + // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"]; + int colcollations_size() const; + private: + int _internal_colcollations_size() const; + + public: + void clear_colcollations() ; + ::pg_query::Node* mutable_colcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colcollations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); + public: + const ::pg_query::Node& colcollations(int index) const; + ::pg_query::Node* add_colcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colcollations() const; + // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; + int security_quals_size() const; + private: + int _internal_security_quals_size() const; + + public: + void clear_security_quals() ; + ::pg_query::Node* mutable_security_quals(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_security_quals(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_security_quals() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_security_quals(); + public: + const ::pg_query::Node& security_quals(int index) const; + ::pg_query::Node* add_security_quals(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + security_quals() const; + // string relkind = 6 [json_name = "relkind"]; + void clear_relkind() ; + const std::string& relkind() const; + template + void set_relkind(Arg_&& arg, Args_... args); + std::string* mutable_relkind(); + PROTOBUF_NODISCARD std::string* release_relkind(); + void set_allocated_relkind(std::string* value); + + private: + const std::string& _internal_relkind() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relkind( + const std::string& value); + std::string* _internal_mutable_relkind(); + + public: + // string ctename = 22 [json_name = "ctename"]; + void clear_ctename() ; + const std::string& ctename() const; + template + void set_ctename(Arg_&& arg, Args_... args); + std::string* mutable_ctename(); + PROTOBUF_NODISCARD std::string* release_ctename(); + void set_allocated_ctename(std::string* value); + + private: + const std::string& _internal_ctename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename( + const std::string& value); + std::string* _internal_mutable_ctename(); + + public: + // string enrname = 28 [json_name = "enrname"]; + void clear_enrname() ; + const std::string& enrname() const; + template + void set_enrname(Arg_&& arg, Args_... args); + std::string* mutable_enrname(); + PROTOBUF_NODISCARD std::string* release_enrname(); + void set_allocated_enrname(std::string* value); + + private: + const std::string& _internal_enrname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_enrname( + const std::string& value); + std::string* _internal_mutable_enrname(); + + public: + // .pg_query.Alias alias = 1 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); + + private: + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + + public: + // .pg_query.Alias eref = 2 [json_name = "eref"]; + bool has_eref() const; + void clear_eref() ; + const ::pg_query::Alias& eref() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_eref(); + ::pg_query::Alias* mutable_eref(); + void set_allocated_eref(::pg_query::Alias* value); + void unsafe_arena_set_allocated_eref(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_eref(); + + private: + const ::pg_query::Alias& _internal_eref() const; + ::pg_query::Alias* _internal_mutable_eref(); + + public: + // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"]; + bool has_tablesample() const; + void clear_tablesample() ; + const ::pg_query::TableSampleClause& tablesample() const; + PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_tablesample(); + ::pg_query::TableSampleClause* mutable_tablesample(); + void set_allocated_tablesample(::pg_query::TableSampleClause* value); + void unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value); + ::pg_query::TableSampleClause* unsafe_arena_release_tablesample(); + + private: + const ::pg_query::TableSampleClause& _internal_tablesample() const; + ::pg_query::TableSampleClause* _internal_mutable_tablesample(); + + public: + // .pg_query.Query subquery = 10 [json_name = "subquery"]; + bool has_subquery() const; + void clear_subquery() ; + const ::pg_query::Query& subquery() const; + PROTOBUF_NODISCARD ::pg_query::Query* release_subquery(); + ::pg_query::Query* mutable_subquery(); + void set_allocated_subquery(::pg_query::Query* value); + void unsafe_arena_set_allocated_subquery(::pg_query::Query* value); + ::pg_query::Query* unsafe_arena_release_subquery(); + + private: + const ::pg_query::Query& _internal_subquery() const; + ::pg_query::Query* _internal_mutable_subquery(); + + public: + // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"]; + bool has_join_using_alias() const; + void clear_join_using_alias() ; + const ::pg_query::Alias& join_using_alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); + ::pg_query::Alias* mutable_join_using_alias(); + void set_allocated_join_using_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_join_using_alias(); + private: - int _internal_indirection_size() const; + const ::pg_query::Alias& _internal_join_using_alias() const; + ::pg_query::Alias* _internal_mutable_join_using_alias(); + public: - void clear_indirection(); - ::pg_query::Node* mutable_indirection(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_indirection(); + // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"]; + bool has_tablefunc() const; + void clear_tablefunc() ; + const ::pg_query::TableFunc& tablefunc() const; + PROTOBUF_NODISCARD ::pg_query::TableFunc* release_tablefunc(); + ::pg_query::TableFunc* mutable_tablefunc(); + void set_allocated_tablefunc(::pg_query::TableFunc* value); + void unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value); + ::pg_query::TableFunc* unsafe_arena_release_tablefunc(); + private: - const ::pg_query::Node& _internal_indirection(int index) const; - ::pg_query::Node* _internal_add_indirection(); + const ::pg_query::TableFunc& _internal_tablefunc() const; + ::pg_query::TableFunc* _internal_mutable_tablefunc(); + public: - const ::pg_query::Node& indirection(int index) const; - ::pg_query::Node* add_indirection(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - indirection() const; + // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"]; + void clear_rtekind() ; + ::pg_query::RTEKind rtekind() const; + void set_rtekind(::pg_query::RTEKind value); - // .pg_query.Node arg = 1 [json_name = "arg"]; - bool has_arg() const; private: - bool _internal_has_arg() const; + ::pg_query::RTEKind _internal_rtekind() const; + void _internal_set_rtekind(::pg_query::RTEKind value); + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + // uint32 relid = 4 [json_name = "relid"]; + void clear_relid() ; + ::uint32_t relid() const; + void set_relid(::uint32_t value); + private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + ::uint32_t _internal_relid() const; + void _internal_set_relid(::uint32_t value); + public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + // int32 rellockmode = 7 [json_name = "rellockmode"]; + void clear_rellockmode() ; + ::int32_t rellockmode() const; + void set_rellockmode(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.A_Indirection) - private: - class _Internal; + private: + ::int32_t _internal_rellockmode() const; + void _internal_set_rellockmode(::int32_t value); - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > indirection_; - ::pg_query::Node* arg_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- + public: + // uint32 perminfoindex = 8 [json_name = "perminfoindex"]; + void clear_perminfoindex() ; + ::uint32_t perminfoindex() const; + void set_perminfoindex(::uint32_t value); -class A_ArrayExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.A_ArrayExpr) */ { - public: - inline A_ArrayExpr() : A_ArrayExpr(nullptr) {} - ~A_ArrayExpr() override; - explicit PROTOBUF_CONSTEXPR A_ArrayExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + private: + ::uint32_t _internal_perminfoindex() const; + void _internal_set_perminfoindex(::uint32_t value); - A_ArrayExpr(const A_ArrayExpr& from); - A_ArrayExpr(A_ArrayExpr&& from) noexcept - : A_ArrayExpr() { - *this = ::std::move(from); - } + public: + // .pg_query.JoinType jointype = 12 [json_name = "jointype"]; + void clear_jointype() ; + ::pg_query::JoinType jointype() const; + void set_jointype(::pg_query::JoinType value); - inline A_ArrayExpr& operator=(const A_ArrayExpr& from) { - CopyFrom(from); - return *this; - } - inline A_ArrayExpr& operator=(A_ArrayExpr&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } + private: + ::pg_query::JoinType _internal_jointype() const; + void _internal_set_jointype(::pg_query::JoinType value); - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const A_ArrayExpr& default_instance() { - return *internal_default_instance(); - } - static inline const A_ArrayExpr* internal_default_instance() { - return reinterpret_cast( - &_A_ArrayExpr_default_instance_); - } - static constexpr int kIndexInFileMessages = - 189; + public: + // int32 joinmergedcols = 13 [json_name = "joinmergedcols"]; + void clear_joinmergedcols() ; + ::int32_t joinmergedcols() const; + void set_joinmergedcols(::int32_t value); - friend void swap(A_ArrayExpr& a, A_ArrayExpr& b) { - a.Swap(&b); - } - inline void Swap(A_ArrayExpr* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(A_ArrayExpr* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } + private: + ::int32_t _internal_joinmergedcols() const; + void _internal_set_joinmergedcols(::int32_t value); - // implements Message ---------------------------------------------- + public: + // bool inh = 5 [json_name = "inh"]; + void clear_inh() ; + bool inh() const; + void set_inh(bool value); - A_ArrayExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const A_ArrayExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const A_ArrayExpr& from) { - A_ArrayExpr::MergeImpl(*this, from); - } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; + bool _internal_inh() const; + void _internal_set_inh(bool value); - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + public: + // bool security_barrier = 11 [json_name = "security_barrier"]; + void clear_security_barrier() ; + bool security_barrier() const; + void set_security_barrier(bool value); private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(A_ArrayExpr* other); + bool _internal_security_barrier() const; + void _internal_set_security_barrier(bool value); - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.A_ArrayExpr"; - } - protected: - explicit A_ArrayExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); public: + // bool funcordinality = 19 [json_name = "funcordinality"]; + void clear_funcordinality() ; + bool funcordinality() const; + void set_funcordinality(bool value); - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + private: + bool _internal_funcordinality() const; + void _internal_set_funcordinality(bool value); - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + public: + // bool self_reference = 24 [json_name = "self_reference"]; + void clear_self_reference() ; + bool self_reference() const; + void set_self_reference(bool value); - // nested types ---------------------------------------------------- + private: + bool _internal_self_reference() const; + void _internal_set_self_reference(bool value); - // accessors ------------------------------------------------------- + public: + // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"]; + void clear_ctelevelsup() ; + ::uint32_t ctelevelsup() const; + void set_ctelevelsup(::uint32_t value); - enum : int { - kElementsFieldNumber = 1, - kLocationFieldNumber = 2, - }; - // repeated .pg_query.Node elements = 1 [json_name = "elements"]; - int elements_size() const; private: - int _internal_elements_size() const; + ::uint32_t _internal_ctelevelsup() const; + void _internal_set_ctelevelsup(::uint32_t value); + public: - void clear_elements(); - ::pg_query::Node* mutable_elements(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_elements(); + // double enrtuples = 29 [json_name = "enrtuples"]; + void clear_enrtuples() ; + double enrtuples() const; + void set_enrtuples(double value); + private: - const ::pg_query::Node& _internal_elements(int index) const; - ::pg_query::Node* _internal_add_elements(); + double _internal_enrtuples() const; + void _internal_set_enrtuples(double value); + public: - const ::pg_query::Node& elements(int index) const; - ::pg_query::Node* add_elements(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - elements() const; + // bool lateral = 30 [json_name = "lateral"]; + void clear_lateral() ; + bool lateral() const; + void set_lateral(bool value); - // int32 location = 2 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_lateral() const; + void _internal_set_lateral(bool value); + public: + // bool in_from_cl = 31 [json_name = "inFromCl"]; + void clear_in_from_cl() ; + bool in_from_cl() const; + void set_in_from_cl(bool value); - // @@protoc_insertion_point(class_scope:pg_query.A_ArrayExpr) + private: + bool _internal_in_from_cl() const; + void _internal_set_in_from_cl(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTblEntry) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 32, 15, + 84, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > elements_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinaliasvars_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinleftcols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > joinrightcols_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > functions_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > security_quals_; + ::google::protobuf::internal::ArenaStringPtr relkind_; + ::google::protobuf::internal::ArenaStringPtr ctename_; + ::google::protobuf::internal::ArenaStringPtr enrname_; + ::pg_query::Alias* alias_; + ::pg_query::Alias* eref_; + ::pg_query::TableSampleClause* tablesample_; + ::pg_query::Query* subquery_; + ::pg_query::Alias* join_using_alias_; + ::pg_query::TableFunc* tablefunc_; + int rtekind_; + ::uint32_t relid_; + ::int32_t rellockmode_; + ::uint32_t perminfoindex_; + int jointype_; + ::int32_t joinmergedcols_; + bool inh_; + bool security_barrier_; + bool funcordinality_; + bool self_reference_; + ::uint32_t ctelevelsup_; + double enrtuples_; + bool lateral_; + bool in_from_cl_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ResTarget final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ResTarget) */ { +class RangeTblFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblFunction) */ { public: - inline ResTarget() : ResTarget(nullptr) {} - ~ResTarget() override; - explicit PROTOBUF_CONSTEXPR ResTarget(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeTblFunction() : RangeTblFunction(nullptr) {} + ~RangeTblFunction() override; + template + explicit PROTOBUF_CONSTEXPR RangeTblFunction(::google::protobuf::internal::ConstantInitialized); - ResTarget(const ResTarget& from); - ResTarget(ResTarget&& from) noexcept - : ResTarget() { + inline RangeTblFunction(const RangeTblFunction& from) + : RangeTblFunction(nullptr, from) {} + RangeTblFunction(RangeTblFunction&& from) noexcept + : RangeTblFunction() { *this = ::std::move(from); } - inline ResTarget& operator=(const ResTarget& from) { + inline RangeTblFunction& operator=(const RangeTblFunction& from) { CopyFrom(from); return *this; } - inline ResTarget& operator=(ResTarget&& from) noexcept { + inline RangeTblFunction& operator=(RangeTblFunction&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -49318,201 +64398,291 @@ class ResTarget final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ResTarget& default_instance() { + static const RangeTblFunction& default_instance() { return *internal_default_instance(); } - static inline const ResTarget* internal_default_instance() { - return reinterpret_cast( - &_ResTarget_default_instance_); + static inline const RangeTblFunction* internal_default_instance() { + return reinterpret_cast( + &_RangeTblFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 190; + 111; - friend void swap(ResTarget& a, ResTarget& b) { + friend void swap(RangeTblFunction& a, RangeTblFunction& b) { a.Swap(&b); } - inline void Swap(ResTarget* other) { + inline void Swap(RangeTblFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ResTarget* other) { + void UnsafeArenaSwap(RangeTblFunction* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ResTarget* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeTblFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ResTarget& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ResTarget& from) { - ResTarget::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeTblFunction& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeTblFunction& from) { + RangeTblFunction::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ResTarget* other); + void InternalSwap(RangeTblFunction* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ResTarget"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeTblFunction"; } protected: - explicit ResTarget(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeTblFunction(::google::protobuf::Arena* arena); + RangeTblFunction(::google::protobuf::Arena* arena, const RangeTblFunction& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIndirectionFieldNumber = 2, - kNameFieldNumber = 1, - kValFieldNumber = 3, - kLocationFieldNumber = 4, + kFunccolnamesFieldNumber = 3, + kFunccoltypesFieldNumber = 4, + kFunccoltypmodsFieldNumber = 5, + kFunccolcollationsFieldNumber = 6, + kFuncparamsFieldNumber = 7, + kFuncexprFieldNumber = 1, + kFunccolcountFieldNumber = 2, }; - // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; - int indirection_size() const; + // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; + int funccolnames_size() const; private: - int _internal_indirection_size() const; + int _internal_funccolnames_size() const; + public: - void clear_indirection(); - ::pg_query::Node* mutable_indirection(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_indirection(); + void clear_funccolnames() ; + ::pg_query::Node* mutable_funccolnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccolnames(); private: - const ::pg_query::Node& _internal_indirection(int index) const; - ::pg_query::Node* _internal_add_indirection(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolnames(); public: - const ::pg_query::Node& indirection(int index) const; - ::pg_query::Node* add_indirection(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - indirection() const; + const ::pg_query::Node& funccolnames(int index) const; + ::pg_query::Node* add_funccolnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccolnames() const; + // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; + int funccoltypes_size() const; + private: + int _internal_funccoltypes_size() const; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_funccoltypes() ; + ::pg_query::Node* mutable_funccoltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccoltypes(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypes(); public: + const ::pg_query::Node& funccoltypes(int index) const; + ::pg_query::Node* add_funccoltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccoltypes() const; + // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; + int funccoltypmods_size() const; + private: + int _internal_funccoltypmods_size() const; - // .pg_query.Node val = 3 [json_name = "val"]; - bool has_val() const; + public: + void clear_funccoltypmods() ; + ::pg_query::Node* mutable_funccoltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccoltypmods(); private: - bool _internal_has_val() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccoltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccoltypmods(); public: - void clear_val(); - const ::pg_query::Node& val() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_val(); - ::pg_query::Node* mutable_val(); - void set_allocated_val(::pg_query::Node* val); + const ::pg_query::Node& funccoltypmods(int index) const; + ::pg_query::Node* add_funccoltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccoltypmods() const; + // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; + int funccolcollations_size() const; private: - const ::pg_query::Node& _internal_val() const; - ::pg_query::Node* _internal_mutable_val(); + int _internal_funccolcollations_size() const; + public: - void unsafe_arena_set_allocated_val( - ::pg_query::Node* val); - ::pg_query::Node* unsafe_arena_release_val(); + void clear_funccolcollations() ; + ::pg_query::Node* mutable_funccolcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_funccolcollations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_funccolcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_funccolcollations(); + public: + const ::pg_query::Node& funccolcollations(int index) const; + ::pg_query::Node* add_funccolcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + funccolcollations() const; + // repeated uint64 funcparams = 7 [json_name = "funcparams"]; + int funcparams_size() const; + private: + int _internal_funcparams_size() const; + + public: + void clear_funcparams() ; + ::uint64_t funcparams(int index) const; + void set_funcparams(int index, ::uint64_t value); + void add_funcparams(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& funcparams() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_funcparams(); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_funcparams() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_funcparams(); + public: + // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; + bool has_funcexpr() const; + void clear_funcexpr() ; + const ::pg_query::Node& funcexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_funcexpr(); + ::pg_query::Node* mutable_funcexpr(); + void set_allocated_funcexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_funcexpr(); - // @@protoc_insertion_point(class_scope:pg_query.ResTarget) + private: + const ::pg_query::Node& _internal_funcexpr() const; + ::pg_query::Node* _internal_mutable_funcexpr(); + + public: + // int32 funccolcount = 2 [json_name = "funccolcount"]; + void clear_funccolcount() ; + ::int32_t funccolcount() const; + void set_funccolcount(::int32_t value); + + private: + ::int32_t _internal_funccolcount() const; + void _internal_set_funccolcount(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeTblFunction) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > indirection_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* val_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccoltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > funccolcollations_; + ::google::protobuf::RepeatedField<::uint64_t> funcparams_; + mutable ::google::protobuf::internal::CachedSize _funcparams_cached_byte_size_; + ::pg_query::Node* funcexpr_; + ::int32_t funccolcount_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class MultiAssignRef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.MultiAssignRef) */ { +class RangeVar final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeVar) */ { public: - inline MultiAssignRef() : MultiAssignRef(nullptr) {} - ~MultiAssignRef() override; - explicit PROTOBUF_CONSTEXPR MultiAssignRef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RangeVar() : RangeVar(nullptr) {} + ~RangeVar() override; + template + explicit PROTOBUF_CONSTEXPR RangeVar(::google::protobuf::internal::ConstantInitialized); - MultiAssignRef(const MultiAssignRef& from); - MultiAssignRef(MultiAssignRef&& from) noexcept - : MultiAssignRef() { + inline RangeVar(const RangeVar& from) + : RangeVar(nullptr, from) {} + RangeVar(RangeVar&& from) noexcept + : RangeVar() { *this = ::std::move(from); } - inline MultiAssignRef& operator=(const MultiAssignRef& from) { + inline RangeVar& operator=(const RangeVar& from) { CopyFrom(from); return *this; } - inline MultiAssignRef& operator=(MultiAssignRef&& from) noexcept { + inline RangeVar& operator=(RangeVar&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -49522,176 +64692,274 @@ class MultiAssignRef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MultiAssignRef& default_instance() { + static const RangeVar& default_instance() { return *internal_default_instance(); } - static inline const MultiAssignRef* internal_default_instance() { - return reinterpret_cast( - &_MultiAssignRef_default_instance_); + static inline const RangeVar* internal_default_instance() { + return reinterpret_cast( + &_RangeVar_default_instance_); } static constexpr int kIndexInFileMessages = - 191; + 13; - friend void swap(MultiAssignRef& a, MultiAssignRef& b) { + friend void swap(RangeVar& a, RangeVar& b) { a.Swap(&b); } - inline void Swap(MultiAssignRef* other) { + inline void Swap(RangeVar* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MultiAssignRef* other) { + void UnsafeArenaSwap(RangeVar* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - MultiAssignRef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RangeVar* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MultiAssignRef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MultiAssignRef& from) { - MultiAssignRef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RangeVar& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RangeVar& from) { + RangeVar::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MultiAssignRef* other); + void InternalSwap(RangeVar* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.MultiAssignRef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RangeVar"; } protected: - explicit MultiAssignRef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RangeVar(::google::protobuf::Arena* arena); + RangeVar(::google::protobuf::Arena* arena, const RangeVar& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSourceFieldNumber = 1, - kColnoFieldNumber = 2, - kNcolumnsFieldNumber = 3, + kCatalognameFieldNumber = 1, + kSchemanameFieldNumber = 2, + kRelnameFieldNumber = 3, + kRelpersistenceFieldNumber = 5, + kAliasFieldNumber = 6, + kInhFieldNumber = 4, + kLocationFieldNumber = 7, }; - // .pg_query.Node source = 1 [json_name = "source"]; - bool has_source() const; + // string catalogname = 1 [json_name = "catalogname"]; + void clear_catalogname() ; + const std::string& catalogname() const; + template + void set_catalogname(Arg_&& arg, Args_... args); + std::string* mutable_catalogname(); + PROTOBUF_NODISCARD std::string* release_catalogname(); + void set_allocated_catalogname(std::string* value); + private: - bool _internal_has_source() const; + const std::string& _internal_catalogname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_catalogname( + const std::string& value); + std::string* _internal_mutable_catalogname(); + public: - void clear_source(); - const ::pg_query::Node& source() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_source(); - ::pg_query::Node* mutable_source(); - void set_allocated_source(::pg_query::Node* source); + // string schemaname = 2 [json_name = "schemaname"]; + void clear_schemaname() ; + const std::string& schemaname() const; + template + void set_schemaname(Arg_&& arg, Args_... args); + std::string* mutable_schemaname(); + PROTOBUF_NODISCARD std::string* release_schemaname(); + void set_allocated_schemaname(std::string* value); + private: - const ::pg_query::Node& _internal_source() const; - ::pg_query::Node* _internal_mutable_source(); + const std::string& _internal_schemaname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_schemaname( + const std::string& value); + std::string* _internal_mutable_schemaname(); + public: - void unsafe_arena_set_allocated_source( - ::pg_query::Node* source); - ::pg_query::Node* unsafe_arena_release_source(); + // string relname = 3 [json_name = "relname"]; + void clear_relname() ; + const std::string& relname() const; + template + void set_relname(Arg_&& arg, Args_... args); + std::string* mutable_relname(); + PROTOBUF_NODISCARD std::string* release_relname(); + void set_allocated_relname(std::string* value); - // int32 colno = 2 [json_name = "colno"]; - void clear_colno(); - int32_t colno() const; - void set_colno(int32_t value); private: - int32_t _internal_colno() const; - void _internal_set_colno(int32_t value); + const std::string& _internal_relname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( + const std::string& value); + std::string* _internal_mutable_relname(); + public: + // string relpersistence = 5 [json_name = "relpersistence"]; + void clear_relpersistence() ; + const std::string& relpersistence() const; + template + void set_relpersistence(Arg_&& arg, Args_... args); + std::string* mutable_relpersistence(); + PROTOBUF_NODISCARD std::string* release_relpersistence(); + void set_allocated_relpersistence(std::string* value); + + private: + const std::string& _internal_relpersistence() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relpersistence( + const std::string& value); + std::string* _internal_mutable_relpersistence(); + + public: + // .pg_query.Alias alias = 6 [json_name = "alias"]; + bool has_alias() const; + void clear_alias() ; + const ::pg_query::Alias& alias() const; + PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); + ::pg_query::Alias* mutable_alias(); + void set_allocated_alias(::pg_query::Alias* value); + void unsafe_arena_set_allocated_alias(::pg_query::Alias* value); + ::pg_query::Alias* unsafe_arena_release_alias(); - // int32 ncolumns = 3 [json_name = "ncolumns"]; - void clear_ncolumns(); - int32_t ncolumns() const; - void set_ncolumns(int32_t value); private: - int32_t _internal_ncolumns() const; - void _internal_set_ncolumns(int32_t value); + const ::pg_query::Alias& _internal_alias() const; + ::pg_query::Alias* _internal_mutable_alias(); + public: + // bool inh = 4 [json_name = "inh"]; + void clear_inh() ; + bool inh() const; + void set_inh(bool value); - // @@protoc_insertion_point(class_scope:pg_query.MultiAssignRef) + private: + bool _internal_inh() const; + void _internal_set_inh(bool value); + + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RangeVar) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 1, + 68, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* source_; - int32_t colno_; - int32_t ncolumns_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr catalogname_; + ::google::protobuf::internal::ArenaStringPtr schemaname_; + ::google::protobuf::internal::ArenaStringPtr relname_; + ::google::protobuf::internal::ArenaStringPtr relpersistence_; + ::pg_query::Alias* alias_; + bool inh_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TypeCast final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeCast) */ { +class RawStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RawStmt) */ { public: - inline TypeCast() : TypeCast(nullptr) {} - ~TypeCast() override; - explicit PROTOBUF_CONSTEXPR TypeCast(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RawStmt() : RawStmt(nullptr) {} + ~RawStmt() override; + template + explicit PROTOBUF_CONSTEXPR RawStmt(::google::protobuf::internal::ConstantInitialized); - TypeCast(const TypeCast& from); - TypeCast(TypeCast&& from) noexcept - : TypeCast() { + inline RawStmt(const RawStmt& from) + : RawStmt(nullptr, from) {} + RawStmt(RawStmt&& from) noexcept + : RawStmt() { *this = ::std::move(from); } - inline TypeCast& operator=(const TypeCast& from) { + inline RawStmt& operator=(const RawStmt& from) { CopyFrom(from); return *this; } - inline TypeCast& operator=(TypeCast&& from) noexcept { + inline RawStmt& operator=(RawStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -49701,185 +64969,202 @@ class TypeCast final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TypeCast& default_instance() { + static const RawStmt& default_instance() { return *internal_default_instance(); } - static inline const TypeCast* internal_default_instance() { - return reinterpret_cast( - &_TypeCast_default_instance_); + static inline const RawStmt* internal_default_instance() { + return reinterpret_cast( + &_RawStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 192; + 142; - friend void swap(TypeCast& a, TypeCast& b) { + friend void swap(RawStmt& a, RawStmt& b) { a.Swap(&b); } - inline void Swap(TypeCast* other) { + inline void Swap(RawStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TypeCast* other) { + void UnsafeArenaSwap(RawStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TypeCast* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RawStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TypeCast& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TypeCast& from) { - TypeCast::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RawStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RawStmt& from) { + RawStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TypeCast* other); + void InternalSwap(RawStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TypeCast"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RawStmt"; } protected: - explicit TypeCast(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RawStmt(::google::protobuf::Arena* arena); + RawStmt(::google::protobuf::Arena* arena, const RawStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgFieldNumber = 1, - kTypeNameFieldNumber = 2, - kLocationFieldNumber = 3, + kStmtFieldNumber = 1, + kStmtLocationFieldNumber = 2, + kStmtLenFieldNumber = 3, }; - // .pg_query.Node arg = 1 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; - public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); - private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); - public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + // .pg_query.Node stmt = 1 [json_name = "stmt"]; + bool has_stmt() const; + void clear_stmt() ; + const ::pg_query::Node& stmt() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_stmt(); + ::pg_query::Node* mutable_stmt(); + void set_allocated_stmt(::pg_query::Node* value); + void unsafe_arena_set_allocated_stmt(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_stmt(); - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; private: - bool _internal_has_type_name() const; + const ::pg_query::Node& _internal_stmt() const; + ::pg_query::Node* _internal_mutable_stmt(); + public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); + // int32 stmt_location = 2 [json_name = "stmt_location"]; + void clear_stmt_location() ; + ::int32_t stmt_location() const; + void set_stmt_location(::int32_t value); + private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + ::int32_t _internal_stmt_location() const; + void _internal_set_stmt_location(::int32_t value); + public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + // int32 stmt_len = 3 [json_name = "stmt_len"]; + void clear_stmt_len() ; + ::int32_t stmt_len() const; + void set_stmt_len(::int32_t value); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_stmt_len() const; + void _internal_set_stmt_len(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.TypeCast) + public: + // @@protoc_insertion_point(class_scope:pg_query.RawStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* arg_; - ::pg_query::TypeName* type_name_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* stmt_; + ::int32_t stmt_location_; + ::int32_t stmt_len_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CollateClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CollateClause) */ { +class ReassignOwnedStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReassignOwnedStmt) */ { public: - inline CollateClause() : CollateClause(nullptr) {} - ~CollateClause() override; - explicit PROTOBUF_CONSTEXPR CollateClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ReassignOwnedStmt() : ReassignOwnedStmt(nullptr) {} + ~ReassignOwnedStmt() override; + template + explicit PROTOBUF_CONSTEXPR ReassignOwnedStmt(::google::protobuf::internal::ConstantInitialized); - CollateClause(const CollateClause& from); - CollateClause(CollateClause&& from) noexcept - : CollateClause() { + inline ReassignOwnedStmt(const ReassignOwnedStmt& from) + : ReassignOwnedStmt(nullptr, from) {} + ReassignOwnedStmt(ReassignOwnedStmt&& from) noexcept + : ReassignOwnedStmt() { *this = ::std::move(from); } - inline CollateClause& operator=(const CollateClause& from) { + inline ReassignOwnedStmt& operator=(const ReassignOwnedStmt& from) { CopyFrom(from); return *this; } - inline CollateClause& operator=(CollateClause&& from) noexcept { + inline ReassignOwnedStmt& operator=(ReassignOwnedStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -49889,185 +65174,198 @@ class CollateClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CollateClause& default_instance() { + static const ReassignOwnedStmt& default_instance() { return *internal_default_instance(); } - static inline const CollateClause* internal_default_instance() { - return reinterpret_cast( - &_CollateClause_default_instance_); + static inline const ReassignOwnedStmt* internal_default_instance() { + return reinterpret_cast( + &_ReassignOwnedStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 193; + 261; - friend void swap(CollateClause& a, CollateClause& b) { + friend void swap(ReassignOwnedStmt& a, ReassignOwnedStmt& b) { a.Swap(&b); } - inline void Swap(CollateClause* other) { + inline void Swap(ReassignOwnedStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CollateClause* other) { + void UnsafeArenaSwap(ReassignOwnedStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CollateClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReassignOwnedStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CollateClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CollateClause& from) { - CollateClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ReassignOwnedStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ReassignOwnedStmt& from) { + ReassignOwnedStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CollateClause* other); + void InternalSwap(ReassignOwnedStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CollateClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ReassignOwnedStmt"; } protected: - explicit CollateClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ReassignOwnedStmt(::google::protobuf::Arena* arena); + ReassignOwnedStmt(::google::protobuf::Arena* arena, const ReassignOwnedStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCollnameFieldNumber = 2, - kArgFieldNumber = 1, - kLocationFieldNumber = 3, + kRolesFieldNumber = 1, + kNewroleFieldNumber = 2, }; - // repeated .pg_query.Node collname = 2 [json_name = "collname"]; - int collname_size() const; - private: - int _internal_collname_size() const; - public: - void clear_collname(); - ::pg_query::Node* mutable_collname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_collname(); + // repeated .pg_query.Node roles = 1 [json_name = "roles"]; + int roles_size() const; private: - const ::pg_query::Node& _internal_collname(int index) const; - ::pg_query::Node* _internal_add_collname(); - public: - const ::pg_query::Node& collname(int index) const; - ::pg_query::Node* add_collname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - collname() const; + int _internal_roles_size() const; - // .pg_query.Node arg = 1 [json_name = "arg"]; - bool has_arg() const; - private: - bool _internal_has_arg() const; public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + void clear_roles() ; + ::pg_query::Node* mutable_roles(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_roles(); private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_roles() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_roles(); public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + const ::pg_query::Node& roles(int index) const; + ::pg_query::Node* add_roles(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + roles() const; + // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; + bool has_newrole() const; + void clear_newrole() ; + const ::pg_query::RoleSpec& newrole() const; + PROTOBUF_NODISCARD ::pg_query::RoleSpec* release_newrole(); + ::pg_query::RoleSpec* mutable_newrole(); + void set_allocated_newrole(::pg_query::RoleSpec* value); + void unsafe_arena_set_allocated_newrole(::pg_query::RoleSpec* value); + ::pg_query::RoleSpec* unsafe_arena_release_newrole(); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + const ::pg_query::RoleSpec& _internal_newrole() const; + ::pg_query::RoleSpec* _internal_mutable_newrole(); - // @@protoc_insertion_point(class_scope:pg_query.CollateClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.ReassignOwnedStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > collname_; - ::pg_query::Node* arg_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > roles_; + ::pg_query::RoleSpec* newrole_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SortBy final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SortBy) */ { +class RefreshMatViewStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RefreshMatViewStmt) */ { public: - inline SortBy() : SortBy(nullptr) {} - ~SortBy() override; - explicit PROTOBUF_CONSTEXPR SortBy(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RefreshMatViewStmt() : RefreshMatViewStmt(nullptr) {} + ~RefreshMatViewStmt() override; + template + explicit PROTOBUF_CONSTEXPR RefreshMatViewStmt(::google::protobuf::internal::ConstantInitialized); - SortBy(const SortBy& from); - SortBy(SortBy&& from) noexcept - : SortBy() { + inline RefreshMatViewStmt(const RefreshMatViewStmt& from) + : RefreshMatViewStmt(nullptr, from) {} + RefreshMatViewStmt(RefreshMatViewStmt&& from) noexcept + : RefreshMatViewStmt() { *this = ::std::move(from); } - inline SortBy& operator=(const SortBy& from) { + inline RefreshMatViewStmt& operator=(const RefreshMatViewStmt& from) { CopyFrom(from); return *this; } - inline SortBy& operator=(SortBy&& from) noexcept { + inline RefreshMatViewStmt& operator=(RefreshMatViewStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -50077,207 +65375,202 @@ class SortBy final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SortBy& default_instance() { + static const RefreshMatViewStmt& default_instance() { return *internal_default_instance(); } - static inline const SortBy* internal_default_instance() { - return reinterpret_cast( - &_SortBy_default_instance_); + static inline const RefreshMatViewStmt* internal_default_instance() { + return reinterpret_cast( + &_RefreshMatViewStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 194; + 248; - friend void swap(SortBy& a, SortBy& b) { + friend void swap(RefreshMatViewStmt& a, RefreshMatViewStmt& b) { a.Swap(&b); } - inline void Swap(SortBy* other) { + inline void Swap(RefreshMatViewStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SortBy* other) { + void UnsafeArenaSwap(RefreshMatViewStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SortBy* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RefreshMatViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SortBy& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SortBy& from) { - SortBy::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RefreshMatViewStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RefreshMatViewStmt& from) { + RefreshMatViewStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SortBy* other); + void InternalSwap(RefreshMatViewStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SortBy"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RefreshMatViewStmt"; } protected: - explicit SortBy(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RefreshMatViewStmt(::google::protobuf::Arena* arena); + RefreshMatViewStmt(::google::protobuf::Arena* arena, const RefreshMatViewStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kUseOpFieldNumber = 4, - kNodeFieldNumber = 1, - kSortbyDirFieldNumber = 2, - kSortbyNullsFieldNumber = 3, - kLocationFieldNumber = 5, + kRelationFieldNumber = 3, + kConcurrentFieldNumber = 1, + kSkipDataFieldNumber = 2, }; - // repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; - int use_op_size() const; - private: - int _internal_use_op_size() const; - public: - void clear_use_op(); - ::pg_query::Node* mutable_use_op(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_use_op(); - private: - const ::pg_query::Node& _internal_use_op(int index) const; - ::pg_query::Node* _internal_add_use_op(); - public: - const ::pg_query::Node& use_op(int index) const; - ::pg_query::Node* add_use_op(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - use_op() const; + // .pg_query.RangeVar relation = 3 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.Node node = 1 [json_name = "node"]; - bool has_node() const; - private: - bool _internal_has_node() const; - public: - void clear_node(); - const ::pg_query::Node& node() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_node(); - ::pg_query::Node* mutable_node(); - void set_allocated_node(::pg_query::Node* node); private: - const ::pg_query::Node& _internal_node() const; - ::pg_query::Node* _internal_mutable_node(); - public: - void unsafe_arena_set_allocated_node( - ::pg_query::Node* node); - ::pg_query::Node* unsafe_arena_release_node(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; - void clear_sortby_dir(); - ::pg_query::SortByDir sortby_dir() const; - void set_sortby_dir(::pg_query::SortByDir value); - private: - ::pg_query::SortByDir _internal_sortby_dir() const; - void _internal_set_sortby_dir(::pg_query::SortByDir value); public: + // bool concurrent = 1 [json_name = "concurrent"]; + void clear_concurrent() ; + bool concurrent() const; + void set_concurrent(bool value); - // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; - void clear_sortby_nulls(); - ::pg_query::SortByNulls sortby_nulls() const; - void set_sortby_nulls(::pg_query::SortByNulls value); private: - ::pg_query::SortByNulls _internal_sortby_nulls() const; - void _internal_set_sortby_nulls(::pg_query::SortByNulls value); + bool _internal_concurrent() const; + void _internal_set_concurrent(bool value); + public: + // bool skip_data = 2 [json_name = "skipData"]; + void clear_skip_data() ; + bool skip_data() const; + void set_skip_data(bool value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_skip_data() const; + void _internal_set_skip_data(bool value); - // @@protoc_insertion_point(class_scope:pg_query.SortBy) + public: + // @@protoc_insertion_point(class_scope:pg_query.RefreshMatViewStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > use_op_; - ::pg_query::Node* node_; - int sortby_dir_; - int sortby_nulls_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::RangeVar* relation_; + bool concurrent_; + bool skip_data_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class WindowDef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowDef) */ { +class ReindexStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReindexStmt) */ { public: - inline WindowDef() : WindowDef(nullptr) {} - ~WindowDef() override; - explicit PROTOBUF_CONSTEXPR WindowDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ReindexStmt() : ReindexStmt(nullptr) {} + ~ReindexStmt() override; + template + explicit PROTOBUF_CONSTEXPR ReindexStmt(::google::protobuf::internal::ConstantInitialized); - WindowDef(const WindowDef& from); - WindowDef(WindowDef&& from) noexcept - : WindowDef() { + inline ReindexStmt(const ReindexStmt& from) + : ReindexStmt(nullptr, from) {} + ReindexStmt(ReindexStmt&& from) noexcept + : ReindexStmt() { *this = ::std::move(from); } - inline WindowDef& operator=(const WindowDef& from) { + inline ReindexStmt& operator=(const ReindexStmt& from) { CopyFrom(from); return *this; } - inline WindowDef& operator=(WindowDef&& from) noexcept { + inline ReindexStmt& operator=(ReindexStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -50287,268 +65580,228 @@ class WindowDef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowDef& default_instance() { + static const ReindexStmt& default_instance() { return *internal_default_instance(); } - static inline const WindowDef* internal_default_instance() { - return reinterpret_cast( - &_WindowDef_default_instance_); + static inline const ReindexStmt* internal_default_instance() { + return reinterpret_cast( + &_ReindexStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 195; + 253; - friend void swap(WindowDef& a, WindowDef& b) { + friend void swap(ReindexStmt& a, ReindexStmt& b) { a.Swap(&b); } - inline void Swap(WindowDef* other) { + inline void Swap(ReindexStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowDef* other) { + void UnsafeArenaSwap(ReindexStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - WindowDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReindexStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const WindowDef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const WindowDef& from) { - WindowDef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ReindexStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ReindexStmt& from) { + ReindexStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(WindowDef* other); + void InternalSwap(ReindexStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.WindowDef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ReindexStmt"; } protected: - explicit WindowDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ReindexStmt(::google::protobuf::Arena* arena); + ReindexStmt(::google::protobuf::Arena* arena, const ReindexStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPartitionClauseFieldNumber = 3, - kOrderClauseFieldNumber = 4, - kNameFieldNumber = 1, - kRefnameFieldNumber = 2, - kStartOffsetFieldNumber = 6, - kEndOffsetFieldNumber = 7, - kFrameOptionsFieldNumber = 5, - kLocationFieldNumber = 8, + kParamsFieldNumber = 4, + kNameFieldNumber = 3, + kRelationFieldNumber = 2, + kKindFieldNumber = 1, }; - // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; - int partition_clause_size() const; - private: - int _internal_partition_clause_size() const; - public: - void clear_partition_clause(); - ::pg_query::Node* mutable_partition_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_partition_clause(); + // repeated .pg_query.Node params = 4 [json_name = "params"]; + int params_size() const; private: - const ::pg_query::Node& _internal_partition_clause(int index) const; - ::pg_query::Node* _internal_add_partition_clause(); - public: - const ::pg_query::Node& partition_clause(int index) const; - ::pg_query::Node* add_partition_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - partition_clause() const; + int _internal_params_size() const; - // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; - int order_clause_size() const; - private: - int _internal_order_clause_size() const; public: - void clear_order_clause(); - ::pg_query::Node* mutable_order_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_order_clause(); + void clear_params() ; + ::pg_query::Node* mutable_params(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_params(); private: - const ::pg_query::Node& _internal_order_clause(int index) const; - ::pg_query::Node* _internal_add_order_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_params() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_params(); public: - const ::pg_query::Node& order_clause(int index) const; - ::pg_query::Node* add_order_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - order_clause() const; - - // string name = 1 [json_name = "name"]; - void clear_name(); + const ::pg_query::Node& params(int index) const; + ::pg_query::Node* add_params(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + params() const; + // string name = 3 [json_name = "name"]; + void clear_name() ; const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); + template + void set_name(Arg_&& arg, Args_... args); std::string* mutable_name(); PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + void set_allocated_name(std::string* value); + private: const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); std::string* _internal_mutable_name(); - public: - // string refname = 2 [json_name = "refname"]; - void clear_refname(); - const std::string& refname() const; - template - void set_refname(ArgT0&& arg0, ArgT... args); - std::string* mutable_refname(); - PROTOBUF_NODISCARD std::string* release_refname(); - void set_allocated_refname(std::string* refname); - private: - const std::string& _internal_refname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname(const std::string& value); - std::string* _internal_mutable_refname(); public: + // .pg_query.RangeVar relation = 2 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; - bool has_start_offset() const; - private: - bool _internal_has_start_offset() const; - public: - void clear_start_offset(); - const ::pg_query::Node& start_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); - ::pg_query::Node* mutable_start_offset(); - void set_allocated_start_offset(::pg_query::Node* start_offset); private: - const ::pg_query::Node& _internal_start_offset() const; - ::pg_query::Node* _internal_mutable_start_offset(); - public: - void unsafe_arena_set_allocated_start_offset( - ::pg_query::Node* start_offset); - ::pg_query::Node* unsafe_arena_release_start_offset(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; - bool has_end_offset() const; - private: - bool _internal_has_end_offset() const; - public: - void clear_end_offset(); - const ::pg_query::Node& end_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); - ::pg_query::Node* mutable_end_offset(); - void set_allocated_end_offset(::pg_query::Node* end_offset); - private: - const ::pg_query::Node& _internal_end_offset() const; - ::pg_query::Node* _internal_mutable_end_offset(); public: - void unsafe_arena_set_allocated_end_offset( - ::pg_query::Node* end_offset); - ::pg_query::Node* unsafe_arena_release_end_offset(); + // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::ReindexObjectType kind() const; + void set_kind(::pg_query::ReindexObjectType value); - // int32 frame_options = 5 [json_name = "frameOptions"]; - void clear_frame_options(); - int32_t frame_options() const; - void set_frame_options(int32_t value); private: - int32_t _internal_frame_options() const; - void _internal_set_frame_options(int32_t value); - public: + ::pg_query::ReindexObjectType _internal_kind() const; + void _internal_set_kind(::pg_query::ReindexObjectType value); - // int32 location = 8 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.WindowDef) + // @@protoc_insertion_point(class_scope:pg_query.ReindexStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 33, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > partition_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > order_clause_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr refname_; - ::pg_query::Node* start_offset_; - ::pg_query::Node* end_offset_; - int32_t frame_options_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > params_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::RangeVar* relation_; + int kind_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeSubselect final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeSubselect) */ { +class RelabelType final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RelabelType) */ { public: - inline RangeSubselect() : RangeSubselect(nullptr) {} - ~RangeSubselect() override; - explicit PROTOBUF_CONSTEXPR RangeSubselect(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RelabelType() : RelabelType(nullptr) {} + ~RelabelType() override; + template + explicit PROTOBUF_CONSTEXPR RelabelType(::google::protobuf::internal::ConstantInitialized); - RangeSubselect(const RangeSubselect& from); - RangeSubselect(RangeSubselect&& from) noexcept - : RangeSubselect() { + inline RelabelType(const RelabelType& from) + : RelabelType(nullptr, from) {} + RelabelType(RelabelType&& from) noexcept + : RelabelType() { *this = ::std::move(from); } - inline RangeSubselect& operator=(const RangeSubselect& from) { + inline RelabelType& operator=(const RelabelType& from) { CopyFrom(from); return *this; } - inline RangeSubselect& operator=(RangeSubselect&& from) noexcept { + inline RelabelType& operator=(RelabelType&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -50558,185 +65811,255 @@ class RangeSubselect final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeSubselect& default_instance() { + static const RelabelType& default_instance() { return *internal_default_instance(); } - static inline const RangeSubselect* internal_default_instance() { - return reinterpret_cast( - &_RangeSubselect_default_instance_); + static inline const RelabelType* internal_default_instance() { + return reinterpret_cast( + &_RelabelType_default_instance_); } static constexpr int kIndexInFileMessages = - 196; + 36; - friend void swap(RangeSubselect& a, RangeSubselect& b) { + friend void swap(RelabelType& a, RelabelType& b) { a.Swap(&b); } - inline void Swap(RangeSubselect* other) { + inline void Swap(RelabelType* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeSubselect* other) { + void UnsafeArenaSwap(RelabelType* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeSubselect* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RelabelType* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeSubselect& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeSubselect& from) { - RangeSubselect::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RelabelType& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RelabelType& from) { + RelabelType::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeSubselect* other); + void InternalSwap(RelabelType* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeSubselect"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RelabelType"; } protected: - explicit RangeSubselect(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RelabelType(::google::protobuf::Arena* arena); + RelabelType(::google::protobuf::Arena* arena, const RelabelType& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSubqueryFieldNumber = 2, - kAliasFieldNumber = 3, - kLateralFieldNumber = 1, + kXprFieldNumber = 1, + kArgFieldNumber = 2, + kResulttypeFieldNumber = 3, + kResulttypmodFieldNumber = 4, + kResultcollidFieldNumber = 5, + kRelabelformatFieldNumber = 6, + kLocationFieldNumber = 7, }; - // .pg_query.Node subquery = 2 [json_name = "subquery"]; - bool has_subquery() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - bool _internal_has_subquery() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_subquery(); - const ::pg_query::Node& subquery() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_subquery(); - ::pg_query::Node* mutable_subquery(); - void set_allocated_subquery(::pg_query::Node* subquery); + // .pg_query.Node arg = 2 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::Node& _internal_subquery() const; - ::pg_query::Node* _internal_mutable_subquery(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - void unsafe_arena_set_allocated_subquery( - ::pg_query::Node* subquery); - ::pg_query::Node* unsafe_arena_release_subquery(); + // uint32 resulttype = 3 [json_name = "resulttype"]; + void clear_resulttype() ; + ::uint32_t resulttype() const; + void set_resulttype(::uint32_t value); + + private: + ::uint32_t _internal_resulttype() const; + void _internal_set_resulttype(::uint32_t value); + + public: + // int32 resulttypmod = 4 [json_name = "resulttypmod"]; + void clear_resulttypmod() ; + ::int32_t resulttypmod() const; + void set_resulttypmod(::int32_t value); - // .pg_query.Alias alias = 3 [json_name = "alias"]; - bool has_alias() const; private: - bool _internal_has_alias() const; + ::int32_t _internal_resulttypmod() const; + void _internal_set_resulttypmod(::int32_t value); + public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); + // uint32 resultcollid = 5 [json_name = "resultcollid"]; + void clear_resultcollid() ; + ::uint32_t resultcollid() const; + void set_resultcollid(::uint32_t value); + private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + ::uint32_t _internal_resultcollid() const; + void _internal_set_resultcollid(::uint32_t value); + public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; + void clear_relabelformat() ; + ::pg_query::CoercionForm relabelformat() const; + void set_relabelformat(::pg_query::CoercionForm value); - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral(); - bool lateral() const; - void set_lateral(bool value); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); + ::pg_query::CoercionForm _internal_relabelformat() const; + void _internal_set_relabelformat(::pg_query::CoercionForm value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RangeSubselect) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RelabelType) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* subquery_; - ::pg_query::Alias* alias_; - bool lateral_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t resulttype_; + ::int32_t resulttypmod_; + ::uint32_t resultcollid_; + int relabelformat_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeFunction final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeFunction) */ { +class RenameStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RenameStmt) */ { public: - inline RangeFunction() : RangeFunction(nullptr) {} - ~RangeFunction() override; - explicit PROTOBUF_CONSTEXPR RangeFunction(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RenameStmt() : RenameStmt(nullptr) {} + ~RenameStmt() override; + template + explicit PROTOBUF_CONSTEXPR RenameStmt(::google::protobuf::internal::ConstantInitialized); - RangeFunction(const RangeFunction& from); - RangeFunction(RangeFunction&& from) noexcept - : RangeFunction() { + inline RenameStmt(const RenameStmt& from) + : RenameStmt(nullptr, from) {} + RenameStmt(RenameStmt&& from) noexcept + : RenameStmt() { *this = ::std::move(from); } - inline RangeFunction& operator=(const RangeFunction& from) { + inline RenameStmt& operator=(const RenameStmt& from) { CopyFrom(from); return *this; } - inline RangeFunction& operator=(RangeFunction&& from) noexcept { + inline RenameStmt& operator=(RenameStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -50746,227 +66069,279 @@ class RangeFunction final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeFunction& default_instance() { + static const RenameStmt& default_instance() { return *internal_default_instance(); } - static inline const RangeFunction* internal_default_instance() { - return reinterpret_cast( - &_RangeFunction_default_instance_); + static inline const RenameStmt* internal_default_instance() { + return reinterpret_cast( + &_RenameStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 197; + 220; - friend void swap(RangeFunction& a, RangeFunction& b) { + friend void swap(RenameStmt& a, RenameStmt& b) { a.Swap(&b); } - inline void Swap(RangeFunction* other) { + inline void Swap(RenameStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeFunction* other) { + void UnsafeArenaSwap(RenameStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeFunction* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RenameStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeFunction& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeFunction& from) { - RangeFunction::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RenameStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RenameStmt& from) { + RenameStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeFunction* other); + void InternalSwap(RenameStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeFunction"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RenameStmt"; } protected: - explicit RangeFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RenameStmt(::google::protobuf::Arena* arena); + RenameStmt(::google::protobuf::Arena* arena, const RenameStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kFunctionsFieldNumber = 4, - kColdeflistFieldNumber = 6, - kAliasFieldNumber = 5, - kLateralFieldNumber = 1, - kOrdinalityFieldNumber = 2, - kIsRowsfromFieldNumber = 3, + kSubnameFieldNumber = 5, + kNewnameFieldNumber = 6, + kRelationFieldNumber = 3, + kObjectFieldNumber = 4, + kRenameTypeFieldNumber = 1, + kRelationTypeFieldNumber = 2, + kBehaviorFieldNumber = 7, + kMissingOkFieldNumber = 8, }; - // repeated .pg_query.Node functions = 4 [json_name = "functions"]; - int functions_size() const; - private: - int _internal_functions_size() const; - public: - void clear_functions(); - ::pg_query::Node* mutable_functions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_functions(); + // string subname = 5 [json_name = "subname"]; + void clear_subname() ; + const std::string& subname() const; + template + void set_subname(Arg_&& arg, Args_... args); + std::string* mutable_subname(); + PROTOBUF_NODISCARD std::string* release_subname(); + void set_allocated_subname(std::string* value); + private: - const ::pg_query::Node& _internal_functions(int index) const; - ::pg_query::Node* _internal_add_functions(); + const std::string& _internal_subname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_subname( + const std::string& value); + std::string* _internal_mutable_subname(); + public: - const ::pg_query::Node& functions(int index) const; - ::pg_query::Node* add_functions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - functions() const; + // string newname = 6 [json_name = "newname"]; + void clear_newname() ; + const std::string& newname() const; + template + void set_newname(Arg_&& arg, Args_... args); + std::string* mutable_newname(); + PROTOBUF_NODISCARD std::string* release_newname(); + void set_allocated_newname(std::string* value); - // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; - int coldeflist_size() const; private: - int _internal_coldeflist_size() const; + const std::string& _internal_newname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_newname( + const std::string& value); + std::string* _internal_mutable_newname(); + public: - void clear_coldeflist(); - ::pg_query::Node* mutable_coldeflist(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coldeflist(); + // .pg_query.RangeVar relation = 3 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); + private: - const ::pg_query::Node& _internal_coldeflist(int index) const; - ::pg_query::Node* _internal_add_coldeflist(); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: - const ::pg_query::Node& coldeflist(int index) const; - ::pg_query::Node* add_coldeflist(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coldeflist() const; + // .pg_query.Node object = 4 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); - // .pg_query.Alias alias = 5 [json_name = "alias"]; - bool has_alias() const; private: - bool _internal_has_alias() const; + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); + public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); + // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; + void clear_rename_type() ; + ::pg_query::ObjectType rename_type() const; + void set_rename_type(::pg_query::ObjectType value); + private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); + ::pg_query::ObjectType _internal_rename_type() const; + void _internal_set_rename_type(::pg_query::ObjectType value); + public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; + void clear_relation_type() ; + ::pg_query::ObjectType relation_type() const; + void set_relation_type(::pg_query::ObjectType value); - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral(); - bool lateral() const; - void set_lateral(bool value); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); + ::pg_query::ObjectType _internal_relation_type() const; + void _internal_set_relation_type(::pg_query::ObjectType value); + public: + // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // bool ordinality = 2 [json_name = "ordinality"]; - void clear_ordinality(); - bool ordinality() const; - void set_ordinality(bool value); private: - bool _internal_ordinality() const; - void _internal_set_ordinality(bool value); + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); + public: + // bool missing_ok = 8 [json_name = "missing_ok"]; + void clear_missing_ok() ; + bool missing_ok() const; + void set_missing_ok(bool value); - // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; - void clear_is_rowsfrom(); - bool is_rowsfrom() const; - void set_is_rowsfrom(bool value); private: - bool _internal_is_rowsfrom() const; - void _internal_set_is_rowsfrom(bool value); - public: + bool _internal_missing_ok() const; + void _internal_set_missing_ok(bool value); - // @@protoc_insertion_point(class_scope:pg_query.RangeFunction) + public: + // @@protoc_insertion_point(class_scope:pg_query.RenameStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > functions_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coldeflist_; - ::pg_query::Alias* alias_; - bool lateral_; - bool ordinality_; - bool is_rowsfrom_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr subname_; + ::google::protobuf::internal::ArenaStringPtr newname_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* object_; + int rename_type_; + int relation_type_; + int behavior_; + bool missing_ok_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTableSample final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableSample) */ { +class ResTarget final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ResTarget) */ { public: - inline RangeTableSample() : RangeTableSample(nullptr) {} - ~RangeTableSample() override; - explicit PROTOBUF_CONSTEXPR RangeTableSample(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ResTarget() : ResTarget(nullptr) {} + ~ResTarget() override; + template + explicit PROTOBUF_CONSTEXPR ResTarget(::google::protobuf::internal::ConstantInitialized); - RangeTableSample(const RangeTableSample& from); - RangeTableSample(RangeTableSample&& from) noexcept - : RangeTableSample() { + inline ResTarget(const ResTarget& from) + : ResTarget(nullptr, from) {} + ResTarget(ResTarget&& from) noexcept + : ResTarget() { *this = ::std::move(from); } - inline RangeTableSample& operator=(const RangeTableSample& from) { + inline ResTarget& operator=(const ResTarget& from) { CopyFrom(from); return *this; } - inline RangeTableSample& operator=(RangeTableSample&& from) noexcept { + inline ResTarget& operator=(ResTarget&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -50976,225 +66351,228 @@ class RangeTableSample final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableSample& default_instance() { + static const ResTarget& default_instance() { return *internal_default_instance(); } - static inline const RangeTableSample* internal_default_instance() { - return reinterpret_cast( - &_RangeTableSample_default_instance_); + static inline const ResTarget* internal_default_instance() { + return reinterpret_cast( + &_ResTarget_default_instance_); } static constexpr int kIndexInFileMessages = - 198; + 88; - friend void swap(RangeTableSample& a, RangeTableSample& b) { + friend void swap(ResTarget& a, ResTarget& b) { a.Swap(&b); } - inline void Swap(RangeTableSample* other) { + inline void Swap(ResTarget* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableSample* other) { + void UnsafeArenaSwap(ResTarget* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTableSample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ResTarget* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTableSample& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTableSample& from) { - RangeTableSample::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ResTarget& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ResTarget& from) { + ResTarget::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTableSample* other); + void InternalSwap(ResTarget* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTableSample"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ResTarget"; } protected: - explicit RangeTableSample(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ResTarget(::google::protobuf::Arena* arena); + ResTarget(::google::protobuf::Arena* arena, const ResTarget& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kMethodFieldNumber = 2, - kArgsFieldNumber = 3, - kRelationFieldNumber = 1, - kRepeatableFieldNumber = 4, - kLocationFieldNumber = 5, + kIndirectionFieldNumber = 2, + kNameFieldNumber = 1, + kValFieldNumber = 3, + kLocationFieldNumber = 4, }; - // repeated .pg_query.Node method = 2 [json_name = "method"]; - int method_size() const; - private: - int _internal_method_size() const; - public: - void clear_method(); - ::pg_query::Node* mutable_method(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_method(); + // repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; + int indirection_size() const; private: - const ::pg_query::Node& _internal_method(int index) const; - ::pg_query::Node* _internal_add_method(); - public: - const ::pg_query::Node& method(int index) const; - ::pg_query::Node* add_method(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - method() const; + int _internal_indirection_size() const; - // repeated .pg_query.Node args = 3 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); + void clear_indirection() ; + ::pg_query::Node* mutable_indirection(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_indirection(); private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_indirection() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_indirection(); public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + const ::pg_query::Node& indirection(int index) const; + ::pg_query::Node* add_indirection(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + indirection() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // .pg_query.Node relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::Node& relation() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_relation(); - ::pg_query::Node* mutable_relation(); - void set_allocated_relation(::pg_query::Node* relation); private: - const ::pg_query::Node& _internal_relation() const; - ::pg_query::Node* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::Node* relation); - ::pg_query::Node* unsafe_arena_release_relation(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); - // .pg_query.Node repeatable = 4 [json_name = "repeatable"]; - bool has_repeatable() const; - private: - bool _internal_has_repeatable() const; public: - void clear_repeatable(); - const ::pg_query::Node& repeatable() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); - ::pg_query::Node* mutable_repeatable(); - void set_allocated_repeatable(::pg_query::Node* repeatable); + // .pg_query.Node val = 3 [json_name = "val"]; + bool has_val() const; + void clear_val() ; + const ::pg_query::Node& val() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_val(); + ::pg_query::Node* mutable_val(); + void set_allocated_val(::pg_query::Node* value); + void unsafe_arena_set_allocated_val(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_val(); + private: - const ::pg_query::Node& _internal_repeatable() const; - ::pg_query::Node* _internal_mutable_repeatable(); + const ::pg_query::Node& _internal_val() const; + ::pg_query::Node* _internal_mutable_val(); + public: - void unsafe_arena_set_allocated_repeatable( - ::pg_query::Node* repeatable); - ::pg_query::Node* unsafe_arena_release_repeatable(); + // int32 location = 4 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RangeTableSample) + public: + // @@protoc_insertion_point(class_scope:pg_query.ResTarget) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 31, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > method_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* relation_; - ::pg_query::Node* repeatable_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > indirection_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* val_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTableFunc final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFunc) */ { +class ReturnStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ReturnStmt) */ { public: - inline RangeTableFunc() : RangeTableFunc(nullptr) {} - ~RangeTableFunc() override; - explicit PROTOBUF_CONSTEXPR RangeTableFunc(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ReturnStmt() : ReturnStmt(nullptr) {} + ~ReturnStmt() override; + template + explicit PROTOBUF_CONSTEXPR ReturnStmt(::google::protobuf::internal::ConstantInitialized); - RangeTableFunc(const RangeTableFunc& from); - RangeTableFunc(RangeTableFunc&& from) noexcept - : RangeTableFunc() { + inline ReturnStmt(const ReturnStmt& from) + : ReturnStmt(nullptr, from) {} + ReturnStmt(ReturnStmt&& from) noexcept + : ReturnStmt() { *this = ::std::move(from); } - inline RangeTableFunc& operator=(const RangeTableFunc& from) { + inline ReturnStmt& operator=(const ReturnStmt& from) { CopyFrom(from); return *this; } - inline RangeTableFunc& operator=(RangeTableFunc&& from) noexcept { + inline ReturnStmt& operator=(ReturnStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -51204,256 +66582,178 @@ class RangeTableFunc final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableFunc& default_instance() { + static const ReturnStmt& default_instance() { return *internal_default_instance(); } - static inline const RangeTableFunc* internal_default_instance() { - return reinterpret_cast( - &_RangeTableFunc_default_instance_); + static inline const ReturnStmt* internal_default_instance() { + return reinterpret_cast( + &_ReturnStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 199; + 149; - friend void swap(RangeTableFunc& a, RangeTableFunc& b) { + friend void swap(ReturnStmt& a, ReturnStmt& b) { a.Swap(&b); } - inline void Swap(RangeTableFunc* other) { + inline void Swap(ReturnStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableFunc* other) { + void UnsafeArenaSwap(ReturnStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTableFunc* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ReturnStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTableFunc& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTableFunc& from) { - RangeTableFunc::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ReturnStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ReturnStmt& from) { + ReturnStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTableFunc* other); + void InternalSwap(ReturnStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTableFunc"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ReturnStmt"; } protected: - explicit RangeTableFunc(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ReturnStmt(::google::protobuf::Arena* arena); + ReturnStmt(::google::protobuf::Arena* arena, const ReturnStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNamespacesFieldNumber = 4, - kColumnsFieldNumber = 5, - kDocexprFieldNumber = 2, - kRowexprFieldNumber = 3, - kAliasFieldNumber = 6, - kLateralFieldNumber = 1, - kLocationFieldNumber = 7, + kReturnvalFieldNumber = 1, }; - // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; - int namespaces_size() const; - private: - int _internal_namespaces_size() const; - public: - void clear_namespaces(); - ::pg_query::Node* mutable_namespaces(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_namespaces(); - private: - const ::pg_query::Node& _internal_namespaces(int index) const; - ::pg_query::Node* _internal_add_namespaces(); - public: - const ::pg_query::Node& namespaces(int index) const; - ::pg_query::Node* add_namespaces(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - namespaces() const; - - // repeated .pg_query.Node columns = 5 [json_name = "columns"]; - int columns_size() const; - private: - int _internal_columns_size() const; - public: - void clear_columns(); - ::pg_query::Node* mutable_columns(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_columns(); - private: - const ::pg_query::Node& _internal_columns(int index) const; - ::pg_query::Node* _internal_add_columns(); - public: - const ::pg_query::Node& columns(int index) const; - ::pg_query::Node* add_columns(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - columns() const; - - // .pg_query.Node docexpr = 2 [json_name = "docexpr"]; - bool has_docexpr() const; - private: - bool _internal_has_docexpr() const; - public: - void clear_docexpr(); - const ::pg_query::Node& docexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); - ::pg_query::Node* mutable_docexpr(); - void set_allocated_docexpr(::pg_query::Node* docexpr); - private: - const ::pg_query::Node& _internal_docexpr() const; - ::pg_query::Node* _internal_mutable_docexpr(); - public: - void unsafe_arena_set_allocated_docexpr( - ::pg_query::Node* docexpr); - ::pg_query::Node* unsafe_arena_release_docexpr(); - - // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; - bool has_rowexpr() const; - private: - bool _internal_has_rowexpr() const; - public: - void clear_rowexpr(); - const ::pg_query::Node& rowexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); - ::pg_query::Node* mutable_rowexpr(); - void set_allocated_rowexpr(::pg_query::Node* rowexpr); - private: - const ::pg_query::Node& _internal_rowexpr() const; - ::pg_query::Node* _internal_mutable_rowexpr(); - public: - void unsafe_arena_set_allocated_rowexpr( - ::pg_query::Node* rowexpr); - ::pg_query::Node* unsafe_arena_release_rowexpr(); - - // .pg_query.Alias alias = 6 [json_name = "alias"]; - bool has_alias() const; - private: - bool _internal_has_alias() const; - public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); - private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); - public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); + // .pg_query.Node returnval = 1 [json_name = "returnval"]; + bool has_returnval() const; + void clear_returnval() ; + const ::pg_query::Node& returnval() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_returnval(); + ::pg_query::Node* mutable_returnval(); + void set_allocated_returnval(::pg_query::Node* value); + void unsafe_arena_set_allocated_returnval(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_returnval(); - // bool lateral = 1 [json_name = "lateral"]; - void clear_lateral(); - bool lateral() const; - void set_lateral(bool value); private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); - public: + const ::pg_query::Node& _internal_returnval() const; + ::pg_query::Node* _internal_mutable_returnval(); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.RangeTableFunc) + // @@protoc_insertion_point(class_scope:pg_query.ReturnStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > namespaces_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > columns_; - ::pg_query::Node* docexpr_; - ::pg_query::Node* rowexpr_; - ::pg_query::Alias* alias_; - bool lateral_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* returnval_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTableFuncCol final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTableFuncCol) */ { +class RowCompareExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowCompareExpr) */ { public: - inline RangeTableFuncCol() : RangeTableFuncCol(nullptr) {} - ~RangeTableFuncCol() override; - explicit PROTOBUF_CONSTEXPR RangeTableFuncCol(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RowCompareExpr() : RowCompareExpr(nullptr) {} + ~RowCompareExpr() override; + template + explicit PROTOBUF_CONSTEXPR RowCompareExpr(::google::protobuf::internal::ConstantInitialized); - RangeTableFuncCol(const RangeTableFuncCol& from); - RangeTableFuncCol(RangeTableFuncCol&& from) noexcept - : RangeTableFuncCol() { + inline RowCompareExpr(const RowCompareExpr& from) + : RowCompareExpr(nullptr, from) {} + RowCompareExpr(RowCompareExpr&& from) noexcept + : RowCompareExpr() { *this = ::std::move(from); } - inline RangeTableFuncCol& operator=(const RangeTableFuncCol& from) { + inline RowCompareExpr& operator=(const RowCompareExpr& from) { CopyFrom(from); return *this; } - inline RangeTableFuncCol& operator=(RangeTableFuncCol&& from) noexcept { + inline RowCompareExpr& operator=(RowCompareExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -51463,243 +66763,290 @@ class RangeTableFuncCol final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTableFuncCol& default_instance() { + static const RowCompareExpr& default_instance() { return *internal_default_instance(); } - static inline const RangeTableFuncCol* internal_default_instance() { - return reinterpret_cast( - &_RangeTableFuncCol_default_instance_); + static inline const RowCompareExpr* internal_default_instance() { + return reinterpret_cast( + &_RowCompareExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 200; + 46; - friend void swap(RangeTableFuncCol& a, RangeTableFuncCol& b) { + friend void swap(RowCompareExpr& a, RowCompareExpr& b) { a.Swap(&b); } - inline void Swap(RangeTableFuncCol* other) { + inline void Swap(RowCompareExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTableFuncCol* other) { + void UnsafeArenaSwap(RowCompareExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTableFuncCol* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RowCompareExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTableFuncCol& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTableFuncCol& from) { - RangeTableFuncCol::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RowCompareExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RowCompareExpr& from) { + RowCompareExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTableFuncCol* other); + void InternalSwap(RowCompareExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTableFuncCol"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RowCompareExpr"; } protected: - explicit RangeTableFuncCol(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RowCompareExpr(::google::protobuf::Arena* arena); + RowCompareExpr(::google::protobuf::Arena* arena, const RowCompareExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColnameFieldNumber = 1, - kTypeNameFieldNumber = 2, - kColexprFieldNumber = 5, - kColdefexprFieldNumber = 6, - kForOrdinalityFieldNumber = 3, - kIsNotNullFieldNumber = 4, - kLocationFieldNumber = 7, + kOpnosFieldNumber = 3, + kOpfamiliesFieldNumber = 4, + kInputcollidsFieldNumber = 5, + kLargsFieldNumber = 6, + kRargsFieldNumber = 7, + kXprFieldNumber = 1, + kRctypeFieldNumber = 2, }; - // string colname = 1 [json_name = "colname"]; - void clear_colname(); - const std::string& colname() const; - template - void set_colname(ArgT0&& arg0, ArgT... args); - std::string* mutable_colname(); - PROTOBUF_NODISCARD std::string* release_colname(); - void set_allocated_colname(std::string* colname); + // repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; + int opnos_size() const; private: - const std::string& _internal_colname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname(const std::string& value); - std::string* _internal_mutable_colname(); - public: + int _internal_opnos_size() const; - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; - private: - bool _internal_has_type_name() const; public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); + void clear_opnos() ; + ::pg_query::Node* mutable_opnos(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opnos(); private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opnos() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opnos(); public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); - - // .pg_query.Node colexpr = 5 [json_name = "colexpr"]; - bool has_colexpr() const; + const ::pg_query::Node& opnos(int index) const; + ::pg_query::Node* add_opnos(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opnos() const; + // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; + int opfamilies_size() const; private: - bool _internal_has_colexpr() const; + int _internal_opfamilies_size() const; + public: - void clear_colexpr(); - const ::pg_query::Node& colexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_colexpr(); - ::pg_query::Node* mutable_colexpr(); - void set_allocated_colexpr(::pg_query::Node* colexpr); + void clear_opfamilies() ; + ::pg_query::Node* mutable_opfamilies(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_opfamilies(); private: - const ::pg_query::Node& _internal_colexpr() const; - ::pg_query::Node* _internal_mutable_colexpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_opfamilies() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_opfamilies(); public: - void unsafe_arena_set_allocated_colexpr( - ::pg_query::Node* colexpr); - ::pg_query::Node* unsafe_arena_release_colexpr(); - - // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; - bool has_coldefexpr() const; + const ::pg_query::Node& opfamilies(int index) const; + ::pg_query::Node* add_opfamilies(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + opfamilies() const; + // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; + int inputcollids_size() const; private: - bool _internal_has_coldefexpr() const; + int _internal_inputcollids_size() const; + public: - void clear_coldefexpr(); - const ::pg_query::Node& coldefexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_coldefexpr(); - ::pg_query::Node* mutable_coldefexpr(); - void set_allocated_coldefexpr(::pg_query::Node* coldefexpr); + void clear_inputcollids() ; + ::pg_query::Node* mutable_inputcollids(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_inputcollids(); private: - const ::pg_query::Node& _internal_coldefexpr() const; - ::pg_query::Node* _internal_mutable_coldefexpr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_inputcollids() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_inputcollids(); public: - void unsafe_arena_set_allocated_coldefexpr( - ::pg_query::Node* coldefexpr); - ::pg_query::Node* unsafe_arena_release_coldefexpr(); + const ::pg_query::Node& inputcollids(int index) const; + ::pg_query::Node* add_inputcollids(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + inputcollids() const; + // repeated .pg_query.Node largs = 6 [json_name = "largs"]; + int largs_size() const; + private: + int _internal_largs_size() const; - // bool for_ordinality = 3 [json_name = "for_ordinality"]; - void clear_for_ordinality(); - bool for_ordinality() const; - void set_for_ordinality(bool value); + public: + void clear_largs() ; + ::pg_query::Node* mutable_largs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_largs(); private: - bool _internal_for_ordinality() const; - void _internal_set_for_ordinality(bool value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_largs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_largs(); public: + const ::pg_query::Node& largs(int index) const; + ::pg_query::Node* add_largs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + largs() const; + // repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; + int rargs_size() const; + private: + int _internal_rargs_size() const; - // bool is_not_null = 4 [json_name = "is_not_null"]; - void clear_is_not_null(); - bool is_not_null() const; - void set_is_not_null(bool value); + public: + void clear_rargs() ; + ::pg_query::Node* mutable_rargs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rargs(); private: - bool _internal_is_not_null() const; - void _internal_set_is_not_null(bool value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rargs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rargs(); public: + const ::pg_query::Node& rargs(int index) const; + ::pg_query::Node* add_rargs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rargs() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; + void clear_rctype() ; + ::pg_query::RowCompareType rctype() const; + void set_rctype(::pg_query::RowCompareType value); - // @@protoc_insertion_point(class_scope:pg_query.RangeTableFuncCol) + private: + ::pg_query::RowCompareType _internal_rctype() const; + void _internal_set_rctype(::pg_query::RowCompareType value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.RowCompareExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr colname_; - ::pg_query::TypeName* type_name_; - ::pg_query::Node* colexpr_; - ::pg_query::Node* coldefexpr_; - bool for_ordinality_; - bool is_not_null_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opnos_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > opfamilies_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > inputcollids_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > largs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rargs_; + ::pg_query::Node* xpr_; + int rctype_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TypeName final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeName) */ { +class RowExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RowExpr) */ { public: - inline TypeName() : TypeName(nullptr) {} - ~TypeName() override; - explicit PROTOBUF_CONSTEXPR TypeName(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RowExpr() : RowExpr(nullptr) {} + ~RowExpr() override; + template + explicit PROTOBUF_CONSTEXPR RowExpr(::google::protobuf::internal::ConstantInitialized); - TypeName(const TypeName& from); - TypeName(TypeName&& from) noexcept - : TypeName() { + inline RowExpr(const RowExpr& from) + : RowExpr(nullptr, from) {} + RowExpr(RowExpr&& from) noexcept + : RowExpr() { *this = ::std::move(from); } - inline TypeName& operator=(const TypeName& from) { + inline RowExpr& operator=(const RowExpr& from) { CopyFrom(from); return *this; } - inline TypeName& operator=(TypeName&& from) noexcept { + inline RowExpr& operator=(RowExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -51709,249 +67056,254 @@ class TypeName final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TypeName& default_instance() { + static const RowExpr& default_instance() { return *internal_default_instance(); } - static inline const TypeName* internal_default_instance() { - return reinterpret_cast( - &_TypeName_default_instance_); + static inline const RowExpr* internal_default_instance() { + return reinterpret_cast( + &_RowExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 201; + 45; - friend void swap(TypeName& a, TypeName& b) { + friend void swap(RowExpr& a, RowExpr& b) { a.Swap(&b); } - inline void Swap(TypeName* other) { + inline void Swap(RowExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TypeName* other) { + void UnsafeArenaSwap(RowExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TypeName* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RowExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TypeName& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TypeName& from) { - TypeName::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RowExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RowExpr& from) { + RowExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TypeName* other); + void InternalSwap(RowExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TypeName"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RowExpr"; } protected: - explicit TypeName(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RowExpr(::google::protobuf::Arena* arena); + RowExpr(::google::protobuf::Arena* arena, const RowExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNamesFieldNumber = 1, - kTypmodsFieldNumber = 5, - kArrayBoundsFieldNumber = 7, - kTypeOidFieldNumber = 2, - kSetofFieldNumber = 3, - kPctTypeFieldNumber = 4, - kTypemodFieldNumber = 6, - kLocationFieldNumber = 8, + kArgsFieldNumber = 2, + kColnamesFieldNumber = 5, + kXprFieldNumber = 1, + kRowTypeidFieldNumber = 3, + kRowFormatFieldNumber = 4, + kLocationFieldNumber = 6, }; - // repeated .pg_query.Node names = 1 [json_name = "names"]; - int names_size() const; - private: - int _internal_names_size() const; - public: - void clear_names(); - ::pg_query::Node* mutable_names(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_names(); + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; private: - const ::pg_query::Node& _internal_names(int index) const; - ::pg_query::Node* _internal_add_names(); - public: - const ::pg_query::Node& names(int index) const; - ::pg_query::Node* add_names(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - names() const; + int _internal_args_size() const; - // repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; - int typmods_size() const; - private: - int _internal_typmods_size() const; public: - void clear_typmods(); - ::pg_query::Node* mutable_typmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_typmods(); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_typmods(int index) const; - ::pg_query::Node* _internal_add_typmods(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& typmods(int index) const; - ::pg_query::Node* add_typmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - typmods() const; - - // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; - int array_bounds_size() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; + int colnames_size() const; private: - int _internal_array_bounds_size() const; + int _internal_colnames_size() const; + public: - void clear_array_bounds(); - ::pg_query::Node* mutable_array_bounds(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_array_bounds(); + void clear_colnames() ; + ::pg_query::Node* mutable_colnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colnames(); private: - const ::pg_query::Node& _internal_array_bounds(int index) const; - ::pg_query::Node* _internal_add_array_bounds(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); public: - const ::pg_query::Node& array_bounds(int index) const; - ::pg_query::Node* add_array_bounds(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - array_bounds() const; + const ::pg_query::Node& colnames(int index) const; + ::pg_query::Node* add_colnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colnames() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // uint32 type_oid = 2 [json_name = "typeOid"]; - void clear_type_oid(); - uint32_t type_oid() const; - void set_type_oid(uint32_t value); private: - uint32_t _internal_type_oid() const; - void _internal_set_type_oid(uint32_t value); - public: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // bool setof = 3 [json_name = "setof"]; - void clear_setof(); - bool setof() const; - void set_setof(bool value); - private: - bool _internal_setof() const; - void _internal_set_setof(bool value); public: + // uint32 row_typeid = 3 [json_name = "row_typeid"]; + void clear_row_typeid() ; + ::uint32_t row_typeid() const; + void set_row_typeid(::uint32_t value); - // bool pct_type = 4 [json_name = "pct_type"]; - void clear_pct_type(); - bool pct_type() const; - void set_pct_type(bool value); private: - bool _internal_pct_type() const; - void _internal_set_pct_type(bool value); + ::uint32_t _internal_row_typeid() const; + void _internal_set_row_typeid(::uint32_t value); + public: + // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; + void clear_row_format() ; + ::pg_query::CoercionForm row_format() const; + void set_row_format(::pg_query::CoercionForm value); - // int32 typemod = 6 [json_name = "typemod"]; - void clear_typemod(); - int32_t typemod() const; - void set_typemod(int32_t value); private: - int32_t _internal_typemod() const; - void _internal_set_typemod(int32_t value); + ::pg_query::CoercionForm _internal_row_format() const; + void _internal_set_row_format(::pg_query::CoercionForm value); + public: + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 location = 8 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.TypeName) + public: + // @@protoc_insertion_point(class_scope:pg_query.RowExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > names_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > typmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > array_bounds_; - uint32_t type_oid_; - bool setof_; - bool pct_type_; - int32_t typemod_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; + ::pg_query::Node* xpr_; + ::uint32_t row_typeid_; + int row_format_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ColumnDef final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ColumnDef) */ { +class RuleStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.RuleStmt) */ { public: - inline ColumnDef() : ColumnDef(nullptr) {} - ~ColumnDef() override; - explicit PROTOBUF_CONSTEXPR ColumnDef(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline RuleStmt() : RuleStmt(nullptr) {} + ~RuleStmt() override; + template + explicit PROTOBUF_CONSTEXPR RuleStmt(::google::protobuf::internal::ConstantInitialized); - ColumnDef(const ColumnDef& from); - ColumnDef(ColumnDef&& from) noexcept - : ColumnDef() { + inline RuleStmt(const RuleStmt& from) + : RuleStmt(nullptr, from) {} + RuleStmt(RuleStmt&& from) noexcept + : RuleStmt() { *this = ::std::move(from); } - inline ColumnDef& operator=(const ColumnDef& from) { + inline RuleStmt& operator=(const RuleStmt& from) { CopyFrom(from); return *this; } - inline ColumnDef& operator=(ColumnDef&& from) noexcept { + inline RuleStmt& operator=(RuleStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -51961,420 +67313,269 @@ class ColumnDef final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ColumnDef& default_instance() { + static const RuleStmt& default_instance() { return *internal_default_instance(); } - static inline const ColumnDef* internal_default_instance() { - return reinterpret_cast( - &_ColumnDef_default_instance_); + static inline const RuleStmt* internal_default_instance() { + return reinterpret_cast( + &_RuleStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 202; + 226; - friend void swap(ColumnDef& a, ColumnDef& b) { + friend void swap(RuleStmt& a, RuleStmt& b) { a.Swap(&b); } - inline void Swap(ColumnDef* other) { + inline void Swap(RuleStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ColumnDef* other) { + void UnsafeArenaSwap(RuleStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ColumnDef* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + RuleStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ColumnDef& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ColumnDef& from) { - ColumnDef::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RuleStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const RuleStmt& from) { + RuleStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ColumnDef* other); + void InternalSwap(RuleStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ColumnDef"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.RuleStmt"; } protected: - explicit ColumnDef(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit RuleStmt(::google::protobuf::Arena* arena); + RuleStmt(::google::protobuf::Arena* arena, const RuleStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kConstraintsFieldNumber = 16, - kFdwoptionsFieldNumber = 17, - kColnameFieldNumber = 1, - kCompressionFieldNumber = 3, - kStorageFieldNumber = 8, - kIdentityFieldNumber = 11, - kGeneratedFieldNumber = 13, - kTypeNameFieldNumber = 2, - kRawDefaultFieldNumber = 9, - kCookedDefaultFieldNumber = 10, - kIdentitySequenceFieldNumber = 12, - kCollClauseFieldNumber = 14, - kInhcountFieldNumber = 4, - kIsLocalFieldNumber = 5, - kIsNotNullFieldNumber = 6, - kIsFromTypeFieldNumber = 7, - kCollOidFieldNumber = 15, - kLocationFieldNumber = 18, + kActionsFieldNumber = 6, + kRulenameFieldNumber = 2, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 3, + kEventFieldNumber = 4, + kInsteadFieldNumber = 5, + kReplaceFieldNumber = 7, }; - // repeated .pg_query.Node constraints = 16 [json_name = "constraints"]; - int constraints_size() const; - private: - int _internal_constraints_size() const; - public: - void clear_constraints(); - ::pg_query::Node* mutable_constraints(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_constraints(); - private: - const ::pg_query::Node& _internal_constraints(int index) const; - ::pg_query::Node* _internal_add_constraints(); - public: - const ::pg_query::Node& constraints(int index) const; - ::pg_query::Node* add_constraints(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - constraints() const; - - // repeated .pg_query.Node fdwoptions = 17 [json_name = "fdwoptions"]; - int fdwoptions_size() const; - private: - int _internal_fdwoptions_size() const; - public: - void clear_fdwoptions(); - ::pg_query::Node* mutable_fdwoptions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fdwoptions(); - private: - const ::pg_query::Node& _internal_fdwoptions(int index) const; - ::pg_query::Node* _internal_add_fdwoptions(); - public: - const ::pg_query::Node& fdwoptions(int index) const; - ::pg_query::Node* add_fdwoptions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fdwoptions() const; - - // string colname = 1 [json_name = "colname"]; - void clear_colname(); - const std::string& colname() const; - template - void set_colname(ArgT0&& arg0, ArgT... args); - std::string* mutable_colname(); - PROTOBUF_NODISCARD std::string* release_colname(); - void set_allocated_colname(std::string* colname); - private: - const std::string& _internal_colname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_colname(const std::string& value); - std::string* _internal_mutable_colname(); - public: - - // string compression = 3 [json_name = "compression"]; - void clear_compression(); - const std::string& compression() const; - template - void set_compression(ArgT0&& arg0, ArgT... args); - std::string* mutable_compression(); - PROTOBUF_NODISCARD std::string* release_compression(); - void set_allocated_compression(std::string* compression); - private: - const std::string& _internal_compression() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_compression(const std::string& value); - std::string* _internal_mutable_compression(); - public: - - // string storage = 8 [json_name = "storage"]; - void clear_storage(); - const std::string& storage() const; - template - void set_storage(ArgT0&& arg0, ArgT... args); - std::string* mutable_storage(); - PROTOBUF_NODISCARD std::string* release_storage(); - void set_allocated_storage(std::string* storage); - private: - const std::string& _internal_storage() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_storage(const std::string& value); - std::string* _internal_mutable_storage(); - public: - - // string identity = 11 [json_name = "identity"]; - void clear_identity(); - const std::string& identity() const; - template - void set_identity(ArgT0&& arg0, ArgT... args); - std::string* mutable_identity(); - PROTOBUF_NODISCARD std::string* release_identity(); - void set_allocated_identity(std::string* identity); - private: - const std::string& _internal_identity() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_identity(const std::string& value); - std::string* _internal_mutable_identity(); - public: - - // string generated = 13 [json_name = "generated"]; - void clear_generated(); - const std::string& generated() const; - template - void set_generated(ArgT0&& arg0, ArgT... args); - std::string* mutable_generated(); - PROTOBUF_NODISCARD std::string* release_generated(); - void set_allocated_generated(std::string* generated); - private: - const std::string& _internal_generated() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_generated(const std::string& value); - std::string* _internal_mutable_generated(); - public: - - // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; - bool has_type_name() const; - private: - bool _internal_has_type_name() const; - public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); - private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); - public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); - - // .pg_query.Node raw_default = 9 [json_name = "raw_default"]; - bool has_raw_default() const; - private: - bool _internal_has_raw_default() const; - public: - void clear_raw_default(); - const ::pg_query::Node& raw_default() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_raw_default(); - ::pg_query::Node* mutable_raw_default(); - void set_allocated_raw_default(::pg_query::Node* raw_default); - private: - const ::pg_query::Node& _internal_raw_default() const; - ::pg_query::Node* _internal_mutable_raw_default(); - public: - void unsafe_arena_set_allocated_raw_default( - ::pg_query::Node* raw_default); - ::pg_query::Node* unsafe_arena_release_raw_default(); - - // .pg_query.Node cooked_default = 10 [json_name = "cooked_default"]; - bool has_cooked_default() const; - private: - bool _internal_has_cooked_default() const; - public: - void clear_cooked_default(); - const ::pg_query::Node& cooked_default() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_cooked_default(); - ::pg_query::Node* mutable_cooked_default(); - void set_allocated_cooked_default(::pg_query::Node* cooked_default); + // repeated .pg_query.Node actions = 6 [json_name = "actions"]; + int actions_size() const; private: - const ::pg_query::Node& _internal_cooked_default() const; - ::pg_query::Node* _internal_mutable_cooked_default(); - public: - void unsafe_arena_set_allocated_cooked_default( - ::pg_query::Node* cooked_default); - ::pg_query::Node* unsafe_arena_release_cooked_default(); + int _internal_actions_size() const; - // .pg_query.RangeVar identity_sequence = 12 [json_name = "identitySequence"]; - bool has_identity_sequence() const; - private: - bool _internal_has_identity_sequence() const; public: - void clear_identity_sequence(); - const ::pg_query::RangeVar& identity_sequence() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_identity_sequence(); - ::pg_query::RangeVar* mutable_identity_sequence(); - void set_allocated_identity_sequence(::pg_query::RangeVar* identity_sequence); + void clear_actions() ; + ::pg_query::Node* mutable_actions(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_actions(); private: - const ::pg_query::RangeVar& _internal_identity_sequence() const; - ::pg_query::RangeVar* _internal_mutable_identity_sequence(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_actions() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_actions(); public: - void unsafe_arena_set_allocated_identity_sequence( - ::pg_query::RangeVar* identity_sequence); - ::pg_query::RangeVar* unsafe_arena_release_identity_sequence(); + const ::pg_query::Node& actions(int index) const; + ::pg_query::Node* add_actions(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + actions() const; + // string rulename = 2 [json_name = "rulename"]; + void clear_rulename() ; + const std::string& rulename() const; + template + void set_rulename(Arg_&& arg, Args_... args); + std::string* mutable_rulename(); + PROTOBUF_NODISCARD std::string* release_rulename(); + void set_allocated_rulename(std::string* value); - // .pg_query.CollateClause coll_clause = 14 [json_name = "collClause"]; - bool has_coll_clause() const; - private: - bool _internal_has_coll_clause() const; - public: - void clear_coll_clause(); - const ::pg_query::CollateClause& coll_clause() const; - PROTOBUF_NODISCARD ::pg_query::CollateClause* release_coll_clause(); - ::pg_query::CollateClause* mutable_coll_clause(); - void set_allocated_coll_clause(::pg_query::CollateClause* coll_clause); private: - const ::pg_query::CollateClause& _internal_coll_clause() const; - ::pg_query::CollateClause* _internal_mutable_coll_clause(); - public: - void unsafe_arena_set_allocated_coll_clause( - ::pg_query::CollateClause* coll_clause); - ::pg_query::CollateClause* unsafe_arena_release_coll_clause(); + const std::string& _internal_rulename() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_rulename( + const std::string& value); + std::string* _internal_mutable_rulename(); - // int32 inhcount = 4 [json_name = "inhcount"]; - void clear_inhcount(); - int32_t inhcount() const; - void set_inhcount(int32_t value); - private: - int32_t _internal_inhcount() const; - void _internal_set_inhcount(int32_t value); public: + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // bool is_local = 5 [json_name = "is_local"]; - void clear_is_local(); - bool is_local() const; - void set_is_local(bool value); private: - bool _internal_is_local() const; - void _internal_set_is_local(bool value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: + // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); - // bool is_not_null = 6 [json_name = "is_not_null"]; - void clear_is_not_null(); - bool is_not_null() const; - void set_is_not_null(bool value); private: - bool _internal_is_not_null() const; - void _internal_set_is_not_null(bool value); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + public: + // .pg_query.CmdType event = 4 [json_name = "event"]; + void clear_event() ; + ::pg_query::CmdType event() const; + void set_event(::pg_query::CmdType value); - // bool is_from_type = 7 [json_name = "is_from_type"]; - void clear_is_from_type(); - bool is_from_type() const; - void set_is_from_type(bool value); private: - bool _internal_is_from_type() const; - void _internal_set_is_from_type(bool value); + ::pg_query::CmdType _internal_event() const; + void _internal_set_event(::pg_query::CmdType value); + public: + // bool instead = 5 [json_name = "instead"]; + void clear_instead() ; + bool instead() const; + void set_instead(bool value); - // uint32 coll_oid = 15 [json_name = "collOid"]; - void clear_coll_oid(); - uint32_t coll_oid() const; - void set_coll_oid(uint32_t value); private: - uint32_t _internal_coll_oid() const; - void _internal_set_coll_oid(uint32_t value); + bool _internal_instead() const; + void _internal_set_instead(bool value); + public: + // bool replace = 7 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // int32 location = 18 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_replace() const; + void _internal_set_replace(bool value); - // @@protoc_insertion_point(class_scope:pg_query.ColumnDef) + public: + // @@protoc_insertion_point(class_scope:pg_query.RuleStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 3, + 34, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > constraints_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fdwoptions_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr colname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr compression_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr storage_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr identity_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr generated_; - ::pg_query::TypeName* type_name_; - ::pg_query::Node* raw_default_; - ::pg_query::Node* cooked_default_; - ::pg_query::RangeVar* identity_sequence_; - ::pg_query::CollateClause* coll_clause_; - int32_t inhcount_; - bool is_local_; - bool is_not_null_; - bool is_from_type_; - uint32_t coll_oid_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > actions_; + ::google::protobuf::internal::ArenaStringPtr rulename_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + int event_; + bool instead_; + bool replace_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class IndexElem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.IndexElem) */ { +class SQLValueFunction final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SQLValueFunction) */ { public: - inline IndexElem() : IndexElem(nullptr) {} - ~IndexElem() override; - explicit PROTOBUF_CONSTEXPR IndexElem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SQLValueFunction() : SQLValueFunction(nullptr) {} + ~SQLValueFunction() override; + template + explicit PROTOBUF_CONSTEXPR SQLValueFunction(::google::protobuf::internal::ConstantInitialized); - IndexElem(const IndexElem& from); - IndexElem(IndexElem&& from) noexcept - : IndexElem() { + inline SQLValueFunction(const SQLValueFunction& from) + : SQLValueFunction(nullptr, from) {} + SQLValueFunction(SQLValueFunction&& from) noexcept + : SQLValueFunction() { *this = ::std::move(from); } - inline IndexElem& operator=(const IndexElem& from) { + inline SQLValueFunction& operator=(const SQLValueFunction& from) { CopyFrom(from); return *this; } - inline IndexElem& operator=(IndexElem&& from) noexcept { + inline SQLValueFunction& operator=(SQLValueFunction&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -52384,268 +67585,226 @@ class IndexElem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const IndexElem& default_instance() { + static const SQLValueFunction& default_instance() { return *internal_default_instance(); } - static inline const IndexElem* internal_default_instance() { - return reinterpret_cast( - &_IndexElem_default_instance_); + static inline const SQLValueFunction* internal_default_instance() { + return reinterpret_cast( + &_SQLValueFunction_default_instance_); } static constexpr int kIndexInFileMessages = - 203; + 49; - friend void swap(IndexElem& a, IndexElem& b) { + friend void swap(SQLValueFunction& a, SQLValueFunction& b) { a.Swap(&b); } - inline void Swap(IndexElem* other) { + inline void Swap(SQLValueFunction* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(IndexElem* other) { + void UnsafeArenaSwap(SQLValueFunction* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - IndexElem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SQLValueFunction* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const IndexElem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const IndexElem& from) { - IndexElem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SQLValueFunction& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SQLValueFunction& from) { + SQLValueFunction::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(IndexElem* other); + void InternalSwap(SQLValueFunction* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.IndexElem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SQLValueFunction"; } protected: - explicit IndexElem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SQLValueFunction(::google::protobuf::Arena* arena); + SQLValueFunction(::google::protobuf::Arena* arena, const SQLValueFunction& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCollationFieldNumber = 4, - kOpclassFieldNumber = 5, - kOpclassoptsFieldNumber = 6, - kNameFieldNumber = 1, - kIndexcolnameFieldNumber = 3, - kExprFieldNumber = 2, - kOrderingFieldNumber = 7, - kNullsOrderingFieldNumber = 8, + kXprFieldNumber = 1, + kOpFieldNumber = 2, + kTypeFieldNumber = 3, + kTypmodFieldNumber = 4, + kLocationFieldNumber = 5, }; - // repeated .pg_query.Node collation = 4 [json_name = "collation"]; - int collation_size() const; - private: - int _internal_collation_size() const; - public: - void clear_collation(); - ::pg_query::Node* mutable_collation(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_collation(); - private: - const ::pg_query::Node& _internal_collation(int index) const; - ::pg_query::Node* _internal_add_collation(); - public: - const ::pg_query::Node& collation(int index) const; - ::pg_query::Node* add_collation(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - collation() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; - int opclass_size() const; - private: - int _internal_opclass_size() const; - public: - void clear_opclass(); - ::pg_query::Node* mutable_opclass(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opclass(); private: - const ::pg_query::Node& _internal_opclass(int index) const; - ::pg_query::Node* _internal_add_opclass(); - public: - const ::pg_query::Node& opclass(int index) const; - ::pg_query::Node* add_opclass(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opclass() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; - int opclassopts_size() const; - private: - int _internal_opclassopts_size() const; - public: - void clear_opclassopts(); - ::pg_query::Node* mutable_opclassopts(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opclassopts(); - private: - const ::pg_query::Node& _internal_opclassopts(int index) const; - ::pg_query::Node* _internal_add_opclassopts(); public: - const ::pg_query::Node& opclassopts(int index) const; - ::pg_query::Node* add_opclassopts(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opclassopts() const; + // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::SQLValueFunctionOp op() const; + void set_op(::pg_query::SQLValueFunctionOp value); - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: + ::pg_query::SQLValueFunctionOp _internal_op() const; + void _internal_set_op(::pg_query::SQLValueFunctionOp value); - // string indexcolname = 3 [json_name = "indexcolname"]; - void clear_indexcolname(); - const std::string& indexcolname() const; - template - void set_indexcolname(ArgT0&& arg0, ArgT... args); - std::string* mutable_indexcolname(); - PROTOBUF_NODISCARD std::string* release_indexcolname(); - void set_allocated_indexcolname(std::string* indexcolname); - private: - const std::string& _internal_indexcolname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexcolname(const std::string& value); - std::string* _internal_mutable_indexcolname(); public: + // uint32 type = 3 [json_name = "type"]; + void clear_type() ; + ::uint32_t type() const; + void set_type(::uint32_t value); - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; - private: - bool _internal_has_expr() const; - public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + ::uint32_t _internal_type() const; + void _internal_set_type(::uint32_t value); + public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + // int32 typmod = 4 [json_name = "typmod"]; + void clear_typmod() ; + ::int32_t typmod() const; + void set_typmod(::int32_t value); - // .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; - void clear_ordering(); - ::pg_query::SortByDir ordering() const; - void set_ordering(::pg_query::SortByDir value); private: - ::pg_query::SortByDir _internal_ordering() const; - void _internal_set_ordering(::pg_query::SortByDir value); + ::int32_t _internal_typmod() const; + void _internal_set_typmod(::int32_t value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; - void clear_nulls_ordering(); - ::pg_query::SortByNulls nulls_ordering() const; - void set_nulls_ordering(::pg_query::SortByNulls value); private: - ::pg_query::SortByNulls _internal_nulls_ordering() const; - void _internal_set_nulls_ordering(::pg_query::SortByNulls value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.IndexElem) + public: + // @@protoc_insertion_point(class_scope:pg_query.SQLValueFunction) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > collation_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opclass_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opclassopts_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr indexcolname_; - ::pg_query::Node* expr_; - int ordering_; - int nulls_ordering_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + int op_; + ::uint32_t type_; + ::int32_t typmod_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class StatsElem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.StatsElem) */ { +class ScalarArrayOpExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ScalarArrayOpExpr) */ { public: - inline StatsElem() : StatsElem(nullptr) {} - ~StatsElem() override; - explicit PROTOBUF_CONSTEXPR StatsElem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ScalarArrayOpExpr() : ScalarArrayOpExpr(nullptr) {} + ~ScalarArrayOpExpr() override; + template + explicit PROTOBUF_CONSTEXPR ScalarArrayOpExpr(::google::protobuf::internal::ConstantInitialized); - StatsElem(const StatsElem& from); - StatsElem(StatsElem&& from) noexcept - : StatsElem() { + inline ScalarArrayOpExpr(const ScalarArrayOpExpr& from) + : ScalarArrayOpExpr(nullptr, from) {} + ScalarArrayOpExpr(ScalarArrayOpExpr&& from) noexcept + : ScalarArrayOpExpr() { *this = ::std::move(from); } - inline StatsElem& operator=(const StatsElem& from) { + inline ScalarArrayOpExpr& operator=(const ScalarArrayOpExpr& from) { CopyFrom(from); return *this; } - inline StatsElem& operator=(StatsElem&& from) noexcept { + inline ScalarArrayOpExpr& operator=(ScalarArrayOpExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -52655,170 +67814,246 @@ class StatsElem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const StatsElem& default_instance() { + static const ScalarArrayOpExpr& default_instance() { return *internal_default_instance(); } - static inline const StatsElem* internal_default_instance() { - return reinterpret_cast( - &_StatsElem_default_instance_); + static inline const ScalarArrayOpExpr* internal_default_instance() { + return reinterpret_cast( + &_ScalarArrayOpExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 204; + 29; - friend void swap(StatsElem& a, StatsElem& b) { + friend void swap(ScalarArrayOpExpr& a, ScalarArrayOpExpr& b) { a.Swap(&b); } - inline void Swap(StatsElem* other) { + inline void Swap(ScalarArrayOpExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(StatsElem* other) { + void UnsafeArenaSwap(ScalarArrayOpExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - StatsElem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ScalarArrayOpExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const StatsElem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const StatsElem& from) { - StatsElem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ScalarArrayOpExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ScalarArrayOpExpr& from) { + ScalarArrayOpExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(StatsElem* other); + void InternalSwap(ScalarArrayOpExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.StatsElem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ScalarArrayOpExpr"; } protected: - explicit StatsElem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ScalarArrayOpExpr(::google::protobuf::Arena* arena); + ScalarArrayOpExpr(::google::protobuf::Arena* arena, const ScalarArrayOpExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kExprFieldNumber = 2, + kArgsFieldNumber = 5, + kXprFieldNumber = 1, + kOpnoFieldNumber = 2, + kUseOrFieldNumber = 3, + kInputcollidFieldNumber = 4, + kLocationFieldNumber = 6, }; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // repeated .pg_query.Node args = 5 [json_name = "args"]; + int args_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; private: - bool _internal_has_expr() const; + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); + // bool use_or = 3 [json_name = "useOr"]; + void clear_use_or() ; + bool use_or() const; + void set_use_or(bool value); + private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + bool _internal_use_or() const; + void _internal_set_use_or(bool value); + public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + // uint32 inputcollid = 4 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.StatsElem) + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.ScalarArrayOpExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* expr_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* xpr_; + ::uint32_t opno_; + bool use_or_; + ::uint32_t inputcollid_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class Constraint final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.Constraint) */ { +class SecLabelStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SecLabelStmt) */ { public: - inline Constraint() : Constraint(nullptr) {} - ~Constraint() override; - explicit PROTOBUF_CONSTEXPR Constraint(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SecLabelStmt() : SecLabelStmt(nullptr) {} + ~SecLabelStmt() override; + template + explicit PROTOBUF_CONSTEXPR SecLabelStmt(::google::protobuf::internal::ConstantInitialized); - Constraint(const Constraint& from); - Constraint(Constraint&& from) noexcept - : Constraint() { + inline SecLabelStmt(const SecLabelStmt& from) + : SecLabelStmt(nullptr, from) {} + SecLabelStmt(SecLabelStmt&& from) noexcept + : SecLabelStmt() { *this = ::std::move(from); } - inline Constraint& operator=(const Constraint& from) { + inline SecLabelStmt& operator=(const SecLabelStmt& from) { CopyFrom(from); return *this; } - inline Constraint& operator=(Constraint&& from) noexcept { + inline SecLabelStmt& operator=(SecLabelStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -52828,608 +68063,734 @@ class Constraint final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const Constraint& default_instance() { + static const SecLabelStmt& default_instance() { return *internal_default_instance(); } - static inline const Constraint* internal_default_instance() { - return reinterpret_cast( - &_Constraint_default_instance_); + static inline const SecLabelStmt* internal_default_instance() { + return reinterpret_cast( + &_SecLabelStmt_default_instance_); } static constexpr int kIndexInFileMessages = 205; - friend void swap(Constraint& a, Constraint& b) { + friend void swap(SecLabelStmt& a, SecLabelStmt& b) { a.Swap(&b); } - inline void Swap(Constraint* other) { + inline void Swap(SecLabelStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(Constraint* other) { + void UnsafeArenaSwap(SecLabelStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - Constraint* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SecLabelStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Constraint& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const Constraint& from) { - Constraint::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SecLabelStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SecLabelStmt& from) { + SecLabelStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Constraint* other); + void InternalSwap(SecLabelStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.Constraint"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SecLabelStmt"; } protected: - explicit Constraint(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SecLabelStmt(::google::protobuf::Arena* arena); + SecLabelStmt(::google::protobuf::Arena* arena, const SecLabelStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kKeysFieldNumber = 11, - kIncludingFieldNumber = 12, - kExclusionsFieldNumber = 13, - kOptionsFieldNumber = 14, - kFkAttrsFieldNumber = 21, - kPkAttrsFieldNumber = 22, - kFkDelSetColsFieldNumber = 26, - kOldConpfeqopFieldNumber = 27, - kConnameFieldNumber = 2, - kCookedExprFieldNumber = 8, - kGeneratedWhenFieldNumber = 9, - kIndexnameFieldNumber = 15, - kIndexspaceFieldNumber = 16, - kAccessMethodFieldNumber = 18, - kFkMatchtypeFieldNumber = 23, - kFkUpdActionFieldNumber = 24, - kFkDelActionFieldNumber = 25, - kRawExprFieldNumber = 7, - kWhereClauseFieldNumber = 19, - kPktableFieldNumber = 20, - kContypeFieldNumber = 1, - kLocationFieldNumber = 5, - kDeferrableFieldNumber = 3, - kInitdeferredFieldNumber = 4, - kIsNoInheritFieldNumber = 6, - kNullsNotDistinctFieldNumber = 10, - kResetDefaultTblspcFieldNumber = 17, - kSkipValidationFieldNumber = 29, - kInitiallyValidFieldNumber = 30, - kOldPktableOidFieldNumber = 28, - }; - // repeated .pg_query.Node keys = 11 [json_name = "keys"]; - int keys_size() const; - private: - int _internal_keys_size() const; - public: - void clear_keys(); - ::pg_query::Node* mutable_keys(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_keys(); + kProviderFieldNumber = 3, + kLabelFieldNumber = 4, + kObjectFieldNumber = 2, + kObjtypeFieldNumber = 1, + }; + // string provider = 3 [json_name = "provider"]; + void clear_provider() ; + const std::string& provider() const; + template + void set_provider(Arg_&& arg, Args_... args); + std::string* mutable_provider(); + PROTOBUF_NODISCARD std::string* release_provider(); + void set_allocated_provider(std::string* value); + private: - const ::pg_query::Node& _internal_keys(int index) const; - ::pg_query::Node* _internal_add_keys(); + const std::string& _internal_provider() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_provider( + const std::string& value); + std::string* _internal_mutable_provider(); + public: - const ::pg_query::Node& keys(int index) const; - ::pg_query::Node* add_keys(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - keys() const; + // string label = 4 [json_name = "label"]; + void clear_label() ; + const std::string& label() const; + template + void set_label(Arg_&& arg, Args_... args); + std::string* mutable_label(); + PROTOBUF_NODISCARD std::string* release_label(); + void set_allocated_label(std::string* value); - // repeated .pg_query.Node including = 12 [json_name = "including"]; - int including_size() const; private: - int _internal_including_size() const; + const std::string& _internal_label() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_label( + const std::string& value); + std::string* _internal_mutable_label(); + public: - void clear_including(); - ::pg_query::Node* mutable_including(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_including(); + // .pg_query.Node object = 2 [json_name = "object"]; + bool has_object() const; + void clear_object() ; + const ::pg_query::Node& object() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_object(); + ::pg_query::Node* mutable_object(); + void set_allocated_object(::pg_query::Node* value); + void unsafe_arena_set_allocated_object(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_object(); + private: - const ::pg_query::Node& _internal_including(int index) const; - ::pg_query::Node* _internal_add_including(); + const ::pg_query::Node& _internal_object() const; + ::pg_query::Node* _internal_mutable_object(); + public: - const ::pg_query::Node& including(int index) const; - ::pg_query::Node* add_including(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - including() const; + // .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; + void clear_objtype() ; + ::pg_query::ObjectType objtype() const; + void set_objtype(::pg_query::ObjectType value); - // repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"]; - int exclusions_size() const; private: - int _internal_exclusions_size() const; + ::pg_query::ObjectType _internal_objtype() const; + void _internal_set_objtype(::pg_query::ObjectType value); + public: - void clear_exclusions(); - ::pg_query::Node* mutable_exclusions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_exclusions(); + // @@protoc_insertion_point(class_scope:pg_query.SecLabelStmt) + private: + class _Internal; + + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 43, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr provider_; + ::google::protobuf::internal::ArenaStringPtr label_; + ::pg_query::Node* object_; + int objtype_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; +};// ------------------------------------------------------------------- + +class SelectStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SelectStmt) */ { + public: + inline SelectStmt() : SelectStmt(nullptr) {} + ~SelectStmt() override; + template + explicit PROTOBUF_CONSTEXPR SelectStmt(::google::protobuf::internal::ConstantInitialized); + + inline SelectStmt(const SelectStmt& from) + : SelectStmt(nullptr, from) {} + SelectStmt(SelectStmt&& from) noexcept + : SelectStmt() { + *this = ::std::move(from); + } + + inline SelectStmt& operator=(const SelectStmt& from) { + CopyFrom(from); + return *this; + } + inline SelectStmt& operator=(SelectStmt&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() + #ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr + #endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SelectStmt& default_instance() { + return *internal_default_instance(); + } + static inline const SelectStmt* internal_default_instance() { + return reinterpret_cast( + &_SelectStmt_default_instance_); + } + static constexpr int kIndexInFileMessages = + 147; + + friend void swap(SelectStmt& a, SelectStmt& b) { + a.Swap(&b); + } + inline void Swap(SelectStmt* other) { + if (other == this) return; + #ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { + #else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { + #endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SelectStmt* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SelectStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SelectStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SelectStmt& from) { + SelectStmt::MergeImpl(*this, from); + } private: - const ::pg_query::Node& _internal_exclusions(int index) const; - ::pg_query::Node* _internal_add_exclusions(); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: - const ::pg_query::Node& exclusions(int index) const; - ::pg_query::Node* add_exclusions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - exclusions() const; + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } - // repeated .pg_query.Node options = 14 [json_name = "options"]; - int options_size() const; private: - int _internal_options_size() const; - public: - void clear_options(); - ::pg_query::Node* mutable_options(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_options(); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(SelectStmt* other); + private: - const ::pg_query::Node& _internal_options(int index) const; - ::pg_query::Node* _internal_add_options(); + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SelectStmt"; + } + protected: + explicit SelectStmt(::google::protobuf::Arena* arena); + SelectStmt(::google::protobuf::Arena* arena, const SelectStmt& from); public: - const ::pg_query::Node& options(int index) const; - ::pg_query::Node* add_options(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - options() const; - // repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"]; - int fk_attrs_size() const; + static const ClassData _class_data_; + const ::google::protobuf::Message::ClassData*GetClassData() const final; + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kDistinctClauseFieldNumber = 1, + kTargetListFieldNumber = 3, + kFromClauseFieldNumber = 4, + kGroupClauseFieldNumber = 6, + kWindowClauseFieldNumber = 9, + kValuesListsFieldNumber = 10, + kSortClauseFieldNumber = 11, + kLockingClauseFieldNumber = 15, + kIntoClauseFieldNumber = 2, + kWhereClauseFieldNumber = 5, + kHavingClauseFieldNumber = 8, + kLimitOffsetFieldNumber = 12, + kLimitCountFieldNumber = 13, + kWithClauseFieldNumber = 16, + kLargFieldNumber = 19, + kRargFieldNumber = 20, + kGroupDistinctFieldNumber = 7, + kAllFieldNumber = 18, + kLimitOptionFieldNumber = 14, + kOpFieldNumber = 17, + }; + // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; + int distinct_clause_size() const; private: - int _internal_fk_attrs_size() const; + int _internal_distinct_clause_size() const; + public: - void clear_fk_attrs(); - ::pg_query::Node* mutable_fk_attrs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fk_attrs(); + void clear_distinct_clause() ; + ::pg_query::Node* mutable_distinct_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_distinct_clause(); private: - const ::pg_query::Node& _internal_fk_attrs(int index) const; - ::pg_query::Node* _internal_add_fk_attrs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_distinct_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_distinct_clause(); public: - const ::pg_query::Node& fk_attrs(int index) const; - ::pg_query::Node* add_fk_attrs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fk_attrs() const; - - // repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"]; - int pk_attrs_size() const; + const ::pg_query::Node& distinct_clause(int index) const; + ::pg_query::Node* add_distinct_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + distinct_clause() const; + // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; + int target_list_size() const; private: - int _internal_pk_attrs_size() const; + int _internal_target_list_size() const; + public: - void clear_pk_attrs(); - ::pg_query::Node* mutable_pk_attrs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_pk_attrs(); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - const ::pg_query::Node& _internal_pk_attrs(int index) const; - ::pg_query::Node* _internal_add_pk_attrs(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - const ::pg_query::Node& pk_attrs(int index) const; - ::pg_query::Node* add_pk_attrs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - pk_attrs() const; - - // repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"]; - int fk_del_set_cols_size() const; + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; + int from_clause_size() const; private: - int _internal_fk_del_set_cols_size() const; + int _internal_from_clause_size() const; + public: - void clear_fk_del_set_cols(); - ::pg_query::Node* mutable_fk_del_set_cols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_fk_del_set_cols(); + void clear_from_clause() ; + ::pg_query::Node* mutable_from_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_from_clause(); private: - const ::pg_query::Node& _internal_fk_del_set_cols(int index) const; - ::pg_query::Node* _internal_add_fk_del_set_cols(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); public: - const ::pg_query::Node& fk_del_set_cols(int index) const; - ::pg_query::Node* add_fk_del_set_cols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - fk_del_set_cols() const; - - // repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"]; - int old_conpfeqop_size() const; + const ::pg_query::Node& from_clause(int index) const; + ::pg_query::Node* add_from_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + from_clause() const; + // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; + int group_clause_size() const; private: - int _internal_old_conpfeqop_size() const; + int _internal_group_clause_size() const; + public: - void clear_old_conpfeqop(); - ::pg_query::Node* mutable_old_conpfeqop(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_old_conpfeqop(); + void clear_group_clause() ; + ::pg_query::Node* mutable_group_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_group_clause(); private: - const ::pg_query::Node& _internal_old_conpfeqop(int index) const; - ::pg_query::Node* _internal_add_old_conpfeqop(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clause(); public: - const ::pg_query::Node& old_conpfeqop(int index) const; - ::pg_query::Node* add_old_conpfeqop(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - old_conpfeqop() const; - - // string conname = 2 [json_name = "conname"]; - void clear_conname(); - const std::string& conname() const; - template - void set_conname(ArgT0&& arg0, ArgT... args); - std::string* mutable_conname(); - PROTOBUF_NODISCARD std::string* release_conname(); - void set_allocated_conname(std::string* conname); + const ::pg_query::Node& group_clause(int index) const; + ::pg_query::Node* add_group_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + group_clause() const; + // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; + int window_clause_size() const; private: - const std::string& _internal_conname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conname(const std::string& value); - std::string* _internal_mutable_conname(); - public: + int _internal_window_clause_size() const; - // string cooked_expr = 8 [json_name = "cooked_expr"]; - void clear_cooked_expr(); - const std::string& cooked_expr() const; - template - void set_cooked_expr(ArgT0&& arg0, ArgT... args); - std::string* mutable_cooked_expr(); - PROTOBUF_NODISCARD std::string* release_cooked_expr(); - void set_allocated_cooked_expr(std::string* cooked_expr); - private: - const std::string& _internal_cooked_expr() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_cooked_expr(const std::string& value); - std::string* _internal_mutable_cooked_expr(); public: - - // string generated_when = 9 [json_name = "generated_when"]; - void clear_generated_when(); - const std::string& generated_when() const; - template - void set_generated_when(ArgT0&& arg0, ArgT... args); - std::string* mutable_generated_when(); - PROTOBUF_NODISCARD std::string* release_generated_when(); - void set_allocated_generated_when(std::string* generated_when); + void clear_window_clause() ; + ::pg_query::Node* mutable_window_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_window_clause(); private: - const std::string& _internal_generated_when() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_generated_when(const std::string& value); - std::string* _internal_mutable_generated_when(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_window_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_window_clause(); public: - - // string indexname = 15 [json_name = "indexname"]; - void clear_indexname(); - const std::string& indexname() const; - template - void set_indexname(ArgT0&& arg0, ArgT... args); - std::string* mutable_indexname(); - PROTOBUF_NODISCARD std::string* release_indexname(); - void set_allocated_indexname(std::string* indexname); + const ::pg_query::Node& window_clause(int index) const; + ::pg_query::Node* add_window_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + window_clause() const; + // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; + int values_lists_size() const; private: - const std::string& _internal_indexname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexname(const std::string& value); - std::string* _internal_mutable_indexname(); - public: + int _internal_values_lists_size() const; - // string indexspace = 16 [json_name = "indexspace"]; - void clear_indexspace(); - const std::string& indexspace() const; - template - void set_indexspace(ArgT0&& arg0, ArgT... args); - std::string* mutable_indexspace(); - PROTOBUF_NODISCARD std::string* release_indexspace(); - void set_allocated_indexspace(std::string* indexspace); - private: - const std::string& _internal_indexspace() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_indexspace(const std::string& value); - std::string* _internal_mutable_indexspace(); public: - - // string access_method = 18 [json_name = "access_method"]; - void clear_access_method(); - const std::string& access_method() const; - template - void set_access_method(ArgT0&& arg0, ArgT... args); - std::string* mutable_access_method(); - PROTOBUF_NODISCARD std::string* release_access_method(); - void set_allocated_access_method(std::string* access_method); + void clear_values_lists() ; + ::pg_query::Node* mutable_values_lists(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_values_lists(); private: - const std::string& _internal_access_method() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_method(const std::string& value); - std::string* _internal_mutable_access_method(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_values_lists() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_values_lists(); public: - - // string fk_matchtype = 23 [json_name = "fk_matchtype"]; - void clear_fk_matchtype(); - const std::string& fk_matchtype() const; - template - void set_fk_matchtype(ArgT0&& arg0, ArgT... args); - std::string* mutable_fk_matchtype(); - PROTOBUF_NODISCARD std::string* release_fk_matchtype(); - void set_allocated_fk_matchtype(std::string* fk_matchtype); + const ::pg_query::Node& values_lists(int index) const; + ::pg_query::Node* add_values_lists(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + values_lists() const; + // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; + int sort_clause_size() const; private: - const std::string& _internal_fk_matchtype() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_matchtype(const std::string& value); - std::string* _internal_mutable_fk_matchtype(); - public: + int _internal_sort_clause_size() const; - // string fk_upd_action = 24 [json_name = "fk_upd_action"]; - void clear_fk_upd_action(); - const std::string& fk_upd_action() const; - template - void set_fk_upd_action(ArgT0&& arg0, ArgT... args); - std::string* mutable_fk_upd_action(); - PROTOBUF_NODISCARD std::string* release_fk_upd_action(); - void set_allocated_fk_upd_action(std::string* fk_upd_action); - private: - const std::string& _internal_fk_upd_action() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_upd_action(const std::string& value); - std::string* _internal_mutable_fk_upd_action(); public: - - // string fk_del_action = 25 [json_name = "fk_del_action"]; - void clear_fk_del_action(); - const std::string& fk_del_action() const; - template - void set_fk_del_action(ArgT0&& arg0, ArgT... args); - std::string* mutable_fk_del_action(); - PROTOBUF_NODISCARD std::string* release_fk_del_action(); - void set_allocated_fk_del_action(std::string* fk_del_action); + void clear_sort_clause() ; + ::pg_query::Node* mutable_sort_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_sort_clause(); private: - const std::string& _internal_fk_del_action() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_fk_del_action(const std::string& value); - std::string* _internal_mutable_fk_del_action(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_sort_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_sort_clause(); public: - - // .pg_query.Node raw_expr = 7 [json_name = "raw_expr"]; - bool has_raw_expr() const; + const ::pg_query::Node& sort_clause(int index) const; + ::pg_query::Node* add_sort_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + sort_clause() const; + // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; + int locking_clause_size() const; private: - bool _internal_has_raw_expr() const; + int _internal_locking_clause_size() const; + public: - void clear_raw_expr(); - const ::pg_query::Node& raw_expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_raw_expr(); - ::pg_query::Node* mutable_raw_expr(); - void set_allocated_raw_expr(::pg_query::Node* raw_expr); + void clear_locking_clause() ; + ::pg_query::Node* mutable_locking_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_locking_clause(); private: - const ::pg_query::Node& _internal_raw_expr() const; - ::pg_query::Node* _internal_mutable_raw_expr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_locking_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_locking_clause(); public: - void unsafe_arena_set_allocated_raw_expr( - ::pg_query::Node* raw_expr); - ::pg_query::Node* unsafe_arena_release_raw_expr(); + const ::pg_query::Node& locking_clause(int index) const; + ::pg_query::Node* add_locking_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + locking_clause() const; + // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; + bool has_into_clause() const; + void clear_into_clause() ; + const ::pg_query::IntoClause& into_clause() const; + PROTOBUF_NODISCARD ::pg_query::IntoClause* release_into_clause(); + ::pg_query::IntoClause* mutable_into_clause(); + void set_allocated_into_clause(::pg_query::IntoClause* value); + void unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value); + ::pg_query::IntoClause* unsafe_arena_release_into_clause(); - // .pg_query.Node where_clause = 19 [json_name = "where_clause"]; - bool has_where_clause() const; private: - bool _internal_has_where_clause() const; + const ::pg_query::IntoClause& _internal_into_clause() const; + ::pg_query::IntoClause* _internal_mutable_into_clause(); + public: - void clear_where_clause(); + // .pg_query.Node where_clause = 5 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; const ::pg_query::Node& where_clause() const; PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); + private: const ::pg_query::Node& _internal_where_clause() const; ::pg_query::Node* _internal_mutable_where_clause(); - public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); - // .pg_query.RangeVar pktable = 20 [json_name = "pktable"]; - bool has_pktable() const; - private: - bool _internal_has_pktable() const; - public: - void clear_pktable(); - const ::pg_query::RangeVar& pktable() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_pktable(); - ::pg_query::RangeVar* mutable_pktable(); - void set_allocated_pktable(::pg_query::RangeVar* pktable); - private: - const ::pg_query::RangeVar& _internal_pktable() const; - ::pg_query::RangeVar* _internal_mutable_pktable(); public: - void unsafe_arena_set_allocated_pktable( - ::pg_query::RangeVar* pktable); - ::pg_query::RangeVar* unsafe_arena_release_pktable(); + // .pg_query.Node having_clause = 8 [json_name = "havingClause"]; + bool has_having_clause() const; + void clear_having_clause() ; + const ::pg_query::Node& having_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_having_clause(); + ::pg_query::Node* mutable_having_clause(); + void set_allocated_having_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_having_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_having_clause(); - // .pg_query.ConstrType contype = 1 [json_name = "contype"]; - void clear_contype(); - ::pg_query::ConstrType contype() const; - void set_contype(::pg_query::ConstrType value); private: - ::pg_query::ConstrType _internal_contype() const; - void _internal_set_contype(::pg_query::ConstrType value); + const ::pg_query::Node& _internal_having_clause() const; + ::pg_query::Node* _internal_mutable_having_clause(); + public: + // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; + bool has_limit_offset() const; + void clear_limit_offset() ; + const ::pg_query::Node& limit_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_offset(); + ::pg_query::Node* mutable_limit_offset(); + void set_allocated_limit_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_offset(); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Node& _internal_limit_offset() const; + ::pg_query::Node* _internal_mutable_limit_offset(); + public: + // .pg_query.Node limit_count = 13 [json_name = "limitCount"]; + bool has_limit_count() const; + void clear_limit_count() ; + const ::pg_query::Node& limit_count() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_limit_count(); + ::pg_query::Node* mutable_limit_count(); + void set_allocated_limit_count(::pg_query::Node* value); + void unsafe_arena_set_allocated_limit_count(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_limit_count(); - // bool deferrable = 3 [json_name = "deferrable"]; - void clear_deferrable(); - bool deferrable() const; - void set_deferrable(bool value); private: - bool _internal_deferrable() const; - void _internal_set_deferrable(bool value); + const ::pg_query::Node& _internal_limit_count() const; + ::pg_query::Node* _internal_mutable_limit_count(); + public: + // .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); - // bool initdeferred = 4 [json_name = "initdeferred"]; - void clear_initdeferred(); - bool initdeferred() const; - void set_initdeferred(bool value); private: - bool _internal_initdeferred() const; - void _internal_set_initdeferred(bool value); + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + public: + // .pg_query.SelectStmt larg = 19 [json_name = "larg"]; + bool has_larg() const; + void clear_larg() ; + const ::pg_query::SelectStmt& larg() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_larg(); + ::pg_query::SelectStmt* mutable_larg(); + void set_allocated_larg(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_larg(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_larg(); - // bool is_no_inherit = 6 [json_name = "is_no_inherit"]; - void clear_is_no_inherit(); - bool is_no_inherit() const; - void set_is_no_inherit(bool value); private: - bool _internal_is_no_inherit() const; - void _internal_set_is_no_inherit(bool value); + const ::pg_query::SelectStmt& _internal_larg() const; + ::pg_query::SelectStmt* _internal_mutable_larg(); + public: + // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; + bool has_rarg() const; + void clear_rarg() ; + const ::pg_query::SelectStmt& rarg() const; + PROTOBUF_NODISCARD ::pg_query::SelectStmt* release_rarg(); + ::pg_query::SelectStmt* mutable_rarg(); + void set_allocated_rarg(::pg_query::SelectStmt* value); + void unsafe_arena_set_allocated_rarg(::pg_query::SelectStmt* value); + ::pg_query::SelectStmt* unsafe_arena_release_rarg(); - // bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"]; - void clear_nulls_not_distinct(); - bool nulls_not_distinct() const; - void set_nulls_not_distinct(bool value); private: - bool _internal_nulls_not_distinct() const; - void _internal_set_nulls_not_distinct(bool value); + const ::pg_query::SelectStmt& _internal_rarg() const; + ::pg_query::SelectStmt* _internal_mutable_rarg(); + public: + // bool group_distinct = 7 [json_name = "groupDistinct"]; + void clear_group_distinct() ; + bool group_distinct() const; + void set_group_distinct(bool value); - // bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"]; - void clear_reset_default_tblspc(); - bool reset_default_tblspc() const; - void set_reset_default_tblspc(bool value); private: - bool _internal_reset_default_tblspc() const; - void _internal_set_reset_default_tblspc(bool value); + bool _internal_group_distinct() const; + void _internal_set_group_distinct(bool value); + public: + // bool all = 18 [json_name = "all"]; + void clear_all() ; + bool all() const; + void set_all(bool value); - // bool skip_validation = 29 [json_name = "skip_validation"]; - void clear_skip_validation(); - bool skip_validation() const; - void set_skip_validation(bool value); private: - bool _internal_skip_validation() const; - void _internal_set_skip_validation(bool value); + bool _internal_all() const; + void _internal_set_all(bool value); + public: + // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; + void clear_limit_option() ; + ::pg_query::LimitOption limit_option() const; + void set_limit_option(::pg_query::LimitOption value); - // bool initially_valid = 30 [json_name = "initially_valid"]; - void clear_initially_valid(); - bool initially_valid() const; - void set_initially_valid(bool value); private: - bool _internal_initially_valid() const; - void _internal_set_initially_valid(bool value); + ::pg_query::LimitOption _internal_limit_option() const; + void _internal_set_limit_option(::pg_query::LimitOption value); + public: + // .pg_query.SetOperation op = 17 [json_name = "op"]; + void clear_op() ; + ::pg_query::SetOperation op() const; + void set_op(::pg_query::SetOperation value); - // uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"]; - void clear_old_pktable_oid(); - uint32_t old_pktable_oid() const; - void set_old_pktable_oid(uint32_t value); private: - uint32_t _internal_old_pktable_oid() const; - void _internal_set_old_pktable_oid(uint32_t value); - public: + ::pg_query::SetOperation _internal_op() const; + void _internal_set_op(::pg_query::SetOperation value); - // @@protoc_insertion_point(class_scope:pg_query.Constraint) + public: + // @@protoc_insertion_point(class_scope:pg_query.SelectStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 20, 16, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > keys_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > including_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > exclusions_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > options_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fk_attrs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > pk_attrs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > fk_del_set_cols_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > old_conpfeqop_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cooked_expr_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr generated_when_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr indexname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr indexspace_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr access_method_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fk_matchtype_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fk_upd_action_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr fk_del_action_; - ::pg_query::Node* raw_expr_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > distinct_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > window_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > values_lists_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > sort_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > locking_clause_; + ::pg_query::IntoClause* into_clause_; ::pg_query::Node* where_clause_; - ::pg_query::RangeVar* pktable_; - int contype_; - int32_t location_; - bool deferrable_; - bool initdeferred_; - bool is_no_inherit_; - bool nulls_not_distinct_; - bool reset_default_tblspc_; - bool skip_validation_; - bool initially_valid_; - uint32_t old_pktable_oid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::pg_query::Node* having_clause_; + ::pg_query::Node* limit_offset_; + ::pg_query::Node* limit_count_; + ::pg_query::WithClause* with_clause_; + ::pg_query::SelectStmt* larg_; + ::pg_query::SelectStmt* rarg_; + bool group_distinct_; + bool all_; + int limit_option_; + int op_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class DefElem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.DefElem) */ { +class SetOperationStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetOperationStmt) */ { public: - inline DefElem() : DefElem(nullptr) {} - ~DefElem() override; - explicit PROTOBUF_CONSTEXPR DefElem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SetOperationStmt() : SetOperationStmt(nullptr) {} + ~SetOperationStmt() override; + template + explicit PROTOBUF_CONSTEXPR SetOperationStmt(::google::protobuf::internal::ConstantInitialized); - DefElem(const DefElem& from); - DefElem(DefElem&& from) noexcept - : DefElem() { + inline SetOperationStmt(const SetOperationStmt& from) + : SetOperationStmt(nullptr, from) {} + SetOperationStmt(SetOperationStmt&& from) noexcept + : SetOperationStmt() { *this = ::std::move(from); } - inline DefElem& operator=(const DefElem& from) { + inline SetOperationStmt& operator=(const SetOperationStmt& from) { CopyFrom(from); return *this; } - inline DefElem& operator=(DefElem&& from) noexcept { + inline SetOperationStmt& operator=(SetOperationStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -53439,208 +68800,299 @@ class DefElem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const DefElem& default_instance() { + static const SetOperationStmt& default_instance() { return *internal_default_instance(); } - static inline const DefElem* internal_default_instance() { - return reinterpret_cast( - &_DefElem_default_instance_); + static inline const SetOperationStmt* internal_default_instance() { + return reinterpret_cast( + &_SetOperationStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 206; + 148; - friend void swap(DefElem& a, DefElem& b) { + friend void swap(SetOperationStmt& a, SetOperationStmt& b) { a.Swap(&b); } - inline void Swap(DefElem* other) { + inline void Swap(SetOperationStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(DefElem* other) { + void UnsafeArenaSwap(SetOperationStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - DefElem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SetOperationStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const DefElem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const DefElem& from) { - DefElem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetOperationStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SetOperationStmt& from) { + SetOperationStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(DefElem* other); + void InternalSwap(SetOperationStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.DefElem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SetOperationStmt"; } protected: - explicit DefElem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SetOperationStmt(::google::protobuf::Arena* arena); + SetOperationStmt(::google::protobuf::Arena* arena, const SetOperationStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kDefnamespaceFieldNumber = 1, - kDefnameFieldNumber = 2, - kArgFieldNumber = 3, - kDefactionFieldNumber = 4, - kLocationFieldNumber = 5, + kColTypesFieldNumber = 5, + kColTypmodsFieldNumber = 6, + kColCollationsFieldNumber = 7, + kGroupClausesFieldNumber = 8, + kLargFieldNumber = 3, + kRargFieldNumber = 4, + kOpFieldNumber = 1, + kAllFieldNumber = 2, }; - // string defnamespace = 1 [json_name = "defnamespace"]; - void clear_defnamespace(); - const std::string& defnamespace() const; - template - void set_defnamespace(ArgT0&& arg0, ArgT... args); - std::string* mutable_defnamespace(); - PROTOBUF_NODISCARD std::string* release_defnamespace(); - void set_allocated_defnamespace(std::string* defnamespace); + // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; + int col_types_size() const; private: - const std::string& _internal_defnamespace() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_defnamespace(const std::string& value); - std::string* _internal_mutable_defnamespace(); + int _internal_col_types_size() const; + + public: + void clear_col_types() ; + ::pg_query::Node* mutable_col_types(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_types(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_types() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_types(); public: + const ::pg_query::Node& col_types(int index) const; + ::pg_query::Node* add_col_types(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_types() const; + // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; + int col_typmods_size() const; + private: + int _internal_col_typmods_size() const; - // string defname = 2 [json_name = "defname"]; - void clear_defname(); - const std::string& defname() const; - template - void set_defname(ArgT0&& arg0, ArgT... args); - std::string* mutable_defname(); - PROTOBUF_NODISCARD std::string* release_defname(); - void set_allocated_defname(std::string* defname); + public: + void clear_col_typmods() ; + ::pg_query::Node* mutable_col_typmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_typmods(); private: - const std::string& _internal_defname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_defname(const std::string& value); - std::string* _internal_mutable_defname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_typmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_typmods(); + public: + const ::pg_query::Node& col_typmods(int index) const; + ::pg_query::Node* add_col_typmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_typmods() const; + // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; + int col_collations_size() const; + private: + int _internal_col_collations_size() const; + + public: + void clear_col_collations() ; + ::pg_query::Node* mutable_col_collations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_col_collations(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_col_collations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_col_collations(); public: + const ::pg_query::Node& col_collations(int index) const; + ::pg_query::Node* add_col_collations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + col_collations() const; + // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; + int group_clauses_size() const; + private: + int _internal_group_clauses_size() const; + + public: + void clear_group_clauses() ; + ::pg_query::Node* mutable_group_clauses(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_group_clauses(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_group_clauses() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_group_clauses(); + public: + const ::pg_query::Node& group_clauses(int index) const; + ::pg_query::Node* add_group_clauses(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + group_clauses() const; + // .pg_query.Node larg = 3 [json_name = "larg"]; + bool has_larg() const; + void clear_larg() ; + const ::pg_query::Node& larg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_larg(); + ::pg_query::Node* mutable_larg(); + void set_allocated_larg(::pg_query::Node* value); + void unsafe_arena_set_allocated_larg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_larg(); - // .pg_query.Node arg = 3 [json_name = "arg"]; - bool has_arg() const; private: - bool _internal_has_arg() const; + const ::pg_query::Node& _internal_larg() const; + ::pg_query::Node* _internal_mutable_larg(); + public: - void clear_arg(); - const ::pg_query::Node& arg() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); - ::pg_query::Node* mutable_arg(); - void set_allocated_arg(::pg_query::Node* arg); + // .pg_query.Node rarg = 4 [json_name = "rarg"]; + bool has_rarg() const; + void clear_rarg() ; + const ::pg_query::Node& rarg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rarg(); + ::pg_query::Node* mutable_rarg(); + void set_allocated_rarg(::pg_query::Node* value); + void unsafe_arena_set_allocated_rarg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rarg(); + private: - const ::pg_query::Node& _internal_arg() const; - ::pg_query::Node* _internal_mutable_arg(); + const ::pg_query::Node& _internal_rarg() const; + ::pg_query::Node* _internal_mutable_rarg(); + public: - void unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg); - ::pg_query::Node* unsafe_arena_release_arg(); + // .pg_query.SetOperation op = 1 [json_name = "op"]; + void clear_op() ; + ::pg_query::SetOperation op() const; + void set_op(::pg_query::SetOperation value); - // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; - void clear_defaction(); - ::pg_query::DefElemAction defaction() const; - void set_defaction(::pg_query::DefElemAction value); private: - ::pg_query::DefElemAction _internal_defaction() const; - void _internal_set_defaction(::pg_query::DefElemAction value); + ::pg_query::SetOperation _internal_op() const; + void _internal_set_op(::pg_query::SetOperation value); + public: + // bool all = 2 [json_name = "all"]; + void clear_all() ; + bool all() const; + void set_all(bool value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_all() const; + void _internal_set_all(bool value); - // @@protoc_insertion_point(class_scope:pg_query.DefElem) + public: + // @@protoc_insertion_point(class_scope:pg_query.SetOperationStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr defnamespace_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr defname_; - ::pg_query::Node* arg_; - int defaction_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_types_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_typmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > col_collations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > group_clauses_; + ::pg_query::Node* larg_; + ::pg_query::Node* rarg_; + int op_; + bool all_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTblEntry final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblEntry) */ { +class SetToDefault final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SetToDefault) */ { public: - inline RangeTblEntry() : RangeTblEntry(nullptr) {} - ~RangeTblEntry() override; - explicit PROTOBUF_CONSTEXPR RangeTblEntry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SetToDefault() : SetToDefault(nullptr) {} + ~SetToDefault() override; + template + explicit PROTOBUF_CONSTEXPR SetToDefault(::google::protobuf::internal::ConstantInitialized); - RangeTblEntry(const RangeTblEntry& from); - RangeTblEntry(RangeTblEntry&& from) noexcept - : RangeTblEntry() { + inline SetToDefault(const SetToDefault& from) + : SetToDefault(nullptr, from) {} + SetToDefault(SetToDefault&& from) noexcept + : SetToDefault() { *this = ::std::move(from); } - inline RangeTblEntry& operator=(const RangeTblEntry& from) { + inline SetToDefault& operator=(const SetToDefault& from) { CopyFrom(from); return *this; } - inline RangeTblEntry& operator=(RangeTblEntry&& from) noexcept { + inline SetToDefault& operator=(SetToDefault&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -53650,747 +69102,226 @@ class RangeTblEntry final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTblEntry& default_instance() { + static const SetToDefault& default_instance() { return *internal_default_instance(); } - static inline const RangeTblEntry* internal_default_instance() { - return reinterpret_cast( - &_RangeTblEntry_default_instance_); + static inline const SetToDefault* internal_default_instance() { + return reinterpret_cast( + &_SetToDefault_default_instance_); } static constexpr int kIndexInFileMessages = - 207; + 66; - friend void swap(RangeTblEntry& a, RangeTblEntry& b) { + friend void swap(SetToDefault& a, SetToDefault& b) { a.Swap(&b); } - inline void Swap(RangeTblEntry* other) { + inline void Swap(SetToDefault* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTblEntry* other) { + void UnsafeArenaSwap(SetToDefault* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTblEntry* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SetToDefault* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTblEntry& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTblEntry& from) { - RangeTblEntry::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetToDefault& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SetToDefault& from) { + SetToDefault::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTblEntry* other); + void InternalSwap(SetToDefault* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTblEntry"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SetToDefault"; } protected: - explicit RangeTblEntry(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SetToDefault(::google::protobuf::Arena* arena); + SetToDefault(::google::protobuf::Arena* arena, const SetToDefault& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kJoinaliasvarsFieldNumber = 10, - kJoinleftcolsFieldNumber = 11, - kJoinrightcolsFieldNumber = 12, - kFunctionsFieldNumber = 14, - kValuesListsFieldNumber = 17, - kColtypesFieldNumber = 21, - kColtypmodsFieldNumber = 22, - kColcollationsFieldNumber = 23, - kSelectedColsFieldNumber = 33, - kInsertedColsFieldNumber = 34, - kUpdatedColsFieldNumber = 35, - kExtraUpdatedColsFieldNumber = 36, - kSecurityQualsFieldNumber = 37, - kRelkindFieldNumber = 3, - kCtenameFieldNumber = 18, - kEnrnameFieldNumber = 24, - kTablesampleFieldNumber = 5, - kSubqueryFieldNumber = 6, - kJoinUsingAliasFieldNumber = 13, - kTablefuncFieldNumber = 16, - kAliasFieldNumber = 26, - kErefFieldNumber = 27, - kRtekindFieldNumber = 1, - kRelidFieldNumber = 2, - kRellockmodeFieldNumber = 4, - kJointypeFieldNumber = 8, - kJoinmergedcolsFieldNumber = 9, - kSecurityBarrierFieldNumber = 7, - kFuncordinalityFieldNumber = 15, - kSelfReferenceFieldNumber = 20, - kLateralFieldNumber = 28, - kEnrtuplesFieldNumber = 25, - kCtelevelsupFieldNumber = 19, - kInhFieldNumber = 29, - kInFromClFieldNumber = 30, - kRequiredPermsFieldNumber = 31, - kCheckAsUserFieldNumber = 32, - }; - // repeated .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"]; - int joinaliasvars_size() const; - private: - int _internal_joinaliasvars_size() const; - public: - void clear_joinaliasvars(); - ::pg_query::Node* mutable_joinaliasvars(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_joinaliasvars(); - private: - const ::pg_query::Node& _internal_joinaliasvars(int index) const; - ::pg_query::Node* _internal_add_joinaliasvars(); - public: - const ::pg_query::Node& joinaliasvars(int index) const; - ::pg_query::Node* add_joinaliasvars(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - joinaliasvars() const; - - // repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"]; - int joinleftcols_size() const; - private: - int _internal_joinleftcols_size() const; - public: - void clear_joinleftcols(); - ::pg_query::Node* mutable_joinleftcols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_joinleftcols(); - private: - const ::pg_query::Node& _internal_joinleftcols(int index) const; - ::pg_query::Node* _internal_add_joinleftcols(); - public: - const ::pg_query::Node& joinleftcols(int index) const; - ::pg_query::Node* add_joinleftcols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - joinleftcols() const; - - // repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"]; - int joinrightcols_size() const; - private: - int _internal_joinrightcols_size() const; - public: - void clear_joinrightcols(); - ::pg_query::Node* mutable_joinrightcols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_joinrightcols(); - private: - const ::pg_query::Node& _internal_joinrightcols(int index) const; - ::pg_query::Node* _internal_add_joinrightcols(); - public: - const ::pg_query::Node& joinrightcols(int index) const; - ::pg_query::Node* add_joinrightcols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - joinrightcols() const; - - // repeated .pg_query.Node functions = 14 [json_name = "functions"]; - int functions_size() const; - private: - int _internal_functions_size() const; - public: - void clear_functions(); - ::pg_query::Node* mutable_functions(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_functions(); - private: - const ::pg_query::Node& _internal_functions(int index) const; - ::pg_query::Node* _internal_add_functions(); - public: - const ::pg_query::Node& functions(int index) const; - ::pg_query::Node* add_functions(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - functions() const; - - // repeated .pg_query.Node values_lists = 17 [json_name = "values_lists"]; - int values_lists_size() const; - private: - int _internal_values_lists_size() const; - public: - void clear_values_lists(); - ::pg_query::Node* mutable_values_lists(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_values_lists(); - private: - const ::pg_query::Node& _internal_values_lists(int index) const; - ::pg_query::Node* _internal_add_values_lists(); - public: - const ::pg_query::Node& values_lists(int index) const; - ::pg_query::Node* add_values_lists(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - values_lists() const; - - // repeated .pg_query.Node coltypes = 21 [json_name = "coltypes"]; - int coltypes_size() const; - private: - int _internal_coltypes_size() const; - public: - void clear_coltypes(); - ::pg_query::Node* mutable_coltypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypes(); - private: - const ::pg_query::Node& _internal_coltypes(int index) const; - ::pg_query::Node* _internal_add_coltypes(); - public: - const ::pg_query::Node& coltypes(int index) const; - ::pg_query::Node* add_coltypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coltypes() const; - - // repeated .pg_query.Node coltypmods = 22 [json_name = "coltypmods"]; - int coltypmods_size() const; - private: - int _internal_coltypmods_size() const; - public: - void clear_coltypmods(); - ::pg_query::Node* mutable_coltypmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_coltypmods(); - private: - const ::pg_query::Node& _internal_coltypmods(int index) const; - ::pg_query::Node* _internal_add_coltypmods(); - public: - const ::pg_query::Node& coltypmods(int index) const; - ::pg_query::Node* add_coltypmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - coltypmods() const; - - // repeated .pg_query.Node colcollations = 23 [json_name = "colcollations"]; - int colcollations_size() const; - private: - int _internal_colcollations_size() const; - public: - void clear_colcollations(); - ::pg_query::Node* mutable_colcollations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_colcollations(); - private: - const ::pg_query::Node& _internal_colcollations(int index) const; - ::pg_query::Node* _internal_add_colcollations(); - public: - const ::pg_query::Node& colcollations(int index) const; - ::pg_query::Node* add_colcollations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - colcollations() const; - - // repeated uint64 selected_cols = 33 [json_name = "selectedCols"]; - int selected_cols_size() const; - private: - int _internal_selected_cols_size() const; - public: - void clear_selected_cols(); - private: - uint64_t _internal_selected_cols(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_selected_cols() const; - void _internal_add_selected_cols(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_selected_cols(); - public: - uint64_t selected_cols(int index) const; - void set_selected_cols(int index, uint64_t value); - void add_selected_cols(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - selected_cols() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_selected_cols(); - - // repeated uint64 inserted_cols = 34 [json_name = "insertedCols"]; - int inserted_cols_size() const; - private: - int _internal_inserted_cols_size() const; - public: - void clear_inserted_cols(); - private: - uint64_t _internal_inserted_cols(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_inserted_cols() const; - void _internal_add_inserted_cols(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_inserted_cols(); - public: - uint64_t inserted_cols(int index) const; - void set_inserted_cols(int index, uint64_t value); - void add_inserted_cols(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - inserted_cols() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_inserted_cols(); - - // repeated uint64 updated_cols = 35 [json_name = "updatedCols"]; - int updated_cols_size() const; - private: - int _internal_updated_cols_size() const; - public: - void clear_updated_cols(); - private: - uint64_t _internal_updated_cols(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_updated_cols() const; - void _internal_add_updated_cols(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_updated_cols(); - public: - uint64_t updated_cols(int index) const; - void set_updated_cols(int index, uint64_t value); - void add_updated_cols(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - updated_cols() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_updated_cols(); - - // repeated uint64 extra_updated_cols = 36 [json_name = "extraUpdatedCols"]; - int extra_updated_cols_size() const; - private: - int _internal_extra_updated_cols_size() const; - public: - void clear_extra_updated_cols(); - private: - uint64_t _internal_extra_updated_cols(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_extra_updated_cols() const; - void _internal_add_extra_updated_cols(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_extra_updated_cols(); - public: - uint64_t extra_updated_cols(int index) const; - void set_extra_updated_cols(int index, uint64_t value); - void add_extra_updated_cols(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - extra_updated_cols() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_extra_updated_cols(); - - // repeated .pg_query.Node security_quals = 37 [json_name = "securityQuals"]; - int security_quals_size() const; - private: - int _internal_security_quals_size() const; - public: - void clear_security_quals(); - ::pg_query::Node* mutable_security_quals(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_security_quals(); - private: - const ::pg_query::Node& _internal_security_quals(int index) const; - ::pg_query::Node* _internal_add_security_quals(); - public: - const ::pg_query::Node& security_quals(int index) const; - ::pg_query::Node* add_security_quals(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - security_quals() const; - - // string relkind = 3 [json_name = "relkind"]; - void clear_relkind(); - const std::string& relkind() const; - template - void set_relkind(ArgT0&& arg0, ArgT... args); - std::string* mutable_relkind(); - PROTOBUF_NODISCARD std::string* release_relkind(); - void set_allocated_relkind(std::string* relkind); - private: - const std::string& _internal_relkind() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relkind(const std::string& value); - std::string* _internal_mutable_relkind(); - public: - - // string ctename = 18 [json_name = "ctename"]; - void clear_ctename(); - const std::string& ctename() const; - template - void set_ctename(ArgT0&& arg0, ArgT... args); - std::string* mutable_ctename(); - PROTOBUF_NODISCARD std::string* release_ctename(); - void set_allocated_ctename(std::string* ctename); - private: - const std::string& _internal_ctename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename(const std::string& value); - std::string* _internal_mutable_ctename(); - public: - - // string enrname = 24 [json_name = "enrname"]; - void clear_enrname(); - const std::string& enrname() const; - template - void set_enrname(ArgT0&& arg0, ArgT... args); - std::string* mutable_enrname(); - PROTOBUF_NODISCARD std::string* release_enrname(); - void set_allocated_enrname(std::string* enrname); - private: - const std::string& _internal_enrname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_enrname(const std::string& value); - std::string* _internal_mutable_enrname(); - public: - - // .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"]; - bool has_tablesample() const; - private: - bool _internal_has_tablesample() const; - public: - void clear_tablesample(); - const ::pg_query::TableSampleClause& tablesample() const; - PROTOBUF_NODISCARD ::pg_query::TableSampleClause* release_tablesample(); - ::pg_query::TableSampleClause* mutable_tablesample(); - void set_allocated_tablesample(::pg_query::TableSampleClause* tablesample); - private: - const ::pg_query::TableSampleClause& _internal_tablesample() const; - ::pg_query::TableSampleClause* _internal_mutable_tablesample(); - public: - void unsafe_arena_set_allocated_tablesample( - ::pg_query::TableSampleClause* tablesample); - ::pg_query::TableSampleClause* unsafe_arena_release_tablesample(); - - // .pg_query.Query subquery = 6 [json_name = "subquery"]; - bool has_subquery() const; - private: - bool _internal_has_subquery() const; - public: - void clear_subquery(); - const ::pg_query::Query& subquery() const; - PROTOBUF_NODISCARD ::pg_query::Query* release_subquery(); - ::pg_query::Query* mutable_subquery(); - void set_allocated_subquery(::pg_query::Query* subquery); - private: - const ::pg_query::Query& _internal_subquery() const; - ::pg_query::Query* _internal_mutable_subquery(); - public: - void unsafe_arena_set_allocated_subquery( - ::pg_query::Query* subquery); - ::pg_query::Query* unsafe_arena_release_subquery(); - - // .pg_query.Alias join_using_alias = 13 [json_name = "join_using_alias"]; - bool has_join_using_alias() const; - private: - bool _internal_has_join_using_alias() const; - public: - void clear_join_using_alias(); - const ::pg_query::Alias& join_using_alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_join_using_alias(); - ::pg_query::Alias* mutable_join_using_alias(); - void set_allocated_join_using_alias(::pg_query::Alias* join_using_alias); - private: - const ::pg_query::Alias& _internal_join_using_alias() const; - ::pg_query::Alias* _internal_mutable_join_using_alias(); - public: - void unsafe_arena_set_allocated_join_using_alias( - ::pg_query::Alias* join_using_alias); - ::pg_query::Alias* unsafe_arena_release_join_using_alias(); - - // .pg_query.TableFunc tablefunc = 16 [json_name = "tablefunc"]; - bool has_tablefunc() const; - private: - bool _internal_has_tablefunc() const; - public: - void clear_tablefunc(); - const ::pg_query::TableFunc& tablefunc() const; - PROTOBUF_NODISCARD ::pg_query::TableFunc* release_tablefunc(); - ::pg_query::TableFunc* mutable_tablefunc(); - void set_allocated_tablefunc(::pg_query::TableFunc* tablefunc); - private: - const ::pg_query::TableFunc& _internal_tablefunc() const; - ::pg_query::TableFunc* _internal_mutable_tablefunc(); - public: - void unsafe_arena_set_allocated_tablefunc( - ::pg_query::TableFunc* tablefunc); - ::pg_query::TableFunc* unsafe_arena_release_tablefunc(); - - // .pg_query.Alias alias = 26 [json_name = "alias"]; - bool has_alias() const; - private: - bool _internal_has_alias() const; - public: - void clear_alias(); - const ::pg_query::Alias& alias() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_alias(); - ::pg_query::Alias* mutable_alias(); - void set_allocated_alias(::pg_query::Alias* alias); - private: - const ::pg_query::Alias& _internal_alias() const; - ::pg_query::Alias* _internal_mutable_alias(); - public: - void unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias); - ::pg_query::Alias* unsafe_arena_release_alias(); - - // .pg_query.Alias eref = 27 [json_name = "eref"]; - bool has_eref() const; - private: - bool _internal_has_eref() const; - public: - void clear_eref(); - const ::pg_query::Alias& eref() const; - PROTOBUF_NODISCARD ::pg_query::Alias* release_eref(); - ::pg_query::Alias* mutable_eref(); - void set_allocated_eref(::pg_query::Alias* eref); - private: - const ::pg_query::Alias& _internal_eref() const; - ::pg_query::Alias* _internal_mutable_eref(); - public: - void unsafe_arena_set_allocated_eref( - ::pg_query::Alias* eref); - ::pg_query::Alias* unsafe_arena_release_eref(); - - // .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"]; - void clear_rtekind(); - ::pg_query::RTEKind rtekind() const; - void set_rtekind(::pg_query::RTEKind value); - private: - ::pg_query::RTEKind _internal_rtekind() const; - void _internal_set_rtekind(::pg_query::RTEKind value); - public: - - // uint32 relid = 2 [json_name = "relid"]; - void clear_relid(); - uint32_t relid() const; - void set_relid(uint32_t value); - private: - uint32_t _internal_relid() const; - void _internal_set_relid(uint32_t value); - public: - - // int32 rellockmode = 4 [json_name = "rellockmode"]; - void clear_rellockmode(); - int32_t rellockmode() const; - void set_rellockmode(int32_t value); - private: - int32_t _internal_rellockmode() const; - void _internal_set_rellockmode(int32_t value); - public: - - // .pg_query.JoinType jointype = 8 [json_name = "jointype"]; - void clear_jointype(); - ::pg_query::JoinType jointype() const; - void set_jointype(::pg_query::JoinType value); - private: - ::pg_query::JoinType _internal_jointype() const; - void _internal_set_jointype(::pg_query::JoinType value); - public: - - // int32 joinmergedcols = 9 [json_name = "joinmergedcols"]; - void clear_joinmergedcols(); - int32_t joinmergedcols() const; - void set_joinmergedcols(int32_t value); - private: - int32_t _internal_joinmergedcols() const; - void _internal_set_joinmergedcols(int32_t value); - public: + kXprFieldNumber = 1, + kTypeIdFieldNumber = 2, + kTypeModFieldNumber = 3, + kCollationFieldNumber = 4, + kLocationFieldNumber = 5, + }; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // bool security_barrier = 7 [json_name = "security_barrier"]; - void clear_security_barrier(); - bool security_barrier() const; - void set_security_barrier(bool value); private: - bool _internal_security_barrier() const; - void _internal_set_security_barrier(bool value); - public: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); - // bool funcordinality = 15 [json_name = "funcordinality"]; - void clear_funcordinality(); - bool funcordinality() const; - void set_funcordinality(bool value); - private: - bool _internal_funcordinality() const; - void _internal_set_funcordinality(bool value); public: + // uint32 type_id = 2 [json_name = "typeId"]; + void clear_type_id() ; + ::uint32_t type_id() const; + void set_type_id(::uint32_t value); - // bool self_reference = 20 [json_name = "self_reference"]; - void clear_self_reference(); - bool self_reference() const; - void set_self_reference(bool value); private: - bool _internal_self_reference() const; - void _internal_set_self_reference(bool value); - public: + ::uint32_t _internal_type_id() const; + void _internal_set_type_id(::uint32_t value); - // bool lateral = 28 [json_name = "lateral"]; - void clear_lateral(); - bool lateral() const; - void set_lateral(bool value); - private: - bool _internal_lateral() const; - void _internal_set_lateral(bool value); public: + // int32 type_mod = 3 [json_name = "typeMod"]; + void clear_type_mod() ; + ::int32_t type_mod() const; + void set_type_mod(::int32_t value); - // double enrtuples = 25 [json_name = "enrtuples"]; - void clear_enrtuples(); - double enrtuples() const; - void set_enrtuples(double value); private: - double _internal_enrtuples() const; - void _internal_set_enrtuples(double value); - public: + ::int32_t _internal_type_mod() const; + void _internal_set_type_mod(::int32_t value); - // uint32 ctelevelsup = 19 [json_name = "ctelevelsup"]; - void clear_ctelevelsup(); - uint32_t ctelevelsup() const; - void set_ctelevelsup(uint32_t value); - private: - uint32_t _internal_ctelevelsup() const; - void _internal_set_ctelevelsup(uint32_t value); public: + // uint32 collation = 4 [json_name = "collation"]; + void clear_collation() ; + ::uint32_t collation() const; + void set_collation(::uint32_t value); - // bool inh = 29 [json_name = "inh"]; - void clear_inh(); - bool inh() const; - void set_inh(bool value); private: - bool _internal_inh() const; - void _internal_set_inh(bool value); - public: + ::uint32_t _internal_collation() const; + void _internal_set_collation(::uint32_t value); - // bool in_from_cl = 30 [json_name = "inFromCl"]; - void clear_in_from_cl(); - bool in_from_cl() const; - void set_in_from_cl(bool value); - private: - bool _internal_in_from_cl() const; - void _internal_set_in_from_cl(bool value); public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // uint32 required_perms = 31 [json_name = "requiredPerms"]; - void clear_required_perms(); - uint32_t required_perms() const; - void set_required_perms(uint32_t value); private: - uint32_t _internal_required_perms() const; - void _internal_set_required_perms(uint32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // uint32 check_as_user = 32 [json_name = "checkAsUser"]; - void clear_check_as_user(); - uint32_t check_as_user() const; - void set_check_as_user(uint32_t value); - private: - uint32_t _internal_check_as_user() const; - void _internal_set_check_as_user(uint32_t value); public: - - // @@protoc_insertion_point(class_scope:pg_query.RangeTblEntry) + // @@protoc_insertion_point(class_scope:pg_query.SetToDefault) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > joinaliasvars_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > joinleftcols_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > joinrightcols_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > functions_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > values_lists_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coltypes_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > coltypmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > colcollations_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > selected_cols_; - mutable std::atomic _selected_cols_cached_byte_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > inserted_cols_; - mutable std::atomic _inserted_cols_cached_byte_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > updated_cols_; - mutable std::atomic _updated_cols_cached_byte_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > extra_updated_cols_; - mutable std::atomic _extra_updated_cols_cached_byte_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > security_quals_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr relkind_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ctename_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr enrname_; - ::pg_query::TableSampleClause* tablesample_; - ::pg_query::Query* subquery_; - ::pg_query::Alias* join_using_alias_; - ::pg_query::TableFunc* tablefunc_; - ::pg_query::Alias* alias_; - ::pg_query::Alias* eref_; - int rtekind_; - uint32_t relid_; - int32_t rellockmode_; - int jointype_; - int32_t joinmergedcols_; - bool security_barrier_; - bool funcordinality_; - bool self_reference_; - bool lateral_; - double enrtuples_; - uint32_t ctelevelsup_; - bool inh_; - bool in_from_cl_; - uint32_t required_perms_; - uint32_t check_as_user_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::uint32_t type_id_; + ::int32_t type_mod_; + ::uint32_t collation_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RangeTblFunction final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RangeTblFunction) */ { +class SortBy final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SortBy) */ { public: - inline RangeTblFunction() : RangeTblFunction(nullptr) {} - ~RangeTblFunction() override; - explicit PROTOBUF_CONSTEXPR RangeTblFunction(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SortBy() : SortBy(nullptr) {} + ~SortBy() override; + template + explicit PROTOBUF_CONSTEXPR SortBy(::google::protobuf::internal::ConstantInitialized); - RangeTblFunction(const RangeTblFunction& from); - RangeTblFunction(RangeTblFunction&& from) noexcept - : RangeTblFunction() { + inline SortBy(const SortBy& from) + : SortBy(nullptr, from) {} + SortBy(SortBy&& from) noexcept + : SortBy() { *this = ::std::move(from); } - inline RangeTblFunction& operator=(const RangeTblFunction& from) { + inline SortBy& operator=(const SortBy& from) { CopyFrom(from); return *this; } - inline RangeTblFunction& operator=(RangeTblFunction&& from) noexcept { + inline SortBy& operator=(SortBy&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -54400,270 +69331,234 @@ class RangeTblFunction final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RangeTblFunction& default_instance() { + static const SortBy& default_instance() { return *internal_default_instance(); } - static inline const RangeTblFunction* internal_default_instance() { - return reinterpret_cast( - &_RangeTblFunction_default_instance_); + static inline const SortBy* internal_default_instance() { + return reinterpret_cast( + &_SortBy_default_instance_); } static constexpr int kIndexInFileMessages = - 208; + 90; - friend void swap(RangeTblFunction& a, RangeTblFunction& b) { + friend void swap(SortBy& a, SortBy& b) { a.Swap(&b); } - inline void Swap(RangeTblFunction* other) { + inline void Swap(SortBy* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RangeTblFunction* other) { + void UnsafeArenaSwap(SortBy* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RangeTblFunction* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SortBy* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RangeTblFunction& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RangeTblFunction& from) { - RangeTblFunction::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SortBy& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SortBy& from) { + SortBy::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RangeTblFunction* other); + void InternalSwap(SortBy* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RangeTblFunction"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SortBy"; } protected: - explicit RangeTblFunction(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SortBy(::google::protobuf::Arena* arena); + SortBy(::google::protobuf::Arena* arena, const SortBy& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- - // accessors ------------------------------------------------------- - - enum : int { - kFunccolnamesFieldNumber = 3, - kFunccoltypesFieldNumber = 4, - kFunccoltypmodsFieldNumber = 5, - kFunccolcollationsFieldNumber = 6, - kFuncparamsFieldNumber = 7, - kFuncexprFieldNumber = 1, - kFunccolcountFieldNumber = 2, - }; - // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; - int funccolnames_size() const; - private: - int _internal_funccolnames_size() const; - public: - void clear_funccolnames(); - ::pg_query::Node* mutable_funccolnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funccolnames(); - private: - const ::pg_query::Node& _internal_funccolnames(int index) const; - ::pg_query::Node* _internal_add_funccolnames(); - public: - const ::pg_query::Node& funccolnames(int index) const; - ::pg_query::Node* add_funccolnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funccolnames() const; - - // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; - int funccoltypes_size() const; - private: - int _internal_funccoltypes_size() const; - public: - void clear_funccoltypes(); - ::pg_query::Node* mutable_funccoltypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funccoltypes(); - private: - const ::pg_query::Node& _internal_funccoltypes(int index) const; - ::pg_query::Node* _internal_add_funccoltypes(); - public: - const ::pg_query::Node& funccoltypes(int index) const; - ::pg_query::Node* add_funccoltypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funccoltypes() const; - - // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; - int funccoltypmods_size() const; - private: - int _internal_funccoltypmods_size() const; - public: - void clear_funccoltypmods(); - ::pg_query::Node* mutable_funccoltypmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funccoltypmods(); - private: - const ::pg_query::Node& _internal_funccoltypmods(int index) const; - ::pg_query::Node* _internal_add_funccoltypmods(); - public: - const ::pg_query::Node& funccoltypmods(int index) const; - ::pg_query::Node* add_funccoltypmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funccoltypmods() const; - - // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; - int funccolcollations_size() const; + // accessors ------------------------------------------------------- + + enum : int { + kUseOpFieldNumber = 4, + kNodeFieldNumber = 1, + kSortbyDirFieldNumber = 2, + kSortbyNullsFieldNumber = 3, + kLocationFieldNumber = 5, + }; + // repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; + int use_op_size() const; private: - int _internal_funccolcollations_size() const; + int _internal_use_op_size() const; + public: - void clear_funccolcollations(); - ::pg_query::Node* mutable_funccolcollations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_funccolcollations(); + void clear_use_op() ; + ::pg_query::Node* mutable_use_op(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_use_op(); private: - const ::pg_query::Node& _internal_funccolcollations(int index) const; - ::pg_query::Node* _internal_add_funccolcollations(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_use_op() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_use_op(); public: - const ::pg_query::Node& funccolcollations(int index) const; - ::pg_query::Node* add_funccolcollations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - funccolcollations() const; + const ::pg_query::Node& use_op(int index) const; + ::pg_query::Node* add_use_op(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + use_op() const; + // .pg_query.Node node = 1 [json_name = "node"]; + bool has_node() const; + void clear_node() ; + const ::pg_query::Node& node() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_node(); + ::pg_query::Node* mutable_node(); + void set_allocated_node(::pg_query::Node* value); + void unsafe_arena_set_allocated_node(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_node(); - // repeated uint64 funcparams = 7 [json_name = "funcparams"]; - int funcparams_size() const; - private: - int _internal_funcparams_size() const; - public: - void clear_funcparams(); private: - uint64_t _internal_funcparams(int index) const; - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - _internal_funcparams() const; - void _internal_add_funcparams(uint64_t value); - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - _internal_mutable_funcparams(); + const ::pg_query::Node& _internal_node() const; + ::pg_query::Node* _internal_mutable_node(); + public: - uint64_t funcparams(int index) const; - void set_funcparams(int index, uint64_t value); - void add_funcparams(uint64_t value); - const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& - funcparams() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* - mutable_funcparams(); + // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; + void clear_sortby_dir() ; + ::pg_query::SortByDir sortby_dir() const; + void set_sortby_dir(::pg_query::SortByDir value); - // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; - bool has_funcexpr() const; private: - bool _internal_has_funcexpr() const; + ::pg_query::SortByDir _internal_sortby_dir() const; + void _internal_set_sortby_dir(::pg_query::SortByDir value); + public: - void clear_funcexpr(); - const ::pg_query::Node& funcexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_funcexpr(); - ::pg_query::Node* mutable_funcexpr(); - void set_allocated_funcexpr(::pg_query::Node* funcexpr); + // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; + void clear_sortby_nulls() ; + ::pg_query::SortByNulls sortby_nulls() const; + void set_sortby_nulls(::pg_query::SortByNulls value); + private: - const ::pg_query::Node& _internal_funcexpr() const; - ::pg_query::Node* _internal_mutable_funcexpr(); + ::pg_query::SortByNulls _internal_sortby_nulls() const; + void _internal_set_sortby_nulls(::pg_query::SortByNulls value); + public: - void unsafe_arena_set_allocated_funcexpr( - ::pg_query::Node* funcexpr); - ::pg_query::Node* unsafe_arena_release_funcexpr(); + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // int32 funccolcount = 2 [json_name = "funccolcount"]; - void clear_funccolcount(); - int32_t funccolcount() const; - void set_funccolcount(int32_t value); private: - int32_t _internal_funccolcount() const; - void _internal_set_funccolcount(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RangeTblFunction) + public: + // @@protoc_insertion_point(class_scope:pg_query.SortBy) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funccolnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funccoltypes_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funccoltypmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > funccolcollations_; - ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > funcparams_; - mutable std::atomic _funcparams_cached_byte_size_; - ::pg_query::Node* funcexpr_; - int32_t funccolcount_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > use_op_; + ::pg_query::Node* node_; + int sortby_dir_; + int sortby_nulls_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TableSampleClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TableSampleClause) */ { +class StatsElem final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.StatsElem) */ { public: - inline TableSampleClause() : TableSampleClause(nullptr) {} - ~TableSampleClause() override; - explicit PROTOBUF_CONSTEXPR TableSampleClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline StatsElem() : StatsElem(nullptr) {} + ~StatsElem() override; + template + explicit PROTOBUF_CONSTEXPR StatsElem(::google::protobuf::internal::ConstantInitialized); - TableSampleClause(const TableSampleClause& from); - TableSampleClause(TableSampleClause&& from) noexcept - : TableSampleClause() { + inline StatsElem(const StatsElem& from) + : StatsElem(nullptr, from) {} + StatsElem(StatsElem&& from) noexcept + : StatsElem() { *this = ::std::move(from); } - inline TableSampleClause& operator=(const TableSampleClause& from) { + inline StatsElem& operator=(const StatsElem& from) { CopyFrom(from); return *this; } - inline TableSampleClause& operator=(TableSampleClause&& from) noexcept { + inline StatsElem& operator=(StatsElem&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -54673,185 +69568,196 @@ class TableSampleClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableSampleClause& default_instance() { + static const StatsElem& default_instance() { return *internal_default_instance(); } - static inline const TableSampleClause* internal_default_instance() { - return reinterpret_cast( - &_TableSampleClause_default_instance_); + static inline const StatsElem* internal_default_instance() { + return reinterpret_cast( + &_StatsElem_default_instance_); } static constexpr int kIndexInFileMessages = - 209; + 211; - friend void swap(TableSampleClause& a, TableSampleClause& b) { + friend void swap(StatsElem& a, StatsElem& b) { a.Swap(&b); } - inline void Swap(TableSampleClause* other) { + inline void Swap(StatsElem* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableSampleClause* other) { + void UnsafeArenaSwap(StatsElem* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TableSampleClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + StatsElem* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TableSampleClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TableSampleClause& from) { - TableSampleClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const StatsElem& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const StatsElem& from) { + StatsElem::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TableSampleClause* other); + void InternalSwap(StatsElem* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TableSampleClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.StatsElem"; } protected: - explicit TableSampleClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit StatsElem(::google::protobuf::Arena* arena); + StatsElem(::google::protobuf::Arena* arena, const StatsElem& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kArgsFieldNumber = 2, - kRepeatableFieldNumber = 3, - kTsmhandlerFieldNumber = 1, + kNameFieldNumber = 1, + kExprFieldNumber = 2, }; - // repeated .pg_query.Node args = 2 [json_name = "args"]; - int args_size() const; - private: - int _internal_args_size() const; - public: - void clear_args(); - ::pg_query::Node* mutable_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_args(); - private: - const ::pg_query::Node& _internal_args(int index) const; - ::pg_query::Node* _internal_add_args(); - public: - const ::pg_query::Node& args(int index) const; - ::pg_query::Node* add_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - args() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // .pg_query.Node repeatable = 3 [json_name = "repeatable"]; - bool has_repeatable() const; - private: - bool _internal_has_repeatable() const; - public: - void clear_repeatable(); - const ::pg_query::Node& repeatable() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); - ::pg_query::Node* mutable_repeatable(); - void set_allocated_repeatable(::pg_query::Node* repeatable); private: - const ::pg_query::Node& _internal_repeatable() const; - ::pg_query::Node* _internal_mutable_repeatable(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void unsafe_arena_set_allocated_repeatable( - ::pg_query::Node* repeatable); - ::pg_query::Node* unsafe_arena_release_repeatable(); + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // uint32 tsmhandler = 1 [json_name = "tsmhandler"]; - void clear_tsmhandler(); - uint32_t tsmhandler() const; - void set_tsmhandler(uint32_t value); private: - uint32_t _internal_tsmhandler() const; - void _internal_set_tsmhandler(uint32_t value); - public: + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); - // @@protoc_insertion_point(class_scope:pg_query.TableSampleClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.StatsElem) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 31, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > args_; - ::pg_query::Node* repeatable_; - uint32_t tsmhandler_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* expr_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class WithCheckOption final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.WithCheckOption) */ { +class SubLink final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubLink) */ { public: - inline WithCheckOption() : WithCheckOption(nullptr) {} - ~WithCheckOption() override; - explicit PROTOBUF_CONSTEXPR WithCheckOption(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SubLink() : SubLink(nullptr) {} + ~SubLink() override; + template + explicit PROTOBUF_CONSTEXPR SubLink(::google::protobuf::internal::ConstantInitialized); - WithCheckOption(const WithCheckOption& from); - WithCheckOption(WithCheckOption&& from) noexcept - : WithCheckOption() { + inline SubLink(const SubLink& from) + : SubLink(nullptr, from) {} + SubLink(SubLink&& from) noexcept + : SubLink() { *this = ::std::move(from); } - inline WithCheckOption& operator=(const WithCheckOption& from) { + inline SubLink& operator=(const SubLink& from) { CopyFrom(from); return *this; } - inline WithCheckOption& operator=(WithCheckOption&& from) noexcept { + inline SubLink& operator=(SubLink&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -54861,208 +69767,268 @@ class WithCheckOption final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WithCheckOption& default_instance() { + static const SubLink& default_instance() { return *internal_default_instance(); } - static inline const WithCheckOption* internal_default_instance() { - return reinterpret_cast( - &_WithCheckOption_default_instance_); + static inline const SubLink* internal_default_instance() { + return reinterpret_cast( + &_SubLink_default_instance_); } static constexpr int kIndexInFileMessages = - 210; + 31; - friend void swap(WithCheckOption& a, WithCheckOption& b) { + friend void swap(SubLink& a, SubLink& b) { a.Swap(&b); } - inline void Swap(WithCheckOption* other) { + inline void Swap(SubLink* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WithCheckOption* other) { + void UnsafeArenaSwap(SubLink* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - WithCheckOption* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubLink* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const WithCheckOption& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const WithCheckOption& from) { - WithCheckOption::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SubLink& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SubLink& from) { + SubLink::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(WithCheckOption* other); + void InternalSwap(SubLink* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.WithCheckOption"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SubLink"; } protected: - explicit WithCheckOption(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SubLink(::google::protobuf::Arena* arena); + SubLink(::google::protobuf::Arena* arena, const SubLink& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelnameFieldNumber = 2, - kPolnameFieldNumber = 3, - kQualFieldNumber = 4, - kKindFieldNumber = 1, - kCascadedFieldNumber = 5, + kOperNameFieldNumber = 5, + kXprFieldNumber = 1, + kTestexprFieldNumber = 4, + kSubselectFieldNumber = 6, + kSubLinkTypeFieldNumber = 2, + kSubLinkIdFieldNumber = 3, + kLocationFieldNumber = 7, }; - // string relname = 2 [json_name = "relname"]; - void clear_relname(); - const std::string& relname() const; - template - void set_relname(ArgT0&& arg0, ArgT... args); - std::string* mutable_relname(); - PROTOBUF_NODISCARD std::string* release_relname(); - void set_allocated_relname(std::string* relname); + // repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; + int oper_name_size() const; private: - const std::string& _internal_relname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname(const std::string& value); - std::string* _internal_mutable_relname(); + int _internal_oper_name_size() const; + + public: + void clear_oper_name() ; + ::pg_query::Node* mutable_oper_name(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_oper_name(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_oper_name() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_oper_name(); public: + const ::pg_query::Node& oper_name(int index) const; + ::pg_query::Node* add_oper_name(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + oper_name() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // string polname = 3 [json_name = "polname"]; - void clear_polname(); - const std::string& polname() const; - template - void set_polname(ArgT0&& arg0, ArgT... args); - std::string* mutable_polname(); - PROTOBUF_NODISCARD std::string* release_polname(); - void set_allocated_polname(std::string* polname); private: - const std::string& _internal_polname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_polname(const std::string& value); - std::string* _internal_mutable_polname(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // .pg_query.Node testexpr = 4 [json_name = "testexpr"]; + bool has_testexpr() const; + void clear_testexpr() ; + const ::pg_query::Node& testexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); + ::pg_query::Node* mutable_testexpr(); + void set_allocated_testexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_testexpr(); - // .pg_query.Node qual = 4 [json_name = "qual"]; - bool has_qual() const; private: - bool _internal_has_qual() const; + const ::pg_query::Node& _internal_testexpr() const; + ::pg_query::Node* _internal_mutable_testexpr(); + public: - void clear_qual(); - const ::pg_query::Node& qual() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); - ::pg_query::Node* mutable_qual(); - void set_allocated_qual(::pg_query::Node* qual); + // .pg_query.Node subselect = 6 [json_name = "subselect"]; + bool has_subselect() const; + void clear_subselect() ; + const ::pg_query::Node& subselect() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_subselect(); + ::pg_query::Node* mutable_subselect(); + void set_allocated_subselect(::pg_query::Node* value); + void unsafe_arena_set_allocated_subselect(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_subselect(); + private: - const ::pg_query::Node& _internal_qual() const; - ::pg_query::Node* _internal_mutable_qual(); + const ::pg_query::Node& _internal_subselect() const; + ::pg_query::Node* _internal_mutable_subselect(); + public: - void unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual); - ::pg_query::Node* unsafe_arena_release_qual(); + // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; + void clear_sub_link_type() ; + ::pg_query::SubLinkType sub_link_type() const; + void set_sub_link_type(::pg_query::SubLinkType value); - // .pg_query.WCOKind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::WCOKind kind() const; - void set_kind(::pg_query::WCOKind value); private: - ::pg_query::WCOKind _internal_kind() const; - void _internal_set_kind(::pg_query::WCOKind value); + ::pg_query::SubLinkType _internal_sub_link_type() const; + void _internal_set_sub_link_type(::pg_query::SubLinkType value); + public: + // int32 sub_link_id = 3 [json_name = "subLinkId"]; + void clear_sub_link_id() ; + ::int32_t sub_link_id() const; + void set_sub_link_id(::int32_t value); - // bool cascaded = 5 [json_name = "cascaded"]; - void clear_cascaded(); - bool cascaded() const; - void set_cascaded(bool value); private: - bool _internal_cascaded() const; - void _internal_set_cascaded(bool value); + ::int32_t _internal_sub_link_id() const; + void _internal_set_sub_link_id(::int32_t value); + public: + // int32 location = 7 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.WithCheckOption) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SubLink) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 7, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr relname_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr polname_; - ::pg_query::Node* qual_; - int kind_; - bool cascaded_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > oper_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* testexpr_; + ::pg_query::Node* subselect_; + int sub_link_type_; + ::int32_t sub_link_id_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class SortGroupClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.SortGroupClause) */ { +class SubPlan final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubPlan) */ { public: - inline SortGroupClause() : SortGroupClause(nullptr) {} - ~SortGroupClause() override; - explicit PROTOBUF_CONSTEXPR SortGroupClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SubPlan() : SubPlan(nullptr) {} + ~SubPlan() override; + template + explicit PROTOBUF_CONSTEXPR SubPlan(::google::protobuf::internal::ConstantInitialized); - SortGroupClause(const SortGroupClause& from); - SortGroupClause(SortGroupClause&& from) noexcept - : SortGroupClause() { + inline SubPlan(const SubPlan& from) + : SubPlan(nullptr, from) {} + SubPlan(SubPlan&& from) noexcept + : SubPlan() { *this = ::std::move(from); } - inline SortGroupClause& operator=(const SortGroupClause& from) { + inline SubPlan& operator=(const SubPlan& from) { CopyFrom(from); return *this; } - inline SortGroupClause& operator=(SortGroupClause&& from) noexcept { + inline SubPlan& operator=(SubPlan&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -55072,189 +70038,413 @@ class SortGroupClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const SortGroupClause& default_instance() { + static const SubPlan& default_instance() { return *internal_default_instance(); } - static inline const SortGroupClause* internal_default_instance() { - return reinterpret_cast( - &_SortGroupClause_default_instance_); + static inline const SubPlan* internal_default_instance() { + return reinterpret_cast( + &_SubPlan_default_instance_); } static constexpr int kIndexInFileMessages = - 211; + 32; - friend void swap(SortGroupClause& a, SortGroupClause& b) { + friend void swap(SubPlan& a, SubPlan& b) { a.Swap(&b); } - inline void Swap(SortGroupClause* other) { + inline void Swap(SubPlan* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(SortGroupClause* other) { + void UnsafeArenaSwap(SubPlan* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - SortGroupClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubPlan* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const SortGroupClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const SortGroupClause& from) { - SortGroupClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SubPlan& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SubPlan& from) { + SubPlan::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(SortGroupClause* other); + void InternalSwap(SubPlan* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.SortGroupClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SubPlan"; } protected: - explicit SortGroupClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SubPlan(::google::protobuf::Arena* arena); + SubPlan(::google::protobuf::Arena* arena, const SubPlan& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTleSortGroupRefFieldNumber = 1, - kEqopFieldNumber = 2, - kSortopFieldNumber = 3, - kNullsFirstFieldNumber = 4, - kHashableFieldNumber = 5, + kParamIdsFieldNumber = 4, + kSetParamFieldNumber = 13, + kParParamFieldNumber = 14, + kArgsFieldNumber = 15, + kPlanNameFieldNumber = 6, + kXprFieldNumber = 1, + kTestexprFieldNumber = 3, + kSubLinkTypeFieldNumber = 2, + kPlanIdFieldNumber = 5, + kFirstColTypeFieldNumber = 7, + kFirstColTypmodFieldNumber = 8, + kFirstColCollationFieldNumber = 9, + kUseHashTableFieldNumber = 10, + kUnknownEqFalseFieldNumber = 11, + kParallelSafeFieldNumber = 12, + kStartupCostFieldNumber = 16, + kPerCallCostFieldNumber = 17, }; - // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; - void clear_tle_sort_group_ref(); - uint32_t tle_sort_group_ref() const; - void set_tle_sort_group_ref(uint32_t value); + // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; + int param_ids_size() const; + private: + int _internal_param_ids_size() const; + + public: + void clear_param_ids() ; + ::pg_query::Node* mutable_param_ids(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_param_ids(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_param_ids() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_param_ids(); + public: + const ::pg_query::Node& param_ids(int index) const; + ::pg_query::Node* add_param_ids(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + param_ids() const; + // repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; + int set_param_size() const; + private: + int _internal_set_param_size() const; + + public: + void clear_set_param() ; + ::pg_query::Node* mutable_set_param(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_set_param(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_set_param() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_set_param(); + public: + const ::pg_query::Node& set_param(int index) const; + ::pg_query::Node* add_set_param(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + set_param() const; + // repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; + int par_param_size() const; + private: + int _internal_par_param_size() const; + + public: + void clear_par_param() ; + ::pg_query::Node* mutable_par_param(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_par_param(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_par_param() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_par_param(); + public: + const ::pg_query::Node& par_param(int index) const; + ::pg_query::Node* add_par_param(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + par_param() const; + // repeated .pg_query.Node args = 15 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // string plan_name = 6 [json_name = "plan_name"]; + void clear_plan_name() ; + const std::string& plan_name() const; + template + void set_plan_name(Arg_&& arg, Args_... args); + std::string* mutable_plan_name(); + PROTOBUF_NODISCARD std::string* release_plan_name(); + void set_allocated_plan_name(std::string* value); + + private: + const std::string& _internal_plan_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_plan_name( + const std::string& value); + std::string* _internal_mutable_plan_name(); + + public: + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node testexpr = 3 [json_name = "testexpr"]; + bool has_testexpr() const; + void clear_testexpr() ; + const ::pg_query::Node& testexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_testexpr(); + ::pg_query::Node* mutable_testexpr(); + void set_allocated_testexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_testexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_testexpr(); + + private: + const ::pg_query::Node& _internal_testexpr() const; + ::pg_query::Node* _internal_mutable_testexpr(); + + public: + // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; + void clear_sub_link_type() ; + ::pg_query::SubLinkType sub_link_type() const; + void set_sub_link_type(::pg_query::SubLinkType value); + + private: + ::pg_query::SubLinkType _internal_sub_link_type() const; + void _internal_set_sub_link_type(::pg_query::SubLinkType value); + + public: + // int32 plan_id = 5 [json_name = "plan_id"]; + void clear_plan_id() ; + ::int32_t plan_id() const; + void set_plan_id(::int32_t value); + + private: + ::int32_t _internal_plan_id() const; + void _internal_set_plan_id(::int32_t value); + + public: + // uint32 first_col_type = 7 [json_name = "firstColType"]; + void clear_first_col_type() ; + ::uint32_t first_col_type() const; + void set_first_col_type(::uint32_t value); + + private: + ::uint32_t _internal_first_col_type() const; + void _internal_set_first_col_type(::uint32_t value); + + public: + // int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; + void clear_first_col_typmod() ; + ::int32_t first_col_typmod() const; + void set_first_col_typmod(::int32_t value); + private: - uint32_t _internal_tle_sort_group_ref() const; - void _internal_set_tle_sort_group_ref(uint32_t value); + ::int32_t _internal_first_col_typmod() const; + void _internal_set_first_col_typmod(::int32_t value); + + public: + // uint32 first_col_collation = 9 [json_name = "firstColCollation"]; + void clear_first_col_collation() ; + ::uint32_t first_col_collation() const; + void set_first_col_collation(::uint32_t value); + + private: + ::uint32_t _internal_first_col_collation() const; + void _internal_set_first_col_collation(::uint32_t value); + + public: + // bool use_hash_table = 10 [json_name = "useHashTable"]; + void clear_use_hash_table() ; + bool use_hash_table() const; + void set_use_hash_table(bool value); + + private: + bool _internal_use_hash_table() const; + void _internal_set_use_hash_table(bool value); + public: + // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; + void clear_unknown_eq_false() ; + bool unknown_eq_false() const; + void set_unknown_eq_false(bool value); - // uint32 eqop = 2 [json_name = "eqop"]; - void clear_eqop(); - uint32_t eqop() const; - void set_eqop(uint32_t value); private: - uint32_t _internal_eqop() const; - void _internal_set_eqop(uint32_t value); + bool _internal_unknown_eq_false() const; + void _internal_set_unknown_eq_false(bool value); + public: + // bool parallel_safe = 12 [json_name = "parallel_safe"]; + void clear_parallel_safe() ; + bool parallel_safe() const; + void set_parallel_safe(bool value); - // uint32 sortop = 3 [json_name = "sortop"]; - void clear_sortop(); - uint32_t sortop() const; - void set_sortop(uint32_t value); private: - uint32_t _internal_sortop() const; - void _internal_set_sortop(uint32_t value); + bool _internal_parallel_safe() const; + void _internal_set_parallel_safe(bool value); + public: + // double startup_cost = 16 [json_name = "startup_cost"]; + void clear_startup_cost() ; + double startup_cost() const; + void set_startup_cost(double value); - // bool nulls_first = 4 [json_name = "nulls_first"]; - void clear_nulls_first(); - bool nulls_first() const; - void set_nulls_first(bool value); private: - bool _internal_nulls_first() const; - void _internal_set_nulls_first(bool value); + double _internal_startup_cost() const; + void _internal_set_startup_cost(double value); + public: + // double per_call_cost = 17 [json_name = "per_call_cost"]; + void clear_per_call_cost() ; + double per_call_cost() const; + void set_per_call_cost(double value); - // bool hashable = 5 [json_name = "hashable"]; - void clear_hashable(); - bool hashable() const; - void set_hashable(bool value); private: - bool _internal_hashable() const; - void _internal_set_hashable(bool value); - public: + double _internal_per_call_cost() const; + void _internal_set_per_call_cost(double value); - // @@protoc_insertion_point(class_scope:pg_query.SortGroupClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.SubPlan) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 17, 6, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - uint32_t tle_sort_group_ref_; - uint32_t eqop_; - uint32_t sortop_; - bool nulls_first_; - bool hashable_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > param_ids_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > set_param_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > par_param_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::internal::ArenaStringPtr plan_name_; + ::pg_query::Node* xpr_; + ::pg_query::Node* testexpr_; + int sub_link_type_; + ::int32_t plan_id_; + ::uint32_t first_col_type_; + ::int32_t first_col_typmod_; + ::uint32_t first_col_collation_; + bool use_hash_table_; + bool unknown_eq_false_; + bool parallel_safe_; + double startup_cost_; + double per_call_cost_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class GroupingSet final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.GroupingSet) */ { +class SubscriptingRef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.SubscriptingRef) */ { public: - inline GroupingSet() : GroupingSet(nullptr) {} - ~GroupingSet() override; - explicit PROTOBUF_CONSTEXPR GroupingSet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline SubscriptingRef() : SubscriptingRef(nullptr) {} + ~SubscriptingRef() override; + template + explicit PROTOBUF_CONSTEXPR SubscriptingRef(::google::protobuf::internal::ConstantInitialized); - GroupingSet(const GroupingSet& from); - GroupingSet(GroupingSet&& from) noexcept - : GroupingSet() { + inline SubscriptingRef(const SubscriptingRef& from) + : SubscriptingRef(nullptr, from) {} + SubscriptingRef(SubscriptingRef&& from) noexcept + : SubscriptingRef() { *this = ::std::move(from); } - inline GroupingSet& operator=(const GroupingSet& from) { + inline SubscriptingRef& operator=(const SubscriptingRef& from) { CopyFrom(from); return *this; } - inline GroupingSet& operator=(GroupingSet&& from) noexcept { + inline SubscriptingRef& operator=(SubscriptingRef&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -55264,176 +70454,312 @@ class GroupingSet final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const GroupingSet& default_instance() { + static const SubscriptingRef& default_instance() { return *internal_default_instance(); } - static inline const GroupingSet* internal_default_instance() { - return reinterpret_cast( - &_GroupingSet_default_instance_); + static inline const SubscriptingRef* internal_default_instance() { + return reinterpret_cast( + &_SubscriptingRef_default_instance_); } static constexpr int kIndexInFileMessages = - 212; + 23; - friend void swap(GroupingSet& a, GroupingSet& b) { + friend void swap(SubscriptingRef& a, SubscriptingRef& b) { a.Swap(&b); } - inline void Swap(GroupingSet* other) { + inline void Swap(SubscriptingRef* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(GroupingSet* other) { + void UnsafeArenaSwap(SubscriptingRef* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - GroupingSet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + SubscriptingRef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GroupingSet& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const GroupingSet& from) { - GroupingSet::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SubscriptingRef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const SubscriptingRef& from) { + SubscriptingRef::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(GroupingSet* other); + void InternalSwap(SubscriptingRef* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.GroupingSet"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.SubscriptingRef"; } protected: - explicit GroupingSet(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit SubscriptingRef(::google::protobuf::Arena* arena); + SubscriptingRef(::google::protobuf::Arena* arena, const SubscriptingRef& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kContentFieldNumber = 2, - kKindFieldNumber = 1, - kLocationFieldNumber = 3, + kRefupperindexprFieldNumber = 7, + kReflowerindexprFieldNumber = 8, + kXprFieldNumber = 1, + kRefexprFieldNumber = 9, + kRefassgnexprFieldNumber = 10, + kRefcontainertypeFieldNumber = 2, + kRefelemtypeFieldNumber = 3, + kRefrestypeFieldNumber = 4, + kReftypmodFieldNumber = 5, + kRefcollidFieldNumber = 6, }; - // repeated .pg_query.Node content = 2 [json_name = "content"]; - int content_size() const; + // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; + int refupperindexpr_size() const; private: - int _internal_content_size() const; + int _internal_refupperindexpr_size() const; + public: - void clear_content(); - ::pg_query::Node* mutable_content(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_content(); + void clear_refupperindexpr() ; + ::pg_query::Node* mutable_refupperindexpr(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_refupperindexpr(); private: - const ::pg_query::Node& _internal_content(int index) const; - ::pg_query::Node* _internal_add_content(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_refupperindexpr() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_refupperindexpr(); public: - const ::pg_query::Node& content(int index) const; - ::pg_query::Node* add_content(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - content() const; + const ::pg_query::Node& refupperindexpr(int index) const; + ::pg_query::Node* add_refupperindexpr(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + refupperindexpr() const; + // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; + int reflowerindexpr_size() const; + private: + int _internal_reflowerindexpr_size() const; - // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::GroupingSetKind kind() const; - void set_kind(::pg_query::GroupingSetKind value); + public: + void clear_reflowerindexpr() ; + ::pg_query::Node* mutable_reflowerindexpr(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_reflowerindexpr(); private: - ::pg_query::GroupingSetKind _internal_kind() const; - void _internal_set_kind(::pg_query::GroupingSetKind value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_reflowerindexpr() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_reflowerindexpr(); public: + const ::pg_query::Node& reflowerindexpr(int index) const; + ::pg_query::Node* add_reflowerindexpr(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + reflowerindexpr() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // .pg_query.Node refexpr = 9 [json_name = "refexpr"]; + bool has_refexpr() const; + void clear_refexpr() ; + const ::pg_query::Node& refexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_refexpr(); + ::pg_query::Node* mutable_refexpr(); + void set_allocated_refexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_refexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_refexpr(); - // @@protoc_insertion_point(class_scope:pg_query.GroupingSet) + private: + const ::pg_query::Node& _internal_refexpr() const; + ::pg_query::Node* _internal_mutable_refexpr(); + + public: + // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; + bool has_refassgnexpr() const; + void clear_refassgnexpr() ; + const ::pg_query::Node& refassgnexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_refassgnexpr(); + ::pg_query::Node* mutable_refassgnexpr(); + void set_allocated_refassgnexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_refassgnexpr(); + + private: + const ::pg_query::Node& _internal_refassgnexpr() const; + ::pg_query::Node* _internal_mutable_refassgnexpr(); + + public: + // uint32 refcontainertype = 2 [json_name = "refcontainertype"]; + void clear_refcontainertype() ; + ::uint32_t refcontainertype() const; + void set_refcontainertype(::uint32_t value); + + private: + ::uint32_t _internal_refcontainertype() const; + void _internal_set_refcontainertype(::uint32_t value); + + public: + // uint32 refelemtype = 3 [json_name = "refelemtype"]; + void clear_refelemtype() ; + ::uint32_t refelemtype() const; + void set_refelemtype(::uint32_t value); + + private: + ::uint32_t _internal_refelemtype() const; + void _internal_set_refelemtype(::uint32_t value); + + public: + // uint32 refrestype = 4 [json_name = "refrestype"]; + void clear_refrestype() ; + ::uint32_t refrestype() const; + void set_refrestype(::uint32_t value); + + private: + ::uint32_t _internal_refrestype() const; + void _internal_set_refrestype(::uint32_t value); + + public: + // int32 reftypmod = 5 [json_name = "reftypmod"]; + void clear_reftypmod() ; + ::int32_t reftypmod() const; + void set_reftypmod(::int32_t value); + + private: + ::int32_t _internal_reftypmod() const; + void _internal_set_reftypmod(::int32_t value); + + public: + // uint32 refcollid = 6 [json_name = "refcollid"]; + void clear_refcollid() ; + ::uint32_t refcollid() const; + void set_refcollid(::uint32_t value); + + private: + ::uint32_t _internal_refcollid() const; + void _internal_set_refcollid(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.SubscriptingRef) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 10, 5, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > content_; - int kind_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > refupperindexpr_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > reflowerindexpr_; + ::pg_query::Node* xpr_; + ::pg_query::Node* refexpr_; + ::pg_query::Node* refassgnexpr_; + ::uint32_t refcontainertype_; + ::uint32_t refelemtype_; + ::uint32_t refrestype_; + ::int32_t reftypmod_; + ::uint32_t refcollid_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class WindowClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowClause) */ { +class TableFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableFunc) */ { public: - inline WindowClause() : WindowClause(nullptr) {} - ~WindowClause() override; - explicit PROTOBUF_CONSTEXPR WindowClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TableFunc() : TableFunc(nullptr) {} + ~TableFunc() override; + template + explicit PROTOBUF_CONSTEXPR TableFunc(::google::protobuf::internal::ConstantInitialized); - WindowClause(const WindowClause& from); - WindowClause(WindowClause&& from) noexcept - : WindowClause() { + inline TableFunc(const TableFunc& from) + : TableFunc(nullptr, from) {} + TableFunc(TableFunc&& from) noexcept + : TableFunc() { *this = ::std::move(from); } - inline WindowClause& operator=(const WindowClause& from) { + inline TableFunc& operator=(const TableFunc& from) { CopyFrom(from); return *this; } - inline WindowClause& operator=(WindowClause&& from) noexcept { + inline TableFunc& operator=(TableFunc&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -55443,354 +70769,469 @@ class WindowClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WindowClause& default_instance() { + static const TableFunc& default_instance() { return *internal_default_instance(); } - static inline const WindowClause* internal_default_instance() { - return reinterpret_cast( - &_WindowClause_default_instance_); + static inline const TableFunc* internal_default_instance() { + return reinterpret_cast( + &_TableFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 213; + 14; - friend void swap(WindowClause& a, WindowClause& b) { + friend void swap(TableFunc& a, TableFunc& b) { a.Swap(&b); } - inline void Swap(WindowClause* other) { + inline void Swap(TableFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WindowClause* other) { + void UnsafeArenaSwap(TableFunc* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - WindowClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const WindowClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const WindowClause& from) { - WindowClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TableFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TableFunc& from) { + TableFunc::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(WindowClause* other); + void InternalSwap(TableFunc* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.WindowClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TableFunc"; } protected: - explicit WindowClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TableFunc(::google::protobuf::Arena* arena); + TableFunc(::google::protobuf::Arena* arena, const TableFunc& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPartitionClauseFieldNumber = 3, - kOrderClauseFieldNumber = 4, - kRunConditionFieldNumber = 8, - kNameFieldNumber = 1, - kRefnameFieldNumber = 2, - kStartOffsetFieldNumber = 6, - kEndOffsetFieldNumber = 7, - kFrameOptionsFieldNumber = 5, - kStartInRangeFuncFieldNumber = 9, - kEndInRangeFuncFieldNumber = 10, - kInRangeCollFieldNumber = 11, - kInRangeAscFieldNumber = 12, - kInRangeNullsFirstFieldNumber = 13, - kCopiedOrderFieldNumber = 15, - kWinrefFieldNumber = 14, + kNsUrisFieldNumber = 2, + kNsNamesFieldNumber = 3, + kColnamesFieldNumber = 6, + kColtypesFieldNumber = 7, + kColtypmodsFieldNumber = 8, + kColcollationsFieldNumber = 9, + kColexprsFieldNumber = 10, + kColdefexprsFieldNumber = 11, + kColvalexprsFieldNumber = 12, + kPassingvalexprsFieldNumber = 13, + kNotnullsFieldNumber = 14, + kDocexprFieldNumber = 4, + kRowexprFieldNumber = 5, + kPlanFieldNumber = 15, + kFunctypeFieldNumber = 1, + kOrdinalitycolFieldNumber = 16, + kLocationFieldNumber = 17, }; - // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; - int partition_clause_size() const; + // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"]; + int ns_uris_size() const; private: - int _internal_partition_clause_size() const; + int _internal_ns_uris_size() const; + public: - void clear_partition_clause(); - ::pg_query::Node* mutable_partition_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_partition_clause(); + void clear_ns_uris() ; + ::pg_query::Node* mutable_ns_uris(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ns_uris(); private: - const ::pg_query::Node& _internal_partition_clause(int index) const; - ::pg_query::Node* _internal_add_partition_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_uris() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_uris(); public: - const ::pg_query::Node& partition_clause(int index) const; - ::pg_query::Node* add_partition_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - partition_clause() const; - - // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; - int order_clause_size() const; + const ::pg_query::Node& ns_uris(int index) const; + ::pg_query::Node* add_ns_uris(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ns_uris() const; + // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"]; + int ns_names_size() const; private: - int _internal_order_clause_size() const; + int _internal_ns_names_size() const; + public: - void clear_order_clause(); - ::pg_query::Node* mutable_order_clause(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_order_clause(); + void clear_ns_names() ; + ::pg_query::Node* mutable_ns_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ns_names(); private: - const ::pg_query::Node& _internal_order_clause(int index) const; - ::pg_query::Node* _internal_add_order_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ns_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ns_names(); public: - const ::pg_query::Node& order_clause(int index) const; - ::pg_query::Node* add_order_clause(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - order_clause() const; - - // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; - int run_condition_size() const; + const ::pg_query::Node& ns_names(int index) const; + ::pg_query::Node* add_ns_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ns_names() const; + // repeated .pg_query.Node colnames = 6 [json_name = "colnames"]; + int colnames_size() const; private: - int _internal_run_condition_size() const; + int _internal_colnames_size() const; + public: - void clear_run_condition(); - ::pg_query::Node* mutable_run_condition(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_run_condition(); + void clear_colnames() ; + ::pg_query::Node* mutable_colnames(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colnames(); private: - const ::pg_query::Node& _internal_run_condition(int index) const; - ::pg_query::Node* _internal_add_run_condition(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colnames() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colnames(); public: - const ::pg_query::Node& run_condition(int index) const; - ::pg_query::Node* add_run_condition(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - run_condition() const; + const ::pg_query::Node& colnames(int index) const; + ::pg_query::Node* add_colnames(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colnames() const; + // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"]; + int coltypes_size() const; + private: + int _internal_coltypes_size() const; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + public: + void clear_coltypes() ; + ::pg_query::Node* mutable_coltypes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypes(); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypes(); public: + const ::pg_query::Node& coltypes(int index) const; + ::pg_query::Node* add_coltypes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypes() const; + // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"]; + int coltypmods_size() const; + private: + int _internal_coltypmods_size() const; - // string refname = 2 [json_name = "refname"]; - void clear_refname(); - const std::string& refname() const; - template - void set_refname(ArgT0&& arg0, ArgT... args); - std::string* mutable_refname(); - PROTOBUF_NODISCARD std::string* release_refname(); - void set_allocated_refname(std::string* refname); + public: + void clear_coltypmods() ; + ::pg_query::Node* mutable_coltypmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coltypmods(); private: - const std::string& _internal_refname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname(const std::string& value); - std::string* _internal_mutable_refname(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coltypmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coltypmods(); public: - - // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; - bool has_start_offset() const; + const ::pg_query::Node& coltypmods(int index) const; + ::pg_query::Node* add_coltypmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coltypmods() const; + // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"]; + int colcollations_size() const; private: - bool _internal_has_start_offset() const; + int _internal_colcollations_size() const; + public: - void clear_start_offset(); - const ::pg_query::Node& start_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); - ::pg_query::Node* mutable_start_offset(); - void set_allocated_start_offset(::pg_query::Node* start_offset); + void clear_colcollations() ; + ::pg_query::Node* mutable_colcollations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colcollations(); private: - const ::pg_query::Node& _internal_start_offset() const; - ::pg_query::Node* _internal_mutable_start_offset(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colcollations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colcollations(); public: - void unsafe_arena_set_allocated_start_offset( - ::pg_query::Node* start_offset); - ::pg_query::Node* unsafe_arena_release_start_offset(); + const ::pg_query::Node& colcollations(int index) const; + ::pg_query::Node* add_colcollations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colcollations() const; + // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"]; + int colexprs_size() const; + private: + int _internal_colexprs_size() const; - // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; - bool has_end_offset() const; + public: + void clear_colexprs() ; + ::pg_query::Node* mutable_colexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colexprs(); private: - bool _internal_has_end_offset() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colexprs(); public: - void clear_end_offset(); - const ::pg_query::Node& end_offset() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); - ::pg_query::Node* mutable_end_offset(); - void set_allocated_end_offset(::pg_query::Node* end_offset); + const ::pg_query::Node& colexprs(int index) const; + ::pg_query::Node* add_colexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colexprs() const; + // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"]; + int coldefexprs_size() const; private: - const ::pg_query::Node& _internal_end_offset() const; - ::pg_query::Node* _internal_mutable_end_offset(); + int _internal_coldefexprs_size() const; + public: - void unsafe_arena_set_allocated_end_offset( - ::pg_query::Node* end_offset); - ::pg_query::Node* unsafe_arena_release_end_offset(); + void clear_coldefexprs() ; + ::pg_query::Node* mutable_coldefexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_coldefexprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_coldefexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_coldefexprs(); + public: + const ::pg_query::Node& coldefexprs(int index) const; + ::pg_query::Node* add_coldefexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + coldefexprs() const; + // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"]; + int colvalexprs_size() const; + private: + int _internal_colvalexprs_size() const; - // int32 frame_options = 5 [json_name = "frameOptions"]; - void clear_frame_options(); - int32_t frame_options() const; - void set_frame_options(int32_t value); + public: + void clear_colvalexprs() ; + ::pg_query::Node* mutable_colvalexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_colvalexprs(); private: - int32_t _internal_frame_options() const; - void _internal_set_frame_options(int32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_colvalexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_colvalexprs(); public: + const ::pg_query::Node& colvalexprs(int index) const; + ::pg_query::Node* add_colvalexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + colvalexprs() const; + // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"]; + int passingvalexprs_size() const; + private: + int _internal_passingvalexprs_size() const; - // uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"]; - void clear_start_in_range_func(); - uint32_t start_in_range_func() const; - void set_start_in_range_func(uint32_t value); + public: + void clear_passingvalexprs() ; + ::pg_query::Node* mutable_passingvalexprs(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_passingvalexprs(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_passingvalexprs() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_passingvalexprs(); + public: + const ::pg_query::Node& passingvalexprs(int index) const; + ::pg_query::Node* add_passingvalexprs(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + passingvalexprs() const; + // repeated uint64 notnulls = 14 [json_name = "notnulls"]; + int notnulls_size() const; private: - uint32_t _internal_start_in_range_func() const; - void _internal_set_start_in_range_func(uint32_t value); + int _internal_notnulls_size() const; + public: + void clear_notnulls() ; + ::uint64_t notnulls(int index) const; + void set_notnulls(int index, ::uint64_t value); + void add_notnulls(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& notnulls() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_notnulls(); - // uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"]; - void clear_end_in_range_func(); - uint32_t end_in_range_func() const; - void set_end_in_range_func(uint32_t value); private: - uint32_t _internal_end_in_range_func() const; - void _internal_set_end_in_range_func(uint32_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_notnulls() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_notnulls(); + public: + // .pg_query.Node docexpr = 4 [json_name = "docexpr"]; + bool has_docexpr() const; + void clear_docexpr() ; + const ::pg_query::Node& docexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_docexpr(); + ::pg_query::Node* mutable_docexpr(); + void set_allocated_docexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_docexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_docexpr(); - // uint32 in_range_coll = 11 [json_name = "inRangeColl"]; - void clear_in_range_coll(); - uint32_t in_range_coll() const; - void set_in_range_coll(uint32_t value); private: - uint32_t _internal_in_range_coll() const; - void _internal_set_in_range_coll(uint32_t value); + const ::pg_query::Node& _internal_docexpr() const; + ::pg_query::Node* _internal_mutable_docexpr(); + public: + // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"]; + bool has_rowexpr() const; + void clear_rowexpr() ; + const ::pg_query::Node& rowexpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_rowexpr(); + ::pg_query::Node* mutable_rowexpr(); + void set_allocated_rowexpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_rowexpr(); - // bool in_range_asc = 12 [json_name = "inRangeAsc"]; - void clear_in_range_asc(); - bool in_range_asc() const; - void set_in_range_asc(bool value); private: - bool _internal_in_range_asc() const; - void _internal_set_in_range_asc(bool value); + const ::pg_query::Node& _internal_rowexpr() const; + ::pg_query::Node* _internal_mutable_rowexpr(); + public: + // .pg_query.Node plan = 15 [json_name = "plan"]; + bool has_plan() const; + void clear_plan() ; + const ::pg_query::Node& plan() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_plan(); + ::pg_query::Node* mutable_plan(); + void set_allocated_plan(::pg_query::Node* value); + void unsafe_arena_set_allocated_plan(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_plan(); - // bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"]; - void clear_in_range_nulls_first(); - bool in_range_nulls_first() const; - void set_in_range_nulls_first(bool value); private: - bool _internal_in_range_nulls_first() const; - void _internal_set_in_range_nulls_first(bool value); + const ::pg_query::Node& _internal_plan() const; + ::pg_query::Node* _internal_mutable_plan(); + public: + // .pg_query.TableFuncType functype = 1 [json_name = "functype"]; + void clear_functype() ; + ::pg_query::TableFuncType functype() const; + void set_functype(::pg_query::TableFuncType value); - // bool copied_order = 15 [json_name = "copiedOrder"]; - void clear_copied_order(); - bool copied_order() const; - void set_copied_order(bool value); private: - bool _internal_copied_order() const; - void _internal_set_copied_order(bool value); + ::pg_query::TableFuncType _internal_functype() const; + void _internal_set_functype(::pg_query::TableFuncType value); + public: + // int32 ordinalitycol = 16 [json_name = "ordinalitycol"]; + void clear_ordinalitycol() ; + ::int32_t ordinalitycol() const; + void set_ordinalitycol(::int32_t value); - // uint32 winref = 14 [json_name = "winref"]; - void clear_winref(); - uint32_t winref() const; - void set_winref(uint32_t value); private: - uint32_t _internal_winref() const; - void _internal_set_winref(uint32_t value); + ::int32_t _internal_ordinalitycol() const; + void _internal_set_ordinalitycol(::int32_t value); + public: + // int32 location = 17 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.WindowClause) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TableFunc) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 5, 17, 13, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > partition_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > order_clause_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > run_condition_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr refname_; - ::pg_query::Node* start_offset_; - ::pg_query::Node* end_offset_; - int32_t frame_options_; - uint32_t start_in_range_func_; - uint32_t end_in_range_func_; - uint32_t in_range_coll_; - bool in_range_asc_; - bool in_range_nulls_first_; - bool copied_order_; - uint32_t winref_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_uris_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ns_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colnames_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypes_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coltypmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colcollations_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > coldefexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > colvalexprs_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > passingvalexprs_; + ::google::protobuf::RepeatedField<::uint64_t> notnulls_; + mutable ::google::protobuf::internal::CachedSize _notnulls_cached_byte_size_; + ::pg_query::Node* docexpr_; + ::pg_query::Node* rowexpr_; + ::pg_query::Node* plan_; + int functype_; + ::int32_t ordinalitycol_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class ObjectWithArgs final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ObjectWithArgs) */ { +class TableLikeClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableLikeClause) */ { public: - inline ObjectWithArgs() : ObjectWithArgs(nullptr) {} - ~ObjectWithArgs() override; - explicit PROTOBUF_CONSTEXPR ObjectWithArgs(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TableLikeClause() : TableLikeClause(nullptr) {} + ~TableLikeClause() override; + template + explicit PROTOBUF_CONSTEXPR TableLikeClause(::google::protobuf::internal::ConstantInitialized); - ObjectWithArgs(const ObjectWithArgs& from); - ObjectWithArgs(ObjectWithArgs&& from) noexcept - : ObjectWithArgs() { + inline TableLikeClause(const TableLikeClause& from) + : TableLikeClause(nullptr, from) {} + TableLikeClause(TableLikeClause&& from) noexcept + : TableLikeClause() { *this = ::std::move(from); } - inline ObjectWithArgs& operator=(const ObjectWithArgs& from) { + inline TableLikeClause& operator=(const TableLikeClause& from) { CopyFrom(from); return *this; } - inline ObjectWithArgs& operator=(ObjectWithArgs&& from) noexcept { + inline TableLikeClause& operator=(TableLikeClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -55800,205 +71241,202 @@ class ObjectWithArgs final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const ObjectWithArgs& default_instance() { + static const TableLikeClause& default_instance() { return *internal_default_instance(); } - static inline const ObjectWithArgs* internal_default_instance() { - return reinterpret_cast( - &_ObjectWithArgs_default_instance_); + static inline const TableLikeClause* internal_default_instance() { + return reinterpret_cast( + &_TableLikeClause_default_instance_); } static constexpr int kIndexInFileMessages = - 214; + 98; - friend void swap(ObjectWithArgs& a, ObjectWithArgs& b) { + friend void swap(TableLikeClause& a, TableLikeClause& b) { a.Swap(&b); } - inline void Swap(ObjectWithArgs* other) { + inline void Swap(TableLikeClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(ObjectWithArgs* other) { + void UnsafeArenaSwap(TableLikeClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - ObjectWithArgs* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableLikeClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ObjectWithArgs& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ObjectWithArgs& from) { - ObjectWithArgs::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TableLikeClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TableLikeClause& from) { + TableLikeClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ObjectWithArgs* other); + void InternalSwap(TableLikeClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ObjectWithArgs"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TableLikeClause"; } protected: - explicit ObjectWithArgs(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TableLikeClause(::google::protobuf::Arena* arena); + TableLikeClause(::google::protobuf::Arena* arena, const TableLikeClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kObjnameFieldNumber = 1, - kObjargsFieldNumber = 2, - kObjfuncargsFieldNumber = 3, - kArgsUnspecifiedFieldNumber = 4, + kRelationFieldNumber = 1, + kOptionsFieldNumber = 2, + kRelationOidFieldNumber = 3, }; - // repeated .pg_query.Node objname = 1 [json_name = "objname"]; - int objname_size() const; - private: - int _internal_objname_size() const; - public: - void clear_objname(); - ::pg_query::Node* mutable_objname(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_objname(); - private: - const ::pg_query::Node& _internal_objname(int index) const; - ::pg_query::Node* _internal_add_objname(); - public: - const ::pg_query::Node& objname(int index) const; - ::pg_query::Node* add_objname(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - objname() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; - int objargs_size() const; - private: - int _internal_objargs_size() const; - public: - void clear_objargs(); - ::pg_query::Node* mutable_objargs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_objargs(); private: - const ::pg_query::Node& _internal_objargs(int index) const; - ::pg_query::Node* _internal_add_objargs(); - public: - const ::pg_query::Node& objargs(int index) const; - ::pg_query::Node* add_objargs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - objargs() const; + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); - // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; - int objfuncargs_size() const; - private: - int _internal_objfuncargs_size() const; public: - void clear_objfuncargs(); - ::pg_query::Node* mutable_objfuncargs(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_objfuncargs(); + // uint32 options = 2 [json_name = "options"]; + void clear_options() ; + ::uint32_t options() const; + void set_options(::uint32_t value); + private: - const ::pg_query::Node& _internal_objfuncargs(int index) const; - ::pg_query::Node* _internal_add_objfuncargs(); + ::uint32_t _internal_options() const; + void _internal_set_options(::uint32_t value); + public: - const ::pg_query::Node& objfuncargs(int index) const; - ::pg_query::Node* add_objfuncargs(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - objfuncargs() const; + // uint32 relation_oid = 3 [json_name = "relationOid"]; + void clear_relation_oid() ; + ::uint32_t relation_oid() const; + void set_relation_oid(::uint32_t value); - // bool args_unspecified = 4 [json_name = "args_unspecified"]; - void clear_args_unspecified(); - bool args_unspecified() const; - void set_args_unspecified(bool value); private: - bool _internal_args_unspecified() const; - void _internal_set_args_unspecified(bool value); - public: + ::uint32_t _internal_relation_oid() const; + void _internal_set_relation_oid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.ObjectWithArgs) + public: + // @@protoc_insertion_point(class_scope:pg_query.TableLikeClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > objname_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > objargs_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > objfuncargs_; - bool args_unspecified_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::RangeVar* relation_; + ::uint32_t options_; + ::uint32_t relation_oid_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class AccessPriv final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.AccessPriv) */ { +class TableSampleClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TableSampleClause) */ { public: - inline AccessPriv() : AccessPriv(nullptr) {} - ~AccessPriv() override; - explicit PROTOBUF_CONSTEXPR AccessPriv(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TableSampleClause() : TableSampleClause(nullptr) {} + ~TableSampleClause() override; + template + explicit PROTOBUF_CONSTEXPR TableSampleClause(::google::protobuf::internal::ConstantInitialized); - AccessPriv(const AccessPriv& from); - AccessPriv(AccessPriv&& from) noexcept - : AccessPriv() { + inline TableSampleClause(const TableSampleClause& from) + : TableSampleClause(nullptr, from) {} + TableSampleClause(TableSampleClause&& from) noexcept + : TableSampleClause() { *this = ::std::move(from); } - inline AccessPriv& operator=(const AccessPriv& from) { + inline TableSampleClause& operator=(const TableSampleClause& from) { CopyFrom(from); return *this; } - inline AccessPriv& operator=(AccessPriv&& from) noexcept { + inline TableSampleClause& operator=(TableSampleClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56008,170 +71446,210 @@ class AccessPriv final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const AccessPriv& default_instance() { + static const TableSampleClause& default_instance() { return *internal_default_instance(); } - static inline const AccessPriv* internal_default_instance() { - return reinterpret_cast( - &_AccessPriv_default_instance_); + static inline const TableSampleClause* internal_default_instance() { + return reinterpret_cast( + &_TableSampleClause_default_instance_); } static constexpr int kIndexInFileMessages = - 215; + 112; - friend void swap(AccessPriv& a, AccessPriv& b) { + friend void swap(TableSampleClause& a, TableSampleClause& b) { a.Swap(&b); } - inline void Swap(AccessPriv* other) { + inline void Swap(TableSampleClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(AccessPriv* other) { + void UnsafeArenaSwap(TableSampleClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - AccessPriv* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TableSampleClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AccessPriv& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const AccessPriv& from) { - AccessPriv::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TableSampleClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TableSampleClause& from) { + TableSampleClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AccessPriv* other); + void InternalSwap(TableSampleClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.AccessPriv"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TableSampleClause"; } protected: - explicit AccessPriv(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TableSampleClause(::google::protobuf::Arena* arena); + TableSampleClause(::google::protobuf::Arena* arena, const TableSampleClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kColsFieldNumber = 2, - kPrivNameFieldNumber = 1, + kArgsFieldNumber = 2, + kRepeatableFieldNumber = 3, + kTsmhandlerFieldNumber = 1, }; - // repeated .pg_query.Node cols = 2 [json_name = "cols"]; - int cols_size() const; + // repeated .pg_query.Node args = 2 [json_name = "args"]; + int args_size() const; private: - int _internal_cols_size() const; + int _internal_args_size() const; + public: - void clear_cols(); - ::pg_query::Node* mutable_cols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cols(); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_cols(int index) const; - ::pg_query::Node* _internal_add_cols(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& cols(int index) const; - ::pg_query::Node* add_cols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cols() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // .pg_query.Node repeatable = 3 [json_name = "repeatable"]; + bool has_repeatable() const; + void clear_repeatable() ; + const ::pg_query::Node& repeatable() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_repeatable(); + ::pg_query::Node* mutable_repeatable(); + void set_allocated_repeatable(::pg_query::Node* value); + void unsafe_arena_set_allocated_repeatable(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_repeatable(); - // string priv_name = 1 [json_name = "priv_name"]; - void clear_priv_name(); - const std::string& priv_name() const; - template - void set_priv_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_priv_name(); - PROTOBUF_NODISCARD std::string* release_priv_name(); - void set_allocated_priv_name(std::string* priv_name); private: - const std::string& _internal_priv_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_priv_name(const std::string& value); - std::string* _internal_mutable_priv_name(); + const ::pg_query::Node& _internal_repeatable() const; + ::pg_query::Node* _internal_mutable_repeatable(); + public: + // uint32 tsmhandler = 1 [json_name = "tsmhandler"]; + void clear_tsmhandler() ; + ::uint32_t tsmhandler() const; + void set_tsmhandler(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.AccessPriv) + private: + ::uint32_t _internal_tsmhandler() const; + void _internal_set_tsmhandler(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TableSampleClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cols_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr priv_name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::pg_query::Node* repeatable_; + ::uint32_t tsmhandler_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CreateOpClassItem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CreateOpClassItem) */ { +class TargetEntry final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TargetEntry) */ { public: - inline CreateOpClassItem() : CreateOpClassItem(nullptr) {} - ~CreateOpClassItem() override; - explicit PROTOBUF_CONSTEXPR CreateOpClassItem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TargetEntry() : TargetEntry(nullptr) {} + ~TargetEntry() override; + template + explicit PROTOBUF_CONSTEXPR TargetEntry(::google::protobuf::internal::ConstantInitialized); - CreateOpClassItem(const CreateOpClassItem& from); - CreateOpClassItem(CreateOpClassItem&& from) noexcept - : CreateOpClassItem() { + inline TargetEntry(const TargetEntry& from) + : TargetEntry(nullptr, from) {} + TargetEntry(TargetEntry&& from) noexcept + : TargetEntry() { *this = ::std::move(from); } - inline CreateOpClassItem& operator=(const CreateOpClassItem& from) { + inline TargetEntry& operator=(const TargetEntry& from) { CopyFrom(from); return *this; } - inline CreateOpClassItem& operator=(CreateOpClassItem&& from) noexcept { + inline TargetEntry& operator=(TargetEntry&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56181,236 +71659,273 @@ class CreateOpClassItem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CreateOpClassItem& default_instance() { + static const TargetEntry& default_instance() { return *internal_default_instance(); } - static inline const CreateOpClassItem* internal_default_instance() { - return reinterpret_cast( - &_CreateOpClassItem_default_instance_); + static inline const TargetEntry* internal_default_instance() { + return reinterpret_cast( + &_TargetEntry_default_instance_); } static constexpr int kIndexInFileMessages = - 216; + 70; - friend void swap(CreateOpClassItem& a, CreateOpClassItem& b) { + friend void swap(TargetEntry& a, TargetEntry& b) { a.Swap(&b); } - inline void Swap(CreateOpClassItem* other) { + inline void Swap(TargetEntry* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CreateOpClassItem* other) { + void UnsafeArenaSwap(TargetEntry* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CreateOpClassItem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TargetEntry* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CreateOpClassItem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CreateOpClassItem& from) { - CreateOpClassItem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TargetEntry& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TargetEntry& from) { + TargetEntry::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CreateOpClassItem* other); + void InternalSwap(TargetEntry* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CreateOpClassItem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TargetEntry"; } protected: - explicit CreateOpClassItem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TargetEntry(::google::protobuf::Arena* arena); + TargetEntry(::google::protobuf::Arena* arena, const TargetEntry& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kOrderFamilyFieldNumber = 4, - kClassArgsFieldNumber = 5, - kNameFieldNumber = 2, - kStoredtypeFieldNumber = 6, - kItemtypeFieldNumber = 1, - kNumberFieldNumber = 3, + kResnameFieldNumber = 4, + kXprFieldNumber = 1, + kExprFieldNumber = 2, + kResnoFieldNumber = 3, + kRessortgrouprefFieldNumber = 5, + kResorigtblFieldNumber = 6, + kResorigcolFieldNumber = 7, + kResjunkFieldNumber = 8, }; - // repeated .pg_query.Node order_family = 4 [json_name = "order_family"]; - int order_family_size() const; - private: - int _internal_order_family_size() const; - public: - void clear_order_family(); - ::pg_query::Node* mutable_order_family(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_order_family(); - private: - const ::pg_query::Node& _internal_order_family(int index) const; - ::pg_query::Node* _internal_add_order_family(); - public: - const ::pg_query::Node& order_family(int index) const; - ::pg_query::Node* add_order_family(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - order_family() const; + // string resname = 4 [json_name = "resname"]; + void clear_resname() ; + const std::string& resname() const; + template + void set_resname(Arg_&& arg, Args_... args); + std::string* mutable_resname(); + PROTOBUF_NODISCARD std::string* release_resname(); + void set_allocated_resname(std::string* value); - // repeated .pg_query.Node class_args = 5 [json_name = "class_args"]; - int class_args_size() const; private: - int _internal_class_args_size() const; + const std::string& _internal_resname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_resname( + const std::string& value); + std::string* _internal_mutable_resname(); + public: - void clear_class_args(); - ::pg_query::Node* mutable_class_args(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_class_args(); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - const ::pg_query::Node& _internal_class_args(int index) const; - ::pg_query::Node* _internal_add_class_args(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - const ::pg_query::Node& class_args(int index) const; - ::pg_query::Node* add_class_args(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - class_args() const; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); - // .pg_query.ObjectWithArgs name = 2 [json_name = "name"]; - bool has_name() const; private: - bool _internal_has_name() const; + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + public: - void clear_name(); - const ::pg_query::ObjectWithArgs& name() const; - PROTOBUF_NODISCARD ::pg_query::ObjectWithArgs* release_name(); - ::pg_query::ObjectWithArgs* mutable_name(); - void set_allocated_name(::pg_query::ObjectWithArgs* name); + // int32 resno = 3 [json_name = "resno"]; + void clear_resno() ; + ::int32_t resno() const; + void set_resno(::int32_t value); + private: - const ::pg_query::ObjectWithArgs& _internal_name() const; - ::pg_query::ObjectWithArgs* _internal_mutable_name(); + ::int32_t _internal_resno() const; + void _internal_set_resno(::int32_t value); + public: - void unsafe_arena_set_allocated_name( - ::pg_query::ObjectWithArgs* name); - ::pg_query::ObjectWithArgs* unsafe_arena_release_name(); + // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; + void clear_ressortgroupref() ; + ::uint32_t ressortgroupref() const; + void set_ressortgroupref(::uint32_t value); - // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"]; - bool has_storedtype() const; private: - bool _internal_has_storedtype() const; + ::uint32_t _internal_ressortgroupref() const; + void _internal_set_ressortgroupref(::uint32_t value); + public: - void clear_storedtype(); - const ::pg_query::TypeName& storedtype() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_storedtype(); - ::pg_query::TypeName* mutable_storedtype(); - void set_allocated_storedtype(::pg_query::TypeName* storedtype); + // uint32 resorigtbl = 6 [json_name = "resorigtbl"]; + void clear_resorigtbl() ; + ::uint32_t resorigtbl() const; + void set_resorigtbl(::uint32_t value); + private: - const ::pg_query::TypeName& _internal_storedtype() const; - ::pg_query::TypeName* _internal_mutable_storedtype(); + ::uint32_t _internal_resorigtbl() const; + void _internal_set_resorigtbl(::uint32_t value); + public: - void unsafe_arena_set_allocated_storedtype( - ::pg_query::TypeName* storedtype); - ::pg_query::TypeName* unsafe_arena_release_storedtype(); + // int32 resorigcol = 7 [json_name = "resorigcol"]; + void clear_resorigcol() ; + ::int32_t resorigcol() const; + void set_resorigcol(::int32_t value); - // int32 itemtype = 1 [json_name = "itemtype"]; - void clear_itemtype(); - int32_t itemtype() const; - void set_itemtype(int32_t value); private: - int32_t _internal_itemtype() const; - void _internal_set_itemtype(int32_t value); + ::int32_t _internal_resorigcol() const; + void _internal_set_resorigcol(::int32_t value); + public: + // bool resjunk = 8 [json_name = "resjunk"]; + void clear_resjunk() ; + bool resjunk() const; + void set_resjunk(bool value); - // int32 number = 3 [json_name = "number"]; - void clear_number(); - int32_t number() const; - void set_number(int32_t value); private: - int32_t _internal_number() const; - void _internal_set_number(int32_t value); - public: + bool _internal_resjunk() const; + void _internal_set_resjunk(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CreateOpClassItem) + public: + // @@protoc_insertion_point(class_scope:pg_query.TargetEntry) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 2, + 44, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > order_family_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > class_args_; - ::pg_query::ObjectWithArgs* name_; - ::pg_query::TypeName* storedtype_; - int32_t itemtype_; - int32_t number_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr resname_; + ::pg_query::Node* xpr_; + ::pg_query::Node* expr_; + ::int32_t resno_; + ::uint32_t ressortgroupref_; + ::uint32_t resorigtbl_; + ::int32_t resorigcol_; + bool resjunk_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TableLikeClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TableLikeClause) */ { +class TransactionStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TransactionStmt) */ { public: - inline TableLikeClause() : TableLikeClause(nullptr) {} - ~TableLikeClause() override; - explicit PROTOBUF_CONSTEXPR TableLikeClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TransactionStmt() : TransactionStmt(nullptr) {} + ~TransactionStmt() override; + template + explicit PROTOBUF_CONSTEXPR TransactionStmt(::google::protobuf::internal::ConstantInitialized); - TableLikeClause(const TableLikeClause& from); - TableLikeClause(TableLikeClause&& from) noexcept - : TableLikeClause() { + inline TransactionStmt(const TransactionStmt& from) + : TransactionStmt(nullptr, from) {} + TransactionStmt(TransactionStmt&& from) noexcept + : TransactionStmt() { *this = ::std::move(from); } - inline TableLikeClause& operator=(const TableLikeClause& from) { + inline TransactionStmt& operator=(const TransactionStmt& from) { CopyFrom(from); return *this; } - inline TableLikeClause& operator=(TableLikeClause&& from) noexcept { + inline TransactionStmt& operator=(TransactionStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56420,176 +71935,252 @@ class TableLikeClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TableLikeClause& default_instance() { + static const TransactionStmt& default_instance() { return *internal_default_instance(); } - static inline const TableLikeClause* internal_default_instance() { - return reinterpret_cast( - &_TableLikeClause_default_instance_); + static inline const TransactionStmt* internal_default_instance() { + return reinterpret_cast( + &_TransactionStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 217; + 230; - friend void swap(TableLikeClause& a, TableLikeClause& b) { + friend void swap(TransactionStmt& a, TransactionStmt& b) { a.Swap(&b); } - inline void Swap(TableLikeClause* other) { + inline void Swap(TransactionStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TableLikeClause* other) { + void UnsafeArenaSwap(TransactionStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TableLikeClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TransactionStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TableLikeClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TableLikeClause& from) { - TableLikeClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TransactionStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TransactionStmt& from) { + TransactionStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TableLikeClause* other); + void InternalSwap(TransactionStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TableLikeClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TransactionStmt"; } protected: - explicit TableLikeClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TransactionStmt(::google::protobuf::Arena* arena); + TransactionStmt(::google::protobuf::Arena* arena, const TransactionStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRelationFieldNumber = 1, kOptionsFieldNumber = 2, - kRelationOidFieldNumber = 3, + kSavepointNameFieldNumber = 3, + kGidFieldNumber = 4, + kKindFieldNumber = 1, + kChainFieldNumber = 5, + kLocationFieldNumber = 6, }; - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; + // repeated .pg_query.Node options = 2 [json_name = "options"]; + int options_size() const; private: - bool _internal_has_relation() const; + int _internal_options_size() const; + public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // string savepoint_name = 3 [json_name = "savepoint_name"]; + void clear_savepoint_name() ; + const std::string& savepoint_name() const; + template + void set_savepoint_name(Arg_&& arg, Args_... args); + std::string* mutable_savepoint_name(); + PROTOBUF_NODISCARD std::string* release_savepoint_name(); + void set_allocated_savepoint_name(std::string* value); - // uint32 options = 2 [json_name = "options"]; - void clear_options(); - uint32_t options() const; - void set_options(uint32_t value); private: - uint32_t _internal_options() const; - void _internal_set_options(uint32_t value); + const std::string& _internal_savepoint_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_savepoint_name( + const std::string& value); + std::string* _internal_mutable_savepoint_name(); + public: + // string gid = 4 [json_name = "gid"]; + void clear_gid() ; + const std::string& gid() const; + template + void set_gid(Arg_&& arg, Args_... args); + std::string* mutable_gid(); + PROTOBUF_NODISCARD std::string* release_gid(); + void set_allocated_gid(std::string* value); + + private: + const std::string& _internal_gid() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_gid( + const std::string& value); + std::string* _internal_mutable_gid(); + + public: + // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::TransactionStmtKind kind() const; + void set_kind(::pg_query::TransactionStmtKind value); - // uint32 relation_oid = 3 [json_name = "relationOid"]; - void clear_relation_oid(); - uint32_t relation_oid() const; - void set_relation_oid(uint32_t value); private: - uint32_t _internal_relation_oid() const; - void _internal_set_relation_oid(uint32_t value); + ::pg_query::TransactionStmtKind _internal_kind() const; + void _internal_set_kind(::pg_query::TransactionStmtKind value); + public: + // bool chain = 5 [json_name = "chain"]; + void clear_chain() ; + bool chain() const; + void set_chain(bool value); - // @@protoc_insertion_point(class_scope:pg_query.TableLikeClause) + private: + bool _internal_chain() const; + void _internal_set_chain(bool value); + + public: + // int32 location = 6 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TransactionStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 1, + 50, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::RangeVar* relation_; - uint32_t options_; - uint32_t relation_oid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::internal::ArenaStringPtr savepoint_name_; + ::google::protobuf::internal::ArenaStringPtr gid_; + int kind_; + bool chain_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class FunctionParameter final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.FunctionParameter) */ { +class TruncateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TruncateStmt) */ { public: - inline FunctionParameter() : FunctionParameter(nullptr) {} - ~FunctionParameter() override; - explicit PROTOBUF_CONSTEXPR FunctionParameter(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TruncateStmt() : TruncateStmt(nullptr) {} + ~TruncateStmt() override; + template + explicit PROTOBUF_CONSTEXPR TruncateStmt(::google::protobuf::internal::ConstantInitialized); - FunctionParameter(const FunctionParameter& from); - FunctionParameter(FunctionParameter&& from) noexcept - : FunctionParameter() { + inline TruncateStmt(const TruncateStmt& from) + : TruncateStmt(nullptr, from) {} + TruncateStmt(TruncateStmt&& from) noexcept + : TruncateStmt() { *this = ::std::move(from); } - inline FunctionParameter& operator=(const FunctionParameter& from) { + inline TruncateStmt& operator=(const TruncateStmt& from) { CopyFrom(from); return *this; } - inline FunctionParameter& operator=(FunctionParameter&& from) noexcept { + inline TruncateStmt& operator=(TruncateStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56599,201 +72190,204 @@ class FunctionParameter final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const FunctionParameter& default_instance() { + static const TruncateStmt& default_instance() { return *internal_default_instance(); } - static inline const FunctionParameter* internal_default_instance() { - return reinterpret_cast( - &_FunctionParameter_default_instance_); + static inline const TruncateStmt* internal_default_instance() { + return reinterpret_cast( + &_TruncateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 218; + 203; - friend void swap(FunctionParameter& a, FunctionParameter& b) { + friend void swap(TruncateStmt& a, TruncateStmt& b) { a.Swap(&b); } - inline void Swap(FunctionParameter* other) { + inline void Swap(TruncateStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(FunctionParameter* other) { + void UnsafeArenaSwap(TruncateStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - FunctionParameter* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TruncateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const FunctionParameter& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const FunctionParameter& from) { - FunctionParameter::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TruncateStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TruncateStmt& from) { + TruncateStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(FunctionParameter* other); + void InternalSwap(TruncateStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.FunctionParameter"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TruncateStmt"; } protected: - explicit FunctionParameter(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TruncateStmt(::google::protobuf::Arena* arena); + TruncateStmt(::google::protobuf::Arena* arena, const TruncateStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kArgTypeFieldNumber = 2, - kDefexprFieldNumber = 4, - kModeFieldNumber = 3, + kRelationsFieldNumber = 1, + kRestartSeqsFieldNumber = 2, + kBehaviorFieldNumber = 3, }; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // repeated .pg_query.Node relations = 1 [json_name = "relations"]; + int relations_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: + int _internal_relations_size() const; - // .pg_query.TypeName arg_type = 2 [json_name = "argType"]; - bool has_arg_type() const; - private: - bool _internal_has_arg_type() const; public: - void clear_arg_type(); - const ::pg_query::TypeName& arg_type() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_arg_type(); - ::pg_query::TypeName* mutable_arg_type(); - void set_allocated_arg_type(::pg_query::TypeName* arg_type); + void clear_relations() ; + ::pg_query::Node* mutable_relations(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_relations(); private: - const ::pg_query::TypeName& _internal_arg_type() const; - ::pg_query::TypeName* _internal_mutable_arg_type(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_relations() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_relations(); public: - void unsafe_arena_set_allocated_arg_type( - ::pg_query::TypeName* arg_type); - ::pg_query::TypeName* unsafe_arena_release_arg_type(); + const ::pg_query::Node& relations(int index) const; + ::pg_query::Node* add_relations(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + relations() const; + // bool restart_seqs = 2 [json_name = "restart_seqs"]; + void clear_restart_seqs() ; + bool restart_seqs() const; + void set_restart_seqs(bool value); - // .pg_query.Node defexpr = 4 [json_name = "defexpr"]; - bool has_defexpr() const; - private: - bool _internal_has_defexpr() const; - public: - void clear_defexpr(); - const ::pg_query::Node& defexpr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_defexpr(); - ::pg_query::Node* mutable_defexpr(); - void set_allocated_defexpr(::pg_query::Node* defexpr); private: - const ::pg_query::Node& _internal_defexpr() const; - ::pg_query::Node* _internal_mutable_defexpr(); + bool _internal_restart_seqs() const; + void _internal_set_restart_seqs(bool value); + public: - void unsafe_arena_set_allocated_defexpr( - ::pg_query::Node* defexpr); - ::pg_query::Node* unsafe_arena_release_defexpr(); + // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; + void clear_behavior() ; + ::pg_query::DropBehavior behavior() const; + void set_behavior(::pg_query::DropBehavior value); - // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"]; - void clear_mode(); - ::pg_query::FunctionParameterMode mode() const; - void set_mode(::pg_query::FunctionParameterMode value); private: - ::pg_query::FunctionParameterMode _internal_mode() const; - void _internal_set_mode(::pg_query::FunctionParameterMode value); - public: + ::pg_query::DropBehavior _internal_behavior() const; + void _internal_set_behavior(::pg_query::DropBehavior value); - // @@protoc_insertion_point(class_scope:pg_query.FunctionParameter) + public: + // @@protoc_insertion_point(class_scope:pg_query.TruncateStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::TypeName* arg_type_; - ::pg_query::Node* defexpr_; - int mode_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > relations_; + bool restart_seqs_; + int behavior_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class LockingClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.LockingClause) */ { +class TypeCast final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeCast) */ { public: - inline LockingClause() : LockingClause(nullptr) {} - ~LockingClause() override; - explicit PROTOBUF_CONSTEXPR LockingClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TypeCast() : TypeCast(nullptr) {} + ~TypeCast() override; + template + explicit PROTOBUF_CONSTEXPR TypeCast(::google::protobuf::internal::ConstantInitialized); - LockingClause(const LockingClause& from); - LockingClause(LockingClause&& from) noexcept - : LockingClause() { + inline TypeCast(const TypeCast& from) + : TypeCast(nullptr, from) {} + TypeCast(TypeCast&& from) noexcept + : TypeCast() { *this = ::std::move(from); } - inline LockingClause& operator=(const LockingClause& from) { + inline TypeCast& operator=(const TypeCast& from) { CopyFrom(from); return *this; } - inline LockingClause& operator=(LockingClause&& from) noexcept { + inline TypeCast& operator=(TypeCast&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56803,176 +72397,207 @@ class LockingClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const LockingClause& default_instance() { + static const TypeCast& default_instance() { return *internal_default_instance(); } - static inline const LockingClause* internal_default_instance() { - return reinterpret_cast( - &_LockingClause_default_instance_); + static inline const TypeCast* internal_default_instance() { + return reinterpret_cast( + &_TypeCast_default_instance_); } static constexpr int kIndexInFileMessages = - 219; + 80; - friend void swap(LockingClause& a, LockingClause& b) { + friend void swap(TypeCast& a, TypeCast& b) { a.Swap(&b); } - inline void Swap(LockingClause* other) { + inline void Swap(TypeCast* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(LockingClause* other) { + void UnsafeArenaSwap(TypeCast* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - LockingClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TypeCast* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const LockingClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const LockingClause& from) { - LockingClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TypeCast& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TypeCast& from) { + TypeCast::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(LockingClause* other); + void InternalSwap(TypeCast* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.LockingClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TypeCast"; } protected: - explicit LockingClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TypeCast(::google::protobuf::Arena* arena); + TypeCast(::google::protobuf::Arena* arena, const TypeCast& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kLockedRelsFieldNumber = 1, - kStrengthFieldNumber = 2, - kWaitPolicyFieldNumber = 3, + kArgFieldNumber = 1, + kTypeNameFieldNumber = 2, + kLocationFieldNumber = 3, }; - // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; - int locked_rels_size() const; - private: - int _internal_locked_rels_size() const; - public: - void clear_locked_rels(); - ::pg_query::Node* mutable_locked_rels(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_locked_rels(); + // .pg_query.Node arg = 1 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); + private: - const ::pg_query::Node& _internal_locked_rels(int index) const; - ::pg_query::Node* _internal_add_locked_rels(); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: - const ::pg_query::Node& locked_rels(int index) const; - ::pg_query::Node* add_locked_rels(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - locked_rels() const; + // .pg_query.TypeName type_name = 2 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); - // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; - void clear_strength(); - ::pg_query::LockClauseStrength strength() const; - void set_strength(::pg_query::LockClauseStrength value); private: - ::pg_query::LockClauseStrength _internal_strength() const; - void _internal_set_strength(::pg_query::LockClauseStrength value); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: + // int32 location = 3 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; - void clear_wait_policy(); - ::pg_query::LockWaitPolicy wait_policy() const; - void set_wait_policy(::pg_query::LockWaitPolicy value); private: - ::pg_query::LockWaitPolicy _internal_wait_policy() const; - void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.LockingClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.TypeCast) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > locked_rels_; - int strength_; - int wait_policy_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* arg_; + ::pg_query::TypeName* type_name_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RowMarkClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RowMarkClause) */ { +class TypeName final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.TypeName) */ { public: - inline RowMarkClause() : RowMarkClause(nullptr) {} - ~RowMarkClause() override; - explicit PROTOBUF_CONSTEXPR RowMarkClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline TypeName() : TypeName(nullptr) {} + ~TypeName() override; + template + explicit PROTOBUF_CONSTEXPR TypeName(::google::protobuf::internal::ConstantInitialized); - RowMarkClause(const RowMarkClause& from); - RowMarkClause(RowMarkClause&& from) noexcept - : RowMarkClause() { + inline TypeName(const TypeName& from) + : TypeName(nullptr, from) {} + TypeName(TypeName&& from) noexcept + : TypeName() { *this = ::std::move(from); } - inline RowMarkClause& operator=(const RowMarkClause& from) { + inline TypeName& operator=(const TypeName& from) { CopyFrom(from); return *this; } - inline RowMarkClause& operator=(RowMarkClause&& from) noexcept { + inline TypeName& operator=(TypeName&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -56982,178 +72607,280 @@ class RowMarkClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RowMarkClause& default_instance() { + static const TypeName& default_instance() { return *internal_default_instance(); } - static inline const RowMarkClause* internal_default_instance() { - return reinterpret_cast( - &_RowMarkClause_default_instance_); + static inline const TypeName* internal_default_instance() { + return reinterpret_cast( + &_TypeName_default_instance_); } static constexpr int kIndexInFileMessages = - 220; + 76; - friend void swap(RowMarkClause& a, RowMarkClause& b) { + friend void swap(TypeName& a, TypeName& b) { a.Swap(&b); } - inline void Swap(RowMarkClause* other) { + inline void Swap(TypeName* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RowMarkClause* other) { + void UnsafeArenaSwap(TypeName* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RowMarkClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + TypeName* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RowMarkClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RowMarkClause& from) { - RowMarkClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TypeName& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const TypeName& from) { + TypeName::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RowMarkClause* other); + void InternalSwap(TypeName* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RowMarkClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.TypeName"; } protected: - explicit RowMarkClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit TypeName(::google::protobuf::Arena* arena); + TypeName(::google::protobuf::Arena* arena, const TypeName& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRtiFieldNumber = 1, - kStrengthFieldNumber = 2, - kWaitPolicyFieldNumber = 3, - kPushedDownFieldNumber = 4, + kNamesFieldNumber = 1, + kTypmodsFieldNumber = 5, + kArrayBoundsFieldNumber = 7, + kTypeOidFieldNumber = 2, + kSetofFieldNumber = 3, + kPctTypeFieldNumber = 4, + kTypemodFieldNumber = 6, + kLocationFieldNumber = 8, }; - // uint32 rti = 1 [json_name = "rti"]; - void clear_rti(); - uint32_t rti() const; - void set_rti(uint32_t value); + // repeated .pg_query.Node names = 1 [json_name = "names"]; + int names_size() const; + private: + int _internal_names_size() const; + + public: + void clear_names() ; + ::pg_query::Node* mutable_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_names(); private: - uint32_t _internal_rti() const; - void _internal_set_rti(uint32_t value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_names(); public: + const ::pg_query::Node& names(int index) const; + ::pg_query::Node* add_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + names() const; + // repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; + int typmods_size() const; + private: + int _internal_typmods_size() const; - // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; - void clear_strength(); - ::pg_query::LockClauseStrength strength() const; - void set_strength(::pg_query::LockClauseStrength value); + public: + void clear_typmods() ; + ::pg_query::Node* mutable_typmods(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_typmods(); private: - ::pg_query::LockClauseStrength _internal_strength() const; - void _internal_set_strength(::pg_query::LockClauseStrength value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_typmods() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_typmods(); public: + const ::pg_query::Node& typmods(int index) const; + ::pg_query::Node* add_typmods(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + typmods() const; + // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; + int array_bounds_size() const; + private: + int _internal_array_bounds_size() const; - // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; - void clear_wait_policy(); - ::pg_query::LockWaitPolicy wait_policy() const; - void set_wait_policy(::pg_query::LockWaitPolicy value); + public: + void clear_array_bounds() ; + ::pg_query::Node* mutable_array_bounds(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_array_bounds(); private: - ::pg_query::LockWaitPolicy _internal_wait_policy() const; - void _internal_set_wait_policy(::pg_query::LockWaitPolicy value); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_array_bounds() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_array_bounds(); public: + const ::pg_query::Node& array_bounds(int index) const; + ::pg_query::Node* add_array_bounds(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + array_bounds() const; + // uint32 type_oid = 2 [json_name = "typeOid"]; + void clear_type_oid() ; + ::uint32_t type_oid() const; + void set_type_oid(::uint32_t value); - // bool pushed_down = 4 [json_name = "pushedDown"]; - void clear_pushed_down(); - bool pushed_down() const; - void set_pushed_down(bool value); private: - bool _internal_pushed_down() const; - void _internal_set_pushed_down(bool value); + ::uint32_t _internal_type_oid() const; + void _internal_set_type_oid(::uint32_t value); + + public: + // bool setof = 3 [json_name = "setof"]; + void clear_setof() ; + bool setof() const; + void set_setof(bool value); + + private: + bool _internal_setof() const; + void _internal_set_setof(bool value); + public: + // bool pct_type = 4 [json_name = "pct_type"]; + void clear_pct_type() ; + bool pct_type() const; + void set_pct_type(bool value); - // @@protoc_insertion_point(class_scope:pg_query.RowMarkClause) + private: + bool _internal_pct_type() const; + void _internal_set_pct_type(bool value); + + public: + // int32 typemod = 6 [json_name = "typemod"]; + void clear_typemod() ; + ::int32_t typemod() const; + void set_typemod(::int32_t value); + + private: + ::int32_t _internal_typemod() const; + void _internal_set_typemod(::int32_t value); + + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.TypeName) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 3, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - uint32_t rti_; - int strength_; - int wait_policy_; - bool pushed_down_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > typmods_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > array_bounds_; + ::uint32_t type_oid_; + bool setof_; + bool pct_type_; + ::int32_t typemod_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class XmlSerialize final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlSerialize) */ { +class UpdateStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.UpdateStmt) */ { public: - inline XmlSerialize() : XmlSerialize(nullptr) {} - ~XmlSerialize() override; - explicit PROTOBUF_CONSTEXPR XmlSerialize(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline UpdateStmt() : UpdateStmt(nullptr) {} + ~UpdateStmt() override; + template + explicit PROTOBUF_CONSTEXPR UpdateStmt(::google::protobuf::internal::ConstantInitialized); - XmlSerialize(const XmlSerialize& from); - XmlSerialize(XmlSerialize&& from) noexcept - : XmlSerialize() { + inline UpdateStmt(const UpdateStmt& from) + : UpdateStmt(nullptr, from) {} + UpdateStmt(UpdateStmt&& from) noexcept + : UpdateStmt() { *this = ::std::move(from); } - inline XmlSerialize& operator=(const XmlSerialize& from) { + inline UpdateStmt& operator=(const UpdateStmt& from) { CopyFrom(from); return *this; } - inline XmlSerialize& operator=(XmlSerialize&& from) noexcept { + inline UpdateStmt& operator=(UpdateStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -57163,196 +72890,272 @@ class XmlSerialize final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const XmlSerialize& default_instance() { + static const UpdateStmt& default_instance() { return *internal_default_instance(); } - static inline const XmlSerialize* internal_default_instance() { - return reinterpret_cast( - &_XmlSerialize_default_instance_); + static inline const UpdateStmt* internal_default_instance() { + return reinterpret_cast( + &_UpdateStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 221; + 145; - friend void swap(XmlSerialize& a, XmlSerialize& b) { + friend void swap(UpdateStmt& a, UpdateStmt& b) { a.Swap(&b); } - inline void Swap(XmlSerialize* other) { + inline void Swap(UpdateStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(XmlSerialize* other) { + void UnsafeArenaSwap(UpdateStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - XmlSerialize* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + UpdateStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const XmlSerialize& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const XmlSerialize& from) { - XmlSerialize::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const UpdateStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const UpdateStmt& from) { + UpdateStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(XmlSerialize* other); + void InternalSwap(UpdateStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.XmlSerialize"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.UpdateStmt"; } protected: - explicit XmlSerialize(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit UpdateStmt(::google::protobuf::Arena* arena); + UpdateStmt(::google::protobuf::Arena* arena, const UpdateStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kExprFieldNumber = 2, - kTypeNameFieldNumber = 3, - kXmloptionFieldNumber = 1, - kLocationFieldNumber = 4, + kTargetListFieldNumber = 2, + kFromClauseFieldNumber = 4, + kReturningListFieldNumber = 5, + kRelationFieldNumber = 1, + kWhereClauseFieldNumber = 3, + kWithClauseFieldNumber = 6, }; - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; + // repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; + int target_list_size() const; private: - bool _internal_has_expr() const; + int _internal_target_list_size() const; + public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); + void clear_target_list() ; + ::pg_query::Node* mutable_target_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_target_list(); private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_target_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_target_list(); public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + const ::pg_query::Node& target_list(int index) const; + ::pg_query::Node* add_target_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + target_list() const; + // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; + int from_clause_size() const; + private: + int _internal_from_clause_size() const; - // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; - bool has_type_name() const; + public: + void clear_from_clause() ; + ::pg_query::Node* mutable_from_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_from_clause(); private: - bool _internal_has_type_name() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_from_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_from_clause(); public: - void clear_type_name(); - const ::pg_query::TypeName& type_name() const; - PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); - ::pg_query::TypeName* mutable_type_name(); - void set_allocated_type_name(::pg_query::TypeName* type_name); + const ::pg_query::Node& from_clause(int index) const; + ::pg_query::Node* add_from_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + from_clause() const; + // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; + int returning_list_size() const; private: - const ::pg_query::TypeName& _internal_type_name() const; - ::pg_query::TypeName* _internal_mutable_type_name(); + int _internal_returning_list_size() const; + public: - void unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name); - ::pg_query::TypeName* unsafe_arena_release_type_name(); + void clear_returning_list() ; + ::pg_query::Node* mutable_returning_list(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_returning_list(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_returning_list() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_returning_list(); + public: + const ::pg_query::Node& returning_list(int index) const; + ::pg_query::Node* add_returning_list(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + returning_list() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; - void clear_xmloption(); - ::pg_query::XmlOptionType xmloption() const; - void set_xmloption(::pg_query::XmlOptionType value); private: - ::pg_query::XmlOptionType _internal_xmloption() const; - void _internal_set_xmloption(::pg_query::XmlOptionType value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: + // .pg_query.Node where_clause = 3 [json_name = "whereClause"]; + bool has_where_clause() const; + void clear_where_clause() ; + const ::pg_query::Node& where_clause() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); + ::pg_query::Node* mutable_where_clause(); + void set_allocated_where_clause(::pg_query::Node* value); + void unsafe_arena_set_allocated_where_clause(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_where_clause(); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + const ::pg_query::Node& _internal_where_clause() const; + ::pg_query::Node* _internal_mutable_where_clause(); + public: + // .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; + bool has_with_clause() const; + void clear_with_clause() ; + const ::pg_query::WithClause& with_clause() const; + PROTOBUF_NODISCARD ::pg_query::WithClause* release_with_clause(); + ::pg_query::WithClause* mutable_with_clause(); + void set_allocated_with_clause(::pg_query::WithClause* value); + void unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value); + ::pg_query::WithClause* unsafe_arena_release_with_clause(); - // @@protoc_insertion_point(class_scope:pg_query.XmlSerialize) + private: + const ::pg_query::WithClause& _internal_with_clause() const; + ::pg_query::WithClause* _internal_mutable_with_clause(); + + public: + // @@protoc_insertion_point(class_scope:pg_query.UpdateStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 6, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* expr_; - ::pg_query::TypeName* type_name_; - int xmloption_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > target_list_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > from_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > returning_list_; + ::pg_query::RangeVar* relation_; + ::pg_query::Node* where_clause_; + ::pg_query::WithClause* with_clause_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class WithClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.WithClause) */ { +class VacuumRelation final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumRelation) */ { public: - inline WithClause() : WithClause(nullptr) {} - ~WithClause() override; - explicit PROTOBUF_CONSTEXPR WithClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline VacuumRelation() : VacuumRelation(nullptr) {} + ~VacuumRelation() override; + template + explicit PROTOBUF_CONSTEXPR VacuumRelation(::google::protobuf::internal::ConstantInitialized); - WithClause(const WithClause& from); - WithClause(WithClause&& from) noexcept - : WithClause() { + inline VacuumRelation(const VacuumRelation& from) + : VacuumRelation(nullptr, from) {} + VacuumRelation(VacuumRelation&& from) noexcept + : VacuumRelation() { *this = ::std::move(from); } - inline WithClause& operator=(const WithClause& from) { + inline VacuumRelation& operator=(const VacuumRelation& from) { CopyFrom(from); return *this; } - inline WithClause& operator=(WithClause&& from) noexcept { + inline VacuumRelation& operator=(VacuumRelation&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -57362,176 +73165,210 @@ class WithClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const WithClause& default_instance() { + static const VacuumRelation& default_instance() { return *internal_default_instance(); } - static inline const WithClause* internal_default_instance() { - return reinterpret_cast( - &_WithClause_default_instance_); + static inline const VacuumRelation* internal_default_instance() { + return reinterpret_cast( + &_VacuumRelation_default_instance_); } static constexpr int kIndexInFileMessages = - 222; + 245; - friend void swap(WithClause& a, WithClause& b) { + friend void swap(VacuumRelation& a, VacuumRelation& b) { a.Swap(&b); } - inline void Swap(WithClause* other) { + inline void Swap(VacuumRelation* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(WithClause* other) { + void UnsafeArenaSwap(VacuumRelation* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - WithClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VacuumRelation* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const WithClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const WithClause& from) { - WithClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VacuumRelation& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const VacuumRelation& from) { + VacuumRelation::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(WithClause* other); + void InternalSwap(VacuumRelation* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.WithClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.VacuumRelation"; } protected: - explicit WithClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit VacuumRelation(::google::protobuf::Arena* arena); + VacuumRelation(::google::protobuf::Arena* arena, const VacuumRelation& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCtesFieldNumber = 1, - kRecursiveFieldNumber = 2, - kLocationFieldNumber = 3, + kVaColsFieldNumber = 3, + kRelationFieldNumber = 1, + kOidFieldNumber = 2, }; - // repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; - int ctes_size() const; + // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; + int va_cols_size() const; private: - int _internal_ctes_size() const; + int _internal_va_cols_size() const; + public: - void clear_ctes(); - ::pg_query::Node* mutable_ctes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ctes(); + void clear_va_cols() ; + ::pg_query::Node* mutable_va_cols(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_va_cols(); private: - const ::pg_query::Node& _internal_ctes(int index) const; - ::pg_query::Node* _internal_add_ctes(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_va_cols() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_va_cols(); public: - const ::pg_query::Node& ctes(int index) const; - ::pg_query::Node* add_ctes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ctes() const; + const ::pg_query::Node& va_cols(int index) const; + ::pg_query::Node* add_va_cols(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + va_cols() const; + // .pg_query.RangeVar relation = 1 [json_name = "relation"]; + bool has_relation() const; + void clear_relation() ; + const ::pg_query::RangeVar& relation() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); + ::pg_query::RangeVar* mutable_relation(); + void set_allocated_relation(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_relation(); - // bool recursive = 2 [json_name = "recursive"]; - void clear_recursive(); - bool recursive() const; - void set_recursive(bool value); private: - bool _internal_recursive() const; - void _internal_set_recursive(bool value); + const ::pg_query::RangeVar& _internal_relation() const; + ::pg_query::RangeVar* _internal_mutable_relation(); + public: + // uint32 oid = 2 [json_name = "oid"]; + void clear_oid() ; + ::uint32_t oid() const; + void set_oid(::uint32_t value); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::uint32_t _internal_oid() const; + void _internal_set_oid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.WithClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.VacuumRelation) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ctes_; - bool recursive_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > va_cols_; + ::pg_query::RangeVar* relation_; + ::uint32_t oid_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class InferClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.InferClause) */ { +class VacuumStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumStmt) */ { public: - inline InferClause() : InferClause(nullptr) {} - ~InferClause() override; - explicit PROTOBUF_CONSTEXPR InferClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline VacuumStmt() : VacuumStmt(nullptr) {} + ~VacuumStmt() override; + template + explicit PROTOBUF_CONSTEXPR VacuumStmt(::google::protobuf::internal::ConstantInitialized); - InferClause(const InferClause& from); - InferClause(InferClause&& from) noexcept - : InferClause() { + inline VacuumStmt(const VacuumStmt& from) + : VacuumStmt(nullptr, from) {} + VacuumStmt(VacuumStmt&& from) noexcept + : VacuumStmt() { *this = ::std::move(from); } - inline InferClause& operator=(const InferClause& from) { + inline VacuumStmt& operator=(const VacuumStmt& from) { CopyFrom(from); return *this; } - inline InferClause& operator=(InferClause&& from) noexcept { + inline VacuumStmt& operator=(VacuumStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -57541,201 +73378,212 @@ class InferClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const InferClause& default_instance() { + static const VacuumStmt& default_instance() { return *internal_default_instance(); } - static inline const InferClause* internal_default_instance() { - return reinterpret_cast( - &_InferClause_default_instance_); + static inline const VacuumStmt* internal_default_instance() { + return reinterpret_cast( + &_VacuumStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 223; + 244; - friend void swap(InferClause& a, InferClause& b) { + friend void swap(VacuumStmt& a, VacuumStmt& b) { a.Swap(&b); } - inline void Swap(InferClause* other) { + inline void Swap(VacuumStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(InferClause* other) { + void UnsafeArenaSwap(VacuumStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - InferClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VacuumStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const InferClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const InferClause& from) { - InferClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VacuumStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const VacuumStmt& from) { + VacuumStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(InferClause* other); + void InternalSwap(VacuumStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.InferClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.VacuumStmt"; } protected: - explicit InferClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit VacuumStmt(::google::protobuf::Arena* arena); + VacuumStmt(::google::protobuf::Arena* arena, const VacuumStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kIndexElemsFieldNumber = 1, - kConnameFieldNumber = 3, - kWhereClauseFieldNumber = 2, - kLocationFieldNumber = 4, + kOptionsFieldNumber = 1, + kRelsFieldNumber = 2, + kIsVacuumcmdFieldNumber = 3, }; - // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; - int index_elems_size() const; + // repeated .pg_query.Node options = 1 [json_name = "options"]; + int options_size() const; private: - int _internal_index_elems_size() const; + int _internal_options_size() const; + public: - void clear_index_elems(); - ::pg_query::Node* mutable_index_elems(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_index_elems(); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_index_elems(int index) const; - ::pg_query::Node* _internal_add_index_elems(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - const ::pg_query::Node& index_elems(int index) const; - ::pg_query::Node* add_index_elems(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - index_elems() const; - - // string conname = 3 [json_name = "conname"]; - void clear_conname(); - const std::string& conname() const; - template - void set_conname(ArgT0&& arg0, ArgT... args); - std::string* mutable_conname(); - PROTOBUF_NODISCARD std::string* release_conname(); - void set_allocated_conname(std::string* conname); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // repeated .pg_query.Node rels = 2 [json_name = "rels"]; + int rels_size() const; private: - const std::string& _internal_conname() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_conname(const std::string& value); - std::string* _internal_mutable_conname(); - public: + int _internal_rels_size() const; - // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); + void clear_rels() ; + ::pg_query::Node* mutable_rels(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_rels(); private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_rels() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_rels(); public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + const ::pg_query::Node& rels(int index) const; + ::pg_query::Node* add_rels(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + rels() const; + // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; + void clear_is_vacuumcmd() ; + bool is_vacuumcmd() const; + void set_is_vacuumcmd(bool value); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_is_vacuumcmd() const; + void _internal_set_is_vacuumcmd(bool value); - // @@protoc_insertion_point(class_scope:pg_query.InferClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.VacuumStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > index_elems_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr conname_; - ::pg_query::Node* where_clause_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > rels_; + bool is_vacuumcmd_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class OnConflictClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.OnConflictClause) */ { +class Var final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.Var) */ { public: - inline OnConflictClause() : OnConflictClause(nullptr) {} - ~OnConflictClause() override; - explicit PROTOBUF_CONSTEXPR OnConflictClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline Var() : Var(nullptr) {} + ~Var() override; + template + explicit PROTOBUF_CONSTEXPR Var(::google::protobuf::internal::ConstantInitialized); - OnConflictClause(const OnConflictClause& from); - OnConflictClause(OnConflictClause&& from) noexcept - : OnConflictClause() { + inline Var(const Var& from) + : Var(nullptr, from) {} + Var(Var&& from) noexcept + : Var() { *this = ::std::move(from); } - inline OnConflictClause& operator=(const OnConflictClause& from) { + inline Var& operator=(const Var& from) { CopyFrom(from); return *this; } - inline OnConflictClause& operator=(OnConflictClause&& from) noexcept { + inline Var& operator=(Var&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -57745,216 +73593,283 @@ class OnConflictClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const OnConflictClause& default_instance() { + static const Var& default_instance() { return *internal_default_instance(); } - static inline const OnConflictClause* internal_default_instance() { - return reinterpret_cast( - &_OnConflictClause_default_instance_); + static inline const Var* internal_default_instance() { + return reinterpret_cast( + &_Var_default_instance_); } static constexpr int kIndexInFileMessages = - 224; + 16; - friend void swap(OnConflictClause& a, OnConflictClause& b) { + friend void swap(Var& a, Var& b) { a.Swap(&b); } - inline void Swap(OnConflictClause* other) { + inline void Swap(Var* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(OnConflictClause* other) { + void UnsafeArenaSwap(Var* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - OnConflictClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + Var* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const OnConflictClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const OnConflictClause& from) { - OnConflictClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const Var& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const Var& from) { + Var::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(OnConflictClause* other); + void InternalSwap(Var* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.OnConflictClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.Var"; } protected: - explicit OnConflictClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit Var(::google::protobuf::Arena* arena); + Var(::google::protobuf::Arena* arena, const Var& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 3, - kInferFieldNumber = 2, - kWhereClauseFieldNumber = 4, - kActionFieldNumber = 1, - kLocationFieldNumber = 5, + kVarnullingrelsFieldNumber = 7, + kXprFieldNumber = 1, + kVarnoFieldNumber = 2, + kVarattnoFieldNumber = 3, + kVartypeFieldNumber = 4, + kVartypmodFieldNumber = 5, + kVarcollidFieldNumber = 6, + kVarlevelsupFieldNumber = 8, + kLocationFieldNumber = 9, }; - // repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; - int target_list_size() const; + // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; + int varnullingrels_size() const; private: - int _internal_target_list_size() const; + int _internal_varnullingrels_size() const; + public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + void clear_varnullingrels() ; + ::uint64_t varnullingrels(int index) const; + void set_varnullingrels(int index, ::uint64_t value); + void add_varnullingrels(::uint64_t value); + const ::google::protobuf::RepeatedField<::uint64_t>& varnullingrels() const; + ::google::protobuf::RepeatedField<::uint64_t>* mutable_varnullingrels(); + private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); + const ::google::protobuf::RepeatedField<::uint64_t>& _internal_varnullingrels() const; + ::google::protobuf::RepeatedField<::uint64_t>* _internal_mutable_varnullingrels(); + public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); - // .pg_query.InferClause infer = 2 [json_name = "infer"]; - bool has_infer() const; private: - bool _internal_has_infer() const; + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - void clear_infer(); - const ::pg_query::InferClause& infer() const; - PROTOBUF_NODISCARD ::pg_query::InferClause* release_infer(); - ::pg_query::InferClause* mutable_infer(); - void set_allocated_infer(::pg_query::InferClause* infer); + // int32 varno = 2 [json_name = "varno"]; + void clear_varno() ; + ::int32_t varno() const; + void set_varno(::int32_t value); + private: - const ::pg_query::InferClause& _internal_infer() const; - ::pg_query::InferClause* _internal_mutable_infer(); + ::int32_t _internal_varno() const; + void _internal_set_varno(::int32_t value); + public: - void unsafe_arena_set_allocated_infer( - ::pg_query::InferClause* infer); - ::pg_query::InferClause* unsafe_arena_release_infer(); + // int32 varattno = 3 [json_name = "varattno"]; + void clear_varattno() ; + ::int32_t varattno() const; + void set_varattno(::int32_t value); - // .pg_query.Node where_clause = 4 [json_name = "whereClause"]; - bool has_where_clause() const; private: - bool _internal_has_where_clause() const; + ::int32_t _internal_varattno() const; + void _internal_set_varattno(::int32_t value); + public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); + // uint32 vartype = 4 [json_name = "vartype"]; + void clear_vartype() ; + ::uint32_t vartype() const; + void set_vartype(::uint32_t value); + private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); + ::uint32_t _internal_vartype() const; + void _internal_set_vartype(::uint32_t value); + public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); + // int32 vartypmod = 5 [json_name = "vartypmod"]; + void clear_vartypmod() ; + ::int32_t vartypmod() const; + void set_vartypmod(::int32_t value); - // .pg_query.OnConflictAction action = 1 [json_name = "action"]; - void clear_action(); - ::pg_query::OnConflictAction action() const; - void set_action(::pg_query::OnConflictAction value); private: - ::pg_query::OnConflictAction _internal_action() const; - void _internal_set_action(::pg_query::OnConflictAction value); + ::int32_t _internal_vartypmod() const; + void _internal_set_vartypmod(::int32_t value); + public: + // uint32 varcollid = 6 [json_name = "varcollid"]; + void clear_varcollid() ; + ::uint32_t varcollid() const; + void set_varcollid(::uint32_t value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + ::uint32_t _internal_varcollid() const; + void _internal_set_varcollid(::uint32_t value); + public: + // uint32 varlevelsup = 8 [json_name = "varlevelsup"]; + void clear_varlevelsup() ; + ::uint32_t varlevelsup() const; + void set_varlevelsup(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.OnConflictClause) + private: + ::uint32_t _internal_varlevelsup() const; + void _internal_set_varlevelsup(::uint32_t value); + + public: + // int32 location = 9 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.Var) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 9, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::pg_query::InferClause* infer_; - ::pg_query::Node* where_clause_; - int action_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedField<::uint64_t> varnullingrels_; + mutable ::google::protobuf::internal::CachedSize _varnullingrels_cached_byte_size_; + ::pg_query::Node* xpr_; + ::int32_t varno_; + ::int32_t varattno_; + ::uint32_t vartype_; + ::int32_t vartypmod_; + ::uint32_t varcollid_; + ::uint32_t varlevelsup_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CTESearchClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CTESearchClause) */ { +class VariableSetStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.VariableSetStmt) */ { public: - inline CTESearchClause() : CTESearchClause(nullptr) {} - ~CTESearchClause() override; - explicit PROTOBUF_CONSTEXPR CTESearchClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline VariableSetStmt() : VariableSetStmt(nullptr) {} + ~VariableSetStmt() override; + template + explicit PROTOBUF_CONSTEXPR VariableSetStmt(::google::protobuf::internal::ConstantInitialized); - CTESearchClause(const CTESearchClause& from); - CTESearchClause(CTESearchClause&& from) noexcept - : CTESearchClause() { + inline VariableSetStmt(const VariableSetStmt& from) + : VariableSetStmt(nullptr, from) {} + VariableSetStmt(VariableSetStmt&& from) noexcept + : VariableSetStmt() { *this = ::std::move(from); } - inline CTESearchClause& operator=(const CTESearchClause& from) { + inline VariableSetStmt& operator=(const VariableSetStmt& from) { CopyFrom(from); return *this; } - inline CTESearchClause& operator=(CTESearchClause&& from) noexcept { + inline VariableSetStmt& operator=(VariableSetStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -57964,192 +73879,222 @@ class CTESearchClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CTESearchClause& default_instance() { + static const VariableSetStmt& default_instance() { return *internal_default_instance(); } - static inline const CTESearchClause* internal_default_instance() { - return reinterpret_cast( - &_CTESearchClause_default_instance_); + static inline const VariableSetStmt* internal_default_instance() { + return reinterpret_cast( + &_VariableSetStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 225; + 163; - friend void swap(CTESearchClause& a, CTESearchClause& b) { + friend void swap(VariableSetStmt& a, VariableSetStmt& b) { a.Swap(&b); } - inline void Swap(CTESearchClause* other) { + inline void Swap(VariableSetStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CTESearchClause* other) { + void UnsafeArenaSwap(VariableSetStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CTESearchClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + VariableSetStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CTESearchClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CTESearchClause& from) { - CTESearchClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VariableSetStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const VariableSetStmt& from) { + VariableSetStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CTESearchClause* other); + void InternalSwap(VariableSetStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CTESearchClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.VariableSetStmt"; } protected: - explicit CTESearchClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit VariableSetStmt(::google::protobuf::Arena* arena); + VariableSetStmt(::google::protobuf::Arena* arena, const VariableSetStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kSearchColListFieldNumber = 1, - kSearchSeqColumnFieldNumber = 3, - kSearchBreadthFirstFieldNumber = 2, - kLocationFieldNumber = 4, + kArgsFieldNumber = 3, + kNameFieldNumber = 2, + kKindFieldNumber = 1, + kIsLocalFieldNumber = 4, }; - // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; - int search_col_list_size() const; + // repeated .pg_query.Node args = 3 [json_name = "args"]; + int args_size() const; private: - int _internal_search_col_list_size() const; + int _internal_args_size() const; + public: - void clear_search_col_list(); - ::pg_query::Node* mutable_search_col_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_search_col_list(); + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_search_col_list(int index) const; - ::pg_query::Node* _internal_add_search_col_list(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& search_col_list(int index) const; - ::pg_query::Node* add_search_col_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - search_col_list() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // string name = 2 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // string search_seq_column = 3 [json_name = "search_seq_column"]; - void clear_search_seq_column(); - const std::string& search_seq_column() const; - template - void set_search_seq_column(ArgT0&& arg0, ArgT... args); - std::string* mutable_search_seq_column(); - PROTOBUF_NODISCARD std::string* release_search_seq_column(); - void set_allocated_search_seq_column(std::string* search_seq_column); private: - const std::string& _internal_search_seq_column() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_search_seq_column(const std::string& value); - std::string* _internal_mutable_search_seq_column(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: + // .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::VariableSetKind kind() const; + void set_kind(::pg_query::VariableSetKind value); - // bool search_breadth_first = 2 [json_name = "search_breadth_first"]; - void clear_search_breadth_first(); - bool search_breadth_first() const; - void set_search_breadth_first(bool value); private: - bool _internal_search_breadth_first() const; - void _internal_set_search_breadth_first(bool value); + ::pg_query::VariableSetKind _internal_kind() const; + void _internal_set_kind(::pg_query::VariableSetKind value); + public: + // bool is_local = 4 [json_name = "is_local"]; + void clear_is_local() ; + bool is_local() const; + void set_is_local(bool value); - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_is_local() const; + void _internal_set_is_local(bool value); - // @@protoc_insertion_point(class_scope:pg_query.CTESearchClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.VariableSetStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 1, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > search_col_list_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr search_seq_column_; - bool search_breadth_first_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::internal::ArenaStringPtr name_; + int kind_; + bool is_local_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CTECycleClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CTECycleClause) */ { +class ViewStmt final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ViewStmt) */ { public: - inline CTECycleClause() : CTECycleClause(nullptr) {} - ~CTECycleClause() override; - explicit PROTOBUF_CONSTEXPR CTECycleClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ViewStmt() : ViewStmt(nullptr) {} + ~ViewStmt() override; + template + explicit PROTOBUF_CONSTEXPR ViewStmt(::google::protobuf::internal::ConstantInitialized); - CTECycleClause(const CTECycleClause& from); - CTECycleClause(CTECycleClause&& from) noexcept - : CTECycleClause() { + inline ViewStmt(const ViewStmt& from) + : ViewStmt(nullptr, from) {} + ViewStmt(ViewStmt&& from) noexcept + : ViewStmt() { *this = ::std::move(from); } - inline CTECycleClause& operator=(const CTECycleClause& from) { + inline ViewStmt& operator=(const ViewStmt& from) { CopyFrom(from); return *this; } - inline CTECycleClause& operator=(CTECycleClause&& from) noexcept { + inline ViewStmt& operator=(ViewStmt&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -58159,281 +74104,259 @@ class CTECycleClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CTECycleClause& default_instance() { + static const ViewStmt& default_instance() { return *internal_default_instance(); } - static inline const CTECycleClause* internal_default_instance() { - return reinterpret_cast( - &_CTECycleClause_default_instance_); + static inline const ViewStmt* internal_default_instance() { + return reinterpret_cast( + &_ViewStmt_default_instance_); } static constexpr int kIndexInFileMessages = - 226; + 235; - friend void swap(CTECycleClause& a, CTECycleClause& b) { + friend void swap(ViewStmt& a, ViewStmt& b) { a.Swap(&b); } - inline void Swap(CTECycleClause* other) { + inline void Swap(ViewStmt* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CTECycleClause* other) { + void UnsafeArenaSwap(ViewStmt* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CTECycleClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ViewStmt* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CTECycleClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CTECycleClause& from) { - CTECycleClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ViewStmt& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ViewStmt& from) { + ViewStmt::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CTECycleClause* other); + void InternalSwap(ViewStmt* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CTECycleClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ViewStmt"; } protected: - explicit CTECycleClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ViewStmt(::google::protobuf::Arena* arena); + ViewStmt(::google::protobuf::Arena* arena, const ViewStmt& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCycleColListFieldNumber = 1, - kCycleMarkColumnFieldNumber = 2, - kCyclePathColumnFieldNumber = 5, - kCycleMarkValueFieldNumber = 3, - kCycleMarkDefaultFieldNumber = 4, - kLocationFieldNumber = 6, - kCycleMarkTypeFieldNumber = 7, - kCycleMarkTypmodFieldNumber = 8, - kCycleMarkCollationFieldNumber = 9, - kCycleMarkNeopFieldNumber = 10, + kAliasesFieldNumber = 2, + kOptionsFieldNumber = 5, + kViewFieldNumber = 1, + kQueryFieldNumber = 3, + kReplaceFieldNumber = 4, + kWithCheckOptionFieldNumber = 6, }; - // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; - int cycle_col_list_size() const; - private: - int _internal_cycle_col_list_size() const; - public: - void clear_cycle_col_list(); - ::pg_query::Node* mutable_cycle_col_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_cycle_col_list(); - private: - const ::pg_query::Node& _internal_cycle_col_list(int index) const; - ::pg_query::Node* _internal_add_cycle_col_list(); - public: - const ::pg_query::Node& cycle_col_list(int index) const; - ::pg_query::Node* add_cycle_col_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - cycle_col_list() const; - - // string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; - void clear_cycle_mark_column(); - const std::string& cycle_mark_column() const; - template - void set_cycle_mark_column(ArgT0&& arg0, ArgT... args); - std::string* mutable_cycle_mark_column(); - PROTOBUF_NODISCARD std::string* release_cycle_mark_column(); - void set_allocated_cycle_mark_column(std::string* cycle_mark_column); + // repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; + int aliases_size() const; private: - const std::string& _internal_cycle_mark_column() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_cycle_mark_column(const std::string& value); - std::string* _internal_mutable_cycle_mark_column(); - public: + int _internal_aliases_size() const; - // string cycle_path_column = 5 [json_name = "cycle_path_column"]; - void clear_cycle_path_column(); - const std::string& cycle_path_column() const; - template - void set_cycle_path_column(ArgT0&& arg0, ArgT... args); - std::string* mutable_cycle_path_column(); - PROTOBUF_NODISCARD std::string* release_cycle_path_column(); - void set_allocated_cycle_path_column(std::string* cycle_path_column); - private: - const std::string& _internal_cycle_path_column() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_cycle_path_column(const std::string& value); - std::string* _internal_mutable_cycle_path_column(); public: - - // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; - bool has_cycle_mark_value() const; + void clear_aliases() ; + ::pg_query::Node* mutable_aliases(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_aliases(); private: - bool _internal_has_cycle_mark_value() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_aliases() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_aliases(); public: - void clear_cycle_mark_value(); - const ::pg_query::Node& cycle_mark_value() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_cycle_mark_value(); - ::pg_query::Node* mutable_cycle_mark_value(); - void set_allocated_cycle_mark_value(::pg_query::Node* cycle_mark_value); + const ::pg_query::Node& aliases(int index) const; + ::pg_query::Node* add_aliases(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + aliases() const; + // repeated .pg_query.Node options = 5 [json_name = "options"]; + int options_size() const; private: - const ::pg_query::Node& _internal_cycle_mark_value() const; - ::pg_query::Node* _internal_mutable_cycle_mark_value(); - public: - void unsafe_arena_set_allocated_cycle_mark_value( - ::pg_query::Node* cycle_mark_value); - ::pg_query::Node* unsafe_arena_release_cycle_mark_value(); + int _internal_options_size() const; - // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; - bool has_cycle_mark_default() const; - private: - bool _internal_has_cycle_mark_default() const; public: - void clear_cycle_mark_default(); - const ::pg_query::Node& cycle_mark_default() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_cycle_mark_default(); - ::pg_query::Node* mutable_cycle_mark_default(); - void set_allocated_cycle_mark_default(::pg_query::Node* cycle_mark_default); + void clear_options() ; + ::pg_query::Node* mutable_options(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_options(); private: - const ::pg_query::Node& _internal_cycle_mark_default() const; - ::pg_query::Node* _internal_mutable_cycle_mark_default(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_options() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_options(); public: - void unsafe_arena_set_allocated_cycle_mark_default( - ::pg_query::Node* cycle_mark_default); - ::pg_query::Node* unsafe_arena_release_cycle_mark_default(); + const ::pg_query::Node& options(int index) const; + ::pg_query::Node* add_options(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + options() const; + // .pg_query.RangeVar view = 1 [json_name = "view"]; + bool has_view() const; + void clear_view() ; + const ::pg_query::RangeVar& view() const; + PROTOBUF_NODISCARD ::pg_query::RangeVar* release_view(); + ::pg_query::RangeVar* mutable_view(); + void set_allocated_view(::pg_query::RangeVar* value); + void unsafe_arena_set_allocated_view(::pg_query::RangeVar* value); + ::pg_query::RangeVar* unsafe_arena_release_view(); - // int32 location = 6 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + const ::pg_query::RangeVar& _internal_view() const; + ::pg_query::RangeVar* _internal_mutable_view(); - // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; - void clear_cycle_mark_type(); - uint32_t cycle_mark_type() const; - void set_cycle_mark_type(uint32_t value); - private: - uint32_t _internal_cycle_mark_type() const; - void _internal_set_cycle_mark_type(uint32_t value); public: + // .pg_query.Node query = 3 [json_name = "query"]; + bool has_query() const; + void clear_query() ; + const ::pg_query::Node& query() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_query(); + ::pg_query::Node* mutable_query(); + void set_allocated_query(::pg_query::Node* value); + void unsafe_arena_set_allocated_query(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_query(); - // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; - void clear_cycle_mark_typmod(); - int32_t cycle_mark_typmod() const; - void set_cycle_mark_typmod(int32_t value); private: - int32_t _internal_cycle_mark_typmod() const; - void _internal_set_cycle_mark_typmod(int32_t value); + const ::pg_query::Node& _internal_query() const; + ::pg_query::Node* _internal_mutable_query(); + public: + // bool replace = 4 [json_name = "replace"]; + void clear_replace() ; + bool replace() const; + void set_replace(bool value); - // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; - void clear_cycle_mark_collation(); - uint32_t cycle_mark_collation() const; - void set_cycle_mark_collation(uint32_t value); private: - uint32_t _internal_cycle_mark_collation() const; - void _internal_set_cycle_mark_collation(uint32_t value); + bool _internal_replace() const; + void _internal_set_replace(bool value); + public: + // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; + void clear_with_check_option() ; + ::pg_query::ViewCheckOption with_check_option() const; + void set_with_check_option(::pg_query::ViewCheckOption value); - // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; - void clear_cycle_mark_neop(); - uint32_t cycle_mark_neop() const; - void set_cycle_mark_neop(uint32_t value); private: - uint32_t _internal_cycle_mark_neop() const; - void _internal_set_cycle_mark_neop(uint32_t value); - public: + ::pg_query::ViewCheckOption _internal_with_check_option() const; + void _internal_set_with_check_option(::pg_query::ViewCheckOption value); - // @@protoc_insertion_point(class_scope:pg_query.CTECycleClause) + public: + // @@protoc_insertion_point(class_scope:pg_query.ViewStmt) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 6, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > cycle_col_list_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cycle_mark_column_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr cycle_path_column_; - ::pg_query::Node* cycle_mark_value_; - ::pg_query::Node* cycle_mark_default_; - int32_t location_; - uint32_t cycle_mark_type_; - int32_t cycle_mark_typmod_; - uint32_t cycle_mark_collation_; - uint32_t cycle_mark_neop_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > aliases_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > options_; + ::pg_query::RangeVar* view_; + ::pg_query::Node* query_; + bool replace_; + int with_check_option_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class CommonTableExpr final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CommonTableExpr) */ { +class WindowClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowClause) */ { public: - inline CommonTableExpr() : CommonTableExpr(nullptr) {} - ~CommonTableExpr() override; - explicit PROTOBUF_CONSTEXPR CommonTableExpr(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline WindowClause() : WindowClause(nullptr) {} + ~WindowClause() override; + template + explicit PROTOBUF_CONSTEXPR WindowClause(::google::protobuf::internal::ConstantInitialized); - CommonTableExpr(const CommonTableExpr& from); - CommonTableExpr(CommonTableExpr&& from) noexcept - : CommonTableExpr() { + inline WindowClause(const WindowClause& from) + : WindowClause(nullptr, from) {} + WindowClause(WindowClause&& from) noexcept + : WindowClause() { *this = ::std::move(from); } - inline CommonTableExpr& operator=(const CommonTableExpr& from) { + inline WindowClause& operator=(const WindowClause& from) { CopyFrom(from); return *this; } - inline CommonTableExpr& operator=(CommonTableExpr&& from) noexcept { + inline WindowClause& operator=(WindowClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -58443,354 +74366,367 @@ class CommonTableExpr final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const CommonTableExpr& default_instance() { + static const WindowClause& default_instance() { return *internal_default_instance(); } - static inline const CommonTableExpr* internal_default_instance() { - return reinterpret_cast( - &_CommonTableExpr_default_instance_); - } + static inline const WindowClause* internal_default_instance() { + return reinterpret_cast( + &_WindowClause_default_instance_); + } static constexpr int kIndexInFileMessages = - 227; + 116; - friend void swap(CommonTableExpr& a, CommonTableExpr& b) { + friend void swap(WindowClause& a, WindowClause& b) { a.Swap(&b); } - inline void Swap(CommonTableExpr* other) { + inline void Swap(WindowClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(CommonTableExpr* other) { + void UnsafeArenaSwap(WindowClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - CommonTableExpr* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WindowClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CommonTableExpr& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CommonTableExpr& from) { - CommonTableExpr::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowClause& from) { + WindowClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CommonTableExpr* other); + void InternalSwap(WindowClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CommonTableExpr"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowClause"; } protected: - explicit CommonTableExpr(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WindowClause(::google::protobuf::Arena* arena); + WindowClause(::google::protobuf::Arena* arena, const WindowClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kAliascolnamesFieldNumber = 2, - kCtecolnamesFieldNumber = 10, - kCtecoltypesFieldNumber = 11, - kCtecoltypmodsFieldNumber = 12, - kCtecolcollationsFieldNumber = 13, - kCtenameFieldNumber = 1, - kCtequeryFieldNumber = 4, - kSearchClauseFieldNumber = 5, - kCycleClauseFieldNumber = 6, - kCtematerializedFieldNumber = 3, - kLocationFieldNumber = 7, - kCterecursiveFieldNumber = 8, - kCterefcountFieldNumber = 9, + kPartitionClauseFieldNumber = 3, + kOrderClauseFieldNumber = 4, + kNameFieldNumber = 1, + kRefnameFieldNumber = 2, + kStartOffsetFieldNumber = 6, + kEndOffsetFieldNumber = 7, + kFrameOptionsFieldNumber = 5, + kStartInRangeFuncFieldNumber = 8, + kEndInRangeFuncFieldNumber = 9, + kInRangeCollFieldNumber = 10, + kInRangeAscFieldNumber = 11, + kInRangeNullsFirstFieldNumber = 12, + kCopiedOrderFieldNumber = 14, + kWinrefFieldNumber = 13, }; - // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; - int aliascolnames_size() const; - private: - int _internal_aliascolnames_size() const; - public: - void clear_aliascolnames(); - ::pg_query::Node* mutable_aliascolnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_aliascolnames(); + // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; + int partition_clause_size() const; private: - const ::pg_query::Node& _internal_aliascolnames(int index) const; - ::pg_query::Node* _internal_add_aliascolnames(); - public: - const ::pg_query::Node& aliascolnames(int index) const; - ::pg_query::Node* add_aliascolnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - aliascolnames() const; + int _internal_partition_clause_size() const; - // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; - int ctecolnames_size() const; - private: - int _internal_ctecolnames_size() const; - public: - void clear_ctecolnames(); - ::pg_query::Node* mutable_ctecolnames(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ctecolnames(); - private: - const ::pg_query::Node& _internal_ctecolnames(int index) const; - ::pg_query::Node* _internal_add_ctecolnames(); public: - const ::pg_query::Node& ctecolnames(int index) const; - ::pg_query::Node* add_ctecolnames(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ctecolnames() const; - - // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; - int ctecoltypes_size() const; + void clear_partition_clause() ; + ::pg_query::Node* mutable_partition_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_partition_clause(); private: - int _internal_ctecoltypes_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); public: - void clear_ctecoltypes(); - ::pg_query::Node* mutable_ctecoltypes(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ctecoltypes(); + const ::pg_query::Node& partition_clause(int index) const; + ::pg_query::Node* add_partition_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + partition_clause() const; + // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; + int order_clause_size() const; private: - const ::pg_query::Node& _internal_ctecoltypes(int index) const; - ::pg_query::Node* _internal_add_ctecoltypes(); - public: - const ::pg_query::Node& ctecoltypes(int index) const; - ::pg_query::Node* add_ctecoltypes(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ctecoltypes() const; + int _internal_order_clause_size() const; - // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; - int ctecoltypmods_size() const; - private: - int _internal_ctecoltypmods_size() const; public: - void clear_ctecoltypmods(); - ::pg_query::Node* mutable_ctecoltypmods(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ctecoltypmods(); + void clear_order_clause() ; + ::pg_query::Node* mutable_order_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_order_clause(); private: - const ::pg_query::Node& _internal_ctecoltypmods(int index) const; - ::pg_query::Node* _internal_add_ctecoltypmods(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); public: - const ::pg_query::Node& ctecoltypmods(int index) const; - ::pg_query::Node* add_ctecoltypmods(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ctecoltypmods() const; + const ::pg_query::Node& order_clause(int index) const; + ::pg_query::Node* add_order_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + order_clause() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; - int ctecolcollations_size() const; - private: - int _internal_ctecolcollations_size() const; - public: - void clear_ctecolcollations(); - ::pg_query::Node* mutable_ctecolcollations(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_ctecolcollations(); private: - const ::pg_query::Node& _internal_ctecolcollations(int index) const; - ::pg_query::Node* _internal_add_ctecolcollations(); + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - const ::pg_query::Node& ctecolcollations(int index) const; - ::pg_query::Node* add_ctecolcollations(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - ctecolcollations() const; + // string refname = 2 [json_name = "refname"]; + void clear_refname() ; + const std::string& refname() const; + template + void set_refname(Arg_&& arg, Args_... args); + std::string* mutable_refname(); + PROTOBUF_NODISCARD std::string* release_refname(); + void set_allocated_refname(std::string* value); - // string ctename = 1 [json_name = "ctename"]; - void clear_ctename(); - const std::string& ctename() const; - template - void set_ctename(ArgT0&& arg0, ArgT... args); - std::string* mutable_ctename(); - PROTOBUF_NODISCARD std::string* release_ctename(); - void set_allocated_ctename(std::string* ctename); private: - const std::string& _internal_ctename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_ctename(const std::string& value); - std::string* _internal_mutable_ctename(); + const std::string& _internal_refname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( + const std::string& value); + std::string* _internal_mutable_refname(); + public: + // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; + bool has_start_offset() const; + void clear_start_offset() ; + const ::pg_query::Node& start_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); + ::pg_query::Node* mutable_start_offset(); + void set_allocated_start_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_start_offset(); - // .pg_query.Node ctequery = 4 [json_name = "ctequery"]; - bool has_ctequery() const; private: - bool _internal_has_ctequery() const; + const ::pg_query::Node& _internal_start_offset() const; + ::pg_query::Node* _internal_mutable_start_offset(); + public: - void clear_ctequery(); - const ::pg_query::Node& ctequery() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_ctequery(); - ::pg_query::Node* mutable_ctequery(); - void set_allocated_ctequery(::pg_query::Node* ctequery); + // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; + bool has_end_offset() const; + void clear_end_offset() ; + const ::pg_query::Node& end_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); + ::pg_query::Node* mutable_end_offset(); + void set_allocated_end_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_end_offset(); + private: - const ::pg_query::Node& _internal_ctequery() const; - ::pg_query::Node* _internal_mutable_ctequery(); + const ::pg_query::Node& _internal_end_offset() const; + ::pg_query::Node* _internal_mutable_end_offset(); + public: - void unsafe_arena_set_allocated_ctequery( - ::pg_query::Node* ctequery); - ::pg_query::Node* unsafe_arena_release_ctequery(); + // int32 frame_options = 5 [json_name = "frameOptions"]; + void clear_frame_options() ; + ::int32_t frame_options() const; + void set_frame_options(::int32_t value); - // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; - bool has_search_clause() const; private: - bool _internal_has_search_clause() const; + ::int32_t _internal_frame_options() const; + void _internal_set_frame_options(::int32_t value); + public: - void clear_search_clause(); - const ::pg_query::CTESearchClause& search_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTESearchClause* release_search_clause(); - ::pg_query::CTESearchClause* mutable_search_clause(); - void set_allocated_search_clause(::pg_query::CTESearchClause* search_clause); + // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"]; + void clear_start_in_range_func() ; + ::uint32_t start_in_range_func() const; + void set_start_in_range_func(::uint32_t value); + private: - const ::pg_query::CTESearchClause& _internal_search_clause() const; - ::pg_query::CTESearchClause* _internal_mutable_search_clause(); + ::uint32_t _internal_start_in_range_func() const; + void _internal_set_start_in_range_func(::uint32_t value); + public: - void unsafe_arena_set_allocated_search_clause( - ::pg_query::CTESearchClause* search_clause); - ::pg_query::CTESearchClause* unsafe_arena_release_search_clause(); + // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"]; + void clear_end_in_range_func() ; + ::uint32_t end_in_range_func() const; + void set_end_in_range_func(::uint32_t value); - // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; - bool has_cycle_clause() const; private: - bool _internal_has_cycle_clause() const; + ::uint32_t _internal_end_in_range_func() const; + void _internal_set_end_in_range_func(::uint32_t value); + public: - void clear_cycle_clause(); - const ::pg_query::CTECycleClause& cycle_clause() const; - PROTOBUF_NODISCARD ::pg_query::CTECycleClause* release_cycle_clause(); - ::pg_query::CTECycleClause* mutable_cycle_clause(); - void set_allocated_cycle_clause(::pg_query::CTECycleClause* cycle_clause); + // uint32 in_range_coll = 10 [json_name = "inRangeColl"]; + void clear_in_range_coll() ; + ::uint32_t in_range_coll() const; + void set_in_range_coll(::uint32_t value); + private: - const ::pg_query::CTECycleClause& _internal_cycle_clause() const; - ::pg_query::CTECycleClause* _internal_mutable_cycle_clause(); + ::uint32_t _internal_in_range_coll() const; + void _internal_set_in_range_coll(::uint32_t value); + public: - void unsafe_arena_set_allocated_cycle_clause( - ::pg_query::CTECycleClause* cycle_clause); - ::pg_query::CTECycleClause* unsafe_arena_release_cycle_clause(); + // bool in_range_asc = 11 [json_name = "inRangeAsc"]; + void clear_in_range_asc() ; + bool in_range_asc() const; + void set_in_range_asc(bool value); - // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; - void clear_ctematerialized(); - ::pg_query::CTEMaterialize ctematerialized() const; - void set_ctematerialized(::pg_query::CTEMaterialize value); private: - ::pg_query::CTEMaterialize _internal_ctematerialized() const; - void _internal_set_ctematerialized(::pg_query::CTEMaterialize value); + bool _internal_in_range_asc() const; + void _internal_set_in_range_asc(bool value); + public: + // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"]; + void clear_in_range_nulls_first() ; + bool in_range_nulls_first() const; + void set_in_range_nulls_first(bool value); - // int32 location = 7 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_in_range_nulls_first() const; + void _internal_set_in_range_nulls_first(bool value); + public: + // bool copied_order = 14 [json_name = "copiedOrder"]; + void clear_copied_order() ; + bool copied_order() const; + void set_copied_order(bool value); - // bool cterecursive = 8 [json_name = "cterecursive"]; - void clear_cterecursive(); - bool cterecursive() const; - void set_cterecursive(bool value); private: - bool _internal_cterecursive() const; - void _internal_set_cterecursive(bool value); + bool _internal_copied_order() const; + void _internal_set_copied_order(bool value); + public: + // uint32 winref = 13 [json_name = "winref"]; + void clear_winref() ; + ::uint32_t winref() const; + void set_winref(::uint32_t value); - // int32 cterefcount = 9 [json_name = "cterefcount"]; - void clear_cterefcount(); - int32_t cterefcount() const; - void set_cterefcount(int32_t value); private: - int32_t _internal_cterefcount() const; - void _internal_set_cterefcount(int32_t value); - public: + ::uint32_t _internal_winref() const; + void _internal_set_winref(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.CommonTableExpr) + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 14, 4, + 49, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > aliascolnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ctecolnames_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ctecoltypes_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ctecoltypmods_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > ctecolcollations_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ctename_; - ::pg_query::Node* ctequery_; - ::pg_query::CTESearchClause* search_clause_; - ::pg_query::CTECycleClause* cycle_clause_; - int ctematerialized_; - int32_t location_; - bool cterecursive_; - int32_t cterefcount_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr refname_; + ::pg_query::Node* start_offset_; + ::pg_query::Node* end_offset_; + ::int32_t frame_options_; + ::uint32_t start_in_range_func_; + ::uint32_t end_in_range_func_; + ::uint32_t in_range_coll_; + bool in_range_asc_; + bool in_range_nulls_first_; + bool copied_order_; + ::uint32_t winref_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class MergeWhenClause final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.MergeWhenClause) */ { +class WindowDef final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowDef) */ { public: - inline MergeWhenClause() : MergeWhenClause(nullptr) {} - ~MergeWhenClause() override; - explicit PROTOBUF_CONSTEXPR MergeWhenClause(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline WindowDef() : WindowDef(nullptr) {} + ~WindowDef() override; + template + explicit PROTOBUF_CONSTEXPR WindowDef(::google::protobuf::internal::ConstantInitialized); - MergeWhenClause(const MergeWhenClause& from); - MergeWhenClause(MergeWhenClause&& from) noexcept - : MergeWhenClause() { + inline WindowDef(const WindowDef& from) + : WindowDef(nullptr, from) {} + WindowDef(WindowDef&& from) noexcept + : WindowDef() { *this = ::std::move(from); } - inline MergeWhenClause& operator=(const MergeWhenClause& from) { + inline WindowDef& operator=(const WindowDef& from) { CopyFrom(from); return *this; } - inline MergeWhenClause& operator=(MergeWhenClause&& from) noexcept { + inline WindowDef& operator=(WindowDef&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -58800,227 +74736,295 @@ class MergeWhenClause final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const MergeWhenClause& default_instance() { + static const WindowDef& default_instance() { return *internal_default_instance(); } - static inline const MergeWhenClause* internal_default_instance() { - return reinterpret_cast( - &_MergeWhenClause_default_instance_); + static inline const WindowDef* internal_default_instance() { + return reinterpret_cast( + &_WindowDef_default_instance_); } static constexpr int kIndexInFileMessages = - 228; + 91; - friend void swap(MergeWhenClause& a, MergeWhenClause& b) { + friend void swap(WindowDef& a, WindowDef& b) { a.Swap(&b); } - inline void Swap(MergeWhenClause* other) { + inline void Swap(WindowDef* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(MergeWhenClause* other) { + void UnsafeArenaSwap(WindowDef* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - MergeWhenClause* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WindowDef* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const MergeWhenClause& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const MergeWhenClause& from) { - MergeWhenClause::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowDef& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowDef& from) { + WindowDef::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(MergeWhenClause* other); + void InternalSwap(WindowDef* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.MergeWhenClause"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowDef"; } protected: - explicit MergeWhenClause(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WindowDef(::google::protobuf::Arena* arena); + WindowDef(::google::protobuf::Arena* arena, const WindowDef& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kTargetListFieldNumber = 5, - kValuesFieldNumber = 6, - kConditionFieldNumber = 4, - kMatchedFieldNumber = 1, - kCommandTypeFieldNumber = 2, - kOverrideFieldNumber = 3, + kPartitionClauseFieldNumber = 3, + kOrderClauseFieldNumber = 4, + kNameFieldNumber = 1, + kRefnameFieldNumber = 2, + kStartOffsetFieldNumber = 6, + kEndOffsetFieldNumber = 7, + kFrameOptionsFieldNumber = 5, + kLocationFieldNumber = 8, }; - // repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; - int target_list_size() const; + // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; + int partition_clause_size() const; private: - int _internal_target_list_size() const; + int _internal_partition_clause_size() const; + public: - void clear_target_list(); - ::pg_query::Node* mutable_target_list(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_target_list(); + void clear_partition_clause() ; + ::pg_query::Node* mutable_partition_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_partition_clause(); private: - const ::pg_query::Node& _internal_target_list(int index) const; - ::pg_query::Node* _internal_add_target_list(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_partition_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_partition_clause(); public: - const ::pg_query::Node& target_list(int index) const; - ::pg_query::Node* add_target_list(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - target_list() const; - - // repeated .pg_query.Node values = 6 [json_name = "values"]; - int values_size() const; + const ::pg_query::Node& partition_clause(int index) const; + ::pg_query::Node* add_partition_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + partition_clause() const; + // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; + int order_clause_size() const; private: - int _internal_values_size() const; + int _internal_order_clause_size() const; + public: - void clear_values(); - ::pg_query::Node* mutable_values(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_values(); + void clear_order_clause() ; + ::pg_query::Node* mutable_order_clause(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_order_clause(); private: - const ::pg_query::Node& _internal_values(int index) const; - ::pg_query::Node* _internal_add_values(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_order_clause() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_order_clause(); public: - const ::pg_query::Node& values(int index) const; - ::pg_query::Node* add_values(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - values() const; + const ::pg_query::Node& order_clause(int index) const; + ::pg_query::Node* add_order_clause(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + order_clause() const; + // string name = 1 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // .pg_query.Node condition = 4 [json_name = "condition"]; - bool has_condition() const; private: - bool _internal_has_condition() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_condition(); - const ::pg_query::Node& condition() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_condition(); - ::pg_query::Node* mutable_condition(); - void set_allocated_condition(::pg_query::Node* condition); + // string refname = 2 [json_name = "refname"]; + void clear_refname() ; + const std::string& refname() const; + template + void set_refname(Arg_&& arg, Args_... args); + std::string* mutable_refname(); + PROTOBUF_NODISCARD std::string* release_refname(); + void set_allocated_refname(std::string* value); + private: - const ::pg_query::Node& _internal_condition() const; - ::pg_query::Node* _internal_mutable_condition(); + const std::string& _internal_refname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_refname( + const std::string& value); + std::string* _internal_mutable_refname(); + public: - void unsafe_arena_set_allocated_condition( - ::pg_query::Node* condition); - ::pg_query::Node* unsafe_arena_release_condition(); + // .pg_query.Node start_offset = 6 [json_name = "startOffset"]; + bool has_start_offset() const; + void clear_start_offset() ; + const ::pg_query::Node& start_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_start_offset(); + ::pg_query::Node* mutable_start_offset(); + void set_allocated_start_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_start_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_start_offset(); - // bool matched = 1 [json_name = "matched"]; - void clear_matched(); - bool matched() const; - void set_matched(bool value); private: - bool _internal_matched() const; - void _internal_set_matched(bool value); + const ::pg_query::Node& _internal_start_offset() const; + ::pg_query::Node* _internal_mutable_start_offset(); + public: + // .pg_query.Node end_offset = 7 [json_name = "endOffset"]; + bool has_end_offset() const; + void clear_end_offset() ; + const ::pg_query::Node& end_offset() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_end_offset(); + ::pg_query::Node* mutable_end_offset(); + void set_allocated_end_offset(::pg_query::Node* value); + void unsafe_arena_set_allocated_end_offset(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_end_offset(); - // .pg_query.CmdType command_type = 2 [json_name = "commandType"]; - void clear_command_type(); - ::pg_query::CmdType command_type() const; - void set_command_type(::pg_query::CmdType value); private: - ::pg_query::CmdType _internal_command_type() const; - void _internal_set_command_type(::pg_query::CmdType value); + const ::pg_query::Node& _internal_end_offset() const; + ::pg_query::Node* _internal_mutable_end_offset(); + public: + // int32 frame_options = 5 [json_name = "frameOptions"]; + void clear_frame_options() ; + ::int32_t frame_options() const; + void set_frame_options(::int32_t value); - // .pg_query.OverridingKind override = 3 [json_name = "override"]; - void clear_override(); - ::pg_query::OverridingKind override() const; - void set_override(::pg_query::OverridingKind value); private: - ::pg_query::OverridingKind _internal_override() const; - void _internal_set_override(::pg_query::OverridingKind value); + ::int32_t _internal_frame_options() const; + void _internal_set_frame_options(::int32_t value); + public: + // int32 location = 8 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.MergeWhenClause) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowDef) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 8, 4, + 46, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > target_list_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > values_; - ::pg_query::Node* condition_; - bool matched_; - int command_type_; - int override_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > partition_clause_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > order_clause_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::google::protobuf::internal::ArenaStringPtr refname_; + ::pg_query::Node* start_offset_; + ::pg_query::Node* end_offset_; + ::int32_t frame_options_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class RoleSpec final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.RoleSpec) */ { +class WindowFunc final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFunc) */ { public: - inline RoleSpec() : RoleSpec(nullptr) {} - ~RoleSpec() override; - explicit PROTOBUF_CONSTEXPR RoleSpec(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline WindowFunc() : WindowFunc(nullptr) {} + ~WindowFunc() override; + template + explicit PROTOBUF_CONSTEXPR WindowFunc(::google::protobuf::internal::ConstantInitialized); - RoleSpec(const RoleSpec& from); - RoleSpec(RoleSpec&& from) noexcept - : RoleSpec() { + inline WindowFunc(const WindowFunc& from) + : WindowFunc(nullptr, from) {} + WindowFunc(WindowFunc&& from) noexcept + : WindowFunc() { *this = ::std::move(from); } - inline RoleSpec& operator=(const RoleSpec& from) { + inline WindowFunc& operator=(const WindowFunc& from) { CopyFrom(from); return *this; } - inline RoleSpec& operator=(RoleSpec&& from) noexcept { + inline WindowFunc& operator=(WindowFunc&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -59030,172 +75034,331 @@ class RoleSpec final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RoleSpec& default_instance() { + static const WindowFunc& default_instance() { return *internal_default_instance(); } - static inline const RoleSpec* internal_default_instance() { - return reinterpret_cast( - &_RoleSpec_default_instance_); + static inline const WindowFunc* internal_default_instance() { + return reinterpret_cast( + &_WindowFunc_default_instance_); } static constexpr int kIndexInFileMessages = - 229; + 20; - friend void swap(RoleSpec& a, RoleSpec& b) { + friend void swap(WindowFunc& a, WindowFunc& b) { a.Swap(&b); } - inline void Swap(RoleSpec* other) { + inline void Swap(WindowFunc* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RoleSpec* other) { + void UnsafeArenaSwap(WindowFunc* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - RoleSpec* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WindowFunc* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const RoleSpec& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const RoleSpec& from) { - RoleSpec::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowFunc& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowFunc& from) { + WindowFunc::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(RoleSpec* other); + void InternalSwap(WindowFunc* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.RoleSpec"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowFunc"; } protected: - explicit RoleSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WindowFunc(::google::protobuf::Arena* arena); + WindowFunc(::google::protobuf::Arena* arena, const WindowFunc& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kRolenameFieldNumber = 2, - kRoletypeFieldNumber = 1, - kLocationFieldNumber = 3, + kArgsFieldNumber = 6, + kRunConditionFieldNumber = 8, + kXprFieldNumber = 1, + kAggfilterFieldNumber = 7, + kWinfnoidFieldNumber = 2, + kWintypeFieldNumber = 3, + kWincollidFieldNumber = 4, + kInputcollidFieldNumber = 5, + kWinrefFieldNumber = 9, + kWinstarFieldNumber = 10, + kWinaggFieldNumber = 11, + kLocationFieldNumber = 12, }; - // string rolename = 2 [json_name = "rolename"]; - void clear_rolename(); - const std::string& rolename() const; - template - void set_rolename(ArgT0&& arg0, ArgT... args); - std::string* mutable_rolename(); - PROTOBUF_NODISCARD std::string* release_rolename(); - void set_allocated_rolename(std::string* rolename); + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); + public: + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; + int run_condition_size() const; + private: + int _internal_run_condition_size() const; + + public: + void clear_run_condition() ; + ::pg_query::Node* mutable_run_condition(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_run_condition(); + private: + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_run_condition() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_run_condition(); + public: + const ::pg_query::Node& run_condition(int index) const; + ::pg_query::Node* add_run_condition(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + run_condition() const; + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + + private: + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + + public: + // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; + bool has_aggfilter() const; + void clear_aggfilter() ; + const ::pg_query::Node& aggfilter() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_aggfilter(); + ::pg_query::Node* mutable_aggfilter(); + void set_allocated_aggfilter(::pg_query::Node* value); + void unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_aggfilter(); + + private: + const ::pg_query::Node& _internal_aggfilter() const; + ::pg_query::Node* _internal_mutable_aggfilter(); + + public: + // uint32 winfnoid = 2 [json_name = "winfnoid"]; + void clear_winfnoid() ; + ::uint32_t winfnoid() const; + void set_winfnoid(::uint32_t value); + + private: + ::uint32_t _internal_winfnoid() const; + void _internal_set_winfnoid(::uint32_t value); + + public: + // uint32 wintype = 3 [json_name = "wintype"]; + void clear_wintype() ; + ::uint32_t wintype() const; + void set_wintype(::uint32_t value); + + private: + ::uint32_t _internal_wintype() const; + void _internal_set_wintype(::uint32_t value); + + public: + // uint32 wincollid = 4 [json_name = "wincollid"]; + void clear_wincollid() ; + ::uint32_t wincollid() const; + void set_wincollid(::uint32_t value); + + private: + ::uint32_t _internal_wincollid() const; + void _internal_set_wincollid(::uint32_t value); + + public: + // uint32 inputcollid = 5 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); + private: - const std::string& _internal_rolename() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_rolename(const std::string& value); - std::string* _internal_mutable_rolename(); + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + public: + // uint32 winref = 9 [json_name = "winref"]; + void clear_winref() ; + ::uint32_t winref() const; + void set_winref(::uint32_t value); - // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; - void clear_roletype(); - ::pg_query::RoleSpecType roletype() const; - void set_roletype(::pg_query::RoleSpecType value); private: - ::pg_query::RoleSpecType _internal_roletype() const; - void _internal_set_roletype(::pg_query::RoleSpecType value); + ::uint32_t _internal_winref() const; + void _internal_set_winref(::uint32_t value); + public: + // bool winstar = 10 [json_name = "winstar"]; + void clear_winstar() ; + bool winstar() const; + void set_winstar(bool value); + + private: + bool _internal_winstar() const; + void _internal_set_winstar(bool value); + + public: + // bool winagg = 11 [json_name = "winagg"]; + void clear_winagg() ; + bool winagg() const; + void set_winagg(bool value); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_winagg() const; + void _internal_set_winagg(bool value); + public: + // int32 location = 12 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.RoleSpec) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowFunc) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 12, 4, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rolename_; - int roletype_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > run_condition_; + ::pg_query::Node* xpr_; + ::pg_query::Node* aggfilter_; + ::uint32_t winfnoid_; + ::uint32_t wintype_; + ::uint32_t wincollid_; + ::uint32_t inputcollid_; + ::uint32_t winref_; + bool winstar_; + bool winagg_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class TriggerTransition final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.TriggerTransition) */ { +class WindowFuncRunCondition final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WindowFuncRunCondition) */ { public: - inline TriggerTransition() : TriggerTransition(nullptr) {} - ~TriggerTransition() override; - explicit PROTOBUF_CONSTEXPR TriggerTransition(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - TriggerTransition(const TriggerTransition& from); - TriggerTransition(TriggerTransition&& from) noexcept - : TriggerTransition() { + inline WindowFuncRunCondition() : WindowFuncRunCondition(nullptr) {} + ~WindowFuncRunCondition() override; + template + explicit PROTOBUF_CONSTEXPR WindowFuncRunCondition(::google::protobuf::internal::ConstantInitialized); + + inline WindowFuncRunCondition(const WindowFuncRunCondition& from) + : WindowFuncRunCondition(nullptr, from) {} + WindowFuncRunCondition(WindowFuncRunCondition&& from) noexcept + : WindowFuncRunCondition() { *this = ::std::move(from); } - inline TriggerTransition& operator=(const TriggerTransition& from) { + inline WindowFuncRunCondition& operator=(const WindowFuncRunCondition& from) { CopyFrom(from); return *this; } - inline TriggerTransition& operator=(TriggerTransition&& from) noexcept { + inline WindowFuncRunCondition& operator=(WindowFuncRunCondition&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -59205,172 +75368,231 @@ class TriggerTransition final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const TriggerTransition& default_instance() { + static const WindowFuncRunCondition& default_instance() { return *internal_default_instance(); } - static inline const TriggerTransition* internal_default_instance() { - return reinterpret_cast( - &_TriggerTransition_default_instance_); + static inline const WindowFuncRunCondition* internal_default_instance() { + return reinterpret_cast( + &_WindowFuncRunCondition_default_instance_); } static constexpr int kIndexInFileMessages = - 230; + 21; - friend void swap(TriggerTransition& a, TriggerTransition& b) { + friend void swap(WindowFuncRunCondition& a, WindowFuncRunCondition& b) { a.Swap(&b); } - inline void Swap(TriggerTransition* other) { + inline void Swap(WindowFuncRunCondition* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(TriggerTransition* other) { + void UnsafeArenaSwap(WindowFuncRunCondition* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - TriggerTransition* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WindowFuncRunCondition* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TriggerTransition& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const TriggerTransition& from) { - TriggerTransition::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WindowFuncRunCondition& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WindowFuncRunCondition& from) { + WindowFuncRunCondition::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TriggerTransition* other); + void InternalSwap(WindowFuncRunCondition* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.TriggerTransition"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WindowFuncRunCondition"; } protected: - explicit TriggerTransition(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WindowFuncRunCondition(::google::protobuf::Arena* arena); + WindowFuncRunCondition(::google::protobuf::Arena* arena, const WindowFuncRunCondition& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kIsNewFieldNumber = 2, - kIsTableFieldNumber = 3, + kXprFieldNumber = 1, + kArgFieldNumber = 5, + kOpnoFieldNumber = 2, + kInputcollidFieldNumber = 3, + kWfuncLeftFieldNumber = 4, }; - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: + // .pg_query.Node arg = 5 [json_name = "arg"]; + bool has_arg() const; + void clear_arg() ; + const ::pg_query::Node& arg() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_arg(); + ::pg_query::Node* mutable_arg(); + void set_allocated_arg(::pg_query::Node* value); + void unsafe_arena_set_allocated_arg(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_arg(); - // bool is_new = 2 [json_name = "isNew"]; - void clear_is_new(); - bool is_new() const; - void set_is_new(bool value); private: - bool _internal_is_new() const; - void _internal_set_is_new(bool value); + const ::pg_query::Node& _internal_arg() const; + ::pg_query::Node* _internal_mutable_arg(); + public: + // uint32 opno = 2 [json_name = "opno"]; + void clear_opno() ; + ::uint32_t opno() const; + void set_opno(::uint32_t value); - // bool is_table = 3 [json_name = "isTable"]; - void clear_is_table(); - bool is_table() const; - void set_is_table(bool value); private: - bool _internal_is_table() const; - void _internal_set_is_table(bool value); + ::uint32_t _internal_opno() const; + void _internal_set_opno(::uint32_t value); + public: + // uint32 inputcollid = 3 [json_name = "inputcollid"]; + void clear_inputcollid() ; + ::uint32_t inputcollid() const; + void set_inputcollid(::uint32_t value); - // @@protoc_insertion_point(class_scope:pg_query.TriggerTransition) + private: + ::uint32_t _internal_inputcollid() const; + void _internal_set_inputcollid(::uint32_t value); + + public: + // bool wfunc_left = 4 [json_name = "wfunc_left"]; + void clear_wfunc_left() ; + bool wfunc_left() const; + void set_wfunc_left(bool value); + + private: + bool _internal_wfunc_left() const; + void _internal_set_wfunc_left(bool value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.WindowFuncRunCondition) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - bool is_new_; - bool is_table_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* xpr_; + ::pg_query::Node* arg_; + ::uint32_t opno_; + ::uint32_t inputcollid_; + bool wfunc_left_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PartitionElem final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionElem) */ { +class WithCheckOption final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithCheckOption) */ { public: - inline PartitionElem() : PartitionElem(nullptr) {} - ~PartitionElem() override; - explicit PROTOBUF_CONSTEXPR PartitionElem(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline WithCheckOption() : WithCheckOption(nullptr) {} + ~WithCheckOption() override; + template + explicit PROTOBUF_CONSTEXPR WithCheckOption(::google::protobuf::internal::ConstantInitialized); - PartitionElem(const PartitionElem& from); - PartitionElem(PartitionElem&& from) noexcept - : PartitionElem() { + inline WithCheckOption(const WithCheckOption& from) + : WithCheckOption(nullptr, from) {} + WithCheckOption(WithCheckOption&& from) noexcept + : WithCheckOption() { *this = ::std::move(from); } - inline PartitionElem& operator=(const PartitionElem& from) { + inline WithCheckOption& operator=(const WithCheckOption& from) { CopyFrom(from); return *this; } - inline PartitionElem& operator=(PartitionElem&& from) noexcept { + inline WithCheckOption& operator=(WithCheckOption&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -59380,221 +75602,238 @@ class PartitionElem final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionElem& default_instance() { + static const WithCheckOption& default_instance() { return *internal_default_instance(); } - static inline const PartitionElem* internal_default_instance() { - return reinterpret_cast( - &_PartitionElem_default_instance_); + static inline const WithCheckOption* internal_default_instance() { + return reinterpret_cast( + &_WithCheckOption_default_instance_); } static constexpr int kIndexInFileMessages = - 231; + 113; - friend void swap(PartitionElem& a, PartitionElem& b) { + friend void swap(WithCheckOption& a, WithCheckOption& b) { a.Swap(&b); } - inline void Swap(PartitionElem* other) { + inline void Swap(WithCheckOption* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionElem* other) { + void UnsafeArenaSwap(WithCheckOption* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PartitionElem* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WithCheckOption* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PartitionElem& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PartitionElem& from) { - PartitionElem::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WithCheckOption& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WithCheckOption& from) { + WithCheckOption::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionElem* other); + void InternalSwap(WithCheckOption* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PartitionElem"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WithCheckOption"; } protected: - explicit PartitionElem(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WithCheckOption(::google::protobuf::Arena* arena); + WithCheckOption(::google::protobuf::Arena* arena, const WithCheckOption& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kCollationFieldNumber = 3, - kOpclassFieldNumber = 4, - kNameFieldNumber = 1, - kExprFieldNumber = 2, - kLocationFieldNumber = 5, + kRelnameFieldNumber = 2, + kPolnameFieldNumber = 3, + kQualFieldNumber = 4, + kKindFieldNumber = 1, + kCascadedFieldNumber = 5, }; - // repeated .pg_query.Node collation = 3 [json_name = "collation"]; - int collation_size() const; - private: - int _internal_collation_size() const; - public: - void clear_collation(); - ::pg_query::Node* mutable_collation(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_collation(); - private: - const ::pg_query::Node& _internal_collation(int index) const; - ::pg_query::Node* _internal_add_collation(); - public: - const ::pg_query::Node& collation(int index) const; - ::pg_query::Node* add_collation(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - collation() const; + // string relname = 2 [json_name = "relname"]; + void clear_relname() ; + const std::string& relname() const; + template + void set_relname(Arg_&& arg, Args_... args); + std::string* mutable_relname(); + PROTOBUF_NODISCARD std::string* release_relname(); + void set_allocated_relname(std::string* value); - // repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; - int opclass_size() const; - private: - int _internal_opclass_size() const; - public: - void clear_opclass(); - ::pg_query::Node* mutable_opclass(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_opclass(); private: - const ::pg_query::Node& _internal_opclass(int index) const; - ::pg_query::Node* _internal_add_opclass(); + const std::string& _internal_relname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_relname( + const std::string& value); + std::string* _internal_mutable_relname(); + public: - const ::pg_query::Node& opclass(int index) const; - ::pg_query::Node* add_opclass(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - opclass() const; + // string polname = 3 [json_name = "polname"]; + void clear_polname() ; + const std::string& polname() const; + template + void set_polname(Arg_&& arg, Args_... args); + std::string* mutable_polname(); + PROTOBUF_NODISCARD std::string* release_polname(); + void set_allocated_polname(std::string* value); - // string name = 1 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); + const std::string& _internal_polname() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_polname( + const std::string& value); + std::string* _internal_mutable_polname(); + public: + // .pg_query.Node qual = 4 [json_name = "qual"]; + bool has_qual() const; + void clear_qual() ; + const ::pg_query::Node& qual() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_qual(); + ::pg_query::Node* mutable_qual(); + void set_allocated_qual(::pg_query::Node* value); + void unsafe_arena_set_allocated_qual(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_qual(); - // .pg_query.Node expr = 2 [json_name = "expr"]; - bool has_expr() const; private: - bool _internal_has_expr() const; + const ::pg_query::Node& _internal_qual() const; + ::pg_query::Node* _internal_mutable_qual(); + public: - void clear_expr(); - const ::pg_query::Node& expr() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); - ::pg_query::Node* mutable_expr(); - void set_allocated_expr(::pg_query::Node* expr); + // .pg_query.WCOKind kind = 1 [json_name = "kind"]; + void clear_kind() ; + ::pg_query::WCOKind kind() const; + void set_kind(::pg_query::WCOKind value); + private: - const ::pg_query::Node& _internal_expr() const; - ::pg_query::Node* _internal_mutable_expr(); + ::pg_query::WCOKind _internal_kind() const; + void _internal_set_kind(::pg_query::WCOKind value); + public: - void unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr); - ::pg_query::Node* unsafe_arena_release_expr(); + // bool cascaded = 5 [json_name = "cascaded"]; + void clear_cascaded() ; + bool cascaded() const; + void set_cascaded(bool value); - // int32 location = 5 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + bool _internal_cascaded() const; + void _internal_set_cascaded(bool value); - // @@protoc_insertion_point(class_scope:pg_query.PartitionElem) + public: + // @@protoc_insertion_point(class_scope:pg_query.WithCheckOption) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 1, + 47, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > collation_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > opclass_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::Node* expr_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr relname_; + ::google::protobuf::internal::ArenaStringPtr polname_; + ::pg_query::Node* qual_; + int kind_; + bool cascaded_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PartitionSpec final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionSpec) */ { +class WithClause final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.WithClause) */ { public: - inline PartitionSpec() : PartitionSpec(nullptr) {} - ~PartitionSpec() override; - explicit PROTOBUF_CONSTEXPR PartitionSpec(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline WithClause() : WithClause(nullptr) {} + ~WithClause() override; + template + explicit PROTOBUF_CONSTEXPR WithClause(::google::protobuf::internal::ConstantInitialized); - PartitionSpec(const PartitionSpec& from); - PartitionSpec(PartitionSpec&& from) noexcept - : PartitionSpec() { + inline WithClause(const WithClause& from) + : WithClause(nullptr, from) {} + WithClause(WithClause&& from) noexcept + : WithClause() { *this = ::std::move(from); } - inline PartitionSpec& operator=(const PartitionSpec& from) { + inline WithClause& operator=(const WithClause& from) { CopyFrom(from); return *this; } - inline PartitionSpec& operator=(PartitionSpec&& from) noexcept { + inline WithClause& operator=(WithClause&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -59604,181 +75843,204 @@ class PartitionSpec final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionSpec& default_instance() { + static const WithClause& default_instance() { return *internal_default_instance(); } - static inline const PartitionSpec* internal_default_instance() { - return reinterpret_cast( - &_PartitionSpec_default_instance_); + static inline const WithClause* internal_default_instance() { + return reinterpret_cast( + &_WithClause_default_instance_); } static constexpr int kIndexInFileMessages = - 232; + 118; - friend void swap(PartitionSpec& a, PartitionSpec& b) { + friend void swap(WithClause& a, WithClause& b) { a.Swap(&b); } - inline void Swap(PartitionSpec* other) { + inline void Swap(WithClause* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionSpec* other) { + void UnsafeArenaSwap(WithClause* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PartitionSpec* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + WithClause* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PartitionSpec& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PartitionSpec& from) { - PartitionSpec::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const WithClause& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const WithClause& from) { + WithClause::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionSpec* other); + void InternalSwap(WithClause* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PartitionSpec"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.WithClause"; } protected: - explicit PartitionSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit WithClause(::google::protobuf::Arena* arena); + WithClause(::google::protobuf::Arena* arena, const WithClause& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kPartParamsFieldNumber = 2, - kStrategyFieldNumber = 1, + kCtesFieldNumber = 1, + kRecursiveFieldNumber = 2, kLocationFieldNumber = 3, }; - // repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; - int part_params_size() const; + // repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; + int ctes_size() const; private: - int _internal_part_params_size() const; + int _internal_ctes_size() const; + public: - void clear_part_params(); - ::pg_query::Node* mutable_part_params(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_part_params(); + void clear_ctes() ; + ::pg_query::Node* mutable_ctes(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_ctes(); private: - const ::pg_query::Node& _internal_part_params(int index) const; - ::pg_query::Node* _internal_add_part_params(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_ctes() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_ctes(); public: - const ::pg_query::Node& part_params(int index) const; - ::pg_query::Node* add_part_params(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - part_params() const; + const ::pg_query::Node& ctes(int index) const; + ::pg_query::Node* add_ctes(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + ctes() const; + // bool recursive = 2 [json_name = "recursive"]; + void clear_recursive() ; + bool recursive() const; + void set_recursive(bool value); - // string strategy = 1 [json_name = "strategy"]; - void clear_strategy(); - const std::string& strategy() const; - template - void set_strategy(ArgT0&& arg0, ArgT... args); - std::string* mutable_strategy(); - PROTOBUF_NODISCARD std::string* release_strategy(); - void set_allocated_strategy(std::string* strategy); private: - const std::string& _internal_strategy() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy(const std::string& value); - std::string* _internal_mutable_strategy(); - public: + bool _internal_recursive() const; + void _internal_set_recursive(bool value); + public: // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); + private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.PartitionSpec) + public: + // @@protoc_insertion_point(class_scope:pg_query.WithClause) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > part_params_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strategy_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > ctes_; + bool recursive_; + ::int32_t location_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PartitionBoundSpec final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionBoundSpec) */ { +class XmlExpr final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlExpr) */ { public: - inline PartitionBoundSpec() : PartitionBoundSpec(nullptr) {} - ~PartitionBoundSpec() override; - explicit PROTOBUF_CONSTEXPR PartitionBoundSpec(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline XmlExpr() : XmlExpr(nullptr) {} + ~XmlExpr() override; + template + explicit PROTOBUF_CONSTEXPR XmlExpr(::google::protobuf::internal::ConstantInitialized); - PartitionBoundSpec(const PartitionBoundSpec& from); - PartitionBoundSpec(PartitionBoundSpec&& from) noexcept - : PartitionBoundSpec() { + inline XmlExpr(const XmlExpr& from) + : XmlExpr(nullptr, from) {} + XmlExpr(XmlExpr&& from) noexcept + : XmlExpr() { *this = ::std::move(from); } - inline PartitionBoundSpec& operator=(const PartitionBoundSpec& from) { + inline XmlExpr& operator=(const XmlExpr& from) { CopyFrom(from); return *this; } - inline PartitionBoundSpec& operator=(PartitionBoundSpec&& from) noexcept { + inline XmlExpr& operator=(XmlExpr&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -59788,254 +76050,328 @@ class PartitionBoundSpec final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionBoundSpec& default_instance() { + static const XmlExpr& default_instance() { return *internal_default_instance(); } - static inline const PartitionBoundSpec* internal_default_instance() { - return reinterpret_cast( - &_PartitionBoundSpec_default_instance_); + static inline const XmlExpr* internal_default_instance() { + return reinterpret_cast( + &_XmlExpr_default_instance_); } static constexpr int kIndexInFileMessages = - 233; + 50; - friend void swap(PartitionBoundSpec& a, PartitionBoundSpec& b) { + friend void swap(XmlExpr& a, XmlExpr& b) { a.Swap(&b); } - inline void Swap(PartitionBoundSpec* other) { + inline void Swap(XmlExpr* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionBoundSpec* other) { + void UnsafeArenaSwap(XmlExpr* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PartitionBoundSpec* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + XmlExpr* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PartitionBoundSpec& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PartitionBoundSpec& from) { - PartitionBoundSpec::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const XmlExpr& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const XmlExpr& from) { + XmlExpr::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionBoundSpec* other); + void InternalSwap(XmlExpr* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PartitionBoundSpec"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.XmlExpr"; } protected: - explicit PartitionBoundSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit XmlExpr(::google::protobuf::Arena* arena); + XmlExpr(::google::protobuf::Arena* arena, const XmlExpr& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kListdatumsFieldNumber = 5, - kLowerdatumsFieldNumber = 6, - kUpperdatumsFieldNumber = 7, - kStrategyFieldNumber = 1, - kIsDefaultFieldNumber = 2, - kModulusFieldNumber = 3, - kRemainderFieldNumber = 4, - kLocationFieldNumber = 8, + kNamedArgsFieldNumber = 4, + kArgNamesFieldNumber = 5, + kArgsFieldNumber = 6, + kNameFieldNumber = 3, + kXprFieldNumber = 1, + kOpFieldNumber = 2, + kXmloptionFieldNumber = 7, + kIndentFieldNumber = 8, + kTypeFieldNumber = 9, + kTypmodFieldNumber = 10, + kLocationFieldNumber = 11, }; - // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; - int listdatums_size() const; + // repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; + int named_args_size() const; private: - int _internal_listdatums_size() const; + int _internal_named_args_size() const; + public: - void clear_listdatums(); - ::pg_query::Node* mutable_listdatums(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_listdatums(); + void clear_named_args() ; + ::pg_query::Node* mutable_named_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_named_args(); private: - const ::pg_query::Node& _internal_listdatums(int index) const; - ::pg_query::Node* _internal_add_listdatums(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_named_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_named_args(); public: - const ::pg_query::Node& listdatums(int index) const; - ::pg_query::Node* add_listdatums(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - listdatums() const; + const ::pg_query::Node& named_args(int index) const; + ::pg_query::Node* add_named_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + named_args() const; + // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; + int arg_names_size() const; + private: + int _internal_arg_names_size() const; - // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; - int lowerdatums_size() const; + public: + void clear_arg_names() ; + ::pg_query::Node* mutable_arg_names(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_arg_names(); private: - int _internal_lowerdatums_size() const; + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_arg_names() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_arg_names(); public: - void clear_lowerdatums(); - ::pg_query::Node* mutable_lowerdatums(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_lowerdatums(); + const ::pg_query::Node& arg_names(int index) const; + ::pg_query::Node* add_arg_names(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + arg_names() const; + // repeated .pg_query.Node args = 6 [json_name = "args"]; + int args_size() const; + private: + int _internal_args_size() const; + + public: + void clear_args() ; + ::pg_query::Node* mutable_args(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::Node >* + mutable_args(); private: - const ::pg_query::Node& _internal_lowerdatums(int index) const; - ::pg_query::Node* _internal_add_lowerdatums(); + const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& _internal_args() const; + ::google::protobuf::RepeatedPtrField<::pg_query::Node>* _internal_mutable_args(); public: - const ::pg_query::Node& lowerdatums(int index) const; - ::pg_query::Node* add_lowerdatums(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - lowerdatums() const; + const ::pg_query::Node& args(int index) const; + ::pg_query::Node* add_args(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::Node >& + args() const; + // string name = 3 [json_name = "name"]; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); - // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; - int upperdatums_size() const; private: - int _internal_upperdatums_size() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + public: - void clear_upperdatums(); - ::pg_query::Node* mutable_upperdatums(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_upperdatums(); + // .pg_query.Node xpr = 1 [json_name = "xpr"]; + bool has_xpr() const; + void clear_xpr() ; + const ::pg_query::Node& xpr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_xpr(); + ::pg_query::Node* mutable_xpr(); + void set_allocated_xpr(::pg_query::Node* value); + void unsafe_arena_set_allocated_xpr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_xpr(); + private: - const ::pg_query::Node& _internal_upperdatums(int index) const; - ::pg_query::Node* _internal_add_upperdatums(); + const ::pg_query::Node& _internal_xpr() const; + ::pg_query::Node* _internal_mutable_xpr(); + public: - const ::pg_query::Node& upperdatums(int index) const; - ::pg_query::Node* add_upperdatums(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - upperdatums() const; + // .pg_query.XmlExprOp op = 2 [json_name = "op"]; + void clear_op() ; + ::pg_query::XmlExprOp op() const; + void set_op(::pg_query::XmlExprOp value); - // string strategy = 1 [json_name = "strategy"]; - void clear_strategy(); - const std::string& strategy() const; - template - void set_strategy(ArgT0&& arg0, ArgT... args); - std::string* mutable_strategy(); - PROTOBUF_NODISCARD std::string* release_strategy(); - void set_allocated_strategy(std::string* strategy); private: - const std::string& _internal_strategy() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_strategy(const std::string& value); - std::string* _internal_mutable_strategy(); + ::pg_query::XmlExprOp _internal_op() const; + void _internal_set_op(::pg_query::XmlExprOp value); + public: + // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; + void clear_xmloption() ; + ::pg_query::XmlOptionType xmloption() const; + void set_xmloption(::pg_query::XmlOptionType value); - // bool is_default = 2 [json_name = "is_default"]; - void clear_is_default(); - bool is_default() const; - void set_is_default(bool value); private: - bool _internal_is_default() const; - void _internal_set_is_default(bool value); + ::pg_query::XmlOptionType _internal_xmloption() const; + void _internal_set_xmloption(::pg_query::XmlOptionType value); + public: + // bool indent = 8 [json_name = "indent"]; + void clear_indent() ; + bool indent() const; + void set_indent(bool value); - // int32 modulus = 3 [json_name = "modulus"]; - void clear_modulus(); - int32_t modulus() const; - void set_modulus(int32_t value); private: - int32_t _internal_modulus() const; - void _internal_set_modulus(int32_t value); + bool _internal_indent() const; + void _internal_set_indent(bool value); + public: + // uint32 type = 9 [json_name = "type"]; + void clear_type() ; + ::uint32_t type() const; + void set_type(::uint32_t value); - // int32 remainder = 4 [json_name = "remainder"]; - void clear_remainder(); - int32_t remainder() const; - void set_remainder(int32_t value); private: - int32_t _internal_remainder() const; - void _internal_set_remainder(int32_t value); + ::uint32_t _internal_type() const; + void _internal_set_type(::uint32_t value); + public: + // int32 typmod = 10 [json_name = "typmod"]; + void clear_typmod() ; + ::int32_t typmod() const; + void set_typmod(::int32_t value); - // int32 location = 8 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + ::int32_t _internal_typmod() const; + void _internal_set_typmod(::int32_t value); + public: + // int32 location = 11 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.PartitionBoundSpec) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.XmlExpr) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 4, + 37, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > listdatums_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > lowerdatums_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > upperdatums_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr strategy_; - bool is_default_; - int32_t modulus_; - int32_t remainder_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > named_args_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > arg_names_; + ::google::protobuf::RepeatedPtrField< ::pg_query::Node > args_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::pg_query::Node* xpr_; + int op_; + int xmloption_; + bool indent_; + ::uint32_t type_; + ::int32_t typmod_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PartitionRangeDatum final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionRangeDatum) */ { +class XmlSerialize final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.XmlSerialize) */ { public: - inline PartitionRangeDatum() : PartitionRangeDatum(nullptr) {} - ~PartitionRangeDatum() override; - explicit PROTOBUF_CONSTEXPR PartitionRangeDatum(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline XmlSerialize() : XmlSerialize(nullptr) {} + ~XmlSerialize() override; + template + explicit PROTOBUF_CONSTEXPR XmlSerialize(::google::protobuf::internal::ConstantInitialized); - PartitionRangeDatum(const PartitionRangeDatum& from); - PartitionRangeDatum(PartitionRangeDatum&& from) noexcept - : PartitionRangeDatum() { + inline XmlSerialize(const XmlSerialize& from) + : XmlSerialize(nullptr, from) {} + XmlSerialize(XmlSerialize&& from) noexcept + : XmlSerialize() { *this = ::std::move(from); } - inline PartitionRangeDatum& operator=(const PartitionRangeDatum& from) { + inline XmlSerialize& operator=(const XmlSerialize& from) { CopyFrom(from); return *this; } - inline PartitionRangeDatum& operator=(PartitionRangeDatum&& from) noexcept { + inline XmlSerialize& operator=(XmlSerialize&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -60045,176 +76381,231 @@ class PartitionRangeDatum final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionRangeDatum& default_instance() { + static const XmlSerialize& default_instance() { return *internal_default_instance(); } - static inline const PartitionRangeDatum* internal_default_instance() { - return reinterpret_cast( - &_PartitionRangeDatum_default_instance_); + static inline const XmlSerialize* internal_default_instance() { + return reinterpret_cast( + &_XmlSerialize_default_instance_); } static constexpr int kIndexInFileMessages = - 234; + 102; - friend void swap(PartitionRangeDatum& a, PartitionRangeDatum& b) { + friend void swap(XmlSerialize& a, XmlSerialize& b) { a.Swap(&b); } - inline void Swap(PartitionRangeDatum* other) { + inline void Swap(XmlSerialize* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionRangeDatum* other) { + void UnsafeArenaSwap(XmlSerialize* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PartitionRangeDatum* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + XmlSerialize* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PartitionRangeDatum& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PartitionRangeDatum& from) { - PartitionRangeDatum::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const XmlSerialize& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const XmlSerialize& from) { + XmlSerialize::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionRangeDatum* other); + void InternalSwap(XmlSerialize* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PartitionRangeDatum"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.XmlSerialize"; } protected: - explicit PartitionRangeDatum(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit XmlSerialize(::google::protobuf::Arena* arena); + XmlSerialize(::google::protobuf::Arena* arena, const XmlSerialize& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kValueFieldNumber = 2, - kKindFieldNumber = 1, - kLocationFieldNumber = 3, + kExprFieldNumber = 2, + kTypeNameFieldNumber = 3, + kXmloptionFieldNumber = 1, + kIndentFieldNumber = 4, + kLocationFieldNumber = 5, }; - // .pg_query.Node value = 2 [json_name = "value"]; - bool has_value() const; + // .pg_query.Node expr = 2 [json_name = "expr"]; + bool has_expr() const; + void clear_expr() ; + const ::pg_query::Node& expr() const; + PROTOBUF_NODISCARD ::pg_query::Node* release_expr(); + ::pg_query::Node* mutable_expr(); + void set_allocated_expr(::pg_query::Node* value); + void unsafe_arena_set_allocated_expr(::pg_query::Node* value); + ::pg_query::Node* unsafe_arena_release_expr(); + private: - bool _internal_has_value() const; + const ::pg_query::Node& _internal_expr() const; + ::pg_query::Node* _internal_mutable_expr(); + public: - void clear_value(); - const ::pg_query::Node& value() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_value(); - ::pg_query::Node* mutable_value(); - void set_allocated_value(::pg_query::Node* value); + // .pg_query.TypeName type_name = 3 [json_name = "typeName"]; + bool has_type_name() const; + void clear_type_name() ; + const ::pg_query::TypeName& type_name() const; + PROTOBUF_NODISCARD ::pg_query::TypeName* release_type_name(); + ::pg_query::TypeName* mutable_type_name(); + void set_allocated_type_name(::pg_query::TypeName* value); + void unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value); + ::pg_query::TypeName* unsafe_arena_release_type_name(); + private: - const ::pg_query::Node& _internal_value() const; - ::pg_query::Node* _internal_mutable_value(); + const ::pg_query::TypeName& _internal_type_name() const; + ::pg_query::TypeName* _internal_mutable_type_name(); + public: - void unsafe_arena_set_allocated_value( - ::pg_query::Node* value); - ::pg_query::Node* unsafe_arena_release_value(); + // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; + void clear_xmloption() ; + ::pg_query::XmlOptionType xmloption() const; + void set_xmloption(::pg_query::XmlOptionType value); - // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; - void clear_kind(); - ::pg_query::PartitionRangeDatumKind kind() const; - void set_kind(::pg_query::PartitionRangeDatumKind value); private: - ::pg_query::PartitionRangeDatumKind _internal_kind() const; - void _internal_set_kind(::pg_query::PartitionRangeDatumKind value); + ::pg_query::XmlOptionType _internal_xmloption() const; + void _internal_set_xmloption(::pg_query::XmlOptionType value); + public: + // bool indent = 4 [json_name = "indent"]; + void clear_indent() ; + bool indent() const; + void set_indent(bool value); - // int32 location = 3 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); + bool _internal_indent() const; + void _internal_set_indent(bool value); + public: + // int32 location = 5 [json_name = "location"]; + void clear_location() ; + ::int32_t location() const; + void set_location(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.PartitionRangeDatum) + private: + ::int32_t _internal_location() const; + void _internal_set_location(::int32_t value); + + public: + // @@protoc_insertion_point(class_scope:pg_query.XmlSerialize) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 2, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::Node* value_; - int kind_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::pg_query::Node* expr_; + ::pg_query::TypeName* type_name_; + int xmloption_; + bool indent_; + ::int32_t location_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- +};// ------------------------------------------------------------------- -class PartitionCmd final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PartitionCmd) */ { +class ParseResult final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:pg_query.ParseResult) */ { public: - inline PartitionCmd() : PartitionCmd(nullptr) {} - ~PartitionCmd() override; - explicit PROTOBUF_CONSTEXPR PartitionCmd(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + inline ParseResult() : ParseResult(nullptr) {} + ~ParseResult() override; + template + explicit PROTOBUF_CONSTEXPR ParseResult(::google::protobuf::internal::ConstantInitialized); - PartitionCmd(const PartitionCmd& from); - PartitionCmd(PartitionCmd&& from) noexcept - : PartitionCmd() { + inline ParseResult(const ParseResult& from) + : ParseResult(nullptr, from) {} + ParseResult(ParseResult&& from) noexcept + : ParseResult() { *this = ::std::move(from); } - inline PartitionCmd& operator=(const PartitionCmd& from) { + inline ParseResult& operator=(const ParseResult& from) { CopyFrom(from); return *this; } - inline PartitionCmd& operator=(PartitionCmd&& from) noexcept { + inline ParseResult& operator=(ParseResult&& from) noexcept { if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() + if (GetArena() == from.GetArena() #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr + && GetArena() != nullptr #endif // !PROTOBUF_FORCE_COPY_IN_MOVE ) { InternalSwap(&from); @@ -60224,11546 +76615,12662 @@ class PartitionCmd final : return *this; } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { return GetDescriptor(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + static const ::google::protobuf::Descriptor* GetDescriptor() { return default_instance().GetMetadata().descriptor; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const PartitionCmd& default_instance() { + static const ParseResult& default_instance() { return *internal_default_instance(); } - static inline const PartitionCmd* internal_default_instance() { - return reinterpret_cast( - &_PartitionCmd_default_instance_); + static inline const ParseResult* internal_default_instance() { + return reinterpret_cast( + &_ParseResult_default_instance_); } static constexpr int kIndexInFileMessages = - 235; + 0; - friend void swap(PartitionCmd& a, PartitionCmd& b) { + friend void swap(ParseResult& a, ParseResult& b) { a.Swap(&b); } - inline void Swap(PartitionCmd* other) { + inline void Swap(ParseResult* other) { if (other == this) return; #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { + if (GetArena() != nullptr && + GetArena() == other->GetArena()) { #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { + if (GetArena() == other->GetArena()) { #endif // !PROTOBUF_FORCE_COPY_IN_SWAP InternalSwap(other); } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(PartitionCmd* other) { + void UnsafeArenaSwap(ParseResult* other) { if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); } // implements Message ---------------------------------------------- - PartitionCmd* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); + ParseResult* New(::google::protobuf::Arena* arena = nullptr) const final { + return CreateMaybeMessage(arena); } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PartitionCmd& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PartitionCmd& from) { - PartitionCmd::MergeImpl(*this, from); + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ParseResult& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom( const ParseResult& from) { + ParseResult::MergeImpl(*this, from); } private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); + static void MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg); public: PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; bool IsInitialized() const final; - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); + ::google::protobuf::internal::CachedSize* AccessCachedSize() const final; + void SharedCtor(::google::protobuf::Arena* arena); void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PartitionCmd* other); + void InternalSwap(ParseResult* other); private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PartitionCmd"; + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { + return "pg_query.ParseResult"; } protected: - explicit PartitionCmd(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); + explicit ParseResult(::google::protobuf::Arena* arena); + ParseResult(::google::protobuf::Arena* arena, const ParseResult& from); public: static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + const ::google::protobuf::Message::ClassData*GetClassData() const final; - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + ::google::protobuf::Metadata GetMetadata() const final; // nested types ---------------------------------------------------- // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 1, - kBoundFieldNumber = 2, - kConcurrentFieldNumber = 3, + kStmtsFieldNumber = 2, + kVersionFieldNumber = 1, }; - // .pg_query.RangeVar name = 1 [json_name = "name"]; - bool has_name() const; - private: - bool _internal_has_name() const; - public: - void clear_name(); - const ::pg_query::RangeVar& name() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_name(); - ::pg_query::RangeVar* mutable_name(); - void set_allocated_name(::pg_query::RangeVar* name); + // repeated .pg_query.RawStmt stmts = 2; + int stmts_size() const; private: - const ::pg_query::RangeVar& _internal_name() const; - ::pg_query::RangeVar* _internal_mutable_name(); - public: - void unsafe_arena_set_allocated_name( - ::pg_query::RangeVar* name); - ::pg_query::RangeVar* unsafe_arena_release_name(); + int _internal_stmts_size() const; - // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; - bool has_bound() const; - private: - bool _internal_has_bound() const; public: - void clear_bound(); - const ::pg_query::PartitionBoundSpec& bound() const; - PROTOBUF_NODISCARD ::pg_query::PartitionBoundSpec* release_bound(); - ::pg_query::PartitionBoundSpec* mutable_bound(); - void set_allocated_bound(::pg_query::PartitionBoundSpec* bound); + void clear_stmts() ; + ::pg_query::RawStmt* mutable_stmts(int index); + ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >* + mutable_stmts(); private: - const ::pg_query::PartitionBoundSpec& _internal_bound() const; - ::pg_query::PartitionBoundSpec* _internal_mutable_bound(); + const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& _internal_stmts() const; + ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* _internal_mutable_stmts(); public: - void unsafe_arena_set_allocated_bound( - ::pg_query::PartitionBoundSpec* bound); - ::pg_query::PartitionBoundSpec* unsafe_arena_release_bound(); + const ::pg_query::RawStmt& stmts(int index) const; + ::pg_query::RawStmt* add_stmts(); + const ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt >& + stmts() const; + // int32 version = 1; + void clear_version() ; + ::int32_t version() const; + void set_version(::int32_t value); - // bool concurrent = 3 [json_name = "concurrent"]; - void clear_concurrent(); - bool concurrent() const; - void set_concurrent(bool value); private: - bool _internal_concurrent() const; - void _internal_set_concurrent(bool value); - public: + ::int32_t _internal_version() const; + void _internal_set_version(::int32_t value); - // @@protoc_insertion_point(class_scope:pg_query.PartitionCmd) + public: + // @@protoc_insertion_point(class_scope:pg_query.ParseResult) private: class _Internal; - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 1, + 0, 2> + _table_; + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; struct Impl_ { - ::pg_query::RangeVar* name_; - ::pg_query::PartitionBoundSpec* bound_; - bool concurrent_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from); + ::google::protobuf::RepeatedPtrField< ::pg_query::RawStmt > stmts_; + ::int32_t version_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; }; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ // ------------------------------------------------------------------- -class VacuumRelation final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.VacuumRelation) */ { - public: - inline VacuumRelation() : VacuumRelation(nullptr) {} - ~VacuumRelation() override; - explicit PROTOBUF_CONSTEXPR VacuumRelation(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); +// ParseResult - VacuumRelation(const VacuumRelation& from); - VacuumRelation(VacuumRelation&& from) noexcept - : VacuumRelation() { - *this = ::std::move(from); +// int32 version = 1; +inline void ParseResult::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_ = 0; +} +inline ::int32_t ParseResult::version() const { + // @@protoc_insertion_point(field_get:pg_query.ParseResult.version) + return _internal_version(); +} +inline void ParseResult::set_version(::int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:pg_query.ParseResult.version) +} +inline ::int32_t ParseResult::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_; +} +inline void ParseResult::_internal_set_version(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_ = value; +} + +// repeated .pg_query.RawStmt stmts = 2; +inline int ParseResult::_internal_stmts_size() const { + return _internal_stmts().size(); +} +inline int ParseResult::stmts_size() const { + return _internal_stmts_size(); +} +inline void ParseResult::clear_stmts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmts_.Clear(); +} +inline ::pg_query::RawStmt* ParseResult::mutable_stmts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ParseResult.stmts) + return _internal_mutable_stmts()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* ParseResult::mutable_stmts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ParseResult.stmts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_stmts(); +} +inline const ::pg_query::RawStmt& ParseResult::stmts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ParseResult.stmts) + return _internal_stmts().Get(index); +} +inline ::pg_query::RawStmt* ParseResult::add_stmts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::RawStmt* _add = _internal_mutable_stmts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ParseResult.stmts) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& ParseResult::stmts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ParseResult.stmts) + return _internal_stmts(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>& +ParseResult::_internal_stmts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmts_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::RawStmt>* +ParseResult::_internal_mutable_stmts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.stmts_; +} + +// ------------------------------------------------------------------- + +// ScanResult + +// int32 version = 1; +inline void ScanResult::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_ = 0; +} +inline ::int32_t ScanResult::version() const { + // @@protoc_insertion_point(field_get:pg_query.ScanResult.version) + return _internal_version(); +} +inline void ScanResult::set_version(::int32_t value) { + _internal_set_version(value); + // @@protoc_insertion_point(field_set:pg_query.ScanResult.version) +} +inline ::int32_t ScanResult::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_; +} +inline void ScanResult::_internal_set_version(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_ = value; +} + +// repeated .pg_query.ScanToken tokens = 2; +inline int ScanResult::_internal_tokens_size() const { + return _internal_tokens().size(); +} +inline int ScanResult::tokens_size() const { + return _internal_tokens_size(); +} +inline void ScanResult::clear_tokens() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tokens_.Clear(); +} +inline ::pg_query::ScanToken* ScanResult::mutable_tokens(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ScanResult.tokens) + return _internal_mutable_tokens()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* ScanResult::mutable_tokens() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ScanResult.tokens) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_tokens(); +} +inline const ::pg_query::ScanToken& ScanResult::tokens(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ScanResult.tokens) + return _internal_tokens().Get(index); +} +inline ::pg_query::ScanToken* ScanResult::add_tokens() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::ScanToken* _add = _internal_mutable_tokens()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ScanResult.tokens) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& ScanResult::tokens() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ScanResult.tokens) + return _internal_tokens(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>& +ScanResult::_internal_tokens() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tokens_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::ScanToken>* +ScanResult::_internal_mutable_tokens() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.tokens_; +} + +// ------------------------------------------------------------------- + +// Node + +// .pg_query.Alias alias = 1 [json_name = "Alias"]; +inline bool Node::has_alias() const { + return node_case() == kAlias; +} +inline bool Node::_internal_has_alias() const { + return node_case() == kAlias; +} +inline void Node::set_has_alias() { + _impl_._oneof_case_[0] = kAlias; +} +inline void Node::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlias) { + if (GetArena() == nullptr) { + delete _impl_.node_.alias_; + } + clear_has_node(); + } +} +inline ::pg_query::Alias* Node::release_alias() { + // @@protoc_insertion_point(field_release:pg_query.Node.alias) + if (node_case() == kAlias) { + clear_has_node(); + auto* temp = _impl_.node_.alias_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.alias_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::Alias& Node::_internal_alias() const { + return node_case() == kAlias ? *_impl_.node_.alias_ : reinterpret_cast<::pg_query::Alias&>(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& Node::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alias) + return _internal_alias(); +} +inline ::pg_query::Alias* Node::unsafe_arena_release_alias() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alias) + if (node_case() == kAlias) { + clear_has_node(); + auto* temp = _impl_.node_.alias_; + _impl_.node_.alias_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alias(); + _impl_.node_.alias_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alias) +} +inline ::pg_query::Alias* Node::_internal_mutable_alias() { + if (node_case() != kAlias) { + clear_node(); + set_has_alias(); + _impl_.node_.alias_ = CreateMaybeMessage<::pg_query::Alias>(GetArena()); } + return _impl_.node_.alias_; +} +inline ::pg_query::Alias* Node::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alias) + return _msg; +} - inline VacuumRelation& operator=(const VacuumRelation& from) { - CopyFrom(from); - return *this; +// .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; +inline bool Node::has_range_var() const { + return node_case() == kRangeVar; +} +inline bool Node::_internal_has_range_var() const { + return node_case() == kRangeVar; +} +inline void Node::set_has_range_var() { + _impl_._oneof_case_[0] = kRangeVar; +} +inline void Node::clear_range_var() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeVar) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_var_; + } + clear_has_node(); } - inline VacuumRelation& operator=(VacuumRelation&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); +} +inline ::pg_query::RangeVar* Node::release_range_var() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_var) + if (node_case() == kRangeVar) { + clear_has_node(); + auto* temp = _impl_.node_.range_var_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - return *this; + _impl_.node_.range_var_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::RangeVar& Node::_internal_range_var() const { + return node_case() == kRangeVar ? *_impl_.node_.range_var_ : reinterpret_cast<::pg_query::RangeVar&>(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& Node::range_var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_var) + return _internal_range_var(); +} +inline ::pg_query::RangeVar* Node::unsafe_arena_release_range_var() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_var) + if (node_case() == kRangeVar) { + clear_has_node(); + auto* temp = _impl_.node_.range_var_; + _impl_.node_.range_var_ = nullptr; + return temp; + } else { + return nullptr; } +} +inline void Node::unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_range_var(); + _impl_.node_.range_var_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_var) +} +inline ::pg_query::RangeVar* Node::_internal_mutable_range_var() { + if (node_case() != kRangeVar) { + clear_node(); + set_has_range_var(); + _impl_.node_.range_var_ = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + } + return _impl_.node_.range_var_; +} +inline ::pg_query::RangeVar* Node::mutable_range_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_range_var(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_var) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; +inline bool Node::has_table_func() const { + return node_case() == kTableFunc; +} +inline bool Node::_internal_has_table_func() const { + return node_case() == kTableFunc; +} +inline void Node::set_has_table_func() { + _impl_._oneof_case_[0] = kTableFunc; +} +inline void Node::clear_table_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTableFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.table_func_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::TableFunc* Node::release_table_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_func) + if (node_case() == kTableFunc) { + clear_has_node(); + auto* temp = _impl_.node_.table_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.table_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::TableFunc& Node::_internal_table_func() const { + return node_case() == kTableFunc ? *_impl_.node_.table_func_ : reinterpret_cast<::pg_query::TableFunc&>(::pg_query::_TableFunc_default_instance_); +} +inline const ::pg_query::TableFunc& Node::table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_func) + return _internal_table_func(); +} +inline ::pg_query::TableFunc* Node::unsafe_arena_release_table_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_func) + if (node_case() == kTableFunc) { + clear_has_node(); + auto* temp = _impl_.node_.table_func_; + _impl_.node_.table_func_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_table_func(); + _impl_.node_.table_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_func) +} +inline ::pg_query::TableFunc* Node::_internal_mutable_table_func() { + if (node_case() != kTableFunc) { + clear_node(); + set_has_table_func(); + _impl_.node_.table_func_ = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); + } + return _impl_.node_.table_func_; +} +inline ::pg_query::TableFunc* Node::mutable_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableFunc* _msg = _internal_mutable_table_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_func) + return _msg; +} + +// .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"]; +inline bool Node::has_into_clause() const { + return node_case() == kIntoClause; +} +inline bool Node::_internal_has_into_clause() const { + return node_case() == kIntoClause; +} +inline void Node::set_has_into_clause() { + _impl_._oneof_case_[0] = kIntoClause; +} +inline void Node::clear_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kIntoClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.into_clause_; + } + clear_has_node(); + } +} +inline ::pg_query::IntoClause* Node::release_into_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.into_clause) + if (node_case() == kIntoClause) { + clear_has_node(); + auto* temp = _impl_.node_.into_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.into_clause_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::IntoClause& Node::_internal_into_clause() const { + return node_case() == kIntoClause ? *_impl_.node_.into_clause_ : reinterpret_cast<::pg_query::IntoClause&>(::pg_query::_IntoClause_default_instance_); +} +inline const ::pg_query::IntoClause& Node::into_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.into_clause) + return _internal_into_clause(); +} +inline ::pg_query::IntoClause* Node::unsafe_arena_release_into_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.into_clause) + if (node_case() == kIntoClause) { + clear_has_node(); + auto* temp = _impl_.node_.into_clause_; + _impl_.node_.into_clause_ = nullptr; + return temp; + } else { + return nullptr; } - static const VacuumRelation& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_into_clause(); + _impl_.node_.into_clause_ = value; } - static inline const VacuumRelation* internal_default_instance() { - return reinterpret_cast( - &_VacuumRelation_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.into_clause) +} +inline ::pg_query::IntoClause* Node::_internal_mutable_into_clause() { + if (node_case() != kIntoClause) { + clear_node(); + set_has_into_clause(); + _impl_.node_.into_clause_ = CreateMaybeMessage<::pg_query::IntoClause>(GetArena()); } - static constexpr int kIndexInFileMessages = - 236; + return _impl_.node_.into_clause_; +} +inline ::pg_query::IntoClause* Node::mutable_into_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.into_clause) + return _msg; +} - friend void swap(VacuumRelation& a, VacuumRelation& b) { - a.Swap(&b); +// .pg_query.Var var = 5 [json_name = "Var"]; +inline bool Node::has_var() const { + return node_case() == kVar; +} +inline bool Node::_internal_has_var() const { + return node_case() == kVar; +} +inline void Node::set_has_var() { + _impl_._oneof_case_[0] = kVar; +} +inline void Node::clear_var() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVar) { + if (GetArena() == nullptr) { + delete _impl_.node_.var_; + } + clear_has_node(); } - inline void Swap(VacuumRelation* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::Var* Node::release_var() { + // @@protoc_insertion_point(field_release:pg_query.Node.var) + if (node_case() == kVar) { + clear_has_node(); + auto* temp = _impl_.node_.var_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.var_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(VacuumRelation* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::Var& Node::_internal_var() const { + return node_case() == kVar ? *_impl_.node_.var_ : reinterpret_cast<::pg_query::Var&>(::pg_query::_Var_default_instance_); +} +inline const ::pg_query::Var& Node::var() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.var) + return _internal_var(); +} +inline ::pg_query::Var* Node::unsafe_arena_release_var() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.var) + if (node_case() == kVar) { + clear_has_node(); + auto* temp = _impl_.node_.var_; + _impl_.node_.var_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - VacuumRelation* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_var(::pg_query::Var* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_var(); + _impl_.node_.var_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const VacuumRelation& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const VacuumRelation& from) { - VacuumRelation::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.var) +} +inline ::pg_query::Var* Node::_internal_mutable_var() { + if (node_case() != kVar) { + clear_node(); + set_has_var(); + _impl_.node_.var_ = CreateMaybeMessage<::pg_query::Var>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(VacuumRelation* other); + return _impl_.node_.var_; +} +inline ::pg_query::Var* Node::mutable_var() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Var* _msg = _internal_mutable_var(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.var) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.VacuumRelation"; +// .pg_query.Param param = 6 [json_name = "Param"]; +inline bool Node::has_param() const { + return node_case() == kParam; +} +inline bool Node::_internal_has_param() const { + return node_case() == kParam; +} +inline void Node::set_has_param() { + _impl_._oneof_case_[0] = kParam; +} +inline void Node::clear_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kParam) { + if (GetArena() == nullptr) { + delete _impl_.node_.param_; + } + clear_has_node(); } - protected: - explicit VacuumRelation(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kVaColsFieldNumber = 3, - kRelationFieldNumber = 1, - kOidFieldNumber = 2, - }; - // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; - int va_cols_size() const; - private: - int _internal_va_cols_size() const; - public: - void clear_va_cols(); - ::pg_query::Node* mutable_va_cols(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_va_cols(); - private: - const ::pg_query::Node& _internal_va_cols(int index) const; - ::pg_query::Node* _internal_add_va_cols(); - public: - const ::pg_query::Node& va_cols(int index) const; - ::pg_query::Node* add_va_cols(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - va_cols() const; - - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - // uint32 oid = 2 [json_name = "oid"]; - void clear_oid(); - uint32_t oid() const; - void set_oid(uint32_t value); - private: - uint32_t _internal_oid() const; - void _internal_set_oid(uint32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.VacuumRelation) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > va_cols_; - ::pg_query::RangeVar* relation_; - uint32_t oid_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class PublicationObjSpec final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationObjSpec) */ { - public: - inline PublicationObjSpec() : PublicationObjSpec(nullptr) {} - ~PublicationObjSpec() override; - explicit PROTOBUF_CONSTEXPR PublicationObjSpec(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - PublicationObjSpec(const PublicationObjSpec& from); - PublicationObjSpec(PublicationObjSpec&& from) noexcept - : PublicationObjSpec() { - *this = ::std::move(from); +} +inline ::pg_query::Param* Node::release_param() { + // @@protoc_insertion_point(field_release:pg_query.Node.param) + if (node_case() == kParam) { + clear_has_node(); + auto* temp = _impl_.node_.param_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.param_ = nullptr; + return temp; + } else { + return nullptr; } - - inline PublicationObjSpec& operator=(const PublicationObjSpec& from) { - CopyFrom(from); - return *this; +} +inline const ::pg_query::Param& Node::_internal_param() const { + return node_case() == kParam ? *_impl_.node_.param_ : reinterpret_cast<::pg_query::Param&>(::pg_query::_Param_default_instance_); +} +inline const ::pg_query::Param& Node::param() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.param) + return _internal_param(); +} +inline ::pg_query::Param* Node::unsafe_arena_release_param() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param) + if (node_case() == kParam) { + clear_has_node(); + auto* temp = _impl_.node_.param_; + _impl_.node_.param_ = nullptr; + return temp; + } else { + return nullptr; } - inline PublicationObjSpec& operator=(PublicationObjSpec&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; +} +inline void Node::unsafe_arena_set_allocated_param(::pg_query::Param* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_param(); + _impl_.node_.param_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param) +} +inline ::pg_query::Param* Node::_internal_mutable_param() { + if (node_case() != kParam) { + clear_node(); + set_has_param(); + _impl_.node_.param_ = CreateMaybeMessage<::pg_query::Param>(GetArena()); } + return _impl_.node_.param_; +} +inline ::pg_query::Param* Node::mutable_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Param* _msg = _internal_mutable_param(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.param) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.Aggref aggref = 7 [json_name = "Aggref"]; +inline bool Node::has_aggref() const { + return node_case() == kAggref; +} +inline bool Node::_internal_has_aggref() const { + return node_case() == kAggref; +} +inline void Node::set_has_aggref() { + _impl_._oneof_case_[0] = kAggref; +} +inline void Node::clear_aggref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAggref) { + if (GetArena() == nullptr) { + delete _impl_.node_.aggref_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::Aggref* Node::release_aggref() { + // @@protoc_insertion_point(field_release:pg_query.Node.aggref) + if (node_case() == kAggref) { + clear_has_node(); + auto* temp = _impl_.node_.aggref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.aggref_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::Aggref& Node::_internal_aggref() const { + return node_case() == kAggref ? *_impl_.node_.aggref_ : reinterpret_cast<::pg_query::Aggref&>(::pg_query::_Aggref_default_instance_); +} +inline const ::pg_query::Aggref& Node::aggref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.aggref) + return _internal_aggref(); +} +inline ::pg_query::Aggref* Node::unsafe_arena_release_aggref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.aggref) + if (node_case() == kAggref) { + clear_has_node(); + auto* temp = _impl_.node_.aggref_; + _impl_.node_.aggref_ = nullptr; + return temp; + } else { + return nullptr; } - static const PublicationObjSpec& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_aggref(::pg_query::Aggref* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_aggref(); + _impl_.node_.aggref_ = value; } - static inline const PublicationObjSpec* internal_default_instance() { - return reinterpret_cast( - &_PublicationObjSpec_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.aggref) +} +inline ::pg_query::Aggref* Node::_internal_mutable_aggref() { + if (node_case() != kAggref) { + clear_node(); + set_has_aggref(); + _impl_.node_.aggref_ = CreateMaybeMessage<::pg_query::Aggref>(GetArena()); } - static constexpr int kIndexInFileMessages = - 237; + return _impl_.node_.aggref_; +} +inline ::pg_query::Aggref* Node::mutable_aggref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Aggref* _msg = _internal_mutable_aggref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.aggref) + return _msg; +} - friend void swap(PublicationObjSpec& a, PublicationObjSpec& b) { - a.Swap(&b); +// .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"]; +inline bool Node::has_grouping_func() const { + return node_case() == kGroupingFunc; +} +inline bool Node::_internal_has_grouping_func() const { + return node_case() == kGroupingFunc; +} +inline void Node::set_has_grouping_func() { + _impl_._oneof_case_[0] = kGroupingFunc; +} +inline void Node::clear_grouping_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kGroupingFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.grouping_func_; + } + clear_has_node(); } - inline void Swap(PublicationObjSpec* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::GroupingFunc* Node::release_grouping_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.grouping_func) + if (node_case() == kGroupingFunc) { + clear_has_node(); + auto* temp = _impl_.node_.grouping_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.grouping_func_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(PublicationObjSpec* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::GroupingFunc& Node::_internal_grouping_func() const { + return node_case() == kGroupingFunc ? *_impl_.node_.grouping_func_ : reinterpret_cast<::pg_query::GroupingFunc&>(::pg_query::_GroupingFunc_default_instance_); +} +inline const ::pg_query::GroupingFunc& Node::grouping_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grouping_func) + return _internal_grouping_func(); +} +inline ::pg_query::GroupingFunc* Node::unsafe_arena_release_grouping_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_func) + if (node_case() == kGroupingFunc) { + clear_has_node(); + auto* temp = _impl_.node_.grouping_func_; + _impl_.node_.grouping_func_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - PublicationObjSpec* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_grouping_func(); + _impl_.node_.grouping_func_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PublicationObjSpec& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PublicationObjSpec& from) { - PublicationObjSpec::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_func) +} +inline ::pg_query::GroupingFunc* Node::_internal_mutable_grouping_func() { + if (node_case() != kGroupingFunc) { + clear_node(); + set_has_grouping_func(); + _impl_.node_.grouping_func_ = CreateMaybeMessage<::pg_query::GroupingFunc>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PublicationObjSpec* other); + return _impl_.node_.grouping_func_; +} +inline ::pg_query::GroupingFunc* Node::mutable_grouping_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GroupingFunc* _msg = _internal_mutable_grouping_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_func) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PublicationObjSpec"; +// .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"]; +inline bool Node::has_window_func() const { + return node_case() == kWindowFunc; +} +inline bool Node::_internal_has_window_func() const { + return node_case() == kWindowFunc; +} +inline void Node::set_has_window_func() { + _impl_._oneof_case_[0] = kWindowFunc; +} +inline void Node::clear_window_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_func_; + } + clear_has_node(); } - protected: - explicit PublicationObjSpec(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kNameFieldNumber = 2, - kPubtableFieldNumber = 3, - kPubobjtypeFieldNumber = 1, - kLocationFieldNumber = 4, - }; - // string name = 2 [json_name = "name"]; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; - bool has_pubtable() const; - private: - bool _internal_has_pubtable() const; - public: - void clear_pubtable(); - const ::pg_query::PublicationTable& pubtable() const; - PROTOBUF_NODISCARD ::pg_query::PublicationTable* release_pubtable(); - ::pg_query::PublicationTable* mutable_pubtable(); - void set_allocated_pubtable(::pg_query::PublicationTable* pubtable); - private: - const ::pg_query::PublicationTable& _internal_pubtable() const; - ::pg_query::PublicationTable* _internal_mutable_pubtable(); - public: - void unsafe_arena_set_allocated_pubtable( - ::pg_query::PublicationTable* pubtable); - ::pg_query::PublicationTable* unsafe_arena_release_pubtable(); - - // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; - void clear_pubobjtype(); - ::pg_query::PublicationObjSpecType pubobjtype() const; - void set_pubobjtype(::pg_query::PublicationObjSpecType value); - private: - ::pg_query::PublicationObjSpecType _internal_pubobjtype() const; - void _internal_set_pubobjtype(::pg_query::PublicationObjSpecType value); - public: - - // int32 location = 4 [json_name = "location"]; - void clear_location(); - int32_t location() const; - void set_location(int32_t value); - private: - int32_t _internal_location() const; - void _internal_set_location(int32_t value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.PublicationObjSpec) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::pg_query::PublicationTable* pubtable_; - int pubobjtype_; - int32_t location_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class PublicationTable final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.PublicationTable) */ { - public: - inline PublicationTable() : PublicationTable(nullptr) {} - ~PublicationTable() override; - explicit PROTOBUF_CONSTEXPR PublicationTable(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - PublicationTable(const PublicationTable& from); - PublicationTable(PublicationTable&& from) noexcept - : PublicationTable() { - *this = ::std::move(from); +} +inline ::pg_query::WindowFunc* Node::release_window_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_func) + if (node_case() == kWindowFunc) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.window_func_ = nullptr; + return temp; + } else { + return nullptr; } - - inline PublicationTable& operator=(const PublicationTable& from) { - CopyFrom(from); - return *this; +} +inline const ::pg_query::WindowFunc& Node::_internal_window_func() const { + return node_case() == kWindowFunc ? *_impl_.node_.window_func_ : reinterpret_cast<::pg_query::WindowFunc&>(::pg_query::_WindowFunc_default_instance_); +} +inline const ::pg_query::WindowFunc& Node::window_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_func) + return _internal_window_func(); +} +inline ::pg_query::WindowFunc* Node::unsafe_arena_release_window_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func) + if (node_case() == kWindowFunc) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_; + _impl_.node_.window_func_ = nullptr; + return temp; + } else { + return nullptr; } - inline PublicationTable& operator=(PublicationTable&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; +} +inline void Node::unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_window_func(); + _impl_.node_.window_func_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func) +} +inline ::pg_query::WindowFunc* Node::_internal_mutable_window_func() { + if (node_case() != kWindowFunc) { + clear_node(); + set_has_window_func(); + _impl_.node_.window_func_ = CreateMaybeMessage<::pg_query::WindowFunc>(GetArena()); } + return _impl_.node_.window_func_; +} +inline ::pg_query::WindowFunc* Node::mutable_window_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowFunc* _msg = _internal_mutable_window_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"]; +inline bool Node::has_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition; +} +inline bool Node::_internal_has_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition; +} +inline void Node::set_has_window_func_run_condition() { + _impl_._oneof_case_[0] = kWindowFuncRunCondition; +} +inline void Node::clear_window_func_run_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowFuncRunCondition) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_func_run_condition_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::WindowFuncRunCondition* Node::release_window_func_run_condition() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_func_run_condition) + if (node_case() == kWindowFuncRunCondition) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_run_condition_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.window_func_run_condition_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::WindowFuncRunCondition& Node::_internal_window_func_run_condition() const { + return node_case() == kWindowFuncRunCondition ? *_impl_.node_.window_func_run_condition_ : reinterpret_cast<::pg_query::WindowFuncRunCondition&>(::pg_query::_WindowFuncRunCondition_default_instance_); +} +inline const ::pg_query::WindowFuncRunCondition& Node::window_func_run_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_func_run_condition) + return _internal_window_func_run_condition(); +} +inline ::pg_query::WindowFuncRunCondition* Node::unsafe_arena_release_window_func_run_condition() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func_run_condition) + if (node_case() == kWindowFuncRunCondition) { + clear_has_node(); + auto* temp = _impl_.node_.window_func_run_condition_; + _impl_.node_.window_func_run_condition_ = nullptr; + return temp; + } else { + return nullptr; } - static const PublicationTable& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_window_func_run_condition(); + _impl_.node_.window_func_run_condition_ = value; } - static inline const PublicationTable* internal_default_instance() { - return reinterpret_cast( - &_PublicationTable_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func_run_condition) +} +inline ::pg_query::WindowFuncRunCondition* Node::_internal_mutable_window_func_run_condition() { + if (node_case() != kWindowFuncRunCondition) { + clear_node(); + set_has_window_func_run_condition(); + _impl_.node_.window_func_run_condition_ = CreateMaybeMessage<::pg_query::WindowFuncRunCondition>(GetArena()); } - static constexpr int kIndexInFileMessages = - 238; + return _impl_.node_.window_func_run_condition_; +} +inline ::pg_query::WindowFuncRunCondition* Node::mutable_window_func_run_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowFuncRunCondition* _msg = _internal_mutable_window_func_run_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func_run_condition) + return _msg; +} - friend void swap(PublicationTable& a, PublicationTable& b) { - a.Swap(&b); +// .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"]; +inline bool Node::has_merge_support_func() const { + return node_case() == kMergeSupportFunc; +} +inline bool Node::_internal_has_merge_support_func() const { + return node_case() == kMergeSupportFunc; +} +inline void Node::set_has_merge_support_func() { + _impl_._oneof_case_[0] = kMergeSupportFunc; +} +inline void Node::clear_merge_support_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeSupportFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_support_func_; + } + clear_has_node(); } - inline void Swap(PublicationTable* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::MergeSupportFunc* Node::release_merge_support_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_support_func) + if (node_case() == kMergeSupportFunc) { + clear_has_node(); + auto* temp = _impl_.node_.merge_support_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.merge_support_func_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(PublicationTable* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::MergeSupportFunc& Node::_internal_merge_support_func() const { + return node_case() == kMergeSupportFunc ? *_impl_.node_.merge_support_func_ : reinterpret_cast<::pg_query::MergeSupportFunc&>(::pg_query::_MergeSupportFunc_default_instance_); +} +inline const ::pg_query::MergeSupportFunc& Node::merge_support_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_support_func) + return _internal_merge_support_func(); +} +inline ::pg_query::MergeSupportFunc* Node::unsafe_arena_release_merge_support_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_support_func) + if (node_case() == kMergeSupportFunc) { + clear_has_node(); + auto* temp = _impl_.node_.merge_support_func_; + _impl_.node_.merge_support_func_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - PublicationTable* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_merge_support_func(::pg_query::MergeSupportFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_merge_support_func(); + _impl_.node_.merge_support_func_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const PublicationTable& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const PublicationTable& from) { - PublicationTable::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_support_func) +} +inline ::pg_query::MergeSupportFunc* Node::_internal_mutable_merge_support_func() { + if (node_case() != kMergeSupportFunc) { + clear_node(); + set_has_merge_support_func(); + _impl_.node_.merge_support_func_ = CreateMaybeMessage<::pg_query::MergeSupportFunc>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(PublicationTable* other); + return _impl_.node_.merge_support_func_; +} +inline ::pg_query::MergeSupportFunc* Node::mutable_merge_support_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeSupportFunc* _msg = _internal_mutable_merge_support_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_support_func) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.PublicationTable"; +// .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"]; +inline bool Node::has_subscripting_ref() const { + return node_case() == kSubscriptingRef; +} +inline bool Node::_internal_has_subscripting_ref() const { + return node_case() == kSubscriptingRef; +} +inline void Node::set_has_subscripting_ref() { + _impl_._oneof_case_[0] = kSubscriptingRef; +} +inline void Node::clear_subscripting_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubscriptingRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.subscripting_ref_; + } + clear_has_node(); } - protected: - explicit PublicationTable(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kColumnsFieldNumber = 3, - kRelationFieldNumber = 1, - kWhereClauseFieldNumber = 2, - }; - // repeated .pg_query.Node columns = 3 [json_name = "columns"]; - int columns_size() const; - private: - int _internal_columns_size() const; - public: - void clear_columns(); - ::pg_query::Node* mutable_columns(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* - mutable_columns(); - private: - const ::pg_query::Node& _internal_columns(int index) const; - ::pg_query::Node* _internal_add_columns(); - public: - const ::pg_query::Node& columns(int index) const; - ::pg_query::Node* add_columns(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& - columns() const; - - // .pg_query.RangeVar relation = 1 [json_name = "relation"]; - bool has_relation() const; - private: - bool _internal_has_relation() const; - public: - void clear_relation(); - const ::pg_query::RangeVar& relation() const; - PROTOBUF_NODISCARD ::pg_query::RangeVar* release_relation(); - ::pg_query::RangeVar* mutable_relation(); - void set_allocated_relation(::pg_query::RangeVar* relation); - private: - const ::pg_query::RangeVar& _internal_relation() const; - ::pg_query::RangeVar* _internal_mutable_relation(); - public: - void unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation); - ::pg_query::RangeVar* unsafe_arena_release_relation(); - - // .pg_query.Node where_clause = 2 [json_name = "whereClause"]; - bool has_where_clause() const; - private: - bool _internal_has_where_clause() const; - public: - void clear_where_clause(); - const ::pg_query::Node& where_clause() const; - PROTOBUF_NODISCARD ::pg_query::Node* release_where_clause(); - ::pg_query::Node* mutable_where_clause(); - void set_allocated_where_clause(::pg_query::Node* where_clause); - private: - const ::pg_query::Node& _internal_where_clause() const; - ::pg_query::Node* _internal_mutable_where_clause(); - public: - void unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause); - ::pg_query::Node* unsafe_arena_release_where_clause(); - - // @@protoc_insertion_point(class_scope:pg_query.PublicationTable) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node > columns_; - ::pg_query::RangeVar* relation_; - ::pg_query::Node* where_clause_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class InlineCodeBlock final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.InlineCodeBlock) */ { - public: - inline InlineCodeBlock() : InlineCodeBlock(nullptr) {} - ~InlineCodeBlock() override; - explicit PROTOBUF_CONSTEXPR InlineCodeBlock(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - InlineCodeBlock(const InlineCodeBlock& from); - InlineCodeBlock(InlineCodeBlock&& from) noexcept - : InlineCodeBlock() { - *this = ::std::move(from); +} +inline ::pg_query::SubscriptingRef* Node::release_subscripting_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.subscripting_ref) + if (node_case() == kSubscriptingRef) { + clear_has_node(); + auto* temp = _impl_.node_.subscripting_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.subscripting_ref_ = nullptr; + return temp; + } else { + return nullptr; } - - inline InlineCodeBlock& operator=(const InlineCodeBlock& from) { - CopyFrom(from); - return *this; +} +inline const ::pg_query::SubscriptingRef& Node::_internal_subscripting_ref() const { + return node_case() == kSubscriptingRef ? *_impl_.node_.subscripting_ref_ : reinterpret_cast<::pg_query::SubscriptingRef&>(::pg_query::_SubscriptingRef_default_instance_); +} +inline const ::pg_query::SubscriptingRef& Node::subscripting_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.subscripting_ref) + return _internal_subscripting_ref(); +} +inline ::pg_query::SubscriptingRef* Node::unsafe_arena_release_subscripting_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.subscripting_ref) + if (node_case() == kSubscriptingRef) { + clear_has_node(); + auto* temp = _impl_.node_.subscripting_ref_; + _impl_.node_.subscripting_ref_ = nullptr; + return temp; + } else { + return nullptr; } - inline InlineCodeBlock& operator=(InlineCodeBlock&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; +} +inline void Node::unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_subscripting_ref(); + _impl_.node_.subscripting_ref_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.subscripting_ref) +} +inline ::pg_query::SubscriptingRef* Node::_internal_mutable_subscripting_ref() { + if (node_case() != kSubscriptingRef) { + clear_node(); + set_has_subscripting_ref(); + _impl_.node_.subscripting_ref_ = CreateMaybeMessage<::pg_query::SubscriptingRef>(GetArena()); } + return _impl_.node_.subscripting_ref_; +} +inline ::pg_query::SubscriptingRef* Node::mutable_subscripting_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubscriptingRef* _msg = _internal_mutable_subscripting_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.subscripting_ref) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"]; +inline bool Node::has_func_expr() const { + return node_case() == kFuncExpr; +} +inline bool Node::_internal_has_func_expr() const { + return node_case() == kFuncExpr; +} +inline void Node::set_has_func_expr() { + _impl_._oneof_case_[0] = kFuncExpr; +} +inline void Node::clear_func_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFuncExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.func_expr_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::FuncExpr* Node::release_func_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.func_expr) + if (node_case() == kFuncExpr) { + clear_has_node(); + auto* temp = _impl_.node_.func_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.func_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::FuncExpr& Node::_internal_func_expr() const { + return node_case() == kFuncExpr ? *_impl_.node_.func_expr_ : reinterpret_cast<::pg_query::FuncExpr&>(::pg_query::_FuncExpr_default_instance_); +} +inline const ::pg_query::FuncExpr& Node::func_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.func_expr) + return _internal_func_expr(); +} +inline ::pg_query::FuncExpr* Node::unsafe_arena_release_func_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_expr) + if (node_case() == kFuncExpr) { + clear_has_node(); + auto* temp = _impl_.node_.func_expr_; + _impl_.node_.func_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const InlineCodeBlock& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_func_expr(); + _impl_.node_.func_expr_ = value; } - static inline const InlineCodeBlock* internal_default_instance() { - return reinterpret_cast( - &_InlineCodeBlock_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_expr) +} +inline ::pg_query::FuncExpr* Node::_internal_mutable_func_expr() { + if (node_case() != kFuncExpr) { + clear_node(); + set_has_func_expr(); + _impl_.node_.func_expr_ = CreateMaybeMessage<::pg_query::FuncExpr>(GetArena()); } - static constexpr int kIndexInFileMessages = - 239; + return _impl_.node_.func_expr_; +} +inline ::pg_query::FuncExpr* Node::mutable_func_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncExpr* _msg = _internal_mutable_func_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.func_expr) + return _msg; +} - friend void swap(InlineCodeBlock& a, InlineCodeBlock& b) { - a.Swap(&b); +// .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"]; +inline bool Node::has_named_arg_expr() const { + return node_case() == kNamedArgExpr; +} +inline bool Node::_internal_has_named_arg_expr() const { + return node_case() == kNamedArgExpr; +} +inline void Node::set_has_named_arg_expr() { + _impl_._oneof_case_[0] = kNamedArgExpr; +} +inline void Node::clear_named_arg_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNamedArgExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.named_arg_expr_; + } + clear_has_node(); } - inline void Swap(InlineCodeBlock* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::NamedArgExpr* Node::release_named_arg_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.named_arg_expr) + if (node_case() == kNamedArgExpr) { + clear_has_node(); + auto* temp = _impl_.node_.named_arg_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.named_arg_expr_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(InlineCodeBlock* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::NamedArgExpr& Node::_internal_named_arg_expr() const { + return node_case() == kNamedArgExpr ? *_impl_.node_.named_arg_expr_ : reinterpret_cast<::pg_query::NamedArgExpr&>(::pg_query::_NamedArgExpr_default_instance_); +} +inline const ::pg_query::NamedArgExpr& Node::named_arg_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.named_arg_expr) + return _internal_named_arg_expr(); +} +inline ::pg_query::NamedArgExpr* Node::unsafe_arena_release_named_arg_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.named_arg_expr) + if (node_case() == kNamedArgExpr) { + clear_has_node(); + auto* temp = _impl_.node_.named_arg_expr_; + _impl_.node_.named_arg_expr_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - InlineCodeBlock* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_named_arg_expr(); + _impl_.node_.named_arg_expr_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const InlineCodeBlock& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const InlineCodeBlock& from) { - InlineCodeBlock::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.named_arg_expr) +} +inline ::pg_query::NamedArgExpr* Node::_internal_mutable_named_arg_expr() { + if (node_case() != kNamedArgExpr) { + clear_node(); + set_has_named_arg_expr(); + _impl_.node_.named_arg_expr_ = CreateMaybeMessage<::pg_query::NamedArgExpr>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(InlineCodeBlock* other); + return _impl_.node_.named_arg_expr_; +} +inline ::pg_query::NamedArgExpr* Node::mutable_named_arg_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NamedArgExpr* _msg = _internal_mutable_named_arg_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.named_arg_expr) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.InlineCodeBlock"; +// .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"]; +inline bool Node::has_op_expr() const { + return node_case() == kOpExpr; +} +inline bool Node::_internal_has_op_expr() const { + return node_case() == kOpExpr; +} +inline void Node::set_has_op_expr() { + _impl_._oneof_case_[0] = kOpExpr; +} +inline void Node::clear_op_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOpExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.op_expr_; + } + clear_has_node(); } - protected: - explicit InlineCodeBlock(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kSourceTextFieldNumber = 1, - kLangOidFieldNumber = 2, - kLangIsTrustedFieldNumber = 3, - kAtomicFieldNumber = 4, - }; - // string source_text = 1 [json_name = "source_text"]; - void clear_source_text(); - const std::string& source_text() const; - template - void set_source_text(ArgT0&& arg0, ArgT... args); - std::string* mutable_source_text(); - PROTOBUF_NODISCARD std::string* release_source_text(); - void set_allocated_source_text(std::string* source_text); - private: - const std::string& _internal_source_text() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_source_text(const std::string& value); - std::string* _internal_mutable_source_text(); - public: - - // uint32 lang_oid = 2 [json_name = "langOid"]; - void clear_lang_oid(); - uint32_t lang_oid() const; - void set_lang_oid(uint32_t value); - private: - uint32_t _internal_lang_oid() const; - void _internal_set_lang_oid(uint32_t value); - public: - - // bool lang_is_trusted = 3 [json_name = "langIsTrusted"]; - void clear_lang_is_trusted(); - bool lang_is_trusted() const; - void set_lang_is_trusted(bool value); - private: - bool _internal_lang_is_trusted() const; - void _internal_set_lang_is_trusted(bool value); - public: - - // bool atomic = 4 [json_name = "atomic"]; - void clear_atomic(); - bool atomic() const; - void set_atomic(bool value); - private: - bool _internal_atomic() const; - void _internal_set_atomic(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.InlineCodeBlock) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr source_text_; - uint32_t lang_oid_; - bool lang_is_trusted_; - bool atomic_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class CallContext final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.CallContext) */ { - public: - inline CallContext() : CallContext(nullptr) {} - ~CallContext() override; - explicit PROTOBUF_CONSTEXPR CallContext(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - CallContext(const CallContext& from); - CallContext(CallContext&& from) noexcept - : CallContext() { - *this = ::std::move(from); +} +inline ::pg_query::OpExpr* Node::release_op_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.op_expr) + if (node_case() == kOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.op_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::OpExpr& Node::_internal_op_expr() const { + return node_case() == kOpExpr ? *_impl_.node_.op_expr_ : reinterpret_cast<::pg_query::OpExpr&>(::pg_query::_OpExpr_default_instance_); +} +inline const ::pg_query::OpExpr& Node::op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.op_expr) + return _internal_op_expr(); +} +inline ::pg_query::OpExpr* Node::unsafe_arena_release_op_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.op_expr) + if (node_case() == kOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.op_expr_; + _impl_.node_.op_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_op_expr(); + _impl_.node_.op_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.op_expr) +} +inline ::pg_query::OpExpr* Node::_internal_mutable_op_expr() { + if (node_case() != kOpExpr) { + clear_node(); + set_has_op_expr(); + _impl_.node_.op_expr_ = CreateMaybeMessage<::pg_query::OpExpr>(GetArena()); } + return _impl_.node_.op_expr_; +} +inline ::pg_query::OpExpr* Node::mutable_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OpExpr* _msg = _internal_mutable_op_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.op_expr) + return _msg; +} - inline CallContext& operator=(const CallContext& from) { - CopyFrom(from); - return *this; +// .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"]; +inline bool Node::has_distinct_expr() const { + return node_case() == kDistinctExpr; +} +inline bool Node::_internal_has_distinct_expr() const { + return node_case() == kDistinctExpr; +} +inline void Node::set_has_distinct_expr() { + _impl_._oneof_case_[0] = kDistinctExpr; +} +inline void Node::clear_distinct_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDistinctExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.distinct_expr_; + } + clear_has_node(); } - inline CallContext& operator=(CallContext&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); +} +inline ::pg_query::DistinctExpr* Node::release_distinct_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.distinct_expr) + if (node_case() == kDistinctExpr) { + clear_has_node(); + auto* temp = _impl_.node_.distinct_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - return *this; + _impl_.node_.distinct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::DistinctExpr& Node::_internal_distinct_expr() const { + return node_case() == kDistinctExpr ? *_impl_.node_.distinct_expr_ : reinterpret_cast<::pg_query::DistinctExpr&>(::pg_query::_DistinctExpr_default_instance_); +} +inline const ::pg_query::DistinctExpr& Node::distinct_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.distinct_expr) + return _internal_distinct_expr(); +} +inline ::pg_query::DistinctExpr* Node::unsafe_arena_release_distinct_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.distinct_expr) + if (node_case() == kDistinctExpr) { + clear_has_node(); + auto* temp = _impl_.node_.distinct_expr_; + _impl_.node_.distinct_expr_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_distinct_expr(); + _impl_.node_.distinct_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.distinct_expr) +} +inline ::pg_query::DistinctExpr* Node::_internal_mutable_distinct_expr() { + if (node_case() != kDistinctExpr) { + clear_node(); + set_has_distinct_expr(); + _impl_.node_.distinct_expr_ = CreateMaybeMessage<::pg_query::DistinctExpr>(GetArena()); } + return _impl_.node_.distinct_expr_; +} +inline ::pg_query::DistinctExpr* Node::mutable_distinct_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DistinctExpr* _msg = _internal_mutable_distinct_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.distinct_expr) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"]; +inline bool Node::has_null_if_expr() const { + return node_case() == kNullIfExpr; +} +inline bool Node::_internal_has_null_if_expr() const { + return node_case() == kNullIfExpr; +} +inline void Node::set_has_null_if_expr() { + _impl_._oneof_case_[0] = kNullIfExpr; +} +inline void Node::clear_null_if_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNullIfExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.null_if_expr_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::NullIfExpr* Node::release_null_if_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.null_if_expr) + if (node_case() == kNullIfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.null_if_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.null_if_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::NullIfExpr& Node::_internal_null_if_expr() const { + return node_case() == kNullIfExpr ? *_impl_.node_.null_if_expr_ : reinterpret_cast<::pg_query::NullIfExpr&>(::pg_query::_NullIfExpr_default_instance_); +} +inline const ::pg_query::NullIfExpr& Node::null_if_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.null_if_expr) + return _internal_null_if_expr(); +} +inline ::pg_query::NullIfExpr* Node::unsafe_arena_release_null_if_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_if_expr) + if (node_case() == kNullIfExpr) { + clear_has_node(); + auto* temp = _impl_.node_.null_if_expr_; + _impl_.node_.null_if_expr_ = nullptr; + return temp; + } else { + return nullptr; } - static const CallContext& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_null_if_expr(); + _impl_.node_.null_if_expr_ = value; } - static inline const CallContext* internal_default_instance() { - return reinterpret_cast( - &_CallContext_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_if_expr) +} +inline ::pg_query::NullIfExpr* Node::_internal_mutable_null_if_expr() { + if (node_case() != kNullIfExpr) { + clear_node(); + set_has_null_if_expr(); + _impl_.node_.null_if_expr_ = CreateMaybeMessage<::pg_query::NullIfExpr>(GetArena()); } - static constexpr int kIndexInFileMessages = - 240; + return _impl_.node_.null_if_expr_; +} +inline ::pg_query::NullIfExpr* Node::mutable_null_if_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NullIfExpr* _msg = _internal_mutable_null_if_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.null_if_expr) + return _msg; +} - friend void swap(CallContext& a, CallContext& b) { - a.Swap(&b); +// .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"]; +inline bool Node::has_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr; +} +inline bool Node::_internal_has_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr; +} +inline void Node::set_has_scalar_array_op_expr() { + _impl_._oneof_case_[0] = kScalarArrayOpExpr; +} +inline void Node::clear_scalar_array_op_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kScalarArrayOpExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.scalar_array_op_expr_; + } + clear_has_node(); } - inline void Swap(CallContext* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::ScalarArrayOpExpr* Node::release_scalar_array_op_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.scalar_array_op_expr) + if (node_case() == kScalarArrayOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.scalar_array_op_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.scalar_array_op_expr_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(CallContext* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::ScalarArrayOpExpr& Node::_internal_scalar_array_op_expr() const { + return node_case() == kScalarArrayOpExpr ? *_impl_.node_.scalar_array_op_expr_ : reinterpret_cast<::pg_query::ScalarArrayOpExpr&>(::pg_query::_ScalarArrayOpExpr_default_instance_); +} +inline const ::pg_query::ScalarArrayOpExpr& Node::scalar_array_op_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.scalar_array_op_expr) + return _internal_scalar_array_op_expr(); +} +inline ::pg_query::ScalarArrayOpExpr* Node::unsafe_arena_release_scalar_array_op_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.scalar_array_op_expr) + if (node_case() == kScalarArrayOpExpr) { + clear_has_node(); + auto* temp = _impl_.node_.scalar_array_op_expr_; + _impl_.node_.scalar_array_op_expr_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - CallContext* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_scalar_array_op_expr(); + _impl_.node_.scalar_array_op_expr_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const CallContext& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const CallContext& from) { - CallContext::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.scalar_array_op_expr) +} +inline ::pg_query::ScalarArrayOpExpr* Node::_internal_mutable_scalar_array_op_expr() { + if (node_case() != kScalarArrayOpExpr) { + clear_node(); + set_has_scalar_array_op_expr(); + _impl_.node_.scalar_array_op_expr_ = CreateMaybeMessage<::pg_query::ScalarArrayOpExpr>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(CallContext* other); + return _impl_.node_.scalar_array_op_expr_; +} +inline ::pg_query::ScalarArrayOpExpr* Node::mutable_scalar_array_op_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ScalarArrayOpExpr* _msg = _internal_mutable_scalar_array_op_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.scalar_array_op_expr) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.CallContext"; +// .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"]; +inline bool Node::has_bool_expr() const { + return node_case() == kBoolExpr; +} +inline bool Node::_internal_has_bool_expr() const { + return node_case() == kBoolExpr; +} +inline void Node::set_has_bool_expr() { + _impl_._oneof_case_[0] = kBoolExpr; +} +inline void Node::clear_bool_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBoolExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.bool_expr_; + } + clear_has_node(); } - protected: - explicit CallContext(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kAtomicFieldNumber = 1, - }; - // bool atomic = 1 [json_name = "atomic"]; - void clear_atomic(); - bool atomic() const; - void set_atomic(bool value); - private: - bool _internal_atomic() const; - void _internal_set_atomic(bool value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.CallContext) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - bool atomic_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// ------------------------------------------------------------------- - -class ScanToken final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:pg_query.ScanToken) */ { - public: - inline ScanToken() : ScanToken(nullptr) {} - ~ScanToken() override; - explicit PROTOBUF_CONSTEXPR ScanToken(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ScanToken(const ScanToken& from); - ScanToken(ScanToken&& from) noexcept - : ScanToken() { - *this = ::std::move(from); +} +inline ::pg_query::BoolExpr* Node::release_bool_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.bool_expr) + if (node_case() == kBoolExpr) { + clear_has_node(); + auto* temp = _impl_.node_.bool_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.bool_expr_ = nullptr; + return temp; + } else { + return nullptr; } - - inline ScanToken& operator=(const ScanToken& from) { - CopyFrom(from); - return *this; +} +inline const ::pg_query::BoolExpr& Node::_internal_bool_expr() const { + return node_case() == kBoolExpr ? *_impl_.node_.bool_expr_ : reinterpret_cast<::pg_query::BoolExpr&>(::pg_query::_BoolExpr_default_instance_); +} +inline const ::pg_query::BoolExpr& Node::bool_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.bool_expr) + return _internal_bool_expr(); +} +inline ::pg_query::BoolExpr* Node::unsafe_arena_release_bool_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bool_expr) + if (node_case() == kBoolExpr) { + clear_has_node(); + auto* temp = _impl_.node_.bool_expr_; + _impl_.node_.bool_expr_ = nullptr; + return temp; + } else { + return nullptr; } - inline ScanToken& operator=(ScanToken&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena() - #ifdef PROTOBUF_FORCE_COPY_IN_MOVE - && GetOwningArena() != nullptr - #endif // !PROTOBUF_FORCE_COPY_IN_MOVE - ) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; +} +inline void Node::unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_bool_expr(); + _impl_.node_.bool_expr_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bool_expr) +} +inline ::pg_query::BoolExpr* Node::_internal_mutable_bool_expr() { + if (node_case() != kBoolExpr) { + clear_node(); + set_has_bool_expr(); + _impl_.node_.bool_expr_ = CreateMaybeMessage<::pg_query::BoolExpr>(GetArena()); } + return _impl_.node_.bool_expr_; +} +inline ::pg_query::BoolExpr* Node::mutable_bool_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BoolExpr* _msg = _internal_mutable_bool_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.bool_expr) + return _msg; +} - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); +// .pg_query.SubLink sub_link = 20 [json_name = "SubLink"]; +inline bool Node::has_sub_link() const { + return node_case() == kSubLink; +} +inline bool Node::_internal_has_sub_link() const { + return node_case() == kSubLink; +} +inline void Node::set_has_sub_link() { + _impl_._oneof_case_[0] = kSubLink; +} +inline void Node::clear_sub_link() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubLink) { + if (GetArena() == nullptr) { + delete _impl_.node_.sub_link_; + } + clear_has_node(); } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; +} +inline ::pg_query::SubLink* Node::release_sub_link() { + // @@protoc_insertion_point(field_release:pg_query.Node.sub_link) + if (node_case() == kSubLink) { + clear_has_node(); + auto* temp = _impl_.node_.sub_link_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.sub_link_ = nullptr; + return temp; + } else { + return nullptr; } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; +} +inline const ::pg_query::SubLink& Node::_internal_sub_link() const { + return node_case() == kSubLink ? *_impl_.node_.sub_link_ : reinterpret_cast<::pg_query::SubLink&>(::pg_query::_SubLink_default_instance_); +} +inline const ::pg_query::SubLink& Node::sub_link() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sub_link) + return _internal_sub_link(); +} +inline ::pg_query::SubLink* Node::unsafe_arena_release_sub_link() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_link) + if (node_case() == kSubLink) { + clear_has_node(); + auto* temp = _impl_.node_.sub_link_; + _impl_.node_.sub_link_ = nullptr; + return temp; + } else { + return nullptr; } - static const ScanToken& default_instance() { - return *internal_default_instance(); +} +inline void Node::unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sub_link(); + _impl_.node_.sub_link_ = value; } - static inline const ScanToken* internal_default_instance() { - return reinterpret_cast( - &_ScanToken_default_instance_); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_link) +} +inline ::pg_query::SubLink* Node::_internal_mutable_sub_link() { + if (node_case() != kSubLink) { + clear_node(); + set_has_sub_link(); + _impl_.node_.sub_link_ = CreateMaybeMessage<::pg_query::SubLink>(GetArena()); } - static constexpr int kIndexInFileMessages = - 241; + return _impl_.node_.sub_link_; +} +inline ::pg_query::SubLink* Node::mutable_sub_link() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubLink* _msg = _internal_mutable_sub_link(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_link) + return _msg; +} - friend void swap(ScanToken& a, ScanToken& b) { - a.Swap(&b); +// .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"]; +inline bool Node::has_sub_plan() const { + return node_case() == kSubPlan; +} +inline bool Node::_internal_has_sub_plan() const { + return node_case() == kSubPlan; +} +inline void Node::set_has_sub_plan() { + _impl_._oneof_case_[0] = kSubPlan; +} +inline void Node::clear_sub_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSubPlan) { + if (GetArena() == nullptr) { + delete _impl_.node_.sub_plan_; + } + clear_has_node(); } - inline void Swap(ScanToken* other) { - if (other == this) return; - #ifdef PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() != nullptr && - GetOwningArena() == other->GetOwningArena()) { - #else // PROTOBUF_FORCE_COPY_IN_SWAP - if (GetOwningArena() == other->GetOwningArena()) { - #endif // !PROTOBUF_FORCE_COPY_IN_SWAP - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); +} +inline ::pg_query::SubPlan* Node::release_sub_plan() { + // @@protoc_insertion_point(field_release:pg_query.Node.sub_plan) + if (node_case() == kSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.sub_plan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } + _impl_.node_.sub_plan_ = nullptr; + return temp; + } else { + return nullptr; } - void UnsafeArenaSwap(ScanToken* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); +} +inline const ::pg_query::SubPlan& Node::_internal_sub_plan() const { + return node_case() == kSubPlan ? *_impl_.node_.sub_plan_ : reinterpret_cast<::pg_query::SubPlan&>(::pg_query::_SubPlan_default_instance_); +} +inline const ::pg_query::SubPlan& Node::sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sub_plan) + return _internal_sub_plan(); +} +inline ::pg_query::SubPlan* Node::unsafe_arena_release_sub_plan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_plan) + if (node_case() == kSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.sub_plan_; + _impl_.node_.sub_plan_ = nullptr; + return temp; + } else { + return nullptr; } - - // implements Message ---------------------------------------------- - - ScanToken* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final { - return CreateMaybeMessage(arena); +} +inline void Node::unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_sub_plan(); + _impl_.node_.sub_plan_ = value; } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ScanToken& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom( const ScanToken& from) { - ScanToken::MergeImpl(*this, from); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_plan) +} +inline ::pg_query::SubPlan* Node::_internal_mutable_sub_plan() { + if (node_case() != kSubPlan) { + clear_node(); + set_has_sub_plan(); + _impl_.node_.sub_plan_ = CreateMaybeMessage<::pg_query::SubPlan>(GetArena()); } - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - uint8_t* _InternalSerialize( - uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ScanToken* other); + return _impl_.node_.sub_plan_; +} +inline ::pg_query::SubPlan* Node::mutable_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SubPlan* _msg = _internal_mutable_sub_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_plan) + return _msg; +} - private: - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "pg_query.ScanToken"; +// .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"]; +inline bool Node::has_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan; +} +inline bool Node::_internal_has_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan; +} +inline void Node::set_has_alternative_sub_plan() { + _impl_._oneof_case_[0] = kAlternativeSubPlan; +} +inline void Node::clear_alternative_sub_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlternativeSubPlan) { + if (GetArena() == nullptr) { + delete _impl_.node_.alternative_sub_plan_; + } + clear_has_node(); + } +} +inline ::pg_query::AlternativeSubPlan* Node::release_alternative_sub_plan() { + // @@protoc_insertion_point(field_release:pg_query.Node.alternative_sub_plan) + if (node_case() == kAlternativeSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.alternative_sub_plan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.alternative_sub_plan_ = nullptr; + return temp; + } else { + return nullptr; } - protected: - explicit ScanToken(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kStartFieldNumber = 1, - kEndFieldNumber = 2, - kTokenFieldNumber = 4, - kKeywordKindFieldNumber = 5, - }; - // int32 start = 1; - void clear_start(); - int32_t start() const; - void set_start(int32_t value); - private: - int32_t _internal_start() const; - void _internal_set_start(int32_t value); - public: - - // int32 end = 2; - void clear_end(); - int32_t end() const; - void set_end(int32_t value); - private: - int32_t _internal_end() const; - void _internal_set_end(int32_t value); - public: - - // .pg_query.Token token = 4; - void clear_token(); - ::pg_query::Token token() const; - void set_token(::pg_query::Token value); - private: - ::pg_query::Token _internal_token() const; - void _internal_set_token(::pg_query::Token value); - public: - - // .pg_query.KeywordKind keyword_kind = 5; - void clear_keyword_kind(); - ::pg_query::KeywordKind keyword_kind() const; - void set_keyword_kind(::pg_query::KeywordKind value); - private: - ::pg_query::KeywordKind _internal_keyword_kind() const; - void _internal_set_keyword_kind(::pg_query::KeywordKind value); - public: - - // @@protoc_insertion_point(class_scope:pg_query.ScanToken) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - struct Impl_ { - int32_t start_; - int32_t end_; - int token_; - int keyword_kind_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_protobuf_2fpg_5fquery_2eproto; -}; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// ParseResult - -// int32 version = 1; -inline void ParseResult::clear_version() { - _impl_.version_ = 0; } -inline int32_t ParseResult::_internal_version() const { - return _impl_.version_; +inline const ::pg_query::AlternativeSubPlan& Node::_internal_alternative_sub_plan() const { + return node_case() == kAlternativeSubPlan ? *_impl_.node_.alternative_sub_plan_ : reinterpret_cast<::pg_query::AlternativeSubPlan&>(::pg_query::_AlternativeSubPlan_default_instance_); } -inline int32_t ParseResult::version() const { - // @@protoc_insertion_point(field_get:pg_query.ParseResult.version) - return _internal_version(); +inline const ::pg_query::AlternativeSubPlan& Node::alternative_sub_plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alternative_sub_plan) + return _internal_alternative_sub_plan(); } -inline void ParseResult::_internal_set_version(int32_t value) { - - _impl_.version_ = value; +inline ::pg_query::AlternativeSubPlan* Node::unsafe_arena_release_alternative_sub_plan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alternative_sub_plan) + if (node_case() == kAlternativeSubPlan) { + clear_has_node(); + auto* temp = _impl_.node_.alternative_sub_plan_; + _impl_.node_.alternative_sub_plan_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline void ParseResult::set_version(int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:pg_query.ParseResult.version) +inline void Node::unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alternative_sub_plan(); + _impl_.node_.alternative_sub_plan_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alternative_sub_plan) +} +inline ::pg_query::AlternativeSubPlan* Node::_internal_mutable_alternative_sub_plan() { + if (node_case() != kAlternativeSubPlan) { + clear_node(); + set_has_alternative_sub_plan(); + _impl_.node_.alternative_sub_plan_ = CreateMaybeMessage<::pg_query::AlternativeSubPlan>(GetArena()); + } + return _impl_.node_.alternative_sub_plan_; +} +inline ::pg_query::AlternativeSubPlan* Node::mutable_alternative_sub_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlternativeSubPlan* _msg = _internal_mutable_alternative_sub_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alternative_sub_plan) + return _msg; } -// repeated .pg_query.RawStmt stmts = 2; -inline int ParseResult::_internal_stmts_size() const { - return _impl_.stmts_.size(); +// .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"]; +inline bool Node::has_field_select() const { + return node_case() == kFieldSelect; } -inline int ParseResult::stmts_size() const { - return _internal_stmts_size(); +inline bool Node::_internal_has_field_select() const { + return node_case() == kFieldSelect; } -inline void ParseResult::clear_stmts() { - _impl_.stmts_.Clear(); +inline void Node::set_has_field_select() { + _impl_._oneof_case_[0] = kFieldSelect; } -inline ::pg_query::RawStmt* ParseResult::mutable_stmts(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ParseResult.stmts) - return _impl_.stmts_.Mutable(index); +inline void Node::clear_field_select() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFieldSelect) { + if (GetArena() == nullptr) { + delete _impl_.node_.field_select_; + } + clear_has_node(); + } } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::RawStmt >* -ParseResult::mutable_stmts() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ParseResult.stmts) - return &_impl_.stmts_; +inline ::pg_query::FieldSelect* Node::release_field_select() { + // @@protoc_insertion_point(field_release:pg_query.Node.field_select) + if (node_case() == kFieldSelect) { + clear_has_node(); + auto* temp = _impl_.node_.field_select_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.field_select_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline const ::pg_query::RawStmt& ParseResult::_internal_stmts(int index) const { - return _impl_.stmts_.Get(index); +inline const ::pg_query::FieldSelect& Node::_internal_field_select() const { + return node_case() == kFieldSelect ? *_impl_.node_.field_select_ : reinterpret_cast<::pg_query::FieldSelect&>(::pg_query::_FieldSelect_default_instance_); } -inline const ::pg_query::RawStmt& ParseResult::stmts(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ParseResult.stmts) - return _internal_stmts(index); +inline const ::pg_query::FieldSelect& Node::field_select() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.field_select) + return _internal_field_select(); } -inline ::pg_query::RawStmt* ParseResult::_internal_add_stmts() { - return _impl_.stmts_.Add(); +inline ::pg_query::FieldSelect* Node::unsafe_arena_release_field_select() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_select) + if (node_case() == kFieldSelect) { + clear_has_node(); + auto* temp = _impl_.node_.field_select_; + _impl_.node_.field_select_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::pg_query::RawStmt* ParseResult::add_stmts() { - ::pg_query::RawStmt* _add = _internal_add_stmts(); - // @@protoc_insertion_point(field_add:pg_query.ParseResult.stmts) - return _add; +inline void Node::unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_field_select(); + _impl_.node_.field_select_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_select) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::RawStmt >& -ParseResult::stmts() const { - // @@protoc_insertion_point(field_list:pg_query.ParseResult.stmts) - return _impl_.stmts_; +inline ::pg_query::FieldSelect* Node::_internal_mutable_field_select() { + if (node_case() != kFieldSelect) { + clear_node(); + set_has_field_select(); + _impl_.node_.field_select_ = CreateMaybeMessage<::pg_query::FieldSelect>(GetArena()); + } + return _impl_.node_.field_select_; +} +inline ::pg_query::FieldSelect* Node::mutable_field_select() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FieldSelect* _msg = _internal_mutable_field_select(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.field_select) + return _msg; } -// ------------------------------------------------------------------- - -// ScanResult - -// int32 version = 1; -inline void ScanResult::clear_version() { - _impl_.version_ = 0; +// .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"]; +inline bool Node::has_field_store() const { + return node_case() == kFieldStore; } -inline int32_t ScanResult::_internal_version() const { - return _impl_.version_; +inline bool Node::_internal_has_field_store() const { + return node_case() == kFieldStore; } -inline int32_t ScanResult::version() const { - // @@protoc_insertion_point(field_get:pg_query.ScanResult.version) - return _internal_version(); +inline void Node::set_has_field_store() { + _impl_._oneof_case_[0] = kFieldStore; } -inline void ScanResult::_internal_set_version(int32_t value) { - - _impl_.version_ = value; +inline void Node::clear_field_store() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFieldStore) { + if (GetArena() == nullptr) { + delete _impl_.node_.field_store_; + } + clear_has_node(); + } } -inline void ScanResult::set_version(int32_t value) { - _internal_set_version(value); - // @@protoc_insertion_point(field_set:pg_query.ScanResult.version) +inline ::pg_query::FieldStore* Node::release_field_store() { + // @@protoc_insertion_point(field_release:pg_query.Node.field_store) + if (node_case() == kFieldStore) { + clear_has_node(); + auto* temp = _impl_.node_.field_store_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.field_store_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::FieldStore& Node::_internal_field_store() const { + return node_case() == kFieldStore ? *_impl_.node_.field_store_ : reinterpret_cast<::pg_query::FieldStore&>(::pg_query::_FieldStore_default_instance_); +} +inline const ::pg_query::FieldStore& Node::field_store() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.field_store) + return _internal_field_store(); +} +inline ::pg_query::FieldStore* Node::unsafe_arena_release_field_store() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_store) + if (node_case() == kFieldStore) { + clear_has_node(); + auto* temp = _impl_.node_.field_store_; + _impl_.node_.field_store_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_field_store(); + _impl_.node_.field_store_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_store) +} +inline ::pg_query::FieldStore* Node::_internal_mutable_field_store() { + if (node_case() != kFieldStore) { + clear_node(); + set_has_field_store(); + _impl_.node_.field_store_ = CreateMaybeMessage<::pg_query::FieldStore>(GetArena()); + } + return _impl_.node_.field_store_; +} +inline ::pg_query::FieldStore* Node::mutable_field_store() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FieldStore* _msg = _internal_mutable_field_store(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.field_store) + return _msg; } -// repeated .pg_query.ScanToken tokens = 2; -inline int ScanResult::_internal_tokens_size() const { - return _impl_.tokens_.size(); +// .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"]; +inline bool Node::has_relabel_type() const { + return node_case() == kRelabelType; } -inline int ScanResult::tokens_size() const { - return _internal_tokens_size(); +inline bool Node::_internal_has_relabel_type() const { + return node_case() == kRelabelType; } -inline void ScanResult::clear_tokens() { - _impl_.tokens_.Clear(); +inline void Node::set_has_relabel_type() { + _impl_._oneof_case_[0] = kRelabelType; } -inline ::pg_query::ScanToken* ScanResult::mutable_tokens(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ScanResult.tokens) - return _impl_.tokens_.Mutable(index); +inline void Node::clear_relabel_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRelabelType) { + if (GetArena() == nullptr) { + delete _impl_.node_.relabel_type_; + } + clear_has_node(); + } } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::ScanToken >* -ScanResult::mutable_tokens() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ScanResult.tokens) - return &_impl_.tokens_; +inline ::pg_query::RelabelType* Node::release_relabel_type() { + // @@protoc_insertion_point(field_release:pg_query.Node.relabel_type) + if (node_case() == kRelabelType) { + clear_has_node(); + auto* temp = _impl_.node_.relabel_type_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.relabel_type_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline const ::pg_query::ScanToken& ScanResult::_internal_tokens(int index) const { - return _impl_.tokens_.Get(index); +inline const ::pg_query::RelabelType& Node::_internal_relabel_type() const { + return node_case() == kRelabelType ? *_impl_.node_.relabel_type_ : reinterpret_cast<::pg_query::RelabelType&>(::pg_query::_RelabelType_default_instance_); } -inline const ::pg_query::ScanToken& ScanResult::tokens(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ScanResult.tokens) - return _internal_tokens(index); +inline const ::pg_query::RelabelType& Node::relabel_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.relabel_type) + return _internal_relabel_type(); } -inline ::pg_query::ScanToken* ScanResult::_internal_add_tokens() { - return _impl_.tokens_.Add(); +inline ::pg_query::RelabelType* Node::unsafe_arena_release_relabel_type() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.relabel_type) + if (node_case() == kRelabelType) { + clear_has_node(); + auto* temp = _impl_.node_.relabel_type_; + _impl_.node_.relabel_type_ = nullptr; + return temp; + } else { + return nullptr; + } } -inline ::pg_query::ScanToken* ScanResult::add_tokens() { - ::pg_query::ScanToken* _add = _internal_add_tokens(); - // @@protoc_insertion_point(field_add:pg_query.ScanResult.tokens) - return _add; +inline void Node::unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_relabel_type(); + _impl_.node_.relabel_type_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.relabel_type) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::ScanToken >& -ScanResult::tokens() const { - // @@protoc_insertion_point(field_list:pg_query.ScanResult.tokens) - return _impl_.tokens_; +inline ::pg_query::RelabelType* Node::_internal_mutable_relabel_type() { + if (node_case() != kRelabelType) { + clear_node(); + set_has_relabel_type(); + _impl_.node_.relabel_type_ = CreateMaybeMessage<::pg_query::RelabelType>(GetArena()); + } + return _impl_.node_.relabel_type_; +} +inline ::pg_query::RelabelType* Node::mutable_relabel_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RelabelType* _msg = _internal_mutable_relabel_type(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.relabel_type) + return _msg; } -// ------------------------------------------------------------------- - -// Node - -// .pg_query.Alias alias = 1 [json_name = "Alias"]; -inline bool Node::_internal_has_alias() const { - return node_case() == kAlias; +// .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"]; +inline bool Node::has_coerce_via_io() const { + return node_case() == kCoerceViaIo; } -inline bool Node::has_alias() const { - return _internal_has_alias(); +inline bool Node::_internal_has_coerce_via_io() const { + return node_case() == kCoerceViaIo; } -inline void Node::set_has_alias() { - _impl_._oneof_case_[0] = kAlias; +inline void Node::set_has_coerce_via_io() { + _impl_._oneof_case_[0] = kCoerceViaIo; } -inline void Node::clear_alias() { - if (_internal_has_alias()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alias_; +inline void Node::clear_coerce_via_io() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceViaIo) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_via_io_; } clear_has_node(); } } -inline ::pg_query::Alias* Node::release_alias() { - // @@protoc_insertion_point(field_release:pg_query.Node.alias) - if (_internal_has_alias()) { +inline ::pg_query::CoerceViaIO* Node::release_coerce_via_io() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_via_io) + if (node_case() == kCoerceViaIo) { clear_has_node(); - ::pg_query::Alias* temp = _impl_.node_.alias_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.coerce_via_io_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alias_ = nullptr; + _impl_.node_.coerce_via_io_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Alias& Node::_internal_alias() const { - return _internal_has_alias() - ? *_impl_.node_.alias_ - : reinterpret_cast< ::pg_query::Alias&>(::pg_query::_Alias_default_instance_); +inline const ::pg_query::CoerceViaIO& Node::_internal_coerce_via_io() const { + return node_case() == kCoerceViaIo ? *_impl_.node_.coerce_via_io_ : reinterpret_cast<::pg_query::CoerceViaIO&>(::pg_query::_CoerceViaIO_default_instance_); } -inline const ::pg_query::Alias& Node::alias() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alias) - return _internal_alias(); +inline const ::pg_query::CoerceViaIO& Node::coerce_via_io() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_via_io) + return _internal_coerce_via_io(); } -inline ::pg_query::Alias* Node::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alias) - if (_internal_has_alias()) { +inline ::pg_query::CoerceViaIO* Node::unsafe_arena_release_coerce_via_io() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_via_io) + if (node_case() == kCoerceViaIo) { clear_has_node(); - ::pg_query::Alias* temp = _impl_.node_.alias_; - _impl_.node_.alias_ = nullptr; + auto* temp = _impl_.node_.coerce_via_io_; + _impl_.node_.coerce_via_io_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alias(::pg_query::Alias* alias) { +inline void Node::unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alias) { - set_has_alias(); - _impl_.node_.alias_ = alias; + if (value) { + set_has_coerce_via_io(); + _impl_.node_.coerce_via_io_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_via_io) } -inline ::pg_query::Alias* Node::_internal_mutable_alias() { - if (!_internal_has_alias()) { +inline ::pg_query::CoerceViaIO* Node::_internal_mutable_coerce_via_io() { + if (node_case() != kCoerceViaIo) { clear_node(); - set_has_alias(); - _impl_.node_.alias_ = CreateMaybeMessage< ::pg_query::Alias >(GetArenaForAllocation()); + set_has_coerce_via_io(); + _impl_.node_.coerce_via_io_ = CreateMaybeMessage<::pg_query::CoerceViaIO>(GetArena()); } - return _impl_.node_.alias_; + return _impl_.node_.coerce_via_io_; } -inline ::pg_query::Alias* Node::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alias) +inline ::pg_query::CoerceViaIO* Node::mutable_coerce_via_io() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceViaIO* _msg = _internal_mutable_coerce_via_io(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_via_io) return _msg; } -// .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"]; -inline bool Node::_internal_has_range_var() const { - return node_case() == kRangeVar; +// .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"]; +inline bool Node::has_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr; } -inline bool Node::has_range_var() const { - return _internal_has_range_var(); +inline bool Node::_internal_has_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr; } -inline void Node::set_has_range_var() { - _impl_._oneof_case_[0] = kRangeVar; +inline void Node::set_has_array_coerce_expr() { + _impl_._oneof_case_[0] = kArrayCoerceExpr; } -inline void Node::clear_range_var() { - if (_internal_has_range_var()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_var_; +inline void Node::clear_array_coerce_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kArrayCoerceExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.array_coerce_expr_; } clear_has_node(); } } -inline ::pg_query::RangeVar* Node::release_range_var() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_var) - if (_internal_has_range_var()) { +inline ::pg_query::ArrayCoerceExpr* Node::release_array_coerce_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.array_coerce_expr) + if (node_case() == kArrayCoerceExpr) { clear_has_node(); - ::pg_query::RangeVar* temp = _impl_.node_.range_var_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.array_coerce_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_var_ = nullptr; + _impl_.node_.array_coerce_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeVar& Node::_internal_range_var() const { - return _internal_has_range_var() - ? *_impl_.node_.range_var_ - : reinterpret_cast< ::pg_query::RangeVar&>(::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::ArrayCoerceExpr& Node::_internal_array_coerce_expr() const { + return node_case() == kArrayCoerceExpr ? *_impl_.node_.array_coerce_expr_ : reinterpret_cast<::pg_query::ArrayCoerceExpr&>(::pg_query::_ArrayCoerceExpr_default_instance_); } -inline const ::pg_query::RangeVar& Node::range_var() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_var) - return _internal_range_var(); +inline const ::pg_query::ArrayCoerceExpr& Node::array_coerce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.array_coerce_expr) + return _internal_array_coerce_expr(); } -inline ::pg_query::RangeVar* Node::unsafe_arena_release_range_var() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_var) - if (_internal_has_range_var()) { +inline ::pg_query::ArrayCoerceExpr* Node::unsafe_arena_release_array_coerce_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_coerce_expr) + if (node_case() == kArrayCoerceExpr) { clear_has_node(); - ::pg_query::RangeVar* temp = _impl_.node_.range_var_; - _impl_.node_.range_var_ = nullptr; + auto* temp = _impl_.node_.array_coerce_expr_; + _impl_.node_.array_coerce_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_var(::pg_query::RangeVar* range_var) { +inline void Node::unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_var) { - set_has_range_var(); - _impl_.node_.range_var_ = range_var; + if (value) { + set_has_array_coerce_expr(); + _impl_.node_.array_coerce_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_var) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_coerce_expr) } -inline ::pg_query::RangeVar* Node::_internal_mutable_range_var() { - if (!_internal_has_range_var()) { +inline ::pg_query::ArrayCoerceExpr* Node::_internal_mutable_array_coerce_expr() { + if (node_case() != kArrayCoerceExpr) { clear_node(); - set_has_range_var(); - _impl_.node_.range_var_ = CreateMaybeMessage< ::pg_query::RangeVar >(GetArenaForAllocation()); + set_has_array_coerce_expr(); + _impl_.node_.array_coerce_expr_ = CreateMaybeMessage<::pg_query::ArrayCoerceExpr>(GetArena()); } - return _impl_.node_.range_var_; + return _impl_.node_.array_coerce_expr_; } -inline ::pg_query::RangeVar* Node::mutable_range_var() { - ::pg_query::RangeVar* _msg = _internal_mutable_range_var(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_var) +inline ::pg_query::ArrayCoerceExpr* Node::mutable_array_coerce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ArrayCoerceExpr* _msg = _internal_mutable_array_coerce_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.array_coerce_expr) return _msg; } -// .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"]; -inline bool Node::_internal_has_table_func() const { - return node_case() == kTableFunc; +// .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"]; +inline bool Node::has_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr; } -inline bool Node::has_table_func() const { - return _internal_has_table_func(); +inline bool Node::_internal_has_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr; } -inline void Node::set_has_table_func() { - _impl_._oneof_case_[0] = kTableFunc; +inline void Node::set_has_convert_rowtype_expr() { + _impl_._oneof_case_[0] = kConvertRowtypeExpr; } -inline void Node::clear_table_func() { - if (_internal_has_table_func()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.table_func_; +inline void Node::clear_convert_rowtype_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kConvertRowtypeExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.convert_rowtype_expr_; } clear_has_node(); } } -inline ::pg_query::TableFunc* Node::release_table_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_func) - if (_internal_has_table_func()) { +inline ::pg_query::ConvertRowtypeExpr* Node::release_convert_rowtype_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.convert_rowtype_expr) + if (node_case() == kConvertRowtypeExpr) { clear_has_node(); - ::pg_query::TableFunc* temp = _impl_.node_.table_func_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.convert_rowtype_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_func_ = nullptr; + _impl_.node_.convert_rowtype_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableFunc& Node::_internal_table_func() const { - return _internal_has_table_func() - ? *_impl_.node_.table_func_ - : reinterpret_cast< ::pg_query::TableFunc&>(::pg_query::_TableFunc_default_instance_); +inline const ::pg_query::ConvertRowtypeExpr& Node::_internal_convert_rowtype_expr() const { + return node_case() == kConvertRowtypeExpr ? *_impl_.node_.convert_rowtype_expr_ : reinterpret_cast<::pg_query::ConvertRowtypeExpr&>(::pg_query::_ConvertRowtypeExpr_default_instance_); } -inline const ::pg_query::TableFunc& Node::table_func() const { - // @@protoc_insertion_point(field_get:pg_query.Node.table_func) - return _internal_table_func(); +inline const ::pg_query::ConvertRowtypeExpr& Node::convert_rowtype_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.convert_rowtype_expr) + return _internal_convert_rowtype_expr(); } -inline ::pg_query::TableFunc* Node::unsafe_arena_release_table_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_func) - if (_internal_has_table_func()) { +inline ::pg_query::ConvertRowtypeExpr* Node::unsafe_arena_release_convert_rowtype_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.convert_rowtype_expr) + if (node_case() == kConvertRowtypeExpr) { clear_has_node(); - ::pg_query::TableFunc* temp = _impl_.node_.table_func_; - _impl_.node_.table_func_ = nullptr; + auto* temp = _impl_.node_.convert_rowtype_expr_; + _impl_.node_.convert_rowtype_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_func(::pg_query::TableFunc* table_func) { +inline void Node::unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (table_func) { - set_has_table_func(); - _impl_.node_.table_func_ = table_func; + if (value) { + set_has_convert_rowtype_expr(); + _impl_.node_.convert_rowtype_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.convert_rowtype_expr) } -inline ::pg_query::TableFunc* Node::_internal_mutable_table_func() { - if (!_internal_has_table_func()) { +inline ::pg_query::ConvertRowtypeExpr* Node::_internal_mutable_convert_rowtype_expr() { + if (node_case() != kConvertRowtypeExpr) { clear_node(); - set_has_table_func(); - _impl_.node_.table_func_ = CreateMaybeMessage< ::pg_query::TableFunc >(GetArenaForAllocation()); + set_has_convert_rowtype_expr(); + _impl_.node_.convert_rowtype_expr_ = CreateMaybeMessage<::pg_query::ConvertRowtypeExpr>(GetArena()); } - return _impl_.node_.table_func_; + return _impl_.node_.convert_rowtype_expr_; } -inline ::pg_query::TableFunc* Node::mutable_table_func() { - ::pg_query::TableFunc* _msg = _internal_mutable_table_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_func) +inline ::pg_query::ConvertRowtypeExpr* Node::mutable_convert_rowtype_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ConvertRowtypeExpr* _msg = _internal_mutable_convert_rowtype_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.convert_rowtype_expr) return _msg; } -// .pg_query.Var var = 4 [json_name = "Var"]; -inline bool Node::_internal_has_var() const { - return node_case() == kVar; +// .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"]; +inline bool Node::has_collate_expr() const { + return node_case() == kCollateExpr; } -inline bool Node::has_var() const { - return _internal_has_var(); +inline bool Node::_internal_has_collate_expr() const { + return node_case() == kCollateExpr; } -inline void Node::set_has_var() { - _impl_._oneof_case_[0] = kVar; +inline void Node::set_has_collate_expr() { + _impl_._oneof_case_[0] = kCollateExpr; } -inline void Node::clear_var() { - if (_internal_has_var()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.var_; +inline void Node::clear_collate_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCollateExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.collate_expr_; } clear_has_node(); } } -inline ::pg_query::Var* Node::release_var() { - // @@protoc_insertion_point(field_release:pg_query.Node.var) - if (_internal_has_var()) { +inline ::pg_query::CollateExpr* Node::release_collate_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.collate_expr) + if (node_case() == kCollateExpr) { clear_has_node(); - ::pg_query::Var* temp = _impl_.node_.var_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.collate_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.var_ = nullptr; + _impl_.node_.collate_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Var& Node::_internal_var() const { - return _internal_has_var() - ? *_impl_.node_.var_ - : reinterpret_cast< ::pg_query::Var&>(::pg_query::_Var_default_instance_); +inline const ::pg_query::CollateExpr& Node::_internal_collate_expr() const { + return node_case() == kCollateExpr ? *_impl_.node_.collate_expr_ : reinterpret_cast<::pg_query::CollateExpr&>(::pg_query::_CollateExpr_default_instance_); } -inline const ::pg_query::Var& Node::var() const { - // @@protoc_insertion_point(field_get:pg_query.Node.var) - return _internal_var(); +inline const ::pg_query::CollateExpr& Node::collate_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.collate_expr) + return _internal_collate_expr(); } -inline ::pg_query::Var* Node::unsafe_arena_release_var() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.var) - if (_internal_has_var()) { +inline ::pg_query::CollateExpr* Node::unsafe_arena_release_collate_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_expr) + if (node_case() == kCollateExpr) { clear_has_node(); - ::pg_query::Var* temp = _impl_.node_.var_; - _impl_.node_.var_ = nullptr; + auto* temp = _impl_.node_.collate_expr_; + _impl_.node_.collate_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_var(::pg_query::Var* var) { +inline void Node::unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (var) { - set_has_var(); - _impl_.node_.var_ = var; + if (value) { + set_has_collate_expr(); + _impl_.node_.collate_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.var) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_expr) } -inline ::pg_query::Var* Node::_internal_mutable_var() { - if (!_internal_has_var()) { +inline ::pg_query::CollateExpr* Node::_internal_mutable_collate_expr() { + if (node_case() != kCollateExpr) { clear_node(); - set_has_var(); - _impl_.node_.var_ = CreateMaybeMessage< ::pg_query::Var >(GetArenaForAllocation()); + set_has_collate_expr(); + _impl_.node_.collate_expr_ = CreateMaybeMessage<::pg_query::CollateExpr>(GetArena()); } - return _impl_.node_.var_; + return _impl_.node_.collate_expr_; } -inline ::pg_query::Var* Node::mutable_var() { - ::pg_query::Var* _msg = _internal_mutable_var(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.var) +inline ::pg_query::CollateExpr* Node::mutable_collate_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateExpr* _msg = _internal_mutable_collate_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_expr) return _msg; } -// .pg_query.Param param = 5 [json_name = "Param"]; -inline bool Node::_internal_has_param() const { - return node_case() == kParam; +// .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"]; +inline bool Node::has_case_expr() const { + return node_case() == kCaseExpr; } -inline bool Node::has_param() const { - return _internal_has_param(); +inline bool Node::_internal_has_case_expr() const { + return node_case() == kCaseExpr; } -inline void Node::set_has_param() { - _impl_._oneof_case_[0] = kParam; +inline void Node::set_has_case_expr() { + _impl_._oneof_case_[0] = kCaseExpr; } -inline void Node::clear_param() { - if (_internal_has_param()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.param_; +inline void Node::clear_case_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_expr_; } clear_has_node(); } } -inline ::pg_query::Param* Node::release_param() { - // @@protoc_insertion_point(field_release:pg_query.Node.param) - if (_internal_has_param()) { +inline ::pg_query::CaseExpr* Node::release_case_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_expr) + if (node_case() == kCaseExpr) { clear_has_node(); - ::pg_query::Param* temp = _impl_.node_.param_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.case_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.param_ = nullptr; + _impl_.node_.case_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Param& Node::_internal_param() const { - return _internal_has_param() - ? *_impl_.node_.param_ - : reinterpret_cast< ::pg_query::Param&>(::pg_query::_Param_default_instance_); +inline const ::pg_query::CaseExpr& Node::_internal_case_expr() const { + return node_case() == kCaseExpr ? *_impl_.node_.case_expr_ : reinterpret_cast<::pg_query::CaseExpr&>(::pg_query::_CaseExpr_default_instance_); } -inline const ::pg_query::Param& Node::param() const { - // @@protoc_insertion_point(field_get:pg_query.Node.param) - return _internal_param(); +inline const ::pg_query::CaseExpr& Node::case_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_expr) + return _internal_case_expr(); } -inline ::pg_query::Param* Node::unsafe_arena_release_param() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param) - if (_internal_has_param()) { +inline ::pg_query::CaseExpr* Node::unsafe_arena_release_case_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_expr) + if (node_case() == kCaseExpr) { clear_has_node(); - ::pg_query::Param* temp = _impl_.node_.param_; - _impl_.node_.param_ = nullptr; + auto* temp = _impl_.node_.case_expr_; + _impl_.node_.case_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_param(::pg_query::Param* param) { +inline void Node::unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (param) { - set_has_param(); - _impl_.node_.param_ = param; + if (value) { + set_has_case_expr(); + _impl_.node_.case_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_expr) } -inline ::pg_query::Param* Node::_internal_mutable_param() { - if (!_internal_has_param()) { +inline ::pg_query::CaseExpr* Node::_internal_mutable_case_expr() { + if (node_case() != kCaseExpr) { clear_node(); - set_has_param(); - _impl_.node_.param_ = CreateMaybeMessage< ::pg_query::Param >(GetArenaForAllocation()); + set_has_case_expr(); + _impl_.node_.case_expr_ = CreateMaybeMessage<::pg_query::CaseExpr>(GetArena()); } - return _impl_.node_.param_; + return _impl_.node_.case_expr_; } -inline ::pg_query::Param* Node::mutable_param() { - ::pg_query::Param* _msg = _internal_mutable_param(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.param) +inline ::pg_query::CaseExpr* Node::mutable_case_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseExpr* _msg = _internal_mutable_case_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_expr) return _msg; } -// .pg_query.Aggref aggref = 6 [json_name = "Aggref"]; -inline bool Node::_internal_has_aggref() const { - return node_case() == kAggref; +// .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"]; +inline bool Node::has_case_when() const { + return node_case() == kCaseWhen; } -inline bool Node::has_aggref() const { - return _internal_has_aggref(); +inline bool Node::_internal_has_case_when() const { + return node_case() == kCaseWhen; } -inline void Node::set_has_aggref() { - _impl_._oneof_case_[0] = kAggref; +inline void Node::set_has_case_when() { + _impl_._oneof_case_[0] = kCaseWhen; } -inline void Node::clear_aggref() { - if (_internal_has_aggref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.aggref_; +inline void Node::clear_case_when() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseWhen) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_when_; } clear_has_node(); } } -inline ::pg_query::Aggref* Node::release_aggref() { - // @@protoc_insertion_point(field_release:pg_query.Node.aggref) - if (_internal_has_aggref()) { +inline ::pg_query::CaseWhen* Node::release_case_when() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_when) + if (node_case() == kCaseWhen) { clear_has_node(); - ::pg_query::Aggref* temp = _impl_.node_.aggref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.case_when_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.aggref_ = nullptr; + _impl_.node_.case_when_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Aggref& Node::_internal_aggref() const { - return _internal_has_aggref() - ? *_impl_.node_.aggref_ - : reinterpret_cast< ::pg_query::Aggref&>(::pg_query::_Aggref_default_instance_); +inline const ::pg_query::CaseWhen& Node::_internal_case_when() const { + return node_case() == kCaseWhen ? *_impl_.node_.case_when_ : reinterpret_cast<::pg_query::CaseWhen&>(::pg_query::_CaseWhen_default_instance_); } -inline const ::pg_query::Aggref& Node::aggref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.aggref) - return _internal_aggref(); +inline const ::pg_query::CaseWhen& Node::case_when() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_when) + return _internal_case_when(); } -inline ::pg_query::Aggref* Node::unsafe_arena_release_aggref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.aggref) - if (_internal_has_aggref()) { +inline ::pg_query::CaseWhen* Node::unsafe_arena_release_case_when() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_when) + if (node_case() == kCaseWhen) { clear_has_node(); - ::pg_query::Aggref* temp = _impl_.node_.aggref_; - _impl_.node_.aggref_ = nullptr; + auto* temp = _impl_.node_.case_when_; + _impl_.node_.case_when_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_aggref(::pg_query::Aggref* aggref) { +inline void Node::unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (aggref) { - set_has_aggref(); - _impl_.node_.aggref_ = aggref; + if (value) { + set_has_case_when(); + _impl_.node_.case_when_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.aggref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_when) } -inline ::pg_query::Aggref* Node::_internal_mutable_aggref() { - if (!_internal_has_aggref()) { +inline ::pg_query::CaseWhen* Node::_internal_mutable_case_when() { + if (node_case() != kCaseWhen) { clear_node(); - set_has_aggref(); - _impl_.node_.aggref_ = CreateMaybeMessage< ::pg_query::Aggref >(GetArenaForAllocation()); + set_has_case_when(); + _impl_.node_.case_when_ = CreateMaybeMessage<::pg_query::CaseWhen>(GetArena()); } - return _impl_.node_.aggref_; + return _impl_.node_.case_when_; } -inline ::pg_query::Aggref* Node::mutable_aggref() { - ::pg_query::Aggref* _msg = _internal_mutable_aggref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.aggref) +inline ::pg_query::CaseWhen* Node::mutable_case_when() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseWhen* _msg = _internal_mutable_case_when(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_when) return _msg; } -// .pg_query.GroupingFunc grouping_func = 7 [json_name = "GroupingFunc"]; -inline bool Node::_internal_has_grouping_func() const { - return node_case() == kGroupingFunc; +// .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"]; +inline bool Node::has_case_test_expr() const { + return node_case() == kCaseTestExpr; } -inline bool Node::has_grouping_func() const { - return _internal_has_grouping_func(); +inline bool Node::_internal_has_case_test_expr() const { + return node_case() == kCaseTestExpr; } -inline void Node::set_has_grouping_func() { - _impl_._oneof_case_[0] = kGroupingFunc; +inline void Node::set_has_case_test_expr() { + _impl_._oneof_case_[0] = kCaseTestExpr; } -inline void Node::clear_grouping_func() { - if (_internal_has_grouping_func()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.grouping_func_; +inline void Node::clear_case_test_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCaseTestExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.case_test_expr_; } clear_has_node(); } } -inline ::pg_query::GroupingFunc* Node::release_grouping_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.grouping_func) - if (_internal_has_grouping_func()) { +inline ::pg_query::CaseTestExpr* Node::release_case_test_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.case_test_expr) + if (node_case() == kCaseTestExpr) { clear_has_node(); - ::pg_query::GroupingFunc* temp = _impl_.node_.grouping_func_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.case_test_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grouping_func_ = nullptr; + _impl_.node_.case_test_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GroupingFunc& Node::_internal_grouping_func() const { - return _internal_has_grouping_func() - ? *_impl_.node_.grouping_func_ - : reinterpret_cast< ::pg_query::GroupingFunc&>(::pg_query::_GroupingFunc_default_instance_); +inline const ::pg_query::CaseTestExpr& Node::_internal_case_test_expr() const { + return node_case() == kCaseTestExpr ? *_impl_.node_.case_test_expr_ : reinterpret_cast<::pg_query::CaseTestExpr&>(::pg_query::_CaseTestExpr_default_instance_); } -inline const ::pg_query::GroupingFunc& Node::grouping_func() const { - // @@protoc_insertion_point(field_get:pg_query.Node.grouping_func) - return _internal_grouping_func(); +inline const ::pg_query::CaseTestExpr& Node::case_test_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.case_test_expr) + return _internal_case_test_expr(); } -inline ::pg_query::GroupingFunc* Node::unsafe_arena_release_grouping_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_func) - if (_internal_has_grouping_func()) { +inline ::pg_query::CaseTestExpr* Node::unsafe_arena_release_case_test_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_test_expr) + if (node_case() == kCaseTestExpr) { clear_has_node(); - ::pg_query::GroupingFunc* temp = _impl_.node_.grouping_func_; - _impl_.node_.grouping_func_ = nullptr; + auto* temp = _impl_.node_.case_test_expr_; + _impl_.node_.case_test_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grouping_func(::pg_query::GroupingFunc* grouping_func) { +inline void Node::unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (grouping_func) { - set_has_grouping_func(); - _impl_.node_.grouping_func_ = grouping_func; + if (value) { + set_has_case_test_expr(); + _impl_.node_.case_test_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_test_expr) } -inline ::pg_query::GroupingFunc* Node::_internal_mutable_grouping_func() { - if (!_internal_has_grouping_func()) { +inline ::pg_query::CaseTestExpr* Node::_internal_mutable_case_test_expr() { + if (node_case() != kCaseTestExpr) { clear_node(); - set_has_grouping_func(); - _impl_.node_.grouping_func_ = CreateMaybeMessage< ::pg_query::GroupingFunc >(GetArenaForAllocation()); + set_has_case_test_expr(); + _impl_.node_.case_test_expr_ = CreateMaybeMessage<::pg_query::CaseTestExpr>(GetArena()); } - return _impl_.node_.grouping_func_; + return _impl_.node_.case_test_expr_; } -inline ::pg_query::GroupingFunc* Node::mutable_grouping_func() { - ::pg_query::GroupingFunc* _msg = _internal_mutable_grouping_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_func) +inline ::pg_query::CaseTestExpr* Node::mutable_case_test_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CaseTestExpr* _msg = _internal_mutable_case_test_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.case_test_expr) return _msg; } -// .pg_query.WindowFunc window_func = 8 [json_name = "WindowFunc"]; -inline bool Node::_internal_has_window_func() const { - return node_case() == kWindowFunc; +// .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"]; +inline bool Node::has_array_expr() const { + return node_case() == kArrayExpr; } -inline bool Node::has_window_func() const { - return _internal_has_window_func(); +inline bool Node::_internal_has_array_expr() const { + return node_case() == kArrayExpr; } -inline void Node::set_has_window_func() { - _impl_._oneof_case_[0] = kWindowFunc; +inline void Node::set_has_array_expr() { + _impl_._oneof_case_[0] = kArrayExpr; } -inline void Node::clear_window_func() { - if (_internal_has_window_func()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.window_func_; +inline void Node::clear_array_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kArrayExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.array_expr_; } clear_has_node(); } } -inline ::pg_query::WindowFunc* Node::release_window_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_func) - if (_internal_has_window_func()) { +inline ::pg_query::ArrayExpr* Node::release_array_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.array_expr) + if (node_case() == kArrayExpr) { clear_has_node(); - ::pg_query::WindowFunc* temp = _impl_.node_.window_func_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.array_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_func_ = nullptr; + _impl_.node_.array_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowFunc& Node::_internal_window_func() const { - return _internal_has_window_func() - ? *_impl_.node_.window_func_ - : reinterpret_cast< ::pg_query::WindowFunc&>(::pg_query::_WindowFunc_default_instance_); +inline const ::pg_query::ArrayExpr& Node::_internal_array_expr() const { + return node_case() == kArrayExpr ? *_impl_.node_.array_expr_ : reinterpret_cast<::pg_query::ArrayExpr&>(::pg_query::_ArrayExpr_default_instance_); } -inline const ::pg_query::WindowFunc& Node::window_func() const { - // @@protoc_insertion_point(field_get:pg_query.Node.window_func) - return _internal_window_func(); +inline const ::pg_query::ArrayExpr& Node::array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.array_expr) + return _internal_array_expr(); } -inline ::pg_query::WindowFunc* Node::unsafe_arena_release_window_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_func) - if (_internal_has_window_func()) { +inline ::pg_query::ArrayExpr* Node::unsafe_arena_release_array_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_expr) + if (node_case() == kArrayExpr) { clear_has_node(); - ::pg_query::WindowFunc* temp = _impl_.node_.window_func_; - _impl_.node_.window_func_ = nullptr; + auto* temp = _impl_.node_.array_expr_; + _impl_.node_.array_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_func(::pg_query::WindowFunc* window_func) { +inline void Node::unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (window_func) { - set_has_window_func(); - _impl_.node_.window_func_ = window_func; + if (value) { + set_has_array_expr(); + _impl_.node_.array_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_expr) } -inline ::pg_query::WindowFunc* Node::_internal_mutable_window_func() { - if (!_internal_has_window_func()) { +inline ::pg_query::ArrayExpr* Node::_internal_mutable_array_expr() { + if (node_case() != kArrayExpr) { clear_node(); - set_has_window_func(); - _impl_.node_.window_func_ = CreateMaybeMessage< ::pg_query::WindowFunc >(GetArenaForAllocation()); + set_has_array_expr(); + _impl_.node_.array_expr_ = CreateMaybeMessage<::pg_query::ArrayExpr>(GetArena()); } - return _impl_.node_.window_func_; + return _impl_.node_.array_expr_; } -inline ::pg_query::WindowFunc* Node::mutable_window_func() { - ::pg_query::WindowFunc* _msg = _internal_mutable_window_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_func) +inline ::pg_query::ArrayExpr* Node::mutable_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ArrayExpr* _msg = _internal_mutable_array_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.array_expr) return _msg; } -// .pg_query.SubscriptingRef subscripting_ref = 9 [json_name = "SubscriptingRef"]; -inline bool Node::_internal_has_subscripting_ref() const { - return node_case() == kSubscriptingRef; +// .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"]; +inline bool Node::has_row_expr() const { + return node_case() == kRowExpr; } -inline bool Node::has_subscripting_ref() const { - return _internal_has_subscripting_ref(); +inline bool Node::_internal_has_row_expr() const { + return node_case() == kRowExpr; } -inline void Node::set_has_subscripting_ref() { - _impl_._oneof_case_[0] = kSubscriptingRef; +inline void Node::set_has_row_expr() { + _impl_._oneof_case_[0] = kRowExpr; } -inline void Node::clear_subscripting_ref() { - if (_internal_has_subscripting_ref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.subscripting_ref_; +inline void Node::clear_row_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRowExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.row_expr_; } clear_has_node(); } } -inline ::pg_query::SubscriptingRef* Node::release_subscripting_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.subscripting_ref) - if (_internal_has_subscripting_ref()) { +inline ::pg_query::RowExpr* Node::release_row_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_expr) + if (node_case() == kRowExpr) { clear_has_node(); - ::pg_query::SubscriptingRef* temp = _impl_.node_.subscripting_ref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.row_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.subscripting_ref_ = nullptr; + _impl_.node_.row_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubscriptingRef& Node::_internal_subscripting_ref() const { - return _internal_has_subscripting_ref() - ? *_impl_.node_.subscripting_ref_ - : reinterpret_cast< ::pg_query::SubscriptingRef&>(::pg_query::_SubscriptingRef_default_instance_); +inline const ::pg_query::RowExpr& Node::_internal_row_expr() const { + return node_case() == kRowExpr ? *_impl_.node_.row_expr_ : reinterpret_cast<::pg_query::RowExpr&>(::pg_query::_RowExpr_default_instance_); } -inline const ::pg_query::SubscriptingRef& Node::subscripting_ref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.subscripting_ref) - return _internal_subscripting_ref(); +inline const ::pg_query::RowExpr& Node::row_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_expr) + return _internal_row_expr(); } -inline ::pg_query::SubscriptingRef* Node::unsafe_arena_release_subscripting_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.subscripting_ref) - if (_internal_has_subscripting_ref()) { +inline ::pg_query::RowExpr* Node::unsafe_arena_release_row_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_expr) + if (node_case() == kRowExpr) { clear_has_node(); - ::pg_query::SubscriptingRef* temp = _impl_.node_.subscripting_ref_; - _impl_.node_.subscripting_ref_ = nullptr; + auto* temp = _impl_.node_.row_expr_; + _impl_.node_.row_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_subscripting_ref(::pg_query::SubscriptingRef* subscripting_ref) { +inline void Node::unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (subscripting_ref) { - set_has_subscripting_ref(); - _impl_.node_.subscripting_ref_ = subscripting_ref; + if (value) { + set_has_row_expr(); + _impl_.node_.row_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.subscripting_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_expr) } -inline ::pg_query::SubscriptingRef* Node::_internal_mutable_subscripting_ref() { - if (!_internal_has_subscripting_ref()) { +inline ::pg_query::RowExpr* Node::_internal_mutable_row_expr() { + if (node_case() != kRowExpr) { clear_node(); - set_has_subscripting_ref(); - _impl_.node_.subscripting_ref_ = CreateMaybeMessage< ::pg_query::SubscriptingRef >(GetArenaForAllocation()); + set_has_row_expr(); + _impl_.node_.row_expr_ = CreateMaybeMessage<::pg_query::RowExpr>(GetArena()); } - return _impl_.node_.subscripting_ref_; + return _impl_.node_.row_expr_; } -inline ::pg_query::SubscriptingRef* Node::mutable_subscripting_ref() { - ::pg_query::SubscriptingRef* _msg = _internal_mutable_subscripting_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.subscripting_ref) +inline ::pg_query::RowExpr* Node::mutable_row_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowExpr* _msg = _internal_mutable_row_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_expr) return _msg; } -// .pg_query.FuncExpr func_expr = 10 [json_name = "FuncExpr"]; -inline bool Node::_internal_has_func_expr() const { - return node_case() == kFuncExpr; +// .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"]; +inline bool Node::has_row_compare_expr() const { + return node_case() == kRowCompareExpr; } -inline bool Node::has_func_expr() const { - return _internal_has_func_expr(); +inline bool Node::_internal_has_row_compare_expr() const { + return node_case() == kRowCompareExpr; } -inline void Node::set_has_func_expr() { - _impl_._oneof_case_[0] = kFuncExpr; +inline void Node::set_has_row_compare_expr() { + _impl_._oneof_case_[0] = kRowCompareExpr; } -inline void Node::clear_func_expr() { - if (_internal_has_func_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.func_expr_; +inline void Node::clear_row_compare_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRowCompareExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.row_compare_expr_; } clear_has_node(); } } -inline ::pg_query::FuncExpr* Node::release_func_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.func_expr) - if (_internal_has_func_expr()) { +inline ::pg_query::RowCompareExpr* Node::release_row_compare_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_compare_expr) + if (node_case() == kRowCompareExpr) { clear_has_node(); - ::pg_query::FuncExpr* temp = _impl_.node_.func_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.row_compare_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.func_expr_ = nullptr; + _impl_.node_.row_compare_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FuncExpr& Node::_internal_func_expr() const { - return _internal_has_func_expr() - ? *_impl_.node_.func_expr_ - : reinterpret_cast< ::pg_query::FuncExpr&>(::pg_query::_FuncExpr_default_instance_); +inline const ::pg_query::RowCompareExpr& Node::_internal_row_compare_expr() const { + return node_case() == kRowCompareExpr ? *_impl_.node_.row_compare_expr_ : reinterpret_cast<::pg_query::RowCompareExpr&>(::pg_query::_RowCompareExpr_default_instance_); } -inline const ::pg_query::FuncExpr& Node::func_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.func_expr) - return _internal_func_expr(); +inline const ::pg_query::RowCompareExpr& Node::row_compare_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_compare_expr) + return _internal_row_compare_expr(); } -inline ::pg_query::FuncExpr* Node::unsafe_arena_release_func_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_expr) - if (_internal_has_func_expr()) { +inline ::pg_query::RowCompareExpr* Node::unsafe_arena_release_row_compare_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_compare_expr) + if (node_case() == kRowCompareExpr) { clear_has_node(); - ::pg_query::FuncExpr* temp = _impl_.node_.func_expr_; - _impl_.node_.func_expr_ = nullptr; + auto* temp = _impl_.node_.row_compare_expr_; + _impl_.node_.row_compare_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_func_expr(::pg_query::FuncExpr* func_expr) { +inline void Node::unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (func_expr) { - set_has_func_expr(); - _impl_.node_.func_expr_ = func_expr; + if (value) { + set_has_row_compare_expr(); + _impl_.node_.row_compare_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_compare_expr) } -inline ::pg_query::FuncExpr* Node::_internal_mutable_func_expr() { - if (!_internal_has_func_expr()) { +inline ::pg_query::RowCompareExpr* Node::_internal_mutable_row_compare_expr() { + if (node_case() != kRowCompareExpr) { clear_node(); - set_has_func_expr(); - _impl_.node_.func_expr_ = CreateMaybeMessage< ::pg_query::FuncExpr >(GetArenaForAllocation()); + set_has_row_compare_expr(); + _impl_.node_.row_compare_expr_ = CreateMaybeMessage<::pg_query::RowCompareExpr>(GetArena()); } - return _impl_.node_.func_expr_; + return _impl_.node_.row_compare_expr_; } -inline ::pg_query::FuncExpr* Node::mutable_func_expr() { - ::pg_query::FuncExpr* _msg = _internal_mutable_func_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.func_expr) +inline ::pg_query::RowCompareExpr* Node::mutable_row_compare_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowCompareExpr* _msg = _internal_mutable_row_compare_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_compare_expr) return _msg; } -// .pg_query.NamedArgExpr named_arg_expr = 11 [json_name = "NamedArgExpr"]; -inline bool Node::_internal_has_named_arg_expr() const { - return node_case() == kNamedArgExpr; +// .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"]; +inline bool Node::has_coalesce_expr() const { + return node_case() == kCoalesceExpr; } -inline bool Node::has_named_arg_expr() const { - return _internal_has_named_arg_expr(); +inline bool Node::_internal_has_coalesce_expr() const { + return node_case() == kCoalesceExpr; } -inline void Node::set_has_named_arg_expr() { - _impl_._oneof_case_[0] = kNamedArgExpr; +inline void Node::set_has_coalesce_expr() { + _impl_._oneof_case_[0] = kCoalesceExpr; } -inline void Node::clear_named_arg_expr() { - if (_internal_has_named_arg_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.named_arg_expr_; +inline void Node::clear_coalesce_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoalesceExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.coalesce_expr_; } clear_has_node(); } } -inline ::pg_query::NamedArgExpr* Node::release_named_arg_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.named_arg_expr) - if (_internal_has_named_arg_expr()) { +inline ::pg_query::CoalesceExpr* Node::release_coalesce_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.coalesce_expr) + if (node_case() == kCoalesceExpr) { clear_has_node(); - ::pg_query::NamedArgExpr* temp = _impl_.node_.named_arg_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.coalesce_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.named_arg_expr_ = nullptr; + _impl_.node_.coalesce_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NamedArgExpr& Node::_internal_named_arg_expr() const { - return _internal_has_named_arg_expr() - ? *_impl_.node_.named_arg_expr_ - : reinterpret_cast< ::pg_query::NamedArgExpr&>(::pg_query::_NamedArgExpr_default_instance_); +inline const ::pg_query::CoalesceExpr& Node::_internal_coalesce_expr() const { + return node_case() == kCoalesceExpr ? *_impl_.node_.coalesce_expr_ : reinterpret_cast<::pg_query::CoalesceExpr&>(::pg_query::_CoalesceExpr_default_instance_); } -inline const ::pg_query::NamedArgExpr& Node::named_arg_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.named_arg_expr) - return _internal_named_arg_expr(); +inline const ::pg_query::CoalesceExpr& Node::coalesce_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coalesce_expr) + return _internal_coalesce_expr(); } -inline ::pg_query::NamedArgExpr* Node::unsafe_arena_release_named_arg_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.named_arg_expr) - if (_internal_has_named_arg_expr()) { +inline ::pg_query::CoalesceExpr* Node::unsafe_arena_release_coalesce_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coalesce_expr) + if (node_case() == kCoalesceExpr) { clear_has_node(); - ::pg_query::NamedArgExpr* temp = _impl_.node_.named_arg_expr_; - _impl_.node_.named_arg_expr_ = nullptr; + auto* temp = _impl_.node_.coalesce_expr_; + _impl_.node_.coalesce_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_named_arg_expr(::pg_query::NamedArgExpr* named_arg_expr) { +inline void Node::unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (named_arg_expr) { - set_has_named_arg_expr(); - _impl_.node_.named_arg_expr_ = named_arg_expr; + if (value) { + set_has_coalesce_expr(); + _impl_.node_.coalesce_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.named_arg_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coalesce_expr) } -inline ::pg_query::NamedArgExpr* Node::_internal_mutable_named_arg_expr() { - if (!_internal_has_named_arg_expr()) { +inline ::pg_query::CoalesceExpr* Node::_internal_mutable_coalesce_expr() { + if (node_case() != kCoalesceExpr) { clear_node(); - set_has_named_arg_expr(); - _impl_.node_.named_arg_expr_ = CreateMaybeMessage< ::pg_query::NamedArgExpr >(GetArenaForAllocation()); + set_has_coalesce_expr(); + _impl_.node_.coalesce_expr_ = CreateMaybeMessage<::pg_query::CoalesceExpr>(GetArena()); } - return _impl_.node_.named_arg_expr_; + return _impl_.node_.coalesce_expr_; } -inline ::pg_query::NamedArgExpr* Node::mutable_named_arg_expr() { - ::pg_query::NamedArgExpr* _msg = _internal_mutable_named_arg_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.named_arg_expr) +inline ::pg_query::CoalesceExpr* Node::mutable_coalesce_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoalesceExpr* _msg = _internal_mutable_coalesce_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coalesce_expr) return _msg; } -// .pg_query.OpExpr op_expr = 12 [json_name = "OpExpr"]; -inline bool Node::_internal_has_op_expr() const { - return node_case() == kOpExpr; +// .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"]; +inline bool Node::has_min_max_expr() const { + return node_case() == kMinMaxExpr; } -inline bool Node::has_op_expr() const { - return _internal_has_op_expr(); +inline bool Node::_internal_has_min_max_expr() const { + return node_case() == kMinMaxExpr; } -inline void Node::set_has_op_expr() { - _impl_._oneof_case_[0] = kOpExpr; +inline void Node::set_has_min_max_expr() { + _impl_._oneof_case_[0] = kMinMaxExpr; } -inline void Node::clear_op_expr() { - if (_internal_has_op_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.op_expr_; +inline void Node::clear_min_max_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMinMaxExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.min_max_expr_; } clear_has_node(); } } -inline ::pg_query::OpExpr* Node::release_op_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.op_expr) - if (_internal_has_op_expr()) { +inline ::pg_query::MinMaxExpr* Node::release_min_max_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.min_max_expr) + if (node_case() == kMinMaxExpr) { clear_has_node(); - ::pg_query::OpExpr* temp = _impl_.node_.op_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.min_max_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.op_expr_ = nullptr; + _impl_.node_.min_max_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OpExpr& Node::_internal_op_expr() const { - return _internal_has_op_expr() - ? *_impl_.node_.op_expr_ - : reinterpret_cast< ::pg_query::OpExpr&>(::pg_query::_OpExpr_default_instance_); +inline const ::pg_query::MinMaxExpr& Node::_internal_min_max_expr() const { + return node_case() == kMinMaxExpr ? *_impl_.node_.min_max_expr_ : reinterpret_cast<::pg_query::MinMaxExpr&>(::pg_query::_MinMaxExpr_default_instance_); } -inline const ::pg_query::OpExpr& Node::op_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.op_expr) - return _internal_op_expr(); +inline const ::pg_query::MinMaxExpr& Node::min_max_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.min_max_expr) + return _internal_min_max_expr(); } -inline ::pg_query::OpExpr* Node::unsafe_arena_release_op_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.op_expr) - if (_internal_has_op_expr()) { +inline ::pg_query::MinMaxExpr* Node::unsafe_arena_release_min_max_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.min_max_expr) + if (node_case() == kMinMaxExpr) { clear_has_node(); - ::pg_query::OpExpr* temp = _impl_.node_.op_expr_; - _impl_.node_.op_expr_ = nullptr; + auto* temp = _impl_.node_.min_max_expr_; + _impl_.node_.min_max_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_op_expr(::pg_query::OpExpr* op_expr) { +inline void Node::unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (op_expr) { - set_has_op_expr(); - _impl_.node_.op_expr_ = op_expr; + if (value) { + set_has_min_max_expr(); + _impl_.node_.min_max_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.op_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.min_max_expr) } -inline ::pg_query::OpExpr* Node::_internal_mutable_op_expr() { - if (!_internal_has_op_expr()) { +inline ::pg_query::MinMaxExpr* Node::_internal_mutable_min_max_expr() { + if (node_case() != kMinMaxExpr) { clear_node(); - set_has_op_expr(); - _impl_.node_.op_expr_ = CreateMaybeMessage< ::pg_query::OpExpr >(GetArenaForAllocation()); + set_has_min_max_expr(); + _impl_.node_.min_max_expr_ = CreateMaybeMessage<::pg_query::MinMaxExpr>(GetArena()); } - return _impl_.node_.op_expr_; + return _impl_.node_.min_max_expr_; } -inline ::pg_query::OpExpr* Node::mutable_op_expr() { - ::pg_query::OpExpr* _msg = _internal_mutable_op_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.op_expr) +inline ::pg_query::MinMaxExpr* Node::mutable_min_max_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MinMaxExpr* _msg = _internal_mutable_min_max_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.min_max_expr) return _msg; } -// .pg_query.DistinctExpr distinct_expr = 13 [json_name = "DistinctExpr"]; -inline bool Node::_internal_has_distinct_expr() const { - return node_case() == kDistinctExpr; +// .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"]; +inline bool Node::has_sqlvalue_function() const { + return node_case() == kSqlvalueFunction; } -inline bool Node::has_distinct_expr() const { - return _internal_has_distinct_expr(); +inline bool Node::_internal_has_sqlvalue_function() const { + return node_case() == kSqlvalueFunction; } -inline void Node::set_has_distinct_expr() { - _impl_._oneof_case_[0] = kDistinctExpr; +inline void Node::set_has_sqlvalue_function() { + _impl_._oneof_case_[0] = kSqlvalueFunction; } -inline void Node::clear_distinct_expr() { - if (_internal_has_distinct_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.distinct_expr_; +inline void Node::clear_sqlvalue_function() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSqlvalueFunction) { + if (GetArena() == nullptr) { + delete _impl_.node_.sqlvalue_function_; } clear_has_node(); } } -inline ::pg_query::DistinctExpr* Node::release_distinct_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.distinct_expr) - if (_internal_has_distinct_expr()) { +inline ::pg_query::SQLValueFunction* Node::release_sqlvalue_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.sqlvalue_function) + if (node_case() == kSqlvalueFunction) { clear_has_node(); - ::pg_query::DistinctExpr* temp = _impl_.node_.distinct_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.sqlvalue_function_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.distinct_expr_ = nullptr; + _impl_.node_.sqlvalue_function_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DistinctExpr& Node::_internal_distinct_expr() const { - return _internal_has_distinct_expr() - ? *_impl_.node_.distinct_expr_ - : reinterpret_cast< ::pg_query::DistinctExpr&>(::pg_query::_DistinctExpr_default_instance_); +inline const ::pg_query::SQLValueFunction& Node::_internal_sqlvalue_function() const { + return node_case() == kSqlvalueFunction ? *_impl_.node_.sqlvalue_function_ : reinterpret_cast<::pg_query::SQLValueFunction&>(::pg_query::_SQLValueFunction_default_instance_); } -inline const ::pg_query::DistinctExpr& Node::distinct_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.distinct_expr) - return _internal_distinct_expr(); +inline const ::pg_query::SQLValueFunction& Node::sqlvalue_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sqlvalue_function) + return _internal_sqlvalue_function(); } -inline ::pg_query::DistinctExpr* Node::unsafe_arena_release_distinct_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.distinct_expr) - if (_internal_has_distinct_expr()) { +inline ::pg_query::SQLValueFunction* Node::unsafe_arena_release_sqlvalue_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sqlvalue_function) + if (node_case() == kSqlvalueFunction) { clear_has_node(); - ::pg_query::DistinctExpr* temp = _impl_.node_.distinct_expr_; - _impl_.node_.distinct_expr_ = nullptr; + auto* temp = _impl_.node_.sqlvalue_function_; + _impl_.node_.sqlvalue_function_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_distinct_expr(::pg_query::DistinctExpr* distinct_expr) { +inline void Node::unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (distinct_expr) { - set_has_distinct_expr(); - _impl_.node_.distinct_expr_ = distinct_expr; + if (value) { + set_has_sqlvalue_function(); + _impl_.node_.sqlvalue_function_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.distinct_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sqlvalue_function) } -inline ::pg_query::DistinctExpr* Node::_internal_mutable_distinct_expr() { - if (!_internal_has_distinct_expr()) { +inline ::pg_query::SQLValueFunction* Node::_internal_mutable_sqlvalue_function() { + if (node_case() != kSqlvalueFunction) { clear_node(); - set_has_distinct_expr(); - _impl_.node_.distinct_expr_ = CreateMaybeMessage< ::pg_query::DistinctExpr >(GetArenaForAllocation()); + set_has_sqlvalue_function(); + _impl_.node_.sqlvalue_function_ = CreateMaybeMessage<::pg_query::SQLValueFunction>(GetArena()); } - return _impl_.node_.distinct_expr_; + return _impl_.node_.sqlvalue_function_; } -inline ::pg_query::DistinctExpr* Node::mutable_distinct_expr() { - ::pg_query::DistinctExpr* _msg = _internal_mutable_distinct_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.distinct_expr) +inline ::pg_query::SQLValueFunction* Node::mutable_sqlvalue_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SQLValueFunction* _msg = _internal_mutable_sqlvalue_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sqlvalue_function) return _msg; } -// .pg_query.NullIfExpr null_if_expr = 14 [json_name = "NullIfExpr"]; -inline bool Node::_internal_has_null_if_expr() const { - return node_case() == kNullIfExpr; +// .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"]; +inline bool Node::has_xml_expr() const { + return node_case() == kXmlExpr; } -inline bool Node::has_null_if_expr() const { - return _internal_has_null_if_expr(); +inline bool Node::_internal_has_xml_expr() const { + return node_case() == kXmlExpr; } -inline void Node::set_has_null_if_expr() { - _impl_._oneof_case_[0] = kNullIfExpr; +inline void Node::set_has_xml_expr() { + _impl_._oneof_case_[0] = kXmlExpr; } -inline void Node::clear_null_if_expr() { - if (_internal_has_null_if_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.null_if_expr_; +inline void Node::clear_xml_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kXmlExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.xml_expr_; } clear_has_node(); } } -inline ::pg_query::NullIfExpr* Node::release_null_if_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.null_if_expr) - if (_internal_has_null_if_expr()) { +inline ::pg_query::XmlExpr* Node::release_xml_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.xml_expr) + if (node_case() == kXmlExpr) { clear_has_node(); - ::pg_query::NullIfExpr* temp = _impl_.node_.null_if_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.xml_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.null_if_expr_ = nullptr; + _impl_.node_.xml_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NullIfExpr& Node::_internal_null_if_expr() const { - return _internal_has_null_if_expr() - ? *_impl_.node_.null_if_expr_ - : reinterpret_cast< ::pg_query::NullIfExpr&>(::pg_query::_NullIfExpr_default_instance_); +inline const ::pg_query::XmlExpr& Node::_internal_xml_expr() const { + return node_case() == kXmlExpr ? *_impl_.node_.xml_expr_ : reinterpret_cast<::pg_query::XmlExpr&>(::pg_query::_XmlExpr_default_instance_); } -inline const ::pg_query::NullIfExpr& Node::null_if_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.null_if_expr) - return _internal_null_if_expr(); +inline const ::pg_query::XmlExpr& Node::xml_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.xml_expr) + return _internal_xml_expr(); } -inline ::pg_query::NullIfExpr* Node::unsafe_arena_release_null_if_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_if_expr) - if (_internal_has_null_if_expr()) { +inline ::pg_query::XmlExpr* Node::unsafe_arena_release_xml_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_expr) + if (node_case() == kXmlExpr) { clear_has_node(); - ::pg_query::NullIfExpr* temp = _impl_.node_.null_if_expr_; - _impl_.node_.null_if_expr_ = nullptr; + auto* temp = _impl_.node_.xml_expr_; + _impl_.node_.xml_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_null_if_expr(::pg_query::NullIfExpr* null_if_expr) { +inline void Node::unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (null_if_expr) { - set_has_null_if_expr(); - _impl_.node_.null_if_expr_ = null_if_expr; + if (value) { + set_has_xml_expr(); + _impl_.node_.xml_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_if_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_expr) } -inline ::pg_query::NullIfExpr* Node::_internal_mutable_null_if_expr() { - if (!_internal_has_null_if_expr()) { +inline ::pg_query::XmlExpr* Node::_internal_mutable_xml_expr() { + if (node_case() != kXmlExpr) { clear_node(); - set_has_null_if_expr(); - _impl_.node_.null_if_expr_ = CreateMaybeMessage< ::pg_query::NullIfExpr >(GetArenaForAllocation()); + set_has_xml_expr(); + _impl_.node_.xml_expr_ = CreateMaybeMessage<::pg_query::XmlExpr>(GetArena()); } - return _impl_.node_.null_if_expr_; + return _impl_.node_.xml_expr_; } -inline ::pg_query::NullIfExpr* Node::mutable_null_if_expr() { - ::pg_query::NullIfExpr* _msg = _internal_mutable_null_if_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.null_if_expr) +inline ::pg_query::XmlExpr* Node::mutable_xml_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::XmlExpr* _msg = _internal_mutable_xml_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_expr) return _msg; } -// .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 15 [json_name = "ScalarArrayOpExpr"]; -inline bool Node::_internal_has_scalar_array_op_expr() const { - return node_case() == kScalarArrayOpExpr; +// .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"]; +inline bool Node::has_json_format() const { + return node_case() == kJsonFormat; } -inline bool Node::has_scalar_array_op_expr() const { - return _internal_has_scalar_array_op_expr(); +inline bool Node::_internal_has_json_format() const { + return node_case() == kJsonFormat; } -inline void Node::set_has_scalar_array_op_expr() { - _impl_._oneof_case_[0] = kScalarArrayOpExpr; +inline void Node::set_has_json_format() { + _impl_._oneof_case_[0] = kJsonFormat; } -inline void Node::clear_scalar_array_op_expr() { - if (_internal_has_scalar_array_op_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.scalar_array_op_expr_; +inline void Node::clear_json_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonFormat) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_format_; } clear_has_node(); } } -inline ::pg_query::ScalarArrayOpExpr* Node::release_scalar_array_op_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.scalar_array_op_expr) - if (_internal_has_scalar_array_op_expr()) { +inline ::pg_query::JsonFormat* Node::release_json_format() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_format) + if (node_case() == kJsonFormat) { clear_has_node(); - ::pg_query::ScalarArrayOpExpr* temp = _impl_.node_.scalar_array_op_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_format_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.scalar_array_op_expr_ = nullptr; + _impl_.node_.json_format_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ScalarArrayOpExpr& Node::_internal_scalar_array_op_expr() const { - return _internal_has_scalar_array_op_expr() - ? *_impl_.node_.scalar_array_op_expr_ - : reinterpret_cast< ::pg_query::ScalarArrayOpExpr&>(::pg_query::_ScalarArrayOpExpr_default_instance_); +inline const ::pg_query::JsonFormat& Node::_internal_json_format() const { + return node_case() == kJsonFormat ? *_impl_.node_.json_format_ : reinterpret_cast<::pg_query::JsonFormat&>(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::ScalarArrayOpExpr& Node::scalar_array_op_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.scalar_array_op_expr) - return _internal_scalar_array_op_expr(); +inline const ::pg_query::JsonFormat& Node::json_format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_format) + return _internal_json_format(); } -inline ::pg_query::ScalarArrayOpExpr* Node::unsafe_arena_release_scalar_array_op_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.scalar_array_op_expr) - if (_internal_has_scalar_array_op_expr()) { +inline ::pg_query::JsonFormat* Node::unsafe_arena_release_json_format() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_format) + if (node_case() == kJsonFormat) { clear_has_node(); - ::pg_query::ScalarArrayOpExpr* temp = _impl_.node_.scalar_array_op_expr_; - _impl_.node_.scalar_array_op_expr_ = nullptr; + auto* temp = _impl_.node_.json_format_; + _impl_.node_.json_format_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* scalar_array_op_expr) { +inline void Node::unsafe_arena_set_allocated_json_format(::pg_query::JsonFormat* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (scalar_array_op_expr) { - set_has_scalar_array_op_expr(); - _impl_.node_.scalar_array_op_expr_ = scalar_array_op_expr; + if (value) { + set_has_json_format(); + _impl_.node_.json_format_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.scalar_array_op_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_format) } -inline ::pg_query::ScalarArrayOpExpr* Node::_internal_mutable_scalar_array_op_expr() { - if (!_internal_has_scalar_array_op_expr()) { +inline ::pg_query::JsonFormat* Node::_internal_mutable_json_format() { + if (node_case() != kJsonFormat) { clear_node(); - set_has_scalar_array_op_expr(); - _impl_.node_.scalar_array_op_expr_ = CreateMaybeMessage< ::pg_query::ScalarArrayOpExpr >(GetArenaForAllocation()); + set_has_json_format(); + _impl_.node_.json_format_ = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); } - return _impl_.node_.scalar_array_op_expr_; + return _impl_.node_.json_format_; } -inline ::pg_query::ScalarArrayOpExpr* Node::mutable_scalar_array_op_expr() { - ::pg_query::ScalarArrayOpExpr* _msg = _internal_mutable_scalar_array_op_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.scalar_array_op_expr) +inline ::pg_query::JsonFormat* Node::mutable_json_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_json_format(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_format) return _msg; } -// .pg_query.BoolExpr bool_expr = 16 [json_name = "BoolExpr"]; -inline bool Node::_internal_has_bool_expr() const { - return node_case() == kBoolExpr; +// .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"]; +inline bool Node::has_json_returning() const { + return node_case() == kJsonReturning; } -inline bool Node::has_bool_expr() const { - return _internal_has_bool_expr(); +inline bool Node::_internal_has_json_returning() const { + return node_case() == kJsonReturning; } -inline void Node::set_has_bool_expr() { - _impl_._oneof_case_[0] = kBoolExpr; +inline void Node::set_has_json_returning() { + _impl_._oneof_case_[0] = kJsonReturning; } -inline void Node::clear_bool_expr() { - if (_internal_has_bool_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.bool_expr_; +inline void Node::clear_json_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonReturning) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_returning_; } clear_has_node(); } } -inline ::pg_query::BoolExpr* Node::release_bool_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.bool_expr) - if (_internal_has_bool_expr()) { +inline ::pg_query::JsonReturning* Node::release_json_returning() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_returning) + if (node_case() == kJsonReturning) { clear_has_node(); - ::pg_query::BoolExpr* temp = _impl_.node_.bool_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_returning_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.bool_expr_ = nullptr; + _impl_.node_.json_returning_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::BoolExpr& Node::_internal_bool_expr() const { - return _internal_has_bool_expr() - ? *_impl_.node_.bool_expr_ - : reinterpret_cast< ::pg_query::BoolExpr&>(::pg_query::_BoolExpr_default_instance_); +inline const ::pg_query::JsonReturning& Node::_internal_json_returning() const { + return node_case() == kJsonReturning ? *_impl_.node_.json_returning_ : reinterpret_cast<::pg_query::JsonReturning&>(::pg_query::_JsonReturning_default_instance_); } -inline const ::pg_query::BoolExpr& Node::bool_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.bool_expr) - return _internal_bool_expr(); +inline const ::pg_query::JsonReturning& Node::json_returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_returning) + return _internal_json_returning(); } -inline ::pg_query::BoolExpr* Node::unsafe_arena_release_bool_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bool_expr) - if (_internal_has_bool_expr()) { +inline ::pg_query::JsonReturning* Node::unsafe_arena_release_json_returning() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_returning) + if (node_case() == kJsonReturning) { clear_has_node(); - ::pg_query::BoolExpr* temp = _impl_.node_.bool_expr_; - _impl_.node_.bool_expr_ = nullptr; + auto* temp = _impl_.node_.json_returning_; + _impl_.node_.json_returning_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_bool_expr(::pg_query::BoolExpr* bool_expr) { +inline void Node::unsafe_arena_set_allocated_json_returning(::pg_query::JsonReturning* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (bool_expr) { - set_has_bool_expr(); - _impl_.node_.bool_expr_ = bool_expr; + if (value) { + set_has_json_returning(); + _impl_.node_.json_returning_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bool_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_returning) } -inline ::pg_query::BoolExpr* Node::_internal_mutable_bool_expr() { - if (!_internal_has_bool_expr()) { +inline ::pg_query::JsonReturning* Node::_internal_mutable_json_returning() { + if (node_case() != kJsonReturning) { clear_node(); - set_has_bool_expr(); - _impl_.node_.bool_expr_ = CreateMaybeMessage< ::pg_query::BoolExpr >(GetArenaForAllocation()); + set_has_json_returning(); + _impl_.node_.json_returning_ = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); } - return _impl_.node_.bool_expr_; + return _impl_.node_.json_returning_; } -inline ::pg_query::BoolExpr* Node::mutable_bool_expr() { - ::pg_query::BoolExpr* _msg = _internal_mutable_bool_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.bool_expr) +inline ::pg_query::JsonReturning* Node::mutable_json_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_json_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_returning) return _msg; } -// .pg_query.SubLink sub_link = 17 [json_name = "SubLink"]; -inline bool Node::_internal_has_sub_link() const { - return node_case() == kSubLink; +// .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"]; +inline bool Node::has_json_value_expr() const { + return node_case() == kJsonValueExpr; } -inline bool Node::has_sub_link() const { - return _internal_has_sub_link(); +inline bool Node::_internal_has_json_value_expr() const { + return node_case() == kJsonValueExpr; } -inline void Node::set_has_sub_link() { - _impl_._oneof_case_[0] = kSubLink; +inline void Node::set_has_json_value_expr() { + _impl_._oneof_case_[0] = kJsonValueExpr; } -inline void Node::clear_sub_link() { - if (_internal_has_sub_link()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sub_link_; +inline void Node::clear_json_value_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonValueExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_value_expr_; } clear_has_node(); } } -inline ::pg_query::SubLink* Node::release_sub_link() { - // @@protoc_insertion_point(field_release:pg_query.Node.sub_link) - if (_internal_has_sub_link()) { +inline ::pg_query::JsonValueExpr* Node::release_json_value_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_value_expr) + if (node_case() == kJsonValueExpr) { clear_has_node(); - ::pg_query::SubLink* temp = _impl_.node_.sub_link_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_value_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sub_link_ = nullptr; + _impl_.node_.json_value_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubLink& Node::_internal_sub_link() const { - return _internal_has_sub_link() - ? *_impl_.node_.sub_link_ - : reinterpret_cast< ::pg_query::SubLink&>(::pg_query::_SubLink_default_instance_); +inline const ::pg_query::JsonValueExpr& Node::_internal_json_value_expr() const { + return node_case() == kJsonValueExpr ? *_impl_.node_.json_value_expr_ : reinterpret_cast<::pg_query::JsonValueExpr&>(::pg_query::_JsonValueExpr_default_instance_); } -inline const ::pg_query::SubLink& Node::sub_link() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sub_link) - return _internal_sub_link(); +inline const ::pg_query::JsonValueExpr& Node::json_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_value_expr) + return _internal_json_value_expr(); } -inline ::pg_query::SubLink* Node::unsafe_arena_release_sub_link() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_link) - if (_internal_has_sub_link()) { +inline ::pg_query::JsonValueExpr* Node::unsafe_arena_release_json_value_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_value_expr) + if (node_case() == kJsonValueExpr) { clear_has_node(); - ::pg_query::SubLink* temp = _impl_.node_.sub_link_; - _impl_.node_.sub_link_ = nullptr; + auto* temp = _impl_.node_.json_value_expr_; + _impl_.node_.json_value_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sub_link(::pg_query::SubLink* sub_link) { +inline void Node::unsafe_arena_set_allocated_json_value_expr(::pg_query::JsonValueExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sub_link) { - set_has_sub_link(); - _impl_.node_.sub_link_ = sub_link; + if (value) { + set_has_json_value_expr(); + _impl_.node_.json_value_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_link) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_value_expr) } -inline ::pg_query::SubLink* Node::_internal_mutable_sub_link() { - if (!_internal_has_sub_link()) { +inline ::pg_query::JsonValueExpr* Node::_internal_mutable_json_value_expr() { + if (node_case() != kJsonValueExpr) { clear_node(); - set_has_sub_link(); - _impl_.node_.sub_link_ = CreateMaybeMessage< ::pg_query::SubLink >(GetArenaForAllocation()); + set_has_json_value_expr(); + _impl_.node_.json_value_expr_ = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); } - return _impl_.node_.sub_link_; + return _impl_.node_.json_value_expr_; } -inline ::pg_query::SubLink* Node::mutable_sub_link() { - ::pg_query::SubLink* _msg = _internal_mutable_sub_link(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_link) +inline ::pg_query::JsonValueExpr* Node::mutable_json_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_json_value_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_value_expr) return _msg; } -// .pg_query.SubPlan sub_plan = 18 [json_name = "SubPlan"]; -inline bool Node::_internal_has_sub_plan() const { - return node_case() == kSubPlan; +// .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"]; +inline bool Node::has_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr; } -inline bool Node::has_sub_plan() const { - return _internal_has_sub_plan(); +inline bool Node::_internal_has_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr; } -inline void Node::set_has_sub_plan() { - _impl_._oneof_case_[0] = kSubPlan; +inline void Node::set_has_json_constructor_expr() { + _impl_._oneof_case_[0] = kJsonConstructorExpr; } -inline void Node::clear_sub_plan() { - if (_internal_has_sub_plan()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sub_plan_; +inline void Node::clear_json_constructor_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonConstructorExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_constructor_expr_; } clear_has_node(); } } -inline ::pg_query::SubPlan* Node::release_sub_plan() { - // @@protoc_insertion_point(field_release:pg_query.Node.sub_plan) - if (_internal_has_sub_plan()) { +inline ::pg_query::JsonConstructorExpr* Node::release_json_constructor_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_constructor_expr) + if (node_case() == kJsonConstructorExpr) { clear_has_node(); - ::pg_query::SubPlan* temp = _impl_.node_.sub_plan_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_constructor_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sub_plan_ = nullptr; + _impl_.node_.json_constructor_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SubPlan& Node::_internal_sub_plan() const { - return _internal_has_sub_plan() - ? *_impl_.node_.sub_plan_ - : reinterpret_cast< ::pg_query::SubPlan&>(::pg_query::_SubPlan_default_instance_); +inline const ::pg_query::JsonConstructorExpr& Node::_internal_json_constructor_expr() const { + return node_case() == kJsonConstructorExpr ? *_impl_.node_.json_constructor_expr_ : reinterpret_cast<::pg_query::JsonConstructorExpr&>(::pg_query::_JsonConstructorExpr_default_instance_); } -inline const ::pg_query::SubPlan& Node::sub_plan() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sub_plan) - return _internal_sub_plan(); +inline const ::pg_query::JsonConstructorExpr& Node::json_constructor_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_constructor_expr) + return _internal_json_constructor_expr(); } -inline ::pg_query::SubPlan* Node::unsafe_arena_release_sub_plan() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sub_plan) - if (_internal_has_sub_plan()) { +inline ::pg_query::JsonConstructorExpr* Node::unsafe_arena_release_json_constructor_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_constructor_expr) + if (node_case() == kJsonConstructorExpr) { clear_has_node(); - ::pg_query::SubPlan* temp = _impl_.node_.sub_plan_; - _impl_.node_.sub_plan_ = nullptr; + auto* temp = _impl_.node_.json_constructor_expr_; + _impl_.node_.json_constructor_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sub_plan(::pg_query::SubPlan* sub_plan) { +inline void Node::unsafe_arena_set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sub_plan) { - set_has_sub_plan(); - _impl_.node_.sub_plan_ = sub_plan; + if (value) { + set_has_json_constructor_expr(); + _impl_.node_.json_constructor_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sub_plan) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_constructor_expr) } -inline ::pg_query::SubPlan* Node::_internal_mutable_sub_plan() { - if (!_internal_has_sub_plan()) { +inline ::pg_query::JsonConstructorExpr* Node::_internal_mutable_json_constructor_expr() { + if (node_case() != kJsonConstructorExpr) { clear_node(); - set_has_sub_plan(); - _impl_.node_.sub_plan_ = CreateMaybeMessage< ::pg_query::SubPlan >(GetArenaForAllocation()); + set_has_json_constructor_expr(); + _impl_.node_.json_constructor_expr_ = CreateMaybeMessage<::pg_query::JsonConstructorExpr>(GetArena()); } - return _impl_.node_.sub_plan_; + return _impl_.node_.json_constructor_expr_; } -inline ::pg_query::SubPlan* Node::mutable_sub_plan() { - ::pg_query::SubPlan* _msg = _internal_mutable_sub_plan(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sub_plan) +inline ::pg_query::JsonConstructorExpr* Node::mutable_json_constructor_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonConstructorExpr* _msg = _internal_mutable_json_constructor_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_constructor_expr) return _msg; } -// .pg_query.AlternativeSubPlan alternative_sub_plan = 19 [json_name = "AlternativeSubPlan"]; -inline bool Node::_internal_has_alternative_sub_plan() const { - return node_case() == kAlternativeSubPlan; +// .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"]; +inline bool Node::has_json_is_predicate() const { + return node_case() == kJsonIsPredicate; } -inline bool Node::has_alternative_sub_plan() const { - return _internal_has_alternative_sub_plan(); +inline bool Node::_internal_has_json_is_predicate() const { + return node_case() == kJsonIsPredicate; } -inline void Node::set_has_alternative_sub_plan() { - _impl_._oneof_case_[0] = kAlternativeSubPlan; +inline void Node::set_has_json_is_predicate() { + _impl_._oneof_case_[0] = kJsonIsPredicate; } -inline void Node::clear_alternative_sub_plan() { - if (_internal_has_alternative_sub_plan()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alternative_sub_plan_; +inline void Node::clear_json_is_predicate() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonIsPredicate) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_is_predicate_; } clear_has_node(); } } -inline ::pg_query::AlternativeSubPlan* Node::release_alternative_sub_plan() { - // @@protoc_insertion_point(field_release:pg_query.Node.alternative_sub_plan) - if (_internal_has_alternative_sub_plan()) { +inline ::pg_query::JsonIsPredicate* Node::release_json_is_predicate() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_is_predicate) + if (node_case() == kJsonIsPredicate) { clear_has_node(); - ::pg_query::AlternativeSubPlan* temp = _impl_.node_.alternative_sub_plan_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_is_predicate_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alternative_sub_plan_ = nullptr; + _impl_.node_.json_is_predicate_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlternativeSubPlan& Node::_internal_alternative_sub_plan() const { - return _internal_has_alternative_sub_plan() - ? *_impl_.node_.alternative_sub_plan_ - : reinterpret_cast< ::pg_query::AlternativeSubPlan&>(::pg_query::_AlternativeSubPlan_default_instance_); +inline const ::pg_query::JsonIsPredicate& Node::_internal_json_is_predicate() const { + return node_case() == kJsonIsPredicate ? *_impl_.node_.json_is_predicate_ : reinterpret_cast<::pg_query::JsonIsPredicate&>(::pg_query::_JsonIsPredicate_default_instance_); } -inline const ::pg_query::AlternativeSubPlan& Node::alternative_sub_plan() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alternative_sub_plan) - return _internal_alternative_sub_plan(); +inline const ::pg_query::JsonIsPredicate& Node::json_is_predicate() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_is_predicate) + return _internal_json_is_predicate(); } -inline ::pg_query::AlternativeSubPlan* Node::unsafe_arena_release_alternative_sub_plan() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alternative_sub_plan) - if (_internal_has_alternative_sub_plan()) { +inline ::pg_query::JsonIsPredicate* Node::unsafe_arena_release_json_is_predicate() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_is_predicate) + if (node_case() == kJsonIsPredicate) { clear_has_node(); - ::pg_query::AlternativeSubPlan* temp = _impl_.node_.alternative_sub_plan_; - _impl_.node_.alternative_sub_plan_ = nullptr; + auto* temp = _impl_.node_.json_is_predicate_; + _impl_.node_.json_is_predicate_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* alternative_sub_plan) { +inline void Node::unsafe_arena_set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alternative_sub_plan) { - set_has_alternative_sub_plan(); - _impl_.node_.alternative_sub_plan_ = alternative_sub_plan; + if (value) { + set_has_json_is_predicate(); + _impl_.node_.json_is_predicate_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alternative_sub_plan) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_is_predicate) } -inline ::pg_query::AlternativeSubPlan* Node::_internal_mutable_alternative_sub_plan() { - if (!_internal_has_alternative_sub_plan()) { +inline ::pg_query::JsonIsPredicate* Node::_internal_mutable_json_is_predicate() { + if (node_case() != kJsonIsPredicate) { clear_node(); - set_has_alternative_sub_plan(); - _impl_.node_.alternative_sub_plan_ = CreateMaybeMessage< ::pg_query::AlternativeSubPlan >(GetArenaForAllocation()); + set_has_json_is_predicate(); + _impl_.node_.json_is_predicate_ = CreateMaybeMessage<::pg_query::JsonIsPredicate>(GetArena()); } - return _impl_.node_.alternative_sub_plan_; + return _impl_.node_.json_is_predicate_; } -inline ::pg_query::AlternativeSubPlan* Node::mutable_alternative_sub_plan() { - ::pg_query::AlternativeSubPlan* _msg = _internal_mutable_alternative_sub_plan(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alternative_sub_plan) +inline ::pg_query::JsonIsPredicate* Node::mutable_json_is_predicate() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonIsPredicate* _msg = _internal_mutable_json_is_predicate(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_is_predicate) return _msg; } - -// .pg_query.FieldSelect field_select = 20 [json_name = "FieldSelect"]; -inline bool Node::_internal_has_field_select() const { - return node_case() == kFieldSelect; + +// .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"]; +inline bool Node::has_json_behavior() const { + return node_case() == kJsonBehavior; } -inline bool Node::has_field_select() const { - return _internal_has_field_select(); +inline bool Node::_internal_has_json_behavior() const { + return node_case() == kJsonBehavior; } -inline void Node::set_has_field_select() { - _impl_._oneof_case_[0] = kFieldSelect; +inline void Node::set_has_json_behavior() { + _impl_._oneof_case_[0] = kJsonBehavior; } -inline void Node::clear_field_select() { - if (_internal_has_field_select()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.field_select_; +inline void Node::clear_json_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonBehavior) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_behavior_; } clear_has_node(); } } -inline ::pg_query::FieldSelect* Node::release_field_select() { - // @@protoc_insertion_point(field_release:pg_query.Node.field_select) - if (_internal_has_field_select()) { +inline ::pg_query::JsonBehavior* Node::release_json_behavior() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_behavior) + if (node_case() == kJsonBehavior) { clear_has_node(); - ::pg_query::FieldSelect* temp = _impl_.node_.field_select_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_behavior_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.field_select_ = nullptr; + _impl_.node_.json_behavior_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FieldSelect& Node::_internal_field_select() const { - return _internal_has_field_select() - ? *_impl_.node_.field_select_ - : reinterpret_cast< ::pg_query::FieldSelect&>(::pg_query::_FieldSelect_default_instance_); +inline const ::pg_query::JsonBehavior& Node::_internal_json_behavior() const { + return node_case() == kJsonBehavior ? *_impl_.node_.json_behavior_ : reinterpret_cast<::pg_query::JsonBehavior&>(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::FieldSelect& Node::field_select() const { - // @@protoc_insertion_point(field_get:pg_query.Node.field_select) - return _internal_field_select(); +inline const ::pg_query::JsonBehavior& Node::json_behavior() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_behavior) + return _internal_json_behavior(); } -inline ::pg_query::FieldSelect* Node::unsafe_arena_release_field_select() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_select) - if (_internal_has_field_select()) { +inline ::pg_query::JsonBehavior* Node::unsafe_arena_release_json_behavior() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_behavior) + if (node_case() == kJsonBehavior) { clear_has_node(); - ::pg_query::FieldSelect* temp = _impl_.node_.field_select_; - _impl_.node_.field_select_ = nullptr; + auto* temp = _impl_.node_.json_behavior_; + _impl_.node_.json_behavior_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_field_select(::pg_query::FieldSelect* field_select) { +inline void Node::unsafe_arena_set_allocated_json_behavior(::pg_query::JsonBehavior* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (field_select) { - set_has_field_select(); - _impl_.node_.field_select_ = field_select; + if (value) { + set_has_json_behavior(); + _impl_.node_.json_behavior_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_select) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_behavior) } -inline ::pg_query::FieldSelect* Node::_internal_mutable_field_select() { - if (!_internal_has_field_select()) { +inline ::pg_query::JsonBehavior* Node::_internal_mutable_json_behavior() { + if (node_case() != kJsonBehavior) { clear_node(); - set_has_field_select(); - _impl_.node_.field_select_ = CreateMaybeMessage< ::pg_query::FieldSelect >(GetArenaForAllocation()); + set_has_json_behavior(); + _impl_.node_.json_behavior_ = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); } - return _impl_.node_.field_select_; + return _impl_.node_.json_behavior_; } -inline ::pg_query::FieldSelect* Node::mutable_field_select() { - ::pg_query::FieldSelect* _msg = _internal_mutable_field_select(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.field_select) +inline ::pg_query::JsonBehavior* Node::mutable_json_behavior() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_json_behavior(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_behavior) return _msg; } -// .pg_query.FieldStore field_store = 21 [json_name = "FieldStore"]; -inline bool Node::_internal_has_field_store() const { - return node_case() == kFieldStore; +// .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"]; +inline bool Node::has_json_expr() const { + return node_case() == kJsonExpr; } -inline bool Node::has_field_store() const { - return _internal_has_field_store(); +inline bool Node::_internal_has_json_expr() const { + return node_case() == kJsonExpr; } -inline void Node::set_has_field_store() { - _impl_._oneof_case_[0] = kFieldStore; +inline void Node::set_has_json_expr() { + _impl_._oneof_case_[0] = kJsonExpr; } -inline void Node::clear_field_store() { - if (_internal_has_field_store()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.field_store_; +inline void Node::clear_json_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_expr_; } clear_has_node(); } } -inline ::pg_query::FieldStore* Node::release_field_store() { - // @@protoc_insertion_point(field_release:pg_query.Node.field_store) - if (_internal_has_field_store()) { +inline ::pg_query::JsonExpr* Node::release_json_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_expr) + if (node_case() == kJsonExpr) { clear_has_node(); - ::pg_query::FieldStore* temp = _impl_.node_.field_store_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.field_store_ = nullptr; + _impl_.node_.json_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FieldStore& Node::_internal_field_store() const { - return _internal_has_field_store() - ? *_impl_.node_.field_store_ - : reinterpret_cast< ::pg_query::FieldStore&>(::pg_query::_FieldStore_default_instance_); +inline const ::pg_query::JsonExpr& Node::_internal_json_expr() const { + return node_case() == kJsonExpr ? *_impl_.node_.json_expr_ : reinterpret_cast<::pg_query::JsonExpr&>(::pg_query::_JsonExpr_default_instance_); } -inline const ::pg_query::FieldStore& Node::field_store() const { - // @@protoc_insertion_point(field_get:pg_query.Node.field_store) - return _internal_field_store(); +inline const ::pg_query::JsonExpr& Node::json_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_expr) + return _internal_json_expr(); } -inline ::pg_query::FieldStore* Node::unsafe_arena_release_field_store() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.field_store) - if (_internal_has_field_store()) { +inline ::pg_query::JsonExpr* Node::unsafe_arena_release_json_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_expr) + if (node_case() == kJsonExpr) { clear_has_node(); - ::pg_query::FieldStore* temp = _impl_.node_.field_store_; - _impl_.node_.field_store_ = nullptr; + auto* temp = _impl_.node_.json_expr_; + _impl_.node_.json_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_field_store(::pg_query::FieldStore* field_store) { +inline void Node::unsafe_arena_set_allocated_json_expr(::pg_query::JsonExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (field_store) { - set_has_field_store(); - _impl_.node_.field_store_ = field_store; + if (value) { + set_has_json_expr(); + _impl_.node_.json_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.field_store) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_expr) } -inline ::pg_query::FieldStore* Node::_internal_mutable_field_store() { - if (!_internal_has_field_store()) { +inline ::pg_query::JsonExpr* Node::_internal_mutable_json_expr() { + if (node_case() != kJsonExpr) { clear_node(); - set_has_field_store(); - _impl_.node_.field_store_ = CreateMaybeMessage< ::pg_query::FieldStore >(GetArenaForAllocation()); + set_has_json_expr(); + _impl_.node_.json_expr_ = CreateMaybeMessage<::pg_query::JsonExpr>(GetArena()); } - return _impl_.node_.field_store_; + return _impl_.node_.json_expr_; } -inline ::pg_query::FieldStore* Node::mutable_field_store() { - ::pg_query::FieldStore* _msg = _internal_mutable_field_store(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.field_store) +inline ::pg_query::JsonExpr* Node::mutable_json_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonExpr* _msg = _internal_mutable_json_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_expr) return _msg; } -// .pg_query.RelabelType relabel_type = 22 [json_name = "RelabelType"]; -inline bool Node::_internal_has_relabel_type() const { - return node_case() == kRelabelType; +// .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"]; +inline bool Node::has_json_table_path() const { + return node_case() == kJsonTablePath; } -inline bool Node::has_relabel_type() const { - return _internal_has_relabel_type(); +inline bool Node::_internal_has_json_table_path() const { + return node_case() == kJsonTablePath; } -inline void Node::set_has_relabel_type() { - _impl_._oneof_case_[0] = kRelabelType; +inline void Node::set_has_json_table_path() { + _impl_._oneof_case_[0] = kJsonTablePath; } -inline void Node::clear_relabel_type() { - if (_internal_has_relabel_type()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.relabel_type_; +inline void Node::clear_json_table_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTablePath) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_path_; } clear_has_node(); } } -inline ::pg_query::RelabelType* Node::release_relabel_type() { - // @@protoc_insertion_point(field_release:pg_query.Node.relabel_type) - if (_internal_has_relabel_type()) { +inline ::pg_query::JsonTablePath* Node::release_json_table_path() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path) + if (node_case() == kJsonTablePath) { clear_has_node(); - ::pg_query::RelabelType* temp = _impl_.node_.relabel_type_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_path_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.relabel_type_ = nullptr; + _impl_.node_.json_table_path_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RelabelType& Node::_internal_relabel_type() const { - return _internal_has_relabel_type() - ? *_impl_.node_.relabel_type_ - : reinterpret_cast< ::pg_query::RelabelType&>(::pg_query::_RelabelType_default_instance_); +inline const ::pg_query::JsonTablePath& Node::_internal_json_table_path() const { + return node_case() == kJsonTablePath ? *_impl_.node_.json_table_path_ : reinterpret_cast<::pg_query::JsonTablePath&>(::pg_query::_JsonTablePath_default_instance_); } -inline const ::pg_query::RelabelType& Node::relabel_type() const { - // @@protoc_insertion_point(field_get:pg_query.Node.relabel_type) - return _internal_relabel_type(); +inline const ::pg_query::JsonTablePath& Node::json_table_path() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path) + return _internal_json_table_path(); } -inline ::pg_query::RelabelType* Node::unsafe_arena_release_relabel_type() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.relabel_type) - if (_internal_has_relabel_type()) { +inline ::pg_query::JsonTablePath* Node::unsafe_arena_release_json_table_path() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path) + if (node_case() == kJsonTablePath) { clear_has_node(); - ::pg_query::RelabelType* temp = _impl_.node_.relabel_type_; - _impl_.node_.relabel_type_ = nullptr; + auto* temp = _impl_.node_.json_table_path_; + _impl_.node_.json_table_path_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_relabel_type(::pg_query::RelabelType* relabel_type) { +inline void Node::unsafe_arena_set_allocated_json_table_path(::pg_query::JsonTablePath* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (relabel_type) { - set_has_relabel_type(); - _impl_.node_.relabel_type_ = relabel_type; + if (value) { + set_has_json_table_path(); + _impl_.node_.json_table_path_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.relabel_type) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path) } -inline ::pg_query::RelabelType* Node::_internal_mutable_relabel_type() { - if (!_internal_has_relabel_type()) { +inline ::pg_query::JsonTablePath* Node::_internal_mutable_json_table_path() { + if (node_case() != kJsonTablePath) { clear_node(); - set_has_relabel_type(); - _impl_.node_.relabel_type_ = CreateMaybeMessage< ::pg_query::RelabelType >(GetArenaForAllocation()); + set_has_json_table_path(); + _impl_.node_.json_table_path_ = CreateMaybeMessage<::pg_query::JsonTablePath>(GetArena()); } - return _impl_.node_.relabel_type_; + return _impl_.node_.json_table_path_; } -inline ::pg_query::RelabelType* Node::mutable_relabel_type() { - ::pg_query::RelabelType* _msg = _internal_mutable_relabel_type(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.relabel_type) +inline ::pg_query::JsonTablePath* Node::mutable_json_table_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePath* _msg = _internal_mutable_json_table_path(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path) return _msg; } -// .pg_query.CoerceViaIO coerce_via_io = 23 [json_name = "CoerceViaIO"]; -inline bool Node::_internal_has_coerce_via_io() const { - return node_case() == kCoerceViaIo; +// .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"]; +inline bool Node::has_json_table_path_scan() const { + return node_case() == kJsonTablePathScan; } -inline bool Node::has_coerce_via_io() const { - return _internal_has_coerce_via_io(); +inline bool Node::_internal_has_json_table_path_scan() const { + return node_case() == kJsonTablePathScan; } -inline void Node::set_has_coerce_via_io() { - _impl_._oneof_case_[0] = kCoerceViaIo; +inline void Node::set_has_json_table_path_scan() { + _impl_._oneof_case_[0] = kJsonTablePathScan; } -inline void Node::clear_coerce_via_io() { - if (_internal_has_coerce_via_io()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.coerce_via_io_; +inline void Node::clear_json_table_path_scan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTablePathScan) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_path_scan_; } clear_has_node(); } } -inline ::pg_query::CoerceViaIO* Node::release_coerce_via_io() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_via_io) - if (_internal_has_coerce_via_io()) { +inline ::pg_query::JsonTablePathScan* Node::release_json_table_path_scan() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path_scan) + if (node_case() == kJsonTablePathScan) { clear_has_node(); - ::pg_query::CoerceViaIO* temp = _impl_.node_.coerce_via_io_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_path_scan_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_via_io_ = nullptr; + _impl_.node_.json_table_path_scan_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceViaIO& Node::_internal_coerce_via_io() const { - return _internal_has_coerce_via_io() - ? *_impl_.node_.coerce_via_io_ - : reinterpret_cast< ::pg_query::CoerceViaIO&>(::pg_query::_CoerceViaIO_default_instance_); +inline const ::pg_query::JsonTablePathScan& Node::_internal_json_table_path_scan() const { + return node_case() == kJsonTablePathScan ? *_impl_.node_.json_table_path_scan_ : reinterpret_cast<::pg_query::JsonTablePathScan&>(::pg_query::_JsonTablePathScan_default_instance_); } -inline const ::pg_query::CoerceViaIO& Node::coerce_via_io() const { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_via_io) - return _internal_coerce_via_io(); +inline const ::pg_query::JsonTablePathScan& Node::json_table_path_scan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path_scan) + return _internal_json_table_path_scan(); } -inline ::pg_query::CoerceViaIO* Node::unsafe_arena_release_coerce_via_io() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_via_io) - if (_internal_has_coerce_via_io()) { +inline ::pg_query::JsonTablePathScan* Node::unsafe_arena_release_json_table_path_scan() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path_scan) + if (node_case() == kJsonTablePathScan) { clear_has_node(); - ::pg_query::CoerceViaIO* temp = _impl_.node_.coerce_via_io_; - _impl_.node_.coerce_via_io_ = nullptr; + auto* temp = _impl_.node_.json_table_path_scan_; + _impl_.node_.json_table_path_scan_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_via_io(::pg_query::CoerceViaIO* coerce_via_io) { +inline void Node::unsafe_arena_set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (coerce_via_io) { - set_has_coerce_via_io(); - _impl_.node_.coerce_via_io_ = coerce_via_io; + if (value) { + set_has_json_table_path_scan(); + _impl_.node_.json_table_path_scan_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_via_io) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path_scan) } -inline ::pg_query::CoerceViaIO* Node::_internal_mutable_coerce_via_io() { - if (!_internal_has_coerce_via_io()) { +inline ::pg_query::JsonTablePathScan* Node::_internal_mutable_json_table_path_scan() { + if (node_case() != kJsonTablePathScan) { clear_node(); - set_has_coerce_via_io(); - _impl_.node_.coerce_via_io_ = CreateMaybeMessage< ::pg_query::CoerceViaIO >(GetArenaForAllocation()); + set_has_json_table_path_scan(); + _impl_.node_.json_table_path_scan_ = CreateMaybeMessage<::pg_query::JsonTablePathScan>(GetArena()); } - return _impl_.node_.coerce_via_io_; + return _impl_.node_.json_table_path_scan_; } -inline ::pg_query::CoerceViaIO* Node::mutable_coerce_via_io() { - ::pg_query::CoerceViaIO* _msg = _internal_mutable_coerce_via_io(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_via_io) +inline ::pg_query::JsonTablePathScan* Node::mutable_json_table_path_scan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathScan* _msg = _internal_mutable_json_table_path_scan(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path_scan) return _msg; } -// .pg_query.ArrayCoerceExpr array_coerce_expr = 24 [json_name = "ArrayCoerceExpr"]; -inline bool Node::_internal_has_array_coerce_expr() const { - return node_case() == kArrayCoerceExpr; +// .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"]; +inline bool Node::has_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin; } -inline bool Node::has_array_coerce_expr() const { - return _internal_has_array_coerce_expr(); +inline bool Node::_internal_has_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin; } -inline void Node::set_has_array_coerce_expr() { - _impl_._oneof_case_[0] = kArrayCoerceExpr; +inline void Node::set_has_json_table_sibling_join() { + _impl_._oneof_case_[0] = kJsonTableSiblingJoin; } -inline void Node::clear_array_coerce_expr() { - if (_internal_has_array_coerce_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.array_coerce_expr_; +inline void Node::clear_json_table_sibling_join() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTableSiblingJoin) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_sibling_join_; } clear_has_node(); } } -inline ::pg_query::ArrayCoerceExpr* Node::release_array_coerce_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.array_coerce_expr) - if (_internal_has_array_coerce_expr()) { +inline ::pg_query::JsonTableSiblingJoin* Node::release_json_table_sibling_join() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_sibling_join) + if (node_case() == kJsonTableSiblingJoin) { clear_has_node(); - ::pg_query::ArrayCoerceExpr* temp = _impl_.node_.array_coerce_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_sibling_join_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.array_coerce_expr_ = nullptr; + _impl_.node_.json_table_sibling_join_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ArrayCoerceExpr& Node::_internal_array_coerce_expr() const { - return _internal_has_array_coerce_expr() - ? *_impl_.node_.array_coerce_expr_ - : reinterpret_cast< ::pg_query::ArrayCoerceExpr&>(::pg_query::_ArrayCoerceExpr_default_instance_); +inline const ::pg_query::JsonTableSiblingJoin& Node::_internal_json_table_sibling_join() const { + return node_case() == kJsonTableSiblingJoin ? *_impl_.node_.json_table_sibling_join_ : reinterpret_cast<::pg_query::JsonTableSiblingJoin&>(::pg_query::_JsonTableSiblingJoin_default_instance_); } -inline const ::pg_query::ArrayCoerceExpr& Node::array_coerce_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.array_coerce_expr) - return _internal_array_coerce_expr(); +inline const ::pg_query::JsonTableSiblingJoin& Node::json_table_sibling_join() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_sibling_join) + return _internal_json_table_sibling_join(); } -inline ::pg_query::ArrayCoerceExpr* Node::unsafe_arena_release_array_coerce_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_coerce_expr) - if (_internal_has_array_coerce_expr()) { +inline ::pg_query::JsonTableSiblingJoin* Node::unsafe_arena_release_json_table_sibling_join() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_sibling_join) + if (node_case() == kJsonTableSiblingJoin) { clear_has_node(); - ::pg_query::ArrayCoerceExpr* temp = _impl_.node_.array_coerce_expr_; - _impl_.node_.array_coerce_expr_ = nullptr; + auto* temp = _impl_.node_.json_table_sibling_join_; + _impl_.node_.json_table_sibling_join_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* array_coerce_expr) { +inline void Node::unsafe_arena_set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (array_coerce_expr) { - set_has_array_coerce_expr(); - _impl_.node_.array_coerce_expr_ = array_coerce_expr; + if (value) { + set_has_json_table_sibling_join(); + _impl_.node_.json_table_sibling_join_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_coerce_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_sibling_join) } -inline ::pg_query::ArrayCoerceExpr* Node::_internal_mutable_array_coerce_expr() { - if (!_internal_has_array_coerce_expr()) { +inline ::pg_query::JsonTableSiblingJoin* Node::_internal_mutable_json_table_sibling_join() { + if (node_case() != kJsonTableSiblingJoin) { clear_node(); - set_has_array_coerce_expr(); - _impl_.node_.array_coerce_expr_ = CreateMaybeMessage< ::pg_query::ArrayCoerceExpr >(GetArenaForAllocation()); + set_has_json_table_sibling_join(); + _impl_.node_.json_table_sibling_join_ = CreateMaybeMessage<::pg_query::JsonTableSiblingJoin>(GetArena()); } - return _impl_.node_.array_coerce_expr_; + return _impl_.node_.json_table_sibling_join_; } -inline ::pg_query::ArrayCoerceExpr* Node::mutable_array_coerce_expr() { - ::pg_query::ArrayCoerceExpr* _msg = _internal_mutable_array_coerce_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.array_coerce_expr) +inline ::pg_query::JsonTableSiblingJoin* Node::mutable_json_table_sibling_join() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTableSiblingJoin* _msg = _internal_mutable_json_table_sibling_join(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_sibling_join) return _msg; } -// .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 25 [json_name = "ConvertRowtypeExpr"]; -inline bool Node::_internal_has_convert_rowtype_expr() const { - return node_case() == kConvertRowtypeExpr; +// .pg_query.NullTest null_test = 50 [json_name = "NullTest"]; +inline bool Node::has_null_test() const { + return node_case() == kNullTest; } -inline bool Node::has_convert_rowtype_expr() const { - return _internal_has_convert_rowtype_expr(); +inline bool Node::_internal_has_null_test() const { + return node_case() == kNullTest; } -inline void Node::set_has_convert_rowtype_expr() { - _impl_._oneof_case_[0] = kConvertRowtypeExpr; +inline void Node::set_has_null_test() { + _impl_._oneof_case_[0] = kNullTest; } -inline void Node::clear_convert_rowtype_expr() { - if (_internal_has_convert_rowtype_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.convert_rowtype_expr_; +inline void Node::clear_null_test() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNullTest) { + if (GetArena() == nullptr) { + delete _impl_.node_.null_test_; } clear_has_node(); } } -inline ::pg_query::ConvertRowtypeExpr* Node::release_convert_rowtype_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.convert_rowtype_expr) - if (_internal_has_convert_rowtype_expr()) { +inline ::pg_query::NullTest* Node::release_null_test() { + // @@protoc_insertion_point(field_release:pg_query.Node.null_test) + if (node_case() == kNullTest) { clear_has_node(); - ::pg_query::ConvertRowtypeExpr* temp = _impl_.node_.convert_rowtype_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.null_test_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.convert_rowtype_expr_ = nullptr; + _impl_.node_.null_test_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ConvertRowtypeExpr& Node::_internal_convert_rowtype_expr() const { - return _internal_has_convert_rowtype_expr() - ? *_impl_.node_.convert_rowtype_expr_ - : reinterpret_cast< ::pg_query::ConvertRowtypeExpr&>(::pg_query::_ConvertRowtypeExpr_default_instance_); +inline const ::pg_query::NullTest& Node::_internal_null_test() const { + return node_case() == kNullTest ? *_impl_.node_.null_test_ : reinterpret_cast<::pg_query::NullTest&>(::pg_query::_NullTest_default_instance_); } -inline const ::pg_query::ConvertRowtypeExpr& Node::convert_rowtype_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.convert_rowtype_expr) - return _internal_convert_rowtype_expr(); +inline const ::pg_query::NullTest& Node::null_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.null_test) + return _internal_null_test(); } -inline ::pg_query::ConvertRowtypeExpr* Node::unsafe_arena_release_convert_rowtype_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.convert_rowtype_expr) - if (_internal_has_convert_rowtype_expr()) { +inline ::pg_query::NullTest* Node::unsafe_arena_release_null_test() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_test) + if (node_case() == kNullTest) { clear_has_node(); - ::pg_query::ConvertRowtypeExpr* temp = _impl_.node_.convert_rowtype_expr_; - _impl_.node_.convert_rowtype_expr_ = nullptr; + auto* temp = _impl_.node_.null_test_; + _impl_.node_.null_test_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* convert_rowtype_expr) { +inline void Node::unsafe_arena_set_allocated_null_test(::pg_query::NullTest* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (convert_rowtype_expr) { - set_has_convert_rowtype_expr(); - _impl_.node_.convert_rowtype_expr_ = convert_rowtype_expr; + if (value) { + set_has_null_test(); + _impl_.node_.null_test_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.convert_rowtype_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_test) } -inline ::pg_query::ConvertRowtypeExpr* Node::_internal_mutable_convert_rowtype_expr() { - if (!_internal_has_convert_rowtype_expr()) { +inline ::pg_query::NullTest* Node::_internal_mutable_null_test() { + if (node_case() != kNullTest) { clear_node(); - set_has_convert_rowtype_expr(); - _impl_.node_.convert_rowtype_expr_ = CreateMaybeMessage< ::pg_query::ConvertRowtypeExpr >(GetArenaForAllocation()); + set_has_null_test(); + _impl_.node_.null_test_ = CreateMaybeMessage<::pg_query::NullTest>(GetArena()); } - return _impl_.node_.convert_rowtype_expr_; + return _impl_.node_.null_test_; } -inline ::pg_query::ConvertRowtypeExpr* Node::mutable_convert_rowtype_expr() { - ::pg_query::ConvertRowtypeExpr* _msg = _internal_mutable_convert_rowtype_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.convert_rowtype_expr) +inline ::pg_query::NullTest* Node::mutable_null_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NullTest* _msg = _internal_mutable_null_test(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.null_test) return _msg; } -// .pg_query.CollateExpr collate_expr = 26 [json_name = "CollateExpr"]; -inline bool Node::_internal_has_collate_expr() const { - return node_case() == kCollateExpr; +// .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"]; +inline bool Node::has_boolean_test() const { + return node_case() == kBooleanTest; } -inline bool Node::has_collate_expr() const { - return _internal_has_collate_expr(); +inline bool Node::_internal_has_boolean_test() const { + return node_case() == kBooleanTest; } -inline void Node::set_has_collate_expr() { - _impl_._oneof_case_[0] = kCollateExpr; +inline void Node::set_has_boolean_test() { + _impl_._oneof_case_[0] = kBooleanTest; } -inline void Node::clear_collate_expr() { - if (_internal_has_collate_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.collate_expr_; +inline void Node::clear_boolean_test() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBooleanTest) { + if (GetArena() == nullptr) { + delete _impl_.node_.boolean_test_; } clear_has_node(); } } -inline ::pg_query::CollateExpr* Node::release_collate_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.collate_expr) - if (_internal_has_collate_expr()) { +inline ::pg_query::BooleanTest* Node::release_boolean_test() { + // @@protoc_insertion_point(field_release:pg_query.Node.boolean_test) + if (node_case() == kBooleanTest) { clear_has_node(); - ::pg_query::CollateExpr* temp = _impl_.node_.collate_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.boolean_test_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.collate_expr_ = nullptr; + _impl_.node_.boolean_test_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CollateExpr& Node::_internal_collate_expr() const { - return _internal_has_collate_expr() - ? *_impl_.node_.collate_expr_ - : reinterpret_cast< ::pg_query::CollateExpr&>(::pg_query::_CollateExpr_default_instance_); +inline const ::pg_query::BooleanTest& Node::_internal_boolean_test() const { + return node_case() == kBooleanTest ? *_impl_.node_.boolean_test_ : reinterpret_cast<::pg_query::BooleanTest&>(::pg_query::_BooleanTest_default_instance_); } -inline const ::pg_query::CollateExpr& Node::collate_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.collate_expr) - return _internal_collate_expr(); +inline const ::pg_query::BooleanTest& Node::boolean_test() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.boolean_test) + return _internal_boolean_test(); } -inline ::pg_query::CollateExpr* Node::unsafe_arena_release_collate_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_expr) - if (_internal_has_collate_expr()) { +inline ::pg_query::BooleanTest* Node::unsafe_arena_release_boolean_test() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean_test) + if (node_case() == kBooleanTest) { clear_has_node(); - ::pg_query::CollateExpr* temp = _impl_.node_.collate_expr_; - _impl_.node_.collate_expr_ = nullptr; + auto* temp = _impl_.node_.boolean_test_; + _impl_.node_.boolean_test_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_collate_expr(::pg_query::CollateExpr* collate_expr) { +inline void Node::unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (collate_expr) { - set_has_collate_expr(); - _impl_.node_.collate_expr_ = collate_expr; + if (value) { + set_has_boolean_test(); + _impl_.node_.boolean_test_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean_test) } -inline ::pg_query::CollateExpr* Node::_internal_mutable_collate_expr() { - if (!_internal_has_collate_expr()) { +inline ::pg_query::BooleanTest* Node::_internal_mutable_boolean_test() { + if (node_case() != kBooleanTest) { clear_node(); - set_has_collate_expr(); - _impl_.node_.collate_expr_ = CreateMaybeMessage< ::pg_query::CollateExpr >(GetArenaForAllocation()); + set_has_boolean_test(); + _impl_.node_.boolean_test_ = CreateMaybeMessage<::pg_query::BooleanTest>(GetArena()); } - return _impl_.node_.collate_expr_; + return _impl_.node_.boolean_test_; } -inline ::pg_query::CollateExpr* Node::mutable_collate_expr() { - ::pg_query::CollateExpr* _msg = _internal_mutable_collate_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_expr) +inline ::pg_query::BooleanTest* Node::mutable_boolean_test() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::BooleanTest* _msg = _internal_mutable_boolean_test(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean_test) return _msg; } -// .pg_query.CaseExpr case_expr = 27 [json_name = "CaseExpr"]; -inline bool Node::_internal_has_case_expr() const { - return node_case() == kCaseExpr; +// .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"]; +inline bool Node::has_merge_action() const { + return node_case() == kMergeAction; } -inline bool Node::has_case_expr() const { - return _internal_has_case_expr(); +inline bool Node::_internal_has_merge_action() const { + return node_case() == kMergeAction; } -inline void Node::set_has_case_expr() { - _impl_._oneof_case_[0] = kCaseExpr; +inline void Node::set_has_merge_action() { + _impl_._oneof_case_[0] = kMergeAction; } -inline void Node::clear_case_expr() { - if (_internal_has_case_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.case_expr_; +inline void Node::clear_merge_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeAction) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_action_; } clear_has_node(); } } -inline ::pg_query::CaseExpr* Node::release_case_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_expr) - if (_internal_has_case_expr()) { +inline ::pg_query::MergeAction* Node::release_merge_action() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_action) + if (node_case() == kMergeAction) { clear_has_node(); - ::pg_query::CaseExpr* temp = _impl_.node_.case_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.merge_action_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_expr_ = nullptr; + _impl_.node_.merge_action_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseExpr& Node::_internal_case_expr() const { - return _internal_has_case_expr() - ? *_impl_.node_.case_expr_ - : reinterpret_cast< ::pg_query::CaseExpr&>(::pg_query::_CaseExpr_default_instance_); +inline const ::pg_query::MergeAction& Node::_internal_merge_action() const { + return node_case() == kMergeAction ? *_impl_.node_.merge_action_ : reinterpret_cast<::pg_query::MergeAction&>(::pg_query::_MergeAction_default_instance_); } -inline const ::pg_query::CaseExpr& Node::case_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.case_expr) - return _internal_case_expr(); +inline const ::pg_query::MergeAction& Node::merge_action() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_action) + return _internal_merge_action(); } -inline ::pg_query::CaseExpr* Node::unsafe_arena_release_case_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_expr) - if (_internal_has_case_expr()) { +inline ::pg_query::MergeAction* Node::unsafe_arena_release_merge_action() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_action) + if (node_case() == kMergeAction) { clear_has_node(); - ::pg_query::CaseExpr* temp = _impl_.node_.case_expr_; - _impl_.node_.case_expr_ = nullptr; + auto* temp = _impl_.node_.merge_action_; + _impl_.node_.merge_action_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_expr(::pg_query::CaseExpr* case_expr) { +inline void Node::unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (case_expr) { - set_has_case_expr(); - _impl_.node_.case_expr_ = case_expr; + if (value) { + set_has_merge_action(); + _impl_.node_.merge_action_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_action) } -inline ::pg_query::CaseExpr* Node::_internal_mutable_case_expr() { - if (!_internal_has_case_expr()) { +inline ::pg_query::MergeAction* Node::_internal_mutable_merge_action() { + if (node_case() != kMergeAction) { clear_node(); - set_has_case_expr(); - _impl_.node_.case_expr_ = CreateMaybeMessage< ::pg_query::CaseExpr >(GetArenaForAllocation()); + set_has_merge_action(); + _impl_.node_.merge_action_ = CreateMaybeMessage<::pg_query::MergeAction>(GetArena()); } - return _impl_.node_.case_expr_; + return _impl_.node_.merge_action_; } -inline ::pg_query::CaseExpr* Node::mutable_case_expr() { - ::pg_query::CaseExpr* _msg = _internal_mutable_case_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_expr) +inline ::pg_query::MergeAction* Node::mutable_merge_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeAction* _msg = _internal_mutable_merge_action(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_action) return _msg; } -// .pg_query.CaseWhen case_when = 28 [json_name = "CaseWhen"]; -inline bool Node::_internal_has_case_when() const { - return node_case() == kCaseWhen; +// .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"]; +inline bool Node::has_coerce_to_domain() const { + return node_case() == kCoerceToDomain; } -inline bool Node::has_case_when() const { - return _internal_has_case_when(); +inline bool Node::_internal_has_coerce_to_domain() const { + return node_case() == kCoerceToDomain; } -inline void Node::set_has_case_when() { - _impl_._oneof_case_[0] = kCaseWhen; +inline void Node::set_has_coerce_to_domain() { + _impl_._oneof_case_[0] = kCoerceToDomain; } -inline void Node::clear_case_when() { - if (_internal_has_case_when()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.case_when_; +inline void Node::clear_coerce_to_domain() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceToDomain) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_to_domain_; } clear_has_node(); } } -inline ::pg_query::CaseWhen* Node::release_case_when() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_when) - if (_internal_has_case_when()) { +inline ::pg_query::CoerceToDomain* Node::release_coerce_to_domain() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain) + if (node_case() == kCoerceToDomain) { clear_has_node(); - ::pg_query::CaseWhen* temp = _impl_.node_.case_when_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.coerce_to_domain_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_when_ = nullptr; + _impl_.node_.coerce_to_domain_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseWhen& Node::_internal_case_when() const { - return _internal_has_case_when() - ? *_impl_.node_.case_when_ - : reinterpret_cast< ::pg_query::CaseWhen&>(::pg_query::_CaseWhen_default_instance_); +inline const ::pg_query::CoerceToDomain& Node::_internal_coerce_to_domain() const { + return node_case() == kCoerceToDomain ? *_impl_.node_.coerce_to_domain_ : reinterpret_cast<::pg_query::CoerceToDomain&>(::pg_query::_CoerceToDomain_default_instance_); } -inline const ::pg_query::CaseWhen& Node::case_when() const { - // @@protoc_insertion_point(field_get:pg_query.Node.case_when) - return _internal_case_when(); +inline const ::pg_query::CoerceToDomain& Node::coerce_to_domain() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain) + return _internal_coerce_to_domain(); } -inline ::pg_query::CaseWhen* Node::unsafe_arena_release_case_when() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_when) - if (_internal_has_case_when()) { +inline ::pg_query::CoerceToDomain* Node::unsafe_arena_release_coerce_to_domain() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain) + if (node_case() == kCoerceToDomain) { clear_has_node(); - ::pg_query::CaseWhen* temp = _impl_.node_.case_when_; - _impl_.node_.case_when_ = nullptr; + auto* temp = _impl_.node_.coerce_to_domain_; + _impl_.node_.coerce_to_domain_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_when(::pg_query::CaseWhen* case_when) { +inline void Node::unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (case_when) { - set_has_case_when(); - _impl_.node_.case_when_ = case_when; + if (value) { + set_has_coerce_to_domain(); + _impl_.node_.coerce_to_domain_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_when) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain) } -inline ::pg_query::CaseWhen* Node::_internal_mutable_case_when() { - if (!_internal_has_case_when()) { +inline ::pg_query::CoerceToDomain* Node::_internal_mutable_coerce_to_domain() { + if (node_case() != kCoerceToDomain) { clear_node(); - set_has_case_when(); - _impl_.node_.case_when_ = CreateMaybeMessage< ::pg_query::CaseWhen >(GetArenaForAllocation()); + set_has_coerce_to_domain(); + _impl_.node_.coerce_to_domain_ = CreateMaybeMessage<::pg_query::CoerceToDomain>(GetArena()); } - return _impl_.node_.case_when_; + return _impl_.node_.coerce_to_domain_; } -inline ::pg_query::CaseWhen* Node::mutable_case_when() { - ::pg_query::CaseWhen* _msg = _internal_mutable_case_when(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_when) +inline ::pg_query::CoerceToDomain* Node::mutable_coerce_to_domain() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceToDomain* _msg = _internal_mutable_coerce_to_domain(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain) return _msg; } -// .pg_query.CaseTestExpr case_test_expr = 29 [json_name = "CaseTestExpr"]; -inline bool Node::_internal_has_case_test_expr() const { - return node_case() == kCaseTestExpr; +// .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"]; +inline bool Node::has_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue; } -inline bool Node::has_case_test_expr() const { - return _internal_has_case_test_expr(); +inline bool Node::_internal_has_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue; } -inline void Node::set_has_case_test_expr() { - _impl_._oneof_case_[0] = kCaseTestExpr; +inline void Node::set_has_coerce_to_domain_value() { + _impl_._oneof_case_[0] = kCoerceToDomainValue; } -inline void Node::clear_case_test_expr() { - if (_internal_has_case_test_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.case_test_expr_; +inline void Node::clear_coerce_to_domain_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCoerceToDomainValue) { + if (GetArena() == nullptr) { + delete _impl_.node_.coerce_to_domain_value_; } clear_has_node(); } } -inline ::pg_query::CaseTestExpr* Node::release_case_test_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.case_test_expr) - if (_internal_has_case_test_expr()) { +inline ::pg_query::CoerceToDomainValue* Node::release_coerce_to_domain_value() { + // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain_value) + if (node_case() == kCoerceToDomainValue) { clear_has_node(); - ::pg_query::CaseTestExpr* temp = _impl_.node_.case_test_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.coerce_to_domain_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.case_test_expr_ = nullptr; + _impl_.node_.coerce_to_domain_value_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CaseTestExpr& Node::_internal_case_test_expr() const { - return _internal_has_case_test_expr() - ? *_impl_.node_.case_test_expr_ - : reinterpret_cast< ::pg_query::CaseTestExpr&>(::pg_query::_CaseTestExpr_default_instance_); +inline const ::pg_query::CoerceToDomainValue& Node::_internal_coerce_to_domain_value() const { + return node_case() == kCoerceToDomainValue ? *_impl_.node_.coerce_to_domain_value_ : reinterpret_cast<::pg_query::CoerceToDomainValue&>(::pg_query::_CoerceToDomainValue_default_instance_); } -inline const ::pg_query::CaseTestExpr& Node::case_test_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.case_test_expr) - return _internal_case_test_expr(); +inline const ::pg_query::CoerceToDomainValue& Node::coerce_to_domain_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain_value) + return _internal_coerce_to_domain_value(); } -inline ::pg_query::CaseTestExpr* Node::unsafe_arena_release_case_test_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.case_test_expr) - if (_internal_has_case_test_expr()) { +inline ::pg_query::CoerceToDomainValue* Node::unsafe_arena_release_coerce_to_domain_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain_value) + if (node_case() == kCoerceToDomainValue) { clear_has_node(); - ::pg_query::CaseTestExpr* temp = _impl_.node_.case_test_expr_; - _impl_.node_.case_test_expr_ = nullptr; + auto* temp = _impl_.node_.coerce_to_domain_value_; + _impl_.node_.coerce_to_domain_value_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_case_test_expr(::pg_query::CaseTestExpr* case_test_expr) { +inline void Node::unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (case_test_expr) { - set_has_case_test_expr(); - _impl_.node_.case_test_expr_ = case_test_expr; + if (value) { + set_has_coerce_to_domain_value(); + _impl_.node_.coerce_to_domain_value_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.case_test_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain_value) } -inline ::pg_query::CaseTestExpr* Node::_internal_mutable_case_test_expr() { - if (!_internal_has_case_test_expr()) { +inline ::pg_query::CoerceToDomainValue* Node::_internal_mutable_coerce_to_domain_value() { + if (node_case() != kCoerceToDomainValue) { clear_node(); - set_has_case_test_expr(); - _impl_.node_.case_test_expr_ = CreateMaybeMessage< ::pg_query::CaseTestExpr >(GetArenaForAllocation()); + set_has_coerce_to_domain_value(); + _impl_.node_.coerce_to_domain_value_ = CreateMaybeMessage<::pg_query::CoerceToDomainValue>(GetArena()); } - return _impl_.node_.case_test_expr_; + return _impl_.node_.coerce_to_domain_value_; } -inline ::pg_query::CaseTestExpr* Node::mutable_case_test_expr() { - ::pg_query::CaseTestExpr* _msg = _internal_mutable_case_test_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.case_test_expr) +inline ::pg_query::CoerceToDomainValue* Node::mutable_coerce_to_domain_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CoerceToDomainValue* _msg = _internal_mutable_coerce_to_domain_value(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain_value) return _msg; } -// .pg_query.ArrayExpr array_expr = 30 [json_name = "ArrayExpr"]; -inline bool Node::_internal_has_array_expr() const { - return node_case() == kArrayExpr; +// .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"]; +inline bool Node::has_set_to_default() const { + return node_case() == kSetToDefault; } -inline bool Node::has_array_expr() const { - return _internal_has_array_expr(); +inline bool Node::_internal_has_set_to_default() const { + return node_case() == kSetToDefault; } -inline void Node::set_has_array_expr() { - _impl_._oneof_case_[0] = kArrayExpr; +inline void Node::set_has_set_to_default() { + _impl_._oneof_case_[0] = kSetToDefault; } -inline void Node::clear_array_expr() { - if (_internal_has_array_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.array_expr_; +inline void Node::clear_set_to_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSetToDefault) { + if (GetArena() == nullptr) { + delete _impl_.node_.set_to_default_; } clear_has_node(); } } -inline ::pg_query::ArrayExpr* Node::release_array_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.array_expr) - if (_internal_has_array_expr()) { +inline ::pg_query::SetToDefault* Node::release_set_to_default() { + // @@protoc_insertion_point(field_release:pg_query.Node.set_to_default) + if (node_case() == kSetToDefault) { clear_has_node(); - ::pg_query::ArrayExpr* temp = _impl_.node_.array_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.set_to_default_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.array_expr_ = nullptr; + _impl_.node_.set_to_default_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ArrayExpr& Node::_internal_array_expr() const { - return _internal_has_array_expr() - ? *_impl_.node_.array_expr_ - : reinterpret_cast< ::pg_query::ArrayExpr&>(::pg_query::_ArrayExpr_default_instance_); +inline const ::pg_query::SetToDefault& Node::_internal_set_to_default() const { + return node_case() == kSetToDefault ? *_impl_.node_.set_to_default_ : reinterpret_cast<::pg_query::SetToDefault&>(::pg_query::_SetToDefault_default_instance_); } -inline const ::pg_query::ArrayExpr& Node::array_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.array_expr) - return _internal_array_expr(); +inline const ::pg_query::SetToDefault& Node::set_to_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.set_to_default) + return _internal_set_to_default(); } -inline ::pg_query::ArrayExpr* Node::unsafe_arena_release_array_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.array_expr) - if (_internal_has_array_expr()) { +inline ::pg_query::SetToDefault* Node::unsafe_arena_release_set_to_default() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_to_default) + if (node_case() == kSetToDefault) { clear_has_node(); - ::pg_query::ArrayExpr* temp = _impl_.node_.array_expr_; - _impl_.node_.array_expr_ = nullptr; + auto* temp = _impl_.node_.set_to_default_; + _impl_.node_.set_to_default_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_array_expr(::pg_query::ArrayExpr* array_expr) { +inline void Node::unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (array_expr) { - set_has_array_expr(); - _impl_.node_.array_expr_ = array_expr; + if (value) { + set_has_set_to_default(); + _impl_.node_.set_to_default_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.array_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_to_default) } -inline ::pg_query::ArrayExpr* Node::_internal_mutable_array_expr() { - if (!_internal_has_array_expr()) { +inline ::pg_query::SetToDefault* Node::_internal_mutable_set_to_default() { + if (node_case() != kSetToDefault) { clear_node(); - set_has_array_expr(); - _impl_.node_.array_expr_ = CreateMaybeMessage< ::pg_query::ArrayExpr >(GetArenaForAllocation()); + set_has_set_to_default(); + _impl_.node_.set_to_default_ = CreateMaybeMessage<::pg_query::SetToDefault>(GetArena()); } - return _impl_.node_.array_expr_; + return _impl_.node_.set_to_default_; } -inline ::pg_query::ArrayExpr* Node::mutable_array_expr() { - ::pg_query::ArrayExpr* _msg = _internal_mutable_array_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.array_expr) +inline ::pg_query::SetToDefault* Node::mutable_set_to_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SetToDefault* _msg = _internal_mutable_set_to_default(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.set_to_default) return _msg; } -// .pg_query.RowExpr row_expr = 31 [json_name = "RowExpr"]; -inline bool Node::_internal_has_row_expr() const { - return node_case() == kRowExpr; +// .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"]; +inline bool Node::has_current_of_expr() const { + return node_case() == kCurrentOfExpr; } -inline bool Node::has_row_expr() const { - return _internal_has_row_expr(); +inline bool Node::_internal_has_current_of_expr() const { + return node_case() == kCurrentOfExpr; } -inline void Node::set_has_row_expr() { - _impl_._oneof_case_[0] = kRowExpr; +inline void Node::set_has_current_of_expr() { + _impl_._oneof_case_[0] = kCurrentOfExpr; } -inline void Node::clear_row_expr() { - if (_internal_has_row_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.row_expr_; +inline void Node::clear_current_of_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCurrentOfExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.current_of_expr_; } clear_has_node(); } } -inline ::pg_query::RowExpr* Node::release_row_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_expr) - if (_internal_has_row_expr()) { +inline ::pg_query::CurrentOfExpr* Node::release_current_of_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.current_of_expr) + if (node_case() == kCurrentOfExpr) { clear_has_node(); - ::pg_query::RowExpr* temp = _impl_.node_.row_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.current_of_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_expr_ = nullptr; + _impl_.node_.current_of_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowExpr& Node::_internal_row_expr() const { - return _internal_has_row_expr() - ? *_impl_.node_.row_expr_ - : reinterpret_cast< ::pg_query::RowExpr&>(::pg_query::_RowExpr_default_instance_); +inline const ::pg_query::CurrentOfExpr& Node::_internal_current_of_expr() const { + return node_case() == kCurrentOfExpr ? *_impl_.node_.current_of_expr_ : reinterpret_cast<::pg_query::CurrentOfExpr&>(::pg_query::_CurrentOfExpr_default_instance_); } -inline const ::pg_query::RowExpr& Node::row_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.row_expr) - return _internal_row_expr(); +inline const ::pg_query::CurrentOfExpr& Node::current_of_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.current_of_expr) + return _internal_current_of_expr(); } -inline ::pg_query::RowExpr* Node::unsafe_arena_release_row_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_expr) - if (_internal_has_row_expr()) { +inline ::pg_query::CurrentOfExpr* Node::unsafe_arena_release_current_of_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.current_of_expr) + if (node_case() == kCurrentOfExpr) { clear_has_node(); - ::pg_query::RowExpr* temp = _impl_.node_.row_expr_; - _impl_.node_.row_expr_ = nullptr; + auto* temp = _impl_.node_.current_of_expr_; + _impl_.node_.current_of_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_expr(::pg_query::RowExpr* row_expr) { +inline void Node::unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (row_expr) { - set_has_row_expr(); - _impl_.node_.row_expr_ = row_expr; + if (value) { + set_has_current_of_expr(); + _impl_.node_.current_of_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.current_of_expr) } -inline ::pg_query::RowExpr* Node::_internal_mutable_row_expr() { - if (!_internal_has_row_expr()) { +inline ::pg_query::CurrentOfExpr* Node::_internal_mutable_current_of_expr() { + if (node_case() != kCurrentOfExpr) { clear_node(); - set_has_row_expr(); - _impl_.node_.row_expr_ = CreateMaybeMessage< ::pg_query::RowExpr >(GetArenaForAllocation()); + set_has_current_of_expr(); + _impl_.node_.current_of_expr_ = CreateMaybeMessage<::pg_query::CurrentOfExpr>(GetArena()); } - return _impl_.node_.row_expr_; + return _impl_.node_.current_of_expr_; } -inline ::pg_query::RowExpr* Node::mutable_row_expr() { - ::pg_query::RowExpr* _msg = _internal_mutable_row_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_expr) +inline ::pg_query::CurrentOfExpr* Node::mutable_current_of_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CurrentOfExpr* _msg = _internal_mutable_current_of_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.current_of_expr) return _msg; } -// .pg_query.RowCompareExpr row_compare_expr = 32 [json_name = "RowCompareExpr"]; -inline bool Node::_internal_has_row_compare_expr() const { - return node_case() == kRowCompareExpr; +// .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"]; +inline bool Node::has_next_value_expr() const { + return node_case() == kNextValueExpr; } -inline bool Node::has_row_compare_expr() const { - return _internal_has_row_compare_expr(); +inline bool Node::_internal_has_next_value_expr() const { + return node_case() == kNextValueExpr; } -inline void Node::set_has_row_compare_expr() { - _impl_._oneof_case_[0] = kRowCompareExpr; +inline void Node::set_has_next_value_expr() { + _impl_._oneof_case_[0] = kNextValueExpr; } -inline void Node::clear_row_compare_expr() { - if (_internal_has_row_compare_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.row_compare_expr_; +inline void Node::clear_next_value_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNextValueExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.next_value_expr_; } clear_has_node(); } } -inline ::pg_query::RowCompareExpr* Node::release_row_compare_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_compare_expr) - if (_internal_has_row_compare_expr()) { +inline ::pg_query::NextValueExpr* Node::release_next_value_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.next_value_expr) + if (node_case() == kNextValueExpr) { clear_has_node(); - ::pg_query::RowCompareExpr* temp = _impl_.node_.row_compare_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.next_value_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_compare_expr_ = nullptr; + _impl_.node_.next_value_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowCompareExpr& Node::_internal_row_compare_expr() const { - return _internal_has_row_compare_expr() - ? *_impl_.node_.row_compare_expr_ - : reinterpret_cast< ::pg_query::RowCompareExpr&>(::pg_query::_RowCompareExpr_default_instance_); +inline const ::pg_query::NextValueExpr& Node::_internal_next_value_expr() const { + return node_case() == kNextValueExpr ? *_impl_.node_.next_value_expr_ : reinterpret_cast<::pg_query::NextValueExpr&>(::pg_query::_NextValueExpr_default_instance_); } -inline const ::pg_query::RowCompareExpr& Node::row_compare_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.row_compare_expr) - return _internal_row_compare_expr(); +inline const ::pg_query::NextValueExpr& Node::next_value_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.next_value_expr) + return _internal_next_value_expr(); } -inline ::pg_query::RowCompareExpr* Node::unsafe_arena_release_row_compare_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_compare_expr) - if (_internal_has_row_compare_expr()) { +inline ::pg_query::NextValueExpr* Node::unsafe_arena_release_next_value_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.next_value_expr) + if (node_case() == kNextValueExpr) { clear_has_node(); - ::pg_query::RowCompareExpr* temp = _impl_.node_.row_compare_expr_; - _impl_.node_.row_compare_expr_ = nullptr; + auto* temp = _impl_.node_.next_value_expr_; + _impl_.node_.next_value_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_compare_expr(::pg_query::RowCompareExpr* row_compare_expr) { +inline void Node::unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (row_compare_expr) { - set_has_row_compare_expr(); - _impl_.node_.row_compare_expr_ = row_compare_expr; + if (value) { + set_has_next_value_expr(); + _impl_.node_.next_value_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_compare_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.next_value_expr) } -inline ::pg_query::RowCompareExpr* Node::_internal_mutable_row_compare_expr() { - if (!_internal_has_row_compare_expr()) { +inline ::pg_query::NextValueExpr* Node::_internal_mutable_next_value_expr() { + if (node_case() != kNextValueExpr) { clear_node(); - set_has_row_compare_expr(); - _impl_.node_.row_compare_expr_ = CreateMaybeMessage< ::pg_query::RowCompareExpr >(GetArenaForAllocation()); + set_has_next_value_expr(); + _impl_.node_.next_value_expr_ = CreateMaybeMessage<::pg_query::NextValueExpr>(GetArena()); } - return _impl_.node_.row_compare_expr_; + return _impl_.node_.next_value_expr_; } -inline ::pg_query::RowCompareExpr* Node::mutable_row_compare_expr() { - ::pg_query::RowCompareExpr* _msg = _internal_mutable_row_compare_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_compare_expr) +inline ::pg_query::NextValueExpr* Node::mutable_next_value_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NextValueExpr* _msg = _internal_mutable_next_value_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.next_value_expr) return _msg; } -// .pg_query.CoalesceExpr coalesce_expr = 33 [json_name = "CoalesceExpr"]; -inline bool Node::_internal_has_coalesce_expr() const { - return node_case() == kCoalesceExpr; +// .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"]; +inline bool Node::has_inference_elem() const { + return node_case() == kInferenceElem; } -inline bool Node::has_coalesce_expr() const { - return _internal_has_coalesce_expr(); +inline bool Node::_internal_has_inference_elem() const { + return node_case() == kInferenceElem; } -inline void Node::set_has_coalesce_expr() { - _impl_._oneof_case_[0] = kCoalesceExpr; +inline void Node::set_has_inference_elem() { + _impl_._oneof_case_[0] = kInferenceElem; } -inline void Node::clear_coalesce_expr() { - if (_internal_has_coalesce_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.coalesce_expr_; +inline void Node::clear_inference_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInferenceElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.inference_elem_; } clear_has_node(); } } -inline ::pg_query::CoalesceExpr* Node::release_coalesce_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.coalesce_expr) - if (_internal_has_coalesce_expr()) { +inline ::pg_query::InferenceElem* Node::release_inference_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.inference_elem) + if (node_case() == kInferenceElem) { clear_has_node(); - ::pg_query::CoalesceExpr* temp = _impl_.node_.coalesce_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.inference_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coalesce_expr_ = nullptr; + _impl_.node_.inference_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoalesceExpr& Node::_internal_coalesce_expr() const { - return _internal_has_coalesce_expr() - ? *_impl_.node_.coalesce_expr_ - : reinterpret_cast< ::pg_query::CoalesceExpr&>(::pg_query::_CoalesceExpr_default_instance_); +inline const ::pg_query::InferenceElem& Node::_internal_inference_elem() const { + return node_case() == kInferenceElem ? *_impl_.node_.inference_elem_ : reinterpret_cast<::pg_query::InferenceElem&>(::pg_query::_InferenceElem_default_instance_); } -inline const ::pg_query::CoalesceExpr& Node::coalesce_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.coalesce_expr) - return _internal_coalesce_expr(); +inline const ::pg_query::InferenceElem& Node::inference_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.inference_elem) + return _internal_inference_elem(); } -inline ::pg_query::CoalesceExpr* Node::unsafe_arena_release_coalesce_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coalesce_expr) - if (_internal_has_coalesce_expr()) { +inline ::pg_query::InferenceElem* Node::unsafe_arena_release_inference_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inference_elem) + if (node_case() == kInferenceElem) { clear_has_node(); - ::pg_query::CoalesceExpr* temp = _impl_.node_.coalesce_expr_; - _impl_.node_.coalesce_expr_ = nullptr; + auto* temp = _impl_.node_.inference_elem_; + _impl_.node_.inference_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coalesce_expr(::pg_query::CoalesceExpr* coalesce_expr) { +inline void Node::unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (coalesce_expr) { - set_has_coalesce_expr(); - _impl_.node_.coalesce_expr_ = coalesce_expr; + if (value) { + set_has_inference_elem(); + _impl_.node_.inference_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coalesce_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inference_elem) } -inline ::pg_query::CoalesceExpr* Node::_internal_mutable_coalesce_expr() { - if (!_internal_has_coalesce_expr()) { +inline ::pg_query::InferenceElem* Node::_internal_mutable_inference_elem() { + if (node_case() != kInferenceElem) { clear_node(); - set_has_coalesce_expr(); - _impl_.node_.coalesce_expr_ = CreateMaybeMessage< ::pg_query::CoalesceExpr >(GetArenaForAllocation()); + set_has_inference_elem(); + _impl_.node_.inference_elem_ = CreateMaybeMessage<::pg_query::InferenceElem>(GetArena()); } - return _impl_.node_.coalesce_expr_; + return _impl_.node_.inference_elem_; } -inline ::pg_query::CoalesceExpr* Node::mutable_coalesce_expr() { - ::pg_query::CoalesceExpr* _msg = _internal_mutable_coalesce_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coalesce_expr) +inline ::pg_query::InferenceElem* Node::mutable_inference_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferenceElem* _msg = _internal_mutable_inference_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.inference_elem) return _msg; } -// .pg_query.MinMaxExpr min_max_expr = 34 [json_name = "MinMaxExpr"]; -inline bool Node::_internal_has_min_max_expr() const { - return node_case() == kMinMaxExpr; +// .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"]; +inline bool Node::has_target_entry() const { + return node_case() == kTargetEntry; } -inline bool Node::has_min_max_expr() const { - return _internal_has_min_max_expr(); +inline bool Node::_internal_has_target_entry() const { + return node_case() == kTargetEntry; } -inline void Node::set_has_min_max_expr() { - _impl_._oneof_case_[0] = kMinMaxExpr; +inline void Node::set_has_target_entry() { + _impl_._oneof_case_[0] = kTargetEntry; } -inline void Node::clear_min_max_expr() { - if (_internal_has_min_max_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.min_max_expr_; +inline void Node::clear_target_entry() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTargetEntry) { + if (GetArena() == nullptr) { + delete _impl_.node_.target_entry_; } clear_has_node(); } } -inline ::pg_query::MinMaxExpr* Node::release_min_max_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.min_max_expr) - if (_internal_has_min_max_expr()) { +inline ::pg_query::TargetEntry* Node::release_target_entry() { + // @@protoc_insertion_point(field_release:pg_query.Node.target_entry) + if (node_case() == kTargetEntry) { clear_has_node(); - ::pg_query::MinMaxExpr* temp = _impl_.node_.min_max_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.target_entry_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.min_max_expr_ = nullptr; + _impl_.node_.target_entry_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MinMaxExpr& Node::_internal_min_max_expr() const { - return _internal_has_min_max_expr() - ? *_impl_.node_.min_max_expr_ - : reinterpret_cast< ::pg_query::MinMaxExpr&>(::pg_query::_MinMaxExpr_default_instance_); +inline const ::pg_query::TargetEntry& Node::_internal_target_entry() const { + return node_case() == kTargetEntry ? *_impl_.node_.target_entry_ : reinterpret_cast<::pg_query::TargetEntry&>(::pg_query::_TargetEntry_default_instance_); } -inline const ::pg_query::MinMaxExpr& Node::min_max_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.min_max_expr) - return _internal_min_max_expr(); +inline const ::pg_query::TargetEntry& Node::target_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.target_entry) + return _internal_target_entry(); } -inline ::pg_query::MinMaxExpr* Node::unsafe_arena_release_min_max_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.min_max_expr) - if (_internal_has_min_max_expr()) { +inline ::pg_query::TargetEntry* Node::unsafe_arena_release_target_entry() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.target_entry) + if (node_case() == kTargetEntry) { clear_has_node(); - ::pg_query::MinMaxExpr* temp = _impl_.node_.min_max_expr_; - _impl_.node_.min_max_expr_ = nullptr; + auto* temp = _impl_.node_.target_entry_; + _impl_.node_.target_entry_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_min_max_expr(::pg_query::MinMaxExpr* min_max_expr) { +inline void Node::unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (min_max_expr) { - set_has_min_max_expr(); - _impl_.node_.min_max_expr_ = min_max_expr; + if (value) { + set_has_target_entry(); + _impl_.node_.target_entry_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.min_max_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.target_entry) } -inline ::pg_query::MinMaxExpr* Node::_internal_mutable_min_max_expr() { - if (!_internal_has_min_max_expr()) { +inline ::pg_query::TargetEntry* Node::_internal_mutable_target_entry() { + if (node_case() != kTargetEntry) { clear_node(); - set_has_min_max_expr(); - _impl_.node_.min_max_expr_ = CreateMaybeMessage< ::pg_query::MinMaxExpr >(GetArenaForAllocation()); + set_has_target_entry(); + _impl_.node_.target_entry_ = CreateMaybeMessage<::pg_query::TargetEntry>(GetArena()); } - return _impl_.node_.min_max_expr_; + return _impl_.node_.target_entry_; } -inline ::pg_query::MinMaxExpr* Node::mutable_min_max_expr() { - ::pg_query::MinMaxExpr* _msg = _internal_mutable_min_max_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.min_max_expr) +inline ::pg_query::TargetEntry* Node::mutable_target_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TargetEntry* _msg = _internal_mutable_target_entry(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.target_entry) return _msg; } -// .pg_query.SQLValueFunction sqlvalue_function = 35 [json_name = "SQLValueFunction"]; -inline bool Node::_internal_has_sqlvalue_function() const { - return node_case() == kSqlvalueFunction; +// .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"]; +inline bool Node::has_range_tbl_ref() const { + return node_case() == kRangeTblRef; } -inline bool Node::has_sqlvalue_function() const { - return _internal_has_sqlvalue_function(); +inline bool Node::_internal_has_range_tbl_ref() const { + return node_case() == kRangeTblRef; } -inline void Node::set_has_sqlvalue_function() { - _impl_._oneof_case_[0] = kSqlvalueFunction; +inline void Node::set_has_range_tbl_ref() { + _impl_._oneof_case_[0] = kRangeTblRef; } -inline void Node::clear_sqlvalue_function() { - if (_internal_has_sqlvalue_function()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sqlvalue_function_; +inline void Node::clear_range_tbl_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTblRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_tbl_ref_; } clear_has_node(); } } -inline ::pg_query::SQLValueFunction* Node::release_sqlvalue_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.sqlvalue_function) - if (_internal_has_sqlvalue_function()) { +inline ::pg_query::RangeTblRef* Node::release_range_tbl_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_ref) + if (node_case() == kRangeTblRef) { clear_has_node(); - ::pg_query::SQLValueFunction* temp = _impl_.node_.sqlvalue_function_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_tbl_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sqlvalue_function_ = nullptr; + _impl_.node_.range_tbl_ref_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SQLValueFunction& Node::_internal_sqlvalue_function() const { - return _internal_has_sqlvalue_function() - ? *_impl_.node_.sqlvalue_function_ - : reinterpret_cast< ::pg_query::SQLValueFunction&>(::pg_query::_SQLValueFunction_default_instance_); +inline const ::pg_query::RangeTblRef& Node::_internal_range_tbl_ref() const { + return node_case() == kRangeTblRef ? *_impl_.node_.range_tbl_ref_ : reinterpret_cast<::pg_query::RangeTblRef&>(::pg_query::_RangeTblRef_default_instance_); } -inline const ::pg_query::SQLValueFunction& Node::sqlvalue_function() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sqlvalue_function) - return _internal_sqlvalue_function(); +inline const ::pg_query::RangeTblRef& Node::range_tbl_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_ref) + return _internal_range_tbl_ref(); } -inline ::pg_query::SQLValueFunction* Node::unsafe_arena_release_sqlvalue_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sqlvalue_function) - if (_internal_has_sqlvalue_function()) { +inline ::pg_query::RangeTblRef* Node::unsafe_arena_release_range_tbl_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_ref) + if (node_case() == kRangeTblRef) { clear_has_node(); - ::pg_query::SQLValueFunction* temp = _impl_.node_.sqlvalue_function_; - _impl_.node_.sqlvalue_function_ = nullptr; + auto* temp = _impl_.node_.range_tbl_ref_; + _impl_.node_.range_tbl_ref_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* sqlvalue_function) { +inline void Node::unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sqlvalue_function) { - set_has_sqlvalue_function(); - _impl_.node_.sqlvalue_function_ = sqlvalue_function; + if (value) { + set_has_range_tbl_ref(); + _impl_.node_.range_tbl_ref_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sqlvalue_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_ref) } -inline ::pg_query::SQLValueFunction* Node::_internal_mutable_sqlvalue_function() { - if (!_internal_has_sqlvalue_function()) { +inline ::pg_query::RangeTblRef* Node::_internal_mutable_range_tbl_ref() { + if (node_case() != kRangeTblRef) { clear_node(); - set_has_sqlvalue_function(); - _impl_.node_.sqlvalue_function_ = CreateMaybeMessage< ::pg_query::SQLValueFunction >(GetArenaForAllocation()); + set_has_range_tbl_ref(); + _impl_.node_.range_tbl_ref_ = CreateMaybeMessage<::pg_query::RangeTblRef>(GetArena()); } - return _impl_.node_.sqlvalue_function_; + return _impl_.node_.range_tbl_ref_; } -inline ::pg_query::SQLValueFunction* Node::mutable_sqlvalue_function() { - ::pg_query::SQLValueFunction* _msg = _internal_mutable_sqlvalue_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sqlvalue_function) +inline ::pg_query::RangeTblRef* Node::mutable_range_tbl_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblRef* _msg = _internal_mutable_range_tbl_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_ref) return _msg; } -// .pg_query.XmlExpr xml_expr = 36 [json_name = "XmlExpr"]; -inline bool Node::_internal_has_xml_expr() const { - return node_case() == kXmlExpr; +// .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"]; +inline bool Node::has_join_expr() const { + return node_case() == kJoinExpr; } -inline bool Node::has_xml_expr() const { - return _internal_has_xml_expr(); +inline bool Node::_internal_has_join_expr() const { + return node_case() == kJoinExpr; } -inline void Node::set_has_xml_expr() { - _impl_._oneof_case_[0] = kXmlExpr; +inline void Node::set_has_join_expr() { + _impl_._oneof_case_[0] = kJoinExpr; } -inline void Node::clear_xml_expr() { - if (_internal_has_xml_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.xml_expr_; +inline void Node::clear_join_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJoinExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.join_expr_; } clear_has_node(); } } -inline ::pg_query::XmlExpr* Node::release_xml_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.xml_expr) - if (_internal_has_xml_expr()) { +inline ::pg_query::JoinExpr* Node::release_join_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.join_expr) + if (node_case() == kJoinExpr) { clear_has_node(); - ::pg_query::XmlExpr* temp = _impl_.node_.xml_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.join_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.xml_expr_ = nullptr; + _impl_.node_.join_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::XmlExpr& Node::_internal_xml_expr() const { - return _internal_has_xml_expr() - ? *_impl_.node_.xml_expr_ - : reinterpret_cast< ::pg_query::XmlExpr&>(::pg_query::_XmlExpr_default_instance_); +inline const ::pg_query::JoinExpr& Node::_internal_join_expr() const { + return node_case() == kJoinExpr ? *_impl_.node_.join_expr_ : reinterpret_cast<::pg_query::JoinExpr&>(::pg_query::_JoinExpr_default_instance_); } -inline const ::pg_query::XmlExpr& Node::xml_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.xml_expr) - return _internal_xml_expr(); +inline const ::pg_query::JoinExpr& Node::join_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.join_expr) + return _internal_join_expr(); } -inline ::pg_query::XmlExpr* Node::unsafe_arena_release_xml_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_expr) - if (_internal_has_xml_expr()) { +inline ::pg_query::JoinExpr* Node::unsafe_arena_release_join_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.join_expr) + if (node_case() == kJoinExpr) { clear_has_node(); - ::pg_query::XmlExpr* temp = _impl_.node_.xml_expr_; - _impl_.node_.xml_expr_ = nullptr; + auto* temp = _impl_.node_.join_expr_; + _impl_.node_.join_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_xml_expr(::pg_query::XmlExpr* xml_expr) { +inline void Node::unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (xml_expr) { - set_has_xml_expr(); - _impl_.node_.xml_expr_ = xml_expr; + if (value) { + set_has_join_expr(); + _impl_.node_.join_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.join_expr) } -inline ::pg_query::XmlExpr* Node::_internal_mutable_xml_expr() { - if (!_internal_has_xml_expr()) { +inline ::pg_query::JoinExpr* Node::_internal_mutable_join_expr() { + if (node_case() != kJoinExpr) { clear_node(); - set_has_xml_expr(); - _impl_.node_.xml_expr_ = CreateMaybeMessage< ::pg_query::XmlExpr >(GetArenaForAllocation()); + set_has_join_expr(); + _impl_.node_.join_expr_ = CreateMaybeMessage<::pg_query::JoinExpr>(GetArena()); } - return _impl_.node_.xml_expr_; + return _impl_.node_.join_expr_; } -inline ::pg_query::XmlExpr* Node::mutable_xml_expr() { - ::pg_query::XmlExpr* _msg = _internal_mutable_xml_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_expr) +inline ::pg_query::JoinExpr* Node::mutable_join_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JoinExpr* _msg = _internal_mutable_join_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.join_expr) return _msg; } -// .pg_query.NullTest null_test = 37 [json_name = "NullTest"]; -inline bool Node::_internal_has_null_test() const { - return node_case() == kNullTest; +// .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"]; +inline bool Node::has_from_expr() const { + return node_case() == kFromExpr; } -inline bool Node::has_null_test() const { - return _internal_has_null_test(); +inline bool Node::_internal_has_from_expr() const { + return node_case() == kFromExpr; } -inline void Node::set_has_null_test() { - _impl_._oneof_case_[0] = kNullTest; +inline void Node::set_has_from_expr() { + _impl_._oneof_case_[0] = kFromExpr; } -inline void Node::clear_null_test() { - if (_internal_has_null_test()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.null_test_; +inline void Node::clear_from_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFromExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.from_expr_; } clear_has_node(); } } -inline ::pg_query::NullTest* Node::release_null_test() { - // @@protoc_insertion_point(field_release:pg_query.Node.null_test) - if (_internal_has_null_test()) { +inline ::pg_query::FromExpr* Node::release_from_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.from_expr) + if (node_case() == kFromExpr) { clear_has_node(); - ::pg_query::NullTest* temp = _impl_.node_.null_test_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.from_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.null_test_ = nullptr; + _impl_.node_.from_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NullTest& Node::_internal_null_test() const { - return _internal_has_null_test() - ? *_impl_.node_.null_test_ - : reinterpret_cast< ::pg_query::NullTest&>(::pg_query::_NullTest_default_instance_); +inline const ::pg_query::FromExpr& Node::_internal_from_expr() const { + return node_case() == kFromExpr ? *_impl_.node_.from_expr_ : reinterpret_cast<::pg_query::FromExpr&>(::pg_query::_FromExpr_default_instance_); } -inline const ::pg_query::NullTest& Node::null_test() const { - // @@protoc_insertion_point(field_get:pg_query.Node.null_test) - return _internal_null_test(); +inline const ::pg_query::FromExpr& Node::from_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.from_expr) + return _internal_from_expr(); } -inline ::pg_query::NullTest* Node::unsafe_arena_release_null_test() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.null_test) - if (_internal_has_null_test()) { +inline ::pg_query::FromExpr* Node::unsafe_arena_release_from_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.from_expr) + if (node_case() == kFromExpr) { clear_has_node(); - ::pg_query::NullTest* temp = _impl_.node_.null_test_; - _impl_.node_.null_test_ = nullptr; + auto* temp = _impl_.node_.from_expr_; + _impl_.node_.from_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_null_test(::pg_query::NullTest* null_test) { +inline void Node::unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (null_test) { - set_has_null_test(); - _impl_.node_.null_test_ = null_test; + if (value) { + set_has_from_expr(); + _impl_.node_.from_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.null_test) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.from_expr) } -inline ::pg_query::NullTest* Node::_internal_mutable_null_test() { - if (!_internal_has_null_test()) { +inline ::pg_query::FromExpr* Node::_internal_mutable_from_expr() { + if (node_case() != kFromExpr) { clear_node(); - set_has_null_test(); - _impl_.node_.null_test_ = CreateMaybeMessage< ::pg_query::NullTest >(GetArenaForAllocation()); + set_has_from_expr(); + _impl_.node_.from_expr_ = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); } - return _impl_.node_.null_test_; + return _impl_.node_.from_expr_; } -inline ::pg_query::NullTest* Node::mutable_null_test() { - ::pg_query::NullTest* _msg = _internal_mutable_null_test(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.null_test) +inline ::pg_query::FromExpr* Node::mutable_from_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FromExpr* _msg = _internal_mutable_from_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.from_expr) return _msg; } -// .pg_query.BooleanTest boolean_test = 38 [json_name = "BooleanTest"]; -inline bool Node::_internal_has_boolean_test() const { - return node_case() == kBooleanTest; +// .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"]; +inline bool Node::has_on_conflict_expr() const { + return node_case() == kOnConflictExpr; } -inline bool Node::has_boolean_test() const { - return _internal_has_boolean_test(); +inline bool Node::_internal_has_on_conflict_expr() const { + return node_case() == kOnConflictExpr; } -inline void Node::set_has_boolean_test() { - _impl_._oneof_case_[0] = kBooleanTest; +inline void Node::set_has_on_conflict_expr() { + _impl_._oneof_case_[0] = kOnConflictExpr; } -inline void Node::clear_boolean_test() { - if (_internal_has_boolean_test()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.boolean_test_; +inline void Node::clear_on_conflict_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOnConflictExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.on_conflict_expr_; } clear_has_node(); } } -inline ::pg_query::BooleanTest* Node::release_boolean_test() { - // @@protoc_insertion_point(field_release:pg_query.Node.boolean_test) - if (_internal_has_boolean_test()) { +inline ::pg_query::OnConflictExpr* Node::release_on_conflict_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_expr) + if (node_case() == kOnConflictExpr) { clear_has_node(); - ::pg_query::BooleanTest* temp = _impl_.node_.boolean_test_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.on_conflict_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.boolean_test_ = nullptr; + _impl_.node_.on_conflict_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::BooleanTest& Node::_internal_boolean_test() const { - return _internal_has_boolean_test() - ? *_impl_.node_.boolean_test_ - : reinterpret_cast< ::pg_query::BooleanTest&>(::pg_query::_BooleanTest_default_instance_); +inline const ::pg_query::OnConflictExpr& Node::_internal_on_conflict_expr() const { + return node_case() == kOnConflictExpr ? *_impl_.node_.on_conflict_expr_ : reinterpret_cast<::pg_query::OnConflictExpr&>(::pg_query::_OnConflictExpr_default_instance_); } -inline const ::pg_query::BooleanTest& Node::boolean_test() const { - // @@protoc_insertion_point(field_get:pg_query.Node.boolean_test) - return _internal_boolean_test(); +inline const ::pg_query::OnConflictExpr& Node::on_conflict_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_expr) + return _internal_on_conflict_expr(); } -inline ::pg_query::BooleanTest* Node::unsafe_arena_release_boolean_test() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean_test) - if (_internal_has_boolean_test()) { +inline ::pg_query::OnConflictExpr* Node::unsafe_arena_release_on_conflict_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_expr) + if (node_case() == kOnConflictExpr) { clear_has_node(); - ::pg_query::BooleanTest* temp = _impl_.node_.boolean_test_; - _impl_.node_.boolean_test_ = nullptr; + auto* temp = _impl_.node_.on_conflict_expr_; + _impl_.node_.on_conflict_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_boolean_test(::pg_query::BooleanTest* boolean_test) { +inline void Node::unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (boolean_test) { - set_has_boolean_test(); - _impl_.node_.boolean_test_ = boolean_test; + if (value) { + set_has_on_conflict_expr(); + _impl_.node_.on_conflict_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean_test) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_expr) } -inline ::pg_query::BooleanTest* Node::_internal_mutable_boolean_test() { - if (!_internal_has_boolean_test()) { +inline ::pg_query::OnConflictExpr* Node::_internal_mutable_on_conflict_expr() { + if (node_case() != kOnConflictExpr) { clear_node(); - set_has_boolean_test(); - _impl_.node_.boolean_test_ = CreateMaybeMessage< ::pg_query::BooleanTest >(GetArenaForAllocation()); + set_has_on_conflict_expr(); + _impl_.node_.on_conflict_expr_ = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); } - return _impl_.node_.boolean_test_; + return _impl_.node_.on_conflict_expr_; } -inline ::pg_query::BooleanTest* Node::mutable_boolean_test() { - ::pg_query::BooleanTest* _msg = _internal_mutable_boolean_test(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean_test) +inline ::pg_query::OnConflictExpr* Node::mutable_on_conflict_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_expr) return _msg; } -// .pg_query.CoerceToDomain coerce_to_domain = 39 [json_name = "CoerceToDomain"]; -inline bool Node::_internal_has_coerce_to_domain() const { - return node_case() == kCoerceToDomain; +// .pg_query.Query query = 64 [json_name = "Query"]; +inline bool Node::has_query() const { + return node_case() == kQuery; } -inline bool Node::has_coerce_to_domain() const { - return _internal_has_coerce_to_domain(); +inline bool Node::_internal_has_query() const { + return node_case() == kQuery; } -inline void Node::set_has_coerce_to_domain() { - _impl_._oneof_case_[0] = kCoerceToDomain; +inline void Node::set_has_query() { + _impl_._oneof_case_[0] = kQuery; } -inline void Node::clear_coerce_to_domain() { - if (_internal_has_coerce_to_domain()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.coerce_to_domain_; +inline void Node::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kQuery) { + if (GetArena() == nullptr) { + delete _impl_.node_.query_; } clear_has_node(); } } -inline ::pg_query::CoerceToDomain* Node::release_coerce_to_domain() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain) - if (_internal_has_coerce_to_domain()) { +inline ::pg_query::Query* Node::release_query() { + // @@protoc_insertion_point(field_release:pg_query.Node.query) + if (node_case() == kQuery) { clear_has_node(); - ::pg_query::CoerceToDomain* temp = _impl_.node_.coerce_to_domain_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.query_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_to_domain_ = nullptr; + _impl_.node_.query_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceToDomain& Node::_internal_coerce_to_domain() const { - return _internal_has_coerce_to_domain() - ? *_impl_.node_.coerce_to_domain_ - : reinterpret_cast< ::pg_query::CoerceToDomain&>(::pg_query::_CoerceToDomain_default_instance_); +inline const ::pg_query::Query& Node::_internal_query() const { + return node_case() == kQuery ? *_impl_.node_.query_ : reinterpret_cast<::pg_query::Query&>(::pg_query::_Query_default_instance_); } -inline const ::pg_query::CoerceToDomain& Node::coerce_to_domain() const { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain) - return _internal_coerce_to_domain(); +inline const ::pg_query::Query& Node::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.query) + return _internal_query(); } -inline ::pg_query::CoerceToDomain* Node::unsafe_arena_release_coerce_to_domain() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain) - if (_internal_has_coerce_to_domain()) { +inline ::pg_query::Query* Node::unsafe_arena_release_query() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.query) + if (node_case() == kQuery) { clear_has_node(); - ::pg_query::CoerceToDomain* temp = _impl_.node_.coerce_to_domain_; - _impl_.node_.coerce_to_domain_ = nullptr; + auto* temp = _impl_.node_.query_; + _impl_.node_.query_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* coerce_to_domain) { +inline void Node::unsafe_arena_set_allocated_query(::pg_query::Query* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (coerce_to_domain) { - set_has_coerce_to_domain(); - _impl_.node_.coerce_to_domain_ = coerce_to_domain; + if (value) { + set_has_query(); + _impl_.node_.query_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.query) } -inline ::pg_query::CoerceToDomain* Node::_internal_mutable_coerce_to_domain() { - if (!_internal_has_coerce_to_domain()) { +inline ::pg_query::Query* Node::_internal_mutable_query() { + if (node_case() != kQuery) { clear_node(); - set_has_coerce_to_domain(); - _impl_.node_.coerce_to_domain_ = CreateMaybeMessage< ::pg_query::CoerceToDomain >(GetArenaForAllocation()); + set_has_query(); + _impl_.node_.query_ = CreateMaybeMessage<::pg_query::Query>(GetArena()); } - return _impl_.node_.coerce_to_domain_; + return _impl_.node_.query_; } -inline ::pg_query::CoerceToDomain* Node::mutable_coerce_to_domain() { - ::pg_query::CoerceToDomain* _msg = _internal_mutable_coerce_to_domain(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain) +inline ::pg_query::Query* Node::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Query* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.query) return _msg; } -// .pg_query.CoerceToDomainValue coerce_to_domain_value = 40 [json_name = "CoerceToDomainValue"]; -inline bool Node::_internal_has_coerce_to_domain_value() const { - return node_case() == kCoerceToDomainValue; +// .pg_query.TypeName type_name = 65 [json_name = "TypeName"]; +inline bool Node::has_type_name() const { + return node_case() == kTypeName; } -inline bool Node::has_coerce_to_domain_value() const { - return _internal_has_coerce_to_domain_value(); +inline bool Node::_internal_has_type_name() const { + return node_case() == kTypeName; } -inline void Node::set_has_coerce_to_domain_value() { - _impl_._oneof_case_[0] = kCoerceToDomainValue; +inline void Node::set_has_type_name() { + _impl_._oneof_case_[0] = kTypeName; } -inline void Node::clear_coerce_to_domain_value() { - if (_internal_has_coerce_to_domain_value()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.coerce_to_domain_value_; +inline void Node::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTypeName) { + if (GetArena() == nullptr) { + delete _impl_.node_.type_name_; } clear_has_node(); } } -inline ::pg_query::CoerceToDomainValue* Node::release_coerce_to_domain_value() { - // @@protoc_insertion_point(field_release:pg_query.Node.coerce_to_domain_value) - if (_internal_has_coerce_to_domain_value()) { +inline ::pg_query::TypeName* Node::release_type_name() { + // @@protoc_insertion_point(field_release:pg_query.Node.type_name) + if (node_case() == kTypeName) { clear_has_node(); - ::pg_query::CoerceToDomainValue* temp = _impl_.node_.coerce_to_domain_value_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.type_name_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.coerce_to_domain_value_ = nullptr; + _impl_.node_.type_name_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CoerceToDomainValue& Node::_internal_coerce_to_domain_value() const { - return _internal_has_coerce_to_domain_value() - ? *_impl_.node_.coerce_to_domain_value_ - : reinterpret_cast< ::pg_query::CoerceToDomainValue&>(::pg_query::_CoerceToDomainValue_default_instance_); +inline const ::pg_query::TypeName& Node::_internal_type_name() const { + return node_case() == kTypeName ? *_impl_.node_.type_name_ : reinterpret_cast<::pg_query::TypeName&>(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::CoerceToDomainValue& Node::coerce_to_domain_value() const { - // @@protoc_insertion_point(field_get:pg_query.Node.coerce_to_domain_value) - return _internal_coerce_to_domain_value(); +inline const ::pg_query::TypeName& Node::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.type_name) + return _internal_type_name(); } -inline ::pg_query::CoerceToDomainValue* Node::unsafe_arena_release_coerce_to_domain_value() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.coerce_to_domain_value) - if (_internal_has_coerce_to_domain_value()) { +inline ::pg_query::TypeName* Node::unsafe_arena_release_type_name() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_name) + if (node_case() == kTypeName) { clear_has_node(); - ::pg_query::CoerceToDomainValue* temp = _impl_.node_.coerce_to_domain_value_; - _impl_.node_.coerce_to_domain_value_ = nullptr; + auto* temp = _impl_.node_.type_name_; + _impl_.node_.type_name_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* coerce_to_domain_value) { +inline void Node::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (coerce_to_domain_value) { - set_has_coerce_to_domain_value(); - _impl_.node_.coerce_to_domain_value_ = coerce_to_domain_value; + if (value) { + set_has_type_name(); + _impl_.node_.type_name_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.coerce_to_domain_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_name) } -inline ::pg_query::CoerceToDomainValue* Node::_internal_mutable_coerce_to_domain_value() { - if (!_internal_has_coerce_to_domain_value()) { +inline ::pg_query::TypeName* Node::_internal_mutable_type_name() { + if (node_case() != kTypeName) { clear_node(); - set_has_coerce_to_domain_value(); - _impl_.node_.coerce_to_domain_value_ = CreateMaybeMessage< ::pg_query::CoerceToDomainValue >(GetArenaForAllocation()); + set_has_type_name(); + _impl_.node_.type_name_ = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); } - return _impl_.node_.coerce_to_domain_value_; + return _impl_.node_.type_name_; } -inline ::pg_query::CoerceToDomainValue* Node::mutable_coerce_to_domain_value() { - ::pg_query::CoerceToDomainValue* _msg = _internal_mutable_coerce_to_domain_value(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.coerce_to_domain_value) +inline ::pg_query::TypeName* Node::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.type_name) return _msg; } -// .pg_query.SetToDefault set_to_default = 41 [json_name = "SetToDefault"]; -inline bool Node::_internal_has_set_to_default() const { - return node_case() == kSetToDefault; +// .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"]; +inline bool Node::has_column_ref() const { + return node_case() == kColumnRef; } -inline bool Node::has_set_to_default() const { - return _internal_has_set_to_default(); +inline bool Node::_internal_has_column_ref() const { + return node_case() == kColumnRef; } -inline void Node::set_has_set_to_default() { - _impl_._oneof_case_[0] = kSetToDefault; +inline void Node::set_has_column_ref() { + _impl_._oneof_case_[0] = kColumnRef; } -inline void Node::clear_set_to_default() { - if (_internal_has_set_to_default()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.set_to_default_; +inline void Node::clear_column_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kColumnRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.column_ref_; } clear_has_node(); } } -inline ::pg_query::SetToDefault* Node::release_set_to_default() { - // @@protoc_insertion_point(field_release:pg_query.Node.set_to_default) - if (_internal_has_set_to_default()) { +inline ::pg_query::ColumnRef* Node::release_column_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.column_ref) + if (node_case() == kColumnRef) { clear_has_node(); - ::pg_query::SetToDefault* temp = _impl_.node_.set_to_default_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.column_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.set_to_default_ = nullptr; + _impl_.node_.column_ref_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SetToDefault& Node::_internal_set_to_default() const { - return _internal_has_set_to_default() - ? *_impl_.node_.set_to_default_ - : reinterpret_cast< ::pg_query::SetToDefault&>(::pg_query::_SetToDefault_default_instance_); +inline const ::pg_query::ColumnRef& Node::_internal_column_ref() const { + return node_case() == kColumnRef ? *_impl_.node_.column_ref_ : reinterpret_cast<::pg_query::ColumnRef&>(::pg_query::_ColumnRef_default_instance_); } -inline const ::pg_query::SetToDefault& Node::set_to_default() const { - // @@protoc_insertion_point(field_get:pg_query.Node.set_to_default) - return _internal_set_to_default(); +inline const ::pg_query::ColumnRef& Node::column_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.column_ref) + return _internal_column_ref(); } -inline ::pg_query::SetToDefault* Node::unsafe_arena_release_set_to_default() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_to_default) - if (_internal_has_set_to_default()) { +inline ::pg_query::ColumnRef* Node::unsafe_arena_release_column_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_ref) + if (node_case() == kColumnRef) { clear_has_node(); - ::pg_query::SetToDefault* temp = _impl_.node_.set_to_default_; - _impl_.node_.set_to_default_ = nullptr; + auto* temp = _impl_.node_.column_ref_; + _impl_.node_.column_ref_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_set_to_default(::pg_query::SetToDefault* set_to_default) { +inline void Node::unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (set_to_default) { - set_has_set_to_default(); - _impl_.node_.set_to_default_ = set_to_default; + if (value) { + set_has_column_ref(); + _impl_.node_.column_ref_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_to_default) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_ref) } -inline ::pg_query::SetToDefault* Node::_internal_mutable_set_to_default() { - if (!_internal_has_set_to_default()) { +inline ::pg_query::ColumnRef* Node::_internal_mutable_column_ref() { + if (node_case() != kColumnRef) { clear_node(); - set_has_set_to_default(); - _impl_.node_.set_to_default_ = CreateMaybeMessage< ::pg_query::SetToDefault >(GetArenaForAllocation()); + set_has_column_ref(); + _impl_.node_.column_ref_ = CreateMaybeMessage<::pg_query::ColumnRef>(GetArena()); } - return _impl_.node_.set_to_default_; + return _impl_.node_.column_ref_; } -inline ::pg_query::SetToDefault* Node::mutable_set_to_default() { - ::pg_query::SetToDefault* _msg = _internal_mutable_set_to_default(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.set_to_default) +inline ::pg_query::ColumnRef* Node::mutable_column_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ColumnRef* _msg = _internal_mutable_column_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.column_ref) return _msg; } -// .pg_query.CurrentOfExpr current_of_expr = 42 [json_name = "CurrentOfExpr"]; -inline bool Node::_internal_has_current_of_expr() const { - return node_case() == kCurrentOfExpr; +// .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"]; +inline bool Node::has_param_ref() const { + return node_case() == kParamRef; } -inline bool Node::has_current_of_expr() const { - return _internal_has_current_of_expr(); +inline bool Node::_internal_has_param_ref() const { + return node_case() == kParamRef; } -inline void Node::set_has_current_of_expr() { - _impl_._oneof_case_[0] = kCurrentOfExpr; +inline void Node::set_has_param_ref() { + _impl_._oneof_case_[0] = kParamRef; } -inline void Node::clear_current_of_expr() { - if (_internal_has_current_of_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.current_of_expr_; +inline void Node::clear_param_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kParamRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.param_ref_; } clear_has_node(); } } -inline ::pg_query::CurrentOfExpr* Node::release_current_of_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.current_of_expr) - if (_internal_has_current_of_expr()) { +inline ::pg_query::ParamRef* Node::release_param_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.param_ref) + if (node_case() == kParamRef) { clear_has_node(); - ::pg_query::CurrentOfExpr* temp = _impl_.node_.current_of_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.param_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.current_of_expr_ = nullptr; + _impl_.node_.param_ref_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CurrentOfExpr& Node::_internal_current_of_expr() const { - return _internal_has_current_of_expr() - ? *_impl_.node_.current_of_expr_ - : reinterpret_cast< ::pg_query::CurrentOfExpr&>(::pg_query::_CurrentOfExpr_default_instance_); +inline const ::pg_query::ParamRef& Node::_internal_param_ref() const { + return node_case() == kParamRef ? *_impl_.node_.param_ref_ : reinterpret_cast<::pg_query::ParamRef&>(::pg_query::_ParamRef_default_instance_); } -inline const ::pg_query::CurrentOfExpr& Node::current_of_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.current_of_expr) - return _internal_current_of_expr(); +inline const ::pg_query::ParamRef& Node::param_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.param_ref) + return _internal_param_ref(); } -inline ::pg_query::CurrentOfExpr* Node::unsafe_arena_release_current_of_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.current_of_expr) - if (_internal_has_current_of_expr()) { +inline ::pg_query::ParamRef* Node::unsafe_arena_release_param_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param_ref) + if (node_case() == kParamRef) { clear_has_node(); - ::pg_query::CurrentOfExpr* temp = _impl_.node_.current_of_expr_; - _impl_.node_.current_of_expr_ = nullptr; + auto* temp = _impl_.node_.param_ref_; + _impl_.node_.param_ref_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_current_of_expr(::pg_query::CurrentOfExpr* current_of_expr) { +inline void Node::unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (current_of_expr) { - set_has_current_of_expr(); - _impl_.node_.current_of_expr_ = current_of_expr; + if (value) { + set_has_param_ref(); + _impl_.node_.param_ref_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.current_of_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param_ref) } -inline ::pg_query::CurrentOfExpr* Node::_internal_mutable_current_of_expr() { - if (!_internal_has_current_of_expr()) { +inline ::pg_query::ParamRef* Node::_internal_mutable_param_ref() { + if (node_case() != kParamRef) { clear_node(); - set_has_current_of_expr(); - _impl_.node_.current_of_expr_ = CreateMaybeMessage< ::pg_query::CurrentOfExpr >(GetArenaForAllocation()); + set_has_param_ref(); + _impl_.node_.param_ref_ = CreateMaybeMessage<::pg_query::ParamRef>(GetArena()); } - return _impl_.node_.current_of_expr_; + return _impl_.node_.param_ref_; } -inline ::pg_query::CurrentOfExpr* Node::mutable_current_of_expr() { - ::pg_query::CurrentOfExpr* _msg = _internal_mutable_current_of_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.current_of_expr) +inline ::pg_query::ParamRef* Node::mutable_param_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ParamRef* _msg = _internal_mutable_param_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.param_ref) return _msg; } -// .pg_query.NextValueExpr next_value_expr = 43 [json_name = "NextValueExpr"]; -inline bool Node::_internal_has_next_value_expr() const { - return node_case() == kNextValueExpr; +// .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"]; +inline bool Node::has_a_expr() const { + return node_case() == kAExpr; } -inline bool Node::has_next_value_expr() const { - return _internal_has_next_value_expr(); +inline bool Node::_internal_has_a_expr() const { + return node_case() == kAExpr; } -inline void Node::set_has_next_value_expr() { - _impl_._oneof_case_[0] = kNextValueExpr; +inline void Node::set_has_a_expr() { + _impl_._oneof_case_[0] = kAExpr; } -inline void Node::clear_next_value_expr() { - if (_internal_has_next_value_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.next_value_expr_; +inline void Node::clear_a_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_expr_; } clear_has_node(); } } -inline ::pg_query::NextValueExpr* Node::release_next_value_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.next_value_expr) - if (_internal_has_next_value_expr()) { +inline ::pg_query::A_Expr* Node::release_a_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_expr) + if (node_case() == kAExpr) { clear_has_node(); - ::pg_query::NextValueExpr* temp = _impl_.node_.next_value_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.next_value_expr_ = nullptr; + _impl_.node_.a_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NextValueExpr& Node::_internal_next_value_expr() const { - return _internal_has_next_value_expr() - ? *_impl_.node_.next_value_expr_ - : reinterpret_cast< ::pg_query::NextValueExpr&>(::pg_query::_NextValueExpr_default_instance_); +inline const ::pg_query::A_Expr& Node::_internal_a_expr() const { + return node_case() == kAExpr ? *_impl_.node_.a_expr_ : reinterpret_cast<::pg_query::A_Expr&>(::pg_query::_A_Expr_default_instance_); } -inline const ::pg_query::NextValueExpr& Node::next_value_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.next_value_expr) - return _internal_next_value_expr(); +inline const ::pg_query::A_Expr& Node::a_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_expr) + return _internal_a_expr(); } -inline ::pg_query::NextValueExpr* Node::unsafe_arena_release_next_value_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.next_value_expr) - if (_internal_has_next_value_expr()) { +inline ::pg_query::A_Expr* Node::unsafe_arena_release_a_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_expr) + if (node_case() == kAExpr) { clear_has_node(); - ::pg_query::NextValueExpr* temp = _impl_.node_.next_value_expr_; - _impl_.node_.next_value_expr_ = nullptr; + auto* temp = _impl_.node_.a_expr_; + _impl_.node_.a_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_next_value_expr(::pg_query::NextValueExpr* next_value_expr) { +inline void Node::unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (next_value_expr) { - set_has_next_value_expr(); - _impl_.node_.next_value_expr_ = next_value_expr; + if (value) { + set_has_a_expr(); + _impl_.node_.a_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.next_value_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_expr) } -inline ::pg_query::NextValueExpr* Node::_internal_mutable_next_value_expr() { - if (!_internal_has_next_value_expr()) { +inline ::pg_query::A_Expr* Node::_internal_mutable_a_expr() { + if (node_case() != kAExpr) { clear_node(); - set_has_next_value_expr(); - _impl_.node_.next_value_expr_ = CreateMaybeMessage< ::pg_query::NextValueExpr >(GetArenaForAllocation()); + set_has_a_expr(); + _impl_.node_.a_expr_ = CreateMaybeMessage<::pg_query::A_Expr>(GetArena()); } - return _impl_.node_.next_value_expr_; + return _impl_.node_.a_expr_; } -inline ::pg_query::NextValueExpr* Node::mutable_next_value_expr() { - ::pg_query::NextValueExpr* _msg = _internal_mutable_next_value_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.next_value_expr) +inline ::pg_query::A_Expr* Node::mutable_a_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Expr* _msg = _internal_mutable_a_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_expr) return _msg; } -// .pg_query.InferenceElem inference_elem = 44 [json_name = "InferenceElem"]; -inline bool Node::_internal_has_inference_elem() const { - return node_case() == kInferenceElem; +// .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"]; +inline bool Node::has_type_cast() const { + return node_case() == kTypeCast; } -inline bool Node::has_inference_elem() const { - return _internal_has_inference_elem(); +inline bool Node::_internal_has_type_cast() const { + return node_case() == kTypeCast; } -inline void Node::set_has_inference_elem() { - _impl_._oneof_case_[0] = kInferenceElem; +inline void Node::set_has_type_cast() { + _impl_._oneof_case_[0] = kTypeCast; } -inline void Node::clear_inference_elem() { - if (_internal_has_inference_elem()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.inference_elem_; +inline void Node::clear_type_cast() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTypeCast) { + if (GetArena() == nullptr) { + delete _impl_.node_.type_cast_; } clear_has_node(); } } -inline ::pg_query::InferenceElem* Node::release_inference_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.inference_elem) - if (_internal_has_inference_elem()) { +inline ::pg_query::TypeCast* Node::release_type_cast() { + // @@protoc_insertion_point(field_release:pg_query.Node.type_cast) + if (node_case() == kTypeCast) { clear_has_node(); - ::pg_query::InferenceElem* temp = _impl_.node_.inference_elem_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.type_cast_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.inference_elem_ = nullptr; + _impl_.node_.type_cast_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InferenceElem& Node::_internal_inference_elem() const { - return _internal_has_inference_elem() - ? *_impl_.node_.inference_elem_ - : reinterpret_cast< ::pg_query::InferenceElem&>(::pg_query::_InferenceElem_default_instance_); +inline const ::pg_query::TypeCast& Node::_internal_type_cast() const { + return node_case() == kTypeCast ? *_impl_.node_.type_cast_ : reinterpret_cast<::pg_query::TypeCast&>(::pg_query::_TypeCast_default_instance_); } -inline const ::pg_query::InferenceElem& Node::inference_elem() const { - // @@protoc_insertion_point(field_get:pg_query.Node.inference_elem) - return _internal_inference_elem(); +inline const ::pg_query::TypeCast& Node::type_cast() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.type_cast) + return _internal_type_cast(); } -inline ::pg_query::InferenceElem* Node::unsafe_arena_release_inference_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inference_elem) - if (_internal_has_inference_elem()) { +inline ::pg_query::TypeCast* Node::unsafe_arena_release_type_cast() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_cast) + if (node_case() == kTypeCast) { clear_has_node(); - ::pg_query::InferenceElem* temp = _impl_.node_.inference_elem_; - _impl_.node_.inference_elem_ = nullptr; + auto* temp = _impl_.node_.type_cast_; + _impl_.node_.type_cast_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_inference_elem(::pg_query::InferenceElem* inference_elem) { +inline void Node::unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (inference_elem) { - set_has_inference_elem(); - _impl_.node_.inference_elem_ = inference_elem; + if (value) { + set_has_type_cast(); + _impl_.node_.type_cast_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inference_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_cast) } -inline ::pg_query::InferenceElem* Node::_internal_mutable_inference_elem() { - if (!_internal_has_inference_elem()) { +inline ::pg_query::TypeCast* Node::_internal_mutable_type_cast() { + if (node_case() != kTypeCast) { clear_node(); - set_has_inference_elem(); - _impl_.node_.inference_elem_ = CreateMaybeMessage< ::pg_query::InferenceElem >(GetArenaForAllocation()); + set_has_type_cast(); + _impl_.node_.type_cast_ = CreateMaybeMessage<::pg_query::TypeCast>(GetArena()); } - return _impl_.node_.inference_elem_; + return _impl_.node_.type_cast_; } -inline ::pg_query::InferenceElem* Node::mutable_inference_elem() { - ::pg_query::InferenceElem* _msg = _internal_mutable_inference_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.inference_elem) +inline ::pg_query::TypeCast* Node::mutable_type_cast() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeCast* _msg = _internal_mutable_type_cast(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.type_cast) return _msg; } -// .pg_query.TargetEntry target_entry = 45 [json_name = "TargetEntry"]; -inline bool Node::_internal_has_target_entry() const { - return node_case() == kTargetEntry; +// .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"]; +inline bool Node::has_collate_clause() const { + return node_case() == kCollateClause; } -inline bool Node::has_target_entry() const { - return _internal_has_target_entry(); +inline bool Node::_internal_has_collate_clause() const { + return node_case() == kCollateClause; } -inline void Node::set_has_target_entry() { - _impl_._oneof_case_[0] = kTargetEntry; +inline void Node::set_has_collate_clause() { + _impl_._oneof_case_[0] = kCollateClause; } -inline void Node::clear_target_entry() { - if (_internal_has_target_entry()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.target_entry_; +inline void Node::clear_collate_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCollateClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.collate_clause_; } clear_has_node(); } } -inline ::pg_query::TargetEntry* Node::release_target_entry() { - // @@protoc_insertion_point(field_release:pg_query.Node.target_entry) - if (_internal_has_target_entry()) { +inline ::pg_query::CollateClause* Node::release_collate_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.collate_clause) + if (node_case() == kCollateClause) { clear_has_node(); - ::pg_query::TargetEntry* temp = _impl_.node_.target_entry_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.collate_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.target_entry_ = nullptr; + _impl_.node_.collate_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TargetEntry& Node::_internal_target_entry() const { - return _internal_has_target_entry() - ? *_impl_.node_.target_entry_ - : reinterpret_cast< ::pg_query::TargetEntry&>(::pg_query::_TargetEntry_default_instance_); +inline const ::pg_query::CollateClause& Node::_internal_collate_clause() const { + return node_case() == kCollateClause ? *_impl_.node_.collate_clause_ : reinterpret_cast<::pg_query::CollateClause&>(::pg_query::_CollateClause_default_instance_); } -inline const ::pg_query::TargetEntry& Node::target_entry() const { - // @@protoc_insertion_point(field_get:pg_query.Node.target_entry) - return _internal_target_entry(); +inline const ::pg_query::CollateClause& Node::collate_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.collate_clause) + return _internal_collate_clause(); } -inline ::pg_query::TargetEntry* Node::unsafe_arena_release_target_entry() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.target_entry) - if (_internal_has_target_entry()) { +inline ::pg_query::CollateClause* Node::unsafe_arena_release_collate_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_clause) + if (node_case() == kCollateClause) { clear_has_node(); - ::pg_query::TargetEntry* temp = _impl_.node_.target_entry_; - _impl_.node_.target_entry_ = nullptr; + auto* temp = _impl_.node_.collate_clause_; + _impl_.node_.collate_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_target_entry(::pg_query::TargetEntry* target_entry) { +inline void Node::unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (target_entry) { - set_has_target_entry(); - _impl_.node_.target_entry_ = target_entry; + if (value) { + set_has_collate_clause(); + _impl_.node_.collate_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.target_entry) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_clause) } -inline ::pg_query::TargetEntry* Node::_internal_mutable_target_entry() { - if (!_internal_has_target_entry()) { +inline ::pg_query::CollateClause* Node::_internal_mutable_collate_clause() { + if (node_case() != kCollateClause) { clear_node(); - set_has_target_entry(); - _impl_.node_.target_entry_ = CreateMaybeMessage< ::pg_query::TargetEntry >(GetArenaForAllocation()); + set_has_collate_clause(); + _impl_.node_.collate_clause_ = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); } - return _impl_.node_.target_entry_; + return _impl_.node_.collate_clause_; } -inline ::pg_query::TargetEntry* Node::mutable_target_entry() { - ::pg_query::TargetEntry* _msg = _internal_mutable_target_entry(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.target_entry) +inline ::pg_query::CollateClause* Node::mutable_collate_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateClause* _msg = _internal_mutable_collate_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_clause) return _msg; } -// .pg_query.RangeTblRef range_tbl_ref = 46 [json_name = "RangeTblRef"]; -inline bool Node::_internal_has_range_tbl_ref() const { - return node_case() == kRangeTblRef; +// .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"]; +inline bool Node::has_role_spec() const { + return node_case() == kRoleSpec; } -inline bool Node::has_range_tbl_ref() const { - return _internal_has_range_tbl_ref(); +inline bool Node::_internal_has_role_spec() const { + return node_case() == kRoleSpec; } -inline void Node::set_has_range_tbl_ref() { - _impl_._oneof_case_[0] = kRangeTblRef; +inline void Node::set_has_role_spec() { + _impl_._oneof_case_[0] = kRoleSpec; } -inline void Node::clear_range_tbl_ref() { - if (_internal_has_range_tbl_ref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_tbl_ref_; +inline void Node::clear_role_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRoleSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.role_spec_; } clear_has_node(); } } -inline ::pg_query::RangeTblRef* Node::release_range_tbl_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_ref) - if (_internal_has_range_tbl_ref()) { +inline ::pg_query::RoleSpec* Node::release_role_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.role_spec) + if (node_case() == kRoleSpec) { clear_has_node(); - ::pg_query::RangeTblRef* temp = _impl_.node_.range_tbl_ref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.role_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_ref_ = nullptr; + _impl_.node_.role_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblRef& Node::_internal_range_tbl_ref() const { - return _internal_has_range_tbl_ref() - ? *_impl_.node_.range_tbl_ref_ - : reinterpret_cast< ::pg_query::RangeTblRef&>(::pg_query::_RangeTblRef_default_instance_); +inline const ::pg_query::RoleSpec& Node::_internal_role_spec() const { + return node_case() == kRoleSpec ? *_impl_.node_.role_spec_ : reinterpret_cast<::pg_query::RoleSpec&>(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::RangeTblRef& Node::range_tbl_ref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_ref) - return _internal_range_tbl_ref(); +inline const ::pg_query::RoleSpec& Node::role_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.role_spec) + return _internal_role_spec(); } -inline ::pg_query::RangeTblRef* Node::unsafe_arena_release_range_tbl_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_ref) - if (_internal_has_range_tbl_ref()) { +inline ::pg_query::RoleSpec* Node::unsafe_arena_release_role_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.role_spec) + if (node_case() == kRoleSpec) { clear_has_node(); - ::pg_query::RangeTblRef* temp = _impl_.node_.range_tbl_ref_; - _impl_.node_.range_tbl_ref_ = nullptr; + auto* temp = _impl_.node_.role_spec_; + _impl_.node_.role_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_ref(::pg_query::RangeTblRef* range_tbl_ref) { +inline void Node::unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_tbl_ref) { - set_has_range_tbl_ref(); - _impl_.node_.range_tbl_ref_ = range_tbl_ref; + if (value) { + set_has_role_spec(); + _impl_.node_.role_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.role_spec) } -inline ::pg_query::RangeTblRef* Node::_internal_mutable_range_tbl_ref() { - if (!_internal_has_range_tbl_ref()) { +inline ::pg_query::RoleSpec* Node::_internal_mutable_role_spec() { + if (node_case() != kRoleSpec) { clear_node(); - set_has_range_tbl_ref(); - _impl_.node_.range_tbl_ref_ = CreateMaybeMessage< ::pg_query::RangeTblRef >(GetArenaForAllocation()); + set_has_role_spec(); + _impl_.node_.role_spec_ = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); } - return _impl_.node_.range_tbl_ref_; + return _impl_.node_.role_spec_; } -inline ::pg_query::RangeTblRef* Node::mutable_range_tbl_ref() { - ::pg_query::RangeTblRef* _msg = _internal_mutable_range_tbl_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_ref) +inline ::pg_query::RoleSpec* Node::mutable_role_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_role_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.role_spec) return _msg; } -// .pg_query.JoinExpr join_expr = 47 [json_name = "JoinExpr"]; -inline bool Node::_internal_has_join_expr() const { - return node_case() == kJoinExpr; +// .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"]; +inline bool Node::has_func_call() const { + return node_case() == kFuncCall; } -inline bool Node::has_join_expr() const { - return _internal_has_join_expr(); +inline bool Node::_internal_has_func_call() const { + return node_case() == kFuncCall; } -inline void Node::set_has_join_expr() { - _impl_._oneof_case_[0] = kJoinExpr; +inline void Node::set_has_func_call() { + _impl_._oneof_case_[0] = kFuncCall; } -inline void Node::clear_join_expr() { - if (_internal_has_join_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.join_expr_; +inline void Node::clear_func_call() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFuncCall) { + if (GetArena() == nullptr) { + delete _impl_.node_.func_call_; } clear_has_node(); } } -inline ::pg_query::JoinExpr* Node::release_join_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.join_expr) - if (_internal_has_join_expr()) { +inline ::pg_query::FuncCall* Node::release_func_call() { + // @@protoc_insertion_point(field_release:pg_query.Node.func_call) + if (node_case() == kFuncCall) { clear_has_node(); - ::pg_query::JoinExpr* temp = _impl_.node_.join_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.func_call_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.join_expr_ = nullptr; + _impl_.node_.func_call_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::JoinExpr& Node::_internal_join_expr() const { - return _internal_has_join_expr() - ? *_impl_.node_.join_expr_ - : reinterpret_cast< ::pg_query::JoinExpr&>(::pg_query::_JoinExpr_default_instance_); +inline const ::pg_query::FuncCall& Node::_internal_func_call() const { + return node_case() == kFuncCall ? *_impl_.node_.func_call_ : reinterpret_cast<::pg_query::FuncCall&>(::pg_query::_FuncCall_default_instance_); } -inline const ::pg_query::JoinExpr& Node::join_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.join_expr) - return _internal_join_expr(); +inline const ::pg_query::FuncCall& Node::func_call() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.func_call) + return _internal_func_call(); } -inline ::pg_query::JoinExpr* Node::unsafe_arena_release_join_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.join_expr) - if (_internal_has_join_expr()) { +inline ::pg_query::FuncCall* Node::unsafe_arena_release_func_call() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_call) + if (node_case() == kFuncCall) { clear_has_node(); - ::pg_query::JoinExpr* temp = _impl_.node_.join_expr_; - _impl_.node_.join_expr_ = nullptr; + auto* temp = _impl_.node_.func_call_; + _impl_.node_.func_call_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_join_expr(::pg_query::JoinExpr* join_expr) { +inline void Node::unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (join_expr) { - set_has_join_expr(); - _impl_.node_.join_expr_ = join_expr; + if (value) { + set_has_func_call(); + _impl_.node_.func_call_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.join_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_call) } -inline ::pg_query::JoinExpr* Node::_internal_mutable_join_expr() { - if (!_internal_has_join_expr()) { +inline ::pg_query::FuncCall* Node::_internal_mutable_func_call() { + if (node_case() != kFuncCall) { clear_node(); - set_has_join_expr(); - _impl_.node_.join_expr_ = CreateMaybeMessage< ::pg_query::JoinExpr >(GetArenaForAllocation()); + set_has_func_call(); + _impl_.node_.func_call_ = CreateMaybeMessage<::pg_query::FuncCall>(GetArena()); } - return _impl_.node_.join_expr_; + return _impl_.node_.func_call_; } -inline ::pg_query::JoinExpr* Node::mutable_join_expr() { - ::pg_query::JoinExpr* _msg = _internal_mutable_join_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.join_expr) +inline ::pg_query::FuncCall* Node::mutable_func_call() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncCall* _msg = _internal_mutable_func_call(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.func_call) return _msg; } -// .pg_query.FromExpr from_expr = 48 [json_name = "FromExpr"]; -inline bool Node::_internal_has_from_expr() const { - return node_case() == kFromExpr; +// .pg_query.A_Star a_star = 73 [json_name = "A_Star"]; +inline bool Node::has_a_star() const { + return node_case() == kAStar; } -inline bool Node::has_from_expr() const { - return _internal_has_from_expr(); +inline bool Node::_internal_has_a_star() const { + return node_case() == kAStar; } -inline void Node::set_has_from_expr() { - _impl_._oneof_case_[0] = kFromExpr; +inline void Node::set_has_a_star() { + _impl_._oneof_case_[0] = kAStar; } -inline void Node::clear_from_expr() { - if (_internal_has_from_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.from_expr_; +inline void Node::clear_a_star() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAStar) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_star_; } clear_has_node(); } } -inline ::pg_query::FromExpr* Node::release_from_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.from_expr) - if (_internal_has_from_expr()) { +inline ::pg_query::A_Star* Node::release_a_star() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_star) + if (node_case() == kAStar) { clear_has_node(); - ::pg_query::FromExpr* temp = _impl_.node_.from_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_star_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.from_expr_ = nullptr; + _impl_.node_.a_star_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FromExpr& Node::_internal_from_expr() const { - return _internal_has_from_expr() - ? *_impl_.node_.from_expr_ - : reinterpret_cast< ::pg_query::FromExpr&>(::pg_query::_FromExpr_default_instance_); +inline const ::pg_query::A_Star& Node::_internal_a_star() const { + return node_case() == kAStar ? *_impl_.node_.a_star_ : reinterpret_cast<::pg_query::A_Star&>(::pg_query::_A_Star_default_instance_); } -inline const ::pg_query::FromExpr& Node::from_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.from_expr) - return _internal_from_expr(); +inline const ::pg_query::A_Star& Node::a_star() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_star) + return _internal_a_star(); } -inline ::pg_query::FromExpr* Node::unsafe_arena_release_from_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.from_expr) - if (_internal_has_from_expr()) { +inline ::pg_query::A_Star* Node::unsafe_arena_release_a_star() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_star) + if (node_case() == kAStar) { clear_has_node(); - ::pg_query::FromExpr* temp = _impl_.node_.from_expr_; - _impl_.node_.from_expr_ = nullptr; + auto* temp = _impl_.node_.a_star_; + _impl_.node_.a_star_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_from_expr(::pg_query::FromExpr* from_expr) { +inline void Node::unsafe_arena_set_allocated_a_star(::pg_query::A_Star* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (from_expr) { - set_has_from_expr(); - _impl_.node_.from_expr_ = from_expr; + if (value) { + set_has_a_star(); + _impl_.node_.a_star_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.from_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_star) } -inline ::pg_query::FromExpr* Node::_internal_mutable_from_expr() { - if (!_internal_has_from_expr()) { +inline ::pg_query::A_Star* Node::_internal_mutable_a_star() { + if (node_case() != kAStar) { clear_node(); - set_has_from_expr(); - _impl_.node_.from_expr_ = CreateMaybeMessage< ::pg_query::FromExpr >(GetArenaForAllocation()); + set_has_a_star(); + _impl_.node_.a_star_ = CreateMaybeMessage<::pg_query::A_Star>(GetArena()); } - return _impl_.node_.from_expr_; + return _impl_.node_.a_star_; } -inline ::pg_query::FromExpr* Node::mutable_from_expr() { - ::pg_query::FromExpr* _msg = _internal_mutable_from_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.from_expr) +inline ::pg_query::A_Star* Node::mutable_a_star() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Star* _msg = _internal_mutable_a_star(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_star) return _msg; } -// .pg_query.OnConflictExpr on_conflict_expr = 49 [json_name = "OnConflictExpr"]; -inline bool Node::_internal_has_on_conflict_expr() const { - return node_case() == kOnConflictExpr; +// .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"]; +inline bool Node::has_a_indices() const { + return node_case() == kAIndices; } -inline bool Node::has_on_conflict_expr() const { - return _internal_has_on_conflict_expr(); +inline bool Node::_internal_has_a_indices() const { + return node_case() == kAIndices; } -inline void Node::set_has_on_conflict_expr() { - _impl_._oneof_case_[0] = kOnConflictExpr; +inline void Node::set_has_a_indices() { + _impl_._oneof_case_[0] = kAIndices; } -inline void Node::clear_on_conflict_expr() { - if (_internal_has_on_conflict_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.on_conflict_expr_; +inline void Node::clear_a_indices() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAIndices) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_indices_; } clear_has_node(); } } -inline ::pg_query::OnConflictExpr* Node::release_on_conflict_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_expr) - if (_internal_has_on_conflict_expr()) { +inline ::pg_query::A_Indices* Node::release_a_indices() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_indices) + if (node_case() == kAIndices) { clear_has_node(); - ::pg_query::OnConflictExpr* temp = _impl_.node_.on_conflict_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_indices_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.on_conflict_expr_ = nullptr; + _impl_.node_.a_indices_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OnConflictExpr& Node::_internal_on_conflict_expr() const { - return _internal_has_on_conflict_expr() - ? *_impl_.node_.on_conflict_expr_ - : reinterpret_cast< ::pg_query::OnConflictExpr&>(::pg_query::_OnConflictExpr_default_instance_); +inline const ::pg_query::A_Indices& Node::_internal_a_indices() const { + return node_case() == kAIndices ? *_impl_.node_.a_indices_ : reinterpret_cast<::pg_query::A_Indices&>(::pg_query::_A_Indices_default_instance_); } -inline const ::pg_query::OnConflictExpr& Node::on_conflict_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_expr) - return _internal_on_conflict_expr(); +inline const ::pg_query::A_Indices& Node::a_indices() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_indices) + return _internal_a_indices(); } -inline ::pg_query::OnConflictExpr* Node::unsafe_arena_release_on_conflict_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_expr) - if (_internal_has_on_conflict_expr()) { +inline ::pg_query::A_Indices* Node::unsafe_arena_release_a_indices() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indices) + if (node_case() == kAIndices) { clear_has_node(); - ::pg_query::OnConflictExpr* temp = _impl_.node_.on_conflict_expr_; - _impl_.node_.on_conflict_expr_ = nullptr; + auto* temp = _impl_.node_.a_indices_; + _impl_.node_.a_indices_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* on_conflict_expr) { +inline void Node::unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (on_conflict_expr) { - set_has_on_conflict_expr(); - _impl_.node_.on_conflict_expr_ = on_conflict_expr; + if (value) { + set_has_a_indices(); + _impl_.node_.a_indices_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indices) } -inline ::pg_query::OnConflictExpr* Node::_internal_mutable_on_conflict_expr() { - if (!_internal_has_on_conflict_expr()) { +inline ::pg_query::A_Indices* Node::_internal_mutable_a_indices() { + if (node_case() != kAIndices) { clear_node(); - set_has_on_conflict_expr(); - _impl_.node_.on_conflict_expr_ = CreateMaybeMessage< ::pg_query::OnConflictExpr >(GetArenaForAllocation()); + set_has_a_indices(); + _impl_.node_.a_indices_ = CreateMaybeMessage<::pg_query::A_Indices>(GetArena()); } - return _impl_.node_.on_conflict_expr_; + return _impl_.node_.a_indices_; } -inline ::pg_query::OnConflictExpr* Node::mutable_on_conflict_expr() { - ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_expr) +inline ::pg_query::A_Indices* Node::mutable_a_indices() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Indices* _msg = _internal_mutable_a_indices(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indices) return _msg; } -// .pg_query.IntoClause into_clause = 50 [json_name = "IntoClause"]; -inline bool Node::_internal_has_into_clause() const { - return node_case() == kIntoClause; +// .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"]; +inline bool Node::has_a_indirection() const { + return node_case() == kAIndirection; } -inline bool Node::has_into_clause() const { - return _internal_has_into_clause(); +inline bool Node::_internal_has_a_indirection() const { + return node_case() == kAIndirection; } -inline void Node::set_has_into_clause() { - _impl_._oneof_case_[0] = kIntoClause; +inline void Node::set_has_a_indirection() { + _impl_._oneof_case_[0] = kAIndirection; } -inline void Node::clear_into_clause() { - if (_internal_has_into_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.into_clause_; +inline void Node::clear_a_indirection() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAIndirection) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_indirection_; } clear_has_node(); } } -inline ::pg_query::IntoClause* Node::release_into_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.into_clause) - if (_internal_has_into_clause()) { +inline ::pg_query::A_Indirection* Node::release_a_indirection() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_indirection) + if (node_case() == kAIndirection) { clear_has_node(); - ::pg_query::IntoClause* temp = _impl_.node_.into_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_indirection_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.into_clause_ = nullptr; + _impl_.node_.a_indirection_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IntoClause& Node::_internal_into_clause() const { - return _internal_has_into_clause() - ? *_impl_.node_.into_clause_ - : reinterpret_cast< ::pg_query::IntoClause&>(::pg_query::_IntoClause_default_instance_); +inline const ::pg_query::A_Indirection& Node::_internal_a_indirection() const { + return node_case() == kAIndirection ? *_impl_.node_.a_indirection_ : reinterpret_cast<::pg_query::A_Indirection&>(::pg_query::_A_Indirection_default_instance_); } -inline const ::pg_query::IntoClause& Node::into_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.into_clause) - return _internal_into_clause(); +inline const ::pg_query::A_Indirection& Node::a_indirection() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_indirection) + return _internal_a_indirection(); } -inline ::pg_query::IntoClause* Node::unsafe_arena_release_into_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.into_clause) - if (_internal_has_into_clause()) { +inline ::pg_query::A_Indirection* Node::unsafe_arena_release_a_indirection() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indirection) + if (node_case() == kAIndirection) { clear_has_node(); - ::pg_query::IntoClause* temp = _impl_.node_.into_clause_; - _impl_.node_.into_clause_ = nullptr; + auto* temp = _impl_.node_.a_indirection_; + _impl_.node_.a_indirection_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* into_clause) { +inline void Node::unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (into_clause) { - set_has_into_clause(); - _impl_.node_.into_clause_ = into_clause; + if (value) { + set_has_a_indirection(); + _impl_.node_.a_indirection_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.into_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indirection) } -inline ::pg_query::IntoClause* Node::_internal_mutable_into_clause() { - if (!_internal_has_into_clause()) { +inline ::pg_query::A_Indirection* Node::_internal_mutable_a_indirection() { + if (node_case() != kAIndirection) { clear_node(); - set_has_into_clause(); - _impl_.node_.into_clause_ = CreateMaybeMessage< ::pg_query::IntoClause >(GetArenaForAllocation()); + set_has_a_indirection(); + _impl_.node_.a_indirection_ = CreateMaybeMessage<::pg_query::A_Indirection>(GetArena()); } - return _impl_.node_.into_clause_; + return _impl_.node_.a_indirection_; } -inline ::pg_query::IntoClause* Node::mutable_into_clause() { - ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.into_clause) +inline ::pg_query::A_Indirection* Node::mutable_a_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_Indirection* _msg = _internal_mutable_a_indirection(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indirection) return _msg; } -// .pg_query.MergeAction merge_action = 51 [json_name = "MergeAction"]; -inline bool Node::_internal_has_merge_action() const { - return node_case() == kMergeAction; +// .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"]; +inline bool Node::has_a_array_expr() const { + return node_case() == kAArrayExpr; } -inline bool Node::has_merge_action() const { - return _internal_has_merge_action(); +inline bool Node::_internal_has_a_array_expr() const { + return node_case() == kAArrayExpr; } -inline void Node::set_has_merge_action() { - _impl_._oneof_case_[0] = kMergeAction; +inline void Node::set_has_a_array_expr() { + _impl_._oneof_case_[0] = kAArrayExpr; } -inline void Node::clear_merge_action() { - if (_internal_has_merge_action()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.merge_action_; +inline void Node::clear_a_array_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAArrayExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.a_array_expr_; } clear_has_node(); } } -inline ::pg_query::MergeAction* Node::release_merge_action() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_action) - if (_internal_has_merge_action()) { +inline ::pg_query::A_ArrayExpr* Node::release_a_array_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.a_array_expr) + if (node_case() == kAArrayExpr) { clear_has_node(); - ::pg_query::MergeAction* temp = _impl_.node_.merge_action_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_array_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_action_ = nullptr; + _impl_.node_.a_array_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeAction& Node::_internal_merge_action() const { - return _internal_has_merge_action() - ? *_impl_.node_.merge_action_ - : reinterpret_cast< ::pg_query::MergeAction&>(::pg_query::_MergeAction_default_instance_); +inline const ::pg_query::A_ArrayExpr& Node::_internal_a_array_expr() const { + return node_case() == kAArrayExpr ? *_impl_.node_.a_array_expr_ : reinterpret_cast<::pg_query::A_ArrayExpr&>(::pg_query::_A_ArrayExpr_default_instance_); } -inline const ::pg_query::MergeAction& Node::merge_action() const { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_action) - return _internal_merge_action(); +inline const ::pg_query::A_ArrayExpr& Node::a_array_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.a_array_expr) + return _internal_a_array_expr(); } -inline ::pg_query::MergeAction* Node::unsafe_arena_release_merge_action() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_action) - if (_internal_has_merge_action()) { +inline ::pg_query::A_ArrayExpr* Node::unsafe_arena_release_a_array_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_array_expr) + if (node_case() == kAArrayExpr) { clear_has_node(); - ::pg_query::MergeAction* temp = _impl_.node_.merge_action_; - _impl_.node_.merge_action_ = nullptr; + auto* temp = _impl_.node_.a_array_expr_; + _impl_.node_.a_array_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_action(::pg_query::MergeAction* merge_action) { +inline void Node::unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (merge_action) { - set_has_merge_action(); - _impl_.node_.merge_action_ = merge_action; + if (value) { + set_has_a_array_expr(); + _impl_.node_.a_array_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_action) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_array_expr) } -inline ::pg_query::MergeAction* Node::_internal_mutable_merge_action() { - if (!_internal_has_merge_action()) { +inline ::pg_query::A_ArrayExpr* Node::_internal_mutable_a_array_expr() { + if (node_case() != kAArrayExpr) { clear_node(); - set_has_merge_action(); - _impl_.node_.merge_action_ = CreateMaybeMessage< ::pg_query::MergeAction >(GetArenaForAllocation()); + set_has_a_array_expr(); + _impl_.node_.a_array_expr_ = CreateMaybeMessage<::pg_query::A_ArrayExpr>(GetArena()); } - return _impl_.node_.merge_action_; + return _impl_.node_.a_array_expr_; } -inline ::pg_query::MergeAction* Node::mutable_merge_action() { - ::pg_query::MergeAction* _msg = _internal_mutable_merge_action(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_action) +inline ::pg_query::A_ArrayExpr* Node::mutable_a_array_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::A_ArrayExpr* _msg = _internal_mutable_a_array_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.a_array_expr) return _msg; } -// .pg_query.RawStmt raw_stmt = 52 [json_name = "RawStmt"]; -inline bool Node::_internal_has_raw_stmt() const { - return node_case() == kRawStmt; +// .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"]; +inline bool Node::has_res_target() const { + return node_case() == kResTarget; } -inline bool Node::has_raw_stmt() const { - return _internal_has_raw_stmt(); +inline bool Node::_internal_has_res_target() const { + return node_case() == kResTarget; } -inline void Node::set_has_raw_stmt() { - _impl_._oneof_case_[0] = kRawStmt; +inline void Node::set_has_res_target() { + _impl_._oneof_case_[0] = kResTarget; } -inline void Node::clear_raw_stmt() { - if (_internal_has_raw_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.raw_stmt_; +inline void Node::clear_res_target() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kResTarget) { + if (GetArena() == nullptr) { + delete _impl_.node_.res_target_; } clear_has_node(); } } -inline ::pg_query::RawStmt* Node::release_raw_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.raw_stmt) - if (_internal_has_raw_stmt()) { +inline ::pg_query::ResTarget* Node::release_res_target() { + // @@protoc_insertion_point(field_release:pg_query.Node.res_target) + if (node_case() == kResTarget) { clear_has_node(); - ::pg_query::RawStmt* temp = _impl_.node_.raw_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.res_target_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.raw_stmt_ = nullptr; + _impl_.node_.res_target_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RawStmt& Node::_internal_raw_stmt() const { - return _internal_has_raw_stmt() - ? *_impl_.node_.raw_stmt_ - : reinterpret_cast< ::pg_query::RawStmt&>(::pg_query::_RawStmt_default_instance_); +inline const ::pg_query::ResTarget& Node::_internal_res_target() const { + return node_case() == kResTarget ? *_impl_.node_.res_target_ : reinterpret_cast<::pg_query::ResTarget&>(::pg_query::_ResTarget_default_instance_); } -inline const ::pg_query::RawStmt& Node::raw_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.raw_stmt) - return _internal_raw_stmt(); +inline const ::pg_query::ResTarget& Node::res_target() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.res_target) + return _internal_res_target(); } -inline ::pg_query::RawStmt* Node::unsafe_arena_release_raw_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.raw_stmt) - if (_internal_has_raw_stmt()) { +inline ::pg_query::ResTarget* Node::unsafe_arena_release_res_target() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.res_target) + if (node_case() == kResTarget) { clear_has_node(); - ::pg_query::RawStmt* temp = _impl_.node_.raw_stmt_; - _impl_.node_.raw_stmt_ = nullptr; + auto* temp = _impl_.node_.res_target_; + _impl_.node_.res_target_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* raw_stmt) { +inline void Node::unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (raw_stmt) { - set_has_raw_stmt(); - _impl_.node_.raw_stmt_ = raw_stmt; + if (value) { + set_has_res_target(); + _impl_.node_.res_target_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.raw_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.res_target) } -inline ::pg_query::RawStmt* Node::_internal_mutable_raw_stmt() { - if (!_internal_has_raw_stmt()) { +inline ::pg_query::ResTarget* Node::_internal_mutable_res_target() { + if (node_case() != kResTarget) { clear_node(); - set_has_raw_stmt(); - _impl_.node_.raw_stmt_ = CreateMaybeMessage< ::pg_query::RawStmt >(GetArenaForAllocation()); + set_has_res_target(); + _impl_.node_.res_target_ = CreateMaybeMessage<::pg_query::ResTarget>(GetArena()); } - return _impl_.node_.raw_stmt_; + return _impl_.node_.res_target_; } -inline ::pg_query::RawStmt* Node::mutable_raw_stmt() { - ::pg_query::RawStmt* _msg = _internal_mutable_raw_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.raw_stmt) +inline ::pg_query::ResTarget* Node::mutable_res_target() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ResTarget* _msg = _internal_mutable_res_target(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.res_target) return _msg; } -// .pg_query.Query query = 53 [json_name = "Query"]; -inline bool Node::_internal_has_query() const { - return node_case() == kQuery; +// .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"]; +inline bool Node::has_multi_assign_ref() const { + return node_case() == kMultiAssignRef; } -inline bool Node::has_query() const { - return _internal_has_query(); +inline bool Node::_internal_has_multi_assign_ref() const { + return node_case() == kMultiAssignRef; } -inline void Node::set_has_query() { - _impl_._oneof_case_[0] = kQuery; +inline void Node::set_has_multi_assign_ref() { + _impl_._oneof_case_[0] = kMultiAssignRef; } -inline void Node::clear_query() { - if (_internal_has_query()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.query_; +inline void Node::clear_multi_assign_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMultiAssignRef) { + if (GetArena() == nullptr) { + delete _impl_.node_.multi_assign_ref_; } clear_has_node(); } } -inline ::pg_query::Query* Node::release_query() { - // @@protoc_insertion_point(field_release:pg_query.Node.query) - if (_internal_has_query()) { +inline ::pg_query::MultiAssignRef* Node::release_multi_assign_ref() { + // @@protoc_insertion_point(field_release:pg_query.Node.multi_assign_ref) + if (node_case() == kMultiAssignRef) { clear_has_node(); - ::pg_query::Query* temp = _impl_.node_.query_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.multi_assign_ref_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.query_ = nullptr; + _impl_.node_.multi_assign_ref_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Query& Node::_internal_query() const { - return _internal_has_query() - ? *_impl_.node_.query_ - : reinterpret_cast< ::pg_query::Query&>(::pg_query::_Query_default_instance_); +inline const ::pg_query::MultiAssignRef& Node::_internal_multi_assign_ref() const { + return node_case() == kMultiAssignRef ? *_impl_.node_.multi_assign_ref_ : reinterpret_cast<::pg_query::MultiAssignRef&>(::pg_query::_MultiAssignRef_default_instance_); } -inline const ::pg_query::Query& Node::query() const { - // @@protoc_insertion_point(field_get:pg_query.Node.query) - return _internal_query(); +inline const ::pg_query::MultiAssignRef& Node::multi_assign_ref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.multi_assign_ref) + return _internal_multi_assign_ref(); } -inline ::pg_query::Query* Node::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.query) - if (_internal_has_query()) { +inline ::pg_query::MultiAssignRef* Node::unsafe_arena_release_multi_assign_ref() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.multi_assign_ref) + if (node_case() == kMultiAssignRef) { clear_has_node(); - ::pg_query::Query* temp = _impl_.node_.query_; - _impl_.node_.query_ = nullptr; + auto* temp = _impl_.node_.multi_assign_ref_; + _impl_.node_.multi_assign_ref_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_query(::pg_query::Query* query) { +inline void Node::unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (query) { - set_has_query(); - _impl_.node_.query_ = query; + if (value) { + set_has_multi_assign_ref(); + _impl_.node_.multi_assign_ref_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.multi_assign_ref) } -inline ::pg_query::Query* Node::_internal_mutable_query() { - if (!_internal_has_query()) { +inline ::pg_query::MultiAssignRef* Node::_internal_mutable_multi_assign_ref() { + if (node_case() != kMultiAssignRef) { clear_node(); - set_has_query(); - _impl_.node_.query_ = CreateMaybeMessage< ::pg_query::Query >(GetArenaForAllocation()); + set_has_multi_assign_ref(); + _impl_.node_.multi_assign_ref_ = CreateMaybeMessage<::pg_query::MultiAssignRef>(GetArena()); } - return _impl_.node_.query_; + return _impl_.node_.multi_assign_ref_; } -inline ::pg_query::Query* Node::mutable_query() { - ::pg_query::Query* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.query) +inline ::pg_query::MultiAssignRef* Node::mutable_multi_assign_ref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MultiAssignRef* _msg = _internal_mutable_multi_assign_ref(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.multi_assign_ref) return _msg; } -// .pg_query.InsertStmt insert_stmt = 54 [json_name = "InsertStmt"]; -inline bool Node::_internal_has_insert_stmt() const { - return node_case() == kInsertStmt; +// .pg_query.SortBy sort_by = 79 [json_name = "SortBy"]; +inline bool Node::has_sort_by() const { + return node_case() == kSortBy; } -inline bool Node::has_insert_stmt() const { - return _internal_has_insert_stmt(); +inline bool Node::_internal_has_sort_by() const { + return node_case() == kSortBy; } -inline void Node::set_has_insert_stmt() { - _impl_._oneof_case_[0] = kInsertStmt; +inline void Node::set_has_sort_by() { + _impl_._oneof_case_[0] = kSortBy; } -inline void Node::clear_insert_stmt() { - if (_internal_has_insert_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.insert_stmt_; +inline void Node::clear_sort_by() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSortBy) { + if (GetArena() == nullptr) { + delete _impl_.node_.sort_by_; } clear_has_node(); } } -inline ::pg_query::InsertStmt* Node::release_insert_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.insert_stmt) - if (_internal_has_insert_stmt()) { +inline ::pg_query::SortBy* Node::release_sort_by() { + // @@protoc_insertion_point(field_release:pg_query.Node.sort_by) + if (node_case() == kSortBy) { clear_has_node(); - ::pg_query::InsertStmt* temp = _impl_.node_.insert_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.sort_by_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.insert_stmt_ = nullptr; + _impl_.node_.sort_by_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InsertStmt& Node::_internal_insert_stmt() const { - return _internal_has_insert_stmt() - ? *_impl_.node_.insert_stmt_ - : reinterpret_cast< ::pg_query::InsertStmt&>(::pg_query::_InsertStmt_default_instance_); +inline const ::pg_query::SortBy& Node::_internal_sort_by() const { + return node_case() == kSortBy ? *_impl_.node_.sort_by_ : reinterpret_cast<::pg_query::SortBy&>(::pg_query::_SortBy_default_instance_); } -inline const ::pg_query::InsertStmt& Node::insert_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.insert_stmt) - return _internal_insert_stmt(); +inline const ::pg_query::SortBy& Node::sort_by() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sort_by) + return _internal_sort_by(); } -inline ::pg_query::InsertStmt* Node::unsafe_arena_release_insert_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.insert_stmt) - if (_internal_has_insert_stmt()) { +inline ::pg_query::SortBy* Node::unsafe_arena_release_sort_by() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_by) + if (node_case() == kSortBy) { clear_has_node(); - ::pg_query::InsertStmt* temp = _impl_.node_.insert_stmt_; - _impl_.node_.insert_stmt_ = nullptr; + auto* temp = _impl_.node_.sort_by_; + _impl_.node_.sort_by_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* insert_stmt) { +inline void Node::unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (insert_stmt) { - set_has_insert_stmt(); - _impl_.node_.insert_stmt_ = insert_stmt; + if (value) { + set_has_sort_by(); + _impl_.node_.sort_by_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.insert_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_by) } -inline ::pg_query::InsertStmt* Node::_internal_mutable_insert_stmt() { - if (!_internal_has_insert_stmt()) { +inline ::pg_query::SortBy* Node::_internal_mutable_sort_by() { + if (node_case() != kSortBy) { clear_node(); - set_has_insert_stmt(); - _impl_.node_.insert_stmt_ = CreateMaybeMessage< ::pg_query::InsertStmt >(GetArenaForAllocation()); + set_has_sort_by(); + _impl_.node_.sort_by_ = CreateMaybeMessage<::pg_query::SortBy>(GetArena()); } - return _impl_.node_.insert_stmt_; + return _impl_.node_.sort_by_; } -inline ::pg_query::InsertStmt* Node::mutable_insert_stmt() { - ::pg_query::InsertStmt* _msg = _internal_mutable_insert_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.insert_stmt) +inline ::pg_query::SortBy* Node::mutable_sort_by() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SortBy* _msg = _internal_mutable_sort_by(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_by) return _msg; } -// .pg_query.DeleteStmt delete_stmt = 55 [json_name = "DeleteStmt"]; -inline bool Node::_internal_has_delete_stmt() const { - return node_case() == kDeleteStmt; +// .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"]; +inline bool Node::has_window_def() const { + return node_case() == kWindowDef; } -inline bool Node::has_delete_stmt() const { - return _internal_has_delete_stmt(); +inline bool Node::_internal_has_window_def() const { + return node_case() == kWindowDef; } -inline void Node::set_has_delete_stmt() { - _impl_._oneof_case_[0] = kDeleteStmt; +inline void Node::set_has_window_def() { + _impl_._oneof_case_[0] = kWindowDef; } -inline void Node::clear_delete_stmt() { - if (_internal_has_delete_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.delete_stmt_; +inline void Node::clear_window_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowDef) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_def_; } clear_has_node(); } } -inline ::pg_query::DeleteStmt* Node::release_delete_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.delete_stmt) - if (_internal_has_delete_stmt()) { +inline ::pg_query::WindowDef* Node::release_window_def() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_def) + if (node_case() == kWindowDef) { clear_has_node(); - ::pg_query::DeleteStmt* temp = _impl_.node_.delete_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.window_def_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.delete_stmt_ = nullptr; + _impl_.node_.window_def_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DeleteStmt& Node::_internal_delete_stmt() const { - return _internal_has_delete_stmt() - ? *_impl_.node_.delete_stmt_ - : reinterpret_cast< ::pg_query::DeleteStmt&>(::pg_query::_DeleteStmt_default_instance_); +inline const ::pg_query::WindowDef& Node::_internal_window_def() const { + return node_case() == kWindowDef ? *_impl_.node_.window_def_ : reinterpret_cast<::pg_query::WindowDef&>(::pg_query::_WindowDef_default_instance_); } -inline const ::pg_query::DeleteStmt& Node::delete_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.delete_stmt) - return _internal_delete_stmt(); +inline const ::pg_query::WindowDef& Node::window_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_def) + return _internal_window_def(); } -inline ::pg_query::DeleteStmt* Node::unsafe_arena_release_delete_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.delete_stmt) - if (_internal_has_delete_stmt()) { +inline ::pg_query::WindowDef* Node::unsafe_arena_release_window_def() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_def) + if (node_case() == kWindowDef) { clear_has_node(); - ::pg_query::DeleteStmt* temp = _impl_.node_.delete_stmt_; - _impl_.node_.delete_stmt_ = nullptr; + auto* temp = _impl_.node_.window_def_; + _impl_.node_.window_def_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* delete_stmt) { +inline void Node::unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (delete_stmt) { - set_has_delete_stmt(); - _impl_.node_.delete_stmt_ = delete_stmt; + if (value) { + set_has_window_def(); + _impl_.node_.window_def_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.delete_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_def) } -inline ::pg_query::DeleteStmt* Node::_internal_mutable_delete_stmt() { - if (!_internal_has_delete_stmt()) { +inline ::pg_query::WindowDef* Node::_internal_mutable_window_def() { + if (node_case() != kWindowDef) { clear_node(); - set_has_delete_stmt(); - _impl_.node_.delete_stmt_ = CreateMaybeMessage< ::pg_query::DeleteStmt >(GetArenaForAllocation()); + set_has_window_def(); + _impl_.node_.window_def_ = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); } - return _impl_.node_.delete_stmt_; + return _impl_.node_.window_def_; } -inline ::pg_query::DeleteStmt* Node::mutable_delete_stmt() { - ::pg_query::DeleteStmt* _msg = _internal_mutable_delete_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.delete_stmt) +inline ::pg_query::WindowDef* Node::mutable_window_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowDef* _msg = _internal_mutable_window_def(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_def) return _msg; } -// .pg_query.UpdateStmt update_stmt = 56 [json_name = "UpdateStmt"]; -inline bool Node::_internal_has_update_stmt() const { - return node_case() == kUpdateStmt; +// .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"]; +inline bool Node::has_range_subselect() const { + return node_case() == kRangeSubselect; } -inline bool Node::has_update_stmt() const { - return _internal_has_update_stmt(); +inline bool Node::_internal_has_range_subselect() const { + return node_case() == kRangeSubselect; } -inline void Node::set_has_update_stmt() { - _impl_._oneof_case_[0] = kUpdateStmt; +inline void Node::set_has_range_subselect() { + _impl_._oneof_case_[0] = kRangeSubselect; } -inline void Node::clear_update_stmt() { - if (_internal_has_update_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.update_stmt_; +inline void Node::clear_range_subselect() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeSubselect) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_subselect_; } clear_has_node(); } } -inline ::pg_query::UpdateStmt* Node::release_update_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.update_stmt) - if (_internal_has_update_stmt()) { +inline ::pg_query::RangeSubselect* Node::release_range_subselect() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_subselect) + if (node_case() == kRangeSubselect) { clear_has_node(); - ::pg_query::UpdateStmt* temp = _impl_.node_.update_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_subselect_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.update_stmt_ = nullptr; + _impl_.node_.range_subselect_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::UpdateStmt& Node::_internal_update_stmt() const { - return _internal_has_update_stmt() - ? *_impl_.node_.update_stmt_ - : reinterpret_cast< ::pg_query::UpdateStmt&>(::pg_query::_UpdateStmt_default_instance_); +inline const ::pg_query::RangeSubselect& Node::_internal_range_subselect() const { + return node_case() == kRangeSubselect ? *_impl_.node_.range_subselect_ : reinterpret_cast<::pg_query::RangeSubselect&>(::pg_query::_RangeSubselect_default_instance_); } -inline const ::pg_query::UpdateStmt& Node::update_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.update_stmt) - return _internal_update_stmt(); +inline const ::pg_query::RangeSubselect& Node::range_subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_subselect) + return _internal_range_subselect(); } -inline ::pg_query::UpdateStmt* Node::unsafe_arena_release_update_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.update_stmt) - if (_internal_has_update_stmt()) { +inline ::pg_query::RangeSubselect* Node::unsafe_arena_release_range_subselect() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_subselect) + if (node_case() == kRangeSubselect) { clear_has_node(); - ::pg_query::UpdateStmt* temp = _impl_.node_.update_stmt_; - _impl_.node_.update_stmt_ = nullptr; + auto* temp = _impl_.node_.range_subselect_; + _impl_.node_.range_subselect_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* update_stmt) { +inline void Node::unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (update_stmt) { - set_has_update_stmt(); - _impl_.node_.update_stmt_ = update_stmt; + if (value) { + set_has_range_subselect(); + _impl_.node_.range_subselect_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.update_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_subselect) } -inline ::pg_query::UpdateStmt* Node::_internal_mutable_update_stmt() { - if (!_internal_has_update_stmt()) { +inline ::pg_query::RangeSubselect* Node::_internal_mutable_range_subselect() { + if (node_case() != kRangeSubselect) { clear_node(); - set_has_update_stmt(); - _impl_.node_.update_stmt_ = CreateMaybeMessage< ::pg_query::UpdateStmt >(GetArenaForAllocation()); + set_has_range_subselect(); + _impl_.node_.range_subselect_ = CreateMaybeMessage<::pg_query::RangeSubselect>(GetArena()); } - return _impl_.node_.update_stmt_; + return _impl_.node_.range_subselect_; } -inline ::pg_query::UpdateStmt* Node::mutable_update_stmt() { - ::pg_query::UpdateStmt* _msg = _internal_mutable_update_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.update_stmt) +inline ::pg_query::RangeSubselect* Node::mutable_range_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeSubselect* _msg = _internal_mutable_range_subselect(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_subselect) return _msg; } -// .pg_query.MergeStmt merge_stmt = 57 [json_name = "MergeStmt"]; -inline bool Node::_internal_has_merge_stmt() const { - return node_case() == kMergeStmt; +// .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"]; +inline bool Node::has_range_function() const { + return node_case() == kRangeFunction; } -inline bool Node::has_merge_stmt() const { - return _internal_has_merge_stmt(); +inline bool Node::_internal_has_range_function() const { + return node_case() == kRangeFunction; } -inline void Node::set_has_merge_stmt() { - _impl_._oneof_case_[0] = kMergeStmt; +inline void Node::set_has_range_function() { + _impl_._oneof_case_[0] = kRangeFunction; } -inline void Node::clear_merge_stmt() { - if (_internal_has_merge_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.merge_stmt_; +inline void Node::clear_range_function() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeFunction) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_function_; } clear_has_node(); } } -inline ::pg_query::MergeStmt* Node::release_merge_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_stmt) - if (_internal_has_merge_stmt()) { +inline ::pg_query::RangeFunction* Node::release_range_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_function) + if (node_case() == kRangeFunction) { clear_has_node(); - ::pg_query::MergeStmt* temp = _impl_.node_.merge_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_function_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_stmt_ = nullptr; + _impl_.node_.range_function_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeStmt& Node::_internal_merge_stmt() const { - return _internal_has_merge_stmt() - ? *_impl_.node_.merge_stmt_ - : reinterpret_cast< ::pg_query::MergeStmt&>(::pg_query::_MergeStmt_default_instance_); +inline const ::pg_query::RangeFunction& Node::_internal_range_function() const { + return node_case() == kRangeFunction ? *_impl_.node_.range_function_ : reinterpret_cast<::pg_query::RangeFunction&>(::pg_query::_RangeFunction_default_instance_); } -inline const ::pg_query::MergeStmt& Node::merge_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_stmt) - return _internal_merge_stmt(); +inline const ::pg_query::RangeFunction& Node::range_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_function) + return _internal_range_function(); } -inline ::pg_query::MergeStmt* Node::unsafe_arena_release_merge_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_stmt) - if (_internal_has_merge_stmt()) { +inline ::pg_query::RangeFunction* Node::unsafe_arena_release_range_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_function) + if (node_case() == kRangeFunction) { clear_has_node(); - ::pg_query::MergeStmt* temp = _impl_.node_.merge_stmt_; - _impl_.node_.merge_stmt_ = nullptr; + auto* temp = _impl_.node_.range_function_; + _impl_.node_.range_function_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* merge_stmt) { +inline void Node::unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (merge_stmt) { - set_has_merge_stmt(); - _impl_.node_.merge_stmt_ = merge_stmt; + if (value) { + set_has_range_function(); + _impl_.node_.range_function_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_function) } -inline ::pg_query::MergeStmt* Node::_internal_mutable_merge_stmt() { - if (!_internal_has_merge_stmt()) { +inline ::pg_query::RangeFunction* Node::_internal_mutable_range_function() { + if (node_case() != kRangeFunction) { clear_node(); - set_has_merge_stmt(); - _impl_.node_.merge_stmt_ = CreateMaybeMessage< ::pg_query::MergeStmt >(GetArenaForAllocation()); + set_has_range_function(); + _impl_.node_.range_function_ = CreateMaybeMessage<::pg_query::RangeFunction>(GetArena()); } - return _impl_.node_.merge_stmt_; + return _impl_.node_.range_function_; } -inline ::pg_query::MergeStmt* Node::mutable_merge_stmt() { - ::pg_query::MergeStmt* _msg = _internal_mutable_merge_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_stmt) +inline ::pg_query::RangeFunction* Node::mutable_range_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeFunction* _msg = _internal_mutable_range_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_function) return _msg; } -// .pg_query.SelectStmt select_stmt = 58 [json_name = "SelectStmt"]; -inline bool Node::_internal_has_select_stmt() const { - return node_case() == kSelectStmt; +// .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"]; +inline bool Node::has_range_table_func() const { + return node_case() == kRangeTableFunc; } -inline bool Node::has_select_stmt() const { - return _internal_has_select_stmt(); +inline bool Node::_internal_has_range_table_func() const { + return node_case() == kRangeTableFunc; } -inline void Node::set_has_select_stmt() { - _impl_._oneof_case_[0] = kSelectStmt; +inline void Node::set_has_range_table_func() { + _impl_._oneof_case_[0] = kRangeTableFunc; } -inline void Node::clear_select_stmt() { - if (_internal_has_select_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.select_stmt_; +inline void Node::clear_range_table_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTableFunc) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_table_func_; } clear_has_node(); } } -inline ::pg_query::SelectStmt* Node::release_select_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.select_stmt) - if (_internal_has_select_stmt()) { +inline ::pg_query::RangeTableFunc* Node::release_range_table_func() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func) + if (node_case() == kRangeTableFunc) { clear_has_node(); - ::pg_query::SelectStmt* temp = _impl_.node_.select_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_table_func_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.select_stmt_ = nullptr; + _impl_.node_.range_table_func_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SelectStmt& Node::_internal_select_stmt() const { - return _internal_has_select_stmt() - ? *_impl_.node_.select_stmt_ - : reinterpret_cast< ::pg_query::SelectStmt&>(::pg_query::_SelectStmt_default_instance_); +inline const ::pg_query::RangeTableFunc& Node::_internal_range_table_func() const { + return node_case() == kRangeTableFunc ? *_impl_.node_.range_table_func_ : reinterpret_cast<::pg_query::RangeTableFunc&>(::pg_query::_RangeTableFunc_default_instance_); } -inline const ::pg_query::SelectStmt& Node::select_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.select_stmt) - return _internal_select_stmt(); +inline const ::pg_query::RangeTableFunc& Node::range_table_func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func) + return _internal_range_table_func(); } -inline ::pg_query::SelectStmt* Node::unsafe_arena_release_select_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.select_stmt) - if (_internal_has_select_stmt()) { +inline ::pg_query::RangeTableFunc* Node::unsafe_arena_release_range_table_func() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func) + if (node_case() == kRangeTableFunc) { clear_has_node(); - ::pg_query::SelectStmt* temp = _impl_.node_.select_stmt_; - _impl_.node_.select_stmt_ = nullptr; + auto* temp = _impl_.node_.range_table_func_; + _impl_.node_.range_table_func_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* select_stmt) { +inline void Node::unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (select_stmt) { - set_has_select_stmt(); - _impl_.node_.select_stmt_ = select_stmt; + if (value) { + set_has_range_table_func(); + _impl_.node_.range_table_func_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.select_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func) } -inline ::pg_query::SelectStmt* Node::_internal_mutable_select_stmt() { - if (!_internal_has_select_stmt()) { +inline ::pg_query::RangeTableFunc* Node::_internal_mutable_range_table_func() { + if (node_case() != kRangeTableFunc) { clear_node(); - set_has_select_stmt(); - _impl_.node_.select_stmt_ = CreateMaybeMessage< ::pg_query::SelectStmt >(GetArenaForAllocation()); + set_has_range_table_func(); + _impl_.node_.range_table_func_ = CreateMaybeMessage<::pg_query::RangeTableFunc>(GetArena()); } - return _impl_.node_.select_stmt_; + return _impl_.node_.range_table_func_; } -inline ::pg_query::SelectStmt* Node::mutable_select_stmt() { - ::pg_query::SelectStmt* _msg = _internal_mutable_select_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.select_stmt) +inline ::pg_query::RangeTableFunc* Node::mutable_range_table_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableFunc* _msg = _internal_mutable_range_table_func(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func) return _msg; } -// .pg_query.ReturnStmt return_stmt = 59 [json_name = "ReturnStmt"]; -inline bool Node::_internal_has_return_stmt() const { - return node_case() == kReturnStmt; +// .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"]; +inline bool Node::has_range_table_func_col() const { + return node_case() == kRangeTableFuncCol; } -inline bool Node::has_return_stmt() const { - return _internal_has_return_stmt(); +inline bool Node::_internal_has_range_table_func_col() const { + return node_case() == kRangeTableFuncCol; } -inline void Node::set_has_return_stmt() { - _impl_._oneof_case_[0] = kReturnStmt; +inline void Node::set_has_range_table_func_col() { + _impl_._oneof_case_[0] = kRangeTableFuncCol; } -inline void Node::clear_return_stmt() { - if (_internal_has_return_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.return_stmt_; +inline void Node::clear_range_table_func_col() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTableFuncCol) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_table_func_col_; } clear_has_node(); } } -inline ::pg_query::ReturnStmt* Node::release_return_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.return_stmt) - if (_internal_has_return_stmt()) { +inline ::pg_query::RangeTableFuncCol* Node::release_range_table_func_col() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func_col) + if (node_case() == kRangeTableFuncCol) { clear_has_node(); - ::pg_query::ReturnStmt* temp = _impl_.node_.return_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_table_func_col_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.return_stmt_ = nullptr; + _impl_.node_.range_table_func_col_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReturnStmt& Node::_internal_return_stmt() const { - return _internal_has_return_stmt() - ? *_impl_.node_.return_stmt_ - : reinterpret_cast< ::pg_query::ReturnStmt&>(::pg_query::_ReturnStmt_default_instance_); +inline const ::pg_query::RangeTableFuncCol& Node::_internal_range_table_func_col() const { + return node_case() == kRangeTableFuncCol ? *_impl_.node_.range_table_func_col_ : reinterpret_cast<::pg_query::RangeTableFuncCol&>(::pg_query::_RangeTableFuncCol_default_instance_); } -inline const ::pg_query::ReturnStmt& Node::return_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.return_stmt) - return _internal_return_stmt(); +inline const ::pg_query::RangeTableFuncCol& Node::range_table_func_col() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func_col) + return _internal_range_table_func_col(); } -inline ::pg_query::ReturnStmt* Node::unsafe_arena_release_return_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.return_stmt) - if (_internal_has_return_stmt()) { +inline ::pg_query::RangeTableFuncCol* Node::unsafe_arena_release_range_table_func_col() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func_col) + if (node_case() == kRangeTableFuncCol) { clear_has_node(); - ::pg_query::ReturnStmt* temp = _impl_.node_.return_stmt_; - _impl_.node_.return_stmt_ = nullptr; + auto* temp = _impl_.node_.range_table_func_col_; + _impl_.node_.range_table_func_col_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* return_stmt) { +inline void Node::unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (return_stmt) { - set_has_return_stmt(); - _impl_.node_.return_stmt_ = return_stmt; + if (value) { + set_has_range_table_func_col(); + _impl_.node_.range_table_func_col_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.return_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func_col) } -inline ::pg_query::ReturnStmt* Node::_internal_mutable_return_stmt() { - if (!_internal_has_return_stmt()) { +inline ::pg_query::RangeTableFuncCol* Node::_internal_mutable_range_table_func_col() { + if (node_case() != kRangeTableFuncCol) { clear_node(); - set_has_return_stmt(); - _impl_.node_.return_stmt_ = CreateMaybeMessage< ::pg_query::ReturnStmt >(GetArenaForAllocation()); + set_has_range_table_func_col(); + _impl_.node_.range_table_func_col_ = CreateMaybeMessage<::pg_query::RangeTableFuncCol>(GetArena()); } - return _impl_.node_.return_stmt_; + return _impl_.node_.range_table_func_col_; } -inline ::pg_query::ReturnStmt* Node::mutable_return_stmt() { - ::pg_query::ReturnStmt* _msg = _internal_mutable_return_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.return_stmt) +inline ::pg_query::RangeTableFuncCol* Node::mutable_range_table_func_col() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableFuncCol* _msg = _internal_mutable_range_table_func_col(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func_col) return _msg; } -// .pg_query.PLAssignStmt plassign_stmt = 60 [json_name = "PLAssignStmt"]; -inline bool Node::_internal_has_plassign_stmt() const { - return node_case() == kPlassignStmt; +// .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"]; +inline bool Node::has_range_table_sample() const { + return node_case() == kRangeTableSample; } -inline bool Node::has_plassign_stmt() const { - return _internal_has_plassign_stmt(); +inline bool Node::_internal_has_range_table_sample() const { + return node_case() == kRangeTableSample; } -inline void Node::set_has_plassign_stmt() { - _impl_._oneof_case_[0] = kPlassignStmt; +inline void Node::set_has_range_table_sample() { + _impl_._oneof_case_[0] = kRangeTableSample; } -inline void Node::clear_plassign_stmt() { - if (_internal_has_plassign_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.plassign_stmt_; +inline void Node::clear_range_table_sample() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTableSample) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_table_sample_; } clear_has_node(); } } -inline ::pg_query::PLAssignStmt* Node::release_plassign_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.plassign_stmt) - if (_internal_has_plassign_stmt()) { +inline ::pg_query::RangeTableSample* Node::release_range_table_sample() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_table_sample) + if (node_case() == kRangeTableSample) { clear_has_node(); - ::pg_query::PLAssignStmt* temp = _impl_.node_.plassign_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_table_sample_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.plassign_stmt_ = nullptr; + _impl_.node_.range_table_sample_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PLAssignStmt& Node::_internal_plassign_stmt() const { - return _internal_has_plassign_stmt() - ? *_impl_.node_.plassign_stmt_ - : reinterpret_cast< ::pg_query::PLAssignStmt&>(::pg_query::_PLAssignStmt_default_instance_); +inline const ::pg_query::RangeTableSample& Node::_internal_range_table_sample() const { + return node_case() == kRangeTableSample ? *_impl_.node_.range_table_sample_ : reinterpret_cast<::pg_query::RangeTableSample&>(::pg_query::_RangeTableSample_default_instance_); } -inline const ::pg_query::PLAssignStmt& Node::plassign_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.plassign_stmt) - return _internal_plassign_stmt(); +inline const ::pg_query::RangeTableSample& Node::range_table_sample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_table_sample) + return _internal_range_table_sample(); } -inline ::pg_query::PLAssignStmt* Node::unsafe_arena_release_plassign_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.plassign_stmt) - if (_internal_has_plassign_stmt()) { +inline ::pg_query::RangeTableSample* Node::unsafe_arena_release_range_table_sample() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_sample) + if (node_case() == kRangeTableSample) { clear_has_node(); - ::pg_query::PLAssignStmt* temp = _impl_.node_.plassign_stmt_; - _impl_.node_.plassign_stmt_ = nullptr; + auto* temp = _impl_.node_.range_table_sample_; + _impl_.node_.range_table_sample_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* plassign_stmt) { +inline void Node::unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (plassign_stmt) { - set_has_plassign_stmt(); - _impl_.node_.plassign_stmt_ = plassign_stmt; + if (value) { + set_has_range_table_sample(); + _impl_.node_.range_table_sample_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.plassign_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_sample) } -inline ::pg_query::PLAssignStmt* Node::_internal_mutable_plassign_stmt() { - if (!_internal_has_plassign_stmt()) { +inline ::pg_query::RangeTableSample* Node::_internal_mutable_range_table_sample() { + if (node_case() != kRangeTableSample) { clear_node(); - set_has_plassign_stmt(); - _impl_.node_.plassign_stmt_ = CreateMaybeMessage< ::pg_query::PLAssignStmt >(GetArenaForAllocation()); + set_has_range_table_sample(); + _impl_.node_.range_table_sample_ = CreateMaybeMessage<::pg_query::RangeTableSample>(GetArena()); } - return _impl_.node_.plassign_stmt_; + return _impl_.node_.range_table_sample_; } -inline ::pg_query::PLAssignStmt* Node::mutable_plassign_stmt() { - ::pg_query::PLAssignStmt* _msg = _internal_mutable_plassign_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.plassign_stmt) +inline ::pg_query::RangeTableSample* Node::mutable_range_table_sample() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTableSample* _msg = _internal_mutable_range_table_sample(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_sample) return _msg; } -// .pg_query.AlterTableStmt alter_table_stmt = 61 [json_name = "AlterTableStmt"]; -inline bool Node::_internal_has_alter_table_stmt() const { - return node_case() == kAlterTableStmt; +// .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"]; +inline bool Node::has_column_def() const { + return node_case() == kColumnDef; } -inline bool Node::has_alter_table_stmt() const { - return _internal_has_alter_table_stmt(); +inline bool Node::_internal_has_column_def() const { + return node_case() == kColumnDef; } -inline void Node::set_has_alter_table_stmt() { - _impl_._oneof_case_[0] = kAlterTableStmt; +inline void Node::set_has_column_def() { + _impl_._oneof_case_[0] = kColumnDef; } -inline void Node::clear_alter_table_stmt() { - if (_internal_has_alter_table_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_table_stmt_; +inline void Node::clear_column_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kColumnDef) { + if (GetArena() == nullptr) { + delete _impl_.node_.column_def_; } clear_has_node(); } } -inline ::pg_query::AlterTableStmt* Node::release_alter_table_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_stmt) - if (_internal_has_alter_table_stmt()) { +inline ::pg_query::ColumnDef* Node::release_column_def() { + // @@protoc_insertion_point(field_release:pg_query.Node.column_def) + if (node_case() == kColumnDef) { clear_has_node(); - ::pg_query::AlterTableStmt* temp = _impl_.node_.alter_table_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.column_def_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_stmt_ = nullptr; + _impl_.node_.column_def_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableStmt& Node::_internal_alter_table_stmt() const { - return _internal_has_alter_table_stmt() - ? *_impl_.node_.alter_table_stmt_ - : reinterpret_cast< ::pg_query::AlterTableStmt&>(::pg_query::_AlterTableStmt_default_instance_); +inline const ::pg_query::ColumnDef& Node::_internal_column_def() const { + return node_case() == kColumnDef ? *_impl_.node_.column_def_ : reinterpret_cast<::pg_query::ColumnDef&>(::pg_query::_ColumnDef_default_instance_); } -inline const ::pg_query::AlterTableStmt& Node::alter_table_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_stmt) - return _internal_alter_table_stmt(); +inline const ::pg_query::ColumnDef& Node::column_def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.column_def) + return _internal_column_def(); } -inline ::pg_query::AlterTableStmt* Node::unsafe_arena_release_alter_table_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_stmt) - if (_internal_has_alter_table_stmt()) { +inline ::pg_query::ColumnDef* Node::unsafe_arena_release_column_def() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_def) + if (node_case() == kColumnDef) { clear_has_node(); - ::pg_query::AlterTableStmt* temp = _impl_.node_.alter_table_stmt_; - _impl_.node_.alter_table_stmt_ = nullptr; + auto* temp = _impl_.node_.column_def_; + _impl_.node_.column_def_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* alter_table_stmt) { +inline void Node::unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_table_stmt) { - set_has_alter_table_stmt(); - _impl_.node_.alter_table_stmt_ = alter_table_stmt; + if (value) { + set_has_column_def(); + _impl_.node_.column_def_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_def) } -inline ::pg_query::AlterTableStmt* Node::_internal_mutable_alter_table_stmt() { - if (!_internal_has_alter_table_stmt()) { +inline ::pg_query::ColumnDef* Node::_internal_mutable_column_def() { + if (node_case() != kColumnDef) { clear_node(); - set_has_alter_table_stmt(); - _impl_.node_.alter_table_stmt_ = CreateMaybeMessage< ::pg_query::AlterTableStmt >(GetArenaForAllocation()); + set_has_column_def(); + _impl_.node_.column_def_ = CreateMaybeMessage<::pg_query::ColumnDef>(GetArena()); } - return _impl_.node_.alter_table_stmt_; + return _impl_.node_.column_def_; } -inline ::pg_query::AlterTableStmt* Node::mutable_alter_table_stmt() { - ::pg_query::AlterTableStmt* _msg = _internal_mutable_alter_table_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_stmt) +inline ::pg_query::ColumnDef* Node::mutable_column_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ColumnDef* _msg = _internal_mutable_column_def(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.column_def) return _msg; } -// .pg_query.AlterTableCmd alter_table_cmd = 62 [json_name = "AlterTableCmd"]; -inline bool Node::_internal_has_alter_table_cmd() const { - return node_case() == kAlterTableCmd; +// .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"]; +inline bool Node::has_table_like_clause() const { + return node_case() == kTableLikeClause; } -inline bool Node::has_alter_table_cmd() const { - return _internal_has_alter_table_cmd(); +inline bool Node::_internal_has_table_like_clause() const { + return node_case() == kTableLikeClause; } -inline void Node::set_has_alter_table_cmd() { - _impl_._oneof_case_[0] = kAlterTableCmd; +inline void Node::set_has_table_like_clause() { + _impl_._oneof_case_[0] = kTableLikeClause; } -inline void Node::clear_alter_table_cmd() { - if (_internal_has_alter_table_cmd()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_table_cmd_; +inline void Node::clear_table_like_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTableLikeClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.table_like_clause_; } clear_has_node(); } } -inline ::pg_query::AlterTableCmd* Node::release_alter_table_cmd() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_cmd) - if (_internal_has_alter_table_cmd()) { +inline ::pg_query::TableLikeClause* Node::release_table_like_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_like_clause) + if (node_case() == kTableLikeClause) { clear_has_node(); - ::pg_query::AlterTableCmd* temp = _impl_.node_.alter_table_cmd_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.table_like_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_cmd_ = nullptr; + _impl_.node_.table_like_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableCmd& Node::_internal_alter_table_cmd() const { - return _internal_has_alter_table_cmd() - ? *_impl_.node_.alter_table_cmd_ - : reinterpret_cast< ::pg_query::AlterTableCmd&>(::pg_query::_AlterTableCmd_default_instance_); +inline const ::pg_query::TableLikeClause& Node::_internal_table_like_clause() const { + return node_case() == kTableLikeClause ? *_impl_.node_.table_like_clause_ : reinterpret_cast<::pg_query::TableLikeClause&>(::pg_query::_TableLikeClause_default_instance_); } -inline const ::pg_query::AlterTableCmd& Node::alter_table_cmd() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_cmd) - return _internal_alter_table_cmd(); +inline const ::pg_query::TableLikeClause& Node::table_like_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_like_clause) + return _internal_table_like_clause(); } -inline ::pg_query::AlterTableCmd* Node::unsafe_arena_release_alter_table_cmd() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_cmd) - if (_internal_has_alter_table_cmd()) { +inline ::pg_query::TableLikeClause* Node::unsafe_arena_release_table_like_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_like_clause) + if (node_case() == kTableLikeClause) { clear_has_node(); - ::pg_query::AlterTableCmd* temp = _impl_.node_.alter_table_cmd_; - _impl_.node_.alter_table_cmd_ = nullptr; + auto* temp = _impl_.node_.table_like_clause_; + _impl_.node_.table_like_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* alter_table_cmd) { +inline void Node::unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_table_cmd) { - set_has_alter_table_cmd(); - _impl_.node_.alter_table_cmd_ = alter_table_cmd; + if (value) { + set_has_table_like_clause(); + _impl_.node_.table_like_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_cmd) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_like_clause) } -inline ::pg_query::AlterTableCmd* Node::_internal_mutable_alter_table_cmd() { - if (!_internal_has_alter_table_cmd()) { +inline ::pg_query::TableLikeClause* Node::_internal_mutable_table_like_clause() { + if (node_case() != kTableLikeClause) { clear_node(); - set_has_alter_table_cmd(); - _impl_.node_.alter_table_cmd_ = CreateMaybeMessage< ::pg_query::AlterTableCmd >(GetArenaForAllocation()); + set_has_table_like_clause(); + _impl_.node_.table_like_clause_ = CreateMaybeMessage<::pg_query::TableLikeClause>(GetArena()); } - return _impl_.node_.alter_table_cmd_; + return _impl_.node_.table_like_clause_; } -inline ::pg_query::AlterTableCmd* Node::mutable_alter_table_cmd() { - ::pg_query::AlterTableCmd* _msg = _internal_mutable_alter_table_cmd(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_cmd) +inline ::pg_query::TableLikeClause* Node::mutable_table_like_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableLikeClause* _msg = _internal_mutable_table_like_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_like_clause) return _msg; } -// .pg_query.AlterDomainStmt alter_domain_stmt = 63 [json_name = "AlterDomainStmt"]; -inline bool Node::_internal_has_alter_domain_stmt() const { - return node_case() == kAlterDomainStmt; +// .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"]; +inline bool Node::has_index_elem() const { + return node_case() == kIndexElem; } -inline bool Node::has_alter_domain_stmt() const { - return _internal_has_alter_domain_stmt(); +inline bool Node::_internal_has_index_elem() const { + return node_case() == kIndexElem; } -inline void Node::set_has_alter_domain_stmt() { - _impl_._oneof_case_[0] = kAlterDomainStmt; +inline void Node::set_has_index_elem() { + _impl_._oneof_case_[0] = kIndexElem; } -inline void Node::clear_alter_domain_stmt() { - if (_internal_has_alter_domain_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_domain_stmt_; +inline void Node::clear_index_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kIndexElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.index_elem_; } clear_has_node(); } } -inline ::pg_query::AlterDomainStmt* Node::release_alter_domain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_domain_stmt) - if (_internal_has_alter_domain_stmt()) { +inline ::pg_query::IndexElem* Node::release_index_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.index_elem) + if (node_case() == kIndexElem) { clear_has_node(); - ::pg_query::AlterDomainStmt* temp = _impl_.node_.alter_domain_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.index_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_domain_stmt_ = nullptr; + _impl_.node_.index_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDomainStmt& Node::_internal_alter_domain_stmt() const { - return _internal_has_alter_domain_stmt() - ? *_impl_.node_.alter_domain_stmt_ - : reinterpret_cast< ::pg_query::AlterDomainStmt&>(::pg_query::_AlterDomainStmt_default_instance_); +inline const ::pg_query::IndexElem& Node::_internal_index_elem() const { + return node_case() == kIndexElem ? *_impl_.node_.index_elem_ : reinterpret_cast<::pg_query::IndexElem&>(::pg_query::_IndexElem_default_instance_); } -inline const ::pg_query::AlterDomainStmt& Node::alter_domain_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_domain_stmt) - return _internal_alter_domain_stmt(); +inline const ::pg_query::IndexElem& Node::index_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.index_elem) + return _internal_index_elem(); } -inline ::pg_query::AlterDomainStmt* Node::unsafe_arena_release_alter_domain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_domain_stmt) - if (_internal_has_alter_domain_stmt()) { +inline ::pg_query::IndexElem* Node::unsafe_arena_release_index_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_elem) + if (node_case() == kIndexElem) { clear_has_node(); - ::pg_query::AlterDomainStmt* temp = _impl_.node_.alter_domain_stmt_; - _impl_.node_.alter_domain_stmt_ = nullptr; + auto* temp = _impl_.node_.index_elem_; + _impl_.node_.index_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* alter_domain_stmt) { +inline void Node::unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_domain_stmt) { - set_has_alter_domain_stmt(); - _impl_.node_.alter_domain_stmt_ = alter_domain_stmt; + if (value) { + set_has_index_elem(); + _impl_.node_.index_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_domain_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_elem) } -inline ::pg_query::AlterDomainStmt* Node::_internal_mutable_alter_domain_stmt() { - if (!_internal_has_alter_domain_stmt()) { +inline ::pg_query::IndexElem* Node::_internal_mutable_index_elem() { + if (node_case() != kIndexElem) { clear_node(); - set_has_alter_domain_stmt(); - _impl_.node_.alter_domain_stmt_ = CreateMaybeMessage< ::pg_query::AlterDomainStmt >(GetArenaForAllocation()); + set_has_index_elem(); + _impl_.node_.index_elem_ = CreateMaybeMessage<::pg_query::IndexElem>(GetArena()); } - return _impl_.node_.alter_domain_stmt_; + return _impl_.node_.index_elem_; } -inline ::pg_query::AlterDomainStmt* Node::mutable_alter_domain_stmt() { - ::pg_query::AlterDomainStmt* _msg = _internal_mutable_alter_domain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_domain_stmt) +inline ::pg_query::IndexElem* Node::mutable_index_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IndexElem* _msg = _internal_mutable_index_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.index_elem) return _msg; } -// .pg_query.SetOperationStmt set_operation_stmt = 64 [json_name = "SetOperationStmt"]; -inline bool Node::_internal_has_set_operation_stmt() const { - return node_case() == kSetOperationStmt; +// .pg_query.DefElem def_elem = 89 [json_name = "DefElem"]; +inline bool Node::has_def_elem() const { + return node_case() == kDefElem; } -inline bool Node::has_set_operation_stmt() const { - return _internal_has_set_operation_stmt(); +inline bool Node::_internal_has_def_elem() const { + return node_case() == kDefElem; } -inline void Node::set_has_set_operation_stmt() { - _impl_._oneof_case_[0] = kSetOperationStmt; +inline void Node::set_has_def_elem() { + _impl_._oneof_case_[0] = kDefElem; } -inline void Node::clear_set_operation_stmt() { - if (_internal_has_set_operation_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.set_operation_stmt_; +inline void Node::clear_def_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDefElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.def_elem_; } clear_has_node(); } } -inline ::pg_query::SetOperationStmt* Node::release_set_operation_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.set_operation_stmt) - if (_internal_has_set_operation_stmt()) { +inline ::pg_query::DefElem* Node::release_def_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.def_elem) + if (node_case() == kDefElem) { clear_has_node(); - ::pg_query::SetOperationStmt* temp = _impl_.node_.set_operation_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.def_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.set_operation_stmt_ = nullptr; + _impl_.node_.def_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SetOperationStmt& Node::_internal_set_operation_stmt() const { - return _internal_has_set_operation_stmt() - ? *_impl_.node_.set_operation_stmt_ - : reinterpret_cast< ::pg_query::SetOperationStmt&>(::pg_query::_SetOperationStmt_default_instance_); +inline const ::pg_query::DefElem& Node::_internal_def_elem() const { + return node_case() == kDefElem ? *_impl_.node_.def_elem_ : reinterpret_cast<::pg_query::DefElem&>(::pg_query::_DefElem_default_instance_); } -inline const ::pg_query::SetOperationStmt& Node::set_operation_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.set_operation_stmt) - return _internal_set_operation_stmt(); +inline const ::pg_query::DefElem& Node::def_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.def_elem) + return _internal_def_elem(); } -inline ::pg_query::SetOperationStmt* Node::unsafe_arena_release_set_operation_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_operation_stmt) - if (_internal_has_set_operation_stmt()) { +inline ::pg_query::DefElem* Node::unsafe_arena_release_def_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.def_elem) + if (node_case() == kDefElem) { clear_has_node(); - ::pg_query::SetOperationStmt* temp = _impl_.node_.set_operation_stmt_; - _impl_.node_.set_operation_stmt_ = nullptr; + auto* temp = _impl_.node_.def_elem_; + _impl_.node_.def_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* set_operation_stmt) { +inline void Node::unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (set_operation_stmt) { - set_has_set_operation_stmt(); - _impl_.node_.set_operation_stmt_ = set_operation_stmt; + if (value) { + set_has_def_elem(); + _impl_.node_.def_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_operation_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.def_elem) } -inline ::pg_query::SetOperationStmt* Node::_internal_mutable_set_operation_stmt() { - if (!_internal_has_set_operation_stmt()) { +inline ::pg_query::DefElem* Node::_internal_mutable_def_elem() { + if (node_case() != kDefElem) { clear_node(); - set_has_set_operation_stmt(); - _impl_.node_.set_operation_stmt_ = CreateMaybeMessage< ::pg_query::SetOperationStmt >(GetArenaForAllocation()); + set_has_def_elem(); + _impl_.node_.def_elem_ = CreateMaybeMessage<::pg_query::DefElem>(GetArena()); } - return _impl_.node_.set_operation_stmt_; + return _impl_.node_.def_elem_; } -inline ::pg_query::SetOperationStmt* Node::mutable_set_operation_stmt() { - ::pg_query::SetOperationStmt* _msg = _internal_mutable_set_operation_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.set_operation_stmt) +inline ::pg_query::DefElem* Node::mutable_def_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DefElem* _msg = _internal_mutable_def_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.def_elem) return _msg; } -// .pg_query.GrantStmt grant_stmt = 65 [json_name = "GrantStmt"]; -inline bool Node::_internal_has_grant_stmt() const { - return node_case() == kGrantStmt; +// .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"]; +inline bool Node::has_locking_clause() const { + return node_case() == kLockingClause; } -inline bool Node::has_grant_stmt() const { - return _internal_has_grant_stmt(); +inline bool Node::_internal_has_locking_clause() const { + return node_case() == kLockingClause; } -inline void Node::set_has_grant_stmt() { - _impl_._oneof_case_[0] = kGrantStmt; +inline void Node::set_has_locking_clause() { + _impl_._oneof_case_[0] = kLockingClause; } -inline void Node::clear_grant_stmt() { - if (_internal_has_grant_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.grant_stmt_; +inline void Node::clear_locking_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kLockingClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.locking_clause_; } clear_has_node(); } } -inline ::pg_query::GrantStmt* Node::release_grant_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.grant_stmt) - if (_internal_has_grant_stmt()) { +inline ::pg_query::LockingClause* Node::release_locking_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.locking_clause) + if (node_case() == kLockingClause) { clear_has_node(); - ::pg_query::GrantStmt* temp = _impl_.node_.grant_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.locking_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grant_stmt_ = nullptr; + _impl_.node_.locking_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GrantStmt& Node::_internal_grant_stmt() const { - return _internal_has_grant_stmt() - ? *_impl_.node_.grant_stmt_ - : reinterpret_cast< ::pg_query::GrantStmt&>(::pg_query::_GrantStmt_default_instance_); +inline const ::pg_query::LockingClause& Node::_internal_locking_clause() const { + return node_case() == kLockingClause ? *_impl_.node_.locking_clause_ : reinterpret_cast<::pg_query::LockingClause&>(::pg_query::_LockingClause_default_instance_); } -inline const ::pg_query::GrantStmt& Node::grant_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.grant_stmt) - return _internal_grant_stmt(); +inline const ::pg_query::LockingClause& Node::locking_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.locking_clause) + return _internal_locking_clause(); } -inline ::pg_query::GrantStmt* Node::unsafe_arena_release_grant_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_stmt) - if (_internal_has_grant_stmt()) { +inline ::pg_query::LockingClause* Node::unsafe_arena_release_locking_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.locking_clause) + if (node_case() == kLockingClause) { clear_has_node(); - ::pg_query::GrantStmt* temp = _impl_.node_.grant_stmt_; - _impl_.node_.grant_stmt_ = nullptr; + auto* temp = _impl_.node_.locking_clause_; + _impl_.node_.locking_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* grant_stmt) { +inline void Node::unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (grant_stmt) { - set_has_grant_stmt(); - _impl_.node_.grant_stmt_ = grant_stmt; + if (value) { + set_has_locking_clause(); + _impl_.node_.locking_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.locking_clause) } -inline ::pg_query::GrantStmt* Node::_internal_mutable_grant_stmt() { - if (!_internal_has_grant_stmt()) { +inline ::pg_query::LockingClause* Node::_internal_mutable_locking_clause() { + if (node_case() != kLockingClause) { clear_node(); - set_has_grant_stmt(); - _impl_.node_.grant_stmt_ = CreateMaybeMessage< ::pg_query::GrantStmt >(GetArenaForAllocation()); + set_has_locking_clause(); + _impl_.node_.locking_clause_ = CreateMaybeMessage<::pg_query::LockingClause>(GetArena()); } - return _impl_.node_.grant_stmt_; + return _impl_.node_.locking_clause_; } -inline ::pg_query::GrantStmt* Node::mutable_grant_stmt() { - ::pg_query::GrantStmt* _msg = _internal_mutable_grant_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_stmt) +inline ::pg_query::LockingClause* Node::mutable_locking_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LockingClause* _msg = _internal_mutable_locking_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.locking_clause) return _msg; } -// .pg_query.GrantRoleStmt grant_role_stmt = 66 [json_name = "GrantRoleStmt"]; -inline bool Node::_internal_has_grant_role_stmt() const { - return node_case() == kGrantRoleStmt; +// .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"]; +inline bool Node::has_xml_serialize() const { + return node_case() == kXmlSerialize; } -inline bool Node::has_grant_role_stmt() const { - return _internal_has_grant_role_stmt(); +inline bool Node::_internal_has_xml_serialize() const { + return node_case() == kXmlSerialize; } -inline void Node::set_has_grant_role_stmt() { - _impl_._oneof_case_[0] = kGrantRoleStmt; +inline void Node::set_has_xml_serialize() { + _impl_._oneof_case_[0] = kXmlSerialize; } -inline void Node::clear_grant_role_stmt() { - if (_internal_has_grant_role_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.grant_role_stmt_; +inline void Node::clear_xml_serialize() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kXmlSerialize) { + if (GetArena() == nullptr) { + delete _impl_.node_.xml_serialize_; } clear_has_node(); } } -inline ::pg_query::GrantRoleStmt* Node::release_grant_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.grant_role_stmt) - if (_internal_has_grant_role_stmt()) { +inline ::pg_query::XmlSerialize* Node::release_xml_serialize() { + // @@protoc_insertion_point(field_release:pg_query.Node.xml_serialize) + if (node_case() == kXmlSerialize) { clear_has_node(); - ::pg_query::GrantRoleStmt* temp = _impl_.node_.grant_role_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.xml_serialize_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grant_role_stmt_ = nullptr; + _impl_.node_.xml_serialize_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GrantRoleStmt& Node::_internal_grant_role_stmt() const { - return _internal_has_grant_role_stmt() - ? *_impl_.node_.grant_role_stmt_ - : reinterpret_cast< ::pg_query::GrantRoleStmt&>(::pg_query::_GrantRoleStmt_default_instance_); +inline const ::pg_query::XmlSerialize& Node::_internal_xml_serialize() const { + return node_case() == kXmlSerialize ? *_impl_.node_.xml_serialize_ : reinterpret_cast<::pg_query::XmlSerialize&>(::pg_query::_XmlSerialize_default_instance_); } -inline const ::pg_query::GrantRoleStmt& Node::grant_role_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.grant_role_stmt) - return _internal_grant_role_stmt(); +inline const ::pg_query::XmlSerialize& Node::xml_serialize() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.xml_serialize) + return _internal_xml_serialize(); } -inline ::pg_query::GrantRoleStmt* Node::unsafe_arena_release_grant_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_role_stmt) - if (_internal_has_grant_role_stmt()) { +inline ::pg_query::XmlSerialize* Node::unsafe_arena_release_xml_serialize() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_serialize) + if (node_case() == kXmlSerialize) { clear_has_node(); - ::pg_query::GrantRoleStmt* temp = _impl_.node_.grant_role_stmt_; - _impl_.node_.grant_role_stmt_ = nullptr; + auto* temp = _impl_.node_.xml_serialize_; + _impl_.node_.xml_serialize_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* grant_role_stmt) { +inline void Node::unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (grant_role_stmt) { - set_has_grant_role_stmt(); - _impl_.node_.grant_role_stmt_ = grant_role_stmt; + if (value) { + set_has_xml_serialize(); + _impl_.node_.xml_serialize_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_serialize) } -inline ::pg_query::GrantRoleStmt* Node::_internal_mutable_grant_role_stmt() { - if (!_internal_has_grant_role_stmt()) { +inline ::pg_query::XmlSerialize* Node::_internal_mutable_xml_serialize() { + if (node_case() != kXmlSerialize) { clear_node(); - set_has_grant_role_stmt(); - _impl_.node_.grant_role_stmt_ = CreateMaybeMessage< ::pg_query::GrantRoleStmt >(GetArenaForAllocation()); + set_has_xml_serialize(); + _impl_.node_.xml_serialize_ = CreateMaybeMessage<::pg_query::XmlSerialize>(GetArena()); } - return _impl_.node_.grant_role_stmt_; + return _impl_.node_.xml_serialize_; } -inline ::pg_query::GrantRoleStmt* Node::mutable_grant_role_stmt() { - ::pg_query::GrantRoleStmt* _msg = _internal_mutable_grant_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_role_stmt) +inline ::pg_query::XmlSerialize* Node::mutable_xml_serialize() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::XmlSerialize* _msg = _internal_mutable_xml_serialize(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_serialize) return _msg; } -// .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 67 [json_name = "AlterDefaultPrivilegesStmt"]; -inline bool Node::_internal_has_alter_default_privileges_stmt() const { - return node_case() == kAlterDefaultPrivilegesStmt; +// .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"]; +inline bool Node::has_partition_elem() const { + return node_case() == kPartitionElem; } -inline bool Node::has_alter_default_privileges_stmt() const { - return _internal_has_alter_default_privileges_stmt(); +inline bool Node::_internal_has_partition_elem() const { + return node_case() == kPartitionElem; } -inline void Node::set_has_alter_default_privileges_stmt() { - _impl_._oneof_case_[0] = kAlterDefaultPrivilegesStmt; +inline void Node::set_has_partition_elem() { + _impl_._oneof_case_[0] = kPartitionElem; } -inline void Node::clear_alter_default_privileges_stmt() { - if (_internal_has_alter_default_privileges_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_default_privileges_stmt_; +inline void Node::clear_partition_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPartitionElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.partition_elem_; } clear_has_node(); } } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::release_alter_default_privileges_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_default_privileges_stmt) - if (_internal_has_alter_default_privileges_stmt()) { +inline ::pg_query::PartitionElem* Node::release_partition_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_elem) + if (node_case() == kPartitionElem) { clear_has_node(); - ::pg_query::AlterDefaultPrivilegesStmt* temp = _impl_.node_.alter_default_privileges_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.partition_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_default_privileges_stmt_ = nullptr; + _impl_.node_.partition_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::_internal_alter_default_privileges_stmt() const { - return _internal_has_alter_default_privileges_stmt() - ? *_impl_.node_.alter_default_privileges_stmt_ - : reinterpret_cast< ::pg_query::AlterDefaultPrivilegesStmt&>(::pg_query::_AlterDefaultPrivilegesStmt_default_instance_); +inline const ::pg_query::PartitionElem& Node::_internal_partition_elem() const { + return node_case() == kPartitionElem ? *_impl_.node_.partition_elem_ : reinterpret_cast<::pg_query::PartitionElem&>(::pg_query::_PartitionElem_default_instance_); } -inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::alter_default_privileges_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_default_privileges_stmt) - return _internal_alter_default_privileges_stmt(); +inline const ::pg_query::PartitionElem& Node::partition_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_elem) + return _internal_partition_elem(); } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::unsafe_arena_release_alter_default_privileges_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_default_privileges_stmt) - if (_internal_has_alter_default_privileges_stmt()) { +inline ::pg_query::PartitionElem* Node::unsafe_arena_release_partition_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_elem) + if (node_case() == kPartitionElem) { clear_has_node(); - ::pg_query::AlterDefaultPrivilegesStmt* temp = _impl_.node_.alter_default_privileges_stmt_; - _impl_.node_.alter_default_privileges_stmt_ = nullptr; + auto* temp = _impl_.node_.partition_elem_; + _impl_.node_.partition_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt) { +inline void Node::unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_default_privileges_stmt) { - set_has_alter_default_privileges_stmt(); - _impl_.node_.alter_default_privileges_stmt_ = alter_default_privileges_stmt; + if (value) { + set_has_partition_elem(); + _impl_.node_.partition_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_default_privileges_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_elem) } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::_internal_mutable_alter_default_privileges_stmt() { - if (!_internal_has_alter_default_privileges_stmt()) { +inline ::pg_query::PartitionElem* Node::_internal_mutable_partition_elem() { + if (node_case() != kPartitionElem) { clear_node(); - set_has_alter_default_privileges_stmt(); - _impl_.node_.alter_default_privileges_stmt_ = CreateMaybeMessage< ::pg_query::AlterDefaultPrivilegesStmt >(GetArenaForAllocation()); + set_has_partition_elem(); + _impl_.node_.partition_elem_ = CreateMaybeMessage<::pg_query::PartitionElem>(GetArena()); } - return _impl_.node_.alter_default_privileges_stmt_; + return _impl_.node_.partition_elem_; } -inline ::pg_query::AlterDefaultPrivilegesStmt* Node::mutable_alter_default_privileges_stmt() { - ::pg_query::AlterDefaultPrivilegesStmt* _msg = _internal_mutable_alter_default_privileges_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_default_privileges_stmt) +inline ::pg_query::PartitionElem* Node::mutable_partition_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionElem* _msg = _internal_mutable_partition_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_elem) return _msg; } -// .pg_query.ClosePortalStmt close_portal_stmt = 68 [json_name = "ClosePortalStmt"]; -inline bool Node::_internal_has_close_portal_stmt() const { - return node_case() == kClosePortalStmt; +// .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"]; +inline bool Node::has_partition_spec() const { + return node_case() == kPartitionSpec; } -inline bool Node::has_close_portal_stmt() const { - return _internal_has_close_portal_stmt(); +inline bool Node::_internal_has_partition_spec() const { + return node_case() == kPartitionSpec; } -inline void Node::set_has_close_portal_stmt() { - _impl_._oneof_case_[0] = kClosePortalStmt; +inline void Node::set_has_partition_spec() { + _impl_._oneof_case_[0] = kPartitionSpec; } -inline void Node::clear_close_portal_stmt() { - if (_internal_has_close_portal_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.close_portal_stmt_; +inline void Node::clear_partition_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPartitionSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.partition_spec_; } clear_has_node(); } } -inline ::pg_query::ClosePortalStmt* Node::release_close_portal_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.close_portal_stmt) - if (_internal_has_close_portal_stmt()) { +inline ::pg_query::PartitionSpec* Node::release_partition_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_spec) + if (node_case() == kPartitionSpec) { clear_has_node(); - ::pg_query::ClosePortalStmt* temp = _impl_.node_.close_portal_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.partition_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.close_portal_stmt_ = nullptr; + _impl_.node_.partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ClosePortalStmt& Node::_internal_close_portal_stmt() const { - return _internal_has_close_portal_stmt() - ? *_impl_.node_.close_portal_stmt_ - : reinterpret_cast< ::pg_query::ClosePortalStmt&>(::pg_query::_ClosePortalStmt_default_instance_); +inline const ::pg_query::PartitionSpec& Node::_internal_partition_spec() const { + return node_case() == kPartitionSpec ? *_impl_.node_.partition_spec_ : reinterpret_cast<::pg_query::PartitionSpec&>(::pg_query::_PartitionSpec_default_instance_); } -inline const ::pg_query::ClosePortalStmt& Node::close_portal_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.close_portal_stmt) - return _internal_close_portal_stmt(); +inline const ::pg_query::PartitionSpec& Node::partition_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_spec) + return _internal_partition_spec(); } -inline ::pg_query::ClosePortalStmt* Node::unsafe_arena_release_close_portal_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.close_portal_stmt) - if (_internal_has_close_portal_stmt()) { +inline ::pg_query::PartitionSpec* Node::unsafe_arena_release_partition_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_spec) + if (node_case() == kPartitionSpec) { clear_has_node(); - ::pg_query::ClosePortalStmt* temp = _impl_.node_.close_portal_stmt_; - _impl_.node_.close_portal_stmt_ = nullptr; + auto* temp = _impl_.node_.partition_spec_; + _impl_.node_.partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* close_portal_stmt) { +inline void Node::unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (close_portal_stmt) { - set_has_close_portal_stmt(); - _impl_.node_.close_portal_stmt_ = close_portal_stmt; + if (value) { + set_has_partition_spec(); + _impl_.node_.partition_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.close_portal_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_spec) } -inline ::pg_query::ClosePortalStmt* Node::_internal_mutable_close_portal_stmt() { - if (!_internal_has_close_portal_stmt()) { +inline ::pg_query::PartitionSpec* Node::_internal_mutable_partition_spec() { + if (node_case() != kPartitionSpec) { clear_node(); - set_has_close_portal_stmt(); - _impl_.node_.close_portal_stmt_ = CreateMaybeMessage< ::pg_query::ClosePortalStmt >(GetArenaForAllocation()); + set_has_partition_spec(); + _impl_.node_.partition_spec_ = CreateMaybeMessage<::pg_query::PartitionSpec>(GetArena()); } - return _impl_.node_.close_portal_stmt_; + return _impl_.node_.partition_spec_; } -inline ::pg_query::ClosePortalStmt* Node::mutable_close_portal_stmt() { - ::pg_query::ClosePortalStmt* _msg = _internal_mutable_close_portal_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.close_portal_stmt) +inline ::pg_query::PartitionSpec* Node::mutable_partition_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionSpec* _msg = _internal_mutable_partition_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_spec) return _msg; } -// .pg_query.ClusterStmt cluster_stmt = 69 [json_name = "ClusterStmt"]; -inline bool Node::_internal_has_cluster_stmt() const { - return node_case() == kClusterStmt; +// .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"]; +inline bool Node::has_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec; } -inline bool Node::has_cluster_stmt() const { - return _internal_has_cluster_stmt(); +inline bool Node::_internal_has_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec; } -inline void Node::set_has_cluster_stmt() { - _impl_._oneof_case_[0] = kClusterStmt; +inline void Node::set_has_partition_bound_spec() { + _impl_._oneof_case_[0] = kPartitionBoundSpec; } -inline void Node::clear_cluster_stmt() { - if (_internal_has_cluster_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.cluster_stmt_; +inline void Node::clear_partition_bound_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPartitionBoundSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.partition_bound_spec_; } clear_has_node(); } } -inline ::pg_query::ClusterStmt* Node::release_cluster_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.cluster_stmt) - if (_internal_has_cluster_stmt()) { +inline ::pg_query::PartitionBoundSpec* Node::release_partition_bound_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_bound_spec) + if (node_case() == kPartitionBoundSpec) { clear_has_node(); - ::pg_query::ClusterStmt* temp = _impl_.node_.cluster_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.partition_bound_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.cluster_stmt_ = nullptr; + _impl_.node_.partition_bound_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ClusterStmt& Node::_internal_cluster_stmt() const { - return _internal_has_cluster_stmt() - ? *_impl_.node_.cluster_stmt_ - : reinterpret_cast< ::pg_query::ClusterStmt&>(::pg_query::_ClusterStmt_default_instance_); +inline const ::pg_query::PartitionBoundSpec& Node::_internal_partition_bound_spec() const { + return node_case() == kPartitionBoundSpec ? *_impl_.node_.partition_bound_spec_ : reinterpret_cast<::pg_query::PartitionBoundSpec&>(::pg_query::_PartitionBoundSpec_default_instance_); } -inline const ::pg_query::ClusterStmt& Node::cluster_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.cluster_stmt) - return _internal_cluster_stmt(); +inline const ::pg_query::PartitionBoundSpec& Node::partition_bound_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_bound_spec) + return _internal_partition_bound_spec(); } -inline ::pg_query::ClusterStmt* Node::unsafe_arena_release_cluster_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.cluster_stmt) - if (_internal_has_cluster_stmt()) { +inline ::pg_query::PartitionBoundSpec* Node::unsafe_arena_release_partition_bound_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_bound_spec) + if (node_case() == kPartitionBoundSpec) { clear_has_node(); - ::pg_query::ClusterStmt* temp = _impl_.node_.cluster_stmt_; - _impl_.node_.cluster_stmt_ = nullptr; + auto* temp = _impl_.node_.partition_bound_spec_; + _impl_.node_.partition_bound_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* cluster_stmt) { +inline void Node::unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (cluster_stmt) { - set_has_cluster_stmt(); - _impl_.node_.cluster_stmt_ = cluster_stmt; + if (value) { + set_has_partition_bound_spec(); + _impl_.node_.partition_bound_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.cluster_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_bound_spec) } -inline ::pg_query::ClusterStmt* Node::_internal_mutable_cluster_stmt() { - if (!_internal_has_cluster_stmt()) { +inline ::pg_query::PartitionBoundSpec* Node::_internal_mutable_partition_bound_spec() { + if (node_case() != kPartitionBoundSpec) { clear_node(); - set_has_cluster_stmt(); - _impl_.node_.cluster_stmt_ = CreateMaybeMessage< ::pg_query::ClusterStmt >(GetArenaForAllocation()); + set_has_partition_bound_spec(); + _impl_.node_.partition_bound_spec_ = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); } - return _impl_.node_.cluster_stmt_; + return _impl_.node_.partition_bound_spec_; } -inline ::pg_query::ClusterStmt* Node::mutable_cluster_stmt() { - ::pg_query::ClusterStmt* _msg = _internal_mutable_cluster_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.cluster_stmt) +inline ::pg_query::PartitionBoundSpec* Node::mutable_partition_bound_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partition_bound_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_bound_spec) return _msg; } -// .pg_query.CopyStmt copy_stmt = 70 [json_name = "CopyStmt"]; -inline bool Node::_internal_has_copy_stmt() const { - return node_case() == kCopyStmt; +// .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"]; +inline bool Node::has_partition_range_datum() const { + return node_case() == kPartitionRangeDatum; } -inline bool Node::has_copy_stmt() const { - return _internal_has_copy_stmt(); +inline bool Node::_internal_has_partition_range_datum() const { + return node_case() == kPartitionRangeDatum; } -inline void Node::set_has_copy_stmt() { - _impl_._oneof_case_[0] = kCopyStmt; +inline void Node::set_has_partition_range_datum() { + _impl_._oneof_case_[0] = kPartitionRangeDatum; } -inline void Node::clear_copy_stmt() { - if (_internal_has_copy_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.copy_stmt_; +inline void Node::clear_partition_range_datum() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPartitionRangeDatum) { + if (GetArena() == nullptr) { + delete _impl_.node_.partition_range_datum_; } clear_has_node(); } } -inline ::pg_query::CopyStmt* Node::release_copy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.copy_stmt) - if (_internal_has_copy_stmt()) { +inline ::pg_query::PartitionRangeDatum* Node::release_partition_range_datum() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_range_datum) + if (node_case() == kPartitionRangeDatum) { clear_has_node(); - ::pg_query::CopyStmt* temp = _impl_.node_.copy_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.partition_range_datum_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.copy_stmt_ = nullptr; + _impl_.node_.partition_range_datum_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CopyStmt& Node::_internal_copy_stmt() const { - return _internal_has_copy_stmt() - ? *_impl_.node_.copy_stmt_ - : reinterpret_cast< ::pg_query::CopyStmt&>(::pg_query::_CopyStmt_default_instance_); +inline const ::pg_query::PartitionRangeDatum& Node::_internal_partition_range_datum() const { + return node_case() == kPartitionRangeDatum ? *_impl_.node_.partition_range_datum_ : reinterpret_cast<::pg_query::PartitionRangeDatum&>(::pg_query::_PartitionRangeDatum_default_instance_); } -inline const ::pg_query::CopyStmt& Node::copy_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.copy_stmt) - return _internal_copy_stmt(); +inline const ::pg_query::PartitionRangeDatum& Node::partition_range_datum() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_range_datum) + return _internal_partition_range_datum(); } -inline ::pg_query::CopyStmt* Node::unsafe_arena_release_copy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.copy_stmt) - if (_internal_has_copy_stmt()) { +inline ::pg_query::PartitionRangeDatum* Node::unsafe_arena_release_partition_range_datum() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_range_datum) + if (node_case() == kPartitionRangeDatum) { clear_has_node(); - ::pg_query::CopyStmt* temp = _impl_.node_.copy_stmt_; - _impl_.node_.copy_stmt_ = nullptr; + auto* temp = _impl_.node_.partition_range_datum_; + _impl_.node_.partition_range_datum_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* copy_stmt) { +inline void Node::unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (copy_stmt) { - set_has_copy_stmt(); - _impl_.node_.copy_stmt_ = copy_stmt; + if (value) { + set_has_partition_range_datum(); + _impl_.node_.partition_range_datum_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.copy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_range_datum) } -inline ::pg_query::CopyStmt* Node::_internal_mutable_copy_stmt() { - if (!_internal_has_copy_stmt()) { +inline ::pg_query::PartitionRangeDatum* Node::_internal_mutable_partition_range_datum() { + if (node_case() != kPartitionRangeDatum) { clear_node(); - set_has_copy_stmt(); - _impl_.node_.copy_stmt_ = CreateMaybeMessage< ::pg_query::CopyStmt >(GetArenaForAllocation()); + set_has_partition_range_datum(); + _impl_.node_.partition_range_datum_ = CreateMaybeMessage<::pg_query::PartitionRangeDatum>(GetArena()); } - return _impl_.node_.copy_stmt_; + return _impl_.node_.partition_range_datum_; } -inline ::pg_query::CopyStmt* Node::mutable_copy_stmt() { - ::pg_query::CopyStmt* _msg = _internal_mutable_copy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.copy_stmt) +inline ::pg_query::PartitionRangeDatum* Node::mutable_partition_range_datum() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionRangeDatum* _msg = _internal_mutable_partition_range_datum(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_range_datum) return _msg; } -// .pg_query.CreateStmt create_stmt = 71 [json_name = "CreateStmt"]; -inline bool Node::_internal_has_create_stmt() const { - return node_case() == kCreateStmt; +// .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"]; +inline bool Node::has_single_partition_spec() const { + return node_case() == kSinglePartitionSpec; } -inline bool Node::has_create_stmt() const { - return _internal_has_create_stmt(); +inline bool Node::_internal_has_single_partition_spec() const { + return node_case() == kSinglePartitionSpec; } -inline void Node::set_has_create_stmt() { - _impl_._oneof_case_[0] = kCreateStmt; +inline void Node::set_has_single_partition_spec() { + _impl_._oneof_case_[0] = kSinglePartitionSpec; } -inline void Node::clear_create_stmt() { - if (_internal_has_create_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_stmt_; +inline void Node::clear_single_partition_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSinglePartitionSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.single_partition_spec_; } clear_has_node(); } } -inline ::pg_query::CreateStmt* Node::release_create_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_stmt) - if (_internal_has_create_stmt()) { +inline ::pg_query::SinglePartitionSpec* Node::release_single_partition_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.single_partition_spec) + if (node_case() == kSinglePartitionSpec) { clear_has_node(); - ::pg_query::CreateStmt* temp = _impl_.node_.create_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.single_partition_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_stmt_ = nullptr; + _impl_.node_.single_partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateStmt& Node::_internal_create_stmt() const { - return _internal_has_create_stmt() - ? *_impl_.node_.create_stmt_ - : reinterpret_cast< ::pg_query::CreateStmt&>(::pg_query::_CreateStmt_default_instance_); +inline const ::pg_query::SinglePartitionSpec& Node::_internal_single_partition_spec() const { + return node_case() == kSinglePartitionSpec ? *_impl_.node_.single_partition_spec_ : reinterpret_cast<::pg_query::SinglePartitionSpec&>(::pg_query::_SinglePartitionSpec_default_instance_); } -inline const ::pg_query::CreateStmt& Node::create_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_stmt) - return _internal_create_stmt(); +inline const ::pg_query::SinglePartitionSpec& Node::single_partition_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.single_partition_spec) + return _internal_single_partition_spec(); } -inline ::pg_query::CreateStmt* Node::unsafe_arena_release_create_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stmt) - if (_internal_has_create_stmt()) { +inline ::pg_query::SinglePartitionSpec* Node::unsafe_arena_release_single_partition_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.single_partition_spec) + if (node_case() == kSinglePartitionSpec) { clear_has_node(); - ::pg_query::CreateStmt* temp = _impl_.node_.create_stmt_; - _impl_.node_.create_stmt_ = nullptr; + auto* temp = _impl_.node_.single_partition_spec_; + _impl_.node_.single_partition_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* create_stmt) { +inline void Node::unsafe_arena_set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_stmt) { - set_has_create_stmt(); - _impl_.node_.create_stmt_ = create_stmt; + if (value) { + set_has_single_partition_spec(); + _impl_.node_.single_partition_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.single_partition_spec) } -inline ::pg_query::CreateStmt* Node::_internal_mutable_create_stmt() { - if (!_internal_has_create_stmt()) { +inline ::pg_query::SinglePartitionSpec* Node::_internal_mutable_single_partition_spec() { + if (node_case() != kSinglePartitionSpec) { clear_node(); - set_has_create_stmt(); - _impl_.node_.create_stmt_ = CreateMaybeMessage< ::pg_query::CreateStmt >(GetArenaForAllocation()); + set_has_single_partition_spec(); + _impl_.node_.single_partition_spec_ = CreateMaybeMessage<::pg_query::SinglePartitionSpec>(GetArena()); } - return _impl_.node_.create_stmt_; + return _impl_.node_.single_partition_spec_; } -inline ::pg_query::CreateStmt* Node::mutable_create_stmt() { - ::pg_query::CreateStmt* _msg = _internal_mutable_create_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stmt) +inline ::pg_query::SinglePartitionSpec* Node::mutable_single_partition_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SinglePartitionSpec* _msg = _internal_mutable_single_partition_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.single_partition_spec) return _msg; } -// .pg_query.DefineStmt define_stmt = 72 [json_name = "DefineStmt"]; -inline bool Node::_internal_has_define_stmt() const { - return node_case() == kDefineStmt; +// .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"]; +inline bool Node::has_partition_cmd() const { + return node_case() == kPartitionCmd; } -inline bool Node::has_define_stmt() const { - return _internal_has_define_stmt(); +inline bool Node::_internal_has_partition_cmd() const { + return node_case() == kPartitionCmd; } -inline void Node::set_has_define_stmt() { - _impl_._oneof_case_[0] = kDefineStmt; +inline void Node::set_has_partition_cmd() { + _impl_._oneof_case_[0] = kPartitionCmd; } -inline void Node::clear_define_stmt() { - if (_internal_has_define_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.define_stmt_; +inline void Node::clear_partition_cmd() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPartitionCmd) { + if (GetArena() == nullptr) { + delete _impl_.node_.partition_cmd_; } clear_has_node(); } } -inline ::pg_query::DefineStmt* Node::release_define_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.define_stmt) - if (_internal_has_define_stmt()) { +inline ::pg_query::PartitionCmd* Node::release_partition_cmd() { + // @@protoc_insertion_point(field_release:pg_query.Node.partition_cmd) + if (node_case() == kPartitionCmd) { clear_has_node(); - ::pg_query::DefineStmt* temp = _impl_.node_.define_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.partition_cmd_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.define_stmt_ = nullptr; + _impl_.node_.partition_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DefineStmt& Node::_internal_define_stmt() const { - return _internal_has_define_stmt() - ? *_impl_.node_.define_stmt_ - : reinterpret_cast< ::pg_query::DefineStmt&>(::pg_query::_DefineStmt_default_instance_); +inline const ::pg_query::PartitionCmd& Node::_internal_partition_cmd() const { + return node_case() == kPartitionCmd ? *_impl_.node_.partition_cmd_ : reinterpret_cast<::pg_query::PartitionCmd&>(::pg_query::_PartitionCmd_default_instance_); } -inline const ::pg_query::DefineStmt& Node::define_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.define_stmt) - return _internal_define_stmt(); +inline const ::pg_query::PartitionCmd& Node::partition_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.partition_cmd) + return _internal_partition_cmd(); } -inline ::pg_query::DefineStmt* Node::unsafe_arena_release_define_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.define_stmt) - if (_internal_has_define_stmt()) { +inline ::pg_query::PartitionCmd* Node::unsafe_arena_release_partition_cmd() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_cmd) + if (node_case() == kPartitionCmd) { clear_has_node(); - ::pg_query::DefineStmt* temp = _impl_.node_.define_stmt_; - _impl_.node_.define_stmt_ = nullptr; + auto* temp = _impl_.node_.partition_cmd_; + _impl_.node_.partition_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* define_stmt) { +inline void Node::unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (define_stmt) { - set_has_define_stmt(); - _impl_.node_.define_stmt_ = define_stmt; + if (value) { + set_has_partition_cmd(); + _impl_.node_.partition_cmd_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.define_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_cmd) } -inline ::pg_query::DefineStmt* Node::_internal_mutable_define_stmt() { - if (!_internal_has_define_stmt()) { +inline ::pg_query::PartitionCmd* Node::_internal_mutable_partition_cmd() { + if (node_case() != kPartitionCmd) { clear_node(); - set_has_define_stmt(); - _impl_.node_.define_stmt_ = CreateMaybeMessage< ::pg_query::DefineStmt >(GetArenaForAllocation()); + set_has_partition_cmd(); + _impl_.node_.partition_cmd_ = CreateMaybeMessage<::pg_query::PartitionCmd>(GetArena()); } - return _impl_.node_.define_stmt_; + return _impl_.node_.partition_cmd_; } -inline ::pg_query::DefineStmt* Node::mutable_define_stmt() { - ::pg_query::DefineStmt* _msg = _internal_mutable_define_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.define_stmt) +inline ::pg_query::PartitionCmd* Node::mutable_partition_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionCmd* _msg = _internal_mutable_partition_cmd(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_cmd) return _msg; } -// .pg_query.DropStmt drop_stmt = 73 [json_name = "DropStmt"]; -inline bool Node::_internal_has_drop_stmt() const { - return node_case() == kDropStmt; +// .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"]; +inline bool Node::has_range_tbl_entry() const { + return node_case() == kRangeTblEntry; } -inline bool Node::has_drop_stmt() const { - return _internal_has_drop_stmt(); +inline bool Node::_internal_has_range_tbl_entry() const { + return node_case() == kRangeTblEntry; } -inline void Node::set_has_drop_stmt() { - _impl_._oneof_case_[0] = kDropStmt; +inline void Node::set_has_range_tbl_entry() { + _impl_._oneof_case_[0] = kRangeTblEntry; } -inline void Node::clear_drop_stmt() { - if (_internal_has_drop_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.drop_stmt_; +inline void Node::clear_range_tbl_entry() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTblEntry) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_tbl_entry_; } clear_has_node(); } } -inline ::pg_query::DropStmt* Node::release_drop_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_stmt) - if (_internal_has_drop_stmt()) { +inline ::pg_query::RangeTblEntry* Node::release_range_tbl_entry() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_entry) + if (node_case() == kRangeTblEntry) { clear_has_node(); - ::pg_query::DropStmt* temp = _impl_.node_.drop_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_tbl_entry_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_stmt_ = nullptr; + _impl_.node_.range_tbl_entry_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropStmt& Node::_internal_drop_stmt() const { - return _internal_has_drop_stmt() - ? *_impl_.node_.drop_stmt_ - : reinterpret_cast< ::pg_query::DropStmt&>(::pg_query::_DropStmt_default_instance_); +inline const ::pg_query::RangeTblEntry& Node::_internal_range_tbl_entry() const { + return node_case() == kRangeTblEntry ? *_impl_.node_.range_tbl_entry_ : reinterpret_cast<::pg_query::RangeTblEntry&>(::pg_query::_RangeTblEntry_default_instance_); } -inline const ::pg_query::DropStmt& Node::drop_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_stmt) - return _internal_drop_stmt(); +inline const ::pg_query::RangeTblEntry& Node::range_tbl_entry() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_entry) + return _internal_range_tbl_entry(); } -inline ::pg_query::DropStmt* Node::unsafe_arena_release_drop_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_stmt) - if (_internal_has_drop_stmt()) { +inline ::pg_query::RangeTblEntry* Node::unsafe_arena_release_range_tbl_entry() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_entry) + if (node_case() == kRangeTblEntry) { clear_has_node(); - ::pg_query::DropStmt* temp = _impl_.node_.drop_stmt_; - _impl_.node_.drop_stmt_ = nullptr; + auto* temp = _impl_.node_.range_tbl_entry_; + _impl_.node_.range_tbl_entry_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* drop_stmt) { +inline void Node::unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_stmt) { - set_has_drop_stmt(); - _impl_.node_.drop_stmt_ = drop_stmt; + if (value) { + set_has_range_tbl_entry(); + _impl_.node_.range_tbl_entry_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_entry) } -inline ::pg_query::DropStmt* Node::_internal_mutable_drop_stmt() { - if (!_internal_has_drop_stmt()) { +inline ::pg_query::RangeTblEntry* Node::_internal_mutable_range_tbl_entry() { + if (node_case() != kRangeTblEntry) { clear_node(); - set_has_drop_stmt(); - _impl_.node_.drop_stmt_ = CreateMaybeMessage< ::pg_query::DropStmt >(GetArenaForAllocation()); + set_has_range_tbl_entry(); + _impl_.node_.range_tbl_entry_ = CreateMaybeMessage<::pg_query::RangeTblEntry>(GetArena()); } - return _impl_.node_.drop_stmt_; + return _impl_.node_.range_tbl_entry_; } -inline ::pg_query::DropStmt* Node::mutable_drop_stmt() { - ::pg_query::DropStmt* _msg = _internal_mutable_drop_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_stmt) +inline ::pg_query::RangeTblEntry* Node::mutable_range_tbl_entry() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblEntry* _msg = _internal_mutable_range_tbl_entry(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_entry) return _msg; } -// .pg_query.TruncateStmt truncate_stmt = 74 [json_name = "TruncateStmt"]; -inline bool Node::_internal_has_truncate_stmt() const { - return node_case() == kTruncateStmt; +// .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"]; +inline bool Node::has_rtepermission_info() const { + return node_case() == kRtepermissionInfo; } -inline bool Node::has_truncate_stmt() const { - return _internal_has_truncate_stmt(); +inline bool Node::_internal_has_rtepermission_info() const { + return node_case() == kRtepermissionInfo; } -inline void Node::set_has_truncate_stmt() { - _impl_._oneof_case_[0] = kTruncateStmt; +inline void Node::set_has_rtepermission_info() { + _impl_._oneof_case_[0] = kRtepermissionInfo; } -inline void Node::clear_truncate_stmt() { - if (_internal_has_truncate_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.truncate_stmt_; +inline void Node::clear_rtepermission_info() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRtepermissionInfo) { + if (GetArena() == nullptr) { + delete _impl_.node_.rtepermission_info_; } clear_has_node(); } } -inline ::pg_query::TruncateStmt* Node::release_truncate_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.truncate_stmt) - if (_internal_has_truncate_stmt()) { +inline ::pg_query::RTEPermissionInfo* Node::release_rtepermission_info() { + // @@protoc_insertion_point(field_release:pg_query.Node.rtepermission_info) + if (node_case() == kRtepermissionInfo) { clear_has_node(); - ::pg_query::TruncateStmt* temp = _impl_.node_.truncate_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.rtepermission_info_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.truncate_stmt_ = nullptr; + _impl_.node_.rtepermission_info_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TruncateStmt& Node::_internal_truncate_stmt() const { - return _internal_has_truncate_stmt() - ? *_impl_.node_.truncate_stmt_ - : reinterpret_cast< ::pg_query::TruncateStmt&>(::pg_query::_TruncateStmt_default_instance_); +inline const ::pg_query::RTEPermissionInfo& Node::_internal_rtepermission_info() const { + return node_case() == kRtepermissionInfo ? *_impl_.node_.rtepermission_info_ : reinterpret_cast<::pg_query::RTEPermissionInfo&>(::pg_query::_RTEPermissionInfo_default_instance_); } -inline const ::pg_query::TruncateStmt& Node::truncate_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.truncate_stmt) - return _internal_truncate_stmt(); +inline const ::pg_query::RTEPermissionInfo& Node::rtepermission_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rtepermission_info) + return _internal_rtepermission_info(); } -inline ::pg_query::TruncateStmt* Node::unsafe_arena_release_truncate_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.truncate_stmt) - if (_internal_has_truncate_stmt()) { +inline ::pg_query::RTEPermissionInfo* Node::unsafe_arena_release_rtepermission_info() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rtepermission_info) + if (node_case() == kRtepermissionInfo) { clear_has_node(); - ::pg_query::TruncateStmt* temp = _impl_.node_.truncate_stmt_; - _impl_.node_.truncate_stmt_ = nullptr; + auto* temp = _impl_.node_.rtepermission_info_; + _impl_.node_.rtepermission_info_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* truncate_stmt) { +inline void Node::unsafe_arena_set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (truncate_stmt) { - set_has_truncate_stmt(); - _impl_.node_.truncate_stmt_ = truncate_stmt; + if (value) { + set_has_rtepermission_info(); + _impl_.node_.rtepermission_info_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.truncate_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rtepermission_info) } -inline ::pg_query::TruncateStmt* Node::_internal_mutable_truncate_stmt() { - if (!_internal_has_truncate_stmt()) { +inline ::pg_query::RTEPermissionInfo* Node::_internal_mutable_rtepermission_info() { + if (node_case() != kRtepermissionInfo) { clear_node(); - set_has_truncate_stmt(); - _impl_.node_.truncate_stmt_ = CreateMaybeMessage< ::pg_query::TruncateStmt >(GetArenaForAllocation()); + set_has_rtepermission_info(); + _impl_.node_.rtepermission_info_ = CreateMaybeMessage<::pg_query::RTEPermissionInfo>(GetArena()); } - return _impl_.node_.truncate_stmt_; + return _impl_.node_.rtepermission_info_; } -inline ::pg_query::TruncateStmt* Node::mutable_truncate_stmt() { - ::pg_query::TruncateStmt* _msg = _internal_mutable_truncate_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.truncate_stmt) +inline ::pg_query::RTEPermissionInfo* Node::mutable_rtepermission_info() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RTEPermissionInfo* _msg = _internal_mutable_rtepermission_info(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rtepermission_info) return _msg; } -// .pg_query.CommentStmt comment_stmt = 75 [json_name = "CommentStmt"]; -inline bool Node::_internal_has_comment_stmt() const { - return node_case() == kCommentStmt; +// .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"]; +inline bool Node::has_range_tbl_function() const { + return node_case() == kRangeTblFunction; } -inline bool Node::has_comment_stmt() const { - return _internal_has_comment_stmt(); +inline bool Node::_internal_has_range_tbl_function() const { + return node_case() == kRangeTblFunction; } -inline void Node::set_has_comment_stmt() { - _impl_._oneof_case_[0] = kCommentStmt; +inline void Node::set_has_range_tbl_function() { + _impl_._oneof_case_[0] = kRangeTblFunction; } -inline void Node::clear_comment_stmt() { - if (_internal_has_comment_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.comment_stmt_; +inline void Node::clear_range_tbl_function() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRangeTblFunction) { + if (GetArena() == nullptr) { + delete _impl_.node_.range_tbl_function_; } clear_has_node(); } } -inline ::pg_query::CommentStmt* Node::release_comment_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.comment_stmt) - if (_internal_has_comment_stmt()) { +inline ::pg_query::RangeTblFunction* Node::release_range_tbl_function() { + // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_function) + if (node_case() == kRangeTblFunction) { clear_has_node(); - ::pg_query::CommentStmt* temp = _impl_.node_.comment_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.range_tbl_function_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.comment_stmt_ = nullptr; + _impl_.node_.range_tbl_function_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CommentStmt& Node::_internal_comment_stmt() const { - return _internal_has_comment_stmt() - ? *_impl_.node_.comment_stmt_ - : reinterpret_cast< ::pg_query::CommentStmt&>(::pg_query::_CommentStmt_default_instance_); +inline const ::pg_query::RangeTblFunction& Node::_internal_range_tbl_function() const { + return node_case() == kRangeTblFunction ? *_impl_.node_.range_tbl_function_ : reinterpret_cast<::pg_query::RangeTblFunction&>(::pg_query::_RangeTblFunction_default_instance_); } -inline const ::pg_query::CommentStmt& Node::comment_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.comment_stmt) - return _internal_comment_stmt(); +inline const ::pg_query::RangeTblFunction& Node::range_tbl_function() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_function) + return _internal_range_tbl_function(); } -inline ::pg_query::CommentStmt* Node::unsafe_arena_release_comment_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.comment_stmt) - if (_internal_has_comment_stmt()) { +inline ::pg_query::RangeTblFunction* Node::unsafe_arena_release_range_tbl_function() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_function) + if (node_case() == kRangeTblFunction) { clear_has_node(); - ::pg_query::CommentStmt* temp = _impl_.node_.comment_stmt_; - _impl_.node_.comment_stmt_ = nullptr; + auto* temp = _impl_.node_.range_tbl_function_; + _impl_.node_.range_tbl_function_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* comment_stmt) { +inline void Node::unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (comment_stmt) { - set_has_comment_stmt(); - _impl_.node_.comment_stmt_ = comment_stmt; + if (value) { + set_has_range_tbl_function(); + _impl_.node_.range_tbl_function_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.comment_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_function) } -inline ::pg_query::CommentStmt* Node::_internal_mutable_comment_stmt() { - if (!_internal_has_comment_stmt()) { +inline ::pg_query::RangeTblFunction* Node::_internal_mutable_range_tbl_function() { + if (node_case() != kRangeTblFunction) { clear_node(); - set_has_comment_stmt(); - _impl_.node_.comment_stmt_ = CreateMaybeMessage< ::pg_query::CommentStmt >(GetArenaForAllocation()); + set_has_range_tbl_function(); + _impl_.node_.range_tbl_function_ = CreateMaybeMessage<::pg_query::RangeTblFunction>(GetArena()); } - return _impl_.node_.comment_stmt_; + return _impl_.node_.range_tbl_function_; } -inline ::pg_query::CommentStmt* Node::mutable_comment_stmt() { - ::pg_query::CommentStmt* _msg = _internal_mutable_comment_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.comment_stmt) +inline ::pg_query::RangeTblFunction* Node::mutable_range_tbl_function() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeTblFunction* _msg = _internal_mutable_range_tbl_function(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_function) return _msg; } -// .pg_query.FetchStmt fetch_stmt = 76 [json_name = "FetchStmt"]; -inline bool Node::_internal_has_fetch_stmt() const { - return node_case() == kFetchStmt; +// .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"]; +inline bool Node::has_table_sample_clause() const { + return node_case() == kTableSampleClause; } -inline bool Node::has_fetch_stmt() const { - return _internal_has_fetch_stmt(); +inline bool Node::_internal_has_table_sample_clause() const { + return node_case() == kTableSampleClause; } -inline void Node::set_has_fetch_stmt() { - _impl_._oneof_case_[0] = kFetchStmt; +inline void Node::set_has_table_sample_clause() { + _impl_._oneof_case_[0] = kTableSampleClause; } -inline void Node::clear_fetch_stmt() { - if (_internal_has_fetch_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.fetch_stmt_; +inline void Node::clear_table_sample_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTableSampleClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.table_sample_clause_; } clear_has_node(); } } -inline ::pg_query::FetchStmt* Node::release_fetch_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.fetch_stmt) - if (_internal_has_fetch_stmt()) { +inline ::pg_query::TableSampleClause* Node::release_table_sample_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.table_sample_clause) + if (node_case() == kTableSampleClause) { clear_has_node(); - ::pg_query::FetchStmt* temp = _impl_.node_.fetch_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.table_sample_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.fetch_stmt_ = nullptr; + _impl_.node_.table_sample_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FetchStmt& Node::_internal_fetch_stmt() const { - return _internal_has_fetch_stmt() - ? *_impl_.node_.fetch_stmt_ - : reinterpret_cast< ::pg_query::FetchStmt&>(::pg_query::_FetchStmt_default_instance_); +inline const ::pg_query::TableSampleClause& Node::_internal_table_sample_clause() const { + return node_case() == kTableSampleClause ? *_impl_.node_.table_sample_clause_ : reinterpret_cast<::pg_query::TableSampleClause&>(::pg_query::_TableSampleClause_default_instance_); } -inline const ::pg_query::FetchStmt& Node::fetch_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.fetch_stmt) - return _internal_fetch_stmt(); +inline const ::pg_query::TableSampleClause& Node::table_sample_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.table_sample_clause) + return _internal_table_sample_clause(); } -inline ::pg_query::FetchStmt* Node::unsafe_arena_release_fetch_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.fetch_stmt) - if (_internal_has_fetch_stmt()) { +inline ::pg_query::TableSampleClause* Node::unsafe_arena_release_table_sample_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_sample_clause) + if (node_case() == kTableSampleClause) { clear_has_node(); - ::pg_query::FetchStmt* temp = _impl_.node_.fetch_stmt_; - _impl_.node_.fetch_stmt_ = nullptr; + auto* temp = _impl_.node_.table_sample_clause_; + _impl_.node_.table_sample_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* fetch_stmt) { +inline void Node::unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (fetch_stmt) { - set_has_fetch_stmt(); - _impl_.node_.fetch_stmt_ = fetch_stmt; + if (value) { + set_has_table_sample_clause(); + _impl_.node_.table_sample_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.fetch_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_sample_clause) } -inline ::pg_query::FetchStmt* Node::_internal_mutable_fetch_stmt() { - if (!_internal_has_fetch_stmt()) { +inline ::pg_query::TableSampleClause* Node::_internal_mutable_table_sample_clause() { + if (node_case() != kTableSampleClause) { clear_node(); - set_has_fetch_stmt(); - _impl_.node_.fetch_stmt_ = CreateMaybeMessage< ::pg_query::FetchStmt >(GetArenaForAllocation()); + set_has_table_sample_clause(); + _impl_.node_.table_sample_clause_ = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); } - return _impl_.node_.fetch_stmt_; + return _impl_.node_.table_sample_clause_; } -inline ::pg_query::FetchStmt* Node::mutable_fetch_stmt() { - ::pg_query::FetchStmt* _msg = _internal_mutable_fetch_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.fetch_stmt) +inline ::pg_query::TableSampleClause* Node::mutable_table_sample_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableSampleClause* _msg = _internal_mutable_table_sample_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.table_sample_clause) return _msg; } -// .pg_query.IndexStmt index_stmt = 77 [json_name = "IndexStmt"]; -inline bool Node::_internal_has_index_stmt() const { - return node_case() == kIndexStmt; +// .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"]; +inline bool Node::has_with_check_option() const { + return node_case() == kWithCheckOption; } -inline bool Node::has_index_stmt() const { - return _internal_has_index_stmt(); +inline bool Node::_internal_has_with_check_option() const { + return node_case() == kWithCheckOption; } -inline void Node::set_has_index_stmt() { - _impl_._oneof_case_[0] = kIndexStmt; +inline void Node::set_has_with_check_option() { + _impl_._oneof_case_[0] = kWithCheckOption; } -inline void Node::clear_index_stmt() { - if (_internal_has_index_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.index_stmt_; +inline void Node::clear_with_check_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWithCheckOption) { + if (GetArena() == nullptr) { + delete _impl_.node_.with_check_option_; } clear_has_node(); } } -inline ::pg_query::IndexStmt* Node::release_index_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.index_stmt) - if (_internal_has_index_stmt()) { +inline ::pg_query::WithCheckOption* Node::release_with_check_option() { + // @@protoc_insertion_point(field_release:pg_query.Node.with_check_option) + if (node_case() == kWithCheckOption) { clear_has_node(); - ::pg_query::IndexStmt* temp = _impl_.node_.index_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.with_check_option_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.index_stmt_ = nullptr; + _impl_.node_.with_check_option_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IndexStmt& Node::_internal_index_stmt() const { - return _internal_has_index_stmt() - ? *_impl_.node_.index_stmt_ - : reinterpret_cast< ::pg_query::IndexStmt&>(::pg_query::_IndexStmt_default_instance_); +inline const ::pg_query::WithCheckOption& Node::_internal_with_check_option() const { + return node_case() == kWithCheckOption ? *_impl_.node_.with_check_option_ : reinterpret_cast<::pg_query::WithCheckOption&>(::pg_query::_WithCheckOption_default_instance_); } -inline const ::pg_query::IndexStmt& Node::index_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.index_stmt) - return _internal_index_stmt(); +inline const ::pg_query::WithCheckOption& Node::with_check_option() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.with_check_option) + return _internal_with_check_option(); } -inline ::pg_query::IndexStmt* Node::unsafe_arena_release_index_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_stmt) - if (_internal_has_index_stmt()) { +inline ::pg_query::WithCheckOption* Node::unsafe_arena_release_with_check_option() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_check_option) + if (node_case() == kWithCheckOption) { clear_has_node(); - ::pg_query::IndexStmt* temp = _impl_.node_.index_stmt_; - _impl_.node_.index_stmt_ = nullptr; + auto* temp = _impl_.node_.with_check_option_; + _impl_.node_.with_check_option_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* index_stmt) { +inline void Node::unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (index_stmt) { - set_has_index_stmt(); - _impl_.node_.index_stmt_ = index_stmt; + if (value) { + set_has_with_check_option(); + _impl_.node_.with_check_option_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_check_option) } -inline ::pg_query::IndexStmt* Node::_internal_mutable_index_stmt() { - if (!_internal_has_index_stmt()) { +inline ::pg_query::WithCheckOption* Node::_internal_mutable_with_check_option() { + if (node_case() != kWithCheckOption) { clear_node(); - set_has_index_stmt(); - _impl_.node_.index_stmt_ = CreateMaybeMessage< ::pg_query::IndexStmt >(GetArenaForAllocation()); + set_has_with_check_option(); + _impl_.node_.with_check_option_ = CreateMaybeMessage<::pg_query::WithCheckOption>(GetArena()); } - return _impl_.node_.index_stmt_; + return _impl_.node_.with_check_option_; } -inline ::pg_query::IndexStmt* Node::mutable_index_stmt() { - ::pg_query::IndexStmt* _msg = _internal_mutable_index_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.index_stmt) +inline ::pg_query::WithCheckOption* Node::mutable_with_check_option() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithCheckOption* _msg = _internal_mutable_with_check_option(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.with_check_option) return _msg; } -// .pg_query.CreateFunctionStmt create_function_stmt = 78 [json_name = "CreateFunctionStmt"]; -inline bool Node::_internal_has_create_function_stmt() const { - return node_case() == kCreateFunctionStmt; +// .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"]; +inline bool Node::has_sort_group_clause() const { + return node_case() == kSortGroupClause; } -inline bool Node::has_create_function_stmt() const { - return _internal_has_create_function_stmt(); +inline bool Node::_internal_has_sort_group_clause() const { + return node_case() == kSortGroupClause; } -inline void Node::set_has_create_function_stmt() { - _impl_._oneof_case_[0] = kCreateFunctionStmt; +inline void Node::set_has_sort_group_clause() { + _impl_._oneof_case_[0] = kSortGroupClause; } -inline void Node::clear_create_function_stmt() { - if (_internal_has_create_function_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_function_stmt_; +inline void Node::clear_sort_group_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSortGroupClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.sort_group_clause_; } clear_has_node(); } } -inline ::pg_query::CreateFunctionStmt* Node::release_create_function_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_function_stmt) - if (_internal_has_create_function_stmt()) { +inline ::pg_query::SortGroupClause* Node::release_sort_group_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.sort_group_clause) + if (node_case() == kSortGroupClause) { clear_has_node(); - ::pg_query::CreateFunctionStmt* temp = _impl_.node_.create_function_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.sort_group_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_function_stmt_ = nullptr; + _impl_.node_.sort_group_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateFunctionStmt& Node::_internal_create_function_stmt() const { - return _internal_has_create_function_stmt() - ? *_impl_.node_.create_function_stmt_ - : reinterpret_cast< ::pg_query::CreateFunctionStmt&>(::pg_query::_CreateFunctionStmt_default_instance_); +inline const ::pg_query::SortGroupClause& Node::_internal_sort_group_clause() const { + return node_case() == kSortGroupClause ? *_impl_.node_.sort_group_clause_ : reinterpret_cast<::pg_query::SortGroupClause&>(::pg_query::_SortGroupClause_default_instance_); } -inline const ::pg_query::CreateFunctionStmt& Node::create_function_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_function_stmt) - return _internal_create_function_stmt(); +inline const ::pg_query::SortGroupClause& Node::sort_group_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sort_group_clause) + return _internal_sort_group_clause(); } -inline ::pg_query::CreateFunctionStmt* Node::unsafe_arena_release_create_function_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_function_stmt) - if (_internal_has_create_function_stmt()) { +inline ::pg_query::SortGroupClause* Node::unsafe_arena_release_sort_group_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_group_clause) + if (node_case() == kSortGroupClause) { clear_has_node(); - ::pg_query::CreateFunctionStmt* temp = _impl_.node_.create_function_stmt_; - _impl_.node_.create_function_stmt_ = nullptr; + auto* temp = _impl_.node_.sort_group_clause_; + _impl_.node_.sort_group_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* create_function_stmt) { +inline void Node::unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_function_stmt) { - set_has_create_function_stmt(); - _impl_.node_.create_function_stmt_ = create_function_stmt; + if (value) { + set_has_sort_group_clause(); + _impl_.node_.sort_group_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_function_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_group_clause) } -inline ::pg_query::CreateFunctionStmt* Node::_internal_mutable_create_function_stmt() { - if (!_internal_has_create_function_stmt()) { +inline ::pg_query::SortGroupClause* Node::_internal_mutable_sort_group_clause() { + if (node_case() != kSortGroupClause) { clear_node(); - set_has_create_function_stmt(); - _impl_.node_.create_function_stmt_ = CreateMaybeMessage< ::pg_query::CreateFunctionStmt >(GetArenaForAllocation()); + set_has_sort_group_clause(); + _impl_.node_.sort_group_clause_ = CreateMaybeMessage<::pg_query::SortGroupClause>(GetArena()); } - return _impl_.node_.create_function_stmt_; + return _impl_.node_.sort_group_clause_; } -inline ::pg_query::CreateFunctionStmt* Node::mutable_create_function_stmt() { - ::pg_query::CreateFunctionStmt* _msg = _internal_mutable_create_function_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_function_stmt) +inline ::pg_query::SortGroupClause* Node::mutable_sort_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SortGroupClause* _msg = _internal_mutable_sort_group_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_group_clause) return _msg; } -// .pg_query.AlterFunctionStmt alter_function_stmt = 79 [json_name = "AlterFunctionStmt"]; -inline bool Node::_internal_has_alter_function_stmt() const { - return node_case() == kAlterFunctionStmt; +// .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"]; +inline bool Node::has_grouping_set() const { + return node_case() == kGroupingSet; } -inline bool Node::has_alter_function_stmt() const { - return _internal_has_alter_function_stmt(); +inline bool Node::_internal_has_grouping_set() const { + return node_case() == kGroupingSet; } -inline void Node::set_has_alter_function_stmt() { - _impl_._oneof_case_[0] = kAlterFunctionStmt; +inline void Node::set_has_grouping_set() { + _impl_._oneof_case_[0] = kGroupingSet; } -inline void Node::clear_alter_function_stmt() { - if (_internal_has_alter_function_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_function_stmt_; +inline void Node::clear_grouping_set() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kGroupingSet) { + if (GetArena() == nullptr) { + delete _impl_.node_.grouping_set_; } clear_has_node(); } } -inline ::pg_query::AlterFunctionStmt* Node::release_alter_function_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_function_stmt) - if (_internal_has_alter_function_stmt()) { +inline ::pg_query::GroupingSet* Node::release_grouping_set() { + // @@protoc_insertion_point(field_release:pg_query.Node.grouping_set) + if (node_case() == kGroupingSet) { clear_has_node(); - ::pg_query::AlterFunctionStmt* temp = _impl_.node_.alter_function_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.grouping_set_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_function_stmt_ = nullptr; + _impl_.node_.grouping_set_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterFunctionStmt& Node::_internal_alter_function_stmt() const { - return _internal_has_alter_function_stmt() - ? *_impl_.node_.alter_function_stmt_ - : reinterpret_cast< ::pg_query::AlterFunctionStmt&>(::pg_query::_AlterFunctionStmt_default_instance_); +inline const ::pg_query::GroupingSet& Node::_internal_grouping_set() const { + return node_case() == kGroupingSet ? *_impl_.node_.grouping_set_ : reinterpret_cast<::pg_query::GroupingSet&>(::pg_query::_GroupingSet_default_instance_); } -inline const ::pg_query::AlterFunctionStmt& Node::alter_function_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_function_stmt) - return _internal_alter_function_stmt(); +inline const ::pg_query::GroupingSet& Node::grouping_set() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grouping_set) + return _internal_grouping_set(); } -inline ::pg_query::AlterFunctionStmt* Node::unsafe_arena_release_alter_function_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_function_stmt) - if (_internal_has_alter_function_stmt()) { +inline ::pg_query::GroupingSet* Node::unsafe_arena_release_grouping_set() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_set) + if (node_case() == kGroupingSet) { clear_has_node(); - ::pg_query::AlterFunctionStmt* temp = _impl_.node_.alter_function_stmt_; - _impl_.node_.alter_function_stmt_ = nullptr; + auto* temp = _impl_.node_.grouping_set_; + _impl_.node_.grouping_set_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* alter_function_stmt) { +inline void Node::unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_function_stmt) { - set_has_alter_function_stmt(); - _impl_.node_.alter_function_stmt_ = alter_function_stmt; + if (value) { + set_has_grouping_set(); + _impl_.node_.grouping_set_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_function_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_set) } -inline ::pg_query::AlterFunctionStmt* Node::_internal_mutable_alter_function_stmt() { - if (!_internal_has_alter_function_stmt()) { +inline ::pg_query::GroupingSet* Node::_internal_mutable_grouping_set() { + if (node_case() != kGroupingSet) { clear_node(); - set_has_alter_function_stmt(); - _impl_.node_.alter_function_stmt_ = CreateMaybeMessage< ::pg_query::AlterFunctionStmt >(GetArenaForAllocation()); + set_has_grouping_set(); + _impl_.node_.grouping_set_ = CreateMaybeMessage<::pg_query::GroupingSet>(GetArena()); } - return _impl_.node_.alter_function_stmt_; + return _impl_.node_.grouping_set_; } -inline ::pg_query::AlterFunctionStmt* Node::mutable_alter_function_stmt() { - ::pg_query::AlterFunctionStmt* _msg = _internal_mutable_alter_function_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_function_stmt) +inline ::pg_query::GroupingSet* Node::mutable_grouping_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GroupingSet* _msg = _internal_mutable_grouping_set(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_set) return _msg; } -// .pg_query.DoStmt do_stmt = 80 [json_name = "DoStmt"]; -inline bool Node::_internal_has_do_stmt() const { - return node_case() == kDoStmt; +// .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"]; +inline bool Node::has_window_clause() const { + return node_case() == kWindowClause; } -inline bool Node::has_do_stmt() const { - return _internal_has_do_stmt(); +inline bool Node::_internal_has_window_clause() const { + return node_case() == kWindowClause; } -inline void Node::set_has_do_stmt() { - _impl_._oneof_case_[0] = kDoStmt; +inline void Node::set_has_window_clause() { + _impl_._oneof_case_[0] = kWindowClause; } -inline void Node::clear_do_stmt() { - if (_internal_has_do_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.do_stmt_; +inline void Node::clear_window_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWindowClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.window_clause_; } clear_has_node(); } } -inline ::pg_query::DoStmt* Node::release_do_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.do_stmt) - if (_internal_has_do_stmt()) { +inline ::pg_query::WindowClause* Node::release_window_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.window_clause) + if (node_case() == kWindowClause) { clear_has_node(); - ::pg_query::DoStmt* temp = _impl_.node_.do_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.window_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.do_stmt_ = nullptr; + _impl_.node_.window_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DoStmt& Node::_internal_do_stmt() const { - return _internal_has_do_stmt() - ? *_impl_.node_.do_stmt_ - : reinterpret_cast< ::pg_query::DoStmt&>(::pg_query::_DoStmt_default_instance_); +inline const ::pg_query::WindowClause& Node::_internal_window_clause() const { + return node_case() == kWindowClause ? *_impl_.node_.window_clause_ : reinterpret_cast<::pg_query::WindowClause&>(::pg_query::_WindowClause_default_instance_); } -inline const ::pg_query::DoStmt& Node::do_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.do_stmt) - return _internal_do_stmt(); +inline const ::pg_query::WindowClause& Node::window_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.window_clause) + return _internal_window_clause(); } -inline ::pg_query::DoStmt* Node::unsafe_arena_release_do_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.do_stmt) - if (_internal_has_do_stmt()) { +inline ::pg_query::WindowClause* Node::unsafe_arena_release_window_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_clause) + if (node_case() == kWindowClause) { clear_has_node(); - ::pg_query::DoStmt* temp = _impl_.node_.do_stmt_; - _impl_.node_.do_stmt_ = nullptr; + auto* temp = _impl_.node_.window_clause_; + _impl_.node_.window_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* do_stmt) { +inline void Node::unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (do_stmt) { - set_has_do_stmt(); - _impl_.node_.do_stmt_ = do_stmt; + if (value) { + set_has_window_clause(); + _impl_.node_.window_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.do_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_clause) } -inline ::pg_query::DoStmt* Node::_internal_mutable_do_stmt() { - if (!_internal_has_do_stmt()) { +inline ::pg_query::WindowClause* Node::_internal_mutable_window_clause() { + if (node_case() != kWindowClause) { clear_node(); - set_has_do_stmt(); - _impl_.node_.do_stmt_ = CreateMaybeMessage< ::pg_query::DoStmt >(GetArenaForAllocation()); + set_has_window_clause(); + _impl_.node_.window_clause_ = CreateMaybeMessage<::pg_query::WindowClause>(GetArena()); } - return _impl_.node_.do_stmt_; + return _impl_.node_.window_clause_; } -inline ::pg_query::DoStmt* Node::mutable_do_stmt() { - ::pg_query::DoStmt* _msg = _internal_mutable_do_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.do_stmt) +inline ::pg_query::WindowClause* Node::mutable_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowClause* _msg = _internal_mutable_window_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.window_clause) return _msg; } -// .pg_query.RenameStmt rename_stmt = 81 [json_name = "RenameStmt"]; -inline bool Node::_internal_has_rename_stmt() const { - return node_case() == kRenameStmt; +// .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"]; +inline bool Node::has_row_mark_clause() const { + return node_case() == kRowMarkClause; } -inline bool Node::has_rename_stmt() const { - return _internal_has_rename_stmt(); +inline bool Node::_internal_has_row_mark_clause() const { + return node_case() == kRowMarkClause; } -inline void Node::set_has_rename_stmt() { - _impl_._oneof_case_[0] = kRenameStmt; +inline void Node::set_has_row_mark_clause() { + _impl_._oneof_case_[0] = kRowMarkClause; } -inline void Node::clear_rename_stmt() { - if (_internal_has_rename_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.rename_stmt_; +inline void Node::clear_row_mark_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRowMarkClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.row_mark_clause_; } clear_has_node(); } } -inline ::pg_query::RenameStmt* Node::release_rename_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.rename_stmt) - if (_internal_has_rename_stmt()) { +inline ::pg_query::RowMarkClause* Node::release_row_mark_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.row_mark_clause) + if (node_case() == kRowMarkClause) { clear_has_node(); - ::pg_query::RenameStmt* temp = _impl_.node_.rename_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.row_mark_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.rename_stmt_ = nullptr; + _impl_.node_.row_mark_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RenameStmt& Node::_internal_rename_stmt() const { - return _internal_has_rename_stmt() - ? *_impl_.node_.rename_stmt_ - : reinterpret_cast< ::pg_query::RenameStmt&>(::pg_query::_RenameStmt_default_instance_); +inline const ::pg_query::RowMarkClause& Node::_internal_row_mark_clause() const { + return node_case() == kRowMarkClause ? *_impl_.node_.row_mark_clause_ : reinterpret_cast<::pg_query::RowMarkClause&>(::pg_query::_RowMarkClause_default_instance_); } -inline const ::pg_query::RenameStmt& Node::rename_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.rename_stmt) - return _internal_rename_stmt(); +inline const ::pg_query::RowMarkClause& Node::row_mark_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.row_mark_clause) + return _internal_row_mark_clause(); } -inline ::pg_query::RenameStmt* Node::unsafe_arena_release_rename_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rename_stmt) - if (_internal_has_rename_stmt()) { +inline ::pg_query::RowMarkClause* Node::unsafe_arena_release_row_mark_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_mark_clause) + if (node_case() == kRowMarkClause) { clear_has_node(); - ::pg_query::RenameStmt* temp = _impl_.node_.rename_stmt_; - _impl_.node_.rename_stmt_ = nullptr; + auto* temp = _impl_.node_.row_mark_clause_; + _impl_.node_.row_mark_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* rename_stmt) { +inline void Node::unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (rename_stmt) { - set_has_rename_stmt(); - _impl_.node_.rename_stmt_ = rename_stmt; + if (value) { + set_has_row_mark_clause(); + _impl_.node_.row_mark_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rename_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_mark_clause) } -inline ::pg_query::RenameStmt* Node::_internal_mutable_rename_stmt() { - if (!_internal_has_rename_stmt()) { +inline ::pg_query::RowMarkClause* Node::_internal_mutable_row_mark_clause() { + if (node_case() != kRowMarkClause) { clear_node(); - set_has_rename_stmt(); - _impl_.node_.rename_stmt_ = CreateMaybeMessage< ::pg_query::RenameStmt >(GetArenaForAllocation()); + set_has_row_mark_clause(); + _impl_.node_.row_mark_clause_ = CreateMaybeMessage<::pg_query::RowMarkClause>(GetArena()); } - return _impl_.node_.rename_stmt_; + return _impl_.node_.row_mark_clause_; } -inline ::pg_query::RenameStmt* Node::mutable_rename_stmt() { - ::pg_query::RenameStmt* _msg = _internal_mutable_rename_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.rename_stmt) +inline ::pg_query::RowMarkClause* Node::mutable_row_mark_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RowMarkClause* _msg = _internal_mutable_row_mark_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.row_mark_clause) return _msg; } -// .pg_query.RuleStmt rule_stmt = 82 [json_name = "RuleStmt"]; -inline bool Node::_internal_has_rule_stmt() const { - return node_case() == kRuleStmt; +// .pg_query.WithClause with_clause = 107 [json_name = "WithClause"]; +inline bool Node::has_with_clause() const { + return node_case() == kWithClause; } -inline bool Node::has_rule_stmt() const { - return _internal_has_rule_stmt(); +inline bool Node::_internal_has_with_clause() const { + return node_case() == kWithClause; } -inline void Node::set_has_rule_stmt() { - _impl_._oneof_case_[0] = kRuleStmt; +inline void Node::set_has_with_clause() { + _impl_._oneof_case_[0] = kWithClause; } -inline void Node::clear_rule_stmt() { - if (_internal_has_rule_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.rule_stmt_; +inline void Node::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kWithClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.with_clause_; } clear_has_node(); } } -inline ::pg_query::RuleStmt* Node::release_rule_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.rule_stmt) - if (_internal_has_rule_stmt()) { +inline ::pg_query::WithClause* Node::release_with_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.with_clause) + if (node_case() == kWithClause) { clear_has_node(); - ::pg_query::RuleStmt* temp = _impl_.node_.rule_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.with_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.rule_stmt_ = nullptr; + _impl_.node_.with_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RuleStmt& Node::_internal_rule_stmt() const { - return _internal_has_rule_stmt() - ? *_impl_.node_.rule_stmt_ - : reinterpret_cast< ::pg_query::RuleStmt&>(::pg_query::_RuleStmt_default_instance_); +inline const ::pg_query::WithClause& Node::_internal_with_clause() const { + return node_case() == kWithClause ? *_impl_.node_.with_clause_ : reinterpret_cast<::pg_query::WithClause&>(::pg_query::_WithClause_default_instance_); } -inline const ::pg_query::RuleStmt& Node::rule_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.rule_stmt) - return _internal_rule_stmt(); +inline const ::pg_query::WithClause& Node::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.with_clause) + return _internal_with_clause(); } -inline ::pg_query::RuleStmt* Node::unsafe_arena_release_rule_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rule_stmt) - if (_internal_has_rule_stmt()) { +inline ::pg_query::WithClause* Node::unsafe_arena_release_with_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_clause) + if (node_case() == kWithClause) { clear_has_node(); - ::pg_query::RuleStmt* temp = _impl_.node_.rule_stmt_; - _impl_.node_.rule_stmt_ = nullptr; + auto* temp = _impl_.node_.with_clause_; + _impl_.node_.with_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* rule_stmt) { +inline void Node::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (rule_stmt) { - set_has_rule_stmt(); - _impl_.node_.rule_stmt_ = rule_stmt; + if (value) { + set_has_with_clause(); + _impl_.node_.with_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rule_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_clause) } -inline ::pg_query::RuleStmt* Node::_internal_mutable_rule_stmt() { - if (!_internal_has_rule_stmt()) { +inline ::pg_query::WithClause* Node::_internal_mutable_with_clause() { + if (node_case() != kWithClause) { clear_node(); - set_has_rule_stmt(); - _impl_.node_.rule_stmt_ = CreateMaybeMessage< ::pg_query::RuleStmt >(GetArenaForAllocation()); + set_has_with_clause(); + _impl_.node_.with_clause_ = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); } - return _impl_.node_.rule_stmt_; + return _impl_.node_.with_clause_; } -inline ::pg_query::RuleStmt* Node::mutable_rule_stmt() { - ::pg_query::RuleStmt* _msg = _internal_mutable_rule_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.rule_stmt) +inline ::pg_query::WithClause* Node::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.with_clause) return _msg; } -// .pg_query.NotifyStmt notify_stmt = 83 [json_name = "NotifyStmt"]; -inline bool Node::_internal_has_notify_stmt() const { - return node_case() == kNotifyStmt; +// .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"]; +inline bool Node::has_infer_clause() const { + return node_case() == kInferClause; } -inline bool Node::has_notify_stmt() const { - return _internal_has_notify_stmt(); +inline bool Node::_internal_has_infer_clause() const { + return node_case() == kInferClause; } -inline void Node::set_has_notify_stmt() { - _impl_._oneof_case_[0] = kNotifyStmt; +inline void Node::set_has_infer_clause() { + _impl_._oneof_case_[0] = kInferClause; } -inline void Node::clear_notify_stmt() { - if (_internal_has_notify_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.notify_stmt_; +inline void Node::clear_infer_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInferClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.infer_clause_; } clear_has_node(); } } -inline ::pg_query::NotifyStmt* Node::release_notify_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.notify_stmt) - if (_internal_has_notify_stmt()) { +inline ::pg_query::InferClause* Node::release_infer_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.infer_clause) + if (node_case() == kInferClause) { clear_has_node(); - ::pg_query::NotifyStmt* temp = _impl_.node_.notify_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.infer_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.notify_stmt_ = nullptr; + _impl_.node_.infer_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::NotifyStmt& Node::_internal_notify_stmt() const { - return _internal_has_notify_stmt() - ? *_impl_.node_.notify_stmt_ - : reinterpret_cast< ::pg_query::NotifyStmt&>(::pg_query::_NotifyStmt_default_instance_); +inline const ::pg_query::InferClause& Node::_internal_infer_clause() const { + return node_case() == kInferClause ? *_impl_.node_.infer_clause_ : reinterpret_cast<::pg_query::InferClause&>(::pg_query::_InferClause_default_instance_); } -inline const ::pg_query::NotifyStmt& Node::notify_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.notify_stmt) - return _internal_notify_stmt(); +inline const ::pg_query::InferClause& Node::infer_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.infer_clause) + return _internal_infer_clause(); } -inline ::pg_query::NotifyStmt* Node::unsafe_arena_release_notify_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.notify_stmt) - if (_internal_has_notify_stmt()) { +inline ::pg_query::InferClause* Node::unsafe_arena_release_infer_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.infer_clause) + if (node_case() == kInferClause) { clear_has_node(); - ::pg_query::NotifyStmt* temp = _impl_.node_.notify_stmt_; - _impl_.node_.notify_stmt_ = nullptr; + auto* temp = _impl_.node_.infer_clause_; + _impl_.node_.infer_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* notify_stmt) { +inline void Node::unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (notify_stmt) { - set_has_notify_stmt(); - _impl_.node_.notify_stmt_ = notify_stmt; + if (value) { + set_has_infer_clause(); + _impl_.node_.infer_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.notify_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.infer_clause) } -inline ::pg_query::NotifyStmt* Node::_internal_mutable_notify_stmt() { - if (!_internal_has_notify_stmt()) { +inline ::pg_query::InferClause* Node::_internal_mutable_infer_clause() { + if (node_case() != kInferClause) { clear_node(); - set_has_notify_stmt(); - _impl_.node_.notify_stmt_ = CreateMaybeMessage< ::pg_query::NotifyStmt >(GetArenaForAllocation()); + set_has_infer_clause(); + _impl_.node_.infer_clause_ = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); } - return _impl_.node_.notify_stmt_; + return _impl_.node_.infer_clause_; } -inline ::pg_query::NotifyStmt* Node::mutable_notify_stmt() { - ::pg_query::NotifyStmt* _msg = _internal_mutable_notify_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.notify_stmt) +inline ::pg_query::InferClause* Node::mutable_infer_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferClause* _msg = _internal_mutable_infer_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.infer_clause) return _msg; } -// .pg_query.ListenStmt listen_stmt = 84 [json_name = "ListenStmt"]; -inline bool Node::_internal_has_listen_stmt() const { - return node_case() == kListenStmt; +// .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"]; +inline bool Node::has_on_conflict_clause() const { + return node_case() == kOnConflictClause; } -inline bool Node::has_listen_stmt() const { - return _internal_has_listen_stmt(); +inline bool Node::_internal_has_on_conflict_clause() const { + return node_case() == kOnConflictClause; } -inline void Node::set_has_listen_stmt() { - _impl_._oneof_case_[0] = kListenStmt; +inline void Node::set_has_on_conflict_clause() { + _impl_._oneof_case_[0] = kOnConflictClause; } -inline void Node::clear_listen_stmt() { - if (_internal_has_listen_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.listen_stmt_; +inline void Node::clear_on_conflict_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOnConflictClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.on_conflict_clause_; } clear_has_node(); } } -inline ::pg_query::ListenStmt* Node::release_listen_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.listen_stmt) - if (_internal_has_listen_stmt()) { +inline ::pg_query::OnConflictClause* Node::release_on_conflict_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_clause) + if (node_case() == kOnConflictClause) { clear_has_node(); - ::pg_query::ListenStmt* temp = _impl_.node_.listen_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.on_conflict_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.listen_stmt_ = nullptr; + _impl_.node_.on_conflict_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ListenStmt& Node::_internal_listen_stmt() const { - return _internal_has_listen_stmt() - ? *_impl_.node_.listen_stmt_ - : reinterpret_cast< ::pg_query::ListenStmt&>(::pg_query::_ListenStmt_default_instance_); +inline const ::pg_query::OnConflictClause& Node::_internal_on_conflict_clause() const { + return node_case() == kOnConflictClause ? *_impl_.node_.on_conflict_clause_ : reinterpret_cast<::pg_query::OnConflictClause&>(::pg_query::_OnConflictClause_default_instance_); } -inline const ::pg_query::ListenStmt& Node::listen_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.listen_stmt) - return _internal_listen_stmt(); +inline const ::pg_query::OnConflictClause& Node::on_conflict_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_clause) + return _internal_on_conflict_clause(); } -inline ::pg_query::ListenStmt* Node::unsafe_arena_release_listen_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.listen_stmt) - if (_internal_has_listen_stmt()) { +inline ::pg_query::OnConflictClause* Node::unsafe_arena_release_on_conflict_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_clause) + if (node_case() == kOnConflictClause) { clear_has_node(); - ::pg_query::ListenStmt* temp = _impl_.node_.listen_stmt_; - _impl_.node_.listen_stmt_ = nullptr; + auto* temp = _impl_.node_.on_conflict_clause_; + _impl_.node_.on_conflict_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* listen_stmt) { +inline void Node::unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (listen_stmt) { - set_has_listen_stmt(); - _impl_.node_.listen_stmt_ = listen_stmt; + if (value) { + set_has_on_conflict_clause(); + _impl_.node_.on_conflict_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.listen_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_clause) } -inline ::pg_query::ListenStmt* Node::_internal_mutable_listen_stmt() { - if (!_internal_has_listen_stmt()) { +inline ::pg_query::OnConflictClause* Node::_internal_mutable_on_conflict_clause() { + if (node_case() != kOnConflictClause) { clear_node(); - set_has_listen_stmt(); - _impl_.node_.listen_stmt_ = CreateMaybeMessage< ::pg_query::ListenStmt >(GetArenaForAllocation()); + set_has_on_conflict_clause(); + _impl_.node_.on_conflict_clause_ = CreateMaybeMessage<::pg_query::OnConflictClause>(GetArena()); } - return _impl_.node_.listen_stmt_; + return _impl_.node_.on_conflict_clause_; } -inline ::pg_query::ListenStmt* Node::mutable_listen_stmt() { - ::pg_query::ListenStmt* _msg = _internal_mutable_listen_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.listen_stmt) +inline ::pg_query::OnConflictClause* Node::mutable_on_conflict_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_clause) return _msg; } -// .pg_query.UnlistenStmt unlisten_stmt = 85 [json_name = "UnlistenStmt"]; -inline bool Node::_internal_has_unlisten_stmt() const { - return node_case() == kUnlistenStmt; +// .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"]; +inline bool Node::has_ctesearch_clause() const { + return node_case() == kCtesearchClause; } -inline bool Node::has_unlisten_stmt() const { - return _internal_has_unlisten_stmt(); +inline bool Node::_internal_has_ctesearch_clause() const { + return node_case() == kCtesearchClause; } -inline void Node::set_has_unlisten_stmt() { - _impl_._oneof_case_[0] = kUnlistenStmt; +inline void Node::set_has_ctesearch_clause() { + _impl_._oneof_case_[0] = kCtesearchClause; } -inline void Node::clear_unlisten_stmt() { - if (_internal_has_unlisten_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.unlisten_stmt_; +inline void Node::clear_ctesearch_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCtesearchClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.ctesearch_clause_; } clear_has_node(); } } -inline ::pg_query::UnlistenStmt* Node::release_unlisten_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.unlisten_stmt) - if (_internal_has_unlisten_stmt()) { +inline ::pg_query::CTESearchClause* Node::release_ctesearch_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.ctesearch_clause) + if (node_case() == kCtesearchClause) { clear_has_node(); - ::pg_query::UnlistenStmt* temp = _impl_.node_.unlisten_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.ctesearch_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.unlisten_stmt_ = nullptr; + _impl_.node_.ctesearch_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::UnlistenStmt& Node::_internal_unlisten_stmt() const { - return _internal_has_unlisten_stmt() - ? *_impl_.node_.unlisten_stmt_ - : reinterpret_cast< ::pg_query::UnlistenStmt&>(::pg_query::_UnlistenStmt_default_instance_); +inline const ::pg_query::CTESearchClause& Node::_internal_ctesearch_clause() const { + return node_case() == kCtesearchClause ? *_impl_.node_.ctesearch_clause_ : reinterpret_cast<::pg_query::CTESearchClause&>(::pg_query::_CTESearchClause_default_instance_); } -inline const ::pg_query::UnlistenStmt& Node::unlisten_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.unlisten_stmt) - return _internal_unlisten_stmt(); +inline const ::pg_query::CTESearchClause& Node::ctesearch_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.ctesearch_clause) + return _internal_ctesearch_clause(); } -inline ::pg_query::UnlistenStmt* Node::unsafe_arena_release_unlisten_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.unlisten_stmt) - if (_internal_has_unlisten_stmt()) { +inline ::pg_query::CTESearchClause* Node::unsafe_arena_release_ctesearch_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctesearch_clause) + if (node_case() == kCtesearchClause) { clear_has_node(); - ::pg_query::UnlistenStmt* temp = _impl_.node_.unlisten_stmt_; - _impl_.node_.unlisten_stmt_ = nullptr; + auto* temp = _impl_.node_.ctesearch_clause_; + _impl_.node_.ctesearch_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* unlisten_stmt) { +inline void Node::unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (unlisten_stmt) { - set_has_unlisten_stmt(); - _impl_.node_.unlisten_stmt_ = unlisten_stmt; + if (value) { + set_has_ctesearch_clause(); + _impl_.node_.ctesearch_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.unlisten_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctesearch_clause) } -inline ::pg_query::UnlistenStmt* Node::_internal_mutable_unlisten_stmt() { - if (!_internal_has_unlisten_stmt()) { +inline ::pg_query::CTESearchClause* Node::_internal_mutable_ctesearch_clause() { + if (node_case() != kCtesearchClause) { clear_node(); - set_has_unlisten_stmt(); - _impl_.node_.unlisten_stmt_ = CreateMaybeMessage< ::pg_query::UnlistenStmt >(GetArenaForAllocation()); + set_has_ctesearch_clause(); + _impl_.node_.ctesearch_clause_ = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); } - return _impl_.node_.unlisten_stmt_; + return _impl_.node_.ctesearch_clause_; } -inline ::pg_query::UnlistenStmt* Node::mutable_unlisten_stmt() { - ::pg_query::UnlistenStmt* _msg = _internal_mutable_unlisten_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.unlisten_stmt) +inline ::pg_query::CTESearchClause* Node::mutable_ctesearch_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTESearchClause* _msg = _internal_mutable_ctesearch_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.ctesearch_clause) return _msg; } -// .pg_query.TransactionStmt transaction_stmt = 86 [json_name = "TransactionStmt"]; -inline bool Node::_internal_has_transaction_stmt() const { - return node_case() == kTransactionStmt; +// .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"]; +inline bool Node::has_ctecycle_clause() const { + return node_case() == kCtecycleClause; } -inline bool Node::has_transaction_stmt() const { - return _internal_has_transaction_stmt(); +inline bool Node::_internal_has_ctecycle_clause() const { + return node_case() == kCtecycleClause; } -inline void Node::set_has_transaction_stmt() { - _impl_._oneof_case_[0] = kTransactionStmt; +inline void Node::set_has_ctecycle_clause() { + _impl_._oneof_case_[0] = kCtecycleClause; } -inline void Node::clear_transaction_stmt() { - if (_internal_has_transaction_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.transaction_stmt_; +inline void Node::clear_ctecycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCtecycleClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.ctecycle_clause_; } clear_has_node(); } } -inline ::pg_query::TransactionStmt* Node::release_transaction_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.transaction_stmt) - if (_internal_has_transaction_stmt()) { +inline ::pg_query::CTECycleClause* Node::release_ctecycle_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.ctecycle_clause) + if (node_case() == kCtecycleClause) { clear_has_node(); - ::pg_query::TransactionStmt* temp = _impl_.node_.transaction_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.ctecycle_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.transaction_stmt_ = nullptr; + _impl_.node_.ctecycle_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TransactionStmt& Node::_internal_transaction_stmt() const { - return _internal_has_transaction_stmt() - ? *_impl_.node_.transaction_stmt_ - : reinterpret_cast< ::pg_query::TransactionStmt&>(::pg_query::_TransactionStmt_default_instance_); +inline const ::pg_query::CTECycleClause& Node::_internal_ctecycle_clause() const { + return node_case() == kCtecycleClause ? *_impl_.node_.ctecycle_clause_ : reinterpret_cast<::pg_query::CTECycleClause&>(::pg_query::_CTECycleClause_default_instance_); } -inline const ::pg_query::TransactionStmt& Node::transaction_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.transaction_stmt) - return _internal_transaction_stmt(); +inline const ::pg_query::CTECycleClause& Node::ctecycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.ctecycle_clause) + return _internal_ctecycle_clause(); } -inline ::pg_query::TransactionStmt* Node::unsafe_arena_release_transaction_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.transaction_stmt) - if (_internal_has_transaction_stmt()) { +inline ::pg_query::CTECycleClause* Node::unsafe_arena_release_ctecycle_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctecycle_clause) + if (node_case() == kCtecycleClause) { clear_has_node(); - ::pg_query::TransactionStmt* temp = _impl_.node_.transaction_stmt_; - _impl_.node_.transaction_stmt_ = nullptr; + auto* temp = _impl_.node_.ctecycle_clause_; + _impl_.node_.ctecycle_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* transaction_stmt) { +inline void Node::unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (transaction_stmt) { - set_has_transaction_stmt(); - _impl_.node_.transaction_stmt_ = transaction_stmt; + if (value) { + set_has_ctecycle_clause(); + _impl_.node_.ctecycle_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.transaction_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctecycle_clause) } -inline ::pg_query::TransactionStmt* Node::_internal_mutable_transaction_stmt() { - if (!_internal_has_transaction_stmt()) { +inline ::pg_query::CTECycleClause* Node::_internal_mutable_ctecycle_clause() { + if (node_case() != kCtecycleClause) { clear_node(); - set_has_transaction_stmt(); - _impl_.node_.transaction_stmt_ = CreateMaybeMessage< ::pg_query::TransactionStmt >(GetArenaForAllocation()); + set_has_ctecycle_clause(); + _impl_.node_.ctecycle_clause_ = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); } - return _impl_.node_.transaction_stmt_; + return _impl_.node_.ctecycle_clause_; } -inline ::pg_query::TransactionStmt* Node::mutable_transaction_stmt() { - ::pg_query::TransactionStmt* _msg = _internal_mutable_transaction_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.transaction_stmt) +inline ::pg_query::CTECycleClause* Node::mutable_ctecycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTECycleClause* _msg = _internal_mutable_ctecycle_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.ctecycle_clause) return _msg; } -// .pg_query.ViewStmt view_stmt = 87 [json_name = "ViewStmt"]; -inline bool Node::_internal_has_view_stmt() const { - return node_case() == kViewStmt; +// .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"]; +inline bool Node::has_common_table_expr() const { + return node_case() == kCommonTableExpr; } -inline bool Node::has_view_stmt() const { - return _internal_has_view_stmt(); +inline bool Node::_internal_has_common_table_expr() const { + return node_case() == kCommonTableExpr; } -inline void Node::set_has_view_stmt() { - _impl_._oneof_case_[0] = kViewStmt; +inline void Node::set_has_common_table_expr() { + _impl_._oneof_case_[0] = kCommonTableExpr; } -inline void Node::clear_view_stmt() { - if (_internal_has_view_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.view_stmt_; +inline void Node::clear_common_table_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCommonTableExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.common_table_expr_; } clear_has_node(); } } -inline ::pg_query::ViewStmt* Node::release_view_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.view_stmt) - if (_internal_has_view_stmt()) { +inline ::pg_query::CommonTableExpr* Node::release_common_table_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.common_table_expr) + if (node_case() == kCommonTableExpr) { clear_has_node(); - ::pg_query::ViewStmt* temp = _impl_.node_.view_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.common_table_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.view_stmt_ = nullptr; + _impl_.node_.common_table_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ViewStmt& Node::_internal_view_stmt() const { - return _internal_has_view_stmt() - ? *_impl_.node_.view_stmt_ - : reinterpret_cast< ::pg_query::ViewStmt&>(::pg_query::_ViewStmt_default_instance_); +inline const ::pg_query::CommonTableExpr& Node::_internal_common_table_expr() const { + return node_case() == kCommonTableExpr ? *_impl_.node_.common_table_expr_ : reinterpret_cast<::pg_query::CommonTableExpr&>(::pg_query::_CommonTableExpr_default_instance_); } -inline const ::pg_query::ViewStmt& Node::view_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.view_stmt) - return _internal_view_stmt(); +inline const ::pg_query::CommonTableExpr& Node::common_table_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.common_table_expr) + return _internal_common_table_expr(); } -inline ::pg_query::ViewStmt* Node::unsafe_arena_release_view_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.view_stmt) - if (_internal_has_view_stmt()) { +inline ::pg_query::CommonTableExpr* Node::unsafe_arena_release_common_table_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.common_table_expr) + if (node_case() == kCommonTableExpr) { clear_has_node(); - ::pg_query::ViewStmt* temp = _impl_.node_.view_stmt_; - _impl_.node_.view_stmt_ = nullptr; + auto* temp = _impl_.node_.common_table_expr_; + _impl_.node_.common_table_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* view_stmt) { +inline void Node::unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (view_stmt) { - set_has_view_stmt(); - _impl_.node_.view_stmt_ = view_stmt; + if (value) { + set_has_common_table_expr(); + _impl_.node_.common_table_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.view_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.common_table_expr) } -inline ::pg_query::ViewStmt* Node::_internal_mutable_view_stmt() { - if (!_internal_has_view_stmt()) { +inline ::pg_query::CommonTableExpr* Node::_internal_mutable_common_table_expr() { + if (node_case() != kCommonTableExpr) { clear_node(); - set_has_view_stmt(); - _impl_.node_.view_stmt_ = CreateMaybeMessage< ::pg_query::ViewStmt >(GetArenaForAllocation()); + set_has_common_table_expr(); + _impl_.node_.common_table_expr_ = CreateMaybeMessage<::pg_query::CommonTableExpr>(GetArena()); } - return _impl_.node_.view_stmt_; + return _impl_.node_.common_table_expr_; } -inline ::pg_query::ViewStmt* Node::mutable_view_stmt() { - ::pg_query::ViewStmt* _msg = _internal_mutable_view_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.view_stmt) +inline ::pg_query::CommonTableExpr* Node::mutable_common_table_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CommonTableExpr* _msg = _internal_mutable_common_table_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.common_table_expr) return _msg; } -// .pg_query.LoadStmt load_stmt = 88 [json_name = "LoadStmt"]; -inline bool Node::_internal_has_load_stmt() const { - return node_case() == kLoadStmt; +// .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"]; +inline bool Node::has_merge_when_clause() const { + return node_case() == kMergeWhenClause; } -inline bool Node::has_load_stmt() const { - return _internal_has_load_stmt(); +inline bool Node::_internal_has_merge_when_clause() const { + return node_case() == kMergeWhenClause; } -inline void Node::set_has_load_stmt() { - _impl_._oneof_case_[0] = kLoadStmt; +inline void Node::set_has_merge_when_clause() { + _impl_._oneof_case_[0] = kMergeWhenClause; } -inline void Node::clear_load_stmt() { - if (_internal_has_load_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.load_stmt_; +inline void Node::clear_merge_when_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeWhenClause) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_when_clause_; } clear_has_node(); } } -inline ::pg_query::LoadStmt* Node::release_load_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.load_stmt) - if (_internal_has_load_stmt()) { +inline ::pg_query::MergeWhenClause* Node::release_merge_when_clause() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_when_clause) + if (node_case() == kMergeWhenClause) { clear_has_node(); - ::pg_query::LoadStmt* temp = _impl_.node_.load_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.merge_when_clause_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.load_stmt_ = nullptr; + _impl_.node_.merge_when_clause_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::LoadStmt& Node::_internal_load_stmt() const { - return _internal_has_load_stmt() - ? *_impl_.node_.load_stmt_ - : reinterpret_cast< ::pg_query::LoadStmt&>(::pg_query::_LoadStmt_default_instance_); +inline const ::pg_query::MergeWhenClause& Node::_internal_merge_when_clause() const { + return node_case() == kMergeWhenClause ? *_impl_.node_.merge_when_clause_ : reinterpret_cast<::pg_query::MergeWhenClause&>(::pg_query::_MergeWhenClause_default_instance_); } -inline const ::pg_query::LoadStmt& Node::load_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.load_stmt) - return _internal_load_stmt(); +inline const ::pg_query::MergeWhenClause& Node::merge_when_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_when_clause) + return _internal_merge_when_clause(); } -inline ::pg_query::LoadStmt* Node::unsafe_arena_release_load_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.load_stmt) - if (_internal_has_load_stmt()) { +inline ::pg_query::MergeWhenClause* Node::unsafe_arena_release_merge_when_clause() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_when_clause) + if (node_case() == kMergeWhenClause) { clear_has_node(); - ::pg_query::LoadStmt* temp = _impl_.node_.load_stmt_; - _impl_.node_.load_stmt_ = nullptr; + auto* temp = _impl_.node_.merge_when_clause_; + _impl_.node_.merge_when_clause_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* load_stmt) { +inline void Node::unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (load_stmt) { - set_has_load_stmt(); - _impl_.node_.load_stmt_ = load_stmt; + if (value) { + set_has_merge_when_clause(); + _impl_.node_.merge_when_clause_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.load_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_when_clause) } -inline ::pg_query::LoadStmt* Node::_internal_mutable_load_stmt() { - if (!_internal_has_load_stmt()) { +inline ::pg_query::MergeWhenClause* Node::_internal_mutable_merge_when_clause() { + if (node_case() != kMergeWhenClause) { clear_node(); - set_has_load_stmt(); - _impl_.node_.load_stmt_ = CreateMaybeMessage< ::pg_query::LoadStmt >(GetArenaForAllocation()); + set_has_merge_when_clause(); + _impl_.node_.merge_when_clause_ = CreateMaybeMessage<::pg_query::MergeWhenClause>(GetArena()); } - return _impl_.node_.load_stmt_; + return _impl_.node_.merge_when_clause_; } -inline ::pg_query::LoadStmt* Node::mutable_load_stmt() { - ::pg_query::LoadStmt* _msg = _internal_mutable_load_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.load_stmt) +inline ::pg_query::MergeWhenClause* Node::mutable_merge_when_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeWhenClause* _msg = _internal_mutable_merge_when_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_when_clause) return _msg; } -// .pg_query.CreateDomainStmt create_domain_stmt = 89 [json_name = "CreateDomainStmt"]; -inline bool Node::_internal_has_create_domain_stmt() const { - return node_case() == kCreateDomainStmt; +// .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"]; +inline bool Node::has_trigger_transition() const { + return node_case() == kTriggerTransition; } -inline bool Node::has_create_domain_stmt() const { - return _internal_has_create_domain_stmt(); +inline bool Node::_internal_has_trigger_transition() const { + return node_case() == kTriggerTransition; } -inline void Node::set_has_create_domain_stmt() { - _impl_._oneof_case_[0] = kCreateDomainStmt; +inline void Node::set_has_trigger_transition() { + _impl_._oneof_case_[0] = kTriggerTransition; } -inline void Node::clear_create_domain_stmt() { - if (_internal_has_create_domain_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_domain_stmt_; +inline void Node::clear_trigger_transition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTriggerTransition) { + if (GetArena() == nullptr) { + delete _impl_.node_.trigger_transition_; } clear_has_node(); } } -inline ::pg_query::CreateDomainStmt* Node::release_create_domain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_domain_stmt) - if (_internal_has_create_domain_stmt()) { +inline ::pg_query::TriggerTransition* Node::release_trigger_transition() { + // @@protoc_insertion_point(field_release:pg_query.Node.trigger_transition) + if (node_case() == kTriggerTransition) { clear_has_node(); - ::pg_query::CreateDomainStmt* temp = _impl_.node_.create_domain_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.trigger_transition_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_domain_stmt_ = nullptr; + _impl_.node_.trigger_transition_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateDomainStmt& Node::_internal_create_domain_stmt() const { - return _internal_has_create_domain_stmt() - ? *_impl_.node_.create_domain_stmt_ - : reinterpret_cast< ::pg_query::CreateDomainStmt&>(::pg_query::_CreateDomainStmt_default_instance_); +inline const ::pg_query::TriggerTransition& Node::_internal_trigger_transition() const { + return node_case() == kTriggerTransition ? *_impl_.node_.trigger_transition_ : reinterpret_cast<::pg_query::TriggerTransition&>(::pg_query::_TriggerTransition_default_instance_); } -inline const ::pg_query::CreateDomainStmt& Node::create_domain_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_domain_stmt) - return _internal_create_domain_stmt(); +inline const ::pg_query::TriggerTransition& Node::trigger_transition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.trigger_transition) + return _internal_trigger_transition(); } -inline ::pg_query::CreateDomainStmt* Node::unsafe_arena_release_create_domain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_domain_stmt) - if (_internal_has_create_domain_stmt()) { +inline ::pg_query::TriggerTransition* Node::unsafe_arena_release_trigger_transition() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.trigger_transition) + if (node_case() == kTriggerTransition) { clear_has_node(); - ::pg_query::CreateDomainStmt* temp = _impl_.node_.create_domain_stmt_; - _impl_.node_.create_domain_stmt_ = nullptr; + auto* temp = _impl_.node_.trigger_transition_; + _impl_.node_.trigger_transition_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* create_domain_stmt) { +inline void Node::unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_domain_stmt) { - set_has_create_domain_stmt(); - _impl_.node_.create_domain_stmt_ = create_domain_stmt; + if (value) { + set_has_trigger_transition(); + _impl_.node_.trigger_transition_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_domain_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.trigger_transition) } -inline ::pg_query::CreateDomainStmt* Node::_internal_mutable_create_domain_stmt() { - if (!_internal_has_create_domain_stmt()) { +inline ::pg_query::TriggerTransition* Node::_internal_mutable_trigger_transition() { + if (node_case() != kTriggerTransition) { clear_node(); - set_has_create_domain_stmt(); - _impl_.node_.create_domain_stmt_ = CreateMaybeMessage< ::pg_query::CreateDomainStmt >(GetArenaForAllocation()); + set_has_trigger_transition(); + _impl_.node_.trigger_transition_ = CreateMaybeMessage<::pg_query::TriggerTransition>(GetArena()); } - return _impl_.node_.create_domain_stmt_; + return _impl_.node_.trigger_transition_; } -inline ::pg_query::CreateDomainStmt* Node::mutable_create_domain_stmt() { - ::pg_query::CreateDomainStmt* _msg = _internal_mutable_create_domain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_domain_stmt) +inline ::pg_query::TriggerTransition* Node::mutable_trigger_transition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TriggerTransition* _msg = _internal_mutable_trigger_transition(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.trigger_transition) return _msg; } -// .pg_query.CreatedbStmt createdb_stmt = 90 [json_name = "CreatedbStmt"]; -inline bool Node::_internal_has_createdb_stmt() const { - return node_case() == kCreatedbStmt; +// .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"]; +inline bool Node::has_json_output() const { + return node_case() == kJsonOutput; } -inline bool Node::has_createdb_stmt() const { - return _internal_has_createdb_stmt(); +inline bool Node::_internal_has_json_output() const { + return node_case() == kJsonOutput; } -inline void Node::set_has_createdb_stmt() { - _impl_._oneof_case_[0] = kCreatedbStmt; +inline void Node::set_has_json_output() { + _impl_._oneof_case_[0] = kJsonOutput; } -inline void Node::clear_createdb_stmt() { - if (_internal_has_createdb_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.createdb_stmt_; +inline void Node::clear_json_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonOutput) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_output_; } clear_has_node(); } } -inline ::pg_query::CreatedbStmt* Node::release_createdb_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.createdb_stmt) - if (_internal_has_createdb_stmt()) { +inline ::pg_query::JsonOutput* Node::release_json_output() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_output) + if (node_case() == kJsonOutput) { clear_has_node(); - ::pg_query::CreatedbStmt* temp = _impl_.node_.createdb_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_output_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.createdb_stmt_ = nullptr; + _impl_.node_.json_output_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatedbStmt& Node::_internal_createdb_stmt() const { - return _internal_has_createdb_stmt() - ? *_impl_.node_.createdb_stmt_ - : reinterpret_cast< ::pg_query::CreatedbStmt&>(::pg_query::_CreatedbStmt_default_instance_); +inline const ::pg_query::JsonOutput& Node::_internal_json_output() const { + return node_case() == kJsonOutput ? *_impl_.node_.json_output_ : reinterpret_cast<::pg_query::JsonOutput&>(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::CreatedbStmt& Node::createdb_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.createdb_stmt) - return _internal_createdb_stmt(); +inline const ::pg_query::JsonOutput& Node::json_output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_output) + return _internal_json_output(); } -inline ::pg_query::CreatedbStmt* Node::unsafe_arena_release_createdb_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.createdb_stmt) - if (_internal_has_createdb_stmt()) { +inline ::pg_query::JsonOutput* Node::unsafe_arena_release_json_output() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_output) + if (node_case() == kJsonOutput) { clear_has_node(); - ::pg_query::CreatedbStmt* temp = _impl_.node_.createdb_stmt_; - _impl_.node_.createdb_stmt_ = nullptr; + auto* temp = _impl_.node_.json_output_; + _impl_.node_.json_output_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* createdb_stmt) { +inline void Node::unsafe_arena_set_allocated_json_output(::pg_query::JsonOutput* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (createdb_stmt) { - set_has_createdb_stmt(); - _impl_.node_.createdb_stmt_ = createdb_stmt; + if (value) { + set_has_json_output(); + _impl_.node_.json_output_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.createdb_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_output) } -inline ::pg_query::CreatedbStmt* Node::_internal_mutable_createdb_stmt() { - if (!_internal_has_createdb_stmt()) { +inline ::pg_query::JsonOutput* Node::_internal_mutable_json_output() { + if (node_case() != kJsonOutput) { clear_node(); - set_has_createdb_stmt(); - _impl_.node_.createdb_stmt_ = CreateMaybeMessage< ::pg_query::CreatedbStmt >(GetArenaForAllocation()); + set_has_json_output(); + _impl_.node_.json_output_ = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); } - return _impl_.node_.createdb_stmt_; + return _impl_.node_.json_output_; } -inline ::pg_query::CreatedbStmt* Node::mutable_createdb_stmt() { - ::pg_query::CreatedbStmt* _msg = _internal_mutable_createdb_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.createdb_stmt) +inline ::pg_query::JsonOutput* Node::mutable_json_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_json_output(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_output) return _msg; } -// .pg_query.DropdbStmt dropdb_stmt = 91 [json_name = "DropdbStmt"]; -inline bool Node::_internal_has_dropdb_stmt() const { - return node_case() == kDropdbStmt; +// .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"]; +inline bool Node::has_json_argument() const { + return node_case() == kJsonArgument; } -inline bool Node::has_dropdb_stmt() const { - return _internal_has_dropdb_stmt(); +inline bool Node::_internal_has_json_argument() const { + return node_case() == kJsonArgument; } -inline void Node::set_has_dropdb_stmt() { - _impl_._oneof_case_[0] = kDropdbStmt; +inline void Node::set_has_json_argument() { + _impl_._oneof_case_[0] = kJsonArgument; } -inline void Node::clear_dropdb_stmt() { - if (_internal_has_dropdb_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.dropdb_stmt_; +inline void Node::clear_json_argument() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonArgument) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_argument_; } clear_has_node(); } } -inline ::pg_query::DropdbStmt* Node::release_dropdb_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.dropdb_stmt) - if (_internal_has_dropdb_stmt()) { +inline ::pg_query::JsonArgument* Node::release_json_argument() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_argument) + if (node_case() == kJsonArgument) { clear_has_node(); - ::pg_query::DropdbStmt* temp = _impl_.node_.dropdb_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_argument_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.dropdb_stmt_ = nullptr; + _impl_.node_.json_argument_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropdbStmt& Node::_internal_dropdb_stmt() const { - return _internal_has_dropdb_stmt() - ? *_impl_.node_.dropdb_stmt_ - : reinterpret_cast< ::pg_query::DropdbStmt&>(::pg_query::_DropdbStmt_default_instance_); +inline const ::pg_query::JsonArgument& Node::_internal_json_argument() const { + return node_case() == kJsonArgument ? *_impl_.node_.json_argument_ : reinterpret_cast<::pg_query::JsonArgument&>(::pg_query::_JsonArgument_default_instance_); } -inline const ::pg_query::DropdbStmt& Node::dropdb_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.dropdb_stmt) - return _internal_dropdb_stmt(); +inline const ::pg_query::JsonArgument& Node::json_argument() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_argument) + return _internal_json_argument(); } -inline ::pg_query::DropdbStmt* Node::unsafe_arena_release_dropdb_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.dropdb_stmt) - if (_internal_has_dropdb_stmt()) { +inline ::pg_query::JsonArgument* Node::unsafe_arena_release_json_argument() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_argument) + if (node_case() == kJsonArgument) { clear_has_node(); - ::pg_query::DropdbStmt* temp = _impl_.node_.dropdb_stmt_; - _impl_.node_.dropdb_stmt_ = nullptr; + auto* temp = _impl_.node_.json_argument_; + _impl_.node_.json_argument_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* dropdb_stmt) { +inline void Node::unsafe_arena_set_allocated_json_argument(::pg_query::JsonArgument* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (dropdb_stmt) { - set_has_dropdb_stmt(); - _impl_.node_.dropdb_stmt_ = dropdb_stmt; + if (value) { + set_has_json_argument(); + _impl_.node_.json_argument_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.dropdb_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_argument) } -inline ::pg_query::DropdbStmt* Node::_internal_mutable_dropdb_stmt() { - if (!_internal_has_dropdb_stmt()) { +inline ::pg_query::JsonArgument* Node::_internal_mutable_json_argument() { + if (node_case() != kJsonArgument) { clear_node(); - set_has_dropdb_stmt(); - _impl_.node_.dropdb_stmt_ = CreateMaybeMessage< ::pg_query::DropdbStmt >(GetArenaForAllocation()); + set_has_json_argument(); + _impl_.node_.json_argument_ = CreateMaybeMessage<::pg_query::JsonArgument>(GetArena()); } - return _impl_.node_.dropdb_stmt_; + return _impl_.node_.json_argument_; } -inline ::pg_query::DropdbStmt* Node::mutable_dropdb_stmt() { - ::pg_query::DropdbStmt* _msg = _internal_mutable_dropdb_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.dropdb_stmt) +inline ::pg_query::JsonArgument* Node::mutable_json_argument() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArgument* _msg = _internal_mutable_json_argument(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_argument) return _msg; } -// .pg_query.VacuumStmt vacuum_stmt = 92 [json_name = "VacuumStmt"]; -inline bool Node::_internal_has_vacuum_stmt() const { - return node_case() == kVacuumStmt; +// .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"]; +inline bool Node::has_json_func_expr() const { + return node_case() == kJsonFuncExpr; } -inline bool Node::has_vacuum_stmt() const { - return _internal_has_vacuum_stmt(); +inline bool Node::_internal_has_json_func_expr() const { + return node_case() == kJsonFuncExpr; } -inline void Node::set_has_vacuum_stmt() { - _impl_._oneof_case_[0] = kVacuumStmt; +inline void Node::set_has_json_func_expr() { + _impl_._oneof_case_[0] = kJsonFuncExpr; } -inline void Node::clear_vacuum_stmt() { - if (_internal_has_vacuum_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.vacuum_stmt_; +inline void Node::clear_json_func_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonFuncExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_func_expr_; } clear_has_node(); } } -inline ::pg_query::VacuumStmt* Node::release_vacuum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_stmt) - if (_internal_has_vacuum_stmt()) { +inline ::pg_query::JsonFuncExpr* Node::release_json_func_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_func_expr) + if (node_case() == kJsonFuncExpr) { clear_has_node(); - ::pg_query::VacuumStmt* temp = _impl_.node_.vacuum_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_func_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.vacuum_stmt_ = nullptr; + _impl_.node_.json_func_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VacuumStmt& Node::_internal_vacuum_stmt() const { - return _internal_has_vacuum_stmt() - ? *_impl_.node_.vacuum_stmt_ - : reinterpret_cast< ::pg_query::VacuumStmt&>(::pg_query::_VacuumStmt_default_instance_); +inline const ::pg_query::JsonFuncExpr& Node::_internal_json_func_expr() const { + return node_case() == kJsonFuncExpr ? *_impl_.node_.json_func_expr_ : reinterpret_cast<::pg_query::JsonFuncExpr&>(::pg_query::_JsonFuncExpr_default_instance_); } -inline const ::pg_query::VacuumStmt& Node::vacuum_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_stmt) - return _internal_vacuum_stmt(); +inline const ::pg_query::JsonFuncExpr& Node::json_func_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_func_expr) + return _internal_json_func_expr(); } -inline ::pg_query::VacuumStmt* Node::unsafe_arena_release_vacuum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_stmt) - if (_internal_has_vacuum_stmt()) { +inline ::pg_query::JsonFuncExpr* Node::unsafe_arena_release_json_func_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_func_expr) + if (node_case() == kJsonFuncExpr) { clear_has_node(); - ::pg_query::VacuumStmt* temp = _impl_.node_.vacuum_stmt_; - _impl_.node_.vacuum_stmt_ = nullptr; + auto* temp = _impl_.node_.json_func_expr_; + _impl_.node_.json_func_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* vacuum_stmt) { +inline void Node::unsafe_arena_set_allocated_json_func_expr(::pg_query::JsonFuncExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (vacuum_stmt) { - set_has_vacuum_stmt(); - _impl_.node_.vacuum_stmt_ = vacuum_stmt; + if (value) { + set_has_json_func_expr(); + _impl_.node_.json_func_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_func_expr) } -inline ::pg_query::VacuumStmt* Node::_internal_mutable_vacuum_stmt() { - if (!_internal_has_vacuum_stmt()) { +inline ::pg_query::JsonFuncExpr* Node::_internal_mutable_json_func_expr() { + if (node_case() != kJsonFuncExpr) { clear_node(); - set_has_vacuum_stmt(); - _impl_.node_.vacuum_stmt_ = CreateMaybeMessage< ::pg_query::VacuumStmt >(GetArenaForAllocation()); + set_has_json_func_expr(); + _impl_.node_.json_func_expr_ = CreateMaybeMessage<::pg_query::JsonFuncExpr>(GetArena()); } - return _impl_.node_.vacuum_stmt_; + return _impl_.node_.json_func_expr_; } -inline ::pg_query::VacuumStmt* Node::mutable_vacuum_stmt() { - ::pg_query::VacuumStmt* _msg = _internal_mutable_vacuum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_stmt) +inline ::pg_query::JsonFuncExpr* Node::mutable_json_func_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFuncExpr* _msg = _internal_mutable_json_func_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_func_expr) return _msg; } -// .pg_query.ExplainStmt explain_stmt = 93 [json_name = "ExplainStmt"]; -inline bool Node::_internal_has_explain_stmt() const { - return node_case() == kExplainStmt; +// .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"]; +inline bool Node::has_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec; } -inline bool Node::has_explain_stmt() const { - return _internal_has_explain_stmt(); +inline bool Node::_internal_has_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec; } -inline void Node::set_has_explain_stmt() { - _impl_._oneof_case_[0] = kExplainStmt; +inline void Node::set_has_json_table_path_spec() { + _impl_._oneof_case_[0] = kJsonTablePathSpec; } -inline void Node::clear_explain_stmt() { - if (_internal_has_explain_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.explain_stmt_; +inline void Node::clear_json_table_path_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTablePathSpec) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_path_spec_; } clear_has_node(); } } -inline ::pg_query::ExplainStmt* Node::release_explain_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.explain_stmt) - if (_internal_has_explain_stmt()) { +inline ::pg_query::JsonTablePathSpec* Node::release_json_table_path_spec() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_path_spec) + if (node_case() == kJsonTablePathSpec) { clear_has_node(); - ::pg_query::ExplainStmt* temp = _impl_.node_.explain_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_path_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.explain_stmt_ = nullptr; + _impl_.node_.json_table_path_spec_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ExplainStmt& Node::_internal_explain_stmt() const { - return _internal_has_explain_stmt() - ? *_impl_.node_.explain_stmt_ - : reinterpret_cast< ::pg_query::ExplainStmt&>(::pg_query::_ExplainStmt_default_instance_); +inline const ::pg_query::JsonTablePathSpec& Node::_internal_json_table_path_spec() const { + return node_case() == kJsonTablePathSpec ? *_impl_.node_.json_table_path_spec_ : reinterpret_cast<::pg_query::JsonTablePathSpec&>(::pg_query::_JsonTablePathSpec_default_instance_); } -inline const ::pg_query::ExplainStmt& Node::explain_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.explain_stmt) - return _internal_explain_stmt(); +inline const ::pg_query::JsonTablePathSpec& Node::json_table_path_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_path_spec) + return _internal_json_table_path_spec(); } -inline ::pg_query::ExplainStmt* Node::unsafe_arena_release_explain_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.explain_stmt) - if (_internal_has_explain_stmt()) { +inline ::pg_query::JsonTablePathSpec* Node::unsafe_arena_release_json_table_path_spec() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_path_spec) + if (node_case() == kJsonTablePathSpec) { clear_has_node(); - ::pg_query::ExplainStmt* temp = _impl_.node_.explain_stmt_; - _impl_.node_.explain_stmt_ = nullptr; + auto* temp = _impl_.node_.json_table_path_spec_; + _impl_.node_.json_table_path_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* explain_stmt) { +inline void Node::unsafe_arena_set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (explain_stmt) { - set_has_explain_stmt(); - _impl_.node_.explain_stmt_ = explain_stmt; + if (value) { + set_has_json_table_path_spec(); + _impl_.node_.json_table_path_spec_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.explain_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_path_spec) } -inline ::pg_query::ExplainStmt* Node::_internal_mutable_explain_stmt() { - if (!_internal_has_explain_stmt()) { +inline ::pg_query::JsonTablePathSpec* Node::_internal_mutable_json_table_path_spec() { + if (node_case() != kJsonTablePathSpec) { clear_node(); - set_has_explain_stmt(); - _impl_.node_.explain_stmt_ = CreateMaybeMessage< ::pg_query::ExplainStmt >(GetArenaForAllocation()); + set_has_json_table_path_spec(); + _impl_.node_.json_table_path_spec_ = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); } - return _impl_.node_.explain_stmt_; + return _impl_.node_.json_table_path_spec_; } -inline ::pg_query::ExplainStmt* Node::mutable_explain_stmt() { - ::pg_query::ExplainStmt* _msg = _internal_mutable_explain_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.explain_stmt) +inline ::pg_query::JsonTablePathSpec* Node::mutable_json_table_path_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_json_table_path_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_path_spec) return _msg; } -// .pg_query.CreateTableAsStmt create_table_as_stmt = 94 [json_name = "CreateTableAsStmt"]; -inline bool Node::_internal_has_create_table_as_stmt() const { - return node_case() == kCreateTableAsStmt; +// .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"]; +inline bool Node::has_json_table() const { + return node_case() == kJsonTable; } -inline bool Node::has_create_table_as_stmt() const { - return _internal_has_create_table_as_stmt(); +inline bool Node::_internal_has_json_table() const { + return node_case() == kJsonTable; } -inline void Node::set_has_create_table_as_stmt() { - _impl_._oneof_case_[0] = kCreateTableAsStmt; +inline void Node::set_has_json_table() { + _impl_._oneof_case_[0] = kJsonTable; } -inline void Node::clear_create_table_as_stmt() { - if (_internal_has_create_table_as_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_table_as_stmt_; +inline void Node::clear_json_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTable) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_; } clear_has_node(); } } -inline ::pg_query::CreateTableAsStmt* Node::release_create_table_as_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_table_as_stmt) - if (_internal_has_create_table_as_stmt()) { +inline ::pg_query::JsonTable* Node::release_json_table() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table) + if (node_case() == kJsonTable) { clear_has_node(); - ::pg_query::CreateTableAsStmt* temp = _impl_.node_.create_table_as_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_table_as_stmt_ = nullptr; + _impl_.node_.json_table_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTableAsStmt& Node::_internal_create_table_as_stmt() const { - return _internal_has_create_table_as_stmt() - ? *_impl_.node_.create_table_as_stmt_ - : reinterpret_cast< ::pg_query::CreateTableAsStmt&>(::pg_query::_CreateTableAsStmt_default_instance_); +inline const ::pg_query::JsonTable& Node::_internal_json_table() const { + return node_case() == kJsonTable ? *_impl_.node_.json_table_ : reinterpret_cast<::pg_query::JsonTable&>(::pg_query::_JsonTable_default_instance_); } -inline const ::pg_query::CreateTableAsStmt& Node::create_table_as_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_table_as_stmt) - return _internal_create_table_as_stmt(); +inline const ::pg_query::JsonTable& Node::json_table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table) + return _internal_json_table(); } -inline ::pg_query::CreateTableAsStmt* Node::unsafe_arena_release_create_table_as_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_as_stmt) - if (_internal_has_create_table_as_stmt()) { +inline ::pg_query::JsonTable* Node::unsafe_arena_release_json_table() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table) + if (node_case() == kJsonTable) { clear_has_node(); - ::pg_query::CreateTableAsStmt* temp = _impl_.node_.create_table_as_stmt_; - _impl_.node_.create_table_as_stmt_ = nullptr; + auto* temp = _impl_.node_.json_table_; + _impl_.node_.json_table_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* create_table_as_stmt) { +inline void Node::unsafe_arena_set_allocated_json_table(::pg_query::JsonTable* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_table_as_stmt) { - set_has_create_table_as_stmt(); - _impl_.node_.create_table_as_stmt_ = create_table_as_stmt; + if (value) { + set_has_json_table(); + _impl_.node_.json_table_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_as_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table) } -inline ::pg_query::CreateTableAsStmt* Node::_internal_mutable_create_table_as_stmt() { - if (!_internal_has_create_table_as_stmt()) { +inline ::pg_query::JsonTable* Node::_internal_mutable_json_table() { + if (node_case() != kJsonTable) { clear_node(); - set_has_create_table_as_stmt(); - _impl_.node_.create_table_as_stmt_ = CreateMaybeMessage< ::pg_query::CreateTableAsStmt >(GetArenaForAllocation()); + set_has_json_table(); + _impl_.node_.json_table_ = CreateMaybeMessage<::pg_query::JsonTable>(GetArena()); } - return _impl_.node_.create_table_as_stmt_; + return _impl_.node_.json_table_; } -inline ::pg_query::CreateTableAsStmt* Node::mutable_create_table_as_stmt() { - ::pg_query::CreateTableAsStmt* _msg = _internal_mutable_create_table_as_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_as_stmt) +inline ::pg_query::JsonTable* Node::mutable_json_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTable* _msg = _internal_mutable_json_table(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table) return _msg; } -// .pg_query.CreateSeqStmt create_seq_stmt = 95 [json_name = "CreateSeqStmt"]; -inline bool Node::_internal_has_create_seq_stmt() const { - return node_case() == kCreateSeqStmt; +// .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"]; +inline bool Node::has_json_table_column() const { + return node_case() == kJsonTableColumn; } -inline bool Node::has_create_seq_stmt() const { - return _internal_has_create_seq_stmt(); +inline bool Node::_internal_has_json_table_column() const { + return node_case() == kJsonTableColumn; } -inline void Node::set_has_create_seq_stmt() { - _impl_._oneof_case_[0] = kCreateSeqStmt; +inline void Node::set_has_json_table_column() { + _impl_._oneof_case_[0] = kJsonTableColumn; } -inline void Node::clear_create_seq_stmt() { - if (_internal_has_create_seq_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_seq_stmt_; +inline void Node::clear_json_table_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonTableColumn) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_table_column_; } clear_has_node(); } } -inline ::pg_query::CreateSeqStmt* Node::release_create_seq_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_seq_stmt) - if (_internal_has_create_seq_stmt()) { +inline ::pg_query::JsonTableColumn* Node::release_json_table_column() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_table_column) + if (node_case() == kJsonTableColumn) { clear_has_node(); - ::pg_query::CreateSeqStmt* temp = _impl_.node_.create_seq_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_table_column_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_seq_stmt_ = nullptr; + _impl_.node_.json_table_column_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateSeqStmt& Node::_internal_create_seq_stmt() const { - return _internal_has_create_seq_stmt() - ? *_impl_.node_.create_seq_stmt_ - : reinterpret_cast< ::pg_query::CreateSeqStmt&>(::pg_query::_CreateSeqStmt_default_instance_); +inline const ::pg_query::JsonTableColumn& Node::_internal_json_table_column() const { + return node_case() == kJsonTableColumn ? *_impl_.node_.json_table_column_ : reinterpret_cast<::pg_query::JsonTableColumn&>(::pg_query::_JsonTableColumn_default_instance_); } -inline const ::pg_query::CreateSeqStmt& Node::create_seq_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_seq_stmt) - return _internal_create_seq_stmt(); +inline const ::pg_query::JsonTableColumn& Node::json_table_column() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_table_column) + return _internal_json_table_column(); } -inline ::pg_query::CreateSeqStmt* Node::unsafe_arena_release_create_seq_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_seq_stmt) - if (_internal_has_create_seq_stmt()) { +inline ::pg_query::JsonTableColumn* Node::unsafe_arena_release_json_table_column() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_table_column) + if (node_case() == kJsonTableColumn) { clear_has_node(); - ::pg_query::CreateSeqStmt* temp = _impl_.node_.create_seq_stmt_; - _impl_.node_.create_seq_stmt_ = nullptr; + auto* temp = _impl_.node_.json_table_column_; + _impl_.node_.json_table_column_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* create_seq_stmt) { +inline void Node::unsafe_arena_set_allocated_json_table_column(::pg_query::JsonTableColumn* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_seq_stmt) { - set_has_create_seq_stmt(); - _impl_.node_.create_seq_stmt_ = create_seq_stmt; + if (value) { + set_has_json_table_column(); + _impl_.node_.json_table_column_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_seq_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_table_column) } -inline ::pg_query::CreateSeqStmt* Node::_internal_mutable_create_seq_stmt() { - if (!_internal_has_create_seq_stmt()) { +inline ::pg_query::JsonTableColumn* Node::_internal_mutable_json_table_column() { + if (node_case() != kJsonTableColumn) { clear_node(); - set_has_create_seq_stmt(); - _impl_.node_.create_seq_stmt_ = CreateMaybeMessage< ::pg_query::CreateSeqStmt >(GetArenaForAllocation()); + set_has_json_table_column(); + _impl_.node_.json_table_column_ = CreateMaybeMessage<::pg_query::JsonTableColumn>(GetArena()); } - return _impl_.node_.create_seq_stmt_; + return _impl_.node_.json_table_column_; } -inline ::pg_query::CreateSeqStmt* Node::mutable_create_seq_stmt() { - ::pg_query::CreateSeqStmt* _msg = _internal_mutable_create_seq_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_seq_stmt) +inline ::pg_query::JsonTableColumn* Node::mutable_json_table_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTableColumn* _msg = _internal_mutable_json_table_column(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_table_column) return _msg; } -// .pg_query.AlterSeqStmt alter_seq_stmt = 96 [json_name = "AlterSeqStmt"]; -inline bool Node::_internal_has_alter_seq_stmt() const { - return node_case() == kAlterSeqStmt; +// .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"]; +inline bool Node::has_json_key_value() const { + return node_case() == kJsonKeyValue; } -inline bool Node::has_alter_seq_stmt() const { - return _internal_has_alter_seq_stmt(); +inline bool Node::_internal_has_json_key_value() const { + return node_case() == kJsonKeyValue; } -inline void Node::set_has_alter_seq_stmt() { - _impl_._oneof_case_[0] = kAlterSeqStmt; +inline void Node::set_has_json_key_value() { + _impl_._oneof_case_[0] = kJsonKeyValue; } -inline void Node::clear_alter_seq_stmt() { - if (_internal_has_alter_seq_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_seq_stmt_; +inline void Node::clear_json_key_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonKeyValue) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_key_value_; } clear_has_node(); } } -inline ::pg_query::AlterSeqStmt* Node::release_alter_seq_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_seq_stmt) - if (_internal_has_alter_seq_stmt()) { +inline ::pg_query::JsonKeyValue* Node::release_json_key_value() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_key_value) + if (node_case() == kJsonKeyValue) { clear_has_node(); - ::pg_query::AlterSeqStmt* temp = _impl_.node_.alter_seq_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_key_value_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_seq_stmt_ = nullptr; + _impl_.node_.json_key_value_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterSeqStmt& Node::_internal_alter_seq_stmt() const { - return _internal_has_alter_seq_stmt() - ? *_impl_.node_.alter_seq_stmt_ - : reinterpret_cast< ::pg_query::AlterSeqStmt&>(::pg_query::_AlterSeqStmt_default_instance_); +inline const ::pg_query::JsonKeyValue& Node::_internal_json_key_value() const { + return node_case() == kJsonKeyValue ? *_impl_.node_.json_key_value_ : reinterpret_cast<::pg_query::JsonKeyValue&>(::pg_query::_JsonKeyValue_default_instance_); } -inline const ::pg_query::AlterSeqStmt& Node::alter_seq_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_seq_stmt) - return _internal_alter_seq_stmt(); +inline const ::pg_query::JsonKeyValue& Node::json_key_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_key_value) + return _internal_json_key_value(); } -inline ::pg_query::AlterSeqStmt* Node::unsafe_arena_release_alter_seq_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_seq_stmt) - if (_internal_has_alter_seq_stmt()) { +inline ::pg_query::JsonKeyValue* Node::unsafe_arena_release_json_key_value() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_key_value) + if (node_case() == kJsonKeyValue) { clear_has_node(); - ::pg_query::AlterSeqStmt* temp = _impl_.node_.alter_seq_stmt_; - _impl_.node_.alter_seq_stmt_ = nullptr; + auto* temp = _impl_.node_.json_key_value_; + _impl_.node_.json_key_value_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* alter_seq_stmt) { +inline void Node::unsafe_arena_set_allocated_json_key_value(::pg_query::JsonKeyValue* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_seq_stmt) { - set_has_alter_seq_stmt(); - _impl_.node_.alter_seq_stmt_ = alter_seq_stmt; + if (value) { + set_has_json_key_value(); + _impl_.node_.json_key_value_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_seq_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_key_value) } -inline ::pg_query::AlterSeqStmt* Node::_internal_mutable_alter_seq_stmt() { - if (!_internal_has_alter_seq_stmt()) { +inline ::pg_query::JsonKeyValue* Node::_internal_mutable_json_key_value() { + if (node_case() != kJsonKeyValue) { clear_node(); - set_has_alter_seq_stmt(); - _impl_.node_.alter_seq_stmt_ = CreateMaybeMessage< ::pg_query::AlterSeqStmt >(GetArenaForAllocation()); + set_has_json_key_value(); + _impl_.node_.json_key_value_ = CreateMaybeMessage<::pg_query::JsonKeyValue>(GetArena()); } - return _impl_.node_.alter_seq_stmt_; + return _impl_.node_.json_key_value_; } -inline ::pg_query::AlterSeqStmt* Node::mutable_alter_seq_stmt() { - ::pg_query::AlterSeqStmt* _msg = _internal_mutable_alter_seq_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_seq_stmt) +inline ::pg_query::JsonKeyValue* Node::mutable_json_key_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonKeyValue* _msg = _internal_mutable_json_key_value(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_key_value) return _msg; } -// .pg_query.VariableSetStmt variable_set_stmt = 97 [json_name = "VariableSetStmt"]; -inline bool Node::_internal_has_variable_set_stmt() const { - return node_case() == kVariableSetStmt; +// .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"]; +inline bool Node::has_json_parse_expr() const { + return node_case() == kJsonParseExpr; } -inline bool Node::has_variable_set_stmt() const { - return _internal_has_variable_set_stmt(); +inline bool Node::_internal_has_json_parse_expr() const { + return node_case() == kJsonParseExpr; } -inline void Node::set_has_variable_set_stmt() { - _impl_._oneof_case_[0] = kVariableSetStmt; +inline void Node::set_has_json_parse_expr() { + _impl_._oneof_case_[0] = kJsonParseExpr; } -inline void Node::clear_variable_set_stmt() { - if (_internal_has_variable_set_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.variable_set_stmt_; +inline void Node::clear_json_parse_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonParseExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_parse_expr_; } clear_has_node(); } } -inline ::pg_query::VariableSetStmt* Node::release_variable_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.variable_set_stmt) - if (_internal_has_variable_set_stmt()) { +inline ::pg_query::JsonParseExpr* Node::release_json_parse_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_parse_expr) + if (node_case() == kJsonParseExpr) { clear_has_node(); - ::pg_query::VariableSetStmt* temp = _impl_.node_.variable_set_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_parse_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.variable_set_stmt_ = nullptr; + _impl_.node_.json_parse_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VariableSetStmt& Node::_internal_variable_set_stmt() const { - return _internal_has_variable_set_stmt() - ? *_impl_.node_.variable_set_stmt_ - : reinterpret_cast< ::pg_query::VariableSetStmt&>(::pg_query::_VariableSetStmt_default_instance_); +inline const ::pg_query::JsonParseExpr& Node::_internal_json_parse_expr() const { + return node_case() == kJsonParseExpr ? *_impl_.node_.json_parse_expr_ : reinterpret_cast<::pg_query::JsonParseExpr&>(::pg_query::_JsonParseExpr_default_instance_); } -inline const ::pg_query::VariableSetStmt& Node::variable_set_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.variable_set_stmt) - return _internal_variable_set_stmt(); +inline const ::pg_query::JsonParseExpr& Node::json_parse_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_parse_expr) + return _internal_json_parse_expr(); } -inline ::pg_query::VariableSetStmt* Node::unsafe_arena_release_variable_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_set_stmt) - if (_internal_has_variable_set_stmt()) { +inline ::pg_query::JsonParseExpr* Node::unsafe_arena_release_json_parse_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_parse_expr) + if (node_case() == kJsonParseExpr) { clear_has_node(); - ::pg_query::VariableSetStmt* temp = _impl_.node_.variable_set_stmt_; - _impl_.node_.variable_set_stmt_ = nullptr; + auto* temp = _impl_.node_.json_parse_expr_; + _impl_.node_.json_parse_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* variable_set_stmt) { +inline void Node::unsafe_arena_set_allocated_json_parse_expr(::pg_query::JsonParseExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (variable_set_stmt) { - set_has_variable_set_stmt(); - _impl_.node_.variable_set_stmt_ = variable_set_stmt; + if (value) { + set_has_json_parse_expr(); + _impl_.node_.json_parse_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_parse_expr) } -inline ::pg_query::VariableSetStmt* Node::_internal_mutable_variable_set_stmt() { - if (!_internal_has_variable_set_stmt()) { +inline ::pg_query::JsonParseExpr* Node::_internal_mutable_json_parse_expr() { + if (node_case() != kJsonParseExpr) { clear_node(); - set_has_variable_set_stmt(); - _impl_.node_.variable_set_stmt_ = CreateMaybeMessage< ::pg_query::VariableSetStmt >(GetArenaForAllocation()); + set_has_json_parse_expr(); + _impl_.node_.json_parse_expr_ = CreateMaybeMessage<::pg_query::JsonParseExpr>(GetArena()); } - return _impl_.node_.variable_set_stmt_; + return _impl_.node_.json_parse_expr_; } -inline ::pg_query::VariableSetStmt* Node::mutable_variable_set_stmt() { - ::pg_query::VariableSetStmt* _msg = _internal_mutable_variable_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_set_stmt) +inline ::pg_query::JsonParseExpr* Node::mutable_json_parse_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonParseExpr* _msg = _internal_mutable_json_parse_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_parse_expr) return _msg; } -// .pg_query.VariableShowStmt variable_show_stmt = 98 [json_name = "VariableShowStmt"]; -inline bool Node::_internal_has_variable_show_stmt() const { - return node_case() == kVariableShowStmt; +// .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"]; +inline bool Node::has_json_scalar_expr() const { + return node_case() == kJsonScalarExpr; } -inline bool Node::has_variable_show_stmt() const { - return _internal_has_variable_show_stmt(); +inline bool Node::_internal_has_json_scalar_expr() const { + return node_case() == kJsonScalarExpr; } -inline void Node::set_has_variable_show_stmt() { - _impl_._oneof_case_[0] = kVariableShowStmt; +inline void Node::set_has_json_scalar_expr() { + _impl_._oneof_case_[0] = kJsonScalarExpr; } -inline void Node::clear_variable_show_stmt() { - if (_internal_has_variable_show_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.variable_show_stmt_; +inline void Node::clear_json_scalar_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonScalarExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_scalar_expr_; } clear_has_node(); } } -inline ::pg_query::VariableShowStmt* Node::release_variable_show_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.variable_show_stmt) - if (_internal_has_variable_show_stmt()) { +inline ::pg_query::JsonScalarExpr* Node::release_json_scalar_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_scalar_expr) + if (node_case() == kJsonScalarExpr) { clear_has_node(); - ::pg_query::VariableShowStmt* temp = _impl_.node_.variable_show_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_scalar_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.variable_show_stmt_ = nullptr; + _impl_.node_.json_scalar_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VariableShowStmt& Node::_internal_variable_show_stmt() const { - return _internal_has_variable_show_stmt() - ? *_impl_.node_.variable_show_stmt_ - : reinterpret_cast< ::pg_query::VariableShowStmt&>(::pg_query::_VariableShowStmt_default_instance_); +inline const ::pg_query::JsonScalarExpr& Node::_internal_json_scalar_expr() const { + return node_case() == kJsonScalarExpr ? *_impl_.node_.json_scalar_expr_ : reinterpret_cast<::pg_query::JsonScalarExpr&>(::pg_query::_JsonScalarExpr_default_instance_); } -inline const ::pg_query::VariableShowStmt& Node::variable_show_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.variable_show_stmt) - return _internal_variable_show_stmt(); +inline const ::pg_query::JsonScalarExpr& Node::json_scalar_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_scalar_expr) + return _internal_json_scalar_expr(); } -inline ::pg_query::VariableShowStmt* Node::unsafe_arena_release_variable_show_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_show_stmt) - if (_internal_has_variable_show_stmt()) { +inline ::pg_query::JsonScalarExpr* Node::unsafe_arena_release_json_scalar_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_scalar_expr) + if (node_case() == kJsonScalarExpr) { clear_has_node(); - ::pg_query::VariableShowStmt* temp = _impl_.node_.variable_show_stmt_; - _impl_.node_.variable_show_stmt_ = nullptr; + auto* temp = _impl_.node_.json_scalar_expr_; + _impl_.node_.json_scalar_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* variable_show_stmt) { +inline void Node::unsafe_arena_set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (variable_show_stmt) { - set_has_variable_show_stmt(); - _impl_.node_.variable_show_stmt_ = variable_show_stmt; + if (value) { + set_has_json_scalar_expr(); + _impl_.node_.json_scalar_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_show_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_scalar_expr) } -inline ::pg_query::VariableShowStmt* Node::_internal_mutable_variable_show_stmt() { - if (!_internal_has_variable_show_stmt()) { +inline ::pg_query::JsonScalarExpr* Node::_internal_mutable_json_scalar_expr() { + if (node_case() != kJsonScalarExpr) { clear_node(); - set_has_variable_show_stmt(); - _impl_.node_.variable_show_stmt_ = CreateMaybeMessage< ::pg_query::VariableShowStmt >(GetArenaForAllocation()); + set_has_json_scalar_expr(); + _impl_.node_.json_scalar_expr_ = CreateMaybeMessage<::pg_query::JsonScalarExpr>(GetArena()); } - return _impl_.node_.variable_show_stmt_; + return _impl_.node_.json_scalar_expr_; } -inline ::pg_query::VariableShowStmt* Node::mutable_variable_show_stmt() { - ::pg_query::VariableShowStmt* _msg = _internal_mutable_variable_show_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_show_stmt) +inline ::pg_query::JsonScalarExpr* Node::mutable_json_scalar_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonScalarExpr* _msg = _internal_mutable_json_scalar_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_scalar_expr) return _msg; } -// .pg_query.DiscardStmt discard_stmt = 99 [json_name = "DiscardStmt"]; -inline bool Node::_internal_has_discard_stmt() const { - return node_case() == kDiscardStmt; +// .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"]; +inline bool Node::has_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr; } -inline bool Node::has_discard_stmt() const { - return _internal_has_discard_stmt(); +inline bool Node::_internal_has_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr; } -inline void Node::set_has_discard_stmt() { - _impl_._oneof_case_[0] = kDiscardStmt; +inline void Node::set_has_json_serialize_expr() { + _impl_._oneof_case_[0] = kJsonSerializeExpr; } -inline void Node::clear_discard_stmt() { - if (_internal_has_discard_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.discard_stmt_; +inline void Node::clear_json_serialize_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonSerializeExpr) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_serialize_expr_; } clear_has_node(); } } -inline ::pg_query::DiscardStmt* Node::release_discard_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.discard_stmt) - if (_internal_has_discard_stmt()) { +inline ::pg_query::JsonSerializeExpr* Node::release_json_serialize_expr() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_serialize_expr) + if (node_case() == kJsonSerializeExpr) { clear_has_node(); - ::pg_query::DiscardStmt* temp = _impl_.node_.discard_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_serialize_expr_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.discard_stmt_ = nullptr; + _impl_.node_.json_serialize_expr_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DiscardStmt& Node::_internal_discard_stmt() const { - return _internal_has_discard_stmt() - ? *_impl_.node_.discard_stmt_ - : reinterpret_cast< ::pg_query::DiscardStmt&>(::pg_query::_DiscardStmt_default_instance_); +inline const ::pg_query::JsonSerializeExpr& Node::_internal_json_serialize_expr() const { + return node_case() == kJsonSerializeExpr ? *_impl_.node_.json_serialize_expr_ : reinterpret_cast<::pg_query::JsonSerializeExpr&>(::pg_query::_JsonSerializeExpr_default_instance_); } -inline const ::pg_query::DiscardStmt& Node::discard_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.discard_stmt) - return _internal_discard_stmt(); +inline const ::pg_query::JsonSerializeExpr& Node::json_serialize_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_serialize_expr) + return _internal_json_serialize_expr(); } -inline ::pg_query::DiscardStmt* Node::unsafe_arena_release_discard_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.discard_stmt) - if (_internal_has_discard_stmt()) { +inline ::pg_query::JsonSerializeExpr* Node::unsafe_arena_release_json_serialize_expr() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_serialize_expr) + if (node_case() == kJsonSerializeExpr) { clear_has_node(); - ::pg_query::DiscardStmt* temp = _impl_.node_.discard_stmt_; - _impl_.node_.discard_stmt_ = nullptr; + auto* temp = _impl_.node_.json_serialize_expr_; + _impl_.node_.json_serialize_expr_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* discard_stmt) { +inline void Node::unsafe_arena_set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (discard_stmt) { - set_has_discard_stmt(); - _impl_.node_.discard_stmt_ = discard_stmt; + if (value) { + set_has_json_serialize_expr(); + _impl_.node_.json_serialize_expr_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.discard_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_serialize_expr) } -inline ::pg_query::DiscardStmt* Node::_internal_mutable_discard_stmt() { - if (!_internal_has_discard_stmt()) { +inline ::pg_query::JsonSerializeExpr* Node::_internal_mutable_json_serialize_expr() { + if (node_case() != kJsonSerializeExpr) { clear_node(); - set_has_discard_stmt(); - _impl_.node_.discard_stmt_ = CreateMaybeMessage< ::pg_query::DiscardStmt >(GetArenaForAllocation()); + set_has_json_serialize_expr(); + _impl_.node_.json_serialize_expr_ = CreateMaybeMessage<::pg_query::JsonSerializeExpr>(GetArena()); } - return _impl_.node_.discard_stmt_; + return _impl_.node_.json_serialize_expr_; } -inline ::pg_query::DiscardStmt* Node::mutable_discard_stmt() { - ::pg_query::DiscardStmt* _msg = _internal_mutable_discard_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.discard_stmt) +inline ::pg_query::JsonSerializeExpr* Node::mutable_json_serialize_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonSerializeExpr* _msg = _internal_mutable_json_serialize_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_serialize_expr) return _msg; } -// .pg_query.CreateTrigStmt create_trig_stmt = 100 [json_name = "CreateTrigStmt"]; -inline bool Node::_internal_has_create_trig_stmt() const { - return node_case() == kCreateTrigStmt; +// .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"]; +inline bool Node::has_json_object_constructor() const { + return node_case() == kJsonObjectConstructor; } -inline bool Node::has_create_trig_stmt() const { - return _internal_has_create_trig_stmt(); +inline bool Node::_internal_has_json_object_constructor() const { + return node_case() == kJsonObjectConstructor; } -inline void Node::set_has_create_trig_stmt() { - _impl_._oneof_case_[0] = kCreateTrigStmt; +inline void Node::set_has_json_object_constructor() { + _impl_._oneof_case_[0] = kJsonObjectConstructor; } -inline void Node::clear_create_trig_stmt() { - if (_internal_has_create_trig_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_trig_stmt_; +inline void Node::clear_json_object_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonObjectConstructor) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_object_constructor_; } clear_has_node(); } } -inline ::pg_query::CreateTrigStmt* Node::release_create_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_trig_stmt) - if (_internal_has_create_trig_stmt()) { +inline ::pg_query::JsonObjectConstructor* Node::release_json_object_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_object_constructor) + if (node_case() == kJsonObjectConstructor) { clear_has_node(); - ::pg_query::CreateTrigStmt* temp = _impl_.node_.create_trig_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_object_constructor_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_trig_stmt_ = nullptr; + _impl_.node_.json_object_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTrigStmt& Node::_internal_create_trig_stmt() const { - return _internal_has_create_trig_stmt() - ? *_impl_.node_.create_trig_stmt_ - : reinterpret_cast< ::pg_query::CreateTrigStmt&>(::pg_query::_CreateTrigStmt_default_instance_); +inline const ::pg_query::JsonObjectConstructor& Node::_internal_json_object_constructor() const { + return node_case() == kJsonObjectConstructor ? *_impl_.node_.json_object_constructor_ : reinterpret_cast<::pg_query::JsonObjectConstructor&>(::pg_query::_JsonObjectConstructor_default_instance_); } -inline const ::pg_query::CreateTrigStmt& Node::create_trig_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_trig_stmt) - return _internal_create_trig_stmt(); +inline const ::pg_query::JsonObjectConstructor& Node::json_object_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_object_constructor) + return _internal_json_object_constructor(); } -inline ::pg_query::CreateTrigStmt* Node::unsafe_arena_release_create_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_trig_stmt) - if (_internal_has_create_trig_stmt()) { +inline ::pg_query::JsonObjectConstructor* Node::unsafe_arena_release_json_object_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_constructor) + if (node_case() == kJsonObjectConstructor) { clear_has_node(); - ::pg_query::CreateTrigStmt* temp = _impl_.node_.create_trig_stmt_; - _impl_.node_.create_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.json_object_constructor_; + _impl_.node_.json_object_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* create_trig_stmt) { +inline void Node::unsafe_arena_set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_trig_stmt) { - set_has_create_trig_stmt(); - _impl_.node_.create_trig_stmt_ = create_trig_stmt; + if (value) { + set_has_json_object_constructor(); + _impl_.node_.json_object_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_constructor) } -inline ::pg_query::CreateTrigStmt* Node::_internal_mutable_create_trig_stmt() { - if (!_internal_has_create_trig_stmt()) { +inline ::pg_query::JsonObjectConstructor* Node::_internal_mutable_json_object_constructor() { + if (node_case() != kJsonObjectConstructor) { clear_node(); - set_has_create_trig_stmt(); - _impl_.node_.create_trig_stmt_ = CreateMaybeMessage< ::pg_query::CreateTrigStmt >(GetArenaForAllocation()); + set_has_json_object_constructor(); + _impl_.node_.json_object_constructor_ = CreateMaybeMessage<::pg_query::JsonObjectConstructor>(GetArena()); } - return _impl_.node_.create_trig_stmt_; + return _impl_.node_.json_object_constructor_; } -inline ::pg_query::CreateTrigStmt* Node::mutable_create_trig_stmt() { - ::pg_query::CreateTrigStmt* _msg = _internal_mutable_create_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_trig_stmt) +inline ::pg_query::JsonObjectConstructor* Node::mutable_json_object_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonObjectConstructor* _msg = _internal_mutable_json_object_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_constructor) return _msg; } -// .pg_query.CreatePLangStmt create_plang_stmt = 101 [json_name = "CreatePLangStmt"]; -inline bool Node::_internal_has_create_plang_stmt() const { - return node_case() == kCreatePlangStmt; +// .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"]; +inline bool Node::has_json_array_constructor() const { + return node_case() == kJsonArrayConstructor; } -inline bool Node::has_create_plang_stmt() const { - return _internal_has_create_plang_stmt(); +inline bool Node::_internal_has_json_array_constructor() const { + return node_case() == kJsonArrayConstructor; } -inline void Node::set_has_create_plang_stmt() { - _impl_._oneof_case_[0] = kCreatePlangStmt; +inline void Node::set_has_json_array_constructor() { + _impl_._oneof_case_[0] = kJsonArrayConstructor; } -inline void Node::clear_create_plang_stmt() { - if (_internal_has_create_plang_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_plang_stmt_; +inline void Node::clear_json_array_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonArrayConstructor) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_array_constructor_; } clear_has_node(); } } -inline ::pg_query::CreatePLangStmt* Node::release_create_plang_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_plang_stmt) - if (_internal_has_create_plang_stmt()) { +inline ::pg_query::JsonArrayConstructor* Node::release_json_array_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_constructor) + if (node_case() == kJsonArrayConstructor) { clear_has_node(); - ::pg_query::CreatePLangStmt* temp = _impl_.node_.create_plang_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_array_constructor_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_plang_stmt_ = nullptr; + _impl_.node_.json_array_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatePLangStmt& Node::_internal_create_plang_stmt() const { - return _internal_has_create_plang_stmt() - ? *_impl_.node_.create_plang_stmt_ - : reinterpret_cast< ::pg_query::CreatePLangStmt&>(::pg_query::_CreatePLangStmt_default_instance_); +inline const ::pg_query::JsonArrayConstructor& Node::_internal_json_array_constructor() const { + return node_case() == kJsonArrayConstructor ? *_impl_.node_.json_array_constructor_ : reinterpret_cast<::pg_query::JsonArrayConstructor&>(::pg_query::_JsonArrayConstructor_default_instance_); } -inline const ::pg_query::CreatePLangStmt& Node::create_plang_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_plang_stmt) - return _internal_create_plang_stmt(); +inline const ::pg_query::JsonArrayConstructor& Node::json_array_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_constructor) + return _internal_json_array_constructor(); } -inline ::pg_query::CreatePLangStmt* Node::unsafe_arena_release_create_plang_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_plang_stmt) - if (_internal_has_create_plang_stmt()) { +inline ::pg_query::JsonArrayConstructor* Node::unsafe_arena_release_json_array_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_constructor) + if (node_case() == kJsonArrayConstructor) { clear_has_node(); - ::pg_query::CreatePLangStmt* temp = _impl_.node_.create_plang_stmt_; - _impl_.node_.create_plang_stmt_ = nullptr; + auto* temp = _impl_.node_.json_array_constructor_; + _impl_.node_.json_array_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* create_plang_stmt) { +inline void Node::unsafe_arena_set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_plang_stmt) { - set_has_create_plang_stmt(); - _impl_.node_.create_plang_stmt_ = create_plang_stmt; + if (value) { + set_has_json_array_constructor(); + _impl_.node_.json_array_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_plang_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_constructor) } -inline ::pg_query::CreatePLangStmt* Node::_internal_mutable_create_plang_stmt() { - if (!_internal_has_create_plang_stmt()) { +inline ::pg_query::JsonArrayConstructor* Node::_internal_mutable_json_array_constructor() { + if (node_case() != kJsonArrayConstructor) { clear_node(); - set_has_create_plang_stmt(); - _impl_.node_.create_plang_stmt_ = CreateMaybeMessage< ::pg_query::CreatePLangStmt >(GetArenaForAllocation()); + set_has_json_array_constructor(); + _impl_.node_.json_array_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayConstructor>(GetArena()); } - return _impl_.node_.create_plang_stmt_; + return _impl_.node_.json_array_constructor_; } -inline ::pg_query::CreatePLangStmt* Node::mutable_create_plang_stmt() { - ::pg_query::CreatePLangStmt* _msg = _internal_mutable_create_plang_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_plang_stmt) +inline ::pg_query::JsonArrayConstructor* Node::mutable_json_array_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayConstructor* _msg = _internal_mutable_json_array_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_constructor) return _msg; } -// .pg_query.CreateRoleStmt create_role_stmt = 102 [json_name = "CreateRoleStmt"]; -inline bool Node::_internal_has_create_role_stmt() const { - return node_case() == kCreateRoleStmt; +// .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"]; +inline bool Node::has_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor; } -inline bool Node::has_create_role_stmt() const { - return _internal_has_create_role_stmt(); +inline bool Node::_internal_has_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor; } -inline void Node::set_has_create_role_stmt() { - _impl_._oneof_case_[0] = kCreateRoleStmt; +inline void Node::set_has_json_array_query_constructor() { + _impl_._oneof_case_[0] = kJsonArrayQueryConstructor; } -inline void Node::clear_create_role_stmt() { - if (_internal_has_create_role_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_role_stmt_; +inline void Node::clear_json_array_query_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonArrayQueryConstructor) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_array_query_constructor_; } clear_has_node(); } } -inline ::pg_query::CreateRoleStmt* Node::release_create_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_role_stmt) - if (_internal_has_create_role_stmt()) { +inline ::pg_query::JsonArrayQueryConstructor* Node::release_json_array_query_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_query_constructor) + if (node_case() == kJsonArrayQueryConstructor) { clear_has_node(); - ::pg_query::CreateRoleStmt* temp = _impl_.node_.create_role_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_array_query_constructor_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_role_stmt_ = nullptr; + _impl_.node_.json_array_query_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateRoleStmt& Node::_internal_create_role_stmt() const { - return _internal_has_create_role_stmt() - ? *_impl_.node_.create_role_stmt_ - : reinterpret_cast< ::pg_query::CreateRoleStmt&>(::pg_query::_CreateRoleStmt_default_instance_); +inline const ::pg_query::JsonArrayQueryConstructor& Node::_internal_json_array_query_constructor() const { + return node_case() == kJsonArrayQueryConstructor ? *_impl_.node_.json_array_query_constructor_ : reinterpret_cast<::pg_query::JsonArrayQueryConstructor&>(::pg_query::_JsonArrayQueryConstructor_default_instance_); } -inline const ::pg_query::CreateRoleStmt& Node::create_role_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_role_stmt) - return _internal_create_role_stmt(); +inline const ::pg_query::JsonArrayQueryConstructor& Node::json_array_query_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_query_constructor) + return _internal_json_array_query_constructor(); } -inline ::pg_query::CreateRoleStmt* Node::unsafe_arena_release_create_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_role_stmt) - if (_internal_has_create_role_stmt()) { +inline ::pg_query::JsonArrayQueryConstructor* Node::unsafe_arena_release_json_array_query_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_query_constructor) + if (node_case() == kJsonArrayQueryConstructor) { clear_has_node(); - ::pg_query::CreateRoleStmt* temp = _impl_.node_.create_role_stmt_; - _impl_.node_.create_role_stmt_ = nullptr; + auto* temp = _impl_.node_.json_array_query_constructor_; + _impl_.node_.json_array_query_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* create_role_stmt) { +inline void Node::unsafe_arena_set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_role_stmt) { - set_has_create_role_stmt(); - _impl_.node_.create_role_stmt_ = create_role_stmt; + if (value) { + set_has_json_array_query_constructor(); + _impl_.node_.json_array_query_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_query_constructor) } -inline ::pg_query::CreateRoleStmt* Node::_internal_mutable_create_role_stmt() { - if (!_internal_has_create_role_stmt()) { +inline ::pg_query::JsonArrayQueryConstructor* Node::_internal_mutable_json_array_query_constructor() { + if (node_case() != kJsonArrayQueryConstructor) { clear_node(); - set_has_create_role_stmt(); - _impl_.node_.create_role_stmt_ = CreateMaybeMessage< ::pg_query::CreateRoleStmt >(GetArenaForAllocation()); + set_has_json_array_query_constructor(); + _impl_.node_.json_array_query_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayQueryConstructor>(GetArena()); } - return _impl_.node_.create_role_stmt_; + return _impl_.node_.json_array_query_constructor_; } -inline ::pg_query::CreateRoleStmt* Node::mutable_create_role_stmt() { - ::pg_query::CreateRoleStmt* _msg = _internal_mutable_create_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_role_stmt) +inline ::pg_query::JsonArrayQueryConstructor* Node::mutable_json_array_query_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayQueryConstructor* _msg = _internal_mutable_json_array_query_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_query_constructor) return _msg; } -// .pg_query.AlterRoleStmt alter_role_stmt = 103 [json_name = "AlterRoleStmt"]; -inline bool Node::_internal_has_alter_role_stmt() const { - return node_case() == kAlterRoleStmt; +// .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"]; +inline bool Node::has_json_agg_constructor() const { + return node_case() == kJsonAggConstructor; } -inline bool Node::has_alter_role_stmt() const { - return _internal_has_alter_role_stmt(); +inline bool Node::_internal_has_json_agg_constructor() const { + return node_case() == kJsonAggConstructor; } -inline void Node::set_has_alter_role_stmt() { - _impl_._oneof_case_[0] = kAlterRoleStmt; +inline void Node::set_has_json_agg_constructor() { + _impl_._oneof_case_[0] = kJsonAggConstructor; } -inline void Node::clear_alter_role_stmt() { - if (_internal_has_alter_role_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_role_stmt_; +inline void Node::clear_json_agg_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonAggConstructor) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_agg_constructor_; } clear_has_node(); } } -inline ::pg_query::AlterRoleStmt* Node::release_alter_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_stmt) - if (_internal_has_alter_role_stmt()) { +inline ::pg_query::JsonAggConstructor* Node::release_json_agg_constructor() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_agg_constructor) + if (node_case() == kJsonAggConstructor) { clear_has_node(); - ::pg_query::AlterRoleStmt* temp = _impl_.node_.alter_role_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_agg_constructor_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_role_stmt_ = nullptr; + _impl_.node_.json_agg_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterRoleStmt& Node::_internal_alter_role_stmt() const { - return _internal_has_alter_role_stmt() - ? *_impl_.node_.alter_role_stmt_ - : reinterpret_cast< ::pg_query::AlterRoleStmt&>(::pg_query::_AlterRoleStmt_default_instance_); +inline const ::pg_query::JsonAggConstructor& Node::_internal_json_agg_constructor() const { + return node_case() == kJsonAggConstructor ? *_impl_.node_.json_agg_constructor_ : reinterpret_cast<::pg_query::JsonAggConstructor&>(::pg_query::_JsonAggConstructor_default_instance_); } -inline const ::pg_query::AlterRoleStmt& Node::alter_role_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_stmt) - return _internal_alter_role_stmt(); +inline const ::pg_query::JsonAggConstructor& Node::json_agg_constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_agg_constructor) + return _internal_json_agg_constructor(); } -inline ::pg_query::AlterRoleStmt* Node::unsafe_arena_release_alter_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_stmt) - if (_internal_has_alter_role_stmt()) { +inline ::pg_query::JsonAggConstructor* Node::unsafe_arena_release_json_agg_constructor() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_agg_constructor) + if (node_case() == kJsonAggConstructor) { clear_has_node(); - ::pg_query::AlterRoleStmt* temp = _impl_.node_.alter_role_stmt_; - _impl_.node_.alter_role_stmt_ = nullptr; + auto* temp = _impl_.node_.json_agg_constructor_; + _impl_.node_.json_agg_constructor_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* alter_role_stmt) { +inline void Node::unsafe_arena_set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_role_stmt) { - set_has_alter_role_stmt(); - _impl_.node_.alter_role_stmt_ = alter_role_stmt; + if (value) { + set_has_json_agg_constructor(); + _impl_.node_.json_agg_constructor_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_agg_constructor) } -inline ::pg_query::AlterRoleStmt* Node::_internal_mutable_alter_role_stmt() { - if (!_internal_has_alter_role_stmt()) { +inline ::pg_query::JsonAggConstructor* Node::_internal_mutable_json_agg_constructor() { + if (node_case() != kJsonAggConstructor) { clear_node(); - set_has_alter_role_stmt(); - _impl_.node_.alter_role_stmt_ = CreateMaybeMessage< ::pg_query::AlterRoleStmt >(GetArenaForAllocation()); + set_has_json_agg_constructor(); + _impl_.node_.json_agg_constructor_ = CreateMaybeMessage<::pg_query::JsonAggConstructor>(GetArena()); } - return _impl_.node_.alter_role_stmt_; + return _impl_.node_.json_agg_constructor_; } -inline ::pg_query::AlterRoleStmt* Node::mutable_alter_role_stmt() { - ::pg_query::AlterRoleStmt* _msg = _internal_mutable_alter_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_stmt) +inline ::pg_query::JsonAggConstructor* Node::mutable_json_agg_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonAggConstructor* _msg = _internal_mutable_json_agg_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_agg_constructor) return _msg; } -// .pg_query.DropRoleStmt drop_role_stmt = 104 [json_name = "DropRoleStmt"]; -inline bool Node::_internal_has_drop_role_stmt() const { - return node_case() == kDropRoleStmt; +// .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"]; +inline bool Node::has_json_object_agg() const { + return node_case() == kJsonObjectAgg; } -inline bool Node::has_drop_role_stmt() const { - return _internal_has_drop_role_stmt(); +inline bool Node::_internal_has_json_object_agg() const { + return node_case() == kJsonObjectAgg; } -inline void Node::set_has_drop_role_stmt() { - _impl_._oneof_case_[0] = kDropRoleStmt; +inline void Node::set_has_json_object_agg() { + _impl_._oneof_case_[0] = kJsonObjectAgg; } -inline void Node::clear_drop_role_stmt() { - if (_internal_has_drop_role_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.drop_role_stmt_; +inline void Node::clear_json_object_agg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonObjectAgg) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_object_agg_; } clear_has_node(); } } -inline ::pg_query::DropRoleStmt* Node::release_drop_role_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_role_stmt) - if (_internal_has_drop_role_stmt()) { +inline ::pg_query::JsonObjectAgg* Node::release_json_object_agg() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_object_agg) + if (node_case() == kJsonObjectAgg) { clear_has_node(); - ::pg_query::DropRoleStmt* temp = _impl_.node_.drop_role_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_object_agg_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_role_stmt_ = nullptr; + _impl_.node_.json_object_agg_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropRoleStmt& Node::_internal_drop_role_stmt() const { - return _internal_has_drop_role_stmt() - ? *_impl_.node_.drop_role_stmt_ - : reinterpret_cast< ::pg_query::DropRoleStmt&>(::pg_query::_DropRoleStmt_default_instance_); +inline const ::pg_query::JsonObjectAgg& Node::_internal_json_object_agg() const { + return node_case() == kJsonObjectAgg ? *_impl_.node_.json_object_agg_ : reinterpret_cast<::pg_query::JsonObjectAgg&>(::pg_query::_JsonObjectAgg_default_instance_); } -inline const ::pg_query::DropRoleStmt& Node::drop_role_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_role_stmt) - return _internal_drop_role_stmt(); +inline const ::pg_query::JsonObjectAgg& Node::json_object_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_object_agg) + return _internal_json_object_agg(); } -inline ::pg_query::DropRoleStmt* Node::unsafe_arena_release_drop_role_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_role_stmt) - if (_internal_has_drop_role_stmt()) { +inline ::pg_query::JsonObjectAgg* Node::unsafe_arena_release_json_object_agg() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_object_agg) + if (node_case() == kJsonObjectAgg) { clear_has_node(); - ::pg_query::DropRoleStmt* temp = _impl_.node_.drop_role_stmt_; - _impl_.node_.drop_role_stmt_ = nullptr; + auto* temp = _impl_.node_.json_object_agg_; + _impl_.node_.json_object_agg_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* drop_role_stmt) { +inline void Node::unsafe_arena_set_allocated_json_object_agg(::pg_query::JsonObjectAgg* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_role_stmt) { - set_has_drop_role_stmt(); - _impl_.node_.drop_role_stmt_ = drop_role_stmt; + if (value) { + set_has_json_object_agg(); + _impl_.node_.json_object_agg_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_role_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_object_agg) } -inline ::pg_query::DropRoleStmt* Node::_internal_mutable_drop_role_stmt() { - if (!_internal_has_drop_role_stmt()) { +inline ::pg_query::JsonObjectAgg* Node::_internal_mutable_json_object_agg() { + if (node_case() != kJsonObjectAgg) { clear_node(); - set_has_drop_role_stmt(); - _impl_.node_.drop_role_stmt_ = CreateMaybeMessage< ::pg_query::DropRoleStmt >(GetArenaForAllocation()); + set_has_json_object_agg(); + _impl_.node_.json_object_agg_ = CreateMaybeMessage<::pg_query::JsonObjectAgg>(GetArena()); } - return _impl_.node_.drop_role_stmt_; + return _impl_.node_.json_object_agg_; } -inline ::pg_query::DropRoleStmt* Node::mutable_drop_role_stmt() { - ::pg_query::DropRoleStmt* _msg = _internal_mutable_drop_role_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_role_stmt) +inline ::pg_query::JsonObjectAgg* Node::mutable_json_object_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonObjectAgg* _msg = _internal_mutable_json_object_agg(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_object_agg) return _msg; } -// .pg_query.LockStmt lock_stmt = 105 [json_name = "LockStmt"]; -inline bool Node::_internal_has_lock_stmt() const { - return node_case() == kLockStmt; +// .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"]; +inline bool Node::has_json_array_agg() const { + return node_case() == kJsonArrayAgg; } -inline bool Node::has_lock_stmt() const { - return _internal_has_lock_stmt(); +inline bool Node::_internal_has_json_array_agg() const { + return node_case() == kJsonArrayAgg; } -inline void Node::set_has_lock_stmt() { - _impl_._oneof_case_[0] = kLockStmt; +inline void Node::set_has_json_array_agg() { + _impl_._oneof_case_[0] = kJsonArrayAgg; } -inline void Node::clear_lock_stmt() { - if (_internal_has_lock_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.lock_stmt_; +inline void Node::clear_json_array_agg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kJsonArrayAgg) { + if (GetArena() == nullptr) { + delete _impl_.node_.json_array_agg_; } clear_has_node(); } } -inline ::pg_query::LockStmt* Node::release_lock_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.lock_stmt) - if (_internal_has_lock_stmt()) { +inline ::pg_query::JsonArrayAgg* Node::release_json_array_agg() { + // @@protoc_insertion_point(field_release:pg_query.Node.json_array_agg) + if (node_case() == kJsonArrayAgg) { clear_has_node(); - ::pg_query::LockStmt* temp = _impl_.node_.lock_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.json_array_agg_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.lock_stmt_ = nullptr; + _impl_.node_.json_array_agg_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::LockStmt& Node::_internal_lock_stmt() const { - return _internal_has_lock_stmt() - ? *_impl_.node_.lock_stmt_ - : reinterpret_cast< ::pg_query::LockStmt&>(::pg_query::_LockStmt_default_instance_); +inline const ::pg_query::JsonArrayAgg& Node::_internal_json_array_agg() const { + return node_case() == kJsonArrayAgg ? *_impl_.node_.json_array_agg_ : reinterpret_cast<::pg_query::JsonArrayAgg&>(::pg_query::_JsonArrayAgg_default_instance_); } -inline const ::pg_query::LockStmt& Node::lock_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.lock_stmt) - return _internal_lock_stmt(); +inline const ::pg_query::JsonArrayAgg& Node::json_array_agg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.json_array_agg) + return _internal_json_array_agg(); } -inline ::pg_query::LockStmt* Node::unsafe_arena_release_lock_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.lock_stmt) - if (_internal_has_lock_stmt()) { +inline ::pg_query::JsonArrayAgg* Node::unsafe_arena_release_json_array_agg() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.json_array_agg) + if (node_case() == kJsonArrayAgg) { clear_has_node(); - ::pg_query::LockStmt* temp = _impl_.node_.lock_stmt_; - _impl_.node_.lock_stmt_ = nullptr; + auto* temp = _impl_.node_.json_array_agg_; + _impl_.node_.json_array_agg_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* lock_stmt) { +inline void Node::unsafe_arena_set_allocated_json_array_agg(::pg_query::JsonArrayAgg* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (lock_stmt) { - set_has_lock_stmt(); - _impl_.node_.lock_stmt_ = lock_stmt; + if (value) { + set_has_json_array_agg(); + _impl_.node_.json_array_agg_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.lock_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.json_array_agg) } -inline ::pg_query::LockStmt* Node::_internal_mutable_lock_stmt() { - if (!_internal_has_lock_stmt()) { +inline ::pg_query::JsonArrayAgg* Node::_internal_mutable_json_array_agg() { + if (node_case() != kJsonArrayAgg) { clear_node(); - set_has_lock_stmt(); - _impl_.node_.lock_stmt_ = CreateMaybeMessage< ::pg_query::LockStmt >(GetArenaForAllocation()); + set_has_json_array_agg(); + _impl_.node_.json_array_agg_ = CreateMaybeMessage<::pg_query::JsonArrayAgg>(GetArena()); } - return _impl_.node_.lock_stmt_; + return _impl_.node_.json_array_agg_; } -inline ::pg_query::LockStmt* Node::mutable_lock_stmt() { - ::pg_query::LockStmt* _msg = _internal_mutable_lock_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.lock_stmt) +inline ::pg_query::JsonArrayAgg* Node::mutable_json_array_agg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonArrayAgg* _msg = _internal_mutable_json_array_agg(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.json_array_agg) return _msg; } -// .pg_query.ConstraintsSetStmt constraints_set_stmt = 106 [json_name = "ConstraintsSetStmt"]; -inline bool Node::_internal_has_constraints_set_stmt() const { - return node_case() == kConstraintsSetStmt; +// .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"]; +inline bool Node::has_raw_stmt() const { + return node_case() == kRawStmt; } -inline bool Node::has_constraints_set_stmt() const { - return _internal_has_constraints_set_stmt(); +inline bool Node::_internal_has_raw_stmt() const { + return node_case() == kRawStmt; } -inline void Node::set_has_constraints_set_stmt() { - _impl_._oneof_case_[0] = kConstraintsSetStmt; +inline void Node::set_has_raw_stmt() { + _impl_._oneof_case_[0] = kRawStmt; } -inline void Node::clear_constraints_set_stmt() { - if (_internal_has_constraints_set_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.constraints_set_stmt_; +inline void Node::clear_raw_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRawStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.raw_stmt_; } clear_has_node(); } } -inline ::pg_query::ConstraintsSetStmt* Node::release_constraints_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.constraints_set_stmt) - if (_internal_has_constraints_set_stmt()) { +inline ::pg_query::RawStmt* Node::release_raw_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.raw_stmt) + if (node_case() == kRawStmt) { clear_has_node(); - ::pg_query::ConstraintsSetStmt* temp = _impl_.node_.constraints_set_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.raw_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.constraints_set_stmt_ = nullptr; + _impl_.node_.raw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ConstraintsSetStmt& Node::_internal_constraints_set_stmt() const { - return _internal_has_constraints_set_stmt() - ? *_impl_.node_.constraints_set_stmt_ - : reinterpret_cast< ::pg_query::ConstraintsSetStmt&>(::pg_query::_ConstraintsSetStmt_default_instance_); +inline const ::pg_query::RawStmt& Node::_internal_raw_stmt() const { + return node_case() == kRawStmt ? *_impl_.node_.raw_stmt_ : reinterpret_cast<::pg_query::RawStmt&>(::pg_query::_RawStmt_default_instance_); } -inline const ::pg_query::ConstraintsSetStmt& Node::constraints_set_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.constraints_set_stmt) - return _internal_constraints_set_stmt(); +inline const ::pg_query::RawStmt& Node::raw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.raw_stmt) + return _internal_raw_stmt(); } -inline ::pg_query::ConstraintsSetStmt* Node::unsafe_arena_release_constraints_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraints_set_stmt) - if (_internal_has_constraints_set_stmt()) { +inline ::pg_query::RawStmt* Node::unsafe_arena_release_raw_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.raw_stmt) + if (node_case() == kRawStmt) { clear_has_node(); - ::pg_query::ConstraintsSetStmt* temp = _impl_.node_.constraints_set_stmt_; - _impl_.node_.constraints_set_stmt_ = nullptr; + auto* temp = _impl_.node_.raw_stmt_; + _impl_.node_.raw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* constraints_set_stmt) { +inline void Node::unsafe_arena_set_allocated_raw_stmt(::pg_query::RawStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (constraints_set_stmt) { - set_has_constraints_set_stmt(); - _impl_.node_.constraints_set_stmt_ = constraints_set_stmt; + if (value) { + set_has_raw_stmt(); + _impl_.node_.raw_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraints_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.raw_stmt) } -inline ::pg_query::ConstraintsSetStmt* Node::_internal_mutable_constraints_set_stmt() { - if (!_internal_has_constraints_set_stmt()) { +inline ::pg_query::RawStmt* Node::_internal_mutable_raw_stmt() { + if (node_case() != kRawStmt) { clear_node(); - set_has_constraints_set_stmt(); - _impl_.node_.constraints_set_stmt_ = CreateMaybeMessage< ::pg_query::ConstraintsSetStmt >(GetArenaForAllocation()); + set_has_raw_stmt(); + _impl_.node_.raw_stmt_ = CreateMaybeMessage<::pg_query::RawStmt>(GetArena()); } - return _impl_.node_.constraints_set_stmt_; + return _impl_.node_.raw_stmt_; } -inline ::pg_query::ConstraintsSetStmt* Node::mutable_constraints_set_stmt() { - ::pg_query::ConstraintsSetStmt* _msg = _internal_mutable_constraints_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.constraints_set_stmt) +inline ::pg_query::RawStmt* Node::mutable_raw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RawStmt* _msg = _internal_mutable_raw_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.raw_stmt) return _msg; } -// .pg_query.ReindexStmt reindex_stmt = 107 [json_name = "ReindexStmt"]; -inline bool Node::_internal_has_reindex_stmt() const { - return node_case() == kReindexStmt; +// .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"]; +inline bool Node::has_insert_stmt() const { + return node_case() == kInsertStmt; } -inline bool Node::has_reindex_stmt() const { - return _internal_has_reindex_stmt(); +inline bool Node::_internal_has_insert_stmt() const { + return node_case() == kInsertStmt; } -inline void Node::set_has_reindex_stmt() { - _impl_._oneof_case_[0] = kReindexStmt; +inline void Node::set_has_insert_stmt() { + _impl_._oneof_case_[0] = kInsertStmt; } -inline void Node::clear_reindex_stmt() { - if (_internal_has_reindex_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.reindex_stmt_; +inline void Node::clear_insert_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInsertStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.insert_stmt_; } clear_has_node(); } } -inline ::pg_query::ReindexStmt* Node::release_reindex_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.reindex_stmt) - if (_internal_has_reindex_stmt()) { +inline ::pg_query::InsertStmt* Node::release_insert_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.insert_stmt) + if (node_case() == kInsertStmt) { clear_has_node(); - ::pg_query::ReindexStmt* temp = _impl_.node_.reindex_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.insert_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.reindex_stmt_ = nullptr; + _impl_.node_.insert_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReindexStmt& Node::_internal_reindex_stmt() const { - return _internal_has_reindex_stmt() - ? *_impl_.node_.reindex_stmt_ - : reinterpret_cast< ::pg_query::ReindexStmt&>(::pg_query::_ReindexStmt_default_instance_); +inline const ::pg_query::InsertStmt& Node::_internal_insert_stmt() const { + return node_case() == kInsertStmt ? *_impl_.node_.insert_stmt_ : reinterpret_cast<::pg_query::InsertStmt&>(::pg_query::_InsertStmt_default_instance_); } -inline const ::pg_query::ReindexStmt& Node::reindex_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.reindex_stmt) - return _internal_reindex_stmt(); +inline const ::pg_query::InsertStmt& Node::insert_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.insert_stmt) + return _internal_insert_stmt(); } -inline ::pg_query::ReindexStmt* Node::unsafe_arena_release_reindex_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reindex_stmt) - if (_internal_has_reindex_stmt()) { +inline ::pg_query::InsertStmt* Node::unsafe_arena_release_insert_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.insert_stmt) + if (node_case() == kInsertStmt) { clear_has_node(); - ::pg_query::ReindexStmt* temp = _impl_.node_.reindex_stmt_; - _impl_.node_.reindex_stmt_ = nullptr; + auto* temp = _impl_.node_.insert_stmt_; + _impl_.node_.insert_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* reindex_stmt) { +inline void Node::unsafe_arena_set_allocated_insert_stmt(::pg_query::InsertStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (reindex_stmt) { - set_has_reindex_stmt(); - _impl_.node_.reindex_stmt_ = reindex_stmt; + if (value) { + set_has_insert_stmt(); + _impl_.node_.insert_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reindex_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.insert_stmt) } -inline ::pg_query::ReindexStmt* Node::_internal_mutable_reindex_stmt() { - if (!_internal_has_reindex_stmt()) { +inline ::pg_query::InsertStmt* Node::_internal_mutable_insert_stmt() { + if (node_case() != kInsertStmt) { clear_node(); - set_has_reindex_stmt(); - _impl_.node_.reindex_stmt_ = CreateMaybeMessage< ::pg_query::ReindexStmt >(GetArenaForAllocation()); + set_has_insert_stmt(); + _impl_.node_.insert_stmt_ = CreateMaybeMessage<::pg_query::InsertStmt>(GetArena()); } - return _impl_.node_.reindex_stmt_; + return _impl_.node_.insert_stmt_; } -inline ::pg_query::ReindexStmt* Node::mutable_reindex_stmt() { - ::pg_query::ReindexStmt* _msg = _internal_mutable_reindex_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.reindex_stmt) +inline ::pg_query::InsertStmt* Node::mutable_insert_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InsertStmt* _msg = _internal_mutable_insert_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.insert_stmt) return _msg; } -// .pg_query.CheckPointStmt check_point_stmt = 108 [json_name = "CheckPointStmt"]; -inline bool Node::_internal_has_check_point_stmt() const { - return node_case() == kCheckPointStmt; +// .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"]; +inline bool Node::has_delete_stmt() const { + return node_case() == kDeleteStmt; } -inline bool Node::has_check_point_stmt() const { - return _internal_has_check_point_stmt(); +inline bool Node::_internal_has_delete_stmt() const { + return node_case() == kDeleteStmt; } -inline void Node::set_has_check_point_stmt() { - _impl_._oneof_case_[0] = kCheckPointStmt; +inline void Node::set_has_delete_stmt() { + _impl_._oneof_case_[0] = kDeleteStmt; } -inline void Node::clear_check_point_stmt() { - if (_internal_has_check_point_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.check_point_stmt_; +inline void Node::clear_delete_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDeleteStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.delete_stmt_; } clear_has_node(); } } -inline ::pg_query::CheckPointStmt* Node::release_check_point_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.check_point_stmt) - if (_internal_has_check_point_stmt()) { +inline ::pg_query::DeleteStmt* Node::release_delete_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.delete_stmt) + if (node_case() == kDeleteStmt) { clear_has_node(); - ::pg_query::CheckPointStmt* temp = _impl_.node_.check_point_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.delete_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.check_point_stmt_ = nullptr; + _impl_.node_.delete_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CheckPointStmt& Node::_internal_check_point_stmt() const { - return _internal_has_check_point_stmt() - ? *_impl_.node_.check_point_stmt_ - : reinterpret_cast< ::pg_query::CheckPointStmt&>(::pg_query::_CheckPointStmt_default_instance_); +inline const ::pg_query::DeleteStmt& Node::_internal_delete_stmt() const { + return node_case() == kDeleteStmt ? *_impl_.node_.delete_stmt_ : reinterpret_cast<::pg_query::DeleteStmt&>(::pg_query::_DeleteStmt_default_instance_); } -inline const ::pg_query::CheckPointStmt& Node::check_point_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.check_point_stmt) - return _internal_check_point_stmt(); +inline const ::pg_query::DeleteStmt& Node::delete_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.delete_stmt) + return _internal_delete_stmt(); } -inline ::pg_query::CheckPointStmt* Node::unsafe_arena_release_check_point_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.check_point_stmt) - if (_internal_has_check_point_stmt()) { +inline ::pg_query::DeleteStmt* Node::unsafe_arena_release_delete_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.delete_stmt) + if (node_case() == kDeleteStmt) { clear_has_node(); - ::pg_query::CheckPointStmt* temp = _impl_.node_.check_point_stmt_; - _impl_.node_.check_point_stmt_ = nullptr; + auto* temp = _impl_.node_.delete_stmt_; + _impl_.node_.delete_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* check_point_stmt) { +inline void Node::unsafe_arena_set_allocated_delete_stmt(::pg_query::DeleteStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (check_point_stmt) { - set_has_check_point_stmt(); - _impl_.node_.check_point_stmt_ = check_point_stmt; + if (value) { + set_has_delete_stmt(); + _impl_.node_.delete_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.check_point_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.delete_stmt) } -inline ::pg_query::CheckPointStmt* Node::_internal_mutable_check_point_stmt() { - if (!_internal_has_check_point_stmt()) { +inline ::pg_query::DeleteStmt* Node::_internal_mutable_delete_stmt() { + if (node_case() != kDeleteStmt) { clear_node(); - set_has_check_point_stmt(); - _impl_.node_.check_point_stmt_ = CreateMaybeMessage< ::pg_query::CheckPointStmt >(GetArenaForAllocation()); + set_has_delete_stmt(); + _impl_.node_.delete_stmt_ = CreateMaybeMessage<::pg_query::DeleteStmt>(GetArena()); } - return _impl_.node_.check_point_stmt_; + return _impl_.node_.delete_stmt_; } -inline ::pg_query::CheckPointStmt* Node::mutable_check_point_stmt() { - ::pg_query::CheckPointStmt* _msg = _internal_mutable_check_point_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.check_point_stmt) +inline ::pg_query::DeleteStmt* Node::mutable_delete_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeleteStmt* _msg = _internal_mutable_delete_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.delete_stmt) return _msg; } -// .pg_query.CreateSchemaStmt create_schema_stmt = 109 [json_name = "CreateSchemaStmt"]; -inline bool Node::_internal_has_create_schema_stmt() const { - return node_case() == kCreateSchemaStmt; +// .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"]; +inline bool Node::has_update_stmt() const { + return node_case() == kUpdateStmt; } -inline bool Node::has_create_schema_stmt() const { - return _internal_has_create_schema_stmt(); +inline bool Node::_internal_has_update_stmt() const { + return node_case() == kUpdateStmt; } -inline void Node::set_has_create_schema_stmt() { - _impl_._oneof_case_[0] = kCreateSchemaStmt; +inline void Node::set_has_update_stmt() { + _impl_._oneof_case_[0] = kUpdateStmt; } -inline void Node::clear_create_schema_stmt() { - if (_internal_has_create_schema_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_schema_stmt_; +inline void Node::clear_update_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kUpdateStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.update_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateSchemaStmt* Node::release_create_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_schema_stmt) - if (_internal_has_create_schema_stmt()) { +inline ::pg_query::UpdateStmt* Node::release_update_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.update_stmt) + if (node_case() == kUpdateStmt) { clear_has_node(); - ::pg_query::CreateSchemaStmt* temp = _impl_.node_.create_schema_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.update_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_schema_stmt_ = nullptr; + _impl_.node_.update_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateSchemaStmt& Node::_internal_create_schema_stmt() const { - return _internal_has_create_schema_stmt() - ? *_impl_.node_.create_schema_stmt_ - : reinterpret_cast< ::pg_query::CreateSchemaStmt&>(::pg_query::_CreateSchemaStmt_default_instance_); +inline const ::pg_query::UpdateStmt& Node::_internal_update_stmt() const { + return node_case() == kUpdateStmt ? *_impl_.node_.update_stmt_ : reinterpret_cast<::pg_query::UpdateStmt&>(::pg_query::_UpdateStmt_default_instance_); } -inline const ::pg_query::CreateSchemaStmt& Node::create_schema_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_schema_stmt) - return _internal_create_schema_stmt(); +inline const ::pg_query::UpdateStmt& Node::update_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.update_stmt) + return _internal_update_stmt(); } -inline ::pg_query::CreateSchemaStmt* Node::unsafe_arena_release_create_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_schema_stmt) - if (_internal_has_create_schema_stmt()) { +inline ::pg_query::UpdateStmt* Node::unsafe_arena_release_update_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.update_stmt) + if (node_case() == kUpdateStmt) { clear_has_node(); - ::pg_query::CreateSchemaStmt* temp = _impl_.node_.create_schema_stmt_; - _impl_.node_.create_schema_stmt_ = nullptr; + auto* temp = _impl_.node_.update_stmt_; + _impl_.node_.update_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* create_schema_stmt) { +inline void Node::unsafe_arena_set_allocated_update_stmt(::pg_query::UpdateStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_schema_stmt) { - set_has_create_schema_stmt(); - _impl_.node_.create_schema_stmt_ = create_schema_stmt; + if (value) { + set_has_update_stmt(); + _impl_.node_.update_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_schema_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.update_stmt) } -inline ::pg_query::CreateSchemaStmt* Node::_internal_mutable_create_schema_stmt() { - if (!_internal_has_create_schema_stmt()) { +inline ::pg_query::UpdateStmt* Node::_internal_mutable_update_stmt() { + if (node_case() != kUpdateStmt) { clear_node(); - set_has_create_schema_stmt(); - _impl_.node_.create_schema_stmt_ = CreateMaybeMessage< ::pg_query::CreateSchemaStmt >(GetArenaForAllocation()); + set_has_update_stmt(); + _impl_.node_.update_stmt_ = CreateMaybeMessage<::pg_query::UpdateStmt>(GetArena()); } - return _impl_.node_.create_schema_stmt_; + return _impl_.node_.update_stmt_; } -inline ::pg_query::CreateSchemaStmt* Node::mutable_create_schema_stmt() { - ::pg_query::CreateSchemaStmt* _msg = _internal_mutable_create_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_schema_stmt) +inline ::pg_query::UpdateStmt* Node::mutable_update_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::UpdateStmt* _msg = _internal_mutable_update_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.update_stmt) return _msg; } -// .pg_query.AlterDatabaseStmt alter_database_stmt = 110 [json_name = "AlterDatabaseStmt"]; -inline bool Node::_internal_has_alter_database_stmt() const { - return node_case() == kAlterDatabaseStmt; +// .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"]; +inline bool Node::has_merge_stmt() const { + return node_case() == kMergeStmt; } -inline bool Node::has_alter_database_stmt() const { - return _internal_has_alter_database_stmt(); +inline bool Node::_internal_has_merge_stmt() const { + return node_case() == kMergeStmt; } -inline void Node::set_has_alter_database_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseStmt; +inline void Node::set_has_merge_stmt() { + _impl_._oneof_case_[0] = kMergeStmt; } -inline void Node::clear_alter_database_stmt() { - if (_internal_has_alter_database_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_database_stmt_; +inline void Node::clear_merge_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kMergeStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.merge_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterDatabaseStmt* Node::release_alter_database_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_stmt) - if (_internal_has_alter_database_stmt()) { +inline ::pg_query::MergeStmt* Node::release_merge_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.merge_stmt) + if (node_case() == kMergeStmt) { clear_has_node(); - ::pg_query::AlterDatabaseStmt* temp = _impl_.node_.alter_database_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.merge_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_database_stmt_ = nullptr; + _impl_.node_.merge_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDatabaseStmt& Node::_internal_alter_database_stmt() const { - return _internal_has_alter_database_stmt() - ? *_impl_.node_.alter_database_stmt_ - : reinterpret_cast< ::pg_query::AlterDatabaseStmt&>(::pg_query::_AlterDatabaseStmt_default_instance_); +inline const ::pg_query::MergeStmt& Node::_internal_merge_stmt() const { + return node_case() == kMergeStmt ? *_impl_.node_.merge_stmt_ : reinterpret_cast<::pg_query::MergeStmt&>(::pg_query::_MergeStmt_default_instance_); } -inline const ::pg_query::AlterDatabaseStmt& Node::alter_database_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_stmt) - return _internal_alter_database_stmt(); +inline const ::pg_query::MergeStmt& Node::merge_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.merge_stmt) + return _internal_merge_stmt(); } -inline ::pg_query::AlterDatabaseStmt* Node::unsafe_arena_release_alter_database_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_stmt) - if (_internal_has_alter_database_stmt()) { +inline ::pg_query::MergeStmt* Node::unsafe_arena_release_merge_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_stmt) + if (node_case() == kMergeStmt) { clear_has_node(); - ::pg_query::AlterDatabaseStmt* temp = _impl_.node_.alter_database_stmt_; - _impl_.node_.alter_database_stmt_ = nullptr; + auto* temp = _impl_.node_.merge_stmt_; + _impl_.node_.merge_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* alter_database_stmt) { +inline void Node::unsafe_arena_set_allocated_merge_stmt(::pg_query::MergeStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_database_stmt) { - set_has_alter_database_stmt(); - _impl_.node_.alter_database_stmt_ = alter_database_stmt; + if (value) { + set_has_merge_stmt(); + _impl_.node_.merge_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_stmt) } -inline ::pg_query::AlterDatabaseStmt* Node::_internal_mutable_alter_database_stmt() { - if (!_internal_has_alter_database_stmt()) { +inline ::pg_query::MergeStmt* Node::_internal_mutable_merge_stmt() { + if (node_case() != kMergeStmt) { clear_node(); - set_has_alter_database_stmt(); - _impl_.node_.alter_database_stmt_ = CreateMaybeMessage< ::pg_query::AlterDatabaseStmt >(GetArenaForAllocation()); + set_has_merge_stmt(); + _impl_.node_.merge_stmt_ = CreateMaybeMessage<::pg_query::MergeStmt>(GetArena()); } - return _impl_.node_.alter_database_stmt_; + return _impl_.node_.merge_stmt_; } -inline ::pg_query::AlterDatabaseStmt* Node::mutable_alter_database_stmt() { - ::pg_query::AlterDatabaseStmt* _msg = _internal_mutable_alter_database_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_stmt) +inline ::pg_query::MergeStmt* Node::mutable_merge_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::MergeStmt* _msg = _internal_mutable_merge_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_stmt) return _msg; } -// .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 111 [json_name = "AlterDatabaseRefreshCollStmt"]; -inline bool Node::_internal_has_alter_database_refresh_coll_stmt() const { - return node_case() == kAlterDatabaseRefreshCollStmt; +// .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"]; +inline bool Node::has_select_stmt() const { + return node_case() == kSelectStmt; } -inline bool Node::has_alter_database_refresh_coll_stmt() const { - return _internal_has_alter_database_refresh_coll_stmt(); +inline bool Node::_internal_has_select_stmt() const { + return node_case() == kSelectStmt; } -inline void Node::set_has_alter_database_refresh_coll_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseRefreshCollStmt; +inline void Node::set_has_select_stmt() { + _impl_._oneof_case_[0] = kSelectStmt; } -inline void Node::clear_alter_database_refresh_coll_stmt() { - if (_internal_has_alter_database_refresh_coll_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_database_refresh_coll_stmt_; +inline void Node::clear_select_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSelectStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.select_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::release_alter_database_refresh_coll_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_refresh_coll_stmt) - if (_internal_has_alter_database_refresh_coll_stmt()) { +inline ::pg_query::SelectStmt* Node::release_select_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.select_stmt) + if (node_case() == kSelectStmt) { clear_has_node(); - ::pg_query::AlterDatabaseRefreshCollStmt* temp = _impl_.node_.alter_database_refresh_coll_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.select_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; + _impl_.node_.select_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::_internal_alter_database_refresh_coll_stmt() const { - return _internal_has_alter_database_refresh_coll_stmt() - ? *_impl_.node_.alter_database_refresh_coll_stmt_ - : reinterpret_cast< ::pg_query::AlterDatabaseRefreshCollStmt&>(::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_); +inline const ::pg_query::SelectStmt& Node::_internal_select_stmt() const { + return node_case() == kSelectStmt ? *_impl_.node_.select_stmt_ : reinterpret_cast<::pg_query::SelectStmt&>(::pg_query::_SelectStmt_default_instance_); } -inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::alter_database_refresh_coll_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_refresh_coll_stmt) - return _internal_alter_database_refresh_coll_stmt(); +inline const ::pg_query::SelectStmt& Node::select_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.select_stmt) + return _internal_select_stmt(); } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::unsafe_arena_release_alter_database_refresh_coll_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_refresh_coll_stmt) - if (_internal_has_alter_database_refresh_coll_stmt()) { +inline ::pg_query::SelectStmt* Node::unsafe_arena_release_select_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.select_stmt) + if (node_case() == kSelectStmt) { clear_has_node(); - ::pg_query::AlterDatabaseRefreshCollStmt* temp = _impl_.node_.alter_database_refresh_coll_stmt_; - _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; + auto* temp = _impl_.node_.select_stmt_; + _impl_.node_.select_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt) { +inline void Node::unsafe_arena_set_allocated_select_stmt(::pg_query::SelectStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_database_refresh_coll_stmt) { - set_has_alter_database_refresh_coll_stmt(); - _impl_.node_.alter_database_refresh_coll_stmt_ = alter_database_refresh_coll_stmt; + if (value) { + set_has_select_stmt(); + _impl_.node_.select_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.select_stmt) } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::_internal_mutable_alter_database_refresh_coll_stmt() { - if (!_internal_has_alter_database_refresh_coll_stmt()) { +inline ::pg_query::SelectStmt* Node::_internal_mutable_select_stmt() { + if (node_case() != kSelectStmt) { clear_node(); - set_has_alter_database_refresh_coll_stmt(); - _impl_.node_.alter_database_refresh_coll_stmt_ = CreateMaybeMessage< ::pg_query::AlterDatabaseRefreshCollStmt >(GetArenaForAllocation()); + set_has_select_stmt(); + _impl_.node_.select_stmt_ = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); } - return _impl_.node_.alter_database_refresh_coll_stmt_; + return _impl_.node_.select_stmt_; } -inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::mutable_alter_database_refresh_coll_stmt() { - ::pg_query::AlterDatabaseRefreshCollStmt* _msg = _internal_mutable_alter_database_refresh_coll_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_refresh_coll_stmt) +inline ::pg_query::SelectStmt* Node::mutable_select_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SelectStmt* _msg = _internal_mutable_select_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.select_stmt) return _msg; } -// .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 112 [json_name = "AlterDatabaseSetStmt"]; -inline bool Node::_internal_has_alter_database_set_stmt() const { - return node_case() == kAlterDatabaseSetStmt; +// .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"]; +inline bool Node::has_set_operation_stmt() const { + return node_case() == kSetOperationStmt; } -inline bool Node::has_alter_database_set_stmt() const { - return _internal_has_alter_database_set_stmt(); +inline bool Node::_internal_has_set_operation_stmt() const { + return node_case() == kSetOperationStmt; } -inline void Node::set_has_alter_database_set_stmt() { - _impl_._oneof_case_[0] = kAlterDatabaseSetStmt; +inline void Node::set_has_set_operation_stmt() { + _impl_._oneof_case_[0] = kSetOperationStmt; } -inline void Node::clear_alter_database_set_stmt() { - if (_internal_has_alter_database_set_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_database_set_stmt_; +inline void Node::clear_set_operation_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSetOperationStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.set_operation_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterDatabaseSetStmt* Node::release_alter_database_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_set_stmt) - if (_internal_has_alter_database_set_stmt()) { +inline ::pg_query::SetOperationStmt* Node::release_set_operation_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.set_operation_stmt) + if (node_case() == kSetOperationStmt) { clear_has_node(); - ::pg_query::AlterDatabaseSetStmt* temp = _impl_.node_.alter_database_set_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.set_operation_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_database_set_stmt_ = nullptr; + _impl_.node_.set_operation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterDatabaseSetStmt& Node::_internal_alter_database_set_stmt() const { - return _internal_has_alter_database_set_stmt() - ? *_impl_.node_.alter_database_set_stmt_ - : reinterpret_cast< ::pg_query::AlterDatabaseSetStmt&>(::pg_query::_AlterDatabaseSetStmt_default_instance_); +inline const ::pg_query::SetOperationStmt& Node::_internal_set_operation_stmt() const { + return node_case() == kSetOperationStmt ? *_impl_.node_.set_operation_stmt_ : reinterpret_cast<::pg_query::SetOperationStmt&>(::pg_query::_SetOperationStmt_default_instance_); } -inline const ::pg_query::AlterDatabaseSetStmt& Node::alter_database_set_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_set_stmt) - return _internal_alter_database_set_stmt(); +inline const ::pg_query::SetOperationStmt& Node::set_operation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.set_operation_stmt) + return _internal_set_operation_stmt(); } -inline ::pg_query::AlterDatabaseSetStmt* Node::unsafe_arena_release_alter_database_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_set_stmt) - if (_internal_has_alter_database_set_stmt()) { +inline ::pg_query::SetOperationStmt* Node::unsafe_arena_release_set_operation_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.set_operation_stmt) + if (node_case() == kSetOperationStmt) { clear_has_node(); - ::pg_query::AlterDatabaseSetStmt* temp = _impl_.node_.alter_database_set_stmt_; - _impl_.node_.alter_database_set_stmt_ = nullptr; + auto* temp = _impl_.node_.set_operation_stmt_; + _impl_.node_.set_operation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt) { +inline void Node::unsafe_arena_set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_database_set_stmt) { - set_has_alter_database_set_stmt(); - _impl_.node_.alter_database_set_stmt_ = alter_database_set_stmt; + if (value) { + set_has_set_operation_stmt(); + _impl_.node_.set_operation_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.set_operation_stmt) } -inline ::pg_query::AlterDatabaseSetStmt* Node::_internal_mutable_alter_database_set_stmt() { - if (!_internal_has_alter_database_set_stmt()) { +inline ::pg_query::SetOperationStmt* Node::_internal_mutable_set_operation_stmt() { + if (node_case() != kSetOperationStmt) { clear_node(); - set_has_alter_database_set_stmt(); - _impl_.node_.alter_database_set_stmt_ = CreateMaybeMessage< ::pg_query::AlterDatabaseSetStmt >(GetArenaForAllocation()); + set_has_set_operation_stmt(); + _impl_.node_.set_operation_stmt_ = CreateMaybeMessage<::pg_query::SetOperationStmt>(GetArena()); } - return _impl_.node_.alter_database_set_stmt_; + return _impl_.node_.set_operation_stmt_; } -inline ::pg_query::AlterDatabaseSetStmt* Node::mutable_alter_database_set_stmt() { - ::pg_query::AlterDatabaseSetStmt* _msg = _internal_mutable_alter_database_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_set_stmt) +inline ::pg_query::SetOperationStmt* Node::mutable_set_operation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SetOperationStmt* _msg = _internal_mutable_set_operation_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.set_operation_stmt) return _msg; } -// .pg_query.AlterRoleSetStmt alter_role_set_stmt = 113 [json_name = "AlterRoleSetStmt"]; -inline bool Node::_internal_has_alter_role_set_stmt() const { - return node_case() == kAlterRoleSetStmt; +// .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"]; +inline bool Node::has_return_stmt() const { + return node_case() == kReturnStmt; } -inline bool Node::has_alter_role_set_stmt() const { - return _internal_has_alter_role_set_stmt(); +inline bool Node::_internal_has_return_stmt() const { + return node_case() == kReturnStmt; } -inline void Node::set_has_alter_role_set_stmt() { - _impl_._oneof_case_[0] = kAlterRoleSetStmt; +inline void Node::set_has_return_stmt() { + _impl_._oneof_case_[0] = kReturnStmt; } -inline void Node::clear_alter_role_set_stmt() { - if (_internal_has_alter_role_set_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_role_set_stmt_; +inline void Node::clear_return_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kReturnStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.return_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterRoleSetStmt* Node::release_alter_role_set_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_set_stmt) - if (_internal_has_alter_role_set_stmt()) { +inline ::pg_query::ReturnStmt* Node::release_return_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.return_stmt) + if (node_case() == kReturnStmt) { clear_has_node(); - ::pg_query::AlterRoleSetStmt* temp = _impl_.node_.alter_role_set_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.return_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_role_set_stmt_ = nullptr; + _impl_.node_.return_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterRoleSetStmt& Node::_internal_alter_role_set_stmt() const { - return _internal_has_alter_role_set_stmt() - ? *_impl_.node_.alter_role_set_stmt_ - : reinterpret_cast< ::pg_query::AlterRoleSetStmt&>(::pg_query::_AlterRoleSetStmt_default_instance_); +inline const ::pg_query::ReturnStmt& Node::_internal_return_stmt() const { + return node_case() == kReturnStmt ? *_impl_.node_.return_stmt_ : reinterpret_cast<::pg_query::ReturnStmt&>(::pg_query::_ReturnStmt_default_instance_); } -inline const ::pg_query::AlterRoleSetStmt& Node::alter_role_set_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_set_stmt) - return _internal_alter_role_set_stmt(); +inline const ::pg_query::ReturnStmt& Node::return_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.return_stmt) + return _internal_return_stmt(); } -inline ::pg_query::AlterRoleSetStmt* Node::unsafe_arena_release_alter_role_set_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_set_stmt) - if (_internal_has_alter_role_set_stmt()) { +inline ::pg_query::ReturnStmt* Node::unsafe_arena_release_return_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.return_stmt) + if (node_case() == kReturnStmt) { clear_has_node(); - ::pg_query::AlterRoleSetStmt* temp = _impl_.node_.alter_role_set_stmt_; - _impl_.node_.alter_role_set_stmt_ = nullptr; + auto* temp = _impl_.node_.return_stmt_; + _impl_.node_.return_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* alter_role_set_stmt) { +inline void Node::unsafe_arena_set_allocated_return_stmt(::pg_query::ReturnStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_role_set_stmt) { - set_has_alter_role_set_stmt(); - _impl_.node_.alter_role_set_stmt_ = alter_role_set_stmt; + if (value) { + set_has_return_stmt(); + _impl_.node_.return_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_set_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.return_stmt) } -inline ::pg_query::AlterRoleSetStmt* Node::_internal_mutable_alter_role_set_stmt() { - if (!_internal_has_alter_role_set_stmt()) { +inline ::pg_query::ReturnStmt* Node::_internal_mutable_return_stmt() { + if (node_case() != kReturnStmt) { clear_node(); - set_has_alter_role_set_stmt(); - _impl_.node_.alter_role_set_stmt_ = CreateMaybeMessage< ::pg_query::AlterRoleSetStmt >(GetArenaForAllocation()); + set_has_return_stmt(); + _impl_.node_.return_stmt_ = CreateMaybeMessage<::pg_query::ReturnStmt>(GetArena()); } - return _impl_.node_.alter_role_set_stmt_; + return _impl_.node_.return_stmt_; } -inline ::pg_query::AlterRoleSetStmt* Node::mutable_alter_role_set_stmt() { - ::pg_query::AlterRoleSetStmt* _msg = _internal_mutable_alter_role_set_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_set_stmt) +inline ::pg_query::ReturnStmt* Node::mutable_return_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReturnStmt* _msg = _internal_mutable_return_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.return_stmt) return _msg; } -// .pg_query.CreateConversionStmt create_conversion_stmt = 114 [json_name = "CreateConversionStmt"]; -inline bool Node::_internal_has_create_conversion_stmt() const { - return node_case() == kCreateConversionStmt; +// .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"]; +inline bool Node::has_plassign_stmt() const { + return node_case() == kPlassignStmt; } -inline bool Node::has_create_conversion_stmt() const { - return _internal_has_create_conversion_stmt(); +inline bool Node::_internal_has_plassign_stmt() const { + return node_case() == kPlassignStmt; } -inline void Node::set_has_create_conversion_stmt() { - _impl_._oneof_case_[0] = kCreateConversionStmt; +inline void Node::set_has_plassign_stmt() { + _impl_._oneof_case_[0] = kPlassignStmt; } -inline void Node::clear_create_conversion_stmt() { - if (_internal_has_create_conversion_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_conversion_stmt_; +inline void Node::clear_plassign_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPlassignStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.plassign_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateConversionStmt* Node::release_create_conversion_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_conversion_stmt) - if (_internal_has_create_conversion_stmt()) { +inline ::pg_query::PLAssignStmt* Node::release_plassign_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.plassign_stmt) + if (node_case() == kPlassignStmt) { clear_has_node(); - ::pg_query::CreateConversionStmt* temp = _impl_.node_.create_conversion_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.plassign_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_conversion_stmt_ = nullptr; + _impl_.node_.plassign_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateConversionStmt& Node::_internal_create_conversion_stmt() const { - return _internal_has_create_conversion_stmt() - ? *_impl_.node_.create_conversion_stmt_ - : reinterpret_cast< ::pg_query::CreateConversionStmt&>(::pg_query::_CreateConversionStmt_default_instance_); +inline const ::pg_query::PLAssignStmt& Node::_internal_plassign_stmt() const { + return node_case() == kPlassignStmt ? *_impl_.node_.plassign_stmt_ : reinterpret_cast<::pg_query::PLAssignStmt&>(::pg_query::_PLAssignStmt_default_instance_); } -inline const ::pg_query::CreateConversionStmt& Node::create_conversion_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_conversion_stmt) - return _internal_create_conversion_stmt(); +inline const ::pg_query::PLAssignStmt& Node::plassign_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.plassign_stmt) + return _internal_plassign_stmt(); } -inline ::pg_query::CreateConversionStmt* Node::unsafe_arena_release_create_conversion_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_conversion_stmt) - if (_internal_has_create_conversion_stmt()) { +inline ::pg_query::PLAssignStmt* Node::unsafe_arena_release_plassign_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.plassign_stmt) + if (node_case() == kPlassignStmt) { clear_has_node(); - ::pg_query::CreateConversionStmt* temp = _impl_.node_.create_conversion_stmt_; - _impl_.node_.create_conversion_stmt_ = nullptr; + auto* temp = _impl_.node_.plassign_stmt_; + _impl_.node_.plassign_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* create_conversion_stmt) { +inline void Node::unsafe_arena_set_allocated_plassign_stmt(::pg_query::PLAssignStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_conversion_stmt) { - set_has_create_conversion_stmt(); - _impl_.node_.create_conversion_stmt_ = create_conversion_stmt; + if (value) { + set_has_plassign_stmt(); + _impl_.node_.plassign_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_conversion_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.plassign_stmt) } -inline ::pg_query::CreateConversionStmt* Node::_internal_mutable_create_conversion_stmt() { - if (!_internal_has_create_conversion_stmt()) { +inline ::pg_query::PLAssignStmt* Node::_internal_mutable_plassign_stmt() { + if (node_case() != kPlassignStmt) { clear_node(); - set_has_create_conversion_stmt(); - _impl_.node_.create_conversion_stmt_ = CreateMaybeMessage< ::pg_query::CreateConversionStmt >(GetArenaForAllocation()); + set_has_plassign_stmt(); + _impl_.node_.plassign_stmt_ = CreateMaybeMessage<::pg_query::PLAssignStmt>(GetArena()); } - return _impl_.node_.create_conversion_stmt_; + return _impl_.node_.plassign_stmt_; } -inline ::pg_query::CreateConversionStmt* Node::mutable_create_conversion_stmt() { - ::pg_query::CreateConversionStmt* _msg = _internal_mutable_create_conversion_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_conversion_stmt) +inline ::pg_query::PLAssignStmt* Node::mutable_plassign_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PLAssignStmt* _msg = _internal_mutable_plassign_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.plassign_stmt) return _msg; } -// .pg_query.CreateCastStmt create_cast_stmt = 115 [json_name = "CreateCastStmt"]; -inline bool Node::_internal_has_create_cast_stmt() const { - return node_case() == kCreateCastStmt; +// .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"]; +inline bool Node::has_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt; } -inline bool Node::has_create_cast_stmt() const { - return _internal_has_create_cast_stmt(); +inline bool Node::_internal_has_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt; } -inline void Node::set_has_create_cast_stmt() { - _impl_._oneof_case_[0] = kCreateCastStmt; +inline void Node::set_has_create_schema_stmt() { + _impl_._oneof_case_[0] = kCreateSchemaStmt; } -inline void Node::clear_create_cast_stmt() { - if (_internal_has_create_cast_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_cast_stmt_; +inline void Node::clear_create_schema_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateSchemaStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateCastStmt* Node::release_create_cast_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_cast_stmt) - if (_internal_has_create_cast_stmt()) { +inline ::pg_query::CreateSchemaStmt* Node::release_create_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_schema_stmt) + if (node_case() == kCreateSchemaStmt) { clear_has_node(); - ::pg_query::CreateCastStmt* temp = _impl_.node_.create_cast_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_schema_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_cast_stmt_ = nullptr; + _impl_.node_.create_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateCastStmt& Node::_internal_create_cast_stmt() const { - return _internal_has_create_cast_stmt() - ? *_impl_.node_.create_cast_stmt_ - : reinterpret_cast< ::pg_query::CreateCastStmt&>(::pg_query::_CreateCastStmt_default_instance_); +inline const ::pg_query::CreateSchemaStmt& Node::_internal_create_schema_stmt() const { + return node_case() == kCreateSchemaStmt ? *_impl_.node_.create_schema_stmt_ : reinterpret_cast<::pg_query::CreateSchemaStmt&>(::pg_query::_CreateSchemaStmt_default_instance_); } -inline const ::pg_query::CreateCastStmt& Node::create_cast_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_cast_stmt) - return _internal_create_cast_stmt(); +inline const ::pg_query::CreateSchemaStmt& Node::create_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_schema_stmt) + return _internal_create_schema_stmt(); } -inline ::pg_query::CreateCastStmt* Node::unsafe_arena_release_create_cast_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_cast_stmt) - if (_internal_has_create_cast_stmt()) { +inline ::pg_query::CreateSchemaStmt* Node::unsafe_arena_release_create_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_schema_stmt) + if (node_case() == kCreateSchemaStmt) { clear_has_node(); - ::pg_query::CreateCastStmt* temp = _impl_.node_.create_cast_stmt_; - _impl_.node_.create_cast_stmt_ = nullptr; + auto* temp = _impl_.node_.create_schema_stmt_; + _impl_.node_.create_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* create_cast_stmt) { +inline void Node::unsafe_arena_set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_cast_stmt) { - set_has_create_cast_stmt(); - _impl_.node_.create_cast_stmt_ = create_cast_stmt; + if (value) { + set_has_create_schema_stmt(); + _impl_.node_.create_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_cast_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_schema_stmt) } -inline ::pg_query::CreateCastStmt* Node::_internal_mutable_create_cast_stmt() { - if (!_internal_has_create_cast_stmt()) { +inline ::pg_query::CreateSchemaStmt* Node::_internal_mutable_create_schema_stmt() { + if (node_case() != kCreateSchemaStmt) { clear_node(); - set_has_create_cast_stmt(); - _impl_.node_.create_cast_stmt_ = CreateMaybeMessage< ::pg_query::CreateCastStmt >(GetArenaForAllocation()); + set_has_create_schema_stmt(); + _impl_.node_.create_schema_stmt_ = CreateMaybeMessage<::pg_query::CreateSchemaStmt>(GetArena()); } - return _impl_.node_.create_cast_stmt_; + return _impl_.node_.create_schema_stmt_; } -inline ::pg_query::CreateCastStmt* Node::mutable_create_cast_stmt() { - ::pg_query::CreateCastStmt* _msg = _internal_mutable_create_cast_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_cast_stmt) +inline ::pg_query::CreateSchemaStmt* Node::mutable_create_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSchemaStmt* _msg = _internal_mutable_create_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_schema_stmt) return _msg; } -// .pg_query.CreateOpClassStmt create_op_class_stmt = 116 [json_name = "CreateOpClassStmt"]; -inline bool Node::_internal_has_create_op_class_stmt() const { - return node_case() == kCreateOpClassStmt; +// .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"]; +inline bool Node::has_alter_table_stmt() const { + return node_case() == kAlterTableStmt; } -inline bool Node::has_create_op_class_stmt() const { - return _internal_has_create_op_class_stmt(); +inline bool Node::_internal_has_alter_table_stmt() const { + return node_case() == kAlterTableStmt; } -inline void Node::set_has_create_op_class_stmt() { - _impl_._oneof_case_[0] = kCreateOpClassStmt; +inline void Node::set_has_alter_table_stmt() { + _impl_._oneof_case_[0] = kAlterTableStmt; } -inline void Node::clear_create_op_class_stmt() { - if (_internal_has_create_op_class_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_op_class_stmt_; +inline void Node::clear_alter_table_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTableStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_table_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateOpClassStmt* Node::release_create_op_class_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_stmt) - if (_internal_has_create_op_class_stmt()) { +inline ::pg_query::AlterTableStmt* Node::release_alter_table_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_stmt) + if (node_case() == kAlterTableStmt) { clear_has_node(); - ::pg_query::CreateOpClassStmt* temp = _impl_.node_.create_op_class_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_table_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_class_stmt_ = nullptr; + _impl_.node_.alter_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpClassStmt& Node::_internal_create_op_class_stmt() const { - return _internal_has_create_op_class_stmt() - ? *_impl_.node_.create_op_class_stmt_ - : reinterpret_cast< ::pg_query::CreateOpClassStmt&>(::pg_query::_CreateOpClassStmt_default_instance_); +inline const ::pg_query::AlterTableStmt& Node::_internal_alter_table_stmt() const { + return node_case() == kAlterTableStmt ? *_impl_.node_.alter_table_stmt_ : reinterpret_cast<::pg_query::AlterTableStmt&>(::pg_query::_AlterTableStmt_default_instance_); } -inline const ::pg_query::CreateOpClassStmt& Node::create_op_class_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_stmt) - return _internal_create_op_class_stmt(); +inline const ::pg_query::AlterTableStmt& Node::alter_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_stmt) + return _internal_alter_table_stmt(); } -inline ::pg_query::CreateOpClassStmt* Node::unsafe_arena_release_create_op_class_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_stmt) - if (_internal_has_create_op_class_stmt()) { +inline ::pg_query::AlterTableStmt* Node::unsafe_arena_release_alter_table_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_stmt) + if (node_case() == kAlterTableStmt) { clear_has_node(); - ::pg_query::CreateOpClassStmt* temp = _impl_.node_.create_op_class_stmt_; - _impl_.node_.create_op_class_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_table_stmt_; + _impl_.node_.alter_table_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* create_op_class_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_op_class_stmt) { - set_has_create_op_class_stmt(); - _impl_.node_.create_op_class_stmt_ = create_op_class_stmt; + if (value) { + set_has_alter_table_stmt(); + _impl_.node_.alter_table_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_stmt) } -inline ::pg_query::CreateOpClassStmt* Node::_internal_mutable_create_op_class_stmt() { - if (!_internal_has_create_op_class_stmt()) { +inline ::pg_query::AlterTableStmt* Node::_internal_mutable_alter_table_stmt() { + if (node_case() != kAlterTableStmt) { clear_node(); - set_has_create_op_class_stmt(); - _impl_.node_.create_op_class_stmt_ = CreateMaybeMessage< ::pg_query::CreateOpClassStmt >(GetArenaForAllocation()); + set_has_alter_table_stmt(); + _impl_.node_.alter_table_stmt_ = CreateMaybeMessage<::pg_query::AlterTableStmt>(GetArena()); } - return _impl_.node_.create_op_class_stmt_; + return _impl_.node_.alter_table_stmt_; } -inline ::pg_query::CreateOpClassStmt* Node::mutable_create_op_class_stmt() { - ::pg_query::CreateOpClassStmt* _msg = _internal_mutable_create_op_class_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_stmt) +inline ::pg_query::AlterTableStmt* Node::mutable_alter_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableStmt* _msg = _internal_mutable_alter_table_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_stmt) return _msg; } -// .pg_query.CreateOpFamilyStmt create_op_family_stmt = 117 [json_name = "CreateOpFamilyStmt"]; -inline bool Node::_internal_has_create_op_family_stmt() const { - return node_case() == kCreateOpFamilyStmt; +// .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"]; +inline bool Node::has_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt; } -inline bool Node::has_create_op_family_stmt() const { - return _internal_has_create_op_family_stmt(); +inline bool Node::_internal_has_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt; } -inline void Node::set_has_create_op_family_stmt() { - _impl_._oneof_case_[0] = kCreateOpFamilyStmt; +inline void Node::set_has_replica_identity_stmt() { + _impl_._oneof_case_[0] = kReplicaIdentityStmt; } -inline void Node::clear_create_op_family_stmt() { - if (_internal_has_create_op_family_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_op_family_stmt_; +inline void Node::clear_replica_identity_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kReplicaIdentityStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.replica_identity_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateOpFamilyStmt* Node::release_create_op_family_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_family_stmt) - if (_internal_has_create_op_family_stmt()) { +inline ::pg_query::ReplicaIdentityStmt* Node::release_replica_identity_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.replica_identity_stmt) + if (node_case() == kReplicaIdentityStmt) { clear_has_node(); - ::pg_query::CreateOpFamilyStmt* temp = _impl_.node_.create_op_family_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.replica_identity_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_family_stmt_ = nullptr; + _impl_.node_.replica_identity_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpFamilyStmt& Node::_internal_create_op_family_stmt() const { - return _internal_has_create_op_family_stmt() - ? *_impl_.node_.create_op_family_stmt_ - : reinterpret_cast< ::pg_query::CreateOpFamilyStmt&>(::pg_query::_CreateOpFamilyStmt_default_instance_); +inline const ::pg_query::ReplicaIdentityStmt& Node::_internal_replica_identity_stmt() const { + return node_case() == kReplicaIdentityStmt ? *_impl_.node_.replica_identity_stmt_ : reinterpret_cast<::pg_query::ReplicaIdentityStmt&>(::pg_query::_ReplicaIdentityStmt_default_instance_); } -inline const ::pg_query::CreateOpFamilyStmt& Node::create_op_family_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_family_stmt) - return _internal_create_op_family_stmt(); +inline const ::pg_query::ReplicaIdentityStmt& Node::replica_identity_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.replica_identity_stmt) + return _internal_replica_identity_stmt(); } -inline ::pg_query::CreateOpFamilyStmt* Node::unsafe_arena_release_create_op_family_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_family_stmt) - if (_internal_has_create_op_family_stmt()) { +inline ::pg_query::ReplicaIdentityStmt* Node::unsafe_arena_release_replica_identity_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.replica_identity_stmt) + if (node_case() == kReplicaIdentityStmt) { clear_has_node(); - ::pg_query::CreateOpFamilyStmt* temp = _impl_.node_.create_op_family_stmt_; - _impl_.node_.create_op_family_stmt_ = nullptr; + auto* temp = _impl_.node_.replica_identity_stmt_; + _impl_.node_.replica_identity_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* create_op_family_stmt) { +inline void Node::unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_op_family_stmt) { - set_has_create_op_family_stmt(); - _impl_.node_.create_op_family_stmt_ = create_op_family_stmt; + if (value) { + set_has_replica_identity_stmt(); + _impl_.node_.replica_identity_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_family_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.replica_identity_stmt) } -inline ::pg_query::CreateOpFamilyStmt* Node::_internal_mutable_create_op_family_stmt() { - if (!_internal_has_create_op_family_stmt()) { +inline ::pg_query::ReplicaIdentityStmt* Node::_internal_mutable_replica_identity_stmt() { + if (node_case() != kReplicaIdentityStmt) { clear_node(); - set_has_create_op_family_stmt(); - _impl_.node_.create_op_family_stmt_ = CreateMaybeMessage< ::pg_query::CreateOpFamilyStmt >(GetArenaForAllocation()); + set_has_replica_identity_stmt(); + _impl_.node_.replica_identity_stmt_ = CreateMaybeMessage<::pg_query::ReplicaIdentityStmt>(GetArena()); } - return _impl_.node_.create_op_family_stmt_; + return _impl_.node_.replica_identity_stmt_; } -inline ::pg_query::CreateOpFamilyStmt* Node::mutable_create_op_family_stmt() { - ::pg_query::CreateOpFamilyStmt* _msg = _internal_mutable_create_op_family_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_family_stmt) +inline ::pg_query::ReplicaIdentityStmt* Node::mutable_replica_identity_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReplicaIdentityStmt* _msg = _internal_mutable_replica_identity_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.replica_identity_stmt) return _msg; } -// .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 118 [json_name = "AlterOpFamilyStmt"]; -inline bool Node::_internal_has_alter_op_family_stmt() const { - return node_case() == kAlterOpFamilyStmt; +// .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"]; +inline bool Node::has_alter_table_cmd() const { + return node_case() == kAlterTableCmd; } -inline bool Node::has_alter_op_family_stmt() const { - return _internal_has_alter_op_family_stmt(); +inline bool Node::_internal_has_alter_table_cmd() const { + return node_case() == kAlterTableCmd; } -inline void Node::set_has_alter_op_family_stmt() { - _impl_._oneof_case_[0] = kAlterOpFamilyStmt; +inline void Node::set_has_alter_table_cmd() { + _impl_._oneof_case_[0] = kAlterTableCmd; } -inline void Node::clear_alter_op_family_stmt() { - if (_internal_has_alter_op_family_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_op_family_stmt_; +inline void Node::clear_alter_table_cmd() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTableCmd) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_table_cmd_; } clear_has_node(); } } -inline ::pg_query::AlterOpFamilyStmt* Node::release_alter_op_family_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_op_family_stmt) - if (_internal_has_alter_op_family_stmt()) { +inline ::pg_query::AlterTableCmd* Node::release_alter_table_cmd() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_cmd) + if (node_case() == kAlterTableCmd) { clear_has_node(); - ::pg_query::AlterOpFamilyStmt* temp = _impl_.node_.alter_op_family_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_table_cmd_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_op_family_stmt_ = nullptr; + _impl_.node_.alter_table_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterOpFamilyStmt& Node::_internal_alter_op_family_stmt() const { - return _internal_has_alter_op_family_stmt() - ? *_impl_.node_.alter_op_family_stmt_ - : reinterpret_cast< ::pg_query::AlterOpFamilyStmt&>(::pg_query::_AlterOpFamilyStmt_default_instance_); +inline const ::pg_query::AlterTableCmd& Node::_internal_alter_table_cmd() const { + return node_case() == kAlterTableCmd ? *_impl_.node_.alter_table_cmd_ : reinterpret_cast<::pg_query::AlterTableCmd&>(::pg_query::_AlterTableCmd_default_instance_); } -inline const ::pg_query::AlterOpFamilyStmt& Node::alter_op_family_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_op_family_stmt) - return _internal_alter_op_family_stmt(); +inline const ::pg_query::AlterTableCmd& Node::alter_table_cmd() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_cmd) + return _internal_alter_table_cmd(); } -inline ::pg_query::AlterOpFamilyStmt* Node::unsafe_arena_release_alter_op_family_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_op_family_stmt) - if (_internal_has_alter_op_family_stmt()) { +inline ::pg_query::AlterTableCmd* Node::unsafe_arena_release_alter_table_cmd() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_cmd) + if (node_case() == kAlterTableCmd) { clear_has_node(); - ::pg_query::AlterOpFamilyStmt* temp = _impl_.node_.alter_op_family_stmt_; - _impl_.node_.alter_op_family_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_table_cmd_; + _impl_.node_.alter_table_cmd_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* alter_op_family_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_op_family_stmt) { - set_has_alter_op_family_stmt(); - _impl_.node_.alter_op_family_stmt_ = alter_op_family_stmt; + if (value) { + set_has_alter_table_cmd(); + _impl_.node_.alter_table_cmd_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_op_family_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_cmd) } -inline ::pg_query::AlterOpFamilyStmt* Node::_internal_mutable_alter_op_family_stmt() { - if (!_internal_has_alter_op_family_stmt()) { +inline ::pg_query::AlterTableCmd* Node::_internal_mutable_alter_table_cmd() { + if (node_case() != kAlterTableCmd) { clear_node(); - set_has_alter_op_family_stmt(); - _impl_.node_.alter_op_family_stmt_ = CreateMaybeMessage< ::pg_query::AlterOpFamilyStmt >(GetArenaForAllocation()); + set_has_alter_table_cmd(); + _impl_.node_.alter_table_cmd_ = CreateMaybeMessage<::pg_query::AlterTableCmd>(GetArena()); } - return _impl_.node_.alter_op_family_stmt_; + return _impl_.node_.alter_table_cmd_; } -inline ::pg_query::AlterOpFamilyStmt* Node::mutable_alter_op_family_stmt() { - ::pg_query::AlterOpFamilyStmt* _msg = _internal_mutable_alter_op_family_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_op_family_stmt) +inline ::pg_query::AlterTableCmd* Node::mutable_alter_table_cmd() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableCmd* _msg = _internal_mutable_alter_table_cmd(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_cmd) return _msg; } -// .pg_query.PrepareStmt prepare_stmt = 119 [json_name = "PrepareStmt"]; -inline bool Node::_internal_has_prepare_stmt() const { - return node_case() == kPrepareStmt; +// .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"]; +inline bool Node::has_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt; } -inline bool Node::has_prepare_stmt() const { - return _internal_has_prepare_stmt(); +inline bool Node::_internal_has_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt; } -inline void Node::set_has_prepare_stmt() { - _impl_._oneof_case_[0] = kPrepareStmt; +inline void Node::set_has_alter_collation_stmt() { + _impl_._oneof_case_[0] = kAlterCollationStmt; } -inline void Node::clear_prepare_stmt() { - if (_internal_has_prepare_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.prepare_stmt_; +inline void Node::clear_alter_collation_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterCollationStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_collation_stmt_; } clear_has_node(); } } -inline ::pg_query::PrepareStmt* Node::release_prepare_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.prepare_stmt) - if (_internal_has_prepare_stmt()) { +inline ::pg_query::AlterCollationStmt* Node::release_alter_collation_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_collation_stmt) + if (node_case() == kAlterCollationStmt) { clear_has_node(); - ::pg_query::PrepareStmt* temp = _impl_.node_.prepare_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_collation_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.prepare_stmt_ = nullptr; + _impl_.node_.alter_collation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PrepareStmt& Node::_internal_prepare_stmt() const { - return _internal_has_prepare_stmt() - ? *_impl_.node_.prepare_stmt_ - : reinterpret_cast< ::pg_query::PrepareStmt&>(::pg_query::_PrepareStmt_default_instance_); +inline const ::pg_query::AlterCollationStmt& Node::_internal_alter_collation_stmt() const { + return node_case() == kAlterCollationStmt ? *_impl_.node_.alter_collation_stmt_ : reinterpret_cast<::pg_query::AlterCollationStmt&>(::pg_query::_AlterCollationStmt_default_instance_); } -inline const ::pg_query::PrepareStmt& Node::prepare_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.prepare_stmt) - return _internal_prepare_stmt(); +inline const ::pg_query::AlterCollationStmt& Node::alter_collation_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_collation_stmt) + return _internal_alter_collation_stmt(); } -inline ::pg_query::PrepareStmt* Node::unsafe_arena_release_prepare_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.prepare_stmt) - if (_internal_has_prepare_stmt()) { +inline ::pg_query::AlterCollationStmt* Node::unsafe_arena_release_alter_collation_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_collation_stmt) + if (node_case() == kAlterCollationStmt) { clear_has_node(); - ::pg_query::PrepareStmt* temp = _impl_.node_.prepare_stmt_; - _impl_.node_.prepare_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_collation_stmt_; + _impl_.node_.alter_collation_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* prepare_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (prepare_stmt) { - set_has_prepare_stmt(); - _impl_.node_.prepare_stmt_ = prepare_stmt; + if (value) { + set_has_alter_collation_stmt(); + _impl_.node_.alter_collation_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.prepare_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_collation_stmt) } -inline ::pg_query::PrepareStmt* Node::_internal_mutable_prepare_stmt() { - if (!_internal_has_prepare_stmt()) { +inline ::pg_query::AlterCollationStmt* Node::_internal_mutable_alter_collation_stmt() { + if (node_case() != kAlterCollationStmt) { clear_node(); - set_has_prepare_stmt(); - _impl_.node_.prepare_stmt_ = CreateMaybeMessage< ::pg_query::PrepareStmt >(GetArenaForAllocation()); + set_has_alter_collation_stmt(); + _impl_.node_.alter_collation_stmt_ = CreateMaybeMessage<::pg_query::AlterCollationStmt>(GetArena()); } - return _impl_.node_.prepare_stmt_; + return _impl_.node_.alter_collation_stmt_; } -inline ::pg_query::PrepareStmt* Node::mutable_prepare_stmt() { - ::pg_query::PrepareStmt* _msg = _internal_mutable_prepare_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.prepare_stmt) +inline ::pg_query::AlterCollationStmt* Node::mutable_alter_collation_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterCollationStmt* _msg = _internal_mutable_alter_collation_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_collation_stmt) return _msg; } -// .pg_query.ExecuteStmt execute_stmt = 120 [json_name = "ExecuteStmt"]; -inline bool Node::_internal_has_execute_stmt() const { - return node_case() == kExecuteStmt; +// .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"]; +inline bool Node::has_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt; } -inline bool Node::has_execute_stmt() const { - return _internal_has_execute_stmt(); +inline bool Node::_internal_has_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt; } -inline void Node::set_has_execute_stmt() { - _impl_._oneof_case_[0] = kExecuteStmt; +inline void Node::set_has_alter_domain_stmt() { + _impl_._oneof_case_[0] = kAlterDomainStmt; } -inline void Node::clear_execute_stmt() { - if (_internal_has_execute_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.execute_stmt_; +inline void Node::clear_alter_domain_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterDomainStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_domain_stmt_; } clear_has_node(); } } -inline ::pg_query::ExecuteStmt* Node::release_execute_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.execute_stmt) - if (_internal_has_execute_stmt()) { +inline ::pg_query::AlterDomainStmt* Node::release_alter_domain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_domain_stmt) + if (node_case() == kAlterDomainStmt) { clear_has_node(); - ::pg_query::ExecuteStmt* temp = _impl_.node_.execute_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_domain_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.execute_stmt_ = nullptr; + _impl_.node_.alter_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ExecuteStmt& Node::_internal_execute_stmt() const { - return _internal_has_execute_stmt() - ? *_impl_.node_.execute_stmt_ - : reinterpret_cast< ::pg_query::ExecuteStmt&>(::pg_query::_ExecuteStmt_default_instance_); +inline const ::pg_query::AlterDomainStmt& Node::_internal_alter_domain_stmt() const { + return node_case() == kAlterDomainStmt ? *_impl_.node_.alter_domain_stmt_ : reinterpret_cast<::pg_query::AlterDomainStmt&>(::pg_query::_AlterDomainStmt_default_instance_); } -inline const ::pg_query::ExecuteStmt& Node::execute_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.execute_stmt) - return _internal_execute_stmt(); +inline const ::pg_query::AlterDomainStmt& Node::alter_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_domain_stmt) + return _internal_alter_domain_stmt(); } -inline ::pg_query::ExecuteStmt* Node::unsafe_arena_release_execute_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.execute_stmt) - if (_internal_has_execute_stmt()) { +inline ::pg_query::AlterDomainStmt* Node::unsafe_arena_release_alter_domain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_domain_stmt) + if (node_case() == kAlterDomainStmt) { clear_has_node(); - ::pg_query::ExecuteStmt* temp = _impl_.node_.execute_stmt_; - _impl_.node_.execute_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_domain_stmt_; + _impl_.node_.alter_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* execute_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (execute_stmt) { - set_has_execute_stmt(); - _impl_.node_.execute_stmt_ = execute_stmt; + if (value) { + set_has_alter_domain_stmt(); + _impl_.node_.alter_domain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.execute_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_domain_stmt) } -inline ::pg_query::ExecuteStmt* Node::_internal_mutable_execute_stmt() { - if (!_internal_has_execute_stmt()) { +inline ::pg_query::AlterDomainStmt* Node::_internal_mutable_alter_domain_stmt() { + if (node_case() != kAlterDomainStmt) { clear_node(); - set_has_execute_stmt(); - _impl_.node_.execute_stmt_ = CreateMaybeMessage< ::pg_query::ExecuteStmt >(GetArenaForAllocation()); + set_has_alter_domain_stmt(); + _impl_.node_.alter_domain_stmt_ = CreateMaybeMessage<::pg_query::AlterDomainStmt>(GetArena()); } - return _impl_.node_.execute_stmt_; + return _impl_.node_.alter_domain_stmt_; } -inline ::pg_query::ExecuteStmt* Node::mutable_execute_stmt() { - ::pg_query::ExecuteStmt* _msg = _internal_mutable_execute_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.execute_stmt) +inline ::pg_query::AlterDomainStmt* Node::mutable_alter_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDomainStmt* _msg = _internal_mutable_alter_domain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_domain_stmt) return _msg; } -// .pg_query.DeallocateStmt deallocate_stmt = 121 [json_name = "DeallocateStmt"]; -inline bool Node::_internal_has_deallocate_stmt() const { - return node_case() == kDeallocateStmt; +// .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"]; +inline bool Node::has_grant_stmt() const { + return node_case() == kGrantStmt; } -inline bool Node::has_deallocate_stmt() const { - return _internal_has_deallocate_stmt(); +inline bool Node::_internal_has_grant_stmt() const { + return node_case() == kGrantStmt; } -inline void Node::set_has_deallocate_stmt() { - _impl_._oneof_case_[0] = kDeallocateStmt; +inline void Node::set_has_grant_stmt() { + _impl_._oneof_case_[0] = kGrantStmt; } -inline void Node::clear_deallocate_stmt() { - if (_internal_has_deallocate_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.deallocate_stmt_; +inline void Node::clear_grant_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kGrantStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.grant_stmt_; } clear_has_node(); } } -inline ::pg_query::DeallocateStmt* Node::release_deallocate_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.deallocate_stmt) - if (_internal_has_deallocate_stmt()) { +inline ::pg_query::GrantStmt* Node::release_grant_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.grant_stmt) + if (node_case() == kGrantStmt) { clear_has_node(); - ::pg_query::DeallocateStmt* temp = _impl_.node_.deallocate_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.grant_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.deallocate_stmt_ = nullptr; + _impl_.node_.grant_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DeallocateStmt& Node::_internal_deallocate_stmt() const { - return _internal_has_deallocate_stmt() - ? *_impl_.node_.deallocate_stmt_ - : reinterpret_cast< ::pg_query::DeallocateStmt&>(::pg_query::_DeallocateStmt_default_instance_); +inline const ::pg_query::GrantStmt& Node::_internal_grant_stmt() const { + return node_case() == kGrantStmt ? *_impl_.node_.grant_stmt_ : reinterpret_cast<::pg_query::GrantStmt&>(::pg_query::_GrantStmt_default_instance_); } -inline const ::pg_query::DeallocateStmt& Node::deallocate_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.deallocate_stmt) - return _internal_deallocate_stmt(); +inline const ::pg_query::GrantStmt& Node::grant_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grant_stmt) + return _internal_grant_stmt(); } -inline ::pg_query::DeallocateStmt* Node::unsafe_arena_release_deallocate_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.deallocate_stmt) - if (_internal_has_deallocate_stmt()) { +inline ::pg_query::GrantStmt* Node::unsafe_arena_release_grant_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_stmt) + if (node_case() == kGrantStmt) { clear_has_node(); - ::pg_query::DeallocateStmt* temp = _impl_.node_.deallocate_stmt_; - _impl_.node_.deallocate_stmt_ = nullptr; + auto* temp = _impl_.node_.grant_stmt_; + _impl_.node_.grant_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* deallocate_stmt) { +inline void Node::unsafe_arena_set_allocated_grant_stmt(::pg_query::GrantStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (deallocate_stmt) { - set_has_deallocate_stmt(); - _impl_.node_.deallocate_stmt_ = deallocate_stmt; + if (value) { + set_has_grant_stmt(); + _impl_.node_.grant_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.deallocate_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_stmt) } -inline ::pg_query::DeallocateStmt* Node::_internal_mutable_deallocate_stmt() { - if (!_internal_has_deallocate_stmt()) { +inline ::pg_query::GrantStmt* Node::_internal_mutable_grant_stmt() { + if (node_case() != kGrantStmt) { clear_node(); - set_has_deallocate_stmt(); - _impl_.node_.deallocate_stmt_ = CreateMaybeMessage< ::pg_query::DeallocateStmt >(GetArenaForAllocation()); + set_has_grant_stmt(); + _impl_.node_.grant_stmt_ = CreateMaybeMessage<::pg_query::GrantStmt>(GetArena()); } - return _impl_.node_.deallocate_stmt_; + return _impl_.node_.grant_stmt_; } -inline ::pg_query::DeallocateStmt* Node::mutable_deallocate_stmt() { - ::pg_query::DeallocateStmt* _msg = _internal_mutable_deallocate_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.deallocate_stmt) +inline ::pg_query::GrantStmt* Node::mutable_grant_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GrantStmt* _msg = _internal_mutable_grant_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_stmt) return _msg; } -// .pg_query.DeclareCursorStmt declare_cursor_stmt = 122 [json_name = "DeclareCursorStmt"]; -inline bool Node::_internal_has_declare_cursor_stmt() const { - return node_case() == kDeclareCursorStmt; +// .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"]; +inline bool Node::has_object_with_args() const { + return node_case() == kObjectWithArgs; } -inline bool Node::has_declare_cursor_stmt() const { - return _internal_has_declare_cursor_stmt(); +inline bool Node::_internal_has_object_with_args() const { + return node_case() == kObjectWithArgs; } -inline void Node::set_has_declare_cursor_stmt() { - _impl_._oneof_case_[0] = kDeclareCursorStmt; +inline void Node::set_has_object_with_args() { + _impl_._oneof_case_[0] = kObjectWithArgs; } -inline void Node::clear_declare_cursor_stmt() { - if (_internal_has_declare_cursor_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.declare_cursor_stmt_; +inline void Node::clear_object_with_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kObjectWithArgs) { + if (GetArena() == nullptr) { + delete _impl_.node_.object_with_args_; } clear_has_node(); } } -inline ::pg_query::DeclareCursorStmt* Node::release_declare_cursor_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.declare_cursor_stmt) - if (_internal_has_declare_cursor_stmt()) { +inline ::pg_query::ObjectWithArgs* Node::release_object_with_args() { + // @@protoc_insertion_point(field_release:pg_query.Node.object_with_args) + if (node_case() == kObjectWithArgs) { clear_has_node(); - ::pg_query::DeclareCursorStmt* temp = _impl_.node_.declare_cursor_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.object_with_args_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.declare_cursor_stmt_ = nullptr; + _impl_.node_.object_with_args_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DeclareCursorStmt& Node::_internal_declare_cursor_stmt() const { - return _internal_has_declare_cursor_stmt() - ? *_impl_.node_.declare_cursor_stmt_ - : reinterpret_cast< ::pg_query::DeclareCursorStmt&>(::pg_query::_DeclareCursorStmt_default_instance_); +inline const ::pg_query::ObjectWithArgs& Node::_internal_object_with_args() const { + return node_case() == kObjectWithArgs ? *_impl_.node_.object_with_args_ : reinterpret_cast<::pg_query::ObjectWithArgs&>(::pg_query::_ObjectWithArgs_default_instance_); } -inline const ::pg_query::DeclareCursorStmt& Node::declare_cursor_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.declare_cursor_stmt) - return _internal_declare_cursor_stmt(); +inline const ::pg_query::ObjectWithArgs& Node::object_with_args() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.object_with_args) + return _internal_object_with_args(); } -inline ::pg_query::DeclareCursorStmt* Node::unsafe_arena_release_declare_cursor_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.declare_cursor_stmt) - if (_internal_has_declare_cursor_stmt()) { +inline ::pg_query::ObjectWithArgs* Node::unsafe_arena_release_object_with_args() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.object_with_args) + if (node_case() == kObjectWithArgs) { clear_has_node(); - ::pg_query::DeclareCursorStmt* temp = _impl_.node_.declare_cursor_stmt_; - _impl_.node_.declare_cursor_stmt_ = nullptr; + auto* temp = _impl_.node_.object_with_args_; + _impl_.node_.object_with_args_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* declare_cursor_stmt) { +inline void Node::unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (declare_cursor_stmt) { - set_has_declare_cursor_stmt(); - _impl_.node_.declare_cursor_stmt_ = declare_cursor_stmt; + if (value) { + set_has_object_with_args(); + _impl_.node_.object_with_args_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.declare_cursor_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.object_with_args) } -inline ::pg_query::DeclareCursorStmt* Node::_internal_mutable_declare_cursor_stmt() { - if (!_internal_has_declare_cursor_stmt()) { +inline ::pg_query::ObjectWithArgs* Node::_internal_mutable_object_with_args() { + if (node_case() != kObjectWithArgs) { clear_node(); - set_has_declare_cursor_stmt(); - _impl_.node_.declare_cursor_stmt_ = CreateMaybeMessage< ::pg_query::DeclareCursorStmt >(GetArenaForAllocation()); + set_has_object_with_args(); + _impl_.node_.object_with_args_ = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); } - return _impl_.node_.declare_cursor_stmt_; + return _impl_.node_.object_with_args_; } -inline ::pg_query::DeclareCursorStmt* Node::mutable_declare_cursor_stmt() { - ::pg_query::DeclareCursorStmt* _msg = _internal_mutable_declare_cursor_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.declare_cursor_stmt) +inline ::pg_query::ObjectWithArgs* Node::mutable_object_with_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_object_with_args(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.object_with_args) return _msg; } -// .pg_query.CreateTableSpaceStmt create_table_space_stmt = 123 [json_name = "CreateTableSpaceStmt"]; -inline bool Node::_internal_has_create_table_space_stmt() const { - return node_case() == kCreateTableSpaceStmt; +// .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"]; +inline bool Node::has_access_priv() const { + return node_case() == kAccessPriv; } -inline bool Node::has_create_table_space_stmt() const { - return _internal_has_create_table_space_stmt(); +inline bool Node::_internal_has_access_priv() const { + return node_case() == kAccessPriv; } -inline void Node::set_has_create_table_space_stmt() { - _impl_._oneof_case_[0] = kCreateTableSpaceStmt; +inline void Node::set_has_access_priv() { + _impl_._oneof_case_[0] = kAccessPriv; } -inline void Node::clear_create_table_space_stmt() { - if (_internal_has_create_table_space_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_table_space_stmt_; +inline void Node::clear_access_priv() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAccessPriv) { + if (GetArena() == nullptr) { + delete _impl_.node_.access_priv_; } clear_has_node(); } } -inline ::pg_query::CreateTableSpaceStmt* Node::release_create_table_space_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_table_space_stmt) - if (_internal_has_create_table_space_stmt()) { +inline ::pg_query::AccessPriv* Node::release_access_priv() { + // @@protoc_insertion_point(field_release:pg_query.Node.access_priv) + if (node_case() == kAccessPriv) { clear_has_node(); - ::pg_query::CreateTableSpaceStmt* temp = _impl_.node_.create_table_space_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.access_priv_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_table_space_stmt_ = nullptr; + _impl_.node_.access_priv_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTableSpaceStmt& Node::_internal_create_table_space_stmt() const { - return _internal_has_create_table_space_stmt() - ? *_impl_.node_.create_table_space_stmt_ - : reinterpret_cast< ::pg_query::CreateTableSpaceStmt&>(::pg_query::_CreateTableSpaceStmt_default_instance_); +inline const ::pg_query::AccessPriv& Node::_internal_access_priv() const { + return node_case() == kAccessPriv ? *_impl_.node_.access_priv_ : reinterpret_cast<::pg_query::AccessPriv&>(::pg_query::_AccessPriv_default_instance_); } -inline const ::pg_query::CreateTableSpaceStmt& Node::create_table_space_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_table_space_stmt) - return _internal_create_table_space_stmt(); +inline const ::pg_query::AccessPriv& Node::access_priv() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.access_priv) + return _internal_access_priv(); } -inline ::pg_query::CreateTableSpaceStmt* Node::unsafe_arena_release_create_table_space_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_space_stmt) - if (_internal_has_create_table_space_stmt()) { +inline ::pg_query::AccessPriv* Node::unsafe_arena_release_access_priv() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.access_priv) + if (node_case() == kAccessPriv) { clear_has_node(); - ::pg_query::CreateTableSpaceStmt* temp = _impl_.node_.create_table_space_stmt_; - _impl_.node_.create_table_space_stmt_ = nullptr; + auto* temp = _impl_.node_.access_priv_; + _impl_.node_.access_priv_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* create_table_space_stmt) { +inline void Node::unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_table_space_stmt) { - set_has_create_table_space_stmt(); - _impl_.node_.create_table_space_stmt_ = create_table_space_stmt; + if (value) { + set_has_access_priv(); + _impl_.node_.access_priv_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_space_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.access_priv) } -inline ::pg_query::CreateTableSpaceStmt* Node::_internal_mutable_create_table_space_stmt() { - if (!_internal_has_create_table_space_stmt()) { +inline ::pg_query::AccessPriv* Node::_internal_mutable_access_priv() { + if (node_case() != kAccessPriv) { clear_node(); - set_has_create_table_space_stmt(); - _impl_.node_.create_table_space_stmt_ = CreateMaybeMessage< ::pg_query::CreateTableSpaceStmt >(GetArenaForAllocation()); + set_has_access_priv(); + _impl_.node_.access_priv_ = CreateMaybeMessage<::pg_query::AccessPriv>(GetArena()); } - return _impl_.node_.create_table_space_stmt_; + return _impl_.node_.access_priv_; } -inline ::pg_query::CreateTableSpaceStmt* Node::mutable_create_table_space_stmt() { - ::pg_query::CreateTableSpaceStmt* _msg = _internal_mutable_create_table_space_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_space_stmt) +inline ::pg_query::AccessPriv* Node::mutable_access_priv() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AccessPriv* _msg = _internal_mutable_access_priv(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.access_priv) return _msg; } -// .pg_query.DropTableSpaceStmt drop_table_space_stmt = 124 [json_name = "DropTableSpaceStmt"]; -inline bool Node::_internal_has_drop_table_space_stmt() const { - return node_case() == kDropTableSpaceStmt; +// .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"]; +inline bool Node::has_grant_role_stmt() const { + return node_case() == kGrantRoleStmt; } -inline bool Node::has_drop_table_space_stmt() const { - return _internal_has_drop_table_space_stmt(); +inline bool Node::_internal_has_grant_role_stmt() const { + return node_case() == kGrantRoleStmt; } -inline void Node::set_has_drop_table_space_stmt() { - _impl_._oneof_case_[0] = kDropTableSpaceStmt; +inline void Node::set_has_grant_role_stmt() { + _impl_._oneof_case_[0] = kGrantRoleStmt; } -inline void Node::clear_drop_table_space_stmt() { - if (_internal_has_drop_table_space_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.drop_table_space_stmt_; +inline void Node::clear_grant_role_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kGrantRoleStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.grant_role_stmt_; } clear_has_node(); } } -inline ::pg_query::DropTableSpaceStmt* Node::release_drop_table_space_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_table_space_stmt) - if (_internal_has_drop_table_space_stmt()) { +inline ::pg_query::GrantRoleStmt* Node::release_grant_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.grant_role_stmt) + if (node_case() == kGrantRoleStmt) { clear_has_node(); - ::pg_query::DropTableSpaceStmt* temp = _impl_.node_.drop_table_space_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.grant_role_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_table_space_stmt_ = nullptr; + _impl_.node_.grant_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropTableSpaceStmt& Node::_internal_drop_table_space_stmt() const { - return _internal_has_drop_table_space_stmt() - ? *_impl_.node_.drop_table_space_stmt_ - : reinterpret_cast< ::pg_query::DropTableSpaceStmt&>(::pg_query::_DropTableSpaceStmt_default_instance_); +inline const ::pg_query::GrantRoleStmt& Node::_internal_grant_role_stmt() const { + return node_case() == kGrantRoleStmt ? *_impl_.node_.grant_role_stmt_ : reinterpret_cast<::pg_query::GrantRoleStmt&>(::pg_query::_GrantRoleStmt_default_instance_); } -inline const ::pg_query::DropTableSpaceStmt& Node::drop_table_space_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_table_space_stmt) - return _internal_drop_table_space_stmt(); +inline const ::pg_query::GrantRoleStmt& Node::grant_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.grant_role_stmt) + return _internal_grant_role_stmt(); } -inline ::pg_query::DropTableSpaceStmt* Node::unsafe_arena_release_drop_table_space_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_table_space_stmt) - if (_internal_has_drop_table_space_stmt()) { +inline ::pg_query::GrantRoleStmt* Node::unsafe_arena_release_grant_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grant_role_stmt) + if (node_case() == kGrantRoleStmt) { clear_has_node(); - ::pg_query::DropTableSpaceStmt* temp = _impl_.node_.drop_table_space_stmt_; - _impl_.node_.drop_table_space_stmt_ = nullptr; + auto* temp = _impl_.node_.grant_role_stmt_; + _impl_.node_.grant_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* drop_table_space_stmt) { +inline void Node::unsafe_arena_set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_table_space_stmt) { - set_has_drop_table_space_stmt(); - _impl_.node_.drop_table_space_stmt_ = drop_table_space_stmt; + if (value) { + set_has_grant_role_stmt(); + _impl_.node_.grant_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_table_space_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grant_role_stmt) } -inline ::pg_query::DropTableSpaceStmt* Node::_internal_mutable_drop_table_space_stmt() { - if (!_internal_has_drop_table_space_stmt()) { +inline ::pg_query::GrantRoleStmt* Node::_internal_mutable_grant_role_stmt() { + if (node_case() != kGrantRoleStmt) { clear_node(); - set_has_drop_table_space_stmt(); - _impl_.node_.drop_table_space_stmt_ = CreateMaybeMessage< ::pg_query::DropTableSpaceStmt >(GetArenaForAllocation()); + set_has_grant_role_stmt(); + _impl_.node_.grant_role_stmt_ = CreateMaybeMessage<::pg_query::GrantRoleStmt>(GetArena()); } - return _impl_.node_.drop_table_space_stmt_; + return _impl_.node_.grant_role_stmt_; } -inline ::pg_query::DropTableSpaceStmt* Node::mutable_drop_table_space_stmt() { - ::pg_query::DropTableSpaceStmt* _msg = _internal_mutable_drop_table_space_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_table_space_stmt) +inline ::pg_query::GrantRoleStmt* Node::mutable_grant_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GrantRoleStmt* _msg = _internal_mutable_grant_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.grant_role_stmt) return _msg; } -// .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 125 [json_name = "AlterObjectDependsStmt"]; -inline bool Node::_internal_has_alter_object_depends_stmt() const { - return node_case() == kAlterObjectDependsStmt; +// .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"]; +inline bool Node::has_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt; } -inline bool Node::has_alter_object_depends_stmt() const { - return _internal_has_alter_object_depends_stmt(); +inline bool Node::_internal_has_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt; } -inline void Node::set_has_alter_object_depends_stmt() { - _impl_._oneof_case_[0] = kAlterObjectDependsStmt; +inline void Node::set_has_alter_default_privileges_stmt() { + _impl_._oneof_case_[0] = kAlterDefaultPrivilegesStmt; } -inline void Node::clear_alter_object_depends_stmt() { - if (_internal_has_alter_object_depends_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_object_depends_stmt_; +inline void Node::clear_alter_default_privileges_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterDefaultPrivilegesStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_default_privileges_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterObjectDependsStmt* Node::release_alter_object_depends_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_depends_stmt) - if (_internal_has_alter_object_depends_stmt()) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::release_alter_default_privileges_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_default_privileges_stmt) + if (node_case() == kAlterDefaultPrivilegesStmt) { clear_has_node(); - ::pg_query::AlterObjectDependsStmt* temp = _impl_.node_.alter_object_depends_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_default_privileges_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_object_depends_stmt_ = nullptr; + _impl_.node_.alter_default_privileges_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterObjectDependsStmt& Node::_internal_alter_object_depends_stmt() const { - return _internal_has_alter_object_depends_stmt() - ? *_impl_.node_.alter_object_depends_stmt_ - : reinterpret_cast< ::pg_query::AlterObjectDependsStmt&>(::pg_query::_AlterObjectDependsStmt_default_instance_); +inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::_internal_alter_default_privileges_stmt() const { + return node_case() == kAlterDefaultPrivilegesStmt ? *_impl_.node_.alter_default_privileges_stmt_ : reinterpret_cast<::pg_query::AlterDefaultPrivilegesStmt&>(::pg_query::_AlterDefaultPrivilegesStmt_default_instance_); } -inline const ::pg_query::AlterObjectDependsStmt& Node::alter_object_depends_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_depends_stmt) - return _internal_alter_object_depends_stmt(); +inline const ::pg_query::AlterDefaultPrivilegesStmt& Node::alter_default_privileges_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_default_privileges_stmt) + return _internal_alter_default_privileges_stmt(); } -inline ::pg_query::AlterObjectDependsStmt* Node::unsafe_arena_release_alter_object_depends_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_depends_stmt) - if (_internal_has_alter_object_depends_stmt()) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::unsafe_arena_release_alter_default_privileges_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_default_privileges_stmt) + if (node_case() == kAlterDefaultPrivilegesStmt) { clear_has_node(); - ::pg_query::AlterObjectDependsStmt* temp = _impl_.node_.alter_object_depends_stmt_; - _impl_.node_.alter_object_depends_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_default_privileges_stmt_; + _impl_.node_.alter_default_privileges_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_object_depends_stmt) { - set_has_alter_object_depends_stmt(); - _impl_.node_.alter_object_depends_stmt_ = alter_object_depends_stmt; + if (value) { + set_has_alter_default_privileges_stmt(); + _impl_.node_.alter_default_privileges_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_depends_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_default_privileges_stmt) } -inline ::pg_query::AlterObjectDependsStmt* Node::_internal_mutable_alter_object_depends_stmt() { - if (!_internal_has_alter_object_depends_stmt()) { +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::_internal_mutable_alter_default_privileges_stmt() { + if (node_case() != kAlterDefaultPrivilegesStmt) { clear_node(); - set_has_alter_object_depends_stmt(); - _impl_.node_.alter_object_depends_stmt_ = CreateMaybeMessage< ::pg_query::AlterObjectDependsStmt >(GetArenaForAllocation()); + set_has_alter_default_privileges_stmt(); + _impl_.node_.alter_default_privileges_stmt_ = CreateMaybeMessage<::pg_query::AlterDefaultPrivilegesStmt>(GetArena()); } - return _impl_.node_.alter_object_depends_stmt_; + return _impl_.node_.alter_default_privileges_stmt_; } -inline ::pg_query::AlterObjectDependsStmt* Node::mutable_alter_object_depends_stmt() { - ::pg_query::AlterObjectDependsStmt* _msg = _internal_mutable_alter_object_depends_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_depends_stmt) +inline ::pg_query::AlterDefaultPrivilegesStmt* Node::mutable_alter_default_privileges_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDefaultPrivilegesStmt* _msg = _internal_mutable_alter_default_privileges_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_default_privileges_stmt) return _msg; } -// .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 126 [json_name = "AlterObjectSchemaStmt"]; -inline bool Node::_internal_has_alter_object_schema_stmt() const { - return node_case() == kAlterObjectSchemaStmt; +// .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"]; +inline bool Node::has_copy_stmt() const { + return node_case() == kCopyStmt; } -inline bool Node::has_alter_object_schema_stmt() const { - return _internal_has_alter_object_schema_stmt(); +inline bool Node::_internal_has_copy_stmt() const { + return node_case() == kCopyStmt; } -inline void Node::set_has_alter_object_schema_stmt() { - _impl_._oneof_case_[0] = kAlterObjectSchemaStmt; +inline void Node::set_has_copy_stmt() { + _impl_._oneof_case_[0] = kCopyStmt; } -inline void Node::clear_alter_object_schema_stmt() { - if (_internal_has_alter_object_schema_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_object_schema_stmt_; +inline void Node::clear_copy_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCopyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.copy_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterObjectSchemaStmt* Node::release_alter_object_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_schema_stmt) - if (_internal_has_alter_object_schema_stmt()) { +inline ::pg_query::CopyStmt* Node::release_copy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.copy_stmt) + if (node_case() == kCopyStmt) { clear_has_node(); - ::pg_query::AlterObjectSchemaStmt* temp = _impl_.node_.alter_object_schema_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.copy_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_object_schema_stmt_ = nullptr; + _impl_.node_.copy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterObjectSchemaStmt& Node::_internal_alter_object_schema_stmt() const { - return _internal_has_alter_object_schema_stmt() - ? *_impl_.node_.alter_object_schema_stmt_ - : reinterpret_cast< ::pg_query::AlterObjectSchemaStmt&>(::pg_query::_AlterObjectSchemaStmt_default_instance_); +inline const ::pg_query::CopyStmt& Node::_internal_copy_stmt() const { + return node_case() == kCopyStmt ? *_impl_.node_.copy_stmt_ : reinterpret_cast<::pg_query::CopyStmt&>(::pg_query::_CopyStmt_default_instance_); } -inline const ::pg_query::AlterObjectSchemaStmt& Node::alter_object_schema_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_schema_stmt) - return _internal_alter_object_schema_stmt(); +inline const ::pg_query::CopyStmt& Node::copy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.copy_stmt) + return _internal_copy_stmt(); } -inline ::pg_query::AlterObjectSchemaStmt* Node::unsafe_arena_release_alter_object_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_schema_stmt) - if (_internal_has_alter_object_schema_stmt()) { +inline ::pg_query::CopyStmt* Node::unsafe_arena_release_copy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.copy_stmt) + if (node_case() == kCopyStmt) { clear_has_node(); - ::pg_query::AlterObjectSchemaStmt* temp = _impl_.node_.alter_object_schema_stmt_; - _impl_.node_.alter_object_schema_stmt_ = nullptr; + auto* temp = _impl_.node_.copy_stmt_; + _impl_.node_.copy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt) { +inline void Node::unsafe_arena_set_allocated_copy_stmt(::pg_query::CopyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_object_schema_stmt) { - set_has_alter_object_schema_stmt(); - _impl_.node_.alter_object_schema_stmt_ = alter_object_schema_stmt; + if (value) { + set_has_copy_stmt(); + _impl_.node_.copy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_schema_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.copy_stmt) } -inline ::pg_query::AlterObjectSchemaStmt* Node::_internal_mutable_alter_object_schema_stmt() { - if (!_internal_has_alter_object_schema_stmt()) { +inline ::pg_query::CopyStmt* Node::_internal_mutable_copy_stmt() { + if (node_case() != kCopyStmt) { clear_node(); - set_has_alter_object_schema_stmt(); - _impl_.node_.alter_object_schema_stmt_ = CreateMaybeMessage< ::pg_query::AlterObjectSchemaStmt >(GetArenaForAllocation()); + set_has_copy_stmt(); + _impl_.node_.copy_stmt_ = CreateMaybeMessage<::pg_query::CopyStmt>(GetArena()); } - return _impl_.node_.alter_object_schema_stmt_; + return _impl_.node_.copy_stmt_; } -inline ::pg_query::AlterObjectSchemaStmt* Node::mutable_alter_object_schema_stmt() { - ::pg_query::AlterObjectSchemaStmt* _msg = _internal_mutable_alter_object_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_schema_stmt) +inline ::pg_query::CopyStmt* Node::mutable_copy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CopyStmt* _msg = _internal_mutable_copy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.copy_stmt) return _msg; } -// .pg_query.AlterOwnerStmt alter_owner_stmt = 127 [json_name = "AlterOwnerStmt"]; -inline bool Node::_internal_has_alter_owner_stmt() const { - return node_case() == kAlterOwnerStmt; +// .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"]; +inline bool Node::has_variable_set_stmt() const { + return node_case() == kVariableSetStmt; } -inline bool Node::has_alter_owner_stmt() const { - return _internal_has_alter_owner_stmt(); +inline bool Node::_internal_has_variable_set_stmt() const { + return node_case() == kVariableSetStmt; } -inline void Node::set_has_alter_owner_stmt() { - _impl_._oneof_case_[0] = kAlterOwnerStmt; +inline void Node::set_has_variable_set_stmt() { + _impl_._oneof_case_[0] = kVariableSetStmt; } -inline void Node::clear_alter_owner_stmt() { - if (_internal_has_alter_owner_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_owner_stmt_; +inline void Node::clear_variable_set_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVariableSetStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.variable_set_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterOwnerStmt* Node::release_alter_owner_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_owner_stmt) - if (_internal_has_alter_owner_stmt()) { +inline ::pg_query::VariableSetStmt* Node::release_variable_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.variable_set_stmt) + if (node_case() == kVariableSetStmt) { clear_has_node(); - ::pg_query::AlterOwnerStmt* temp = _impl_.node_.alter_owner_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.variable_set_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_owner_stmt_ = nullptr; + _impl_.node_.variable_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterOwnerStmt& Node::_internal_alter_owner_stmt() const { - return _internal_has_alter_owner_stmt() - ? *_impl_.node_.alter_owner_stmt_ - : reinterpret_cast< ::pg_query::AlterOwnerStmt&>(::pg_query::_AlterOwnerStmt_default_instance_); +inline const ::pg_query::VariableSetStmt& Node::_internal_variable_set_stmt() const { + return node_case() == kVariableSetStmt ? *_impl_.node_.variable_set_stmt_ : reinterpret_cast<::pg_query::VariableSetStmt&>(::pg_query::_VariableSetStmt_default_instance_); } -inline const ::pg_query::AlterOwnerStmt& Node::alter_owner_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_owner_stmt) - return _internal_alter_owner_stmt(); +inline const ::pg_query::VariableSetStmt& Node::variable_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.variable_set_stmt) + return _internal_variable_set_stmt(); } -inline ::pg_query::AlterOwnerStmt* Node::unsafe_arena_release_alter_owner_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_owner_stmt) - if (_internal_has_alter_owner_stmt()) { +inline ::pg_query::VariableSetStmt* Node::unsafe_arena_release_variable_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_set_stmt) + if (node_case() == kVariableSetStmt) { clear_has_node(); - ::pg_query::AlterOwnerStmt* temp = _impl_.node_.alter_owner_stmt_; - _impl_.node_.alter_owner_stmt_ = nullptr; + auto* temp = _impl_.node_.variable_set_stmt_; + _impl_.node_.variable_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* alter_owner_stmt) { +inline void Node::unsafe_arena_set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_owner_stmt) { - set_has_alter_owner_stmt(); - _impl_.node_.alter_owner_stmt_ = alter_owner_stmt; + if (value) { + set_has_variable_set_stmt(); + _impl_.node_.variable_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_owner_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_set_stmt) } -inline ::pg_query::AlterOwnerStmt* Node::_internal_mutable_alter_owner_stmt() { - if (!_internal_has_alter_owner_stmt()) { +inline ::pg_query::VariableSetStmt* Node::_internal_mutable_variable_set_stmt() { + if (node_case() != kVariableSetStmt) { clear_node(); - set_has_alter_owner_stmt(); - _impl_.node_.alter_owner_stmt_ = CreateMaybeMessage< ::pg_query::AlterOwnerStmt >(GetArenaForAllocation()); + set_has_variable_set_stmt(); + _impl_.node_.variable_set_stmt_ = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); } - return _impl_.node_.alter_owner_stmt_; + return _impl_.node_.variable_set_stmt_; } -inline ::pg_query::AlterOwnerStmt* Node::mutable_alter_owner_stmt() { - ::pg_query::AlterOwnerStmt* _msg = _internal_mutable_alter_owner_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_owner_stmt) +inline ::pg_query::VariableSetStmt* Node::mutable_variable_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableSetStmt* _msg = _internal_mutable_variable_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_set_stmt) return _msg; } -// .pg_query.AlterOperatorStmt alter_operator_stmt = 128 [json_name = "AlterOperatorStmt"]; -inline bool Node::_internal_has_alter_operator_stmt() const { - return node_case() == kAlterOperatorStmt; +// .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"]; +inline bool Node::has_variable_show_stmt() const { + return node_case() == kVariableShowStmt; } -inline bool Node::has_alter_operator_stmt() const { - return _internal_has_alter_operator_stmt(); +inline bool Node::_internal_has_variable_show_stmt() const { + return node_case() == kVariableShowStmt; } -inline void Node::set_has_alter_operator_stmt() { - _impl_._oneof_case_[0] = kAlterOperatorStmt; +inline void Node::set_has_variable_show_stmt() { + _impl_._oneof_case_[0] = kVariableShowStmt; } -inline void Node::clear_alter_operator_stmt() { - if (_internal_has_alter_operator_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_operator_stmt_; +inline void Node::clear_variable_show_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVariableShowStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.variable_show_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterOperatorStmt* Node::release_alter_operator_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_operator_stmt) - if (_internal_has_alter_operator_stmt()) { +inline ::pg_query::VariableShowStmt* Node::release_variable_show_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.variable_show_stmt) + if (node_case() == kVariableShowStmt) { clear_has_node(); - ::pg_query::AlterOperatorStmt* temp = _impl_.node_.alter_operator_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.variable_show_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_operator_stmt_ = nullptr; + _impl_.node_.variable_show_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterOperatorStmt& Node::_internal_alter_operator_stmt() const { - return _internal_has_alter_operator_stmt() - ? *_impl_.node_.alter_operator_stmt_ - : reinterpret_cast< ::pg_query::AlterOperatorStmt&>(::pg_query::_AlterOperatorStmt_default_instance_); +inline const ::pg_query::VariableShowStmt& Node::_internal_variable_show_stmt() const { + return node_case() == kVariableShowStmt ? *_impl_.node_.variable_show_stmt_ : reinterpret_cast<::pg_query::VariableShowStmt&>(::pg_query::_VariableShowStmt_default_instance_); } -inline const ::pg_query::AlterOperatorStmt& Node::alter_operator_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_operator_stmt) - return _internal_alter_operator_stmt(); +inline const ::pg_query::VariableShowStmt& Node::variable_show_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.variable_show_stmt) + return _internal_variable_show_stmt(); } -inline ::pg_query::AlterOperatorStmt* Node::unsafe_arena_release_alter_operator_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_operator_stmt) - if (_internal_has_alter_operator_stmt()) { +inline ::pg_query::VariableShowStmt* Node::unsafe_arena_release_variable_show_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.variable_show_stmt) + if (node_case() == kVariableShowStmt) { clear_has_node(); - ::pg_query::AlterOperatorStmt* temp = _impl_.node_.alter_operator_stmt_; - _impl_.node_.alter_operator_stmt_ = nullptr; + auto* temp = _impl_.node_.variable_show_stmt_; + _impl_.node_.variable_show_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* alter_operator_stmt) { +inline void Node::unsafe_arena_set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_operator_stmt) { - set_has_alter_operator_stmt(); - _impl_.node_.alter_operator_stmt_ = alter_operator_stmt; + if (value) { + set_has_variable_show_stmt(); + _impl_.node_.variable_show_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_operator_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.variable_show_stmt) } -inline ::pg_query::AlterOperatorStmt* Node::_internal_mutable_alter_operator_stmt() { - if (!_internal_has_alter_operator_stmt()) { +inline ::pg_query::VariableShowStmt* Node::_internal_mutable_variable_show_stmt() { + if (node_case() != kVariableShowStmt) { clear_node(); - set_has_alter_operator_stmt(); - _impl_.node_.alter_operator_stmt_ = CreateMaybeMessage< ::pg_query::AlterOperatorStmt >(GetArenaForAllocation()); + set_has_variable_show_stmt(); + _impl_.node_.variable_show_stmt_ = CreateMaybeMessage<::pg_query::VariableShowStmt>(GetArena()); } - return _impl_.node_.alter_operator_stmt_; + return _impl_.node_.variable_show_stmt_; } -inline ::pg_query::AlterOperatorStmt* Node::mutable_alter_operator_stmt() { - ::pg_query::AlterOperatorStmt* _msg = _internal_mutable_alter_operator_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_operator_stmt) +inline ::pg_query::VariableShowStmt* Node::mutable_variable_show_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableShowStmt* _msg = _internal_mutable_variable_show_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.variable_show_stmt) return _msg; } -// .pg_query.AlterTypeStmt alter_type_stmt = 129 [json_name = "AlterTypeStmt"]; -inline bool Node::_internal_has_alter_type_stmt() const { - return node_case() == kAlterTypeStmt; +// .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"]; +inline bool Node::has_create_stmt() const { + return node_case() == kCreateStmt; } -inline bool Node::has_alter_type_stmt() const { - return _internal_has_alter_type_stmt(); +inline bool Node::_internal_has_create_stmt() const { + return node_case() == kCreateStmt; } -inline void Node::set_has_alter_type_stmt() { - _impl_._oneof_case_[0] = kAlterTypeStmt; +inline void Node::set_has_create_stmt() { + _impl_._oneof_case_[0] = kCreateStmt; } -inline void Node::clear_alter_type_stmt() { - if (_internal_has_alter_type_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_type_stmt_; +inline void Node::clear_create_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTypeStmt* Node::release_alter_type_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_type_stmt) - if (_internal_has_alter_type_stmt()) { +inline ::pg_query::CreateStmt* Node::release_create_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_stmt) + if (node_case() == kCreateStmt) { clear_has_node(); - ::pg_query::AlterTypeStmt* temp = _impl_.node_.alter_type_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_type_stmt_ = nullptr; + _impl_.node_.create_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTypeStmt& Node::_internal_alter_type_stmt() const { - return _internal_has_alter_type_stmt() - ? *_impl_.node_.alter_type_stmt_ - : reinterpret_cast< ::pg_query::AlterTypeStmt&>(::pg_query::_AlterTypeStmt_default_instance_); +inline const ::pg_query::CreateStmt& Node::_internal_create_stmt() const { + return node_case() == kCreateStmt ? *_impl_.node_.create_stmt_ : reinterpret_cast<::pg_query::CreateStmt&>(::pg_query::_CreateStmt_default_instance_); } -inline const ::pg_query::AlterTypeStmt& Node::alter_type_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_type_stmt) - return _internal_alter_type_stmt(); +inline const ::pg_query::CreateStmt& Node::create_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_stmt) + return _internal_create_stmt(); } -inline ::pg_query::AlterTypeStmt* Node::unsafe_arena_release_alter_type_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_type_stmt) - if (_internal_has_alter_type_stmt()) { +inline ::pg_query::CreateStmt* Node::unsafe_arena_release_create_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stmt) + if (node_case() == kCreateStmt) { clear_has_node(); - ::pg_query::AlterTypeStmt* temp = _impl_.node_.alter_type_stmt_; - _impl_.node_.alter_type_stmt_ = nullptr; + auto* temp = _impl_.node_.create_stmt_; + _impl_.node_.create_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* alter_type_stmt) { +inline void Node::unsafe_arena_set_allocated_create_stmt(::pg_query::CreateStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_type_stmt) { - set_has_alter_type_stmt(); - _impl_.node_.alter_type_stmt_ = alter_type_stmt; + if (value) { + set_has_create_stmt(); + _impl_.node_.create_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_type_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stmt) } -inline ::pg_query::AlterTypeStmt* Node::_internal_mutable_alter_type_stmt() { - if (!_internal_has_alter_type_stmt()) { +inline ::pg_query::CreateStmt* Node::_internal_mutable_create_stmt() { + if (node_case() != kCreateStmt) { clear_node(); - set_has_alter_type_stmt(); - _impl_.node_.alter_type_stmt_ = CreateMaybeMessage< ::pg_query::AlterTypeStmt >(GetArenaForAllocation()); + set_has_create_stmt(); + _impl_.node_.create_stmt_ = CreateMaybeMessage<::pg_query::CreateStmt>(GetArena()); } - return _impl_.node_.alter_type_stmt_; + return _impl_.node_.create_stmt_; } -inline ::pg_query::AlterTypeStmt* Node::mutable_alter_type_stmt() { - ::pg_query::AlterTypeStmt* _msg = _internal_mutable_alter_type_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_type_stmt) +inline ::pg_query::CreateStmt* Node::mutable_create_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateStmt* _msg = _internal_mutable_create_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stmt) return _msg; } -// .pg_query.DropOwnedStmt drop_owned_stmt = 130 [json_name = "DropOwnedStmt"]; -inline bool Node::_internal_has_drop_owned_stmt() const { - return node_case() == kDropOwnedStmt; +// .pg_query.Constraint constraint = 155 [json_name = "Constraint"]; +inline bool Node::has_constraint() const { + return node_case() == kConstraint; } -inline bool Node::has_drop_owned_stmt() const { - return _internal_has_drop_owned_stmt(); +inline bool Node::_internal_has_constraint() const { + return node_case() == kConstraint; } -inline void Node::set_has_drop_owned_stmt() { - _impl_._oneof_case_[0] = kDropOwnedStmt; +inline void Node::set_has_constraint() { + _impl_._oneof_case_[0] = kConstraint; } -inline void Node::clear_drop_owned_stmt() { - if (_internal_has_drop_owned_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.drop_owned_stmt_; +inline void Node::clear_constraint() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kConstraint) { + if (GetArena() == nullptr) { + delete _impl_.node_.constraint_; } clear_has_node(); } } -inline ::pg_query::DropOwnedStmt* Node::release_drop_owned_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_owned_stmt) - if (_internal_has_drop_owned_stmt()) { +inline ::pg_query::Constraint* Node::release_constraint() { + // @@protoc_insertion_point(field_release:pg_query.Node.constraint) + if (node_case() == kConstraint) { clear_has_node(); - ::pg_query::DropOwnedStmt* temp = _impl_.node_.drop_owned_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.constraint_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_owned_stmt_ = nullptr; + _impl_.node_.constraint_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropOwnedStmt& Node::_internal_drop_owned_stmt() const { - return _internal_has_drop_owned_stmt() - ? *_impl_.node_.drop_owned_stmt_ - : reinterpret_cast< ::pg_query::DropOwnedStmt&>(::pg_query::_DropOwnedStmt_default_instance_); +inline const ::pg_query::Constraint& Node::_internal_constraint() const { + return node_case() == kConstraint ? *_impl_.node_.constraint_ : reinterpret_cast<::pg_query::Constraint&>(::pg_query::_Constraint_default_instance_); } -inline const ::pg_query::DropOwnedStmt& Node::drop_owned_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_owned_stmt) - return _internal_drop_owned_stmt(); +inline const ::pg_query::Constraint& Node::constraint() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.constraint) + return _internal_constraint(); } -inline ::pg_query::DropOwnedStmt* Node::unsafe_arena_release_drop_owned_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_owned_stmt) - if (_internal_has_drop_owned_stmt()) { +inline ::pg_query::Constraint* Node::unsafe_arena_release_constraint() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraint) + if (node_case() == kConstraint) { clear_has_node(); - ::pg_query::DropOwnedStmt* temp = _impl_.node_.drop_owned_stmt_; - _impl_.node_.drop_owned_stmt_ = nullptr; + auto* temp = _impl_.node_.constraint_; + _impl_.node_.constraint_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* drop_owned_stmt) { +inline void Node::unsafe_arena_set_allocated_constraint(::pg_query::Constraint* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_owned_stmt) { - set_has_drop_owned_stmt(); - _impl_.node_.drop_owned_stmt_ = drop_owned_stmt; + if (value) { + set_has_constraint(); + _impl_.node_.constraint_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_owned_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraint) } -inline ::pg_query::DropOwnedStmt* Node::_internal_mutable_drop_owned_stmt() { - if (!_internal_has_drop_owned_stmt()) { +inline ::pg_query::Constraint* Node::_internal_mutable_constraint() { + if (node_case() != kConstraint) { clear_node(); - set_has_drop_owned_stmt(); - _impl_.node_.drop_owned_stmt_ = CreateMaybeMessage< ::pg_query::DropOwnedStmt >(GetArenaForAllocation()); + set_has_constraint(); + _impl_.node_.constraint_ = CreateMaybeMessage<::pg_query::Constraint>(GetArena()); } - return _impl_.node_.drop_owned_stmt_; + return _impl_.node_.constraint_; } -inline ::pg_query::DropOwnedStmt* Node::mutable_drop_owned_stmt() { - ::pg_query::DropOwnedStmt* _msg = _internal_mutable_drop_owned_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_owned_stmt) +inline ::pg_query::Constraint* Node::mutable_constraint() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Constraint* _msg = _internal_mutable_constraint(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.constraint) return _msg; } -// .pg_query.ReassignOwnedStmt reassign_owned_stmt = 131 [json_name = "ReassignOwnedStmt"]; -inline bool Node::_internal_has_reassign_owned_stmt() const { - return node_case() == kReassignOwnedStmt; +// .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"]; +inline bool Node::has_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt; } -inline bool Node::has_reassign_owned_stmt() const { - return _internal_has_reassign_owned_stmt(); +inline bool Node::_internal_has_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt; } -inline void Node::set_has_reassign_owned_stmt() { - _impl_._oneof_case_[0] = kReassignOwnedStmt; +inline void Node::set_has_create_table_space_stmt() { + _impl_._oneof_case_[0] = kCreateTableSpaceStmt; } -inline void Node::clear_reassign_owned_stmt() { - if (_internal_has_reassign_owned_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.reassign_owned_stmt_; +inline void Node::clear_create_table_space_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateTableSpaceStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_table_space_stmt_; } clear_has_node(); } } -inline ::pg_query::ReassignOwnedStmt* Node::release_reassign_owned_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.reassign_owned_stmt) - if (_internal_has_reassign_owned_stmt()) { +inline ::pg_query::CreateTableSpaceStmt* Node::release_create_table_space_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_table_space_stmt) + if (node_case() == kCreateTableSpaceStmt) { clear_has_node(); - ::pg_query::ReassignOwnedStmt* temp = _impl_.node_.reassign_owned_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_table_space_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.reassign_owned_stmt_ = nullptr; + _impl_.node_.create_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReassignOwnedStmt& Node::_internal_reassign_owned_stmt() const { - return _internal_has_reassign_owned_stmt() - ? *_impl_.node_.reassign_owned_stmt_ - : reinterpret_cast< ::pg_query::ReassignOwnedStmt&>(::pg_query::_ReassignOwnedStmt_default_instance_); +inline const ::pg_query::CreateTableSpaceStmt& Node::_internal_create_table_space_stmt() const { + return node_case() == kCreateTableSpaceStmt ? *_impl_.node_.create_table_space_stmt_ : reinterpret_cast<::pg_query::CreateTableSpaceStmt&>(::pg_query::_CreateTableSpaceStmt_default_instance_); } -inline const ::pg_query::ReassignOwnedStmt& Node::reassign_owned_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.reassign_owned_stmt) - return _internal_reassign_owned_stmt(); +inline const ::pg_query::CreateTableSpaceStmt& Node::create_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_table_space_stmt) + return _internal_create_table_space_stmt(); } -inline ::pg_query::ReassignOwnedStmt* Node::unsafe_arena_release_reassign_owned_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reassign_owned_stmt) - if (_internal_has_reassign_owned_stmt()) { +inline ::pg_query::CreateTableSpaceStmt* Node::unsafe_arena_release_create_table_space_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_space_stmt) + if (node_case() == kCreateTableSpaceStmt) { clear_has_node(); - ::pg_query::ReassignOwnedStmt* temp = _impl_.node_.reassign_owned_stmt_; - _impl_.node_.reassign_owned_stmt_ = nullptr; + auto* temp = _impl_.node_.create_table_space_stmt_; + _impl_.node_.create_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* reassign_owned_stmt) { +inline void Node::unsafe_arena_set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (reassign_owned_stmt) { - set_has_reassign_owned_stmt(); - _impl_.node_.reassign_owned_stmt_ = reassign_owned_stmt; + if (value) { + set_has_create_table_space_stmt(); + _impl_.node_.create_table_space_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reassign_owned_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_space_stmt) } -inline ::pg_query::ReassignOwnedStmt* Node::_internal_mutable_reassign_owned_stmt() { - if (!_internal_has_reassign_owned_stmt()) { +inline ::pg_query::CreateTableSpaceStmt* Node::_internal_mutable_create_table_space_stmt() { + if (node_case() != kCreateTableSpaceStmt) { clear_node(); - set_has_reassign_owned_stmt(); - _impl_.node_.reassign_owned_stmt_ = CreateMaybeMessage< ::pg_query::ReassignOwnedStmt >(GetArenaForAllocation()); + set_has_create_table_space_stmt(); + _impl_.node_.create_table_space_stmt_ = CreateMaybeMessage<::pg_query::CreateTableSpaceStmt>(GetArena()); } - return _impl_.node_.reassign_owned_stmt_; + return _impl_.node_.create_table_space_stmt_; } -inline ::pg_query::ReassignOwnedStmt* Node::mutable_reassign_owned_stmt() { - ::pg_query::ReassignOwnedStmt* _msg = _internal_mutable_reassign_owned_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.reassign_owned_stmt) +inline ::pg_query::CreateTableSpaceStmt* Node::mutable_create_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTableSpaceStmt* _msg = _internal_mutable_create_table_space_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_space_stmt) return _msg; } -// .pg_query.CompositeTypeStmt composite_type_stmt = 132 [json_name = "CompositeTypeStmt"]; -inline bool Node::_internal_has_composite_type_stmt() const { - return node_case() == kCompositeTypeStmt; +// .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"]; +inline bool Node::has_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt; } -inline bool Node::has_composite_type_stmt() const { - return _internal_has_composite_type_stmt(); +inline bool Node::_internal_has_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt; } -inline void Node::set_has_composite_type_stmt() { - _impl_._oneof_case_[0] = kCompositeTypeStmt; +inline void Node::set_has_drop_table_space_stmt() { + _impl_._oneof_case_[0] = kDropTableSpaceStmt; } -inline void Node::clear_composite_type_stmt() { - if (_internal_has_composite_type_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.composite_type_stmt_; +inline void Node::clear_drop_table_space_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropTableSpaceStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.drop_table_space_stmt_; } clear_has_node(); } } -inline ::pg_query::CompositeTypeStmt* Node::release_composite_type_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.composite_type_stmt) - if (_internal_has_composite_type_stmt()) { +inline ::pg_query::DropTableSpaceStmt* Node::release_drop_table_space_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_table_space_stmt) + if (node_case() == kDropTableSpaceStmt) { clear_has_node(); - ::pg_query::CompositeTypeStmt* temp = _impl_.node_.composite_type_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.drop_table_space_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.composite_type_stmt_ = nullptr; + _impl_.node_.drop_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CompositeTypeStmt& Node::_internal_composite_type_stmt() const { - return _internal_has_composite_type_stmt() - ? *_impl_.node_.composite_type_stmt_ - : reinterpret_cast< ::pg_query::CompositeTypeStmt&>(::pg_query::_CompositeTypeStmt_default_instance_); +inline const ::pg_query::DropTableSpaceStmt& Node::_internal_drop_table_space_stmt() const { + return node_case() == kDropTableSpaceStmt ? *_impl_.node_.drop_table_space_stmt_ : reinterpret_cast<::pg_query::DropTableSpaceStmt&>(::pg_query::_DropTableSpaceStmt_default_instance_); } -inline const ::pg_query::CompositeTypeStmt& Node::composite_type_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.composite_type_stmt) - return _internal_composite_type_stmt(); +inline const ::pg_query::DropTableSpaceStmt& Node::drop_table_space_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_table_space_stmt) + return _internal_drop_table_space_stmt(); } -inline ::pg_query::CompositeTypeStmt* Node::unsafe_arena_release_composite_type_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.composite_type_stmt) - if (_internal_has_composite_type_stmt()) { +inline ::pg_query::DropTableSpaceStmt* Node::unsafe_arena_release_drop_table_space_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_table_space_stmt) + if (node_case() == kDropTableSpaceStmt) { clear_has_node(); - ::pg_query::CompositeTypeStmt* temp = _impl_.node_.composite_type_stmt_; - _impl_.node_.composite_type_stmt_ = nullptr; + auto* temp = _impl_.node_.drop_table_space_stmt_; + _impl_.node_.drop_table_space_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* composite_type_stmt) { +inline void Node::unsafe_arena_set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (composite_type_stmt) { - set_has_composite_type_stmt(); - _impl_.node_.composite_type_stmt_ = composite_type_stmt; + if (value) { + set_has_drop_table_space_stmt(); + _impl_.node_.drop_table_space_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.composite_type_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_table_space_stmt) } -inline ::pg_query::CompositeTypeStmt* Node::_internal_mutable_composite_type_stmt() { - if (!_internal_has_composite_type_stmt()) { +inline ::pg_query::DropTableSpaceStmt* Node::_internal_mutable_drop_table_space_stmt() { + if (node_case() != kDropTableSpaceStmt) { clear_node(); - set_has_composite_type_stmt(); - _impl_.node_.composite_type_stmt_ = CreateMaybeMessage< ::pg_query::CompositeTypeStmt >(GetArenaForAllocation()); + set_has_drop_table_space_stmt(); + _impl_.node_.drop_table_space_stmt_ = CreateMaybeMessage<::pg_query::DropTableSpaceStmt>(GetArena()); } - return _impl_.node_.composite_type_stmt_; + return _impl_.node_.drop_table_space_stmt_; } -inline ::pg_query::CompositeTypeStmt* Node::mutable_composite_type_stmt() { - ::pg_query::CompositeTypeStmt* _msg = _internal_mutable_composite_type_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.composite_type_stmt) +inline ::pg_query::DropTableSpaceStmt* Node::mutable_drop_table_space_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropTableSpaceStmt* _msg = _internal_mutable_drop_table_space_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_table_space_stmt) return _msg; } -// .pg_query.CreateEnumStmt create_enum_stmt = 133 [json_name = "CreateEnumStmt"]; -inline bool Node::_internal_has_create_enum_stmt() const { - return node_case() == kCreateEnumStmt; +// .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"]; +inline bool Node::has_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt; } -inline bool Node::has_create_enum_stmt() const { - return _internal_has_create_enum_stmt(); +inline bool Node::_internal_has_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt; } -inline void Node::set_has_create_enum_stmt() { - _impl_._oneof_case_[0] = kCreateEnumStmt; +inline void Node::set_has_alter_table_space_options_stmt() { + _impl_._oneof_case_[0] = kAlterTableSpaceOptionsStmt; } -inline void Node::clear_create_enum_stmt() { - if (_internal_has_create_enum_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_enum_stmt_; +inline void Node::clear_alter_table_space_options_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTableSpaceOptionsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_table_space_options_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateEnumStmt* Node::release_create_enum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_enum_stmt) - if (_internal_has_create_enum_stmt()) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::release_alter_table_space_options_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_space_options_stmt) + if (node_case() == kAlterTableSpaceOptionsStmt) { clear_has_node(); - ::pg_query::CreateEnumStmt* temp = _impl_.node_.create_enum_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_table_space_options_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_enum_stmt_ = nullptr; + _impl_.node_.alter_table_space_options_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateEnumStmt& Node::_internal_create_enum_stmt() const { - return _internal_has_create_enum_stmt() - ? *_impl_.node_.create_enum_stmt_ - : reinterpret_cast< ::pg_query::CreateEnumStmt&>(::pg_query::_CreateEnumStmt_default_instance_); +inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::_internal_alter_table_space_options_stmt() const { + return node_case() == kAlterTableSpaceOptionsStmt ? *_impl_.node_.alter_table_space_options_stmt_ : reinterpret_cast<::pg_query::AlterTableSpaceOptionsStmt&>(::pg_query::_AlterTableSpaceOptionsStmt_default_instance_); } -inline const ::pg_query::CreateEnumStmt& Node::create_enum_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_enum_stmt) - return _internal_create_enum_stmt(); +inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::alter_table_space_options_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_space_options_stmt) + return _internal_alter_table_space_options_stmt(); } -inline ::pg_query::CreateEnumStmt* Node::unsafe_arena_release_create_enum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_enum_stmt) - if (_internal_has_create_enum_stmt()) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::unsafe_arena_release_alter_table_space_options_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_space_options_stmt) + if (node_case() == kAlterTableSpaceOptionsStmt) { clear_has_node(); - ::pg_query::CreateEnumStmt* temp = _impl_.node_.create_enum_stmt_; - _impl_.node_.create_enum_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_table_space_options_stmt_; + _impl_.node_.alter_table_space_options_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* create_enum_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_enum_stmt) { - set_has_create_enum_stmt(); - _impl_.node_.create_enum_stmt_ = create_enum_stmt; + if (value) { + set_has_alter_table_space_options_stmt(); + _impl_.node_.alter_table_space_options_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_enum_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_space_options_stmt) } -inline ::pg_query::CreateEnumStmt* Node::_internal_mutable_create_enum_stmt() { - if (!_internal_has_create_enum_stmt()) { +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::_internal_mutable_alter_table_space_options_stmt() { + if (node_case() != kAlterTableSpaceOptionsStmt) { clear_node(); - set_has_create_enum_stmt(); - _impl_.node_.create_enum_stmt_ = CreateMaybeMessage< ::pg_query::CreateEnumStmt >(GetArenaForAllocation()); + set_has_alter_table_space_options_stmt(); + _impl_.node_.alter_table_space_options_stmt_ = CreateMaybeMessage<::pg_query::AlterTableSpaceOptionsStmt>(GetArena()); } - return _impl_.node_.create_enum_stmt_; + return _impl_.node_.alter_table_space_options_stmt_; } -inline ::pg_query::CreateEnumStmt* Node::mutable_create_enum_stmt() { - ::pg_query::CreateEnumStmt* _msg = _internal_mutable_create_enum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_enum_stmt) +inline ::pg_query::AlterTableSpaceOptionsStmt* Node::mutable_alter_table_space_options_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableSpaceOptionsStmt* _msg = _internal_mutable_alter_table_space_options_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_space_options_stmt) return _msg; } -// .pg_query.CreateRangeStmt create_range_stmt = 134 [json_name = "CreateRangeStmt"]; -inline bool Node::_internal_has_create_range_stmt() const { - return node_case() == kCreateRangeStmt; +// .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"]; +inline bool Node::has_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt; } -inline bool Node::has_create_range_stmt() const { - return _internal_has_create_range_stmt(); +inline bool Node::_internal_has_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt; } -inline void Node::set_has_create_range_stmt() { - _impl_._oneof_case_[0] = kCreateRangeStmt; +inline void Node::set_has_alter_table_move_all_stmt() { + _impl_._oneof_case_[0] = kAlterTableMoveAllStmt; } -inline void Node::clear_create_range_stmt() { - if (_internal_has_create_range_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_range_stmt_; +inline void Node::clear_alter_table_move_all_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTableMoveAllStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_table_move_all_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateRangeStmt* Node::release_create_range_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_range_stmt) - if (_internal_has_create_range_stmt()) { +inline ::pg_query::AlterTableMoveAllStmt* Node::release_alter_table_move_all_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_move_all_stmt) + if (node_case() == kAlterTableMoveAllStmt) { clear_has_node(); - ::pg_query::CreateRangeStmt* temp = _impl_.node_.create_range_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_table_move_all_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_range_stmt_ = nullptr; + _impl_.node_.alter_table_move_all_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateRangeStmt& Node::_internal_create_range_stmt() const { - return _internal_has_create_range_stmt() - ? *_impl_.node_.create_range_stmt_ - : reinterpret_cast< ::pg_query::CreateRangeStmt&>(::pg_query::_CreateRangeStmt_default_instance_); +inline const ::pg_query::AlterTableMoveAllStmt& Node::_internal_alter_table_move_all_stmt() const { + return node_case() == kAlterTableMoveAllStmt ? *_impl_.node_.alter_table_move_all_stmt_ : reinterpret_cast<::pg_query::AlterTableMoveAllStmt&>(::pg_query::_AlterTableMoveAllStmt_default_instance_); } -inline const ::pg_query::CreateRangeStmt& Node::create_range_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_range_stmt) - return _internal_create_range_stmt(); +inline const ::pg_query::AlterTableMoveAllStmt& Node::alter_table_move_all_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_move_all_stmt) + return _internal_alter_table_move_all_stmt(); } -inline ::pg_query::CreateRangeStmt* Node::unsafe_arena_release_create_range_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_range_stmt) - if (_internal_has_create_range_stmt()) { +inline ::pg_query::AlterTableMoveAllStmt* Node::unsafe_arena_release_alter_table_move_all_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_move_all_stmt) + if (node_case() == kAlterTableMoveAllStmt) { clear_has_node(); - ::pg_query::CreateRangeStmt* temp = _impl_.node_.create_range_stmt_; - _impl_.node_.create_range_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_table_move_all_stmt_; + _impl_.node_.alter_table_move_all_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* create_range_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_range_stmt) { - set_has_create_range_stmt(); - _impl_.node_.create_range_stmt_ = create_range_stmt; + if (value) { + set_has_alter_table_move_all_stmt(); + _impl_.node_.alter_table_move_all_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_range_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_move_all_stmt) } -inline ::pg_query::CreateRangeStmt* Node::_internal_mutable_create_range_stmt() { - if (!_internal_has_create_range_stmt()) { +inline ::pg_query::AlterTableMoveAllStmt* Node::_internal_mutable_alter_table_move_all_stmt() { + if (node_case() != kAlterTableMoveAllStmt) { clear_node(); - set_has_create_range_stmt(); - _impl_.node_.create_range_stmt_ = CreateMaybeMessage< ::pg_query::CreateRangeStmt >(GetArenaForAllocation()); + set_has_alter_table_move_all_stmt(); + _impl_.node_.alter_table_move_all_stmt_ = CreateMaybeMessage<::pg_query::AlterTableMoveAllStmt>(GetArena()); } - return _impl_.node_.create_range_stmt_; + return _impl_.node_.alter_table_move_all_stmt_; } -inline ::pg_query::CreateRangeStmt* Node::mutable_create_range_stmt() { - ::pg_query::CreateRangeStmt* _msg = _internal_mutable_create_range_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_range_stmt) +inline ::pg_query::AlterTableMoveAllStmt* Node::mutable_alter_table_move_all_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTableMoveAllStmt* _msg = _internal_mutable_alter_table_move_all_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_move_all_stmt) return _msg; } -// .pg_query.AlterEnumStmt alter_enum_stmt = 135 [json_name = "AlterEnumStmt"]; -inline bool Node::_internal_has_alter_enum_stmt() const { - return node_case() == kAlterEnumStmt; +// .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"]; +inline bool Node::has_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt; } -inline bool Node::has_alter_enum_stmt() const { - return _internal_has_alter_enum_stmt(); +inline bool Node::_internal_has_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt; } -inline void Node::set_has_alter_enum_stmt() { - _impl_._oneof_case_[0] = kAlterEnumStmt; +inline void Node::set_has_create_extension_stmt() { + _impl_._oneof_case_[0] = kCreateExtensionStmt; } -inline void Node::clear_alter_enum_stmt() { - if (_internal_has_alter_enum_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_enum_stmt_; +inline void Node::clear_create_extension_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateExtensionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_extension_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterEnumStmt* Node::release_alter_enum_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_enum_stmt) - if (_internal_has_alter_enum_stmt()) { +inline ::pg_query::CreateExtensionStmt* Node::release_create_extension_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_extension_stmt) + if (node_case() == kCreateExtensionStmt) { clear_has_node(); - ::pg_query::AlterEnumStmt* temp = _impl_.node_.alter_enum_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_extension_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_enum_stmt_ = nullptr; + _impl_.node_.create_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterEnumStmt& Node::_internal_alter_enum_stmt() const { - return _internal_has_alter_enum_stmt() - ? *_impl_.node_.alter_enum_stmt_ - : reinterpret_cast< ::pg_query::AlterEnumStmt&>(::pg_query::_AlterEnumStmt_default_instance_); +inline const ::pg_query::CreateExtensionStmt& Node::_internal_create_extension_stmt() const { + return node_case() == kCreateExtensionStmt ? *_impl_.node_.create_extension_stmt_ : reinterpret_cast<::pg_query::CreateExtensionStmt&>(::pg_query::_CreateExtensionStmt_default_instance_); } -inline const ::pg_query::AlterEnumStmt& Node::alter_enum_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_enum_stmt) - return _internal_alter_enum_stmt(); +inline const ::pg_query::CreateExtensionStmt& Node::create_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_extension_stmt) + return _internal_create_extension_stmt(); } -inline ::pg_query::AlterEnumStmt* Node::unsafe_arena_release_alter_enum_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_enum_stmt) - if (_internal_has_alter_enum_stmt()) { +inline ::pg_query::CreateExtensionStmt* Node::unsafe_arena_release_create_extension_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_extension_stmt) + if (node_case() == kCreateExtensionStmt) { clear_has_node(); - ::pg_query::AlterEnumStmt* temp = _impl_.node_.alter_enum_stmt_; - _impl_.node_.alter_enum_stmt_ = nullptr; + auto* temp = _impl_.node_.create_extension_stmt_; + _impl_.node_.create_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* alter_enum_stmt) { +inline void Node::unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_enum_stmt) { - set_has_alter_enum_stmt(); - _impl_.node_.alter_enum_stmt_ = alter_enum_stmt; + if (value) { + set_has_create_extension_stmt(); + _impl_.node_.create_extension_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_enum_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_extension_stmt) } -inline ::pg_query::AlterEnumStmt* Node::_internal_mutable_alter_enum_stmt() { - if (!_internal_has_alter_enum_stmt()) { +inline ::pg_query::CreateExtensionStmt* Node::_internal_mutable_create_extension_stmt() { + if (node_case() != kCreateExtensionStmt) { clear_node(); - set_has_alter_enum_stmt(); - _impl_.node_.alter_enum_stmt_ = CreateMaybeMessage< ::pg_query::AlterEnumStmt >(GetArenaForAllocation()); + set_has_create_extension_stmt(); + _impl_.node_.create_extension_stmt_ = CreateMaybeMessage<::pg_query::CreateExtensionStmt>(GetArena()); } - return _impl_.node_.alter_enum_stmt_; + return _impl_.node_.create_extension_stmt_; } -inline ::pg_query::AlterEnumStmt* Node::mutable_alter_enum_stmt() { - ::pg_query::AlterEnumStmt* _msg = _internal_mutable_alter_enum_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_enum_stmt) +inline ::pg_query::CreateExtensionStmt* Node::mutable_create_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateExtensionStmt* _msg = _internal_mutable_create_extension_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_extension_stmt) return _msg; } -// .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 136 [json_name = "AlterTSDictionaryStmt"]; -inline bool Node::_internal_has_alter_tsdictionary_stmt() const { - return node_case() == kAlterTsdictionaryStmt; +// .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"]; +inline bool Node::has_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt; } -inline bool Node::has_alter_tsdictionary_stmt() const { - return _internal_has_alter_tsdictionary_stmt(); +inline bool Node::_internal_has_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt; } -inline void Node::set_has_alter_tsdictionary_stmt() { - _impl_._oneof_case_[0] = kAlterTsdictionaryStmt; +inline void Node::set_has_alter_extension_stmt() { + _impl_._oneof_case_[0] = kAlterExtensionStmt; } -inline void Node::clear_alter_tsdictionary_stmt() { - if (_internal_has_alter_tsdictionary_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_tsdictionary_stmt_; +inline void Node::clear_alter_extension_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterExtensionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_extension_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTSDictionaryStmt* Node::release_alter_tsdictionary_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsdictionary_stmt) - if (_internal_has_alter_tsdictionary_stmt()) { +inline ::pg_query::AlterExtensionStmt* Node::release_alter_extension_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_stmt) + if (node_case() == kAlterExtensionStmt) { clear_has_node(); - ::pg_query::AlterTSDictionaryStmt* temp = _impl_.node_.alter_tsdictionary_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_extension_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_tsdictionary_stmt_ = nullptr; + _impl_.node_.alter_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTSDictionaryStmt& Node::_internal_alter_tsdictionary_stmt() const { - return _internal_has_alter_tsdictionary_stmt() - ? *_impl_.node_.alter_tsdictionary_stmt_ - : reinterpret_cast< ::pg_query::AlterTSDictionaryStmt&>(::pg_query::_AlterTSDictionaryStmt_default_instance_); +inline const ::pg_query::AlterExtensionStmt& Node::_internal_alter_extension_stmt() const { + return node_case() == kAlterExtensionStmt ? *_impl_.node_.alter_extension_stmt_ : reinterpret_cast<::pg_query::AlterExtensionStmt&>(::pg_query::_AlterExtensionStmt_default_instance_); } -inline const ::pg_query::AlterTSDictionaryStmt& Node::alter_tsdictionary_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsdictionary_stmt) - return _internal_alter_tsdictionary_stmt(); +inline const ::pg_query::AlterExtensionStmt& Node::alter_extension_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_stmt) + return _internal_alter_extension_stmt(); } -inline ::pg_query::AlterTSDictionaryStmt* Node::unsafe_arena_release_alter_tsdictionary_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsdictionary_stmt) - if (_internal_has_alter_tsdictionary_stmt()) { +inline ::pg_query::AlterExtensionStmt* Node::unsafe_arena_release_alter_extension_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_stmt) + if (node_case() == kAlterExtensionStmt) { clear_has_node(); - ::pg_query::AlterTSDictionaryStmt* temp = _impl_.node_.alter_tsdictionary_stmt_; - _impl_.node_.alter_tsdictionary_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_extension_stmt_; + _impl_.node_.alter_extension_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_tsdictionary_stmt) { - set_has_alter_tsdictionary_stmt(); - _impl_.node_.alter_tsdictionary_stmt_ = alter_tsdictionary_stmt; + if (value) { + set_has_alter_extension_stmt(); + _impl_.node_.alter_extension_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsdictionary_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_stmt) } -inline ::pg_query::AlterTSDictionaryStmt* Node::_internal_mutable_alter_tsdictionary_stmt() { - if (!_internal_has_alter_tsdictionary_stmt()) { +inline ::pg_query::AlterExtensionStmt* Node::_internal_mutable_alter_extension_stmt() { + if (node_case() != kAlterExtensionStmt) { clear_node(); - set_has_alter_tsdictionary_stmt(); - _impl_.node_.alter_tsdictionary_stmt_ = CreateMaybeMessage< ::pg_query::AlterTSDictionaryStmt >(GetArenaForAllocation()); + set_has_alter_extension_stmt(); + _impl_.node_.alter_extension_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionStmt>(GetArena()); } - return _impl_.node_.alter_tsdictionary_stmt_; + return _impl_.node_.alter_extension_stmt_; } -inline ::pg_query::AlterTSDictionaryStmt* Node::mutable_alter_tsdictionary_stmt() { - ::pg_query::AlterTSDictionaryStmt* _msg = _internal_mutable_alter_tsdictionary_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsdictionary_stmt) +inline ::pg_query::AlterExtensionStmt* Node::mutable_alter_extension_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterExtensionStmt* _msg = _internal_mutable_alter_extension_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_stmt) return _msg; } -// .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 137 [json_name = "AlterTSConfigurationStmt"]; -inline bool Node::_internal_has_alter_tsconfiguration_stmt() const { - return node_case() == kAlterTsconfigurationStmt; +// .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"]; +inline bool Node::has_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt; } -inline bool Node::has_alter_tsconfiguration_stmt() const { - return _internal_has_alter_tsconfiguration_stmt(); +inline bool Node::_internal_has_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt; } -inline void Node::set_has_alter_tsconfiguration_stmt() { - _impl_._oneof_case_[0] = kAlterTsconfigurationStmt; +inline void Node::set_has_alter_extension_contents_stmt() { + _impl_._oneof_case_[0] = kAlterExtensionContentsStmt; } -inline void Node::clear_alter_tsconfiguration_stmt() { - if (_internal_has_alter_tsconfiguration_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_tsconfiguration_stmt_; +inline void Node::clear_alter_extension_contents_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterExtensionContentsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_extension_contents_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTSConfigurationStmt* Node::release_alter_tsconfiguration_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsconfiguration_stmt) - if (_internal_has_alter_tsconfiguration_stmt()) { +inline ::pg_query::AlterExtensionContentsStmt* Node::release_alter_extension_contents_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_contents_stmt) + if (node_case() == kAlterExtensionContentsStmt) { clear_has_node(); - ::pg_query::AlterTSConfigurationStmt* temp = _impl_.node_.alter_tsconfiguration_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_extension_contents_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; + _impl_.node_.alter_extension_contents_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTSConfigurationStmt& Node::_internal_alter_tsconfiguration_stmt() const { - return _internal_has_alter_tsconfiguration_stmt() - ? *_impl_.node_.alter_tsconfiguration_stmt_ - : reinterpret_cast< ::pg_query::AlterTSConfigurationStmt&>(::pg_query::_AlterTSConfigurationStmt_default_instance_); +inline const ::pg_query::AlterExtensionContentsStmt& Node::_internal_alter_extension_contents_stmt() const { + return node_case() == kAlterExtensionContentsStmt ? *_impl_.node_.alter_extension_contents_stmt_ : reinterpret_cast<::pg_query::AlterExtensionContentsStmt&>(::pg_query::_AlterExtensionContentsStmt_default_instance_); } -inline const ::pg_query::AlterTSConfigurationStmt& Node::alter_tsconfiguration_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsconfiguration_stmt) - return _internal_alter_tsconfiguration_stmt(); +inline const ::pg_query::AlterExtensionContentsStmt& Node::alter_extension_contents_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_contents_stmt) + return _internal_alter_extension_contents_stmt(); } -inline ::pg_query::AlterTSConfigurationStmt* Node::unsafe_arena_release_alter_tsconfiguration_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsconfiguration_stmt) - if (_internal_has_alter_tsconfiguration_stmt()) { +inline ::pg_query::AlterExtensionContentsStmt* Node::unsafe_arena_release_alter_extension_contents_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_contents_stmt) + if (node_case() == kAlterExtensionContentsStmt) { clear_has_node(); - ::pg_query::AlterTSConfigurationStmt* temp = _impl_.node_.alter_tsconfiguration_stmt_; - _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_extension_contents_stmt_; + _impl_.node_.alter_extension_contents_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_tsconfiguration_stmt) { - set_has_alter_tsconfiguration_stmt(); - _impl_.node_.alter_tsconfiguration_stmt_ = alter_tsconfiguration_stmt; + if (value) { + set_has_alter_extension_contents_stmt(); + _impl_.node_.alter_extension_contents_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsconfiguration_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_contents_stmt) } -inline ::pg_query::AlterTSConfigurationStmt* Node::_internal_mutable_alter_tsconfiguration_stmt() { - if (!_internal_has_alter_tsconfiguration_stmt()) { +inline ::pg_query::AlterExtensionContentsStmt* Node::_internal_mutable_alter_extension_contents_stmt() { + if (node_case() != kAlterExtensionContentsStmt) { clear_node(); - set_has_alter_tsconfiguration_stmt(); - _impl_.node_.alter_tsconfiguration_stmt_ = CreateMaybeMessage< ::pg_query::AlterTSConfigurationStmt >(GetArenaForAllocation()); + set_has_alter_extension_contents_stmt(); + _impl_.node_.alter_extension_contents_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionContentsStmt>(GetArena()); } - return _impl_.node_.alter_tsconfiguration_stmt_; + return _impl_.node_.alter_extension_contents_stmt_; } -inline ::pg_query::AlterTSConfigurationStmt* Node::mutable_alter_tsconfiguration_stmt() { - ::pg_query::AlterTSConfigurationStmt* _msg = _internal_mutable_alter_tsconfiguration_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsconfiguration_stmt) +inline ::pg_query::AlterExtensionContentsStmt* Node::mutable_alter_extension_contents_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterExtensionContentsStmt* _msg = _internal_mutable_alter_extension_contents_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_contents_stmt) return _msg; } -// .pg_query.CreateFdwStmt create_fdw_stmt = 138 [json_name = "CreateFdwStmt"]; -inline bool Node::_internal_has_create_fdw_stmt() const { +// .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"]; +inline bool Node::has_create_fdw_stmt() const { return node_case() == kCreateFdwStmt; } -inline bool Node::has_create_fdw_stmt() const { - return _internal_has_create_fdw_stmt(); +inline bool Node::_internal_has_create_fdw_stmt() const { + return node_case() == kCreateFdwStmt; } inline void Node::set_has_create_fdw_stmt() { _impl_._oneof_case_[0] = kCreateFdwStmt; } inline void Node::clear_create_fdw_stmt() { - if (_internal_has_create_fdw_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateFdwStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.create_fdw_stmt_; } clear_has_node(); @@ -71771,11 +89278,11 @@ inline void Node::clear_create_fdw_stmt() { } inline ::pg_query::CreateFdwStmt* Node::release_create_fdw_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.create_fdw_stmt) - if (_internal_has_create_fdw_stmt()) { + if (node_case() == kCreateFdwStmt) { clear_has_node(); - ::pg_query::CreateFdwStmt* temp = _impl_.node_.create_fdw_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_fdw_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.create_fdw_stmt_ = nullptr; return temp; @@ -71784,60 +89291,62 @@ inline ::pg_query::CreateFdwStmt* Node::release_create_fdw_stmt() { } } inline const ::pg_query::CreateFdwStmt& Node::_internal_create_fdw_stmt() const { - return _internal_has_create_fdw_stmt() - ? *_impl_.node_.create_fdw_stmt_ - : reinterpret_cast< ::pg_query::CreateFdwStmt&>(::pg_query::_CreateFdwStmt_default_instance_); + return node_case() == kCreateFdwStmt ? *_impl_.node_.create_fdw_stmt_ : reinterpret_cast<::pg_query::CreateFdwStmt&>(::pg_query::_CreateFdwStmt_default_instance_); } -inline const ::pg_query::CreateFdwStmt& Node::create_fdw_stmt() const { +inline const ::pg_query::CreateFdwStmt& Node::create_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.create_fdw_stmt) return _internal_create_fdw_stmt(); } inline ::pg_query::CreateFdwStmt* Node::unsafe_arena_release_create_fdw_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_fdw_stmt) - if (_internal_has_create_fdw_stmt()) { + if (node_case() == kCreateFdwStmt) { clear_has_node(); - ::pg_query::CreateFdwStmt* temp = _impl_.node_.create_fdw_stmt_; + auto* temp = _impl_.node_.create_fdw_stmt_; _impl_.node_.create_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* create_fdw_stmt) { +inline void Node::unsafe_arena_set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_fdw_stmt) { + if (value) { set_has_create_fdw_stmt(); - _impl_.node_.create_fdw_stmt_ = create_fdw_stmt; + _impl_.node_.create_fdw_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_fdw_stmt) } inline ::pg_query::CreateFdwStmt* Node::_internal_mutable_create_fdw_stmt() { - if (!_internal_has_create_fdw_stmt()) { + if (node_case() != kCreateFdwStmt) { clear_node(); set_has_create_fdw_stmt(); - _impl_.node_.create_fdw_stmt_ = CreateMaybeMessage< ::pg_query::CreateFdwStmt >(GetArenaForAllocation()); + _impl_.node_.create_fdw_stmt_ = CreateMaybeMessage<::pg_query::CreateFdwStmt>(GetArena()); } return _impl_.node_.create_fdw_stmt_; } -inline ::pg_query::CreateFdwStmt* Node::mutable_create_fdw_stmt() { +inline ::pg_query::CreateFdwStmt* Node::mutable_create_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::CreateFdwStmt* _msg = _internal_mutable_create_fdw_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.create_fdw_stmt) return _msg; } - -// .pg_query.AlterFdwStmt alter_fdw_stmt = 139 [json_name = "AlterFdwStmt"]; + +// .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"]; +inline bool Node::has_alter_fdw_stmt() const { + return node_case() == kAlterFdwStmt; +} inline bool Node::_internal_has_alter_fdw_stmt() const { return node_case() == kAlterFdwStmt; } -inline bool Node::has_alter_fdw_stmt() const { - return _internal_has_alter_fdw_stmt(); -} inline void Node::set_has_alter_fdw_stmt() { _impl_._oneof_case_[0] = kAlterFdwStmt; } inline void Node::clear_alter_fdw_stmt() { - if (_internal_has_alter_fdw_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterFdwStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.alter_fdw_stmt_; } clear_has_node(); @@ -71845,11 +89354,11 @@ inline void Node::clear_alter_fdw_stmt() { } inline ::pg_query::AlterFdwStmt* Node::release_alter_fdw_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.alter_fdw_stmt) - if (_internal_has_alter_fdw_stmt()) { + if (node_case() == kAlterFdwStmt) { clear_has_node(); - ::pg_query::AlterFdwStmt* temp = _impl_.node_.alter_fdw_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_fdw_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.alter_fdw_stmt_ = nullptr; return temp; @@ -71858,60 +89367,62 @@ inline ::pg_query::AlterFdwStmt* Node::release_alter_fdw_stmt() { } } inline const ::pg_query::AlterFdwStmt& Node::_internal_alter_fdw_stmt() const { - return _internal_has_alter_fdw_stmt() - ? *_impl_.node_.alter_fdw_stmt_ - : reinterpret_cast< ::pg_query::AlterFdwStmt&>(::pg_query::_AlterFdwStmt_default_instance_); + return node_case() == kAlterFdwStmt ? *_impl_.node_.alter_fdw_stmt_ : reinterpret_cast<::pg_query::AlterFdwStmt&>(::pg_query::_AlterFdwStmt_default_instance_); } -inline const ::pg_query::AlterFdwStmt& Node::alter_fdw_stmt() const { +inline const ::pg_query::AlterFdwStmt& Node::alter_fdw_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.alter_fdw_stmt) return _internal_alter_fdw_stmt(); } inline ::pg_query::AlterFdwStmt* Node::unsafe_arena_release_alter_fdw_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_fdw_stmt) - if (_internal_has_alter_fdw_stmt()) { + if (node_case() == kAlterFdwStmt) { clear_has_node(); - ::pg_query::AlterFdwStmt* temp = _impl_.node_.alter_fdw_stmt_; + auto* temp = _impl_.node_.alter_fdw_stmt_; _impl_.node_.alter_fdw_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* alter_fdw_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_fdw_stmt) { + if (value) { set_has_alter_fdw_stmt(); - _impl_.node_.alter_fdw_stmt_ = alter_fdw_stmt; + _impl_.node_.alter_fdw_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_fdw_stmt) } inline ::pg_query::AlterFdwStmt* Node::_internal_mutable_alter_fdw_stmt() { - if (!_internal_has_alter_fdw_stmt()) { + if (node_case() != kAlterFdwStmt) { clear_node(); set_has_alter_fdw_stmt(); - _impl_.node_.alter_fdw_stmt_ = CreateMaybeMessage< ::pg_query::AlterFdwStmt >(GetArenaForAllocation()); + _impl_.node_.alter_fdw_stmt_ = CreateMaybeMessage<::pg_query::AlterFdwStmt>(GetArena()); } return _impl_.node_.alter_fdw_stmt_; } -inline ::pg_query::AlterFdwStmt* Node::mutable_alter_fdw_stmt() { +inline ::pg_query::AlterFdwStmt* Node::mutable_alter_fdw_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::AlterFdwStmt* _msg = _internal_mutable_alter_fdw_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_fdw_stmt) return _msg; } -// .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 140 [json_name = "CreateForeignServerStmt"]; -inline bool Node::_internal_has_create_foreign_server_stmt() const { +// .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"]; +inline bool Node::has_create_foreign_server_stmt() const { return node_case() == kCreateForeignServerStmt; } -inline bool Node::has_create_foreign_server_stmt() const { - return _internal_has_create_foreign_server_stmt(); +inline bool Node::_internal_has_create_foreign_server_stmt() const { + return node_case() == kCreateForeignServerStmt; } inline void Node::set_has_create_foreign_server_stmt() { _impl_._oneof_case_[0] = kCreateForeignServerStmt; } inline void Node::clear_create_foreign_server_stmt() { - if (_internal_has_create_foreign_server_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateForeignServerStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.create_foreign_server_stmt_; } clear_has_node(); @@ -71919,11 +89430,11 @@ inline void Node::clear_create_foreign_server_stmt() { } inline ::pg_query::CreateForeignServerStmt* Node::release_create_foreign_server_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_server_stmt) - if (_internal_has_create_foreign_server_stmt()) { + if (node_case() == kCreateForeignServerStmt) { clear_has_node(); - ::pg_query::CreateForeignServerStmt* temp = _impl_.node_.create_foreign_server_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_foreign_server_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.create_foreign_server_stmt_ = nullptr; return temp; @@ -71932,60 +89443,62 @@ inline ::pg_query::CreateForeignServerStmt* Node::release_create_foreign_server_ } } inline const ::pg_query::CreateForeignServerStmt& Node::_internal_create_foreign_server_stmt() const { - return _internal_has_create_foreign_server_stmt() - ? *_impl_.node_.create_foreign_server_stmt_ - : reinterpret_cast< ::pg_query::CreateForeignServerStmt&>(::pg_query::_CreateForeignServerStmt_default_instance_); + return node_case() == kCreateForeignServerStmt ? *_impl_.node_.create_foreign_server_stmt_ : reinterpret_cast<::pg_query::CreateForeignServerStmt&>(::pg_query::_CreateForeignServerStmt_default_instance_); } -inline const ::pg_query::CreateForeignServerStmt& Node::create_foreign_server_stmt() const { +inline const ::pg_query::CreateForeignServerStmt& Node::create_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_server_stmt) return _internal_create_foreign_server_stmt(); } inline ::pg_query::CreateForeignServerStmt* Node::unsafe_arena_release_create_foreign_server_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_server_stmt) - if (_internal_has_create_foreign_server_stmt()) { + if (node_case() == kCreateForeignServerStmt) { clear_has_node(); - ::pg_query::CreateForeignServerStmt* temp = _impl_.node_.create_foreign_server_stmt_; + auto* temp = _impl_.node_.create_foreign_server_stmt_; _impl_.node_.create_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* create_foreign_server_stmt) { +inline void Node::unsafe_arena_set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_foreign_server_stmt) { + if (value) { set_has_create_foreign_server_stmt(); - _impl_.node_.create_foreign_server_stmt_ = create_foreign_server_stmt; + _impl_.node_.create_foreign_server_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_server_stmt) } inline ::pg_query::CreateForeignServerStmt* Node::_internal_mutable_create_foreign_server_stmt() { - if (!_internal_has_create_foreign_server_stmt()) { + if (node_case() != kCreateForeignServerStmt) { clear_node(); set_has_create_foreign_server_stmt(); - _impl_.node_.create_foreign_server_stmt_ = CreateMaybeMessage< ::pg_query::CreateForeignServerStmt >(GetArenaForAllocation()); + _impl_.node_.create_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignServerStmt>(GetArena()); } return _impl_.node_.create_foreign_server_stmt_; } -inline ::pg_query::CreateForeignServerStmt* Node::mutable_create_foreign_server_stmt() { +inline ::pg_query::CreateForeignServerStmt* Node::mutable_create_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::CreateForeignServerStmt* _msg = _internal_mutable_create_foreign_server_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_server_stmt) return _msg; } -// .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 141 [json_name = "AlterForeignServerStmt"]; -inline bool Node::_internal_has_alter_foreign_server_stmt() const { +// .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"]; +inline bool Node::has_alter_foreign_server_stmt() const { return node_case() == kAlterForeignServerStmt; } -inline bool Node::has_alter_foreign_server_stmt() const { - return _internal_has_alter_foreign_server_stmt(); +inline bool Node::_internal_has_alter_foreign_server_stmt() const { + return node_case() == kAlterForeignServerStmt; } inline void Node::set_has_alter_foreign_server_stmt() { _impl_._oneof_case_[0] = kAlterForeignServerStmt; } inline void Node::clear_alter_foreign_server_stmt() { - if (_internal_has_alter_foreign_server_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterForeignServerStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.alter_foreign_server_stmt_; } clear_has_node(); @@ -71993,11 +89506,11 @@ inline void Node::clear_alter_foreign_server_stmt() { } inline ::pg_query::AlterForeignServerStmt* Node::release_alter_foreign_server_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.alter_foreign_server_stmt) - if (_internal_has_alter_foreign_server_stmt()) { + if (node_case() == kAlterForeignServerStmt) { clear_has_node(); - ::pg_query::AlterForeignServerStmt* temp = _impl_.node_.alter_foreign_server_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_foreign_server_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.alter_foreign_server_stmt_ = nullptr; return temp; @@ -72006,60 +89519,138 @@ inline ::pg_query::AlterForeignServerStmt* Node::release_alter_foreign_server_st } } inline const ::pg_query::AlterForeignServerStmt& Node::_internal_alter_foreign_server_stmt() const { - return _internal_has_alter_foreign_server_stmt() - ? *_impl_.node_.alter_foreign_server_stmt_ - : reinterpret_cast< ::pg_query::AlterForeignServerStmt&>(::pg_query::_AlterForeignServerStmt_default_instance_); + return node_case() == kAlterForeignServerStmt ? *_impl_.node_.alter_foreign_server_stmt_ : reinterpret_cast<::pg_query::AlterForeignServerStmt&>(::pg_query::_AlterForeignServerStmt_default_instance_); } -inline const ::pg_query::AlterForeignServerStmt& Node::alter_foreign_server_stmt() const { +inline const ::pg_query::AlterForeignServerStmt& Node::alter_foreign_server_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.alter_foreign_server_stmt) return _internal_alter_foreign_server_stmt(); } inline ::pg_query::AlterForeignServerStmt* Node::unsafe_arena_release_alter_foreign_server_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_foreign_server_stmt) - if (_internal_has_alter_foreign_server_stmt()) { + if (node_case() == kAlterForeignServerStmt) { clear_has_node(); - ::pg_query::AlterForeignServerStmt* temp = _impl_.node_.alter_foreign_server_stmt_; + auto* temp = _impl_.node_.alter_foreign_server_stmt_; _impl_.node_.alter_foreign_server_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_foreign_server_stmt) { + if (value) { set_has_alter_foreign_server_stmt(); - _impl_.node_.alter_foreign_server_stmt_ = alter_foreign_server_stmt; + _impl_.node_.alter_foreign_server_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_foreign_server_stmt) } inline ::pg_query::AlterForeignServerStmt* Node::_internal_mutable_alter_foreign_server_stmt() { - if (!_internal_has_alter_foreign_server_stmt()) { + if (node_case() != kAlterForeignServerStmt) { clear_node(); set_has_alter_foreign_server_stmt(); - _impl_.node_.alter_foreign_server_stmt_ = CreateMaybeMessage< ::pg_query::AlterForeignServerStmt >(GetArenaForAllocation()); + _impl_.node_.alter_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::AlterForeignServerStmt>(GetArena()); } return _impl_.node_.alter_foreign_server_stmt_; } -inline ::pg_query::AlterForeignServerStmt* Node::mutable_alter_foreign_server_stmt() { +inline ::pg_query::AlterForeignServerStmt* Node::mutable_alter_foreign_server_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::AlterForeignServerStmt* _msg = _internal_mutable_alter_foreign_server_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_foreign_server_stmt) return _msg; } -// .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 142 [json_name = "CreateUserMappingStmt"]; -inline bool Node::_internal_has_create_user_mapping_stmt() const { - return node_case() == kCreateUserMappingStmt; +// .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"]; +inline bool Node::has_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt; +} +inline bool Node::_internal_has_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt; +} +inline void Node::set_has_create_foreign_table_stmt() { + _impl_._oneof_case_[0] = kCreateForeignTableStmt; +} +inline void Node::clear_create_foreign_table_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateForeignTableStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_foreign_table_stmt_; + } + clear_has_node(); + } +} +inline ::pg_query::CreateForeignTableStmt* Node::release_create_foreign_table_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_table_stmt) + if (node_case() == kCreateForeignTableStmt) { + clear_has_node(); + auto* temp = _impl_.node_.create_foreign_table_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.create_foreign_table_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CreateForeignTableStmt& Node::_internal_create_foreign_table_stmt() const { + return node_case() == kCreateForeignTableStmt ? *_impl_.node_.create_foreign_table_stmt_ : reinterpret_cast<::pg_query::CreateForeignTableStmt&>(::pg_query::_CreateForeignTableStmt_default_instance_); +} +inline const ::pg_query::CreateForeignTableStmt& Node::create_foreign_table_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_table_stmt) + return _internal_create_foreign_table_stmt(); +} +inline ::pg_query::CreateForeignTableStmt* Node::unsafe_arena_release_create_foreign_table_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_table_stmt) + if (node_case() == kCreateForeignTableStmt) { + clear_has_node(); + auto* temp = _impl_.node_.create_foreign_table_stmt_; + _impl_.node_.create_foreign_table_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_create_foreign_table_stmt(); + _impl_.node_.create_foreign_table_stmt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_table_stmt) +} +inline ::pg_query::CreateForeignTableStmt* Node::_internal_mutable_create_foreign_table_stmt() { + if (node_case() != kCreateForeignTableStmt) { + clear_node(); + set_has_create_foreign_table_stmt(); + _impl_.node_.create_foreign_table_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignTableStmt>(GetArena()); + } + return _impl_.node_.create_foreign_table_stmt_; +} +inline ::pg_query::CreateForeignTableStmt* Node::mutable_create_foreign_table_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateForeignTableStmt* _msg = _internal_mutable_create_foreign_table_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_table_stmt) + return _msg; } + +// .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"]; inline bool Node::has_create_user_mapping_stmt() const { - return _internal_has_create_user_mapping_stmt(); + return node_case() == kCreateUserMappingStmt; +} +inline bool Node::_internal_has_create_user_mapping_stmt() const { + return node_case() == kCreateUserMappingStmt; } inline void Node::set_has_create_user_mapping_stmt() { _impl_._oneof_case_[0] = kCreateUserMappingStmt; } inline void Node::clear_create_user_mapping_stmt() { - if (_internal_has_create_user_mapping_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateUserMappingStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.create_user_mapping_stmt_; } clear_has_node(); @@ -72067,11 +89658,11 @@ inline void Node::clear_create_user_mapping_stmt() { } inline ::pg_query::CreateUserMappingStmt* Node::release_create_user_mapping_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.create_user_mapping_stmt) - if (_internal_has_create_user_mapping_stmt()) { + if (node_case() == kCreateUserMappingStmt) { clear_has_node(); - ::pg_query::CreateUserMappingStmt* temp = _impl_.node_.create_user_mapping_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_user_mapping_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.create_user_mapping_stmt_ = nullptr; return temp; @@ -72080,60 +89671,62 @@ inline ::pg_query::CreateUserMappingStmt* Node::release_create_user_mapping_stmt } } inline const ::pg_query::CreateUserMappingStmt& Node::_internal_create_user_mapping_stmt() const { - return _internal_has_create_user_mapping_stmt() - ? *_impl_.node_.create_user_mapping_stmt_ - : reinterpret_cast< ::pg_query::CreateUserMappingStmt&>(::pg_query::_CreateUserMappingStmt_default_instance_); + return node_case() == kCreateUserMappingStmt ? *_impl_.node_.create_user_mapping_stmt_ : reinterpret_cast<::pg_query::CreateUserMappingStmt&>(::pg_query::_CreateUserMappingStmt_default_instance_); } -inline const ::pg_query::CreateUserMappingStmt& Node::create_user_mapping_stmt() const { +inline const ::pg_query::CreateUserMappingStmt& Node::create_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.create_user_mapping_stmt) return _internal_create_user_mapping_stmt(); } inline ::pg_query::CreateUserMappingStmt* Node::unsafe_arena_release_create_user_mapping_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_user_mapping_stmt) - if (_internal_has_create_user_mapping_stmt()) { + if (node_case() == kCreateUserMappingStmt) { clear_has_node(); - ::pg_query::CreateUserMappingStmt* temp = _impl_.node_.create_user_mapping_stmt_; + auto* temp = _impl_.node_.create_user_mapping_stmt_; _impl_.node_.create_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* create_user_mapping_stmt) { +inline void Node::unsafe_arena_set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_user_mapping_stmt) { + if (value) { set_has_create_user_mapping_stmt(); - _impl_.node_.create_user_mapping_stmt_ = create_user_mapping_stmt; + _impl_.node_.create_user_mapping_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_user_mapping_stmt) } inline ::pg_query::CreateUserMappingStmt* Node::_internal_mutable_create_user_mapping_stmt() { - if (!_internal_has_create_user_mapping_stmt()) { + if (node_case() != kCreateUserMappingStmt) { clear_node(); set_has_create_user_mapping_stmt(); - _impl_.node_.create_user_mapping_stmt_ = CreateMaybeMessage< ::pg_query::CreateUserMappingStmt >(GetArenaForAllocation()); + _impl_.node_.create_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::CreateUserMappingStmt>(GetArena()); } return _impl_.node_.create_user_mapping_stmt_; } -inline ::pg_query::CreateUserMappingStmt* Node::mutable_create_user_mapping_stmt() { +inline ::pg_query::CreateUserMappingStmt* Node::mutable_create_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::CreateUserMappingStmt* _msg = _internal_mutable_create_user_mapping_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.create_user_mapping_stmt) return _msg; } -// .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 143 [json_name = "AlterUserMappingStmt"]; -inline bool Node::_internal_has_alter_user_mapping_stmt() const { +// .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"]; +inline bool Node::has_alter_user_mapping_stmt() const { return node_case() == kAlterUserMappingStmt; } -inline bool Node::has_alter_user_mapping_stmt() const { - return _internal_has_alter_user_mapping_stmt(); +inline bool Node::_internal_has_alter_user_mapping_stmt() const { + return node_case() == kAlterUserMappingStmt; } inline void Node::set_has_alter_user_mapping_stmt() { _impl_._oneof_case_[0] = kAlterUserMappingStmt; } inline void Node::clear_alter_user_mapping_stmt() { - if (_internal_has_alter_user_mapping_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterUserMappingStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.alter_user_mapping_stmt_; } clear_has_node(); @@ -72141,11 +89734,11 @@ inline void Node::clear_alter_user_mapping_stmt() { } inline ::pg_query::AlterUserMappingStmt* Node::release_alter_user_mapping_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.alter_user_mapping_stmt) - if (_internal_has_alter_user_mapping_stmt()) { + if (node_case() == kAlterUserMappingStmt) { clear_has_node(); - ::pg_query::AlterUserMappingStmt* temp = _impl_.node_.alter_user_mapping_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_user_mapping_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.alter_user_mapping_stmt_ = nullptr; return temp; @@ -72154,60 +89747,62 @@ inline ::pg_query::AlterUserMappingStmt* Node::release_alter_user_mapping_stmt() } } inline const ::pg_query::AlterUserMappingStmt& Node::_internal_alter_user_mapping_stmt() const { - return _internal_has_alter_user_mapping_stmt() - ? *_impl_.node_.alter_user_mapping_stmt_ - : reinterpret_cast< ::pg_query::AlterUserMappingStmt&>(::pg_query::_AlterUserMappingStmt_default_instance_); + return node_case() == kAlterUserMappingStmt ? *_impl_.node_.alter_user_mapping_stmt_ : reinterpret_cast<::pg_query::AlterUserMappingStmt&>(::pg_query::_AlterUserMappingStmt_default_instance_); } -inline const ::pg_query::AlterUserMappingStmt& Node::alter_user_mapping_stmt() const { +inline const ::pg_query::AlterUserMappingStmt& Node::alter_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.alter_user_mapping_stmt) return _internal_alter_user_mapping_stmt(); } inline ::pg_query::AlterUserMappingStmt* Node::unsafe_arena_release_alter_user_mapping_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_user_mapping_stmt) - if (_internal_has_alter_user_mapping_stmt()) { + if (node_case() == kAlterUserMappingStmt) { clear_has_node(); - ::pg_query::AlterUserMappingStmt* temp = _impl_.node_.alter_user_mapping_stmt_; + auto* temp = _impl_.node_.alter_user_mapping_stmt_; _impl_.node_.alter_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_user_mapping_stmt) { + if (value) { set_has_alter_user_mapping_stmt(); - _impl_.node_.alter_user_mapping_stmt_ = alter_user_mapping_stmt; + _impl_.node_.alter_user_mapping_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_user_mapping_stmt) } inline ::pg_query::AlterUserMappingStmt* Node::_internal_mutable_alter_user_mapping_stmt() { - if (!_internal_has_alter_user_mapping_stmt()) { + if (node_case() != kAlterUserMappingStmt) { clear_node(); set_has_alter_user_mapping_stmt(); - _impl_.node_.alter_user_mapping_stmt_ = CreateMaybeMessage< ::pg_query::AlterUserMappingStmt >(GetArenaForAllocation()); + _impl_.node_.alter_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::AlterUserMappingStmt>(GetArena()); } return _impl_.node_.alter_user_mapping_stmt_; } -inline ::pg_query::AlterUserMappingStmt* Node::mutable_alter_user_mapping_stmt() { +inline ::pg_query::AlterUserMappingStmt* Node::mutable_alter_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::AlterUserMappingStmt* _msg = _internal_mutable_alter_user_mapping_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_user_mapping_stmt) return _msg; } -// .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 144 [json_name = "DropUserMappingStmt"]; -inline bool Node::_internal_has_drop_user_mapping_stmt() const { +// .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"]; +inline bool Node::has_drop_user_mapping_stmt() const { return node_case() == kDropUserMappingStmt; } -inline bool Node::has_drop_user_mapping_stmt() const { - return _internal_has_drop_user_mapping_stmt(); +inline bool Node::_internal_has_drop_user_mapping_stmt() const { + return node_case() == kDropUserMappingStmt; } inline void Node::set_has_drop_user_mapping_stmt() { _impl_._oneof_case_[0] = kDropUserMappingStmt; } inline void Node::clear_drop_user_mapping_stmt() { - if (_internal_has_drop_user_mapping_stmt()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropUserMappingStmt) { + if (GetArena() == nullptr) { delete _impl_.node_.drop_user_mapping_stmt_; } clear_has_node(); @@ -72215,11 +89810,11 @@ inline void Node::clear_drop_user_mapping_stmt() { } inline ::pg_query::DropUserMappingStmt* Node::release_drop_user_mapping_stmt() { // @@protoc_insertion_point(field_release:pg_query.Node.drop_user_mapping_stmt) - if (_internal_has_drop_user_mapping_stmt()) { + if (node_case() == kDropUserMappingStmt) { clear_has_node(); - ::pg_query::DropUserMappingStmt* temp = _impl_.node_.drop_user_mapping_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.drop_user_mapping_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.drop_user_mapping_stmt_ = nullptr; return temp; @@ -72228,6054 +89823,6370 @@ inline ::pg_query::DropUserMappingStmt* Node::release_drop_user_mapping_stmt() { } } inline const ::pg_query::DropUserMappingStmt& Node::_internal_drop_user_mapping_stmt() const { - return _internal_has_drop_user_mapping_stmt() - ? *_impl_.node_.drop_user_mapping_stmt_ - : reinterpret_cast< ::pg_query::DropUserMappingStmt&>(::pg_query::_DropUserMappingStmt_default_instance_); + return node_case() == kDropUserMappingStmt ? *_impl_.node_.drop_user_mapping_stmt_ : reinterpret_cast<::pg_query::DropUserMappingStmt&>(::pg_query::_DropUserMappingStmt_default_instance_); } -inline const ::pg_query::DropUserMappingStmt& Node::drop_user_mapping_stmt() const { +inline const ::pg_query::DropUserMappingStmt& Node::drop_user_mapping_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.drop_user_mapping_stmt) return _internal_drop_user_mapping_stmt(); } inline ::pg_query::DropUserMappingStmt* Node::unsafe_arena_release_drop_user_mapping_stmt() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_user_mapping_stmt) - if (_internal_has_drop_user_mapping_stmt()) { + if (node_case() == kDropUserMappingStmt) { clear_has_node(); - ::pg_query::DropUserMappingStmt* temp = _impl_.node_.drop_user_mapping_stmt_; + auto* temp = _impl_.node_.drop_user_mapping_stmt_; _impl_.node_.drop_user_mapping_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* drop_user_mapping_stmt) { +inline void Node::unsafe_arena_set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_user_mapping_stmt) { + if (value) { set_has_drop_user_mapping_stmt(); - _impl_.node_.drop_user_mapping_stmt_ = drop_user_mapping_stmt; + _impl_.node_.drop_user_mapping_stmt_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_user_mapping_stmt) } inline ::pg_query::DropUserMappingStmt* Node::_internal_mutable_drop_user_mapping_stmt() { - if (!_internal_has_drop_user_mapping_stmt()) { + if (node_case() != kDropUserMappingStmt) { clear_node(); set_has_drop_user_mapping_stmt(); - _impl_.node_.drop_user_mapping_stmt_ = CreateMaybeMessage< ::pg_query::DropUserMappingStmt >(GetArenaForAllocation()); + _impl_.node_.drop_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::DropUserMappingStmt>(GetArena()); } return _impl_.node_.drop_user_mapping_stmt_; } -inline ::pg_query::DropUserMappingStmt* Node::mutable_drop_user_mapping_stmt() { +inline ::pg_query::DropUserMappingStmt* Node::mutable_drop_user_mapping_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::DropUserMappingStmt* _msg = _internal_mutable_drop_user_mapping_stmt(); // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_user_mapping_stmt) return _msg; } -// .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 145 [json_name = "AlterTableSpaceOptionsStmt"]; -inline bool Node::_internal_has_alter_table_space_options_stmt() const { - return node_case() == kAlterTableSpaceOptionsStmt; +// .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"]; +inline bool Node::has_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt; } -inline bool Node::has_alter_table_space_options_stmt() const { - return _internal_has_alter_table_space_options_stmt(); +inline bool Node::_internal_has_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt; } -inline void Node::set_has_alter_table_space_options_stmt() { - _impl_._oneof_case_[0] = kAlterTableSpaceOptionsStmt; +inline void Node::set_has_import_foreign_schema_stmt() { + _impl_._oneof_case_[0] = kImportForeignSchemaStmt; } -inline void Node::clear_alter_table_space_options_stmt() { - if (_internal_has_alter_table_space_options_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_table_space_options_stmt_; +inline void Node::clear_import_foreign_schema_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kImportForeignSchemaStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.import_foreign_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::release_alter_table_space_options_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_space_options_stmt) - if (_internal_has_alter_table_space_options_stmt()) { +inline ::pg_query::ImportForeignSchemaStmt* Node::release_import_foreign_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.import_foreign_schema_stmt) + if (node_case() == kImportForeignSchemaStmt) { clear_has_node(); - ::pg_query::AlterTableSpaceOptionsStmt* temp = _impl_.node_.alter_table_space_options_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.import_foreign_schema_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_space_options_stmt_ = nullptr; + _impl_.node_.import_foreign_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::_internal_alter_table_space_options_stmt() const { - return _internal_has_alter_table_space_options_stmt() - ? *_impl_.node_.alter_table_space_options_stmt_ - : reinterpret_cast< ::pg_query::AlterTableSpaceOptionsStmt&>(::pg_query::_AlterTableSpaceOptionsStmt_default_instance_); +inline const ::pg_query::ImportForeignSchemaStmt& Node::_internal_import_foreign_schema_stmt() const { + return node_case() == kImportForeignSchemaStmt ? *_impl_.node_.import_foreign_schema_stmt_ : reinterpret_cast<::pg_query::ImportForeignSchemaStmt&>(::pg_query::_ImportForeignSchemaStmt_default_instance_); } -inline const ::pg_query::AlterTableSpaceOptionsStmt& Node::alter_table_space_options_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_space_options_stmt) - return _internal_alter_table_space_options_stmt(); +inline const ::pg_query::ImportForeignSchemaStmt& Node::import_foreign_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.import_foreign_schema_stmt) + return _internal_import_foreign_schema_stmt(); } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::unsafe_arena_release_alter_table_space_options_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_space_options_stmt) - if (_internal_has_alter_table_space_options_stmt()) { +inline ::pg_query::ImportForeignSchemaStmt* Node::unsafe_arena_release_import_foreign_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.import_foreign_schema_stmt) + if (node_case() == kImportForeignSchemaStmt) { clear_has_node(); - ::pg_query::AlterTableSpaceOptionsStmt* temp = _impl_.node_.alter_table_space_options_stmt_; - _impl_.node_.alter_table_space_options_stmt_ = nullptr; + auto* temp = _impl_.node_.import_foreign_schema_stmt_; + _impl_.node_.import_foreign_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt) { +inline void Node::unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_table_space_options_stmt) { - set_has_alter_table_space_options_stmt(); - _impl_.node_.alter_table_space_options_stmt_ = alter_table_space_options_stmt; + if (value) { + set_has_import_foreign_schema_stmt(); + _impl_.node_.import_foreign_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_space_options_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.import_foreign_schema_stmt) } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::_internal_mutable_alter_table_space_options_stmt() { - if (!_internal_has_alter_table_space_options_stmt()) { +inline ::pg_query::ImportForeignSchemaStmt* Node::_internal_mutable_import_foreign_schema_stmt() { + if (node_case() != kImportForeignSchemaStmt) { clear_node(); - set_has_alter_table_space_options_stmt(); - _impl_.node_.alter_table_space_options_stmt_ = CreateMaybeMessage< ::pg_query::AlterTableSpaceOptionsStmt >(GetArenaForAllocation()); + set_has_import_foreign_schema_stmt(); + _impl_.node_.import_foreign_schema_stmt_ = CreateMaybeMessage<::pg_query::ImportForeignSchemaStmt>(GetArena()); } - return _impl_.node_.alter_table_space_options_stmt_; + return _impl_.node_.import_foreign_schema_stmt_; } -inline ::pg_query::AlterTableSpaceOptionsStmt* Node::mutable_alter_table_space_options_stmt() { - ::pg_query::AlterTableSpaceOptionsStmt* _msg = _internal_mutable_alter_table_space_options_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_space_options_stmt) +inline ::pg_query::ImportForeignSchemaStmt* Node::mutable_import_foreign_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ImportForeignSchemaStmt* _msg = _internal_mutable_import_foreign_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.import_foreign_schema_stmt) return _msg; } -// .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 146 [json_name = "AlterTableMoveAllStmt"]; -inline bool Node::_internal_has_alter_table_move_all_stmt() const { - return node_case() == kAlterTableMoveAllStmt; +// .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"]; +inline bool Node::has_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt; } -inline bool Node::has_alter_table_move_all_stmt() const { - return _internal_has_alter_table_move_all_stmt(); +inline bool Node::_internal_has_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt; } -inline void Node::set_has_alter_table_move_all_stmt() { - _impl_._oneof_case_[0] = kAlterTableMoveAllStmt; +inline void Node::set_has_create_policy_stmt() { + _impl_._oneof_case_[0] = kCreatePolicyStmt; } -inline void Node::clear_alter_table_move_all_stmt() { - if (_internal_has_alter_table_move_all_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_table_move_all_stmt_; +inline void Node::clear_create_policy_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreatePolicyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_policy_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterTableMoveAllStmt* Node::release_alter_table_move_all_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_table_move_all_stmt) - if (_internal_has_alter_table_move_all_stmt()) { +inline ::pg_query::CreatePolicyStmt* Node::release_create_policy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_policy_stmt) + if (node_case() == kCreatePolicyStmt) { clear_has_node(); - ::pg_query::AlterTableMoveAllStmt* temp = _impl_.node_.alter_table_move_all_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_policy_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_table_move_all_stmt_ = nullptr; + _impl_.node_.create_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterTableMoveAllStmt& Node::_internal_alter_table_move_all_stmt() const { - return _internal_has_alter_table_move_all_stmt() - ? *_impl_.node_.alter_table_move_all_stmt_ - : reinterpret_cast< ::pg_query::AlterTableMoveAllStmt&>(::pg_query::_AlterTableMoveAllStmt_default_instance_); +inline const ::pg_query::CreatePolicyStmt& Node::_internal_create_policy_stmt() const { + return node_case() == kCreatePolicyStmt ? *_impl_.node_.create_policy_stmt_ : reinterpret_cast<::pg_query::CreatePolicyStmt&>(::pg_query::_CreatePolicyStmt_default_instance_); } -inline const ::pg_query::AlterTableMoveAllStmt& Node::alter_table_move_all_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_table_move_all_stmt) - return _internal_alter_table_move_all_stmt(); +inline const ::pg_query::CreatePolicyStmt& Node::create_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_policy_stmt) + return _internal_create_policy_stmt(); } -inline ::pg_query::AlterTableMoveAllStmt* Node::unsafe_arena_release_alter_table_move_all_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_table_move_all_stmt) - if (_internal_has_alter_table_move_all_stmt()) { +inline ::pg_query::CreatePolicyStmt* Node::unsafe_arena_release_create_policy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_policy_stmt) + if (node_case() == kCreatePolicyStmt) { clear_has_node(); - ::pg_query::AlterTableMoveAllStmt* temp = _impl_.node_.alter_table_move_all_stmt_; - _impl_.node_.alter_table_move_all_stmt_ = nullptr; + auto* temp = _impl_.node_.create_policy_stmt_; + _impl_.node_.create_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt) { +inline void Node::unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_table_move_all_stmt) { - set_has_alter_table_move_all_stmt(); - _impl_.node_.alter_table_move_all_stmt_ = alter_table_move_all_stmt; + if (value) { + set_has_create_policy_stmt(); + _impl_.node_.create_policy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_table_move_all_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_policy_stmt) } -inline ::pg_query::AlterTableMoveAllStmt* Node::_internal_mutable_alter_table_move_all_stmt() { - if (!_internal_has_alter_table_move_all_stmt()) { +inline ::pg_query::CreatePolicyStmt* Node::_internal_mutable_create_policy_stmt() { + if (node_case() != kCreatePolicyStmt) { clear_node(); - set_has_alter_table_move_all_stmt(); - _impl_.node_.alter_table_move_all_stmt_ = CreateMaybeMessage< ::pg_query::AlterTableMoveAllStmt >(GetArenaForAllocation()); + set_has_create_policy_stmt(); + _impl_.node_.create_policy_stmt_ = CreateMaybeMessage<::pg_query::CreatePolicyStmt>(GetArena()); } - return _impl_.node_.alter_table_move_all_stmt_; + return _impl_.node_.create_policy_stmt_; } -inline ::pg_query::AlterTableMoveAllStmt* Node::mutable_alter_table_move_all_stmt() { - ::pg_query::AlterTableMoveAllStmt* _msg = _internal_mutable_alter_table_move_all_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_table_move_all_stmt) +inline ::pg_query::CreatePolicyStmt* Node::mutable_create_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePolicyStmt* _msg = _internal_mutable_create_policy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_policy_stmt) return _msg; } -// .pg_query.SecLabelStmt sec_label_stmt = 147 [json_name = "SecLabelStmt"]; -inline bool Node::_internal_has_sec_label_stmt() const { - return node_case() == kSecLabelStmt; +// .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"]; +inline bool Node::has_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt; } -inline bool Node::has_sec_label_stmt() const { - return _internal_has_sec_label_stmt(); +inline bool Node::_internal_has_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt; } -inline void Node::set_has_sec_label_stmt() { - _impl_._oneof_case_[0] = kSecLabelStmt; +inline void Node::set_has_alter_policy_stmt() { + _impl_._oneof_case_[0] = kAlterPolicyStmt; } -inline void Node::clear_sec_label_stmt() { - if (_internal_has_sec_label_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sec_label_stmt_; +inline void Node::clear_alter_policy_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterPolicyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_policy_stmt_; } clear_has_node(); } } -inline ::pg_query::SecLabelStmt* Node::release_sec_label_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.sec_label_stmt) - if (_internal_has_sec_label_stmt()) { +inline ::pg_query::AlterPolicyStmt* Node::release_alter_policy_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_policy_stmt) + if (node_case() == kAlterPolicyStmt) { clear_has_node(); - ::pg_query::SecLabelStmt* temp = _impl_.node_.sec_label_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_policy_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sec_label_stmt_ = nullptr; + _impl_.node_.alter_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SecLabelStmt& Node::_internal_sec_label_stmt() const { - return _internal_has_sec_label_stmt() - ? *_impl_.node_.sec_label_stmt_ - : reinterpret_cast< ::pg_query::SecLabelStmt&>(::pg_query::_SecLabelStmt_default_instance_); +inline const ::pg_query::AlterPolicyStmt& Node::_internal_alter_policy_stmt() const { + return node_case() == kAlterPolicyStmt ? *_impl_.node_.alter_policy_stmt_ : reinterpret_cast<::pg_query::AlterPolicyStmt&>(::pg_query::_AlterPolicyStmt_default_instance_); } -inline const ::pg_query::SecLabelStmt& Node::sec_label_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sec_label_stmt) - return _internal_sec_label_stmt(); +inline const ::pg_query::AlterPolicyStmt& Node::alter_policy_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_policy_stmt) + return _internal_alter_policy_stmt(); } -inline ::pg_query::SecLabelStmt* Node::unsafe_arena_release_sec_label_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sec_label_stmt) - if (_internal_has_sec_label_stmt()) { +inline ::pg_query::AlterPolicyStmt* Node::unsafe_arena_release_alter_policy_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_policy_stmt) + if (node_case() == kAlterPolicyStmt) { clear_has_node(); - ::pg_query::SecLabelStmt* temp = _impl_.node_.sec_label_stmt_; - _impl_.node_.sec_label_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_policy_stmt_; + _impl_.node_.alter_policy_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* sec_label_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sec_label_stmt) { - set_has_sec_label_stmt(); - _impl_.node_.sec_label_stmt_ = sec_label_stmt; + if (value) { + set_has_alter_policy_stmt(); + _impl_.node_.alter_policy_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sec_label_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_policy_stmt) } -inline ::pg_query::SecLabelStmt* Node::_internal_mutable_sec_label_stmt() { - if (!_internal_has_sec_label_stmt()) { +inline ::pg_query::AlterPolicyStmt* Node::_internal_mutable_alter_policy_stmt() { + if (node_case() != kAlterPolicyStmt) { clear_node(); - set_has_sec_label_stmt(); - _impl_.node_.sec_label_stmt_ = CreateMaybeMessage< ::pg_query::SecLabelStmt >(GetArenaForAllocation()); + set_has_alter_policy_stmt(); + _impl_.node_.alter_policy_stmt_ = CreateMaybeMessage<::pg_query::AlterPolicyStmt>(GetArena()); } - return _impl_.node_.sec_label_stmt_; + return _impl_.node_.alter_policy_stmt_; } -inline ::pg_query::SecLabelStmt* Node::mutable_sec_label_stmt() { - ::pg_query::SecLabelStmt* _msg = _internal_mutable_sec_label_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sec_label_stmt) +inline ::pg_query::AlterPolicyStmt* Node::mutable_alter_policy_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterPolicyStmt* _msg = _internal_mutable_alter_policy_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_policy_stmt) return _msg; } -// .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 148 [json_name = "CreateForeignTableStmt"]; -inline bool Node::_internal_has_create_foreign_table_stmt() const { - return node_case() == kCreateForeignTableStmt; +// .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"]; +inline bool Node::has_create_am_stmt() const { + return node_case() == kCreateAmStmt; } -inline bool Node::has_create_foreign_table_stmt() const { - return _internal_has_create_foreign_table_stmt(); +inline bool Node::_internal_has_create_am_stmt() const { + return node_case() == kCreateAmStmt; } -inline void Node::set_has_create_foreign_table_stmt() { - _impl_._oneof_case_[0] = kCreateForeignTableStmt; +inline void Node::set_has_create_am_stmt() { + _impl_._oneof_case_[0] = kCreateAmStmt; } -inline void Node::clear_create_foreign_table_stmt() { - if (_internal_has_create_foreign_table_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_foreign_table_stmt_; +inline void Node::clear_create_am_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateAmStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_am_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateForeignTableStmt* Node::release_create_foreign_table_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_foreign_table_stmt) - if (_internal_has_create_foreign_table_stmt()) { +inline ::pg_query::CreateAmStmt* Node::release_create_am_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_am_stmt) + if (node_case() == kCreateAmStmt) { clear_has_node(); - ::pg_query::CreateForeignTableStmt* temp = _impl_.node_.create_foreign_table_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_am_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_foreign_table_stmt_ = nullptr; + _impl_.node_.create_am_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateForeignTableStmt& Node::_internal_create_foreign_table_stmt() const { - return _internal_has_create_foreign_table_stmt() - ? *_impl_.node_.create_foreign_table_stmt_ - : reinterpret_cast< ::pg_query::CreateForeignTableStmt&>(::pg_query::_CreateForeignTableStmt_default_instance_); +inline const ::pg_query::CreateAmStmt& Node::_internal_create_am_stmt() const { + return node_case() == kCreateAmStmt ? *_impl_.node_.create_am_stmt_ : reinterpret_cast<::pg_query::CreateAmStmt&>(::pg_query::_CreateAmStmt_default_instance_); } -inline const ::pg_query::CreateForeignTableStmt& Node::create_foreign_table_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_foreign_table_stmt) - return _internal_create_foreign_table_stmt(); +inline const ::pg_query::CreateAmStmt& Node::create_am_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_am_stmt) + return _internal_create_am_stmt(); } -inline ::pg_query::CreateForeignTableStmt* Node::unsafe_arena_release_create_foreign_table_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_foreign_table_stmt) - if (_internal_has_create_foreign_table_stmt()) { +inline ::pg_query::CreateAmStmt* Node::unsafe_arena_release_create_am_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_am_stmt) + if (node_case() == kCreateAmStmt) { clear_has_node(); - ::pg_query::CreateForeignTableStmt* temp = _impl_.node_.create_foreign_table_stmt_; - _impl_.node_.create_foreign_table_stmt_ = nullptr; + auto* temp = _impl_.node_.create_am_stmt_; + _impl_.node_.create_am_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* create_foreign_table_stmt) { +inline void Node::unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_foreign_table_stmt) { - set_has_create_foreign_table_stmt(); - _impl_.node_.create_foreign_table_stmt_ = create_foreign_table_stmt; + if (value) { + set_has_create_am_stmt(); + _impl_.node_.create_am_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_foreign_table_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_am_stmt) } -inline ::pg_query::CreateForeignTableStmt* Node::_internal_mutable_create_foreign_table_stmt() { - if (!_internal_has_create_foreign_table_stmt()) { +inline ::pg_query::CreateAmStmt* Node::_internal_mutable_create_am_stmt() { + if (node_case() != kCreateAmStmt) { clear_node(); - set_has_create_foreign_table_stmt(); - _impl_.node_.create_foreign_table_stmt_ = CreateMaybeMessage< ::pg_query::CreateForeignTableStmt >(GetArenaForAllocation()); + set_has_create_am_stmt(); + _impl_.node_.create_am_stmt_ = CreateMaybeMessage<::pg_query::CreateAmStmt>(GetArena()); } - return _impl_.node_.create_foreign_table_stmt_; + return _impl_.node_.create_am_stmt_; } -inline ::pg_query::CreateForeignTableStmt* Node::mutable_create_foreign_table_stmt() { - ::pg_query::CreateForeignTableStmt* _msg = _internal_mutable_create_foreign_table_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_foreign_table_stmt) +inline ::pg_query::CreateAmStmt* Node::mutable_create_am_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateAmStmt* _msg = _internal_mutable_create_am_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_am_stmt) return _msg; } -// .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 149 [json_name = "ImportForeignSchemaStmt"]; -inline bool Node::_internal_has_import_foreign_schema_stmt() const { - return node_case() == kImportForeignSchemaStmt; +// .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"]; +inline bool Node::has_create_trig_stmt() const { + return node_case() == kCreateTrigStmt; } -inline bool Node::has_import_foreign_schema_stmt() const { - return _internal_has_import_foreign_schema_stmt(); +inline bool Node::_internal_has_create_trig_stmt() const { + return node_case() == kCreateTrigStmt; } -inline void Node::set_has_import_foreign_schema_stmt() { - _impl_._oneof_case_[0] = kImportForeignSchemaStmt; +inline void Node::set_has_create_trig_stmt() { + _impl_._oneof_case_[0] = kCreateTrigStmt; } -inline void Node::clear_import_foreign_schema_stmt() { - if (_internal_has_import_foreign_schema_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.import_foreign_schema_stmt_; +inline void Node::clear_create_trig_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateTrigStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::ImportForeignSchemaStmt* Node::release_import_foreign_schema_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.import_foreign_schema_stmt) - if (_internal_has_import_foreign_schema_stmt()) { +inline ::pg_query::CreateTrigStmt* Node::release_create_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_trig_stmt) + if (node_case() == kCreateTrigStmt) { clear_has_node(); - ::pg_query::ImportForeignSchemaStmt* temp = _impl_.node_.import_foreign_schema_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_trig_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.import_foreign_schema_stmt_ = nullptr; + _impl_.node_.create_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ImportForeignSchemaStmt& Node::_internal_import_foreign_schema_stmt() const { - return _internal_has_import_foreign_schema_stmt() - ? *_impl_.node_.import_foreign_schema_stmt_ - : reinterpret_cast< ::pg_query::ImportForeignSchemaStmt&>(::pg_query::_ImportForeignSchemaStmt_default_instance_); +inline const ::pg_query::CreateTrigStmt& Node::_internal_create_trig_stmt() const { + return node_case() == kCreateTrigStmt ? *_impl_.node_.create_trig_stmt_ : reinterpret_cast<::pg_query::CreateTrigStmt&>(::pg_query::_CreateTrigStmt_default_instance_); } -inline const ::pg_query::ImportForeignSchemaStmt& Node::import_foreign_schema_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.import_foreign_schema_stmt) - return _internal_import_foreign_schema_stmt(); +inline const ::pg_query::CreateTrigStmt& Node::create_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_trig_stmt) + return _internal_create_trig_stmt(); } -inline ::pg_query::ImportForeignSchemaStmt* Node::unsafe_arena_release_import_foreign_schema_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.import_foreign_schema_stmt) - if (_internal_has_import_foreign_schema_stmt()) { +inline ::pg_query::CreateTrigStmt* Node::unsafe_arena_release_create_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_trig_stmt) + if (node_case() == kCreateTrigStmt) { clear_has_node(); - ::pg_query::ImportForeignSchemaStmt* temp = _impl_.node_.import_foreign_schema_stmt_; - _impl_.node_.import_foreign_schema_stmt_ = nullptr; + auto* temp = _impl_.node_.create_trig_stmt_; + _impl_.node_.create_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt) { +inline void Node::unsafe_arena_set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (import_foreign_schema_stmt) { - set_has_import_foreign_schema_stmt(); - _impl_.node_.import_foreign_schema_stmt_ = import_foreign_schema_stmt; + if (value) { + set_has_create_trig_stmt(); + _impl_.node_.create_trig_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.import_foreign_schema_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_trig_stmt) } -inline ::pg_query::ImportForeignSchemaStmt* Node::_internal_mutable_import_foreign_schema_stmt() { - if (!_internal_has_import_foreign_schema_stmt()) { +inline ::pg_query::CreateTrigStmt* Node::_internal_mutable_create_trig_stmt() { + if (node_case() != kCreateTrigStmt) { clear_node(); - set_has_import_foreign_schema_stmt(); - _impl_.node_.import_foreign_schema_stmt_ = CreateMaybeMessage< ::pg_query::ImportForeignSchemaStmt >(GetArenaForAllocation()); + set_has_create_trig_stmt(); + _impl_.node_.create_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateTrigStmt>(GetArena()); } - return _impl_.node_.import_foreign_schema_stmt_; + return _impl_.node_.create_trig_stmt_; } -inline ::pg_query::ImportForeignSchemaStmt* Node::mutable_import_foreign_schema_stmt() { - ::pg_query::ImportForeignSchemaStmt* _msg = _internal_mutable_import_foreign_schema_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.import_foreign_schema_stmt) +inline ::pg_query::CreateTrigStmt* Node::mutable_create_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTrigStmt* _msg = _internal_mutable_create_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_trig_stmt) return _msg; } -// .pg_query.CreateExtensionStmt create_extension_stmt = 150 [json_name = "CreateExtensionStmt"]; -inline bool Node::_internal_has_create_extension_stmt() const { - return node_case() == kCreateExtensionStmt; +// .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"]; +inline bool Node::has_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt; } -inline bool Node::has_create_extension_stmt() const { - return _internal_has_create_extension_stmt(); +inline bool Node::_internal_has_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt; } -inline void Node::set_has_create_extension_stmt() { - _impl_._oneof_case_[0] = kCreateExtensionStmt; +inline void Node::set_has_create_event_trig_stmt() { + _impl_._oneof_case_[0] = kCreateEventTrigStmt; } -inline void Node::clear_create_extension_stmt() { - if (_internal_has_create_extension_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_extension_stmt_; +inline void Node::clear_create_event_trig_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateEventTrigStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_event_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateExtensionStmt* Node::release_create_extension_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_extension_stmt) - if (_internal_has_create_extension_stmt()) { +inline ::pg_query::CreateEventTrigStmt* Node::release_create_event_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_event_trig_stmt) + if (node_case() == kCreateEventTrigStmt) { clear_has_node(); - ::pg_query::CreateExtensionStmt* temp = _impl_.node_.create_extension_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_event_trig_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_extension_stmt_ = nullptr; + _impl_.node_.create_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateExtensionStmt& Node::_internal_create_extension_stmt() const { - return _internal_has_create_extension_stmt() - ? *_impl_.node_.create_extension_stmt_ - : reinterpret_cast< ::pg_query::CreateExtensionStmt&>(::pg_query::_CreateExtensionStmt_default_instance_); +inline const ::pg_query::CreateEventTrigStmt& Node::_internal_create_event_trig_stmt() const { + return node_case() == kCreateEventTrigStmt ? *_impl_.node_.create_event_trig_stmt_ : reinterpret_cast<::pg_query::CreateEventTrigStmt&>(::pg_query::_CreateEventTrigStmt_default_instance_); } -inline const ::pg_query::CreateExtensionStmt& Node::create_extension_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_extension_stmt) - return _internal_create_extension_stmt(); +inline const ::pg_query::CreateEventTrigStmt& Node::create_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_event_trig_stmt) + return _internal_create_event_trig_stmt(); } -inline ::pg_query::CreateExtensionStmt* Node::unsafe_arena_release_create_extension_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_extension_stmt) - if (_internal_has_create_extension_stmt()) { +inline ::pg_query::CreateEventTrigStmt* Node::unsafe_arena_release_create_event_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_event_trig_stmt) + if (node_case() == kCreateEventTrigStmt) { clear_has_node(); - ::pg_query::CreateExtensionStmt* temp = _impl_.node_.create_extension_stmt_; - _impl_.node_.create_extension_stmt_ = nullptr; + auto* temp = _impl_.node_.create_event_trig_stmt_; + _impl_.node_.create_event_trig_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* create_extension_stmt) { +inline void Node::unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_extension_stmt) { - set_has_create_extension_stmt(); - _impl_.node_.create_extension_stmt_ = create_extension_stmt; + if (value) { + set_has_create_event_trig_stmt(); + _impl_.node_.create_event_trig_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_extension_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_event_trig_stmt) } -inline ::pg_query::CreateExtensionStmt* Node::_internal_mutable_create_extension_stmt() { - if (!_internal_has_create_extension_stmt()) { +inline ::pg_query::CreateEventTrigStmt* Node::_internal_mutable_create_event_trig_stmt() { + if (node_case() != kCreateEventTrigStmt) { clear_node(); - set_has_create_extension_stmt(); - _impl_.node_.create_extension_stmt_ = CreateMaybeMessage< ::pg_query::CreateExtensionStmt >(GetArenaForAllocation()); + set_has_create_event_trig_stmt(); + _impl_.node_.create_event_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateEventTrigStmt>(GetArena()); } - return _impl_.node_.create_extension_stmt_; + return _impl_.node_.create_event_trig_stmt_; } -inline ::pg_query::CreateExtensionStmt* Node::mutable_create_extension_stmt() { - ::pg_query::CreateExtensionStmt* _msg = _internal_mutable_create_extension_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_extension_stmt) +inline ::pg_query::CreateEventTrigStmt* Node::mutable_create_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateEventTrigStmt* _msg = _internal_mutable_create_event_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_event_trig_stmt) return _msg; } -// .pg_query.AlterExtensionStmt alter_extension_stmt = 151 [json_name = "AlterExtensionStmt"]; -inline bool Node::_internal_has_alter_extension_stmt() const { - return node_case() == kAlterExtensionStmt; +// .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"]; +inline bool Node::has_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt; } -inline bool Node::has_alter_extension_stmt() const { - return _internal_has_alter_extension_stmt(); +inline bool Node::_internal_has_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt; } -inline void Node::set_has_alter_extension_stmt() { - _impl_._oneof_case_[0] = kAlterExtensionStmt; +inline void Node::set_has_alter_event_trig_stmt() { + _impl_._oneof_case_[0] = kAlterEventTrigStmt; } -inline void Node::clear_alter_extension_stmt() { - if (_internal_has_alter_extension_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_extension_stmt_; +inline void Node::clear_alter_event_trig_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterEventTrigStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_event_trig_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterExtensionStmt* Node::release_alter_extension_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_stmt) - if (_internal_has_alter_extension_stmt()) { +inline ::pg_query::AlterEventTrigStmt* Node::release_alter_event_trig_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_event_trig_stmt) + if (node_case() == kAlterEventTrigStmt) { clear_has_node(); - ::pg_query::AlterExtensionStmt* temp = _impl_.node_.alter_extension_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_event_trig_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_extension_stmt_ = nullptr; + _impl_.node_.alter_event_trig_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::AlterEventTrigStmt& Node::_internal_alter_event_trig_stmt() const { + return node_case() == kAlterEventTrigStmt ? *_impl_.node_.alter_event_trig_stmt_ : reinterpret_cast<::pg_query::AlterEventTrigStmt&>(::pg_query::_AlterEventTrigStmt_default_instance_); +} +inline const ::pg_query::AlterEventTrigStmt& Node::alter_event_trig_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_event_trig_stmt) + return _internal_alter_event_trig_stmt(); +} +inline ::pg_query::AlterEventTrigStmt* Node::unsafe_arena_release_alter_event_trig_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_event_trig_stmt) + if (node_case() == kAlterEventTrigStmt) { + clear_has_node(); + auto* temp = _impl_.node_.alter_event_trig_stmt_; + _impl_.node_.alter_event_trig_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alter_event_trig_stmt(); + _impl_.node_.alter_event_trig_stmt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_event_trig_stmt) +} +inline ::pg_query::AlterEventTrigStmt* Node::_internal_mutable_alter_event_trig_stmt() { + if (node_case() != kAlterEventTrigStmt) { + clear_node(); + set_has_alter_event_trig_stmt(); + _impl_.node_.alter_event_trig_stmt_ = CreateMaybeMessage<::pg_query::AlterEventTrigStmt>(GetArena()); + } + return _impl_.node_.alter_event_trig_stmt_; +} +inline ::pg_query::AlterEventTrigStmt* Node::mutable_alter_event_trig_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterEventTrigStmt* _msg = _internal_mutable_alter_event_trig_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_event_trig_stmt) + return _msg; +} + +// .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"]; +inline bool Node::has_create_plang_stmt() const { + return node_case() == kCreatePlangStmt; +} +inline bool Node::_internal_has_create_plang_stmt() const { + return node_case() == kCreatePlangStmt; +} +inline void Node::set_has_create_plang_stmt() { + _impl_._oneof_case_[0] = kCreatePlangStmt; +} +inline void Node::clear_create_plang_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreatePlangStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_plang_stmt_; + } + clear_has_node(); + } +} +inline ::pg_query::CreatePLangStmt* Node::release_create_plang_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_plang_stmt) + if (node_case() == kCreatePlangStmt) { + clear_has_node(); + auto* temp = _impl_.node_.create_plang_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.create_plang_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::CreatePLangStmt& Node::_internal_create_plang_stmt() const { + return node_case() == kCreatePlangStmt ? *_impl_.node_.create_plang_stmt_ : reinterpret_cast<::pg_query::CreatePLangStmt&>(::pg_query::_CreatePLangStmt_default_instance_); +} +inline const ::pg_query::CreatePLangStmt& Node::create_plang_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_plang_stmt) + return _internal_create_plang_stmt(); +} +inline ::pg_query::CreatePLangStmt* Node::unsafe_arena_release_create_plang_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_plang_stmt) + if (node_case() == kCreatePlangStmt) { + clear_has_node(); + auto* temp = _impl_.node_.create_plang_stmt_; + _impl_.node_.create_plang_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_create_plang_stmt(); + _impl_.node_.create_plang_stmt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_plang_stmt) +} +inline ::pg_query::CreatePLangStmt* Node::_internal_mutable_create_plang_stmt() { + if (node_case() != kCreatePlangStmt) { + clear_node(); + set_has_create_plang_stmt(); + _impl_.node_.create_plang_stmt_ = CreateMaybeMessage<::pg_query::CreatePLangStmt>(GetArena()); + } + return _impl_.node_.create_plang_stmt_; +} +inline ::pg_query::CreatePLangStmt* Node::mutable_create_plang_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePLangStmt* _msg = _internal_mutable_create_plang_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_plang_stmt) + return _msg; +} + +// .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"]; +inline bool Node::has_create_role_stmt() const { + return node_case() == kCreateRoleStmt; +} +inline bool Node::_internal_has_create_role_stmt() const { + return node_case() == kCreateRoleStmt; +} +inline void Node::set_has_create_role_stmt() { + _impl_._oneof_case_[0] = kCreateRoleStmt; +} +inline void Node::clear_create_role_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateRoleStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_role_stmt_; + } + clear_has_node(); + } +} +inline ::pg_query::CreateRoleStmt* Node::release_create_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_role_stmt) + if (node_case() == kCreateRoleStmt) { + clear_has_node(); + auto* temp = _impl_.node_.create_role_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.create_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterExtensionStmt& Node::_internal_alter_extension_stmt() const { - return _internal_has_alter_extension_stmt() - ? *_impl_.node_.alter_extension_stmt_ - : reinterpret_cast< ::pg_query::AlterExtensionStmt&>(::pg_query::_AlterExtensionStmt_default_instance_); +inline const ::pg_query::CreateRoleStmt& Node::_internal_create_role_stmt() const { + return node_case() == kCreateRoleStmt ? *_impl_.node_.create_role_stmt_ : reinterpret_cast<::pg_query::CreateRoleStmt&>(::pg_query::_CreateRoleStmt_default_instance_); } -inline const ::pg_query::AlterExtensionStmt& Node::alter_extension_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_stmt) - return _internal_alter_extension_stmt(); +inline const ::pg_query::CreateRoleStmt& Node::create_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_role_stmt) + return _internal_create_role_stmt(); } -inline ::pg_query::AlterExtensionStmt* Node::unsafe_arena_release_alter_extension_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_stmt) - if (_internal_has_alter_extension_stmt()) { +inline ::pg_query::CreateRoleStmt* Node::unsafe_arena_release_create_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_role_stmt) + if (node_case() == kCreateRoleStmt) { clear_has_node(); - ::pg_query::AlterExtensionStmt* temp = _impl_.node_.alter_extension_stmt_; - _impl_.node_.alter_extension_stmt_ = nullptr; + auto* temp = _impl_.node_.create_role_stmt_; + _impl_.node_.create_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* alter_extension_stmt) { +inline void Node::unsafe_arena_set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_extension_stmt) { - set_has_alter_extension_stmt(); - _impl_.node_.alter_extension_stmt_ = alter_extension_stmt; + if (value) { + set_has_create_role_stmt(); + _impl_.node_.create_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_role_stmt) } -inline ::pg_query::AlterExtensionStmt* Node::_internal_mutable_alter_extension_stmt() { - if (!_internal_has_alter_extension_stmt()) { +inline ::pg_query::CreateRoleStmt* Node::_internal_mutable_create_role_stmt() { + if (node_case() != kCreateRoleStmt) { clear_node(); - set_has_alter_extension_stmt(); - _impl_.node_.alter_extension_stmt_ = CreateMaybeMessage< ::pg_query::AlterExtensionStmt >(GetArenaForAllocation()); + set_has_create_role_stmt(); + _impl_.node_.create_role_stmt_ = CreateMaybeMessage<::pg_query::CreateRoleStmt>(GetArena()); } - return _impl_.node_.alter_extension_stmt_; + return _impl_.node_.create_role_stmt_; } -inline ::pg_query::AlterExtensionStmt* Node::mutable_alter_extension_stmt() { - ::pg_query::AlterExtensionStmt* _msg = _internal_mutable_alter_extension_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_stmt) +inline ::pg_query::CreateRoleStmt* Node::mutable_create_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateRoleStmt* _msg = _internal_mutable_create_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_role_stmt) return _msg; } -// .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 152 [json_name = "AlterExtensionContentsStmt"]; -inline bool Node::_internal_has_alter_extension_contents_stmt() const { - return node_case() == kAlterExtensionContentsStmt; +// .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"]; +inline bool Node::has_alter_role_stmt() const { + return node_case() == kAlterRoleStmt; } -inline bool Node::has_alter_extension_contents_stmt() const { - return _internal_has_alter_extension_contents_stmt(); +inline bool Node::_internal_has_alter_role_stmt() const { + return node_case() == kAlterRoleStmt; } -inline void Node::set_has_alter_extension_contents_stmt() { - _impl_._oneof_case_[0] = kAlterExtensionContentsStmt; +inline void Node::set_has_alter_role_stmt() { + _impl_._oneof_case_[0] = kAlterRoleStmt; } -inline void Node::clear_alter_extension_contents_stmt() { - if (_internal_has_alter_extension_contents_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_extension_contents_stmt_; +inline void Node::clear_alter_role_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterRoleStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_role_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterExtensionContentsStmt* Node::release_alter_extension_contents_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_extension_contents_stmt) - if (_internal_has_alter_extension_contents_stmt()) { +inline ::pg_query::AlterRoleStmt* Node::release_alter_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_stmt) + if (node_case() == kAlterRoleStmt) { clear_has_node(); - ::pg_query::AlterExtensionContentsStmt* temp = _impl_.node_.alter_extension_contents_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_role_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_extension_contents_stmt_ = nullptr; + _impl_.node_.alter_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterExtensionContentsStmt& Node::_internal_alter_extension_contents_stmt() const { - return _internal_has_alter_extension_contents_stmt() - ? *_impl_.node_.alter_extension_contents_stmt_ - : reinterpret_cast< ::pg_query::AlterExtensionContentsStmt&>(::pg_query::_AlterExtensionContentsStmt_default_instance_); +inline const ::pg_query::AlterRoleStmt& Node::_internal_alter_role_stmt() const { + return node_case() == kAlterRoleStmt ? *_impl_.node_.alter_role_stmt_ : reinterpret_cast<::pg_query::AlterRoleStmt&>(::pg_query::_AlterRoleStmt_default_instance_); } -inline const ::pg_query::AlterExtensionContentsStmt& Node::alter_extension_contents_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_extension_contents_stmt) - return _internal_alter_extension_contents_stmt(); +inline const ::pg_query::AlterRoleStmt& Node::alter_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_stmt) + return _internal_alter_role_stmt(); } -inline ::pg_query::AlterExtensionContentsStmt* Node::unsafe_arena_release_alter_extension_contents_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_extension_contents_stmt) - if (_internal_has_alter_extension_contents_stmt()) { +inline ::pg_query::AlterRoleStmt* Node::unsafe_arena_release_alter_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_stmt) + if (node_case() == kAlterRoleStmt) { clear_has_node(); - ::pg_query::AlterExtensionContentsStmt* temp = _impl_.node_.alter_extension_contents_stmt_; - _impl_.node_.alter_extension_contents_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_role_stmt_; + _impl_.node_.alter_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_extension_contents_stmt) { - set_has_alter_extension_contents_stmt(); - _impl_.node_.alter_extension_contents_stmt_ = alter_extension_contents_stmt; + if (value) { + set_has_alter_role_stmt(); + _impl_.node_.alter_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_extension_contents_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_stmt) } -inline ::pg_query::AlterExtensionContentsStmt* Node::_internal_mutable_alter_extension_contents_stmt() { - if (!_internal_has_alter_extension_contents_stmt()) { +inline ::pg_query::AlterRoleStmt* Node::_internal_mutable_alter_role_stmt() { + if (node_case() != kAlterRoleStmt) { clear_node(); - set_has_alter_extension_contents_stmt(); - _impl_.node_.alter_extension_contents_stmt_ = CreateMaybeMessage< ::pg_query::AlterExtensionContentsStmt >(GetArenaForAllocation()); + set_has_alter_role_stmt(); + _impl_.node_.alter_role_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleStmt>(GetArena()); } - return _impl_.node_.alter_extension_contents_stmt_; + return _impl_.node_.alter_role_stmt_; } -inline ::pg_query::AlterExtensionContentsStmt* Node::mutable_alter_extension_contents_stmt() { - ::pg_query::AlterExtensionContentsStmt* _msg = _internal_mutable_alter_extension_contents_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_extension_contents_stmt) +inline ::pg_query::AlterRoleStmt* Node::mutable_alter_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterRoleStmt* _msg = _internal_mutable_alter_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_stmt) return _msg; } -// .pg_query.CreateEventTrigStmt create_event_trig_stmt = 153 [json_name = "CreateEventTrigStmt"]; -inline bool Node::_internal_has_create_event_trig_stmt() const { - return node_case() == kCreateEventTrigStmt; +// .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"]; +inline bool Node::has_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt; } -inline bool Node::has_create_event_trig_stmt() const { - return _internal_has_create_event_trig_stmt(); +inline bool Node::_internal_has_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt; } -inline void Node::set_has_create_event_trig_stmt() { - _impl_._oneof_case_[0] = kCreateEventTrigStmt; +inline void Node::set_has_alter_role_set_stmt() { + _impl_._oneof_case_[0] = kAlterRoleSetStmt; } -inline void Node::clear_create_event_trig_stmt() { - if (_internal_has_create_event_trig_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_event_trig_stmt_; +inline void Node::clear_alter_role_set_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterRoleSetStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_role_set_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateEventTrigStmt* Node::release_create_event_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_event_trig_stmt) - if (_internal_has_create_event_trig_stmt()) { +inline ::pg_query::AlterRoleSetStmt* Node::release_alter_role_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_role_set_stmt) + if (node_case() == kAlterRoleSetStmt) { clear_has_node(); - ::pg_query::CreateEventTrigStmt* temp = _impl_.node_.create_event_trig_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_role_set_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_event_trig_stmt_ = nullptr; + _impl_.node_.alter_role_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateEventTrigStmt& Node::_internal_create_event_trig_stmt() const { - return _internal_has_create_event_trig_stmt() - ? *_impl_.node_.create_event_trig_stmt_ - : reinterpret_cast< ::pg_query::CreateEventTrigStmt&>(::pg_query::_CreateEventTrigStmt_default_instance_); +inline const ::pg_query::AlterRoleSetStmt& Node::_internal_alter_role_set_stmt() const { + return node_case() == kAlterRoleSetStmt ? *_impl_.node_.alter_role_set_stmt_ : reinterpret_cast<::pg_query::AlterRoleSetStmt&>(::pg_query::_AlterRoleSetStmt_default_instance_); } -inline const ::pg_query::CreateEventTrigStmt& Node::create_event_trig_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_event_trig_stmt) - return _internal_create_event_trig_stmt(); +inline const ::pg_query::AlterRoleSetStmt& Node::alter_role_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_role_set_stmt) + return _internal_alter_role_set_stmt(); } -inline ::pg_query::CreateEventTrigStmt* Node::unsafe_arena_release_create_event_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_event_trig_stmt) - if (_internal_has_create_event_trig_stmt()) { +inline ::pg_query::AlterRoleSetStmt* Node::unsafe_arena_release_alter_role_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_role_set_stmt) + if (node_case() == kAlterRoleSetStmt) { clear_has_node(); - ::pg_query::CreateEventTrigStmt* temp = _impl_.node_.create_event_trig_stmt_; - _impl_.node_.create_event_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_role_set_stmt_; + _impl_.node_.alter_role_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* create_event_trig_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_event_trig_stmt) { - set_has_create_event_trig_stmt(); - _impl_.node_.create_event_trig_stmt_ = create_event_trig_stmt; + if (value) { + set_has_alter_role_set_stmt(); + _impl_.node_.alter_role_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_event_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_role_set_stmt) } -inline ::pg_query::CreateEventTrigStmt* Node::_internal_mutable_create_event_trig_stmt() { - if (!_internal_has_create_event_trig_stmt()) { +inline ::pg_query::AlterRoleSetStmt* Node::_internal_mutable_alter_role_set_stmt() { + if (node_case() != kAlterRoleSetStmt) { clear_node(); - set_has_create_event_trig_stmt(); - _impl_.node_.create_event_trig_stmt_ = CreateMaybeMessage< ::pg_query::CreateEventTrigStmt >(GetArenaForAllocation()); + set_has_alter_role_set_stmt(); + _impl_.node_.alter_role_set_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleSetStmt>(GetArena()); } - return _impl_.node_.create_event_trig_stmt_; + return _impl_.node_.alter_role_set_stmt_; } -inline ::pg_query::CreateEventTrigStmt* Node::mutable_create_event_trig_stmt() { - ::pg_query::CreateEventTrigStmt* _msg = _internal_mutable_create_event_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_event_trig_stmt) +inline ::pg_query::AlterRoleSetStmt* Node::mutable_alter_role_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterRoleSetStmt* _msg = _internal_mutable_alter_role_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_role_set_stmt) return _msg; } -// .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 154 [json_name = "AlterEventTrigStmt"]; -inline bool Node::_internal_has_alter_event_trig_stmt() const { - return node_case() == kAlterEventTrigStmt; +// .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"]; +inline bool Node::has_drop_role_stmt() const { + return node_case() == kDropRoleStmt; } -inline bool Node::has_alter_event_trig_stmt() const { - return _internal_has_alter_event_trig_stmt(); +inline bool Node::_internal_has_drop_role_stmt() const { + return node_case() == kDropRoleStmt; } -inline void Node::set_has_alter_event_trig_stmt() { - _impl_._oneof_case_[0] = kAlterEventTrigStmt; +inline void Node::set_has_drop_role_stmt() { + _impl_._oneof_case_[0] = kDropRoleStmt; } -inline void Node::clear_alter_event_trig_stmt() { - if (_internal_has_alter_event_trig_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_event_trig_stmt_; +inline void Node::clear_drop_role_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropRoleStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.drop_role_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterEventTrigStmt* Node::release_alter_event_trig_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_event_trig_stmt) - if (_internal_has_alter_event_trig_stmt()) { +inline ::pg_query::DropRoleStmt* Node::release_drop_role_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_role_stmt) + if (node_case() == kDropRoleStmt) { clear_has_node(); - ::pg_query::AlterEventTrigStmt* temp = _impl_.node_.alter_event_trig_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.drop_role_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_event_trig_stmt_ = nullptr; + _impl_.node_.drop_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterEventTrigStmt& Node::_internal_alter_event_trig_stmt() const { - return _internal_has_alter_event_trig_stmt() - ? *_impl_.node_.alter_event_trig_stmt_ - : reinterpret_cast< ::pg_query::AlterEventTrigStmt&>(::pg_query::_AlterEventTrigStmt_default_instance_); +inline const ::pg_query::DropRoleStmt& Node::_internal_drop_role_stmt() const { + return node_case() == kDropRoleStmt ? *_impl_.node_.drop_role_stmt_ : reinterpret_cast<::pg_query::DropRoleStmt&>(::pg_query::_DropRoleStmt_default_instance_); } -inline const ::pg_query::AlterEventTrigStmt& Node::alter_event_trig_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_event_trig_stmt) - return _internal_alter_event_trig_stmt(); +inline const ::pg_query::DropRoleStmt& Node::drop_role_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_role_stmt) + return _internal_drop_role_stmt(); } -inline ::pg_query::AlterEventTrigStmt* Node::unsafe_arena_release_alter_event_trig_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_event_trig_stmt) - if (_internal_has_alter_event_trig_stmt()) { +inline ::pg_query::DropRoleStmt* Node::unsafe_arena_release_drop_role_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_role_stmt) + if (node_case() == kDropRoleStmt) { clear_has_node(); - ::pg_query::AlterEventTrigStmt* temp = _impl_.node_.alter_event_trig_stmt_; - _impl_.node_.alter_event_trig_stmt_ = nullptr; + auto* temp = _impl_.node_.drop_role_stmt_; + _impl_.node_.drop_role_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* alter_event_trig_stmt) { +inline void Node::unsafe_arena_set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_event_trig_stmt) { - set_has_alter_event_trig_stmt(); - _impl_.node_.alter_event_trig_stmt_ = alter_event_trig_stmt; + if (value) { + set_has_drop_role_stmt(); + _impl_.node_.drop_role_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_event_trig_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_role_stmt) } -inline ::pg_query::AlterEventTrigStmt* Node::_internal_mutable_alter_event_trig_stmt() { - if (!_internal_has_alter_event_trig_stmt()) { +inline ::pg_query::DropRoleStmt* Node::_internal_mutable_drop_role_stmt() { + if (node_case() != kDropRoleStmt) { clear_node(); - set_has_alter_event_trig_stmt(); - _impl_.node_.alter_event_trig_stmt_ = CreateMaybeMessage< ::pg_query::AlterEventTrigStmt >(GetArenaForAllocation()); + set_has_drop_role_stmt(); + _impl_.node_.drop_role_stmt_ = CreateMaybeMessage<::pg_query::DropRoleStmt>(GetArena()); } - return _impl_.node_.alter_event_trig_stmt_; + return _impl_.node_.drop_role_stmt_; } -inline ::pg_query::AlterEventTrigStmt* Node::mutable_alter_event_trig_stmt() { - ::pg_query::AlterEventTrigStmt* _msg = _internal_mutable_alter_event_trig_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_event_trig_stmt) +inline ::pg_query::DropRoleStmt* Node::mutable_drop_role_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropRoleStmt* _msg = _internal_mutable_drop_role_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_role_stmt) return _msg; } -// .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 155 [json_name = "RefreshMatViewStmt"]; -inline bool Node::_internal_has_refresh_mat_view_stmt() const { - return node_case() == kRefreshMatViewStmt; +// .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"]; +inline bool Node::has_create_seq_stmt() const { + return node_case() == kCreateSeqStmt; } -inline bool Node::has_refresh_mat_view_stmt() const { - return _internal_has_refresh_mat_view_stmt(); +inline bool Node::_internal_has_create_seq_stmt() const { + return node_case() == kCreateSeqStmt; } -inline void Node::set_has_refresh_mat_view_stmt() { - _impl_._oneof_case_[0] = kRefreshMatViewStmt; +inline void Node::set_has_create_seq_stmt() { + _impl_._oneof_case_[0] = kCreateSeqStmt; } -inline void Node::clear_refresh_mat_view_stmt() { - if (_internal_has_refresh_mat_view_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.refresh_mat_view_stmt_; +inline void Node::clear_create_seq_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateSeqStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_seq_stmt_; } clear_has_node(); } } -inline ::pg_query::RefreshMatViewStmt* Node::release_refresh_mat_view_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.refresh_mat_view_stmt) - if (_internal_has_refresh_mat_view_stmt()) { +inline ::pg_query::CreateSeqStmt* Node::release_create_seq_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_seq_stmt) + if (node_case() == kCreateSeqStmt) { clear_has_node(); - ::pg_query::RefreshMatViewStmt* temp = _impl_.node_.refresh_mat_view_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_seq_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.refresh_mat_view_stmt_ = nullptr; + _impl_.node_.create_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RefreshMatViewStmt& Node::_internal_refresh_mat_view_stmt() const { - return _internal_has_refresh_mat_view_stmt() - ? *_impl_.node_.refresh_mat_view_stmt_ - : reinterpret_cast< ::pg_query::RefreshMatViewStmt&>(::pg_query::_RefreshMatViewStmt_default_instance_); +inline const ::pg_query::CreateSeqStmt& Node::_internal_create_seq_stmt() const { + return node_case() == kCreateSeqStmt ? *_impl_.node_.create_seq_stmt_ : reinterpret_cast<::pg_query::CreateSeqStmt&>(::pg_query::_CreateSeqStmt_default_instance_); } -inline const ::pg_query::RefreshMatViewStmt& Node::refresh_mat_view_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.refresh_mat_view_stmt) - return _internal_refresh_mat_view_stmt(); +inline const ::pg_query::CreateSeqStmt& Node::create_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_seq_stmt) + return _internal_create_seq_stmt(); } -inline ::pg_query::RefreshMatViewStmt* Node::unsafe_arena_release_refresh_mat_view_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.refresh_mat_view_stmt) - if (_internal_has_refresh_mat_view_stmt()) { +inline ::pg_query::CreateSeqStmt* Node::unsafe_arena_release_create_seq_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_seq_stmt) + if (node_case() == kCreateSeqStmt) { clear_has_node(); - ::pg_query::RefreshMatViewStmt* temp = _impl_.node_.refresh_mat_view_stmt_; - _impl_.node_.refresh_mat_view_stmt_ = nullptr; + auto* temp = _impl_.node_.create_seq_stmt_; + _impl_.node_.create_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt) { +inline void Node::unsafe_arena_set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (refresh_mat_view_stmt) { - set_has_refresh_mat_view_stmt(); - _impl_.node_.refresh_mat_view_stmt_ = refresh_mat_view_stmt; + if (value) { + set_has_create_seq_stmt(); + _impl_.node_.create_seq_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.refresh_mat_view_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_seq_stmt) } -inline ::pg_query::RefreshMatViewStmt* Node::_internal_mutable_refresh_mat_view_stmt() { - if (!_internal_has_refresh_mat_view_stmt()) { +inline ::pg_query::CreateSeqStmt* Node::_internal_mutable_create_seq_stmt() { + if (node_case() != kCreateSeqStmt) { clear_node(); - set_has_refresh_mat_view_stmt(); - _impl_.node_.refresh_mat_view_stmt_ = CreateMaybeMessage< ::pg_query::RefreshMatViewStmt >(GetArenaForAllocation()); + set_has_create_seq_stmt(); + _impl_.node_.create_seq_stmt_ = CreateMaybeMessage<::pg_query::CreateSeqStmt>(GetArena()); } - return _impl_.node_.refresh_mat_view_stmt_; + return _impl_.node_.create_seq_stmt_; } -inline ::pg_query::RefreshMatViewStmt* Node::mutable_refresh_mat_view_stmt() { - ::pg_query::RefreshMatViewStmt* _msg = _internal_mutable_refresh_mat_view_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.refresh_mat_view_stmt) +inline ::pg_query::CreateSeqStmt* Node::mutable_create_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSeqStmt* _msg = _internal_mutable_create_seq_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_seq_stmt) return _msg; } -// .pg_query.ReplicaIdentityStmt replica_identity_stmt = 156 [json_name = "ReplicaIdentityStmt"]; -inline bool Node::_internal_has_replica_identity_stmt() const { - return node_case() == kReplicaIdentityStmt; +// .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"]; +inline bool Node::has_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt; } -inline bool Node::has_replica_identity_stmt() const { - return _internal_has_replica_identity_stmt(); +inline bool Node::_internal_has_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt; } -inline void Node::set_has_replica_identity_stmt() { - _impl_._oneof_case_[0] = kReplicaIdentityStmt; +inline void Node::set_has_alter_seq_stmt() { + _impl_._oneof_case_[0] = kAlterSeqStmt; } -inline void Node::clear_replica_identity_stmt() { - if (_internal_has_replica_identity_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.replica_identity_stmt_; +inline void Node::clear_alter_seq_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterSeqStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_seq_stmt_; } clear_has_node(); } } -inline ::pg_query::ReplicaIdentityStmt* Node::release_replica_identity_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.replica_identity_stmt) - if (_internal_has_replica_identity_stmt()) { +inline ::pg_query::AlterSeqStmt* Node::release_alter_seq_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_seq_stmt) + if (node_case() == kAlterSeqStmt) { clear_has_node(); - ::pg_query::ReplicaIdentityStmt* temp = _impl_.node_.replica_identity_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_seq_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.replica_identity_stmt_ = nullptr; + _impl_.node_.alter_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ReplicaIdentityStmt& Node::_internal_replica_identity_stmt() const { - return _internal_has_replica_identity_stmt() - ? *_impl_.node_.replica_identity_stmt_ - : reinterpret_cast< ::pg_query::ReplicaIdentityStmt&>(::pg_query::_ReplicaIdentityStmt_default_instance_); +inline const ::pg_query::AlterSeqStmt& Node::_internal_alter_seq_stmt() const { + return node_case() == kAlterSeqStmt ? *_impl_.node_.alter_seq_stmt_ : reinterpret_cast<::pg_query::AlterSeqStmt&>(::pg_query::_AlterSeqStmt_default_instance_); } -inline const ::pg_query::ReplicaIdentityStmt& Node::replica_identity_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.replica_identity_stmt) - return _internal_replica_identity_stmt(); +inline const ::pg_query::AlterSeqStmt& Node::alter_seq_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_seq_stmt) + return _internal_alter_seq_stmt(); } -inline ::pg_query::ReplicaIdentityStmt* Node::unsafe_arena_release_replica_identity_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.replica_identity_stmt) - if (_internal_has_replica_identity_stmt()) { +inline ::pg_query::AlterSeqStmt* Node::unsafe_arena_release_alter_seq_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_seq_stmt) + if (node_case() == kAlterSeqStmt) { clear_has_node(); - ::pg_query::ReplicaIdentityStmt* temp = _impl_.node_.replica_identity_stmt_; - _impl_.node_.replica_identity_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_seq_stmt_; + _impl_.node_.alter_seq_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* replica_identity_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (replica_identity_stmt) { - set_has_replica_identity_stmt(); - _impl_.node_.replica_identity_stmt_ = replica_identity_stmt; + if (value) { + set_has_alter_seq_stmt(); + _impl_.node_.alter_seq_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.replica_identity_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_seq_stmt) } -inline ::pg_query::ReplicaIdentityStmt* Node::_internal_mutable_replica_identity_stmt() { - if (!_internal_has_replica_identity_stmt()) { +inline ::pg_query::AlterSeqStmt* Node::_internal_mutable_alter_seq_stmt() { + if (node_case() != kAlterSeqStmt) { clear_node(); - set_has_replica_identity_stmt(); - _impl_.node_.replica_identity_stmt_ = CreateMaybeMessage< ::pg_query::ReplicaIdentityStmt >(GetArenaForAllocation()); + set_has_alter_seq_stmt(); + _impl_.node_.alter_seq_stmt_ = CreateMaybeMessage<::pg_query::AlterSeqStmt>(GetArena()); } - return _impl_.node_.replica_identity_stmt_; + return _impl_.node_.alter_seq_stmt_; } -inline ::pg_query::ReplicaIdentityStmt* Node::mutable_replica_identity_stmt() { - ::pg_query::ReplicaIdentityStmt* _msg = _internal_mutable_replica_identity_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.replica_identity_stmt) +inline ::pg_query::AlterSeqStmt* Node::mutable_alter_seq_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSeqStmt* _msg = _internal_mutable_alter_seq_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_seq_stmt) return _msg; } -// .pg_query.AlterSystemStmt alter_system_stmt = 157 [json_name = "AlterSystemStmt"]; -inline bool Node::_internal_has_alter_system_stmt() const { - return node_case() == kAlterSystemStmt; +// .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"]; +inline bool Node::has_define_stmt() const { + return node_case() == kDefineStmt; } -inline bool Node::has_alter_system_stmt() const { - return _internal_has_alter_system_stmt(); +inline bool Node::_internal_has_define_stmt() const { + return node_case() == kDefineStmt; } -inline void Node::set_has_alter_system_stmt() { - _impl_._oneof_case_[0] = kAlterSystemStmt; +inline void Node::set_has_define_stmt() { + _impl_._oneof_case_[0] = kDefineStmt; } -inline void Node::clear_alter_system_stmt() { - if (_internal_has_alter_system_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_system_stmt_; +inline void Node::clear_define_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDefineStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.define_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterSystemStmt* Node::release_alter_system_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_system_stmt) - if (_internal_has_alter_system_stmt()) { +inline ::pg_query::DefineStmt* Node::release_define_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.define_stmt) + if (node_case() == kDefineStmt) { clear_has_node(); - ::pg_query::AlterSystemStmt* temp = _impl_.node_.alter_system_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.define_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_system_stmt_ = nullptr; + _impl_.node_.define_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterSystemStmt& Node::_internal_alter_system_stmt() const { - return _internal_has_alter_system_stmt() - ? *_impl_.node_.alter_system_stmt_ - : reinterpret_cast< ::pg_query::AlterSystemStmt&>(::pg_query::_AlterSystemStmt_default_instance_); +inline const ::pg_query::DefineStmt& Node::_internal_define_stmt() const { + return node_case() == kDefineStmt ? *_impl_.node_.define_stmt_ : reinterpret_cast<::pg_query::DefineStmt&>(::pg_query::_DefineStmt_default_instance_); } -inline const ::pg_query::AlterSystemStmt& Node::alter_system_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_system_stmt) - return _internal_alter_system_stmt(); +inline const ::pg_query::DefineStmt& Node::define_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.define_stmt) + return _internal_define_stmt(); } -inline ::pg_query::AlterSystemStmt* Node::unsafe_arena_release_alter_system_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_system_stmt) - if (_internal_has_alter_system_stmt()) { +inline ::pg_query::DefineStmt* Node::unsafe_arena_release_define_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.define_stmt) + if (node_case() == kDefineStmt) { clear_has_node(); - ::pg_query::AlterSystemStmt* temp = _impl_.node_.alter_system_stmt_; - _impl_.node_.alter_system_stmt_ = nullptr; + auto* temp = _impl_.node_.define_stmt_; + _impl_.node_.define_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* alter_system_stmt) { +inline void Node::unsafe_arena_set_allocated_define_stmt(::pg_query::DefineStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_system_stmt) { - set_has_alter_system_stmt(); - _impl_.node_.alter_system_stmt_ = alter_system_stmt; + if (value) { + set_has_define_stmt(); + _impl_.node_.define_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_system_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.define_stmt) } -inline ::pg_query::AlterSystemStmt* Node::_internal_mutable_alter_system_stmt() { - if (!_internal_has_alter_system_stmt()) { +inline ::pg_query::DefineStmt* Node::_internal_mutable_define_stmt() { + if (node_case() != kDefineStmt) { clear_node(); - set_has_alter_system_stmt(); - _impl_.node_.alter_system_stmt_ = CreateMaybeMessage< ::pg_query::AlterSystemStmt >(GetArenaForAllocation()); + set_has_define_stmt(); + _impl_.node_.define_stmt_ = CreateMaybeMessage<::pg_query::DefineStmt>(GetArena()); } - return _impl_.node_.alter_system_stmt_; + return _impl_.node_.define_stmt_; } -inline ::pg_query::AlterSystemStmt* Node::mutable_alter_system_stmt() { - ::pg_query::AlterSystemStmt* _msg = _internal_mutable_alter_system_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_system_stmt) +inline ::pg_query::DefineStmt* Node::mutable_define_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DefineStmt* _msg = _internal_mutable_define_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.define_stmt) return _msg; } -// .pg_query.CreatePolicyStmt create_policy_stmt = 158 [json_name = "CreatePolicyStmt"]; -inline bool Node::_internal_has_create_policy_stmt() const { - return node_case() == kCreatePolicyStmt; +// .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"]; +inline bool Node::has_create_domain_stmt() const { + return node_case() == kCreateDomainStmt; } -inline bool Node::has_create_policy_stmt() const { - return _internal_has_create_policy_stmt(); +inline bool Node::_internal_has_create_domain_stmt() const { + return node_case() == kCreateDomainStmt; } -inline void Node::set_has_create_policy_stmt() { - _impl_._oneof_case_[0] = kCreatePolicyStmt; +inline void Node::set_has_create_domain_stmt() { + _impl_._oneof_case_[0] = kCreateDomainStmt; } -inline void Node::clear_create_policy_stmt() { - if (_internal_has_create_policy_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_policy_stmt_; +inline void Node::clear_create_domain_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateDomainStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_domain_stmt_; } clear_has_node(); } } -inline ::pg_query::CreatePolicyStmt* Node::release_create_policy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_policy_stmt) - if (_internal_has_create_policy_stmt()) { +inline ::pg_query::CreateDomainStmt* Node::release_create_domain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_domain_stmt) + if (node_case() == kCreateDomainStmt) { clear_has_node(); - ::pg_query::CreatePolicyStmt* temp = _impl_.node_.create_policy_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_domain_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_policy_stmt_ = nullptr; + _impl_.node_.create_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatePolicyStmt& Node::_internal_create_policy_stmt() const { - return _internal_has_create_policy_stmt() - ? *_impl_.node_.create_policy_stmt_ - : reinterpret_cast< ::pg_query::CreatePolicyStmt&>(::pg_query::_CreatePolicyStmt_default_instance_); +inline const ::pg_query::CreateDomainStmt& Node::_internal_create_domain_stmt() const { + return node_case() == kCreateDomainStmt ? *_impl_.node_.create_domain_stmt_ : reinterpret_cast<::pg_query::CreateDomainStmt&>(::pg_query::_CreateDomainStmt_default_instance_); } -inline const ::pg_query::CreatePolicyStmt& Node::create_policy_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_policy_stmt) - return _internal_create_policy_stmt(); +inline const ::pg_query::CreateDomainStmt& Node::create_domain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_domain_stmt) + return _internal_create_domain_stmt(); } -inline ::pg_query::CreatePolicyStmt* Node::unsafe_arena_release_create_policy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_policy_stmt) - if (_internal_has_create_policy_stmt()) { +inline ::pg_query::CreateDomainStmt* Node::unsafe_arena_release_create_domain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_domain_stmt) + if (node_case() == kCreateDomainStmt) { clear_has_node(); - ::pg_query::CreatePolicyStmt* temp = _impl_.node_.create_policy_stmt_; - _impl_.node_.create_policy_stmt_ = nullptr; + auto* temp = _impl_.node_.create_domain_stmt_; + _impl_.node_.create_domain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* create_policy_stmt) { +inline void Node::unsafe_arena_set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_policy_stmt) { - set_has_create_policy_stmt(); - _impl_.node_.create_policy_stmt_ = create_policy_stmt; + if (value) { + set_has_create_domain_stmt(); + _impl_.node_.create_domain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_policy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_domain_stmt) } -inline ::pg_query::CreatePolicyStmt* Node::_internal_mutable_create_policy_stmt() { - if (!_internal_has_create_policy_stmt()) { +inline ::pg_query::CreateDomainStmt* Node::_internal_mutable_create_domain_stmt() { + if (node_case() != kCreateDomainStmt) { clear_node(); - set_has_create_policy_stmt(); - _impl_.node_.create_policy_stmt_ = CreateMaybeMessage< ::pg_query::CreatePolicyStmt >(GetArenaForAllocation()); + set_has_create_domain_stmt(); + _impl_.node_.create_domain_stmt_ = CreateMaybeMessage<::pg_query::CreateDomainStmt>(GetArena()); } - return _impl_.node_.create_policy_stmt_; + return _impl_.node_.create_domain_stmt_; } -inline ::pg_query::CreatePolicyStmt* Node::mutable_create_policy_stmt() { - ::pg_query::CreatePolicyStmt* _msg = _internal_mutable_create_policy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_policy_stmt) +inline ::pg_query::CreateDomainStmt* Node::mutable_create_domain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateDomainStmt* _msg = _internal_mutable_create_domain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_domain_stmt) return _msg; } -// .pg_query.AlterPolicyStmt alter_policy_stmt = 159 [json_name = "AlterPolicyStmt"]; -inline bool Node::_internal_has_alter_policy_stmt() const { - return node_case() == kAlterPolicyStmt; +// .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"]; +inline bool Node::has_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt; } -inline bool Node::has_alter_policy_stmt() const { - return _internal_has_alter_policy_stmt(); +inline bool Node::_internal_has_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt; } -inline void Node::set_has_alter_policy_stmt() { - _impl_._oneof_case_[0] = kAlterPolicyStmt; +inline void Node::set_has_create_op_class_stmt() { + _impl_._oneof_case_[0] = kCreateOpClassStmt; } -inline void Node::clear_alter_policy_stmt() { - if (_internal_has_alter_policy_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_policy_stmt_; +inline void Node::clear_create_op_class_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateOpClassStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_op_class_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterPolicyStmt* Node::release_alter_policy_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_policy_stmt) - if (_internal_has_alter_policy_stmt()) { +inline ::pg_query::CreateOpClassStmt* Node::release_create_op_class_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_stmt) + if (node_case() == kCreateOpClassStmt) { clear_has_node(); - ::pg_query::AlterPolicyStmt* temp = _impl_.node_.alter_policy_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_op_class_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_policy_stmt_ = nullptr; + _impl_.node_.create_op_class_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterPolicyStmt& Node::_internal_alter_policy_stmt() const { - return _internal_has_alter_policy_stmt() - ? *_impl_.node_.alter_policy_stmt_ - : reinterpret_cast< ::pg_query::AlterPolicyStmt&>(::pg_query::_AlterPolicyStmt_default_instance_); +inline const ::pg_query::CreateOpClassStmt& Node::_internal_create_op_class_stmt() const { + return node_case() == kCreateOpClassStmt ? *_impl_.node_.create_op_class_stmt_ : reinterpret_cast<::pg_query::CreateOpClassStmt&>(::pg_query::_CreateOpClassStmt_default_instance_); } -inline const ::pg_query::AlterPolicyStmt& Node::alter_policy_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_policy_stmt) - return _internal_alter_policy_stmt(); +inline const ::pg_query::CreateOpClassStmt& Node::create_op_class_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_stmt) + return _internal_create_op_class_stmt(); } -inline ::pg_query::AlterPolicyStmt* Node::unsafe_arena_release_alter_policy_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_policy_stmt) - if (_internal_has_alter_policy_stmt()) { +inline ::pg_query::CreateOpClassStmt* Node::unsafe_arena_release_create_op_class_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_stmt) + if (node_case() == kCreateOpClassStmt) { clear_has_node(); - ::pg_query::AlterPolicyStmt* temp = _impl_.node_.alter_policy_stmt_; - _impl_.node_.alter_policy_stmt_ = nullptr; + auto* temp = _impl_.node_.create_op_class_stmt_; + _impl_.node_.create_op_class_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* alter_policy_stmt) { +inline void Node::unsafe_arena_set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_policy_stmt) { - set_has_alter_policy_stmt(); - _impl_.node_.alter_policy_stmt_ = alter_policy_stmt; + if (value) { + set_has_create_op_class_stmt(); + _impl_.node_.create_op_class_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_policy_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_stmt) } -inline ::pg_query::AlterPolicyStmt* Node::_internal_mutable_alter_policy_stmt() { - if (!_internal_has_alter_policy_stmt()) { +inline ::pg_query::CreateOpClassStmt* Node::_internal_mutable_create_op_class_stmt() { + if (node_case() != kCreateOpClassStmt) { clear_node(); - set_has_alter_policy_stmt(); - _impl_.node_.alter_policy_stmt_ = CreateMaybeMessage< ::pg_query::AlterPolicyStmt >(GetArenaForAllocation()); + set_has_create_op_class_stmt(); + _impl_.node_.create_op_class_stmt_ = CreateMaybeMessage<::pg_query::CreateOpClassStmt>(GetArena()); } - return _impl_.node_.alter_policy_stmt_; + return _impl_.node_.create_op_class_stmt_; } -inline ::pg_query::AlterPolicyStmt* Node::mutable_alter_policy_stmt() { - ::pg_query::AlterPolicyStmt* _msg = _internal_mutable_alter_policy_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_policy_stmt) +inline ::pg_query::CreateOpClassStmt* Node::mutable_create_op_class_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpClassStmt* _msg = _internal_mutable_create_op_class_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_stmt) return _msg; } -// .pg_query.CreateTransformStmt create_transform_stmt = 160 [json_name = "CreateTransformStmt"]; -inline bool Node::_internal_has_create_transform_stmt() const { - return node_case() == kCreateTransformStmt; +// .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"]; +inline bool Node::has_create_op_class_item() const { + return node_case() == kCreateOpClassItem; } -inline bool Node::has_create_transform_stmt() const { - return _internal_has_create_transform_stmt(); +inline bool Node::_internal_has_create_op_class_item() const { + return node_case() == kCreateOpClassItem; } -inline void Node::set_has_create_transform_stmt() { - _impl_._oneof_case_[0] = kCreateTransformStmt; +inline void Node::set_has_create_op_class_item() { + _impl_._oneof_case_[0] = kCreateOpClassItem; } -inline void Node::clear_create_transform_stmt() { - if (_internal_has_create_transform_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_transform_stmt_; +inline void Node::clear_create_op_class_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateOpClassItem) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_op_class_item_; } clear_has_node(); } } -inline ::pg_query::CreateTransformStmt* Node::release_create_transform_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_transform_stmt) - if (_internal_has_create_transform_stmt()) { +inline ::pg_query::CreateOpClassItem* Node::release_create_op_class_item() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_item) + if (node_case() == kCreateOpClassItem) { clear_has_node(); - ::pg_query::CreateTransformStmt* temp = _impl_.node_.create_transform_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_op_class_item_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_transform_stmt_ = nullptr; + _impl_.node_.create_op_class_item_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateTransformStmt& Node::_internal_create_transform_stmt() const { - return _internal_has_create_transform_stmt() - ? *_impl_.node_.create_transform_stmt_ - : reinterpret_cast< ::pg_query::CreateTransformStmt&>(::pg_query::_CreateTransformStmt_default_instance_); +inline const ::pg_query::CreateOpClassItem& Node::_internal_create_op_class_item() const { + return node_case() == kCreateOpClassItem ? *_impl_.node_.create_op_class_item_ : reinterpret_cast<::pg_query::CreateOpClassItem&>(::pg_query::_CreateOpClassItem_default_instance_); } -inline const ::pg_query::CreateTransformStmt& Node::create_transform_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_transform_stmt) - return _internal_create_transform_stmt(); +inline const ::pg_query::CreateOpClassItem& Node::create_op_class_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_item) + return _internal_create_op_class_item(); } -inline ::pg_query::CreateTransformStmt* Node::unsafe_arena_release_create_transform_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_transform_stmt) - if (_internal_has_create_transform_stmt()) { +inline ::pg_query::CreateOpClassItem* Node::unsafe_arena_release_create_op_class_item() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_item) + if (node_case() == kCreateOpClassItem) { clear_has_node(); - ::pg_query::CreateTransformStmt* temp = _impl_.node_.create_transform_stmt_; - _impl_.node_.create_transform_stmt_ = nullptr; + auto* temp = _impl_.node_.create_op_class_item_; + _impl_.node_.create_op_class_item_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* create_transform_stmt) { +inline void Node::unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_transform_stmt) { - set_has_create_transform_stmt(); - _impl_.node_.create_transform_stmt_ = create_transform_stmt; + if (value) { + set_has_create_op_class_item(); + _impl_.node_.create_op_class_item_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_transform_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_item) } -inline ::pg_query::CreateTransformStmt* Node::_internal_mutable_create_transform_stmt() { - if (!_internal_has_create_transform_stmt()) { +inline ::pg_query::CreateOpClassItem* Node::_internal_mutable_create_op_class_item() { + if (node_case() != kCreateOpClassItem) { clear_node(); - set_has_create_transform_stmt(); - _impl_.node_.create_transform_stmt_ = CreateMaybeMessage< ::pg_query::CreateTransformStmt >(GetArenaForAllocation()); + set_has_create_op_class_item(); + _impl_.node_.create_op_class_item_ = CreateMaybeMessage<::pg_query::CreateOpClassItem>(GetArena()); } - return _impl_.node_.create_transform_stmt_; + return _impl_.node_.create_op_class_item_; } -inline ::pg_query::CreateTransformStmt* Node::mutable_create_transform_stmt() { - ::pg_query::CreateTransformStmt* _msg = _internal_mutable_create_transform_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_transform_stmt) +inline ::pg_query::CreateOpClassItem* Node::mutable_create_op_class_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpClassItem* _msg = _internal_mutable_create_op_class_item(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_item) return _msg; } -// .pg_query.CreateAmStmt create_am_stmt = 161 [json_name = "CreateAmStmt"]; -inline bool Node::_internal_has_create_am_stmt() const { - return node_case() == kCreateAmStmt; +// .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"]; +inline bool Node::has_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt; } -inline bool Node::has_create_am_stmt() const { - return _internal_has_create_am_stmt(); +inline bool Node::_internal_has_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt; } -inline void Node::set_has_create_am_stmt() { - _impl_._oneof_case_[0] = kCreateAmStmt; +inline void Node::set_has_create_op_family_stmt() { + _impl_._oneof_case_[0] = kCreateOpFamilyStmt; } -inline void Node::clear_create_am_stmt() { - if (_internal_has_create_am_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_am_stmt_; +inline void Node::clear_create_op_family_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateOpFamilyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_op_family_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateAmStmt* Node::release_create_am_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_am_stmt) - if (_internal_has_create_am_stmt()) { +inline ::pg_query::CreateOpFamilyStmt* Node::release_create_op_family_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_op_family_stmt) + if (node_case() == kCreateOpFamilyStmt) { clear_has_node(); - ::pg_query::CreateAmStmt* temp = _impl_.node_.create_am_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_op_family_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_am_stmt_ = nullptr; + _impl_.node_.create_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateAmStmt& Node::_internal_create_am_stmt() const { - return _internal_has_create_am_stmt() - ? *_impl_.node_.create_am_stmt_ - : reinterpret_cast< ::pg_query::CreateAmStmt&>(::pg_query::_CreateAmStmt_default_instance_); +inline const ::pg_query::CreateOpFamilyStmt& Node::_internal_create_op_family_stmt() const { + return node_case() == kCreateOpFamilyStmt ? *_impl_.node_.create_op_family_stmt_ : reinterpret_cast<::pg_query::CreateOpFamilyStmt&>(::pg_query::_CreateOpFamilyStmt_default_instance_); } -inline const ::pg_query::CreateAmStmt& Node::create_am_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_am_stmt) - return _internal_create_am_stmt(); +inline const ::pg_query::CreateOpFamilyStmt& Node::create_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_op_family_stmt) + return _internal_create_op_family_stmt(); } -inline ::pg_query::CreateAmStmt* Node::unsafe_arena_release_create_am_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_am_stmt) - if (_internal_has_create_am_stmt()) { +inline ::pg_query::CreateOpFamilyStmt* Node::unsafe_arena_release_create_op_family_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_family_stmt) + if (node_case() == kCreateOpFamilyStmt) { clear_has_node(); - ::pg_query::CreateAmStmt* temp = _impl_.node_.create_am_stmt_; - _impl_.node_.create_am_stmt_ = nullptr; + auto* temp = _impl_.node_.create_op_family_stmt_; + _impl_.node_.create_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_am_stmt(::pg_query::CreateAmStmt* create_am_stmt) { +inline void Node::unsafe_arena_set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_am_stmt) { - set_has_create_am_stmt(); - _impl_.node_.create_am_stmt_ = create_am_stmt; + if (value) { + set_has_create_op_family_stmt(); + _impl_.node_.create_op_family_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_am_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_family_stmt) } -inline ::pg_query::CreateAmStmt* Node::_internal_mutable_create_am_stmt() { - if (!_internal_has_create_am_stmt()) { +inline ::pg_query::CreateOpFamilyStmt* Node::_internal_mutable_create_op_family_stmt() { + if (node_case() != kCreateOpFamilyStmt) { clear_node(); - set_has_create_am_stmt(); - _impl_.node_.create_am_stmt_ = CreateMaybeMessage< ::pg_query::CreateAmStmt >(GetArenaForAllocation()); + set_has_create_op_family_stmt(); + _impl_.node_.create_op_family_stmt_ = CreateMaybeMessage<::pg_query::CreateOpFamilyStmt>(GetArena()); } - return _impl_.node_.create_am_stmt_; + return _impl_.node_.create_op_family_stmt_; } -inline ::pg_query::CreateAmStmt* Node::mutable_create_am_stmt() { - ::pg_query::CreateAmStmt* _msg = _internal_mutable_create_am_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_am_stmt) +inline ::pg_query::CreateOpFamilyStmt* Node::mutable_create_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateOpFamilyStmt* _msg = _internal_mutable_create_op_family_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_family_stmt) return _msg; } -// .pg_query.CreatePublicationStmt create_publication_stmt = 162 [json_name = "CreatePublicationStmt"]; -inline bool Node::_internal_has_create_publication_stmt() const { - return node_case() == kCreatePublicationStmt; +// .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"]; +inline bool Node::has_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt; } -inline bool Node::has_create_publication_stmt() const { - return _internal_has_create_publication_stmt(); +inline bool Node::_internal_has_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt; } -inline void Node::set_has_create_publication_stmt() { - _impl_._oneof_case_[0] = kCreatePublicationStmt; +inline void Node::set_has_alter_op_family_stmt() { + _impl_._oneof_case_[0] = kAlterOpFamilyStmt; } -inline void Node::clear_create_publication_stmt() { - if (_internal_has_create_publication_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_publication_stmt_; +inline void Node::clear_alter_op_family_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterOpFamilyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_op_family_stmt_; } clear_has_node(); } } -inline ::pg_query::CreatePublicationStmt* Node::release_create_publication_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_publication_stmt) - if (_internal_has_create_publication_stmt()) { +inline ::pg_query::AlterOpFamilyStmt* Node::release_alter_op_family_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_op_family_stmt) + if (node_case() == kAlterOpFamilyStmt) { clear_has_node(); - ::pg_query::CreatePublicationStmt* temp = _impl_.node_.create_publication_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_op_family_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_publication_stmt_ = nullptr; + _impl_.node_.alter_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreatePublicationStmt& Node::_internal_create_publication_stmt() const { - return _internal_has_create_publication_stmt() - ? *_impl_.node_.create_publication_stmt_ - : reinterpret_cast< ::pg_query::CreatePublicationStmt&>(::pg_query::_CreatePublicationStmt_default_instance_); +inline const ::pg_query::AlterOpFamilyStmt& Node::_internal_alter_op_family_stmt() const { + return node_case() == kAlterOpFamilyStmt ? *_impl_.node_.alter_op_family_stmt_ : reinterpret_cast<::pg_query::AlterOpFamilyStmt&>(::pg_query::_AlterOpFamilyStmt_default_instance_); } -inline const ::pg_query::CreatePublicationStmt& Node::create_publication_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_publication_stmt) - return _internal_create_publication_stmt(); +inline const ::pg_query::AlterOpFamilyStmt& Node::alter_op_family_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_op_family_stmt) + return _internal_alter_op_family_stmt(); } -inline ::pg_query::CreatePublicationStmt* Node::unsafe_arena_release_create_publication_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_publication_stmt) - if (_internal_has_create_publication_stmt()) { +inline ::pg_query::AlterOpFamilyStmt* Node::unsafe_arena_release_alter_op_family_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_op_family_stmt) + if (node_case() == kAlterOpFamilyStmt) { clear_has_node(); - ::pg_query::CreatePublicationStmt* temp = _impl_.node_.create_publication_stmt_; - _impl_.node_.create_publication_stmt_ = nullptr; + auto* temp = _impl_.node_.alter_op_family_stmt_; + _impl_.node_.alter_op_family_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* create_publication_stmt) { +inline void Node::unsafe_arena_set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_publication_stmt) { - set_has_create_publication_stmt(); - _impl_.node_.create_publication_stmt_ = create_publication_stmt; + if (value) { + set_has_alter_op_family_stmt(); + _impl_.node_.alter_op_family_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_publication_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_op_family_stmt) } -inline ::pg_query::CreatePublicationStmt* Node::_internal_mutable_create_publication_stmt() { - if (!_internal_has_create_publication_stmt()) { +inline ::pg_query::AlterOpFamilyStmt* Node::_internal_mutable_alter_op_family_stmt() { + if (node_case() != kAlterOpFamilyStmt) { clear_node(); - set_has_create_publication_stmt(); - _impl_.node_.create_publication_stmt_ = CreateMaybeMessage< ::pg_query::CreatePublicationStmt >(GetArenaForAllocation()); + set_has_alter_op_family_stmt(); + _impl_.node_.alter_op_family_stmt_ = CreateMaybeMessage<::pg_query::AlterOpFamilyStmt>(GetArena()); } - return _impl_.node_.create_publication_stmt_; + return _impl_.node_.alter_op_family_stmt_; } -inline ::pg_query::CreatePublicationStmt* Node::mutable_create_publication_stmt() { - ::pg_query::CreatePublicationStmt* _msg = _internal_mutable_create_publication_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_publication_stmt) +inline ::pg_query::AlterOpFamilyStmt* Node::mutable_alter_op_family_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOpFamilyStmt* _msg = _internal_mutable_alter_op_family_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_op_family_stmt) return _msg; } -// .pg_query.AlterPublicationStmt alter_publication_stmt = 163 [json_name = "AlterPublicationStmt"]; -inline bool Node::_internal_has_alter_publication_stmt() const { - return node_case() == kAlterPublicationStmt; +// .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"]; +inline bool Node::has_drop_stmt() const { + return node_case() == kDropStmt; } -inline bool Node::has_alter_publication_stmt() const { - return _internal_has_alter_publication_stmt(); +inline bool Node::_internal_has_drop_stmt() const { + return node_case() == kDropStmt; } -inline void Node::set_has_alter_publication_stmt() { - _impl_._oneof_case_[0] = kAlterPublicationStmt; +inline void Node::set_has_drop_stmt() { + _impl_._oneof_case_[0] = kDropStmt; } -inline void Node::clear_alter_publication_stmt() { - if (_internal_has_alter_publication_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_publication_stmt_; +inline void Node::clear_drop_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.drop_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterPublicationStmt* Node::release_alter_publication_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_publication_stmt) - if (_internal_has_alter_publication_stmt()) { +inline ::pg_query::DropStmt* Node::release_drop_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_stmt) + if (node_case() == kDropStmt) { clear_has_node(); - ::pg_query::AlterPublicationStmt* temp = _impl_.node_.alter_publication_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.drop_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_publication_stmt_ = nullptr; + _impl_.node_.drop_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterPublicationStmt& Node::_internal_alter_publication_stmt() const { - return _internal_has_alter_publication_stmt() - ? *_impl_.node_.alter_publication_stmt_ - : reinterpret_cast< ::pg_query::AlterPublicationStmt&>(::pg_query::_AlterPublicationStmt_default_instance_); +inline const ::pg_query::DropStmt& Node::_internal_drop_stmt() const { + return node_case() == kDropStmt ? *_impl_.node_.drop_stmt_ : reinterpret_cast<::pg_query::DropStmt&>(::pg_query::_DropStmt_default_instance_); } -inline const ::pg_query::AlterPublicationStmt& Node::alter_publication_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_publication_stmt) - return _internal_alter_publication_stmt(); +inline const ::pg_query::DropStmt& Node::drop_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_stmt) + return _internal_drop_stmt(); } -inline ::pg_query::AlterPublicationStmt* Node::unsafe_arena_release_alter_publication_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_publication_stmt) - if (_internal_has_alter_publication_stmt()) { +inline ::pg_query::DropStmt* Node::unsafe_arena_release_drop_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_stmt) + if (node_case() == kDropStmt) { clear_has_node(); - ::pg_query::AlterPublicationStmt* temp = _impl_.node_.alter_publication_stmt_; - _impl_.node_.alter_publication_stmt_ = nullptr; + auto* temp = _impl_.node_.drop_stmt_; + _impl_.node_.drop_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* alter_publication_stmt) { +inline void Node::unsafe_arena_set_allocated_drop_stmt(::pg_query::DropStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_publication_stmt) { - set_has_alter_publication_stmt(); - _impl_.node_.alter_publication_stmt_ = alter_publication_stmt; + if (value) { + set_has_drop_stmt(); + _impl_.node_.drop_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_publication_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_stmt) } -inline ::pg_query::AlterPublicationStmt* Node::_internal_mutable_alter_publication_stmt() { - if (!_internal_has_alter_publication_stmt()) { +inline ::pg_query::DropStmt* Node::_internal_mutable_drop_stmt() { + if (node_case() != kDropStmt) { clear_node(); - set_has_alter_publication_stmt(); - _impl_.node_.alter_publication_stmt_ = CreateMaybeMessage< ::pg_query::AlterPublicationStmt >(GetArenaForAllocation()); + set_has_drop_stmt(); + _impl_.node_.drop_stmt_ = CreateMaybeMessage<::pg_query::DropStmt>(GetArena()); } - return _impl_.node_.alter_publication_stmt_; + return _impl_.node_.drop_stmt_; } -inline ::pg_query::AlterPublicationStmt* Node::mutable_alter_publication_stmt() { - ::pg_query::AlterPublicationStmt* _msg = _internal_mutable_alter_publication_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_publication_stmt) +inline ::pg_query::DropStmt* Node::mutable_drop_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropStmt* _msg = _internal_mutable_drop_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_stmt) return _msg; } -// .pg_query.CreateSubscriptionStmt create_subscription_stmt = 164 [json_name = "CreateSubscriptionStmt"]; -inline bool Node::_internal_has_create_subscription_stmt() const { - return node_case() == kCreateSubscriptionStmt; +// .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"]; +inline bool Node::has_truncate_stmt() const { + return node_case() == kTruncateStmt; } -inline bool Node::has_create_subscription_stmt() const { - return _internal_has_create_subscription_stmt(); +inline bool Node::_internal_has_truncate_stmt() const { + return node_case() == kTruncateStmt; } -inline void Node::set_has_create_subscription_stmt() { - _impl_._oneof_case_[0] = kCreateSubscriptionStmt; +inline void Node::set_has_truncate_stmt() { + _impl_._oneof_case_[0] = kTruncateStmt; } -inline void Node::clear_create_subscription_stmt() { - if (_internal_has_create_subscription_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_subscription_stmt_; +inline void Node::clear_truncate_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTruncateStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.truncate_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateSubscriptionStmt* Node::release_create_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_subscription_stmt) - if (_internal_has_create_subscription_stmt()) { +inline ::pg_query::TruncateStmt* Node::release_truncate_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.truncate_stmt) + if (node_case() == kTruncateStmt) { clear_has_node(); - ::pg_query::CreateSubscriptionStmt* temp = _impl_.node_.create_subscription_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.truncate_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_subscription_stmt_ = nullptr; + _impl_.node_.truncate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateSubscriptionStmt& Node::_internal_create_subscription_stmt() const { - return _internal_has_create_subscription_stmt() - ? *_impl_.node_.create_subscription_stmt_ - : reinterpret_cast< ::pg_query::CreateSubscriptionStmt&>(::pg_query::_CreateSubscriptionStmt_default_instance_); +inline const ::pg_query::TruncateStmt& Node::_internal_truncate_stmt() const { + return node_case() == kTruncateStmt ? *_impl_.node_.truncate_stmt_ : reinterpret_cast<::pg_query::TruncateStmt&>(::pg_query::_TruncateStmt_default_instance_); } -inline const ::pg_query::CreateSubscriptionStmt& Node::create_subscription_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_subscription_stmt) - return _internal_create_subscription_stmt(); +inline const ::pg_query::TruncateStmt& Node::truncate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.truncate_stmt) + return _internal_truncate_stmt(); } -inline ::pg_query::CreateSubscriptionStmt* Node::unsafe_arena_release_create_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_subscription_stmt) - if (_internal_has_create_subscription_stmt()) { +inline ::pg_query::TruncateStmt* Node::unsafe_arena_release_truncate_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.truncate_stmt) + if (node_case() == kTruncateStmt) { clear_has_node(); - ::pg_query::CreateSubscriptionStmt* temp = _impl_.node_.create_subscription_stmt_; - _impl_.node_.create_subscription_stmt_ = nullptr; + auto* temp = _impl_.node_.truncate_stmt_; + _impl_.node_.truncate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* create_subscription_stmt) { +inline void Node::unsafe_arena_set_allocated_truncate_stmt(::pg_query::TruncateStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_subscription_stmt) { - set_has_create_subscription_stmt(); - _impl_.node_.create_subscription_stmt_ = create_subscription_stmt; + if (value) { + set_has_truncate_stmt(); + _impl_.node_.truncate_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_subscription_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.truncate_stmt) } -inline ::pg_query::CreateSubscriptionStmt* Node::_internal_mutable_create_subscription_stmt() { - if (!_internal_has_create_subscription_stmt()) { +inline ::pg_query::TruncateStmt* Node::_internal_mutable_truncate_stmt() { + if (node_case() != kTruncateStmt) { clear_node(); - set_has_create_subscription_stmt(); - _impl_.node_.create_subscription_stmt_ = CreateMaybeMessage< ::pg_query::CreateSubscriptionStmt >(GetArenaForAllocation()); + set_has_truncate_stmt(); + _impl_.node_.truncate_stmt_ = CreateMaybeMessage<::pg_query::TruncateStmt>(GetArena()); } - return _impl_.node_.create_subscription_stmt_; + return _impl_.node_.truncate_stmt_; } -inline ::pg_query::CreateSubscriptionStmt* Node::mutable_create_subscription_stmt() { - ::pg_query::CreateSubscriptionStmt* _msg = _internal_mutable_create_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_subscription_stmt) +inline ::pg_query::TruncateStmt* Node::mutable_truncate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TruncateStmt* _msg = _internal_mutable_truncate_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.truncate_stmt) return _msg; } -// .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 165 [json_name = "AlterSubscriptionStmt"]; -inline bool Node::_internal_has_alter_subscription_stmt() const { - return node_case() == kAlterSubscriptionStmt; +// .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"]; +inline bool Node::has_comment_stmt() const { + return node_case() == kCommentStmt; } -inline bool Node::has_alter_subscription_stmt() const { - return _internal_has_alter_subscription_stmt(); +inline bool Node::_internal_has_comment_stmt() const { + return node_case() == kCommentStmt; } -inline void Node::set_has_alter_subscription_stmt() { - _impl_._oneof_case_[0] = kAlterSubscriptionStmt; +inline void Node::set_has_comment_stmt() { + _impl_._oneof_case_[0] = kCommentStmt; } -inline void Node::clear_alter_subscription_stmt() { - if (_internal_has_alter_subscription_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_subscription_stmt_; +inline void Node::clear_comment_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCommentStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.comment_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterSubscriptionStmt* Node::release_alter_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_subscription_stmt) - if (_internal_has_alter_subscription_stmt()) { +inline ::pg_query::CommentStmt* Node::release_comment_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.comment_stmt) + if (node_case() == kCommentStmt) { clear_has_node(); - ::pg_query::AlterSubscriptionStmt* temp = _impl_.node_.alter_subscription_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.comment_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_subscription_stmt_ = nullptr; + _impl_.node_.comment_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterSubscriptionStmt& Node::_internal_alter_subscription_stmt() const { - return _internal_has_alter_subscription_stmt() - ? *_impl_.node_.alter_subscription_stmt_ - : reinterpret_cast< ::pg_query::AlterSubscriptionStmt&>(::pg_query::_AlterSubscriptionStmt_default_instance_); +inline const ::pg_query::CommentStmt& Node::_internal_comment_stmt() const { + return node_case() == kCommentStmt ? *_impl_.node_.comment_stmt_ : reinterpret_cast<::pg_query::CommentStmt&>(::pg_query::_CommentStmt_default_instance_); } -inline const ::pg_query::AlterSubscriptionStmt& Node::alter_subscription_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_subscription_stmt) - return _internal_alter_subscription_stmt(); +inline const ::pg_query::CommentStmt& Node::comment_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.comment_stmt) + return _internal_comment_stmt(); } -inline ::pg_query::AlterSubscriptionStmt* Node::unsafe_arena_release_alter_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_subscription_stmt) - if (_internal_has_alter_subscription_stmt()) { +inline ::pg_query::CommentStmt* Node::unsafe_arena_release_comment_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.comment_stmt) + if (node_case() == kCommentStmt) { clear_has_node(); - ::pg_query::AlterSubscriptionStmt* temp = _impl_.node_.alter_subscription_stmt_; - _impl_.node_.alter_subscription_stmt_ = nullptr; + auto* temp = _impl_.node_.comment_stmt_; + _impl_.node_.comment_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* alter_subscription_stmt) { +inline void Node::unsafe_arena_set_allocated_comment_stmt(::pg_query::CommentStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_subscription_stmt) { - set_has_alter_subscription_stmt(); - _impl_.node_.alter_subscription_stmt_ = alter_subscription_stmt; + if (value) { + set_has_comment_stmt(); + _impl_.node_.comment_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_subscription_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.comment_stmt) } -inline ::pg_query::AlterSubscriptionStmt* Node::_internal_mutable_alter_subscription_stmt() { - if (!_internal_has_alter_subscription_stmt()) { +inline ::pg_query::CommentStmt* Node::_internal_mutable_comment_stmt() { + if (node_case() != kCommentStmt) { clear_node(); - set_has_alter_subscription_stmt(); - _impl_.node_.alter_subscription_stmt_ = CreateMaybeMessage< ::pg_query::AlterSubscriptionStmt >(GetArenaForAllocation()); + set_has_comment_stmt(); + _impl_.node_.comment_stmt_ = CreateMaybeMessage<::pg_query::CommentStmt>(GetArena()); } - return _impl_.node_.alter_subscription_stmt_; + return _impl_.node_.comment_stmt_; } -inline ::pg_query::AlterSubscriptionStmt* Node::mutable_alter_subscription_stmt() { - ::pg_query::AlterSubscriptionStmt* _msg = _internal_mutable_alter_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_subscription_stmt) +inline ::pg_query::CommentStmt* Node::mutable_comment_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CommentStmt* _msg = _internal_mutable_comment_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.comment_stmt) return _msg; } -// .pg_query.DropSubscriptionStmt drop_subscription_stmt = 166 [json_name = "DropSubscriptionStmt"]; -inline bool Node::_internal_has_drop_subscription_stmt() const { - return node_case() == kDropSubscriptionStmt; +// .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"]; +inline bool Node::has_sec_label_stmt() const { + return node_case() == kSecLabelStmt; } -inline bool Node::has_drop_subscription_stmt() const { - return _internal_has_drop_subscription_stmt(); +inline bool Node::_internal_has_sec_label_stmt() const { + return node_case() == kSecLabelStmt; } -inline void Node::set_has_drop_subscription_stmt() { - _impl_._oneof_case_[0] = kDropSubscriptionStmt; +inline void Node::set_has_sec_label_stmt() { + _impl_._oneof_case_[0] = kSecLabelStmt; } -inline void Node::clear_drop_subscription_stmt() { - if (_internal_has_drop_subscription_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.drop_subscription_stmt_; +inline void Node::clear_sec_label_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kSecLabelStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.sec_label_stmt_; } clear_has_node(); } } -inline ::pg_query::DropSubscriptionStmt* Node::release_drop_subscription_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.drop_subscription_stmt) - if (_internal_has_drop_subscription_stmt()) { +inline ::pg_query::SecLabelStmt* Node::release_sec_label_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.sec_label_stmt) + if (node_case() == kSecLabelStmt) { clear_has_node(); - ::pg_query::DropSubscriptionStmt* temp = _impl_.node_.drop_subscription_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.sec_label_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.drop_subscription_stmt_ = nullptr; + _impl_.node_.sec_label_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DropSubscriptionStmt& Node::_internal_drop_subscription_stmt() const { - return _internal_has_drop_subscription_stmt() - ? *_impl_.node_.drop_subscription_stmt_ - : reinterpret_cast< ::pg_query::DropSubscriptionStmt&>(::pg_query::_DropSubscriptionStmt_default_instance_); +inline const ::pg_query::SecLabelStmt& Node::_internal_sec_label_stmt() const { + return node_case() == kSecLabelStmt ? *_impl_.node_.sec_label_stmt_ : reinterpret_cast<::pg_query::SecLabelStmt&>(::pg_query::_SecLabelStmt_default_instance_); } -inline const ::pg_query::DropSubscriptionStmt& Node::drop_subscription_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.drop_subscription_stmt) - return _internal_drop_subscription_stmt(); +inline const ::pg_query::SecLabelStmt& Node::sec_label_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.sec_label_stmt) + return _internal_sec_label_stmt(); } -inline ::pg_query::DropSubscriptionStmt* Node::unsafe_arena_release_drop_subscription_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_subscription_stmt) - if (_internal_has_drop_subscription_stmt()) { +inline ::pg_query::SecLabelStmt* Node::unsafe_arena_release_sec_label_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sec_label_stmt) + if (node_case() == kSecLabelStmt) { clear_has_node(); - ::pg_query::DropSubscriptionStmt* temp = _impl_.node_.drop_subscription_stmt_; - _impl_.node_.drop_subscription_stmt_ = nullptr; + auto* temp = _impl_.node_.sec_label_stmt_; + _impl_.node_.sec_label_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* drop_subscription_stmt) { +inline void Node::unsafe_arena_set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (drop_subscription_stmt) { - set_has_drop_subscription_stmt(); - _impl_.node_.drop_subscription_stmt_ = drop_subscription_stmt; + if (value) { + set_has_sec_label_stmt(); + _impl_.node_.sec_label_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_subscription_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sec_label_stmt) } -inline ::pg_query::DropSubscriptionStmt* Node::_internal_mutable_drop_subscription_stmt() { - if (!_internal_has_drop_subscription_stmt()) { +inline ::pg_query::SecLabelStmt* Node::_internal_mutable_sec_label_stmt() { + if (node_case() != kSecLabelStmt) { clear_node(); - set_has_drop_subscription_stmt(); - _impl_.node_.drop_subscription_stmt_ = CreateMaybeMessage< ::pg_query::DropSubscriptionStmt >(GetArenaForAllocation()); + set_has_sec_label_stmt(); + _impl_.node_.sec_label_stmt_ = CreateMaybeMessage<::pg_query::SecLabelStmt>(GetArena()); } - return _impl_.node_.drop_subscription_stmt_; + return _impl_.node_.sec_label_stmt_; } -inline ::pg_query::DropSubscriptionStmt* Node::mutable_drop_subscription_stmt() { - ::pg_query::DropSubscriptionStmt* _msg = _internal_mutable_drop_subscription_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_subscription_stmt) +inline ::pg_query::SecLabelStmt* Node::mutable_sec_label_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SecLabelStmt* _msg = _internal_mutable_sec_label_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.sec_label_stmt) return _msg; } -// .pg_query.CreateStatsStmt create_stats_stmt = 167 [json_name = "CreateStatsStmt"]; -inline bool Node::_internal_has_create_stats_stmt() const { - return node_case() == kCreateStatsStmt; +// .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"]; +inline bool Node::has_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt; } -inline bool Node::has_create_stats_stmt() const { - return _internal_has_create_stats_stmt(); +inline bool Node::_internal_has_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt; } -inline void Node::set_has_create_stats_stmt() { - _impl_._oneof_case_[0] = kCreateStatsStmt; +inline void Node::set_has_declare_cursor_stmt() { + _impl_._oneof_case_[0] = kDeclareCursorStmt; } -inline void Node::clear_create_stats_stmt() { - if (_internal_has_create_stats_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_stats_stmt_; +inline void Node::clear_declare_cursor_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDeclareCursorStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.declare_cursor_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateStatsStmt* Node::release_create_stats_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_stats_stmt) - if (_internal_has_create_stats_stmt()) { +inline ::pg_query::DeclareCursorStmt* Node::release_declare_cursor_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.declare_cursor_stmt) + if (node_case() == kDeclareCursorStmt) { clear_has_node(); - ::pg_query::CreateStatsStmt* temp = _impl_.node_.create_stats_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.declare_cursor_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_stats_stmt_ = nullptr; + _impl_.node_.declare_cursor_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateStatsStmt& Node::_internal_create_stats_stmt() const { - return _internal_has_create_stats_stmt() - ? *_impl_.node_.create_stats_stmt_ - : reinterpret_cast< ::pg_query::CreateStatsStmt&>(::pg_query::_CreateStatsStmt_default_instance_); +inline const ::pg_query::DeclareCursorStmt& Node::_internal_declare_cursor_stmt() const { + return node_case() == kDeclareCursorStmt ? *_impl_.node_.declare_cursor_stmt_ : reinterpret_cast<::pg_query::DeclareCursorStmt&>(::pg_query::_DeclareCursorStmt_default_instance_); } -inline const ::pg_query::CreateStatsStmt& Node::create_stats_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_stats_stmt) - return _internal_create_stats_stmt(); +inline const ::pg_query::DeclareCursorStmt& Node::declare_cursor_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.declare_cursor_stmt) + return _internal_declare_cursor_stmt(); } -inline ::pg_query::CreateStatsStmt* Node::unsafe_arena_release_create_stats_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stats_stmt) - if (_internal_has_create_stats_stmt()) { +inline ::pg_query::DeclareCursorStmt* Node::unsafe_arena_release_declare_cursor_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.declare_cursor_stmt) + if (node_case() == kDeclareCursorStmt) { clear_has_node(); - ::pg_query::CreateStatsStmt* temp = _impl_.node_.create_stats_stmt_; - _impl_.node_.create_stats_stmt_ = nullptr; + auto* temp = _impl_.node_.declare_cursor_stmt_; + _impl_.node_.declare_cursor_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* create_stats_stmt) { +inline void Node::unsafe_arena_set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_stats_stmt) { - set_has_create_stats_stmt(); - _impl_.node_.create_stats_stmt_ = create_stats_stmt; + if (value) { + set_has_declare_cursor_stmt(); + _impl_.node_.declare_cursor_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stats_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.declare_cursor_stmt) } -inline ::pg_query::CreateStatsStmt* Node::_internal_mutable_create_stats_stmt() { - if (!_internal_has_create_stats_stmt()) { +inline ::pg_query::DeclareCursorStmt* Node::_internal_mutable_declare_cursor_stmt() { + if (node_case() != kDeclareCursorStmt) { clear_node(); - set_has_create_stats_stmt(); - _impl_.node_.create_stats_stmt_ = CreateMaybeMessage< ::pg_query::CreateStatsStmt >(GetArenaForAllocation()); + set_has_declare_cursor_stmt(); + _impl_.node_.declare_cursor_stmt_ = CreateMaybeMessage<::pg_query::DeclareCursorStmt>(GetArena()); } - return _impl_.node_.create_stats_stmt_; + return _impl_.node_.declare_cursor_stmt_; } -inline ::pg_query::CreateStatsStmt* Node::mutable_create_stats_stmt() { - ::pg_query::CreateStatsStmt* _msg = _internal_mutable_create_stats_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stats_stmt) +inline ::pg_query::DeclareCursorStmt* Node::mutable_declare_cursor_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeclareCursorStmt* _msg = _internal_mutable_declare_cursor_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.declare_cursor_stmt) return _msg; } -// .pg_query.AlterCollationStmt alter_collation_stmt = 168 [json_name = "AlterCollationStmt"]; -inline bool Node::_internal_has_alter_collation_stmt() const { - return node_case() == kAlterCollationStmt; +// .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"]; +inline bool Node::has_close_portal_stmt() const { + return node_case() == kClosePortalStmt; } -inline bool Node::has_alter_collation_stmt() const { - return _internal_has_alter_collation_stmt(); +inline bool Node::_internal_has_close_portal_stmt() const { + return node_case() == kClosePortalStmt; } -inline void Node::set_has_alter_collation_stmt() { - _impl_._oneof_case_[0] = kAlterCollationStmt; +inline void Node::set_has_close_portal_stmt() { + _impl_._oneof_case_[0] = kClosePortalStmt; } -inline void Node::clear_alter_collation_stmt() { - if (_internal_has_alter_collation_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_collation_stmt_; +inline void Node::clear_close_portal_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kClosePortalStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.close_portal_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterCollationStmt* Node::release_alter_collation_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_collation_stmt) - if (_internal_has_alter_collation_stmt()) { +inline ::pg_query::ClosePortalStmt* Node::release_close_portal_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.close_portal_stmt) + if (node_case() == kClosePortalStmt) { clear_has_node(); - ::pg_query::AlterCollationStmt* temp = _impl_.node_.alter_collation_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.close_portal_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_collation_stmt_ = nullptr; + _impl_.node_.close_portal_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterCollationStmt& Node::_internal_alter_collation_stmt() const { - return _internal_has_alter_collation_stmt() - ? *_impl_.node_.alter_collation_stmt_ - : reinterpret_cast< ::pg_query::AlterCollationStmt&>(::pg_query::_AlterCollationStmt_default_instance_); +inline const ::pg_query::ClosePortalStmt& Node::_internal_close_portal_stmt() const { + return node_case() == kClosePortalStmt ? *_impl_.node_.close_portal_stmt_ : reinterpret_cast<::pg_query::ClosePortalStmt&>(::pg_query::_ClosePortalStmt_default_instance_); } -inline const ::pg_query::AlterCollationStmt& Node::alter_collation_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_collation_stmt) - return _internal_alter_collation_stmt(); +inline const ::pg_query::ClosePortalStmt& Node::close_portal_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.close_portal_stmt) + return _internal_close_portal_stmt(); } -inline ::pg_query::AlterCollationStmt* Node::unsafe_arena_release_alter_collation_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_collation_stmt) - if (_internal_has_alter_collation_stmt()) { +inline ::pg_query::ClosePortalStmt* Node::unsafe_arena_release_close_portal_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.close_portal_stmt) + if (node_case() == kClosePortalStmt) { clear_has_node(); - ::pg_query::AlterCollationStmt* temp = _impl_.node_.alter_collation_stmt_; - _impl_.node_.alter_collation_stmt_ = nullptr; + auto* temp = _impl_.node_.close_portal_stmt_; + _impl_.node_.close_portal_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* alter_collation_stmt) { +inline void Node::unsafe_arena_set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_collation_stmt) { - set_has_alter_collation_stmt(); - _impl_.node_.alter_collation_stmt_ = alter_collation_stmt; + if (value) { + set_has_close_portal_stmt(); + _impl_.node_.close_portal_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_collation_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.close_portal_stmt) } -inline ::pg_query::AlterCollationStmt* Node::_internal_mutable_alter_collation_stmt() { - if (!_internal_has_alter_collation_stmt()) { +inline ::pg_query::ClosePortalStmt* Node::_internal_mutable_close_portal_stmt() { + if (node_case() != kClosePortalStmt) { clear_node(); - set_has_alter_collation_stmt(); - _impl_.node_.alter_collation_stmt_ = CreateMaybeMessage< ::pg_query::AlterCollationStmt >(GetArenaForAllocation()); + set_has_close_portal_stmt(); + _impl_.node_.close_portal_stmt_ = CreateMaybeMessage<::pg_query::ClosePortalStmt>(GetArena()); } - return _impl_.node_.alter_collation_stmt_; + return _impl_.node_.close_portal_stmt_; } -inline ::pg_query::AlterCollationStmt* Node::mutable_alter_collation_stmt() { - ::pg_query::AlterCollationStmt* _msg = _internal_mutable_alter_collation_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_collation_stmt) +inline ::pg_query::ClosePortalStmt* Node::mutable_close_portal_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ClosePortalStmt* _msg = _internal_mutable_close_portal_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.close_portal_stmt) return _msg; } -// .pg_query.CallStmt call_stmt = 169 [json_name = "CallStmt"]; -inline bool Node::_internal_has_call_stmt() const { - return node_case() == kCallStmt; +// .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"]; +inline bool Node::has_fetch_stmt() const { + return node_case() == kFetchStmt; } -inline bool Node::has_call_stmt() const { - return _internal_has_call_stmt(); +inline bool Node::_internal_has_fetch_stmt() const { + return node_case() == kFetchStmt; } -inline void Node::set_has_call_stmt() { - _impl_._oneof_case_[0] = kCallStmt; +inline void Node::set_has_fetch_stmt() { + _impl_._oneof_case_[0] = kFetchStmt; } -inline void Node::clear_call_stmt() { - if (_internal_has_call_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.call_stmt_; +inline void Node::clear_fetch_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFetchStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.fetch_stmt_; } clear_has_node(); } } -inline ::pg_query::CallStmt* Node::release_call_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.call_stmt) - if (_internal_has_call_stmt()) { +inline ::pg_query::FetchStmt* Node::release_fetch_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.fetch_stmt) + if (node_case() == kFetchStmt) { clear_has_node(); - ::pg_query::CallStmt* temp = _impl_.node_.call_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.fetch_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.call_stmt_ = nullptr; + _impl_.node_.fetch_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CallStmt& Node::_internal_call_stmt() const { - return _internal_has_call_stmt() - ? *_impl_.node_.call_stmt_ - : reinterpret_cast< ::pg_query::CallStmt&>(::pg_query::_CallStmt_default_instance_); +inline const ::pg_query::FetchStmt& Node::_internal_fetch_stmt() const { + return node_case() == kFetchStmt ? *_impl_.node_.fetch_stmt_ : reinterpret_cast<::pg_query::FetchStmt&>(::pg_query::_FetchStmt_default_instance_); } -inline const ::pg_query::CallStmt& Node::call_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.call_stmt) - return _internal_call_stmt(); +inline const ::pg_query::FetchStmt& Node::fetch_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.fetch_stmt) + return _internal_fetch_stmt(); } -inline ::pg_query::CallStmt* Node::unsafe_arena_release_call_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_stmt) - if (_internal_has_call_stmt()) { +inline ::pg_query::FetchStmt* Node::unsafe_arena_release_fetch_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.fetch_stmt) + if (node_case() == kFetchStmt) { clear_has_node(); - ::pg_query::CallStmt* temp = _impl_.node_.call_stmt_; - _impl_.node_.call_stmt_ = nullptr; + auto* temp = _impl_.node_.fetch_stmt_; + _impl_.node_.fetch_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* call_stmt) { +inline void Node::unsafe_arena_set_allocated_fetch_stmt(::pg_query::FetchStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (call_stmt) { - set_has_call_stmt(); - _impl_.node_.call_stmt_ = call_stmt; + if (value) { + set_has_fetch_stmt(); + _impl_.node_.fetch_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.fetch_stmt) } -inline ::pg_query::CallStmt* Node::_internal_mutable_call_stmt() { - if (!_internal_has_call_stmt()) { +inline ::pg_query::FetchStmt* Node::_internal_mutable_fetch_stmt() { + if (node_case() != kFetchStmt) { clear_node(); - set_has_call_stmt(); - _impl_.node_.call_stmt_ = CreateMaybeMessage< ::pg_query::CallStmt >(GetArenaForAllocation()); + set_has_fetch_stmt(); + _impl_.node_.fetch_stmt_ = CreateMaybeMessage<::pg_query::FetchStmt>(GetArena()); } - return _impl_.node_.call_stmt_; + return _impl_.node_.fetch_stmt_; } -inline ::pg_query::CallStmt* Node::mutable_call_stmt() { - ::pg_query::CallStmt* _msg = _internal_mutable_call_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.call_stmt) +inline ::pg_query::FetchStmt* Node::mutable_fetch_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FetchStmt* _msg = _internal_mutable_fetch_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.fetch_stmt) return _msg; } -// .pg_query.AlterStatsStmt alter_stats_stmt = 170 [json_name = "AlterStatsStmt"]; -inline bool Node::_internal_has_alter_stats_stmt() const { - return node_case() == kAlterStatsStmt; +// .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"]; +inline bool Node::has_index_stmt() const { + return node_case() == kIndexStmt; } -inline bool Node::has_alter_stats_stmt() const { - return _internal_has_alter_stats_stmt(); +inline bool Node::_internal_has_index_stmt() const { + return node_case() == kIndexStmt; } -inline void Node::set_has_alter_stats_stmt() { - _impl_._oneof_case_[0] = kAlterStatsStmt; +inline void Node::set_has_index_stmt() { + _impl_._oneof_case_[0] = kIndexStmt; } -inline void Node::clear_alter_stats_stmt() { - if (_internal_has_alter_stats_stmt()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.alter_stats_stmt_; +inline void Node::clear_index_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kIndexStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.index_stmt_; } clear_has_node(); } } -inline ::pg_query::AlterStatsStmt* Node::release_alter_stats_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Node.alter_stats_stmt) - if (_internal_has_alter_stats_stmt()) { +inline ::pg_query::IndexStmt* Node::release_index_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.index_stmt) + if (node_case() == kIndexStmt) { clear_has_node(); - ::pg_query::AlterStatsStmt* temp = _impl_.node_.alter_stats_stmt_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.index_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.alter_stats_stmt_ = nullptr; + _impl_.node_.index_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AlterStatsStmt& Node::_internal_alter_stats_stmt() const { - return _internal_has_alter_stats_stmt() - ? *_impl_.node_.alter_stats_stmt_ - : reinterpret_cast< ::pg_query::AlterStatsStmt&>(::pg_query::_AlterStatsStmt_default_instance_); +inline const ::pg_query::IndexStmt& Node::_internal_index_stmt() const { + return node_case() == kIndexStmt ? *_impl_.node_.index_stmt_ : reinterpret_cast<::pg_query::IndexStmt&>(::pg_query::_IndexStmt_default_instance_); } -inline const ::pg_query::AlterStatsStmt& Node::alter_stats_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Node.alter_stats_stmt) - return _internal_alter_stats_stmt(); +inline const ::pg_query::IndexStmt& Node::index_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.index_stmt) + return _internal_index_stmt(); } -inline ::pg_query::AlterStatsStmt* Node::unsafe_arena_release_alter_stats_stmt() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_stats_stmt) - if (_internal_has_alter_stats_stmt()) { +inline ::pg_query::IndexStmt* Node::unsafe_arena_release_index_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_stmt) + if (node_case() == kIndexStmt) { clear_has_node(); - ::pg_query::AlterStatsStmt* temp = _impl_.node_.alter_stats_stmt_; - _impl_.node_.alter_stats_stmt_ = nullptr; + auto* temp = _impl_.node_.index_stmt_; + _impl_.node_.index_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* alter_stats_stmt) { +inline void Node::unsafe_arena_set_allocated_index_stmt(::pg_query::IndexStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (alter_stats_stmt) { - set_has_alter_stats_stmt(); - _impl_.node_.alter_stats_stmt_ = alter_stats_stmt; + if (value) { + set_has_index_stmt(); + _impl_.node_.index_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_stats_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_stmt) } -inline ::pg_query::AlterStatsStmt* Node::_internal_mutable_alter_stats_stmt() { - if (!_internal_has_alter_stats_stmt()) { +inline ::pg_query::IndexStmt* Node::_internal_mutable_index_stmt() { + if (node_case() != kIndexStmt) { clear_node(); - set_has_alter_stats_stmt(); - _impl_.node_.alter_stats_stmt_ = CreateMaybeMessage< ::pg_query::AlterStatsStmt >(GetArenaForAllocation()); + set_has_index_stmt(); + _impl_.node_.index_stmt_ = CreateMaybeMessage<::pg_query::IndexStmt>(GetArena()); } - return _impl_.node_.alter_stats_stmt_; + return _impl_.node_.index_stmt_; } -inline ::pg_query::AlterStatsStmt* Node::mutable_alter_stats_stmt() { - ::pg_query::AlterStatsStmt* _msg = _internal_mutable_alter_stats_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_stats_stmt) +inline ::pg_query::IndexStmt* Node::mutable_index_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IndexStmt* _msg = _internal_mutable_index_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.index_stmt) return _msg; } -// .pg_query.A_Expr a_expr = 171 [json_name = "A_Expr"]; -inline bool Node::_internal_has_a_expr() const { - return node_case() == kAExpr; +// .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"]; +inline bool Node::has_create_stats_stmt() const { + return node_case() == kCreateStatsStmt; } -inline bool Node::has_a_expr() const { - return _internal_has_a_expr(); +inline bool Node::_internal_has_create_stats_stmt() const { + return node_case() == kCreateStatsStmt; } -inline void Node::set_has_a_expr() { - _impl_._oneof_case_[0] = kAExpr; +inline void Node::set_has_create_stats_stmt() { + _impl_._oneof_case_[0] = kCreateStatsStmt; } -inline void Node::clear_a_expr() { - if (_internal_has_a_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.a_expr_; +inline void Node::clear_create_stats_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateStatsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_stats_stmt_; } clear_has_node(); } } -inline ::pg_query::A_Expr* Node::release_a_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_expr) - if (_internal_has_a_expr()) { +inline ::pg_query::CreateStatsStmt* Node::release_create_stats_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_stats_stmt) + if (node_case() == kCreateStatsStmt) { clear_has_node(); - ::pg_query::A_Expr* temp = _impl_.node_.a_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_stats_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_expr_ = nullptr; + _impl_.node_.create_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Expr& Node::_internal_a_expr() const { - return _internal_has_a_expr() - ? *_impl_.node_.a_expr_ - : reinterpret_cast< ::pg_query::A_Expr&>(::pg_query::_A_Expr_default_instance_); +inline const ::pg_query::CreateStatsStmt& Node::_internal_create_stats_stmt() const { + return node_case() == kCreateStatsStmt ? *_impl_.node_.create_stats_stmt_ : reinterpret_cast<::pg_query::CreateStatsStmt&>(::pg_query::_CreateStatsStmt_default_instance_); } -inline const ::pg_query::A_Expr& Node::a_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.a_expr) - return _internal_a_expr(); +inline const ::pg_query::CreateStatsStmt& Node::create_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_stats_stmt) + return _internal_create_stats_stmt(); } -inline ::pg_query::A_Expr* Node::unsafe_arena_release_a_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_expr) - if (_internal_has_a_expr()) { +inline ::pg_query::CreateStatsStmt* Node::unsafe_arena_release_create_stats_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_stats_stmt) + if (node_case() == kCreateStatsStmt) { clear_has_node(); - ::pg_query::A_Expr* temp = _impl_.node_.a_expr_; - _impl_.node_.a_expr_ = nullptr; + auto* temp = _impl_.node_.create_stats_stmt_; + _impl_.node_.create_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_expr(::pg_query::A_Expr* a_expr) { +inline void Node::unsafe_arena_set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_expr) { - set_has_a_expr(); - _impl_.node_.a_expr_ = a_expr; + if (value) { + set_has_create_stats_stmt(); + _impl_.node_.create_stats_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_stats_stmt) } -inline ::pg_query::A_Expr* Node::_internal_mutable_a_expr() { - if (!_internal_has_a_expr()) { +inline ::pg_query::CreateStatsStmt* Node::_internal_mutable_create_stats_stmt() { + if (node_case() != kCreateStatsStmt) { clear_node(); - set_has_a_expr(); - _impl_.node_.a_expr_ = CreateMaybeMessage< ::pg_query::A_Expr >(GetArenaForAllocation()); + set_has_create_stats_stmt(); + _impl_.node_.create_stats_stmt_ = CreateMaybeMessage<::pg_query::CreateStatsStmt>(GetArena()); } - return _impl_.node_.a_expr_; + return _impl_.node_.create_stats_stmt_; } -inline ::pg_query::A_Expr* Node::mutable_a_expr() { - ::pg_query::A_Expr* _msg = _internal_mutable_a_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_expr) +inline ::pg_query::CreateStatsStmt* Node::mutable_create_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateStatsStmt* _msg = _internal_mutable_create_stats_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_stats_stmt) return _msg; } -// .pg_query.ColumnRef column_ref = 172 [json_name = "ColumnRef"]; -inline bool Node::_internal_has_column_ref() const { - return node_case() == kColumnRef; +// .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"]; +inline bool Node::has_stats_elem() const { + return node_case() == kStatsElem; } -inline bool Node::has_column_ref() const { - return _internal_has_column_ref(); +inline bool Node::_internal_has_stats_elem() const { + return node_case() == kStatsElem; } -inline void Node::set_has_column_ref() { - _impl_._oneof_case_[0] = kColumnRef; +inline void Node::set_has_stats_elem() { + _impl_._oneof_case_[0] = kStatsElem; } -inline void Node::clear_column_ref() { - if (_internal_has_column_ref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.column_ref_; +inline void Node::clear_stats_elem() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kStatsElem) { + if (GetArena() == nullptr) { + delete _impl_.node_.stats_elem_; } clear_has_node(); } } -inline ::pg_query::ColumnRef* Node::release_column_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.column_ref) - if (_internal_has_column_ref()) { +inline ::pg_query::StatsElem* Node::release_stats_elem() { + // @@protoc_insertion_point(field_release:pg_query.Node.stats_elem) + if (node_case() == kStatsElem) { clear_has_node(); - ::pg_query::ColumnRef* temp = _impl_.node_.column_ref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.stats_elem_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.column_ref_ = nullptr; + _impl_.node_.stats_elem_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ColumnRef& Node::_internal_column_ref() const { - return _internal_has_column_ref() - ? *_impl_.node_.column_ref_ - : reinterpret_cast< ::pg_query::ColumnRef&>(::pg_query::_ColumnRef_default_instance_); +inline const ::pg_query::StatsElem& Node::_internal_stats_elem() const { + return node_case() == kStatsElem ? *_impl_.node_.stats_elem_ : reinterpret_cast<::pg_query::StatsElem&>(::pg_query::_StatsElem_default_instance_); } -inline const ::pg_query::ColumnRef& Node::column_ref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.column_ref) - return _internal_column_ref(); +inline const ::pg_query::StatsElem& Node::stats_elem() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.stats_elem) + return _internal_stats_elem(); } -inline ::pg_query::ColumnRef* Node::unsafe_arena_release_column_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_ref) - if (_internal_has_column_ref()) { +inline ::pg_query::StatsElem* Node::unsafe_arena_release_stats_elem() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.stats_elem) + if (node_case() == kStatsElem) { clear_has_node(); - ::pg_query::ColumnRef* temp = _impl_.node_.column_ref_; - _impl_.node_.column_ref_ = nullptr; + auto* temp = _impl_.node_.stats_elem_; + _impl_.node_.stats_elem_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_column_ref(::pg_query::ColumnRef* column_ref) { +inline void Node::unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (column_ref) { - set_has_column_ref(); - _impl_.node_.column_ref_ = column_ref; + if (value) { + set_has_stats_elem(); + _impl_.node_.stats_elem_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.stats_elem) } -inline ::pg_query::ColumnRef* Node::_internal_mutable_column_ref() { - if (!_internal_has_column_ref()) { +inline ::pg_query::StatsElem* Node::_internal_mutable_stats_elem() { + if (node_case() != kStatsElem) { clear_node(); - set_has_column_ref(); - _impl_.node_.column_ref_ = CreateMaybeMessage< ::pg_query::ColumnRef >(GetArenaForAllocation()); + set_has_stats_elem(); + _impl_.node_.stats_elem_ = CreateMaybeMessage<::pg_query::StatsElem>(GetArena()); } - return _impl_.node_.column_ref_; + return _impl_.node_.stats_elem_; } -inline ::pg_query::ColumnRef* Node::mutable_column_ref() { - ::pg_query::ColumnRef* _msg = _internal_mutable_column_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.column_ref) +inline ::pg_query::StatsElem* Node::mutable_stats_elem() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::StatsElem* _msg = _internal_mutable_stats_elem(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.stats_elem) return _msg; } -// .pg_query.ParamRef param_ref = 173 [json_name = "ParamRef"]; -inline bool Node::_internal_has_param_ref() const { - return node_case() == kParamRef; +// .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"]; +inline bool Node::has_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt; } -inline bool Node::has_param_ref() const { - return _internal_has_param_ref(); +inline bool Node::_internal_has_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt; } -inline void Node::set_has_param_ref() { - _impl_._oneof_case_[0] = kParamRef; +inline void Node::set_has_alter_stats_stmt() { + _impl_._oneof_case_[0] = kAlterStatsStmt; } -inline void Node::clear_param_ref() { - if (_internal_has_param_ref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.param_ref_; +inline void Node::clear_alter_stats_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterStatsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_stats_stmt_; } clear_has_node(); } } -inline ::pg_query::ParamRef* Node::release_param_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.param_ref) - if (_internal_has_param_ref()) { +inline ::pg_query::AlterStatsStmt* Node::release_alter_stats_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_stats_stmt) + if (node_case() == kAlterStatsStmt) { clear_has_node(); - ::pg_query::ParamRef* temp = _impl_.node_.param_ref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_stats_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.param_ref_ = nullptr; + _impl_.node_.alter_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ParamRef& Node::_internal_param_ref() const { - return _internal_has_param_ref() - ? *_impl_.node_.param_ref_ - : reinterpret_cast< ::pg_query::ParamRef&>(::pg_query::_ParamRef_default_instance_); +inline const ::pg_query::AlterStatsStmt& Node::_internal_alter_stats_stmt() const { + return node_case() == kAlterStatsStmt ? *_impl_.node_.alter_stats_stmt_ : reinterpret_cast<::pg_query::AlterStatsStmt&>(::pg_query::_AlterStatsStmt_default_instance_); } -inline const ::pg_query::ParamRef& Node::param_ref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.param_ref) - return _internal_param_ref(); +inline const ::pg_query::AlterStatsStmt& Node::alter_stats_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_stats_stmt) + return _internal_alter_stats_stmt(); } -inline ::pg_query::ParamRef* Node::unsafe_arena_release_param_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.param_ref) - if (_internal_has_param_ref()) { +inline ::pg_query::AlterStatsStmt* Node::unsafe_arena_release_alter_stats_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_stats_stmt) + if (node_case() == kAlterStatsStmt) { clear_has_node(); - ::pg_query::ParamRef* temp = _impl_.node_.param_ref_; - _impl_.node_.param_ref_ = nullptr; + auto* temp = _impl_.node_.alter_stats_stmt_; + _impl_.node_.alter_stats_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_param_ref(::pg_query::ParamRef* param_ref) { +inline void Node::unsafe_arena_set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (param_ref) { - set_has_param_ref(); - _impl_.node_.param_ref_ = param_ref; + if (value) { + set_has_alter_stats_stmt(); + _impl_.node_.alter_stats_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.param_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_stats_stmt) } -inline ::pg_query::ParamRef* Node::_internal_mutable_param_ref() { - if (!_internal_has_param_ref()) { +inline ::pg_query::AlterStatsStmt* Node::_internal_mutable_alter_stats_stmt() { + if (node_case() != kAlterStatsStmt) { clear_node(); - set_has_param_ref(); - _impl_.node_.param_ref_ = CreateMaybeMessage< ::pg_query::ParamRef >(GetArenaForAllocation()); + set_has_alter_stats_stmt(); + _impl_.node_.alter_stats_stmt_ = CreateMaybeMessage<::pg_query::AlterStatsStmt>(GetArena()); } - return _impl_.node_.param_ref_; + return _impl_.node_.alter_stats_stmt_; } -inline ::pg_query::ParamRef* Node::mutable_param_ref() { - ::pg_query::ParamRef* _msg = _internal_mutable_param_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.param_ref) +inline ::pg_query::AlterStatsStmt* Node::mutable_alter_stats_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterStatsStmt* _msg = _internal_mutable_alter_stats_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_stats_stmt) return _msg; } -// .pg_query.FuncCall func_call = 174 [json_name = "FuncCall"]; -inline bool Node::_internal_has_func_call() const { - return node_case() == kFuncCall; +// .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"]; +inline bool Node::has_create_function_stmt() const { + return node_case() == kCreateFunctionStmt; } -inline bool Node::has_func_call() const { - return _internal_has_func_call(); +inline bool Node::_internal_has_create_function_stmt() const { + return node_case() == kCreateFunctionStmt; } -inline void Node::set_has_func_call() { - _impl_._oneof_case_[0] = kFuncCall; +inline void Node::set_has_create_function_stmt() { + _impl_._oneof_case_[0] = kCreateFunctionStmt; } -inline void Node::clear_func_call() { - if (_internal_has_func_call()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.func_call_; +inline void Node::clear_create_function_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateFunctionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_function_stmt_; } clear_has_node(); } } -inline ::pg_query::FuncCall* Node::release_func_call() { - // @@protoc_insertion_point(field_release:pg_query.Node.func_call) - if (_internal_has_func_call()) { +inline ::pg_query::CreateFunctionStmt* Node::release_create_function_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_function_stmt) + if (node_case() == kCreateFunctionStmt) { clear_has_node(); - ::pg_query::FuncCall* temp = _impl_.node_.func_call_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_function_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.func_call_ = nullptr; + _impl_.node_.create_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FuncCall& Node::_internal_func_call() const { - return _internal_has_func_call() - ? *_impl_.node_.func_call_ - : reinterpret_cast< ::pg_query::FuncCall&>(::pg_query::_FuncCall_default_instance_); +inline const ::pg_query::CreateFunctionStmt& Node::_internal_create_function_stmt() const { + return node_case() == kCreateFunctionStmt ? *_impl_.node_.create_function_stmt_ : reinterpret_cast<::pg_query::CreateFunctionStmt&>(::pg_query::_CreateFunctionStmt_default_instance_); } -inline const ::pg_query::FuncCall& Node::func_call() const { - // @@protoc_insertion_point(field_get:pg_query.Node.func_call) - return _internal_func_call(); +inline const ::pg_query::CreateFunctionStmt& Node::create_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_function_stmt) + return _internal_create_function_stmt(); } -inline ::pg_query::FuncCall* Node::unsafe_arena_release_func_call() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.func_call) - if (_internal_has_func_call()) { +inline ::pg_query::CreateFunctionStmt* Node::unsafe_arena_release_create_function_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_function_stmt) + if (node_case() == kCreateFunctionStmt) { clear_has_node(); - ::pg_query::FuncCall* temp = _impl_.node_.func_call_; - _impl_.node_.func_call_ = nullptr; + auto* temp = _impl_.node_.create_function_stmt_; + _impl_.node_.create_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_func_call(::pg_query::FuncCall* func_call) { +inline void Node::unsafe_arena_set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (func_call) { - set_has_func_call(); - _impl_.node_.func_call_ = func_call; + if (value) { + set_has_create_function_stmt(); + _impl_.node_.create_function_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.func_call) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_function_stmt) } -inline ::pg_query::FuncCall* Node::_internal_mutable_func_call() { - if (!_internal_has_func_call()) { +inline ::pg_query::CreateFunctionStmt* Node::_internal_mutable_create_function_stmt() { + if (node_case() != kCreateFunctionStmt) { clear_node(); - set_has_func_call(); - _impl_.node_.func_call_ = CreateMaybeMessage< ::pg_query::FuncCall >(GetArenaForAllocation()); + set_has_create_function_stmt(); + _impl_.node_.create_function_stmt_ = CreateMaybeMessage<::pg_query::CreateFunctionStmt>(GetArena()); } - return _impl_.node_.func_call_; + return _impl_.node_.create_function_stmt_; } -inline ::pg_query::FuncCall* Node::mutable_func_call() { - ::pg_query::FuncCall* _msg = _internal_mutable_func_call(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.func_call) +inline ::pg_query::CreateFunctionStmt* Node::mutable_create_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateFunctionStmt* _msg = _internal_mutable_create_function_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_function_stmt) return _msg; } -// .pg_query.A_Star a_star = 175 [json_name = "A_Star"]; -inline bool Node::_internal_has_a_star() const { - return node_case() == kAStar; +// .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"]; +inline bool Node::has_function_parameter() const { + return node_case() == kFunctionParameter; } -inline bool Node::has_a_star() const { - return _internal_has_a_star(); +inline bool Node::_internal_has_function_parameter() const { + return node_case() == kFunctionParameter; } -inline void Node::set_has_a_star() { - _impl_._oneof_case_[0] = kAStar; +inline void Node::set_has_function_parameter() { + _impl_._oneof_case_[0] = kFunctionParameter; } -inline void Node::clear_a_star() { - if (_internal_has_a_star()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.a_star_; +inline void Node::clear_function_parameter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFunctionParameter) { + if (GetArena() == nullptr) { + delete _impl_.node_.function_parameter_; } clear_has_node(); } } -inline ::pg_query::A_Star* Node::release_a_star() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_star) - if (_internal_has_a_star()) { +inline ::pg_query::FunctionParameter* Node::release_function_parameter() { + // @@protoc_insertion_point(field_release:pg_query.Node.function_parameter) + if (node_case() == kFunctionParameter) { clear_has_node(); - ::pg_query::A_Star* temp = _impl_.node_.a_star_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.function_parameter_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_star_ = nullptr; + _impl_.node_.function_parameter_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Star& Node::_internal_a_star() const { - return _internal_has_a_star() - ? *_impl_.node_.a_star_ - : reinterpret_cast< ::pg_query::A_Star&>(::pg_query::_A_Star_default_instance_); +inline const ::pg_query::FunctionParameter& Node::_internal_function_parameter() const { + return node_case() == kFunctionParameter ? *_impl_.node_.function_parameter_ : reinterpret_cast<::pg_query::FunctionParameter&>(::pg_query::_FunctionParameter_default_instance_); } -inline const ::pg_query::A_Star& Node::a_star() const { - // @@protoc_insertion_point(field_get:pg_query.Node.a_star) - return _internal_a_star(); +inline const ::pg_query::FunctionParameter& Node::function_parameter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.function_parameter) + return _internal_function_parameter(); } -inline ::pg_query::A_Star* Node::unsafe_arena_release_a_star() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_star) - if (_internal_has_a_star()) { +inline ::pg_query::FunctionParameter* Node::unsafe_arena_release_function_parameter() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.function_parameter) + if (node_case() == kFunctionParameter) { clear_has_node(); - ::pg_query::A_Star* temp = _impl_.node_.a_star_; - _impl_.node_.a_star_ = nullptr; + auto* temp = _impl_.node_.function_parameter_; + _impl_.node_.function_parameter_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_star(::pg_query::A_Star* a_star) { +inline void Node::unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_star) { - set_has_a_star(); - _impl_.node_.a_star_ = a_star; + if (value) { + set_has_function_parameter(); + _impl_.node_.function_parameter_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_star) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.function_parameter) } -inline ::pg_query::A_Star* Node::_internal_mutable_a_star() { - if (!_internal_has_a_star()) { +inline ::pg_query::FunctionParameter* Node::_internal_mutable_function_parameter() { + if (node_case() != kFunctionParameter) { clear_node(); - set_has_a_star(); - _impl_.node_.a_star_ = CreateMaybeMessage< ::pg_query::A_Star >(GetArenaForAllocation()); + set_has_function_parameter(); + _impl_.node_.function_parameter_ = CreateMaybeMessage<::pg_query::FunctionParameter>(GetArena()); } - return _impl_.node_.a_star_; + return _impl_.node_.function_parameter_; } -inline ::pg_query::A_Star* Node::mutable_a_star() { - ::pg_query::A_Star* _msg = _internal_mutable_a_star(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_star) +inline ::pg_query::FunctionParameter* Node::mutable_function_parameter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FunctionParameter* _msg = _internal_mutable_function_parameter(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.function_parameter) return _msg; } -// .pg_query.A_Indices a_indices = 176 [json_name = "A_Indices"]; -inline bool Node::_internal_has_a_indices() const { - return node_case() == kAIndices; +// .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"]; +inline bool Node::has_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt; } -inline bool Node::has_a_indices() const { - return _internal_has_a_indices(); +inline bool Node::_internal_has_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt; } -inline void Node::set_has_a_indices() { - _impl_._oneof_case_[0] = kAIndices; +inline void Node::set_has_alter_function_stmt() { + _impl_._oneof_case_[0] = kAlterFunctionStmt; } -inline void Node::clear_a_indices() { - if (_internal_has_a_indices()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.a_indices_; +inline void Node::clear_alter_function_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterFunctionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_function_stmt_; } clear_has_node(); } } -inline ::pg_query::A_Indices* Node::release_a_indices() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_indices) - if (_internal_has_a_indices()) { +inline ::pg_query::AlterFunctionStmt* Node::release_alter_function_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_function_stmt) + if (node_case() == kAlterFunctionStmt) { clear_has_node(); - ::pg_query::A_Indices* temp = _impl_.node_.a_indices_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_function_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_indices_ = nullptr; + _impl_.node_.alter_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Indices& Node::_internal_a_indices() const { - return _internal_has_a_indices() - ? *_impl_.node_.a_indices_ - : reinterpret_cast< ::pg_query::A_Indices&>(::pg_query::_A_Indices_default_instance_); +inline const ::pg_query::AlterFunctionStmt& Node::_internal_alter_function_stmt() const { + return node_case() == kAlterFunctionStmt ? *_impl_.node_.alter_function_stmt_ : reinterpret_cast<::pg_query::AlterFunctionStmt&>(::pg_query::_AlterFunctionStmt_default_instance_); } -inline const ::pg_query::A_Indices& Node::a_indices() const { - // @@protoc_insertion_point(field_get:pg_query.Node.a_indices) - return _internal_a_indices(); +inline const ::pg_query::AlterFunctionStmt& Node::alter_function_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_function_stmt) + return _internal_alter_function_stmt(); } -inline ::pg_query::A_Indices* Node::unsafe_arena_release_a_indices() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indices) - if (_internal_has_a_indices()) { +inline ::pg_query::AlterFunctionStmt* Node::unsafe_arena_release_alter_function_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_function_stmt) + if (node_case() == kAlterFunctionStmt) { clear_has_node(); - ::pg_query::A_Indices* temp = _impl_.node_.a_indices_; - _impl_.node_.a_indices_ = nullptr; + auto* temp = _impl_.node_.alter_function_stmt_; + _impl_.node_.alter_function_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_indices(::pg_query::A_Indices* a_indices) { +inline void Node::unsafe_arena_set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_indices) { - set_has_a_indices(); - _impl_.node_.a_indices_ = a_indices; + if (value) { + set_has_alter_function_stmt(); + _impl_.node_.alter_function_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indices) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_function_stmt) } -inline ::pg_query::A_Indices* Node::_internal_mutable_a_indices() { - if (!_internal_has_a_indices()) { +inline ::pg_query::AlterFunctionStmt* Node::_internal_mutable_alter_function_stmt() { + if (node_case() != kAlterFunctionStmt) { clear_node(); - set_has_a_indices(); - _impl_.node_.a_indices_ = CreateMaybeMessage< ::pg_query::A_Indices >(GetArenaForAllocation()); + set_has_alter_function_stmt(); + _impl_.node_.alter_function_stmt_ = CreateMaybeMessage<::pg_query::AlterFunctionStmt>(GetArena()); } - return _impl_.node_.a_indices_; + return _impl_.node_.alter_function_stmt_; } -inline ::pg_query::A_Indices* Node::mutable_a_indices() { - ::pg_query::A_Indices* _msg = _internal_mutable_a_indices(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indices) +inline ::pg_query::AlterFunctionStmt* Node::mutable_alter_function_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterFunctionStmt* _msg = _internal_mutable_alter_function_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_function_stmt) return _msg; } -// .pg_query.A_Indirection a_indirection = 177 [json_name = "A_Indirection"]; -inline bool Node::_internal_has_a_indirection() const { - return node_case() == kAIndirection; +// .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"]; +inline bool Node::has_do_stmt() const { + return node_case() == kDoStmt; } -inline bool Node::has_a_indirection() const { - return _internal_has_a_indirection(); +inline bool Node::_internal_has_do_stmt() const { + return node_case() == kDoStmt; } -inline void Node::set_has_a_indirection() { - _impl_._oneof_case_[0] = kAIndirection; +inline void Node::set_has_do_stmt() { + _impl_._oneof_case_[0] = kDoStmt; } -inline void Node::clear_a_indirection() { - if (_internal_has_a_indirection()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.a_indirection_; +inline void Node::clear_do_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDoStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.do_stmt_; } clear_has_node(); } } -inline ::pg_query::A_Indirection* Node::release_a_indirection() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_indirection) - if (_internal_has_a_indirection()) { +inline ::pg_query::DoStmt* Node::release_do_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.do_stmt) + if (node_case() == kDoStmt) { clear_has_node(); - ::pg_query::A_Indirection* temp = _impl_.node_.a_indirection_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.do_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_indirection_ = nullptr; + _impl_.node_.do_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_Indirection& Node::_internal_a_indirection() const { - return _internal_has_a_indirection() - ? *_impl_.node_.a_indirection_ - : reinterpret_cast< ::pg_query::A_Indirection&>(::pg_query::_A_Indirection_default_instance_); +inline const ::pg_query::DoStmt& Node::_internal_do_stmt() const { + return node_case() == kDoStmt ? *_impl_.node_.do_stmt_ : reinterpret_cast<::pg_query::DoStmt&>(::pg_query::_DoStmt_default_instance_); } -inline const ::pg_query::A_Indirection& Node::a_indirection() const { - // @@protoc_insertion_point(field_get:pg_query.Node.a_indirection) - return _internal_a_indirection(); +inline const ::pg_query::DoStmt& Node::do_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.do_stmt) + return _internal_do_stmt(); } -inline ::pg_query::A_Indirection* Node::unsafe_arena_release_a_indirection() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_indirection) - if (_internal_has_a_indirection()) { +inline ::pg_query::DoStmt* Node::unsafe_arena_release_do_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.do_stmt) + if (node_case() == kDoStmt) { clear_has_node(); - ::pg_query::A_Indirection* temp = _impl_.node_.a_indirection_; - _impl_.node_.a_indirection_ = nullptr; + auto* temp = _impl_.node_.do_stmt_; + _impl_.node_.do_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_indirection(::pg_query::A_Indirection* a_indirection) { +inline void Node::unsafe_arena_set_allocated_do_stmt(::pg_query::DoStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_indirection) { - set_has_a_indirection(); - _impl_.node_.a_indirection_ = a_indirection; + if (value) { + set_has_do_stmt(); + _impl_.node_.do_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_indirection) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.do_stmt) } -inline ::pg_query::A_Indirection* Node::_internal_mutable_a_indirection() { - if (!_internal_has_a_indirection()) { +inline ::pg_query::DoStmt* Node::_internal_mutable_do_stmt() { + if (node_case() != kDoStmt) { clear_node(); - set_has_a_indirection(); - _impl_.node_.a_indirection_ = CreateMaybeMessage< ::pg_query::A_Indirection >(GetArenaForAllocation()); + set_has_do_stmt(); + _impl_.node_.do_stmt_ = CreateMaybeMessage<::pg_query::DoStmt>(GetArena()); } - return _impl_.node_.a_indirection_; + return _impl_.node_.do_stmt_; } -inline ::pg_query::A_Indirection* Node::mutable_a_indirection() { - ::pg_query::A_Indirection* _msg = _internal_mutable_a_indirection(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_indirection) +inline ::pg_query::DoStmt* Node::mutable_do_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DoStmt* _msg = _internal_mutable_do_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.do_stmt) return _msg; } -// .pg_query.A_ArrayExpr a_array_expr = 178 [json_name = "A_ArrayExpr"]; -inline bool Node::_internal_has_a_array_expr() const { - return node_case() == kAArrayExpr; +// .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"]; +inline bool Node::has_inline_code_block() const { + return node_case() == kInlineCodeBlock; } -inline bool Node::has_a_array_expr() const { - return _internal_has_a_array_expr(); +inline bool Node::_internal_has_inline_code_block() const { + return node_case() == kInlineCodeBlock; } -inline void Node::set_has_a_array_expr() { - _impl_._oneof_case_[0] = kAArrayExpr; +inline void Node::set_has_inline_code_block() { + _impl_._oneof_case_[0] = kInlineCodeBlock; } -inline void Node::clear_a_array_expr() { - if (_internal_has_a_array_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.a_array_expr_; +inline void Node::clear_inline_code_block() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInlineCodeBlock) { + if (GetArena() == nullptr) { + delete _impl_.node_.inline_code_block_; } clear_has_node(); } } -inline ::pg_query::A_ArrayExpr* Node::release_a_array_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.a_array_expr) - if (_internal_has_a_array_expr()) { +inline ::pg_query::InlineCodeBlock* Node::release_inline_code_block() { + // @@protoc_insertion_point(field_release:pg_query.Node.inline_code_block) + if (node_case() == kInlineCodeBlock) { clear_has_node(); - ::pg_query::A_ArrayExpr* temp = _impl_.node_.a_array_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.inline_code_block_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.a_array_expr_ = nullptr; + _impl_.node_.inline_code_block_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::A_ArrayExpr& Node::_internal_a_array_expr() const { - return _internal_has_a_array_expr() - ? *_impl_.node_.a_array_expr_ - : reinterpret_cast< ::pg_query::A_ArrayExpr&>(::pg_query::_A_ArrayExpr_default_instance_); +inline const ::pg_query::InlineCodeBlock& Node::_internal_inline_code_block() const { + return node_case() == kInlineCodeBlock ? *_impl_.node_.inline_code_block_ : reinterpret_cast<::pg_query::InlineCodeBlock&>(::pg_query::_InlineCodeBlock_default_instance_); } -inline const ::pg_query::A_ArrayExpr& Node::a_array_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.a_array_expr) - return _internal_a_array_expr(); +inline const ::pg_query::InlineCodeBlock& Node::inline_code_block() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.inline_code_block) + return _internal_inline_code_block(); } -inline ::pg_query::A_ArrayExpr* Node::unsafe_arena_release_a_array_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_array_expr) - if (_internal_has_a_array_expr()) { +inline ::pg_query::InlineCodeBlock* Node::unsafe_arena_release_inline_code_block() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inline_code_block) + if (node_case() == kInlineCodeBlock) { clear_has_node(); - ::pg_query::A_ArrayExpr* temp = _impl_.node_.a_array_expr_; - _impl_.node_.a_array_expr_ = nullptr; + auto* temp = _impl_.node_.inline_code_block_; + _impl_.node_.inline_code_block_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_array_expr(::pg_query::A_ArrayExpr* a_array_expr) { +inline void Node::unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_array_expr) { - set_has_a_array_expr(); - _impl_.node_.a_array_expr_ = a_array_expr; + if (value) { + set_has_inline_code_block(); + _impl_.node_.inline_code_block_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_array_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inline_code_block) } -inline ::pg_query::A_ArrayExpr* Node::_internal_mutable_a_array_expr() { - if (!_internal_has_a_array_expr()) { +inline ::pg_query::InlineCodeBlock* Node::_internal_mutable_inline_code_block() { + if (node_case() != kInlineCodeBlock) { clear_node(); - set_has_a_array_expr(); - _impl_.node_.a_array_expr_ = CreateMaybeMessage< ::pg_query::A_ArrayExpr >(GetArenaForAllocation()); + set_has_inline_code_block(); + _impl_.node_.inline_code_block_ = CreateMaybeMessage<::pg_query::InlineCodeBlock>(GetArena()); } - return _impl_.node_.a_array_expr_; + return _impl_.node_.inline_code_block_; } -inline ::pg_query::A_ArrayExpr* Node::mutable_a_array_expr() { - ::pg_query::A_ArrayExpr* _msg = _internal_mutable_a_array_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.a_array_expr) +inline ::pg_query::InlineCodeBlock* Node::mutable_inline_code_block() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InlineCodeBlock* _msg = _internal_mutable_inline_code_block(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.inline_code_block) return _msg; } -// .pg_query.ResTarget res_target = 179 [json_name = "ResTarget"]; -inline bool Node::_internal_has_res_target() const { - return node_case() == kResTarget; +// .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"]; +inline bool Node::has_call_stmt() const { + return node_case() == kCallStmt; } -inline bool Node::has_res_target() const { - return _internal_has_res_target(); +inline bool Node::_internal_has_call_stmt() const { + return node_case() == kCallStmt; } -inline void Node::set_has_res_target() { - _impl_._oneof_case_[0] = kResTarget; +inline void Node::set_has_call_stmt() { + _impl_._oneof_case_[0] = kCallStmt; } -inline void Node::clear_res_target() { - if (_internal_has_res_target()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.res_target_; +inline void Node::clear_call_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCallStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.call_stmt_; } clear_has_node(); } } -inline ::pg_query::ResTarget* Node::release_res_target() { - // @@protoc_insertion_point(field_release:pg_query.Node.res_target) - if (_internal_has_res_target()) { +inline ::pg_query::CallStmt* Node::release_call_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.call_stmt) + if (node_case() == kCallStmt) { clear_has_node(); - ::pg_query::ResTarget* temp = _impl_.node_.res_target_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.call_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.res_target_ = nullptr; + _impl_.node_.call_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ResTarget& Node::_internal_res_target() const { - return _internal_has_res_target() - ? *_impl_.node_.res_target_ - : reinterpret_cast< ::pg_query::ResTarget&>(::pg_query::_ResTarget_default_instance_); +inline const ::pg_query::CallStmt& Node::_internal_call_stmt() const { + return node_case() == kCallStmt ? *_impl_.node_.call_stmt_ : reinterpret_cast<::pg_query::CallStmt&>(::pg_query::_CallStmt_default_instance_); } -inline const ::pg_query::ResTarget& Node::res_target() const { - // @@protoc_insertion_point(field_get:pg_query.Node.res_target) - return _internal_res_target(); +inline const ::pg_query::CallStmt& Node::call_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.call_stmt) + return _internal_call_stmt(); } -inline ::pg_query::ResTarget* Node::unsafe_arena_release_res_target() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.res_target) - if (_internal_has_res_target()) { +inline ::pg_query::CallStmt* Node::unsafe_arena_release_call_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_stmt) + if (node_case() == kCallStmt) { clear_has_node(); - ::pg_query::ResTarget* temp = _impl_.node_.res_target_; - _impl_.node_.res_target_ = nullptr; + auto* temp = _impl_.node_.call_stmt_; + _impl_.node_.call_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_res_target(::pg_query::ResTarget* res_target) { +inline void Node::unsafe_arena_set_allocated_call_stmt(::pg_query::CallStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (res_target) { - set_has_res_target(); - _impl_.node_.res_target_ = res_target; + if (value) { + set_has_call_stmt(); + _impl_.node_.call_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.res_target) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_stmt) } -inline ::pg_query::ResTarget* Node::_internal_mutable_res_target() { - if (!_internal_has_res_target()) { +inline ::pg_query::CallStmt* Node::_internal_mutable_call_stmt() { + if (node_case() != kCallStmt) { clear_node(); - set_has_res_target(); - _impl_.node_.res_target_ = CreateMaybeMessage< ::pg_query::ResTarget >(GetArenaForAllocation()); + set_has_call_stmt(); + _impl_.node_.call_stmt_ = CreateMaybeMessage<::pg_query::CallStmt>(GetArena()); } - return _impl_.node_.res_target_; + return _impl_.node_.call_stmt_; } -inline ::pg_query::ResTarget* Node::mutable_res_target() { - ::pg_query::ResTarget* _msg = _internal_mutable_res_target(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.res_target) +inline ::pg_query::CallStmt* Node::mutable_call_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CallStmt* _msg = _internal_mutable_call_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.call_stmt) return _msg; } -// .pg_query.MultiAssignRef multi_assign_ref = 180 [json_name = "MultiAssignRef"]; -inline bool Node::_internal_has_multi_assign_ref() const { - return node_case() == kMultiAssignRef; +// .pg_query.CallContext call_context = 208 [json_name = "CallContext"]; +inline bool Node::has_call_context() const { + return node_case() == kCallContext; } -inline bool Node::has_multi_assign_ref() const { - return _internal_has_multi_assign_ref(); +inline bool Node::_internal_has_call_context() const { + return node_case() == kCallContext; } -inline void Node::set_has_multi_assign_ref() { - _impl_._oneof_case_[0] = kMultiAssignRef; +inline void Node::set_has_call_context() { + _impl_._oneof_case_[0] = kCallContext; } -inline void Node::clear_multi_assign_ref() { - if (_internal_has_multi_assign_ref()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.multi_assign_ref_; +inline void Node::clear_call_context() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCallContext) { + if (GetArena() == nullptr) { + delete _impl_.node_.call_context_; } clear_has_node(); } } -inline ::pg_query::MultiAssignRef* Node::release_multi_assign_ref() { - // @@protoc_insertion_point(field_release:pg_query.Node.multi_assign_ref) - if (_internal_has_multi_assign_ref()) { +inline ::pg_query::CallContext* Node::release_call_context() { + // @@protoc_insertion_point(field_release:pg_query.Node.call_context) + if (node_case() == kCallContext) { clear_has_node(); - ::pg_query::MultiAssignRef* temp = _impl_.node_.multi_assign_ref_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.call_context_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.multi_assign_ref_ = nullptr; + _impl_.node_.call_context_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MultiAssignRef& Node::_internal_multi_assign_ref() const { - return _internal_has_multi_assign_ref() - ? *_impl_.node_.multi_assign_ref_ - : reinterpret_cast< ::pg_query::MultiAssignRef&>(::pg_query::_MultiAssignRef_default_instance_); +inline const ::pg_query::CallContext& Node::_internal_call_context() const { + return node_case() == kCallContext ? *_impl_.node_.call_context_ : reinterpret_cast<::pg_query::CallContext&>(::pg_query::_CallContext_default_instance_); } -inline const ::pg_query::MultiAssignRef& Node::multi_assign_ref() const { - // @@protoc_insertion_point(field_get:pg_query.Node.multi_assign_ref) - return _internal_multi_assign_ref(); +inline const ::pg_query::CallContext& Node::call_context() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.call_context) + return _internal_call_context(); } -inline ::pg_query::MultiAssignRef* Node::unsafe_arena_release_multi_assign_ref() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.multi_assign_ref) - if (_internal_has_multi_assign_ref()) { +inline ::pg_query::CallContext* Node::unsafe_arena_release_call_context() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_context) + if (node_case() == kCallContext) { clear_has_node(); - ::pg_query::MultiAssignRef* temp = _impl_.node_.multi_assign_ref_; - _impl_.node_.multi_assign_ref_ = nullptr; + auto* temp = _impl_.node_.call_context_; + _impl_.node_.call_context_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* multi_assign_ref) { +inline void Node::unsafe_arena_set_allocated_call_context(::pg_query::CallContext* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (multi_assign_ref) { - set_has_multi_assign_ref(); - _impl_.node_.multi_assign_ref_ = multi_assign_ref; + if (value) { + set_has_call_context(); + _impl_.node_.call_context_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.multi_assign_ref) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_context) } -inline ::pg_query::MultiAssignRef* Node::_internal_mutable_multi_assign_ref() { - if (!_internal_has_multi_assign_ref()) { +inline ::pg_query::CallContext* Node::_internal_mutable_call_context() { + if (node_case() != kCallContext) { clear_node(); - set_has_multi_assign_ref(); - _impl_.node_.multi_assign_ref_ = CreateMaybeMessage< ::pg_query::MultiAssignRef >(GetArenaForAllocation()); + set_has_call_context(); + _impl_.node_.call_context_ = CreateMaybeMessage<::pg_query::CallContext>(GetArena()); } - return _impl_.node_.multi_assign_ref_; + return _impl_.node_.call_context_; } -inline ::pg_query::MultiAssignRef* Node::mutable_multi_assign_ref() { - ::pg_query::MultiAssignRef* _msg = _internal_mutable_multi_assign_ref(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.multi_assign_ref) +inline ::pg_query::CallContext* Node::mutable_call_context() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CallContext* _msg = _internal_mutable_call_context(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.call_context) return _msg; } -// .pg_query.TypeCast type_cast = 181 [json_name = "TypeCast"]; -inline bool Node::_internal_has_type_cast() const { - return node_case() == kTypeCast; +// .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"]; +inline bool Node::has_rename_stmt() const { + return node_case() == kRenameStmt; } -inline bool Node::has_type_cast() const { - return _internal_has_type_cast(); +inline bool Node::_internal_has_rename_stmt() const { + return node_case() == kRenameStmt; } -inline void Node::set_has_type_cast() { - _impl_._oneof_case_[0] = kTypeCast; +inline void Node::set_has_rename_stmt() { + _impl_._oneof_case_[0] = kRenameStmt; } -inline void Node::clear_type_cast() { - if (_internal_has_type_cast()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.type_cast_; +inline void Node::clear_rename_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRenameStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.rename_stmt_; } clear_has_node(); } } -inline ::pg_query::TypeCast* Node::release_type_cast() { - // @@protoc_insertion_point(field_release:pg_query.Node.type_cast) - if (_internal_has_type_cast()) { +inline ::pg_query::RenameStmt* Node::release_rename_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.rename_stmt) + if (node_case() == kRenameStmt) { clear_has_node(); - ::pg_query::TypeCast* temp = _impl_.node_.type_cast_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.rename_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.type_cast_ = nullptr; + _impl_.node_.rename_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TypeCast& Node::_internal_type_cast() const { - return _internal_has_type_cast() - ? *_impl_.node_.type_cast_ - : reinterpret_cast< ::pg_query::TypeCast&>(::pg_query::_TypeCast_default_instance_); +inline const ::pg_query::RenameStmt& Node::_internal_rename_stmt() const { + return node_case() == kRenameStmt ? *_impl_.node_.rename_stmt_ : reinterpret_cast<::pg_query::RenameStmt&>(::pg_query::_RenameStmt_default_instance_); } -inline const ::pg_query::TypeCast& Node::type_cast() const { - // @@protoc_insertion_point(field_get:pg_query.Node.type_cast) - return _internal_type_cast(); +inline const ::pg_query::RenameStmt& Node::rename_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rename_stmt) + return _internal_rename_stmt(); } -inline ::pg_query::TypeCast* Node::unsafe_arena_release_type_cast() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_cast) - if (_internal_has_type_cast()) { +inline ::pg_query::RenameStmt* Node::unsafe_arena_release_rename_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rename_stmt) + if (node_case() == kRenameStmt) { clear_has_node(); - ::pg_query::TypeCast* temp = _impl_.node_.type_cast_; - _impl_.node_.type_cast_ = nullptr; + auto* temp = _impl_.node_.rename_stmt_; + _impl_.node_.rename_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_type_cast(::pg_query::TypeCast* type_cast) { +inline void Node::unsafe_arena_set_allocated_rename_stmt(::pg_query::RenameStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (type_cast) { - set_has_type_cast(); - _impl_.node_.type_cast_ = type_cast; + if (value) { + set_has_rename_stmt(); + _impl_.node_.rename_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_cast) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rename_stmt) } -inline ::pg_query::TypeCast* Node::_internal_mutable_type_cast() { - if (!_internal_has_type_cast()) { +inline ::pg_query::RenameStmt* Node::_internal_mutable_rename_stmt() { + if (node_case() != kRenameStmt) { clear_node(); - set_has_type_cast(); - _impl_.node_.type_cast_ = CreateMaybeMessage< ::pg_query::TypeCast >(GetArenaForAllocation()); + set_has_rename_stmt(); + _impl_.node_.rename_stmt_ = CreateMaybeMessage<::pg_query::RenameStmt>(GetArena()); } - return _impl_.node_.type_cast_; + return _impl_.node_.rename_stmt_; } -inline ::pg_query::TypeCast* Node::mutable_type_cast() { - ::pg_query::TypeCast* _msg = _internal_mutable_type_cast(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.type_cast) +inline ::pg_query::RenameStmt* Node::mutable_rename_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RenameStmt* _msg = _internal_mutable_rename_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rename_stmt) return _msg; } -// .pg_query.CollateClause collate_clause = 182 [json_name = "CollateClause"]; -inline bool Node::_internal_has_collate_clause() const { - return node_case() == kCollateClause; +// .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"]; +inline bool Node::has_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt; } -inline bool Node::has_collate_clause() const { - return _internal_has_collate_clause(); +inline bool Node::_internal_has_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt; } -inline void Node::set_has_collate_clause() { - _impl_._oneof_case_[0] = kCollateClause; +inline void Node::set_has_alter_object_depends_stmt() { + _impl_._oneof_case_[0] = kAlterObjectDependsStmt; } -inline void Node::clear_collate_clause() { - if (_internal_has_collate_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.collate_clause_; +inline void Node::clear_alter_object_depends_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterObjectDependsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_object_depends_stmt_; } clear_has_node(); } } -inline ::pg_query::CollateClause* Node::release_collate_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.collate_clause) - if (_internal_has_collate_clause()) { +inline ::pg_query::AlterObjectDependsStmt* Node::release_alter_object_depends_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_depends_stmt) + if (node_case() == kAlterObjectDependsStmt) { clear_has_node(); - ::pg_query::CollateClause* temp = _impl_.node_.collate_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_object_depends_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.collate_clause_ = nullptr; + _impl_.node_.alter_object_depends_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CollateClause& Node::_internal_collate_clause() const { - return _internal_has_collate_clause() - ? *_impl_.node_.collate_clause_ - : reinterpret_cast< ::pg_query::CollateClause&>(::pg_query::_CollateClause_default_instance_); +inline const ::pg_query::AlterObjectDependsStmt& Node::_internal_alter_object_depends_stmt() const { + return node_case() == kAlterObjectDependsStmt ? *_impl_.node_.alter_object_depends_stmt_ : reinterpret_cast<::pg_query::AlterObjectDependsStmt&>(::pg_query::_AlterObjectDependsStmt_default_instance_); } -inline const ::pg_query::CollateClause& Node::collate_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.collate_clause) - return _internal_collate_clause(); +inline const ::pg_query::AlterObjectDependsStmt& Node::alter_object_depends_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_depends_stmt) + return _internal_alter_object_depends_stmt(); } -inline ::pg_query::CollateClause* Node::unsafe_arena_release_collate_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.collate_clause) - if (_internal_has_collate_clause()) { +inline ::pg_query::AlterObjectDependsStmt* Node::unsafe_arena_release_alter_object_depends_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_depends_stmt) + if (node_case() == kAlterObjectDependsStmt) { clear_has_node(); - ::pg_query::CollateClause* temp = _impl_.node_.collate_clause_; - _impl_.node_.collate_clause_ = nullptr; + auto* temp = _impl_.node_.alter_object_depends_stmt_; + _impl_.node_.alter_object_depends_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_collate_clause(::pg_query::CollateClause* collate_clause) { +inline void Node::unsafe_arena_set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (collate_clause) { - set_has_collate_clause(); - _impl_.node_.collate_clause_ = collate_clause; + if (value) { + set_has_alter_object_depends_stmt(); + _impl_.node_.alter_object_depends_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.collate_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_depends_stmt) } -inline ::pg_query::CollateClause* Node::_internal_mutable_collate_clause() { - if (!_internal_has_collate_clause()) { +inline ::pg_query::AlterObjectDependsStmt* Node::_internal_mutable_alter_object_depends_stmt() { + if (node_case() != kAlterObjectDependsStmt) { clear_node(); - set_has_collate_clause(); - _impl_.node_.collate_clause_ = CreateMaybeMessage< ::pg_query::CollateClause >(GetArenaForAllocation()); + set_has_alter_object_depends_stmt(); + _impl_.node_.alter_object_depends_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectDependsStmt>(GetArena()); } - return _impl_.node_.collate_clause_; + return _impl_.node_.alter_object_depends_stmt_; } -inline ::pg_query::CollateClause* Node::mutable_collate_clause() { - ::pg_query::CollateClause* _msg = _internal_mutable_collate_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.collate_clause) +inline ::pg_query::AlterObjectDependsStmt* Node::mutable_alter_object_depends_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterObjectDependsStmt* _msg = _internal_mutable_alter_object_depends_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_depends_stmt) return _msg; } -// .pg_query.SortBy sort_by = 183 [json_name = "SortBy"]; -inline bool Node::_internal_has_sort_by() const { - return node_case() == kSortBy; +// .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"]; +inline bool Node::has_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt; } -inline bool Node::has_sort_by() const { - return _internal_has_sort_by(); +inline bool Node::_internal_has_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt; } -inline void Node::set_has_sort_by() { - _impl_._oneof_case_[0] = kSortBy; +inline void Node::set_has_alter_object_schema_stmt() { + _impl_._oneof_case_[0] = kAlterObjectSchemaStmt; } -inline void Node::clear_sort_by() { - if (_internal_has_sort_by()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sort_by_; +inline void Node::clear_alter_object_schema_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterObjectSchemaStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_object_schema_stmt_; } clear_has_node(); } } -inline ::pg_query::SortBy* Node::release_sort_by() { - // @@protoc_insertion_point(field_release:pg_query.Node.sort_by) - if (_internal_has_sort_by()) { +inline ::pg_query::AlterObjectSchemaStmt* Node::release_alter_object_schema_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_object_schema_stmt) + if (node_case() == kAlterObjectSchemaStmt) { clear_has_node(); - ::pg_query::SortBy* temp = _impl_.node_.sort_by_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_object_schema_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sort_by_ = nullptr; + _impl_.node_.alter_object_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SortBy& Node::_internal_sort_by() const { - return _internal_has_sort_by() - ? *_impl_.node_.sort_by_ - : reinterpret_cast< ::pg_query::SortBy&>(::pg_query::_SortBy_default_instance_); +inline const ::pg_query::AlterObjectSchemaStmt& Node::_internal_alter_object_schema_stmt() const { + return node_case() == kAlterObjectSchemaStmt ? *_impl_.node_.alter_object_schema_stmt_ : reinterpret_cast<::pg_query::AlterObjectSchemaStmt&>(::pg_query::_AlterObjectSchemaStmt_default_instance_); } -inline const ::pg_query::SortBy& Node::sort_by() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sort_by) - return _internal_sort_by(); +inline const ::pg_query::AlterObjectSchemaStmt& Node::alter_object_schema_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_object_schema_stmt) + return _internal_alter_object_schema_stmt(); } -inline ::pg_query::SortBy* Node::unsafe_arena_release_sort_by() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_by) - if (_internal_has_sort_by()) { +inline ::pg_query::AlterObjectSchemaStmt* Node::unsafe_arena_release_alter_object_schema_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_object_schema_stmt) + if (node_case() == kAlterObjectSchemaStmt) { clear_has_node(); - ::pg_query::SortBy* temp = _impl_.node_.sort_by_; - _impl_.node_.sort_by_ = nullptr; + auto* temp = _impl_.node_.alter_object_schema_stmt_; + _impl_.node_.alter_object_schema_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sort_by(::pg_query::SortBy* sort_by) { +inline void Node::unsafe_arena_set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sort_by) { - set_has_sort_by(); - _impl_.node_.sort_by_ = sort_by; + if (value) { + set_has_alter_object_schema_stmt(); + _impl_.node_.alter_object_schema_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_by) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_object_schema_stmt) } -inline ::pg_query::SortBy* Node::_internal_mutable_sort_by() { - if (!_internal_has_sort_by()) { +inline ::pg_query::AlterObjectSchemaStmt* Node::_internal_mutable_alter_object_schema_stmt() { + if (node_case() != kAlterObjectSchemaStmt) { clear_node(); - set_has_sort_by(); - _impl_.node_.sort_by_ = CreateMaybeMessage< ::pg_query::SortBy >(GetArenaForAllocation()); + set_has_alter_object_schema_stmt(); + _impl_.node_.alter_object_schema_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectSchemaStmt>(GetArena()); } - return _impl_.node_.sort_by_; + return _impl_.node_.alter_object_schema_stmt_; } -inline ::pg_query::SortBy* Node::mutable_sort_by() { - ::pg_query::SortBy* _msg = _internal_mutable_sort_by(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_by) +inline ::pg_query::AlterObjectSchemaStmt* Node::mutable_alter_object_schema_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterObjectSchemaStmt* _msg = _internal_mutable_alter_object_schema_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_object_schema_stmt) return _msg; } -// .pg_query.WindowDef window_def = 184 [json_name = "WindowDef"]; -inline bool Node::_internal_has_window_def() const { - return node_case() == kWindowDef; +// .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"]; +inline bool Node::has_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt; } -inline bool Node::has_window_def() const { - return _internal_has_window_def(); +inline bool Node::_internal_has_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt; } -inline void Node::set_has_window_def() { - _impl_._oneof_case_[0] = kWindowDef; +inline void Node::set_has_alter_owner_stmt() { + _impl_._oneof_case_[0] = kAlterOwnerStmt; } -inline void Node::clear_window_def() { - if (_internal_has_window_def()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.window_def_; +inline void Node::clear_alter_owner_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterOwnerStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_owner_stmt_; } clear_has_node(); } } -inline ::pg_query::WindowDef* Node::release_window_def() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_def) - if (_internal_has_window_def()) { +inline ::pg_query::AlterOwnerStmt* Node::release_alter_owner_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_owner_stmt) + if (node_case() == kAlterOwnerStmt) { clear_has_node(); - ::pg_query::WindowDef* temp = _impl_.node_.window_def_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_owner_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_def_ = nullptr; + _impl_.node_.alter_owner_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowDef& Node::_internal_window_def() const { - return _internal_has_window_def() - ? *_impl_.node_.window_def_ - : reinterpret_cast< ::pg_query::WindowDef&>(::pg_query::_WindowDef_default_instance_); +inline const ::pg_query::AlterOwnerStmt& Node::_internal_alter_owner_stmt() const { + return node_case() == kAlterOwnerStmt ? *_impl_.node_.alter_owner_stmt_ : reinterpret_cast<::pg_query::AlterOwnerStmt&>(::pg_query::_AlterOwnerStmt_default_instance_); } -inline const ::pg_query::WindowDef& Node::window_def() const { - // @@protoc_insertion_point(field_get:pg_query.Node.window_def) - return _internal_window_def(); +inline const ::pg_query::AlterOwnerStmt& Node::alter_owner_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_owner_stmt) + return _internal_alter_owner_stmt(); } -inline ::pg_query::WindowDef* Node::unsafe_arena_release_window_def() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_def) - if (_internal_has_window_def()) { +inline ::pg_query::AlterOwnerStmt* Node::unsafe_arena_release_alter_owner_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_owner_stmt) + if (node_case() == kAlterOwnerStmt) { clear_has_node(); - ::pg_query::WindowDef* temp = _impl_.node_.window_def_; - _impl_.node_.window_def_ = nullptr; + auto* temp = _impl_.node_.alter_owner_stmt_; + _impl_.node_.alter_owner_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_def(::pg_query::WindowDef* window_def) { +inline void Node::unsafe_arena_set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (window_def) { - set_has_window_def(); - _impl_.node_.window_def_ = window_def; + if (value) { + set_has_alter_owner_stmt(); + _impl_.node_.alter_owner_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_def) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_owner_stmt) } -inline ::pg_query::WindowDef* Node::_internal_mutable_window_def() { - if (!_internal_has_window_def()) { +inline ::pg_query::AlterOwnerStmt* Node::_internal_mutable_alter_owner_stmt() { + if (node_case() != kAlterOwnerStmt) { clear_node(); - set_has_window_def(); - _impl_.node_.window_def_ = CreateMaybeMessage< ::pg_query::WindowDef >(GetArenaForAllocation()); + set_has_alter_owner_stmt(); + _impl_.node_.alter_owner_stmt_ = CreateMaybeMessage<::pg_query::AlterOwnerStmt>(GetArena()); } - return _impl_.node_.window_def_; + return _impl_.node_.alter_owner_stmt_; } -inline ::pg_query::WindowDef* Node::mutable_window_def() { - ::pg_query::WindowDef* _msg = _internal_mutable_window_def(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_def) +inline ::pg_query::AlterOwnerStmt* Node::mutable_alter_owner_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOwnerStmt* _msg = _internal_mutable_alter_owner_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_owner_stmt) return _msg; } -// .pg_query.RangeSubselect range_subselect = 185 [json_name = "RangeSubselect"]; -inline bool Node::_internal_has_range_subselect() const { - return node_case() == kRangeSubselect; +// .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"]; +inline bool Node::has_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt; } -inline bool Node::has_range_subselect() const { - return _internal_has_range_subselect(); +inline bool Node::_internal_has_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt; } -inline void Node::set_has_range_subselect() { - _impl_._oneof_case_[0] = kRangeSubselect; +inline void Node::set_has_alter_operator_stmt() { + _impl_._oneof_case_[0] = kAlterOperatorStmt; } -inline void Node::clear_range_subselect() { - if (_internal_has_range_subselect()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_subselect_; +inline void Node::clear_alter_operator_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterOperatorStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_operator_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeSubselect* Node::release_range_subselect() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_subselect) - if (_internal_has_range_subselect()) { +inline ::pg_query::AlterOperatorStmt* Node::release_alter_operator_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_operator_stmt) + if (node_case() == kAlterOperatorStmt) { clear_has_node(); - ::pg_query::RangeSubselect* temp = _impl_.node_.range_subselect_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_operator_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_subselect_ = nullptr; + _impl_.node_.alter_operator_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeSubselect& Node::_internal_range_subselect() const { - return _internal_has_range_subselect() - ? *_impl_.node_.range_subselect_ - : reinterpret_cast< ::pg_query::RangeSubselect&>(::pg_query::_RangeSubselect_default_instance_); +inline const ::pg_query::AlterOperatorStmt& Node::_internal_alter_operator_stmt() const { + return node_case() == kAlterOperatorStmt ? *_impl_.node_.alter_operator_stmt_ : reinterpret_cast<::pg_query::AlterOperatorStmt&>(::pg_query::_AlterOperatorStmt_default_instance_); } -inline const ::pg_query::RangeSubselect& Node::range_subselect() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_subselect) - return _internal_range_subselect(); +inline const ::pg_query::AlterOperatorStmt& Node::alter_operator_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_operator_stmt) + return _internal_alter_operator_stmt(); } -inline ::pg_query::RangeSubselect* Node::unsafe_arena_release_range_subselect() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_subselect) - if (_internal_has_range_subselect()) { +inline ::pg_query::AlterOperatorStmt* Node::unsafe_arena_release_alter_operator_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_operator_stmt) + if (node_case() == kAlterOperatorStmt) { clear_has_node(); - ::pg_query::RangeSubselect* temp = _impl_.node_.range_subselect_; - _impl_.node_.range_subselect_ = nullptr; + auto* temp = _impl_.node_.alter_operator_stmt_; + _impl_.node_.alter_operator_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_subselect(::pg_query::RangeSubselect* range_subselect) { +inline void Node::unsafe_arena_set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_subselect) { - set_has_range_subselect(); - _impl_.node_.range_subselect_ = range_subselect; + if (value) { + set_has_alter_operator_stmt(); + _impl_.node_.alter_operator_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_subselect) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_operator_stmt) } -inline ::pg_query::RangeSubselect* Node::_internal_mutable_range_subselect() { - if (!_internal_has_range_subselect()) { +inline ::pg_query::AlterOperatorStmt* Node::_internal_mutable_alter_operator_stmt() { + if (node_case() != kAlterOperatorStmt) { clear_node(); - set_has_range_subselect(); - _impl_.node_.range_subselect_ = CreateMaybeMessage< ::pg_query::RangeSubselect >(GetArenaForAllocation()); + set_has_alter_operator_stmt(); + _impl_.node_.alter_operator_stmt_ = CreateMaybeMessage<::pg_query::AlterOperatorStmt>(GetArena()); } - return _impl_.node_.range_subselect_; + return _impl_.node_.alter_operator_stmt_; } -inline ::pg_query::RangeSubselect* Node::mutable_range_subselect() { - ::pg_query::RangeSubselect* _msg = _internal_mutable_range_subselect(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_subselect) +inline ::pg_query::AlterOperatorStmt* Node::mutable_alter_operator_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterOperatorStmt* _msg = _internal_mutable_alter_operator_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_operator_stmt) return _msg; } -// .pg_query.RangeFunction range_function = 186 [json_name = "RangeFunction"]; -inline bool Node::_internal_has_range_function() const { - return node_case() == kRangeFunction; +// .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"]; +inline bool Node::has_alter_type_stmt() const { + return node_case() == kAlterTypeStmt; } -inline bool Node::has_range_function() const { - return _internal_has_range_function(); +inline bool Node::_internal_has_alter_type_stmt() const { + return node_case() == kAlterTypeStmt; } -inline void Node::set_has_range_function() { - _impl_._oneof_case_[0] = kRangeFunction; +inline void Node::set_has_alter_type_stmt() { + _impl_._oneof_case_[0] = kAlterTypeStmt; } -inline void Node::clear_range_function() { - if (_internal_has_range_function()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_function_; +inline void Node::clear_alter_type_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTypeStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_type_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeFunction* Node::release_range_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_function) - if (_internal_has_range_function()) { +inline ::pg_query::AlterTypeStmt* Node::release_alter_type_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_type_stmt) + if (node_case() == kAlterTypeStmt) { clear_has_node(); - ::pg_query::RangeFunction* temp = _impl_.node_.range_function_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_type_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_function_ = nullptr; + _impl_.node_.alter_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeFunction& Node::_internal_range_function() const { - return _internal_has_range_function() - ? *_impl_.node_.range_function_ - : reinterpret_cast< ::pg_query::RangeFunction&>(::pg_query::_RangeFunction_default_instance_); +inline const ::pg_query::AlterTypeStmt& Node::_internal_alter_type_stmt() const { + return node_case() == kAlterTypeStmt ? *_impl_.node_.alter_type_stmt_ : reinterpret_cast<::pg_query::AlterTypeStmt&>(::pg_query::_AlterTypeStmt_default_instance_); } -inline const ::pg_query::RangeFunction& Node::range_function() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_function) - return _internal_range_function(); +inline const ::pg_query::AlterTypeStmt& Node::alter_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_type_stmt) + return _internal_alter_type_stmt(); } -inline ::pg_query::RangeFunction* Node::unsafe_arena_release_range_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_function) - if (_internal_has_range_function()) { +inline ::pg_query::AlterTypeStmt* Node::unsafe_arena_release_alter_type_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_type_stmt) + if (node_case() == kAlterTypeStmt) { clear_has_node(); - ::pg_query::RangeFunction* temp = _impl_.node_.range_function_; - _impl_.node_.range_function_ = nullptr; + auto* temp = _impl_.node_.alter_type_stmt_; + _impl_.node_.alter_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_function(::pg_query::RangeFunction* range_function) { +inline void Node::unsafe_arena_set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_function) { - set_has_range_function(); - _impl_.node_.range_function_ = range_function; + if (value) { + set_has_alter_type_stmt(); + _impl_.node_.alter_type_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_type_stmt) } -inline ::pg_query::RangeFunction* Node::_internal_mutable_range_function() { - if (!_internal_has_range_function()) { +inline ::pg_query::AlterTypeStmt* Node::_internal_mutable_alter_type_stmt() { + if (node_case() != kAlterTypeStmt) { clear_node(); - set_has_range_function(); - _impl_.node_.range_function_ = CreateMaybeMessage< ::pg_query::RangeFunction >(GetArenaForAllocation()); + set_has_alter_type_stmt(); + _impl_.node_.alter_type_stmt_ = CreateMaybeMessage<::pg_query::AlterTypeStmt>(GetArena()); } - return _impl_.node_.range_function_; + return _impl_.node_.alter_type_stmt_; } -inline ::pg_query::RangeFunction* Node::mutable_range_function() { - ::pg_query::RangeFunction* _msg = _internal_mutable_range_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_function) +inline ::pg_query::AlterTypeStmt* Node::mutable_alter_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTypeStmt* _msg = _internal_mutable_alter_type_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_type_stmt) return _msg; } -// .pg_query.RangeTableSample range_table_sample = 187 [json_name = "RangeTableSample"]; -inline bool Node::_internal_has_range_table_sample() const { - return node_case() == kRangeTableSample; +// .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"]; +inline bool Node::has_rule_stmt() const { + return node_case() == kRuleStmt; } -inline bool Node::has_range_table_sample() const { - return _internal_has_range_table_sample(); +inline bool Node::_internal_has_rule_stmt() const { + return node_case() == kRuleStmt; } -inline void Node::set_has_range_table_sample() { - _impl_._oneof_case_[0] = kRangeTableSample; +inline void Node::set_has_rule_stmt() { + _impl_._oneof_case_[0] = kRuleStmt; } -inline void Node::clear_range_table_sample() { - if (_internal_has_range_table_sample()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_table_sample_; +inline void Node::clear_rule_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRuleStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.rule_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableSample* Node::release_range_table_sample() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_sample) - if (_internal_has_range_table_sample()) { +inline ::pg_query::RuleStmt* Node::release_rule_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.rule_stmt) + if (node_case() == kRuleStmt) { clear_has_node(); - ::pg_query::RangeTableSample* temp = _impl_.node_.range_table_sample_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.rule_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_sample_ = nullptr; + _impl_.node_.rule_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableSample& Node::_internal_range_table_sample() const { - return _internal_has_range_table_sample() - ? *_impl_.node_.range_table_sample_ - : reinterpret_cast< ::pg_query::RangeTableSample&>(::pg_query::_RangeTableSample_default_instance_); +inline const ::pg_query::RuleStmt& Node::_internal_rule_stmt() const { + return node_case() == kRuleStmt ? *_impl_.node_.rule_stmt_ : reinterpret_cast<::pg_query::RuleStmt&>(::pg_query::_RuleStmt_default_instance_); } -inline const ::pg_query::RangeTableSample& Node::range_table_sample() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_sample) - return _internal_range_table_sample(); +inline const ::pg_query::RuleStmt& Node::rule_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.rule_stmt) + return _internal_rule_stmt(); } -inline ::pg_query::RangeTableSample* Node::unsafe_arena_release_range_table_sample() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_sample) - if (_internal_has_range_table_sample()) { +inline ::pg_query::RuleStmt* Node::unsafe_arena_release_rule_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.rule_stmt) + if (node_case() == kRuleStmt) { clear_has_node(); - ::pg_query::RangeTableSample* temp = _impl_.node_.range_table_sample_; - _impl_.node_.range_table_sample_ = nullptr; + auto* temp = _impl_.node_.rule_stmt_; + _impl_.node_.rule_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_sample(::pg_query::RangeTableSample* range_table_sample) { +inline void Node::unsafe_arena_set_allocated_rule_stmt(::pg_query::RuleStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_table_sample) { - set_has_range_table_sample(); - _impl_.node_.range_table_sample_ = range_table_sample; + if (value) { + set_has_rule_stmt(); + _impl_.node_.rule_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_sample) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.rule_stmt) } -inline ::pg_query::RangeTableSample* Node::_internal_mutable_range_table_sample() { - if (!_internal_has_range_table_sample()) { +inline ::pg_query::RuleStmt* Node::_internal_mutable_rule_stmt() { + if (node_case() != kRuleStmt) { clear_node(); - set_has_range_table_sample(); - _impl_.node_.range_table_sample_ = CreateMaybeMessage< ::pg_query::RangeTableSample >(GetArenaForAllocation()); + set_has_rule_stmt(); + _impl_.node_.rule_stmt_ = CreateMaybeMessage<::pg_query::RuleStmt>(GetArena()); } - return _impl_.node_.range_table_sample_; + return _impl_.node_.rule_stmt_; } -inline ::pg_query::RangeTableSample* Node::mutable_range_table_sample() { - ::pg_query::RangeTableSample* _msg = _internal_mutable_range_table_sample(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_sample) +inline ::pg_query::RuleStmt* Node::mutable_rule_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RuleStmt* _msg = _internal_mutable_rule_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.rule_stmt) return _msg; } -// .pg_query.RangeTableFunc range_table_func = 188 [json_name = "RangeTableFunc"]; -inline bool Node::_internal_has_range_table_func() const { - return node_case() == kRangeTableFunc; +// .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"]; +inline bool Node::has_notify_stmt() const { + return node_case() == kNotifyStmt; } -inline bool Node::has_range_table_func() const { - return _internal_has_range_table_func(); +inline bool Node::_internal_has_notify_stmt() const { + return node_case() == kNotifyStmt; } -inline void Node::set_has_range_table_func() { - _impl_._oneof_case_[0] = kRangeTableFunc; +inline void Node::set_has_notify_stmt() { + _impl_._oneof_case_[0] = kNotifyStmt; } -inline void Node::clear_range_table_func() { - if (_internal_has_range_table_func()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_table_func_; +inline void Node::clear_notify_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kNotifyStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.notify_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableFunc* Node::release_range_table_func() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func) - if (_internal_has_range_table_func()) { +inline ::pg_query::NotifyStmt* Node::release_notify_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.notify_stmt) + if (node_case() == kNotifyStmt) { clear_has_node(); - ::pg_query::RangeTableFunc* temp = _impl_.node_.range_table_func_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.notify_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_func_ = nullptr; + _impl_.node_.notify_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableFunc& Node::_internal_range_table_func() const { - return _internal_has_range_table_func() - ? *_impl_.node_.range_table_func_ - : reinterpret_cast< ::pg_query::RangeTableFunc&>(::pg_query::_RangeTableFunc_default_instance_); +inline const ::pg_query::NotifyStmt& Node::_internal_notify_stmt() const { + return node_case() == kNotifyStmt ? *_impl_.node_.notify_stmt_ : reinterpret_cast<::pg_query::NotifyStmt&>(::pg_query::_NotifyStmt_default_instance_); } -inline const ::pg_query::RangeTableFunc& Node::range_table_func() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func) - return _internal_range_table_func(); +inline const ::pg_query::NotifyStmt& Node::notify_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.notify_stmt) + return _internal_notify_stmt(); } -inline ::pg_query::RangeTableFunc* Node::unsafe_arena_release_range_table_func() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func) - if (_internal_has_range_table_func()) { +inline ::pg_query::NotifyStmt* Node::unsafe_arena_release_notify_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.notify_stmt) + if (node_case() == kNotifyStmt) { clear_has_node(); - ::pg_query::RangeTableFunc* temp = _impl_.node_.range_table_func_; - _impl_.node_.range_table_func_ = nullptr; + auto* temp = _impl_.node_.notify_stmt_; + _impl_.node_.notify_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_func(::pg_query::RangeTableFunc* range_table_func) { +inline void Node::unsafe_arena_set_allocated_notify_stmt(::pg_query::NotifyStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_table_func) { - set_has_range_table_func(); - _impl_.node_.range_table_func_ = range_table_func; + if (value) { + set_has_notify_stmt(); + _impl_.node_.notify_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.notify_stmt) } -inline ::pg_query::RangeTableFunc* Node::_internal_mutable_range_table_func() { - if (!_internal_has_range_table_func()) { +inline ::pg_query::NotifyStmt* Node::_internal_mutable_notify_stmt() { + if (node_case() != kNotifyStmt) { clear_node(); - set_has_range_table_func(); - _impl_.node_.range_table_func_ = CreateMaybeMessage< ::pg_query::RangeTableFunc >(GetArenaForAllocation()); + set_has_notify_stmt(); + _impl_.node_.notify_stmt_ = CreateMaybeMessage<::pg_query::NotifyStmt>(GetArena()); } - return _impl_.node_.range_table_func_; + return _impl_.node_.notify_stmt_; } -inline ::pg_query::RangeTableFunc* Node::mutable_range_table_func() { - ::pg_query::RangeTableFunc* _msg = _internal_mutable_range_table_func(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func) +inline ::pg_query::NotifyStmt* Node::mutable_notify_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::NotifyStmt* _msg = _internal_mutable_notify_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.notify_stmt) return _msg; } -// .pg_query.RangeTableFuncCol range_table_func_col = 189 [json_name = "RangeTableFuncCol"]; -inline bool Node::_internal_has_range_table_func_col() const { - return node_case() == kRangeTableFuncCol; +// .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"]; +inline bool Node::has_listen_stmt() const { + return node_case() == kListenStmt; } -inline bool Node::has_range_table_func_col() const { - return _internal_has_range_table_func_col(); +inline bool Node::_internal_has_listen_stmt() const { + return node_case() == kListenStmt; } -inline void Node::set_has_range_table_func_col() { - _impl_._oneof_case_[0] = kRangeTableFuncCol; +inline void Node::set_has_listen_stmt() { + _impl_._oneof_case_[0] = kListenStmt; } -inline void Node::clear_range_table_func_col() { - if (_internal_has_range_table_func_col()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_table_func_col_; +inline void Node::clear_listen_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kListenStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.listen_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTableFuncCol* Node::release_range_table_func_col() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_table_func_col) - if (_internal_has_range_table_func_col()) { +inline ::pg_query::ListenStmt* Node::release_listen_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.listen_stmt) + if (node_case() == kListenStmt) { clear_has_node(); - ::pg_query::RangeTableFuncCol* temp = _impl_.node_.range_table_func_col_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.listen_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_table_func_col_ = nullptr; + _impl_.node_.listen_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTableFuncCol& Node::_internal_range_table_func_col() const { - return _internal_has_range_table_func_col() - ? *_impl_.node_.range_table_func_col_ - : reinterpret_cast< ::pg_query::RangeTableFuncCol&>(::pg_query::_RangeTableFuncCol_default_instance_); +inline const ::pg_query::ListenStmt& Node::_internal_listen_stmt() const { + return node_case() == kListenStmt ? *_impl_.node_.listen_stmt_ : reinterpret_cast<::pg_query::ListenStmt&>(::pg_query::_ListenStmt_default_instance_); } -inline const ::pg_query::RangeTableFuncCol& Node::range_table_func_col() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_table_func_col) - return _internal_range_table_func_col(); +inline const ::pg_query::ListenStmt& Node::listen_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.listen_stmt) + return _internal_listen_stmt(); } -inline ::pg_query::RangeTableFuncCol* Node::unsafe_arena_release_range_table_func_col() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_table_func_col) - if (_internal_has_range_table_func_col()) { +inline ::pg_query::ListenStmt* Node::unsafe_arena_release_listen_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.listen_stmt) + if (node_case() == kListenStmt) { clear_has_node(); - ::pg_query::RangeTableFuncCol* temp = _impl_.node_.range_table_func_col_; - _impl_.node_.range_table_func_col_ = nullptr; + auto* temp = _impl_.node_.listen_stmt_; + _impl_.node_.listen_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* range_table_func_col) { +inline void Node::unsafe_arena_set_allocated_listen_stmt(::pg_query::ListenStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_table_func_col) { - set_has_range_table_func_col(); - _impl_.node_.range_table_func_col_ = range_table_func_col; + if (value) { + set_has_listen_stmt(); + _impl_.node_.listen_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_table_func_col) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.listen_stmt) } -inline ::pg_query::RangeTableFuncCol* Node::_internal_mutable_range_table_func_col() { - if (!_internal_has_range_table_func_col()) { +inline ::pg_query::ListenStmt* Node::_internal_mutable_listen_stmt() { + if (node_case() != kListenStmt) { clear_node(); - set_has_range_table_func_col(); - _impl_.node_.range_table_func_col_ = CreateMaybeMessage< ::pg_query::RangeTableFuncCol >(GetArenaForAllocation()); + set_has_listen_stmt(); + _impl_.node_.listen_stmt_ = CreateMaybeMessage<::pg_query::ListenStmt>(GetArena()); } - return _impl_.node_.range_table_func_col_; + return _impl_.node_.listen_stmt_; } -inline ::pg_query::RangeTableFuncCol* Node::mutable_range_table_func_col() { - ::pg_query::RangeTableFuncCol* _msg = _internal_mutable_range_table_func_col(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_table_func_col) +inline ::pg_query::ListenStmt* Node::mutable_listen_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ListenStmt* _msg = _internal_mutable_listen_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.listen_stmt) return _msg; } -// .pg_query.TypeName type_name = 190 [json_name = "TypeName"]; -inline bool Node::_internal_has_type_name() const { - return node_case() == kTypeName; +// .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"]; +inline bool Node::has_unlisten_stmt() const { + return node_case() == kUnlistenStmt; } -inline bool Node::has_type_name() const { - return _internal_has_type_name(); +inline bool Node::_internal_has_unlisten_stmt() const { + return node_case() == kUnlistenStmt; } -inline void Node::set_has_type_name() { - _impl_._oneof_case_[0] = kTypeName; +inline void Node::set_has_unlisten_stmt() { + _impl_._oneof_case_[0] = kUnlistenStmt; } -inline void Node::clear_type_name() { - if (_internal_has_type_name()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.type_name_; +inline void Node::clear_unlisten_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kUnlistenStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.unlisten_stmt_; } clear_has_node(); } } -inline ::pg_query::TypeName* Node::release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.Node.type_name) - if (_internal_has_type_name()) { +inline ::pg_query::UnlistenStmt* Node::release_unlisten_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.unlisten_stmt) + if (node_case() == kUnlistenStmt) { clear_has_node(); - ::pg_query::TypeName* temp = _impl_.node_.type_name_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.unlisten_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.type_name_ = nullptr; + _impl_.node_.unlisten_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TypeName& Node::_internal_type_name() const { - return _internal_has_type_name() - ? *_impl_.node_.type_name_ - : reinterpret_cast< ::pg_query::TypeName&>(::pg_query::_TypeName_default_instance_); +inline const ::pg_query::UnlistenStmt& Node::_internal_unlisten_stmt() const { + return node_case() == kUnlistenStmt ? *_impl_.node_.unlisten_stmt_ : reinterpret_cast<::pg_query::UnlistenStmt&>(::pg_query::_UnlistenStmt_default_instance_); } -inline const ::pg_query::TypeName& Node::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.Node.type_name) - return _internal_type_name(); +inline const ::pg_query::UnlistenStmt& Node::unlisten_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.unlisten_stmt) + return _internal_unlisten_stmt(); } -inline ::pg_query::TypeName* Node::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.type_name) - if (_internal_has_type_name()) { +inline ::pg_query::UnlistenStmt* Node::unsafe_arena_release_unlisten_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.unlisten_stmt) + if (node_case() == kUnlistenStmt) { clear_has_node(); - ::pg_query::TypeName* temp = _impl_.node_.type_name_; - _impl_.node_.type_name_ = nullptr; + auto* temp = _impl_.node_.unlisten_stmt_; + _impl_.node_.unlisten_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* type_name) { +inline void Node::unsafe_arena_set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (type_name) { - set_has_type_name(); - _impl_.node_.type_name_ = type_name; + if (value) { + set_has_unlisten_stmt(); + _impl_.node_.unlisten_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.unlisten_stmt) } -inline ::pg_query::TypeName* Node::_internal_mutable_type_name() { - if (!_internal_has_type_name()) { +inline ::pg_query::UnlistenStmt* Node::_internal_mutable_unlisten_stmt() { + if (node_case() != kUnlistenStmt) { clear_node(); - set_has_type_name(); - _impl_.node_.type_name_ = CreateMaybeMessage< ::pg_query::TypeName >(GetArenaForAllocation()); + set_has_unlisten_stmt(); + _impl_.node_.unlisten_stmt_ = CreateMaybeMessage<::pg_query::UnlistenStmt>(GetArena()); } - return _impl_.node_.type_name_; + return _impl_.node_.unlisten_stmt_; } -inline ::pg_query::TypeName* Node::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.type_name) +inline ::pg_query::UnlistenStmt* Node::mutable_unlisten_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::UnlistenStmt* _msg = _internal_mutable_unlisten_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.unlisten_stmt) return _msg; } -// .pg_query.ColumnDef column_def = 191 [json_name = "ColumnDef"]; -inline bool Node::_internal_has_column_def() const { - return node_case() == kColumnDef; +// .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"]; +inline bool Node::has_transaction_stmt() const { + return node_case() == kTransactionStmt; } -inline bool Node::has_column_def() const { - return _internal_has_column_def(); +inline bool Node::_internal_has_transaction_stmt() const { + return node_case() == kTransactionStmt; } -inline void Node::set_has_column_def() { - _impl_._oneof_case_[0] = kColumnDef; +inline void Node::set_has_transaction_stmt() { + _impl_._oneof_case_[0] = kTransactionStmt; } -inline void Node::clear_column_def() { - if (_internal_has_column_def()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.column_def_; +inline void Node::clear_transaction_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kTransactionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.transaction_stmt_; } clear_has_node(); } } -inline ::pg_query::ColumnDef* Node::release_column_def() { - // @@protoc_insertion_point(field_release:pg_query.Node.column_def) - if (_internal_has_column_def()) { +inline ::pg_query::TransactionStmt* Node::release_transaction_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.transaction_stmt) + if (node_case() == kTransactionStmt) { clear_has_node(); - ::pg_query::ColumnDef* temp = _impl_.node_.column_def_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.transaction_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.column_def_ = nullptr; + _impl_.node_.transaction_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ColumnDef& Node::_internal_column_def() const { - return _internal_has_column_def() - ? *_impl_.node_.column_def_ - : reinterpret_cast< ::pg_query::ColumnDef&>(::pg_query::_ColumnDef_default_instance_); +inline const ::pg_query::TransactionStmt& Node::_internal_transaction_stmt() const { + return node_case() == kTransactionStmt ? *_impl_.node_.transaction_stmt_ : reinterpret_cast<::pg_query::TransactionStmt&>(::pg_query::_TransactionStmt_default_instance_); } -inline const ::pg_query::ColumnDef& Node::column_def() const { - // @@protoc_insertion_point(field_get:pg_query.Node.column_def) - return _internal_column_def(); +inline const ::pg_query::TransactionStmt& Node::transaction_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.transaction_stmt) + return _internal_transaction_stmt(); } -inline ::pg_query::ColumnDef* Node::unsafe_arena_release_column_def() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.column_def) - if (_internal_has_column_def()) { +inline ::pg_query::TransactionStmt* Node::unsafe_arena_release_transaction_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.transaction_stmt) + if (node_case() == kTransactionStmt) { clear_has_node(); - ::pg_query::ColumnDef* temp = _impl_.node_.column_def_; - _impl_.node_.column_def_ = nullptr; + auto* temp = _impl_.node_.transaction_stmt_; + _impl_.node_.transaction_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_column_def(::pg_query::ColumnDef* column_def) { +inline void Node::unsafe_arena_set_allocated_transaction_stmt(::pg_query::TransactionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (column_def) { - set_has_column_def(); - _impl_.node_.column_def_ = column_def; + if (value) { + set_has_transaction_stmt(); + _impl_.node_.transaction_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.column_def) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.transaction_stmt) } -inline ::pg_query::ColumnDef* Node::_internal_mutable_column_def() { - if (!_internal_has_column_def()) { +inline ::pg_query::TransactionStmt* Node::_internal_mutable_transaction_stmt() { + if (node_case() != kTransactionStmt) { clear_node(); - set_has_column_def(); - _impl_.node_.column_def_ = CreateMaybeMessage< ::pg_query::ColumnDef >(GetArenaForAllocation()); + set_has_transaction_stmt(); + _impl_.node_.transaction_stmt_ = CreateMaybeMessage<::pg_query::TransactionStmt>(GetArena()); } - return _impl_.node_.column_def_; + return _impl_.node_.transaction_stmt_; } -inline ::pg_query::ColumnDef* Node::mutable_column_def() { - ::pg_query::ColumnDef* _msg = _internal_mutable_column_def(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.column_def) +inline ::pg_query::TransactionStmt* Node::mutable_transaction_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TransactionStmt* _msg = _internal_mutable_transaction_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.transaction_stmt) return _msg; } -// .pg_query.IndexElem index_elem = 192 [json_name = "IndexElem"]; -inline bool Node::_internal_has_index_elem() const { - return node_case() == kIndexElem; +// .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"]; +inline bool Node::has_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt; } -inline bool Node::has_index_elem() const { - return _internal_has_index_elem(); +inline bool Node::_internal_has_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt; } -inline void Node::set_has_index_elem() { - _impl_._oneof_case_[0] = kIndexElem; +inline void Node::set_has_composite_type_stmt() { + _impl_._oneof_case_[0] = kCompositeTypeStmt; } -inline void Node::clear_index_elem() { - if (_internal_has_index_elem()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.index_elem_; +inline void Node::clear_composite_type_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCompositeTypeStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.composite_type_stmt_; } clear_has_node(); } } -inline ::pg_query::IndexElem* Node::release_index_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.index_elem) - if (_internal_has_index_elem()) { +inline ::pg_query::CompositeTypeStmt* Node::release_composite_type_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.composite_type_stmt) + if (node_case() == kCompositeTypeStmt) { clear_has_node(); - ::pg_query::IndexElem* temp = _impl_.node_.index_elem_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.composite_type_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.index_elem_ = nullptr; + _impl_.node_.composite_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::IndexElem& Node::_internal_index_elem() const { - return _internal_has_index_elem() - ? *_impl_.node_.index_elem_ - : reinterpret_cast< ::pg_query::IndexElem&>(::pg_query::_IndexElem_default_instance_); +inline const ::pg_query::CompositeTypeStmt& Node::_internal_composite_type_stmt() const { + return node_case() == kCompositeTypeStmt ? *_impl_.node_.composite_type_stmt_ : reinterpret_cast<::pg_query::CompositeTypeStmt&>(::pg_query::_CompositeTypeStmt_default_instance_); } -inline const ::pg_query::IndexElem& Node::index_elem() const { - // @@protoc_insertion_point(field_get:pg_query.Node.index_elem) - return _internal_index_elem(); +inline const ::pg_query::CompositeTypeStmt& Node::composite_type_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.composite_type_stmt) + return _internal_composite_type_stmt(); } -inline ::pg_query::IndexElem* Node::unsafe_arena_release_index_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.index_elem) - if (_internal_has_index_elem()) { +inline ::pg_query::CompositeTypeStmt* Node::unsafe_arena_release_composite_type_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.composite_type_stmt) + if (node_case() == kCompositeTypeStmt) { clear_has_node(); - ::pg_query::IndexElem* temp = _impl_.node_.index_elem_; - _impl_.node_.index_elem_ = nullptr; + auto* temp = _impl_.node_.composite_type_stmt_; + _impl_.node_.composite_type_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_index_elem(::pg_query::IndexElem* index_elem) { +inline void Node::unsafe_arena_set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (index_elem) { - set_has_index_elem(); - _impl_.node_.index_elem_ = index_elem; + if (value) { + set_has_composite_type_stmt(); + _impl_.node_.composite_type_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.index_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.composite_type_stmt) } -inline ::pg_query::IndexElem* Node::_internal_mutable_index_elem() { - if (!_internal_has_index_elem()) { +inline ::pg_query::CompositeTypeStmt* Node::_internal_mutable_composite_type_stmt() { + if (node_case() != kCompositeTypeStmt) { clear_node(); - set_has_index_elem(); - _impl_.node_.index_elem_ = CreateMaybeMessage< ::pg_query::IndexElem >(GetArenaForAllocation()); + set_has_composite_type_stmt(); + _impl_.node_.composite_type_stmt_ = CreateMaybeMessage<::pg_query::CompositeTypeStmt>(GetArena()); } - return _impl_.node_.index_elem_; + return _impl_.node_.composite_type_stmt_; } -inline ::pg_query::IndexElem* Node::mutable_index_elem() { - ::pg_query::IndexElem* _msg = _internal_mutable_index_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.index_elem) +inline ::pg_query::CompositeTypeStmt* Node::mutable_composite_type_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CompositeTypeStmt* _msg = _internal_mutable_composite_type_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.composite_type_stmt) return _msg; } -// .pg_query.StatsElem stats_elem = 193 [json_name = "StatsElem"]; -inline bool Node::_internal_has_stats_elem() const { - return node_case() == kStatsElem; +// .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"]; +inline bool Node::has_create_enum_stmt() const { + return node_case() == kCreateEnumStmt; } -inline bool Node::has_stats_elem() const { - return _internal_has_stats_elem(); +inline bool Node::_internal_has_create_enum_stmt() const { + return node_case() == kCreateEnumStmt; } -inline void Node::set_has_stats_elem() { - _impl_._oneof_case_[0] = kStatsElem; +inline void Node::set_has_create_enum_stmt() { + _impl_._oneof_case_[0] = kCreateEnumStmt; } -inline void Node::clear_stats_elem() { - if (_internal_has_stats_elem()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.stats_elem_; +inline void Node::clear_create_enum_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateEnumStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_enum_stmt_; } clear_has_node(); } } -inline ::pg_query::StatsElem* Node::release_stats_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.stats_elem) - if (_internal_has_stats_elem()) { +inline ::pg_query::CreateEnumStmt* Node::release_create_enum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_enum_stmt) + if (node_case() == kCreateEnumStmt) { clear_has_node(); - ::pg_query::StatsElem* temp = _impl_.node_.stats_elem_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_enum_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.stats_elem_ = nullptr; + _impl_.node_.create_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::StatsElem& Node::_internal_stats_elem() const { - return _internal_has_stats_elem() - ? *_impl_.node_.stats_elem_ - : reinterpret_cast< ::pg_query::StatsElem&>(::pg_query::_StatsElem_default_instance_); +inline const ::pg_query::CreateEnumStmt& Node::_internal_create_enum_stmt() const { + return node_case() == kCreateEnumStmt ? *_impl_.node_.create_enum_stmt_ : reinterpret_cast<::pg_query::CreateEnumStmt&>(::pg_query::_CreateEnumStmt_default_instance_); } -inline const ::pg_query::StatsElem& Node::stats_elem() const { - // @@protoc_insertion_point(field_get:pg_query.Node.stats_elem) - return _internal_stats_elem(); +inline const ::pg_query::CreateEnumStmt& Node::create_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_enum_stmt) + return _internal_create_enum_stmt(); } -inline ::pg_query::StatsElem* Node::unsafe_arena_release_stats_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.stats_elem) - if (_internal_has_stats_elem()) { +inline ::pg_query::CreateEnumStmt* Node::unsafe_arena_release_create_enum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_enum_stmt) + if (node_case() == kCreateEnumStmt) { clear_has_node(); - ::pg_query::StatsElem* temp = _impl_.node_.stats_elem_; - _impl_.node_.stats_elem_ = nullptr; + auto* temp = _impl_.node_.create_enum_stmt_; + _impl_.node_.create_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_stats_elem(::pg_query::StatsElem* stats_elem) { +inline void Node::unsafe_arena_set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (stats_elem) { - set_has_stats_elem(); - _impl_.node_.stats_elem_ = stats_elem; + if (value) { + set_has_create_enum_stmt(); + _impl_.node_.create_enum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.stats_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_enum_stmt) } -inline ::pg_query::StatsElem* Node::_internal_mutable_stats_elem() { - if (!_internal_has_stats_elem()) { +inline ::pg_query::CreateEnumStmt* Node::_internal_mutable_create_enum_stmt() { + if (node_case() != kCreateEnumStmt) { clear_node(); - set_has_stats_elem(); - _impl_.node_.stats_elem_ = CreateMaybeMessage< ::pg_query::StatsElem >(GetArenaForAllocation()); + set_has_create_enum_stmt(); + _impl_.node_.create_enum_stmt_ = CreateMaybeMessage<::pg_query::CreateEnumStmt>(GetArena()); } - return _impl_.node_.stats_elem_; + return _impl_.node_.create_enum_stmt_; } -inline ::pg_query::StatsElem* Node::mutable_stats_elem() { - ::pg_query::StatsElem* _msg = _internal_mutable_stats_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.stats_elem) +inline ::pg_query::CreateEnumStmt* Node::mutable_create_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateEnumStmt* _msg = _internal_mutable_create_enum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_enum_stmt) return _msg; } -// .pg_query.Constraint constraint = 194 [json_name = "Constraint"]; -inline bool Node::_internal_has_constraint() const { - return node_case() == kConstraint; +// .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"]; +inline bool Node::has_create_range_stmt() const { + return node_case() == kCreateRangeStmt; } -inline bool Node::has_constraint() const { - return _internal_has_constraint(); +inline bool Node::_internal_has_create_range_stmt() const { + return node_case() == kCreateRangeStmt; } -inline void Node::set_has_constraint() { - _impl_._oneof_case_[0] = kConstraint; +inline void Node::set_has_create_range_stmt() { + _impl_._oneof_case_[0] = kCreateRangeStmt; } -inline void Node::clear_constraint() { - if (_internal_has_constraint()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.constraint_; +inline void Node::clear_create_range_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateRangeStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_range_stmt_; } clear_has_node(); } } -inline ::pg_query::Constraint* Node::release_constraint() { - // @@protoc_insertion_point(field_release:pg_query.Node.constraint) - if (_internal_has_constraint()) { +inline ::pg_query::CreateRangeStmt* Node::release_create_range_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_range_stmt) + if (node_case() == kCreateRangeStmt) { clear_has_node(); - ::pg_query::Constraint* temp = _impl_.node_.constraint_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_range_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.constraint_ = nullptr; + _impl_.node_.create_range_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::Constraint& Node::_internal_constraint() const { - return _internal_has_constraint() - ? *_impl_.node_.constraint_ - : reinterpret_cast< ::pg_query::Constraint&>(::pg_query::_Constraint_default_instance_); +inline const ::pg_query::CreateRangeStmt& Node::_internal_create_range_stmt() const { + return node_case() == kCreateRangeStmt ? *_impl_.node_.create_range_stmt_ : reinterpret_cast<::pg_query::CreateRangeStmt&>(::pg_query::_CreateRangeStmt_default_instance_); } -inline const ::pg_query::Constraint& Node::constraint() const { - // @@protoc_insertion_point(field_get:pg_query.Node.constraint) - return _internal_constraint(); +inline const ::pg_query::CreateRangeStmt& Node::create_range_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_range_stmt) + return _internal_create_range_stmt(); } -inline ::pg_query::Constraint* Node::unsafe_arena_release_constraint() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraint) - if (_internal_has_constraint()) { +inline ::pg_query::CreateRangeStmt* Node::unsafe_arena_release_create_range_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_range_stmt) + if (node_case() == kCreateRangeStmt) { clear_has_node(); - ::pg_query::Constraint* temp = _impl_.node_.constraint_; - _impl_.node_.constraint_ = nullptr; + auto* temp = _impl_.node_.create_range_stmt_; + _impl_.node_.create_range_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_constraint(::pg_query::Constraint* constraint) { +inline void Node::unsafe_arena_set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (constraint) { - set_has_constraint(); - _impl_.node_.constraint_ = constraint; + if (value) { + set_has_create_range_stmt(); + _impl_.node_.create_range_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraint) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_range_stmt) } -inline ::pg_query::Constraint* Node::_internal_mutable_constraint() { - if (!_internal_has_constraint()) { +inline ::pg_query::CreateRangeStmt* Node::_internal_mutable_create_range_stmt() { + if (node_case() != kCreateRangeStmt) { clear_node(); - set_has_constraint(); - _impl_.node_.constraint_ = CreateMaybeMessage< ::pg_query::Constraint >(GetArenaForAllocation()); + set_has_create_range_stmt(); + _impl_.node_.create_range_stmt_ = CreateMaybeMessage<::pg_query::CreateRangeStmt>(GetArena()); } - return _impl_.node_.constraint_; + return _impl_.node_.create_range_stmt_; } -inline ::pg_query::Constraint* Node::mutable_constraint() { - ::pg_query::Constraint* _msg = _internal_mutable_constraint(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.constraint) +inline ::pg_query::CreateRangeStmt* Node::mutable_create_range_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateRangeStmt* _msg = _internal_mutable_create_range_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_range_stmt) return _msg; } -// .pg_query.DefElem def_elem = 195 [json_name = "DefElem"]; -inline bool Node::_internal_has_def_elem() const { - return node_case() == kDefElem; +// .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"]; +inline bool Node::has_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt; } -inline bool Node::has_def_elem() const { - return _internal_has_def_elem(); +inline bool Node::_internal_has_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt; } -inline void Node::set_has_def_elem() { - _impl_._oneof_case_[0] = kDefElem; +inline void Node::set_has_alter_enum_stmt() { + _impl_._oneof_case_[0] = kAlterEnumStmt; } -inline void Node::clear_def_elem() { - if (_internal_has_def_elem()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.def_elem_; +inline void Node::clear_alter_enum_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterEnumStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_enum_stmt_; } clear_has_node(); } } -inline ::pg_query::DefElem* Node::release_def_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.def_elem) - if (_internal_has_def_elem()) { +inline ::pg_query::AlterEnumStmt* Node::release_alter_enum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_enum_stmt) + if (node_case() == kAlterEnumStmt) { clear_has_node(); - ::pg_query::DefElem* temp = _impl_.node_.def_elem_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_enum_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.def_elem_ = nullptr; + _impl_.node_.alter_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::DefElem& Node::_internal_def_elem() const { - return _internal_has_def_elem() - ? *_impl_.node_.def_elem_ - : reinterpret_cast< ::pg_query::DefElem&>(::pg_query::_DefElem_default_instance_); +inline const ::pg_query::AlterEnumStmt& Node::_internal_alter_enum_stmt() const { + return node_case() == kAlterEnumStmt ? *_impl_.node_.alter_enum_stmt_ : reinterpret_cast<::pg_query::AlterEnumStmt&>(::pg_query::_AlterEnumStmt_default_instance_); } -inline const ::pg_query::DefElem& Node::def_elem() const { - // @@protoc_insertion_point(field_get:pg_query.Node.def_elem) - return _internal_def_elem(); +inline const ::pg_query::AlterEnumStmt& Node::alter_enum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_enum_stmt) + return _internal_alter_enum_stmt(); } -inline ::pg_query::DefElem* Node::unsafe_arena_release_def_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.def_elem) - if (_internal_has_def_elem()) { +inline ::pg_query::AlterEnumStmt* Node::unsafe_arena_release_alter_enum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_enum_stmt) + if (node_case() == kAlterEnumStmt) { clear_has_node(); - ::pg_query::DefElem* temp = _impl_.node_.def_elem_; - _impl_.node_.def_elem_ = nullptr; + auto* temp = _impl_.node_.alter_enum_stmt_; + _impl_.node_.alter_enum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_def_elem(::pg_query::DefElem* def_elem) { +inline void Node::unsafe_arena_set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (def_elem) { - set_has_def_elem(); - _impl_.node_.def_elem_ = def_elem; + if (value) { + set_has_alter_enum_stmt(); + _impl_.node_.alter_enum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.def_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_enum_stmt) } -inline ::pg_query::DefElem* Node::_internal_mutable_def_elem() { - if (!_internal_has_def_elem()) { +inline ::pg_query::AlterEnumStmt* Node::_internal_mutable_alter_enum_stmt() { + if (node_case() != kAlterEnumStmt) { clear_node(); - set_has_def_elem(); - _impl_.node_.def_elem_ = CreateMaybeMessage< ::pg_query::DefElem >(GetArenaForAllocation()); + set_has_alter_enum_stmt(); + _impl_.node_.alter_enum_stmt_ = CreateMaybeMessage<::pg_query::AlterEnumStmt>(GetArena()); } - return _impl_.node_.def_elem_; + return _impl_.node_.alter_enum_stmt_; } -inline ::pg_query::DefElem* Node::mutable_def_elem() { - ::pg_query::DefElem* _msg = _internal_mutable_def_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.def_elem) +inline ::pg_query::AlterEnumStmt* Node::mutable_alter_enum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterEnumStmt* _msg = _internal_mutable_alter_enum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_enum_stmt) return _msg; } -// .pg_query.RangeTblEntry range_tbl_entry = 196 [json_name = "RangeTblEntry"]; -inline bool Node::_internal_has_range_tbl_entry() const { - return node_case() == kRangeTblEntry; +// .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"]; +inline bool Node::has_view_stmt() const { + return node_case() == kViewStmt; } -inline bool Node::has_range_tbl_entry() const { - return _internal_has_range_tbl_entry(); +inline bool Node::_internal_has_view_stmt() const { + return node_case() == kViewStmt; } -inline void Node::set_has_range_tbl_entry() { - _impl_._oneof_case_[0] = kRangeTblEntry; +inline void Node::set_has_view_stmt() { + _impl_._oneof_case_[0] = kViewStmt; } -inline void Node::clear_range_tbl_entry() { - if (_internal_has_range_tbl_entry()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_tbl_entry_; +inline void Node::clear_view_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kViewStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.view_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTblEntry* Node::release_range_tbl_entry() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_entry) - if (_internal_has_range_tbl_entry()) { +inline ::pg_query::ViewStmt* Node::release_view_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.view_stmt) + if (node_case() == kViewStmt) { clear_has_node(); - ::pg_query::RangeTblEntry* temp = _impl_.node_.range_tbl_entry_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.view_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_entry_ = nullptr; + _impl_.node_.view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblEntry& Node::_internal_range_tbl_entry() const { - return _internal_has_range_tbl_entry() - ? *_impl_.node_.range_tbl_entry_ - : reinterpret_cast< ::pg_query::RangeTblEntry&>(::pg_query::_RangeTblEntry_default_instance_); +inline const ::pg_query::ViewStmt& Node::_internal_view_stmt() const { + return node_case() == kViewStmt ? *_impl_.node_.view_stmt_ : reinterpret_cast<::pg_query::ViewStmt&>(::pg_query::_ViewStmt_default_instance_); } -inline const ::pg_query::RangeTblEntry& Node::range_tbl_entry() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_entry) - return _internal_range_tbl_entry(); +inline const ::pg_query::ViewStmt& Node::view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.view_stmt) + return _internal_view_stmt(); } -inline ::pg_query::RangeTblEntry* Node::unsafe_arena_release_range_tbl_entry() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_entry) - if (_internal_has_range_tbl_entry()) { +inline ::pg_query::ViewStmt* Node::unsafe_arena_release_view_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.view_stmt) + if (node_case() == kViewStmt) { clear_has_node(); - ::pg_query::RangeTblEntry* temp = _impl_.node_.range_tbl_entry_; - _impl_.node_.range_tbl_entry_ = nullptr; + auto* temp = _impl_.node_.view_stmt_; + _impl_.node_.view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* range_tbl_entry) { +inline void Node::unsafe_arena_set_allocated_view_stmt(::pg_query::ViewStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_tbl_entry) { - set_has_range_tbl_entry(); - _impl_.node_.range_tbl_entry_ = range_tbl_entry; + if (value) { + set_has_view_stmt(); + _impl_.node_.view_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_entry) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.view_stmt) } -inline ::pg_query::RangeTblEntry* Node::_internal_mutable_range_tbl_entry() { - if (!_internal_has_range_tbl_entry()) { +inline ::pg_query::ViewStmt* Node::_internal_mutable_view_stmt() { + if (node_case() != kViewStmt) { clear_node(); - set_has_range_tbl_entry(); - _impl_.node_.range_tbl_entry_ = CreateMaybeMessage< ::pg_query::RangeTblEntry >(GetArenaForAllocation()); + set_has_view_stmt(); + _impl_.node_.view_stmt_ = CreateMaybeMessage<::pg_query::ViewStmt>(GetArena()); } - return _impl_.node_.range_tbl_entry_; + return _impl_.node_.view_stmt_; } -inline ::pg_query::RangeTblEntry* Node::mutable_range_tbl_entry() { - ::pg_query::RangeTblEntry* _msg = _internal_mutable_range_tbl_entry(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_entry) +inline ::pg_query::ViewStmt* Node::mutable_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ViewStmt* _msg = _internal_mutable_view_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.view_stmt) return _msg; } -// .pg_query.RangeTblFunction range_tbl_function = 197 [json_name = "RangeTblFunction"]; -inline bool Node::_internal_has_range_tbl_function() const { - return node_case() == kRangeTblFunction; +// .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"]; +inline bool Node::has_load_stmt() const { + return node_case() == kLoadStmt; } -inline bool Node::has_range_tbl_function() const { - return _internal_has_range_tbl_function(); +inline bool Node::_internal_has_load_stmt() const { + return node_case() == kLoadStmt; } -inline void Node::set_has_range_tbl_function() { - _impl_._oneof_case_[0] = kRangeTblFunction; +inline void Node::set_has_load_stmt() { + _impl_._oneof_case_[0] = kLoadStmt; } -inline void Node::clear_range_tbl_function() { - if (_internal_has_range_tbl_function()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.range_tbl_function_; +inline void Node::clear_load_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kLoadStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.load_stmt_; } clear_has_node(); } } -inline ::pg_query::RangeTblFunction* Node::release_range_tbl_function() { - // @@protoc_insertion_point(field_release:pg_query.Node.range_tbl_function) - if (_internal_has_range_tbl_function()) { +inline ::pg_query::LoadStmt* Node::release_load_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.load_stmt) + if (node_case() == kLoadStmt) { clear_has_node(); - ::pg_query::RangeTblFunction* temp = _impl_.node_.range_tbl_function_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.load_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.range_tbl_function_ = nullptr; + _impl_.node_.load_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RangeTblFunction& Node::_internal_range_tbl_function() const { - return _internal_has_range_tbl_function() - ? *_impl_.node_.range_tbl_function_ - : reinterpret_cast< ::pg_query::RangeTblFunction&>(::pg_query::_RangeTblFunction_default_instance_); +inline const ::pg_query::LoadStmt& Node::_internal_load_stmt() const { + return node_case() == kLoadStmt ? *_impl_.node_.load_stmt_ : reinterpret_cast<::pg_query::LoadStmt&>(::pg_query::_LoadStmt_default_instance_); } -inline const ::pg_query::RangeTblFunction& Node::range_tbl_function() const { - // @@protoc_insertion_point(field_get:pg_query.Node.range_tbl_function) - return _internal_range_tbl_function(); +inline const ::pg_query::LoadStmt& Node::load_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.load_stmt) + return _internal_load_stmt(); } -inline ::pg_query::RangeTblFunction* Node::unsafe_arena_release_range_tbl_function() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.range_tbl_function) - if (_internal_has_range_tbl_function()) { +inline ::pg_query::LoadStmt* Node::unsafe_arena_release_load_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.load_stmt) + if (node_case() == kLoadStmt) { clear_has_node(); - ::pg_query::RangeTblFunction* temp = _impl_.node_.range_tbl_function_; - _impl_.node_.range_tbl_function_ = nullptr; + auto* temp = _impl_.node_.load_stmt_; + _impl_.node_.load_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_range_tbl_function(::pg_query::RangeTblFunction* range_tbl_function) { +inline void Node::unsafe_arena_set_allocated_load_stmt(::pg_query::LoadStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (range_tbl_function) { - set_has_range_tbl_function(); - _impl_.node_.range_tbl_function_ = range_tbl_function; + if (value) { + set_has_load_stmt(); + _impl_.node_.load_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.range_tbl_function) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.load_stmt) } -inline ::pg_query::RangeTblFunction* Node::_internal_mutable_range_tbl_function() { - if (!_internal_has_range_tbl_function()) { +inline ::pg_query::LoadStmt* Node::_internal_mutable_load_stmt() { + if (node_case() != kLoadStmt) { clear_node(); - set_has_range_tbl_function(); - _impl_.node_.range_tbl_function_ = CreateMaybeMessage< ::pg_query::RangeTblFunction >(GetArenaForAllocation()); + set_has_load_stmt(); + _impl_.node_.load_stmt_ = CreateMaybeMessage<::pg_query::LoadStmt>(GetArena()); } - return _impl_.node_.range_tbl_function_; + return _impl_.node_.load_stmt_; } -inline ::pg_query::RangeTblFunction* Node::mutable_range_tbl_function() { - ::pg_query::RangeTblFunction* _msg = _internal_mutable_range_tbl_function(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.range_tbl_function) +inline ::pg_query::LoadStmt* Node::mutable_load_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LoadStmt* _msg = _internal_mutable_load_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.load_stmt) return _msg; } -// .pg_query.TableSampleClause table_sample_clause = 198 [json_name = "TableSampleClause"]; -inline bool Node::_internal_has_table_sample_clause() const { - return node_case() == kTableSampleClause; +// .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"]; +inline bool Node::has_createdb_stmt() const { + return node_case() == kCreatedbStmt; } -inline bool Node::has_table_sample_clause() const { - return _internal_has_table_sample_clause(); +inline bool Node::_internal_has_createdb_stmt() const { + return node_case() == kCreatedbStmt; } -inline void Node::set_has_table_sample_clause() { - _impl_._oneof_case_[0] = kTableSampleClause; +inline void Node::set_has_createdb_stmt() { + _impl_._oneof_case_[0] = kCreatedbStmt; } -inline void Node::clear_table_sample_clause() { - if (_internal_has_table_sample_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.table_sample_clause_; +inline void Node::clear_createdb_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreatedbStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.createdb_stmt_; } clear_has_node(); } } -inline ::pg_query::TableSampleClause* Node::release_table_sample_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_sample_clause) - if (_internal_has_table_sample_clause()) { +inline ::pg_query::CreatedbStmt* Node::release_createdb_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.createdb_stmt) + if (node_case() == kCreatedbStmt) { clear_has_node(); - ::pg_query::TableSampleClause* temp = _impl_.node_.table_sample_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.createdb_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_sample_clause_ = nullptr; + _impl_.node_.createdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableSampleClause& Node::_internal_table_sample_clause() const { - return _internal_has_table_sample_clause() - ? *_impl_.node_.table_sample_clause_ - : reinterpret_cast< ::pg_query::TableSampleClause&>(::pg_query::_TableSampleClause_default_instance_); +inline const ::pg_query::CreatedbStmt& Node::_internal_createdb_stmt() const { + return node_case() == kCreatedbStmt ? *_impl_.node_.createdb_stmt_ : reinterpret_cast<::pg_query::CreatedbStmt&>(::pg_query::_CreatedbStmt_default_instance_); } -inline const ::pg_query::TableSampleClause& Node::table_sample_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.table_sample_clause) - return _internal_table_sample_clause(); +inline const ::pg_query::CreatedbStmt& Node::createdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.createdb_stmt) + return _internal_createdb_stmt(); } -inline ::pg_query::TableSampleClause* Node::unsafe_arena_release_table_sample_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_sample_clause) - if (_internal_has_table_sample_clause()) { +inline ::pg_query::CreatedbStmt* Node::unsafe_arena_release_createdb_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.createdb_stmt) + if (node_case() == kCreatedbStmt) { clear_has_node(); - ::pg_query::TableSampleClause* temp = _impl_.node_.table_sample_clause_; - _impl_.node_.table_sample_clause_ = nullptr; + auto* temp = _impl_.node_.createdb_stmt_; + _impl_.node_.createdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_sample_clause(::pg_query::TableSampleClause* table_sample_clause) { +inline void Node::unsafe_arena_set_allocated_createdb_stmt(::pg_query::CreatedbStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (table_sample_clause) { - set_has_table_sample_clause(); - _impl_.node_.table_sample_clause_ = table_sample_clause; + if (value) { + set_has_createdb_stmt(); + _impl_.node_.createdb_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_sample_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.createdb_stmt) } -inline ::pg_query::TableSampleClause* Node::_internal_mutable_table_sample_clause() { - if (!_internal_has_table_sample_clause()) { +inline ::pg_query::CreatedbStmt* Node::_internal_mutable_createdb_stmt() { + if (node_case() != kCreatedbStmt) { clear_node(); - set_has_table_sample_clause(); - _impl_.node_.table_sample_clause_ = CreateMaybeMessage< ::pg_query::TableSampleClause >(GetArenaForAllocation()); + set_has_createdb_stmt(); + _impl_.node_.createdb_stmt_ = CreateMaybeMessage<::pg_query::CreatedbStmt>(GetArena()); } - return _impl_.node_.table_sample_clause_; + return _impl_.node_.createdb_stmt_; } -inline ::pg_query::TableSampleClause* Node::mutable_table_sample_clause() { - ::pg_query::TableSampleClause* _msg = _internal_mutable_table_sample_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_sample_clause) +inline ::pg_query::CreatedbStmt* Node::mutable_createdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatedbStmt* _msg = _internal_mutable_createdb_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.createdb_stmt) return _msg; } -// .pg_query.WithCheckOption with_check_option = 199 [json_name = "WithCheckOption"]; -inline bool Node::_internal_has_with_check_option() const { - return node_case() == kWithCheckOption; +// .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"]; +inline bool Node::has_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt; } -inline bool Node::has_with_check_option() const { - return _internal_has_with_check_option(); +inline bool Node::_internal_has_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt; } -inline void Node::set_has_with_check_option() { - _impl_._oneof_case_[0] = kWithCheckOption; +inline void Node::set_has_alter_database_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseStmt; } -inline void Node::clear_with_check_option() { - if (_internal_has_with_check_option()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.with_check_option_; +inline void Node::clear_alter_database_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterDatabaseStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_database_stmt_; } clear_has_node(); } } -inline ::pg_query::WithCheckOption* Node::release_with_check_option() { - // @@protoc_insertion_point(field_release:pg_query.Node.with_check_option) - if (_internal_has_with_check_option()) { +inline ::pg_query::AlterDatabaseStmt* Node::release_alter_database_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_stmt) + if (node_case() == kAlterDatabaseStmt) { clear_has_node(); - ::pg_query::WithCheckOption* temp = _impl_.node_.with_check_option_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_database_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.with_check_option_ = nullptr; + _impl_.node_.alter_database_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WithCheckOption& Node::_internal_with_check_option() const { - return _internal_has_with_check_option() - ? *_impl_.node_.with_check_option_ - : reinterpret_cast< ::pg_query::WithCheckOption&>(::pg_query::_WithCheckOption_default_instance_); +inline const ::pg_query::AlterDatabaseStmt& Node::_internal_alter_database_stmt() const { + return node_case() == kAlterDatabaseStmt ? *_impl_.node_.alter_database_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseStmt&>(::pg_query::_AlterDatabaseStmt_default_instance_); } -inline const ::pg_query::WithCheckOption& Node::with_check_option() const { - // @@protoc_insertion_point(field_get:pg_query.Node.with_check_option) - return _internal_with_check_option(); +inline const ::pg_query::AlterDatabaseStmt& Node::alter_database_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_stmt) + return _internal_alter_database_stmt(); } -inline ::pg_query::WithCheckOption* Node::unsafe_arena_release_with_check_option() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_check_option) - if (_internal_has_with_check_option()) { +inline ::pg_query::AlterDatabaseStmt* Node::unsafe_arena_release_alter_database_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_stmt) + if (node_case() == kAlterDatabaseStmt) { clear_has_node(); - ::pg_query::WithCheckOption* temp = _impl_.node_.with_check_option_; - _impl_.node_.with_check_option_ = nullptr; + auto* temp = _impl_.node_.alter_database_stmt_; + _impl_.node_.alter_database_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_with_check_option(::pg_query::WithCheckOption* with_check_option) { +inline void Node::unsafe_arena_set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (with_check_option) { - set_has_with_check_option(); - _impl_.node_.with_check_option_ = with_check_option; + if (value) { + set_has_alter_database_stmt(); + _impl_.node_.alter_database_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_check_option) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_stmt) } -inline ::pg_query::WithCheckOption* Node::_internal_mutable_with_check_option() { - if (!_internal_has_with_check_option()) { +inline ::pg_query::AlterDatabaseStmt* Node::_internal_mutable_alter_database_stmt() { + if (node_case() != kAlterDatabaseStmt) { clear_node(); - set_has_with_check_option(); - _impl_.node_.with_check_option_ = CreateMaybeMessage< ::pg_query::WithCheckOption >(GetArenaForAllocation()); + set_has_alter_database_stmt(); + _impl_.node_.alter_database_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseStmt>(GetArena()); } - return _impl_.node_.with_check_option_; + return _impl_.node_.alter_database_stmt_; } -inline ::pg_query::WithCheckOption* Node::mutable_with_check_option() { - ::pg_query::WithCheckOption* _msg = _internal_mutable_with_check_option(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.with_check_option) +inline ::pg_query::AlterDatabaseStmt* Node::mutable_alter_database_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseStmt* _msg = _internal_mutable_alter_database_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_stmt) return _msg; } -// .pg_query.SortGroupClause sort_group_clause = 200 [json_name = "SortGroupClause"]; -inline bool Node::_internal_has_sort_group_clause() const { - return node_case() == kSortGroupClause; +// .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"]; +inline bool Node::has_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt; } -inline bool Node::has_sort_group_clause() const { - return _internal_has_sort_group_clause(); +inline bool Node::_internal_has_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt; } -inline void Node::set_has_sort_group_clause() { - _impl_._oneof_case_[0] = kSortGroupClause; +inline void Node::set_has_alter_database_refresh_coll_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseRefreshCollStmt; } -inline void Node::clear_sort_group_clause() { - if (_internal_has_sort_group_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.sort_group_clause_; +inline void Node::clear_alter_database_refresh_coll_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterDatabaseRefreshCollStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_database_refresh_coll_stmt_; } clear_has_node(); } } -inline ::pg_query::SortGroupClause* Node::release_sort_group_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.sort_group_clause) - if (_internal_has_sort_group_clause()) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::release_alter_database_refresh_coll_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_refresh_coll_stmt) + if (node_case() == kAlterDatabaseRefreshCollStmt) { clear_has_node(); - ::pg_query::SortGroupClause* temp = _impl_.node_.sort_group_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.sort_group_clause_ = nullptr; + _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::SortGroupClause& Node::_internal_sort_group_clause() const { - return _internal_has_sort_group_clause() - ? *_impl_.node_.sort_group_clause_ - : reinterpret_cast< ::pg_query::SortGroupClause&>(::pg_query::_SortGroupClause_default_instance_); +inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::_internal_alter_database_refresh_coll_stmt() const { + return node_case() == kAlterDatabaseRefreshCollStmt ? *_impl_.node_.alter_database_refresh_coll_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseRefreshCollStmt&>(::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_); } -inline const ::pg_query::SortGroupClause& Node::sort_group_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.sort_group_clause) - return _internal_sort_group_clause(); +inline const ::pg_query::AlterDatabaseRefreshCollStmt& Node::alter_database_refresh_coll_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_refresh_coll_stmt) + return _internal_alter_database_refresh_coll_stmt(); } -inline ::pg_query::SortGroupClause* Node::unsafe_arena_release_sort_group_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.sort_group_clause) - if (_internal_has_sort_group_clause()) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::unsafe_arena_release_alter_database_refresh_coll_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_refresh_coll_stmt) + if (node_case() == kAlterDatabaseRefreshCollStmt) { clear_has_node(); - ::pg_query::SortGroupClause* temp = _impl_.node_.sort_group_clause_; - _impl_.node_.sort_group_clause_ = nullptr; + auto* temp = _impl_.node_.alter_database_refresh_coll_stmt_; + _impl_.node_.alter_database_refresh_coll_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_sort_group_clause(::pg_query::SortGroupClause* sort_group_clause) { +inline void Node::unsafe_arena_set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (sort_group_clause) { - set_has_sort_group_clause(); - _impl_.node_.sort_group_clause_ = sort_group_clause; + if (value) { + set_has_alter_database_refresh_coll_stmt(); + _impl_.node_.alter_database_refresh_coll_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.sort_group_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt) } -inline ::pg_query::SortGroupClause* Node::_internal_mutable_sort_group_clause() { - if (!_internal_has_sort_group_clause()) { +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::_internal_mutable_alter_database_refresh_coll_stmt() { + if (node_case() != kAlterDatabaseRefreshCollStmt) { clear_node(); - set_has_sort_group_clause(); - _impl_.node_.sort_group_clause_ = CreateMaybeMessage< ::pg_query::SortGroupClause >(GetArenaForAllocation()); + set_has_alter_database_refresh_coll_stmt(); + _impl_.node_.alter_database_refresh_coll_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseRefreshCollStmt>(GetArena()); } - return _impl_.node_.sort_group_clause_; + return _impl_.node_.alter_database_refresh_coll_stmt_; } -inline ::pg_query::SortGroupClause* Node::mutable_sort_group_clause() { - ::pg_query::SortGroupClause* _msg = _internal_mutable_sort_group_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.sort_group_clause) +inline ::pg_query::AlterDatabaseRefreshCollStmt* Node::mutable_alter_database_refresh_coll_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseRefreshCollStmt* _msg = _internal_mutable_alter_database_refresh_coll_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_refresh_coll_stmt) return _msg; } -// .pg_query.GroupingSet grouping_set = 201 [json_name = "GroupingSet"]; -inline bool Node::_internal_has_grouping_set() const { - return node_case() == kGroupingSet; +// .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"]; +inline bool Node::has_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt; } -inline bool Node::has_grouping_set() const { - return _internal_has_grouping_set(); +inline bool Node::_internal_has_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt; } -inline void Node::set_has_grouping_set() { - _impl_._oneof_case_[0] = kGroupingSet; +inline void Node::set_has_alter_database_set_stmt() { + _impl_._oneof_case_[0] = kAlterDatabaseSetStmt; } -inline void Node::clear_grouping_set() { - if (_internal_has_grouping_set()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.grouping_set_; +inline void Node::clear_alter_database_set_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterDatabaseSetStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_database_set_stmt_; } clear_has_node(); } } -inline ::pg_query::GroupingSet* Node::release_grouping_set() { - // @@protoc_insertion_point(field_release:pg_query.Node.grouping_set) - if (_internal_has_grouping_set()) { +inline ::pg_query::AlterDatabaseSetStmt* Node::release_alter_database_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_database_set_stmt) + if (node_case() == kAlterDatabaseSetStmt) { clear_has_node(); - ::pg_query::GroupingSet* temp = _impl_.node_.grouping_set_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_database_set_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.grouping_set_ = nullptr; + _impl_.node_.alter_database_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::GroupingSet& Node::_internal_grouping_set() const { - return _internal_has_grouping_set() - ? *_impl_.node_.grouping_set_ - : reinterpret_cast< ::pg_query::GroupingSet&>(::pg_query::_GroupingSet_default_instance_); +inline const ::pg_query::AlterDatabaseSetStmt& Node::_internal_alter_database_set_stmt() const { + return node_case() == kAlterDatabaseSetStmt ? *_impl_.node_.alter_database_set_stmt_ : reinterpret_cast<::pg_query::AlterDatabaseSetStmt&>(::pg_query::_AlterDatabaseSetStmt_default_instance_); } -inline const ::pg_query::GroupingSet& Node::grouping_set() const { - // @@protoc_insertion_point(field_get:pg_query.Node.grouping_set) - return _internal_grouping_set(); +inline const ::pg_query::AlterDatabaseSetStmt& Node::alter_database_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_database_set_stmt) + return _internal_alter_database_set_stmt(); } -inline ::pg_query::GroupingSet* Node::unsafe_arena_release_grouping_set() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.grouping_set) - if (_internal_has_grouping_set()) { +inline ::pg_query::AlterDatabaseSetStmt* Node::unsafe_arena_release_alter_database_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_database_set_stmt) + if (node_case() == kAlterDatabaseSetStmt) { clear_has_node(); - ::pg_query::GroupingSet* temp = _impl_.node_.grouping_set_; - _impl_.node_.grouping_set_ = nullptr; + auto* temp = _impl_.node_.alter_database_set_stmt_; + _impl_.node_.alter_database_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_grouping_set(::pg_query::GroupingSet* grouping_set) { +inline void Node::unsafe_arena_set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (grouping_set) { - set_has_grouping_set(); - _impl_.node_.grouping_set_ = grouping_set; + if (value) { + set_has_alter_database_set_stmt(); + _impl_.node_.alter_database_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.grouping_set) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_database_set_stmt) } -inline ::pg_query::GroupingSet* Node::_internal_mutable_grouping_set() { - if (!_internal_has_grouping_set()) { +inline ::pg_query::AlterDatabaseSetStmt* Node::_internal_mutable_alter_database_set_stmt() { + if (node_case() != kAlterDatabaseSetStmt) { clear_node(); - set_has_grouping_set(); - _impl_.node_.grouping_set_ = CreateMaybeMessage< ::pg_query::GroupingSet >(GetArenaForAllocation()); + set_has_alter_database_set_stmt(); + _impl_.node_.alter_database_set_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseSetStmt>(GetArena()); } - return _impl_.node_.grouping_set_; + return _impl_.node_.alter_database_set_stmt_; } -inline ::pg_query::GroupingSet* Node::mutable_grouping_set() { - ::pg_query::GroupingSet* _msg = _internal_mutable_grouping_set(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.grouping_set) +inline ::pg_query::AlterDatabaseSetStmt* Node::mutable_alter_database_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterDatabaseSetStmt* _msg = _internal_mutable_alter_database_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_database_set_stmt) return _msg; } -// .pg_query.WindowClause window_clause = 202 [json_name = "WindowClause"]; -inline bool Node::_internal_has_window_clause() const { - return node_case() == kWindowClause; +// .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"]; +inline bool Node::has_dropdb_stmt() const { + return node_case() == kDropdbStmt; } -inline bool Node::has_window_clause() const { - return _internal_has_window_clause(); +inline bool Node::_internal_has_dropdb_stmt() const { + return node_case() == kDropdbStmt; } -inline void Node::set_has_window_clause() { - _impl_._oneof_case_[0] = kWindowClause; +inline void Node::set_has_dropdb_stmt() { + _impl_._oneof_case_[0] = kDropdbStmt; } -inline void Node::clear_window_clause() { - if (_internal_has_window_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.window_clause_; +inline void Node::clear_dropdb_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropdbStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.dropdb_stmt_; } clear_has_node(); } } -inline ::pg_query::WindowClause* Node::release_window_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.window_clause) - if (_internal_has_window_clause()) { +inline ::pg_query::DropdbStmt* Node::release_dropdb_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.dropdb_stmt) + if (node_case() == kDropdbStmt) { clear_has_node(); - ::pg_query::WindowClause* temp = _impl_.node_.window_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.dropdb_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.window_clause_ = nullptr; + _impl_.node_.dropdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WindowClause& Node::_internal_window_clause() const { - return _internal_has_window_clause() - ? *_impl_.node_.window_clause_ - : reinterpret_cast< ::pg_query::WindowClause&>(::pg_query::_WindowClause_default_instance_); +inline const ::pg_query::DropdbStmt& Node::_internal_dropdb_stmt() const { + return node_case() == kDropdbStmt ? *_impl_.node_.dropdb_stmt_ : reinterpret_cast<::pg_query::DropdbStmt&>(::pg_query::_DropdbStmt_default_instance_); } -inline const ::pg_query::WindowClause& Node::window_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.window_clause) - return _internal_window_clause(); +inline const ::pg_query::DropdbStmt& Node::dropdb_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.dropdb_stmt) + return _internal_dropdb_stmt(); } -inline ::pg_query::WindowClause* Node::unsafe_arena_release_window_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.window_clause) - if (_internal_has_window_clause()) { +inline ::pg_query::DropdbStmt* Node::unsafe_arena_release_dropdb_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.dropdb_stmt) + if (node_case() == kDropdbStmt) { clear_has_node(); - ::pg_query::WindowClause* temp = _impl_.node_.window_clause_; - _impl_.node_.window_clause_ = nullptr; + auto* temp = _impl_.node_.dropdb_stmt_; + _impl_.node_.dropdb_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_window_clause(::pg_query::WindowClause* window_clause) { +inline void Node::unsafe_arena_set_allocated_dropdb_stmt(::pg_query::DropdbStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (window_clause) { - set_has_window_clause(); - _impl_.node_.window_clause_ = window_clause; + if (value) { + set_has_dropdb_stmt(); + _impl_.node_.dropdb_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.window_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.dropdb_stmt) } -inline ::pg_query::WindowClause* Node::_internal_mutable_window_clause() { - if (!_internal_has_window_clause()) { +inline ::pg_query::DropdbStmt* Node::_internal_mutable_dropdb_stmt() { + if (node_case() != kDropdbStmt) { clear_node(); - set_has_window_clause(); - _impl_.node_.window_clause_ = CreateMaybeMessage< ::pg_query::WindowClause >(GetArenaForAllocation()); + set_has_dropdb_stmt(); + _impl_.node_.dropdb_stmt_ = CreateMaybeMessage<::pg_query::DropdbStmt>(GetArena()); } - return _impl_.node_.window_clause_; + return _impl_.node_.dropdb_stmt_; } -inline ::pg_query::WindowClause* Node::mutable_window_clause() { - ::pg_query::WindowClause* _msg = _internal_mutable_window_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.window_clause) +inline ::pg_query::DropdbStmt* Node::mutable_dropdb_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropdbStmt* _msg = _internal_mutable_dropdb_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.dropdb_stmt) return _msg; } -// .pg_query.ObjectWithArgs object_with_args = 203 [json_name = "ObjectWithArgs"]; -inline bool Node::_internal_has_object_with_args() const { - return node_case() == kObjectWithArgs; +// .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"]; +inline bool Node::has_alter_system_stmt() const { + return node_case() == kAlterSystemStmt; } -inline bool Node::has_object_with_args() const { - return _internal_has_object_with_args(); +inline bool Node::_internal_has_alter_system_stmt() const { + return node_case() == kAlterSystemStmt; } -inline void Node::set_has_object_with_args() { - _impl_._oneof_case_[0] = kObjectWithArgs; +inline void Node::set_has_alter_system_stmt() { + _impl_._oneof_case_[0] = kAlterSystemStmt; } -inline void Node::clear_object_with_args() { - if (_internal_has_object_with_args()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.object_with_args_; +inline void Node::clear_alter_system_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterSystemStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_system_stmt_; } clear_has_node(); } } -inline ::pg_query::ObjectWithArgs* Node::release_object_with_args() { - // @@protoc_insertion_point(field_release:pg_query.Node.object_with_args) - if (_internal_has_object_with_args()) { +inline ::pg_query::AlterSystemStmt* Node::release_alter_system_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_system_stmt) + if (node_case() == kAlterSystemStmt) { clear_has_node(); - ::pg_query::ObjectWithArgs* temp = _impl_.node_.object_with_args_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_system_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.object_with_args_ = nullptr; + _impl_.node_.alter_system_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::ObjectWithArgs& Node::_internal_object_with_args() const { - return _internal_has_object_with_args() - ? *_impl_.node_.object_with_args_ - : reinterpret_cast< ::pg_query::ObjectWithArgs&>(::pg_query::_ObjectWithArgs_default_instance_); +inline const ::pg_query::AlterSystemStmt& Node::_internal_alter_system_stmt() const { + return node_case() == kAlterSystemStmt ? *_impl_.node_.alter_system_stmt_ : reinterpret_cast<::pg_query::AlterSystemStmt&>(::pg_query::_AlterSystemStmt_default_instance_); } -inline const ::pg_query::ObjectWithArgs& Node::object_with_args() const { - // @@protoc_insertion_point(field_get:pg_query.Node.object_with_args) - return _internal_object_with_args(); +inline const ::pg_query::AlterSystemStmt& Node::alter_system_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_system_stmt) + return _internal_alter_system_stmt(); } -inline ::pg_query::ObjectWithArgs* Node::unsafe_arena_release_object_with_args() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.object_with_args) - if (_internal_has_object_with_args()) { +inline ::pg_query::AlterSystemStmt* Node::unsafe_arena_release_alter_system_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_system_stmt) + if (node_case() == kAlterSystemStmt) { clear_has_node(); - ::pg_query::ObjectWithArgs* temp = _impl_.node_.object_with_args_; - _impl_.node_.object_with_args_ = nullptr; + auto* temp = _impl_.node_.alter_system_stmt_; + _impl_.node_.alter_system_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_object_with_args(::pg_query::ObjectWithArgs* object_with_args) { +inline void Node::unsafe_arena_set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (object_with_args) { - set_has_object_with_args(); - _impl_.node_.object_with_args_ = object_with_args; + if (value) { + set_has_alter_system_stmt(); + _impl_.node_.alter_system_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.object_with_args) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_system_stmt) } -inline ::pg_query::ObjectWithArgs* Node::_internal_mutable_object_with_args() { - if (!_internal_has_object_with_args()) { +inline ::pg_query::AlterSystemStmt* Node::_internal_mutable_alter_system_stmt() { + if (node_case() != kAlterSystemStmt) { clear_node(); - set_has_object_with_args(); - _impl_.node_.object_with_args_ = CreateMaybeMessage< ::pg_query::ObjectWithArgs >(GetArenaForAllocation()); + set_has_alter_system_stmt(); + _impl_.node_.alter_system_stmt_ = CreateMaybeMessage<::pg_query::AlterSystemStmt>(GetArena()); } - return _impl_.node_.object_with_args_; + return _impl_.node_.alter_system_stmt_; } -inline ::pg_query::ObjectWithArgs* Node::mutable_object_with_args() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_object_with_args(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.object_with_args) +inline ::pg_query::AlterSystemStmt* Node::mutable_alter_system_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSystemStmt* _msg = _internal_mutable_alter_system_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_system_stmt) return _msg; } -// .pg_query.AccessPriv access_priv = 204 [json_name = "AccessPriv"]; -inline bool Node::_internal_has_access_priv() const { - return node_case() == kAccessPriv; +// .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"]; +inline bool Node::has_cluster_stmt() const { + return node_case() == kClusterStmt; } -inline bool Node::has_access_priv() const { - return _internal_has_access_priv(); +inline bool Node::_internal_has_cluster_stmt() const { + return node_case() == kClusterStmt; } -inline void Node::set_has_access_priv() { - _impl_._oneof_case_[0] = kAccessPriv; +inline void Node::set_has_cluster_stmt() { + _impl_._oneof_case_[0] = kClusterStmt; } -inline void Node::clear_access_priv() { - if (_internal_has_access_priv()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.access_priv_; +inline void Node::clear_cluster_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kClusterStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.cluster_stmt_; } clear_has_node(); } } -inline ::pg_query::AccessPriv* Node::release_access_priv() { - // @@protoc_insertion_point(field_release:pg_query.Node.access_priv) - if (_internal_has_access_priv()) { +inline ::pg_query::ClusterStmt* Node::release_cluster_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.cluster_stmt) + if (node_case() == kClusterStmt) { clear_has_node(); - ::pg_query::AccessPriv* temp = _impl_.node_.access_priv_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.cluster_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.access_priv_ = nullptr; + _impl_.node_.cluster_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::AccessPriv& Node::_internal_access_priv() const { - return _internal_has_access_priv() - ? *_impl_.node_.access_priv_ - : reinterpret_cast< ::pg_query::AccessPriv&>(::pg_query::_AccessPriv_default_instance_); +inline const ::pg_query::ClusterStmt& Node::_internal_cluster_stmt() const { + return node_case() == kClusterStmt ? *_impl_.node_.cluster_stmt_ : reinterpret_cast<::pg_query::ClusterStmt&>(::pg_query::_ClusterStmt_default_instance_); } -inline const ::pg_query::AccessPriv& Node::access_priv() const { - // @@protoc_insertion_point(field_get:pg_query.Node.access_priv) - return _internal_access_priv(); +inline const ::pg_query::ClusterStmt& Node::cluster_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.cluster_stmt) + return _internal_cluster_stmt(); } -inline ::pg_query::AccessPriv* Node::unsafe_arena_release_access_priv() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.access_priv) - if (_internal_has_access_priv()) { +inline ::pg_query::ClusterStmt* Node::unsafe_arena_release_cluster_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.cluster_stmt) + if (node_case() == kClusterStmt) { clear_has_node(); - ::pg_query::AccessPriv* temp = _impl_.node_.access_priv_; - _impl_.node_.access_priv_ = nullptr; + auto* temp = _impl_.node_.cluster_stmt_; + _impl_.node_.cluster_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_access_priv(::pg_query::AccessPriv* access_priv) { +inline void Node::unsafe_arena_set_allocated_cluster_stmt(::pg_query::ClusterStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (access_priv) { - set_has_access_priv(); - _impl_.node_.access_priv_ = access_priv; + if (value) { + set_has_cluster_stmt(); + _impl_.node_.cluster_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.access_priv) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.cluster_stmt) } -inline ::pg_query::AccessPriv* Node::_internal_mutable_access_priv() { - if (!_internal_has_access_priv()) { +inline ::pg_query::ClusterStmt* Node::_internal_mutable_cluster_stmt() { + if (node_case() != kClusterStmt) { clear_node(); - set_has_access_priv(); - _impl_.node_.access_priv_ = CreateMaybeMessage< ::pg_query::AccessPriv >(GetArenaForAllocation()); + set_has_cluster_stmt(); + _impl_.node_.cluster_stmt_ = CreateMaybeMessage<::pg_query::ClusterStmt>(GetArena()); } - return _impl_.node_.access_priv_; + return _impl_.node_.cluster_stmt_; } -inline ::pg_query::AccessPriv* Node::mutable_access_priv() { - ::pg_query::AccessPriv* _msg = _internal_mutable_access_priv(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.access_priv) +inline ::pg_query::ClusterStmt* Node::mutable_cluster_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ClusterStmt* _msg = _internal_mutable_cluster_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.cluster_stmt) return _msg; } -// .pg_query.CreateOpClassItem create_op_class_item = 205 [json_name = "CreateOpClassItem"]; -inline bool Node::_internal_has_create_op_class_item() const { - return node_case() == kCreateOpClassItem; +// .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"]; +inline bool Node::has_vacuum_stmt() const { + return node_case() == kVacuumStmt; } -inline bool Node::has_create_op_class_item() const { - return _internal_has_create_op_class_item(); +inline bool Node::_internal_has_vacuum_stmt() const { + return node_case() == kVacuumStmt; } -inline void Node::set_has_create_op_class_item() { - _impl_._oneof_case_[0] = kCreateOpClassItem; +inline void Node::set_has_vacuum_stmt() { + _impl_._oneof_case_[0] = kVacuumStmt; } -inline void Node::clear_create_op_class_item() { - if (_internal_has_create_op_class_item()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.create_op_class_item_; +inline void Node::clear_vacuum_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVacuumStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.vacuum_stmt_; } clear_has_node(); } } -inline ::pg_query::CreateOpClassItem* Node::release_create_op_class_item() { - // @@protoc_insertion_point(field_release:pg_query.Node.create_op_class_item) - if (_internal_has_create_op_class_item()) { +inline ::pg_query::VacuumStmt* Node::release_vacuum_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_stmt) + if (node_case() == kVacuumStmt) { clear_has_node(); - ::pg_query::CreateOpClassItem* temp = _impl_.node_.create_op_class_item_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.vacuum_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.create_op_class_item_ = nullptr; + _impl_.node_.vacuum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CreateOpClassItem& Node::_internal_create_op_class_item() const { - return _internal_has_create_op_class_item() - ? *_impl_.node_.create_op_class_item_ - : reinterpret_cast< ::pg_query::CreateOpClassItem&>(::pg_query::_CreateOpClassItem_default_instance_); +inline const ::pg_query::VacuumStmt& Node::_internal_vacuum_stmt() const { + return node_case() == kVacuumStmt ? *_impl_.node_.vacuum_stmt_ : reinterpret_cast<::pg_query::VacuumStmt&>(::pg_query::_VacuumStmt_default_instance_); } -inline const ::pg_query::CreateOpClassItem& Node::create_op_class_item() const { - // @@protoc_insertion_point(field_get:pg_query.Node.create_op_class_item) - return _internal_create_op_class_item(); +inline const ::pg_query::VacuumStmt& Node::vacuum_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_stmt) + return _internal_vacuum_stmt(); } -inline ::pg_query::CreateOpClassItem* Node::unsafe_arena_release_create_op_class_item() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_op_class_item) - if (_internal_has_create_op_class_item()) { +inline ::pg_query::VacuumStmt* Node::unsafe_arena_release_vacuum_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_stmt) + if (node_case() == kVacuumStmt) { clear_has_node(); - ::pg_query::CreateOpClassItem* temp = _impl_.node_.create_op_class_item_; - _impl_.node_.create_op_class_item_ = nullptr; + auto* temp = _impl_.node_.vacuum_stmt_; + _impl_.node_.vacuum_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* create_op_class_item) { +inline void Node::unsafe_arena_set_allocated_vacuum_stmt(::pg_query::VacuumStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (create_op_class_item) { - set_has_create_op_class_item(); - _impl_.node_.create_op_class_item_ = create_op_class_item; + if (value) { + set_has_vacuum_stmt(); + _impl_.node_.vacuum_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_op_class_item) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_stmt) } -inline ::pg_query::CreateOpClassItem* Node::_internal_mutable_create_op_class_item() { - if (!_internal_has_create_op_class_item()) { +inline ::pg_query::VacuumStmt* Node::_internal_mutable_vacuum_stmt() { + if (node_case() != kVacuumStmt) { clear_node(); - set_has_create_op_class_item(); - _impl_.node_.create_op_class_item_ = CreateMaybeMessage< ::pg_query::CreateOpClassItem >(GetArenaForAllocation()); + set_has_vacuum_stmt(); + _impl_.node_.vacuum_stmt_ = CreateMaybeMessage<::pg_query::VacuumStmt>(GetArena()); } - return _impl_.node_.create_op_class_item_; + return _impl_.node_.vacuum_stmt_; } -inline ::pg_query::CreateOpClassItem* Node::mutable_create_op_class_item() { - ::pg_query::CreateOpClassItem* _msg = _internal_mutable_create_op_class_item(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.create_op_class_item) +inline ::pg_query::VacuumStmt* Node::mutable_vacuum_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VacuumStmt* _msg = _internal_mutable_vacuum_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_stmt) return _msg; } -// .pg_query.TableLikeClause table_like_clause = 206 [json_name = "TableLikeClause"]; -inline bool Node::_internal_has_table_like_clause() const { - return node_case() == kTableLikeClause; +// .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"]; +inline bool Node::has_vacuum_relation() const { + return node_case() == kVacuumRelation; } -inline bool Node::has_table_like_clause() const { - return _internal_has_table_like_clause(); +inline bool Node::_internal_has_vacuum_relation() const { + return node_case() == kVacuumRelation; } -inline void Node::set_has_table_like_clause() { - _impl_._oneof_case_[0] = kTableLikeClause; +inline void Node::set_has_vacuum_relation() { + _impl_._oneof_case_[0] = kVacuumRelation; } -inline void Node::clear_table_like_clause() { - if (_internal_has_table_like_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.table_like_clause_; +inline void Node::clear_vacuum_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kVacuumRelation) { + if (GetArena() == nullptr) { + delete _impl_.node_.vacuum_relation_; } clear_has_node(); } } -inline ::pg_query::TableLikeClause* Node::release_table_like_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.table_like_clause) - if (_internal_has_table_like_clause()) { +inline ::pg_query::VacuumRelation* Node::release_vacuum_relation() { + // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_relation) + if (node_case() == kVacuumRelation) { clear_has_node(); - ::pg_query::TableLikeClause* temp = _impl_.node_.table_like_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.vacuum_relation_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.table_like_clause_ = nullptr; + _impl_.node_.vacuum_relation_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TableLikeClause& Node::_internal_table_like_clause() const { - return _internal_has_table_like_clause() - ? *_impl_.node_.table_like_clause_ - : reinterpret_cast< ::pg_query::TableLikeClause&>(::pg_query::_TableLikeClause_default_instance_); +inline const ::pg_query::VacuumRelation& Node::_internal_vacuum_relation() const { + return node_case() == kVacuumRelation ? *_impl_.node_.vacuum_relation_ : reinterpret_cast<::pg_query::VacuumRelation&>(::pg_query::_VacuumRelation_default_instance_); } -inline const ::pg_query::TableLikeClause& Node::table_like_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.table_like_clause) - return _internal_table_like_clause(); +inline const ::pg_query::VacuumRelation& Node::vacuum_relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_relation) + return _internal_vacuum_relation(); } -inline ::pg_query::TableLikeClause* Node::unsafe_arena_release_table_like_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.table_like_clause) - if (_internal_has_table_like_clause()) { +inline ::pg_query::VacuumRelation* Node::unsafe_arena_release_vacuum_relation() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_relation) + if (node_case() == kVacuumRelation) { clear_has_node(); - ::pg_query::TableLikeClause* temp = _impl_.node_.table_like_clause_; - _impl_.node_.table_like_clause_ = nullptr; + auto* temp = _impl_.node_.vacuum_relation_; + _impl_.node_.vacuum_relation_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_table_like_clause(::pg_query::TableLikeClause* table_like_clause) { +inline void Node::unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (table_like_clause) { - set_has_table_like_clause(); - _impl_.node_.table_like_clause_ = table_like_clause; + if (value) { + set_has_vacuum_relation(); + _impl_.node_.vacuum_relation_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.table_like_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_relation) } -inline ::pg_query::TableLikeClause* Node::_internal_mutable_table_like_clause() { - if (!_internal_has_table_like_clause()) { +inline ::pg_query::VacuumRelation* Node::_internal_mutable_vacuum_relation() { + if (node_case() != kVacuumRelation) { clear_node(); - set_has_table_like_clause(); - _impl_.node_.table_like_clause_ = CreateMaybeMessage< ::pg_query::TableLikeClause >(GetArenaForAllocation()); + set_has_vacuum_relation(); + _impl_.node_.vacuum_relation_ = CreateMaybeMessage<::pg_query::VacuumRelation>(GetArena()); } - return _impl_.node_.table_like_clause_; + return _impl_.node_.vacuum_relation_; } -inline ::pg_query::TableLikeClause* Node::mutable_table_like_clause() { - ::pg_query::TableLikeClause* _msg = _internal_mutable_table_like_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.table_like_clause) +inline ::pg_query::VacuumRelation* Node::mutable_vacuum_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VacuumRelation* _msg = _internal_mutable_vacuum_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_relation) return _msg; } -// .pg_query.FunctionParameter function_parameter = 207 [json_name = "FunctionParameter"]; -inline bool Node::_internal_has_function_parameter() const { - return node_case() == kFunctionParameter; +// .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"]; +inline bool Node::has_explain_stmt() const { + return node_case() == kExplainStmt; } -inline bool Node::has_function_parameter() const { - return _internal_has_function_parameter(); +inline bool Node::_internal_has_explain_stmt() const { + return node_case() == kExplainStmt; } -inline void Node::set_has_function_parameter() { - _impl_._oneof_case_[0] = kFunctionParameter; +inline void Node::set_has_explain_stmt() { + _impl_._oneof_case_[0] = kExplainStmt; } -inline void Node::clear_function_parameter() { - if (_internal_has_function_parameter()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.function_parameter_; +inline void Node::clear_explain_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kExplainStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.explain_stmt_; } clear_has_node(); } } -inline ::pg_query::FunctionParameter* Node::release_function_parameter() { - // @@protoc_insertion_point(field_release:pg_query.Node.function_parameter) - if (_internal_has_function_parameter()) { +inline ::pg_query::ExplainStmt* Node::release_explain_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.explain_stmt) + if (node_case() == kExplainStmt) { clear_has_node(); - ::pg_query::FunctionParameter* temp = _impl_.node_.function_parameter_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.explain_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.function_parameter_ = nullptr; + _impl_.node_.explain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::FunctionParameter& Node::_internal_function_parameter() const { - return _internal_has_function_parameter() - ? *_impl_.node_.function_parameter_ - : reinterpret_cast< ::pg_query::FunctionParameter&>(::pg_query::_FunctionParameter_default_instance_); +inline const ::pg_query::ExplainStmt& Node::_internal_explain_stmt() const { + return node_case() == kExplainStmt ? *_impl_.node_.explain_stmt_ : reinterpret_cast<::pg_query::ExplainStmt&>(::pg_query::_ExplainStmt_default_instance_); } -inline const ::pg_query::FunctionParameter& Node::function_parameter() const { - // @@protoc_insertion_point(field_get:pg_query.Node.function_parameter) - return _internal_function_parameter(); +inline const ::pg_query::ExplainStmt& Node::explain_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.explain_stmt) + return _internal_explain_stmt(); } -inline ::pg_query::FunctionParameter* Node::unsafe_arena_release_function_parameter() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.function_parameter) - if (_internal_has_function_parameter()) { +inline ::pg_query::ExplainStmt* Node::unsafe_arena_release_explain_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.explain_stmt) + if (node_case() == kExplainStmt) { clear_has_node(); - ::pg_query::FunctionParameter* temp = _impl_.node_.function_parameter_; - _impl_.node_.function_parameter_ = nullptr; + auto* temp = _impl_.node_.explain_stmt_; + _impl_.node_.explain_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_function_parameter(::pg_query::FunctionParameter* function_parameter) { +inline void Node::unsafe_arena_set_allocated_explain_stmt(::pg_query::ExplainStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (function_parameter) { - set_has_function_parameter(); - _impl_.node_.function_parameter_ = function_parameter; + if (value) { + set_has_explain_stmt(); + _impl_.node_.explain_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.function_parameter) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.explain_stmt) } -inline ::pg_query::FunctionParameter* Node::_internal_mutable_function_parameter() { - if (!_internal_has_function_parameter()) { +inline ::pg_query::ExplainStmt* Node::_internal_mutable_explain_stmt() { + if (node_case() != kExplainStmt) { clear_node(); - set_has_function_parameter(); - _impl_.node_.function_parameter_ = CreateMaybeMessage< ::pg_query::FunctionParameter >(GetArenaForAllocation()); + set_has_explain_stmt(); + _impl_.node_.explain_stmt_ = CreateMaybeMessage<::pg_query::ExplainStmt>(GetArena()); } - return _impl_.node_.function_parameter_; + return _impl_.node_.explain_stmt_; } -inline ::pg_query::FunctionParameter* Node::mutable_function_parameter() { - ::pg_query::FunctionParameter* _msg = _internal_mutable_function_parameter(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.function_parameter) +inline ::pg_query::ExplainStmt* Node::mutable_explain_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ExplainStmt* _msg = _internal_mutable_explain_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.explain_stmt) return _msg; } -// .pg_query.LockingClause locking_clause = 208 [json_name = "LockingClause"]; -inline bool Node::_internal_has_locking_clause() const { - return node_case() == kLockingClause; +// .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"]; +inline bool Node::has_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt; } -inline bool Node::has_locking_clause() const { - return _internal_has_locking_clause(); +inline bool Node::_internal_has_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt; } -inline void Node::set_has_locking_clause() { - _impl_._oneof_case_[0] = kLockingClause; +inline void Node::set_has_create_table_as_stmt() { + _impl_._oneof_case_[0] = kCreateTableAsStmt; } -inline void Node::clear_locking_clause() { - if (_internal_has_locking_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.locking_clause_; +inline void Node::clear_create_table_as_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateTableAsStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_table_as_stmt_; } clear_has_node(); } } -inline ::pg_query::LockingClause* Node::release_locking_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.locking_clause) - if (_internal_has_locking_clause()) { +inline ::pg_query::CreateTableAsStmt* Node::release_create_table_as_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_table_as_stmt) + if (node_case() == kCreateTableAsStmt) { clear_has_node(); - ::pg_query::LockingClause* temp = _impl_.node_.locking_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_table_as_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.locking_clause_ = nullptr; + _impl_.node_.create_table_as_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::LockingClause& Node::_internal_locking_clause() const { - return _internal_has_locking_clause() - ? *_impl_.node_.locking_clause_ - : reinterpret_cast< ::pg_query::LockingClause&>(::pg_query::_LockingClause_default_instance_); +inline const ::pg_query::CreateTableAsStmt& Node::_internal_create_table_as_stmt() const { + return node_case() == kCreateTableAsStmt ? *_impl_.node_.create_table_as_stmt_ : reinterpret_cast<::pg_query::CreateTableAsStmt&>(::pg_query::_CreateTableAsStmt_default_instance_); } -inline const ::pg_query::LockingClause& Node::locking_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.locking_clause) - return _internal_locking_clause(); +inline const ::pg_query::CreateTableAsStmt& Node::create_table_as_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_table_as_stmt) + return _internal_create_table_as_stmt(); } -inline ::pg_query::LockingClause* Node::unsafe_arena_release_locking_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.locking_clause) - if (_internal_has_locking_clause()) { +inline ::pg_query::CreateTableAsStmt* Node::unsafe_arena_release_create_table_as_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_table_as_stmt) + if (node_case() == kCreateTableAsStmt) { clear_has_node(); - ::pg_query::LockingClause* temp = _impl_.node_.locking_clause_; - _impl_.node_.locking_clause_ = nullptr; + auto* temp = _impl_.node_.create_table_as_stmt_; + _impl_.node_.create_table_as_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_locking_clause(::pg_query::LockingClause* locking_clause) { +inline void Node::unsafe_arena_set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (locking_clause) { - set_has_locking_clause(); - _impl_.node_.locking_clause_ = locking_clause; + if (value) { + set_has_create_table_as_stmt(); + _impl_.node_.create_table_as_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.locking_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_table_as_stmt) } -inline ::pg_query::LockingClause* Node::_internal_mutable_locking_clause() { - if (!_internal_has_locking_clause()) { +inline ::pg_query::CreateTableAsStmt* Node::_internal_mutable_create_table_as_stmt() { + if (node_case() != kCreateTableAsStmt) { clear_node(); - set_has_locking_clause(); - _impl_.node_.locking_clause_ = CreateMaybeMessage< ::pg_query::LockingClause >(GetArenaForAllocation()); + set_has_create_table_as_stmt(); + _impl_.node_.create_table_as_stmt_ = CreateMaybeMessage<::pg_query::CreateTableAsStmt>(GetArena()); } - return _impl_.node_.locking_clause_; + return _impl_.node_.create_table_as_stmt_; } -inline ::pg_query::LockingClause* Node::mutable_locking_clause() { - ::pg_query::LockingClause* _msg = _internal_mutable_locking_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.locking_clause) +inline ::pg_query::CreateTableAsStmt* Node::mutable_create_table_as_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTableAsStmt* _msg = _internal_mutable_create_table_as_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_table_as_stmt) return _msg; } -// .pg_query.RowMarkClause row_mark_clause = 209 [json_name = "RowMarkClause"]; -inline bool Node::_internal_has_row_mark_clause() const { - return node_case() == kRowMarkClause; +// .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"]; +inline bool Node::has_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt; } -inline bool Node::has_row_mark_clause() const { - return _internal_has_row_mark_clause(); +inline bool Node::_internal_has_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt; } -inline void Node::set_has_row_mark_clause() { - _impl_._oneof_case_[0] = kRowMarkClause; +inline void Node::set_has_refresh_mat_view_stmt() { + _impl_._oneof_case_[0] = kRefreshMatViewStmt; } -inline void Node::clear_row_mark_clause() { - if (_internal_has_row_mark_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.row_mark_clause_; +inline void Node::clear_refresh_mat_view_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kRefreshMatViewStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.refresh_mat_view_stmt_; } clear_has_node(); } } -inline ::pg_query::RowMarkClause* Node::release_row_mark_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.row_mark_clause) - if (_internal_has_row_mark_clause()) { +inline ::pg_query::RefreshMatViewStmt* Node::release_refresh_mat_view_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.refresh_mat_view_stmt) + if (node_case() == kRefreshMatViewStmt) { clear_has_node(); - ::pg_query::RowMarkClause* temp = _impl_.node_.row_mark_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.refresh_mat_view_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.row_mark_clause_ = nullptr; + _impl_.node_.refresh_mat_view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RowMarkClause& Node::_internal_row_mark_clause() const { - return _internal_has_row_mark_clause() - ? *_impl_.node_.row_mark_clause_ - : reinterpret_cast< ::pg_query::RowMarkClause&>(::pg_query::_RowMarkClause_default_instance_); +inline const ::pg_query::RefreshMatViewStmt& Node::_internal_refresh_mat_view_stmt() const { + return node_case() == kRefreshMatViewStmt ? *_impl_.node_.refresh_mat_view_stmt_ : reinterpret_cast<::pg_query::RefreshMatViewStmt&>(::pg_query::_RefreshMatViewStmt_default_instance_); } -inline const ::pg_query::RowMarkClause& Node::row_mark_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.row_mark_clause) - return _internal_row_mark_clause(); +inline const ::pg_query::RefreshMatViewStmt& Node::refresh_mat_view_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.refresh_mat_view_stmt) + return _internal_refresh_mat_view_stmt(); } -inline ::pg_query::RowMarkClause* Node::unsafe_arena_release_row_mark_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.row_mark_clause) - if (_internal_has_row_mark_clause()) { +inline ::pg_query::RefreshMatViewStmt* Node::unsafe_arena_release_refresh_mat_view_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.refresh_mat_view_stmt) + if (node_case() == kRefreshMatViewStmt) { clear_has_node(); - ::pg_query::RowMarkClause* temp = _impl_.node_.row_mark_clause_; - _impl_.node_.row_mark_clause_ = nullptr; + auto* temp = _impl_.node_.refresh_mat_view_stmt_; + _impl_.node_.refresh_mat_view_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_row_mark_clause(::pg_query::RowMarkClause* row_mark_clause) { +inline void Node::unsafe_arena_set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (row_mark_clause) { - set_has_row_mark_clause(); - _impl_.node_.row_mark_clause_ = row_mark_clause; + if (value) { + set_has_refresh_mat_view_stmt(); + _impl_.node_.refresh_mat_view_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.row_mark_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.refresh_mat_view_stmt) } -inline ::pg_query::RowMarkClause* Node::_internal_mutable_row_mark_clause() { - if (!_internal_has_row_mark_clause()) { +inline ::pg_query::RefreshMatViewStmt* Node::_internal_mutable_refresh_mat_view_stmt() { + if (node_case() != kRefreshMatViewStmt) { clear_node(); - set_has_row_mark_clause(); - _impl_.node_.row_mark_clause_ = CreateMaybeMessage< ::pg_query::RowMarkClause >(GetArenaForAllocation()); + set_has_refresh_mat_view_stmt(); + _impl_.node_.refresh_mat_view_stmt_ = CreateMaybeMessage<::pg_query::RefreshMatViewStmt>(GetArena()); } - return _impl_.node_.row_mark_clause_; + return _impl_.node_.refresh_mat_view_stmt_; } -inline ::pg_query::RowMarkClause* Node::mutable_row_mark_clause() { - ::pg_query::RowMarkClause* _msg = _internal_mutable_row_mark_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.row_mark_clause) +inline ::pg_query::RefreshMatViewStmt* Node::mutable_refresh_mat_view_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RefreshMatViewStmt* _msg = _internal_mutable_refresh_mat_view_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.refresh_mat_view_stmt) return _msg; } -// .pg_query.XmlSerialize xml_serialize = 210 [json_name = "XmlSerialize"]; -inline bool Node::_internal_has_xml_serialize() const { - return node_case() == kXmlSerialize; +// .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"]; +inline bool Node::has_check_point_stmt() const { + return node_case() == kCheckPointStmt; } -inline bool Node::has_xml_serialize() const { - return _internal_has_xml_serialize(); +inline bool Node::_internal_has_check_point_stmt() const { + return node_case() == kCheckPointStmt; } -inline void Node::set_has_xml_serialize() { - _impl_._oneof_case_[0] = kXmlSerialize; +inline void Node::set_has_check_point_stmt() { + _impl_._oneof_case_[0] = kCheckPointStmt; } -inline void Node::clear_xml_serialize() { - if (_internal_has_xml_serialize()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.xml_serialize_; +inline void Node::clear_check_point_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCheckPointStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.check_point_stmt_; } clear_has_node(); } } -inline ::pg_query::XmlSerialize* Node::release_xml_serialize() { - // @@protoc_insertion_point(field_release:pg_query.Node.xml_serialize) - if (_internal_has_xml_serialize()) { +inline ::pg_query::CheckPointStmt* Node::release_check_point_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.check_point_stmt) + if (node_case() == kCheckPointStmt) { clear_has_node(); - ::pg_query::XmlSerialize* temp = _impl_.node_.xml_serialize_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.check_point_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.xml_serialize_ = nullptr; + _impl_.node_.check_point_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::XmlSerialize& Node::_internal_xml_serialize() const { - return _internal_has_xml_serialize() - ? *_impl_.node_.xml_serialize_ - : reinterpret_cast< ::pg_query::XmlSerialize&>(::pg_query::_XmlSerialize_default_instance_); +inline const ::pg_query::CheckPointStmt& Node::_internal_check_point_stmt() const { + return node_case() == kCheckPointStmt ? *_impl_.node_.check_point_stmt_ : reinterpret_cast<::pg_query::CheckPointStmt&>(::pg_query::_CheckPointStmt_default_instance_); } -inline const ::pg_query::XmlSerialize& Node::xml_serialize() const { - // @@protoc_insertion_point(field_get:pg_query.Node.xml_serialize) - return _internal_xml_serialize(); +inline const ::pg_query::CheckPointStmt& Node::check_point_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.check_point_stmt) + return _internal_check_point_stmt(); } -inline ::pg_query::XmlSerialize* Node::unsafe_arena_release_xml_serialize() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.xml_serialize) - if (_internal_has_xml_serialize()) { +inline ::pg_query::CheckPointStmt* Node::unsafe_arena_release_check_point_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.check_point_stmt) + if (node_case() == kCheckPointStmt) { clear_has_node(); - ::pg_query::XmlSerialize* temp = _impl_.node_.xml_serialize_; - _impl_.node_.xml_serialize_ = nullptr; + auto* temp = _impl_.node_.check_point_stmt_; + _impl_.node_.check_point_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_xml_serialize(::pg_query::XmlSerialize* xml_serialize) { +inline void Node::unsafe_arena_set_allocated_check_point_stmt(::pg_query::CheckPointStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (xml_serialize) { - set_has_xml_serialize(); - _impl_.node_.xml_serialize_ = xml_serialize; + if (value) { + set_has_check_point_stmt(); + _impl_.node_.check_point_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.xml_serialize) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.check_point_stmt) } -inline ::pg_query::XmlSerialize* Node::_internal_mutable_xml_serialize() { - if (!_internal_has_xml_serialize()) { +inline ::pg_query::CheckPointStmt* Node::_internal_mutable_check_point_stmt() { + if (node_case() != kCheckPointStmt) { clear_node(); - set_has_xml_serialize(); - _impl_.node_.xml_serialize_ = CreateMaybeMessage< ::pg_query::XmlSerialize >(GetArenaForAllocation()); + set_has_check_point_stmt(); + _impl_.node_.check_point_stmt_ = CreateMaybeMessage<::pg_query::CheckPointStmt>(GetArena()); } - return _impl_.node_.xml_serialize_; + return _impl_.node_.check_point_stmt_; } -inline ::pg_query::XmlSerialize* Node::mutable_xml_serialize() { - ::pg_query::XmlSerialize* _msg = _internal_mutable_xml_serialize(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.xml_serialize) +inline ::pg_query::CheckPointStmt* Node::mutable_check_point_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CheckPointStmt* _msg = _internal_mutable_check_point_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.check_point_stmt) return _msg; } -// .pg_query.WithClause with_clause = 211 [json_name = "WithClause"]; -inline bool Node::_internal_has_with_clause() const { - return node_case() == kWithClause; +// .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"]; +inline bool Node::has_discard_stmt() const { + return node_case() == kDiscardStmt; } -inline bool Node::has_with_clause() const { - return _internal_has_with_clause(); +inline bool Node::_internal_has_discard_stmt() const { + return node_case() == kDiscardStmt; } -inline void Node::set_has_with_clause() { - _impl_._oneof_case_[0] = kWithClause; +inline void Node::set_has_discard_stmt() { + _impl_._oneof_case_[0] = kDiscardStmt; } -inline void Node::clear_with_clause() { - if (_internal_has_with_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.with_clause_; +inline void Node::clear_discard_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDiscardStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.discard_stmt_; } clear_has_node(); } } -inline ::pg_query::WithClause* Node::release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.with_clause) - if (_internal_has_with_clause()) { +inline ::pg_query::DiscardStmt* Node::release_discard_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.discard_stmt) + if (node_case() == kDiscardStmt) { clear_has_node(); - ::pg_query::WithClause* temp = _impl_.node_.with_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.discard_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.with_clause_ = nullptr; + _impl_.node_.discard_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::WithClause& Node::_internal_with_clause() const { - return _internal_has_with_clause() - ? *_impl_.node_.with_clause_ - : reinterpret_cast< ::pg_query::WithClause&>(::pg_query::_WithClause_default_instance_); +inline const ::pg_query::DiscardStmt& Node::_internal_discard_stmt() const { + return node_case() == kDiscardStmt ? *_impl_.node_.discard_stmt_ : reinterpret_cast<::pg_query::DiscardStmt&>(::pg_query::_DiscardStmt_default_instance_); } -inline const ::pg_query::WithClause& Node::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.with_clause) - return _internal_with_clause(); +inline const ::pg_query::DiscardStmt& Node::discard_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.discard_stmt) + return _internal_discard_stmt(); } -inline ::pg_query::WithClause* Node::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.with_clause) - if (_internal_has_with_clause()) { +inline ::pg_query::DiscardStmt* Node::unsafe_arena_release_discard_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.discard_stmt) + if (node_case() == kDiscardStmt) { clear_has_node(); - ::pg_query::WithClause* temp = _impl_.node_.with_clause_; - _impl_.node_.with_clause_ = nullptr; + auto* temp = _impl_.node_.discard_stmt_; + _impl_.node_.discard_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* with_clause) { +inline void Node::unsafe_arena_set_allocated_discard_stmt(::pg_query::DiscardStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (with_clause) { - set_has_with_clause(); - _impl_.node_.with_clause_ = with_clause; + if (value) { + set_has_discard_stmt(); + _impl_.node_.discard_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.with_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.discard_stmt) } -inline ::pg_query::WithClause* Node::_internal_mutable_with_clause() { - if (!_internal_has_with_clause()) { +inline ::pg_query::DiscardStmt* Node::_internal_mutable_discard_stmt() { + if (node_case() != kDiscardStmt) { clear_node(); - set_has_with_clause(); - _impl_.node_.with_clause_ = CreateMaybeMessage< ::pg_query::WithClause >(GetArenaForAllocation()); + set_has_discard_stmt(); + _impl_.node_.discard_stmt_ = CreateMaybeMessage<::pg_query::DiscardStmt>(GetArena()); } - return _impl_.node_.with_clause_; + return _impl_.node_.discard_stmt_; } -inline ::pg_query::WithClause* Node::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.with_clause) +inline ::pg_query::DiscardStmt* Node::mutable_discard_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DiscardStmt* _msg = _internal_mutable_discard_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.discard_stmt) return _msg; } -// .pg_query.InferClause infer_clause = 212 [json_name = "InferClause"]; -inline bool Node::_internal_has_infer_clause() const { - return node_case() == kInferClause; +// .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"]; +inline bool Node::has_lock_stmt() const { + return node_case() == kLockStmt; } -inline bool Node::has_infer_clause() const { - return _internal_has_infer_clause(); +inline bool Node::_internal_has_lock_stmt() const { + return node_case() == kLockStmt; } -inline void Node::set_has_infer_clause() { - _impl_._oneof_case_[0] = kInferClause; +inline void Node::set_has_lock_stmt() { + _impl_._oneof_case_[0] = kLockStmt; } -inline void Node::clear_infer_clause() { - if (_internal_has_infer_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.infer_clause_; +inline void Node::clear_lock_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kLockStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.lock_stmt_; } clear_has_node(); } } -inline ::pg_query::InferClause* Node::release_infer_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.infer_clause) - if (_internal_has_infer_clause()) { +inline ::pg_query::LockStmt* Node::release_lock_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.lock_stmt) + if (node_case() == kLockStmt) { clear_has_node(); - ::pg_query::InferClause* temp = _impl_.node_.infer_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.lock_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.infer_clause_ = nullptr; + _impl_.node_.lock_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InferClause& Node::_internal_infer_clause() const { - return _internal_has_infer_clause() - ? *_impl_.node_.infer_clause_ - : reinterpret_cast< ::pg_query::InferClause&>(::pg_query::_InferClause_default_instance_); +inline const ::pg_query::LockStmt& Node::_internal_lock_stmt() const { + return node_case() == kLockStmt ? *_impl_.node_.lock_stmt_ : reinterpret_cast<::pg_query::LockStmt&>(::pg_query::_LockStmt_default_instance_); } -inline const ::pg_query::InferClause& Node::infer_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.infer_clause) - return _internal_infer_clause(); +inline const ::pg_query::LockStmt& Node::lock_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.lock_stmt) + return _internal_lock_stmt(); } -inline ::pg_query::InferClause* Node::unsafe_arena_release_infer_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.infer_clause) - if (_internal_has_infer_clause()) { +inline ::pg_query::LockStmt* Node::unsafe_arena_release_lock_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.lock_stmt) + if (node_case() == kLockStmt) { clear_has_node(); - ::pg_query::InferClause* temp = _impl_.node_.infer_clause_; - _impl_.node_.infer_clause_ = nullptr; + auto* temp = _impl_.node_.lock_stmt_; + _impl_.node_.lock_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_infer_clause(::pg_query::InferClause* infer_clause) { +inline void Node::unsafe_arena_set_allocated_lock_stmt(::pg_query::LockStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (infer_clause) { - set_has_infer_clause(); - _impl_.node_.infer_clause_ = infer_clause; + if (value) { + set_has_lock_stmt(); + _impl_.node_.lock_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.infer_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.lock_stmt) } -inline ::pg_query::InferClause* Node::_internal_mutable_infer_clause() { - if (!_internal_has_infer_clause()) { +inline ::pg_query::LockStmt* Node::_internal_mutable_lock_stmt() { + if (node_case() != kLockStmt) { clear_node(); - set_has_infer_clause(); - _impl_.node_.infer_clause_ = CreateMaybeMessage< ::pg_query::InferClause >(GetArenaForAllocation()); + set_has_lock_stmt(); + _impl_.node_.lock_stmt_ = CreateMaybeMessage<::pg_query::LockStmt>(GetArena()); } - return _impl_.node_.infer_clause_; + return _impl_.node_.lock_stmt_; } -inline ::pg_query::InferClause* Node::mutable_infer_clause() { - ::pg_query::InferClause* _msg = _internal_mutable_infer_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.infer_clause) +inline ::pg_query::LockStmt* Node::mutable_lock_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::LockStmt* _msg = _internal_mutable_lock_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.lock_stmt) return _msg; } -// .pg_query.OnConflictClause on_conflict_clause = 213 [json_name = "OnConflictClause"]; -inline bool Node::_internal_has_on_conflict_clause() const { - return node_case() == kOnConflictClause; +// .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"]; +inline bool Node::has_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt; } -inline bool Node::has_on_conflict_clause() const { - return _internal_has_on_conflict_clause(); +inline bool Node::_internal_has_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt; } -inline void Node::set_has_on_conflict_clause() { - _impl_._oneof_case_[0] = kOnConflictClause; +inline void Node::set_has_constraints_set_stmt() { + _impl_._oneof_case_[0] = kConstraintsSetStmt; } -inline void Node::clear_on_conflict_clause() { - if (_internal_has_on_conflict_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.on_conflict_clause_; +inline void Node::clear_constraints_set_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kConstraintsSetStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.constraints_set_stmt_; } clear_has_node(); } } -inline ::pg_query::OnConflictClause* Node::release_on_conflict_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.on_conflict_clause) - if (_internal_has_on_conflict_clause()) { +inline ::pg_query::ConstraintsSetStmt* Node::release_constraints_set_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.constraints_set_stmt) + if (node_case() == kConstraintsSetStmt) { clear_has_node(); - ::pg_query::OnConflictClause* temp = _impl_.node_.on_conflict_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.constraints_set_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.on_conflict_clause_ = nullptr; + _impl_.node_.constraints_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::OnConflictClause& Node::_internal_on_conflict_clause() const { - return _internal_has_on_conflict_clause() - ? *_impl_.node_.on_conflict_clause_ - : reinterpret_cast< ::pg_query::OnConflictClause&>(::pg_query::_OnConflictClause_default_instance_); +inline const ::pg_query::ConstraintsSetStmt& Node::_internal_constraints_set_stmt() const { + return node_case() == kConstraintsSetStmt ? *_impl_.node_.constraints_set_stmt_ : reinterpret_cast<::pg_query::ConstraintsSetStmt&>(::pg_query::_ConstraintsSetStmt_default_instance_); } -inline const ::pg_query::OnConflictClause& Node::on_conflict_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.on_conflict_clause) - return _internal_on_conflict_clause(); +inline const ::pg_query::ConstraintsSetStmt& Node::constraints_set_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.constraints_set_stmt) + return _internal_constraints_set_stmt(); } -inline ::pg_query::OnConflictClause* Node::unsafe_arena_release_on_conflict_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.on_conflict_clause) - if (_internal_has_on_conflict_clause()) { +inline ::pg_query::ConstraintsSetStmt* Node::unsafe_arena_release_constraints_set_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.constraints_set_stmt) + if (node_case() == kConstraintsSetStmt) { clear_has_node(); - ::pg_query::OnConflictClause* temp = _impl_.node_.on_conflict_clause_; - _impl_.node_.on_conflict_clause_ = nullptr; + auto* temp = _impl_.node_.constraints_set_stmt_; + _impl_.node_.constraints_set_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause) { +inline void Node::unsafe_arena_set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (on_conflict_clause) { - set_has_on_conflict_clause(); - _impl_.node_.on_conflict_clause_ = on_conflict_clause; + if (value) { + set_has_constraints_set_stmt(); + _impl_.node_.constraints_set_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.on_conflict_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.constraints_set_stmt) } -inline ::pg_query::OnConflictClause* Node::_internal_mutable_on_conflict_clause() { - if (!_internal_has_on_conflict_clause()) { +inline ::pg_query::ConstraintsSetStmt* Node::_internal_mutable_constraints_set_stmt() { + if (node_case() != kConstraintsSetStmt) { clear_node(); - set_has_on_conflict_clause(); - _impl_.node_.on_conflict_clause_ = CreateMaybeMessage< ::pg_query::OnConflictClause >(GetArenaForAllocation()); + set_has_constraints_set_stmt(); + _impl_.node_.constraints_set_stmt_ = CreateMaybeMessage<::pg_query::ConstraintsSetStmt>(GetArena()); } - return _impl_.node_.on_conflict_clause_; + return _impl_.node_.constraints_set_stmt_; } -inline ::pg_query::OnConflictClause* Node::mutable_on_conflict_clause() { - ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.on_conflict_clause) +inline ::pg_query::ConstraintsSetStmt* Node::mutable_constraints_set_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ConstraintsSetStmt* _msg = _internal_mutable_constraints_set_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.constraints_set_stmt) return _msg; } -// .pg_query.CTESearchClause ctesearch_clause = 214 [json_name = "CTESearchClause"]; -inline bool Node::_internal_has_ctesearch_clause() const { - return node_case() == kCtesearchClause; +// .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"]; +inline bool Node::has_reindex_stmt() const { + return node_case() == kReindexStmt; } -inline bool Node::has_ctesearch_clause() const { - return _internal_has_ctesearch_clause(); +inline bool Node::_internal_has_reindex_stmt() const { + return node_case() == kReindexStmt; } -inline void Node::set_has_ctesearch_clause() { - _impl_._oneof_case_[0] = kCtesearchClause; +inline void Node::set_has_reindex_stmt() { + _impl_._oneof_case_[0] = kReindexStmt; } -inline void Node::clear_ctesearch_clause() { - if (_internal_has_ctesearch_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.ctesearch_clause_; +inline void Node::clear_reindex_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kReindexStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.reindex_stmt_; } clear_has_node(); } } -inline ::pg_query::CTESearchClause* Node::release_ctesearch_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.ctesearch_clause) - if (_internal_has_ctesearch_clause()) { +inline ::pg_query::ReindexStmt* Node::release_reindex_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.reindex_stmt) + if (node_case() == kReindexStmt) { clear_has_node(); - ::pg_query::CTESearchClause* temp = _impl_.node_.ctesearch_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.reindex_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.ctesearch_clause_ = nullptr; + _impl_.node_.reindex_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CTESearchClause& Node::_internal_ctesearch_clause() const { - return _internal_has_ctesearch_clause() - ? *_impl_.node_.ctesearch_clause_ - : reinterpret_cast< ::pg_query::CTESearchClause&>(::pg_query::_CTESearchClause_default_instance_); +inline const ::pg_query::ReindexStmt& Node::_internal_reindex_stmt() const { + return node_case() == kReindexStmt ? *_impl_.node_.reindex_stmt_ : reinterpret_cast<::pg_query::ReindexStmt&>(::pg_query::_ReindexStmt_default_instance_); } -inline const ::pg_query::CTESearchClause& Node::ctesearch_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.ctesearch_clause) - return _internal_ctesearch_clause(); +inline const ::pg_query::ReindexStmt& Node::reindex_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.reindex_stmt) + return _internal_reindex_stmt(); } -inline ::pg_query::CTESearchClause* Node::unsafe_arena_release_ctesearch_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctesearch_clause) - if (_internal_has_ctesearch_clause()) { +inline ::pg_query::ReindexStmt* Node::unsafe_arena_release_reindex_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reindex_stmt) + if (node_case() == kReindexStmt) { clear_has_node(); - ::pg_query::CTESearchClause* temp = _impl_.node_.ctesearch_clause_; - _impl_.node_.ctesearch_clause_ = nullptr; + auto* temp = _impl_.node_.reindex_stmt_; + _impl_.node_.reindex_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_ctesearch_clause(::pg_query::CTESearchClause* ctesearch_clause) { +inline void Node::unsafe_arena_set_allocated_reindex_stmt(::pg_query::ReindexStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (ctesearch_clause) { - set_has_ctesearch_clause(); - _impl_.node_.ctesearch_clause_ = ctesearch_clause; + if (value) { + set_has_reindex_stmt(); + _impl_.node_.reindex_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctesearch_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reindex_stmt) } -inline ::pg_query::CTESearchClause* Node::_internal_mutable_ctesearch_clause() { - if (!_internal_has_ctesearch_clause()) { +inline ::pg_query::ReindexStmt* Node::_internal_mutable_reindex_stmt() { + if (node_case() != kReindexStmt) { clear_node(); - set_has_ctesearch_clause(); - _impl_.node_.ctesearch_clause_ = CreateMaybeMessage< ::pg_query::CTESearchClause >(GetArenaForAllocation()); + set_has_reindex_stmt(); + _impl_.node_.reindex_stmt_ = CreateMaybeMessage<::pg_query::ReindexStmt>(GetArena()); } - return _impl_.node_.ctesearch_clause_; + return _impl_.node_.reindex_stmt_; } -inline ::pg_query::CTESearchClause* Node::mutable_ctesearch_clause() { - ::pg_query::CTESearchClause* _msg = _internal_mutable_ctesearch_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.ctesearch_clause) +inline ::pg_query::ReindexStmt* Node::mutable_reindex_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReindexStmt* _msg = _internal_mutable_reindex_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.reindex_stmt) return _msg; } -// .pg_query.CTECycleClause ctecycle_clause = 215 [json_name = "CTECycleClause"]; -inline bool Node::_internal_has_ctecycle_clause() const { - return node_case() == kCtecycleClause; +// .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"]; +inline bool Node::has_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt; } -inline bool Node::has_ctecycle_clause() const { - return _internal_has_ctecycle_clause(); +inline bool Node::_internal_has_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt; } -inline void Node::set_has_ctecycle_clause() { - _impl_._oneof_case_[0] = kCtecycleClause; +inline void Node::set_has_create_conversion_stmt() { + _impl_._oneof_case_[0] = kCreateConversionStmt; } -inline void Node::clear_ctecycle_clause() { - if (_internal_has_ctecycle_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.ctecycle_clause_; +inline void Node::clear_create_conversion_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateConversionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_conversion_stmt_; } clear_has_node(); } } -inline ::pg_query::CTECycleClause* Node::release_ctecycle_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.ctecycle_clause) - if (_internal_has_ctecycle_clause()) { +inline ::pg_query::CreateConversionStmt* Node::release_create_conversion_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_conversion_stmt) + if (node_case() == kCreateConversionStmt) { clear_has_node(); - ::pg_query::CTECycleClause* temp = _impl_.node_.ctecycle_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_conversion_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.ctecycle_clause_ = nullptr; + _impl_.node_.create_conversion_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CTECycleClause& Node::_internal_ctecycle_clause() const { - return _internal_has_ctecycle_clause() - ? *_impl_.node_.ctecycle_clause_ - : reinterpret_cast< ::pg_query::CTECycleClause&>(::pg_query::_CTECycleClause_default_instance_); +inline const ::pg_query::CreateConversionStmt& Node::_internal_create_conversion_stmt() const { + return node_case() == kCreateConversionStmt ? *_impl_.node_.create_conversion_stmt_ : reinterpret_cast<::pg_query::CreateConversionStmt&>(::pg_query::_CreateConversionStmt_default_instance_); } -inline const ::pg_query::CTECycleClause& Node::ctecycle_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.ctecycle_clause) - return _internal_ctecycle_clause(); +inline const ::pg_query::CreateConversionStmt& Node::create_conversion_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_conversion_stmt) + return _internal_create_conversion_stmt(); } -inline ::pg_query::CTECycleClause* Node::unsafe_arena_release_ctecycle_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.ctecycle_clause) - if (_internal_has_ctecycle_clause()) { +inline ::pg_query::CreateConversionStmt* Node::unsafe_arena_release_create_conversion_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_conversion_stmt) + if (node_case() == kCreateConversionStmt) { clear_has_node(); - ::pg_query::CTECycleClause* temp = _impl_.node_.ctecycle_clause_; - _impl_.node_.ctecycle_clause_ = nullptr; + auto* temp = _impl_.node_.create_conversion_stmt_; + _impl_.node_.create_conversion_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_ctecycle_clause(::pg_query::CTECycleClause* ctecycle_clause) { +inline void Node::unsafe_arena_set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (ctecycle_clause) { - set_has_ctecycle_clause(); - _impl_.node_.ctecycle_clause_ = ctecycle_clause; + if (value) { + set_has_create_conversion_stmt(); + _impl_.node_.create_conversion_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.ctecycle_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_conversion_stmt) } -inline ::pg_query::CTECycleClause* Node::_internal_mutable_ctecycle_clause() { - if (!_internal_has_ctecycle_clause()) { +inline ::pg_query::CreateConversionStmt* Node::_internal_mutable_create_conversion_stmt() { + if (node_case() != kCreateConversionStmt) { clear_node(); - set_has_ctecycle_clause(); - _impl_.node_.ctecycle_clause_ = CreateMaybeMessage< ::pg_query::CTECycleClause >(GetArenaForAllocation()); + set_has_create_conversion_stmt(); + _impl_.node_.create_conversion_stmt_ = CreateMaybeMessage<::pg_query::CreateConversionStmt>(GetArena()); } - return _impl_.node_.ctecycle_clause_; + return _impl_.node_.create_conversion_stmt_; } -inline ::pg_query::CTECycleClause* Node::mutable_ctecycle_clause() { - ::pg_query::CTECycleClause* _msg = _internal_mutable_ctecycle_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.ctecycle_clause) +inline ::pg_query::CreateConversionStmt* Node::mutable_create_conversion_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateConversionStmt* _msg = _internal_mutable_create_conversion_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_conversion_stmt) return _msg; } -// .pg_query.CommonTableExpr common_table_expr = 216 [json_name = "CommonTableExpr"]; -inline bool Node::_internal_has_common_table_expr() const { - return node_case() == kCommonTableExpr; +// .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"]; +inline bool Node::has_create_cast_stmt() const { + return node_case() == kCreateCastStmt; } -inline bool Node::has_common_table_expr() const { - return _internal_has_common_table_expr(); +inline bool Node::_internal_has_create_cast_stmt() const { + return node_case() == kCreateCastStmt; } -inline void Node::set_has_common_table_expr() { - _impl_._oneof_case_[0] = kCommonTableExpr; +inline void Node::set_has_create_cast_stmt() { + _impl_._oneof_case_[0] = kCreateCastStmt; } -inline void Node::clear_common_table_expr() { - if (_internal_has_common_table_expr()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.common_table_expr_; +inline void Node::clear_create_cast_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateCastStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_cast_stmt_; } clear_has_node(); } } -inline ::pg_query::CommonTableExpr* Node::release_common_table_expr() { - // @@protoc_insertion_point(field_release:pg_query.Node.common_table_expr) - if (_internal_has_common_table_expr()) { +inline ::pg_query::CreateCastStmt* Node::release_create_cast_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_cast_stmt) + if (node_case() == kCreateCastStmt) { clear_has_node(); - ::pg_query::CommonTableExpr* temp = _impl_.node_.common_table_expr_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_cast_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.common_table_expr_ = nullptr; + _impl_.node_.create_cast_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CommonTableExpr& Node::_internal_common_table_expr() const { - return _internal_has_common_table_expr() - ? *_impl_.node_.common_table_expr_ - : reinterpret_cast< ::pg_query::CommonTableExpr&>(::pg_query::_CommonTableExpr_default_instance_); +inline const ::pg_query::CreateCastStmt& Node::_internal_create_cast_stmt() const { + return node_case() == kCreateCastStmt ? *_impl_.node_.create_cast_stmt_ : reinterpret_cast<::pg_query::CreateCastStmt&>(::pg_query::_CreateCastStmt_default_instance_); } -inline const ::pg_query::CommonTableExpr& Node::common_table_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Node.common_table_expr) - return _internal_common_table_expr(); +inline const ::pg_query::CreateCastStmt& Node::create_cast_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_cast_stmt) + return _internal_create_cast_stmt(); } -inline ::pg_query::CommonTableExpr* Node::unsafe_arena_release_common_table_expr() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.common_table_expr) - if (_internal_has_common_table_expr()) { +inline ::pg_query::CreateCastStmt* Node::unsafe_arena_release_create_cast_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_cast_stmt) + if (node_case() == kCreateCastStmt) { clear_has_node(); - ::pg_query::CommonTableExpr* temp = _impl_.node_.common_table_expr_; - _impl_.node_.common_table_expr_ = nullptr; + auto* temp = _impl_.node_.create_cast_stmt_; + _impl_.node_.create_cast_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_common_table_expr(::pg_query::CommonTableExpr* common_table_expr) { +inline void Node::unsafe_arena_set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (common_table_expr) { - set_has_common_table_expr(); - _impl_.node_.common_table_expr_ = common_table_expr; + if (value) { + set_has_create_cast_stmt(); + _impl_.node_.create_cast_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.common_table_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_cast_stmt) } -inline ::pg_query::CommonTableExpr* Node::_internal_mutable_common_table_expr() { - if (!_internal_has_common_table_expr()) { +inline ::pg_query::CreateCastStmt* Node::_internal_mutable_create_cast_stmt() { + if (node_case() != kCreateCastStmt) { clear_node(); - set_has_common_table_expr(); - _impl_.node_.common_table_expr_ = CreateMaybeMessage< ::pg_query::CommonTableExpr >(GetArenaForAllocation()); + set_has_create_cast_stmt(); + _impl_.node_.create_cast_stmt_ = CreateMaybeMessage<::pg_query::CreateCastStmt>(GetArena()); } - return _impl_.node_.common_table_expr_; + return _impl_.node_.create_cast_stmt_; } -inline ::pg_query::CommonTableExpr* Node::mutable_common_table_expr() { - ::pg_query::CommonTableExpr* _msg = _internal_mutable_common_table_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.common_table_expr) +inline ::pg_query::CreateCastStmt* Node::mutable_create_cast_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateCastStmt* _msg = _internal_mutable_create_cast_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_cast_stmt) return _msg; } -// .pg_query.MergeWhenClause merge_when_clause = 217 [json_name = "MergeWhenClause"]; -inline bool Node::_internal_has_merge_when_clause() const { - return node_case() == kMergeWhenClause; +// .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"]; +inline bool Node::has_create_transform_stmt() const { + return node_case() == kCreateTransformStmt; } -inline bool Node::has_merge_when_clause() const { - return _internal_has_merge_when_clause(); +inline bool Node::_internal_has_create_transform_stmt() const { + return node_case() == kCreateTransformStmt; } -inline void Node::set_has_merge_when_clause() { - _impl_._oneof_case_[0] = kMergeWhenClause; +inline void Node::set_has_create_transform_stmt() { + _impl_._oneof_case_[0] = kCreateTransformStmt; } -inline void Node::clear_merge_when_clause() { - if (_internal_has_merge_when_clause()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.merge_when_clause_; +inline void Node::clear_create_transform_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateTransformStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_transform_stmt_; } clear_has_node(); } } -inline ::pg_query::MergeWhenClause* Node::release_merge_when_clause() { - // @@protoc_insertion_point(field_release:pg_query.Node.merge_when_clause) - if (_internal_has_merge_when_clause()) { +inline ::pg_query::CreateTransformStmt* Node::release_create_transform_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_transform_stmt) + if (node_case() == kCreateTransformStmt) { clear_has_node(); - ::pg_query::MergeWhenClause* temp = _impl_.node_.merge_when_clause_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_transform_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.merge_when_clause_ = nullptr; + _impl_.node_.create_transform_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::MergeWhenClause& Node::_internal_merge_when_clause() const { - return _internal_has_merge_when_clause() - ? *_impl_.node_.merge_when_clause_ - : reinterpret_cast< ::pg_query::MergeWhenClause&>(::pg_query::_MergeWhenClause_default_instance_); +inline const ::pg_query::CreateTransformStmt& Node::_internal_create_transform_stmt() const { + return node_case() == kCreateTransformStmt ? *_impl_.node_.create_transform_stmt_ : reinterpret_cast<::pg_query::CreateTransformStmt&>(::pg_query::_CreateTransformStmt_default_instance_); } -inline const ::pg_query::MergeWhenClause& Node::merge_when_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Node.merge_when_clause) - return _internal_merge_when_clause(); +inline const ::pg_query::CreateTransformStmt& Node::create_transform_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_transform_stmt) + return _internal_create_transform_stmt(); } -inline ::pg_query::MergeWhenClause* Node::unsafe_arena_release_merge_when_clause() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.merge_when_clause) - if (_internal_has_merge_when_clause()) { +inline ::pg_query::CreateTransformStmt* Node::unsafe_arena_release_create_transform_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_transform_stmt) + if (node_case() == kCreateTransformStmt) { clear_has_node(); - ::pg_query::MergeWhenClause* temp = _impl_.node_.merge_when_clause_; - _impl_.node_.merge_when_clause_ = nullptr; + auto* temp = _impl_.node_.create_transform_stmt_; + _impl_.node_.create_transform_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_merge_when_clause(::pg_query::MergeWhenClause* merge_when_clause) { +inline void Node::unsafe_arena_set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (merge_when_clause) { - set_has_merge_when_clause(); - _impl_.node_.merge_when_clause_ = merge_when_clause; + if (value) { + set_has_create_transform_stmt(); + _impl_.node_.create_transform_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.merge_when_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_transform_stmt) } -inline ::pg_query::MergeWhenClause* Node::_internal_mutable_merge_when_clause() { - if (!_internal_has_merge_when_clause()) { +inline ::pg_query::CreateTransformStmt* Node::_internal_mutable_create_transform_stmt() { + if (node_case() != kCreateTransformStmt) { clear_node(); - set_has_merge_when_clause(); - _impl_.node_.merge_when_clause_ = CreateMaybeMessage< ::pg_query::MergeWhenClause >(GetArenaForAllocation()); + set_has_create_transform_stmt(); + _impl_.node_.create_transform_stmt_ = CreateMaybeMessage<::pg_query::CreateTransformStmt>(GetArena()); } - return _impl_.node_.merge_when_clause_; + return _impl_.node_.create_transform_stmt_; } -inline ::pg_query::MergeWhenClause* Node::mutable_merge_when_clause() { - ::pg_query::MergeWhenClause* _msg = _internal_mutable_merge_when_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.merge_when_clause) +inline ::pg_query::CreateTransformStmt* Node::mutable_create_transform_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateTransformStmt* _msg = _internal_mutable_create_transform_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_transform_stmt) return _msg; } -// .pg_query.RoleSpec role_spec = 218 [json_name = "RoleSpec"]; -inline bool Node::_internal_has_role_spec() const { - return node_case() == kRoleSpec; +// .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"]; +inline bool Node::has_prepare_stmt() const { + return node_case() == kPrepareStmt; } -inline bool Node::has_role_spec() const { - return _internal_has_role_spec(); +inline bool Node::_internal_has_prepare_stmt() const { + return node_case() == kPrepareStmt; } -inline void Node::set_has_role_spec() { - _impl_._oneof_case_[0] = kRoleSpec; +inline void Node::set_has_prepare_stmt() { + _impl_._oneof_case_[0] = kPrepareStmt; } -inline void Node::clear_role_spec() { - if (_internal_has_role_spec()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.role_spec_; +inline void Node::clear_prepare_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPrepareStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.prepare_stmt_; } clear_has_node(); } } -inline ::pg_query::RoleSpec* Node::release_role_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.role_spec) - if (_internal_has_role_spec()) { +inline ::pg_query::PrepareStmt* Node::release_prepare_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.prepare_stmt) + if (node_case() == kPrepareStmt) { clear_has_node(); - ::pg_query::RoleSpec* temp = _impl_.node_.role_spec_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.prepare_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.role_spec_ = nullptr; + _impl_.node_.prepare_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::RoleSpec& Node::_internal_role_spec() const { - return _internal_has_role_spec() - ? *_impl_.node_.role_spec_ - : reinterpret_cast< ::pg_query::RoleSpec&>(::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::PrepareStmt& Node::_internal_prepare_stmt() const { + return node_case() == kPrepareStmt ? *_impl_.node_.prepare_stmt_ : reinterpret_cast<::pg_query::PrepareStmt&>(::pg_query::_PrepareStmt_default_instance_); } -inline const ::pg_query::RoleSpec& Node::role_spec() const { - // @@protoc_insertion_point(field_get:pg_query.Node.role_spec) - return _internal_role_spec(); +inline const ::pg_query::PrepareStmt& Node::prepare_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.prepare_stmt) + return _internal_prepare_stmt(); } -inline ::pg_query::RoleSpec* Node::unsafe_arena_release_role_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.role_spec) - if (_internal_has_role_spec()) { +inline ::pg_query::PrepareStmt* Node::unsafe_arena_release_prepare_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.prepare_stmt) + if (node_case() == kPrepareStmt) { clear_has_node(); - ::pg_query::RoleSpec* temp = _impl_.node_.role_spec_; - _impl_.node_.role_spec_ = nullptr; + auto* temp = _impl_.node_.prepare_stmt_; + _impl_.node_.prepare_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_role_spec(::pg_query::RoleSpec* role_spec) { +inline void Node::unsafe_arena_set_allocated_prepare_stmt(::pg_query::PrepareStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (role_spec) { - set_has_role_spec(); - _impl_.node_.role_spec_ = role_spec; + if (value) { + set_has_prepare_stmt(); + _impl_.node_.prepare_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.role_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.prepare_stmt) } -inline ::pg_query::RoleSpec* Node::_internal_mutable_role_spec() { - if (!_internal_has_role_spec()) { +inline ::pg_query::PrepareStmt* Node::_internal_mutable_prepare_stmt() { + if (node_case() != kPrepareStmt) { clear_node(); - set_has_role_spec(); - _impl_.node_.role_spec_ = CreateMaybeMessage< ::pg_query::RoleSpec >(GetArenaForAllocation()); + set_has_prepare_stmt(); + _impl_.node_.prepare_stmt_ = CreateMaybeMessage<::pg_query::PrepareStmt>(GetArena()); } - return _impl_.node_.role_spec_; + return _impl_.node_.prepare_stmt_; } -inline ::pg_query::RoleSpec* Node::mutable_role_spec() { - ::pg_query::RoleSpec* _msg = _internal_mutable_role_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.role_spec) +inline ::pg_query::PrepareStmt* Node::mutable_prepare_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PrepareStmt* _msg = _internal_mutable_prepare_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.prepare_stmt) return _msg; } -// .pg_query.TriggerTransition trigger_transition = 219 [json_name = "TriggerTransition"]; -inline bool Node::_internal_has_trigger_transition() const { - return node_case() == kTriggerTransition; +// .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"]; +inline bool Node::has_execute_stmt() const { + return node_case() == kExecuteStmt; } -inline bool Node::has_trigger_transition() const { - return _internal_has_trigger_transition(); +inline bool Node::_internal_has_execute_stmt() const { + return node_case() == kExecuteStmt; } -inline void Node::set_has_trigger_transition() { - _impl_._oneof_case_[0] = kTriggerTransition; +inline void Node::set_has_execute_stmt() { + _impl_._oneof_case_[0] = kExecuteStmt; } -inline void Node::clear_trigger_transition() { - if (_internal_has_trigger_transition()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.trigger_transition_; +inline void Node::clear_execute_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kExecuteStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.execute_stmt_; } clear_has_node(); } } -inline ::pg_query::TriggerTransition* Node::release_trigger_transition() { - // @@protoc_insertion_point(field_release:pg_query.Node.trigger_transition) - if (_internal_has_trigger_transition()) { +inline ::pg_query::ExecuteStmt* Node::release_execute_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.execute_stmt) + if (node_case() == kExecuteStmt) { clear_has_node(); - ::pg_query::TriggerTransition* temp = _impl_.node_.trigger_transition_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.execute_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.trigger_transition_ = nullptr; + _impl_.node_.execute_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::TriggerTransition& Node::_internal_trigger_transition() const { - return _internal_has_trigger_transition() - ? *_impl_.node_.trigger_transition_ - : reinterpret_cast< ::pg_query::TriggerTransition&>(::pg_query::_TriggerTransition_default_instance_); +inline const ::pg_query::ExecuteStmt& Node::_internal_execute_stmt() const { + return node_case() == kExecuteStmt ? *_impl_.node_.execute_stmt_ : reinterpret_cast<::pg_query::ExecuteStmt&>(::pg_query::_ExecuteStmt_default_instance_); } -inline const ::pg_query::TriggerTransition& Node::trigger_transition() const { - // @@protoc_insertion_point(field_get:pg_query.Node.trigger_transition) - return _internal_trigger_transition(); +inline const ::pg_query::ExecuteStmt& Node::execute_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.execute_stmt) + return _internal_execute_stmt(); } -inline ::pg_query::TriggerTransition* Node::unsafe_arena_release_trigger_transition() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.trigger_transition) - if (_internal_has_trigger_transition()) { +inline ::pg_query::ExecuteStmt* Node::unsafe_arena_release_execute_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.execute_stmt) + if (node_case() == kExecuteStmt) { clear_has_node(); - ::pg_query::TriggerTransition* temp = _impl_.node_.trigger_transition_; - _impl_.node_.trigger_transition_ = nullptr; + auto* temp = _impl_.node_.execute_stmt_; + _impl_.node_.execute_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_trigger_transition(::pg_query::TriggerTransition* trigger_transition) { +inline void Node::unsafe_arena_set_allocated_execute_stmt(::pg_query::ExecuteStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (trigger_transition) { - set_has_trigger_transition(); - _impl_.node_.trigger_transition_ = trigger_transition; + if (value) { + set_has_execute_stmt(); + _impl_.node_.execute_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.trigger_transition) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.execute_stmt) } -inline ::pg_query::TriggerTransition* Node::_internal_mutable_trigger_transition() { - if (!_internal_has_trigger_transition()) { +inline ::pg_query::ExecuteStmt* Node::_internal_mutable_execute_stmt() { + if (node_case() != kExecuteStmt) { clear_node(); - set_has_trigger_transition(); - _impl_.node_.trigger_transition_ = CreateMaybeMessage< ::pg_query::TriggerTransition >(GetArenaForAllocation()); + set_has_execute_stmt(); + _impl_.node_.execute_stmt_ = CreateMaybeMessage<::pg_query::ExecuteStmt>(GetArena()); } - return _impl_.node_.trigger_transition_; + return _impl_.node_.execute_stmt_; } -inline ::pg_query::TriggerTransition* Node::mutable_trigger_transition() { - ::pg_query::TriggerTransition* _msg = _internal_mutable_trigger_transition(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.trigger_transition) +inline ::pg_query::ExecuteStmt* Node::mutable_execute_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ExecuteStmt* _msg = _internal_mutable_execute_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.execute_stmt) return _msg; } -// .pg_query.PartitionElem partition_elem = 220 [json_name = "PartitionElem"]; -inline bool Node::_internal_has_partition_elem() const { - return node_case() == kPartitionElem; +// .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"]; +inline bool Node::has_deallocate_stmt() const { + return node_case() == kDeallocateStmt; } -inline bool Node::has_partition_elem() const { - return _internal_has_partition_elem(); +inline bool Node::_internal_has_deallocate_stmt() const { + return node_case() == kDeallocateStmt; } -inline void Node::set_has_partition_elem() { - _impl_._oneof_case_[0] = kPartitionElem; +inline void Node::set_has_deallocate_stmt() { + _impl_._oneof_case_[0] = kDeallocateStmt; } -inline void Node::clear_partition_elem() { - if (_internal_has_partition_elem()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.partition_elem_; +inline void Node::clear_deallocate_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDeallocateStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.deallocate_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionElem* Node::release_partition_elem() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_elem) - if (_internal_has_partition_elem()) { +inline ::pg_query::DeallocateStmt* Node::release_deallocate_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.deallocate_stmt) + if (node_case() == kDeallocateStmt) { clear_has_node(); - ::pg_query::PartitionElem* temp = _impl_.node_.partition_elem_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.deallocate_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_elem_ = nullptr; + _impl_.node_.deallocate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionElem& Node::_internal_partition_elem() const { - return _internal_has_partition_elem() - ? *_impl_.node_.partition_elem_ - : reinterpret_cast< ::pg_query::PartitionElem&>(::pg_query::_PartitionElem_default_instance_); +inline const ::pg_query::DeallocateStmt& Node::_internal_deallocate_stmt() const { + return node_case() == kDeallocateStmt ? *_impl_.node_.deallocate_stmt_ : reinterpret_cast<::pg_query::DeallocateStmt&>(::pg_query::_DeallocateStmt_default_instance_); } -inline const ::pg_query::PartitionElem& Node::partition_elem() const { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_elem) - return _internal_partition_elem(); +inline const ::pg_query::DeallocateStmt& Node::deallocate_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.deallocate_stmt) + return _internal_deallocate_stmt(); } -inline ::pg_query::PartitionElem* Node::unsafe_arena_release_partition_elem() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_elem) - if (_internal_has_partition_elem()) { +inline ::pg_query::DeallocateStmt* Node::unsafe_arena_release_deallocate_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.deallocate_stmt) + if (node_case() == kDeallocateStmt) { clear_has_node(); - ::pg_query::PartitionElem* temp = _impl_.node_.partition_elem_; - _impl_.node_.partition_elem_ = nullptr; + auto* temp = _impl_.node_.deallocate_stmt_; + _impl_.node_.deallocate_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_elem(::pg_query::PartitionElem* partition_elem) { +inline void Node::unsafe_arena_set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (partition_elem) { - set_has_partition_elem(); - _impl_.node_.partition_elem_ = partition_elem; + if (value) { + set_has_deallocate_stmt(); + _impl_.node_.deallocate_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_elem) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.deallocate_stmt) } -inline ::pg_query::PartitionElem* Node::_internal_mutable_partition_elem() { - if (!_internal_has_partition_elem()) { +inline ::pg_query::DeallocateStmt* Node::_internal_mutable_deallocate_stmt() { + if (node_case() != kDeallocateStmt) { clear_node(); - set_has_partition_elem(); - _impl_.node_.partition_elem_ = CreateMaybeMessage< ::pg_query::PartitionElem >(GetArenaForAllocation()); + set_has_deallocate_stmt(); + _impl_.node_.deallocate_stmt_ = CreateMaybeMessage<::pg_query::DeallocateStmt>(GetArena()); } - return _impl_.node_.partition_elem_; + return _impl_.node_.deallocate_stmt_; } -inline ::pg_query::PartitionElem* Node::mutable_partition_elem() { - ::pg_query::PartitionElem* _msg = _internal_mutable_partition_elem(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_elem) +inline ::pg_query::DeallocateStmt* Node::mutable_deallocate_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DeallocateStmt* _msg = _internal_mutable_deallocate_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.deallocate_stmt) return _msg; } -// .pg_query.PartitionSpec partition_spec = 221 [json_name = "PartitionSpec"]; -inline bool Node::_internal_has_partition_spec() const { - return node_case() == kPartitionSpec; +// .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"]; +inline bool Node::has_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt; } -inline bool Node::has_partition_spec() const { - return _internal_has_partition_spec(); +inline bool Node::_internal_has_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt; } -inline void Node::set_has_partition_spec() { - _impl_._oneof_case_[0] = kPartitionSpec; +inline void Node::set_has_drop_owned_stmt() { + _impl_._oneof_case_[0] = kDropOwnedStmt; } -inline void Node::clear_partition_spec() { - if (_internal_has_partition_spec()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.partition_spec_; +inline void Node::clear_drop_owned_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropOwnedStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.drop_owned_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionSpec* Node::release_partition_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_spec) - if (_internal_has_partition_spec()) { +inline ::pg_query::DropOwnedStmt* Node::release_drop_owned_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_owned_stmt) + if (node_case() == kDropOwnedStmt) { clear_has_node(); - ::pg_query::PartitionSpec* temp = _impl_.node_.partition_spec_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.drop_owned_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_spec_ = nullptr; + _impl_.node_.drop_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionSpec& Node::_internal_partition_spec() const { - return _internal_has_partition_spec() - ? *_impl_.node_.partition_spec_ - : reinterpret_cast< ::pg_query::PartitionSpec&>(::pg_query::_PartitionSpec_default_instance_); +inline const ::pg_query::DropOwnedStmt& Node::_internal_drop_owned_stmt() const { + return node_case() == kDropOwnedStmt ? *_impl_.node_.drop_owned_stmt_ : reinterpret_cast<::pg_query::DropOwnedStmt&>(::pg_query::_DropOwnedStmt_default_instance_); } -inline const ::pg_query::PartitionSpec& Node::partition_spec() const { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_spec) - return _internal_partition_spec(); +inline const ::pg_query::DropOwnedStmt& Node::drop_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_owned_stmt) + return _internal_drop_owned_stmt(); } -inline ::pg_query::PartitionSpec* Node::unsafe_arena_release_partition_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_spec) - if (_internal_has_partition_spec()) { +inline ::pg_query::DropOwnedStmt* Node::unsafe_arena_release_drop_owned_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_owned_stmt) + if (node_case() == kDropOwnedStmt) { clear_has_node(); - ::pg_query::PartitionSpec* temp = _impl_.node_.partition_spec_; - _impl_.node_.partition_spec_ = nullptr; + auto* temp = _impl_.node_.drop_owned_stmt_; + _impl_.node_.drop_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_spec(::pg_query::PartitionSpec* partition_spec) { +inline void Node::unsafe_arena_set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (partition_spec) { - set_has_partition_spec(); - _impl_.node_.partition_spec_ = partition_spec; + if (value) { + set_has_drop_owned_stmt(); + _impl_.node_.drop_owned_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_owned_stmt) } -inline ::pg_query::PartitionSpec* Node::_internal_mutable_partition_spec() { - if (!_internal_has_partition_spec()) { +inline ::pg_query::DropOwnedStmt* Node::_internal_mutable_drop_owned_stmt() { + if (node_case() != kDropOwnedStmt) { clear_node(); - set_has_partition_spec(); - _impl_.node_.partition_spec_ = CreateMaybeMessage< ::pg_query::PartitionSpec >(GetArenaForAllocation()); + set_has_drop_owned_stmt(); + _impl_.node_.drop_owned_stmt_ = CreateMaybeMessage<::pg_query::DropOwnedStmt>(GetArena()); } - return _impl_.node_.partition_spec_; + return _impl_.node_.drop_owned_stmt_; } -inline ::pg_query::PartitionSpec* Node::mutable_partition_spec() { - ::pg_query::PartitionSpec* _msg = _internal_mutable_partition_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_spec) +inline ::pg_query::DropOwnedStmt* Node::mutable_drop_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropOwnedStmt* _msg = _internal_mutable_drop_owned_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_owned_stmt) return _msg; } -// .pg_query.PartitionBoundSpec partition_bound_spec = 222 [json_name = "PartitionBoundSpec"]; -inline bool Node::_internal_has_partition_bound_spec() const { - return node_case() == kPartitionBoundSpec; +// .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"]; +inline bool Node::has_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt; } -inline bool Node::has_partition_bound_spec() const { - return _internal_has_partition_bound_spec(); +inline bool Node::_internal_has_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt; } -inline void Node::set_has_partition_bound_spec() { - _impl_._oneof_case_[0] = kPartitionBoundSpec; +inline void Node::set_has_reassign_owned_stmt() { + _impl_._oneof_case_[0] = kReassignOwnedStmt; } -inline void Node::clear_partition_bound_spec() { - if (_internal_has_partition_bound_spec()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.partition_bound_spec_; +inline void Node::clear_reassign_owned_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kReassignOwnedStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.reassign_owned_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionBoundSpec* Node::release_partition_bound_spec() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_bound_spec) - if (_internal_has_partition_bound_spec()) { +inline ::pg_query::ReassignOwnedStmt* Node::release_reassign_owned_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.reassign_owned_stmt) + if (node_case() == kReassignOwnedStmt) { clear_has_node(); - ::pg_query::PartitionBoundSpec* temp = _impl_.node_.partition_bound_spec_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.reassign_owned_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_bound_spec_ = nullptr; + _impl_.node_.reassign_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionBoundSpec& Node::_internal_partition_bound_spec() const { - return _internal_has_partition_bound_spec() - ? *_impl_.node_.partition_bound_spec_ - : reinterpret_cast< ::pg_query::PartitionBoundSpec&>(::pg_query::_PartitionBoundSpec_default_instance_); +inline const ::pg_query::ReassignOwnedStmt& Node::_internal_reassign_owned_stmt() const { + return node_case() == kReassignOwnedStmt ? *_impl_.node_.reassign_owned_stmt_ : reinterpret_cast<::pg_query::ReassignOwnedStmt&>(::pg_query::_ReassignOwnedStmt_default_instance_); } -inline const ::pg_query::PartitionBoundSpec& Node::partition_bound_spec() const { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_bound_spec) - return _internal_partition_bound_spec(); +inline const ::pg_query::ReassignOwnedStmt& Node::reassign_owned_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.reassign_owned_stmt) + return _internal_reassign_owned_stmt(); } -inline ::pg_query::PartitionBoundSpec* Node::unsafe_arena_release_partition_bound_spec() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_bound_spec) - if (_internal_has_partition_bound_spec()) { +inline ::pg_query::ReassignOwnedStmt* Node::unsafe_arena_release_reassign_owned_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.reassign_owned_stmt) + if (node_case() == kReassignOwnedStmt) { clear_has_node(); - ::pg_query::PartitionBoundSpec* temp = _impl_.node_.partition_bound_spec_; - _impl_.node_.partition_bound_spec_ = nullptr; + auto* temp = _impl_.node_.reassign_owned_stmt_; + _impl_.node_.reassign_owned_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* partition_bound_spec) { +inline void Node::unsafe_arena_set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (partition_bound_spec) { - set_has_partition_bound_spec(); - _impl_.node_.partition_bound_spec_ = partition_bound_spec; + if (value) { + set_has_reassign_owned_stmt(); + _impl_.node_.reassign_owned_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_bound_spec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.reassign_owned_stmt) } -inline ::pg_query::PartitionBoundSpec* Node::_internal_mutable_partition_bound_spec() { - if (!_internal_has_partition_bound_spec()) { +inline ::pg_query::ReassignOwnedStmt* Node::_internal_mutable_reassign_owned_stmt() { + if (node_case() != kReassignOwnedStmt) { clear_node(); - set_has_partition_bound_spec(); - _impl_.node_.partition_bound_spec_ = CreateMaybeMessage< ::pg_query::PartitionBoundSpec >(GetArenaForAllocation()); + set_has_reassign_owned_stmt(); + _impl_.node_.reassign_owned_stmt_ = CreateMaybeMessage<::pg_query::ReassignOwnedStmt>(GetArena()); } - return _impl_.node_.partition_bound_spec_; + return _impl_.node_.reassign_owned_stmt_; } -inline ::pg_query::PartitionBoundSpec* Node::mutable_partition_bound_spec() { - ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partition_bound_spec(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_bound_spec) +inline ::pg_query::ReassignOwnedStmt* Node::mutable_reassign_owned_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ReassignOwnedStmt* _msg = _internal_mutable_reassign_owned_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.reassign_owned_stmt) return _msg; } -// .pg_query.PartitionRangeDatum partition_range_datum = 223 [json_name = "PartitionRangeDatum"]; -inline bool Node::_internal_has_partition_range_datum() const { - return node_case() == kPartitionRangeDatum; +// .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"]; +inline bool Node::has_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt; } -inline bool Node::has_partition_range_datum() const { - return _internal_has_partition_range_datum(); +inline bool Node::_internal_has_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt; } -inline void Node::set_has_partition_range_datum() { - _impl_._oneof_case_[0] = kPartitionRangeDatum; +inline void Node::set_has_alter_tsdictionary_stmt() { + _impl_._oneof_case_[0] = kAlterTsdictionaryStmt; } -inline void Node::clear_partition_range_datum() { - if (_internal_has_partition_range_datum()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.partition_range_datum_; +inline void Node::clear_alter_tsdictionary_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTsdictionaryStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_tsdictionary_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionRangeDatum* Node::release_partition_range_datum() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_range_datum) - if (_internal_has_partition_range_datum()) { +inline ::pg_query::AlterTSDictionaryStmt* Node::release_alter_tsdictionary_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsdictionary_stmt) + if (node_case() == kAlterTsdictionaryStmt) { clear_has_node(); - ::pg_query::PartitionRangeDatum* temp = _impl_.node_.partition_range_datum_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_tsdictionary_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_range_datum_ = nullptr; + _impl_.node_.alter_tsdictionary_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionRangeDatum& Node::_internal_partition_range_datum() const { - return _internal_has_partition_range_datum() - ? *_impl_.node_.partition_range_datum_ - : reinterpret_cast< ::pg_query::PartitionRangeDatum&>(::pg_query::_PartitionRangeDatum_default_instance_); +inline const ::pg_query::AlterTSDictionaryStmt& Node::_internal_alter_tsdictionary_stmt() const { + return node_case() == kAlterTsdictionaryStmt ? *_impl_.node_.alter_tsdictionary_stmt_ : reinterpret_cast<::pg_query::AlterTSDictionaryStmt&>(::pg_query::_AlterTSDictionaryStmt_default_instance_); } -inline const ::pg_query::PartitionRangeDatum& Node::partition_range_datum() const { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_range_datum) - return _internal_partition_range_datum(); +inline const ::pg_query::AlterTSDictionaryStmt& Node::alter_tsdictionary_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsdictionary_stmt) + return _internal_alter_tsdictionary_stmt(); } -inline ::pg_query::PartitionRangeDatum* Node::unsafe_arena_release_partition_range_datum() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_range_datum) - if (_internal_has_partition_range_datum()) { +inline ::pg_query::AlterTSDictionaryStmt* Node::unsafe_arena_release_alter_tsdictionary_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsdictionary_stmt) + if (node_case() == kAlterTsdictionaryStmt) { clear_has_node(); - ::pg_query::PartitionRangeDatum* temp = _impl_.node_.partition_range_datum_; - _impl_.node_.partition_range_datum_ = nullptr; + auto* temp = _impl_.node_.alter_tsdictionary_stmt_; + _impl_.node_.alter_tsdictionary_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* partition_range_datum) { +inline void Node::unsafe_arena_set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (partition_range_datum) { - set_has_partition_range_datum(); - _impl_.node_.partition_range_datum_ = partition_range_datum; + if (value) { + set_has_alter_tsdictionary_stmt(); + _impl_.node_.alter_tsdictionary_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_range_datum) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsdictionary_stmt) } -inline ::pg_query::PartitionRangeDatum* Node::_internal_mutable_partition_range_datum() { - if (!_internal_has_partition_range_datum()) { +inline ::pg_query::AlterTSDictionaryStmt* Node::_internal_mutable_alter_tsdictionary_stmt() { + if (node_case() != kAlterTsdictionaryStmt) { clear_node(); - set_has_partition_range_datum(); - _impl_.node_.partition_range_datum_ = CreateMaybeMessage< ::pg_query::PartitionRangeDatum >(GetArenaForAllocation()); + set_has_alter_tsdictionary_stmt(); + _impl_.node_.alter_tsdictionary_stmt_ = CreateMaybeMessage<::pg_query::AlterTSDictionaryStmt>(GetArena()); } - return _impl_.node_.partition_range_datum_; + return _impl_.node_.alter_tsdictionary_stmt_; } -inline ::pg_query::PartitionRangeDatum* Node::mutable_partition_range_datum() { - ::pg_query::PartitionRangeDatum* _msg = _internal_mutable_partition_range_datum(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_range_datum) +inline ::pg_query::AlterTSDictionaryStmt* Node::mutable_alter_tsdictionary_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTSDictionaryStmt* _msg = _internal_mutable_alter_tsdictionary_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsdictionary_stmt) return _msg; } -// .pg_query.PartitionCmd partition_cmd = 224 [json_name = "PartitionCmd"]; -inline bool Node::_internal_has_partition_cmd() const { - return node_case() == kPartitionCmd; +// .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"]; +inline bool Node::has_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt; } -inline bool Node::has_partition_cmd() const { - return _internal_has_partition_cmd(); +inline bool Node::_internal_has_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt; } -inline void Node::set_has_partition_cmd() { - _impl_._oneof_case_[0] = kPartitionCmd; +inline void Node::set_has_alter_tsconfiguration_stmt() { + _impl_._oneof_case_[0] = kAlterTsconfigurationStmt; } -inline void Node::clear_partition_cmd() { - if (_internal_has_partition_cmd()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.partition_cmd_; +inline void Node::clear_alter_tsconfiguration_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterTsconfigurationStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_tsconfiguration_stmt_; } clear_has_node(); } } -inline ::pg_query::PartitionCmd* Node::release_partition_cmd() { - // @@protoc_insertion_point(field_release:pg_query.Node.partition_cmd) - if (_internal_has_partition_cmd()) { +inline ::pg_query::AlterTSConfigurationStmt* Node::release_alter_tsconfiguration_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_tsconfiguration_stmt) + if (node_case() == kAlterTsconfigurationStmt) { clear_has_node(); - ::pg_query::PartitionCmd* temp = _impl_.node_.partition_cmd_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.partition_cmd_ = nullptr; + _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PartitionCmd& Node::_internal_partition_cmd() const { - return _internal_has_partition_cmd() - ? *_impl_.node_.partition_cmd_ - : reinterpret_cast< ::pg_query::PartitionCmd&>(::pg_query::_PartitionCmd_default_instance_); +inline const ::pg_query::AlterTSConfigurationStmt& Node::_internal_alter_tsconfiguration_stmt() const { + return node_case() == kAlterTsconfigurationStmt ? *_impl_.node_.alter_tsconfiguration_stmt_ : reinterpret_cast<::pg_query::AlterTSConfigurationStmt&>(::pg_query::_AlterTSConfigurationStmt_default_instance_); } -inline const ::pg_query::PartitionCmd& Node::partition_cmd() const { - // @@protoc_insertion_point(field_get:pg_query.Node.partition_cmd) - return _internal_partition_cmd(); +inline const ::pg_query::AlterTSConfigurationStmt& Node::alter_tsconfiguration_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_tsconfiguration_stmt) + return _internal_alter_tsconfiguration_stmt(); } -inline ::pg_query::PartitionCmd* Node::unsafe_arena_release_partition_cmd() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.partition_cmd) - if (_internal_has_partition_cmd()) { +inline ::pg_query::AlterTSConfigurationStmt* Node::unsafe_arena_release_alter_tsconfiguration_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_tsconfiguration_stmt) + if (node_case() == kAlterTsconfigurationStmt) { clear_has_node(); - ::pg_query::PartitionCmd* temp = _impl_.node_.partition_cmd_; - _impl_.node_.partition_cmd_ = nullptr; + auto* temp = _impl_.node_.alter_tsconfiguration_stmt_; + _impl_.node_.alter_tsconfiguration_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_partition_cmd(::pg_query::PartitionCmd* partition_cmd) { +inline void Node::unsafe_arena_set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (partition_cmd) { - set_has_partition_cmd(); - _impl_.node_.partition_cmd_ = partition_cmd; + if (value) { + set_has_alter_tsconfiguration_stmt(); + _impl_.node_.alter_tsconfiguration_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.partition_cmd) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_tsconfiguration_stmt) } -inline ::pg_query::PartitionCmd* Node::_internal_mutable_partition_cmd() { - if (!_internal_has_partition_cmd()) { +inline ::pg_query::AlterTSConfigurationStmt* Node::_internal_mutable_alter_tsconfiguration_stmt() { + if (node_case() != kAlterTsconfigurationStmt) { clear_node(); - set_has_partition_cmd(); - _impl_.node_.partition_cmd_ = CreateMaybeMessage< ::pg_query::PartitionCmd >(GetArenaForAllocation()); + set_has_alter_tsconfiguration_stmt(); + _impl_.node_.alter_tsconfiguration_stmt_ = CreateMaybeMessage<::pg_query::AlterTSConfigurationStmt>(GetArena()); } - return _impl_.node_.partition_cmd_; + return _impl_.node_.alter_tsconfiguration_stmt_; } -inline ::pg_query::PartitionCmd* Node::mutable_partition_cmd() { - ::pg_query::PartitionCmd* _msg = _internal_mutable_partition_cmd(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.partition_cmd) +inline ::pg_query::AlterTSConfigurationStmt* Node::mutable_alter_tsconfiguration_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterTSConfigurationStmt* _msg = _internal_mutable_alter_tsconfiguration_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_tsconfiguration_stmt) return _msg; } -// .pg_query.VacuumRelation vacuum_relation = 225 [json_name = "VacuumRelation"]; -inline bool Node::_internal_has_vacuum_relation() const { - return node_case() == kVacuumRelation; +// .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"]; +inline bool Node::has_publication_table() const { + return node_case() == kPublicationTable; } -inline bool Node::has_vacuum_relation() const { - return _internal_has_vacuum_relation(); +inline bool Node::_internal_has_publication_table() const { + return node_case() == kPublicationTable; } -inline void Node::set_has_vacuum_relation() { - _impl_._oneof_case_[0] = kVacuumRelation; +inline void Node::set_has_publication_table() { + _impl_._oneof_case_[0] = kPublicationTable; } -inline void Node::clear_vacuum_relation() { - if (_internal_has_vacuum_relation()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.vacuum_relation_; +inline void Node::clear_publication_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPublicationTable) { + if (GetArena() == nullptr) { + delete _impl_.node_.publication_table_; } clear_has_node(); } } -inline ::pg_query::VacuumRelation* Node::release_vacuum_relation() { - // @@protoc_insertion_point(field_release:pg_query.Node.vacuum_relation) - if (_internal_has_vacuum_relation()) { +inline ::pg_query::PublicationTable* Node::release_publication_table() { + // @@protoc_insertion_point(field_release:pg_query.Node.publication_table) + if (node_case() == kPublicationTable) { clear_has_node(); - ::pg_query::VacuumRelation* temp = _impl_.node_.vacuum_relation_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.publication_table_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.vacuum_relation_ = nullptr; + _impl_.node_.publication_table_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::VacuumRelation& Node::_internal_vacuum_relation() const { - return _internal_has_vacuum_relation() - ? *_impl_.node_.vacuum_relation_ - : reinterpret_cast< ::pg_query::VacuumRelation&>(::pg_query::_VacuumRelation_default_instance_); +inline const ::pg_query::PublicationTable& Node::_internal_publication_table() const { + return node_case() == kPublicationTable ? *_impl_.node_.publication_table_ : reinterpret_cast<::pg_query::PublicationTable&>(::pg_query::_PublicationTable_default_instance_); } -inline const ::pg_query::VacuumRelation& Node::vacuum_relation() const { - // @@protoc_insertion_point(field_get:pg_query.Node.vacuum_relation) - return _internal_vacuum_relation(); +inline const ::pg_query::PublicationTable& Node::publication_table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.publication_table) + return _internal_publication_table(); } -inline ::pg_query::VacuumRelation* Node::unsafe_arena_release_vacuum_relation() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.vacuum_relation) - if (_internal_has_vacuum_relation()) { +inline ::pg_query::PublicationTable* Node::unsafe_arena_release_publication_table() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_table) + if (node_case() == kPublicationTable) { clear_has_node(); - ::pg_query::VacuumRelation* temp = _impl_.node_.vacuum_relation_; - _impl_.node_.vacuum_relation_ = nullptr; + auto* temp = _impl_.node_.publication_table_; + _impl_.node_.publication_table_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_vacuum_relation(::pg_query::VacuumRelation* vacuum_relation) { +inline void Node::unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (vacuum_relation) { - set_has_vacuum_relation(); - _impl_.node_.vacuum_relation_ = vacuum_relation; + if (value) { + set_has_publication_table(); + _impl_.node_.publication_table_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.vacuum_relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_table) } -inline ::pg_query::VacuumRelation* Node::_internal_mutable_vacuum_relation() { - if (!_internal_has_vacuum_relation()) { +inline ::pg_query::PublicationTable* Node::_internal_mutable_publication_table() { + if (node_case() != kPublicationTable) { clear_node(); - set_has_vacuum_relation(); - _impl_.node_.vacuum_relation_ = CreateMaybeMessage< ::pg_query::VacuumRelation >(GetArenaForAllocation()); + set_has_publication_table(); + _impl_.node_.publication_table_ = CreateMaybeMessage<::pg_query::PublicationTable>(GetArena()); } - return _impl_.node_.vacuum_relation_; + return _impl_.node_.publication_table_; } -inline ::pg_query::VacuumRelation* Node::mutable_vacuum_relation() { - ::pg_query::VacuumRelation* _msg = _internal_mutable_vacuum_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.vacuum_relation) +inline ::pg_query::PublicationTable* Node::mutable_publication_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PublicationTable* _msg = _internal_mutable_publication_table(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_table) return _msg; } -// .pg_query.PublicationObjSpec publication_obj_spec = 226 [json_name = "PublicationObjSpec"]; -inline bool Node::_internal_has_publication_obj_spec() const { +// .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"]; +inline bool Node::has_publication_obj_spec() const { return node_case() == kPublicationObjSpec; } -inline bool Node::has_publication_obj_spec() const { - return _internal_has_publication_obj_spec(); +inline bool Node::_internal_has_publication_obj_spec() const { + return node_case() == kPublicationObjSpec; } inline void Node::set_has_publication_obj_spec() { _impl_._oneof_case_[0] = kPublicationObjSpec; } inline void Node::clear_publication_obj_spec() { - if (_internal_has_publication_obj_spec()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kPublicationObjSpec) { + if (GetArena() == nullptr) { delete _impl_.node_.publication_obj_spec_; } clear_has_node(); @@ -78283,11 +96194,11 @@ inline void Node::clear_publication_obj_spec() { } inline ::pg_query::PublicationObjSpec* Node::release_publication_obj_spec() { // @@protoc_insertion_point(field_release:pg_query.Node.publication_obj_spec) - if (_internal_has_publication_obj_spec()) { + if (node_case() == kPublicationObjSpec) { clear_has_node(); - ::pg_query::PublicationObjSpec* temp = _impl_.node_.publication_obj_spec_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.publication_obj_spec_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.publication_obj_spec_ = nullptr; return temp; @@ -78296,282 +96207,442 @@ inline ::pg_query::PublicationObjSpec* Node::release_publication_obj_spec() { } } inline const ::pg_query::PublicationObjSpec& Node::_internal_publication_obj_spec() const { - return _internal_has_publication_obj_spec() - ? *_impl_.node_.publication_obj_spec_ - : reinterpret_cast< ::pg_query::PublicationObjSpec&>(::pg_query::_PublicationObjSpec_default_instance_); + return node_case() == kPublicationObjSpec ? *_impl_.node_.publication_obj_spec_ : reinterpret_cast<::pg_query::PublicationObjSpec&>(::pg_query::_PublicationObjSpec_default_instance_); } -inline const ::pg_query::PublicationObjSpec& Node::publication_obj_spec() const { +inline const ::pg_query::PublicationObjSpec& Node::publication_obj_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.publication_obj_spec) return _internal_publication_obj_spec(); } inline ::pg_query::PublicationObjSpec* Node::unsafe_arena_release_publication_obj_spec() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_obj_spec) - if (_internal_has_publication_obj_spec()) { + if (node_case() == kPublicationObjSpec) { clear_has_node(); - ::pg_query::PublicationObjSpec* temp = _impl_.node_.publication_obj_spec_; + auto* temp = _impl_.node_.publication_obj_spec_; _impl_.node_.publication_obj_spec_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* publication_obj_spec) { +inline void Node::unsafe_arena_set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (publication_obj_spec) { + if (value) { set_has_publication_obj_spec(); - _impl_.node_.publication_obj_spec_ = publication_obj_spec; + _impl_.node_.publication_obj_spec_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_obj_spec) } inline ::pg_query::PublicationObjSpec* Node::_internal_mutable_publication_obj_spec() { - if (!_internal_has_publication_obj_spec()) { + if (node_case() != kPublicationObjSpec) { clear_node(); set_has_publication_obj_spec(); - _impl_.node_.publication_obj_spec_ = CreateMaybeMessage< ::pg_query::PublicationObjSpec >(GetArenaForAllocation()); + _impl_.node_.publication_obj_spec_ = CreateMaybeMessage<::pg_query::PublicationObjSpec>(GetArena()); } return _impl_.node_.publication_obj_spec_; } -inline ::pg_query::PublicationObjSpec* Node::mutable_publication_obj_spec() { +inline ::pg_query::PublicationObjSpec* Node::mutable_publication_obj_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::PublicationObjSpec* _msg = _internal_mutable_publication_obj_spec(); // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_obj_spec) return _msg; } -// .pg_query.PublicationTable publication_table = 227 [json_name = "PublicationTable"]; -inline bool Node::_internal_has_publication_table() const { - return node_case() == kPublicationTable; +// .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"]; +inline bool Node::has_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt; } -inline bool Node::has_publication_table() const { - return _internal_has_publication_table(); +inline bool Node::_internal_has_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt; } -inline void Node::set_has_publication_table() { - _impl_._oneof_case_[0] = kPublicationTable; +inline void Node::set_has_create_publication_stmt() { + _impl_._oneof_case_[0] = kCreatePublicationStmt; } -inline void Node::clear_publication_table() { - if (_internal_has_publication_table()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.publication_table_; +inline void Node::clear_create_publication_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreatePublicationStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_publication_stmt_; } clear_has_node(); } } -inline ::pg_query::PublicationTable* Node::release_publication_table() { - // @@protoc_insertion_point(field_release:pg_query.Node.publication_table) - if (_internal_has_publication_table()) { +inline ::pg_query::CreatePublicationStmt* Node::release_create_publication_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_publication_stmt) + if (node_case() == kCreatePublicationStmt) { clear_has_node(); - ::pg_query::PublicationTable* temp = _impl_.node_.publication_table_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_publication_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.publication_table_ = nullptr; + _impl_.node_.create_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::PublicationTable& Node::_internal_publication_table() const { - return _internal_has_publication_table() - ? *_impl_.node_.publication_table_ - : reinterpret_cast< ::pg_query::PublicationTable&>(::pg_query::_PublicationTable_default_instance_); +inline const ::pg_query::CreatePublicationStmt& Node::_internal_create_publication_stmt() const { + return node_case() == kCreatePublicationStmt ? *_impl_.node_.create_publication_stmt_ : reinterpret_cast<::pg_query::CreatePublicationStmt&>(::pg_query::_CreatePublicationStmt_default_instance_); } -inline const ::pg_query::PublicationTable& Node::publication_table() const { - // @@protoc_insertion_point(field_get:pg_query.Node.publication_table) - return _internal_publication_table(); +inline const ::pg_query::CreatePublicationStmt& Node::create_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_publication_stmt) + return _internal_create_publication_stmt(); } -inline ::pg_query::PublicationTable* Node::unsafe_arena_release_publication_table() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.publication_table) - if (_internal_has_publication_table()) { +inline ::pg_query::CreatePublicationStmt* Node::unsafe_arena_release_create_publication_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_publication_stmt) + if (node_case() == kCreatePublicationStmt) { clear_has_node(); - ::pg_query::PublicationTable* temp = _impl_.node_.publication_table_; - _impl_.node_.publication_table_ = nullptr; + auto* temp = _impl_.node_.create_publication_stmt_; + _impl_.node_.create_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_publication_table(::pg_query::PublicationTable* publication_table) { +inline void Node::unsafe_arena_set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (publication_table) { - set_has_publication_table(); - _impl_.node_.publication_table_ = publication_table; + if (value) { + set_has_create_publication_stmt(); + _impl_.node_.create_publication_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.publication_table) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_publication_stmt) } -inline ::pg_query::PublicationTable* Node::_internal_mutable_publication_table() { - if (!_internal_has_publication_table()) { +inline ::pg_query::CreatePublicationStmt* Node::_internal_mutable_create_publication_stmt() { + if (node_case() != kCreatePublicationStmt) { clear_node(); - set_has_publication_table(); - _impl_.node_.publication_table_ = CreateMaybeMessage< ::pg_query::PublicationTable >(GetArenaForAllocation()); + set_has_create_publication_stmt(); + _impl_.node_.create_publication_stmt_ = CreateMaybeMessage<::pg_query::CreatePublicationStmt>(GetArena()); } - return _impl_.node_.publication_table_; + return _impl_.node_.create_publication_stmt_; } -inline ::pg_query::PublicationTable* Node::mutable_publication_table() { - ::pg_query::PublicationTable* _msg = _internal_mutable_publication_table(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.publication_table) +inline ::pg_query::CreatePublicationStmt* Node::mutable_create_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreatePublicationStmt* _msg = _internal_mutable_create_publication_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_publication_stmt) return _msg; } -// .pg_query.InlineCodeBlock inline_code_block = 228 [json_name = "InlineCodeBlock"]; -inline bool Node::_internal_has_inline_code_block() const { - return node_case() == kInlineCodeBlock; +// .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"]; +inline bool Node::has_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt; } -inline bool Node::has_inline_code_block() const { - return _internal_has_inline_code_block(); +inline bool Node::_internal_has_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt; } -inline void Node::set_has_inline_code_block() { - _impl_._oneof_case_[0] = kInlineCodeBlock; +inline void Node::set_has_alter_publication_stmt() { + _impl_._oneof_case_[0] = kAlterPublicationStmt; } -inline void Node::clear_inline_code_block() { - if (_internal_has_inline_code_block()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.inline_code_block_; +inline void Node::clear_alter_publication_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterPublicationStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_publication_stmt_; } clear_has_node(); } } -inline ::pg_query::InlineCodeBlock* Node::release_inline_code_block() { - // @@protoc_insertion_point(field_release:pg_query.Node.inline_code_block) - if (_internal_has_inline_code_block()) { +inline ::pg_query::AlterPublicationStmt* Node::release_alter_publication_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_publication_stmt) + if (node_case() == kAlterPublicationStmt) { clear_has_node(); - ::pg_query::InlineCodeBlock* temp = _impl_.node_.inline_code_block_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.alter_publication_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.inline_code_block_ = nullptr; + _impl_.node_.alter_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::InlineCodeBlock& Node::_internal_inline_code_block() const { - return _internal_has_inline_code_block() - ? *_impl_.node_.inline_code_block_ - : reinterpret_cast< ::pg_query::InlineCodeBlock&>(::pg_query::_InlineCodeBlock_default_instance_); +inline const ::pg_query::AlterPublicationStmt& Node::_internal_alter_publication_stmt() const { + return node_case() == kAlterPublicationStmt ? *_impl_.node_.alter_publication_stmt_ : reinterpret_cast<::pg_query::AlterPublicationStmt&>(::pg_query::_AlterPublicationStmt_default_instance_); } -inline const ::pg_query::InlineCodeBlock& Node::inline_code_block() const { - // @@protoc_insertion_point(field_get:pg_query.Node.inline_code_block) - return _internal_inline_code_block(); +inline const ::pg_query::AlterPublicationStmt& Node::alter_publication_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_publication_stmt) + return _internal_alter_publication_stmt(); } -inline ::pg_query::InlineCodeBlock* Node::unsafe_arena_release_inline_code_block() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.inline_code_block) - if (_internal_has_inline_code_block()) { +inline ::pg_query::AlterPublicationStmt* Node::unsafe_arena_release_alter_publication_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_publication_stmt) + if (node_case() == kAlterPublicationStmt) { clear_has_node(); - ::pg_query::InlineCodeBlock* temp = _impl_.node_.inline_code_block_; - _impl_.node_.inline_code_block_ = nullptr; + auto* temp = _impl_.node_.alter_publication_stmt_; + _impl_.node_.alter_publication_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_inline_code_block(::pg_query::InlineCodeBlock* inline_code_block) { +inline void Node::unsafe_arena_set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (inline_code_block) { - set_has_inline_code_block(); - _impl_.node_.inline_code_block_ = inline_code_block; + if (value) { + set_has_alter_publication_stmt(); + _impl_.node_.alter_publication_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.inline_code_block) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_publication_stmt) } -inline ::pg_query::InlineCodeBlock* Node::_internal_mutable_inline_code_block() { - if (!_internal_has_inline_code_block()) { +inline ::pg_query::AlterPublicationStmt* Node::_internal_mutable_alter_publication_stmt() { + if (node_case() != kAlterPublicationStmt) { clear_node(); - set_has_inline_code_block(); - _impl_.node_.inline_code_block_ = CreateMaybeMessage< ::pg_query::InlineCodeBlock >(GetArenaForAllocation()); + set_has_alter_publication_stmt(); + _impl_.node_.alter_publication_stmt_ = CreateMaybeMessage<::pg_query::AlterPublicationStmt>(GetArena()); } - return _impl_.node_.inline_code_block_; + return _impl_.node_.alter_publication_stmt_; } -inline ::pg_query::InlineCodeBlock* Node::mutable_inline_code_block() { - ::pg_query::InlineCodeBlock* _msg = _internal_mutable_inline_code_block(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.inline_code_block) +inline ::pg_query::AlterPublicationStmt* Node::mutable_alter_publication_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterPublicationStmt* _msg = _internal_mutable_alter_publication_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_publication_stmt) return _msg; } -// .pg_query.CallContext call_context = 229 [json_name = "CallContext"]; -inline bool Node::_internal_has_call_context() const { - return node_case() == kCallContext; +// .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"]; +inline bool Node::has_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt; } -inline bool Node::has_call_context() const { - return _internal_has_call_context(); +inline bool Node::_internal_has_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt; } -inline void Node::set_has_call_context() { - _impl_._oneof_case_[0] = kCallContext; +inline void Node::set_has_create_subscription_stmt() { + _impl_._oneof_case_[0] = kCreateSubscriptionStmt; } -inline void Node::clear_call_context() { - if (_internal_has_call_context()) { - if (GetArenaForAllocation() == nullptr) { - delete _impl_.node_.call_context_; +inline void Node::clear_create_subscription_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kCreateSubscriptionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.create_subscription_stmt_; } clear_has_node(); } } -inline ::pg_query::CallContext* Node::release_call_context() { - // @@protoc_insertion_point(field_release:pg_query.Node.call_context) - if (_internal_has_call_context()) { +inline ::pg_query::CreateSubscriptionStmt* Node::release_create_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.create_subscription_stmt) + if (node_case() == kCreateSubscriptionStmt) { clear_has_node(); - ::pg_query::CallContext* temp = _impl_.node_.call_context_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.create_subscription_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } - _impl_.node_.call_context_ = nullptr; + _impl_.node_.create_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline const ::pg_query::CallContext& Node::_internal_call_context() const { - return _internal_has_call_context() - ? *_impl_.node_.call_context_ - : reinterpret_cast< ::pg_query::CallContext&>(::pg_query::_CallContext_default_instance_); +inline const ::pg_query::CreateSubscriptionStmt& Node::_internal_create_subscription_stmt() const { + return node_case() == kCreateSubscriptionStmt ? *_impl_.node_.create_subscription_stmt_ : reinterpret_cast<::pg_query::CreateSubscriptionStmt&>(::pg_query::_CreateSubscriptionStmt_default_instance_); } -inline const ::pg_query::CallContext& Node::call_context() const { - // @@protoc_insertion_point(field_get:pg_query.Node.call_context) - return _internal_call_context(); +inline const ::pg_query::CreateSubscriptionStmt& Node::create_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.create_subscription_stmt) + return _internal_create_subscription_stmt(); } -inline ::pg_query::CallContext* Node::unsafe_arena_release_call_context() { - // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.call_context) - if (_internal_has_call_context()) { +inline ::pg_query::CreateSubscriptionStmt* Node::unsafe_arena_release_create_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.create_subscription_stmt) + if (node_case() == kCreateSubscriptionStmt) { clear_has_node(); - ::pg_query::CallContext* temp = _impl_.node_.call_context_; - _impl_.node_.call_context_ = nullptr; + auto* temp = _impl_.node_.create_subscription_stmt_; + _impl_.node_.create_subscription_stmt_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_call_context(::pg_query::CallContext* call_context) { +inline void Node::unsafe_arena_set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (call_context) { - set_has_call_context(); - _impl_.node_.call_context_ = call_context; + if (value) { + set_has_create_subscription_stmt(); + _impl_.node_.create_subscription_stmt_ = value; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.call_context) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.create_subscription_stmt) } -inline ::pg_query::CallContext* Node::_internal_mutable_call_context() { - if (!_internal_has_call_context()) { +inline ::pg_query::CreateSubscriptionStmt* Node::_internal_mutable_create_subscription_stmt() { + if (node_case() != kCreateSubscriptionStmt) { clear_node(); - set_has_call_context(); - _impl_.node_.call_context_ = CreateMaybeMessage< ::pg_query::CallContext >(GetArenaForAllocation()); + set_has_create_subscription_stmt(); + _impl_.node_.create_subscription_stmt_ = CreateMaybeMessage<::pg_query::CreateSubscriptionStmt>(GetArena()); } - return _impl_.node_.call_context_; + return _impl_.node_.create_subscription_stmt_; } -inline ::pg_query::CallContext* Node::mutable_call_context() { - ::pg_query::CallContext* _msg = _internal_mutable_call_context(); - // @@protoc_insertion_point(field_mutable:pg_query.Node.call_context) +inline ::pg_query::CreateSubscriptionStmt* Node::mutable_create_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateSubscriptionStmt* _msg = _internal_mutable_create_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.create_subscription_stmt) return _msg; } -// .pg_query.Integer integer = 230 [json_name = "Integer"]; -inline bool Node::_internal_has_integer() const { - return node_case() == kInteger; +// .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"]; +inline bool Node::has_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt; } +inline bool Node::_internal_has_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt; +} +inline void Node::set_has_alter_subscription_stmt() { + _impl_._oneof_case_[0] = kAlterSubscriptionStmt; +} +inline void Node::clear_alter_subscription_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAlterSubscriptionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.alter_subscription_stmt_; + } + clear_has_node(); + } +} +inline ::pg_query::AlterSubscriptionStmt* Node::release_alter_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.alter_subscription_stmt) + if (node_case() == kAlterSubscriptionStmt) { + clear_has_node(); + auto* temp = _impl_.node_.alter_subscription_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.alter_subscription_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::AlterSubscriptionStmt& Node::_internal_alter_subscription_stmt() const { + return node_case() == kAlterSubscriptionStmt ? *_impl_.node_.alter_subscription_stmt_ : reinterpret_cast<::pg_query::AlterSubscriptionStmt&>(::pg_query::_AlterSubscriptionStmt_default_instance_); +} +inline const ::pg_query::AlterSubscriptionStmt& Node::alter_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.alter_subscription_stmt) + return _internal_alter_subscription_stmt(); +} +inline ::pg_query::AlterSubscriptionStmt* Node::unsafe_arena_release_alter_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.alter_subscription_stmt) + if (node_case() == kAlterSubscriptionStmt) { + clear_has_node(); + auto* temp = _impl_.node_.alter_subscription_stmt_; + _impl_.node_.alter_subscription_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_alter_subscription_stmt(); + _impl_.node_.alter_subscription_stmt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.alter_subscription_stmt) +} +inline ::pg_query::AlterSubscriptionStmt* Node::_internal_mutable_alter_subscription_stmt() { + if (node_case() != kAlterSubscriptionStmt) { + clear_node(); + set_has_alter_subscription_stmt(); + _impl_.node_.alter_subscription_stmt_ = CreateMaybeMessage<::pg_query::AlterSubscriptionStmt>(GetArena()); + } + return _impl_.node_.alter_subscription_stmt_; +} +inline ::pg_query::AlterSubscriptionStmt* Node::mutable_alter_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::AlterSubscriptionStmt* _msg = _internal_mutable_alter_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.alter_subscription_stmt) + return _msg; +} + +// .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"]; +inline bool Node::has_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt; +} +inline bool Node::_internal_has_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt; +} +inline void Node::set_has_drop_subscription_stmt() { + _impl_._oneof_case_[0] = kDropSubscriptionStmt; +} +inline void Node::clear_drop_subscription_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kDropSubscriptionStmt) { + if (GetArena() == nullptr) { + delete _impl_.node_.drop_subscription_stmt_; + } + clear_has_node(); + } +} +inline ::pg_query::DropSubscriptionStmt* Node::release_drop_subscription_stmt() { + // @@protoc_insertion_point(field_release:pg_query.Node.drop_subscription_stmt) + if (node_case() == kDropSubscriptionStmt) { + clear_has_node(); + auto* temp = _impl_.node_.drop_subscription_stmt_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); + } + _impl_.node_.drop_subscription_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::pg_query::DropSubscriptionStmt& Node::_internal_drop_subscription_stmt() const { + return node_case() == kDropSubscriptionStmt ? *_impl_.node_.drop_subscription_stmt_ : reinterpret_cast<::pg_query::DropSubscriptionStmt&>(::pg_query::_DropSubscriptionStmt_default_instance_); +} +inline const ::pg_query::DropSubscriptionStmt& Node::drop_subscription_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Node.drop_subscription_stmt) + return _internal_drop_subscription_stmt(); +} +inline ::pg_query::DropSubscriptionStmt* Node::unsafe_arena_release_drop_subscription_stmt() { + // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.drop_subscription_stmt) + if (node_case() == kDropSubscriptionStmt) { + clear_has_node(); + auto* temp = _impl_.node_.drop_subscription_stmt_; + _impl_.node_.drop_subscription_stmt_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void Node::unsafe_arena_set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. + clear_node(); + if (value) { + set_has_drop_subscription_stmt(); + _impl_.node_.drop_subscription_stmt_ = value; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.drop_subscription_stmt) +} +inline ::pg_query::DropSubscriptionStmt* Node::_internal_mutable_drop_subscription_stmt() { + if (node_case() != kDropSubscriptionStmt) { + clear_node(); + set_has_drop_subscription_stmt(); + _impl_.node_.drop_subscription_stmt_ = CreateMaybeMessage<::pg_query::DropSubscriptionStmt>(GetArena()); + } + return _impl_.node_.drop_subscription_stmt_; +} +inline ::pg_query::DropSubscriptionStmt* Node::mutable_drop_subscription_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::DropSubscriptionStmt* _msg = _internal_mutable_drop_subscription_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Node.drop_subscription_stmt) + return _msg; +} + +// .pg_query.Integer integer = 260 [json_name = "Integer"]; inline bool Node::has_integer() const { - return _internal_has_integer(); + return node_case() == kInteger; +} +inline bool Node::_internal_has_integer() const { + return node_case() == kInteger; } inline void Node::set_has_integer() { _impl_._oneof_case_[0] = kInteger; } inline void Node::clear_integer() { - if (_internal_has_integer()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kInteger) { + if (GetArena() == nullptr) { delete _impl_.node_.integer_; } clear_has_node(); @@ -78579,11 +96650,11 @@ inline void Node::clear_integer() { } inline ::pg_query::Integer* Node::release_integer() { // @@protoc_insertion_point(field_release:pg_query.Node.integer) - if (_internal_has_integer()) { + if (node_case() == kInteger) { clear_has_node(); - ::pg_query::Integer* temp = _impl_.node_.integer_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.integer_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.integer_ = nullptr; return temp; @@ -78592,60 +96663,62 @@ inline ::pg_query::Integer* Node::release_integer() { } } inline const ::pg_query::Integer& Node::_internal_integer() const { - return _internal_has_integer() - ? *_impl_.node_.integer_ - : reinterpret_cast< ::pg_query::Integer&>(::pg_query::_Integer_default_instance_); + return node_case() == kInteger ? *_impl_.node_.integer_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); } -inline const ::pg_query::Integer& Node::integer() const { +inline const ::pg_query::Integer& Node::integer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.integer) return _internal_integer(); } inline ::pg_query::Integer* Node::unsafe_arena_release_integer() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.integer) - if (_internal_has_integer()) { + if (node_case() == kInteger) { clear_has_node(); - ::pg_query::Integer* temp = _impl_.node_.integer_; + auto* temp = _impl_.node_.integer_; _impl_.node_.integer_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_integer(::pg_query::Integer* integer) { +inline void Node::unsafe_arena_set_allocated_integer(::pg_query::Integer* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (integer) { + if (value) { set_has_integer(); - _impl_.node_.integer_ = integer; + _impl_.node_.integer_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.integer) } inline ::pg_query::Integer* Node::_internal_mutable_integer() { - if (!_internal_has_integer()) { + if (node_case() != kInteger) { clear_node(); set_has_integer(); - _impl_.node_.integer_ = CreateMaybeMessage< ::pg_query::Integer >(GetArenaForAllocation()); + _impl_.node_.integer_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); } return _impl_.node_.integer_; } -inline ::pg_query::Integer* Node::mutable_integer() { +inline ::pg_query::Integer* Node::mutable_integer() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Integer* _msg = _internal_mutable_integer(); // @@protoc_insertion_point(field_mutable:pg_query.Node.integer) return _msg; } -// .pg_query.Float float = 231 [json_name = "Float"]; -inline bool Node::_internal_has_float_() const { +// .pg_query.Float float = 261 [json_name = "Float"]; +inline bool Node::has_float_() const { return node_case() == kFloat; } -inline bool Node::has_float_() const { - return _internal_has_float_(); +inline bool Node::_internal_has_float_() const { + return node_case() == kFloat; } inline void Node::set_has_float_() { _impl_._oneof_case_[0] = kFloat; } inline void Node::clear_float_() { - if (_internal_has_float_()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kFloat) { + if (GetArena() == nullptr) { delete _impl_.node_.float__; } clear_has_node(); @@ -78653,11 +96726,11 @@ inline void Node::clear_float_() { } inline ::pg_query::Float* Node::release_float_() { // @@protoc_insertion_point(field_release:pg_query.Node.float) - if (_internal_has_float_()) { + if (node_case() == kFloat) { clear_has_node(); - ::pg_query::Float* temp = _impl_.node_.float__; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.float__; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.float__ = nullptr; return temp; @@ -78666,60 +96739,62 @@ inline ::pg_query::Float* Node::release_float_() { } } inline const ::pg_query::Float& Node::_internal_float_() const { - return _internal_has_float_() - ? *_impl_.node_.float__ - : reinterpret_cast< ::pg_query::Float&>(::pg_query::_Float_default_instance_); + return node_case() == kFloat ? *_impl_.node_.float__ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); } -inline const ::pg_query::Float& Node::float_() const { +inline const ::pg_query::Float& Node::float_() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.float) return _internal_float_(); } inline ::pg_query::Float* Node::unsafe_arena_release_float_() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.float) - if (_internal_has_float_()) { + if (node_case() == kFloat) { clear_has_node(); - ::pg_query::Float* temp = _impl_.node_.float__; + auto* temp = _impl_.node_.float__; _impl_.node_.float__ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_float_(::pg_query::Float* float_) { +inline void Node::unsafe_arena_set_allocated_float_(::pg_query::Float* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (float_) { + if (value) { set_has_float_(); - _impl_.node_.float__ = float_; + _impl_.node_.float__ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.float) } inline ::pg_query::Float* Node::_internal_mutable_float_() { - if (!_internal_has_float_()) { + if (node_case() != kFloat) { clear_node(); set_has_float_(); - _impl_.node_.float__ = CreateMaybeMessage< ::pg_query::Float >(GetArenaForAllocation()); + _impl_.node_.float__ = CreateMaybeMessage<::pg_query::Float>(GetArena()); } return _impl_.node_.float__; } -inline ::pg_query::Float* Node::mutable_float_() { +inline ::pg_query::Float* Node::mutable_float_() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Float* _msg = _internal_mutable_float_(); // @@protoc_insertion_point(field_mutable:pg_query.Node.float) return _msg; } -// .pg_query.Boolean boolean = 232 [json_name = "Boolean"]; -inline bool Node::_internal_has_boolean() const { +// .pg_query.Boolean boolean = 262 [json_name = "Boolean"]; +inline bool Node::has_boolean() const { return node_case() == kBoolean; } -inline bool Node::has_boolean() const { - return _internal_has_boolean(); +inline bool Node::_internal_has_boolean() const { + return node_case() == kBoolean; } inline void Node::set_has_boolean() { _impl_._oneof_case_[0] = kBoolean; } inline void Node::clear_boolean() { - if (_internal_has_boolean()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBoolean) { + if (GetArena() == nullptr) { delete _impl_.node_.boolean_; } clear_has_node(); @@ -78727,11 +96802,11 @@ inline void Node::clear_boolean() { } inline ::pg_query::Boolean* Node::release_boolean() { // @@protoc_insertion_point(field_release:pg_query.Node.boolean) - if (_internal_has_boolean()) { + if (node_case() == kBoolean) { clear_has_node(); - ::pg_query::Boolean* temp = _impl_.node_.boolean_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.boolean_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.boolean_ = nullptr; return temp; @@ -78740,60 +96815,62 @@ inline ::pg_query::Boolean* Node::release_boolean() { } } inline const ::pg_query::Boolean& Node::_internal_boolean() const { - return _internal_has_boolean() - ? *_impl_.node_.boolean_ - : reinterpret_cast< ::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); + return node_case() == kBoolean ? *_impl_.node_.boolean_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); } -inline const ::pg_query::Boolean& Node::boolean() const { +inline const ::pg_query::Boolean& Node::boolean() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.boolean) return _internal_boolean(); } inline ::pg_query::Boolean* Node::unsafe_arena_release_boolean() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.boolean) - if (_internal_has_boolean()) { + if (node_case() == kBoolean) { clear_has_node(); - ::pg_query::Boolean* temp = _impl_.node_.boolean_; + auto* temp = _impl_.node_.boolean_; _impl_.node_.boolean_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_boolean(::pg_query::Boolean* boolean) { +inline void Node::unsafe_arena_set_allocated_boolean(::pg_query::Boolean* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (boolean) { + if (value) { set_has_boolean(); - _impl_.node_.boolean_ = boolean; + _impl_.node_.boolean_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.boolean) } inline ::pg_query::Boolean* Node::_internal_mutable_boolean() { - if (!_internal_has_boolean()) { + if (node_case() != kBoolean) { clear_node(); set_has_boolean(); - _impl_.node_.boolean_ = CreateMaybeMessage< ::pg_query::Boolean >(GetArenaForAllocation()); + _impl_.node_.boolean_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); } return _impl_.node_.boolean_; } -inline ::pg_query::Boolean* Node::mutable_boolean() { +inline ::pg_query::Boolean* Node::mutable_boolean() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Boolean* _msg = _internal_mutable_boolean(); // @@protoc_insertion_point(field_mutable:pg_query.Node.boolean) return _msg; } -// .pg_query.String string = 233 [json_name = "String"]; -inline bool Node::_internal_has_string() const { +// .pg_query.String string = 263 [json_name = "String"]; +inline bool Node::has_string() const { return node_case() == kString; } -inline bool Node::has_string() const { - return _internal_has_string(); +inline bool Node::_internal_has_string() const { + return node_case() == kString; } inline void Node::set_has_string() { _impl_._oneof_case_[0] = kString; } inline void Node::clear_string() { - if (_internal_has_string()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kString) { + if (GetArena() == nullptr) { delete _impl_.node_.string_; } clear_has_node(); @@ -78801,11 +96878,11 @@ inline void Node::clear_string() { } inline ::pg_query::String* Node::release_string() { // @@protoc_insertion_point(field_release:pg_query.Node.string) - if (_internal_has_string()) { + if (node_case() == kString) { clear_has_node(); - ::pg_query::String* temp = _impl_.node_.string_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.string_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.string_ = nullptr; return temp; @@ -78814,60 +96891,62 @@ inline ::pg_query::String* Node::release_string() { } } inline const ::pg_query::String& Node::_internal_string() const { - return _internal_has_string() - ? *_impl_.node_.string_ - : reinterpret_cast< ::pg_query::String&>(::pg_query::_String_default_instance_); + return node_case() == kString ? *_impl_.node_.string_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); } -inline const ::pg_query::String& Node::string() const { +inline const ::pg_query::String& Node::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.string) return _internal_string(); } inline ::pg_query::String* Node::unsafe_arena_release_string() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.string) - if (_internal_has_string()) { + if (node_case() == kString) { clear_has_node(); - ::pg_query::String* temp = _impl_.node_.string_; + auto* temp = _impl_.node_.string_; _impl_.node_.string_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_string(::pg_query::String* string) { +inline void Node::unsafe_arena_set_allocated_string(::pg_query::String* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (string) { + if (value) { set_has_string(); - _impl_.node_.string_ = string; + _impl_.node_.string_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.string) } inline ::pg_query::String* Node::_internal_mutable_string() { - if (!_internal_has_string()) { + if (node_case() != kString) { clear_node(); set_has_string(); - _impl_.node_.string_ = CreateMaybeMessage< ::pg_query::String >(GetArenaForAllocation()); + _impl_.node_.string_ = CreateMaybeMessage<::pg_query::String>(GetArena()); } return _impl_.node_.string_; } -inline ::pg_query::String* Node::mutable_string() { +inline ::pg_query::String* Node::mutable_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::String* _msg = _internal_mutable_string(); // @@protoc_insertion_point(field_mutable:pg_query.Node.string) return _msg; } -// .pg_query.BitString bit_string = 234 [json_name = "BitString"]; -inline bool Node::_internal_has_bit_string() const { +// .pg_query.BitString bit_string = 264 [json_name = "BitString"]; +inline bool Node::has_bit_string() const { return node_case() == kBitString; } -inline bool Node::has_bit_string() const { - return _internal_has_bit_string(); +inline bool Node::_internal_has_bit_string() const { + return node_case() == kBitString; } inline void Node::set_has_bit_string() { _impl_._oneof_case_[0] = kBitString; } inline void Node::clear_bit_string() { - if (_internal_has_bit_string()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kBitString) { + if (GetArena() == nullptr) { delete _impl_.node_.bit_string_; } clear_has_node(); @@ -78875,11 +96954,11 @@ inline void Node::clear_bit_string() { } inline ::pg_query::BitString* Node::release_bit_string() { // @@protoc_insertion_point(field_release:pg_query.Node.bit_string) - if (_internal_has_bit_string()) { + if (node_case() == kBitString) { clear_has_node(); - ::pg_query::BitString* temp = _impl_.node_.bit_string_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.bit_string_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.bit_string_ = nullptr; return temp; @@ -78888,60 +96967,62 @@ inline ::pg_query::BitString* Node::release_bit_string() { } } inline const ::pg_query::BitString& Node::_internal_bit_string() const { - return _internal_has_bit_string() - ? *_impl_.node_.bit_string_ - : reinterpret_cast< ::pg_query::BitString&>(::pg_query::_BitString_default_instance_); + return node_case() == kBitString ? *_impl_.node_.bit_string_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); } -inline const ::pg_query::BitString& Node::bit_string() const { +inline const ::pg_query::BitString& Node::bit_string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.bit_string) return _internal_bit_string(); } inline ::pg_query::BitString* Node::unsafe_arena_release_bit_string() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.bit_string) - if (_internal_has_bit_string()) { + if (node_case() == kBitString) { clear_has_node(); - ::pg_query::BitString* temp = _impl_.node_.bit_string_; + auto* temp = _impl_.node_.bit_string_; _impl_.node_.bit_string_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_bit_string(::pg_query::BitString* bit_string) { +inline void Node::unsafe_arena_set_allocated_bit_string(::pg_query::BitString* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (bit_string) { + if (value) { set_has_bit_string(); - _impl_.node_.bit_string_ = bit_string; + _impl_.node_.bit_string_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.bit_string) } inline ::pg_query::BitString* Node::_internal_mutable_bit_string() { - if (!_internal_has_bit_string()) { + if (node_case() != kBitString) { clear_node(); set_has_bit_string(); - _impl_.node_.bit_string_ = CreateMaybeMessage< ::pg_query::BitString >(GetArenaForAllocation()); + _impl_.node_.bit_string_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); } return _impl_.node_.bit_string_; } -inline ::pg_query::BitString* Node::mutable_bit_string() { +inline ::pg_query::BitString* Node::mutable_bit_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::BitString* _msg = _internal_mutable_bit_string(); // @@protoc_insertion_point(field_mutable:pg_query.Node.bit_string) return _msg; } -// .pg_query.List list = 235 [json_name = "List"]; -inline bool Node::_internal_has_list() const { +// .pg_query.List list = 265 [json_name = "List"]; +inline bool Node::has_list() const { return node_case() == kList; } -inline bool Node::has_list() const { - return _internal_has_list(); +inline bool Node::_internal_has_list() const { + return node_case() == kList; } inline void Node::set_has_list() { _impl_._oneof_case_[0] = kList; } inline void Node::clear_list() { - if (_internal_has_list()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kList) { + if (GetArena() == nullptr) { delete _impl_.node_.list_; } clear_has_node(); @@ -78949,11 +97030,11 @@ inline void Node::clear_list() { } inline ::pg_query::List* Node::release_list() { // @@protoc_insertion_point(field_release:pg_query.Node.list) - if (_internal_has_list()) { + if (node_case() == kList) { clear_has_node(); - ::pg_query::List* temp = _impl_.node_.list_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.list_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.list_ = nullptr; return temp; @@ -78962,60 +97043,62 @@ inline ::pg_query::List* Node::release_list() { } } inline const ::pg_query::List& Node::_internal_list() const { - return _internal_has_list() - ? *_impl_.node_.list_ - : reinterpret_cast< ::pg_query::List&>(::pg_query::_List_default_instance_); + return node_case() == kList ? *_impl_.node_.list_ : reinterpret_cast<::pg_query::List&>(::pg_query::_List_default_instance_); } -inline const ::pg_query::List& Node::list() const { +inline const ::pg_query::List& Node::list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.list) return _internal_list(); } inline ::pg_query::List* Node::unsafe_arena_release_list() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.list) - if (_internal_has_list()) { + if (node_case() == kList) { clear_has_node(); - ::pg_query::List* temp = _impl_.node_.list_; + auto* temp = _impl_.node_.list_; _impl_.node_.list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_list(::pg_query::List* list) { +inline void Node::unsafe_arena_set_allocated_list(::pg_query::List* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (list) { + if (value) { set_has_list(); - _impl_.node_.list_ = list; + _impl_.node_.list_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.list) } inline ::pg_query::List* Node::_internal_mutable_list() { - if (!_internal_has_list()) { + if (node_case() != kList) { clear_node(); set_has_list(); - _impl_.node_.list_ = CreateMaybeMessage< ::pg_query::List >(GetArenaForAllocation()); + _impl_.node_.list_ = CreateMaybeMessage<::pg_query::List>(GetArena()); } return _impl_.node_.list_; } -inline ::pg_query::List* Node::mutable_list() { +inline ::pg_query::List* Node::mutable_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::List* _msg = _internal_mutable_list(); // @@protoc_insertion_point(field_mutable:pg_query.Node.list) return _msg; } -// .pg_query.IntList int_list = 236 [json_name = "IntList"]; -inline bool Node::_internal_has_int_list() const { +// .pg_query.IntList int_list = 266 [json_name = "IntList"]; +inline bool Node::has_int_list() const { return node_case() == kIntList; } -inline bool Node::has_int_list() const { - return _internal_has_int_list(); +inline bool Node::_internal_has_int_list() const { + return node_case() == kIntList; } inline void Node::set_has_int_list() { _impl_._oneof_case_[0] = kIntList; } inline void Node::clear_int_list() { - if (_internal_has_int_list()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kIntList) { + if (GetArena() == nullptr) { delete _impl_.node_.int_list_; } clear_has_node(); @@ -79023,11 +97106,11 @@ inline void Node::clear_int_list() { } inline ::pg_query::IntList* Node::release_int_list() { // @@protoc_insertion_point(field_release:pg_query.Node.int_list) - if (_internal_has_int_list()) { + if (node_case() == kIntList) { clear_has_node(); - ::pg_query::IntList* temp = _impl_.node_.int_list_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.int_list_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.int_list_ = nullptr; return temp; @@ -79036,60 +97119,62 @@ inline ::pg_query::IntList* Node::release_int_list() { } } inline const ::pg_query::IntList& Node::_internal_int_list() const { - return _internal_has_int_list() - ? *_impl_.node_.int_list_ - : reinterpret_cast< ::pg_query::IntList&>(::pg_query::_IntList_default_instance_); + return node_case() == kIntList ? *_impl_.node_.int_list_ : reinterpret_cast<::pg_query::IntList&>(::pg_query::_IntList_default_instance_); } -inline const ::pg_query::IntList& Node::int_list() const { +inline const ::pg_query::IntList& Node::int_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.int_list) return _internal_int_list(); } inline ::pg_query::IntList* Node::unsafe_arena_release_int_list() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.int_list) - if (_internal_has_int_list()) { + if (node_case() == kIntList) { clear_has_node(); - ::pg_query::IntList* temp = _impl_.node_.int_list_; + auto* temp = _impl_.node_.int_list_; _impl_.node_.int_list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_int_list(::pg_query::IntList* int_list) { +inline void Node::unsafe_arena_set_allocated_int_list(::pg_query::IntList* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (int_list) { + if (value) { set_has_int_list(); - _impl_.node_.int_list_ = int_list; + _impl_.node_.int_list_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.int_list) } inline ::pg_query::IntList* Node::_internal_mutable_int_list() { - if (!_internal_has_int_list()) { + if (node_case() != kIntList) { clear_node(); set_has_int_list(); - _impl_.node_.int_list_ = CreateMaybeMessage< ::pg_query::IntList >(GetArenaForAllocation()); + _impl_.node_.int_list_ = CreateMaybeMessage<::pg_query::IntList>(GetArena()); } return _impl_.node_.int_list_; } -inline ::pg_query::IntList* Node::mutable_int_list() { +inline ::pg_query::IntList* Node::mutable_int_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::IntList* _msg = _internal_mutable_int_list(); // @@protoc_insertion_point(field_mutable:pg_query.Node.int_list) return _msg; } -// .pg_query.OidList oid_list = 237 [json_name = "OidList"]; -inline bool Node::_internal_has_oid_list() const { +// .pg_query.OidList oid_list = 267 [json_name = "OidList"]; +inline bool Node::has_oid_list() const { return node_case() == kOidList; } -inline bool Node::has_oid_list() const { - return _internal_has_oid_list(); +inline bool Node::_internal_has_oid_list() const { + return node_case() == kOidList; } inline void Node::set_has_oid_list() { _impl_._oneof_case_[0] = kOidList; } inline void Node::clear_oid_list() { - if (_internal_has_oid_list()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kOidList) { + if (GetArena() == nullptr) { delete _impl_.node_.oid_list_; } clear_has_node(); @@ -79097,11 +97182,11 @@ inline void Node::clear_oid_list() { } inline ::pg_query::OidList* Node::release_oid_list() { // @@protoc_insertion_point(field_release:pg_query.Node.oid_list) - if (_internal_has_oid_list()) { + if (node_case() == kOidList) { clear_has_node(); - ::pg_query::OidList* temp = _impl_.node_.oid_list_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.oid_list_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.oid_list_ = nullptr; return temp; @@ -79110,60 +97195,62 @@ inline ::pg_query::OidList* Node::release_oid_list() { } } inline const ::pg_query::OidList& Node::_internal_oid_list() const { - return _internal_has_oid_list() - ? *_impl_.node_.oid_list_ - : reinterpret_cast< ::pg_query::OidList&>(::pg_query::_OidList_default_instance_); + return node_case() == kOidList ? *_impl_.node_.oid_list_ : reinterpret_cast<::pg_query::OidList&>(::pg_query::_OidList_default_instance_); } -inline const ::pg_query::OidList& Node::oid_list() const { +inline const ::pg_query::OidList& Node::oid_list() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.oid_list) return _internal_oid_list(); } inline ::pg_query::OidList* Node::unsafe_arena_release_oid_list() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.oid_list) - if (_internal_has_oid_list()) { + if (node_case() == kOidList) { clear_has_node(); - ::pg_query::OidList* temp = _impl_.node_.oid_list_; + auto* temp = _impl_.node_.oid_list_; _impl_.node_.oid_list_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_oid_list(::pg_query::OidList* oid_list) { +inline void Node::unsafe_arena_set_allocated_oid_list(::pg_query::OidList* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (oid_list) { + if (value) { set_has_oid_list(); - _impl_.node_.oid_list_ = oid_list; + _impl_.node_.oid_list_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.oid_list) } inline ::pg_query::OidList* Node::_internal_mutable_oid_list() { - if (!_internal_has_oid_list()) { + if (node_case() != kOidList) { clear_node(); set_has_oid_list(); - _impl_.node_.oid_list_ = CreateMaybeMessage< ::pg_query::OidList >(GetArenaForAllocation()); + _impl_.node_.oid_list_ = CreateMaybeMessage<::pg_query::OidList>(GetArena()); } return _impl_.node_.oid_list_; } -inline ::pg_query::OidList* Node::mutable_oid_list() { +inline ::pg_query::OidList* Node::mutable_oid_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::OidList* _msg = _internal_mutable_oid_list(); // @@protoc_insertion_point(field_mutable:pg_query.Node.oid_list) return _msg; } -// .pg_query.A_Const a_const = 238 [json_name = "A_Const"]; -inline bool Node::_internal_has_a_const() const { +// .pg_query.A_Const a_const = 268 [json_name = "A_Const"]; +inline bool Node::has_a_const() const { return node_case() == kAConst; } -inline bool Node::has_a_const() const { - return _internal_has_a_const(); +inline bool Node::_internal_has_a_const() const { + return node_case() == kAConst; } inline void Node::set_has_a_const() { _impl_._oneof_case_[0] = kAConst; } inline void Node::clear_a_const() { - if (_internal_has_a_const()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (node_case() == kAConst) { + if (GetArena() == nullptr) { delete _impl_.node_.a_const_; } clear_has_node(); @@ -79171,11 +97258,11 @@ inline void Node::clear_a_const() { } inline ::pg_query::A_Const* Node::release_a_const() { // @@protoc_insertion_point(field_release:pg_query.Node.a_const) - if (_internal_has_a_const()) { + if (node_case() == kAConst) { clear_has_node(); - ::pg_query::A_Const* temp = _impl_.node_.a_const_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.node_.a_const_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.node_.a_const_ = nullptr; return temp; @@ -79184,42 +97271,43 @@ inline ::pg_query::A_Const* Node::release_a_const() { } } inline const ::pg_query::A_Const& Node::_internal_a_const() const { - return _internal_has_a_const() - ? *_impl_.node_.a_const_ - : reinterpret_cast< ::pg_query::A_Const&>(::pg_query::_A_Const_default_instance_); + return node_case() == kAConst ? *_impl_.node_.a_const_ : reinterpret_cast<::pg_query::A_Const&>(::pg_query::_A_Const_default_instance_); } -inline const ::pg_query::A_Const& Node::a_const() const { +inline const ::pg_query::A_Const& Node::a_const() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Node.a_const) return _internal_a_const(); } inline ::pg_query::A_Const* Node::unsafe_arena_release_a_const() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.Node.a_const) - if (_internal_has_a_const()) { + if (node_case() == kAConst) { clear_has_node(); - ::pg_query::A_Const* temp = _impl_.node_.a_const_; + auto* temp = _impl_.node_.a_const_; _impl_.node_.a_const_ = nullptr; return temp; } else { return nullptr; } } -inline void Node::unsafe_arena_set_allocated_a_const(::pg_query::A_Const* a_const) { +inline void Node::unsafe_arena_set_allocated_a_const(::pg_query::A_Const* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_node(); - if (a_const) { + if (value) { set_has_a_const(); - _impl_.node_.a_const_ = a_const; + _impl_.node_.a_const_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Node.a_const) } inline ::pg_query::A_Const* Node::_internal_mutable_a_const() { - if (!_internal_has_a_const()) { + if (node_case() != kAConst) { clear_node(); set_has_a_const(); - _impl_.node_.a_const_ = CreateMaybeMessage< ::pg_query::A_Const >(GetArenaForAllocation()); + _impl_.node_.a_const_ = CreateMaybeMessage<::pg_query::A_Const>(GetArena()); } return _impl_.node_.a_const_; } -inline ::pg_query::A_Const* Node::mutable_a_const() { +inline ::pg_query::A_Const* Node::mutable_a_const() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::A_Const* _msg = _internal_mutable_a_const(); // @@protoc_insertion_point(field_mutable:pg_query.Node.a_const) return _msg; @@ -79240,23 +97328,26 @@ inline Node::NodeCase Node::node_case() const { // int32 ival = 1; inline void Integer::clear_ival() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.ival_ = 0; } -inline int32_t Integer::_internal_ival() const { - return _impl_.ival_; -} -inline int32_t Integer::ival() const { +inline ::int32_t Integer::ival() const { // @@protoc_insertion_point(field_get:pg_query.Integer.ival) return _internal_ival(); } -inline void Integer::_internal_set_ival(int32_t value) { - - _impl_.ival_ = value; -} -inline void Integer::set_ival(int32_t value) { +inline void Integer::set_ival(::int32_t value) { _internal_set_ival(value); // @@protoc_insertion_point(field_set:pg_query.Integer.ival) } +inline ::int32_t Integer::_internal_ival() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ival_; +} +inline void Integer::_internal_set_ival(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ival_ = value; +} // ------------------------------------------------------------------- @@ -79264,51 +97355,54 @@ inline void Integer::set_ival(int32_t value) { // string fval = 1; inline void Float::clear_fval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fval_.ClearToEmpty(); } -inline const std::string& Float::fval() const { +inline const std::string& Float::fval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Float.fval) return _internal_fval(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Float::set_fval(ArgT0&& arg0, ArgT... args) { - - _impl_.fval_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void Float::set_fval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fval_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.Float.fval) } -inline std::string* Float::mutable_fval() { +inline std::string* Float::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_fval(); // @@protoc_insertion_point(field_mutable:pg_query.Float.fval) return _s; } inline const std::string& Float::_internal_fval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.fval_.Get(); } inline void Float::_internal_set_fval(const std::string& value) { - - _impl_.fval_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fval_.Set(value, GetArena()); } inline std::string* Float::_internal_mutable_fval() { - - return _impl_.fval_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fval_.Mutable( GetArena()); } inline std::string* Float::release_fval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Float.fval) return _impl_.fval_.Release(); } -inline void Float::set_allocated_fval(std::string* fval) { - if (fval != nullptr) { - - } else { - - } - _impl_.fval_.SetAllocated(fval, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fval_.IsDefault()) { - _impl_.fval_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void Float::set_allocated_fval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fval_.IsDefault()) { + _impl_.fval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.Float.fval) } @@ -79318,23 +97412,26 @@ inline void Float::set_allocated_fval(std::string* fval) { // bool boolval = 1; inline void Boolean::clear_boolval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.boolval_ = false; } -inline bool Boolean::_internal_boolval() const { - return _impl_.boolval_; -} inline bool Boolean::boolval() const { // @@protoc_insertion_point(field_get:pg_query.Boolean.boolval) return _internal_boolval(); } -inline void Boolean::_internal_set_boolval(bool value) { - - _impl_.boolval_ = value; -} inline void Boolean::set_boolval(bool value) { _internal_set_boolval(value); // @@protoc_insertion_point(field_set:pg_query.Boolean.boolval) } +inline bool Boolean::_internal_boolval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.boolval_; +} +inline void Boolean::_internal_set_boolval(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.boolval_ = value; +} // ------------------------------------------------------------------- @@ -79342,51 +97439,54 @@ inline void Boolean::set_boolval(bool value) { // string sval = 1; inline void String::clear_sval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.sval_.ClearToEmpty(); } -inline const std::string& String::sval() const { +inline const std::string& String::sval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.String.sval) return _internal_sval(); } -template -inline PROTOBUF_ALWAYS_INLINE -void String::set_sval(ArgT0&& arg0, ArgT... args) { - - _impl_.sval_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void String::set_sval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sval_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.String.sval) } -inline std::string* String::mutable_sval() { +inline std::string* String::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_sval(); // @@protoc_insertion_point(field_mutable:pg_query.String.sval) return _s; } inline const std::string& String::_internal_sval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.sval_.Get(); } inline void String::_internal_set_sval(const std::string& value) { - - _impl_.sval_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sval_.Set(value, GetArena()); } inline std::string* String::_internal_mutable_sval() { - - return _impl_.sval_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.sval_.Mutable( GetArena()); } inline std::string* String::release_sval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.String.sval) return _impl_.sval_.Release(); } -inline void String::set_allocated_sval(std::string* sval) { - if (sval != nullptr) { - - } else { - - } - _impl_.sval_.SetAllocated(sval, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.sval_.IsDefault()) { - _impl_.sval_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void String::set_allocated_sval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.sval_.IsDefault()) { + _impl_.sval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.String.sval) } @@ -79396,51 +97496,54 @@ inline void String::set_allocated_sval(std::string* sval) { // string bsval = 1; inline void BitString::clear_bsval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.bsval_.ClearToEmpty(); } -inline const std::string& BitString::bsval() const { +inline const std::string& BitString::bsval() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.BitString.bsval) return _internal_bsval(); } -template -inline PROTOBUF_ALWAYS_INLINE -void BitString::set_bsval(ArgT0&& arg0, ArgT... args) { - - _impl_.bsval_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void BitString::set_bsval(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.bsval_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.BitString.bsval) } -inline std::string* BitString::mutable_bsval() { +inline std::string* BitString::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_bsval(); // @@protoc_insertion_point(field_mutable:pg_query.BitString.bsval) return _s; } inline const std::string& BitString::_internal_bsval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.bsval_.Get(); } inline void BitString::_internal_set_bsval(const std::string& value) { - - _impl_.bsval_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.bsval_.Set(value, GetArena()); } inline std::string* BitString::_internal_mutable_bsval() { - - return _impl_.bsval_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.bsval_.Mutable( GetArena()); } inline std::string* BitString::release_bsval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.BitString.bsval) return _impl_.bsval_.Release(); } -inline void BitString::set_allocated_bsval(std::string* bsval) { - if (bsval != nullptr) { - - } else { - - } - _impl_.bsval_.SetAllocated(bsval, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.bsval_.IsDefault()) { - _impl_.bsval_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void BitString::set_allocated_bsval(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.bsval_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.bsval_.IsDefault()) { + _impl_.bsval_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.BitString.bsval) } @@ -79450,43 +97553,52 @@ inline void BitString::set_allocated_bsval(std::string* bsval) { // repeated .pg_query.Node items = 1; inline int List::_internal_items_size() const { - return _impl_.items_.size(); + return _internal_items().size(); } inline int List::items_size() const { return _internal_items_size(); } inline void List::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.items_.Clear(); } -inline ::pg_query::Node* List::mutable_items(int index) { +inline ::pg_query::Node* List::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.List.items) - return _impl_.items_.Mutable(index); + return _internal_mutable_items()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -List::mutable_items() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* List::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.List.items) - return &_impl_.items_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); } -inline const ::pg_query::Node& List::_internal_items(int index) const { - return _impl_.items_.Get(index); -} -inline const ::pg_query::Node& List::items(int index) const { +inline const ::pg_query::Node& List::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.List.items) - return _internal_items(index); -} -inline ::pg_query::Node* List::_internal_add_items() { - return _impl_.items_.Add(); + return _internal_items().Get(index); } -inline ::pg_query::Node* List::add_items() { - ::pg_query::Node* _add = _internal_add_items(); +inline ::pg_query::Node* List::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); // @@protoc_insertion_point(field_add:pg_query.List.items) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -List::items() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& List::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.List.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +List::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.items_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +List::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} // ------------------------------------------------------------------- @@ -79494,43 +97606,52 @@ List::items() const { // repeated .pg_query.Node items = 1; inline int OidList::_internal_items_size() const { - return _impl_.items_.size(); + return _internal_items().size(); } inline int OidList::items_size() const { return _internal_items_size(); } inline void OidList::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.items_.Clear(); } -inline ::pg_query::Node* OidList::mutable_items(int index) { +inline ::pg_query::Node* OidList::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.OidList.items) - return _impl_.items_.Mutable(index); + return _internal_mutable_items()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OidList::mutable_items() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OidList::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.OidList.items) - return &_impl_.items_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); } -inline const ::pg_query::Node& OidList::_internal_items(int index) const { - return _impl_.items_.Get(index); -} -inline const ::pg_query::Node& OidList::items(int index) const { +inline const ::pg_query::Node& OidList::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.OidList.items) - return _internal_items(index); -} -inline ::pg_query::Node* OidList::_internal_add_items() { - return _impl_.items_.Add(); + return _internal_items().Get(index); } -inline ::pg_query::Node* OidList::add_items() { - ::pg_query::Node* _add = _internal_add_items(); +inline ::pg_query::Node* OidList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); // @@protoc_insertion_point(field_add:pg_query.OidList.items) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OidList::items() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OidList::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.OidList.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OidList::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.items_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OidList::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} // ------------------------------------------------------------------- @@ -79538,61 +97659,71 @@ OidList::items() const { // repeated .pg_query.Node items = 1; inline int IntList::_internal_items_size() const { - return _impl_.items_.size(); + return _internal_items().size(); } inline int IntList::items_size() const { return _internal_items_size(); } inline void IntList::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.items_.Clear(); } -inline ::pg_query::Node* IntList::mutable_items(int index) { +inline ::pg_query::Node* IntList::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.IntList.items) - return _impl_.items_.Mutable(index); + return _internal_mutable_items()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IntList::mutable_items() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntList::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.IntList.items) - return &_impl_.items_; -} -inline const ::pg_query::Node& IntList::_internal_items(int index) const { - return _impl_.items_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); } -inline const ::pg_query::Node& IntList::items(int index) const { +inline const ::pg_query::Node& IntList::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.IntList.items) - return _internal_items(index); -} -inline ::pg_query::Node* IntList::_internal_add_items() { - return _impl_.items_.Add(); + return _internal_items().Get(index); } -inline ::pg_query::Node* IntList::add_items() { - ::pg_query::Node* _add = _internal_add_items(); +inline ::pg_query::Node* IntList::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); // @@protoc_insertion_point(field_add:pg_query.IntList.items) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IntList::items() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntList::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.IntList.items) + return _internal_items(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntList::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.items_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntList::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; +} // ------------------------------------------------------------------- // A_Const // .pg_query.Integer ival = 1; -inline bool A_Const::_internal_has_ival() const { +inline bool A_Const::has_ival() const { return val_case() == kIval; } -inline bool A_Const::has_ival() const { - return _internal_has_ival(); +inline bool A_Const::_internal_has_ival() const { + return val_case() == kIval; } inline void A_Const::set_has_ival() { _impl_._oneof_case_[0] = kIval; } inline void A_Const::clear_ival() { - if (_internal_has_ival()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (val_case() == kIval) { + if (GetArena() == nullptr) { delete _impl_.val_.ival_; } clear_has_val(); @@ -79600,11 +97731,11 @@ inline void A_Const::clear_ival() { } inline ::pg_query::Integer* A_Const::release_ival() { // @@protoc_insertion_point(field_release:pg_query.A_Const.ival) - if (_internal_has_ival()) { + if (val_case() == kIval) { clear_has_val(); - ::pg_query::Integer* temp = _impl_.val_.ival_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.val_.ival_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.val_.ival_ = nullptr; return temp; @@ -79613,60 +97744,62 @@ inline ::pg_query::Integer* A_Const::release_ival() { } } inline const ::pg_query::Integer& A_Const::_internal_ival() const { - return _internal_has_ival() - ? *_impl_.val_.ival_ - : reinterpret_cast< ::pg_query::Integer&>(::pg_query::_Integer_default_instance_); + return val_case() == kIval ? *_impl_.val_.ival_ : reinterpret_cast<::pg_query::Integer&>(::pg_query::_Integer_default_instance_); } -inline const ::pg_query::Integer& A_Const::ival() const { +inline const ::pg_query::Integer& A_Const::ival() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.A_Const.ival) return _internal_ival(); } inline ::pg_query::Integer* A_Const::unsafe_arena_release_ival() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.ival) - if (_internal_has_ival()) { + if (val_case() == kIval) { clear_has_val(); - ::pg_query::Integer* temp = _impl_.val_.ival_; + auto* temp = _impl_.val_.ival_; _impl_.val_.ival_ = nullptr; return temp; } else { return nullptr; } } -inline void A_Const::unsafe_arena_set_allocated_ival(::pg_query::Integer* ival) { +inline void A_Const::unsafe_arena_set_allocated_ival(::pg_query::Integer* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_val(); - if (ival) { + if (value) { set_has_ival(); - _impl_.val_.ival_ = ival; + _impl_.val_.ival_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.ival) } inline ::pg_query::Integer* A_Const::_internal_mutable_ival() { - if (!_internal_has_ival()) { + if (val_case() != kIval) { clear_val(); set_has_ival(); - _impl_.val_.ival_ = CreateMaybeMessage< ::pg_query::Integer >(GetArenaForAllocation()); + _impl_.val_.ival_ = CreateMaybeMessage<::pg_query::Integer>(GetArena()); } return _impl_.val_.ival_; } -inline ::pg_query::Integer* A_Const::mutable_ival() { +inline ::pg_query::Integer* A_Const::mutable_ival() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Integer* _msg = _internal_mutable_ival(); // @@protoc_insertion_point(field_mutable:pg_query.A_Const.ival) return _msg; } // .pg_query.Float fval = 2; -inline bool A_Const::_internal_has_fval() const { +inline bool A_Const::has_fval() const { return val_case() == kFval; } -inline bool A_Const::has_fval() const { - return _internal_has_fval(); +inline bool A_Const::_internal_has_fval() const { + return val_case() == kFval; } inline void A_Const::set_has_fval() { _impl_._oneof_case_[0] = kFval; } inline void A_Const::clear_fval() { - if (_internal_has_fval()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (val_case() == kFval) { + if (GetArena() == nullptr) { delete _impl_.val_.fval_; } clear_has_val(); @@ -79674,11 +97807,11 @@ inline void A_Const::clear_fval() { } inline ::pg_query::Float* A_Const::release_fval() { // @@protoc_insertion_point(field_release:pg_query.A_Const.fval) - if (_internal_has_fval()) { + if (val_case() == kFval) { clear_has_val(); - ::pg_query::Float* temp = _impl_.val_.fval_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.val_.fval_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.val_.fval_ = nullptr; return temp; @@ -79687,60 +97820,62 @@ inline ::pg_query::Float* A_Const::release_fval() { } } inline const ::pg_query::Float& A_Const::_internal_fval() const { - return _internal_has_fval() - ? *_impl_.val_.fval_ - : reinterpret_cast< ::pg_query::Float&>(::pg_query::_Float_default_instance_); + return val_case() == kFval ? *_impl_.val_.fval_ : reinterpret_cast<::pg_query::Float&>(::pg_query::_Float_default_instance_); } -inline const ::pg_query::Float& A_Const::fval() const { +inline const ::pg_query::Float& A_Const::fval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.A_Const.fval) return _internal_fval(); } inline ::pg_query::Float* A_Const::unsafe_arena_release_fval() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.fval) - if (_internal_has_fval()) { + if (val_case() == kFval) { clear_has_val(); - ::pg_query::Float* temp = _impl_.val_.fval_; + auto* temp = _impl_.val_.fval_; _impl_.val_.fval_ = nullptr; return temp; } else { return nullptr; } } -inline void A_Const::unsafe_arena_set_allocated_fval(::pg_query::Float* fval) { +inline void A_Const::unsafe_arena_set_allocated_fval(::pg_query::Float* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_val(); - if (fval) { + if (value) { set_has_fval(); - _impl_.val_.fval_ = fval; + _impl_.val_.fval_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.fval) } inline ::pg_query::Float* A_Const::_internal_mutable_fval() { - if (!_internal_has_fval()) { + if (val_case() != kFval) { clear_val(); set_has_fval(); - _impl_.val_.fval_ = CreateMaybeMessage< ::pg_query::Float >(GetArenaForAllocation()); + _impl_.val_.fval_ = CreateMaybeMessage<::pg_query::Float>(GetArena()); } return _impl_.val_.fval_; } -inline ::pg_query::Float* A_Const::mutable_fval() { +inline ::pg_query::Float* A_Const::mutable_fval() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Float* _msg = _internal_mutable_fval(); // @@protoc_insertion_point(field_mutable:pg_query.A_Const.fval) return _msg; } // .pg_query.Boolean boolval = 3; -inline bool A_Const::_internal_has_boolval() const { +inline bool A_Const::has_boolval() const { return val_case() == kBoolval; } -inline bool A_Const::has_boolval() const { - return _internal_has_boolval(); +inline bool A_Const::_internal_has_boolval() const { + return val_case() == kBoolval; } inline void A_Const::set_has_boolval() { _impl_._oneof_case_[0] = kBoolval; } inline void A_Const::clear_boolval() { - if (_internal_has_boolval()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (val_case() == kBoolval) { + if (GetArena() == nullptr) { delete _impl_.val_.boolval_; } clear_has_val(); @@ -79748,11 +97883,11 @@ inline void A_Const::clear_boolval() { } inline ::pg_query::Boolean* A_Const::release_boolval() { // @@protoc_insertion_point(field_release:pg_query.A_Const.boolval) - if (_internal_has_boolval()) { + if (val_case() == kBoolval) { clear_has_val(); - ::pg_query::Boolean* temp = _impl_.val_.boolval_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.val_.boolval_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.val_.boolval_ = nullptr; return temp; @@ -79761,60 +97896,62 @@ inline ::pg_query::Boolean* A_Const::release_boolval() { } } inline const ::pg_query::Boolean& A_Const::_internal_boolval() const { - return _internal_has_boolval() - ? *_impl_.val_.boolval_ - : reinterpret_cast< ::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); + return val_case() == kBoolval ? *_impl_.val_.boolval_ : reinterpret_cast<::pg_query::Boolean&>(::pg_query::_Boolean_default_instance_); } -inline const ::pg_query::Boolean& A_Const::boolval() const { +inline const ::pg_query::Boolean& A_Const::boolval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.A_Const.boolval) return _internal_boolval(); } inline ::pg_query::Boolean* A_Const::unsafe_arena_release_boolval() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.boolval) - if (_internal_has_boolval()) { + if (val_case() == kBoolval) { clear_has_val(); - ::pg_query::Boolean* temp = _impl_.val_.boolval_; + auto* temp = _impl_.val_.boolval_; _impl_.val_.boolval_ = nullptr; return temp; } else { return nullptr; } } -inline void A_Const::unsafe_arena_set_allocated_boolval(::pg_query::Boolean* boolval) { +inline void A_Const::unsafe_arena_set_allocated_boolval(::pg_query::Boolean* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_val(); - if (boolval) { + if (value) { set_has_boolval(); - _impl_.val_.boolval_ = boolval; + _impl_.val_.boolval_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.boolval) } inline ::pg_query::Boolean* A_Const::_internal_mutable_boolval() { - if (!_internal_has_boolval()) { + if (val_case() != kBoolval) { clear_val(); set_has_boolval(); - _impl_.val_.boolval_ = CreateMaybeMessage< ::pg_query::Boolean >(GetArenaForAllocation()); + _impl_.val_.boolval_ = CreateMaybeMessage<::pg_query::Boolean>(GetArena()); } return _impl_.val_.boolval_; } -inline ::pg_query::Boolean* A_Const::mutable_boolval() { +inline ::pg_query::Boolean* A_Const::mutable_boolval() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Boolean* _msg = _internal_mutable_boolval(); // @@protoc_insertion_point(field_mutable:pg_query.A_Const.boolval) return _msg; } // .pg_query.String sval = 4; -inline bool A_Const::_internal_has_sval() const { +inline bool A_Const::has_sval() const { return val_case() == kSval; } -inline bool A_Const::has_sval() const { - return _internal_has_sval(); +inline bool A_Const::_internal_has_sval() const { + return val_case() == kSval; } inline void A_Const::set_has_sval() { _impl_._oneof_case_[0] = kSval; } inline void A_Const::clear_sval() { - if (_internal_has_sval()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (val_case() == kSval) { + if (GetArena() == nullptr) { delete _impl_.val_.sval_; } clear_has_val(); @@ -79822,11 +97959,11 @@ inline void A_Const::clear_sval() { } inline ::pg_query::String* A_Const::release_sval() { // @@protoc_insertion_point(field_release:pg_query.A_Const.sval) - if (_internal_has_sval()) { + if (val_case() == kSval) { clear_has_val(); - ::pg_query::String* temp = _impl_.val_.sval_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.val_.sval_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.val_.sval_ = nullptr; return temp; @@ -79835,60 +97972,62 @@ inline ::pg_query::String* A_Const::release_sval() { } } inline const ::pg_query::String& A_Const::_internal_sval() const { - return _internal_has_sval() - ? *_impl_.val_.sval_ - : reinterpret_cast< ::pg_query::String&>(::pg_query::_String_default_instance_); + return val_case() == kSval ? *_impl_.val_.sval_ : reinterpret_cast<::pg_query::String&>(::pg_query::_String_default_instance_); } -inline const ::pg_query::String& A_Const::sval() const { +inline const ::pg_query::String& A_Const::sval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.A_Const.sval) return _internal_sval(); } inline ::pg_query::String* A_Const::unsafe_arena_release_sval() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.sval) - if (_internal_has_sval()) { + if (val_case() == kSval) { clear_has_val(); - ::pg_query::String* temp = _impl_.val_.sval_; + auto* temp = _impl_.val_.sval_; _impl_.val_.sval_ = nullptr; return temp; } else { return nullptr; } } -inline void A_Const::unsafe_arena_set_allocated_sval(::pg_query::String* sval) { +inline void A_Const::unsafe_arena_set_allocated_sval(::pg_query::String* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_val(); - if (sval) { + if (value) { set_has_sval(); - _impl_.val_.sval_ = sval; + _impl_.val_.sval_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.sval) } inline ::pg_query::String* A_Const::_internal_mutable_sval() { - if (!_internal_has_sval()) { + if (val_case() != kSval) { clear_val(); set_has_sval(); - _impl_.val_.sval_ = CreateMaybeMessage< ::pg_query::String >(GetArenaForAllocation()); + _impl_.val_.sval_ = CreateMaybeMessage<::pg_query::String>(GetArena()); } return _impl_.val_.sval_; } -inline ::pg_query::String* A_Const::mutable_sval() { +inline ::pg_query::String* A_Const::mutable_sval() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::String* _msg = _internal_mutable_sval(); // @@protoc_insertion_point(field_mutable:pg_query.A_Const.sval) return _msg; } // .pg_query.BitString bsval = 5; -inline bool A_Const::_internal_has_bsval() const { +inline bool A_Const::has_bsval() const { return val_case() == kBsval; } -inline bool A_Const::has_bsval() const { - return _internal_has_bsval(); +inline bool A_Const::_internal_has_bsval() const { + return val_case() == kBsval; } inline void A_Const::set_has_bsval() { _impl_._oneof_case_[0] = kBsval; } inline void A_Const::clear_bsval() { - if (_internal_has_bsval()) { - if (GetArenaForAllocation() == nullptr) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (val_case() == kBsval) { + if (GetArena() == nullptr) { delete _impl_.val_.bsval_; } clear_has_val(); @@ -79896,11 +98035,11 @@ inline void A_Const::clear_bsval() { } inline ::pg_query::BitString* A_Const::release_bsval() { // @@protoc_insertion_point(field_release:pg_query.A_Const.bsval) - if (_internal_has_bsval()) { + if (val_case() == kBsval) { clear_has_val(); - ::pg_query::BitString* temp = _impl_.val_.bsval_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* temp = _impl_.val_.bsval_; + if (GetArena() != nullptr) { + temp = ::google::protobuf::internal::DuplicateIfNonNull(temp); } _impl_.val_.bsval_ = nullptr; return temp; @@ -79909,42 +98048,43 @@ inline ::pg_query::BitString* A_Const::release_bsval() { } } inline const ::pg_query::BitString& A_Const::_internal_bsval() const { - return _internal_has_bsval() - ? *_impl_.val_.bsval_ - : reinterpret_cast< ::pg_query::BitString&>(::pg_query::_BitString_default_instance_); + return val_case() == kBsval ? *_impl_.val_.bsval_ : reinterpret_cast<::pg_query::BitString&>(::pg_query::_BitString_default_instance_); } -inline const ::pg_query::BitString& A_Const::bsval() const { +inline const ::pg_query::BitString& A_Const::bsval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.A_Const.bsval) return _internal_bsval(); } inline ::pg_query::BitString* A_Const::unsafe_arena_release_bsval() { // @@protoc_insertion_point(field_unsafe_arena_release:pg_query.A_Const.bsval) - if (_internal_has_bsval()) { + if (val_case() == kBsval) { clear_has_val(); - ::pg_query::BitString* temp = _impl_.val_.bsval_; + auto* temp = _impl_.val_.bsval_; _impl_.val_.bsval_ = nullptr; return temp; } else { return nullptr; } } -inline void A_Const::unsafe_arena_set_allocated_bsval(::pg_query::BitString* bsval) { +inline void A_Const::unsafe_arena_set_allocated_bsval(::pg_query::BitString* value) { + // We rely on the oneof clear method to free the earlier contents + // of this oneof. We can directly use the pointer we're given to + // set the new value. clear_val(); - if (bsval) { + if (value) { set_has_bsval(); - _impl_.val_.bsval_ = bsval; + _impl_.val_.bsval_ = value; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Const.bsval) } inline ::pg_query::BitString* A_Const::_internal_mutable_bsval() { - if (!_internal_has_bsval()) { + if (val_case() != kBsval) { clear_val(); set_has_bsval(); - _impl_.val_.bsval_ = CreateMaybeMessage< ::pg_query::BitString >(GetArenaForAllocation()); + _impl_.val_.bsval_ = CreateMaybeMessage<::pg_query::BitString>(GetArena()); } return _impl_.val_.bsval_; } -inline ::pg_query::BitString* A_Const::mutable_bsval() { +inline ::pg_query::BitString* A_Const::mutable_bsval() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::BitString* _msg = _internal_mutable_bsval(); // @@protoc_insertion_point(field_mutable:pg_query.A_Const.bsval) return _msg; @@ -79952,43 +98092,49 @@ inline ::pg_query::BitString* A_Const::mutable_bsval() { // bool isnull = 10; inline void A_Const::clear_isnull() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.isnull_ = false; } -inline bool A_Const::_internal_isnull() const { - return _impl_.isnull_; -} inline bool A_Const::isnull() const { // @@protoc_insertion_point(field_get:pg_query.A_Const.isnull) return _internal_isnull(); } -inline void A_Const::_internal_set_isnull(bool value) { - - _impl_.isnull_ = value; -} inline void A_Const::set_isnull(bool value) { _internal_set_isnull(value); // @@protoc_insertion_point(field_set:pg_query.A_Const.isnull) } +inline bool A_Const::_internal_isnull() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isnull_; +} +inline void A_Const::_internal_set_isnull(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.isnull_ = value; +} // int32 location = 11; inline void A_Const::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t A_Const::_internal_location() const { - return _impl_.location_; -} -inline int32_t A_Const::location() const { +inline ::int32_t A_Const::location() const { // @@protoc_insertion_point(field_get:pg_query.A_Const.location) return _internal_location(); } -inline void A_Const::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void A_Const::set_location(int32_t value) { +inline void A_Const::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.A_Const.location) } +inline ::int32_t A_Const::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void A_Const::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} inline bool A_Const::has_val() const { return val_case() != VAL_NOT_SET; @@ -80005,93 +98151,105 @@ inline A_Const::ValCase A_Const::val_case() const { // string aliasname = 1 [json_name = "aliasname"]; inline void Alias::clear_aliasname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aliasname_.ClearToEmpty(); } -inline const std::string& Alias::aliasname() const { +inline const std::string& Alias::aliasname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Alias.aliasname) return _internal_aliasname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Alias::set_aliasname(ArgT0&& arg0, ArgT... args) { - - _impl_.aliasname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void Alias::set_aliasname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aliasname_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.Alias.aliasname) } -inline std::string* Alias::mutable_aliasname() { +inline std::string* Alias::mutable_aliasname() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_aliasname(); // @@protoc_insertion_point(field_mutable:pg_query.Alias.aliasname) return _s; } inline const std::string& Alias::_internal_aliasname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aliasname_.Get(); } inline void Alias::_internal_set_aliasname(const std::string& value) { - - _impl_.aliasname_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aliasname_.Set(value, GetArena()); } inline std::string* Alias::_internal_mutable_aliasname() { - - return _impl_.aliasname_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.aliasname_.Mutable( GetArena()); } inline std::string* Alias::release_aliasname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Alias.aliasname) return _impl_.aliasname_.Release(); } -inline void Alias::set_allocated_aliasname(std::string* aliasname) { - if (aliasname != nullptr) { - - } else { - - } - _impl_.aliasname_.SetAllocated(aliasname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.aliasname_.IsDefault()) { - _impl_.aliasname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void Alias::set_allocated_aliasname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aliasname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.aliasname_.IsDefault()) { + _impl_.aliasname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.Alias.aliasname) } // repeated .pg_query.Node colnames = 2 [json_name = "colnames"]; inline int Alias::_internal_colnames_size() const { - return _impl_.colnames_.size(); + return _internal_colnames().size(); } inline int Alias::colnames_size() const { return _internal_colnames_size(); } inline void Alias::clear_colnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.colnames_.Clear(); } -inline ::pg_query::Node* Alias::mutable_colnames(int index) { +inline ::pg_query::Node* Alias::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Alias.colnames) - return _impl_.colnames_.Mutable(index); + return _internal_mutable_colnames()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Alias::mutable_colnames() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Alias::mutable_colnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Alias.colnames) - return &_impl_.colnames_; -} -inline const ::pg_query::Node& Alias::_internal_colnames(int index) const { - return _impl_.colnames_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colnames(); } -inline const ::pg_query::Node& Alias::colnames(int index) const { +inline const ::pg_query::Node& Alias::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Alias.colnames) - return _internal_colnames(index); + return _internal_colnames().Get(index); } -inline ::pg_query::Node* Alias::_internal_add_colnames() { - return _impl_.colnames_.Add(); -} -inline ::pg_query::Node* Alias::add_colnames() { - ::pg_query::Node* _add = _internal_add_colnames(); +inline ::pg_query::Node* Alias::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); // @@protoc_insertion_point(field_add:pg_query.Alias.colnames) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Alias::colnames() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Alias::colnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Alias.colnames) + return _internal_colnames(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Alias::_internal_colnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.colnames_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Alias::_internal_mutable_colnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colnames_; +} // ------------------------------------------------------------------- @@ -80099,923 +98257,1698 @@ Alias::colnames() const { // string catalogname = 1 [json_name = "catalogname"]; inline void RangeVar::clear_catalogname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.catalogname_.ClearToEmpty(); } -inline const std::string& RangeVar::catalogname() const { +inline const std::string& RangeVar::catalogname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RangeVar.catalogname) return _internal_catalogname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeVar::set_catalogname(ArgT0&& arg0, ArgT... args) { - - _impl_.catalogname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_catalogname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.catalogname_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.RangeVar.catalogname) } -inline std::string* RangeVar::mutable_catalogname() { +inline std::string* RangeVar::mutable_catalogname() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_catalogname(); // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.catalogname) return _s; } inline const std::string& RangeVar::_internal_catalogname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.catalogname_.Get(); } inline void RangeVar::_internal_set_catalogname(const std::string& value) { - - _impl_.catalogname_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.catalogname_.Set(value, GetArena()); } inline std::string* RangeVar::_internal_mutable_catalogname() { - - return _impl_.catalogname_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.catalogname_.Mutable( GetArena()); } inline std::string* RangeVar::release_catalogname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RangeVar.catalogname) return _impl_.catalogname_.Release(); } -inline void RangeVar::set_allocated_catalogname(std::string* catalogname) { - if (catalogname != nullptr) { - - } else { - - } - _impl_.catalogname_.SetAllocated(catalogname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.catalogname_.IsDefault()) { - _impl_.catalogname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void RangeVar::set_allocated_catalogname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.catalogname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.catalogname_.IsDefault()) { + _impl_.catalogname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.catalogname) } // string schemaname = 2 [json_name = "schemaname"]; inline void RangeVar::clear_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.schemaname_.ClearToEmpty(); } -inline const std::string& RangeVar::schemaname() const { +inline const std::string& RangeVar::schemaname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RangeVar.schemaname) return _internal_schemaname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeVar::set_schemaname(ArgT0&& arg0, ArgT... args) { - - _impl_.schemaname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_schemaname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.RangeVar.schemaname) } -inline std::string* RangeVar::mutable_schemaname() { +inline std::string* RangeVar::mutable_schemaname() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_schemaname(); // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.schemaname) return _s; } inline const std::string& RangeVar::_internal_schemaname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.schemaname_.Get(); } inline void RangeVar::_internal_set_schemaname(const std::string& value) { - - _impl_.schemaname_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(value, GetArena()); } inline std::string* RangeVar::_internal_mutable_schemaname() { - - return _impl_.schemaname_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.schemaname_.Mutable( GetArena()); } inline std::string* RangeVar::release_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RangeVar.schemaname) return _impl_.schemaname_.Release(); } -inline void RangeVar::set_allocated_schemaname(std::string* schemaname) { - if (schemaname != nullptr) { - - } else { - - } - _impl_.schemaname_.SetAllocated(schemaname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.schemaname_.IsDefault()) { - _impl_.schemaname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void RangeVar::set_allocated_schemaname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schemaname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.schemaname_.IsDefault()) { + _impl_.schemaname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.schemaname) } // string relname = 3 [json_name = "relname"]; inline void RangeVar::clear_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.relname_.ClearToEmpty(); } -inline const std::string& RangeVar::relname() const { +inline const std::string& RangeVar::relname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RangeVar.relname) return _internal_relname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeVar::set_relname(ArgT0&& arg0, ArgT... args) { - - _impl_.relname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.RangeVar.relname) } -inline std::string* RangeVar::mutable_relname() { +inline std::string* RangeVar::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_relname(); // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relname) return _s; } inline const std::string& RangeVar::_internal_relname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.relname_.Get(); } inline void RangeVar::_internal_set_relname(const std::string& value) { - - _impl_.relname_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(value, GetArena()); } inline std::string* RangeVar::_internal_mutable_relname() { - - return _impl_.relname_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relname_.Mutable( GetArena()); } inline std::string* RangeVar::release_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RangeVar.relname) return _impl_.relname_.Release(); } -inline void RangeVar::set_allocated_relname(std::string* relname) { - if (relname != nullptr) { - - } else { - - } - _impl_.relname_.SetAllocated(relname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relname_.IsDefault()) { - _impl_.relname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void RangeVar::set_allocated_relname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relname_.IsDefault()) { + _impl_.relname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relname) } // bool inh = 4 [json_name = "inh"]; inline void RangeVar::clear_inh() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inh_ = false; } -inline bool RangeVar::_internal_inh() const { - return _impl_.inh_; -} inline bool RangeVar::inh() const { // @@protoc_insertion_point(field_get:pg_query.RangeVar.inh) return _internal_inh(); } -inline void RangeVar::_internal_set_inh(bool value) { - - _impl_.inh_ = value; -} inline void RangeVar::set_inh(bool value) { _internal_set_inh(value); // @@protoc_insertion_point(field_set:pg_query.RangeVar.inh) } +inline bool RangeVar::_internal_inh() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_; +} +inline void RangeVar::_internal_set_inh(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inh_ = value; +} // string relpersistence = 5 [json_name = "relpersistence"]; inline void RangeVar::clear_relpersistence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.relpersistence_.ClearToEmpty(); } -inline const std::string& RangeVar::relpersistence() const { +inline const std::string& RangeVar::relpersistence() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RangeVar.relpersistence) return _internal_relpersistence(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeVar::set_relpersistence(ArgT0&& arg0, ArgT... args) { - - _impl_.relpersistence_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void RangeVar::set_relpersistence(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relpersistence_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.RangeVar.relpersistence) } -inline std::string* RangeVar::mutable_relpersistence() { +inline std::string* RangeVar::mutable_relpersistence() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_relpersistence(); // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.relpersistence) return _s; } inline const std::string& RangeVar::_internal_relpersistence() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.relpersistence_.Get(); } inline void RangeVar::_internal_set_relpersistence(const std::string& value) { - - _impl_.relpersistence_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relpersistence_.Set(value, GetArena()); } inline std::string* RangeVar::_internal_mutable_relpersistence() { - - return _impl_.relpersistence_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relpersistence_.Mutable( GetArena()); } inline std::string* RangeVar::release_relpersistence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RangeVar.relpersistence) return _impl_.relpersistence_.Release(); } -inline void RangeVar::set_allocated_relpersistence(std::string* relpersistence) { - if (relpersistence != nullptr) { - - } else { - - } - _impl_.relpersistence_.SetAllocated(relpersistence, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relpersistence_.IsDefault()) { - _impl_.relpersistence_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void RangeVar::set_allocated_relpersistence(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relpersistence_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relpersistence_.IsDefault()) { + _impl_.relpersistence_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.relpersistence) } // .pg_query.Alias alias = 6 [json_name = "alias"]; -inline bool RangeVar::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; -} inline bool RangeVar::has_alias() const { - return _internal_has_alias(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } inline void RangeVar::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Alias& RangeVar::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::Alias& RangeVar::alias() const { +inline const ::pg_query::Alias& RangeVar::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RangeVar.alias) return _internal_alias(); } -inline void RangeVar::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); +inline void RangeVar::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.alias_ = alias; - if (alias) { - + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeVar.alias) } inline ::pg_query::Alias* RangeVar::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* released = _impl_.alias_; _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Alias* RangeVar::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RangeVar.alias) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Alias* temp = _impl_.alias_; _impl_.alias_ = nullptr; return temp; } inline ::pg_query::Alias* RangeVar::_internal_mutable_alias() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } return _impl_.alias_; } -inline ::pg_query::Alias* RangeVar::mutable_alias() { +inline ::pg_query::Alias* RangeVar::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Alias* _msg = _internal_mutable_alias(); // @@protoc_insertion_point(field_mutable:pg_query.RangeVar.alias) return _msg; } -inline void RangeVar::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeVar::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.alias_; + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.alias_ = alias; + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.RangeVar.alias) } // int32 location = 7 [json_name = "location"]; inline void RangeVar::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t RangeVar::_internal_location() const { - return _impl_.location_; -} -inline int32_t RangeVar::location() const { +inline ::int32_t RangeVar::location() const { // @@protoc_insertion_point(field_get:pg_query.RangeVar.location) return _internal_location(); } -inline void RangeVar::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void RangeVar::set_location(int32_t value) { +inline void RangeVar::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.RangeVar.location) } +inline ::int32_t RangeVar::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RangeVar::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // TableFunc -// repeated .pg_query.Node ns_uris = 1 [json_name = "ns_uris"]; +// .pg_query.TableFuncType functype = 1 [json_name = "functype"]; +inline void TableFunc::clear_functype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.functype_ = 0; +} +inline ::pg_query::TableFuncType TableFunc::functype() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.functype) + return _internal_functype(); +} +inline void TableFunc::set_functype(::pg_query::TableFuncType value) { + _internal_set_functype(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.functype) +} +inline ::pg_query::TableFuncType TableFunc::_internal_functype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::TableFuncType>(_impl_.functype_); +} +inline void TableFunc::_internal_set_functype(::pg_query::TableFuncType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.functype_ = value; +} + +// repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"]; inline int TableFunc::_internal_ns_uris_size() const { - return _impl_.ns_uris_.size(); + return _internal_ns_uris().size(); } inline int TableFunc::ns_uris_size() const { return _internal_ns_uris_size(); } inline void TableFunc::clear_ns_uris() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.ns_uris_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_ns_uris(int index) { +inline ::pg_query::Node* TableFunc::mutable_ns_uris(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_uris) - return _impl_.ns_uris_.Mutable(index); + return _internal_mutable_ns_uris()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_ns_uris() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_uris() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_uris) - return &_impl_.ns_uris_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ns_uris(); } -inline const ::pg_query::Node& TableFunc::_internal_ns_uris(int index) const { - return _impl_.ns_uris_.Get(index); -} -inline const ::pg_query::Node& TableFunc::ns_uris(int index) const { +inline const ::pg_query::Node& TableFunc::ns_uris(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_uris) - return _internal_ns_uris(index); -} -inline ::pg_query::Node* TableFunc::_internal_add_ns_uris() { - return _impl_.ns_uris_.Add(); + return _internal_ns_uris().Get(index); } -inline ::pg_query::Node* TableFunc::add_ns_uris() { - ::pg_query::Node* _add = _internal_add_ns_uris(); +inline ::pg_query::Node* TableFunc::add_ns_uris() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ns_uris()->Add(); // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_uris) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::ns_uris() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_uris() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_uris) + return _internal_ns_uris(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_ns_uris() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.ns_uris_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_ns_uris() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ns_uris_; +} -// repeated .pg_query.Node ns_names = 2 [json_name = "ns_names"]; +// repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"]; inline int TableFunc::_internal_ns_names_size() const { - return _impl_.ns_names_.size(); + return _internal_ns_names().size(); } inline int TableFunc::ns_names_size() const { return _internal_ns_names_size(); } inline void TableFunc::clear_ns_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.ns_names_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_ns_names(int index) { +inline ::pg_query::Node* TableFunc::mutable_ns_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.ns_names) - return _impl_.ns_names_.Mutable(index); + return _internal_mutable_ns_names()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_ns_names() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_ns_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.ns_names) - return &_impl_.ns_names_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ns_names(); } -inline const ::pg_query::Node& TableFunc::_internal_ns_names(int index) const { - return _impl_.ns_names_.Get(index); -} -inline const ::pg_query::Node& TableFunc::ns_names(int index) const { +inline const ::pg_query::Node& TableFunc::ns_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.ns_names) - return _internal_ns_names(index); -} -inline ::pg_query::Node* TableFunc::_internal_add_ns_names() { - return _impl_.ns_names_.Add(); + return _internal_ns_names().Get(index); } -inline ::pg_query::Node* TableFunc::add_ns_names() { - ::pg_query::Node* _add = _internal_add_ns_names(); +inline ::pg_query::Node* TableFunc::add_ns_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ns_names()->Add(); // @@protoc_insertion_point(field_add:pg_query.TableFunc.ns_names) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::ns_names() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::ns_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.TableFunc.ns_names) + return _internal_ns_names(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_ns_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.ns_names_; } - -// .pg_query.Node docexpr = 3 [json_name = "docexpr"]; -inline bool TableFunc::_internal_has_docexpr() const { - return this != internal_default_instance() && _impl_.docexpr_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_ns_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ns_names_; } + +// .pg_query.Node docexpr = 4 [json_name = "docexpr"]; inline bool TableFunc::has_docexpr() const { - return _internal_has_docexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); + return value; } inline void TableFunc::clear_docexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.docexpr_ != nullptr) { - delete _impl_.docexpr_; - } - _impl_.docexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& TableFunc::_internal_docexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.docexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TableFunc::docexpr() const { +inline const ::pg_query::Node& TableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.docexpr) return _internal_docexpr(); } -inline void TableFunc::unsafe_arena_set_allocated_docexpr( - ::pg_query::Node* docexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.docexpr_); +inline void TableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); } - _impl_.docexpr_ = docexpr; - if (docexpr) { - + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.docexpr) } inline ::pg_query::Node* TableFunc::release_docexpr() { - - ::pg_query::Node* temp = _impl_.docexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.docexpr_; _impl_.docexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* TableFunc::unsafe_arena_release_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.TableFunc.docexpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.docexpr_; _impl_.docexpr_ = nullptr; return temp; } inline ::pg_query::Node* TableFunc::_internal_mutable_docexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.docexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.docexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.docexpr_; } -inline ::pg_query::Node* TableFunc::mutable_docexpr() { +inline ::pg_query::Node* TableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_docexpr(); // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.docexpr) return _msg; } -inline void TableFunc::set_allocated_docexpr(::pg_query::Node* docexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void TableFunc::set_allocated_docexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.docexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); } - if (docexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(docexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - docexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, docexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.docexpr_ = docexpr; + + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.docexpr) } -// .pg_query.Node rowexpr = 4 [json_name = "rowexpr"]; -inline bool TableFunc::_internal_has_rowexpr() const { - return this != internal_default_instance() && _impl_.rowexpr_ != nullptr; -} +// .pg_query.Node rowexpr = 5 [json_name = "rowexpr"]; inline bool TableFunc::has_rowexpr() const { - return _internal_has_rowexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); + return value; } inline void TableFunc::clear_rowexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.rowexpr_ != nullptr) { - delete _impl_.rowexpr_; - } - _impl_.rowexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& TableFunc::_internal_rowexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.rowexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TableFunc::rowexpr() const { +inline const ::pg_query::Node& TableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.rowexpr) return _internal_rowexpr(); } -inline void TableFunc::unsafe_arena_set_allocated_rowexpr( - ::pg_query::Node* rowexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rowexpr_); +inline void TableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); } - _impl_.rowexpr_ = rowexpr; - if (rowexpr) { - + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.rowexpr) } inline ::pg_query::Node* TableFunc::release_rowexpr() { - - ::pg_query::Node* temp = _impl_.rowexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rowexpr_; _impl_.rowexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* TableFunc::unsafe_arena_release_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.TableFunc.rowexpr) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.rowexpr_; _impl_.rowexpr_ = nullptr; return temp; } inline ::pg_query::Node* TableFunc::_internal_mutable_rowexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.rowexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.rowexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.rowexpr_; } -inline ::pg_query::Node* TableFunc::mutable_rowexpr() { +inline ::pg_query::Node* TableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_rowexpr(); // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.rowexpr) return _msg; } -inline void TableFunc::set_allocated_rowexpr(::pg_query::Node* rowexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void TableFunc::set_allocated_rowexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rowexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); } - if (rowexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rowexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - rowexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rowexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.rowexpr_ = rowexpr; + + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.rowexpr) } -// repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; +// repeated .pg_query.Node colnames = 6 [json_name = "colnames"]; inline int TableFunc::_internal_colnames_size() const { - return _impl_.colnames_.size(); + return _internal_colnames().size(); } inline int TableFunc::colnames_size() const { return _internal_colnames_size(); } inline void TableFunc::clear_colnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.colnames_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_colnames(int index) { +inline ::pg_query::Node* TableFunc::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colnames) - return _impl_.colnames_.Mutable(index); + return _internal_mutable_colnames()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_colnames() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colnames) - return &_impl_.colnames_; -} -inline const ::pg_query::Node& TableFunc::_internal_colnames(int index) const { - return _impl_.colnames_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colnames(); } -inline const ::pg_query::Node& TableFunc::colnames(int index) const { +inline const ::pg_query::Node& TableFunc::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.colnames) - return _internal_colnames(index); + return _internal_colnames().Get(index); } -inline ::pg_query::Node* TableFunc::_internal_add_colnames() { - return _impl_.colnames_.Add(); -} -inline ::pg_query::Node* TableFunc::add_colnames() { - ::pg_query::Node* _add = _internal_add_colnames(); +inline ::pg_query::Node* TableFunc::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); // @@protoc_insertion_point(field_add:pg_query.TableFunc.colnames) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::colnames() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.TableFunc.colnames) + return _internal_colnames(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.colnames_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colnames_; +} -// repeated .pg_query.Node coltypes = 6 [json_name = "coltypes"]; +// repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"]; inline int TableFunc::_internal_coltypes_size() const { - return _impl_.coltypes_.size(); + return _internal_coltypes().size(); } inline int TableFunc::coltypes_size() const { return _internal_coltypes_size(); } inline void TableFunc::clear_coltypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coltypes_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_coltypes(int index) { +inline ::pg_query::Node* TableFunc::mutable_coltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypes) - return _impl_.coltypes_.Mutable(index); + return _internal_mutable_coltypes()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_coltypes() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypes) - return &_impl_.coltypes_; -} -inline const ::pg_query::Node& TableFunc::_internal_coltypes(int index) const { - return _impl_.coltypes_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypes(); } -inline const ::pg_query::Node& TableFunc::coltypes(int index) const { +inline const ::pg_query::Node& TableFunc::coltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypes) - return _internal_coltypes(index); + return _internal_coltypes().Get(index); } -inline ::pg_query::Node* TableFunc::_internal_add_coltypes() { - return _impl_.coltypes_.Add(); -} -inline ::pg_query::Node* TableFunc::add_coltypes() { - ::pg_query::Node* _add = _internal_add_coltypes(); +inline ::pg_query::Node* TableFunc::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypes) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::coltypes() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypes) + return _internal_coltypes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.coltypes_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypes_; +} -// repeated .pg_query.Node coltypmods = 7 [json_name = "coltypmods"]; +// repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"]; inline int TableFunc::_internal_coltypmods_size() const { - return _impl_.coltypmods_.size(); + return _internal_coltypmods().size(); } inline int TableFunc::coltypmods_size() const { return _internal_coltypmods_size(); } inline void TableFunc::clear_coltypmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coltypmods_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_coltypmods(int index) { +inline ::pg_query::Node* TableFunc::mutable_coltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coltypmods) - return _impl_.coltypmods_.Mutable(index); + return _internal_mutable_coltypmods()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_coltypmods() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coltypmods) - return &_impl_.coltypmods_; -} -inline const ::pg_query::Node& TableFunc::_internal_coltypmods(int index) const { - return _impl_.coltypmods_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypmods(); } -inline const ::pg_query::Node& TableFunc::coltypmods(int index) const { +inline const ::pg_query::Node& TableFunc::coltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.TableFunc.coltypmods) - return _internal_coltypmods(index); + return _internal_coltypmods().Get(index); } -inline ::pg_query::Node* TableFunc::_internal_add_coltypmods() { - return _impl_.coltypmods_.Add(); -} -inline ::pg_query::Node* TableFunc::add_coltypmods() { - ::pg_query::Node* _add = _internal_add_coltypmods(); +inline ::pg_query::Node* TableFunc::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); // @@protoc_insertion_point(field_add:pg_query.TableFunc.coltypmods) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::coltypmods() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.TableFunc.coltypmods) + return _internal_coltypmods(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coltypmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.coltypmods_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypmods_; +} -// repeated .pg_query.Node colcollations = 8 [json_name = "colcollations"]; +// repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"]; inline int TableFunc::_internal_colcollations_size() const { - return _impl_.colcollations_.size(); + return _internal_colcollations().size(); } inline int TableFunc::colcollations_size() const { return _internal_colcollations_size(); } inline void TableFunc::clear_colcollations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.colcollations_.Clear(); } -inline ::pg_query::Node* TableFunc::mutable_colcollations(int index) { +inline ::pg_query::Node* TableFunc::mutable_colcollations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colcollations) - return _impl_.colcollations_.Mutable(index); + return _internal_mutable_colcollations()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colcollations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colcollations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colcollations(); +} +inline const ::pg_query::Node& TableFunc::colcollations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colcollations) + return _internal_colcollations().Get(index); +} +inline ::pg_query::Node* TableFunc::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colcollations) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colcollations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colcollations) + return _internal_colcollations(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colcollations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colcollations_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colcollations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colcollations_; +} + +// repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"]; +inline int TableFunc::_internal_colexprs_size() const { + return _internal_colexprs().size(); +} +inline int TableFunc::colexprs_size() const { + return _internal_colexprs_size(); +} +inline void TableFunc::clear_colexprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colexprs_.Clear(); +} +inline ::pg_query::Node* TableFunc::mutable_colexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colexprs) + return _internal_mutable_colexprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colexprs(); +} +inline const ::pg_query::Node& TableFunc::colexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colexprs) + return _internal_colexprs().Get(index); +} +inline ::pg_query::Node* TableFunc::add_colexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colexprs) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colexprs) + return _internal_colexprs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colexprs_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colexprs_; +} + +// repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"]; +inline int TableFunc::_internal_coldefexprs_size() const { + return _internal_coldefexprs().size(); +} +inline int TableFunc::coldefexprs_size() const { + return _internal_coldefexprs_size(); +} +inline void TableFunc::clear_coldefexprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coldefexprs_.Clear(); +} +inline ::pg_query::Node* TableFunc::mutable_coldefexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coldefexprs) + return _internal_mutable_coldefexprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_coldefexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coldefexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coldefexprs(); +} +inline const ::pg_query::Node& TableFunc::coldefexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.coldefexprs) + return _internal_coldefexprs().Get(index); +} +inline ::pg_query::Node* TableFunc::add_coldefexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coldefexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.coldefexprs) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::coldefexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.coldefexprs) + return _internal_coldefexprs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_coldefexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coldefexprs_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_coldefexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coldefexprs_; +} + +// repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"]; +inline int TableFunc::_internal_colvalexprs_size() const { + return _internal_colvalexprs().size(); +} +inline int TableFunc::colvalexprs_size() const { + return _internal_colvalexprs_size(); +} +inline void TableFunc::clear_colvalexprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colvalexprs_.Clear(); +} +inline ::pg_query::Node* TableFunc::mutable_colvalexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colvalexprs) + return _internal_mutable_colvalexprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_colvalexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colvalexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colvalexprs(); +} +inline const ::pg_query::Node& TableFunc::colvalexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.colvalexprs) + return _internal_colvalexprs().Get(index); +} +inline ::pg_query::Node* TableFunc::add_colvalexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colvalexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.colvalexprs) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::colvalexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.colvalexprs) + return _internal_colvalexprs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_colvalexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colvalexprs_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_colvalexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colvalexprs_; +} + +// repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"]; +inline int TableFunc::_internal_passingvalexprs_size() const { + return _internal_passingvalexprs().size(); +} +inline int TableFunc::passingvalexprs_size() const { + return _internal_passingvalexprs_size(); +} +inline void TableFunc::clear_passingvalexprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passingvalexprs_.Clear(); +} +inline ::pg_query::Node* TableFunc::mutable_passingvalexprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.passingvalexprs) + return _internal_mutable_passingvalexprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableFunc::mutable_passingvalexprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.passingvalexprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passingvalexprs(); +} +inline const ::pg_query::Node& TableFunc::passingvalexprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.passingvalexprs) + return _internal_passingvalexprs().Get(index); +} +inline ::pg_query::Node* TableFunc::add_passingvalexprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passingvalexprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.passingvalexprs) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableFunc::passingvalexprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.passingvalexprs) + return _internal_passingvalexprs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableFunc::_internal_passingvalexprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passingvalexprs_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableFunc::_internal_mutable_passingvalexprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passingvalexprs_; +} + +// repeated uint64 notnulls = 14 [json_name = "notnulls"]; +inline int TableFunc::_internal_notnulls_size() const { + return _internal_notnulls().size(); +} +inline int TableFunc::notnulls_size() const { + return _internal_notnulls_size(); +} +inline void TableFunc::clear_notnulls() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.notnulls_.Clear(); +} +inline ::uint64_t TableFunc::notnulls(int index) const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.notnulls) + return _internal_notnulls().Get(index); +} +inline void TableFunc::set_notnulls(int index, ::uint64_t value) { + _internal_mutable_notnulls()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.notnulls) +} +inline void TableFunc::add_notnulls(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_notnulls()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.TableFunc.notnulls) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::notnulls() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableFunc.notnulls) + return _internal_notnulls(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::mutable_notnulls() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.notnulls) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_notnulls(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& TableFunc::_internal_notnulls() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.notnulls_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* TableFunc::_internal_mutable_notnulls() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.notnulls_; +} + +// .pg_query.Node plan = 15 [json_name = "plan"]; +inline bool TableFunc::has_plan() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); + return value; +} +inline void TableFunc::clear_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::Node& TableFunc::_internal_plan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.plan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& TableFunc::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.plan) + return _internal_plan(); +} +inline void TableFunc::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); + } + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableFunc.plan) +} +inline ::pg_query::Node* TableFunc::release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* TableFunc::unsafe_arena_release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableFunc.plan) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; + return temp; +} +inline ::pg_query::Node* TableFunc::_internal_mutable_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.plan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.plan_; +} +inline ::pg_query::Node* TableFunc::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.plan) + return _msg; +} +inline void TableFunc::set_allocated_plan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableFunc.plan) +} + +// int32 ordinalitycol = 16 [json_name = "ordinalitycol"]; +inline void TableFunc::clear_ordinalitycol() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ordinalitycol_ = 0; +} +inline ::int32_t TableFunc::ordinalitycol() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.ordinalitycol) + return _internal_ordinalitycol(); +} +inline void TableFunc::set_ordinalitycol(::int32_t value) { + _internal_set_ordinalitycol(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.ordinalitycol) +} +inline ::int32_t TableFunc::_internal_ordinalitycol() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ordinalitycol_; +} +inline void TableFunc::_internal_set_ordinalitycol(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ordinalitycol_ = value; +} + +// int32 location = 17 [json_name = "location"]; +inline void TableFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t TableFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.TableFunc.location) + return _internal_location(); +} +inline void TableFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TableFunc.location) +} +inline ::int32_t TableFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void TableFunc::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// IntoClause + +// .pg_query.RangeVar rel = 1 [json_name = "rel"]; +inline bool IntoClause::has_rel() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rel_ != nullptr); + return value; +} +inline void IntoClause::clear_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rel_ != nullptr) _impl_.rel_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& IntoClause::_internal_rel() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.rel_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& IntoClause::rel() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.rel) + return _internal_rel(); +} +inline void IntoClause::unsafe_arena_set_allocated_rel(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rel_); + } + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.rel) +} +inline ::pg_query::RangeVar* IntoClause::release_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.rel_; + _impl_.rel_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::RangeVar* IntoClause::unsafe_arena_release_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.rel) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.rel_; + _impl_.rel_ = nullptr; + return temp; +} +inline ::pg_query::RangeVar* IntoClause::_internal_mutable_rel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.rel_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.rel_; +} +inline ::pg_query::RangeVar* IntoClause::mutable_rel() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_rel(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.rel) + return _msg; +} +inline void IntoClause::set_allocated_rel(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.rel_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.rel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.rel) +} + +// repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; +inline int IntoClause::_internal_col_names_size() const { + return _internal_col_names().size(); +} +inline int IntoClause::col_names_size() const { + return _internal_col_names_size(); +} +inline void IntoClause::clear_col_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_names_.Clear(); +} +inline ::pg_query::Node* IntoClause::mutable_col_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.col_names) + return _internal_mutable_col_names()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_col_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.col_names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_col_names(); +} +inline const ::pg_query::Node& IntoClause::col_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.col_names) + return _internal_col_names().Get(index); +} +inline ::pg_query::Node* IntoClause::add_col_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_col_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IntoClause.col_names) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::col_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IntoClause.col_names) + return _internal_col_names(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntoClause::_internal_col_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_names_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntoClause::_internal_mutable_col_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.col_names_; +} + +// string access_method = 3 [json_name = "accessMethod"]; +inline void IntoClause::clear_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.ClearToEmpty(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_colcollations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colcollations) - return &_impl_.colcollations_; +inline const std::string& IntoClause::access_method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.access_method) + return _internal_access_method(); } -inline const ::pg_query::Node& TableFunc::_internal_colcollations(int index) const { - return _impl_.colcollations_.Get(index); +template +inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_access_method(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.access_method) } -inline const ::pg_query::Node& TableFunc::colcollations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.colcollations) - return _internal_colcollations(index); +inline std::string* IntoClause::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_access_method(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.access_method) + return _s; } -inline ::pg_query::Node* TableFunc::_internal_add_colcollations() { - return _impl_.colcollations_.Add(); +inline const std::string& IntoClause::_internal_access_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.access_method_.Get(); } -inline ::pg_query::Node* TableFunc::add_colcollations() { - ::pg_query::Node* _add = _internal_add_colcollations(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.colcollations) - return _add; +inline void IntoClause::_internal_set_access_method(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(value, GetArena()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::colcollations() const { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.colcollations) - return _impl_.colcollations_; +inline std::string* IntoClause::_internal_mutable_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.access_method_.Mutable( GetArena()); } - -// repeated .pg_query.Node colexprs = 9 [json_name = "colexprs"]; -inline int TableFunc::_internal_colexprs_size() const { - return _impl_.colexprs_.size(); +inline std::string* IntoClause::release_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.access_method) + return _impl_.access_method_.Release(); } -inline int TableFunc::colexprs_size() const { - return _internal_colexprs_size(); +inline void IntoClause::set_allocated_access_method(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.access_method_.IsDefault()) { + _impl_.access_method_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.access_method) } -inline void TableFunc::clear_colexprs() { - _impl_.colexprs_.Clear(); + +// repeated .pg_query.Node options = 4 [json_name = "options"]; +inline int IntoClause::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* TableFunc::mutable_colexprs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.colexprs) - return _impl_.colexprs_.Mutable(index); +inline int IntoClause::options_size() const { + return _internal_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_colexprs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.colexprs) - return &_impl_.colexprs_; +inline void IntoClause::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& TableFunc::_internal_colexprs(int index) const { - return _impl_.colexprs_.Get(index); +inline ::pg_query::Node* IntoClause::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::Node& TableFunc::colexprs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.colexprs) - return _internal_colexprs(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IntoClause::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* TableFunc::_internal_add_colexprs() { - return _impl_.colexprs_.Add(); +inline const ::pg_query::Node& IntoClause::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* TableFunc::add_colexprs() { - ::pg_query::Node* _add = _internal_add_colexprs(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.colexprs) +inline ::pg_query::Node* IntoClause::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IntoClause.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::colexprs() const { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.colexprs) - return _impl_.colexprs_; -} - -// repeated .pg_query.Node coldefexprs = 10 [json_name = "coldefexprs"]; -inline int TableFunc::_internal_coldefexprs_size() const { - return _impl_.coldefexprs_.size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IntoClause::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IntoClause.options) + return _internal_options(); } -inline int TableFunc::coldefexprs_size() const { - return _internal_coldefexprs_size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IntoClause::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void TableFunc::clear_coldefexprs() { - _impl_.coldefexprs_.Clear(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IntoClause::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -inline ::pg_query::Node* TableFunc::mutable_coldefexprs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TableFunc.coldefexprs) - return _impl_.coldefexprs_.Mutable(index); + +// .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; +inline void IntoClause::clear_on_commit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.on_commit_ = 0; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableFunc::mutable_coldefexprs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.coldefexprs) - return &_impl_.coldefexprs_; +inline ::pg_query::OnCommitAction IntoClause::on_commit() const { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.on_commit) + return _internal_on_commit(); } -inline const ::pg_query::Node& TableFunc::_internal_coldefexprs(int index) const { - return _impl_.coldefexprs_.Get(index); +inline void IntoClause::set_on_commit(::pg_query::OnCommitAction value) { + _internal_set_on_commit(value); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.on_commit) } -inline const ::pg_query::Node& TableFunc::coldefexprs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.coldefexprs) - return _internal_coldefexprs(index); +inline ::pg_query::OnCommitAction IntoClause::_internal_on_commit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OnCommitAction>(_impl_.on_commit_); } -inline ::pg_query::Node* TableFunc::_internal_add_coldefexprs() { - return _impl_.coldefexprs_.Add(); +inline void IntoClause::_internal_set_on_commit(::pg_query::OnCommitAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.on_commit_ = value; } -inline ::pg_query::Node* TableFunc::add_coldefexprs() { - ::pg_query::Node* _add = _internal_add_coldefexprs(); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.coldefexprs) - return _add; + +// string table_space_name = 6 [json_name = "tableSpaceName"]; +inline void IntoClause::clear_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_space_name_.ClearToEmpty(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableFunc::coldefexprs() const { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.coldefexprs) - return _impl_.coldefexprs_; +inline const std::string& IntoClause::table_space_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.table_space_name) + return _internal_table_space_name(); } - -// repeated uint64 notnulls = 11 [json_name = "notnulls"]; -inline int TableFunc::_internal_notnulls_size() const { - return _impl_.notnulls_.size(); +template +inline PROTOBUF_ALWAYS_INLINE void IntoClause::set_table_space_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.table_space_name) } -inline int TableFunc::notnulls_size() const { - return _internal_notnulls_size(); +inline std::string* IntoClause::mutable_table_space_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_table_space_name(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.table_space_name) + return _s; } -inline void TableFunc::clear_notnulls() { - _impl_.notnulls_.Clear(); +inline const std::string& IntoClause::_internal_table_space_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.table_space_name_.Get(); } -inline uint64_t TableFunc::_internal_notnulls(int index) const { - return _impl_.notnulls_.Get(index); +inline void IntoClause::_internal_set_table_space_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_name_.Set(value, GetArena()); } -inline uint64_t TableFunc::notnulls(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.notnulls) - return _internal_notnulls(index); +inline std::string* IntoClause::_internal_mutable_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.table_space_name_.Mutable( GetArena()); } -inline void TableFunc::set_notnulls(int index, uint64_t value) { - _impl_.notnulls_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.notnulls) +inline std::string* IntoClause::release_table_space_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.table_space_name) + return _impl_.table_space_name_.Release(); } -inline void TableFunc::_internal_add_notnulls(uint64_t value) { - _impl_.notnulls_.Add(value); +inline void IntoClause::set_allocated_table_space_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_space_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.table_space_name_.IsDefault()) { + _impl_.table_space_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.table_space_name) } -inline void TableFunc::add_notnulls(uint64_t value) { - _internal_add_notnulls(value); - // @@protoc_insertion_point(field_add:pg_query.TableFunc.notnulls) + +// .pg_query.Node view_query = 7 [json_name = "viewQuery"]; +inline bool IntoClause::has_view_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.view_query_ != nullptr); + return value; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -TableFunc::_internal_notnulls() const { - return _impl_.notnulls_; +inline void IntoClause::clear_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.view_query_ != nullptr) _impl_.view_query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -TableFunc::notnulls() const { - // @@protoc_insertion_point(field_list:pg_query.TableFunc.notnulls) - return _internal_notnulls(); +inline const ::pg_query::Node& IntoClause::_internal_view_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.view_query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -TableFunc::_internal_mutable_notnulls() { - return &_impl_.notnulls_; +inline const ::pg_query::Node& IntoClause::view_query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.view_query) + return _internal_view_query(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -TableFunc::mutable_notnulls() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableFunc.notnulls) - return _internal_mutable_notnulls(); +inline void IntoClause::unsafe_arena_set_allocated_view_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.view_query_); + } + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.view_query) } +inline ::pg_query::Node* IntoClause::release_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 ordinalitycol = 12 [json_name = "ordinalitycol"]; -inline void TableFunc::clear_ordinalitycol() { - _impl_.ordinalitycol_ = 0; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.view_query_; + _impl_.view_query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t TableFunc::_internal_ordinalitycol() const { - return _impl_.ordinalitycol_; +inline ::pg_query::Node* IntoClause::unsafe_arena_release_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IntoClause.view_query) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.view_query_; + _impl_.view_query_ = nullptr; + return temp; } -inline int32_t TableFunc::ordinalitycol() const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.ordinalitycol) - return _internal_ordinalitycol(); +inline ::pg_query::Node* IntoClause::_internal_mutable_view_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.view_query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.view_query_; } -inline void TableFunc::_internal_set_ordinalitycol(int32_t value) { - - _impl_.ordinalitycol_ = value; +inline ::pg_query::Node* IntoClause::mutable_view_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_view_query(); + // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.view_query) + return _msg; } -inline void TableFunc::set_ordinalitycol(int32_t value) { - _internal_set_ordinalitycol(value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.ordinalitycol) +inline void IntoClause::set_allocated_view_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.view_query_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.view_query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.view_query) } -// int32 location = 13 [json_name = "location"]; -inline void TableFunc::clear_location() { - _impl_.location_ = 0; +// bool skip_data = 8 [json_name = "skipData"]; +inline void IntoClause::clear_skip_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.skip_data_ = false; } -inline int32_t TableFunc::_internal_location() const { - return _impl_.location_; +inline bool IntoClause::skip_data() const { + // @@protoc_insertion_point(field_get:pg_query.IntoClause.skip_data) + return _internal_skip_data(); } -inline int32_t TableFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.TableFunc.location) - return _internal_location(); +inline void IntoClause::set_skip_data(bool value) { + _internal_set_skip_data(value); + // @@protoc_insertion_point(field_set:pg_query.IntoClause.skip_data) } -inline void TableFunc::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool IntoClause::_internal_skip_data() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.skip_data_; } -inline void TableFunc::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TableFunc.location) +inline void IntoClause::_internal_set_skip_data(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.skip_data_ = value; } // ------------------------------------------------------------------- @@ -81023,1799 +99956,2446 @@ inline void TableFunc::set_location(int32_t value) { // Var // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Var::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool Var::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void Var::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& Var::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Var::xpr() const { +inline const ::pg_query::Node& Var::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Var.xpr) return _internal_xpr(); } -inline void Var::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void Var::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Var.xpr) } inline ::pg_query::Node* Var::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* Var::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Var.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* Var::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* Var::mutable_xpr() { +inline ::pg_query::Node* Var::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.Var.xpr) return _msg; } -inline void Var::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Var::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.Var.xpr) } // int32 varno = 2 [json_name = "varno"]; inline void Var::clear_varno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.varno_ = 0; } -inline int32_t Var::_internal_varno() const { - return _impl_.varno_; -} -inline int32_t Var::varno() const { +inline ::int32_t Var::varno() const { // @@protoc_insertion_point(field_get:pg_query.Var.varno) return _internal_varno(); } -inline void Var::_internal_set_varno(int32_t value) { - - _impl_.varno_ = value; -} -inline void Var::set_varno(int32_t value) { +inline void Var::set_varno(::int32_t value) { _internal_set_varno(value); // @@protoc_insertion_point(field_set:pg_query.Var.varno) } +inline ::int32_t Var::_internal_varno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varno_; +} +inline void Var::_internal_set_varno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varno_ = value; +} // int32 varattno = 3 [json_name = "varattno"]; inline void Var::clear_varattno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.varattno_ = 0; } -inline int32_t Var::_internal_varattno() const { - return _impl_.varattno_; -} -inline int32_t Var::varattno() const { +inline ::int32_t Var::varattno() const { // @@protoc_insertion_point(field_get:pg_query.Var.varattno) return _internal_varattno(); } -inline void Var::_internal_set_varattno(int32_t value) { - - _impl_.varattno_ = value; -} -inline void Var::set_varattno(int32_t value) { +inline void Var::set_varattno(::int32_t value) { _internal_set_varattno(value); // @@protoc_insertion_point(field_set:pg_query.Var.varattno) } +inline ::int32_t Var::_internal_varattno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varattno_; +} +inline void Var::_internal_set_varattno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varattno_ = value; +} // uint32 vartype = 4 [json_name = "vartype"]; inline void Var::clear_vartype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.vartype_ = 0u; } -inline uint32_t Var::_internal_vartype() const { - return _impl_.vartype_; -} -inline uint32_t Var::vartype() const { +inline ::uint32_t Var::vartype() const { // @@protoc_insertion_point(field_get:pg_query.Var.vartype) return _internal_vartype(); } -inline void Var::_internal_set_vartype(uint32_t value) { - - _impl_.vartype_ = value; -} -inline void Var::set_vartype(uint32_t value) { +inline void Var::set_vartype(::uint32_t value) { _internal_set_vartype(value); // @@protoc_insertion_point(field_set:pg_query.Var.vartype) } +inline ::uint32_t Var::_internal_vartype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.vartype_; +} +inline void Var::_internal_set_vartype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.vartype_ = value; +} // int32 vartypmod = 5 [json_name = "vartypmod"]; inline void Var::clear_vartypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.vartypmod_ = 0; } -inline int32_t Var::_internal_vartypmod() const { - return _impl_.vartypmod_; -} -inline int32_t Var::vartypmod() const { +inline ::int32_t Var::vartypmod() const { // @@protoc_insertion_point(field_get:pg_query.Var.vartypmod) return _internal_vartypmod(); } -inline void Var::_internal_set_vartypmod(int32_t value) { - - _impl_.vartypmod_ = value; -} -inline void Var::set_vartypmod(int32_t value) { +inline void Var::set_vartypmod(::int32_t value) { _internal_set_vartypmod(value); // @@protoc_insertion_point(field_set:pg_query.Var.vartypmod) } +inline ::int32_t Var::_internal_vartypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.vartypmod_; +} +inline void Var::_internal_set_vartypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.vartypmod_ = value; +} // uint32 varcollid = 6 [json_name = "varcollid"]; inline void Var::clear_varcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.varcollid_ = 0u; } -inline uint32_t Var::_internal_varcollid() const { - return _impl_.varcollid_; -} -inline uint32_t Var::varcollid() const { +inline ::uint32_t Var::varcollid() const { // @@protoc_insertion_point(field_get:pg_query.Var.varcollid) return _internal_varcollid(); } -inline void Var::_internal_set_varcollid(uint32_t value) { - - _impl_.varcollid_ = value; -} -inline void Var::set_varcollid(uint32_t value) { +inline void Var::set_varcollid(::uint32_t value) { _internal_set_varcollid(value); // @@protoc_insertion_point(field_set:pg_query.Var.varcollid) } +inline ::uint32_t Var::_internal_varcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varcollid_; +} +inline void Var::_internal_set_varcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varcollid_ = value; +} -// uint32 varlevelsup = 7 [json_name = "varlevelsup"]; -inline void Var::clear_varlevelsup() { - _impl_.varlevelsup_ = 0u; +// repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"]; +inline int Var::_internal_varnullingrels_size() const { + return _internal_varnullingrels().size(); } -inline uint32_t Var::_internal_varlevelsup() const { - return _impl_.varlevelsup_; +inline int Var::varnullingrels_size() const { + return _internal_varnullingrels_size(); } -inline uint32_t Var::varlevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varlevelsup) - return _internal_varlevelsup(); +inline void Var::clear_varnullingrels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varnullingrels_.Clear(); } -inline void Var::_internal_set_varlevelsup(uint32_t value) { - - _impl_.varlevelsup_ = value; +inline ::uint64_t Var::varnullingrels(int index) const { + // @@protoc_insertion_point(field_get:pg_query.Var.varnullingrels) + return _internal_varnullingrels().Get(index); } -inline void Var::set_varlevelsup(uint32_t value) { - _internal_set_varlevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varlevelsup) +inline void Var::set_varnullingrels(int index, ::uint64_t value) { + _internal_mutable_varnullingrels()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.Var.varnullingrels) } - -// uint32 varnosyn = 8 [json_name = "varnosyn"]; -inline void Var::clear_varnosyn() { - _impl_.varnosyn_ = 0u; +inline void Var::add_varnullingrels(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_varnullingrels()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.Var.varnullingrels) } -inline uint32_t Var::_internal_varnosyn() const { - return _impl_.varnosyn_; +inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::varnullingrels() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Var.varnullingrels) + return _internal_varnullingrels(); } -inline uint32_t Var::varnosyn() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varnosyn) - return _internal_varnosyn(); +inline ::google::protobuf::RepeatedField<::uint64_t>* Var::mutable_varnullingrels() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Var.varnullingrels) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_varnullingrels(); } -inline void Var::_internal_set_varnosyn(uint32_t value) { - - _impl_.varnosyn_ = value; +inline const ::google::protobuf::RepeatedField<::uint64_t>& Var::_internal_varnullingrels() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varnullingrels_; } -inline void Var::set_varnosyn(uint32_t value) { - _internal_set_varnosyn(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varnosyn) +inline ::google::protobuf::RepeatedField<::uint64_t>* Var::_internal_mutable_varnullingrels() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.varnullingrels_; } -// int32 varattnosyn = 9 [json_name = "varattnosyn"]; -inline void Var::clear_varattnosyn() { - _impl_.varattnosyn_ = 0; +// uint32 varlevelsup = 8 [json_name = "varlevelsup"]; +inline void Var::clear_varlevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.varlevelsup_ = 0u; } -inline int32_t Var::_internal_varattnosyn() const { - return _impl_.varattnosyn_; +inline ::uint32_t Var::varlevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.Var.varlevelsup) + return _internal_varlevelsup(); } -inline int32_t Var::varattnosyn() const { - // @@protoc_insertion_point(field_get:pg_query.Var.varattnosyn) - return _internal_varattnosyn(); +inline void Var::set_varlevelsup(::uint32_t value) { + _internal_set_varlevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.Var.varlevelsup) } -inline void Var::_internal_set_varattnosyn(int32_t value) { - - _impl_.varattnosyn_ = value; +inline ::uint32_t Var::_internal_varlevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.varlevelsup_; } -inline void Var::set_varattnosyn(int32_t value) { - _internal_set_varattnosyn(value); - // @@protoc_insertion_point(field_set:pg_query.Var.varattnosyn) +inline void Var::_internal_set_varlevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.varlevelsup_ = value; } -// int32 location = 10 [json_name = "location"]; +// int32 location = 9 [json_name = "location"]; inline void Var::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t Var::_internal_location() const { - return _impl_.location_; -} -inline int32_t Var::location() const { +inline ::int32_t Var::location() const { // @@protoc_insertion_point(field_get:pg_query.Var.location) return _internal_location(); } -inline void Var::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void Var::set_location(int32_t value) { +inline void Var::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.Var.location) } +inline ::int32_t Var::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void Var::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // Param // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Param::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool Param::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void Param::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& Param::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Param::xpr() const { +inline const ::pg_query::Node& Param::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Param.xpr) return _internal_xpr(); } -inline void Param::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void Param::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Param.xpr) } inline ::pg_query::Node* Param::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* Param::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Param.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* Param::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* Param::mutable_xpr() { +inline ::pg_query::Node* Param::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.Param.xpr) return _msg; } -inline void Param::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Param::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.Param.xpr) } // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"]; inline void Param::clear_paramkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.paramkind_ = 0; } -inline ::pg_query::ParamKind Param::_internal_paramkind() const { - return static_cast< ::pg_query::ParamKind >(_impl_.paramkind_); -} inline ::pg_query::ParamKind Param::paramkind() const { // @@protoc_insertion_point(field_get:pg_query.Param.paramkind) return _internal_paramkind(); } -inline void Param::_internal_set_paramkind(::pg_query::ParamKind value) { - - _impl_.paramkind_ = value; -} inline void Param::set_paramkind(::pg_query::ParamKind value) { _internal_set_paramkind(value); // @@protoc_insertion_point(field_set:pg_query.Param.paramkind) } +inline ::pg_query::ParamKind Param::_internal_paramkind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ParamKind>(_impl_.paramkind_); +} +inline void Param::_internal_set_paramkind(::pg_query::ParamKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramkind_ = value; +} // int32 paramid = 3 [json_name = "paramid"]; inline void Param::clear_paramid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.paramid_ = 0; } -inline int32_t Param::_internal_paramid() const { - return _impl_.paramid_; -} -inline int32_t Param::paramid() const { +inline ::int32_t Param::paramid() const { // @@protoc_insertion_point(field_get:pg_query.Param.paramid) return _internal_paramid(); } -inline void Param::_internal_set_paramid(int32_t value) { - - _impl_.paramid_ = value; -} -inline void Param::set_paramid(int32_t value) { +inline void Param::set_paramid(::int32_t value) { _internal_set_paramid(value); // @@protoc_insertion_point(field_set:pg_query.Param.paramid) } +inline ::int32_t Param::_internal_paramid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramid_; +} +inline void Param::_internal_set_paramid(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramid_ = value; +} // uint32 paramtype = 4 [json_name = "paramtype"]; inline void Param::clear_paramtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.paramtype_ = 0u; } -inline uint32_t Param::_internal_paramtype() const { - return _impl_.paramtype_; -} -inline uint32_t Param::paramtype() const { +inline ::uint32_t Param::paramtype() const { // @@protoc_insertion_point(field_get:pg_query.Param.paramtype) return _internal_paramtype(); } -inline void Param::_internal_set_paramtype(uint32_t value) { - - _impl_.paramtype_ = value; -} -inline void Param::set_paramtype(uint32_t value) { +inline void Param::set_paramtype(::uint32_t value) { _internal_set_paramtype(value); // @@protoc_insertion_point(field_set:pg_query.Param.paramtype) } +inline ::uint32_t Param::_internal_paramtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramtype_; +} +inline void Param::_internal_set_paramtype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramtype_ = value; +} // int32 paramtypmod = 5 [json_name = "paramtypmod"]; inline void Param::clear_paramtypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.paramtypmod_ = 0; } -inline int32_t Param::_internal_paramtypmod() const { - return _impl_.paramtypmod_; -} -inline int32_t Param::paramtypmod() const { +inline ::int32_t Param::paramtypmod() const { // @@protoc_insertion_point(field_get:pg_query.Param.paramtypmod) return _internal_paramtypmod(); } -inline void Param::_internal_set_paramtypmod(int32_t value) { - - _impl_.paramtypmod_ = value; -} -inline void Param::set_paramtypmod(int32_t value) { +inline void Param::set_paramtypmod(::int32_t value) { _internal_set_paramtypmod(value); // @@protoc_insertion_point(field_set:pg_query.Param.paramtypmod) } +inline ::int32_t Param::_internal_paramtypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramtypmod_; +} +inline void Param::_internal_set_paramtypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramtypmod_ = value; +} // uint32 paramcollid = 6 [json_name = "paramcollid"]; inline void Param::clear_paramcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.paramcollid_ = 0u; } -inline uint32_t Param::_internal_paramcollid() const { - return _impl_.paramcollid_; -} -inline uint32_t Param::paramcollid() const { +inline ::uint32_t Param::paramcollid() const { // @@protoc_insertion_point(field_get:pg_query.Param.paramcollid) return _internal_paramcollid(); } -inline void Param::_internal_set_paramcollid(uint32_t value) { - - _impl_.paramcollid_ = value; -} -inline void Param::set_paramcollid(uint32_t value) { +inline void Param::set_paramcollid(::uint32_t value) { _internal_set_paramcollid(value); // @@protoc_insertion_point(field_set:pg_query.Param.paramcollid) } +inline ::uint32_t Param::_internal_paramcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.paramcollid_; +} +inline void Param::_internal_set_paramcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.paramcollid_ = value; +} // int32 location = 7 [json_name = "location"]; inline void Param::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t Param::_internal_location() const { - return _impl_.location_; -} -inline int32_t Param::location() const { +inline ::int32_t Param::location() const { // @@protoc_insertion_point(field_get:pg_query.Param.location) return _internal_location(); } -inline void Param::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void Param::set_location(int32_t value) { +inline void Param::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.Param.location) } +inline ::int32_t Param::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void Param::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // Aggref // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool Aggref::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool Aggref::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void Aggref::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& Aggref::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Aggref::xpr() const { +inline const ::pg_query::Node& Aggref::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.xpr) return _internal_xpr(); } -inline void Aggref::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void Aggref::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.xpr) } inline ::pg_query::Node* Aggref::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* Aggref::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Aggref.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* Aggref::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* Aggref::mutable_xpr() { +inline ::pg_query::Node* Aggref::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.Aggref.xpr) return _msg; } -inline void Aggref::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Aggref::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.xpr) } // uint32 aggfnoid = 2 [json_name = "aggfnoid"]; inline void Aggref::clear_aggfnoid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggfnoid_ = 0u; } -inline uint32_t Aggref::_internal_aggfnoid() const { - return _impl_.aggfnoid_; -} -inline uint32_t Aggref::aggfnoid() const { +inline ::uint32_t Aggref::aggfnoid() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfnoid) return _internal_aggfnoid(); } -inline void Aggref::_internal_set_aggfnoid(uint32_t value) { - - _impl_.aggfnoid_ = value; -} -inline void Aggref::set_aggfnoid(uint32_t value) { +inline void Aggref::set_aggfnoid(::uint32_t value) { _internal_set_aggfnoid(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggfnoid) } +inline ::uint32_t Aggref::_internal_aggfnoid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggfnoid_; +} +inline void Aggref::_internal_set_aggfnoid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggfnoid_ = value; +} // uint32 aggtype = 3 [json_name = "aggtype"]; inline void Aggref::clear_aggtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggtype_ = 0u; } -inline uint32_t Aggref::_internal_aggtype() const { - return _impl_.aggtype_; -} -inline uint32_t Aggref::aggtype() const { +inline ::uint32_t Aggref::aggtype() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtype) return _internal_aggtype(); } -inline void Aggref::_internal_set_aggtype(uint32_t value) { - - _impl_.aggtype_ = value; -} -inline void Aggref::set_aggtype(uint32_t value) { +inline void Aggref::set_aggtype(::uint32_t value) { _internal_set_aggtype(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtype) } +inline ::uint32_t Aggref::_internal_aggtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggtype_; +} +inline void Aggref::_internal_set_aggtype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggtype_ = value; +} // uint32 aggcollid = 4 [json_name = "aggcollid"]; inline void Aggref::clear_aggcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggcollid_ = 0u; } -inline uint32_t Aggref::_internal_aggcollid() const { - return _impl_.aggcollid_; -} -inline uint32_t Aggref::aggcollid() const { +inline ::uint32_t Aggref::aggcollid() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggcollid) return _internal_aggcollid(); } -inline void Aggref::_internal_set_aggcollid(uint32_t value) { - - _impl_.aggcollid_ = value; -} -inline void Aggref::set_aggcollid(uint32_t value) { +inline void Aggref::set_aggcollid(::uint32_t value) { _internal_set_aggcollid(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggcollid) } +inline ::uint32_t Aggref::_internal_aggcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggcollid_; +} +inline void Aggref::_internal_set_aggcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggcollid_ = value; +} // uint32 inputcollid = 5 [json_name = "inputcollid"]; inline void Aggref::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t Aggref::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t Aggref::inputcollid() const { +inline ::uint32_t Aggref::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.inputcollid) return _internal_inputcollid(); } -inline void Aggref::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void Aggref::set_inputcollid(uint32_t value) { +inline void Aggref::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.inputcollid) } - -// uint32 aggtranstype = 6 [json_name = "aggtranstype"]; -inline void Aggref::clear_aggtranstype() { - _impl_.aggtranstype_ = 0u; -} -inline uint32_t Aggref::_internal_aggtranstype() const { - return _impl_.aggtranstype_; -} -inline uint32_t Aggref::aggtranstype() const { - // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtranstype) - return _internal_aggtranstype(); -} -inline void Aggref::_internal_set_aggtranstype(uint32_t value) { - - _impl_.aggtranstype_ = value; +inline ::uint32_t Aggref::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; } -inline void Aggref::set_aggtranstype(uint32_t value) { - _internal_set_aggtranstype(value); - // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtranstype) +inline void Aggref::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; } -// repeated .pg_query.Node aggargtypes = 7 [json_name = "aggargtypes"]; +// repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"]; inline int Aggref::_internal_aggargtypes_size() const { - return _impl_.aggargtypes_.size(); + return _internal_aggargtypes().size(); } inline int Aggref::aggargtypes_size() const { return _internal_aggargtypes_size(); } inline void Aggref::clear_aggargtypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggargtypes_.Clear(); } -inline ::pg_query::Node* Aggref::mutable_aggargtypes(int index) { +inline ::pg_query::Node* Aggref::mutable_aggargtypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggargtypes) - return _impl_.aggargtypes_.Mutable(index); + return _internal_mutable_aggargtypes()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Aggref::mutable_aggargtypes() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggargtypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggargtypes) - return &_impl_.aggargtypes_; -} -inline const ::pg_query::Node& Aggref::_internal_aggargtypes(int index) const { - return _impl_.aggargtypes_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggargtypes(); } -inline const ::pg_query::Node& Aggref::aggargtypes(int index) const { +inline const ::pg_query::Node& Aggref::aggargtypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggargtypes) - return _internal_aggargtypes(index); + return _internal_aggargtypes().Get(index); } -inline ::pg_query::Node* Aggref::_internal_add_aggargtypes() { - return _impl_.aggargtypes_.Add(); -} -inline ::pg_query::Node* Aggref::add_aggargtypes() { - ::pg_query::Node* _add = _internal_add_aggargtypes(); +inline ::pg_query::Node* Aggref::add_aggargtypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggargtypes()->Add(); // @@protoc_insertion_point(field_add:pg_query.Aggref.aggargtypes) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Aggref::aggargtypes() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggargtypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Aggref.aggargtypes) + return _internal_aggargtypes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggargtypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggargtypes_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggargtypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggargtypes_; +} -// repeated .pg_query.Node aggdirectargs = 8 [json_name = "aggdirectargs"]; +// repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"]; inline int Aggref::_internal_aggdirectargs_size() const { - return _impl_.aggdirectargs_.size(); + return _internal_aggdirectargs().size(); } inline int Aggref::aggdirectargs_size() const { return _internal_aggdirectargs_size(); } inline void Aggref::clear_aggdirectargs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggdirectargs_.Clear(); } -inline ::pg_query::Node* Aggref::mutable_aggdirectargs(int index) { +inline ::pg_query::Node* Aggref::mutable_aggdirectargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdirectargs) - return _impl_.aggdirectargs_.Mutable(index); + return _internal_mutable_aggdirectargs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Aggref::mutable_aggdirectargs() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdirectargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdirectargs) - return &_impl_.aggdirectargs_; -} -inline const ::pg_query::Node& Aggref::_internal_aggdirectargs(int index) const { - return _impl_.aggdirectargs_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggdirectargs(); } -inline const ::pg_query::Node& Aggref::aggdirectargs(int index) const { +inline const ::pg_query::Node& Aggref::aggdirectargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdirectargs) - return _internal_aggdirectargs(index); + return _internal_aggdirectargs().Get(index); } -inline ::pg_query::Node* Aggref::_internal_add_aggdirectargs() { - return _impl_.aggdirectargs_.Add(); -} -inline ::pg_query::Node* Aggref::add_aggdirectargs() { - ::pg_query::Node* _add = _internal_add_aggdirectargs(); +inline ::pg_query::Node* Aggref::add_aggdirectargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggdirectargs()->Add(); // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdirectargs) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Aggref::aggdirectargs() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdirectargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdirectargs) + return _internal_aggdirectargs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggdirectargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggdirectargs_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggdirectargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggdirectargs_; +} -// repeated .pg_query.Node args = 9 [json_name = "args"]; +// repeated .pg_query.Node args = 8 [json_name = "args"]; inline int Aggref::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int Aggref::args_size() const { return _internal_args_size(); } inline void Aggref::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* Aggref::mutable_args(int index) { +inline ::pg_query::Node* Aggref::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Aggref.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Aggref::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& Aggref::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& Aggref::args(int index) const { +inline const ::pg_query::Node& Aggref::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.args) - return _internal_args(index); + return _internal_args().Get(index); } -inline ::pg_query::Node* Aggref::_internal_add_args() { - return _impl_.args_.Add(); -} -inline ::pg_query::Node* Aggref::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* Aggref::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.Aggref.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Aggref::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Aggref.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} -// repeated .pg_query.Node aggorder = 10 [json_name = "aggorder"]; +// repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"]; inline int Aggref::_internal_aggorder_size() const { - return _impl_.aggorder_.size(); + return _internal_aggorder().size(); } inline int Aggref::aggorder_size() const { return _internal_aggorder_size(); } inline void Aggref::clear_aggorder() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggorder_.Clear(); } -inline ::pg_query::Node* Aggref::mutable_aggorder(int index) { +inline ::pg_query::Node* Aggref::mutable_aggorder(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggorder) - return _impl_.aggorder_.Mutable(index); + return _internal_mutable_aggorder()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Aggref::mutable_aggorder() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggorder() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggorder) - return &_impl_.aggorder_; -} -inline const ::pg_query::Node& Aggref::_internal_aggorder(int index) const { - return _impl_.aggorder_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggorder(); } -inline const ::pg_query::Node& Aggref::aggorder(int index) const { +inline const ::pg_query::Node& Aggref::aggorder(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggorder) - return _internal_aggorder(index); + return _internal_aggorder().Get(index); } -inline ::pg_query::Node* Aggref::_internal_add_aggorder() { - return _impl_.aggorder_.Add(); -} -inline ::pg_query::Node* Aggref::add_aggorder() { - ::pg_query::Node* _add = _internal_add_aggorder(); +inline ::pg_query::Node* Aggref::add_aggorder() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggorder()->Add(); // @@protoc_insertion_point(field_add:pg_query.Aggref.aggorder) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Aggref::aggorder() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggorder() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Aggref.aggorder) + return _internal_aggorder(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggorder() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggorder_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggorder() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggorder_; +} -// repeated .pg_query.Node aggdistinct = 11 [json_name = "aggdistinct"]; +// repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"]; inline int Aggref::_internal_aggdistinct_size() const { - return _impl_.aggdistinct_.size(); + return _internal_aggdistinct().size(); } inline int Aggref::aggdistinct_size() const { return _internal_aggdistinct_size(); } inline void Aggref::clear_aggdistinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggdistinct_.Clear(); } -inline ::pg_query::Node* Aggref::mutable_aggdistinct(int index) { +inline ::pg_query::Node* Aggref::mutable_aggdistinct(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggdistinct) - return _impl_.aggdistinct_.Mutable(index); + return _internal_mutable_aggdistinct()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Aggref::mutable_aggdistinct() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Aggref::mutable_aggdistinct() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.Aggref.aggdistinct) - return &_impl_.aggdistinct_; -} -inline const ::pg_query::Node& Aggref::_internal_aggdistinct(int index) const { - return _impl_.aggdistinct_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aggdistinct(); } -inline const ::pg_query::Node& Aggref::aggdistinct(int index) const { +inline const ::pg_query::Node& Aggref::aggdistinct(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggdistinct) - return _internal_aggdistinct(index); + return _internal_aggdistinct().Get(index); } -inline ::pg_query::Node* Aggref::_internal_add_aggdistinct() { - return _impl_.aggdistinct_.Add(); -} -inline ::pg_query::Node* Aggref::add_aggdistinct() { - ::pg_query::Node* _add = _internal_add_aggdistinct(); +inline ::pg_query::Node* Aggref::add_aggdistinct() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aggdistinct()->Add(); // @@protoc_insertion_point(field_add:pg_query.Aggref.aggdistinct) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Aggref::aggdistinct() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Aggref::aggdistinct() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.Aggref.aggdistinct) + return _internal_aggdistinct(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Aggref::_internal_aggdistinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggdistinct_; } - -// .pg_query.Node aggfilter = 12 [json_name = "aggfilter"]; -inline bool Aggref::_internal_has_aggfilter() const { - return this != internal_default_instance() && _impl_.aggfilter_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Aggref::_internal_mutable_aggdistinct() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aggdistinct_; } + +// .pg_query.Node aggfilter = 11 [json_name = "aggfilter"]; inline bool Aggref::has_aggfilter() const { - return _internal_has_aggfilter(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + return value; } inline void Aggref::clear_aggfilter() { - if (GetArenaForAllocation() == nullptr && _impl_.aggfilter_ != nullptr) { - delete _impl_.aggfilter_; - } - _impl_.aggfilter_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& Aggref::_internal_aggfilter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.aggfilter_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Aggref::aggfilter() const { +inline const ::pg_query::Node& Aggref::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggfilter) return _internal_aggfilter(); } -inline void Aggref::unsafe_arena_set_allocated_aggfilter( - ::pg_query::Node* aggfilter) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.aggfilter_); +inline void Aggref::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); } - _impl_.aggfilter_ = aggfilter; - if (aggfilter) { - + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Aggref.aggfilter) } inline ::pg_query::Node* Aggref::release_aggfilter() { - - ::pg_query::Node* temp = _impl_.aggfilter_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.aggfilter_; _impl_.aggfilter_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* Aggref::unsafe_arena_release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Aggref.aggfilter) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.aggfilter_; _impl_.aggfilter_ = nullptr; return temp; } inline ::pg_query::Node* Aggref::_internal_mutable_aggfilter() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.aggfilter_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.aggfilter_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.aggfilter_; } -inline ::pg_query::Node* Aggref::mutable_aggfilter() { +inline ::pg_query::Node* Aggref::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_aggfilter(); // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggfilter) return _msg; } -inline void Aggref::set_allocated_aggfilter(::pg_query::Node* aggfilter) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Aggref::set_allocated_aggfilter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.aggfilter_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); } - if (aggfilter) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(aggfilter); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - aggfilter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, aggfilter, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.aggfilter_ = aggfilter; + + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggfilter) } -// bool aggstar = 13 [json_name = "aggstar"]; +// bool aggstar = 12 [json_name = "aggstar"]; inline void Aggref::clear_aggstar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggstar_ = false; } -inline bool Aggref::_internal_aggstar() const { - return _impl_.aggstar_; -} inline bool Aggref::aggstar() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggstar) return _internal_aggstar(); } -inline void Aggref::_internal_set_aggstar(bool value) { - - _impl_.aggstar_ = value; -} inline void Aggref::set_aggstar(bool value) { _internal_set_aggstar(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggstar) } +inline bool Aggref::_internal_aggstar() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggstar_; +} +inline void Aggref::_internal_set_aggstar(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggstar_ = value; +} -// bool aggvariadic = 14 [json_name = "aggvariadic"]; +// bool aggvariadic = 13 [json_name = "aggvariadic"]; inline void Aggref::clear_aggvariadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggvariadic_ = false; } -inline bool Aggref::_internal_aggvariadic() const { - return _impl_.aggvariadic_; -} inline bool Aggref::aggvariadic() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggvariadic) return _internal_aggvariadic(); } -inline void Aggref::_internal_set_aggvariadic(bool value) { - - _impl_.aggvariadic_ = value; -} inline void Aggref::set_aggvariadic(bool value) { _internal_set_aggvariadic(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggvariadic) } +inline bool Aggref::_internal_aggvariadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggvariadic_; +} +inline void Aggref::_internal_set_aggvariadic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggvariadic_ = value; +} -// string aggkind = 15 [json_name = "aggkind"]; +// string aggkind = 14 [json_name = "aggkind"]; inline void Aggref::clear_aggkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggkind_.ClearToEmpty(); } -inline const std::string& Aggref::aggkind() const { +inline const std::string& Aggref::aggkind() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggkind) return _internal_aggkind(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Aggref::set_aggkind(ArgT0&& arg0, ArgT... args) { - - _impl_.aggkind_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void Aggref::set_aggkind(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggkind_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggkind) } -inline std::string* Aggref::mutable_aggkind() { +inline std::string* Aggref::mutable_aggkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_aggkind(); // @@protoc_insertion_point(field_mutable:pg_query.Aggref.aggkind) return _s; } inline const std::string& Aggref::_internal_aggkind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.aggkind_.Get(); } inline void Aggref::_internal_set_aggkind(const std::string& value) { - - _impl_.aggkind_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggkind_.Set(value, GetArena()); } inline std::string* Aggref::_internal_mutable_aggkind() { - - return _impl_.aggkind_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.aggkind_.Mutable( GetArena()); } inline std::string* Aggref::release_aggkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.Aggref.aggkind) return _impl_.aggkind_.Release(); } -inline void Aggref::set_allocated_aggkind(std::string* aggkind) { - if (aggkind != nullptr) { - - } else { - - } - _impl_.aggkind_.SetAllocated(aggkind, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.aggkind_.IsDefault()) { - _impl_.aggkind_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void Aggref::set_allocated_aggkind(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aggkind_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.aggkind_.IsDefault()) { + _impl_.aggkind_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.Aggref.aggkind) } -// uint32 agglevelsup = 16 [json_name = "agglevelsup"]; +// uint32 agglevelsup = 15 [json_name = "agglevelsup"]; inline void Aggref::clear_agglevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.agglevelsup_ = 0u; } -inline uint32_t Aggref::_internal_agglevelsup() const { - return _impl_.agglevelsup_; -} -inline uint32_t Aggref::agglevelsup() const { +inline ::uint32_t Aggref::agglevelsup() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.agglevelsup) return _internal_agglevelsup(); } -inline void Aggref::_internal_set_agglevelsup(uint32_t value) { - - _impl_.agglevelsup_ = value; -} -inline void Aggref::set_agglevelsup(uint32_t value) { +inline void Aggref::set_agglevelsup(::uint32_t value) { _internal_set_agglevelsup(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.agglevelsup) } +inline ::uint32_t Aggref::_internal_agglevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agglevelsup_; +} +inline void Aggref::_internal_set_agglevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agglevelsup_ = value; +} -// .pg_query.AggSplit aggsplit = 17 [json_name = "aggsplit"]; +// .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"]; inline void Aggref::clear_aggsplit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggsplit_ = 0; } -inline ::pg_query::AggSplit Aggref::_internal_aggsplit() const { - return static_cast< ::pg_query::AggSplit >(_impl_.aggsplit_); -} inline ::pg_query::AggSplit Aggref::aggsplit() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggsplit) return _internal_aggsplit(); } -inline void Aggref::_internal_set_aggsplit(::pg_query::AggSplit value) { - - _impl_.aggsplit_ = value; -} inline void Aggref::set_aggsplit(::pg_query::AggSplit value) { _internal_set_aggsplit(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggsplit) } +inline ::pg_query::AggSplit Aggref::_internal_aggsplit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AggSplit>(_impl_.aggsplit_); +} +inline void Aggref::_internal_set_aggsplit(::pg_query::AggSplit value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggsplit_ = value; +} -// int32 aggno = 18 [json_name = "aggno"]; +// int32 aggno = 17 [json_name = "aggno"]; inline void Aggref::clear_aggno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggno_ = 0; } -inline int32_t Aggref::_internal_aggno() const { - return _impl_.aggno_; -} -inline int32_t Aggref::aggno() const { +inline ::int32_t Aggref::aggno() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggno) return _internal_aggno(); } -inline void Aggref::_internal_set_aggno(int32_t value) { - - _impl_.aggno_ = value; -} -inline void Aggref::set_aggno(int32_t value) { +inline void Aggref::set_aggno(::int32_t value) { _internal_set_aggno(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggno) } +inline ::int32_t Aggref::_internal_aggno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggno_; +} +inline void Aggref::_internal_set_aggno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggno_ = value; +} -// int32 aggtransno = 19 [json_name = "aggtransno"]; +// int32 aggtransno = 18 [json_name = "aggtransno"]; inline void Aggref::clear_aggtransno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.aggtransno_ = 0; } -inline int32_t Aggref::_internal_aggtransno() const { - return _impl_.aggtransno_; -} -inline int32_t Aggref::aggtransno() const { +inline ::int32_t Aggref::aggtransno() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.aggtransno) return _internal_aggtransno(); } -inline void Aggref::_internal_set_aggtransno(int32_t value) { - - _impl_.aggtransno_ = value; -} -inline void Aggref::set_aggtransno(int32_t value) { +inline void Aggref::set_aggtransno(::int32_t value) { _internal_set_aggtransno(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.aggtransno) } +inline ::int32_t Aggref::_internal_aggtransno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aggtransno_; +} +inline void Aggref::_internal_set_aggtransno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.aggtransno_ = value; +} -// int32 location = 20 [json_name = "location"]; +// int32 location = 19 [json_name = "location"]; inline void Aggref::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t Aggref::_internal_location() const { - return _impl_.location_; -} -inline int32_t Aggref::location() const { +inline ::int32_t Aggref::location() const { // @@protoc_insertion_point(field_get:pg_query.Aggref.location) return _internal_location(); } -inline void Aggref::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void Aggref::set_location(int32_t value) { +inline void Aggref::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.Aggref.location) } +inline ::int32_t Aggref::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void Aggref::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // GroupingFunc // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool GroupingFunc::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool GroupingFunc::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void GroupingFunc::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& GroupingFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& GroupingFunc::xpr() const { +inline const ::pg_query::Node& GroupingFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.xpr) return _internal_xpr(); } -inline void GroupingFunc::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void GroupingFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GroupingFunc.xpr) } inline ::pg_query::Node* GroupingFunc::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* GroupingFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.GroupingFunc.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* GroupingFunc::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* GroupingFunc::mutable_xpr() { +inline ::pg_query::Node* GroupingFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.xpr) return _msg; } -inline void GroupingFunc::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void GroupingFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.GroupingFunc.xpr) } // repeated .pg_query.Node args = 2 [json_name = "args"]; inline int GroupingFunc::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int GroupingFunc::args_size() const { return _internal_args_size(); } inline void GroupingFunc::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* GroupingFunc::mutable_args(int index) { +inline ::pg_query::Node* GroupingFunc::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GroupingFunc::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& GroupingFunc::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& GroupingFunc::args(int index) const { +inline const ::pg_query::Node& GroupingFunc::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.args) - return _internal_args(index); -} -inline ::pg_query::Node* GroupingFunc::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* GroupingFunc::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* GroupingFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GroupingFunc::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GroupingFunc::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GroupingFunc::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // repeated .pg_query.Node refs = 3 [json_name = "refs"]; inline int GroupingFunc::_internal_refs_size() const { - return _impl_.refs_.size(); -} -inline int GroupingFunc::refs_size() const { - return _internal_refs_size(); -} -inline void GroupingFunc::clear_refs() { - _impl_.refs_.Clear(); -} -inline ::pg_query::Node* GroupingFunc::mutable_refs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.refs) - return _impl_.refs_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GroupingFunc::mutable_refs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.refs) - return &_impl_.refs_; -} -inline const ::pg_query::Node& GroupingFunc::_internal_refs(int index) const { - return _impl_.refs_.Get(index); -} -inline const ::pg_query::Node& GroupingFunc::refs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.refs) - return _internal_refs(index); -} -inline ::pg_query::Node* GroupingFunc::_internal_add_refs() { - return _impl_.refs_.Add(); -} -inline ::pg_query::Node* GroupingFunc::add_refs() { - ::pg_query::Node* _add = _internal_add_refs(); - // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.refs) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GroupingFunc::refs() const { - // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.refs) - return _impl_.refs_; -} - -// repeated .pg_query.Node cols = 4 [json_name = "cols"]; -inline int GroupingFunc::_internal_cols_size() const { - return _impl_.cols_.size(); + return _internal_refs().size(); } -inline int GroupingFunc::cols_size() const { - return _internal_cols_size(); +inline int GroupingFunc::refs_size() const { + return _internal_refs_size(); } -inline void GroupingFunc::clear_cols() { - _impl_.cols_.Clear(); +inline void GroupingFunc::clear_refs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refs_.Clear(); } -inline ::pg_query::Node* GroupingFunc::mutable_cols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.cols) - return _impl_.cols_.Mutable(index); +inline ::pg_query::Node* GroupingFunc::mutable_refs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GroupingFunc.refs) + return _internal_mutable_refs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GroupingFunc::mutable_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.cols) - return &_impl_.cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingFunc::mutable_refs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingFunc.refs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_refs(); } -inline const ::pg_query::Node& GroupingFunc::_internal_cols(int index) const { - return _impl_.cols_.Get(index); +inline const ::pg_query::Node& GroupingFunc::refs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.refs) + return _internal_refs().Get(index); } -inline const ::pg_query::Node& GroupingFunc::cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.cols) - return _internal_cols(index); +inline ::pg_query::Node* GroupingFunc::add_refs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_refs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.refs) + return _add; } -inline ::pg_query::Node* GroupingFunc::_internal_add_cols() { - return _impl_.cols_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingFunc::refs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.refs) + return _internal_refs(); } -inline ::pg_query::Node* GroupingFunc::add_cols() { - ::pg_query::Node* _add = _internal_add_cols(); - // @@protoc_insertion_point(field_add:pg_query.GroupingFunc.cols) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GroupingFunc::_internal_refs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refs_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GroupingFunc::cols() const { - // @@protoc_insertion_point(field_list:pg_query.GroupingFunc.cols) - return _impl_.cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GroupingFunc::_internal_mutable_refs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.refs_; } -// uint32 agglevelsup = 5 [json_name = "agglevelsup"]; +// uint32 agglevelsup = 4 [json_name = "agglevelsup"]; inline void GroupingFunc::clear_agglevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.agglevelsup_ = 0u; } -inline uint32_t GroupingFunc::_internal_agglevelsup() const { - return _impl_.agglevelsup_; -} -inline uint32_t GroupingFunc::agglevelsup() const { +inline ::uint32_t GroupingFunc::agglevelsup() const { // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.agglevelsup) return _internal_agglevelsup(); } -inline void GroupingFunc::_internal_set_agglevelsup(uint32_t value) { - - _impl_.agglevelsup_ = value; -} -inline void GroupingFunc::set_agglevelsup(uint32_t value) { +inline void GroupingFunc::set_agglevelsup(::uint32_t value) { _internal_set_agglevelsup(value); // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.agglevelsup) } +inline ::uint32_t GroupingFunc::_internal_agglevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agglevelsup_; +} +inline void GroupingFunc::_internal_set_agglevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agglevelsup_ = value; +} -// int32 location = 6 [json_name = "location"]; +// int32 location = 5 [json_name = "location"]; inline void GroupingFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t GroupingFunc::_internal_location() const { - return _impl_.location_; -} -inline int32_t GroupingFunc::location() const { +inline ::int32_t GroupingFunc::location() const { // @@protoc_insertion_point(field_get:pg_query.GroupingFunc.location) return _internal_location(); } -inline void GroupingFunc::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void GroupingFunc::set_location(int32_t value) { +inline void GroupingFunc::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.GroupingFunc.location) } +inline ::int32_t GroupingFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void GroupingFunc::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // WindowFunc // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool WindowFunc::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool WindowFunc::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void WindowFunc::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& WindowFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowFunc::xpr() const { +inline const ::pg_query::Node& WindowFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.xpr) return _internal_xpr(); } -inline void WindowFunc::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void WindowFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.xpr) } inline ::pg_query::Node* WindowFunc::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* WindowFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.WindowFunc.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* WindowFunc::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* WindowFunc::mutable_xpr() { +inline ::pg_query::Node* WindowFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.xpr) return _msg; } -inline void WindowFunc::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.xpr) } // uint32 winfnoid = 2 [json_name = "winfnoid"]; inline void WindowFunc::clear_winfnoid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.winfnoid_ = 0u; } -inline uint32_t WindowFunc::_internal_winfnoid() const { - return _impl_.winfnoid_; -} -inline uint32_t WindowFunc::winfnoid() const { +inline ::uint32_t WindowFunc::winfnoid() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winfnoid) return _internal_winfnoid(); } -inline void WindowFunc::_internal_set_winfnoid(uint32_t value) { - - _impl_.winfnoid_ = value; -} -inline void WindowFunc::set_winfnoid(uint32_t value) { +inline void WindowFunc::set_winfnoid(::uint32_t value) { _internal_set_winfnoid(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winfnoid) } +inline ::uint32_t WindowFunc::_internal_winfnoid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winfnoid_; +} +inline void WindowFunc::_internal_set_winfnoid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winfnoid_ = value; +} // uint32 wintype = 3 [json_name = "wintype"]; inline void WindowFunc::clear_wintype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.wintype_ = 0u; } -inline uint32_t WindowFunc::_internal_wintype() const { - return _impl_.wintype_; -} -inline uint32_t WindowFunc::wintype() const { +inline ::uint32_t WindowFunc::wintype() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wintype) return _internal_wintype(); } -inline void WindowFunc::_internal_set_wintype(uint32_t value) { - - _impl_.wintype_ = value; -} -inline void WindowFunc::set_wintype(uint32_t value) { +inline void WindowFunc::set_wintype(::uint32_t value) { _internal_set_wintype(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wintype) } +inline ::uint32_t WindowFunc::_internal_wintype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wintype_; +} +inline void WindowFunc::_internal_set_wintype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wintype_ = value; +} // uint32 wincollid = 4 [json_name = "wincollid"]; inline void WindowFunc::clear_wincollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.wincollid_ = 0u; } -inline uint32_t WindowFunc::_internal_wincollid() const { - return _impl_.wincollid_; -} -inline uint32_t WindowFunc::wincollid() const { +inline ::uint32_t WindowFunc::wincollid() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.wincollid) return _internal_wincollid(); } -inline void WindowFunc::_internal_set_wincollid(uint32_t value) { - - _impl_.wincollid_ = value; -} -inline void WindowFunc::set_wincollid(uint32_t value) { +inline void WindowFunc::set_wincollid(::uint32_t value) { _internal_set_wincollid(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.wincollid) } +inline ::uint32_t WindowFunc::_internal_wincollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wincollid_; +} +inline void WindowFunc::_internal_set_wincollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wincollid_ = value; +} // uint32 inputcollid = 5 [json_name = "inputcollid"]; inline void WindowFunc::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t WindowFunc::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t WindowFunc::inputcollid() const { +inline ::uint32_t WindowFunc::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.inputcollid) return _internal_inputcollid(); } -inline void WindowFunc::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void WindowFunc::set_inputcollid(uint32_t value) { +inline void WindowFunc::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.inputcollid) } +inline ::uint32_t WindowFunc::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void WindowFunc::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} // repeated .pg_query.Node args = 6 [json_name = "args"]; inline int WindowFunc::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int WindowFunc::args_size() const { return _internal_args_size(); } inline void WindowFunc::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* WindowFunc::mutable_args(int index) { +inline ::pg_query::Node* WindowFunc::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowFunc::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowFunc::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.WindowFunc.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& WindowFunc::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& WindowFunc::args(int index) const { +inline const ::pg_query::Node& WindowFunc::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.args) - return _internal_args(index); -} -inline ::pg_query::Node* WindowFunc::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* WindowFunc::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* WindowFunc::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.WindowFunc.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowFunc::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowFunc::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.WindowFunc.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowFunc::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowFunc::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"]; -inline bool WindowFunc::_internal_has_aggfilter() const { - return this != internal_default_instance() && _impl_.aggfilter_ != nullptr; -} inline bool WindowFunc::has_aggfilter() const { - return _internal_has_aggfilter(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.aggfilter_ != nullptr); + return value; } inline void WindowFunc::clear_aggfilter() { - if (GetArenaForAllocation() == nullptr && _impl_.aggfilter_ != nullptr) { - delete _impl_.aggfilter_; - } - _impl_.aggfilter_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.aggfilter_ != nullptr) _impl_.aggfilter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& WindowFunc::_internal_aggfilter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.aggfilter_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowFunc::aggfilter() const { +inline const ::pg_query::Node& WindowFunc::aggfilter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.aggfilter) return _internal_aggfilter(); } -inline void WindowFunc::unsafe_arena_set_allocated_aggfilter( - ::pg_query::Node* aggfilter) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.aggfilter_); +inline void WindowFunc::unsafe_arena_set_allocated_aggfilter(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.aggfilter_); } - _impl_.aggfilter_ = aggfilter; - if (aggfilter) { - + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFunc.aggfilter) } inline ::pg_query::Node* WindowFunc::release_aggfilter() { - - ::pg_query::Node* temp = _impl_.aggfilter_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.aggfilter_; _impl_.aggfilter_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* WindowFunc::unsafe_arena_release_aggfilter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.WindowFunc.aggfilter) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.aggfilter_; _impl_.aggfilter_ = nullptr; return temp; } inline ::pg_query::Node* WindowFunc::_internal_mutable_aggfilter() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.aggfilter_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.aggfilter_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.aggfilter_; } -inline ::pg_query::Node* WindowFunc::mutable_aggfilter() { +inline ::pg_query::Node* WindowFunc::mutable_aggfilter() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_aggfilter(); // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.aggfilter) return _msg; } -inline void WindowFunc::set_allocated_aggfilter(::pg_query::Node* aggfilter) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowFunc::set_allocated_aggfilter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.aggfilter_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.aggfilter_); } - if (aggfilter) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(aggfilter); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - aggfilter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, aggfilter, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.aggfilter_ = aggfilter; + + _impl_.aggfilter_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFunc.aggfilter) } -// uint32 winref = 8 [json_name = "winref"]; +// repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; +inline int WindowFunc::_internal_run_condition_size() const { + return _internal_run_condition().size(); +} +inline int WindowFunc::run_condition_size() const { + return _internal_run_condition_size(); +} +inline void WindowFunc::clear_run_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.run_condition_.Clear(); +} +inline ::pg_query::Node* WindowFunc::mutable_run_condition(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowFunc.run_condition) + return _internal_mutable_run_condition()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowFunc::mutable_run_condition() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowFunc.run_condition) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_run_condition(); +} +inline const ::pg_query::Node& WindowFunc::run_condition(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFunc.run_condition) + return _internal_run_condition().Get(index); +} +inline ::pg_query::Node* WindowFunc::add_run_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_run_condition()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowFunc.run_condition) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowFunc::run_condition() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowFunc.run_condition) + return _internal_run_condition(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowFunc::_internal_run_condition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.run_condition_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowFunc::_internal_mutable_run_condition() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.run_condition_; +} + +// uint32 winref = 9 [json_name = "winref"]; inline void WindowFunc::clear_winref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.winref_ = 0u; } -inline uint32_t WindowFunc::_internal_winref() const { - return _impl_.winref_; -} -inline uint32_t WindowFunc::winref() const { +inline ::uint32_t WindowFunc::winref() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winref) return _internal_winref(); } -inline void WindowFunc::_internal_set_winref(uint32_t value) { - - _impl_.winref_ = value; -} -inline void WindowFunc::set_winref(uint32_t value) { +inline void WindowFunc::set_winref(::uint32_t value) { _internal_set_winref(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winref) } +inline ::uint32_t WindowFunc::_internal_winref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winref_; +} +inline void WindowFunc::_internal_set_winref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winref_ = value; +} -// bool winstar = 9 [json_name = "winstar"]; +// bool winstar = 10 [json_name = "winstar"]; inline void WindowFunc::clear_winstar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.winstar_ = false; } -inline bool WindowFunc::_internal_winstar() const { - return _impl_.winstar_; -} inline bool WindowFunc::winstar() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winstar) return _internal_winstar(); } -inline void WindowFunc::_internal_set_winstar(bool value) { - - _impl_.winstar_ = value; -} inline void WindowFunc::set_winstar(bool value) { _internal_set_winstar(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winstar) } +inline bool WindowFunc::_internal_winstar() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winstar_; +} +inline void WindowFunc::_internal_set_winstar(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winstar_ = value; +} -// bool winagg = 10 [json_name = "winagg"]; +// bool winagg = 11 [json_name = "winagg"]; inline void WindowFunc::clear_winagg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.winagg_ = false; } -inline bool WindowFunc::_internal_winagg() const { - return _impl_.winagg_; -} inline bool WindowFunc::winagg() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.winagg) return _internal_winagg(); } -inline void WindowFunc::_internal_set_winagg(bool value) { - - _impl_.winagg_ = value; -} inline void WindowFunc::set_winagg(bool value) { _internal_set_winagg(value); // @@protoc_insertion_point(field_set:pg_query.WindowFunc.winagg) } +inline bool WindowFunc::_internal_winagg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winagg_; +} +inline void WindowFunc::_internal_set_winagg(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winagg_ = value; +} -// int32 location = 11 [json_name = "location"]; +// int32 location = 12 [json_name = "location"]; inline void WindowFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t WindowFunc::_internal_location() const { - return _impl_.location_; -} -inline int32_t WindowFunc::location() const { +inline ::int32_t WindowFunc::location() const { // @@protoc_insertion_point(field_get:pg_query.WindowFunc.location) return _internal_location(); } -inline void WindowFunc::_internal_set_location(int32_t value) { - +inline void WindowFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFunc.location) +} +inline ::int32_t WindowFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void WindowFunc::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; _impl_.location_ = value; } -inline void WindowFunc::set_location(int32_t value) { + +// ------------------------------------------------------------------- + +// WindowFuncRunCondition + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool WindowFuncRunCondition::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void WindowFuncRunCondition::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& WindowFuncRunCondition::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& WindowFuncRunCondition::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.xpr) + return _internal_xpr(); +} +inline void WindowFuncRunCondition::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFuncRunCondition.xpr) +} +inline ::pg_query::Node* WindowFuncRunCondition::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* WindowFuncRunCondition::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFuncRunCondition.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowFuncRunCondition::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; +} +inline ::pg_query::Node* WindowFuncRunCondition::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFuncRunCondition.xpr) + return _msg; +} +inline void WindowFuncRunCondition::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFuncRunCondition.xpr) +} + +// uint32 opno = 2 [json_name = "opno"]; +inline void WindowFuncRunCondition::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opno_ = 0u; +} +inline ::uint32_t WindowFuncRunCondition::opno() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.opno) + return _internal_opno(); +} +inline void WindowFuncRunCondition::set_opno(::uint32_t value) { + _internal_set_opno(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.opno) +} +inline ::uint32_t WindowFuncRunCondition::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; +} +inline void WindowFuncRunCondition::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; +} + +// uint32 inputcollid = 3 [json_name = "inputcollid"]; +inline void WindowFuncRunCondition::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inputcollid_ = 0u; +} +inline ::uint32_t WindowFuncRunCondition::inputcollid() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.inputcollid) + return _internal_inputcollid(); +} +inline void WindowFuncRunCondition::set_inputcollid(::uint32_t value) { + _internal_set_inputcollid(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.inputcollid) +} +inline ::uint32_t WindowFuncRunCondition::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void WindowFuncRunCondition::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} + +// bool wfunc_left = 4 [json_name = "wfunc_left"]; +inline void WindowFuncRunCondition::clear_wfunc_left() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wfunc_left_ = false; +} +inline bool WindowFuncRunCondition::wfunc_left() const { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.wfunc_left) + return _internal_wfunc_left(); +} +inline void WindowFuncRunCondition::set_wfunc_left(bool value) { + _internal_set_wfunc_left(value); + // @@protoc_insertion_point(field_set:pg_query.WindowFuncRunCondition.wfunc_left) +} +inline bool WindowFuncRunCondition::_internal_wfunc_left() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.wfunc_left_; +} +inline void WindowFuncRunCondition::_internal_set_wfunc_left(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wfunc_left_ = value; +} + +// .pg_query.Node arg = 5 [json_name = "arg"]; +inline bool WindowFuncRunCondition::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; +} +inline void WindowFuncRunCondition::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& WindowFuncRunCondition::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& WindowFuncRunCondition::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowFuncRunCondition.arg) + return _internal_arg(); +} +inline void WindowFuncRunCondition::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowFuncRunCondition.arg) +} +inline ::pg_query::Node* WindowFuncRunCondition::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* WindowFuncRunCondition::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowFuncRunCondition.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; +} +inline ::pg_query::Node* WindowFuncRunCondition::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; +} +inline ::pg_query::Node* WindowFuncRunCondition::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowFuncRunCondition.arg) + return _msg; +} +inline void WindowFuncRunCondition::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowFuncRunCondition.arg) +} + +// ------------------------------------------------------------------- + +// MergeSupportFunc + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool MergeSupportFunc::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void MergeSupportFunc::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& MergeSupportFunc::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& MergeSupportFunc::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.xpr) + return _internal_xpr(); +} +inline void MergeSupportFunc::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeSupportFunc.xpr) +} +inline ::pg_query::Node* MergeSupportFunc::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* MergeSupportFunc::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeSupportFunc.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; +} +inline ::pg_query::Node* MergeSupportFunc::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; +} +inline ::pg_query::Node* MergeSupportFunc::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeSupportFunc.xpr) + return _msg; +} +inline void MergeSupportFunc::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeSupportFunc.xpr) +} + +// uint32 msftype = 2 [json_name = "msftype"]; +inline void MergeSupportFunc::clear_msftype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.msftype_ = 0u; +} +inline ::uint32_t MergeSupportFunc::msftype() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.msftype) + return _internal_msftype(); +} +inline void MergeSupportFunc::set_msftype(::uint32_t value) { + _internal_set_msftype(value); + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.msftype) +} +inline ::uint32_t MergeSupportFunc::_internal_msftype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.msftype_; +} +inline void MergeSupportFunc::_internal_set_msftype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.msftype_ = value; +} + +// uint32 msfcollid = 3 [json_name = "msfcollid"]; +inline void MergeSupportFunc::clear_msfcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.msfcollid_ = 0u; +} +inline ::uint32_t MergeSupportFunc::msfcollid() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.msfcollid) + return _internal_msfcollid(); +} +inline void MergeSupportFunc::set_msfcollid(::uint32_t value) { + _internal_set_msfcollid(value); + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.msfcollid) +} +inline ::uint32_t MergeSupportFunc::_internal_msfcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.msfcollid_; +} +inline void MergeSupportFunc::_internal_set_msfcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.msfcollid_ = value; +} + +// int32 location = 4 [json_name = "location"]; +inline void MergeSupportFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t MergeSupportFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.MergeSupportFunc.location) + return _internal_location(); +} +inline void MergeSupportFunc::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WindowFunc.location) + // @@protoc_insertion_point(field_set:pg_query.MergeSupportFunc.location) +} +inline ::int32_t MergeSupportFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void MergeSupportFunc::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- @@ -82823,452 +102403,503 @@ inline void WindowFunc::set_location(int32_t value) { // SubscriptingRef // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubscriptingRef::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool SubscriptingRef::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void SubscriptingRef::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& SubscriptingRef::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::xpr() const { +inline const ::pg_query::Node& SubscriptingRef::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.xpr) return _internal_xpr(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void SubscriptingRef::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.xpr) } inline ::pg_query::Node* SubscriptingRef::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* SubscriptingRef::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* SubscriptingRef::mutable_xpr() { +inline ::pg_query::Node* SubscriptingRef::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.xpr) return _msg; } -inline void SubscriptingRef::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubscriptingRef::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.xpr) } // uint32 refcontainertype = 2 [json_name = "refcontainertype"]; inline void SubscriptingRef::clear_refcontainertype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.refcontainertype_ = 0u; } -inline uint32_t SubscriptingRef::_internal_refcontainertype() const { - return _impl_.refcontainertype_; -} -inline uint32_t SubscriptingRef::refcontainertype() const { +inline ::uint32_t SubscriptingRef::refcontainertype() const { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcontainertype) return _internal_refcontainertype(); } -inline void SubscriptingRef::_internal_set_refcontainertype(uint32_t value) { - - _impl_.refcontainertype_ = value; -} -inline void SubscriptingRef::set_refcontainertype(uint32_t value) { +inline void SubscriptingRef::set_refcontainertype(::uint32_t value) { _internal_set_refcontainertype(value); // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcontainertype) } +inline ::uint32_t SubscriptingRef::_internal_refcontainertype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refcontainertype_; +} +inline void SubscriptingRef::_internal_set_refcontainertype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refcontainertype_ = value; +} // uint32 refelemtype = 3 [json_name = "refelemtype"]; inline void SubscriptingRef::clear_refelemtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.refelemtype_ = 0u; } -inline uint32_t SubscriptingRef::_internal_refelemtype() const { - return _impl_.refelemtype_; -} -inline uint32_t SubscriptingRef::refelemtype() const { +inline ::uint32_t SubscriptingRef::refelemtype() const { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refelemtype) return _internal_refelemtype(); } -inline void SubscriptingRef::_internal_set_refelemtype(uint32_t value) { - - _impl_.refelemtype_ = value; -} -inline void SubscriptingRef::set_refelemtype(uint32_t value) { +inline void SubscriptingRef::set_refelemtype(::uint32_t value) { _internal_set_refelemtype(value); // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refelemtype) } +inline ::uint32_t SubscriptingRef::_internal_refelemtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refelemtype_; +} +inline void SubscriptingRef::_internal_set_refelemtype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refelemtype_ = value; +} // uint32 refrestype = 4 [json_name = "refrestype"]; inline void SubscriptingRef::clear_refrestype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.refrestype_ = 0u; } -inline uint32_t SubscriptingRef::_internal_refrestype() const { - return _impl_.refrestype_; -} -inline uint32_t SubscriptingRef::refrestype() const { +inline ::uint32_t SubscriptingRef::refrestype() const { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refrestype) return _internal_refrestype(); } -inline void SubscriptingRef::_internal_set_refrestype(uint32_t value) { - - _impl_.refrestype_ = value; -} -inline void SubscriptingRef::set_refrestype(uint32_t value) { +inline void SubscriptingRef::set_refrestype(::uint32_t value) { _internal_set_refrestype(value); // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refrestype) } +inline ::uint32_t SubscriptingRef::_internal_refrestype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refrestype_; +} +inline void SubscriptingRef::_internal_set_refrestype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refrestype_ = value; +} // int32 reftypmod = 5 [json_name = "reftypmod"]; inline void SubscriptingRef::clear_reftypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.reftypmod_ = 0; } -inline int32_t SubscriptingRef::_internal_reftypmod() const { - return _impl_.reftypmod_; -} -inline int32_t SubscriptingRef::reftypmod() const { +inline ::int32_t SubscriptingRef::reftypmod() const { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reftypmod) return _internal_reftypmod(); } -inline void SubscriptingRef::_internal_set_reftypmod(int32_t value) { - - _impl_.reftypmod_ = value; -} -inline void SubscriptingRef::set_reftypmod(int32_t value) { +inline void SubscriptingRef::set_reftypmod(::int32_t value) { _internal_set_reftypmod(value); // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.reftypmod) } +inline ::int32_t SubscriptingRef::_internal_reftypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.reftypmod_; +} +inline void SubscriptingRef::_internal_set_reftypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.reftypmod_ = value; +} // uint32 refcollid = 6 [json_name = "refcollid"]; inline void SubscriptingRef::clear_refcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.refcollid_ = 0u; } -inline uint32_t SubscriptingRef::_internal_refcollid() const { - return _impl_.refcollid_; -} -inline uint32_t SubscriptingRef::refcollid() const { +inline ::uint32_t SubscriptingRef::refcollid() const { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refcollid) return _internal_refcollid(); } -inline void SubscriptingRef::_internal_set_refcollid(uint32_t value) { - - _impl_.refcollid_ = value; -} -inline void SubscriptingRef::set_refcollid(uint32_t value) { +inline void SubscriptingRef::set_refcollid(::uint32_t value) { _internal_set_refcollid(value); // @@protoc_insertion_point(field_set:pg_query.SubscriptingRef.refcollid) } +inline ::uint32_t SubscriptingRef::_internal_refcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refcollid_; +} +inline void SubscriptingRef::_internal_set_refcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refcollid_ = value; +} // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"]; inline int SubscriptingRef::_internal_refupperindexpr_size() const { - return _impl_.refupperindexpr_.size(); + return _internal_refupperindexpr().size(); } inline int SubscriptingRef::refupperindexpr_size() const { return _internal_refupperindexpr_size(); } inline void SubscriptingRef::clear_refupperindexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.refupperindexpr_.Clear(); } -inline ::pg_query::Node* SubscriptingRef::mutable_refupperindexpr(int index) { +inline ::pg_query::Node* SubscriptingRef::mutable_refupperindexpr(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refupperindexpr) - return _impl_.refupperindexpr_.Mutable(index); + return _internal_mutable_refupperindexpr()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubscriptingRef::mutable_refupperindexpr() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_refupperindexpr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.refupperindexpr) - return &_impl_.refupperindexpr_; -} -inline const ::pg_query::Node& SubscriptingRef::_internal_refupperindexpr(int index) const { - return _impl_.refupperindexpr_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_refupperindexpr(); } -inline const ::pg_query::Node& SubscriptingRef::refupperindexpr(int index) const { +inline const ::pg_query::Node& SubscriptingRef::refupperindexpr(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refupperindexpr) - return _internal_refupperindexpr(index); + return _internal_refupperindexpr().Get(index); } -inline ::pg_query::Node* SubscriptingRef::_internal_add_refupperindexpr() { - return _impl_.refupperindexpr_.Add(); -} -inline ::pg_query::Node* SubscriptingRef::add_refupperindexpr() { - ::pg_query::Node* _add = _internal_add_refupperindexpr(); +inline ::pg_query::Node* SubscriptingRef::add_refupperindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_refupperindexpr()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.refupperindexpr) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubscriptingRef::refupperindexpr() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::refupperindexpr() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.refupperindexpr) + return _internal_refupperindexpr(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubscriptingRef::_internal_refupperindexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.refupperindexpr_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubscriptingRef::_internal_mutable_refupperindexpr() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.refupperindexpr_; +} // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"]; inline int SubscriptingRef::_internal_reflowerindexpr_size() const { - return _impl_.reflowerindexpr_.size(); + return _internal_reflowerindexpr().size(); } inline int SubscriptingRef::reflowerindexpr_size() const { return _internal_reflowerindexpr_size(); } inline void SubscriptingRef::clear_reflowerindexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.reflowerindexpr_.Clear(); } -inline ::pg_query::Node* SubscriptingRef::mutable_reflowerindexpr(int index) { +inline ::pg_query::Node* SubscriptingRef::mutable_reflowerindexpr(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.reflowerindexpr) - return _impl_.reflowerindexpr_.Mutable(index); + return _internal_mutable_reflowerindexpr()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubscriptingRef::mutable_reflowerindexpr() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubscriptingRef::mutable_reflowerindexpr() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubscriptingRef.reflowerindexpr) - return &_impl_.reflowerindexpr_; -} -inline const ::pg_query::Node& SubscriptingRef::_internal_reflowerindexpr(int index) const { - return _impl_.reflowerindexpr_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_reflowerindexpr(); } -inline const ::pg_query::Node& SubscriptingRef::reflowerindexpr(int index) const { +inline const ::pg_query::Node& SubscriptingRef::reflowerindexpr(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.reflowerindexpr) - return _internal_reflowerindexpr(index); + return _internal_reflowerindexpr().Get(index); } -inline ::pg_query::Node* SubscriptingRef::_internal_add_reflowerindexpr() { - return _impl_.reflowerindexpr_.Add(); -} -inline ::pg_query::Node* SubscriptingRef::add_reflowerindexpr() { - ::pg_query::Node* _add = _internal_add_reflowerindexpr(); +inline ::pg_query::Node* SubscriptingRef::add_reflowerindexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_reflowerindexpr()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubscriptingRef.reflowerindexpr) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubscriptingRef::reflowerindexpr() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubscriptingRef::reflowerindexpr() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubscriptingRef.reflowerindexpr) + return _internal_reflowerindexpr(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubscriptingRef::_internal_reflowerindexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.reflowerindexpr_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubscriptingRef::_internal_mutable_reflowerindexpr() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.reflowerindexpr_; +} // .pg_query.Node refexpr = 9 [json_name = "refexpr"]; -inline bool SubscriptingRef::_internal_has_refexpr() const { - return this != internal_default_instance() && _impl_.refexpr_ != nullptr; -} inline bool SubscriptingRef::has_refexpr() const { - return _internal_has_refexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.refexpr_ != nullptr); + return value; } inline void SubscriptingRef::clear_refexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.refexpr_ != nullptr) { - delete _impl_.refexpr_; - } - _impl_.refexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.refexpr_ != nullptr) _impl_.refexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& SubscriptingRef::_internal_refexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.refexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::refexpr() const { +inline const ::pg_query::Node& SubscriptingRef::refexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refexpr) return _internal_refexpr(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_refexpr( - ::pg_query::Node* refexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.refexpr_); +inline void SubscriptingRef::unsafe_arena_set_allocated_refexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refexpr_); } - _impl_.refexpr_ = refexpr; - if (refexpr) { - + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refexpr) } inline ::pg_query::Node* SubscriptingRef::release_refexpr() { - - ::pg_query::Node* temp = _impl_.refexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.refexpr_; _impl_.refexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refexpr) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.refexpr_; _impl_.refexpr_ = nullptr; return temp; } inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.refexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.refexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.refexpr_; } -inline ::pg_query::Node* SubscriptingRef::mutable_refexpr() { +inline ::pg_query::Node* SubscriptingRef::mutable_refexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_refexpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refexpr) return _msg; } -inline void SubscriptingRef::set_allocated_refexpr(::pg_query::Node* refexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubscriptingRef::set_allocated_refexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.refexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.refexpr_); } - if (refexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(refexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - refexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, refexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.refexpr_ = refexpr; + + _impl_.refexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refexpr) } // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"]; -inline bool SubscriptingRef::_internal_has_refassgnexpr() const { - return this != internal_default_instance() && _impl_.refassgnexpr_ != nullptr; -} inline bool SubscriptingRef::has_refassgnexpr() const { - return _internal_has_refassgnexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.refassgnexpr_ != nullptr); + return value; } inline void SubscriptingRef::clear_refassgnexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.refassgnexpr_ != nullptr) { - delete _impl_.refassgnexpr_; - } - _impl_.refassgnexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.refassgnexpr_ != nullptr) _impl_.refassgnexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::pg_query::Node& SubscriptingRef::_internal_refassgnexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.refassgnexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubscriptingRef::refassgnexpr() const { +inline const ::pg_query::Node& SubscriptingRef::refassgnexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubscriptingRef.refassgnexpr) return _internal_refassgnexpr(); } -inline void SubscriptingRef::unsafe_arena_set_allocated_refassgnexpr( - ::pg_query::Node* refassgnexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.refassgnexpr_); +inline void SubscriptingRef::unsafe_arena_set_allocated_refassgnexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.refassgnexpr_); } - _impl_.refassgnexpr_ = refassgnexpr; - if (refassgnexpr) { - + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubscriptingRef.refassgnexpr) } inline ::pg_query::Node* SubscriptingRef::release_refassgnexpr() { - - ::pg_query::Node* temp = _impl_.refassgnexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.refassgnexpr_; _impl_.refassgnexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubscriptingRef::unsafe_arena_release_refassgnexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubscriptingRef.refassgnexpr) - + + _impl_._has_bits_[0] &= ~0x00000004u; ::pg_query::Node* temp = _impl_.refassgnexpr_; _impl_.refassgnexpr_ = nullptr; return temp; } inline ::pg_query::Node* SubscriptingRef::_internal_mutable_refassgnexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; if (_impl_.refassgnexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.refassgnexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.refassgnexpr_; } -inline ::pg_query::Node* SubscriptingRef::mutable_refassgnexpr() { +inline ::pg_query::Node* SubscriptingRef::mutable_refassgnexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_refassgnexpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubscriptingRef.refassgnexpr) return _msg; } -inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* refassgnexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.refassgnexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.refassgnexpr_); } - if (refassgnexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(refassgnexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - refassgnexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, refassgnexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.refassgnexpr_ = refassgnexpr; + + _impl_.refassgnexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubscriptingRef.refassgnexpr) } @@ -83277,52351 +102908,65711 @@ inline void SubscriptingRef::set_allocated_refassgnexpr(::pg_query::Node* refass // FuncExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FuncExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool FuncExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void FuncExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& FuncExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FuncExpr::xpr() const { +inline const ::pg_query::Node& FuncExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.xpr) return _internal_xpr(); } -inline void FuncExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void FuncExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncExpr.xpr) } inline ::pg_query::Node* FuncExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* FuncExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.FuncExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* FuncExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* FuncExpr::mutable_xpr() { +inline ::pg_query::Node* FuncExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.xpr) return _msg; } -inline void FuncExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FuncExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.FuncExpr.xpr) } // uint32 funcid = 2 [json_name = "funcid"]; inline void FuncExpr::clear_funcid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funcid_ = 0u; } -inline uint32_t FuncExpr::_internal_funcid() const { - return _impl_.funcid_; -} -inline uint32_t FuncExpr::funcid() const { +inline ::uint32_t FuncExpr::funcid() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcid) return _internal_funcid(); } -inline void FuncExpr::_internal_set_funcid(uint32_t value) { - - _impl_.funcid_ = value; -} -inline void FuncExpr::set_funcid(uint32_t value) { +inline void FuncExpr::set_funcid(::uint32_t value) { _internal_set_funcid(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcid) } +inline ::uint32_t FuncExpr::_internal_funcid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcid_; +} +inline void FuncExpr::_internal_set_funcid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcid_ = value; +} // uint32 funcresulttype = 3 [json_name = "funcresulttype"]; inline void FuncExpr::clear_funcresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funcresulttype_ = 0u; } -inline uint32_t FuncExpr::_internal_funcresulttype() const { - return _impl_.funcresulttype_; -} -inline uint32_t FuncExpr::funcresulttype() const { +inline ::uint32_t FuncExpr::funcresulttype() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcresulttype) return _internal_funcresulttype(); } -inline void FuncExpr::_internal_set_funcresulttype(uint32_t value) { - - _impl_.funcresulttype_ = value; -} -inline void FuncExpr::set_funcresulttype(uint32_t value) { +inline void FuncExpr::set_funcresulttype(::uint32_t value) { _internal_set_funcresulttype(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcresulttype) } +inline ::uint32_t FuncExpr::_internal_funcresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcresulttype_; +} +inline void FuncExpr::_internal_set_funcresulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcresulttype_ = value; +} // bool funcretset = 4 [json_name = "funcretset"]; inline void FuncExpr::clear_funcretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funcretset_ = false; } -inline bool FuncExpr::_internal_funcretset() const { - return _impl_.funcretset_; -} inline bool FuncExpr::funcretset() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcretset) return _internal_funcretset(); } -inline void FuncExpr::_internal_set_funcretset(bool value) { - - _impl_.funcretset_ = value; -} inline void FuncExpr::set_funcretset(bool value) { _internal_set_funcretset(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcretset) } +inline bool FuncExpr::_internal_funcretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcretset_; +} +inline void FuncExpr::_internal_set_funcretset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcretset_ = value; +} // bool funcvariadic = 5 [json_name = "funcvariadic"]; inline void FuncExpr::clear_funcvariadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funcvariadic_ = false; } -inline bool FuncExpr::_internal_funcvariadic() const { - return _impl_.funcvariadic_; -} inline bool FuncExpr::funcvariadic() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcvariadic) return _internal_funcvariadic(); } -inline void FuncExpr::_internal_set_funcvariadic(bool value) { - - _impl_.funcvariadic_ = value; -} inline void FuncExpr::set_funcvariadic(bool value) { _internal_set_funcvariadic(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcvariadic) } +inline bool FuncExpr::_internal_funcvariadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcvariadic_; +} +inline void FuncExpr::_internal_set_funcvariadic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcvariadic_ = value; +} // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"]; inline void FuncExpr::clear_funcformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funcformat_ = 0; } -inline ::pg_query::CoercionForm FuncExpr::_internal_funcformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.funcformat_); -} inline ::pg_query::CoercionForm FuncExpr::funcformat() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funcformat) return _internal_funcformat(); } -inline void FuncExpr::_internal_set_funcformat(::pg_query::CoercionForm value) { - - _impl_.funcformat_ = value; -} inline void FuncExpr::set_funcformat(::pg_query::CoercionForm value) { _internal_set_funcformat(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funcformat) } +inline ::pg_query::CoercionForm FuncExpr::_internal_funcformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); +} +inline void FuncExpr::_internal_set_funcformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcformat_ = value; +} // uint32 funccollid = 7 [json_name = "funccollid"]; inline void FuncExpr::clear_funccollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.funccollid_ = 0u; } -inline uint32_t FuncExpr::_internal_funccollid() const { - return _impl_.funccollid_; -} -inline uint32_t FuncExpr::funccollid() const { +inline ::uint32_t FuncExpr::funccollid() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.funccollid) return _internal_funccollid(); } -inline void FuncExpr::_internal_set_funccollid(uint32_t value) { - - _impl_.funccollid_ = value; -} -inline void FuncExpr::set_funccollid(uint32_t value) { +inline void FuncExpr::set_funccollid(::uint32_t value) { _internal_set_funccollid(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.funccollid) } +inline ::uint32_t FuncExpr::_internal_funccollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccollid_; +} +inline void FuncExpr::_internal_set_funccollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funccollid_ = value; +} // uint32 inputcollid = 8 [json_name = "inputcollid"]; inline void FuncExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t FuncExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t FuncExpr::inputcollid() const { +inline ::uint32_t FuncExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.inputcollid) return _internal_inputcollid(); } -inline void FuncExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void FuncExpr::set_inputcollid(uint32_t value) { +inline void FuncExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.inputcollid) } +inline ::uint32_t FuncExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void FuncExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} // repeated .pg_query.Node args = 9 [json_name = "args"]; inline int FuncExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int FuncExpr::args_size() const { return _internal_args_size(); } inline void FuncExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* FuncExpr::mutable_args(int index) { +inline ::pg_query::Node* FuncExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.FuncExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FuncExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.FuncExpr.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& FuncExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& FuncExpr::args(int index) const { +inline const ::pg_query::Node& FuncExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.args) - return _internal_args(index); + return _internal_args().Get(index); } -inline ::pg_query::Node* FuncExpr::_internal_add_args() { - return _impl_.args_.Add(); -} -inline ::pg_query::Node* FuncExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* FuncExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.FuncExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FuncExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.FuncExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FuncExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FuncExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // int32 location = 10 [json_name = "location"]; inline void FuncExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t FuncExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t FuncExpr::location() const { +inline ::int32_t FuncExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.FuncExpr.location) return _internal_location(); } -inline void FuncExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void FuncExpr::set_location(int32_t value) { +inline void FuncExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.FuncExpr.location) } +inline ::int32_t FuncExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void FuncExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // NamedArgExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NamedArgExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool NamedArgExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void NamedArgExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& NamedArgExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NamedArgExpr::xpr() const { +inline const ::pg_query::Node& NamedArgExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.xpr) return _internal_xpr(); } -inline void NamedArgExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void NamedArgExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.xpr) } inline ::pg_query::Node* NamedArgExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* NamedArgExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* NamedArgExpr::mutable_xpr() { +inline ::pg_query::Node* NamedArgExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.xpr) return _msg; } -inline void NamedArgExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void NamedArgExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool NamedArgExpr::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool NamedArgExpr::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void NamedArgExpr::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& NamedArgExpr::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NamedArgExpr::arg() const { +inline const ::pg_query::Node& NamedArgExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.arg) return _internal_arg(); } -inline void NamedArgExpr::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void NamedArgExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NamedArgExpr.arg) } inline ::pg_query::Node* NamedArgExpr::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* NamedArgExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* NamedArgExpr::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* NamedArgExpr::mutable_arg() { +inline ::pg_query::Node* NamedArgExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.arg) return _msg; } -inline void NamedArgExpr::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void NamedArgExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.arg) } // string name = 3 [json_name = "name"]; inline void NamedArgExpr::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.name_.ClearToEmpty(); } -inline const std::string& NamedArgExpr::name() const { +inline const std::string& NamedArgExpr::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.name) return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void NamedArgExpr::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void NamedArgExpr::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.name) } -inline std::string* NamedArgExpr::mutable_name() { +inline std::string* NamedArgExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:pg_query.NamedArgExpr.name) return _s; } inline const std::string& NamedArgExpr::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void NamedArgExpr::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } inline std::string* NamedArgExpr::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } inline std::string* NamedArgExpr::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.NamedArgExpr.name) return _impl_.name_.Release(); } -inline void NamedArgExpr::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void NamedArgExpr::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.NamedArgExpr.name) } // int32 argnumber = 4 [json_name = "argnumber"]; inline void NamedArgExpr::clear_argnumber() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.argnumber_ = 0; } -inline int32_t NamedArgExpr::_internal_argnumber() const { - return _impl_.argnumber_; -} -inline int32_t NamedArgExpr::argnumber() const { +inline ::int32_t NamedArgExpr::argnumber() const { // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.argnumber) return _internal_argnumber(); } -inline void NamedArgExpr::_internal_set_argnumber(int32_t value) { - - _impl_.argnumber_ = value; -} -inline void NamedArgExpr::set_argnumber(int32_t value) { +inline void NamedArgExpr::set_argnumber(::int32_t value) { _internal_set_argnumber(value); // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.argnumber) } +inline ::int32_t NamedArgExpr::_internal_argnumber() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.argnumber_; +} +inline void NamedArgExpr::_internal_set_argnumber(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.argnumber_ = value; +} // int32 location = 5 [json_name = "location"]; inline void NamedArgExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t NamedArgExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t NamedArgExpr::location() const { +inline ::int32_t NamedArgExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.NamedArgExpr.location) return _internal_location(); } -inline void NamedArgExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void NamedArgExpr::set_location(int32_t value) { +inline void NamedArgExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.NamedArgExpr.location) } +inline ::int32_t NamedArgExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void NamedArgExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // OpExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool OpExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool OpExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void OpExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& OpExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& OpExpr::xpr() const { +inline const ::pg_query::Node& OpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.OpExpr.xpr) return _internal_xpr(); } -inline void OpExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void OpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OpExpr.xpr) } inline ::pg_query::Node* OpExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* OpExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.OpExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* OpExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* OpExpr::mutable_xpr() { +inline ::pg_query::Node* OpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.xpr) return _msg; } -inline void OpExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void OpExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.OpExpr.xpr) } // uint32 opno = 2 [json_name = "opno"]; inline void OpExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opno_ = 0u; } -inline uint32_t OpExpr::_internal_opno() const { - return _impl_.opno_; -} -inline uint32_t OpExpr::opno() const { +inline ::uint32_t OpExpr::opno() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.opno) return _internal_opno(); } -inline void OpExpr::_internal_set_opno(uint32_t value) { - - _impl_.opno_ = value; -} -inline void OpExpr::set_opno(uint32_t value) { +inline void OpExpr::set_opno(::uint32_t value) { _internal_set_opno(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.opno) } - -// uint32 opfuncid = 3 [json_name = "opfuncid"]; -inline void OpExpr::clear_opfuncid() { - _impl_.opfuncid_ = 0u; -} -inline uint32_t OpExpr::_internal_opfuncid() const { - return _impl_.opfuncid_; -} -inline uint32_t OpExpr::opfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.OpExpr.opfuncid) - return _internal_opfuncid(); -} -inline void OpExpr::_internal_set_opfuncid(uint32_t value) { - - _impl_.opfuncid_ = value; +inline ::uint32_t OpExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline void OpExpr::set_opfuncid(uint32_t value) { - _internal_set_opfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.OpExpr.opfuncid) +inline void OpExpr::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; } -// uint32 opresulttype = 4 [json_name = "opresulttype"]; +// uint32 opresulttype = 3 [json_name = "opresulttype"]; inline void OpExpr::clear_opresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opresulttype_ = 0u; } -inline uint32_t OpExpr::_internal_opresulttype() const { - return _impl_.opresulttype_; -} -inline uint32_t OpExpr::opresulttype() const { +inline ::uint32_t OpExpr::opresulttype() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.opresulttype) return _internal_opresulttype(); } -inline void OpExpr::_internal_set_opresulttype(uint32_t value) { - - _impl_.opresulttype_ = value; -} -inline void OpExpr::set_opresulttype(uint32_t value) { +inline void OpExpr::set_opresulttype(::uint32_t value) { _internal_set_opresulttype(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.opresulttype) } +inline ::uint32_t OpExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; +} +inline void OpExpr::_internal_set_opresulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opresulttype_ = value; +} -// bool opretset = 5 [json_name = "opretset"]; +// bool opretset = 4 [json_name = "opretset"]; inline void OpExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opretset_ = false; } -inline bool OpExpr::_internal_opretset() const { - return _impl_.opretset_; -} inline bool OpExpr::opretset() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.opretset) return _internal_opretset(); } -inline void OpExpr::_internal_set_opretset(bool value) { - - _impl_.opretset_ = value; -} inline void OpExpr::set_opretset(bool value) { _internal_set_opretset(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.opretset) } +inline bool OpExpr::_internal_opretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opretset_; +} +inline void OpExpr::_internal_set_opretset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opretset_ = value; +} -// uint32 opcollid = 6 [json_name = "opcollid"]; +// uint32 opcollid = 5 [json_name = "opcollid"]; inline void OpExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opcollid_ = 0u; } -inline uint32_t OpExpr::_internal_opcollid() const { - return _impl_.opcollid_; -} -inline uint32_t OpExpr::opcollid() const { +inline ::uint32_t OpExpr::opcollid() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.opcollid) return _internal_opcollid(); } -inline void OpExpr::_internal_set_opcollid(uint32_t value) { - - _impl_.opcollid_ = value; -} -inline void OpExpr::set_opcollid(uint32_t value) { +inline void OpExpr::set_opcollid(::uint32_t value) { _internal_set_opcollid(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.opcollid) } +inline ::uint32_t OpExpr::_internal_opcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opcollid_; +} +inline void OpExpr::_internal_set_opcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opcollid_ = value; +} -// uint32 inputcollid = 7 [json_name = "inputcollid"]; +// uint32 inputcollid = 6 [json_name = "inputcollid"]; inline void OpExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t OpExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t OpExpr::inputcollid() const { +inline ::uint32_t OpExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.inputcollid) return _internal_inputcollid(); } -inline void OpExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void OpExpr::set_inputcollid(uint32_t value) { +inline void OpExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.inputcollid) } +inline ::uint32_t OpExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void OpExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} -// repeated .pg_query.Node args = 8 [json_name = "args"]; +// repeated .pg_query.Node args = 7 [json_name = "args"]; inline int OpExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int OpExpr::args_size() const { return _internal_args_size(); } inline void OpExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* OpExpr::mutable_args(int index) { +inline ::pg_query::Node* OpExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.OpExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OpExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OpExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.OpExpr.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& OpExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& OpExpr::args(int index) const { +inline const ::pg_query::Node& OpExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.OpExpr.args) - return _internal_args(index); + return _internal_args().Get(index); } -inline ::pg_query::Node* OpExpr::_internal_add_args() { - return _impl_.args_.Add(); -} -inline ::pg_query::Node* OpExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* OpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.OpExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OpExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OpExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.OpExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OpExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OpExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} -// int32 location = 9 [json_name = "location"]; +// int32 location = 8 [json_name = "location"]; inline void OpExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t OpExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t OpExpr::location() const { +inline ::int32_t OpExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.OpExpr.location) return _internal_location(); } -inline void OpExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void OpExpr::set_location(int32_t value) { +inline void OpExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.OpExpr.location) } +inline ::int32_t OpExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void OpExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // DistinctExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool DistinctExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool DistinctExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void DistinctExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& DistinctExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& DistinctExpr::xpr() const { +inline const ::pg_query::Node& DistinctExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.xpr) return _internal_xpr(); } -inline void DistinctExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void DistinctExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DistinctExpr.xpr) } inline ::pg_query::Node* DistinctExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* DistinctExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.DistinctExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* DistinctExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* DistinctExpr::mutable_xpr() { +inline ::pg_query::Node* DistinctExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.xpr) return _msg; } -inline void DistinctExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void DistinctExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.DistinctExpr.xpr) } // uint32 opno = 2 [json_name = "opno"]; inline void DistinctExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opno_ = 0u; } -inline uint32_t DistinctExpr::_internal_opno() const { - return _impl_.opno_; -} -inline uint32_t DistinctExpr::opno() const { +inline ::uint32_t DistinctExpr::opno() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opno) return _internal_opno(); } -inline void DistinctExpr::_internal_set_opno(uint32_t value) { - - _impl_.opno_ = value; -} -inline void DistinctExpr::set_opno(uint32_t value) { +inline void DistinctExpr::set_opno(::uint32_t value) { _internal_set_opno(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opno) } - -// uint32 opfuncid = 3 [json_name = "opfuncid"]; -inline void DistinctExpr::clear_opfuncid() { - _impl_.opfuncid_ = 0u; -} -inline uint32_t DistinctExpr::_internal_opfuncid() const { - return _impl_.opfuncid_; -} -inline uint32_t DistinctExpr::opfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opfuncid) - return _internal_opfuncid(); -} -inline void DistinctExpr::_internal_set_opfuncid(uint32_t value) { - - _impl_.opfuncid_ = value; +inline ::uint32_t DistinctExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline void DistinctExpr::set_opfuncid(uint32_t value) { - _internal_set_opfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opfuncid) +inline void DistinctExpr::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; } -// uint32 opresulttype = 4 [json_name = "opresulttype"]; +// uint32 opresulttype = 3 [json_name = "opresulttype"]; inline void DistinctExpr::clear_opresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opresulttype_ = 0u; } -inline uint32_t DistinctExpr::_internal_opresulttype() const { - return _impl_.opresulttype_; -} -inline uint32_t DistinctExpr::opresulttype() const { +inline ::uint32_t DistinctExpr::opresulttype() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opresulttype) return _internal_opresulttype(); } -inline void DistinctExpr::_internal_set_opresulttype(uint32_t value) { - - _impl_.opresulttype_ = value; -} -inline void DistinctExpr::set_opresulttype(uint32_t value) { +inline void DistinctExpr::set_opresulttype(::uint32_t value) { _internal_set_opresulttype(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opresulttype) } +inline ::uint32_t DistinctExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; +} +inline void DistinctExpr::_internal_set_opresulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opresulttype_ = value; +} -// bool opretset = 5 [json_name = "opretset"]; +// bool opretset = 4 [json_name = "opretset"]; inline void DistinctExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opretset_ = false; } -inline bool DistinctExpr::_internal_opretset() const { - return _impl_.opretset_; -} inline bool DistinctExpr::opretset() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opretset) return _internal_opretset(); } -inline void DistinctExpr::_internal_set_opretset(bool value) { - - _impl_.opretset_ = value; -} inline void DistinctExpr::set_opretset(bool value) { _internal_set_opretset(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opretset) } +inline bool DistinctExpr::_internal_opretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opretset_; +} +inline void DistinctExpr::_internal_set_opretset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opretset_ = value; +} -// uint32 opcollid = 6 [json_name = "opcollid"]; +// uint32 opcollid = 5 [json_name = "opcollid"]; inline void DistinctExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opcollid_ = 0u; } -inline uint32_t DistinctExpr::_internal_opcollid() const { - return _impl_.opcollid_; -} -inline uint32_t DistinctExpr::opcollid() const { +inline ::uint32_t DistinctExpr::opcollid() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.opcollid) return _internal_opcollid(); } -inline void DistinctExpr::_internal_set_opcollid(uint32_t value) { - - _impl_.opcollid_ = value; -} -inline void DistinctExpr::set_opcollid(uint32_t value) { +inline void DistinctExpr::set_opcollid(::uint32_t value) { _internal_set_opcollid(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.opcollid) } +inline ::uint32_t DistinctExpr::_internal_opcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opcollid_; +} +inline void DistinctExpr::_internal_set_opcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opcollid_ = value; +} -// uint32 inputcollid = 7 [json_name = "inputcollid"]; +// uint32 inputcollid = 6 [json_name = "inputcollid"]; inline void DistinctExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t DistinctExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t DistinctExpr::inputcollid() const { +inline ::uint32_t DistinctExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.inputcollid) return _internal_inputcollid(); } -inline void DistinctExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void DistinctExpr::set_inputcollid(uint32_t value) { +inline void DistinctExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.inputcollid) } +inline ::uint32_t DistinctExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void DistinctExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} -// repeated .pg_query.Node args = 8 [json_name = "args"]; +// repeated .pg_query.Node args = 7 [json_name = "args"]; inline int DistinctExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int DistinctExpr::args_size() const { return _internal_args_size(); } inline void DistinctExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* DistinctExpr::mutable_args(int index) { +inline ::pg_query::Node* DistinctExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.DistinctExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DistinctExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DistinctExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.DistinctExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& DistinctExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& DistinctExpr::args(int index) const { +inline const ::pg_query::Node& DistinctExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* DistinctExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* DistinctExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* DistinctExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.DistinctExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DistinctExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DistinctExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.DistinctExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DistinctExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DistinctExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} -// int32 location = 9 [json_name = "location"]; +// int32 location = 8 [json_name = "location"]; inline void DistinctExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t DistinctExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t DistinctExpr::location() const { +inline ::int32_t DistinctExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.DistinctExpr.location) return _internal_location(); } -inline void DistinctExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void DistinctExpr::set_location(int32_t value) { +inline void DistinctExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.DistinctExpr.location) } +inline ::int32_t DistinctExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DistinctExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // NullIfExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NullIfExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool NullIfExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void NullIfExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& NullIfExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NullIfExpr::xpr() const { +inline const ::pg_query::Node& NullIfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.xpr) return _internal_xpr(); } -inline void NullIfExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void NullIfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullIfExpr.xpr) } inline ::pg_query::Node* NullIfExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* NullIfExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.NullIfExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* NullIfExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* NullIfExpr::mutable_xpr() { +inline ::pg_query::Node* NullIfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.xpr) return _msg; } -inline void NullIfExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void NullIfExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.NullIfExpr.xpr) } // uint32 opno = 2 [json_name = "opno"]; inline void NullIfExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opno_ = 0u; } -inline uint32_t NullIfExpr::_internal_opno() const { - return _impl_.opno_; -} -inline uint32_t NullIfExpr::opno() const { +inline ::uint32_t NullIfExpr::opno() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opno) return _internal_opno(); } -inline void NullIfExpr::_internal_set_opno(uint32_t value) { - - _impl_.opno_ = value; -} -inline void NullIfExpr::set_opno(uint32_t value) { +inline void NullIfExpr::set_opno(::uint32_t value) { _internal_set_opno(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opno) } - -// uint32 opfuncid = 3 [json_name = "opfuncid"]; -inline void NullIfExpr::clear_opfuncid() { - _impl_.opfuncid_ = 0u; -} -inline uint32_t NullIfExpr::_internal_opfuncid() const { - return _impl_.opfuncid_; -} -inline uint32_t NullIfExpr::opfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opfuncid) - return _internal_opfuncid(); -} -inline void NullIfExpr::_internal_set_opfuncid(uint32_t value) { - - _impl_.opfuncid_ = value; +inline ::uint32_t NullIfExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline void NullIfExpr::set_opfuncid(uint32_t value) { - _internal_set_opfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opfuncid) +inline void NullIfExpr::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; } -// uint32 opresulttype = 4 [json_name = "opresulttype"]; +// uint32 opresulttype = 3 [json_name = "opresulttype"]; inline void NullIfExpr::clear_opresulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opresulttype_ = 0u; } -inline uint32_t NullIfExpr::_internal_opresulttype() const { - return _impl_.opresulttype_; -} -inline uint32_t NullIfExpr::opresulttype() const { +inline ::uint32_t NullIfExpr::opresulttype() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opresulttype) return _internal_opresulttype(); } -inline void NullIfExpr::_internal_set_opresulttype(uint32_t value) { - - _impl_.opresulttype_ = value; -} -inline void NullIfExpr::set_opresulttype(uint32_t value) { +inline void NullIfExpr::set_opresulttype(::uint32_t value) { _internal_set_opresulttype(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opresulttype) } +inline ::uint32_t NullIfExpr::_internal_opresulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opresulttype_; +} +inline void NullIfExpr::_internal_set_opresulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opresulttype_ = value; +} -// bool opretset = 5 [json_name = "opretset"]; +// bool opretset = 4 [json_name = "opretset"]; inline void NullIfExpr::clear_opretset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opretset_ = false; } -inline bool NullIfExpr::_internal_opretset() const { - return _impl_.opretset_; -} inline bool NullIfExpr::opretset() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opretset) return _internal_opretset(); } -inline void NullIfExpr::_internal_set_opretset(bool value) { - - _impl_.opretset_ = value; -} inline void NullIfExpr::set_opretset(bool value) { _internal_set_opretset(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opretset) } +inline bool NullIfExpr::_internal_opretset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opretset_; +} +inline void NullIfExpr::_internal_set_opretset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opretset_ = value; +} -// uint32 opcollid = 6 [json_name = "opcollid"]; +// uint32 opcollid = 5 [json_name = "opcollid"]; inline void NullIfExpr::clear_opcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opcollid_ = 0u; } -inline uint32_t NullIfExpr::_internal_opcollid() const { - return _impl_.opcollid_; -} -inline uint32_t NullIfExpr::opcollid() const { +inline ::uint32_t NullIfExpr::opcollid() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.opcollid) return _internal_opcollid(); } -inline void NullIfExpr::_internal_set_opcollid(uint32_t value) { - - _impl_.opcollid_ = value; -} -inline void NullIfExpr::set_opcollid(uint32_t value) { +inline void NullIfExpr::set_opcollid(::uint32_t value) { _internal_set_opcollid(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.opcollid) } +inline ::uint32_t NullIfExpr::_internal_opcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opcollid_; +} +inline void NullIfExpr::_internal_set_opcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opcollid_ = value; +} -// uint32 inputcollid = 7 [json_name = "inputcollid"]; +// uint32 inputcollid = 6 [json_name = "inputcollid"]; inline void NullIfExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t NullIfExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t NullIfExpr::inputcollid() const { +inline ::uint32_t NullIfExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.inputcollid) return _internal_inputcollid(); } -inline void NullIfExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void NullIfExpr::set_inputcollid(uint32_t value) { +inline void NullIfExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.inputcollid) } +inline ::uint32_t NullIfExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void NullIfExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} -// repeated .pg_query.Node args = 8 [json_name = "args"]; +// repeated .pg_query.Node args = 7 [json_name = "args"]; inline int NullIfExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int NullIfExpr::args_size() const { return _internal_args_size(); } inline void NullIfExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* NullIfExpr::mutable_args(int index) { +inline ::pg_query::Node* NullIfExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.NullIfExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -NullIfExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* NullIfExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.NullIfExpr.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& NullIfExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& NullIfExpr::args(int index) const { +inline const ::pg_query::Node& NullIfExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* NullIfExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* NullIfExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* NullIfExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.NullIfExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -NullIfExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& NullIfExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.NullIfExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +NullIfExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +NullIfExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} -// int32 location = 9 [json_name = "location"]; +// int32 location = 8 [json_name = "location"]; inline void NullIfExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t NullIfExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t NullIfExpr::location() const { +inline ::int32_t NullIfExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.NullIfExpr.location) return _internal_location(); } -inline void NullIfExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void NullIfExpr::set_location(int32_t value) { +inline void NullIfExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.NullIfExpr.location) } +inline ::int32_t NullIfExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void NullIfExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // ScalarArrayOpExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ScalarArrayOpExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool ScalarArrayOpExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void ScalarArrayOpExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& ScalarArrayOpExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ScalarArrayOpExpr::xpr() const { +inline const ::pg_query::Node& ScalarArrayOpExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.xpr) return _internal_xpr(); } -inline void ScalarArrayOpExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void ScalarArrayOpExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ScalarArrayOpExpr.xpr) } inline ::pg_query::Node* ScalarArrayOpExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ScalarArrayOpExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ScalarArrayOpExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* ScalarArrayOpExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* ScalarArrayOpExpr::mutable_xpr() { +inline ::pg_query::Node* ScalarArrayOpExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.xpr) return _msg; } -inline void ScalarArrayOpExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ScalarArrayOpExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ScalarArrayOpExpr.xpr) } // uint32 opno = 2 [json_name = "opno"]; inline void ScalarArrayOpExpr::clear_opno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opno_ = 0u; } -inline uint32_t ScalarArrayOpExpr::_internal_opno() const { - return _impl_.opno_; -} -inline uint32_t ScalarArrayOpExpr::opno() const { +inline ::uint32_t ScalarArrayOpExpr::opno() const { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.opno) return _internal_opno(); } -inline void ScalarArrayOpExpr::_internal_set_opno(uint32_t value) { - - _impl_.opno_ = value; -} -inline void ScalarArrayOpExpr::set_opno(uint32_t value) { +inline void ScalarArrayOpExpr::set_opno(::uint32_t value) { _internal_set_opno(value); // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.opno) } - -// uint32 opfuncid = 3 [json_name = "opfuncid"]; -inline void ScalarArrayOpExpr::clear_opfuncid() { - _impl_.opfuncid_ = 0u; -} -inline uint32_t ScalarArrayOpExpr::_internal_opfuncid() const { - return _impl_.opfuncid_; -} -inline uint32_t ScalarArrayOpExpr::opfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.opfuncid) - return _internal_opfuncid(); -} -inline void ScalarArrayOpExpr::_internal_set_opfuncid(uint32_t value) { - - _impl_.opfuncid_ = value; -} -inline void ScalarArrayOpExpr::set_opfuncid(uint32_t value) { - _internal_set_opfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.opfuncid) -} - -// uint32 hashfuncid = 4 [json_name = "hashfuncid"]; -inline void ScalarArrayOpExpr::clear_hashfuncid() { - _impl_.hashfuncid_ = 0u; -} -inline uint32_t ScalarArrayOpExpr::_internal_hashfuncid() const { - return _impl_.hashfuncid_; -} -inline uint32_t ScalarArrayOpExpr::hashfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.hashfuncid) - return _internal_hashfuncid(); -} -inline void ScalarArrayOpExpr::_internal_set_hashfuncid(uint32_t value) { - - _impl_.hashfuncid_ = value; -} -inline void ScalarArrayOpExpr::set_hashfuncid(uint32_t value) { - _internal_set_hashfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.hashfuncid) -} - -// uint32 negfuncid = 5 [json_name = "negfuncid"]; -inline void ScalarArrayOpExpr::clear_negfuncid() { - _impl_.negfuncid_ = 0u; -} -inline uint32_t ScalarArrayOpExpr::_internal_negfuncid() const { - return _impl_.negfuncid_; -} -inline uint32_t ScalarArrayOpExpr::negfuncid() const { - // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.negfuncid) - return _internal_negfuncid(); -} -inline void ScalarArrayOpExpr::_internal_set_negfuncid(uint32_t value) { - - _impl_.negfuncid_ = value; +inline ::uint32_t ScalarArrayOpExpr::_internal_opno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opno_; } -inline void ScalarArrayOpExpr::set_negfuncid(uint32_t value) { - _internal_set_negfuncid(value); - // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.negfuncid) +inline void ScalarArrayOpExpr::_internal_set_opno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.opno_ = value; } -// bool use_or = 6 [json_name = "useOr"]; +// bool use_or = 3 [json_name = "useOr"]; inline void ScalarArrayOpExpr::clear_use_or() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.use_or_ = false; } -inline bool ScalarArrayOpExpr::_internal_use_or() const { - return _impl_.use_or_; -} inline bool ScalarArrayOpExpr::use_or() const { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.use_or) return _internal_use_or(); } -inline void ScalarArrayOpExpr::_internal_set_use_or(bool value) { - - _impl_.use_or_ = value; -} inline void ScalarArrayOpExpr::set_use_or(bool value) { _internal_set_use_or(value); // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.use_or) } +inline bool ScalarArrayOpExpr::_internal_use_or() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_or_; +} +inline void ScalarArrayOpExpr::_internal_set_use_or(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.use_or_ = value; +} -// uint32 inputcollid = 7 [json_name = "inputcollid"]; +// uint32 inputcollid = 4 [json_name = "inputcollid"]; inline void ScalarArrayOpExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t ScalarArrayOpExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t ScalarArrayOpExpr::inputcollid() const { +inline ::uint32_t ScalarArrayOpExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.inputcollid) return _internal_inputcollid(); } -inline void ScalarArrayOpExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void ScalarArrayOpExpr::set_inputcollid(uint32_t value) { +inline void ScalarArrayOpExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.inputcollid) } +inline ::uint32_t ScalarArrayOpExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void ScalarArrayOpExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} -// repeated .pg_query.Node args = 8 [json_name = "args"]; +// repeated .pg_query.Node args = 5 [json_name = "args"]; inline int ScalarArrayOpExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int ScalarArrayOpExpr::args_size() const { return _internal_args_size(); } inline void ScalarArrayOpExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* ScalarArrayOpExpr::mutable_args(int index) { +inline ::pg_query::Node* ScalarArrayOpExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.ScalarArrayOpExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ScalarArrayOpExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ScalarArrayOpExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.ScalarArrayOpExpr.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& ScalarArrayOpExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& ScalarArrayOpExpr::args(int index) const { +inline const ::pg_query::Node& ScalarArrayOpExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.args) - return _internal_args(index); + return _internal_args().Get(index); } -inline ::pg_query::Node* ScalarArrayOpExpr::_internal_add_args() { - return _impl_.args_.Add(); -} -inline ::pg_query::Node* ScalarArrayOpExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* ScalarArrayOpExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.ScalarArrayOpExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ScalarArrayOpExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ScalarArrayOpExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.ScalarArrayOpExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ScalarArrayOpExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ScalarArrayOpExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} -// int32 location = 9 [json_name = "location"]; +// int32 location = 6 [json_name = "location"]; inline void ScalarArrayOpExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t ScalarArrayOpExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t ScalarArrayOpExpr::location() const { +inline ::int32_t ScalarArrayOpExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.ScalarArrayOpExpr.location) return _internal_location(); } -inline void ScalarArrayOpExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void ScalarArrayOpExpr::set_location(int32_t value) { +inline void ScalarArrayOpExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.ScalarArrayOpExpr.location) } +inline ::int32_t ScalarArrayOpExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ScalarArrayOpExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // BoolExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool BoolExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool BoolExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void BoolExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& BoolExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& BoolExpr::xpr() const { +inline const ::pg_query::Node& BoolExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.BoolExpr.xpr) return _internal_xpr(); } -inline void BoolExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void BoolExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BoolExpr.xpr) } inline ::pg_query::Node* BoolExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* BoolExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.BoolExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* BoolExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* BoolExpr::mutable_xpr() { +inline ::pg_query::Node* BoolExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.xpr) return _msg; } -inline void BoolExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void BoolExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.BoolExpr.xpr) } // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"]; inline void BoolExpr::clear_boolop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.boolop_ = 0; } -inline ::pg_query::BoolExprType BoolExpr::_internal_boolop() const { - return static_cast< ::pg_query::BoolExprType >(_impl_.boolop_); -} inline ::pg_query::BoolExprType BoolExpr::boolop() const { // @@protoc_insertion_point(field_get:pg_query.BoolExpr.boolop) return _internal_boolop(); } -inline void BoolExpr::_internal_set_boolop(::pg_query::BoolExprType value) { - - _impl_.boolop_ = value; -} inline void BoolExpr::set_boolop(::pg_query::BoolExprType value) { _internal_set_boolop(value); // @@protoc_insertion_point(field_set:pg_query.BoolExpr.boolop) } +inline ::pg_query::BoolExprType BoolExpr::_internal_boolop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::BoolExprType>(_impl_.boolop_); +} +inline void BoolExpr::_internal_set_boolop(::pg_query::BoolExprType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.boolop_ = value; +} // repeated .pg_query.Node args = 3 [json_name = "args"]; inline int BoolExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int BoolExpr::args_size() const { return _internal_args_size(); } inline void BoolExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* BoolExpr::mutable_args(int index) { +inline ::pg_query::Node* BoolExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.BoolExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -BoolExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* BoolExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.BoolExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& BoolExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& BoolExpr::args(int index) const { +inline const ::pg_query::Node& BoolExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.BoolExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* BoolExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* BoolExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* BoolExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.BoolExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -BoolExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& BoolExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.BoolExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +BoolExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +BoolExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // int32 location = 4 [json_name = "location"]; inline void BoolExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t BoolExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t BoolExpr::location() const { +inline ::int32_t BoolExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.BoolExpr.location) return _internal_location(); } -inline void BoolExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void BoolExpr::set_location(int32_t value) { +inline void BoolExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.BoolExpr.location) } +inline ::int32_t BoolExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void BoolExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // SubLink // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubLink::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool SubLink::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void SubLink::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& SubLink::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubLink::xpr() const { +inline const ::pg_query::Node& SubLink::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubLink.xpr) return _internal_xpr(); } -inline void SubLink::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void SubLink::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.xpr) } inline ::pg_query::Node* SubLink::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubLink::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubLink.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* SubLink::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* SubLink::mutable_xpr() { +inline ::pg_query::Node* SubLink::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubLink.xpr) return _msg; } -inline void SubLink::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubLink::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.xpr) } // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; inline void SubLink::clear_sub_link_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.sub_link_type_ = 0; } -inline ::pg_query::SubLinkType SubLink::_internal_sub_link_type() const { - return static_cast< ::pg_query::SubLinkType >(_impl_.sub_link_type_); -} inline ::pg_query::SubLinkType SubLink::sub_link_type() const { // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_type) return _internal_sub_link_type(); } -inline void SubLink::_internal_set_sub_link_type(::pg_query::SubLinkType value) { - - _impl_.sub_link_type_ = value; -} inline void SubLink::set_sub_link_type(::pg_query::SubLinkType value) { _internal_set_sub_link_type(value); // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_type) } +inline ::pg_query::SubLinkType SubLink::_internal_sub_link_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); +} +inline void SubLink::_internal_set_sub_link_type(::pg_query::SubLinkType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sub_link_type_ = value; +} // int32 sub_link_id = 3 [json_name = "subLinkId"]; inline void SubLink::clear_sub_link_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.sub_link_id_ = 0; } -inline int32_t SubLink::_internal_sub_link_id() const { - return _impl_.sub_link_id_; -} -inline int32_t SubLink::sub_link_id() const { +inline ::int32_t SubLink::sub_link_id() const { // @@protoc_insertion_point(field_get:pg_query.SubLink.sub_link_id) return _internal_sub_link_id(); } -inline void SubLink::_internal_set_sub_link_id(int32_t value) { - - _impl_.sub_link_id_ = value; -} -inline void SubLink::set_sub_link_id(int32_t value) { +inline void SubLink::set_sub_link_id(::int32_t value) { _internal_set_sub_link_id(value); // @@protoc_insertion_point(field_set:pg_query.SubLink.sub_link_id) } +inline ::int32_t SubLink::_internal_sub_link_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sub_link_id_; +} +inline void SubLink::_internal_set_sub_link_id(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sub_link_id_ = value; +} // .pg_query.Node testexpr = 4 [json_name = "testexpr"]; -inline bool SubLink::_internal_has_testexpr() const { - return this != internal_default_instance() && _impl_.testexpr_ != nullptr; -} inline bool SubLink::has_testexpr() const { - return _internal_has_testexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); + return value; } inline void SubLink::clear_testexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.testexpr_ != nullptr) { - delete _impl_.testexpr_; - } - _impl_.testexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& SubLink::_internal_testexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.testexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubLink::testexpr() const { +inline const ::pg_query::Node& SubLink::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubLink.testexpr) return _internal_testexpr(); } -inline void SubLink::unsafe_arena_set_allocated_testexpr( - ::pg_query::Node* testexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.testexpr_); +inline void SubLink::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); } - _impl_.testexpr_ = testexpr; - if (testexpr) { - + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.testexpr) } inline ::pg_query::Node* SubLink::release_testexpr() { - - ::pg_query::Node* temp = _impl_.testexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.testexpr_; _impl_.testexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubLink::unsafe_arena_release_testexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubLink.testexpr) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.testexpr_; _impl_.testexpr_ = nullptr; return temp; } inline ::pg_query::Node* SubLink::_internal_mutable_testexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.testexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.testexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.testexpr_; } -inline ::pg_query::Node* SubLink::mutable_testexpr() { +inline ::pg_query::Node* SubLink::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_testexpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubLink.testexpr) return _msg; } -inline void SubLink::set_allocated_testexpr(::pg_query::Node* testexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubLink::set_allocated_testexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.testexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); } - if (testexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(testexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - testexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, testexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.testexpr_ = testexpr; + + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.testexpr) } // repeated .pg_query.Node oper_name = 5 [json_name = "operName"]; inline int SubLink::_internal_oper_name_size() const { - return _impl_.oper_name_.size(); + return _internal_oper_name().size(); } inline int SubLink::oper_name_size() const { return _internal_oper_name_size(); } inline void SubLink::clear_oper_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.oper_name_.Clear(); } -inline ::pg_query::Node* SubLink::mutable_oper_name(int index) { +inline ::pg_query::Node* SubLink::mutable_oper_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubLink.oper_name) - return _impl_.oper_name_.Mutable(index); + return _internal_mutable_oper_name()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubLink::mutable_oper_name() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubLink::mutable_oper_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubLink.oper_name) - return &_impl_.oper_name_; -} -inline const ::pg_query::Node& SubLink::_internal_oper_name(int index) const { - return _impl_.oper_name_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_oper_name(); } -inline const ::pg_query::Node& SubLink::oper_name(int index) const { +inline const ::pg_query::Node& SubLink::oper_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubLink.oper_name) - return _internal_oper_name(index); + return _internal_oper_name().Get(index); } -inline ::pg_query::Node* SubLink::_internal_add_oper_name() { - return _impl_.oper_name_.Add(); -} -inline ::pg_query::Node* SubLink::add_oper_name() { - ::pg_query::Node* _add = _internal_add_oper_name(); +inline ::pg_query::Node* SubLink::add_oper_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_oper_name()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubLink.oper_name) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubLink::oper_name() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubLink::oper_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubLink.oper_name) + return _internal_oper_name(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubLink::_internal_oper_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.oper_name_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubLink::_internal_mutable_oper_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.oper_name_; +} // .pg_query.Node subselect = 6 [json_name = "subselect"]; -inline bool SubLink::_internal_has_subselect() const { - return this != internal_default_instance() && _impl_.subselect_ != nullptr; -} inline bool SubLink::has_subselect() const { - return _internal_has_subselect(); + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.subselect_ != nullptr); + return value; } inline void SubLink::clear_subselect() { - if (GetArenaForAllocation() == nullptr && _impl_.subselect_ != nullptr) { - delete _impl_.subselect_; - } - _impl_.subselect_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.subselect_ != nullptr) _impl_.subselect_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::pg_query::Node& SubLink::_internal_subselect() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.subselect_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubLink::subselect() const { +inline const ::pg_query::Node& SubLink::subselect() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubLink.subselect) return _internal_subselect(); } -inline void SubLink::unsafe_arena_set_allocated_subselect( - ::pg_query::Node* subselect) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.subselect_); +inline void SubLink::unsafe_arena_set_allocated_subselect(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subselect_); } - _impl_.subselect_ = subselect; - if (subselect) { - + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubLink.subselect) } inline ::pg_query::Node* SubLink::release_subselect() { - - ::pg_query::Node* temp = _impl_.subselect_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.subselect_; _impl_.subselect_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubLink::unsafe_arena_release_subselect() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubLink.subselect) - + + _impl_._has_bits_[0] &= ~0x00000004u; ::pg_query::Node* temp = _impl_.subselect_; _impl_.subselect_ = nullptr; return temp; } inline ::pg_query::Node* SubLink::_internal_mutable_subselect() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; if (_impl_.subselect_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.subselect_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.subselect_; } -inline ::pg_query::Node* SubLink::mutable_subselect() { +inline ::pg_query::Node* SubLink::mutable_subselect() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_subselect(); // @@protoc_insertion_point(field_mutable:pg_query.SubLink.subselect) return _msg; } -inline void SubLink::set_allocated_subselect(::pg_query::Node* subselect) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubLink::set_allocated_subselect(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.subselect_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.subselect_); } - if (subselect) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(subselect); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - subselect = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, subselect, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.subselect_ = subselect; + + _impl_.subselect_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubLink.subselect) } // int32 location = 7 [json_name = "location"]; inline void SubLink::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t SubLink::_internal_location() const { - return _impl_.location_; -} -inline int32_t SubLink::location() const { +inline ::int32_t SubLink::location() const { // @@protoc_insertion_point(field_get:pg_query.SubLink.location) return _internal_location(); } -inline void SubLink::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void SubLink::set_location(int32_t value) { +inline void SubLink::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.SubLink.location) } +inline ::int32_t SubLink::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void SubLink::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // SubPlan // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SubPlan::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool SubPlan::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void SubPlan::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& SubPlan::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubPlan::xpr() const { +inline const ::pg_query::Node& SubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.xpr) return _internal_xpr(); } -inline void SubPlan::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void SubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.xpr) } inline ::pg_query::Node* SubPlan::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubPlan::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubPlan.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* SubPlan::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* SubPlan::mutable_xpr() { +inline ::pg_query::Node* SubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.xpr) return _msg; } -inline void SubPlan::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubPlan::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.xpr) } // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"]; inline void SubPlan::clear_sub_link_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.sub_link_type_ = 0; } -inline ::pg_query::SubLinkType SubPlan::_internal_sub_link_type() const { - return static_cast< ::pg_query::SubLinkType >(_impl_.sub_link_type_); -} inline ::pg_query::SubLinkType SubPlan::sub_link_type() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.sub_link_type) return _internal_sub_link_type(); } -inline void SubPlan::_internal_set_sub_link_type(::pg_query::SubLinkType value) { - - _impl_.sub_link_type_ = value; -} inline void SubPlan::set_sub_link_type(::pg_query::SubLinkType value) { _internal_set_sub_link_type(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.sub_link_type) } +inline ::pg_query::SubLinkType SubPlan::_internal_sub_link_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SubLinkType>(_impl_.sub_link_type_); +} +inline void SubPlan::_internal_set_sub_link_type(::pg_query::SubLinkType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sub_link_type_ = value; +} // .pg_query.Node testexpr = 3 [json_name = "testexpr"]; -inline bool SubPlan::_internal_has_testexpr() const { - return this != internal_default_instance() && _impl_.testexpr_ != nullptr; -} inline bool SubPlan::has_testexpr() const { - return _internal_has_testexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.testexpr_ != nullptr); + return value; } inline void SubPlan::clear_testexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.testexpr_ != nullptr) { - delete _impl_.testexpr_; - } - _impl_.testexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.testexpr_ != nullptr) _impl_.testexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& SubPlan::_internal_testexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.testexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SubPlan::testexpr() const { +inline const ::pg_query::Node& SubPlan::testexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.testexpr) return _internal_testexpr(); } -inline void SubPlan::unsafe_arena_set_allocated_testexpr( - ::pg_query::Node* testexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.testexpr_); +inline void SubPlan::unsafe_arena_set_allocated_testexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.testexpr_); } - _impl_.testexpr_ = testexpr; - if (testexpr) { - + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SubPlan.testexpr) } inline ::pg_query::Node* SubPlan::release_testexpr() { - - ::pg_query::Node* temp = _impl_.testexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.testexpr_; _impl_.testexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SubPlan::unsafe_arena_release_testexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubPlan.testexpr) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.testexpr_; _impl_.testexpr_ = nullptr; return temp; } inline ::pg_query::Node* SubPlan::_internal_mutable_testexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.testexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.testexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.testexpr_; } -inline ::pg_query::Node* SubPlan::mutable_testexpr() { +inline ::pg_query::Node* SubPlan::mutable_testexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_testexpr(); // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.testexpr) return _msg; } -inline void SubPlan::set_allocated_testexpr(::pg_query::Node* testexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SubPlan::set_allocated_testexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.testexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.testexpr_); } - if (testexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(testexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - testexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, testexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.testexpr_ = testexpr; + + _impl_.testexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.testexpr) } // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"]; inline int SubPlan::_internal_param_ids_size() const { - return _impl_.param_ids_.size(); + return _internal_param_ids().size(); } inline int SubPlan::param_ids_size() const { return _internal_param_ids_size(); } inline void SubPlan::clear_param_ids() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.param_ids_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_param_ids(int index) { +inline ::pg_query::Node* SubPlan::mutable_param_ids(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.param_ids) - return _impl_.param_ids_.Mutable(index); + return _internal_mutable_param_ids()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubPlan::mutable_param_ids() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_param_ids() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.param_ids) - return &_impl_.param_ids_; -} -inline const ::pg_query::Node& SubPlan::_internal_param_ids(int index) const { - return _impl_.param_ids_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_param_ids(); } -inline const ::pg_query::Node& SubPlan::param_ids(int index) const { +inline const ::pg_query::Node& SubPlan::param_ids(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.param_ids) - return _internal_param_ids(index); + return _internal_param_ids().Get(index); } -inline ::pg_query::Node* SubPlan::_internal_add_param_ids() { - return _impl_.param_ids_.Add(); -} -inline ::pg_query::Node* SubPlan::add_param_ids() { - ::pg_query::Node* _add = _internal_add_param_ids(); +inline ::pg_query::Node* SubPlan::add_param_ids() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_param_ids()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubPlan.param_ids) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubPlan::param_ids() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::param_ids() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubPlan.param_ids) + return _internal_param_ids(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_param_ids() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.param_ids_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_param_ids() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.param_ids_; +} // int32 plan_id = 5 [json_name = "plan_id"]; inline void SubPlan::clear_plan_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.plan_id_ = 0; } -inline int32_t SubPlan::_internal_plan_id() const { - return _impl_.plan_id_; -} -inline int32_t SubPlan::plan_id() const { +inline ::int32_t SubPlan::plan_id() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_id) return _internal_plan_id(); } -inline void SubPlan::_internal_set_plan_id(int32_t value) { - - _impl_.plan_id_ = value; -} -inline void SubPlan::set_plan_id(int32_t value) { +inline void SubPlan::set_plan_id(::int32_t value) { _internal_set_plan_id(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_id) } +inline ::int32_t SubPlan::_internal_plan_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plan_id_; +} +inline void SubPlan::_internal_set_plan_id(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_id_ = value; +} // string plan_name = 6 [json_name = "plan_name"]; inline void SubPlan::clear_plan_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.plan_name_.ClearToEmpty(); } -inline const std::string& SubPlan::plan_name() const { +inline const std::string& SubPlan::plan_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.plan_name) return _internal_plan_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void SubPlan::set_plan_name(ArgT0&& arg0, ArgT... args) { - - _impl_.plan_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void SubPlan::set_plan_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.SubPlan.plan_name) } -inline std::string* SubPlan::mutable_plan_name() { +inline std::string* SubPlan::mutable_plan_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_plan_name(); // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.plan_name) return _s; } inline const std::string& SubPlan::_internal_plan_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.plan_name_.Get(); } inline void SubPlan::_internal_set_plan_name(const std::string& value) { - - _impl_.plan_name_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plan_name_.Set(value, GetArena()); } inline std::string* SubPlan::_internal_mutable_plan_name() { - - return _impl_.plan_name_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.plan_name_.Mutable( GetArena()); } inline std::string* SubPlan::release_plan_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SubPlan.plan_name) return _impl_.plan_name_.Release(); } -inline void SubPlan::set_allocated_plan_name(std::string* plan_name) { - if (plan_name != nullptr) { - - } else { - - } - _impl_.plan_name_.SetAllocated(plan_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.plan_name_.IsDefault()) { - _impl_.plan_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void SubPlan::set_allocated_plan_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plan_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.plan_name_.IsDefault()) { + _impl_.plan_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.SubPlan.plan_name) } // uint32 first_col_type = 7 [json_name = "firstColType"]; inline void SubPlan::clear_first_col_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.first_col_type_ = 0u; } -inline uint32_t SubPlan::_internal_first_col_type() const { - return _impl_.first_col_type_; -} -inline uint32_t SubPlan::first_col_type() const { +inline ::uint32_t SubPlan::first_col_type() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_type) return _internal_first_col_type(); } -inline void SubPlan::_internal_set_first_col_type(uint32_t value) { - - _impl_.first_col_type_ = value; -} -inline void SubPlan::set_first_col_type(uint32_t value) { +inline void SubPlan::set_first_col_type(::uint32_t value) { _internal_set_first_col_type(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_type) } +inline ::uint32_t SubPlan::_internal_first_col_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_type_; +} +inline void SubPlan::_internal_set_first_col_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_type_ = value; +} // int32 first_col_typmod = 8 [json_name = "firstColTypmod"]; inline void SubPlan::clear_first_col_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.first_col_typmod_ = 0; } -inline int32_t SubPlan::_internal_first_col_typmod() const { - return _impl_.first_col_typmod_; -} -inline int32_t SubPlan::first_col_typmod() const { +inline ::int32_t SubPlan::first_col_typmod() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_typmod) return _internal_first_col_typmod(); } -inline void SubPlan::_internal_set_first_col_typmod(int32_t value) { - - _impl_.first_col_typmod_ = value; -} -inline void SubPlan::set_first_col_typmod(int32_t value) { +inline void SubPlan::set_first_col_typmod(::int32_t value) { _internal_set_first_col_typmod(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_typmod) } +inline ::int32_t SubPlan::_internal_first_col_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_typmod_; +} +inline void SubPlan::_internal_set_first_col_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_typmod_ = value; +} // uint32 first_col_collation = 9 [json_name = "firstColCollation"]; inline void SubPlan::clear_first_col_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.first_col_collation_ = 0u; } -inline uint32_t SubPlan::_internal_first_col_collation() const { - return _impl_.first_col_collation_; -} -inline uint32_t SubPlan::first_col_collation() const { +inline ::uint32_t SubPlan::first_col_collation() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.first_col_collation) return _internal_first_col_collation(); } -inline void SubPlan::_internal_set_first_col_collation(uint32_t value) { - - _impl_.first_col_collation_ = value; -} -inline void SubPlan::set_first_col_collation(uint32_t value) { +inline void SubPlan::set_first_col_collation(::uint32_t value) { _internal_set_first_col_collation(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.first_col_collation) } +inline ::uint32_t SubPlan::_internal_first_col_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.first_col_collation_; +} +inline void SubPlan::_internal_set_first_col_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.first_col_collation_ = value; +} // bool use_hash_table = 10 [json_name = "useHashTable"]; inline void SubPlan::clear_use_hash_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.use_hash_table_ = false; } -inline bool SubPlan::_internal_use_hash_table() const { - return _impl_.use_hash_table_; -} inline bool SubPlan::use_hash_table() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.use_hash_table) return _internal_use_hash_table(); } -inline void SubPlan::_internal_set_use_hash_table(bool value) { - - _impl_.use_hash_table_ = value; -} inline void SubPlan::set_use_hash_table(bool value) { _internal_set_use_hash_table(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.use_hash_table) } +inline bool SubPlan::_internal_use_hash_table() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_hash_table_; +} +inline void SubPlan::_internal_set_use_hash_table(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.use_hash_table_ = value; +} // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"]; inline void SubPlan::clear_unknown_eq_false() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.unknown_eq_false_ = false; } -inline bool SubPlan::_internal_unknown_eq_false() const { - return _impl_.unknown_eq_false_; -} inline bool SubPlan::unknown_eq_false() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.unknown_eq_false) return _internal_unknown_eq_false(); } -inline void SubPlan::_internal_set_unknown_eq_false(bool value) { - - _impl_.unknown_eq_false_ = value; -} inline void SubPlan::set_unknown_eq_false(bool value) { _internal_set_unknown_eq_false(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.unknown_eq_false) } +inline bool SubPlan::_internal_unknown_eq_false() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unknown_eq_false_; +} +inline void SubPlan::_internal_set_unknown_eq_false(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unknown_eq_false_ = value; +} // bool parallel_safe = 12 [json_name = "parallel_safe"]; inline void SubPlan::clear_parallel_safe() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.parallel_safe_ = false; } -inline bool SubPlan::_internal_parallel_safe() const { - return _impl_.parallel_safe_; -} inline bool SubPlan::parallel_safe() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.parallel_safe) return _internal_parallel_safe(); } -inline void SubPlan::_internal_set_parallel_safe(bool value) { - - _impl_.parallel_safe_ = value; -} inline void SubPlan::set_parallel_safe(bool value) { _internal_set_parallel_safe(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.parallel_safe) } +inline bool SubPlan::_internal_parallel_safe() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.parallel_safe_; +} +inline void SubPlan::_internal_set_parallel_safe(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.parallel_safe_ = value; +} // repeated .pg_query.Node set_param = 13 [json_name = "setParam"]; inline int SubPlan::_internal_set_param_size() const { - return _impl_.set_param_.size(); + return _internal_set_param().size(); } inline int SubPlan::set_param_size() const { return _internal_set_param_size(); } inline void SubPlan::clear_set_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.set_param_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_set_param(int index) { +inline ::pg_query::Node* SubPlan::mutable_set_param(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.set_param) - return _impl_.set_param_.Mutable(index); + return _internal_mutable_set_param()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubPlan::mutable_set_param() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_set_param() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.set_param) - return &_impl_.set_param_; -} -inline const ::pg_query::Node& SubPlan::_internal_set_param(int index) const { - return _impl_.set_param_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_set_param(); } -inline const ::pg_query::Node& SubPlan::set_param(int index) const { +inline const ::pg_query::Node& SubPlan::set_param(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.set_param) - return _internal_set_param(index); + return _internal_set_param().Get(index); } -inline ::pg_query::Node* SubPlan::_internal_add_set_param() { - return _impl_.set_param_.Add(); -} -inline ::pg_query::Node* SubPlan::add_set_param() { - ::pg_query::Node* _add = _internal_add_set_param(); +inline ::pg_query::Node* SubPlan::add_set_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_set_param()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubPlan.set_param) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubPlan::set_param() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::set_param() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubPlan.set_param) + return _internal_set_param(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_set_param() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.set_param_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_set_param() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.set_param_; +} // repeated .pg_query.Node par_param = 14 [json_name = "parParam"]; inline int SubPlan::_internal_par_param_size() const { - return _impl_.par_param_.size(); + return _internal_par_param().size(); } inline int SubPlan::par_param_size() const { return _internal_par_param_size(); } inline void SubPlan::clear_par_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.par_param_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_par_param(int index) { +inline ::pg_query::Node* SubPlan::mutable_par_param(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.par_param) - return _impl_.par_param_.Mutable(index); + return _internal_mutable_par_param()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubPlan::mutable_par_param() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_par_param() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.par_param) - return &_impl_.par_param_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_par_param(); } -inline const ::pg_query::Node& SubPlan::_internal_par_param(int index) const { - return _impl_.par_param_.Get(index); -} -inline const ::pg_query::Node& SubPlan::par_param(int index) const { +inline const ::pg_query::Node& SubPlan::par_param(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.par_param) - return _internal_par_param(index); -} -inline ::pg_query::Node* SubPlan::_internal_add_par_param() { - return _impl_.par_param_.Add(); + return _internal_par_param().Get(index); } -inline ::pg_query::Node* SubPlan::add_par_param() { - ::pg_query::Node* _add = _internal_add_par_param(); +inline ::pg_query::Node* SubPlan::add_par_param() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_par_param()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubPlan.par_param) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubPlan::par_param() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::par_param() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubPlan.par_param) + return _internal_par_param(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_par_param() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.par_param_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_par_param() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.par_param_; +} // repeated .pg_query.Node args = 15 [json_name = "args"]; inline int SubPlan::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int SubPlan::args_size() const { return _internal_args_size(); } inline void SubPlan::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* SubPlan::mutable_args(int index) { +inline ::pg_query::Node* SubPlan::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.SubPlan.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SubPlan::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SubPlan::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.SubPlan.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& SubPlan::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& SubPlan::args(int index) const { +inline const ::pg_query::Node& SubPlan::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SubPlan.args) - return _internal_args(index); -} -inline ::pg_query::Node* SubPlan::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* SubPlan::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* SubPlan::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.SubPlan.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SubPlan::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SubPlan::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.SubPlan.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SubPlan::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SubPlan::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // double startup_cost = 16 [json_name = "startup_cost"]; inline void SubPlan::clear_startup_cost() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.startup_cost_ = 0; } -inline double SubPlan::_internal_startup_cost() const { - return _impl_.startup_cost_; -} inline double SubPlan::startup_cost() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.startup_cost) return _internal_startup_cost(); } -inline void SubPlan::_internal_set_startup_cost(double value) { - - _impl_.startup_cost_ = value; -} inline void SubPlan::set_startup_cost(double value) { _internal_set_startup_cost(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.startup_cost) } +inline double SubPlan::_internal_startup_cost() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.startup_cost_; +} +inline void SubPlan::_internal_set_startup_cost(double value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.startup_cost_ = value; +} // double per_call_cost = 17 [json_name = "per_call_cost"]; inline void SubPlan::clear_per_call_cost() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.per_call_cost_ = 0; } -inline double SubPlan::_internal_per_call_cost() const { - return _impl_.per_call_cost_; -} inline double SubPlan::per_call_cost() const { // @@protoc_insertion_point(field_get:pg_query.SubPlan.per_call_cost) return _internal_per_call_cost(); } -inline void SubPlan::_internal_set_per_call_cost(double value) { - - _impl_.per_call_cost_ = value; -} inline void SubPlan::set_per_call_cost(double value) { _internal_set_per_call_cost(value); // @@protoc_insertion_point(field_set:pg_query.SubPlan.per_call_cost) } +inline double SubPlan::_internal_per_call_cost() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.per_call_cost_; +} +inline void SubPlan::_internal_set_per_call_cost(double value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.per_call_cost_ = value; +} // ------------------------------------------------------------------- // AlternativeSubPlan // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool AlternativeSubPlan::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool AlternativeSubPlan::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void AlternativeSubPlan::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& AlternativeSubPlan::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& AlternativeSubPlan::xpr() const { +inline const ::pg_query::Node& AlternativeSubPlan::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.xpr) return _internal_xpr(); } -inline void AlternativeSubPlan::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void AlternativeSubPlan::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlternativeSubPlan.xpr) } inline ::pg_query::Node* AlternativeSubPlan::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* AlternativeSubPlan::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.AlternativeSubPlan.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* AlternativeSubPlan::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* AlternativeSubPlan::mutable_xpr() { +inline ::pg_query::Node* AlternativeSubPlan::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.xpr) return _msg; } -inline void AlternativeSubPlan::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlternativeSubPlan::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.AlternativeSubPlan.xpr) } // repeated .pg_query.Node subplans = 2 [json_name = "subplans"]; inline int AlternativeSubPlan::_internal_subplans_size() const { - return _impl_.subplans_.size(); + return _internal_subplans().size(); } inline int AlternativeSubPlan::subplans_size() const { return _internal_subplans_size(); } inline void AlternativeSubPlan::clear_subplans() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.subplans_.Clear(); } -inline ::pg_query::Node* AlternativeSubPlan::mutable_subplans(int index) { +inline ::pg_query::Node* AlternativeSubPlan::mutable_subplans(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.AlternativeSubPlan.subplans) - return _impl_.subplans_.Mutable(index); + return _internal_mutable_subplans()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlternativeSubPlan::mutable_subplans() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlternativeSubPlan::mutable_subplans() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.AlternativeSubPlan.subplans) - return &_impl_.subplans_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_subplans(); } -inline const ::pg_query::Node& AlternativeSubPlan::_internal_subplans(int index) const { - return _impl_.subplans_.Get(index); -} -inline const ::pg_query::Node& AlternativeSubPlan::subplans(int index) const { +inline const ::pg_query::Node& AlternativeSubPlan::subplans(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.AlternativeSubPlan.subplans) - return _internal_subplans(index); -} -inline ::pg_query::Node* AlternativeSubPlan::_internal_add_subplans() { - return _impl_.subplans_.Add(); + return _internal_subplans().Get(index); } -inline ::pg_query::Node* AlternativeSubPlan::add_subplans() { - ::pg_query::Node* _add = _internal_add_subplans(); +inline ::pg_query::Node* AlternativeSubPlan::add_subplans() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_subplans()->Add(); // @@protoc_insertion_point(field_add:pg_query.AlternativeSubPlan.subplans) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlternativeSubPlan::subplans() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlternativeSubPlan::subplans() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.AlternativeSubPlan.subplans) + return _internal_subplans(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlternativeSubPlan::_internal_subplans() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.subplans_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlternativeSubPlan::_internal_mutable_subplans() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.subplans_; +} // ------------------------------------------------------------------- // FieldSelect // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FieldSelect::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool FieldSelect::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void FieldSelect::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& FieldSelect::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldSelect::xpr() const { +inline const ::pg_query::Node& FieldSelect::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.xpr) return _internal_xpr(); } -inline void FieldSelect::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void FieldSelect::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.xpr) } inline ::pg_query::Node* FieldSelect::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* FieldSelect::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.FieldSelect.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* FieldSelect::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* FieldSelect::mutable_xpr() { +inline ::pg_query::Node* FieldSelect::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.xpr) return _msg; } -inline void FieldSelect::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FieldSelect::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool FieldSelect::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool FieldSelect::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void FieldSelect::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& FieldSelect::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldSelect::arg() const { +inline const ::pg_query::Node& FieldSelect::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.arg) return _internal_arg(); } -inline void FieldSelect::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void FieldSelect::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldSelect.arg) } inline ::pg_query::Node* FieldSelect::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* FieldSelect::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.FieldSelect.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* FieldSelect::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* FieldSelect::mutable_arg() { +inline ::pg_query::Node* FieldSelect::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.FieldSelect.arg) return _msg; } -inline void FieldSelect::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FieldSelect::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.FieldSelect.arg) } // int32 fieldnum = 3 [json_name = "fieldnum"]; inline void FieldSelect::clear_fieldnum() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fieldnum_ = 0; } -inline int32_t FieldSelect::_internal_fieldnum() const { - return _impl_.fieldnum_; -} -inline int32_t FieldSelect::fieldnum() const { +inline ::int32_t FieldSelect::fieldnum() const { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.fieldnum) return _internal_fieldnum(); } -inline void FieldSelect::_internal_set_fieldnum(int32_t value) { - - _impl_.fieldnum_ = value; -} -inline void FieldSelect::set_fieldnum(int32_t value) { +inline void FieldSelect::set_fieldnum(::int32_t value) { _internal_set_fieldnum(value); // @@protoc_insertion_point(field_set:pg_query.FieldSelect.fieldnum) } +inline ::int32_t FieldSelect::_internal_fieldnum() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fieldnum_; +} +inline void FieldSelect::_internal_set_fieldnum(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fieldnum_ = value; +} // uint32 resulttype = 4 [json_name = "resulttype"]; inline void FieldSelect::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t FieldSelect::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t FieldSelect::resulttype() const { +inline ::uint32_t FieldSelect::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttype) return _internal_resulttype(); } -inline void FieldSelect::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void FieldSelect::set_resulttype(uint32_t value) { +inline void FieldSelect::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttype) } +inline ::uint32_t FieldSelect::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void FieldSelect::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // int32 resulttypmod = 5 [json_name = "resulttypmod"]; inline void FieldSelect::clear_resulttypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttypmod_ = 0; } -inline int32_t FieldSelect::_internal_resulttypmod() const { - return _impl_.resulttypmod_; -} -inline int32_t FieldSelect::resulttypmod() const { +inline ::int32_t FieldSelect::resulttypmod() const { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resulttypmod) return _internal_resulttypmod(); } -inline void FieldSelect::_internal_set_resulttypmod(int32_t value) { - - _impl_.resulttypmod_ = value; -} -inline void FieldSelect::set_resulttypmod(int32_t value) { +inline void FieldSelect::set_resulttypmod(::int32_t value) { _internal_set_resulttypmod(value); // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resulttypmod) } +inline ::int32_t FieldSelect::_internal_resulttypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttypmod_; +} +inline void FieldSelect::_internal_set_resulttypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttypmod_ = value; +} // uint32 resultcollid = 6 [json_name = "resultcollid"]; inline void FieldSelect::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resultcollid_ = 0u; } -inline uint32_t FieldSelect::_internal_resultcollid() const { - return _impl_.resultcollid_; -} -inline uint32_t FieldSelect::resultcollid() const { +inline ::uint32_t FieldSelect::resultcollid() const { // @@protoc_insertion_point(field_get:pg_query.FieldSelect.resultcollid) return _internal_resultcollid(); } -inline void FieldSelect::_internal_set_resultcollid(uint32_t value) { - - _impl_.resultcollid_ = value; -} -inline void FieldSelect::set_resultcollid(uint32_t value) { +inline void FieldSelect::set_resultcollid(::uint32_t value) { _internal_set_resultcollid(value); // @@protoc_insertion_point(field_set:pg_query.FieldSelect.resultcollid) } +inline ::uint32_t FieldSelect::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; +} +inline void FieldSelect::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; +} // ------------------------------------------------------------------- // FieldStore // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool FieldStore::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool FieldStore::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void FieldStore::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& FieldStore::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldStore::xpr() const { +inline const ::pg_query::Node& FieldStore::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldStore.xpr) return _internal_xpr(); } -inline void FieldStore::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void FieldStore::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.xpr) } inline ::pg_query::Node* FieldStore::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* FieldStore::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.FieldStore.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* FieldStore::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* FieldStore::mutable_xpr() { +inline ::pg_query::Node* FieldStore::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.xpr) return _msg; } -inline void FieldStore::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FieldStore::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool FieldStore::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool FieldStore::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void FieldStore::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& FieldStore::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FieldStore::arg() const { +inline const ::pg_query::Node& FieldStore::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldStore.arg) return _internal_arg(); } -inline void FieldStore::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void FieldStore::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FieldStore.arg) } inline ::pg_query::Node* FieldStore::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* FieldStore::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.FieldStore.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* FieldStore::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* FieldStore::mutable_arg() { +inline ::pg_query::Node* FieldStore::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.arg) return _msg; } -inline void FieldStore::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FieldStore::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.FieldStore.arg) } // repeated .pg_query.Node newvals = 3 [json_name = "newvals"]; inline int FieldStore::_internal_newvals_size() const { - return _impl_.newvals_.size(); + return _internal_newvals().size(); } inline int FieldStore::newvals_size() const { return _internal_newvals_size(); } inline void FieldStore::clear_newvals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.newvals_.Clear(); } -inline ::pg_query::Node* FieldStore::mutable_newvals(int index) { +inline ::pg_query::Node* FieldStore::mutable_newvals(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.newvals) - return _impl_.newvals_.Mutable(index); + return _internal_mutable_newvals()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FieldStore::mutable_newvals() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_newvals() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.newvals) - return &_impl_.newvals_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_newvals(); } -inline const ::pg_query::Node& FieldStore::_internal_newvals(int index) const { - return _impl_.newvals_.Get(index); -} -inline const ::pg_query::Node& FieldStore::newvals(int index) const { +inline const ::pg_query::Node& FieldStore::newvals(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldStore.newvals) - return _internal_newvals(index); -} -inline ::pg_query::Node* FieldStore::_internal_add_newvals() { - return _impl_.newvals_.Add(); + return _internal_newvals().Get(index); } -inline ::pg_query::Node* FieldStore::add_newvals() { - ::pg_query::Node* _add = _internal_add_newvals(); +inline ::pg_query::Node* FieldStore::add_newvals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_newvals()->Add(); // @@protoc_insertion_point(field_add:pg_query.FieldStore.newvals) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FieldStore::newvals() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::newvals() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.FieldStore.newvals) + return _internal_newvals(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FieldStore::_internal_newvals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.newvals_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FieldStore::_internal_mutable_newvals() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.newvals_; +} // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"]; inline int FieldStore::_internal_fieldnums_size() const { - return _impl_.fieldnums_.size(); + return _internal_fieldnums().size(); } inline int FieldStore::fieldnums_size() const { return _internal_fieldnums_size(); } inline void FieldStore::clear_fieldnums() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.fieldnums_.Clear(); } -inline ::pg_query::Node* FieldStore::mutable_fieldnums(int index) { +inline ::pg_query::Node* FieldStore::mutable_fieldnums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.FieldStore.fieldnums) - return _impl_.fieldnums_.Mutable(index); + return _internal_mutable_fieldnums()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FieldStore::mutable_fieldnums() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FieldStore::mutable_fieldnums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.FieldStore.fieldnums) - return &_impl_.fieldnums_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fieldnums(); } -inline const ::pg_query::Node& FieldStore::_internal_fieldnums(int index) const { - return _impl_.fieldnums_.Get(index); -} -inline const ::pg_query::Node& FieldStore::fieldnums(int index) const { +inline const ::pg_query::Node& FieldStore::fieldnums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.FieldStore.fieldnums) - return _internal_fieldnums(index); -} -inline ::pg_query::Node* FieldStore::_internal_add_fieldnums() { - return _impl_.fieldnums_.Add(); + return _internal_fieldnums().Get(index); } -inline ::pg_query::Node* FieldStore::add_fieldnums() { - ::pg_query::Node* _add = _internal_add_fieldnums(); +inline ::pg_query::Node* FieldStore::add_fieldnums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fieldnums()->Add(); // @@protoc_insertion_point(field_add:pg_query.FieldStore.fieldnums) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FieldStore::fieldnums() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FieldStore::fieldnums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.FieldStore.fieldnums) + return _internal_fieldnums(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FieldStore::_internal_fieldnums() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.fieldnums_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FieldStore::_internal_mutable_fieldnums() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fieldnums_; +} // uint32 resulttype = 5 [json_name = "resulttype"]; inline void FieldStore::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t FieldStore::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t FieldStore::resulttype() const { +inline ::uint32_t FieldStore::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.FieldStore.resulttype) return _internal_resulttype(); } -inline void FieldStore::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void FieldStore::set_resulttype(uint32_t value) { +inline void FieldStore::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.FieldStore.resulttype) } +inline ::uint32_t FieldStore::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void FieldStore::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // ------------------------------------------------------------------- // RelabelType // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RelabelType::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool RelabelType::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void RelabelType::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& RelabelType::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RelabelType::xpr() const { +inline const ::pg_query::Node& RelabelType::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RelabelType.xpr) return _internal_xpr(); } -inline void RelabelType::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void RelabelType::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.xpr) } inline ::pg_query::Node* RelabelType::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* RelabelType::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RelabelType.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* RelabelType::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* RelabelType::mutable_xpr() { +inline ::pg_query::Node* RelabelType::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.xpr) return _msg; } -inline void RelabelType::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RelabelType::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool RelabelType::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool RelabelType::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void RelabelType::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& RelabelType::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RelabelType::arg() const { +inline const ::pg_query::Node& RelabelType::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RelabelType.arg) return _internal_arg(); } -inline void RelabelType::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void RelabelType::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RelabelType.arg) } inline ::pg_query::Node* RelabelType::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* RelabelType::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RelabelType.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* RelabelType::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* RelabelType::mutable_arg() { +inline ::pg_query::Node* RelabelType::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.RelabelType.arg) return _msg; } -inline void RelabelType::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RelabelType::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.RelabelType.arg) } // uint32 resulttype = 3 [json_name = "resulttype"]; inline void RelabelType::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t RelabelType::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t RelabelType::resulttype() const { +inline ::uint32_t RelabelType::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttype) return _internal_resulttype(); } -inline void RelabelType::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void RelabelType::set_resulttype(uint32_t value) { +inline void RelabelType::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttype) } +inline ::uint32_t RelabelType::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void RelabelType::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // int32 resulttypmod = 4 [json_name = "resulttypmod"]; inline void RelabelType::clear_resulttypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttypmod_ = 0; } -inline int32_t RelabelType::_internal_resulttypmod() const { - return _impl_.resulttypmod_; -} -inline int32_t RelabelType::resulttypmod() const { +inline ::int32_t RelabelType::resulttypmod() const { // @@protoc_insertion_point(field_get:pg_query.RelabelType.resulttypmod) return _internal_resulttypmod(); } -inline void RelabelType::_internal_set_resulttypmod(int32_t value) { - - _impl_.resulttypmod_ = value; -} -inline void RelabelType::set_resulttypmod(int32_t value) { +inline void RelabelType::set_resulttypmod(::int32_t value) { _internal_set_resulttypmod(value); // @@protoc_insertion_point(field_set:pg_query.RelabelType.resulttypmod) } +inline ::int32_t RelabelType::_internal_resulttypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttypmod_; +} +inline void RelabelType::_internal_set_resulttypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttypmod_ = value; +} // uint32 resultcollid = 5 [json_name = "resultcollid"]; inline void RelabelType::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resultcollid_ = 0u; } -inline uint32_t RelabelType::_internal_resultcollid() const { - return _impl_.resultcollid_; -} -inline uint32_t RelabelType::resultcollid() const { +inline ::uint32_t RelabelType::resultcollid() const { // @@protoc_insertion_point(field_get:pg_query.RelabelType.resultcollid) return _internal_resultcollid(); } -inline void RelabelType::_internal_set_resultcollid(uint32_t value) { - - _impl_.resultcollid_ = value; -} -inline void RelabelType::set_resultcollid(uint32_t value) { +inline void RelabelType::set_resultcollid(::uint32_t value) { _internal_set_resultcollid(value); // @@protoc_insertion_point(field_set:pg_query.RelabelType.resultcollid) } +inline ::uint32_t RelabelType::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; +} +inline void RelabelType::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; +} // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"]; inline void RelabelType::clear_relabelformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.relabelformat_ = 0; } -inline ::pg_query::CoercionForm RelabelType::_internal_relabelformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.relabelformat_); -} inline ::pg_query::CoercionForm RelabelType::relabelformat() const { // @@protoc_insertion_point(field_get:pg_query.RelabelType.relabelformat) return _internal_relabelformat(); } -inline void RelabelType::_internal_set_relabelformat(::pg_query::CoercionForm value) { - - _impl_.relabelformat_ = value; -} inline void RelabelType::set_relabelformat(::pg_query::CoercionForm value) { _internal_set_relabelformat(value); // @@protoc_insertion_point(field_set:pg_query.RelabelType.relabelformat) } +inline ::pg_query::CoercionForm RelabelType::_internal_relabelformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.relabelformat_); +} +inline void RelabelType::_internal_set_relabelformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relabelformat_ = value; +} // int32 location = 7 [json_name = "location"]; inline void RelabelType::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t RelabelType::_internal_location() const { - return _impl_.location_; -} -inline int32_t RelabelType::location() const { +inline ::int32_t RelabelType::location() const { // @@protoc_insertion_point(field_get:pg_query.RelabelType.location) return _internal_location(); } -inline void RelabelType::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void RelabelType::set_location(int32_t value) { +inline void RelabelType::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.RelabelType.location) } +inline ::int32_t RelabelType::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RelabelType::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // CoerceViaIO // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceViaIO::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CoerceViaIO::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CoerceViaIO::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CoerceViaIO::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceViaIO::xpr() const { +inline const ::pg_query::Node& CoerceViaIO::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.xpr) return _internal_xpr(); } -inline void CoerceViaIO::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CoerceViaIO::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.xpr) } inline ::pg_query::Node* CoerceViaIO::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CoerceViaIO::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CoerceViaIO::mutable_xpr() { +inline ::pg_query::Node* CoerceViaIO::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.xpr) return _msg; } -inline void CoerceViaIO::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CoerceViaIO::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CoerceViaIO::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool CoerceViaIO::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void CoerceViaIO::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& CoerceViaIO::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceViaIO::arg() const { +inline const ::pg_query::Node& CoerceViaIO::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.arg) return _internal_arg(); } -inline void CoerceViaIO::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void CoerceViaIO::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceViaIO.arg) } inline ::pg_query::Node* CoerceViaIO::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CoerceViaIO::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CoerceViaIO.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* CoerceViaIO::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* CoerceViaIO::mutable_arg() { +inline ::pg_query::Node* CoerceViaIO::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.CoerceViaIO.arg) return _msg; } -inline void CoerceViaIO::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CoerceViaIO::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceViaIO.arg) } // uint32 resulttype = 3 [json_name = "resulttype"]; inline void CoerceViaIO::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t CoerceViaIO::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t CoerceViaIO::resulttype() const { +inline ::uint32_t CoerceViaIO::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resulttype) return _internal_resulttype(); } -inline void CoerceViaIO::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void CoerceViaIO::set_resulttype(uint32_t value) { +inline void CoerceViaIO::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resulttype) } +inline ::uint32_t CoerceViaIO::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void CoerceViaIO::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // uint32 resultcollid = 4 [json_name = "resultcollid"]; inline void CoerceViaIO::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resultcollid_ = 0u; } -inline uint32_t CoerceViaIO::_internal_resultcollid() const { - return _impl_.resultcollid_; -} -inline uint32_t CoerceViaIO::resultcollid() const { +inline ::uint32_t CoerceViaIO::resultcollid() const { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.resultcollid) return _internal_resultcollid(); } -inline void CoerceViaIO::_internal_set_resultcollid(uint32_t value) { - - _impl_.resultcollid_ = value; -} -inline void CoerceViaIO::set_resultcollid(uint32_t value) { +inline void CoerceViaIO::set_resultcollid(::uint32_t value) { _internal_set_resultcollid(value); // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.resultcollid) } +inline ::uint32_t CoerceViaIO::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; +} +inline void CoerceViaIO::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; +} // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"]; inline void CoerceViaIO::clear_coerceformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coerceformat_ = 0; } -inline ::pg_query::CoercionForm CoerceViaIO::_internal_coerceformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.coerceformat_); -} inline ::pg_query::CoercionForm CoerceViaIO::coerceformat() const { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.coerceformat) return _internal_coerceformat(); } -inline void CoerceViaIO::_internal_set_coerceformat(::pg_query::CoercionForm value) { - - _impl_.coerceformat_ = value; -} inline void CoerceViaIO::set_coerceformat(::pg_query::CoercionForm value) { _internal_set_coerceformat(value); // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.coerceformat) } +inline ::pg_query::CoercionForm CoerceViaIO::_internal_coerceformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); +} +inline void CoerceViaIO::_internal_set_coerceformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coerceformat_ = value; +} // int32 location = 6 [json_name = "location"]; inline void CoerceViaIO::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t CoerceViaIO::_internal_location() const { - return _impl_.location_; -} -inline int32_t CoerceViaIO::location() const { +inline ::int32_t CoerceViaIO::location() const { // @@protoc_insertion_point(field_get:pg_query.CoerceViaIO.location) return _internal_location(); } -inline void CoerceViaIO::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CoerceViaIO::set_location(int32_t value) { +inline void CoerceViaIO::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.CoerceViaIO.location) } +inline ::int32_t CoerceViaIO::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CoerceViaIO::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // ArrayCoerceExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ArrayCoerceExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool ArrayCoerceExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void ArrayCoerceExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& ArrayCoerceExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayCoerceExpr::xpr() const { +inline const ::pg_query::Node& ArrayCoerceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.xpr) return _internal_xpr(); } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.xpr) } inline ::pg_query::Node* ArrayCoerceExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_xpr() { +inline ::pg_query::Node* ArrayCoerceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.xpr) return _msg; } -inline void ArrayCoerceExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ArrayCoerceExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool ArrayCoerceExpr::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool ArrayCoerceExpr::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void ArrayCoerceExpr::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& ArrayCoerceExpr::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayCoerceExpr::arg() const { +inline const ::pg_query::Node& ArrayCoerceExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.arg) return _internal_arg(); } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.arg) } inline ::pg_query::Node* ArrayCoerceExpr::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_arg() { +inline ::pg_query::Node* ArrayCoerceExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.arg) return _msg; } -inline void ArrayCoerceExpr::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ArrayCoerceExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.arg) } // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"]; -inline bool ArrayCoerceExpr::_internal_has_elemexpr() const { - return this != internal_default_instance() && _impl_.elemexpr_ != nullptr; -} inline bool ArrayCoerceExpr::has_elemexpr() const { - return _internal_has_elemexpr(); + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.elemexpr_ != nullptr); + return value; } inline void ArrayCoerceExpr::clear_elemexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.elemexpr_ != nullptr) { - delete _impl_.elemexpr_; - } - _impl_.elemexpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.elemexpr_ != nullptr) _impl_.elemexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::pg_query::Node& ArrayCoerceExpr::_internal_elemexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.elemexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayCoerceExpr::elemexpr() const { +inline const ::pg_query::Node& ArrayCoerceExpr::elemexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.elemexpr) return _internal_elemexpr(); } -inline void ArrayCoerceExpr::unsafe_arena_set_allocated_elemexpr( - ::pg_query::Node* elemexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.elemexpr_); +inline void ArrayCoerceExpr::unsafe_arena_set_allocated_elemexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.elemexpr_); } - _impl_.elemexpr_ = elemexpr; - if (elemexpr) { - + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) } inline ::pg_query::Node* ArrayCoerceExpr::release_elemexpr() { - - ::pg_query::Node* temp = _impl_.elemexpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.elemexpr_; _impl_.elemexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ArrayCoerceExpr::unsafe_arena_release_elemexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ArrayCoerceExpr.elemexpr) - + + _impl_._has_bits_[0] &= ~0x00000004u; ::pg_query::Node* temp = _impl_.elemexpr_; _impl_.elemexpr_ = nullptr; return temp; } inline ::pg_query::Node* ArrayCoerceExpr::_internal_mutable_elemexpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; if (_impl_.elemexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.elemexpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.elemexpr_; } -inline ::pg_query::Node* ArrayCoerceExpr::mutable_elemexpr() { +inline ::pg_query::Node* ArrayCoerceExpr::mutable_elemexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_elemexpr(); // @@protoc_insertion_point(field_mutable:pg_query.ArrayCoerceExpr.elemexpr) return _msg; } -inline void ArrayCoerceExpr::set_allocated_elemexpr(::pg_query::Node* elemexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ArrayCoerceExpr::set_allocated_elemexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.elemexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.elemexpr_); } - if (elemexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(elemexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - elemexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, elemexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.elemexpr_ = elemexpr; + + _impl_.elemexpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayCoerceExpr.elemexpr) } // uint32 resulttype = 4 [json_name = "resulttype"]; inline void ArrayCoerceExpr::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t ArrayCoerceExpr::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t ArrayCoerceExpr::resulttype() const { +inline ::uint32_t ArrayCoerceExpr::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttype) return _internal_resulttype(); } -inline void ArrayCoerceExpr::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void ArrayCoerceExpr::set_resulttype(uint32_t value) { +inline void ArrayCoerceExpr::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttype) } +inline ::uint32_t ArrayCoerceExpr::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void ArrayCoerceExpr::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // int32 resulttypmod = 5 [json_name = "resulttypmod"]; inline void ArrayCoerceExpr::clear_resulttypmod() { - _impl_.resulttypmod_ = 0; -} -inline int32_t ArrayCoerceExpr::_internal_resulttypmod() const { - return _impl_.resulttypmod_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resulttypmod_ = 0; } -inline int32_t ArrayCoerceExpr::resulttypmod() const { +inline ::int32_t ArrayCoerceExpr::resulttypmod() const { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resulttypmod) return _internal_resulttypmod(); } -inline void ArrayCoerceExpr::_internal_set_resulttypmod(int32_t value) { - - _impl_.resulttypmod_ = value; -} -inline void ArrayCoerceExpr::set_resulttypmod(int32_t value) { +inline void ArrayCoerceExpr::set_resulttypmod(::int32_t value) { _internal_set_resulttypmod(value); // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resulttypmod) } +inline ::int32_t ArrayCoerceExpr::_internal_resulttypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttypmod_; +} +inline void ArrayCoerceExpr::_internal_set_resulttypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttypmod_ = value; +} // uint32 resultcollid = 6 [json_name = "resultcollid"]; inline void ArrayCoerceExpr::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resultcollid_ = 0u; } -inline uint32_t ArrayCoerceExpr::_internal_resultcollid() const { - return _impl_.resultcollid_; -} -inline uint32_t ArrayCoerceExpr::resultcollid() const { +inline ::uint32_t ArrayCoerceExpr::resultcollid() const { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.resultcollid) return _internal_resultcollid(); } -inline void ArrayCoerceExpr::_internal_set_resultcollid(uint32_t value) { - - _impl_.resultcollid_ = value; -} -inline void ArrayCoerceExpr::set_resultcollid(uint32_t value) { +inline void ArrayCoerceExpr::set_resultcollid(::uint32_t value) { _internal_set_resultcollid(value); // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.resultcollid) } +inline ::uint32_t ArrayCoerceExpr::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; +} +inline void ArrayCoerceExpr::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; +} // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"]; inline void ArrayCoerceExpr::clear_coerceformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coerceformat_ = 0; } -inline ::pg_query::CoercionForm ArrayCoerceExpr::_internal_coerceformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.coerceformat_); -} inline ::pg_query::CoercionForm ArrayCoerceExpr::coerceformat() const { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.coerceformat) return _internal_coerceformat(); } -inline void ArrayCoerceExpr::_internal_set_coerceformat(::pg_query::CoercionForm value) { - - _impl_.coerceformat_ = value; -} inline void ArrayCoerceExpr::set_coerceformat(::pg_query::CoercionForm value) { _internal_set_coerceformat(value); // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.coerceformat) } +inline ::pg_query::CoercionForm ArrayCoerceExpr::_internal_coerceformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.coerceformat_); +} +inline void ArrayCoerceExpr::_internal_set_coerceformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coerceformat_ = value; +} // int32 location = 8 [json_name = "location"]; inline void ArrayCoerceExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t ArrayCoerceExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t ArrayCoerceExpr::location() const { +inline ::int32_t ArrayCoerceExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.ArrayCoerceExpr.location) return _internal_location(); } -inline void ArrayCoerceExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void ArrayCoerceExpr::set_location(int32_t value) { +inline void ArrayCoerceExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.ArrayCoerceExpr.location) } +inline ::int32_t ArrayCoerceExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ArrayCoerceExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // ConvertRowtypeExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ConvertRowtypeExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool ConvertRowtypeExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void ConvertRowtypeExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ConvertRowtypeExpr::xpr() const { +inline const ::pg_query::Node& ConvertRowtypeExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.xpr) return _internal_xpr(); } -inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.xpr) } inline ::pg_query::Node* ConvertRowtypeExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* ConvertRowtypeExpr::mutable_xpr() { +inline ::pg_query::Node* ConvertRowtypeExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.xpr) return _msg; } -inline void ConvertRowtypeExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ConvertRowtypeExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool ConvertRowtypeExpr::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool ConvertRowtypeExpr::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void ConvertRowtypeExpr::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& ConvertRowtypeExpr::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ConvertRowtypeExpr::arg() const { +inline const ::pg_query::Node& ConvertRowtypeExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.arg) return _internal_arg(); } -inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void ConvertRowtypeExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ConvertRowtypeExpr.arg) } inline ::pg_query::Node* ConvertRowtypeExpr::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ConvertRowtypeExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ConvertRowtypeExpr.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* ConvertRowtypeExpr::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* ConvertRowtypeExpr::mutable_arg() { +inline ::pg_query::Node* ConvertRowtypeExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.ConvertRowtypeExpr.arg) return _msg; } -inline void ConvertRowtypeExpr::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ConvertRowtypeExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ConvertRowtypeExpr.arg) } // uint32 resulttype = 3 [json_name = "resulttype"]; inline void ConvertRowtypeExpr::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.resulttype_ = 0u; } -inline uint32_t ConvertRowtypeExpr::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t ConvertRowtypeExpr::resulttype() const { +inline ::uint32_t ConvertRowtypeExpr::resulttype() const { // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.resulttype) return _internal_resulttype(); } -inline void ConvertRowtypeExpr::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void ConvertRowtypeExpr::set_resulttype(uint32_t value) { +inline void ConvertRowtypeExpr::set_resulttype(::uint32_t value) { _internal_set_resulttype(value); // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.resulttype) } +inline ::uint32_t ConvertRowtypeExpr::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void ConvertRowtypeExpr::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"]; inline void ConvertRowtypeExpr::clear_convertformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.convertformat_ = 0; } -inline ::pg_query::CoercionForm ConvertRowtypeExpr::_internal_convertformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.convertformat_); -} inline ::pg_query::CoercionForm ConvertRowtypeExpr::convertformat() const { // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.convertformat) return _internal_convertformat(); } -inline void ConvertRowtypeExpr::_internal_set_convertformat(::pg_query::CoercionForm value) { - - _impl_.convertformat_ = value; -} inline void ConvertRowtypeExpr::set_convertformat(::pg_query::CoercionForm value) { _internal_set_convertformat(value); // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.convertformat) } +inline ::pg_query::CoercionForm ConvertRowtypeExpr::_internal_convertformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.convertformat_); +} +inline void ConvertRowtypeExpr::_internal_set_convertformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.convertformat_ = value; +} // int32 location = 5 [json_name = "location"]; inline void ConvertRowtypeExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t ConvertRowtypeExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t ConvertRowtypeExpr::location() const { +inline ::int32_t ConvertRowtypeExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.ConvertRowtypeExpr.location) return _internal_location(); } -inline void ConvertRowtypeExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void ConvertRowtypeExpr::set_location(int32_t value) { +inline void ConvertRowtypeExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.ConvertRowtypeExpr.location) } +inline ::int32_t ConvertRowtypeExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ConvertRowtypeExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // CollateExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CollateExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CollateExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CollateExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CollateExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CollateExpr::xpr() const { +inline const ::pg_query::Node& CollateExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CollateExpr.xpr) return _internal_xpr(); } -inline void CollateExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CollateExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.xpr) } inline ::pg_query::Node* CollateExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CollateExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CollateExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CollateExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CollateExpr::mutable_xpr() { +inline ::pg_query::Node* CollateExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.xpr) return _msg; } -inline void CollateExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CollateExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.xpr) } // .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CollateExpr::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool CollateExpr::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void CollateExpr::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& CollateExpr::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CollateExpr::arg() const { +inline const ::pg_query::Node& CollateExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CollateExpr.arg) return _internal_arg(); } -inline void CollateExpr::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void CollateExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateExpr.arg) } inline ::pg_query::Node* CollateExpr::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CollateExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CollateExpr.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* CollateExpr::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* CollateExpr::mutable_arg() { +inline ::pg_query::Node* CollateExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.CollateExpr.arg) return _msg; } -inline void CollateExpr::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CollateExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CollateExpr.arg) } // uint32 coll_oid = 3 [json_name = "collOid"]; inline void CollateExpr::clear_coll_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coll_oid_ = 0u; } -inline uint32_t CollateExpr::_internal_coll_oid() const { - return _impl_.coll_oid_; -} -inline uint32_t CollateExpr::coll_oid() const { +inline ::uint32_t CollateExpr::coll_oid() const { // @@protoc_insertion_point(field_get:pg_query.CollateExpr.coll_oid) return _internal_coll_oid(); } -inline void CollateExpr::_internal_set_coll_oid(uint32_t value) { - - _impl_.coll_oid_ = value; -} -inline void CollateExpr::set_coll_oid(uint32_t value) { +inline void CollateExpr::set_coll_oid(::uint32_t value) { _internal_set_coll_oid(value); // @@protoc_insertion_point(field_set:pg_query.CollateExpr.coll_oid) } +inline ::uint32_t CollateExpr::_internal_coll_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coll_oid_; +} +inline void CollateExpr::_internal_set_coll_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coll_oid_ = value; +} // int32 location = 4 [json_name = "location"]; inline void CollateExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t CollateExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t CollateExpr::location() const { +inline ::int32_t CollateExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.CollateExpr.location) return _internal_location(); } -inline void CollateExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CollateExpr::set_location(int32_t value) { +inline void CollateExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.CollateExpr.location) } +inline ::int32_t CollateExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CollateExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // CaseExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CaseExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CaseExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CaseExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::xpr() const { +inline const ::pg_query::Node& CaseExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.xpr) return _internal_xpr(); } -inline void CaseExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CaseExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.xpr) } inline ::pg_query::Node* CaseExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CaseExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CaseExpr::mutable_xpr() { +inline ::pg_query::Node* CaseExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.xpr) return _msg; } -inline void CaseExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.xpr) } // uint32 casetype = 2 [json_name = "casetype"]; inline void CaseExpr::clear_casetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.casetype_ = 0u; } -inline uint32_t CaseExpr::_internal_casetype() const { - return _impl_.casetype_; -} -inline uint32_t CaseExpr::casetype() const { +inline ::uint32_t CaseExpr::casetype() const { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casetype) return _internal_casetype(); } -inline void CaseExpr::_internal_set_casetype(uint32_t value) { - - _impl_.casetype_ = value; -} -inline void CaseExpr::set_casetype(uint32_t value) { +inline void CaseExpr::set_casetype(::uint32_t value) { _internal_set_casetype(value); // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casetype) } +inline ::uint32_t CaseExpr::_internal_casetype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.casetype_; +} +inline void CaseExpr::_internal_set_casetype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.casetype_ = value; +} // uint32 casecollid = 3 [json_name = "casecollid"]; inline void CaseExpr::clear_casecollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.casecollid_ = 0u; } -inline uint32_t CaseExpr::_internal_casecollid() const { - return _impl_.casecollid_; -} -inline uint32_t CaseExpr::casecollid() const { +inline ::uint32_t CaseExpr::casecollid() const { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.casecollid) return _internal_casecollid(); } -inline void CaseExpr::_internal_set_casecollid(uint32_t value) { - - _impl_.casecollid_ = value; -} -inline void CaseExpr::set_casecollid(uint32_t value) { +inline void CaseExpr::set_casecollid(::uint32_t value) { _internal_set_casecollid(value); // @@protoc_insertion_point(field_set:pg_query.CaseExpr.casecollid) } +inline ::uint32_t CaseExpr::_internal_casecollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.casecollid_; +} +inline void CaseExpr::_internal_set_casecollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.casecollid_ = value; +} // .pg_query.Node arg = 4 [json_name = "arg"]; -inline bool CaseExpr::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} inline bool CaseExpr::has_arg() const { - return _internal_has_arg(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } inline void CaseExpr::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& CaseExpr::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::arg() const { +inline const ::pg_query::Node& CaseExpr::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.arg) return _internal_arg(); } -inline void CaseExpr::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void CaseExpr::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.arg) } inline ::pg_query::Node* CaseExpr::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseExpr::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseExpr.arg) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.arg_; _impl_.arg_ = nullptr; return temp; } inline ::pg_query::Node* CaseExpr::_internal_mutable_arg() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.arg_; } -inline ::pg_query::Node* CaseExpr::mutable_arg() { +inline ::pg_query::Node* CaseExpr::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_arg(); // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.arg) return _msg; } -inline void CaseExpr::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseExpr::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.arg) } // repeated .pg_query.Node args = 5 [json_name = "args"]; inline int CaseExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int CaseExpr::args_size() const { return _internal_args_size(); } inline void CaseExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* CaseExpr::mutable_args(int index) { +inline ::pg_query::Node* CaseExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CaseExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CaseExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.CaseExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& CaseExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& CaseExpr::args(int index) const { +inline const ::pg_query::Node& CaseExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* CaseExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* CaseExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* CaseExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.CaseExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CaseExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CaseExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.CaseExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CaseExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CaseExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // .pg_query.Node defresult = 6 [json_name = "defresult"]; -inline bool CaseExpr::_internal_has_defresult() const { - return this != internal_default_instance() && _impl_.defresult_ != nullptr; -} inline bool CaseExpr::has_defresult() const { - return _internal_has_defresult(); + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.defresult_ != nullptr); + return value; } inline void CaseExpr::clear_defresult() { - if (GetArenaForAllocation() == nullptr && _impl_.defresult_ != nullptr) { - delete _impl_.defresult_; - } - _impl_.defresult_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.defresult_ != nullptr) _impl_.defresult_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::pg_query::Node& CaseExpr::_internal_defresult() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.defresult_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseExpr::defresult() const { +inline const ::pg_query::Node& CaseExpr::defresult() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.defresult) return _internal_defresult(); } -inline void CaseExpr::unsafe_arena_set_allocated_defresult( - ::pg_query::Node* defresult) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.defresult_); +inline void CaseExpr::unsafe_arena_set_allocated_defresult(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.defresult_); } - _impl_.defresult_ = defresult; - if (defresult) { - + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseExpr.defresult) } inline ::pg_query::Node* CaseExpr::release_defresult() { - - ::pg_query::Node* temp = _impl_.defresult_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.defresult_; _impl_.defresult_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseExpr::unsafe_arena_release_defresult() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseExpr.defresult) - + + _impl_._has_bits_[0] &= ~0x00000004u; ::pg_query::Node* temp = _impl_.defresult_; _impl_.defresult_ = nullptr; return temp; } inline ::pg_query::Node* CaseExpr::_internal_mutable_defresult() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; if (_impl_.defresult_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.defresult_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.defresult_; } -inline ::pg_query::Node* CaseExpr::mutable_defresult() { +inline ::pg_query::Node* CaseExpr::mutable_defresult() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_defresult(); // @@protoc_insertion_point(field_mutable:pg_query.CaseExpr.defresult) return _msg; } -inline void CaseExpr::set_allocated_defresult(::pg_query::Node* defresult) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseExpr::set_allocated_defresult(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.defresult_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.defresult_); } - if (defresult) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(defresult); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - defresult = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, defresult, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.defresult_ = defresult; + + _impl_.defresult_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseExpr.defresult) } // int32 location = 7 [json_name = "location"]; inline void CaseExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t CaseExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t CaseExpr::location() const { +inline ::int32_t CaseExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.CaseExpr.location) return _internal_location(); } -inline void CaseExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CaseExpr::set_location(int32_t value) { +inline void CaseExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.CaseExpr.location) } +inline ::int32_t CaseExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CaseExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // CaseWhen // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseWhen::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CaseWhen::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CaseWhen::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CaseWhen::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseWhen::xpr() const { +inline const ::pg_query::Node& CaseWhen::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseWhen.xpr) return _internal_xpr(); } -inline void CaseWhen::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CaseWhen::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.xpr) } inline ::pg_query::Node* CaseWhen::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseWhen::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseWhen.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CaseWhen::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CaseWhen::mutable_xpr() { +inline ::pg_query::Node* CaseWhen::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.xpr) return _msg; } -inline void CaseWhen::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseWhen::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.xpr) } // .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool CaseWhen::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; -} inline bool CaseWhen::has_expr() const { - return _internal_has_expr(); + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } inline void CaseWhen::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } inline const ::pg_query::Node& CaseWhen::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseWhen::expr() const { +inline const ::pg_query::Node& CaseWhen::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseWhen.expr) return _internal_expr(); } -inline void CaseWhen::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void CaseWhen::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.expr) } inline ::pg_query::Node* CaseWhen::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.expr_; _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseWhen::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseWhen.expr) - + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.expr_; _impl_.expr_ = nullptr; return temp; } inline ::pg_query::Node* CaseWhen::_internal_mutable_expr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.expr_; } -inline ::pg_query::Node* CaseWhen::mutable_expr() { +inline ::pg_query::Node* CaseWhen::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_expr(); // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.expr) return _msg; } -inline void CaseWhen::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseWhen::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.expr_ = expr; + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.expr) } // .pg_query.Node result = 3 [json_name = "result"]; -inline bool CaseWhen::_internal_has_result() const { - return this != internal_default_instance() && _impl_.result_ != nullptr; -} inline bool CaseWhen::has_result() const { - return _internal_has_result(); + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.result_ != nullptr); + return value; } inline void CaseWhen::clear_result() { - if (GetArenaForAllocation() == nullptr && _impl_.result_ != nullptr) { - delete _impl_.result_; - } - _impl_.result_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.result_ != nullptr) _impl_.result_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::pg_query::Node& CaseWhen::_internal_result() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.result_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseWhen::result() const { +inline const ::pg_query::Node& CaseWhen::result() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseWhen.result) return _internal_result(); } -inline void CaseWhen::unsafe_arena_set_allocated_result( - ::pg_query::Node* result) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.result_); +inline void CaseWhen::unsafe_arena_set_allocated_result(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.result_); } - _impl_.result_ = result; - if (result) { - + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseWhen.result) } inline ::pg_query::Node* CaseWhen::release_result() { - - ::pg_query::Node* temp = _impl_.result_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.result_; _impl_.result_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseWhen::unsafe_arena_release_result() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseWhen.result) - + + _impl_._has_bits_[0] &= ~0x00000004u; ::pg_query::Node* temp = _impl_.result_; _impl_.result_ = nullptr; return temp; } inline ::pg_query::Node* CaseWhen::_internal_mutable_result() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; if (_impl_.result_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.result_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.result_; } -inline ::pg_query::Node* CaseWhen::mutable_result() { +inline ::pg_query::Node* CaseWhen::mutable_result() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_result(); // @@protoc_insertion_point(field_mutable:pg_query.CaseWhen.result) return _msg; } -inline void CaseWhen::set_allocated_result(::pg_query::Node* result) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseWhen::set_allocated_result(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.result_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.result_); } - if (result) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(result); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - result = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, result, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.result_ = result; + + _impl_.result_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseWhen.result) } // int32 location = 4 [json_name = "location"]; inline void CaseWhen::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t CaseWhen::_internal_location() const { - return _impl_.location_; -} -inline int32_t CaseWhen::location() const { +inline ::int32_t CaseWhen::location() const { // @@protoc_insertion_point(field_get:pg_query.CaseWhen.location) return _internal_location(); } -inline void CaseWhen::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CaseWhen::set_location(int32_t value) { +inline void CaseWhen::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.CaseWhen.location) } +inline ::int32_t CaseWhen::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CaseWhen::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // CaseTestExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CaseTestExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CaseTestExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CaseTestExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CaseTestExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CaseTestExpr::xpr() const { +inline const ::pg_query::Node& CaseTestExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.xpr) return _internal_xpr(); } -inline void CaseTestExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CaseTestExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CaseTestExpr.xpr) } inline ::pg_query::Node* CaseTestExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CaseTestExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CaseTestExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CaseTestExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CaseTestExpr::mutable_xpr() { +inline ::pg_query::Node* CaseTestExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CaseTestExpr.xpr) return _msg; } -inline void CaseTestExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CaseTestExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CaseTestExpr.xpr) } // uint32 type_id = 2 [json_name = "typeId"]; inline void CaseTestExpr::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.type_id_ = 0u; } -inline uint32_t CaseTestExpr::_internal_type_id() const { - return _impl_.type_id_; -} -inline uint32_t CaseTestExpr::type_id() const { +inline ::uint32_t CaseTestExpr::type_id() const { // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_id) return _internal_type_id(); } -inline void CaseTestExpr::_internal_set_type_id(uint32_t value) { - - _impl_.type_id_ = value; -} -inline void CaseTestExpr::set_type_id(uint32_t value) { +inline void CaseTestExpr::set_type_id(::uint32_t value) { _internal_set_type_id(value); // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_id) } +inline ::uint32_t CaseTestExpr::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; +} +inline void CaseTestExpr::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; +} // int32 type_mod = 3 [json_name = "typeMod"]; inline void CaseTestExpr::clear_type_mod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.type_mod_ = 0; } -inline int32_t CaseTestExpr::_internal_type_mod() const { - return _impl_.type_mod_; -} -inline int32_t CaseTestExpr::type_mod() const { +inline ::int32_t CaseTestExpr::type_mod() const { // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.type_mod) return _internal_type_mod(); } -inline void CaseTestExpr::_internal_set_type_mod(int32_t value) { - - _impl_.type_mod_ = value; -} -inline void CaseTestExpr::set_type_mod(int32_t value) { +inline void CaseTestExpr::set_type_mod(::int32_t value) { _internal_set_type_mod(value); // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.type_mod) } +inline ::int32_t CaseTestExpr::_internal_type_mod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_mod_; +} +inline void CaseTestExpr::_internal_set_type_mod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_mod_ = value; +} // uint32 collation = 4 [json_name = "collation"]; inline void CaseTestExpr::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.collation_ = 0u; } -inline uint32_t CaseTestExpr::_internal_collation() const { - return _impl_.collation_; -} -inline uint32_t CaseTestExpr::collation() const { +inline ::uint32_t CaseTestExpr::collation() const { // @@protoc_insertion_point(field_get:pg_query.CaseTestExpr.collation) return _internal_collation(); } -inline void CaseTestExpr::_internal_set_collation(uint32_t value) { - - _impl_.collation_ = value; -} -inline void CaseTestExpr::set_collation(uint32_t value) { +inline void CaseTestExpr::set_collation(::uint32_t value) { _internal_set_collation(value); // @@protoc_insertion_point(field_set:pg_query.CaseTestExpr.collation) } +inline ::uint32_t CaseTestExpr::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; +} +inline void CaseTestExpr::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; +} // ------------------------------------------------------------------- // ArrayExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool ArrayExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool ArrayExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void ArrayExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& ArrayExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& ArrayExpr::xpr() const { +inline const ::pg_query::Node& ArrayExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.xpr) return _internal_xpr(); } -inline void ArrayExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void ArrayExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ArrayExpr.xpr) } inline ::pg_query::Node* ArrayExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* ArrayExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.ArrayExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* ArrayExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* ArrayExpr::mutable_xpr() { +inline ::pg_query::Node* ArrayExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.xpr) return _msg; } -inline void ArrayExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ArrayExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.ArrayExpr.xpr) } // uint32 array_typeid = 2 [json_name = "array_typeid"]; inline void ArrayExpr::clear_array_typeid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.array_typeid_ = 0u; } -inline uint32_t ArrayExpr::_internal_array_typeid() const { - return _impl_.array_typeid_; -} -inline uint32_t ArrayExpr::array_typeid() const { +inline ::uint32_t ArrayExpr::array_typeid() const { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_typeid) return _internal_array_typeid(); } -inline void ArrayExpr::_internal_set_array_typeid(uint32_t value) { - - _impl_.array_typeid_ = value; -} -inline void ArrayExpr::set_array_typeid(uint32_t value) { +inline void ArrayExpr::set_array_typeid(::uint32_t value) { _internal_set_array_typeid(value); // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_typeid) } +inline ::uint32_t ArrayExpr::_internal_array_typeid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.array_typeid_; +} +inline void ArrayExpr::_internal_set_array_typeid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.array_typeid_ = value; +} // uint32 array_collid = 3 [json_name = "array_collid"]; inline void ArrayExpr::clear_array_collid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.array_collid_ = 0u; } -inline uint32_t ArrayExpr::_internal_array_collid() const { - return _impl_.array_collid_; -} -inline uint32_t ArrayExpr::array_collid() const { +inline ::uint32_t ArrayExpr::array_collid() const { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.array_collid) return _internal_array_collid(); } -inline void ArrayExpr::_internal_set_array_collid(uint32_t value) { - - _impl_.array_collid_ = value; -} -inline void ArrayExpr::set_array_collid(uint32_t value) { +inline void ArrayExpr::set_array_collid(::uint32_t value) { _internal_set_array_collid(value); // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.array_collid) } +inline ::uint32_t ArrayExpr::_internal_array_collid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.array_collid_; +} +inline void ArrayExpr::_internal_set_array_collid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.array_collid_ = value; +} // uint32 element_typeid = 4 [json_name = "element_typeid"]; inline void ArrayExpr::clear_element_typeid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.element_typeid_ = 0u; } -inline uint32_t ArrayExpr::_internal_element_typeid() const { - return _impl_.element_typeid_; -} -inline uint32_t ArrayExpr::element_typeid() const { +inline ::uint32_t ArrayExpr::element_typeid() const { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.element_typeid) return _internal_element_typeid(); } -inline void ArrayExpr::_internal_set_element_typeid(uint32_t value) { - - _impl_.element_typeid_ = value; -} -inline void ArrayExpr::set_element_typeid(uint32_t value) { +inline void ArrayExpr::set_element_typeid(::uint32_t value) { _internal_set_element_typeid(value); // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.element_typeid) } +inline ::uint32_t ArrayExpr::_internal_element_typeid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.element_typeid_; +} +inline void ArrayExpr::_internal_set_element_typeid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.element_typeid_ = value; +} // repeated .pg_query.Node elements = 5 [json_name = "elements"]; inline int ArrayExpr::_internal_elements_size() const { - return _impl_.elements_.size(); + return _internal_elements().size(); } inline int ArrayExpr::elements_size() const { return _internal_elements_size(); } inline void ArrayExpr::clear_elements() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.elements_.Clear(); } -inline ::pg_query::Node* ArrayExpr::mutable_elements(int index) { +inline ::pg_query::Node* ArrayExpr::mutable_elements(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.ArrayExpr.elements) - return _impl_.elements_.Mutable(index); + return _internal_mutable_elements()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ArrayExpr::mutable_elements() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ArrayExpr::mutable_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.ArrayExpr.elements) - return &_impl_.elements_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_elements(); } -inline const ::pg_query::Node& ArrayExpr::_internal_elements(int index) const { - return _impl_.elements_.Get(index); -} -inline const ::pg_query::Node& ArrayExpr::elements(int index) const { +inline const ::pg_query::Node& ArrayExpr::elements(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.elements) - return _internal_elements(index); -} -inline ::pg_query::Node* ArrayExpr::_internal_add_elements() { - return _impl_.elements_.Add(); + return _internal_elements().Get(index); } -inline ::pg_query::Node* ArrayExpr::add_elements() { - ::pg_query::Node* _add = _internal_add_elements(); +inline ::pg_query::Node* ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_elements()->Add(); // @@protoc_insertion_point(field_add:pg_query.ArrayExpr.elements) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ArrayExpr::elements() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ArrayExpr::elements() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.ArrayExpr.elements) + return _internal_elements(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ArrayExpr::_internal_elements() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.elements_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ArrayExpr::_internal_mutable_elements() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.elements_; +} // bool multidims = 6 [json_name = "multidims"]; inline void ArrayExpr::clear_multidims() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.multidims_ = false; } -inline bool ArrayExpr::_internal_multidims() const { - return _impl_.multidims_; -} inline bool ArrayExpr::multidims() const { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.multidims) return _internal_multidims(); } -inline void ArrayExpr::_internal_set_multidims(bool value) { - - _impl_.multidims_ = value; -} inline void ArrayExpr::set_multidims(bool value) { _internal_set_multidims(value); // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.multidims) } +inline bool ArrayExpr::_internal_multidims() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.multidims_; +} +inline void ArrayExpr::_internal_set_multidims(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.multidims_ = value; +} // int32 location = 7 [json_name = "location"]; inline void ArrayExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t ArrayExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t ArrayExpr::location() const { +inline ::int32_t ArrayExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.ArrayExpr.location) return _internal_location(); } -inline void ArrayExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void ArrayExpr::set_location(int32_t value) { +inline void ArrayExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.ArrayExpr.location) } +inline ::int32_t ArrayExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void ArrayExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // RowExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RowExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool RowExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void RowExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& RowExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RowExpr::xpr() const { +inline const ::pg_query::Node& RowExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowExpr.xpr) return _internal_xpr(); } -inline void RowExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void RowExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowExpr.xpr) } inline ::pg_query::Node* RowExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* RowExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RowExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* RowExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* RowExpr::mutable_xpr() { +inline ::pg_query::Node* RowExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.xpr) return _msg; } -inline void RowExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RowExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.RowExpr.xpr) } // repeated .pg_query.Node args = 2 [json_name = "args"]; inline int RowExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int RowExpr::args_size() const { return _internal_args_size(); } inline void RowExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* RowExpr::mutable_args(int index) { +inline ::pg_query::Node* RowExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& RowExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& RowExpr::args(int index) const { +inline const ::pg_query::Node& RowExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* RowExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* RowExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* RowExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // uint32 row_typeid = 3 [json_name = "row_typeid"]; inline void RowExpr::clear_row_typeid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.row_typeid_ = 0u; } -inline uint32_t RowExpr::_internal_row_typeid() const { - return _impl_.row_typeid_; -} -inline uint32_t RowExpr::row_typeid() const { +inline ::uint32_t RowExpr::row_typeid() const { // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_typeid) return _internal_row_typeid(); } -inline void RowExpr::_internal_set_row_typeid(uint32_t value) { - - _impl_.row_typeid_ = value; -} -inline void RowExpr::set_row_typeid(uint32_t value) { +inline void RowExpr::set_row_typeid(::uint32_t value) { _internal_set_row_typeid(value); // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_typeid) } +inline ::uint32_t RowExpr::_internal_row_typeid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.row_typeid_; +} +inline void RowExpr::_internal_set_row_typeid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.row_typeid_ = value; +} // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"]; inline void RowExpr::clear_row_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.row_format_ = 0; } -inline ::pg_query::CoercionForm RowExpr::_internal_row_format() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.row_format_); -} inline ::pg_query::CoercionForm RowExpr::row_format() const { // @@protoc_insertion_point(field_get:pg_query.RowExpr.row_format) return _internal_row_format(); } -inline void RowExpr::_internal_set_row_format(::pg_query::CoercionForm value) { - - _impl_.row_format_ = value; -} inline void RowExpr::set_row_format(::pg_query::CoercionForm value) { _internal_set_row_format(value); // @@protoc_insertion_point(field_set:pg_query.RowExpr.row_format) } +inline ::pg_query::CoercionForm RowExpr::_internal_row_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.row_format_); +} +inline void RowExpr::_internal_set_row_format(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.row_format_ = value; +} // repeated .pg_query.Node colnames = 5 [json_name = "colnames"]; inline int RowExpr::_internal_colnames_size() const { - return _impl_.colnames_.size(); + return _internal_colnames().size(); } inline int RowExpr::colnames_size() const { return _internal_colnames_size(); } inline void RowExpr::clear_colnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.colnames_.Clear(); } -inline ::pg_query::Node* RowExpr::mutable_colnames(int index) { +inline ::pg_query::Node* RowExpr::mutable_colnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowExpr.colnames) - return _impl_.colnames_.Mutable(index); + return _internal_mutable_colnames()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowExpr::mutable_colnames() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowExpr::mutable_colnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowExpr.colnames) - return &_impl_.colnames_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colnames(); } -inline const ::pg_query::Node& RowExpr::_internal_colnames(int index) const { - return _impl_.colnames_.Get(index); -} -inline const ::pg_query::Node& RowExpr::colnames(int index) const { +inline const ::pg_query::Node& RowExpr::colnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowExpr.colnames) - return _internal_colnames(index); -} -inline ::pg_query::Node* RowExpr::_internal_add_colnames() { - return _impl_.colnames_.Add(); + return _internal_colnames().Get(index); } -inline ::pg_query::Node* RowExpr::add_colnames() { - ::pg_query::Node* _add = _internal_add_colnames(); +inline ::pg_query::Node* RowExpr::add_colnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colnames()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowExpr.colnames) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowExpr::colnames() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowExpr::colnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowExpr.colnames) + return _internal_colnames(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowExpr::_internal_colnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.colnames_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowExpr::_internal_mutable_colnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colnames_; +} // int32 location = 6 [json_name = "location"]; inline void RowExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t RowExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t RowExpr::location() const { +inline ::int32_t RowExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.RowExpr.location) return _internal_location(); } -inline void RowExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void RowExpr::set_location(int32_t value) { +inline void RowExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.RowExpr.location) } +inline ::int32_t RowExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RowExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // RowCompareExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool RowCompareExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool RowCompareExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void RowCompareExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& RowCompareExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RowCompareExpr::xpr() const { +inline const ::pg_query::Node& RowCompareExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.xpr) return _internal_xpr(); } -inline void RowCompareExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void RowCompareExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RowCompareExpr.xpr) } inline ::pg_query::Node* RowCompareExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* RowCompareExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.RowCompareExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* RowCompareExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* RowCompareExpr::mutable_xpr() { +inline ::pg_query::Node* RowCompareExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.xpr) return _msg; } -inline void RowCompareExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RowCompareExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.RowCompareExpr.xpr) } // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"]; inline void RowCompareExpr::clear_rctype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.rctype_ = 0; } -inline ::pg_query::RowCompareType RowCompareExpr::_internal_rctype() const { - return static_cast< ::pg_query::RowCompareType >(_impl_.rctype_); -} inline ::pg_query::RowCompareType RowCompareExpr::rctype() const { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rctype) return _internal_rctype(); } -inline void RowCompareExpr::_internal_set_rctype(::pg_query::RowCompareType value) { - - _impl_.rctype_ = value; -} inline void RowCompareExpr::set_rctype(::pg_query::RowCompareType value) { _internal_set_rctype(value); // @@protoc_insertion_point(field_set:pg_query.RowCompareExpr.rctype) } +inline ::pg_query::RowCompareType RowCompareExpr::_internal_rctype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::RowCompareType>(_impl_.rctype_); +} +inline void RowCompareExpr::_internal_set_rctype(::pg_query::RowCompareType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rctype_ = value; +} // repeated .pg_query.Node opnos = 3 [json_name = "opnos"]; inline int RowCompareExpr::_internal_opnos_size() const { - return _impl_.opnos_.size(); + return _internal_opnos().size(); } inline int RowCompareExpr::opnos_size() const { return _internal_opnos_size(); } inline void RowCompareExpr::clear_opnos() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opnos_.Clear(); } -inline ::pg_query::Node* RowCompareExpr::mutable_opnos(int index) { +inline ::pg_query::Node* RowCompareExpr::mutable_opnos(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opnos) - return _impl_.opnos_.Mutable(index); + return _internal_mutable_opnos()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowCompareExpr::mutable_opnos() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opnos() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opnos) - return &_impl_.opnos_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opnos(); } -inline const ::pg_query::Node& RowCompareExpr::_internal_opnos(int index) const { - return _impl_.opnos_.Get(index); -} -inline const ::pg_query::Node& RowCompareExpr::opnos(int index) const { +inline const ::pg_query::Node& RowCompareExpr::opnos(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opnos) - return _internal_opnos(index); -} -inline ::pg_query::Node* RowCompareExpr::_internal_add_opnos() { - return _impl_.opnos_.Add(); + return _internal_opnos().Get(index); } -inline ::pg_query::Node* RowCompareExpr::add_opnos() { - ::pg_query::Node* _add = _internal_add_opnos(); +inline ::pg_query::Node* RowCompareExpr::add_opnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opnos()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opnos) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowCompareExpr::opnos() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opnos() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opnos) + return _internal_opnos(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_opnos() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.opnos_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_opnos() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opnos_; +} // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"]; inline int RowCompareExpr::_internal_opfamilies_size() const { - return _impl_.opfamilies_.size(); + return _internal_opfamilies().size(); } inline int RowCompareExpr::opfamilies_size() const { return _internal_opfamilies_size(); } inline void RowCompareExpr::clear_opfamilies() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.opfamilies_.Clear(); } -inline ::pg_query::Node* RowCompareExpr::mutable_opfamilies(int index) { +inline ::pg_query::Node* RowCompareExpr::mutable_opfamilies(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.opfamilies) - return _impl_.opfamilies_.Mutable(index); + return _internal_mutable_opfamilies()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowCompareExpr::mutable_opfamilies() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_opfamilies() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.opfamilies) - return &_impl_.opfamilies_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opfamilies(); } -inline const ::pg_query::Node& RowCompareExpr::_internal_opfamilies(int index) const { - return _impl_.opfamilies_.Get(index); -} -inline const ::pg_query::Node& RowCompareExpr::opfamilies(int index) const { +inline const ::pg_query::Node& RowCompareExpr::opfamilies(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.opfamilies) - return _internal_opfamilies(index); -} -inline ::pg_query::Node* RowCompareExpr::_internal_add_opfamilies() { - return _impl_.opfamilies_.Add(); + return _internal_opfamilies().Get(index); } -inline ::pg_query::Node* RowCompareExpr::add_opfamilies() { - ::pg_query::Node* _add = _internal_add_opfamilies(); +inline ::pg_query::Node* RowCompareExpr::add_opfamilies() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opfamilies()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.opfamilies) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowCompareExpr::opfamilies() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::opfamilies() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.opfamilies) + return _internal_opfamilies(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_opfamilies() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.opfamilies_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_opfamilies() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opfamilies_; +} // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"]; inline int RowCompareExpr::_internal_inputcollids_size() const { - return _impl_.inputcollids_.size(); + return _internal_inputcollids().size(); } inline int RowCompareExpr::inputcollids_size() const { return _internal_inputcollids_size(); } inline void RowCompareExpr::clear_inputcollids() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollids_.Clear(); } -inline ::pg_query::Node* RowCompareExpr::mutable_inputcollids(int index) { +inline ::pg_query::Node* RowCompareExpr::mutable_inputcollids(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.inputcollids) - return _impl_.inputcollids_.Mutable(index); + return _internal_mutable_inputcollids()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowCompareExpr::mutable_inputcollids() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_inputcollids() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.inputcollids) - return &_impl_.inputcollids_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_inputcollids(); } -inline const ::pg_query::Node& RowCompareExpr::_internal_inputcollids(int index) const { - return _impl_.inputcollids_.Get(index); -} -inline const ::pg_query::Node& RowCompareExpr::inputcollids(int index) const { +inline const ::pg_query::Node& RowCompareExpr::inputcollids(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.inputcollids) - return _internal_inputcollids(index); -} -inline ::pg_query::Node* RowCompareExpr::_internal_add_inputcollids() { - return _impl_.inputcollids_.Add(); + return _internal_inputcollids().Get(index); } -inline ::pg_query::Node* RowCompareExpr::add_inputcollids() { - ::pg_query::Node* _add = _internal_add_inputcollids(); +inline ::pg_query::Node* RowCompareExpr::add_inputcollids() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_inputcollids()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.inputcollids) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowCompareExpr::inputcollids() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::inputcollids() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.inputcollids) + return _internal_inputcollids(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_inputcollids() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.inputcollids_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_inputcollids() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.inputcollids_; +} // repeated .pg_query.Node largs = 6 [json_name = "largs"]; inline int RowCompareExpr::_internal_largs_size() const { - return _impl_.largs_.size(); + return _internal_largs().size(); } inline int RowCompareExpr::largs_size() const { return _internal_largs_size(); } inline void RowCompareExpr::clear_largs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.largs_.Clear(); } -inline ::pg_query::Node* RowCompareExpr::mutable_largs(int index) { +inline ::pg_query::Node* RowCompareExpr::mutable_largs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.largs) - return _impl_.largs_.Mutable(index); + return _internal_mutable_largs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowCompareExpr::mutable_largs() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_largs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.largs) - return &_impl_.largs_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_largs(); } -inline const ::pg_query::Node& RowCompareExpr::_internal_largs(int index) const { - return _impl_.largs_.Get(index); -} -inline const ::pg_query::Node& RowCompareExpr::largs(int index) const { +inline const ::pg_query::Node& RowCompareExpr::largs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.largs) - return _internal_largs(index); -} -inline ::pg_query::Node* RowCompareExpr::_internal_add_largs() { - return _impl_.largs_.Add(); + return _internal_largs().Get(index); } -inline ::pg_query::Node* RowCompareExpr::add_largs() { - ::pg_query::Node* _add = _internal_add_largs(); +inline ::pg_query::Node* RowCompareExpr::add_largs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_largs()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.largs) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowCompareExpr::largs() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::largs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.largs) + return _internal_largs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_largs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.largs_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_largs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.largs_; +} // repeated .pg_query.Node rargs = 7 [json_name = "rargs"]; inline int RowCompareExpr::_internal_rargs_size() const { - return _impl_.rargs_.size(); + return _internal_rargs().size(); } inline int RowCompareExpr::rargs_size() const { return _internal_rargs_size(); } inline void RowCompareExpr::clear_rargs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.rargs_.Clear(); } -inline ::pg_query::Node* RowCompareExpr::mutable_rargs(int index) { +inline ::pg_query::Node* RowCompareExpr::mutable_rargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.RowCompareExpr.rargs) - return _impl_.rargs_.Mutable(index); + return _internal_mutable_rargs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RowCompareExpr::mutable_rargs() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RowCompareExpr::mutable_rargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.RowCompareExpr.rargs) - return &_impl_.rargs_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rargs(); } -inline const ::pg_query::Node& RowCompareExpr::_internal_rargs(int index) const { - return _impl_.rargs_.Get(index); -} -inline const ::pg_query::Node& RowCompareExpr::rargs(int index) const { +inline const ::pg_query::Node& RowCompareExpr::rargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.RowCompareExpr.rargs) - return _internal_rargs(index); -} -inline ::pg_query::Node* RowCompareExpr::_internal_add_rargs() { - return _impl_.rargs_.Add(); + return _internal_rargs().Get(index); } -inline ::pg_query::Node* RowCompareExpr::add_rargs() { - ::pg_query::Node* _add = _internal_add_rargs(); +inline ::pg_query::Node* RowCompareExpr::add_rargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rargs()->Add(); // @@protoc_insertion_point(field_add:pg_query.RowCompareExpr.rargs) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RowCompareExpr::rargs() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RowCompareExpr::rargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.RowCompareExpr.rargs) + return _internal_rargs(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RowCompareExpr::_internal_rargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.rargs_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RowCompareExpr::_internal_mutable_rargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rargs_; +} // ------------------------------------------------------------------- // CoalesceExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoalesceExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool CoalesceExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void CoalesceExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& CoalesceExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoalesceExpr::xpr() const { +inline const ::pg_query::Node& CoalesceExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.xpr) return _internal_xpr(); } -inline void CoalesceExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void CoalesceExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoalesceExpr.xpr) } inline ::pg_query::Node* CoalesceExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* CoalesceExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.CoalesceExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* CoalesceExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CoalesceExpr::mutable_xpr() { +inline ::pg_query::Node* CoalesceExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.xpr) return _msg; } -inline void CoalesceExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CoalesceExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.CoalesceExpr.xpr) } // uint32 coalescetype = 2 [json_name = "coalescetype"]; inline void CoalesceExpr::clear_coalescetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coalescetype_ = 0u; } -inline uint32_t CoalesceExpr::_internal_coalescetype() const { - return _impl_.coalescetype_; -} -inline uint32_t CoalesceExpr::coalescetype() const { +inline ::uint32_t CoalesceExpr::coalescetype() const { // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescetype) return _internal_coalescetype(); } -inline void CoalesceExpr::_internal_set_coalescetype(uint32_t value) { - - _impl_.coalescetype_ = value; -} -inline void CoalesceExpr::set_coalescetype(uint32_t value) { +inline void CoalesceExpr::set_coalescetype(::uint32_t value) { _internal_set_coalescetype(value); // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescetype) } +inline ::uint32_t CoalesceExpr::_internal_coalescetype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coalescetype_; +} +inline void CoalesceExpr::_internal_set_coalescetype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coalescetype_ = value; +} // uint32 coalescecollid = 3 [json_name = "coalescecollid"]; inline void CoalesceExpr::clear_coalescecollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.coalescecollid_ = 0u; } -inline uint32_t CoalesceExpr::_internal_coalescecollid() const { - return _impl_.coalescecollid_; -} -inline uint32_t CoalesceExpr::coalescecollid() const { +inline ::uint32_t CoalesceExpr::coalescecollid() const { // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.coalescecollid) return _internal_coalescecollid(); } -inline void CoalesceExpr::_internal_set_coalescecollid(uint32_t value) { - - _impl_.coalescecollid_ = value; -} -inline void CoalesceExpr::set_coalescecollid(uint32_t value) { +inline void CoalesceExpr::set_coalescecollid(::uint32_t value) { _internal_set_coalescecollid(value); // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.coalescecollid) } +inline ::uint32_t CoalesceExpr::_internal_coalescecollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coalescecollid_; +} +inline void CoalesceExpr::_internal_set_coalescecollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coalescecollid_ = value; +} // repeated .pg_query.Node args = 4 [json_name = "args"]; inline int CoalesceExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int CoalesceExpr::args_size() const { return _internal_args_size(); } inline void CoalesceExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* CoalesceExpr::mutable_args(int index) { +inline ::pg_query::Node* CoalesceExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.CoalesceExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CoalesceExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CoalesceExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.CoalesceExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& CoalesceExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& CoalesceExpr::args(int index) const { +inline const ::pg_query::Node& CoalesceExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* CoalesceExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* CoalesceExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* CoalesceExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.CoalesceExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CoalesceExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CoalesceExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.CoalesceExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CoalesceExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CoalesceExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // int32 location = 5 [json_name = "location"]; inline void CoalesceExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t CoalesceExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t CoalesceExpr::location() const { +inline ::int32_t CoalesceExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.CoalesceExpr.location) return _internal_location(); } -inline void CoalesceExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CoalesceExpr::set_location(int32_t value) { +inline void CoalesceExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.CoalesceExpr.location) } +inline ::int32_t CoalesceExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void CoalesceExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // MinMaxExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool MinMaxExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool MinMaxExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void MinMaxExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& MinMaxExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& MinMaxExpr::xpr() const { +inline const ::pg_query::Node& MinMaxExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.xpr) return _internal_xpr(); } -inline void MinMaxExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void MinMaxExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MinMaxExpr.xpr) } inline ::pg_query::Node* MinMaxExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* MinMaxExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.MinMaxExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* MinMaxExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* MinMaxExpr::mutable_xpr() { +inline ::pg_query::Node* MinMaxExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.xpr) return _msg; } -inline void MinMaxExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void MinMaxExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.MinMaxExpr.xpr) } // uint32 minmaxtype = 2 [json_name = "minmaxtype"]; inline void MinMaxExpr::clear_minmaxtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.minmaxtype_ = 0u; } -inline uint32_t MinMaxExpr::_internal_minmaxtype() const { - return _impl_.minmaxtype_; -} -inline uint32_t MinMaxExpr::minmaxtype() const { +inline ::uint32_t MinMaxExpr::minmaxtype() const { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxtype) return _internal_minmaxtype(); } -inline void MinMaxExpr::_internal_set_minmaxtype(uint32_t value) { - - _impl_.minmaxtype_ = value; -} -inline void MinMaxExpr::set_minmaxtype(uint32_t value) { +inline void MinMaxExpr::set_minmaxtype(::uint32_t value) { _internal_set_minmaxtype(value); // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxtype) } +inline ::uint32_t MinMaxExpr::_internal_minmaxtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.minmaxtype_; +} +inline void MinMaxExpr::_internal_set_minmaxtype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.minmaxtype_ = value; +} // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"]; inline void MinMaxExpr::clear_minmaxcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.minmaxcollid_ = 0u; } -inline uint32_t MinMaxExpr::_internal_minmaxcollid() const { - return _impl_.minmaxcollid_; -} -inline uint32_t MinMaxExpr::minmaxcollid() const { +inline ::uint32_t MinMaxExpr::minmaxcollid() const { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.minmaxcollid) return _internal_minmaxcollid(); } -inline void MinMaxExpr::_internal_set_minmaxcollid(uint32_t value) { - - _impl_.minmaxcollid_ = value; -} -inline void MinMaxExpr::set_minmaxcollid(uint32_t value) { +inline void MinMaxExpr::set_minmaxcollid(::uint32_t value) { _internal_set_minmaxcollid(value); // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.minmaxcollid) } +inline ::uint32_t MinMaxExpr::_internal_minmaxcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.minmaxcollid_; +} +inline void MinMaxExpr::_internal_set_minmaxcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.minmaxcollid_ = value; +} // uint32 inputcollid = 4 [json_name = "inputcollid"]; inline void MinMaxExpr::clear_inputcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.inputcollid_ = 0u; } -inline uint32_t MinMaxExpr::_internal_inputcollid() const { - return _impl_.inputcollid_; -} -inline uint32_t MinMaxExpr::inputcollid() const { +inline ::uint32_t MinMaxExpr::inputcollid() const { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.inputcollid) return _internal_inputcollid(); } -inline void MinMaxExpr::_internal_set_inputcollid(uint32_t value) { - - _impl_.inputcollid_ = value; -} -inline void MinMaxExpr::set_inputcollid(uint32_t value) { +inline void MinMaxExpr::set_inputcollid(::uint32_t value) { _internal_set_inputcollid(value); // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.inputcollid) } +inline ::uint32_t MinMaxExpr::_internal_inputcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inputcollid_; +} +inline void MinMaxExpr::_internal_set_inputcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inputcollid_ = value; +} // .pg_query.MinMaxOp op = 5 [json_name = "op"]; inline void MinMaxExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.op_ = 0; } -inline ::pg_query::MinMaxOp MinMaxExpr::_internal_op() const { - return static_cast< ::pg_query::MinMaxOp >(_impl_.op_); -} inline ::pg_query::MinMaxOp MinMaxExpr::op() const { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.op) return _internal_op(); } -inline void MinMaxExpr::_internal_set_op(::pg_query::MinMaxOp value) { - - _impl_.op_ = value; -} inline void MinMaxExpr::set_op(::pg_query::MinMaxOp value) { _internal_set_op(value); // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.op) } +inline ::pg_query::MinMaxOp MinMaxExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::MinMaxOp>(_impl_.op_); +} +inline void MinMaxExpr::_internal_set_op(::pg_query::MinMaxOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; +} // repeated .pg_query.Node args = 6 [json_name = "args"]; inline int MinMaxExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int MinMaxExpr::args_size() const { return _internal_args_size(); } inline void MinMaxExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* MinMaxExpr::mutable_args(int index) { +inline ::pg_query::Node* MinMaxExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.MinMaxExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MinMaxExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MinMaxExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.MinMaxExpr.args) - return &_impl_.args_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& MinMaxExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); -} -inline const ::pg_query::Node& MinMaxExpr::args(int index) const { +inline const ::pg_query::Node& MinMaxExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.args) - return _internal_args(index); -} -inline ::pg_query::Node* MinMaxExpr::_internal_add_args() { - return _impl_.args_.Add(); + return _internal_args().Get(index); } -inline ::pg_query::Node* MinMaxExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* MinMaxExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.MinMaxExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MinMaxExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MinMaxExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.MinMaxExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MinMaxExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MinMaxExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // int32 location = 7 [json_name = "location"]; inline void MinMaxExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t MinMaxExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t MinMaxExpr::location() const { +inline ::int32_t MinMaxExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.MinMaxExpr.location) return _internal_location(); } -inline void MinMaxExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void MinMaxExpr::set_location(int32_t value) { +inline void MinMaxExpr::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.MinMaxExpr.location) } +inline ::int32_t MinMaxExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void MinMaxExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // SQLValueFunction // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SQLValueFunction::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool SQLValueFunction::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void SQLValueFunction::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& SQLValueFunction::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SQLValueFunction::xpr() const { +inline const ::pg_query::Node& SQLValueFunction::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.xpr) return _internal_xpr(); } -inline void SQLValueFunction::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void SQLValueFunction::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SQLValueFunction.xpr) } inline ::pg_query::Node* SQLValueFunction::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* SQLValueFunction::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.SQLValueFunction.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* SQLValueFunction::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* SQLValueFunction::mutable_xpr() { +inline ::pg_query::Node* SQLValueFunction::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.SQLValueFunction.xpr) return _msg; } -inline void SQLValueFunction::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SQLValueFunction::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.SQLValueFunction.xpr) } // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"]; inline void SQLValueFunction::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.op_ = 0; } -inline ::pg_query::SQLValueFunctionOp SQLValueFunction::_internal_op() const { - return static_cast< ::pg_query::SQLValueFunctionOp >(_impl_.op_); -} inline ::pg_query::SQLValueFunctionOp SQLValueFunction::op() const { // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.op) return _internal_op(); } -inline void SQLValueFunction::_internal_set_op(::pg_query::SQLValueFunctionOp value) { - - _impl_.op_ = value; -} inline void SQLValueFunction::set_op(::pg_query::SQLValueFunctionOp value) { _internal_set_op(value); // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.op) } +inline ::pg_query::SQLValueFunctionOp SQLValueFunction::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SQLValueFunctionOp>(_impl_.op_); +} +inline void SQLValueFunction::_internal_set_op(::pg_query::SQLValueFunctionOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; +} // uint32 type = 3 [json_name = "type"]; inline void SQLValueFunction::clear_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.type_ = 0u; } -inline uint32_t SQLValueFunction::_internal_type() const { - return _impl_.type_; -} -inline uint32_t SQLValueFunction::type() const { +inline ::uint32_t SQLValueFunction::type() const { // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.type) return _internal_type(); } -inline void SQLValueFunction::_internal_set_type(uint32_t value) { - - _impl_.type_ = value; -} -inline void SQLValueFunction::set_type(uint32_t value) { +inline void SQLValueFunction::set_type(::uint32_t value) { _internal_set_type(value); // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.type) } +inline ::uint32_t SQLValueFunction::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_; +} +inline void SQLValueFunction::_internal_set_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_ = value; +} // int32 typmod = 4 [json_name = "typmod"]; inline void SQLValueFunction::clear_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.typmod_ = 0; } -inline int32_t SQLValueFunction::_internal_typmod() const { - return _impl_.typmod_; -} -inline int32_t SQLValueFunction::typmod() const { +inline ::int32_t SQLValueFunction::typmod() const { // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.typmod) return _internal_typmod(); } -inline void SQLValueFunction::_internal_set_typmod(int32_t value) { - - _impl_.typmod_ = value; -} -inline void SQLValueFunction::set_typmod(int32_t value) { +inline void SQLValueFunction::set_typmod(::int32_t value) { _internal_set_typmod(value); // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.typmod) } +inline ::int32_t SQLValueFunction::_internal_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmod_; +} +inline void SQLValueFunction::_internal_set_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typmod_ = value; +} // int32 location = 5 [json_name = "location"]; inline void SQLValueFunction::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t SQLValueFunction::_internal_location() const { - return _impl_.location_; -} -inline int32_t SQLValueFunction::location() const { +inline ::int32_t SQLValueFunction::location() const { // @@protoc_insertion_point(field_get:pg_query.SQLValueFunction.location) return _internal_location(); } -inline void SQLValueFunction::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void SQLValueFunction::set_location(int32_t value) { +inline void SQLValueFunction::set_location(::int32_t value) { _internal_set_location(value); // @@protoc_insertion_point(field_set:pg_query.SQLValueFunction.location) } +inline ::int32_t SQLValueFunction::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void SQLValueFunction::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- // XmlExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool XmlExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} inline bool XmlExpr::has_xpr() const { - return _internal_has_xpr(); + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } inline void XmlExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } inline const ::pg_query::Node& XmlExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& XmlExpr::xpr() const { +inline const ::pg_query::Node& XmlExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xpr) return _internal_xpr(); } -inline void XmlExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void XmlExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlExpr.xpr) } inline ::pg_query::Node* XmlExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } inline ::pg_query::Node* XmlExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.XmlExpr.xpr) - + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } inline ::pg_query::Node* XmlExpr::_internal_mutable_xpr() { - + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* XmlExpr::mutable_xpr() { +inline ::pg_query::Node* XmlExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.xpr) return _msg; } -inline void XmlExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void XmlExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.xpr) } // .pg_query.XmlExprOp op = 2 [json_name = "op"]; inline void XmlExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.op_ = 0; } -inline ::pg_query::XmlExprOp XmlExpr::_internal_op() const { - return static_cast< ::pg_query::XmlExprOp >(_impl_.op_); -} inline ::pg_query::XmlExprOp XmlExpr::op() const { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.op) return _internal_op(); } -inline void XmlExpr::_internal_set_op(::pg_query::XmlExprOp value) { - - _impl_.op_ = value; -} inline void XmlExpr::set_op(::pg_query::XmlExprOp value) { _internal_set_op(value); // @@protoc_insertion_point(field_set:pg_query.XmlExpr.op) } +inline ::pg_query::XmlExprOp XmlExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::XmlExprOp>(_impl_.op_); +} +inline void XmlExpr::_internal_set_op(::pg_query::XmlExprOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; +} // string name = 3 [json_name = "name"]; inline void XmlExpr::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.name_.ClearToEmpty(); } -inline const std::string& XmlExpr::name() const { +inline const std::string& XmlExpr::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.name) return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void XmlExpr::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); +template +inline PROTOBUF_ALWAYS_INLINE void XmlExpr::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:pg_query.XmlExpr.name) } -inline std::string* XmlExpr::mutable_name() { +inline std::string* XmlExpr::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_name(); // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.name) return _s; } inline const std::string& XmlExpr::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } inline void XmlExpr::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } inline std::string* XmlExpr::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } inline std::string* XmlExpr::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); // @@protoc_insertion_point(field_release:pg_query.XmlExpr.name) return _impl_.name_.Release(); } -inline void XmlExpr::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING +inline void XmlExpr::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING // @@protoc_insertion_point(field_set_allocated:pg_query.XmlExpr.name) } // repeated .pg_query.Node named_args = 4 [json_name = "named_args"]; inline int XmlExpr::_internal_named_args_size() const { - return _impl_.named_args_.size(); + return _internal_named_args().size(); } inline int XmlExpr::named_args_size() const { return _internal_named_args_size(); } inline void XmlExpr::clear_named_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.named_args_.Clear(); } -inline ::pg_query::Node* XmlExpr::mutable_named_args(int index) { +inline ::pg_query::Node* XmlExpr::mutable_named_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.named_args) - return _impl_.named_args_.Mutable(index); + return _internal_mutable_named_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -XmlExpr::mutable_named_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_named_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.named_args) - return &_impl_.named_args_; -} -inline const ::pg_query::Node& XmlExpr::_internal_named_args(int index) const { - return _impl_.named_args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_named_args(); } -inline const ::pg_query::Node& XmlExpr::named_args(int index) const { +inline const ::pg_query::Node& XmlExpr::named_args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.named_args) - return _internal_named_args(index); + return _internal_named_args().Get(index); } -inline ::pg_query::Node* XmlExpr::_internal_add_named_args() { - return _impl_.named_args_.Add(); -} -inline ::pg_query::Node* XmlExpr::add_named_args() { - ::pg_query::Node* _add = _internal_add_named_args(); +inline ::pg_query::Node* XmlExpr::add_named_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_named_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.XmlExpr.named_args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -XmlExpr::named_args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::named_args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.XmlExpr.named_args) + return _internal_named_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +XmlExpr::_internal_named_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.named_args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +XmlExpr::_internal_mutable_named_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.named_args_; +} // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"]; inline int XmlExpr::_internal_arg_names_size() const { - return _impl_.arg_names_.size(); + return _internal_arg_names().size(); } inline int XmlExpr::arg_names_size() const { return _internal_arg_names_size(); } inline void XmlExpr::clear_arg_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.arg_names_.Clear(); } -inline ::pg_query::Node* XmlExpr::mutable_arg_names(int index) { +inline ::pg_query::Node* XmlExpr::mutable_arg_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.arg_names) - return _impl_.arg_names_.Mutable(index); + return _internal_mutable_arg_names()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -XmlExpr::mutable_arg_names() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_arg_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.arg_names) - return &_impl_.arg_names_; -} -inline const ::pg_query::Node& XmlExpr::_internal_arg_names(int index) const { - return _impl_.arg_names_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_arg_names(); } -inline const ::pg_query::Node& XmlExpr::arg_names(int index) const { +inline const ::pg_query::Node& XmlExpr::arg_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.arg_names) - return _internal_arg_names(index); + return _internal_arg_names().Get(index); } -inline ::pg_query::Node* XmlExpr::_internal_add_arg_names() { - return _impl_.arg_names_.Add(); -} -inline ::pg_query::Node* XmlExpr::add_arg_names() { - ::pg_query::Node* _add = _internal_add_arg_names(); +inline ::pg_query::Node* XmlExpr::add_arg_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_arg_names()->Add(); // @@protoc_insertion_point(field_add:pg_query.XmlExpr.arg_names) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -XmlExpr::arg_names() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::arg_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.XmlExpr.arg_names) + return _internal_arg_names(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +XmlExpr::_internal_arg_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.arg_names_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +XmlExpr::_internal_mutable_arg_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.arg_names_; +} // repeated .pg_query.Node args = 6 [json_name = "args"]; inline int XmlExpr::_internal_args_size() const { - return _impl_.args_.size(); + return _internal_args().size(); } inline int XmlExpr::args_size() const { return _internal_args_size(); } inline void XmlExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.args_.Clear(); } -inline ::pg_query::Node* XmlExpr::mutable_args(int index) { +inline ::pg_query::Node* XmlExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable:pg_query.XmlExpr.args) - return _impl_.args_.Mutable(index); + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -XmlExpr::mutable_args() { +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* XmlExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_mutable_list:pg_query.XmlExpr.args) - return &_impl_.args_; -} -inline const ::pg_query::Node& XmlExpr::_internal_args(int index) const { - return _impl_.args_.Get(index); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& XmlExpr::args(int index) const { +inline const ::pg_query::Node& XmlExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.args) - return _internal_args(index); + return _internal_args().Get(index); } -inline ::pg_query::Node* XmlExpr::_internal_add_args() { - return _impl_.args_.Add(); -} -inline ::pg_query::Node* XmlExpr::add_args() { - ::pg_query::Node* _add = _internal_add_args(); +inline ::pg_query::Node* XmlExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); // @@protoc_insertion_point(field_add:pg_query.XmlExpr.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -XmlExpr::args() const { +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& XmlExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { // @@protoc_insertion_point(field_list:pg_query.XmlExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +XmlExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.args_; } +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +XmlExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"]; inline void XmlExpr::clear_xmloption() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.xmloption_ = 0; } -inline ::pg_query::XmlOptionType XmlExpr::_internal_xmloption() const { - return static_cast< ::pg_query::XmlOptionType >(_impl_.xmloption_); -} inline ::pg_query::XmlOptionType XmlExpr::xmloption() const { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.xmloption) return _internal_xmloption(); } -inline void XmlExpr::_internal_set_xmloption(::pg_query::XmlOptionType value) { - - _impl_.xmloption_ = value; -} inline void XmlExpr::set_xmloption(::pg_query::XmlOptionType value) { _internal_set_xmloption(value); // @@protoc_insertion_point(field_set:pg_query.XmlExpr.xmloption) } +inline ::pg_query::XmlOptionType XmlExpr::_internal_xmloption() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); +} +inline void XmlExpr::_internal_set_xmloption(::pg_query::XmlOptionType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.xmloption_ = value; +} + +// bool indent = 8 [json_name = "indent"]; +inline void XmlExpr::clear_indent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indent_ = false; +} +inline bool XmlExpr::indent() const { + // @@protoc_insertion_point(field_get:pg_query.XmlExpr.indent) + return _internal_indent(); +} +inline void XmlExpr::set_indent(bool value) { + _internal_set_indent(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.indent) +} +inline bool XmlExpr::_internal_indent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indent_; +} +inline void XmlExpr::_internal_set_indent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indent_ = value; +} -// uint32 type = 8 [json_name = "type"]; +// uint32 type = 9 [json_name = "type"]; inline void XmlExpr::clear_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.type_ = 0u; } -inline uint32_t XmlExpr::_internal_type() const { - return _impl_.type_; -} -inline uint32_t XmlExpr::type() const { +inline ::uint32_t XmlExpr::type() const { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.type) return _internal_type(); } -inline void XmlExpr::_internal_set_type(uint32_t value) { - - _impl_.type_ = value; -} -inline void XmlExpr::set_type(uint32_t value) { +inline void XmlExpr::set_type(::uint32_t value) { _internal_set_type(value); // @@protoc_insertion_point(field_set:pg_query.XmlExpr.type) } +inline ::uint32_t XmlExpr::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_; +} +inline void XmlExpr::_internal_set_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_ = value; +} -// int32 typmod = 9 [json_name = "typmod"]; +// int32 typmod = 10 [json_name = "typmod"]; inline void XmlExpr::clear_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.typmod_ = 0; } -inline int32_t XmlExpr::_internal_typmod() const { - return _impl_.typmod_; -} -inline int32_t XmlExpr::typmod() const { +inline ::int32_t XmlExpr::typmod() const { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.typmod) return _internal_typmod(); } -inline void XmlExpr::_internal_set_typmod(int32_t value) { - - _impl_.typmod_ = value; -} -inline void XmlExpr::set_typmod(int32_t value) { +inline void XmlExpr::set_typmod(::int32_t value) { _internal_set_typmod(value); // @@protoc_insertion_point(field_set:pg_query.XmlExpr.typmod) } +inline ::int32_t XmlExpr::_internal_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmod_; +} +inline void XmlExpr::_internal_set_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typmod_ = value; +} -// int32 location = 10 [json_name = "location"]; +// int32 location = 11 [json_name = "location"]; inline void XmlExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t XmlExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t XmlExpr::location() const { +inline ::int32_t XmlExpr::location() const { // @@protoc_insertion_point(field_get:pg_query.XmlExpr.location) return _internal_location(); } -inline void XmlExpr::_internal_set_location(int32_t value) { - +inline void XmlExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.XmlExpr.location) +} +inline ::int32_t XmlExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void XmlExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; _impl_.location_ = value; } -inline void XmlExpr::set_location(int32_t value) { + +// ------------------------------------------------------------------- + +// JsonFormat + +// .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"]; +inline void JsonFormat::clear_format_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.format_type_ = 0; +} +inline ::pg_query::JsonFormatType JsonFormat::format_type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.format_type) + return _internal_format_type(); +} +inline void JsonFormat::set_format_type(::pg_query::JsonFormatType value) { + _internal_set_format_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.format_type) +} +inline ::pg_query::JsonFormatType JsonFormat::_internal_format_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonFormatType>(_impl_.format_type_); +} +inline void JsonFormat::_internal_set_format_type(::pg_query::JsonFormatType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.format_type_ = value; +} + +// .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"]; +inline void JsonFormat::clear_encoding() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.encoding_ = 0; +} +inline ::pg_query::JsonEncoding JsonFormat::encoding() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.encoding) + return _internal_encoding(); +} +inline void JsonFormat::set_encoding(::pg_query::JsonEncoding value) { + _internal_set_encoding(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.encoding) +} +inline ::pg_query::JsonEncoding JsonFormat::_internal_encoding() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonEncoding>(_impl_.encoding_); +} +inline void JsonFormat::_internal_set_encoding(::pg_query::JsonEncoding value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.encoding_ = value; +} + +// int32 location = 3 [json_name = "location"]; +inline void JsonFormat::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t JsonFormat::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFormat.location) + return _internal_location(); +} +inline void JsonFormat::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.XmlExpr.location) + // @@protoc_insertion_point(field_set:pg_query.JsonFormat.location) +} +inline ::int32_t JsonFormat::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonFormat::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// NullTest +// JsonReturning -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NullTest::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; +// .pg_query.JsonFormat format = 1 [json_name = "format"]; +inline bool JsonReturning::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; } -inline bool NullTest::has_xpr() const { - return _internal_has_xpr(); +inline void JsonReturning::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void NullTest::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; +inline const ::pg_query::JsonFormat& JsonReturning::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); +} +inline const ::pg_query::JsonFormat& JsonReturning::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.format) + return _internal_format(); +} +inline void JsonReturning::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.xpr_ = nullptr; + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonReturning.format) } -inline const ::pg_query::Node& NullTest::_internal_xpr() const { +inline ::pg_query::JsonFormat* JsonReturning::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::JsonFormat* JsonReturning::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonReturning.format) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; + return temp; +} +inline ::pg_query::JsonFormat* JsonReturning::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + } + return _impl_.format_; +} +inline ::pg_query::JsonFormat* JsonReturning::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonReturning.format) + return _msg; +} +inline void JsonReturning::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonReturning.format) +} + +// uint32 typid = 2 [json_name = "typid"]; +inline void JsonReturning::clear_typid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typid_ = 0u; +} +inline ::uint32_t JsonReturning::typid() const { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typid) + return _internal_typid(); +} +inline void JsonReturning::set_typid(::uint32_t value) { + _internal_set_typid(value); + // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typid) +} +inline ::uint32_t JsonReturning::_internal_typid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typid_; +} +inline void JsonReturning::_internal_set_typid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typid_ = value; +} + +// int32 typmod = 3 [json_name = "typmod"]; +inline void JsonReturning::clear_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typmod_ = 0; +} +inline ::int32_t JsonReturning::typmod() const { + // @@protoc_insertion_point(field_get:pg_query.JsonReturning.typmod) + return _internal_typmod(); +} +inline void JsonReturning::set_typmod(::int32_t value) { + _internal_set_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.JsonReturning.typmod) +} +inline ::int32_t JsonReturning::_internal_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmod_; +} +inline void JsonReturning::_internal_set_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typmod_ = value; +} + +// ------------------------------------------------------------------- + +// JsonValueExpr + +// .pg_query.Node raw_expr = 1 [json_name = "raw_expr"]; +inline bool JsonValueExpr::has_raw_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.raw_expr_ != nullptr); + return value; +} +inline void JsonValueExpr::clear_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.raw_expr_ != nullptr) _impl_.raw_expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonValueExpr::_internal_raw_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.raw_expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonValueExpr::raw_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.raw_expr) + return _internal_raw_expr(); +} +inline void JsonValueExpr::unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_expr_); + } + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.raw_expr) +} +inline ::pg_query::Node* JsonValueExpr::release_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.raw_expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonValueExpr::_internal_mutable_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.raw_expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.raw_expr_; +} +inline ::pg_query::Node* JsonValueExpr::mutable_raw_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_raw_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.raw_expr) + return _msg; +} +inline void JsonValueExpr::set_allocated_raw_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.raw_expr) +} + +// .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"]; +inline bool JsonValueExpr::has_formatted_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.formatted_expr_ != nullptr); + return value; +} +inline void JsonValueExpr::clear_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.formatted_expr_ != nullptr) _impl_.formatted_expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& JsonValueExpr::_internal_formatted_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.formatted_expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonValueExpr::formatted_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.formatted_expr) + return _internal_formatted_expr(); +} +inline void JsonValueExpr::unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.formatted_expr_); + } + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.formatted_expr) +} +inline ::pg_query::Node* JsonValueExpr::release_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* JsonValueExpr::unsafe_arena_release_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.formatted_expr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonValueExpr::_internal_mutable_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.formatted_expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.formatted_expr_; +} +inline ::pg_query::Node* JsonValueExpr::mutable_formatted_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_formatted_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.formatted_expr) + return _msg; +} +inline void JsonValueExpr::set_allocated_formatted_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.formatted_expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.formatted_expr) +} + +// .pg_query.JsonFormat format = 3 [json_name = "format"]; +inline bool JsonValueExpr::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; +} +inline void JsonValueExpr::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::JsonFormat& JsonValueExpr::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); +} +inline const ::pg_query::JsonFormat& JsonValueExpr::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonValueExpr.format) + return _internal_format(); +} +inline void JsonValueExpr::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + } + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonValueExpr.format) +} +inline ::pg_query::JsonFormat* JsonValueExpr::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::JsonFormat* JsonValueExpr::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonValueExpr.format) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; + return temp; +} +inline ::pg_query::JsonFormat* JsonValueExpr::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + } + return _impl_.format_; +} +inline ::pg_query::JsonFormat* JsonValueExpr::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonValueExpr.format) + return _msg; +} +inline void JsonValueExpr::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonValueExpr.format) +} + +// ------------------------------------------------------------------- + +// JsonConstructorExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool JsonConstructorExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void JsonConstructorExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonConstructorExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NullTest::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.xpr) +inline const ::pg_query::Node& JsonConstructorExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.xpr) return _internal_xpr(); } -inline void NullTest::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonConstructorExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.xpr) } -inline ::pg_query::Node* NullTest::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; +inline ::pg_query::Node* JsonConstructorExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* NullTest::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.NullTest.xpr) - +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* NullTest::_internal_mutable_xpr() { - +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* NullTest::mutable_xpr() { +inline ::pg_query::Node* JsonConstructorExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NullTest.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.xpr) return _msg; } -inline void NullTest::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonConstructorExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.xpr) + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.xpr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool NullTest::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; +// .pg_query.JsonConstructorType type = 2 [json_name = "type"]; +inline void JsonConstructorExpr::clear_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_ = 0; } -inline bool NullTest::has_arg() const { - return _internal_has_arg(); +inline ::pg_query::JsonConstructorType JsonConstructorExpr::type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.type) + return _internal_type(); } -inline void NullTest::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; +inline void JsonConstructorExpr::set_type(::pg_query::JsonConstructorType value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.type) +} +inline ::pg_query::JsonConstructorType JsonConstructorExpr::_internal_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonConstructorType>(_impl_.type_); +} +inline void JsonConstructorExpr::_internal_set_type(::pg_query::JsonConstructorType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_ = value; +} + +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int JsonConstructorExpr::_internal_args_size() const { + return _internal_args().size(); +} +inline int JsonConstructorExpr::args_size() const { + return _internal_args_size(); +} +inline void JsonConstructorExpr::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); +} +inline ::pg_query::Node* JsonConstructorExpr::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.args) + return _internal_mutable_args()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonConstructorExpr::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonConstructorExpr.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::pg_query::Node& JsonConstructorExpr::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* JsonConstructorExpr::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonConstructorExpr.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonConstructorExpr::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonConstructorExpr.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonConstructorExpr::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonConstructorExpr::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; +} + +// .pg_query.Node func = 4 [json_name = "func"]; +inline bool JsonConstructorExpr::has_func() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.func_ != nullptr); + return value; +} +inline void JsonConstructorExpr::clear_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.func_ != nullptr) _impl_.func_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& JsonConstructorExpr::_internal_func() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.func_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonConstructorExpr::func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.func) + return _internal_func(); +} +inline void JsonConstructorExpr::unsafe_arena_set_allocated_func(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.func_); } - _impl_.arg_ = nullptr; + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.func) } -inline const ::pg_query::Node& NullTest::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::pg_query::Node* JsonConstructorExpr::release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.func_; + _impl_.func_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.func) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.func_; + _impl_.func_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.func_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.func_; +} +inline ::pg_query::Node* JsonConstructorExpr::mutable_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_func(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.func) + return _msg; +} +inline void JsonConstructorExpr::set_allocated_func(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.func_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.func_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.func) +} + +// .pg_query.Node coercion = 5 [json_name = "coercion"]; +inline bool JsonConstructorExpr::has_coercion() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coercion_ != nullptr); + return value; +} +inline void JsonConstructorExpr::clear_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.coercion_ != nullptr) _impl_.coercion_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::Node& JsonConstructorExpr::_internal_coercion() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.coercion_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonConstructorExpr::coercion() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.coercion) + return _internal_coercion(); +} +inline void JsonConstructorExpr::unsafe_arena_set_allocated_coercion(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coercion_); + } + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.coercion) +} +inline ::pg_query::Node* JsonConstructorExpr::release_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.coercion_; + _impl_.coercion_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* JsonConstructorExpr::unsafe_arena_release_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.coercion) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.coercion_; + _impl_.coercion_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonConstructorExpr::_internal_mutable_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.coercion_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.coercion_; +} +inline ::pg_query::Node* JsonConstructorExpr::mutable_coercion() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_coercion(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.coercion) + return _msg; +} +inline void JsonConstructorExpr::set_allocated_coercion(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.coercion_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.coercion_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.coercion) +} + +// .pg_query.JsonReturning returning = 6 [json_name = "returning"]; +inline bool JsonConstructorExpr::has_returning() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); + return value; +} +inline void JsonConstructorExpr::clear_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::JsonReturning& JsonConstructorExpr::_internal_returning() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); +} +inline const ::pg_query::JsonReturning& JsonConstructorExpr::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.returning) + return _internal_returning(); +} +inline void JsonConstructorExpr::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); + } + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonConstructorExpr.returning) +} +inline ::pg_query::JsonReturning* JsonConstructorExpr::release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::JsonReturning* JsonConstructorExpr::unsafe_arena_release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonConstructorExpr.returning) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; + return temp; +} +inline ::pg_query::JsonReturning* JsonConstructorExpr::_internal_mutable_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); + } + return _impl_.returning_; +} +inline ::pg_query::JsonReturning* JsonConstructorExpr::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonConstructorExpr.returning) + return _msg; +} +inline void JsonConstructorExpr::set_allocated_returning(::pg_query::JsonReturning* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonConstructorExpr.returning) +} + +// bool absent_on_null = 7 [json_name = "absent_on_null"]; +inline void JsonConstructorExpr::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; +} +inline bool JsonConstructorExpr::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.absent_on_null) + return _internal_absent_on_null(); +} +inline void JsonConstructorExpr::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.absent_on_null) +} +inline bool JsonConstructorExpr::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; +} +inline void JsonConstructorExpr::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; +} + +// bool unique = 8 [json_name = "unique"]; +inline void JsonConstructorExpr::clear_unique() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_ = false; +} +inline bool JsonConstructorExpr::unique() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.unique) + return _internal_unique(); +} +inline void JsonConstructorExpr::set_unique(bool value) { + _internal_set_unique(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.unique) +} +inline bool JsonConstructorExpr::_internal_unique() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_; +} +inline void JsonConstructorExpr::_internal_set_unique(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_ = value; +} + +// int32 location = 9 [json_name = "location"]; +inline void JsonConstructorExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t JsonConstructorExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonConstructorExpr.location) + return _internal_location(); +} +inline void JsonConstructorExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonConstructorExpr.location) +} +inline ::int32_t JsonConstructorExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonConstructorExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// JsonIsPredicate + +// .pg_query.Node expr = 1 [json_name = "expr"]; +inline bool JsonIsPredicate::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; +} +inline void JsonIsPredicate::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonIsPredicate::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonIsPredicate::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.expr) + return _internal_expr(); +} +inline void JsonIsPredicate::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.expr) +} +inline ::pg_query::Node* JsonIsPredicate::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* JsonIsPredicate::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonIsPredicate::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.expr_; +} +inline ::pg_query::Node* JsonIsPredicate::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.expr) + return _msg; +} +inline void JsonIsPredicate::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.expr) +} + +// .pg_query.JsonFormat format = 2 [json_name = "format"]; +inline bool JsonIsPredicate::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; +} +inline void JsonIsPredicate::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::JsonFormat& JsonIsPredicate::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::Node& NullTest::arg() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.arg) - return _internal_arg(); +inline const ::pg_query::JsonFormat& JsonIsPredicate::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.format) + return _internal_format(); } -inline void NullTest::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void JsonIsPredicate::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonIsPredicate.format) } -inline ::pg_query::Node* NullTest::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::JsonFormat* JsonIsPredicate::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* NullTest::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.NullTest.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::JsonFormat* JsonIsPredicate::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonIsPredicate.format) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::Node* NullTest::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; +inline ::pg_query::JsonFormat* JsonIsPredicate::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.arg_; + return _impl_.format_; } -inline ::pg_query::Node* NullTest::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.NullTest.arg) +inline ::pg_query::JsonFormat* JsonIsPredicate::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonIsPredicate.format) return _msg; } -inline void NullTest::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonIsPredicate::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.arg) + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonIsPredicate.format) } -// .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; -inline void NullTest::clear_nulltesttype() { - _impl_.nulltesttype_ = 0; +// .pg_query.JsonValueType item_type = 3 [json_name = "item_type"]; +inline void JsonIsPredicate::clear_item_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.item_type_ = 0; } -inline ::pg_query::NullTestType NullTest::_internal_nulltesttype() const { - return static_cast< ::pg_query::NullTestType >(_impl_.nulltesttype_); +inline ::pg_query::JsonValueType JsonIsPredicate::item_type() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.item_type) + return _internal_item_type(); } -inline ::pg_query::NullTestType NullTest::nulltesttype() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.nulltesttype) - return _internal_nulltesttype(); +inline void JsonIsPredicate::set_item_type(::pg_query::JsonValueType value) { + _internal_set_item_type(value); + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.item_type) } -inline void NullTest::_internal_set_nulltesttype(::pg_query::NullTestType value) { - - _impl_.nulltesttype_ = value; +inline ::pg_query::JsonValueType JsonIsPredicate::_internal_item_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonValueType>(_impl_.item_type_); } -inline void NullTest::set_nulltesttype(::pg_query::NullTestType value) { - _internal_set_nulltesttype(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.nulltesttype) +inline void JsonIsPredicate::_internal_set_item_type(::pg_query::JsonValueType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.item_type_ = value; } -// bool argisrow = 4 [json_name = "argisrow"]; -inline void NullTest::clear_argisrow() { - _impl_.argisrow_ = false; +// bool unique_keys = 4 [json_name = "unique_keys"]; +inline void JsonIsPredicate::clear_unique_keys() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_keys_ = false; } -inline bool NullTest::_internal_argisrow() const { - return _impl_.argisrow_; +inline bool JsonIsPredicate::unique_keys() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.unique_keys) + return _internal_unique_keys(); } -inline bool NullTest::argisrow() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.argisrow) - return _internal_argisrow(); +inline void JsonIsPredicate::set_unique_keys(bool value) { + _internal_set_unique_keys(value); + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.unique_keys) } -inline void NullTest::_internal_set_argisrow(bool value) { - - _impl_.argisrow_ = value; +inline bool JsonIsPredicate::_internal_unique_keys() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_keys_; } -inline void NullTest::set_argisrow(bool value) { - _internal_set_argisrow(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.argisrow) +inline void JsonIsPredicate::_internal_set_unique_keys(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_keys_ = value; } // int32 location = 5 [json_name = "location"]; -inline void NullTest::clear_location() { +inline void JsonIsPredicate::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t NullTest::_internal_location() const { - return _impl_.location_; -} -inline int32_t NullTest::location() const { - // @@protoc_insertion_point(field_get:pg_query.NullTest.location) +inline ::int32_t JsonIsPredicate::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonIsPredicate.location) return _internal_location(); } -inline void NullTest::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void NullTest::set_location(int32_t value) { +inline void JsonIsPredicate::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.NullTest.location) + // @@protoc_insertion_point(field_set:pg_query.JsonIsPredicate.location) +} +inline ::int32_t JsonIsPredicate::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonIsPredicate::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// BooleanTest +// JsonBehavior -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool BooleanTest::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} -inline bool BooleanTest::has_xpr() const { - return _internal_has_xpr(); -} -inline void BooleanTest::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; -} -inline const ::pg_query::Node& BooleanTest::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); -} -inline const ::pg_query::Node& BooleanTest::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.xpr) - return _internal_xpr(); -} -inline void BooleanTest::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); - } - _impl_.xpr_ = xpr; - if (xpr) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.xpr) -} -inline ::pg_query::Node* BooleanTest::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +// .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"]; +inline void JsonBehavior::clear_btype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.btype_ = 0; } -inline ::pg_query::Node* BooleanTest::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.BooleanTest.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; - return temp; +inline ::pg_query::JsonBehaviorType JsonBehavior::btype() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.btype) + return _internal_btype(); } -inline ::pg_query::Node* BooleanTest::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; - } - return _impl_.xpr_; +inline void JsonBehavior::set_btype(::pg_query::JsonBehaviorType value) { + _internal_set_btype(value); + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.btype) } -inline ::pg_query::Node* BooleanTest::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.xpr) - return _msg; +inline ::pg_query::JsonBehaviorType JsonBehavior::_internal_btype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonBehaviorType>(_impl_.btype_); } -inline void BooleanTest::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.xpr_; - } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); - if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); - } - - } else { - - } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.xpr) +inline void JsonBehavior::_internal_set_btype(::pg_query::JsonBehaviorType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.btype_ = value; } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool BooleanTest::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} -inline bool BooleanTest::has_arg() const { - return _internal_has_arg(); -} -inline void BooleanTest::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; -} -inline const ::pg_query::Node& BooleanTest::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool JsonBehavior::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; +} +inline void JsonBehavior::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonBehavior::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& BooleanTest::arg() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.arg) - return _internal_arg(); +inline const ::pg_query::Node& JsonBehavior::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.expr) + return _internal_expr(); } -inline void BooleanTest::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void JsonBehavior::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonBehavior.expr) } -inline ::pg_query::Node* BooleanTest::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::Node* JsonBehavior::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* BooleanTest::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.BooleanTest.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::Node* JsonBehavior::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonBehavior.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* BooleanTest::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; +inline ::pg_query::Node* JsonBehavior::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.expr_; } -inline ::pg_query::Node* BooleanTest::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.arg) +inline ::pg_query::Node* JsonBehavior::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonBehavior.expr) return _msg; } -inline void BooleanTest::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonBehavior::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.arg) + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonBehavior.expr) } -// .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; -inline void BooleanTest::clear_booltesttype() { - _impl_.booltesttype_ = 0; +// bool coerce = 3 [json_name = "coerce"]; +inline void JsonBehavior::clear_coerce() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coerce_ = false; } -inline ::pg_query::BoolTestType BooleanTest::_internal_booltesttype() const { - return static_cast< ::pg_query::BoolTestType >(_impl_.booltesttype_); +inline bool JsonBehavior::coerce() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.coerce) + return _internal_coerce(); } -inline ::pg_query::BoolTestType BooleanTest::booltesttype() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.booltesttype) - return _internal_booltesttype(); +inline void JsonBehavior::set_coerce(bool value) { + _internal_set_coerce(value); + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.coerce) } -inline void BooleanTest::_internal_set_booltesttype(::pg_query::BoolTestType value) { - - _impl_.booltesttype_ = value; +inline bool JsonBehavior::_internal_coerce() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coerce_; } -inline void BooleanTest::set_booltesttype(::pg_query::BoolTestType value) { - _internal_set_booltesttype(value); - // @@protoc_insertion_point(field_set:pg_query.BooleanTest.booltesttype) +inline void JsonBehavior::_internal_set_coerce(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coerce_ = value; } // int32 location = 4 [json_name = "location"]; -inline void BooleanTest::clear_location() { +inline void JsonBehavior::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t BooleanTest::_internal_location() const { - return _impl_.location_; -} -inline int32_t BooleanTest::location() const { - // @@protoc_insertion_point(field_get:pg_query.BooleanTest.location) +inline ::int32_t JsonBehavior::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonBehavior.location) return _internal_location(); } -inline void BooleanTest::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void BooleanTest::set_location(int32_t value) { +inline void JsonBehavior::set_location(::int32_t value) { _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.BooleanTest.location) + // @@protoc_insertion_point(field_set:pg_query.JsonBehavior.location) +} +inline ::int32_t JsonBehavior::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonBehavior::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// CoerceToDomain +// JsonExpr // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceToDomain::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} -inline bool CoerceToDomain::has_xpr() const { - return _internal_has_xpr(); -} -inline void CoerceToDomain::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; -} -inline const ::pg_query::Node& CoerceToDomain::_internal_xpr() const { +inline bool JsonExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void JsonExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CoerceToDomain::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.xpr) +inline const ::pg_query::Node& JsonExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.xpr) return _internal_xpr(); } -inline void CoerceToDomain::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.xpr) } -inline ::pg_query::Node* CoerceToDomain::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; +inline ::pg_query::Node* JsonExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.xpr) - +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomain::_internal_mutable_xpr() { - +inline ::pg_query::Node* JsonExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* CoerceToDomain::mutable_xpr() { +inline ::pg_query::Node* JsonExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.xpr) return _msg; } -inline void CoerceToDomain::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.xpr) + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.xpr) } -// .pg_query.Node arg = 2 [json_name = "arg"]; -inline bool CoerceToDomain::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; +// .pg_query.JsonExprOp op = 2 [json_name = "op"]; +inline void JsonExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline bool CoerceToDomain::has_arg() const { - return _internal_has_arg(); +inline ::pg_query::JsonExprOp JsonExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.op) + return _internal_op(); } -inline void CoerceToDomain::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; +inline void JsonExpr::set_op(::pg_query::JsonExprOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.op) } -inline const ::pg_query::Node& CoerceToDomain::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::pg_query::JsonExprOp JsonExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonExprOp>(_impl_.op_); } -inline const ::pg_query::Node& CoerceToDomain::arg() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.arg) - return _internal_arg(); +inline void JsonExpr::_internal_set_op(::pg_query::JsonExprOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; } -inline void CoerceToDomain::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = arg; - if (arg) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.arg) + +// string column_name = 3 [json_name = "column_name"]; +inline void JsonExpr::clear_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.ClearToEmpty(); } -inline ::pg_query::Node* CoerceToDomain::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline const std::string& JsonExpr::column_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.column_name) + return _internal_column_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void JsonExpr::set_column_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.column_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.column_name) +} +inline std::string* JsonExpr::mutable_column_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_column_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.column_name) + return _s; +} +inline const std::string& JsonExpr::_internal_column_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.column_name_.Get(); +} +inline void JsonExpr::_internal_set_column_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.column_name_.Set(value, GetArena()); +} +inline std::string* JsonExpr::_internal_mutable_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.column_name_.Mutable( GetArena()); +} +inline std::string* JsonExpr::release_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.column_name) + return _impl_.column_name_.Release(); +} +inline void JsonExpr::set_allocated_column_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.column_name_.IsDefault()) { + _impl_.column_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.column_name) +} + +// .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"]; +inline bool JsonExpr::has_formatted_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.formatted_expr_ != nullptr); + return value; +} +inline void JsonExpr::clear_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.formatted_expr_ != nullptr) _impl_.formatted_expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& JsonExpr::_internal_formatted_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.formatted_expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonExpr::formatted_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.formatted_expr) + return _internal_formatted_expr(); +} +inline void JsonExpr::unsafe_arena_set_allocated_formatted_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.formatted_expr_); + } + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.formatted_expr) +} +inline ::pg_query::Node* JsonExpr::release_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.formatted_expr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.formatted_expr_; + _impl_.formatted_expr_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomain::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; +inline ::pg_query::Node* JsonExpr::_internal_mutable_formatted_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.formatted_expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arg_; + return _impl_.formatted_expr_; } -inline ::pg_query::Node* CoerceToDomain::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.arg) +inline ::pg_query::Node* JsonExpr::mutable_formatted_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_formatted_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.formatted_expr) return _msg; } -inline void CoerceToDomain::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonExpr::set_allocated_formatted_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.formatted_expr_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.arg) -} -// uint32 resulttype = 3 [json_name = "resulttype"]; -inline void CoerceToDomain::clear_resulttype() { - _impl_.resulttype_ = 0u; -} -inline uint32_t CoerceToDomain::_internal_resulttype() const { - return _impl_.resulttype_; -} -inline uint32_t CoerceToDomain::resulttype() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttype) - return _internal_resulttype(); -} -inline void CoerceToDomain::_internal_set_resulttype(uint32_t value) { - - _impl_.resulttype_ = value; -} -inline void CoerceToDomain::set_resulttype(uint32_t value) { - _internal_set_resulttype(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttype) + _impl_.formatted_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.formatted_expr) } -// int32 resulttypmod = 4 [json_name = "resulttypmod"]; -inline void CoerceToDomain::clear_resulttypmod() { - _impl_.resulttypmod_ = 0; +// .pg_query.JsonFormat format = 5 [json_name = "format"]; +inline bool JsonExpr::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; } -inline int32_t CoerceToDomain::_internal_resulttypmod() const { - return _impl_.resulttypmod_; +inline void JsonExpr::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline int32_t CoerceToDomain::resulttypmod() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttypmod) - return _internal_resulttypmod(); +inline const ::pg_query::JsonFormat& JsonExpr::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline void CoerceToDomain::_internal_set_resulttypmod(int32_t value) { - - _impl_.resulttypmod_ = value; +inline const ::pg_query::JsonFormat& JsonExpr::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.format) + return _internal_format(); } -inline void CoerceToDomain::set_resulttypmod(int32_t value) { - _internal_set_resulttypmod(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttypmod) +inline void JsonExpr::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + } + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.format) } +inline ::pg_query::JsonFormat* JsonExpr::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// uint32 resultcollid = 5 [json_name = "resultcollid"]; -inline void CoerceToDomain::clear_resultcollid() { - _impl_.resultcollid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline uint32_t CoerceToDomain::_internal_resultcollid() const { - return _impl_.resultcollid_; +inline ::pg_query::JsonFormat* JsonExpr::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.format) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; + return temp; } -inline uint32_t CoerceToDomain::resultcollid() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resultcollid) - return _internal_resultcollid(); +inline ::pg_query::JsonFormat* JsonExpr::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + } + return _impl_.format_; } -inline void CoerceToDomain::_internal_set_resultcollid(uint32_t value) { - - _impl_.resultcollid_ = value; +inline ::pg_query::JsonFormat* JsonExpr::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.format) + return _msg; } -inline void CoerceToDomain::set_resultcollid(uint32_t value) { - _internal_set_resultcollid(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resultcollid) +inline void JsonExpr::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.format) } -// .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; -inline void CoerceToDomain::clear_coercionformat() { - _impl_.coercionformat_ = 0; +// .pg_query.Node path_spec = 6 [json_name = "path_spec"]; +inline bool JsonExpr::has_path_spec() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.path_spec_ != nullptr); + return value; } -inline ::pg_query::CoercionForm CoerceToDomain::_internal_coercionformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.coercionformat_); +inline void JsonExpr::clear_path_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.path_spec_ != nullptr) _impl_.path_spec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline ::pg_query::CoercionForm CoerceToDomain::coercionformat() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.coercionformat) - return _internal_coercionformat(); +inline const ::pg_query::Node& JsonExpr::_internal_path_spec() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.path_spec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CoerceToDomain::_internal_set_coercionformat(::pg_query::CoercionForm value) { - - _impl_.coercionformat_ = value; +inline const ::pg_query::Node& JsonExpr::path_spec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.path_spec) + return _internal_path_spec(); } -inline void CoerceToDomain::set_coercionformat(::pg_query::CoercionForm value) { - _internal_set_coercionformat(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.coercionformat) +inline void JsonExpr::unsafe_arena_set_allocated_path_spec(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.path_spec_); + } + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.path_spec) } +inline ::pg_query::Node* JsonExpr::release_path_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 location = 7 [json_name = "location"]; -inline void CoerceToDomain::clear_location() { - _impl_.location_ = 0; -} -inline int32_t CoerceToDomain::_internal_location() const { - return _impl_.location_; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* released = _impl_.path_spec_; + _impl_.path_spec_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t CoerceToDomain::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.location) - return _internal_location(); +inline ::pg_query::Node* JsonExpr::unsafe_arena_release_path_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.path_spec) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* temp = _impl_.path_spec_; + _impl_.path_spec_ = nullptr; + return temp; } -inline void CoerceToDomain::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* JsonExpr::_internal_mutable_path_spec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.path_spec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.path_spec_; } -inline void CoerceToDomain::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.location) +inline ::pg_query::Node* JsonExpr::mutable_path_spec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_path_spec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.path_spec) + return _msg; } +inline void JsonExpr::set_allocated_path_spec(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.path_spec_); + } -// ------------------------------------------------------------------- - -// CoerceToDomainValue + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CoerceToDomainValue::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; + _impl_.path_spec_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.path_spec) } -inline bool CoerceToDomainValue::has_xpr() const { - return _internal_has_xpr(); + +// .pg_query.JsonReturning returning = 7 [json_name = "returning"]; +inline bool JsonExpr::has_returning() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); + return value; } -inline void CoerceToDomainValue::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void JsonExpr::clear_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::Node& CoerceToDomainValue::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonReturning& JsonExpr::_internal_returning() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); } -inline const ::pg_query::Node& CoerceToDomainValue::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.xpr) - return _internal_xpr(); +inline const ::pg_query::JsonReturning& JsonExpr::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.returning) + return _internal_returning(); } -inline void CoerceToDomainValue::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonExpr::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomainValue.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.returning) } -inline ::pg_query::Node* CoerceToDomainValue::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::JsonReturning* JsonExpr::release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CoerceToDomainValue::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.CoerceToDomainValue.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::JsonReturning* JsonExpr::unsafe_arena_release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.returning) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; return temp; } -inline ::pg_query::Node* CoerceToDomainValue::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; +inline ::pg_query::JsonReturning* JsonExpr::_internal_mutable_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); } - return _impl_.xpr_; + return _impl_.returning_; } -inline ::pg_query::Node* CoerceToDomainValue::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomainValue.xpr) +inline ::pg_query::JsonReturning* JsonExpr::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.returning) return _msg; } -inline void CoerceToDomainValue::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonExpr::set_allocated_returning(::pg_query::JsonReturning* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomainValue.xpr) + + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.returning) } -// uint32 type_id = 2 [json_name = "typeId"]; -inline void CoerceToDomainValue::clear_type_id() { - _impl_.type_id_ = 0u; +// repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"]; +inline int JsonExpr::_internal_passing_names_size() const { + return _internal_passing_names().size(); } -inline uint32_t CoerceToDomainValue::_internal_type_id() const { - return _impl_.type_id_; +inline int JsonExpr::passing_names_size() const { + return _internal_passing_names_size(); } -inline uint32_t CoerceToDomainValue::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_id) - return _internal_type_id(); +inline void JsonExpr::clear_passing_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_names_.Clear(); } -inline void CoerceToDomainValue::_internal_set_type_id(uint32_t value) { - - _impl_.type_id_ = value; +inline ::pg_query::Node* JsonExpr::mutable_passing_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.passing_names) + return _internal_mutable_passing_names()->Mutable(index); } -inline void CoerceToDomainValue::set_type_id(uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_id) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonExpr::mutable_passing_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonExpr.passing_names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passing_names(); } - -// int32 type_mod = 3 [json_name = "typeMod"]; -inline void CoerceToDomainValue::clear_type_mod() { - _impl_.type_mod_ = 0; +inline const ::pg_query::Node& JsonExpr::passing_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.passing_names) + return _internal_passing_names().Get(index); } -inline int32_t CoerceToDomainValue::_internal_type_mod() const { - return _impl_.type_mod_; +inline ::pg_query::Node* JsonExpr::add_passing_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonExpr.passing_names) + return _add; } -inline int32_t CoerceToDomainValue::type_mod() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_mod) - return _internal_type_mod(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonExpr::passing_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonExpr.passing_names) + return _internal_passing_names(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonExpr::_internal_passing_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_names_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonExpr::_internal_mutable_passing_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_names_; +} + +// repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"]; +inline int JsonExpr::_internal_passing_values_size() const { + return _internal_passing_values().size(); +} +inline int JsonExpr::passing_values_size() const { + return _internal_passing_values_size(); +} +inline void JsonExpr::clear_passing_values() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_values_.Clear(); +} +inline ::pg_query::Node* JsonExpr::mutable_passing_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.passing_values) + return _internal_mutable_passing_values()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonExpr::mutable_passing_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonExpr.passing_values) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passing_values(); +} +inline const ::pg_query::Node& JsonExpr::passing_values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.passing_values) + return _internal_passing_values().Get(index); +} +inline ::pg_query::Node* JsonExpr::add_passing_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing_values()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonExpr.passing_values) + return _add; } -inline void CoerceToDomainValue::_internal_set_type_mod(int32_t value) { - - _impl_.type_mod_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonExpr::passing_values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonExpr.passing_values) + return _internal_passing_values(); } -inline void CoerceToDomainValue::set_type_mod(int32_t value) { - _internal_set_type_mod(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_mod) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonExpr::_internal_passing_values() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_values_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonExpr::_internal_mutable_passing_values() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_values_; } -// uint32 collation = 4 [json_name = "collation"]; -inline void CoerceToDomainValue::clear_collation() { - _impl_.collation_ = 0u; +// .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"]; +inline bool JsonExpr::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); + return value; } -inline uint32_t CoerceToDomainValue::_internal_collation() const { - return _impl_.collation_; +inline void JsonExpr::clear_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline uint32_t CoerceToDomainValue::collation() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.collation) - return _internal_collation(); +inline const ::pg_query::JsonBehavior& JsonExpr::_internal_on_empty() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline void CoerceToDomainValue::_internal_set_collation(uint32_t value) { - - _impl_.collation_ = value; +inline const ::pg_query::JsonBehavior& JsonExpr::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.on_empty) + return _internal_on_empty(); } -inline void CoerceToDomainValue::set_collation(uint32_t value) { - _internal_set_collation(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.collation) +inline void JsonExpr::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); + } + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.on_empty) } +inline ::pg_query::JsonBehavior* JsonExpr::release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 location = 5 [json_name = "location"]; -inline void CoerceToDomainValue::clear_location() { - _impl_.location_ = 0; -} -inline int32_t CoerceToDomainValue::_internal_location() const { - return _impl_.location_; + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t CoerceToDomainValue::location() const { - // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.location) - return _internal_location(); +inline ::pg_query::JsonBehavior* JsonExpr::unsafe_arena_release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.on_empty) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; + return temp; } -inline void CoerceToDomainValue::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::JsonBehavior* JsonExpr::_internal_mutable_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_empty_; } -inline void CoerceToDomainValue::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.location) +inline ::pg_query::JsonBehavior* JsonExpr::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.on_empty) + return _msg; } +inline void JsonExpr::set_allocated_on_empty(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); + } -// ------------------------------------------------------------------- - -// SetToDefault + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool SetToDefault::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.on_empty) } -inline bool SetToDefault::has_xpr() const { - return _internal_has_xpr(); + +// .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"]; +inline bool JsonExpr::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; } -inline void SetToDefault::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void JsonExpr::clear_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000040u; } -inline const ::pg_query::Node& SetToDefault::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonBehavior& JsonExpr::_internal_on_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::Node& SetToDefault::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.xpr) - return _internal_xpr(); +inline const ::pg_query::JsonBehavior& JsonExpr::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.on_error) + return _internal_on_error(); } -inline void SetToDefault::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonExpr::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000040u; } else { - + _impl_._has_bits_[0] &= ~0x00000040u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetToDefault.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonExpr.on_error) } -inline ::pg_query::Node* SetToDefault::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::JsonBehavior* JsonExpr::release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SetToDefault::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.SetToDefault.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::JsonBehavior* JsonExpr::unsafe_arena_release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonExpr.on_error) + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; return temp; } -inline ::pg_query::Node* SetToDefault::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; +inline ::pg_query::JsonBehavior* JsonExpr::_internal_mutable_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000040u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.xpr_; + return _impl_.on_error_; } -inline ::pg_query::Node* SetToDefault::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.SetToDefault.xpr) +inline ::pg_query::JsonBehavior* JsonExpr::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonExpr.on_error) return _msg; } -inline void SetToDefault::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonExpr::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000040u; } else { - + _impl_._has_bits_[0] &= ~0x00000040u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.SetToDefault.xpr) + + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonExpr.on_error) } -// uint32 type_id = 2 [json_name = "typeId"]; -inline void SetToDefault::clear_type_id() { - _impl_.type_id_ = 0u; +// bool use_io_coercion = 12 [json_name = "use_io_coercion"]; +inline void JsonExpr::clear_use_io_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.use_io_coercion_ = false; } -inline uint32_t SetToDefault::_internal_type_id() const { - return _impl_.type_id_; +inline bool JsonExpr::use_io_coercion() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.use_io_coercion) + return _internal_use_io_coercion(); } -inline uint32_t SetToDefault::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_id) - return _internal_type_id(); +inline void JsonExpr::set_use_io_coercion(bool value) { + _internal_set_use_io_coercion(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.use_io_coercion) } -inline void SetToDefault::_internal_set_type_id(uint32_t value) { - - _impl_.type_id_ = value; +inline bool JsonExpr::_internal_use_io_coercion() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_io_coercion_; } -inline void SetToDefault::set_type_id(uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_id) +inline void JsonExpr::_internal_set_use_io_coercion(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.use_io_coercion_ = value; } -// int32 type_mod = 3 [json_name = "typeMod"]; -inline void SetToDefault::clear_type_mod() { - _impl_.type_mod_ = 0; +// bool use_json_coercion = 13 [json_name = "use_json_coercion"]; +inline void JsonExpr::clear_use_json_coercion() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.use_json_coercion_ = false; } -inline int32_t SetToDefault::_internal_type_mod() const { - return _impl_.type_mod_; +inline bool JsonExpr::use_json_coercion() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.use_json_coercion) + return _internal_use_json_coercion(); } -inline int32_t SetToDefault::type_mod() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_mod) - return _internal_type_mod(); +inline void JsonExpr::set_use_json_coercion(bool value) { + _internal_set_use_json_coercion(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.use_json_coercion) } -inline void SetToDefault::_internal_set_type_mod(int32_t value) { - - _impl_.type_mod_ = value; +inline bool JsonExpr::_internal_use_json_coercion() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_json_coercion_; } -inline void SetToDefault::set_type_mod(int32_t value) { - _internal_set_type_mod(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_mod) +inline void JsonExpr::_internal_set_use_json_coercion(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.use_json_coercion_ = value; } -// uint32 collation = 4 [json_name = "collation"]; -inline void SetToDefault::clear_collation() { - _impl_.collation_ = 0u; +// .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"]; +inline void JsonExpr::clear_wrapper() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wrapper_ = 0; } -inline uint32_t SetToDefault::_internal_collation() const { - return _impl_.collation_; +inline ::pg_query::JsonWrapper JsonExpr::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.wrapper) + return _internal_wrapper(); } -inline uint32_t SetToDefault::collation() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.collation) - return _internal_collation(); +inline void JsonExpr::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.wrapper) } -inline void SetToDefault::_internal_set_collation(uint32_t value) { - - _impl_.collation_ = value; +inline ::pg_query::JsonWrapper JsonExpr::_internal_wrapper() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); +} +inline void JsonExpr::_internal_set_wrapper(::pg_query::JsonWrapper value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wrapper_ = value; +} + +// bool omit_quotes = 15 [json_name = "omit_quotes"]; +inline void JsonExpr::clear_omit_quotes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.omit_quotes_ = false; +} +inline bool JsonExpr::omit_quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.omit_quotes) + return _internal_omit_quotes(); +} +inline void JsonExpr::set_omit_quotes(bool value) { + _internal_set_omit_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.omit_quotes) +} +inline bool JsonExpr::_internal_omit_quotes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.omit_quotes_; +} +inline void JsonExpr::_internal_set_omit_quotes(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.omit_quotes_ = value; +} + +// uint32 collation = 16 [json_name = "collation"]; +inline void JsonExpr::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_ = 0u; } -inline void SetToDefault::set_collation(uint32_t value) { +inline ::uint32_t JsonExpr::collation() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.collation) + return _internal_collation(); +} +inline void JsonExpr::set_collation(::uint32_t value) { _internal_set_collation(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.collation) + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.collation) +} +inline ::uint32_t JsonExpr::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; +} +inline void JsonExpr::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; } -// int32 location = 5 [json_name = "location"]; -inline void SetToDefault::clear_location() { +// int32 location = 17 [json_name = "location"]; +inline void JsonExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.location_ = 0; } -inline int32_t SetToDefault::_internal_location() const { - return _impl_.location_; +inline ::int32_t JsonExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonExpr.location) + return _internal_location(); +} +inline void JsonExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonExpr.location) +} +inline ::int32_t JsonExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// JsonTablePath + +// string name = 1 [json_name = "name"]; +inline void JsonTablePath::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& JsonTablePath::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePath.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void JsonTablePath::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePath.name) +} +inline std::string* JsonTablePath::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePath.name) + return _s; +} +inline const std::string& JsonTablePath::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void JsonTablePath::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline int32_t SetToDefault::location() const { - // @@protoc_insertion_point(field_get:pg_query.SetToDefault.location) - return _internal_location(); +inline std::string* JsonTablePath::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline void SetToDefault::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline std::string* JsonTablePath::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePath.name) + return _impl_.name_.Release(); } -inline void SetToDefault::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SetToDefault.location) +inline void JsonTablePath::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePath.name) } // ------------------------------------------------------------------- -// CurrentOfExpr +// JsonTablePathScan -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool CurrentOfExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} -inline bool CurrentOfExpr::has_xpr() const { - return _internal_has_xpr(); +// .pg_query.Node plan = 1 [json_name = "plan"]; +inline bool JsonTablePathScan::has_plan() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); + return value; } -inline void CurrentOfExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void JsonTablePathScan::clear_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CurrentOfExpr::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& JsonTablePathScan::_internal_plan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.plan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CurrentOfExpr::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonTablePathScan::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.plan) + return _internal_plan(); } -inline void CurrentOfExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonTablePathScan::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CurrentOfExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.plan) } -inline ::pg_query::Node* CurrentOfExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTablePathScan::release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CurrentOfExpr::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTablePathScan::unsafe_arena_release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.plan) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; return temp; } -inline ::pg_query::Node* CurrentOfExpr::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; +inline ::pg_query::Node* JsonTablePathScan::_internal_mutable_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.plan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.plan_; } -inline ::pg_query::Node* CurrentOfExpr::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.xpr) +inline ::pg_query::Node* JsonTablePathScan::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.plan) return _msg; } -inline void CurrentOfExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTablePathScan::set_allocated_plan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.xpr) + + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.plan) } -// uint32 cvarno = 2 [json_name = "cvarno"]; -inline void CurrentOfExpr::clear_cvarno() { - _impl_.cvarno_ = 0u; +// .pg_query.JsonTablePath path = 2 [json_name = "path"]; +inline bool JsonTablePathScan::has_path() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.path_ != nullptr); + return value; } -inline uint32_t CurrentOfExpr::_internal_cvarno() const { - return _impl_.cvarno_; +inline void JsonTablePathScan::clear_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.path_ != nullptr) _impl_.path_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline uint32_t CurrentOfExpr::cvarno() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cvarno) - return _internal_cvarno(); +inline const ::pg_query::JsonTablePath& JsonTablePathScan::_internal_path() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonTablePath* p = _impl_.path_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePath_default_instance_); } -inline void CurrentOfExpr::_internal_set_cvarno(uint32_t value) { - - _impl_.cvarno_ = value; +inline const ::pg_query::JsonTablePath& JsonTablePathScan::path() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.path) + return _internal_path(); } -inline void CurrentOfExpr::set_cvarno(uint32_t value) { - _internal_set_cvarno(value); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cvarno) +inline void JsonTablePathScan::unsafe_arena_set_allocated_path(::pg_query::JsonTablePath* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.path_); + } + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.path) } +inline ::pg_query::JsonTablePath* JsonTablePathScan::release_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string cursor_name = 3 [json_name = "cursor_name"]; -inline void CurrentOfExpr::clear_cursor_name() { - _impl_.cursor_name_.ClearToEmpty(); -} -inline const std::string& CurrentOfExpr::cursor_name() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_name) - return _internal_cursor_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CurrentOfExpr::set_cursor_name(ArgT0&& arg0, ArgT... args) { - - _impl_.cursor_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_name) -} -inline std::string* CurrentOfExpr::mutable_cursor_name() { - std::string* _s = _internal_mutable_cursor_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.cursor_name) - return _s; -} -inline const std::string& CurrentOfExpr::_internal_cursor_name() const { - return _impl_.cursor_name_.Get(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePath* released = _impl_.path_; + _impl_.path_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CurrentOfExpr::_internal_set_cursor_name(const std::string& value) { - - _impl_.cursor_name_.Set(value, GetArenaForAllocation()); +inline ::pg_query::JsonTablePath* JsonTablePathScan::unsafe_arena_release_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.path) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePath* temp = _impl_.path_; + _impl_.path_ = nullptr; + return temp; } -inline std::string* CurrentOfExpr::_internal_mutable_cursor_name() { - - return _impl_.cursor_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::JsonTablePath* JsonTablePathScan::_internal_mutable_path() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.path_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePath>(GetArena()); + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(p); + } + return _impl_.path_; } -inline std::string* CurrentOfExpr::release_cursor_name() { - // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.cursor_name) - return _impl_.cursor_name_.Release(); +inline ::pg_query::JsonTablePath* JsonTablePathScan::mutable_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePath* _msg = _internal_mutable_path(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.path) + return _msg; } -inline void CurrentOfExpr::set_allocated_cursor_name(std::string* cursor_name) { - if (cursor_name != nullptr) { - - } else { - +inline void JsonTablePathScan::set_allocated_path(::pg_query::JsonTablePath* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonTablePath*>(_impl_.path_); } - _impl_.cursor_name_.SetAllocated(cursor_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cursor_name_.IsDefault()) { - _impl_.cursor_name_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePath*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.cursor_name) + + _impl_.path_ = reinterpret_cast<::pg_query::JsonTablePath*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.path) } -// int32 cursor_param = 4 [json_name = "cursor_param"]; -inline void CurrentOfExpr::clear_cursor_param() { - _impl_.cursor_param_ = 0; +// bool error_on_error = 3 [json_name = "errorOnError"]; +inline void JsonTablePathScan::clear_error_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.error_on_error_ = false; } -inline int32_t CurrentOfExpr::_internal_cursor_param() const { - return _impl_.cursor_param_; +inline bool JsonTablePathScan::error_on_error() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.error_on_error) + return _internal_error_on_error(); } -inline int32_t CurrentOfExpr::cursor_param() const { - // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_param) - return _internal_cursor_param(); +inline void JsonTablePathScan::set_error_on_error(bool value) { + _internal_set_error_on_error(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.error_on_error) } -inline void CurrentOfExpr::_internal_set_cursor_param(int32_t value) { - - _impl_.cursor_param_ = value; +inline bool JsonTablePathScan::_internal_error_on_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.error_on_error_; } -inline void CurrentOfExpr::set_cursor_param(int32_t value) { - _internal_set_cursor_param(value); - // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_param) +inline void JsonTablePathScan::_internal_set_error_on_error(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.error_on_error_ = value; } -// ------------------------------------------------------------------- - -// NextValueExpr - -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool NextValueExpr::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; +// .pg_query.Node child = 4 [json_name = "child"]; +inline bool JsonTablePathScan::has_child() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.child_ != nullptr); + return value; } -inline bool NextValueExpr::has_xpr() const { - return _internal_has_xpr(); -} -inline void NextValueExpr::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void JsonTablePathScan::clear_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.child_ != nullptr) _impl_.child_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& NextValueExpr::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& JsonTablePathScan::_internal_child() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.child_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& NextValueExpr::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonTablePathScan::child() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.child) + return _internal_child(); } -inline void NextValueExpr::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonTablePathScan::unsafe_arena_set_allocated_child(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.child_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NextValueExpr.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathScan.child) } -inline ::pg_query::Node* NextValueExpr::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTablePathScan::release_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.child_; + _impl_.child_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* NextValueExpr::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.NextValueExpr.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTablePathScan::unsafe_arena_release_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathScan.child) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.child_; + _impl_.child_ = nullptr; return temp; } -inline ::pg_query::Node* NextValueExpr::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; +inline ::pg_query::Node* JsonTablePathScan::_internal_mutable_child() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.child_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.child_; } -inline ::pg_query::Node* NextValueExpr::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.NextValueExpr.xpr) +inline ::pg_query::Node* JsonTablePathScan::mutable_child() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_child(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathScan.child) return _msg; } -inline void NextValueExpr::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTablePathScan::set_allocated_child(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.child_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.NextValueExpr.xpr) + + _impl_.child_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathScan.child) } -// uint32 seqid = 2 [json_name = "seqid"]; -inline void NextValueExpr::clear_seqid() { - _impl_.seqid_ = 0u; +// int32 col_min = 5 [json_name = "colMin"]; +inline void JsonTablePathScan::clear_col_min() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_min_ = 0; } -inline uint32_t NextValueExpr::_internal_seqid() const { - return _impl_.seqid_; +inline ::int32_t JsonTablePathScan::col_min() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.col_min) + return _internal_col_min(); } -inline uint32_t NextValueExpr::seqid() const { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.seqid) - return _internal_seqid(); +inline void JsonTablePathScan::set_col_min(::int32_t value) { + _internal_set_col_min(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.col_min) } -inline void NextValueExpr::_internal_set_seqid(uint32_t value) { - - _impl_.seqid_ = value; +inline ::int32_t JsonTablePathScan::_internal_col_min() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_min_; } -inline void NextValueExpr::set_seqid(uint32_t value) { - _internal_set_seqid(value); - // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.seqid) +inline void JsonTablePathScan::_internal_set_col_min(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.col_min_ = value; } -// uint32 type_id = 3 [json_name = "typeId"]; -inline void NextValueExpr::clear_type_id() { - _impl_.type_id_ = 0u; +// int32 col_max = 6 [json_name = "colMax"]; +inline void JsonTablePathScan::clear_col_max() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_max_ = 0; } -inline uint32_t NextValueExpr::_internal_type_id() const { - return _impl_.type_id_; +inline ::int32_t JsonTablePathScan::col_max() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathScan.col_max) + return _internal_col_max(); } -inline uint32_t NextValueExpr::type_id() const { - // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.type_id) - return _internal_type_id(); +inline void JsonTablePathScan::set_col_max(::int32_t value) { + _internal_set_col_max(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathScan.col_max) } -inline void NextValueExpr::_internal_set_type_id(uint32_t value) { - - _impl_.type_id_ = value; +inline ::int32_t JsonTablePathScan::_internal_col_max() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_max_; } -inline void NextValueExpr::set_type_id(uint32_t value) { - _internal_set_type_id(value); - // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.type_id) +inline void JsonTablePathScan::_internal_set_col_max(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.col_max_ = value; } // ------------------------------------------------------------------- -// InferenceElem +// JsonTableSiblingJoin -// .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool InferenceElem::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} -inline bool InferenceElem::has_xpr() const { - return _internal_has_xpr(); +// .pg_query.Node plan = 1 [json_name = "plan"]; +inline bool JsonTableSiblingJoin::has_plan() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.plan_ != nullptr); + return value; } -inline void InferenceElem::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void JsonTableSiblingJoin::clear_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.plan_ != nullptr) _impl_.plan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& InferenceElem::_internal_xpr() const { - const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_plan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.plan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& InferenceElem::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.xpr) - return _internal_xpr(); +inline const ::pg_query::Node& JsonTableSiblingJoin::plan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.plan) + return _internal_plan(); } -inline void InferenceElem::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_plan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.plan_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.plan) } -inline ::pg_query::Node* InferenceElem::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTableSiblingJoin::release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.plan_; + _impl_.plan_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* InferenceElem::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.InferenceElem.xpr) - - ::pg_query::Node* temp = _impl_.xpr_; - _impl_.xpr_ = nullptr; +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.plan) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.plan_; + _impl_.plan_ = nullptr; return temp; } -inline ::pg_query::Node* InferenceElem::_internal_mutable_xpr() { - - if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_plan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.plan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.xpr_; + return _impl_.plan_; } -inline ::pg_query::Node* InferenceElem::mutable_xpr() { - ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.xpr) +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_plan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_plan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.plan) return _msg; } -inline void InferenceElem::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTableSiblingJoin::set_allocated_plan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.plan_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.xpr) -} -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool InferenceElem::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; + _impl_.plan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.plan) } -inline bool InferenceElem::has_expr() const { - return _internal_has_expr(); + +// .pg_query.Node lplan = 2 [json_name = "lplan"]; +inline bool JsonTableSiblingJoin::has_lplan() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.lplan_ != nullptr); + return value; } -inline void InferenceElem::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void JsonTableSiblingJoin::clear_lplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.lplan_ != nullptr) _impl_.lplan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& InferenceElem::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_lplan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.lplan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& InferenceElem::expr() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.expr) - return _internal_expr(); +inline const ::pg_query::Node& JsonTableSiblingJoin::lplan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.lplan) + return _internal_lplan(); } -inline void InferenceElem::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_lplan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lplan_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.lplan) } -inline ::pg_query::Node* InferenceElem::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::Node* JsonTableSiblingJoin::release_lplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.lplan_; + _impl_.lplan_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* InferenceElem::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.InferenceElem.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_lplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.lplan) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.lplan_; + _impl_.lplan_ = nullptr; return temp; } -inline ::pg_query::Node* InferenceElem::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_lplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.lplan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.expr_; + return _impl_.lplan_; } -inline ::pg_query::Node* InferenceElem::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.expr) +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_lplan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lplan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.lplan) return _msg; } -inline void InferenceElem::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTableSiblingJoin::set_allocated_lplan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.lplan_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.expr) + + _impl_.lplan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.lplan) } -// uint32 infercollid = 3 [json_name = "infercollid"]; -inline void InferenceElem::clear_infercollid() { - _impl_.infercollid_ = 0u; +// .pg_query.Node rplan = 3 [json_name = "rplan"]; +inline bool JsonTableSiblingJoin::has_rplan() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rplan_ != nullptr); + return value; } -inline uint32_t InferenceElem::_internal_infercollid() const { - return _impl_.infercollid_; +inline void JsonTableSiblingJoin::clear_rplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rplan_ != nullptr) _impl_.rplan_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline uint32_t InferenceElem::infercollid() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.infercollid) - return _internal_infercollid(); +inline const ::pg_query::Node& JsonTableSiblingJoin::_internal_rplan() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rplan_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void InferenceElem::_internal_set_infercollid(uint32_t value) { - - _impl_.infercollid_ = value; +inline const ::pg_query::Node& JsonTableSiblingJoin::rplan() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableSiblingJoin.rplan) + return _internal_rplan(); } -inline void InferenceElem::set_infercollid(uint32_t value) { - _internal_set_infercollid(value); - // @@protoc_insertion_point(field_set:pg_query.InferenceElem.infercollid) +inline void JsonTableSiblingJoin::unsafe_arena_set_allocated_rplan(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rplan_); + } + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableSiblingJoin.rplan) } +inline ::pg_query::Node* JsonTableSiblingJoin::release_rplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// uint32 inferopclass = 4 [json_name = "inferopclass"]; -inline void InferenceElem::clear_inferopclass() { - _impl_.inferopclass_ = 0u; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.rplan_; + _impl_.rplan_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline uint32_t InferenceElem::_internal_inferopclass() const { - return _impl_.inferopclass_; +inline ::pg_query::Node* JsonTableSiblingJoin::unsafe_arena_release_rplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableSiblingJoin.rplan) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.rplan_; + _impl_.rplan_ = nullptr; + return temp; } -inline uint32_t InferenceElem::inferopclass() const { - // @@protoc_insertion_point(field_get:pg_query.InferenceElem.inferopclass) - return _internal_inferopclass(); +inline ::pg_query::Node* JsonTableSiblingJoin::_internal_mutable_rplan() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.rplan_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.rplan_; } -inline void InferenceElem::_internal_set_inferopclass(uint32_t value) { - - _impl_.inferopclass_ = value; +inline ::pg_query::Node* JsonTableSiblingJoin::mutable_rplan() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rplan(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableSiblingJoin.rplan) + return _msg; } -inline void InferenceElem::set_inferopclass(uint32_t value) { - _internal_set_inferopclass(value); - // @@protoc_insertion_point(field_set:pg_query.InferenceElem.inferopclass) +inline void JsonTableSiblingJoin::set_allocated_rplan(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.rplan_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.rplan_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableSiblingJoin.rplan) } // ------------------------------------------------------------------- -// TargetEntry +// NullTest // .pg_query.Node xpr = 1 [json_name = "xpr"]; -inline bool TargetEntry::_internal_has_xpr() const { - return this != internal_default_instance() && _impl_.xpr_ != nullptr; -} -inline bool TargetEntry::has_xpr() const { - return _internal_has_xpr(); +inline bool NullTest::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void TargetEntry::clear_xpr() { - if (GetArenaForAllocation() == nullptr && _impl_.xpr_ != nullptr) { - delete _impl_.xpr_; - } - _impl_.xpr_ = nullptr; +inline void NullTest::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& TargetEntry::_internal_xpr() const { +inline const ::pg_query::Node& NullTest::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.xpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TargetEntry::xpr() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.xpr) +inline const ::pg_query::Node& NullTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullTest.xpr) return _internal_xpr(); } -inline void TargetEntry::unsafe_arena_set_allocated_xpr( - ::pg_query::Node* xpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.xpr_); +inline void NullTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.xpr_ = xpr; - if (xpr) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.xpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.xpr) } -inline ::pg_query::Node* TargetEntry::release_xpr() { - - ::pg_query::Node* temp = _impl_.xpr_; +inline ::pg_query::Node* NullTest::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* TargetEntry::unsafe_arena_release_xpr() { - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.xpr) - +inline ::pg_query::Node* NullTest::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NullTest.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::Node* temp = _impl_.xpr_; _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* TargetEntry::_internal_mutable_xpr() { - +inline ::pg_query::Node* NullTest::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.xpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.xpr_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.xpr_; } -inline ::pg_query::Node* TargetEntry::mutable_xpr() { +inline ::pg_query::Node* NullTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_xpr(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.xpr) + // @@protoc_insertion_point(field_mutable:pg_query.NullTest.xpr) return _msg; } -inline void TargetEntry::set_allocated_xpr(::pg_query::Node* xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void NullTest::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.xpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (xpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(xpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - xpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, xpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.xpr_ = xpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.xpr) -} -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool TargetEntry::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.xpr) } -inline bool TargetEntry::has_expr() const { - return _internal_has_expr(); + +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool NullTest::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void TargetEntry::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void NullTest::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& TargetEntry::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& NullTest::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& TargetEntry::expr() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.expr) - return _internal_expr(); +inline const ::pg_query::Node& NullTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NullTest.arg) + return _internal_arg(); } -inline void TargetEntry::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void NullTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NullTest.arg) } -inline ::pg_query::Node* TargetEntry::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::Node* NullTest::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* TargetEntry::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::Node* NullTest::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NullTest.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* TargetEntry::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::Node* NullTest::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.expr_; + return _impl_.arg_; } -inline ::pg_query::Node* TargetEntry::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.expr) +inline ::pg_query::Node* NullTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.NullTest.arg) return _msg; } -inline void TargetEntry::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void NullTest::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - - } else { - - } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.expr) -} - -// int32 resno = 3 [json_name = "resno"]; -inline void TargetEntry::clear_resno() { - _impl_.resno_ = 0; -} -inline int32_t TargetEntry::_internal_resno() const { - return _impl_.resno_; -} -inline int32_t TargetEntry::resno() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resno) - return _internal_resno(); -} -inline void TargetEntry::_internal_set_resno(int32_t value) { - - _impl_.resno_ = value; -} -inline void TargetEntry::set_resno(int32_t value) { - _internal_set_resno(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resno) -} - -// string resname = 4 [json_name = "resname"]; -inline void TargetEntry::clear_resname() { - _impl_.resname_.ClearToEmpty(); -} -inline const std::string& TargetEntry::resname() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resname) - return _internal_resname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void TargetEntry::set_resname(ArgT0&& arg0, ArgT... args) { - - _impl_.resname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resname) -} -inline std::string* TargetEntry::mutable_resname() { - std::string* _s = _internal_mutable_resname(); - // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.resname) - return _s; -} -inline const std::string& TargetEntry::_internal_resname() const { - return _impl_.resname_.Get(); -} -inline void TargetEntry::_internal_set_resname(const std::string& value) { - - _impl_.resname_.Set(value, GetArenaForAllocation()); -} -inline std::string* TargetEntry::_internal_mutable_resname() { - - return _impl_.resname_.Mutable(GetArenaForAllocation()); -} -inline std::string* TargetEntry::release_resname() { - // @@protoc_insertion_point(field_release:pg_query.TargetEntry.resname) - return _impl_.resname_.Release(); -} -inline void TargetEntry::set_allocated_resname(std::string* resname) { - if (resname != nullptr) { - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.resname_.SetAllocated(resname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.resname_.IsDefault()) { - _impl_.resname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.resname) -} - -// uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; -inline void TargetEntry::clear_ressortgroupref() { - _impl_.ressortgroupref_ = 0u; -} -inline uint32_t TargetEntry::_internal_ressortgroupref() const { - return _impl_.ressortgroupref_; -} -inline uint32_t TargetEntry::ressortgroupref() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.ressortgroupref) - return _internal_ressortgroupref(); -} -inline void TargetEntry::_internal_set_ressortgroupref(uint32_t value) { - - _impl_.ressortgroupref_ = value; -} -inline void TargetEntry::set_ressortgroupref(uint32_t value) { - _internal_set_ressortgroupref(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.ressortgroupref) -} - -// uint32 resorigtbl = 6 [json_name = "resorigtbl"]; -inline void TargetEntry::clear_resorigtbl() { - _impl_.resorigtbl_ = 0u; -} -inline uint32_t TargetEntry::_internal_resorigtbl() const { - return _impl_.resorigtbl_; -} -inline uint32_t TargetEntry::resorigtbl() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigtbl) - return _internal_resorigtbl(); -} -inline void TargetEntry::_internal_set_resorigtbl(uint32_t value) { - - _impl_.resorigtbl_ = value; -} -inline void TargetEntry::set_resorigtbl(uint32_t value) { - _internal_set_resorigtbl(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigtbl) -} - -// int32 resorigcol = 7 [json_name = "resorigcol"]; -inline void TargetEntry::clear_resorigcol() { - _impl_.resorigcol_ = 0; -} -inline int32_t TargetEntry::_internal_resorigcol() const { - return _impl_.resorigcol_; -} -inline int32_t TargetEntry::resorigcol() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigcol) - return _internal_resorigcol(); -} -inline void TargetEntry::_internal_set_resorigcol(int32_t value) { - - _impl_.resorigcol_ = value; -} -inline void TargetEntry::set_resorigcol(int32_t value) { - _internal_set_resorigcol(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigcol) -} -// bool resjunk = 8 [json_name = "resjunk"]; -inline void TargetEntry::clear_resjunk() { - _impl_.resjunk_ = false; -} -inline bool TargetEntry::_internal_resjunk() const { - return _impl_.resjunk_; -} -inline bool TargetEntry::resjunk() const { - // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resjunk) - return _internal_resjunk(); -} -inline void TargetEntry::_internal_set_resjunk(bool value) { - - _impl_.resjunk_ = value; -} -inline void TargetEntry::set_resjunk(bool value) { - _internal_set_resjunk(value); - // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resjunk) + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NullTest.arg) } -// ------------------------------------------------------------------- - -// RangeTblRef - -// int32 rtindex = 1 [json_name = "rtindex"]; -inline void RangeTblRef::clear_rtindex() { - _impl_.rtindex_ = 0; +// .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"]; +inline void NullTest::clear_nulltesttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulltesttype_ = 0; } -inline int32_t RangeTblRef::_internal_rtindex() const { - return _impl_.rtindex_; +inline ::pg_query::NullTestType NullTest::nulltesttype() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.nulltesttype) + return _internal_nulltesttype(); } -inline int32_t RangeTblRef::rtindex() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblRef.rtindex) - return _internal_rtindex(); +inline void NullTest::set_nulltesttype(::pg_query::NullTestType value) { + _internal_set_nulltesttype(value); + // @@protoc_insertion_point(field_set:pg_query.NullTest.nulltesttype) } -inline void RangeTblRef::_internal_set_rtindex(int32_t value) { - - _impl_.rtindex_ = value; +inline ::pg_query::NullTestType NullTest::_internal_nulltesttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::NullTestType>(_impl_.nulltesttype_); } -inline void RangeTblRef::set_rtindex(int32_t value) { - _internal_set_rtindex(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblRef.rtindex) +inline void NullTest::_internal_set_nulltesttype(::pg_query::NullTestType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulltesttype_ = value; } -// ------------------------------------------------------------------- - -// JoinExpr - -// .pg_query.JoinType jointype = 1 [json_name = "jointype"]; -inline void JoinExpr::clear_jointype() { - _impl_.jointype_ = 0; +// bool argisrow = 4 [json_name = "argisrow"]; +inline void NullTest::clear_argisrow() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.argisrow_ = false; } -inline ::pg_query::JoinType JoinExpr::_internal_jointype() const { - return static_cast< ::pg_query::JoinType >(_impl_.jointype_); +inline bool NullTest::argisrow() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.argisrow) + return _internal_argisrow(); } -inline ::pg_query::JoinType JoinExpr::jointype() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.jointype) - return _internal_jointype(); +inline void NullTest::set_argisrow(bool value) { + _internal_set_argisrow(value); + // @@protoc_insertion_point(field_set:pg_query.NullTest.argisrow) } -inline void JoinExpr::_internal_set_jointype(::pg_query::JoinType value) { - - _impl_.jointype_ = value; +inline bool NullTest::_internal_argisrow() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.argisrow_; } -inline void JoinExpr::set_jointype(::pg_query::JoinType value) { - _internal_set_jointype(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.jointype) +inline void NullTest::_internal_set_argisrow(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.argisrow_ = value; } -// bool is_natural = 2 [json_name = "isNatural"]; -inline void JoinExpr::clear_is_natural() { - _impl_.is_natural_ = false; +// int32 location = 5 [json_name = "location"]; +inline void NullTest::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool JoinExpr::_internal_is_natural() const { - return _impl_.is_natural_; +inline ::int32_t NullTest::location() const { + // @@protoc_insertion_point(field_get:pg_query.NullTest.location) + return _internal_location(); } -inline bool JoinExpr::is_natural() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.is_natural) - return _internal_is_natural(); +inline void NullTest::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.NullTest.location) } -inline void JoinExpr::_internal_set_is_natural(bool value) { - - _impl_.is_natural_ = value; +inline ::int32_t NullTest::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void JoinExpr::set_is_natural(bool value) { - _internal_set_is_natural(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.is_natural) +inline void NullTest::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.Node larg = 3 [json_name = "larg"]; -inline bool JoinExpr::_internal_has_larg() const { - return this != internal_default_instance() && _impl_.larg_ != nullptr; -} -inline bool JoinExpr::has_larg() const { - return _internal_has_larg(); +// ------------------------------------------------------------------- + +// BooleanTest + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool BooleanTest::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void JoinExpr::clear_larg() { - if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) { - delete _impl_.larg_; - } - _impl_.larg_ = nullptr; +inline void BooleanTest::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& JoinExpr::_internal_larg() const { - const ::pg_query::Node* p = _impl_.larg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& BooleanTest::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JoinExpr::larg() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.larg) - return _internal_larg(); +inline const ::pg_query::Node& BooleanTest::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.xpr) + return _internal_xpr(); } -inline void JoinExpr::unsafe_arena_set_allocated_larg( - ::pg_query::Node* larg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.larg_); +inline void BooleanTest::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.larg_ = larg; - if (larg) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.larg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.xpr) } -inline ::pg_query::Node* JoinExpr::release_larg() { - - ::pg_query::Node* temp = _impl_.larg_; - _impl_.larg_ = nullptr; +inline ::pg_query::Node* BooleanTest::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_larg() { - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.larg) - - ::pg_query::Node* temp = _impl_.larg_; - _impl_.larg_ = nullptr; +inline ::pg_query::Node* BooleanTest::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.BooleanTest.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_larg() { - - if (_impl_.larg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.larg_ = p; +inline ::pg_query::Node* BooleanTest::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.larg_; + return _impl_.xpr_; } -inline ::pg_query::Node* JoinExpr::mutable_larg() { - ::pg_query::Node* _msg = _internal_mutable_larg(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.larg) +inline ::pg_query::Node* BooleanTest::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.xpr) return _msg; } -inline void JoinExpr::set_allocated_larg(::pg_query::Node* larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void BooleanTest::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.larg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(larg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - larg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, larg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.larg_ = larg; - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.larg) -} -// .pg_query.Node rarg = 4 [json_name = "rarg"]; -inline bool JoinExpr::_internal_has_rarg() const { - return this != internal_default_instance() && _impl_.rarg_ != nullptr; + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.xpr) } -inline bool JoinExpr::has_rarg() const { - return _internal_has_rarg(); + +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool BooleanTest::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void JoinExpr::clear_rarg() { - if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) { - delete _impl_.rarg_; - } - _impl_.rarg_ = nullptr; +inline void BooleanTest::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& JoinExpr::_internal_rarg() const { - const ::pg_query::Node* p = _impl_.rarg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& BooleanTest::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& JoinExpr::rarg() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rarg) - return _internal_rarg(); +inline const ::pg_query::Node& BooleanTest::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.arg) + return _internal_arg(); } -inline void JoinExpr::unsafe_arena_set_allocated_rarg( - ::pg_query::Node* rarg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rarg_); +inline void BooleanTest::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.rarg_ = rarg; - if (rarg) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.rarg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.BooleanTest.arg) } -inline ::pg_query::Node* JoinExpr::release_rarg() { - - ::pg_query::Node* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* BooleanTest::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_rarg() { - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.rarg) - - ::pg_query::Node* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* BooleanTest::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.BooleanTest.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_rarg() { - - if (_impl_.rarg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.rarg_ = p; +inline ::pg_query::Node* BooleanTest::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rarg_; + return _impl_.arg_; } -inline ::pg_query::Node* JoinExpr::mutable_rarg() { - ::pg_query::Node* _msg = _internal_mutable_rarg(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.rarg) +inline ::pg_query::Node* BooleanTest::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.BooleanTest.arg) return _msg; } -inline void JoinExpr::set_allocated_rarg(::pg_query::Node* rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void BooleanTest::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rarg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rarg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - rarg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rarg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.rarg_ = rarg; - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.rarg) + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.BooleanTest.arg) } -// repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; -inline int JoinExpr::_internal_using_clause_size() const { - return _impl_.using_clause_.size(); +// .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"]; +inline void BooleanTest::clear_booltesttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.booltesttype_ = 0; } -inline int JoinExpr::using_clause_size() const { - return _internal_using_clause_size(); +inline ::pg_query::BoolTestType BooleanTest::booltesttype() const { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.booltesttype) + return _internal_booltesttype(); } -inline void JoinExpr::clear_using_clause() { - _impl_.using_clause_.Clear(); +inline void BooleanTest::set_booltesttype(::pg_query::BoolTestType value) { + _internal_set_booltesttype(value); + // @@protoc_insertion_point(field_set:pg_query.BooleanTest.booltesttype) } -inline ::pg_query::Node* JoinExpr::mutable_using_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.using_clause) - return _impl_.using_clause_.Mutable(index); +inline ::pg_query::BoolTestType BooleanTest::_internal_booltesttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::BoolTestType>(_impl_.booltesttype_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -JoinExpr::mutable_using_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.JoinExpr.using_clause) - return &_impl_.using_clause_; +inline void BooleanTest::_internal_set_booltesttype(::pg_query::BoolTestType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.booltesttype_ = value; } -inline const ::pg_query::Node& JoinExpr::_internal_using_clause(int index) const { - return _impl_.using_clause_.Get(index); + +// int32 location = 4 [json_name = "location"]; +inline void BooleanTest::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& JoinExpr::using_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.using_clause) - return _internal_using_clause(index); +inline ::int32_t BooleanTest::location() const { + // @@protoc_insertion_point(field_get:pg_query.BooleanTest.location) + return _internal_location(); } -inline ::pg_query::Node* JoinExpr::_internal_add_using_clause() { - return _impl_.using_clause_.Add(); +inline void BooleanTest::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.BooleanTest.location) } -inline ::pg_query::Node* JoinExpr::add_using_clause() { - ::pg_query::Node* _add = _internal_add_using_clause(); - // @@protoc_insertion_point(field_add:pg_query.JoinExpr.using_clause) - return _add; +inline ::int32_t BooleanTest::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -JoinExpr::using_clause() const { - // @@protoc_insertion_point(field_list:pg_query.JoinExpr.using_clause) - return _impl_.using_clause_; +inline void BooleanTest::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; -inline bool JoinExpr::_internal_has_join_using_alias() const { - return this != internal_default_instance() && _impl_.join_using_alias_ != nullptr; -} -inline bool JoinExpr::has_join_using_alias() const { - return _internal_has_join_using_alias(); +// ------------------------------------------------------------------- + +// MergeAction + +// .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; +inline void MergeAction::clear_match_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.match_kind_ = 0; } -inline void JoinExpr::clear_join_using_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.join_using_alias_ != nullptr) { - delete _impl_.join_using_alias_; - } - _impl_.join_using_alias_ = nullptr; +inline ::pg_query::MergeMatchKind MergeAction::match_kind() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.match_kind) + return _internal_match_kind(); } -inline const ::pg_query::Alias& JoinExpr::_internal_join_using_alias() const { - const ::pg_query::Alias* p = _impl_.join_using_alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline void MergeAction::set_match_kind(::pg_query::MergeMatchKind value) { + _internal_set_match_kind(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.match_kind) } -inline const ::pg_query::Alias& JoinExpr::join_using_alias() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.join_using_alias) - return _internal_join_using_alias(); +inline ::pg_query::MergeMatchKind MergeAction::_internal_match_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::MergeMatchKind>(_impl_.match_kind_); } -inline void JoinExpr::unsafe_arena_set_allocated_join_using_alias( - ::pg_query::Alias* join_using_alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.join_using_alias_); - } - _impl_.join_using_alias_ = join_using_alias; - if (join_using_alias) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.join_using_alias) +inline void MergeAction::_internal_set_match_kind(::pg_query::MergeMatchKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.match_kind_ = value; } -inline ::pg_query::Alias* JoinExpr::release_join_using_alias() { - - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; +inline void MergeAction::clear_command_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.command_type_ = 0; } -inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_join_using_alias() { - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.join_using_alias) - - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; - return temp; +inline ::pg_query::CmdType MergeAction::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.command_type) + return _internal_command_type(); } -inline ::pg_query::Alias* JoinExpr::_internal_mutable_join_using_alias() { - - if (_impl_.join_using_alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.join_using_alias_ = p; - } - return _impl_.join_using_alias_; +inline void MergeAction::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.command_type) } -inline ::pg_query::Alias* JoinExpr::mutable_join_using_alias() { - ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.join_using_alias) - return _msg; +inline ::pg_query::CmdType MergeAction::_internal_command_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CmdType>(_impl_.command_type_); } -inline void JoinExpr::set_allocated_join_using_alias(::pg_query::Alias* join_using_alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.join_using_alias_; - } - if (join_using_alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(join_using_alias); - if (message_arena != submessage_arena) { - join_using_alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, join_using_alias, submessage_arena); - } - - } else { - - } - _impl_.join_using_alias_ = join_using_alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.join_using_alias) +inline void MergeAction::_internal_set_command_type(::pg_query::CmdType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.command_type_ = value; } -// .pg_query.Node quals = 7 [json_name = "quals"]; -inline bool JoinExpr::_internal_has_quals() const { - return this != internal_default_instance() && _impl_.quals_ != nullptr; +// .pg_query.OverridingKind override = 3 [json_name = "override"]; +inline void MergeAction::clear_override() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.override_ = 0; } -inline bool JoinExpr::has_quals() const { - return _internal_has_quals(); +inline ::pg_query::OverridingKind MergeAction::override() const { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.override) + return _internal_override(); } -inline void JoinExpr::clear_quals() { - if (GetArenaForAllocation() == nullptr && _impl_.quals_ != nullptr) { - delete _impl_.quals_; - } - _impl_.quals_ = nullptr; +inline void MergeAction::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.MergeAction.override) } -inline const ::pg_query::Node& JoinExpr::_internal_quals() const { - const ::pg_query::Node* p = _impl_.quals_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::pg_query::OverridingKind MergeAction::_internal_override() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline const ::pg_query::Node& JoinExpr::quals() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.quals) - return _internal_quals(); +inline void MergeAction::_internal_set_override(::pg_query::OverridingKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; +} + +// .pg_query.Node qual = 4 [json_name = "qual"]; +inline bool MergeAction::has_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + return value; +} +inline void MergeAction::clear_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void JoinExpr::unsafe_arena_set_allocated_quals( - ::pg_query::Node* quals) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.quals_); +inline const ::pg_query::Node& MergeAction::_internal_qual() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& MergeAction::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.qual) + return _internal_qual(); +} +inline void MergeAction::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.quals_ = quals; - if (quals) { - + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.quals) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeAction.qual) } -inline ::pg_query::Node* JoinExpr::release_quals() { - - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; +inline ::pg_query::Node* MergeAction::release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* JoinExpr::unsafe_arena_release_quals() { - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.quals) - - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; +inline ::pg_query::Node* MergeAction::unsafe_arena_release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeAction.qual) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; return temp; } -inline ::pg_query::Node* JoinExpr::_internal_mutable_quals() { - - if (_impl_.quals_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.quals_ = p; +inline ::pg_query::Node* MergeAction::_internal_mutable_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.quals_; + return _impl_.qual_; } -inline ::pg_query::Node* JoinExpr::mutable_quals() { - ::pg_query::Node* _msg = _internal_mutable_quals(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.quals) +inline ::pg_query::Node* MergeAction::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.qual) return _msg; } -inline void JoinExpr::set_allocated_quals(::pg_query::Node* quals) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void MergeAction::set_allocated_qual(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.quals_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); } - if (quals) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(quals); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - quals = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, quals, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.quals_ = quals; - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.quals) -} -// .pg_query.Alias alias = 8 [json_name = "alias"]; -inline bool JoinExpr::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeAction.qual) } -inline bool JoinExpr::has_alias() const { - return _internal_has_alias(); + +// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; +inline int MergeAction::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline void JoinExpr::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; +inline int MergeAction::target_list_size() const { + return _internal_target_list_size(); } -inline const ::pg_query::Alias& JoinExpr::_internal_alias() const { - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline void MergeAction::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline const ::pg_query::Alias& JoinExpr::alias() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.alias) - return _internal_alias(); +inline ::pg_query::Node* MergeAction::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline void JoinExpr::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); - } - _impl_.alias_ = alias; - if (alias) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.alias) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } -inline ::pg_query::Alias* JoinExpr::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& MergeAction::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.target_list) + return _internal_target_list().Get(index); } -inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_release:pg_query.JoinExpr.alias) - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; - return temp; +inline ::pg_query::Node* MergeAction::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeAction.target_list) + return _add; } -inline ::pg_query::Alias* JoinExpr::_internal_mutable_alias() { - - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; - } - return _impl_.alias_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeAction.target_list) + return _internal_target_list(); } -inline ::pg_query::Alias* JoinExpr::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.alias) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeAction::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; } -inline void JoinExpr::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.alias_; - } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); - if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); - } - - } else { - - } - _impl_.alias_ = alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.alias) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeAction::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// int32 rtindex = 9 [json_name = "rtindex"]; -inline void JoinExpr::clear_rtindex() { - _impl_.rtindex_ = 0; +// repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; +inline int MergeAction::_internal_update_colnos_size() const { + return _internal_update_colnos().size(); } -inline int32_t JoinExpr::_internal_rtindex() const { - return _impl_.rtindex_; +inline int MergeAction::update_colnos_size() const { + return _internal_update_colnos_size(); } -inline int32_t JoinExpr::rtindex() const { - // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rtindex) - return _internal_rtindex(); +inline void MergeAction::clear_update_colnos() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.update_colnos_.Clear(); } -inline void JoinExpr::_internal_set_rtindex(int32_t value) { - - _impl_.rtindex_ = value; +inline ::pg_query::Node* MergeAction::mutable_update_colnos(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.update_colnos) + return _internal_mutable_update_colnos()->Mutable(index); } -inline void JoinExpr::set_rtindex(int32_t value) { - _internal_set_rtindex(value); - // @@protoc_insertion_point(field_set:pg_query.JoinExpr.rtindex) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeAction::mutable_update_colnos() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.update_colnos) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_update_colnos(); +} +inline const ::pg_query::Node& MergeAction::update_colnos(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeAction.update_colnos) + return _internal_update_colnos().Get(index); +} +inline ::pg_query::Node* MergeAction::add_update_colnos() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_update_colnos()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeAction.update_colnos) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeAction::update_colnos() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeAction.update_colnos) + return _internal_update_colnos(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeAction::_internal_update_colnos() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.update_colnos_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeAction::_internal_mutable_update_colnos() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.update_colnos_; } // ------------------------------------------------------------------- -// FromExpr +// CoerceToDomain -// repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; -inline int FromExpr::_internal_fromlist_size() const { - return _impl_.fromlist_.size(); -} -inline int FromExpr::fromlist_size() const { - return _internal_fromlist_size(); +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool CoerceToDomain::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void FromExpr::clear_fromlist() { - _impl_.fromlist_.Clear(); +inline void CoerceToDomain::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* FromExpr::mutable_fromlist(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.fromlist) - return _impl_.fromlist_.Mutable(index); +inline const ::pg_query::Node& CoerceToDomain::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FromExpr::mutable_fromlist() { - // @@protoc_insertion_point(field_mutable_list:pg_query.FromExpr.fromlist) - return &_impl_.fromlist_; +inline const ::pg_query::Node& CoerceToDomain::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.xpr) + return _internal_xpr(); } -inline const ::pg_query::Node& FromExpr::_internal_fromlist(int index) const { - return _impl_.fromlist_.Get(index); +inline void CoerceToDomain::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.xpr) } -inline const ::pg_query::Node& FromExpr::fromlist(int index) const { - // @@protoc_insertion_point(field_get:pg_query.FromExpr.fromlist) - return _internal_fromlist(index); +inline ::pg_query::Node* CoerceToDomain::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* FromExpr::_internal_add_fromlist() { - return _impl_.fromlist_.Add(); +inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline ::pg_query::Node* FromExpr::add_fromlist() { - ::pg_query::Node* _add = _internal_add_fromlist(); - // @@protoc_insertion_point(field_add:pg_query.FromExpr.fromlist) - return _add; +inline ::pg_query::Node* CoerceToDomain::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FromExpr::fromlist() const { - // @@protoc_insertion_point(field_list:pg_query.FromExpr.fromlist) - return _impl_.fromlist_; +inline ::pg_query::Node* CoerceToDomain::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.xpr) + return _msg; } +inline void CoerceToDomain::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } -// .pg_query.Node quals = 2 [json_name = "quals"]; -inline bool FromExpr::_internal_has_quals() const { - return this != internal_default_instance() && _impl_.quals_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.xpr) } -inline bool FromExpr::has_quals() const { - return _internal_has_quals(); + +// .pg_query.Node arg = 2 [json_name = "arg"]; +inline bool CoerceToDomain::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void FromExpr::clear_quals() { - if (GetArenaForAllocation() == nullptr && _impl_.quals_ != nullptr) { - delete _impl_.quals_; - } - _impl_.quals_ = nullptr; +inline void CoerceToDomain::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& FromExpr::_internal_quals() const { - const ::pg_query::Node* p = _impl_.quals_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& CoerceToDomain::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FromExpr::quals() const { - // @@protoc_insertion_point(field_get:pg_query.FromExpr.quals) - return _internal_quals(); +inline const ::pg_query::Node& CoerceToDomain::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.arg) + return _internal_arg(); } -inline void FromExpr::unsafe_arena_set_allocated_quals( - ::pg_query::Node* quals) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.quals_); +inline void CoerceToDomain::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.quals_ = quals; - if (quals) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FromExpr.quals) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomain.arg) } -inline ::pg_query::Node* FromExpr::release_quals() { - - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; +inline ::pg_query::Node* CoerceToDomain::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* FromExpr::unsafe_arena_release_quals() { - // @@protoc_insertion_point(field_release:pg_query.FromExpr.quals) - - ::pg_query::Node* temp = _impl_.quals_; - _impl_.quals_ = nullptr; +inline ::pg_query::Node* CoerceToDomain::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomain.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* FromExpr::_internal_mutable_quals() { - - if (_impl_.quals_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.quals_ = p; +inline ::pg_query::Node* CoerceToDomain::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.quals_; + return _impl_.arg_; } -inline ::pg_query::Node* FromExpr::mutable_quals() { - ::pg_query::Node* _msg = _internal_mutable_quals(); - // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.quals) +inline ::pg_query::Node* CoerceToDomain::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomain.arg) return _msg; } -inline void FromExpr::set_allocated_quals(::pg_query::Node* quals) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CoerceToDomain::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.quals_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (quals) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(quals); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - quals = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, quals, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.quals_ = quals; - // @@protoc_insertion_point(field_set_allocated:pg_query.FromExpr.quals) + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomain.arg) } -// ------------------------------------------------------------------- +// uint32 resulttype = 3 [json_name = "resulttype"]; +inline void CoerceToDomain::clear_resulttype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resulttype_ = 0u; +} +inline ::uint32_t CoerceToDomain::resulttype() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttype) + return _internal_resulttype(); +} +inline void CoerceToDomain::set_resulttype(::uint32_t value) { + _internal_set_resulttype(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttype) +} +inline ::uint32_t CoerceToDomain::_internal_resulttype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttype_; +} +inline void CoerceToDomain::_internal_set_resulttype(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttype_ = value; +} -// OnConflictExpr +// int32 resulttypmod = 4 [json_name = "resulttypmod"]; +inline void CoerceToDomain::clear_resulttypmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resulttypmod_ = 0; +} +inline ::int32_t CoerceToDomain::resulttypmod() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resulttypmod) + return _internal_resulttypmod(); +} +inline void CoerceToDomain::set_resulttypmod(::int32_t value) { + _internal_set_resulttypmod(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resulttypmod) +} +inline ::int32_t CoerceToDomain::_internal_resulttypmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resulttypmod_; +} +inline void CoerceToDomain::_internal_set_resulttypmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resulttypmod_ = value; +} -// .pg_query.OnConflictAction action = 1 [json_name = "action"]; -inline void OnConflictExpr::clear_action() { - _impl_.action_ = 0; +// uint32 resultcollid = 5 [json_name = "resultcollid"]; +inline void CoerceToDomain::clear_resultcollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resultcollid_ = 0u; } -inline ::pg_query::OnConflictAction OnConflictExpr::_internal_action() const { - return static_cast< ::pg_query::OnConflictAction >(_impl_.action_); +inline ::uint32_t CoerceToDomain::resultcollid() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.resultcollid) + return _internal_resultcollid(); } -inline ::pg_query::OnConflictAction OnConflictExpr::action() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.action) - return _internal_action(); +inline void CoerceToDomain::set_resultcollid(::uint32_t value) { + _internal_set_resultcollid(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.resultcollid) } -inline void OnConflictExpr::_internal_set_action(::pg_query::OnConflictAction value) { - - _impl_.action_ = value; +inline ::uint32_t CoerceToDomain::_internal_resultcollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resultcollid_; } -inline void OnConflictExpr::set_action(::pg_query::OnConflictAction value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.action) +inline void CoerceToDomain::_internal_set_resultcollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resultcollid_ = value; } -// repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; -inline int OnConflictExpr::_internal_arbiter_elems_size() const { - return _impl_.arbiter_elems_.size(); +// .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"]; +inline void CoerceToDomain::clear_coercionformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coercionformat_ = 0; } -inline int OnConflictExpr::arbiter_elems_size() const { - return _internal_arbiter_elems_size(); +inline ::pg_query::CoercionForm CoerceToDomain::coercionformat() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.coercionformat) + return _internal_coercionformat(); } -inline void OnConflictExpr::clear_arbiter_elems() { - _impl_.arbiter_elems_.Clear(); +inline void CoerceToDomain::set_coercionformat(::pg_query::CoercionForm value) { + _internal_set_coercionformat(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.coercionformat) } -inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_elems(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_elems) - return _impl_.arbiter_elems_.Mutable(index); +inline ::pg_query::CoercionForm CoerceToDomain::_internal_coercionformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.coercionformat_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OnConflictExpr::mutable_arbiter_elems() { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.arbiter_elems) - return &_impl_.arbiter_elems_; +inline void CoerceToDomain::_internal_set_coercionformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coercionformat_ = value; } -inline const ::pg_query::Node& OnConflictExpr::_internal_arbiter_elems(int index) const { - return _impl_.arbiter_elems_.Get(index); + +// int32 location = 7 [json_name = "location"]; +inline void CoerceToDomain::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& OnConflictExpr::arbiter_elems(int index) const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_elems) - return _internal_arbiter_elems(index); +inline ::int32_t CoerceToDomain::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomain.location) + return _internal_location(); } -inline ::pg_query::Node* OnConflictExpr::_internal_add_arbiter_elems() { - return _impl_.arbiter_elems_.Add(); +inline void CoerceToDomain::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomain.location) } -inline ::pg_query::Node* OnConflictExpr::add_arbiter_elems() { - ::pg_query::Node* _add = _internal_add_arbiter_elems(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.arbiter_elems) - return _add; +inline ::int32_t CoerceToDomain::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OnConflictExpr::arbiter_elems() const { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.arbiter_elems) - return _impl_.arbiter_elems_; +inline void CoerceToDomain::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; -inline bool OnConflictExpr::_internal_has_arbiter_where() const { - return this != internal_default_instance() && _impl_.arbiter_where_ != nullptr; -} -inline bool OnConflictExpr::has_arbiter_where() const { - return _internal_has_arbiter_where(); +// ------------------------------------------------------------------- + +// CoerceToDomainValue + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool CoerceToDomainValue::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void OnConflictExpr::clear_arbiter_where() { - if (GetArenaForAllocation() == nullptr && _impl_.arbiter_where_ != nullptr) { - delete _impl_.arbiter_where_; - } - _impl_.arbiter_where_ = nullptr; +inline void CoerceToDomainValue::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& OnConflictExpr::_internal_arbiter_where() const { - const ::pg_query::Node* p = _impl_.arbiter_where_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& CoerceToDomainValue::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& OnConflictExpr::arbiter_where() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_where) - return _internal_arbiter_where(); +inline const ::pg_query::Node& CoerceToDomainValue::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.xpr) + return _internal_xpr(); } -inline void OnConflictExpr::unsafe_arena_set_allocated_arbiter_where( - ::pg_query::Node* arbiter_where) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arbiter_where_); +inline void CoerceToDomainValue::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.arbiter_where_ = arbiter_where; - if (arbiter_where) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.arbiter_where) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CoerceToDomainValue.xpr) } -inline ::pg_query::Node* OnConflictExpr::release_arbiter_where() { - - ::pg_query::Node* temp = _impl_.arbiter_where_; - _impl_.arbiter_where_ = nullptr; +inline ::pg_query::Node* CoerceToDomainValue::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_arbiter_where() { - // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.arbiter_where) - - ::pg_query::Node* temp = _impl_.arbiter_where_; - _impl_.arbiter_where_ = nullptr; +inline ::pg_query::Node* CoerceToDomainValue::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CoerceToDomainValue.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* OnConflictExpr::_internal_mutable_arbiter_where() { - - if (_impl_.arbiter_where_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arbiter_where_ = p; +inline ::pg_query::Node* CoerceToDomainValue::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.arbiter_where_; + return _impl_.xpr_; } -inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_where() { - ::pg_query::Node* _msg = _internal_mutable_arbiter_where(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_where) +inline ::pg_query::Node* CoerceToDomainValue::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CoerceToDomainValue.xpr) return _msg; } -inline void OnConflictExpr::set_allocated_arbiter_where(::pg_query::Node* arbiter_where) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CoerceToDomainValue::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arbiter_where_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (arbiter_where) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arbiter_where); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - arbiter_where = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arbiter_where, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arbiter_where_ = arbiter_where; - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.arbiter_where) + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CoerceToDomainValue.xpr) } -// uint32 constraint = 4 [json_name = "constraint"]; -inline void OnConflictExpr::clear_constraint() { - _impl_.constraint_ = 0u; +// uint32 type_id = 2 [json_name = "typeId"]; +inline void CoerceToDomainValue::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_id_ = 0u; } -inline uint32_t OnConflictExpr::_internal_constraint() const { - return _impl_.constraint_; +inline ::uint32_t CoerceToDomainValue::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_id) + return _internal_type_id(); } -inline uint32_t OnConflictExpr::constraint() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.constraint) - return _internal_constraint(); +inline void CoerceToDomainValue::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_id) } -inline void OnConflictExpr::_internal_set_constraint(uint32_t value) { - - _impl_.constraint_ = value; +inline ::uint32_t CoerceToDomainValue::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; } -inline void OnConflictExpr::set_constraint(uint32_t value) { - _internal_set_constraint(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.constraint) +inline void CoerceToDomainValue::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; } -// repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; -inline int OnConflictExpr::_internal_on_conflict_set_size() const { - return _impl_.on_conflict_set_.size(); +// int32 type_mod = 3 [json_name = "typeMod"]; +inline void CoerceToDomainValue::clear_type_mod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_mod_ = 0; } -inline int OnConflictExpr::on_conflict_set_size() const { - return _internal_on_conflict_set_size(); +inline ::int32_t CoerceToDomainValue::type_mod() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.type_mod) + return _internal_type_mod(); } -inline void OnConflictExpr::clear_on_conflict_set() { - _impl_.on_conflict_set_.Clear(); +inline void CoerceToDomainValue::set_type_mod(::int32_t value) { + _internal_set_type_mod(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.type_mod) } -inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_set(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_set) - return _impl_.on_conflict_set_.Mutable(index); +inline ::int32_t CoerceToDomainValue::_internal_type_mod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_mod_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OnConflictExpr::mutable_on_conflict_set() { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.on_conflict_set) - return &_impl_.on_conflict_set_; +inline void CoerceToDomainValue::_internal_set_type_mod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_mod_ = value; } -inline const ::pg_query::Node& OnConflictExpr::_internal_on_conflict_set(int index) const { - return _impl_.on_conflict_set_.Get(index); + +// uint32 collation = 4 [json_name = "collation"]; +inline void CoerceToDomainValue::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_ = 0u; } -inline const ::pg_query::Node& OnConflictExpr::on_conflict_set(int index) const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_set) - return _internal_on_conflict_set(index); +inline ::uint32_t CoerceToDomainValue::collation() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.collation) + return _internal_collation(); } -inline ::pg_query::Node* OnConflictExpr::_internal_add_on_conflict_set() { - return _impl_.on_conflict_set_.Add(); +inline void CoerceToDomainValue::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.collation) } -inline ::pg_query::Node* OnConflictExpr::add_on_conflict_set() { - ::pg_query::Node* _add = _internal_add_on_conflict_set(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.on_conflict_set) - return _add; +inline ::uint32_t CoerceToDomainValue::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OnConflictExpr::on_conflict_set() const { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.on_conflict_set) - return _impl_.on_conflict_set_; +inline void CoerceToDomainValue::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; } -// .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; -inline bool OnConflictExpr::_internal_has_on_conflict_where() const { - return this != internal_default_instance() && _impl_.on_conflict_where_ != nullptr; +// int32 location = 5 [json_name = "location"]; +inline void CoerceToDomainValue::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool OnConflictExpr::has_on_conflict_where() const { - return _internal_has_on_conflict_where(); +inline ::int32_t CoerceToDomainValue::location() const { + // @@protoc_insertion_point(field_get:pg_query.CoerceToDomainValue.location) + return _internal_location(); } -inline void OnConflictExpr::clear_on_conflict_where() { - if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_where_ != nullptr) { - delete _impl_.on_conflict_where_; - } - _impl_.on_conflict_where_ = nullptr; +inline void CoerceToDomainValue::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CoerceToDomainValue.location) } -inline const ::pg_query::Node& OnConflictExpr::_internal_on_conflict_where() const { - const ::pg_query::Node* p = _impl_.on_conflict_where_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::int32_t CoerceToDomainValue::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::pg_query::Node& OnConflictExpr::on_conflict_where() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_where) - return _internal_on_conflict_where(); +inline void CoerceToDomainValue::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// SetToDefault + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool SetToDefault::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; +} +inline void SetToDefault::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& SetToDefault::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& SetToDefault::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.xpr) + return _internal_xpr(); } -inline void OnConflictExpr::unsafe_arena_set_allocated_on_conflict_where( - ::pg_query::Node* on_conflict_where) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.on_conflict_where_); +inline void SetToDefault::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.on_conflict_where_ = on_conflict_where; - if (on_conflict_where) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.on_conflict_where) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetToDefault.xpr) } -inline ::pg_query::Node* OnConflictExpr::release_on_conflict_where() { - - ::pg_query::Node* temp = _impl_.on_conflict_where_; - _impl_.on_conflict_where_ = nullptr; +inline ::pg_query::Node* SetToDefault::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_on_conflict_where() { - // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.on_conflict_where) - - ::pg_query::Node* temp = _impl_.on_conflict_where_; - _impl_.on_conflict_where_ = nullptr; +inline ::pg_query::Node* SetToDefault::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SetToDefault.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::Node* OnConflictExpr::_internal_mutable_on_conflict_where() { - - if (_impl_.on_conflict_where_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.on_conflict_where_ = p; +inline ::pg_query::Node* SetToDefault::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.on_conflict_where_; + return _impl_.xpr_; } -inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_where() { - ::pg_query::Node* _msg = _internal_mutable_on_conflict_where(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_where) +inline ::pg_query::Node* SetToDefault::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.SetToDefault.xpr) return _msg; } -inline void OnConflictExpr::set_allocated_on_conflict_where(::pg_query::Node* on_conflict_where) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SetToDefault::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.on_conflict_where_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (on_conflict_where) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(on_conflict_where); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - on_conflict_where = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, on_conflict_where, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.on_conflict_where_ = on_conflict_where; - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.on_conflict_where) + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SetToDefault.xpr) } -// int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; -inline void OnConflictExpr::clear_excl_rel_index() { - _impl_.excl_rel_index_ = 0; +// uint32 type_id = 2 [json_name = "typeId"]; +inline void SetToDefault::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_id_ = 0u; } -inline int32_t OnConflictExpr::_internal_excl_rel_index() const { - return _impl_.excl_rel_index_; +inline ::uint32_t SetToDefault::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_id) + return _internal_type_id(); } -inline int32_t OnConflictExpr::excl_rel_index() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_index) - return _internal_excl_rel_index(); +inline void SetToDefault::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_id) } -inline void OnConflictExpr::_internal_set_excl_rel_index(int32_t value) { - - _impl_.excl_rel_index_ = value; +inline ::uint32_t SetToDefault::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; } -inline void OnConflictExpr::set_excl_rel_index(int32_t value) { - _internal_set_excl_rel_index(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.excl_rel_index) +inline void SetToDefault::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; } -// repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; -inline int OnConflictExpr::_internal_excl_rel_tlist_size() const { - return _impl_.excl_rel_tlist_.size(); +// int32 type_mod = 3 [json_name = "typeMod"]; +inline void SetToDefault::clear_type_mod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_mod_ = 0; } -inline int OnConflictExpr::excl_rel_tlist_size() const { - return _internal_excl_rel_tlist_size(); +inline ::int32_t SetToDefault::type_mod() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.type_mod) + return _internal_type_mod(); } -inline void OnConflictExpr::clear_excl_rel_tlist() { - _impl_.excl_rel_tlist_.Clear(); +inline void SetToDefault::set_type_mod(::int32_t value) { + _internal_set_type_mod(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.type_mod) } -inline ::pg_query::Node* OnConflictExpr::mutable_excl_rel_tlist(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.excl_rel_tlist) - return _impl_.excl_rel_tlist_.Mutable(index); +inline ::int32_t SetToDefault::_internal_type_mod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_mod_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OnConflictExpr::mutable_excl_rel_tlist() { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.excl_rel_tlist) - return &_impl_.excl_rel_tlist_; +inline void SetToDefault::_internal_set_type_mod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_mod_ = value; } -inline const ::pg_query::Node& OnConflictExpr::_internal_excl_rel_tlist(int index) const { - return _impl_.excl_rel_tlist_.Get(index); + +// uint32 collation = 4 [json_name = "collation"]; +inline void SetToDefault::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_ = 0u; } -inline const ::pg_query::Node& OnConflictExpr::excl_rel_tlist(int index) const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_tlist) - return _internal_excl_rel_tlist(index); +inline ::uint32_t SetToDefault::collation() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.collation) + return _internal_collation(); } -inline ::pg_query::Node* OnConflictExpr::_internal_add_excl_rel_tlist() { - return _impl_.excl_rel_tlist_.Add(); +inline void SetToDefault::set_collation(::uint32_t value) { + _internal_set_collation(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.collation) } -inline ::pg_query::Node* OnConflictExpr::add_excl_rel_tlist() { - ::pg_query::Node* _add = _internal_add_excl_rel_tlist(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.excl_rel_tlist) - return _add; +inline ::uint32_t SetToDefault::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OnConflictExpr::excl_rel_tlist() const { - // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.excl_rel_tlist) - return _impl_.excl_rel_tlist_; +inline void SetToDefault::_internal_set_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.collation_ = value; +} + +// int32 location = 5 [json_name = "location"]; +inline void SetToDefault::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t SetToDefault::location() const { + // @@protoc_insertion_point(field_get:pg_query.SetToDefault.location) + return _internal_location(); +} +inline void SetToDefault::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.SetToDefault.location) +} +inline ::int32_t SetToDefault::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void SetToDefault::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// IntoClause +// CurrentOfExpr -// .pg_query.RangeVar rel = 1 [json_name = "rel"]; -inline bool IntoClause::_internal_has_rel() const { - return this != internal_default_instance() && _impl_.rel_ != nullptr; -} -inline bool IntoClause::has_rel() const { - return _internal_has_rel(); +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool CurrentOfExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline void IntoClause::clear_rel() { - if (GetArenaForAllocation() == nullptr && _impl_.rel_ != nullptr) { - delete _impl_.rel_; - } - _impl_.rel_ = nullptr; +inline void CurrentOfExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& IntoClause::_internal_rel() const { - const ::pg_query::RangeVar* p = _impl_.rel_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& CurrentOfExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& IntoClause::rel() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.rel) - return _internal_rel(); +inline const ::pg_query::Node& CurrentOfExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.xpr) + return _internal_xpr(); } -inline void IntoClause::unsafe_arena_set_allocated_rel( - ::pg_query::RangeVar* rel) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rel_); +inline void CurrentOfExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.rel_ = rel; - if (rel) { - + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.rel) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CurrentOfExpr.xpr) } -inline ::pg_query::RangeVar* IntoClause::release_rel() { - - ::pg_query::RangeVar* temp = _impl_.rel_; - _impl_.rel_ = nullptr; +inline ::pg_query::Node* CurrentOfExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* IntoClause::unsafe_arena_release_rel() { - // @@protoc_insertion_point(field_release:pg_query.IntoClause.rel) - - ::pg_query::RangeVar* temp = _impl_.rel_; - _impl_.rel_ = nullptr; +inline ::pg_query::Node* CurrentOfExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; return temp; } -inline ::pg_query::RangeVar* IntoClause::_internal_mutable_rel() { - - if (_impl_.rel_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.rel_ = p; +inline ::pg_query::Node* CurrentOfExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rel_; + return _impl_.xpr_; } -inline ::pg_query::RangeVar* IntoClause::mutable_rel() { - ::pg_query::RangeVar* _msg = _internal_mutable_rel(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.rel) +inline ::pg_query::Node* CurrentOfExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.xpr) return _msg; } -inline void IntoClause::set_allocated_rel(::pg_query::RangeVar* rel) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CurrentOfExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rel_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - if (rel) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rel); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - rel = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rel, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rel_ = rel; - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.rel) + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.xpr) } -// repeated .pg_query.Node col_names = 2 [json_name = "colNames"]; -inline int IntoClause::_internal_col_names_size() const { - return _impl_.col_names_.size(); +// uint32 cvarno = 2 [json_name = "cvarno"]; +inline void CurrentOfExpr::clear_cvarno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cvarno_ = 0u; } -inline int IntoClause::col_names_size() const { - return _internal_col_names_size(); +inline ::uint32_t CurrentOfExpr::cvarno() const { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cvarno) + return _internal_cvarno(); } -inline void IntoClause::clear_col_names() { - _impl_.col_names_.Clear(); +inline void CurrentOfExpr::set_cvarno(::uint32_t value) { + _internal_set_cvarno(value); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cvarno) } -inline ::pg_query::Node* IntoClause::mutable_col_names(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.col_names) - return _impl_.col_names_.Mutable(index); +inline ::uint32_t CurrentOfExpr::_internal_cvarno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cvarno_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IntoClause::mutable_col_names() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.col_names) - return &_impl_.col_names_; +inline void CurrentOfExpr::_internal_set_cvarno(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cvarno_ = value; +} + +// string cursor_name = 3 [json_name = "cursor_name"]; +inline void CurrentOfExpr::clear_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_name_.ClearToEmpty(); } -inline const ::pg_query::Node& IntoClause::_internal_col_names(int index) const { - return _impl_.col_names_.Get(index); +inline const std::string& CurrentOfExpr::cursor_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_name) + return _internal_cursor_name(); } -inline const ::pg_query::Node& IntoClause::col_names(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.col_names) - return _internal_col_names(index); +template +inline PROTOBUF_ALWAYS_INLINE void CurrentOfExpr::set_cursor_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_name) } -inline ::pg_query::Node* IntoClause::_internal_add_col_names() { - return _impl_.col_names_.Add(); +inline std::string* CurrentOfExpr::mutable_cursor_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cursor_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CurrentOfExpr.cursor_name) + return _s; } -inline ::pg_query::Node* IntoClause::add_col_names() { - ::pg_query::Node* _add = _internal_add_col_names(); - // @@protoc_insertion_point(field_add:pg_query.IntoClause.col_names) - return _add; +inline const std::string& CurrentOfExpr::_internal_cursor_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cursor_name_.Get(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IntoClause::col_names() const { - // @@protoc_insertion_point(field_list:pg_query.IntoClause.col_names) - return _impl_.col_names_; +inline void CurrentOfExpr::_internal_set_cursor_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_name_.Set(value, GetArena()); +} +inline std::string* CurrentOfExpr::_internal_mutable_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cursor_name_.Mutable( GetArena()); +} +inline std::string* CurrentOfExpr::release_cursor_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CurrentOfExpr.cursor_name) + return _impl_.cursor_name_.Release(); +} +inline void CurrentOfExpr::set_allocated_cursor_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cursor_name_.IsDefault()) { + _impl_.cursor_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CurrentOfExpr.cursor_name) } -// string access_method = 3 [json_name = "accessMethod"]; -inline void IntoClause::clear_access_method() { - _impl_.access_method_.ClearToEmpty(); +// int32 cursor_param = 4 [json_name = "cursor_param"]; +inline void CurrentOfExpr::clear_cursor_param() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cursor_param_ = 0; } -inline const std::string& IntoClause::access_method() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.access_method) - return _internal_access_method(); +inline ::int32_t CurrentOfExpr::cursor_param() const { + // @@protoc_insertion_point(field_get:pg_query.CurrentOfExpr.cursor_param) + return _internal_cursor_param(); } -template -inline PROTOBUF_ALWAYS_INLINE -void IntoClause::set_access_method(ArgT0&& arg0, ArgT... args) { - - _impl_.access_method_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.access_method) +inline void CurrentOfExpr::set_cursor_param(::int32_t value) { + _internal_set_cursor_param(value); + // @@protoc_insertion_point(field_set:pg_query.CurrentOfExpr.cursor_param) } -inline std::string* IntoClause::mutable_access_method() { - std::string* _s = _internal_mutable_access_method(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.access_method) - return _s; +inline ::int32_t CurrentOfExpr::_internal_cursor_param() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cursor_param_; } -inline const std::string& IntoClause::_internal_access_method() const { - return _impl_.access_method_.Get(); +inline void CurrentOfExpr::_internal_set_cursor_param(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cursor_param_ = value; } -inline void IntoClause::_internal_set_access_method(const std::string& value) { - - _impl_.access_method_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// NextValueExpr + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool NextValueExpr::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline std::string* IntoClause::_internal_mutable_access_method() { - - return _impl_.access_method_.Mutable(GetArenaForAllocation()); +inline void NextValueExpr::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* IntoClause::release_access_method() { - // @@protoc_insertion_point(field_release:pg_query.IntoClause.access_method) - return _impl_.access_method_.Release(); +inline const ::pg_query::Node& NextValueExpr::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void IntoClause::set_allocated_access_method(std::string* access_method) { - if (access_method != nullptr) { - - } else { - +inline const ::pg_query::Node& NextValueExpr::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.xpr) + return _internal_xpr(); +} +inline void NextValueExpr::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); } - _impl_.access_method_.SetAllocated(access_method, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.access_method_.IsDefault()) { - _impl_.access_method_.Set("", GetArenaForAllocation()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.access_method) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.NextValueExpr.xpr) } +inline ::pg_query::Node* NextValueExpr::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node options = 4 [json_name = "options"]; -inline int IntoClause::_internal_options_size() const { - return _impl_.options_.size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int IntoClause::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* NextValueExpr::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NextValueExpr.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline void IntoClause::clear_options() { - _impl_.options_.Clear(); +inline ::pg_query::Node* NextValueExpr::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline ::pg_query::Node* IntoClause::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* NextValueExpr::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.NextValueExpr.xpr) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IntoClause::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IntoClause.options) - return &_impl_.options_; +inline void NextValueExpr::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.NextValueExpr.xpr) } -inline const ::pg_query::Node& IntoClause::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// uint32 seqid = 2 [json_name = "seqid"]; +inline void NextValueExpr::clear_seqid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.seqid_ = 0u; } -inline const ::pg_query::Node& IntoClause::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.options) - return _internal_options(index); +inline ::uint32_t NextValueExpr::seqid() const { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.seqid) + return _internal_seqid(); } -inline ::pg_query::Node* IntoClause::_internal_add_options() { - return _impl_.options_.Add(); +inline void NextValueExpr::set_seqid(::uint32_t value) { + _internal_set_seqid(value); + // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.seqid) } -inline ::pg_query::Node* IntoClause::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.IntoClause.options) - return _add; +inline ::uint32_t NextValueExpr::_internal_seqid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.seqid_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IntoClause::options() const { - // @@protoc_insertion_point(field_list:pg_query.IntoClause.options) - return _impl_.options_; +inline void NextValueExpr::_internal_set_seqid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.seqid_ = value; } -// .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"]; -inline void IntoClause::clear_on_commit() { - _impl_.on_commit_ = 0; +// uint32 type_id = 3 [json_name = "typeId"]; +inline void NextValueExpr::clear_type_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_id_ = 0u; } -inline ::pg_query::OnCommitAction IntoClause::_internal_on_commit() const { - return static_cast< ::pg_query::OnCommitAction >(_impl_.on_commit_); +inline ::uint32_t NextValueExpr::type_id() const { + // @@protoc_insertion_point(field_get:pg_query.NextValueExpr.type_id) + return _internal_type_id(); } -inline ::pg_query::OnCommitAction IntoClause::on_commit() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.on_commit) - return _internal_on_commit(); +inline void NextValueExpr::set_type_id(::uint32_t value) { + _internal_set_type_id(value); + // @@protoc_insertion_point(field_set:pg_query.NextValueExpr.type_id) } -inline void IntoClause::_internal_set_on_commit(::pg_query::OnCommitAction value) { - - _impl_.on_commit_ = value; +inline ::uint32_t NextValueExpr::_internal_type_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_id_; } -inline void IntoClause::set_on_commit(::pg_query::OnCommitAction value) { - _internal_set_on_commit(value); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.on_commit) +inline void NextValueExpr::_internal_set_type_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_id_ = value; } -// string table_space_name = 6 [json_name = "tableSpaceName"]; -inline void IntoClause::clear_table_space_name() { - _impl_.table_space_name_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// InferenceElem + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool InferenceElem::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline const std::string& IntoClause::table_space_name() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.table_space_name) - return _internal_table_space_name(); +inline void InferenceElem::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void IntoClause::set_table_space_name(ArgT0&& arg0, ArgT... args) { - - _impl_.table_space_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.table_space_name) +inline const ::pg_query::Node& InferenceElem::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* IntoClause::mutable_table_space_name() { - std::string* _s = _internal_mutable_table_space_name(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.table_space_name) - return _s; +inline const ::pg_query::Node& InferenceElem::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.xpr) + return _internal_xpr(); } -inline const std::string& IntoClause::_internal_table_space_name() const { - return _impl_.table_space_name_.Get(); +inline void InferenceElem::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.xpr) } -inline void IntoClause::_internal_set_table_space_name(const std::string& value) { - - _impl_.table_space_name_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* InferenceElem::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* InferenceElem::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InferenceElem.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline std::string* IntoClause::_internal_mutable_table_space_name() { - - return _impl_.table_space_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* InferenceElem::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline std::string* IntoClause::release_table_space_name() { - // @@protoc_insertion_point(field_release:pg_query.IntoClause.table_space_name) - return _impl_.table_space_name_.Release(); +inline ::pg_query::Node* InferenceElem::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.xpr) + return _msg; } -inline void IntoClause::set_allocated_table_space_name(std::string* table_space_name) { - if (table_space_name != nullptr) { - - } else { - +inline void InferenceElem::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); } - _impl_.table_space_name_.SetAllocated(table_space_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.table_space_name_.IsDefault()) { - _impl_.table_space_name_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.table_space_name) -} -// .pg_query.Node view_query = 7 [json_name = "viewQuery"]; -inline bool IntoClause::_internal_has_view_query() const { - return this != internal_default_instance() && _impl_.view_query_ != nullptr; + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.xpr) } -inline bool IntoClause::has_view_query() const { - return _internal_has_view_query(); + +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool InferenceElem::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void IntoClause::clear_view_query() { - if (GetArenaForAllocation() == nullptr && _impl_.view_query_ != nullptr) { - delete _impl_.view_query_; - } - _impl_.view_query_ = nullptr; +inline void InferenceElem::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& IntoClause::_internal_view_query() const { - const ::pg_query::Node* p = _impl_.view_query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& InferenceElem::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& IntoClause::view_query() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.view_query) - return _internal_view_query(); +inline const ::pg_query::Node& InferenceElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.expr) + return _internal_expr(); } -inline void IntoClause::unsafe_arena_set_allocated_view_query( - ::pg_query::Node* view_query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.view_query_); +inline void InferenceElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.view_query_ = view_query; - if (view_query) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IntoClause.view_query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferenceElem.expr) } -inline ::pg_query::Node* IntoClause::release_view_query() { - - ::pg_query::Node* temp = _impl_.view_query_; - _impl_.view_query_ = nullptr; +inline ::pg_query::Node* InferenceElem::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* IntoClause::unsafe_arena_release_view_query() { - // @@protoc_insertion_point(field_release:pg_query.IntoClause.view_query) - - ::pg_query::Node* temp = _impl_.view_query_; - _impl_.view_query_ = nullptr; +inline ::pg_query::Node* InferenceElem::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InferenceElem.expr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* IntoClause::_internal_mutable_view_query() { - - if (_impl_.view_query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.view_query_ = p; +inline ::pg_query::Node* InferenceElem::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.view_query_; + return _impl_.expr_; } -inline ::pg_query::Node* IntoClause::mutable_view_query() { - ::pg_query::Node* _msg = _internal_mutable_view_query(); - // @@protoc_insertion_point(field_mutable:pg_query.IntoClause.view_query) +inline ::pg_query::Node* InferenceElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.InferenceElem.expr) return _msg; } -inline void IntoClause::set_allocated_view_query(::pg_query::Node* view_query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void InferenceElem::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.view_query_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (view_query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(view_query); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - view_query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, view_query, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.view_query_ = view_query; - // @@protoc_insertion_point(field_set_allocated:pg_query.IntoClause.view_query) + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InferenceElem.expr) } -// bool skip_data = 8 [json_name = "skipData"]; -inline void IntoClause::clear_skip_data() { - _impl_.skip_data_ = false; +// uint32 infercollid = 3 [json_name = "infercollid"]; +inline void InferenceElem::clear_infercollid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.infercollid_ = 0u; } -inline bool IntoClause::_internal_skip_data() const { - return _impl_.skip_data_; +inline ::uint32_t InferenceElem::infercollid() const { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.infercollid) + return _internal_infercollid(); } -inline bool IntoClause::skip_data() const { - // @@protoc_insertion_point(field_get:pg_query.IntoClause.skip_data) - return _internal_skip_data(); +inline void InferenceElem::set_infercollid(::uint32_t value) { + _internal_set_infercollid(value); + // @@protoc_insertion_point(field_set:pg_query.InferenceElem.infercollid) } -inline void IntoClause::_internal_set_skip_data(bool value) { - - _impl_.skip_data_ = value; +inline ::uint32_t InferenceElem::_internal_infercollid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.infercollid_; } -inline void IntoClause::set_skip_data(bool value) { - _internal_set_skip_data(value); - // @@protoc_insertion_point(field_set:pg_query.IntoClause.skip_data) +inline void InferenceElem::_internal_set_infercollid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.infercollid_ = value; } -// ------------------------------------------------------------------- - -// MergeAction - -// bool matched = 1 [json_name = "matched"]; -inline void MergeAction::clear_matched() { - _impl_.matched_ = false; +// uint32 inferopclass = 4 [json_name = "inferopclass"]; +inline void InferenceElem::clear_inferopclass() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inferopclass_ = 0u; } -inline bool MergeAction::_internal_matched() const { - return _impl_.matched_; +inline ::uint32_t InferenceElem::inferopclass() const { + // @@protoc_insertion_point(field_get:pg_query.InferenceElem.inferopclass) + return _internal_inferopclass(); } -inline bool MergeAction::matched() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.matched) - return _internal_matched(); +inline void InferenceElem::set_inferopclass(::uint32_t value) { + _internal_set_inferopclass(value); + // @@protoc_insertion_point(field_set:pg_query.InferenceElem.inferopclass) } -inline void MergeAction::_internal_set_matched(bool value) { - - _impl_.matched_ = value; +inline ::uint32_t InferenceElem::_internal_inferopclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inferopclass_; } -inline void MergeAction::set_matched(bool value) { - _internal_set_matched(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.matched) +inline void InferenceElem::_internal_set_inferopclass(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inferopclass_ = value; } -// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; -inline void MergeAction::clear_command_type() { - _impl_.command_type_ = 0; +// ------------------------------------------------------------------- + +// TargetEntry + +// .pg_query.Node xpr = 1 [json_name = "xpr"]; +inline bool TargetEntry::has_xpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.xpr_ != nullptr); + return value; } -inline ::pg_query::CmdType MergeAction::_internal_command_type() const { - return static_cast< ::pg_query::CmdType >(_impl_.command_type_); +inline void TargetEntry::clear_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.xpr_ != nullptr) _impl_.xpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::CmdType MergeAction::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.command_type) - return _internal_command_type(); +inline const ::pg_query::Node& TargetEntry::_internal_xpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.xpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void MergeAction::_internal_set_command_type(::pg_query::CmdType value) { - - _impl_.command_type_ = value; +inline const ::pg_query::Node& TargetEntry::xpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.xpr) + return _internal_xpr(); } -inline void MergeAction::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.command_type) +inline void TargetEntry::unsafe_arena_set_allocated_xpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.xpr_); + } + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.xpr) } +inline ::pg_query::Node* TargetEntry::release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.OverridingKind override = 3 [json_name = "override"]; -inline void MergeAction::clear_override() { - _impl_.override_ = 0; -} -inline ::pg_query::OverridingKind MergeAction::_internal_override() const { - return static_cast< ::pg_query::OverridingKind >(_impl_.override_); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.xpr_; + _impl_.xpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::OverridingKind MergeAction::override() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.override) - return _internal_override(); +inline ::pg_query::Node* TargetEntry::unsafe_arena_release_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.xpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.xpr_; + _impl_.xpr_ = nullptr; + return temp; } -inline void MergeAction::_internal_set_override(::pg_query::OverridingKind value) { - - _impl_.override_ = value; +inline ::pg_query::Node* TargetEntry::_internal_mutable_xpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.xpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.xpr_; } -inline void MergeAction::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.MergeAction.override) +inline ::pg_query::Node* TargetEntry::mutable_xpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_xpr(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.xpr) + return _msg; } +inline void TargetEntry::set_allocated_xpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.xpr_); + } -// .pg_query.Node qual = 4 [json_name = "qual"]; -inline bool MergeAction::_internal_has_qual() const { - return this != internal_default_instance() && _impl_.qual_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.xpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.xpr) } -inline bool MergeAction::has_qual() const { - return _internal_has_qual(); + +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool TargetEntry::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void MergeAction::clear_qual() { - if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) { - delete _impl_.qual_; - } - _impl_.qual_ = nullptr; +inline void TargetEntry::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& MergeAction::_internal_qual() const { - const ::pg_query::Node* p = _impl_.qual_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& TargetEntry::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& MergeAction::qual() const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.qual) - return _internal_qual(); +inline const ::pg_query::Node& TargetEntry::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.expr) + return _internal_expr(); } -inline void MergeAction::unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.qual_); +inline void TargetEntry::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.qual_ = qual; - if (qual) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeAction.qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TargetEntry.expr) } -inline ::pg_query::Node* MergeAction::release_qual() { - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::Node* TargetEntry::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* MergeAction::unsafe_arena_release_qual() { - // @@protoc_insertion_point(field_release:pg_query.MergeAction.qual) - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::Node* TargetEntry::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.expr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* MergeAction::_internal_mutable_qual() { - - if (_impl_.qual_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.qual_ = p; +inline ::pg_query::Node* TargetEntry::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.qual_; + return _impl_.expr_; } -inline ::pg_query::Node* MergeAction::mutable_qual() { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.qual) +inline ::pg_query::Node* TargetEntry::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.expr) return _msg; } -inline void MergeAction::set_allocated_qual(::pg_query::Node* qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void TargetEntry::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.qual_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(qual); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - qual = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, qual, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.qual_ = qual; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeAction.qual) -} -// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; -inline int MergeAction::_internal_target_list_size() const { - return _impl_.target_list_.size(); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.expr) } -inline int MergeAction::target_list_size() const { - return _internal_target_list_size(); + +// int32 resno = 3 [json_name = "resno"]; +inline void TargetEntry::clear_resno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resno_ = 0; } -inline void MergeAction::clear_target_list() { - _impl_.target_list_.Clear(); +inline ::int32_t TargetEntry::resno() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resno) + return _internal_resno(); } -inline ::pg_query::Node* MergeAction::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.target_list) - return _impl_.target_list_.Mutable(index); +inline void TargetEntry::set_resno(::int32_t value) { + _internal_set_resno(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resno) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MergeAction::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.target_list) - return &_impl_.target_list_; +inline ::int32_t TargetEntry::_internal_resno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resno_; } -inline const ::pg_query::Node& MergeAction::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); +inline void TargetEntry::_internal_set_resno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resno_ = value; } -inline const ::pg_query::Node& MergeAction::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.target_list) - return _internal_target_list(index); + +// string resname = 4 [json_name = "resname"]; +inline void TargetEntry::clear_resname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resname_.ClearToEmpty(); } -inline ::pg_query::Node* MergeAction::_internal_add_target_list() { - return _impl_.target_list_.Add(); +inline const std::string& TargetEntry::resname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resname) + return _internal_resname(); } -inline ::pg_query::Node* MergeAction::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.MergeAction.target_list) - return _add; +template +inline PROTOBUF_ALWAYS_INLINE void TargetEntry::set_resname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resname) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MergeAction::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.MergeAction.target_list) - return _impl_.target_list_; +inline std::string* TargetEntry::mutable_resname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_resname(); + // @@protoc_insertion_point(field_mutable:pg_query.TargetEntry.resname) + return _s; } - -// repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"]; -inline int MergeAction::_internal_update_colnos_size() const { - return _impl_.update_colnos_.size(); +inline const std::string& TargetEntry::_internal_resname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resname_.Get(); } -inline int MergeAction::update_colnos_size() const { - return _internal_update_colnos_size(); +inline void TargetEntry::_internal_set_resname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resname_.Set(value, GetArena()); } -inline void MergeAction::clear_update_colnos() { - _impl_.update_colnos_.Clear(); +inline std::string* TargetEntry::_internal_mutable_resname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.resname_.Mutable( GetArena()); } -inline ::pg_query::Node* MergeAction::mutable_update_colnos(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.MergeAction.update_colnos) - return _impl_.update_colnos_.Mutable(index); +inline std::string* TargetEntry::release_resname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TargetEntry.resname) + return _impl_.resname_.Release(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MergeAction::mutable_update_colnos() { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeAction.update_colnos) - return &_impl_.update_colnos_; +inline void TargetEntry::set_allocated_resname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.resname_.IsDefault()) { + _impl_.resname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.TargetEntry.resname) } -inline const ::pg_query::Node& MergeAction::_internal_update_colnos(int index) const { - return _impl_.update_colnos_.Get(index); + +// uint32 ressortgroupref = 5 [json_name = "ressortgroupref"]; +inline void TargetEntry::clear_ressortgroupref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ressortgroupref_ = 0u; } -inline const ::pg_query::Node& MergeAction::update_colnos(int index) const { - // @@protoc_insertion_point(field_get:pg_query.MergeAction.update_colnos) - return _internal_update_colnos(index); +inline ::uint32_t TargetEntry::ressortgroupref() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.ressortgroupref) + return _internal_ressortgroupref(); } -inline ::pg_query::Node* MergeAction::_internal_add_update_colnos() { - return _impl_.update_colnos_.Add(); +inline void TargetEntry::set_ressortgroupref(::uint32_t value) { + _internal_set_ressortgroupref(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.ressortgroupref) } -inline ::pg_query::Node* MergeAction::add_update_colnos() { - ::pg_query::Node* _add = _internal_add_update_colnos(); - // @@protoc_insertion_point(field_add:pg_query.MergeAction.update_colnos) - return _add; +inline ::uint32_t TargetEntry::_internal_ressortgroupref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ressortgroupref_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MergeAction::update_colnos() const { - // @@protoc_insertion_point(field_list:pg_query.MergeAction.update_colnos) - return _impl_.update_colnos_; +inline void TargetEntry::_internal_set_ressortgroupref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ressortgroupref_ = value; } -// ------------------------------------------------------------------- - -// RawStmt - -// .pg_query.Node stmt = 1 [json_name = "stmt"]; -inline bool RawStmt::_internal_has_stmt() const { - return this != internal_default_instance() && _impl_.stmt_ != nullptr; -} -inline bool RawStmt::has_stmt() const { - return _internal_has_stmt(); +// uint32 resorigtbl = 6 [json_name = "resorigtbl"]; +inline void TargetEntry::clear_resorigtbl() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resorigtbl_ = 0u; } -inline void RawStmt::clear_stmt() { - if (GetArenaForAllocation() == nullptr && _impl_.stmt_ != nullptr) { - delete _impl_.stmt_; - } - _impl_.stmt_ = nullptr; +inline ::uint32_t TargetEntry::resorigtbl() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigtbl) + return _internal_resorigtbl(); } -inline const ::pg_query::Node& RawStmt::_internal_stmt() const { - const ::pg_query::Node* p = _impl_.stmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void TargetEntry::set_resorigtbl(::uint32_t value) { + _internal_set_resorigtbl(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigtbl) } -inline const ::pg_query::Node& RawStmt::stmt() const { - // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt) - return _internal_stmt(); +inline ::uint32_t TargetEntry::_internal_resorigtbl() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resorigtbl_; } -inline void RawStmt::unsafe_arena_set_allocated_stmt( - ::pg_query::Node* stmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.stmt_); - } - _impl_.stmt_ = stmt; - if (stmt) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RawStmt.stmt) +inline void TargetEntry::_internal_set_resorigtbl(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resorigtbl_ = value; } -inline ::pg_query::Node* RawStmt::release_stmt() { - - ::pg_query::Node* temp = _impl_.stmt_; - _impl_.stmt_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// int32 resorigcol = 7 [json_name = "resorigcol"]; +inline void TargetEntry::clear_resorigcol() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resorigcol_ = 0; } -inline ::pg_query::Node* RawStmt::unsafe_arena_release_stmt() { - // @@protoc_insertion_point(field_release:pg_query.RawStmt.stmt) - - ::pg_query::Node* temp = _impl_.stmt_; - _impl_.stmt_ = nullptr; - return temp; +inline ::int32_t TargetEntry::resorigcol() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resorigcol) + return _internal_resorigcol(); } -inline ::pg_query::Node* RawStmt::_internal_mutable_stmt() { - - if (_impl_.stmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.stmt_ = p; - } - return _impl_.stmt_; +inline void TargetEntry::set_resorigcol(::int32_t value) { + _internal_set_resorigcol(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resorigcol) } -inline ::pg_query::Node* RawStmt::mutable_stmt() { - ::pg_query::Node* _msg = _internal_mutable_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.RawStmt.stmt) - return _msg; +inline ::int32_t TargetEntry::_internal_resorigcol() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resorigcol_; } -inline void RawStmt::set_allocated_stmt(::pg_query::Node* stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.stmt_; - } - if (stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(stmt); - if (message_arena != submessage_arena) { - stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, stmt, submessage_arena); - } - - } else { - - } - _impl_.stmt_ = stmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.RawStmt.stmt) +inline void TargetEntry::_internal_set_resorigcol(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resorigcol_ = value; } -// int32 stmt_location = 2 [json_name = "stmt_location"]; -inline void RawStmt::clear_stmt_location() { - _impl_.stmt_location_ = 0; +// bool resjunk = 8 [json_name = "resjunk"]; +inline void TargetEntry::clear_resjunk() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.resjunk_ = false; } -inline int32_t RawStmt::_internal_stmt_location() const { - return _impl_.stmt_location_; +inline bool TargetEntry::resjunk() const { + // @@protoc_insertion_point(field_get:pg_query.TargetEntry.resjunk) + return _internal_resjunk(); } -inline int32_t RawStmt::stmt_location() const { - // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt_location) - return _internal_stmt_location(); +inline void TargetEntry::set_resjunk(bool value) { + _internal_set_resjunk(value); + // @@protoc_insertion_point(field_set:pg_query.TargetEntry.resjunk) } -inline void RawStmt::_internal_set_stmt_location(int32_t value) { - - _impl_.stmt_location_ = value; +inline bool TargetEntry::_internal_resjunk() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.resjunk_; } -inline void RawStmt::set_stmt_location(int32_t value) { - _internal_set_stmt_location(value); - // @@protoc_insertion_point(field_set:pg_query.RawStmt.stmt_location) +inline void TargetEntry::_internal_set_resjunk(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.resjunk_ = value; } -// int32 stmt_len = 3 [json_name = "stmt_len"]; -inline void RawStmt::clear_stmt_len() { - _impl_.stmt_len_ = 0; +// ------------------------------------------------------------------- + +// RangeTblRef + +// int32 rtindex = 1 [json_name = "rtindex"]; +inline void RangeTblRef::clear_rtindex() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtindex_ = 0; } -inline int32_t RawStmt::_internal_stmt_len() const { - return _impl_.stmt_len_; +inline ::int32_t RangeTblRef::rtindex() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblRef.rtindex) + return _internal_rtindex(); } -inline int32_t RawStmt::stmt_len() const { - // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt_len) - return _internal_stmt_len(); +inline void RangeTblRef::set_rtindex(::int32_t value) { + _internal_set_rtindex(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblRef.rtindex) } -inline void RawStmt::_internal_set_stmt_len(int32_t value) { - - _impl_.stmt_len_ = value; +inline ::int32_t RangeTblRef::_internal_rtindex() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtindex_; } -inline void RawStmt::set_stmt_len(int32_t value) { - _internal_set_stmt_len(value); - // @@protoc_insertion_point(field_set:pg_query.RawStmt.stmt_len) +inline void RangeTblRef::_internal_set_rtindex(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rtindex_ = value; } // ------------------------------------------------------------------- -// Query +// JoinExpr -// .pg_query.CmdType command_type = 1 [json_name = "commandType"]; -inline void Query::clear_command_type() { - _impl_.command_type_ = 0; +// .pg_query.JoinType jointype = 1 [json_name = "jointype"]; +inline void JoinExpr::clear_jointype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.jointype_ = 0; } -inline ::pg_query::CmdType Query::_internal_command_type() const { - return static_cast< ::pg_query::CmdType >(_impl_.command_type_); +inline ::pg_query::JoinType JoinExpr::jointype() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.jointype) + return _internal_jointype(); } -inline ::pg_query::CmdType Query::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.Query.command_type) - return _internal_command_type(); +inline void JoinExpr::set_jointype(::pg_query::JoinType value) { + _internal_set_jointype(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.jointype) } -inline void Query::_internal_set_command_type(::pg_query::CmdType value) { - - _impl_.command_type_ = value; +inline ::pg_query::JoinType JoinExpr::_internal_jointype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JoinType>(_impl_.jointype_); } -inline void Query::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.Query.command_type) +inline void JoinExpr::_internal_set_jointype(::pg_query::JoinType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.jointype_ = value; } -// .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; -inline void Query::clear_query_source() { - _impl_.query_source_ = 0; +// bool is_natural = 2 [json_name = "isNatural"]; +inline void JoinExpr::clear_is_natural() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_natural_ = false; } -inline ::pg_query::QuerySource Query::_internal_query_source() const { - return static_cast< ::pg_query::QuerySource >(_impl_.query_source_); +inline bool JoinExpr::is_natural() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.is_natural) + return _internal_is_natural(); } -inline ::pg_query::QuerySource Query::query_source() const { - // @@protoc_insertion_point(field_get:pg_query.Query.query_source) - return _internal_query_source(); +inline void JoinExpr::set_is_natural(bool value) { + _internal_set_is_natural(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.is_natural) } -inline void Query::_internal_set_query_source(::pg_query::QuerySource value) { - - _impl_.query_source_ = value; +inline bool JoinExpr::_internal_is_natural() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_natural_; } -inline void Query::set_query_source(::pg_query::QuerySource value) { - _internal_set_query_source(value); - // @@protoc_insertion_point(field_set:pg_query.Query.query_source) +inline void JoinExpr::_internal_set_is_natural(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_natural_ = value; } -// bool can_set_tag = 3 [json_name = "canSetTag"]; -inline void Query::clear_can_set_tag() { - _impl_.can_set_tag_ = false; +// .pg_query.Node larg = 3 [json_name = "larg"]; +inline bool JoinExpr::has_larg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.larg_ != nullptr); + return value; } -inline bool Query::_internal_can_set_tag() const { - return _impl_.can_set_tag_; +inline void JoinExpr::clear_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.larg_ != nullptr) _impl_.larg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool Query::can_set_tag() const { - // @@protoc_insertion_point(field_get:pg_query.Query.can_set_tag) - return _internal_can_set_tag(); +inline const ::pg_query::Node& JoinExpr::_internal_larg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.larg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void Query::_internal_set_can_set_tag(bool value) { - - _impl_.can_set_tag_ = value; +inline const ::pg_query::Node& JoinExpr::larg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.larg) + return _internal_larg(); } -inline void Query::set_can_set_tag(bool value) { - _internal_set_can_set_tag(value); - // @@protoc_insertion_point(field_set:pg_query.Query.can_set_tag) +inline void JoinExpr::unsafe_arena_set_allocated_larg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.larg_); + } + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.larg) } +inline ::pg_query::Node* JoinExpr::release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; -inline bool Query::_internal_has_utility_stmt() const { - return this != internal_default_instance() && _impl_.utility_stmt_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.larg_; + _impl_.larg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool Query::has_utility_stmt() const { - return _internal_has_utility_stmt(); +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.larg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.larg_; + _impl_.larg_ = nullptr; + return temp; } -inline void Query::clear_utility_stmt() { - if (GetArenaForAllocation() == nullptr && _impl_.utility_stmt_ != nullptr) { - delete _impl_.utility_stmt_; +inline ::pg_query::Node* JoinExpr::_internal_mutable_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.larg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(p); } - _impl_.utility_stmt_ = nullptr; + return _impl_.larg_; +} +inline ::pg_query::Node* JoinExpr::mutable_larg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_larg(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.larg) + return _msg; +} +inline void JoinExpr::set_allocated_larg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.larg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.larg) +} + +// .pg_query.Node rarg = 4 [json_name = "rarg"]; +inline bool JoinExpr::has_rarg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rarg_ != nullptr); + return value; } -inline const ::pg_query::Node& Query::_internal_utility_stmt() const { - const ::pg_query::Node* p = _impl_.utility_stmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void JoinExpr::clear_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rarg_ != nullptr) _impl_.rarg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& Query::utility_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.Query.utility_stmt) - return _internal_utility_stmt(); +inline const ::pg_query::Node& JoinExpr::_internal_rarg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rarg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void Query::unsafe_arena_set_allocated_utility_stmt( - ::pg_query::Node* utility_stmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.utility_stmt_); +inline const ::pg_query::Node& JoinExpr::rarg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rarg) + return _internal_rarg(); +} +inline void JoinExpr::unsafe_arena_set_allocated_rarg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rarg_); } - _impl_.utility_stmt_ = utility_stmt; - if (utility_stmt) { - + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.utility_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.rarg) } -inline ::pg_query::Node* Query::release_utility_stmt() { - - ::pg_query::Node* temp = _impl_.utility_stmt_; - _impl_.utility_stmt_ = nullptr; +inline ::pg_query::Node* JoinExpr::release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rarg_; + _impl_.rarg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_utility_stmt() { - // @@protoc_insertion_point(field_release:pg_query.Query.utility_stmt) - - ::pg_query::Node* temp = _impl_.utility_stmt_; - _impl_.utility_stmt_ = nullptr; +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.rarg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rarg_; + _impl_.rarg_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_utility_stmt() { - - if (_impl_.utility_stmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.utility_stmt_ = p; +inline ::pg_query::Node* JoinExpr::_internal_mutable_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rarg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.utility_stmt_; + return _impl_.rarg_; } -inline ::pg_query::Node* Query::mutable_utility_stmt() { - ::pg_query::Node* _msg = _internal_mutable_utility_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.utility_stmt) +inline ::pg_query::Node* JoinExpr::mutable_rarg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rarg(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.rarg) return _msg; } -inline void Query::set_allocated_utility_stmt(::pg_query::Node* utility_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JoinExpr::set_allocated_rarg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.utility_stmt_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.rarg_); } - if (utility_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(utility_stmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - utility_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, utility_stmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.utility_stmt_ = utility_stmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.utility_stmt) -} -// int32 result_relation = 5 [json_name = "resultRelation"]; -inline void Query::clear_result_relation() { - _impl_.result_relation_ = 0; -} -inline int32_t Query::_internal_result_relation() const { - return _impl_.result_relation_; -} -inline int32_t Query::result_relation() const { - // @@protoc_insertion_point(field_get:pg_query.Query.result_relation) - return _internal_result_relation(); -} -inline void Query::_internal_set_result_relation(int32_t value) { - - _impl_.result_relation_ = value; -} -inline void Query::set_result_relation(int32_t value) { - _internal_set_result_relation(value); - // @@protoc_insertion_point(field_set:pg_query.Query.result_relation) + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.rarg) } -// bool has_aggs = 6 [json_name = "hasAggs"]; -inline void Query::clear_has_aggs() { - _impl_.has_aggs_ = false; +// repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"]; +inline int JoinExpr::_internal_using_clause_size() const { + return _internal_using_clause().size(); } -inline bool Query::_internal_has_aggs() const { - return _impl_.has_aggs_; +inline int JoinExpr::using_clause_size() const { + return _internal_using_clause_size(); } -inline bool Query::has_aggs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_aggs) - return _internal_has_aggs(); +inline void JoinExpr::clear_using_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.using_clause_.Clear(); } -inline void Query::_internal_set_has_aggs(bool value) { - - _impl_.has_aggs_ = value; +inline ::pg_query::Node* JoinExpr::mutable_using_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.using_clause) + return _internal_mutable_using_clause()->Mutable(index); } -inline void Query::set_has_aggs(bool value) { - _internal_set_has_aggs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_aggs) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JoinExpr::mutable_using_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JoinExpr.using_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_using_clause(); } - -// bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; -inline void Query::clear_has_window_funcs() { - _impl_.has_window_funcs_ = false; +inline const ::pg_query::Node& JoinExpr::using_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.using_clause) + return _internal_using_clause().Get(index); } -inline bool Query::_internal_has_window_funcs() const { - return _impl_.has_window_funcs_; +inline ::pg_query::Node* JoinExpr::add_using_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_using_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JoinExpr.using_clause) + return _add; } -inline bool Query::has_window_funcs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_window_funcs) - return _internal_has_window_funcs(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JoinExpr::using_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JoinExpr.using_clause) + return _internal_using_clause(); } -inline void Query::_internal_set_has_window_funcs(bool value) { - - _impl_.has_window_funcs_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JoinExpr::_internal_using_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.using_clause_; } -inline void Query::set_has_window_funcs(bool value) { - _internal_set_has_window_funcs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_window_funcs) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JoinExpr::_internal_mutable_using_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.using_clause_; } -// bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; -inline void Query::clear_has_target_srfs() { - _impl_.has_target_srfs_ = false; +// .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"]; +inline bool JoinExpr::has_join_using_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); + return value; } -inline bool Query::_internal_has_target_srfs() const { - return _impl_.has_target_srfs_; +inline void JoinExpr::clear_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline bool Query::has_target_srfs() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_target_srfs) - return _internal_has_target_srfs(); +inline const ::pg_query::Alias& JoinExpr::_internal_join_using_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.join_using_alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void Query::_internal_set_has_target_srfs(bool value) { - - _impl_.has_target_srfs_ = value; +inline const ::pg_query::Alias& JoinExpr::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.join_using_alias) + return _internal_join_using_alias(); } -inline void Query::set_has_target_srfs(bool value) { - _internal_set_has_target_srfs(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_target_srfs) +inline void JoinExpr::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); + } + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.join_using_alias) } +inline ::pg_query::Alias* JoinExpr::release_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool has_sub_links = 9 [json_name = "hasSubLinks"]; -inline void Query::clear_has_sub_links() { - _impl_.has_sub_links_ = false; -} -inline bool Query::_internal_has_sub_links() const { - return _impl_.has_sub_links_; -} -inline bool Query::has_sub_links() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_sub_links) - return _internal_has_sub_links(); -} -inline void Query::_internal_set_has_sub_links(bool value) { - - _impl_.has_sub_links_ = value; -} -inline void Query::set_has_sub_links(bool value) { - _internal_set_has_sub_links(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_sub_links) + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* released = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.join_using_alias) -// bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; -inline void Query::clear_has_distinct_on() { - _impl_.has_distinct_on_ = false; -} -inline bool Query::_internal_has_distinct_on() const { - return _impl_.has_distinct_on_; -} -inline bool Query::has_distinct_on() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_distinct_on) - return _internal_has_distinct_on(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* temp = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; + return temp; } -inline void Query::_internal_set_has_distinct_on(bool value) { - - _impl_.has_distinct_on_ = value; +inline ::pg_query::Alias* JoinExpr::_internal_mutable_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.join_using_alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.join_using_alias_; } -inline void Query::set_has_distinct_on(bool value) { - _internal_set_has_distinct_on(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_distinct_on) +inline ::pg_query::Alias* JoinExpr::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.join_using_alias) + return _msg; } +inline void JoinExpr::set_allocated_join_using_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); + } -// bool has_recursive = 11 [json_name = "hasRecursive"]; -inline void Query::clear_has_recursive() { - _impl_.has_recursive_ = false; -} -inline bool Query::_internal_has_recursive() const { - return _impl_.has_recursive_; -} -inline bool Query::has_recursive() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_recursive) - return _internal_has_recursive(); -} -inline void Query::_internal_set_has_recursive(bool value) { - - _impl_.has_recursive_ = value; -} -inline void Query::set_has_recursive(bool value) { - _internal_set_has_recursive(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_recursive) -} + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } -// bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; -inline void Query::clear_has_modifying_cte() { - _impl_.has_modifying_cte_ = false; -} -inline bool Query::_internal_has_modifying_cte() const { - return _impl_.has_modifying_cte_; -} -inline bool Query::has_modifying_cte() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_modifying_cte) - return _internal_has_modifying_cte(); -} -inline void Query::_internal_set_has_modifying_cte(bool value) { - - _impl_.has_modifying_cte_ = value; -} -inline void Query::set_has_modifying_cte(bool value) { - _internal_set_has_modifying_cte(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_modifying_cte) + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.join_using_alias) } -// bool has_for_update = 13 [json_name = "hasForUpdate"]; -inline void Query::clear_has_for_update() { - _impl_.has_for_update_ = false; +// .pg_query.Node quals = 7 [json_name = "quals"]; +inline bool JoinExpr::has_quals() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); + return value; } -inline bool Query::_internal_has_for_update() const { - return _impl_.has_for_update_; +inline void JoinExpr::clear_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline bool Query::has_for_update() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_for_update) - return _internal_has_for_update(); +inline const ::pg_query::Node& JoinExpr::_internal_quals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.quals_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void Query::_internal_set_has_for_update(bool value) { - - _impl_.has_for_update_ = value; +inline const ::pg_query::Node& JoinExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.quals) + return _internal_quals(); } -inline void Query::set_has_for_update(bool value) { - _internal_set_has_for_update(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_for_update) +inline void JoinExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); + } + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.quals) } +inline ::pg_query::Node* JoinExpr::release_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool has_row_security = 14 [json_name = "hasRowSecurity"]; -inline void Query::clear_has_row_security() { - _impl_.has_row_security_ = false; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* released = _impl_.quals_; + _impl_.quals_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool Query::_internal_has_row_security() const { - return _impl_.has_row_security_; +inline ::pg_query::Node* JoinExpr::unsafe_arena_release_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.quals) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* temp = _impl_.quals_; + _impl_.quals_ = nullptr; + return temp; } -inline bool Query::has_row_security() const { - // @@protoc_insertion_point(field_get:pg_query.Query.has_row_security) - return _internal_has_row_security(); +inline ::pg_query::Node* JoinExpr::_internal_mutable_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.quals_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.quals_; } -inline void Query::_internal_set_has_row_security(bool value) { - - _impl_.has_row_security_ = value; +inline ::pg_query::Node* JoinExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_quals(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.quals) + return _msg; } -inline void Query::set_has_row_security(bool value) { - _internal_set_has_row_security(value); - // @@protoc_insertion_point(field_set:pg_query.Query.has_row_security) +inline void JoinExpr::set_allocated_quals(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.quals) } -// bool is_return = 15 [json_name = "isReturn"]; -inline void Query::clear_is_return() { - _impl_.is_return_ = false; +// .pg_query.Alias alias = 8 [json_name = "alias"]; +inline bool JoinExpr::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline bool Query::_internal_is_return() const { - return _impl_.is_return_; +inline void JoinExpr::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline bool Query::is_return() const { - // @@protoc_insertion_point(field_get:pg_query.Query.is_return) - return _internal_is_return(); +inline const ::pg_query::Alias& JoinExpr::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void Query::_internal_set_is_return(bool value) { - - _impl_.is_return_ = value; +inline const ::pg_query::Alias& JoinExpr::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.alias) + return _internal_alias(); } -inline void Query::set_is_return(bool value) { - _internal_set_is_return(value); - // @@protoc_insertion_point(field_set:pg_query.Query.is_return) +inline void JoinExpr::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JoinExpr.alias) } +inline ::pg_query::Alias* JoinExpr::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; -inline int Query::_internal_cte_list_size() const { - return _impl_.cte_list_.size(); + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int Query::cte_list_size() const { - return _internal_cte_list_size(); +inline ::pg_query::Alias* JoinExpr::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JoinExpr.alias) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline void Query::clear_cte_list() { - _impl_.cte_list_.Clear(); +inline ::pg_query::Alias* JoinExpr::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline ::pg_query::Node* Query::mutable_cte_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.cte_list) - return _impl_.cte_list_.Mutable(index); +inline ::pg_query::Alias* JoinExpr::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JoinExpr.alias) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_cte_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.cte_list) - return &_impl_.cte_list_; +inline void JoinExpr::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JoinExpr.alias) } -inline const ::pg_query::Node& Query::_internal_cte_list(int index) const { - return _impl_.cte_list_.Get(index); + +// int32 rtindex = 9 [json_name = "rtindex"]; +inline void JoinExpr::clear_rtindex() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtindex_ = 0; } -inline const ::pg_query::Node& Query::cte_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.cte_list) - return _internal_cte_list(index); +inline ::int32_t JoinExpr::rtindex() const { + // @@protoc_insertion_point(field_get:pg_query.JoinExpr.rtindex) + return _internal_rtindex(); } -inline ::pg_query::Node* Query::_internal_add_cte_list() { - return _impl_.cte_list_.Add(); +inline void JoinExpr::set_rtindex(::int32_t value) { + _internal_set_rtindex(value); + // @@protoc_insertion_point(field_set:pg_query.JoinExpr.rtindex) } -inline ::pg_query::Node* Query::add_cte_list() { - ::pg_query::Node* _add = _internal_add_cte_list(); - // @@protoc_insertion_point(field_add:pg_query.Query.cte_list) - return _add; +inline ::int32_t JoinExpr::_internal_rtindex() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtindex_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::cte_list() const { - // @@protoc_insertion_point(field_list:pg_query.Query.cte_list) - return _impl_.cte_list_; +inline void JoinExpr::_internal_set_rtindex(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rtindex_ = value; } -// repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; -inline int Query::_internal_rtable_size() const { - return _impl_.rtable_.size(); +// ------------------------------------------------------------------- + +// FromExpr + +// repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"]; +inline int FromExpr::_internal_fromlist_size() const { + return _internal_fromlist().size(); } -inline int Query::rtable_size() const { - return _internal_rtable_size(); +inline int FromExpr::fromlist_size() const { + return _internal_fromlist_size(); } -inline void Query::clear_rtable() { - _impl_.rtable_.Clear(); +inline void FromExpr::clear_fromlist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fromlist_.Clear(); } -inline ::pg_query::Node* Query::mutable_rtable(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.rtable) - return _impl_.rtable_.Mutable(index); +inline ::pg_query::Node* FromExpr::mutable_fromlist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.fromlist) + return _internal_mutable_fromlist()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_rtable() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rtable) - return &_impl_.rtable_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FromExpr::mutable_fromlist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FromExpr.fromlist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fromlist(); } -inline const ::pg_query::Node& Query::_internal_rtable(int index) const { - return _impl_.rtable_.Get(index); +inline const ::pg_query::Node& FromExpr::fromlist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FromExpr.fromlist) + return _internal_fromlist().Get(index); } -inline const ::pg_query::Node& Query::rtable(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.rtable) - return _internal_rtable(index); +inline ::pg_query::Node* FromExpr::add_fromlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fromlist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FromExpr.fromlist) + return _add; } -inline ::pg_query::Node* Query::_internal_add_rtable() { - return _impl_.rtable_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FromExpr::fromlist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FromExpr.fromlist) + return _internal_fromlist(); } -inline ::pg_query::Node* Query::add_rtable() { - ::pg_query::Node* _add = _internal_add_rtable(); - // @@protoc_insertion_point(field_add:pg_query.Query.rtable) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FromExpr::_internal_fromlist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fromlist_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::rtable() const { - // @@protoc_insertion_point(field_list:pg_query.Query.rtable) - return _impl_.rtable_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FromExpr::_internal_mutable_fromlist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fromlist_; } -// .pg_query.FromExpr jointree = 18 [json_name = "jointree"]; -inline bool Query::_internal_has_jointree() const { - return this != internal_default_instance() && _impl_.jointree_ != nullptr; -} -inline bool Query::has_jointree() const { - return _internal_has_jointree(); +// .pg_query.Node quals = 2 [json_name = "quals"]; +inline bool FromExpr::has_quals() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.quals_ != nullptr); + return value; } -inline void Query::clear_jointree() { - if (GetArenaForAllocation() == nullptr && _impl_.jointree_ != nullptr) { - delete _impl_.jointree_; - } - _impl_.jointree_ = nullptr; +inline void FromExpr::clear_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.quals_ != nullptr) _impl_.quals_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::FromExpr& Query::_internal_jointree() const { - const ::pg_query::FromExpr* p = _impl_.jointree_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_FromExpr_default_instance_); +inline const ::pg_query::Node& FromExpr::_internal_quals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.quals_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::FromExpr& Query::jointree() const { - // @@protoc_insertion_point(field_get:pg_query.Query.jointree) - return _internal_jointree(); +inline const ::pg_query::Node& FromExpr::quals() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FromExpr.quals) + return _internal_quals(); } -inline void Query::unsafe_arena_set_allocated_jointree( - ::pg_query::FromExpr* jointree) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.jointree_); +inline void FromExpr::unsafe_arena_set_allocated_quals(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.quals_); } - _impl_.jointree_ = jointree; - if (jointree) { - + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.jointree) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FromExpr.quals) } -inline ::pg_query::FromExpr* Query::release_jointree() { - - ::pg_query::FromExpr* temp = _impl_.jointree_; - _impl_.jointree_ = nullptr; +inline ::pg_query::Node* FromExpr::release_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.quals_; + _impl_.quals_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::FromExpr* Query::unsafe_arena_release_jointree() { - // @@protoc_insertion_point(field_release:pg_query.Query.jointree) - - ::pg_query::FromExpr* temp = _impl_.jointree_; - _impl_.jointree_ = nullptr; +inline ::pg_query::Node* FromExpr::unsafe_arena_release_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FromExpr.quals) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.quals_; + _impl_.quals_ = nullptr; return temp; } -inline ::pg_query::FromExpr* Query::_internal_mutable_jointree() { - - if (_impl_.jointree_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::FromExpr>(GetArenaForAllocation()); - _impl_.jointree_ = p; +inline ::pg_query::Node* FromExpr::_internal_mutable_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.quals_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.jointree_; + return _impl_.quals_; } -inline ::pg_query::FromExpr* Query::mutable_jointree() { - ::pg_query::FromExpr* _msg = _internal_mutable_jointree(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.jointree) +inline ::pg_query::Node* FromExpr::mutable_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_quals(); + // @@protoc_insertion_point(field_mutable:pg_query.FromExpr.quals) return _msg; } -inline void Query::set_allocated_jointree(::pg_query::FromExpr* jointree) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FromExpr::set_allocated_quals(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.jointree_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.quals_); } - if (jointree) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(jointree); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - jointree = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, jointree, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.jointree_ = jointree; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.jointree) -} -// repeated .pg_query.Node merge_action_list = 19 [json_name = "mergeActionList"]; -inline int Query::_internal_merge_action_list_size() const { - return _impl_.merge_action_list_.size(); -} -inline int Query::merge_action_list_size() const { - return _internal_merge_action_list_size(); -} -inline void Query::clear_merge_action_list() { - _impl_.merge_action_list_.Clear(); -} -inline ::pg_query::Node* Query::mutable_merge_action_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_action_list) - return _impl_.merge_action_list_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_merge_action_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.merge_action_list) - return &_impl_.merge_action_list_; -} -inline const ::pg_query::Node& Query::_internal_merge_action_list(int index) const { - return _impl_.merge_action_list_.Get(index); -} -inline const ::pg_query::Node& Query::merge_action_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.merge_action_list) - return _internal_merge_action_list(index); -} -inline ::pg_query::Node* Query::_internal_add_merge_action_list() { - return _impl_.merge_action_list_.Add(); -} -inline ::pg_query::Node* Query::add_merge_action_list() { - ::pg_query::Node* _add = _internal_add_merge_action_list(); - // @@protoc_insertion_point(field_add:pg_query.Query.merge_action_list) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::merge_action_list() const { - // @@protoc_insertion_point(field_list:pg_query.Query.merge_action_list) - return _impl_.merge_action_list_; + _impl_.quals_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FromExpr.quals) } -// bool merge_use_outer_join = 20 [json_name = "mergeUseOuterJoin"]; -inline void Query::clear_merge_use_outer_join() { - _impl_.merge_use_outer_join_ = false; +// ------------------------------------------------------------------- + +// OnConflictExpr + +// .pg_query.OnConflictAction action = 1 [json_name = "action"]; +inline void OnConflictExpr::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.action_ = 0; } -inline bool Query::_internal_merge_use_outer_join() const { - return _impl_.merge_use_outer_join_; +inline ::pg_query::OnConflictAction OnConflictExpr::action() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.action) + return _internal_action(); } -inline bool Query::merge_use_outer_join() const { - // @@protoc_insertion_point(field_get:pg_query.Query.merge_use_outer_join) - return _internal_merge_use_outer_join(); +inline void OnConflictExpr::set_action(::pg_query::OnConflictAction value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.action) } -inline void Query::_internal_set_merge_use_outer_join(bool value) { - - _impl_.merge_use_outer_join_ = value; +inline ::pg_query::OnConflictAction OnConflictExpr::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OnConflictAction>(_impl_.action_); } -inline void Query::set_merge_use_outer_join(bool value) { - _internal_set_merge_use_outer_join(value); - // @@protoc_insertion_point(field_set:pg_query.Query.merge_use_outer_join) +inline void OnConflictExpr::_internal_set_action(::pg_query::OnConflictAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; } -// repeated .pg_query.Node target_list = 21 [json_name = "targetList"]; -inline int Query::_internal_target_list_size() const { - return _impl_.target_list_.size(); -} -inline int Query::target_list_size() const { - return _internal_target_list_size(); -} -inline void Query::clear_target_list() { - _impl_.target_list_.Clear(); +// repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"]; +inline int OnConflictExpr::_internal_arbiter_elems_size() const { + return _internal_arbiter_elems().size(); } -inline ::pg_query::Node* Query::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.target_list) - return _impl_.target_list_.Mutable(index); +inline int OnConflictExpr::arbiter_elems_size() const { + return _internal_arbiter_elems_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.target_list) - return &_impl_.target_list_; +inline void OnConflictExpr::clear_arbiter_elems() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.arbiter_elems_.Clear(); } -inline const ::pg_query::Node& Query::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); +inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_elems(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_elems) + return _internal_mutable_arbiter_elems()->Mutable(index); } -inline const ::pg_query::Node& Query::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.target_list) - return _internal_target_list(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_arbiter_elems() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.arbiter_elems) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_arbiter_elems(); } -inline ::pg_query::Node* Query::_internal_add_target_list() { - return _impl_.target_list_.Add(); +inline const ::pg_query::Node& OnConflictExpr::arbiter_elems(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_elems) + return _internal_arbiter_elems().Get(index); } -inline ::pg_query::Node* Query::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.Query.target_list) +inline ::pg_query::Node* OnConflictExpr::add_arbiter_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_arbiter_elems()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.arbiter_elems) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.Query.target_list) - return _impl_.target_list_; -} - -// .pg_query.OverridingKind override = 22 [json_name = "override"]; -inline void Query::clear_override() { - _impl_.override_ = 0; -} -inline ::pg_query::OverridingKind Query::_internal_override() const { - return static_cast< ::pg_query::OverridingKind >(_impl_.override_); -} -inline ::pg_query::OverridingKind Query::override() const { - // @@protoc_insertion_point(field_get:pg_query.Query.override) - return _internal_override(); -} -inline void Query::_internal_set_override(::pg_query::OverridingKind value) { - - _impl_.override_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::arbiter_elems() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.arbiter_elems) + return _internal_arbiter_elems(); } -inline void Query::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.Query.override) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_arbiter_elems() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.arbiter_elems_; } - -// .pg_query.OnConflictExpr on_conflict = 23 [json_name = "onConflict"]; -inline bool Query::_internal_has_on_conflict() const { - return this != internal_default_instance() && _impl_.on_conflict_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_arbiter_elems() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.arbiter_elems_; } -inline bool Query::has_on_conflict() const { - return _internal_has_on_conflict(); + +// .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"]; +inline bool OnConflictExpr::has_arbiter_where() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arbiter_where_ != nullptr); + return value; } -inline void Query::clear_on_conflict() { - if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_ != nullptr) { - delete _impl_.on_conflict_; - } - _impl_.on_conflict_ = nullptr; +inline void OnConflictExpr::clear_arbiter_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arbiter_where_ != nullptr) _impl_.arbiter_where_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::OnConflictExpr& Query::_internal_on_conflict() const { - const ::pg_query::OnConflictExpr* p = _impl_.on_conflict_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_OnConflictExpr_default_instance_); +inline const ::pg_query::Node& OnConflictExpr::_internal_arbiter_where() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arbiter_where_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::OnConflictExpr& Query::on_conflict() const { - // @@protoc_insertion_point(field_get:pg_query.Query.on_conflict) - return _internal_on_conflict(); +inline const ::pg_query::Node& OnConflictExpr::arbiter_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.arbiter_where) + return _internal_arbiter_where(); } -inline void Query::unsafe_arena_set_allocated_on_conflict( - ::pg_query::OnConflictExpr* on_conflict) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.on_conflict_); +inline void OnConflictExpr::unsafe_arena_set_allocated_arbiter_where(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arbiter_where_); } - _impl_.on_conflict_ = on_conflict; - if (on_conflict) { - + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.on_conflict) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.arbiter_where) } -inline ::pg_query::OnConflictExpr* Query::release_on_conflict() { - - ::pg_query::OnConflictExpr* temp = _impl_.on_conflict_; - _impl_.on_conflict_ = nullptr; +inline ::pg_query::Node* OnConflictExpr::release_arbiter_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arbiter_where_; + _impl_.arbiter_where_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::OnConflictExpr* Query::unsafe_arena_release_on_conflict() { - // @@protoc_insertion_point(field_release:pg_query.Query.on_conflict) - - ::pg_query::OnConflictExpr* temp = _impl_.on_conflict_; - _impl_.on_conflict_ = nullptr; +inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_arbiter_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.arbiter_where) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arbiter_where_; + _impl_.arbiter_where_ = nullptr; return temp; } -inline ::pg_query::OnConflictExpr* Query::_internal_mutable_on_conflict() { - - if (_impl_.on_conflict_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArenaForAllocation()); - _impl_.on_conflict_ = p; +inline ::pg_query::Node* OnConflictExpr::_internal_mutable_arbiter_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arbiter_where_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.on_conflict_; + return _impl_.arbiter_where_; } -inline ::pg_query::OnConflictExpr* Query::mutable_on_conflict() { - ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.on_conflict) +inline ::pg_query::Node* OnConflictExpr::mutable_arbiter_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arbiter_where(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.arbiter_where) return _msg; } -inline void Query::set_allocated_on_conflict(::pg_query::OnConflictExpr* on_conflict) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void OnConflictExpr::set_allocated_arbiter_where(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.on_conflict_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arbiter_where_); } - if (on_conflict) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(on_conflict); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - on_conflict = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, on_conflict, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.on_conflict_ = on_conflict; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.on_conflict) -} - -// repeated .pg_query.Node returning_list = 24 [json_name = "returningList"]; -inline int Query::_internal_returning_list_size() const { - return _impl_.returning_list_.size(); -} -inline int Query::returning_list_size() const { - return _internal_returning_list_size(); -} -inline void Query::clear_returning_list() { - _impl_.returning_list_.Clear(); -} -inline ::pg_query::Node* Query::mutable_returning_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.returning_list) - return _impl_.returning_list_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_returning_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.returning_list) - return &_impl_.returning_list_; -} -inline const ::pg_query::Node& Query::_internal_returning_list(int index) const { - return _impl_.returning_list_.Get(index); -} -inline const ::pg_query::Node& Query::returning_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.returning_list) - return _internal_returning_list(index); -} -inline ::pg_query::Node* Query::_internal_add_returning_list() { - return _impl_.returning_list_.Add(); -} -inline ::pg_query::Node* Query::add_returning_list() { - ::pg_query::Node* _add = _internal_add_returning_list(); - // @@protoc_insertion_point(field_add:pg_query.Query.returning_list) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::returning_list() const { - // @@protoc_insertion_point(field_list:pg_query.Query.returning_list) - return _impl_.returning_list_; -} -// repeated .pg_query.Node group_clause = 25 [json_name = "groupClause"]; -inline int Query::_internal_group_clause_size() const { - return _impl_.group_clause_.size(); -} -inline int Query::group_clause_size() const { - return _internal_group_clause_size(); -} -inline void Query::clear_group_clause() { - _impl_.group_clause_.Clear(); -} -inline ::pg_query::Node* Query::mutable_group_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.group_clause) - return _impl_.group_clause_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_group_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.group_clause) - return &_impl_.group_clause_; -} -inline const ::pg_query::Node& Query::_internal_group_clause(int index) const { - return _impl_.group_clause_.Get(index); -} -inline const ::pg_query::Node& Query::group_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.group_clause) - return _internal_group_clause(index); -} -inline ::pg_query::Node* Query::_internal_add_group_clause() { - return _impl_.group_clause_.Add(); -} -inline ::pg_query::Node* Query::add_group_clause() { - ::pg_query::Node* _add = _internal_add_group_clause(); - // @@protoc_insertion_point(field_add:pg_query.Query.group_clause) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::group_clause() const { - // @@protoc_insertion_point(field_list:pg_query.Query.group_clause) - return _impl_.group_clause_; + _impl_.arbiter_where_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.arbiter_where) } -// bool group_distinct = 26 [json_name = "groupDistinct"]; -inline void Query::clear_group_distinct() { - _impl_.group_distinct_ = false; +// uint32 constraint = 4 [json_name = "constraint"]; +inline void OnConflictExpr::clear_constraint() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraint_ = 0u; } -inline bool Query::_internal_group_distinct() const { - return _impl_.group_distinct_; +inline ::uint32_t OnConflictExpr::constraint() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.constraint) + return _internal_constraint(); } -inline bool Query::group_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.Query.group_distinct) - return _internal_group_distinct(); +inline void OnConflictExpr::set_constraint(::uint32_t value) { + _internal_set_constraint(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.constraint) } -inline void Query::_internal_set_group_distinct(bool value) { - - _impl_.group_distinct_ = value; +inline ::uint32_t OnConflictExpr::_internal_constraint() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraint_; } -inline void Query::set_group_distinct(bool value) { - _internal_set_group_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.Query.group_distinct) +inline void OnConflictExpr::_internal_set_constraint(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.constraint_ = value; } -// repeated .pg_query.Node grouping_sets = 27 [json_name = "groupingSets"]; -inline int Query::_internal_grouping_sets_size() const { - return _impl_.grouping_sets_.size(); +// repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"]; +inline int OnConflictExpr::_internal_on_conflict_set_size() const { + return _internal_on_conflict_set().size(); } -inline int Query::grouping_sets_size() const { - return _internal_grouping_sets_size(); +inline int OnConflictExpr::on_conflict_set_size() const { + return _internal_on_conflict_set_size(); } -inline void Query::clear_grouping_sets() { - _impl_.grouping_sets_.Clear(); +inline void OnConflictExpr::clear_on_conflict_set() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.on_conflict_set_.Clear(); } -inline ::pg_query::Node* Query::mutable_grouping_sets(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.grouping_sets) - return _impl_.grouping_sets_.Mutable(index); +inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_set(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_set) + return _internal_mutable_on_conflict_set()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_grouping_sets() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.grouping_sets) - return &_impl_.grouping_sets_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_on_conflict_set() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.on_conflict_set) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_on_conflict_set(); } -inline const ::pg_query::Node& Query::_internal_grouping_sets(int index) const { - return _impl_.grouping_sets_.Get(index); +inline const ::pg_query::Node& OnConflictExpr::on_conflict_set(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_set) + return _internal_on_conflict_set().Get(index); } -inline const ::pg_query::Node& Query::grouping_sets(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.grouping_sets) - return _internal_grouping_sets(index); +inline ::pg_query::Node* OnConflictExpr::add_on_conflict_set() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_on_conflict_set()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.on_conflict_set) + return _add; } -inline ::pg_query::Node* Query::_internal_add_grouping_sets() { - return _impl_.grouping_sets_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::on_conflict_set() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.on_conflict_set) + return _internal_on_conflict_set(); } -inline ::pg_query::Node* Query::add_grouping_sets() { - ::pg_query::Node* _add = _internal_add_grouping_sets(); - // @@protoc_insertion_point(field_add:pg_query.Query.grouping_sets) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_on_conflict_set() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.on_conflict_set_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::grouping_sets() const { - // @@protoc_insertion_point(field_list:pg_query.Query.grouping_sets) - return _impl_.grouping_sets_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_on_conflict_set() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.on_conflict_set_; } -// .pg_query.Node having_qual = 28 [json_name = "havingQual"]; -inline bool Query::_internal_has_having_qual() const { - return this != internal_default_instance() && _impl_.having_qual_ != nullptr; -} -inline bool Query::has_having_qual() const { - return _internal_has_having_qual(); +// .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"]; +inline bool OnConflictExpr::has_on_conflict_where() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_conflict_where_ != nullptr); + return value; } -inline void Query::clear_having_qual() { - if (GetArenaForAllocation() == nullptr && _impl_.having_qual_ != nullptr) { - delete _impl_.having_qual_; - } - _impl_.having_qual_ = nullptr; +inline void OnConflictExpr::clear_on_conflict_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_conflict_where_ != nullptr) _impl_.on_conflict_where_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& Query::_internal_having_qual() const { - const ::pg_query::Node* p = _impl_.having_qual_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& OnConflictExpr::_internal_on_conflict_where() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.on_conflict_where_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::having_qual() const { - // @@protoc_insertion_point(field_get:pg_query.Query.having_qual) - return _internal_having_qual(); +inline const ::pg_query::Node& OnConflictExpr::on_conflict_where() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.on_conflict_where) + return _internal_on_conflict_where(); } -inline void Query::unsafe_arena_set_allocated_having_qual( - ::pg_query::Node* having_qual) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.having_qual_); +inline void OnConflictExpr::unsafe_arena_set_allocated_on_conflict_where(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_where_); } - _impl_.having_qual_ = having_qual; - if (having_qual) { - + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.having_qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictExpr.on_conflict_where) } -inline ::pg_query::Node* Query::release_having_qual() { - - ::pg_query::Node* temp = _impl_.having_qual_; - _impl_.having_qual_ = nullptr; +inline ::pg_query::Node* OnConflictExpr::release_on_conflict_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.on_conflict_where_; + _impl_.on_conflict_where_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_having_qual() { - // @@protoc_insertion_point(field_release:pg_query.Query.having_qual) - - ::pg_query::Node* temp = _impl_.having_qual_; - _impl_.having_qual_ = nullptr; +inline ::pg_query::Node* OnConflictExpr::unsafe_arena_release_on_conflict_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.OnConflictExpr.on_conflict_where) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.on_conflict_where_; + _impl_.on_conflict_where_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_having_qual() { - - if (_impl_.having_qual_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.having_qual_ = p; +inline ::pg_query::Node* OnConflictExpr::_internal_mutable_on_conflict_where() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.on_conflict_where_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.having_qual_; + return _impl_.on_conflict_where_; } -inline ::pg_query::Node* Query::mutable_having_qual() { - ::pg_query::Node* _msg = _internal_mutable_having_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.having_qual) +inline ::pg_query::Node* OnConflictExpr::mutable_on_conflict_where() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_on_conflict_where(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.on_conflict_where) return _msg; } -inline void Query::set_allocated_having_qual(::pg_query::Node* having_qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void OnConflictExpr::set_allocated_on_conflict_where(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.having_qual_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.on_conflict_where_); } - if (having_qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(having_qual); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - having_qual = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, having_qual, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.having_qual_ = having_qual; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.having_qual) + + _impl_.on_conflict_where_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictExpr.on_conflict_where) } -// repeated .pg_query.Node window_clause = 29 [json_name = "windowClause"]; -inline int Query::_internal_window_clause_size() const { - return _impl_.window_clause_.size(); +// int32 excl_rel_index = 7 [json_name = "exclRelIndex"]; +inline void OnConflictExpr::clear_excl_rel_index() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.excl_rel_index_ = 0; } -inline int Query::window_clause_size() const { - return _internal_window_clause_size(); +inline ::int32_t OnConflictExpr::excl_rel_index() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_index) + return _internal_excl_rel_index(); } -inline void Query::clear_window_clause() { - _impl_.window_clause_.Clear(); +inline void OnConflictExpr::set_excl_rel_index(::int32_t value) { + _internal_set_excl_rel_index(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictExpr.excl_rel_index) } -inline ::pg_query::Node* Query::mutable_window_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.window_clause) - return _impl_.window_clause_.Mutable(index); +inline ::int32_t OnConflictExpr::_internal_excl_rel_index() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.excl_rel_index_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_window_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.window_clause) - return &_impl_.window_clause_; +inline void OnConflictExpr::_internal_set_excl_rel_index(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.excl_rel_index_ = value; } -inline const ::pg_query::Node& Query::_internal_window_clause(int index) const { - return _impl_.window_clause_.Get(index); + +// repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"]; +inline int OnConflictExpr::_internal_excl_rel_tlist_size() const { + return _internal_excl_rel_tlist().size(); } -inline const ::pg_query::Node& Query::window_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.window_clause) - return _internal_window_clause(index); +inline int OnConflictExpr::excl_rel_tlist_size() const { + return _internal_excl_rel_tlist_size(); } -inline ::pg_query::Node* Query::_internal_add_window_clause() { - return _impl_.window_clause_.Add(); +inline void OnConflictExpr::clear_excl_rel_tlist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.excl_rel_tlist_.Clear(); } -inline ::pg_query::Node* Query::add_window_clause() { - ::pg_query::Node* _add = _internal_add_window_clause(); - // @@protoc_insertion_point(field_add:pg_query.Query.window_clause) - return _add; +inline ::pg_query::Node* OnConflictExpr::mutable_excl_rel_tlist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_mutable_excl_rel_tlist()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::window_clause() const { - // @@protoc_insertion_point(field_list:pg_query.Query.window_clause) - return _impl_.window_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictExpr::mutable_excl_rel_tlist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictExpr.excl_rel_tlist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_excl_rel_tlist(); } - -// repeated .pg_query.Node distinct_clause = 30 [json_name = "distinctClause"]; -inline int Query::_internal_distinct_clause_size() const { - return _impl_.distinct_clause_.size(); +inline const ::pg_query::Node& OnConflictExpr::excl_rel_tlist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_excl_rel_tlist().Get(index); } -inline int Query::distinct_clause_size() const { - return _internal_distinct_clause_size(); +inline ::pg_query::Node* OnConflictExpr::add_excl_rel_tlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_excl_rel_tlist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictExpr.excl_rel_tlist) + return _add; } -inline void Query::clear_distinct_clause() { - _impl_.distinct_clause_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictExpr::excl_rel_tlist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictExpr.excl_rel_tlist) + return _internal_excl_rel_tlist(); } -inline ::pg_query::Node* Query::mutable_distinct_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.distinct_clause) - return _impl_.distinct_clause_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictExpr::_internal_excl_rel_tlist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.excl_rel_tlist_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_distinct_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.distinct_clause) - return &_impl_.distinct_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictExpr::_internal_mutable_excl_rel_tlist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.excl_rel_tlist_; } -inline const ::pg_query::Node& Query::_internal_distinct_clause(int index) const { - return _impl_.distinct_clause_.Get(index); + +// ------------------------------------------------------------------- + +// Query + +// .pg_query.CmdType command_type = 1 [json_name = "commandType"]; +inline void Query::clear_command_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.command_type_ = 0; } -inline const ::pg_query::Node& Query::distinct_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.distinct_clause) - return _internal_distinct_clause(index); +inline ::pg_query::CmdType Query::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.Query.command_type) + return _internal_command_type(); } -inline ::pg_query::Node* Query::_internal_add_distinct_clause() { - return _impl_.distinct_clause_.Add(); +inline void Query::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.Query.command_type) } -inline ::pg_query::Node* Query::add_distinct_clause() { - ::pg_query::Node* _add = _internal_add_distinct_clause(); - // @@protoc_insertion_point(field_add:pg_query.Query.distinct_clause) - return _add; +inline ::pg_query::CmdType Query::_internal_command_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CmdType>(_impl_.command_type_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::distinct_clause() const { - // @@protoc_insertion_point(field_list:pg_query.Query.distinct_clause) - return _impl_.distinct_clause_; +inline void Query::_internal_set_command_type(::pg_query::CmdType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.command_type_ = value; } -// repeated .pg_query.Node sort_clause = 31 [json_name = "sortClause"]; -inline int Query::_internal_sort_clause_size() const { - return _impl_.sort_clause_.size(); +// .pg_query.QuerySource query_source = 2 [json_name = "querySource"]; +inline void Query::clear_query_source() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.query_source_ = 0; } -inline int Query::sort_clause_size() const { - return _internal_sort_clause_size(); +inline ::pg_query::QuerySource Query::query_source() const { + // @@protoc_insertion_point(field_get:pg_query.Query.query_source) + return _internal_query_source(); } -inline void Query::clear_sort_clause() { - _impl_.sort_clause_.Clear(); +inline void Query::set_query_source(::pg_query::QuerySource value) { + _internal_set_query_source(value); + // @@protoc_insertion_point(field_set:pg_query.Query.query_source) } -inline ::pg_query::Node* Query::mutable_sort_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.sort_clause) - return _impl_.sort_clause_.Mutable(index); +inline ::pg_query::QuerySource Query::_internal_query_source() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::QuerySource>(_impl_.query_source_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_sort_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.sort_clause) - return &_impl_.sort_clause_; +inline void Query::_internal_set_query_source(::pg_query::QuerySource value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.query_source_ = value; } -inline const ::pg_query::Node& Query::_internal_sort_clause(int index) const { - return _impl_.sort_clause_.Get(index); + +// bool can_set_tag = 3 [json_name = "canSetTag"]; +inline void Query::clear_can_set_tag() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.can_set_tag_ = false; } -inline const ::pg_query::Node& Query::sort_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.sort_clause) - return _internal_sort_clause(index); +inline bool Query::can_set_tag() const { + // @@protoc_insertion_point(field_get:pg_query.Query.can_set_tag) + return _internal_can_set_tag(); } -inline ::pg_query::Node* Query::_internal_add_sort_clause() { - return _impl_.sort_clause_.Add(); +inline void Query::set_can_set_tag(bool value) { + _internal_set_can_set_tag(value); + // @@protoc_insertion_point(field_set:pg_query.Query.can_set_tag) } -inline ::pg_query::Node* Query::add_sort_clause() { - ::pg_query::Node* _add = _internal_add_sort_clause(); - // @@protoc_insertion_point(field_add:pg_query.Query.sort_clause) - return _add; +inline bool Query::_internal_can_set_tag() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.can_set_tag_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::sort_clause() const { - // @@protoc_insertion_point(field_list:pg_query.Query.sort_clause) - return _impl_.sort_clause_; +inline void Query::_internal_set_can_set_tag(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.can_set_tag_ = value; } -// .pg_query.Node limit_offset = 32 [json_name = "limitOffset"]; -inline bool Query::_internal_has_limit_offset() const { - return this != internal_default_instance() && _impl_.limit_offset_ != nullptr; -} -inline bool Query::has_limit_offset() const { - return _internal_has_limit_offset(); +// .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"]; +inline bool Query::has_utility_stmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.utility_stmt_ != nullptr); + return value; } -inline void Query::clear_limit_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.limit_offset_ != nullptr) { - delete _impl_.limit_offset_; - } - _impl_.limit_offset_ = nullptr; +inline void Query::clear_utility_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.utility_stmt_ != nullptr) _impl_.utility_stmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Query::_internal_limit_offset() const { - const ::pg_query::Node* p = _impl_.limit_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& Query::_internal_utility_stmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.utility_stmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& Query::limit_offset() const { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_offset) - return _internal_limit_offset(); +inline const ::pg_query::Node& Query::utility_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.utility_stmt) + return _internal_utility_stmt(); } -inline void Query::unsafe_arena_set_allocated_limit_offset( - ::pg_query::Node* limit_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.limit_offset_); +inline void Query::unsafe_arena_set_allocated_utility_stmt(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.utility_stmt_); } - _impl_.limit_offset_ = limit_offset; - if (limit_offset) { - + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.utility_stmt) } -inline ::pg_query::Node* Query::release_limit_offset() { - - ::pg_query::Node* temp = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; +inline ::pg_query::Node* Query::release_utility_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.utility_stmt_; + _impl_.utility_stmt_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* Query::unsafe_arena_release_limit_offset() { - // @@protoc_insertion_point(field_release:pg_query.Query.limit_offset) - - ::pg_query::Node* temp = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_utility_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.utility_stmt) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.utility_stmt_; + _impl_.utility_stmt_ = nullptr; return temp; } -inline ::pg_query::Node* Query::_internal_mutable_limit_offset() { - - if (_impl_.limit_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.limit_offset_ = p; +inline ::pg_query::Node* Query::_internal_mutable_utility_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.utility_stmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.limit_offset_; + return _impl_.utility_stmt_; } -inline ::pg_query::Node* Query::mutable_limit_offset() { - ::pg_query::Node* _msg = _internal_mutable_limit_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_offset) +inline ::pg_query::Node* Query::mutable_utility_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_utility_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.utility_stmt) return _msg; } -inline void Query::set_allocated_limit_offset(::pg_query::Node* limit_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_utility_stmt(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.limit_offset_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.utility_stmt_); } - if (limit_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(limit_offset); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - limit_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, limit_offset, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.limit_offset_ = limit_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_offset) + + _impl_.utility_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.utility_stmt) } -// .pg_query.Node limit_count = 33 [json_name = "limitCount"]; -inline bool Query::_internal_has_limit_count() const { - return this != internal_default_instance() && _impl_.limit_count_ != nullptr; +// int32 result_relation = 5 [json_name = "resultRelation"]; +inline void Query::clear_result_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.result_relation_ = 0; } -inline bool Query::has_limit_count() const { - return _internal_has_limit_count(); +inline ::int32_t Query::result_relation() const { + // @@protoc_insertion_point(field_get:pg_query.Query.result_relation) + return _internal_result_relation(); } -inline void Query::clear_limit_count() { - if (GetArenaForAllocation() == nullptr && _impl_.limit_count_ != nullptr) { - delete _impl_.limit_count_; - } - _impl_.limit_count_ = nullptr; +inline void Query::set_result_relation(::int32_t value) { + _internal_set_result_relation(value); + // @@protoc_insertion_point(field_set:pg_query.Query.result_relation) } -inline const ::pg_query::Node& Query::_internal_limit_count() const { - const ::pg_query::Node* p = _impl_.limit_count_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::int32_t Query::_internal_result_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.result_relation_; } -inline const ::pg_query::Node& Query::limit_count() const { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_count) - return _internal_limit_count(); +inline void Query::_internal_set_result_relation(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.result_relation_ = value; } -inline void Query::unsafe_arena_set_allocated_limit_count( - ::pg_query::Node* limit_count) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.limit_count_); - } - _impl_.limit_count_ = limit_count; - if (limit_count) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_count) + +// bool has_aggs = 6 [json_name = "hasAggs"]; +inline void Query::clear_has_aggs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_aggs_ = false; } -inline ::pg_query::Node* Query::release_limit_count() { - - ::pg_query::Node* temp = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline bool Query::has_aggs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_aggs) + return _internal_has_aggs(); } -inline ::pg_query::Node* Query::unsafe_arena_release_limit_count() { - // @@protoc_insertion_point(field_release:pg_query.Query.limit_count) - - ::pg_query::Node* temp = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; - return temp; +inline void Query::set_has_aggs(bool value) { + _internal_set_has_aggs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_aggs) } -inline ::pg_query::Node* Query::_internal_mutable_limit_count() { - - if (_impl_.limit_count_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.limit_count_ = p; - } - return _impl_.limit_count_; +inline bool Query::_internal_has_aggs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_aggs_; } -inline ::pg_query::Node* Query::mutable_limit_count() { - ::pg_query::Node* _msg = _internal_mutable_limit_count(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_count) - return _msg; +inline void Query::_internal_set_has_aggs(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_aggs_ = value; } -inline void Query::set_allocated_limit_count(::pg_query::Node* limit_count) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.limit_count_; - } - if (limit_count) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(limit_count); - if (message_arena != submessage_arena) { - limit_count = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, limit_count, submessage_arena); - } - - } else { - - } - _impl_.limit_count_ = limit_count; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_count) + +// bool has_window_funcs = 7 [json_name = "hasWindowFuncs"]; +inline void Query::clear_has_window_funcs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_window_funcs_ = false; +} +inline bool Query::has_window_funcs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_window_funcs) + return _internal_has_window_funcs(); +} +inline void Query::set_has_window_funcs(bool value) { + _internal_set_has_window_funcs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_window_funcs) +} +inline bool Query::_internal_has_window_funcs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_window_funcs_; +} +inline void Query::_internal_set_has_window_funcs(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_window_funcs_ = value; } -// .pg_query.LimitOption limit_option = 34 [json_name = "limitOption"]; -inline void Query::clear_limit_option() { - _impl_.limit_option_ = 0; +// bool has_target_srfs = 8 [json_name = "hasTargetSRFs"]; +inline void Query::clear_has_target_srfs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_target_srfs_ = false; } -inline ::pg_query::LimitOption Query::_internal_limit_option() const { - return static_cast< ::pg_query::LimitOption >(_impl_.limit_option_); +inline bool Query::has_target_srfs() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_target_srfs) + return _internal_has_target_srfs(); } -inline ::pg_query::LimitOption Query::limit_option() const { - // @@protoc_insertion_point(field_get:pg_query.Query.limit_option) - return _internal_limit_option(); +inline void Query::set_has_target_srfs(bool value) { + _internal_set_has_target_srfs(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_target_srfs) } -inline void Query::_internal_set_limit_option(::pg_query::LimitOption value) { - - _impl_.limit_option_ = value; +inline bool Query::_internal_has_target_srfs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_target_srfs_; } -inline void Query::set_limit_option(::pg_query::LimitOption value) { - _internal_set_limit_option(value); - // @@protoc_insertion_point(field_set:pg_query.Query.limit_option) +inline void Query::_internal_set_has_target_srfs(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_target_srfs_ = value; +} + +// bool has_sub_links = 9 [json_name = "hasSubLinks"]; +inline void Query::clear_has_sub_links() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_sub_links_ = false; +} +inline bool Query::has_sub_links() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_sub_links) + return _internal_has_sub_links(); +} +inline void Query::set_has_sub_links(bool value) { + _internal_set_has_sub_links(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_sub_links) +} +inline bool Query::_internal_has_sub_links() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_sub_links_; +} +inline void Query::_internal_set_has_sub_links(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_sub_links_ = value; +} + +// bool has_distinct_on = 10 [json_name = "hasDistinctOn"]; +inline void Query::clear_has_distinct_on() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_distinct_on_ = false; +} +inline bool Query::has_distinct_on() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_distinct_on) + return _internal_has_distinct_on(); +} +inline void Query::set_has_distinct_on(bool value) { + _internal_set_has_distinct_on(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_distinct_on) +} +inline bool Query::_internal_has_distinct_on() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_distinct_on_; +} +inline void Query::_internal_set_has_distinct_on(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_distinct_on_ = value; +} + +// bool has_recursive = 11 [json_name = "hasRecursive"]; +inline void Query::clear_has_recursive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_recursive_ = false; +} +inline bool Query::has_recursive() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_recursive) + return _internal_has_recursive(); +} +inline void Query::set_has_recursive(bool value) { + _internal_set_has_recursive(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_recursive) +} +inline bool Query::_internal_has_recursive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_recursive_; +} +inline void Query::_internal_set_has_recursive(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_recursive_ = value; } -// repeated .pg_query.Node row_marks = 35 [json_name = "rowMarks"]; -inline int Query::_internal_row_marks_size() const { - return _impl_.row_marks_.size(); +// bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"]; +inline void Query::clear_has_modifying_cte() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_modifying_cte_ = false; } -inline int Query::row_marks_size() const { - return _internal_row_marks_size(); +inline bool Query::has_modifying_cte() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_modifying_cte) + return _internal_has_modifying_cte(); } -inline void Query::clear_row_marks() { - _impl_.row_marks_.Clear(); +inline void Query::set_has_modifying_cte(bool value) { + _internal_set_has_modifying_cte(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_modifying_cte) } -inline ::pg_query::Node* Query::mutable_row_marks(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.row_marks) - return _impl_.row_marks_.Mutable(index); +inline bool Query::_internal_has_modifying_cte() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_modifying_cte_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_row_marks() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.row_marks) - return &_impl_.row_marks_; +inline void Query::_internal_set_has_modifying_cte(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_modifying_cte_ = value; } -inline const ::pg_query::Node& Query::_internal_row_marks(int index) const { - return _impl_.row_marks_.Get(index); + +// bool has_for_update = 13 [json_name = "hasForUpdate"]; +inline void Query::clear_has_for_update() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_for_update_ = false; } -inline const ::pg_query::Node& Query::row_marks(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.row_marks) - return _internal_row_marks(index); +inline bool Query::has_for_update() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_for_update) + return _internal_has_for_update(); } -inline ::pg_query::Node* Query::_internal_add_row_marks() { - return _impl_.row_marks_.Add(); +inline void Query::set_has_for_update(bool value) { + _internal_set_has_for_update(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_for_update) } -inline ::pg_query::Node* Query::add_row_marks() { - ::pg_query::Node* _add = _internal_add_row_marks(); - // @@protoc_insertion_point(field_add:pg_query.Query.row_marks) - return _add; +inline bool Query::_internal_has_for_update() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_for_update_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::row_marks() const { - // @@protoc_insertion_point(field_list:pg_query.Query.row_marks) - return _impl_.row_marks_; +inline void Query::_internal_set_has_for_update(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_for_update_ = value; } -// .pg_query.Node set_operations = 36 [json_name = "setOperations"]; -inline bool Query::_internal_has_set_operations() const { - return this != internal_default_instance() && _impl_.set_operations_ != nullptr; -} -inline bool Query::has_set_operations() const { - return _internal_has_set_operations(); +// bool has_row_security = 14 [json_name = "hasRowSecurity"]; +inline void Query::clear_has_row_security() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_row_security_ = false; } -inline void Query::clear_set_operations() { - if (GetArenaForAllocation() == nullptr && _impl_.set_operations_ != nullptr) { - delete _impl_.set_operations_; - } - _impl_.set_operations_ = nullptr; +inline bool Query::has_row_security() const { + // @@protoc_insertion_point(field_get:pg_query.Query.has_row_security) + return _internal_has_row_security(); } -inline const ::pg_query::Node& Query::_internal_set_operations() const { - const ::pg_query::Node* p = _impl_.set_operations_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void Query::set_has_row_security(bool value) { + _internal_set_has_row_security(value); + // @@protoc_insertion_point(field_set:pg_query.Query.has_row_security) } -inline const ::pg_query::Node& Query::set_operations() const { - // @@protoc_insertion_point(field_get:pg_query.Query.set_operations) - return _internal_set_operations(); +inline bool Query::_internal_has_row_security() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_row_security_; } -inline void Query::unsafe_arena_set_allocated_set_operations( - ::pg_query::Node* set_operations) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.set_operations_); - } - _impl_.set_operations_ = set_operations; - if (set_operations) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.set_operations) +inline void Query::_internal_set_has_row_security(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_row_security_ = value; } -inline ::pg_query::Node* Query::release_set_operations() { - - ::pg_query::Node* temp = _impl_.set_operations_; - _impl_.set_operations_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool is_return = 15 [json_name = "isReturn"]; +inline void Query::clear_is_return() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_return_ = false; } -inline ::pg_query::Node* Query::unsafe_arena_release_set_operations() { - // @@protoc_insertion_point(field_release:pg_query.Query.set_operations) - - ::pg_query::Node* temp = _impl_.set_operations_; - _impl_.set_operations_ = nullptr; - return temp; +inline bool Query::is_return() const { + // @@protoc_insertion_point(field_get:pg_query.Query.is_return) + return _internal_is_return(); } -inline ::pg_query::Node* Query::_internal_mutable_set_operations() { - - if (_impl_.set_operations_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.set_operations_ = p; - } - return _impl_.set_operations_; +inline void Query::set_is_return(bool value) { + _internal_set_is_return(value); + // @@protoc_insertion_point(field_set:pg_query.Query.is_return) } -inline ::pg_query::Node* Query::mutable_set_operations() { - ::pg_query::Node* _msg = _internal_mutable_set_operations(); - // @@protoc_insertion_point(field_mutable:pg_query.Query.set_operations) - return _msg; +inline bool Query::_internal_is_return() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_return_; } -inline void Query::set_allocated_set_operations(::pg_query::Node* set_operations) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.set_operations_; - } - if (set_operations) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(set_operations); - if (message_arena != submessage_arena) { - set_operations = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, set_operations, submessage_arena); - } - - } else { - - } - _impl_.set_operations_ = set_operations; - // @@protoc_insertion_point(field_set_allocated:pg_query.Query.set_operations) +inline void Query::_internal_set_is_return(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_return_ = value; } -// repeated .pg_query.Node constraint_deps = 37 [json_name = "constraintDeps"]; -inline int Query::_internal_constraint_deps_size() const { - return _impl_.constraint_deps_.size(); +// repeated .pg_query.Node cte_list = 16 [json_name = "cteList"]; +inline int Query::_internal_cte_list_size() const { + return _internal_cte_list().size(); } -inline int Query::constraint_deps_size() const { - return _internal_constraint_deps_size(); +inline int Query::cte_list_size() const { + return _internal_cte_list_size(); } -inline void Query::clear_constraint_deps() { - _impl_.constraint_deps_.Clear(); +inline void Query::clear_cte_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cte_list_.Clear(); } -inline ::pg_query::Node* Query::mutable_constraint_deps(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.constraint_deps) - return _impl_.constraint_deps_.Mutable(index); +inline ::pg_query::Node* Query::mutable_cte_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.cte_list) + return _internal_mutable_cte_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_constraint_deps() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.constraint_deps) - return &_impl_.constraint_deps_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_cte_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.cte_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cte_list(); } -inline const ::pg_query::Node& Query::_internal_constraint_deps(int index) const { - return _impl_.constraint_deps_.Get(index); +inline const ::pg_query::Node& Query::cte_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.cte_list) + return _internal_cte_list().Get(index); } -inline const ::pg_query::Node& Query::constraint_deps(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.constraint_deps) - return _internal_constraint_deps(index); +inline ::pg_query::Node* Query::add_cte_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cte_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.cte_list) + return _add; } -inline ::pg_query::Node* Query::_internal_add_constraint_deps() { - return _impl_.constraint_deps_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::cte_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.cte_list) + return _internal_cte_list(); } -inline ::pg_query::Node* Query::add_constraint_deps() { - ::pg_query::Node* _add = _internal_add_constraint_deps(); - // @@protoc_insertion_point(field_add:pg_query.Query.constraint_deps) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_cte_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cte_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::constraint_deps() const { - // @@protoc_insertion_point(field_list:pg_query.Query.constraint_deps) - return _impl_.constraint_deps_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_cte_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cte_list_; } -// repeated .pg_query.Node with_check_options = 38 [json_name = "withCheckOptions"]; -inline int Query::_internal_with_check_options_size() const { - return _impl_.with_check_options_.size(); +// repeated .pg_query.Node rtable = 17 [json_name = "rtable"]; +inline int Query::_internal_rtable_size() const { + return _internal_rtable().size(); } -inline int Query::with_check_options_size() const { - return _internal_with_check_options_size(); +inline int Query::rtable_size() const { + return _internal_rtable_size(); } -inline void Query::clear_with_check_options() { - _impl_.with_check_options_.Clear(); +inline void Query::clear_rtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtable_.Clear(); } -inline ::pg_query::Node* Query::mutable_with_check_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Query.with_check_options) - return _impl_.with_check_options_.Mutable(index); +inline ::pg_query::Node* Query::mutable_rtable(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.rtable) + return _internal_mutable_rtable()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Query::mutable_with_check_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Query.with_check_options) - return &_impl_.with_check_options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rtable() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rtable) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rtable(); } -inline const ::pg_query::Node& Query::_internal_with_check_options(int index) const { - return _impl_.with_check_options_.Get(index); +inline const ::pg_query::Node& Query::rtable(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.rtable) + return _internal_rtable().Get(index); } -inline const ::pg_query::Node& Query::with_check_options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Query.with_check_options) - return _internal_with_check_options(index); +inline ::pg_query::Node* Query::add_rtable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rtable()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.rtable) + return _add; } -inline ::pg_query::Node* Query::_internal_add_with_check_options() { - return _impl_.with_check_options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rtable() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.rtable) + return _internal_rtable(); } -inline ::pg_query::Node* Query::add_with_check_options() { - ::pg_query::Node* _add = _internal_add_with_check_options(); - // @@protoc_insertion_point(field_add:pg_query.Query.with_check_options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_rtable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rtable_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Query::with_check_options() const { - // @@protoc_insertion_point(field_list:pg_query.Query.with_check_options) - return _impl_.with_check_options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_rtable() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rtable_; } -// int32 stmt_location = 39 [json_name = "stmt_location"]; -inline void Query::clear_stmt_location() { - _impl_.stmt_location_ = 0; +// repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"]; +inline int Query::_internal_rteperminfos_size() const { + return _internal_rteperminfos().size(); } -inline int32_t Query::_internal_stmt_location() const { - return _impl_.stmt_location_; +inline int Query::rteperminfos_size() const { + return _internal_rteperminfos_size(); } -inline int32_t Query::stmt_location() const { - // @@protoc_insertion_point(field_get:pg_query.Query.stmt_location) - return _internal_stmt_location(); +inline void Query::clear_rteperminfos() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rteperminfos_.Clear(); } -inline void Query::_internal_set_stmt_location(int32_t value) { - - _impl_.stmt_location_ = value; +inline ::pg_query::Node* Query::mutable_rteperminfos(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.rteperminfos) + return _internal_mutable_rteperminfos()->Mutable(index); } -inline void Query::set_stmt_location(int32_t value) { - _internal_set_stmt_location(value); - // @@protoc_insertion_point(field_set:pg_query.Query.stmt_location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_rteperminfos() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.rteperminfos) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rteperminfos(); } - -// int32 stmt_len = 40 [json_name = "stmt_len"]; -inline void Query::clear_stmt_len() { - _impl_.stmt_len_ = 0; +inline const ::pg_query::Node& Query::rteperminfos(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.rteperminfos) + return _internal_rteperminfos().Get(index); } -inline int32_t Query::_internal_stmt_len() const { - return _impl_.stmt_len_; +inline ::pg_query::Node* Query::add_rteperminfos() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rteperminfos()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.rteperminfos) + return _add; } -inline int32_t Query::stmt_len() const { - // @@protoc_insertion_point(field_get:pg_query.Query.stmt_len) - return _internal_stmt_len(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::rteperminfos() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.rteperminfos) + return _internal_rteperminfos(); } -inline void Query::_internal_set_stmt_len(int32_t value) { - - _impl_.stmt_len_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_rteperminfos() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rteperminfos_; } -inline void Query::set_stmt_len(int32_t value) { - _internal_set_stmt_len(value); - // @@protoc_insertion_point(field_set:pg_query.Query.stmt_len) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_rteperminfos() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rteperminfos_; } -// ------------------------------------------------------------------- - -// InsertStmt - -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool InsertStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool InsertStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.FromExpr jointree = 19 [json_name = "jointree"]; +inline bool Query::has_jointree() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.jointree_ != nullptr); + return value; } -inline void InsertStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void Query::clear_jointree() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.jointree_ != nullptr) _impl_.jointree_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& InsertStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::FromExpr& Query::_internal_jointree() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::FromExpr* p = _impl_.jointree_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_FromExpr_default_instance_); } -inline const ::pg_query::RangeVar& InsertStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.relation) - return _internal_relation(); +inline const ::pg_query::FromExpr& Query::jointree() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.jointree) + return _internal_jointree(); } -inline void InsertStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void Query::unsafe_arena_set_allocated_jointree(::pg_query::FromExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.jointree_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.jointree) } -inline ::pg_query::RangeVar* InsertStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::FromExpr* Query::release_jointree() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FromExpr* released = _impl_.jointree_; + _impl_.jointree_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* InsertStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.InsertStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::FromExpr* Query::unsafe_arena_release_jointree() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.jointree) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FromExpr* temp = _impl_.jointree_; + _impl_.jointree_ = nullptr; return temp; } -inline ::pg_query::RangeVar* InsertStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::FromExpr* Query::_internal_mutable_jointree() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.jointree_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::FromExpr>(GetArena()); + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(p); } - return _impl_.relation_; + return _impl_.jointree_; } -inline ::pg_query::RangeVar* InsertStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.relation) +inline ::pg_query::FromExpr* Query::mutable_jointree() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FromExpr* _msg = _internal_mutable_jointree(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.jointree) return _msg; } -inline void InsertStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_jointree(::pg_query::FromExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::FromExpr*>(_impl_.jointree_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::FromExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.relation) + + _impl_.jointree_ = reinterpret_cast<::pg_query::FromExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.jointree) } -// repeated .pg_query.Node cols = 2 [json_name = "cols"]; -inline int InsertStmt::_internal_cols_size() const { - return _impl_.cols_.size(); +// repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"]; +inline int Query::_internal_merge_action_list_size() const { + return _internal_merge_action_list().size(); } -inline int InsertStmt::cols_size() const { - return _internal_cols_size(); +inline int Query::merge_action_list_size() const { + return _internal_merge_action_list_size(); } -inline void InsertStmt::clear_cols() { - _impl_.cols_.Clear(); +inline void Query::clear_merge_action_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.merge_action_list_.Clear(); } -inline ::pg_query::Node* InsertStmt::mutable_cols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.cols) - return _impl_.cols_.Mutable(index); +inline ::pg_query::Node* Query::mutable_merge_action_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_action_list) + return _internal_mutable_merge_action_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -InsertStmt::mutable_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.InsertStmt.cols) - return &_impl_.cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_merge_action_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.merge_action_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_merge_action_list(); } -inline const ::pg_query::Node& InsertStmt::_internal_cols(int index) const { - return _impl_.cols_.Get(index); +inline const ::pg_query::Node& Query::merge_action_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_action_list) + return _internal_merge_action_list().Get(index); } -inline const ::pg_query::Node& InsertStmt::cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.cols) - return _internal_cols(index); +inline ::pg_query::Node* Query::add_merge_action_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_merge_action_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.merge_action_list) + return _add; } -inline ::pg_query::Node* InsertStmt::_internal_add_cols() { - return _impl_.cols_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::merge_action_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.merge_action_list) + return _internal_merge_action_list(); } -inline ::pg_query::Node* InsertStmt::add_cols() { - ::pg_query::Node* _add = _internal_add_cols(); - // @@protoc_insertion_point(field_add:pg_query.InsertStmt.cols) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_merge_action_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.merge_action_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -InsertStmt::cols() const { - // @@protoc_insertion_point(field_list:pg_query.InsertStmt.cols) - return _impl_.cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_merge_action_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.merge_action_list_; } -// .pg_query.Node select_stmt = 3 [json_name = "selectStmt"]; -inline bool InsertStmt::_internal_has_select_stmt() const { - return this != internal_default_instance() && _impl_.select_stmt_ != nullptr; +// int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"]; +inline void Query::clear_merge_target_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.merge_target_relation_ = 0; } -inline bool InsertStmt::has_select_stmt() const { - return _internal_has_select_stmt(); +inline ::int32_t Query::merge_target_relation() const { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_target_relation) + return _internal_merge_target_relation(); } -inline void InsertStmt::clear_select_stmt() { - if (GetArenaForAllocation() == nullptr && _impl_.select_stmt_ != nullptr) { - delete _impl_.select_stmt_; - } - _impl_.select_stmt_ = nullptr; +inline void Query::set_merge_target_relation(::int32_t value) { + _internal_set_merge_target_relation(value); + // @@protoc_insertion_point(field_set:pg_query.Query.merge_target_relation) } -inline const ::pg_query::Node& InsertStmt::_internal_select_stmt() const { - const ::pg_query::Node* p = _impl_.select_stmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::int32_t Query::_internal_merge_target_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.merge_target_relation_; } -inline const ::pg_query::Node& InsertStmt::select_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.select_stmt) - return _internal_select_stmt(); +inline void Query::_internal_set_merge_target_relation(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.merge_target_relation_ = value; +} + +// .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"]; +inline bool Query::has_merge_join_condition() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.merge_join_condition_ != nullptr); + return value; +} +inline void Query::clear_merge_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.merge_join_condition_ != nullptr) _impl_.merge_join_condition_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline void InsertStmt::unsafe_arena_set_allocated_select_stmt( - ::pg_query::Node* select_stmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.select_stmt_); +inline const ::pg_query::Node& Query::_internal_merge_join_condition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.merge_join_condition_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& Query::merge_join_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.merge_join_condition) + return _internal_merge_join_condition(); +} +inline void Query::unsafe_arena_set_allocated_merge_join_condition(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.merge_join_condition_); } - _impl_.select_stmt_ = select_stmt; - if (select_stmt) { - + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.select_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.merge_join_condition) } -inline ::pg_query::Node* InsertStmt::release_select_stmt() { - - ::pg_query::Node* temp = _impl_.select_stmt_; - _impl_.select_stmt_ = nullptr; +inline ::pg_query::Node* Query::release_merge_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.merge_join_condition_; + _impl_.merge_join_condition_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* InsertStmt::unsafe_arena_release_select_stmt() { - // @@protoc_insertion_point(field_release:pg_query.InsertStmt.select_stmt) - - ::pg_query::Node* temp = _impl_.select_stmt_; - _impl_.select_stmt_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_merge_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.merge_join_condition) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.merge_join_condition_; + _impl_.merge_join_condition_ = nullptr; return temp; } -inline ::pg_query::Node* InsertStmt::_internal_mutable_select_stmt() { - - if (_impl_.select_stmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.select_stmt_ = p; +inline ::pg_query::Node* Query::_internal_mutable_merge_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.merge_join_condition_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.select_stmt_; + return _impl_.merge_join_condition_; } -inline ::pg_query::Node* InsertStmt::mutable_select_stmt() { - ::pg_query::Node* _msg = _internal_mutable_select_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.select_stmt) +inline ::pg_query::Node* Query::mutable_merge_join_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_merge_join_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.merge_join_condition) return _msg; } -inline void InsertStmt::set_allocated_select_stmt(::pg_query::Node* select_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_merge_join_condition(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.select_stmt_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.merge_join_condition_); } - if (select_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(select_stmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - select_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, select_stmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.select_stmt_ = select_stmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.select_stmt) + + _impl_.merge_join_condition_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.merge_join_condition) } -// .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"]; -inline bool InsertStmt::_internal_has_on_conflict_clause() const { - return this != internal_default_instance() && _impl_.on_conflict_clause_ != nullptr; +// repeated .pg_query.Node target_list = 23 [json_name = "targetList"]; +inline int Query::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline bool InsertStmt::has_on_conflict_clause() const { - return _internal_has_on_conflict_clause(); +inline int Query::target_list_size() const { + return _internal_target_list_size(); } -inline void InsertStmt::clear_on_conflict_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.on_conflict_clause_ != nullptr) { - delete _impl_.on_conflict_clause_; - } - _impl_.on_conflict_clause_ = nullptr; +inline void Query::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline const ::pg_query::OnConflictClause& InsertStmt::_internal_on_conflict_clause() const { - const ::pg_query::OnConflictClause* p = _impl_.on_conflict_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_OnConflictClause_default_instance_); +inline ::pg_query::Node* Query::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline const ::pg_query::OnConflictClause& InsertStmt::on_conflict_clause() const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.on_conflict_clause) - return _internal_on_conflict_clause(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); +} +inline const ::pg_query::Node& Query::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.target_list) + return _internal_target_list().Get(index); +} +inline ::pg_query::Node* Query::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.target_list) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.target_list) + return _internal_target_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; +} + +// .pg_query.OverridingKind override = 24 [json_name = "override"]; +inline void Query::clear_override() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.override_ = 0; +} +inline ::pg_query::OverridingKind Query::override() const { + // @@protoc_insertion_point(field_get:pg_query.Query.override) + return _internal_override(); +} +inline void Query::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.Query.override) +} +inline ::pg_query::OverridingKind Query::_internal_override() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OverridingKind>(_impl_.override_); +} +inline void Query::_internal_set_override(::pg_query::OverridingKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; +} + +// .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"]; +inline bool Query::has_on_conflict() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_conflict_ != nullptr); + return value; +} +inline void Query::clear_on_conflict() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_conflict_ != nullptr) _impl_.on_conflict_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::OnConflictExpr& Query::_internal_on_conflict() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::OnConflictExpr* p = _impl_.on_conflict_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_OnConflictExpr_default_instance_); +} +inline const ::pg_query::OnConflictExpr& Query::on_conflict() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.on_conflict) + return _internal_on_conflict(); } -inline void InsertStmt::unsafe_arena_set_allocated_on_conflict_clause( - ::pg_query::OnConflictClause* on_conflict_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.on_conflict_clause_); +inline void Query::unsafe_arena_set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_); } - _impl_.on_conflict_clause_ = on_conflict_clause; - if (on_conflict_clause) { - + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.on_conflict_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.on_conflict) } -inline ::pg_query::OnConflictClause* InsertStmt::release_on_conflict_clause() { - - ::pg_query::OnConflictClause* temp = _impl_.on_conflict_clause_; - _impl_.on_conflict_clause_ = nullptr; +inline ::pg_query::OnConflictExpr* Query::release_on_conflict() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::OnConflictExpr* released = _impl_.on_conflict_; + _impl_.on_conflict_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::OnConflictClause* InsertStmt::unsafe_arena_release_on_conflict_clause() { - // @@protoc_insertion_point(field_release:pg_query.InsertStmt.on_conflict_clause) - - ::pg_query::OnConflictClause* temp = _impl_.on_conflict_clause_; - _impl_.on_conflict_clause_ = nullptr; +inline ::pg_query::OnConflictExpr* Query::unsafe_arena_release_on_conflict() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.on_conflict) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::OnConflictExpr* temp = _impl_.on_conflict_; + _impl_.on_conflict_ = nullptr; return temp; } -inline ::pg_query::OnConflictClause* InsertStmt::_internal_mutable_on_conflict_clause() { - - if (_impl_.on_conflict_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::OnConflictClause>(GetArenaForAllocation()); - _impl_.on_conflict_clause_ = p; +inline ::pg_query::OnConflictExpr* Query::_internal_mutable_on_conflict() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_conflict_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::OnConflictExpr>(GetArena()); + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(p); } - return _impl_.on_conflict_clause_; + return _impl_.on_conflict_; } -inline ::pg_query::OnConflictClause* InsertStmt::mutable_on_conflict_clause() { - ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.on_conflict_clause) +inline ::pg_query::OnConflictExpr* Query::mutable_on_conflict() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictExpr* _msg = _internal_mutable_on_conflict(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.on_conflict) return _msg; } -inline void InsertStmt::set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_on_conflict(::pg_query::OnConflictExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.on_conflict_clause_; + delete reinterpret_cast<::pg_query::OnConflictExpr*>(_impl_.on_conflict_); } - if (on_conflict_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(on_conflict_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::OnConflictExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { - on_conflict_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, on_conflict_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.on_conflict_clause_ = on_conflict_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.on_conflict_clause) + + _impl_.on_conflict_ = reinterpret_cast<::pg_query::OnConflictExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.on_conflict) } -// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; -inline int InsertStmt::_internal_returning_list_size() const { - return _impl_.returning_list_.size(); +// repeated .pg_query.Node returning_list = 26 [json_name = "returningList"]; +inline int Query::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline int InsertStmt::returning_list_size() const { +inline int Query::returning_list_size() const { return _internal_returning_list_size(); } -inline void InsertStmt::clear_returning_list() { +inline void Query::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.returning_list_.Clear(); } -inline ::pg_query::Node* InsertStmt::mutable_returning_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.returning_list) - return _impl_.returning_list_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -InsertStmt::mutable_returning_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.InsertStmt.returning_list) - return &_impl_.returning_list_; -} -inline const ::pg_query::Node& InsertStmt::_internal_returning_list(int index) const { - return _impl_.returning_list_.Get(index); +inline ::pg_query::Node* Query::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.returning_list) + return _internal_mutable_returning_list()->Mutable(index); } -inline const ::pg_query::Node& InsertStmt::returning_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.returning_list) - return _internal_returning_list(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); } -inline ::pg_query::Node* InsertStmt::_internal_add_returning_list() { - return _impl_.returning_list_.Add(); +inline const ::pg_query::Node& Query::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.returning_list) + return _internal_returning_list().Get(index); } -inline ::pg_query::Node* InsertStmt::add_returning_list() { - ::pg_query::Node* _add = _internal_add_returning_list(); - // @@protoc_insertion_point(field_add:pg_query.InsertStmt.returning_list) +inline ::pg_query::Node* Query::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.returning_list) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -InsertStmt::returning_list() const { - // @@protoc_insertion_point(field_list:pg_query.InsertStmt.returning_list) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.returning_list) + return _internal_returning_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.returning_list_; } - -// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; -inline bool InsertStmt::_internal_has_with_clause() const { - return this != internal_default_instance() && _impl_.with_clause_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; } -inline bool InsertStmt::has_with_clause() const { - return _internal_has_with_clause(); + +// repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"]; +inline int Query::_internal_group_clause_size() const { + return _internal_group_clause().size(); } -inline void InsertStmt::clear_with_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) { - delete _impl_.with_clause_; - } - _impl_.with_clause_ = nullptr; +inline int Query::group_clause_size() const { + return _internal_group_clause_size(); } -inline const ::pg_query::WithClause& InsertStmt::_internal_with_clause() const { - const ::pg_query::WithClause* p = _impl_.with_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WithClause_default_instance_); +inline void Query::clear_group_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.group_clause_.Clear(); } -inline const ::pg_query::WithClause& InsertStmt::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.with_clause) - return _internal_with_clause(); +inline ::pg_query::Node* Query::mutable_group_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.group_clause) + return _internal_mutable_group_clause()->Mutable(index); } -inline void InsertStmt::unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_clause_); - } - _impl_.with_clause_ = with_clause; - if (with_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.with_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_group_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.group_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_group_clause(); } -inline ::pg_query::WithClause* InsertStmt::release_with_clause() { - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& Query::group_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.group_clause) + return _internal_group_clause().Get(index); } -inline ::pg_query::WithClause* InsertStmt::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.InsertStmt.with_clause) - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; - return temp; +inline ::pg_query::Node* Query::add_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_group_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.group_clause) + return _add; } -inline ::pg_query::WithClause* InsertStmt::_internal_mutable_with_clause() { - - if (_impl_.with_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArenaForAllocation()); - _impl_.with_clause_ = p; - } - return _impl_.with_clause_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::group_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.group_clause) + return _internal_group_clause(); } -inline ::pg_query::WithClause* InsertStmt::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.with_clause) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_group_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.group_clause_; } -inline void InsertStmt::set_allocated_with_clause(::pg_query::WithClause* with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.with_clause_; - } - if (with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause); - if (message_arena != submessage_arena) { - with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_clause, submessage_arena); - } - - } else { - - } - _impl_.with_clause_ = with_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.with_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_group_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.group_clause_; } -// .pg_query.OverridingKind override = 7 [json_name = "override"]; -inline void InsertStmt::clear_override() { - _impl_.override_ = 0; +// bool group_distinct = 28 [json_name = "groupDistinct"]; +inline void Query::clear_group_distinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.group_distinct_ = false; } -inline ::pg_query::OverridingKind InsertStmt::_internal_override() const { - return static_cast< ::pg_query::OverridingKind >(_impl_.override_); +inline bool Query::group_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.Query.group_distinct) + return _internal_group_distinct(); } -inline ::pg_query::OverridingKind InsertStmt::override() const { - // @@protoc_insertion_point(field_get:pg_query.InsertStmt.override) - return _internal_override(); +inline void Query::set_group_distinct(bool value) { + _internal_set_group_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.Query.group_distinct) } -inline void InsertStmt::_internal_set_override(::pg_query::OverridingKind value) { - - _impl_.override_ = value; +inline bool Query::_internal_group_distinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.group_distinct_; } -inline void InsertStmt::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.InsertStmt.override) +inline void Query::_internal_set_group_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.group_distinct_ = value; } -// ------------------------------------------------------------------- - -// DeleteStmt - -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool DeleteStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"]; +inline int Query::_internal_grouping_sets_size() const { + return _internal_grouping_sets().size(); } -inline bool DeleteStmt::has_relation() const { - return _internal_has_relation(); +inline int Query::grouping_sets_size() const { + return _internal_grouping_sets_size(); +} +inline void Query::clear_grouping_sets() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.grouping_sets_.Clear(); +} +inline ::pg_query::Node* Query::mutable_grouping_sets(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.grouping_sets) + return _internal_mutable_grouping_sets()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_grouping_sets() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.grouping_sets) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_grouping_sets(); +} +inline const ::pg_query::Node& Query::grouping_sets(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.grouping_sets) + return _internal_grouping_sets().Get(index); +} +inline ::pg_query::Node* Query::add_grouping_sets() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_grouping_sets()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.grouping_sets) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::grouping_sets() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.grouping_sets) + return _internal_grouping_sets(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_grouping_sets() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.grouping_sets_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_grouping_sets() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.grouping_sets_; +} + +// .pg_query.Node having_qual = 30 [json_name = "havingQual"]; +inline bool Query::has_having_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.having_qual_ != nullptr); + return value; } -inline void DeleteStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void Query::clear_having_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.having_qual_ != nullptr) _impl_.having_qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::RangeVar& DeleteStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& Query::_internal_having_qual() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.having_qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& DeleteStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& Query::having_qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.having_qual) + return _internal_having_qual(); } -inline void DeleteStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void Query::unsafe_arena_set_allocated_having_qual(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.having_qual_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.having_qual) } -inline ::pg_query::RangeVar* DeleteStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* Query::release_having_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* released = _impl_.having_qual_; + _impl_.having_qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* DeleteStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_having_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.having_qual) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* temp = _impl_.having_qual_; + _impl_.having_qual_ = nullptr; return temp; } -inline ::pg_query::RangeVar* DeleteStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* Query::_internal_mutable_having_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.having_qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.having_qual_; } -inline ::pg_query::RangeVar* DeleteStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.relation) +inline ::pg_query::Node* Query::mutable_having_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_having_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.having_qual) return _msg; } -inline void DeleteStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_having_qual(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.having_qual_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.relation) + + _impl_.having_qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.having_qual) } -// repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"]; -inline int DeleteStmt::_internal_using_clause_size() const { - return _impl_.using_clause_.size(); +// repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"]; +inline int Query::_internal_window_clause_size() const { + return _internal_window_clause().size(); } -inline int DeleteStmt::using_clause_size() const { - return _internal_using_clause_size(); +inline int Query::window_clause_size() const { + return _internal_window_clause_size(); } -inline void DeleteStmt::clear_using_clause() { - _impl_.using_clause_.Clear(); +inline void Query::clear_window_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.window_clause_.Clear(); } -inline ::pg_query::Node* DeleteStmt::mutable_using_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.using_clause) - return _impl_.using_clause_.Mutable(index); +inline ::pg_query::Node* Query::mutable_window_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.window_clause) + return _internal_mutable_window_clause()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DeleteStmt::mutable_using_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DeleteStmt.using_clause) - return &_impl_.using_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_window_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.window_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_window_clause(); } -inline const ::pg_query::Node& DeleteStmt::_internal_using_clause(int index) const { - return _impl_.using_clause_.Get(index); +inline const ::pg_query::Node& Query::window_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.window_clause) + return _internal_window_clause().Get(index); } -inline const ::pg_query::Node& DeleteStmt::using_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.using_clause) - return _internal_using_clause(index); +inline ::pg_query::Node* Query::add_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_window_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.window_clause) + return _add; } -inline ::pg_query::Node* DeleteStmt::_internal_add_using_clause() { - return _impl_.using_clause_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::window_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.window_clause) + return _internal_window_clause(); } -inline ::pg_query::Node* DeleteStmt::add_using_clause() { - ::pg_query::Node* _add = _internal_add_using_clause(); - // @@protoc_insertion_point(field_add:pg_query.DeleteStmt.using_clause) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_window_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.window_clause_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DeleteStmt::using_clause() const { - // @@protoc_insertion_point(field_list:pg_query.DeleteStmt.using_clause) - return _impl_.using_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_window_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.window_clause_; } -// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; -inline bool DeleteStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; -} -inline bool DeleteStmt::has_where_clause() const { - return _internal_has_where_clause(); +// repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"]; +inline int Query::_internal_distinct_clause_size() const { + return _internal_distinct_clause().size(); } -inline void DeleteStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline int Query::distinct_clause_size() const { + return _internal_distinct_clause_size(); } -inline const ::pg_query::Node& DeleteStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void Query::clear_distinct_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.distinct_clause_.Clear(); } -inline const ::pg_query::Node& DeleteStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.where_clause) - return _internal_where_clause(); +inline ::pg_query::Node* Query::mutable_distinct_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.distinct_clause) + return _internal_mutable_distinct_clause()->Mutable(index); } -inline void DeleteStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); - } - _impl_.where_clause_ = where_clause; - if (where_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.where_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_distinct_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.distinct_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_distinct_clause(); } -inline ::pg_query::Node* DeleteStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& Query::distinct_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.distinct_clause) + return _internal_distinct_clause().Get(index); } -inline ::pg_query::Node* DeleteStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; - return temp; +inline ::pg_query::Node* Query::add_distinct_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_distinct_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.distinct_clause) + return _add; } -inline ::pg_query::Node* DeleteStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; - } - return _impl_.where_clause_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::distinct_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.distinct_clause) + return _internal_distinct_clause(); } -inline ::pg_query::Node* DeleteStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.where_clause) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_distinct_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.distinct_clause_; } -inline void DeleteStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.where_clause_; - } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); - if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); - } - - } else { - - } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.where_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_distinct_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.distinct_clause_; } -// repeated .pg_query.Node returning_list = 4 [json_name = "returningList"]; -inline int DeleteStmt::_internal_returning_list_size() const { - return _impl_.returning_list_.size(); +// repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"]; +inline int Query::_internal_sort_clause_size() const { + return _internal_sort_clause().size(); } -inline int DeleteStmt::returning_list_size() const { - return _internal_returning_list_size(); +inline int Query::sort_clause_size() const { + return _internal_sort_clause_size(); } -inline void DeleteStmt::clear_returning_list() { - _impl_.returning_list_.Clear(); +inline void Query::clear_sort_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sort_clause_.Clear(); } -inline ::pg_query::Node* DeleteStmt::mutable_returning_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.returning_list) - return _impl_.returning_list_.Mutable(index); +inline ::pg_query::Node* Query::mutable_sort_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.sort_clause) + return _internal_mutable_sort_clause()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DeleteStmt::mutable_returning_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DeleteStmt.returning_list) - return &_impl_.returning_list_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_sort_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.sort_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_sort_clause(); } -inline const ::pg_query::Node& DeleteStmt::_internal_returning_list(int index) const { - return _impl_.returning_list_.Get(index); +inline const ::pg_query::Node& Query::sort_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.sort_clause) + return _internal_sort_clause().Get(index); } -inline const ::pg_query::Node& DeleteStmt::returning_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.returning_list) - return _internal_returning_list(index); +inline ::pg_query::Node* Query::add_sort_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_sort_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.sort_clause) + return _add; } -inline ::pg_query::Node* DeleteStmt::_internal_add_returning_list() { - return _impl_.returning_list_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::sort_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.sort_clause) + return _internal_sort_clause(); } -inline ::pg_query::Node* DeleteStmt::add_returning_list() { - ::pg_query::Node* _add = _internal_add_returning_list(); - // @@protoc_insertion_point(field_add:pg_query.DeleteStmt.returning_list) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_sort_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sort_clause_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DeleteStmt::returning_list() const { - // @@protoc_insertion_point(field_list:pg_query.DeleteStmt.returning_list) - return _impl_.returning_list_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_sort_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.sort_clause_; } -// .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; -inline bool DeleteStmt::_internal_has_with_clause() const { - return this != internal_default_instance() && _impl_.with_clause_ != nullptr; -} -inline bool DeleteStmt::has_with_clause() const { - return _internal_has_with_clause(); +// .pg_query.Node limit_offset = 34 [json_name = "limitOffset"]; +inline bool Query::has_limit_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_offset_ != nullptr); + return value; } -inline void DeleteStmt::clear_with_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) { - delete _impl_.with_clause_; - } - _impl_.with_clause_ = nullptr; +inline void Query::clear_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.limit_offset_ != nullptr) _impl_.limit_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline const ::pg_query::WithClause& DeleteStmt::_internal_with_clause() const { - const ::pg_query::WithClause* p = _impl_.with_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WithClause_default_instance_); +inline const ::pg_query::Node& Query::_internal_limit_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.limit_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::WithClause& DeleteStmt::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.with_clause) - return _internal_with_clause(); +inline const ::pg_query::Node& Query::limit_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_offset) + return _internal_limit_offset(); } -inline void DeleteStmt::unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_clause_); +inline void Query::unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_offset_); } - _impl_.with_clause_ = with_clause; - if (with_clause) { - + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; } else { - + _impl_._has_bits_[0] &= ~0x00000020u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.with_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_offset) } -inline ::pg_query::WithClause* DeleteStmt::release_with_clause() { - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; +inline ::pg_query::Node* Query::release_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::Node* released = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::WithClause* DeleteStmt::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.with_clause) - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.limit_offset) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::Node* temp = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; return temp; } -inline ::pg_query::WithClause* DeleteStmt::_internal_mutable_with_clause() { - - if (_impl_.with_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArenaForAllocation()); - _impl_.with_clause_ = p; +inline ::pg_query::Node* Query::_internal_mutable_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.limit_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.with_clause_; + return _impl_.limit_offset_; } -inline ::pg_query::WithClause* DeleteStmt::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.with_clause) +inline ::pg_query::Node* Query::mutable_limit_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_offset) return _msg; } -inline void DeleteStmt::set_allocated_with_clause(::pg_query::WithClause* with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_limit_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.with_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_offset_); } - if (with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000020u; } else { - + _impl_._has_bits_[0] &= ~0x00000020u; } - _impl_.with_clause_ = with_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.with_clause) -} - -// ------------------------------------------------------------------- - -// UpdateStmt -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool UpdateStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_offset) } -inline bool UpdateStmt::has_relation() const { - return _internal_has_relation(); + +// .pg_query.Node limit_count = 35 [json_name = "limitCount"]; +inline bool Query::has_limit_count() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_count_ != nullptr); + return value; } -inline void UpdateStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void Query::clear_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.limit_count_ != nullptr) _impl_.limit_count_->Clear(); + _impl_._has_bits_[0] &= ~0x00000040u; } -inline const ::pg_query::RangeVar& UpdateStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& Query::_internal_limit_count() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.limit_count_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& UpdateStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& Query::limit_count() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_count) + return _internal_limit_count(); } -inline void UpdateStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void Query::unsafe_arena_set_allocated_limit_count(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_count_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000040u; } else { - + _impl_._has_bits_[0] &= ~0x00000040u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.limit_count) } -inline ::pg_query::RangeVar* UpdateStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* Query::release_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::Node* released = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* UpdateStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.limit_count) + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::Node* temp = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; return temp; } -inline ::pg_query::RangeVar* UpdateStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* Query::_internal_mutable_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000040u; + if (_impl_.limit_count_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.limit_count_; } -inline ::pg_query::RangeVar* UpdateStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.relation) +inline ::pg_query::Node* Query::mutable_limit_count() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_count(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.limit_count) return _msg; } -inline void UpdateStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_limit_count(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_count_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000040u; } else { - + _impl_._has_bits_[0] &= ~0x00000040u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.relation) + + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.limit_count) } -// repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; -inline int UpdateStmt::_internal_target_list_size() const { - return _impl_.target_list_.size(); +// .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"]; +inline void Query::clear_limit_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.limit_option_ = 0; } -inline int UpdateStmt::target_list_size() const { - return _internal_target_list_size(); +inline ::pg_query::LimitOption Query::limit_option() const { + // @@protoc_insertion_point(field_get:pg_query.Query.limit_option) + return _internal_limit_option(); } -inline void UpdateStmt::clear_target_list() { - _impl_.target_list_.Clear(); +inline void Query::set_limit_option(::pg_query::LimitOption value) { + _internal_set_limit_option(value); + // @@protoc_insertion_point(field_set:pg_query.Query.limit_option) } -inline ::pg_query::Node* UpdateStmt::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.target_list) - return _impl_.target_list_.Mutable(index); +inline ::pg_query::LimitOption Query::_internal_limit_option() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LimitOption>(_impl_.limit_option_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -UpdateStmt::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.target_list) - return &_impl_.target_list_; +inline void Query::_internal_set_limit_option(::pg_query::LimitOption value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.limit_option_ = value; } -inline const ::pg_query::Node& UpdateStmt::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); + +// repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"]; +inline int Query::_internal_row_marks_size() const { + return _internal_row_marks().size(); } -inline const ::pg_query::Node& UpdateStmt::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.target_list) - return _internal_target_list(index); +inline int Query::row_marks_size() const { + return _internal_row_marks_size(); } -inline ::pg_query::Node* UpdateStmt::_internal_add_target_list() { - return _impl_.target_list_.Add(); +inline void Query::clear_row_marks() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.row_marks_.Clear(); } -inline ::pg_query::Node* UpdateStmt::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.target_list) +inline ::pg_query::Node* Query::mutable_row_marks(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.row_marks) + return _internal_mutable_row_marks()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_row_marks() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.row_marks) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_row_marks(); +} +inline const ::pg_query::Node& Query::row_marks(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.row_marks) + return _internal_row_marks().Get(index); +} +inline ::pg_query::Node* Query::add_row_marks() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_row_marks()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.row_marks) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -UpdateStmt::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.target_list) - return _impl_.target_list_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::row_marks() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.row_marks) + return _internal_row_marks(); } - -// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; -inline bool UpdateStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_row_marks() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.row_marks_; } -inline bool UpdateStmt::has_where_clause() const { - return _internal_has_where_clause(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_row_marks() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.row_marks_; } -inline void UpdateStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; + +// .pg_query.Node set_operations = 38 [json_name = "setOperations"]; +inline bool Query::has_set_operations() const { + bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; + PROTOBUF_ASSUME(!value || _impl_.set_operations_ != nullptr); + return value; } -inline const ::pg_query::Node& UpdateStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void Query::clear_set_operations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.set_operations_ != nullptr) _impl_.set_operations_->Clear(); + _impl_._has_bits_[0] &= ~0x00000080u; } -inline const ::pg_query::Node& UpdateStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.where_clause) - return _internal_where_clause(); +inline const ::pg_query::Node& Query::_internal_set_operations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.set_operations_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& Query::set_operations() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.set_operations) + return _internal_set_operations(); } -inline void UpdateStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void Query::unsafe_arena_set_allocated_set_operations(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.set_operations_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000080u; } else { - + _impl_._has_bits_[0] &= ~0x00000080u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Query.set_operations) } -inline ::pg_query::Node* UpdateStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* Query::release_set_operations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::Node* released = _impl_.set_operations_; + _impl_.set_operations_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* UpdateStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* Query::unsafe_arena_release_set_operations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Query.set_operations) + + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::Node* temp = _impl_.set_operations_; + _impl_.set_operations_ = nullptr; return temp; } -inline ::pg_query::Node* UpdateStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::Node* Query::_internal_mutable_set_operations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000080u; + if (_impl_.set_operations_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.where_clause_; + return _impl_.set_operations_; } -inline ::pg_query::Node* UpdateStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.where_clause) +inline ::pg_query::Node* Query::mutable_set_operations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_set_operations(); + // @@protoc_insertion_point(field_mutable:pg_query.Query.set_operations) return _msg; } -inline void UpdateStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Query::set_allocated_set_operations(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.set_operations_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000080u; } else { - + _impl_._has_bits_[0] &= ~0x00000080u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.where_clause) + + _impl_.set_operations_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Query.set_operations) } -// repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; -inline int UpdateStmt::_internal_from_clause_size() const { - return _impl_.from_clause_.size(); +// repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"]; +inline int Query::_internal_constraint_deps_size() const { + return _internal_constraint_deps().size(); } -inline int UpdateStmt::from_clause_size() const { - return _internal_from_clause_size(); +inline int Query::constraint_deps_size() const { + return _internal_constraint_deps_size(); } -inline void UpdateStmt::clear_from_clause() { - _impl_.from_clause_.Clear(); +inline void Query::clear_constraint_deps() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraint_deps_.Clear(); } -inline ::pg_query::Node* UpdateStmt::mutable_from_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.from_clause) - return _impl_.from_clause_.Mutable(index); +inline ::pg_query::Node* Query::mutable_constraint_deps(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.constraint_deps) + return _internal_mutable_constraint_deps()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -UpdateStmt::mutable_from_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.from_clause) - return &_impl_.from_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_constraint_deps() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.constraint_deps) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraint_deps(); } -inline const ::pg_query::Node& UpdateStmt::_internal_from_clause(int index) const { - return _impl_.from_clause_.Get(index); +inline const ::pg_query::Node& Query::constraint_deps(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.constraint_deps) + return _internal_constraint_deps().Get(index); } -inline const ::pg_query::Node& UpdateStmt::from_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.from_clause) - return _internal_from_clause(index); +inline ::pg_query::Node* Query::add_constraint_deps() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraint_deps()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.constraint_deps) + return _add; } -inline ::pg_query::Node* UpdateStmt::_internal_add_from_clause() { - return _impl_.from_clause_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::constraint_deps() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.constraint_deps) + return _internal_constraint_deps(); } -inline ::pg_query::Node* UpdateStmt::add_from_clause() { - ::pg_query::Node* _add = _internal_add_from_clause(); - // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.from_clause) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_constraint_deps() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraint_deps_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -UpdateStmt::from_clause() const { - // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.from_clause) - return _impl_.from_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_constraint_deps() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraint_deps_; } -// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; -inline int UpdateStmt::_internal_returning_list_size() const { - return _impl_.returning_list_.size(); +// repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"]; +inline int Query::_internal_with_check_options_size() const { + return _internal_with_check_options().size(); } -inline int UpdateStmt::returning_list_size() const { - return _internal_returning_list_size(); +inline int Query::with_check_options_size() const { + return _internal_with_check_options_size(); } -inline void UpdateStmt::clear_returning_list() { - _impl_.returning_list_.Clear(); +inline void Query::clear_with_check_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.with_check_options_.Clear(); } -inline ::pg_query::Node* UpdateStmt::mutable_returning_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.returning_list) - return _impl_.returning_list_.Mutable(index); +inline ::pg_query::Node* Query::mutable_with_check_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Query.with_check_options) + return _internal_mutable_with_check_options()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -UpdateStmt::mutable_returning_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.returning_list) - return &_impl_.returning_list_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Query::mutable_with_check_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Query.with_check_options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_with_check_options(); } -inline const ::pg_query::Node& UpdateStmt::_internal_returning_list(int index) const { - return _impl_.returning_list_.Get(index); +inline const ::pg_query::Node& Query::with_check_options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Query.with_check_options) + return _internal_with_check_options().Get(index); } -inline const ::pg_query::Node& UpdateStmt::returning_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.returning_list) - return _internal_returning_list(index); +inline ::pg_query::Node* Query::add_with_check_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_with_check_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Query.with_check_options) + return _add; } -inline ::pg_query::Node* UpdateStmt::_internal_add_returning_list() { - return _impl_.returning_list_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Query::with_check_options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Query.with_check_options) + return _internal_with_check_options(); } -inline ::pg_query::Node* UpdateStmt::add_returning_list() { - ::pg_query::Node* _add = _internal_add_returning_list(); - // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.returning_list) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Query::_internal_with_check_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.with_check_options_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -UpdateStmt::returning_list() const { - // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.returning_list) - return _impl_.returning_list_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Query::_internal_mutable_with_check_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.with_check_options_; } -// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; -inline bool UpdateStmt::_internal_has_with_clause() const { - return this != internal_default_instance() && _impl_.with_clause_ != nullptr; -} -inline bool UpdateStmt::has_with_clause() const { - return _internal_has_with_clause(); +// int32 stmt_location = 41 [json_name = "stmt_location"]; +inline void Query::clear_stmt_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_location_ = 0; } -inline void UpdateStmt::clear_with_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) { - delete _impl_.with_clause_; - } - _impl_.with_clause_ = nullptr; +inline ::int32_t Query::stmt_location() const { + // @@protoc_insertion_point(field_get:pg_query.Query.stmt_location) + return _internal_stmt_location(); } -inline const ::pg_query::WithClause& UpdateStmt::_internal_with_clause() const { - const ::pg_query::WithClause* p = _impl_.with_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WithClause_default_instance_); +inline void Query::set_stmt_location(::int32_t value) { + _internal_set_stmt_location(value); + // @@protoc_insertion_point(field_set:pg_query.Query.stmt_location) } -inline const ::pg_query::WithClause& UpdateStmt::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.with_clause) - return _internal_with_clause(); +inline ::int32_t Query::_internal_stmt_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_location_; } -inline void UpdateStmt::unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_clause_); - } - _impl_.with_clause_ = with_clause; - if (with_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.with_clause) +inline void Query::_internal_set_stmt_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stmt_location_ = value; } -inline ::pg_query::WithClause* UpdateStmt::release_with_clause() { - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// int32 stmt_len = 42 [json_name = "stmt_len"]; +inline void Query::clear_stmt_len() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_len_ = 0; } -inline ::pg_query::WithClause* UpdateStmt::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.with_clause) - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; - return temp; +inline ::int32_t Query::stmt_len() const { + // @@protoc_insertion_point(field_get:pg_query.Query.stmt_len) + return _internal_stmt_len(); } -inline ::pg_query::WithClause* UpdateStmt::_internal_mutable_with_clause() { - - if (_impl_.with_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArenaForAllocation()); - _impl_.with_clause_ = p; - } - return _impl_.with_clause_; +inline void Query::set_stmt_len(::int32_t value) { + _internal_set_stmt_len(value); + // @@protoc_insertion_point(field_set:pg_query.Query.stmt_len) } -inline ::pg_query::WithClause* UpdateStmt::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.with_clause) - return _msg; +inline ::int32_t Query::_internal_stmt_len() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_len_; } -inline void UpdateStmt::set_allocated_with_clause(::pg_query::WithClause* with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.with_clause_; - } - if (with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause); - if (message_arena != submessage_arena) { - with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_clause, submessage_arena); - } - - } else { - - } - _impl_.with_clause_ = with_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.with_clause) +inline void Query::_internal_set_stmt_len(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stmt_len_ = value; } // ------------------------------------------------------------------- -// MergeStmt +// TypeName -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool MergeStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// repeated .pg_query.Node names = 1 [json_name = "names"]; +inline int TypeName::_internal_names_size() const { + return _internal_names().size(); } -inline bool MergeStmt::has_relation() const { - return _internal_has_relation(); +inline int TypeName::names_size() const { + return _internal_names_size(); } -inline void MergeStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void TypeName::clear_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.names_.Clear(); } -inline const ::pg_query::RangeVar& MergeStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline ::pg_query::Node* TypeName::mutable_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.names) + return _internal_mutable_names()->Mutable(index); } -inline const ::pg_query::RangeVar& MergeStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.MergeStmt.relation) - return _internal_relation(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_names(); } -inline void MergeStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); - } - _impl_.relation_ = relation; - if (relation) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.relation) +inline const ::pg_query::Node& TypeName::names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.names) + return _internal_names().Get(index); } -inline ::pg_query::RangeVar* MergeStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::pg_query::Node* TypeName::add_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.names) + return _add; } -inline ::pg_query::RangeVar* MergeStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.MergeStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; - return temp; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.names) + return _internal_names(); } -inline ::pg_query::RangeVar* MergeStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; - } - return _impl_.relation_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.names_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.names_; +} + +// uint32 type_oid = 2 [json_name = "typeOid"]; +inline void TypeName::clear_type_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_oid_ = 0u; +} +inline ::uint32_t TypeName::type_oid() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.type_oid) + return _internal_type_oid(); +} +inline void TypeName::set_type_oid(::uint32_t value) { + _internal_set_type_oid(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.type_oid) } -inline ::pg_query::RangeVar* MergeStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.relation) - return _msg; +inline ::uint32_t TypeName::_internal_type_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_oid_; } -inline void MergeStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.relation_; - } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); - if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); - } - - } else { - - } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.relation) +inline void TypeName::_internal_set_type_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.type_oid_ = value; } -// .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; -inline bool MergeStmt::_internal_has_source_relation() const { - return this != internal_default_instance() && _impl_.source_relation_ != nullptr; -} -inline bool MergeStmt::has_source_relation() const { - return _internal_has_source_relation(); +// bool setof = 3 [json_name = "setof"]; +inline void TypeName::clear_setof() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.setof_ = false; } -inline void MergeStmt::clear_source_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.source_relation_ != nullptr) { - delete _impl_.source_relation_; - } - _impl_.source_relation_ = nullptr; +inline bool TypeName::setof() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.setof) + return _internal_setof(); } -inline const ::pg_query::Node& MergeStmt::_internal_source_relation() const { - const ::pg_query::Node* p = _impl_.source_relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void TypeName::set_setof(bool value) { + _internal_set_setof(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.setof) } -inline const ::pg_query::Node& MergeStmt::source_relation() const { - // @@protoc_insertion_point(field_get:pg_query.MergeStmt.source_relation) - return _internal_source_relation(); +inline bool TypeName::_internal_setof() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.setof_; } -inline void MergeStmt::unsafe_arena_set_allocated_source_relation( - ::pg_query::Node* source_relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.source_relation_); - } - _impl_.source_relation_ = source_relation; - if (source_relation) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.source_relation) +inline void TypeName::_internal_set_setof(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.setof_ = value; } -inline ::pg_query::Node* MergeStmt::release_source_relation() { - - ::pg_query::Node* temp = _impl_.source_relation_; - _impl_.source_relation_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool pct_type = 4 [json_name = "pct_type"]; +inline void TypeName::clear_pct_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pct_type_ = false; } -inline ::pg_query::Node* MergeStmt::unsafe_arena_release_source_relation() { - // @@protoc_insertion_point(field_release:pg_query.MergeStmt.source_relation) - - ::pg_query::Node* temp = _impl_.source_relation_; - _impl_.source_relation_ = nullptr; - return temp; +inline bool TypeName::pct_type() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.pct_type) + return _internal_pct_type(); } -inline ::pg_query::Node* MergeStmt::_internal_mutable_source_relation() { - - if (_impl_.source_relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.source_relation_ = p; - } - return _impl_.source_relation_; +inline void TypeName::set_pct_type(bool value) { + _internal_set_pct_type(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.pct_type) } -inline ::pg_query::Node* MergeStmt::mutable_source_relation() { - ::pg_query::Node* _msg = _internal_mutable_source_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.source_relation) - return _msg; +inline bool TypeName::_internal_pct_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pct_type_; } -inline void MergeStmt::set_allocated_source_relation(::pg_query::Node* source_relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.source_relation_; - } - if (source_relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(source_relation); - if (message_arena != submessage_arena) { - source_relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, source_relation, submessage_arena); - } - - } else { - - } - _impl_.source_relation_ = source_relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.source_relation) +inline void TypeName::_internal_set_pct_type(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pct_type_ = value; } -// .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; -inline bool MergeStmt::_internal_has_join_condition() const { - return this != internal_default_instance() && _impl_.join_condition_ != nullptr; -} -inline bool MergeStmt::has_join_condition() const { - return _internal_has_join_condition(); +// repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; +inline int TypeName::_internal_typmods_size() const { + return _internal_typmods().size(); } -inline void MergeStmt::clear_join_condition() { - if (GetArenaForAllocation() == nullptr && _impl_.join_condition_ != nullptr) { - delete _impl_.join_condition_; - } - _impl_.join_condition_ = nullptr; +inline int TypeName::typmods_size() const { + return _internal_typmods_size(); } -inline const ::pg_query::Node& MergeStmt::_internal_join_condition() const { - const ::pg_query::Node* p = _impl_.join_condition_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void TypeName::clear_typmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typmods_.Clear(); } -inline const ::pg_query::Node& MergeStmt::join_condition() const { - // @@protoc_insertion_point(field_get:pg_query.MergeStmt.join_condition) - return _internal_join_condition(); +inline ::pg_query::Node* TypeName::mutable_typmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.typmods) + return _internal_mutable_typmods()->Mutable(index); } -inline void MergeStmt::unsafe_arena_set_allocated_join_condition( - ::pg_query::Node* join_condition) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.join_condition_); - } - _impl_.join_condition_ = join_condition; - if (join_condition) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.join_condition) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_typmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.typmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_typmods(); } -inline ::pg_query::Node* MergeStmt::release_join_condition() { - - ::pg_query::Node* temp = _impl_.join_condition_; - _impl_.join_condition_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& TypeName::typmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.typmods) + return _internal_typmods().Get(index); } -inline ::pg_query::Node* MergeStmt::unsafe_arena_release_join_condition() { - // @@protoc_insertion_point(field_release:pg_query.MergeStmt.join_condition) - - ::pg_query::Node* temp = _impl_.join_condition_; - _impl_.join_condition_ = nullptr; - return temp; +inline ::pg_query::Node* TypeName::add_typmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_typmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.typmods) + return _add; } -inline ::pg_query::Node* MergeStmt::_internal_mutable_join_condition() { - - if (_impl_.join_condition_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.join_condition_ = p; - } - return _impl_.join_condition_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::typmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.typmods) + return _internal_typmods(); } -inline ::pg_query::Node* MergeStmt::mutable_join_condition() { - ::pg_query::Node* _msg = _internal_mutable_join_condition(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.join_condition) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_typmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typmods_; } -inline void MergeStmt::set_allocated_join_condition(::pg_query::Node* join_condition) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.join_condition_; - } - if (join_condition) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(join_condition); - if (message_arena != submessage_arena) { - join_condition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, join_condition, submessage_arena); - } - - } else { - - } - _impl_.join_condition_ = join_condition; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.join_condition) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_typmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.typmods_; } -// repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; -inline int MergeStmt::_internal_merge_when_clauses_size() const { - return _impl_.merge_when_clauses_.size(); -} -inline int MergeStmt::merge_when_clauses_size() const { - return _internal_merge_when_clauses_size(); +// int32 typemod = 6 [json_name = "typemod"]; +inline void TypeName::clear_typemod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.typemod_ = 0; } -inline void MergeStmt::clear_merge_when_clauses() { - _impl_.merge_when_clauses_.Clear(); +inline ::int32_t TypeName::typemod() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.typemod) + return _internal_typemod(); } -inline ::pg_query::Node* MergeStmt::mutable_merge_when_clauses(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.merge_when_clauses) - return _impl_.merge_when_clauses_.Mutable(index); +inline void TypeName::set_typemod(::int32_t value) { + _internal_set_typemod(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.typemod) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MergeStmt::mutable_merge_when_clauses() { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeStmt.merge_when_clauses) - return &_impl_.merge_when_clauses_; +inline ::int32_t TypeName::_internal_typemod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.typemod_; } -inline const ::pg_query::Node& MergeStmt::_internal_merge_when_clauses(int index) const { - return _impl_.merge_when_clauses_.Get(index); +inline void TypeName::_internal_set_typemod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.typemod_ = value; } -inline const ::pg_query::Node& MergeStmt::merge_when_clauses(int index) const { - // @@protoc_insertion_point(field_get:pg_query.MergeStmt.merge_when_clauses) - return _internal_merge_when_clauses(index); + +// repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; +inline int TypeName::_internal_array_bounds_size() const { + return _internal_array_bounds().size(); } -inline ::pg_query::Node* MergeStmt::_internal_add_merge_when_clauses() { - return _impl_.merge_when_clauses_.Add(); +inline int TypeName::array_bounds_size() const { + return _internal_array_bounds_size(); } -inline ::pg_query::Node* MergeStmt::add_merge_when_clauses() { - ::pg_query::Node* _add = _internal_add_merge_when_clauses(); - // @@protoc_insertion_point(field_add:pg_query.MergeStmt.merge_when_clauses) - return _add; +inline void TypeName::clear_array_bounds() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.array_bounds_.Clear(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MergeStmt::merge_when_clauses() const { - // @@protoc_insertion_point(field_list:pg_query.MergeStmt.merge_when_clauses) - return _impl_.merge_when_clauses_; +inline ::pg_query::Node* TypeName::mutable_array_bounds(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TypeName.array_bounds) + return _internal_mutable_array_bounds()->Mutable(index); } - -// .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; -inline bool MergeStmt::_internal_has_with_clause() const { - return this != internal_default_instance() && _impl_.with_clause_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TypeName::mutable_array_bounds() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.array_bounds) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_array_bounds(); } -inline bool MergeStmt::has_with_clause() const { - return _internal_has_with_clause(); +inline const ::pg_query::Node& TypeName::array_bounds(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeName.array_bounds) + return _internal_array_bounds().Get(index); } -inline void MergeStmt::clear_with_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) { - delete _impl_.with_clause_; - } - _impl_.with_clause_ = nullptr; +inline ::pg_query::Node* TypeName::add_array_bounds() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_array_bounds()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TypeName.array_bounds) + return _add; } -inline const ::pg_query::WithClause& MergeStmt::_internal_with_clause() const { - const ::pg_query::WithClause* p = _impl_.with_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WithClause_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TypeName::array_bounds() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TypeName.array_bounds) + return _internal_array_bounds(); } -inline const ::pg_query::WithClause& MergeStmt::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.MergeStmt.with_clause) - return _internal_with_clause(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TypeName::_internal_array_bounds() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.array_bounds_; } -inline void MergeStmt::unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_clause_); - } - _impl_.with_clause_ = with_clause; - if (with_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.with_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TypeName::_internal_mutable_array_bounds() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.array_bounds_; } -inline ::pg_query::WithClause* MergeStmt::release_with_clause() { - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// int32 location = 8 [json_name = "location"]; +inline void TypeName::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::WithClause* MergeStmt::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.MergeStmt.with_clause) - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; - return temp; +inline ::int32_t TypeName::location() const { + // @@protoc_insertion_point(field_get:pg_query.TypeName.location) + return _internal_location(); } -inline ::pg_query::WithClause* MergeStmt::_internal_mutable_with_clause() { - - if (_impl_.with_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArenaForAllocation()); - _impl_.with_clause_ = p; - } - return _impl_.with_clause_; +inline void TypeName::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TypeName.location) } -inline ::pg_query::WithClause* MergeStmt::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.with_clause) - return _msg; +inline ::int32_t TypeName::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void MergeStmt::set_allocated_with_clause(::pg_query::WithClause* with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.with_clause_; - } - if (with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause); - if (message_arena != submessage_arena) { - with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_clause, submessage_arena); - } - - } else { - - } - _impl_.with_clause_ = with_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.with_clause) +inline void TypeName::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// SelectStmt +// ColumnRef -// repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; -inline int SelectStmt::_internal_distinct_clause_size() const { - return _impl_.distinct_clause_.size(); +// repeated .pg_query.Node fields = 1 [json_name = "fields"]; +inline int ColumnRef::_internal_fields_size() const { + return _internal_fields().size(); } -inline int SelectStmt::distinct_clause_size() const { - return _internal_distinct_clause_size(); +inline int ColumnRef::fields_size() const { + return _internal_fields_size(); } -inline void SelectStmt::clear_distinct_clause() { - _impl_.distinct_clause_.Clear(); +inline void ColumnRef::clear_fields() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fields_.Clear(); } -inline ::pg_query::Node* SelectStmt::mutable_distinct_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.distinct_clause) - return _impl_.distinct_clause_.Mutable(index); +inline ::pg_query::Node* ColumnRef::mutable_fields(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ColumnRef.fields) + return _internal_mutable_fields()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_distinct_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.distinct_clause) - return &_impl_.distinct_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnRef::mutable_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnRef.fields) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fields(); } -inline const ::pg_query::Node& SelectStmt::_internal_distinct_clause(int index) const { - return _impl_.distinct_clause_.Get(index); +inline const ::pg_query::Node& ColumnRef::fields(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnRef.fields) + return _internal_fields().Get(index); } -inline const ::pg_query::Node& SelectStmt::distinct_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.distinct_clause) - return _internal_distinct_clause(index); +inline ::pg_query::Node* ColumnRef::add_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fields()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnRef.fields) + return _add; } -inline ::pg_query::Node* SelectStmt::_internal_add_distinct_clause() { - return _impl_.distinct_clause_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnRef::fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ColumnRef.fields) + return _internal_fields(); } -inline ::pg_query::Node* SelectStmt::add_distinct_clause() { - ::pg_query::Node* _add = _internal_add_distinct_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.distinct_clause) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ColumnRef::_internal_fields() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fields_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::distinct_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.distinct_clause) - return _impl_.distinct_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ColumnRef::_internal_mutable_fields() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fields_; } -// .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; -inline bool SelectStmt::_internal_has_into_clause() const { - return this != internal_default_instance() && _impl_.into_clause_ != nullptr; -} -inline bool SelectStmt::has_into_clause() const { - return _internal_has_into_clause(); +// int32 location = 2 [json_name = "location"]; +inline void ColumnRef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline void SelectStmt::clear_into_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.into_clause_ != nullptr) { - delete _impl_.into_clause_; - } - _impl_.into_clause_ = nullptr; +inline ::int32_t ColumnRef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnRef.location) + return _internal_location(); } -inline const ::pg_query::IntoClause& SelectStmt::_internal_into_clause() const { - const ::pg_query::IntoClause* p = _impl_.into_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_IntoClause_default_instance_); +inline void ColumnRef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnRef.location) } -inline const ::pg_query::IntoClause& SelectStmt::into_clause() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.into_clause) - return _internal_into_clause(); +inline ::int32_t ColumnRef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void SelectStmt::unsafe_arena_set_allocated_into_clause( - ::pg_query::IntoClause* into_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.into_clause_); - } - _impl_.into_clause_ = into_clause; - if (into_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.into_clause) +inline void ColumnRef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline ::pg_query::IntoClause* SelectStmt::release_into_clause() { - - ::pg_query::IntoClause* temp = _impl_.into_clause_; - _impl_.into_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// ------------------------------------------------------------------- + +// ParamRef + +// int32 number = 1 [json_name = "number"]; +inline void ParamRef::clear_number() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.number_ = 0; } -inline ::pg_query::IntoClause* SelectStmt::unsafe_arena_release_into_clause() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.into_clause) - - ::pg_query::IntoClause* temp = _impl_.into_clause_; - _impl_.into_clause_ = nullptr; - return temp; +inline ::int32_t ParamRef::number() const { + // @@protoc_insertion_point(field_get:pg_query.ParamRef.number) + return _internal_number(); } -inline ::pg_query::IntoClause* SelectStmt::_internal_mutable_into_clause() { - - if (_impl_.into_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::IntoClause>(GetArenaForAllocation()); - _impl_.into_clause_ = p; - } - return _impl_.into_clause_; +inline void ParamRef::set_number(::int32_t value) { + _internal_set_number(value); + // @@protoc_insertion_point(field_set:pg_query.ParamRef.number) } -inline ::pg_query::IntoClause* SelectStmt::mutable_into_clause() { - ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.into_clause) - return _msg; +inline ::int32_t ParamRef::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.number_; } -inline void SelectStmt::set_allocated_into_clause(::pg_query::IntoClause* into_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.into_clause_; - } - if (into_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(into_clause); - if (message_arena != submessage_arena) { - into_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, into_clause, submessage_arena); - } - - } else { - - } - _impl_.into_clause_ = into_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.into_clause) +inline void ParamRef::_internal_set_number(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.number_ = value; } -// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; -inline int SelectStmt::_internal_target_list_size() const { - return _impl_.target_list_.size(); +// int32 location = 2 [json_name = "location"]; +inline void ParamRef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int SelectStmt::target_list_size() const { - return _internal_target_list_size(); +inline ::int32_t ParamRef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ParamRef.location) + return _internal_location(); } -inline void SelectStmt::clear_target_list() { - _impl_.target_list_.Clear(); +inline void ParamRef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ParamRef.location) } -inline ::pg_query::Node* SelectStmt::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.target_list) - return _impl_.target_list_.Mutable(index); +inline ::int32_t ParamRef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.target_list) - return &_impl_.target_list_; +inline void ParamRef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& SelectStmt::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); + +// ------------------------------------------------------------------- + +// A_Expr + +// .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; +inline void A_Expr::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline const ::pg_query::Node& SelectStmt::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.target_list) - return _internal_target_list(index); +inline ::pg_query::A_Expr_Kind A_Expr::kind() const { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.kind) + return _internal_kind(); } -inline ::pg_query::Node* SelectStmt::_internal_add_target_list() { - return _impl_.target_list_.Add(); +inline void A_Expr::set_kind(::pg_query::A_Expr_Kind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.A_Expr.kind) } -inline ::pg_query::Node* SelectStmt::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.target_list) - return _add; +inline ::pg_query::A_Expr_Kind A_Expr::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::A_Expr_Kind>(_impl_.kind_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.target_list) - return _impl_.target_list_; +inline void A_Expr::_internal_set_kind(::pg_query::A_Expr_Kind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -// repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; -inline int SelectStmt::_internal_from_clause_size() const { - return _impl_.from_clause_.size(); +// repeated .pg_query.Node name = 2 [json_name = "name"]; +inline int A_Expr::_internal_name_size() const { + return _internal_name().size(); } -inline int SelectStmt::from_clause_size() const { - return _internal_from_clause_size(); +inline int A_Expr::name_size() const { + return _internal_name_size(); } -inline void SelectStmt::clear_from_clause() { - _impl_.from_clause_.Clear(); +inline void A_Expr::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.Clear(); } -inline ::pg_query::Node* SelectStmt::mutable_from_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.from_clause) - return _impl_.from_clause_.Mutable(index); +inline ::pg_query::Node* A_Expr::mutable_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.name) + return _internal_mutable_name()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_from_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.from_clause) - return &_impl_.from_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Expr::mutable_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.A_Expr.name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_name(); } -inline const ::pg_query::Node& SelectStmt::_internal_from_clause(int index) const { - return _impl_.from_clause_.Get(index); +inline const ::pg_query::Node& A_Expr::name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.name) + return _internal_name().Get(index); } -inline const ::pg_query::Node& SelectStmt::from_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.from_clause) - return _internal_from_clause(index); +inline ::pg_query::Node* A_Expr::add_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_Expr.name) + return _add; } -inline ::pg_query::Node* SelectStmt::_internal_add_from_clause() { - return _impl_.from_clause_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Expr::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.A_Expr.name) + return _internal_name(); } -inline ::pg_query::Node* SelectStmt::add_from_clause() { - ::pg_query::Node* _add = _internal_add_from_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.from_clause) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +A_Expr::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::from_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.from_clause) - return _impl_.from_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +A_Expr::_internal_mutable_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.name_; } -// .pg_query.Node where_clause = 5 [json_name = "whereClause"]; -inline bool SelectStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; -} -inline bool SelectStmt::has_where_clause() const { - return _internal_has_where_clause(); +// .pg_query.Node lexpr = 3 [json_name = "lexpr"]; +inline bool A_Expr::has_lexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.lexpr_ != nullptr); + return value; } -inline void SelectStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void A_Expr::clear_lexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.lexpr_ != nullptr) _impl_.lexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SelectStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& A_Expr::_internal_lexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.lexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SelectStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.where_clause) - return _internal_where_clause(); +inline const ::pg_query::Node& A_Expr::lexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.lexpr) + return _internal_lexpr(); } -inline void SelectStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void A_Expr::unsafe_arena_set_allocated_lexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lexpr_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.lexpr) } -inline ::pg_query::Node* SelectStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* A_Expr::release_lexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.lexpr_; + _impl_.lexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SelectStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* A_Expr::unsafe_arena_release_lexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.A_Expr.lexpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.lexpr_; + _impl_.lexpr_ = nullptr; return temp; } -inline ::pg_query::Node* SelectStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::Node* A_Expr::_internal_mutable_lexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.lexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.where_clause_; + return _impl_.lexpr_; } -inline ::pg_query::Node* SelectStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.where_clause) +inline ::pg_query::Node* A_Expr::mutable_lexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.lexpr) return _msg; } -inline void SelectStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void A_Expr::set_allocated_lexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.lexpr_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.where_clause) -} - -// repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; -inline int SelectStmt::_internal_group_clause_size() const { - return _impl_.group_clause_.size(); -} -inline int SelectStmt::group_clause_size() const { - return _internal_group_clause_size(); -} -inline void SelectStmt::clear_group_clause() { - _impl_.group_clause_.Clear(); -} -inline ::pg_query::Node* SelectStmt::mutable_group_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.group_clause) - return _impl_.group_clause_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_group_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.group_clause) - return &_impl_.group_clause_; -} -inline const ::pg_query::Node& SelectStmt::_internal_group_clause(int index) const { - return _impl_.group_clause_.Get(index); -} -inline const ::pg_query::Node& SelectStmt::group_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.group_clause) - return _internal_group_clause(index); -} -inline ::pg_query::Node* SelectStmt::_internal_add_group_clause() { - return _impl_.group_clause_.Add(); -} -inline ::pg_query::Node* SelectStmt::add_group_clause() { - ::pg_query::Node* _add = _internal_add_group_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.group_clause) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::group_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.group_clause) - return _impl_.group_clause_; -} -// bool group_distinct = 7 [json_name = "groupDistinct"]; -inline void SelectStmt::clear_group_distinct() { - _impl_.group_distinct_ = false; -} -inline bool SelectStmt::_internal_group_distinct() const { - return _impl_.group_distinct_; -} -inline bool SelectStmt::group_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.group_distinct) - return _internal_group_distinct(); -} -inline void SelectStmt::_internal_set_group_distinct(bool value) { - - _impl_.group_distinct_ = value; -} -inline void SelectStmt::set_group_distinct(bool value) { - _internal_set_group_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.SelectStmt.group_distinct) + _impl_.lexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.lexpr) } -// .pg_query.Node having_clause = 8 [json_name = "havingClause"]; -inline bool SelectStmt::_internal_has_having_clause() const { - return this != internal_default_instance() && _impl_.having_clause_ != nullptr; -} -inline bool SelectStmt::has_having_clause() const { - return _internal_has_having_clause(); +// .pg_query.Node rexpr = 4 [json_name = "rexpr"]; +inline bool A_Expr::has_rexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rexpr_ != nullptr); + return value; } -inline void SelectStmt::clear_having_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.having_clause_ != nullptr) { - delete _impl_.having_clause_; - } - _impl_.having_clause_ = nullptr; +inline void A_Expr::clear_rexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rexpr_ != nullptr) _impl_.rexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& SelectStmt::_internal_having_clause() const { - const ::pg_query::Node* p = _impl_.having_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& A_Expr::_internal_rexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SelectStmt::having_clause() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.having_clause) - return _internal_having_clause(); +inline const ::pg_query::Node& A_Expr::rexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.rexpr) + return _internal_rexpr(); } -inline void SelectStmt::unsafe_arena_set_allocated_having_clause( - ::pg_query::Node* having_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.having_clause_); +inline void A_Expr::unsafe_arena_set_allocated_rexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rexpr_); } - _impl_.having_clause_ = having_clause; - if (having_clause) { - + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.having_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.rexpr) } -inline ::pg_query::Node* SelectStmt::release_having_clause() { - - ::pg_query::Node* temp = _impl_.having_clause_; - _impl_.having_clause_ = nullptr; +inline ::pg_query::Node* A_Expr::release_rexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rexpr_; + _impl_.rexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SelectStmt::unsafe_arena_release_having_clause() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.having_clause) - - ::pg_query::Node* temp = _impl_.having_clause_; - _impl_.having_clause_ = nullptr; +inline ::pg_query::Node* A_Expr::unsafe_arena_release_rexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.A_Expr.rexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rexpr_; + _impl_.rexpr_ = nullptr; return temp; } -inline ::pg_query::Node* SelectStmt::_internal_mutable_having_clause() { - - if (_impl_.having_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.having_clause_ = p; +inline ::pg_query::Node* A_Expr::_internal_mutable_rexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.having_clause_; + return _impl_.rexpr_; } -inline ::pg_query::Node* SelectStmt::mutable_having_clause() { - ::pg_query::Node* _msg = _internal_mutable_having_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.having_clause) +inline ::pg_query::Node* A_Expr::mutable_rexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.rexpr) return _msg; } -inline void SelectStmt::set_allocated_having_clause(::pg_query::Node* having_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void A_Expr::set_allocated_rexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.having_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.rexpr_); } - if (having_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(having_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - having_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, having_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.having_clause_ = having_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.having_clause) -} -// repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; -inline int SelectStmt::_internal_window_clause_size() const { - return _impl_.window_clause_.size(); -} -inline int SelectStmt::window_clause_size() const { - return _internal_window_clause_size(); -} -inline void SelectStmt::clear_window_clause() { - _impl_.window_clause_.Clear(); -} -inline ::pg_query::Node* SelectStmt::mutable_window_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.window_clause) - return _impl_.window_clause_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_window_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.window_clause) - return &_impl_.window_clause_; -} -inline const ::pg_query::Node& SelectStmt::_internal_window_clause(int index) const { - return _impl_.window_clause_.Get(index); -} -inline const ::pg_query::Node& SelectStmt::window_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.window_clause) - return _internal_window_clause(index); -} -inline ::pg_query::Node* SelectStmt::_internal_add_window_clause() { - return _impl_.window_clause_.Add(); -} -inline ::pg_query::Node* SelectStmt::add_window_clause() { - ::pg_query::Node* _add = _internal_add_window_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.window_clause) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::window_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.window_clause) - return _impl_.window_clause_; + _impl_.rexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.rexpr) } -// repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; -inline int SelectStmt::_internal_values_lists_size() const { - return _impl_.values_lists_.size(); -} -inline int SelectStmt::values_lists_size() const { - return _internal_values_lists_size(); -} -inline void SelectStmt::clear_values_lists() { - _impl_.values_lists_.Clear(); -} -inline ::pg_query::Node* SelectStmt::mutable_values_lists(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.values_lists) - return _impl_.values_lists_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_values_lists() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.values_lists) - return &_impl_.values_lists_; -} -inline const ::pg_query::Node& SelectStmt::_internal_values_lists(int index) const { - return _impl_.values_lists_.Get(index); +// int32 location = 5 [json_name = "location"]; +inline void A_Expr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& SelectStmt::values_lists(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.values_lists) - return _internal_values_lists(index); +inline ::int32_t A_Expr::location() const { + // @@protoc_insertion_point(field_get:pg_query.A_Expr.location) + return _internal_location(); } -inline ::pg_query::Node* SelectStmt::_internal_add_values_lists() { - return _impl_.values_lists_.Add(); +inline void A_Expr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.A_Expr.location) } -inline ::pg_query::Node* SelectStmt::add_values_lists() { - ::pg_query::Node* _add = _internal_add_values_lists(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.values_lists) - return _add; +inline ::int32_t A_Expr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::values_lists() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.values_lists) - return _impl_.values_lists_; +inline void A_Expr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; -inline int SelectStmt::_internal_sort_clause_size() const { - return _impl_.sort_clause_.size(); -} -inline int SelectStmt::sort_clause_size() const { - return _internal_sort_clause_size(); +// ------------------------------------------------------------------- + +// TypeCast + +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool TypeCast::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void SelectStmt::clear_sort_clause() { - _impl_.sort_clause_.Clear(); +inline void TypeCast::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* SelectStmt::mutable_sort_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.sort_clause) - return _impl_.sort_clause_.Mutable(index); +inline const ::pg_query::Node& TypeCast::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_sort_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.sort_clause) - return &_impl_.sort_clause_; +inline const ::pg_query::Node& TypeCast::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.arg) + return _internal_arg(); } -inline const ::pg_query::Node& SelectStmt::_internal_sort_clause(int index) const { - return _impl_.sort_clause_.Get(index); +inline void TypeCast::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); + } + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.arg) } -inline const ::pg_query::Node& SelectStmt::sort_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.sort_clause) - return _internal_sort_clause(index); +inline ::pg_query::Node* TypeCast::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* SelectStmt::_internal_add_sort_clause() { - return _impl_.sort_clause_.Add(); +inline ::pg_query::Node* TypeCast::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TypeCast.arg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; + return temp; } -inline ::pg_query::Node* SelectStmt::add_sort_clause() { - ::pg_query::Node* _add = _internal_add_sort_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.sort_clause) - return _add; +inline ::pg_query::Node* TypeCast::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.arg_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::sort_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.sort_clause) - return _impl_.sort_clause_; +inline ::pg_query::Node* TypeCast::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.arg) + return _msg; } +inline void TypeCast::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); + } -// .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; -inline bool SelectStmt::_internal_has_limit_offset() const { - return this != internal_default_instance() && _impl_.limit_offset_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.arg) } -inline bool SelectStmt::has_limit_offset() const { - return _internal_has_limit_offset(); + +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool TypeCast::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline void SelectStmt::clear_limit_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.limit_offset_ != nullptr) { - delete _impl_.limit_offset_; - } - _impl_.limit_offset_ = nullptr; +inline void TypeCast::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& SelectStmt::_internal_limit_offset() const { - const ::pg_query::Node* p = _impl_.limit_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::TypeName& TypeCast::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::Node& SelectStmt::limit_offset() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_offset) - return _internal_limit_offset(); +inline const ::pg_query::TypeName& TypeCast::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.type_name) + return _internal_type_name(); } -inline void SelectStmt::unsafe_arena_set_allocated_limit_offset( - ::pg_query::Node* limit_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.limit_offset_); +inline void TypeCast::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.limit_offset_ = limit_offset; - if (limit_offset) { - + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.limit_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.type_name) } -inline ::pg_query::Node* SelectStmt::release_limit_offset() { - - ::pg_query::Node* temp = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; +inline ::pg_query::TypeName* TypeCast::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SelectStmt::unsafe_arena_release_limit_offset() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.limit_offset) - - ::pg_query::Node* temp = _impl_.limit_offset_; - _impl_.limit_offset_ = nullptr; +inline ::pg_query::TypeName* TypeCast::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TypeCast.type_name) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::Node* SelectStmt::_internal_mutable_limit_offset() { - - if (_impl_.limit_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.limit_offset_ = p; +inline ::pg_query::TypeName* TypeCast::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.limit_offset_; + return _impl_.type_name_; } -inline ::pg_query::Node* SelectStmt::mutable_limit_offset() { - ::pg_query::Node* _msg = _internal_mutable_limit_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.limit_offset) +inline ::pg_query::TypeName* TypeCast::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.type_name) return _msg; } -inline void SelectStmt::set_allocated_limit_offset(::pg_query::Node* limit_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void TypeCast::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.limit_offset_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - if (limit_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(limit_offset); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - limit_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, limit_offset, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.limit_offset_ = limit_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.limit_offset) + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.type_name) } -// .pg_query.Node limit_count = 13 [json_name = "limitCount"]; -inline bool SelectStmt::_internal_has_limit_count() const { - return this != internal_default_instance() && _impl_.limit_count_ != nullptr; +// int32 location = 3 [json_name = "location"]; +inline void TypeCast::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool SelectStmt::has_limit_count() const { - return _internal_has_limit_count(); +inline ::int32_t TypeCast::location() const { + // @@protoc_insertion_point(field_get:pg_query.TypeCast.location) + return _internal_location(); } -inline void SelectStmt::clear_limit_count() { - if (GetArenaForAllocation() == nullptr && _impl_.limit_count_ != nullptr) { - delete _impl_.limit_count_; - } - _impl_.limit_count_ = nullptr; +inline void TypeCast::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TypeCast.location) } -inline const ::pg_query::Node& SelectStmt::_internal_limit_count() const { - const ::pg_query::Node* p = _impl_.limit_count_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::int32_t TypeCast::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::pg_query::Node& SelectStmt::limit_count() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_count) - return _internal_limit_count(); +inline void TypeCast::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// CollateClause + +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool CollateClause::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; +} +inline void CollateClause::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& CollateClause::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& CollateClause::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CollateClause.arg) + return _internal_arg(); } -inline void SelectStmt::unsafe_arena_set_allocated_limit_count( - ::pg_query::Node* limit_count) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.limit_count_); +inline void CollateClause::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.limit_count_ = limit_count; - if (limit_count) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.limit_count) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateClause.arg) } -inline ::pg_query::Node* SelectStmt::release_limit_count() { - - ::pg_query::Node* temp = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; +inline ::pg_query::Node* CollateClause::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SelectStmt::unsafe_arena_release_limit_count() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.limit_count) - - ::pg_query::Node* temp = _impl_.limit_count_; - _impl_.limit_count_ = nullptr; +inline ::pg_query::Node* CollateClause::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CollateClause.arg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* SelectStmt::_internal_mutable_limit_count() { - - if (_impl_.limit_count_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.limit_count_ = p; +inline ::pg_query::Node* CollateClause::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.limit_count_; + return _impl_.arg_; } -inline ::pg_query::Node* SelectStmt::mutable_limit_count() { - ::pg_query::Node* _msg = _internal_mutable_limit_count(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.limit_count) +inline ::pg_query::Node* CollateClause::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.arg) return _msg; } -inline void SelectStmt::set_allocated_limit_count(::pg_query::Node* limit_count) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CollateClause::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.limit_count_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (limit_count) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(limit_count); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - limit_count = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, limit_count, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.limit_count_ = limit_count; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.limit_count) + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CollateClause.arg) } -// .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; -inline void SelectStmt::clear_limit_option() { - _impl_.limit_option_ = 0; +// repeated .pg_query.Node collname = 2 [json_name = "collname"]; +inline int CollateClause::_internal_collname_size() const { + return _internal_collname().size(); } -inline ::pg_query::LimitOption SelectStmt::_internal_limit_option() const { - return static_cast< ::pg_query::LimitOption >(_impl_.limit_option_); +inline int CollateClause::collname_size() const { + return _internal_collname_size(); } -inline ::pg_query::LimitOption SelectStmt::limit_option() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_option) - return _internal_limit_option(); +inline void CollateClause::clear_collname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collname_.Clear(); } -inline void SelectStmt::_internal_set_limit_option(::pg_query::LimitOption value) { - - _impl_.limit_option_ = value; +inline ::pg_query::Node* CollateClause::mutable_collname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.collname) + return _internal_mutable_collname()->Mutable(index); } -inline void SelectStmt::set_limit_option(::pg_query::LimitOption value) { - _internal_set_limit_option(value); - // @@protoc_insertion_point(field_set:pg_query.SelectStmt.limit_option) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CollateClause::mutable_collname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CollateClause.collname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_collname(); } - -// repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; -inline int SelectStmt::_internal_locking_clause_size() const { - return _impl_.locking_clause_.size(); +inline const ::pg_query::Node& CollateClause::collname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CollateClause.collname) + return _internal_collname().Get(index); } -inline int SelectStmt::locking_clause_size() const { - return _internal_locking_clause_size(); +inline ::pg_query::Node* CollateClause::add_collname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_collname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CollateClause.collname) + return _add; } -inline void SelectStmt::clear_locking_clause() { - _impl_.locking_clause_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CollateClause::collname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CollateClause.collname) + return _internal_collname(); } -inline ::pg_query::Node* SelectStmt::mutable_locking_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.locking_clause) - return _impl_.locking_clause_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CollateClause::_internal_collname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collname_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SelectStmt::mutable_locking_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.locking_clause) - return &_impl_.locking_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CollateClause::_internal_mutable_collname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collname_; } -inline const ::pg_query::Node& SelectStmt::_internal_locking_clause(int index) const { - return _impl_.locking_clause_.Get(index); + +// int32 location = 3 [json_name = "location"]; +inline void CollateClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& SelectStmt::locking_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.locking_clause) - return _internal_locking_clause(index); +inline ::int32_t CollateClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CollateClause.location) + return _internal_location(); } -inline ::pg_query::Node* SelectStmt::_internal_add_locking_clause() { - return _impl_.locking_clause_.Add(); +inline void CollateClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CollateClause.location) } -inline ::pg_query::Node* SelectStmt::add_locking_clause() { - ::pg_query::Node* _add = _internal_add_locking_clause(); - // @@protoc_insertion_point(field_add:pg_query.SelectStmt.locking_clause) - return _add; +inline ::int32_t CollateClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SelectStmt::locking_clause() const { - // @@protoc_insertion_point(field_list:pg_query.SelectStmt.locking_clause) - return _impl_.locking_clause_; +inline void CollateClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; -inline bool SelectStmt::_internal_has_with_clause() const { - return this != internal_default_instance() && _impl_.with_clause_ != nullptr; +// ------------------------------------------------------------------- + +// RoleSpec + +// .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; +inline void RoleSpec::clear_roletype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roletype_ = 0; } -inline bool SelectStmt::has_with_clause() const { - return _internal_has_with_clause(); +inline ::pg_query::RoleSpecType RoleSpec::roletype() const { + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.roletype) + return _internal_roletype(); } -inline void SelectStmt::clear_with_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.with_clause_ != nullptr) { - delete _impl_.with_clause_; - } - _impl_.with_clause_ = nullptr; +inline void RoleSpec::set_roletype(::pg_query::RoleSpecType value) { + _internal_set_roletype(value); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.roletype) } -inline const ::pg_query::WithClause& SelectStmt::_internal_with_clause() const { - const ::pg_query::WithClause* p = _impl_.with_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WithClause_default_instance_); +inline ::pg_query::RoleSpecType RoleSpec::_internal_roletype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::RoleSpecType>(_impl_.roletype_); } -inline const ::pg_query::WithClause& SelectStmt::with_clause() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.with_clause) - return _internal_with_clause(); +inline void RoleSpec::_internal_set_roletype(::pg_query::RoleSpecType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.roletype_ = value; } -inline void SelectStmt::unsafe_arena_set_allocated_with_clause( - ::pg_query::WithClause* with_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_clause_); - } - _impl_.with_clause_ = with_clause; - if (with_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.with_clause) + +// string rolename = 2 [json_name = "rolename"]; +inline void RoleSpec::clear_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rolename_.ClearToEmpty(); } -inline ::pg_query::WithClause* SelectStmt::release_with_clause() { - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& RoleSpec::rolename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.rolename) + return _internal_rolename(); } -inline ::pg_query::WithClause* SelectStmt::unsafe_arena_release_with_clause() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.with_clause) - - ::pg_query::WithClause* temp = _impl_.with_clause_; - _impl_.with_clause_ = nullptr; - return temp; +template +inline PROTOBUF_ALWAYS_INLINE void RoleSpec::set_rolename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rolename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.rolename) } -inline ::pg_query::WithClause* SelectStmt::_internal_mutable_with_clause() { - - if (_impl_.with_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArenaForAllocation()); - _impl_.with_clause_ = p; - } - return _impl_.with_clause_; +inline std::string* RoleSpec::mutable_rolename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_rolename(); + // @@protoc_insertion_point(field_mutable:pg_query.RoleSpec.rolename) + return _s; } -inline ::pg_query::WithClause* SelectStmt::mutable_with_clause() { - ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.with_clause) - return _msg; +inline const std::string& RoleSpec::_internal_rolename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rolename_.Get(); } -inline void SelectStmt::set_allocated_with_clause(::pg_query::WithClause* with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.with_clause_; - } - if (with_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_clause); - if (message_arena != submessage_arena) { - with_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_clause, submessage_arena); - } - - } else { - - } - _impl_.with_clause_ = with_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.with_clause) +inline void RoleSpec::_internal_set_rolename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rolename_.Set(value, GetArena()); +} +inline std::string* RoleSpec::_internal_mutable_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.rolename_.Mutable( GetArena()); +} +inline std::string* RoleSpec::release_rolename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RoleSpec.rolename) + return _impl_.rolename_.Release(); +} +inline void RoleSpec::set_allocated_rolename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rolename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.rolename_.IsDefault()) { + _impl_.rolename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RoleSpec.rolename) } -// .pg_query.SetOperation op = 17 [json_name = "op"]; -inline void SelectStmt::clear_op() { - _impl_.op_ = 0; +// int32 location = 3 [json_name = "location"]; +inline void RoleSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::SetOperation SelectStmt::_internal_op() const { - return static_cast< ::pg_query::SetOperation >(_impl_.op_); +inline ::int32_t RoleSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.RoleSpec.location) + return _internal_location(); } -inline ::pg_query::SetOperation SelectStmt::op() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.op) - return _internal_op(); +inline void RoleSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RoleSpec.location) } -inline void SelectStmt::_internal_set_op(::pg_query::SetOperation value) { - - _impl_.op_ = value; +inline ::int32_t RoleSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void SelectStmt::set_op(::pg_query::SetOperation value) { - _internal_set_op(value); - // @@protoc_insertion_point(field_set:pg_query.SelectStmt.op) +inline void RoleSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// bool all = 18 [json_name = "all"]; -inline void SelectStmt::clear_all() { - _impl_.all_ = false; +// ------------------------------------------------------------------- + +// FuncCall + +// repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; +inline int FuncCall::_internal_funcname_size() const { + return _internal_funcname().size(); } -inline bool SelectStmt::_internal_all() const { - return _impl_.all_; +inline int FuncCall::funcname_size() const { + return _internal_funcname_size(); } -inline bool SelectStmt::all() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.all) - return _internal_all(); +inline void FuncCall::clear_funcname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcname_.Clear(); } -inline void SelectStmt::_internal_set_all(bool value) { - - _impl_.all_ = value; +inline ::pg_query::Node* FuncCall::mutable_funcname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.funcname) + return _internal_mutable_funcname()->Mutable(index); } -inline void SelectStmt::set_all(bool value) { - _internal_set_all(value); - // @@protoc_insertion_point(field_set:pg_query.SelectStmt.all) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_funcname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.funcname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funcname(); } - -// .pg_query.SelectStmt larg = 19 [json_name = "larg"]; -inline bool SelectStmt::_internal_has_larg() const { - return this != internal_default_instance() && _impl_.larg_ != nullptr; +inline const ::pg_query::Node& FuncCall::funcname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcname) + return _internal_funcname().Get(index); } -inline bool SelectStmt::has_larg() const { - return _internal_has_larg(); +inline ::pg_query::Node* FuncCall::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.funcname) + return _add; } -inline void SelectStmt::clear_larg() { - if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) { - delete _impl_.larg_; - } - _impl_.larg_ = nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::funcname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FuncCall.funcname) + return _internal_funcname(); } -inline const ::pg_query::SelectStmt& SelectStmt::_internal_larg() const { - const ::pg_query::SelectStmt* p = _impl_.larg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_SelectStmt_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FuncCall::_internal_funcname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcname_; } -inline const ::pg_query::SelectStmt& SelectStmt::larg() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.larg) - return _internal_larg(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FuncCall::_internal_mutable_funcname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcname_; } -inline void SelectStmt::unsafe_arena_set_allocated_larg( - ::pg_query::SelectStmt* larg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.larg_); - } - _impl_.larg_ = larg; - if (larg) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.larg) + +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int FuncCall::_internal_args_size() const { + return _internal_args().size(); } -inline ::pg_query::SelectStmt* SelectStmt::release_larg() { - - ::pg_query::SelectStmt* temp = _impl_.larg_; - _impl_.larg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline int FuncCall::args_size() const { + return _internal_args_size(); } -inline ::pg_query::SelectStmt* SelectStmt::unsafe_arena_release_larg() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.larg) - - ::pg_query::SelectStmt* temp = _impl_.larg_; - _impl_.larg_ = nullptr; - return temp; +inline void FuncCall::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline ::pg_query::SelectStmt* SelectStmt::_internal_mutable_larg() { - - if (_impl_.larg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArenaForAllocation()); - _impl_.larg_ = p; - } - return _impl_.larg_; +inline ::pg_query::Node* FuncCall::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.args) + return _internal_mutable_args()->Mutable(index); } -inline ::pg_query::SelectStmt* SelectStmt::mutable_larg() { - ::pg_query::SelectStmt* _msg = _internal_mutable_larg(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.larg) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline void SelectStmt::set_allocated_larg(::pg_query::SelectStmt* larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.larg_; - } - if (larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(larg); - if (message_arena != submessage_arena) { - larg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, larg, submessage_arena); - } - - } else { - - } - _impl_.larg_ = larg; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.larg) +inline const ::pg_query::Node& FuncCall::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* FuncCall::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.args) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FuncCall.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FuncCall::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FuncCall::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; -inline bool SelectStmt::_internal_has_rarg() const { - return this != internal_default_instance() && _impl_.rarg_ != nullptr; +// repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; +inline int FuncCall::_internal_agg_order_size() const { + return _internal_agg_order().size(); } -inline bool SelectStmt::has_rarg() const { - return _internal_has_rarg(); +inline int FuncCall::agg_order_size() const { + return _internal_agg_order_size(); } -inline void SelectStmt::clear_rarg() { - if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) { - delete _impl_.rarg_; - } - _impl_.rarg_ = nullptr; +inline void FuncCall::clear_agg_order() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_order_.Clear(); +} +inline ::pg_query::Node* FuncCall::mutable_agg_order(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_order) + return _internal_mutable_agg_order()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* FuncCall::mutable_agg_order() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.agg_order) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_agg_order(); +} +inline const ::pg_query::Node& FuncCall::agg_order(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_order) + return _internal_agg_order().Get(index); +} +inline ::pg_query::Node* FuncCall::add_agg_order() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_agg_order()->Add(); + // @@protoc_insertion_point(field_add:pg_query.FuncCall.agg_order) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& FuncCall::agg_order() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.FuncCall.agg_order) + return _internal_agg_order(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +FuncCall::_internal_agg_order() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_order_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +FuncCall::_internal_mutable_agg_order() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.agg_order_; +} + +// .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; +inline bool FuncCall::has_agg_filter() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.agg_filter_ != nullptr); + return value; +} +inline void FuncCall::clear_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.agg_filter_ != nullptr) _impl_.agg_filter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::SelectStmt& SelectStmt::_internal_rarg() const { - const ::pg_query::SelectStmt* p = _impl_.rarg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_SelectStmt_default_instance_); +inline const ::pg_query::Node& FuncCall::_internal_agg_filter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.agg_filter_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::SelectStmt& SelectStmt::rarg() const { - // @@protoc_insertion_point(field_get:pg_query.SelectStmt.rarg) - return _internal_rarg(); +inline const ::pg_query::Node& FuncCall::agg_filter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_filter) + return _internal_agg_filter(); } -inline void SelectStmt::unsafe_arena_set_allocated_rarg( - ::pg_query::SelectStmt* rarg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rarg_); +inline void FuncCall::unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.agg_filter_); } - _impl_.rarg_ = rarg; - if (rarg) { - + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.rarg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.agg_filter) } -inline ::pg_query::SelectStmt* SelectStmt::release_rarg() { - - ::pg_query::SelectStmt* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* FuncCall::release_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::SelectStmt* SelectStmt::unsafe_arena_release_rarg() { - // @@protoc_insertion_point(field_release:pg_query.SelectStmt.rarg) - - ::pg_query::SelectStmt* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* FuncCall::unsafe_arena_release_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FuncCall.agg_filter) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; return temp; } -inline ::pg_query::SelectStmt* SelectStmt::_internal_mutable_rarg() { - - if (_impl_.rarg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArenaForAllocation()); - _impl_.rarg_ = p; +inline ::pg_query::Node* FuncCall::_internal_mutable_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.agg_filter_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rarg_; + return _impl_.agg_filter_; } -inline ::pg_query::SelectStmt* SelectStmt::mutable_rarg() { - ::pg_query::SelectStmt* _msg = _internal_mutable_rarg(); - // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.rarg) +inline ::pg_query::Node* FuncCall::mutable_agg_filter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_agg_filter(); + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_filter) return _msg; } -inline void SelectStmt::set_allocated_rarg(::pg_query::SelectStmt* rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FuncCall::set_allocated_agg_filter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rarg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.agg_filter_); } - if (rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rarg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - rarg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rarg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rarg_ = rarg; - // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.rarg) -} -// ------------------------------------------------------------------- - -// ReturnStmt - -// .pg_query.Node returnval = 1 [json_name = "returnval"]; -inline bool ReturnStmt::_internal_has_returnval() const { - return this != internal_default_instance() && _impl_.returnval_ != nullptr; + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.agg_filter) } -inline bool ReturnStmt::has_returnval() const { - return _internal_has_returnval(); + +// .pg_query.WindowDef over = 5 [json_name = "over"]; +inline bool FuncCall::has_over() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.over_ != nullptr); + return value; } -inline void ReturnStmt::clear_returnval() { - if (GetArenaForAllocation() == nullptr && _impl_.returnval_ != nullptr) { - delete _impl_.returnval_; - } - _impl_.returnval_ = nullptr; +inline void FuncCall::clear_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.over_ != nullptr) _impl_.over_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& ReturnStmt::_internal_returnval() const { - const ::pg_query::Node* p = _impl_.returnval_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::WindowDef& FuncCall::_internal_over() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WindowDef* p = _impl_.over_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WindowDef_default_instance_); } -inline const ::pg_query::Node& ReturnStmt::returnval() const { - // @@protoc_insertion_point(field_get:pg_query.ReturnStmt.returnval) - return _internal_returnval(); +inline const ::pg_query::WindowDef& FuncCall::over() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.over) + return _internal_over(); } -inline void ReturnStmt::unsafe_arena_set_allocated_returnval( - ::pg_query::Node* returnval) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.returnval_); +inline void FuncCall::unsafe_arena_set_allocated_over(::pg_query::WindowDef* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.over_); } - _impl_.returnval_ = returnval; - if (returnval) { - + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReturnStmt.returnval) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.over) } -inline ::pg_query::Node* ReturnStmt::release_returnval() { - - ::pg_query::Node* temp = _impl_.returnval_; - _impl_.returnval_ = nullptr; +inline ::pg_query::WindowDef* FuncCall::release_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::WindowDef* released = _impl_.over_; + _impl_.over_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* ReturnStmt::unsafe_arena_release_returnval() { - // @@protoc_insertion_point(field_release:pg_query.ReturnStmt.returnval) - - ::pg_query::Node* temp = _impl_.returnval_; - _impl_.returnval_ = nullptr; +inline ::pg_query::WindowDef* FuncCall::unsafe_arena_release_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FuncCall.over) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::WindowDef* temp = _impl_.over_; + _impl_.over_ = nullptr; return temp; } -inline ::pg_query::Node* ReturnStmt::_internal_mutable_returnval() { - - if (_impl_.returnval_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.returnval_ = p; +inline ::pg_query::WindowDef* FuncCall::_internal_mutable_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.over_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(p); } - return _impl_.returnval_; + return _impl_.over_; } -inline ::pg_query::Node* ReturnStmt::mutable_returnval() { - ::pg_query::Node* _msg = _internal_mutable_returnval(); - // @@protoc_insertion_point(field_mutable:pg_query.ReturnStmt.returnval) +inline ::pg_query::WindowDef* FuncCall::mutable_over() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowDef* _msg = _internal_mutable_over(); + // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.over) return _msg; } -inline void ReturnStmt::set_allocated_returnval(::pg_query::Node* returnval) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FuncCall::set_allocated_over(::pg_query::WindowDef* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.returnval_; + delete reinterpret_cast<::pg_query::WindowDef*>(_impl_.over_); } - if (returnval) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(returnval); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WindowDef*>(value)->GetArena(); if (message_arena != submessage_arena) { - returnval = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, returnval, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.returnval_ = returnval; - // @@protoc_insertion_point(field_set_allocated:pg_query.ReturnStmt.returnval) -} -// ------------------------------------------------------------------- + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.over) +} -// PLAssignStmt +// bool agg_within_group = 6 [json_name = "agg_within_group"]; +inline void FuncCall::clear_agg_within_group() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_within_group_ = false; +} +inline bool FuncCall::agg_within_group() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_within_group) + return _internal_agg_within_group(); +} +inline void FuncCall::set_agg_within_group(bool value) { + _internal_set_agg_within_group(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_within_group) +} +inline bool FuncCall::_internal_agg_within_group() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_within_group_; +} +inline void FuncCall::_internal_set_agg_within_group(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agg_within_group_ = value; +} -// string name = 1 [json_name = "name"]; -inline void PLAssignStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +// bool agg_star = 7 [json_name = "agg_star"]; +inline void FuncCall::clear_agg_star() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_star_ = false; } -inline const std::string& PLAssignStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.name) - return _internal_name(); +inline bool FuncCall::agg_star() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_star) + return _internal_agg_star(); } -template -inline PROTOBUF_ALWAYS_INLINE -void PLAssignStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.name) +inline void FuncCall::set_agg_star(bool value) { + _internal_set_agg_star(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_star) } -inline std::string* PLAssignStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.name) - return _s; +inline bool FuncCall::_internal_agg_star() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_star_; } -inline const std::string& PLAssignStmt::_internal_name() const { - return _impl_.name_.Get(); +inline void FuncCall::_internal_set_agg_star(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agg_star_ = value; } -inline void PLAssignStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// bool agg_distinct = 8 [json_name = "agg_distinct"]; +inline void FuncCall::clear_agg_distinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_distinct_ = false; } -inline std::string* PLAssignStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline bool FuncCall::agg_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_distinct) + return _internal_agg_distinct(); } -inline std::string* PLAssignStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.PLAssignStmt.name) - return _impl_.name_.Release(); +inline void FuncCall::set_agg_distinct(bool value) { + _internal_set_agg_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_distinct) } -inline void PLAssignStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PLAssignStmt.name) +inline bool FuncCall::_internal_agg_distinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_distinct_; +} +inline void FuncCall::_internal_set_agg_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.agg_distinct_ = value; } -// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; -inline int PLAssignStmt::_internal_indirection_size() const { - return _impl_.indirection_.size(); +// bool func_variadic = 9 [json_name = "func_variadic"]; +inline void FuncCall::clear_func_variadic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.func_variadic_ = false; } -inline int PLAssignStmt::indirection_size() const { - return _internal_indirection_size(); +inline bool FuncCall::func_variadic() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.func_variadic) + return _internal_func_variadic(); } -inline void PLAssignStmt::clear_indirection() { - _impl_.indirection_.Clear(); +inline void FuncCall::set_func_variadic(bool value) { + _internal_set_func_variadic(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.func_variadic) } -inline ::pg_query::Node* PLAssignStmt::mutable_indirection(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.indirection) - return _impl_.indirection_.Mutable(index); +inline bool FuncCall::_internal_func_variadic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.func_variadic_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PLAssignStmt::mutable_indirection() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PLAssignStmt.indirection) - return &_impl_.indirection_; +inline void FuncCall::_internal_set_func_variadic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.func_variadic_ = value; } -inline const ::pg_query::Node& PLAssignStmt::_internal_indirection(int index) const { - return _impl_.indirection_.Get(index); + +// .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; +inline void FuncCall::clear_funcformat() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcformat_ = 0; } -inline const ::pg_query::Node& PLAssignStmt::indirection(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.indirection) - return _internal_indirection(index); +inline ::pg_query::CoercionForm FuncCall::funcformat() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcformat) + return _internal_funcformat(); } -inline ::pg_query::Node* PLAssignStmt::_internal_add_indirection() { - return _impl_.indirection_.Add(); +inline void FuncCall::set_funcformat(::pg_query::CoercionForm value) { + _internal_set_funcformat(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.funcformat) } -inline ::pg_query::Node* PLAssignStmt::add_indirection() { - ::pg_query::Node* _add = _internal_add_indirection(); - // @@protoc_insertion_point(field_add:pg_query.PLAssignStmt.indirection) - return _add; +inline ::pg_query::CoercionForm FuncCall::_internal_funcformat() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionForm>(_impl_.funcformat_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PLAssignStmt::indirection() const { - // @@protoc_insertion_point(field_list:pg_query.PLAssignStmt.indirection) - return _impl_.indirection_; +inline void FuncCall::_internal_set_funcformat(::pg_query::CoercionForm value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcformat_ = value; } -// int32 nnames = 3 [json_name = "nnames"]; -inline void PLAssignStmt::clear_nnames() { - _impl_.nnames_ = 0; +// int32 location = 11 [json_name = "location"]; +inline void FuncCall::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int32_t PLAssignStmt::_internal_nnames() const { - return _impl_.nnames_; +inline ::int32_t FuncCall::location() const { + // @@protoc_insertion_point(field_get:pg_query.FuncCall.location) + return _internal_location(); } -inline int32_t PLAssignStmt::nnames() const { - // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.nnames) - return _internal_nnames(); +inline void FuncCall::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.FuncCall.location) } -inline void PLAssignStmt::_internal_set_nnames(int32_t value) { - - _impl_.nnames_ = value; +inline ::int32_t FuncCall::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void PLAssignStmt::set_nnames(int32_t value) { - _internal_set_nnames(value); - // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.nnames) +inline void FuncCall::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.SelectStmt val = 4 [json_name = "val"]; -inline bool PLAssignStmt::_internal_has_val() const { - return this != internal_default_instance() && _impl_.val_ != nullptr; +// ------------------------------------------------------------------- + +// A_Star + +// ------------------------------------------------------------------- + +// A_Indices + +// bool is_slice = 1 [json_name = "is_slice"]; +inline void A_Indices::clear_is_slice() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_slice_ = false; } -inline bool PLAssignStmt::has_val() const { - return _internal_has_val(); +inline bool A_Indices::is_slice() const { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.is_slice) + return _internal_is_slice(); } -inline void PLAssignStmt::clear_val() { - if (GetArenaForAllocation() == nullptr && _impl_.val_ != nullptr) { - delete _impl_.val_; - } - _impl_.val_ = nullptr; +inline void A_Indices::set_is_slice(bool value) { + _internal_set_is_slice(value); + // @@protoc_insertion_point(field_set:pg_query.A_Indices.is_slice) } -inline const ::pg_query::SelectStmt& PLAssignStmt::_internal_val() const { - const ::pg_query::SelectStmt* p = _impl_.val_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_SelectStmt_default_instance_); +inline bool A_Indices::_internal_is_slice() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_slice_; } -inline const ::pg_query::SelectStmt& PLAssignStmt::val() const { - // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.val) - return _internal_val(); +inline void A_Indices::_internal_set_is_slice(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_slice_ = value; +} + +// .pg_query.Node lidx = 2 [json_name = "lidx"]; +inline bool A_Indices::has_lidx() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.lidx_ != nullptr); + return value; } -inline void PLAssignStmt::unsafe_arena_set_allocated_val( - ::pg_query::SelectStmt* val) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.val_); +inline void A_Indices::clear_lidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.lidx_ != nullptr) _impl_.lidx_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& A_Indices::_internal_lidx() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.lidx_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& A_Indices::lidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.lidx) + return _internal_lidx(); +} +inline void A_Indices::unsafe_arena_set_allocated_lidx(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.lidx_); } - _impl_.val_ = val; - if (val) { - + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PLAssignStmt.val) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.lidx) } -inline ::pg_query::SelectStmt* PLAssignStmt::release_val() { - - ::pg_query::SelectStmt* temp = _impl_.val_; - _impl_.val_ = nullptr; +inline ::pg_query::Node* A_Indices::release_lidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.lidx_; + _impl_.lidx_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::SelectStmt* PLAssignStmt::unsafe_arena_release_val() { - // @@protoc_insertion_point(field_release:pg_query.PLAssignStmt.val) - - ::pg_query::SelectStmt* temp = _impl_.val_; - _impl_.val_ = nullptr; +inline ::pg_query::Node* A_Indices::unsafe_arena_release_lidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.A_Indices.lidx) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.lidx_; + _impl_.lidx_ = nullptr; return temp; } -inline ::pg_query::SelectStmt* PLAssignStmt::_internal_mutable_val() { - - if (_impl_.val_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArenaForAllocation()); - _impl_.val_ = p; +inline ::pg_query::Node* A_Indices::_internal_mutable_lidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.lidx_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.val_; + return _impl_.lidx_; } -inline ::pg_query::SelectStmt* PLAssignStmt::mutable_val() { - ::pg_query::SelectStmt* _msg = _internal_mutable_val(); - // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.val) +inline ::pg_query::Node* A_Indices::mutable_lidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_lidx(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.lidx) return _msg; } -inline void PLAssignStmt::set_allocated_val(::pg_query::SelectStmt* val) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void A_Indices::set_allocated_lidx(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.val_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.lidx_); } - if (val) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(val); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - val = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, val, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.val_ = val; - // @@protoc_insertion_point(field_set_allocated:pg_query.PLAssignStmt.val) + + _impl_.lidx_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.lidx) } -// int32 location = 5 [json_name = "location"]; -inline void PLAssignStmt::clear_location() { - _impl_.location_ = 0; +// .pg_query.Node uidx = 3 [json_name = "uidx"]; +inline bool A_Indices::has_uidx() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.uidx_ != nullptr); + return value; } -inline int32_t PLAssignStmt::_internal_location() const { - return _impl_.location_; +inline void A_Indices::clear_uidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.uidx_ != nullptr) _impl_.uidx_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline int32_t PLAssignStmt::location() const { - // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.location) - return _internal_location(); +inline const ::pg_query::Node& A_Indices::_internal_uidx() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.uidx_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void PLAssignStmt::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::pg_query::Node& A_Indices::uidx() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indices.uidx) + return _internal_uidx(); } -inline void PLAssignStmt::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.location) +inline void A_Indices::unsafe_arena_set_allocated_uidx(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.uidx_); + } + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.uidx) } +inline ::pg_query::Node* A_Indices::release_uidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// AlterTableStmt + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.uidx_; + _impl_.uidx_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* A_Indices::unsafe_arena_release_uidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.A_Indices.uidx) -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool AlterTableStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.uidx_; + _impl_.uidx_ = nullptr; + return temp; } -inline bool AlterTableStmt::has_relation() const { - return _internal_has_relation(); +inline ::pg_query::Node* A_Indices::_internal_mutable_uidx() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.uidx_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.uidx_; } -inline void AlterTableStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; +inline ::pg_query::Node* A_Indices::mutable_uidx() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_uidx(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.uidx) + return _msg; +} +inline void A_Indices::set_allocated_uidx(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.uidx_); } - _impl_.relation_ = nullptr; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.uidx_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.uidx) } -inline const ::pg_query::RangeVar& AlterTableStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); + +// ------------------------------------------------------------------- + +// A_Indirection + +// .pg_query.Node arg = 1 [json_name = "arg"]; +inline bool A_Indirection::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline const ::pg_query::RangeVar& AlterTableStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.relation) - return _internal_relation(); +inline void A_Indirection::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& A_Indirection::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& A_Indirection::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indirection.arg) + return _internal_arg(); } -inline void AlterTableStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void A_Indirection::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indirection.arg) } -inline ::pg_query::RangeVar* AlterTableStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* A_Indirection::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* AlterTableStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* A_Indirection::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.A_Indirection.arg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::RangeVar* AlterTableStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* A_Indirection::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.arg_; } -inline ::pg_query::RangeVar* AlterTableStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableStmt.relation) +inline ::pg_query::Node* A_Indirection::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.arg) return _msg; } -inline void AlterTableStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void A_Indirection::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableStmt.relation) + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indirection.arg) } -// repeated .pg_query.Node cmds = 2 [json_name = "cmds"]; -inline int AlterTableStmt::_internal_cmds_size() const { - return _impl_.cmds_.size(); +// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; +inline int A_Indirection::_internal_indirection_size() const { + return _internal_indirection().size(); } -inline int AlterTableStmt::cmds_size() const { - return _internal_cmds_size(); +inline int A_Indirection::indirection_size() const { + return _internal_indirection_size(); } -inline void AlterTableStmt::clear_cmds() { - _impl_.cmds_.Clear(); +inline void A_Indirection::clear_indirection() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indirection_.Clear(); } -inline ::pg_query::Node* AlterTableStmt::mutable_cmds(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableStmt.cmds) - return _impl_.cmds_.Mutable(index); +inline ::pg_query::Node* A_Indirection::mutable_indirection(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.indirection) + return _internal_mutable_indirection()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTableStmt::mutable_cmds() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableStmt.cmds) - return &_impl_.cmds_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_Indirection::mutable_indirection() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.A_Indirection.indirection) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_indirection(); } -inline const ::pg_query::Node& AlterTableStmt::_internal_cmds(int index) const { - return _impl_.cmds_.Get(index); +inline const ::pg_query::Node& A_Indirection::indirection(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_Indirection.indirection) + return _internal_indirection().Get(index); } -inline const ::pg_query::Node& AlterTableStmt::cmds(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.cmds) - return _internal_cmds(index); +inline ::pg_query::Node* A_Indirection::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_Indirection.indirection) + return _add; } -inline ::pg_query::Node* AlterTableStmt::_internal_add_cmds() { - return _impl_.cmds_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_Indirection::indirection() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.A_Indirection.indirection) + return _internal_indirection(); } -inline ::pg_query::Node* AlterTableStmt::add_cmds() { - ::pg_query::Node* _add = _internal_add_cmds(); - // @@protoc_insertion_point(field_add:pg_query.AlterTableStmt.cmds) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +A_Indirection::_internal_indirection() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indirection_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTableStmt::cmds() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTableStmt.cmds) - return _impl_.cmds_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +A_Indirection::_internal_mutable_indirection() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.indirection_; } -// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; -inline void AlterTableStmt::clear_objtype() { - _impl_.objtype_ = 0; +// ------------------------------------------------------------------- + +// A_ArrayExpr + +// repeated .pg_query.Node elements = 1 [json_name = "elements"]; +inline int A_ArrayExpr::_internal_elements_size() const { + return _internal_elements().size(); } -inline ::pg_query::ObjectType AlterTableStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); +inline int A_ArrayExpr::elements_size() const { + return _internal_elements_size(); } -inline ::pg_query::ObjectType AlterTableStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.objtype) - return _internal_objtype(); +inline void A_ArrayExpr::clear_elements() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.elements_.Clear(); } -inline void AlterTableStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; +inline ::pg_query::Node* A_ArrayExpr::mutable_elements(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.A_ArrayExpr.elements) + return _internal_mutable_elements()->Mutable(index); } -inline void AlterTableStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableStmt.objtype) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* A_ArrayExpr::mutable_elements() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.A_ArrayExpr.elements) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_elements(); } - -// bool missing_ok = 4 [json_name = "missing_ok"]; -inline void AlterTableStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +inline const ::pg_query::Node& A_ArrayExpr::elements(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.elements) + return _internal_elements().Get(index); } -inline bool AlterTableStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::pg_query::Node* A_ArrayExpr::add_elements() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_elements()->Add(); + // @@protoc_insertion_point(field_add:pg_query.A_ArrayExpr.elements) + return _add; } -inline bool AlterTableStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.missing_ok) - return _internal_missing_ok(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& A_ArrayExpr::elements() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.A_ArrayExpr.elements) + return _internal_elements(); } -inline void AlterTableStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +A_ArrayExpr::_internal_elements() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.elements_; } -inline void AlterTableStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableStmt.missing_ok) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +A_ArrayExpr::_internal_mutable_elements() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.elements_; } -// ------------------------------------------------------------------- - -// AlterTableCmd - -// .pg_query.AlterTableType subtype = 1 [json_name = "subtype"]; -inline void AlterTableCmd::clear_subtype() { - _impl_.subtype_ = 0; +// int32 location = 2 [json_name = "location"]; +inline void A_ArrayExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::AlterTableType AlterTableCmd::_internal_subtype() const { - return static_cast< ::pg_query::AlterTableType >(_impl_.subtype_); +inline ::int32_t A_ArrayExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.location) + return _internal_location(); } -inline ::pg_query::AlterTableType AlterTableCmd::subtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.subtype) - return _internal_subtype(); +inline void A_ArrayExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.A_ArrayExpr.location) } -inline void AlterTableCmd::_internal_set_subtype(::pg_query::AlterTableType value) { - - _impl_.subtype_ = value; +inline ::int32_t A_ArrayExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void AlterTableCmd::set_subtype(::pg_query::AlterTableType value) { - _internal_set_subtype(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.subtype) +inline void A_ArrayExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// string name = 2 [json_name = "name"]; -inline void AlterTableCmd::clear_name() { +// ------------------------------------------------------------------- + +// ResTarget + +// string name = 1 [json_name = "name"]; +inline void ResTarget::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.name_.ClearToEmpty(); } -inline const std::string& AlterTableCmd::name() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.name) +inline const std::string& ResTarget::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.name) return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterTableCmd::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.name) +template +inline PROTOBUF_ALWAYS_INLINE void ResTarget::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ResTarget.name) } -inline std::string* AlterTableCmd::mutable_name() { +inline std::string* ResTarget::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.name) + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.name) return _s; } -inline const std::string& AlterTableCmd::_internal_name() const { +inline const std::string& ResTarget::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } -inline void AlterTableCmd::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void ResTarget::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* AlterTableCmd::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* ResTarget::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* AlterTableCmd::release_name() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.name) +inline std::string* ResTarget::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ResTarget.name) return _impl_.name_.Release(); } -inline void AlterTableCmd::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.name) +inline void ResTarget::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.name) } -// int32 num = 3 [json_name = "num"]; -inline void AlterTableCmd::clear_num() { - _impl_.num_ = 0; +// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; +inline int ResTarget::_internal_indirection_size() const { + return _internal_indirection().size(); } -inline int32_t AlterTableCmd::_internal_num() const { - return _impl_.num_; +inline int ResTarget::indirection_size() const { + return _internal_indirection_size(); } -inline int32_t AlterTableCmd::num() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.num) - return _internal_num(); +inline void ResTarget::clear_indirection() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indirection_.Clear(); } -inline void AlterTableCmd::_internal_set_num(int32_t value) { - - _impl_.num_ = value; +inline ::pg_query::Node* ResTarget::mutable_indirection(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.indirection) + return _internal_mutable_indirection()->Mutable(index); } -inline void AlterTableCmd::set_num(int32_t value) { - _internal_set_num(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.num) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ResTarget::mutable_indirection() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ResTarget.indirection) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_indirection(); } - -// .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; -inline bool AlterTableCmd::_internal_has_newowner() const { - return this != internal_default_instance() && _impl_.newowner_ != nullptr; +inline const ::pg_query::Node& ResTarget::indirection(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.indirection) + return _internal_indirection().Get(index); } -inline bool AlterTableCmd::has_newowner() const { - return _internal_has_newowner(); +inline ::pg_query::Node* ResTarget::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ResTarget.indirection) + return _add; } -inline void AlterTableCmd::clear_newowner() { - if (GetArenaForAllocation() == nullptr && _impl_.newowner_ != nullptr) { - delete _impl_.newowner_; - } - _impl_.newowner_ = nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ResTarget::indirection() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ResTarget.indirection) + return _internal_indirection(); } -inline const ::pg_query::RoleSpec& AlterTableCmd::_internal_newowner() const { - const ::pg_query::RoleSpec* p = _impl_.newowner_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ResTarget::_internal_indirection() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indirection_; } -inline const ::pg_query::RoleSpec& AlterTableCmd::newowner() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.newowner) - return _internal_newowner(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ResTarget::_internal_mutable_indirection() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.indirection_; +} + +// .pg_query.Node val = 3 [json_name = "val"]; +inline bool ResTarget::has_val() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); + return value; +} +inline void ResTarget::clear_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.val_ != nullptr) _impl_.val_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void AlterTableCmd::unsafe_arena_set_allocated_newowner( - ::pg_query::RoleSpec* newowner) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.newowner_); +inline const ::pg_query::Node& ResTarget::_internal_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.val_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& ResTarget::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.val) + return _internal_val(); +} +inline void ResTarget::unsafe_arena_set_allocated_val(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); } - _impl_.newowner_ = newowner; - if (newowner) { - + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableCmd.newowner) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ResTarget.val) } -inline ::pg_query::RoleSpec* AlterTableCmd::release_newowner() { - - ::pg_query::RoleSpec* temp = _impl_.newowner_; - _impl_.newowner_ = nullptr; +inline ::pg_query::Node* ResTarget::release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.val_; + _impl_.val_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* AlterTableCmd::unsafe_arena_release_newowner() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.newowner) - - ::pg_query::RoleSpec* temp = _impl_.newowner_; - _impl_.newowner_ = nullptr; +inline ::pg_query::Node* ResTarget::unsafe_arena_release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ResTarget.val) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.val_; + _impl_.val_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* AlterTableCmd::_internal_mutable_newowner() { - - if (_impl_.newowner_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.newowner_ = p; +inline ::pg_query::Node* ResTarget::_internal_mutable_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.val_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.newowner_; + return _impl_.val_; } -inline ::pg_query::RoleSpec* AlterTableCmd::mutable_newowner() { - ::pg_query::RoleSpec* _msg = _internal_mutable_newowner(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.newowner) +inline ::pg_query::Node* ResTarget::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_val(); + // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.val) return _msg; } -inline void AlterTableCmd::set_allocated_newowner(::pg_query::RoleSpec* newowner) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ResTarget::set_allocated_val(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.newowner_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.val_); } - if (newowner) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(newowner); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - newowner = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, newowner, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.newowner_ = newowner; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.newowner) + + _impl_.val_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.val) } -// .pg_query.Node def = 5 [json_name = "def"]; -inline bool AlterTableCmd::_internal_has_def() const { - return this != internal_default_instance() && _impl_.def_ != nullptr; +// int32 location = 4 [json_name = "location"]; +inline void ResTarget::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool AlterTableCmd::has_def() const { - return _internal_has_def(); +inline ::int32_t ResTarget::location() const { + // @@protoc_insertion_point(field_get:pg_query.ResTarget.location) + return _internal_location(); } -inline void AlterTableCmd::clear_def() { - if (GetArenaForAllocation() == nullptr && _impl_.def_ != nullptr) { - delete _impl_.def_; - } - _impl_.def_ = nullptr; +inline void ResTarget::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ResTarget.location) } -inline const ::pg_query::Node& AlterTableCmd::_internal_def() const { - const ::pg_query::Node* p = _impl_.def_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::int32_t ResTarget::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::pg_query::Node& AlterTableCmd::def() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.def) - return _internal_def(); +inline void ResTarget::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// MultiAssignRef + +// .pg_query.Node source = 1 [json_name = "source"]; +inline bool MultiAssignRef::has_source() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.source_ != nullptr); + return value; +} +inline void MultiAssignRef::clear_source() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.source_ != nullptr) _impl_.source_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& MultiAssignRef::_internal_source() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.source_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& MultiAssignRef::source() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.source) + return _internal_source(); } -inline void AlterTableCmd::unsafe_arena_set_allocated_def( - ::pg_query::Node* def) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.def_); +inline void MultiAssignRef::unsafe_arena_set_allocated_source(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_); } - _impl_.def_ = def; - if (def) { - + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableCmd.def) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MultiAssignRef.source) } -inline ::pg_query::Node* AlterTableCmd::release_def() { - - ::pg_query::Node* temp = _impl_.def_; - _impl_.def_ = nullptr; +inline ::pg_query::Node* MultiAssignRef::release_source() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.source_; + _impl_.source_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterTableCmd::unsafe_arena_release_def() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.def) - - ::pg_query::Node* temp = _impl_.def_; - _impl_.def_ = nullptr; +inline ::pg_query::Node* MultiAssignRef::unsafe_arena_release_source() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MultiAssignRef.source) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.source_; + _impl_.source_ = nullptr; return temp; } -inline ::pg_query::Node* AlterTableCmd::_internal_mutable_def() { - - if (_impl_.def_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.def_ = p; +inline ::pg_query::Node* MultiAssignRef::_internal_mutable_source() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.source_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.def_; + return _impl_.source_; } -inline ::pg_query::Node* AlterTableCmd::mutable_def() { - ::pg_query::Node* _msg = _internal_mutable_def(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.def) +inline ::pg_query::Node* MultiAssignRef::mutable_source() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_source(); + // @@protoc_insertion_point(field_mutable:pg_query.MultiAssignRef.source) return _msg; } -inline void AlterTableCmd::set_allocated_def(::pg_query::Node* def) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void MultiAssignRef::set_allocated_source(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.def_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.source_); } - if (def) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(def); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, def, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.def_ = def; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.def) + + _impl_.source_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MultiAssignRef.source) } -// .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; -inline void AlterTableCmd::clear_behavior() { - _impl_.behavior_ = 0; +// int32 colno = 2 [json_name = "colno"]; +inline void MultiAssignRef::clear_colno() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colno_ = 0; } -inline ::pg_query::DropBehavior AlterTableCmd::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline ::int32_t MultiAssignRef::colno() const { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.colno) + return _internal_colno(); } -inline ::pg_query::DropBehavior AlterTableCmd::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.behavior) - return _internal_behavior(); +inline void MultiAssignRef::set_colno(::int32_t value) { + _internal_set_colno(value); + // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.colno) } -inline void AlterTableCmd::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline ::int32_t MultiAssignRef::_internal_colno() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colno_; } -inline void AlterTableCmd::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.behavior) +inline void MultiAssignRef::_internal_set_colno(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.colno_ = value; } -// bool missing_ok = 7 [json_name = "missing_ok"]; -inline void AlterTableCmd::clear_missing_ok() { - _impl_.missing_ok_ = false; +// int32 ncolumns = 3 [json_name = "ncolumns"]; +inline void MultiAssignRef::clear_ncolumns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ncolumns_ = 0; } -inline bool AlterTableCmd::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::int32_t MultiAssignRef::ncolumns() const { + // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.ncolumns) + return _internal_ncolumns(); } -inline bool AlterTableCmd::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.missing_ok) - return _internal_missing_ok(); +inline void MultiAssignRef::set_ncolumns(::int32_t value) { + _internal_set_ncolumns(value); + // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.ncolumns) } -inline void AlterTableCmd::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::int32_t MultiAssignRef::_internal_ncolumns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ncolumns_; } -inline void AlterTableCmd::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.missing_ok) +inline void MultiAssignRef::_internal_set_ncolumns(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ncolumns_ = value; } -// bool recurse = 8 [json_name = "recurse"]; -inline void AlterTableCmd::clear_recurse() { - _impl_.recurse_ = false; +// ------------------------------------------------------------------- + +// SortBy + +// .pg_query.Node node = 1 [json_name = "node"]; +inline bool SortBy::has_node() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.node_ != nullptr); + return value; } -inline bool AlterTableCmd::_internal_recurse() const { - return _impl_.recurse_; +inline void SortBy::clear_node() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.node_ != nullptr) _impl_.node_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool AlterTableCmd::recurse() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.recurse) - return _internal_recurse(); +inline const ::pg_query::Node& SortBy::_internal_node() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.node_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void AlterTableCmd::_internal_set_recurse(bool value) { - - _impl_.recurse_ = value; +inline const ::pg_query::Node& SortBy::node() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SortBy.node) + return _internal_node(); } -inline void AlterTableCmd::set_recurse(bool value) { - _internal_set_recurse(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.recurse) +inline void SortBy::unsafe_arena_set_allocated_node(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.node_); + } + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SortBy.node) } +inline ::pg_query::Node* SortBy::release_node() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// AlterDomainStmt + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.node_; + _impl_.node_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* SortBy::unsafe_arena_release_node() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SortBy.node) -// string subtype = 1 [json_name = "subtype"]; -inline void AlterDomainStmt::clear_subtype() { - _impl_.subtype_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.node_; + _impl_.node_ = nullptr; + return temp; } -inline const std::string& AlterDomainStmt::subtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.subtype) - return _internal_subtype(); +inline ::pg_query::Node* SortBy::_internal_mutable_node() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.node_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.node_; } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterDomainStmt::set_subtype(ArgT0&& arg0, ArgT... args) { - - _impl_.subtype_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.subtype) +inline ::pg_query::Node* SortBy::mutable_node() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_node(); + // @@protoc_insertion_point(field_mutable:pg_query.SortBy.node) + return _msg; } -inline std::string* AlterDomainStmt::mutable_subtype() { - std::string* _s = _internal_mutable_subtype(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.subtype) - return _s; +inline void SortBy::set_allocated_node(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.node_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.node_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SortBy.node) } -inline const std::string& AlterDomainStmt::_internal_subtype() const { - return _impl_.subtype_.Get(); + +// .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; +inline void SortBy::clear_sortby_dir() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortby_dir_ = 0; } -inline void AlterDomainStmt::_internal_set_subtype(const std::string& value) { - - _impl_.subtype_.Set(value, GetArenaForAllocation()); +inline ::pg_query::SortByDir SortBy::sortby_dir() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_dir) + return _internal_sortby_dir(); } -inline std::string* AlterDomainStmt::_internal_mutable_subtype() { - - return _impl_.subtype_.Mutable(GetArenaForAllocation()); +inline void SortBy::set_sortby_dir(::pg_query::SortByDir value) { + _internal_set_sortby_dir(value); + // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_dir) } -inline std::string* AlterDomainStmt::release_subtype() { - // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.subtype) - return _impl_.subtype_.Release(); +inline ::pg_query::SortByDir SortBy::_internal_sortby_dir() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByDir>(_impl_.sortby_dir_); } -inline void AlterDomainStmt::set_allocated_subtype(std::string* subtype) { - if (subtype != nullptr) { - - } else { - - } - _impl_.subtype_.SetAllocated(subtype, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.subtype_.IsDefault()) { - _impl_.subtype_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.subtype) +inline void SortBy::_internal_set_sortby_dir(::pg_query::SortByDir value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sortby_dir_ = value; } -// repeated .pg_query.Node type_name = 2 [json_name = "typeName"]; -inline int AlterDomainStmt::_internal_type_name_size() const { - return _impl_.type_name_.size(); +// .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; +inline void SortBy::clear_sortby_nulls() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortby_nulls_ = 0; } -inline int AlterDomainStmt::type_name_size() const { - return _internal_type_name_size(); +inline ::pg_query::SortByNulls SortBy::sortby_nulls() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_nulls) + return _internal_sortby_nulls(); } -inline void AlterDomainStmt::clear_type_name() { - _impl_.type_name_.Clear(); +inline void SortBy::set_sortby_nulls(::pg_query::SortByNulls value) { + _internal_set_sortby_nulls(value); + // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_nulls) } -inline ::pg_query::Node* AlterDomainStmt::mutable_type_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.type_name) - return _impl_.type_name_.Mutable(index); +inline ::pg_query::SortByNulls SortBy::_internal_sortby_nulls() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByNulls>(_impl_.sortby_nulls_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterDomainStmt::mutable_type_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDomainStmt.type_name) - return &_impl_.type_name_; +inline void SortBy::_internal_set_sortby_nulls(::pg_query::SortByNulls value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sortby_nulls_ = value; +} + +// repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; +inline int SortBy::_internal_use_op_size() const { + return _internal_use_op().size(); +} +inline int SortBy::use_op_size() const { + return _internal_use_op_size(); } -inline const ::pg_query::Node& AlterDomainStmt::_internal_type_name(int index) const { - return _impl_.type_name_.Get(index); +inline void SortBy::clear_use_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.use_op_.Clear(); } -inline const ::pg_query::Node& AlterDomainStmt::type_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.type_name) - return _internal_type_name(index); +inline ::pg_query::Node* SortBy::mutable_use_op(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SortBy.use_op) + return _internal_mutable_use_op()->Mutable(index); } -inline ::pg_query::Node* AlterDomainStmt::_internal_add_type_name() { - return _impl_.type_name_.Add(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SortBy::mutable_use_op() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SortBy.use_op) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_use_op(); } -inline ::pg_query::Node* AlterDomainStmt::add_type_name() { - ::pg_query::Node* _add = _internal_add_type_name(); - // @@protoc_insertion_point(field_add:pg_query.AlterDomainStmt.type_name) +inline const ::pg_query::Node& SortBy::use_op(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SortBy.use_op) + return _internal_use_op().Get(index); +} +inline ::pg_query::Node* SortBy::add_use_op() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_use_op()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SortBy.use_op) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterDomainStmt::type_name() const { - // @@protoc_insertion_point(field_list:pg_query.AlterDomainStmt.type_name) - return _impl_.type_name_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SortBy::use_op() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SortBy.use_op) + return _internal_use_op(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SortBy::_internal_use_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.use_op_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SortBy::_internal_mutable_use_op() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.use_op_; } -// string name = 3 [json_name = "name"]; -inline void AlterDomainStmt::clear_name() { +// int32 location = 5 [json_name = "location"]; +inline void SortBy::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t SortBy::location() const { + // @@protoc_insertion_point(field_get:pg_query.SortBy.location) + return _internal_location(); +} +inline void SortBy::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.SortBy.location) +} +inline ::int32_t SortBy::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void SortBy::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// WindowDef + +// string name = 1 [json_name = "name"]; +inline void WindowDef::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); _impl_.name_.ClearToEmpty(); } -inline const std::string& AlterDomainStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.name) +inline const std::string& WindowDef::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.name) return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterDomainStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.name) +template +inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.name) } -inline std::string* AlterDomainStmt::mutable_name() { +inline std::string* WindowDef::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.name) + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.name) return _s; } -inline const std::string& AlterDomainStmt::_internal_name() const { +inline const std::string& WindowDef::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); return _impl_.name_.Get(); } -inline void AlterDomainStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void WindowDef::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* AlterDomainStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* WindowDef::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* AlterDomainStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.name) +inline std::string* WindowDef::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.name) return _impl_.name_.Release(); } -inline void AlterDomainStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.name) +inline void WindowDef::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.name) } -// .pg_query.Node def = 4 [json_name = "def"]; -inline bool AlterDomainStmt::_internal_has_def() const { - return this != internal_default_instance() && _impl_.def_ != nullptr; +// string refname = 2 [json_name = "refname"]; +inline void WindowDef::clear_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refname_.ClearToEmpty(); } -inline bool AlterDomainStmt::has_def() const { - return _internal_has_def(); +inline const std::string& WindowDef::refname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.refname) + return _internal_refname(); } -inline void AlterDomainStmt::clear_def() { - if (GetArenaForAllocation() == nullptr && _impl_.def_ != nullptr) { - delete _impl_.def_; - } - _impl_.def_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void WindowDef::set_refname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.refname) } -inline const ::pg_query::Node& AlterDomainStmt::_internal_def() const { - const ::pg_query::Node* p = _impl_.def_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* WindowDef::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_refname(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.refname) + return _s; } -inline const ::pg_query::Node& AlterDomainStmt::def() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.def) - return _internal_def(); +inline const std::string& WindowDef::_internal_refname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refname_.Get(); } -inline void AlterDomainStmt::unsafe_arena_set_allocated_def( - ::pg_query::Node* def) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.def_); - } - _impl_.def_ = def; - if (def) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDomainStmt.def) +inline void WindowDef::_internal_set_refname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refname_.Set(value, GetArena()); } -inline ::pg_query::Node* AlterDomainStmt::release_def() { - - ::pg_query::Node* temp = _impl_.def_; - _impl_.def_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* WindowDef::_internal_mutable_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.refname_.Mutable( GetArena()); } -inline ::pg_query::Node* AlterDomainStmt::unsafe_arena_release_def() { - // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.def) - - ::pg_query::Node* temp = _impl_.def_; - _impl_.def_ = nullptr; - return temp; +inline std::string* WindowDef::release_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.refname) + return _impl_.refname_.Release(); } -inline ::pg_query::Node* AlterDomainStmt::_internal_mutable_def() { - - if (_impl_.def_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.def_ = p; - } - return _impl_.def_; +inline void WindowDef::set_allocated_refname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.refname_.IsDefault()) { + _impl_.refname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.refname) } -inline ::pg_query::Node* AlterDomainStmt::mutable_def() { - ::pg_query::Node* _msg = _internal_mutable_def(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.def) - return _msg; + +// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; +inline int WindowDef::_internal_partition_clause_size() const { + return _internal_partition_clause().size(); } -inline void AlterDomainStmt::set_allocated_def(::pg_query::Node* def) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.def_; - } - if (def) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(def); - if (message_arena != submessage_arena) { - def = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, def, submessage_arena); - } - - } else { - - } - _impl_.def_ = def; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.def) +inline int WindowDef::partition_clause_size() const { + return _internal_partition_clause_size(); } - -// .pg_query.DropBehavior behavior = 5 [json_name = "behavior"]; -inline void AlterDomainStmt::clear_behavior() { - _impl_.behavior_ = 0; +inline void WindowDef::clear_partition_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.partition_clause_.Clear(); } -inline ::pg_query::DropBehavior AlterDomainStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline ::pg_query::Node* WindowDef::mutable_partition_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.partition_clause) + return _internal_mutable_partition_clause()->Mutable(index); } -inline ::pg_query::DropBehavior AlterDomainStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.behavior) - return _internal_behavior(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_partition_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.partition_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_partition_clause(); } -inline void AlterDomainStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline const ::pg_query::Node& WindowDef::partition_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.partition_clause) + return _internal_partition_clause().Get(index); } -inline void AlterDomainStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.behavior) +inline ::pg_query::Node* WindowDef::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowDef.partition_clause) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::partition_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowDef.partition_clause) + return _internal_partition_clause(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowDef::_internal_partition_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.partition_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowDef::_internal_mutable_partition_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.partition_clause_; } -// bool missing_ok = 6 [json_name = "missing_ok"]; -inline void AlterDomainStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; +inline int WindowDef::_internal_order_clause_size() const { + return _internal_order_clause().size(); } -inline bool AlterDomainStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline int WindowDef::order_clause_size() const { + return _internal_order_clause_size(); } -inline bool AlterDomainStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.missing_ok) - return _internal_missing_ok(); +inline void WindowDef::clear_order_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.order_clause_.Clear(); } -inline void AlterDomainStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::Node* WindowDef::mutable_order_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.order_clause) + return _internal_mutable_order_clause()->Mutable(index); } -inline void AlterDomainStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.missing_ok) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowDef::mutable_order_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.order_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_order_clause(); } - -// ------------------------------------------------------------------- - -// SetOperationStmt - -// .pg_query.SetOperation op = 1 [json_name = "op"]; -inline void SetOperationStmt::clear_op() { - _impl_.op_ = 0; +inline const ::pg_query::Node& WindowDef::order_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.order_clause) + return _internal_order_clause().Get(index); } -inline ::pg_query::SetOperation SetOperationStmt::_internal_op() const { - return static_cast< ::pg_query::SetOperation >(_impl_.op_); +inline ::pg_query::Node* WindowDef::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowDef.order_clause) + return _add; } -inline ::pg_query::SetOperation SetOperationStmt::op() const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.op) - return _internal_op(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowDef::order_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowDef.order_clause) + return _internal_order_clause(); } -inline void SetOperationStmt::_internal_set_op(::pg_query::SetOperation value) { - - _impl_.op_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowDef::_internal_order_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.order_clause_; } -inline void SetOperationStmt::set_op(::pg_query::SetOperation value) { - _internal_set_op(value); - // @@protoc_insertion_point(field_set:pg_query.SetOperationStmt.op) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowDef::_internal_mutable_order_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.order_clause_; } -// bool all = 2 [json_name = "all"]; -inline void SetOperationStmt::clear_all() { - _impl_.all_ = false; +// int32 frame_options = 5 [json_name = "frameOptions"]; +inline void WindowDef::clear_frame_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.frame_options_ = 0; } -inline bool SetOperationStmt::_internal_all() const { - return _impl_.all_; +inline ::int32_t WindowDef::frame_options() const { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.frame_options) + return _internal_frame_options(); } -inline bool SetOperationStmt::all() const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.all) - return _internal_all(); +inline void WindowDef::set_frame_options(::int32_t value) { + _internal_set_frame_options(value); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.frame_options) } -inline void SetOperationStmt::_internal_set_all(bool value) { - - _impl_.all_ = value; +inline ::int32_t WindowDef::_internal_frame_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.frame_options_; } -inline void SetOperationStmt::set_all(bool value) { - _internal_set_all(value); - // @@protoc_insertion_point(field_set:pg_query.SetOperationStmt.all) +inline void WindowDef::_internal_set_frame_options(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.frame_options_ = value; } -// .pg_query.Node larg = 3 [json_name = "larg"]; -inline bool SetOperationStmt::_internal_has_larg() const { - return this != internal_default_instance() && _impl_.larg_ != nullptr; -} -inline bool SetOperationStmt::has_larg() const { - return _internal_has_larg(); +// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; +inline bool WindowDef::has_start_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); + return value; } -inline void SetOperationStmt::clear_larg() { - if (GetArenaForAllocation() == nullptr && _impl_.larg_ != nullptr) { - delete _impl_.larg_; - } - _impl_.larg_ = nullptr; +inline void WindowDef::clear_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SetOperationStmt::_internal_larg() const { - const ::pg_query::Node* p = _impl_.larg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& WindowDef::_internal_start_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.start_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SetOperationStmt::larg() const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.larg) - return _internal_larg(); +inline const ::pg_query::Node& WindowDef::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.start_offset) + return _internal_start_offset(); } -inline void SetOperationStmt::unsafe_arena_set_allocated_larg( - ::pg_query::Node* larg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.larg_); +inline void WindowDef::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); } - _impl_.larg_ = larg; - if (larg) { - + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetOperationStmt.larg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.start_offset) } -inline ::pg_query::Node* SetOperationStmt::release_larg() { - - ::pg_query::Node* temp = _impl_.larg_; - _impl_.larg_ = nullptr; +inline ::pg_query::Node* WindowDef::release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SetOperationStmt::unsafe_arena_release_larg() { - // @@protoc_insertion_point(field_release:pg_query.SetOperationStmt.larg) - - ::pg_query::Node* temp = _impl_.larg_; - _impl_.larg_ = nullptr; +inline ::pg_query::Node* WindowDef::unsafe_arena_release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.start_offset) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; return temp; } -inline ::pg_query::Node* SetOperationStmt::_internal_mutable_larg() { - - if (_impl_.larg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.larg_ = p; +inline ::pg_query::Node* WindowDef::_internal_mutable_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.start_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.larg_; + return _impl_.start_offset_; } -inline ::pg_query::Node* SetOperationStmt::mutable_larg() { - ::pg_query::Node* _msg = _internal_mutable_larg(); - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.larg) +inline ::pg_query::Node* WindowDef::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_start_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.start_offset) return _msg; } -inline void SetOperationStmt::set_allocated_larg(::pg_query::Node* larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowDef::set_allocated_start_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.larg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); } - if (larg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(larg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - larg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, larg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.larg_ = larg; - // @@protoc_insertion_point(field_set_allocated:pg_query.SetOperationStmt.larg) -} -// .pg_query.Node rarg = 4 [json_name = "rarg"]; -inline bool SetOperationStmt::_internal_has_rarg() const { - return this != internal_default_instance() && _impl_.rarg_ != nullptr; + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.start_offset) } -inline bool SetOperationStmt::has_rarg() const { - return _internal_has_rarg(); + +// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; +inline bool WindowDef::has_end_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); + return value; } -inline void SetOperationStmt::clear_rarg() { - if (GetArenaForAllocation() == nullptr && _impl_.rarg_ != nullptr) { - delete _impl_.rarg_; - } - _impl_.rarg_ = nullptr; +inline void WindowDef::clear_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& SetOperationStmt::_internal_rarg() const { - const ::pg_query::Node* p = _impl_.rarg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& WindowDef::_internal_end_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.end_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SetOperationStmt::rarg() const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.rarg) - return _internal_rarg(); +inline const ::pg_query::Node& WindowDef::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.end_offset) + return _internal_end_offset(); } -inline void SetOperationStmt::unsafe_arena_set_allocated_rarg( - ::pg_query::Node* rarg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rarg_); +inline void WindowDef::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); } - _impl_.rarg_ = rarg; - if (rarg) { - + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetOperationStmt.rarg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.end_offset) } -inline ::pg_query::Node* SetOperationStmt::release_rarg() { - - ::pg_query::Node* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* WindowDef::release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SetOperationStmt::unsafe_arena_release_rarg() { - // @@protoc_insertion_point(field_release:pg_query.SetOperationStmt.rarg) - - ::pg_query::Node* temp = _impl_.rarg_; - _impl_.rarg_ = nullptr; +inline ::pg_query::Node* WindowDef::unsafe_arena_release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowDef.end_offset) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; return temp; } -inline ::pg_query::Node* SetOperationStmt::_internal_mutable_rarg() { - - if (_impl_.rarg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.rarg_ = p; +inline ::pg_query::Node* WindowDef::_internal_mutable_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.end_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.rarg_; + return _impl_.end_offset_; } -inline ::pg_query::Node* SetOperationStmt::mutable_rarg() { - ::pg_query::Node* _msg = _internal_mutable_rarg(); - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.rarg) +inline ::pg_query::Node* WindowDef::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_end_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.end_offset) return _msg; } -inline void SetOperationStmt::set_allocated_rarg(::pg_query::Node* rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowDef::set_allocated_end_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rarg_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); } - if (rarg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rarg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - rarg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rarg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.rarg_ = rarg; - // @@protoc_insertion_point(field_set_allocated:pg_query.SetOperationStmt.rarg) -} -// repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; -inline int SetOperationStmt::_internal_col_types_size() const { - return _impl_.col_types_.size(); -} -inline int SetOperationStmt::col_types_size() const { - return _internal_col_types_size(); -} -inline void SetOperationStmt::clear_col_types() { - _impl_.col_types_.Clear(); -} -inline ::pg_query::Node* SetOperationStmt::mutable_col_types(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_types) - return _impl_.col_types_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SetOperationStmt::mutable_col_types() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_types) - return &_impl_.col_types_; -} -inline const ::pg_query::Node& SetOperationStmt::_internal_col_types(int index) const { - return _impl_.col_types_.Get(index); -} -inline const ::pg_query::Node& SetOperationStmt::col_types(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_types) - return _internal_col_types(index); -} -inline ::pg_query::Node* SetOperationStmt::_internal_add_col_types() { - return _impl_.col_types_.Add(); -} -inline ::pg_query::Node* SetOperationStmt::add_col_types() { - ::pg_query::Node* _add = _internal_add_col_types(); - // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_types) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SetOperationStmt::col_types() const { - // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_types) - return _impl_.col_types_; + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.end_offset) } -// repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; -inline int SetOperationStmt::_internal_col_typmods_size() const { - return _impl_.col_typmods_.size(); -} -inline int SetOperationStmt::col_typmods_size() const { - return _internal_col_typmods_size(); -} -inline void SetOperationStmt::clear_col_typmods() { - _impl_.col_typmods_.Clear(); -} -inline ::pg_query::Node* SetOperationStmt::mutable_col_typmods(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_typmods) - return _impl_.col_typmods_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SetOperationStmt::mutable_col_typmods() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_typmods) - return &_impl_.col_typmods_; -} -inline const ::pg_query::Node& SetOperationStmt::_internal_col_typmods(int index) const { - return _impl_.col_typmods_.Get(index); +// int32 location = 8 [json_name = "location"]; +inline void WindowDef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& SetOperationStmt::col_typmods(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_typmods) - return _internal_col_typmods(index); +inline ::int32_t WindowDef::location() const { + // @@protoc_insertion_point(field_get:pg_query.WindowDef.location) + return _internal_location(); } -inline ::pg_query::Node* SetOperationStmt::_internal_add_col_typmods() { - return _impl_.col_typmods_.Add(); +inline void WindowDef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WindowDef.location) } -inline ::pg_query::Node* SetOperationStmt::add_col_typmods() { - ::pg_query::Node* _add = _internal_add_col_typmods(); - // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_typmods) - return _add; +inline ::int32_t WindowDef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SetOperationStmt::col_typmods() const { - // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_typmods) - return _impl_.col_typmods_; +inline void WindowDef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; -inline int SetOperationStmt::_internal_col_collations_size() const { - return _impl_.col_collations_.size(); -} -inline int SetOperationStmt::col_collations_size() const { - return _internal_col_collations_size(); -} -inline void SetOperationStmt::clear_col_collations() { - _impl_.col_collations_.Clear(); -} -inline ::pg_query::Node* SetOperationStmt::mutable_col_collations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_collations) - return _impl_.col_collations_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SetOperationStmt::mutable_col_collations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_collations) - return &_impl_.col_collations_; -} -inline const ::pg_query::Node& SetOperationStmt::_internal_col_collations(int index) const { - return _impl_.col_collations_.Get(index); +// ------------------------------------------------------------------- + +// RangeSubselect + +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeSubselect::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; } -inline const ::pg_query::Node& SetOperationStmt::col_collations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_collations) - return _internal_col_collations(index); +inline bool RangeSubselect::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.lateral) + return _internal_lateral(); } -inline ::pg_query::Node* SetOperationStmt::_internal_add_col_collations() { - return _impl_.col_collations_.Add(); +inline void RangeSubselect::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeSubselect.lateral) } -inline ::pg_query::Node* SetOperationStmt::add_col_collations() { - ::pg_query::Node* _add = _internal_add_col_collations(); - // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_collations) - return _add; +inline bool RangeSubselect::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SetOperationStmt::col_collations() const { - // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_collations) - return _impl_.col_collations_; +inline void RangeSubselect::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; } -// repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; -inline int SetOperationStmt::_internal_group_clauses_size() const { - return _impl_.group_clauses_.size(); -} -inline int SetOperationStmt::group_clauses_size() const { - return _internal_group_clauses_size(); +// .pg_query.Node subquery = 2 [json_name = "subquery"]; +inline bool RangeSubselect::has_subquery() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); + return value; } -inline void SetOperationStmt::clear_group_clauses() { - _impl_.group_clauses_.Clear(); +inline void RangeSubselect::clear_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* SetOperationStmt::mutable_group_clauses(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.group_clauses) - return _impl_.group_clauses_.Mutable(index); +inline const ::pg_query::Node& RangeSubselect::_internal_subquery() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.subquery_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SetOperationStmt::mutable_group_clauses() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.group_clauses) - return &_impl_.group_clauses_; +inline const ::pg_query::Node& RangeSubselect::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.subquery) + return _internal_subquery(); } -inline const ::pg_query::Node& SetOperationStmt::_internal_group_clauses(int index) const { - return _impl_.group_clauses_.Get(index); +inline void RangeSubselect::unsafe_arena_set_allocated_subquery(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); + } + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.subquery) } -inline const ::pg_query::Node& SetOperationStmt::group_clauses(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.group_clauses) - return _internal_group_clauses(index); +inline ::pg_query::Node* RangeSubselect::release_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.subquery_; + _impl_.subquery_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* SetOperationStmt::_internal_add_group_clauses() { - return _impl_.group_clauses_.Add(); +inline ::pg_query::Node* RangeSubselect::unsafe_arena_release_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.subquery) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.subquery_; + _impl_.subquery_ = nullptr; + return temp; } -inline ::pg_query::Node* SetOperationStmt::add_group_clauses() { - ::pg_query::Node* _add = _internal_add_group_clauses(); - // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.group_clauses) - return _add; +inline ::pg_query::Node* RangeSubselect::_internal_mutable_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.subquery_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.subquery_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SetOperationStmt::group_clauses() const { - // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.group_clauses) - return _impl_.group_clauses_; +inline ::pg_query::Node* RangeSubselect::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_subquery(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.subquery) + return _msg; } +inline void RangeSubselect::set_allocated_subquery(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.subquery_); + } -// ------------------------------------------------------------------- - -// GrantStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// bool is_grant = 1 [json_name = "is_grant"]; -inline void GrantStmt::clear_is_grant() { - _impl_.is_grant_ = false; -} -inline bool GrantStmt::_internal_is_grant() const { - return _impl_.is_grant_; -} -inline bool GrantStmt::is_grant() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.is_grant) - return _internal_is_grant(); -} -inline void GrantStmt::_internal_set_is_grant(bool value) { - - _impl_.is_grant_ = value; -} -inline void GrantStmt::set_is_grant(bool value) { - _internal_set_is_grant(value); - // @@protoc_insertion_point(field_set:pg_query.GrantStmt.is_grant) + _impl_.subquery_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.subquery) } -// .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"]; -inline void GrantStmt::clear_targtype() { - _impl_.targtype_ = 0; +// .pg_query.Alias alias = 3 [json_name = "alias"]; +inline bool RangeSubselect::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline ::pg_query::GrantTargetType GrantStmt::_internal_targtype() const { - return static_cast< ::pg_query::GrantTargetType >(_impl_.targtype_); +inline void RangeSubselect::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::GrantTargetType GrantStmt::targtype() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.targtype) - return _internal_targtype(); +inline const ::pg_query::Alias& RangeSubselect::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void GrantStmt::_internal_set_targtype(::pg_query::GrantTargetType value) { - - _impl_.targtype_ = value; +inline const ::pg_query::Alias& RangeSubselect::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.alias) + return _internal_alias(); } -inline void GrantStmt::set_targtype(::pg_query::GrantTargetType value) { - _internal_set_targtype(value); - // @@protoc_insertion_point(field_set:pg_query.GrantStmt.targtype) +inline void RangeSubselect::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.alias) } +inline ::pg_query::Alias* RangeSubselect::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; -inline void GrantStmt::clear_objtype() { - _impl_.objtype_ = 0; -} -inline ::pg_query::ObjectType GrantStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); -} -inline ::pg_query::ObjectType GrantStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.objtype) - return _internal_objtype(); -} -inline void GrantStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; -} -inline void GrantStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.GrantStmt.objtype) + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Alias* RangeSubselect::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.alias) -// repeated .pg_query.Node objects = 4 [json_name = "objects"]; -inline int GrantStmt::_internal_objects_size() const { - return _impl_.objects_.size(); -} -inline int GrantStmt::objects_size() const { - return _internal_objects_size(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline void GrantStmt::clear_objects() { - _impl_.objects_.Clear(); +inline ::pg_query::Alias* RangeSubselect::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline ::pg_query::Node* GrantStmt::mutable_objects(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.objects) - return _impl_.objects_.Mutable(index); +inline ::pg_query::Alias* RangeSubselect::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.alias) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GrantStmt::mutable_objects() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.objects) - return &_impl_.objects_; +inline void RangeSubselect::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.alias) } -inline const ::pg_query::Node& GrantStmt::_internal_objects(int index) const { - return _impl_.objects_.Get(index); + +// ------------------------------------------------------------------- + +// RangeFunction + +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeFunction::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; } -inline const ::pg_query::Node& GrantStmt::objects(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.objects) - return _internal_objects(index); +inline bool RangeFunction::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.lateral) + return _internal_lateral(); } -inline ::pg_query::Node* GrantStmt::_internal_add_objects() { - return _impl_.objects_.Add(); +inline void RangeFunction::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.lateral) } -inline ::pg_query::Node* GrantStmt::add_objects() { - ::pg_query::Node* _add = _internal_add_objects(); - // @@protoc_insertion_point(field_add:pg_query.GrantStmt.objects) - return _add; +inline bool RangeFunction::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GrantStmt::objects() const { - // @@protoc_insertion_point(field_list:pg_query.GrantStmt.objects) - return _impl_.objects_; +inline void RangeFunction::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; } -// repeated .pg_query.Node privileges = 5 [json_name = "privileges"]; -inline int GrantStmt::_internal_privileges_size() const { - return _impl_.privileges_.size(); +// bool ordinality = 2 [json_name = "ordinality"]; +inline void RangeFunction::clear_ordinality() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ordinality_ = false; } -inline int GrantStmt::privileges_size() const { - return _internal_privileges_size(); +inline bool RangeFunction::ordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.ordinality) + return _internal_ordinality(); } -inline void GrantStmt::clear_privileges() { - _impl_.privileges_.Clear(); +inline void RangeFunction::set_ordinality(bool value) { + _internal_set_ordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.ordinality) } -inline ::pg_query::Node* GrantStmt::mutable_privileges(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.privileges) - return _impl_.privileges_.Mutable(index); +inline bool RangeFunction::_internal_ordinality() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ordinality_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GrantStmt::mutable_privileges() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.privileges) - return &_impl_.privileges_; +inline void RangeFunction::_internal_set_ordinality(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ordinality_ = value; } -inline const ::pg_query::Node& GrantStmt::_internal_privileges(int index) const { - return _impl_.privileges_.Get(index); + +// bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; +inline void RangeFunction::clear_is_rowsfrom() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_rowsfrom_ = false; } -inline const ::pg_query::Node& GrantStmt::privileges(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.privileges) - return _internal_privileges(index); +inline bool RangeFunction::is_rowsfrom() const { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.is_rowsfrom) + return _internal_is_rowsfrom(); } -inline ::pg_query::Node* GrantStmt::_internal_add_privileges() { - return _impl_.privileges_.Add(); +inline void RangeFunction::set_is_rowsfrom(bool value) { + _internal_set_is_rowsfrom(value); + // @@protoc_insertion_point(field_set:pg_query.RangeFunction.is_rowsfrom) } -inline ::pg_query::Node* GrantStmt::add_privileges() { - ::pg_query::Node* _add = _internal_add_privileges(); - // @@protoc_insertion_point(field_add:pg_query.GrantStmt.privileges) - return _add; +inline bool RangeFunction::_internal_is_rowsfrom() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_rowsfrom_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GrantStmt::privileges() const { - // @@protoc_insertion_point(field_list:pg_query.GrantStmt.privileges) - return _impl_.privileges_; +inline void RangeFunction::_internal_set_is_rowsfrom(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_rowsfrom_ = value; } -// repeated .pg_query.Node grantees = 6 [json_name = "grantees"]; -inline int GrantStmt::_internal_grantees_size() const { - return _impl_.grantees_.size(); -} -inline int GrantStmt::grantees_size() const { - return _internal_grantees_size(); -} -inline void GrantStmt::clear_grantees() { - _impl_.grantees_.Clear(); +// repeated .pg_query.Node functions = 4 [json_name = "functions"]; +inline int RangeFunction::_internal_functions_size() const { + return _internal_functions().size(); } -inline ::pg_query::Node* GrantStmt::mutable_grantees(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.grantees) - return _impl_.grantees_.Mutable(index); +inline int RangeFunction::functions_size() const { + return _internal_functions_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GrantStmt::mutable_grantees() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.grantees) - return &_impl_.grantees_; +inline void RangeFunction::clear_functions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.functions_.Clear(); } -inline const ::pg_query::Node& GrantStmt::_internal_grantees(int index) const { - return _impl_.grantees_.Get(index); +inline ::pg_query::Node* RangeFunction::mutable_functions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.functions) + return _internal_mutable_functions()->Mutable(index); } -inline const ::pg_query::Node& GrantStmt::grantees(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grantees) - return _internal_grantees(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_functions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.functions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_functions(); } -inline ::pg_query::Node* GrantStmt::_internal_add_grantees() { - return _impl_.grantees_.Add(); +inline const ::pg_query::Node& RangeFunction::functions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.functions) + return _internal_functions().Get(index); } -inline ::pg_query::Node* GrantStmt::add_grantees() { - ::pg_query::Node* _add = _internal_add_grantees(); - // @@protoc_insertion_point(field_add:pg_query.GrantStmt.grantees) +inline ::pg_query::Node* RangeFunction::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeFunction.functions) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GrantStmt::grantees() const { - // @@protoc_insertion_point(field_list:pg_query.GrantStmt.grantees) - return _impl_.grantees_; -} - -// bool grant_option = 7 [json_name = "grant_option"]; -inline void GrantStmt::clear_grant_option() { - _impl_.grant_option_ = false; -} -inline bool GrantStmt::_internal_grant_option() const { - return _impl_.grant_option_; -} -inline bool GrantStmt::grant_option() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grant_option) - return _internal_grant_option(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::functions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeFunction.functions) + return _internal_functions(); } -inline void GrantStmt::_internal_set_grant_option(bool value) { - - _impl_.grant_option_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeFunction::_internal_functions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.functions_; } -inline void GrantStmt::set_grant_option(bool value) { - _internal_set_grant_option(value); - // @@protoc_insertion_point(field_set:pg_query.GrantStmt.grant_option) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeFunction::_internal_mutable_functions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.functions_; } -// .pg_query.RoleSpec grantor = 8 [json_name = "grantor"]; -inline bool GrantStmt::_internal_has_grantor() const { - return this != internal_default_instance() && _impl_.grantor_ != nullptr; -} -inline bool GrantStmt::has_grantor() const { - return _internal_has_grantor(); +// .pg_query.Alias alias = 5 [json_name = "alias"]; +inline bool RangeFunction::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline void GrantStmt::clear_grantor() { - if (GetArenaForAllocation() == nullptr && _impl_.grantor_ != nullptr) { - delete _impl_.grantor_; - } - _impl_.grantor_ = nullptr; +inline void RangeFunction::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RoleSpec& GrantStmt::_internal_grantor() const { - const ::pg_query::RoleSpec* p = _impl_.grantor_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::Alias& RangeFunction::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline const ::pg_query::RoleSpec& GrantStmt::grantor() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grantor) - return _internal_grantor(); +inline const ::pg_query::Alias& RangeFunction::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.alias) + return _internal_alias(); } -inline void GrantStmt::unsafe_arena_set_allocated_grantor( - ::pg_query::RoleSpec* grantor) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.grantor_); +inline void RangeFunction::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.grantor_ = grantor; - if (grantor) { - + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GrantStmt.grantor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeFunction.alias) } -inline ::pg_query::RoleSpec* GrantStmt::release_grantor() { - - ::pg_query::RoleSpec* temp = _impl_.grantor_; - _impl_.grantor_ = nullptr; +inline ::pg_query::Alias* RangeFunction::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* GrantStmt::unsafe_arena_release_grantor() { - // @@protoc_insertion_point(field_release:pg_query.GrantStmt.grantor) - - ::pg_query::RoleSpec* temp = _impl_.grantor_; - _impl_.grantor_ = nullptr; +inline ::pg_query::Alias* RangeFunction::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeFunction.alias) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* GrantStmt::_internal_mutable_grantor() { - - if (_impl_.grantor_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.grantor_ = p; +inline ::pg_query::Alias* RangeFunction::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.grantor_; + return _impl_.alias_; } -inline ::pg_query::RoleSpec* GrantStmt::mutable_grantor() { - ::pg_query::RoleSpec* _msg = _internal_mutable_grantor(); - // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.grantor) +inline ::pg_query::Alias* RangeFunction::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.alias) return _msg; } -inline void GrantStmt::set_allocated_grantor(::pg_query::RoleSpec* grantor) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeFunction::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.grantor_; + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } - if (grantor) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(grantor); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { - grantor = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, grantor, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.grantor_ = grantor; - // @@protoc_insertion_point(field_set_allocated:pg_query.GrantStmt.grantor) -} -// .pg_query.DropBehavior behavior = 9 [json_name = "behavior"]; -inline void GrantStmt::clear_behavior() { - _impl_.behavior_ = 0; -} -inline ::pg_query::DropBehavior GrantStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); -} -inline ::pg_query::DropBehavior GrantStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.GrantStmt.behavior) - return _internal_behavior(); -} -inline void GrantStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; -} -inline void GrantStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.GrantStmt.behavior) + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeFunction.alias) } -// ------------------------------------------------------------------- - -// GrantRoleStmt - -// repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"]; -inline int GrantRoleStmt::_internal_granted_roles_size() const { - return _impl_.granted_roles_.size(); -} -inline int GrantRoleStmt::granted_roles_size() const { - return _internal_granted_roles_size(); -} -inline void GrantRoleStmt::clear_granted_roles() { - _impl_.granted_roles_.Clear(); +// repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; +inline int RangeFunction::_internal_coldeflist_size() const { + return _internal_coldeflist().size(); } -inline ::pg_query::Node* GrantRoleStmt::mutable_granted_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.granted_roles) - return _impl_.granted_roles_.Mutable(index); +inline int RangeFunction::coldeflist_size() const { + return _internal_coldeflist_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GrantRoleStmt::mutable_granted_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GrantRoleStmt.granted_roles) - return &_impl_.granted_roles_; +inline void RangeFunction::clear_coldeflist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coldeflist_.Clear(); } -inline const ::pg_query::Node& GrantRoleStmt::_internal_granted_roles(int index) const { - return _impl_.granted_roles_.Get(index); +inline ::pg_query::Node* RangeFunction::mutable_coldeflist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.coldeflist) + return _internal_mutable_coldeflist()->Mutable(index); } -inline const ::pg_query::Node& GrantRoleStmt::granted_roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.granted_roles) - return _internal_granted_roles(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeFunction::mutable_coldeflist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.coldeflist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coldeflist(); } -inline ::pg_query::Node* GrantRoleStmt::_internal_add_granted_roles() { - return _impl_.granted_roles_.Add(); +inline const ::pg_query::Node& RangeFunction::coldeflist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeFunction.coldeflist) + return _internal_coldeflist().Get(index); } -inline ::pg_query::Node* GrantRoleStmt::add_granted_roles() { - ::pg_query::Node* _add = _internal_add_granted_roles(); - // @@protoc_insertion_point(field_add:pg_query.GrantRoleStmt.granted_roles) +inline ::pg_query::Node* RangeFunction::add_coldeflist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coldeflist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeFunction.coldeflist) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GrantRoleStmt::granted_roles() const { - // @@protoc_insertion_point(field_list:pg_query.GrantRoleStmt.granted_roles) - return _impl_.granted_roles_; -} - -// repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"]; -inline int GrantRoleStmt::_internal_grantee_roles_size() const { - return _impl_.grantee_roles_.size(); -} -inline int GrantRoleStmt::grantee_roles_size() const { - return _internal_grantee_roles_size(); -} -inline void GrantRoleStmt::clear_grantee_roles() { - _impl_.grantee_roles_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeFunction::coldeflist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeFunction.coldeflist) + return _internal_coldeflist(); } -inline ::pg_query::Node* GrantRoleStmt::mutable_grantee_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.grantee_roles) - return _impl_.grantee_roles_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeFunction::_internal_coldeflist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coldeflist_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GrantRoleStmt::mutable_grantee_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GrantRoleStmt.grantee_roles) - return &_impl_.grantee_roles_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeFunction::_internal_mutable_coldeflist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coldeflist_; } -inline const ::pg_query::Node& GrantRoleStmt::_internal_grantee_roles(int index) const { - return _impl_.grantee_roles_.Get(index); + +// ------------------------------------------------------------------- + +// RangeTableFunc + +// bool lateral = 1 [json_name = "lateral"]; +inline void RangeTableFunc::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; } -inline const ::pg_query::Node& GrantRoleStmt::grantee_roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.grantee_roles) - return _internal_grantee_roles(index); +inline bool RangeTableFunc::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.lateral) + return _internal_lateral(); } -inline ::pg_query::Node* GrantRoleStmt::_internal_add_grantee_roles() { - return _impl_.grantee_roles_.Add(); +inline void RangeTableFunc::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.lateral) } -inline ::pg_query::Node* GrantRoleStmt::add_grantee_roles() { - ::pg_query::Node* _add = _internal_add_grantee_roles(); - // @@protoc_insertion_point(field_add:pg_query.GrantRoleStmt.grantee_roles) - return _add; +inline bool RangeTableFunc::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GrantRoleStmt::grantee_roles() const { - // @@protoc_insertion_point(field_list:pg_query.GrantRoleStmt.grantee_roles) - return _impl_.grantee_roles_; +inline void RangeTableFunc::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; } -// bool is_grant = 3 [json_name = "is_grant"]; -inline void GrantRoleStmt::clear_is_grant() { - _impl_.is_grant_ = false; +// .pg_query.Node docexpr = 2 [json_name = "docexpr"]; +inline bool RangeTableFunc::has_docexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.docexpr_ != nullptr); + return value; } -inline bool GrantRoleStmt::_internal_is_grant() const { - return _impl_.is_grant_; +inline void RangeTableFunc::clear_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.docexpr_ != nullptr) _impl_.docexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool GrantRoleStmt::is_grant() const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.is_grant) - return _internal_is_grant(); +inline const ::pg_query::Node& RangeTableFunc::_internal_docexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.docexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void GrantRoleStmt::_internal_set_is_grant(bool value) { - - _impl_.is_grant_ = value; +inline const ::pg_query::Node& RangeTableFunc::docexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.docexpr) + return _internal_docexpr(); } -inline void GrantRoleStmt::set_is_grant(bool value) { - _internal_set_is_grant(value); - // @@protoc_insertion_point(field_set:pg_query.GrantRoleStmt.is_grant) +inline void RangeTableFunc::unsafe_arena_set_allocated_docexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.docexpr_); + } + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.docexpr) } +inline ::pg_query::Node* RangeTableFunc::release_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool admin_opt = 4 [json_name = "admin_opt"]; -inline void GrantRoleStmt::clear_admin_opt() { - _impl_.admin_opt_ = false; -} -inline bool GrantRoleStmt::_internal_admin_opt() const { - return _impl_.admin_opt_; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool GrantRoleStmt::admin_opt() const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.admin_opt) - return _internal_admin_opt(); +inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.docexpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.docexpr_; + _impl_.docexpr_ = nullptr; + return temp; } -inline void GrantRoleStmt::_internal_set_admin_opt(bool value) { - - _impl_.admin_opt_ = value; +inline ::pg_query::Node* RangeTableFunc::_internal_mutable_docexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.docexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.docexpr_; } -inline void GrantRoleStmt::set_admin_opt(bool value) { - _internal_set_admin_opt(value); - // @@protoc_insertion_point(field_set:pg_query.GrantRoleStmt.admin_opt) +inline ::pg_query::Node* RangeTableFunc::mutable_docexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_docexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.docexpr) + return _msg; } +inline void RangeTableFunc::set_allocated_docexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.docexpr_); + } -// .pg_query.RoleSpec grantor = 5 [json_name = "grantor"]; -inline bool GrantRoleStmt::_internal_has_grantor() const { - return this != internal_default_instance() && _impl_.grantor_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.docexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.docexpr) } -inline bool GrantRoleStmt::has_grantor() const { - return _internal_has_grantor(); + +// .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; +inline bool RangeTableFunc::has_rowexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rowexpr_ != nullptr); + return value; } -inline void GrantRoleStmt::clear_grantor() { - if (GetArenaForAllocation() == nullptr && _impl_.grantor_ != nullptr) { - delete _impl_.grantor_; - } - _impl_.grantor_ = nullptr; +inline void RangeTableFunc::clear_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rowexpr_ != nullptr) _impl_.rowexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RoleSpec& GrantRoleStmt::_internal_grantor() const { - const ::pg_query::RoleSpec* p = _impl_.grantor_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::Node& RangeTableFunc::_internal_rowexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rowexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RoleSpec& GrantRoleStmt::grantor() const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.grantor) - return _internal_grantor(); +inline const ::pg_query::Node& RangeTableFunc::rowexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.rowexpr) + return _internal_rowexpr(); } -inline void GrantRoleStmt::unsafe_arena_set_allocated_grantor( - ::pg_query::RoleSpec* grantor) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.grantor_); +inline void RangeTableFunc::unsafe_arena_set_allocated_rowexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rowexpr_); } - _impl_.grantor_ = grantor; - if (grantor) { - + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GrantRoleStmt.grantor) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.rowexpr) } -inline ::pg_query::RoleSpec* GrantRoleStmt::release_grantor() { - - ::pg_query::RoleSpec* temp = _impl_.grantor_; - _impl_.grantor_ = nullptr; +inline ::pg_query::Node* RangeTableFunc::release_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* GrantRoleStmt::unsafe_arena_release_grantor() { - // @@protoc_insertion_point(field_release:pg_query.GrantRoleStmt.grantor) - - ::pg_query::RoleSpec* temp = _impl_.grantor_; - _impl_.grantor_ = nullptr; +inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.rowexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rowexpr_; + _impl_.rowexpr_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* GrantRoleStmt::_internal_mutable_grantor() { - - if (_impl_.grantor_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.grantor_ = p; +inline ::pg_query::Node* RangeTableFunc::_internal_mutable_rowexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rowexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.grantor_; + return _impl_.rowexpr_; } -inline ::pg_query::RoleSpec* GrantRoleStmt::mutable_grantor() { - ::pg_query::RoleSpec* _msg = _internal_mutable_grantor(); - // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.grantor) +inline ::pg_query::Node* RangeTableFunc::mutable_rowexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rowexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.rowexpr) return _msg; } -inline void GrantRoleStmt::set_allocated_grantor(::pg_query::RoleSpec* grantor) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableFunc::set_allocated_rowexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.grantor_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.rowexpr_); } - if (grantor) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(grantor); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - grantor = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, grantor, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.grantor_ = grantor; - // @@protoc_insertion_point(field_set_allocated:pg_query.GrantRoleStmt.grantor) + + _impl_.rowexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.rowexpr) } -// .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; -inline void GrantRoleStmt::clear_behavior() { - _impl_.behavior_ = 0; +// repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; +inline int RangeTableFunc::_internal_namespaces_size() const { + return _internal_namespaces().size(); } -inline ::pg_query::DropBehavior GrantRoleStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline int RangeTableFunc::namespaces_size() const { + return _internal_namespaces_size(); } -inline ::pg_query::DropBehavior GrantRoleStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.behavior) - return _internal_behavior(); +inline void RangeTableFunc::clear_namespaces() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.namespaces_.Clear(); } -inline void GrantRoleStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline ::pg_query::Node* RangeTableFunc::mutable_namespaces(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.namespaces) + return _internal_mutable_namespaces()->Mutable(index); } -inline void GrantRoleStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.GrantRoleStmt.behavior) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_namespaces() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.namespaces) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_namespaces(); } - -// ------------------------------------------------------------------- - -// AlterDefaultPrivilegesStmt - -// repeated .pg_query.Node options = 1 [json_name = "options"]; -inline int AlterDefaultPrivilegesStmt::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::pg_query::Node& RangeTableFunc::namespaces(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.namespaces) + return _internal_namespaces().Get(index); } -inline int AlterDefaultPrivilegesStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* RangeTableFunc::add_namespaces() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_namespaces()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.namespaces) + return _add; } -inline void AlterDefaultPrivilegesStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::namespaces() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.namespaces) + return _internal_namespaces(); } -inline ::pg_query::Node* AlterDefaultPrivilegesStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterDefaultPrivilegesStmt.options) - return _impl_.options_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTableFunc::_internal_namespaces() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.namespaces_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterDefaultPrivilegesStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDefaultPrivilegesStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTableFunc::_internal_mutable_namespaces() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.namespaces_; } -inline const ::pg_query::Node& AlterDefaultPrivilegesStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// repeated .pg_query.Node columns = 5 [json_name = "columns"]; +inline int RangeTableFunc::_internal_columns_size() const { + return _internal_columns().size(); } -inline const ::pg_query::Node& AlterDefaultPrivilegesStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterDefaultPrivilegesStmt.options) - return _internal_options(index); +inline int RangeTableFunc::columns_size() const { + return _internal_columns_size(); } -inline ::pg_query::Node* AlterDefaultPrivilegesStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void RangeTableFunc::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); } -inline ::pg_query::Node* AlterDefaultPrivilegesStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterDefaultPrivilegesStmt.options) +inline ::pg_query::Node* RangeTableFunc::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.columns) + return _internal_mutable_columns()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableFunc::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); +} +inline const ::pg_query::Node& RangeTableFunc::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.columns) + return _internal_columns().Get(index); +} +inline ::pg_query::Node* RangeTableFunc::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.columns) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterDefaultPrivilegesStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterDefaultPrivilegesStmt.options) - return _impl_.options_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableFunc::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.columns) + return _internal_columns(); } - -// .pg_query.GrantStmt action = 2 [json_name = "action"]; -inline bool AlterDefaultPrivilegesStmt::_internal_has_action() const { - return this != internal_default_instance() && _impl_.action_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTableFunc::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; } -inline bool AlterDefaultPrivilegesStmt::has_action() const { - return _internal_has_action(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTableFunc::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; } -inline void AlterDefaultPrivilegesStmt::clear_action() { - if (GetArenaForAllocation() == nullptr && _impl_.action_ != nullptr) { - delete _impl_.action_; - } - _impl_.action_ = nullptr; + +// .pg_query.Alias alias = 6 [json_name = "alias"]; +inline bool RangeTableFunc::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline const ::pg_query::GrantStmt& AlterDefaultPrivilegesStmt::_internal_action() const { - const ::pg_query::GrantStmt* p = _impl_.action_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_GrantStmt_default_instance_); +inline void RangeTableFunc::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::GrantStmt& AlterDefaultPrivilegesStmt::action() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDefaultPrivilegesStmt.action) - return _internal_action(); +inline const ::pg_query::Alias& RangeTableFunc::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void AlterDefaultPrivilegesStmt::unsafe_arena_set_allocated_action( - ::pg_query::GrantStmt* action) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.action_); +inline const ::pg_query::Alias& RangeTableFunc::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.alias) + return _internal_alias(); +} +inline void RangeTableFunc::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); } - _impl_.action_ = action; - if (action) { - + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDefaultPrivilegesStmt.action) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.alias) } -inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::release_action() { - - ::pg_query::GrantStmt* temp = _impl_.action_; - _impl_.action_ = nullptr; +inline ::pg_query::Alias* RangeTableFunc::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::unsafe_arena_release_action() { - // @@protoc_insertion_point(field_release:pg_query.AlterDefaultPrivilegesStmt.action) - - ::pg_query::GrantStmt* temp = _impl_.action_; - _impl_.action_ = nullptr; +inline ::pg_query::Alias* RangeTableFunc::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.alias) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; return temp; } -inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::_internal_mutable_action() { - - if (_impl_.action_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::GrantStmt>(GetArenaForAllocation()); - _impl_.action_ = p; +inline ::pg_query::Alias* RangeTableFunc::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.action_; + return _impl_.alias_; } -inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::mutable_action() { - ::pg_query::GrantStmt* _msg = _internal_mutable_action(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDefaultPrivilegesStmt.action) +inline ::pg_query::Alias* RangeTableFunc::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.alias) return _msg; } -inline void AlterDefaultPrivilegesStmt::set_allocated_action(::pg_query::GrantStmt* action) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableFunc::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.action_; + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); } - if (action) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(action); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { - action = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, action, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.action_ = action; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDefaultPrivilegesStmt.action) + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.alias) +} + +// int32 location = 7 [json_name = "location"]; +inline void RangeTableFunc::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t RangeTableFunc::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.location) + return _internal_location(); +} +inline void RangeTableFunc::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.location) +} +inline ::int32_t RangeTableFunc::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RangeTableFunc::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// ClosePortalStmt +// RangeTableFuncCol -// string portalname = 1 [json_name = "portalname"]; -inline void ClosePortalStmt::clear_portalname() { - _impl_.portalname_.ClearToEmpty(); +// string colname = 1 [json_name = "colname"]; +inline void RangeTableFuncCol::clear_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colname_.ClearToEmpty(); } -inline const std::string& ClosePortalStmt::portalname() const { - // @@protoc_insertion_point(field_get:pg_query.ClosePortalStmt.portalname) - return _internal_portalname(); +inline const std::string& RangeTableFuncCol::colname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colname) + return _internal_colname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ClosePortalStmt::set_portalname(ArgT0&& arg0, ArgT... args) { - - _impl_.portalname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ClosePortalStmt.portalname) +template +inline PROTOBUF_ALWAYS_INLINE void RangeTableFuncCol::set_colname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.colname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.colname) } -inline std::string* ClosePortalStmt::mutable_portalname() { - std::string* _s = _internal_mutable_portalname(); - // @@protoc_insertion_point(field_mutable:pg_query.ClosePortalStmt.portalname) +inline std::string* RangeTableFuncCol::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_colname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colname) return _s; } -inline const std::string& ClosePortalStmt::_internal_portalname() const { - return _impl_.portalname_.Get(); +inline const std::string& RangeTableFuncCol::_internal_colname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colname_.Get(); } -inline void ClosePortalStmt::_internal_set_portalname(const std::string& value) { - - _impl_.portalname_.Set(value, GetArenaForAllocation()); +inline void RangeTableFuncCol::_internal_set_colname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.colname_.Set(value, GetArena()); } -inline std::string* ClosePortalStmt::_internal_mutable_portalname() { - - return _impl_.portalname_.Mutable(GetArenaForAllocation()); +inline std::string* RangeTableFuncCol::_internal_mutable_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.colname_.Mutable( GetArena()); } -inline std::string* ClosePortalStmt::release_portalname() { - // @@protoc_insertion_point(field_release:pg_query.ClosePortalStmt.portalname) - return _impl_.portalname_.Release(); +inline std::string* RangeTableFuncCol::release_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colname) + return _impl_.colname_.Release(); } -inline void ClosePortalStmt::set_allocated_portalname(std::string* portalname) { - if (portalname != nullptr) { - - } else { - - } - _impl_.portalname_.SetAllocated(portalname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.portalname_.IsDefault()) { - _impl_.portalname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ClosePortalStmt.portalname) +inline void RangeTableFuncCol::set_allocated_colname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.colname_.IsDefault()) { + _impl_.colname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colname) } -// ------------------------------------------------------------------- - -// ClusterStmt - -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool ClusterStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool ClusterStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool RangeTableFuncCol::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline void ClusterStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void RangeTableFuncCol::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& ClusterStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::TypeName& RangeTableFuncCol::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::RangeVar& ClusterStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.relation) - return _internal_relation(); +inline const ::pg_query::TypeName& RangeTableFuncCol::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.type_name) + return _internal_type_name(); } -inline void ClusterStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void RangeTableFuncCol::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ClusterStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.type_name) } -inline ::pg_query::RangeVar* ClusterStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* RangeTableFuncCol::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* ClusterStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.ClusterStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* RangeTableFuncCol::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::RangeVar* ClusterStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::TypeName* RangeTableFuncCol::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.relation_; + return _impl_.type_name_; } -inline ::pg_query::RangeVar* ClusterStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.relation) +inline ::pg_query::TypeName* RangeTableFuncCol::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.type_name) return _msg; } -inline void ClusterStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableFuncCol::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.ClusterStmt.relation) -} -// string indexname = 2 [json_name = "indexname"]; -inline void ClusterStmt::clear_indexname() { - _impl_.indexname_.ClearToEmpty(); -} -inline const std::string& ClusterStmt::indexname() const { - // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.indexname) - return _internal_indexname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void ClusterStmt::set_indexname(ArgT0&& arg0, ArgT... args) { - - _impl_.indexname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ClusterStmt.indexname) -} -inline std::string* ClusterStmt::mutable_indexname() { - std::string* _s = _internal_mutable_indexname(); - // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.indexname) - return _s; -} -inline const std::string& ClusterStmt::_internal_indexname() const { - return _impl_.indexname_.Get(); -} -inline void ClusterStmt::_internal_set_indexname(const std::string& value) { - - _impl_.indexname_.Set(value, GetArenaForAllocation()); -} -inline std::string* ClusterStmt::_internal_mutable_indexname() { - - return _impl_.indexname_.Mutable(GetArenaForAllocation()); -} -inline std::string* ClusterStmt::release_indexname() { - // @@protoc_insertion_point(field_release:pg_query.ClusterStmt.indexname) - return _impl_.indexname_.Release(); -} -inline void ClusterStmt::set_allocated_indexname(std::string* indexname) { - if (indexname != nullptr) { - - } else { - - } - _impl_.indexname_.SetAllocated(indexname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.indexname_.IsDefault()) { - _impl_.indexname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ClusterStmt.indexname) + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.type_name) } -// repeated .pg_query.Node params = 3 [json_name = "params"]; -inline int ClusterStmt::_internal_params_size() const { - return _impl_.params_.size(); +// bool for_ordinality = 3 [json_name = "for_ordinality"]; +inline void RangeTableFuncCol::clear_for_ordinality() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_ordinality_ = false; } -inline int ClusterStmt::params_size() const { - return _internal_params_size(); +inline bool RangeTableFuncCol::for_ordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.for_ordinality) + return _internal_for_ordinality(); } -inline void ClusterStmt::clear_params() { - _impl_.params_.Clear(); +inline void RangeTableFuncCol::set_for_ordinality(bool value) { + _internal_set_for_ordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.for_ordinality) } -inline ::pg_query::Node* ClusterStmt::mutable_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.params) - return _impl_.params_.Mutable(index); +inline bool RangeTableFuncCol::_internal_for_ordinality() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_ordinality_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ClusterStmt::mutable_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ClusterStmt.params) - return &_impl_.params_; +inline void RangeTableFuncCol::_internal_set_for_ordinality(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_ordinality_ = value; } -inline const ::pg_query::Node& ClusterStmt::_internal_params(int index) const { - return _impl_.params_.Get(index); + +// bool is_not_null = 4 [json_name = "is_not_null"]; +inline void RangeTableFuncCol::clear_is_not_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_not_null_ = false; } -inline const ::pg_query::Node& ClusterStmt::params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.params) - return _internal_params(index); +inline bool RangeTableFuncCol::is_not_null() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.is_not_null) + return _internal_is_not_null(); } -inline ::pg_query::Node* ClusterStmt::_internal_add_params() { - return _impl_.params_.Add(); +inline void RangeTableFuncCol::set_is_not_null(bool value) { + _internal_set_is_not_null(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.is_not_null) } -inline ::pg_query::Node* ClusterStmt::add_params() { - ::pg_query::Node* _add = _internal_add_params(); - // @@protoc_insertion_point(field_add:pg_query.ClusterStmt.params) - return _add; +inline bool RangeTableFuncCol::_internal_is_not_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_not_null_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ClusterStmt::params() const { - // @@protoc_insertion_point(field_list:pg_query.ClusterStmt.params) - return _impl_.params_; +inline void RangeTableFuncCol::_internal_set_is_not_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_not_null_ = value; } -// ------------------------------------------------------------------- - -// CopyStmt - -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool CopyStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool CopyStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.Node colexpr = 5 [json_name = "colexpr"]; +inline bool RangeTableFuncCol::has_colexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.colexpr_ != nullptr); + return value; } -inline void CopyStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void RangeTableFuncCol::clear_colexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.colexpr_ != nullptr) _impl_.colexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& CopyStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& RangeTableFuncCol::_internal_colexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.colexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& CopyStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& RangeTableFuncCol::colexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colexpr) + return _internal_colexpr(); } -inline void CopyStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void RangeTableFuncCol::unsafe_arena_set_allocated_colexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.colexpr_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.colexpr) } -inline ::pg_query::RangeVar* CopyStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* RangeTableFuncCol::release_colexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.colexpr_; + _impl_.colexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CopyStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.CopyStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_colexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.colexpr_; + _impl_.colexpr_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CopyStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_colexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.colexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.colexpr_; } -inline ::pg_query::RangeVar* CopyStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.relation) +inline ::pg_query::Node* RangeTableFuncCol::mutable_colexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_colexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colexpr) return _msg; } -inline void CopyStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableFuncCol::set_allocated_colexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.colexpr_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.relation) -} -// .pg_query.Node query = 2 [json_name = "query"]; -inline bool CopyStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; + _impl_.colexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colexpr) } -inline bool CopyStmt::has_query() const { - return _internal_has_query(); + +// .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; +inline bool RangeTableFuncCol::has_coldefexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coldefexpr_ != nullptr); + return value; } -inline void CopyStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; +inline void RangeTableFuncCol::clear_coldefexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.coldefexpr_ != nullptr) _impl_.coldefexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& CopyStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& RangeTableFuncCol::_internal_coldefexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.coldefexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CopyStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.query) - return _internal_query(); +inline const ::pg_query::Node& RangeTableFuncCol::coldefexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.coldefexpr) + return _internal_coldefexpr(); } -inline void CopyStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); +inline void RangeTableFuncCol::unsafe_arena_set_allocated_coldefexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coldefexpr_); } - _impl_.query_ = query; - if (query) { - + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) } -inline ::pg_query::Node* CopyStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::Node* RangeTableFuncCol::release_coldefexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.coldefexpr_; + _impl_.coldefexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CopyStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.CopyStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_coldefexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.coldefexpr) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.coldefexpr_; + _impl_.coldefexpr_ = nullptr; return temp; } -inline ::pg_query::Node* CopyStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; +inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_coldefexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.coldefexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.query_; + return _impl_.coldefexpr_; } -inline ::pg_query::Node* CopyStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.query) +inline ::pg_query::Node* RangeTableFuncCol::mutable_coldefexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_coldefexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.coldefexpr) return _msg; } -inline void CopyStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableFuncCol::set_allocated_coldefexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.query_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.coldefexpr_); } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.query) -} -// repeated .pg_query.Node attlist = 3 [json_name = "attlist"]; -inline int CopyStmt::_internal_attlist_size() const { - return _impl_.attlist_.size(); -} -inline int CopyStmt::attlist_size() const { - return _internal_attlist_size(); -} -inline void CopyStmt::clear_attlist() { - _impl_.attlist_.Clear(); -} -inline ::pg_query::Node* CopyStmt::mutable_attlist(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.attlist) - return _impl_.attlist_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CopyStmt::mutable_attlist() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CopyStmt.attlist) - return &_impl_.attlist_; + _impl_.coldefexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) } -inline const ::pg_query::Node& CopyStmt::_internal_attlist(int index) const { - return _impl_.attlist_.Get(index); + +// int32 location = 7 [json_name = "location"]; +inline void RangeTableFuncCol::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& CopyStmt::attlist(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.attlist) - return _internal_attlist(index); +inline ::int32_t RangeTableFuncCol::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.location) + return _internal_location(); } -inline ::pg_query::Node* CopyStmt::_internal_add_attlist() { - return _impl_.attlist_.Add(); +inline void RangeTableFuncCol::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.location) } -inline ::pg_query::Node* CopyStmt::add_attlist() { - ::pg_query::Node* _add = _internal_add_attlist(); - // @@protoc_insertion_point(field_add:pg_query.CopyStmt.attlist) - return _add; +inline ::int32_t RangeTableFuncCol::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CopyStmt::attlist() const { - // @@protoc_insertion_point(field_list:pg_query.CopyStmt.attlist) - return _impl_.attlist_; +inline void RangeTableFuncCol::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// bool is_from = 4 [json_name = "is_from"]; -inline void CopyStmt::clear_is_from() { - _impl_.is_from_ = false; +// ------------------------------------------------------------------- + +// RangeTableSample + +// .pg_query.Node relation = 1 [json_name = "relation"]; +inline bool RangeTableSample::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline bool CopyStmt::_internal_is_from() const { - return _impl_.is_from_; +inline void RangeTableSample::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool CopyStmt::is_from() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.is_from) - return _internal_is_from(); +inline const ::pg_query::Node& RangeTableSample::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CopyStmt::_internal_set_is_from(bool value) { - - _impl_.is_from_ = value; +inline const ::pg_query::Node& RangeTableSample::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.relation) + return _internal_relation(); } -inline void CopyStmt::set_is_from(bool value) { - _internal_set_is_from(value); - // @@protoc_insertion_point(field_set:pg_query.CopyStmt.is_from) +inline void RangeTableSample::unsafe_arena_set_allocated_relation(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.relation) } +inline ::pg_query::Node* RangeTableSample::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool is_program = 5 [json_name = "is_program"]; -inline void CopyStmt::clear_is_program() { - _impl_.is_program_ = false; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool CopyStmt::_internal_is_program() const { - return _impl_.is_program_; +inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline bool CopyStmt::is_program() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.is_program) - return _internal_is_program(); +inline ::pg_query::Node* RangeTableSample::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.relation_; } -inline void CopyStmt::_internal_set_is_program(bool value) { - - _impl_.is_program_ = value; +inline ::pg_query::Node* RangeTableSample::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.relation) + return _msg; } -inline void CopyStmt::set_is_program(bool value) { - _internal_set_is_program(value); - // @@protoc_insertion_point(field_set:pg_query.CopyStmt.is_program) +inline void RangeTableSample::set_allocated_relation(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.relation_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.relation_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.relation) } -// string filename = 6 [json_name = "filename"]; -inline void CopyStmt::clear_filename() { - _impl_.filename_.ClearToEmpty(); +// repeated .pg_query.Node method = 2 [json_name = "method"]; +inline int RangeTableSample::_internal_method_size() const { + return _internal_method().size(); } -inline const std::string& CopyStmt::filename() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.filename) - return _internal_filename(); +inline int RangeTableSample::method_size() const { + return _internal_method_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CopyStmt::set_filename(ArgT0&& arg0, ArgT... args) { - - _impl_.filename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CopyStmt.filename) +inline void RangeTableSample::clear_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.method_.Clear(); } -inline std::string* CopyStmt::mutable_filename() { - std::string* _s = _internal_mutable_filename(); - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.filename) - return _s; +inline ::pg_query::Node* RangeTableSample::mutable_method(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.method) + return _internal_mutable_method()->Mutable(index); } -inline const std::string& CopyStmt::_internal_filename() const { - return _impl_.filename_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_method() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.method) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_method(); } -inline void CopyStmt::_internal_set_filename(const std::string& value) { - - _impl_.filename_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& RangeTableSample::method(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.method) + return _internal_method().Get(index); } -inline std::string* CopyStmt::_internal_mutable_filename() { - - return _impl_.filename_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* RangeTableSample::add_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_method()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.method) + return _add; } -inline std::string* CopyStmt::release_filename() { - // @@protoc_insertion_point(field_release:pg_query.CopyStmt.filename) - return _impl_.filename_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.method) + return _internal_method(); } -inline void CopyStmt::set_allocated_filename(std::string* filename) { - if (filename != nullptr) { - - } else { - - } - _impl_.filename_.SetAllocated(filename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.filename_.IsDefault()) { - _impl_.filename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.filename) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTableSample::_internal_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.method_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTableSample::_internal_mutable_method() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.method_; } -// repeated .pg_query.Node options = 7 [json_name = "options"]; -inline int CopyStmt::_internal_options_size() const { - return _impl_.options_.size(); +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int RangeTableSample::_internal_args_size() const { + return _internal_args().size(); } -inline int CopyStmt::options_size() const { - return _internal_options_size(); +inline int RangeTableSample::args_size() const { + return _internal_args_size(); } -inline void CopyStmt::clear_options() { - _impl_.options_.Clear(); +inline void RangeTableSample::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline ::pg_query::Node* CopyStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* RangeTableSample::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.args) + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CopyStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CopyStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTableSample::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& CopyStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const ::pg_query::Node& RangeTableSample::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.args) + return _internal_args().Get(index); } -inline const ::pg_query::Node& CopyStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.options) - return _internal_options(index); +inline ::pg_query::Node* RangeTableSample::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.args) + return _add; } -inline ::pg_query::Node* CopyStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTableSample::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.args) + return _internal_args(); } -inline ::pg_query::Node* CopyStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CopyStmt.options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTableSample::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CopyStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CopyStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTableSample::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// .pg_query.Node where_clause = 8 [json_name = "whereClause"]; -inline bool CopyStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; -} -inline bool CopyStmt::has_where_clause() const { - return _internal_has_where_clause(); +// .pg_query.Node repeatable = 4 [json_name = "repeatable"]; +inline bool RangeTableSample::has_repeatable() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); + return value; } -inline void CopyStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void RangeTableSample::clear_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CopyStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& RangeTableSample::_internal_repeatable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.repeatable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CopyStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.CopyStmt.where_clause) - return _internal_where_clause(); +inline const ::pg_query::Node& RangeTableSample::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.repeatable) + return _internal_repeatable(); } -inline void CopyStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void RangeTableSample::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.repeatable) } -inline ::pg_query::Node* CopyStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* RangeTableSample::release_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CopyStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.CopyStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.repeatable) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; return temp; } -inline ::pg_query::Node* CopyStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::Node* RangeTableSample::_internal_mutable_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.repeatable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.where_clause_; + return _impl_.repeatable_; } -inline ::pg_query::Node* CopyStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.where_clause) +inline ::pg_query::Node* RangeTableSample::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_repeatable(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.repeatable) return _msg; } -inline void CopyStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTableSample::set_allocated_repeatable(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.where_clause) + + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.repeatable) +} + +// int32 location = 5 [json_name = "location"]; +inline void RangeTableSample::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t RangeTableSample::location() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.location) + return _internal_location(); +} +inline void RangeTableSample::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTableSample.location) +} +inline ::int32_t RangeTableSample::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void RangeTableSample::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// CreateStmt +// ColumnDef -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool CreateStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// string colname = 1 [json_name = "colname"]; +inline void ColumnDef::clear_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colname_.ClearToEmpty(); } -inline bool CreateStmt::has_relation() const { - return _internal_has_relation(); +inline const std::string& ColumnDef::colname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.colname) + return _internal_colname(); } -inline void CreateStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_colname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.colname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.colname) } -inline const ::pg_query::RangeVar& CreateStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline std::string* ColumnDef::mutable_colname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_colname(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.colname) + return _s; } -inline const ::pg_query::RangeVar& CreateStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.relation) - return _internal_relation(); +inline const std::string& ColumnDef::_internal_colname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colname_.Get(); +} +inline void ColumnDef::_internal_set_colname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.colname_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.colname_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_colname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.colname) + return _impl_.colname_.Release(); +} +inline void ColumnDef::set_allocated_colname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.colname_.IsDefault()) { + _impl_.colname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.colname) +} + +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool ColumnDef::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline void CreateStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void ColumnDef::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::TypeName& ColumnDef::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); +} +inline const ::pg_query::TypeName& ColumnDef::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.type_name) + return _internal_type_name(); +} +inline void ColumnDef::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.type_name) } -inline ::pg_query::RangeVar* CreateStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* ColumnDef::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CreateStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* ColumnDef::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CreateStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::TypeName* ColumnDef::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.relation_; + return _impl_.type_name_; } -inline ::pg_query::RangeVar* CreateStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.relation) +inline ::pg_query::TypeName* ColumnDef::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.type_name) return _msg; } -inline void CreateStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ColumnDef::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.relation) + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.type_name) } -// repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"]; -inline int CreateStmt::_internal_table_elts_size() const { - return _impl_.table_elts_.size(); +// string compression = 3 [json_name = "compression"]; +inline void ColumnDef::clear_compression() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.compression_.ClearToEmpty(); } -inline int CreateStmt::table_elts_size() const { - return _internal_table_elts_size(); +inline const std::string& ColumnDef::compression() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.compression) + return _internal_compression(); } -inline void CreateStmt::clear_table_elts() { - _impl_.table_elts_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_compression(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.compression_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.compression) } -inline ::pg_query::Node* CreateStmt::mutable_table_elts(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.table_elts) - return _impl_.table_elts_.Mutable(index); +inline std::string* ColumnDef::mutable_compression() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_compression(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.compression) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStmt::mutable_table_elts() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.table_elts) - return &_impl_.table_elts_; +inline const std::string& ColumnDef::_internal_compression() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.compression_.Get(); } -inline const ::pg_query::Node& CreateStmt::_internal_table_elts(int index) const { - return _impl_.table_elts_.Get(index); +inline void ColumnDef::_internal_set_compression(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.compression_.Set(value, GetArena()); } -inline const ::pg_query::Node& CreateStmt::table_elts(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.table_elts) - return _internal_table_elts(index); +inline std::string* ColumnDef::_internal_mutable_compression() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.compression_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateStmt::_internal_add_table_elts() { - return _impl_.table_elts_.Add(); +inline std::string* ColumnDef::release_compression() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.compression) + return _impl_.compression_.Release(); } -inline ::pg_query::Node* CreateStmt::add_table_elts() { - ::pg_query::Node* _add = _internal_add_table_elts(); - // @@protoc_insertion_point(field_add:pg_query.CreateStmt.table_elts) - return _add; +inline void ColumnDef::set_allocated_compression(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.compression_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.compression_.IsDefault()) { + _impl_.compression_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.compression) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStmt::table_elts() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStmt.table_elts) - return _impl_.table_elts_; + +// int32 inhcount = 4 [json_name = "inhcount"]; +inline void ColumnDef::clear_inhcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inhcount_ = 0; +} +inline ::int32_t ColumnDef::inhcount() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.inhcount) + return _internal_inhcount(); +} +inline void ColumnDef::set_inhcount(::int32_t value) { + _internal_set_inhcount(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.inhcount) +} +inline ::int32_t ColumnDef::_internal_inhcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inhcount_; +} +inline void ColumnDef::_internal_set_inhcount(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inhcount_ = value; } -// repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"]; -inline int CreateStmt::_internal_inh_relations_size() const { - return _impl_.inh_relations_.size(); +// bool is_local = 5 [json_name = "is_local"]; +inline void ColumnDef::clear_is_local() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_local_ = false; } -inline int CreateStmt::inh_relations_size() const { - return _internal_inh_relations_size(); +inline bool ColumnDef::is_local() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_local) + return _internal_is_local(); } -inline void CreateStmt::clear_inh_relations() { - _impl_.inh_relations_.Clear(); +inline void ColumnDef::set_is_local(bool value) { + _internal_set_is_local(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_local) } -inline ::pg_query::Node* CreateStmt::mutable_inh_relations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.inh_relations) - return _impl_.inh_relations_.Mutable(index); +inline bool ColumnDef::_internal_is_local() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_local_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStmt::mutable_inh_relations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.inh_relations) - return &_impl_.inh_relations_; +inline void ColumnDef::_internal_set_is_local(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_local_ = value; +} + +// bool is_not_null = 6 [json_name = "is_not_null"]; +inline void ColumnDef::clear_is_not_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_not_null_ = false; } -inline const ::pg_query::Node& CreateStmt::_internal_inh_relations(int index) const { - return _impl_.inh_relations_.Get(index); +inline bool ColumnDef::is_not_null() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_not_null) + return _internal_is_not_null(); } -inline const ::pg_query::Node& CreateStmt::inh_relations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.inh_relations) - return _internal_inh_relations(index); +inline void ColumnDef::set_is_not_null(bool value) { + _internal_set_is_not_null(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_not_null) } -inline ::pg_query::Node* CreateStmt::_internal_add_inh_relations() { - return _impl_.inh_relations_.Add(); +inline bool ColumnDef::_internal_is_not_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_not_null_; } -inline ::pg_query::Node* CreateStmt::add_inh_relations() { - ::pg_query::Node* _add = _internal_add_inh_relations(); - // @@protoc_insertion_point(field_add:pg_query.CreateStmt.inh_relations) - return _add; +inline void ColumnDef::_internal_set_is_not_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_not_null_ = value; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStmt::inh_relations() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStmt.inh_relations) - return _impl_.inh_relations_; + +// bool is_from_type = 7 [json_name = "is_from_type"]; +inline void ColumnDef::clear_is_from_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_from_type_ = false; +} +inline bool ColumnDef::is_from_type() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_from_type) + return _internal_is_from_type(); +} +inline void ColumnDef::set_is_from_type(bool value) { + _internal_set_is_from_type(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_from_type) +} +inline bool ColumnDef::_internal_is_from_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_from_type_; +} +inline void ColumnDef::_internal_set_is_from_type(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_from_type_ = value; +} + +// string storage = 8 [json_name = "storage"]; +inline void ColumnDef::clear_storage() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_.ClearToEmpty(); +} +inline const std::string& ColumnDef::storage() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage) + return _internal_storage(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage) +} +inline std::string* ColumnDef::mutable_storage() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage) + return _s; +} +inline const std::string& ColumnDef::_internal_storage() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.storage_.Get(); +} +inline void ColumnDef::_internal_set_storage(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_storage() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.storage_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_storage() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage) + return _impl_.storage_.Release(); +} +inline void ColumnDef::set_allocated_storage(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.storage_.IsDefault()) { + _impl_.storage_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage) +} + +// string storage_name = 9 [json_name = "storage_name"]; +inline void ColumnDef::clear_storage_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_name_.ClearToEmpty(); +} +inline const std::string& ColumnDef::storage_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage_name) + return _internal_storage_name(); } - -// .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"]; -inline bool CreateStmt::_internal_has_partbound() const { - return this != internal_default_instance() && _impl_.partbound_ != nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_storage_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage_name) } -inline bool CreateStmt::has_partbound() const { - return _internal_has_partbound(); +inline std::string* ColumnDef::mutable_storage_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage_name) + return _s; } -inline void CreateStmt::clear_partbound() { - if (GetArenaForAllocation() == nullptr && _impl_.partbound_ != nullptr) { - delete _impl_.partbound_; - } - _impl_.partbound_ = nullptr; +inline const std::string& ColumnDef::_internal_storage_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.storage_name_.Get(); +} +inline void ColumnDef::_internal_set_storage_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.storage_name_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_storage_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.storage_name_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_storage_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage_name) + return _impl_.storage_name_.Release(); +} +inline void ColumnDef::set_allocated_storage_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.storage_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.storage_name_.IsDefault()) { + _impl_.storage_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage_name) +} + +// .pg_query.Node raw_default = 10 [json_name = "raw_default"]; +inline bool ColumnDef::has_raw_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.raw_default_ != nullptr); + return value; } -inline const ::pg_query::PartitionBoundSpec& CreateStmt::_internal_partbound() const { - const ::pg_query::PartitionBoundSpec* p = _impl_.partbound_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_PartitionBoundSpec_default_instance_); +inline void ColumnDef::clear_raw_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.raw_default_ != nullptr) _impl_.raw_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::PartitionBoundSpec& CreateStmt::partbound() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.partbound) - return _internal_partbound(); +inline const ::pg_query::Node& ColumnDef::_internal_raw_default() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.raw_default_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& ColumnDef::raw_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.raw_default) + return _internal_raw_default(); } -inline void CreateStmt::unsafe_arena_set_allocated_partbound( - ::pg_query::PartitionBoundSpec* partbound) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.partbound_); +inline void ColumnDef::unsafe_arena_set_allocated_raw_default(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_default_); } - _impl_.partbound_ = partbound; - if (partbound) { - + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.partbound) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.raw_default) } -inline ::pg_query::PartitionBoundSpec* CreateStmt::release_partbound() { - - ::pg_query::PartitionBoundSpec* temp = _impl_.partbound_; - _impl_.partbound_ = nullptr; +inline ::pg_query::Node* ColumnDef::release_raw_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.raw_default_; + _impl_.raw_default_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::PartitionBoundSpec* CreateStmt::unsafe_arena_release_partbound() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.partbound) - - ::pg_query::PartitionBoundSpec* temp = _impl_.partbound_; - _impl_.partbound_ = nullptr; +inline ::pg_query::Node* ColumnDef::unsafe_arena_release_raw_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.raw_default) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.raw_default_; + _impl_.raw_default_ = nullptr; return temp; } -inline ::pg_query::PartitionBoundSpec* CreateStmt::_internal_mutable_partbound() { - - if (_impl_.partbound_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArenaForAllocation()); - _impl_.partbound_ = p; +inline ::pg_query::Node* ColumnDef::_internal_mutable_raw_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.raw_default_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.partbound_; + return _impl_.raw_default_; } -inline ::pg_query::PartitionBoundSpec* CreateStmt::mutable_partbound() { - ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partbound(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.partbound) +inline ::pg_query::Node* ColumnDef::mutable_raw_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_raw_default(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.raw_default) return _msg; } -inline void CreateStmt::set_allocated_partbound(::pg_query::PartitionBoundSpec* partbound) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ColumnDef::set_allocated_raw_default(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.partbound_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_default_); } - if (partbound) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(partbound); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - partbound = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, partbound, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.partbound_ = partbound; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.partbound) -} -// .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"]; -inline bool CreateStmt::_internal_has_partspec() const { - return this != internal_default_instance() && _impl_.partspec_ != nullptr; + _impl_.raw_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.raw_default) } -inline bool CreateStmt::has_partspec() const { - return _internal_has_partspec(); + +// .pg_query.Node cooked_default = 11 [json_name = "cooked_default"]; +inline bool ColumnDef::has_cooked_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cooked_default_ != nullptr); + return value; } -inline void CreateStmt::clear_partspec() { - if (GetArenaForAllocation() == nullptr && _impl_.partspec_ != nullptr) { - delete _impl_.partspec_; - } - _impl_.partspec_ = nullptr; +inline void ColumnDef::clear_cooked_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.cooked_default_ != nullptr) _impl_.cooked_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::PartitionSpec& CreateStmt::_internal_partspec() const { - const ::pg_query::PartitionSpec* p = _impl_.partspec_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_PartitionSpec_default_instance_); +inline const ::pg_query::Node& ColumnDef::_internal_cooked_default() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.cooked_default_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::PartitionSpec& CreateStmt::partspec() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.partspec) - return _internal_partspec(); +inline const ::pg_query::Node& ColumnDef::cooked_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.cooked_default) + return _internal_cooked_default(); } -inline void CreateStmt::unsafe_arena_set_allocated_partspec( - ::pg_query::PartitionSpec* partspec) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.partspec_); +inline void ColumnDef::unsafe_arena_set_allocated_cooked_default(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cooked_default_); } - _impl_.partspec_ = partspec; - if (partspec) { - + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.partspec) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.cooked_default) } -inline ::pg_query::PartitionSpec* CreateStmt::release_partspec() { - - ::pg_query::PartitionSpec* temp = _impl_.partspec_; - _impl_.partspec_ = nullptr; +inline ::pg_query::Node* ColumnDef::release_cooked_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.cooked_default_; + _impl_.cooked_default_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::PartitionSpec* CreateStmt::unsafe_arena_release_partspec() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.partspec) - - ::pg_query::PartitionSpec* temp = _impl_.partspec_; - _impl_.partspec_ = nullptr; +inline ::pg_query::Node* ColumnDef::unsafe_arena_release_cooked_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.cooked_default) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.cooked_default_; + _impl_.cooked_default_ = nullptr; return temp; } -inline ::pg_query::PartitionSpec* CreateStmt::_internal_mutable_partspec() { - - if (_impl_.partspec_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::PartitionSpec>(GetArenaForAllocation()); - _impl_.partspec_ = p; +inline ::pg_query::Node* ColumnDef::_internal_mutable_cooked_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.cooked_default_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.partspec_; + return _impl_.cooked_default_; } -inline ::pg_query::PartitionSpec* CreateStmt::mutable_partspec() { - ::pg_query::PartitionSpec* _msg = _internal_mutable_partspec(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.partspec) +inline ::pg_query::Node* ColumnDef::mutable_cooked_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cooked_default(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.cooked_default) return _msg; } -inline void CreateStmt::set_allocated_partspec(::pg_query::PartitionSpec* partspec) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ColumnDef::set_allocated_cooked_default(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.partspec_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.cooked_default_); } - if (partspec) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(partspec); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - partspec = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, partspec, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.partspec_ = partspec; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.partspec) + + _impl_.cooked_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.cooked_default) } -// .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"]; -inline bool CreateStmt::_internal_has_of_typename() const { - return this != internal_default_instance() && _impl_.of_typename_ != nullptr; +// string identity = 12 [json_name = "identity"]; +inline void ColumnDef::clear_identity() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.identity_.ClearToEmpty(); } -inline bool CreateStmt::has_of_typename() const { - return _internal_has_of_typename(); +inline const std::string& ColumnDef::identity() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity) + return _internal_identity(); } -inline void CreateStmt::clear_of_typename() { - if (GetArenaForAllocation() == nullptr && _impl_.of_typename_ != nullptr) { - delete _impl_.of_typename_; - } - _impl_.of_typename_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_identity(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.identity_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.identity) } -inline const ::pg_query::TypeName& CreateStmt::_internal_of_typename() const { - const ::pg_query::TypeName* p = _impl_.of_typename_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline std::string* ColumnDef::mutable_identity() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_identity(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity) + return _s; } -inline const ::pg_query::TypeName& CreateStmt::of_typename() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.of_typename) - return _internal_of_typename(); +inline const std::string& ColumnDef::_internal_identity() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.identity_.Get(); +} +inline void ColumnDef::_internal_set_identity(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.identity_.Set(value, GetArena()); +} +inline std::string* ColumnDef::_internal_mutable_identity() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.identity_.Mutable( GetArena()); +} +inline std::string* ColumnDef::release_identity() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity) + return _impl_.identity_.Release(); +} +inline void ColumnDef::set_allocated_identity(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.identity_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.identity_.IsDefault()) { + _impl_.identity_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity) +} + +// .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"]; +inline bool ColumnDef::has_identity_sequence() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.identity_sequence_ != nullptr); + return value; +} +inline void ColumnDef::clear_identity_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.identity_sequence_ != nullptr) _impl_.identity_sequence_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::RangeVar& ColumnDef::_internal_identity_sequence() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.identity_sequence_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& ColumnDef::identity_sequence() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity_sequence) + return _internal_identity_sequence(); } -inline void CreateStmt::unsafe_arena_set_allocated_of_typename( - ::pg_query::TypeName* of_typename) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.of_typename_); +inline void ColumnDef::unsafe_arena_set_allocated_identity_sequence(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.identity_sequence_); } - _impl_.of_typename_ = of_typename; - if (of_typename) { - + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.of_typename) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.identity_sequence) } -inline ::pg_query::TypeName* CreateStmt::release_of_typename() { - - ::pg_query::TypeName* temp = _impl_.of_typename_; - _impl_.of_typename_ = nullptr; +inline ::pg_query::RangeVar* ColumnDef::release_identity_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::RangeVar* released = _impl_.identity_sequence_; + _impl_.identity_sequence_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateStmt::unsafe_arena_release_of_typename() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.of_typename) - - ::pg_query::TypeName* temp = _impl_.of_typename_; - _impl_.of_typename_ = nullptr; +inline ::pg_query::RangeVar* ColumnDef::unsafe_arena_release_identity_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity_sequence) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::RangeVar* temp = _impl_.identity_sequence_; + _impl_.identity_sequence_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateStmt::_internal_mutable_of_typename() { - - if (_impl_.of_typename_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.of_typename_ = p; +inline ::pg_query::RangeVar* ColumnDef::_internal_mutable_identity_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.identity_sequence_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.of_typename_; + return _impl_.identity_sequence_; } -inline ::pg_query::TypeName* CreateStmt::mutable_of_typename() { - ::pg_query::TypeName* _msg = _internal_mutable_of_typename(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.of_typename) +inline ::pg_query::RangeVar* ColumnDef::mutable_identity_sequence() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_identity_sequence(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity_sequence) return _msg; } -inline void CreateStmt::set_allocated_of_typename(::pg_query::TypeName* of_typename) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ColumnDef::set_allocated_identity_sequence(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.of_typename_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.identity_sequence_); } - if (of_typename) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(of_typename); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - of_typename = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, of_typename, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.of_typename_ = of_typename; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.of_typename) -} -// repeated .pg_query.Node constraints = 7 [json_name = "constraints"]; -inline int CreateStmt::_internal_constraints_size() const { - return _impl_.constraints_.size(); + _impl_.identity_sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity_sequence) } -inline int CreateStmt::constraints_size() const { - return _internal_constraints_size(); + +// string generated = 14 [json_name = "generated"]; +inline void ColumnDef::clear_generated() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.generated_.ClearToEmpty(); } -inline void CreateStmt::clear_constraints() { - _impl_.constraints_.Clear(); +inline const std::string& ColumnDef::generated() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.generated) + return _internal_generated(); } -inline ::pg_query::Node* CreateStmt::mutable_constraints(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.constraints) - return _impl_.constraints_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void ColumnDef::set_generated(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.generated_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.generated) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStmt::mutable_constraints() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.constraints) - return &_impl_.constraints_; +inline std::string* ColumnDef::mutable_generated() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_generated(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.generated) + return _s; } -inline const ::pg_query::Node& CreateStmt::_internal_constraints(int index) const { - return _impl_.constraints_.Get(index); +inline const std::string& ColumnDef::_internal_generated() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.generated_.Get(); } -inline const ::pg_query::Node& CreateStmt::constraints(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.constraints) - return _internal_constraints(index); +inline void ColumnDef::_internal_set_generated(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.generated_.Set(value, GetArena()); } -inline ::pg_query::Node* CreateStmt::_internal_add_constraints() { - return _impl_.constraints_.Add(); +inline std::string* ColumnDef::_internal_mutable_generated() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.generated_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateStmt::add_constraints() { - ::pg_query::Node* _add = _internal_add_constraints(); - // @@protoc_insertion_point(field_add:pg_query.CreateStmt.constraints) - return _add; +inline std::string* ColumnDef::release_generated() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.generated) + return _impl_.generated_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStmt::constraints() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStmt.constraints) - return _impl_.constraints_; +inline void ColumnDef::set_allocated_generated(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.generated_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.generated_.IsDefault()) { + _impl_.generated_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.generated) } -// repeated .pg_query.Node options = 8 [json_name = "options"]; -inline int CreateStmt::_internal_options_size() const { - return _impl_.options_.size(); +// .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"]; +inline bool ColumnDef::has_coll_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coll_clause_ != nullptr); + return value; } -inline int CreateStmt::options_size() const { - return _internal_options_size(); +inline void ColumnDef::clear_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.coll_clause_ != nullptr) _impl_.coll_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline void CreateStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::pg_query::CollateClause& ColumnDef::_internal_coll_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::CollateClause* p = _impl_.coll_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CollateClause_default_instance_); } -inline ::pg_query::Node* CreateStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.options) - return _impl_.options_.Mutable(index); +inline const ::pg_query::CollateClause& ColumnDef::coll_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_clause) + return _internal_coll_clause(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.options) - return &_impl_.options_; +inline void ColumnDef::unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coll_clause_); + } + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.coll_clause) } -inline const ::pg_query::Node& CreateStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline ::pg_query::CollateClause* ColumnDef::release_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::CollateClause* released = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& CreateStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.options) - return _internal_options(index); +inline ::pg_query::CollateClause* ColumnDef::unsafe_arena_release_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ColumnDef.coll_clause) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::CollateClause* temp = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; + return temp; } -inline ::pg_query::Node* CreateStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline ::pg_query::CollateClause* ColumnDef::_internal_mutable_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.coll_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(p); + } + return _impl_.coll_clause_; } -inline ::pg_query::Node* CreateStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateStmt.options) - return _add; +inline ::pg_query::CollateClause* ColumnDef::mutable_coll_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.coll_clause) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStmt.options) - return _impl_.options_; +inline void ColumnDef::set_allocated_coll_clause(::pg_query::CollateClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::CollateClause*>(_impl_.coll_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CollateClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.coll_clause) } -// .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"]; -inline void CreateStmt::clear_oncommit() { - _impl_.oncommit_ = 0; +// uint32 coll_oid = 16 [json_name = "collOid"]; +inline void ColumnDef::clear_coll_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coll_oid_ = 0u; } -inline ::pg_query::OnCommitAction CreateStmt::_internal_oncommit() const { - return static_cast< ::pg_query::OnCommitAction >(_impl_.oncommit_); +inline ::uint32_t ColumnDef::coll_oid() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_oid) + return _internal_coll_oid(); } -inline ::pg_query::OnCommitAction CreateStmt::oncommit() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.oncommit) - return _internal_oncommit(); +inline void ColumnDef::set_coll_oid(::uint32_t value) { + _internal_set_coll_oid(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.coll_oid) } -inline void CreateStmt::_internal_set_oncommit(::pg_query::OnCommitAction value) { - - _impl_.oncommit_ = value; +inline ::uint32_t ColumnDef::_internal_coll_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coll_oid_; } -inline void CreateStmt::set_oncommit(::pg_query::OnCommitAction value) { - _internal_set_oncommit(value); - // @@protoc_insertion_point(field_set:pg_query.CreateStmt.oncommit) +inline void ColumnDef::_internal_set_coll_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coll_oid_ = value; } -// string tablespacename = 10 [json_name = "tablespacename"]; -inline void CreateStmt::clear_tablespacename() { - _impl_.tablespacename_.ClearToEmpty(); +// repeated .pg_query.Node constraints = 17 [json_name = "constraints"]; +inline int ColumnDef::_internal_constraints_size() const { + return _internal_constraints().size(); } -inline const std::string& CreateStmt::tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.tablespacename) - return _internal_tablespacename(); +inline int ColumnDef::constraints_size() const { + return _internal_constraints_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateStmt::set_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateStmt.tablespacename) +inline void ColumnDef::clear_constraints() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraints_.Clear(); } -inline std::string* CreateStmt::mutable_tablespacename() { - std::string* _s = _internal_mutable_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.tablespacename) - return _s; +inline ::pg_query::Node* ColumnDef::mutable_constraints(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.constraints) + return _internal_mutable_constraints()->Mutable(index); } -inline const std::string& CreateStmt::_internal_tablespacename() const { - return _impl_.tablespacename_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_constraints() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.constraints) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraints(); } -inline void CreateStmt::_internal_set_tablespacename(const std::string& value) { - - _impl_.tablespacename_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& ColumnDef::constraints(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.constraints) + return _internal_constraints().Get(index); } -inline std::string* CreateStmt::_internal_mutable_tablespacename() { - - return _impl_.tablespacename_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* ColumnDef::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnDef.constraints) + return _add; } -inline std::string* CreateStmt::release_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.tablespacename) - return _impl_.tablespacename_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::constraints() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ColumnDef.constraints) + return _internal_constraints(); } -inline void CreateStmt::set_allocated_tablespacename(std::string* tablespacename) { - if (tablespacename != nullptr) { - - } else { - - } - _impl_.tablespacename_.SetAllocated(tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.tablespacename_.IsDefault()) { - _impl_.tablespacename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.tablespacename) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ColumnDef::_internal_constraints() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraints_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ColumnDef::_internal_mutable_constraints() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraints_; } -// string access_method = 11 [json_name = "accessMethod"]; -inline void CreateStmt::clear_access_method() { - _impl_.access_method_.ClearToEmpty(); +// repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"]; +inline int ColumnDef::_internal_fdwoptions_size() const { + return _internal_fdwoptions().size(); } -inline const std::string& CreateStmt::access_method() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.access_method) - return _internal_access_method(); +inline int ColumnDef::fdwoptions_size() const { + return _internal_fdwoptions_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateStmt::set_access_method(ArgT0&& arg0, ArgT... args) { - - _impl_.access_method_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateStmt.access_method) +inline void ColumnDef::clear_fdwoptions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwoptions_.Clear(); } -inline std::string* CreateStmt::mutable_access_method() { - std::string* _s = _internal_mutable_access_method(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.access_method) - return _s; +inline ::pg_query::Node* ColumnDef::mutable_fdwoptions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.fdwoptions) + return _internal_mutable_fdwoptions()->Mutable(index); } -inline const std::string& CreateStmt::_internal_access_method() const { - return _impl_.access_method_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ColumnDef::mutable_fdwoptions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.fdwoptions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fdwoptions(); } -inline void CreateStmt::_internal_set_access_method(const std::string& value) { - - _impl_.access_method_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& ColumnDef::fdwoptions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.fdwoptions) + return _internal_fdwoptions().Get(index); } -inline std::string* CreateStmt::_internal_mutable_access_method() { - - return _impl_.access_method_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* ColumnDef::add_fdwoptions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fdwoptions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ColumnDef.fdwoptions) + return _add; } -inline std::string* CreateStmt::release_access_method() { - // @@protoc_insertion_point(field_release:pg_query.CreateStmt.access_method) - return _impl_.access_method_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ColumnDef::fdwoptions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ColumnDef.fdwoptions) + return _internal_fdwoptions(); } -inline void CreateStmt::set_allocated_access_method(std::string* access_method) { - if (access_method != nullptr) { - - } else { - - } - _impl_.access_method_.SetAllocated(access_method, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.access_method_.IsDefault()) { - _impl_.access_method_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.access_method) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ColumnDef::_internal_fdwoptions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fdwoptions_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ColumnDef::_internal_mutable_fdwoptions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fdwoptions_; } -// bool if_not_exists = 12 [json_name = "if_not_exists"]; -inline void CreateStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// int32 location = 19 [json_name = "location"]; +inline void ColumnDef::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool CreateStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline ::int32_t ColumnDef::location() const { + // @@protoc_insertion_point(field_get:pg_query.ColumnDef.location) + return _internal_location(); } -inline bool CreateStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStmt.if_not_exists) - return _internal_if_not_exists(); +inline void ColumnDef::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.ColumnDef.location) } -inline void CreateStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::int32_t ColumnDef::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void CreateStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateStmt.if_not_exists) +inline void ColumnDef::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// DefineStmt +// TableLikeClause -// .pg_query.ObjectType kind = 1 [json_name = "kind"]; -inline void DefineStmt::clear_kind() { - _impl_.kind_ = 0; +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool TableLikeClause::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline ::pg_query::ObjectType DefineStmt::_internal_kind() const { - return static_cast< ::pg_query::ObjectType >(_impl_.kind_); +inline void TableLikeClause::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::ObjectType DefineStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.kind) - return _internal_kind(); +inline const ::pg_query::RangeVar& TableLikeClause::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline void DefineStmt::_internal_set_kind(::pg_query::ObjectType value) { - - _impl_.kind_ = value; +inline const ::pg_query::RangeVar& TableLikeClause::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation) + return _internal_relation(); } -inline void DefineStmt::set_kind(::pg_query::ObjectType value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.DefineStmt.kind) +inline void TableLikeClause::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableLikeClause.relation) } +inline ::pg_query::RangeVar* TableLikeClause::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool oldstyle = 2 [json_name = "oldstyle"]; -inline void DefineStmt::clear_oldstyle() { - _impl_.oldstyle_ = false; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool DefineStmt::_internal_oldstyle() const { - return _impl_.oldstyle_; +inline ::pg_query::RangeVar* TableLikeClause::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableLikeClause.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline bool DefineStmt::oldstyle() const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.oldstyle) - return _internal_oldstyle(); +inline ::pg_query::RangeVar* TableLikeClause::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void DefineStmt::_internal_set_oldstyle(bool value) { - - _impl_.oldstyle_ = value; +inline ::pg_query::RangeVar* TableLikeClause::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.TableLikeClause.relation) + return _msg; } -inline void DefineStmt::set_oldstyle(bool value) { - _internal_set_oldstyle(value); - // @@protoc_insertion_point(field_set:pg_query.DefineStmt.oldstyle) +inline void TableLikeClause::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableLikeClause.relation) } -// repeated .pg_query.Node defnames = 3 [json_name = "defnames"]; -inline int DefineStmt::_internal_defnames_size() const { - return _impl_.defnames_.size(); +// uint32 options = 2 [json_name = "options"]; +inline void TableLikeClause::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_ = 0u; } -inline int DefineStmt::defnames_size() const { - return _internal_defnames_size(); +inline ::uint32_t TableLikeClause::options() const { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.options) + return _internal_options(); } -inline void DefineStmt::clear_defnames() { - _impl_.defnames_.Clear(); +inline void TableLikeClause::set_options(::uint32_t value) { + _internal_set_options(value); + // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.options) } -inline ::pg_query::Node* DefineStmt::mutable_defnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.defnames) - return _impl_.defnames_.Mutable(index); +inline ::uint32_t TableLikeClause::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DefineStmt::mutable_defnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.defnames) - return &_impl_.defnames_; +inline void TableLikeClause::_internal_set_options(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.options_ = value; } -inline const ::pg_query::Node& DefineStmt::_internal_defnames(int index) const { - return _impl_.defnames_.Get(index); + +// uint32 relation_oid = 3 [json_name = "relationOid"]; +inline void TableLikeClause::clear_relation_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relation_oid_ = 0u; } -inline const ::pg_query::Node& DefineStmt::defnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.defnames) - return _internal_defnames(index); +inline ::uint32_t TableLikeClause::relation_oid() const { + // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation_oid) + return _internal_relation_oid(); } -inline ::pg_query::Node* DefineStmt::_internal_add_defnames() { - return _impl_.defnames_.Add(); +inline void TableLikeClause::set_relation_oid(::uint32_t value) { + _internal_set_relation_oid(value); + // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.relation_oid) } -inline ::pg_query::Node* DefineStmt::add_defnames() { - ::pg_query::Node* _add = _internal_add_defnames(); - // @@protoc_insertion_point(field_add:pg_query.DefineStmt.defnames) - return _add; +inline ::uint32_t TableLikeClause::_internal_relation_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relation_oid_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DefineStmt::defnames() const { - // @@protoc_insertion_point(field_list:pg_query.DefineStmt.defnames) - return _impl_.defnames_; +inline void TableLikeClause::_internal_set_relation_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relation_oid_ = value; } -// repeated .pg_query.Node args = 4 [json_name = "args"]; -inline int DefineStmt::_internal_args_size() const { - return _impl_.args_.size(); +// ------------------------------------------------------------------- + +// IndexElem + +// string name = 1 [json_name = "name"]; +inline void IndexElem::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline int DefineStmt::args_size() const { - return _internal_args_size(); +inline const std::string& IndexElem::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.name) + return _internal_name(); } -inline void DefineStmt::clear_args() { - _impl_.args_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.name) } -inline ::pg_query::Node* DefineStmt::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.args) - return _impl_.args_.Mutable(index); +inline std::string* IndexElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.name) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DefineStmt::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.args) - return &_impl_.args_; +inline const std::string& IndexElem::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void IndexElem::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* IndexElem::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* IndexElem::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexElem.name) + return _impl_.name_.Release(); +} +inline void IndexElem::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.name) +} + +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool IndexElem::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; +} +inline void IndexElem::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& IndexElem::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& DefineStmt::_internal_args(int index) const { - return _impl_.args_.Get(index); +inline const ::pg_query::Node& IndexElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.expr) + return _internal_expr(); +} +inline void IndexElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexElem.expr) } -inline const ::pg_query::Node& DefineStmt::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.args) - return _internal_args(index); +inline ::pg_query::Node* IndexElem::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* DefineStmt::_internal_add_args() { - return _impl_.args_.Add(); +inline ::pg_query::Node* IndexElem::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexElem.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline ::pg_query::Node* DefineStmt::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.DefineStmt.args) - return _add; +inline ::pg_query::Node* IndexElem::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.expr_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DefineStmt::args() const { - // @@protoc_insertion_point(field_list:pg_query.DefineStmt.args) - return _impl_.args_; +inline ::pg_query::Node* IndexElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.expr) + return _msg; } +inline void IndexElem::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + } -// repeated .pg_query.Node definition = 5 [json_name = "definition"]; -inline int DefineStmt::_internal_definition_size() const { - return _impl_.definition_.size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.expr) } -inline int DefineStmt::definition_size() const { - return _internal_definition_size(); + +// string indexcolname = 3 [json_name = "indexcolname"]; +inline void IndexElem::clear_indexcolname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexcolname_.ClearToEmpty(); } -inline void DefineStmt::clear_definition() { - _impl_.definition_.Clear(); +inline const std::string& IndexElem::indexcolname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.indexcolname) + return _internal_indexcolname(); } -inline ::pg_query::Node* DefineStmt::mutable_definition(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.definition) - return _impl_.definition_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void IndexElem::set_indexcolname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexcolname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.indexcolname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DefineStmt::mutable_definition() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.definition) - return &_impl_.definition_; +inline std::string* IndexElem::mutable_indexcolname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_indexcolname(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.indexcolname) + return _s; } -inline const ::pg_query::Node& DefineStmt::_internal_definition(int index) const { - return _impl_.definition_.Get(index); +inline const std::string& IndexElem::_internal_indexcolname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indexcolname_.Get(); } -inline const ::pg_query::Node& DefineStmt::definition(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.definition) - return _internal_definition(index); +inline void IndexElem::_internal_set_indexcolname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexcolname_.Set(value, GetArena()); } -inline ::pg_query::Node* DefineStmt::_internal_add_definition() { - return _impl_.definition_.Add(); +inline std::string* IndexElem::_internal_mutable_indexcolname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.indexcolname_.Mutable( GetArena()); } -inline ::pg_query::Node* DefineStmt::add_definition() { - ::pg_query::Node* _add = _internal_add_definition(); - // @@protoc_insertion_point(field_add:pg_query.DefineStmt.definition) - return _add; +inline std::string* IndexElem::release_indexcolname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexElem.indexcolname) + return _impl_.indexcolname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DefineStmt::definition() const { - // @@protoc_insertion_point(field_list:pg_query.DefineStmt.definition) - return _impl_.definition_; +inline void IndexElem::set_allocated_indexcolname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexcolname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.indexcolname_.IsDefault()) { + _impl_.indexcolname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.indexcolname) } -// bool if_not_exists = 6 [json_name = "if_not_exists"]; -inline void DefineStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// repeated .pg_query.Node collation = 4 [json_name = "collation"]; +inline int IndexElem::_internal_collation_size() const { + return _internal_collation().size(); } -inline bool DefineStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline int IndexElem::collation_size() const { + return _internal_collation_size(); } -inline bool DefineStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.if_not_exists) - return _internal_if_not_exists(); +inline void IndexElem::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_.Clear(); } -inline void DefineStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::Node* IndexElem::mutable_collation(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.collation) + return _internal_mutable_collation()->Mutable(index); } -inline void DefineStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.DefineStmt.if_not_exists) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_collation() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.collation) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_collation(); } - -// bool replace = 7 [json_name = "replace"]; -inline void DefineStmt::clear_replace() { - _impl_.replace_ = false; +inline const ::pg_query::Node& IndexElem::collation(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.collation) + return _internal_collation().Get(index); } -inline bool DefineStmt::_internal_replace() const { - return _impl_.replace_; +inline ::pg_query::Node* IndexElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_collation()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.collation) + return _add; } -inline bool DefineStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.DefineStmt.replace) - return _internal_replace(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::collation() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.collation) + return _internal_collation(); } -inline void DefineStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; } -inline void DefineStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.DefineStmt.replace) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_collation() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collation_; } -// ------------------------------------------------------------------- - -// DropStmt - -// repeated .pg_query.Node objects = 1 [json_name = "objects"]; -inline int DropStmt::_internal_objects_size() const { - return _impl_.objects_.size(); +// repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; +inline int IndexElem::_internal_opclass_size() const { + return _internal_opclass().size(); } -inline int DropStmt::objects_size() const { - return _internal_objects_size(); +inline int IndexElem::opclass_size() const { + return _internal_opclass_size(); } -inline void DropStmt::clear_objects() { - _impl_.objects_.Clear(); +inline void IndexElem::clear_opclass() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opclass_.Clear(); } -inline ::pg_query::Node* DropStmt::mutable_objects(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DropStmt.objects) - return _impl_.objects_.Mutable(index); +inline ::pg_query::Node* IndexElem::mutable_opclass(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclass) + return _internal_mutable_opclass()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DropStmt::mutable_objects() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DropStmt.objects) - return &_impl_.objects_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclass() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclass) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opclass(); } -inline const ::pg_query::Node& DropStmt::_internal_objects(int index) const { - return _impl_.objects_.Get(index); +inline const ::pg_query::Node& IndexElem::opclass(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclass) + return _internal_opclass().Get(index); } -inline const ::pg_query::Node& DropStmt::objects(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DropStmt.objects) - return _internal_objects(index); +inline ::pg_query::Node* IndexElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclass) + return _add; } -inline ::pg_query::Node* DropStmt::_internal_add_objects() { - return _impl_.objects_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclass() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclass) + return _internal_opclass(); } -inline ::pg_query::Node* DropStmt::add_objects() { - ::pg_query::Node* _add = _internal_add_objects(); - // @@protoc_insertion_point(field_add:pg_query.DropStmt.objects) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_opclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclass_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DropStmt::objects() const { - // @@protoc_insertion_point(field_list:pg_query.DropStmt.objects) - return _impl_.objects_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_opclass() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclass_; } -// .pg_query.ObjectType remove_type = 2 [json_name = "removeType"]; -inline void DropStmt::clear_remove_type() { - _impl_.remove_type_ = 0; +// repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; +inline int IndexElem::_internal_opclassopts_size() const { + return _internal_opclassopts().size(); } -inline ::pg_query::ObjectType DropStmt::_internal_remove_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.remove_type_); +inline int IndexElem::opclassopts_size() const { + return _internal_opclassopts_size(); } -inline ::pg_query::ObjectType DropStmt::remove_type() const { - // @@protoc_insertion_point(field_get:pg_query.DropStmt.remove_type) - return _internal_remove_type(); +inline void IndexElem::clear_opclassopts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opclassopts_.Clear(); } -inline void DropStmt::_internal_set_remove_type(::pg_query::ObjectType value) { - - _impl_.remove_type_ = value; +inline ::pg_query::Node* IndexElem::mutable_opclassopts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclassopts) + return _internal_mutable_opclassopts()->Mutable(index); } -inline void DropStmt::set_remove_type(::pg_query::ObjectType value) { - _internal_set_remove_type(value); - // @@protoc_insertion_point(field_set:pg_query.DropStmt.remove_type) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexElem::mutable_opclassopts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclassopts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opclassopts(); } - -// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; -inline void DropStmt::clear_behavior() { - _impl_.behavior_ = 0; +inline const ::pg_query::Node& IndexElem::opclassopts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclassopts) + return _internal_opclassopts().Get(index); } -inline ::pg_query::DropBehavior DropStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline ::pg_query::Node* IndexElem::add_opclassopts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opclassopts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclassopts) + return _add; } -inline ::pg_query::DropBehavior DropStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.DropStmt.behavior) - return _internal_behavior(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexElem::opclassopts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclassopts) + return _internal_opclassopts(); } -inline void DropStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexElem::_internal_opclassopts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclassopts_; } -inline void DropStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.DropStmt.behavior) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexElem::_internal_mutable_opclassopts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclassopts_; } -// bool missing_ok = 4 [json_name = "missing_ok"]; -inline void DropStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; +inline void IndexElem::clear_ordering() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ordering_ = 0; } -inline bool DropStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::pg_query::SortByDir IndexElem::ordering() const { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.ordering) + return _internal_ordering(); } -inline bool DropStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropStmt.missing_ok) - return _internal_missing_ok(); +inline void IndexElem::set_ordering(::pg_query::SortByDir value) { + _internal_set_ordering(value); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.ordering) } -inline void DropStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::SortByDir IndexElem::_internal_ordering() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByDir>(_impl_.ordering_); } -inline void DropStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropStmt.missing_ok) +inline void IndexElem::_internal_set_ordering(::pg_query::SortByDir value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ordering_ = value; } -// bool concurrent = 5 [json_name = "concurrent"]; -inline void DropStmt::clear_concurrent() { - _impl_.concurrent_ = false; +// .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; +inline void IndexElem::clear_nulls_ordering() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_ordering_ = 0; } -inline bool DropStmt::_internal_concurrent() const { - return _impl_.concurrent_; +inline ::pg_query::SortByNulls IndexElem::nulls_ordering() const { + // @@protoc_insertion_point(field_get:pg_query.IndexElem.nulls_ordering) + return _internal_nulls_ordering(); } -inline bool DropStmt::concurrent() const { - // @@protoc_insertion_point(field_get:pg_query.DropStmt.concurrent) - return _internal_concurrent(); +inline void IndexElem::set_nulls_ordering(::pg_query::SortByNulls value) { + _internal_set_nulls_ordering(value); + // @@protoc_insertion_point(field_set:pg_query.IndexElem.nulls_ordering) } -inline void DropStmt::_internal_set_concurrent(bool value) { - - _impl_.concurrent_ = value; +inline ::pg_query::SortByNulls IndexElem::_internal_nulls_ordering() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SortByNulls>(_impl_.nulls_ordering_); } -inline void DropStmt::set_concurrent(bool value) { - _internal_set_concurrent(value); - // @@protoc_insertion_point(field_set:pg_query.DropStmt.concurrent) +inline void IndexElem::_internal_set_nulls_ordering(::pg_query::SortByNulls value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulls_ordering_ = value; } // ------------------------------------------------------------------- -// TruncateStmt +// DefElem -// repeated .pg_query.Node relations = 1 [json_name = "relations"]; -inline int TruncateStmt::_internal_relations_size() const { - return _impl_.relations_.size(); -} -inline int TruncateStmt::relations_size() const { - return _internal_relations_size(); -} -inline void TruncateStmt::clear_relations() { - _impl_.relations_.Clear(); -} -inline ::pg_query::Node* TruncateStmt::mutable_relations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TruncateStmt.relations) - return _impl_.relations_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TruncateStmt::mutable_relations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TruncateStmt.relations) - return &_impl_.relations_; -} -inline const ::pg_query::Node& TruncateStmt::_internal_relations(int index) const { - return _impl_.relations_.Get(index); -} -inline const ::pg_query::Node& TruncateStmt::relations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.relations) - return _internal_relations(index); +// string defnamespace = 1 [json_name = "defnamespace"]; +inline void DefElem::clear_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnamespace_.ClearToEmpty(); } -inline ::pg_query::Node* TruncateStmt::_internal_add_relations() { - return _impl_.relations_.Add(); +inline const std::string& DefElem::defnamespace() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defnamespace) + return _internal_defnamespace(); } -inline ::pg_query::Node* TruncateStmt::add_relations() { - ::pg_query::Node* _add = _internal_add_relations(); - // @@protoc_insertion_point(field_add:pg_query.TruncateStmt.relations) - return _add; +template +inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defnamespace(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defnamespace_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defnamespace) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TruncateStmt::relations() const { - // @@protoc_insertion_point(field_list:pg_query.TruncateStmt.relations) - return _impl_.relations_; +inline std::string* DefElem::mutable_defnamespace() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_defnamespace(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defnamespace) + return _s; } - -// bool restart_seqs = 2 [json_name = "restart_seqs"]; -inline void TruncateStmt::clear_restart_seqs() { - _impl_.restart_seqs_ = false; +inline const std::string& DefElem::_internal_defnamespace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defnamespace_.Get(); } -inline bool TruncateStmt::_internal_restart_seqs() const { - return _impl_.restart_seqs_; +inline void DefElem::_internal_set_defnamespace(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defnamespace_.Set(value, GetArena()); } -inline bool TruncateStmt::restart_seqs() const { - // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.restart_seqs) - return _internal_restart_seqs(); +inline std::string* DefElem::_internal_mutable_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.defnamespace_.Mutable( GetArena()); } -inline void TruncateStmt::_internal_set_restart_seqs(bool value) { - - _impl_.restart_seqs_ = value; +inline std::string* DefElem::release_defnamespace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DefElem.defnamespace) + return _impl_.defnamespace_.Release(); } -inline void TruncateStmt::set_restart_seqs(bool value) { - _internal_set_restart_seqs(value); - // @@protoc_insertion_point(field_set:pg_query.TruncateStmt.restart_seqs) +inline void DefElem::set_allocated_defnamespace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnamespace_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.defnamespace_.IsDefault()) { + _impl_.defnamespace_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defnamespace) } -// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; -inline void TruncateStmt::clear_behavior() { - _impl_.behavior_ = 0; -} -inline ::pg_query::DropBehavior TruncateStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +// string defname = 2 [json_name = "defname"]; +inline void DefElem::clear_defname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defname_.ClearToEmpty(); } -inline ::pg_query::DropBehavior TruncateStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.behavior) - return _internal_behavior(); +inline const std::string& DefElem::defname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defname) + return _internal_defname(); } -inline void TruncateStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void DefElem::set_defname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defname) } -inline void TruncateStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.TruncateStmt.behavior) +inline std::string* DefElem::mutable_defname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_defname(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defname) + return _s; } - -// ------------------------------------------------------------------- - -// CommentStmt - -// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; -inline void CommentStmt::clear_objtype() { - _impl_.objtype_ = 0; +inline const std::string& DefElem::_internal_defname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defname_.Get(); } -inline ::pg_query::ObjectType CommentStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); +inline void DefElem::_internal_set_defname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defname_.Set(value, GetArena()); } -inline ::pg_query::ObjectType CommentStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.CommentStmt.objtype) - return _internal_objtype(); +inline std::string* DefElem::_internal_mutable_defname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.defname_.Mutable( GetArena()); } -inline void CommentStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; +inline std::string* DefElem::release_defname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DefElem.defname) + return _impl_.defname_.Release(); } -inline void CommentStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.CommentStmt.objtype) +inline void DefElem::set_allocated_defname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.defname_.IsDefault()) { + _impl_.defname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defname) } -// .pg_query.Node object = 2 [json_name = "object"]; -inline bool CommentStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; -} -inline bool CommentStmt::has_object() const { - return _internal_has_object(); +// .pg_query.Node arg = 3 [json_name = "arg"]; +inline bool DefElem::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void CommentStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void DefElem::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CommentStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& DefElem::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CommentStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.CommentStmt.object) - return _internal_object(); +inline const ::pg_query::Node& DefElem::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefElem.arg) + return _internal_arg(); } -inline void CommentStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void DefElem::unsafe_arena_set_allocated_arg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.object_ = object; - if (object) { - + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommentStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DefElem.arg) } -inline ::pg_query::Node* CommentStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* DefElem::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CommentStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.CommentStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* DefElem::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DefElem.arg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* CommentStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::Node* DefElem::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.object_; + return _impl_.arg_; } -inline ::pg_query::Node* CommentStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.CommentStmt.object) +inline ::pg_query::Node* DefElem::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.DefElem.arg) return _msg; } -inline void CommentStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void DefElem::set_allocated_arg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.arg_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.CommentStmt.object) + + _impl_.arg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.arg) } -// string comment = 3 [json_name = "comment"]; -inline void CommentStmt::clear_comment() { - _impl_.comment_.ClearToEmpty(); +// .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; +inline void DefElem::clear_defaction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defaction_ = 0; } -inline const std::string& CommentStmt::comment() const { - // @@protoc_insertion_point(field_get:pg_query.CommentStmt.comment) - return _internal_comment(); +inline ::pg_query::DefElemAction DefElem::defaction() const { + // @@protoc_insertion_point(field_get:pg_query.DefElem.defaction) + return _internal_defaction(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CommentStmt::set_comment(ArgT0&& arg0, ArgT... args) { - - _impl_.comment_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CommentStmt.comment) +inline void DefElem::set_defaction(::pg_query::DefElemAction value) { + _internal_set_defaction(value); + // @@protoc_insertion_point(field_set:pg_query.DefElem.defaction) } -inline std::string* CommentStmt::mutable_comment() { - std::string* _s = _internal_mutable_comment(); - // @@protoc_insertion_point(field_mutable:pg_query.CommentStmt.comment) - return _s; +inline ::pg_query::DefElemAction DefElem::_internal_defaction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DefElemAction>(_impl_.defaction_); } -inline const std::string& CommentStmt::_internal_comment() const { - return _impl_.comment_.Get(); +inline void DefElem::_internal_set_defaction(::pg_query::DefElemAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.defaction_ = value; } -inline void CommentStmt::_internal_set_comment(const std::string& value) { - - _impl_.comment_.Set(value, GetArenaForAllocation()); + +// int32 location = 5 [json_name = "location"]; +inline void DefElem::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline std::string* CommentStmt::_internal_mutable_comment() { - - return _impl_.comment_.Mutable(GetArenaForAllocation()); +inline ::int32_t DefElem::location() const { + // @@protoc_insertion_point(field_get:pg_query.DefElem.location) + return _internal_location(); } -inline std::string* CommentStmt::release_comment() { - // @@protoc_insertion_point(field_release:pg_query.CommentStmt.comment) - return _impl_.comment_.Release(); +inline void DefElem::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.DefElem.location) } -inline void CommentStmt::set_allocated_comment(std::string* comment) { - if (comment != nullptr) { - - } else { - - } - _impl_.comment_.SetAllocated(comment, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.comment_.IsDefault()) { - _impl_.comment_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CommentStmt.comment) +inline ::int32_t DefElem::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DefElem::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// FetchStmt +// LockingClause -// .pg_query.FetchDirection direction = 1 [json_name = "direction"]; -inline void FetchStmt::clear_direction() { - _impl_.direction_ = 0; +// repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; +inline int LockingClause::_internal_locked_rels_size() const { + return _internal_locked_rels().size(); } -inline ::pg_query::FetchDirection FetchStmt::_internal_direction() const { - return static_cast< ::pg_query::FetchDirection >(_impl_.direction_); +inline int LockingClause::locked_rels_size() const { + return _internal_locked_rels_size(); } -inline ::pg_query::FetchDirection FetchStmt::direction() const { - // @@protoc_insertion_point(field_get:pg_query.FetchStmt.direction) - return _internal_direction(); +inline void LockingClause::clear_locked_rels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.locked_rels_.Clear(); } -inline void FetchStmt::_internal_set_direction(::pg_query::FetchDirection value) { - - _impl_.direction_ = value; +inline ::pg_query::Node* LockingClause::mutable_locked_rels(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.LockingClause.locked_rels) + return _internal_mutable_locked_rels()->Mutable(index); } -inline void FetchStmt::set_direction(::pg_query::FetchDirection value) { - _internal_set_direction(value); - // @@protoc_insertion_point(field_set:pg_query.FetchStmt.direction) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* LockingClause::mutable_locked_rels() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.LockingClause.locked_rels) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_locked_rels(); } - -// int64 how_many = 2 [json_name = "howMany"]; -inline void FetchStmt::clear_how_many() { - _impl_.how_many_ = int64_t{0}; +inline const ::pg_query::Node& LockingClause::locked_rels(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.LockingClause.locked_rels) + return _internal_locked_rels().Get(index); } -inline int64_t FetchStmt::_internal_how_many() const { - return _impl_.how_many_; +inline ::pg_query::Node* LockingClause::add_locked_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_locked_rels()->Add(); + // @@protoc_insertion_point(field_add:pg_query.LockingClause.locked_rels) + return _add; } -inline int64_t FetchStmt::how_many() const { - // @@protoc_insertion_point(field_get:pg_query.FetchStmt.how_many) - return _internal_how_many(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& LockingClause::locked_rels() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.LockingClause.locked_rels) + return _internal_locked_rels(); } -inline void FetchStmt::_internal_set_how_many(int64_t value) { - - _impl_.how_many_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +LockingClause::_internal_locked_rels() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.locked_rels_; } -inline void FetchStmt::set_how_many(int64_t value) { - _internal_set_how_many(value); - // @@protoc_insertion_point(field_set:pg_query.FetchStmt.how_many) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +LockingClause::_internal_mutable_locked_rels() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.locked_rels_; } -// string portalname = 3 [json_name = "portalname"]; -inline void FetchStmt::clear_portalname() { - _impl_.portalname_.ClearToEmpty(); -} -inline const std::string& FetchStmt::portalname() const { - // @@protoc_insertion_point(field_get:pg_query.FetchStmt.portalname) - return _internal_portalname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void FetchStmt::set_portalname(ArgT0&& arg0, ArgT... args) { - - _impl_.portalname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.FetchStmt.portalname) -} -inline std::string* FetchStmt::mutable_portalname() { - std::string* _s = _internal_mutable_portalname(); - // @@protoc_insertion_point(field_mutable:pg_query.FetchStmt.portalname) - return _s; -} -inline const std::string& FetchStmt::_internal_portalname() const { - return _impl_.portalname_.Get(); +// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; +inline void LockingClause::clear_strength() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strength_ = 0; } -inline void FetchStmt::_internal_set_portalname(const std::string& value) { - - _impl_.portalname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::LockClauseStrength LockingClause::strength() const { + // @@protoc_insertion_point(field_get:pg_query.LockingClause.strength) + return _internal_strength(); } -inline std::string* FetchStmt::_internal_mutable_portalname() { - - return _impl_.portalname_.Mutable(GetArenaForAllocation()); +inline void LockingClause::set_strength(::pg_query::LockClauseStrength value) { + _internal_set_strength(value); + // @@protoc_insertion_point(field_set:pg_query.LockingClause.strength) } -inline std::string* FetchStmt::release_portalname() { - // @@protoc_insertion_point(field_release:pg_query.FetchStmt.portalname) - return _impl_.portalname_.Release(); +inline ::pg_query::LockClauseStrength LockingClause::_internal_strength() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); } -inline void FetchStmt::set_allocated_portalname(std::string* portalname) { - if (portalname != nullptr) { - - } else { - - } - _impl_.portalname_.SetAllocated(portalname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.portalname_.IsDefault()) { - _impl_.portalname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.FetchStmt.portalname) +inline void LockingClause::_internal_set_strength(::pg_query::LockClauseStrength value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.strength_ = value; } -// bool ismove = 4 [json_name = "ismove"]; -inline void FetchStmt::clear_ismove() { - _impl_.ismove_ = false; -} -inline bool FetchStmt::_internal_ismove() const { - return _impl_.ismove_; +// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; +inline void LockingClause::clear_wait_policy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wait_policy_ = 0; } -inline bool FetchStmt::ismove() const { - // @@protoc_insertion_point(field_get:pg_query.FetchStmt.ismove) - return _internal_ismove(); +inline ::pg_query::LockWaitPolicy LockingClause::wait_policy() const { + // @@protoc_insertion_point(field_get:pg_query.LockingClause.wait_policy) + return _internal_wait_policy(); } -inline void FetchStmt::_internal_set_ismove(bool value) { - - _impl_.ismove_ = value; +inline void LockingClause::set_wait_policy(::pg_query::LockWaitPolicy value) { + _internal_set_wait_policy(value); + // @@protoc_insertion_point(field_set:pg_query.LockingClause.wait_policy) } -inline void FetchStmt::set_ismove(bool value) { - _internal_set_ismove(value); - // @@protoc_insertion_point(field_set:pg_query.FetchStmt.ismove) +inline ::pg_query::LockWaitPolicy LockingClause::_internal_wait_policy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); +} +inline void LockingClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wait_policy_ = value; } // ------------------------------------------------------------------- -// IndexStmt +// XmlSerialize -// string idxname = 1 [json_name = "idxname"]; -inline void IndexStmt::clear_idxname() { - _impl_.idxname_.ClearToEmpty(); -} -inline const std::string& IndexStmt::idxname() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.idxname) - return _internal_idxname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexStmt::set_idxname(ArgT0&& arg0, ArgT... args) { - - _impl_.idxname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.idxname) -} -inline std::string* IndexStmt::mutable_idxname() { - std::string* _s = _internal_mutable_idxname(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.idxname) - return _s; -} -inline const std::string& IndexStmt::_internal_idxname() const { - return _impl_.idxname_.Get(); +// .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; +inline void XmlSerialize::clear_xmloption() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.xmloption_ = 0; } -inline void IndexStmt::_internal_set_idxname(const std::string& value) { - - _impl_.idxname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::XmlOptionType XmlSerialize::xmloption() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.xmloption) + return _internal_xmloption(); } -inline std::string* IndexStmt::_internal_mutable_idxname() { - - return _impl_.idxname_.Mutable(GetArenaForAllocation()); +inline void XmlSerialize::set_xmloption(::pg_query::XmlOptionType value) { + _internal_set_xmloption(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.xmloption) } -inline std::string* IndexStmt::release_idxname() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.idxname) - return _impl_.idxname_.Release(); +inline ::pg_query::XmlOptionType XmlSerialize::_internal_xmloption() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::XmlOptionType>(_impl_.xmloption_); } -inline void IndexStmt::set_allocated_idxname(std::string* idxname) { - if (idxname != nullptr) { - - } else { - - } - _impl_.idxname_.SetAllocated(idxname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.idxname_.IsDefault()) { - _impl_.idxname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.idxname) +inline void XmlSerialize::_internal_set_xmloption(::pg_query::XmlOptionType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.xmloption_ = value; } -// .pg_query.RangeVar relation = 2 [json_name = "relation"]; -inline bool IndexStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool IndexStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool XmlSerialize::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void IndexStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void XmlSerialize::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& IndexStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& XmlSerialize::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& IndexStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& XmlSerialize::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.expr) + return _internal_expr(); } -inline void IndexStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void XmlSerialize::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.expr) } -inline ::pg_query::RangeVar* IndexStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* XmlSerialize::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* IndexStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* XmlSerialize::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::RangeVar* IndexStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* XmlSerialize::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.expr_; } -inline ::pg_query::RangeVar* IndexStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.relation) +inline ::pg_query::Node* XmlSerialize::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.expr) return _msg; } -inline void IndexStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void XmlSerialize::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.relation) -} -// string access_method = 3 [json_name = "accessMethod"]; -inline void IndexStmt::clear_access_method() { - _impl_.access_method_.ClearToEmpty(); -} -inline const std::string& IndexStmt::access_method() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.access_method) - return _internal_access_method(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexStmt::set_access_method(ArgT0&& arg0, ArgT... args) { - - _impl_.access_method_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.access_method) -} -inline std::string* IndexStmt::mutable_access_method() { - std::string* _s = _internal_mutable_access_method(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.access_method) - return _s; + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.expr) } -inline const std::string& IndexStmt::_internal_access_method() const { - return _impl_.access_method_.Get(); + +// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; +inline bool XmlSerialize::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline void IndexStmt::_internal_set_access_method(const std::string& value) { - - _impl_.access_method_.Set(value, GetArenaForAllocation()); +inline void XmlSerialize::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline std::string* IndexStmt::_internal_mutable_access_method() { - - return _impl_.access_method_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::TypeName& XmlSerialize::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline std::string* IndexStmt::release_access_method() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.access_method) - return _impl_.access_method_.Release(); +inline const ::pg_query::TypeName& XmlSerialize::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.type_name) + return _internal_type_name(); } -inline void IndexStmt::set_allocated_access_method(std::string* access_method) { - if (access_method != nullptr) { - - } else { - +inline void XmlSerialize::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.access_method_.SetAllocated(access_method, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.access_method_.IsDefault()) { - _impl_.access_method_.Set("", GetArenaForAllocation()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.access_method) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.type_name) } +inline ::pg_query::TypeName* XmlSerialize::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string table_space = 4 [json_name = "tableSpace"]; -inline void IndexStmt::clear_table_space() { - _impl_.table_space_.ClearToEmpty(); -} -inline const std::string& IndexStmt::table_space() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.table_space) - return _internal_table_space(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexStmt::set_table_space(ArgT0&& arg0, ArgT... args) { - - _impl_.table_space_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.table_space) -} -inline std::string* IndexStmt::mutable_table_space() { - std::string* _s = _internal_mutable_table_space(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.table_space) - return _s; -} -inline const std::string& IndexStmt::_internal_table_space() const { - return _impl_.table_space_.Get(); -} -inline void IndexStmt::_internal_set_table_space(const std::string& value) { - - _impl_.table_space_.Set(value, GetArenaForAllocation()); -} -inline std::string* IndexStmt::_internal_mutable_table_space() { - - return _impl_.table_space_.Mutable(GetArenaForAllocation()); -} -inline std::string* IndexStmt::release_table_space() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.table_space) - return _impl_.table_space_.Release(); -} -inline void IndexStmt::set_allocated_table_space(std::string* table_space) { - if (table_space != nullptr) { - - } else { - + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.table_space_.SetAllocated(table_space, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.table_space_.IsDefault()) { - _impl_.table_space_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.table_space) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::TypeName* XmlSerialize::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.type_name) -// repeated .pg_query.Node index_params = 5 [json_name = "indexParams"]; -inline int IndexStmt::_internal_index_params_size() const { - return _impl_.index_params_.size(); -} -inline int IndexStmt::index_params_size() const { - return _internal_index_params_size(); -} -inline void IndexStmt::clear_index_params() { - _impl_.index_params_.Clear(); -} -inline ::pg_query::Node* IndexStmt::mutable_index_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.index_params) - return _impl_.index_params_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexStmt::mutable_index_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.index_params) - return &_impl_.index_params_; -} -inline const ::pg_query::Node& IndexStmt::_internal_index_params(int index) const { - return _impl_.index_params_.Get(index); -} -inline const ::pg_query::Node& IndexStmt::index_params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_params) - return _internal_index_params(index); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; + return temp; } -inline ::pg_query::Node* IndexStmt::_internal_add_index_params() { - return _impl_.index_params_.Add(); +inline ::pg_query::TypeName* XmlSerialize::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.type_name_; } -inline ::pg_query::Node* IndexStmt::add_index_params() { - ::pg_query::Node* _add = _internal_add_index_params(); - // @@protoc_insertion_point(field_add:pg_query.IndexStmt.index_params) - return _add; +inline ::pg_query::TypeName* XmlSerialize::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.type_name) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexStmt::index_params() const { - // @@protoc_insertion_point(field_list:pg_query.IndexStmt.index_params) - return _impl_.index_params_; +inline void XmlSerialize::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.type_name) } -// repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"]; -inline int IndexStmt::_internal_index_including_params_size() const { - return _impl_.index_including_params_.size(); +// bool indent = 4 [json_name = "indent"]; +inline void XmlSerialize::clear_indent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indent_ = false; } -inline int IndexStmt::index_including_params_size() const { - return _internal_index_including_params_size(); +inline bool XmlSerialize::indent() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.indent) + return _internal_indent(); } -inline void IndexStmt::clear_index_including_params() { - _impl_.index_including_params_.Clear(); +inline void XmlSerialize::set_indent(bool value) { + _internal_set_indent(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.indent) } -inline ::pg_query::Node* IndexStmt::mutable_index_including_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.index_including_params) - return _impl_.index_including_params_.Mutable(index); +inline bool XmlSerialize::_internal_indent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indent_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexStmt::mutable_index_including_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.index_including_params) - return &_impl_.index_including_params_; +inline void XmlSerialize::_internal_set_indent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indent_ = value; } -inline const ::pg_query::Node& IndexStmt::_internal_index_including_params(int index) const { - return _impl_.index_including_params_.Get(index); + +// int32 location = 5 [json_name = "location"]; +inline void XmlSerialize::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& IndexStmt::index_including_params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_including_params) - return _internal_index_including_params(index); +inline ::int32_t XmlSerialize::location() const { + // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.location) + return _internal_location(); } -inline ::pg_query::Node* IndexStmt::_internal_add_index_including_params() { - return _impl_.index_including_params_.Add(); +inline void XmlSerialize::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.location) } -inline ::pg_query::Node* IndexStmt::add_index_including_params() { - ::pg_query::Node* _add = _internal_add_index_including_params(); - // @@protoc_insertion_point(field_add:pg_query.IndexStmt.index_including_params) - return _add; +inline ::int32_t XmlSerialize::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexStmt::index_including_params() const { - // @@protoc_insertion_point(field_list:pg_query.IndexStmt.index_including_params) - return _impl_.index_including_params_; +inline void XmlSerialize::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated .pg_query.Node options = 7 [json_name = "options"]; -inline int IndexStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int IndexStmt::options_size() const { - return _internal_options_size(); +// ------------------------------------------------------------------- + +// PartitionElem + +// string name = 1 [json_name = "name"]; +inline void PartitionElem::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline void IndexStmt::clear_options() { - _impl_.options_.Clear(); +inline const std::string& PartitionElem::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.name) + return _internal_name(); } -inline ::pg_query::Node* IndexStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.options) - return _impl_.options_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void PartitionElem::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PartitionElem.name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.options) - return &_impl_.options_; +inline std::string* PartitionElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.name) + return _s; } -inline const ::pg_query::Node& IndexStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const std::string& PartitionElem::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline const ::pg_query::Node& IndexStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.options) - return _internal_options(index); +inline void PartitionElem::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline ::pg_query::Node* IndexStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline std::string* PartitionElem::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* IndexStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.IndexStmt.options) - return _add; +inline std::string* PartitionElem::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionElem.name) + return _impl_.name_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.IndexStmt.options) - return _impl_.options_; +inline void PartitionElem::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.name) } -// .pg_query.Node where_clause = 8 [json_name = "whereClause"]; -inline bool IndexStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; -} -inline bool IndexStmt::has_where_clause() const { - return _internal_has_where_clause(); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool PartitionElem::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void IndexStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void PartitionElem::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& IndexStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& PartitionElem::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& IndexStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.where_clause) - return _internal_where_clause(); +inline const ::pg_query::Node& PartitionElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.expr) + return _internal_expr(); } -inline void IndexStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void PartitionElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexStmt.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionElem.expr) } -inline ::pg_query::Node* IndexStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* PartitionElem::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* IndexStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::Node* PartitionElem::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionElem.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; return temp; } -inline ::pg_query::Node* IndexStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::Node* PartitionElem::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.where_clause_; + return _impl_.expr_; } -inline ::pg_query::Node* IndexStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.where_clause) +inline ::pg_query::Node* PartitionElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.expr) return _msg; } -inline void IndexStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void PartitionElem::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.where_clause) -} -// repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"]; -inline int IndexStmt::_internal_exclude_op_names_size() const { - return _impl_.exclude_op_names_.size(); -} -inline int IndexStmt::exclude_op_names_size() const { - return _internal_exclude_op_names_size(); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.expr) } -inline void IndexStmt::clear_exclude_op_names() { - _impl_.exclude_op_names_.Clear(); + +// repeated .pg_query.Node collation = 3 [json_name = "collation"]; +inline int PartitionElem::_internal_collation_size() const { + return _internal_collation().size(); } -inline ::pg_query::Node* IndexStmt::mutable_exclude_op_names(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.exclude_op_names) - return _impl_.exclude_op_names_.Mutable(index); +inline int PartitionElem::collation_size() const { + return _internal_collation_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexStmt::mutable_exclude_op_names() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.exclude_op_names) - return &_impl_.exclude_op_names_; +inline void PartitionElem::clear_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collation_.Clear(); } -inline const ::pg_query::Node& IndexStmt::_internal_exclude_op_names(int index) const { - return _impl_.exclude_op_names_.Get(index); +inline ::pg_query::Node* PartitionElem::mutable_collation(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.collation) + return _internal_mutable_collation()->Mutable(index); } -inline const ::pg_query::Node& IndexStmt::exclude_op_names(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.exclude_op_names) - return _internal_exclude_op_names(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_collation() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.collation) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_collation(); } -inline ::pg_query::Node* IndexStmt::_internal_add_exclude_op_names() { - return _impl_.exclude_op_names_.Add(); +inline const ::pg_query::Node& PartitionElem::collation(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.collation) + return _internal_collation().Get(index); } -inline ::pg_query::Node* IndexStmt::add_exclude_op_names() { - ::pg_query::Node* _add = _internal_add_exclude_op_names(); - // @@protoc_insertion_point(field_add:pg_query.IndexStmt.exclude_op_names) +inline ::pg_query::Node* PartitionElem::add_collation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_collation()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionElem.collation) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexStmt::exclude_op_names() const { - // @@protoc_insertion_point(field_list:pg_query.IndexStmt.exclude_op_names) - return _impl_.exclude_op_names_; -} - -// string idxcomment = 10 [json_name = "idxcomment"]; -inline void IndexStmt::clear_idxcomment() { - _impl_.idxcomment_.ClearToEmpty(); -} -inline const std::string& IndexStmt::idxcomment() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.idxcomment) - return _internal_idxcomment(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexStmt::set_idxcomment(ArgT0&& arg0, ArgT... args) { - - _impl_.idxcomment_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.idxcomment) -} -inline std::string* IndexStmt::mutable_idxcomment() { - std::string* _s = _internal_mutable_idxcomment(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.idxcomment) - return _s; -} -inline const std::string& IndexStmt::_internal_idxcomment() const { - return _impl_.idxcomment_.Get(); -} -inline void IndexStmt::_internal_set_idxcomment(const std::string& value) { - - _impl_.idxcomment_.Set(value, GetArenaForAllocation()); -} -inline std::string* IndexStmt::_internal_mutable_idxcomment() { - - return _impl_.idxcomment_.Mutable(GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::collation() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionElem.collation) + return _internal_collation(); } -inline std::string* IndexStmt::release_idxcomment() { - // @@protoc_insertion_point(field_release:pg_query.IndexStmt.idxcomment) - return _impl_.idxcomment_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionElem::_internal_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collation_; } -inline void IndexStmt::set_allocated_idxcomment(std::string* idxcomment) { - if (idxcomment != nullptr) { - - } else { - - } - _impl_.idxcomment_.SetAllocated(idxcomment, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.idxcomment_.IsDefault()) { - _impl_.idxcomment_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.idxcomment) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionElem::_internal_mutable_collation() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collation_; } -// uint32 index_oid = 11 [json_name = "indexOid"]; -inline void IndexStmt::clear_index_oid() { - _impl_.index_oid_ = 0u; +// repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; +inline int PartitionElem::_internal_opclass_size() const { + return _internal_opclass().size(); } -inline uint32_t IndexStmt::_internal_index_oid() const { - return _impl_.index_oid_; +inline int PartitionElem::opclass_size() const { + return _internal_opclass_size(); } -inline uint32_t IndexStmt::index_oid() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_oid) - return _internal_index_oid(); +inline void PartitionElem::clear_opclass() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opclass_.Clear(); } -inline void IndexStmt::_internal_set_index_oid(uint32_t value) { - - _impl_.index_oid_ = value; +inline ::pg_query::Node* PartitionElem::mutable_opclass(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.opclass) + return _internal_mutable_opclass()->Mutable(index); } -inline void IndexStmt::set_index_oid(uint32_t value) { - _internal_set_index_oid(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.index_oid) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionElem::mutable_opclass() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.opclass) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opclass(); } - -// uint32 old_node = 12 [json_name = "oldNode"]; -inline void IndexStmt::clear_old_node() { - _impl_.old_node_ = 0u; +inline const ::pg_query::Node& PartitionElem::opclass(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.opclass) + return _internal_opclass().Get(index); } -inline uint32_t IndexStmt::_internal_old_node() const { - return _impl_.old_node_; +inline ::pg_query::Node* PartitionElem::add_opclass() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opclass()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionElem.opclass) + return _add; } -inline uint32_t IndexStmt::old_node() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_node) - return _internal_old_node(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionElem::opclass() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionElem.opclass) + return _internal_opclass(); } -inline void IndexStmt::_internal_set_old_node(uint32_t value) { - - _impl_.old_node_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionElem::_internal_opclass() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclass_; } -inline void IndexStmt::set_old_node(uint32_t value) { - _internal_set_old_node(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_node) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionElem::_internal_mutable_opclass() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclass_; } -// uint32 old_create_subid = 13 [json_name = "oldCreateSubid"]; -inline void IndexStmt::clear_old_create_subid() { - _impl_.old_create_subid_ = 0u; +// int32 location = 5 [json_name = "location"]; +inline void PartitionElem::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline uint32_t IndexStmt::_internal_old_create_subid() const { - return _impl_.old_create_subid_; +inline ::int32_t PartitionElem::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionElem.location) + return _internal_location(); } -inline uint32_t IndexStmt::old_create_subid() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_create_subid) - return _internal_old_create_subid(); +inline void PartitionElem::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionElem.location) } -inline void IndexStmt::_internal_set_old_create_subid(uint32_t value) { - - _impl_.old_create_subid_ = value; +inline ::int32_t PartitionElem::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void IndexStmt::set_old_create_subid(uint32_t value) { - _internal_set_old_create_subid(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_create_subid) +inline void PartitionElem::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// uint32 old_first_relfilenode_subid = 14 [json_name = "oldFirstRelfilenodeSubid"]; -inline void IndexStmt::clear_old_first_relfilenode_subid() { - _impl_.old_first_relfilenode_subid_ = 0u; +// ------------------------------------------------------------------- + +// PartitionSpec + +// .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"]; +inline void PartitionSpec::clear_strategy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strategy_ = 0; } -inline uint32_t IndexStmt::_internal_old_first_relfilenode_subid() const { - return _impl_.old_first_relfilenode_subid_; +inline ::pg_query::PartitionStrategy PartitionSpec::strategy() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.strategy) + return _internal_strategy(); } -inline uint32_t IndexStmt::old_first_relfilenode_subid() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_first_relfilenode_subid) - return _internal_old_first_relfilenode_subid(); +inline void PartitionSpec::set_strategy(::pg_query::PartitionStrategy value) { + _internal_set_strategy(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.strategy) } -inline void IndexStmt::_internal_set_old_first_relfilenode_subid(uint32_t value) { - - _impl_.old_first_relfilenode_subid_ = value; +inline ::pg_query::PartitionStrategy PartitionSpec::_internal_strategy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::PartitionStrategy>(_impl_.strategy_); } -inline void IndexStmt::set_old_first_relfilenode_subid(uint32_t value) { - _internal_set_old_first_relfilenode_subid(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_first_relfilenode_subid) +inline void PartitionSpec::_internal_set_strategy(::pg_query::PartitionStrategy value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.strategy_ = value; } -// bool unique = 15 [json_name = "unique"]; -inline void IndexStmt::clear_unique() { - _impl_.unique_ = false; +// repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; +inline int PartitionSpec::_internal_part_params_size() const { + return _internal_part_params().size(); } -inline bool IndexStmt::_internal_unique() const { - return _impl_.unique_; +inline int PartitionSpec::part_params_size() const { + return _internal_part_params_size(); } -inline bool IndexStmt::unique() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.unique) - return _internal_unique(); +inline void PartitionSpec::clear_part_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.part_params_.Clear(); } -inline void IndexStmt::_internal_set_unique(bool value) { - - _impl_.unique_ = value; +inline ::pg_query::Node* PartitionSpec::mutable_part_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionSpec.part_params) + return _internal_mutable_part_params()->Mutable(index); } -inline void IndexStmt::set_unique(bool value) { - _internal_set_unique(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.unique) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionSpec::mutable_part_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionSpec.part_params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_part_params(); } - -// bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"]; -inline void IndexStmt::clear_nulls_not_distinct() { - _impl_.nulls_not_distinct_ = false; +inline const ::pg_query::Node& PartitionSpec::part_params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.part_params) + return _internal_part_params().Get(index); } -inline bool IndexStmt::_internal_nulls_not_distinct() const { - return _impl_.nulls_not_distinct_; +inline ::pg_query::Node* PartitionSpec::add_part_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_part_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionSpec.part_params) + return _add; } -inline bool IndexStmt::nulls_not_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.nulls_not_distinct) - return _internal_nulls_not_distinct(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionSpec::part_params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionSpec.part_params) + return _internal_part_params(); } -inline void IndexStmt::_internal_set_nulls_not_distinct(bool value) { - - _impl_.nulls_not_distinct_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionSpec::_internal_part_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.part_params_; } -inline void IndexStmt::set_nulls_not_distinct(bool value) { - _internal_set_nulls_not_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.nulls_not_distinct) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionSpec::_internal_mutable_part_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.part_params_; } -// bool primary = 17 [json_name = "primary"]; -inline void IndexStmt::clear_primary() { - _impl_.primary_ = false; +// int32 location = 3 [json_name = "location"]; +inline void PartitionSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool IndexStmt::_internal_primary() const { - return _impl_.primary_; +inline ::int32_t PartitionSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.location) + return _internal_location(); } -inline bool IndexStmt::primary() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.primary) - return _internal_primary(); +inline void PartitionSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.location) } -inline void IndexStmt::_internal_set_primary(bool value) { - - _impl_.primary_ = value; +inline ::int32_t PartitionSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void IndexStmt::set_primary(bool value) { - _internal_set_primary(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.primary) +inline void PartitionSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// bool isconstraint = 18 [json_name = "isconstraint"]; -inline void IndexStmt::clear_isconstraint() { - _impl_.isconstraint_ = false; -} -inline bool IndexStmt::_internal_isconstraint() const { - return _impl_.isconstraint_; -} -inline bool IndexStmt::isconstraint() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.isconstraint) - return _internal_isconstraint(); +// ------------------------------------------------------------------- + +// PartitionBoundSpec + +// string strategy = 1 [json_name = "strategy"]; +inline void PartitionBoundSpec::clear_strategy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strategy_.ClearToEmpty(); } -inline void IndexStmt::_internal_set_isconstraint(bool value) { - - _impl_.isconstraint_ = value; +inline const std::string& PartitionBoundSpec::strategy() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.strategy) + return _internal_strategy(); } -inline void IndexStmt::set_isconstraint(bool value) { - _internal_set_isconstraint(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.isconstraint) +template +inline PROTOBUF_ALWAYS_INLINE void PartitionBoundSpec::set_strategy(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.strategy_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.strategy) } - -// bool deferrable = 19 [json_name = "deferrable"]; -inline void IndexStmt::clear_deferrable() { - _impl_.deferrable_ = false; +inline std::string* PartitionBoundSpec::mutable_strategy() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_strategy(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.strategy) + return _s; } -inline bool IndexStmt::_internal_deferrable() const { - return _impl_.deferrable_; +inline const std::string& PartitionBoundSpec::_internal_strategy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.strategy_.Get(); } -inline bool IndexStmt::deferrable() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.deferrable) - return _internal_deferrable(); +inline void PartitionBoundSpec::_internal_set_strategy(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.strategy_.Set(value, GetArena()); } -inline void IndexStmt::_internal_set_deferrable(bool value) { - - _impl_.deferrable_ = value; +inline std::string* PartitionBoundSpec::_internal_mutable_strategy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.strategy_.Mutable( GetArena()); } -inline void IndexStmt::set_deferrable(bool value) { - _internal_set_deferrable(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.deferrable) +inline std::string* PartitionBoundSpec::release_strategy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionBoundSpec.strategy) + return _impl_.strategy_.Release(); +} +inline void PartitionBoundSpec::set_allocated_strategy(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strategy_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.strategy_.IsDefault()) { + _impl_.strategy_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionBoundSpec.strategy) } -// bool initdeferred = 20 [json_name = "initdeferred"]; -inline void IndexStmt::clear_initdeferred() { - _impl_.initdeferred_ = false; +// bool is_default = 2 [json_name = "is_default"]; +inline void PartitionBoundSpec::clear_is_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_default_ = false; } -inline bool IndexStmt::_internal_initdeferred() const { - return _impl_.initdeferred_; +inline bool PartitionBoundSpec::is_default() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.is_default) + return _internal_is_default(); } -inline bool IndexStmt::initdeferred() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.initdeferred) - return _internal_initdeferred(); +inline void PartitionBoundSpec::set_is_default(bool value) { + _internal_set_is_default(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.is_default) } -inline void IndexStmt::_internal_set_initdeferred(bool value) { - - _impl_.initdeferred_ = value; +inline bool PartitionBoundSpec::_internal_is_default() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_default_; } -inline void IndexStmt::set_initdeferred(bool value) { - _internal_set_initdeferred(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.initdeferred) +inline void PartitionBoundSpec::_internal_set_is_default(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_default_ = value; } -// bool transformed = 21 [json_name = "transformed"]; -inline void IndexStmt::clear_transformed() { - _impl_.transformed_ = false; +// int32 modulus = 3 [json_name = "modulus"]; +inline void PartitionBoundSpec::clear_modulus() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.modulus_ = 0; } -inline bool IndexStmt::_internal_transformed() const { - return _impl_.transformed_; +inline ::int32_t PartitionBoundSpec::modulus() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.modulus) + return _internal_modulus(); } -inline bool IndexStmt::transformed() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.transformed) - return _internal_transformed(); +inline void PartitionBoundSpec::set_modulus(::int32_t value) { + _internal_set_modulus(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.modulus) } -inline void IndexStmt::_internal_set_transformed(bool value) { - - _impl_.transformed_ = value; +inline ::int32_t PartitionBoundSpec::_internal_modulus() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.modulus_; } -inline void IndexStmt::set_transformed(bool value) { - _internal_set_transformed(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.transformed) +inline void PartitionBoundSpec::_internal_set_modulus(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.modulus_ = value; } -// bool concurrent = 22 [json_name = "concurrent"]; -inline void IndexStmt::clear_concurrent() { - _impl_.concurrent_ = false; +// int32 remainder = 4 [json_name = "remainder"]; +inline void PartitionBoundSpec::clear_remainder() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remainder_ = 0; } -inline bool IndexStmt::_internal_concurrent() const { - return _impl_.concurrent_; +inline ::int32_t PartitionBoundSpec::remainder() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.remainder) + return _internal_remainder(); } -inline bool IndexStmt::concurrent() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.concurrent) - return _internal_concurrent(); +inline void PartitionBoundSpec::set_remainder(::int32_t value) { + _internal_set_remainder(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.remainder) } -inline void IndexStmt::_internal_set_concurrent(bool value) { - - _impl_.concurrent_ = value; +inline ::int32_t PartitionBoundSpec::_internal_remainder() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.remainder_; } -inline void IndexStmt::set_concurrent(bool value) { - _internal_set_concurrent(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.concurrent) +inline void PartitionBoundSpec::_internal_set_remainder(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.remainder_ = value; } -// bool if_not_exists = 23 [json_name = "if_not_exists"]; -inline void IndexStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; +inline int PartitionBoundSpec::_internal_listdatums_size() const { + return _internal_listdatums().size(); } -inline bool IndexStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline int PartitionBoundSpec::listdatums_size() const { + return _internal_listdatums_size(); } -inline bool IndexStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.if_not_exists) - return _internal_if_not_exists(); +inline void PartitionBoundSpec::clear_listdatums() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.listdatums_.Clear(); } -inline void IndexStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::Node* PartitionBoundSpec::mutable_listdatums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.listdatums) + return _internal_mutable_listdatums()->Mutable(index); } -inline void IndexStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.if_not_exists) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_listdatums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.listdatums) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_listdatums(); } - -// bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"]; -inline void IndexStmt::clear_reset_default_tblspc() { - _impl_.reset_default_tblspc_ = false; +inline const ::pg_query::Node& PartitionBoundSpec::listdatums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.listdatums) + return _internal_listdatums().Get(index); } -inline bool IndexStmt::_internal_reset_default_tblspc() const { - return _impl_.reset_default_tblspc_; +inline ::pg_query::Node* PartitionBoundSpec::add_listdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_listdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.listdatums) + return _add; } -inline bool IndexStmt::reset_default_tblspc() const { - // @@protoc_insertion_point(field_get:pg_query.IndexStmt.reset_default_tblspc) - return _internal_reset_default_tblspc(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::listdatums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.listdatums) + return _internal_listdatums(); } -inline void IndexStmt::_internal_set_reset_default_tblspc(bool value) { - - _impl_.reset_default_tblspc_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionBoundSpec::_internal_listdatums() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.listdatums_; } -inline void IndexStmt::set_reset_default_tblspc(bool value) { - _internal_set_reset_default_tblspc(value); - // @@protoc_insertion_point(field_set:pg_query.IndexStmt.reset_default_tblspc) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionBoundSpec::_internal_mutable_listdatums() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.listdatums_; } -// ------------------------------------------------------------------- - -// CreateFunctionStmt - -// bool is_procedure = 1 [json_name = "is_procedure"]; -inline void CreateFunctionStmt::clear_is_procedure() { - _impl_.is_procedure_ = false; +// repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; +inline int PartitionBoundSpec::_internal_lowerdatums_size() const { + return _internal_lowerdatums().size(); } -inline bool CreateFunctionStmt::_internal_is_procedure() const { - return _impl_.is_procedure_; +inline int PartitionBoundSpec::lowerdatums_size() const { + return _internal_lowerdatums_size(); } -inline bool CreateFunctionStmt::is_procedure() const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.is_procedure) - return _internal_is_procedure(); +inline void PartitionBoundSpec::clear_lowerdatums() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lowerdatums_.Clear(); } -inline void CreateFunctionStmt::_internal_set_is_procedure(bool value) { - - _impl_.is_procedure_ = value; +inline ::pg_query::Node* PartitionBoundSpec::mutable_lowerdatums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_mutable_lowerdatums()->Mutable(index); } -inline void CreateFunctionStmt::set_is_procedure(bool value) { - _internal_set_is_procedure(value); - // @@protoc_insertion_point(field_set:pg_query.CreateFunctionStmt.is_procedure) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_lowerdatums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.lowerdatums) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_lowerdatums(); } - -// bool replace = 2 [json_name = "replace"]; -inline void CreateFunctionStmt::clear_replace() { - _impl_.replace_ = false; +inline const ::pg_query::Node& PartitionBoundSpec::lowerdatums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_lowerdatums().Get(index); } -inline bool CreateFunctionStmt::_internal_replace() const { - return _impl_.replace_; +inline ::pg_query::Node* PartitionBoundSpec::add_lowerdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_lowerdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.lowerdatums) + return _add; } -inline bool CreateFunctionStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.replace) - return _internal_replace(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::lowerdatums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.lowerdatums) + return _internal_lowerdatums(); } -inline void CreateFunctionStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionBoundSpec::_internal_lowerdatums() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lowerdatums_; } -inline void CreateFunctionStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.CreateFunctionStmt.replace) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionBoundSpec::_internal_mutable_lowerdatums() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.lowerdatums_; } -// repeated .pg_query.Node funcname = 3 [json_name = "funcname"]; -inline int CreateFunctionStmt::_internal_funcname_size() const { - return _impl_.funcname_.size(); +// repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; +inline int PartitionBoundSpec::_internal_upperdatums_size() const { + return _internal_upperdatums().size(); } -inline int CreateFunctionStmt::funcname_size() const { - return _internal_funcname_size(); +inline int PartitionBoundSpec::upperdatums_size() const { + return _internal_upperdatums_size(); } -inline void CreateFunctionStmt::clear_funcname() { - _impl_.funcname_.Clear(); +inline void PartitionBoundSpec::clear_upperdatums() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.upperdatums_.Clear(); } -inline ::pg_query::Node* CreateFunctionStmt::mutable_funcname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.funcname) - return _impl_.funcname_.Mutable(index); +inline ::pg_query::Node* PartitionBoundSpec::mutable_upperdatums(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.upperdatums) + return _internal_mutable_upperdatums()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateFunctionStmt::mutable_funcname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.funcname) - return &_impl_.funcname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PartitionBoundSpec::mutable_upperdatums() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.upperdatums) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_upperdatums(); } -inline const ::pg_query::Node& CreateFunctionStmt::_internal_funcname(int index) const { - return _impl_.funcname_.Get(index); +inline const ::pg_query::Node& PartitionBoundSpec::upperdatums(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.upperdatums) + return _internal_upperdatums().Get(index); } -inline const ::pg_query::Node& CreateFunctionStmt::funcname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.funcname) - return _internal_funcname(index); +inline ::pg_query::Node* PartitionBoundSpec::add_upperdatums() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_upperdatums()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.upperdatums) + return _add; } -inline ::pg_query::Node* CreateFunctionStmt::_internal_add_funcname() { - return _impl_.funcname_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PartitionBoundSpec::upperdatums() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.upperdatums) + return _internal_upperdatums(); } -inline ::pg_query::Node* CreateFunctionStmt::add_funcname() { - ::pg_query::Node* _add = _internal_add_funcname(); - // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.funcname) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PartitionBoundSpec::_internal_upperdatums() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.upperdatums_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateFunctionStmt::funcname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.funcname) - return _impl_.funcname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PartitionBoundSpec::_internal_mutable_upperdatums() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.upperdatums_; } -// repeated .pg_query.Node parameters = 4 [json_name = "parameters"]; -inline int CreateFunctionStmt::_internal_parameters_size() const { - return _impl_.parameters_.size(); +// int32 location = 8 [json_name = "location"]; +inline void PartitionBoundSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int CreateFunctionStmt::parameters_size() const { - return _internal_parameters_size(); +inline ::int32_t PartitionBoundSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.location) + return _internal_location(); } -inline void CreateFunctionStmt::clear_parameters() { - _impl_.parameters_.Clear(); +inline void PartitionBoundSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.location) } -inline ::pg_query::Node* CreateFunctionStmt::mutable_parameters(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.parameters) - return _impl_.parameters_.Mutable(index); +inline ::int32_t PartitionBoundSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateFunctionStmt::mutable_parameters() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.parameters) - return &_impl_.parameters_; +inline void PartitionBoundSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& CreateFunctionStmt::_internal_parameters(int index) const { - return _impl_.parameters_.Get(index); + +// ------------------------------------------------------------------- + +// PartitionRangeDatum + +// .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; +inline void PartitionRangeDatum::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline const ::pg_query::Node& CreateFunctionStmt::parameters(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.parameters) - return _internal_parameters(index); +inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::kind() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.kind) + return _internal_kind(); } -inline ::pg_query::Node* CreateFunctionStmt::_internal_add_parameters() { - return _impl_.parameters_.Add(); +inline void PartitionRangeDatum::set_kind(::pg_query::PartitionRangeDatumKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.kind) } -inline ::pg_query::Node* CreateFunctionStmt::add_parameters() { - ::pg_query::Node* _add = _internal_add_parameters(); - // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.parameters) - return _add; +inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::PartitionRangeDatumKind>(_impl_.kind_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateFunctionStmt::parameters() const { - // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.parameters) - return _impl_.parameters_; +inline void PartitionRangeDatum::_internal_set_kind(::pg_query::PartitionRangeDatumKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -// .pg_query.TypeName return_type = 5 [json_name = "returnType"]; -inline bool CreateFunctionStmt::_internal_has_return_type() const { - return this != internal_default_instance() && _impl_.return_type_ != nullptr; -} -inline bool CreateFunctionStmt::has_return_type() const { - return _internal_has_return_type(); +// .pg_query.Node value = 2 [json_name = "value"]; +inline bool PartitionRangeDatum::has_value() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; } -inline void CreateFunctionStmt::clear_return_type() { - if (GetArenaForAllocation() == nullptr && _impl_.return_type_ != nullptr) { - delete _impl_.return_type_; - } - _impl_.return_type_ = nullptr; +inline void PartitionRangeDatum::clear_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& CreateFunctionStmt::_internal_return_type() const { - const ::pg_query::TypeName* p = _impl_.return_type_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::Node& PartitionRangeDatum::_internal_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TypeName& CreateFunctionStmt::return_type() const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.return_type) - return _internal_return_type(); +inline const ::pg_query::Node& PartitionRangeDatum::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.value) + return _internal_value(); } -inline void CreateFunctionStmt::unsafe_arena_set_allocated_return_type( - ::pg_query::TypeName* return_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.return_type_); +inline void PartitionRangeDatum::unsafe_arena_set_allocated_value(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); } - _impl_.return_type_ = return_type; - if (return_type) { - + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateFunctionStmt.return_type) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionRangeDatum.value) } -inline ::pg_query::TypeName* CreateFunctionStmt::release_return_type() { - - ::pg_query::TypeName* temp = _impl_.return_type_; - _impl_.return_type_ = nullptr; +inline ::pg_query::Node* PartitionRangeDatum::release_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.value_; + _impl_.value_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateFunctionStmt::unsafe_arena_release_return_type() { - // @@protoc_insertion_point(field_release:pg_query.CreateFunctionStmt.return_type) - - ::pg_query::TypeName* temp = _impl_.return_type_; - _impl_.return_type_ = nullptr; +inline ::pg_query::Node* PartitionRangeDatum::unsafe_arena_release_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionRangeDatum.value) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.value_; + _impl_.value_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateFunctionStmt::_internal_mutable_return_type() { - - if (_impl_.return_type_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.return_type_ = p; +inline ::pg_query::Node* PartitionRangeDatum::_internal_mutable_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.value_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.return_type_; + return _impl_.value_; } -inline ::pg_query::TypeName* CreateFunctionStmt::mutable_return_type() { - ::pg_query::TypeName* _msg = _internal_mutable_return_type(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.return_type) +inline ::pg_query::Node* PartitionRangeDatum::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionRangeDatum.value) return _msg; } -inline void CreateFunctionStmt::set_allocated_return_type(::pg_query::TypeName* return_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void PartitionRangeDatum::set_allocated_value(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.return_type_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.value_); } - if (return_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(return_type); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - return_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, return_type, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.return_type_ = return_type; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFunctionStmt.return_type) + + _impl_.value_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionRangeDatum.value) } -// repeated .pg_query.Node options = 6 [json_name = "options"]; -inline int CreateFunctionStmt::_internal_options_size() const { - return _impl_.options_.size(); +// int32 location = 3 [json_name = "location"]; +inline void PartitionRangeDatum::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int CreateFunctionStmt::options_size() const { - return _internal_options_size(); +inline ::int32_t PartitionRangeDatum::location() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.location) + return _internal_location(); } -inline void CreateFunctionStmt::clear_options() { - _impl_.options_.Clear(); +inline void PartitionRangeDatum::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.location) } -inline ::pg_query::Node* CreateFunctionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.options) - return _impl_.options_.Mutable(index); +inline ::int32_t PartitionRangeDatum::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateFunctionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.options) - return &_impl_.options_; +inline void PartitionRangeDatum::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// SinglePartitionSpec + +// ------------------------------------------------------------------- + +// PartitionCmd + +// .pg_query.RangeVar name = 1 [json_name = "name"]; +inline bool PartitionCmd::has_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.name_ != nullptr); + return value; } -inline const ::pg_query::Node& CreateFunctionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline void PartitionCmd::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.name_ != nullptr) _impl_.name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CreateFunctionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.options) - return _internal_options(index); +inline const ::pg_query::RangeVar& PartitionCmd::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::pg_query::Node* CreateFunctionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::RangeVar& PartitionCmd::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.name) + return _internal_name(); } -inline ::pg_query::Node* CreateFunctionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.options) - return _add; +inline void PartitionCmd::unsafe_arena_set_allocated_name(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.name_); + } + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.name) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateFunctionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.options) - return _impl_.options_; +inline ::pg_query::RangeVar* PartitionCmd::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.name_; + _impl_.name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::RangeVar* PartitionCmd::unsafe_arena_release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.name) -// .pg_query.Node sql_body = 7 [json_name = "sql_body"]; -inline bool CreateFunctionStmt::_internal_has_sql_body() const { - return this != internal_default_instance() && _impl_.sql_body_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.name_; + _impl_.name_ = nullptr; + return temp; } -inline bool CreateFunctionStmt::has_sql_body() const { - return _internal_has_sql_body(); +inline ::pg_query::RangeVar* PartitionCmd::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.name_; } -inline void CreateFunctionStmt::clear_sql_body() { - if (GetArenaForAllocation() == nullptr && _impl_.sql_body_ != nullptr) { - delete _impl_.sql_body_; +inline ::pg_query::RangeVar* PartitionCmd::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.name) + return _msg; +} +inline void PartitionCmd::set_allocated_name(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.name_); } - _impl_.sql_body_ = nullptr; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.name_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.name) } -inline const ::pg_query::Node& CreateFunctionStmt::_internal_sql_body() const { - const ::pg_query::Node* p = _impl_.sql_body_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + +// .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; +inline bool PartitionCmd::has_bound() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.bound_ != nullptr); + return value; } -inline const ::pg_query::Node& CreateFunctionStmt::sql_body() const { - // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.sql_body) - return _internal_sql_body(); +inline void PartitionCmd::clear_bound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.bound_ != nullptr) _impl_.bound_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::PartitionBoundSpec& PartitionCmd::_internal_bound() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::PartitionBoundSpec* p = _impl_.bound_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_PartitionBoundSpec_default_instance_); +} +inline const ::pg_query::PartitionBoundSpec& PartitionCmd::bound() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.bound) + return _internal_bound(); } -inline void CreateFunctionStmt::unsafe_arena_set_allocated_sql_body( - ::pg_query::Node* sql_body) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.sql_body_); +inline void PartitionCmd::unsafe_arena_set_allocated_bound(::pg_query::PartitionBoundSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.bound_); } - _impl_.sql_body_ = sql_body; - if (sql_body) { - + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateFunctionStmt.sql_body) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.bound) } -inline ::pg_query::Node* CreateFunctionStmt::release_sql_body() { - - ::pg_query::Node* temp = _impl_.sql_body_; - _impl_.sql_body_ = nullptr; +inline ::pg_query::PartitionBoundSpec* PartitionCmd::release_bound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* released = _impl_.bound_; + _impl_.bound_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CreateFunctionStmt::unsafe_arena_release_sql_body() { - // @@protoc_insertion_point(field_release:pg_query.CreateFunctionStmt.sql_body) - - ::pg_query::Node* temp = _impl_.sql_body_; - _impl_.sql_body_ = nullptr; +inline ::pg_query::PartitionBoundSpec* PartitionCmd::unsafe_arena_release_bound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.bound) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* temp = _impl_.bound_; + _impl_.bound_ = nullptr; return temp; } -inline ::pg_query::Node* CreateFunctionStmt::_internal_mutable_sql_body() { - - if (_impl_.sql_body_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.sql_body_ = p; +inline ::pg_query::PartitionBoundSpec* PartitionCmd::_internal_mutable_bound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.bound_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(p); } - return _impl_.sql_body_; + return _impl_.bound_; } -inline ::pg_query::Node* CreateFunctionStmt::mutable_sql_body() { - ::pg_query::Node* _msg = _internal_mutable_sql_body(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.sql_body) +inline ::pg_query::PartitionBoundSpec* PartitionCmd::mutable_bound() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_bound(); + // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.bound) return _msg; } -inline void CreateFunctionStmt::set_allocated_sql_body(::pg_query::Node* sql_body) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void PartitionCmd::set_allocated_bound(::pg_query::PartitionBoundSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.sql_body_; + delete reinterpret_cast<::pg_query::PartitionBoundSpec*>(_impl_.bound_); } - if (sql_body) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sql_body); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - sql_body = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sql_body, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.sql_body_ = sql_body; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFunctionStmt.sql_body) + + _impl_.bound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.bound) +} + +// bool concurrent = 3 [json_name = "concurrent"]; +inline void PartitionCmd::clear_concurrent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.concurrent_ = false; +} +inline bool PartitionCmd::concurrent() const { + // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.concurrent) + return _internal_concurrent(); +} +inline void PartitionCmd::set_concurrent(bool value) { + _internal_set_concurrent(value); + // @@protoc_insertion_point(field_set:pg_query.PartitionCmd.concurrent) +} +inline bool PartitionCmd::_internal_concurrent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.concurrent_; +} +inline void PartitionCmd::_internal_set_concurrent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.concurrent_ = value; } // ------------------------------------------------------------------- -// AlterFunctionStmt +// RangeTblEntry -// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; -inline void AlterFunctionStmt::clear_objtype() { - _impl_.objtype_ = 0; +// .pg_query.Alias alias = 1 [json_name = "alias"]; +inline bool RangeTblEntry::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; } -inline ::pg_query::ObjectType AlterFunctionStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); +inline void RangeTblEntry::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::ObjectType AlterFunctionStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.objtype) - return _internal_objtype(); +inline const ::pg_query::Alias& RangeTblEntry::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void AlterFunctionStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; +inline const ::pg_query::Alias& RangeTblEntry::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.alias) + return _internal_alias(); } -inline void AlterFunctionStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.AlterFunctionStmt.objtype) +inline void RangeTblEntry::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.alias) } +inline ::pg_query::Alias* RangeTblEntry::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.ObjectWithArgs func = 2 [json_name = "func"]; -inline bool AlterFunctionStmt::_internal_has_func() const { - return this != internal_default_instance() && _impl_.func_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool AlterFunctionStmt::has_func() const { - return _internal_has_func(); +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.alias) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline void AlterFunctionStmt::clear_func() { - if (GetArenaForAllocation() == nullptr && _impl_.func_ != nullptr) { - delete _impl_.func_; +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - _impl_.func_ = nullptr; + return _impl_.alias_; } -inline const ::pg_query::ObjectWithArgs& AlterFunctionStmt::_internal_func() const { - const ::pg_query::ObjectWithArgs* p = _impl_.func_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline ::pg_query::Alias* RangeTblEntry::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.alias) + return _msg; } -inline const ::pg_query::ObjectWithArgs& AlterFunctionStmt::func() const { - // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.func) - return _internal_func(); +inline void RangeTblEntry::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.alias) } -inline void AlterFunctionStmt::unsafe_arena_set_allocated_func( - ::pg_query::ObjectWithArgs* func) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.func_); + +// .pg_query.Alias eref = 2 [json_name = "eref"]; +inline bool RangeTblEntry::has_eref() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.eref_ != nullptr); + return value; +} +inline void RangeTblEntry::clear_eref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.eref_ != nullptr) _impl_.eref_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Alias& RangeTblEntry::_internal_eref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.eref_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& RangeTblEntry::eref() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.eref) + return _internal_eref(); +} +inline void RangeTblEntry::unsafe_arena_set_allocated_eref(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eref_); } - _impl_.func_ = func; - if (func) { - + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterFunctionStmt.func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.eref) } -inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::release_func() { - - ::pg_query::ObjectWithArgs* temp = _impl_.func_; - _impl_.func_ = nullptr; +inline ::pg_query::Alias* RangeTblEntry::release_eref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* released = _impl_.eref_; + _impl_.eref_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::unsafe_arena_release_func() { - // @@protoc_insertion_point(field_release:pg_query.AlterFunctionStmt.func) - - ::pg_query::ObjectWithArgs* temp = _impl_.func_; - _impl_.func_ = nullptr; +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_eref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.eref) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Alias* temp = _impl_.eref_; + _impl_.eref_ = nullptr; return temp; } -inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::_internal_mutable_func() { - - if (_impl_.func_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.func_ = p; +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_eref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.eref_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.func_; + return _impl_.eref_; } -inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::mutable_func() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_func(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterFunctionStmt.func) +inline ::pg_query::Alias* RangeTblEntry::mutable_eref() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_eref(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.eref) return _msg; } -inline void AlterFunctionStmt::set_allocated_func(::pg_query::ObjectWithArgs* func) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblEntry::set_allocated_eref(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.func_; + delete reinterpret_cast<::pg_query::Alias*>(_impl_.eref_); } - if (func) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(func); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { - func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, func, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.func_ = func; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterFunctionStmt.func) + + _impl_.eref_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.eref) } -// repeated .pg_query.Node actions = 3 [json_name = "actions"]; -inline int AlterFunctionStmt::_internal_actions_size() const { - return _impl_.actions_.size(); +// .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"]; +inline void RangeTblEntry::clear_rtekind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rtekind_ = 0; } -inline int AlterFunctionStmt::actions_size() const { - return _internal_actions_size(); +inline ::pg_query::RTEKind RangeTblEntry::rtekind() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rtekind) + return _internal_rtekind(); } -inline void AlterFunctionStmt::clear_actions() { - _impl_.actions_.Clear(); +inline void RangeTblEntry::set_rtekind(::pg_query::RTEKind value) { + _internal_set_rtekind(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rtekind) } -inline ::pg_query::Node* AlterFunctionStmt::mutable_actions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterFunctionStmt.actions) - return _impl_.actions_.Mutable(index); +inline ::pg_query::RTEKind RangeTblEntry::_internal_rtekind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::RTEKind>(_impl_.rtekind_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterFunctionStmt::mutable_actions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFunctionStmt.actions) - return &_impl_.actions_; +inline void RangeTblEntry::_internal_set_rtekind(::pg_query::RTEKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rtekind_ = value; } -inline const ::pg_query::Node& AlterFunctionStmt::_internal_actions(int index) const { - return _impl_.actions_.Get(index); + +// uint32 relid = 4 [json_name = "relid"]; +inline void RangeTblEntry::clear_relid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relid_ = 0u; } -inline const ::pg_query::Node& AlterFunctionStmt::actions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.actions) - return _internal_actions(index); +inline ::uint32_t RangeTblEntry::relid() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relid) + return _internal_relid(); } -inline ::pg_query::Node* AlterFunctionStmt::_internal_add_actions() { - return _impl_.actions_.Add(); +inline void RangeTblEntry::set_relid(::uint32_t value) { + _internal_set_relid(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relid) } -inline ::pg_query::Node* AlterFunctionStmt::add_actions() { - ::pg_query::Node* _add = _internal_add_actions(); - // @@protoc_insertion_point(field_add:pg_query.AlterFunctionStmt.actions) - return _add; +inline ::uint32_t RangeTblEntry::_internal_relid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relid_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterFunctionStmt::actions() const { - // @@protoc_insertion_point(field_list:pg_query.AlterFunctionStmt.actions) - return _impl_.actions_; +inline void RangeTblEntry::_internal_set_relid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relid_ = value; } -// ------------------------------------------------------------------- - -// DoStmt - -// repeated .pg_query.Node args = 1 [json_name = "args"]; -inline int DoStmt::_internal_args_size() const { - return _impl_.args_.size(); +// bool inh = 5 [json_name = "inh"]; +inline void RangeTblEntry::clear_inh() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inh_ = false; } -inline int DoStmt::args_size() const { - return _internal_args_size(); +inline bool RangeTblEntry::inh() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.inh) + return _internal_inh(); } -inline void DoStmt::clear_args() { - _impl_.args_.Clear(); +inline void RangeTblEntry::set_inh(bool value) { + _internal_set_inh(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.inh) } -inline ::pg_query::Node* DoStmt::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DoStmt.args) - return _impl_.args_.Mutable(index); +inline bool RangeTblEntry::_internal_inh() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DoStmt::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DoStmt.args) - return &_impl_.args_; +inline void RangeTblEntry::_internal_set_inh(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inh_ = value; } -inline const ::pg_query::Node& DoStmt::_internal_args(int index) const { - return _impl_.args_.Get(index); + +// string relkind = 6 [json_name = "relkind"]; +inline void RangeTblEntry::clear_relkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relkind_.ClearToEmpty(); } -inline const ::pg_query::Node& DoStmt::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DoStmt.args) - return _internal_args(index); +inline const std::string& RangeTblEntry::relkind() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relkind) + return _internal_relkind(); } -inline ::pg_query::Node* DoStmt::_internal_add_args() { - return _impl_.args_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_relkind(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relkind_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relkind) } -inline ::pg_query::Node* DoStmt::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.DoStmt.args) - return _add; +inline std::string* RangeTblEntry::mutable_relkind() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relkind(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.relkind) + return _s; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DoStmt::args() const { - // @@protoc_insertion_point(field_list:pg_query.DoStmt.args) - return _impl_.args_; +inline const std::string& RangeTblEntry::_internal_relkind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relkind_.Get(); +} +inline void RangeTblEntry::_internal_set_relkind(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relkind_.Set(value, GetArena()); +} +inline std::string* RangeTblEntry::_internal_mutable_relkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relkind_.Mutable( GetArena()); +} +inline std::string* RangeTblEntry::release_relkind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.relkind) + return _impl_.relkind_.Release(); +} +inline void RangeTblEntry::set_allocated_relkind(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relkind_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relkind_.IsDefault()) { + _impl_.relkind_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.relkind) } -// ------------------------------------------------------------------- - -// RenameStmt - -// .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; -inline void RenameStmt::clear_rename_type() { - _impl_.rename_type_ = 0; +// int32 rellockmode = 7 [json_name = "rellockmode"]; +inline void RangeTblEntry::clear_rellockmode() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rellockmode_ = 0; } -inline ::pg_query::ObjectType RenameStmt::_internal_rename_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.rename_type_); +inline ::int32_t RangeTblEntry::rellockmode() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rellockmode) + return _internal_rellockmode(); } -inline ::pg_query::ObjectType RenameStmt::rename_type() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.rename_type) - return _internal_rename_type(); +inline void RangeTblEntry::set_rellockmode(::int32_t value) { + _internal_set_rellockmode(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rellockmode) } -inline void RenameStmt::_internal_set_rename_type(::pg_query::ObjectType value) { - - _impl_.rename_type_ = value; +inline ::int32_t RangeTblEntry::_internal_rellockmode() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rellockmode_; } -inline void RenameStmt::set_rename_type(::pg_query::ObjectType value) { - _internal_set_rename_type(value); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.rename_type) +inline void RangeTblEntry::_internal_set_rellockmode(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rellockmode_ = value; } -// .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; -inline void RenameStmt::clear_relation_type() { - _impl_.relation_type_ = 0; +// uint32 perminfoindex = 8 [json_name = "perminfoindex"]; +inline void RangeTblEntry::clear_perminfoindex() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.perminfoindex_ = 0u; } -inline ::pg_query::ObjectType RenameStmt::_internal_relation_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.relation_type_); +inline ::uint32_t RangeTblEntry::perminfoindex() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.perminfoindex) + return _internal_perminfoindex(); } -inline ::pg_query::ObjectType RenameStmt::relation_type() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.relation_type) - return _internal_relation_type(); +inline void RangeTblEntry::set_perminfoindex(::uint32_t value) { + _internal_set_perminfoindex(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.perminfoindex) } -inline void RenameStmt::_internal_set_relation_type(::pg_query::ObjectType value) { - - _impl_.relation_type_ = value; +inline ::uint32_t RangeTblEntry::_internal_perminfoindex() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.perminfoindex_; } -inline void RenameStmt::set_relation_type(::pg_query::ObjectType value) { - _internal_set_relation_type(value); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.relation_type) +inline void RangeTblEntry::_internal_set_perminfoindex(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.perminfoindex_ = value; } -// .pg_query.RangeVar relation = 3 [json_name = "relation"]; -inline bool RenameStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool RenameStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"]; +inline bool RangeTblEntry::has_tablesample() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.tablesample_ != nullptr); + return value; } -inline void RenameStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void RangeTblEntry::clear_tablesample() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.tablesample_ != nullptr) _impl_.tablesample_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::RangeVar& RenameStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::TableSampleClause& RangeTblEntry::_internal_tablesample() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TableSampleClause* p = _impl_.tablesample_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableSampleClause_default_instance_); } -inline const ::pg_query::RangeVar& RenameStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.relation) - return _internal_relation(); +inline const ::pg_query::TableSampleClause& RangeTblEntry::tablesample() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablesample) + return _internal_tablesample(); } -inline void RenameStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void RangeTblEntry::unsafe_arena_set_allocated_tablesample(::pg_query::TableSampleClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablesample_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RenameStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablesample) } -inline ::pg_query::RangeVar* RenameStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TableSampleClause* RangeTblEntry::release_tablesample() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::TableSampleClause* released = _impl_.tablesample_; + _impl_.tablesample_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* RenameStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.RenameStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TableSampleClause* RangeTblEntry::unsafe_arena_release_tablesample() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablesample) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::TableSampleClause* temp = _impl_.tablesample_; + _impl_.tablesample_ = nullptr; return temp; } -inline ::pg_query::RangeVar* RenameStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::TableSampleClause* RangeTblEntry::_internal_mutable_tablesample() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.tablesample_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArena()); + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(p); } - return _impl_.relation_; + return _impl_.tablesample_; } -inline ::pg_query::RangeVar* RenameStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.relation) +inline ::pg_query::TableSampleClause* RangeTblEntry::mutable_tablesample() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableSampleClause* _msg = _internal_mutable_tablesample(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablesample) return _msg; } -inline void RenameStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblEntry::set_allocated_tablesample(::pg_query::TableSampleClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::TableSampleClause*>(_impl_.tablesample_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableSampleClause*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.relation) -} -// .pg_query.Node object = 4 [json_name = "object"]; -inline bool RenameStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; + _impl_.tablesample_ = reinterpret_cast<::pg_query::TableSampleClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablesample) } -inline bool RenameStmt::has_object() const { - return _internal_has_object(); + +// .pg_query.Query subquery = 10 [json_name = "subquery"]; +inline bool RangeTblEntry::has_subquery() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.subquery_ != nullptr); + return value; } -inline void RenameStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void RangeTblEntry::clear_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.subquery_ != nullptr) _impl_.subquery_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& RenameStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Query& RangeTblEntry::_internal_subquery() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Query* p = _impl_.subquery_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Query_default_instance_); } -inline const ::pg_query::Node& RenameStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.object) - return _internal_object(); +inline const ::pg_query::Query& RangeTblEntry::subquery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.subquery) + return _internal_subquery(); } -inline void RenameStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void RangeTblEntry::unsafe_arena_set_allocated_subquery(::pg_query::Query* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subquery_); } - _impl_.object_ = object; - if (object) { - + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RenameStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.subquery) } -inline ::pg_query::Node* RenameStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Query* RangeTblEntry::release_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Query* released = _impl_.subquery_; + _impl_.subquery_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RenameStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.RenameStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Query* RangeTblEntry::unsafe_arena_release_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.subquery) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Query* temp = _impl_.subquery_; + _impl_.subquery_ = nullptr; return temp; } -inline ::pg_query::Node* RenameStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::Query* RangeTblEntry::_internal_mutable_subquery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.subquery_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Query>(GetArena()); + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(p); } - return _impl_.object_; + return _impl_.subquery_; } -inline ::pg_query::Node* RenameStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.object) +inline ::pg_query::Query* RangeTblEntry::mutable_subquery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Query* _msg = _internal_mutable_subquery(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.subquery) return _msg; } -inline void RenameStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblEntry::set_allocated_subquery(::pg_query::Query* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::Query*>(_impl_.subquery_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Query*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.object) + + _impl_.subquery_ = reinterpret_cast<::pg_query::Query*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.subquery) } -// string subname = 5 [json_name = "subname"]; -inline void RenameStmt::clear_subname() { - _impl_.subname_.ClearToEmpty(); +// bool security_barrier = 11 [json_name = "security_barrier"]; +inline void RangeTblEntry::clear_security_barrier() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.security_barrier_ = false; } -inline const std::string& RenameStmt::subname() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.subname) - return _internal_subname(); +inline bool RangeTblEntry::security_barrier() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_barrier) + return _internal_security_barrier(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RenameStmt::set_subname(ArgT0&& arg0, ArgT... args) { - - _impl_.subname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.subname) +inline void RangeTblEntry::set_security_barrier(bool value) { + _internal_set_security_barrier(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.security_barrier) } -inline std::string* RenameStmt::mutable_subname() { - std::string* _s = _internal_mutable_subname(); - // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.subname) - return _s; +inline bool RangeTblEntry::_internal_security_barrier() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.security_barrier_; } -inline const std::string& RenameStmt::_internal_subname() const { - return _impl_.subname_.Get(); +inline void RangeTblEntry::_internal_set_security_barrier(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.security_barrier_ = value; } -inline void RenameStmt::_internal_set_subname(const std::string& value) { - - _impl_.subname_.Set(value, GetArenaForAllocation()); + +// .pg_query.JoinType jointype = 12 [json_name = "jointype"]; +inline void RangeTblEntry::clear_jointype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.jointype_ = 0; } -inline std::string* RenameStmt::_internal_mutable_subname() { - - return _impl_.subname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::JoinType RangeTblEntry::jointype() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.jointype) + return _internal_jointype(); } -inline std::string* RenameStmt::release_subname() { - // @@protoc_insertion_point(field_release:pg_query.RenameStmt.subname) - return _impl_.subname_.Release(); +inline void RangeTblEntry::set_jointype(::pg_query::JoinType value) { + _internal_set_jointype(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.jointype) } -inline void RenameStmt::set_allocated_subname(std::string* subname) { - if (subname != nullptr) { - - } else { - - } - _impl_.subname_.SetAllocated(subname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.subname_.IsDefault()) { - _impl_.subname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.subname) +inline ::pg_query::JoinType RangeTblEntry::_internal_jointype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JoinType>(_impl_.jointype_); +} +inline void RangeTblEntry::_internal_set_jointype(::pg_query::JoinType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.jointype_ = value; } -// string newname = 6 [json_name = "newname"]; -inline void RenameStmt::clear_newname() { - _impl_.newname_.ClearToEmpty(); +// int32 joinmergedcols = 13 [json_name = "joinmergedcols"]; +inline void RangeTblEntry::clear_joinmergedcols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.joinmergedcols_ = 0; } -inline const std::string& RenameStmt::newname() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.newname) - return _internal_newname(); +inline ::int32_t RangeTblEntry::joinmergedcols() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinmergedcols) + return _internal_joinmergedcols(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RenameStmt::set_newname(ArgT0&& arg0, ArgT... args) { - - _impl_.newname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.newname) +inline void RangeTblEntry::set_joinmergedcols(::int32_t value) { + _internal_set_joinmergedcols(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.joinmergedcols) } -inline std::string* RenameStmt::mutable_newname() { - std::string* _s = _internal_mutable_newname(); - // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.newname) - return _s; +inline ::int32_t RangeTblEntry::_internal_joinmergedcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinmergedcols_; } -inline const std::string& RenameStmt::_internal_newname() const { - return _impl_.newname_.Get(); +inline void RangeTblEntry::_internal_set_joinmergedcols(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.joinmergedcols_ = value; } -inline void RenameStmt::_internal_set_newname(const std::string& value) { - - _impl_.newname_.Set(value, GetArenaForAllocation()); + +// repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"]; +inline int RangeTblEntry::_internal_joinaliasvars_size() const { + return _internal_joinaliasvars().size(); } -inline std::string* RenameStmt::_internal_mutable_newname() { - - return _impl_.newname_.Mutable(GetArenaForAllocation()); +inline int RangeTblEntry::joinaliasvars_size() const { + return _internal_joinaliasvars_size(); } -inline std::string* RenameStmt::release_newname() { - // @@protoc_insertion_point(field_release:pg_query.RenameStmt.newname) - return _impl_.newname_.Release(); +inline void RangeTblEntry::clear_joinaliasvars() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.joinaliasvars_.Clear(); } -inline void RenameStmt::set_allocated_newname(std::string* newname) { - if (newname != nullptr) { - - } else { - - } - _impl_.newname_.SetAllocated(newname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.newname_.IsDefault()) { - _impl_.newname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.newname) +inline ::pg_query::Node* RangeTblEntry::mutable_joinaliasvars(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinaliasvars) + return _internal_mutable_joinaliasvars()->Mutable(index); } - -// .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; -inline void RenameStmt::clear_behavior() { - _impl_.behavior_ = 0; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinaliasvars() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinaliasvars) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_joinaliasvars(); } -inline ::pg_query::DropBehavior RenameStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline const ::pg_query::Node& RangeTblEntry::joinaliasvars(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinaliasvars) + return _internal_joinaliasvars().Get(index); } -inline ::pg_query::DropBehavior RenameStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.behavior) - return _internal_behavior(); +inline ::pg_query::Node* RangeTblEntry::add_joinaliasvars() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_joinaliasvars()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinaliasvars) + return _add; } -inline void RenameStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinaliasvars() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinaliasvars) + return _internal_joinaliasvars(); } -inline void RenameStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.behavior) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinaliasvars() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinaliasvars_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinaliasvars() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinaliasvars_; } -// bool missing_ok = 8 [json_name = "missing_ok"]; -inline void RenameStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"]; +inline int RangeTblEntry::_internal_joinleftcols_size() const { + return _internal_joinleftcols().size(); } -inline bool RenameStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline int RangeTblEntry::joinleftcols_size() const { + return _internal_joinleftcols_size(); } -inline bool RenameStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.RenameStmt.missing_ok) - return _internal_missing_ok(); +inline void RangeTblEntry::clear_joinleftcols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.joinleftcols_.Clear(); } -inline void RenameStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::Node* RangeTblEntry::mutable_joinleftcols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinleftcols) + return _internal_mutable_joinleftcols()->Mutable(index); } -inline void RenameStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.RenameStmt.missing_ok) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinleftcols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinleftcols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_joinleftcols(); +} +inline const ::pg_query::Node& RangeTblEntry::joinleftcols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinleftcols) + return _internal_joinleftcols().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_joinleftcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_joinleftcols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinleftcols) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinleftcols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinleftcols) + return _internal_joinleftcols(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinleftcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinleftcols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinleftcols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinleftcols_; } -// ------------------------------------------------------------------- - -// RuleStmt - -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool RuleStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"]; +inline int RangeTblEntry::_internal_joinrightcols_size() const { + return _internal_joinrightcols().size(); } -inline bool RuleStmt::has_relation() const { - return _internal_has_relation(); +inline int RangeTblEntry::joinrightcols_size() const { + return _internal_joinrightcols_size(); } -inline void RuleStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void RangeTblEntry::clear_joinrightcols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.joinrightcols_.Clear(); } -inline const ::pg_query::RangeVar& RuleStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline ::pg_query::Node* RangeTblEntry::mutable_joinrightcols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinrightcols) + return _internal_mutable_joinrightcols()->Mutable(index); } -inline const ::pg_query::RangeVar& RuleStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.relation) - return _internal_relation(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_joinrightcols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinrightcols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_joinrightcols(); +} +inline const ::pg_query::Node& RangeTblEntry::joinrightcols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinrightcols) + return _internal_joinrightcols().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_joinrightcols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_joinrightcols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinrightcols) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::joinrightcols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinrightcols) + return _internal_joinrightcols(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_joinrightcols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.joinrightcols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_joinrightcols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.joinrightcols_; +} + +// .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"]; +inline bool RangeTblEntry::has_join_using_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.join_using_alias_ != nullptr); + return value; +} +inline void RangeTblEntry::clear_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.join_using_alias_ != nullptr) _impl_.join_using_alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; +} +inline const ::pg_query::Alias& RangeTblEntry::_internal_join_using_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.join_using_alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); +} +inline const ::pg_query::Alias& RangeTblEntry::join_using_alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.join_using_alias) + return _internal_join_using_alias(); } -inline void RuleStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void RangeTblEntry::unsafe_arena_set_allocated_join_using_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_using_alias_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RuleStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.join_using_alias) } -inline ::pg_query::RangeVar* RuleStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Alias* RangeTblEntry::release_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* released = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* RuleStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.RuleStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.join_using_alias) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Alias* temp = _impl_.join_using_alias_; + _impl_.join_using_alias_ = nullptr; return temp; } -inline ::pg_query::RangeVar* RuleStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_join_using_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.join_using_alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(p); } - return _impl_.relation_; + return _impl_.join_using_alias_; } -inline ::pg_query::RangeVar* RuleStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.relation) +inline ::pg_query::Alias* RangeTblEntry::mutable_join_using_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.join_using_alias) return _msg; } -inline void RuleStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblEntry::set_allocated_join_using_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Alias*>(_impl_.join_using_alias_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.relation) + + _impl_.join_using_alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.join_using_alias) } -// string rulename = 2 [json_name = "rulename"]; -inline void RuleStmt::clear_rulename() { - _impl_.rulename_.ClearToEmpty(); +// repeated .pg_query.Node functions = 18 [json_name = "functions"]; +inline int RangeTblEntry::_internal_functions_size() const { + return _internal_functions().size(); } -inline const std::string& RuleStmt::rulename() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.rulename) - return _internal_rulename(); +inline int RangeTblEntry::functions_size() const { + return _internal_functions_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RuleStmt::set_rulename(ArgT0&& arg0, ArgT... args) { - - _impl_.rulename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RuleStmt.rulename) +inline void RangeTblEntry::clear_functions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.functions_.Clear(); } -inline std::string* RuleStmt::mutable_rulename() { - std::string* _s = _internal_mutable_rulename(); - // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.rulename) - return _s; +inline ::pg_query::Node* RangeTblEntry::mutable_functions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.functions) + return _internal_mutable_functions()->Mutable(index); } -inline const std::string& RuleStmt::_internal_rulename() const { - return _impl_.rulename_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_functions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.functions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_functions(); } -inline void RuleStmt::_internal_set_rulename(const std::string& value) { - - _impl_.rulename_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& RangeTblEntry::functions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.functions) + return _internal_functions().Get(index); } -inline std::string* RuleStmt::_internal_mutable_rulename() { - - return _impl_.rulename_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* RangeTblEntry::add_functions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_functions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.functions) + return _add; } -inline std::string* RuleStmt::release_rulename() { - // @@protoc_insertion_point(field_release:pg_query.RuleStmt.rulename) - return _impl_.rulename_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::functions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.functions) + return _internal_functions(); } -inline void RuleStmt::set_allocated_rulename(std::string* rulename) { - if (rulename != nullptr) { - - } else { - - } - _impl_.rulename_.SetAllocated(rulename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.rulename_.IsDefault()) { - _impl_.rulename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.rulename) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_functions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.functions_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_functions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.functions_; } -// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; -inline bool RuleStmt::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; +// bool funcordinality = 19 [json_name = "funcordinality"]; +inline void RangeTblEntry::clear_funcordinality() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcordinality_ = false; } -inline bool RuleStmt::has_where_clause() const { - return _internal_has_where_clause(); +inline bool RangeTblEntry::funcordinality() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.funcordinality) + return _internal_funcordinality(); } -inline void RuleStmt::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void RangeTblEntry::set_funcordinality(bool value) { + _internal_set_funcordinality(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.funcordinality) +} +inline bool RangeTblEntry::_internal_funcordinality() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcordinality_; +} +inline void RangeTblEntry::_internal_set_funcordinality(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funcordinality_ = value; +} + +// .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"]; +inline bool RangeTblEntry::has_tablefunc() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.tablefunc_ != nullptr); + return value; +} +inline void RangeTblEntry::clear_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.tablefunc_ != nullptr) _impl_.tablefunc_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; } -inline const ::pg_query::Node& RuleStmt::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::TableFunc& RangeTblEntry::_internal_tablefunc() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TableFunc* p = _impl_.tablefunc_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TableFunc_default_instance_); } -inline const ::pg_query::Node& RuleStmt::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.where_clause) - return _internal_where_clause(); +inline const ::pg_query::TableFunc& RangeTblEntry::tablefunc() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablefunc) + return _internal_tablefunc(); } -inline void RuleStmt::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void RangeTblEntry::unsafe_arena_set_allocated_tablefunc(::pg_query::TableFunc* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tablefunc_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; } else { - + _impl_._has_bits_[0] &= ~0x00000020u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RuleStmt.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablefunc) } -inline ::pg_query::Node* RuleStmt::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TableFunc* RangeTblEntry::release_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::TableFunc* released = _impl_.tablefunc_; + _impl_.tablefunc_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RuleStmt::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.RuleStmt.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TableFunc* RangeTblEntry::unsafe_arena_release_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablefunc) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::TableFunc* temp = _impl_.tablefunc_; + _impl_.tablefunc_ = nullptr; return temp; } -inline ::pg_query::Node* RuleStmt::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::TableFunc* RangeTblEntry::_internal_mutable_tablefunc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.tablefunc_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TableFunc>(GetArena()); + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(p); } - return _impl_.where_clause_; + return _impl_.tablefunc_; } -inline ::pg_query::Node* RuleStmt::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.where_clause) +inline ::pg_query::TableFunc* RangeTblEntry::mutable_tablefunc() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TableFunc* _msg = _internal_mutable_tablefunc(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablefunc) return _msg; } -inline void RuleStmt::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblEntry::set_allocated_tablefunc(::pg_query::TableFunc* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::TableFunc*>(_impl_.tablefunc_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TableFunc*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000020u; } else { - + _impl_._has_bits_[0] &= ~0x00000020u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.where_clause) + + _impl_.tablefunc_ = reinterpret_cast<::pg_query::TableFunc*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablefunc) } -// .pg_query.CmdType event = 4 [json_name = "event"]; -inline void RuleStmt::clear_event() { - _impl_.event_ = 0; +// repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"]; +inline int RangeTblEntry::_internal_values_lists_size() const { + return _internal_values_lists().size(); } -inline ::pg_query::CmdType RuleStmt::_internal_event() const { - return static_cast< ::pg_query::CmdType >(_impl_.event_); +inline int RangeTblEntry::values_lists_size() const { + return _internal_values_lists_size(); } -inline ::pg_query::CmdType RuleStmt::event() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.event) - return _internal_event(); +inline void RangeTblEntry::clear_values_lists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.values_lists_.Clear(); } -inline void RuleStmt::_internal_set_event(::pg_query::CmdType value) { - - _impl_.event_ = value; +inline ::pg_query::Node* RangeTblEntry::mutable_values_lists(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.values_lists) + return _internal_mutable_values_lists()->Mutable(index); } -inline void RuleStmt::set_event(::pg_query::CmdType value) { - _internal_set_event(value); - // @@protoc_insertion_point(field_set:pg_query.RuleStmt.event) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_values_lists() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.values_lists) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_values_lists(); } - -// bool instead = 5 [json_name = "instead"]; -inline void RuleStmt::clear_instead() { - _impl_.instead_ = false; +inline const ::pg_query::Node& RangeTblEntry::values_lists(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.values_lists) + return _internal_values_lists().Get(index); } -inline bool RuleStmt::_internal_instead() const { - return _impl_.instead_; +inline ::pg_query::Node* RangeTblEntry::add_values_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_values_lists()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.values_lists) + return _add; } -inline bool RuleStmt::instead() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.instead) - return _internal_instead(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::values_lists() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.values_lists) + return _internal_values_lists(); } -inline void RuleStmt::_internal_set_instead(bool value) { - - _impl_.instead_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_values_lists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.values_lists_; } -inline void RuleStmt::set_instead(bool value) { - _internal_set_instead(value); - // @@protoc_insertion_point(field_set:pg_query.RuleStmt.instead) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_values_lists() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.values_lists_; } -// repeated .pg_query.Node actions = 6 [json_name = "actions"]; -inline int RuleStmt::_internal_actions_size() const { - return _impl_.actions_.size(); -} -inline int RuleStmt::actions_size() const { - return _internal_actions_size(); +// string ctename = 22 [json_name = "ctename"]; +inline void RangeTblEntry::clear_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctename_.ClearToEmpty(); } -inline void RuleStmt::clear_actions() { - _impl_.actions_.Clear(); +inline const std::string& RangeTblEntry::ctename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctename) + return _internal_ctename(); } -inline ::pg_query::Node* RuleStmt::mutable_actions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.actions) - return _impl_.actions_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_ctename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RuleStmt::mutable_actions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RuleStmt.actions) - return &_impl_.actions_; +inline std::string* RangeTblEntry::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_ctename(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.ctename) + return _s; } -inline const ::pg_query::Node& RuleStmt::_internal_actions(int index) const { - return _impl_.actions_.Get(index); +inline const std::string& RangeTblEntry::_internal_ctename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctename_.Get(); } -inline const ::pg_query::Node& RuleStmt::actions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.actions) - return _internal_actions(index); +inline void RangeTblEntry::_internal_set_ctename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctename_.Set(value, GetArena()); } -inline ::pg_query::Node* RuleStmt::_internal_add_actions() { - return _impl_.actions_.Add(); +inline std::string* RangeTblEntry::_internal_mutable_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.ctename_.Mutable( GetArena()); } -inline ::pg_query::Node* RuleStmt::add_actions() { - ::pg_query::Node* _add = _internal_add_actions(); - // @@protoc_insertion_point(field_add:pg_query.RuleStmt.actions) - return _add; +inline std::string* RangeTblEntry::release_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.ctename) + return _impl_.ctename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RuleStmt::actions() const { - // @@protoc_insertion_point(field_list:pg_query.RuleStmt.actions) - return _impl_.actions_; +inline void RangeTblEntry::set_allocated_ctename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.ctename_.IsDefault()) { + _impl_.ctename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.ctename) } -// bool replace = 7 [json_name = "replace"]; -inline void RuleStmt::clear_replace() { - _impl_.replace_ = false; +// uint32 ctelevelsup = 23 [json_name = "ctelevelsup"]; +inline void RangeTblEntry::clear_ctelevelsup() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctelevelsup_ = 0u; } -inline bool RuleStmt::_internal_replace() const { - return _impl_.replace_; +inline ::uint32_t RangeTblEntry::ctelevelsup() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctelevelsup) + return _internal_ctelevelsup(); } -inline bool RuleStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.RuleStmt.replace) - return _internal_replace(); +inline void RangeTblEntry::set_ctelevelsup(::uint32_t value) { + _internal_set_ctelevelsup(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctelevelsup) } -inline void RuleStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline ::uint32_t RangeTblEntry::_internal_ctelevelsup() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctelevelsup_; } -inline void RuleStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.RuleStmt.replace) +inline void RangeTblEntry::_internal_set_ctelevelsup(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctelevelsup_ = value; } -// ------------------------------------------------------------------- - -// NotifyStmt +// bool self_reference = 24 [json_name = "self_reference"]; +inline void RangeTblEntry::clear_self_reference() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.self_reference_ = false; +} +inline bool RangeTblEntry::self_reference() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.self_reference) + return _internal_self_reference(); +} +inline void RangeTblEntry::set_self_reference(bool value) { + _internal_set_self_reference(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.self_reference) +} +inline bool RangeTblEntry::_internal_self_reference() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.self_reference_; +} +inline void RangeTblEntry::_internal_set_self_reference(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.self_reference_ = value; +} -// string conditionname = 1 [json_name = "conditionname"]; -inline void NotifyStmt::clear_conditionname() { - _impl_.conditionname_.ClearToEmpty(); +// repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"]; +inline int RangeTblEntry::_internal_coltypes_size() const { + return _internal_coltypes().size(); } -inline const std::string& NotifyStmt::conditionname() const { - // @@protoc_insertion_point(field_get:pg_query.NotifyStmt.conditionname) - return _internal_conditionname(); +inline int RangeTblEntry::coltypes_size() const { + return _internal_coltypes_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void NotifyStmt::set_conditionname(ArgT0&& arg0, ArgT... args) { - - _impl_.conditionname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.NotifyStmt.conditionname) +inline void RangeTblEntry::clear_coltypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coltypes_.Clear(); } -inline std::string* NotifyStmt::mutable_conditionname() { - std::string* _s = _internal_mutable_conditionname(); - // @@protoc_insertion_point(field_mutable:pg_query.NotifyStmt.conditionname) - return _s; +inline ::pg_query::Node* RangeTblEntry::mutable_coltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypes) + return _internal_mutable_coltypes()->Mutable(index); } -inline const std::string& NotifyStmt::_internal_conditionname() const { - return _impl_.conditionname_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypes(); } -inline void NotifyStmt::_internal_set_conditionname(const std::string& value) { - - _impl_.conditionname_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& RangeTblEntry::coltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypes) + return _internal_coltypes().Get(index); } -inline std::string* NotifyStmt::_internal_mutable_conditionname() { - - return _impl_.conditionname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* RangeTblEntry::add_coltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypes) + return _add; } -inline std::string* NotifyStmt::release_conditionname() { - // @@protoc_insertion_point(field_release:pg_query.NotifyStmt.conditionname) - return _impl_.conditionname_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypes) + return _internal_coltypes(); } -inline void NotifyStmt::set_allocated_conditionname(std::string* conditionname) { - if (conditionname != nullptr) { - - } else { - - } - _impl_.conditionname_.SetAllocated(conditionname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conditionname_.IsDefault()) { - _impl_.conditionname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.NotifyStmt.conditionname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_coltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coltypes_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_coltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypes_; } -// string payload = 2 [json_name = "payload"]; -inline void NotifyStmt::clear_payload() { - _impl_.payload_.ClearToEmpty(); +// repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"]; +inline int RangeTblEntry::_internal_coltypmods_size() const { + return _internal_coltypmods().size(); } -inline const std::string& NotifyStmt::payload() const { - // @@protoc_insertion_point(field_get:pg_query.NotifyStmt.payload) - return _internal_payload(); +inline int RangeTblEntry::coltypmods_size() const { + return _internal_coltypmods_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void NotifyStmt::set_payload(ArgT0&& arg0, ArgT... args) { - - _impl_.payload_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.NotifyStmt.payload) +inline void RangeTblEntry::clear_coltypmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coltypmods_.Clear(); } -inline std::string* NotifyStmt::mutable_payload() { - std::string* _s = _internal_mutable_payload(); - // @@protoc_insertion_point(field_mutable:pg_query.NotifyStmt.payload) - return _s; +inline ::pg_query::Node* RangeTblEntry::mutable_coltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypmods) + return _internal_mutable_coltypmods()->Mutable(index); } -inline const std::string& NotifyStmt::_internal_payload() const { - return _impl_.payload_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_coltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coltypmods(); } -inline void NotifyStmt::_internal_set_payload(const std::string& value) { - - _impl_.payload_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& RangeTblEntry::coltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypmods) + return _internal_coltypmods().Get(index); } -inline std::string* NotifyStmt::_internal_mutable_payload() { - - return _impl_.payload_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* RangeTblEntry::add_coltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypmods) + return _add; } -inline std::string* NotifyStmt::release_payload() { - // @@protoc_insertion_point(field_release:pg_query.NotifyStmt.payload) - return _impl_.payload_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::coltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypmods) + return _internal_coltypmods(); } -inline void NotifyStmt::set_allocated_payload(std::string* payload) { - if (payload != nullptr) { - - } else { - - } - _impl_.payload_.SetAllocated(payload, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.payload_.IsDefault()) { - _impl_.payload_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.NotifyStmt.payload) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_coltypmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coltypmods_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_coltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coltypmods_; } -// ------------------------------------------------------------------- - -// ListenStmt +// repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"]; +inline int RangeTblEntry::_internal_colcollations_size() const { + return _internal_colcollations().size(); +} +inline int RangeTblEntry::colcollations_size() const { + return _internal_colcollations_size(); +} +inline void RangeTblEntry::clear_colcollations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.colcollations_.Clear(); +} +inline ::pg_query::Node* RangeTblEntry::mutable_colcollations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.colcollations) + return _internal_mutable_colcollations()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_colcollations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.colcollations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_colcollations(); +} +inline const ::pg_query::Node& RangeTblEntry::colcollations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.colcollations) + return _internal_colcollations().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_colcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_colcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.colcollations) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::colcollations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.colcollations) + return _internal_colcollations(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_colcollations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.colcollations_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_colcollations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.colcollations_; +} -// string conditionname = 1 [json_name = "conditionname"]; -inline void ListenStmt::clear_conditionname() { - _impl_.conditionname_.ClearToEmpty(); +// string enrname = 28 [json_name = "enrname"]; +inline void RangeTblEntry::clear_enrname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.enrname_.ClearToEmpty(); } -inline const std::string& ListenStmt::conditionname() const { - // @@protoc_insertion_point(field_get:pg_query.ListenStmt.conditionname) - return _internal_conditionname(); +inline const std::string& RangeTblEntry::enrname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrname) + return _internal_enrname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ListenStmt::set_conditionname(ArgT0&& arg0, ArgT... args) { - - _impl_.conditionname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ListenStmt.conditionname) +template +inline PROTOBUF_ALWAYS_INLINE void RangeTblEntry::set_enrname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.enrname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrname) } -inline std::string* ListenStmt::mutable_conditionname() { - std::string* _s = _internal_mutable_conditionname(); - // @@protoc_insertion_point(field_mutable:pg_query.ListenStmt.conditionname) +inline std::string* RangeTblEntry::mutable_enrname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_enrname(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.enrname) return _s; } -inline const std::string& ListenStmt::_internal_conditionname() const { - return _impl_.conditionname_.Get(); +inline const std::string& RangeTblEntry::_internal_enrname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.enrname_.Get(); } -inline void ListenStmt::_internal_set_conditionname(const std::string& value) { - - _impl_.conditionname_.Set(value, GetArenaForAllocation()); +inline void RangeTblEntry::_internal_set_enrname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.enrname_.Set(value, GetArena()); } -inline std::string* ListenStmt::_internal_mutable_conditionname() { - - return _impl_.conditionname_.Mutable(GetArenaForAllocation()); +inline std::string* RangeTblEntry::_internal_mutable_enrname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.enrname_.Mutable( GetArena()); } -inline std::string* ListenStmt::release_conditionname() { - // @@protoc_insertion_point(field_release:pg_query.ListenStmt.conditionname) - return _impl_.conditionname_.Release(); +inline std::string* RangeTblEntry::release_enrname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.enrname) + return _impl_.enrname_.Release(); } -inline void ListenStmt::set_allocated_conditionname(std::string* conditionname) { - if (conditionname != nullptr) { - - } else { - - } - _impl_.conditionname_.SetAllocated(conditionname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conditionname_.IsDefault()) { - _impl_.conditionname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ListenStmt.conditionname) +inline void RangeTblEntry::set_allocated_enrname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.enrname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.enrname_.IsDefault()) { + _impl_.enrname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.enrname) } -// ------------------------------------------------------------------- +// double enrtuples = 29 [json_name = "enrtuples"]; +inline void RangeTblEntry::clear_enrtuples() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.enrtuples_ = 0; +} +inline double RangeTblEntry::enrtuples() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrtuples) + return _internal_enrtuples(); +} +inline void RangeTblEntry::set_enrtuples(double value) { + _internal_set_enrtuples(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrtuples) +} +inline double RangeTblEntry::_internal_enrtuples() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.enrtuples_; +} +inline void RangeTblEntry::_internal_set_enrtuples(double value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.enrtuples_ = value; +} -// UnlistenStmt +// bool lateral = 30 [json_name = "lateral"]; +inline void RangeTblEntry::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; +} +inline bool RangeTblEntry::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.lateral) + return _internal_lateral(); +} +inline void RangeTblEntry::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.lateral) +} +inline bool RangeTblEntry::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; +} +inline void RangeTblEntry::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; +} -// string conditionname = 1 [json_name = "conditionname"]; -inline void UnlistenStmt::clear_conditionname() { - _impl_.conditionname_.ClearToEmpty(); +// bool in_from_cl = 31 [json_name = "inFromCl"]; +inline void RangeTblEntry::clear_in_from_cl() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_from_cl_ = false; } -inline const std::string& UnlistenStmt::conditionname() const { - // @@protoc_insertion_point(field_get:pg_query.UnlistenStmt.conditionname) - return _internal_conditionname(); +inline bool RangeTblEntry::in_from_cl() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.in_from_cl) + return _internal_in_from_cl(); } -template -inline PROTOBUF_ALWAYS_INLINE -void UnlistenStmt::set_conditionname(ArgT0&& arg0, ArgT... args) { - - _impl_.conditionname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.UnlistenStmt.conditionname) +inline void RangeTblEntry::set_in_from_cl(bool value) { + _internal_set_in_from_cl(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.in_from_cl) } -inline std::string* UnlistenStmt::mutable_conditionname() { - std::string* _s = _internal_mutable_conditionname(); - // @@protoc_insertion_point(field_mutable:pg_query.UnlistenStmt.conditionname) - return _s; +inline bool RangeTblEntry::_internal_in_from_cl() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_from_cl_; } -inline const std::string& UnlistenStmt::_internal_conditionname() const { - return _impl_.conditionname_.Get(); +inline void RangeTblEntry::_internal_set_in_from_cl(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.in_from_cl_ = value; } -inline void UnlistenStmt::_internal_set_conditionname(const std::string& value) { - - _impl_.conditionname_.Set(value, GetArenaForAllocation()); + +// repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"]; +inline int RangeTblEntry::_internal_security_quals_size() const { + return _internal_security_quals().size(); } -inline std::string* UnlistenStmt::_internal_mutable_conditionname() { - - return _impl_.conditionname_.Mutable(GetArenaForAllocation()); +inline int RangeTblEntry::security_quals_size() const { + return _internal_security_quals_size(); } -inline std::string* UnlistenStmt::release_conditionname() { - // @@protoc_insertion_point(field_release:pg_query.UnlistenStmt.conditionname) - return _impl_.conditionname_.Release(); +inline void RangeTblEntry::clear_security_quals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.security_quals_.Clear(); } -inline void UnlistenStmt::set_allocated_conditionname(std::string* conditionname) { - if (conditionname != nullptr) { - - } else { - - } - _impl_.conditionname_.SetAllocated(conditionname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conditionname_.IsDefault()) { - _impl_.conditionname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.UnlistenStmt.conditionname) +inline ::pg_query::Node* RangeTblEntry::mutable_security_quals(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.security_quals) + return _internal_mutable_security_quals()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblEntry::mutable_security_quals() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.security_quals) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_security_quals(); +} +inline const ::pg_query::Node& RangeTblEntry::security_quals(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_quals) + return _internal_security_quals().Get(index); +} +inline ::pg_query::Node* RangeTblEntry::add_security_quals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_security_quals()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.security_quals) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblEntry::security_quals() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.security_quals) + return _internal_security_quals(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblEntry::_internal_security_quals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.security_quals_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblEntry::_internal_mutable_security_quals() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.security_quals_; } // ------------------------------------------------------------------- -// TransactionStmt +// RTEPermissionInfo -// .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; -inline void TransactionStmt::clear_kind() { - _impl_.kind_ = 0; +// uint32 relid = 1 [json_name = "relid"]; +inline void RTEPermissionInfo::clear_relid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relid_ = 0u; } -inline ::pg_query::TransactionStmtKind TransactionStmt::_internal_kind() const { - return static_cast< ::pg_query::TransactionStmtKind >(_impl_.kind_); +inline ::uint32_t RTEPermissionInfo::relid() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.relid) + return _internal_relid(); } -inline ::pg_query::TransactionStmtKind TransactionStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.kind) - return _internal_kind(); +inline void RTEPermissionInfo::set_relid(::uint32_t value) { + _internal_set_relid(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.relid) } -inline void TransactionStmt::_internal_set_kind(::pg_query::TransactionStmtKind value) { - - _impl_.kind_ = value; +inline ::uint32_t RTEPermissionInfo::_internal_relid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relid_; } -inline void TransactionStmt::set_kind(::pg_query::TransactionStmtKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.kind) +inline void RTEPermissionInfo::_internal_set_relid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relid_ = value; } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int TransactionStmt::_internal_options_size() const { - return _impl_.options_.size(); +// bool inh = 2 [json_name = "inh"]; +inline void RTEPermissionInfo::clear_inh() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inh_ = false; } -inline int TransactionStmt::options_size() const { - return _internal_options_size(); +inline bool RTEPermissionInfo::inh() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inh) + return _internal_inh(); } -inline void TransactionStmt::clear_options() { - _impl_.options_.Clear(); +inline void RTEPermissionInfo::set_inh(bool value) { + _internal_set_inh(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inh) } -inline ::pg_query::Node* TransactionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.options) - return _impl_.options_.Mutable(index); +inline bool RTEPermissionInfo::_internal_inh() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TransactionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TransactionStmt.options) - return &_impl_.options_; +inline void RTEPermissionInfo::_internal_set_inh(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inh_ = value; } -inline const ::pg_query::Node& TransactionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// uint64 required_perms = 3 [json_name = "requiredPerms"]; +inline void RTEPermissionInfo::clear_required_perms() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.required_perms_ = ::uint64_t{0u}; } -inline const ::pg_query::Node& TransactionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.options) - return _internal_options(index); +inline ::uint64_t RTEPermissionInfo::required_perms() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.required_perms) + return _internal_required_perms(); } -inline ::pg_query::Node* TransactionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void RTEPermissionInfo::set_required_perms(::uint64_t value) { + _internal_set_required_perms(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.required_perms) } -inline ::pg_query::Node* TransactionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.TransactionStmt.options) - return _add; +inline ::uint64_t RTEPermissionInfo::_internal_required_perms() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.required_perms_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TransactionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.TransactionStmt.options) - return _impl_.options_; +inline void RTEPermissionInfo::_internal_set_required_perms(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.required_perms_ = value; } -// string savepoint_name = 3 [json_name = "savepoint_name"]; -inline void TransactionStmt::clear_savepoint_name() { - _impl_.savepoint_name_.ClearToEmpty(); +// uint32 check_as_user = 4 [json_name = "checkAsUser"]; +inline void RTEPermissionInfo::clear_check_as_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.check_as_user_ = 0u; } -inline const std::string& TransactionStmt::savepoint_name() const { - // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.savepoint_name) - return _internal_savepoint_name(); +inline ::uint32_t RTEPermissionInfo::check_as_user() const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.check_as_user) + return _internal_check_as_user(); } -template -inline PROTOBUF_ALWAYS_INLINE -void TransactionStmt::set_savepoint_name(ArgT0&& arg0, ArgT... args) { - - _impl_.savepoint_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.savepoint_name) +inline void RTEPermissionInfo::set_check_as_user(::uint32_t value) { + _internal_set_check_as_user(value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.check_as_user) } -inline std::string* TransactionStmt::mutable_savepoint_name() { - std::string* _s = _internal_mutable_savepoint_name(); - // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.savepoint_name) - return _s; +inline ::uint32_t RTEPermissionInfo::_internal_check_as_user() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.check_as_user_; } -inline const std::string& TransactionStmt::_internal_savepoint_name() const { - return _impl_.savepoint_name_.Get(); +inline void RTEPermissionInfo::_internal_set_check_as_user(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.check_as_user_ = value; } -inline void TransactionStmt::_internal_set_savepoint_name(const std::string& value) { - - _impl_.savepoint_name_.Set(value, GetArenaForAllocation()); + +// repeated uint64 selected_cols = 5 [json_name = "selectedCols"]; +inline int RTEPermissionInfo::_internal_selected_cols_size() const { + return _internal_selected_cols().size(); } -inline std::string* TransactionStmt::_internal_mutable_savepoint_name() { - - return _impl_.savepoint_name_.Mutable(GetArenaForAllocation()); +inline int RTEPermissionInfo::selected_cols_size() const { + return _internal_selected_cols_size(); } -inline std::string* TransactionStmt::release_savepoint_name() { - // @@protoc_insertion_point(field_release:pg_query.TransactionStmt.savepoint_name) - return _impl_.savepoint_name_.Release(); +inline void RTEPermissionInfo::clear_selected_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.selected_cols_.Clear(); } -inline void TransactionStmt::set_allocated_savepoint_name(std::string* savepoint_name) { - if (savepoint_name != nullptr) { - - } else { - - } - _impl_.savepoint_name_.SetAllocated(savepoint_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.savepoint_name_.IsDefault()) { - _impl_.savepoint_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TransactionStmt.savepoint_name) +inline ::uint64_t RTEPermissionInfo::selected_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.selected_cols) + return _internal_selected_cols().Get(index); +} +inline void RTEPermissionInfo::set_selected_cols(int index, ::uint64_t value) { + _internal_mutable_selected_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.selected_cols) +} +inline void RTEPermissionInfo::add_selected_cols(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_selected_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.selected_cols) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::selected_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.selected_cols) + return _internal_selected_cols(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_selected_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.selected_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_selected_cols(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_selected_cols() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.selected_cols_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_selected_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.selected_cols_; } -// string gid = 4 [json_name = "gid"]; -inline void TransactionStmt::clear_gid() { - _impl_.gid_.ClearToEmpty(); +// repeated uint64 inserted_cols = 6 [json_name = "insertedCols"]; +inline int RTEPermissionInfo::_internal_inserted_cols_size() const { + return _internal_inserted_cols().size(); } -inline const std::string& TransactionStmt::gid() const { - // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.gid) - return _internal_gid(); +inline int RTEPermissionInfo::inserted_cols_size() const { + return _internal_inserted_cols_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void TransactionStmt::set_gid(ArgT0&& arg0, ArgT... args) { - - _impl_.gid_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.gid) +inline void RTEPermissionInfo::clear_inserted_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inserted_cols_.Clear(); } -inline std::string* TransactionStmt::mutable_gid() { - std::string* _s = _internal_mutable_gid(); - // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.gid) - return _s; +inline ::uint64_t RTEPermissionInfo::inserted_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.inserted_cols) + return _internal_inserted_cols().Get(index); } -inline const std::string& TransactionStmt::_internal_gid() const { - return _impl_.gid_.Get(); +inline void RTEPermissionInfo::set_inserted_cols(int index, ::uint64_t value) { + _internal_mutable_inserted_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.inserted_cols) } -inline void TransactionStmt::_internal_set_gid(const std::string& value) { - - _impl_.gid_.Set(value, GetArenaForAllocation()); +inline void RTEPermissionInfo::add_inserted_cols(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_inserted_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.inserted_cols) } -inline std::string* TransactionStmt::_internal_mutable_gid() { - - return _impl_.gid_.Mutable(GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::inserted_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.inserted_cols) + return _internal_inserted_cols(); } -inline std::string* TransactionStmt::release_gid() { - // @@protoc_insertion_point(field_release:pg_query.TransactionStmt.gid) - return _impl_.gid_.Release(); +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_inserted_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.inserted_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_inserted_cols(); } -inline void TransactionStmt::set_allocated_gid(std::string* gid) { - if (gid != nullptr) { - - } else { - - } - _impl_.gid_.SetAllocated(gid, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.gid_.IsDefault()) { - _impl_.gid_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TransactionStmt.gid) +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_inserted_cols() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inserted_cols_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_inserted_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.inserted_cols_; } -// bool chain = 5 [json_name = "chain"]; -inline void TransactionStmt::clear_chain() { - _impl_.chain_ = false; +// repeated uint64 updated_cols = 7 [json_name = "updatedCols"]; +inline int RTEPermissionInfo::_internal_updated_cols_size() const { + return _internal_updated_cols().size(); } -inline bool TransactionStmt::_internal_chain() const { - return _impl_.chain_; +inline int RTEPermissionInfo::updated_cols_size() const { + return _internal_updated_cols_size(); } -inline bool TransactionStmt::chain() const { - // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.chain) - return _internal_chain(); +inline void RTEPermissionInfo::clear_updated_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.updated_cols_.Clear(); } -inline void TransactionStmt::_internal_set_chain(bool value) { - - _impl_.chain_ = value; +inline ::uint64_t RTEPermissionInfo::updated_cols(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RTEPermissionInfo.updated_cols) + return _internal_updated_cols().Get(index); } -inline void TransactionStmt::set_chain(bool value) { - _internal_set_chain(value); - // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.chain) +inline void RTEPermissionInfo::set_updated_cols(int index, ::uint64_t value) { + _internal_mutable_updated_cols()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RTEPermissionInfo.updated_cols) +} +inline void RTEPermissionInfo::add_updated_cols(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_updated_cols()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RTEPermissionInfo.updated_cols) +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::updated_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RTEPermissionInfo.updated_cols) + return _internal_updated_cols(); +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::mutable_updated_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RTEPermissionInfo.updated_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_updated_cols(); +} +inline const ::google::protobuf::RepeatedField<::uint64_t>& RTEPermissionInfo::_internal_updated_cols() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.updated_cols_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RTEPermissionInfo::_internal_mutable_updated_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.updated_cols_; } // ------------------------------------------------------------------- -// ViewStmt +// RangeTblFunction -// .pg_query.RangeVar view = 1 [json_name = "view"]; -inline bool ViewStmt::_internal_has_view() const { - return this != internal_default_instance() && _impl_.view_ != nullptr; -} -inline bool ViewStmt::has_view() const { - return _internal_has_view(); +// .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; +inline bool RangeTblFunction::has_funcexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.funcexpr_ != nullptr); + return value; } -inline void ViewStmt::clear_view() { - if (GetArenaForAllocation() == nullptr && _impl_.view_ != nullptr) { - delete _impl_.view_; - } - _impl_.view_ = nullptr; +inline void RangeTblFunction::clear_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.funcexpr_ != nullptr) _impl_.funcexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& ViewStmt::_internal_view() const { - const ::pg_query::RangeVar* p = _impl_.view_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& RangeTblFunction::_internal_funcexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.funcexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& ViewStmt::view() const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.view) - return _internal_view(); +inline const ::pg_query::Node& RangeTblFunction::funcexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcexpr) + return _internal_funcexpr(); } -inline void ViewStmt::unsafe_arena_set_allocated_view( - ::pg_query::RangeVar* view) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.view_); +inline void RangeTblFunction::unsafe_arena_set_allocated_funcexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.funcexpr_); } - _impl_.view_ = view; - if (view) { - + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ViewStmt.view) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblFunction.funcexpr) } -inline ::pg_query::RangeVar* ViewStmt::release_view() { - - ::pg_query::RangeVar* temp = _impl_.view_; - _impl_.view_ = nullptr; +inline ::pg_query::Node* RangeTblFunction::release_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* ViewStmt::unsafe_arena_release_view() { - // @@protoc_insertion_point(field_release:pg_query.ViewStmt.view) - - ::pg_query::RangeVar* temp = _impl_.view_; - _impl_.view_ = nullptr; +inline ::pg_query::Node* RangeTblFunction::unsafe_arena_release_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RangeTblFunction.funcexpr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; return temp; } -inline ::pg_query::RangeVar* ViewStmt::_internal_mutable_view() { - - if (_impl_.view_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.view_ = p; +inline ::pg_query::Node* RangeTblFunction::_internal_mutable_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.funcexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.view_; + return _impl_.funcexpr_; } -inline ::pg_query::RangeVar* ViewStmt::mutable_view() { - ::pg_query::RangeVar* _msg = _internal_mutable_view(); - // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.view) +inline ::pg_query::Node* RangeTblFunction::mutable_funcexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_funcexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funcexpr) return _msg; } -inline void ViewStmt::set_allocated_view(::pg_query::RangeVar* view) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RangeTblFunction::set_allocated_funcexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.view_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.funcexpr_); } - if (view) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(view); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - view = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, view, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.view_ = view; - // @@protoc_insertion_point(field_set_allocated:pg_query.ViewStmt.view) + + _impl_.funcexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblFunction.funcexpr) } -// repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; -inline int ViewStmt::_internal_aliases_size() const { - return _impl_.aliases_.size(); +// int32 funccolcount = 2 [json_name = "funccolcount"]; +inline void RangeTblFunction::clear_funccolcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccolcount_ = 0; } -inline int ViewStmt::aliases_size() const { - return _internal_aliases_size(); +inline ::int32_t RangeTblFunction::funccolcount() const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcount) + return _internal_funccolcount(); } -inline void ViewStmt::clear_aliases() { - _impl_.aliases_.Clear(); +inline void RangeTblFunction::set_funccolcount(::int32_t value) { + _internal_set_funccolcount(value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funccolcount) } -inline ::pg_query::Node* ViewStmt::mutable_aliases(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.aliases) - return _impl_.aliases_.Mutable(index); +inline ::int32_t RangeTblFunction::_internal_funccolcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccolcount_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ViewStmt::mutable_aliases() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ViewStmt.aliases) - return &_impl_.aliases_; +inline void RangeTblFunction::_internal_set_funccolcount(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.funccolcount_ = value; +} + +// repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; +inline int RangeTblFunction::_internal_funccolnames_size() const { + return _internal_funccolnames().size(); } -inline const ::pg_query::Node& ViewStmt::_internal_aliases(int index) const { - return _impl_.aliases_.Get(index); +inline int RangeTblFunction::funccolnames_size() const { + return _internal_funccolnames_size(); } -inline const ::pg_query::Node& ViewStmt::aliases(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.aliases) - return _internal_aliases(index); +inline void RangeTblFunction::clear_funccolnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccolnames_.Clear(); } -inline ::pg_query::Node* ViewStmt::_internal_add_aliases() { - return _impl_.aliases_.Add(); +inline ::pg_query::Node* RangeTblFunction::mutable_funccolnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolnames) + return _internal_mutable_funccolnames()->Mutable(index); } -inline ::pg_query::Node* ViewStmt::add_aliases() { - ::pg_query::Node* _add = _internal_add_aliases(); - // @@protoc_insertion_point(field_add:pg_query.ViewStmt.aliases) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccolnames(); +} +inline const ::pg_query::Node& RangeTblFunction::funccolnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolnames) + return _internal_funccolnames().Get(index); +} +inline ::pg_query::Node* RangeTblFunction::add_funccolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funccolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolnames) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ViewStmt::aliases() const { - // @@protoc_insertion_point(field_list:pg_query.ViewStmt.aliases) - return _impl_.aliases_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolnames) + return _internal_funccolnames(); } - -// .pg_query.Node query = 3 [json_name = "query"]; -inline bool ViewStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccolnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccolnames_; } -inline bool ViewStmt::has_query() const { - return _internal_has_query(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccolnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccolnames_; } -inline void ViewStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; + +// repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; +inline int RangeTblFunction::_internal_funccoltypes_size() const { + return _internal_funccoltypes().size(); } -inline const ::pg_query::Node& ViewStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline int RangeTblFunction::funccoltypes_size() const { + return _internal_funccoltypes_size(); } -inline const ::pg_query::Node& ViewStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.query) - return _internal_query(); +inline void RangeTblFunction::clear_funccoltypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccoltypes_.Clear(); } -inline void ViewStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); - } - _impl_.query_ = query; - if (query) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ViewStmt.query) +inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypes) + return _internal_mutable_funccoltypes()->Mutable(index); } -inline ::pg_query::Node* ViewStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccoltypes(); } -inline ::pg_query::Node* ViewStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.ViewStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; - return temp; +inline const ::pg_query::Node& RangeTblFunction::funccoltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypes) + return _internal_funccoltypes().Get(index); } -inline ::pg_query::Node* ViewStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; - } - return _impl_.query_; +inline ::pg_query::Node* RangeTblFunction::add_funccoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funccoltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypes) + return _add; } -inline ::pg_query::Node* ViewStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.query) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypes) + return _internal_funccoltypes(); } -inline void ViewStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.query_; - } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); - if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); - } - - } else { - - } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.ViewStmt.query) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccoltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccoltypes_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccoltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccoltypes_; } -// bool replace = 4 [json_name = "replace"]; -inline void ViewStmt::clear_replace() { - _impl_.replace_ = false; +// repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; +inline int RangeTblFunction::_internal_funccoltypmods_size() const { + return _internal_funccoltypmods().size(); } -inline bool ViewStmt::_internal_replace() const { - return _impl_.replace_; +inline int RangeTblFunction::funccoltypmods_size() const { + return _internal_funccoltypmods_size(); } -inline bool ViewStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.replace) - return _internal_replace(); +inline void RangeTblFunction::clear_funccoltypmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccoltypmods_.Clear(); } -inline void ViewStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypmods) + return _internal_mutable_funccoltypmods()->Mutable(index); } -inline void ViewStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.ViewStmt.replace) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccoltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccoltypmods(); } - -// repeated .pg_query.Node options = 5 [json_name = "options"]; -inline int ViewStmt::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::pg_query::Node& RangeTblFunction::funccoltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypmods) + return _internal_funccoltypmods().Get(index); } -inline int ViewStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* RangeTblFunction::add_funccoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funccoltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypmods) + return _add; } -inline void ViewStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccoltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypmods) + return _internal_funccoltypmods(); } -inline ::pg_query::Node* ViewStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.options) - return _impl_.options_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccoltypmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccoltypmods_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ViewStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ViewStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccoltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccoltypmods_; } -inline const ::pg_query::Node& ViewStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; +inline int RangeTblFunction::_internal_funccolcollations_size() const { + return _internal_funccolcollations().size(); } -inline const ::pg_query::Node& ViewStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.options) - return _internal_options(index); +inline int RangeTblFunction::funccolcollations_size() const { + return _internal_funccolcollations_size(); } -inline ::pg_query::Node* ViewStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void RangeTblFunction::clear_funccolcollations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funccolcollations_.Clear(); } -inline ::pg_query::Node* ViewStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.ViewStmt.options) - return _add; +inline ::pg_query::Node* RangeTblFunction::mutable_funccolcollations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolcollations) + return _internal_mutable_funccolcollations()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ViewStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.ViewStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RangeTblFunction::mutable_funccolcollations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolcollations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funccolcollations(); } - -// .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; -inline void ViewStmt::clear_with_check_option() { - _impl_.with_check_option_ = 0; +inline const ::pg_query::Node& RangeTblFunction::funccolcollations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcollations) + return _internal_funccolcollations().Get(index); } -inline ::pg_query::ViewCheckOption ViewStmt::_internal_with_check_option() const { - return static_cast< ::pg_query::ViewCheckOption >(_impl_.with_check_option_); +inline ::pg_query::Node* RangeTblFunction::add_funccolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funccolcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolcollations) + return _add; } -inline ::pg_query::ViewCheckOption ViewStmt::with_check_option() const { - // @@protoc_insertion_point(field_get:pg_query.ViewStmt.with_check_option) - return _internal_with_check_option(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RangeTblFunction::funccolcollations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolcollations) + return _internal_funccolcollations(); } -inline void ViewStmt::_internal_set_with_check_option(::pg_query::ViewCheckOption value) { - - _impl_.with_check_option_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RangeTblFunction::_internal_funccolcollations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funccolcollations_; } -inline void ViewStmt::set_with_check_option(::pg_query::ViewCheckOption value) { - _internal_set_with_check_option(value); - // @@protoc_insertion_point(field_set:pg_query.ViewStmt.with_check_option) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RangeTblFunction::_internal_mutable_funccolcollations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funccolcollations_; } -// ------------------------------------------------------------------- - -// LoadStmt - -// string filename = 1 [json_name = "filename"]; -inline void LoadStmt::clear_filename() { - _impl_.filename_.ClearToEmpty(); +// repeated uint64 funcparams = 7 [json_name = "funcparams"]; +inline int RangeTblFunction::_internal_funcparams_size() const { + return _internal_funcparams().size(); } -inline const std::string& LoadStmt::filename() const { - // @@protoc_insertion_point(field_get:pg_query.LoadStmt.filename) - return _internal_filename(); +inline int RangeTblFunction::funcparams_size() const { + return _internal_funcparams_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void LoadStmt::set_filename(ArgT0&& arg0, ArgT... args) { - - _impl_.filename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.LoadStmt.filename) +inline void RangeTblFunction::clear_funcparams() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcparams_.Clear(); } -inline std::string* LoadStmt::mutable_filename() { - std::string* _s = _internal_mutable_filename(); - // @@protoc_insertion_point(field_mutable:pg_query.LoadStmt.filename) - return _s; +inline ::uint64_t RangeTblFunction::funcparams(int index) const { + // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcparams) + return _internal_funcparams().Get(index); } -inline const std::string& LoadStmt::_internal_filename() const { - return _impl_.filename_.Get(); +inline void RangeTblFunction::set_funcparams(int index, ::uint64_t value) { + _internal_mutable_funcparams()->Set(index, value); + // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funcparams) } -inline void LoadStmt::_internal_set_filename(const std::string& value) { - - _impl_.filename_.Set(value, GetArenaForAllocation()); +inline void RangeTblFunction::add_funcparams(::uint64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _internal_mutable_funcparams()->Add(value); + // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funcparams) } -inline std::string* LoadStmt::_internal_mutable_filename() { - - return _impl_.filename_.Mutable(GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::funcparams() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funcparams) + return _internal_funcparams(); } -inline std::string* LoadStmt::release_filename() { - // @@protoc_insertion_point(field_release:pg_query.LoadStmt.filename) - return _impl_.filename_.Release(); +inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::mutable_funcparams() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funcparams) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funcparams(); } -inline void LoadStmt::set_allocated_filename(std::string* filename) { - if (filename != nullptr) { - - } else { - - } - _impl_.filename_.SetAllocated(filename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.filename_.IsDefault()) { - _impl_.filename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.LoadStmt.filename) +inline const ::google::protobuf::RepeatedField<::uint64_t>& RangeTblFunction::_internal_funcparams() + const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcparams_; +} +inline ::google::protobuf::RepeatedField<::uint64_t>* RangeTblFunction::_internal_mutable_funcparams() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcparams_; } // ------------------------------------------------------------------- -// CreateDomainStmt +// TableSampleClause -// repeated .pg_query.Node domainname = 1 [json_name = "domainname"]; -inline int CreateDomainStmt::_internal_domainname_size() const { - return _impl_.domainname_.size(); +// uint32 tsmhandler = 1 [json_name = "tsmhandler"]; +inline void TableSampleClause::clear_tsmhandler() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tsmhandler_ = 0u; } -inline int CreateDomainStmt::domainname_size() const { - return _internal_domainname_size(); +inline ::uint32_t TableSampleClause::tsmhandler() const { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.tsmhandler) + return _internal_tsmhandler(); } -inline void CreateDomainStmt::clear_domainname() { - _impl_.domainname_.Clear(); +inline void TableSampleClause::set_tsmhandler(::uint32_t value) { + _internal_set_tsmhandler(value); + // @@protoc_insertion_point(field_set:pg_query.TableSampleClause.tsmhandler) } -inline ::pg_query::Node* CreateDomainStmt::mutable_domainname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.domainname) - return _impl_.domainname_.Mutable(index); +inline ::uint32_t TableSampleClause::_internal_tsmhandler() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tsmhandler_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateDomainStmt::mutable_domainname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateDomainStmt.domainname) - return &_impl_.domainname_; +inline void TableSampleClause::_internal_set_tsmhandler(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tsmhandler_ = value; } -inline const ::pg_query::Node& CreateDomainStmt::_internal_domainname(int index) const { - return _impl_.domainname_.Get(index); + +// repeated .pg_query.Node args = 2 [json_name = "args"]; +inline int TableSampleClause::_internal_args_size() const { + return _internal_args().size(); } -inline const ::pg_query::Node& CreateDomainStmt::domainname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.domainname) - return _internal_domainname(index); +inline int TableSampleClause::args_size() const { + return _internal_args_size(); +} +inline void TableSampleClause::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline ::pg_query::Node* CreateDomainStmt::_internal_add_domainname() { - return _impl_.domainname_.Add(); +inline ::pg_query::Node* TableSampleClause::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.args) + return _internal_mutable_args()->Mutable(index); } -inline ::pg_query::Node* CreateDomainStmt::add_domainname() { - ::pg_query::Node* _add = _internal_add_domainname(); - // @@protoc_insertion_point(field_add:pg_query.CreateDomainStmt.domainname) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TableSampleClause::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TableSampleClause.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); +} +inline const ::pg_query::Node& TableSampleClause::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* TableSampleClause::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TableSampleClause.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateDomainStmt::domainname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateDomainStmt.domainname) - return _impl_.domainname_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TableSampleClause::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TableSampleClause.args) + return _internal_args(); } - -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool CreateDomainStmt::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TableSampleClause::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline bool CreateDomainStmt::has_type_name() const { - return _internal_has_type_name(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TableSampleClause::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -inline void CreateDomainStmt::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; + +// .pg_query.Node repeatable = 3 [json_name = "repeatable"]; +inline bool TableSampleClause::has_repeatable() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.repeatable_ != nullptr); + return value; } -inline const ::pg_query::TypeName& CreateDomainStmt::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline void TableSampleClause::clear_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.repeatable_ != nullptr) _impl_.repeatable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& CreateDomainStmt::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.type_name) - return _internal_type_name(); +inline const ::pg_query::Node& TableSampleClause::_internal_repeatable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.repeatable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& TableSampleClause::repeatable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.repeatable) + return _internal_repeatable(); } -inline void CreateDomainStmt::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); +inline void TableSampleClause::unsafe_arena_set_allocated_repeatable(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.repeatable_); } - _impl_.type_name_ = type_name; - if (type_name) { - + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateDomainStmt.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableSampleClause.repeatable) } -inline ::pg_query::TypeName* CreateDomainStmt::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::Node* TableSampleClause::release_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateDomainStmt::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.CreateDomainStmt.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::Node* TableSampleClause::unsafe_arena_release_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TableSampleClause.repeatable) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.repeatable_; + _impl_.repeatable_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateDomainStmt::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; +inline ::pg_query::Node* TableSampleClause::_internal_mutable_repeatable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.repeatable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.type_name_; + return _impl_.repeatable_; } -inline ::pg_query::TypeName* CreateDomainStmt::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.type_name) +inline ::pg_query::Node* TableSampleClause::mutable_repeatable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_repeatable(); + // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.repeatable) return _msg; } -inline void CreateDomainStmt::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void TableSampleClause::set_allocated_repeatable(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.type_name_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.repeatable_); } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateDomainStmt.type_name) -} -// .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"]; -inline bool CreateDomainStmt::_internal_has_coll_clause() const { - return this != internal_default_instance() && _impl_.coll_clause_ != nullptr; -} -inline bool CreateDomainStmt::has_coll_clause() const { - return _internal_has_coll_clause(); + _impl_.repeatable_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.TableSampleClause.repeatable) } -inline void CreateDomainStmt::clear_coll_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.coll_clause_ != nullptr) { - delete _impl_.coll_clause_; - } - _impl_.coll_clause_ = nullptr; + +// ------------------------------------------------------------------- + +// WithCheckOption + +// .pg_query.WCOKind kind = 1 [json_name = "kind"]; +inline void WithCheckOption::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline const ::pg_query::CollateClause& CreateDomainStmt::_internal_coll_clause() const { - const ::pg_query::CollateClause* p = _impl_.coll_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_CollateClause_default_instance_); +inline ::pg_query::WCOKind WithCheckOption::kind() const { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.kind) + return _internal_kind(); } -inline const ::pg_query::CollateClause& CreateDomainStmt::coll_clause() const { - // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.coll_clause) - return _internal_coll_clause(); +inline void WithCheckOption::set_kind(::pg_query::WCOKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.kind) } -inline void CreateDomainStmt::unsafe_arena_set_allocated_coll_clause( - ::pg_query::CollateClause* coll_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.coll_clause_); - } - _impl_.coll_clause_ = coll_clause; - if (coll_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateDomainStmt.coll_clause) +inline ::pg_query::WCOKind WithCheckOption::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::WCOKind>(_impl_.kind_); } -inline ::pg_query::CollateClause* CreateDomainStmt::release_coll_clause() { - - ::pg_query::CollateClause* temp = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void WithCheckOption::_internal_set_kind(::pg_query::WCOKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -inline ::pg_query::CollateClause* CreateDomainStmt::unsafe_arena_release_coll_clause() { - // @@protoc_insertion_point(field_release:pg_query.CreateDomainStmt.coll_clause) - - ::pg_query::CollateClause* temp = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; - return temp; + +// string relname = 2 [json_name = "relname"]; +inline void WithCheckOption::clear_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.ClearToEmpty(); } -inline ::pg_query::CollateClause* CreateDomainStmt::_internal_mutable_coll_clause() { - - if (_impl_.coll_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArenaForAllocation()); - _impl_.coll_clause_ = p; - } - return _impl_.coll_clause_; +inline const std::string& WithCheckOption::relname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.relname) + return _internal_relname(); } -inline ::pg_query::CollateClause* CreateDomainStmt::mutable_coll_clause() { - ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.coll_clause) - return _msg; +template +inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_relname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.relname) } -inline void CreateDomainStmt::set_allocated_coll_clause(::pg_query::CollateClause* coll_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.coll_clause_; - } - if (coll_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(coll_clause); - if (message_arena != submessage_arena) { - coll_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, coll_clause, submessage_arena); - } - - } else { - - } - _impl_.coll_clause_ = coll_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateDomainStmt.coll_clause) +inline std::string* WithCheckOption::mutable_relname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_relname(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.relname) + return _s; } - -// repeated .pg_query.Node constraints = 4 [json_name = "constraints"]; -inline int CreateDomainStmt::_internal_constraints_size() const { - return _impl_.constraints_.size(); +inline const std::string& WithCheckOption::_internal_relname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relname_.Get(); } -inline int CreateDomainStmt::constraints_size() const { - return _internal_constraints_size(); +inline void WithCheckOption::_internal_set_relname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relname_.Set(value, GetArena()); } -inline void CreateDomainStmt::clear_constraints() { - _impl_.constraints_.Clear(); +inline std::string* WithCheckOption::_internal_mutable_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.relname_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateDomainStmt::mutable_constraints(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.constraints) - return _impl_.constraints_.Mutable(index); +inline std::string* WithCheckOption::release_relname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.relname) + return _impl_.relname_.Release(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateDomainStmt::mutable_constraints() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateDomainStmt.constraints) - return &_impl_.constraints_; +inline void WithCheckOption::set_allocated_relname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.relname_.IsDefault()) { + _impl_.relname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.relname) } -inline const ::pg_query::Node& CreateDomainStmt::_internal_constraints(int index) const { - return _impl_.constraints_.Get(index); + +// string polname = 3 [json_name = "polname"]; +inline void WithCheckOption::clear_polname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.polname_.ClearToEmpty(); } -inline const ::pg_query::Node& CreateDomainStmt::constraints(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.constraints) - return _internal_constraints(index); +inline const std::string& WithCheckOption::polname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.polname) + return _internal_polname(); } -inline ::pg_query::Node* CreateDomainStmt::_internal_add_constraints() { - return _impl_.constraints_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE void WithCheckOption::set_polname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.polname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.polname) } -inline ::pg_query::Node* CreateDomainStmt::add_constraints() { - ::pg_query::Node* _add = _internal_add_constraints(); - // @@protoc_insertion_point(field_add:pg_query.CreateDomainStmt.constraints) - return _add; +inline std::string* WithCheckOption::mutable_polname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_polname(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.polname) + return _s; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateDomainStmt::constraints() const { - // @@protoc_insertion_point(field_list:pg_query.CreateDomainStmt.constraints) - return _impl_.constraints_; +inline const std::string& WithCheckOption::_internal_polname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.polname_.Get(); } - -// ------------------------------------------------------------------- - -// CreatedbStmt - -// string dbname = 1 [json_name = "dbname"]; -inline void CreatedbStmt::clear_dbname() { - _impl_.dbname_.ClearToEmpty(); +inline void WithCheckOption::_internal_set_polname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.polname_.Set(value, GetArena()); } -inline const std::string& CreatedbStmt::dbname() const { - // @@protoc_insertion_point(field_get:pg_query.CreatedbStmt.dbname) - return _internal_dbname(); +inline std::string* WithCheckOption::_internal_mutable_polname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.polname_.Mutable( GetArena()); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreatedbStmt::set_dbname(ArgT0&& arg0, ArgT... args) { - - _impl_.dbname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreatedbStmt.dbname) +inline std::string* WithCheckOption::release_polname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.polname) + return _impl_.polname_.Release(); } -inline std::string* CreatedbStmt::mutable_dbname() { - std::string* _s = _internal_mutable_dbname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatedbStmt.dbname) - return _s; +inline void WithCheckOption::set_allocated_polname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.polname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.polname_.IsDefault()) { + _impl_.polname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.polname) } -inline const std::string& CreatedbStmt::_internal_dbname() const { - return _impl_.dbname_.Get(); + +// .pg_query.Node qual = 4 [json_name = "qual"]; +inline bool WithCheckOption::has_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + return value; } -inline void CreatedbStmt::_internal_set_dbname(const std::string& value) { - - _impl_.dbname_.Set(value, GetArenaForAllocation()); +inline void WithCheckOption::clear_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* CreatedbStmt::_internal_mutable_dbname() { - - return _impl_.dbname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::Node& WithCheckOption::_internal_qual() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* CreatedbStmt::release_dbname() { - // @@protoc_insertion_point(field_release:pg_query.CreatedbStmt.dbname) - return _impl_.dbname_.Release(); +inline const ::pg_query::Node& WithCheckOption::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.qual) + return _internal_qual(); } -inline void CreatedbStmt::set_allocated_dbname(std::string* dbname) { - if (dbname != nullptr) { - - } else { - +inline void WithCheckOption::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.dbname_.SetAllocated(dbname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.dbname_.IsDefault()) { - _impl_.dbname_.Set("", GetArenaForAllocation()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatedbStmt.dbname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WithCheckOption.qual) } +inline ::pg_query::Node* WithCheckOption::release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int CreatedbStmt::_internal_options_size() const { - return _impl_.options_.size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int CreatedbStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* WithCheckOption::unsafe_arena_release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.qual) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; + return temp; } -inline void CreatedbStmt::clear_options() { - _impl_.options_.Clear(); +inline ::pg_query::Node* WithCheckOption::_internal_mutable_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.qual_; } -inline ::pg_query::Node* CreatedbStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatedbStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* WithCheckOption::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.qual) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatedbStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatedbStmt.options) - return &_impl_.options_; +inline void WithCheckOption::set_allocated_qual(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.qual) } -inline const ::pg_query::Node& CreatedbStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool cascaded = 5 [json_name = "cascaded"]; +inline void WithCheckOption::clear_cascaded() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cascaded_ = false; } -inline const ::pg_query::Node& CreatedbStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatedbStmt.options) - return _internal_options(index); +inline bool WithCheckOption::cascaded() const { + // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.cascaded) + return _internal_cascaded(); } -inline ::pg_query::Node* CreatedbStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void WithCheckOption::set_cascaded(bool value) { + _internal_set_cascaded(value); + // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.cascaded) } -inline ::pg_query::Node* CreatedbStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreatedbStmt.options) - return _add; +inline bool WithCheckOption::_internal_cascaded() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cascaded_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatedbStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreatedbStmt.options) - return _impl_.options_; +inline void WithCheckOption::_internal_set_cascaded(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cascaded_ = value; } // ------------------------------------------------------------------- -// DropdbStmt +// SortGroupClause -// string dbname = 1 [json_name = "dbname"]; -inline void DropdbStmt::clear_dbname() { - _impl_.dbname_.ClearToEmpty(); +// uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; +inline void SortGroupClause::clear_tle_sort_group_ref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tle_sort_group_ref_ = 0u; } -inline const std::string& DropdbStmt::dbname() const { - // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.dbname) - return _internal_dbname(); +inline ::uint32_t SortGroupClause::tle_sort_group_ref() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.tle_sort_group_ref) + return _internal_tle_sort_group_ref(); } -template -inline PROTOBUF_ALWAYS_INLINE -void DropdbStmt::set_dbname(ArgT0&& arg0, ArgT... args) { - - _impl_.dbname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DropdbStmt.dbname) +inline void SortGroupClause::set_tle_sort_group_ref(::uint32_t value) { + _internal_set_tle_sort_group_ref(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.tle_sort_group_ref) } -inline std::string* DropdbStmt::mutable_dbname() { - std::string* _s = _internal_mutable_dbname(); - // @@protoc_insertion_point(field_mutable:pg_query.DropdbStmt.dbname) - return _s; +inline ::uint32_t SortGroupClause::_internal_tle_sort_group_ref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tle_sort_group_ref_; } -inline const std::string& DropdbStmt::_internal_dbname() const { - return _impl_.dbname_.Get(); +inline void SortGroupClause::_internal_set_tle_sort_group_ref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tle_sort_group_ref_ = value; } -inline void DropdbStmt::_internal_set_dbname(const std::string& value) { - - _impl_.dbname_.Set(value, GetArenaForAllocation()); + +// uint32 eqop = 2 [json_name = "eqop"]; +inline void SortGroupClause::clear_eqop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.eqop_ = 0u; } -inline std::string* DropdbStmt::_internal_mutable_dbname() { - - return _impl_.dbname_.Mutable(GetArenaForAllocation()); +inline ::uint32_t SortGroupClause::eqop() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.eqop) + return _internal_eqop(); } -inline std::string* DropdbStmt::release_dbname() { - // @@protoc_insertion_point(field_release:pg_query.DropdbStmt.dbname) - return _impl_.dbname_.Release(); +inline void SortGroupClause::set_eqop(::uint32_t value) { + _internal_set_eqop(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.eqop) } -inline void DropdbStmt::set_allocated_dbname(std::string* dbname) { - if (dbname != nullptr) { - - } else { - - } - _impl_.dbname_.SetAllocated(dbname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.dbname_.IsDefault()) { - _impl_.dbname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DropdbStmt.dbname) +inline ::uint32_t SortGroupClause::_internal_eqop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.eqop_; +} +inline void SortGroupClause::_internal_set_eqop(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.eqop_ = value; } -// bool missing_ok = 2 [json_name = "missing_ok"]; -inline void DropdbStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// uint32 sortop = 3 [json_name = "sortop"]; +inline void SortGroupClause::clear_sortop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sortop_ = 0u; } -inline bool DropdbStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::uint32_t SortGroupClause::sortop() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.sortop) + return _internal_sortop(); } -inline bool DropdbStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.missing_ok) - return _internal_missing_ok(); +inline void SortGroupClause::set_sortop(::uint32_t value) { + _internal_set_sortop(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.sortop) } -inline void DropdbStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::uint32_t SortGroupClause::_internal_sortop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sortop_; } -inline void DropdbStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropdbStmt.missing_ok) +inline void SortGroupClause::_internal_set_sortop(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.sortop_ = value; } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int DropdbStmt::_internal_options_size() const { - return _impl_.options_.size(); +// bool nulls_first = 4 [json_name = "nulls_first"]; +inline void SortGroupClause::clear_nulls_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_first_ = false; } -inline int DropdbStmt::options_size() const { - return _internal_options_size(); +inline bool SortGroupClause::nulls_first() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.nulls_first) + return _internal_nulls_first(); } -inline void DropdbStmt::clear_options() { - _impl_.options_.Clear(); +inline void SortGroupClause::set_nulls_first(bool value) { + _internal_set_nulls_first(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.nulls_first) } -inline ::pg_query::Node* DropdbStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DropdbStmt.options) - return _impl_.options_.Mutable(index); +inline bool SortGroupClause::_internal_nulls_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nulls_first_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DropdbStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DropdbStmt.options) - return &_impl_.options_; +inline void SortGroupClause::_internal_set_nulls_first(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulls_first_ = value; } -inline const ::pg_query::Node& DropdbStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool hashable = 5 [json_name = "hashable"]; +inline void SortGroupClause::clear_hashable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.hashable_ = false; } -inline const ::pg_query::Node& DropdbStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.options) - return _internal_options(index); +inline bool SortGroupClause::hashable() const { + // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.hashable) + return _internal_hashable(); } -inline ::pg_query::Node* DropdbStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void SortGroupClause::set_hashable(bool value) { + _internal_set_hashable(value); + // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.hashable) } -inline ::pg_query::Node* DropdbStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.DropdbStmt.options) - return _add; +inline bool SortGroupClause::_internal_hashable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.hashable_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DropdbStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.DropdbStmt.options) - return _impl_.options_; +inline void SortGroupClause::_internal_set_hashable(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.hashable_ = value; } // ------------------------------------------------------------------- -// VacuumStmt +// GroupingSet -// repeated .pg_query.Node options = 1 [json_name = "options"]; -inline int VacuumStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int VacuumStmt::options_size() const { - return _internal_options_size(); -} -inline void VacuumStmt::clear_options() { - _impl_.options_.Clear(); -} -inline ::pg_query::Node* VacuumStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.VacuumStmt.options) - return _impl_.options_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -VacuumStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumStmt.options) - return &_impl_.options_; -} -inline const ::pg_query::Node& VacuumStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +// .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; +inline void GroupingSet::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline const ::pg_query::Node& VacuumStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.options) - return _internal_options(index); +inline ::pg_query::GroupingSetKind GroupingSet::kind() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.kind) + return _internal_kind(); } -inline ::pg_query::Node* VacuumStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void GroupingSet::set_kind(::pg_query::GroupingSetKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingSet.kind) } -inline ::pg_query::Node* VacuumStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.VacuumStmt.options) - return _add; +inline ::pg_query::GroupingSetKind GroupingSet::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::GroupingSetKind>(_impl_.kind_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -VacuumStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.VacuumStmt.options) - return _impl_.options_; +inline void GroupingSet::_internal_set_kind(::pg_query::GroupingSetKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -// repeated .pg_query.Node rels = 2 [json_name = "rels"]; -inline int VacuumStmt::_internal_rels_size() const { - return _impl_.rels_.size(); +// repeated .pg_query.Node content = 2 [json_name = "content"]; +inline int GroupingSet::_internal_content_size() const { + return _internal_content().size(); } -inline int VacuumStmt::rels_size() const { - return _internal_rels_size(); +inline int GroupingSet::content_size() const { + return _internal_content_size(); } -inline void VacuumStmt::clear_rels() { - _impl_.rels_.Clear(); +inline void GroupingSet::clear_content() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.content_.Clear(); } -inline ::pg_query::Node* VacuumStmt::mutable_rels(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.VacuumStmt.rels) - return _impl_.rels_.Mutable(index); +inline ::pg_query::Node* GroupingSet::mutable_content(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GroupingSet.content) + return _internal_mutable_content()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -VacuumStmt::mutable_rels() { - // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumStmt.rels) - return &_impl_.rels_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GroupingSet::mutable_content() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingSet.content) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_content(); } -inline const ::pg_query::Node& VacuumStmt::_internal_rels(int index) const { - return _impl_.rels_.Get(index); +inline const ::pg_query::Node& GroupingSet::content(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.content) + return _internal_content().Get(index); } -inline const ::pg_query::Node& VacuumStmt::rels(int index) const { - // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.rels) - return _internal_rels(index); +inline ::pg_query::Node* GroupingSet::add_content() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_content()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GroupingSet.content) + return _add; } -inline ::pg_query::Node* VacuumStmt::_internal_add_rels() { - return _impl_.rels_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GroupingSet::content() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GroupingSet.content) + return _internal_content(); } -inline ::pg_query::Node* VacuumStmt::add_rels() { - ::pg_query::Node* _add = _internal_add_rels(); - // @@protoc_insertion_point(field_add:pg_query.VacuumStmt.rels) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GroupingSet::_internal_content() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.content_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -VacuumStmt::rels() const { - // @@protoc_insertion_point(field_list:pg_query.VacuumStmt.rels) - return _impl_.rels_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GroupingSet::_internal_mutable_content() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.content_; } -// bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; -inline void VacuumStmt::clear_is_vacuumcmd() { - _impl_.is_vacuumcmd_ = false; +// int32 location = 3 [json_name = "location"]; +inline void GroupingSet::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool VacuumStmt::_internal_is_vacuumcmd() const { - return _impl_.is_vacuumcmd_; +inline ::int32_t GroupingSet::location() const { + // @@protoc_insertion_point(field_get:pg_query.GroupingSet.location) + return _internal_location(); } -inline bool VacuumStmt::is_vacuumcmd() const { - // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.is_vacuumcmd) - return _internal_is_vacuumcmd(); +inline void GroupingSet::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.GroupingSet.location) } -inline void VacuumStmt::_internal_set_is_vacuumcmd(bool value) { - - _impl_.is_vacuumcmd_ = value; +inline ::int32_t GroupingSet::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void VacuumStmt::set_is_vacuumcmd(bool value) { - _internal_set_is_vacuumcmd(value); - // @@protoc_insertion_point(field_set:pg_query.VacuumStmt.is_vacuumcmd) +inline void GroupingSet::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// ExplainStmt +// WindowClause -// .pg_query.Node query = 1 [json_name = "query"]; -inline bool ExplainStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; +// string name = 1 [json_name = "name"]; +inline void WindowClause::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline bool ExplainStmt::has_query() const { - return _internal_has_query(); +inline const std::string& WindowClause::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.name) + return _internal_name(); } -inline void ExplainStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.name) } -inline const ::pg_query::Node& ExplainStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* WindowClause::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.name) + return _s; } -inline const ::pg_query::Node& ExplainStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.ExplainStmt.query) - return _internal_query(); +inline const std::string& WindowClause::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void ExplainStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); - } - _impl_.query_ = query; - if (query) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ExplainStmt.query) +inline void WindowClause::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline ::pg_query::Node* ExplainStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* WindowClause::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* ExplainStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.ExplainStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; - return temp; +inline std::string* WindowClause::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.name) + return _impl_.name_.Release(); } -inline ::pg_query::Node* ExplainStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; - } - return _impl_.query_; +inline void WindowClause::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.name) } -inline ::pg_query::Node* ExplainStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.ExplainStmt.query) - return _msg; + +// string refname = 2 [json_name = "refname"]; +inline void WindowClause::clear_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refname_.ClearToEmpty(); } -inline void ExplainStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.query_; - } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); - if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); - } - - } else { - - } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.ExplainStmt.query) +inline const std::string& WindowClause::refname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.refname) + return _internal_refname(); } - -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int ExplainStmt::_internal_options_size() const { - return _impl_.options_.size(); +template +inline PROTOBUF_ALWAYS_INLINE void WindowClause::set_refname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.refname) } -inline int ExplainStmt::options_size() const { - return _internal_options_size(); +inline std::string* WindowClause::mutable_refname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_refname(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.refname) + return _s; } -inline void ExplainStmt::clear_options() { - _impl_.options_.Clear(); +inline const std::string& WindowClause::_internal_refname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.refname_.Get(); } -inline ::pg_query::Node* ExplainStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ExplainStmt.options) - return _impl_.options_.Mutable(index); +inline void WindowClause::_internal_set_refname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.refname_.Set(value, GetArena()); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ExplainStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ExplainStmt.options) - return &_impl_.options_; +inline std::string* WindowClause::_internal_mutable_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.refname_.Mutable( GetArena()); } -inline const ::pg_query::Node& ExplainStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline std::string* WindowClause::release_refname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.refname) + return _impl_.refname_.Release(); } -inline const ::pg_query::Node& ExplainStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ExplainStmt.options) - return _internal_options(index); +inline void WindowClause::set_allocated_refname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.refname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.refname_.IsDefault()) { + _impl_.refname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.refname) +} + +// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; +inline int WindowClause::_internal_partition_clause_size() const { + return _internal_partition_clause().size(); } -inline ::pg_query::Node* ExplainStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline int WindowClause::partition_clause_size() const { + return _internal_partition_clause_size(); } -inline ::pg_query::Node* ExplainStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.ExplainStmt.options) +inline void WindowClause::clear_partition_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.partition_clause_.Clear(); +} +inline ::pg_query::Node* WindowClause::mutable_partition_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.partition_clause) + return _internal_mutable_partition_clause()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_partition_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.partition_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_partition_clause(); +} +inline const ::pg_query::Node& WindowClause::partition_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.partition_clause) + return _internal_partition_clause().Get(index); +} +inline ::pg_query::Node* WindowClause::add_partition_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_partition_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowClause.partition_clause) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ExplainStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.ExplainStmt.options) - return _impl_.options_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::partition_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowClause.partition_clause) + return _internal_partition_clause(); } - -// ------------------------------------------------------------------- - -// CreateTableAsStmt - -// .pg_query.Node query = 1 [json_name = "query"]; -inline bool CreateTableAsStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowClause::_internal_partition_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.partition_clause_; } -inline bool CreateTableAsStmt::has_query() const { - return _internal_has_query(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowClause::_internal_mutable_partition_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.partition_clause_; } -inline void CreateTableAsStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; + +// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; +inline int WindowClause::_internal_order_clause_size() const { + return _internal_order_clause().size(); } -inline const ::pg_query::Node& CreateTableAsStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline int WindowClause::order_clause_size() const { + return _internal_order_clause_size(); } -inline const ::pg_query::Node& CreateTableAsStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.query) - return _internal_query(); +inline void WindowClause::clear_order_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.order_clause_.Clear(); } -inline void CreateTableAsStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); - } - _impl_.query_ = query; - if (query) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableAsStmt.query) +inline ::pg_query::Node* WindowClause::mutable_order_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.order_clause) + return _internal_mutable_order_clause()->Mutable(index); } -inline ::pg_query::Node* CreateTableAsStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WindowClause::mutable_order_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.order_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_order_clause(); } -inline ::pg_query::Node* CreateTableAsStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.CreateTableAsStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; - return temp; +inline const ::pg_query::Node& WindowClause::order_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.order_clause) + return _internal_order_clause().Get(index); } -inline ::pg_query::Node* CreateTableAsStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; - } - return _impl_.query_; +inline ::pg_query::Node* WindowClause::add_order_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_order_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WindowClause.order_clause) + return _add; } -inline ::pg_query::Node* CreateTableAsStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableAsStmt.query) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WindowClause::order_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WindowClause.order_clause) + return _internal_order_clause(); } -inline void CreateTableAsStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.query_; - } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); - if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); - } - - } else { - - } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableAsStmt.query) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WindowClause::_internal_order_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.order_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WindowClause::_internal_mutable_order_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.order_clause_; } -// .pg_query.IntoClause into = 2 [json_name = "into"]; -inline bool CreateTableAsStmt::_internal_has_into() const { - return this != internal_default_instance() && _impl_.into_ != nullptr; +// int32 frame_options = 5 [json_name = "frameOptions"]; +inline void WindowClause::clear_frame_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.frame_options_ = 0; } -inline bool CreateTableAsStmt::has_into() const { - return _internal_has_into(); +inline ::int32_t WindowClause::frame_options() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.frame_options) + return _internal_frame_options(); } -inline void CreateTableAsStmt::clear_into() { - if (GetArenaForAllocation() == nullptr && _impl_.into_ != nullptr) { - delete _impl_.into_; - } - _impl_.into_ = nullptr; +inline void WindowClause::set_frame_options(::int32_t value) { + _internal_set_frame_options(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.frame_options) } -inline const ::pg_query::IntoClause& CreateTableAsStmt::_internal_into() const { - const ::pg_query::IntoClause* p = _impl_.into_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_IntoClause_default_instance_); +inline ::int32_t WindowClause::_internal_frame_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.frame_options_; } -inline const ::pg_query::IntoClause& CreateTableAsStmt::into() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.into) - return _internal_into(); +inline void WindowClause::_internal_set_frame_options(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.frame_options_ = value; +} + +// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; +inline bool WindowClause::has_start_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.start_offset_ != nullptr); + return value; +} +inline void WindowClause::clear_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.start_offset_ != nullptr) _impl_.start_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& WindowClause::_internal_start_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.start_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& WindowClause::start_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_offset) + return _internal_start_offset(); } -inline void CreateTableAsStmt::unsafe_arena_set_allocated_into( - ::pg_query::IntoClause* into) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.into_); +inline void WindowClause::unsafe_arena_set_allocated_start_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.start_offset_); } - _impl_.into_ = into; - if (into) { - + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableAsStmt.into) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.start_offset) } -inline ::pg_query::IntoClause* CreateTableAsStmt::release_into() { - - ::pg_query::IntoClause* temp = _impl_.into_; - _impl_.into_ = nullptr; +inline ::pg_query::Node* WindowClause::release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::IntoClause* CreateTableAsStmt::unsafe_arena_release_into() { - // @@protoc_insertion_point(field_release:pg_query.CreateTableAsStmt.into) - - ::pg_query::IntoClause* temp = _impl_.into_; - _impl_.into_ = nullptr; +inline ::pg_query::Node* WindowClause::unsafe_arena_release_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.start_offset) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.start_offset_; + _impl_.start_offset_ = nullptr; return temp; } -inline ::pg_query::IntoClause* CreateTableAsStmt::_internal_mutable_into() { - - if (_impl_.into_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::IntoClause>(GetArenaForAllocation()); - _impl_.into_ = p; +inline ::pg_query::Node* WindowClause::_internal_mutable_start_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.start_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.into_; + return _impl_.start_offset_; } -inline ::pg_query::IntoClause* CreateTableAsStmt::mutable_into() { - ::pg_query::IntoClause* _msg = _internal_mutable_into(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableAsStmt.into) +inline ::pg_query::Node* WindowClause::mutable_start_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_start_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.start_offset) return _msg; } -inline void CreateTableAsStmt::set_allocated_into(::pg_query::IntoClause* into) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowClause::set_allocated_start_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.into_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.start_offset_); } - if (into) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(into); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - into = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, into, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.into_ = into; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableAsStmt.into) -} - -// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; -inline void CreateTableAsStmt::clear_objtype() { - _impl_.objtype_ = 0; -} -inline ::pg_query::ObjectType CreateTableAsStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); -} -inline ::pg_query::ObjectType CreateTableAsStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.objtype) - return _internal_objtype(); -} -inline void CreateTableAsStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; -} -inline void CreateTableAsStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.objtype) -} - -// bool is_select_into = 4 [json_name = "is_select_into"]; -inline void CreateTableAsStmt::clear_is_select_into() { - _impl_.is_select_into_ = false; -} -inline bool CreateTableAsStmt::_internal_is_select_into() const { - return _impl_.is_select_into_; -} -inline bool CreateTableAsStmt::is_select_into() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.is_select_into) - return _internal_is_select_into(); -} -inline void CreateTableAsStmt::_internal_set_is_select_into(bool value) { - - _impl_.is_select_into_ = value; -} -inline void CreateTableAsStmt::set_is_select_into(bool value) { - _internal_set_is_select_into(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.is_select_into) -} -// bool if_not_exists = 5 [json_name = "if_not_exists"]; -inline void CreateTableAsStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; -} -inline bool CreateTableAsStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; -} -inline bool CreateTableAsStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.if_not_exists) - return _internal_if_not_exists(); -} -inline void CreateTableAsStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; -} -inline void CreateTableAsStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.if_not_exists) + _impl_.start_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.start_offset) } -// ------------------------------------------------------------------- - -// CreateSeqStmt - -// .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; -inline bool CreateSeqStmt::_internal_has_sequence() const { - return this != internal_default_instance() && _impl_.sequence_ != nullptr; -} -inline bool CreateSeqStmt::has_sequence() const { - return _internal_has_sequence(); +// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; +inline bool WindowClause::has_end_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.end_offset_ != nullptr); + return value; } -inline void CreateSeqStmt::clear_sequence() { - if (GetArenaForAllocation() == nullptr && _impl_.sequence_ != nullptr) { - delete _impl_.sequence_; - } - _impl_.sequence_ = nullptr; +inline void WindowClause::clear_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.end_offset_ != nullptr) _impl_.end_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& CreateSeqStmt::_internal_sequence() const { - const ::pg_query::RangeVar* p = _impl_.sequence_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& WindowClause::_internal_end_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.end_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& CreateSeqStmt::sequence() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.sequence) - return _internal_sequence(); +inline const ::pg_query::Node& WindowClause::end_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_offset) + return _internal_end_offset(); } -inline void CreateSeqStmt::unsafe_arena_set_allocated_sequence( - ::pg_query::RangeVar* sequence) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.sequence_); +inline void WindowClause::unsafe_arena_set_allocated_end_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.end_offset_); } - _impl_.sequence_ = sequence; - if (sequence) { - + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateSeqStmt.sequence) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.end_offset) } -inline ::pg_query::RangeVar* CreateSeqStmt::release_sequence() { - - ::pg_query::RangeVar* temp = _impl_.sequence_; - _impl_.sequence_ = nullptr; +inline ::pg_query::Node* WindowClause::release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CreateSeqStmt::unsafe_arena_release_sequence() { - // @@protoc_insertion_point(field_release:pg_query.CreateSeqStmt.sequence) - - ::pg_query::RangeVar* temp = _impl_.sequence_; - _impl_.sequence_ = nullptr; +inline ::pg_query::Node* WindowClause::unsafe_arena_release_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.WindowClause.end_offset) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.end_offset_; + _impl_.end_offset_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CreateSeqStmt::_internal_mutable_sequence() { - - if (_impl_.sequence_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.sequence_ = p; +inline ::pg_query::Node* WindowClause::_internal_mutable_end_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.end_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.sequence_; + return _impl_.end_offset_; } -inline ::pg_query::RangeVar* CreateSeqStmt::mutable_sequence() { - ::pg_query::RangeVar* _msg = _internal_mutable_sequence(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateSeqStmt.sequence) +inline ::pg_query::Node* WindowClause::mutable_end_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_end_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.end_offset) return _msg; } -inline void CreateSeqStmt::set_allocated_sequence(::pg_query::RangeVar* sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void WindowClause::set_allocated_end_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.sequence_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.end_offset_); } - if (sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sequence); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - sequence = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sequence, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.sequence_ = sequence; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSeqStmt.sequence) + + _impl_.end_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.end_offset) } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int CreateSeqStmt::_internal_options_size() const { - return _impl_.options_.size(); +// uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"]; +inline void WindowClause::clear_start_in_range_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.start_in_range_func_ = 0u; } -inline int CreateSeqStmt::options_size() const { - return _internal_options_size(); +inline ::uint32_t WindowClause::start_in_range_func() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_in_range_func) + return _internal_start_in_range_func(); } -inline void CreateSeqStmt::clear_options() { - _impl_.options_.Clear(); +inline void WindowClause::set_start_in_range_func(::uint32_t value) { + _internal_set_start_in_range_func(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.start_in_range_func) } -inline ::pg_query::Node* CreateSeqStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateSeqStmt.options) - return _impl_.options_.Mutable(index); +inline ::uint32_t WindowClause::_internal_start_in_range_func() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.start_in_range_func_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateSeqStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSeqStmt.options) - return &_impl_.options_; +inline void WindowClause::_internal_set_start_in_range_func(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.start_in_range_func_ = value; } -inline const ::pg_query::Node& CreateSeqStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"]; +inline void WindowClause::clear_end_in_range_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.end_in_range_func_ = 0u; } -inline const ::pg_query::Node& CreateSeqStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.options) - return _internal_options(index); +inline ::uint32_t WindowClause::end_in_range_func() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_in_range_func) + return _internal_end_in_range_func(); } -inline ::pg_query::Node* CreateSeqStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void WindowClause::set_end_in_range_func(::uint32_t value) { + _internal_set_end_in_range_func(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.end_in_range_func) } -inline ::pg_query::Node* CreateSeqStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateSeqStmt.options) - return _add; +inline ::uint32_t WindowClause::_internal_end_in_range_func() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.end_in_range_func_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateSeqStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateSeqStmt.options) - return _impl_.options_; +inline void WindowClause::_internal_set_end_in_range_func(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.end_in_range_func_ = value; } -// uint32 owner_id = 3 [json_name = "ownerId"]; -inline void CreateSeqStmt::clear_owner_id() { - _impl_.owner_id_ = 0u; +// uint32 in_range_coll = 10 [json_name = "inRangeColl"]; +inline void WindowClause::clear_in_range_coll() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_range_coll_ = 0u; } -inline uint32_t CreateSeqStmt::_internal_owner_id() const { - return _impl_.owner_id_; +inline ::uint32_t WindowClause::in_range_coll() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_coll) + return _internal_in_range_coll(); } -inline uint32_t CreateSeqStmt::owner_id() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.owner_id) - return _internal_owner_id(); +inline void WindowClause::set_in_range_coll(::uint32_t value) { + _internal_set_in_range_coll(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_coll) } -inline void CreateSeqStmt::_internal_set_owner_id(uint32_t value) { - - _impl_.owner_id_ = value; +inline ::uint32_t WindowClause::_internal_in_range_coll() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_range_coll_; } -inline void CreateSeqStmt::set_owner_id(uint32_t value) { - _internal_set_owner_id(value); - // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.owner_id) +inline void WindowClause::_internal_set_in_range_coll(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.in_range_coll_ = value; } -// bool for_identity = 4 [json_name = "for_identity"]; -inline void CreateSeqStmt::clear_for_identity() { - _impl_.for_identity_ = false; +// bool in_range_asc = 11 [json_name = "inRangeAsc"]; +inline void WindowClause::clear_in_range_asc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_range_asc_ = false; } -inline bool CreateSeqStmt::_internal_for_identity() const { - return _impl_.for_identity_; +inline bool WindowClause::in_range_asc() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_asc) + return _internal_in_range_asc(); } -inline bool CreateSeqStmt::for_identity() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.for_identity) - return _internal_for_identity(); +inline void WindowClause::set_in_range_asc(bool value) { + _internal_set_in_range_asc(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_asc) } -inline void CreateSeqStmt::_internal_set_for_identity(bool value) { - - _impl_.for_identity_ = value; +inline bool WindowClause::_internal_in_range_asc() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_range_asc_; } -inline void CreateSeqStmt::set_for_identity(bool value) { - _internal_set_for_identity(value); - // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.for_identity) +inline void WindowClause::_internal_set_in_range_asc(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.in_range_asc_ = value; } -// bool if_not_exists = 5 [json_name = "if_not_exists"]; -inline void CreateSeqStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"]; +inline void WindowClause::clear_in_range_nulls_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.in_range_nulls_first_ = false; } -inline bool CreateSeqStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline bool WindowClause::in_range_nulls_first() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_nulls_first) + return _internal_in_range_nulls_first(); } -inline bool CreateSeqStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.if_not_exists) - return _internal_if_not_exists(); +inline void WindowClause::set_in_range_nulls_first(bool value) { + _internal_set_in_range_nulls_first(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_nulls_first) } -inline void CreateSeqStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline bool WindowClause::_internal_in_range_nulls_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.in_range_nulls_first_; } -inline void CreateSeqStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.if_not_exists) +inline void WindowClause::_internal_set_in_range_nulls_first(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.in_range_nulls_first_ = value; } -// ------------------------------------------------------------------- - -// AlterSeqStmt - -// .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; -inline bool AlterSeqStmt::_internal_has_sequence() const { - return this != internal_default_instance() && _impl_.sequence_ != nullptr; -} -inline bool AlterSeqStmt::has_sequence() const { - return _internal_has_sequence(); +// uint32 winref = 13 [json_name = "winref"]; +inline void WindowClause::clear_winref() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.winref_ = 0u; } -inline void AlterSeqStmt::clear_sequence() { - if (GetArenaForAllocation() == nullptr && _impl_.sequence_ != nullptr) { - delete _impl_.sequence_; - } - _impl_.sequence_ = nullptr; +inline ::uint32_t WindowClause::winref() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.winref) + return _internal_winref(); } -inline const ::pg_query::RangeVar& AlterSeqStmt::_internal_sequence() const { - const ::pg_query::RangeVar* p = _impl_.sequence_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline void WindowClause::set_winref(::uint32_t value) { + _internal_set_winref(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.winref) } -inline const ::pg_query::RangeVar& AlterSeqStmt::sequence() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.sequence) - return _internal_sequence(); +inline ::uint32_t WindowClause::_internal_winref() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.winref_; } -inline void AlterSeqStmt::unsafe_arena_set_allocated_sequence( - ::pg_query::RangeVar* sequence) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.sequence_); - } - _impl_.sequence_ = sequence; - if (sequence) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterSeqStmt.sequence) +inline void WindowClause::_internal_set_winref(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.winref_ = value; } -inline ::pg_query::RangeVar* AlterSeqStmt::release_sequence() { - - ::pg_query::RangeVar* temp = _impl_.sequence_; - _impl_.sequence_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool copied_order = 14 [json_name = "copiedOrder"]; +inline void WindowClause::clear_copied_order() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.copied_order_ = false; } -inline ::pg_query::RangeVar* AlterSeqStmt::unsafe_arena_release_sequence() { - // @@protoc_insertion_point(field_release:pg_query.AlterSeqStmt.sequence) - - ::pg_query::RangeVar* temp = _impl_.sequence_; - _impl_.sequence_ = nullptr; - return temp; +inline bool WindowClause::copied_order() const { + // @@protoc_insertion_point(field_get:pg_query.WindowClause.copied_order) + return _internal_copied_order(); } -inline ::pg_query::RangeVar* AlterSeqStmt::_internal_mutable_sequence() { - - if (_impl_.sequence_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.sequence_ = p; - } - return _impl_.sequence_; +inline void WindowClause::set_copied_order(bool value) { + _internal_set_copied_order(value); + // @@protoc_insertion_point(field_set:pg_query.WindowClause.copied_order) } -inline ::pg_query::RangeVar* AlterSeqStmt::mutable_sequence() { - ::pg_query::RangeVar* _msg = _internal_mutable_sequence(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterSeqStmt.sequence) - return _msg; +inline bool WindowClause::_internal_copied_order() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.copied_order_; } -inline void AlterSeqStmt::set_allocated_sequence(::pg_query::RangeVar* sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.sequence_; - } - if (sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sequence); - if (message_arena != submessage_arena) { - sequence = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sequence, submessage_arena); - } - - } else { - - } - _impl_.sequence_ = sequence; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSeqStmt.sequence) +inline void WindowClause::_internal_set_copied_order(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.copied_order_ = value; } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterSeqStmt::_internal_options_size() const { - return _impl_.options_.size(); +// ------------------------------------------------------------------- + +// RowMarkClause + +// uint32 rti = 1 [json_name = "rti"]; +inline void RowMarkClause::clear_rti() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rti_ = 0u; } -inline int AlterSeqStmt::options_size() const { - return _internal_options_size(); +inline ::uint32_t RowMarkClause::rti() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.rti) + return _internal_rti(); } -inline void AlterSeqStmt::clear_options() { - _impl_.options_.Clear(); +inline void RowMarkClause::set_rti(::uint32_t value) { + _internal_set_rti(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.rti) } -inline ::pg_query::Node* AlterSeqStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterSeqStmt.options) - return _impl_.options_.Mutable(index); +inline ::uint32_t RowMarkClause::_internal_rti() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rti_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterSeqStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSeqStmt.options) - return &_impl_.options_; +inline void RowMarkClause::_internal_set_rti(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rti_ = value; } -inline const ::pg_query::Node& AlterSeqStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; +inline void RowMarkClause::clear_strength() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.strength_ = 0; } -inline const ::pg_query::Node& AlterSeqStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.options) - return _internal_options(index); +inline ::pg_query::LockClauseStrength RowMarkClause::strength() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.strength) + return _internal_strength(); } -inline ::pg_query::Node* AlterSeqStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void RowMarkClause::set_strength(::pg_query::LockClauseStrength value) { + _internal_set_strength(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.strength) } -inline ::pg_query::Node* AlterSeqStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterSeqStmt.options) - return _add; +inline ::pg_query::LockClauseStrength RowMarkClause::_internal_strength() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LockClauseStrength>(_impl_.strength_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterSeqStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterSeqStmt.options) - return _impl_.options_; +inline void RowMarkClause::_internal_set_strength(::pg_query::LockClauseStrength value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.strength_ = value; } -// bool for_identity = 3 [json_name = "for_identity"]; -inline void AlterSeqStmt::clear_for_identity() { - _impl_.for_identity_ = false; +// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; +inline void RowMarkClause::clear_wait_policy() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wait_policy_ = 0; } -inline bool AlterSeqStmt::_internal_for_identity() const { - return _impl_.for_identity_; +inline ::pg_query::LockWaitPolicy RowMarkClause::wait_policy() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.wait_policy) + return _internal_wait_policy(); } -inline bool AlterSeqStmt::for_identity() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.for_identity) - return _internal_for_identity(); +inline void RowMarkClause::set_wait_policy(::pg_query::LockWaitPolicy value) { + _internal_set_wait_policy(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.wait_policy) } -inline void AlterSeqStmt::_internal_set_for_identity(bool value) { - - _impl_.for_identity_ = value; +inline ::pg_query::LockWaitPolicy RowMarkClause::_internal_wait_policy() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LockWaitPolicy>(_impl_.wait_policy_); } -inline void AlterSeqStmt::set_for_identity(bool value) { - _internal_set_for_identity(value); - // @@protoc_insertion_point(field_set:pg_query.AlterSeqStmt.for_identity) +inline void RowMarkClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wait_policy_ = value; } -// bool missing_ok = 4 [json_name = "missing_ok"]; -inline void AlterSeqStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// bool pushed_down = 4 [json_name = "pushedDown"]; +inline void RowMarkClause::clear_pushed_down() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pushed_down_ = false; } -inline bool AlterSeqStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline bool RowMarkClause::pushed_down() const { + // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.pushed_down) + return _internal_pushed_down(); } -inline bool AlterSeqStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.missing_ok) - return _internal_missing_ok(); +inline void RowMarkClause::set_pushed_down(bool value) { + _internal_set_pushed_down(value); + // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.pushed_down) } -inline void AlterSeqStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline bool RowMarkClause::_internal_pushed_down() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pushed_down_; } -inline void AlterSeqStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterSeqStmt.missing_ok) +inline void RowMarkClause::_internal_set_pushed_down(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pushed_down_ = value; } // ------------------------------------------------------------------- -// VariableSetStmt +// WithClause -// .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; -inline void VariableSetStmt::clear_kind() { - _impl_.kind_ = 0; +// repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; +inline int WithClause::_internal_ctes_size() const { + return _internal_ctes().size(); } -inline ::pg_query::VariableSetKind VariableSetStmt::_internal_kind() const { - return static_cast< ::pg_query::VariableSetKind >(_impl_.kind_); +inline int WithClause::ctes_size() const { + return _internal_ctes_size(); } -inline ::pg_query::VariableSetKind VariableSetStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.kind) - return _internal_kind(); +inline void WithClause::clear_ctes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctes_.Clear(); } -inline void VariableSetStmt::_internal_set_kind(::pg_query::VariableSetKind value) { - - _impl_.kind_ = value; +inline ::pg_query::Node* WithClause::mutable_ctes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.WithClause.ctes) + return _internal_mutable_ctes()->Mutable(index); } -inline void VariableSetStmt::set_kind(::pg_query::VariableSetKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.kind) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* WithClause::mutable_ctes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.WithClause.ctes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ctes(); } - -// string name = 2 [json_name = "name"]; -inline void VariableSetStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +inline const ::pg_query::Node& WithClause::ctes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.WithClause.ctes) + return _internal_ctes().Get(index); } -inline const std::string& VariableSetStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.name) - return _internal_name(); +inline ::pg_query::Node* WithClause::add_ctes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.WithClause.ctes) + return _add; } -template -inline PROTOBUF_ALWAYS_INLINE -void VariableSetStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& WithClause::ctes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.WithClause.ctes) + return _internal_ctes(); } -inline std::string* VariableSetStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.VariableSetStmt.name) - return _s; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +WithClause::_internal_ctes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctes_; } -inline const std::string& VariableSetStmt::_internal_name() const { - return _impl_.name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +WithClause::_internal_mutable_ctes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctes_; } -inline void VariableSetStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// bool recursive = 2 [json_name = "recursive"]; +inline void WithClause::clear_recursive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.recursive_ = false; } -inline std::string* VariableSetStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline bool WithClause::recursive() const { + // @@protoc_insertion_point(field_get:pg_query.WithClause.recursive) + return _internal_recursive(); } -inline std::string* VariableSetStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.VariableSetStmt.name) - return _impl_.name_.Release(); +inline void WithClause::set_recursive(bool value) { + _internal_set_recursive(value); + // @@protoc_insertion_point(field_set:pg_query.WithClause.recursive) } -inline void VariableSetStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.VariableSetStmt.name) +inline bool WithClause::_internal_recursive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.recursive_; +} +inline void WithClause::_internal_set_recursive(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.recursive_ = value; } -// repeated .pg_query.Node args = 3 [json_name = "args"]; -inline int VariableSetStmt::_internal_args_size() const { - return _impl_.args_.size(); +// int32 location = 3 [json_name = "location"]; +inline void WithClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int VariableSetStmt::args_size() const { - return _internal_args_size(); +inline ::int32_t WithClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.WithClause.location) + return _internal_location(); } -inline void VariableSetStmt::clear_args() { - _impl_.args_.Clear(); +inline void WithClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.WithClause.location) } -inline ::pg_query::Node* VariableSetStmt::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.VariableSetStmt.args) - return _impl_.args_.Mutable(index); +inline ::int32_t WithClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -VariableSetStmt::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.VariableSetStmt.args) - return &_impl_.args_; +inline void WithClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& VariableSetStmt::_internal_args(int index) const { - return _impl_.args_.Get(index); + +// ------------------------------------------------------------------- + +// InferClause + +// repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; +inline int InferClause::_internal_index_elems_size() const { + return _internal_index_elems().size(); } -inline const ::pg_query::Node& VariableSetStmt::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.args) - return _internal_args(index); +inline int InferClause::index_elems_size() const { + return _internal_index_elems_size(); } -inline ::pg_query::Node* VariableSetStmt::_internal_add_args() { - return _impl_.args_.Add(); +inline void InferClause::clear_index_elems() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.index_elems_.Clear(); } -inline ::pg_query::Node* VariableSetStmt::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.VariableSetStmt.args) +inline ::pg_query::Node* InferClause::mutable_index_elems(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.index_elems) + return _internal_mutable_index_elems()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* InferClause::mutable_index_elems() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.InferClause.index_elems) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_index_elems(); +} +inline const ::pg_query::Node& InferClause::index_elems(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferClause.index_elems) + return _internal_index_elems().Get(index); +} +inline ::pg_query::Node* InferClause::add_index_elems() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_index_elems()->Add(); + // @@protoc_insertion_point(field_add:pg_query.InferClause.index_elems) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -VariableSetStmt::args() const { - // @@protoc_insertion_point(field_list:pg_query.VariableSetStmt.args) - return _impl_.args_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& InferClause::index_elems() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.InferClause.index_elems) + return _internal_index_elems(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +InferClause::_internal_index_elems() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.index_elems_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +InferClause::_internal_mutable_index_elems() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.index_elems_; } -// bool is_local = 4 [json_name = "is_local"]; -inline void VariableSetStmt::clear_is_local() { - _impl_.is_local_ = false; +// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; +inline bool InferClause::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline bool VariableSetStmt::_internal_is_local() const { - return _impl_.is_local_; +inline void InferClause::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool VariableSetStmt::is_local() const { - // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.is_local) - return _internal_is_local(); +inline const ::pg_query::Node& InferClause::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void VariableSetStmt::_internal_set_is_local(bool value) { - - _impl_.is_local_ = value; +inline const ::pg_query::Node& InferClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferClause.where_clause) + return _internal_where_clause(); } -inline void VariableSetStmt::set_is_local(bool value) { - _internal_set_is_local(value); - // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.is_local) +inline void InferClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + } + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferClause.where_clause) } +inline ::pg_query::Node* InferClause::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* InferClause::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InferClause.where_clause) -// VariableShowStmt + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; + return temp; +} +inline ::pg_query::Node* InferClause::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.where_clause_; +} +inline ::pg_query::Node* InferClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.where_clause) + return _msg; +} +inline void InferClause::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + } -// string name = 1 [json_name = "name"]; -inline void VariableShowStmt::clear_name() { - _impl_.name_.ClearToEmpty(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.where_clause) } -inline const std::string& VariableShowStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.VariableShowStmt.name) - return _internal_name(); + +// string conname = 3 [json_name = "conname"]; +inline void InferClause::clear_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conname_.ClearToEmpty(); } -template -inline PROTOBUF_ALWAYS_INLINE -void VariableShowStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.VariableShowStmt.name) +inline const std::string& InferClause::conname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InferClause.conname) + return _internal_conname(); } -inline std::string* VariableShowStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.VariableShowStmt.name) +template +inline PROTOBUF_ALWAYS_INLINE void InferClause::set_conname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.InferClause.conname) +} +inline std::string* InferClause::mutable_conname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conname(); + // @@protoc_insertion_point(field_mutable:pg_query.InferClause.conname) return _s; } -inline const std::string& VariableShowStmt::_internal_name() const { - return _impl_.name_.Get(); +inline const std::string& InferClause::_internal_conname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conname_.Get(); } -inline void VariableShowStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void InferClause::_internal_set_conname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conname_.Set(value, GetArena()); } -inline std::string* VariableShowStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* InferClause::_internal_mutable_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conname_.Mutable( GetArena()); } -inline std::string* VariableShowStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.VariableShowStmt.name) - return _impl_.name_.Release(); +inline std::string* InferClause::release_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InferClause.conname) + return _impl_.conname_.Release(); } -inline void VariableShowStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.VariableShowStmt.name) +inline void InferClause::set_allocated_conname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conname_.IsDefault()) { + _impl_.conname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.conname) } -// ------------------------------------------------------------------- - -// DiscardStmt - -// .pg_query.DiscardMode target = 1 [json_name = "target"]; -inline void DiscardStmt::clear_target() { - _impl_.target_ = 0; +// int32 location = 4 [json_name = "location"]; +inline void InferClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::DiscardMode DiscardStmt::_internal_target() const { - return static_cast< ::pg_query::DiscardMode >(_impl_.target_); +inline ::int32_t InferClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.InferClause.location) + return _internal_location(); } -inline ::pg_query::DiscardMode DiscardStmt::target() const { - // @@protoc_insertion_point(field_get:pg_query.DiscardStmt.target) - return _internal_target(); +inline void InferClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.InferClause.location) } -inline void DiscardStmt::_internal_set_target(::pg_query::DiscardMode value) { - - _impl_.target_ = value; +inline ::int32_t InferClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void DiscardStmt::set_target(::pg_query::DiscardMode value) { - _internal_set_target(value); - // @@protoc_insertion_point(field_set:pg_query.DiscardStmt.target) +inline void InferClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// CreateTrigStmt +// OnConflictClause -// bool replace = 1 [json_name = "replace"]; -inline void CreateTrigStmt::clear_replace() { - _impl_.replace_ = false; +// .pg_query.OnConflictAction action = 1 [json_name = "action"]; +inline void OnConflictClause::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.action_ = 0; } -inline bool CreateTrigStmt::_internal_replace() const { - return _impl_.replace_; +inline ::pg_query::OnConflictAction OnConflictClause::action() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.action) + return _internal_action(); } -inline bool CreateTrigStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.replace) - return _internal_replace(); +inline void OnConflictClause::set_action(::pg_query::OnConflictAction value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.action) } -inline void CreateTrigStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline ::pg_query::OnConflictAction OnConflictClause::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OnConflictAction>(_impl_.action_); } -inline void CreateTrigStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.replace) +inline void OnConflictClause::_internal_set_action(::pg_query::OnConflictAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; } -// bool isconstraint = 2 [json_name = "isconstraint"]; -inline void CreateTrigStmt::clear_isconstraint() { - _impl_.isconstraint_ = false; +// .pg_query.InferClause infer = 2 [json_name = "infer"]; +inline bool OnConflictClause::has_infer() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.infer_ != nullptr); + return value; } -inline bool CreateTrigStmt::_internal_isconstraint() const { - return _impl_.isconstraint_; +inline void OnConflictClause::clear_infer() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.infer_ != nullptr) _impl_.infer_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool CreateTrigStmt::isconstraint() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.isconstraint) - return _internal_isconstraint(); +inline const ::pg_query::InferClause& OnConflictClause::_internal_infer() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::InferClause* p = _impl_.infer_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_InferClause_default_instance_); } -inline void CreateTrigStmt::_internal_set_isconstraint(bool value) { - - _impl_.isconstraint_ = value; +inline const ::pg_query::InferClause& OnConflictClause::infer() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.infer) + return _internal_infer(); } -inline void CreateTrigStmt::set_isconstraint(bool value) { - _internal_set_isconstraint(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.isconstraint) +inline void OnConflictClause::unsafe_arena_set_allocated_infer(::pg_query::InferClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.infer_); + } + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.infer) } +inline ::pg_query::InferClause* OnConflictClause::release_infer() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string trigname = 3 [json_name = "trigname"]; -inline void CreateTrigStmt::clear_trigname() { - _impl_.trigname_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::InferClause* released = _impl_.infer_; + _impl_.infer_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const std::string& CreateTrigStmt::trigname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.trigname) - return _internal_trigname(); +inline ::pg_query::InferClause* OnConflictClause::unsafe_arena_release_infer() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.infer) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::InferClause* temp = _impl_.infer_; + _impl_.infer_ = nullptr; + return temp; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateTrigStmt::set_trigname(ArgT0&& arg0, ArgT... args) { - - _impl_.trigname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.trigname) +inline ::pg_query::InferClause* OnConflictClause::_internal_mutable_infer() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.infer_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::InferClause>(GetArena()); + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(p); + } + return _impl_.infer_; } -inline std::string* CreateTrigStmt::mutable_trigname() { - std::string* _s = _internal_mutable_trigname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.trigname) - return _s; +inline ::pg_query::InferClause* OnConflictClause::mutable_infer() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::InferClause* _msg = _internal_mutable_infer(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.infer) + return _msg; } -inline const std::string& CreateTrigStmt::_internal_trigname() const { - return _impl_.trigname_.Get(); +inline void OnConflictClause::set_allocated_infer(::pg_query::InferClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::InferClause*>(_impl_.infer_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::InferClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.infer_ = reinterpret_cast<::pg_query::InferClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.infer) } -inline void CreateTrigStmt::_internal_set_trigname(const std::string& value) { - - _impl_.trigname_.Set(value, GetArenaForAllocation()); + +// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; +inline int OnConflictClause::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline std::string* CreateTrigStmt::_internal_mutable_trigname() { - - return _impl_.trigname_.Mutable(GetArenaForAllocation()); +inline int OnConflictClause::target_list_size() const { + return _internal_target_list_size(); } -inline std::string* CreateTrigStmt::release_trigname() { - // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.trigname) - return _impl_.trigname_.Release(); +inline void OnConflictClause::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline void CreateTrigStmt::set_allocated_trigname(std::string* trigname) { - if (trigname != nullptr) { - - } else { - - } - _impl_.trigname_.SetAllocated(trigname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.trigname_.IsDefault()) { - _impl_.trigname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.trigname) +inline ::pg_query::Node* OnConflictClause::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.target_list) + return _internal_mutable_target_list()->Mutable(index); } - -// .pg_query.RangeVar relation = 4 [json_name = "relation"]; -inline bool CreateTrigStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* OnConflictClause::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictClause.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } -inline bool CreateTrigStmt::has_relation() const { - return _internal_has_relation(); +inline const ::pg_query::Node& OnConflictClause::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.target_list) + return _internal_target_list().Get(index); } -inline void CreateTrigStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline ::pg_query::Node* OnConflictClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.OnConflictClause.target_list) + return _add; } -inline const ::pg_query::RangeVar& CreateTrigStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& OnConflictClause::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.OnConflictClause.target_list) + return _internal_target_list(); } -inline const ::pg_query::RangeVar& CreateTrigStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.relation) - return _internal_relation(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +OnConflictClause::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +OnConflictClause::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; +} + +// .pg_query.Node where_clause = 4 [json_name = "whereClause"]; +inline bool OnConflictClause::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; +} +inline void OnConflictClause::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& OnConflictClause::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& OnConflictClause::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.where_clause) + return _internal_where_clause(); } -inline void CreateTrigStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void OnConflictClause::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.where_clause) } -inline ::pg_query::RangeVar* CreateTrigStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* OnConflictClause::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CreateTrigStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* OnConflictClause::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CreateTrigStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* OnConflictClause::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.where_clause_; } -inline ::pg_query::RangeVar* CreateTrigStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.relation) +inline ::pg_query::Node* OnConflictClause::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.where_clause) return _msg; } -inline void CreateTrigStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void OnConflictClause::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.relation) + + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.where_clause) } -// repeated .pg_query.Node funcname = 5 [json_name = "funcname"]; -inline int CreateTrigStmt::_internal_funcname_size() const { - return _impl_.funcname_.size(); +// int32 location = 5 [json_name = "location"]; +inline void OnConflictClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int CreateTrigStmt::funcname_size() const { - return _internal_funcname_size(); +inline ::int32_t OnConflictClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.location) + return _internal_location(); } -inline void CreateTrigStmt::clear_funcname() { - _impl_.funcname_.Clear(); +inline void OnConflictClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.location) } -inline ::pg_query::Node* CreateTrigStmt::mutable_funcname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.funcname) - return _impl_.funcname_.Mutable(index); +inline ::int32_t OnConflictClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateTrigStmt::mutable_funcname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.funcname) - return &_impl_.funcname_; +inline void OnConflictClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& CreateTrigStmt::_internal_funcname(int index) const { - return _impl_.funcname_.Get(index); + +// ------------------------------------------------------------------- + +// CTESearchClause + +// repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; +inline int CTESearchClause::_internal_search_col_list_size() const { + return _internal_search_col_list().size(); } -inline const ::pg_query::Node& CreateTrigStmt::funcname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.funcname) - return _internal_funcname(index); +inline int CTESearchClause::search_col_list_size() const { + return _internal_search_col_list_size(); } -inline ::pg_query::Node* CreateTrigStmt::_internal_add_funcname() { - return _impl_.funcname_.Add(); +inline void CTESearchClause::clear_search_col_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.search_col_list_.Clear(); } -inline ::pg_query::Node* CreateTrigStmt::add_funcname() { - ::pg_query::Node* _add = _internal_add_funcname(); - // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.funcname) +inline ::pg_query::Node* CTESearchClause::mutable_search_col_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_col_list) + return _internal_mutable_search_col_list()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTESearchClause::mutable_search_col_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CTESearchClause.search_col_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_search_col_list(); +} +inline const ::pg_query::Node& CTESearchClause::search_col_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_col_list) + return _internal_search_col_list().Get(index); +} +inline ::pg_query::Node* CTESearchClause::add_search_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_search_col_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CTESearchClause.search_col_list) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateTrigStmt::funcname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.funcname) - return _impl_.funcname_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTESearchClause::search_col_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CTESearchClause.search_col_list) + return _internal_search_col_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CTESearchClause::_internal_search_col_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.search_col_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CTESearchClause::_internal_mutable_search_col_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.search_col_list_; } -// repeated .pg_query.Node args = 6 [json_name = "args"]; -inline int CreateTrigStmt::_internal_args_size() const { - return _impl_.args_.size(); +// bool search_breadth_first = 2 [json_name = "search_breadth_first"]; +inline void CTESearchClause::clear_search_breadth_first() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.search_breadth_first_ = false; } -inline int CreateTrigStmt::args_size() const { - return _internal_args_size(); +inline bool CTESearchClause::search_breadth_first() const { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_breadth_first) + return _internal_search_breadth_first(); } -inline void CreateTrigStmt::clear_args() { - _impl_.args_.Clear(); +inline void CTESearchClause::set_search_breadth_first(bool value) { + _internal_set_search_breadth_first(value); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_breadth_first) } -inline ::pg_query::Node* CreateTrigStmt::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.args) - return _impl_.args_.Mutable(index); +inline bool CTESearchClause::_internal_search_breadth_first() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.search_breadth_first_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateTrigStmt::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.args) - return &_impl_.args_; +inline void CTESearchClause::_internal_set_search_breadth_first(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.search_breadth_first_ = value; } -inline const ::pg_query::Node& CreateTrigStmt::_internal_args(int index) const { - return _impl_.args_.Get(index); + +// string search_seq_column = 3 [json_name = "search_seq_column"]; +inline void CTESearchClause::clear_search_seq_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.search_seq_column_.ClearToEmpty(); } -inline const ::pg_query::Node& CreateTrigStmt::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.args) - return _internal_args(index); +inline const std::string& CTESearchClause::search_seq_column() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_seq_column) + return _internal_search_seq_column(); } -inline ::pg_query::Node* CreateTrigStmt::_internal_add_args() { - return _impl_.args_.Add(); +template +inline PROTOBUF_ALWAYS_INLINE void CTESearchClause::set_search_seq_column(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.search_seq_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_seq_column) } -inline ::pg_query::Node* CreateTrigStmt::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.args) - return _add; +inline std::string* CTESearchClause::mutable_search_seq_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_search_seq_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_seq_column) + return _s; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateTrigStmt::args() const { - // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.args) - return _impl_.args_; +inline const std::string& CTESearchClause::_internal_search_seq_column() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.search_seq_column_.Get(); +} +inline void CTESearchClause::_internal_set_search_seq_column(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.search_seq_column_.Set(value, GetArena()); +} +inline std::string* CTESearchClause::_internal_mutable_search_seq_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.search_seq_column_.Mutable( GetArena()); +} +inline std::string* CTESearchClause::release_search_seq_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTESearchClause.search_seq_column) + return _impl_.search_seq_column_.Release(); +} +inline void CTESearchClause::set_allocated_search_seq_column(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.search_seq_column_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.search_seq_column_.IsDefault()) { + _impl_.search_seq_column_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CTESearchClause.search_seq_column) } -// bool row = 7 [json_name = "row"]; -inline void CreateTrigStmt::clear_row() { - _impl_.row_ = false; +// int32 location = 4 [json_name = "location"]; +inline void CTESearchClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool CreateTrigStmt::_internal_row() const { - return _impl_.row_; +inline ::int32_t CTESearchClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.location) + return _internal_location(); } -inline bool CreateTrigStmt::row() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.row) - return _internal_row(); +inline void CTESearchClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.location) } -inline void CreateTrigStmt::_internal_set_row(bool value) { - - _impl_.row_ = value; +inline ::int32_t CTESearchClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void CreateTrigStmt::set_row(bool value) { - _internal_set_row(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.row) +inline void CTESearchClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// int32 timing = 8 [json_name = "timing"]; -inline void CreateTrigStmt::clear_timing() { - _impl_.timing_ = 0; +// ------------------------------------------------------------------- + +// CTECycleClause + +// repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; +inline int CTECycleClause::_internal_cycle_col_list_size() const { + return _internal_cycle_col_list().size(); } -inline int32_t CreateTrigStmt::_internal_timing() const { - return _impl_.timing_; +inline int CTECycleClause::cycle_col_list_size() const { + return _internal_cycle_col_list_size(); } -inline int32_t CreateTrigStmt::timing() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.timing) - return _internal_timing(); +inline void CTECycleClause::clear_cycle_col_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_col_list_.Clear(); } -inline void CreateTrigStmt::_internal_set_timing(int32_t value) { - - _impl_.timing_ = value; +inline ::pg_query::Node* CTECycleClause::mutable_cycle_col_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_col_list) + return _internal_mutable_cycle_col_list()->Mutable(index); } -inline void CreateTrigStmt::set_timing(int32_t value) { - _internal_set_timing(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.timing) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CTECycleClause::mutable_cycle_col_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CTECycleClause.cycle_col_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cycle_col_list(); } - -// int32 events = 9 [json_name = "events"]; -inline void CreateTrigStmt::clear_events() { - _impl_.events_ = 0; +inline const ::pg_query::Node& CTECycleClause::cycle_col_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_col_list) + return _internal_cycle_col_list().Get(index); } -inline int32_t CreateTrigStmt::_internal_events() const { - return _impl_.events_; +inline ::pg_query::Node* CTECycleClause::add_cycle_col_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cycle_col_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CTECycleClause.cycle_col_list) + return _add; } -inline int32_t CreateTrigStmt::events() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.events) - return _internal_events(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CTECycleClause::cycle_col_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CTECycleClause.cycle_col_list) + return _internal_cycle_col_list(); } -inline void CreateTrigStmt::_internal_set_events(int32_t value) { - - _impl_.events_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CTECycleClause::_internal_cycle_col_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_col_list_; } -inline void CreateTrigStmt::set_events(int32_t value) { - _internal_set_events(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.events) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CTECycleClause::_internal_mutable_cycle_col_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cycle_col_list_; } -// repeated .pg_query.Node columns = 10 [json_name = "columns"]; -inline int CreateTrigStmt::_internal_columns_size() const { - return _impl_.columns_.size(); -} -inline int CreateTrigStmt::columns_size() const { - return _internal_columns_size(); +// string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; +inline void CTECycleClause::clear_cycle_mark_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_column_.ClearToEmpty(); } -inline void CreateTrigStmt::clear_columns() { - _impl_.columns_.Clear(); +inline const std::string& CTECycleClause::cycle_mark_column() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_column) + return _internal_cycle_mark_column(); } -inline ::pg_query::Node* CreateTrigStmt::mutable_columns(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.columns) - return _impl_.columns_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_mark_column(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_column) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateTrigStmt::mutable_columns() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.columns) - return &_impl_.columns_; +inline std::string* CTECycleClause::mutable_cycle_mark_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cycle_mark_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_column) + return _s; } -inline const ::pg_query::Node& CreateTrigStmt::_internal_columns(int index) const { - return _impl_.columns_.Get(index); +inline const std::string& CTECycleClause::_internal_cycle_mark_column() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_mark_column_.Get(); } -inline const ::pg_query::Node& CreateTrigStmt::columns(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.columns) - return _internal_columns(index); +inline void CTECycleClause::_internal_set_cycle_mark_column(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_column_.Set(value, GetArena()); } -inline ::pg_query::Node* CreateTrigStmt::_internal_add_columns() { - return _impl_.columns_.Add(); +inline std::string* CTECycleClause::_internal_mutable_cycle_mark_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cycle_mark_column_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateTrigStmt::add_columns() { - ::pg_query::Node* _add = _internal_add_columns(); - // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.columns) - return _add; +inline std::string* CTECycleClause::release_cycle_mark_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_column) + return _impl_.cycle_mark_column_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateTrigStmt::columns() const { - // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.columns) - return _impl_.columns_; +inline void CTECycleClause::set_allocated_cycle_mark_column(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_column_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cycle_mark_column_.IsDefault()) { + _impl_.cycle_mark_column_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_column) } -// .pg_query.Node when_clause = 11 [json_name = "whenClause"]; -inline bool CreateTrigStmt::_internal_has_when_clause() const { - return this != internal_default_instance() && _impl_.when_clause_ != nullptr; -} -inline bool CreateTrigStmt::has_when_clause() const { - return _internal_has_when_clause(); +// .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; +inline bool CTECycleClause::has_cycle_mark_value() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cycle_mark_value_ != nullptr); + return value; } -inline void CreateTrigStmt::clear_when_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.when_clause_ != nullptr) { - delete _impl_.when_clause_; - } - _impl_.when_clause_ = nullptr; +inline void CTECycleClause::clear_cycle_mark_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.cycle_mark_value_ != nullptr) _impl_.cycle_mark_value_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CreateTrigStmt::_internal_when_clause() const { - const ::pg_query::Node* p = _impl_.when_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.cycle_mark_value_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& CreateTrigStmt::when_clause() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.when_clause) - return _internal_when_clause(); +inline const ::pg_query::Node& CTECycleClause::cycle_mark_value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_value) + return _internal_cycle_mark_value(); } -inline void CreateTrigStmt::unsafe_arena_set_allocated_when_clause( - ::pg_query::Node* when_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.when_clause_); +inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_value(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_value_); } - _impl_.when_clause_ = when_clause; - if (when_clause) { - + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.when_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_value) } -inline ::pg_query::Node* CreateTrigStmt::release_when_clause() { - - ::pg_query::Node* temp = _impl_.when_clause_; - _impl_.when_clause_ = nullptr; +inline ::pg_query::Node* CTECycleClause::release_cycle_mark_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.cycle_mark_value_; + _impl_.cycle_mark_value_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CreateTrigStmt::unsafe_arena_release_when_clause() { - // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.when_clause) - - ::pg_query::Node* temp = _impl_.when_clause_; - _impl_.when_clause_ = nullptr; +inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_value) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.cycle_mark_value_; + _impl_.cycle_mark_value_ = nullptr; return temp; } -inline ::pg_query::Node* CreateTrigStmt::_internal_mutable_when_clause() { - - if (_impl_.when_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.when_clause_ = p; +inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.cycle_mark_value_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.when_clause_; + return _impl_.cycle_mark_value_; } -inline ::pg_query::Node* CreateTrigStmt::mutable_when_clause() { - ::pg_query::Node* _msg = _internal_mutable_when_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.when_clause) +inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cycle_mark_value(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_value) return _msg; } -inline void CreateTrigStmt::set_allocated_when_clause(::pg_query::Node* when_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CTECycleClause::set_allocated_cycle_mark_value(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.when_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_value_); } - if (when_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(when_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - when_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, when_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.when_clause_ = when_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.when_clause) -} - -// repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"]; -inline int CreateTrigStmt::_internal_transition_rels_size() const { - return _impl_.transition_rels_.size(); -} -inline int CreateTrigStmt::transition_rels_size() const { - return _internal_transition_rels_size(); -} -inline void CreateTrigStmt::clear_transition_rels() { - _impl_.transition_rels_.Clear(); -} -inline ::pg_query::Node* CreateTrigStmt::mutable_transition_rels(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.transition_rels) - return _impl_.transition_rels_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateTrigStmt::mutable_transition_rels() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.transition_rels) - return &_impl_.transition_rels_; -} -inline const ::pg_query::Node& CreateTrigStmt::_internal_transition_rels(int index) const { - return _impl_.transition_rels_.Get(index); -} -inline const ::pg_query::Node& CreateTrigStmt::transition_rels(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.transition_rels) - return _internal_transition_rels(index); -} -inline ::pg_query::Node* CreateTrigStmt::_internal_add_transition_rels() { - return _impl_.transition_rels_.Add(); -} -inline ::pg_query::Node* CreateTrigStmt::add_transition_rels() { - ::pg_query::Node* _add = _internal_add_transition_rels(); - // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.transition_rels) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateTrigStmt::transition_rels() const { - // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.transition_rels) - return _impl_.transition_rels_; -} - -// bool deferrable = 13 [json_name = "deferrable"]; -inline void CreateTrigStmt::clear_deferrable() { - _impl_.deferrable_ = false; -} -inline bool CreateTrigStmt::_internal_deferrable() const { - return _impl_.deferrable_; -} -inline bool CreateTrigStmt::deferrable() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.deferrable) - return _internal_deferrable(); -} -inline void CreateTrigStmt::_internal_set_deferrable(bool value) { - - _impl_.deferrable_ = value; -} -inline void CreateTrigStmt::set_deferrable(bool value) { - _internal_set_deferrable(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.deferrable) -} -// bool initdeferred = 14 [json_name = "initdeferred"]; -inline void CreateTrigStmt::clear_initdeferred() { - _impl_.initdeferred_ = false; -} -inline bool CreateTrigStmt::_internal_initdeferred() const { - return _impl_.initdeferred_; -} -inline bool CreateTrigStmt::initdeferred() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.initdeferred) - return _internal_initdeferred(); -} -inline void CreateTrigStmt::_internal_set_initdeferred(bool value) { - - _impl_.initdeferred_ = value; -} -inline void CreateTrigStmt::set_initdeferred(bool value) { - _internal_set_initdeferred(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.initdeferred) + _impl_.cycle_mark_value_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_value) } -// .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"]; -inline bool CreateTrigStmt::_internal_has_constrrel() const { - return this != internal_default_instance() && _impl_.constrrel_ != nullptr; -} -inline bool CreateTrigStmt::has_constrrel() const { - return _internal_has_constrrel(); +// .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; +inline bool CTECycleClause::has_cycle_mark_default() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cycle_mark_default_ != nullptr); + return value; } -inline void CreateTrigStmt::clear_constrrel() { - if (GetArenaForAllocation() == nullptr && _impl_.constrrel_ != nullptr) { - delete _impl_.constrrel_; - } - _impl_.constrrel_ = nullptr; +inline void CTECycleClause::clear_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.cycle_mark_default_ != nullptr) _impl_.cycle_mark_default_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& CreateTrigStmt::_internal_constrrel() const { - const ::pg_query::RangeVar* p = _impl_.constrrel_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_default() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.cycle_mark_default_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& CreateTrigStmt::constrrel() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.constrrel) - return _internal_constrrel(); +inline const ::pg_query::Node& CTECycleClause::cycle_mark_default() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_default) + return _internal_cycle_mark_default(); } -inline void CreateTrigStmt::unsafe_arena_set_allocated_constrrel( - ::pg_query::RangeVar* constrrel) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.constrrel_); +inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_default(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_mark_default_); } - _impl_.constrrel_ = constrrel; - if (constrrel) { - + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.constrrel) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_default) } -inline ::pg_query::RangeVar* CreateTrigStmt::release_constrrel() { - - ::pg_query::RangeVar* temp = _impl_.constrrel_; - _impl_.constrrel_ = nullptr; +inline ::pg_query::Node* CTECycleClause::release_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.cycle_mark_default_; + _impl_.cycle_mark_default_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CreateTrigStmt::unsafe_arena_release_constrrel() { - // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.constrrel) - - ::pg_query::RangeVar* temp = _impl_.constrrel_; - _impl_.constrrel_ = nullptr; +inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_default) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.cycle_mark_default_; + _impl_.cycle_mark_default_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CreateTrigStmt::_internal_mutable_constrrel() { - - if (_impl_.constrrel_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.constrrel_ = p; +inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.cycle_mark_default_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.constrrel_; + return _impl_.cycle_mark_default_; } -inline ::pg_query::RangeVar* CreateTrigStmt::mutable_constrrel() { - ::pg_query::RangeVar* _msg = _internal_mutable_constrrel(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.constrrel) +inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_default() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_cycle_mark_default(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_default) return _msg; } -inline void CreateTrigStmt::set_allocated_constrrel(::pg_query::RangeVar* constrrel) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CTECycleClause::set_allocated_cycle_mark_default(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.constrrel_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.cycle_mark_default_); } - if (constrrel) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(constrrel); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - constrrel = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, constrrel, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.constrrel_ = constrrel; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.constrrel) -} - -// ------------------------------------------------------------------- -// CreatePLangStmt + _impl_.cycle_mark_default_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_default) +} -// bool replace = 1 [json_name = "replace"]; -inline void CreatePLangStmt::clear_replace() { - _impl_.replace_ = false; +// string cycle_path_column = 5 [json_name = "cycle_path_column"]; +inline void CTECycleClause::clear_cycle_path_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_path_column_.ClearToEmpty(); } -inline bool CreatePLangStmt::_internal_replace() const { - return _impl_.replace_; +inline const std::string& CTECycleClause::cycle_path_column() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_path_column) + return _internal_cycle_path_column(); } -inline bool CreatePLangStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.replace) - return _internal_replace(); +template +inline PROTOBUF_ALWAYS_INLINE void CTECycleClause::set_cycle_path_column(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_path_column_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_path_column) } -inline void CreatePLangStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline std::string* CTECycleClause::mutable_cycle_path_column() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cycle_path_column(); + // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_path_column) + return _s; } -inline void CreatePLangStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.replace) +inline const std::string& CTECycleClause::_internal_cycle_path_column() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_path_column_.Get(); } - -// string plname = 2 [json_name = "plname"]; -inline void CreatePLangStmt::clear_plname() { - _impl_.plname_.ClearToEmpty(); +inline void CTECycleClause::_internal_set_cycle_path_column(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_path_column_.Set(value, GetArena()); } -inline const std::string& CreatePLangStmt::plname() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plname) - return _internal_plname(); +inline std::string* CTECycleClause::_internal_mutable_cycle_path_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cycle_path_column_.Mutable( GetArena()); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreatePLangStmt::set_plname(ArgT0&& arg0, ArgT... args) { - - _impl_.plname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.plname) +inline std::string* CTECycleClause::release_cycle_path_column() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_path_column) + return _impl_.cycle_path_column_.Release(); } -inline std::string* CreatePLangStmt::mutable_plname() { - std::string* _s = _internal_mutable_plname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plname) - return _s; +inline void CTECycleClause::set_allocated_cycle_path_column(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_path_column_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cycle_path_column_.IsDefault()) { + _impl_.cycle_path_column_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_path_column) } -inline const std::string& CreatePLangStmt::_internal_plname() const { - return _impl_.plname_.Get(); + +// int32 location = 6 [json_name = "location"]; +inline void CTECycleClause::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline void CreatePLangStmt::_internal_set_plname(const std::string& value) { - - _impl_.plname_.Set(value, GetArenaForAllocation()); +inline ::int32_t CTECycleClause::location() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.location) + return _internal_location(); } -inline std::string* CreatePLangStmt::_internal_mutable_plname() { - - return _impl_.plname_.Mutable(GetArenaForAllocation()); +inline void CTECycleClause::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.location) } -inline std::string* CreatePLangStmt::release_plname() { - // @@protoc_insertion_point(field_release:pg_query.CreatePLangStmt.plname) - return _impl_.plname_.Release(); +inline ::int32_t CTECycleClause::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void CreatePLangStmt::set_allocated_plname(std::string* plname) { - if (plname != nullptr) { - - } else { - - } - _impl_.plname_.SetAllocated(plname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.plname_.IsDefault()) { - _impl_.plname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePLangStmt.plname) +inline void CTECycleClause::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"]; -inline int CreatePLangStmt::_internal_plhandler_size() const { - return _impl_.plhandler_.size(); +// uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; +inline void CTECycleClause::clear_cycle_mark_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_type_ = 0u; } -inline int CreatePLangStmt::plhandler_size() const { - return _internal_plhandler_size(); +inline ::uint32_t CTECycleClause::cycle_mark_type() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_type) + return _internal_cycle_mark_type(); } -inline void CreatePLangStmt::clear_plhandler() { - _impl_.plhandler_.Clear(); +inline void CTECycleClause::set_cycle_mark_type(::uint32_t value) { + _internal_set_cycle_mark_type(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_type) } -inline ::pg_query::Node* CreatePLangStmt::mutable_plhandler(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plhandler) - return _impl_.plhandler_.Mutable(index); +inline ::uint32_t CTECycleClause::_internal_cycle_mark_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_mark_type_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePLangStmt::mutable_plhandler() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plhandler) - return &_impl_.plhandler_; +inline void CTECycleClause::_internal_set_cycle_mark_type(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_type_ = value; } -inline const ::pg_query::Node& CreatePLangStmt::_internal_plhandler(int index) const { - return _impl_.plhandler_.Get(index); + +// int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; +inline void CTECycleClause::clear_cycle_mark_typmod() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_typmod_ = 0; } -inline const ::pg_query::Node& CreatePLangStmt::plhandler(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plhandler) - return _internal_plhandler(index); +inline ::int32_t CTECycleClause::cycle_mark_typmod() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_typmod) + return _internal_cycle_mark_typmod(); } -inline ::pg_query::Node* CreatePLangStmt::_internal_add_plhandler() { - return _impl_.plhandler_.Add(); +inline void CTECycleClause::set_cycle_mark_typmod(::int32_t value) { + _internal_set_cycle_mark_typmod(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_typmod) } -inline ::pg_query::Node* CreatePLangStmt::add_plhandler() { - ::pg_query::Node* _add = _internal_add_plhandler(); - // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plhandler) - return _add; +inline ::int32_t CTECycleClause::_internal_cycle_mark_typmod() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_mark_typmod_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePLangStmt::plhandler() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plhandler) - return _impl_.plhandler_; +inline void CTECycleClause::_internal_set_cycle_mark_typmod(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_typmod_ = value; } -// repeated .pg_query.Node plinline = 4 [json_name = "plinline"]; -inline int CreatePLangStmt::_internal_plinline_size() const { - return _impl_.plinline_.size(); +// uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; +inline void CTECycleClause::clear_cycle_mark_collation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_collation_ = 0u; } -inline int CreatePLangStmt::plinline_size() const { - return _internal_plinline_size(); +inline ::uint32_t CTECycleClause::cycle_mark_collation() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_collation) + return _internal_cycle_mark_collation(); } -inline void CreatePLangStmt::clear_plinline() { - _impl_.plinline_.Clear(); +inline void CTECycleClause::set_cycle_mark_collation(::uint32_t value) { + _internal_set_cycle_mark_collation(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_collation) } -inline ::pg_query::Node* CreatePLangStmt::mutable_plinline(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plinline) - return _impl_.plinline_.Mutable(index); +inline ::uint32_t CTECycleClause::_internal_cycle_mark_collation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_mark_collation_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePLangStmt::mutable_plinline() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plinline) - return &_impl_.plinline_; +inline void CTECycleClause::_internal_set_cycle_mark_collation(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_collation_ = value; } -inline const ::pg_query::Node& CreatePLangStmt::_internal_plinline(int index) const { - return _impl_.plinline_.Get(index); + +// uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; +inline void CTECycleClause::clear_cycle_mark_neop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cycle_mark_neop_ = 0u; } -inline const ::pg_query::Node& CreatePLangStmt::plinline(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plinline) - return _internal_plinline(index); +inline ::uint32_t CTECycleClause::cycle_mark_neop() const { + // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_neop) + return _internal_cycle_mark_neop(); } -inline ::pg_query::Node* CreatePLangStmt::_internal_add_plinline() { - return _impl_.plinline_.Add(); +inline void CTECycleClause::set_cycle_mark_neop(::uint32_t value) { + _internal_set_cycle_mark_neop(value); + // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_neop) } -inline ::pg_query::Node* CreatePLangStmt::add_plinline() { - ::pg_query::Node* _add = _internal_add_plinline(); - // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plinline) - return _add; +inline ::uint32_t CTECycleClause::_internal_cycle_mark_neop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cycle_mark_neop_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePLangStmt::plinline() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plinline) - return _impl_.plinline_; +inline void CTECycleClause::_internal_set_cycle_mark_neop(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cycle_mark_neop_ = value; } -// repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"]; -inline int CreatePLangStmt::_internal_plvalidator_size() const { - return _impl_.plvalidator_.size(); -} -inline int CreatePLangStmt::plvalidator_size() const { - return _internal_plvalidator_size(); +// ------------------------------------------------------------------- + +// CommonTableExpr + +// string ctename = 1 [json_name = "ctename"]; +inline void CommonTableExpr::clear_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctename_.ClearToEmpty(); } -inline void CreatePLangStmt::clear_plvalidator() { - _impl_.plvalidator_.Clear(); +inline const std::string& CommonTableExpr::ctename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctename) + return _internal_ctename(); } -inline ::pg_query::Node* CreatePLangStmt::mutable_plvalidator(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plvalidator) - return _impl_.plvalidator_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CommonTableExpr::set_ctename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePLangStmt::mutable_plvalidator() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plvalidator) - return &_impl_.plvalidator_; +inline std::string* CommonTableExpr::mutable_ctename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_ctename(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctename) + return _s; } -inline const ::pg_query::Node& CreatePLangStmt::_internal_plvalidator(int index) const { - return _impl_.plvalidator_.Get(index); +inline const std::string& CommonTableExpr::_internal_ctename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctename_.Get(); } -inline const ::pg_query::Node& CreatePLangStmt::plvalidator(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plvalidator) - return _internal_plvalidator(index); +inline void CommonTableExpr::_internal_set_ctename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctename_.Set(value, GetArena()); } -inline ::pg_query::Node* CreatePLangStmt::_internal_add_plvalidator() { - return _impl_.plvalidator_.Add(); +inline std::string* CommonTableExpr::_internal_mutable_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.ctename_.Mutable( GetArena()); } -inline ::pg_query::Node* CreatePLangStmt::add_plvalidator() { - ::pg_query::Node* _add = _internal_add_plvalidator(); - // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plvalidator) - return _add; +inline std::string* CommonTableExpr::release_ctename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctename) + return _impl_.ctename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePLangStmt::plvalidator() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plvalidator) - return _impl_.plvalidator_; +inline void CommonTableExpr::set_allocated_ctename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.ctename_.IsDefault()) { + _impl_.ctename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctename) } -// bool pltrusted = 6 [json_name = "pltrusted"]; -inline void CreatePLangStmt::clear_pltrusted() { - _impl_.pltrusted_ = false; +// repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; +inline int CommonTableExpr::_internal_aliascolnames_size() const { + return _internal_aliascolnames().size(); } -inline bool CreatePLangStmt::_internal_pltrusted() const { - return _impl_.pltrusted_; +inline int CommonTableExpr::aliascolnames_size() const { + return _internal_aliascolnames_size(); } -inline bool CreatePLangStmt::pltrusted() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.pltrusted) - return _internal_pltrusted(); +inline void CommonTableExpr::clear_aliascolnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aliascolnames_.Clear(); } -inline void CreatePLangStmt::_internal_set_pltrusted(bool value) { - - _impl_.pltrusted_ = value; +inline ::pg_query::Node* CommonTableExpr::mutable_aliascolnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.aliascolnames) + return _internal_mutable_aliascolnames()->Mutable(index); } -inline void CreatePLangStmt::set_pltrusted(bool value) { - _internal_set_pltrusted(value); - // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.pltrusted) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_aliascolnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.aliascolnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aliascolnames(); } - -// ------------------------------------------------------------------- - -// CreateRoleStmt - -// .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"]; -inline void CreateRoleStmt::clear_stmt_type() { - _impl_.stmt_type_ = 0; +inline const ::pg_query::Node& CommonTableExpr::aliascolnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.aliascolnames) + return _internal_aliascolnames().Get(index); } -inline ::pg_query::RoleStmtType CreateRoleStmt::_internal_stmt_type() const { - return static_cast< ::pg_query::RoleStmtType >(_impl_.stmt_type_); +inline ::pg_query::Node* CommonTableExpr::add_aliascolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aliascolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.aliascolnames) + return _add; } -inline ::pg_query::RoleStmtType CreateRoleStmt::stmt_type() const { - // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.stmt_type) - return _internal_stmt_type(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::aliascolnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.aliascolnames) + return _internal_aliascolnames(); } -inline void CreateRoleStmt::_internal_set_stmt_type(::pg_query::RoleStmtType value) { - - _impl_.stmt_type_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_aliascolnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aliascolnames_; } -inline void CreateRoleStmt::set_stmt_type(::pg_query::RoleStmtType value) { - _internal_set_stmt_type(value); - // @@protoc_insertion_point(field_set:pg_query.CreateRoleStmt.stmt_type) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_aliascolnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aliascolnames_; } -// string role = 2 [json_name = "role"]; -inline void CreateRoleStmt::clear_role() { - _impl_.role_.ClearToEmpty(); +// .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; +inline void CommonTableExpr::clear_ctematerialized() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctematerialized_ = 0; } -inline const std::string& CreateRoleStmt::role() const { - // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.role) - return _internal_role(); +inline ::pg_query::CTEMaterialize CommonTableExpr::ctematerialized() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctematerialized) + return _internal_ctematerialized(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateRoleStmt::set_role(ArgT0&& arg0, ArgT... args) { - - _impl_.role_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateRoleStmt.role) +inline void CommonTableExpr::set_ctematerialized(::pg_query::CTEMaterialize value) { + _internal_set_ctematerialized(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctematerialized) } -inline std::string* CreateRoleStmt::mutable_role() { - std::string* _s = _internal_mutable_role(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateRoleStmt.role) - return _s; +inline ::pg_query::CTEMaterialize CommonTableExpr::_internal_ctematerialized() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CTEMaterialize>(_impl_.ctematerialized_); } -inline const std::string& CreateRoleStmt::_internal_role() const { - return _impl_.role_.Get(); +inline void CommonTableExpr::_internal_set_ctematerialized(::pg_query::CTEMaterialize value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ctematerialized_ = value; } -inline void CreateRoleStmt::_internal_set_role(const std::string& value) { - - _impl_.role_.Set(value, GetArenaForAllocation()); + +// .pg_query.Node ctequery = 4 [json_name = "ctequery"]; +inline bool CommonTableExpr::has_ctequery() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.ctequery_ != nullptr); + return value; } -inline std::string* CreateRoleStmt::_internal_mutable_role() { - - return _impl_.role_.Mutable(GetArenaForAllocation()); +inline void CommonTableExpr::clear_ctequery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.ctequery_ != nullptr) _impl_.ctequery_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* CreateRoleStmt::release_role() { - // @@protoc_insertion_point(field_release:pg_query.CreateRoleStmt.role) - return _impl_.role_.Release(); +inline const ::pg_query::Node& CommonTableExpr::_internal_ctequery() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.ctequery_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CreateRoleStmt::set_allocated_role(std::string* role) { - if (role != nullptr) { - +inline const ::pg_query::Node& CommonTableExpr::ctequery() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctequery) + return _internal_ctequery(); +} +inline void CommonTableExpr::unsafe_arena_set_allocated_ctequery(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ctequery_); + } + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.ctequery) +} +inline ::pg_query::Node* CommonTableExpr::release_ctequery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.ctequery_; + _impl_.ctequery_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.role_.SetAllocated(role, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.role_.IsDefault()) { - _impl_.role_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateRoleStmt.role) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* CommonTableExpr::unsafe_arena_release_ctequery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctequery) -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int CreateRoleStmt::_internal_options_size() const { - return _impl_.options_.size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.ctequery_; + _impl_.ctequery_ = nullptr; + return temp; } -inline int CreateRoleStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* CommonTableExpr::_internal_mutable_ctequery() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.ctequery_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.ctequery_; } -inline void CreateRoleStmt::clear_options() { - _impl_.options_.Clear(); +inline ::pg_query::Node* CommonTableExpr::mutable_ctequery() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_ctequery(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctequery) + return _msg; } -inline ::pg_query::Node* CreateRoleStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateRoleStmt.options) - return _impl_.options_.Mutable(index); +inline void CommonTableExpr::set_allocated_ctequery(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.ctequery_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.ctequery_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctequery) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateRoleStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRoleStmt.options) - return &_impl_.options_; + +// .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; +inline bool CommonTableExpr::has_search_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.search_clause_ != nullptr); + return value; } -inline const ::pg_query::Node& CreateRoleStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline void CommonTableExpr::clear_search_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.search_clause_ != nullptr) _impl_.search_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& CreateRoleStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.options) - return _internal_options(index); +inline const ::pg_query::CTESearchClause& CommonTableExpr::_internal_search_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::CTESearchClause* p = _impl_.search_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTESearchClause_default_instance_); } -inline ::pg_query::Node* CreateRoleStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::CTESearchClause& CommonTableExpr::search_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.search_clause) + return _internal_search_clause(); } -inline ::pg_query::Node* CreateRoleStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateRoleStmt.options) - return _add; +inline void CommonTableExpr::unsafe_arena_set_allocated_search_clause(::pg_query::CTESearchClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.search_clause_); + } + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.search_clause) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateRoleStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateRoleStmt.options) - return _impl_.options_; +inline ::pg_query::CTESearchClause* CommonTableExpr::release_search_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::CTESearchClause* released = _impl_.search_clause_; + _impl_.search_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::CTESearchClause* CommonTableExpr::unsafe_arena_release_search_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.search_clause) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::CTESearchClause* temp = _impl_.search_clause_; + _impl_.search_clause_ = nullptr; + return temp; +} +inline ::pg_query::CTESearchClause* CommonTableExpr::_internal_mutable_search_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.search_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArena()); + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(p); + } + return _impl_.search_clause_; +} +inline ::pg_query::CTESearchClause* CommonTableExpr::mutable_search_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTESearchClause* _msg = _internal_mutable_search_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.search_clause) + return _msg; +} +inline void CommonTableExpr::set_allocated_search_clause(::pg_query::CTESearchClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::CTESearchClause*>(_impl_.search_clause_); + } -// AlterRoleStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTESearchClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// .pg_query.RoleSpec role = 1 [json_name = "role"]; -inline bool AlterRoleStmt::_internal_has_role() const { - return this != internal_default_instance() && _impl_.role_ != nullptr; + _impl_.search_clause_ = reinterpret_cast<::pg_query::CTESearchClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.search_clause) } -inline bool AlterRoleStmt::has_role() const { - return _internal_has_role(); + +// .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; +inline bool CommonTableExpr::has_cycle_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.cycle_clause_ != nullptr); + return value; } -inline void AlterRoleStmt::clear_role() { - if (GetArenaForAllocation() == nullptr && _impl_.role_ != nullptr) { - delete _impl_.role_; - } - _impl_.role_ = nullptr; +inline void CommonTableExpr::clear_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.cycle_clause_ != nullptr) _impl_.cycle_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::RoleSpec& AlterRoleStmt::_internal_role() const { - const ::pg_query::RoleSpec* p = _impl_.role_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::CTECycleClause& CommonTableExpr::_internal_cycle_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::CTECycleClause* p = _impl_.cycle_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CTECycleClause_default_instance_); } -inline const ::pg_query::RoleSpec& AlterRoleStmt::role() const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.role) - return _internal_role(); +inline const ::pg_query::CTECycleClause& CommonTableExpr::cycle_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cycle_clause) + return _internal_cycle_clause(); } -inline void AlterRoleStmt::unsafe_arena_set_allocated_role( - ::pg_query::RoleSpec* role) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.role_); +inline void CommonTableExpr::unsafe_arena_set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.cycle_clause_); } - _impl_.role_ = role; - if (role) { - + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleStmt.role) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.cycle_clause) } -inline ::pg_query::RoleSpec* AlterRoleStmt::release_role() { - - ::pg_query::RoleSpec* temp = _impl_.role_; - _impl_.role_ = nullptr; +inline ::pg_query::CTECycleClause* CommonTableExpr::release_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::CTECycleClause* released = _impl_.cycle_clause_; + _impl_.cycle_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* AlterRoleStmt::unsafe_arena_release_role() { - // @@protoc_insertion_point(field_release:pg_query.AlterRoleStmt.role) - - ::pg_query::RoleSpec* temp = _impl_.role_; - _impl_.role_ = nullptr; +inline ::pg_query::CTECycleClause* CommonTableExpr::unsafe_arena_release_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.cycle_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::CTECycleClause* temp = _impl_.cycle_clause_; + _impl_.cycle_clause_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* AlterRoleStmt::_internal_mutable_role() { - - if (_impl_.role_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.role_ = p; +inline ::pg_query::CTECycleClause* CommonTableExpr::_internal_mutable_cycle_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.cycle_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArena()); + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(p); } - return _impl_.role_; + return _impl_.cycle_clause_; } -inline ::pg_query::RoleSpec* AlterRoleStmt::mutable_role() { - ::pg_query::RoleSpec* _msg = _internal_mutable_role(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleStmt.role) +inline ::pg_query::CTECycleClause* CommonTableExpr::mutable_cycle_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CTECycleClause* _msg = _internal_mutable_cycle_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.cycle_clause) return _msg; } -inline void AlterRoleStmt::set_allocated_role(::pg_query::RoleSpec* role) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CommonTableExpr::set_allocated_cycle_clause(::pg_query::CTECycleClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.role_; + delete reinterpret_cast<::pg_query::CTECycleClause*>(_impl_.cycle_clause_); } - if (role) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(role); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CTECycleClause*>(value)->GetArena(); if (message_arena != submessage_arena) { - role = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, role, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.role_ = role; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleStmt.role) + + _impl_.cycle_clause_ = reinterpret_cast<::pg_query::CTECycleClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.cycle_clause) } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterRoleStmt::_internal_options_size() const { - return _impl_.options_.size(); +// int32 location = 7 [json_name = "location"]; +inline void CommonTableExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int AlterRoleStmt::options_size() const { - return _internal_options_size(); +inline ::int32_t CommonTableExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.location) + return _internal_location(); } -inline void AlterRoleStmt::clear_options() { - _impl_.options_.Clear(); +inline void CommonTableExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.location) } -inline ::pg_query::Node* AlterRoleStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleStmt.options) - return _impl_.options_.Mutable(index); +inline ::int32_t CommonTableExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterRoleStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterRoleStmt.options) - return &_impl_.options_; +inline void CommonTableExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& AlterRoleStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool cterecursive = 8 [json_name = "cterecursive"]; +inline void CommonTableExpr::clear_cterecursive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cterecursive_ = false; } -inline const ::pg_query::Node& AlterRoleStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.options) - return _internal_options(index); +inline bool CommonTableExpr::cterecursive() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterecursive) + return _internal_cterecursive(); } -inline ::pg_query::Node* AlterRoleStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void CommonTableExpr::set_cterecursive(bool value) { + _internal_set_cterecursive(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterecursive) } -inline ::pg_query::Node* AlterRoleStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterRoleStmt.options) - return _add; +inline bool CommonTableExpr::_internal_cterecursive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cterecursive_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterRoleStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterRoleStmt.options) - return _impl_.options_; +inline void CommonTableExpr::_internal_set_cterecursive(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cterecursive_ = value; } -// int32 action = 3 [json_name = "action"]; -inline void AlterRoleStmt::clear_action() { - _impl_.action_ = 0; +// int32 cterefcount = 9 [json_name = "cterefcount"]; +inline void CommonTableExpr::clear_cterefcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cterefcount_ = 0; } -inline int32_t AlterRoleStmt::_internal_action() const { - return _impl_.action_; +inline ::int32_t CommonTableExpr::cterefcount() const { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterefcount) + return _internal_cterefcount(); } -inline int32_t AlterRoleStmt::action() const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.action) - return _internal_action(); +inline void CommonTableExpr::set_cterefcount(::int32_t value) { + _internal_set_cterefcount(value); + // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterefcount) } -inline void AlterRoleStmt::_internal_set_action(int32_t value) { - - _impl_.action_ = value; +inline ::int32_t CommonTableExpr::_internal_cterefcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cterefcount_; } -inline void AlterRoleStmt::set_action(int32_t value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.AlterRoleStmt.action) +inline void CommonTableExpr::_internal_set_cterefcount(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cterefcount_ = value; } -// ------------------------------------------------------------------- - -// DropRoleStmt - -// repeated .pg_query.Node roles = 1 [json_name = "roles"]; -inline int DropRoleStmt::_internal_roles_size() const { - return _impl_.roles_.size(); +// repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; +inline int CommonTableExpr::_internal_ctecolnames_size() const { + return _internal_ctecolnames().size(); } -inline int DropRoleStmt::roles_size() const { - return _internal_roles_size(); +inline int CommonTableExpr::ctecolnames_size() const { + return _internal_ctecolnames_size(); } -inline void DropRoleStmt::clear_roles() { - _impl_.roles_.Clear(); +inline void CommonTableExpr::clear_ctecolnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecolnames_.Clear(); } -inline ::pg_query::Node* DropRoleStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DropRoleStmt.roles) - return _impl_.roles_.Mutable(index); +inline ::pg_query::Node* CommonTableExpr::mutable_ctecolnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolnames) + return _internal_mutable_ctecolnames()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DropRoleStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DropRoleStmt.roles) - return &_impl_.roles_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ctecolnames(); } -inline const ::pg_query::Node& DropRoleStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); +inline const ::pg_query::Node& CommonTableExpr::ctecolnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolnames) + return _internal_ctecolnames().Get(index); } -inline const ::pg_query::Node& DropRoleStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DropRoleStmt.roles) - return _internal_roles(index); +inline ::pg_query::Node* CommonTableExpr::add_ctecolnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecolnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolnames) + return _add; } -inline ::pg_query::Node* DropRoleStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolnames) + return _internal_ctecolnames(); } -inline ::pg_query::Node* DropRoleStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.DropRoleStmt.roles) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecolnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctecolnames_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DropRoleStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.DropRoleStmt.roles) - return _impl_.roles_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecolnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecolnames_; } -// bool missing_ok = 2 [json_name = "missing_ok"]; -inline void DropRoleStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; +inline int CommonTableExpr::_internal_ctecoltypes_size() const { + return _internal_ctecoltypes().size(); } -inline bool DropRoleStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline int CommonTableExpr::ctecoltypes_size() const { + return _internal_ctecoltypes_size(); } -inline bool DropRoleStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropRoleStmt.missing_ok) - return _internal_missing_ok(); +inline void CommonTableExpr::clear_ctecoltypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecoltypes_.Clear(); } -inline void DropRoleStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypes) + return _internal_mutable_ctecoltypes()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ctecoltypes(); +} +inline const ::pg_query::Node& CommonTableExpr::ctecoltypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypes) + return _internal_ctecoltypes().Get(index); +} +inline ::pg_query::Node* CommonTableExpr::add_ctecoltypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecoltypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypes) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypes) + return _internal_ctecoltypes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecoltypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctecoltypes_; } -inline void DropRoleStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropRoleStmt.missing_ok) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecoltypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecoltypes_; } -// ------------------------------------------------------------------- - -// LockStmt - -// repeated .pg_query.Node relations = 1 [json_name = "relations"]; -inline int LockStmt::_internal_relations_size() const { - return _impl_.relations_.size(); +// repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; +inline int CommonTableExpr::_internal_ctecoltypmods_size() const { + return _internal_ctecoltypmods().size(); } -inline int LockStmt::relations_size() const { - return _internal_relations_size(); +inline int CommonTableExpr::ctecoltypmods_size() const { + return _internal_ctecoltypmods_size(); } -inline void LockStmt::clear_relations() { - _impl_.relations_.Clear(); +inline void CommonTableExpr::clear_ctecoltypmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecoltypmods_.Clear(); } -inline ::pg_query::Node* LockStmt::mutable_relations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.LockStmt.relations) - return _impl_.relations_.Mutable(index); +inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_mutable_ctecoltypmods()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -LockStmt::mutable_relations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.LockStmt.relations) - return &_impl_.relations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecoltypmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ctecoltypmods(); } -inline const ::pg_query::Node& LockStmt::_internal_relations(int index) const { - return _impl_.relations_.Get(index); +inline const ::pg_query::Node& CommonTableExpr::ctecoltypmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_ctecoltypmods().Get(index); } -inline const ::pg_query::Node& LockStmt::relations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.LockStmt.relations) - return _internal_relations(index); +inline ::pg_query::Node* CommonTableExpr::add_ctecoltypmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecoltypmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypmods) + return _add; } -inline ::pg_query::Node* LockStmt::_internal_add_relations() { - return _impl_.relations_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecoltypmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypmods) + return _internal_ctecoltypmods(); } -inline ::pg_query::Node* LockStmt::add_relations() { - ::pg_query::Node* _add = _internal_add_relations(); - // @@protoc_insertion_point(field_add:pg_query.LockStmt.relations) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecoltypmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctecoltypmods_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -LockStmt::relations() const { - // @@protoc_insertion_point(field_list:pg_query.LockStmt.relations) - return _impl_.relations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecoltypmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecoltypmods_; } -// int32 mode = 2 [json_name = "mode"]; -inline void LockStmt::clear_mode() { - _impl_.mode_ = 0; +// repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; +inline int CommonTableExpr::_internal_ctecolcollations_size() const { + return _internal_ctecolcollations().size(); } -inline int32_t LockStmt::_internal_mode() const { - return _impl_.mode_; +inline int CommonTableExpr::ctecolcollations_size() const { + return _internal_ctecolcollations_size(); } -inline int32_t LockStmt::mode() const { - // @@protoc_insertion_point(field_get:pg_query.LockStmt.mode) - return _internal_mode(); +inline void CommonTableExpr::clear_ctecolcollations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ctecolcollations_.Clear(); } -inline void LockStmt::_internal_set_mode(int32_t value) { - - _impl_.mode_ = value; +inline ::pg_query::Node* CommonTableExpr::mutable_ctecolcollations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolcollations) + return _internal_mutable_ctecolcollations()->Mutable(index); } -inline void LockStmt::set_mode(int32_t value) { - _internal_set_mode(value); - // @@protoc_insertion_point(field_set:pg_query.LockStmt.mode) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CommonTableExpr::mutable_ctecolcollations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolcollations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_ctecolcollations(); } - -// bool nowait = 3 [json_name = "nowait"]; -inline void LockStmt::clear_nowait() { - _impl_.nowait_ = false; +inline const ::pg_query::Node& CommonTableExpr::ctecolcollations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolcollations) + return _internal_ctecolcollations().Get(index); } -inline bool LockStmt::_internal_nowait() const { - return _impl_.nowait_; +inline ::pg_query::Node* CommonTableExpr::add_ctecolcollations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_ctecolcollations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolcollations) + return _add; } -inline bool LockStmt::nowait() const { - // @@protoc_insertion_point(field_get:pg_query.LockStmt.nowait) - return _internal_nowait(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CommonTableExpr::ctecolcollations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolcollations) + return _internal_ctecolcollations(); } -inline void LockStmt::_internal_set_nowait(bool value) { - - _impl_.nowait_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CommonTableExpr::_internal_ctecolcollations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ctecolcollations_; } -inline void LockStmt::set_nowait(bool value) { - _internal_set_nowait(value); - // @@protoc_insertion_point(field_set:pg_query.LockStmt.nowait) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CommonTableExpr::_internal_mutable_ctecolcollations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.ctecolcollations_; } // ------------------------------------------------------------------- -// ConstraintsSetStmt +// MergeWhenClause -// repeated .pg_query.Node constraints = 1 [json_name = "constraints"]; -inline int ConstraintsSetStmt::_internal_constraints_size() const { - return _impl_.constraints_.size(); -} -inline int ConstraintsSetStmt::constraints_size() const { - return _internal_constraints_size(); +// .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"]; +inline void MergeWhenClause::clear_match_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.match_kind_ = 0; } -inline void ConstraintsSetStmt::clear_constraints() { - _impl_.constraints_.Clear(); -} -inline ::pg_query::Node* ConstraintsSetStmt::mutable_constraints(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ConstraintsSetStmt.constraints) - return _impl_.constraints_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ConstraintsSetStmt::mutable_constraints() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ConstraintsSetStmt.constraints) - return &_impl_.constraints_; -} -inline const ::pg_query::Node& ConstraintsSetStmt::_internal_constraints(int index) const { - return _impl_.constraints_.Get(index); +inline ::pg_query::MergeMatchKind MergeWhenClause::match_kind() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.match_kind) + return _internal_match_kind(); } -inline const ::pg_query::Node& ConstraintsSetStmt::constraints(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ConstraintsSetStmt.constraints) - return _internal_constraints(index); -} -inline ::pg_query::Node* ConstraintsSetStmt::_internal_add_constraints() { - return _impl_.constraints_.Add(); +inline void MergeWhenClause::set_match_kind(::pg_query::MergeMatchKind value) { + _internal_set_match_kind(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.match_kind) } -inline ::pg_query::Node* ConstraintsSetStmt::add_constraints() { - ::pg_query::Node* _add = _internal_add_constraints(); - // @@protoc_insertion_point(field_add:pg_query.ConstraintsSetStmt.constraints) - return _add; +inline ::pg_query::MergeMatchKind MergeWhenClause::_internal_match_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::MergeMatchKind>(_impl_.match_kind_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ConstraintsSetStmt::constraints() const { - // @@protoc_insertion_point(field_list:pg_query.ConstraintsSetStmt.constraints) - return _impl_.constraints_; +inline void MergeWhenClause::_internal_set_match_kind(::pg_query::MergeMatchKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.match_kind_ = value; } -// bool deferred = 2 [json_name = "deferred"]; -inline void ConstraintsSetStmt::clear_deferred() { - _impl_.deferred_ = false; +// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; +inline void MergeWhenClause::clear_command_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.command_type_ = 0; } -inline bool ConstraintsSetStmt::_internal_deferred() const { - return _impl_.deferred_; +inline ::pg_query::CmdType MergeWhenClause::command_type() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.command_type) + return _internal_command_type(); } -inline bool ConstraintsSetStmt::deferred() const { - // @@protoc_insertion_point(field_get:pg_query.ConstraintsSetStmt.deferred) - return _internal_deferred(); +inline void MergeWhenClause::set_command_type(::pg_query::CmdType value) { + _internal_set_command_type(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.command_type) } -inline void ConstraintsSetStmt::_internal_set_deferred(bool value) { - - _impl_.deferred_ = value; +inline ::pg_query::CmdType MergeWhenClause::_internal_command_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CmdType>(_impl_.command_type_); } -inline void ConstraintsSetStmt::set_deferred(bool value) { - _internal_set_deferred(value); - // @@protoc_insertion_point(field_set:pg_query.ConstraintsSetStmt.deferred) +inline void MergeWhenClause::_internal_set_command_type(::pg_query::CmdType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.command_type_ = value; } -// ------------------------------------------------------------------- - -// ReindexStmt - -// .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; -inline void ReindexStmt::clear_kind() { - _impl_.kind_ = 0; +// .pg_query.OverridingKind override = 3 [json_name = "override"]; +inline void MergeWhenClause::clear_override() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.override_ = 0; } -inline ::pg_query::ReindexObjectType ReindexStmt::_internal_kind() const { - return static_cast< ::pg_query::ReindexObjectType >(_impl_.kind_); +inline ::pg_query::OverridingKind MergeWhenClause::override() const { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.override) + return _internal_override(); } -inline ::pg_query::ReindexObjectType ReindexStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.kind) - return _internal_kind(); +inline void MergeWhenClause::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.override) } -inline void ReindexStmt::_internal_set_kind(::pg_query::ReindexObjectType value) { - - _impl_.kind_ = value; +inline ::pg_query::OverridingKind MergeWhenClause::_internal_override() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline void ReindexStmt::set_kind(::pg_query::ReindexObjectType value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.ReindexStmt.kind) +inline void MergeWhenClause::_internal_set_override(::pg_query::OverridingKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; } -// .pg_query.RangeVar relation = 2 [json_name = "relation"]; -inline bool ReindexStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool ReindexStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.Node condition = 4 [json_name = "condition"]; +inline bool MergeWhenClause::has_condition() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.condition_ != nullptr); + return value; } -inline void ReindexStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void MergeWhenClause::clear_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.condition_ != nullptr) _impl_.condition_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& ReindexStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& MergeWhenClause::_internal_condition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.condition_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& ReindexStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& MergeWhenClause::condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.condition) + return _internal_condition(); } -inline void ReindexStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void MergeWhenClause::unsafe_arena_set_allocated_condition(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.condition_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReindexStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeWhenClause.condition) } -inline ::pg_query::RangeVar* ReindexStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* MergeWhenClause::release_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.condition_; + _impl_.condition_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* ReindexStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.ReindexStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* MergeWhenClause::unsafe_arena_release_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeWhenClause.condition) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.condition_; + _impl_.condition_ = nullptr; return temp; } -inline ::pg_query::RangeVar* ReindexStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* MergeWhenClause::_internal_mutable_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.condition_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.condition_; } -inline ::pg_query::RangeVar* ReindexStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.relation) +inline ::pg_query::Node* MergeWhenClause::mutable_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.condition) return _msg; } -inline void ReindexStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void MergeWhenClause::set_allocated_condition(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.condition_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.ReindexStmt.relation) + + _impl_.condition_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeWhenClause.condition) } -// string name = 3 [json_name = "name"]; -inline void ReindexStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; +inline int MergeWhenClause::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline const std::string& ReindexStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.name) - return _internal_name(); +inline int MergeWhenClause::target_list_size() const { + return _internal_target_list_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ReindexStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ReindexStmt.name) +inline void MergeWhenClause::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline std::string* ReindexStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.name) - return _s; +inline ::pg_query::Node* MergeWhenClause::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline const std::string& ReindexStmt::_internal_name() const { - return _impl_.name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } -inline void ReindexStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& MergeWhenClause::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.target_list) + return _internal_target_list().Get(index); } -inline std::string* ReindexStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* MergeWhenClause::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.target_list) + return _add; } -inline std::string* ReindexStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.ReindexStmt.name) - return _impl_.name_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.target_list) + return _internal_target_list(); } -inline void ReindexStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ReindexStmt.name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeWhenClause::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeWhenClause::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// repeated .pg_query.Node params = 4 [json_name = "params"]; -inline int ReindexStmt::_internal_params_size() const { - return _impl_.params_.size(); +// repeated .pg_query.Node values = 6 [json_name = "values"]; +inline int MergeWhenClause::_internal_values_size() const { + return _internal_values().size(); } -inline int ReindexStmt::params_size() const { - return _internal_params_size(); +inline int MergeWhenClause::values_size() const { + return _internal_values_size(); } -inline void ReindexStmt::clear_params() { - _impl_.params_.Clear(); +inline void MergeWhenClause::clear_values() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.values_.Clear(); } -inline ::pg_query::Node* ReindexStmt::mutable_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.params) - return _impl_.params_.Mutable(index); +inline ::pg_query::Node* MergeWhenClause::mutable_values(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.values) + return _internal_mutable_values()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ReindexStmt::mutable_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ReindexStmt.params) - return &_impl_.params_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeWhenClause::mutable_values() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.values) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_values(); } -inline const ::pg_query::Node& ReindexStmt::_internal_params(int index) const { - return _impl_.params_.Get(index); +inline const ::pg_query::Node& MergeWhenClause::values(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.values) + return _internal_values().Get(index); } -inline const ::pg_query::Node& ReindexStmt::params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.params) - return _internal_params(index); +inline ::pg_query::Node* MergeWhenClause::add_values() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_values()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.values) + return _add; } -inline ::pg_query::Node* ReindexStmt::_internal_add_params() { - return _impl_.params_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeWhenClause::values() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.values) + return _internal_values(); } -inline ::pg_query::Node* ReindexStmt::add_params() { - ::pg_query::Node* _add = _internal_add_params(); - // @@protoc_insertion_point(field_add:pg_query.ReindexStmt.params) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeWhenClause::_internal_values() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.values_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ReindexStmt::params() const { - // @@protoc_insertion_point(field_list:pg_query.ReindexStmt.params) - return _impl_.params_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeWhenClause::_internal_mutable_values() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.values_; } // ------------------------------------------------------------------- -// CheckPointStmt - -// ------------------------------------------------------------------- - -// CreateSchemaStmt +// TriggerTransition -// string schemaname = 1 [json_name = "schemaname"]; -inline void CreateSchemaStmt::clear_schemaname() { - _impl_.schemaname_.ClearToEmpty(); +// string name = 1 [json_name = "name"]; +inline void TriggerTransition::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline const std::string& CreateSchemaStmt::schemaname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.schemaname) - return _internal_schemaname(); +inline const std::string& TriggerTransition::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.name) + return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateSchemaStmt::set_schemaname(ArgT0&& arg0, ArgT... args) { - - _impl_.schemaname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateSchemaStmt.schemaname) +template +inline PROTOBUF_ALWAYS_INLINE void TriggerTransition::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.name) } -inline std::string* CreateSchemaStmt::mutable_schemaname() { - std::string* _s = _internal_mutable_schemaname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.schemaname) +inline std::string* TriggerTransition::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.TriggerTransition.name) return _s; } -inline const std::string& CreateSchemaStmt::_internal_schemaname() const { - return _impl_.schemaname_.Get(); +inline const std::string& TriggerTransition::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void CreateSchemaStmt::_internal_set_schemaname(const std::string& value) { - - _impl_.schemaname_.Set(value, GetArenaForAllocation()); +inline void TriggerTransition::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* CreateSchemaStmt::_internal_mutable_schemaname() { - - return _impl_.schemaname_.Mutable(GetArenaForAllocation()); +inline std::string* TriggerTransition::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CreateSchemaStmt::release_schemaname() { - // @@protoc_insertion_point(field_release:pg_query.CreateSchemaStmt.schemaname) - return _impl_.schemaname_.Release(); +inline std::string* TriggerTransition::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TriggerTransition.name) + return _impl_.name_.Release(); } -inline void CreateSchemaStmt::set_allocated_schemaname(std::string* schemaname) { - if (schemaname != nullptr) { - - } else { - - } - _impl_.schemaname_.SetAllocated(schemaname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.schemaname_.IsDefault()) { - _impl_.schemaname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSchemaStmt.schemaname) +inline void TriggerTransition::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.TriggerTransition.name) } -// .pg_query.RoleSpec authrole = 2 [json_name = "authrole"]; -inline bool CreateSchemaStmt::_internal_has_authrole() const { - return this != internal_default_instance() && _impl_.authrole_ != nullptr; +// bool is_new = 2 [json_name = "isNew"]; +inline void TriggerTransition::clear_is_new() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_new_ = false; } -inline bool CreateSchemaStmt::has_authrole() const { - return _internal_has_authrole(); +inline bool TriggerTransition::is_new() const { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_new) + return _internal_is_new(); } -inline void CreateSchemaStmt::clear_authrole() { - if (GetArenaForAllocation() == nullptr && _impl_.authrole_ != nullptr) { - delete _impl_.authrole_; - } - _impl_.authrole_ = nullptr; +inline void TriggerTransition::set_is_new(bool value) { + _internal_set_is_new(value); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_new) } -inline const ::pg_query::RoleSpec& CreateSchemaStmt::_internal_authrole() const { - const ::pg_query::RoleSpec* p = _impl_.authrole_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline bool TriggerTransition::_internal_is_new() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_new_; } -inline const ::pg_query::RoleSpec& CreateSchemaStmt::authrole() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.authrole) - return _internal_authrole(); +inline void TriggerTransition::_internal_set_is_new(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_new_ = value; +} + +// bool is_table = 3 [json_name = "isTable"]; +inline void TriggerTransition::clear_is_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_table_ = false; +} +inline bool TriggerTransition::is_table() const { + // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_table) + return _internal_is_table(); +} +inline void TriggerTransition::set_is_table(bool value) { + _internal_set_is_table(value); + // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_table) +} +inline bool TriggerTransition::_internal_is_table() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_table_; +} +inline void TriggerTransition::_internal_set_is_table(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_table_ = value; +} + +// ------------------------------------------------------------------- + +// JsonOutput + +// .pg_query.TypeName type_name = 1 [json_name = "typeName"]; +inline bool JsonOutput::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; +} +inline void JsonOutput::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::TypeName& JsonOutput::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); +} +inline const ::pg_query::TypeName& JsonOutput::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonOutput.type_name) + return _internal_type_name(); } -inline void CreateSchemaStmt::unsafe_arena_set_allocated_authrole( - ::pg_query::RoleSpec* authrole) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.authrole_); +inline void JsonOutput::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.authrole_ = authrole; - if (authrole) { - + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateSchemaStmt.authrole) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.type_name) } -inline ::pg_query::RoleSpec* CreateSchemaStmt::release_authrole() { - - ::pg_query::RoleSpec* temp = _impl_.authrole_; - _impl_.authrole_ = nullptr; +inline ::pg_query::TypeName* JsonOutput::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* CreateSchemaStmt::unsafe_arena_release_authrole() { - // @@protoc_insertion_point(field_release:pg_query.CreateSchemaStmt.authrole) - - ::pg_query::RoleSpec* temp = _impl_.authrole_; - _impl_.authrole_ = nullptr; +inline ::pg_query::TypeName* JsonOutput::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonOutput.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* CreateSchemaStmt::_internal_mutable_authrole() { - - if (_impl_.authrole_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.authrole_ = p; +inline ::pg_query::TypeName* JsonOutput::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.authrole_; + return _impl_.type_name_; } -inline ::pg_query::RoleSpec* CreateSchemaStmt::mutable_authrole() { - ::pg_query::RoleSpec* _msg = _internal_mutable_authrole(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.authrole) +inline ::pg_query::TypeName* JsonOutput::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.type_name) return _msg; } -inline void CreateSchemaStmt::set_allocated_authrole(::pg_query::RoleSpec* authrole) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonOutput::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.authrole_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - if (authrole) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(authrole); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - authrole = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, authrole, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.authrole_ = authrole; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSchemaStmt.authrole) -} -// repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"]; -inline int CreateSchemaStmt::_internal_schema_elts_size() const { - return _impl_.schema_elts_.size(); -} -inline int CreateSchemaStmt::schema_elts_size() const { - return _internal_schema_elts_size(); -} -inline void CreateSchemaStmt::clear_schema_elts() { - _impl_.schema_elts_.Clear(); -} -inline ::pg_query::Node* CreateSchemaStmt::mutable_schema_elts(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.schema_elts) - return _impl_.schema_elts_.Mutable(index); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.type_name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateSchemaStmt::mutable_schema_elts() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSchemaStmt.schema_elts) - return &_impl_.schema_elts_; -} -inline const ::pg_query::Node& CreateSchemaStmt::_internal_schema_elts(int index) const { - return _impl_.schema_elts_.Get(index); + +// .pg_query.JsonReturning returning = 2 [json_name = "returning"]; +inline bool JsonOutput::has_returning() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returning_ != nullptr); + return value; } -inline const ::pg_query::Node& CreateSchemaStmt::schema_elts(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.schema_elts) - return _internal_schema_elts(index); +inline void JsonOutput::clear_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.returning_ != nullptr) _impl_.returning_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* CreateSchemaStmt::_internal_add_schema_elts() { - return _impl_.schema_elts_.Add(); +inline const ::pg_query::JsonReturning& JsonOutput::_internal_returning() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonReturning* p = _impl_.returning_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonReturning_default_instance_); } -inline ::pg_query::Node* CreateSchemaStmt::add_schema_elts() { - ::pg_query::Node* _add = _internal_add_schema_elts(); - // @@protoc_insertion_point(field_add:pg_query.CreateSchemaStmt.schema_elts) - return _add; +inline const ::pg_query::JsonReturning& JsonOutput::returning() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonOutput.returning) + return _internal_returning(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateSchemaStmt::schema_elts() const { - // @@protoc_insertion_point(field_list:pg_query.CreateSchemaStmt.schema_elts) - return _impl_.schema_elts_; +inline void JsonOutput::unsafe_arena_set_allocated_returning(::pg_query::JsonReturning* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returning_); + } + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonOutput.returning) } +inline ::pg_query::JsonReturning* JsonOutput::release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool if_not_exists = 4 [json_name = "if_not_exists"]; -inline void CreateSchemaStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonReturning* released = _impl_.returning_; + _impl_.returning_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool CreateSchemaStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline ::pg_query::JsonReturning* JsonOutput::unsafe_arena_release_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonOutput.returning) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonReturning* temp = _impl_.returning_; + _impl_.returning_ = nullptr; + return temp; } -inline bool CreateSchemaStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.if_not_exists) - return _internal_if_not_exists(); +inline ::pg_query::JsonReturning* JsonOutput::_internal_mutable_returning() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.returning_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonReturning>(GetArena()); + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(p); + } + return _impl_.returning_; } -inline void CreateSchemaStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::JsonReturning* JsonOutput::mutable_returning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonReturning* _msg = _internal_mutable_returning(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonOutput.returning) + return _msg; } -inline void CreateSchemaStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateSchemaStmt.if_not_exists) +inline void JsonOutput::set_allocated_returning(::pg_query::JsonReturning* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonReturning*>(_impl_.returning_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonReturning*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.returning_ = reinterpret_cast<::pg_query::JsonReturning*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonOutput.returning) } // ------------------------------------------------------------------- -// AlterDatabaseStmt +// JsonArgument -// string dbname = 1 [json_name = "dbname"]; -inline void AlterDatabaseStmt::clear_dbname() { - _impl_.dbname_.ClearToEmpty(); -} -inline const std::string& AlterDatabaseStmt::dbname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseStmt.dbname) - return _internal_dbname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlterDatabaseStmt::set_dbname(ArgT0&& arg0, ArgT... args) { - - _impl_.dbname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseStmt.dbname) -} -inline std::string* AlterDatabaseStmt::mutable_dbname() { - std::string* _s = _internal_mutable_dbname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseStmt.dbname) - return _s; -} -inline const std::string& AlterDatabaseStmt::_internal_dbname() const { - return _impl_.dbname_.Get(); +// .pg_query.JsonValueExpr val = 1 [json_name = "val"]; +inline bool JsonArgument::has_val() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); + return value; } -inline void AlterDatabaseStmt::_internal_set_dbname(const std::string& value) { - - _impl_.dbname_.Set(value, GetArenaForAllocation()); +inline void JsonArgument::clear_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.val_ != nullptr) _impl_.val_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* AlterDatabaseStmt::_internal_mutable_dbname() { - - return _impl_.dbname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::JsonValueExpr& JsonArgument::_internal_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.val_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline std::string* AlterDatabaseStmt::release_dbname() { - // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseStmt.dbname) - return _impl_.dbname_.Release(); +inline const ::pg_query::JsonValueExpr& JsonArgument::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArgument.val) + return _internal_val(); } -inline void AlterDatabaseStmt::set_allocated_dbname(std::string* dbname) { - if (dbname != nullptr) { - - } else { - +inline void JsonArgument::unsafe_arena_set_allocated_val(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); } - _impl_.dbname_.SetAllocated(dbname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.dbname_.IsDefault()) { - _impl_.dbname_.Set("", GetArenaForAllocation()); + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseStmt.dbname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArgument.val) } +inline ::pg_query::JsonValueExpr* JsonArgument::release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterDatabaseStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int AlterDatabaseStmt::options_size() const { - return _internal_options_size(); -} -inline void AlterDatabaseStmt::clear_options() { - _impl_.options_.Clear(); -} -inline ::pg_query::Node* AlterDatabaseStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseStmt.options) - return _impl_.options_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterDatabaseStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDatabaseStmt.options) - return &_impl_.options_; -} -inline const ::pg_query::Node& AlterDatabaseStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); -} -inline const ::pg_query::Node& AlterDatabaseStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseStmt.options) - return _internal_options(index); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.val_; + _impl_.val_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* AlterDatabaseStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline ::pg_query::JsonValueExpr* JsonArgument::unsafe_arena_release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArgument.val) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.val_; + _impl_.val_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterDatabaseStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterDatabaseStmt.options) - return _add; +inline ::pg_query::JsonValueExpr* JsonArgument::_internal_mutable_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.val_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.val_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterDatabaseStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterDatabaseStmt.options) - return _impl_.options_; +inline ::pg_query::JsonValueExpr* JsonArgument::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_val(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArgument.val) + return _msg; } +inline void JsonArgument::set_allocated_val(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.val_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// AlterDatabaseRefreshCollStmt + _impl_.val_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArgument.val) +} -// string dbname = 1 [json_name = "dbname"]; -inline void AlterDatabaseRefreshCollStmt::clear_dbname() { - _impl_.dbname_.ClearToEmpty(); +// string name = 2 [json_name = "name"]; +inline void JsonArgument::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline const std::string& AlterDatabaseRefreshCollStmt::dbname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseRefreshCollStmt.dbname) - return _internal_dbname(); +inline const std::string& JsonArgument::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArgument.name) + return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterDatabaseRefreshCollStmt::set_dbname(ArgT0&& arg0, ArgT... args) { - - _impl_.dbname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseRefreshCollStmt.dbname) +template +inline PROTOBUF_ALWAYS_INLINE void JsonArgument::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonArgument.name) } -inline std::string* AlterDatabaseRefreshCollStmt::mutable_dbname() { - std::string* _s = _internal_mutable_dbname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseRefreshCollStmt.dbname) +inline std::string* JsonArgument::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArgument.name) return _s; } -inline const std::string& AlterDatabaseRefreshCollStmt::_internal_dbname() const { - return _impl_.dbname_.Get(); +inline const std::string& JsonArgument::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void AlterDatabaseRefreshCollStmt::_internal_set_dbname(const std::string& value) { - - _impl_.dbname_.Set(value, GetArenaForAllocation()); +inline void JsonArgument::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* AlterDatabaseRefreshCollStmt::_internal_mutable_dbname() { - - return _impl_.dbname_.Mutable(GetArenaForAllocation()); +inline std::string* JsonArgument::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* AlterDatabaseRefreshCollStmt::release_dbname() { - // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseRefreshCollStmt.dbname) - return _impl_.dbname_.Release(); +inline std::string* JsonArgument::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArgument.name) + return _impl_.name_.Release(); } -inline void AlterDatabaseRefreshCollStmt::set_allocated_dbname(std::string* dbname) { - if (dbname != nullptr) { - - } else { - - } - _impl_.dbname_.SetAllocated(dbname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.dbname_.IsDefault()) { - _impl_.dbname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseRefreshCollStmt.dbname) +inline void JsonArgument::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArgument.name) } // ------------------------------------------------------------------- -// AlterDatabaseSetStmt +// JsonFuncExpr -// string dbname = 1 [json_name = "dbname"]; -inline void AlterDatabaseSetStmt::clear_dbname() { - _impl_.dbname_.ClearToEmpty(); +// .pg_query.JsonExprOp op = 1 [json_name = "op"]; +inline void JsonFuncExpr::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline const std::string& AlterDatabaseSetStmt::dbname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseSetStmt.dbname) - return _internal_dbname(); +inline ::pg_query::JsonExprOp JsonFuncExpr::op() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.op) + return _internal_op(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterDatabaseSetStmt::set_dbname(ArgT0&& arg0, ArgT... args) { - - _impl_.dbname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseSetStmt.dbname) +inline void JsonFuncExpr::set_op(::pg_query::JsonExprOp value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.op) } -inline std::string* AlterDatabaseSetStmt::mutable_dbname() { - std::string* _s = _internal_mutable_dbname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseSetStmt.dbname) - return _s; +inline ::pg_query::JsonExprOp JsonFuncExpr::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonExprOp>(_impl_.op_); } -inline const std::string& AlterDatabaseSetStmt::_internal_dbname() const { - return _impl_.dbname_.Get(); +inline void JsonFuncExpr::_internal_set_op(::pg_query::JsonExprOp value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; } -inline void AlterDatabaseSetStmt::_internal_set_dbname(const std::string& value) { - - _impl_.dbname_.Set(value, GetArenaForAllocation()); + +// string column_name = 2 [json_name = "column_name"]; +inline void JsonFuncExpr::clear_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.ClearToEmpty(); } -inline std::string* AlterDatabaseSetStmt::_internal_mutable_dbname() { - - return _impl_.dbname_.Mutable(GetArenaForAllocation()); +inline const std::string& JsonFuncExpr::column_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.column_name) + return _internal_column_name(); } -inline std::string* AlterDatabaseSetStmt::release_dbname() { - // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseSetStmt.dbname) - return _impl_.dbname_.Release(); +template +inline PROTOBUF_ALWAYS_INLINE void JsonFuncExpr::set_column_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.column_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.column_name) } -inline void AlterDatabaseSetStmt::set_allocated_dbname(std::string* dbname) { - if (dbname != nullptr) { - - } else { - +inline std::string* JsonFuncExpr::mutable_column_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_column_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.column_name) + return _s; +} +inline const std::string& JsonFuncExpr::_internal_column_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.column_name_.Get(); +} +inline void JsonFuncExpr::_internal_set_column_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.column_name_.Set(value, GetArena()); +} +inline std::string* JsonFuncExpr::_internal_mutable_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.column_name_.Mutable( GetArena()); +} +inline std::string* JsonFuncExpr::release_column_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.column_name) + return _impl_.column_name_.Release(); +} +inline void JsonFuncExpr::set_allocated_column_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.column_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.column_name_.IsDefault()) { + _impl_.column_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.column_name) +} + +// .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"]; +inline bool JsonFuncExpr::has_context_item() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.context_item_ != nullptr); + return value; +} +inline void JsonFuncExpr::clear_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.context_item_ != nullptr) _impl_.context_item_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::JsonValueExpr& JsonFuncExpr::_internal_context_item() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.context_item_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); +} +inline const ::pg_query::JsonValueExpr& JsonFuncExpr::context_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.context_item) + return _internal_context_item(); +} +inline void JsonFuncExpr::unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.context_item_); + } + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.context_item) +} +inline ::pg_query::JsonValueExpr* JsonFuncExpr::release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.context_item_; + _impl_.context_item_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.dbname_.SetAllocated(dbname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.dbname_.IsDefault()) { - _impl_.dbname_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseSetStmt.dbname) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::JsonValueExpr* JsonFuncExpr::unsafe_arena_release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.context_item) -// .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"]; -inline bool AlterDatabaseSetStmt::_internal_has_setstmt() const { - return this != internal_default_instance() && _impl_.setstmt_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.context_item_; + _impl_.context_item_ = nullptr; + return temp; } -inline bool AlterDatabaseSetStmt::has_setstmt() const { - return _internal_has_setstmt(); +inline ::pg_query::JsonValueExpr* JsonFuncExpr::_internal_mutable_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.context_item_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.context_item_; } -inline void AlterDatabaseSetStmt::clear_setstmt() { - if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) { - delete _impl_.setstmt_; +inline ::pg_query::JsonValueExpr* JsonFuncExpr::mutable_context_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_context_item(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.context_item) + return _msg; +} +inline void JsonFuncExpr::set_allocated_context_item(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.context_item_); } - _impl_.setstmt_ = nullptr; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.context_item) } -inline const ::pg_query::VariableSetStmt& AlterDatabaseSetStmt::_internal_setstmt() const { - const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_VariableSetStmt_default_instance_); + +// .pg_query.Node pathspec = 4 [json_name = "pathspec"]; +inline bool JsonFuncExpr::has_pathspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); + return value; } -inline const ::pg_query::VariableSetStmt& AlterDatabaseSetStmt::setstmt() const { - // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseSetStmt.setstmt) - return _internal_setstmt(); +inline void JsonFuncExpr::clear_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline void AlterDatabaseSetStmt::unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.setstmt_); +inline const ::pg_query::Node& JsonFuncExpr::_internal_pathspec() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonFuncExpr::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.pathspec) + return _internal_pathspec(); +} +inline void JsonFuncExpr::unsafe_arena_set_allocated_pathspec(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); } - _impl_.setstmt_ = setstmt; - if (setstmt) { - + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDatabaseSetStmt.setstmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.pathspec) } -inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::release_setstmt() { - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::Node* JsonFuncExpr::release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::unsafe_arena_release_setstmt() { - // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseSetStmt.setstmt) - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::Node* JsonFuncExpr::unsafe_arena_release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.pathspec) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; return temp; } -inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::_internal_mutable_setstmt() { - - if (_impl_.setstmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArenaForAllocation()); - _impl_.setstmt_ = p; +inline ::pg_query::Node* JsonFuncExpr::_internal_mutable_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.setstmt_; + return _impl_.pathspec_; } -inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::mutable_setstmt() { - ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseSetStmt.setstmt) +inline ::pg_query::Node* JsonFuncExpr::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.pathspec) return _msg; } -inline void AlterDatabaseSetStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonFuncExpr::set_allocated_pathspec(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.setstmt_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.pathspec_); } - if (setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(setstmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - setstmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, setstmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.setstmt_ = setstmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseSetStmt.setstmt) -} - -// ------------------------------------------------------------------- -// AlterRoleSetStmt + _impl_.pathspec_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.pathspec) +} -// .pg_query.RoleSpec role = 1 [json_name = "role"]; -inline bool AlterRoleSetStmt::_internal_has_role() const { - return this != internal_default_instance() && _impl_.role_ != nullptr; +// repeated .pg_query.Node passing = 5 [json_name = "passing"]; +inline int JsonFuncExpr::_internal_passing_size() const { + return _internal_passing().size(); } -inline bool AlterRoleSetStmt::has_role() const { - return _internal_has_role(); +inline int JsonFuncExpr::passing_size() const { + return _internal_passing_size(); } -inline void AlterRoleSetStmt::clear_role() { - if (GetArenaForAllocation() == nullptr && _impl_.role_ != nullptr) { - delete _impl_.role_; - } - _impl_.role_ = nullptr; +inline void JsonFuncExpr::clear_passing() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_.Clear(); } -inline const ::pg_query::RoleSpec& AlterRoleSetStmt::_internal_role() const { - const ::pg_query::RoleSpec* p = _impl_.role_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline ::pg_query::Node* JsonFuncExpr::mutable_passing(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.passing) + return _internal_mutable_passing()->Mutable(index); } -inline const ::pg_query::RoleSpec& AlterRoleSetStmt::role() const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.role) - return _internal_role(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonFuncExpr::mutable_passing() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonFuncExpr.passing) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passing(); +} +inline const ::pg_query::Node& JsonFuncExpr::passing(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.passing) + return _internal_passing().Get(index); +} +inline ::pg_query::Node* JsonFuncExpr::add_passing() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonFuncExpr.passing) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonFuncExpr::passing() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonFuncExpr.passing) + return _internal_passing(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonFuncExpr::_internal_passing() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_; } -inline void AlterRoleSetStmt::unsafe_arena_set_allocated_role( - ::pg_query::RoleSpec* role) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.role_); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonFuncExpr::_internal_mutable_passing() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_; +} + +// .pg_query.JsonOutput output = 6 [json_name = "output"]; +inline bool JsonFuncExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; +} +inline void JsonFuncExpr::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::JsonOutput& JsonFuncExpr::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); +} +inline const ::pg_query::JsonOutput& JsonFuncExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.output) + return _internal_output(); +} +inline void JsonFuncExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.role_ = role; - if (role) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleSetStmt.role) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.output) } -inline ::pg_query::RoleSpec* AlterRoleSetStmt::release_role() { - - ::pg_query::RoleSpec* temp = _impl_.role_; - _impl_.role_ = nullptr; +inline ::pg_query::JsonOutput* JsonFuncExpr::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* AlterRoleSetStmt::unsafe_arena_release_role() { - // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.role) - - ::pg_query::RoleSpec* temp = _impl_.role_; - _impl_.role_ = nullptr; +inline ::pg_query::JsonOutput* JsonFuncExpr::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.output) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* AlterRoleSetStmt::_internal_mutable_role() { - - if (_impl_.role_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.role_ = p; +inline ::pg_query::JsonOutput* JsonFuncExpr::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.role_; + return _impl_.output_; } -inline ::pg_query::RoleSpec* AlterRoleSetStmt::mutable_role() { - ::pg_query::RoleSpec* _msg = _internal_mutable_role(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.role) +inline ::pg_query::JsonOutput* JsonFuncExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.output) return _msg; } -inline void AlterRoleSetStmt::set_allocated_role(::pg_query::RoleSpec* role) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonFuncExpr::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.role_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (role) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(role); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - role = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, role, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.role_ = role; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.role) + + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.output) } -// string database = 2 [json_name = "database"]; -inline void AlterRoleSetStmt::clear_database() { - _impl_.database_.ClearToEmpty(); +// .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"]; +inline bool JsonFuncExpr::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); + return value; } -inline const std::string& AlterRoleSetStmt::database() const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.database) - return _internal_database(); +inline void JsonFuncExpr::clear_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterRoleSetStmt::set_database(ArgT0&& arg0, ArgT... args) { - - _impl_.database_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterRoleSetStmt.database) +inline const ::pg_query::JsonBehavior& JsonFuncExpr::_internal_on_empty() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline std::string* AlterRoleSetStmt::mutable_database() { - std::string* _s = _internal_mutable_database(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.database) - return _s; +inline const ::pg_query::JsonBehavior& JsonFuncExpr::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.on_empty) + return _internal_on_empty(); } -inline const std::string& AlterRoleSetStmt::_internal_database() const { - return _impl_.database_.Get(); +inline void JsonFuncExpr::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); + } + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.on_empty) } -inline void AlterRoleSetStmt::_internal_set_database(const std::string& value) { - - _impl_.database_.Set(value, GetArenaForAllocation()); +inline ::pg_query::JsonBehavior* JsonFuncExpr::release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* AlterRoleSetStmt::_internal_mutable_database() { - - return _impl_.database_.Mutable(GetArenaForAllocation()); +inline ::pg_query::JsonBehavior* JsonFuncExpr::unsafe_arena_release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.on_empty) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; + return temp; } -inline std::string* AlterRoleSetStmt::release_database() { - // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.database) - return _impl_.database_.Release(); +inline ::pg_query::JsonBehavior* JsonFuncExpr::_internal_mutable_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_empty_; } -inline void AlterRoleSetStmt::set_allocated_database(std::string* database) { - if (database != nullptr) { - - } else { - +inline ::pg_query::JsonBehavior* JsonFuncExpr::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.on_empty) + return _msg; +} +inline void JsonFuncExpr::set_allocated_on_empty(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); } - _impl_.database_.SetAllocated(database, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.database_.IsDefault()) { - _impl_.database_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.database) -} -// .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"]; -inline bool AlterRoleSetStmt::_internal_has_setstmt() const { - return this != internal_default_instance() && _impl_.setstmt_ != nullptr; + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.on_empty) } -inline bool AlterRoleSetStmt::has_setstmt() const { - return _internal_has_setstmt(); + +// .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"]; +inline bool JsonFuncExpr::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; } -inline void AlterRoleSetStmt::clear_setstmt() { - if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) { - delete _impl_.setstmt_; - } - _impl_.setstmt_ = nullptr; +inline void JsonFuncExpr::clear_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline const ::pg_query::VariableSetStmt& AlterRoleSetStmt::_internal_setstmt() const { - const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_VariableSetStmt_default_instance_); +inline const ::pg_query::JsonBehavior& JsonFuncExpr::_internal_on_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline const ::pg_query::VariableSetStmt& AlterRoleSetStmt::setstmt() const { - // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.setstmt) - return _internal_setstmt(); +inline const ::pg_query::JsonBehavior& JsonFuncExpr::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.on_error) + return _internal_on_error(); } -inline void AlterRoleSetStmt::unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.setstmt_); +inline void JsonFuncExpr::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); } - _impl_.setstmt_ = setstmt; - if (setstmt) { - + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleSetStmt.setstmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonFuncExpr.on_error) } -inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::release_setstmt() { - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::JsonBehavior* JsonFuncExpr::release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::unsafe_arena_release_setstmt() { - // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.setstmt) - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::JsonBehavior* JsonFuncExpr::unsafe_arena_release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonFuncExpr.on_error) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; return temp; } -inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::_internal_mutable_setstmt() { - - if (_impl_.setstmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArenaForAllocation()); - _impl_.setstmt_ = p; +inline ::pg_query::JsonBehavior* JsonFuncExpr::_internal_mutable_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.setstmt_; + return _impl_.on_error_; } -inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::mutable_setstmt() { - ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.setstmt) +inline ::pg_query::JsonBehavior* JsonFuncExpr::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonFuncExpr.on_error) return _msg; } -inline void AlterRoleSetStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonFuncExpr::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.setstmt_; + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } - if (setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(setstmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { - setstmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, setstmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000010u; } else { - + _impl_._has_bits_[0] &= ~0x00000010u; } - _impl_.setstmt_ = setstmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.setstmt) -} - -// ------------------------------------------------------------------- -// CreateConversionStmt + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonFuncExpr.on_error) +} -// repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"]; -inline int CreateConversionStmt::_internal_conversion_name_size() const { - return _impl_.conversion_name_.size(); +// .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"]; +inline void JsonFuncExpr::clear_wrapper() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wrapper_ = 0; } -inline int CreateConversionStmt::conversion_name_size() const { - return _internal_conversion_name_size(); +inline ::pg_query::JsonWrapper JsonFuncExpr::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.wrapper) + return _internal_wrapper(); } -inline void CreateConversionStmt::clear_conversion_name() { - _impl_.conversion_name_.Clear(); +inline void JsonFuncExpr::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.wrapper) } -inline ::pg_query::Node* CreateConversionStmt::mutable_conversion_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.conversion_name) - return _impl_.conversion_name_.Mutable(index); +inline ::pg_query::JsonWrapper JsonFuncExpr::_internal_wrapper() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateConversionStmt::mutable_conversion_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateConversionStmt.conversion_name) - return &_impl_.conversion_name_; +inline void JsonFuncExpr::_internal_set_wrapper(::pg_query::JsonWrapper value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wrapper_ = value; } -inline const ::pg_query::Node& CreateConversionStmt::_internal_conversion_name(int index) const { - return _impl_.conversion_name_.Get(index); + +// .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"]; +inline void JsonFuncExpr::clear_quotes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.quotes_ = 0; } -inline const ::pg_query::Node& CreateConversionStmt::conversion_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.conversion_name) - return _internal_conversion_name(index); +inline ::pg_query::JsonQuotes JsonFuncExpr::quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.quotes) + return _internal_quotes(); } -inline ::pg_query::Node* CreateConversionStmt::_internal_add_conversion_name() { - return _impl_.conversion_name_.Add(); +inline void JsonFuncExpr::set_quotes(::pg_query::JsonQuotes value) { + _internal_set_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.quotes) } -inline ::pg_query::Node* CreateConversionStmt::add_conversion_name() { - ::pg_query::Node* _add = _internal_add_conversion_name(); - // @@protoc_insertion_point(field_add:pg_query.CreateConversionStmt.conversion_name) - return _add; +inline ::pg_query::JsonQuotes JsonFuncExpr::_internal_quotes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonQuotes>(_impl_.quotes_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateConversionStmt::conversion_name() const { - // @@protoc_insertion_point(field_list:pg_query.CreateConversionStmt.conversion_name) - return _impl_.conversion_name_; +inline void JsonFuncExpr::_internal_set_quotes(::pg_query::JsonQuotes value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.quotes_ = value; } -// string for_encoding_name = 2 [json_name = "for_encoding_name"]; -inline void CreateConversionStmt::clear_for_encoding_name() { - _impl_.for_encoding_name_.ClearToEmpty(); +// int32 location = 11 [json_name = "location"]; +inline void JsonFuncExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const std::string& CreateConversionStmt::for_encoding_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.for_encoding_name) - return _internal_for_encoding_name(); +inline ::int32_t JsonFuncExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonFuncExpr.location) + return _internal_location(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateConversionStmt::set_for_encoding_name(ArgT0&& arg0, ArgT... args) { - - _impl_.for_encoding_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.for_encoding_name) +inline void JsonFuncExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonFuncExpr.location) } -inline std::string* CreateConversionStmt::mutable_for_encoding_name() { - std::string* _s = _internal_mutable_for_encoding_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.for_encoding_name) - return _s; +inline ::int32_t JsonFuncExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const std::string& CreateConversionStmt::_internal_for_encoding_name() const { - return _impl_.for_encoding_name_.Get(); +inline void JsonFuncExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline void CreateConversionStmt::_internal_set_for_encoding_name(const std::string& value) { - - _impl_.for_encoding_name_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// JsonTablePathSpec + +// .pg_query.Node string = 1 [json_name = "string"]; +inline bool JsonTablePathSpec::has_string() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.string_ != nullptr); + return value; } -inline std::string* CreateConversionStmt::_internal_mutable_for_encoding_name() { - - return _impl_.for_encoding_name_.Mutable(GetArenaForAllocation()); +inline void JsonTablePathSpec::clear_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.string_ != nullptr) _impl_.string_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* CreateConversionStmt::release_for_encoding_name() { - // @@protoc_insertion_point(field_release:pg_query.CreateConversionStmt.for_encoding_name) - return _impl_.for_encoding_name_.Release(); +inline const ::pg_query::Node& JsonTablePathSpec::_internal_string() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.string_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void CreateConversionStmt::set_allocated_for_encoding_name(std::string* for_encoding_name) { - if (for_encoding_name != nullptr) { - - } else { - +inline const ::pg_query::Node& JsonTablePathSpec::string() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.string) + return _internal_string(); +} +inline void JsonTablePathSpec::unsafe_arena_set_allocated_string(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.string_); } - _impl_.for_encoding_name_.SetAllocated(for_encoding_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.for_encoding_name_.IsDefault()) { - _impl_.for_encoding_name_.Set("", GetArenaForAllocation()); + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateConversionStmt.for_encoding_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTablePathSpec.string) } +inline ::pg_query::Node* JsonTablePathSpec::release_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string to_encoding_name = 3 [json_name = "to_encoding_name"]; -inline void CreateConversionStmt::clear_to_encoding_name() { - _impl_.to_encoding_name_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.string_; + _impl_.string_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const std::string& CreateConversionStmt::to_encoding_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.to_encoding_name) - return _internal_to_encoding_name(); +inline ::pg_query::Node* JsonTablePathSpec::unsafe_arena_release_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathSpec.string) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.string_; + _impl_.string_ = nullptr; + return temp; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateConversionStmt::set_to_encoding_name(ArgT0&& arg0, ArgT... args) { - - _impl_.to_encoding_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.to_encoding_name) +inline ::pg_query::Node* JsonTablePathSpec::_internal_mutable_string() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.string_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.string_; } -inline std::string* CreateConversionStmt::mutable_to_encoding_name() { - std::string* _s = _internal_mutable_to_encoding_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.to_encoding_name) - return _s; +inline ::pg_query::Node* JsonTablePathSpec::mutable_string() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_string(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathSpec.string) + return _msg; } -inline const std::string& CreateConversionStmt::_internal_to_encoding_name() const { - return _impl_.to_encoding_name_.Get(); +inline void JsonTablePathSpec::set_allocated_string(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.string_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.string_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathSpec.string) } -inline void CreateConversionStmt::_internal_set_to_encoding_name(const std::string& value) { - - _impl_.to_encoding_name_.Set(value, GetArenaForAllocation()); + +// string name = 2 [json_name = "name"]; +inline void JsonTablePathSpec::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline std::string* CreateConversionStmt::_internal_mutable_to_encoding_name() { - - return _impl_.to_encoding_name_.Mutable(GetArenaForAllocation()); +inline const std::string& JsonTablePathSpec::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.name) + return _internal_name(); } -inline std::string* CreateConversionStmt::release_to_encoding_name() { - // @@protoc_insertion_point(field_release:pg_query.CreateConversionStmt.to_encoding_name) - return _impl_.to_encoding_name_.Release(); +template +inline PROTOBUF_ALWAYS_INLINE void JsonTablePathSpec::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.name) } -inline void CreateConversionStmt::set_allocated_to_encoding_name(std::string* to_encoding_name) { - if (to_encoding_name != nullptr) { - - } else { - - } - _impl_.to_encoding_name_.SetAllocated(to_encoding_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.to_encoding_name_.IsDefault()) { - _impl_.to_encoding_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateConversionStmt.to_encoding_name) +inline std::string* JsonTablePathSpec::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTablePathSpec.name) + return _s; } - -// repeated .pg_query.Node func_name = 4 [json_name = "func_name"]; -inline int CreateConversionStmt::_internal_func_name_size() const { - return _impl_.func_name_.size(); +inline const std::string& JsonTablePathSpec::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline int CreateConversionStmt::func_name_size() const { - return _internal_func_name_size(); +inline void JsonTablePathSpec::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline void CreateConversionStmt::clear_func_name() { - _impl_.func_name_.Clear(); +inline std::string* JsonTablePathSpec::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateConversionStmt::mutable_func_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.func_name) - return _impl_.func_name_.Mutable(index); +inline std::string* JsonTablePathSpec::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTablePathSpec.name) + return _impl_.name_.Release(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateConversionStmt::mutable_func_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateConversionStmt.func_name) - return &_impl_.func_name_; +inline void JsonTablePathSpec::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTablePathSpec.name) } -inline const ::pg_query::Node& CreateConversionStmt::_internal_func_name(int index) const { - return _impl_.func_name_.Get(index); + +// int32 name_location = 3 [json_name = "name_location"]; +inline void JsonTablePathSpec::clear_name_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_location_ = 0; } -inline const ::pg_query::Node& CreateConversionStmt::func_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.func_name) - return _internal_func_name(index); +inline ::int32_t JsonTablePathSpec::name_location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.name_location) + return _internal_name_location(); } -inline ::pg_query::Node* CreateConversionStmt::_internal_add_func_name() { - return _impl_.func_name_.Add(); +inline void JsonTablePathSpec::set_name_location(::int32_t value) { + _internal_set_name_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.name_location) } -inline ::pg_query::Node* CreateConversionStmt::add_func_name() { - ::pg_query::Node* _add = _internal_add_func_name(); - // @@protoc_insertion_point(field_add:pg_query.CreateConversionStmt.func_name) - return _add; +inline ::int32_t JsonTablePathSpec::_internal_name_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateConversionStmt::func_name() const { - // @@protoc_insertion_point(field_list:pg_query.CreateConversionStmt.func_name) - return _impl_.func_name_; +inline void JsonTablePathSpec::_internal_set_name_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_location_ = value; } -// bool def = 5 [json_name = "def"]; -inline void CreateConversionStmt::clear_def() { - _impl_.def_ = false; +// int32 location = 4 [json_name = "location"]; +inline void JsonTablePathSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool CreateConversionStmt::_internal_def() const { - return _impl_.def_; +inline ::int32_t JsonTablePathSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTablePathSpec.location) + return _internal_location(); } -inline bool CreateConversionStmt::def() const { - // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.def) - return _internal_def(); +inline void JsonTablePathSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTablePathSpec.location) } -inline void CreateConversionStmt::_internal_set_def(bool value) { - - _impl_.def_ = value; +inline ::int32_t JsonTablePathSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void CreateConversionStmt::set_def(bool value) { - _internal_set_def(value); - // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.def) +inline void JsonTablePathSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// CreateCastStmt +// JsonTable -// .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"]; -inline bool CreateCastStmt::_internal_has_sourcetype() const { - return this != internal_default_instance() && _impl_.sourcetype_ != nullptr; +// .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"]; +inline bool JsonTable::has_context_item() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.context_item_ != nullptr); + return value; } -inline bool CreateCastStmt::has_sourcetype() const { - return _internal_has_sourcetype(); -} -inline void CreateCastStmt::clear_sourcetype() { - if (GetArenaForAllocation() == nullptr && _impl_.sourcetype_ != nullptr) { - delete _impl_.sourcetype_; - } - _impl_.sourcetype_ = nullptr; +inline void JsonTable::clear_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.context_item_ != nullptr) _impl_.context_item_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& CreateCastStmt::_internal_sourcetype() const { - const ::pg_query::TypeName* p = _impl_.sourcetype_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::JsonValueExpr& JsonTable::_internal_context_item() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.context_item_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline const ::pg_query::TypeName& CreateCastStmt::sourcetype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.sourcetype) - return _internal_sourcetype(); +inline const ::pg_query::JsonValueExpr& JsonTable::context_item() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.context_item) + return _internal_context_item(); } -inline void CreateCastStmt::unsafe_arena_set_allocated_sourcetype( - ::pg_query::TypeName* sourcetype) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.sourcetype_); +inline void JsonTable::unsafe_arena_set_allocated_context_item(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.context_item_); } - _impl_.sourcetype_ = sourcetype; - if (sourcetype) { - + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.sourcetype) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.context_item) } -inline ::pg_query::TypeName* CreateCastStmt::release_sourcetype() { - - ::pg_query::TypeName* temp = _impl_.sourcetype_; - _impl_.sourcetype_ = nullptr; +inline ::pg_query::JsonValueExpr* JsonTable::release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.context_item_; + _impl_.context_item_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateCastStmt::unsafe_arena_release_sourcetype() { - // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.sourcetype) - - ::pg_query::TypeName* temp = _impl_.sourcetype_; - _impl_.sourcetype_ = nullptr; +inline ::pg_query::JsonValueExpr* JsonTable::unsafe_arena_release_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTable.context_item) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.context_item_; + _impl_.context_item_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateCastStmt::_internal_mutable_sourcetype() { - - if (_impl_.sourcetype_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.sourcetype_ = p; +inline ::pg_query::JsonValueExpr* JsonTable::_internal_mutable_context_item() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.context_item_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); } - return _impl_.sourcetype_; + return _impl_.context_item_; } -inline ::pg_query::TypeName* CreateCastStmt::mutable_sourcetype() { - ::pg_query::TypeName* _msg = _internal_mutable_sourcetype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.sourcetype) +inline ::pg_query::JsonValueExpr* JsonTable::mutable_context_item() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_context_item(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.context_item) return _msg; } -inline void CreateCastStmt::set_allocated_sourcetype(::pg_query::TypeName* sourcetype) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTable::set_allocated_context_item(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.sourcetype_; + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.context_item_); } - if (sourcetype) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(sourcetype); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { - sourcetype = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, sourcetype, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.sourcetype_ = sourcetype; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.sourcetype) -} -// .pg_query.TypeName targettype = 2 [json_name = "targettype"]; -inline bool CreateCastStmt::_internal_has_targettype() const { - return this != internal_default_instance() && _impl_.targettype_ != nullptr; + _impl_.context_item_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.context_item) } -inline bool CreateCastStmt::has_targettype() const { - return _internal_has_targettype(); + +// .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"]; +inline bool JsonTable::has_pathspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); + return value; } -inline void CreateCastStmt::clear_targettype() { - if (GetArenaForAllocation() == nullptr && _impl_.targettype_ != nullptr) { - delete _impl_.targettype_; - } - _impl_.targettype_ = nullptr; +inline void JsonTable::clear_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::TypeName& CreateCastStmt::_internal_targettype() const { - const ::pg_query::TypeName* p = _impl_.targettype_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::JsonTablePathSpec& JsonTable::_internal_pathspec() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonTablePathSpec* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePathSpec_default_instance_); } -inline const ::pg_query::TypeName& CreateCastStmt::targettype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.targettype) - return _internal_targettype(); +inline const ::pg_query::JsonTablePathSpec& JsonTable::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.pathspec) + return _internal_pathspec(); } -inline void CreateCastStmt::unsafe_arena_set_allocated_targettype( - ::pg_query::TypeName* targettype) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.targettype_); +inline void JsonTable::unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); } - _impl_.targettype_ = targettype; - if (targettype) { - + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.targettype) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.pathspec) } -inline ::pg_query::TypeName* CreateCastStmt::release_targettype() { - - ::pg_query::TypeName* temp = _impl_.targettype_; - _impl_.targettype_ = nullptr; +inline ::pg_query::JsonTablePathSpec* JsonTable::release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateCastStmt::unsafe_arena_release_targettype() { - // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.targettype) - - ::pg_query::TypeName* temp = _impl_.targettype_; - _impl_.targettype_ = nullptr; +inline ::pg_query::JsonTablePathSpec* JsonTable::unsafe_arena_release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTable.pathspec) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateCastStmt::_internal_mutable_targettype() { - - if (_impl_.targettype_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.targettype_ = p; +inline ::pg_query::JsonTablePathSpec* JsonTable::_internal_mutable_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(p); } - return _impl_.targettype_; + return _impl_.pathspec_; } -inline ::pg_query::TypeName* CreateCastStmt::mutable_targettype() { - ::pg_query::TypeName* _msg = _internal_mutable_targettype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.targettype) +inline ::pg_query::JsonTablePathSpec* JsonTable::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.pathspec) return _msg; } -inline void CreateCastStmt::set_allocated_targettype(::pg_query::TypeName* targettype) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTable::set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.targettype_; + delete reinterpret_cast<::pg_query::JsonTablePathSpec*>(_impl_.pathspec_); } - if (targettype) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(targettype); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - targettype = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, targettype, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.targettype_ = targettype; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.targettype) + + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.pathspec) } -// .pg_query.ObjectWithArgs func = 3 [json_name = "func"]; -inline bool CreateCastStmt::_internal_has_func() const { - return this != internal_default_instance() && _impl_.func_ != nullptr; +// repeated .pg_query.Node passing = 3 [json_name = "passing"]; +inline int JsonTable::_internal_passing_size() const { + return _internal_passing().size(); } -inline bool CreateCastStmt::has_func() const { - return _internal_has_func(); +inline int JsonTable::passing_size() const { + return _internal_passing_size(); } -inline void CreateCastStmt::clear_func() { - if (GetArenaForAllocation() == nullptr && _impl_.func_ != nullptr) { - delete _impl_.func_; - } - _impl_.func_ = nullptr; +inline void JsonTable::clear_passing() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.passing_.Clear(); } -inline const ::pg_query::ObjectWithArgs& CreateCastStmt::_internal_func() const { - const ::pg_query::ObjectWithArgs* p = _impl_.func_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline ::pg_query::Node* JsonTable::mutable_passing(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.passing) + return _internal_mutable_passing()->Mutable(index); } -inline const ::pg_query::ObjectWithArgs& CreateCastStmt::func() const { - // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.func) - return _internal_func(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTable::mutable_passing() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTable.passing) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_passing(); +} +inline const ::pg_query::Node& JsonTable::passing(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.passing) + return _internal_passing().Get(index); +} +inline ::pg_query::Node* JsonTable::add_passing() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_passing()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTable.passing) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTable::passing() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonTable.passing) + return _internal_passing(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonTable::_internal_passing() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.passing_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonTable::_internal_mutable_passing() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.passing_; +} + +// repeated .pg_query.Node columns = 4 [json_name = "columns"]; +inline int JsonTable::_internal_columns_size() const { + return _internal_columns().size(); +} +inline int JsonTable::columns_size() const { + return _internal_columns_size(); +} +inline void JsonTable::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); } -inline void CreateCastStmt::unsafe_arena_set_allocated_func( - ::pg_query::ObjectWithArgs* func) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.func_); +inline ::pg_query::Node* JsonTable::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.columns) + return _internal_mutable_columns()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTable::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTable.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); +} +inline const ::pg_query::Node& JsonTable::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.columns) + return _internal_columns().Get(index); +} +inline ::pg_query::Node* JsonTable::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTable.columns) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTable::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonTable.columns) + return _internal_columns(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonTable::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonTable::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; +} + +// .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"]; +inline bool JsonTable::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; +} +inline void JsonTable::clear_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::JsonBehavior& JsonTable::_internal_on_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); +} +inline const ::pg_query::JsonBehavior& JsonTable::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.on_error) + return _internal_on_error(); +} +inline void JsonTable::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); } - _impl_.func_ = func; - if (func) { - + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.func) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.on_error) } -inline ::pg_query::ObjectWithArgs* CreateCastStmt::release_func() { - - ::pg_query::ObjectWithArgs* temp = _impl_.func_; - _impl_.func_ = nullptr; +inline ::pg_query::JsonBehavior* JsonTable::release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::ObjectWithArgs* CreateCastStmt::unsafe_arena_release_func() { - // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.func) - - ::pg_query::ObjectWithArgs* temp = _impl_.func_; - _impl_.func_ = nullptr; +inline ::pg_query::JsonBehavior* JsonTable::unsafe_arena_release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTable.on_error) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; return temp; } -inline ::pg_query::ObjectWithArgs* CreateCastStmt::_internal_mutable_func() { - - if (_impl_.func_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.func_ = p; +inline ::pg_query::JsonBehavior* JsonTable::_internal_mutable_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); } - return _impl_.func_; + return _impl_.on_error_; } -inline ::pg_query::ObjectWithArgs* CreateCastStmt::mutable_func() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_func(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.func) +inline ::pg_query::JsonBehavior* JsonTable::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.on_error) return _msg; } -inline void CreateCastStmt::set_allocated_func(::pg_query::ObjectWithArgs* func) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTable::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.func_; + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } - if (func) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(func); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); if (message_arena != submessage_arena) { - func = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, func, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.func_ = func; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.func) -} -// .pg_query.CoercionContext context = 4 [json_name = "context"]; -inline void CreateCastStmt::clear_context() { - _impl_.context_ = 0; -} -inline ::pg_query::CoercionContext CreateCastStmt::_internal_context() const { - return static_cast< ::pg_query::CoercionContext >(_impl_.context_); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.on_error) } -inline ::pg_query::CoercionContext CreateCastStmt::context() const { - // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.context) - return _internal_context(); + +// .pg_query.Alias alias = 6 [json_name = "alias"]; +inline bool JsonTable::has_alias() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.alias_ != nullptr); + return value; +} +inline void JsonTable::clear_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.alias_ != nullptr) _impl_.alias_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::Alias& JsonTable::_internal_alias() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Alias* p = _impl_.alias_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Alias_default_instance_); } -inline void CreateCastStmt::_internal_set_context(::pg_query::CoercionContext value) { - - _impl_.context_ = value; +inline const ::pg_query::Alias& JsonTable::alias() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.alias) + return _internal_alias(); } -inline void CreateCastStmt::set_context(::pg_query::CoercionContext value) { - _internal_set_context(value); - // @@protoc_insertion_point(field_set:pg_query.CreateCastStmt.context) +inline void JsonTable::unsafe_arena_set_allocated_alias(::pg_query::Alias* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.alias_); + } + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTable.alias) } +inline ::pg_query::Alias* JsonTable::release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool inout = 5 [json_name = "inout"]; -inline void CreateCastStmt::clear_inout() { - _impl_.inout_ = false; -} -inline bool CreateCastStmt::_internal_inout() const { - return _impl_.inout_; + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Alias* released = _impl_.alias_; + _impl_.alias_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool CreateCastStmt::inout() const { - // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.inout) - return _internal_inout(); +inline ::pg_query::Alias* JsonTable::unsafe_arena_release_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTable.alias) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Alias* temp = _impl_.alias_; + _impl_.alias_ = nullptr; + return temp; } -inline void CreateCastStmt::_internal_set_inout(bool value) { - - _impl_.inout_ = value; +inline ::pg_query::Alias* JsonTable::_internal_mutable_alias() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.alias_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArena()); + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(p); + } + return _impl_.alias_; } -inline void CreateCastStmt::set_inout(bool value) { - _internal_set_inout(value); - // @@protoc_insertion_point(field_set:pg_query.CreateCastStmt.inout) +inline ::pg_query::Alias* JsonTable::mutable_alias() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Alias* _msg = _internal_mutable_alias(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTable.alias) + return _msg; } +inline void JsonTable::set_allocated_alias(::pg_query::Alias* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Alias*>(_impl_.alias_); + } -// ------------------------------------------------------------------- - -// CreateOpClassStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Alias*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } -// repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"]; -inline int CreateOpClassStmt::_internal_opclassname_size() const { - return _impl_.opclassname_.size(); -} -inline int CreateOpClassStmt::opclassname_size() const { - return _internal_opclassname_size(); -} -inline void CreateOpClassStmt::clear_opclassname() { - _impl_.opclassname_.Clear(); -} -inline ::pg_query::Node* CreateOpClassStmt::mutable_opclassname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.opclassname) - return _impl_.opclassname_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpClassStmt::mutable_opclassname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.opclassname) - return &_impl_.opclassname_; + _impl_.alias_ = reinterpret_cast<::pg_query::Alias*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTable.alias) } -inline const ::pg_query::Node& CreateOpClassStmt::_internal_opclassname(int index) const { - return _impl_.opclassname_.Get(index); + +// bool lateral = 7 [json_name = "lateral"]; +inline void JsonTable::clear_lateral() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lateral_ = false; } -inline const ::pg_query::Node& CreateOpClassStmt::opclassname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.opclassname) - return _internal_opclassname(index); +inline bool JsonTable::lateral() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.lateral) + return _internal_lateral(); } -inline ::pg_query::Node* CreateOpClassStmt::_internal_add_opclassname() { - return _impl_.opclassname_.Add(); +inline void JsonTable::set_lateral(bool value) { + _internal_set_lateral(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTable.lateral) } -inline ::pg_query::Node* CreateOpClassStmt::add_opclassname() { - ::pg_query::Node* _add = _internal_add_opclassname(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.opclassname) - return _add; +inline bool JsonTable::_internal_lateral() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lateral_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpClassStmt::opclassname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.opclassname) - return _impl_.opclassname_; +inline void JsonTable::_internal_set_lateral(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lateral_ = value; } -// repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"]; -inline int CreateOpClassStmt::_internal_opfamilyname_size() const { - return _impl_.opfamilyname_.size(); +// int32 location = 8 [json_name = "location"]; +inline void JsonTable::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline int CreateOpClassStmt::opfamilyname_size() const { - return _internal_opfamilyname_size(); +inline ::int32_t JsonTable::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTable.location) + return _internal_location(); } -inline void CreateOpClassStmt::clear_opfamilyname() { - _impl_.opfamilyname_.Clear(); +inline void JsonTable::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTable.location) } -inline ::pg_query::Node* CreateOpClassStmt::mutable_opfamilyname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.opfamilyname) - return _impl_.opfamilyname_.Mutable(index); +inline ::int32_t JsonTable::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpClassStmt::mutable_opfamilyname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.opfamilyname) - return &_impl_.opfamilyname_; +inline void JsonTable::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline const ::pg_query::Node& CreateOpClassStmt::_internal_opfamilyname(int index) const { - return _impl_.opfamilyname_.Get(index); + +// ------------------------------------------------------------------- + +// JsonTableColumn + +// .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"]; +inline void JsonTableColumn::clear_coltype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coltype_ = 0; } -inline const ::pg_query::Node& CreateOpClassStmt::opfamilyname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.opfamilyname) - return _internal_opfamilyname(index); +inline ::pg_query::JsonTableColumnType JsonTableColumn::coltype() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.coltype) + return _internal_coltype(); } -inline ::pg_query::Node* CreateOpClassStmt::_internal_add_opfamilyname() { - return _impl_.opfamilyname_.Add(); +inline void JsonTableColumn::set_coltype(::pg_query::JsonTableColumnType value) { + _internal_set_coltype(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.coltype) } -inline ::pg_query::Node* CreateOpClassStmt::add_opfamilyname() { - ::pg_query::Node* _add = _internal_add_opfamilyname(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.opfamilyname) - return _add; +inline ::pg_query::JsonTableColumnType JsonTableColumn::_internal_coltype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonTableColumnType>(_impl_.coltype_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpClassStmt::opfamilyname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.opfamilyname) - return _impl_.opfamilyname_; +inline void JsonTableColumn::_internal_set_coltype(::pg_query::JsonTableColumnType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.coltype_ = value; } -// string amname = 3 [json_name = "amname"]; -inline void CreateOpClassStmt::clear_amname() { - _impl_.amname_.ClearToEmpty(); +// string name = 2 [json_name = "name"]; +inline void JsonTableColumn::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline const std::string& CreateOpClassStmt::amname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.amname) - return _internal_amname(); +inline const std::string& JsonTableColumn::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.name) + return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateOpClassStmt::set_amname(ArgT0&& arg0, ArgT... args) { - - _impl_.amname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateOpClassStmt.amname) +template +inline PROTOBUF_ALWAYS_INLINE void JsonTableColumn::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.name) } -inline std::string* CreateOpClassStmt::mutable_amname() { - std::string* _s = _internal_mutable_amname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.amname) +inline std::string* JsonTableColumn::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.name) return _s; } -inline const std::string& CreateOpClassStmt::_internal_amname() const { - return _impl_.amname_.Get(); +inline const std::string& JsonTableColumn::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void CreateOpClassStmt::_internal_set_amname(const std::string& value) { - - _impl_.amname_.Set(value, GetArenaForAllocation()); +inline void JsonTableColumn::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* CreateOpClassStmt::_internal_mutable_amname() { - - return _impl_.amname_.Mutable(GetArenaForAllocation()); +inline std::string* JsonTableColumn::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CreateOpClassStmt::release_amname() { - // @@protoc_insertion_point(field_release:pg_query.CreateOpClassStmt.amname) - return _impl_.amname_.Release(); +inline std::string* JsonTableColumn::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.name) + return _impl_.name_.Release(); +} +inline void JsonTableColumn::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.name) +} + +// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; +inline bool JsonTableColumn::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; +} +inline void JsonTableColumn::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::TypeName& JsonTableColumn::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); +} +inline const ::pg_query::TypeName& JsonTableColumn::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.type_name) + return _internal_type_name(); } -inline void CreateOpClassStmt::set_allocated_amname(std::string* amname) { - if (amname != nullptr) { - +inline void JsonTableColumn::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + } + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.type_name) +} +inline ::pg_query::TypeName* JsonTableColumn::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.amname_.SetAllocated(amname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.amname_.IsDefault()) { - _impl_.amname_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassStmt.amname) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::TypeName* JsonTableColumn::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.type_name) -// .pg_query.TypeName datatype = 4 [json_name = "datatype"]; -inline bool CreateOpClassStmt::_internal_has_datatype() const { - return this != internal_default_instance() && _impl_.datatype_ != nullptr; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; + return temp; } -inline bool CreateOpClassStmt::has_datatype() const { - return _internal_has_datatype(); +inline ::pg_query::TypeName* JsonTableColumn::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.type_name_; } -inline void CreateOpClassStmt::clear_datatype() { - if (GetArenaForAllocation() == nullptr && _impl_.datatype_ != nullptr) { - delete _impl_.datatype_; +inline ::pg_query::TypeName* JsonTableColumn::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.type_name) + return _msg; +} +inline void JsonTableColumn::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - _impl_.datatype_ = nullptr; + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.type_name) } -inline const ::pg_query::TypeName& CreateOpClassStmt::_internal_datatype() const { - const ::pg_query::TypeName* p = _impl_.datatype_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); + +// .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"]; +inline bool JsonTableColumn::has_pathspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pathspec_ != nullptr); + return value; } -inline const ::pg_query::TypeName& CreateOpClassStmt::datatype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.datatype) - return _internal_datatype(); +inline void JsonTableColumn::clear_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pathspec_ != nullptr) _impl_.pathspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::JsonTablePathSpec& JsonTableColumn::_internal_pathspec() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonTablePathSpec* p = _impl_.pathspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonTablePathSpec_default_instance_); +} +inline const ::pg_query::JsonTablePathSpec& JsonTableColumn::pathspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.pathspec) + return _internal_pathspec(); } -inline void CreateOpClassStmt::unsafe_arena_set_allocated_datatype( - ::pg_query::TypeName* datatype) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.datatype_); +inline void JsonTableColumn::unsafe_arena_set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pathspec_); } - _impl_.datatype_ = datatype; - if (datatype) { - + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassStmt.datatype) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.pathspec) } -inline ::pg_query::TypeName* CreateOpClassStmt::release_datatype() { - - ::pg_query::TypeName* temp = _impl_.datatype_; - _impl_.datatype_ = nullptr; +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* released = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateOpClassStmt::unsafe_arena_release_datatype() { - // @@protoc_insertion_point(field_release:pg_query.CreateOpClassStmt.datatype) - - ::pg_query::TypeName* temp = _impl_.datatype_; - _impl_.datatype_ = nullptr; +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::unsafe_arena_release_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.pathspec) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonTablePathSpec* temp = _impl_.pathspec_; + _impl_.pathspec_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateOpClassStmt::_internal_mutable_datatype() { - - if (_impl_.datatype_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.datatype_ = p; +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::_internal_mutable_pathspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.pathspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(GetArena()); + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(p); } - return _impl_.datatype_; + return _impl_.pathspec_; } -inline ::pg_query::TypeName* CreateOpClassStmt::mutable_datatype() { - ::pg_query::TypeName* _msg = _internal_mutable_datatype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.datatype) +inline ::pg_query::JsonTablePathSpec* JsonTableColumn::mutable_pathspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonTablePathSpec* _msg = _internal_mutable_pathspec(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.pathspec) return _msg; } -inline void CreateOpClassStmt::set_allocated_datatype(::pg_query::TypeName* datatype) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonTableColumn::set_allocated_pathspec(::pg_query::JsonTablePathSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.datatype_; + delete reinterpret_cast<::pg_query::JsonTablePathSpec*>(_impl_.pathspec_); } - if (datatype) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(datatype); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - datatype = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, datatype, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.datatype_ = datatype; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassStmt.datatype) + + _impl_.pathspec_ = reinterpret_cast<::pg_query::JsonTablePathSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.pathspec) } -// repeated .pg_query.Node items = 5 [json_name = "items"]; -inline int CreateOpClassStmt::_internal_items_size() const { - return _impl_.items_.size(); +// .pg_query.JsonFormat format = 5 [json_name = "format"]; +inline bool JsonTableColumn::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; } -inline int CreateOpClassStmt::items_size() const { - return _internal_items_size(); +inline void JsonTableColumn::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline void CreateOpClassStmt::clear_items() { - _impl_.items_.Clear(); +inline const ::pg_query::JsonFormat& JsonTableColumn::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline ::pg_query::Node* CreateOpClassStmt::mutable_items(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.items) - return _impl_.items_.Mutable(index); +inline const ::pg_query::JsonFormat& JsonTableColumn::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.format) + return _internal_format(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpClassStmt::mutable_items() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.items) - return &_impl_.items_; +inline void JsonTableColumn::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); + } + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.format) } -inline const ::pg_query::Node& CreateOpClassStmt::_internal_items(int index) const { - return _impl_.items_.Get(index); +inline ::pg_query::JsonFormat* JsonTableColumn::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& CreateOpClassStmt::items(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.items) - return _internal_items(index); +inline ::pg_query::JsonFormat* JsonTableColumn::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.format) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; + return temp; } -inline ::pg_query::Node* CreateOpClassStmt::_internal_add_items() { - return _impl_.items_.Add(); +inline ::pg_query::JsonFormat* JsonTableColumn::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); + } + return _impl_.format_; } -inline ::pg_query::Node* CreateOpClassStmt::add_items() { - ::pg_query::Node* _add = _internal_add_items(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.items) - return _add; +inline ::pg_query::JsonFormat* JsonTableColumn::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.format) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpClassStmt::items() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.items) - return _impl_.items_; +inline void JsonTableColumn::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.format) } -// bool is_default = 6 [json_name = "isDefault"]; -inline void CreateOpClassStmt::clear_is_default() { - _impl_.is_default_ = false; +// .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"]; +inline void JsonTableColumn::clear_wrapper() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.wrapper_ = 0; } -inline bool CreateOpClassStmt::_internal_is_default() const { - return _impl_.is_default_; +inline ::pg_query::JsonWrapper JsonTableColumn::wrapper() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.wrapper) + return _internal_wrapper(); } -inline bool CreateOpClassStmt::is_default() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.is_default) - return _internal_is_default(); +inline void JsonTableColumn::set_wrapper(::pg_query::JsonWrapper value) { + _internal_set_wrapper(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.wrapper) } -inline void CreateOpClassStmt::_internal_set_is_default(bool value) { - - _impl_.is_default_ = value; +inline ::pg_query::JsonWrapper JsonTableColumn::_internal_wrapper() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonWrapper>(_impl_.wrapper_); } -inline void CreateOpClassStmt::set_is_default(bool value) { - _internal_set_is_default(value); - // @@protoc_insertion_point(field_set:pg_query.CreateOpClassStmt.is_default) +inline void JsonTableColumn::_internal_set_wrapper(::pg_query::JsonWrapper value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.wrapper_ = value; } -// ------------------------------------------------------------------- - -// CreateOpFamilyStmt - -// repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; -inline int CreateOpFamilyStmt::_internal_opfamilyname_size() const { - return _impl_.opfamilyname_.size(); +// .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"]; +inline void JsonTableColumn::clear_quotes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.quotes_ = 0; } -inline int CreateOpFamilyStmt::opfamilyname_size() const { - return _internal_opfamilyname_size(); +inline ::pg_query::JsonQuotes JsonTableColumn::quotes() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.quotes) + return _internal_quotes(); } -inline void CreateOpFamilyStmt::clear_opfamilyname() { - _impl_.opfamilyname_.Clear(); +inline void JsonTableColumn::set_quotes(::pg_query::JsonQuotes value) { + _internal_set_quotes(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.quotes) } -inline ::pg_query::Node* CreateOpFamilyStmt::mutable_opfamilyname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpFamilyStmt.opfamilyname) - return _impl_.opfamilyname_.Mutable(index); +inline ::pg_query::JsonQuotes JsonTableColumn::_internal_quotes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::JsonQuotes>(_impl_.quotes_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpFamilyStmt::mutable_opfamilyname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpFamilyStmt.opfamilyname) - return &_impl_.opfamilyname_; +inline void JsonTableColumn::_internal_set_quotes(::pg_query::JsonQuotes value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.quotes_ = value; } -inline const ::pg_query::Node& CreateOpFamilyStmt::_internal_opfamilyname(int index) const { - return _impl_.opfamilyname_.Get(index); + +// repeated .pg_query.Node columns = 8 [json_name = "columns"]; +inline int JsonTableColumn::_internal_columns_size() const { + return _internal_columns().size(); } -inline const ::pg_query::Node& CreateOpFamilyStmt::opfamilyname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpFamilyStmt.opfamilyname) - return _internal_opfamilyname(index); +inline int JsonTableColumn::columns_size() const { + return _internal_columns_size(); } -inline ::pg_query::Node* CreateOpFamilyStmt::_internal_add_opfamilyname() { - return _impl_.opfamilyname_.Add(); +inline void JsonTableColumn::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); } -inline ::pg_query::Node* CreateOpFamilyStmt::add_opfamilyname() { - ::pg_query::Node* _add = _internal_add_opfamilyname(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpFamilyStmt.opfamilyname) +inline ::pg_query::Node* JsonTableColumn::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.columns) + return _internal_mutable_columns()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonTableColumn::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonTableColumn.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); +} +inline const ::pg_query::Node& JsonTableColumn::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.columns) + return _internal_columns().Get(index); +} +inline ::pg_query::Node* JsonTableColumn::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonTableColumn.columns) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpFamilyStmt::opfamilyname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpFamilyStmt.opfamilyname) - return _impl_.opfamilyname_; -} - -// string amname = 2 [json_name = "amname"]; -inline void CreateOpFamilyStmt::clear_amname() { - _impl_.amname_.ClearToEmpty(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonTableColumn::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonTableColumn.columns) + return _internal_columns(); } -inline const std::string& CreateOpFamilyStmt::amname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpFamilyStmt.amname) - return _internal_amname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateOpFamilyStmt::set_amname(ArgT0&& arg0, ArgT... args) { - - _impl_.amname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateOpFamilyStmt.amname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonTableColumn::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; } -inline std::string* CreateOpFamilyStmt::mutable_amname() { - std::string* _s = _internal_mutable_amname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpFamilyStmt.amname) - return _s; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonTableColumn::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; } -inline const std::string& CreateOpFamilyStmt::_internal_amname() const { - return _impl_.amname_.Get(); + +// .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"]; +inline bool JsonTableColumn::has_on_empty() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_empty_ != nullptr); + return value; } -inline void CreateOpFamilyStmt::_internal_set_amname(const std::string& value) { - - _impl_.amname_.Set(value, GetArenaForAllocation()); +inline void JsonTableColumn::clear_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_empty_ != nullptr) _impl_.on_empty_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline std::string* CreateOpFamilyStmt::_internal_mutable_amname() { - - return _impl_.amname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::JsonBehavior& JsonTableColumn::_internal_on_empty() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_empty_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline std::string* CreateOpFamilyStmt::release_amname() { - // @@protoc_insertion_point(field_release:pg_query.CreateOpFamilyStmt.amname) - return _impl_.amname_.Release(); +inline const ::pg_query::JsonBehavior& JsonTableColumn::on_empty() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.on_empty) + return _internal_on_empty(); } -inline void CreateOpFamilyStmt::set_allocated_amname(std::string* amname) { - if (amname != nullptr) { - - } else { - +inline void JsonTableColumn::unsafe_arena_set_allocated_on_empty(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_empty_); } - _impl_.amname_.SetAllocated(amname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.amname_.IsDefault()) { - _impl_.amname_.Set("", GetArenaForAllocation()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpFamilyStmt.amname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.on_empty) } +inline ::pg_query::JsonBehavior* JsonTableColumn::release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// AlterOpFamilyStmt - -// repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; -inline int AlterOpFamilyStmt::_internal_opfamilyname_size() const { - return _impl_.opfamilyname_.size(); + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* released = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int AlterOpFamilyStmt::opfamilyname_size() const { - return _internal_opfamilyname_size(); +inline ::pg_query::JsonBehavior* JsonTableColumn::unsafe_arena_release_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.on_empty) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::JsonBehavior* temp = _impl_.on_empty_; + _impl_.on_empty_ = nullptr; + return temp; } -inline void AlterOpFamilyStmt::clear_opfamilyname() { - _impl_.opfamilyname_.Clear(); +inline ::pg_query::JsonBehavior* JsonTableColumn::_internal_mutable_on_empty() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.on_empty_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_empty_; } -inline ::pg_query::Node* AlterOpFamilyStmt::mutable_opfamilyname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.opfamilyname) - return _impl_.opfamilyname_.Mutable(index); +inline ::pg_query::JsonBehavior* JsonTableColumn::mutable_on_empty() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_empty(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.on_empty) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterOpFamilyStmt::mutable_opfamilyname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOpFamilyStmt.opfamilyname) - return &_impl_.opfamilyname_; +inline void JsonTableColumn::set_allocated_on_empty(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_empty_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.on_empty_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.on_empty) } -inline const ::pg_query::Node& AlterOpFamilyStmt::_internal_opfamilyname(int index) const { - return _impl_.opfamilyname_.Get(index); + +// .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"]; +inline bool JsonTableColumn::has_on_error() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_error_ != nullptr); + return value; } -inline const ::pg_query::Node& AlterOpFamilyStmt::opfamilyname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.opfamilyname) - return _internal_opfamilyname(index); +inline void JsonTableColumn::clear_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_error_ != nullptr) _impl_.on_error_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -inline ::pg_query::Node* AlterOpFamilyStmt::_internal_add_opfamilyname() { - return _impl_.opfamilyname_.Add(); +inline const ::pg_query::JsonBehavior& JsonTableColumn::_internal_on_error() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonBehavior* p = _impl_.on_error_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonBehavior_default_instance_); } -inline ::pg_query::Node* AlterOpFamilyStmt::add_opfamilyname() { - ::pg_query::Node* _add = _internal_add_opfamilyname(); - // @@protoc_insertion_point(field_add:pg_query.AlterOpFamilyStmt.opfamilyname) - return _add; +inline const ::pg_query::JsonBehavior& JsonTableColumn::on_error() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.on_error) + return _internal_on_error(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterOpFamilyStmt::opfamilyname() const { - // @@protoc_insertion_point(field_list:pg_query.AlterOpFamilyStmt.opfamilyname) - return _impl_.opfamilyname_; +inline void JsonTableColumn::unsafe_arena_set_allocated_on_error(::pg_query::JsonBehavior* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_error_); + } + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonTableColumn.on_error) } +inline ::pg_query::JsonBehavior* JsonTableColumn::release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string amname = 2 [json_name = "amname"]; -inline void AlterOpFamilyStmt::clear_amname() { - _impl_.amname_.ClearToEmpty(); -} -inline const std::string& AlterOpFamilyStmt::amname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.amname) - return _internal_amname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlterOpFamilyStmt::set_amname(ArgT0&& arg0, ArgT... args) { - - _impl_.amname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterOpFamilyStmt.amname) -} -inline std::string* AlterOpFamilyStmt::mutable_amname() { - std::string* _s = _internal_mutable_amname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.amname) - return _s; -} -inline const std::string& AlterOpFamilyStmt::_internal_amname() const { - return _impl_.amname_.Get(); + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* released = _impl_.on_error_; + _impl_.on_error_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void AlterOpFamilyStmt::_internal_set_amname(const std::string& value) { - - _impl_.amname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::JsonBehavior* JsonTableColumn::unsafe_arena_release_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonTableColumn.on_error) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::JsonBehavior* temp = _impl_.on_error_; + _impl_.on_error_ = nullptr; + return temp; } -inline std::string* AlterOpFamilyStmt::_internal_mutable_amname() { - - return _impl_.amname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::JsonBehavior* JsonTableColumn::_internal_mutable_on_error() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.on_error_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonBehavior>(GetArena()); + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(p); + } + return _impl_.on_error_; } -inline std::string* AlterOpFamilyStmt::release_amname() { - // @@protoc_insertion_point(field_release:pg_query.AlterOpFamilyStmt.amname) - return _impl_.amname_.Release(); +inline ::pg_query::JsonBehavior* JsonTableColumn::mutable_on_error() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonBehavior* _msg = _internal_mutable_on_error(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonTableColumn.on_error) + return _msg; } -inline void AlterOpFamilyStmt::set_allocated_amname(std::string* amname) { - if (amname != nullptr) { - - } else { - +inline void JsonTableColumn::set_allocated_on_error(::pg_query::JsonBehavior* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonBehavior*>(_impl_.on_error_); } - _impl_.amname_.SetAllocated(amname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.amname_.IsDefault()) { - _impl_.amname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonBehavior*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOpFamilyStmt.amname) + + _impl_.on_error_ = reinterpret_cast<::pg_query::JsonBehavior*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonTableColumn.on_error) } -// bool is_drop = 3 [json_name = "isDrop"]; -inline void AlterOpFamilyStmt::clear_is_drop() { - _impl_.is_drop_ = false; +// int32 location = 11 [json_name = "location"]; +inline void JsonTableColumn::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool AlterOpFamilyStmt::_internal_is_drop() const { - return _impl_.is_drop_; +inline ::int32_t JsonTableColumn::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonTableColumn.location) + return _internal_location(); } -inline bool AlterOpFamilyStmt::is_drop() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.is_drop) - return _internal_is_drop(); +inline void JsonTableColumn::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonTableColumn.location) } -inline void AlterOpFamilyStmt::_internal_set_is_drop(bool value) { - - _impl_.is_drop_ = value; +inline ::int32_t JsonTableColumn::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void AlterOpFamilyStmt::set_is_drop(bool value) { - _internal_set_is_drop(value); - // @@protoc_insertion_point(field_set:pg_query.AlterOpFamilyStmt.is_drop) +inline void JsonTableColumn::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// repeated .pg_query.Node items = 4 [json_name = "items"]; -inline int AlterOpFamilyStmt::_internal_items_size() const { - return _impl_.items_.size(); -} -inline int AlterOpFamilyStmt::items_size() const { - return _internal_items_size(); +// ------------------------------------------------------------------- + +// JsonKeyValue + +// .pg_query.Node key = 1 [json_name = "key"]; +inline bool JsonKeyValue::has_key() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.key_ != nullptr); + return value; } -inline void AlterOpFamilyStmt::clear_items() { - _impl_.items_.Clear(); +inline void JsonKeyValue::clear_key() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.key_ != nullptr) _impl_.key_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* AlterOpFamilyStmt::mutable_items(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.items) - return _impl_.items_.Mutable(index); +inline const ::pg_query::Node& JsonKeyValue::_internal_key() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.key_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterOpFamilyStmt::mutable_items() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOpFamilyStmt.items) - return &_impl_.items_; +inline const ::pg_query::Node& JsonKeyValue::key() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.key) + return _internal_key(); } -inline const ::pg_query::Node& AlterOpFamilyStmt::_internal_items(int index) const { - return _impl_.items_.Get(index); +inline void JsonKeyValue::unsafe_arena_set_allocated_key(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.key_); + } + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.key) } -inline const ::pg_query::Node& AlterOpFamilyStmt::items(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.items) - return _internal_items(index); +inline ::pg_query::Node* JsonKeyValue::release_key() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.key_; + _impl_.key_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* AlterOpFamilyStmt::_internal_add_items() { - return _impl_.items_.Add(); +inline ::pg_query::Node* JsonKeyValue::unsafe_arena_release_key() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.key) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.key_; + _impl_.key_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterOpFamilyStmt::add_items() { - ::pg_query::Node* _add = _internal_add_items(); - // @@protoc_insertion_point(field_add:pg_query.AlterOpFamilyStmt.items) - return _add; +inline ::pg_query::Node* JsonKeyValue::_internal_mutable_key() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.key_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.key_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterOpFamilyStmt::items() const { - // @@protoc_insertion_point(field_list:pg_query.AlterOpFamilyStmt.items) - return _impl_.items_; +inline ::pg_query::Node* JsonKeyValue::mutable_key() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_key(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.key) + return _msg; } +inline void JsonKeyValue::set_allocated_key(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.key_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// PrepareStmt + _impl_.key_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.key) +} -// string name = 1 [json_name = "name"]; -inline void PrepareStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +// .pg_query.JsonValueExpr value = 2 [json_name = "value"]; +inline bool JsonKeyValue::has_value() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.value_ != nullptr); + return value; } -inline const std::string& PrepareStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.name) - return _internal_name(); +inline void JsonKeyValue::clear_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.value_ != nullptr) _impl_.value_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -template -inline PROTOBUF_ALWAYS_INLINE -void PrepareStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PrepareStmt.name) +inline const ::pg_query::JsonValueExpr& JsonKeyValue::_internal_value() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.value_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline std::string* PrepareStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.name) - return _s; +inline const ::pg_query::JsonValueExpr& JsonKeyValue::value() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonKeyValue.value) + return _internal_value(); } -inline const std::string& PrepareStmt::_internal_name() const { - return _impl_.name_.Get(); +inline void JsonKeyValue::unsafe_arena_set_allocated_value(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.value_); + } + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonKeyValue.value) } -inline void PrepareStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline ::pg_query::JsonValueExpr* JsonKeyValue::release_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* released = _impl_.value_; + _impl_.value_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* PrepareStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::JsonValueExpr* JsonKeyValue::unsafe_arena_release_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonKeyValue.value) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* temp = _impl_.value_; + _impl_.value_ = nullptr; + return temp; } -inline std::string* PrepareStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.PrepareStmt.name) - return _impl_.name_.Release(); +inline ::pg_query::JsonValueExpr* JsonKeyValue::_internal_mutable_value() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.value_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.value_; } -inline void PrepareStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - +inline ::pg_query::JsonValueExpr* JsonKeyValue::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_value(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonKeyValue.value) + return _msg; +} +inline void JsonKeyValue::set_allocated_value(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.value_); } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PrepareStmt.name) -} -// repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; -inline int PrepareStmt::_internal_argtypes_size() const { - return _impl_.argtypes_.size(); + _impl_.value_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonKeyValue.value) } -inline int PrepareStmt::argtypes_size() const { - return _internal_argtypes_size(); + +// ------------------------------------------------------------------- + +// JsonParseExpr + +// .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; +inline bool JsonParseExpr::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void PrepareStmt::clear_argtypes() { - _impl_.argtypes_.Clear(); +inline void JsonParseExpr::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* PrepareStmt::mutable_argtypes(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.argtypes) - return _impl_.argtypes_.Mutable(index); +inline const ::pg_query::JsonValueExpr& JsonParseExpr::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PrepareStmt::mutable_argtypes() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PrepareStmt.argtypes) - return &_impl_.argtypes_; +inline const ::pg_query::JsonValueExpr& JsonParseExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.expr) + return _internal_expr(); } -inline const ::pg_query::Node& PrepareStmt::_internal_argtypes(int index) const { - return _impl_.argtypes_.Get(index); +inline void JsonParseExpr::unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonParseExpr.expr) } -inline const ::pg_query::Node& PrepareStmt::argtypes(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.argtypes) - return _internal_argtypes(index); +inline ::pg_query::JsonValueExpr* JsonParseExpr::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* PrepareStmt::_internal_add_argtypes() { - return _impl_.argtypes_.Add(); +inline ::pg_query::JsonValueExpr* JsonParseExpr::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonParseExpr.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline ::pg_query::Node* PrepareStmt::add_argtypes() { - ::pg_query::Node* _add = _internal_add_argtypes(); - // @@protoc_insertion_point(field_add:pg_query.PrepareStmt.argtypes) - return _add; +inline ::pg_query::JsonValueExpr* JsonParseExpr::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.expr_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PrepareStmt::argtypes() const { - // @@protoc_insertion_point(field_list:pg_query.PrepareStmt.argtypes) - return _impl_.argtypes_; +inline ::pg_query::JsonValueExpr* JsonParseExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonParseExpr.expr) + return _msg; } +inline void JsonParseExpr::set_allocated_expr(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.expr_); + } -// .pg_query.Node query = 3 [json_name = "query"]; -inline bool PrepareStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonParseExpr.expr) } -inline bool PrepareStmt::has_query() const { - return _internal_has_query(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonParseExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void PrepareStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; +inline void JsonParseExpr::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& PrepareStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonOutput& JsonParseExpr::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::Node& PrepareStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.query) - return _internal_query(); +inline const ::pg_query::JsonOutput& JsonParseExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.output) + return _internal_output(); } -inline void PrepareStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); +inline void JsonParseExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.query_ = query; - if (query) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PrepareStmt.query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonParseExpr.output) } -inline ::pg_query::Node* PrepareStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::JsonOutput* JsonParseExpr::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* PrepareStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.PrepareStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::JsonOutput* JsonParseExpr::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonParseExpr.output) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::Node* PrepareStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; +inline ::pg_query::JsonOutput* JsonParseExpr::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.query_; + return _impl_.output_; } -inline ::pg_query::Node* PrepareStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.query) +inline ::pg_query::JsonOutput* JsonParseExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonParseExpr.output) return _msg; } -inline void PrepareStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonParseExpr::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.query_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.PrepareStmt.query) -} -// ------------------------------------------------------------------- + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonParseExpr.output) +} -// ExecuteStmt +// bool unique_keys = 3 [json_name = "unique_keys"]; +inline void JsonParseExpr::clear_unique_keys() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_keys_ = false; +} +inline bool JsonParseExpr::unique_keys() const { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.unique_keys) + return _internal_unique_keys(); +} +inline void JsonParseExpr::set_unique_keys(bool value) { + _internal_set_unique_keys(value); + // @@protoc_insertion_point(field_set:pg_query.JsonParseExpr.unique_keys) +} +inline bool JsonParseExpr::_internal_unique_keys() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_keys_; +} +inline void JsonParseExpr::_internal_set_unique_keys(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_keys_ = value; +} -// string name = 1 [json_name = "name"]; -inline void ExecuteStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +// int32 location = 4 [json_name = "location"]; +inline void JsonParseExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const std::string& ExecuteStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.ExecuteStmt.name) - return _internal_name(); +inline ::int32_t JsonParseExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonParseExpr.location) + return _internal_location(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ExecuteStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ExecuteStmt.name) +inline void JsonParseExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonParseExpr.location) } -inline std::string* ExecuteStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ExecuteStmt.name) - return _s; +inline ::int32_t JsonParseExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const std::string& ExecuteStmt::_internal_name() const { - return _impl_.name_.Get(); +inline void JsonParseExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline void ExecuteStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// JsonScalarExpr + +// .pg_query.Node expr = 1 [json_name = "expr"]; +inline bool JsonScalarExpr::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline std::string* ExecuteStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline void JsonScalarExpr::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* ExecuteStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.ExecuteStmt.name) - return _impl_.name_.Release(); +inline const ::pg_query::Node& JsonScalarExpr::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonScalarExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.expr) + return _internal_expr(); } -inline void ExecuteStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - +inline void JsonScalarExpr::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonScalarExpr.expr) +} +inline ::pg_query::Node* JsonScalarExpr::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ExecuteStmt.name) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* JsonScalarExpr::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonScalarExpr.expr) -// repeated .pg_query.Node params = 2 [json_name = "params"]; -inline int ExecuteStmt::_internal_params_size() const { - return _impl_.params_.size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; +} +inline ::pg_query::Node* JsonScalarExpr::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.expr_; +} +inline ::pg_query::Node* JsonScalarExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonScalarExpr.expr) + return _msg; +} +inline void JsonScalarExpr::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonScalarExpr.expr) } -inline int ExecuteStmt::params_size() const { - return _internal_params_size(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonScalarExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void ExecuteStmt::clear_params() { - _impl_.params_.Clear(); +inline void JsonScalarExpr::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* ExecuteStmt::mutable_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ExecuteStmt.params) - return _impl_.params_.Mutable(index); +inline const ::pg_query::JsonOutput& JsonScalarExpr::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ExecuteStmt::mutable_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ExecuteStmt.params) - return &_impl_.params_; +inline const ::pg_query::JsonOutput& JsonScalarExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.output) + return _internal_output(); } -inline const ::pg_query::Node& ExecuteStmt::_internal_params(int index) const { - return _impl_.params_.Get(index); +inline void JsonScalarExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); + } + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonScalarExpr.output) } -inline const ::pg_query::Node& ExecuteStmt::params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ExecuteStmt.params) - return _internal_params(index); +inline ::pg_query::JsonOutput* JsonScalarExpr::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* ExecuteStmt::_internal_add_params() { - return _impl_.params_.Add(); +inline ::pg_query::JsonOutput* JsonScalarExpr::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonScalarExpr.output) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; + return temp; } -inline ::pg_query::Node* ExecuteStmt::add_params() { - ::pg_query::Node* _add = _internal_add_params(); - // @@protoc_insertion_point(field_add:pg_query.ExecuteStmt.params) - return _add; +inline ::pg_query::JsonOutput* JsonScalarExpr::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); + } + return _impl_.output_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ExecuteStmt::params() const { - // @@protoc_insertion_point(field_list:pg_query.ExecuteStmt.params) - return _impl_.params_; +inline ::pg_query::JsonOutput* JsonScalarExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonScalarExpr.output) + return _msg; } +inline void JsonScalarExpr::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); + } -// ------------------------------------------------------------------- - -// DeallocateStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// string name = 1 [json_name = "name"]; -inline void DeallocateStmt::clear_name() { - _impl_.name_.ClearToEmpty(); -} -inline const std::string& DeallocateStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.name) - return _internal_name(); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonScalarExpr.output) } -template -inline PROTOBUF_ALWAYS_INLINE -void DeallocateStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.name) -} -inline std::string* DeallocateStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.DeallocateStmt.name) - return _s; -} -inline const std::string& DeallocateStmt::_internal_name() const { - return _impl_.name_.Get(); + +// int32 location = 3 [json_name = "location"]; +inline void JsonScalarExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline void DeallocateStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline ::int32_t JsonScalarExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonScalarExpr.location) + return _internal_location(); } -inline std::string* DeallocateStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline void JsonScalarExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonScalarExpr.location) } -inline std::string* DeallocateStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.DeallocateStmt.name) - return _impl_.name_.Release(); +inline ::int32_t JsonScalarExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void DeallocateStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DeallocateStmt.name) +inline void JsonScalarExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// DeclareCursorStmt +// JsonSerializeExpr -// string portalname = 1 [json_name = "portalname"]; -inline void DeclareCursorStmt::clear_portalname() { - _impl_.portalname_.ClearToEmpty(); -} -inline const std::string& DeclareCursorStmt::portalname() const { - // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.portalname) - return _internal_portalname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void DeclareCursorStmt::set_portalname(ArgT0&& arg0, ArgT... args) { - - _impl_.portalname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DeclareCursorStmt.portalname) -} -inline std::string* DeclareCursorStmt::mutable_portalname() { - std::string* _s = _internal_mutable_portalname(); - // @@protoc_insertion_point(field_mutable:pg_query.DeclareCursorStmt.portalname) - return _s; -} -inline const std::string& DeclareCursorStmt::_internal_portalname() const { - return _impl_.portalname_.Get(); +// .pg_query.JsonValueExpr expr = 1 [json_name = "expr"]; +inline bool JsonSerializeExpr::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline void DeclareCursorStmt::_internal_set_portalname(const std::string& value) { - - _impl_.portalname_.Set(value, GetArenaForAllocation()); +inline void JsonSerializeExpr::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* DeclareCursorStmt::_internal_mutable_portalname() { - - return _impl_.portalname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::JsonValueExpr& JsonSerializeExpr::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline std::string* DeclareCursorStmt::release_portalname() { - // @@protoc_insertion_point(field_release:pg_query.DeclareCursorStmt.portalname) - return _impl_.portalname_.Release(); +inline const ::pg_query::JsonValueExpr& JsonSerializeExpr::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.expr) + return _internal_expr(); } -inline void DeclareCursorStmt::set_allocated_portalname(std::string* portalname) { - if (portalname != nullptr) { - - } else { - +inline void JsonSerializeExpr::unsafe_arena_set_allocated_expr(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); } - _impl_.portalname_.SetAllocated(portalname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.portalname_.IsDefault()) { - _impl_.portalname_.Set("", GetArenaForAllocation()); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DeclareCursorStmt.portalname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonSerializeExpr.expr) } +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 options = 2 [json_name = "options"]; -inline void DeclareCursorStmt::clear_options() { - _impl_.options_ = 0; -} -inline int32_t DeclareCursorStmt::_internal_options() const { - return _impl_.options_; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t DeclareCursorStmt::options() const { - // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.options) - return _internal_options(); +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonSerializeExpr.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonValueExpr* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline void DeclareCursorStmt::_internal_set_options(int32_t value) { - - _impl_.options_ = value; +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); + } + return _impl_.expr_; } -inline void DeclareCursorStmt::set_options(int32_t value) { - _internal_set_options(value); - // @@protoc_insertion_point(field_set:pg_query.DeclareCursorStmt.options) +inline ::pg_query::JsonValueExpr* JsonSerializeExpr::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonSerializeExpr.expr) + return _msg; } +inline void JsonSerializeExpr::set_allocated_expr(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.expr_); + } -// .pg_query.Node query = 3 [json_name = "query"]; -inline bool DeclareCursorStmt::_internal_has_query() const { - return this != internal_default_instance() && _impl_.query_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.expr_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonSerializeExpr.expr) } -inline bool DeclareCursorStmt::has_query() const { - return _internal_has_query(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonSerializeExpr::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void DeclareCursorStmt::clear_query() { - if (GetArenaForAllocation() == nullptr && _impl_.query_ != nullptr) { - delete _impl_.query_; - } - _impl_.query_ = nullptr; +inline void JsonSerializeExpr::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& DeclareCursorStmt::_internal_query() const { - const ::pg_query::Node* p = _impl_.query_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonOutput& JsonSerializeExpr::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::Node& DeclareCursorStmt::query() const { - // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.query) - return _internal_query(); +inline const ::pg_query::JsonOutput& JsonSerializeExpr::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.output) + return _internal_output(); } -inline void DeclareCursorStmt::unsafe_arena_set_allocated_query( - ::pg_query::Node* query) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.query_); +inline void JsonSerializeExpr::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.query_ = query; - if (query) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeclareCursorStmt.query) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonSerializeExpr.output) } -inline ::pg_query::Node* DeclareCursorStmt::release_query() { - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::JsonOutput* JsonSerializeExpr::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* DeclareCursorStmt::unsafe_arena_release_query() { - // @@protoc_insertion_point(field_release:pg_query.DeclareCursorStmt.query) - - ::pg_query::Node* temp = _impl_.query_; - _impl_.query_ = nullptr; +inline ::pg_query::JsonOutput* JsonSerializeExpr::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonSerializeExpr.output) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::Node* DeclareCursorStmt::_internal_mutable_query() { - - if (_impl_.query_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.query_ = p; +inline ::pg_query::JsonOutput* JsonSerializeExpr::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.query_; + return _impl_.output_; } -inline ::pg_query::Node* DeclareCursorStmt::mutable_query() { - ::pg_query::Node* _msg = _internal_mutable_query(); - // @@protoc_insertion_point(field_mutable:pg_query.DeclareCursorStmt.query) +inline ::pg_query::JsonOutput* JsonSerializeExpr::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonSerializeExpr.output) return _msg; } -inline void DeclareCursorStmt::set_allocated_query(::pg_query::Node* query) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonSerializeExpr::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.query_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (query) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(query); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - query = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, query, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.query_ = query; - // @@protoc_insertion_point(field_set_allocated:pg_query.DeclareCursorStmt.query) + + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonSerializeExpr.output) +} + +// int32 location = 3 [json_name = "location"]; +inline void JsonSerializeExpr::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t JsonSerializeExpr::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonSerializeExpr.location) + return _internal_location(); +} +inline void JsonSerializeExpr::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonSerializeExpr.location) +} +inline ::int32_t JsonSerializeExpr::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void JsonSerializeExpr::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// CreateTableSpaceStmt +// JsonObjectConstructor -// string tablespacename = 1 [json_name = "tablespacename"]; -inline void CreateTableSpaceStmt::clear_tablespacename() { - _impl_.tablespacename_.ClearToEmpty(); -} -inline const std::string& CreateTableSpaceStmt::tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.tablespacename) - return _internal_tablespacename(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateTableSpaceStmt::set_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateTableSpaceStmt.tablespacename) +// repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; +inline int JsonObjectConstructor::_internal_exprs_size() const { + return _internal_exprs().size(); } -inline std::string* CreateTableSpaceStmt::mutable_tablespacename() { - std::string* _s = _internal_mutable_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.tablespacename) - return _s; +inline int JsonObjectConstructor::exprs_size() const { + return _internal_exprs_size(); } -inline const std::string& CreateTableSpaceStmt::_internal_tablespacename() const { - return _impl_.tablespacename_.Get(); +inline void JsonObjectConstructor::clear_exprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.exprs_.Clear(); } -inline void CreateTableSpaceStmt::_internal_set_tablespacename(const std::string& value) { - - _impl_.tablespacename_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* JsonObjectConstructor::mutable_exprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonObjectConstructor.exprs) + return _internal_mutable_exprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonObjectConstructor::mutable_exprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonObjectConstructor.exprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_exprs(); +} +inline const ::pg_query::Node& JsonObjectConstructor::exprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectConstructor.exprs) + return _internal_exprs().Get(index); +} +inline ::pg_query::Node* JsonObjectConstructor::add_exprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_exprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonObjectConstructor.exprs) + return _add; } -inline std::string* CreateTableSpaceStmt::_internal_mutable_tablespacename() { - - return _impl_.tablespacename_.Mutable(GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonObjectConstructor::exprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonObjectConstructor.exprs) + return _internal_exprs(); } -inline std::string* CreateTableSpaceStmt::release_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.tablespacename) - return _impl_.tablespacename_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonObjectConstructor::_internal_exprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.exprs_; } -inline void CreateTableSpaceStmt::set_allocated_tablespacename(std::string* tablespacename) { - if (tablespacename != nullptr) { - - } else { - - } - _impl_.tablespacename_.SetAllocated(tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.tablespacename_.IsDefault()) { - _impl_.tablespacename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.tablespacename) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonObjectConstructor::_internal_mutable_exprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.exprs_; } -// .pg_query.RoleSpec owner = 2 [json_name = "owner"]; -inline bool CreateTableSpaceStmt::_internal_has_owner() const { - return this != internal_default_instance() && _impl_.owner_ != nullptr; -} -inline bool CreateTableSpaceStmt::has_owner() const { - return _internal_has_owner(); +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonObjectConstructor::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void CreateTableSpaceStmt::clear_owner() { - if (GetArenaForAllocation() == nullptr && _impl_.owner_ != nullptr) { - delete _impl_.owner_; - } - _impl_.owner_ = nullptr; +inline void JsonObjectConstructor::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RoleSpec& CreateTableSpaceStmt::_internal_owner() const { - const ::pg_query::RoleSpec* p = _impl_.owner_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::JsonOutput& JsonObjectConstructor::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::RoleSpec& CreateTableSpaceStmt::owner() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.owner) - return _internal_owner(); +inline const ::pg_query::JsonOutput& JsonObjectConstructor::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectConstructor.output) + return _internal_output(); } -inline void CreateTableSpaceStmt::unsafe_arena_set_allocated_owner( - ::pg_query::RoleSpec* owner) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_); +inline void JsonObjectConstructor::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.owner_ = owner; - if (owner) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableSpaceStmt.owner) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonObjectConstructor.output) } -inline ::pg_query::RoleSpec* CreateTableSpaceStmt::release_owner() { - - ::pg_query::RoleSpec* temp = _impl_.owner_; - _impl_.owner_ = nullptr; +inline ::pg_query::JsonOutput* JsonObjectConstructor::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* CreateTableSpaceStmt::unsafe_arena_release_owner() { - // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.owner) - - ::pg_query::RoleSpec* temp = _impl_.owner_; - _impl_.owner_ = nullptr; +inline ::pg_query::JsonOutput* JsonObjectConstructor::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonObjectConstructor.output) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* CreateTableSpaceStmt::_internal_mutable_owner() { - - if (_impl_.owner_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.owner_ = p; +inline ::pg_query::JsonOutput* JsonObjectConstructor::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.owner_; + return _impl_.output_; } -inline ::pg_query::RoleSpec* CreateTableSpaceStmt::mutable_owner() { - ::pg_query::RoleSpec* _msg = _internal_mutable_owner(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.owner) +inline ::pg_query::JsonOutput* JsonObjectConstructor::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonObjectConstructor.output) return _msg; } -inline void CreateTableSpaceStmt::set_allocated_owner(::pg_query::RoleSpec* owner) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonObjectConstructor::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.owner_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (owner) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - owner = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, owner, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.owner_ = owner; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.owner) -} -// string location = 3 [json_name = "location"]; -inline void CreateTableSpaceStmt::clear_location() { - _impl_.location_.ClearToEmpty(); -} -inline const std::string& CreateTableSpaceStmt::location() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.location) - return _internal_location(); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonObjectConstructor.output) } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateTableSpaceStmt::set_location(ArgT0&& arg0, ArgT... args) { - - _impl_.location_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateTableSpaceStmt.location) -} -inline std::string* CreateTableSpaceStmt::mutable_location() { - std::string* _s = _internal_mutable_location(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.location) - return _s; -} -inline const std::string& CreateTableSpaceStmt::_internal_location() const { - return _impl_.location_.Get(); + +// bool absent_on_null = 3 [json_name = "absent_on_null"]; +inline void JsonObjectConstructor::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; } -inline void CreateTableSpaceStmt::_internal_set_location(const std::string& value) { - - _impl_.location_.Set(value, GetArenaForAllocation()); +inline bool JsonObjectConstructor::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectConstructor.absent_on_null) + return _internal_absent_on_null(); } -inline std::string* CreateTableSpaceStmt::_internal_mutable_location() { - - return _impl_.location_.Mutable(GetArenaForAllocation()); +inline void JsonObjectConstructor::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonObjectConstructor.absent_on_null) } -inline std::string* CreateTableSpaceStmt::release_location() { - // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.location) - return _impl_.location_.Release(); +inline bool JsonObjectConstructor::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; } -inline void CreateTableSpaceStmt::set_allocated_location(std::string* location) { - if (location != nullptr) { - - } else { - - } - _impl_.location_.SetAllocated(location, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.location_.IsDefault()) { - _impl_.location_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.location) +inline void JsonObjectConstructor::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; } -// repeated .pg_query.Node options = 4 [json_name = "options"]; -inline int CreateTableSpaceStmt::_internal_options_size() const { - return _impl_.options_.size(); +// bool unique = 4 [json_name = "unique"]; +inline void JsonObjectConstructor::clear_unique() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_ = false; } -inline int CreateTableSpaceStmt::options_size() const { - return _internal_options_size(); +inline bool JsonObjectConstructor::unique() const { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectConstructor.unique) + return _internal_unique(); } -inline void CreateTableSpaceStmt::clear_options() { - _impl_.options_.Clear(); +inline void JsonObjectConstructor::set_unique(bool value) { + _internal_set_unique(value); + // @@protoc_insertion_point(field_set:pg_query.JsonObjectConstructor.unique) } -inline ::pg_query::Node* CreateTableSpaceStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.options) - return _impl_.options_.Mutable(index); +inline bool JsonObjectConstructor::_internal_unique() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateTableSpaceStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTableSpaceStmt.options) - return &_impl_.options_; +inline void JsonObjectConstructor::_internal_set_unique(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_ = value; } -inline const ::pg_query::Node& CreateTableSpaceStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// int32 location = 5 [json_name = "location"]; +inline void JsonObjectConstructor::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& CreateTableSpaceStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.options) - return _internal_options(index); +inline ::int32_t JsonObjectConstructor::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectConstructor.location) + return _internal_location(); } -inline ::pg_query::Node* CreateTableSpaceStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void JsonObjectConstructor::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonObjectConstructor.location) } -inline ::pg_query::Node* CreateTableSpaceStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateTableSpaceStmt.options) - return _add; +inline ::int32_t JsonObjectConstructor::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateTableSpaceStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateTableSpaceStmt.options) - return _impl_.options_; +inline void JsonObjectConstructor::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } // ------------------------------------------------------------------- -// DropTableSpaceStmt +// JsonArrayConstructor -// string tablespacename = 1 [json_name = "tablespacename"]; -inline void DropTableSpaceStmt::clear_tablespacename() { - _impl_.tablespacename_.ClearToEmpty(); +// repeated .pg_query.Node exprs = 1 [json_name = "exprs"]; +inline int JsonArrayConstructor::_internal_exprs_size() const { + return _internal_exprs().size(); } -inline const std::string& DropTableSpaceStmt::tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.DropTableSpaceStmt.tablespacename) - return _internal_tablespacename(); +inline int JsonArrayConstructor::exprs_size() const { + return _internal_exprs_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void DropTableSpaceStmt::set_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DropTableSpaceStmt.tablespacename) +inline void JsonArrayConstructor::clear_exprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.exprs_.Clear(); } -inline std::string* DropTableSpaceStmt::mutable_tablespacename() { - std::string* _s = _internal_mutable_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.DropTableSpaceStmt.tablespacename) - return _s; +inline ::pg_query::Node* JsonArrayConstructor::mutable_exprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayConstructor.exprs) + return _internal_mutable_exprs()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonArrayConstructor::mutable_exprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonArrayConstructor.exprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_exprs(); +} +inline const ::pg_query::Node& JsonArrayConstructor::exprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayConstructor.exprs) + return _internal_exprs().Get(index); +} +inline ::pg_query::Node* JsonArrayConstructor::add_exprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_exprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonArrayConstructor.exprs) + return _add; } -inline const std::string& DropTableSpaceStmt::_internal_tablespacename() const { - return _impl_.tablespacename_.Get(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonArrayConstructor::exprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonArrayConstructor.exprs) + return _internal_exprs(); } -inline void DropTableSpaceStmt::_internal_set_tablespacename(const std::string& value) { - - _impl_.tablespacename_.Set(value, GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonArrayConstructor::_internal_exprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.exprs_; } -inline std::string* DropTableSpaceStmt::_internal_mutable_tablespacename() { - - return _impl_.tablespacename_.Mutable(GetArenaForAllocation()); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonArrayConstructor::_internal_mutable_exprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.exprs_; } -inline std::string* DropTableSpaceStmt::release_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.DropTableSpaceStmt.tablespacename) - return _impl_.tablespacename_.Release(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonArrayConstructor::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void DropTableSpaceStmt::set_allocated_tablespacename(std::string* tablespacename) { - if (tablespacename != nullptr) { - - } else { - +inline void JsonArrayConstructor::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::JsonOutput& JsonArrayConstructor::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); +} +inline const ::pg_query::JsonOutput& JsonArrayConstructor::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayConstructor.output) + return _internal_output(); +} +inline void JsonArrayConstructor::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.tablespacename_.SetAllocated(tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.tablespacename_.IsDefault()) { - _impl_.tablespacename_.Set("", GetArenaForAllocation()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DropTableSpaceStmt.tablespacename) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayConstructor.output) } +inline ::pg_query::JsonOutput* JsonArrayConstructor::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool missing_ok = 2 [json_name = "missing_ok"]; -inline void DropTableSpaceStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; -} -inline bool DropTableSpaceStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool DropTableSpaceStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropTableSpaceStmt.missing_ok) - return _internal_missing_ok(); +inline ::pg_query::JsonOutput* JsonArrayConstructor::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayConstructor.output) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; + return temp; } -inline void DropTableSpaceStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::JsonOutput* JsonArrayConstructor::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); + } + return _impl_.output_; } -inline void DropTableSpaceStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropTableSpaceStmt.missing_ok) +inline ::pg_query::JsonOutput* JsonArrayConstructor::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayConstructor.output) + return _msg; } +inline void JsonArrayConstructor::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// AlterObjectDependsStmt + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayConstructor.output) +} -// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; -inline void AlterObjectDependsStmt::clear_object_type() { - _impl_.object_type_ = 0; +// bool absent_on_null = 3 [json_name = "absent_on_null"]; +inline void JsonArrayConstructor::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; } -inline ::pg_query::ObjectType AlterObjectDependsStmt::_internal_object_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.object_type_); +inline bool JsonArrayConstructor::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayConstructor.absent_on_null) + return _internal_absent_on_null(); } -inline ::pg_query::ObjectType AlterObjectDependsStmt::object_type() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.object_type) - return _internal_object_type(); +inline void JsonArrayConstructor::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonArrayConstructor.absent_on_null) } -inline void AlterObjectDependsStmt::_internal_set_object_type(::pg_query::ObjectType value) { - - _impl_.object_type_ = value; +inline bool JsonArrayConstructor::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; } -inline void AlterObjectDependsStmt::set_object_type(::pg_query::ObjectType value) { - _internal_set_object_type(value); - // @@protoc_insertion_point(field_set:pg_query.AlterObjectDependsStmt.object_type) +inline void JsonArrayConstructor::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; } -// .pg_query.RangeVar relation = 2 [json_name = "relation"]; -inline bool AlterObjectDependsStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// int32 location = 4 [json_name = "location"]; +inline void JsonArrayConstructor::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline bool AlterObjectDependsStmt::has_relation() const { - return _internal_has_relation(); +inline ::int32_t JsonArrayConstructor::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayConstructor.location) + return _internal_location(); } -inline void AlterObjectDependsStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void JsonArrayConstructor::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonArrayConstructor.location) } -inline const ::pg_query::RangeVar& AlterObjectDependsStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline ::int32_t JsonArrayConstructor::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::pg_query::RangeVar& AlterObjectDependsStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.relation) - return _internal_relation(); +inline void JsonArrayConstructor::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} + +// ------------------------------------------------------------------- + +// JsonArrayQueryConstructor + +// .pg_query.Node query = 1 [json_name = "query"]; +inline bool JsonArrayQueryConstructor::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; +} +inline void JsonArrayQueryConstructor::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& JsonArrayQueryConstructor::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& JsonArrayQueryConstructor::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayQueryConstructor.query) + return _internal_query(); } -inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void JsonArrayQueryConstructor::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayQueryConstructor.query) } -inline ::pg_query::RangeVar* AlterObjectDependsStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* JsonArrayQueryConstructor::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* AlterObjectDependsStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* JsonArrayQueryConstructor::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayQueryConstructor.query) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; return temp; } -inline ::pg_query::RangeVar* AlterObjectDependsStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* JsonArrayQueryConstructor::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.query_; } -inline ::pg_query::RangeVar* AlterObjectDependsStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.relation) +inline ::pg_query::Node* JsonArrayQueryConstructor::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayQueryConstructor.query) return _msg; } -inline void AlterObjectDependsStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonArrayQueryConstructor::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.relation) -} -// .pg_query.Node object = 3 [json_name = "object"]; -inline bool AlterObjectDependsStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayQueryConstructor.query) } -inline bool AlterObjectDependsStmt::has_object() const { - return _internal_has_object(); + +// .pg_query.JsonOutput output = 2 [json_name = "output"]; +inline bool JsonArrayQueryConstructor::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void AlterObjectDependsStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void JsonArrayQueryConstructor::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& AlterObjectDependsStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonOutput& JsonArrayQueryConstructor::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::Node& AlterObjectDependsStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.object) - return _internal_object(); +inline const ::pg_query::JsonOutput& JsonArrayQueryConstructor::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayQueryConstructor.output) + return _internal_output(); } -inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void JsonArrayQueryConstructor::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.object_ = object; - if (object) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayQueryConstructor.output) } -inline ::pg_query::Node* AlterObjectDependsStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::JsonOutput* JsonArrayQueryConstructor::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterObjectDependsStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::JsonOutput* JsonArrayQueryConstructor::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayQueryConstructor.output) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::Node* AlterObjectDependsStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::JsonOutput* JsonArrayQueryConstructor::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.object_; + return _impl_.output_; } -inline ::pg_query::Node* AlterObjectDependsStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.object) +inline ::pg_query::JsonOutput* JsonArrayQueryConstructor::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayQueryConstructor.output) return _msg; } -inline void AlterObjectDependsStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonArrayQueryConstructor::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.object) -} -// .pg_query.String extname = 4 [json_name = "extname"]; -inline bool AlterObjectDependsStmt::_internal_has_extname() const { - return this != internal_default_instance() && _impl_.extname_ != nullptr; + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayQueryConstructor.output) } -inline bool AlterObjectDependsStmt::has_extname() const { - return _internal_has_extname(); + +// .pg_query.JsonFormat format = 3 [json_name = "format"]; +inline bool JsonArrayQueryConstructor::has_format() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.format_ != nullptr); + return value; } -inline void AlterObjectDependsStmt::clear_extname() { - if (GetArenaForAllocation() == nullptr && _impl_.extname_ != nullptr) { - delete _impl_.extname_; - } - _impl_.extname_ = nullptr; +inline void JsonArrayQueryConstructor::clear_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.format_ != nullptr) _impl_.format_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::String& AlterObjectDependsStmt::_internal_extname() const { - const ::pg_query::String* p = _impl_.extname_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_String_default_instance_); +inline const ::pg_query::JsonFormat& JsonArrayQueryConstructor::_internal_format() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonFormat* p = _impl_.format_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonFormat_default_instance_); } -inline const ::pg_query::String& AlterObjectDependsStmt::extname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.extname) - return _internal_extname(); +inline const ::pg_query::JsonFormat& JsonArrayQueryConstructor::format() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayQueryConstructor.format) + return _internal_format(); } -inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_extname( - ::pg_query::String* extname) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.extname_); +inline void JsonArrayQueryConstructor::unsafe_arena_set_allocated_format(::pg_query::JsonFormat* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.format_); } - _impl_.extname_ = extname; - if (extname) { - + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.extname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayQueryConstructor.format) } -inline ::pg_query::String* AlterObjectDependsStmt::release_extname() { - - ::pg_query::String* temp = _impl_.extname_; - _impl_.extname_ = nullptr; +inline ::pg_query::JsonFormat* JsonArrayQueryConstructor::release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* released = _impl_.format_; + _impl_.format_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::String* AlterObjectDependsStmt::unsafe_arena_release_extname() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.extname) - - ::pg_query::String* temp = _impl_.extname_; - _impl_.extname_ = nullptr; +inline ::pg_query::JsonFormat* JsonArrayQueryConstructor::unsafe_arena_release_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayQueryConstructor.format) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::JsonFormat* temp = _impl_.format_; + _impl_.format_ = nullptr; return temp; } -inline ::pg_query::String* AlterObjectDependsStmt::_internal_mutable_extname() { - - if (_impl_.extname_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::String>(GetArenaForAllocation()); - _impl_.extname_ = p; +inline ::pg_query::JsonFormat* JsonArrayQueryConstructor::_internal_mutable_format() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.format_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonFormat>(GetArena()); + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(p); } - return _impl_.extname_; + return _impl_.format_; } -inline ::pg_query::String* AlterObjectDependsStmt::mutable_extname() { - ::pg_query::String* _msg = _internal_mutable_extname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.extname) +inline ::pg_query::JsonFormat* JsonArrayQueryConstructor::mutable_format() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonFormat* _msg = _internal_mutable_format(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayQueryConstructor.format) return _msg; } -inline void AlterObjectDependsStmt::set_allocated_extname(::pg_query::String* extname) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonArrayQueryConstructor::set_allocated_format(::pg_query::JsonFormat* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.extname_; + delete reinterpret_cast<::pg_query::JsonFormat*>(_impl_.format_); } - if (extname) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(extname); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonFormat*>(value)->GetArena(); if (message_arena != submessage_arena) { - extname = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, extname, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.extname_ = extname; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.extname) + + _impl_.format_ = reinterpret_cast<::pg_query::JsonFormat*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayQueryConstructor.format) } -// bool remove = 5 [json_name = "remove"]; -inline void AlterObjectDependsStmt::clear_remove() { - _impl_.remove_ = false; +// bool absent_on_null = 4 [json_name = "absent_on_null"]; +inline void JsonArrayQueryConstructor::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; } -inline bool AlterObjectDependsStmt::_internal_remove() const { - return _impl_.remove_; +inline bool JsonArrayQueryConstructor::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayQueryConstructor.absent_on_null) + return _internal_absent_on_null(); } -inline bool AlterObjectDependsStmt::remove() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.remove) - return _internal_remove(); +inline void JsonArrayQueryConstructor::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonArrayQueryConstructor.absent_on_null) } -inline void AlterObjectDependsStmt::_internal_set_remove(bool value) { - - _impl_.remove_ = value; +inline bool JsonArrayQueryConstructor::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; } -inline void AlterObjectDependsStmt::set_remove(bool value) { - _internal_set_remove(value); - // @@protoc_insertion_point(field_set:pg_query.AlterObjectDependsStmt.remove) +inline void JsonArrayQueryConstructor::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; } -// ------------------------------------------------------------------- - -// AlterObjectSchemaStmt - -// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; -inline void AlterObjectSchemaStmt::clear_object_type() { - _impl_.object_type_ = 0; +// int32 location = 5 [json_name = "location"]; +inline void JsonArrayQueryConstructor::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::ObjectType AlterObjectSchemaStmt::_internal_object_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.object_type_); +inline ::int32_t JsonArrayQueryConstructor::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayQueryConstructor.location) + return _internal_location(); } -inline ::pg_query::ObjectType AlterObjectSchemaStmt::object_type() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.object_type) - return _internal_object_type(); +inline void JsonArrayQueryConstructor::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonArrayQueryConstructor.location) } -inline void AlterObjectSchemaStmt::_internal_set_object_type(::pg_query::ObjectType value) { - - _impl_.object_type_ = value; +inline ::int32_t JsonArrayQueryConstructor::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void AlterObjectSchemaStmt::set_object_type(::pg_query::ObjectType value) { - _internal_set_object_type(value); - // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.object_type) +inline void JsonArrayQueryConstructor::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.RangeVar relation = 2 [json_name = "relation"]; -inline bool AlterObjectSchemaStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool AlterObjectSchemaStmt::has_relation() const { - return _internal_has_relation(); +// ------------------------------------------------------------------- + +// JsonAggConstructor + +// .pg_query.JsonOutput output = 1 [json_name = "output"]; +inline bool JsonAggConstructor::has_output() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.output_ != nullptr); + return value; } -inline void AlterObjectSchemaStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void JsonAggConstructor::clear_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.output_ != nullptr) _impl_.output_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& AlterObjectSchemaStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::JsonOutput& JsonAggConstructor::_internal_output() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonOutput* p = _impl_.output_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonOutput_default_instance_); } -inline const ::pg_query::RangeVar& AlterObjectSchemaStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.relation) - return _internal_relation(); +inline const ::pg_query::JsonOutput& JsonAggConstructor::output() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonAggConstructor.output) + return _internal_output(); } -inline void AlterObjectSchemaStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void JsonAggConstructor::unsafe_arena_set_allocated_output(::pg_query::JsonOutput* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.output_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectSchemaStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonAggConstructor.output) } -inline ::pg_query::RangeVar* AlterObjectSchemaStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::JsonOutput* JsonAggConstructor::release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* released = _impl_.output_; + _impl_.output_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* AlterObjectSchemaStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::JsonOutput* JsonAggConstructor::unsafe_arena_release_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonAggConstructor.output) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonOutput* temp = _impl_.output_; + _impl_.output_ = nullptr; return temp; } -inline ::pg_query::RangeVar* AlterObjectSchemaStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::JsonOutput* JsonAggConstructor::_internal_mutable_output() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.output_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonOutput>(GetArena()); + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(p); } - return _impl_.relation_; + return _impl_.output_; } -inline ::pg_query::RangeVar* AlterObjectSchemaStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.relation) +inline ::pg_query::JsonOutput* JsonAggConstructor::mutable_output() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonOutput* _msg = _internal_mutable_output(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonAggConstructor.output) return _msg; } -inline void AlterObjectSchemaStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonAggConstructor::set_allocated_output(::pg_query::JsonOutput* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::JsonOutput*>(_impl_.output_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonOutput*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.relation) -} -// .pg_query.Node object = 3 [json_name = "object"]; -inline bool AlterObjectSchemaStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; + _impl_.output_ = reinterpret_cast<::pg_query::JsonOutput*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonAggConstructor.output) } -inline bool AlterObjectSchemaStmt::has_object() const { - return _internal_has_object(); + +// .pg_query.Node agg_filter = 2 [json_name = "agg_filter"]; +inline bool JsonAggConstructor::has_agg_filter() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.agg_filter_ != nullptr); + return value; } -inline void AlterObjectSchemaStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void JsonAggConstructor::clear_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.agg_filter_ != nullptr) _impl_.agg_filter_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& AlterObjectSchemaStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& JsonAggConstructor::_internal_agg_filter() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.agg_filter_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& AlterObjectSchemaStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.object) - return _internal_object(); +inline const ::pg_query::Node& JsonAggConstructor::agg_filter() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonAggConstructor.agg_filter) + return _internal_agg_filter(); } -inline void AlterObjectSchemaStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void JsonAggConstructor::unsafe_arena_set_allocated_agg_filter(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.agg_filter_); } - _impl_.object_ = object; - if (object) { - + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectSchemaStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonAggConstructor.agg_filter) } -inline ::pg_query::Node* AlterObjectSchemaStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* JsonAggConstructor::release_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterObjectSchemaStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* JsonAggConstructor::unsafe_arena_release_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonAggConstructor.agg_filter) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.agg_filter_; + _impl_.agg_filter_ = nullptr; return temp; } -inline ::pg_query::Node* AlterObjectSchemaStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::Node* JsonAggConstructor::_internal_mutable_agg_filter() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.agg_filter_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.object_; + return _impl_.agg_filter_; } -inline ::pg_query::Node* AlterObjectSchemaStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.object) +inline ::pg_query::Node* JsonAggConstructor::mutable_agg_filter() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_agg_filter(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonAggConstructor.agg_filter) return _msg; } -inline void AlterObjectSchemaStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonAggConstructor::set_allocated_agg_filter(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.agg_filter_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.object) + + _impl_.agg_filter_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonAggConstructor.agg_filter) } -// string newschema = 4 [json_name = "newschema"]; -inline void AlterObjectSchemaStmt::clear_newschema() { - _impl_.newschema_.ClearToEmpty(); +// repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; +inline int JsonAggConstructor::_internal_agg_order_size() const { + return _internal_agg_order().size(); } -inline const std::string& AlterObjectSchemaStmt::newschema() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.newschema) - return _internal_newschema(); +inline int JsonAggConstructor::agg_order_size() const { + return _internal_agg_order_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterObjectSchemaStmt::set_newschema(ArgT0&& arg0, ArgT... args) { - - _impl_.newschema_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.newschema) +inline void JsonAggConstructor::clear_agg_order() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.agg_order_.Clear(); } -inline std::string* AlterObjectSchemaStmt::mutable_newschema() { - std::string* _s = _internal_mutable_newschema(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.newschema) - return _s; +inline ::pg_query::Node* JsonAggConstructor::mutable_agg_order(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.JsonAggConstructor.agg_order) + return _internal_mutable_agg_order()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* JsonAggConstructor::mutable_agg_order() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.JsonAggConstructor.agg_order) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_agg_order(); +} +inline const ::pg_query::Node& JsonAggConstructor::agg_order(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonAggConstructor.agg_order) + return _internal_agg_order().Get(index); +} +inline ::pg_query::Node* JsonAggConstructor::add_agg_order() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_agg_order()->Add(); + // @@protoc_insertion_point(field_add:pg_query.JsonAggConstructor.agg_order) + return _add; } -inline const std::string& AlterObjectSchemaStmt::_internal_newschema() const { - return _impl_.newschema_.Get(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& JsonAggConstructor::agg_order() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.JsonAggConstructor.agg_order) + return _internal_agg_order(); } -inline void AlterObjectSchemaStmt::_internal_set_newschema(const std::string& value) { - - _impl_.newschema_.Set(value, GetArenaForAllocation()); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +JsonAggConstructor::_internal_agg_order() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.agg_order_; } -inline std::string* AlterObjectSchemaStmt::_internal_mutable_newschema() { - - return _impl_.newschema_.Mutable(GetArenaForAllocation()); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +JsonAggConstructor::_internal_mutable_agg_order() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.agg_order_; } -inline std::string* AlterObjectSchemaStmt::release_newschema() { - // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.newschema) - return _impl_.newschema_.Release(); + +// .pg_query.WindowDef over = 4 [json_name = "over"]; +inline bool JsonAggConstructor::has_over() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.over_ != nullptr); + return value; } -inline void AlterObjectSchemaStmt::set_allocated_newschema(std::string* newschema) { - if (newschema != nullptr) { - - } else { - +inline void JsonAggConstructor::clear_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.over_ != nullptr) _impl_.over_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::WindowDef& JsonAggConstructor::_internal_over() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WindowDef* p = _impl_.over_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WindowDef_default_instance_); +} +inline const ::pg_query::WindowDef& JsonAggConstructor::over() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonAggConstructor.over) + return _internal_over(); +} +inline void JsonAggConstructor::unsafe_arena_set_allocated_over(::pg_query::WindowDef* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.over_); } - _impl_.newschema_.SetAllocated(newschema, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.newschema_.IsDefault()) { - _impl_.newschema_.Set("", GetArenaForAllocation()); + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.newschema) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonAggConstructor.over) } +inline ::pg_query::WindowDef* JsonAggConstructor::release_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool missing_ok = 5 [json_name = "missing_ok"]; -inline void AlterObjectSchemaStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; -} -inline bool AlterObjectSchemaStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WindowDef* released = _impl_.over_; + _impl_.over_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool AlterObjectSchemaStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.missing_ok) - return _internal_missing_ok(); +inline ::pg_query::WindowDef* JsonAggConstructor::unsafe_arena_release_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonAggConstructor.over) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WindowDef* temp = _impl_.over_; + _impl_.over_ = nullptr; + return temp; } -inline void AlterObjectSchemaStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::WindowDef* JsonAggConstructor::_internal_mutable_over() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.over_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WindowDef>(GetArena()); + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(p); + } + return _impl_.over_; } -inline void AlterObjectSchemaStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.missing_ok) +inline ::pg_query::WindowDef* JsonAggConstructor::mutable_over() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WindowDef* _msg = _internal_mutable_over(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonAggConstructor.over) + return _msg; } +inline void JsonAggConstructor::set_allocated_over(::pg_query::WindowDef* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WindowDef*>(_impl_.over_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WindowDef*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } -// AlterOwnerStmt + _impl_.over_ = reinterpret_cast<::pg_query::WindowDef*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonAggConstructor.over) +} -// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; -inline void AlterOwnerStmt::clear_object_type() { - _impl_.object_type_ = 0; +// int32 location = 5 [json_name = "location"]; +inline void JsonAggConstructor::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline ::pg_query::ObjectType AlterOwnerStmt::_internal_object_type() const { - return static_cast< ::pg_query::ObjectType >(_impl_.object_type_); +inline ::int32_t JsonAggConstructor::location() const { + // @@protoc_insertion_point(field_get:pg_query.JsonAggConstructor.location) + return _internal_location(); } -inline ::pg_query::ObjectType AlterOwnerStmt::object_type() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.object_type) - return _internal_object_type(); +inline void JsonAggConstructor::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.JsonAggConstructor.location) } -inline void AlterOwnerStmt::_internal_set_object_type(::pg_query::ObjectType value) { - - _impl_.object_type_ = value; +inline ::int32_t JsonAggConstructor::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void AlterOwnerStmt::set_object_type(::pg_query::ObjectType value) { - _internal_set_object_type(value); - // @@protoc_insertion_point(field_set:pg_query.AlterOwnerStmt.object_type) +inline void JsonAggConstructor::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.RangeVar relation = 2 [json_name = "relation"]; -inline bool AlterOwnerStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool AlterOwnerStmt::has_relation() const { - return _internal_has_relation(); +// ------------------------------------------------------------------- + +// JsonObjectAgg + +// .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; +inline bool JsonObjectAgg::has_constructor() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.constructor_ != nullptr); + return value; } -inline void AlterOwnerStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void JsonObjectAgg::clear_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.constructor_ != nullptr) _impl_.constructor_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& AlterOwnerStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::JsonAggConstructor& JsonObjectAgg::_internal_constructor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonAggConstructor* p = _impl_.constructor_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonAggConstructor_default_instance_); } -inline const ::pg_query::RangeVar& AlterOwnerStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.relation) - return _internal_relation(); +inline const ::pg_query::JsonAggConstructor& JsonObjectAgg::constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectAgg.constructor) + return _internal_constructor(); } -inline void AlterOwnerStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void JsonObjectAgg::unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.constructor_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonObjectAgg.constructor) } -inline ::pg_query::RangeVar* AlterOwnerStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::JsonAggConstructor* JsonObjectAgg::release_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonAggConstructor* released = _impl_.constructor_; + _impl_.constructor_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* AlterOwnerStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::JsonAggConstructor* JsonObjectAgg::unsafe_arena_release_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonObjectAgg.constructor) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonAggConstructor* temp = _impl_.constructor_; + _impl_.constructor_ = nullptr; return temp; } -inline ::pg_query::RangeVar* AlterOwnerStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::JsonAggConstructor* JsonObjectAgg::_internal_mutable_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.constructor_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonAggConstructor>(GetArena()); + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(p); } - return _impl_.relation_; + return _impl_.constructor_; } -inline ::pg_query::RangeVar* AlterOwnerStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.relation) +inline ::pg_query::JsonAggConstructor* JsonObjectAgg::mutable_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonAggConstructor* _msg = _internal_mutable_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonObjectAgg.constructor) return _msg; } -inline void AlterOwnerStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonObjectAgg::set_allocated_constructor(::pg_query::JsonAggConstructor* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::JsonAggConstructor*>(_impl_.constructor_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonAggConstructor*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.relation) -} -// .pg_query.Node object = 3 [json_name = "object"]; -inline bool AlterOwnerStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonObjectAgg.constructor) } -inline bool AlterOwnerStmt::has_object() const { - return _internal_has_object(); + +// .pg_query.JsonKeyValue arg = 2 [json_name = "arg"]; +inline bool JsonObjectAgg::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void AlterOwnerStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void JsonObjectAgg::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& AlterOwnerStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::JsonKeyValue& JsonObjectAgg::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonKeyValue* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonKeyValue_default_instance_); } -inline const ::pg_query::Node& AlterOwnerStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.object) - return _internal_object(); +inline const ::pg_query::JsonKeyValue& JsonObjectAgg::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectAgg.arg) + return _internal_arg(); } -inline void AlterOwnerStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void JsonObjectAgg::unsafe_arena_set_allocated_arg(::pg_query::JsonKeyValue* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.object_ = object; - if (object) { - + _impl_.arg_ = reinterpret_cast<::pg_query::JsonKeyValue*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonObjectAgg.arg) } -inline ::pg_query::Node* AlterOwnerStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::JsonKeyValue* JsonObjectAgg::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonKeyValue* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterOwnerStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::JsonKeyValue* JsonObjectAgg::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonObjectAgg.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonKeyValue* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::Node* AlterOwnerStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::JsonKeyValue* JsonObjectAgg::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonKeyValue>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::JsonKeyValue*>(p); } - return _impl_.object_; + return _impl_.arg_; } -inline ::pg_query::Node* AlterOwnerStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.object) +inline ::pg_query::JsonKeyValue* JsonObjectAgg::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonKeyValue* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonObjectAgg.arg) return _msg; } -inline void AlterOwnerStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonObjectAgg::set_allocated_arg(::pg_query::JsonKeyValue* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::JsonKeyValue*>(_impl_.arg_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonKeyValue*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.object) + + _impl_.arg_ = reinterpret_cast<::pg_query::JsonKeyValue*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonObjectAgg.arg) } -// .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; -inline bool AlterOwnerStmt::_internal_has_newowner() const { - return this != internal_default_instance() && _impl_.newowner_ != nullptr; +// bool absent_on_null = 3 [json_name = "absent_on_null"]; +inline void JsonObjectAgg::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; } -inline bool AlterOwnerStmt::has_newowner() const { - return _internal_has_newowner(); +inline bool JsonObjectAgg::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectAgg.absent_on_null) + return _internal_absent_on_null(); } -inline void AlterOwnerStmt::clear_newowner() { - if (GetArenaForAllocation() == nullptr && _impl_.newowner_ != nullptr) { - delete _impl_.newowner_; - } - _impl_.newowner_ = nullptr; +inline void JsonObjectAgg::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonObjectAgg.absent_on_null) } -inline const ::pg_query::RoleSpec& AlterOwnerStmt::_internal_newowner() const { - const ::pg_query::RoleSpec* p = _impl_.newowner_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline bool JsonObjectAgg::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; } -inline const ::pg_query::RoleSpec& AlterOwnerStmt::newowner() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.newowner) - return _internal_newowner(); +inline void JsonObjectAgg::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; +} + +// bool unique = 4 [json_name = "unique"]; +inline void JsonObjectAgg::clear_unique() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_ = false; +} +inline bool JsonObjectAgg::unique() const { + // @@protoc_insertion_point(field_get:pg_query.JsonObjectAgg.unique) + return _internal_unique(); +} +inline void JsonObjectAgg::set_unique(bool value) { + _internal_set_unique(value); + // @@protoc_insertion_point(field_set:pg_query.JsonObjectAgg.unique) +} +inline bool JsonObjectAgg::_internal_unique() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_; +} +inline void JsonObjectAgg::_internal_set_unique(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_ = value; +} + +// ------------------------------------------------------------------- + +// JsonArrayAgg + +// .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"]; +inline bool JsonArrayAgg::has_constructor() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.constructor_ != nullptr); + return value; +} +inline void JsonArrayAgg::clear_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.constructor_ != nullptr) _impl_.constructor_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void AlterOwnerStmt::unsafe_arena_set_allocated_newowner( - ::pg_query::RoleSpec* newowner) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.newowner_); +inline const ::pg_query::JsonAggConstructor& JsonArrayAgg::_internal_constructor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonAggConstructor* p = _impl_.constructor_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonAggConstructor_default_instance_); +} +inline const ::pg_query::JsonAggConstructor& JsonArrayAgg::constructor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayAgg.constructor) + return _internal_constructor(); +} +inline void JsonArrayAgg::unsafe_arena_set_allocated_constructor(::pg_query::JsonAggConstructor* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.constructor_); } - _impl_.newowner_ = newowner; - if (newowner) { - + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.newowner) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayAgg.constructor) } -inline ::pg_query::RoleSpec* AlterOwnerStmt::release_newowner() { - - ::pg_query::RoleSpec* temp = _impl_.newowner_; - _impl_.newowner_ = nullptr; +inline ::pg_query::JsonAggConstructor* JsonArrayAgg::release_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonAggConstructor* released = _impl_.constructor_; + _impl_.constructor_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* AlterOwnerStmt::unsafe_arena_release_newowner() { - // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.newowner) - - ::pg_query::RoleSpec* temp = _impl_.newowner_; - _impl_.newowner_ = nullptr; +inline ::pg_query::JsonAggConstructor* JsonArrayAgg::unsafe_arena_release_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayAgg.constructor) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::JsonAggConstructor* temp = _impl_.constructor_; + _impl_.constructor_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* AlterOwnerStmt::_internal_mutable_newowner() { - - if (_impl_.newowner_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.newowner_ = p; +inline ::pg_query::JsonAggConstructor* JsonArrayAgg::_internal_mutable_constructor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.constructor_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonAggConstructor>(GetArena()); + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(p); } - return _impl_.newowner_; + return _impl_.constructor_; } -inline ::pg_query::RoleSpec* AlterOwnerStmt::mutable_newowner() { - ::pg_query::RoleSpec* _msg = _internal_mutable_newowner(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.newowner) +inline ::pg_query::JsonAggConstructor* JsonArrayAgg::mutable_constructor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonAggConstructor* _msg = _internal_mutable_constructor(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayAgg.constructor) return _msg; } -inline void AlterOwnerStmt::set_allocated_newowner(::pg_query::RoleSpec* newowner) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonArrayAgg::set_allocated_constructor(::pg_query::JsonAggConstructor* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.newowner_; + delete reinterpret_cast<::pg_query::JsonAggConstructor*>(_impl_.constructor_); } - if (newowner) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(newowner); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonAggConstructor*>(value)->GetArena(); if (message_arena != submessage_arena) { - newowner = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, newowner, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.newowner_ = newowner; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.newowner) -} - -// ------------------------------------------------------------------- -// AlterOperatorStmt - -// .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"]; -inline bool AlterOperatorStmt::_internal_has_opername() const { - return this != internal_default_instance() && _impl_.opername_ != nullptr; + _impl_.constructor_ = reinterpret_cast<::pg_query::JsonAggConstructor*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayAgg.constructor) } -inline bool AlterOperatorStmt::has_opername() const { - return _internal_has_opername(); + +// .pg_query.JsonValueExpr arg = 2 [json_name = "arg"]; +inline bool JsonArrayAgg::has_arg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_ != nullptr); + return value; } -inline void AlterOperatorStmt::clear_opername() { - if (GetArenaForAllocation() == nullptr && _impl_.opername_ != nullptr) { - delete _impl_.opername_; - } - _impl_.opername_ = nullptr; +inline void JsonArrayAgg::clear_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_ != nullptr) _impl_.arg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::ObjectWithArgs& AlterOperatorStmt::_internal_opername() const { - const ::pg_query::ObjectWithArgs* p = _impl_.opername_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline const ::pg_query::JsonValueExpr& JsonArrayAgg::_internal_arg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::JsonValueExpr* p = _impl_.arg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_JsonValueExpr_default_instance_); } -inline const ::pg_query::ObjectWithArgs& AlterOperatorStmt::opername() const { - // @@protoc_insertion_point(field_get:pg_query.AlterOperatorStmt.opername) - return _internal_opername(); +inline const ::pg_query::JsonValueExpr& JsonArrayAgg::arg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayAgg.arg) + return _internal_arg(); } -inline void AlterOperatorStmt::unsafe_arena_set_allocated_opername( - ::pg_query::ObjectWithArgs* opername) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.opername_); +inline void JsonArrayAgg::unsafe_arena_set_allocated_arg(::pg_query::JsonValueExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_); } - _impl_.opername_ = opername; - if (opername) { - + _impl_.arg_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOperatorStmt.opername) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.JsonArrayAgg.arg) } -inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::release_opername() { - - ::pg_query::ObjectWithArgs* temp = _impl_.opername_; - _impl_.opername_ = nullptr; +inline ::pg_query::JsonValueExpr* JsonArrayAgg::release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* released = _impl_.arg_; + _impl_.arg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::unsafe_arena_release_opername() { - // @@protoc_insertion_point(field_release:pg_query.AlterOperatorStmt.opername) - - ::pg_query::ObjectWithArgs* temp = _impl_.opername_; - _impl_.opername_ = nullptr; +inline ::pg_query::JsonValueExpr* JsonArrayAgg::unsafe_arena_release_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.JsonArrayAgg.arg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::JsonValueExpr* temp = _impl_.arg_; + _impl_.arg_ = nullptr; return temp; } -inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::_internal_mutable_opername() { - - if (_impl_.opername_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.opername_ = p; +inline ::pg_query::JsonValueExpr* JsonArrayAgg::_internal_mutable_arg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.arg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::JsonValueExpr>(GetArena()); + _impl_.arg_ = reinterpret_cast<::pg_query::JsonValueExpr*>(p); } - return _impl_.opername_; + return _impl_.arg_; } -inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::mutable_opername() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_opername(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterOperatorStmt.opername) +inline ::pg_query::JsonValueExpr* JsonArrayAgg::mutable_arg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::JsonValueExpr* _msg = _internal_mutable_arg(); + // @@protoc_insertion_point(field_mutable:pg_query.JsonArrayAgg.arg) return _msg; } -inline void AlterOperatorStmt::set_allocated_opername(::pg_query::ObjectWithArgs* opername) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void JsonArrayAgg::set_allocated_arg(::pg_query::JsonValueExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.opername_; + delete reinterpret_cast<::pg_query::JsonValueExpr*>(_impl_.arg_); } - if (opername) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(opername); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::JsonValueExpr*>(value)->GetArena(); if (message_arena != submessage_arena) { - opername = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, opername, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.opername_ = opername; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOperatorStmt.opername) -} -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterOperatorStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int AlterOperatorStmt::options_size() const { - return _internal_options_size(); -} -inline void AlterOperatorStmt::clear_options() { - _impl_.options_.Clear(); -} -inline ::pg_query::Node* AlterOperatorStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterOperatorStmt.options) - return _impl_.options_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterOperatorStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOperatorStmt.options) - return &_impl_.options_; + _impl_.arg_ = reinterpret_cast<::pg_query::JsonValueExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.JsonArrayAgg.arg) } -inline const ::pg_query::Node& AlterOperatorStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool absent_on_null = 3 [json_name = "absent_on_null"]; +inline void JsonArrayAgg::clear_absent_on_null() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.absent_on_null_ = false; } -inline const ::pg_query::Node& AlterOperatorStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterOperatorStmt.options) - return _internal_options(index); +inline bool JsonArrayAgg::absent_on_null() const { + // @@protoc_insertion_point(field_get:pg_query.JsonArrayAgg.absent_on_null) + return _internal_absent_on_null(); } -inline ::pg_query::Node* AlterOperatorStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void JsonArrayAgg::set_absent_on_null(bool value) { + _internal_set_absent_on_null(value); + // @@protoc_insertion_point(field_set:pg_query.JsonArrayAgg.absent_on_null) } -inline ::pg_query::Node* AlterOperatorStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterOperatorStmt.options) - return _add; +inline bool JsonArrayAgg::_internal_absent_on_null() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.absent_on_null_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterOperatorStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterOperatorStmt.options) - return _impl_.options_; +inline void JsonArrayAgg::_internal_set_absent_on_null(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.absent_on_null_ = value; } // ------------------------------------------------------------------- -// AlterTypeStmt +// RawStmt -// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; -inline int AlterTypeStmt::_internal_type_name_size() const { - return _impl_.type_name_.size(); +// .pg_query.Node stmt = 1 [json_name = "stmt"]; +inline bool RawStmt::has_stmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.stmt_ != nullptr); + return value; } -inline int AlterTypeStmt::type_name_size() const { - return _internal_type_name_size(); +inline void RawStmt::clear_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.stmt_ != nullptr) _impl_.stmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void AlterTypeStmt::clear_type_name() { - _impl_.type_name_.Clear(); +inline const ::pg_query::Node& RawStmt::_internal_stmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.stmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* AlterTypeStmt::mutable_type_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTypeStmt.type_name) - return _impl_.type_name_.Mutable(index); +inline const ::pg_query::Node& RawStmt::stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt) + return _internal_stmt(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTypeStmt::mutable_type_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTypeStmt.type_name) - return &_impl_.type_name_; +inline void RawStmt::unsafe_arena_set_allocated_stmt(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stmt_); + } + _impl_.stmt_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RawStmt.stmt) } -inline const ::pg_query::Node& AlterTypeStmt::_internal_type_name(int index) const { - return _impl_.type_name_.Get(index); +inline ::pg_query::Node* RawStmt::release_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.stmt_; + _impl_.stmt_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& AlterTypeStmt::type_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTypeStmt.type_name) - return _internal_type_name(index); +inline ::pg_query::Node* RawStmt::unsafe_arena_release_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RawStmt.stmt) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.stmt_; + _impl_.stmt_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterTypeStmt::_internal_add_type_name() { - return _impl_.type_name_.Add(); +inline ::pg_query::Node* RawStmt::_internal_mutable_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.stmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.stmt_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.stmt_; } -inline ::pg_query::Node* AlterTypeStmt::add_type_name() { - ::pg_query::Node* _add = _internal_add_type_name(); - // @@protoc_insertion_point(field_add:pg_query.AlterTypeStmt.type_name) - return _add; +inline ::pg_query::Node* RawStmt::mutable_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.RawStmt.stmt) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTypeStmt::type_name() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTypeStmt.type_name) - return _impl_.type_name_; +inline void RawStmt::set_allocated_stmt(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.stmt_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.stmt_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RawStmt.stmt) } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterTypeStmt::_internal_options_size() const { - return _impl_.options_.size(); +// int32 stmt_location = 2 [json_name = "stmt_location"]; +inline void RawStmt::clear_stmt_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_location_ = 0; } -inline int AlterTypeStmt::options_size() const { - return _internal_options_size(); +inline ::int32_t RawStmt::stmt_location() const { + // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt_location) + return _internal_stmt_location(); } -inline void AlterTypeStmt::clear_options() { - _impl_.options_.Clear(); +inline void RawStmt::set_stmt_location(::int32_t value) { + _internal_set_stmt_location(value); + // @@protoc_insertion_point(field_set:pg_query.RawStmt.stmt_location) } -inline ::pg_query::Node* AlterTypeStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTypeStmt.options) - return _impl_.options_.Mutable(index); +inline ::int32_t RawStmt::_internal_stmt_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_location_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTypeStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTypeStmt.options) - return &_impl_.options_; +inline void RawStmt::_internal_set_stmt_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stmt_location_ = value; } -inline const ::pg_query::Node& AlterTypeStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// int32 stmt_len = 3 [json_name = "stmt_len"]; +inline void RawStmt::clear_stmt_len() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_len_ = 0; } -inline const ::pg_query::Node& AlterTypeStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTypeStmt.options) - return _internal_options(index); +inline ::int32_t RawStmt::stmt_len() const { + // @@protoc_insertion_point(field_get:pg_query.RawStmt.stmt_len) + return _internal_stmt_len(); } -inline ::pg_query::Node* AlterTypeStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void RawStmt::set_stmt_len(::int32_t value) { + _internal_set_stmt_len(value); + // @@protoc_insertion_point(field_set:pg_query.RawStmt.stmt_len) } -inline ::pg_query::Node* AlterTypeStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterTypeStmt.options) - return _add; +inline ::int32_t RawStmt::_internal_stmt_len() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stmt_len_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTypeStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTypeStmt.options) - return _impl_.options_; +inline void RawStmt::_internal_set_stmt_len(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stmt_len_ = value; } // ------------------------------------------------------------------- -// DropOwnedStmt +// InsertStmt -// repeated .pg_query.Node roles = 1 [json_name = "roles"]; -inline int DropOwnedStmt::_internal_roles_size() const { - return _impl_.roles_.size(); -} -inline int DropOwnedStmt::roles_size() const { - return _internal_roles_size(); -} -inline void DropOwnedStmt::clear_roles() { - _impl_.roles_.Clear(); -} -inline ::pg_query::Node* DropOwnedStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.DropOwnedStmt.roles) - return _impl_.roles_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -DropOwnedStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.DropOwnedStmt.roles) - return &_impl_.roles_; -} -inline const ::pg_query::Node& DropOwnedStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool InsertStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const ::pg_query::Node& DropOwnedStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.DropOwnedStmt.roles) - return _internal_roles(index); +inline void InsertStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* DropOwnedStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline const ::pg_query::RangeVar& InsertStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::pg_query::Node* DropOwnedStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.DropOwnedStmt.roles) - return _add; +inline const ::pg_query::RangeVar& InsertStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.relation) + return _internal_relation(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -DropOwnedStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.DropOwnedStmt.roles) - return _impl_.roles_; +inline void InsertStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.relation) } +inline ::pg_query::RangeVar* InsertStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.DropBehavior behavior = 2 [json_name = "behavior"]; -inline void DropOwnedStmt::clear_behavior() { - _impl_.behavior_ = 0; -} -inline ::pg_query::DropBehavior DropOwnedStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::DropBehavior DropOwnedStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.DropOwnedStmt.behavior) - return _internal_behavior(); +inline ::pg_query::RangeVar* InsertStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InsertStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline void DropOwnedStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline ::pg_query::RangeVar* InsertStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void DropOwnedStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.DropOwnedStmt.behavior) +inline ::pg_query::RangeVar* InsertStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.relation) + return _msg; } +inline void InsertStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// ReassignOwnedStmt + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.relation) +} -// repeated .pg_query.Node roles = 1 [json_name = "roles"]; -inline int ReassignOwnedStmt::_internal_roles_size() const { - return _impl_.roles_.size(); +// repeated .pg_query.Node cols = 2 [json_name = "cols"]; +inline int InsertStmt::_internal_cols_size() const { + return _internal_cols().size(); } -inline int ReassignOwnedStmt::roles_size() const { - return _internal_roles_size(); +inline int InsertStmt::cols_size() const { + return _internal_cols_size(); } -inline void ReassignOwnedStmt::clear_roles() { - _impl_.roles_.Clear(); +inline void InsertStmt::clear_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cols_.Clear(); } -inline ::pg_query::Node* ReassignOwnedStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ReassignOwnedStmt.roles) - return _impl_.roles_.Mutable(index); +inline ::pg_query::Node* InsertStmt::mutable_cols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.cols) + return _internal_mutable_cols()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ReassignOwnedStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ReassignOwnedStmt.roles) - return &_impl_.roles_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* InsertStmt::mutable_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.InsertStmt.cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cols(); } -inline const ::pg_query::Node& ReassignOwnedStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); +inline const ::pg_query::Node& InsertStmt::cols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.cols) + return _internal_cols().Get(index); } -inline const ::pg_query::Node& ReassignOwnedStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ReassignOwnedStmt.roles) - return _internal_roles(index); +inline ::pg_query::Node* InsertStmt::add_cols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.InsertStmt.cols) + return _add; } -inline ::pg_query::Node* ReassignOwnedStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& InsertStmt::cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.InsertStmt.cols) + return _internal_cols(); } -inline ::pg_query::Node* ReassignOwnedStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.ReassignOwnedStmt.roles) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +InsertStmt::_internal_cols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cols_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ReassignOwnedStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.ReassignOwnedStmt.roles) - return _impl_.roles_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +InsertStmt::_internal_mutable_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cols_; } -// .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; -inline bool ReassignOwnedStmt::_internal_has_newrole() const { - return this != internal_default_instance() && _impl_.newrole_ != nullptr; -} -inline bool ReassignOwnedStmt::has_newrole() const { - return _internal_has_newrole(); +// .pg_query.Node select_stmt = 3 [json_name = "selectStmt"]; +inline bool InsertStmt::has_select_stmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.select_stmt_ != nullptr); + return value; } -inline void ReassignOwnedStmt::clear_newrole() { - if (GetArenaForAllocation() == nullptr && _impl_.newrole_ != nullptr) { - delete _impl_.newrole_; - } - _impl_.newrole_ = nullptr; +inline void InsertStmt::clear_select_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.select_stmt_ != nullptr) _impl_.select_stmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RoleSpec& ReassignOwnedStmt::_internal_newrole() const { - const ::pg_query::RoleSpec* p = _impl_.newrole_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::Node& InsertStmt::_internal_select_stmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.select_stmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RoleSpec& ReassignOwnedStmt::newrole() const { - // @@protoc_insertion_point(field_get:pg_query.ReassignOwnedStmt.newrole) - return _internal_newrole(); +inline const ::pg_query::Node& InsertStmt::select_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.select_stmt) + return _internal_select_stmt(); } -inline void ReassignOwnedStmt::unsafe_arena_set_allocated_newrole( - ::pg_query::RoleSpec* newrole) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.newrole_); +inline void InsertStmt::unsafe_arena_set_allocated_select_stmt(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.select_stmt_); } - _impl_.newrole_ = newrole; - if (newrole) { - + _impl_.select_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReassignOwnedStmt.newrole) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.select_stmt) } -inline ::pg_query::RoleSpec* ReassignOwnedStmt::release_newrole() { - - ::pg_query::RoleSpec* temp = _impl_.newrole_; - _impl_.newrole_ = nullptr; +inline ::pg_query::Node* InsertStmt::release_select_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.select_stmt_; + _impl_.select_stmt_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* ReassignOwnedStmt::unsafe_arena_release_newrole() { - // @@protoc_insertion_point(field_release:pg_query.ReassignOwnedStmt.newrole) - - ::pg_query::RoleSpec* temp = _impl_.newrole_; - _impl_.newrole_ = nullptr; +inline ::pg_query::Node* InsertStmt::unsafe_arena_release_select_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InsertStmt.select_stmt) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.select_stmt_; + _impl_.select_stmt_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* ReassignOwnedStmt::_internal_mutable_newrole() { - - if (_impl_.newrole_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.newrole_ = p; +inline ::pg_query::Node* InsertStmt::_internal_mutable_select_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.select_stmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.select_stmt_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.newrole_; + return _impl_.select_stmt_; } -inline ::pg_query::RoleSpec* ReassignOwnedStmt::mutable_newrole() { - ::pg_query::RoleSpec* _msg = _internal_mutable_newrole(); - // @@protoc_insertion_point(field_mutable:pg_query.ReassignOwnedStmt.newrole) +inline ::pg_query::Node* InsertStmt::mutable_select_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_select_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.select_stmt) return _msg; } -inline void ReassignOwnedStmt::set_allocated_newrole(::pg_query::RoleSpec* newrole) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void InsertStmt::set_allocated_select_stmt(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.newrole_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.select_stmt_); } - if (newrole) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(newrole); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - newrole = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, newrole, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.newrole_ = newrole; - // @@protoc_insertion_point(field_set_allocated:pg_query.ReassignOwnedStmt.newrole) -} -// ------------------------------------------------------------------- - -// CompositeTypeStmt - -// .pg_query.RangeVar typevar = 1 [json_name = "typevar"]; -inline bool CompositeTypeStmt::_internal_has_typevar() const { - return this != internal_default_instance() && _impl_.typevar_ != nullptr; + _impl_.select_stmt_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.select_stmt) } -inline bool CompositeTypeStmt::has_typevar() const { - return _internal_has_typevar(); + +// .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"]; +inline bool InsertStmt::has_on_conflict_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.on_conflict_clause_ != nullptr); + return value; } -inline void CompositeTypeStmt::clear_typevar() { - if (GetArenaForAllocation() == nullptr && _impl_.typevar_ != nullptr) { - delete _impl_.typevar_; - } - _impl_.typevar_ = nullptr; +inline void InsertStmt::clear_on_conflict_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.on_conflict_clause_ != nullptr) _impl_.on_conflict_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::RangeVar& CompositeTypeStmt::_internal_typevar() const { - const ::pg_query::RangeVar* p = _impl_.typevar_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::OnConflictClause& InsertStmt::_internal_on_conflict_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::OnConflictClause* p = _impl_.on_conflict_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_OnConflictClause_default_instance_); } -inline const ::pg_query::RangeVar& CompositeTypeStmt::typevar() const { - // @@protoc_insertion_point(field_get:pg_query.CompositeTypeStmt.typevar) - return _internal_typevar(); +inline const ::pg_query::OnConflictClause& InsertStmt::on_conflict_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.on_conflict_clause) + return _internal_on_conflict_clause(); } -inline void CompositeTypeStmt::unsafe_arena_set_allocated_typevar( - ::pg_query::RangeVar* typevar) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.typevar_); +inline void InsertStmt::unsafe_arena_set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.on_conflict_clause_); } - _impl_.typevar_ = typevar; - if (typevar) { - + _impl_.on_conflict_clause_ = reinterpret_cast<::pg_query::OnConflictClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CompositeTypeStmt.typevar) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.on_conflict_clause) } -inline ::pg_query::RangeVar* CompositeTypeStmt::release_typevar() { - - ::pg_query::RangeVar* temp = _impl_.typevar_; - _impl_.typevar_ = nullptr; +inline ::pg_query::OnConflictClause* InsertStmt::release_on_conflict_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::OnConflictClause* released = _impl_.on_conflict_clause_; + _impl_.on_conflict_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* CompositeTypeStmt::unsafe_arena_release_typevar() { - // @@protoc_insertion_point(field_release:pg_query.CompositeTypeStmt.typevar) - - ::pg_query::RangeVar* temp = _impl_.typevar_; - _impl_.typevar_ = nullptr; +inline ::pg_query::OnConflictClause* InsertStmt::unsafe_arena_release_on_conflict_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InsertStmt.on_conflict_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::OnConflictClause* temp = _impl_.on_conflict_clause_; + _impl_.on_conflict_clause_ = nullptr; return temp; } -inline ::pg_query::RangeVar* CompositeTypeStmt::_internal_mutable_typevar() { - - if (_impl_.typevar_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.typevar_ = p; +inline ::pg_query::OnConflictClause* InsertStmt::_internal_mutable_on_conflict_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.on_conflict_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::OnConflictClause>(GetArena()); + _impl_.on_conflict_clause_ = reinterpret_cast<::pg_query::OnConflictClause*>(p); } - return _impl_.typevar_; + return _impl_.on_conflict_clause_; } -inline ::pg_query::RangeVar* CompositeTypeStmt::mutable_typevar() { - ::pg_query::RangeVar* _msg = _internal_mutable_typevar(); - // @@protoc_insertion_point(field_mutable:pg_query.CompositeTypeStmt.typevar) +inline ::pg_query::OnConflictClause* InsertStmt::mutable_on_conflict_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::OnConflictClause* _msg = _internal_mutable_on_conflict_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.on_conflict_clause) return _msg; } -inline void CompositeTypeStmt::set_allocated_typevar(::pg_query::RangeVar* typevar) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void InsertStmt::set_allocated_on_conflict_clause(::pg_query::OnConflictClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.typevar_; + delete reinterpret_cast<::pg_query::OnConflictClause*>(_impl_.on_conflict_clause_); } - if (typevar) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(typevar); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::OnConflictClause*>(value)->GetArena(); if (message_arena != submessage_arena) { - typevar = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, typevar, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.typevar_ = typevar; - // @@protoc_insertion_point(field_set_allocated:pg_query.CompositeTypeStmt.typevar) -} -// repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"]; -inline int CompositeTypeStmt::_internal_coldeflist_size() const { - return _impl_.coldeflist_.size(); -} -inline int CompositeTypeStmt::coldeflist_size() const { - return _internal_coldeflist_size(); -} -inline void CompositeTypeStmt::clear_coldeflist() { - _impl_.coldeflist_.Clear(); -} -inline ::pg_query::Node* CompositeTypeStmt::mutable_coldeflist(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CompositeTypeStmt.coldeflist) - return _impl_.coldeflist_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CompositeTypeStmt::mutable_coldeflist() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CompositeTypeStmt.coldeflist) - return &_impl_.coldeflist_; -} -inline const ::pg_query::Node& CompositeTypeStmt::_internal_coldeflist(int index) const { - return _impl_.coldeflist_.Get(index); -} -inline const ::pg_query::Node& CompositeTypeStmt::coldeflist(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CompositeTypeStmt.coldeflist) - return _internal_coldeflist(index); -} -inline ::pg_query::Node* CompositeTypeStmt::_internal_add_coldeflist() { - return _impl_.coldeflist_.Add(); -} -inline ::pg_query::Node* CompositeTypeStmt::add_coldeflist() { - ::pg_query::Node* _add = _internal_add_coldeflist(); - // @@protoc_insertion_point(field_add:pg_query.CompositeTypeStmt.coldeflist) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CompositeTypeStmt::coldeflist() const { - // @@protoc_insertion_point(field_list:pg_query.CompositeTypeStmt.coldeflist) - return _impl_.coldeflist_; + _impl_.on_conflict_clause_ = reinterpret_cast<::pg_query::OnConflictClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.on_conflict_clause) } -// ------------------------------------------------------------------- - -// CreateEnumStmt - -// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; -inline int CreateEnumStmt::_internal_type_name_size() const { - return _impl_.type_name_.size(); +// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; +inline int InsertStmt::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline int CreateEnumStmt::type_name_size() const { - return _internal_type_name_size(); +inline int InsertStmt::returning_list_size() const { + return _internal_returning_list_size(); } -inline void CreateEnumStmt::clear_type_name() { - _impl_.type_name_.Clear(); +inline void InsertStmt::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); } -inline ::pg_query::Node* CreateEnumStmt::mutable_type_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateEnumStmt.type_name) - return _impl_.type_name_.Mutable(index); +inline ::pg_query::Node* InsertStmt::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.returning_list) + return _internal_mutable_returning_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateEnumStmt::mutable_type_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEnumStmt.type_name) - return &_impl_.type_name_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* InsertStmt::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.InsertStmt.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); } -inline const ::pg_query::Node& CreateEnumStmt::_internal_type_name(int index) const { - return _impl_.type_name_.Get(index); +inline const ::pg_query::Node& InsertStmt::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.returning_list) + return _internal_returning_list().Get(index); } -inline const ::pg_query::Node& CreateEnumStmt::type_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateEnumStmt.type_name) - return _internal_type_name(index); +inline ::pg_query::Node* InsertStmt::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.InsertStmt.returning_list) + return _add; } -inline ::pg_query::Node* CreateEnumStmt::_internal_add_type_name() { - return _impl_.type_name_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& InsertStmt::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.InsertStmt.returning_list) + return _internal_returning_list(); } -inline ::pg_query::Node* CreateEnumStmt::add_type_name() { - ::pg_query::Node* _add = _internal_add_type_name(); - // @@protoc_insertion_point(field_add:pg_query.CreateEnumStmt.type_name) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +InsertStmt::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateEnumStmt::type_name() const { - // @@protoc_insertion_point(field_list:pg_query.CreateEnumStmt.type_name) - return _impl_.type_name_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +InsertStmt::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; } -// repeated .pg_query.Node vals = 2 [json_name = "vals"]; -inline int CreateEnumStmt::_internal_vals_size() const { - return _impl_.vals_.size(); -} -inline int CreateEnumStmt::vals_size() const { - return _internal_vals_size(); +// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; +inline bool InsertStmt::has_with_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); + return value; } -inline void CreateEnumStmt::clear_vals() { - _impl_.vals_.Clear(); +inline void InsertStmt::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_clause_ != nullptr) _impl_.with_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline ::pg_query::Node* CreateEnumStmt::mutable_vals(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateEnumStmt.vals) - return _impl_.vals_.Mutable(index); +inline const ::pg_query::WithClause& InsertStmt::_internal_with_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WithClause* p = _impl_.with_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WithClause_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateEnumStmt::mutable_vals() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEnumStmt.vals) - return &_impl_.vals_; +inline const ::pg_query::WithClause& InsertStmt::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.with_clause) + return _internal_with_clause(); } -inline const ::pg_query::Node& CreateEnumStmt::_internal_vals(int index) const { - return _impl_.vals_.Get(index); +inline void InsertStmt::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_clause_); + } + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InsertStmt.with_clause) } -inline const ::pg_query::Node& CreateEnumStmt::vals(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateEnumStmt.vals) - return _internal_vals(index); +inline ::pg_query::WithClause* InsertStmt::release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::WithClause* released = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* CreateEnumStmt::_internal_add_vals() { - return _impl_.vals_.Add(); +inline ::pg_query::WithClause* InsertStmt::unsafe_arena_release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InsertStmt.with_clause) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::WithClause* temp = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; + return temp; } -inline ::pg_query::Node* CreateEnumStmt::add_vals() { - ::pg_query::Node* _add = _internal_add_vals(); - // @@protoc_insertion_point(field_add:pg_query.CreateEnumStmt.vals) - return _add; +inline ::pg_query::WithClause* InsertStmt::_internal_mutable_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.with_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(p); + } + return _impl_.with_clause_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateEnumStmt::vals() const { - // @@protoc_insertion_point(field_list:pg_query.CreateEnumStmt.vals) - return _impl_.vals_; +inline ::pg_query::WithClause* InsertStmt::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.InsertStmt.with_clause) + return _msg; } +inline void InsertStmt::set_allocated_with_clause(::pg_query::WithClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WithClause*>(_impl_.with_clause_); + } -// ------------------------------------------------------------------- - -// CreateRangeStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WithClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } -// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; -inline int CreateRangeStmt::_internal_type_name_size() const { - return _impl_.type_name_.size(); -} -inline int CreateRangeStmt::type_name_size() const { - return _internal_type_name_size(); -} -inline void CreateRangeStmt::clear_type_name() { - _impl_.type_name_.Clear(); -} -inline ::pg_query::Node* CreateRangeStmt::mutable_type_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateRangeStmt.type_name) - return _impl_.type_name_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateRangeStmt::mutable_type_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRangeStmt.type_name) - return &_impl_.type_name_; -} -inline const ::pg_query::Node& CreateRangeStmt::_internal_type_name(int index) const { - return _impl_.type_name_.Get(index); -} -inline const ::pg_query::Node& CreateRangeStmt::type_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateRangeStmt.type_name) - return _internal_type_name(index); -} -inline ::pg_query::Node* CreateRangeStmt::_internal_add_type_name() { - return _impl_.type_name_.Add(); -} -inline ::pg_query::Node* CreateRangeStmt::add_type_name() { - ::pg_query::Node* _add = _internal_add_type_name(); - // @@protoc_insertion_point(field_add:pg_query.CreateRangeStmt.type_name) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateRangeStmt::type_name() const { - // @@protoc_insertion_point(field_list:pg_query.CreateRangeStmt.type_name) - return _impl_.type_name_; + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.InsertStmt.with_clause) } -// repeated .pg_query.Node params = 2 [json_name = "params"]; -inline int CreateRangeStmt::_internal_params_size() const { - return _impl_.params_.size(); -} -inline int CreateRangeStmt::params_size() const { - return _internal_params_size(); -} -inline void CreateRangeStmt::clear_params() { - _impl_.params_.Clear(); -} -inline ::pg_query::Node* CreateRangeStmt::mutable_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateRangeStmt.params) - return _impl_.params_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateRangeStmt::mutable_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRangeStmt.params) - return &_impl_.params_; -} -inline const ::pg_query::Node& CreateRangeStmt::_internal_params(int index) const { - return _impl_.params_.Get(index); +// .pg_query.OverridingKind override = 7 [json_name = "override"]; +inline void InsertStmt::clear_override() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.override_ = 0; } -inline const ::pg_query::Node& CreateRangeStmt::params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateRangeStmt.params) - return _internal_params(index); +inline ::pg_query::OverridingKind InsertStmt::override() const { + // @@protoc_insertion_point(field_get:pg_query.InsertStmt.override) + return _internal_override(); } -inline ::pg_query::Node* CreateRangeStmt::_internal_add_params() { - return _impl_.params_.Add(); +inline void InsertStmt::set_override(::pg_query::OverridingKind value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.InsertStmt.override) } -inline ::pg_query::Node* CreateRangeStmt::add_params() { - ::pg_query::Node* _add = _internal_add_params(); - // @@protoc_insertion_point(field_add:pg_query.CreateRangeStmt.params) - return _add; +inline ::pg_query::OverridingKind InsertStmt::_internal_override() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OverridingKind>(_impl_.override_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateRangeStmt::params() const { - // @@protoc_insertion_point(field_list:pg_query.CreateRangeStmt.params) - return _impl_.params_; +inline void InsertStmt::_internal_set_override(::pg_query::OverridingKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; } // ------------------------------------------------------------------- -// AlterEnumStmt - -// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; -inline int AlterEnumStmt::_internal_type_name_size() const { - return _impl_.type_name_.size(); -} -inline int AlterEnumStmt::type_name_size() const { - return _internal_type_name_size(); -} -inline void AlterEnumStmt::clear_type_name() { - _impl_.type_name_.Clear(); -} -inline ::pg_query::Node* AlterEnumStmt::mutable_type_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.type_name) - return _impl_.type_name_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterEnumStmt::mutable_type_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterEnumStmt.type_name) - return &_impl_.type_name_; -} -inline const ::pg_query::Node& AlterEnumStmt::_internal_type_name(int index) const { - return _impl_.type_name_.Get(index); -} -inline const ::pg_query::Node& AlterEnumStmt::type_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.type_name) - return _internal_type_name(index); -} -inline ::pg_query::Node* AlterEnumStmt::_internal_add_type_name() { - return _impl_.type_name_.Add(); -} -inline ::pg_query::Node* AlterEnumStmt::add_type_name() { - ::pg_query::Node* _add = _internal_add_type_name(); - // @@protoc_insertion_point(field_add:pg_query.AlterEnumStmt.type_name) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterEnumStmt::type_name() const { - // @@protoc_insertion_point(field_list:pg_query.AlterEnumStmt.type_name) - return _impl_.type_name_; -} +// DeleteStmt -// string old_val = 2 [json_name = "oldVal"]; -inline void AlterEnumStmt::clear_old_val() { - _impl_.old_val_.ClearToEmpty(); -} -inline const std::string& AlterEnumStmt::old_val() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.old_val) - return _internal_old_val(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlterEnumStmt::set_old_val(ArgT0&& arg0, ArgT... args) { - - _impl_.old_val_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.old_val) -} -inline std::string* AlterEnumStmt::mutable_old_val() { - std::string* _s = _internal_mutable_old_val(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.old_val) - return _s; -} -inline const std::string& AlterEnumStmt::_internal_old_val() const { - return _impl_.old_val_.Get(); +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool DeleteStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void AlterEnumStmt::_internal_set_old_val(const std::string& value) { - - _impl_.old_val_.Set(value, GetArenaForAllocation()); +inline void DeleteStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* AlterEnumStmt::_internal_mutable_old_val() { - - return _impl_.old_val_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::RangeVar& DeleteStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline std::string* AlterEnumStmt::release_old_val() { - // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.old_val) - return _impl_.old_val_.Release(); +inline const ::pg_query::RangeVar& DeleteStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.relation) + return _internal_relation(); } -inline void AlterEnumStmt::set_allocated_old_val(std::string* old_val) { - if (old_val != nullptr) { - - } else { - +inline void DeleteStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.old_val_.SetAllocated(old_val, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.old_val_.IsDefault()) { - _impl_.old_val_.Set("", GetArenaForAllocation()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.old_val) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.relation) } +inline ::pg_query::RangeVar* DeleteStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string new_val = 3 [json_name = "newVal"]; -inline void AlterEnumStmt::clear_new_val() { - _impl_.new_val_.ClearToEmpty(); -} -inline const std::string& AlterEnumStmt::new_val() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val) - return _internal_new_val(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlterEnumStmt::set_new_val(ArgT0&& arg0, ArgT... args) { - - _impl_.new_val_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val) -} -inline std::string* AlterEnumStmt::mutable_new_val() { - std::string* _s = _internal_mutable_new_val(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.new_val) - return _s; -} -inline const std::string& AlterEnumStmt::_internal_new_val() const { - return _impl_.new_val_.Get(); -} -inline void AlterEnumStmt::_internal_set_new_val(const std::string& value) { - - _impl_.new_val_.Set(value, GetArenaForAllocation()); -} -inline std::string* AlterEnumStmt::_internal_mutable_new_val() { - - return _impl_.new_val_.Mutable(GetArenaForAllocation()); -} -inline std::string* AlterEnumStmt::release_new_val() { - // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.new_val) - return _impl_.new_val_.Release(); -} -inline void AlterEnumStmt::set_allocated_new_val(std::string* new_val) { - if (new_val != nullptr) { - - } else { - + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.new_val_.SetAllocated(new_val, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.new_val_.IsDefault()) { - _impl_.new_val_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.new_val) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::RangeVar* DeleteStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.relation) -// string new_val_neighbor = 4 [json_name = "newValNeighbor"]; -inline void AlterEnumStmt::clear_new_val_neighbor() { - _impl_.new_val_neighbor_.ClearToEmpty(); -} -inline const std::string& AlterEnumStmt::new_val_neighbor() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val_neighbor) - return _internal_new_val_neighbor(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlterEnumStmt::set_new_val_neighbor(ArgT0&& arg0, ArgT... args) { - - _impl_.new_val_neighbor_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val_neighbor) -} -inline std::string* AlterEnumStmt::mutable_new_val_neighbor() { - std::string* _s = _internal_mutable_new_val_neighbor(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.new_val_neighbor) - return _s; -} -inline const std::string& AlterEnumStmt::_internal_new_val_neighbor() const { - return _impl_.new_val_neighbor_.Get(); -} -inline void AlterEnumStmt::_internal_set_new_val_neighbor(const std::string& value) { - - _impl_.new_val_neighbor_.Set(value, GetArenaForAllocation()); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline std::string* AlterEnumStmt::_internal_mutable_new_val_neighbor() { - - return _impl_.new_val_neighbor_.Mutable(GetArenaForAllocation()); +inline ::pg_query::RangeVar* DeleteStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline std::string* AlterEnumStmt::release_new_val_neighbor() { - // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.new_val_neighbor) - return _impl_.new_val_neighbor_.Release(); +inline ::pg_query::RangeVar* DeleteStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.relation) + return _msg; } -inline void AlterEnumStmt::set_allocated_new_val_neighbor(std::string* new_val_neighbor) { - if (new_val_neighbor != nullptr) { - - } else { - - } - _impl_.new_val_neighbor_.SetAllocated(new_val_neighbor, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.new_val_neighbor_.IsDefault()) { - _impl_.new_val_neighbor_.Set("", GetArenaForAllocation()); +inline void DeleteStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.new_val_neighbor) -} -// bool new_val_is_after = 5 [json_name = "newValIsAfter"]; -inline void AlterEnumStmt::clear_new_val_is_after() { - _impl_.new_val_is_after_ = false; -} -inline bool AlterEnumStmt::_internal_new_val_is_after() const { - return _impl_.new_val_is_after_; -} -inline bool AlterEnumStmt::new_val_is_after() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val_is_after) - return _internal_new_val_is_after(); -} -inline void AlterEnumStmt::_internal_set_new_val_is_after(bool value) { - - _impl_.new_val_is_after_ = value; -} -inline void AlterEnumStmt::set_new_val_is_after(bool value) { - _internal_set_new_val_is_after(value); - // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val_is_after) -} + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"]; -inline void AlterEnumStmt::clear_skip_if_new_val_exists() { - _impl_.skip_if_new_val_exists_ = false; -} -inline bool AlterEnumStmt::_internal_skip_if_new_val_exists() const { - return _impl_.skip_if_new_val_exists_; -} -inline bool AlterEnumStmt::skip_if_new_val_exists() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.skip_if_new_val_exists) - return _internal_skip_if_new_val_exists(); -} -inline void AlterEnumStmt::_internal_set_skip_if_new_val_exists(bool value) { - - _impl_.skip_if_new_val_exists_ = value; -} -inline void AlterEnumStmt::set_skip_if_new_val_exists(bool value) { - _internal_set_skip_if_new_val_exists(value); - // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.skip_if_new_val_exists) + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.relation) } -// ------------------------------------------------------------------- - -// AlterTSDictionaryStmt - -// repeated .pg_query.Node dictname = 1 [json_name = "dictname"]; -inline int AlterTSDictionaryStmt::_internal_dictname_size() const { - return _impl_.dictname_.size(); -} -inline int AlterTSDictionaryStmt::dictname_size() const { - return _internal_dictname_size(); -} -inline void AlterTSDictionaryStmt::clear_dictname() { - _impl_.dictname_.Clear(); +// repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"]; +inline int DeleteStmt::_internal_using_clause_size() const { + return _internal_using_clause().size(); } -inline ::pg_query::Node* AlterTSDictionaryStmt::mutable_dictname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTSDictionaryStmt.dictname) - return _impl_.dictname_.Mutable(index); +inline int DeleteStmt::using_clause_size() const { + return _internal_using_clause_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTSDictionaryStmt::mutable_dictname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSDictionaryStmt.dictname) - return &_impl_.dictname_; +inline void DeleteStmt::clear_using_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.using_clause_.Clear(); } -inline const ::pg_query::Node& AlterTSDictionaryStmt::_internal_dictname(int index) const { - return _impl_.dictname_.Get(index); +inline ::pg_query::Node* DeleteStmt::mutable_using_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.using_clause) + return _internal_mutable_using_clause()->Mutable(index); } -inline const ::pg_query::Node& AlterTSDictionaryStmt::dictname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSDictionaryStmt.dictname) - return _internal_dictname(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DeleteStmt::mutable_using_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DeleteStmt.using_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_using_clause(); } -inline ::pg_query::Node* AlterTSDictionaryStmt::_internal_add_dictname() { - return _impl_.dictname_.Add(); +inline const ::pg_query::Node& DeleteStmt::using_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.using_clause) + return _internal_using_clause().Get(index); } -inline ::pg_query::Node* AlterTSDictionaryStmt::add_dictname() { - ::pg_query::Node* _add = _internal_add_dictname(); - // @@protoc_insertion_point(field_add:pg_query.AlterTSDictionaryStmt.dictname) +inline ::pg_query::Node* DeleteStmt::add_using_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_using_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DeleteStmt.using_clause) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTSDictionaryStmt::dictname() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTSDictionaryStmt.dictname) - return _impl_.dictname_; -} - -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterTSDictionaryStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int AlterTSDictionaryStmt::options_size() const { - return _internal_options_size(); -} -inline void AlterTSDictionaryStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DeleteStmt::using_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DeleteStmt.using_clause) + return _internal_using_clause(); } -inline ::pg_query::Node* AlterTSDictionaryStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTSDictionaryStmt.options) - return _impl_.options_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DeleteStmt::_internal_using_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.using_clause_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTSDictionaryStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSDictionaryStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DeleteStmt::_internal_mutable_using_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.using_clause_; } -inline const ::pg_query::Node& AlterTSDictionaryStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; +inline bool DeleteStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline const ::pg_query::Node& AlterTSDictionaryStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSDictionaryStmt.options) - return _internal_options(index); +inline void DeleteStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* AlterTSDictionaryStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::Node& DeleteStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* AlterTSDictionaryStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterTSDictionaryStmt.options) - return _add; +inline const ::pg_query::Node& DeleteStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.where_clause) + return _internal_where_clause(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTSDictionaryStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTSDictionaryStmt.options) - return _impl_.options_; +inline void DeleteStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + } + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.where_clause) } +inline ::pg_query::Node* DeleteStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// AlterTSConfigurationStmt - -// .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"]; -inline void AlterTSConfigurationStmt::clear_kind() { - _impl_.kind_ = 0; + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::AlterTSConfigType AlterTSConfigurationStmt::_internal_kind() const { - return static_cast< ::pg_query::AlterTSConfigType >(_impl_.kind_); +inline ::pg_query::Node* DeleteStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; + return temp; } -inline ::pg_query::AlterTSConfigType AlterTSConfigurationStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.kind) - return _internal_kind(); +inline ::pg_query::Node* DeleteStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.where_clause_; } -inline void AlterTSConfigurationStmt::_internal_set_kind(::pg_query::AlterTSConfigType value) { - - _impl_.kind_ = value; +inline ::pg_query::Node* DeleteStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.where_clause) + return _msg; } -inline void AlterTSConfigurationStmt::set_kind(::pg_query::AlterTSConfigType value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.kind) +inline void DeleteStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.where_clause) } -// repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"]; -inline int AlterTSConfigurationStmt::_internal_cfgname_size() const { - return _impl_.cfgname_.size(); +// repeated .pg_query.Node returning_list = 4 [json_name = "returningList"]; +inline int DeleteStmt::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline int AlterTSConfigurationStmt::cfgname_size() const { - return _internal_cfgname_size(); +inline int DeleteStmt::returning_list_size() const { + return _internal_returning_list_size(); } -inline void AlterTSConfigurationStmt::clear_cfgname() { - _impl_.cfgname_.Clear(); +inline void DeleteStmt::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); } -inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_cfgname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.cfgname) - return _impl_.cfgname_.Mutable(index); +inline ::pg_query::Node* DeleteStmt::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.returning_list) + return _internal_mutable_returning_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTSConfigurationStmt::mutable_cfgname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.cfgname) - return &_impl_.cfgname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DeleteStmt::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DeleteStmt.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); } -inline const ::pg_query::Node& AlterTSConfigurationStmt::_internal_cfgname(int index) const { - return _impl_.cfgname_.Get(index); +inline const ::pg_query::Node& DeleteStmt::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.returning_list) + return _internal_returning_list().Get(index); } -inline const ::pg_query::Node& AlterTSConfigurationStmt::cfgname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.cfgname) - return _internal_cfgname(index); +inline ::pg_query::Node* DeleteStmt::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DeleteStmt.returning_list) + return _add; } -inline ::pg_query::Node* AlterTSConfigurationStmt::_internal_add_cfgname() { - return _impl_.cfgname_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DeleteStmt::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DeleteStmt.returning_list) + return _internal_returning_list(); } -inline ::pg_query::Node* AlterTSConfigurationStmt::add_cfgname() { - ::pg_query::Node* _add = _internal_add_cfgname(); - // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.cfgname) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DeleteStmt::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTSConfigurationStmt::cfgname() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.cfgname) - return _impl_.cfgname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DeleteStmt::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; } -// repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"]; -inline int AlterTSConfigurationStmt::_internal_tokentype_size() const { - return _impl_.tokentype_.size(); +// .pg_query.WithClause with_clause = 5 [json_name = "withClause"]; +inline bool DeleteStmt::has_with_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); + return value; } -inline int AlterTSConfigurationStmt::tokentype_size() const { - return _internal_tokentype_size(); +inline void DeleteStmt::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_clause_ != nullptr) _impl_.with_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline void AlterTSConfigurationStmt::clear_tokentype() { - _impl_.tokentype_.Clear(); +inline const ::pg_query::WithClause& DeleteStmt::_internal_with_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WithClause* p = _impl_.with_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WithClause_default_instance_); } -inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_tokentype(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.tokentype) - return _impl_.tokentype_.Mutable(index); +inline const ::pg_query::WithClause& DeleteStmt::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeleteStmt.with_clause) + return _internal_with_clause(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTSConfigurationStmt::mutable_tokentype() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.tokentype) - return &_impl_.tokentype_; +inline void DeleteStmt::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_clause_); + } + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeleteStmt.with_clause) } -inline const ::pg_query::Node& AlterTSConfigurationStmt::_internal_tokentype(int index) const { - return _impl_.tokentype_.Get(index); +inline ::pg_query::WithClause* DeleteStmt::release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WithClause* released = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& AlterTSConfigurationStmt::tokentype(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.tokentype) - return _internal_tokentype(index); +inline ::pg_query::WithClause* DeleteStmt::unsafe_arena_release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeleteStmt.with_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WithClause* temp = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterTSConfigurationStmt::_internal_add_tokentype() { - return _impl_.tokentype_.Add(); +inline ::pg_query::WithClause* DeleteStmt::_internal_mutable_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.with_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(p); + } + return _impl_.with_clause_; } -inline ::pg_query::Node* AlterTSConfigurationStmt::add_tokentype() { - ::pg_query::Node* _add = _internal_add_tokentype(); - // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.tokentype) - return _add; +inline ::pg_query::WithClause* DeleteStmt::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.DeleteStmt.with_clause) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTSConfigurationStmt::tokentype() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.tokentype) - return _impl_.tokentype_; +inline void DeleteStmt::set_allocated_with_clause(::pg_query::WithClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WithClause*>(_impl_.with_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WithClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DeleteStmt.with_clause) } -// repeated .pg_query.Node dicts = 4 [json_name = "dicts"]; -inline int AlterTSConfigurationStmt::_internal_dicts_size() const { - return _impl_.dicts_.size(); +// ------------------------------------------------------------------- + +// UpdateStmt + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool UpdateStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline int AlterTSConfigurationStmt::dicts_size() const { - return _internal_dicts_size(); +inline void UpdateStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void AlterTSConfigurationStmt::clear_dicts() { - _impl_.dicts_.Clear(); +inline const ::pg_query::RangeVar& UpdateStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_dicts(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.dicts) - return _impl_.dicts_.Mutable(index); +inline const ::pg_query::RangeVar& UpdateStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.relation) + return _internal_relation(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTSConfigurationStmt::mutable_dicts() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.dicts) - return &_impl_.dicts_; +inline void UpdateStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.relation) } -inline const ::pg_query::Node& AlterTSConfigurationStmt::_internal_dicts(int index) const { - return _impl_.dicts_.Get(index); +inline ::pg_query::RangeVar* UpdateStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& AlterTSConfigurationStmt::dicts(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.dicts) - return _internal_dicts(index); +inline ::pg_query::RangeVar* UpdateStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterTSConfigurationStmt::_internal_add_dicts() { - return _impl_.dicts_.Add(); +inline ::pg_query::RangeVar* UpdateStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline ::pg_query::Node* AlterTSConfigurationStmt::add_dicts() { - ::pg_query::Node* _add = _internal_add_dicts(); - // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.dicts) - return _add; +inline ::pg_query::RangeVar* UpdateStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.relation) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTSConfigurationStmt::dicts() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.dicts) - return _impl_.dicts_; +inline void UpdateStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.relation) } -// bool override = 5 [json_name = "override"]; -inline void AlterTSConfigurationStmt::clear_override() { - _impl_.override_ = false; +// repeated .pg_query.Node target_list = 2 [json_name = "targetList"]; +inline int UpdateStmt::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline bool AlterTSConfigurationStmt::_internal_override() const { - return _impl_.override_; +inline int UpdateStmt::target_list_size() const { + return _internal_target_list_size(); } -inline bool AlterTSConfigurationStmt::override() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.override) - return _internal_override(); +inline void UpdateStmt::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline void AlterTSConfigurationStmt::_internal_set_override(bool value) { - - _impl_.override_ = value; +inline ::pg_query::Node* UpdateStmt::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline void AlterTSConfigurationStmt::set_override(bool value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.override) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* UpdateStmt::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } - -// bool replace = 6 [json_name = "replace"]; -inline void AlterTSConfigurationStmt::clear_replace() { - _impl_.replace_ = false; +inline const ::pg_query::Node& UpdateStmt::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.target_list) + return _internal_target_list().Get(index); } -inline bool AlterTSConfigurationStmt::_internal_replace() const { - return _impl_.replace_; +inline ::pg_query::Node* UpdateStmt::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.target_list) + return _add; } -inline bool AlterTSConfigurationStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.replace) - return _internal_replace(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& UpdateStmt::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.target_list) + return _internal_target_list(); } -inline void AlterTSConfigurationStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +UpdateStmt::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; } -inline void AlterTSConfigurationStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.replace) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +UpdateStmt::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// bool missing_ok = 7 [json_name = "missing_ok"]; -inline void AlterTSConfigurationStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; +inline bool UpdateStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline bool AlterTSConfigurationStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline void UpdateStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool AlterTSConfigurationStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.missing_ok) - return _internal_missing_ok(); +inline const ::pg_query::Node& UpdateStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void AlterTSConfigurationStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline const ::pg_query::Node& UpdateStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.where_clause) + return _internal_where_clause(); } -inline void AlterTSConfigurationStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.missing_ok) +inline void UpdateStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + } + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.where_clause) } +inline ::pg_query::Node* UpdateStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// CreateFdwStmt - -// string fdwname = 1 [json_name = "fdwname"]; -inline void CreateFdwStmt::clear_fdwname() { - _impl_.fdwname_.ClearToEmpty(); -} -inline const std::string& CreateFdwStmt::fdwname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.fdwname) - return _internal_fdwname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateFdwStmt::set_fdwname(ArgT0&& arg0, ArgT... args) { - - _impl_.fdwname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateFdwStmt.fdwname) -} -inline std::string* CreateFdwStmt::mutable_fdwname() { - std::string* _s = _internal_mutable_fdwname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.fdwname) - return _s; -} -inline const std::string& CreateFdwStmt::_internal_fdwname() const { - return _impl_.fdwname_.Get(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CreateFdwStmt::_internal_set_fdwname(const std::string& value) { - - _impl_.fdwname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* UpdateStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; + return temp; } -inline std::string* CreateFdwStmt::_internal_mutable_fdwname() { - - return _impl_.fdwname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* UpdateStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.where_clause_; } -inline std::string* CreateFdwStmt::release_fdwname() { - // @@protoc_insertion_point(field_release:pg_query.CreateFdwStmt.fdwname) - return _impl_.fdwname_.Release(); +inline ::pg_query::Node* UpdateStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.where_clause) + return _msg; } -inline void CreateFdwStmt::set_allocated_fdwname(std::string* fdwname) { - if (fdwname != nullptr) { - - } else { - +inline void UpdateStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - _impl_.fdwname_.SetAllocated(fdwname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fdwname_.IsDefault()) { - _impl_.fdwname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFdwStmt.fdwname) -} -// repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; -inline int CreateFdwStmt::_internal_func_options_size() const { - return _impl_.func_options_.size(); -} -inline int CreateFdwStmt::func_options_size() const { - return _internal_func_options_size(); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.where_clause) } -inline void CreateFdwStmt::clear_func_options() { - _impl_.func_options_.Clear(); + +// repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; +inline int UpdateStmt::_internal_from_clause_size() const { + return _internal_from_clause().size(); } -inline ::pg_query::Node* CreateFdwStmt::mutable_func_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.func_options) - return _impl_.func_options_.Mutable(index); +inline int UpdateStmt::from_clause_size() const { + return _internal_from_clause_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateFdwStmt::mutable_func_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFdwStmt.func_options) - return &_impl_.func_options_; +inline void UpdateStmt::clear_from_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.from_clause_.Clear(); } -inline const ::pg_query::Node& CreateFdwStmt::_internal_func_options(int index) const { - return _impl_.func_options_.Get(index); +inline ::pg_query::Node* UpdateStmt::mutable_from_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.from_clause) + return _internal_mutable_from_clause()->Mutable(index); } -inline const ::pg_query::Node& CreateFdwStmt::func_options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.func_options) - return _internal_func_options(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* UpdateStmt::mutable_from_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.from_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_from_clause(); } -inline ::pg_query::Node* CreateFdwStmt::_internal_add_func_options() { - return _impl_.func_options_.Add(); +inline const ::pg_query::Node& UpdateStmt::from_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.from_clause) + return _internal_from_clause().Get(index); } -inline ::pg_query::Node* CreateFdwStmt::add_func_options() { - ::pg_query::Node* _add = _internal_add_func_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateFdwStmt.func_options) +inline ::pg_query::Node* UpdateStmt::add_from_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_from_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.from_clause) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateFdwStmt::func_options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateFdwStmt.func_options) - return _impl_.func_options_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& UpdateStmt::from_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.from_clause) + return _internal_from_clause(); } - -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int CreateFdwStmt::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +UpdateStmt::_internal_from_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.from_clause_; } -inline int CreateFdwStmt::options_size() const { - return _internal_options_size(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +UpdateStmt::_internal_mutable_from_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.from_clause_; } -inline void CreateFdwStmt::clear_options() { - _impl_.options_.Clear(); + +// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; +inline int UpdateStmt::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline ::pg_query::Node* CreateFdwStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.options) - return _impl_.options_.Mutable(index); +inline int UpdateStmt::returning_list_size() const { + return _internal_returning_list_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateFdwStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFdwStmt.options) - return &_impl_.options_; +inline void UpdateStmt::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); } -inline const ::pg_query::Node& CreateFdwStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline ::pg_query::Node* UpdateStmt::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.returning_list) + return _internal_mutable_returning_list()->Mutable(index); } -inline const ::pg_query::Node& CreateFdwStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.options) - return _internal_options(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* UpdateStmt::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.UpdateStmt.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); } -inline ::pg_query::Node* CreateFdwStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::Node& UpdateStmt::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.returning_list) + return _internal_returning_list().Get(index); } -inline ::pg_query::Node* CreateFdwStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateFdwStmt.options) +inline ::pg_query::Node* UpdateStmt::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.UpdateStmt.returning_list) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateFdwStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateFdwStmt.options) - return _impl_.options_; -} - -// ------------------------------------------------------------------- - -// AlterFdwStmt - -// string fdwname = 1 [json_name = "fdwname"]; -inline void AlterFdwStmt::clear_fdwname() { - _impl_.fdwname_.ClearToEmpty(); -} -inline const std::string& AlterFdwStmt::fdwname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.fdwname) - return _internal_fdwname(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& UpdateStmt::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.UpdateStmt.returning_list) + return _internal_returning_list(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterFdwStmt::set_fdwname(ArgT0&& arg0, ArgT... args) { - - _impl_.fdwname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterFdwStmt.fdwname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +UpdateStmt::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; } -inline std::string* AlterFdwStmt::mutable_fdwname() { - std::string* _s = _internal_mutable_fdwname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.fdwname) - return _s; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +UpdateStmt::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; } -inline const std::string& AlterFdwStmt::_internal_fdwname() const { - return _impl_.fdwname_.Get(); + +// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; +inline bool UpdateStmt::has_with_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); + return value; } -inline void AlterFdwStmt::_internal_set_fdwname(const std::string& value) { - - _impl_.fdwname_.Set(value, GetArenaForAllocation()); +inline void UpdateStmt::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_clause_ != nullptr) _impl_.with_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline std::string* AlterFdwStmt::_internal_mutable_fdwname() { - - return _impl_.fdwname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::WithClause& UpdateStmt::_internal_with_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WithClause* p = _impl_.with_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WithClause_default_instance_); } -inline std::string* AlterFdwStmt::release_fdwname() { - // @@protoc_insertion_point(field_release:pg_query.AlterFdwStmt.fdwname) - return _impl_.fdwname_.Release(); +inline const ::pg_query::WithClause& UpdateStmt::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UpdateStmt.with_clause) + return _internal_with_clause(); } -inline void AlterFdwStmt::set_allocated_fdwname(std::string* fdwname) { - if (fdwname != nullptr) { - - } else { - +inline void UpdateStmt::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_clause_); } - _impl_.fdwname_.SetAllocated(fdwname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fdwname_.IsDefault()) { - _impl_.fdwname_.Set("", GetArenaForAllocation()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterFdwStmt.fdwname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.UpdateStmt.with_clause) } +inline ::pg_query::WithClause* UpdateStmt::release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; -inline int AlterFdwStmt::_internal_func_options_size() const { - return _impl_.func_options_.size(); -} -inline int AlterFdwStmt::func_options_size() const { - return _internal_func_options_size(); -} -inline void AlterFdwStmt::clear_func_options() { - _impl_.func_options_.Clear(); -} -inline ::pg_query::Node* AlterFdwStmt::mutable_func_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.func_options) - return _impl_.func_options_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterFdwStmt::mutable_func_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFdwStmt.func_options) - return &_impl_.func_options_; -} -inline const ::pg_query::Node& AlterFdwStmt::_internal_func_options(int index) const { - return _impl_.func_options_.Get(index); -} -inline const ::pg_query::Node& AlterFdwStmt::func_options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.func_options) - return _internal_func_options(index); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WithClause* released = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* AlterFdwStmt::_internal_add_func_options() { - return _impl_.func_options_.Add(); +inline ::pg_query::WithClause* UpdateStmt::unsafe_arena_release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.UpdateStmt.with_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::WithClause* temp = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterFdwStmt::add_func_options() { - ::pg_query::Node* _add = _internal_add_func_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterFdwStmt.func_options) - return _add; +inline ::pg_query::WithClause* UpdateStmt::_internal_mutable_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.with_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(p); + } + return _impl_.with_clause_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterFdwStmt::func_options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterFdwStmt.func_options) - return _impl_.func_options_; +inline ::pg_query::WithClause* UpdateStmt::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.UpdateStmt.with_clause) + return _msg; } +inline void UpdateStmt::set_allocated_with_clause(::pg_query::WithClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WithClause*>(_impl_.with_clause_); + } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int AlterFdwStmt::_internal_options_size() const { - return _impl_.options_.size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WithClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.UpdateStmt.with_clause) } -inline int AlterFdwStmt::options_size() const { - return _internal_options_size(); + +// ------------------------------------------------------------------- + +// MergeStmt + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool MergeStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void AlterFdwStmt::clear_options() { - _impl_.options_.Clear(); +inline void MergeStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* AlterFdwStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.options) - return _impl_.options_.Mutable(index); +inline const ::pg_query::RangeVar& MergeStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterFdwStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFdwStmt.options) - return &_impl_.options_; +inline const ::pg_query::RangeVar& MergeStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.relation) + return _internal_relation(); } -inline const ::pg_query::Node& AlterFdwStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline void MergeStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.relation) } -inline const ::pg_query::Node& AlterFdwStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.options) - return _internal_options(index); +inline ::pg_query::RangeVar* MergeStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* AlterFdwStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline ::pg_query::RangeVar* MergeStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterFdwStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterFdwStmt.options) - return _add; +inline ::pg_query::RangeVar* MergeStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterFdwStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterFdwStmt.options) - return _impl_.options_; +inline ::pg_query::RangeVar* MergeStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.relation) + return _msg; } +inline void MergeStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// CreateForeignServerStmt + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.relation) +} -// string servername = 1 [json_name = "servername"]; -inline void CreateForeignServerStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); +// .pg_query.Node source_relation = 2 [json_name = "sourceRelation"]; +inline bool MergeStmt::has_source_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.source_relation_ != nullptr); + return value; } -inline const std::string& CreateForeignServerStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.servername) - return _internal_servername(); +inline void MergeStmt::clear_source_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.source_relation_ != nullptr) _impl_.source_relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateForeignServerStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.servername) +inline const ::pg_query::Node& MergeStmt::_internal_source_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.source_relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* CreateForeignServerStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.servername) - return _s; +inline const ::pg_query::Node& MergeStmt::source_relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.source_relation) + return _internal_source_relation(); } -inline const std::string& CreateForeignServerStmt::_internal_servername() const { - return _impl_.servername_.Get(); +inline void MergeStmt::unsafe_arena_set_allocated_source_relation(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_relation_); + } + _impl_.source_relation_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.source_relation) } -inline void CreateForeignServerStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* MergeStmt::release_source_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.source_relation_; + _impl_.source_relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* CreateForeignServerStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* MergeStmt::unsafe_arena_release_source_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeStmt.source_relation) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.source_relation_; + _impl_.source_relation_ = nullptr; + return temp; } -inline std::string* CreateForeignServerStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.servername) - return _impl_.servername_.Release(); +inline ::pg_query::Node* MergeStmt::_internal_mutable_source_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.source_relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.source_relation_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.source_relation_; +} +inline ::pg_query::Node* MergeStmt::mutable_source_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_source_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.source_relation) + return _msg; } -inline void CreateForeignServerStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - +inline void MergeStmt::set_allocated_source_relation(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.source_relation_); } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.servername) -} -// string servertype = 2 [json_name = "servertype"]; -inline void CreateForeignServerStmt::clear_servertype() { - _impl_.servertype_.ClearToEmpty(); -} -inline const std::string& CreateForeignServerStmt::servertype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.servertype) - return _internal_servertype(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateForeignServerStmt::set_servertype(ArgT0&& arg0, ArgT... args) { - - _impl_.servertype_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.servertype) -} -inline std::string* CreateForeignServerStmt::mutable_servertype() { - std::string* _s = _internal_mutable_servertype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.servertype) - return _s; + _impl_.source_relation_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.source_relation) } -inline const std::string& CreateForeignServerStmt::_internal_servertype() const { - return _impl_.servertype_.Get(); + +// .pg_query.Node join_condition = 3 [json_name = "joinCondition"]; +inline bool MergeStmt::has_join_condition() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.join_condition_ != nullptr); + return value; } -inline void CreateForeignServerStmt::_internal_set_servertype(const std::string& value) { - - _impl_.servertype_.Set(value, GetArenaForAllocation()); +inline void MergeStmt::clear_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.join_condition_ != nullptr) _impl_.join_condition_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline std::string* CreateForeignServerStmt::_internal_mutable_servertype() { - - return _impl_.servertype_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::Node& MergeStmt::_internal_join_condition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.join_condition_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* CreateForeignServerStmt::release_servertype() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.servertype) - return _impl_.servertype_.Release(); +inline const ::pg_query::Node& MergeStmt::join_condition() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.join_condition) + return _internal_join_condition(); } -inline void CreateForeignServerStmt::set_allocated_servertype(std::string* servertype) { - if (servertype != nullptr) { - - } else { - +inline void MergeStmt::unsafe_arena_set_allocated_join_condition(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.join_condition_); } - _impl_.servertype_.SetAllocated(servertype, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servertype_.IsDefault()) { - _impl_.servertype_.Set("", GetArenaForAllocation()); + _impl_.join_condition_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.servertype) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.join_condition) } +inline ::pg_query::Node* MergeStmt::release_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string version = 3 [json_name = "version"]; -inline void CreateForeignServerStmt::clear_version() { - _impl_.version_.ClearToEmpty(); -} -inline const std::string& CreateForeignServerStmt::version() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.version) - return _internal_version(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateForeignServerStmt::set_version(ArgT0&& arg0, ArgT... args) { - - _impl_.version_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.version) -} -inline std::string* CreateForeignServerStmt::mutable_version() { - std::string* _s = _internal_mutable_version(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.version) - return _s; -} -inline const std::string& CreateForeignServerStmt::_internal_version() const { - return _impl_.version_.Get(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.join_condition_; + _impl_.join_condition_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void CreateForeignServerStmt::_internal_set_version(const std::string& value) { - - _impl_.version_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* MergeStmt::unsafe_arena_release_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeStmt.join_condition) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.join_condition_; + _impl_.join_condition_ = nullptr; + return temp; } -inline std::string* CreateForeignServerStmt::_internal_mutable_version() { - - return _impl_.version_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* MergeStmt::_internal_mutable_join_condition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.join_condition_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.join_condition_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.join_condition_; } -inline std::string* CreateForeignServerStmt::release_version() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.version) - return _impl_.version_.Release(); +inline ::pg_query::Node* MergeStmt::mutable_join_condition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_join_condition(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.join_condition) + return _msg; } -inline void CreateForeignServerStmt::set_allocated_version(std::string* version) { - if (version != nullptr) { - - } else { - +inline void MergeStmt::set_allocated_join_condition(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.join_condition_); } - _impl_.version_.SetAllocated(version, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.version_.IsDefault()) { - _impl_.version_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.version) + + _impl_.join_condition_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.join_condition) } -// string fdwname = 4 [json_name = "fdwname"]; -inline void CreateForeignServerStmt::clear_fdwname() { - _impl_.fdwname_.ClearToEmpty(); +// repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"]; +inline int MergeStmt::_internal_merge_when_clauses_size() const { + return _internal_merge_when_clauses().size(); } -inline const std::string& CreateForeignServerStmt::fdwname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.fdwname) - return _internal_fdwname(); +inline int MergeStmt::merge_when_clauses_size() const { + return _internal_merge_when_clauses_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateForeignServerStmt::set_fdwname(ArgT0&& arg0, ArgT... args) { - - _impl_.fdwname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.fdwname) +inline void MergeStmt::clear_merge_when_clauses() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.merge_when_clauses_.Clear(); } -inline std::string* CreateForeignServerStmt::mutable_fdwname() { - std::string* _s = _internal_mutable_fdwname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.fdwname) - return _s; +inline ::pg_query::Node* MergeStmt::mutable_merge_when_clauses(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.merge_when_clauses) + return _internal_mutable_merge_when_clauses()->Mutable(index); } -inline const std::string& CreateForeignServerStmt::_internal_fdwname() const { - return _impl_.fdwname_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeStmt::mutable_merge_when_clauses() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeStmt.merge_when_clauses) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_merge_when_clauses(); } -inline void CreateForeignServerStmt::_internal_set_fdwname(const std::string& value) { - - _impl_.fdwname_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& MergeStmt::merge_when_clauses(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.merge_when_clauses) + return _internal_merge_when_clauses().Get(index); } -inline std::string* CreateForeignServerStmt::_internal_mutable_fdwname() { - - return _impl_.fdwname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* MergeStmt::add_merge_when_clauses() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_merge_when_clauses()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeStmt.merge_when_clauses) + return _add; } -inline std::string* CreateForeignServerStmt::release_fdwname() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.fdwname) - return _impl_.fdwname_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeStmt::merge_when_clauses() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeStmt.merge_when_clauses) + return _internal_merge_when_clauses(); } -inline void CreateForeignServerStmt::set_allocated_fdwname(std::string* fdwname) { - if (fdwname != nullptr) { - - } else { - - } - _impl_.fdwname_.SetAllocated(fdwname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fdwname_.IsDefault()) { - _impl_.fdwname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.fdwname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeStmt::_internal_merge_when_clauses() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.merge_when_clauses_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeStmt::_internal_mutable_merge_when_clauses() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.merge_when_clauses_; } -// bool if_not_exists = 5 [json_name = "if_not_exists"]; -inline void CreateForeignServerStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// repeated .pg_query.Node returning_list = 5 [json_name = "returningList"]; +inline int MergeStmt::_internal_returning_list_size() const { + return _internal_returning_list().size(); } -inline bool CreateForeignServerStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline int MergeStmt::returning_list_size() const { + return _internal_returning_list_size(); } -inline bool CreateForeignServerStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.if_not_exists) - return _internal_if_not_exists(); +inline void MergeStmt::clear_returning_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.returning_list_.Clear(); } -inline void CreateForeignServerStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::Node* MergeStmt::mutable_returning_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.returning_list) + return _internal_mutable_returning_list()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* MergeStmt::mutable_returning_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.MergeStmt.returning_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_returning_list(); +} +inline const ::pg_query::Node& MergeStmt::returning_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.returning_list) + return _internal_returning_list().Get(index); +} +inline ::pg_query::Node* MergeStmt::add_returning_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_returning_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.MergeStmt.returning_list) + return _add; } -inline void CreateForeignServerStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.if_not_exists) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& MergeStmt::returning_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.MergeStmt.returning_list) + return _internal_returning_list(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +MergeStmt::_internal_returning_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.returning_list_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +MergeStmt::_internal_mutable_returning_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.returning_list_; } -// repeated .pg_query.Node options = 6 [json_name = "options"]; -inline int CreateForeignServerStmt::_internal_options_size() const { - return _impl_.options_.size(); +// .pg_query.WithClause with_clause = 6 [json_name = "withClause"]; +inline bool MergeStmt::has_with_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); + return value; } -inline int CreateForeignServerStmt::options_size() const { - return _internal_options_size(); +inline void MergeStmt::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_clause_ != nullptr) _impl_.with_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline void CreateForeignServerStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::pg_query::WithClause& MergeStmt::_internal_with_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WithClause* p = _impl_.with_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WithClause_default_instance_); } -inline ::pg_query::Node* CreateForeignServerStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.options) - return _impl_.options_.Mutable(index); +inline const ::pg_query::WithClause& MergeStmt::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.MergeStmt.with_clause) + return _internal_with_clause(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateForeignServerStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateForeignServerStmt.options) - return &_impl_.options_; +inline void MergeStmt::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_clause_); + } + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeStmt.with_clause) } -inline const ::pg_query::Node& CreateForeignServerStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline ::pg_query::WithClause* MergeStmt::release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::WithClause* released = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& CreateForeignServerStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.options) - return _internal_options(index); +inline ::pg_query::WithClause* MergeStmt::unsafe_arena_release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.MergeStmt.with_clause) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::WithClause* temp = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; + return temp; } -inline ::pg_query::Node* CreateForeignServerStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline ::pg_query::WithClause* MergeStmt::_internal_mutable_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.with_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(p); + } + return _impl_.with_clause_; } -inline ::pg_query::Node* CreateForeignServerStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateForeignServerStmt.options) - return _add; +inline ::pg_query::WithClause* MergeStmt::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.MergeStmt.with_clause) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateForeignServerStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateForeignServerStmt.options) - return _impl_.options_; +inline void MergeStmt::set_allocated_with_clause(::pg_query::WithClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WithClause*>(_impl_.with_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WithClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.MergeStmt.with_clause) } // ------------------------------------------------------------------- -// AlterForeignServerStmt +// SelectStmt -// string servername = 1 [json_name = "servername"]; -inline void AlterForeignServerStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); +// repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"]; +inline int SelectStmt::_internal_distinct_clause_size() const { + return _internal_distinct_clause().size(); } -inline const std::string& AlterForeignServerStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.servername) - return _internal_servername(); +inline int SelectStmt::distinct_clause_size() const { + return _internal_distinct_clause_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterForeignServerStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.servername) +inline void SelectStmt::clear_distinct_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.distinct_clause_.Clear(); } -inline std::string* AlterForeignServerStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.servername) - return _s; +inline ::pg_query::Node* SelectStmt::mutable_distinct_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.distinct_clause) + return _internal_mutable_distinct_clause()->Mutable(index); } -inline const std::string& AlterForeignServerStmt::_internal_servername() const { - return _impl_.servername_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_distinct_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.distinct_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_distinct_clause(); } -inline void AlterForeignServerStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& SelectStmt::distinct_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.distinct_clause) + return _internal_distinct_clause().Get(index); } -inline std::string* AlterForeignServerStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SelectStmt::add_distinct_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_distinct_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.distinct_clause) + return _add; } -inline std::string* AlterForeignServerStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.AlterForeignServerStmt.servername) - return _impl_.servername_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::distinct_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.distinct_clause) + return _internal_distinct_clause(); } -inline void AlterForeignServerStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - - } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterForeignServerStmt.servername) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_distinct_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.distinct_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_distinct_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.distinct_clause_; } -// string version = 2 [json_name = "version"]; -inline void AlterForeignServerStmt::clear_version() { - _impl_.version_.ClearToEmpty(); +// .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"]; +inline bool SelectStmt::has_into_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.into_clause_ != nullptr); + return value; } -inline const std::string& AlterForeignServerStmt::version() const { - // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.version) - return _internal_version(); +inline void SelectStmt::clear_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.into_clause_ != nullptr) _impl_.into_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterForeignServerStmt::set_version(ArgT0&& arg0, ArgT... args) { - - _impl_.version_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.version) +inline const ::pg_query::IntoClause& SelectStmt::_internal_into_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::IntoClause* p = _impl_.into_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_IntoClause_default_instance_); } -inline std::string* AlterForeignServerStmt::mutable_version() { - std::string* _s = _internal_mutable_version(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.version) - return _s; +inline const ::pg_query::IntoClause& SelectStmt::into_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.into_clause) + return _internal_into_clause(); } -inline const std::string& AlterForeignServerStmt::_internal_version() const { - return _impl_.version_.Get(); +inline void SelectStmt::unsafe_arena_set_allocated_into_clause(::pg_query::IntoClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.into_clause_); + } + _impl_.into_clause_ = reinterpret_cast<::pg_query::IntoClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.into_clause) } -inline void AlterForeignServerStmt::_internal_set_version(const std::string& value) { - - _impl_.version_.Set(value, GetArenaForAllocation()); +inline ::pg_query::IntoClause* SelectStmt::release_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::IntoClause* released = _impl_.into_clause_; + _impl_.into_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* AlterForeignServerStmt::_internal_mutable_version() { - - return _impl_.version_.Mutable(GetArenaForAllocation()); +inline ::pg_query::IntoClause* SelectStmt::unsafe_arena_release_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.into_clause) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::IntoClause* temp = _impl_.into_clause_; + _impl_.into_clause_ = nullptr; + return temp; } -inline std::string* AlterForeignServerStmt::release_version() { - // @@protoc_insertion_point(field_release:pg_query.AlterForeignServerStmt.version) - return _impl_.version_.Release(); +inline ::pg_query::IntoClause* SelectStmt::_internal_mutable_into_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.into_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::IntoClause>(GetArena()); + _impl_.into_clause_ = reinterpret_cast<::pg_query::IntoClause*>(p); + } + return _impl_.into_clause_; } -inline void AlterForeignServerStmt::set_allocated_version(std::string* version) { - if (version != nullptr) { - - } else { - +inline ::pg_query::IntoClause* SelectStmt::mutable_into_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IntoClause* _msg = _internal_mutable_into_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.into_clause) + return _msg; +} +inline void SelectStmt::set_allocated_into_clause(::pg_query::IntoClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::IntoClause*>(_impl_.into_clause_); } - _impl_.version_.SetAllocated(version, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.version_.IsDefault()) { - _impl_.version_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::IntoClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterForeignServerStmt.version) + + _impl_.into_clause_ = reinterpret_cast<::pg_query::IntoClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.into_clause) } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int AlterForeignServerStmt::_internal_options_size() const { - return _impl_.options_.size(); +// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; +inline int SelectStmt::_internal_target_list_size() const { + return _internal_target_list().size(); } -inline int AlterForeignServerStmt::options_size() const { - return _internal_options_size(); +inline int SelectStmt::target_list_size() const { + return _internal_target_list_size(); } -inline void AlterForeignServerStmt::clear_options() { - _impl_.options_.Clear(); +inline void SelectStmt::clear_target_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_list_.Clear(); } -inline ::pg_query::Node* AlterForeignServerStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* SelectStmt::mutable_target_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.target_list) + return _internal_mutable_target_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterForeignServerStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterForeignServerStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_target_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.target_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_target_list(); } -inline const ::pg_query::Node& AlterForeignServerStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const ::pg_query::Node& SelectStmt::target_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.target_list) + return _internal_target_list().Get(index); } -inline const ::pg_query::Node& AlterForeignServerStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.options) - return _internal_options(index); +inline ::pg_query::Node* SelectStmt::add_target_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_target_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.target_list) + return _add; } -inline ::pg_query::Node* AlterForeignServerStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::target_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.target_list) + return _internal_target_list(); } -inline ::pg_query::Node* AlterForeignServerStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterForeignServerStmt.options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_target_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.target_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterForeignServerStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterForeignServerStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_target_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.target_list_; } -// bool has_version = 4 [json_name = "has_version"]; -inline void AlterForeignServerStmt::clear_has_version() { - _impl_.has_version_ = false; +// repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"]; +inline int SelectStmt::_internal_from_clause_size() const { + return _internal_from_clause().size(); } -inline bool AlterForeignServerStmt::_internal_has_version() const { - return _impl_.has_version_; +inline int SelectStmt::from_clause_size() const { + return _internal_from_clause_size(); } -inline bool AlterForeignServerStmt::has_version() const { - // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.has_version) - return _internal_has_version(); +inline void SelectStmt::clear_from_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.from_clause_.Clear(); } -inline void AlterForeignServerStmt::_internal_set_has_version(bool value) { - - _impl_.has_version_ = value; +inline ::pg_query::Node* SelectStmt::mutable_from_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.from_clause) + return _internal_mutable_from_clause()->Mutable(index); } -inline void AlterForeignServerStmt::set_has_version(bool value) { - _internal_set_has_version(value); - // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.has_version) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_from_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.from_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_from_clause(); } - -// ------------------------------------------------------------------- - -// CreateUserMappingStmt - -// .pg_query.RoleSpec user = 1 [json_name = "user"]; -inline bool CreateUserMappingStmt::_internal_has_user() const { - return this != internal_default_instance() && _impl_.user_ != nullptr; +inline const ::pg_query::Node& SelectStmt::from_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.from_clause) + return _internal_from_clause().Get(index); } -inline bool CreateUserMappingStmt::has_user() const { - return _internal_has_user(); +inline ::pg_query::Node* SelectStmt::add_from_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_from_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.from_clause) + return _add; } -inline void CreateUserMappingStmt::clear_user() { - if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) { - delete _impl_.user_; - } - _impl_.user_ = nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::from_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.from_clause) + return _internal_from_clause(); } -inline const ::pg_query::RoleSpec& CreateUserMappingStmt::_internal_user() const { - const ::pg_query::RoleSpec* p = _impl_.user_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_from_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.from_clause_; } -inline const ::pg_query::RoleSpec& CreateUserMappingStmt::user() const { - // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.user) - return _internal_user(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_from_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.from_clause_; +} + +// .pg_query.Node where_clause = 5 [json_name = "whereClause"]; +inline bool SelectStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline void CreateUserMappingStmt::unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.user_); +inline void SelectStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& SelectStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& SelectStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.where_clause) + return _internal_where_clause(); +} +inline void SelectStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.user_ = user; - if (user) { - + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateUserMappingStmt.user) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.where_clause) } -inline ::pg_query::RoleSpec* CreateUserMappingStmt::release_user() { - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* CreateUserMappingStmt::unsafe_arena_release_user() { - // @@protoc_insertion_point(field_release:pg_query.CreateUserMappingStmt.user) - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* CreateUserMappingStmt::_internal_mutable_user() { - - if (_impl_.user_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.user_ = p; +inline ::pg_query::Node* SelectStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.user_; + return _impl_.where_clause_; } -inline ::pg_query::RoleSpec* CreateUserMappingStmt::mutable_user() { - ::pg_query::RoleSpec* _msg = _internal_mutable_user(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.user) +inline ::pg_query::Node* SelectStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.where_clause) return _msg; } -inline void CreateUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* user) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SelectStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.user_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - if (user) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(user); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - user = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, user, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.user_ = user; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateUserMappingStmt.user) -} -// string servername = 2 [json_name = "servername"]; -inline void CreateUserMappingStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); -} -inline const std::string& CreateUserMappingStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.servername) - return _internal_servername(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateUserMappingStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateUserMappingStmt.servername) -} -inline std::string* CreateUserMappingStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.servername) - return _s; -} -inline const std::string& CreateUserMappingStmt::_internal_servername() const { - return _impl_.servername_.Get(); -} -inline void CreateUserMappingStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); -} -inline std::string* CreateUserMappingStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); -} -inline std::string* CreateUserMappingStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.CreateUserMappingStmt.servername) - return _impl_.servername_.Release(); -} -inline void CreateUserMappingStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - - } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateUserMappingStmt.servername) + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.where_clause) } -// bool if_not_exists = 3 [json_name = "if_not_exists"]; -inline void CreateUserMappingStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"]; +inline int SelectStmt::_internal_group_clause_size() const { + return _internal_group_clause().size(); } -inline bool CreateUserMappingStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline int SelectStmt::group_clause_size() const { + return _internal_group_clause_size(); } -inline bool CreateUserMappingStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.if_not_exists) - return _internal_if_not_exists(); +inline void SelectStmt::clear_group_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.group_clause_.Clear(); } -inline void CreateUserMappingStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::Node* SelectStmt::mutable_group_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.group_clause) + return _internal_mutable_group_clause()->Mutable(index); } -inline void CreateUserMappingStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateUserMappingStmt.if_not_exists) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_group_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.group_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_group_clause(); } - -// repeated .pg_query.Node options = 4 [json_name = "options"]; -inline int CreateUserMappingStmt::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::pg_query::Node& SelectStmt::group_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.group_clause) + return _internal_group_clause().Get(index); } -inline int CreateUserMappingStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* SelectStmt::add_group_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_group_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.group_clause) + return _add; } -inline void CreateUserMappingStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::group_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.group_clause) + return _internal_group_clause(); } -inline ::pg_query::Node* CreateUserMappingStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.options) - return _impl_.options_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_group_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.group_clause_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateUserMappingStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateUserMappingStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_group_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.group_clause_; } -inline const ::pg_query::Node& CreateUserMappingStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool group_distinct = 7 [json_name = "groupDistinct"]; +inline void SelectStmt::clear_group_distinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.group_distinct_ = false; } -inline const ::pg_query::Node& CreateUserMappingStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.options) - return _internal_options(index); +inline bool SelectStmt::group_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.group_distinct) + return _internal_group_distinct(); } -inline ::pg_query::Node* CreateUserMappingStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void SelectStmt::set_group_distinct(bool value) { + _internal_set_group_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.SelectStmt.group_distinct) } -inline ::pg_query::Node* CreateUserMappingStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateUserMappingStmt.options) - return _add; +inline bool SelectStmt::_internal_group_distinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.group_distinct_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateUserMappingStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateUserMappingStmt.options) - return _impl_.options_; +inline void SelectStmt::_internal_set_group_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.group_distinct_ = value; } -// ------------------------------------------------------------------- - -// AlterUserMappingStmt - -// .pg_query.RoleSpec user = 1 [json_name = "user"]; -inline bool AlterUserMappingStmt::_internal_has_user() const { - return this != internal_default_instance() && _impl_.user_ != nullptr; -} -inline bool AlterUserMappingStmt::has_user() const { - return _internal_has_user(); +// .pg_query.Node having_clause = 8 [json_name = "havingClause"]; +inline bool SelectStmt::has_having_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.having_clause_ != nullptr); + return value; } -inline void AlterUserMappingStmt::clear_user() { - if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) { - delete _impl_.user_; - } - _impl_.user_ = nullptr; +inline void SelectStmt::clear_having_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.having_clause_ != nullptr) _impl_.having_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::RoleSpec& AlterUserMappingStmt::_internal_user() const { - const ::pg_query::RoleSpec* p = _impl_.user_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline const ::pg_query::Node& SelectStmt::_internal_having_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.having_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RoleSpec& AlterUserMappingStmt::user() const { - // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.user) - return _internal_user(); +inline const ::pg_query::Node& SelectStmt::having_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.having_clause) + return _internal_having_clause(); } -inline void AlterUserMappingStmt::unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.user_); +inline void SelectStmt::unsafe_arena_set_allocated_having_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.having_clause_); } - _impl_.user_ = user; - if (user) { - + _impl_.having_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterUserMappingStmt.user) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.having_clause) } -inline ::pg_query::RoleSpec* AlterUserMappingStmt::release_user() { - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::release_having_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.having_clause_; + _impl_.having_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* AlterUserMappingStmt::unsafe_arena_release_user() { - // @@protoc_insertion_point(field_release:pg_query.AlterUserMappingStmt.user) - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::unsafe_arena_release_having_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.having_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.having_clause_; + _impl_.having_clause_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* AlterUserMappingStmt::_internal_mutable_user() { - - if (_impl_.user_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.user_ = p; +inline ::pg_query::Node* SelectStmt::_internal_mutable_having_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.having_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.having_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.user_; + return _impl_.having_clause_; } -inline ::pg_query::RoleSpec* AlterUserMappingStmt::mutable_user() { - ::pg_query::RoleSpec* _msg = _internal_mutable_user(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.user) +inline ::pg_query::Node* SelectStmt::mutable_having_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_having_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.having_clause) return _msg; } -inline void AlterUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* user) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SelectStmt::set_allocated_having_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.user_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.having_clause_); } - if (user) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(user); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - user = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, user, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.user_ = user; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterUserMappingStmt.user) + + _impl_.having_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.having_clause) } -// string servername = 2 [json_name = "servername"]; -inline void AlterUserMappingStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); +// repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"]; +inline int SelectStmt::_internal_window_clause_size() const { + return _internal_window_clause().size(); } -inline const std::string& AlterUserMappingStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.servername) - return _internal_servername(); +inline int SelectStmt::window_clause_size() const { + return _internal_window_clause_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterUserMappingStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterUserMappingStmt.servername) +inline void SelectStmt::clear_window_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.window_clause_.Clear(); } -inline std::string* AlterUserMappingStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.servername) - return _s; +inline ::pg_query::Node* SelectStmt::mutable_window_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.window_clause) + return _internal_mutable_window_clause()->Mutable(index); } -inline const std::string& AlterUserMappingStmt::_internal_servername() const { - return _impl_.servername_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_window_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.window_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_window_clause(); } -inline void AlterUserMappingStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& SelectStmt::window_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.window_clause) + return _internal_window_clause().Get(index); } -inline std::string* AlterUserMappingStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SelectStmt::add_window_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_window_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.window_clause) + return _add; } -inline std::string* AlterUserMappingStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.AlterUserMappingStmt.servername) - return _impl_.servername_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::window_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.window_clause) + return _internal_window_clause(); } -inline void AlterUserMappingStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - - } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterUserMappingStmt.servername) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_window_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.window_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_window_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.window_clause_; } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int AlterUserMappingStmt::_internal_options_size() const { - return _impl_.options_.size(); +// repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"]; +inline int SelectStmt::_internal_values_lists_size() const { + return _internal_values_lists().size(); } -inline int AlterUserMappingStmt::options_size() const { - return _internal_options_size(); +inline int SelectStmt::values_lists_size() const { + return _internal_values_lists_size(); } -inline void AlterUserMappingStmt::clear_options() { - _impl_.options_.Clear(); +inline void SelectStmt::clear_values_lists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.values_lists_.Clear(); } -inline ::pg_query::Node* AlterUserMappingStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* SelectStmt::mutable_values_lists(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.values_lists) + return _internal_mutable_values_lists()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterUserMappingStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterUserMappingStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_values_lists() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.values_lists) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_values_lists(); } -inline const ::pg_query::Node& AlterUserMappingStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const ::pg_query::Node& SelectStmt::values_lists(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.values_lists) + return _internal_values_lists().Get(index); } -inline const ::pg_query::Node& AlterUserMappingStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.options) - return _internal_options(index); +inline ::pg_query::Node* SelectStmt::add_values_lists() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_values_lists()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.values_lists) + return _add; } -inline ::pg_query::Node* AlterUserMappingStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::values_lists() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.values_lists) + return _internal_values_lists(); } -inline ::pg_query::Node* AlterUserMappingStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterUserMappingStmt.options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_values_lists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.values_lists_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterUserMappingStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterUserMappingStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_values_lists() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.values_lists_; } -// ------------------------------------------------------------------- - -// DropUserMappingStmt - -// .pg_query.RoleSpec user = 1 [json_name = "user"]; -inline bool DropUserMappingStmt::_internal_has_user() const { - return this != internal_default_instance() && _impl_.user_ != nullptr; +// repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"]; +inline int SelectStmt::_internal_sort_clause_size() const { + return _internal_sort_clause().size(); } -inline bool DropUserMappingStmt::has_user() const { - return _internal_has_user(); +inline int SelectStmt::sort_clause_size() const { + return _internal_sort_clause_size(); } -inline void DropUserMappingStmt::clear_user() { - if (GetArenaForAllocation() == nullptr && _impl_.user_ != nullptr) { - delete _impl_.user_; - } - _impl_.user_ = nullptr; +inline void SelectStmt::clear_sort_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.sort_clause_.Clear(); } -inline const ::pg_query::RoleSpec& DropUserMappingStmt::_internal_user() const { - const ::pg_query::RoleSpec* p = _impl_.user_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RoleSpec_default_instance_); +inline ::pg_query::Node* SelectStmt::mutable_sort_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.sort_clause) + return _internal_mutable_sort_clause()->Mutable(index); } -inline const ::pg_query::RoleSpec& DropUserMappingStmt::user() const { - // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.user) - return _internal_user(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_sort_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.sort_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_sort_clause(); +} +inline const ::pg_query::Node& SelectStmt::sort_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.sort_clause) + return _internal_sort_clause().Get(index); +} +inline ::pg_query::Node* SelectStmt::add_sort_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_sort_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.sort_clause) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::sort_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.sort_clause) + return _internal_sort_clause(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_sort_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.sort_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_sort_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.sort_clause_; +} + +// .pg_query.Node limit_offset = 12 [json_name = "limitOffset"]; +inline bool SelectStmt::has_limit_offset() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_offset_ != nullptr); + return value; +} +inline void SelectStmt::clear_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.limit_offset_ != nullptr) _impl_.limit_offset_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline const ::pg_query::Node& SelectStmt::_internal_limit_offset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.limit_offset_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void DropUserMappingStmt::unsafe_arena_set_allocated_user( - ::pg_query::RoleSpec* user) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.user_); +inline const ::pg_query::Node& SelectStmt::limit_offset() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_offset) + return _internal_limit_offset(); +} +inline void SelectStmt::unsafe_arena_set_allocated_limit_offset(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_offset_); } - _impl_.user_ = user; - if (user) { - + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DropUserMappingStmt.user) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.limit_offset) } -inline ::pg_query::RoleSpec* DropUserMappingStmt::release_user() { - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::release_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* released = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RoleSpec* DropUserMappingStmt::unsafe_arena_release_user() { - // @@protoc_insertion_point(field_release:pg_query.DropUserMappingStmt.user) - - ::pg_query::RoleSpec* temp = _impl_.user_; - _impl_.user_ = nullptr; +inline ::pg_query::Node* SelectStmt::unsafe_arena_release_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.limit_offset) + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::Node* temp = _impl_.limit_offset_; + _impl_.limit_offset_ = nullptr; return temp; } -inline ::pg_query::RoleSpec* DropUserMappingStmt::_internal_mutable_user() { - - if (_impl_.user_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArenaForAllocation()); - _impl_.user_ = p; +inline ::pg_query::Node* SelectStmt::_internal_mutable_limit_offset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.limit_offset_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.user_; + return _impl_.limit_offset_; } -inline ::pg_query::RoleSpec* DropUserMappingStmt::mutable_user() { - ::pg_query::RoleSpec* _msg = _internal_mutable_user(); - // @@protoc_insertion_point(field_mutable:pg_query.DropUserMappingStmt.user) +inline ::pg_query::Node* SelectStmt::mutable_limit_offset() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_offset(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.limit_offset) return _msg; } -inline void DropUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* user) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SelectStmt::set_allocated_limit_offset(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.user_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_offset_); } - if (user) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(user); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - user = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, user, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000008u; } else { - + _impl_._has_bits_[0] &= ~0x00000008u; } - _impl_.user_ = user; - // @@protoc_insertion_point(field_set_allocated:pg_query.DropUserMappingStmt.user) + + _impl_.limit_offset_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.limit_offset) } -// string servername = 2 [json_name = "servername"]; -inline void DropUserMappingStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); +// .pg_query.Node limit_count = 13 [json_name = "limitCount"]; +inline bool SelectStmt::has_limit_count() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + PROTOBUF_ASSUME(!value || _impl_.limit_count_ != nullptr); + return value; } -inline const std::string& DropUserMappingStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.servername) - return _internal_servername(); +inline void SelectStmt::clear_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.limit_count_ != nullptr) _impl_.limit_count_->Clear(); + _impl_._has_bits_[0] &= ~0x00000010u; } -template -inline PROTOBUF_ALWAYS_INLINE -void DropUserMappingStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DropUserMappingStmt.servername) +inline const ::pg_query::Node& SelectStmt::_internal_limit_count() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.limit_count_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* DropUserMappingStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.DropUserMappingStmt.servername) - return _s; +inline const ::pg_query::Node& SelectStmt::limit_count() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_count) + return _internal_limit_count(); } -inline const std::string& DropUserMappingStmt::_internal_servername() const { - return _impl_.servername_.Get(); +inline void SelectStmt::unsafe_arena_set_allocated_limit_count(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.limit_count_); + } + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.limit_count) } -inline void DropUserMappingStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* SelectStmt::release_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* released = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* DropUserMappingStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SelectStmt::unsafe_arena_release_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.limit_count) + + _impl_._has_bits_[0] &= ~0x00000010u; + ::pg_query::Node* temp = _impl_.limit_count_; + _impl_.limit_count_ = nullptr; + return temp; } -inline std::string* DropUserMappingStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.DropUserMappingStmt.servername) - return _impl_.servername_.Release(); +inline ::pg_query::Node* SelectStmt::_internal_mutable_limit_count() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000010u; + if (_impl_.limit_count_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.limit_count_; } -inline void DropUserMappingStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - +inline ::pg_query::Node* SelectStmt::mutable_limit_count() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_limit_count(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.limit_count) + return _msg; +} +inline void SelectStmt::set_allocated_limit_count(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.limit_count_); } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000010u; + } else { + _impl_._has_bits_[0] &= ~0x00000010u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DropUserMappingStmt.servername) + + _impl_.limit_count_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.limit_count) } -// bool missing_ok = 3 [json_name = "missing_ok"]; -inline void DropUserMappingStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"]; +inline void SelectStmt::clear_limit_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.limit_option_ = 0; } -inline bool DropUserMappingStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::pg_query::LimitOption SelectStmt::limit_option() const { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.limit_option) + return _internal_limit_option(); } -inline bool DropUserMappingStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.missing_ok) - return _internal_missing_ok(); +inline void SelectStmt::set_limit_option(::pg_query::LimitOption value) { + _internal_set_limit_option(value); + // @@protoc_insertion_point(field_set:pg_query.SelectStmt.limit_option) } -inline void DropUserMappingStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::pg_query::LimitOption SelectStmt::_internal_limit_option() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::LimitOption>(_impl_.limit_option_); } -inline void DropUserMappingStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropUserMappingStmt.missing_ok) +inline void SelectStmt::_internal_set_limit_option(::pg_query::LimitOption value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.limit_option_ = value; } -// ------------------------------------------------------------------- - -// AlterTableSpaceOptionsStmt - -// string tablespacename = 1 [json_name = "tablespacename"]; -inline void AlterTableSpaceOptionsStmt::clear_tablespacename() { - _impl_.tablespacename_.ClearToEmpty(); +// repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"]; +inline int SelectStmt::_internal_locking_clause_size() const { + return _internal_locking_clause().size(); } -inline const std::string& AlterTableSpaceOptionsStmt::tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.tablespacename) - return _internal_tablespacename(); +inline int SelectStmt::locking_clause_size() const { + return _internal_locking_clause_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterTableSpaceOptionsStmt::set_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterTableSpaceOptionsStmt.tablespacename) +inline void SelectStmt::clear_locking_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.locking_clause_.Clear(); } -inline std::string* AlterTableSpaceOptionsStmt::mutable_tablespacename() { - std::string* _s = _internal_mutable_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableSpaceOptionsStmt.tablespacename) - return _s; +inline ::pg_query::Node* SelectStmt::mutable_locking_clause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.locking_clause) + return _internal_mutable_locking_clause()->Mutable(index); } -inline const std::string& AlterTableSpaceOptionsStmt::_internal_tablespacename() const { - return _impl_.tablespacename_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SelectStmt::mutable_locking_clause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SelectStmt.locking_clause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_locking_clause(); } -inline void AlterTableSpaceOptionsStmt::_internal_set_tablespacename(const std::string& value) { - - _impl_.tablespacename_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& SelectStmt::locking_clause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.locking_clause) + return _internal_locking_clause().Get(index); } -inline std::string* AlterTableSpaceOptionsStmt::_internal_mutable_tablespacename() { - - return _impl_.tablespacename_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SelectStmt::add_locking_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_locking_clause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SelectStmt.locking_clause) + return _add; } -inline std::string* AlterTableSpaceOptionsStmt::release_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableSpaceOptionsStmt.tablespacename) - return _impl_.tablespacename_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SelectStmt::locking_clause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SelectStmt.locking_clause) + return _internal_locking_clause(); } -inline void AlterTableSpaceOptionsStmt::set_allocated_tablespacename(std::string* tablespacename) { - if (tablespacename != nullptr) { - - } else { - +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SelectStmt::_internal_locking_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.locking_clause_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SelectStmt::_internal_mutable_locking_clause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.locking_clause_; +} + +// .pg_query.WithClause with_clause = 16 [json_name = "withClause"]; +inline bool SelectStmt::has_with_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_clause_ != nullptr); + return value; +} +inline void SelectStmt::clear_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_clause_ != nullptr) _impl_.with_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000020u; +} +inline const ::pg_query::WithClause& SelectStmt::_internal_with_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::WithClause* p = _impl_.with_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_WithClause_default_instance_); +} +inline const ::pg_query::WithClause& SelectStmt::with_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.with_clause) + return _internal_with_clause(); +} +inline void SelectStmt::unsafe_arena_set_allocated_with_clause(::pg_query::WithClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_clause_); } - _impl_.tablespacename_.SetAllocated(tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.tablespacename_.IsDefault()) { - _impl_.tablespacename_.Set("", GetArenaForAllocation()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableSpaceOptionsStmt.tablespacename) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.with_clause) } +inline ::pg_query::WithClause* SelectStmt::release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterTableSpaceOptionsStmt::_internal_options_size() const { - return _impl_.options_.size(); + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::WithClause* released = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int AlterTableSpaceOptionsStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::WithClause* SelectStmt::unsafe_arena_release_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.with_clause) + + _impl_._has_bits_[0] &= ~0x00000020u; + ::pg_query::WithClause* temp = _impl_.with_clause_; + _impl_.with_clause_ = nullptr; + return temp; } -inline void AlterTableSpaceOptionsStmt::clear_options() { - _impl_.options_.Clear(); +inline ::pg_query::WithClause* SelectStmt::_internal_mutable_with_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000020u; + if (_impl_.with_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::WithClause>(GetArena()); + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(p); + } + return _impl_.with_clause_; } -inline ::pg_query::Node* AlterTableSpaceOptionsStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableSpaceOptionsStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::WithClause* SelectStmt::mutable_with_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::WithClause* _msg = _internal_mutable_with_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.with_clause) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTableSpaceOptionsStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableSpaceOptionsStmt.options) - return &_impl_.options_; +inline void SelectStmt::set_allocated_with_clause(::pg_query::WithClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::WithClause*>(_impl_.with_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::WithClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000020u; + } else { + _impl_._has_bits_[0] &= ~0x00000020u; + } + + _impl_.with_clause_ = reinterpret_cast<::pg_query::WithClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.with_clause) } -inline const ::pg_query::Node& AlterTableSpaceOptionsStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// .pg_query.SetOperation op = 17 [json_name = "op"]; +inline void SelectStmt::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline const ::pg_query::Node& AlterTableSpaceOptionsStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.options) - return _internal_options(index); +inline ::pg_query::SetOperation SelectStmt::op() const { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.op) + return _internal_op(); } -inline ::pg_query::Node* AlterTableSpaceOptionsStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void SelectStmt::set_op(::pg_query::SetOperation value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.SelectStmt.op) } -inline ::pg_query::Node* AlterTableSpaceOptionsStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterTableSpaceOptionsStmt.options) - return _add; +inline ::pg_query::SetOperation SelectStmt::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SetOperation>(_impl_.op_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTableSpaceOptionsStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTableSpaceOptionsStmt.options) - return _impl_.options_; +inline void SelectStmt::_internal_set_op(::pg_query::SetOperation value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; } -// bool is_reset = 3 [json_name = "isReset"]; -inline void AlterTableSpaceOptionsStmt::clear_is_reset() { - _impl_.is_reset_ = false; +// bool all = 18 [json_name = "all"]; +inline void SelectStmt::clear_all() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.all_ = false; } -inline bool AlterTableSpaceOptionsStmt::_internal_is_reset() const { - return _impl_.is_reset_; +inline bool SelectStmt::all() const { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.all) + return _internal_all(); } -inline bool AlterTableSpaceOptionsStmt::is_reset() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.is_reset) - return _internal_is_reset(); +inline void SelectStmt::set_all(bool value) { + _internal_set_all(value); + // @@protoc_insertion_point(field_set:pg_query.SelectStmt.all) } -inline void AlterTableSpaceOptionsStmt::_internal_set_is_reset(bool value) { - - _impl_.is_reset_ = value; +inline bool SelectStmt::_internal_all() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.all_; } -inline void AlterTableSpaceOptionsStmt::set_is_reset(bool value) { - _internal_set_is_reset(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableSpaceOptionsStmt.is_reset) +inline void SelectStmt::_internal_set_all(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.all_ = value; } -// ------------------------------------------------------------------- - -// AlterTableMoveAllStmt - -// string orig_tablespacename = 1 [json_name = "orig_tablespacename"]; -inline void AlterTableMoveAllStmt::clear_orig_tablespacename() { - _impl_.orig_tablespacename_.ClearToEmpty(); +// .pg_query.SelectStmt larg = 19 [json_name = "larg"]; +inline bool SelectStmt::has_larg() const { + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + PROTOBUF_ASSUME(!value || _impl_.larg_ != nullptr); + return value; } -inline const std::string& AlterTableMoveAllStmt::orig_tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.orig_tablespacename) - return _internal_orig_tablespacename(); +inline void SelectStmt::clear_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.larg_ != nullptr) _impl_.larg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000040u; } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterTableMoveAllStmt::set_orig_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.orig_tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.orig_tablespacename) +inline const ::pg_query::SelectStmt& SelectStmt::_internal_larg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::SelectStmt* p = _impl_.larg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_SelectStmt_default_instance_); } -inline std::string* AlterTableMoveAllStmt::mutable_orig_tablespacename() { - std::string* _s = _internal_mutable_orig_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.orig_tablespacename) - return _s; +inline const ::pg_query::SelectStmt& SelectStmt::larg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.larg) + return _internal_larg(); } -inline const std::string& AlterTableMoveAllStmt::_internal_orig_tablespacename() const { - return _impl_.orig_tablespacename_.Get(); +inline void SelectStmt::unsafe_arena_set_allocated_larg(::pg_query::SelectStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.larg_); + } + _impl_.larg_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000040u; + } else { + _impl_._has_bits_[0] &= ~0x00000040u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.larg) } -inline void AlterTableMoveAllStmt::_internal_set_orig_tablespacename(const std::string& value) { - - _impl_.orig_tablespacename_.Set(value, GetArenaForAllocation()); +inline ::pg_query::SelectStmt* SelectStmt::release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::SelectStmt* released = _impl_.larg_; + _impl_.larg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* AlterTableMoveAllStmt::_internal_mutable_orig_tablespacename() { - - return _impl_.orig_tablespacename_.Mutable(GetArenaForAllocation()); +inline ::pg_query::SelectStmt* SelectStmt::unsafe_arena_release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.larg) + + _impl_._has_bits_[0] &= ~0x00000040u; + ::pg_query::SelectStmt* temp = _impl_.larg_; + _impl_.larg_ = nullptr; + return temp; } -inline std::string* AlterTableMoveAllStmt::release_orig_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableMoveAllStmt.orig_tablespacename) - return _impl_.orig_tablespacename_.Release(); +inline ::pg_query::SelectStmt* SelectStmt::_internal_mutable_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000040u; + if (_impl_.larg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); + _impl_.larg_ = reinterpret_cast<::pg_query::SelectStmt*>(p); + } + return _impl_.larg_; } -inline void AlterTableMoveAllStmt::set_allocated_orig_tablespacename(std::string* orig_tablespacename) { - if (orig_tablespacename != nullptr) { - - } else { - +inline ::pg_query::SelectStmt* SelectStmt::mutable_larg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SelectStmt* _msg = _internal_mutable_larg(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.larg) + return _msg; +} +inline void SelectStmt::set_allocated_larg(::pg_query::SelectStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::SelectStmt*>(_impl_.larg_); } - _impl_.orig_tablespacename_.SetAllocated(orig_tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.orig_tablespacename_.IsDefault()) { - _impl_.orig_tablespacename_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::SelectStmt*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000040u; + } else { + _impl_._has_bits_[0] &= ~0x00000040u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableMoveAllStmt.orig_tablespacename) + + _impl_.larg_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.larg) } -// .pg_query.ObjectType objtype = 2 [json_name = "objtype"]; -inline void AlterTableMoveAllStmt::clear_objtype() { - _impl_.objtype_ = 0; +// .pg_query.SelectStmt rarg = 20 [json_name = "rarg"]; +inline bool SelectStmt::has_rarg() const { + bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rarg_ != nullptr); + return value; } -inline ::pg_query::ObjectType AlterTableMoveAllStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); +inline void SelectStmt::clear_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rarg_ != nullptr) _impl_.rarg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000080u; } -inline ::pg_query::ObjectType AlterTableMoveAllStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.objtype) - return _internal_objtype(); +inline const ::pg_query::SelectStmt& SelectStmt::_internal_rarg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::SelectStmt* p = _impl_.rarg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_SelectStmt_default_instance_); } -inline void AlterTableMoveAllStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; +inline const ::pg_query::SelectStmt& SelectStmt::rarg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SelectStmt.rarg) + return _internal_rarg(); } -inline void AlterTableMoveAllStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.objtype) +inline void SelectStmt::unsafe_arena_set_allocated_rarg(::pg_query::SelectStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rarg_); + } + _impl_.rarg_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000080u; + } else { + _impl_._has_bits_[0] &= ~0x00000080u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SelectStmt.rarg) } +inline ::pg_query::SelectStmt* SelectStmt::release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node roles = 3 [json_name = "roles"]; -inline int AlterTableMoveAllStmt::_internal_roles_size() const { - return _impl_.roles_.size(); + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::SelectStmt* released = _impl_.rarg_; + _impl_.rarg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int AlterTableMoveAllStmt::roles_size() const { - return _internal_roles_size(); +inline ::pg_query::SelectStmt* SelectStmt::unsafe_arena_release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SelectStmt.rarg) + + _impl_._has_bits_[0] &= ~0x00000080u; + ::pg_query::SelectStmt* temp = _impl_.rarg_; + _impl_.rarg_ = nullptr; + return temp; } -inline void AlterTableMoveAllStmt::clear_roles() { - _impl_.roles_.Clear(); +inline ::pg_query::SelectStmt* SelectStmt::_internal_mutable_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000080u; + if (_impl_.rarg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); + _impl_.rarg_ = reinterpret_cast<::pg_query::SelectStmt*>(p); + } + return _impl_.rarg_; } -inline ::pg_query::Node* AlterTableMoveAllStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.roles) - return _impl_.roles_.Mutable(index); +inline ::pg_query::SelectStmt* SelectStmt::mutable_rarg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SelectStmt* _msg = _internal_mutable_rarg(); + // @@protoc_insertion_point(field_mutable:pg_query.SelectStmt.rarg) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterTableMoveAllStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableMoveAllStmt.roles) - return &_impl_.roles_; +inline void SelectStmt::set_allocated_rarg(::pg_query::SelectStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::SelectStmt*>(_impl_.rarg_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::SelectStmt*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000080u; + } else { + _impl_._has_bits_[0] &= ~0x00000080u; + } + + _impl_.rarg_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SelectStmt.rarg) } -inline const ::pg_query::Node& AlterTableMoveAllStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); + +// ------------------------------------------------------------------- + +// SetOperationStmt + +// .pg_query.SetOperation op = 1 [json_name = "op"]; +inline void SetOperationStmt::clear_op() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.op_ = 0; } -inline const ::pg_query::Node& AlterTableMoveAllStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.roles) - return _internal_roles(index); +inline ::pg_query::SetOperation SetOperationStmt::op() const { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.op) + return _internal_op(); } -inline ::pg_query::Node* AlterTableMoveAllStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline void SetOperationStmt::set_op(::pg_query::SetOperation value) { + _internal_set_op(value); + // @@protoc_insertion_point(field_set:pg_query.SetOperationStmt.op) } -inline ::pg_query::Node* AlterTableMoveAllStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.AlterTableMoveAllStmt.roles) - return _add; +inline ::pg_query::SetOperation SetOperationStmt::_internal_op() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::SetOperation>(_impl_.op_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterTableMoveAllStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.AlterTableMoveAllStmt.roles) - return _impl_.roles_; +inline void SetOperationStmt::_internal_set_op(::pg_query::SetOperation value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.op_ = value; } -// string new_tablespacename = 4 [json_name = "new_tablespacename"]; -inline void AlterTableMoveAllStmt::clear_new_tablespacename() { - _impl_.new_tablespacename_.ClearToEmpty(); +// bool all = 2 [json_name = "all"]; +inline void SetOperationStmt::clear_all() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.all_ = false; } -inline const std::string& AlterTableMoveAllStmt::new_tablespacename() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.new_tablespacename) - return _internal_new_tablespacename(); +inline bool SetOperationStmt::all() const { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.all) + return _internal_all(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterTableMoveAllStmt::set_new_tablespacename(ArgT0&& arg0, ArgT... args) { - - _impl_.new_tablespacename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.new_tablespacename) +inline void SetOperationStmt::set_all(bool value) { + _internal_set_all(value); + // @@protoc_insertion_point(field_set:pg_query.SetOperationStmt.all) } -inline std::string* AlterTableMoveAllStmt::mutable_new_tablespacename() { - std::string* _s = _internal_mutable_new_tablespacename(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.new_tablespacename) - return _s; +inline bool SetOperationStmt::_internal_all() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.all_; } -inline const std::string& AlterTableMoveAllStmt::_internal_new_tablespacename() const { - return _impl_.new_tablespacename_.Get(); +inline void SetOperationStmt::_internal_set_all(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.all_ = value; } -inline void AlterTableMoveAllStmt::_internal_set_new_tablespacename(const std::string& value) { - - _impl_.new_tablespacename_.Set(value, GetArenaForAllocation()); + +// .pg_query.Node larg = 3 [json_name = "larg"]; +inline bool SetOperationStmt::has_larg() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.larg_ != nullptr); + return value; } -inline std::string* AlterTableMoveAllStmt::_internal_mutable_new_tablespacename() { - - return _impl_.new_tablespacename_.Mutable(GetArenaForAllocation()); +inline void SetOperationStmt::clear_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.larg_ != nullptr) _impl_.larg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* AlterTableMoveAllStmt::release_new_tablespacename() { - // @@protoc_insertion_point(field_release:pg_query.AlterTableMoveAllStmt.new_tablespacename) - return _impl_.new_tablespacename_.Release(); +inline const ::pg_query::Node& SetOperationStmt::_internal_larg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.larg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void AlterTableMoveAllStmt::set_allocated_new_tablespacename(std::string* new_tablespacename) { - if (new_tablespacename != nullptr) { - - } else { - +inline const ::pg_query::Node& SetOperationStmt::larg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.larg) + return _internal_larg(); +} +inline void SetOperationStmt::unsafe_arena_set_allocated_larg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.larg_); } - _impl_.new_tablespacename_.SetAllocated(new_tablespacename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.new_tablespacename_.IsDefault()) { - _impl_.new_tablespacename_.Set("", GetArenaForAllocation()); + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableMoveAllStmt.new_tablespacename) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetOperationStmt.larg) } +inline ::pg_query::Node* SetOperationStmt::release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool nowait = 5 [json_name = "nowait"]; -inline void AlterTableMoveAllStmt::clear_nowait() { - _impl_.nowait_ = false; -} -inline bool AlterTableMoveAllStmt::_internal_nowait() const { - return _impl_.nowait_; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.larg_; + _impl_.larg_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool AlterTableMoveAllStmt::nowait() const { - // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.nowait) - return _internal_nowait(); +inline ::pg_query::Node* SetOperationStmt::unsafe_arena_release_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SetOperationStmt.larg) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.larg_; + _impl_.larg_ = nullptr; + return temp; } -inline void AlterTableMoveAllStmt::_internal_set_nowait(bool value) { - - _impl_.nowait_ = value; +inline ::pg_query::Node* SetOperationStmt::_internal_mutable_larg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.larg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.larg_; } -inline void AlterTableMoveAllStmt::set_nowait(bool value) { - _internal_set_nowait(value); - // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.nowait) +inline ::pg_query::Node* SetOperationStmt::mutable_larg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_larg(); + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.larg) + return _msg; } +inline void SetOperationStmt::set_allocated_larg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.larg_); + } -// ------------------------------------------------------------------- - -// SecLabelStmt + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; -inline void SecLabelStmt::clear_objtype() { - _impl_.objtype_ = 0; -} -inline ::pg_query::ObjectType SecLabelStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); -} -inline ::pg_query::ObjectType SecLabelStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.objtype) - return _internal_objtype(); -} -inline void SecLabelStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; -} -inline void SecLabelStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.objtype) + _impl_.larg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SetOperationStmt.larg) } -// .pg_query.Node object = 2 [json_name = "object"]; -inline bool SecLabelStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; -} -inline bool SecLabelStmt::has_object() const { - return _internal_has_object(); +// .pg_query.Node rarg = 4 [json_name = "rarg"]; +inline bool SetOperationStmt::has_rarg() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.rarg_ != nullptr); + return value; } -inline void SecLabelStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void SetOperationStmt::clear_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.rarg_ != nullptr) _impl_.rarg_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& SecLabelStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& SetOperationStmt::_internal_rarg() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.rarg_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& SecLabelStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.object) - return _internal_object(); +inline const ::pg_query::Node& SetOperationStmt::rarg() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.rarg) + return _internal_rarg(); } -inline void SecLabelStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void SetOperationStmt::unsafe_arena_set_allocated_rarg(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.rarg_); } - _impl_.object_ = object; - if (object) { - + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SecLabelStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SetOperationStmt.rarg) } -inline ::pg_query::Node* SecLabelStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* SetOperationStmt::release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.rarg_; + _impl_.rarg_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SecLabelStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::Node* SetOperationStmt::unsafe_arena_release_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SetOperationStmt.rarg) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.rarg_; + _impl_.rarg_ = nullptr; return temp; } -inline ::pg_query::Node* SecLabelStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::Node* SetOperationStmt::_internal_mutable_rarg() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.rarg_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.object_; + return _impl_.rarg_; } -inline ::pg_query::Node* SecLabelStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.object) +inline ::pg_query::Node* SetOperationStmt::mutable_rarg() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_rarg(); + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.rarg) return _msg; } -inline void SecLabelStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SetOperationStmt::set_allocated_rarg(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.rarg_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.object) + + _impl_.rarg_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SetOperationStmt.rarg) } -// string provider = 3 [json_name = "provider"]; -inline void SecLabelStmt::clear_provider() { - _impl_.provider_.ClearToEmpty(); +// repeated .pg_query.Node col_types = 5 [json_name = "colTypes"]; +inline int SetOperationStmt::_internal_col_types_size() const { + return _internal_col_types().size(); } -inline const std::string& SecLabelStmt::provider() const { - // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.provider) - return _internal_provider(); +inline int SetOperationStmt::col_types_size() const { + return _internal_col_types_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void SecLabelStmt::set_provider(ArgT0&& arg0, ArgT... args) { - - _impl_.provider_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.provider) +inline void SetOperationStmt::clear_col_types() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_types_.Clear(); } -inline std::string* SecLabelStmt::mutable_provider() { - std::string* _s = _internal_mutable_provider(); - // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.provider) - return _s; +inline ::pg_query::Node* SetOperationStmt::mutable_col_types(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_types) + return _internal_mutable_col_types()->Mutable(index); } -inline const std::string& SecLabelStmt::_internal_provider() const { - return _impl_.provider_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SetOperationStmt::mutable_col_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_types) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_col_types(); } -inline void SecLabelStmt::_internal_set_provider(const std::string& value) { - - _impl_.provider_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& SetOperationStmt::col_types(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_types) + return _internal_col_types().Get(index); } -inline std::string* SecLabelStmt::_internal_mutable_provider() { - - return _impl_.provider_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SetOperationStmt::add_col_types() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_col_types()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_types) + return _add; } -inline std::string* SecLabelStmt::release_provider() { - // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.provider) - return _impl_.provider_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SetOperationStmt::col_types() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_types) + return _internal_col_types(); } -inline void SecLabelStmt::set_allocated_provider(std::string* provider) { - if (provider != nullptr) { - - } else { - - } - _impl_.provider_.SetAllocated(provider, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.provider_.IsDefault()) { - _impl_.provider_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.provider) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SetOperationStmt::_internal_col_types() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_types_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SetOperationStmt::_internal_mutable_col_types() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.col_types_; } -// string label = 4 [json_name = "label"]; -inline void SecLabelStmt::clear_label() { - _impl_.label_.ClearToEmpty(); +// repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"]; +inline int SetOperationStmt::_internal_col_typmods_size() const { + return _internal_col_typmods().size(); } -inline const std::string& SecLabelStmt::label() const { - // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.label) - return _internal_label(); +inline int SetOperationStmt::col_typmods_size() const { + return _internal_col_typmods_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void SecLabelStmt::set_label(ArgT0&& arg0, ArgT... args) { - - _impl_.label_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.label) +inline void SetOperationStmt::clear_col_typmods() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_typmods_.Clear(); } -inline std::string* SecLabelStmt::mutable_label() { - std::string* _s = _internal_mutable_label(); - // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.label) - return _s; +inline ::pg_query::Node* SetOperationStmt::mutable_col_typmods(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_typmods) + return _internal_mutable_col_typmods()->Mutable(index); } -inline const std::string& SecLabelStmt::_internal_label() const { - return _impl_.label_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SetOperationStmt::mutable_col_typmods() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_typmods) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_col_typmods(); } -inline void SecLabelStmt::_internal_set_label(const std::string& value) { - - _impl_.label_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& SetOperationStmt::col_typmods(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_typmods) + return _internal_col_typmods().Get(index); } -inline std::string* SecLabelStmt::_internal_mutable_label() { - - return _impl_.label_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* SetOperationStmt::add_col_typmods() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_col_typmods()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_typmods) + return _add; } -inline std::string* SecLabelStmt::release_label() { - // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.label) - return _impl_.label_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SetOperationStmt::col_typmods() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_typmods) + return _internal_col_typmods(); } -inline void SecLabelStmt::set_allocated_label(std::string* label) { - if (label != nullptr) { - - } else { - - } - _impl_.label_.SetAllocated(label, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.label_.IsDefault()) { - _impl_.label_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.label) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SetOperationStmt::_internal_col_typmods() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_typmods_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SetOperationStmt::_internal_mutable_col_typmods() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.col_typmods_; +} + +// repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"]; +inline int SetOperationStmt::_internal_col_collations_size() const { + return _internal_col_collations().size(); +} +inline int SetOperationStmt::col_collations_size() const { + return _internal_col_collations_size(); +} +inline void SetOperationStmt::clear_col_collations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.col_collations_.Clear(); +} +inline ::pg_query::Node* SetOperationStmt::mutable_col_collations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.col_collations) + return _internal_mutable_col_collations()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SetOperationStmt::mutable_col_collations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.col_collations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_col_collations(); +} +inline const ::pg_query::Node& SetOperationStmt::col_collations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.col_collations) + return _internal_col_collations().Get(index); +} +inline ::pg_query::Node* SetOperationStmt::add_col_collations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_col_collations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.col_collations) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SetOperationStmt::col_collations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.col_collations) + return _internal_col_collations(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SetOperationStmt::_internal_col_collations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.col_collations_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SetOperationStmt::_internal_mutable_col_collations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.col_collations_; +} + +// repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"]; +inline int SetOperationStmt::_internal_group_clauses_size() const { + return _internal_group_clauses().size(); +} +inline int SetOperationStmt::group_clauses_size() const { + return _internal_group_clauses_size(); +} +inline void SetOperationStmt::clear_group_clauses() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.group_clauses_.Clear(); +} +inline ::pg_query::Node* SetOperationStmt::mutable_group_clauses(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.SetOperationStmt.group_clauses) + return _internal_mutable_group_clauses()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* SetOperationStmt::mutable_group_clauses() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.SetOperationStmt.group_clauses) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_group_clauses(); +} +inline const ::pg_query::Node& SetOperationStmt::group_clauses(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SetOperationStmt.group_clauses) + return _internal_group_clauses().Get(index); +} +inline ::pg_query::Node* SetOperationStmt::add_group_clauses() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_group_clauses()->Add(); + // @@protoc_insertion_point(field_add:pg_query.SetOperationStmt.group_clauses) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& SetOperationStmt::group_clauses() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.SetOperationStmt.group_clauses) + return _internal_group_clauses(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +SetOperationStmt::_internal_group_clauses() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.group_clauses_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +SetOperationStmt::_internal_mutable_group_clauses() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.group_clauses_; } // ------------------------------------------------------------------- -// CreateForeignTableStmt +// ReturnStmt -// .pg_query.CreateStmt base_stmt = 1 [json_name = "base"]; -inline bool CreateForeignTableStmt::_internal_has_base_stmt() const { - return this != internal_default_instance() && _impl_.base_stmt_ != nullptr; -} -inline bool CreateForeignTableStmt::has_base_stmt() const { - return _internal_has_base_stmt(); +// .pg_query.Node returnval = 1 [json_name = "returnval"]; +inline bool ReturnStmt::has_returnval() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.returnval_ != nullptr); + return value; } -inline void CreateForeignTableStmt::clear_base_stmt() { - if (GetArenaForAllocation() == nullptr && _impl_.base_stmt_ != nullptr) { - delete _impl_.base_stmt_; - } - _impl_.base_stmt_ = nullptr; +inline void ReturnStmt::clear_returnval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.returnval_ != nullptr) _impl_.returnval_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::CreateStmt& CreateForeignTableStmt::_internal_base_stmt() const { - const ::pg_query::CreateStmt* p = _impl_.base_stmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_CreateStmt_default_instance_); +inline const ::pg_query::Node& ReturnStmt::_internal_returnval() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.returnval_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::CreateStmt& CreateForeignTableStmt::base_stmt() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.base_stmt) - return _internal_base_stmt(); +inline const ::pg_query::Node& ReturnStmt::returnval() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReturnStmt.returnval) + return _internal_returnval(); } -inline void CreateForeignTableStmt::unsafe_arena_set_allocated_base_stmt( - ::pg_query::CreateStmt* base_stmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.base_stmt_); +inline void ReturnStmt::unsafe_arena_set_allocated_returnval(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.returnval_); } - _impl_.base_stmt_ = base_stmt; - if (base_stmt) { - + _impl_.returnval_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateForeignTableStmt.base_stmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReturnStmt.returnval) } -inline ::pg_query::CreateStmt* CreateForeignTableStmt::release_base_stmt() { - - ::pg_query::CreateStmt* temp = _impl_.base_stmt_; - _impl_.base_stmt_ = nullptr; +inline ::pg_query::Node* ReturnStmt::release_returnval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.returnval_; + _impl_.returnval_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::CreateStmt* CreateForeignTableStmt::unsafe_arena_release_base_stmt() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignTableStmt.base_stmt) - - ::pg_query::CreateStmt* temp = _impl_.base_stmt_; - _impl_.base_stmt_ = nullptr; +inline ::pg_query::Node* ReturnStmt::unsafe_arena_release_returnval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReturnStmt.returnval) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.returnval_; + _impl_.returnval_ = nullptr; return temp; } -inline ::pg_query::CreateStmt* CreateForeignTableStmt::_internal_mutable_base_stmt() { - - if (_impl_.base_stmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CreateStmt>(GetArenaForAllocation()); - _impl_.base_stmt_ = p; +inline ::pg_query::Node* ReturnStmt::_internal_mutable_returnval() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.returnval_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.returnval_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.base_stmt_; + return _impl_.returnval_; } -inline ::pg_query::CreateStmt* CreateForeignTableStmt::mutable_base_stmt() { - ::pg_query::CreateStmt* _msg = _internal_mutable_base_stmt(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.base_stmt) +inline ::pg_query::Node* ReturnStmt::mutable_returnval() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_returnval(); + // @@protoc_insertion_point(field_mutable:pg_query.ReturnStmt.returnval) return _msg; } -inline void CreateForeignTableStmt::set_allocated_base_stmt(::pg_query::CreateStmt* base_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ReturnStmt::set_allocated_returnval(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.base_stmt_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.returnval_); } - if (base_stmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(base_stmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - base_stmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, base_stmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.base_stmt_ = base_stmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignTableStmt.base_stmt) + + _impl_.returnval_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ReturnStmt.returnval) } -// string servername = 2 [json_name = "servername"]; -inline void CreateForeignTableStmt::clear_servername() { - _impl_.servername_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// PLAssignStmt + +// string name = 1 [json_name = "name"]; +inline void PLAssignStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline const std::string& CreateForeignTableStmt::servername() const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.servername) - return _internal_servername(); +inline const std::string& PLAssignStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.name) + return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateForeignTableStmt::set_servername(ArgT0&& arg0, ArgT... args) { - - _impl_.servername_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateForeignTableStmt.servername) +template +inline PROTOBUF_ALWAYS_INLINE void PLAssignStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.name) } -inline std::string* CreateForeignTableStmt::mutable_servername() { - std::string* _s = _internal_mutable_servername(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.servername) +inline std::string* PLAssignStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.name) return _s; } -inline const std::string& CreateForeignTableStmt::_internal_servername() const { - return _impl_.servername_.Get(); +inline const std::string& PLAssignStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void CreateForeignTableStmt::_internal_set_servername(const std::string& value) { - - _impl_.servername_.Set(value, GetArenaForAllocation()); +inline void PLAssignStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* CreateForeignTableStmt::_internal_mutable_servername() { - - return _impl_.servername_.Mutable(GetArenaForAllocation()); +inline std::string* PLAssignStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CreateForeignTableStmt::release_servername() { - // @@protoc_insertion_point(field_release:pg_query.CreateForeignTableStmt.servername) - return _impl_.servername_.Release(); +inline std::string* PLAssignStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PLAssignStmt.name) + return _impl_.name_.Release(); } -inline void CreateForeignTableStmt::set_allocated_servername(std::string* servername) { - if (servername != nullptr) { - - } else { - - } - _impl_.servername_.SetAllocated(servername, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.servername_.IsDefault()) { - _impl_.servername_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignTableStmt.servername) +inline void PLAssignStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.PLAssignStmt.name) } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int CreateForeignTableStmt::_internal_options_size() const { - return _impl_.options_.size(); +// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; +inline int PLAssignStmt::_internal_indirection_size() const { + return _internal_indirection().size(); } -inline int CreateForeignTableStmt::options_size() const { - return _internal_options_size(); +inline int PLAssignStmt::indirection_size() const { + return _internal_indirection_size(); } -inline void CreateForeignTableStmt::clear_options() { - _impl_.options_.Clear(); +inline void PLAssignStmt::clear_indirection() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indirection_.Clear(); } -inline ::pg_query::Node* CreateForeignTableStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* PLAssignStmt::mutable_indirection(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.indirection) + return _internal_mutable_indirection()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateForeignTableStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateForeignTableStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PLAssignStmt::mutable_indirection() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PLAssignStmt.indirection) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_indirection(); } -inline const ::pg_query::Node& CreateForeignTableStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const ::pg_query::Node& PLAssignStmt::indirection(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.indirection) + return _internal_indirection().Get(index); } -inline const ::pg_query::Node& CreateForeignTableStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.options) - return _internal_options(index); +inline ::pg_query::Node* PLAssignStmt::add_indirection() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_indirection()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PLAssignStmt.indirection) + return _add; } -inline ::pg_query::Node* CreateForeignTableStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PLAssignStmt::indirection() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PLAssignStmt.indirection) + return _internal_indirection(); } -inline ::pg_query::Node* CreateForeignTableStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateForeignTableStmt.options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PLAssignStmt::_internal_indirection() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indirection_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateForeignTableStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateForeignTableStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PLAssignStmt::_internal_mutable_indirection() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.indirection_; } -// ------------------------------------------------------------------- - -// ImportForeignSchemaStmt - -// string server_name = 1 [json_name = "server_name"]; -inline void ImportForeignSchemaStmt::clear_server_name() { - _impl_.server_name_.ClearToEmpty(); +// int32 nnames = 3 [json_name = "nnames"]; +inline void PLAssignStmt::clear_nnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nnames_ = 0; } -inline const std::string& ImportForeignSchemaStmt::server_name() const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.server_name) - return _internal_server_name(); +inline ::int32_t PLAssignStmt::nnames() const { + // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.nnames) + return _internal_nnames(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ImportForeignSchemaStmt::set_server_name(ArgT0&& arg0, ArgT... args) { - - _impl_.server_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.server_name) +inline void PLAssignStmt::set_nnames(::int32_t value) { + _internal_set_nnames(value); + // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.nnames) } -inline std::string* ImportForeignSchemaStmt::mutable_server_name() { - std::string* _s = _internal_mutable_server_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.server_name) - return _s; +inline ::int32_t PLAssignStmt::_internal_nnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nnames_; } -inline const std::string& ImportForeignSchemaStmt::_internal_server_name() const { - return _impl_.server_name_.Get(); +inline void PLAssignStmt::_internal_set_nnames(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nnames_ = value; } -inline void ImportForeignSchemaStmt::_internal_set_server_name(const std::string& value) { - - _impl_.server_name_.Set(value, GetArenaForAllocation()); + +// .pg_query.SelectStmt val = 4 [json_name = "val"]; +inline bool PLAssignStmt::has_val() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.val_ != nullptr); + return value; } -inline std::string* ImportForeignSchemaStmt::_internal_mutable_server_name() { - - return _impl_.server_name_.Mutable(GetArenaForAllocation()); +inline void PLAssignStmt::clear_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.val_ != nullptr) _impl_.val_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* ImportForeignSchemaStmt::release_server_name() { - // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.server_name) - return _impl_.server_name_.Release(); +inline const ::pg_query::SelectStmt& PLAssignStmt::_internal_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::SelectStmt* p = _impl_.val_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_SelectStmt_default_instance_); } -inline void ImportForeignSchemaStmt::set_allocated_server_name(std::string* server_name) { - if (server_name != nullptr) { - +inline const ::pg_query::SelectStmt& PLAssignStmt::val() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.val) + return _internal_val(); +} +inline void PLAssignStmt::unsafe_arena_set_allocated_val(::pg_query::SelectStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.val_); + } + _impl_.val_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PLAssignStmt.val) +} +inline ::pg_query::SelectStmt* PLAssignStmt::release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::SelectStmt* released = _impl_.val_; + _impl_.val_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.server_name_.SetAllocated(server_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.server_name_.IsDefault()) { - _impl_.server_name_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.server_name) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::SelectStmt* PLAssignStmt::unsafe_arena_release_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PLAssignStmt.val) -// string remote_schema = 2 [json_name = "remote_schema"]; -inline void ImportForeignSchemaStmt::clear_remote_schema() { - _impl_.remote_schema_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::SelectStmt* temp = _impl_.val_; + _impl_.val_ = nullptr; + return temp; } -inline const std::string& ImportForeignSchemaStmt::remote_schema() const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.remote_schema) - return _internal_remote_schema(); +inline ::pg_query::SelectStmt* PLAssignStmt::_internal_mutable_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.val_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::SelectStmt>(GetArena()); + _impl_.val_ = reinterpret_cast<::pg_query::SelectStmt*>(p); + } + return _impl_.val_; } -template -inline PROTOBUF_ALWAYS_INLINE -void ImportForeignSchemaStmt::set_remote_schema(ArgT0&& arg0, ArgT... args) { - - _impl_.remote_schema_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.remote_schema) +inline ::pg_query::SelectStmt* PLAssignStmt::mutable_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::SelectStmt* _msg = _internal_mutable_val(); + // @@protoc_insertion_point(field_mutable:pg_query.PLAssignStmt.val) + return _msg; } -inline std::string* ImportForeignSchemaStmt::mutable_remote_schema() { - std::string* _s = _internal_mutable_remote_schema(); - // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.remote_schema) - return _s; +inline void PLAssignStmt::set_allocated_val(::pg_query::SelectStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::SelectStmt*>(_impl_.val_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::SelectStmt*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.val_ = reinterpret_cast<::pg_query::SelectStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PLAssignStmt.val) } -inline const std::string& ImportForeignSchemaStmt::_internal_remote_schema() const { - return _impl_.remote_schema_.Get(); + +// int32 location = 5 [json_name = "location"]; +inline void PLAssignStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline void ImportForeignSchemaStmt::_internal_set_remote_schema(const std::string& value) { - - _impl_.remote_schema_.Set(value, GetArenaForAllocation()); +inline ::int32_t PLAssignStmt::location() const { + // @@protoc_insertion_point(field_get:pg_query.PLAssignStmt.location) + return _internal_location(); } -inline std::string* ImportForeignSchemaStmt::_internal_mutable_remote_schema() { - - return _impl_.remote_schema_.Mutable(GetArenaForAllocation()); +inline void PLAssignStmt::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PLAssignStmt.location) } -inline std::string* ImportForeignSchemaStmt::release_remote_schema() { - // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.remote_schema) - return _impl_.remote_schema_.Release(); +inline ::int32_t PLAssignStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline void ImportForeignSchemaStmt::set_allocated_remote_schema(std::string* remote_schema) { - if (remote_schema != nullptr) { - - } else { - - } - _impl_.remote_schema_.SetAllocated(remote_schema, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.remote_schema_.IsDefault()) { - _impl_.remote_schema_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.remote_schema) +inline void PLAssignStmt::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// string local_schema = 3 [json_name = "local_schema"]; -inline void ImportForeignSchemaStmt::clear_local_schema() { - _impl_.local_schema_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// CreateSchemaStmt + +// string schemaname = 1 [json_name = "schemaname"]; +inline void CreateSchemaStmt::clear_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schemaname_.ClearToEmpty(); } -inline const std::string& ImportForeignSchemaStmt::local_schema() const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.local_schema) - return _internal_local_schema(); +inline const std::string& CreateSchemaStmt::schemaname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.schemaname) + return _internal_schemaname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ImportForeignSchemaStmt::set_local_schema(ArgT0&& arg0, ArgT... args) { - - _impl_.local_schema_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.local_schema) +template +inline PROTOBUF_ALWAYS_INLINE void CreateSchemaStmt::set_schemaname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateSchemaStmt.schemaname) } -inline std::string* ImportForeignSchemaStmt::mutable_local_schema() { - std::string* _s = _internal_mutable_local_schema(); - // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.local_schema) +inline std::string* CreateSchemaStmt::mutable_schemaname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_schemaname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.schemaname) return _s; } -inline const std::string& ImportForeignSchemaStmt::_internal_local_schema() const { - return _impl_.local_schema_.Get(); +inline const std::string& CreateSchemaStmt::_internal_schemaname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.schemaname_.Get(); } -inline void ImportForeignSchemaStmt::_internal_set_local_schema(const std::string& value) { - - _impl_.local_schema_.Set(value, GetArenaForAllocation()); +inline void CreateSchemaStmt::_internal_set_schemaname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.schemaname_.Set(value, GetArena()); } -inline std::string* ImportForeignSchemaStmt::_internal_mutable_local_schema() { - - return _impl_.local_schema_.Mutable(GetArenaForAllocation()); +inline std::string* CreateSchemaStmt::_internal_mutable_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.schemaname_.Mutable( GetArena()); } -inline std::string* ImportForeignSchemaStmt::release_local_schema() { - // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.local_schema) - return _impl_.local_schema_.Release(); +inline std::string* CreateSchemaStmt::release_schemaname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateSchemaStmt.schemaname) + return _impl_.schemaname_.Release(); } -inline void ImportForeignSchemaStmt::set_allocated_local_schema(std::string* local_schema) { - if (local_schema != nullptr) { - - } else { - - } - _impl_.local_schema_.SetAllocated(local_schema, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.local_schema_.IsDefault()) { - _impl_.local_schema_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.local_schema) +inline void CreateSchemaStmt::set_allocated_schemaname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schemaname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.schemaname_.IsDefault()) { + _impl_.schemaname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSchemaStmt.schemaname) } -// .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"]; -inline void ImportForeignSchemaStmt::clear_list_type() { - _impl_.list_type_ = 0; +// .pg_query.RoleSpec authrole = 2 [json_name = "authrole"]; +inline bool CreateSchemaStmt::has_authrole() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.authrole_ != nullptr); + return value; } -inline ::pg_query::ImportForeignSchemaType ImportForeignSchemaStmt::_internal_list_type() const { - return static_cast< ::pg_query::ImportForeignSchemaType >(_impl_.list_type_); +inline void CreateSchemaStmt::clear_authrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.authrole_ != nullptr) _impl_.authrole_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::ImportForeignSchemaType ImportForeignSchemaStmt::list_type() const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.list_type) - return _internal_list_type(); +inline const ::pg_query::RoleSpec& CreateSchemaStmt::_internal_authrole() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.authrole_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline void ImportForeignSchemaStmt::_internal_set_list_type(::pg_query::ImportForeignSchemaType value) { - - _impl_.list_type_ = value; +inline const ::pg_query::RoleSpec& CreateSchemaStmt::authrole() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.authrole) + return _internal_authrole(); } -inline void ImportForeignSchemaStmt::set_list_type(::pg_query::ImportForeignSchemaType value) { - _internal_set_list_type(value); - // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.list_type) +inline void CreateSchemaStmt::unsafe_arena_set_allocated_authrole(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.authrole_); + } + _impl_.authrole_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateSchemaStmt.authrole) } +inline ::pg_query::RoleSpec* CreateSchemaStmt::release_authrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node table_list = 5 [json_name = "table_list"]; -inline int ImportForeignSchemaStmt::_internal_table_list_size() const { - return _impl_.table_list_.size(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.authrole_; + _impl_.authrole_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int ImportForeignSchemaStmt::table_list_size() const { - return _internal_table_list_size(); +inline ::pg_query::RoleSpec* CreateSchemaStmt::unsafe_arena_release_authrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateSchemaStmt.authrole) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.authrole_; + _impl_.authrole_ = nullptr; + return temp; } -inline void ImportForeignSchemaStmt::clear_table_list() { - _impl_.table_list_.Clear(); +inline ::pg_query::RoleSpec* CreateSchemaStmt::_internal_mutable_authrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.authrole_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.authrole_ = reinterpret_cast<::pg_query::RoleSpec*>(p); + } + return _impl_.authrole_; } -inline ::pg_query::Node* ImportForeignSchemaStmt::mutable_table_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.table_list) - return _impl_.table_list_.Mutable(index); +inline ::pg_query::RoleSpec* CreateSchemaStmt::mutable_authrole() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_authrole(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.authrole) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ImportForeignSchemaStmt::mutable_table_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ImportForeignSchemaStmt.table_list) - return &_impl_.table_list_; +inline void CreateSchemaStmt::set_allocated_authrole(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.authrole_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.authrole_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSchemaStmt.authrole) } -inline const ::pg_query::Node& ImportForeignSchemaStmt::_internal_table_list(int index) const { - return _impl_.table_list_.Get(index); + +// repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"]; +inline int CreateSchemaStmt::_internal_schema_elts_size() const { + return _internal_schema_elts().size(); } -inline const ::pg_query::Node& ImportForeignSchemaStmt::table_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.table_list) - return _internal_table_list(index); +inline int CreateSchemaStmt::schema_elts_size() const { + return _internal_schema_elts_size(); } -inline ::pg_query::Node* ImportForeignSchemaStmt::_internal_add_table_list() { - return _impl_.table_list_.Add(); +inline void CreateSchemaStmt::clear_schema_elts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.schema_elts_.Clear(); } -inline ::pg_query::Node* ImportForeignSchemaStmt::add_table_list() { - ::pg_query::Node* _add = _internal_add_table_list(); - // @@protoc_insertion_point(field_add:pg_query.ImportForeignSchemaStmt.table_list) - return _add; +inline ::pg_query::Node* CreateSchemaStmt::mutable_schema_elts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateSchemaStmt.schema_elts) + return _internal_mutable_schema_elts()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ImportForeignSchemaStmt::table_list() const { - // @@protoc_insertion_point(field_list:pg_query.ImportForeignSchemaStmt.table_list) - return _impl_.table_list_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateSchemaStmt::mutable_schema_elts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSchemaStmt.schema_elts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_schema_elts(); } - -// repeated .pg_query.Node options = 6 [json_name = "options"]; -inline int ImportForeignSchemaStmt::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::pg_query::Node& CreateSchemaStmt::schema_elts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.schema_elts) + return _internal_schema_elts().Get(index); } -inline int ImportForeignSchemaStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::Node* CreateSchemaStmt::add_schema_elts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_schema_elts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateSchemaStmt.schema_elts) + return _add; } -inline void ImportForeignSchemaStmt::clear_options() { - _impl_.options_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateSchemaStmt::schema_elts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateSchemaStmt.schema_elts) + return _internal_schema_elts(); } -inline ::pg_query::Node* ImportForeignSchemaStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.options) - return _impl_.options_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateSchemaStmt::_internal_schema_elts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.schema_elts_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ImportForeignSchemaStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ImportForeignSchemaStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateSchemaStmt::_internal_mutable_schema_elts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.schema_elts_; } -inline const ::pg_query::Node& ImportForeignSchemaStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool if_not_exists = 4 [json_name = "if_not_exists"]; +inline void CreateSchemaStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline const ::pg_query::Node& ImportForeignSchemaStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.options) - return _internal_options(index); +inline bool CreateSchemaStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateSchemaStmt.if_not_exists) + return _internal_if_not_exists(); } -inline ::pg_query::Node* ImportForeignSchemaStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void CreateSchemaStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateSchemaStmt.if_not_exists) } -inline ::pg_query::Node* ImportForeignSchemaStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.ImportForeignSchemaStmt.options) - return _add; +inline bool CreateSchemaStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ImportForeignSchemaStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.ImportForeignSchemaStmt.options) - return _impl_.options_; +inline void CreateSchemaStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } // ------------------------------------------------------------------- -// CreateExtensionStmt +// AlterTableStmt -// string extname = 1 [json_name = "extname"]; -inline void CreateExtensionStmt::clear_extname() { - _impl_.extname_.ClearToEmpty(); +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool AlterTableStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const std::string& CreateExtensionStmt::extname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.extname) - return _internal_extname(); +inline void AlterTableStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateExtensionStmt::set_extname(ArgT0&& arg0, ArgT... args) { - - _impl_.extname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateExtensionStmt.extname) +inline const ::pg_query::RangeVar& AlterTableStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline std::string* CreateExtensionStmt::mutable_extname() { - std::string* _s = _internal_mutable_extname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateExtensionStmt.extname) - return _s; +inline const ::pg_query::RangeVar& AlterTableStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.relation) + return _internal_relation(); } -inline const std::string& CreateExtensionStmt::_internal_extname() const { - return _impl_.extname_.Get(); +inline void AlterTableStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableStmt.relation) } -inline void CreateExtensionStmt::_internal_set_extname(const std::string& value) { - - _impl_.extname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::RangeVar* AlterTableStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* CreateExtensionStmt::_internal_mutable_extname() { - - return _impl_.extname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::RangeVar* AlterTableStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline std::string* CreateExtensionStmt::release_extname() { - // @@protoc_insertion_point(field_release:pg_query.CreateExtensionStmt.extname) - return _impl_.extname_.Release(); +inline ::pg_query::RangeVar* AlterTableStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void CreateExtensionStmt::set_allocated_extname(std::string* extname) { - if (extname != nullptr) { - - } else { - +inline ::pg_query::RangeVar* AlterTableStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableStmt.relation) + return _msg; +} +inline void AlterTableStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - _impl_.extname_.SetAllocated(extname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.extname_.IsDefault()) { - _impl_.extname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateExtensionStmt.extname) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableStmt.relation) } -// bool if_not_exists = 2 [json_name = "if_not_exists"]; -inline void CreateExtensionStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +// repeated .pg_query.Node cmds = 2 [json_name = "cmds"]; +inline int AlterTableStmt::_internal_cmds_size() const { + return _internal_cmds().size(); } -inline bool CreateExtensionStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline int AlterTableStmt::cmds_size() const { + return _internal_cmds_size(); } -inline bool CreateExtensionStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.if_not_exists) - return _internal_if_not_exists(); +inline void AlterTableStmt::clear_cmds() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cmds_.Clear(); } -inline void CreateExtensionStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline ::pg_query::Node* AlterTableStmt::mutable_cmds(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableStmt.cmds) + return _internal_mutable_cmds()->Mutable(index); } -inline void CreateExtensionStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateExtensionStmt.if_not_exists) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTableStmt::mutable_cmds() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableStmt.cmds) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cmds(); +} +inline const ::pg_query::Node& AlterTableStmt::cmds(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.cmds) + return _internal_cmds().Get(index); +} +inline ::pg_query::Node* AlterTableStmt::add_cmds() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cmds()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTableStmt.cmds) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTableStmt::cmds() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTableStmt.cmds) + return _internal_cmds(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTableStmt::_internal_cmds() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cmds_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTableStmt::_internal_mutable_cmds() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cmds_; } -// repeated .pg_query.Node options = 3 [json_name = "options"]; -inline int CreateExtensionStmt::_internal_options_size() const { - return _impl_.options_.size(); +// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; +inline void AlterTableStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline int CreateExtensionStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::ObjectType AlterTableStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.objtype) + return _internal_objtype(); } -inline void CreateExtensionStmt::clear_options() { - _impl_.options_.Clear(); +inline void AlterTableStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableStmt.objtype) } -inline ::pg_query::Node* CreateExtensionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateExtensionStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::ObjectType AlterTableStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateExtensionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateExtensionStmt.options) - return &_impl_.options_; +inline void AlterTableStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -inline const ::pg_query::Node& CreateExtensionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); + +// bool missing_ok = 4 [json_name = "missing_ok"]; +inline void AlterTableStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline const ::pg_query::Node& CreateExtensionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.options) - return _internal_options(index); +inline bool AlterTableStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableStmt.missing_ok) + return _internal_missing_ok(); } -inline ::pg_query::Node* CreateExtensionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline void AlterTableStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableStmt.missing_ok) } -inline ::pg_query::Node* CreateExtensionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateExtensionStmt.options) - return _add; +inline bool AlterTableStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateExtensionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateExtensionStmt.options) - return _impl_.options_; +inline void AlterTableStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// AlterExtensionStmt +// ReplicaIdentityStmt -// string extname = 1 [json_name = "extname"]; -inline void AlterExtensionStmt::clear_extname() { - _impl_.extname_.ClearToEmpty(); +// string identity_type = 1 [json_name = "identity_type"]; +inline void ReplicaIdentityStmt::clear_identity_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.identity_type_.ClearToEmpty(); } -inline const std::string& AlterExtensionStmt::extname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionStmt.extname) - return _internal_extname(); +inline const std::string& ReplicaIdentityStmt::identity_type() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReplicaIdentityStmt.identity_type) + return _internal_identity_type(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterExtensionStmt::set_extname(ArgT0&& arg0, ArgT... args) { - - _impl_.extname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterExtensionStmt.extname) +template +inline PROTOBUF_ALWAYS_INLINE void ReplicaIdentityStmt::set_identity_type(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.identity_type_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ReplicaIdentityStmt.identity_type) } -inline std::string* AlterExtensionStmt::mutable_extname() { - std::string* _s = _internal_mutable_extname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionStmt.extname) +inline std::string* ReplicaIdentityStmt::mutable_identity_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_identity_type(); + // @@protoc_insertion_point(field_mutable:pg_query.ReplicaIdentityStmt.identity_type) return _s; } -inline const std::string& AlterExtensionStmt::_internal_extname() const { - return _impl_.extname_.Get(); +inline const std::string& ReplicaIdentityStmt::_internal_identity_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.identity_type_.Get(); } -inline void AlterExtensionStmt::_internal_set_extname(const std::string& value) { - - _impl_.extname_.Set(value, GetArenaForAllocation()); +inline void ReplicaIdentityStmt::_internal_set_identity_type(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.identity_type_.Set(value, GetArena()); } -inline std::string* AlterExtensionStmt::_internal_mutable_extname() { - - return _impl_.extname_.Mutable(GetArenaForAllocation()); +inline std::string* ReplicaIdentityStmt::_internal_mutable_identity_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.identity_type_.Mutable( GetArena()); } -inline std::string* AlterExtensionStmt::release_extname() { - // @@protoc_insertion_point(field_release:pg_query.AlterExtensionStmt.extname) - return _impl_.extname_.Release(); +inline std::string* ReplicaIdentityStmt::release_identity_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReplicaIdentityStmt.identity_type) + return _impl_.identity_type_.Release(); } -inline void AlterExtensionStmt::set_allocated_extname(std::string* extname) { - if (extname != nullptr) { - - } else { - - } - _impl_.extname_.SetAllocated(extname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.extname_.IsDefault()) { - _impl_.extname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionStmt.extname) +inline void ReplicaIdentityStmt::set_allocated_identity_type(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.identity_type_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.identity_type_.IsDefault()) { + _impl_.identity_type_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ReplicaIdentityStmt.identity_type) } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterExtensionStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int AlterExtensionStmt::options_size() const { - return _internal_options_size(); +// string name = 2 [json_name = "name"]; +inline void ReplicaIdentityStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline void AlterExtensionStmt::clear_options() { - _impl_.options_.Clear(); +inline const std::string& ReplicaIdentityStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReplicaIdentityStmt.name) + return _internal_name(); } -inline ::pg_query::Node* AlterExtensionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionStmt.options) - return _impl_.options_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void ReplicaIdentityStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ReplicaIdentityStmt.name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterExtensionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterExtensionStmt.options) - return &_impl_.options_; +inline std::string* ReplicaIdentityStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ReplicaIdentityStmt.name) + return _s; } -inline const ::pg_query::Node& AlterExtensionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const std::string& ReplicaIdentityStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline const ::pg_query::Node& AlterExtensionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionStmt.options) - return _internal_options(index); +inline void ReplicaIdentityStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline ::pg_query::Node* AlterExtensionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline std::string* ReplicaIdentityStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* AlterExtensionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterExtensionStmt.options) - return _add; +inline std::string* ReplicaIdentityStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReplicaIdentityStmt.name) + return _impl_.name_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterExtensionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterExtensionStmt.options) - return _impl_.options_; +inline void ReplicaIdentityStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ReplicaIdentityStmt.name) } // ------------------------------------------------------------------- -// AlterExtensionContentsStmt +// AlterTableCmd -// string extname = 1 [json_name = "extname"]; -inline void AlterExtensionContentsStmt::clear_extname() { - _impl_.extname_.ClearToEmpty(); +// .pg_query.AlterTableType subtype = 1 [json_name = "subtype"]; +inline void AlterTableCmd::clear_subtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subtype_ = 0; } -inline const std::string& AlterExtensionContentsStmt::extname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.extname) - return _internal_extname(); +inline ::pg_query::AlterTableType AlterTableCmd::subtype() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.subtype) + return _internal_subtype(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterExtensionContentsStmt::set_extname(ArgT0&& arg0, ArgT... args) { - - _impl_.extname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.extname) +inline void AlterTableCmd::set_subtype(::pg_query::AlterTableType value) { + _internal_set_subtype(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.subtype) } -inline std::string* AlterExtensionContentsStmt::mutable_extname() { - std::string* _s = _internal_mutable_extname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionContentsStmt.extname) - return _s; +inline ::pg_query::AlterTableType AlterTableCmd::_internal_subtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AlterTableType>(_impl_.subtype_); } -inline const std::string& AlterExtensionContentsStmt::_internal_extname() const { - return _impl_.extname_.Get(); +inline void AlterTableCmd::_internal_set_subtype(::pg_query::AlterTableType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subtype_ = value; } -inline void AlterExtensionContentsStmt::_internal_set_extname(const std::string& value) { - - _impl_.extname_.Set(value, GetArenaForAllocation()); + +// string name = 2 [json_name = "name"]; +inline void AlterTableCmd::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline std::string* AlterExtensionContentsStmt::_internal_mutable_extname() { - - return _impl_.extname_.Mutable(GetArenaForAllocation()); +inline const std::string& AlterTableCmd::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.name) + return _internal_name(); } -inline std::string* AlterExtensionContentsStmt::release_extname() { - // @@protoc_insertion_point(field_release:pg_query.AlterExtensionContentsStmt.extname) - return _impl_.extname_.Release(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterTableCmd::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.name) } -inline void AlterExtensionContentsStmt::set_allocated_extname(std::string* extname) { - if (extname != nullptr) { - - } else { - - } - _impl_.extname_.SetAllocated(extname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.extname_.IsDefault()) { - _impl_.extname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionContentsStmt.extname) +inline std::string* AlterTableCmd::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.name) + return _s; } - -// int32 action = 2 [json_name = "action"]; -inline void AlterExtensionContentsStmt::clear_action() { - _impl_.action_ = 0; +inline const std::string& AlterTableCmd::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline int32_t AlterExtensionContentsStmt::_internal_action() const { - return _impl_.action_; +inline void AlterTableCmd::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline int32_t AlterExtensionContentsStmt::action() const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.action) - return _internal_action(); +inline std::string* AlterTableCmd::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline void AlterExtensionContentsStmt::_internal_set_action(int32_t value) { - - _impl_.action_ = value; +inline std::string* AlterTableCmd::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.name) + return _impl_.name_.Release(); } -inline void AlterExtensionContentsStmt::set_action(int32_t value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.action) +inline void AlterTableCmd::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.name) } -// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; -inline void AlterExtensionContentsStmt::clear_objtype() { - _impl_.objtype_ = 0; +// int32 num = 3 [json_name = "num"]; +inline void AlterTableCmd::clear_num() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.num_ = 0; } -inline ::pg_query::ObjectType AlterExtensionContentsStmt::_internal_objtype() const { - return static_cast< ::pg_query::ObjectType >(_impl_.objtype_); +inline ::int32_t AlterTableCmd::num() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.num) + return _internal_num(); } -inline ::pg_query::ObjectType AlterExtensionContentsStmt::objtype() const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.objtype) - return _internal_objtype(); +inline void AlterTableCmd::set_num(::int32_t value) { + _internal_set_num(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.num) } -inline void AlterExtensionContentsStmt::_internal_set_objtype(::pg_query::ObjectType value) { - - _impl_.objtype_ = value; +inline ::int32_t AlterTableCmd::_internal_num() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.num_; } -inline void AlterExtensionContentsStmt::set_objtype(::pg_query::ObjectType value) { - _internal_set_objtype(value); - // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.objtype) +inline void AlterTableCmd::_internal_set_num(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.num_ = value; } -// .pg_query.Node object = 4 [json_name = "object"]; -inline bool AlterExtensionContentsStmt::_internal_has_object() const { - return this != internal_default_instance() && _impl_.object_ != nullptr; -} -inline bool AlterExtensionContentsStmt::has_object() const { - return _internal_has_object(); +// .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; +inline bool AlterTableCmd::has_newowner() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.newowner_ != nullptr); + return value; } -inline void AlterExtensionContentsStmt::clear_object() { - if (GetArenaForAllocation() == nullptr && _impl_.object_ != nullptr) { - delete _impl_.object_; - } - _impl_.object_ = nullptr; +inline void AlterTableCmd::clear_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.newowner_ != nullptr) _impl_.newowner_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& AlterExtensionContentsStmt::_internal_object() const { - const ::pg_query::Node* p = _impl_.object_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RoleSpec& AlterTableCmd::_internal_newowner() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.newowner_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::Node& AlterExtensionContentsStmt::object() const { - // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.object) - return _internal_object(); +inline const ::pg_query::RoleSpec& AlterTableCmd::newowner() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.newowner) + return _internal_newowner(); } -inline void AlterExtensionContentsStmt::unsafe_arena_set_allocated_object( - ::pg_query::Node* object) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.object_); +inline void AlterTableCmd::unsafe_arena_set_allocated_newowner(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newowner_); } - _impl_.object_ = object; - if (object) { - + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterExtensionContentsStmt.object) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableCmd.newowner) } -inline ::pg_query::Node* AlterExtensionContentsStmt::release_object() { - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::RoleSpec* AlterTableCmd::release_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.newowner_; + _impl_.newowner_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterExtensionContentsStmt::unsafe_arena_release_object() { - // @@protoc_insertion_point(field_release:pg_query.AlterExtensionContentsStmt.object) - - ::pg_query::Node* temp = _impl_.object_; - _impl_.object_ = nullptr; +inline ::pg_query::RoleSpec* AlterTableCmd::unsafe_arena_release_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.newowner) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.newowner_; + _impl_.newowner_ = nullptr; return temp; } -inline ::pg_query::Node* AlterExtensionContentsStmt::_internal_mutable_object() { - - if (_impl_.object_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.object_ = p; +inline ::pg_query::RoleSpec* AlterTableCmd::_internal_mutable_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.newowner_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.object_; + return _impl_.newowner_; } -inline ::pg_query::Node* AlterExtensionContentsStmt::mutable_object() { - ::pg_query::Node* _msg = _internal_mutable_object(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionContentsStmt.object) +inline ::pg_query::RoleSpec* AlterTableCmd::mutable_newowner() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_newowner(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.newowner) return _msg; } -inline void AlterExtensionContentsStmt::set_allocated_object(::pg_query::Node* object) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterTableCmd::set_allocated_newowner(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.object_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.newowner_); } - if (object) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(object); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - object = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, object, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.object_ = object; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionContentsStmt.object) -} -// ------------------------------------------------------------------- - -// CreateEventTrigStmt - -// string trigname = 1 [json_name = "trigname"]; -inline void CreateEventTrigStmt::clear_trigname() { - _impl_.trigname_.ClearToEmpty(); -} -inline const std::string& CreateEventTrigStmt::trigname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.trigname) - return _internal_trigname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void CreateEventTrigStmt::set_trigname(ArgT0&& arg0, ArgT... args) { - - _impl_.trigname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateEventTrigStmt.trigname) -} -inline std::string* CreateEventTrigStmt::mutable_trigname() { - std::string* _s = _internal_mutable_trigname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.trigname) - return _s; + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.newowner) } -inline const std::string& CreateEventTrigStmt::_internal_trigname() const { - return _impl_.trigname_.Get(); + +// .pg_query.Node def = 5 [json_name = "def"]; +inline bool AlterTableCmd::has_def() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.def_ != nullptr); + return value; } -inline void CreateEventTrigStmt::_internal_set_trigname(const std::string& value) { - - _impl_.trigname_.Set(value, GetArenaForAllocation()); +inline void AlterTableCmd::clear_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.def_ != nullptr) _impl_.def_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline std::string* CreateEventTrigStmt::_internal_mutable_trigname() { - - return _impl_.trigname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::Node& AlterTableCmd::_internal_def() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.def_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* CreateEventTrigStmt::release_trigname() { - // @@protoc_insertion_point(field_release:pg_query.CreateEventTrigStmt.trigname) - return _impl_.trigname_.Release(); +inline const ::pg_query::Node& AlterTableCmd::def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.def) + return _internal_def(); } -inline void CreateEventTrigStmt::set_allocated_trigname(std::string* trigname) { - if (trigname != nullptr) { - +inline void AlterTableCmd::unsafe_arena_set_allocated_def(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.def_); + } + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.trigname_.SetAllocated(trigname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.trigname_.IsDefault()) { - _impl_.trigname_.Set("", GetArenaForAllocation()); + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterTableCmd.def) +} +inline ::pg_query::Node* AlterTableCmd::release_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.def_; + _impl_.def_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateEventTrigStmt.trigname) +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::Node* AlterTableCmd::unsafe_arena_release_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableCmd.def) -// string eventname = 2 [json_name = "eventname"]; -inline void CreateEventTrigStmt::clear_eventname() { - _impl_.eventname_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.def_; + _impl_.def_ = nullptr; + return temp; } -inline const std::string& CreateEventTrigStmt::eventname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.eventname) - return _internal_eventname(); +inline ::pg_query::Node* AlterTableCmd::_internal_mutable_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.def_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.def_; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateEventTrigStmt::set_eventname(ArgT0&& arg0, ArgT... args) { - - _impl_.eventname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateEventTrigStmt.eventname) +inline ::pg_query::Node* AlterTableCmd::mutable_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_def(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableCmd.def) + return _msg; } -inline std::string* CreateEventTrigStmt::mutable_eventname() { - std::string* _s = _internal_mutable_eventname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.eventname) - return _s; +inline void AlterTableCmd::set_allocated_def(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.def_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableCmd.def) } -inline const std::string& CreateEventTrigStmt::_internal_eventname() const { - return _impl_.eventname_.Get(); + +// .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; +inline void AlterTableCmd::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; } -inline void CreateEventTrigStmt::_internal_set_eventname(const std::string& value) { - - _impl_.eventname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::DropBehavior AlterTableCmd::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.behavior) + return _internal_behavior(); } -inline std::string* CreateEventTrigStmt::_internal_mutable_eventname() { - - return _impl_.eventname_.Mutable(GetArenaForAllocation()); +inline void AlterTableCmd::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.behavior) } -inline std::string* CreateEventTrigStmt::release_eventname() { - // @@protoc_insertion_point(field_release:pg_query.CreateEventTrigStmt.eventname) - return _impl_.eventname_.Release(); +inline ::pg_query::DropBehavior AlterTableCmd::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); } -inline void CreateEventTrigStmt::set_allocated_eventname(std::string* eventname) { - if (eventname != nullptr) { - - } else { - - } - _impl_.eventname_.SetAllocated(eventname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.eventname_.IsDefault()) { - _impl_.eventname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateEventTrigStmt.eventname) +inline void AlterTableCmd::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; } -// repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"]; -inline int CreateEventTrigStmt::_internal_whenclause_size() const { - return _impl_.whenclause_.size(); +// bool missing_ok = 7 [json_name = "missing_ok"]; +inline void AlterTableCmd::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline int CreateEventTrigStmt::whenclause_size() const { - return _internal_whenclause_size(); +inline bool AlterTableCmd::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.missing_ok) + return _internal_missing_ok(); } -inline void CreateEventTrigStmt::clear_whenclause() { - _impl_.whenclause_.Clear(); +inline void AlterTableCmd::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.missing_ok) } -inline ::pg_query::Node* CreateEventTrigStmt::mutable_whenclause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.whenclause) - return _impl_.whenclause_.Mutable(index); +inline bool AlterTableCmd::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateEventTrigStmt::mutable_whenclause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEventTrigStmt.whenclause) - return &_impl_.whenclause_; +inline void AlterTableCmd::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -inline const ::pg_query::Node& CreateEventTrigStmt::_internal_whenclause(int index) const { - return _impl_.whenclause_.Get(index); + +// bool recurse = 8 [json_name = "recurse"]; +inline void AlterTableCmd::clear_recurse() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.recurse_ = false; } -inline const ::pg_query::Node& CreateEventTrigStmt::whenclause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.whenclause) - return _internal_whenclause(index); +inline bool AlterTableCmd::recurse() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableCmd.recurse) + return _internal_recurse(); } -inline ::pg_query::Node* CreateEventTrigStmt::_internal_add_whenclause() { - return _impl_.whenclause_.Add(); +inline void AlterTableCmd::set_recurse(bool value) { + _internal_set_recurse(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableCmd.recurse) } -inline ::pg_query::Node* CreateEventTrigStmt::add_whenclause() { - ::pg_query::Node* _add = _internal_add_whenclause(); - // @@protoc_insertion_point(field_add:pg_query.CreateEventTrigStmt.whenclause) - return _add; +inline bool AlterTableCmd::_internal_recurse() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.recurse_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateEventTrigStmt::whenclause() const { - // @@protoc_insertion_point(field_list:pg_query.CreateEventTrigStmt.whenclause) - return _impl_.whenclause_; +inline void AlterTableCmd::_internal_set_recurse(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.recurse_ = value; } -// repeated .pg_query.Node funcname = 4 [json_name = "funcname"]; -inline int CreateEventTrigStmt::_internal_funcname_size() const { - return _impl_.funcname_.size(); +// ------------------------------------------------------------------- + +// AlterCollationStmt + +// repeated .pg_query.Node collname = 1 [json_name = "collname"]; +inline int AlterCollationStmt::_internal_collname_size() const { + return _internal_collname().size(); } -inline int CreateEventTrigStmt::funcname_size() const { - return _internal_funcname_size(); +inline int AlterCollationStmt::collname_size() const { + return _internal_collname_size(); } -inline void CreateEventTrigStmt::clear_funcname() { - _impl_.funcname_.Clear(); +inline void AlterCollationStmt::clear_collname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.collname_.Clear(); } -inline ::pg_query::Node* CreateEventTrigStmt::mutable_funcname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.funcname) - return _impl_.funcname_.Mutable(index); +inline ::pg_query::Node* AlterCollationStmt::mutable_collname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterCollationStmt.collname) + return _internal_mutable_collname()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateEventTrigStmt::mutable_funcname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEventTrigStmt.funcname) - return &_impl_.funcname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterCollationStmt::mutable_collname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterCollationStmt.collname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_collname(); } -inline const ::pg_query::Node& CreateEventTrigStmt::_internal_funcname(int index) const { - return _impl_.funcname_.Get(index); +inline const ::pg_query::Node& AlterCollationStmt::collname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterCollationStmt.collname) + return _internal_collname().Get(index); } -inline const ::pg_query::Node& CreateEventTrigStmt::funcname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.funcname) - return _internal_funcname(index); +inline ::pg_query::Node* AlterCollationStmt::add_collname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_collname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterCollationStmt.collname) + return _add; } -inline ::pg_query::Node* CreateEventTrigStmt::_internal_add_funcname() { - return _impl_.funcname_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterCollationStmt::collname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterCollationStmt.collname) + return _internal_collname(); } -inline ::pg_query::Node* CreateEventTrigStmt::add_funcname() { - ::pg_query::Node* _add = _internal_add_funcname(); - // @@protoc_insertion_point(field_add:pg_query.CreateEventTrigStmt.funcname) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterCollationStmt::_internal_collname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.collname_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateEventTrigStmt::funcname() const { - // @@protoc_insertion_point(field_list:pg_query.CreateEventTrigStmt.funcname) - return _impl_.funcname_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterCollationStmt::_internal_mutable_collname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.collname_; } // ------------------------------------------------------------------- -// AlterEventTrigStmt +// AlterDomainStmt -// string trigname = 1 [json_name = "trigname"]; -inline void AlterEventTrigStmt::clear_trigname() { - _impl_.trigname_.ClearToEmpty(); +// string subtype = 1 [json_name = "subtype"]; +inline void AlterDomainStmt::clear_subtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subtype_.ClearToEmpty(); } -inline const std::string& AlterEventTrigStmt::trigname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEventTrigStmt.trigname) - return _internal_trigname(); +inline const std::string& AlterDomainStmt::subtype() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.subtype) + return _internal_subtype(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterEventTrigStmt::set_trigname(ArgT0&& arg0, ArgT... args) { - - _impl_.trigname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterEventTrigStmt.trigname) +template +inline PROTOBUF_ALWAYS_INLINE void AlterDomainStmt::set_subtype(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subtype_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.subtype) } -inline std::string* AlterEventTrigStmt::mutable_trigname() { - std::string* _s = _internal_mutable_trigname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterEventTrigStmt.trigname) +inline std::string* AlterDomainStmt::mutable_subtype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_subtype(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.subtype) return _s; } -inline const std::string& AlterEventTrigStmt::_internal_trigname() const { - return _impl_.trigname_.Get(); +inline const std::string& AlterDomainStmt::_internal_subtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.subtype_.Get(); } -inline void AlterEventTrigStmt::_internal_set_trigname(const std::string& value) { - - _impl_.trigname_.Set(value, GetArenaForAllocation()); +inline void AlterDomainStmt::_internal_set_subtype(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subtype_.Set(value, GetArena()); } -inline std::string* AlterEventTrigStmt::_internal_mutable_trigname() { - - return _impl_.trigname_.Mutable(GetArenaForAllocation()); +inline std::string* AlterDomainStmt::_internal_mutable_subtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.subtype_.Mutable( GetArena()); } -inline std::string* AlterEventTrigStmt::release_trigname() { - // @@protoc_insertion_point(field_release:pg_query.AlterEventTrigStmt.trigname) - return _impl_.trigname_.Release(); +inline std::string* AlterDomainStmt::release_subtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.subtype) + return _impl_.subtype_.Release(); } -inline void AlterEventTrigStmt::set_allocated_trigname(std::string* trigname) { - if (trigname != nullptr) { - - } else { - - } - _impl_.trigname_.SetAllocated(trigname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.trigname_.IsDefault()) { - _impl_.trigname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEventTrigStmt.trigname) +inline void AlterDomainStmt::set_allocated_subtype(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subtype_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.subtype_.IsDefault()) { + _impl_.subtype_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.subtype) } -// string tgenabled = 2 [json_name = "tgenabled"]; -inline void AlterEventTrigStmt::clear_tgenabled() { - _impl_.tgenabled_.ClearToEmpty(); +// repeated .pg_query.Node type_name = 2 [json_name = "typeName"]; +inline int AlterDomainStmt::_internal_type_name_size() const { + return _internal_type_name().size(); } -inline const std::string& AlterEventTrigStmt::tgenabled() const { - // @@protoc_insertion_point(field_get:pg_query.AlterEventTrigStmt.tgenabled) - return _internal_tgenabled(); +inline int AlterDomainStmt::type_name_size() const { + return _internal_type_name_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterEventTrigStmt::set_tgenabled(ArgT0&& arg0, ArgT... args) { - - _impl_.tgenabled_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterEventTrigStmt.tgenabled) +inline void AlterDomainStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_name_.Clear(); } -inline std::string* AlterEventTrigStmt::mutable_tgenabled() { - std::string* _s = _internal_mutable_tgenabled(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterEventTrigStmt.tgenabled) - return _s; +inline ::pg_query::Node* AlterDomainStmt::mutable_type_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.type_name) + return _internal_mutable_type_name()->Mutable(index); } -inline const std::string& AlterEventTrigStmt::_internal_tgenabled() const { - return _impl_.tgenabled_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterDomainStmt::mutable_type_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDomainStmt.type_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_type_name(); } -inline void AlterEventTrigStmt::_internal_set_tgenabled(const std::string& value) { - - _impl_.tgenabled_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& AlterDomainStmt::type_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.type_name) + return _internal_type_name().Get(index); } -inline std::string* AlterEventTrigStmt::_internal_mutable_tgenabled() { - - return _impl_.tgenabled_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* AlterDomainStmt::add_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_type_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterDomainStmt.type_name) + return _add; } -inline std::string* AlterEventTrigStmt::release_tgenabled() { - // @@protoc_insertion_point(field_release:pg_query.AlterEventTrigStmt.tgenabled) - return _impl_.tgenabled_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterDomainStmt::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterDomainStmt.type_name) + return _internal_type_name(); } -inline void AlterEventTrigStmt::set_allocated_tgenabled(std::string* tgenabled) { - if (tgenabled != nullptr) { - - } else { - - } - _impl_.tgenabled_.SetAllocated(tgenabled, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.tgenabled_.IsDefault()) { - _impl_.tgenabled_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEventTrigStmt.tgenabled) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterDomainStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_name_; } - -// ------------------------------------------------------------------- - -// RefreshMatViewStmt - -// bool concurrent = 1 [json_name = "concurrent"]; -inline void RefreshMatViewStmt::clear_concurrent() { - _impl_.concurrent_ = false; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterDomainStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.type_name_; } -inline bool RefreshMatViewStmt::_internal_concurrent() const { - return _impl_.concurrent_; + +// string name = 3 [json_name = "name"]; +inline void AlterDomainStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline bool RefreshMatViewStmt::concurrent() const { - // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.concurrent) - return _internal_concurrent(); +inline const std::string& AlterDomainStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.name) + return _internal_name(); } -inline void RefreshMatViewStmt::_internal_set_concurrent(bool value) { - - _impl_.concurrent_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void AlterDomainStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.name) } -inline void RefreshMatViewStmt::set_concurrent(bool value) { - _internal_set_concurrent(value); - // @@protoc_insertion_point(field_set:pg_query.RefreshMatViewStmt.concurrent) +inline std::string* AlterDomainStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.name) + return _s; } - -// bool skip_data = 2 [json_name = "skipData"]; -inline void RefreshMatViewStmt::clear_skip_data() { - _impl_.skip_data_ = false; +inline const std::string& AlterDomainStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline bool RefreshMatViewStmt::_internal_skip_data() const { - return _impl_.skip_data_; +inline void AlterDomainStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline bool RefreshMatViewStmt::skip_data() const { - // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.skip_data) - return _internal_skip_data(); +inline std::string* AlterDomainStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline void RefreshMatViewStmt::_internal_set_skip_data(bool value) { - - _impl_.skip_data_ = value; +inline std::string* AlterDomainStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.name) + return _impl_.name_.Release(); } -inline void RefreshMatViewStmt::set_skip_data(bool value) { - _internal_set_skip_data(value); - // @@protoc_insertion_point(field_set:pg_query.RefreshMatViewStmt.skip_data) +inline void AlterDomainStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.name) } -// .pg_query.RangeVar relation = 3 [json_name = "relation"]; -inline bool RefreshMatViewStmt::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool RefreshMatViewStmt::has_relation() const { - return _internal_has_relation(); +// .pg_query.Node def = 4 [json_name = "def"]; +inline bool AlterDomainStmt::has_def() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.def_ != nullptr); + return value; } -inline void RefreshMatViewStmt::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void AlterDomainStmt::clear_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.def_ != nullptr) _impl_.def_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& RefreshMatViewStmt::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& AlterDomainStmt::_internal_def() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.def_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& RefreshMatViewStmt::relation() const { - // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.relation) - return _internal_relation(); +inline const ::pg_query::Node& AlterDomainStmt::def() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.def) + return _internal_def(); } -inline void RefreshMatViewStmt::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void AlterDomainStmt::unsafe_arena_set_allocated_def(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.def_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RefreshMatViewStmt.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDomainStmt.def) } -inline ::pg_query::RangeVar* RefreshMatViewStmt::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* AlterDomainStmt::release_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.def_; + _impl_.def_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* RefreshMatViewStmt::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.RefreshMatViewStmt.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* AlterDomainStmt::unsafe_arena_release_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDomainStmt.def) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.def_; + _impl_.def_ = nullptr; return temp; } -inline ::pg_query::RangeVar* RefreshMatViewStmt::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* AlterDomainStmt::_internal_mutable_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.def_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.def_; } -inline ::pg_query::RangeVar* RefreshMatViewStmt::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.RefreshMatViewStmt.relation) +inline ::pg_query::Node* AlterDomainStmt::mutable_def() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_def(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDomainStmt.def) return _msg; } -inline void RefreshMatViewStmt::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterDomainStmt::set_allocated_def(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.def_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.RefreshMatViewStmt.relation) + + _impl_.def_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDomainStmt.def) +} + +// .pg_query.DropBehavior behavior = 5 [json_name = "behavior"]; +inline void AlterDomainStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; +} +inline ::pg_query::DropBehavior AlterDomainStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.behavior) + return _internal_behavior(); +} +inline void AlterDomainStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.behavior) +} +inline ::pg_query::DropBehavior AlterDomainStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); +} +inline void AlterDomainStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; +} + +// bool missing_ok = 6 [json_name = "missing_ok"]; +inline void AlterDomainStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; +} +inline bool AlterDomainStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterDomainStmt.missing_ok) + return _internal_missing_ok(); +} +inline void AlterDomainStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterDomainStmt.missing_ok) +} +inline bool AlterDomainStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; +} +inline void AlterDomainStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// ReplicaIdentityStmt +// GrantStmt -// string identity_type = 1 [json_name = "identity_type"]; -inline void ReplicaIdentityStmt::clear_identity_type() { - _impl_.identity_type_.ClearToEmpty(); +// bool is_grant = 1 [json_name = "is_grant"]; +inline void GrantStmt::clear_is_grant() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_grant_ = false; } -inline const std::string& ReplicaIdentityStmt::identity_type() const { - // @@protoc_insertion_point(field_get:pg_query.ReplicaIdentityStmt.identity_type) - return _internal_identity_type(); +inline bool GrantStmt::is_grant() const { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.is_grant) + return _internal_is_grant(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ReplicaIdentityStmt::set_identity_type(ArgT0&& arg0, ArgT... args) { - - _impl_.identity_type_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ReplicaIdentityStmt.identity_type) +inline void GrantStmt::set_is_grant(bool value) { + _internal_set_is_grant(value); + // @@protoc_insertion_point(field_set:pg_query.GrantStmt.is_grant) } -inline std::string* ReplicaIdentityStmt::mutable_identity_type() { - std::string* _s = _internal_mutable_identity_type(); - // @@protoc_insertion_point(field_mutable:pg_query.ReplicaIdentityStmt.identity_type) - return _s; +inline bool GrantStmt::_internal_is_grant() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_grant_; } -inline const std::string& ReplicaIdentityStmt::_internal_identity_type() const { - return _impl_.identity_type_.Get(); +inline void GrantStmt::_internal_set_is_grant(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_grant_ = value; } -inline void ReplicaIdentityStmt::_internal_set_identity_type(const std::string& value) { - - _impl_.identity_type_.Set(value, GetArenaForAllocation()); + +// .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"]; +inline void GrantStmt::clear_targtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.targtype_ = 0; } -inline std::string* ReplicaIdentityStmt::_internal_mutable_identity_type() { - - return _impl_.identity_type_.Mutable(GetArenaForAllocation()); +inline ::pg_query::GrantTargetType GrantStmt::targtype() const { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.targtype) + return _internal_targtype(); } -inline std::string* ReplicaIdentityStmt::release_identity_type() { - // @@protoc_insertion_point(field_release:pg_query.ReplicaIdentityStmt.identity_type) - return _impl_.identity_type_.Release(); +inline void GrantStmt::set_targtype(::pg_query::GrantTargetType value) { + _internal_set_targtype(value); + // @@protoc_insertion_point(field_set:pg_query.GrantStmt.targtype) } -inline void ReplicaIdentityStmt::set_allocated_identity_type(std::string* identity_type) { - if (identity_type != nullptr) { - - } else { - - } - _impl_.identity_type_.SetAllocated(identity_type, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.identity_type_.IsDefault()) { - _impl_.identity_type_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ReplicaIdentityStmt.identity_type) +inline ::pg_query::GrantTargetType GrantStmt::_internal_targtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::GrantTargetType>(_impl_.targtype_); +} +inline void GrantStmt::_internal_set_targtype(::pg_query::GrantTargetType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.targtype_ = value; } -// string name = 2 [json_name = "name"]; -inline void ReplicaIdentityStmt::clear_name() { - _impl_.name_.ClearToEmpty(); +// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; +inline void GrantStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline const std::string& ReplicaIdentityStmt::name() const { - // @@protoc_insertion_point(field_get:pg_query.ReplicaIdentityStmt.name) - return _internal_name(); +inline ::pg_query::ObjectType GrantStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.objtype) + return _internal_objtype(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ReplicaIdentityStmt::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ReplicaIdentityStmt.name) +inline void GrantStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.GrantStmt.objtype) } -inline std::string* ReplicaIdentityStmt::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ReplicaIdentityStmt.name) - return _s; +inline ::pg_query::ObjectType GrantStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline const std::string& ReplicaIdentityStmt::_internal_name() const { - return _impl_.name_.Get(); +inline void GrantStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -inline void ReplicaIdentityStmt::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// repeated .pg_query.Node objects = 4 [json_name = "objects"]; +inline int GrantStmt::_internal_objects_size() const { + return _internal_objects().size(); } -inline std::string* ReplicaIdentityStmt::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline int GrantStmt::objects_size() const { + return _internal_objects_size(); } -inline std::string* ReplicaIdentityStmt::release_name() { - // @@protoc_insertion_point(field_release:pg_query.ReplicaIdentityStmt.name) - return _impl_.name_.Release(); +inline void GrantStmt::clear_objects() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objects_.Clear(); } -inline void ReplicaIdentityStmt::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ReplicaIdentityStmt.name) +inline ::pg_query::Node* GrantStmt::mutable_objects(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.objects) + return _internal_mutable_objects()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantStmt::mutable_objects() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.objects) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_objects(); +} +inline const ::pg_query::Node& GrantStmt::objects(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.objects) + return _internal_objects().Get(index); +} +inline ::pg_query::Node* GrantStmt::add_objects() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_objects()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantStmt.objects) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantStmt::objects() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantStmt.objects) + return _internal_objects(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantStmt::_internal_objects() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.objects_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantStmt::_internal_mutable_objects() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.objects_; } -// ------------------------------------------------------------------- +// repeated .pg_query.Node privileges = 5 [json_name = "privileges"]; +inline int GrantStmt::_internal_privileges_size() const { + return _internal_privileges().size(); +} +inline int GrantStmt::privileges_size() const { + return _internal_privileges_size(); +} +inline void GrantStmt::clear_privileges() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.privileges_.Clear(); +} +inline ::pg_query::Node* GrantStmt::mutable_privileges(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.privileges) + return _internal_mutable_privileges()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantStmt::mutable_privileges() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.privileges) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_privileges(); +} +inline const ::pg_query::Node& GrantStmt::privileges(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.privileges) + return _internal_privileges().Get(index); +} +inline ::pg_query::Node* GrantStmt::add_privileges() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_privileges()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantStmt.privileges) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantStmt::privileges() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantStmt.privileges) + return _internal_privileges(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantStmt::_internal_privileges() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.privileges_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantStmt::_internal_mutable_privileges() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.privileges_; +} -// AlterSystemStmt +// repeated .pg_query.Node grantees = 6 [json_name = "grantees"]; +inline int GrantStmt::_internal_grantees_size() const { + return _internal_grantees().size(); +} +inline int GrantStmt::grantees_size() const { + return _internal_grantees_size(); +} +inline void GrantStmt::clear_grantees() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.grantees_.Clear(); +} +inline ::pg_query::Node* GrantStmt::mutable_grantees(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.grantees) + return _internal_mutable_grantees()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantStmt::mutable_grantees() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantStmt.grantees) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_grantees(); +} +inline const ::pg_query::Node& GrantStmt::grantees(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grantees) + return _internal_grantees().Get(index); +} +inline ::pg_query::Node* GrantStmt::add_grantees() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_grantees()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantStmt.grantees) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantStmt::grantees() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantStmt.grantees) + return _internal_grantees(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantStmt::_internal_grantees() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.grantees_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantStmt::_internal_mutable_grantees() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.grantees_; +} -// .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"]; -inline bool AlterSystemStmt::_internal_has_setstmt() const { - return this != internal_default_instance() && _impl_.setstmt_ != nullptr; +// bool grant_option = 7 [json_name = "grant_option"]; +inline void GrantStmt::clear_grant_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.grant_option_ = false; +} +inline bool GrantStmt::grant_option() const { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grant_option) + return _internal_grant_option(); +} +inline void GrantStmt::set_grant_option(bool value) { + _internal_set_grant_option(value); + // @@protoc_insertion_point(field_set:pg_query.GrantStmt.grant_option) +} +inline bool GrantStmt::_internal_grant_option() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.grant_option_; } -inline bool AlterSystemStmt::has_setstmt() const { - return _internal_has_setstmt(); +inline void GrantStmt::_internal_set_grant_option(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.grant_option_ = value; } -inline void AlterSystemStmt::clear_setstmt() { - if (GetArenaForAllocation() == nullptr && _impl_.setstmt_ != nullptr) { - delete _impl_.setstmt_; - } - _impl_.setstmt_ = nullptr; + +// .pg_query.RoleSpec grantor = 8 [json_name = "grantor"]; +inline bool GrantStmt::has_grantor() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.grantor_ != nullptr); + return value; } -inline const ::pg_query::VariableSetStmt& AlterSystemStmt::_internal_setstmt() const { - const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_VariableSetStmt_default_instance_); +inline void GrantStmt::clear_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.grantor_ != nullptr) _impl_.grantor_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::VariableSetStmt& AlterSystemStmt::setstmt() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSystemStmt.setstmt) - return _internal_setstmt(); +inline const ::pg_query::RoleSpec& GrantStmt::_internal_grantor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.grantor_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); +} +inline const ::pg_query::RoleSpec& GrantStmt::grantor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.grantor) + return _internal_grantor(); } -inline void AlterSystemStmt::unsafe_arena_set_allocated_setstmt( - ::pg_query::VariableSetStmt* setstmt) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.setstmt_); +inline void GrantStmt::unsafe_arena_set_allocated_grantor(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.grantor_); } - _impl_.setstmt_ = setstmt; - if (setstmt) { - + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterSystemStmt.setstmt) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GrantStmt.grantor) } -inline ::pg_query::VariableSetStmt* AlterSystemStmt::release_setstmt() { - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::RoleSpec* GrantStmt::release_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.grantor_; + _impl_.grantor_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::VariableSetStmt* AlterSystemStmt::unsafe_arena_release_setstmt() { - // @@protoc_insertion_point(field_release:pg_query.AlterSystemStmt.setstmt) - - ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; - _impl_.setstmt_ = nullptr; +inline ::pg_query::RoleSpec* GrantStmt::unsafe_arena_release_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.GrantStmt.grantor) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.grantor_; + _impl_.grantor_ = nullptr; return temp; } -inline ::pg_query::VariableSetStmt* AlterSystemStmt::_internal_mutable_setstmt() { - - if (_impl_.setstmt_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArenaForAllocation()); - _impl_.setstmt_ = p; +inline ::pg_query::RoleSpec* GrantStmt::_internal_mutable_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.grantor_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.setstmt_; + return _impl_.grantor_; } -inline ::pg_query::VariableSetStmt* AlterSystemStmt::mutable_setstmt() { - ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterSystemStmt.setstmt) +inline ::pg_query::RoleSpec* GrantStmt::mutable_grantor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_grantor(); + // @@protoc_insertion_point(field_mutable:pg_query.GrantStmt.grantor) return _msg; } -inline void AlterSystemStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void GrantStmt::set_allocated_grantor(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.setstmt_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.grantor_); } - if (setstmt) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(setstmt); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - setstmt = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, setstmt, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.setstmt_ = setstmt; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSystemStmt.setstmt) + + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.GrantStmt.grantor) +} + +// .pg_query.DropBehavior behavior = 9 [json_name = "behavior"]; +inline void GrantStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; +} +inline ::pg_query::DropBehavior GrantStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.GrantStmt.behavior) + return _internal_behavior(); +} +inline void GrantStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.GrantStmt.behavior) +} +inline ::pg_query::DropBehavior GrantStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); +} +inline void GrantStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; } // ------------------------------------------------------------------- -// CreatePolicyStmt +// ObjectWithArgs -// string policy_name = 1 [json_name = "policy_name"]; -inline void CreatePolicyStmt::clear_policy_name() { - _impl_.policy_name_.ClearToEmpty(); +// repeated .pg_query.Node objname = 1 [json_name = "objname"]; +inline int ObjectWithArgs::_internal_objname_size() const { + return _internal_objname().size(); } -inline const std::string& CreatePolicyStmt::policy_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.policy_name) - return _internal_policy_name(); +inline int ObjectWithArgs::objname_size() const { + return _internal_objname_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreatePolicyStmt::set_policy_name(ArgT0&& arg0, ArgT... args) { - - _impl_.policy_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.policy_name) +inline void ObjectWithArgs::clear_objname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objname_.Clear(); } -inline std::string* CreatePolicyStmt::mutable_policy_name() { - std::string* _s = _internal_mutable_policy_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.policy_name) - return _s; +inline ::pg_query::Node* ObjectWithArgs::mutable_objname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objname) + return _internal_mutable_objname()->Mutable(index); } -inline const std::string& CreatePolicyStmt::_internal_policy_name() const { - return _impl_.policy_name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ObjectWithArgs::mutable_objname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_objname(); } -inline void CreatePolicyStmt::_internal_set_policy_name(const std::string& value) { - - _impl_.policy_name_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& ObjectWithArgs::objname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objname) + return _internal_objname().Get(index); } -inline std::string* CreatePolicyStmt::_internal_mutable_policy_name() { - - return _impl_.policy_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* ObjectWithArgs::add_objname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_objname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objname) + return _add; } -inline std::string* CreatePolicyStmt::release_policy_name() { - // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.policy_name) - return _impl_.policy_name_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ObjectWithArgs::objname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objname) + return _internal_objname(); } -inline void CreatePolicyStmt::set_allocated_policy_name(std::string* policy_name) { - if (policy_name != nullptr) { - - } else { - - } - _impl_.policy_name_.SetAllocated(policy_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.policy_name_.IsDefault()) { - _impl_.policy_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.policy_name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ObjectWithArgs::_internal_objname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.objname_; } - -// .pg_query.RangeVar table = 2 [json_name = "table"]; -inline bool CreatePolicyStmt::_internal_has_table() const { - return this != internal_default_instance() && _impl_.table_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ObjectWithArgs::_internal_mutable_objname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.objname_; } -inline bool CreatePolicyStmt::has_table() const { - return _internal_has_table(); + +// repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; +inline int ObjectWithArgs::_internal_objargs_size() const { + return _internal_objargs().size(); } -inline void CreatePolicyStmt::clear_table() { - if (GetArenaForAllocation() == nullptr && _impl_.table_ != nullptr) { - delete _impl_.table_; - } - _impl_.table_ = nullptr; +inline int ObjectWithArgs::objargs_size() const { + return _internal_objargs_size(); } -inline const ::pg_query::RangeVar& CreatePolicyStmt::_internal_table() const { - const ::pg_query::RangeVar* p = _impl_.table_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline void ObjectWithArgs::clear_objargs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objargs_.Clear(); } -inline const ::pg_query::RangeVar& CreatePolicyStmt::table() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.table) - return _internal_table(); +inline ::pg_query::Node* ObjectWithArgs::mutable_objargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objargs) + return _internal_mutable_objargs()->Mutable(index); } -inline void CreatePolicyStmt::unsafe_arena_set_allocated_table( - ::pg_query::RangeVar* table) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.table_); - } - _impl_.table_ = table; - if (table) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.table) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ObjectWithArgs::mutable_objargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objargs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_objargs(); } -inline ::pg_query::RangeVar* CreatePolicyStmt::release_table() { - - ::pg_query::RangeVar* temp = _impl_.table_; - _impl_.table_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& ObjectWithArgs::objargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objargs) + return _internal_objargs().Get(index); } -inline ::pg_query::RangeVar* CreatePolicyStmt::unsafe_arena_release_table() { - // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.table) - - ::pg_query::RangeVar* temp = _impl_.table_; - _impl_.table_ = nullptr; - return temp; +inline ::pg_query::Node* ObjectWithArgs::add_objargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_objargs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objargs) + return _add; } -inline ::pg_query::RangeVar* CreatePolicyStmt::_internal_mutable_table() { - - if (_impl_.table_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.table_ = p; - } - return _impl_.table_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ObjectWithArgs::objargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objargs) + return _internal_objargs(); } -inline ::pg_query::RangeVar* CreatePolicyStmt::mutable_table() { - ::pg_query::RangeVar* _msg = _internal_mutable_table(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.table) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ObjectWithArgs::_internal_objargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.objargs_; } -inline void CreatePolicyStmt::set_allocated_table(::pg_query::RangeVar* table) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.table_; - } - if (table) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(table); - if (message_arena != submessage_arena) { - table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, table, submessage_arena); - } - - } else { - - } - _impl_.table_ = table; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.table) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ObjectWithArgs::_internal_mutable_objargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.objargs_; } -// string cmd_name = 3 [json_name = "cmd_name"]; -inline void CreatePolicyStmt::clear_cmd_name() { - _impl_.cmd_name_.ClearToEmpty(); +// repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; +inline int ObjectWithArgs::_internal_objfuncargs_size() const { + return _internal_objfuncargs().size(); } -inline const std::string& CreatePolicyStmt::cmd_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.cmd_name) - return _internal_cmd_name(); +inline int ObjectWithArgs::objfuncargs_size() const { + return _internal_objfuncargs_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreatePolicyStmt::set_cmd_name(ArgT0&& arg0, ArgT... args) { - - _impl_.cmd_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.cmd_name) +inline void ObjectWithArgs::clear_objfuncargs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objfuncargs_.Clear(); } -inline std::string* CreatePolicyStmt::mutable_cmd_name() { - std::string* _s = _internal_mutable_cmd_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.cmd_name) - return _s; +inline ::pg_query::Node* ObjectWithArgs::mutable_objfuncargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objfuncargs) + return _internal_mutable_objfuncargs()->Mutable(index); } -inline const std::string& CreatePolicyStmt::_internal_cmd_name() const { - return _impl_.cmd_name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ObjectWithArgs::mutable_objfuncargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objfuncargs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_objfuncargs(); } -inline void CreatePolicyStmt::_internal_set_cmd_name(const std::string& value) { - - _impl_.cmd_name_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& ObjectWithArgs::objfuncargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objfuncargs) + return _internal_objfuncargs().Get(index); } -inline std::string* CreatePolicyStmt::_internal_mutable_cmd_name() { - - return _impl_.cmd_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* ObjectWithArgs::add_objfuncargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_objfuncargs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objfuncargs) + return _add; } -inline std::string* CreatePolicyStmt::release_cmd_name() { - // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.cmd_name) - return _impl_.cmd_name_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ObjectWithArgs::objfuncargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objfuncargs) + return _internal_objfuncargs(); } -inline void CreatePolicyStmt::set_allocated_cmd_name(std::string* cmd_name) { - if (cmd_name != nullptr) { - - } else { - - } - _impl_.cmd_name_.SetAllocated(cmd_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cmd_name_.IsDefault()) { - _impl_.cmd_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.cmd_name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ObjectWithArgs::_internal_objfuncargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.objfuncargs_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ObjectWithArgs::_internal_mutable_objfuncargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.objfuncargs_; } -// bool permissive = 4 [json_name = "permissive"]; -inline void CreatePolicyStmt::clear_permissive() { - _impl_.permissive_ = false; +// bool args_unspecified = 4 [json_name = "args_unspecified"]; +inline void ObjectWithArgs::clear_args_unspecified() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_unspecified_ = false; } -inline bool CreatePolicyStmt::_internal_permissive() const { - return _impl_.permissive_; +inline bool ObjectWithArgs::args_unspecified() const { + // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.args_unspecified) + return _internal_args_unspecified(); } -inline bool CreatePolicyStmt::permissive() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.permissive) - return _internal_permissive(); +inline void ObjectWithArgs::set_args_unspecified(bool value) { + _internal_set_args_unspecified(value); + // @@protoc_insertion_point(field_set:pg_query.ObjectWithArgs.args_unspecified) } -inline void CreatePolicyStmt::_internal_set_permissive(bool value) { - - _impl_.permissive_ = value; +inline bool ObjectWithArgs::_internal_args_unspecified() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_unspecified_; } -inline void CreatePolicyStmt::set_permissive(bool value) { - _internal_set_permissive(value); - // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.permissive) +inline void ObjectWithArgs::_internal_set_args_unspecified(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.args_unspecified_ = value; } -// repeated .pg_query.Node roles = 5 [json_name = "roles"]; -inline int CreatePolicyStmt::_internal_roles_size() const { - return _impl_.roles_.size(); +// ------------------------------------------------------------------- + +// AccessPriv + +// string priv_name = 1 [json_name = "priv_name"]; +inline void AccessPriv::clear_priv_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.priv_name_.ClearToEmpty(); } -inline int CreatePolicyStmt::roles_size() const { - return _internal_roles_size(); +inline const std::string& AccessPriv::priv_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AccessPriv.priv_name) + return _internal_priv_name(); } -inline void CreatePolicyStmt::clear_roles() { - _impl_.roles_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void AccessPriv::set_priv_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.priv_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AccessPriv.priv_name) } -inline ::pg_query::Node* CreatePolicyStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.roles) - return _impl_.roles_.Mutable(index); +inline std::string* AccessPriv::mutable_priv_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_priv_name(); + // @@protoc_insertion_point(field_mutable:pg_query.AccessPriv.priv_name) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePolicyStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePolicyStmt.roles) - return &_impl_.roles_; +inline const std::string& AccessPriv::_internal_priv_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.priv_name_.Get(); +} +inline void AccessPriv::_internal_set_priv_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.priv_name_.Set(value, GetArena()); } -inline const ::pg_query::Node& CreatePolicyStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); +inline std::string* AccessPriv::_internal_mutable_priv_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.priv_name_.Mutable( GetArena()); } -inline const ::pg_query::Node& CreatePolicyStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.roles) - return _internal_roles(index); +inline std::string* AccessPriv::release_priv_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AccessPriv.priv_name) + return _impl_.priv_name_.Release(); } -inline ::pg_query::Node* CreatePolicyStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline void AccessPriv::set_allocated_priv_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.priv_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.priv_name_.IsDefault()) { + _impl_.priv_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AccessPriv.priv_name) } -inline ::pg_query::Node* CreatePolicyStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.CreatePolicyStmt.roles) + +// repeated .pg_query.Node cols = 2 [json_name = "cols"]; +inline int AccessPriv::_internal_cols_size() const { + return _internal_cols().size(); +} +inline int AccessPriv::cols_size() const { + return _internal_cols_size(); +} +inline void AccessPriv::clear_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cols_.Clear(); +} +inline ::pg_query::Node* AccessPriv::mutable_cols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AccessPriv.cols) + return _internal_mutable_cols()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AccessPriv::mutable_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AccessPriv.cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cols(); +} +inline const ::pg_query::Node& AccessPriv::cols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AccessPriv.cols) + return _internal_cols().Get(index); +} +inline ::pg_query::Node* AccessPriv::add_cols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AccessPriv.cols) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePolicyStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePolicyStmt.roles) - return _impl_.roles_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AccessPriv::cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AccessPriv.cols) + return _internal_cols(); } - -// .pg_query.Node qual = 6 [json_name = "qual"]; -inline bool CreatePolicyStmt::_internal_has_qual() const { - return this != internal_default_instance() && _impl_.qual_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AccessPriv::_internal_cols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cols_; } -inline bool CreatePolicyStmt::has_qual() const { - return _internal_has_qual(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AccessPriv::_internal_mutable_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cols_; } -inline void CreatePolicyStmt::clear_qual() { - if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) { - delete _impl_.qual_; - } - _impl_.qual_ = nullptr; + +// ------------------------------------------------------------------- + +// GrantRoleStmt + +// repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"]; +inline int GrantRoleStmt::_internal_granted_roles_size() const { + return _internal_granted_roles().size(); } -inline const ::pg_query::Node& CreatePolicyStmt::_internal_qual() const { - const ::pg_query::Node* p = _impl_.qual_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline int GrantRoleStmt::granted_roles_size() const { + return _internal_granted_roles_size(); } -inline const ::pg_query::Node& CreatePolicyStmt::qual() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.qual) - return _internal_qual(); +inline void GrantRoleStmt::clear_granted_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.granted_roles_.Clear(); } -inline void CreatePolicyStmt::unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.qual_); - } - _impl_.qual_ = qual; - if (qual) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.qual) +inline ::pg_query::Node* GrantRoleStmt::mutable_granted_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.granted_roles) + return _internal_mutable_granted_roles()->Mutable(index); } -inline ::pg_query::Node* CreatePolicyStmt::release_qual() { - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantRoleStmt::mutable_granted_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantRoleStmt.granted_roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_granted_roles(); } -inline ::pg_query::Node* CreatePolicyStmt::unsafe_arena_release_qual() { - // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.qual) - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; - return temp; +inline const ::pg_query::Node& GrantRoleStmt::granted_roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.granted_roles) + return _internal_granted_roles().Get(index); } -inline ::pg_query::Node* CreatePolicyStmt::_internal_mutable_qual() { - - if (_impl_.qual_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.qual_ = p; - } - return _impl_.qual_; +inline ::pg_query::Node* GrantRoleStmt::add_granted_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_granted_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantRoleStmt.granted_roles) + return _add; } -inline ::pg_query::Node* CreatePolicyStmt::mutable_qual() { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.qual) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantRoleStmt::granted_roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantRoleStmt.granted_roles) + return _internal_granted_roles(); } -inline void CreatePolicyStmt::set_allocated_qual(::pg_query::Node* qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.qual_; - } - if (qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(qual); - if (message_arena != submessage_arena) { - qual = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, qual, submessage_arena); - } - - } else { - - } - _impl_.qual_ = qual; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.qual) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantRoleStmt::_internal_granted_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.granted_roles_; } - -// .pg_query.Node with_check = 7 [json_name = "with_check"]; -inline bool CreatePolicyStmt::_internal_has_with_check() const { - return this != internal_default_instance() && _impl_.with_check_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantRoleStmt::_internal_mutable_granted_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.granted_roles_; } -inline bool CreatePolicyStmt::has_with_check() const { - return _internal_has_with_check(); + +// repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"]; +inline int GrantRoleStmt::_internal_grantee_roles_size() const { + return _internal_grantee_roles().size(); } -inline void CreatePolicyStmt::clear_with_check() { - if (GetArenaForAllocation() == nullptr && _impl_.with_check_ != nullptr) { - delete _impl_.with_check_; - } - _impl_.with_check_ = nullptr; +inline int GrantRoleStmt::grantee_roles_size() const { + return _internal_grantee_roles_size(); } -inline const ::pg_query::Node& CreatePolicyStmt::_internal_with_check() const { - const ::pg_query::Node* p = _impl_.with_check_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void GrantRoleStmt::clear_grantee_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.grantee_roles_.Clear(); } -inline const ::pg_query::Node& CreatePolicyStmt::with_check() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.with_check) - return _internal_with_check(); +inline ::pg_query::Node* GrantRoleStmt::mutable_grantee_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.grantee_roles) + return _internal_mutable_grantee_roles()->Mutable(index); } -inline void CreatePolicyStmt::unsafe_arena_set_allocated_with_check( - ::pg_query::Node* with_check) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_check_); - } - _impl_.with_check_ = with_check; - if (with_check) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.with_check) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantRoleStmt::mutable_grantee_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantRoleStmt.grantee_roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_grantee_roles(); } -inline ::pg_query::Node* CreatePolicyStmt::release_with_check() { - - ::pg_query::Node* temp = _impl_.with_check_; - _impl_.with_check_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& GrantRoleStmt::grantee_roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.grantee_roles) + return _internal_grantee_roles().Get(index); } -inline ::pg_query::Node* CreatePolicyStmt::unsafe_arena_release_with_check() { - // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.with_check) - - ::pg_query::Node* temp = _impl_.with_check_; - _impl_.with_check_ = nullptr; - return temp; +inline ::pg_query::Node* GrantRoleStmt::add_grantee_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_grantee_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantRoleStmt.grantee_roles) + return _add; } -inline ::pg_query::Node* CreatePolicyStmt::_internal_mutable_with_check() { - - if (_impl_.with_check_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.with_check_ = p; - } - return _impl_.with_check_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantRoleStmt::grantee_roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantRoleStmt.grantee_roles) + return _internal_grantee_roles(); } -inline ::pg_query::Node* CreatePolicyStmt::mutable_with_check() { - ::pg_query::Node* _msg = _internal_mutable_with_check(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.with_check) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantRoleStmt::_internal_grantee_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.grantee_roles_; } -inline void CreatePolicyStmt::set_allocated_with_check(::pg_query::Node* with_check) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.with_check_; - } - if (with_check) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_check); - if (message_arena != submessage_arena) { - with_check = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_check, submessage_arena); - } - - } else { - - } - _impl_.with_check_ = with_check; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.with_check) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantRoleStmt::_internal_mutable_grantee_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.grantee_roles_; } -// ------------------------------------------------------------------- - -// AlterPolicyStmt +// bool is_grant = 3 [json_name = "is_grant"]; +inline void GrantRoleStmt::clear_is_grant() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_grant_ = false; +} +inline bool GrantRoleStmt::is_grant() const { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.is_grant) + return _internal_is_grant(); +} +inline void GrantRoleStmt::set_is_grant(bool value) { + _internal_set_is_grant(value); + // @@protoc_insertion_point(field_set:pg_query.GrantRoleStmt.is_grant) +} +inline bool GrantRoleStmt::_internal_is_grant() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_grant_; +} +inline void GrantRoleStmt::_internal_set_is_grant(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_grant_ = value; +} -// string policy_name = 1 [json_name = "policy_name"]; -inline void AlterPolicyStmt::clear_policy_name() { - _impl_.policy_name_.ClearToEmpty(); +// repeated .pg_query.Node opt = 4 [json_name = "opt"]; +inline int GrantRoleStmt::_internal_opt_size() const { + return _internal_opt().size(); } -inline const std::string& AlterPolicyStmt::policy_name() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.policy_name) - return _internal_policy_name(); +inline int GrantRoleStmt::opt_size() const { + return _internal_opt_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterPolicyStmt::set_policy_name(ArgT0&& arg0, ArgT... args) { - - _impl_.policy_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterPolicyStmt.policy_name) +inline void GrantRoleStmt::clear_opt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opt_.Clear(); } -inline std::string* AlterPolicyStmt::mutable_policy_name() { - std::string* _s = _internal_mutable_policy_name(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.policy_name) - return _s; +inline ::pg_query::Node* GrantRoleStmt::mutable_opt(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.opt) + return _internal_mutable_opt()->Mutable(index); } -inline const std::string& AlterPolicyStmt::_internal_policy_name() const { - return _impl_.policy_name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* GrantRoleStmt::mutable_opt() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.GrantRoleStmt.opt) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opt(); } -inline void AlterPolicyStmt::_internal_set_policy_name(const std::string& value) { - - _impl_.policy_name_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& GrantRoleStmt::opt(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.opt) + return _internal_opt().Get(index); } -inline std::string* AlterPolicyStmt::_internal_mutable_policy_name() { - - return _impl_.policy_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* GrantRoleStmt::add_opt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opt()->Add(); + // @@protoc_insertion_point(field_add:pg_query.GrantRoleStmt.opt) + return _add; } -inline std::string* AlterPolicyStmt::release_policy_name() { - // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.policy_name) - return _impl_.policy_name_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& GrantRoleStmt::opt() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.GrantRoleStmt.opt) + return _internal_opt(); } -inline void AlterPolicyStmt::set_allocated_policy_name(std::string* policy_name) { - if (policy_name != nullptr) { - - } else { - - } - _impl_.policy_name_.SetAllocated(policy_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.policy_name_.IsDefault()) { - _impl_.policy_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.policy_name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +GrantRoleStmt::_internal_opt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opt_; } - -// .pg_query.RangeVar table = 2 [json_name = "table"]; -inline bool AlterPolicyStmt::_internal_has_table() const { - return this != internal_default_instance() && _impl_.table_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +GrantRoleStmt::_internal_mutable_opt() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opt_; } -inline bool AlterPolicyStmt::has_table() const { - return _internal_has_table(); + +// .pg_query.RoleSpec grantor = 5 [json_name = "grantor"]; +inline bool GrantRoleStmt::has_grantor() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.grantor_ != nullptr); + return value; } -inline void AlterPolicyStmt::clear_table() { - if (GetArenaForAllocation() == nullptr && _impl_.table_ != nullptr) { - delete _impl_.table_; - } - _impl_.table_ = nullptr; +inline void GrantRoleStmt::clear_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.grantor_ != nullptr) _impl_.grantor_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& AlterPolicyStmt::_internal_table() const { - const ::pg_query::RangeVar* p = _impl_.table_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::RoleSpec& GrantRoleStmt::_internal_grantor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.grantor_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::RangeVar& AlterPolicyStmt::table() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.table) - return _internal_table(); +inline const ::pg_query::RoleSpec& GrantRoleStmt::grantor() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.grantor) + return _internal_grantor(); } -inline void AlterPolicyStmt::unsafe_arena_set_allocated_table( - ::pg_query::RangeVar* table) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.table_); +inline void GrantRoleStmt::unsafe_arena_set_allocated_grantor(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.grantor_); } - _impl_.table_ = table; - if (table) { - + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.table) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.GrantRoleStmt.grantor) } -inline ::pg_query::RangeVar* AlterPolicyStmt::release_table() { - - ::pg_query::RangeVar* temp = _impl_.table_; - _impl_.table_ = nullptr; +inline ::pg_query::RoleSpec* GrantRoleStmt::release_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.grantor_; + _impl_.grantor_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* AlterPolicyStmt::unsafe_arena_release_table() { - // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.table) - - ::pg_query::RangeVar* temp = _impl_.table_; - _impl_.table_ = nullptr; +inline ::pg_query::RoleSpec* GrantRoleStmt::unsafe_arena_release_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.GrantRoleStmt.grantor) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.grantor_; + _impl_.grantor_ = nullptr; return temp; } -inline ::pg_query::RangeVar* AlterPolicyStmt::_internal_mutable_table() { - - if (_impl_.table_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.table_ = p; +inline ::pg_query::RoleSpec* GrantRoleStmt::_internal_mutable_grantor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.grantor_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.table_; + return _impl_.grantor_; } -inline ::pg_query::RangeVar* AlterPolicyStmt::mutable_table() { - ::pg_query::RangeVar* _msg = _internal_mutable_table(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.table) +inline ::pg_query::RoleSpec* GrantRoleStmt::mutable_grantor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_grantor(); + // @@protoc_insertion_point(field_mutable:pg_query.GrantRoleStmt.grantor) return _msg; } -inline void AlterPolicyStmt::set_allocated_table(::pg_query::RangeVar* table) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void GrantRoleStmt::set_allocated_grantor(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.table_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.grantor_); } - if (table) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(table); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - table = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, table, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.table_ = table; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.table) + + _impl_.grantor_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.GrantRoleStmt.grantor) } -// repeated .pg_query.Node roles = 3 [json_name = "roles"]; -inline int AlterPolicyStmt::_internal_roles_size() const { - return _impl_.roles_.size(); +// .pg_query.DropBehavior behavior = 6 [json_name = "behavior"]; +inline void GrantRoleStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; } -inline int AlterPolicyStmt::roles_size() const { - return _internal_roles_size(); +inline ::pg_query::DropBehavior GrantRoleStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.GrantRoleStmt.behavior) + return _internal_behavior(); } -inline void AlterPolicyStmt::clear_roles() { - _impl_.roles_.Clear(); +inline void GrantRoleStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.GrantRoleStmt.behavior) +} +inline ::pg_query::DropBehavior GrantRoleStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); +} +inline void GrantRoleStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; +} + +// ------------------------------------------------------------------- + +// AlterDefaultPrivilegesStmt + +// repeated .pg_query.Node options = 1 [json_name = "options"]; +inline int AlterDefaultPrivilegesStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* AlterPolicyStmt::mutable_roles(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.roles) - return _impl_.roles_.Mutable(index); +inline int AlterDefaultPrivilegesStmt::options_size() const { + return _internal_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterPolicyStmt::mutable_roles() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPolicyStmt.roles) - return &_impl_.roles_; +inline void AlterDefaultPrivilegesStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& AlterPolicyStmt::_internal_roles(int index) const { - return _impl_.roles_.Get(index); +inline ::pg_query::Node* AlterDefaultPrivilegesStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterDefaultPrivilegesStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::Node& AlterPolicyStmt::roles(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.roles) - return _internal_roles(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterDefaultPrivilegesStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDefaultPrivilegesStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* AlterPolicyStmt::_internal_add_roles() { - return _impl_.roles_.Add(); +inline const ::pg_query::Node& AlterDefaultPrivilegesStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDefaultPrivilegesStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* AlterPolicyStmt::add_roles() { - ::pg_query::Node* _add = _internal_add_roles(); - // @@protoc_insertion_point(field_add:pg_query.AlterPolicyStmt.roles) +inline ::pg_query::Node* AlterDefaultPrivilegesStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterDefaultPrivilegesStmt.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterPolicyStmt::roles() const { - // @@protoc_insertion_point(field_list:pg_query.AlterPolicyStmt.roles) - return _impl_.roles_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterDefaultPrivilegesStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterDefaultPrivilegesStmt.options) + return _internal_options(); } - -// .pg_query.Node qual = 4 [json_name = "qual"]; -inline bool AlterPolicyStmt::_internal_has_qual() const { - return this != internal_default_instance() && _impl_.qual_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterDefaultPrivilegesStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline bool AlterPolicyStmt::has_qual() const { - return _internal_has_qual(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterDefaultPrivilegesStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -inline void AlterPolicyStmt::clear_qual() { - if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) { - delete _impl_.qual_; - } - _impl_.qual_ = nullptr; + +// .pg_query.GrantStmt action = 2 [json_name = "action"]; +inline bool AlterDefaultPrivilegesStmt::has_action() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.action_ != nullptr); + return value; } -inline const ::pg_query::Node& AlterPolicyStmt::_internal_qual() const { - const ::pg_query::Node* p = _impl_.qual_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void AlterDefaultPrivilegesStmt::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.action_ != nullptr) _impl_.action_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& AlterPolicyStmt::qual() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.qual) - return _internal_qual(); +inline const ::pg_query::GrantStmt& AlterDefaultPrivilegesStmt::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::GrantStmt* p = _impl_.action_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_GrantStmt_default_instance_); } -inline void AlterPolicyStmt::unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.qual_); +inline const ::pg_query::GrantStmt& AlterDefaultPrivilegesStmt::action() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDefaultPrivilegesStmt.action) + return _internal_action(); +} +inline void AlterDefaultPrivilegesStmt::unsafe_arena_set_allocated_action(::pg_query::GrantStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.action_); } - _impl_.qual_ = qual; - if (qual) { - + _impl_.action_ = reinterpret_cast<::pg_query::GrantStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDefaultPrivilegesStmt.action) } -inline ::pg_query::Node* AlterPolicyStmt::release_qual() { - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::release_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::GrantStmt* released = _impl_.action_; + _impl_.action_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterPolicyStmt::unsafe_arena_release_qual() { - // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.qual) - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::unsafe_arena_release_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDefaultPrivilegesStmt.action) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::GrantStmt* temp = _impl_.action_; + _impl_.action_ = nullptr; return temp; } -inline ::pg_query::Node* AlterPolicyStmt::_internal_mutable_qual() { - - if (_impl_.qual_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.qual_ = p; +inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::_internal_mutable_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.action_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::GrantStmt>(GetArena()); + _impl_.action_ = reinterpret_cast<::pg_query::GrantStmt*>(p); } - return _impl_.qual_; + return _impl_.action_; } -inline ::pg_query::Node* AlterPolicyStmt::mutable_qual() { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.qual) +inline ::pg_query::GrantStmt* AlterDefaultPrivilegesStmt::mutable_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::GrantStmt* _msg = _internal_mutable_action(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDefaultPrivilegesStmt.action) return _msg; } -inline void AlterPolicyStmt::set_allocated_qual(::pg_query::Node* qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterDefaultPrivilegesStmt::set_allocated_action(::pg_query::GrantStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.qual_; + delete reinterpret_cast<::pg_query::GrantStmt*>(_impl_.action_); } - if (qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(qual); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::GrantStmt*>(value)->GetArena(); if (message_arena != submessage_arena) { - qual = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, qual, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.qual_ = qual; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.qual) -} -// .pg_query.Node with_check = 5 [json_name = "with_check"]; -inline bool AlterPolicyStmt::_internal_has_with_check() const { - return this != internal_default_instance() && _impl_.with_check_ != nullptr; + _impl_.action_ = reinterpret_cast<::pg_query::GrantStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDefaultPrivilegesStmt.action) } -inline bool AlterPolicyStmt::has_with_check() const { - return _internal_has_with_check(); + +// ------------------------------------------------------------------- + +// CopyStmt + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool CopyStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void AlterPolicyStmt::clear_with_check() { - if (GetArenaForAllocation() == nullptr && _impl_.with_check_ != nullptr) { - delete _impl_.with_check_; - } - _impl_.with_check_ = nullptr; +inline void CopyStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& AlterPolicyStmt::_internal_with_check() const { - const ::pg_query::Node* p = _impl_.with_check_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RangeVar& CopyStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& AlterPolicyStmt::with_check() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.with_check) - return _internal_with_check(); +inline const ::pg_query::RangeVar& CopyStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.relation) + return _internal_relation(); } -inline void AlterPolicyStmt::unsafe_arena_set_allocated_with_check( - ::pg_query::Node* with_check) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.with_check_); +inline void CopyStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.with_check_ = with_check; - if (with_check) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.with_check) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.relation) } -inline ::pg_query::Node* AlterPolicyStmt::release_with_check() { - - ::pg_query::Node* temp = _impl_.with_check_; - _impl_.with_check_ = nullptr; +inline ::pg_query::RangeVar* CopyStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* AlterPolicyStmt::unsafe_arena_release_with_check() { - // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.with_check) - - ::pg_query::Node* temp = _impl_.with_check_; - _impl_.with_check_ = nullptr; +inline ::pg_query::RangeVar* CopyStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CopyStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Node* AlterPolicyStmt::_internal_mutable_with_check() { - - if (_impl_.with_check_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.with_check_ = p; +inline ::pg_query::RangeVar* CopyStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.with_check_; + return _impl_.relation_; } -inline ::pg_query::Node* AlterPolicyStmt::mutable_with_check() { - ::pg_query::Node* _msg = _internal_mutable_with_check(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.with_check) +inline ::pg_query::RangeVar* CopyStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.relation) return _msg; } -inline void AlterPolicyStmt::set_allocated_with_check(::pg_query::Node* with_check) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CopyStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.with_check_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (with_check) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(with_check); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - with_check = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, with_check, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.with_check_ = with_check; - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.with_check) -} - -// ------------------------------------------------------------------- - -// CreateTransformStmt -// bool replace = 1 [json_name = "replace"]; -inline void CreateTransformStmt::clear_replace() { - _impl_.replace_ = false; -} -inline bool CreateTransformStmt::_internal_replace() const { - return _impl_.replace_; -} -inline bool CreateTransformStmt::replace() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.replace) - return _internal_replace(); -} -inline void CreateTransformStmt::_internal_set_replace(bool value) { - - _impl_.replace_ = value; -} -inline void CreateTransformStmt::set_replace(bool value) { - _internal_set_replace(value); - // @@protoc_insertion_point(field_set:pg_query.CreateTransformStmt.replace) + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.relation) } -// .pg_query.TypeName type_name = 2 [json_name = "type_name"]; -inline bool CreateTransformStmt::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; -} -inline bool CreateTransformStmt::has_type_name() const { - return _internal_has_type_name(); +// .pg_query.Node query = 2 [json_name = "query"]; +inline bool CopyStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; } -inline void CreateTransformStmt::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; +inline void CopyStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::TypeName& CreateTransformStmt::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::Node& CopyStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TypeName& CreateTransformStmt::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.type_name) - return _internal_type_name(); +inline const ::pg_query::Node& CopyStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.query) + return _internal_query(); } -inline void CreateTransformStmt::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); +inline void CopyStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); } - _impl_.type_name_ = type_name; - if (type_name) { - + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.query) } -inline ::pg_query::TypeName* CreateTransformStmt::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::Node* CopyStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateTransformStmt::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::Node* CopyStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CopyStmt.query) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateTransformStmt::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; +inline ::pg_query::Node* CopyStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.type_name_; + return _impl_.query_; } -inline ::pg_query::TypeName* CreateTransformStmt::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.type_name) +inline ::pg_query::Node* CopyStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.query) return _msg; } -inline void CreateTransformStmt::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CopyStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.type_name_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.type_name) + + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.query) } -// string lang = 3 [json_name = "lang"]; -inline void CreateTransformStmt::clear_lang() { - _impl_.lang_.ClearToEmpty(); +// repeated .pg_query.Node attlist = 3 [json_name = "attlist"]; +inline int CopyStmt::_internal_attlist_size() const { + return _internal_attlist().size(); } -inline const std::string& CreateTransformStmt::lang() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.lang) - return _internal_lang(); +inline int CopyStmt::attlist_size() const { + return _internal_attlist_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateTransformStmt::set_lang(ArgT0&& arg0, ArgT... args) { - - _impl_.lang_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateTransformStmt.lang) +inline void CopyStmt::clear_attlist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.attlist_.Clear(); } -inline std::string* CreateTransformStmt::mutable_lang() { - std::string* _s = _internal_mutable_lang(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.lang) - return _s; +inline ::pg_query::Node* CopyStmt::mutable_attlist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.attlist) + return _internal_mutable_attlist()->Mutable(index); } -inline const std::string& CreateTransformStmt::_internal_lang() const { - return _impl_.lang_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CopyStmt::mutable_attlist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CopyStmt.attlist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_attlist(); } -inline void CreateTransformStmt::_internal_set_lang(const std::string& value) { - - _impl_.lang_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CopyStmt::attlist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.attlist) + return _internal_attlist().Get(index); } -inline std::string* CreateTransformStmt::_internal_mutable_lang() { - - return _impl_.lang_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CopyStmt::add_attlist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_attlist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CopyStmt.attlist) + return _add; } -inline std::string* CreateTransformStmt::release_lang() { - // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.lang) - return _impl_.lang_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CopyStmt::attlist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CopyStmt.attlist) + return _internal_attlist(); } -inline void CreateTransformStmt::set_allocated_lang(std::string* lang) { - if (lang != nullptr) { - - } else { - - } - _impl_.lang_.SetAllocated(lang, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.lang_.IsDefault()) { - _impl_.lang_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.lang) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CopyStmt::_internal_attlist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.attlist_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CopyStmt::_internal_mutable_attlist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.attlist_; } -// .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"]; -inline bool CreateTransformStmt::_internal_has_fromsql() const { - return this != internal_default_instance() && _impl_.fromsql_ != nullptr; +// bool is_from = 4 [json_name = "is_from"]; +inline void CopyStmt::clear_is_from() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_from_ = false; } -inline bool CreateTransformStmt::has_fromsql() const { - return _internal_has_fromsql(); +inline bool CopyStmt::is_from() const { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.is_from) + return _internal_is_from(); } -inline void CreateTransformStmt::clear_fromsql() { - if (GetArenaForAllocation() == nullptr && _impl_.fromsql_ != nullptr) { - delete _impl_.fromsql_; - } - _impl_.fromsql_ = nullptr; +inline void CopyStmt::set_is_from(bool value) { + _internal_set_is_from(value); + // @@protoc_insertion_point(field_set:pg_query.CopyStmt.is_from) } -inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::_internal_fromsql() const { - const ::pg_query::ObjectWithArgs* p = _impl_.fromsql_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline bool CopyStmt::_internal_is_from() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_from_; } -inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::fromsql() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.fromsql) - return _internal_fromsql(); +inline void CopyStmt::_internal_set_is_from(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_from_ = value; } -inline void CreateTransformStmt::unsafe_arena_set_allocated_fromsql( - ::pg_query::ObjectWithArgs* fromsql) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.fromsql_); - } - _impl_.fromsql_ = fromsql; - if (fromsql) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.fromsql) + +// bool is_program = 5 [json_name = "is_program"]; +inline void CopyStmt::clear_is_program() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_program_ = false; } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::release_fromsql() { - - ::pg_query::ObjectWithArgs* temp = _impl_.fromsql_; - _impl_.fromsql_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline bool CopyStmt::is_program() const { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.is_program) + return _internal_is_program(); } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::unsafe_arena_release_fromsql() { - // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.fromsql) - - ::pg_query::ObjectWithArgs* temp = _impl_.fromsql_; - _impl_.fromsql_ = nullptr; - return temp; +inline void CopyStmt::set_is_program(bool value) { + _internal_set_is_program(value); + // @@protoc_insertion_point(field_set:pg_query.CopyStmt.is_program) } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::_internal_mutable_fromsql() { - - if (_impl_.fromsql_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.fromsql_ = p; - } - return _impl_.fromsql_; +inline bool CopyStmt::_internal_is_program() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_program_; } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::mutable_fromsql() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_fromsql(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.fromsql) - return _msg; +inline void CopyStmt::_internal_set_is_program(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_program_ = value; } -inline void CreateTransformStmt::set_allocated_fromsql(::pg_query::ObjectWithArgs* fromsql) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.fromsql_; - } - if (fromsql) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(fromsql); - if (message_arena != submessage_arena) { - fromsql = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, fromsql, submessage_arena); - } - - } else { - - } - _impl_.fromsql_ = fromsql; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.fromsql) + +// string filename = 6 [json_name = "filename"]; +inline void CopyStmt::clear_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.filename_.ClearToEmpty(); +} +inline const std::string& CopyStmt::filename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.filename) + return _internal_filename(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CopyStmt::set_filename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.filename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CopyStmt.filename) +} +inline std::string* CopyStmt::mutable_filename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_filename(); + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.filename) + return _s; +} +inline const std::string& CopyStmt::_internal_filename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.filename_.Get(); +} +inline void CopyStmt::_internal_set_filename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.filename_.Set(value, GetArena()); +} +inline std::string* CopyStmt::_internal_mutable_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.filename_.Mutable( GetArena()); +} +inline std::string* CopyStmt::release_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CopyStmt.filename) + return _impl_.filename_.Release(); +} +inline void CopyStmt::set_allocated_filename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.filename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.filename_.IsDefault()) { + _impl_.filename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.filename) } -// .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"]; -inline bool CreateTransformStmt::_internal_has_tosql() const { - return this != internal_default_instance() && _impl_.tosql_ != nullptr; +// repeated .pg_query.Node options = 7 [json_name = "options"]; +inline int CopyStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool CreateTransformStmt::has_tosql() const { - return _internal_has_tosql(); +inline int CopyStmt::options_size() const { + return _internal_options_size(); } -inline void CreateTransformStmt::clear_tosql() { - if (GetArenaForAllocation() == nullptr && _impl_.tosql_ != nullptr) { - delete _impl_.tosql_; - } - _impl_.tosql_ = nullptr; +inline void CopyStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::_internal_tosql() const { - const ::pg_query::ObjectWithArgs* p = _impl_.tosql_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline ::pg_query::Node* CopyStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::tosql() const { - // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.tosql) - return _internal_tosql(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CopyStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CopyStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& CopyStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* CopyStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CopyStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CopyStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CopyStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CopyStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CopyStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} + +// .pg_query.Node where_clause = 8 [json_name = "whereClause"]; +inline bool CopyStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; +} +inline void CopyStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::Node& CopyStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& CopyStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CopyStmt.where_clause) + return _internal_where_clause(); } -inline void CreateTransformStmt::unsafe_arena_set_allocated_tosql( - ::pg_query::ObjectWithArgs* tosql) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.tosql_); +inline void CopyStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.tosql_ = tosql; - if (tosql) { - + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.tosql) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CopyStmt.where_clause) } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::release_tosql() { - - ::pg_query::ObjectWithArgs* temp = _impl_.tosql_; - _impl_.tosql_ = nullptr; +inline ::pg_query::Node* CopyStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::unsafe_arena_release_tosql() { - // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.tosql) - - ::pg_query::ObjectWithArgs* temp = _impl_.tosql_; - _impl_.tosql_ = nullptr; +inline ::pg_query::Node* CopyStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CopyStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::_internal_mutable_tosql() { - - if (_impl_.tosql_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.tosql_ = p; +inline ::pg_query::Node* CopyStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.tosql_; + return _impl_.where_clause_; } -inline ::pg_query::ObjectWithArgs* CreateTransformStmt::mutable_tosql() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_tosql(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.tosql) +inline ::pg_query::Node* CopyStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CopyStmt.where_clause) return _msg; } -inline void CreateTransformStmt::set_allocated_tosql(::pg_query::ObjectWithArgs* tosql) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CopyStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.tosql_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - if (tosql) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(tosql); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - tosql = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, tosql, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.tosql_ = tosql; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.tosql) + + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CopyStmt.where_clause) } // ------------------------------------------------------------------- -// CreateAmStmt +// VariableSetStmt -// string amname = 1 [json_name = "amname"]; -inline void CreateAmStmt::clear_amname() { - _impl_.amname_.ClearToEmpty(); +// .pg_query.VariableSetKind kind = 1 [json_name = "kind"]; +inline void VariableSetStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline const std::string& CreateAmStmt::amname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.amname) - return _internal_amname(); +inline ::pg_query::VariableSetKind VariableSetStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.kind) + return _internal_kind(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateAmStmt::set_amname(ArgT0&& arg0, ArgT... args) { - - _impl_.amname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateAmStmt.amname) +inline void VariableSetStmt::set_kind(::pg_query::VariableSetKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.kind) } -inline std::string* CreateAmStmt::mutable_amname() { - std::string* _s = _internal_mutable_amname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.amname) +inline ::pg_query::VariableSetKind VariableSetStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::VariableSetKind>(_impl_.kind_); +} +inline void VariableSetStmt::_internal_set_kind(::pg_query::VariableSetKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} + +// string name = 2 [json_name = "name"]; +inline void VariableSetStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& VariableSetStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void VariableSetStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.name) +} +inline std::string* VariableSetStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.VariableSetStmt.name) return _s; } -inline const std::string& CreateAmStmt::_internal_amname() const { - return _impl_.amname_.Get(); +inline const std::string& VariableSetStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void CreateAmStmt::_internal_set_amname(const std::string& value) { - - _impl_.amname_.Set(value, GetArenaForAllocation()); +inline void VariableSetStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* CreateAmStmt::_internal_mutable_amname() { - - return _impl_.amname_.Mutable(GetArenaForAllocation()); +inline std::string* VariableSetStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CreateAmStmt::release_amname() { - // @@protoc_insertion_point(field_release:pg_query.CreateAmStmt.amname) - return _impl_.amname_.Release(); +inline std::string* VariableSetStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.VariableSetStmt.name) + return _impl_.name_.Release(); } -inline void CreateAmStmt::set_allocated_amname(std::string* amname) { - if (amname != nullptr) { - - } else { - - } - _impl_.amname_.SetAllocated(amname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.amname_.IsDefault()) { - _impl_.amname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateAmStmt.amname) +inline void VariableSetStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.VariableSetStmt.name) } -// repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"]; -inline int CreateAmStmt::_internal_handler_name_size() const { - return _impl_.handler_name_.size(); +// repeated .pg_query.Node args = 3 [json_name = "args"]; +inline int VariableSetStmt::_internal_args_size() const { + return _internal_args().size(); } -inline int CreateAmStmt::handler_name_size() const { - return _internal_handler_name_size(); +inline int VariableSetStmt::args_size() const { + return _internal_args_size(); } -inline void CreateAmStmt::clear_handler_name() { - _impl_.handler_name_.Clear(); +inline void VariableSetStmt::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline ::pg_query::Node* CreateAmStmt::mutable_handler_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.handler_name) - return _impl_.handler_name_.Mutable(index); +inline ::pg_query::Node* VariableSetStmt::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.VariableSetStmt.args) + return _internal_mutable_args()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateAmStmt::mutable_handler_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateAmStmt.handler_name) - return &_impl_.handler_name_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* VariableSetStmt::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.VariableSetStmt.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline const ::pg_query::Node& CreateAmStmt::_internal_handler_name(int index) const { - return _impl_.handler_name_.Get(index); +inline const ::pg_query::Node& VariableSetStmt::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.args) + return _internal_args().Get(index); } -inline const ::pg_query::Node& CreateAmStmt::handler_name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.handler_name) - return _internal_handler_name(index); +inline ::pg_query::Node* VariableSetStmt::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.VariableSetStmt.args) + return _add; } -inline ::pg_query::Node* CreateAmStmt::_internal_add_handler_name() { - return _impl_.handler_name_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& VariableSetStmt::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.VariableSetStmt.args) + return _internal_args(); } -inline ::pg_query::Node* CreateAmStmt::add_handler_name() { - ::pg_query::Node* _add = _internal_add_handler_name(); - // @@protoc_insertion_point(field_add:pg_query.CreateAmStmt.handler_name) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +VariableSetStmt::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateAmStmt::handler_name() const { - // @@protoc_insertion_point(field_list:pg_query.CreateAmStmt.handler_name) - return _impl_.handler_name_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +VariableSetStmt::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// string amtype = 3 [json_name = "amtype"]; -inline void CreateAmStmt::clear_amtype() { - _impl_.amtype_.ClearToEmpty(); +// bool is_local = 4 [json_name = "is_local"]; +inline void VariableSetStmt::clear_is_local() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_local_ = false; } -inline const std::string& CreateAmStmt::amtype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.amtype) - return _internal_amtype(); +inline bool VariableSetStmt::is_local() const { + // @@protoc_insertion_point(field_get:pg_query.VariableSetStmt.is_local) + return _internal_is_local(); +} +inline void VariableSetStmt::set_is_local(bool value) { + _internal_set_is_local(value); + // @@protoc_insertion_point(field_set:pg_query.VariableSetStmt.is_local) +} +inline bool VariableSetStmt::_internal_is_local() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_local_; +} +inline void VariableSetStmt::_internal_set_is_local(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_local_ = value; +} + +// ------------------------------------------------------------------- + +// VariableShowStmt + +// string name = 1 [json_name = "name"]; +inline void VariableShowStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& VariableShowStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VariableShowStmt.name) + return _internal_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateAmStmt::set_amtype(ArgT0&& arg0, ArgT... args) { - - _impl_.amtype_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateAmStmt.amtype) +template +inline PROTOBUF_ALWAYS_INLINE void VariableShowStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.VariableShowStmt.name) } -inline std::string* CreateAmStmt::mutable_amtype() { - std::string* _s = _internal_mutable_amtype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.amtype) +inline std::string* VariableShowStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.VariableShowStmt.name) return _s; } -inline const std::string& CreateAmStmt::_internal_amtype() const { - return _impl_.amtype_.Get(); +inline const std::string& VariableShowStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline void CreateAmStmt::_internal_set_amtype(const std::string& value) { - - _impl_.amtype_.Set(value, GetArenaForAllocation()); +inline void VariableShowStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline std::string* CreateAmStmt::_internal_mutable_amtype() { - - return _impl_.amtype_.Mutable(GetArenaForAllocation()); +inline std::string* VariableShowStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline std::string* CreateAmStmt::release_amtype() { - // @@protoc_insertion_point(field_release:pg_query.CreateAmStmt.amtype) - return _impl_.amtype_.Release(); +inline std::string* VariableShowStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.VariableShowStmt.name) + return _impl_.name_.Release(); } -inline void CreateAmStmt::set_allocated_amtype(std::string* amtype) { - if (amtype != nullptr) { - - } else { - - } - _impl_.amtype_.SetAllocated(amtype, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.amtype_.IsDefault()) { - _impl_.amtype_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateAmStmt.amtype) +inline void VariableShowStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.VariableShowStmt.name) } // ------------------------------------------------------------------- -// CreatePublicationStmt +// CreateStmt -// string pubname = 1 [json_name = "pubname"]; -inline void CreatePublicationStmt::clear_pubname() { - _impl_.pubname_.ClearToEmpty(); +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool CreateStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const std::string& CreatePublicationStmt::pubname() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.pubname) - return _internal_pubname(); +inline void CreateStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void CreatePublicationStmt::set_pubname(ArgT0&& arg0, ArgT... args) { - - _impl_.pubname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreatePublicationStmt.pubname) +inline const ::pg_query::RangeVar& CreateStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline std::string* CreatePublicationStmt::mutable_pubname() { - std::string* _s = _internal_mutable_pubname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.pubname) - return _s; +inline const ::pg_query::RangeVar& CreateStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.relation) + return _internal_relation(); } -inline const std::string& CreatePublicationStmt::_internal_pubname() const { - return _impl_.pubname_.Get(); +inline void CreateStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.relation) } -inline void CreatePublicationStmt::_internal_set_pubname(const std::string& value) { - - _impl_.pubname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::RangeVar* CreateStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* CreatePublicationStmt::_internal_mutable_pubname() { - - return _impl_.pubname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::RangeVar* CreateStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline std::string* CreatePublicationStmt::release_pubname() { - // @@protoc_insertion_point(field_release:pg_query.CreatePublicationStmt.pubname) - return _impl_.pubname_.Release(); +inline ::pg_query::RangeVar* CreateStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void CreatePublicationStmt::set_allocated_pubname(std::string* pubname) { - if (pubname != nullptr) { - - } else { - +inline ::pg_query::RangeVar* CreateStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.relation) + return _msg; +} +inline void CreateStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - _impl_.pubname_.SetAllocated(pubname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.pubname_.IsDefault()) { - _impl_.pubname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePublicationStmt.pubname) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.relation) } -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int CreatePublicationStmt::_internal_options_size() const { - return _impl_.options_.size(); +// repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"]; +inline int CreateStmt::_internal_table_elts_size() const { + return _internal_table_elts().size(); } -inline int CreatePublicationStmt::options_size() const { - return _internal_options_size(); +inline int CreateStmt::table_elts_size() const { + return _internal_table_elts_size(); } -inline void CreatePublicationStmt::clear_options() { - _impl_.options_.Clear(); +inline void CreateStmt::clear_table_elts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_elts_.Clear(); } -inline ::pg_query::Node* CreatePublicationStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.options) - return _impl_.options_.Mutable(index); +inline ::pg_query::Node* CreateStmt::mutable_table_elts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.table_elts) + return _internal_mutable_table_elts()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePublicationStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePublicationStmt.options) - return &_impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStmt::mutable_table_elts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.table_elts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_table_elts(); } -inline const ::pg_query::Node& CreatePublicationStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const ::pg_query::Node& CreateStmt::table_elts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.table_elts) + return _internal_table_elts().Get(index); } -inline const ::pg_query::Node& CreatePublicationStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.options) - return _internal_options(index); +inline ::pg_query::Node* CreateStmt::add_table_elts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_table_elts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStmt.table_elts) + return _add; } -inline ::pg_query::Node* CreatePublicationStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStmt::table_elts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStmt.table_elts) + return _internal_table_elts(); } -inline ::pg_query::Node* CreatePublicationStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreatePublicationStmt.options) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStmt::_internal_table_elts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.table_elts_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePublicationStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePublicationStmt.options) - return _impl_.options_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStmt::_internal_mutable_table_elts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.table_elts_; } -// repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; -inline int CreatePublicationStmt::_internal_pubobjects_size() const { - return _impl_.pubobjects_.size(); +// repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"]; +inline int CreateStmt::_internal_inh_relations_size() const { + return _internal_inh_relations().size(); } -inline int CreatePublicationStmt::pubobjects_size() const { - return _internal_pubobjects_size(); +inline int CreateStmt::inh_relations_size() const { + return _internal_inh_relations_size(); } -inline void CreatePublicationStmt::clear_pubobjects() { - _impl_.pubobjects_.Clear(); +inline void CreateStmt::clear_inh_relations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inh_relations_.Clear(); } -inline ::pg_query::Node* CreatePublicationStmt::mutable_pubobjects(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.pubobjects) - return _impl_.pubobjects_.Mutable(index); +inline ::pg_query::Node* CreateStmt::mutable_inh_relations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.inh_relations) + return _internal_mutable_inh_relations()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreatePublicationStmt::mutable_pubobjects() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePublicationStmt.pubobjects) - return &_impl_.pubobjects_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStmt::mutable_inh_relations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.inh_relations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_inh_relations(); } -inline const ::pg_query::Node& CreatePublicationStmt::_internal_pubobjects(int index) const { - return _impl_.pubobjects_.Get(index); +inline const ::pg_query::Node& CreateStmt::inh_relations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.inh_relations) + return _internal_inh_relations().Get(index); } -inline const ::pg_query::Node& CreatePublicationStmt::pubobjects(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.pubobjects) - return _internal_pubobjects(index); +inline ::pg_query::Node* CreateStmt::add_inh_relations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_inh_relations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStmt.inh_relations) + return _add; } -inline ::pg_query::Node* CreatePublicationStmt::_internal_add_pubobjects() { - return _impl_.pubobjects_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStmt::inh_relations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStmt.inh_relations) + return _internal_inh_relations(); } -inline ::pg_query::Node* CreatePublicationStmt::add_pubobjects() { - ::pg_query::Node* _add = _internal_add_pubobjects(); - // @@protoc_insertion_point(field_add:pg_query.CreatePublicationStmt.pubobjects) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStmt::_internal_inh_relations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inh_relations_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreatePublicationStmt::pubobjects() const { - // @@protoc_insertion_point(field_list:pg_query.CreatePublicationStmt.pubobjects) - return _impl_.pubobjects_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStmt::_internal_mutable_inh_relations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.inh_relations_; } -// bool for_all_tables = 4 [json_name = "for_all_tables"]; -inline void CreatePublicationStmt::clear_for_all_tables() { - _impl_.for_all_tables_ = false; +// .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"]; +inline bool CreateStmt::has_partbound() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.partbound_ != nullptr); + return value; } -inline bool CreatePublicationStmt::_internal_for_all_tables() const { - return _impl_.for_all_tables_; +inline void CreateStmt::clear_partbound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.partbound_ != nullptr) _impl_.partbound_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool CreatePublicationStmt::for_all_tables() const { - // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.for_all_tables) - return _internal_for_all_tables(); +inline const ::pg_query::PartitionBoundSpec& CreateStmt::_internal_partbound() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::PartitionBoundSpec* p = _impl_.partbound_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_PartitionBoundSpec_default_instance_); } -inline void CreatePublicationStmt::_internal_set_for_all_tables(bool value) { - - _impl_.for_all_tables_ = value; +inline const ::pg_query::PartitionBoundSpec& CreateStmt::partbound() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.partbound) + return _internal_partbound(); } -inline void CreatePublicationStmt::set_for_all_tables(bool value) { - _internal_set_for_all_tables(value); - // @@protoc_insertion_point(field_set:pg_query.CreatePublicationStmt.for_all_tables) +inline void CreateStmt::unsafe_arena_set_allocated_partbound(::pg_query::PartitionBoundSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.partbound_); + } + _impl_.partbound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.partbound) } +inline ::pg_query::PartitionBoundSpec* CreateStmt::release_partbound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// AlterPublicationStmt + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* released = _impl_.partbound_; + _impl_.partbound_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::PartitionBoundSpec* CreateStmt::unsafe_arena_release_partbound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.partbound) -// string pubname = 1 [json_name = "pubname"]; -inline void AlterPublicationStmt::clear_pubname() { - _impl_.pubname_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::PartitionBoundSpec* temp = _impl_.partbound_; + _impl_.partbound_ = nullptr; + return temp; } -inline const std::string& AlterPublicationStmt::pubname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.pubname) - return _internal_pubname(); +inline ::pg_query::PartitionBoundSpec* CreateStmt::_internal_mutable_partbound() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.partbound_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArena()); + _impl_.partbound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(p); + } + return _impl_.partbound_; } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterPublicationStmt::set_pubname(ArgT0&& arg0, ArgT... args) { - - _impl_.pubname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.pubname) +inline ::pg_query::PartitionBoundSpec* CreateStmt::mutable_partbound() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_partbound(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.partbound) + return _msg; } -inline std::string* AlterPublicationStmt::mutable_pubname() { - std::string* _s = _internal_mutable_pubname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.pubname) - return _s; +inline void CreateStmt::set_allocated_partbound(::pg_query::PartitionBoundSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::PartitionBoundSpec*>(_impl_.partbound_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.partbound_ = reinterpret_cast<::pg_query::PartitionBoundSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.partbound) } -inline const std::string& AlterPublicationStmt::_internal_pubname() const { - return _impl_.pubname_.Get(); + +// .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"]; +inline bool CreateStmt::has_partspec() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.partspec_ != nullptr); + return value; } -inline void AlterPublicationStmt::_internal_set_pubname(const std::string& value) { - - _impl_.pubname_.Set(value, GetArenaForAllocation()); +inline void CreateStmt::clear_partspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.partspec_ != nullptr) _impl_.partspec_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline std::string* AlterPublicationStmt::_internal_mutable_pubname() { - - return _impl_.pubname_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::PartitionSpec& CreateStmt::_internal_partspec() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::PartitionSpec* p = _impl_.partspec_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_PartitionSpec_default_instance_); } -inline std::string* AlterPublicationStmt::release_pubname() { - // @@protoc_insertion_point(field_release:pg_query.AlterPublicationStmt.pubname) - return _impl_.pubname_.Release(); +inline const ::pg_query::PartitionSpec& CreateStmt::partspec() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.partspec) + return _internal_partspec(); } -inline void AlterPublicationStmt::set_allocated_pubname(std::string* pubname) { - if (pubname != nullptr) { - +inline void CreateStmt::unsafe_arena_set_allocated_partspec(::pg_query::PartitionSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.partspec_); + } + _impl_.partspec_ = reinterpret_cast<::pg_query::PartitionSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.partspec) +} +inline ::pg_query::PartitionSpec* CreateStmt::release_partspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::PartitionSpec* released = _impl_.partspec_; + _impl_.partspec_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; } - _impl_.pubname_.SetAllocated(pubname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.pubname_.IsDefault()) { - _impl_.pubname_.Set("", GetArenaForAllocation()); +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPublicationStmt.pubname) +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::PartitionSpec* CreateStmt::unsafe_arena_release_partspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.partspec) -// repeated .pg_query.Node options = 2 [json_name = "options"]; -inline int AlterPublicationStmt::_internal_options_size() const { - return _impl_.options_.size(); + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::PartitionSpec* temp = _impl_.partspec_; + _impl_.partspec_ = nullptr; + return temp; } -inline int AlterPublicationStmt::options_size() const { - return _internal_options_size(); +inline ::pg_query::PartitionSpec* CreateStmt::_internal_mutable_partspec() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.partspec_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::PartitionSpec>(GetArena()); + _impl_.partspec_ = reinterpret_cast<::pg_query::PartitionSpec*>(p); + } + return _impl_.partspec_; } -inline void AlterPublicationStmt::clear_options() { - _impl_.options_.Clear(); +inline ::pg_query::PartitionSpec* CreateStmt::mutable_partspec() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PartitionSpec* _msg = _internal_mutable_partspec(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.partspec) + return _msg; } -inline ::pg_query::Node* AlterPublicationStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.options) - return _impl_.options_.Mutable(index); +inline void CreateStmt::set_allocated_partspec(::pg_query::PartitionSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::PartitionSpec*>(_impl_.partspec_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PartitionSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.partspec_ = reinterpret_cast<::pg_query::PartitionSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.partspec) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterPublicationStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPublicationStmt.options) - return &_impl_.options_; + +// .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"]; +inline bool CreateStmt::has_of_typename() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || _impl_.of_typename_ != nullptr); + return value; } -inline const ::pg_query::Node& AlterPublicationStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline void CreateStmt::clear_of_typename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.of_typename_ != nullptr) _impl_.of_typename_->Clear(); + _impl_._has_bits_[0] &= ~0x00000008u; } -inline const ::pg_query::Node& AlterPublicationStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.options) - return _internal_options(index); +inline const ::pg_query::TypeName& CreateStmt::_internal_of_typename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.of_typename_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline ::pg_query::Node* AlterPublicationStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::TypeName& CreateStmt::of_typename() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.of_typename) + return _internal_of_typename(); } -inline ::pg_query::Node* AlterPublicationStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterPublicationStmt.options) - return _add; +inline void CreateStmt::unsafe_arena_set_allocated_of_typename(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.of_typename_); + } + _impl_.of_typename_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateStmt.of_typename) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterPublicationStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterPublicationStmt.options) - return _impl_.options_; +inline ::pg_query::TypeName* CreateStmt::release_of_typename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::TypeName* released = _impl_.of_typename_; + _impl_.of_typename_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } +inline ::pg_query::TypeName* CreateStmt::unsafe_arena_release_of_typename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.of_typename) -// repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; -inline int AlterPublicationStmt::_internal_pubobjects_size() const { - return _impl_.pubobjects_.size(); + _impl_._has_bits_[0] &= ~0x00000008u; + ::pg_query::TypeName* temp = _impl_.of_typename_; + _impl_.of_typename_ = nullptr; + return temp; } -inline int AlterPublicationStmt::pubobjects_size() const { - return _internal_pubobjects_size(); +inline ::pg_query::TypeName* CreateStmt::_internal_mutable_of_typename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000008u; + if (_impl_.of_typename_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.of_typename_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.of_typename_; } -inline void AlterPublicationStmt::clear_pubobjects() { - _impl_.pubobjects_.Clear(); +inline ::pg_query::TypeName* CreateStmt::mutable_of_typename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_of_typename(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.of_typename) + return _msg; } -inline ::pg_query::Node* AlterPublicationStmt::mutable_pubobjects(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.pubobjects) - return _impl_.pubobjects_.Mutable(index); +inline void CreateStmt::set_allocated_of_typename(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.of_typename_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000008u; + } else { + _impl_._has_bits_[0] &= ~0x00000008u; + } + + _impl_.of_typename_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.of_typename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterPublicationStmt::mutable_pubobjects() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPublicationStmt.pubobjects) - return &_impl_.pubobjects_; + +// repeated .pg_query.Node constraints = 7 [json_name = "constraints"]; +inline int CreateStmt::_internal_constraints_size() const { + return _internal_constraints().size(); +} +inline int CreateStmt::constraints_size() const { + return _internal_constraints_size(); } -inline const ::pg_query::Node& AlterPublicationStmt::_internal_pubobjects(int index) const { - return _impl_.pubobjects_.Get(index); +inline void CreateStmt::clear_constraints() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraints_.Clear(); } -inline const ::pg_query::Node& AlterPublicationStmt::pubobjects(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.pubobjects) - return _internal_pubobjects(index); +inline ::pg_query::Node* CreateStmt::mutable_constraints(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.constraints) + return _internal_mutable_constraints()->Mutable(index); } -inline ::pg_query::Node* AlterPublicationStmt::_internal_add_pubobjects() { - return _impl_.pubobjects_.Add(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStmt::mutable_constraints() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.constraints) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraints(); } -inline ::pg_query::Node* AlterPublicationStmt::add_pubobjects() { - ::pg_query::Node* _add = _internal_add_pubobjects(); - // @@protoc_insertion_point(field_add:pg_query.AlterPublicationStmt.pubobjects) +inline const ::pg_query::Node& CreateStmt::constraints(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.constraints) + return _internal_constraints().Get(index); +} +inline ::pg_query::Node* CreateStmt::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStmt.constraints) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterPublicationStmt::pubobjects() const { - // @@protoc_insertion_point(field_list:pg_query.AlterPublicationStmt.pubobjects) - return _impl_.pubobjects_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStmt::constraints() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStmt.constraints) + return _internal_constraints(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStmt::_internal_constraints() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraints_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStmt::_internal_mutable_constraints() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraints_; } -// bool for_all_tables = 4 [json_name = "for_all_tables"]; -inline void AlterPublicationStmt::clear_for_all_tables() { - _impl_.for_all_tables_ = false; +// repeated .pg_query.Node options = 8 [json_name = "options"]; +inline int CreateStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool AlterPublicationStmt::_internal_for_all_tables() const { - return _impl_.for_all_tables_; +inline int CreateStmt::options_size() const { + return _internal_options_size(); } -inline bool AlterPublicationStmt::for_all_tables() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.for_all_tables) - return _internal_for_all_tables(); +inline void CreateStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void AlterPublicationStmt::_internal_set_for_all_tables(bool value) { - - _impl_.for_all_tables_ = value; +inline ::pg_query::Node* CreateStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void AlterPublicationStmt::set_for_all_tables(bool value) { - _internal_set_for_all_tables(value); - // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.for_all_tables) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// .pg_query.AlterPublicationAction action = 5 [json_name = "action"]; -inline void AlterPublicationStmt::clear_action() { - _impl_.action_ = 0; +inline const ::pg_query::Node& CreateStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::AlterPublicationAction AlterPublicationStmt::_internal_action() const { - return static_cast< ::pg_query::AlterPublicationAction >(_impl_.action_); +inline ::pg_query::Node* CreateStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStmt.options) + return _add; } -inline ::pg_query::AlterPublicationAction AlterPublicationStmt::action() const { - // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.action) - return _internal_action(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStmt.options) + return _internal_options(); } -inline void AlterPublicationStmt::_internal_set_action(::pg_query::AlterPublicationAction value) { - - _impl_.action_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void AlterPublicationStmt::set_action(::pg_query::AlterPublicationAction value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.action) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// ------------------------------------------------------------------- - -// CreateSubscriptionStmt +// .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"]; +inline void CreateStmt::clear_oncommit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.oncommit_ = 0; +} +inline ::pg_query::OnCommitAction CreateStmt::oncommit() const { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.oncommit) + return _internal_oncommit(); +} +inline void CreateStmt::set_oncommit(::pg_query::OnCommitAction value) { + _internal_set_oncommit(value); + // @@protoc_insertion_point(field_set:pg_query.CreateStmt.oncommit) +} +inline ::pg_query::OnCommitAction CreateStmt::_internal_oncommit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::OnCommitAction>(_impl_.oncommit_); +} +inline void CreateStmt::_internal_set_oncommit(::pg_query::OnCommitAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.oncommit_ = value; +} -// string subname = 1 [json_name = "subname"]; -inline void CreateSubscriptionStmt::clear_subname() { - _impl_.subname_.ClearToEmpty(); +// string tablespacename = 10 [json_name = "tablespacename"]; +inline void CreateStmt::clear_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.ClearToEmpty(); } -inline const std::string& CreateSubscriptionStmt::subname() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.subname) - return _internal_subname(); +inline const std::string& CreateStmt::tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.tablespacename) + return _internal_tablespacename(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateSubscriptionStmt::set_subname(ArgT0&& arg0, ArgT... args) { - - _impl_.subname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateSubscriptionStmt.subname) +template +inline PROTOBUF_ALWAYS_INLINE void CreateStmt::set_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateStmt.tablespacename) } -inline std::string* CreateSubscriptionStmt::mutable_subname() { - std::string* _s = _internal_mutable_subname(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.subname) +inline std::string* CreateStmt::mutable_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.tablespacename) return _s; } -inline const std::string& CreateSubscriptionStmt::_internal_subname() const { - return _impl_.subname_.Get(); +inline const std::string& CreateStmt::_internal_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tablespacename_.Get(); } -inline void CreateSubscriptionStmt::_internal_set_subname(const std::string& value) { - - _impl_.subname_.Set(value, GetArenaForAllocation()); +inline void CreateStmt::_internal_set_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(value, GetArena()); } -inline std::string* CreateSubscriptionStmt::_internal_mutable_subname() { - - return _impl_.subname_.Mutable(GetArenaForAllocation()); +inline std::string* CreateStmt::_internal_mutable_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.tablespacename_.Mutable( GetArena()); } -inline std::string* CreateSubscriptionStmt::release_subname() { - // @@protoc_insertion_point(field_release:pg_query.CreateSubscriptionStmt.subname) - return _impl_.subname_.Release(); +inline std::string* CreateStmt::release_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.tablespacename) + return _impl_.tablespacename_.Release(); } -inline void CreateSubscriptionStmt::set_allocated_subname(std::string* subname) { - if (subname != nullptr) { - - } else { - - } - _impl_.subname_.SetAllocated(subname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.subname_.IsDefault()) { - _impl_.subname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSubscriptionStmt.subname) +inline void CreateStmt::set_allocated_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.tablespacename_.IsDefault()) { + _impl_.tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.tablespacename) } -// string conninfo = 2 [json_name = "conninfo"]; -inline void CreateSubscriptionStmt::clear_conninfo() { - _impl_.conninfo_.ClearToEmpty(); +// string access_method = 11 [json_name = "accessMethod"]; +inline void CreateStmt::clear_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.ClearToEmpty(); } -inline const std::string& CreateSubscriptionStmt::conninfo() const { - // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.conninfo) - return _internal_conninfo(); +inline const std::string& CreateStmt::access_method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.access_method) + return _internal_access_method(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateSubscriptionStmt::set_conninfo(ArgT0&& arg0, ArgT... args) { - - _impl_.conninfo_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateSubscriptionStmt.conninfo) +template +inline PROTOBUF_ALWAYS_INLINE void CreateStmt::set_access_method(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateStmt.access_method) } -inline std::string* CreateSubscriptionStmt::mutable_conninfo() { - std::string* _s = _internal_mutable_conninfo(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.conninfo) +inline std::string* CreateStmt::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_access_method(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStmt.access_method) return _s; } -inline const std::string& CreateSubscriptionStmt::_internal_conninfo() const { - return _impl_.conninfo_.Get(); +inline const std::string& CreateStmt::_internal_access_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.access_method_.Get(); } -inline void CreateSubscriptionStmt::_internal_set_conninfo(const std::string& value) { - - _impl_.conninfo_.Set(value, GetArenaForAllocation()); +inline void CreateStmt::_internal_set_access_method(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(value, GetArena()); } -inline std::string* CreateSubscriptionStmt::_internal_mutable_conninfo() { - - return _impl_.conninfo_.Mutable(GetArenaForAllocation()); +inline std::string* CreateStmt::_internal_mutable_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.access_method_.Mutable( GetArena()); } -inline std::string* CreateSubscriptionStmt::release_conninfo() { - // @@protoc_insertion_point(field_release:pg_query.CreateSubscriptionStmt.conninfo) - return _impl_.conninfo_.Release(); +inline std::string* CreateStmt::release_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStmt.access_method) + return _impl_.access_method_.Release(); } -inline void CreateSubscriptionStmt::set_allocated_conninfo(std::string* conninfo) { - if (conninfo != nullptr) { - - } else { - - } - _impl_.conninfo_.SetAllocated(conninfo, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conninfo_.IsDefault()) { - _impl_.conninfo_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSubscriptionStmt.conninfo) +inline void CreateStmt::set_allocated_access_method(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.access_method_.IsDefault()) { + _impl_.access_method_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStmt.access_method) } -// repeated .pg_query.Node publication = 3 [json_name = "publication"]; -inline int CreateSubscriptionStmt::_internal_publication_size() const { - return _impl_.publication_.size(); +// bool if_not_exists = 12 [json_name = "if_not_exists"]; +inline void CreateStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline int CreateSubscriptionStmt::publication_size() const { - return _internal_publication_size(); +inline bool CreateStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateStmt.if_not_exists) + return _internal_if_not_exists(); } -inline void CreateSubscriptionStmt::clear_publication() { - _impl_.publication_.Clear(); +inline void CreateStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateStmt.if_not_exists) } -inline ::pg_query::Node* CreateSubscriptionStmt::mutable_publication(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.publication) - return _impl_.publication_.Mutable(index); +inline bool CreateStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateSubscriptionStmt::mutable_publication() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSubscriptionStmt.publication) - return &_impl_.publication_; +inline void CreateStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -inline const ::pg_query::Node& CreateSubscriptionStmt::_internal_publication(int index) const { - return _impl_.publication_.Get(index); + +// ------------------------------------------------------------------- + +// Constraint + +// .pg_query.ConstrType contype = 1 [json_name = "contype"]; +inline void Constraint::clear_contype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.contype_ = 0; } -inline const ::pg_query::Node& CreateSubscriptionStmt::publication(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.publication) - return _internal_publication(index); +inline ::pg_query::ConstrType Constraint::contype() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.contype) + return _internal_contype(); } -inline ::pg_query::Node* CreateSubscriptionStmt::_internal_add_publication() { - return _impl_.publication_.Add(); +inline void Constraint::set_contype(::pg_query::ConstrType value) { + _internal_set_contype(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.contype) } -inline ::pg_query::Node* CreateSubscriptionStmt::add_publication() { - ::pg_query::Node* _add = _internal_add_publication(); - // @@protoc_insertion_point(field_add:pg_query.CreateSubscriptionStmt.publication) - return _add; +inline ::pg_query::ConstrType Constraint::_internal_contype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ConstrType>(_impl_.contype_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateSubscriptionStmt::publication() const { - // @@protoc_insertion_point(field_list:pg_query.CreateSubscriptionStmt.publication) - return _impl_.publication_; +inline void Constraint::_internal_set_contype(::pg_query::ConstrType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.contype_ = value; } -// repeated .pg_query.Node options = 4 [json_name = "options"]; -inline int CreateSubscriptionStmt::_internal_options_size() const { - return _impl_.options_.size(); -} -inline int CreateSubscriptionStmt::options_size() const { - return _internal_options_size(); +// string conname = 2 [json_name = "conname"]; +inline void Constraint::clear_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conname_.ClearToEmpty(); } -inline void CreateSubscriptionStmt::clear_options() { - _impl_.options_.Clear(); +inline const std::string& Constraint::conname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.conname) + return _internal_conname(); } -inline ::pg_query::Node* CreateSubscriptionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.options) - return _impl_.options_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_conname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.conname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateSubscriptionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSubscriptionStmt.options) - return &_impl_.options_; +inline std::string* Constraint::mutable_conname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conname(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.conname) + return _s; } -inline const ::pg_query::Node& CreateSubscriptionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const std::string& Constraint::_internal_conname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conname_.Get(); } -inline const ::pg_query::Node& CreateSubscriptionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.options) - return _internal_options(index); +inline void Constraint::_internal_set_conname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conname_.Set(value, GetArena()); } -inline ::pg_query::Node* CreateSubscriptionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline std::string* Constraint::_internal_mutable_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conname_.Mutable( GetArena()); } -inline ::pg_query::Node* CreateSubscriptionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.CreateSubscriptionStmt.options) - return _add; +inline std::string* Constraint::release_conname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.conname) + return _impl_.conname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateSubscriptionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.CreateSubscriptionStmt.options) - return _impl_.options_; +inline void Constraint::set_allocated_conname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conname_.IsDefault()) { + _impl_.conname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.conname) } -// ------------------------------------------------------------------- - -// AlterSubscriptionStmt - -// .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"]; -inline void AlterSubscriptionStmt::clear_kind() { - _impl_.kind_ = 0; +// bool deferrable = 3 [json_name = "deferrable"]; +inline void Constraint::clear_deferrable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.deferrable_ = false; } -inline ::pg_query::AlterSubscriptionType AlterSubscriptionStmt::_internal_kind() const { - return static_cast< ::pg_query::AlterSubscriptionType >(_impl_.kind_); +inline bool Constraint::deferrable() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.deferrable) + return _internal_deferrable(); } -inline ::pg_query::AlterSubscriptionType AlterSubscriptionStmt::kind() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.kind) - return _internal_kind(); +inline void Constraint::set_deferrable(bool value) { + _internal_set_deferrable(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.deferrable) } -inline void AlterSubscriptionStmt::_internal_set_kind(::pg_query::AlterSubscriptionType value) { - - _impl_.kind_ = value; +inline bool Constraint::_internal_deferrable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.deferrable_; } -inline void AlterSubscriptionStmt::set_kind(::pg_query::AlterSubscriptionType value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.kind) +inline void Constraint::_internal_set_deferrable(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.deferrable_ = value; } -// string subname = 2 [json_name = "subname"]; -inline void AlterSubscriptionStmt::clear_subname() { - _impl_.subname_.ClearToEmpty(); +// bool initdeferred = 4 [json_name = "initdeferred"]; +inline void Constraint::clear_initdeferred() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.initdeferred_ = false; } -inline const std::string& AlterSubscriptionStmt::subname() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.subname) - return _internal_subname(); +inline bool Constraint::initdeferred() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.initdeferred) + return _internal_initdeferred(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterSubscriptionStmt::set_subname(ArgT0&& arg0, ArgT... args) { - - _impl_.subname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.subname) +inline void Constraint::set_initdeferred(bool value) { + _internal_set_initdeferred(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.initdeferred) } -inline std::string* AlterSubscriptionStmt::mutable_subname() { - std::string* _s = _internal_mutable_subname(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.subname) - return _s; +inline bool Constraint::_internal_initdeferred() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.initdeferred_; } -inline const std::string& AlterSubscriptionStmt::_internal_subname() const { - return _impl_.subname_.Get(); +inline void Constraint::_internal_set_initdeferred(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.initdeferred_ = value; } -inline void AlterSubscriptionStmt::_internal_set_subname(const std::string& value) { - - _impl_.subname_.Set(value, GetArenaForAllocation()); + +// bool skip_validation = 5 [json_name = "skip_validation"]; +inline void Constraint::clear_skip_validation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.skip_validation_ = false; } -inline std::string* AlterSubscriptionStmt::_internal_mutable_subname() { - - return _impl_.subname_.Mutable(GetArenaForAllocation()); +inline bool Constraint::skip_validation() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.skip_validation) + return _internal_skip_validation(); } -inline std::string* AlterSubscriptionStmt::release_subname() { - // @@protoc_insertion_point(field_release:pg_query.AlterSubscriptionStmt.subname) - return _impl_.subname_.Release(); +inline void Constraint::set_skip_validation(bool value) { + _internal_set_skip_validation(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.skip_validation) } -inline void AlterSubscriptionStmt::set_allocated_subname(std::string* subname) { - if (subname != nullptr) { - - } else { - - } - _impl_.subname_.SetAllocated(subname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.subname_.IsDefault()) { - _impl_.subname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSubscriptionStmt.subname) +inline bool Constraint::_internal_skip_validation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.skip_validation_; +} +inline void Constraint::_internal_set_skip_validation(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.skip_validation_ = value; } -// string conninfo = 3 [json_name = "conninfo"]; -inline void AlterSubscriptionStmt::clear_conninfo() { - _impl_.conninfo_.ClearToEmpty(); +// bool initially_valid = 6 [json_name = "initially_valid"]; +inline void Constraint::clear_initially_valid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.initially_valid_ = false; } -inline const std::string& AlterSubscriptionStmt::conninfo() const { - // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.conninfo) - return _internal_conninfo(); +inline bool Constraint::initially_valid() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.initially_valid) + return _internal_initially_valid(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AlterSubscriptionStmt::set_conninfo(ArgT0&& arg0, ArgT... args) { - - _impl_.conninfo_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.conninfo) +inline void Constraint::set_initially_valid(bool value) { + _internal_set_initially_valid(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.initially_valid) } -inline std::string* AlterSubscriptionStmt::mutable_conninfo() { - std::string* _s = _internal_mutable_conninfo(); - // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.conninfo) - return _s; +inline bool Constraint::_internal_initially_valid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.initially_valid_; } -inline const std::string& AlterSubscriptionStmt::_internal_conninfo() const { - return _impl_.conninfo_.Get(); +inline void Constraint::_internal_set_initially_valid(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.initially_valid_ = value; } -inline void AlterSubscriptionStmt::_internal_set_conninfo(const std::string& value) { - - _impl_.conninfo_.Set(value, GetArenaForAllocation()); + +// bool is_no_inherit = 7 [json_name = "is_no_inherit"]; +inline void Constraint::clear_is_no_inherit() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_no_inherit_ = false; } -inline std::string* AlterSubscriptionStmt::_internal_mutable_conninfo() { - - return _impl_.conninfo_.Mutable(GetArenaForAllocation()); +inline bool Constraint::is_no_inherit() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.is_no_inherit) + return _internal_is_no_inherit(); } -inline std::string* AlterSubscriptionStmt::release_conninfo() { - // @@protoc_insertion_point(field_release:pg_query.AlterSubscriptionStmt.conninfo) - return _impl_.conninfo_.Release(); +inline void Constraint::set_is_no_inherit(bool value) { + _internal_set_is_no_inherit(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.is_no_inherit) } -inline void AlterSubscriptionStmt::set_allocated_conninfo(std::string* conninfo) { - if (conninfo != nullptr) { - - } else { - - } - _impl_.conninfo_.SetAllocated(conninfo, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conninfo_.IsDefault()) { - _impl_.conninfo_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSubscriptionStmt.conninfo) +inline bool Constraint::_internal_is_no_inherit() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_no_inherit_; } - -// repeated .pg_query.Node publication = 4 [json_name = "publication"]; -inline int AlterSubscriptionStmt::_internal_publication_size() const { - return _impl_.publication_.size(); +inline void Constraint::_internal_set_is_no_inherit(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_no_inherit_ = value; } -inline int AlterSubscriptionStmt::publication_size() const { - return _internal_publication_size(); + +// .pg_query.Node raw_expr = 8 [json_name = "raw_expr"]; +inline bool Constraint::has_raw_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.raw_expr_ != nullptr); + return value; } -inline void AlterSubscriptionStmt::clear_publication() { - _impl_.publication_.Clear(); +inline void Constraint::clear_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.raw_expr_ != nullptr) _impl_.raw_expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* AlterSubscriptionStmt::mutable_publication(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.publication) - return _impl_.publication_.Mutable(index); +inline const ::pg_query::Node& Constraint::_internal_raw_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.raw_expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterSubscriptionStmt::mutable_publication() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSubscriptionStmt.publication) - return &_impl_.publication_; +inline const ::pg_query::Node& Constraint::raw_expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.raw_expr) + return _internal_raw_expr(); } -inline const ::pg_query::Node& AlterSubscriptionStmt::_internal_publication(int index) const { - return _impl_.publication_.Get(index); +inline void Constraint::unsafe_arena_set_allocated_raw_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.raw_expr_); + } + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.raw_expr) } -inline const ::pg_query::Node& AlterSubscriptionStmt::publication(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.publication) - return _internal_publication(index); +inline ::pg_query::Node* Constraint::release_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* AlterSubscriptionStmt::_internal_add_publication() { - return _impl_.publication_.Add(); +inline ::pg_query::Node* Constraint::unsafe_arena_release_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.raw_expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.raw_expr_; + _impl_.raw_expr_ = nullptr; + return temp; } -inline ::pg_query::Node* AlterSubscriptionStmt::add_publication() { - ::pg_query::Node* _add = _internal_add_publication(); - // @@protoc_insertion_point(field_add:pg_query.AlterSubscriptionStmt.publication) - return _add; +inline ::pg_query::Node* Constraint::_internal_mutable_raw_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.raw_expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.raw_expr_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterSubscriptionStmt::publication() const { - // @@protoc_insertion_point(field_list:pg_query.AlterSubscriptionStmt.publication) - return _impl_.publication_; +inline ::pg_query::Node* Constraint::mutable_raw_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_raw_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.raw_expr) + return _msg; } +inline void Constraint::set_allocated_raw_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.raw_expr_); + } -// repeated .pg_query.Node options = 5 [json_name = "options"]; -inline int AlterSubscriptionStmt::_internal_options_size() const { - return _impl_.options_.size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.raw_expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.raw_expr) } -inline int AlterSubscriptionStmt::options_size() const { - return _internal_options_size(); + +// string cooked_expr = 9 [json_name = "cooked_expr"]; +inline void Constraint::clear_cooked_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cooked_expr_.ClearToEmpty(); } -inline void AlterSubscriptionStmt::clear_options() { - _impl_.options_.Clear(); +inline const std::string& Constraint::cooked_expr() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.cooked_expr) + return _internal_cooked_expr(); } -inline ::pg_query::Node* AlterSubscriptionStmt::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.options) - return _impl_.options_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_cooked_expr(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cooked_expr_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.cooked_expr) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterSubscriptionStmt::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSubscriptionStmt.options) - return &_impl_.options_; +inline std::string* Constraint::mutable_cooked_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cooked_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.cooked_expr) + return _s; } -inline const ::pg_query::Node& AlterSubscriptionStmt::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline const std::string& Constraint::_internal_cooked_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cooked_expr_.Get(); } -inline const ::pg_query::Node& AlterSubscriptionStmt::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.options) - return _internal_options(index); +inline void Constraint::_internal_set_cooked_expr(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cooked_expr_.Set(value, GetArena()); } -inline ::pg_query::Node* AlterSubscriptionStmt::_internal_add_options() { - return _impl_.options_.Add(); +inline std::string* Constraint::_internal_mutable_cooked_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cooked_expr_.Mutable( GetArena()); } -inline ::pg_query::Node* AlterSubscriptionStmt::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.AlterSubscriptionStmt.options) - return _add; +inline std::string* Constraint::release_cooked_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.cooked_expr) + return _impl_.cooked_expr_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterSubscriptionStmt::options() const { - // @@protoc_insertion_point(field_list:pg_query.AlterSubscriptionStmt.options) - return _impl_.options_; +inline void Constraint::set_allocated_cooked_expr(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cooked_expr_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cooked_expr_.IsDefault()) { + _impl_.cooked_expr_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.cooked_expr) } -// ------------------------------------------------------------------- - -// DropSubscriptionStmt - -// string subname = 1 [json_name = "subname"]; -inline void DropSubscriptionStmt::clear_subname() { - _impl_.subname_.ClearToEmpty(); +// string generated_when = 10 [json_name = "generated_when"]; +inline void Constraint::clear_generated_when() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.generated_when_.ClearToEmpty(); } -inline const std::string& DropSubscriptionStmt::subname() const { - // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.subname) - return _internal_subname(); +inline const std::string& Constraint::generated_when() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.generated_when) + return _internal_generated_when(); } -template -inline PROTOBUF_ALWAYS_INLINE -void DropSubscriptionStmt::set_subname(ArgT0&& arg0, ArgT... args) { - - _impl_.subname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.subname) +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_generated_when(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.generated_when_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.generated_when) } -inline std::string* DropSubscriptionStmt::mutable_subname() { - std::string* _s = _internal_mutable_subname(); - // @@protoc_insertion_point(field_mutable:pg_query.DropSubscriptionStmt.subname) +inline std::string* Constraint::mutable_generated_when() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_generated_when(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.generated_when) return _s; } -inline const std::string& DropSubscriptionStmt::_internal_subname() const { - return _impl_.subname_.Get(); +inline const std::string& Constraint::_internal_generated_when() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.generated_when_.Get(); } -inline void DropSubscriptionStmt::_internal_set_subname(const std::string& value) { - - _impl_.subname_.Set(value, GetArenaForAllocation()); +inline void Constraint::_internal_set_generated_when(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.generated_when_.Set(value, GetArena()); } -inline std::string* DropSubscriptionStmt::_internal_mutable_subname() { - - return _impl_.subname_.Mutable(GetArenaForAllocation()); +inline std::string* Constraint::_internal_mutable_generated_when() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.generated_when_.Mutable( GetArena()); } -inline std::string* DropSubscriptionStmt::release_subname() { - // @@protoc_insertion_point(field_release:pg_query.DropSubscriptionStmt.subname) - return _impl_.subname_.Release(); +inline std::string* Constraint::release_generated_when() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.generated_when) + return _impl_.generated_when_.Release(); } -inline void DropSubscriptionStmt::set_allocated_subname(std::string* subname) { - if (subname != nullptr) { - - } else { - - } - _impl_.subname_.SetAllocated(subname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.subname_.IsDefault()) { - _impl_.subname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DropSubscriptionStmt.subname) +inline void Constraint::set_allocated_generated_when(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.generated_when_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.generated_when_.IsDefault()) { + _impl_.generated_when_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.generated_when) } -// bool missing_ok = 2 [json_name = "missing_ok"]; -inline void DropSubscriptionStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// int32 inhcount = 11 [json_name = "inhcount"]; +inline void Constraint::clear_inhcount() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inhcount_ = 0; } -inline bool DropSubscriptionStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline ::int32_t Constraint::inhcount() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.inhcount) + return _internal_inhcount(); } -inline bool DropSubscriptionStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.missing_ok) - return _internal_missing_ok(); +inline void Constraint::set_inhcount(::int32_t value) { + _internal_set_inhcount(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.inhcount) } -inline void DropSubscriptionStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline ::int32_t Constraint::_internal_inhcount() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inhcount_; } -inline void DropSubscriptionStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.missing_ok) +inline void Constraint::_internal_set_inhcount(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inhcount_ = value; } -// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; -inline void DropSubscriptionStmt::clear_behavior() { - _impl_.behavior_ = 0; +// bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"]; +inline void Constraint::clear_nulls_not_distinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_not_distinct_ = false; } -inline ::pg_query::DropBehavior DropSubscriptionStmt::_internal_behavior() const { - return static_cast< ::pg_query::DropBehavior >(_impl_.behavior_); +inline bool Constraint::nulls_not_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.nulls_not_distinct) + return _internal_nulls_not_distinct(); } -inline ::pg_query::DropBehavior DropSubscriptionStmt::behavior() const { - // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.behavior) - return _internal_behavior(); +inline void Constraint::set_nulls_not_distinct(bool value) { + _internal_set_nulls_not_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.nulls_not_distinct) } -inline void DropSubscriptionStmt::_internal_set_behavior(::pg_query::DropBehavior value) { - - _impl_.behavior_ = value; +inline bool Constraint::_internal_nulls_not_distinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nulls_not_distinct_; } -inline void DropSubscriptionStmt::set_behavior(::pg_query::DropBehavior value) { - _internal_set_behavior(value); - // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.behavior) +inline void Constraint::_internal_set_nulls_not_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulls_not_distinct_ = value; } -// ------------------------------------------------------------------- - -// CreateStatsStmt - -// repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; -inline int CreateStatsStmt::_internal_defnames_size() const { - return _impl_.defnames_.size(); +// repeated .pg_query.Node keys = 13 [json_name = "keys"]; +inline int Constraint::_internal_keys_size() const { + return _internal_keys().size(); } -inline int CreateStatsStmt::defnames_size() const { - return _internal_defnames_size(); +inline int Constraint::keys_size() const { + return _internal_keys_size(); } -inline void CreateStatsStmt::clear_defnames() { - _impl_.defnames_.Clear(); +inline void Constraint::clear_keys() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.keys_.Clear(); } -inline ::pg_query::Node* CreateStatsStmt::mutable_defnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.defnames) - return _impl_.defnames_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_keys(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.keys) + return _internal_mutable_keys()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStatsStmt::mutable_defnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.defnames) - return &_impl_.defnames_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_keys() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.keys) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_keys(); } -inline const ::pg_query::Node& CreateStatsStmt::_internal_defnames(int index) const { - return _impl_.defnames_.Get(index); +inline const ::pg_query::Node& Constraint::keys(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.keys) + return _internal_keys().Get(index); } -inline const ::pg_query::Node& CreateStatsStmt::defnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.defnames) - return _internal_defnames(index); +inline ::pg_query::Node* Constraint::add_keys() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_keys()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.keys) + return _add; } -inline ::pg_query::Node* CreateStatsStmt::_internal_add_defnames() { - return _impl_.defnames_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::keys() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.keys) + return _internal_keys(); } -inline ::pg_query::Node* CreateStatsStmt::add_defnames() { - ::pg_query::Node* _add = _internal_add_defnames(); - // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.defnames) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_keys() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.keys_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStatsStmt::defnames() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.defnames) - return _impl_.defnames_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_keys() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.keys_; } -// repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"]; -inline int CreateStatsStmt::_internal_stat_types_size() const { - return _impl_.stat_types_.size(); +// repeated .pg_query.Node including = 14 [json_name = "including"]; +inline int Constraint::_internal_including_size() const { + return _internal_including().size(); } -inline int CreateStatsStmt::stat_types_size() const { - return _internal_stat_types_size(); +inline int Constraint::including_size() const { + return _internal_including_size(); } -inline void CreateStatsStmt::clear_stat_types() { - _impl_.stat_types_.Clear(); +inline void Constraint::clear_including() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.including_.Clear(); } -inline ::pg_query::Node* CreateStatsStmt::mutable_stat_types(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.stat_types) - return _impl_.stat_types_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_including(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.including) + return _internal_mutable_including()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStatsStmt::mutable_stat_types() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.stat_types) - return &_impl_.stat_types_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_including() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.including) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_including(); } -inline const ::pg_query::Node& CreateStatsStmt::_internal_stat_types(int index) const { - return _impl_.stat_types_.Get(index); +inline const ::pg_query::Node& Constraint::including(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.including) + return _internal_including().Get(index); } -inline const ::pg_query::Node& CreateStatsStmt::stat_types(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.stat_types) - return _internal_stat_types(index); +inline ::pg_query::Node* Constraint::add_including() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_including()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.including) + return _add; } -inline ::pg_query::Node* CreateStatsStmt::_internal_add_stat_types() { - return _impl_.stat_types_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::including() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.including) + return _internal_including(); } -inline ::pg_query::Node* CreateStatsStmt::add_stat_types() { - ::pg_query::Node* _add = _internal_add_stat_types(); - // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.stat_types) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_including() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.including_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStatsStmt::stat_types() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.stat_types) - return _impl_.stat_types_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_including() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.including_; } -// repeated .pg_query.Node exprs = 3 [json_name = "exprs"]; -inline int CreateStatsStmt::_internal_exprs_size() const { - return _impl_.exprs_.size(); +// repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"]; +inline int Constraint::_internal_exclusions_size() const { + return _internal_exclusions().size(); } -inline int CreateStatsStmt::exprs_size() const { - return _internal_exprs_size(); +inline int Constraint::exclusions_size() const { + return _internal_exclusions_size(); } -inline void CreateStatsStmt::clear_exprs() { - _impl_.exprs_.Clear(); +inline void Constraint::clear_exclusions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.exclusions_.Clear(); } -inline ::pg_query::Node* CreateStatsStmt::mutable_exprs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.exprs) - return _impl_.exprs_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_exclusions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.exclusions) + return _internal_mutable_exclusions()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStatsStmt::mutable_exprs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.exprs) - return &_impl_.exprs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_exclusions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.exclusions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_exclusions(); } -inline const ::pg_query::Node& CreateStatsStmt::_internal_exprs(int index) const { - return _impl_.exprs_.Get(index); +inline const ::pg_query::Node& Constraint::exclusions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.exclusions) + return _internal_exclusions().Get(index); } -inline const ::pg_query::Node& CreateStatsStmt::exprs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.exprs) - return _internal_exprs(index); +inline ::pg_query::Node* Constraint::add_exclusions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_exclusions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.exclusions) + return _add; } -inline ::pg_query::Node* CreateStatsStmt::_internal_add_exprs() { - return _impl_.exprs_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::exclusions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.exclusions) + return _internal_exclusions(); } -inline ::pg_query::Node* CreateStatsStmt::add_exprs() { - ::pg_query::Node* _add = _internal_add_exprs(); - // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.exprs) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_exclusions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.exclusions_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStatsStmt::exprs() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.exprs) - return _impl_.exprs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_exclusions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.exclusions_; } -// repeated .pg_query.Node relations = 4 [json_name = "relations"]; -inline int CreateStatsStmt::_internal_relations_size() const { - return _impl_.relations_.size(); +// repeated .pg_query.Node options = 16 [json_name = "options"]; +inline int Constraint::_internal_options_size() const { + return _internal_options().size(); } -inline int CreateStatsStmt::relations_size() const { - return _internal_relations_size(); +inline int Constraint::options_size() const { + return _internal_options_size(); } -inline void CreateStatsStmt::clear_relations() { - _impl_.relations_.Clear(); +inline void Constraint::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* CreateStatsStmt::mutable_relations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.relations) - return _impl_.relations_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.options) + return _internal_mutable_options()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateStatsStmt::mutable_relations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.relations) - return &_impl_.relations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline const ::pg_query::Node& CreateStatsStmt::_internal_relations(int index) const { - return _impl_.relations_.Get(index); +inline const ::pg_query::Node& Constraint::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.options) + return _internal_options().Get(index); } -inline const ::pg_query::Node& CreateStatsStmt::relations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.relations) - return _internal_relations(index); +inline ::pg_query::Node* Constraint::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.options) + return _add; } -inline ::pg_query::Node* CreateStatsStmt::_internal_add_relations() { - return _impl_.relations_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.options) + return _internal_options(); } -inline ::pg_query::Node* CreateStatsStmt::add_relations() { - ::pg_query::Node* _add = _internal_add_relations(); - // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.relations) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateStatsStmt::relations() const { - // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.relations) - return _impl_.relations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// string stxcomment = 5 [json_name = "stxcomment"]; -inline void CreateStatsStmt::clear_stxcomment() { - _impl_.stxcomment_.ClearToEmpty(); +// string indexname = 17 [json_name = "indexname"]; +inline void Constraint::clear_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexname_.ClearToEmpty(); } -inline const std::string& CreateStatsStmt::stxcomment() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.stxcomment) - return _internal_stxcomment(); +inline const std::string& Constraint::indexname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.indexname) + return _internal_indexname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CreateStatsStmt::set_stxcomment(ArgT0&& arg0, ArgT... args) { - - _impl_.stxcomment_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.stxcomment) +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_indexname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.indexname) } -inline std::string* CreateStatsStmt::mutable_stxcomment() { - std::string* _s = _internal_mutable_stxcomment(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.stxcomment) +inline std::string* Constraint::mutable_indexname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_indexname(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.indexname) return _s; } -inline const std::string& CreateStatsStmt::_internal_stxcomment() const { - return _impl_.stxcomment_.Get(); +inline const std::string& Constraint::_internal_indexname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indexname_.Get(); } -inline void CreateStatsStmt::_internal_set_stxcomment(const std::string& value) { - - _impl_.stxcomment_.Set(value, GetArenaForAllocation()); +inline void Constraint::_internal_set_indexname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexname_.Set(value, GetArena()); } -inline std::string* CreateStatsStmt::_internal_mutable_stxcomment() { - - return _impl_.stxcomment_.Mutable(GetArenaForAllocation()); +inline std::string* Constraint::_internal_mutable_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.indexname_.Mutable( GetArena()); } -inline std::string* CreateStatsStmt::release_stxcomment() { - // @@protoc_insertion_point(field_release:pg_query.CreateStatsStmt.stxcomment) - return _impl_.stxcomment_.Release(); +inline std::string* Constraint::release_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.indexname) + return _impl_.indexname_.Release(); } -inline void CreateStatsStmt::set_allocated_stxcomment(std::string* stxcomment) { - if (stxcomment != nullptr) { - - } else { - - } - _impl_.stxcomment_.SetAllocated(stxcomment, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.stxcomment_.IsDefault()) { - _impl_.stxcomment_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStatsStmt.stxcomment) +inline void Constraint::set_allocated_indexname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.indexname_.IsDefault()) { + _impl_.indexname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexname) } -// bool transformed = 6 [json_name = "transformed"]; -inline void CreateStatsStmt::clear_transformed() { - _impl_.transformed_ = false; +// string indexspace = 18 [json_name = "indexspace"]; +inline void Constraint::clear_indexspace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexspace_.ClearToEmpty(); } -inline bool CreateStatsStmt::_internal_transformed() const { - return _impl_.transformed_; +inline const std::string& Constraint::indexspace() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.indexspace) + return _internal_indexspace(); } -inline bool CreateStatsStmt::transformed() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.transformed) - return _internal_transformed(); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_indexspace(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexspace_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.indexspace) } -inline void CreateStatsStmt::_internal_set_transformed(bool value) { - - _impl_.transformed_ = value; +inline std::string* Constraint::mutable_indexspace() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_indexspace(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.indexspace) + return _s; } -inline void CreateStatsStmt::set_transformed(bool value) { - _internal_set_transformed(value); - // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.transformed) +inline const std::string& Constraint::_internal_indexspace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indexspace_.Get(); } - -// bool if_not_exists = 7 [json_name = "if_not_exists"]; -inline void CreateStatsStmt::clear_if_not_exists() { - _impl_.if_not_exists_ = false; +inline void Constraint::_internal_set_indexspace(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexspace_.Set(value, GetArena()); } -inline bool CreateStatsStmt::_internal_if_not_exists() const { - return _impl_.if_not_exists_; +inline std::string* Constraint::_internal_mutable_indexspace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.indexspace_.Mutable( GetArena()); } -inline bool CreateStatsStmt::if_not_exists() const { - // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.if_not_exists) - return _internal_if_not_exists(); +inline std::string* Constraint::release_indexspace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.indexspace) + return _impl_.indexspace_.Release(); +} +inline void Constraint::set_allocated_indexspace(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexspace_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.indexspace_.IsDefault()) { + _impl_.indexspace_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexspace) +} + +// bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"]; +inline void Constraint::clear_reset_default_tblspc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.reset_default_tblspc_ = false; +} +inline bool Constraint::reset_default_tblspc() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.reset_default_tblspc) + return _internal_reset_default_tblspc(); } -inline void CreateStatsStmt::_internal_set_if_not_exists(bool value) { - - _impl_.if_not_exists_ = value; +inline void Constraint::set_reset_default_tblspc(bool value) { + _internal_set_reset_default_tblspc(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.reset_default_tblspc) } -inline void CreateStatsStmt::set_if_not_exists(bool value) { - _internal_set_if_not_exists(value); - // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.if_not_exists) +inline bool Constraint::_internal_reset_default_tblspc() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.reset_default_tblspc_; } - -// ------------------------------------------------------------------- - -// AlterCollationStmt - -// repeated .pg_query.Node collname = 1 [json_name = "collname"]; -inline int AlterCollationStmt::_internal_collname_size() const { - return _impl_.collname_.size(); +inline void Constraint::_internal_set_reset_default_tblspc(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.reset_default_tblspc_ = value; } -inline int AlterCollationStmt::collname_size() const { - return _internal_collname_size(); + +// string access_method = 20 [json_name = "access_method"]; +inline void Constraint::clear_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.ClearToEmpty(); } -inline void AlterCollationStmt::clear_collname() { - _impl_.collname_.Clear(); +inline const std::string& Constraint::access_method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.access_method) + return _internal_access_method(); } -inline ::pg_query::Node* AlterCollationStmt::mutable_collname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterCollationStmt.collname) - return _impl_.collname_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_access_method(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.access_method) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterCollationStmt::mutable_collname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterCollationStmt.collname) - return &_impl_.collname_; +inline std::string* Constraint::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_access_method(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.access_method) + return _s; } -inline const ::pg_query::Node& AlterCollationStmt::_internal_collname(int index) const { - return _impl_.collname_.Get(index); +inline const std::string& Constraint::_internal_access_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.access_method_.Get(); } -inline const ::pg_query::Node& AlterCollationStmt::collname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterCollationStmt.collname) - return _internal_collname(index); +inline void Constraint::_internal_set_access_method(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(value, GetArena()); } -inline ::pg_query::Node* AlterCollationStmt::_internal_add_collname() { - return _impl_.collname_.Add(); +inline std::string* Constraint::_internal_mutable_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.access_method_.Mutable( GetArena()); } -inline ::pg_query::Node* AlterCollationStmt::add_collname() { - ::pg_query::Node* _add = _internal_add_collname(); - // @@protoc_insertion_point(field_add:pg_query.AlterCollationStmt.collname) - return _add; +inline std::string* Constraint::release_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.access_method) + return _impl_.access_method_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterCollationStmt::collname() const { - // @@protoc_insertion_point(field_list:pg_query.AlterCollationStmt.collname) - return _impl_.collname_; +inline void Constraint::set_allocated_access_method(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.access_method_.IsDefault()) { + _impl_.access_method_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.access_method) } -// ------------------------------------------------------------------- - -// CallStmt - -// .pg_query.FuncCall funccall = 1 [json_name = "funccall"]; -inline bool CallStmt::_internal_has_funccall() const { - return this != internal_default_instance() && _impl_.funccall_ != nullptr; -} -inline bool CallStmt::has_funccall() const { - return _internal_has_funccall(); +// .pg_query.Node where_clause = 21 [json_name = "where_clause"]; +inline bool Constraint::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline void CallStmt::clear_funccall() { - if (GetArenaForAllocation() == nullptr && _impl_.funccall_ != nullptr) { - delete _impl_.funccall_; - } - _impl_.funccall_ = nullptr; +inline void Constraint::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::FuncCall& CallStmt::_internal_funccall() const { - const ::pg_query::FuncCall* p = _impl_.funccall_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_FuncCall_default_instance_); +inline const ::pg_query::Node& Constraint::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::FuncCall& CallStmt::funccall() const { - // @@protoc_insertion_point(field_get:pg_query.CallStmt.funccall) - return _internal_funccall(); +inline const ::pg_query::Node& Constraint::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.where_clause) + return _internal_where_clause(); } -inline void CallStmt::unsafe_arena_set_allocated_funccall( - ::pg_query::FuncCall* funccall) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.funccall_); +inline void Constraint::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.funccall_ = funccall; - if (funccall) { - + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CallStmt.funccall) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.where_clause) } -inline ::pg_query::FuncCall* CallStmt::release_funccall() { - - ::pg_query::FuncCall* temp = _impl_.funccall_; - _impl_.funccall_ = nullptr; +inline ::pg_query::Node* Constraint::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::FuncCall* CallStmt::unsafe_arena_release_funccall() { - // @@protoc_insertion_point(field_release:pg_query.CallStmt.funccall) - - ::pg_query::FuncCall* temp = _impl_.funccall_; - _impl_.funccall_ = nullptr; +inline ::pg_query::Node* Constraint::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::FuncCall* CallStmt::_internal_mutable_funccall() { - - if (_impl_.funccall_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::FuncCall>(GetArenaForAllocation()); - _impl_.funccall_ = p; +inline ::pg_query::Node* Constraint::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.funccall_; + return _impl_.where_clause_; } -inline ::pg_query::FuncCall* CallStmt::mutable_funccall() { - ::pg_query::FuncCall* _msg = _internal_mutable_funccall(); - // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.funccall) +inline ::pg_query::Node* Constraint::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.where_clause) return _msg; } -inline void CallStmt::set_allocated_funccall(::pg_query::FuncCall* funccall) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Constraint::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.funccall_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - if (funccall) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(funccall); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - funccall = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, funccall, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.funccall_ = funccall; - // @@protoc_insertion_point(field_set_allocated:pg_query.CallStmt.funccall) -} -// .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"]; -inline bool CallStmt::_internal_has_funcexpr() const { - return this != internal_default_instance() && _impl_.funcexpr_ != nullptr; + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.where_clause) } -inline bool CallStmt::has_funcexpr() const { - return _internal_has_funcexpr(); + +// .pg_query.RangeVar pktable = 22 [json_name = "pktable"]; +inline bool Constraint::has_pktable() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pktable_ != nullptr); + return value; } -inline void CallStmt::clear_funcexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.funcexpr_ != nullptr) { - delete _impl_.funcexpr_; - } - _impl_.funcexpr_ = nullptr; +inline void Constraint::clear_pktable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pktable_ != nullptr) _impl_.pktable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::FuncExpr& CallStmt::_internal_funcexpr() const { - const ::pg_query::FuncExpr* p = _impl_.funcexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_FuncExpr_default_instance_); +inline const ::pg_query::RangeVar& Constraint::_internal_pktable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.pktable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::FuncExpr& CallStmt::funcexpr() const { - // @@protoc_insertion_point(field_get:pg_query.CallStmt.funcexpr) - return _internal_funcexpr(); +inline const ::pg_query::RangeVar& Constraint::pktable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.pktable) + return _internal_pktable(); } -inline void CallStmt::unsafe_arena_set_allocated_funcexpr( - ::pg_query::FuncExpr* funcexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.funcexpr_); +inline void Constraint::unsafe_arena_set_allocated_pktable(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pktable_); } - _impl_.funcexpr_ = funcexpr; - if (funcexpr) { - + _impl_.pktable_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CallStmt.funcexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.pktable) } -inline ::pg_query::FuncExpr* CallStmt::release_funcexpr() { - - ::pg_query::FuncExpr* temp = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; +inline ::pg_query::RangeVar* Constraint::release_pktable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RangeVar* released = _impl_.pktable_; + _impl_.pktable_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::FuncExpr* CallStmt::unsafe_arena_release_funcexpr() { - // @@protoc_insertion_point(field_release:pg_query.CallStmt.funcexpr) - - ::pg_query::FuncExpr* temp = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; +inline ::pg_query::RangeVar* Constraint::unsafe_arena_release_pktable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.pktable) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RangeVar* temp = _impl_.pktable_; + _impl_.pktable_ = nullptr; return temp; } -inline ::pg_query::FuncExpr* CallStmt::_internal_mutable_funcexpr() { - - if (_impl_.funcexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::FuncExpr>(GetArenaForAllocation()); - _impl_.funcexpr_ = p; +inline ::pg_query::RangeVar* Constraint::_internal_mutable_pktable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.pktable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.pktable_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.funcexpr_; + return _impl_.pktable_; } -inline ::pg_query::FuncExpr* CallStmt::mutable_funcexpr() { - ::pg_query::FuncExpr* _msg = _internal_mutable_funcexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.funcexpr) +inline ::pg_query::RangeVar* Constraint::mutable_pktable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_pktable(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.pktable) return _msg; } -inline void CallStmt::set_allocated_funcexpr(::pg_query::FuncExpr* funcexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void Constraint::set_allocated_pktable(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.funcexpr_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.pktable_); } - if (funcexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(funcexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - funcexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, funcexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.funcexpr_ = funcexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.CallStmt.funcexpr) + + _impl_.pktable_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.pktable) } -// repeated .pg_query.Node outargs = 3 [json_name = "outargs"]; -inline int CallStmt::_internal_outargs_size() const { - return _impl_.outargs_.size(); +// repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"]; +inline int Constraint::_internal_fk_attrs_size() const { + return _internal_fk_attrs().size(); } -inline int CallStmt::outargs_size() const { - return _internal_outargs_size(); +inline int Constraint::fk_attrs_size() const { + return _internal_fk_attrs_size(); } -inline void CallStmt::clear_outargs() { - _impl_.outargs_.Clear(); +inline void Constraint::clear_fk_attrs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_attrs_.Clear(); } -inline ::pg_query::Node* CallStmt::mutable_outargs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.outargs) - return _impl_.outargs_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_fk_attrs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_attrs) + return _internal_mutable_fk_attrs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CallStmt::mutable_outargs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CallStmt.outargs) - return &_impl_.outargs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_fk_attrs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.fk_attrs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fk_attrs(); } -inline const ::pg_query::Node& CallStmt::_internal_outargs(int index) const { - return _impl_.outargs_.Get(index); +inline const ::pg_query::Node& Constraint::fk_attrs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_attrs) + return _internal_fk_attrs().Get(index); } -inline const ::pg_query::Node& CallStmt::outargs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CallStmt.outargs) - return _internal_outargs(index); +inline ::pg_query::Node* Constraint::add_fk_attrs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fk_attrs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.fk_attrs) + return _add; } -inline ::pg_query::Node* CallStmt::_internal_add_outargs() { - return _impl_.outargs_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::fk_attrs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.fk_attrs) + return _internal_fk_attrs(); } -inline ::pg_query::Node* CallStmt::add_outargs() { - ::pg_query::Node* _add = _internal_add_outargs(); - // @@protoc_insertion_point(field_add:pg_query.CallStmt.outargs) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_fk_attrs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fk_attrs_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CallStmt::outargs() const { - // @@protoc_insertion_point(field_list:pg_query.CallStmt.outargs) - return _impl_.outargs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_fk_attrs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fk_attrs_; } -// ------------------------------------------------------------------- - -// AlterStatsStmt - -// repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; -inline int AlterStatsStmt::_internal_defnames_size() const { - return _impl_.defnames_.size(); +// repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"]; +inline int Constraint::_internal_pk_attrs_size() const { + return _internal_pk_attrs().size(); } -inline int AlterStatsStmt::defnames_size() const { - return _internal_defnames_size(); +inline int Constraint::pk_attrs_size() const { + return _internal_pk_attrs_size(); } -inline void AlterStatsStmt::clear_defnames() { - _impl_.defnames_.Clear(); +inline void Constraint::clear_pk_attrs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pk_attrs_.Clear(); } -inline ::pg_query::Node* AlterStatsStmt::mutable_defnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AlterStatsStmt.defnames) - return _impl_.defnames_.Mutable(index); +inline ::pg_query::Node* Constraint::mutable_pk_attrs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.pk_attrs) + return _internal_mutable_pk_attrs()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AlterStatsStmt::mutable_defnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AlterStatsStmt.defnames) - return &_impl_.defnames_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_pk_attrs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.pk_attrs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_pk_attrs(); } -inline const ::pg_query::Node& AlterStatsStmt::_internal_defnames(int index) const { - return _impl_.defnames_.Get(index); +inline const ::pg_query::Node& Constraint::pk_attrs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.pk_attrs) + return _internal_pk_attrs().Get(index); } -inline const ::pg_query::Node& AlterStatsStmt::defnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.defnames) - return _internal_defnames(index); +inline ::pg_query::Node* Constraint::add_pk_attrs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_pk_attrs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.pk_attrs) + return _add; } -inline ::pg_query::Node* AlterStatsStmt::_internal_add_defnames() { - return _impl_.defnames_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::pk_attrs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.pk_attrs) + return _internal_pk_attrs(); } -inline ::pg_query::Node* AlterStatsStmt::add_defnames() { - ::pg_query::Node* _add = _internal_add_defnames(); - // @@protoc_insertion_point(field_add:pg_query.AlterStatsStmt.defnames) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_pk_attrs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pk_attrs_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AlterStatsStmt::defnames() const { - // @@protoc_insertion_point(field_list:pg_query.AlterStatsStmt.defnames) - return _impl_.defnames_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_pk_attrs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.pk_attrs_; } -// int32 stxstattarget = 2 [json_name = "stxstattarget"]; -inline void AlterStatsStmt::clear_stxstattarget() { - _impl_.stxstattarget_ = 0; +// string fk_matchtype = 25 [json_name = "fk_matchtype"]; +inline void Constraint::clear_fk_matchtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_matchtype_.ClearToEmpty(); } -inline int32_t AlterStatsStmt::_internal_stxstattarget() const { - return _impl_.stxstattarget_; +inline const std::string& Constraint::fk_matchtype() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_matchtype) + return _internal_fk_matchtype(); } -inline int32_t AlterStatsStmt::stxstattarget() const { - // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.stxstattarget) - return _internal_stxstattarget(); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_fk_matchtype(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_matchtype_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_matchtype) +} +inline std::string* Constraint::mutable_fk_matchtype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fk_matchtype(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_matchtype) + return _s; +} +inline const std::string& Constraint::_internal_fk_matchtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fk_matchtype_.Get(); } -inline void AlterStatsStmt::_internal_set_stxstattarget(int32_t value) { - - _impl_.stxstattarget_ = value; +inline void Constraint::_internal_set_fk_matchtype(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_matchtype_.Set(value, GetArena()); +} +inline std::string* Constraint::_internal_mutable_fk_matchtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fk_matchtype_.Mutable( GetArena()); +} +inline std::string* Constraint::release_fk_matchtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_matchtype) + return _impl_.fk_matchtype_.Release(); } -inline void AlterStatsStmt::set_stxstattarget(int32_t value) { - _internal_set_stxstattarget(value); - // @@protoc_insertion_point(field_set:pg_query.AlterStatsStmt.stxstattarget) +inline void Constraint::set_allocated_fk_matchtype(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_matchtype_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fk_matchtype_.IsDefault()) { + _impl_.fk_matchtype_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_matchtype) } -// bool missing_ok = 3 [json_name = "missing_ok"]; -inline void AlterStatsStmt::clear_missing_ok() { - _impl_.missing_ok_ = false; +// string fk_upd_action = 26 [json_name = "fk_upd_action"]; +inline void Constraint::clear_fk_upd_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_upd_action_.ClearToEmpty(); } -inline bool AlterStatsStmt::_internal_missing_ok() const { - return _impl_.missing_ok_; +inline const std::string& Constraint::fk_upd_action() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_upd_action) + return _internal_fk_upd_action(); } -inline bool AlterStatsStmt::missing_ok() const { - // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.missing_ok) - return _internal_missing_ok(); +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_fk_upd_action(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_upd_action_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_upd_action) } -inline void AlterStatsStmt::_internal_set_missing_ok(bool value) { - - _impl_.missing_ok_ = value; +inline std::string* Constraint::mutable_fk_upd_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fk_upd_action(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_upd_action) + return _s; } -inline void AlterStatsStmt::set_missing_ok(bool value) { - _internal_set_missing_ok(value); - // @@protoc_insertion_point(field_set:pg_query.AlterStatsStmt.missing_ok) +inline const std::string& Constraint::_internal_fk_upd_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fk_upd_action_.Get(); +} +inline void Constraint::_internal_set_fk_upd_action(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_upd_action_.Set(value, GetArena()); +} +inline std::string* Constraint::_internal_mutable_fk_upd_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fk_upd_action_.Mutable( GetArena()); +} +inline std::string* Constraint::release_fk_upd_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_upd_action) + return _impl_.fk_upd_action_.Release(); +} +inline void Constraint::set_allocated_fk_upd_action(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_upd_action_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fk_upd_action_.IsDefault()) { + _impl_.fk_upd_action_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_upd_action) } -// ------------------------------------------------------------------- +// string fk_del_action = 27 [json_name = "fk_del_action"]; +inline void Constraint::clear_fk_del_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_del_action_.ClearToEmpty(); +} +inline const std::string& Constraint::fk_del_action() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_del_action) + return _internal_fk_del_action(); +} +template +inline PROTOBUF_ALWAYS_INLINE void Constraint::set_fk_del_action(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_del_action_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_del_action) +} +inline std::string* Constraint::mutable_fk_del_action() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fk_del_action(); + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_del_action) + return _s; +} +inline const std::string& Constraint::_internal_fk_del_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fk_del_action_.Get(); +} +inline void Constraint::_internal_set_fk_del_action(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fk_del_action_.Set(value, GetArena()); +} +inline std::string* Constraint::_internal_mutable_fk_del_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fk_del_action_.Mutable( GetArena()); +} +inline std::string* Constraint::release_fk_del_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_del_action) + return _impl_.fk_del_action_.Release(); +} +inline void Constraint::set_allocated_fk_del_action(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_del_action_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fk_del_action_.IsDefault()) { + _impl_.fk_del_action_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_del_action) +} -// A_Expr +// repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"]; +inline int Constraint::_internal_fk_del_set_cols_size() const { + return _internal_fk_del_set_cols().size(); +} +inline int Constraint::fk_del_set_cols_size() const { + return _internal_fk_del_set_cols_size(); +} +inline void Constraint::clear_fk_del_set_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fk_del_set_cols_.Clear(); +} +inline ::pg_query::Node* Constraint::mutable_fk_del_set_cols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_del_set_cols) + return _internal_mutable_fk_del_set_cols()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_fk_del_set_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.fk_del_set_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_fk_del_set_cols(); +} +inline const ::pg_query::Node& Constraint::fk_del_set_cols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_del_set_cols) + return _internal_fk_del_set_cols().Get(index); +} +inline ::pg_query::Node* Constraint::add_fk_del_set_cols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_fk_del_set_cols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.fk_del_set_cols) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::fk_del_set_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.fk_del_set_cols) + return _internal_fk_del_set_cols(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_fk_del_set_cols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fk_del_set_cols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_fk_del_set_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.fk_del_set_cols_; +} -// .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"]; -inline void A_Expr::clear_kind() { - _impl_.kind_ = 0; +// repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"]; +inline int Constraint::_internal_old_conpfeqop_size() const { + return _internal_old_conpfeqop().size(); } -inline ::pg_query::A_Expr_Kind A_Expr::_internal_kind() const { - return static_cast< ::pg_query::A_Expr_Kind >(_impl_.kind_); +inline int Constraint::old_conpfeqop_size() const { + return _internal_old_conpfeqop_size(); } -inline ::pg_query::A_Expr_Kind A_Expr::kind() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.kind) - return _internal_kind(); +inline void Constraint::clear_old_conpfeqop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_conpfeqop_.Clear(); } -inline void A_Expr::_internal_set_kind(::pg_query::A_Expr_Kind value) { - - _impl_.kind_ = value; +inline ::pg_query::Node* Constraint::mutable_old_conpfeqop(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.Constraint.old_conpfeqop) + return _internal_mutable_old_conpfeqop()->Mutable(index); } -inline void A_Expr::set_kind(::pg_query::A_Expr_Kind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.A_Expr.kind) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* Constraint::mutable_old_conpfeqop() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.old_conpfeqop) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_old_conpfeqop(); +} +inline const ::pg_query::Node& Constraint::old_conpfeqop(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.Constraint.old_conpfeqop) + return _internal_old_conpfeqop().Get(index); +} +inline ::pg_query::Node* Constraint::add_old_conpfeqop() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_old_conpfeqop()->Add(); + // @@protoc_insertion_point(field_add:pg_query.Constraint.old_conpfeqop) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& Constraint::old_conpfeqop() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.Constraint.old_conpfeqop) + return _internal_old_conpfeqop(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +Constraint::_internal_old_conpfeqop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_conpfeqop_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +Constraint::_internal_mutable_old_conpfeqop() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.old_conpfeqop_; } -// repeated .pg_query.Node name = 2 [json_name = "name"]; -inline int A_Expr::_internal_name_size() const { - return _impl_.name_.size(); +// uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"]; +inline void Constraint::clear_old_pktable_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_pktable_oid_ = 0u; } -inline int A_Expr::name_size() const { - return _internal_name_size(); +inline ::uint32_t Constraint::old_pktable_oid() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.old_pktable_oid) + return _internal_old_pktable_oid(); } -inline void A_Expr::clear_name() { - _impl_.name_.Clear(); +inline void Constraint::set_old_pktable_oid(::uint32_t value) { + _internal_set_old_pktable_oid(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.old_pktable_oid) } -inline ::pg_query::Node* A_Expr::mutable_name(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.name) - return _impl_.name_.Mutable(index); +inline ::uint32_t Constraint::_internal_old_pktable_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_pktable_oid_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -A_Expr::mutable_name() { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_Expr.name) - return &_impl_.name_; +inline void Constraint::_internal_set_old_pktable_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_pktable_oid_ = value; } -inline const ::pg_query::Node& A_Expr::_internal_name(int index) const { - return _impl_.name_.Get(index); + +// int32 location = 31 [json_name = "location"]; +inline void Constraint::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline const ::pg_query::Node& A_Expr::name(int index) const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.name) - return _internal_name(index); +inline ::int32_t Constraint::location() const { + // @@protoc_insertion_point(field_get:pg_query.Constraint.location) + return _internal_location(); } -inline ::pg_query::Node* A_Expr::_internal_add_name() { - return _impl_.name_.Add(); +inline void Constraint::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.Constraint.location) } -inline ::pg_query::Node* A_Expr::add_name() { - ::pg_query::Node* _add = _internal_add_name(); - // @@protoc_insertion_point(field_add:pg_query.A_Expr.name) - return _add; +inline ::int32_t Constraint::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -A_Expr::name() const { - // @@protoc_insertion_point(field_list:pg_query.A_Expr.name) - return _impl_.name_; +inline void Constraint::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -// .pg_query.Node lexpr = 3 [json_name = "lexpr"]; -inline bool A_Expr::_internal_has_lexpr() const { - return this != internal_default_instance() && _impl_.lexpr_ != nullptr; +// ------------------------------------------------------------------- + +// CreateTableSpaceStmt + +// string tablespacename = 1 [json_name = "tablespacename"]; +inline void CreateTableSpaceStmt::clear_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.ClearToEmpty(); } -inline bool A_Expr::has_lexpr() const { - return _internal_has_lexpr(); +inline const std::string& CreateTableSpaceStmt::tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.tablespacename) + return _internal_tablespacename(); } -inline void A_Expr::clear_lexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.lexpr_ != nullptr) { - delete _impl_.lexpr_; - } - _impl_.lexpr_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void CreateTableSpaceStmt::set_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateTableSpaceStmt.tablespacename) } -inline const ::pg_query::Node& A_Expr::_internal_lexpr() const { - const ::pg_query::Node* p = _impl_.lexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* CreateTableSpaceStmt::mutable_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.tablespacename) + return _s; } -inline const ::pg_query::Node& A_Expr::lexpr() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.lexpr) - return _internal_lexpr(); +inline const std::string& CreateTableSpaceStmt::_internal_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tablespacename_.Get(); +} +inline void CreateTableSpaceStmt::_internal_set_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(value, GetArena()); +} +inline std::string* CreateTableSpaceStmt::_internal_mutable_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.tablespacename_.Mutable( GetArena()); +} +inline std::string* CreateTableSpaceStmt::release_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.tablespacename) + return _impl_.tablespacename_.Release(); +} +inline void CreateTableSpaceStmt::set_allocated_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.tablespacename_.IsDefault()) { + _impl_.tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.tablespacename) +} + +// .pg_query.RoleSpec owner = 2 [json_name = "owner"]; +inline bool CreateTableSpaceStmt::has_owner() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.owner_ != nullptr); + return value; +} +inline void CreateTableSpaceStmt::clear_owner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.owner_ != nullptr) _impl_.owner_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void A_Expr::unsafe_arena_set_allocated_lexpr( - ::pg_query::Node* lexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.lexpr_); +inline const ::pg_query::RoleSpec& CreateTableSpaceStmt::_internal_owner() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.owner_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); +} +inline const ::pg_query::RoleSpec& CreateTableSpaceStmt::owner() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.owner) + return _internal_owner(); +} +inline void CreateTableSpaceStmt::unsafe_arena_set_allocated_owner(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.owner_); } - _impl_.lexpr_ = lexpr; - if (lexpr) { - + _impl_.owner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.lexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableSpaceStmt.owner) } -inline ::pg_query::Node* A_Expr::release_lexpr() { - - ::pg_query::Node* temp = _impl_.lexpr_; - _impl_.lexpr_ = nullptr; +inline ::pg_query::RoleSpec* CreateTableSpaceStmt::release_owner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.owner_; + _impl_.owner_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* A_Expr::unsafe_arena_release_lexpr() { - // @@protoc_insertion_point(field_release:pg_query.A_Expr.lexpr) - - ::pg_query::Node* temp = _impl_.lexpr_; - _impl_.lexpr_ = nullptr; +inline ::pg_query::RoleSpec* CreateTableSpaceStmt::unsafe_arena_release_owner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.owner) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.owner_; + _impl_.owner_ = nullptr; return temp; } -inline ::pg_query::Node* A_Expr::_internal_mutable_lexpr() { - - if (_impl_.lexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.lexpr_ = p; +inline ::pg_query::RoleSpec* CreateTableSpaceStmt::_internal_mutable_owner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.owner_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.owner_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.lexpr_; + return _impl_.owner_; } -inline ::pg_query::Node* A_Expr::mutable_lexpr() { - ::pg_query::Node* _msg = _internal_mutable_lexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.lexpr) +inline ::pg_query::RoleSpec* CreateTableSpaceStmt::mutable_owner() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_owner(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.owner) return _msg; } -inline void A_Expr::set_allocated_lexpr(::pg_query::Node* lexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateTableSpaceStmt::set_allocated_owner(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.lexpr_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.owner_); } - if (lexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(lexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - lexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, lexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.lexpr_ = lexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.lexpr) + + _impl_.owner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.owner) } -// .pg_query.Node rexpr = 4 [json_name = "rexpr"]; -inline bool A_Expr::_internal_has_rexpr() const { - return this != internal_default_instance() && _impl_.rexpr_ != nullptr; +// string location = 3 [json_name = "location"]; +inline void CreateTableSpaceStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_.ClearToEmpty(); } -inline bool A_Expr::has_rexpr() const { - return _internal_has_rexpr(); +inline const std::string& CreateTableSpaceStmt::location() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.location) + return _internal_location(); } -inline void A_Expr::clear_rexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.rexpr_ != nullptr) { - delete _impl_.rexpr_; - } - _impl_.rexpr_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void CreateTableSpaceStmt::set_location(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateTableSpaceStmt.location) +} +inline std::string* CreateTableSpaceStmt::mutable_location() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_location(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.location) + return _s; +} +inline const std::string& CreateTableSpaceStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_.Get(); +} +inline void CreateTableSpaceStmt::_internal_set_location(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_.Set(value, GetArena()); +} +inline std::string* CreateTableSpaceStmt::_internal_mutable_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.location_.Mutable( GetArena()); +} +inline std::string* CreateTableSpaceStmt::release_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTableSpaceStmt.location) + return _impl_.location_.Release(); +} +inline void CreateTableSpaceStmt::set_allocated_location(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.location_.IsDefault()) { + _impl_.location_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableSpaceStmt.location) +} + +// repeated .pg_query.Node options = 4 [json_name = "options"]; +inline int CreateTableSpaceStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int CreateTableSpaceStmt::options_size() const { + return _internal_options_size(); +} +inline void CreateTableSpaceStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* CreateTableSpaceStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableSpaceStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateTableSpaceStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTableSpaceStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& CreateTableSpaceStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableSpaceStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* CreateTableSpaceStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateTableSpaceStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateTableSpaceStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateTableSpaceStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateTableSpaceStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateTableSpaceStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} + +// ------------------------------------------------------------------- + +// DropTableSpaceStmt + +// string tablespacename = 1 [json_name = "tablespacename"]; +inline void DropTableSpaceStmt::clear_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.ClearToEmpty(); } -inline const ::pg_query::Node& A_Expr::_internal_rexpr() const { - const ::pg_query::Node* p = _impl_.rexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const std::string& DropTableSpaceStmt::tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropTableSpaceStmt.tablespacename) + return _internal_tablespacename(); } -inline const ::pg_query::Node& A_Expr::rexpr() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.rexpr) - return _internal_rexpr(); +template +inline PROTOBUF_ALWAYS_INLINE void DropTableSpaceStmt::set_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DropTableSpaceStmt.tablespacename) } -inline void A_Expr::unsafe_arena_set_allocated_rexpr( - ::pg_query::Node* rexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rexpr_); - } - _impl_.rexpr_ = rexpr; - if (rexpr) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Expr.rexpr) +inline std::string* DropTableSpaceStmt::mutable_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.DropTableSpaceStmt.tablespacename) + return _s; } -inline ::pg_query::Node* A_Expr::release_rexpr() { - - ::pg_query::Node* temp = _impl_.rexpr_; - _impl_.rexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& DropTableSpaceStmt::_internal_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tablespacename_.Get(); } -inline ::pg_query::Node* A_Expr::unsafe_arena_release_rexpr() { - // @@protoc_insertion_point(field_release:pg_query.A_Expr.rexpr) - - ::pg_query::Node* temp = _impl_.rexpr_; - _impl_.rexpr_ = nullptr; - return temp; +inline void DropTableSpaceStmt::_internal_set_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(value, GetArena()); } -inline ::pg_query::Node* A_Expr::_internal_mutable_rexpr() { - - if (_impl_.rexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.rexpr_ = p; - } - return _impl_.rexpr_; +inline std::string* DropTableSpaceStmt::_internal_mutable_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.tablespacename_.Mutable( GetArena()); } -inline ::pg_query::Node* A_Expr::mutable_rexpr() { - ::pg_query::Node* _msg = _internal_mutable_rexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Expr.rexpr) - return _msg; +inline std::string* DropTableSpaceStmt::release_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DropTableSpaceStmt.tablespacename) + return _impl_.tablespacename_.Release(); } -inline void A_Expr::set_allocated_rexpr(::pg_query::Node* rexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.rexpr_; - } - if (rexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rexpr); - if (message_arena != submessage_arena) { - rexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rexpr, submessage_arena); - } - - } else { - - } - _impl_.rexpr_ = rexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Expr.rexpr) +inline void DropTableSpaceStmt::set_allocated_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.tablespacename_.IsDefault()) { + _impl_.tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DropTableSpaceStmt.tablespacename) } -// int32 location = 5 [json_name = "location"]; -inline void A_Expr::clear_location() { - _impl_.location_ = 0; +// bool missing_ok = 2 [json_name = "missing_ok"]; +inline void DropTableSpaceStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline int32_t A_Expr::_internal_location() const { - return _impl_.location_; +inline bool DropTableSpaceStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropTableSpaceStmt.missing_ok) + return _internal_missing_ok(); } -inline int32_t A_Expr::location() const { - // @@protoc_insertion_point(field_get:pg_query.A_Expr.location) - return _internal_location(); +inline void DropTableSpaceStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropTableSpaceStmt.missing_ok) } -inline void A_Expr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool DropTableSpaceStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline void A_Expr::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.A_Expr.location) +inline void DropTableSpaceStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// ColumnRef +// AlterTableSpaceOptionsStmt -// repeated .pg_query.Node fields = 1 [json_name = "fields"]; -inline int ColumnRef::_internal_fields_size() const { - return _impl_.fields_.size(); -} -inline int ColumnRef::fields_size() const { - return _internal_fields_size(); +// string tablespacename = 1 [json_name = "tablespacename"]; +inline void AlterTableSpaceOptionsStmt::clear_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.ClearToEmpty(); } -inline void ColumnRef::clear_fields() { - _impl_.fields_.Clear(); +inline const std::string& AlterTableSpaceOptionsStmt::tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.tablespacename) + return _internal_tablespacename(); } -inline ::pg_query::Node* ColumnRef::mutable_fields(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnRef.fields) - return _impl_.fields_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void AlterTableSpaceOptionsStmt::set_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterTableSpaceOptionsStmt.tablespacename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ColumnRef::mutable_fields() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnRef.fields) - return &_impl_.fields_; +inline std::string* AlterTableSpaceOptionsStmt::mutable_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableSpaceOptionsStmt.tablespacename) + return _s; } -inline const ::pg_query::Node& ColumnRef::_internal_fields(int index) const { - return _impl_.fields_.Get(index); +inline const std::string& AlterTableSpaceOptionsStmt::_internal_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tablespacename_.Get(); } -inline const ::pg_query::Node& ColumnRef::fields(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ColumnRef.fields) - return _internal_fields(index); +inline void AlterTableSpaceOptionsStmt::_internal_set_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tablespacename_.Set(value, GetArena()); } -inline ::pg_query::Node* ColumnRef::_internal_add_fields() { - return _impl_.fields_.Add(); +inline std::string* AlterTableSpaceOptionsStmt::_internal_mutable_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.tablespacename_.Mutable( GetArena()); } -inline ::pg_query::Node* ColumnRef::add_fields() { - ::pg_query::Node* _add = _internal_add_fields(); - // @@protoc_insertion_point(field_add:pg_query.ColumnRef.fields) - return _add; +inline std::string* AlterTableSpaceOptionsStmt::release_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableSpaceOptionsStmt.tablespacename) + return _impl_.tablespacename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ColumnRef::fields() const { - // @@protoc_insertion_point(field_list:pg_query.ColumnRef.fields) - return _impl_.fields_; +inline void AlterTableSpaceOptionsStmt::set_allocated_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.tablespacename_.IsDefault()) { + _impl_.tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableSpaceOptionsStmt.tablespacename) } -// int32 location = 2 [json_name = "location"]; -inline void ColumnRef::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterTableSpaceOptionsStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t ColumnRef::_internal_location() const { - return _impl_.location_; +inline int AlterTableSpaceOptionsStmt::options_size() const { + return _internal_options_size(); } -inline int32_t ColumnRef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnRef.location) - return _internal_location(); +inline void AlterTableSpaceOptionsStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void ColumnRef::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* AlterTableSpaceOptionsStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableSpaceOptionsStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void ColumnRef::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnRef.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTableSpaceOptionsStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableSpaceOptionsStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// ------------------------------------------------------------------- - -// ParamRef - -// int32 number = 1 [json_name = "number"]; -inline void ParamRef::clear_number() { - _impl_.number_ = 0; +inline const ::pg_query::Node& AlterTableSpaceOptionsStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.options) + return _internal_options().Get(index); } -inline int32_t ParamRef::_internal_number() const { - return _impl_.number_; +inline ::pg_query::Node* AlterTableSpaceOptionsStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTableSpaceOptionsStmt.options) + return _add; } -inline int32_t ParamRef::number() const { - // @@protoc_insertion_point(field_get:pg_query.ParamRef.number) - return _internal_number(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTableSpaceOptionsStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTableSpaceOptionsStmt.options) + return _internal_options(); } -inline void ParamRef::_internal_set_number(int32_t value) { - - _impl_.number_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTableSpaceOptionsStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void ParamRef::set_number(int32_t value) { - _internal_set_number(value); - // @@protoc_insertion_point(field_set:pg_query.ParamRef.number) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTableSpaceOptionsStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// int32 location = 2 [json_name = "location"]; -inline void ParamRef::clear_location() { - _impl_.location_ = 0; +// bool is_reset = 3 [json_name = "isReset"]; +inline void AlterTableSpaceOptionsStmt::clear_is_reset() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_reset_ = false; } -inline int32_t ParamRef::_internal_location() const { - return _impl_.location_; +inline bool AlterTableSpaceOptionsStmt::is_reset() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableSpaceOptionsStmt.is_reset) + return _internal_is_reset(); } -inline int32_t ParamRef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ParamRef.location) - return _internal_location(); +inline void AlterTableSpaceOptionsStmt::set_is_reset(bool value) { + _internal_set_is_reset(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableSpaceOptionsStmt.is_reset) } -inline void ParamRef::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool AlterTableSpaceOptionsStmt::_internal_is_reset() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_reset_; } -inline void ParamRef::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ParamRef.location) +inline void AlterTableSpaceOptionsStmt::_internal_set_is_reset(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_reset_ = value; } // ------------------------------------------------------------------- -// FuncCall +// AlterTableMoveAllStmt -// repeated .pg_query.Node funcname = 1 [json_name = "funcname"]; -inline int FuncCall::_internal_funcname_size() const { - return _impl_.funcname_.size(); -} -inline int FuncCall::funcname_size() const { - return _internal_funcname_size(); +// string orig_tablespacename = 1 [json_name = "orig_tablespacename"]; +inline void AlterTableMoveAllStmt::clear_orig_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.orig_tablespacename_.ClearToEmpty(); } -inline void FuncCall::clear_funcname() { - _impl_.funcname_.Clear(); +inline const std::string& AlterTableMoveAllStmt::orig_tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.orig_tablespacename) + return _internal_orig_tablespacename(); } -inline ::pg_query::Node* FuncCall::mutable_funcname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.funcname) - return _impl_.funcname_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void AlterTableMoveAllStmt::set_orig_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.orig_tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.orig_tablespacename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FuncCall::mutable_funcname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.funcname) - return &_impl_.funcname_; +inline std::string* AlterTableMoveAllStmt::mutable_orig_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_orig_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.orig_tablespacename) + return _s; } -inline const ::pg_query::Node& FuncCall::_internal_funcname(int index) const { - return _impl_.funcname_.Get(index); +inline const std::string& AlterTableMoveAllStmt::_internal_orig_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.orig_tablespacename_.Get(); } -inline const ::pg_query::Node& FuncCall::funcname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcname) - return _internal_funcname(index); +inline void AlterTableMoveAllStmt::_internal_set_orig_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.orig_tablespacename_.Set(value, GetArena()); } -inline ::pg_query::Node* FuncCall::_internal_add_funcname() { - return _impl_.funcname_.Add(); +inline std::string* AlterTableMoveAllStmt::_internal_mutable_orig_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.orig_tablespacename_.Mutable( GetArena()); } -inline ::pg_query::Node* FuncCall::add_funcname() { - ::pg_query::Node* _add = _internal_add_funcname(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.funcname) - return _add; +inline std::string* AlterTableMoveAllStmt::release_orig_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableMoveAllStmt.orig_tablespacename) + return _impl_.orig_tablespacename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FuncCall::funcname() const { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.funcname) - return _impl_.funcname_; +inline void AlterTableMoveAllStmt::set_allocated_orig_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.orig_tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.orig_tablespacename_.IsDefault()) { + _impl_.orig_tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableMoveAllStmt.orig_tablespacename) } -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int FuncCall::_internal_args_size() const { - return _impl_.args_.size(); +// .pg_query.ObjectType objtype = 2 [json_name = "objtype"]; +inline void AlterTableMoveAllStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline int FuncCall::args_size() const { - return _internal_args_size(); +inline ::pg_query::ObjectType AlterTableMoveAllStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.objtype) + return _internal_objtype(); } -inline void FuncCall::clear_args() { - _impl_.args_.Clear(); +inline void AlterTableMoveAllStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.objtype) } -inline ::pg_query::Node* FuncCall::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.args) - return _impl_.args_.Mutable(index); +inline ::pg_query::ObjectType AlterTableMoveAllStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FuncCall::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.args) - return &_impl_.args_; +inline void AlterTableMoveAllStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -inline const ::pg_query::Node& FuncCall::_internal_args(int index) const { - return _impl_.args_.Get(index); + +// repeated .pg_query.Node roles = 3 [json_name = "roles"]; +inline int AlterTableMoveAllStmt::_internal_roles_size() const { + return _internal_roles().size(); } -inline const ::pg_query::Node& FuncCall::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.args) - return _internal_args(index); +inline int AlterTableMoveAllStmt::roles_size() const { + return _internal_roles_size(); } -inline ::pg_query::Node* FuncCall::_internal_add_args() { - return _impl_.args_.Add(); +inline void AlterTableMoveAllStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); } -inline ::pg_query::Node* FuncCall::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.args) - return _add; +inline ::pg_query::Node* AlterTableMoveAllStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.roles) + return _internal_mutable_roles()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FuncCall::args() const { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.args) - return _impl_.args_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTableMoveAllStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTableMoveAllStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); } - -// repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"]; -inline int FuncCall::_internal_agg_order_size() const { - return _impl_.agg_order_.size(); +inline const ::pg_query::Node& AlterTableMoveAllStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.roles) + return _internal_roles().Get(index); } -inline int FuncCall::agg_order_size() const { - return _internal_agg_order_size(); +inline ::pg_query::Node* AlterTableMoveAllStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTableMoveAllStmt.roles) + return _add; } -inline void FuncCall::clear_agg_order() { - _impl_.agg_order_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTableMoveAllStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTableMoveAllStmt.roles) + return _internal_roles(); } -inline ::pg_query::Node* FuncCall::mutable_agg_order(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_order) - return _impl_.agg_order_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTableMoveAllStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -FuncCall::mutable_agg_order() { - // @@protoc_insertion_point(field_mutable_list:pg_query.FuncCall.agg_order) - return &_impl_.agg_order_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTableMoveAllStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; +} + +// string new_tablespacename = 4 [json_name = "new_tablespacename"]; +inline void AlterTableMoveAllStmt::clear_new_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_tablespacename_.ClearToEmpty(); } -inline const ::pg_query::Node& FuncCall::_internal_agg_order(int index) const { - return _impl_.agg_order_.Get(index); +inline const std::string& AlterTableMoveAllStmt::new_tablespacename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.new_tablespacename) + return _internal_new_tablespacename(); } -inline const ::pg_query::Node& FuncCall::agg_order(int index) const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_order) - return _internal_agg_order(index); +template +inline PROTOBUF_ALWAYS_INLINE void AlterTableMoveAllStmt::set_new_tablespacename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_tablespacename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.new_tablespacename) } -inline ::pg_query::Node* FuncCall::_internal_add_agg_order() { - return _impl_.agg_order_.Add(); +inline std::string* AlterTableMoveAllStmt::mutable_new_tablespacename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_new_tablespacename(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterTableMoveAllStmt.new_tablespacename) + return _s; } -inline ::pg_query::Node* FuncCall::add_agg_order() { - ::pg_query::Node* _add = _internal_add_agg_order(); - // @@protoc_insertion_point(field_add:pg_query.FuncCall.agg_order) - return _add; +inline const std::string& AlterTableMoveAllStmt::_internal_new_tablespacename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.new_tablespacename_.Get(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -FuncCall::agg_order() const { - // @@protoc_insertion_point(field_list:pg_query.FuncCall.agg_order) - return _impl_.agg_order_; +inline void AlterTableMoveAllStmt::_internal_set_new_tablespacename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_tablespacename_.Set(value, GetArena()); } - -// .pg_query.Node agg_filter = 4 [json_name = "agg_filter"]; -inline bool FuncCall::_internal_has_agg_filter() const { - return this != internal_default_instance() && _impl_.agg_filter_ != nullptr; +inline std::string* AlterTableMoveAllStmt::_internal_mutable_new_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.new_tablespacename_.Mutable( GetArena()); } -inline bool FuncCall::has_agg_filter() const { - return _internal_has_agg_filter(); +inline std::string* AlterTableMoveAllStmt::release_new_tablespacename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterTableMoveAllStmt.new_tablespacename) + return _impl_.new_tablespacename_.Release(); } -inline void FuncCall::clear_agg_filter() { - if (GetArenaForAllocation() == nullptr && _impl_.agg_filter_ != nullptr) { - delete _impl_.agg_filter_; - } - _impl_.agg_filter_ = nullptr; +inline void AlterTableMoveAllStmt::set_allocated_new_tablespacename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_tablespacename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.new_tablespacename_.IsDefault()) { + _impl_.new_tablespacename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterTableMoveAllStmt.new_tablespacename) } -inline const ::pg_query::Node& FuncCall::_internal_agg_filter() const { - const ::pg_query::Node* p = _impl_.agg_filter_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + +// bool nowait = 5 [json_name = "nowait"]; +inline void AlterTableMoveAllStmt::clear_nowait() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nowait_ = false; } -inline const ::pg_query::Node& FuncCall::agg_filter() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_filter) - return _internal_agg_filter(); +inline bool AlterTableMoveAllStmt::nowait() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTableMoveAllStmt.nowait) + return _internal_nowait(); } -inline void FuncCall::unsafe_arena_set_allocated_agg_filter( - ::pg_query::Node* agg_filter) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.agg_filter_); - } - _impl_.agg_filter_ = agg_filter; - if (agg_filter) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.agg_filter) +inline void AlterTableMoveAllStmt::set_nowait(bool value) { + _internal_set_nowait(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTableMoveAllStmt.nowait) } -inline ::pg_query::Node* FuncCall::release_agg_filter() { - - ::pg_query::Node* temp = _impl_.agg_filter_; - _impl_.agg_filter_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline bool AlterTableMoveAllStmt::_internal_nowait() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nowait_; } -inline ::pg_query::Node* FuncCall::unsafe_arena_release_agg_filter() { - // @@protoc_insertion_point(field_release:pg_query.FuncCall.agg_filter) - - ::pg_query::Node* temp = _impl_.agg_filter_; - _impl_.agg_filter_ = nullptr; - return temp; +inline void AlterTableMoveAllStmt::_internal_set_nowait(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nowait_ = value; } -inline ::pg_query::Node* FuncCall::_internal_mutable_agg_filter() { - - if (_impl_.agg_filter_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.agg_filter_ = p; - } - return _impl_.agg_filter_; + +// ------------------------------------------------------------------- + +// CreateExtensionStmt + +// string extname = 1 [json_name = "extname"]; +inline void CreateExtensionStmt::clear_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.ClearToEmpty(); } -inline ::pg_query::Node* FuncCall::mutable_agg_filter() { - ::pg_query::Node* _msg = _internal_mutable_agg_filter(); - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.agg_filter) - return _msg; +inline const std::string& CreateExtensionStmt::extname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.extname) + return _internal_extname(); } -inline void FuncCall::set_allocated_agg_filter(::pg_query::Node* agg_filter) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.agg_filter_; - } - if (agg_filter) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(agg_filter); - if (message_arena != submessage_arena) { - agg_filter = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, agg_filter, submessage_arena); - } - - } else { - - } - _impl_.agg_filter_ = agg_filter; - // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.agg_filter) +template +inline PROTOBUF_ALWAYS_INLINE void CreateExtensionStmt::set_extname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateExtensionStmt.extname) } - -// .pg_query.WindowDef over = 5 [json_name = "over"]; -inline bool FuncCall::_internal_has_over() const { - return this != internal_default_instance() && _impl_.over_ != nullptr; +inline std::string* CreateExtensionStmt::mutable_extname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_extname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateExtensionStmt.extname) + return _s; } -inline bool FuncCall::has_over() const { - return _internal_has_over(); +inline const std::string& CreateExtensionStmt::_internal_extname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.extname_.Get(); } -inline void FuncCall::clear_over() { - if (GetArenaForAllocation() == nullptr && _impl_.over_ != nullptr) { - delete _impl_.over_; - } - _impl_.over_ = nullptr; +inline void CreateExtensionStmt::_internal_set_extname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(value, GetArena()); } -inline const ::pg_query::WindowDef& FuncCall::_internal_over() const { - const ::pg_query::WindowDef* p = _impl_.over_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_WindowDef_default_instance_); +inline std::string* CreateExtensionStmt::_internal_mutable_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.extname_.Mutable( GetArena()); } -inline const ::pg_query::WindowDef& FuncCall::over() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.over) - return _internal_over(); +inline std::string* CreateExtensionStmt::release_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateExtensionStmt.extname) + return _impl_.extname_.Release(); } -inline void FuncCall::unsafe_arena_set_allocated_over( - ::pg_query::WindowDef* over) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.over_); - } - _impl_.over_ = over; - if (over) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FuncCall.over) +inline void CreateExtensionStmt::set_allocated_extname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.extname_.IsDefault()) { + _impl_.extname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateExtensionStmt.extname) } -inline ::pg_query::WindowDef* FuncCall::release_over() { - - ::pg_query::WindowDef* temp = _impl_.over_; - _impl_.over_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool if_not_exists = 2 [json_name = "if_not_exists"]; +inline void CreateExtensionStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline ::pg_query::WindowDef* FuncCall::unsafe_arena_release_over() { - // @@protoc_insertion_point(field_release:pg_query.FuncCall.over) - - ::pg_query::WindowDef* temp = _impl_.over_; - _impl_.over_ = nullptr; - return temp; +inline bool CreateExtensionStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.if_not_exists) + return _internal_if_not_exists(); } -inline ::pg_query::WindowDef* FuncCall::_internal_mutable_over() { - - if (_impl_.over_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::WindowDef>(GetArenaForAllocation()); - _impl_.over_ = p; - } - return _impl_.over_; +inline void CreateExtensionStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateExtensionStmt.if_not_exists) } -inline ::pg_query::WindowDef* FuncCall::mutable_over() { - ::pg_query::WindowDef* _msg = _internal_mutable_over(); - // @@protoc_insertion_point(field_mutable:pg_query.FuncCall.over) - return _msg; +inline bool CreateExtensionStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline void FuncCall::set_allocated_over(::pg_query::WindowDef* over) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.over_; - } - if (over) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(over); - if (message_arena != submessage_arena) { - over = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, over, submessage_arena); - } - - } else { - - } - _impl_.over_ = over; - // @@protoc_insertion_point(field_set_allocated:pg_query.FuncCall.over) +inline void CreateExtensionStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -// bool agg_within_group = 6 [json_name = "agg_within_group"]; -inline void FuncCall::clear_agg_within_group() { - _impl_.agg_within_group_ = false; +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int CreateExtensionStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool FuncCall::_internal_agg_within_group() const { - return _impl_.agg_within_group_; +inline int CreateExtensionStmt::options_size() const { + return _internal_options_size(); } -inline bool FuncCall::agg_within_group() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_within_group) - return _internal_agg_within_group(); +inline void CreateExtensionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void FuncCall::_internal_set_agg_within_group(bool value) { - - _impl_.agg_within_group_ = value; +inline ::pg_query::Node* CreateExtensionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateExtensionStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void FuncCall::set_agg_within_group(bool value) { - _internal_set_agg_within_group(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_within_group) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateExtensionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateExtensionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// bool agg_star = 7 [json_name = "agg_star"]; -inline void FuncCall::clear_agg_star() { - _impl_.agg_star_ = false; +inline const ::pg_query::Node& CreateExtensionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateExtensionStmt.options) + return _internal_options().Get(index); } -inline bool FuncCall::_internal_agg_star() const { - return _impl_.agg_star_; +inline ::pg_query::Node* CreateExtensionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateExtensionStmt.options) + return _add; } -inline bool FuncCall::agg_star() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_star) - return _internal_agg_star(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateExtensionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateExtensionStmt.options) + return _internal_options(); } -inline void FuncCall::_internal_set_agg_star(bool value) { - - _impl_.agg_star_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateExtensionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void FuncCall::set_agg_star(bool value) { - _internal_set_agg_star(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_star) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateExtensionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// bool agg_distinct = 8 [json_name = "agg_distinct"]; -inline void FuncCall::clear_agg_distinct() { - _impl_.agg_distinct_ = false; -} -inline bool FuncCall::_internal_agg_distinct() const { - return _impl_.agg_distinct_; +// ------------------------------------------------------------------- + +// AlterExtensionStmt + +// string extname = 1 [json_name = "extname"]; +inline void AlterExtensionStmt::clear_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.ClearToEmpty(); } -inline bool FuncCall::agg_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.agg_distinct) - return _internal_agg_distinct(); +inline const std::string& AlterExtensionStmt::extname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionStmt.extname) + return _internal_extname(); } -inline void FuncCall::_internal_set_agg_distinct(bool value) { - - _impl_.agg_distinct_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void AlterExtensionStmt::set_extname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterExtensionStmt.extname) } -inline void FuncCall::set_agg_distinct(bool value) { - _internal_set_agg_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.agg_distinct) +inline std::string* AlterExtensionStmt::mutable_extname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_extname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionStmt.extname) + return _s; } - -// bool func_variadic = 9 [json_name = "func_variadic"]; -inline void FuncCall::clear_func_variadic() { - _impl_.func_variadic_ = false; +inline const std::string& AlterExtensionStmt::_internal_extname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.extname_.Get(); } -inline bool FuncCall::_internal_func_variadic() const { - return _impl_.func_variadic_; +inline void AlterExtensionStmt::_internal_set_extname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(value, GetArena()); } -inline bool FuncCall::func_variadic() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.func_variadic) - return _internal_func_variadic(); +inline std::string* AlterExtensionStmt::_internal_mutable_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.extname_.Mutable( GetArena()); } -inline void FuncCall::_internal_set_func_variadic(bool value) { - - _impl_.func_variadic_ = value; +inline std::string* AlterExtensionStmt::release_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterExtensionStmt.extname) + return _impl_.extname_.Release(); } -inline void FuncCall::set_func_variadic(bool value) { - _internal_set_func_variadic(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.func_variadic) +inline void AlterExtensionStmt::set_allocated_extname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.extname_.IsDefault()) { + _impl_.extname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionStmt.extname) } -// .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"]; -inline void FuncCall::clear_funcformat() { - _impl_.funcformat_ = 0; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterExtensionStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::CoercionForm FuncCall::_internal_funcformat() const { - return static_cast< ::pg_query::CoercionForm >(_impl_.funcformat_); +inline int AlterExtensionStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::CoercionForm FuncCall::funcformat() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.funcformat) - return _internal_funcformat(); +inline void AlterExtensionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void FuncCall::_internal_set_funcformat(::pg_query::CoercionForm value) { - - _impl_.funcformat_ = value; +inline ::pg_query::Node* AlterExtensionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void FuncCall::set_funcformat(::pg_query::CoercionForm value) { - _internal_set_funcformat(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.funcformat) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterExtensionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterExtensionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// int32 location = 11 [json_name = "location"]; -inline void FuncCall::clear_location() { - _impl_.location_ = 0; +inline const ::pg_query::Node& AlterExtensionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionStmt.options) + return _internal_options().Get(index); } -inline int32_t FuncCall::_internal_location() const { - return _impl_.location_; +inline ::pg_query::Node* AlterExtensionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterExtensionStmt.options) + return _add; } -inline int32_t FuncCall::location() const { - // @@protoc_insertion_point(field_get:pg_query.FuncCall.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterExtensionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterExtensionStmt.options) + return _internal_options(); } -inline void FuncCall::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterExtensionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void FuncCall::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.FuncCall.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterExtensionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// A_Star - -// ------------------------------------------------------------------- - -// A_Indices +// AlterExtensionContentsStmt -// bool is_slice = 1 [json_name = "is_slice"]; -inline void A_Indices::clear_is_slice() { - _impl_.is_slice_ = false; +// string extname = 1 [json_name = "extname"]; +inline void AlterExtensionContentsStmt::clear_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.ClearToEmpty(); } -inline bool A_Indices::_internal_is_slice() const { - return _impl_.is_slice_; +inline const std::string& AlterExtensionContentsStmt::extname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.extname) + return _internal_extname(); } -inline bool A_Indices::is_slice() const { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.is_slice) - return _internal_is_slice(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterExtensionContentsStmt::set_extname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.extname) } -inline void A_Indices::_internal_set_is_slice(bool value) { - - _impl_.is_slice_ = value; +inline std::string* AlterExtensionContentsStmt::mutable_extname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_extname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionContentsStmt.extname) + return _s; } -inline void A_Indices::set_is_slice(bool value) { - _internal_set_is_slice(value); - // @@protoc_insertion_point(field_set:pg_query.A_Indices.is_slice) +inline const std::string& AlterExtensionContentsStmt::_internal_extname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.extname_.Get(); } - -// .pg_query.Node lidx = 2 [json_name = "lidx"]; -inline bool A_Indices::_internal_has_lidx() const { - return this != internal_default_instance() && _impl_.lidx_ != nullptr; +inline void AlterExtensionContentsStmt::_internal_set_extname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.extname_.Set(value, GetArena()); } -inline bool A_Indices::has_lidx() const { - return _internal_has_lidx(); +inline std::string* AlterExtensionContentsStmt::_internal_mutable_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.extname_.Mutable( GetArena()); } -inline void A_Indices::clear_lidx() { - if (GetArenaForAllocation() == nullptr && _impl_.lidx_ != nullptr) { - delete _impl_.lidx_; - } - _impl_.lidx_ = nullptr; +inline std::string* AlterExtensionContentsStmt::release_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterExtensionContentsStmt.extname) + return _impl_.extname_.Release(); } -inline const ::pg_query::Node& A_Indices::_internal_lidx() const { - const ::pg_query::Node* p = _impl_.lidx_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void AlterExtensionContentsStmt::set_allocated_extname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.extname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.extname_.IsDefault()) { + _impl_.extname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionContentsStmt.extname) } -inline const ::pg_query::Node& A_Indices::lidx() const { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.lidx) - return _internal_lidx(); + +// int32 action = 2 [json_name = "action"]; +inline void AlterExtensionContentsStmt::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.action_ = 0; } -inline void A_Indices::unsafe_arena_set_allocated_lidx( - ::pg_query::Node* lidx) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.lidx_); - } - _impl_.lidx_ = lidx; - if (lidx) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.lidx) +inline ::int32_t AlterExtensionContentsStmt::action() const { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.action) + return _internal_action(); } -inline ::pg_query::Node* A_Indices::release_lidx() { - - ::pg_query::Node* temp = _impl_.lidx_; - _impl_.lidx_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void AlterExtensionContentsStmt::set_action(::int32_t value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.action) } -inline ::pg_query::Node* A_Indices::unsafe_arena_release_lidx() { - // @@protoc_insertion_point(field_release:pg_query.A_Indices.lidx) - - ::pg_query::Node* temp = _impl_.lidx_; - _impl_.lidx_ = nullptr; - return temp; +inline ::int32_t AlterExtensionContentsStmt::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.action_; } -inline ::pg_query::Node* A_Indices::_internal_mutable_lidx() { - - if (_impl_.lidx_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.lidx_ = p; - } - return _impl_.lidx_; +inline void AlterExtensionContentsStmt::_internal_set_action(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; } -inline ::pg_query::Node* A_Indices::mutable_lidx() { - ::pg_query::Node* _msg = _internal_mutable_lidx(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.lidx) - return _msg; + +// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; +inline void AlterExtensionContentsStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline void A_Indices::set_allocated_lidx(::pg_query::Node* lidx) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.lidx_; - } - if (lidx) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(lidx); - if (message_arena != submessage_arena) { - lidx = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, lidx, submessage_arena); - } - - } else { - - } - _impl_.lidx_ = lidx; - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.lidx) +inline ::pg_query::ObjectType AlterExtensionContentsStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.objtype) + return _internal_objtype(); } - -// .pg_query.Node uidx = 3 [json_name = "uidx"]; -inline bool A_Indices::_internal_has_uidx() const { - return this != internal_default_instance() && _impl_.uidx_ != nullptr; +inline void AlterExtensionContentsStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.AlterExtensionContentsStmt.objtype) } -inline bool A_Indices::has_uidx() const { - return _internal_has_uidx(); +inline ::pg_query::ObjectType AlterExtensionContentsStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline void A_Indices::clear_uidx() { - if (GetArenaForAllocation() == nullptr && _impl_.uidx_ != nullptr) { - delete _impl_.uidx_; - } - _impl_.uidx_ = nullptr; +inline void AlterExtensionContentsStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -inline const ::pg_query::Node& A_Indices::_internal_uidx() const { - const ::pg_query::Node* p = _impl_.uidx_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + +// .pg_query.Node object = 4 [json_name = "object"]; +inline bool AlterExtensionContentsStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline const ::pg_query::Node& A_Indices::uidx() const { - // @@protoc_insertion_point(field_get:pg_query.A_Indices.uidx) - return _internal_uidx(); +inline void AlterExtensionContentsStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& AlterExtensionContentsStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& AlterExtensionContentsStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterExtensionContentsStmt.object) + return _internal_object(); } -inline void A_Indices::unsafe_arena_set_allocated_uidx( - ::pg_query::Node* uidx) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.uidx_); +inline void AlterExtensionContentsStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.uidx_ = uidx; - if (uidx) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indices.uidx) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterExtensionContentsStmt.object) } -inline ::pg_query::Node* A_Indices::release_uidx() { - - ::pg_query::Node* temp = _impl_.uidx_; - _impl_.uidx_ = nullptr; +inline ::pg_query::Node* AlterExtensionContentsStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* A_Indices::unsafe_arena_release_uidx() { - // @@protoc_insertion_point(field_release:pg_query.A_Indices.uidx) - - ::pg_query::Node* temp = _impl_.uidx_; - _impl_.uidx_ = nullptr; +inline ::pg_query::Node* AlterExtensionContentsStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterExtensionContentsStmt.object) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::Node* A_Indices::_internal_mutable_uidx() { - - if (_impl_.uidx_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.uidx_ = p; +inline ::pg_query::Node* AlterExtensionContentsStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.uidx_; + return _impl_.object_; } -inline ::pg_query::Node* A_Indices::mutable_uidx() { - ::pg_query::Node* _msg = _internal_mutable_uidx(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indices.uidx) +inline ::pg_query::Node* AlterExtensionContentsStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterExtensionContentsStmt.object) return _msg; } -inline void A_Indices::set_allocated_uidx(::pg_query::Node* uidx) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterExtensionContentsStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.uidx_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (uidx) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(uidx); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - uidx = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, uidx, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.uidx_ = uidx; - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indices.uidx) + + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterExtensionContentsStmt.object) } // ------------------------------------------------------------------- -// A_Indirection +// CreateFdwStmt -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool A_Indirection::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; -} -inline bool A_Indirection::has_arg() const { - return _internal_has_arg(); -} -inline void A_Indirection::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; +// string fdwname = 1 [json_name = "fdwname"]; +inline void CreateFdwStmt::clear_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.ClearToEmpty(); } -inline const ::pg_query::Node& A_Indirection::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const std::string& CreateFdwStmt::fdwname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.fdwname) + return _internal_fdwname(); } -inline const ::pg_query::Node& A_Indirection::arg() const { - // @@protoc_insertion_point(field_get:pg_query.A_Indirection.arg) - return _internal_arg(); +template +inline PROTOBUF_ALWAYS_INLINE void CreateFdwStmt::set_fdwname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateFdwStmt.fdwname) } -inline void A_Indirection::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = arg; - if (arg) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.A_Indirection.arg) +inline std::string* CreateFdwStmt::mutable_fdwname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fdwname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.fdwname) + return _s; } -inline ::pg_query::Node* A_Indirection::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& CreateFdwStmt::_internal_fdwname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fdwname_.Get(); } -inline ::pg_query::Node* A_Indirection::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.A_Indirection.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; +inline void CreateFdwStmt::_internal_set_fdwname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(value, GetArena()); } -inline ::pg_query::Node* A_Indirection::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; - } - return _impl_.arg_; +inline std::string* CreateFdwStmt::_internal_mutable_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fdwname_.Mutable( GetArena()); } -inline ::pg_query::Node* A_Indirection::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.arg) - return _msg; +inline std::string* CreateFdwStmt::release_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateFdwStmt.fdwname) + return _impl_.fdwname_.Release(); } -inline void A_Indirection::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.arg_; - } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); - if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); - } - - } else { - - } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.A_Indirection.arg) +inline void CreateFdwStmt::set_allocated_fdwname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fdwname_.IsDefault()) { + _impl_.fdwname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFdwStmt.fdwname) } -// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; -inline int A_Indirection::_internal_indirection_size() const { - return _impl_.indirection_.size(); -} -inline int A_Indirection::indirection_size() const { - return _internal_indirection_size(); -} -inline void A_Indirection::clear_indirection() { - _impl_.indirection_.Clear(); +// repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; +inline int CreateFdwStmt::_internal_func_options_size() const { + return _internal_func_options().size(); } -inline ::pg_query::Node* A_Indirection::mutable_indirection(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.A_Indirection.indirection) - return _impl_.indirection_.Mutable(index); +inline int CreateFdwStmt::func_options_size() const { + return _internal_func_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -A_Indirection::mutable_indirection() { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_Indirection.indirection) - return &_impl_.indirection_; +inline void CreateFdwStmt::clear_func_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.func_options_.Clear(); } -inline const ::pg_query::Node& A_Indirection::_internal_indirection(int index) const { - return _impl_.indirection_.Get(index); +inline ::pg_query::Node* CreateFdwStmt::mutable_func_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.func_options) + return _internal_mutable_func_options()->Mutable(index); } -inline const ::pg_query::Node& A_Indirection::indirection(int index) const { - // @@protoc_insertion_point(field_get:pg_query.A_Indirection.indirection) - return _internal_indirection(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateFdwStmt::mutable_func_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFdwStmt.func_options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_func_options(); } -inline ::pg_query::Node* A_Indirection::_internal_add_indirection() { - return _impl_.indirection_.Add(); +inline const ::pg_query::Node& CreateFdwStmt::func_options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.func_options) + return _internal_func_options().Get(index); } -inline ::pg_query::Node* A_Indirection::add_indirection() { - ::pg_query::Node* _add = _internal_add_indirection(); - // @@protoc_insertion_point(field_add:pg_query.A_Indirection.indirection) +inline ::pg_query::Node* CreateFdwStmt::add_func_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_func_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateFdwStmt.func_options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -A_Indirection::indirection() const { - // @@protoc_insertion_point(field_list:pg_query.A_Indirection.indirection) - return _impl_.indirection_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateFdwStmt::func_options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateFdwStmt.func_options) + return _internal_func_options(); } - -// ------------------------------------------------------------------- - -// A_ArrayExpr - -// repeated .pg_query.Node elements = 1 [json_name = "elements"]; -inline int A_ArrayExpr::_internal_elements_size() const { - return _impl_.elements_.size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateFdwStmt::_internal_func_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.func_options_; } -inline int A_ArrayExpr::elements_size() const { - return _internal_elements_size(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateFdwStmt::_internal_mutable_func_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.func_options_; } -inline void A_ArrayExpr::clear_elements() { - _impl_.elements_.Clear(); + +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int CreateFdwStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* A_ArrayExpr::mutable_elements(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.A_ArrayExpr.elements) - return _impl_.elements_.Mutable(index); +inline int CreateFdwStmt::options_size() const { + return _internal_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -A_ArrayExpr::mutable_elements() { - // @@protoc_insertion_point(field_mutable_list:pg_query.A_ArrayExpr.elements) - return &_impl_.elements_; +inline void CreateFdwStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& A_ArrayExpr::_internal_elements(int index) const { - return _impl_.elements_.Get(index); +inline ::pg_query::Node* CreateFdwStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateFdwStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::Node& A_ArrayExpr::elements(int index) const { - // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.elements) - return _internal_elements(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateFdwStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFdwStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* A_ArrayExpr::_internal_add_elements() { - return _impl_.elements_.Add(); +inline const ::pg_query::Node& CreateFdwStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFdwStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* A_ArrayExpr::add_elements() { - ::pg_query::Node* _add = _internal_add_elements(); - // @@protoc_insertion_point(field_add:pg_query.A_ArrayExpr.elements) +inline ::pg_query::Node* CreateFdwStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateFdwStmt.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -A_ArrayExpr::elements() const { - // @@protoc_insertion_point(field_list:pg_query.A_ArrayExpr.elements) - return _impl_.elements_; -} - -// int32 location = 2 [json_name = "location"]; -inline void A_ArrayExpr::clear_location() { - _impl_.location_ = 0; -} -inline int32_t A_ArrayExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t A_ArrayExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.A_ArrayExpr.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateFdwStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateFdwStmt.options) + return _internal_options(); } -inline void A_ArrayExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateFdwStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void A_ArrayExpr::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.A_ArrayExpr.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateFdwStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// ResTarget +// AlterFdwStmt -// string name = 1 [json_name = "name"]; -inline void ResTarget::clear_name() { - _impl_.name_.ClearToEmpty(); +// string fdwname = 1 [json_name = "fdwname"]; +inline void AlterFdwStmt::clear_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.ClearToEmpty(); } -inline const std::string& ResTarget::name() const { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.name) - return _internal_name(); +inline const std::string& AlterFdwStmt::fdwname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.fdwname) + return _internal_fdwname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ResTarget::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ResTarget.name) +template +inline PROTOBUF_ALWAYS_INLINE void AlterFdwStmt::set_fdwname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterFdwStmt.fdwname) } -inline std::string* ResTarget::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.name) +inline std::string* AlterFdwStmt::mutable_fdwname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fdwname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.fdwname) return _s; } -inline const std::string& ResTarget::_internal_name() const { - return _impl_.name_.Get(); +inline const std::string& AlterFdwStmt::_internal_fdwname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fdwname_.Get(); } -inline void ResTarget::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void AlterFdwStmt::_internal_set_fdwname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(value, GetArena()); } -inline std::string* ResTarget::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* AlterFdwStmt::_internal_mutable_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fdwname_.Mutable( GetArena()); } -inline std::string* ResTarget::release_name() { - // @@protoc_insertion_point(field_release:pg_query.ResTarget.name) - return _impl_.name_.Release(); +inline std::string* AlterFdwStmt::release_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterFdwStmt.fdwname) + return _impl_.fdwname_.Release(); } -inline void ResTarget::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.name) +inline void AlterFdwStmt::set_allocated_fdwname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fdwname_.IsDefault()) { + _impl_.fdwname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterFdwStmt.fdwname) } -// repeated .pg_query.Node indirection = 2 [json_name = "indirection"]; -inline int ResTarget::_internal_indirection_size() const { - return _impl_.indirection_.size(); -} -inline int ResTarget::indirection_size() const { - return _internal_indirection_size(); -} -inline void ResTarget::clear_indirection() { - _impl_.indirection_.Clear(); +// repeated .pg_query.Node func_options = 2 [json_name = "func_options"]; +inline int AlterFdwStmt::_internal_func_options_size() const { + return _internal_func_options().size(); } -inline ::pg_query::Node* ResTarget::mutable_indirection(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.indirection) - return _impl_.indirection_.Mutable(index); +inline int AlterFdwStmt::func_options_size() const { + return _internal_func_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ResTarget::mutable_indirection() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ResTarget.indirection) - return &_impl_.indirection_; +inline void AlterFdwStmt::clear_func_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.func_options_.Clear(); } -inline const ::pg_query::Node& ResTarget::_internal_indirection(int index) const { - return _impl_.indirection_.Get(index); +inline ::pg_query::Node* AlterFdwStmt::mutable_func_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.func_options) + return _internal_mutable_func_options()->Mutable(index); } -inline const ::pg_query::Node& ResTarget::indirection(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.indirection) - return _internal_indirection(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterFdwStmt::mutable_func_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFdwStmt.func_options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_func_options(); } -inline ::pg_query::Node* ResTarget::_internal_add_indirection() { - return _impl_.indirection_.Add(); +inline const ::pg_query::Node& AlterFdwStmt::func_options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.func_options) + return _internal_func_options().Get(index); } -inline ::pg_query::Node* ResTarget::add_indirection() { - ::pg_query::Node* _add = _internal_add_indirection(); - // @@protoc_insertion_point(field_add:pg_query.ResTarget.indirection) +inline ::pg_query::Node* AlterFdwStmt::add_func_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_func_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterFdwStmt.func_options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ResTarget::indirection() const { - // @@protoc_insertion_point(field_list:pg_query.ResTarget.indirection) - return _impl_.indirection_; -} - -// .pg_query.Node val = 3 [json_name = "val"]; -inline bool ResTarget::_internal_has_val() const { - return this != internal_default_instance() && _impl_.val_ != nullptr; -} -inline bool ResTarget::has_val() const { - return _internal_has_val(); -} -inline void ResTarget::clear_val() { - if (GetArenaForAllocation() == nullptr && _impl_.val_ != nullptr) { - delete _impl_.val_; - } - _impl_.val_ = nullptr; -} -inline const ::pg_query::Node& ResTarget::_internal_val() const { - const ::pg_query::Node* p = _impl_.val_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterFdwStmt::func_options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterFdwStmt.func_options) + return _internal_func_options(); } -inline const ::pg_query::Node& ResTarget::val() const { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.val) - return _internal_val(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterFdwStmt::_internal_func_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.func_options_; } -inline void ResTarget::unsafe_arena_set_allocated_val( - ::pg_query::Node* val) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.val_); - } - _impl_.val_ = val; - if (val) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ResTarget.val) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterFdwStmt::_internal_mutable_func_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.func_options_; } -inline ::pg_query::Node* ResTarget::release_val() { - - ::pg_query::Node* temp = _impl_.val_; - _impl_.val_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int AlterFdwStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* ResTarget::unsafe_arena_release_val() { - // @@protoc_insertion_point(field_release:pg_query.ResTarget.val) - - ::pg_query::Node* temp = _impl_.val_; - _impl_.val_ = nullptr; - return temp; +inline int AlterFdwStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::Node* ResTarget::_internal_mutable_val() { - - if (_impl_.val_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.val_ = p; - } - return _impl_.val_; +inline void AlterFdwStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* ResTarget::mutable_val() { - ::pg_query::Node* _msg = _internal_mutable_val(); - // @@protoc_insertion_point(field_mutable:pg_query.ResTarget.val) - return _msg; +inline ::pg_query::Node* AlterFdwStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterFdwStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void ResTarget::set_allocated_val(::pg_query::Node* val) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.val_; - } - if (val) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(val); - if (message_arena != submessage_arena) { - val = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, val, submessage_arena); - } - - } else { - - } - _impl_.val_ = val; - // @@protoc_insertion_point(field_set_allocated:pg_query.ResTarget.val) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterFdwStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFdwStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// int32 location = 4 [json_name = "location"]; -inline void ResTarget::clear_location() { - _impl_.location_ = 0; +inline const ::pg_query::Node& AlterFdwStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterFdwStmt.options) + return _internal_options().Get(index); } -inline int32_t ResTarget::_internal_location() const { - return _impl_.location_; +inline ::pg_query::Node* AlterFdwStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterFdwStmt.options) + return _add; } -inline int32_t ResTarget::location() const { - // @@protoc_insertion_point(field_get:pg_query.ResTarget.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterFdwStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterFdwStmt.options) + return _internal_options(); } -inline void ResTarget::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterFdwStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void ResTarget::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ResTarget.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterFdwStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// MultiAssignRef +// CreateForeignServerStmt -// .pg_query.Node source = 1 [json_name = "source"]; -inline bool MultiAssignRef::_internal_has_source() const { - return this != internal_default_instance() && _impl_.source_ != nullptr; +// string servername = 1 [json_name = "servername"]; +inline void CreateForeignServerStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline bool MultiAssignRef::has_source() const { - return _internal_has_source(); +inline const std::string& CreateForeignServerStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.servername) + return _internal_servername(); } -inline void MultiAssignRef::clear_source() { - if (GetArenaForAllocation() == nullptr && _impl_.source_ != nullptr) { - delete _impl_.source_; - } - _impl_.source_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void CreateForeignServerStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.servername) } -inline const ::pg_query::Node& MultiAssignRef::_internal_source() const { - const ::pg_query::Node* p = _impl_.source_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* CreateForeignServerStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.servername) + return _s; } -inline const ::pg_query::Node& MultiAssignRef::source() const { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.source) - return _internal_source(); +inline const std::string& CreateForeignServerStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline void MultiAssignRef::unsafe_arena_set_allocated_source( - ::pg_query::Node* source) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.source_); - } - _impl_.source_ = source; - if (source) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MultiAssignRef.source) +inline void CreateForeignServerStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::Node* MultiAssignRef::release_source() { - - ::pg_query::Node* temp = _impl_.source_; - _impl_.source_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* CreateForeignServerStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline ::pg_query::Node* MultiAssignRef::unsafe_arena_release_source() { - // @@protoc_insertion_point(field_release:pg_query.MultiAssignRef.source) - - ::pg_query::Node* temp = _impl_.source_; - _impl_.source_ = nullptr; - return temp; +inline std::string* CreateForeignServerStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.servername) + return _impl_.servername_.Release(); } -inline ::pg_query::Node* MultiAssignRef::_internal_mutable_source() { - - if (_impl_.source_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.source_ = p; - } - return _impl_.source_; +inline void CreateForeignServerStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.servername) } -inline ::pg_query::Node* MultiAssignRef::mutable_source() { - ::pg_query::Node* _msg = _internal_mutable_source(); - // @@protoc_insertion_point(field_mutable:pg_query.MultiAssignRef.source) - return _msg; + +// string servertype = 2 [json_name = "servertype"]; +inline void CreateForeignServerStmt::clear_servertype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servertype_.ClearToEmpty(); } -inline void MultiAssignRef::set_allocated_source(::pg_query::Node* source) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.source_; - } - if (source) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(source); - if (message_arena != submessage_arena) { - source = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, source, submessage_arena); - } - - } else { - - } - _impl_.source_ = source; - // @@protoc_insertion_point(field_set_allocated:pg_query.MultiAssignRef.source) +inline const std::string& CreateForeignServerStmt::servertype() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.servertype) + return _internal_servertype(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateForeignServerStmt::set_servertype(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servertype_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.servertype) } - -// int32 colno = 2 [json_name = "colno"]; -inline void MultiAssignRef::clear_colno() { - _impl_.colno_ = 0; +inline std::string* CreateForeignServerStmt::mutable_servertype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servertype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.servertype) + return _s; } -inline int32_t MultiAssignRef::_internal_colno() const { - return _impl_.colno_; +inline const std::string& CreateForeignServerStmt::_internal_servertype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servertype_.Get(); } -inline int32_t MultiAssignRef::colno() const { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.colno) - return _internal_colno(); +inline void CreateForeignServerStmt::_internal_set_servertype(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servertype_.Set(value, GetArena()); } -inline void MultiAssignRef::_internal_set_colno(int32_t value) { - - _impl_.colno_ = value; +inline std::string* CreateForeignServerStmt::_internal_mutable_servertype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servertype_.Mutable( GetArena()); } -inline void MultiAssignRef::set_colno(int32_t value) { - _internal_set_colno(value); - // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.colno) +inline std::string* CreateForeignServerStmt::release_servertype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.servertype) + return _impl_.servertype_.Release(); +} +inline void CreateForeignServerStmt::set_allocated_servertype(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servertype_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servertype_.IsDefault()) { + _impl_.servertype_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.servertype) } -// int32 ncolumns = 3 [json_name = "ncolumns"]; -inline void MultiAssignRef::clear_ncolumns() { - _impl_.ncolumns_ = 0; +// string version = 3 [json_name = "version"]; +inline void CreateForeignServerStmt::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_.ClearToEmpty(); } -inline int32_t MultiAssignRef::_internal_ncolumns() const { - return _impl_.ncolumns_; +inline const std::string& CreateForeignServerStmt::version() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.version) + return _internal_version(); } -inline int32_t MultiAssignRef::ncolumns() const { - // @@protoc_insertion_point(field_get:pg_query.MultiAssignRef.ncolumns) - return _internal_ncolumns(); +template +inline PROTOBUF_ALWAYS_INLINE void CreateForeignServerStmt::set_version(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.version) } -inline void MultiAssignRef::_internal_set_ncolumns(int32_t value) { - - _impl_.ncolumns_ = value; +inline std::string* CreateForeignServerStmt::mutable_version() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_version(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.version) + return _s; } -inline void MultiAssignRef::set_ncolumns(int32_t value) { - _internal_set_ncolumns(value); - // @@protoc_insertion_point(field_set:pg_query.MultiAssignRef.ncolumns) +inline const std::string& CreateForeignServerStmt::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_.Get(); } - -// ------------------------------------------------------------------- - -// TypeCast - -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool TypeCast::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; +inline void CreateForeignServerStmt::_internal_set_version(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_.Set(value, GetArena()); } -inline bool TypeCast::has_arg() const { - return _internal_has_arg(); +inline std::string* CreateForeignServerStmt::_internal_mutable_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.version_.Mutable( GetArena()); } -inline void TypeCast::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; +inline std::string* CreateForeignServerStmt::release_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.version) + return _impl_.version_.Release(); } -inline const ::pg_query::Node& TypeCast::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void CreateForeignServerStmt::set_allocated_version(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.version_.IsDefault()) { + _impl_.version_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.version) } -inline const ::pg_query::Node& TypeCast::arg() const { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.arg) - return _internal_arg(); + +// string fdwname = 4 [json_name = "fdwname"]; +inline void CreateForeignServerStmt::clear_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.ClearToEmpty(); } -inline void TypeCast::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = arg; - if (arg) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.arg) +inline const std::string& CreateForeignServerStmt::fdwname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.fdwname) + return _internal_fdwname(); } -inline ::pg_query::Node* TypeCast::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +template +inline PROTOBUF_ALWAYS_INLINE void CreateForeignServerStmt::set_fdwname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.fdwname) } -inline ::pg_query::Node* TypeCast::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.TypeCast.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; +inline std::string* CreateForeignServerStmt::mutable_fdwname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_fdwname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.fdwname) + return _s; } -inline ::pg_query::Node* TypeCast::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; - } - return _impl_.arg_; +inline const std::string& CreateForeignServerStmt::_internal_fdwname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.fdwname_.Get(); } -inline ::pg_query::Node* TypeCast::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.arg) - return _msg; +inline void CreateForeignServerStmt::_internal_set_fdwname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.fdwname_.Set(value, GetArena()); } -inline void TypeCast::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.arg_; - } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); - if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); - } - - } else { - - } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.arg) +inline std::string* CreateForeignServerStmt::_internal_mutable_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.fdwname_.Mutable( GetArena()); } - -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool TypeCast::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; +inline std::string* CreateForeignServerStmt::release_fdwname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignServerStmt.fdwname) + return _impl_.fdwname_.Release(); } -inline bool TypeCast::has_type_name() const { - return _internal_has_type_name(); +inline void CreateForeignServerStmt::set_allocated_fdwname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.fdwname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.fdwname_.IsDefault()) { + _impl_.fdwname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignServerStmt.fdwname) } -inline void TypeCast::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; + +// bool if_not_exists = 5 [json_name = "if_not_exists"]; +inline void CreateForeignServerStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline const ::pg_query::TypeName& TypeCast::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline bool CreateForeignServerStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.if_not_exists) + return _internal_if_not_exists(); } -inline const ::pg_query::TypeName& TypeCast::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.type_name) - return _internal_type_name(); +inline void CreateForeignServerStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignServerStmt.if_not_exists) } -inline void TypeCast::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); - } - _impl_.type_name_ = type_name; - if (type_name) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TypeCast.type_name) +inline bool CreateForeignServerStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline ::pg_query::TypeName* TypeCast::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void CreateForeignServerStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -inline ::pg_query::TypeName* TypeCast::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.TypeCast.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; - return temp; + +// repeated .pg_query.Node options = 6 [json_name = "options"]; +inline int CreateForeignServerStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::TypeName* TypeCast::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; - } - return _impl_.type_name_; +inline int CreateForeignServerStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::TypeName* TypeCast::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.TypeCast.type_name) - return _msg; +inline void CreateForeignServerStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void TypeCast::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.type_name_; - } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); - if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); - } - - } else { - - } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.TypeCast.type_name) +inline ::pg_query::Node* CreateForeignServerStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignServerStmt.options) + return _internal_mutable_options()->Mutable(index); } - -// int32 location = 3 [json_name = "location"]; -inline void TypeCast::clear_location() { - _impl_.location_ = 0; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateForeignServerStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateForeignServerStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline int32_t TypeCast::_internal_location() const { - return _impl_.location_; +inline const ::pg_query::Node& CreateForeignServerStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignServerStmt.options) + return _internal_options().Get(index); } -inline int32_t TypeCast::location() const { - // @@protoc_insertion_point(field_get:pg_query.TypeCast.location) - return _internal_location(); +inline ::pg_query::Node* CreateForeignServerStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateForeignServerStmt.options) + return _add; } -inline void TypeCast::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateForeignServerStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateForeignServerStmt.options) + return _internal_options(); } -inline void TypeCast::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TypeCast.location) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateForeignServerStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateForeignServerStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// CollateClause +// AlterForeignServerStmt -// .pg_query.Node arg = 1 [json_name = "arg"]; -inline bool CollateClause::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; +// string servername = 1 [json_name = "servername"]; +inline void AlterForeignServerStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline bool CollateClause::has_arg() const { - return _internal_has_arg(); +inline const std::string& AlterForeignServerStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.servername) + return _internal_servername(); } -inline void CollateClause::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void AlterForeignServerStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.servername) } -inline const ::pg_query::Node& CollateClause::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* AlterForeignServerStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.servername) + return _s; } -inline const ::pg_query::Node& CollateClause::arg() const { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.arg) - return _internal_arg(); +inline const std::string& AlterForeignServerStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline void CollateClause::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); - } - _impl_.arg_ = arg; - if (arg) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CollateClause.arg) +inline void AlterForeignServerStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::Node* CollateClause::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* AlterForeignServerStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline ::pg_query::Node* CollateClause::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.CollateClause.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; - return temp; +inline std::string* AlterForeignServerStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterForeignServerStmt.servername) + return _impl_.servername_.Release(); } -inline ::pg_query::Node* CollateClause::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; - } - return _impl_.arg_; +inline void AlterForeignServerStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterForeignServerStmt.servername) } -inline ::pg_query::Node* CollateClause::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.arg) - return _msg; + +// string version = 2 [json_name = "version"]; +inline void AlterForeignServerStmt::clear_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_.ClearToEmpty(); } -inline void CollateClause::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.arg_; - } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); - if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); - } - - } else { - - } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.CollateClause.arg) +inline const std::string& AlterForeignServerStmt::version() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.version) + return _internal_version(); } - -// repeated .pg_query.Node collname = 2 [json_name = "collname"]; -inline int CollateClause::_internal_collname_size() const { - return _impl_.collname_.size(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterForeignServerStmt::set_version(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.version) } -inline int CollateClause::collname_size() const { - return _internal_collname_size(); +inline std::string* AlterForeignServerStmt::mutable_version() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_version(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.version) + return _s; } -inline void CollateClause::clear_collname() { - _impl_.collname_.Clear(); +inline const std::string& AlterForeignServerStmt::_internal_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.version_.Get(); } -inline ::pg_query::Node* CollateClause::mutable_collname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CollateClause.collname) - return _impl_.collname_.Mutable(index); +inline void AlterForeignServerStmt::_internal_set_version(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.version_.Set(value, GetArena()); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CollateClause::mutable_collname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CollateClause.collname) - return &_impl_.collname_; +inline std::string* AlterForeignServerStmt::_internal_mutable_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.version_.Mutable( GetArena()); +} +inline std::string* AlterForeignServerStmt::release_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterForeignServerStmt.version) + return _impl_.version_.Release(); } -inline const ::pg_query::Node& CollateClause::_internal_collname(int index) const { - return _impl_.collname_.Get(index); +inline void AlterForeignServerStmt::set_allocated_version(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.version_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.version_.IsDefault()) { + _impl_.version_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterForeignServerStmt.version) } -inline const ::pg_query::Node& CollateClause::collname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.collname) - return _internal_collname(index); + +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int AlterForeignServerStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int AlterForeignServerStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::Node* CollateClause::_internal_add_collname() { - return _impl_.collname_.Add(); +inline void AlterForeignServerStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* CollateClause::add_collname() { - ::pg_query::Node* _add = _internal_add_collname(); - // @@protoc_insertion_point(field_add:pg_query.CollateClause.collname) +inline ::pg_query::Node* AlterForeignServerStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterForeignServerStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterForeignServerStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterForeignServerStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterForeignServerStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterForeignServerStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterForeignServerStmt.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CollateClause::collname() const { - // @@protoc_insertion_point(field_list:pg_query.CollateClause.collname) - return _impl_.collname_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterForeignServerStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterForeignServerStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterForeignServerStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterForeignServerStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// int32 location = 3 [json_name = "location"]; -inline void CollateClause::clear_location() { - _impl_.location_ = 0; +// bool has_version = 4 [json_name = "has_version"]; +inline void AlterForeignServerStmt::clear_has_version() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.has_version_ = false; } -inline int32_t CollateClause::_internal_location() const { - return _impl_.location_; +inline bool AlterForeignServerStmt::has_version() const { + // @@protoc_insertion_point(field_get:pg_query.AlterForeignServerStmt.has_version) + return _internal_has_version(); } -inline int32_t CollateClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CollateClause.location) - return _internal_location(); +inline void AlterForeignServerStmt::set_has_version(bool value) { + _internal_set_has_version(value); + // @@protoc_insertion_point(field_set:pg_query.AlterForeignServerStmt.has_version) } -inline void CollateClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool AlterForeignServerStmt::_internal_has_version() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.has_version_; } -inline void CollateClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CollateClause.location) +inline void AlterForeignServerStmt::_internal_set_has_version(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.has_version_ = value; } // ------------------------------------------------------------------- -// SortBy +// CreateForeignTableStmt -// .pg_query.Node node = 1 [json_name = "node"]; -inline bool SortBy::_internal_has_node() const { - return this != internal_default_instance() && _impl_.node_ != nullptr; -} -inline bool SortBy::has_node() const { - return _internal_has_node(); +// .pg_query.CreateStmt base_stmt = 1 [json_name = "base"]; +inline bool CreateForeignTableStmt::has_base_stmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.base_stmt_ != nullptr); + return value; } -inline void SortBy::clear_node() { - if (GetArenaForAllocation() == nullptr && _impl_.node_ != nullptr) { - delete _impl_.node_; - } - _impl_.node_ = nullptr; +inline void CreateForeignTableStmt::clear_base_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.base_stmt_ != nullptr) _impl_.base_stmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& SortBy::_internal_node() const { - const ::pg_query::Node* p = _impl_.node_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::CreateStmt& CreateForeignTableStmt::_internal_base_stmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::CreateStmt* p = _impl_.base_stmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CreateStmt_default_instance_); } -inline const ::pg_query::Node& SortBy::node() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.node) - return _internal_node(); +inline const ::pg_query::CreateStmt& CreateForeignTableStmt::base_stmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.base_stmt) + return _internal_base_stmt(); } -inline void SortBy::unsafe_arena_set_allocated_node( - ::pg_query::Node* node) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.node_); +inline void CreateForeignTableStmt::unsafe_arena_set_allocated_base_stmt(::pg_query::CreateStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.base_stmt_); } - _impl_.node_ = node; - if (node) { - + _impl_.base_stmt_ = reinterpret_cast<::pg_query::CreateStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SortBy.node) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateForeignTableStmt.base_stmt) } -inline ::pg_query::Node* SortBy::release_node() { - - ::pg_query::Node* temp = _impl_.node_; - _impl_.node_ = nullptr; +inline ::pg_query::CreateStmt* CreateForeignTableStmt::release_base_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::CreateStmt* released = _impl_.base_stmt_; + _impl_.base_stmt_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* SortBy::unsafe_arena_release_node() { - // @@protoc_insertion_point(field_release:pg_query.SortBy.node) - - ::pg_query::Node* temp = _impl_.node_; - _impl_.node_ = nullptr; +inline ::pg_query::CreateStmt* CreateForeignTableStmt::unsafe_arena_release_base_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignTableStmt.base_stmt) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::CreateStmt* temp = _impl_.base_stmt_; + _impl_.base_stmt_ = nullptr; return temp; } -inline ::pg_query::Node* SortBy::_internal_mutable_node() { - - if (_impl_.node_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.node_ = p; +inline ::pg_query::CreateStmt* CreateForeignTableStmt::_internal_mutable_base_stmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.base_stmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CreateStmt>(GetArena()); + _impl_.base_stmt_ = reinterpret_cast<::pg_query::CreateStmt*>(p); } - return _impl_.node_; + return _impl_.base_stmt_; } -inline ::pg_query::Node* SortBy::mutable_node() { - ::pg_query::Node* _msg = _internal_mutable_node(); - // @@protoc_insertion_point(field_mutable:pg_query.SortBy.node) +inline ::pg_query::CreateStmt* CreateForeignTableStmt::mutable_base_stmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CreateStmt* _msg = _internal_mutable_base_stmt(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.base_stmt) return _msg; } -inline void SortBy::set_allocated_node(::pg_query::Node* node) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateForeignTableStmt::set_allocated_base_stmt(::pg_query::CreateStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.node_; + delete reinterpret_cast<::pg_query::CreateStmt*>(_impl_.base_stmt_); } - if (node) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(node); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CreateStmt*>(value)->GetArena(); if (message_arena != submessage_arena) { - node = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, node, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.node_ = node; - // @@protoc_insertion_point(field_set_allocated:pg_query.SortBy.node) -} -// .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"]; -inline void SortBy::clear_sortby_dir() { - _impl_.sortby_dir_ = 0; + _impl_.base_stmt_ = reinterpret_cast<::pg_query::CreateStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignTableStmt.base_stmt) } -inline ::pg_query::SortByDir SortBy::_internal_sortby_dir() const { - return static_cast< ::pg_query::SortByDir >(_impl_.sortby_dir_); + +// string servername = 2 [json_name = "servername"]; +inline void CreateForeignTableStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline ::pg_query::SortByDir SortBy::sortby_dir() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_dir) - return _internal_sortby_dir(); +inline const std::string& CreateForeignTableStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.servername) + return _internal_servername(); } -inline void SortBy::_internal_set_sortby_dir(::pg_query::SortByDir value) { - - _impl_.sortby_dir_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void CreateForeignTableStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateForeignTableStmt.servername) } -inline void SortBy::set_sortby_dir(::pg_query::SortByDir value) { - _internal_set_sortby_dir(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_dir) +inline std::string* CreateForeignTableStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.servername) + return _s; } - -// .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"]; -inline void SortBy::clear_sortby_nulls() { - _impl_.sortby_nulls_ = 0; +inline const std::string& CreateForeignTableStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline ::pg_query::SortByNulls SortBy::_internal_sortby_nulls() const { - return static_cast< ::pg_query::SortByNulls >(_impl_.sortby_nulls_); +inline void CreateForeignTableStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::SortByNulls SortBy::sortby_nulls() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.sortby_nulls) - return _internal_sortby_nulls(); +inline std::string* CreateForeignTableStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline void SortBy::_internal_set_sortby_nulls(::pg_query::SortByNulls value) { - - _impl_.sortby_nulls_ = value; +inline std::string* CreateForeignTableStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateForeignTableStmt.servername) + return _impl_.servername_.Release(); } -inline void SortBy::set_sortby_nulls(::pg_query::SortByNulls value) { - _internal_set_sortby_nulls(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.sortby_nulls) +inline void CreateForeignTableStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateForeignTableStmt.servername) } -// repeated .pg_query.Node use_op = 4 [json_name = "useOp"]; -inline int SortBy::_internal_use_op_size() const { - return _impl_.use_op_.size(); -} -inline int SortBy::use_op_size() const { - return _internal_use_op_size(); -} -inline void SortBy::clear_use_op() { - _impl_.use_op_.Clear(); +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int CreateForeignTableStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* SortBy::mutable_use_op(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.SortBy.use_op) - return _impl_.use_op_.Mutable(index); +inline int CreateForeignTableStmt::options_size() const { + return _internal_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -SortBy::mutable_use_op() { - // @@protoc_insertion_point(field_mutable_list:pg_query.SortBy.use_op) - return &_impl_.use_op_; +inline void CreateForeignTableStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& SortBy::_internal_use_op(int index) const { - return _impl_.use_op_.Get(index); +inline ::pg_query::Node* CreateForeignTableStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateForeignTableStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::Node& SortBy::use_op(int index) const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.use_op) - return _internal_use_op(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateForeignTableStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateForeignTableStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* SortBy::_internal_add_use_op() { - return _impl_.use_op_.Add(); +inline const ::pg_query::Node& CreateForeignTableStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateForeignTableStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* SortBy::add_use_op() { - ::pg_query::Node* _add = _internal_add_use_op(); - // @@protoc_insertion_point(field_add:pg_query.SortBy.use_op) +inline ::pg_query::Node* CreateForeignTableStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateForeignTableStmt.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -SortBy::use_op() const { - // @@protoc_insertion_point(field_list:pg_query.SortBy.use_op) - return _impl_.use_op_; -} - -// int32 location = 5 [json_name = "location"]; -inline void SortBy::clear_location() { - _impl_.location_ = 0; -} -inline int32_t SortBy::_internal_location() const { - return _impl_.location_; -} -inline int32_t SortBy::location() const { - // @@protoc_insertion_point(field_get:pg_query.SortBy.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateForeignTableStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateForeignTableStmt.options) + return _internal_options(); } -inline void SortBy::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateForeignTableStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void SortBy::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.SortBy.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateForeignTableStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// WindowDef +// CreateUserMappingStmt -// string name = 1 [json_name = "name"]; -inline void WindowDef::clear_name() { - _impl_.name_.ClearToEmpty(); -} -inline const std::string& WindowDef::name() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void WindowDef::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.name) -} -inline std::string* WindowDef::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.name) - return _s; -} -inline const std::string& WindowDef::_internal_name() const { - return _impl_.name_.Get(); +// .pg_query.RoleSpec user = 1 [json_name = "user"]; +inline bool CreateUserMappingStmt::has_user() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr); + return value; } -inline void WindowDef::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void CreateUserMappingStmt::clear_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.user_ != nullptr) _impl_.user_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* WindowDef::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::RoleSpec& CreateUserMappingStmt::_internal_user() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.user_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline std::string* WindowDef::release_name() { - // @@protoc_insertion_point(field_release:pg_query.WindowDef.name) - return _impl_.name_.Release(); +inline const ::pg_query::RoleSpec& CreateUserMappingStmt::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.user) + return _internal_user(); } -inline void WindowDef::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - +inline void CreateUserMappingStmt::unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_); } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateUserMappingStmt.user) } +inline ::pg_query::RoleSpec* CreateUserMappingStmt::release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string refname = 2 [json_name = "refname"]; -inline void WindowDef::clear_refname() { - _impl_.refname_.ClearToEmpty(); -} -inline const std::string& WindowDef::refname() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.refname) - return _internal_refname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void WindowDef::set_refname(ArgT0&& arg0, ArgT... args) { - - _impl_.refname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.refname) -} -inline std::string* WindowDef::mutable_refname() { - std::string* _s = _internal_mutable_refname(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.refname) - return _s; -} -inline const std::string& WindowDef::_internal_refname() const { - return _impl_.refname_.Get(); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.user_; + _impl_.user_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void WindowDef::_internal_set_refname(const std::string& value) { - - _impl_.refname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::RoleSpec* CreateUserMappingStmt::unsafe_arena_release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateUserMappingStmt.user) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.user_; + _impl_.user_ = nullptr; + return temp; } -inline std::string* WindowDef::_internal_mutable_refname() { - - return _impl_.refname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::RoleSpec* CreateUserMappingStmt::_internal_mutable_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.user_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(p); + } + return _impl_.user_; } -inline std::string* WindowDef::release_refname() { - // @@protoc_insertion_point(field_release:pg_query.WindowDef.refname) - return _impl_.refname_.Release(); +inline ::pg_query::RoleSpec* CreateUserMappingStmt::mutable_user() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_user(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.user) + return _msg; } -inline void WindowDef::set_allocated_refname(std::string* refname) { - if (refname != nullptr) { - - } else { - +inline void CreateUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.user_); } - _impl_.refname_.SetAllocated(refname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.refname_.IsDefault()) { - _impl_.refname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.refname) -} -// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; -inline int WindowDef::_internal_partition_clause_size() const { - return _impl_.partition_clause_.size(); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateUserMappingStmt.user) } -inline int WindowDef::partition_clause_size() const { - return _internal_partition_clause_size(); + +// string servername = 2 [json_name = "servername"]; +inline void CreateUserMappingStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline void WindowDef::clear_partition_clause() { - _impl_.partition_clause_.Clear(); +inline const std::string& CreateUserMappingStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.servername) + return _internal_servername(); } -inline ::pg_query::Node* WindowDef::mutable_partition_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.partition_clause) - return _impl_.partition_clause_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CreateUserMappingStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateUserMappingStmt.servername) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowDef::mutable_partition_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.partition_clause) - return &_impl_.partition_clause_; +inline std::string* CreateUserMappingStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.servername) + return _s; } -inline const ::pg_query::Node& WindowDef::_internal_partition_clause(int index) const { - return _impl_.partition_clause_.Get(index); +inline const std::string& CreateUserMappingStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline const ::pg_query::Node& WindowDef::partition_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.partition_clause) - return _internal_partition_clause(index); +inline void CreateUserMappingStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::Node* WindowDef::_internal_add_partition_clause() { - return _impl_.partition_clause_.Add(); +inline std::string* CreateUserMappingStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline ::pg_query::Node* WindowDef::add_partition_clause() { - ::pg_query::Node* _add = _internal_add_partition_clause(); - // @@protoc_insertion_point(field_add:pg_query.WindowDef.partition_clause) - return _add; +inline std::string* CreateUserMappingStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateUserMappingStmt.servername) + return _impl_.servername_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowDef::partition_clause() const { - // @@protoc_insertion_point(field_list:pg_query.WindowDef.partition_clause) - return _impl_.partition_clause_; +inline void CreateUserMappingStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateUserMappingStmt.servername) } -// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; -inline int WindowDef::_internal_order_clause_size() const { - return _impl_.order_clause_.size(); +// bool if_not_exists = 3 [json_name = "if_not_exists"]; +inline void CreateUserMappingStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline int WindowDef::order_clause_size() const { - return _internal_order_clause_size(); +inline bool CreateUserMappingStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.if_not_exists) + return _internal_if_not_exists(); } -inline void WindowDef::clear_order_clause() { - _impl_.order_clause_.Clear(); +inline void CreateUserMappingStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateUserMappingStmt.if_not_exists) } -inline ::pg_query::Node* WindowDef::mutable_order_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.order_clause) - return _impl_.order_clause_.Mutable(index); +inline bool CreateUserMappingStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowDef::mutable_order_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowDef.order_clause) - return &_impl_.order_clause_; +inline void CreateUserMappingStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -inline const ::pg_query::Node& WindowDef::_internal_order_clause(int index) const { - return _impl_.order_clause_.Get(index); + +// repeated .pg_query.Node options = 4 [json_name = "options"]; +inline int CreateUserMappingStmt::_internal_options_size() const { + return _internal_options().size(); } -inline const ::pg_query::Node& WindowDef::order_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.order_clause) - return _internal_order_clause(index); +inline int CreateUserMappingStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::Node* WindowDef::_internal_add_order_clause() { - return _impl_.order_clause_.Add(); +inline void CreateUserMappingStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* WindowDef::add_order_clause() { - ::pg_query::Node* _add = _internal_add_order_clause(); - // @@protoc_insertion_point(field_add:pg_query.WindowDef.order_clause) - return _add; +inline ::pg_query::Node* CreateUserMappingStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateUserMappingStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowDef::order_clause() const { - // @@protoc_insertion_point(field_list:pg_query.WindowDef.order_clause) - return _impl_.order_clause_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateUserMappingStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateUserMappingStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// int32 frame_options = 5 [json_name = "frameOptions"]; -inline void WindowDef::clear_frame_options() { - _impl_.frame_options_ = 0; +inline const ::pg_query::Node& CreateUserMappingStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateUserMappingStmt.options) + return _internal_options().Get(index); } -inline int32_t WindowDef::_internal_frame_options() const { - return _impl_.frame_options_; +inline ::pg_query::Node* CreateUserMappingStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateUserMappingStmt.options) + return _add; } -inline int32_t WindowDef::frame_options() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.frame_options) - return _internal_frame_options(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateUserMappingStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateUserMappingStmt.options) + return _internal_options(); } -inline void WindowDef::_internal_set_frame_options(int32_t value) { - - _impl_.frame_options_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateUserMappingStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void WindowDef::set_frame_options(int32_t value) { - _internal_set_frame_options(value); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.frame_options) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateUserMappingStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; -inline bool WindowDef::_internal_has_start_offset() const { - return this != internal_default_instance() && _impl_.start_offset_ != nullptr; -} -inline bool WindowDef::has_start_offset() const { - return _internal_has_start_offset(); +// ------------------------------------------------------------------- + +// AlterUserMappingStmt + +// .pg_query.RoleSpec user = 1 [json_name = "user"]; +inline bool AlterUserMappingStmt::has_user() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr); + return value; } -inline void WindowDef::clear_start_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.start_offset_ != nullptr) { - delete _impl_.start_offset_; - } - _impl_.start_offset_ = nullptr; +inline void AlterUserMappingStmt::clear_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.user_ != nullptr) _impl_.user_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WindowDef::_internal_start_offset() const { - const ::pg_query::Node* p = _impl_.start_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RoleSpec& AlterUserMappingStmt::_internal_user() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.user_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::Node& WindowDef::start_offset() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.start_offset) - return _internal_start_offset(); +inline const ::pg_query::RoleSpec& AlterUserMappingStmt::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.user) + return _internal_user(); } -inline void WindowDef::unsafe_arena_set_allocated_start_offset( - ::pg_query::Node* start_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.start_offset_); +inline void AlterUserMappingStmt::unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_); } - _impl_.start_offset_ = start_offset; - if (start_offset) { - + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.start_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterUserMappingStmt.user) } -inline ::pg_query::Node* WindowDef::release_start_offset() { - - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; +inline ::pg_query::RoleSpec* AlterUserMappingStmt::release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.user_; + _impl_.user_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* WindowDef::unsafe_arena_release_start_offset() { - // @@protoc_insertion_point(field_release:pg_query.WindowDef.start_offset) - - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; +inline ::pg_query::RoleSpec* AlterUserMappingStmt::unsafe_arena_release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterUserMappingStmt.user) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.user_; + _impl_.user_ = nullptr; return temp; } -inline ::pg_query::Node* WindowDef::_internal_mutable_start_offset() { - - if (_impl_.start_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.start_offset_ = p; +inline ::pg_query::RoleSpec* AlterUserMappingStmt::_internal_mutable_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.user_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.start_offset_; + return _impl_.user_; } -inline ::pg_query::Node* WindowDef::mutable_start_offset() { - ::pg_query::Node* _msg = _internal_mutable_start_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.start_offset) +inline ::pg_query::RoleSpec* AlterUserMappingStmt::mutable_user() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_user(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.user) return _msg; } -inline void WindowDef::set_allocated_start_offset(::pg_query::Node* start_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.start_offset_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.user_); } - if (start_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(start_offset); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - start_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, start_offset, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.start_offset_ = start_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.start_offset) -} -// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; -inline bool WindowDef::_internal_has_end_offset() const { - return this != internal_default_instance() && _impl_.end_offset_ != nullptr; -} -inline bool WindowDef::has_end_offset() const { - return _internal_has_end_offset(); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterUserMappingStmt.user) } -inline void WindowDef::clear_end_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.end_offset_ != nullptr) { - delete _impl_.end_offset_; - } - _impl_.end_offset_ = nullptr; + +// string servername = 2 [json_name = "servername"]; +inline void AlterUserMappingStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline const ::pg_query::Node& WindowDef::_internal_end_offset() const { - const ::pg_query::Node* p = _impl_.end_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const std::string& AlterUserMappingStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.servername) + return _internal_servername(); } -inline const ::pg_query::Node& WindowDef::end_offset() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.end_offset) - return _internal_end_offset(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterUserMappingStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterUserMappingStmt.servername) } -inline void WindowDef::unsafe_arena_set_allocated_end_offset( - ::pg_query::Node* end_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.end_offset_); - } - _impl_.end_offset_ = end_offset; - if (end_offset) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowDef.end_offset) +inline std::string* AlterUserMappingStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.servername) + return _s; } -inline ::pg_query::Node* WindowDef::release_end_offset() { - - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& AlterUserMappingStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline ::pg_query::Node* WindowDef::unsafe_arena_release_end_offset() { - // @@protoc_insertion_point(field_release:pg_query.WindowDef.end_offset) - - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; - return temp; +inline void AlterUserMappingStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::Node* WindowDef::_internal_mutable_end_offset() { - - if (_impl_.end_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.end_offset_ = p; - } - return _impl_.end_offset_; +inline std::string* AlterUserMappingStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline ::pg_query::Node* WindowDef::mutable_end_offset() { - ::pg_query::Node* _msg = _internal_mutable_end_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowDef.end_offset) - return _msg; +inline std::string* AlterUserMappingStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterUserMappingStmt.servername) + return _impl_.servername_.Release(); } -inline void WindowDef::set_allocated_end_offset(::pg_query::Node* end_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.end_offset_; - } - if (end_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(end_offset); - if (message_arena != submessage_arena) { - end_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, end_offset, submessage_arena); - } - - } else { - - } - _impl_.end_offset_ = end_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowDef.end_offset) +inline void AlterUserMappingStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterUserMappingStmt.servername) } -// int32 location = 8 [json_name = "location"]; -inline void WindowDef::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int AlterUserMappingStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t WindowDef::_internal_location() const { - return _impl_.location_; +inline int AlterUserMappingStmt::options_size() const { + return _internal_options_size(); } -inline int32_t WindowDef::location() const { - // @@protoc_insertion_point(field_get:pg_query.WindowDef.location) - return _internal_location(); +inline void AlterUserMappingStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void WindowDef::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* AlterUserMappingStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterUserMappingStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void WindowDef::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WindowDef.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterUserMappingStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterUserMappingStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// ------------------------------------------------------------------- - -// RangeSubselect - -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeSubselect::clear_lateral() { - _impl_.lateral_ = false; +inline const ::pg_query::Node& AlterUserMappingStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterUserMappingStmt.options) + return _internal_options().Get(index); } -inline bool RangeSubselect::_internal_lateral() const { - return _impl_.lateral_; +inline ::pg_query::Node* AlterUserMappingStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterUserMappingStmt.options) + return _add; } -inline bool RangeSubselect::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.lateral) - return _internal_lateral(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterUserMappingStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterUserMappingStmt.options) + return _internal_options(); } -inline void RangeSubselect::_internal_set_lateral(bool value) { - - _impl_.lateral_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterUserMappingStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void RangeSubselect::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeSubselect.lateral) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterUserMappingStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// .pg_query.Node subquery = 2 [json_name = "subquery"]; -inline bool RangeSubselect::_internal_has_subquery() const { - return this != internal_default_instance() && _impl_.subquery_ != nullptr; -} -inline bool RangeSubselect::has_subquery() const { - return _internal_has_subquery(); +// ------------------------------------------------------------------- + +// DropUserMappingStmt + +// .pg_query.RoleSpec user = 1 [json_name = "user"]; +inline bool DropUserMappingStmt::has_user() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr); + return value; } -inline void RangeSubselect::clear_subquery() { - if (GetArenaForAllocation() == nullptr && _impl_.subquery_ != nullptr) { - delete _impl_.subquery_; - } - _impl_.subquery_ = nullptr; +inline void DropUserMappingStmt::clear_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.user_ != nullptr) _impl_.user_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RangeSubselect::_internal_subquery() const { - const ::pg_query::Node* p = _impl_.subquery_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RoleSpec& DropUserMappingStmt::_internal_user() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.user_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::Node& RangeSubselect::subquery() const { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.subquery) - return _internal_subquery(); +inline const ::pg_query::RoleSpec& DropUserMappingStmt::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.user) + return _internal_user(); } -inline void RangeSubselect::unsafe_arena_set_allocated_subquery( - ::pg_query::Node* subquery) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.subquery_); +inline void DropUserMappingStmt::unsafe_arena_set_allocated_user(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_); } - _impl_.subquery_ = subquery; - if (subquery) { - + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.subquery) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DropUserMappingStmt.user) } -inline ::pg_query::Node* RangeSubselect::release_subquery() { - - ::pg_query::Node* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; +inline ::pg_query::RoleSpec* DropUserMappingStmt::release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.user_; + _impl_.user_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeSubselect::unsafe_arena_release_subquery() { - // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.subquery) - - ::pg_query::Node* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; +inline ::pg_query::RoleSpec* DropUserMappingStmt::unsafe_arena_release_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DropUserMappingStmt.user) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.user_; + _impl_.user_ = nullptr; return temp; } -inline ::pg_query::Node* RangeSubselect::_internal_mutable_subquery() { - - if (_impl_.subquery_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.subquery_ = p; +inline ::pg_query::RoleSpec* DropUserMappingStmt::_internal_mutable_user() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.user_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.subquery_; + return _impl_.user_; } -inline ::pg_query::Node* RangeSubselect::mutable_subquery() { - ::pg_query::Node* _msg = _internal_mutable_subquery(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.subquery) +inline ::pg_query::RoleSpec* DropUserMappingStmt::mutable_user() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_user(); + // @@protoc_insertion_point(field_mutable:pg_query.DropUserMappingStmt.user) return _msg; } -inline void RangeSubselect::set_allocated_subquery(::pg_query::Node* subquery) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void DropUserMappingStmt::set_allocated_user(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.subquery_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.user_); } - if (subquery) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(subquery); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - subquery = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, subquery, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.subquery_ = subquery; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.subquery) + + _impl_.user_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DropUserMappingStmt.user) } -// .pg_query.Alias alias = 3 [json_name = "alias"]; -inline bool RangeSubselect::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; +// string servername = 2 [json_name = "servername"]; +inline void DropUserMappingStmt::clear_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.ClearToEmpty(); } -inline bool RangeSubselect::has_alias() const { - return _internal_has_alias(); +inline const std::string& DropUserMappingStmt::servername() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.servername) + return _internal_servername(); } -inline void RangeSubselect::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void DropUserMappingStmt::set_servername(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DropUserMappingStmt.servername) } -inline const ::pg_query::Alias& RangeSubselect::_internal_alias() const { - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline std::string* DropUserMappingStmt::mutable_servername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_servername(); + // @@protoc_insertion_point(field_mutable:pg_query.DropUserMappingStmt.servername) + return _s; } -inline const ::pg_query::Alias& RangeSubselect::alias() const { - // @@protoc_insertion_point(field_get:pg_query.RangeSubselect.alias) - return _internal_alias(); +inline const std::string& DropUserMappingStmt::_internal_servername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.servername_.Get(); } -inline void RangeSubselect::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); - } - _impl_.alias_ = alias; - if (alias) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeSubselect.alias) +inline void DropUserMappingStmt::_internal_set_servername(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.servername_.Set(value, GetArena()); } -inline ::pg_query::Alias* RangeSubselect::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* DropUserMappingStmt::_internal_mutable_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.servername_.Mutable( GetArena()); } -inline ::pg_query::Alias* RangeSubselect::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_release:pg_query.RangeSubselect.alias) - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; - return temp; +inline std::string* DropUserMappingStmt::release_servername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DropUserMappingStmt.servername) + return _impl_.servername_.Release(); } -inline ::pg_query::Alias* RangeSubselect::_internal_mutable_alias() { - - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; - } - return _impl_.alias_; +inline void DropUserMappingStmt::set_allocated_servername(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.servername_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.servername_.IsDefault()) { + _impl_.servername_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DropUserMappingStmt.servername) } -inline ::pg_query::Alias* RangeSubselect::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeSubselect.alias) - return _msg; + +// bool missing_ok = 3 [json_name = "missing_ok"]; +inline void DropUserMappingStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline void RangeSubselect::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.alias_; - } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); - if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); - } - - } else { - - } - _impl_.alias_ = alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeSubselect.alias) +inline bool DropUserMappingStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropUserMappingStmt.missing_ok) + return _internal_missing_ok(); +} +inline void DropUserMappingStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropUserMappingStmt.missing_ok) +} +inline bool DropUserMappingStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; +} +inline void DropUserMappingStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// RangeFunction +// ImportForeignSchemaStmt -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeFunction::clear_lateral() { - _impl_.lateral_ = false; +// string server_name = 1 [json_name = "server_name"]; +inline void ImportForeignSchemaStmt::clear_server_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.server_name_.ClearToEmpty(); } -inline bool RangeFunction::_internal_lateral() const { - return _impl_.lateral_; +inline const std::string& ImportForeignSchemaStmt::server_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.server_name) + return _internal_server_name(); } -inline bool RangeFunction::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.lateral) - return _internal_lateral(); +template +inline PROTOBUF_ALWAYS_INLINE void ImportForeignSchemaStmt::set_server_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.server_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.server_name) } -inline void RangeFunction::_internal_set_lateral(bool value) { - - _impl_.lateral_ = value; +inline std::string* ImportForeignSchemaStmt::mutable_server_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_server_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.server_name) + return _s; } -inline void RangeFunction::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.lateral) +inline const std::string& ImportForeignSchemaStmt::_internal_server_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.server_name_.Get(); +} +inline void ImportForeignSchemaStmt::_internal_set_server_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.server_name_.Set(value, GetArena()); +} +inline std::string* ImportForeignSchemaStmt::_internal_mutable_server_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.server_name_.Mutable( GetArena()); +} +inline std::string* ImportForeignSchemaStmt::release_server_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.server_name) + return _impl_.server_name_.Release(); +} +inline void ImportForeignSchemaStmt::set_allocated_server_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.server_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.server_name_.IsDefault()) { + _impl_.server_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.server_name) } -// bool ordinality = 2 [json_name = "ordinality"]; -inline void RangeFunction::clear_ordinality() { - _impl_.ordinality_ = false; +// string remote_schema = 2 [json_name = "remote_schema"]; +inline void ImportForeignSchemaStmt::clear_remote_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remote_schema_.ClearToEmpty(); } -inline bool RangeFunction::_internal_ordinality() const { - return _impl_.ordinality_; +inline const std::string& ImportForeignSchemaStmt::remote_schema() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.remote_schema) + return _internal_remote_schema(); } -inline bool RangeFunction::ordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.ordinality) - return _internal_ordinality(); +template +inline PROTOBUF_ALWAYS_INLINE void ImportForeignSchemaStmt::set_remote_schema(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.remote_schema_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.remote_schema) } -inline void RangeFunction::_internal_set_ordinality(bool value) { - - _impl_.ordinality_ = value; +inline std::string* ImportForeignSchemaStmt::mutable_remote_schema() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_remote_schema(); + // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.remote_schema) + return _s; } -inline void RangeFunction::set_ordinality(bool value) { - _internal_set_ordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.ordinality) +inline const std::string& ImportForeignSchemaStmt::_internal_remote_schema() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.remote_schema_.Get(); +} +inline void ImportForeignSchemaStmt::_internal_set_remote_schema(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.remote_schema_.Set(value, GetArena()); +} +inline std::string* ImportForeignSchemaStmt::_internal_mutable_remote_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.remote_schema_.Mutable( GetArena()); +} +inline std::string* ImportForeignSchemaStmt::release_remote_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.remote_schema) + return _impl_.remote_schema_.Release(); +} +inline void ImportForeignSchemaStmt::set_allocated_remote_schema(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remote_schema_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.remote_schema_.IsDefault()) { + _impl_.remote_schema_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.remote_schema) } -// bool is_rowsfrom = 3 [json_name = "is_rowsfrom"]; -inline void RangeFunction::clear_is_rowsfrom() { - _impl_.is_rowsfrom_ = false; +// string local_schema = 3 [json_name = "local_schema"]; +inline void ImportForeignSchemaStmt::clear_local_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.local_schema_.ClearToEmpty(); } -inline bool RangeFunction::_internal_is_rowsfrom() const { - return _impl_.is_rowsfrom_; +inline const std::string& ImportForeignSchemaStmt::local_schema() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.local_schema) + return _internal_local_schema(); } -inline bool RangeFunction::is_rowsfrom() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.is_rowsfrom) - return _internal_is_rowsfrom(); +template +inline PROTOBUF_ALWAYS_INLINE void ImportForeignSchemaStmt::set_local_schema(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.local_schema_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.local_schema) } -inline void RangeFunction::_internal_set_is_rowsfrom(bool value) { - - _impl_.is_rowsfrom_ = value; +inline std::string* ImportForeignSchemaStmt::mutable_local_schema() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_local_schema(); + // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.local_schema) + return _s; +} +inline const std::string& ImportForeignSchemaStmt::_internal_local_schema() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.local_schema_.Get(); +} +inline void ImportForeignSchemaStmt::_internal_set_local_schema(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.local_schema_.Set(value, GetArena()); +} +inline std::string* ImportForeignSchemaStmt::_internal_mutable_local_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.local_schema_.Mutable( GetArena()); +} +inline std::string* ImportForeignSchemaStmt::release_local_schema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ImportForeignSchemaStmt.local_schema) + return _impl_.local_schema_.Release(); +} +inline void ImportForeignSchemaStmt::set_allocated_local_schema(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.local_schema_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.local_schema_.IsDefault()) { + _impl_.local_schema_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ImportForeignSchemaStmt.local_schema) +} + +// .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"]; +inline void ImportForeignSchemaStmt::clear_list_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.list_type_ = 0; +} +inline ::pg_query::ImportForeignSchemaType ImportForeignSchemaStmt::list_type() const { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.list_type) + return _internal_list_type(); +} +inline void ImportForeignSchemaStmt::set_list_type(::pg_query::ImportForeignSchemaType value) { + _internal_set_list_type(value); + // @@protoc_insertion_point(field_set:pg_query.ImportForeignSchemaStmt.list_type) } -inline void RangeFunction::set_is_rowsfrom(bool value) { - _internal_set_is_rowsfrom(value); - // @@protoc_insertion_point(field_set:pg_query.RangeFunction.is_rowsfrom) +inline ::pg_query::ImportForeignSchemaType ImportForeignSchemaStmt::_internal_list_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ImportForeignSchemaType>(_impl_.list_type_); +} +inline void ImportForeignSchemaStmt::_internal_set_list_type(::pg_query::ImportForeignSchemaType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.list_type_ = value; } -// repeated .pg_query.Node functions = 4 [json_name = "functions"]; -inline int RangeFunction::_internal_functions_size() const { - return _impl_.functions_.size(); +// repeated .pg_query.Node table_list = 5 [json_name = "table_list"]; +inline int ImportForeignSchemaStmt::_internal_table_list_size() const { + return _internal_table_list().size(); } -inline int RangeFunction::functions_size() const { - return _internal_functions_size(); +inline int ImportForeignSchemaStmt::table_list_size() const { + return _internal_table_list_size(); } -inline void RangeFunction::clear_functions() { - _impl_.functions_.Clear(); +inline void ImportForeignSchemaStmt::clear_table_list() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_list_.Clear(); } -inline ::pg_query::Node* RangeFunction::mutable_functions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.functions) - return _impl_.functions_.Mutable(index); +inline ::pg_query::Node* ImportForeignSchemaStmt::mutable_table_list(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.table_list) + return _internal_mutable_table_list()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeFunction::mutable_functions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.functions) - return &_impl_.functions_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ImportForeignSchemaStmt::mutable_table_list() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ImportForeignSchemaStmt.table_list) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_table_list(); } -inline const ::pg_query::Node& RangeFunction::_internal_functions(int index) const { - return _impl_.functions_.Get(index); +inline const ::pg_query::Node& ImportForeignSchemaStmt::table_list(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.table_list) + return _internal_table_list().Get(index); } -inline const ::pg_query::Node& RangeFunction::functions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.functions) - return _internal_functions(index); +inline ::pg_query::Node* ImportForeignSchemaStmt::add_table_list() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_table_list()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ImportForeignSchemaStmt.table_list) + return _add; } -inline ::pg_query::Node* RangeFunction::_internal_add_functions() { - return _impl_.functions_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ImportForeignSchemaStmt::table_list() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ImportForeignSchemaStmt.table_list) + return _internal_table_list(); } -inline ::pg_query::Node* RangeFunction::add_functions() { - ::pg_query::Node* _add = _internal_add_functions(); - // @@protoc_insertion_point(field_add:pg_query.RangeFunction.functions) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ImportForeignSchemaStmt::_internal_table_list() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.table_list_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeFunction::functions() const { - // @@protoc_insertion_point(field_list:pg_query.RangeFunction.functions) - return _impl_.functions_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ImportForeignSchemaStmt::_internal_mutable_table_list() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.table_list_; } -// .pg_query.Alias alias = 5 [json_name = "alias"]; -inline bool RangeFunction::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; -} -inline bool RangeFunction::has_alias() const { - return _internal_has_alias(); +// repeated .pg_query.Node options = 6 [json_name = "options"]; +inline int ImportForeignSchemaStmt::_internal_options_size() const { + return _internal_options().size(); } -inline void RangeFunction::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; +inline int ImportForeignSchemaStmt::options_size() const { + return _internal_options_size(); } -inline const ::pg_query::Alias& RangeFunction::_internal_alias() const { - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline void ImportForeignSchemaStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Alias& RangeFunction::alias() const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.alias) - return _internal_alias(); +inline ::pg_query::Node* ImportForeignSchemaStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ImportForeignSchemaStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void RangeFunction::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); - } - _impl_.alias_ = alias; - if (alias) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeFunction.alias) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ImportForeignSchemaStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ImportForeignSchemaStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Alias* RangeFunction::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& ImportForeignSchemaStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ImportForeignSchemaStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Alias* RangeFunction::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_release:pg_query.RangeFunction.alias) - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; - return temp; +inline ::pg_query::Node* ImportForeignSchemaStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ImportForeignSchemaStmt.options) + return _add; } -inline ::pg_query::Alias* RangeFunction::_internal_mutable_alias() { - - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; - } - return _impl_.alias_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ImportForeignSchemaStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ImportForeignSchemaStmt.options) + return _internal_options(); } -inline ::pg_query::Alias* RangeFunction::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.alias) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ImportForeignSchemaStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void RangeFunction::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.alias_; - } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); - if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); - } - - } else { - - } - _impl_.alias_ = alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeFunction.alias) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ImportForeignSchemaStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"]; -inline int RangeFunction::_internal_coldeflist_size() const { - return _impl_.coldeflist_.size(); -} -inline int RangeFunction::coldeflist_size() const { - return _internal_coldeflist_size(); +// ------------------------------------------------------------------- + +// CreatePolicyStmt + +// string policy_name = 1 [json_name = "policy_name"]; +inline void CreatePolicyStmt::clear_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.policy_name_.ClearToEmpty(); } -inline void RangeFunction::clear_coldeflist() { - _impl_.coldeflist_.Clear(); +inline const std::string& CreatePolicyStmt::policy_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.policy_name) + return _internal_policy_name(); } -inline ::pg_query::Node* RangeFunction::mutable_coldeflist(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeFunction.coldeflist) - return _impl_.coldeflist_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CreatePolicyStmt::set_policy_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.policy_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.policy_name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeFunction::mutable_coldeflist() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeFunction.coldeflist) - return &_impl_.coldeflist_; +inline std::string* CreatePolicyStmt::mutable_policy_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_policy_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.policy_name) + return _s; } -inline const ::pg_query::Node& RangeFunction::_internal_coldeflist(int index) const { - return _impl_.coldeflist_.Get(index); +inline const std::string& CreatePolicyStmt::_internal_policy_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.policy_name_.Get(); } -inline const ::pg_query::Node& RangeFunction::coldeflist(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeFunction.coldeflist) - return _internal_coldeflist(index); +inline void CreatePolicyStmt::_internal_set_policy_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.policy_name_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeFunction::_internal_add_coldeflist() { - return _impl_.coldeflist_.Add(); +inline std::string* CreatePolicyStmt::_internal_mutable_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.policy_name_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeFunction::add_coldeflist() { - ::pg_query::Node* _add = _internal_add_coldeflist(); - // @@protoc_insertion_point(field_add:pg_query.RangeFunction.coldeflist) - return _add; +inline std::string* CreatePolicyStmt::release_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.policy_name) + return _impl_.policy_name_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeFunction::coldeflist() const { - // @@protoc_insertion_point(field_list:pg_query.RangeFunction.coldeflist) - return _impl_.coldeflist_; +inline void CreatePolicyStmt::set_allocated_policy_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.policy_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.policy_name_.IsDefault()) { + _impl_.policy_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.policy_name) } -// ------------------------------------------------------------------- - -// RangeTableSample - -// .pg_query.Node relation = 1 [json_name = "relation"]; -inline bool RangeTableSample::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool RangeTableSample::has_relation() const { - return _internal_has_relation(); +// .pg_query.RangeVar table = 2 [json_name = "table"]; +inline bool CreatePolicyStmt::has_table() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.table_ != nullptr); + return value; } -inline void RangeTableSample::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void CreatePolicyStmt::clear_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.table_ != nullptr) _impl_.table_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& RangeTableSample::_internal_relation() const { - const ::pg_query::Node* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RangeVar& CreatePolicyStmt::_internal_table() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.table_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& RangeTableSample::relation() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.relation) - return _internal_relation(); +inline const ::pg_query::RangeVar& CreatePolicyStmt::table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.table) + return _internal_table(); } -inline void RangeTableSample::unsafe_arena_set_allocated_relation( - ::pg_query::Node* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void CreatePolicyStmt::unsafe_arena_set_allocated_table(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.table_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.table) } -inline ::pg_query::Node* RangeTableSample::release_relation() { - - ::pg_query::Node* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::RangeVar* CreatePolicyStmt::release_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.table_; + _impl_.table_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.relation) - - ::pg_query::Node* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::RangeVar* CreatePolicyStmt::unsafe_arena_release_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.table) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.table_; + _impl_.table_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableSample::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::RangeVar* CreatePolicyStmt::_internal_mutable_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.table_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.relation_; + return _impl_.table_; } -inline ::pg_query::Node* RangeTableSample::mutable_relation() { - ::pg_query::Node* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.relation) +inline ::pg_query::RangeVar* CreatePolicyStmt::mutable_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_table(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.table) return _msg; } -inline void RangeTableSample::set_allocated_relation(::pg_query::Node* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreatePolicyStmt::set_allocated_table(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.table_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.relation) -} -// repeated .pg_query.Node method = 2 [json_name = "method"]; -inline int RangeTableSample::_internal_method_size() const { - return _impl_.method_.size(); + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.table) } -inline int RangeTableSample::method_size() const { - return _internal_method_size(); + +// string cmd_name = 3 [json_name = "cmd_name"]; +inline void CreatePolicyStmt::clear_cmd_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cmd_name_.ClearToEmpty(); } -inline void RangeTableSample::clear_method() { - _impl_.method_.Clear(); +inline const std::string& CreatePolicyStmt::cmd_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.cmd_name) + return _internal_cmd_name(); } -inline ::pg_query::Node* RangeTableSample::mutable_method(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.method) - return _impl_.method_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CreatePolicyStmt::set_cmd_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cmd_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.cmd_name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTableSample::mutable_method() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.method) - return &_impl_.method_; +inline std::string* CreatePolicyStmt::mutable_cmd_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_cmd_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.cmd_name) + return _s; } -inline const ::pg_query::Node& RangeTableSample::_internal_method(int index) const { - return _impl_.method_.Get(index); +inline const std::string& CreatePolicyStmt::_internal_cmd_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cmd_name_.Get(); } -inline const ::pg_query::Node& RangeTableSample::method(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.method) - return _internal_method(index); +inline void CreatePolicyStmt::_internal_set_cmd_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.cmd_name_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeTableSample::_internal_add_method() { - return _impl_.method_.Add(); +inline std::string* CreatePolicyStmt::_internal_mutable_cmd_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.cmd_name_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeTableSample::add_method() { - ::pg_query::Node* _add = _internal_add_method(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.method) - return _add; +inline std::string* CreatePolicyStmt::release_cmd_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.cmd_name) + return _impl_.cmd_name_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTableSample::method() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.method) - return _impl_.method_; +inline void CreatePolicyStmt::set_allocated_cmd_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cmd_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.cmd_name_.IsDefault()) { + _impl_.cmd_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.cmd_name) } -// repeated .pg_query.Node args = 3 [json_name = "args"]; -inline int RangeTableSample::_internal_args_size() const { - return _impl_.args_.size(); +// bool permissive = 4 [json_name = "permissive"]; +inline void CreatePolicyStmt::clear_permissive() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.permissive_ = false; } -inline int RangeTableSample::args_size() const { - return _internal_args_size(); +inline bool CreatePolicyStmt::permissive() const { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.permissive) + return _internal_permissive(); } -inline void RangeTableSample::clear_args() { - _impl_.args_.Clear(); +inline void CreatePolicyStmt::set_permissive(bool value) { + _internal_set_permissive(value); + // @@protoc_insertion_point(field_set:pg_query.CreatePolicyStmt.permissive) } -inline ::pg_query::Node* RangeTableSample::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.args) - return _impl_.args_.Mutable(index); +inline bool CreatePolicyStmt::_internal_permissive() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.permissive_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTableSample::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableSample.args) - return &_impl_.args_; +inline void CreatePolicyStmt::_internal_set_permissive(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.permissive_ = value; } -inline const ::pg_query::Node& RangeTableSample::_internal_args(int index) const { - return _impl_.args_.Get(index); + +// repeated .pg_query.Node roles = 5 [json_name = "roles"]; +inline int CreatePolicyStmt::_internal_roles_size() const { + return _internal_roles().size(); } -inline const ::pg_query::Node& RangeTableSample::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.args) - return _internal_args(index); +inline int CreatePolicyStmt::roles_size() const { + return _internal_roles_size(); } -inline ::pg_query::Node* RangeTableSample::_internal_add_args() { - return _impl_.args_.Add(); +inline void CreatePolicyStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); } -inline ::pg_query::Node* RangeTableSample::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableSample.args) +inline ::pg_query::Node* CreatePolicyStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.roles) + return _internal_mutable_roles()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePolicyStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePolicyStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); +} +inline const ::pg_query::Node& CreatePolicyStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.roles) + return _internal_roles().Get(index); +} +inline ::pg_query::Node* CreatePolicyStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePolicyStmt.roles) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTableSample::args() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTableSample.args) - return _impl_.args_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePolicyStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePolicyStmt.roles) + return _internal_roles(); } - -// .pg_query.Node repeatable = 4 [json_name = "repeatable"]; -inline bool RangeTableSample::_internal_has_repeatable() const { - return this != internal_default_instance() && _impl_.repeatable_ != nullptr; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePolicyStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; } -inline bool RangeTableSample::has_repeatable() const { - return _internal_has_repeatable(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePolicyStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; } -inline void RangeTableSample::clear_repeatable() { - if (GetArenaForAllocation() == nullptr && _impl_.repeatable_ != nullptr) { - delete _impl_.repeatable_; - } - _impl_.repeatable_ = nullptr; + +// .pg_query.Node qual = 6 [json_name = "qual"]; +inline bool CreatePolicyStmt::has_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + return value; } -inline const ::pg_query::Node& RangeTableSample::_internal_repeatable() const { - const ::pg_query::Node* p = _impl_.repeatable_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void CreatePolicyStmt::clear_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& RangeTableSample::repeatable() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.repeatable) - return _internal_repeatable(); +inline const ::pg_query::Node& CreatePolicyStmt::_internal_qual() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& CreatePolicyStmt::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.qual) + return _internal_qual(); } -inline void RangeTableSample::unsafe_arena_set_allocated_repeatable( - ::pg_query::Node* repeatable) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.repeatable_); +inline void CreatePolicyStmt::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.repeatable_ = repeatable; - if (repeatable) { - + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableSample.repeatable) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.qual) } -inline ::pg_query::Node* RangeTableSample::release_repeatable() { - - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; +inline ::pg_query::Node* CreatePolicyStmt::release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeTableSample::unsafe_arena_release_repeatable() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableSample.repeatable) - - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; +inline ::pg_query::Node* CreatePolicyStmt::unsafe_arena_release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.qual) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableSample::_internal_mutable_repeatable() { - - if (_impl_.repeatable_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.repeatable_ = p; +inline ::pg_query::Node* CreatePolicyStmt::_internal_mutable_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.repeatable_; + return _impl_.qual_; } -inline ::pg_query::Node* RangeTableSample::mutable_repeatable() { - ::pg_query::Node* _msg = _internal_mutable_repeatable(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableSample.repeatable) +inline ::pg_query::Node* CreatePolicyStmt::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.qual) return _msg; } -inline void RangeTableSample::set_allocated_repeatable(::pg_query::Node* repeatable) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreatePolicyStmt::set_allocated_qual(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.repeatable_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); } - if (repeatable) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(repeatable); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - repeatable = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, repeatable, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.repeatable_ = repeatable; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableSample.repeatable) -} - -// int32 location = 5 [json_name = "location"]; -inline void RangeTableSample::clear_location() { - _impl_.location_ = 0; -} -inline int32_t RangeTableSample::_internal_location() const { - return _impl_.location_; -} -inline int32_t RangeTableSample::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableSample.location) - return _internal_location(); -} -inline void RangeTableSample::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void RangeTableSample::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableSample.location) -} - -// ------------------------------------------------------------------- - -// RangeTableFunc -// bool lateral = 1 [json_name = "lateral"]; -inline void RangeTableFunc::clear_lateral() { - _impl_.lateral_ = false; -} -inline bool RangeTableFunc::_internal_lateral() const { - return _impl_.lateral_; -} -inline bool RangeTableFunc::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.lateral) - return _internal_lateral(); -} -inline void RangeTableFunc::_internal_set_lateral(bool value) { - - _impl_.lateral_ = value; -} -inline void RangeTableFunc::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.lateral) + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.qual) } -// .pg_query.Node docexpr = 2 [json_name = "docexpr"]; -inline bool RangeTableFunc::_internal_has_docexpr() const { - return this != internal_default_instance() && _impl_.docexpr_ != nullptr; -} -inline bool RangeTableFunc::has_docexpr() const { - return _internal_has_docexpr(); +// .pg_query.Node with_check = 7 [json_name = "with_check"]; +inline bool CreatePolicyStmt::has_with_check() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_check_ != nullptr); + return value; } -inline void RangeTableFunc::clear_docexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.docexpr_ != nullptr) { - delete _impl_.docexpr_; - } - _impl_.docexpr_ = nullptr; +inline void CreatePolicyStmt::clear_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_check_ != nullptr) _impl_.with_check_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& RangeTableFunc::_internal_docexpr() const { - const ::pg_query::Node* p = _impl_.docexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& CreatePolicyStmt::_internal_with_check() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.with_check_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& RangeTableFunc::docexpr() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.docexpr) - return _internal_docexpr(); +inline const ::pg_query::Node& CreatePolicyStmt::with_check() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePolicyStmt.with_check) + return _internal_with_check(); } -inline void RangeTableFunc::unsafe_arena_set_allocated_docexpr( - ::pg_query::Node* docexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.docexpr_); +inline void CreatePolicyStmt::unsafe_arena_set_allocated_with_check(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_check_); } - _impl_.docexpr_ = docexpr; - if (docexpr) { - + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.docexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreatePolicyStmt.with_check) } -inline ::pg_query::Node* RangeTableFunc::release_docexpr() { - - ::pg_query::Node* temp = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; +inline ::pg_query::Node* CreatePolicyStmt::release_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.with_check_; + _impl_.with_check_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_docexpr() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.docexpr) - - ::pg_query::Node* temp = _impl_.docexpr_; - _impl_.docexpr_ = nullptr; +inline ::pg_query::Node* CreatePolicyStmt::unsafe_arena_release_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePolicyStmt.with_check) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.with_check_; + _impl_.with_check_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableFunc::_internal_mutable_docexpr() { - - if (_impl_.docexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.docexpr_ = p; +inline ::pg_query::Node* CreatePolicyStmt::_internal_mutable_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.with_check_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.docexpr_; + return _impl_.with_check_; } -inline ::pg_query::Node* RangeTableFunc::mutable_docexpr() { - ::pg_query::Node* _msg = _internal_mutable_docexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.docexpr) +inline ::pg_query::Node* CreatePolicyStmt::mutable_with_check() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_with_check(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePolicyStmt.with_check) return _msg; } -inline void RangeTableFunc::set_allocated_docexpr(::pg_query::Node* docexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreatePolicyStmt::set_allocated_with_check(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.docexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.with_check_); } - if (docexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(docexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - docexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, docexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.docexpr_ = docexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.docexpr) + + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePolicyStmt.with_check) } -// .pg_query.Node rowexpr = 3 [json_name = "rowexpr"]; -inline bool RangeTableFunc::_internal_has_rowexpr() const { - return this != internal_default_instance() && _impl_.rowexpr_ != nullptr; +// ------------------------------------------------------------------- + +// AlterPolicyStmt + +// string policy_name = 1 [json_name = "policy_name"]; +inline void AlterPolicyStmt::clear_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.policy_name_.ClearToEmpty(); } -inline bool RangeTableFunc::has_rowexpr() const { - return _internal_has_rowexpr(); +inline const std::string& AlterPolicyStmt::policy_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.policy_name) + return _internal_policy_name(); } -inline void RangeTableFunc::clear_rowexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.rowexpr_ != nullptr) { - delete _impl_.rowexpr_; - } - _impl_.rowexpr_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void AlterPolicyStmt::set_policy_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.policy_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterPolicyStmt.policy_name) } -inline const ::pg_query::Node& RangeTableFunc::_internal_rowexpr() const { - const ::pg_query::Node* p = _impl_.rowexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* AlterPolicyStmt::mutable_policy_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_policy_name(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.policy_name) + return _s; } -inline const ::pg_query::Node& RangeTableFunc::rowexpr() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.rowexpr) - return _internal_rowexpr(); +inline const std::string& AlterPolicyStmt::_internal_policy_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.policy_name_.Get(); +} +inline void AlterPolicyStmt::_internal_set_policy_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.policy_name_.Set(value, GetArena()); +} +inline std::string* AlterPolicyStmt::_internal_mutable_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.policy_name_.Mutable( GetArena()); +} +inline std::string* AlterPolicyStmt::release_policy_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.policy_name) + return _impl_.policy_name_.Release(); +} +inline void AlterPolicyStmt::set_allocated_policy_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.policy_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.policy_name_.IsDefault()) { + _impl_.policy_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.policy_name) +} + +// .pg_query.RangeVar table = 2 [json_name = "table"]; +inline bool AlterPolicyStmt::has_table() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.table_ != nullptr); + return value; +} +inline void AlterPolicyStmt::clear_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.table_ != nullptr) _impl_.table_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& AlterPolicyStmt::_internal_table() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.table_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline void RangeTableFunc::unsafe_arena_set_allocated_rowexpr( - ::pg_query::Node* rowexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.rowexpr_); +inline const ::pg_query::RangeVar& AlterPolicyStmt::table() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.table) + return _internal_table(); +} +inline void AlterPolicyStmt::unsafe_arena_set_allocated_table(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.table_); } - _impl_.rowexpr_ = rowexpr; - if (rowexpr) { - + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.rowexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.table) } -inline ::pg_query::Node* RangeTableFunc::release_rowexpr() { - - ::pg_query::Node* temp = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; +inline ::pg_query::RangeVar* AlterPolicyStmt::release_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.table_; + _impl_.table_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeTableFunc::unsafe_arena_release_rowexpr() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.rowexpr) - - ::pg_query::Node* temp = _impl_.rowexpr_; - _impl_.rowexpr_ = nullptr; +inline ::pg_query::RangeVar* AlterPolicyStmt::unsafe_arena_release_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.table) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.table_; + _impl_.table_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableFunc::_internal_mutable_rowexpr() { - - if (_impl_.rowexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.rowexpr_ = p; +inline ::pg_query::RangeVar* AlterPolicyStmt::_internal_mutable_table() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.table_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.rowexpr_; + return _impl_.table_; } -inline ::pg_query::Node* RangeTableFunc::mutable_rowexpr() { - ::pg_query::Node* _msg = _internal_mutable_rowexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.rowexpr) +inline ::pg_query::RangeVar* AlterPolicyStmt::mutable_table() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_table(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.table) return _msg; } -inline void RangeTableFunc::set_allocated_rowexpr(::pg_query::Node* rowexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterPolicyStmt::set_allocated_table(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.rowexpr_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.table_); } - if (rowexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(rowexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - rowexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, rowexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.rowexpr_ = rowexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.rowexpr) -} -// repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"]; -inline int RangeTableFunc::_internal_namespaces_size() const { - return _impl_.namespaces_.size(); -} -inline int RangeTableFunc::namespaces_size() const { - return _internal_namespaces_size(); -} -inline void RangeTableFunc::clear_namespaces() { - _impl_.namespaces_.Clear(); -} -inline ::pg_query::Node* RangeTableFunc::mutable_namespaces(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.namespaces) - return _impl_.namespaces_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTableFunc::mutable_namespaces() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.namespaces) - return &_impl_.namespaces_; -} -inline const ::pg_query::Node& RangeTableFunc::_internal_namespaces(int index) const { - return _impl_.namespaces_.Get(index); -} -inline const ::pg_query::Node& RangeTableFunc::namespaces(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.namespaces) - return _internal_namespaces(index); -} -inline ::pg_query::Node* RangeTableFunc::_internal_add_namespaces() { - return _impl_.namespaces_.Add(); -} -inline ::pg_query::Node* RangeTableFunc::add_namespaces() { - ::pg_query::Node* _add = _internal_add_namespaces(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.namespaces) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTableFunc::namespaces() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.namespaces) - return _impl_.namespaces_; + _impl_.table_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.table) } -// repeated .pg_query.Node columns = 5 [json_name = "columns"]; -inline int RangeTableFunc::_internal_columns_size() const { - return _impl_.columns_.size(); +// repeated .pg_query.Node roles = 3 [json_name = "roles"]; +inline int AlterPolicyStmt::_internal_roles_size() const { + return _internal_roles().size(); } -inline int RangeTableFunc::columns_size() const { - return _internal_columns_size(); +inline int AlterPolicyStmt::roles_size() const { + return _internal_roles_size(); } -inline void RangeTableFunc::clear_columns() { - _impl_.columns_.Clear(); +inline void AlterPolicyStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); } -inline ::pg_query::Node* RangeTableFunc::mutable_columns(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.columns) - return _impl_.columns_.Mutable(index); +inline ::pg_query::Node* AlterPolicyStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.roles) + return _internal_mutable_roles()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTableFunc::mutable_columns() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTableFunc.columns) - return &_impl_.columns_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterPolicyStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPolicyStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); } -inline const ::pg_query::Node& RangeTableFunc::_internal_columns(int index) const { - return _impl_.columns_.Get(index); +inline const ::pg_query::Node& AlterPolicyStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.roles) + return _internal_roles().Get(index); } -inline const ::pg_query::Node& RangeTableFunc::columns(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.columns) - return _internal_columns(index); +inline ::pg_query::Node* AlterPolicyStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterPolicyStmt.roles) + return _add; } -inline ::pg_query::Node* RangeTableFunc::_internal_add_columns() { - return _impl_.columns_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterPolicyStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterPolicyStmt.roles) + return _internal_roles(); } -inline ::pg_query::Node* RangeTableFunc::add_columns() { - ::pg_query::Node* _add = _internal_add_columns(); - // @@protoc_insertion_point(field_add:pg_query.RangeTableFunc.columns) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterPolicyStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTableFunc::columns() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTableFunc.columns) - return _impl_.columns_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterPolicyStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; } -// .pg_query.Alias alias = 6 [json_name = "alias"]; -inline bool RangeTableFunc::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; -} -inline bool RangeTableFunc::has_alias() const { - return _internal_has_alias(); +// .pg_query.Node qual = 4 [json_name = "qual"]; +inline bool AlterPolicyStmt::has_qual() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.qual_ != nullptr); + return value; } -inline void RangeTableFunc::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; +inline void AlterPolicyStmt::clear_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.qual_ != nullptr) _impl_.qual_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Alias& RangeTableFunc::_internal_alias() const { - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline const ::pg_query::Node& AlterPolicyStmt::_internal_qual() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.qual_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeTableFunc::alias() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.alias) - return _internal_alias(); +inline const ::pg_query::Node& AlterPolicyStmt::qual() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.qual) + return _internal_qual(); } -inline void RangeTableFunc::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); +inline void AlterPolicyStmt::unsafe_arena_set_allocated_qual(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.qual_); } - _impl_.alias_ = alias; - if (alias) { - + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFunc.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.qual) } -inline ::pg_query::Alias* RangeTableFunc::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; +inline ::pg_query::Node* AlterPolicyStmt::release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.qual_; + _impl_.qual_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Alias* RangeTableFunc::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFunc.alias) - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; +inline ::pg_query::Node* AlterPolicyStmt::unsafe_arena_release_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.qual) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.qual_; + _impl_.qual_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTableFunc::_internal_mutable_alias() { - - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; +inline ::pg_query::Node* AlterPolicyStmt::_internal_mutable_qual() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.qual_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.alias_; + return _impl_.qual_; } -inline ::pg_query::Alias* RangeTableFunc::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFunc.alias) +inline ::pg_query::Node* AlterPolicyStmt::mutable_qual() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_qual(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.qual) return _msg; } -inline void RangeTableFunc::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterPolicyStmt::set_allocated_qual(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.alias_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.qual_); } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.alias_ = alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFunc.alias) + + _impl_.qual_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.qual) } -// int32 location = 7 [json_name = "location"]; -inline void RangeTableFunc::clear_location() { - _impl_.location_ = 0; +// .pg_query.Node with_check = 5 [json_name = "with_check"]; +inline bool AlterPolicyStmt::has_with_check() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.with_check_ != nullptr); + return value; } -inline int32_t RangeTableFunc::_internal_location() const { - return _impl_.location_; +inline void AlterPolicyStmt::clear_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.with_check_ != nullptr) _impl_.with_check_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline int32_t RangeTableFunc::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFunc.location) - return _internal_location(); +inline const ::pg_query::Node& AlterPolicyStmt::_internal_with_check() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.with_check_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RangeTableFunc::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::pg_query::Node& AlterPolicyStmt::with_check() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPolicyStmt.with_check) + return _internal_with_check(); } -inline void RangeTableFunc::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFunc.location) +inline void AlterPolicyStmt::unsafe_arena_set_allocated_with_check(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.with_check_); + } + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterPolicyStmt.with_check) +} +inline ::pg_query::Node* AlterPolicyStmt::release_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* released = _impl_.with_check_; + _impl_.with_check_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* AlterPolicyStmt::unsafe_arena_release_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterPolicyStmt.with_check) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::Node* temp = _impl_.with_check_; + _impl_.with_check_ = nullptr; + return temp; +} +inline ::pg_query::Node* AlterPolicyStmt::_internal_mutable_with_check() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.with_check_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.with_check_; +} +inline ::pg_query::Node* AlterPolicyStmt::mutable_with_check() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_with_check(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterPolicyStmt.with_check) + return _msg; +} +inline void AlterPolicyStmt::set_allocated_with_check(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.with_check_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.with_check_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPolicyStmt.with_check) } // ------------------------------------------------------------------- -// RangeTableFuncCol +// CreateAmStmt -// string colname = 1 [json_name = "colname"]; -inline void RangeTableFuncCol::clear_colname() { - _impl_.colname_.ClearToEmpty(); +// string amname = 1 [json_name = "amname"]; +inline void CreateAmStmt::clear_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.ClearToEmpty(); } -inline const std::string& RangeTableFuncCol::colname() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colname) - return _internal_colname(); +inline const std::string& CreateAmStmt::amname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.amname) + return _internal_amname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeTableFuncCol::set_colname(ArgT0&& arg0, ArgT... args) { - - _impl_.colname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.colname) +template +inline PROTOBUF_ALWAYS_INLINE void CreateAmStmt::set_amname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateAmStmt.amname) } -inline std::string* RangeTableFuncCol::mutable_colname() { - std::string* _s = _internal_mutable_colname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colname) +inline std::string* CreateAmStmt::mutable_amname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_amname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.amname) return _s; } -inline const std::string& RangeTableFuncCol::_internal_colname() const { - return _impl_.colname_.Get(); +inline const std::string& CreateAmStmt::_internal_amname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.amname_.Get(); } -inline void RangeTableFuncCol::_internal_set_colname(const std::string& value) { - - _impl_.colname_.Set(value, GetArenaForAllocation()); +inline void CreateAmStmt::_internal_set_amname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(value, GetArena()); } -inline std::string* RangeTableFuncCol::_internal_mutable_colname() { - - return _impl_.colname_.Mutable(GetArenaForAllocation()); +inline std::string* CreateAmStmt::_internal_mutable_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.amname_.Mutable( GetArena()); } -inline std::string* RangeTableFuncCol::release_colname() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colname) - return _impl_.colname_.Release(); +inline std::string* CreateAmStmt::release_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateAmStmt.amname) + return _impl_.amname_.Release(); } -inline void RangeTableFuncCol::set_allocated_colname(std::string* colname) { - if (colname != nullptr) { - - } else { - - } - _impl_.colname_.SetAllocated(colname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.colname_.IsDefault()) { - _impl_.colname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colname) +inline void CreateAmStmt::set_allocated_amname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.amname_.IsDefault()) { + _impl_.amname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateAmStmt.amname) } -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool RangeTableFuncCol::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; -} -inline bool RangeTableFuncCol::has_type_name() const { - return _internal_has_type_name(); +// repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"]; +inline int CreateAmStmt::_internal_handler_name_size() const { + return _internal_handler_name().size(); } -inline void RangeTableFuncCol::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; +inline int CreateAmStmt::handler_name_size() const { + return _internal_handler_name_size(); } -inline const ::pg_query::TypeName& RangeTableFuncCol::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline void CreateAmStmt::clear_handler_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.handler_name_.Clear(); } -inline const ::pg_query::TypeName& RangeTableFuncCol::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.type_name) - return _internal_type_name(); +inline ::pg_query::Node* CreateAmStmt::mutable_handler_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.handler_name) + return _internal_mutable_handler_name()->Mutable(index); } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); - } - _impl_.type_name_ = type_name; - if (type_name) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.type_name) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateAmStmt::mutable_handler_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateAmStmt.handler_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_handler_name(); } -inline ::pg_query::TypeName* RangeTableFuncCol::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& CreateAmStmt::handler_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.handler_name) + return _internal_handler_name().Get(index); } -inline ::pg_query::TypeName* RangeTableFuncCol::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; - return temp; +inline ::pg_query::Node* CreateAmStmt::add_handler_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_handler_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateAmStmt.handler_name) + return _add; } -inline ::pg_query::TypeName* RangeTableFuncCol::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; - } - return _impl_.type_name_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateAmStmt::handler_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateAmStmt.handler_name) + return _internal_handler_name(); } -inline ::pg_query::TypeName* RangeTableFuncCol::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.type_name) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateAmStmt::_internal_handler_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.handler_name_; } -inline void RangeTableFuncCol::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.type_name_; - } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); - if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); - } - - } else { - - } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.type_name) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateAmStmt::_internal_mutable_handler_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.handler_name_; } -// bool for_ordinality = 3 [json_name = "for_ordinality"]; -inline void RangeTableFuncCol::clear_for_ordinality() { - _impl_.for_ordinality_ = false; +// string amtype = 3 [json_name = "amtype"]; +inline void CreateAmStmt::clear_amtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amtype_.ClearToEmpty(); } -inline bool RangeTableFuncCol::_internal_for_ordinality() const { - return _impl_.for_ordinality_; +inline const std::string& CreateAmStmt::amtype() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateAmStmt.amtype) + return _internal_amtype(); } -inline bool RangeTableFuncCol::for_ordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.for_ordinality) - return _internal_for_ordinality(); +template +inline PROTOBUF_ALWAYS_INLINE void CreateAmStmt::set_amtype(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amtype_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateAmStmt.amtype) } -inline void RangeTableFuncCol::_internal_set_for_ordinality(bool value) { - - _impl_.for_ordinality_ = value; +inline std::string* CreateAmStmt::mutable_amtype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_amtype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateAmStmt.amtype) + return _s; } -inline void RangeTableFuncCol::set_for_ordinality(bool value) { - _internal_set_for_ordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.for_ordinality) +inline const std::string& CreateAmStmt::_internal_amtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.amtype_.Get(); +} +inline void CreateAmStmt::_internal_set_amtype(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amtype_.Set(value, GetArena()); +} +inline std::string* CreateAmStmt::_internal_mutable_amtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.amtype_.Mutable( GetArena()); +} +inline std::string* CreateAmStmt::release_amtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateAmStmt.amtype) + return _impl_.amtype_.Release(); +} +inline void CreateAmStmt::set_allocated_amtype(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amtype_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.amtype_.IsDefault()) { + _impl_.amtype_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateAmStmt.amtype) } -// bool is_not_null = 4 [json_name = "is_not_null"]; -inline void RangeTableFuncCol::clear_is_not_null() { - _impl_.is_not_null_ = false; +// ------------------------------------------------------------------- + +// CreateTrigStmt + +// bool replace = 1 [json_name = "replace"]; +inline void CreateTrigStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline bool RangeTableFuncCol::_internal_is_not_null() const { - return _impl_.is_not_null_; +inline bool CreateTrigStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.replace) + return _internal_replace(); } -inline bool RangeTableFuncCol::is_not_null() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.is_not_null) - return _internal_is_not_null(); +inline void CreateTrigStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.replace) } -inline void RangeTableFuncCol::_internal_set_is_not_null(bool value) { - - _impl_.is_not_null_ = value; +inline bool CreateTrigStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void RangeTableFuncCol::set_is_not_null(bool value) { - _internal_set_is_not_null(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.is_not_null) +inline void CreateTrigStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// .pg_query.Node colexpr = 5 [json_name = "colexpr"]; -inline bool RangeTableFuncCol::_internal_has_colexpr() const { - return this != internal_default_instance() && _impl_.colexpr_ != nullptr; +// bool isconstraint = 2 [json_name = "isconstraint"]; +inline void CreateTrigStmt::clear_isconstraint() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.isconstraint_ = false; } -inline bool RangeTableFuncCol::has_colexpr() const { - return _internal_has_colexpr(); +inline bool CreateTrigStmt::isconstraint() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.isconstraint) + return _internal_isconstraint(); } -inline void RangeTableFuncCol::clear_colexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.colexpr_ != nullptr) { - delete _impl_.colexpr_; - } - _impl_.colexpr_ = nullptr; +inline void CreateTrigStmt::set_isconstraint(bool value) { + _internal_set_isconstraint(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.isconstraint) } -inline const ::pg_query::Node& RangeTableFuncCol::_internal_colexpr() const { - const ::pg_query::Node* p = _impl_.colexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline bool CreateTrigStmt::_internal_isconstraint() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isconstraint_; } -inline const ::pg_query::Node& RangeTableFuncCol::colexpr() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.colexpr) - return _internal_colexpr(); +inline void CreateTrigStmt::_internal_set_isconstraint(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.isconstraint_ = value; } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_colexpr( - ::pg_query::Node* colexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.colexpr_); - } - _impl_.colexpr_ = colexpr; - if (colexpr) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.colexpr) + +// string trigname = 3 [json_name = "trigname"]; +inline void CreateTrigStmt::clear_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.ClearToEmpty(); } -inline ::pg_query::Node* RangeTableFuncCol::release_colexpr() { - - ::pg_query::Node* temp = _impl_.colexpr_; - _impl_.colexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const std::string& CreateTrigStmt::trigname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.trigname) + return _internal_trigname(); } -inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_colexpr() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.colexpr) - - ::pg_query::Node* temp = _impl_.colexpr_; - _impl_.colexpr_ = nullptr; - return temp; +template +inline PROTOBUF_ALWAYS_INLINE void CreateTrigStmt::set_trigname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.trigname) } -inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_colexpr() { - - if (_impl_.colexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.colexpr_ = p; - } - return _impl_.colexpr_; +inline std::string* CreateTrigStmt::mutable_trigname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_trigname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.trigname) + return _s; } -inline ::pg_query::Node* RangeTableFuncCol::mutable_colexpr() { - ::pg_query::Node* _msg = _internal_mutable_colexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.colexpr) - return _msg; +inline const std::string& CreateTrigStmt::_internal_trigname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.trigname_.Get(); } -inline void RangeTableFuncCol::set_allocated_colexpr(::pg_query::Node* colexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.colexpr_; - } - if (colexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(colexpr); - if (message_arena != submessage_arena) { - colexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, colexpr, submessage_arena); - } - - } else { - - } - _impl_.colexpr_ = colexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.colexpr) +inline void CreateTrigStmt::_internal_set_trigname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(value, GetArena()); } - -// .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"]; -inline bool RangeTableFuncCol::_internal_has_coldefexpr() const { - return this != internal_default_instance() && _impl_.coldefexpr_ != nullptr; +inline std::string* CreateTrigStmt::_internal_mutable_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.trigname_.Mutable( GetArena()); } -inline bool RangeTableFuncCol::has_coldefexpr() const { - return _internal_has_coldefexpr(); +inline std::string* CreateTrigStmt::release_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.trigname) + return _impl_.trigname_.Release(); } -inline void RangeTableFuncCol::clear_coldefexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.coldefexpr_ != nullptr) { - delete _impl_.coldefexpr_; - } - _impl_.coldefexpr_ = nullptr; +inline void CreateTrigStmt::set_allocated_trigname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.trigname_.IsDefault()) { + _impl_.trigname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.trigname) } -inline const ::pg_query::Node& RangeTableFuncCol::_internal_coldefexpr() const { - const ::pg_query::Node* p = _impl_.coldefexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + +// .pg_query.RangeVar relation = 4 [json_name = "relation"]; +inline bool CreateTrigStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const ::pg_query::Node& RangeTableFuncCol::coldefexpr() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.coldefexpr) - return _internal_coldefexpr(); +inline void CreateTrigStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& CreateTrigStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& CreateTrigStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.relation) + return _internal_relation(); } -inline void RangeTableFuncCol::unsafe_arena_set_allocated_coldefexpr( - ::pg_query::Node* coldefexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.coldefexpr_); +inline void CreateTrigStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.coldefexpr_ = coldefexpr; - if (coldefexpr) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.relation) } -inline ::pg_query::Node* RangeTableFuncCol::release_coldefexpr() { - - ::pg_query::Node* temp = _impl_.coldefexpr_; - _impl_.coldefexpr_ = nullptr; +inline ::pg_query::RangeVar* CreateTrigStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* RangeTableFuncCol::unsafe_arena_release_coldefexpr() { - // @@protoc_insertion_point(field_release:pg_query.RangeTableFuncCol.coldefexpr) - - ::pg_query::Node* temp = _impl_.coldefexpr_; - _impl_.coldefexpr_ = nullptr; +inline ::pg_query::RangeVar* CreateTrigStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Node* RangeTableFuncCol::_internal_mutable_coldefexpr() { - - if (_impl_.coldefexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.coldefexpr_ = p; +inline ::pg_query::RangeVar* CreateTrigStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.coldefexpr_; + return _impl_.relation_; } -inline ::pg_query::Node* RangeTableFuncCol::mutable_coldefexpr() { - ::pg_query::Node* _msg = _internal_mutable_coldefexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTableFuncCol.coldefexpr) +inline ::pg_query::RangeVar* CreateTrigStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.relation) return _msg; } -inline void RangeTableFuncCol::set_allocated_coldefexpr(::pg_query::Node* coldefexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateTrigStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.coldefexpr_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (coldefexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(coldefexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - coldefexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, coldefexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.coldefexpr_ = coldefexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTableFuncCol.coldefexpr) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.relation) } -// int32 location = 7 [json_name = "location"]; -inline void RangeTableFuncCol::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node funcname = 5 [json_name = "funcname"]; +inline int CreateTrigStmt::_internal_funcname_size() const { + return _internal_funcname().size(); } -inline int32_t RangeTableFuncCol::_internal_location() const { - return _impl_.location_; +inline int CreateTrigStmt::funcname_size() const { + return _internal_funcname_size(); } -inline int32_t RangeTableFuncCol::location() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTableFuncCol.location) - return _internal_location(); +inline void CreateTrigStmt::clear_funcname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcname_.Clear(); } -inline void RangeTableFuncCol::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* CreateTrigStmt::mutable_funcname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.funcname) + return _internal_mutable_funcname()->Mutable(index); } -inline void RangeTableFuncCol::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTableFuncCol.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateTrigStmt::mutable_funcname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.funcname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funcname(); } - -// ------------------------------------------------------------------- - -// TypeName - -// repeated .pg_query.Node names = 1 [json_name = "names"]; -inline int TypeName::_internal_names_size() const { - return _impl_.names_.size(); +inline const ::pg_query::Node& CreateTrigStmt::funcname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.funcname) + return _internal_funcname().Get(index); } -inline int TypeName::names_size() const { - return _internal_names_size(); +inline ::pg_query::Node* CreateTrigStmt::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.funcname) + return _add; } -inline void TypeName::clear_names() { - _impl_.names_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateTrigStmt::funcname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.funcname) + return _internal_funcname(); } -inline ::pg_query::Node* TypeName::mutable_names(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.names) - return _impl_.names_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateTrigStmt::_internal_funcname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcname_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TypeName::mutable_names() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.names) - return &_impl_.names_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateTrigStmt::_internal_mutable_funcname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcname_; +} + +// repeated .pg_query.Node args = 6 [json_name = "args"]; +inline int CreateTrigStmt::_internal_args_size() const { + return _internal_args().size(); +} +inline int CreateTrigStmt::args_size() const { + return _internal_args_size(); } -inline const ::pg_query::Node& TypeName::_internal_names(int index) const { - return _impl_.names_.Get(index); +inline void CreateTrigStmt::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline const ::pg_query::Node& TypeName::names(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.names) - return _internal_names(index); +inline ::pg_query::Node* CreateTrigStmt::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.args) + return _internal_mutable_args()->Mutable(index); } -inline ::pg_query::Node* TypeName::_internal_add_names() { - return _impl_.names_.Add(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateTrigStmt::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline ::pg_query::Node* TypeName::add_names() { - ::pg_query::Node* _add = _internal_add_names(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.names) +inline const ::pg_query::Node& CreateTrigStmt::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.args) + return _internal_args().Get(index); +} +inline ::pg_query::Node* CreateTrigStmt::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TypeName::names() const { - // @@protoc_insertion_point(field_list:pg_query.TypeName.names) - return _impl_.names_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateTrigStmt::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.args) + return _internal_args(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateTrigStmt::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateTrigStmt::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// uint32 type_oid = 2 [json_name = "typeOid"]; -inline void TypeName::clear_type_oid() { - _impl_.type_oid_ = 0u; +// bool row = 7 [json_name = "row"]; +inline void CreateTrigStmt::clear_row() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.row_ = false; } -inline uint32_t TypeName::_internal_type_oid() const { - return _impl_.type_oid_; +inline bool CreateTrigStmt::row() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.row) + return _internal_row(); } -inline uint32_t TypeName::type_oid() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.type_oid) - return _internal_type_oid(); +inline void CreateTrigStmt::set_row(bool value) { + _internal_set_row(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.row) } -inline void TypeName::_internal_set_type_oid(uint32_t value) { - - _impl_.type_oid_ = value; +inline bool CreateTrigStmt::_internal_row() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.row_; } -inline void TypeName::set_type_oid(uint32_t value) { - _internal_set_type_oid(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.type_oid) +inline void CreateTrigStmt::_internal_set_row(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.row_ = value; } -// bool setof = 3 [json_name = "setof"]; -inline void TypeName::clear_setof() { - _impl_.setof_ = false; +// int32 timing = 8 [json_name = "timing"]; +inline void CreateTrigStmt::clear_timing() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.timing_ = 0; } -inline bool TypeName::_internal_setof() const { - return _impl_.setof_; +inline ::int32_t CreateTrigStmt::timing() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.timing) + return _internal_timing(); } -inline bool TypeName::setof() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.setof) - return _internal_setof(); +inline void CreateTrigStmt::set_timing(::int32_t value) { + _internal_set_timing(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.timing) } -inline void TypeName::_internal_set_setof(bool value) { - - _impl_.setof_ = value; +inline ::int32_t CreateTrigStmt::_internal_timing() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.timing_; } -inline void TypeName::set_setof(bool value) { - _internal_set_setof(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.setof) +inline void CreateTrigStmt::_internal_set_timing(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.timing_ = value; } -// bool pct_type = 4 [json_name = "pct_type"]; -inline void TypeName::clear_pct_type() { - _impl_.pct_type_ = false; +// int32 events = 9 [json_name = "events"]; +inline void CreateTrigStmt::clear_events() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.events_ = 0; } -inline bool TypeName::_internal_pct_type() const { - return _impl_.pct_type_; +inline ::int32_t CreateTrigStmt::events() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.events) + return _internal_events(); } -inline bool TypeName::pct_type() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.pct_type) - return _internal_pct_type(); +inline void CreateTrigStmt::set_events(::int32_t value) { + _internal_set_events(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.events) } -inline void TypeName::_internal_set_pct_type(bool value) { - - _impl_.pct_type_ = value; +inline ::int32_t CreateTrigStmt::_internal_events() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.events_; } -inline void TypeName::set_pct_type(bool value) { - _internal_set_pct_type(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.pct_type) +inline void CreateTrigStmt::_internal_set_events(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.events_ = value; } -// repeated .pg_query.Node typmods = 5 [json_name = "typmods"]; -inline int TypeName::_internal_typmods_size() const { - return _impl_.typmods_.size(); +// repeated .pg_query.Node columns = 10 [json_name = "columns"]; +inline int CreateTrigStmt::_internal_columns_size() const { + return _internal_columns().size(); } -inline int TypeName::typmods_size() const { - return _internal_typmods_size(); +inline int CreateTrigStmt::columns_size() const { + return _internal_columns_size(); } -inline void TypeName::clear_typmods() { - _impl_.typmods_.Clear(); +inline void CreateTrigStmt::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); } -inline ::pg_query::Node* TypeName::mutable_typmods(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.typmods) - return _impl_.typmods_.Mutable(index); +inline ::pg_query::Node* CreateTrigStmt::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.columns) + return _internal_mutable_columns()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TypeName::mutable_typmods() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.typmods) - return &_impl_.typmods_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateTrigStmt::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); } -inline const ::pg_query::Node& TypeName::_internal_typmods(int index) const { - return _impl_.typmods_.Get(index); +inline const ::pg_query::Node& CreateTrigStmt::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.columns) + return _internal_columns().Get(index); } -inline const ::pg_query::Node& TypeName::typmods(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.typmods) - return _internal_typmods(index); +inline ::pg_query::Node* CreateTrigStmt::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.columns) + return _add; } -inline ::pg_query::Node* TypeName::_internal_add_typmods() { - return _impl_.typmods_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateTrigStmt::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.columns) + return _internal_columns(); } -inline ::pg_query::Node* TypeName::add_typmods() { - ::pg_query::Node* _add = _internal_add_typmods(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.typmods) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateTrigStmt::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TypeName::typmods() const { - // @@protoc_insertion_point(field_list:pg_query.TypeName.typmods) - return _impl_.typmods_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateTrigStmt::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; } -// int32 typemod = 6 [json_name = "typemod"]; -inline void TypeName::clear_typemod() { - _impl_.typemod_ = 0; +// .pg_query.Node when_clause = 11 [json_name = "whenClause"]; +inline bool CreateTrigStmt::has_when_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.when_clause_ != nullptr); + return value; } -inline int32_t TypeName::_internal_typemod() const { - return _impl_.typemod_; +inline void CreateTrigStmt::clear_when_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.when_clause_ != nullptr) _impl_.when_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline int32_t TypeName::typemod() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.typemod) - return _internal_typemod(); +inline const ::pg_query::Node& CreateTrigStmt::_internal_when_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.when_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void TypeName::_internal_set_typemod(int32_t value) { - - _impl_.typemod_ = value; +inline const ::pg_query::Node& CreateTrigStmt::when_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.when_clause) + return _internal_when_clause(); } -inline void TypeName::set_typemod(int32_t value) { - _internal_set_typemod(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.typemod) +inline void CreateTrigStmt::unsafe_arena_set_allocated_when_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.when_clause_); + } + _impl_.when_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.when_clause) } +inline ::pg_query::Node* CreateTrigStmt::release_when_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"]; -inline int TypeName::_internal_array_bounds_size() const { - return _impl_.array_bounds_.size(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.when_clause_; + _impl_.when_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int TypeName::array_bounds_size() const { - return _internal_array_bounds_size(); +inline ::pg_query::Node* CreateTrigStmt::unsafe_arena_release_when_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.when_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.when_clause_; + _impl_.when_clause_ = nullptr; + return temp; } -inline void TypeName::clear_array_bounds() { - _impl_.array_bounds_.Clear(); +inline ::pg_query::Node* CreateTrigStmt::_internal_mutable_when_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.when_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.when_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.when_clause_; } -inline ::pg_query::Node* TypeName::mutable_array_bounds(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TypeName.array_bounds) - return _impl_.array_bounds_.Mutable(index); +inline ::pg_query::Node* CreateTrigStmt::mutable_when_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_when_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.when_clause) + return _msg; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TypeName::mutable_array_bounds() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TypeName.array_bounds) - return &_impl_.array_bounds_; +inline void CreateTrigStmt::set_allocated_when_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.when_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.when_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.when_clause) } -inline const ::pg_query::Node& TypeName::_internal_array_bounds(int index) const { - return _impl_.array_bounds_.Get(index); + +// repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"]; +inline int CreateTrigStmt::_internal_transition_rels_size() const { + return _internal_transition_rels().size(); } -inline const ::pg_query::Node& TypeName::array_bounds(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.array_bounds) - return _internal_array_bounds(index); +inline int CreateTrigStmt::transition_rels_size() const { + return _internal_transition_rels_size(); } -inline ::pg_query::Node* TypeName::_internal_add_array_bounds() { - return _impl_.array_bounds_.Add(); +inline void CreateTrigStmt::clear_transition_rels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transition_rels_.Clear(); } -inline ::pg_query::Node* TypeName::add_array_bounds() { - ::pg_query::Node* _add = _internal_add_array_bounds(); - // @@protoc_insertion_point(field_add:pg_query.TypeName.array_bounds) - return _add; +inline ::pg_query::Node* CreateTrigStmt::mutable_transition_rels(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.transition_rels) + return _internal_mutable_transition_rels()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TypeName::array_bounds() const { - // @@protoc_insertion_point(field_list:pg_query.TypeName.array_bounds) - return _impl_.array_bounds_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateTrigStmt::mutable_transition_rels() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateTrigStmt.transition_rels) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_transition_rels(); } - -// int32 location = 8 [json_name = "location"]; -inline void TypeName::clear_location() { - _impl_.location_ = 0; +inline const ::pg_query::Node& CreateTrigStmt::transition_rels(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.transition_rels) + return _internal_transition_rels().Get(index); } -inline int32_t TypeName::_internal_location() const { - return _impl_.location_; +inline ::pg_query::Node* CreateTrigStmt::add_transition_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_transition_rels()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateTrigStmt.transition_rels) + return _add; } -inline int32_t TypeName::location() const { - // @@protoc_insertion_point(field_get:pg_query.TypeName.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateTrigStmt::transition_rels() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateTrigStmt.transition_rels) + return _internal_transition_rels(); } -inline void TypeName::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateTrigStmt::_internal_transition_rels() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.transition_rels_; } -inline void TypeName::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.TypeName.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateTrigStmt::_internal_mutable_transition_rels() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.transition_rels_; } -// ------------------------------------------------------------------- - -// ColumnDef - -// string colname = 1 [json_name = "colname"]; -inline void ColumnDef::clear_colname() { - _impl_.colname_.ClearToEmpty(); +// bool deferrable = 13 [json_name = "deferrable"]; +inline void CreateTrigStmt::clear_deferrable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.deferrable_ = false; } -inline const std::string& ColumnDef::colname() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.colname) - return _internal_colname(); +inline bool CreateTrigStmt::deferrable() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.deferrable) + return _internal_deferrable(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ColumnDef::set_colname(ArgT0&& arg0, ArgT... args) { - - _impl_.colname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.colname) +inline void CreateTrigStmt::set_deferrable(bool value) { + _internal_set_deferrable(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.deferrable) } -inline std::string* ColumnDef::mutable_colname() { - std::string* _s = _internal_mutable_colname(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.colname) - return _s; +inline bool CreateTrigStmt::_internal_deferrable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.deferrable_; } -inline const std::string& ColumnDef::_internal_colname() const { - return _impl_.colname_.Get(); +inline void CreateTrigStmt::_internal_set_deferrable(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.deferrable_ = value; } -inline void ColumnDef::_internal_set_colname(const std::string& value) { - - _impl_.colname_.Set(value, GetArenaForAllocation()); + +// bool initdeferred = 14 [json_name = "initdeferred"]; +inline void CreateTrigStmt::clear_initdeferred() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.initdeferred_ = false; } -inline std::string* ColumnDef::_internal_mutable_colname() { - - return _impl_.colname_.Mutable(GetArenaForAllocation()); +inline bool CreateTrigStmt::initdeferred() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.initdeferred) + return _internal_initdeferred(); } -inline std::string* ColumnDef::release_colname() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.colname) - return _impl_.colname_.Release(); +inline void CreateTrigStmt::set_initdeferred(bool value) { + _internal_set_initdeferred(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTrigStmt.initdeferred) } -inline void ColumnDef::set_allocated_colname(std::string* colname) { - if (colname != nullptr) { - - } else { - - } - _impl_.colname_.SetAllocated(colname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.colname_.IsDefault()) { - _impl_.colname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.colname) +inline bool CreateTrigStmt::_internal_initdeferred() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.initdeferred_; } - -// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; -inline bool ColumnDef::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; +inline void CreateTrigStmt::_internal_set_initdeferred(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.initdeferred_ = value; } -inline bool ColumnDef::has_type_name() const { - return _internal_has_type_name(); + +// .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"]; +inline bool CreateTrigStmt::has_constrrel() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.constrrel_ != nullptr); + return value; } -inline void ColumnDef::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; +inline void CreateTrigStmt::clear_constrrel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.constrrel_ != nullptr) _impl_.constrrel_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::TypeName& ColumnDef::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::RangeVar& CreateTrigStmt::_internal_constrrel() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.constrrel_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::TypeName& ColumnDef::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.type_name) - return _internal_type_name(); +inline const ::pg_query::RangeVar& CreateTrigStmt::constrrel() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTrigStmt.constrrel) + return _internal_constrrel(); } -inline void ColumnDef::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); +inline void CreateTrigStmt::unsafe_arena_set_allocated_constrrel(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.constrrel_); } - _impl_.type_name_ = type_name; - if (type_name) { - + _impl_.constrrel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTrigStmt.constrrel) } -inline ::pg_query::TypeName* ColumnDef::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::RangeVar* CreateTrigStmt::release_constrrel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RangeVar* released = _impl_.constrrel_; + _impl_.constrrel_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* ColumnDef::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::RangeVar* CreateTrigStmt::unsafe_arena_release_constrrel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTrigStmt.constrrel) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RangeVar* temp = _impl_.constrrel_; + _impl_.constrrel_ = nullptr; return temp; } -inline ::pg_query::TypeName* ColumnDef::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; +inline ::pg_query::RangeVar* CreateTrigStmt::_internal_mutable_constrrel() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.constrrel_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.constrrel_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.type_name_; + return _impl_.constrrel_; } -inline ::pg_query::TypeName* ColumnDef::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.type_name) +inline ::pg_query::RangeVar* CreateTrigStmt::mutable_constrrel() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_constrrel(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTrigStmt.constrrel) return _msg; } -inline void ColumnDef::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateTrigStmt::set_allocated_constrrel(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.type_name_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.constrrel_); } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.type_name) + + _impl_.constrrel_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTrigStmt.constrrel) } -// string compression = 3 [json_name = "compression"]; -inline void ColumnDef::clear_compression() { - _impl_.compression_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// CreateEventTrigStmt + +// string trigname = 1 [json_name = "trigname"]; +inline void CreateEventTrigStmt::clear_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.ClearToEmpty(); } -inline const std::string& ColumnDef::compression() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.compression) - return _internal_compression(); +inline const std::string& CreateEventTrigStmt::trigname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.trigname) + return _internal_trigname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ColumnDef::set_compression(ArgT0&& arg0, ArgT... args) { - - _impl_.compression_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.compression) +template +inline PROTOBUF_ALWAYS_INLINE void CreateEventTrigStmt::set_trigname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateEventTrigStmt.trigname) } -inline std::string* ColumnDef::mutable_compression() { - std::string* _s = _internal_mutable_compression(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.compression) +inline std::string* CreateEventTrigStmt::mutable_trigname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_trigname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.trigname) return _s; } -inline const std::string& ColumnDef::_internal_compression() const { - return _impl_.compression_.Get(); +inline const std::string& CreateEventTrigStmt::_internal_trigname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.trigname_.Get(); } -inline void ColumnDef::_internal_set_compression(const std::string& value) { - - _impl_.compression_.Set(value, GetArenaForAllocation()); +inline void CreateEventTrigStmt::_internal_set_trigname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(value, GetArena()); } -inline std::string* ColumnDef::_internal_mutable_compression() { - - return _impl_.compression_.Mutable(GetArenaForAllocation()); +inline std::string* CreateEventTrigStmt::_internal_mutable_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.trigname_.Mutable( GetArena()); } -inline std::string* ColumnDef::release_compression() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.compression) - return _impl_.compression_.Release(); +inline std::string* CreateEventTrigStmt::release_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateEventTrigStmt.trigname) + return _impl_.trigname_.Release(); } -inline void ColumnDef::set_allocated_compression(std::string* compression) { - if (compression != nullptr) { - - } else { - - } - _impl_.compression_.SetAllocated(compression, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.compression_.IsDefault()) { - _impl_.compression_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.compression) +inline void CreateEventTrigStmt::set_allocated_trigname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.trigname_.IsDefault()) { + _impl_.trigname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateEventTrigStmt.trigname) } -// int32 inhcount = 4 [json_name = "inhcount"]; -inline void ColumnDef::clear_inhcount() { - _impl_.inhcount_ = 0; -} -inline int32_t ColumnDef::_internal_inhcount() const { - return _impl_.inhcount_; +// string eventname = 2 [json_name = "eventname"]; +inline void CreateEventTrigStmt::clear_eventname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.eventname_.ClearToEmpty(); } -inline int32_t ColumnDef::inhcount() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.inhcount) - return _internal_inhcount(); +inline const std::string& CreateEventTrigStmt::eventname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.eventname) + return _internal_eventname(); } -inline void ColumnDef::_internal_set_inhcount(int32_t value) { - - _impl_.inhcount_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void CreateEventTrigStmt::set_eventname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.eventname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateEventTrigStmt.eventname) } -inline void ColumnDef::set_inhcount(int32_t value) { - _internal_set_inhcount(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.inhcount) +inline std::string* CreateEventTrigStmt::mutable_eventname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_eventname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.eventname) + return _s; } - -// bool is_local = 5 [json_name = "is_local"]; -inline void ColumnDef::clear_is_local() { - _impl_.is_local_ = false; +inline const std::string& CreateEventTrigStmt::_internal_eventname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.eventname_.Get(); } -inline bool ColumnDef::_internal_is_local() const { - return _impl_.is_local_; +inline void CreateEventTrigStmt::_internal_set_eventname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.eventname_.Set(value, GetArena()); } -inline bool ColumnDef::is_local() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_local) - return _internal_is_local(); +inline std::string* CreateEventTrigStmt::_internal_mutable_eventname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.eventname_.Mutable( GetArena()); } -inline void ColumnDef::_internal_set_is_local(bool value) { - - _impl_.is_local_ = value; +inline std::string* CreateEventTrigStmt::release_eventname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateEventTrigStmt.eventname) + return _impl_.eventname_.Release(); } -inline void ColumnDef::set_is_local(bool value) { - _internal_set_is_local(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_local) +inline void CreateEventTrigStmt::set_allocated_eventname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.eventname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.eventname_.IsDefault()) { + _impl_.eventname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateEventTrigStmt.eventname) } -// bool is_not_null = 6 [json_name = "is_not_null"]; -inline void ColumnDef::clear_is_not_null() { - _impl_.is_not_null_ = false; +// repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"]; +inline int CreateEventTrigStmt::_internal_whenclause_size() const { + return _internal_whenclause().size(); } -inline bool ColumnDef::_internal_is_not_null() const { - return _impl_.is_not_null_; +inline int CreateEventTrigStmt::whenclause_size() const { + return _internal_whenclause_size(); } -inline bool ColumnDef::is_not_null() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_not_null) - return _internal_is_not_null(); +inline void CreateEventTrigStmt::clear_whenclause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.whenclause_.Clear(); } -inline void ColumnDef::_internal_set_is_not_null(bool value) { - - _impl_.is_not_null_ = value; +inline ::pg_query::Node* CreateEventTrigStmt::mutable_whenclause(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.whenclause) + return _internal_mutable_whenclause()->Mutable(index); } -inline void ColumnDef::set_is_not_null(bool value) { - _internal_set_is_not_null(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_not_null) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateEventTrigStmt::mutable_whenclause() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEventTrigStmt.whenclause) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_whenclause(); } - -// bool is_from_type = 7 [json_name = "is_from_type"]; -inline void ColumnDef::clear_is_from_type() { - _impl_.is_from_type_ = false; +inline const ::pg_query::Node& CreateEventTrigStmt::whenclause(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.whenclause) + return _internal_whenclause().Get(index); } -inline bool ColumnDef::_internal_is_from_type() const { - return _impl_.is_from_type_; +inline ::pg_query::Node* CreateEventTrigStmt::add_whenclause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_whenclause()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateEventTrigStmt.whenclause) + return _add; } -inline bool ColumnDef::is_from_type() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.is_from_type) - return _internal_is_from_type(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateEventTrigStmt::whenclause() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateEventTrigStmt.whenclause) + return _internal_whenclause(); } -inline void ColumnDef::_internal_set_is_from_type(bool value) { - - _impl_.is_from_type_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateEventTrigStmt::_internal_whenclause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.whenclause_; } -inline void ColumnDef::set_is_from_type(bool value) { - _internal_set_is_from_type(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.is_from_type) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateEventTrigStmt::_internal_mutable_whenclause() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.whenclause_; } -// string storage = 8 [json_name = "storage"]; -inline void ColumnDef::clear_storage() { - _impl_.storage_.ClearToEmpty(); +// repeated .pg_query.Node funcname = 4 [json_name = "funcname"]; +inline int CreateEventTrigStmt::_internal_funcname_size() const { + return _internal_funcname().size(); } -inline const std::string& ColumnDef::storage() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.storage) - return _internal_storage(); +inline int CreateEventTrigStmt::funcname_size() const { + return _internal_funcname_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ColumnDef::set_storage(ArgT0&& arg0, ArgT... args) { - - _impl_.storage_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.storage) +inline void CreateEventTrigStmt::clear_funcname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcname_.Clear(); } -inline std::string* ColumnDef::mutable_storage() { - std::string* _s = _internal_mutable_storage(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.storage) - return _s; +inline ::pg_query::Node* CreateEventTrigStmt::mutable_funcname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateEventTrigStmt.funcname) + return _internal_mutable_funcname()->Mutable(index); } -inline const std::string& ColumnDef::_internal_storage() const { - return _impl_.storage_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateEventTrigStmt::mutable_funcname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEventTrigStmt.funcname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funcname(); } -inline void ColumnDef::_internal_set_storage(const std::string& value) { - - _impl_.storage_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateEventTrigStmt::funcname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEventTrigStmt.funcname) + return _internal_funcname().Get(index); } -inline std::string* ColumnDef::_internal_mutable_storage() { - - return _impl_.storage_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateEventTrigStmt::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateEventTrigStmt.funcname) + return _add; } -inline std::string* ColumnDef::release_storage() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.storage) - return _impl_.storage_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateEventTrigStmt::funcname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateEventTrigStmt.funcname) + return _internal_funcname(); } -inline void ColumnDef::set_allocated_storage(std::string* storage) { - if (storage != nullptr) { - - } else { - - } - _impl_.storage_.SetAllocated(storage, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.storage_.IsDefault()) { - _impl_.storage_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.storage) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateEventTrigStmt::_internal_funcname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcname_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateEventTrigStmt::_internal_mutable_funcname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcname_; } -// .pg_query.Node raw_default = 9 [json_name = "raw_default"]; -inline bool ColumnDef::_internal_has_raw_default() const { - return this != internal_default_instance() && _impl_.raw_default_ != nullptr; +// ------------------------------------------------------------------- + +// AlterEventTrigStmt + +// string trigname = 1 [json_name = "trigname"]; +inline void AlterEventTrigStmt::clear_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.ClearToEmpty(); } -inline bool ColumnDef::has_raw_default() const { - return _internal_has_raw_default(); +inline const std::string& AlterEventTrigStmt::trigname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEventTrigStmt.trigname) + return _internal_trigname(); } -inline void ColumnDef::clear_raw_default() { - if (GetArenaForAllocation() == nullptr && _impl_.raw_default_ != nullptr) { - delete _impl_.raw_default_; - } - _impl_.raw_default_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void AlterEventTrigStmt::set_trigname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterEventTrigStmt.trigname) } -inline const ::pg_query::Node& ColumnDef::_internal_raw_default() const { - const ::pg_query::Node* p = _impl_.raw_default_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* AlterEventTrigStmt::mutable_trigname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_trigname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterEventTrigStmt.trigname) + return _s; } -inline const ::pg_query::Node& ColumnDef::raw_default() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.raw_default) - return _internal_raw_default(); +inline const std::string& AlterEventTrigStmt::_internal_trigname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.trigname_.Get(); } -inline void ColumnDef::unsafe_arena_set_allocated_raw_default( - ::pg_query::Node* raw_default) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.raw_default_); - } - _impl_.raw_default_ = raw_default; - if (raw_default) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.raw_default) +inline void AlterEventTrigStmt::_internal_set_trigname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.trigname_.Set(value, GetArena()); } -inline ::pg_query::Node* ColumnDef::release_raw_default() { - - ::pg_query::Node* temp = _impl_.raw_default_; - _impl_.raw_default_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* AlterEventTrigStmt::_internal_mutable_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.trigname_.Mutable( GetArena()); } -inline ::pg_query::Node* ColumnDef::unsafe_arena_release_raw_default() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.raw_default) - - ::pg_query::Node* temp = _impl_.raw_default_; - _impl_.raw_default_ = nullptr; - return temp; +inline std::string* AlterEventTrigStmt::release_trigname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterEventTrigStmt.trigname) + return _impl_.trigname_.Release(); } -inline ::pg_query::Node* ColumnDef::_internal_mutable_raw_default() { - - if (_impl_.raw_default_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.raw_default_ = p; - } - return _impl_.raw_default_; +inline void AlterEventTrigStmt::set_allocated_trigname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.trigname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.trigname_.IsDefault()) { + _impl_.trigname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEventTrigStmt.trigname) } -inline ::pg_query::Node* ColumnDef::mutable_raw_default() { - ::pg_query::Node* _msg = _internal_mutable_raw_default(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.raw_default) - return _msg; + +// string tgenabled = 2 [json_name = "tgenabled"]; +inline void AlterEventTrigStmt::clear_tgenabled() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tgenabled_.ClearToEmpty(); } -inline void ColumnDef::set_allocated_raw_default(::pg_query::Node* raw_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.raw_default_; - } - if (raw_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(raw_default); - if (message_arena != submessage_arena) { - raw_default = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, raw_default, submessage_arena); - } - - } else { - - } - _impl_.raw_default_ = raw_default; - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.raw_default) +inline const std::string& AlterEventTrigStmt::tgenabled() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEventTrigStmt.tgenabled) + return _internal_tgenabled(); } - -// .pg_query.Node cooked_default = 10 [json_name = "cooked_default"]; -inline bool ColumnDef::_internal_has_cooked_default() const { - return this != internal_default_instance() && _impl_.cooked_default_ != nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void AlterEventTrigStmt::set_tgenabled(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tgenabled_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterEventTrigStmt.tgenabled) } -inline bool ColumnDef::has_cooked_default() const { - return _internal_has_cooked_default(); +inline std::string* AlterEventTrigStmt::mutable_tgenabled() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tgenabled(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterEventTrigStmt.tgenabled) + return _s; } -inline void ColumnDef::clear_cooked_default() { - if (GetArenaForAllocation() == nullptr && _impl_.cooked_default_ != nullptr) { - delete _impl_.cooked_default_; - } - _impl_.cooked_default_ = nullptr; +inline const std::string& AlterEventTrigStmt::_internal_tgenabled() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tgenabled_.Get(); } -inline const ::pg_query::Node& ColumnDef::_internal_cooked_default() const { - const ::pg_query::Node* p = _impl_.cooked_default_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void AlterEventTrigStmt::_internal_set_tgenabled(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.tgenabled_.Set(value, GetArena()); } -inline const ::pg_query::Node& ColumnDef::cooked_default() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.cooked_default) - return _internal_cooked_default(); +inline std::string* AlterEventTrigStmt::_internal_mutable_tgenabled() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.tgenabled_.Mutable( GetArena()); } -inline void ColumnDef::unsafe_arena_set_allocated_cooked_default( - ::pg_query::Node* cooked_default) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cooked_default_); - } - _impl_.cooked_default_ = cooked_default; - if (cooked_default) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.cooked_default) +inline std::string* AlterEventTrigStmt::release_tgenabled() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterEventTrigStmt.tgenabled) + return _impl_.tgenabled_.Release(); } -inline ::pg_query::Node* ColumnDef::release_cooked_default() { - - ::pg_query::Node* temp = _impl_.cooked_default_; - _impl_.cooked_default_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void AlterEventTrigStmt::set_allocated_tgenabled(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tgenabled_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.tgenabled_.IsDefault()) { + _impl_.tgenabled_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEventTrigStmt.tgenabled) } -inline ::pg_query::Node* ColumnDef::unsafe_arena_release_cooked_default() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.cooked_default) - - ::pg_query::Node* temp = _impl_.cooked_default_; - _impl_.cooked_default_ = nullptr; - return temp; + +// ------------------------------------------------------------------- + +// CreatePLangStmt + +// bool replace = 1 [json_name = "replace"]; +inline void CreatePLangStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline ::pg_query::Node* ColumnDef::_internal_mutable_cooked_default() { - - if (_impl_.cooked_default_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.cooked_default_ = p; - } - return _impl_.cooked_default_; +inline bool CreatePLangStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.replace) + return _internal_replace(); } -inline ::pg_query::Node* ColumnDef::mutable_cooked_default() { - ::pg_query::Node* _msg = _internal_mutable_cooked_default(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.cooked_default) - return _msg; +inline void CreatePLangStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.replace) } -inline void ColumnDef::set_allocated_cooked_default(::pg_query::Node* cooked_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.cooked_default_; - } - if (cooked_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cooked_default); - if (message_arena != submessage_arena) { - cooked_default = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, cooked_default, submessage_arena); - } - - } else { - - } - _impl_.cooked_default_ = cooked_default; - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.cooked_default) +inline bool CreatePLangStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; +} +inline void CreatePLangStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// string identity = 11 [json_name = "identity"]; -inline void ColumnDef::clear_identity() { - _impl_.identity_.ClearToEmpty(); +// string plname = 2 [json_name = "plname"]; +inline void CreatePLangStmt::clear_plname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plname_.ClearToEmpty(); } -inline const std::string& ColumnDef::identity() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity) - return _internal_identity(); +inline const std::string& CreatePLangStmt::plname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plname) + return _internal_plname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ColumnDef::set_identity(ArgT0&& arg0, ArgT... args) { - - _impl_.identity_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.identity) +template +inline PROTOBUF_ALWAYS_INLINE void CreatePLangStmt::set_plname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.plname) } -inline std::string* ColumnDef::mutable_identity() { - std::string* _s = _internal_mutable_identity(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity) +inline std::string* CreatePLangStmt::mutable_plname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_plname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plname) return _s; } -inline const std::string& ColumnDef::_internal_identity() const { - return _impl_.identity_.Get(); +inline const std::string& CreatePLangStmt::_internal_plname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plname_.Get(); } -inline void ColumnDef::_internal_set_identity(const std::string& value) { - - _impl_.identity_.Set(value, GetArenaForAllocation()); +inline void CreatePLangStmt::_internal_set_plname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.plname_.Set(value, GetArena()); } -inline std::string* ColumnDef::_internal_mutable_identity() { - - return _impl_.identity_.Mutable(GetArenaForAllocation()); +inline std::string* CreatePLangStmt::_internal_mutable_plname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.plname_.Mutable( GetArena()); } -inline std::string* ColumnDef::release_identity() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity) - return _impl_.identity_.Release(); +inline std::string* CreatePLangStmt::release_plname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePLangStmt.plname) + return _impl_.plname_.Release(); } -inline void ColumnDef::set_allocated_identity(std::string* identity) { - if (identity != nullptr) { - - } else { - - } - _impl_.identity_.SetAllocated(identity, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.identity_.IsDefault()) { - _impl_.identity_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity) +inline void CreatePLangStmt::set_allocated_plname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.plname_.IsDefault()) { + _impl_.plname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePLangStmt.plname) } -// .pg_query.RangeVar identity_sequence = 12 [json_name = "identitySequence"]; -inline bool ColumnDef::_internal_has_identity_sequence() const { - return this != internal_default_instance() && _impl_.identity_sequence_ != nullptr; -} -inline bool ColumnDef::has_identity_sequence() const { - return _internal_has_identity_sequence(); +// repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"]; +inline int CreatePLangStmt::_internal_plhandler_size() const { + return _internal_plhandler().size(); } -inline void ColumnDef::clear_identity_sequence() { - if (GetArenaForAllocation() == nullptr && _impl_.identity_sequence_ != nullptr) { - delete _impl_.identity_sequence_; - } - _impl_.identity_sequence_ = nullptr; +inline int CreatePLangStmt::plhandler_size() const { + return _internal_plhandler_size(); } -inline const ::pg_query::RangeVar& ColumnDef::_internal_identity_sequence() const { - const ::pg_query::RangeVar* p = _impl_.identity_sequence_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline void CreatePLangStmt::clear_plhandler() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plhandler_.Clear(); } -inline const ::pg_query::RangeVar& ColumnDef::identity_sequence() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.identity_sequence) - return _internal_identity_sequence(); +inline ::pg_query::Node* CreatePLangStmt::mutable_plhandler(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plhandler) + return _internal_mutable_plhandler()->Mutable(index); } -inline void ColumnDef::unsafe_arena_set_allocated_identity_sequence( - ::pg_query::RangeVar* identity_sequence) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.identity_sequence_); - } - _impl_.identity_sequence_ = identity_sequence; - if (identity_sequence) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.identity_sequence) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePLangStmt::mutable_plhandler() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plhandler) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_plhandler(); } -inline ::pg_query::RangeVar* ColumnDef::release_identity_sequence() { - - ::pg_query::RangeVar* temp = _impl_.identity_sequence_; - _impl_.identity_sequence_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& CreatePLangStmt::plhandler(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plhandler) + return _internal_plhandler().Get(index); } -inline ::pg_query::RangeVar* ColumnDef::unsafe_arena_release_identity_sequence() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.identity_sequence) - - ::pg_query::RangeVar* temp = _impl_.identity_sequence_; - _impl_.identity_sequence_ = nullptr; - return temp; +inline ::pg_query::Node* CreatePLangStmt::add_plhandler() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_plhandler()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plhandler) + return _add; } -inline ::pg_query::RangeVar* ColumnDef::_internal_mutable_identity_sequence() { - - if (_impl_.identity_sequence_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.identity_sequence_ = p; - } - return _impl_.identity_sequence_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePLangStmt::plhandler() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plhandler) + return _internal_plhandler(); } -inline ::pg_query::RangeVar* ColumnDef::mutable_identity_sequence() { - ::pg_query::RangeVar* _msg = _internal_mutable_identity_sequence(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.identity_sequence) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePLangStmt::_internal_plhandler() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plhandler_; } -inline void ColumnDef::set_allocated_identity_sequence(::pg_query::RangeVar* identity_sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.identity_sequence_; - } - if (identity_sequence) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(identity_sequence); - if (message_arena != submessage_arena) { - identity_sequence = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, identity_sequence, submessage_arena); - } - - } else { - - } - _impl_.identity_sequence_ = identity_sequence; - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.identity_sequence) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePLangStmt::_internal_mutable_plhandler() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.plhandler_; } -// string generated = 13 [json_name = "generated"]; -inline void ColumnDef::clear_generated() { - _impl_.generated_.ClearToEmpty(); +// repeated .pg_query.Node plinline = 4 [json_name = "plinline"]; +inline int CreatePLangStmt::_internal_plinline_size() const { + return _internal_plinline().size(); } -inline const std::string& ColumnDef::generated() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.generated) - return _internal_generated(); +inline int CreatePLangStmt::plinline_size() const { + return _internal_plinline_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void ColumnDef::set_generated(ArgT0&& arg0, ArgT... args) { - - _impl_.generated_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.generated) +inline void CreatePLangStmt::clear_plinline() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plinline_.Clear(); } -inline std::string* ColumnDef::mutable_generated() { - std::string* _s = _internal_mutable_generated(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.generated) - return _s; +inline ::pg_query::Node* CreatePLangStmt::mutable_plinline(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plinline) + return _internal_mutable_plinline()->Mutable(index); } -inline const std::string& ColumnDef::_internal_generated() const { - return _impl_.generated_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePLangStmt::mutable_plinline() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plinline) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_plinline(); } -inline void ColumnDef::_internal_set_generated(const std::string& value) { - - _impl_.generated_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreatePLangStmt::plinline(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plinline) + return _internal_plinline().Get(index); } -inline std::string* ColumnDef::_internal_mutable_generated() { - - return _impl_.generated_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreatePLangStmt::add_plinline() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_plinline()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plinline) + return _add; } -inline std::string* ColumnDef::release_generated() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.generated) - return _impl_.generated_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePLangStmt::plinline() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plinline) + return _internal_plinline(); } -inline void ColumnDef::set_allocated_generated(std::string* generated) { - if (generated != nullptr) { - - } else { - - } - _impl_.generated_.SetAllocated(generated, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.generated_.IsDefault()) { - _impl_.generated_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.generated) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePLangStmt::_internal_plinline() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plinline_; } - -// .pg_query.CollateClause coll_clause = 14 [json_name = "collClause"]; -inline bool ColumnDef::_internal_has_coll_clause() const { - return this != internal_default_instance() && _impl_.coll_clause_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePLangStmt::_internal_mutable_plinline() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.plinline_; } -inline bool ColumnDef::has_coll_clause() const { - return _internal_has_coll_clause(); + +// repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"]; +inline int CreatePLangStmt::_internal_plvalidator_size() const { + return _internal_plvalidator().size(); } -inline void ColumnDef::clear_coll_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.coll_clause_ != nullptr) { - delete _impl_.coll_clause_; - } - _impl_.coll_clause_ = nullptr; +inline int CreatePLangStmt::plvalidator_size() const { + return _internal_plvalidator_size(); } -inline const ::pg_query::CollateClause& ColumnDef::_internal_coll_clause() const { - const ::pg_query::CollateClause* p = _impl_.coll_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_CollateClause_default_instance_); +inline void CreatePLangStmt::clear_plvalidator() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.plvalidator_.Clear(); } -inline const ::pg_query::CollateClause& ColumnDef::coll_clause() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_clause) - return _internal_coll_clause(); +inline ::pg_query::Node* CreatePLangStmt::mutable_plvalidator(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePLangStmt.plvalidator) + return _internal_mutable_plvalidator()->Mutable(index); } -inline void ColumnDef::unsafe_arena_set_allocated_coll_clause( - ::pg_query::CollateClause* coll_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.coll_clause_); - } - _impl_.coll_clause_ = coll_clause; - if (coll_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ColumnDef.coll_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePLangStmt::mutable_plvalidator() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePLangStmt.plvalidator) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_plvalidator(); } -inline ::pg_query::CollateClause* ColumnDef::release_coll_clause() { - - ::pg_query::CollateClause* temp = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& CreatePLangStmt::plvalidator(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.plvalidator) + return _internal_plvalidator().Get(index); } -inline ::pg_query::CollateClause* ColumnDef::unsafe_arena_release_coll_clause() { - // @@protoc_insertion_point(field_release:pg_query.ColumnDef.coll_clause) - - ::pg_query::CollateClause* temp = _impl_.coll_clause_; - _impl_.coll_clause_ = nullptr; - return temp; +inline ::pg_query::Node* CreatePLangStmt::add_plvalidator() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_plvalidator()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePLangStmt.plvalidator) + return _add; } -inline ::pg_query::CollateClause* ColumnDef::_internal_mutable_coll_clause() { - - if (_impl_.coll_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArenaForAllocation()); - _impl_.coll_clause_ = p; - } - return _impl_.coll_clause_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePLangStmt::plvalidator() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePLangStmt.plvalidator) + return _internal_plvalidator(); } -inline ::pg_query::CollateClause* ColumnDef::mutable_coll_clause() { - ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.coll_clause) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePLangStmt::_internal_plvalidator() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.plvalidator_; } -inline void ColumnDef::set_allocated_coll_clause(::pg_query::CollateClause* coll_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.coll_clause_; - } - if (coll_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(coll_clause); - if (message_arena != submessage_arena) { - coll_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, coll_clause, submessage_arena); - } - - } else { - - } - _impl_.coll_clause_ = coll_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.ColumnDef.coll_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePLangStmt::_internal_mutable_plvalidator() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.plvalidator_; } -// uint32 coll_oid = 15 [json_name = "collOid"]; -inline void ColumnDef::clear_coll_oid() { - _impl_.coll_oid_ = 0u; +// bool pltrusted = 6 [json_name = "pltrusted"]; +inline void CreatePLangStmt::clear_pltrusted() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pltrusted_ = false; } -inline uint32_t ColumnDef::_internal_coll_oid() const { - return _impl_.coll_oid_; +inline bool CreatePLangStmt::pltrusted() const { + // @@protoc_insertion_point(field_get:pg_query.CreatePLangStmt.pltrusted) + return _internal_pltrusted(); } -inline uint32_t ColumnDef::coll_oid() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.coll_oid) - return _internal_coll_oid(); +inline void CreatePLangStmt::set_pltrusted(bool value) { + _internal_set_pltrusted(value); + // @@protoc_insertion_point(field_set:pg_query.CreatePLangStmt.pltrusted) } -inline void ColumnDef::_internal_set_coll_oid(uint32_t value) { - - _impl_.coll_oid_ = value; +inline bool CreatePLangStmt::_internal_pltrusted() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pltrusted_; } -inline void ColumnDef::set_coll_oid(uint32_t value) { - _internal_set_coll_oid(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.coll_oid) +inline void CreatePLangStmt::_internal_set_pltrusted(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pltrusted_ = value; } -// repeated .pg_query.Node constraints = 16 [json_name = "constraints"]; -inline int ColumnDef::_internal_constraints_size() const { - return _impl_.constraints_.size(); -} -inline int ColumnDef::constraints_size() const { - return _internal_constraints_size(); +// ------------------------------------------------------------------- + +// CreateRoleStmt + +// .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"]; +inline void CreateRoleStmt::clear_stmt_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stmt_type_ = 0; } -inline void ColumnDef::clear_constraints() { - _impl_.constraints_.Clear(); +inline ::pg_query::RoleStmtType CreateRoleStmt::stmt_type() const { + // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.stmt_type) + return _internal_stmt_type(); } -inline ::pg_query::Node* ColumnDef::mutable_constraints(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.constraints) - return _impl_.constraints_.Mutable(index); +inline void CreateRoleStmt::set_stmt_type(::pg_query::RoleStmtType value) { + _internal_set_stmt_type(value); + // @@protoc_insertion_point(field_set:pg_query.CreateRoleStmt.stmt_type) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ColumnDef::mutable_constraints() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.constraints) - return &_impl_.constraints_; +inline ::pg_query::RoleStmtType CreateRoleStmt::_internal_stmt_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::RoleStmtType>(_impl_.stmt_type_); } -inline const ::pg_query::Node& ColumnDef::_internal_constraints(int index) const { - return _impl_.constraints_.Get(index); +inline void CreateRoleStmt::_internal_set_stmt_type(::pg_query::RoleStmtType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stmt_type_ = value; } -inline const ::pg_query::Node& ColumnDef::constraints(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.constraints) - return _internal_constraints(index); + +// string role = 2 [json_name = "role"]; +inline void CreateRoleStmt::clear_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.role_.ClearToEmpty(); } -inline ::pg_query::Node* ColumnDef::_internal_add_constraints() { - return _impl_.constraints_.Add(); +inline const std::string& CreateRoleStmt::role() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.role) + return _internal_role(); } -inline ::pg_query::Node* ColumnDef::add_constraints() { - ::pg_query::Node* _add = _internal_add_constraints(); - // @@protoc_insertion_point(field_add:pg_query.ColumnDef.constraints) - return _add; +template +inline PROTOBUF_ALWAYS_INLINE void CreateRoleStmt::set_role(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.role_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateRoleStmt.role) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ColumnDef::constraints() const { - // @@protoc_insertion_point(field_list:pg_query.ColumnDef.constraints) - return _impl_.constraints_; +inline std::string* CreateRoleStmt::mutable_role() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_role(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateRoleStmt.role) + return _s; } - -// repeated .pg_query.Node fdwoptions = 17 [json_name = "fdwoptions"]; -inline int ColumnDef::_internal_fdwoptions_size() const { - return _impl_.fdwoptions_.size(); +inline const std::string& CreateRoleStmt::_internal_role() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.role_.Get(); } -inline int ColumnDef::fdwoptions_size() const { - return _internal_fdwoptions_size(); +inline void CreateRoleStmt::_internal_set_role(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.role_.Set(value, GetArena()); } -inline void ColumnDef::clear_fdwoptions() { - _impl_.fdwoptions_.Clear(); +inline std::string* CreateRoleStmt::_internal_mutable_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.role_.Mutable( GetArena()); } -inline ::pg_query::Node* ColumnDef::mutable_fdwoptions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ColumnDef.fdwoptions) - return _impl_.fdwoptions_.Mutable(index); +inline std::string* CreateRoleStmt::release_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateRoleStmt.role) + return _impl_.role_.Release(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ColumnDef::mutable_fdwoptions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ColumnDef.fdwoptions) - return &_impl_.fdwoptions_; +inline void CreateRoleStmt::set_allocated_role(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.role_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.role_.IsDefault()) { + _impl_.role_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateRoleStmt.role) } -inline const ::pg_query::Node& ColumnDef::_internal_fdwoptions(int index) const { - return _impl_.fdwoptions_.Get(index); + +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int CreateRoleStmt::_internal_options_size() const { + return _internal_options().size(); } -inline const ::pg_query::Node& ColumnDef::fdwoptions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.fdwoptions) - return _internal_fdwoptions(index); +inline int CreateRoleStmt::options_size() const { + return _internal_options_size(); } -inline ::pg_query::Node* ColumnDef::_internal_add_fdwoptions() { - return _impl_.fdwoptions_.Add(); +inline void CreateRoleStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* ColumnDef::add_fdwoptions() { - ::pg_query::Node* _add = _internal_add_fdwoptions(); - // @@protoc_insertion_point(field_add:pg_query.ColumnDef.fdwoptions) - return _add; +inline ::pg_query::Node* CreateRoleStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateRoleStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ColumnDef::fdwoptions() const { - // @@protoc_insertion_point(field_list:pg_query.ColumnDef.fdwoptions) - return _impl_.fdwoptions_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateRoleStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRoleStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// int32 location = 18 [json_name = "location"]; -inline void ColumnDef::clear_location() { - _impl_.location_ = 0; +inline const ::pg_query::Node& CreateRoleStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateRoleStmt.options) + return _internal_options().Get(index); } -inline int32_t ColumnDef::_internal_location() const { - return _impl_.location_; +inline ::pg_query::Node* CreateRoleStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateRoleStmt.options) + return _add; } -inline int32_t ColumnDef::location() const { - // @@protoc_insertion_point(field_get:pg_query.ColumnDef.location) - return _internal_location(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateRoleStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateRoleStmt.options) + return _internal_options(); } -inline void ColumnDef::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateRoleStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void ColumnDef::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.ColumnDef.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateRoleStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// IndexElem - -// string name = 1 [json_name = "name"]; -inline void IndexElem::clear_name() { - _impl_.name_.ClearToEmpty(); -} -inline const std::string& IndexElem::name() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexElem::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.name) -} -inline std::string* IndexElem::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.name) - return _s; -} -inline const std::string& IndexElem::_internal_name() const { - return _impl_.name_.Get(); -} -inline void IndexElem::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); -} -inline std::string* IndexElem::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); -} -inline std::string* IndexElem::release_name() { - // @@protoc_insertion_point(field_release:pg_query.IndexElem.name) - return _impl_.name_.Release(); -} -inline void IndexElem::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.name) -} +// AlterRoleStmt -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool IndexElem::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; -} -inline bool IndexElem::has_expr() const { - return _internal_has_expr(); +// .pg_query.RoleSpec role = 1 [json_name = "role"]; +inline bool AlterRoleStmt::has_role() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.role_ != nullptr); + return value; } -inline void IndexElem::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void AlterRoleStmt::clear_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.role_ != nullptr) _impl_.role_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& IndexElem::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RoleSpec& AlterRoleStmt::_internal_role() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.role_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::Node& IndexElem::expr() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.expr) - return _internal_expr(); +inline const ::pg_query::RoleSpec& AlterRoleStmt::role() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.role) + return _internal_role(); } -inline void IndexElem::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void AlterRoleStmt::unsafe_arena_set_allocated_role(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.role_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleStmt.role) } -inline ::pg_query::Node* IndexElem::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RoleSpec* AlterRoleStmt::release_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.role_; + _impl_.role_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* IndexElem::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.IndexElem.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RoleSpec* AlterRoleStmt::unsafe_arena_release_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterRoleStmt.role) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.role_; + _impl_.role_ = nullptr; return temp; } -inline ::pg_query::Node* IndexElem::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::RoleSpec* AlterRoleStmt::_internal_mutable_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.role_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.expr_; + return _impl_.role_; } -inline ::pg_query::Node* IndexElem::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.expr) +inline ::pg_query::RoleSpec* AlterRoleStmt::mutable_role() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_role(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleStmt.role) return _msg; } -inline void IndexElem::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterRoleStmt::set_allocated_role(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.role_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.expr) -} -// string indexcolname = 3 [json_name = "indexcolname"]; -inline void IndexElem::clear_indexcolname() { - _impl_.indexcolname_.ClearToEmpty(); -} -inline const std::string& IndexElem::indexcolname() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.indexcolname) - return _internal_indexcolname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void IndexElem::set_indexcolname(ArgT0&& arg0, ArgT... args) { - - _impl_.indexcolname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.indexcolname) -} -inline std::string* IndexElem::mutable_indexcolname() { - std::string* _s = _internal_mutable_indexcolname(); - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.indexcolname) - return _s; -} -inline const std::string& IndexElem::_internal_indexcolname() const { - return _impl_.indexcolname_.Get(); -} -inline void IndexElem::_internal_set_indexcolname(const std::string& value) { - - _impl_.indexcolname_.Set(value, GetArenaForAllocation()); -} -inline std::string* IndexElem::_internal_mutable_indexcolname() { - - return _impl_.indexcolname_.Mutable(GetArenaForAllocation()); -} -inline std::string* IndexElem::release_indexcolname() { - // @@protoc_insertion_point(field_release:pg_query.IndexElem.indexcolname) - return _impl_.indexcolname_.Release(); -} -inline void IndexElem::set_allocated_indexcolname(std::string* indexcolname) { - if (indexcolname != nullptr) { - - } else { - - } - _impl_.indexcolname_.SetAllocated(indexcolname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.indexcolname_.IsDefault()) { - _impl_.indexcolname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.IndexElem.indexcolname) + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleStmt.role) } -// repeated .pg_query.Node collation = 4 [json_name = "collation"]; -inline int IndexElem::_internal_collation_size() const { - return _impl_.collation_.size(); -} -inline int IndexElem::collation_size() const { - return _internal_collation_size(); -} -inline void IndexElem::clear_collation() { - _impl_.collation_.Clear(); +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterRoleStmt::_internal_options_size() const { + return _internal_options().size(); } -inline ::pg_query::Node* IndexElem::mutable_collation(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.collation) - return _impl_.collation_.Mutable(index); +inline int AlterRoleStmt::options_size() const { + return _internal_options_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexElem::mutable_collation() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.collation) - return &_impl_.collation_; +inline void AlterRoleStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& IndexElem::_internal_collation(int index) const { - return _impl_.collation_.Get(index); +inline ::pg_query::Node* AlterRoleStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const ::pg_query::Node& IndexElem::collation(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.collation) - return _internal_collation(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterRoleStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterRoleStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* IndexElem::_internal_add_collation() { - return _impl_.collation_.Add(); +inline const ::pg_query::Node& AlterRoleStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* IndexElem::add_collation() { - ::pg_query::Node* _add = _internal_add_collation(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.collation) +inline ::pg_query::Node* AlterRoleStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterRoleStmt.options) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexElem::collation() const { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.collation) - return _impl_.collation_; -} - -// repeated .pg_query.Node opclass = 5 [json_name = "opclass"]; -inline int IndexElem::_internal_opclass_size() const { - return _impl_.opclass_.size(); -} -inline int IndexElem::opclass_size() const { - return _internal_opclass_size(); -} -inline void IndexElem::clear_opclass() { - _impl_.opclass_.Clear(); -} -inline ::pg_query::Node* IndexElem::mutable_opclass(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclass) - return _impl_.opclass_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexElem::mutable_opclass() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclass) - return &_impl_.opclass_; -} -inline const ::pg_query::Node& IndexElem::_internal_opclass(int index) const { - return _impl_.opclass_.Get(index); -} -inline const ::pg_query::Node& IndexElem::opclass(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclass) - return _internal_opclass(index); -} -inline ::pg_query::Node* IndexElem::_internal_add_opclass() { - return _impl_.opclass_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterRoleStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterRoleStmt.options) + return _internal_options(); } -inline ::pg_query::Node* IndexElem::add_opclass() { - ::pg_query::Node* _add = _internal_add_opclass(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclass) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterRoleStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexElem::opclass() const { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclass) - return _impl_.opclass_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterRoleStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"]; -inline int IndexElem::_internal_opclassopts_size() const { - return _impl_.opclassopts_.size(); -} -inline int IndexElem::opclassopts_size() const { - return _internal_opclassopts_size(); -} -inline void IndexElem::clear_opclassopts() { - _impl_.opclassopts_.Clear(); -} -inline ::pg_query::Node* IndexElem::mutable_opclassopts(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.IndexElem.opclassopts) - return _impl_.opclassopts_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -IndexElem::mutable_opclassopts() { - // @@protoc_insertion_point(field_mutable_list:pg_query.IndexElem.opclassopts) - return &_impl_.opclassopts_; -} -inline const ::pg_query::Node& IndexElem::_internal_opclassopts(int index) const { - return _impl_.opclassopts_.Get(index); +// int32 action = 3 [json_name = "action"]; +inline void AlterRoleStmt::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.action_ = 0; } -inline const ::pg_query::Node& IndexElem::opclassopts(int index) const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.opclassopts) - return _internal_opclassopts(index); +inline ::int32_t AlterRoleStmt::action() const { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleStmt.action) + return _internal_action(); } -inline ::pg_query::Node* IndexElem::_internal_add_opclassopts() { - return _impl_.opclassopts_.Add(); +inline void AlterRoleStmt::set_action(::int32_t value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.AlterRoleStmt.action) } -inline ::pg_query::Node* IndexElem::add_opclassopts() { - ::pg_query::Node* _add = _internal_add_opclassopts(); - // @@protoc_insertion_point(field_add:pg_query.IndexElem.opclassopts) - return _add; +inline ::int32_t AlterRoleStmt::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.action_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -IndexElem::opclassopts() const { - // @@protoc_insertion_point(field_list:pg_query.IndexElem.opclassopts) - return _impl_.opclassopts_; +inline void AlterRoleStmt::_internal_set_action(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; } -// .pg_query.SortByDir ordering = 7 [json_name = "ordering"]; -inline void IndexElem::clear_ordering() { - _impl_.ordering_ = 0; +// ------------------------------------------------------------------- + +// AlterRoleSetStmt + +// .pg_query.RoleSpec role = 1 [json_name = "role"]; +inline bool AlterRoleSetStmt::has_role() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.role_ != nullptr); + return value; } -inline ::pg_query::SortByDir IndexElem::_internal_ordering() const { - return static_cast< ::pg_query::SortByDir >(_impl_.ordering_); +inline void AlterRoleSetStmt::clear_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.role_ != nullptr) _impl_.role_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::SortByDir IndexElem::ordering() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.ordering) - return _internal_ordering(); +inline const ::pg_query::RoleSpec& AlterRoleSetStmt::_internal_role() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.role_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline void IndexElem::_internal_set_ordering(::pg_query::SortByDir value) { - - _impl_.ordering_ = value; +inline const ::pg_query::RoleSpec& AlterRoleSetStmt::role() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.role) + return _internal_role(); } -inline void IndexElem::set_ordering(::pg_query::SortByDir value) { - _internal_set_ordering(value); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.ordering) +inline void AlterRoleSetStmt::unsafe_arena_set_allocated_role(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.role_); + } + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleSetStmt.role) } +inline ::pg_query::RoleSpec* AlterRoleSetStmt::release_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"]; -inline void IndexElem::clear_nulls_ordering() { - _impl_.nulls_ordering_ = 0; -} -inline ::pg_query::SortByNulls IndexElem::_internal_nulls_ordering() const { - return static_cast< ::pg_query::SortByNulls >(_impl_.nulls_ordering_); + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.role_; + _impl_.role_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::SortByNulls IndexElem::nulls_ordering() const { - // @@protoc_insertion_point(field_get:pg_query.IndexElem.nulls_ordering) - return _internal_nulls_ordering(); +inline ::pg_query::RoleSpec* AlterRoleSetStmt::unsafe_arena_release_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.role) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.role_; + _impl_.role_ = nullptr; + return temp; } -inline void IndexElem::_internal_set_nulls_ordering(::pg_query::SortByNulls value) { - - _impl_.nulls_ordering_ = value; +inline ::pg_query::RoleSpec* AlterRoleSetStmt::_internal_mutable_role() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.role_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(p); + } + return _impl_.role_; } -inline void IndexElem::set_nulls_ordering(::pg_query::SortByNulls value) { - _internal_set_nulls_ordering(value); - // @@protoc_insertion_point(field_set:pg_query.IndexElem.nulls_ordering) +inline ::pg_query::RoleSpec* AlterRoleSetStmt::mutable_role() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_role(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.role) + return _msg; } +inline void AlterRoleSetStmt::set_allocated_role(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.role_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// StatsElem + _impl_.role_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.role) +} -// string name = 1 [json_name = "name"]; -inline void StatsElem::clear_name() { - _impl_.name_.ClearToEmpty(); +// string database = 2 [json_name = "database"]; +inline void AlterRoleSetStmt::clear_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.ClearToEmpty(); } -inline const std::string& StatsElem::name() const { - // @@protoc_insertion_point(field_get:pg_query.StatsElem.name) - return _internal_name(); +inline const std::string& AlterRoleSetStmt::database() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.database) + return _internal_database(); } -template -inline PROTOBUF_ALWAYS_INLINE -void StatsElem::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.StatsElem.name) +template +inline PROTOBUF_ALWAYS_INLINE void AlterRoleSetStmt::set_database(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.database_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterRoleSetStmt.database) } -inline std::string* StatsElem::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.StatsElem.name) +inline std::string* AlterRoleSetStmt::mutable_database() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_database(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.database) return _s; } -inline const std::string& StatsElem::_internal_name() const { - return _impl_.name_.Get(); +inline const std::string& AlterRoleSetStmt::_internal_database() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.database_.Get(); } -inline void StatsElem::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void AlterRoleSetStmt::_internal_set_database(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.database_.Set(value, GetArena()); } -inline std::string* StatsElem::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* AlterRoleSetStmt::_internal_mutable_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.database_.Mutable( GetArena()); } -inline std::string* StatsElem::release_name() { - // @@protoc_insertion_point(field_release:pg_query.StatsElem.name) - return _impl_.name_.Release(); +inline std::string* AlterRoleSetStmt::release_database() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.database) + return _impl_.database_.Release(); } -inline void StatsElem::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.StatsElem.name) +inline void AlterRoleSetStmt::set_allocated_database(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.database_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.database_.IsDefault()) { + _impl_.database_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.database) } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool StatsElem::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; -} -inline bool StatsElem::has_expr() const { - return _internal_has_expr(); +// .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"]; +inline bool AlterRoleSetStmt::has_setstmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.setstmt_ != nullptr); + return value; } -inline void StatsElem::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void AlterRoleSetStmt::clear_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.setstmt_ != nullptr) _impl_.setstmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& StatsElem::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::VariableSetStmt& AlterRoleSetStmt::_internal_setstmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_VariableSetStmt_default_instance_); } -inline const ::pg_query::Node& StatsElem::expr() const { - // @@protoc_insertion_point(field_get:pg_query.StatsElem.expr) - return _internal_expr(); +inline const ::pg_query::VariableSetStmt& AlterRoleSetStmt::setstmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterRoleSetStmt.setstmt) + return _internal_setstmt(); } -inline void StatsElem::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void AlterRoleSetStmt::unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.setstmt_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.StatsElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterRoleSetStmt.setstmt) } -inline ::pg_query::Node* StatsElem::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::VariableSetStmt* released = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* StatsElem::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.StatsElem.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::unsafe_arena_release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterRoleSetStmt.setstmt) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; return temp; } -inline ::pg_query::Node* StatsElem::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::_internal_mutable_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.setstmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(p); } - return _impl_.expr_; + return _impl_.setstmt_; } -inline ::pg_query::Node* StatsElem::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.StatsElem.expr) +inline ::pg_query::VariableSetStmt* AlterRoleSetStmt::mutable_setstmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterRoleSetStmt.setstmt) return _msg; } -inline void StatsElem::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterRoleSetStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::VariableSetStmt*>(_impl_.setstmt_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::VariableSetStmt*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.StatsElem.expr) + + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterRoleSetStmt.setstmt) } // ------------------------------------------------------------------- -// Constraint +// DropRoleStmt -// .pg_query.ConstrType contype = 1 [json_name = "contype"]; -inline void Constraint::clear_contype() { - _impl_.contype_ = 0; +// repeated .pg_query.Node roles = 1 [json_name = "roles"]; +inline int DropRoleStmt::_internal_roles_size() const { + return _internal_roles().size(); } -inline ::pg_query::ConstrType Constraint::_internal_contype() const { - return static_cast< ::pg_query::ConstrType >(_impl_.contype_); +inline int DropRoleStmt::roles_size() const { + return _internal_roles_size(); } -inline ::pg_query::ConstrType Constraint::contype() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.contype) - return _internal_contype(); +inline void DropRoleStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); } -inline void Constraint::_internal_set_contype(::pg_query::ConstrType value) { - - _impl_.contype_ = value; +inline ::pg_query::Node* DropRoleStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DropRoleStmt.roles) + return _internal_mutable_roles()->Mutable(index); } -inline void Constraint::set_contype(::pg_query::ConstrType value) { - _internal_set_contype(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.contype) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DropRoleStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DropRoleStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); +} +inline const ::pg_query::Node& DropRoleStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropRoleStmt.roles) + return _internal_roles().Get(index); +} +inline ::pg_query::Node* DropRoleStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DropRoleStmt.roles) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DropRoleStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DropRoleStmt.roles) + return _internal_roles(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DropRoleStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DropRoleStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; } -// string conname = 2 [json_name = "conname"]; -inline void Constraint::clear_conname() { - _impl_.conname_.ClearToEmpty(); +// bool missing_ok = 2 [json_name = "missing_ok"]; +inline void DropRoleStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline const std::string& Constraint::conname() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.conname) - return _internal_conname(); +inline bool DropRoleStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropRoleStmt.missing_ok) + return _internal_missing_ok(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_conname(ArgT0&& arg0, ArgT... args) { - - _impl_.conname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.conname) +inline void DropRoleStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropRoleStmt.missing_ok) } -inline std::string* Constraint::mutable_conname() { - std::string* _s = _internal_mutable_conname(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.conname) - return _s; +inline bool DropRoleStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline const std::string& Constraint::_internal_conname() const { - return _impl_.conname_.Get(); +inline void DropRoleStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -inline void Constraint::_internal_set_conname(const std::string& value) { - - _impl_.conname_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// CreateSeqStmt + +// .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; +inline bool CreateSeqStmt::has_sequence() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.sequence_ != nullptr); + return value; } -inline std::string* Constraint::_internal_mutable_conname() { - - return _impl_.conname_.Mutable(GetArenaForAllocation()); +inline void CreateSeqStmt::clear_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.sequence_ != nullptr) _impl_.sequence_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* Constraint::release_conname() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.conname) - return _impl_.conname_.Release(); +inline const ::pg_query::RangeVar& CreateSeqStmt::_internal_sequence() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.sequence_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline void Constraint::set_allocated_conname(std::string* conname) { - if (conname != nullptr) { - - } else { - +inline const ::pg_query::RangeVar& CreateSeqStmt::sequence() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.sequence) + return _internal_sequence(); +} +inline void CreateSeqStmt::unsafe_arena_set_allocated_sequence(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sequence_); } - _impl_.conname_.SetAllocated(conname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conname_.IsDefault()) { - _impl_.conname_.Set("", GetArenaForAllocation()); + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.conname) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateSeqStmt.sequence) } +inline ::pg_query::RangeVar* CreateSeqStmt::release_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool deferrable = 3 [json_name = "deferrable"]; -inline void Constraint::clear_deferrable() { - _impl_.deferrable_ = false; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.sequence_; + _impl_.sequence_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool Constraint::_internal_deferrable() const { - return _impl_.deferrable_; +inline ::pg_query::RangeVar* CreateSeqStmt::unsafe_arena_release_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateSeqStmt.sequence) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.sequence_; + _impl_.sequence_ = nullptr; + return temp; } -inline bool Constraint::deferrable() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.deferrable) - return _internal_deferrable(); +inline ::pg_query::RangeVar* CreateSeqStmt::_internal_mutable_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.sequence_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.sequence_; } -inline void Constraint::_internal_set_deferrable(bool value) { - - _impl_.deferrable_ = value; +inline ::pg_query::RangeVar* CreateSeqStmt::mutable_sequence() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_sequence(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateSeqStmt.sequence) + return _msg; } -inline void Constraint::set_deferrable(bool value) { - _internal_set_deferrable(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.deferrable) +inline void CreateSeqStmt::set_allocated_sequence(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.sequence_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSeqStmt.sequence) } -// bool initdeferred = 4 [json_name = "initdeferred"]; -inline void Constraint::clear_initdeferred() { - _impl_.initdeferred_ = false; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int CreateSeqStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool Constraint::_internal_initdeferred() const { - return _impl_.initdeferred_; +inline int CreateSeqStmt::options_size() const { + return _internal_options_size(); } -inline bool Constraint::initdeferred() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.initdeferred) - return _internal_initdeferred(); +inline void CreateSeqStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void Constraint::_internal_set_initdeferred(bool value) { - - _impl_.initdeferred_ = value; +inline ::pg_query::Node* CreateSeqStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateSeqStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void Constraint::set_initdeferred(bool value) { - _internal_set_initdeferred(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.initdeferred) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateSeqStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSeqStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& CreateSeqStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* CreateSeqStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateSeqStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateSeqStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateSeqStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateSeqStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateSeqStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// int32 location = 5 [json_name = "location"]; -inline void Constraint::clear_location() { - _impl_.location_ = 0; +// uint32 owner_id = 3 [json_name = "ownerId"]; +inline void CreateSeqStmt::clear_owner_id() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.owner_id_ = 0u; } -inline int32_t Constraint::_internal_location() const { - return _impl_.location_; +inline ::uint32_t CreateSeqStmt::owner_id() const { + // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.owner_id) + return _internal_owner_id(); } -inline int32_t Constraint::location() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.location) - return _internal_location(); +inline void CreateSeqStmt::set_owner_id(::uint32_t value) { + _internal_set_owner_id(value); + // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.owner_id) } -inline void Constraint::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::uint32_t CreateSeqStmt::_internal_owner_id() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.owner_id_; } -inline void Constraint::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.location) +inline void CreateSeqStmt::_internal_set_owner_id(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.owner_id_ = value; } -// bool is_no_inherit = 6 [json_name = "is_no_inherit"]; -inline void Constraint::clear_is_no_inherit() { - _impl_.is_no_inherit_ = false; +// bool for_identity = 4 [json_name = "for_identity"]; +inline void CreateSeqStmt::clear_for_identity() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_identity_ = false; } -inline bool Constraint::_internal_is_no_inherit() const { - return _impl_.is_no_inherit_; +inline bool CreateSeqStmt::for_identity() const { + // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.for_identity) + return _internal_for_identity(); } -inline bool Constraint::is_no_inherit() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.is_no_inherit) - return _internal_is_no_inherit(); +inline void CreateSeqStmt::set_for_identity(bool value) { + _internal_set_for_identity(value); + // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.for_identity) } -inline void Constraint::_internal_set_is_no_inherit(bool value) { - - _impl_.is_no_inherit_ = value; +inline bool CreateSeqStmt::_internal_for_identity() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_identity_; } -inline void Constraint::set_is_no_inherit(bool value) { - _internal_set_is_no_inherit(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.is_no_inherit) +inline void CreateSeqStmt::_internal_set_for_identity(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_identity_ = value; } -// .pg_query.Node raw_expr = 7 [json_name = "raw_expr"]; -inline bool Constraint::_internal_has_raw_expr() const { - return this != internal_default_instance() && _impl_.raw_expr_ != nullptr; +// bool if_not_exists = 5 [json_name = "if_not_exists"]; +inline void CreateSeqStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline bool Constraint::has_raw_expr() const { - return _internal_has_raw_expr(); +inline bool CreateSeqStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateSeqStmt.if_not_exists) + return _internal_if_not_exists(); } -inline void Constraint::clear_raw_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.raw_expr_ != nullptr) { - delete _impl_.raw_expr_; - } - _impl_.raw_expr_ = nullptr; +inline void CreateSeqStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateSeqStmt.if_not_exists) } -inline const ::pg_query::Node& Constraint::_internal_raw_expr() const { - const ::pg_query::Node* p = _impl_.raw_expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline bool CreateSeqStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline const ::pg_query::Node& Constraint::raw_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.raw_expr) - return _internal_raw_expr(); +inline void CreateSeqStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; +} + +// ------------------------------------------------------------------- + +// AlterSeqStmt + +// .pg_query.RangeVar sequence = 1 [json_name = "sequence"]; +inline bool AlterSeqStmt::has_sequence() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.sequence_ != nullptr); + return value; +} +inline void AlterSeqStmt::clear_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.sequence_ != nullptr) _impl_.sequence_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void Constraint::unsafe_arena_set_allocated_raw_expr( - ::pg_query::Node* raw_expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.raw_expr_); +inline const ::pg_query::RangeVar& AlterSeqStmt::_internal_sequence() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.sequence_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& AlterSeqStmt::sequence() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.sequence) + return _internal_sequence(); +} +inline void AlterSeqStmt::unsafe_arena_set_allocated_sequence(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sequence_); } - _impl_.raw_expr_ = raw_expr; - if (raw_expr) { - + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.raw_expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterSeqStmt.sequence) } -inline ::pg_query::Node* Constraint::release_raw_expr() { - - ::pg_query::Node* temp = _impl_.raw_expr_; - _impl_.raw_expr_ = nullptr; +inline ::pg_query::RangeVar* AlterSeqStmt::release_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.sequence_; + _impl_.sequence_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* Constraint::unsafe_arena_release_raw_expr() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.raw_expr) - - ::pg_query::Node* temp = _impl_.raw_expr_; - _impl_.raw_expr_ = nullptr; +inline ::pg_query::RangeVar* AlterSeqStmt::unsafe_arena_release_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterSeqStmt.sequence) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.sequence_; + _impl_.sequence_ = nullptr; return temp; } -inline ::pg_query::Node* Constraint::_internal_mutable_raw_expr() { - - if (_impl_.raw_expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.raw_expr_ = p; +inline ::pg_query::RangeVar* AlterSeqStmt::_internal_mutable_sequence() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.sequence_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.raw_expr_; + return _impl_.sequence_; } -inline ::pg_query::Node* Constraint::mutable_raw_expr() { - ::pg_query::Node* _msg = _internal_mutable_raw_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.raw_expr) +inline ::pg_query::RangeVar* AlterSeqStmt::mutable_sequence() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_sequence(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterSeqStmt.sequence) return _msg; } -inline void Constraint::set_allocated_raw_expr(::pg_query::Node* raw_expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterSeqStmt::set_allocated_sequence(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.raw_expr_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.sequence_); } - if (raw_expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(raw_expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - raw_expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, raw_expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.raw_expr_ = raw_expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.raw_expr) -} -// string cooked_expr = 8 [json_name = "cooked_expr"]; -inline void Constraint::clear_cooked_expr() { - _impl_.cooked_expr_.ClearToEmpty(); -} -inline const std::string& Constraint::cooked_expr() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.cooked_expr) - return _internal_cooked_expr(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_cooked_expr(ArgT0&& arg0, ArgT... args) { - - _impl_.cooked_expr_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.cooked_expr) -} -inline std::string* Constraint::mutable_cooked_expr() { - std::string* _s = _internal_mutable_cooked_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.cooked_expr) - return _s; -} -inline const std::string& Constraint::_internal_cooked_expr() const { - return _impl_.cooked_expr_.Get(); -} -inline void Constraint::_internal_set_cooked_expr(const std::string& value) { - - _impl_.cooked_expr_.Set(value, GetArenaForAllocation()); -} -inline std::string* Constraint::_internal_mutable_cooked_expr() { - - return _impl_.cooked_expr_.Mutable(GetArenaForAllocation()); -} -inline std::string* Constraint::release_cooked_expr() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.cooked_expr) - return _impl_.cooked_expr_.Release(); -} -inline void Constraint::set_allocated_cooked_expr(std::string* cooked_expr) { - if (cooked_expr != nullptr) { - - } else { - - } - _impl_.cooked_expr_.SetAllocated(cooked_expr, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cooked_expr_.IsDefault()) { - _impl_.cooked_expr_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.cooked_expr) + _impl_.sequence_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSeqStmt.sequence) } -// string generated_when = 9 [json_name = "generated_when"]; -inline void Constraint::clear_generated_when() { - _impl_.generated_when_.ClearToEmpty(); -} -inline const std::string& Constraint::generated_when() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.generated_when) - return _internal_generated_when(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_generated_when(ArgT0&& arg0, ArgT... args) { - - _impl_.generated_when_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.generated_when) -} -inline std::string* Constraint::mutable_generated_when() { - std::string* _s = _internal_mutable_generated_when(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.generated_when) - return _s; -} -inline const std::string& Constraint::_internal_generated_when() const { - return _impl_.generated_when_.Get(); +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterSeqStmt::_internal_options_size() const { + return _internal_options().size(); } -inline void Constraint::_internal_set_generated_when(const std::string& value) { - - _impl_.generated_when_.Set(value, GetArenaForAllocation()); +inline int AlterSeqStmt::options_size() const { + return _internal_options_size(); } -inline std::string* Constraint::_internal_mutable_generated_when() { - - return _impl_.generated_when_.Mutable(GetArenaForAllocation()); +inline void AlterSeqStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline std::string* Constraint::release_generated_when() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.generated_when) - return _impl_.generated_when_.Release(); +inline ::pg_query::Node* AlterSeqStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterSeqStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void Constraint::set_allocated_generated_when(std::string* generated_when) { - if (generated_when != nullptr) { - - } else { - - } - _impl_.generated_when_.SetAllocated(generated_when, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.generated_when_.IsDefault()) { - _impl_.generated_when_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.generated_when) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterSeqStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSeqStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// bool nulls_not_distinct = 10 [json_name = "nulls_not_distinct"]; -inline void Constraint::clear_nulls_not_distinct() { - _impl_.nulls_not_distinct_ = false; +inline const ::pg_query::Node& AlterSeqStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.options) + return _internal_options().Get(index); } -inline bool Constraint::_internal_nulls_not_distinct() const { - return _impl_.nulls_not_distinct_; +inline ::pg_query::Node* AlterSeqStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterSeqStmt.options) + return _add; } -inline bool Constraint::nulls_not_distinct() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.nulls_not_distinct) - return _internal_nulls_not_distinct(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterSeqStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterSeqStmt.options) + return _internal_options(); } -inline void Constraint::_internal_set_nulls_not_distinct(bool value) { - - _impl_.nulls_not_distinct_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterSeqStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void Constraint::set_nulls_not_distinct(bool value) { - _internal_set_nulls_not_distinct(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.nulls_not_distinct) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterSeqStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// repeated .pg_query.Node keys = 11 [json_name = "keys"]; -inline int Constraint::_internal_keys_size() const { - return _impl_.keys_.size(); +// bool for_identity = 3 [json_name = "for_identity"]; +inline void AlterSeqStmt::clear_for_identity() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_identity_ = false; } -inline int Constraint::keys_size() const { - return _internal_keys_size(); +inline bool AlterSeqStmt::for_identity() const { + // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.for_identity) + return _internal_for_identity(); } -inline void Constraint::clear_keys() { - _impl_.keys_.Clear(); +inline void AlterSeqStmt::set_for_identity(bool value) { + _internal_set_for_identity(value); + // @@protoc_insertion_point(field_set:pg_query.AlterSeqStmt.for_identity) } -inline ::pg_query::Node* Constraint::mutable_keys(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.keys) - return _impl_.keys_.Mutable(index); +inline bool AlterSeqStmt::_internal_for_identity() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_identity_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_keys() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.keys) - return &_impl_.keys_; +inline void AlterSeqStmt::_internal_set_for_identity(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_identity_ = value; } -inline const ::pg_query::Node& Constraint::_internal_keys(int index) const { - return _impl_.keys_.Get(index); + +// bool missing_ok = 4 [json_name = "missing_ok"]; +inline void AlterSeqStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline const ::pg_query::Node& Constraint::keys(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.keys) - return _internal_keys(index); +inline bool AlterSeqStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterSeqStmt.missing_ok) + return _internal_missing_ok(); } -inline ::pg_query::Node* Constraint::_internal_add_keys() { - return _impl_.keys_.Add(); +inline void AlterSeqStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterSeqStmt.missing_ok) } -inline ::pg_query::Node* Constraint::add_keys() { - ::pg_query::Node* _add = _internal_add_keys(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.keys) - return _add; +inline bool AlterSeqStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::keys() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.keys) - return _impl_.keys_; +inline void AlterSeqStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -// repeated .pg_query.Node including = 12 [json_name = "including"]; -inline int Constraint::_internal_including_size() const { - return _impl_.including_.size(); -} -inline int Constraint::including_size() const { - return _internal_including_size(); -} -inline void Constraint::clear_including() { - _impl_.including_.Clear(); +// ------------------------------------------------------------------- + +// DefineStmt + +// .pg_query.ObjectType kind = 1 [json_name = "kind"]; +inline void DefineStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline ::pg_query::Node* Constraint::mutable_including(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.including) - return _impl_.including_.Mutable(index); +inline ::pg_query::ObjectType DefineStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.kind) + return _internal_kind(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_including() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.including) - return &_impl_.including_; +inline void DefineStmt::set_kind(::pg_query::ObjectType value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.DefineStmt.kind) } -inline const ::pg_query::Node& Constraint::_internal_including(int index) const { - return _impl_.including_.Get(index); +inline ::pg_query::ObjectType DefineStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.kind_); } -inline const ::pg_query::Node& Constraint::including(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.including) - return _internal_including(index); +inline void DefineStmt::_internal_set_kind(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -inline ::pg_query::Node* Constraint::_internal_add_including() { - return _impl_.including_.Add(); + +// bool oldstyle = 2 [json_name = "oldstyle"]; +inline void DefineStmt::clear_oldstyle() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.oldstyle_ = false; } -inline ::pg_query::Node* Constraint::add_including() { - ::pg_query::Node* _add = _internal_add_including(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.including) - return _add; +inline bool DefineStmt::oldstyle() const { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.oldstyle) + return _internal_oldstyle(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::including() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.including) - return _impl_.including_; +inline void DefineStmt::set_oldstyle(bool value) { + _internal_set_oldstyle(value); + // @@protoc_insertion_point(field_set:pg_query.DefineStmt.oldstyle) } - -// repeated .pg_query.Node exclusions = 13 [json_name = "exclusions"]; -inline int Constraint::_internal_exclusions_size() const { - return _impl_.exclusions_.size(); +inline bool DefineStmt::_internal_oldstyle() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.oldstyle_; } -inline int Constraint::exclusions_size() const { - return _internal_exclusions_size(); +inline void DefineStmt::_internal_set_oldstyle(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.oldstyle_ = value; } -inline void Constraint::clear_exclusions() { - _impl_.exclusions_.Clear(); + +// repeated .pg_query.Node defnames = 3 [json_name = "defnames"]; +inline int DefineStmt::_internal_defnames_size() const { + return _internal_defnames().size(); } -inline ::pg_query::Node* Constraint::mutable_exclusions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.exclusions) - return _impl_.exclusions_.Mutable(index); +inline int DefineStmt::defnames_size() const { + return _internal_defnames_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_exclusions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.exclusions) - return &_impl_.exclusions_; +inline void DefineStmt::clear_defnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnames_.Clear(); } -inline const ::pg_query::Node& Constraint::_internal_exclusions(int index) const { - return _impl_.exclusions_.Get(index); +inline ::pg_query::Node* DefineStmt::mutable_defnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.defnames) + return _internal_mutable_defnames()->Mutable(index); } -inline const ::pg_query::Node& Constraint::exclusions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.exclusions) - return _internal_exclusions(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DefineStmt::mutable_defnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.defnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_defnames(); } -inline ::pg_query::Node* Constraint::_internal_add_exclusions() { - return _impl_.exclusions_.Add(); +inline const ::pg_query::Node& DefineStmt::defnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.defnames) + return _internal_defnames().Get(index); } -inline ::pg_query::Node* Constraint::add_exclusions() { - ::pg_query::Node* _add = _internal_add_exclusions(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.exclusions) +inline ::pg_query::Node* DefineStmt::add_defnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_defnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DefineStmt.defnames) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::exclusions() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.exclusions) - return _impl_.exclusions_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DefineStmt::defnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DefineStmt.defnames) + return _internal_defnames(); } - -// repeated .pg_query.Node options = 14 [json_name = "options"]; -inline int Constraint::_internal_options_size() const { - return _impl_.options_.size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DefineStmt::_internal_defnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defnames_; } -inline int Constraint::options_size() const { - return _internal_options_size(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DefineStmt::_internal_mutable_defnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.defnames_; } -inline void Constraint::clear_options() { - _impl_.options_.Clear(); + +// repeated .pg_query.Node args = 4 [json_name = "args"]; +inline int DefineStmt::_internal_args_size() const { + return _internal_args().size(); } -inline ::pg_query::Node* Constraint::mutable_options(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.options) - return _impl_.options_.Mutable(index); +inline int DefineStmt::args_size() const { + return _internal_args_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_options() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.options) - return &_impl_.options_; +inline void DefineStmt::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline const ::pg_query::Node& Constraint::_internal_options(int index) const { - return _impl_.options_.Get(index); +inline ::pg_query::Node* DefineStmt::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.args) + return _internal_mutable_args()->Mutable(index); } -inline const ::pg_query::Node& Constraint::options(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.options) - return _internal_options(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DefineStmt::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } -inline ::pg_query::Node* Constraint::_internal_add_options() { - return _impl_.options_.Add(); +inline const ::pg_query::Node& DefineStmt::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.args) + return _internal_args().Get(index); } -inline ::pg_query::Node* Constraint::add_options() { - ::pg_query::Node* _add = _internal_add_options(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.options) +inline ::pg_query::Node* DefineStmt::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DefineStmt.args) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::options() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.options) - return _impl_.options_; -} - -// string indexname = 15 [json_name = "indexname"]; -inline void Constraint::clear_indexname() { - _impl_.indexname_.ClearToEmpty(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DefineStmt::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DefineStmt.args) + return _internal_args(); } -inline const std::string& Constraint::indexname() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.indexname) - return _internal_indexname(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DefineStmt::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_indexname(ArgT0&& arg0, ArgT... args) { - - _impl_.indexname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.indexname) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DefineStmt::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -inline std::string* Constraint::mutable_indexname() { - std::string* _s = _internal_mutable_indexname(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.indexname) - return _s; + +// repeated .pg_query.Node definition = 5 [json_name = "definition"]; +inline int DefineStmt::_internal_definition_size() const { + return _internal_definition().size(); } -inline const std::string& Constraint::_internal_indexname() const { - return _impl_.indexname_.Get(); +inline int DefineStmt::definition_size() const { + return _internal_definition_size(); } -inline void Constraint::_internal_set_indexname(const std::string& value) { - - _impl_.indexname_.Set(value, GetArenaForAllocation()); +inline void DefineStmt::clear_definition() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.definition_.Clear(); } -inline std::string* Constraint::_internal_mutable_indexname() { - - return _impl_.indexname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* DefineStmt::mutable_definition(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DefineStmt.definition) + return _internal_mutable_definition()->Mutable(index); } -inline std::string* Constraint::release_indexname() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.indexname) - return _impl_.indexname_.Release(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DefineStmt::mutable_definition() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DefineStmt.definition) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_definition(); } -inline void Constraint::set_allocated_indexname(std::string* indexname) { - if (indexname != nullptr) { - - } else { - - } - _impl_.indexname_.SetAllocated(indexname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.indexname_.IsDefault()) { - _impl_.indexname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexname) +inline const ::pg_query::Node& DefineStmt::definition(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.definition) + return _internal_definition().Get(index); } - -// string indexspace = 16 [json_name = "indexspace"]; -inline void Constraint::clear_indexspace() { - _impl_.indexspace_.ClearToEmpty(); +inline ::pg_query::Node* DefineStmt::add_definition() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_definition()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DefineStmt.definition) + return _add; } -inline const std::string& Constraint::indexspace() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.indexspace) - return _internal_indexspace(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DefineStmt::definition() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DefineStmt.definition) + return _internal_definition(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_indexspace(ArgT0&& arg0, ArgT... args) { - - _impl_.indexspace_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.indexspace) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DefineStmt::_internal_definition() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.definition_; } -inline std::string* Constraint::mutable_indexspace() { - std::string* _s = _internal_mutable_indexspace(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.indexspace) - return _s; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DefineStmt::_internal_mutable_definition() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.definition_; } -inline const std::string& Constraint::_internal_indexspace() const { - return _impl_.indexspace_.Get(); + +// bool if_not_exists = 6 [json_name = "if_not_exists"]; +inline void DefineStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline void Constraint::_internal_set_indexspace(const std::string& value) { - - _impl_.indexspace_.Set(value, GetArenaForAllocation()); +inline bool DefineStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.if_not_exists) + return _internal_if_not_exists(); } -inline std::string* Constraint::_internal_mutable_indexspace() { - - return _impl_.indexspace_.Mutable(GetArenaForAllocation()); +inline void DefineStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.DefineStmt.if_not_exists) } -inline std::string* Constraint::release_indexspace() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.indexspace) - return _impl_.indexspace_.Release(); +inline bool DefineStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline void Constraint::set_allocated_indexspace(std::string* indexspace) { - if (indexspace != nullptr) { - - } else { - - } - _impl_.indexspace_.SetAllocated(indexspace, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.indexspace_.IsDefault()) { - _impl_.indexspace_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.indexspace) +inline void DefineStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -// bool reset_default_tblspc = 17 [json_name = "reset_default_tblspc"]; -inline void Constraint::clear_reset_default_tblspc() { - _impl_.reset_default_tblspc_ = false; +// bool replace = 7 [json_name = "replace"]; +inline void DefineStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline bool Constraint::_internal_reset_default_tblspc() const { - return _impl_.reset_default_tblspc_; +inline bool DefineStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.DefineStmt.replace) + return _internal_replace(); } -inline bool Constraint::reset_default_tblspc() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.reset_default_tblspc) - return _internal_reset_default_tblspc(); +inline void DefineStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.DefineStmt.replace) } -inline void Constraint::_internal_set_reset_default_tblspc(bool value) { - - _impl_.reset_default_tblspc_ = value; +inline bool DefineStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void Constraint::set_reset_default_tblspc(bool value) { - _internal_set_reset_default_tblspc(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.reset_default_tblspc) +inline void DefineStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// string access_method = 18 [json_name = "access_method"]; -inline void Constraint::clear_access_method() { - _impl_.access_method_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// CreateDomainStmt + +// repeated .pg_query.Node domainname = 1 [json_name = "domainname"]; +inline int CreateDomainStmt::_internal_domainname_size() const { + return _internal_domainname().size(); } -inline const std::string& Constraint::access_method() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.access_method) - return _internal_access_method(); +inline int CreateDomainStmt::domainname_size() const { + return _internal_domainname_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_access_method(ArgT0&& arg0, ArgT... args) { - - _impl_.access_method_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.access_method) +inline void CreateDomainStmt::clear_domainname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.domainname_.Clear(); } -inline std::string* Constraint::mutable_access_method() { - std::string* _s = _internal_mutable_access_method(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.access_method) - return _s; +inline ::pg_query::Node* CreateDomainStmt::mutable_domainname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.domainname) + return _internal_mutable_domainname()->Mutable(index); } -inline const std::string& Constraint::_internal_access_method() const { - return _impl_.access_method_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateDomainStmt::mutable_domainname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateDomainStmt.domainname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_domainname(); } -inline void Constraint::_internal_set_access_method(const std::string& value) { - - _impl_.access_method_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateDomainStmt::domainname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.domainname) + return _internal_domainname().Get(index); } -inline std::string* Constraint::_internal_mutable_access_method() { - - return _impl_.access_method_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateDomainStmt::add_domainname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_domainname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateDomainStmt.domainname) + return _add; } -inline std::string* Constraint::release_access_method() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.access_method) - return _impl_.access_method_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateDomainStmt::domainname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateDomainStmt.domainname) + return _internal_domainname(); } -inline void Constraint::set_allocated_access_method(std::string* access_method) { - if (access_method != nullptr) { - - } else { - - } - _impl_.access_method_.SetAllocated(access_method, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.access_method_.IsDefault()) { - _impl_.access_method_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.access_method) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateDomainStmt::_internal_domainname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.domainname_; } - -// .pg_query.Node where_clause = 19 [json_name = "where_clause"]; -inline bool Constraint::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateDomainStmt::_internal_mutable_domainname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.domainname_; } -inline bool Constraint::has_where_clause() const { - return _internal_has_where_clause(); + +// .pg_query.TypeName type_name = 2 [json_name = "typeName"]; +inline bool CreateDomainStmt::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline void Constraint::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void CreateDomainStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& Constraint::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::TypeName& CreateDomainStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::Node& Constraint::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.where_clause) - return _internal_where_clause(); +inline const ::pg_query::TypeName& CreateDomainStmt::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.type_name) + return _internal_type_name(); } -inline void Constraint::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void CreateDomainStmt::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateDomainStmt.type_name) } -inline ::pg_query::Node* Constraint::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TypeName* CreateDomainStmt::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* Constraint::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TypeName* CreateDomainStmt::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateDomainStmt.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; return temp; } -inline ::pg_query::Node* Constraint::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::TypeName* CreateDomainStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.where_clause_; + return _impl_.type_name_; } -inline ::pg_query::Node* Constraint::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.where_clause) +inline ::pg_query::TypeName* CreateDomainStmt::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.type_name) return _msg; } -inline void Constraint::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateDomainStmt::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.where_clause) -} -// .pg_query.RangeVar pktable = 20 [json_name = "pktable"]; -inline bool Constraint::_internal_has_pktable() const { - return this != internal_default_instance() && _impl_.pktable_ != nullptr; + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateDomainStmt.type_name) } -inline bool Constraint::has_pktable() const { - return _internal_has_pktable(); + +// .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"]; +inline bool CreateDomainStmt::has_coll_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.coll_clause_ != nullptr); + return value; } -inline void Constraint::clear_pktable() { - if (GetArenaForAllocation() == nullptr && _impl_.pktable_ != nullptr) { - delete _impl_.pktable_; - } - _impl_.pktable_ = nullptr; +inline void CreateDomainStmt::clear_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.coll_clause_ != nullptr) _impl_.coll_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& Constraint::_internal_pktable() const { - const ::pg_query::RangeVar* p = _impl_.pktable_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::CollateClause& CreateDomainStmt::_internal_coll_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::CollateClause* p = _impl_.coll_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_CollateClause_default_instance_); } -inline const ::pg_query::RangeVar& Constraint::pktable() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.pktable) - return _internal_pktable(); +inline const ::pg_query::CollateClause& CreateDomainStmt::coll_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.coll_clause) + return _internal_coll_clause(); } -inline void Constraint::unsafe_arena_set_allocated_pktable( - ::pg_query::RangeVar* pktable) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pktable_); +inline void CreateDomainStmt::unsafe_arena_set_allocated_coll_clause(::pg_query::CollateClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.coll_clause_); } - _impl_.pktable_ = pktable; - if (pktable) { - + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.Constraint.pktable) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateDomainStmt.coll_clause) } -inline ::pg_query::RangeVar* Constraint::release_pktable() { - - ::pg_query::RangeVar* temp = _impl_.pktable_; - _impl_.pktable_ = nullptr; +inline ::pg_query::CollateClause* CreateDomainStmt::release_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::CollateClause* released = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* Constraint::unsafe_arena_release_pktable() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.pktable) - - ::pg_query::RangeVar* temp = _impl_.pktable_; - _impl_.pktable_ = nullptr; +inline ::pg_query::CollateClause* CreateDomainStmt::unsafe_arena_release_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateDomainStmt.coll_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::CollateClause* temp = _impl_.coll_clause_; + _impl_.coll_clause_ = nullptr; return temp; } -inline ::pg_query::RangeVar* Constraint::_internal_mutable_pktable() { - - if (_impl_.pktable_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.pktable_ = p; +inline ::pg_query::CollateClause* CreateDomainStmt::_internal_mutable_coll_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.coll_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::CollateClause>(GetArena()); + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(p); } - return _impl_.pktable_; + return _impl_.coll_clause_; } -inline ::pg_query::RangeVar* Constraint::mutable_pktable() { - ::pg_query::RangeVar* _msg = _internal_mutable_pktable(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.pktable) +inline ::pg_query::CollateClause* CreateDomainStmt::mutable_coll_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::CollateClause* _msg = _internal_mutable_coll_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.coll_clause) return _msg; } -inline void Constraint::set_allocated_pktable(::pg_query::RangeVar* pktable) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateDomainStmt::set_allocated_coll_clause(::pg_query::CollateClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.pktable_; + delete reinterpret_cast<::pg_query::CollateClause*>(_impl_.coll_clause_); } - if (pktable) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pktable); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::CollateClause*>(value)->GetArena(); if (message_arena != submessage_arena) { - pktable = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pktable, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.pktable_ = pktable; - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.pktable) + + _impl_.coll_clause_ = reinterpret_cast<::pg_query::CollateClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateDomainStmt.coll_clause) } -// repeated .pg_query.Node fk_attrs = 21 [json_name = "fk_attrs"]; -inline int Constraint::_internal_fk_attrs_size() const { - return _impl_.fk_attrs_.size(); +// repeated .pg_query.Node constraints = 4 [json_name = "constraints"]; +inline int CreateDomainStmt::_internal_constraints_size() const { + return _internal_constraints().size(); } -inline int Constraint::fk_attrs_size() const { - return _internal_fk_attrs_size(); +inline int CreateDomainStmt::constraints_size() const { + return _internal_constraints_size(); } -inline void Constraint::clear_fk_attrs() { - _impl_.fk_attrs_.Clear(); +inline void CreateDomainStmt::clear_constraints() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraints_.Clear(); } -inline ::pg_query::Node* Constraint::mutable_fk_attrs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_attrs) - return _impl_.fk_attrs_.Mutable(index); +inline ::pg_query::Node* CreateDomainStmt::mutable_constraints(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateDomainStmt.constraints) + return _internal_mutable_constraints()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_fk_attrs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.fk_attrs) - return &_impl_.fk_attrs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateDomainStmt::mutable_constraints() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateDomainStmt.constraints) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraints(); } -inline const ::pg_query::Node& Constraint::_internal_fk_attrs(int index) const { - return _impl_.fk_attrs_.Get(index); +inline const ::pg_query::Node& CreateDomainStmt::constraints(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateDomainStmt.constraints) + return _internal_constraints().Get(index); } -inline const ::pg_query::Node& Constraint::fk_attrs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_attrs) - return _internal_fk_attrs(index); +inline ::pg_query::Node* CreateDomainStmt::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateDomainStmt.constraints) + return _add; } -inline ::pg_query::Node* Constraint::_internal_add_fk_attrs() { - return _impl_.fk_attrs_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateDomainStmt::constraints() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateDomainStmt.constraints) + return _internal_constraints(); } -inline ::pg_query::Node* Constraint::add_fk_attrs() { - ::pg_query::Node* _add = _internal_add_fk_attrs(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.fk_attrs) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateDomainStmt::_internal_constraints() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraints_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::fk_attrs() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.fk_attrs) - return _impl_.fk_attrs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateDomainStmt::_internal_mutable_constraints() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraints_; } -// repeated .pg_query.Node pk_attrs = 22 [json_name = "pk_attrs"]; -inline int Constraint::_internal_pk_attrs_size() const { - return _impl_.pk_attrs_.size(); +// ------------------------------------------------------------------- + +// CreateOpClassStmt + +// repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"]; +inline int CreateOpClassStmt::_internal_opclassname_size() const { + return _internal_opclassname().size(); } -inline int Constraint::pk_attrs_size() const { - return _internal_pk_attrs_size(); +inline int CreateOpClassStmt::opclassname_size() const { + return _internal_opclassname_size(); } -inline void Constraint::clear_pk_attrs() { - _impl_.pk_attrs_.Clear(); +inline void CreateOpClassStmt::clear_opclassname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opclassname_.Clear(); } -inline ::pg_query::Node* Constraint::mutable_pk_attrs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.pk_attrs) - return _impl_.pk_attrs_.Mutable(index); +inline ::pg_query::Node* CreateOpClassStmt::mutable_opclassname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.opclassname) + return _internal_mutable_opclassname()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_pk_attrs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.pk_attrs) - return &_impl_.pk_attrs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpClassStmt::mutable_opclassname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.opclassname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opclassname(); } -inline const ::pg_query::Node& Constraint::_internal_pk_attrs(int index) const { - return _impl_.pk_attrs_.Get(index); +inline const ::pg_query::Node& CreateOpClassStmt::opclassname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.opclassname) + return _internal_opclassname().Get(index); } -inline const ::pg_query::Node& Constraint::pk_attrs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.pk_attrs) - return _internal_pk_attrs(index); +inline ::pg_query::Node* CreateOpClassStmt::add_opclassname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opclassname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.opclassname) + return _add; } -inline ::pg_query::Node* Constraint::_internal_add_pk_attrs() { - return _impl_.pk_attrs_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpClassStmt::opclassname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.opclassname) + return _internal_opclassname(); } -inline ::pg_query::Node* Constraint::add_pk_attrs() { - ::pg_query::Node* _add = _internal_add_pk_attrs(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.pk_attrs) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpClassStmt::_internal_opclassname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opclassname_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::pk_attrs() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.pk_attrs) - return _impl_.pk_attrs_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpClassStmt::_internal_mutable_opclassname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opclassname_; } -// string fk_matchtype = 23 [json_name = "fk_matchtype"]; -inline void Constraint::clear_fk_matchtype() { - _impl_.fk_matchtype_.ClearToEmpty(); +// repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"]; +inline int CreateOpClassStmt::_internal_opfamilyname_size() const { + return _internal_opfamilyname().size(); } -inline const std::string& Constraint::fk_matchtype() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_matchtype) - return _internal_fk_matchtype(); +inline int CreateOpClassStmt::opfamilyname_size() const { + return _internal_opfamilyname_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_fk_matchtype(ArgT0&& arg0, ArgT... args) { - - _impl_.fk_matchtype_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_matchtype) +inline void CreateOpClassStmt::clear_opfamilyname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opfamilyname_.Clear(); } -inline std::string* Constraint::mutable_fk_matchtype() { - std::string* _s = _internal_mutable_fk_matchtype(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_matchtype) - return _s; +inline ::pg_query::Node* CreateOpClassStmt::mutable_opfamilyname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.opfamilyname) + return _internal_mutable_opfamilyname()->Mutable(index); } -inline const std::string& Constraint::_internal_fk_matchtype() const { - return _impl_.fk_matchtype_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpClassStmt::mutable_opfamilyname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.opfamilyname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opfamilyname(); } -inline void Constraint::_internal_set_fk_matchtype(const std::string& value) { - - _impl_.fk_matchtype_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateOpClassStmt::opfamilyname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.opfamilyname) + return _internal_opfamilyname().Get(index); } -inline std::string* Constraint::_internal_mutable_fk_matchtype() { - - return _impl_.fk_matchtype_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateOpClassStmt::add_opfamilyname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opfamilyname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.opfamilyname) + return _add; } -inline std::string* Constraint::release_fk_matchtype() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_matchtype) - return _impl_.fk_matchtype_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpClassStmt::opfamilyname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.opfamilyname) + return _internal_opfamilyname(); } -inline void Constraint::set_allocated_fk_matchtype(std::string* fk_matchtype) { - if (fk_matchtype != nullptr) { - - } else { - - } - _impl_.fk_matchtype_.SetAllocated(fk_matchtype, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fk_matchtype_.IsDefault()) { - _impl_.fk_matchtype_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_matchtype) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpClassStmt::_internal_opfamilyname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opfamilyname_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpClassStmt::_internal_mutable_opfamilyname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opfamilyname_; } -// string fk_upd_action = 24 [json_name = "fk_upd_action"]; -inline void Constraint::clear_fk_upd_action() { - _impl_.fk_upd_action_.ClearToEmpty(); +// string amname = 3 [json_name = "amname"]; +inline void CreateOpClassStmt::clear_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.ClearToEmpty(); } -inline const std::string& Constraint::fk_upd_action() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_upd_action) - return _internal_fk_upd_action(); +inline const std::string& CreateOpClassStmt::amname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.amname) + return _internal_amname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_fk_upd_action(ArgT0&& arg0, ArgT... args) { - - _impl_.fk_upd_action_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_upd_action) +template +inline PROTOBUF_ALWAYS_INLINE void CreateOpClassStmt::set_amname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateOpClassStmt.amname) } -inline std::string* Constraint::mutable_fk_upd_action() { - std::string* _s = _internal_mutable_fk_upd_action(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_upd_action) +inline std::string* CreateOpClassStmt::mutable_amname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_amname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.amname) return _s; } -inline const std::string& Constraint::_internal_fk_upd_action() const { - return _impl_.fk_upd_action_.Get(); +inline const std::string& CreateOpClassStmt::_internal_amname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.amname_.Get(); } -inline void Constraint::_internal_set_fk_upd_action(const std::string& value) { - - _impl_.fk_upd_action_.Set(value, GetArenaForAllocation()); +inline void CreateOpClassStmt::_internal_set_amname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(value, GetArena()); } -inline std::string* Constraint::_internal_mutable_fk_upd_action() { - - return _impl_.fk_upd_action_.Mutable(GetArenaForAllocation()); +inline std::string* CreateOpClassStmt::_internal_mutable_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.amname_.Mutable( GetArena()); } -inline std::string* Constraint::release_fk_upd_action() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_upd_action) - return _impl_.fk_upd_action_.Release(); +inline std::string* CreateOpClassStmt::release_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateOpClassStmt.amname) + return _impl_.amname_.Release(); } -inline void Constraint::set_allocated_fk_upd_action(std::string* fk_upd_action) { - if (fk_upd_action != nullptr) { - - } else { - - } - _impl_.fk_upd_action_.SetAllocated(fk_upd_action, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fk_upd_action_.IsDefault()) { - _impl_.fk_upd_action_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_upd_action) +inline void CreateOpClassStmt::set_allocated_amname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.amname_.IsDefault()) { + _impl_.amname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassStmt.amname) } -// string fk_del_action = 25 [json_name = "fk_del_action"]; -inline void Constraint::clear_fk_del_action() { - _impl_.fk_del_action_.ClearToEmpty(); +// .pg_query.TypeName datatype = 4 [json_name = "datatype"]; +inline bool CreateOpClassStmt::has_datatype() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.datatype_ != nullptr); + return value; } -inline const std::string& Constraint::fk_del_action() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_del_action) - return _internal_fk_del_action(); +inline void CreateOpClassStmt::clear_datatype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.datatype_ != nullptr) _impl_.datatype_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void Constraint::set_fk_del_action(ArgT0&& arg0, ArgT... args) { - - _impl_.fk_del_action_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.Constraint.fk_del_action) +inline const ::pg_query::TypeName& CreateOpClassStmt::_internal_datatype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.datatype_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline std::string* Constraint::mutable_fk_del_action() { - std::string* _s = _internal_mutable_fk_del_action(); - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_del_action) - return _s; +inline const ::pg_query::TypeName& CreateOpClassStmt::datatype() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.datatype) + return _internal_datatype(); } -inline const std::string& Constraint::_internal_fk_del_action() const { - return _impl_.fk_del_action_.Get(); +inline void CreateOpClassStmt::unsafe_arena_set_allocated_datatype(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.datatype_); + } + _impl_.datatype_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassStmt.datatype) } -inline void Constraint::_internal_set_fk_del_action(const std::string& value) { - - _impl_.fk_del_action_.Set(value, GetArenaForAllocation()); +inline ::pg_query::TypeName* CreateOpClassStmt::release_datatype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.datatype_; + _impl_.datatype_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* Constraint::_internal_mutable_fk_del_action() { - - return _impl_.fk_del_action_.Mutable(GetArenaForAllocation()); +inline ::pg_query::TypeName* CreateOpClassStmt::unsafe_arena_release_datatype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateOpClassStmt.datatype) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.datatype_; + _impl_.datatype_ = nullptr; + return temp; } -inline std::string* Constraint::release_fk_del_action() { - // @@protoc_insertion_point(field_release:pg_query.Constraint.fk_del_action) - return _impl_.fk_del_action_.Release(); +inline ::pg_query::TypeName* CreateOpClassStmt::_internal_mutable_datatype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.datatype_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.datatype_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.datatype_; } -inline void Constraint::set_allocated_fk_del_action(std::string* fk_del_action) { - if (fk_del_action != nullptr) { - - } else { - +inline ::pg_query::TypeName* CreateOpClassStmt::mutable_datatype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_datatype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.datatype) + return _msg; +} +inline void CreateOpClassStmt::set_allocated_datatype(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.datatype_); } - _impl_.fk_del_action_.SetAllocated(fk_del_action, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.fk_del_action_.IsDefault()) { - _impl_.fk_del_action_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.Constraint.fk_del_action) + + _impl_.datatype_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassStmt.datatype) } -// repeated .pg_query.Node fk_del_set_cols = 26 [json_name = "fk_del_set_cols"]; -inline int Constraint::_internal_fk_del_set_cols_size() const { - return _impl_.fk_del_set_cols_.size(); +// repeated .pg_query.Node items = 5 [json_name = "items"]; +inline int CreateOpClassStmt::_internal_items_size() const { + return _internal_items().size(); } -inline int Constraint::fk_del_set_cols_size() const { - return _internal_fk_del_set_cols_size(); +inline int CreateOpClassStmt::items_size() const { + return _internal_items_size(); } -inline void Constraint::clear_fk_del_set_cols() { - _impl_.fk_del_set_cols_.Clear(); +inline void CreateOpClassStmt::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.items_.Clear(); } -inline ::pg_query::Node* Constraint::mutable_fk_del_set_cols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.fk_del_set_cols) - return _impl_.fk_del_set_cols_.Mutable(index); +inline ::pg_query::Node* CreateOpClassStmt::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassStmt.items) + return _internal_mutable_items()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_fk_del_set_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.fk_del_set_cols) - return &_impl_.fk_del_set_cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpClassStmt::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassStmt.items) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); } -inline const ::pg_query::Node& Constraint::_internal_fk_del_set_cols(int index) const { - return _impl_.fk_del_set_cols_.Get(index); +inline const ::pg_query::Node& CreateOpClassStmt::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.items) + return _internal_items().Get(index); } -inline const ::pg_query::Node& Constraint::fk_del_set_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.fk_del_set_cols) - return _internal_fk_del_set_cols(index); +inline ::pg_query::Node* CreateOpClassStmt::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpClassStmt.items) + return _add; } -inline ::pg_query::Node* Constraint::_internal_add_fk_del_set_cols() { - return _impl_.fk_del_set_cols_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpClassStmt::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpClassStmt.items) + return _internal_items(); } -inline ::pg_query::Node* Constraint::add_fk_del_set_cols() { - ::pg_query::Node* _add = _internal_add_fk_del_set_cols(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.fk_del_set_cols) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpClassStmt::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.items_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::fk_del_set_cols() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.fk_del_set_cols) - return _impl_.fk_del_set_cols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpClassStmt::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; } -// repeated .pg_query.Node old_conpfeqop = 27 [json_name = "old_conpfeqop"]; -inline int Constraint::_internal_old_conpfeqop_size() const { - return _impl_.old_conpfeqop_.size(); +// bool is_default = 6 [json_name = "isDefault"]; +inline void CreateOpClassStmt::clear_is_default() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_default_ = false; } -inline int Constraint::old_conpfeqop_size() const { - return _internal_old_conpfeqop_size(); +inline bool CreateOpClassStmt::is_default() const { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassStmt.is_default) + return _internal_is_default(); } -inline void Constraint::clear_old_conpfeqop() { - _impl_.old_conpfeqop_.Clear(); +inline void CreateOpClassStmt::set_is_default(bool value) { + _internal_set_is_default(value); + // @@protoc_insertion_point(field_set:pg_query.CreateOpClassStmt.is_default) } -inline ::pg_query::Node* Constraint::mutable_old_conpfeqop(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.Constraint.old_conpfeqop) - return _impl_.old_conpfeqop_.Mutable(index); +inline bool CreateOpClassStmt::_internal_is_default() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_default_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -Constraint::mutable_old_conpfeqop() { - // @@protoc_insertion_point(field_mutable_list:pg_query.Constraint.old_conpfeqop) - return &_impl_.old_conpfeqop_; +inline void CreateOpClassStmt::_internal_set_is_default(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_default_ = value; } -inline const ::pg_query::Node& Constraint::_internal_old_conpfeqop(int index) const { - return _impl_.old_conpfeqop_.Get(index); + +// ------------------------------------------------------------------- + +// CreateOpClassItem + +// int32 itemtype = 1 [json_name = "itemtype"]; +inline void CreateOpClassItem::clear_itemtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.itemtype_ = 0; } -inline const ::pg_query::Node& Constraint::old_conpfeqop(int index) const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.old_conpfeqop) - return _internal_old_conpfeqop(index); +inline ::int32_t CreateOpClassItem::itemtype() const { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.itemtype) + return _internal_itemtype(); } -inline ::pg_query::Node* Constraint::_internal_add_old_conpfeqop() { - return _impl_.old_conpfeqop_.Add(); +inline void CreateOpClassItem::set_itemtype(::int32_t value) { + _internal_set_itemtype(value); + // @@protoc_insertion_point(field_set:pg_query.CreateOpClassItem.itemtype) } -inline ::pg_query::Node* Constraint::add_old_conpfeqop() { - ::pg_query::Node* _add = _internal_add_old_conpfeqop(); - // @@protoc_insertion_point(field_add:pg_query.Constraint.old_conpfeqop) - return _add; +inline ::int32_t CreateOpClassItem::_internal_itemtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.itemtype_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -Constraint::old_conpfeqop() const { - // @@protoc_insertion_point(field_list:pg_query.Constraint.old_conpfeqop) - return _impl_.old_conpfeqop_; +inline void CreateOpClassItem::_internal_set_itemtype(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.itemtype_ = value; } -// uint32 old_pktable_oid = 28 [json_name = "old_pktable_oid"]; -inline void Constraint::clear_old_pktable_oid() { - _impl_.old_pktable_oid_ = 0u; +// .pg_query.ObjectWithArgs name = 2 [json_name = "name"]; +inline bool CreateOpClassItem::has_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.name_ != nullptr); + return value; } -inline uint32_t Constraint::_internal_old_pktable_oid() const { - return _impl_.old_pktable_oid_; +inline void CreateOpClassItem::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.name_ != nullptr) _impl_.name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline uint32_t Constraint::old_pktable_oid() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.old_pktable_oid) - return _internal_old_pktable_oid(); +inline const ::pg_query::ObjectWithArgs& CreateOpClassItem::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); } -inline void Constraint::_internal_set_old_pktable_oid(uint32_t value) { - - _impl_.old_pktable_oid_ = value; +inline const ::pg_query::ObjectWithArgs& CreateOpClassItem::name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.name) + return _internal_name(); } -inline void Constraint::set_old_pktable_oid(uint32_t value) { - _internal_set_old_pktable_oid(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.old_pktable_oid) +inline void CreateOpClassItem::unsafe_arena_set_allocated_name(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.name_); + } + _impl_.name_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassItem.name) } +inline ::pg_query::ObjectWithArgs* CreateOpClassItem::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool skip_validation = 29 [json_name = "skip_validation"]; -inline void Constraint::clear_skip_validation() { - _impl_.skip_validation_ = false; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* released = _impl_.name_; + _impl_.name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool Constraint::_internal_skip_validation() const { - return _impl_.skip_validation_; +inline ::pg_query::ObjectWithArgs* CreateOpClassItem::unsafe_arena_release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateOpClassItem.name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* temp = _impl_.name_; + _impl_.name_ = nullptr; + return temp; } -inline bool Constraint::skip_validation() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.skip_validation) - return _internal_skip_validation(); +inline ::pg_query::ObjectWithArgs* CreateOpClassItem::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.name_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); + } + return _impl_.name_; } -inline void Constraint::_internal_set_skip_validation(bool value) { - - _impl_.skip_validation_ = value; +inline ::pg_query::ObjectWithArgs* CreateOpClassItem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.name) + return _msg; } -inline void Constraint::set_skip_validation(bool value) { - _internal_set_skip_validation(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.skip_validation) +inline void CreateOpClassItem::set_allocated_name(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.name_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.name_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassItem.name) } -// bool initially_valid = 30 [json_name = "initially_valid"]; -inline void Constraint::clear_initially_valid() { - _impl_.initially_valid_ = false; +// int32 number = 3 [json_name = "number"]; +inline void CreateOpClassItem::clear_number() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.number_ = 0; } -inline bool Constraint::_internal_initially_valid() const { - return _impl_.initially_valid_; +inline ::int32_t CreateOpClassItem::number() const { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.number) + return _internal_number(); } -inline bool Constraint::initially_valid() const { - // @@protoc_insertion_point(field_get:pg_query.Constraint.initially_valid) - return _internal_initially_valid(); +inline void CreateOpClassItem::set_number(::int32_t value) { + _internal_set_number(value); + // @@protoc_insertion_point(field_set:pg_query.CreateOpClassItem.number) } -inline void Constraint::_internal_set_initially_valid(bool value) { - - _impl_.initially_valid_ = value; +inline ::int32_t CreateOpClassItem::_internal_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.number_; } -inline void Constraint::set_initially_valid(bool value) { - _internal_set_initially_valid(value); - // @@protoc_insertion_point(field_set:pg_query.Constraint.initially_valid) +inline void CreateOpClassItem::_internal_set_number(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.number_ = value; } -// ------------------------------------------------------------------- - -// DefElem - -// string defnamespace = 1 [json_name = "defnamespace"]; -inline void DefElem::clear_defnamespace() { - _impl_.defnamespace_.ClearToEmpty(); +// repeated .pg_query.Node order_family = 4 [json_name = "order_family"]; +inline int CreateOpClassItem::_internal_order_family_size() const { + return _internal_order_family().size(); } -inline const std::string& DefElem::defnamespace() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defnamespace) - return _internal_defnamespace(); +inline int CreateOpClassItem::order_family_size() const { + return _internal_order_family_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void DefElem::set_defnamespace(ArgT0&& arg0, ArgT... args) { - - _impl_.defnamespace_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defnamespace) +inline void CreateOpClassItem::clear_order_family() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.order_family_.Clear(); } -inline std::string* DefElem::mutable_defnamespace() { - std::string* _s = _internal_mutable_defnamespace(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defnamespace) - return _s; +inline ::pg_query::Node* CreateOpClassItem::mutable_order_family(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.order_family) + return _internal_mutable_order_family()->Mutable(index); } -inline const std::string& DefElem::_internal_defnamespace() const { - return _impl_.defnamespace_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpClassItem::mutable_order_family() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassItem.order_family) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_order_family(); } -inline void DefElem::_internal_set_defnamespace(const std::string& value) { - - _impl_.defnamespace_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateOpClassItem::order_family(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.order_family) + return _internal_order_family().Get(index); } -inline std::string* DefElem::_internal_mutable_defnamespace() { - - return _impl_.defnamespace_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateOpClassItem::add_order_family() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_order_family()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpClassItem.order_family) + return _add; } -inline std::string* DefElem::release_defnamespace() { - // @@protoc_insertion_point(field_release:pg_query.DefElem.defnamespace) - return _impl_.defnamespace_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpClassItem::order_family() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpClassItem.order_family) + return _internal_order_family(); } -inline void DefElem::set_allocated_defnamespace(std::string* defnamespace) { - if (defnamespace != nullptr) { - - } else { - - } - _impl_.defnamespace_.SetAllocated(defnamespace, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.defnamespace_.IsDefault()) { - _impl_.defnamespace_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defnamespace) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpClassItem::_internal_order_family() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.order_family_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpClassItem::_internal_mutable_order_family() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.order_family_; } -// string defname = 2 [json_name = "defname"]; -inline void DefElem::clear_defname() { - _impl_.defname_.ClearToEmpty(); +// repeated .pg_query.Node class_args = 5 [json_name = "class_args"]; +inline int CreateOpClassItem::_internal_class_args_size() const { + return _internal_class_args().size(); } -inline const std::string& DefElem::defname() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defname) - return _internal_defname(); +inline int CreateOpClassItem::class_args_size() const { + return _internal_class_args_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void DefElem::set_defname(ArgT0&& arg0, ArgT... args) { - - _impl_.defname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defname) +inline void CreateOpClassItem::clear_class_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.class_args_.Clear(); } -inline std::string* DefElem::mutable_defname() { - std::string* _s = _internal_mutable_defname(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.defname) - return _s; +inline ::pg_query::Node* CreateOpClassItem::mutable_class_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.class_args) + return _internal_mutable_class_args()->Mutable(index); } -inline const std::string& DefElem::_internal_defname() const { - return _impl_.defname_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpClassItem::mutable_class_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassItem.class_args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_class_args(); } -inline void DefElem::_internal_set_defname(const std::string& value) { - - _impl_.defname_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateOpClassItem::class_args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.class_args) + return _internal_class_args().Get(index); } -inline std::string* DefElem::_internal_mutable_defname() { - - return _impl_.defname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateOpClassItem::add_class_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_class_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpClassItem.class_args) + return _add; } -inline std::string* DefElem::release_defname() { - // @@protoc_insertion_point(field_release:pg_query.DefElem.defname) - return _impl_.defname_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpClassItem::class_args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpClassItem.class_args) + return _internal_class_args(); } -inline void DefElem::set_allocated_defname(std::string* defname) { - if (defname != nullptr) { - - } else { - - } - _impl_.defname_.SetAllocated(defname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.defname_.IsDefault()) { - _impl_.defname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.defname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpClassItem::_internal_class_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.class_args_; } - -// .pg_query.Node arg = 3 [json_name = "arg"]; -inline bool DefElem::_internal_has_arg() const { - return this != internal_default_instance() && _impl_.arg_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpClassItem::_internal_mutable_class_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.class_args_; } -inline bool DefElem::has_arg() const { - return _internal_has_arg(); + +// .pg_query.TypeName storedtype = 6 [json_name = "storedtype"]; +inline bool CreateOpClassItem::has_storedtype() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.storedtype_ != nullptr); + return value; } -inline void DefElem::clear_arg() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_ != nullptr) { - delete _impl_.arg_; - } - _impl_.arg_ = nullptr; +inline void CreateOpClassItem::clear_storedtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.storedtype_ != nullptr) _impl_.storedtype_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& DefElem::_internal_arg() const { - const ::pg_query::Node* p = _impl_.arg_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::TypeName& CreateOpClassItem::_internal_storedtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.storedtype_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::Node& DefElem::arg() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.arg) - return _internal_arg(); +inline const ::pg_query::TypeName& CreateOpClassItem::storedtype() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.storedtype) + return _internal_storedtype(); } -inline void DefElem::unsafe_arena_set_allocated_arg( - ::pg_query::Node* arg) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_); +inline void CreateOpClassItem::unsafe_arena_set_allocated_storedtype(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.storedtype_); } - _impl_.arg_ = arg; - if (arg) { - + _impl_.storedtype_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DefElem.arg) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassItem.storedtype) } -inline ::pg_query::Node* DefElem::release_arg() { - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::TypeName* CreateOpClassItem::release_storedtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* released = _impl_.storedtype_; + _impl_.storedtype_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* DefElem::unsafe_arena_release_arg() { - // @@protoc_insertion_point(field_release:pg_query.DefElem.arg) - - ::pg_query::Node* temp = _impl_.arg_; - _impl_.arg_ = nullptr; +inline ::pg_query::TypeName* CreateOpClassItem::unsafe_arena_release_storedtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateOpClassItem.storedtype) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* temp = _impl_.storedtype_; + _impl_.storedtype_ = nullptr; return temp; } -inline ::pg_query::Node* DefElem::_internal_mutable_arg() { - - if (_impl_.arg_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.arg_ = p; +inline ::pg_query::TypeName* CreateOpClassItem::_internal_mutable_storedtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.storedtype_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.storedtype_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.arg_; + return _impl_.storedtype_; } -inline ::pg_query::Node* DefElem::mutable_arg() { - ::pg_query::Node* _msg = _internal_mutable_arg(); - // @@protoc_insertion_point(field_mutable:pg_query.DefElem.arg) +inline ::pg_query::TypeName* CreateOpClassItem::mutable_storedtype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_storedtype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.storedtype) return _msg; } -inline void DefElem::set_allocated_arg(::pg_query::Node* arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateOpClassItem::set_allocated_storedtype(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.storedtype_); } - if (arg) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.arg_ = arg; - // @@protoc_insertion_point(field_set_allocated:pg_query.DefElem.arg) + + _impl_.storedtype_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassItem.storedtype) } -// .pg_query.DefElemAction defaction = 4 [json_name = "defaction"]; -inline void DefElem::clear_defaction() { - _impl_.defaction_ = 0; +// ------------------------------------------------------------------- + +// CreateOpFamilyStmt + +// repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; +inline int CreateOpFamilyStmt::_internal_opfamilyname_size() const { + return _internal_opfamilyname().size(); } -inline ::pg_query::DefElemAction DefElem::_internal_defaction() const { - return static_cast< ::pg_query::DefElemAction >(_impl_.defaction_); +inline int CreateOpFamilyStmt::opfamilyname_size() const { + return _internal_opfamilyname_size(); } -inline ::pg_query::DefElemAction DefElem::defaction() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.defaction) - return _internal_defaction(); +inline void CreateOpFamilyStmt::clear_opfamilyname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opfamilyname_.Clear(); } -inline void DefElem::_internal_set_defaction(::pg_query::DefElemAction value) { - - _impl_.defaction_ = value; +inline ::pg_query::Node* CreateOpFamilyStmt::mutable_opfamilyname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpFamilyStmt.opfamilyname) + return _internal_mutable_opfamilyname()->Mutable(index); } -inline void DefElem::set_defaction(::pg_query::DefElemAction value) { - _internal_set_defaction(value); - // @@protoc_insertion_point(field_set:pg_query.DefElem.defaction) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateOpFamilyStmt::mutable_opfamilyname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpFamilyStmt.opfamilyname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opfamilyname(); +} +inline const ::pg_query::Node& CreateOpFamilyStmt::opfamilyname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpFamilyStmt.opfamilyname) + return _internal_opfamilyname().Get(index); +} +inline ::pg_query::Node* CreateOpFamilyStmt::add_opfamilyname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opfamilyname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateOpFamilyStmt.opfamilyname) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateOpFamilyStmt::opfamilyname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateOpFamilyStmt.opfamilyname) + return _internal_opfamilyname(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateOpFamilyStmt::_internal_opfamilyname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opfamilyname_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateOpFamilyStmt::_internal_mutable_opfamilyname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opfamilyname_; } -// int32 location = 5 [json_name = "location"]; -inline void DefElem::clear_location() { - _impl_.location_ = 0; +// string amname = 2 [json_name = "amname"]; +inline void CreateOpFamilyStmt::clear_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.ClearToEmpty(); } -inline int32_t DefElem::_internal_location() const { - return _impl_.location_; +inline const std::string& CreateOpFamilyStmt::amname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateOpFamilyStmt.amname) + return _internal_amname(); } -inline int32_t DefElem::location() const { - // @@protoc_insertion_point(field_get:pg_query.DefElem.location) - return _internal_location(); +template +inline PROTOBUF_ALWAYS_INLINE void CreateOpFamilyStmt::set_amname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateOpFamilyStmt.amname) } -inline void DefElem::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline std::string* CreateOpFamilyStmt::mutable_amname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_amname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateOpFamilyStmt.amname) + return _s; } -inline void DefElem::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.DefElem.location) +inline const std::string& CreateOpFamilyStmt::_internal_amname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.amname_.Get(); +} +inline void CreateOpFamilyStmt::_internal_set_amname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(value, GetArena()); +} +inline std::string* CreateOpFamilyStmt::_internal_mutable_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.amname_.Mutable( GetArena()); +} +inline std::string* CreateOpFamilyStmt::release_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateOpFamilyStmt.amname) + return _impl_.amname_.Release(); +} +inline void CreateOpFamilyStmt::set_allocated_amname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.amname_.IsDefault()) { + _impl_.amname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpFamilyStmt.amname) } // ------------------------------------------------------------------- -// RangeTblEntry +// AlterOpFamilyStmt -// .pg_query.RTEKind rtekind = 1 [json_name = "rtekind"]; -inline void RangeTblEntry::clear_rtekind() { - _impl_.rtekind_ = 0; +// repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"]; +inline int AlterOpFamilyStmt::_internal_opfamilyname_size() const { + return _internal_opfamilyname().size(); } -inline ::pg_query::RTEKind RangeTblEntry::_internal_rtekind() const { - return static_cast< ::pg_query::RTEKind >(_impl_.rtekind_); +inline int AlterOpFamilyStmt::opfamilyname_size() const { + return _internal_opfamilyname_size(); } -inline ::pg_query::RTEKind RangeTblEntry::rtekind() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rtekind) - return _internal_rtekind(); +inline void AlterOpFamilyStmt::clear_opfamilyname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.opfamilyname_.Clear(); } -inline void RangeTblEntry::_internal_set_rtekind(::pg_query::RTEKind value) { - - _impl_.rtekind_ = value; +inline ::pg_query::Node* AlterOpFamilyStmt::mutable_opfamilyname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.opfamilyname) + return _internal_mutable_opfamilyname()->Mutable(index); } -inline void RangeTblEntry::set_rtekind(::pg_query::RTEKind value) { - _internal_set_rtekind(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rtekind) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterOpFamilyStmt::mutable_opfamilyname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOpFamilyStmt.opfamilyname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_opfamilyname(); } - -// uint32 relid = 2 [json_name = "relid"]; -inline void RangeTblEntry::clear_relid() { - _impl_.relid_ = 0u; +inline const ::pg_query::Node& AlterOpFamilyStmt::opfamilyname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.opfamilyname) + return _internal_opfamilyname().Get(index); } -inline uint32_t RangeTblEntry::_internal_relid() const { - return _impl_.relid_; +inline ::pg_query::Node* AlterOpFamilyStmt::add_opfamilyname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_opfamilyname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterOpFamilyStmt.opfamilyname) + return _add; } -inline uint32_t RangeTblEntry::relid() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relid) - return _internal_relid(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterOpFamilyStmt::opfamilyname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterOpFamilyStmt.opfamilyname) + return _internal_opfamilyname(); } -inline void RangeTblEntry::_internal_set_relid(uint32_t value) { - - _impl_.relid_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterOpFamilyStmt::_internal_opfamilyname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.opfamilyname_; } -inline void RangeTblEntry::set_relid(uint32_t value) { - _internal_set_relid(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relid) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterOpFamilyStmt::_internal_mutable_opfamilyname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.opfamilyname_; } -// string relkind = 3 [json_name = "relkind"]; -inline void RangeTblEntry::clear_relkind() { - _impl_.relkind_.ClearToEmpty(); +// string amname = 2 [json_name = "amname"]; +inline void AlterOpFamilyStmt::clear_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.ClearToEmpty(); } -inline const std::string& RangeTblEntry::relkind() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.relkind) - return _internal_relkind(); +inline const std::string& AlterOpFamilyStmt::amname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.amname) + return _internal_amname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeTblEntry::set_relkind(ArgT0&& arg0, ArgT... args) { - - _impl_.relkind_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.relkind) +template +inline PROTOBUF_ALWAYS_INLINE void AlterOpFamilyStmt::set_amname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterOpFamilyStmt.amname) } -inline std::string* RangeTblEntry::mutable_relkind() { - std::string* _s = _internal_mutable_relkind(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.relkind) +inline std::string* AlterOpFamilyStmt::mutable_amname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_amname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.amname) return _s; } -inline const std::string& RangeTblEntry::_internal_relkind() const { - return _impl_.relkind_.Get(); +inline const std::string& AlterOpFamilyStmt::_internal_amname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.amname_.Get(); } -inline void RangeTblEntry::_internal_set_relkind(const std::string& value) { - - _impl_.relkind_.Set(value, GetArenaForAllocation()); +inline void AlterOpFamilyStmt::_internal_set_amname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.amname_.Set(value, GetArena()); } -inline std::string* RangeTblEntry::_internal_mutable_relkind() { - - return _impl_.relkind_.Mutable(GetArenaForAllocation()); +inline std::string* AlterOpFamilyStmt::_internal_mutable_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.amname_.Mutable( GetArena()); } -inline std::string* RangeTblEntry::release_relkind() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.relkind) - return _impl_.relkind_.Release(); +inline std::string* AlterOpFamilyStmt::release_amname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterOpFamilyStmt.amname) + return _impl_.amname_.Release(); } -inline void RangeTblEntry::set_allocated_relkind(std::string* relkind) { - if (relkind != nullptr) { - - } else { - - } - _impl_.relkind_.SetAllocated(relkind, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relkind_.IsDefault()) { - _impl_.relkind_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.relkind) +inline void AlterOpFamilyStmt::set_allocated_amname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.amname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.amname_.IsDefault()) { + _impl_.amname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOpFamilyStmt.amname) } -// int32 rellockmode = 4 [json_name = "rellockmode"]; -inline void RangeTblEntry::clear_rellockmode() { - _impl_.rellockmode_ = 0; +// bool is_drop = 3 [json_name = "isDrop"]; +inline void AlterOpFamilyStmt::clear_is_drop() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_drop_ = false; } -inline int32_t RangeTblEntry::_internal_rellockmode() const { - return _impl_.rellockmode_; +inline bool AlterOpFamilyStmt::is_drop() const { + // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.is_drop) + return _internal_is_drop(); } -inline int32_t RangeTblEntry::rellockmode() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.rellockmode) - return _internal_rellockmode(); +inline void AlterOpFamilyStmt::set_is_drop(bool value) { + _internal_set_is_drop(value); + // @@protoc_insertion_point(field_set:pg_query.AlterOpFamilyStmt.is_drop) } -inline void RangeTblEntry::_internal_set_rellockmode(int32_t value) { - - _impl_.rellockmode_ = value; +inline bool AlterOpFamilyStmt::_internal_is_drop() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_drop_; } -inline void RangeTblEntry::set_rellockmode(int32_t value) { - _internal_set_rellockmode(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.rellockmode) +inline void AlterOpFamilyStmt::_internal_set_is_drop(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_drop_ = value; } -// .pg_query.TableSampleClause tablesample = 5 [json_name = "tablesample"]; -inline bool RangeTblEntry::_internal_has_tablesample() const { - return this != internal_default_instance() && _impl_.tablesample_ != nullptr; -} -inline bool RangeTblEntry::has_tablesample() const { - return _internal_has_tablesample(); +// repeated .pg_query.Node items = 4 [json_name = "items"]; +inline int AlterOpFamilyStmt::_internal_items_size() const { + return _internal_items().size(); } -inline void RangeTblEntry::clear_tablesample() { - if (GetArenaForAllocation() == nullptr && _impl_.tablesample_ != nullptr) { - delete _impl_.tablesample_; - } - _impl_.tablesample_ = nullptr; +inline int AlterOpFamilyStmt::items_size() const { + return _internal_items_size(); } -inline const ::pg_query::TableSampleClause& RangeTblEntry::_internal_tablesample() const { - const ::pg_query::TableSampleClause* p = _impl_.tablesample_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TableSampleClause_default_instance_); +inline void AlterOpFamilyStmt::clear_items() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.items_.Clear(); } -inline const ::pg_query::TableSampleClause& RangeTblEntry::tablesample() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablesample) - return _internal_tablesample(); +inline ::pg_query::Node* AlterOpFamilyStmt::mutable_items(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterOpFamilyStmt.items) + return _internal_mutable_items()->Mutable(index); } -inline void RangeTblEntry::unsafe_arena_set_allocated_tablesample( - ::pg_query::TableSampleClause* tablesample) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.tablesample_); - } - _impl_.tablesample_ = tablesample; - if (tablesample) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablesample) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterOpFamilyStmt::mutable_items() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOpFamilyStmt.items) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_items(); } -inline ::pg_query::TableSampleClause* RangeTblEntry::release_tablesample() { - - ::pg_query::TableSampleClause* temp = _impl_.tablesample_; - _impl_.tablesample_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& AlterOpFamilyStmt::items(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOpFamilyStmt.items) + return _internal_items().Get(index); } -inline ::pg_query::TableSampleClause* RangeTblEntry::unsafe_arena_release_tablesample() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablesample) - - ::pg_query::TableSampleClause* temp = _impl_.tablesample_; - _impl_.tablesample_ = nullptr; - return temp; +inline ::pg_query::Node* AlterOpFamilyStmt::add_items() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_items()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterOpFamilyStmt.items) + return _add; } -inline ::pg_query::TableSampleClause* RangeTblEntry::_internal_mutable_tablesample() { - - if (_impl_.tablesample_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TableSampleClause>(GetArenaForAllocation()); - _impl_.tablesample_ = p; - } - return _impl_.tablesample_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterOpFamilyStmt::items() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterOpFamilyStmt.items) + return _internal_items(); } -inline ::pg_query::TableSampleClause* RangeTblEntry::mutable_tablesample() { - ::pg_query::TableSampleClause* _msg = _internal_mutable_tablesample(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablesample) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterOpFamilyStmt::_internal_items() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.items_; } -inline void RangeTblEntry::set_allocated_tablesample(::pg_query::TableSampleClause* tablesample) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.tablesample_; - } - if (tablesample) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(tablesample); - if (message_arena != submessage_arena) { - tablesample = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, tablesample, submessage_arena); - } - - } else { - - } - _impl_.tablesample_ = tablesample; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablesample) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterOpFamilyStmt::_internal_mutable_items() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.items_; } -// .pg_query.Query subquery = 6 [json_name = "subquery"]; -inline bool RangeTblEntry::_internal_has_subquery() const { - return this != internal_default_instance() && _impl_.subquery_ != nullptr; -} -inline bool RangeTblEntry::has_subquery() const { - return _internal_has_subquery(); -} -inline void RangeTblEntry::clear_subquery() { - if (GetArenaForAllocation() == nullptr && _impl_.subquery_ != nullptr) { - delete _impl_.subquery_; - } - _impl_.subquery_ = nullptr; +// ------------------------------------------------------------------- + +// DropStmt + +// repeated .pg_query.Node objects = 1 [json_name = "objects"]; +inline int DropStmt::_internal_objects_size() const { + return _internal_objects().size(); } -inline const ::pg_query::Query& RangeTblEntry::_internal_subquery() const { - const ::pg_query::Query* p = _impl_.subquery_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Query_default_instance_); +inline int DropStmt::objects_size() const { + return _internal_objects_size(); } -inline const ::pg_query::Query& RangeTblEntry::subquery() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.subquery) - return _internal_subquery(); +inline void DropStmt::clear_objects() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objects_.Clear(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_subquery( - ::pg_query::Query* subquery) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.subquery_); - } - _impl_.subquery_ = subquery; - if (subquery) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.subquery) +inline ::pg_query::Node* DropStmt::mutable_objects(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DropStmt.objects) + return _internal_mutable_objects()->Mutable(index); } -inline ::pg_query::Query* RangeTblEntry::release_subquery() { - - ::pg_query::Query* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DropStmt::mutable_objects() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DropStmt.objects) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_objects(); } -inline ::pg_query::Query* RangeTblEntry::unsafe_arena_release_subquery() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.subquery) - - ::pg_query::Query* temp = _impl_.subquery_; - _impl_.subquery_ = nullptr; - return temp; +inline const ::pg_query::Node& DropStmt::objects(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropStmt.objects) + return _internal_objects().Get(index); } -inline ::pg_query::Query* RangeTblEntry::_internal_mutable_subquery() { - - if (_impl_.subquery_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Query>(GetArenaForAllocation()); - _impl_.subquery_ = p; - } - return _impl_.subquery_; +inline ::pg_query::Node* DropStmt::add_objects() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_objects()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DropStmt.objects) + return _add; } -inline ::pg_query::Query* RangeTblEntry::mutable_subquery() { - ::pg_query::Query* _msg = _internal_mutable_subquery(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.subquery) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DropStmt::objects() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DropStmt.objects) + return _internal_objects(); } -inline void RangeTblEntry::set_allocated_subquery(::pg_query::Query* subquery) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.subquery_; - } - if (subquery) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(subquery); - if (message_arena != submessage_arena) { - subquery = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, subquery, submessage_arena); - } - - } else { - - } - _impl_.subquery_ = subquery; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.subquery) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DropStmt::_internal_objects() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.objects_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DropStmt::_internal_mutable_objects() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.objects_; } -// bool security_barrier = 7 [json_name = "security_barrier"]; -inline void RangeTblEntry::clear_security_barrier() { - _impl_.security_barrier_ = false; +// .pg_query.ObjectType remove_type = 2 [json_name = "removeType"]; +inline void DropStmt::clear_remove_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remove_type_ = 0; } -inline bool RangeTblEntry::_internal_security_barrier() const { - return _impl_.security_barrier_; +inline ::pg_query::ObjectType DropStmt::remove_type() const { + // @@protoc_insertion_point(field_get:pg_query.DropStmt.remove_type) + return _internal_remove_type(); } -inline bool RangeTblEntry::security_barrier() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_barrier) - return _internal_security_barrier(); +inline void DropStmt::set_remove_type(::pg_query::ObjectType value) { + _internal_set_remove_type(value); + // @@protoc_insertion_point(field_set:pg_query.DropStmt.remove_type) } -inline void RangeTblEntry::_internal_set_security_barrier(bool value) { - - _impl_.security_barrier_ = value; +inline ::pg_query::ObjectType DropStmt::_internal_remove_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.remove_type_); } -inline void RangeTblEntry::set_security_barrier(bool value) { - _internal_set_security_barrier(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.security_barrier) +inline void DropStmt::_internal_set_remove_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.remove_type_ = value; } -// .pg_query.JoinType jointype = 8 [json_name = "jointype"]; -inline void RangeTblEntry::clear_jointype() { - _impl_.jointype_ = 0; +// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; +inline void DropStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; } -inline ::pg_query::JoinType RangeTblEntry::_internal_jointype() const { - return static_cast< ::pg_query::JoinType >(_impl_.jointype_); +inline ::pg_query::DropBehavior DropStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.DropStmt.behavior) + return _internal_behavior(); } -inline ::pg_query::JoinType RangeTblEntry::jointype() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.jointype) - return _internal_jointype(); +inline void DropStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.DropStmt.behavior) } -inline void RangeTblEntry::_internal_set_jointype(::pg_query::JoinType value) { - - _impl_.jointype_ = value; +inline ::pg_query::DropBehavior DropStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); } -inline void RangeTblEntry::set_jointype(::pg_query::JoinType value) { - _internal_set_jointype(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.jointype) +inline void DropStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; } -// int32 joinmergedcols = 9 [json_name = "joinmergedcols"]; -inline void RangeTblEntry::clear_joinmergedcols() { - _impl_.joinmergedcols_ = 0; +// bool missing_ok = 4 [json_name = "missing_ok"]; +inline void DropStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline int32_t RangeTblEntry::_internal_joinmergedcols() const { - return _impl_.joinmergedcols_; +inline bool DropStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropStmt.missing_ok) + return _internal_missing_ok(); } -inline int32_t RangeTblEntry::joinmergedcols() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinmergedcols) - return _internal_joinmergedcols(); +inline void DropStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropStmt.missing_ok) } -inline void RangeTblEntry::_internal_set_joinmergedcols(int32_t value) { - - _impl_.joinmergedcols_ = value; +inline bool DropStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline void RangeTblEntry::set_joinmergedcols(int32_t value) { - _internal_set_joinmergedcols(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.joinmergedcols) +inline void DropStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -// repeated .pg_query.Node joinaliasvars = 10 [json_name = "joinaliasvars"]; -inline int RangeTblEntry::_internal_joinaliasvars_size() const { - return _impl_.joinaliasvars_.size(); +// bool concurrent = 5 [json_name = "concurrent"]; +inline void DropStmt::clear_concurrent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.concurrent_ = false; } -inline int RangeTblEntry::joinaliasvars_size() const { - return _internal_joinaliasvars_size(); +inline bool DropStmt::concurrent() const { + // @@protoc_insertion_point(field_get:pg_query.DropStmt.concurrent) + return _internal_concurrent(); } -inline void RangeTblEntry::clear_joinaliasvars() { - _impl_.joinaliasvars_.Clear(); +inline void DropStmt::set_concurrent(bool value) { + _internal_set_concurrent(value); + // @@protoc_insertion_point(field_set:pg_query.DropStmt.concurrent) } -inline ::pg_query::Node* RangeTblEntry::mutable_joinaliasvars(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinaliasvars) - return _impl_.joinaliasvars_.Mutable(index); +inline bool DropStmt::_internal_concurrent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.concurrent_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_joinaliasvars() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinaliasvars) - return &_impl_.joinaliasvars_; +inline void DropStmt::_internal_set_concurrent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.concurrent_ = value; } -inline const ::pg_query::Node& RangeTblEntry::_internal_joinaliasvars(int index) const { - return _impl_.joinaliasvars_.Get(index); + +// ------------------------------------------------------------------- + +// TruncateStmt + +// repeated .pg_query.Node relations = 1 [json_name = "relations"]; +inline int TruncateStmt::_internal_relations_size() const { + return _internal_relations().size(); } -inline const ::pg_query::Node& RangeTblEntry::joinaliasvars(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinaliasvars) - return _internal_joinaliasvars(index); +inline int TruncateStmt::relations_size() const { + return _internal_relations_size(); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_joinaliasvars() { - return _impl_.joinaliasvars_.Add(); +inline void TruncateStmt::clear_relations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relations_.Clear(); } -inline ::pg_query::Node* RangeTblEntry::add_joinaliasvars() { - ::pg_query::Node* _add = _internal_add_joinaliasvars(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinaliasvars) - return _add; +inline ::pg_query::Node* TruncateStmt::mutable_relations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TruncateStmt.relations) + return _internal_mutable_relations()->Mutable(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::joinaliasvars() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinaliasvars) - return _impl_.joinaliasvars_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TruncateStmt::mutable_relations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TruncateStmt.relations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_relations(); } - -// repeated .pg_query.Node joinleftcols = 11 [json_name = "joinleftcols"]; -inline int RangeTblEntry::_internal_joinleftcols_size() const { - return _impl_.joinleftcols_.size(); +inline const ::pg_query::Node& TruncateStmt::relations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.relations) + return _internal_relations().Get(index); } -inline int RangeTblEntry::joinleftcols_size() const { - return _internal_joinleftcols_size(); +inline ::pg_query::Node* TruncateStmt::add_relations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_relations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TruncateStmt.relations) + return _add; } -inline void RangeTblEntry::clear_joinleftcols() { - _impl_.joinleftcols_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TruncateStmt::relations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TruncateStmt.relations) + return _internal_relations(); } -inline ::pg_query::Node* RangeTblEntry::mutable_joinleftcols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinleftcols) - return _impl_.joinleftcols_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TruncateStmt::_internal_relations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relations_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_joinleftcols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinleftcols) - return &_impl_.joinleftcols_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TruncateStmt::_internal_mutable_relations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.relations_; } -inline const ::pg_query::Node& RangeTblEntry::_internal_joinleftcols(int index) const { - return _impl_.joinleftcols_.Get(index); + +// bool restart_seqs = 2 [json_name = "restart_seqs"]; +inline void TruncateStmt::clear_restart_seqs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.restart_seqs_ = false; } -inline const ::pg_query::Node& RangeTblEntry::joinleftcols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinleftcols) - return _internal_joinleftcols(index); +inline bool TruncateStmt::restart_seqs() const { + // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.restart_seqs) + return _internal_restart_seqs(); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_joinleftcols() { - return _impl_.joinleftcols_.Add(); +inline void TruncateStmt::set_restart_seqs(bool value) { + _internal_set_restart_seqs(value); + // @@protoc_insertion_point(field_set:pg_query.TruncateStmt.restart_seqs) } -inline ::pg_query::Node* RangeTblEntry::add_joinleftcols() { - ::pg_query::Node* _add = _internal_add_joinleftcols(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinleftcols) - return _add; +inline bool TruncateStmt::_internal_restart_seqs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.restart_seqs_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::joinleftcols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinleftcols) - return _impl_.joinleftcols_; +inline void TruncateStmt::_internal_set_restart_seqs(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.restart_seqs_ = value; } -// repeated .pg_query.Node joinrightcols = 12 [json_name = "joinrightcols"]; -inline int RangeTblEntry::_internal_joinrightcols_size() const { - return _impl_.joinrightcols_.size(); +// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; +inline void TruncateStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; } -inline int RangeTblEntry::joinrightcols_size() const { - return _internal_joinrightcols_size(); +inline ::pg_query::DropBehavior TruncateStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.TruncateStmt.behavior) + return _internal_behavior(); } -inline void RangeTblEntry::clear_joinrightcols() { - _impl_.joinrightcols_.Clear(); +inline void TruncateStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.TruncateStmt.behavior) } -inline ::pg_query::Node* RangeTblEntry::mutable_joinrightcols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.joinrightcols) - return _impl_.joinrightcols_.Mutable(index); +inline ::pg_query::DropBehavior TruncateStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_joinrightcols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.joinrightcols) - return &_impl_.joinrightcols_; +inline void TruncateStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; } -inline const ::pg_query::Node& RangeTblEntry::_internal_joinrightcols(int index) const { - return _impl_.joinrightcols_.Get(index); + +// ------------------------------------------------------------------- + +// CommentStmt + +// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; +inline void CommentStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline const ::pg_query::Node& RangeTblEntry::joinrightcols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.joinrightcols) - return _internal_joinrightcols(index); +inline ::pg_query::ObjectType CommentStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.CommentStmt.objtype) + return _internal_objtype(); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_joinrightcols() { - return _impl_.joinrightcols_.Add(); +inline void CommentStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.CommentStmt.objtype) } -inline ::pg_query::Node* RangeTblEntry::add_joinrightcols() { - ::pg_query::Node* _add = _internal_add_joinrightcols(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.joinrightcols) - return _add; +inline ::pg_query::ObjectType CommentStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::joinrightcols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.joinrightcols) - return _impl_.joinrightcols_; +inline void CommentStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -// .pg_query.Alias join_using_alias = 13 [json_name = "join_using_alias"]; -inline bool RangeTblEntry::_internal_has_join_using_alias() const { - return this != internal_default_instance() && _impl_.join_using_alias_ != nullptr; -} -inline bool RangeTblEntry::has_join_using_alias() const { - return _internal_has_join_using_alias(); +// .pg_query.Node object = 2 [json_name = "object"]; +inline bool CommentStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline void RangeTblEntry::clear_join_using_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.join_using_alias_ != nullptr) { - delete _impl_.join_using_alias_; - } - _impl_.join_using_alias_ = nullptr; +inline void CommentStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeTblEntry::_internal_join_using_alias() const { - const ::pg_query::Alias* p = _impl_.join_using_alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline const ::pg_query::Node& CommentStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Alias& RangeTblEntry::join_using_alias() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.join_using_alias) - return _internal_join_using_alias(); +inline const ::pg_query::Node& CommentStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommentStmt.object) + return _internal_object(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_join_using_alias( - ::pg_query::Alias* join_using_alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.join_using_alias_); +inline void CommentStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.join_using_alias_ = join_using_alias; - if (join_using_alias) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.join_using_alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommentStmt.object) } -inline ::pg_query::Alias* RangeTblEntry::release_join_using_alias() { - - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; +inline ::pg_query::Node* CommentStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_join_using_alias() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.join_using_alias) - - ::pg_query::Alias* temp = _impl_.join_using_alias_; - _impl_.join_using_alias_ = nullptr; +inline ::pg_query::Node* CommentStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommentStmt.object) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_join_using_alias() { - - if (_impl_.join_using_alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.join_using_alias_ = p; +inline ::pg_query::Node* CommentStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.join_using_alias_; + return _impl_.object_; } -inline ::pg_query::Alias* RangeTblEntry::mutable_join_using_alias() { - ::pg_query::Alias* _msg = _internal_mutable_join_using_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.join_using_alias) +inline ::pg_query::Node* CommentStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.CommentStmt.object) return _msg; } -inline void RangeTblEntry::set_allocated_join_using_alias(::pg_query::Alias* join_using_alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CommentStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.join_using_alias_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (join_using_alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(join_using_alias); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - join_using_alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, join_using_alias, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.join_using_alias_ = join_using_alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.join_using_alias) -} -// repeated .pg_query.Node functions = 14 [json_name = "functions"]; -inline int RangeTblEntry::_internal_functions_size() const { - return _impl_.functions_.size(); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CommentStmt.object) } -inline int RangeTblEntry::functions_size() const { - return _internal_functions_size(); + +// string comment = 3 [json_name = "comment"]; +inline void CommentStmt::clear_comment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.comment_.ClearToEmpty(); } -inline void RangeTblEntry::clear_functions() { - _impl_.functions_.Clear(); +inline const std::string& CommentStmt::comment() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CommentStmt.comment) + return _internal_comment(); } -inline ::pg_query::Node* RangeTblEntry::mutable_functions(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.functions) - return _impl_.functions_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CommentStmt::set_comment(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.comment_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CommentStmt.comment) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_functions() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.functions) - return &_impl_.functions_; +inline std::string* CommentStmt::mutable_comment() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_comment(); + // @@protoc_insertion_point(field_mutable:pg_query.CommentStmt.comment) + return _s; } -inline const ::pg_query::Node& RangeTblEntry::_internal_functions(int index) const { - return _impl_.functions_.Get(index); +inline const std::string& CommentStmt::_internal_comment() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.comment_.Get(); } -inline const ::pg_query::Node& RangeTblEntry::functions(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.functions) - return _internal_functions(index); +inline void CommentStmt::_internal_set_comment(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.comment_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_functions() { - return _impl_.functions_.Add(); +inline std::string* CommentStmt::_internal_mutable_comment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.comment_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeTblEntry::add_functions() { - ::pg_query::Node* _add = _internal_add_functions(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.functions) - return _add; +inline std::string* CommentStmt::release_comment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CommentStmt.comment) + return _impl_.comment_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::functions() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.functions) - return _impl_.functions_; +inline void CommentStmt::set_allocated_comment(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.comment_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.comment_.IsDefault()) { + _impl_.comment_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CommentStmt.comment) } -// bool funcordinality = 15 [json_name = "funcordinality"]; -inline void RangeTblEntry::clear_funcordinality() { - _impl_.funcordinality_ = false; +// ------------------------------------------------------------------- + +// SecLabelStmt + +// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; +inline void SecLabelStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline bool RangeTblEntry::_internal_funcordinality() const { - return _impl_.funcordinality_; +inline ::pg_query::ObjectType SecLabelStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.objtype) + return _internal_objtype(); } -inline bool RangeTblEntry::funcordinality() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.funcordinality) - return _internal_funcordinality(); +inline void SecLabelStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.objtype) } -inline void RangeTblEntry::_internal_set_funcordinality(bool value) { - - _impl_.funcordinality_ = value; +inline ::pg_query::ObjectType SecLabelStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline void RangeTblEntry::set_funcordinality(bool value) { - _internal_set_funcordinality(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.funcordinality) +inline void SecLabelStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -// .pg_query.TableFunc tablefunc = 16 [json_name = "tablefunc"]; -inline bool RangeTblEntry::_internal_has_tablefunc() const { - return this != internal_default_instance() && _impl_.tablefunc_ != nullptr; -} -inline bool RangeTblEntry::has_tablefunc() const { - return _internal_has_tablefunc(); +// .pg_query.Node object = 2 [json_name = "object"]; +inline bool SecLabelStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline void RangeTblEntry::clear_tablefunc() { - if (GetArenaForAllocation() == nullptr && _impl_.tablefunc_ != nullptr) { - delete _impl_.tablefunc_; - } - _impl_.tablefunc_ = nullptr; +inline void SecLabelStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TableFunc& RangeTblEntry::_internal_tablefunc() const { - const ::pg_query::TableFunc* p = _impl_.tablefunc_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TableFunc_default_instance_); +inline const ::pg_query::Node& SecLabelStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::TableFunc& RangeTblEntry::tablefunc() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.tablefunc) - return _internal_tablefunc(); +inline const ::pg_query::Node& SecLabelStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.object) + return _internal_object(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_tablefunc( - ::pg_query::TableFunc* tablefunc) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.tablefunc_); +inline void SecLabelStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.tablefunc_ = tablefunc; - if (tablefunc) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.tablefunc) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.SecLabelStmt.object) } -inline ::pg_query::TableFunc* RangeTblEntry::release_tablefunc() { - - ::pg_query::TableFunc* temp = _impl_.tablefunc_; - _impl_.tablefunc_ = nullptr; +inline ::pg_query::Node* SecLabelStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TableFunc* RangeTblEntry::unsafe_arena_release_tablefunc() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.tablefunc) - - ::pg_query::TableFunc* temp = _impl_.tablefunc_; - _impl_.tablefunc_ = nullptr; +inline ::pg_query::Node* SecLabelStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.object) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::TableFunc* RangeTblEntry::_internal_mutable_tablefunc() { - - if (_impl_.tablefunc_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TableFunc>(GetArenaForAllocation()); - _impl_.tablefunc_ = p; +inline ::pg_query::Node* SecLabelStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.tablefunc_; + return _impl_.object_; } -inline ::pg_query::TableFunc* RangeTblEntry::mutable_tablefunc() { - ::pg_query::TableFunc* _msg = _internal_mutable_tablefunc(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.tablefunc) +inline ::pg_query::Node* SecLabelStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.object) return _msg; } -inline void RangeTblEntry::set_allocated_tablefunc(::pg_query::TableFunc* tablefunc) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void SecLabelStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.tablefunc_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (tablefunc) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(tablefunc); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - tablefunc = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, tablefunc, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.tablefunc_ = tablefunc; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.tablefunc) + + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.object) } -// repeated .pg_query.Node values_lists = 17 [json_name = "values_lists"]; -inline int RangeTblEntry::_internal_values_lists_size() const { - return _impl_.values_lists_.size(); +// string provider = 3 [json_name = "provider"]; +inline void SecLabelStmt::clear_provider() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.provider_.ClearToEmpty(); } -inline int RangeTblEntry::values_lists_size() const { - return _internal_values_lists_size(); +inline const std::string& SecLabelStmt::provider() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.provider) + return _internal_provider(); } -inline void RangeTblEntry::clear_values_lists() { - _impl_.values_lists_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void SecLabelStmt::set_provider(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.provider_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.provider) } -inline ::pg_query::Node* RangeTblEntry::mutable_values_lists(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.values_lists) - return _impl_.values_lists_.Mutable(index); +inline std::string* SecLabelStmt::mutable_provider() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_provider(); + // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.provider) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_values_lists() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.values_lists) - return &_impl_.values_lists_; +inline const std::string& SecLabelStmt::_internal_provider() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.provider_.Get(); } -inline const ::pg_query::Node& RangeTblEntry::_internal_values_lists(int index) const { - return _impl_.values_lists_.Get(index); +inline void SecLabelStmt::_internal_set_provider(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.provider_.Set(value, GetArena()); } -inline const ::pg_query::Node& RangeTblEntry::values_lists(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.values_lists) - return _internal_values_lists(index); +inline std::string* SecLabelStmt::_internal_mutable_provider() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.provider_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_values_lists() { - return _impl_.values_lists_.Add(); +inline std::string* SecLabelStmt::release_provider() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.provider) + return _impl_.provider_.Release(); } -inline ::pg_query::Node* RangeTblEntry::add_values_lists() { - ::pg_query::Node* _add = _internal_add_values_lists(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.values_lists) - return _add; +inline void SecLabelStmt::set_allocated_provider(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.provider_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.provider_.IsDefault()) { + _impl_.provider_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.provider) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::values_lists() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.values_lists) - return _impl_.values_lists_; + +// string label = 4 [json_name = "label"]; +inline void SecLabelStmt::clear_label() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.label_.ClearToEmpty(); +} +inline const std::string& SecLabelStmt::label() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.SecLabelStmt.label) + return _internal_label(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SecLabelStmt::set_label(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.label_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.SecLabelStmt.label) +} +inline std::string* SecLabelStmt::mutable_label() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_label(); + // @@protoc_insertion_point(field_mutable:pg_query.SecLabelStmt.label) + return _s; +} +inline const std::string& SecLabelStmt::_internal_label() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.label_.Get(); +} +inline void SecLabelStmt::_internal_set_label(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.label_.Set(value, GetArena()); +} +inline std::string* SecLabelStmt::_internal_mutable_label() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.label_.Mutable( GetArena()); +} +inline std::string* SecLabelStmt::release_label() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.SecLabelStmt.label) + return _impl_.label_.Release(); +} +inline void SecLabelStmt::set_allocated_label(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.label_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.label_.IsDefault()) { + _impl_.label_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.SecLabelStmt.label) } -// string ctename = 18 [json_name = "ctename"]; -inline void RangeTblEntry::clear_ctename() { - _impl_.ctename_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// DeclareCursorStmt + +// string portalname = 1 [json_name = "portalname"]; +inline void DeclareCursorStmt::clear_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.ClearToEmpty(); } -inline const std::string& RangeTblEntry::ctename() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctename) - return _internal_ctename(); +inline const std::string& DeclareCursorStmt::portalname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.portalname) + return _internal_portalname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeTblEntry::set_ctename(ArgT0&& arg0, ArgT... args) { - - _impl_.ctename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctename) +template +inline PROTOBUF_ALWAYS_INLINE void DeclareCursorStmt::set_portalname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DeclareCursorStmt.portalname) } -inline std::string* RangeTblEntry::mutable_ctename() { - std::string* _s = _internal_mutable_ctename(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.ctename) +inline std::string* DeclareCursorStmt::mutable_portalname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_portalname(); + // @@protoc_insertion_point(field_mutable:pg_query.DeclareCursorStmt.portalname) return _s; } -inline const std::string& RangeTblEntry::_internal_ctename() const { - return _impl_.ctename_.Get(); +inline const std::string& DeclareCursorStmt::_internal_portalname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.portalname_.Get(); } -inline void RangeTblEntry::_internal_set_ctename(const std::string& value) { - - _impl_.ctename_.Set(value, GetArenaForAllocation()); +inline void DeclareCursorStmt::_internal_set_portalname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(value, GetArena()); } -inline std::string* RangeTblEntry::_internal_mutable_ctename() { - - return _impl_.ctename_.Mutable(GetArenaForAllocation()); +inline std::string* DeclareCursorStmt::_internal_mutable_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.portalname_.Mutable( GetArena()); } -inline std::string* RangeTblEntry::release_ctename() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.ctename) - return _impl_.ctename_.Release(); +inline std::string* DeclareCursorStmt::release_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeclareCursorStmt.portalname) + return _impl_.portalname_.Release(); } -inline void RangeTblEntry::set_allocated_ctename(std::string* ctename) { - if (ctename != nullptr) { - - } else { - - } - _impl_.ctename_.SetAllocated(ctename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.ctename_.IsDefault()) { - _impl_.ctename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.ctename) +inline void DeclareCursorStmt::set_allocated_portalname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.portalname_.IsDefault()) { + _impl_.portalname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DeclareCursorStmt.portalname) } -// uint32 ctelevelsup = 19 [json_name = "ctelevelsup"]; -inline void RangeTblEntry::clear_ctelevelsup() { - _impl_.ctelevelsup_ = 0u; +// int32 options = 2 [json_name = "options"]; +inline void DeclareCursorStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_ = 0; } -inline uint32_t RangeTblEntry::_internal_ctelevelsup() const { - return _impl_.ctelevelsup_; +inline ::int32_t DeclareCursorStmt::options() const { + // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.options) + return _internal_options(); } -inline uint32_t RangeTblEntry::ctelevelsup() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.ctelevelsup) - return _internal_ctelevelsup(); +inline void DeclareCursorStmt::set_options(::int32_t value) { + _internal_set_options(value); + // @@protoc_insertion_point(field_set:pg_query.DeclareCursorStmt.options) } -inline void RangeTblEntry::_internal_set_ctelevelsup(uint32_t value) { - - _impl_.ctelevelsup_ = value; +inline ::int32_t DeclareCursorStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void RangeTblEntry::set_ctelevelsup(uint32_t value) { - _internal_set_ctelevelsup(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.ctelevelsup) +inline void DeclareCursorStmt::_internal_set_options(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.options_ = value; } -// bool self_reference = 20 [json_name = "self_reference"]; -inline void RangeTblEntry::clear_self_reference() { - _impl_.self_reference_ = false; +// .pg_query.Node query = 3 [json_name = "query"]; +inline bool DeclareCursorStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; } -inline bool RangeTblEntry::_internal_self_reference() const { - return _impl_.self_reference_; +inline void DeclareCursorStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline bool RangeTblEntry::self_reference() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.self_reference) - return _internal_self_reference(); +inline const ::pg_query::Node& DeclareCursorStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RangeTblEntry::_internal_set_self_reference(bool value) { - - _impl_.self_reference_ = value; +inline const ::pg_query::Node& DeclareCursorStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeclareCursorStmt.query) + return _internal_query(); } -inline void RangeTblEntry::set_self_reference(bool value) { - _internal_set_self_reference(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.self_reference) +inline void DeclareCursorStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); + } + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.DeclareCursorStmt.query) +} +inline ::pg_query::Node* DeclareCursorStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* DeclareCursorStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeclareCursorStmt.query) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; + return temp; +} +inline ::pg_query::Node* DeclareCursorStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.query_; +} +inline ::pg_query::Node* DeclareCursorStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.DeclareCursorStmt.query) + return _msg; } +inline void DeclareCursorStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); + } -// repeated .pg_query.Node coltypes = 21 [json_name = "coltypes"]; -inline int RangeTblEntry::_internal_coltypes_size() const { - return _impl_.coltypes_.size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.DeclareCursorStmt.query) } -inline int RangeTblEntry::coltypes_size() const { - return _internal_coltypes_size(); + +// ------------------------------------------------------------------- + +// ClosePortalStmt + +// string portalname = 1 [json_name = "portalname"]; +inline void ClosePortalStmt::clear_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.ClearToEmpty(); } -inline void RangeTblEntry::clear_coltypes() { - _impl_.coltypes_.Clear(); +inline const std::string& ClosePortalStmt::portalname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ClosePortalStmt.portalname) + return _internal_portalname(); } -inline ::pg_query::Node* RangeTblEntry::mutable_coltypes(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypes) - return _impl_.coltypes_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void ClosePortalStmt::set_portalname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ClosePortalStmt.portalname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_coltypes() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypes) - return &_impl_.coltypes_; +inline std::string* ClosePortalStmt::mutable_portalname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_portalname(); + // @@protoc_insertion_point(field_mutable:pg_query.ClosePortalStmt.portalname) + return _s; } -inline const ::pg_query::Node& RangeTblEntry::_internal_coltypes(int index) const { - return _impl_.coltypes_.Get(index); +inline const std::string& ClosePortalStmt::_internal_portalname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.portalname_.Get(); } -inline const ::pg_query::Node& RangeTblEntry::coltypes(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypes) - return _internal_coltypes(index); +inline void ClosePortalStmt::_internal_set_portalname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_coltypes() { - return _impl_.coltypes_.Add(); +inline std::string* ClosePortalStmt::_internal_mutable_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.portalname_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeTblEntry::add_coltypes() { - ::pg_query::Node* _add = _internal_add_coltypes(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypes) - return _add; +inline std::string* ClosePortalStmt::release_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ClosePortalStmt.portalname) + return _impl_.portalname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::coltypes() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypes) - return _impl_.coltypes_; +inline void ClosePortalStmt::set_allocated_portalname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.portalname_.IsDefault()) { + _impl_.portalname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ClosePortalStmt.portalname) } -// repeated .pg_query.Node coltypmods = 22 [json_name = "coltypmods"]; -inline int RangeTblEntry::_internal_coltypmods_size() const { - return _impl_.coltypmods_.size(); +// ------------------------------------------------------------------- + +// FetchStmt + +// .pg_query.FetchDirection direction = 1 [json_name = "direction"]; +inline void FetchStmt::clear_direction() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.direction_ = 0; } -inline int RangeTblEntry::coltypmods_size() const { - return _internal_coltypmods_size(); +inline ::pg_query::FetchDirection FetchStmt::direction() const { + // @@protoc_insertion_point(field_get:pg_query.FetchStmt.direction) + return _internal_direction(); } -inline void RangeTblEntry::clear_coltypmods() { - _impl_.coltypmods_.Clear(); +inline void FetchStmt::set_direction(::pg_query::FetchDirection value) { + _internal_set_direction(value); + // @@protoc_insertion_point(field_set:pg_query.FetchStmt.direction) } -inline ::pg_query::Node* RangeTblEntry::mutable_coltypmods(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.coltypmods) - return _impl_.coltypmods_.Mutable(index); +inline ::pg_query::FetchDirection FetchStmt::_internal_direction() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::FetchDirection>(_impl_.direction_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_coltypmods() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.coltypmods) - return &_impl_.coltypmods_; +inline void FetchStmt::_internal_set_direction(::pg_query::FetchDirection value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.direction_ = value; } -inline const ::pg_query::Node& RangeTblEntry::_internal_coltypmods(int index) const { - return _impl_.coltypmods_.Get(index); + +// int64 how_many = 2 [json_name = "howMany"]; +inline void FetchStmt::clear_how_many() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.how_many_ = ::int64_t{0}; } -inline const ::pg_query::Node& RangeTblEntry::coltypmods(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.coltypmods) - return _internal_coltypmods(index); +inline ::int64_t FetchStmt::how_many() const { + // @@protoc_insertion_point(field_get:pg_query.FetchStmt.how_many) + return _internal_how_many(); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_coltypmods() { - return _impl_.coltypmods_.Add(); +inline void FetchStmt::set_how_many(::int64_t value) { + _internal_set_how_many(value); + // @@protoc_insertion_point(field_set:pg_query.FetchStmt.how_many) } -inline ::pg_query::Node* RangeTblEntry::add_coltypmods() { - ::pg_query::Node* _add = _internal_add_coltypmods(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.coltypmods) - return _add; +inline ::int64_t FetchStmt::_internal_how_many() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.how_many_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::coltypmods() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.coltypmods) - return _impl_.coltypmods_; +inline void FetchStmt::_internal_set_how_many(::int64_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.how_many_ = value; } -// repeated .pg_query.Node colcollations = 23 [json_name = "colcollations"]; -inline int RangeTblEntry::_internal_colcollations_size() const { - return _impl_.colcollations_.size(); -} -inline int RangeTblEntry::colcollations_size() const { - return _internal_colcollations_size(); +// string portalname = 3 [json_name = "portalname"]; +inline void FetchStmt::clear_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.ClearToEmpty(); } -inline void RangeTblEntry::clear_colcollations() { - _impl_.colcollations_.Clear(); +inline const std::string& FetchStmt::portalname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FetchStmt.portalname) + return _internal_portalname(); } -inline ::pg_query::Node* RangeTblEntry::mutable_colcollations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.colcollations) - return _impl_.colcollations_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void FetchStmt::set_portalname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.FetchStmt.portalname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_colcollations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.colcollations) - return &_impl_.colcollations_; +inline std::string* FetchStmt::mutable_portalname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_portalname(); + // @@protoc_insertion_point(field_mutable:pg_query.FetchStmt.portalname) + return _s; } -inline const ::pg_query::Node& RangeTblEntry::_internal_colcollations(int index) const { - return _impl_.colcollations_.Get(index); +inline const std::string& FetchStmt::_internal_portalname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.portalname_.Get(); } -inline const ::pg_query::Node& RangeTblEntry::colcollations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.colcollations) - return _internal_colcollations(index); +inline void FetchStmt::_internal_set_portalname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.portalname_.Set(value, GetArena()); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_colcollations() { - return _impl_.colcollations_.Add(); +inline std::string* FetchStmt::_internal_mutable_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.portalname_.Mutable( GetArena()); } -inline ::pg_query::Node* RangeTblEntry::add_colcollations() { - ::pg_query::Node* _add = _internal_add_colcollations(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.colcollations) - return _add; +inline std::string* FetchStmt::release_portalname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FetchStmt.portalname) + return _impl_.portalname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::colcollations() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.colcollations) - return _impl_.colcollations_; +inline void FetchStmt::set_allocated_portalname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.portalname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.portalname_.IsDefault()) { + _impl_.portalname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.FetchStmt.portalname) } -// string enrname = 24 [json_name = "enrname"]; -inline void RangeTblEntry::clear_enrname() { - _impl_.enrname_.ClearToEmpty(); +// bool ismove = 4 [json_name = "ismove"]; +inline void FetchStmt::clear_ismove() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.ismove_ = false; } -inline const std::string& RangeTblEntry::enrname() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrname) - return _internal_enrname(); +inline bool FetchStmt::ismove() const { + // @@protoc_insertion_point(field_get:pg_query.FetchStmt.ismove) + return _internal_ismove(); } -template -inline PROTOBUF_ALWAYS_INLINE -void RangeTblEntry::set_enrname(ArgT0&& arg0, ArgT... args) { - - _impl_.enrname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrname) +inline void FetchStmt::set_ismove(bool value) { + _internal_set_ismove(value); + // @@protoc_insertion_point(field_set:pg_query.FetchStmt.ismove) } -inline std::string* RangeTblEntry::mutable_enrname() { - std::string* _s = _internal_mutable_enrname(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.enrname) - return _s; +inline bool FetchStmt::_internal_ismove() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.ismove_; } -inline const std::string& RangeTblEntry::_internal_enrname() const { - return _impl_.enrname_.Get(); +inline void FetchStmt::_internal_set_ismove(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.ismove_ = value; } -inline void RangeTblEntry::_internal_set_enrname(const std::string& value) { - - _impl_.enrname_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// IndexStmt + +// string idxname = 1 [json_name = "idxname"]; +inline void IndexStmt::clear_idxname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.idxname_.ClearToEmpty(); } -inline std::string* RangeTblEntry::_internal_mutable_enrname() { - - return _impl_.enrname_.Mutable(GetArenaForAllocation()); +inline const std::string& IndexStmt::idxname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.idxname) + return _internal_idxname(); } -inline std::string* RangeTblEntry::release_enrname() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.enrname) - return _impl_.enrname_.Release(); +template +inline PROTOBUF_ALWAYS_INLINE void IndexStmt::set_idxname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.idxname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.idxname) } -inline void RangeTblEntry::set_allocated_enrname(std::string* enrname) { - if (enrname != nullptr) { - - } else { - - } - _impl_.enrname_.SetAllocated(enrname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.enrname_.IsDefault()) { - _impl_.enrname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.enrname) +inline std::string* IndexStmt::mutable_idxname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_idxname(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.idxname) + return _s; } - -// double enrtuples = 25 [json_name = "enrtuples"]; -inline void RangeTblEntry::clear_enrtuples() { - _impl_.enrtuples_ = 0; +inline const std::string& IndexStmt::_internal_idxname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.idxname_.Get(); } -inline double RangeTblEntry::_internal_enrtuples() const { - return _impl_.enrtuples_; +inline void IndexStmt::_internal_set_idxname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.idxname_.Set(value, GetArena()); } -inline double RangeTblEntry::enrtuples() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.enrtuples) - return _internal_enrtuples(); +inline std::string* IndexStmt::_internal_mutable_idxname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.idxname_.Mutable( GetArena()); } -inline void RangeTblEntry::_internal_set_enrtuples(double value) { - - _impl_.enrtuples_ = value; +inline std::string* IndexStmt::release_idxname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.idxname) + return _impl_.idxname_.Release(); } -inline void RangeTblEntry::set_enrtuples(double value) { - _internal_set_enrtuples(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.enrtuples) +inline void IndexStmt::set_allocated_idxname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.idxname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.idxname_.IsDefault()) { + _impl_.idxname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.idxname) } -// .pg_query.Alias alias = 26 [json_name = "alias"]; -inline bool RangeTblEntry::_internal_has_alias() const { - return this != internal_default_instance() && _impl_.alias_ != nullptr; -} -inline bool RangeTblEntry::has_alias() const { - return _internal_has_alias(); +// .pg_query.RangeVar relation = 2 [json_name = "relation"]; +inline bool IndexStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void RangeTblEntry::clear_alias() { - if (GetArenaForAllocation() == nullptr && _impl_.alias_ != nullptr) { - delete _impl_.alias_; - } - _impl_.alias_ = nullptr; +inline void IndexStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Alias& RangeTblEntry::_internal_alias() const { - const ::pg_query::Alias* p = _impl_.alias_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline const ::pg_query::RangeVar& IndexStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Alias& RangeTblEntry::alias() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.alias) - return _internal_alias(); +inline const ::pg_query::RangeVar& IndexStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.relation) + return _internal_relation(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_alias( - ::pg_query::Alias* alias) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.alias_); +inline void IndexStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.alias_ = alias; - if (alias) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.alias) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexStmt.relation) } -inline ::pg_query::Alias* RangeTblEntry::release_alias() { - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; +inline ::pg_query::RangeVar* IndexStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_alias() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.alias) - - ::pg_query::Alias* temp = _impl_.alias_; - _impl_.alias_ = nullptr; +inline ::pg_query::RangeVar* IndexStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_alias() { - - if (_impl_.alias_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.alias_ = p; +inline ::pg_query::RangeVar* IndexStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.alias_; + return _impl_.relation_; } -inline ::pg_query::Alias* RangeTblEntry::mutable_alias() { - ::pg_query::Alias* _msg = _internal_mutable_alias(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.alias) +inline ::pg_query::RangeVar* IndexStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.relation) return _msg; } -inline void RangeTblEntry::set_allocated_alias(::pg_query::Alias* alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void IndexStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.alias_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (alias) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(alias); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - alias = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, alias, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.alias_ = alias; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.alias) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.relation) } -// .pg_query.Alias eref = 27 [json_name = "eref"]; -inline bool RangeTblEntry::_internal_has_eref() const { - return this != internal_default_instance() && _impl_.eref_ != nullptr; +// string access_method = 3 [json_name = "accessMethod"]; +inline void IndexStmt::clear_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.ClearToEmpty(); } -inline bool RangeTblEntry::has_eref() const { - return _internal_has_eref(); +inline const std::string& IndexStmt::access_method() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.access_method) + return _internal_access_method(); } -inline void RangeTblEntry::clear_eref() { - if (GetArenaForAllocation() == nullptr && _impl_.eref_ != nullptr) { - delete _impl_.eref_; - } - _impl_.eref_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void IndexStmt::set_access_method(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.access_method) } -inline const ::pg_query::Alias& RangeTblEntry::_internal_eref() const { - const ::pg_query::Alias* p = _impl_.eref_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Alias_default_instance_); +inline std::string* IndexStmt::mutable_access_method() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_access_method(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.access_method) + return _s; } -inline const ::pg_query::Alias& RangeTblEntry::eref() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.eref) - return _internal_eref(); +inline const std::string& IndexStmt::_internal_access_method() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.access_method_.Get(); } -inline void RangeTblEntry::unsafe_arena_set_allocated_eref( - ::pg_query::Alias* eref) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.eref_); - } - _impl_.eref_ = eref; - if (eref) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblEntry.eref) +inline void IndexStmt::_internal_set_access_method(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.access_method_.Set(value, GetArena()); } -inline ::pg_query::Alias* RangeTblEntry::release_eref() { - - ::pg_query::Alias* temp = _impl_.eref_; - _impl_.eref_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* IndexStmt::_internal_mutable_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.access_method_.Mutable( GetArena()); } -inline ::pg_query::Alias* RangeTblEntry::unsafe_arena_release_eref() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblEntry.eref) - - ::pg_query::Alias* temp = _impl_.eref_; - _impl_.eref_ = nullptr; - return temp; +inline std::string* IndexStmt::release_access_method() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.access_method) + return _impl_.access_method_.Release(); } -inline ::pg_query::Alias* RangeTblEntry::_internal_mutable_eref() { - - if (_impl_.eref_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Alias>(GetArenaForAllocation()); - _impl_.eref_ = p; - } - return _impl_.eref_; +inline void IndexStmt::set_allocated_access_method(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.access_method_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.access_method_.IsDefault()) { + _impl_.access_method_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.access_method) } -inline ::pg_query::Alias* RangeTblEntry::mutable_eref() { - ::pg_query::Alias* _msg = _internal_mutable_eref(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.eref) - return _msg; + +// string table_space = 4 [json_name = "tableSpace"]; +inline void IndexStmt::clear_table_space() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_space_.ClearToEmpty(); } -inline void RangeTblEntry::set_allocated_eref(::pg_query::Alias* eref) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.eref_; - } - if (eref) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(eref); - if (message_arena != submessage_arena) { - eref = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, eref, submessage_arena); - } - - } else { - - } - _impl_.eref_ = eref; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblEntry.eref) +inline const std::string& IndexStmt::table_space() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.table_space) + return _internal_table_space(); } - -// bool lateral = 28 [json_name = "lateral"]; -inline void RangeTblEntry::clear_lateral() { - _impl_.lateral_ = false; +template +inline PROTOBUF_ALWAYS_INLINE void IndexStmt::set_table_space(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.table_space) } -inline bool RangeTblEntry::_internal_lateral() const { - return _impl_.lateral_; +inline std::string* IndexStmt::mutable_table_space() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_table_space(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.table_space) + return _s; } -inline bool RangeTblEntry::lateral() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.lateral) - return _internal_lateral(); +inline const std::string& IndexStmt::_internal_table_space() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.table_space_.Get(); } -inline void RangeTblEntry::_internal_set_lateral(bool value) { - - _impl_.lateral_ = value; +inline void IndexStmt::_internal_set_table_space(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.table_space_.Set(value, GetArena()); } -inline void RangeTblEntry::set_lateral(bool value) { - _internal_set_lateral(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.lateral) +inline std::string* IndexStmt::_internal_mutable_table_space() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.table_space_.Mutable( GetArena()); +} +inline std::string* IndexStmt::release_table_space() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.table_space) + return _impl_.table_space_.Release(); +} +inline void IndexStmt::set_allocated_table_space(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.table_space_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.table_space_.IsDefault()) { + _impl_.table_space_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.table_space) } -// bool inh = 29 [json_name = "inh"]; -inline void RangeTblEntry::clear_inh() { - _impl_.inh_ = false; +// repeated .pg_query.Node index_params = 5 [json_name = "indexParams"]; +inline int IndexStmt::_internal_index_params_size() const { + return _internal_index_params().size(); } -inline bool RangeTblEntry::_internal_inh() const { - return _impl_.inh_; +inline int IndexStmt::index_params_size() const { + return _internal_index_params_size(); } -inline bool RangeTblEntry::inh() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.inh) - return _internal_inh(); +inline void IndexStmt::clear_index_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.index_params_.Clear(); } -inline void RangeTblEntry::_internal_set_inh(bool value) { - - _impl_.inh_ = value; +inline ::pg_query::Node* IndexStmt::mutable_index_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.index_params) + return _internal_mutable_index_params()->Mutable(index); } -inline void RangeTblEntry::set_inh(bool value) { - _internal_set_inh(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.inh) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexStmt::mutable_index_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.index_params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_index_params(); +} +inline const ::pg_query::Node& IndexStmt::index_params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_params) + return _internal_index_params().Get(index); +} +inline ::pg_query::Node* IndexStmt::add_index_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_index_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexStmt.index_params) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexStmt::index_params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexStmt.index_params) + return _internal_index_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexStmt::_internal_index_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.index_params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexStmt::_internal_mutable_index_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.index_params_; } -// bool in_from_cl = 30 [json_name = "inFromCl"]; -inline void RangeTblEntry::clear_in_from_cl() { - _impl_.in_from_cl_ = false; +// repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"]; +inline int IndexStmt::_internal_index_including_params_size() const { + return _internal_index_including_params().size(); } -inline bool RangeTblEntry::_internal_in_from_cl() const { - return _impl_.in_from_cl_; +inline int IndexStmt::index_including_params_size() const { + return _internal_index_including_params_size(); } -inline bool RangeTblEntry::in_from_cl() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.in_from_cl) - return _internal_in_from_cl(); +inline void IndexStmt::clear_index_including_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.index_including_params_.Clear(); } -inline void RangeTblEntry::_internal_set_in_from_cl(bool value) { - - _impl_.in_from_cl_ = value; +inline ::pg_query::Node* IndexStmt::mutable_index_including_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.index_including_params) + return _internal_mutable_index_including_params()->Mutable(index); } -inline void RangeTblEntry::set_in_from_cl(bool value) { - _internal_set_in_from_cl(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.in_from_cl) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexStmt::mutable_index_including_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.index_including_params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_index_including_params(); +} +inline const ::pg_query::Node& IndexStmt::index_including_params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_including_params) + return _internal_index_including_params().Get(index); +} +inline ::pg_query::Node* IndexStmt::add_index_including_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_index_including_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexStmt.index_including_params) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexStmt::index_including_params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexStmt.index_including_params) + return _internal_index_including_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexStmt::_internal_index_including_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.index_including_params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexStmt::_internal_mutable_index_including_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.index_including_params_; } -// uint32 required_perms = 31 [json_name = "requiredPerms"]; -inline void RangeTblEntry::clear_required_perms() { - _impl_.required_perms_ = 0u; +// repeated .pg_query.Node options = 7 [json_name = "options"]; +inline int IndexStmt::_internal_options_size() const { + return _internal_options().size(); } -inline uint32_t RangeTblEntry::_internal_required_perms() const { - return _impl_.required_perms_; +inline int IndexStmt::options_size() const { + return _internal_options_size(); } -inline uint32_t RangeTblEntry::required_perms() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.required_perms) - return _internal_required_perms(); +inline void IndexStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void RangeTblEntry::_internal_set_required_perms(uint32_t value) { - - _impl_.required_perms_ = value; +inline ::pg_query::Node* IndexStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void RangeTblEntry::set_required_perms(uint32_t value) { - _internal_set_required_perms(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.required_perms) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& IndexStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* IndexStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// uint32 check_as_user = 32 [json_name = "checkAsUser"]; -inline void RangeTblEntry::clear_check_as_user() { - _impl_.check_as_user_ = 0u; +// .pg_query.Node where_clause = 8 [json_name = "whereClause"]; +inline bool IndexStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline uint32_t RangeTblEntry::_internal_check_as_user() const { - return _impl_.check_as_user_; +inline void IndexStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline uint32_t RangeTblEntry::check_as_user() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.check_as_user) - return _internal_check_as_user(); +inline const ::pg_query::Node& IndexStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RangeTblEntry::_internal_set_check_as_user(uint32_t value) { - - _impl_.check_as_user_ = value; +inline const ::pg_query::Node& IndexStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.where_clause) + return _internal_where_clause(); } -inline void RangeTblEntry::set_check_as_user(uint32_t value) { - _internal_set_check_as_user(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.check_as_user) +inline void IndexStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + } + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.IndexStmt.where_clause) } +inline ::pg_query::Node* IndexStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// repeated uint64 selected_cols = 33 [json_name = "selectedCols"]; -inline int RangeTblEntry::_internal_selected_cols_size() const { - return _impl_.selected_cols_.size(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int RangeTblEntry::selected_cols_size() const { - return _internal_selected_cols_size(); +inline ::pg_query::Node* IndexStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; + return temp; } -inline void RangeTblEntry::clear_selected_cols() { - _impl_.selected_cols_.Clear(); +inline ::pg_query::Node* IndexStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.where_clause_; +} +inline ::pg_query::Node* IndexStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.where_clause) + return _msg; +} +inline void IndexStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.where_clause) } -inline uint64_t RangeTblEntry::_internal_selected_cols(int index) const { - return _impl_.selected_cols_.Get(index); + +// repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"]; +inline int IndexStmt::_internal_exclude_op_names_size() const { + return _internal_exclude_op_names().size(); } -inline uint64_t RangeTblEntry::selected_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.selected_cols) - return _internal_selected_cols(index); +inline int IndexStmt::exclude_op_names_size() const { + return _internal_exclude_op_names_size(); } -inline void RangeTblEntry::set_selected_cols(int index, uint64_t value) { - _impl_.selected_cols_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.selected_cols) +inline void IndexStmt::clear_exclude_op_names() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.exclude_op_names_.Clear(); } -inline void RangeTblEntry::_internal_add_selected_cols(uint64_t value) { - _impl_.selected_cols_.Add(value); +inline ::pg_query::Node* IndexStmt::mutable_exclude_op_names(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.exclude_op_names) + return _internal_mutable_exclude_op_names()->Mutable(index); } -inline void RangeTblEntry::add_selected_cols(uint64_t value) { - _internal_add_selected_cols(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.selected_cols) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* IndexStmt::mutable_exclude_op_names() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.IndexStmt.exclude_op_names) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_exclude_op_names(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::_internal_selected_cols() const { - return _impl_.selected_cols_; +inline const ::pg_query::Node& IndexStmt::exclude_op_names(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.exclude_op_names) + return _internal_exclude_op_names().Get(index); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::selected_cols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.selected_cols) - return _internal_selected_cols(); +inline ::pg_query::Node* IndexStmt::add_exclude_op_names() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_exclude_op_names()->Add(); + // @@protoc_insertion_point(field_add:pg_query.IndexStmt.exclude_op_names) + return _add; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::_internal_mutable_selected_cols() { - return &_impl_.selected_cols_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& IndexStmt::exclude_op_names() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.IndexStmt.exclude_op_names) + return _internal_exclude_op_names(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::mutable_selected_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.selected_cols) - return _internal_mutable_selected_cols(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +IndexStmt::_internal_exclude_op_names() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.exclude_op_names_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +IndexStmt::_internal_mutable_exclude_op_names() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.exclude_op_names_; } -// repeated uint64 inserted_cols = 34 [json_name = "insertedCols"]; -inline int RangeTblEntry::_internal_inserted_cols_size() const { - return _impl_.inserted_cols_.size(); +// string idxcomment = 10 [json_name = "idxcomment"]; +inline void IndexStmt::clear_idxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.idxcomment_.ClearToEmpty(); } -inline int RangeTblEntry::inserted_cols_size() const { - return _internal_inserted_cols_size(); +inline const std::string& IndexStmt::idxcomment() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.idxcomment) + return _internal_idxcomment(); } -inline void RangeTblEntry::clear_inserted_cols() { - _impl_.inserted_cols_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void IndexStmt::set_idxcomment(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.idxcomment_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.idxcomment) } -inline uint64_t RangeTblEntry::_internal_inserted_cols(int index) const { - return _impl_.inserted_cols_.Get(index); +inline std::string* IndexStmt::mutable_idxcomment() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_idxcomment(); + // @@protoc_insertion_point(field_mutable:pg_query.IndexStmt.idxcomment) + return _s; } -inline uint64_t RangeTblEntry::inserted_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.inserted_cols) - return _internal_inserted_cols(index); +inline const std::string& IndexStmt::_internal_idxcomment() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.idxcomment_.Get(); } -inline void RangeTblEntry::set_inserted_cols(int index, uint64_t value) { - _impl_.inserted_cols_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.inserted_cols) +inline void IndexStmt::_internal_set_idxcomment(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.idxcomment_.Set(value, GetArena()); } -inline void RangeTblEntry::_internal_add_inserted_cols(uint64_t value) { - _impl_.inserted_cols_.Add(value); +inline std::string* IndexStmt::_internal_mutable_idxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.idxcomment_.Mutable( GetArena()); } -inline void RangeTblEntry::add_inserted_cols(uint64_t value) { - _internal_add_inserted_cols(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.inserted_cols) +inline std::string* IndexStmt::release_idxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.IndexStmt.idxcomment) + return _impl_.idxcomment_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::_internal_inserted_cols() const { - return _impl_.inserted_cols_; +inline void IndexStmt::set_allocated_idxcomment(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.idxcomment_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.idxcomment_.IsDefault()) { + _impl_.idxcomment_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.IndexStmt.idxcomment) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::inserted_cols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.inserted_cols) - return _internal_inserted_cols(); + +// uint32 index_oid = 11 [json_name = "indexOid"]; +inline void IndexStmt::clear_index_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.index_oid_ = 0u; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::_internal_mutable_inserted_cols() { - return &_impl_.inserted_cols_; +inline ::uint32_t IndexStmt::index_oid() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.index_oid) + return _internal_index_oid(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::mutable_inserted_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.inserted_cols) - return _internal_mutable_inserted_cols(); +inline void IndexStmt::set_index_oid(::uint32_t value) { + _internal_set_index_oid(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.index_oid) } - -// repeated uint64 updated_cols = 35 [json_name = "updatedCols"]; -inline int RangeTblEntry::_internal_updated_cols_size() const { - return _impl_.updated_cols_.size(); +inline ::uint32_t IndexStmt::_internal_index_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.index_oid_; } -inline int RangeTblEntry::updated_cols_size() const { - return _internal_updated_cols_size(); +inline void IndexStmt::_internal_set_index_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.index_oid_ = value; } -inline void RangeTblEntry::clear_updated_cols() { - _impl_.updated_cols_.Clear(); + +// uint32 old_number = 12 [json_name = "oldNumber"]; +inline void IndexStmt::clear_old_number() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_number_ = 0u; } -inline uint64_t RangeTblEntry::_internal_updated_cols(int index) const { - return _impl_.updated_cols_.Get(index); +inline ::uint32_t IndexStmt::old_number() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_number) + return _internal_old_number(); } -inline uint64_t RangeTblEntry::updated_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.updated_cols) - return _internal_updated_cols(index); +inline void IndexStmt::set_old_number(::uint32_t value) { + _internal_set_old_number(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_number) } -inline void RangeTblEntry::set_updated_cols(int index, uint64_t value) { - _impl_.updated_cols_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.updated_cols) +inline ::uint32_t IndexStmt::_internal_old_number() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_number_; } -inline void RangeTblEntry::_internal_add_updated_cols(uint64_t value) { - _impl_.updated_cols_.Add(value); +inline void IndexStmt::_internal_set_old_number(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_number_ = value; } -inline void RangeTblEntry::add_updated_cols(uint64_t value) { - _internal_add_updated_cols(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.updated_cols) + +// uint32 old_create_subid = 13 [json_name = "oldCreateSubid"]; +inline void IndexStmt::clear_old_create_subid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_create_subid_ = 0u; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::_internal_updated_cols() const { - return _impl_.updated_cols_; +inline ::uint32_t IndexStmt::old_create_subid() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_create_subid) + return _internal_old_create_subid(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::updated_cols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.updated_cols) - return _internal_updated_cols(); +inline void IndexStmt::set_old_create_subid(::uint32_t value) { + _internal_set_old_create_subid(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_create_subid) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::_internal_mutable_updated_cols() { - return &_impl_.updated_cols_; +inline ::uint32_t IndexStmt::_internal_old_create_subid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_create_subid_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::mutable_updated_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.updated_cols) - return _internal_mutable_updated_cols(); +inline void IndexStmt::_internal_set_old_create_subid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_create_subid_ = value; } -// repeated uint64 extra_updated_cols = 36 [json_name = "extraUpdatedCols"]; -inline int RangeTblEntry::_internal_extra_updated_cols_size() const { - return _impl_.extra_updated_cols_.size(); -} -inline int RangeTblEntry::extra_updated_cols_size() const { - return _internal_extra_updated_cols_size(); +// uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"]; +inline void IndexStmt::clear_old_first_relfilelocator_subid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_first_relfilelocator_subid_ = 0u; } -inline void RangeTblEntry::clear_extra_updated_cols() { - _impl_.extra_updated_cols_.Clear(); +inline ::uint32_t IndexStmt::old_first_relfilelocator_subid() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.old_first_relfilelocator_subid) + return _internal_old_first_relfilelocator_subid(); } -inline uint64_t RangeTblEntry::_internal_extra_updated_cols(int index) const { - return _impl_.extra_updated_cols_.Get(index); +inline void IndexStmt::set_old_first_relfilelocator_subid(::uint32_t value) { + _internal_set_old_first_relfilelocator_subid(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.old_first_relfilelocator_subid) } -inline uint64_t RangeTblEntry::extra_updated_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.extra_updated_cols) - return _internal_extra_updated_cols(index); +inline ::uint32_t IndexStmt::_internal_old_first_relfilelocator_subid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_first_relfilelocator_subid_; } -inline void RangeTblEntry::set_extra_updated_cols(int index, uint64_t value) { - _impl_.extra_updated_cols_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblEntry.extra_updated_cols) +inline void IndexStmt::_internal_set_old_first_relfilelocator_subid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_first_relfilelocator_subid_ = value; } -inline void RangeTblEntry::_internal_add_extra_updated_cols(uint64_t value) { - _impl_.extra_updated_cols_.Add(value); -} -inline void RangeTblEntry::add_extra_updated_cols(uint64_t value) { - _internal_add_extra_updated_cols(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.extra_updated_cols) + +// bool unique = 15 [json_name = "unique"]; +inline void IndexStmt::clear_unique() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.unique_ = false; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::_internal_extra_updated_cols() const { - return _impl_.extra_updated_cols_; +inline bool IndexStmt::unique() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.unique) + return _internal_unique(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblEntry::extra_updated_cols() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.extra_updated_cols) - return _internal_extra_updated_cols(); +inline void IndexStmt::set_unique(bool value) { + _internal_set_unique(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.unique) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::_internal_mutable_extra_updated_cols() { - return &_impl_.extra_updated_cols_; +inline bool IndexStmt::_internal_unique() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.unique_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblEntry::mutable_extra_updated_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.extra_updated_cols) - return _internal_mutable_extra_updated_cols(); +inline void IndexStmt::_internal_set_unique(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.unique_ = value; } -// repeated .pg_query.Node security_quals = 37 [json_name = "securityQuals"]; -inline int RangeTblEntry::_internal_security_quals_size() const { - return _impl_.security_quals_.size(); +// bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"]; +inline void IndexStmt::clear_nulls_not_distinct() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nulls_not_distinct_ = false; } -inline int RangeTblEntry::security_quals_size() const { - return _internal_security_quals_size(); +inline bool IndexStmt::nulls_not_distinct() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.nulls_not_distinct) + return _internal_nulls_not_distinct(); } -inline void RangeTblEntry::clear_security_quals() { - _impl_.security_quals_.Clear(); +inline void IndexStmt::set_nulls_not_distinct(bool value) { + _internal_set_nulls_not_distinct(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.nulls_not_distinct) } -inline ::pg_query::Node* RangeTblEntry::mutable_security_quals(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblEntry.security_quals) - return _impl_.security_quals_.Mutable(index); +inline bool IndexStmt::_internal_nulls_not_distinct() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nulls_not_distinct_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblEntry::mutable_security_quals() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblEntry.security_quals) - return &_impl_.security_quals_; +inline void IndexStmt::_internal_set_nulls_not_distinct(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nulls_not_distinct_ = value; } -inline const ::pg_query::Node& RangeTblEntry::_internal_security_quals(int index) const { - return _impl_.security_quals_.Get(index); + +// bool primary = 17 [json_name = "primary"]; +inline void IndexStmt::clear_primary() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.primary_ = false; } -inline const ::pg_query::Node& RangeTblEntry::security_quals(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblEntry.security_quals) - return _internal_security_quals(index); +inline bool IndexStmt::primary() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.primary) + return _internal_primary(); } -inline ::pg_query::Node* RangeTblEntry::_internal_add_security_quals() { - return _impl_.security_quals_.Add(); +inline void IndexStmt::set_primary(bool value) { + _internal_set_primary(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.primary) } -inline ::pg_query::Node* RangeTblEntry::add_security_quals() { - ::pg_query::Node* _add = _internal_add_security_quals(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblEntry.security_quals) - return _add; +inline bool IndexStmt::_internal_primary() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.primary_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblEntry::security_quals() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblEntry.security_quals) - return _impl_.security_quals_; +inline void IndexStmt::_internal_set_primary(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.primary_ = value; } -// ------------------------------------------------------------------- - -// RangeTblFunction - -// .pg_query.Node funcexpr = 1 [json_name = "funcexpr"]; -inline bool RangeTblFunction::_internal_has_funcexpr() const { - return this != internal_default_instance() && _impl_.funcexpr_ != nullptr; -} -inline bool RangeTblFunction::has_funcexpr() const { - return _internal_has_funcexpr(); +// bool isconstraint = 18 [json_name = "isconstraint"]; +inline void IndexStmt::clear_isconstraint() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.isconstraint_ = false; } -inline void RangeTblFunction::clear_funcexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.funcexpr_ != nullptr) { - delete _impl_.funcexpr_; - } - _impl_.funcexpr_ = nullptr; +inline bool IndexStmt::isconstraint() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.isconstraint) + return _internal_isconstraint(); } -inline const ::pg_query::Node& RangeTblFunction::_internal_funcexpr() const { - const ::pg_query::Node* p = _impl_.funcexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void IndexStmt::set_isconstraint(bool value) { + _internal_set_isconstraint(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.isconstraint) } -inline const ::pg_query::Node& RangeTblFunction::funcexpr() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcexpr) - return _internal_funcexpr(); +inline bool IndexStmt::_internal_isconstraint() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isconstraint_; } -inline void RangeTblFunction::unsafe_arena_set_allocated_funcexpr( - ::pg_query::Node* funcexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.funcexpr_); - } - _impl_.funcexpr_ = funcexpr; - if (funcexpr) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RangeTblFunction.funcexpr) +inline void IndexStmt::_internal_set_isconstraint(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.isconstraint_ = value; } -inline ::pg_query::Node* RangeTblFunction::release_funcexpr() { - - ::pg_query::Node* temp = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool deferrable = 19 [json_name = "deferrable"]; +inline void IndexStmt::clear_deferrable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.deferrable_ = false; } -inline ::pg_query::Node* RangeTblFunction::unsafe_arena_release_funcexpr() { - // @@protoc_insertion_point(field_release:pg_query.RangeTblFunction.funcexpr) - - ::pg_query::Node* temp = _impl_.funcexpr_; - _impl_.funcexpr_ = nullptr; - return temp; +inline bool IndexStmt::deferrable() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.deferrable) + return _internal_deferrable(); } -inline ::pg_query::Node* RangeTblFunction::_internal_mutable_funcexpr() { - - if (_impl_.funcexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.funcexpr_ = p; - } - return _impl_.funcexpr_; +inline void IndexStmt::set_deferrable(bool value) { + _internal_set_deferrable(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.deferrable) } -inline ::pg_query::Node* RangeTblFunction::mutable_funcexpr() { - ::pg_query::Node* _msg = _internal_mutable_funcexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funcexpr) - return _msg; +inline bool IndexStmt::_internal_deferrable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.deferrable_; } -inline void RangeTblFunction::set_allocated_funcexpr(::pg_query::Node* funcexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.funcexpr_; - } - if (funcexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(funcexpr); - if (message_arena != submessage_arena) { - funcexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, funcexpr, submessage_arena); - } - - } else { - - } - _impl_.funcexpr_ = funcexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.RangeTblFunction.funcexpr) +inline void IndexStmt::_internal_set_deferrable(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.deferrable_ = value; } -// int32 funccolcount = 2 [json_name = "funccolcount"]; -inline void RangeTblFunction::clear_funccolcount() { - _impl_.funccolcount_ = 0; +// bool initdeferred = 20 [json_name = "initdeferred"]; +inline void IndexStmt::clear_initdeferred() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.initdeferred_ = false; } -inline int32_t RangeTblFunction::_internal_funccolcount() const { - return _impl_.funccolcount_; +inline bool IndexStmt::initdeferred() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.initdeferred) + return _internal_initdeferred(); } -inline int32_t RangeTblFunction::funccolcount() const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcount) - return _internal_funccolcount(); +inline void IndexStmt::set_initdeferred(bool value) { + _internal_set_initdeferred(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.initdeferred) } -inline void RangeTblFunction::_internal_set_funccolcount(int32_t value) { - - _impl_.funccolcount_ = value; +inline bool IndexStmt::_internal_initdeferred() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.initdeferred_; } -inline void RangeTblFunction::set_funccolcount(int32_t value) { - _internal_set_funccolcount(value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funccolcount) +inline void IndexStmt::_internal_set_initdeferred(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.initdeferred_ = value; } -// repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"]; -inline int RangeTblFunction::_internal_funccolnames_size() const { - return _impl_.funccolnames_.size(); +// bool transformed = 21 [json_name = "transformed"]; +inline void IndexStmt::clear_transformed() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transformed_ = false; } -inline int RangeTblFunction::funccolnames_size() const { - return _internal_funccolnames_size(); +inline bool IndexStmt::transformed() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.transformed) + return _internal_transformed(); } -inline void RangeTblFunction::clear_funccolnames() { - _impl_.funccolnames_.Clear(); +inline void IndexStmt::set_transformed(bool value) { + _internal_set_transformed(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.transformed) } -inline ::pg_query::Node* RangeTblFunction::mutable_funccolnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolnames) - return _impl_.funccolnames_.Mutable(index); +inline bool IndexStmt::_internal_transformed() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.transformed_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblFunction::mutable_funccolnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolnames) - return &_impl_.funccolnames_; +inline void IndexStmt::_internal_set_transformed(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.transformed_ = value; } -inline const ::pg_query::Node& RangeTblFunction::_internal_funccolnames(int index) const { - return _impl_.funccolnames_.Get(index); + +// bool concurrent = 22 [json_name = "concurrent"]; +inline void IndexStmt::clear_concurrent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.concurrent_ = false; } -inline const ::pg_query::Node& RangeTblFunction::funccolnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolnames) - return _internal_funccolnames(index); +inline bool IndexStmt::concurrent() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.concurrent) + return _internal_concurrent(); } -inline ::pg_query::Node* RangeTblFunction::_internal_add_funccolnames() { - return _impl_.funccolnames_.Add(); +inline void IndexStmt::set_concurrent(bool value) { + _internal_set_concurrent(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.concurrent) } -inline ::pg_query::Node* RangeTblFunction::add_funccolnames() { - ::pg_query::Node* _add = _internal_add_funccolnames(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolnames) - return _add; +inline bool IndexStmt::_internal_concurrent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.concurrent_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblFunction::funccolnames() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolnames) - return _impl_.funccolnames_; +inline void IndexStmt::_internal_set_concurrent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.concurrent_ = value; } -// repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"]; -inline int RangeTblFunction::_internal_funccoltypes_size() const { - return _impl_.funccoltypes_.size(); +// bool if_not_exists = 23 [json_name = "if_not_exists"]; +inline void IndexStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline int RangeTblFunction::funccoltypes_size() const { - return _internal_funccoltypes_size(); +inline bool IndexStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.if_not_exists) + return _internal_if_not_exists(); } -inline void RangeTblFunction::clear_funccoltypes() { - _impl_.funccoltypes_.Clear(); +inline void IndexStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.if_not_exists) } -inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypes(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypes) - return _impl_.funccoltypes_.Mutable(index); +inline bool IndexStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblFunction::mutable_funccoltypes() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypes) - return &_impl_.funccoltypes_; +inline void IndexStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } -inline const ::pg_query::Node& RangeTblFunction::_internal_funccoltypes(int index) const { - return _impl_.funccoltypes_.Get(index); + +// bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"]; +inline void IndexStmt::clear_reset_default_tblspc() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.reset_default_tblspc_ = false; } -inline const ::pg_query::Node& RangeTblFunction::funccoltypes(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypes) - return _internal_funccoltypes(index); +inline bool IndexStmt::reset_default_tblspc() const { + // @@protoc_insertion_point(field_get:pg_query.IndexStmt.reset_default_tblspc) + return _internal_reset_default_tblspc(); } -inline ::pg_query::Node* RangeTblFunction::_internal_add_funccoltypes() { - return _impl_.funccoltypes_.Add(); +inline void IndexStmt::set_reset_default_tblspc(bool value) { + _internal_set_reset_default_tblspc(value); + // @@protoc_insertion_point(field_set:pg_query.IndexStmt.reset_default_tblspc) } -inline ::pg_query::Node* RangeTblFunction::add_funccoltypes() { - ::pg_query::Node* _add = _internal_add_funccoltypes(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypes) - return _add; +inline bool IndexStmt::_internal_reset_default_tblspc() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.reset_default_tblspc_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblFunction::funccoltypes() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypes) - return _impl_.funccoltypes_; +inline void IndexStmt::_internal_set_reset_default_tblspc(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.reset_default_tblspc_ = value; } -// repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"]; -inline int RangeTblFunction::_internal_funccoltypmods_size() const { - return _impl_.funccoltypmods_.size(); +// ------------------------------------------------------------------- + +// CreateStatsStmt + +// repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; +inline int CreateStatsStmt::_internal_defnames_size() const { + return _internal_defnames().size(); } -inline int RangeTblFunction::funccoltypmods_size() const { - return _internal_funccoltypmods_size(); +inline int CreateStatsStmt::defnames_size() const { + return _internal_defnames_size(); } -inline void RangeTblFunction::clear_funccoltypmods() { - _impl_.funccoltypmods_.Clear(); +inline void CreateStatsStmt::clear_defnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnames_.Clear(); } -inline ::pg_query::Node* RangeTblFunction::mutable_funccoltypmods(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccoltypmods) - return _impl_.funccoltypmods_.Mutable(index); +inline ::pg_query::Node* CreateStatsStmt::mutable_defnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.defnames) + return _internal_mutable_defnames()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblFunction::mutable_funccoltypmods() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccoltypmods) - return &_impl_.funccoltypmods_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStatsStmt::mutable_defnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.defnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_defnames(); } -inline const ::pg_query::Node& RangeTblFunction::_internal_funccoltypmods(int index) const { - return _impl_.funccoltypmods_.Get(index); +inline const ::pg_query::Node& CreateStatsStmt::defnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.defnames) + return _internal_defnames().Get(index); } -inline const ::pg_query::Node& RangeTblFunction::funccoltypmods(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccoltypmods) - return _internal_funccoltypmods(index); +inline ::pg_query::Node* CreateStatsStmt::add_defnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_defnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.defnames) + return _add; } -inline ::pg_query::Node* RangeTblFunction::_internal_add_funccoltypmods() { - return _impl_.funccoltypmods_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStatsStmt::defnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.defnames) + return _internal_defnames(); } -inline ::pg_query::Node* RangeTblFunction::add_funccoltypmods() { - ::pg_query::Node* _add = _internal_add_funccoltypmods(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccoltypmods) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStatsStmt::_internal_defnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defnames_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblFunction::funccoltypmods() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccoltypmods) - return _impl_.funccoltypmods_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStatsStmt::_internal_mutable_defnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.defnames_; } -// repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"]; -inline int RangeTblFunction::_internal_funccolcollations_size() const { - return _impl_.funccolcollations_.size(); +// repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"]; +inline int CreateStatsStmt::_internal_stat_types_size() const { + return _internal_stat_types().size(); } -inline int RangeTblFunction::funccolcollations_size() const { - return _internal_funccolcollations_size(); +inline int CreateStatsStmt::stat_types_size() const { + return _internal_stat_types_size(); } -inline void RangeTblFunction::clear_funccolcollations() { - _impl_.funccolcollations_.Clear(); +inline void CreateStatsStmt::clear_stat_types() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stat_types_.Clear(); } -inline ::pg_query::Node* RangeTblFunction::mutable_funccolcollations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.RangeTblFunction.funccolcollations) - return _impl_.funccolcollations_.Mutable(index); +inline ::pg_query::Node* CreateStatsStmt::mutable_stat_types(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.stat_types) + return _internal_mutable_stat_types()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -RangeTblFunction::mutable_funccolcollations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funccolcollations) - return &_impl_.funccolcollations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStatsStmt::mutable_stat_types() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.stat_types) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_stat_types(); } -inline const ::pg_query::Node& RangeTblFunction::_internal_funccolcollations(int index) const { - return _impl_.funccolcollations_.Get(index); +inline const ::pg_query::Node& CreateStatsStmt::stat_types(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.stat_types) + return _internal_stat_types().Get(index); } -inline const ::pg_query::Node& RangeTblFunction::funccolcollations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funccolcollations) - return _internal_funccolcollations(index); +inline ::pg_query::Node* CreateStatsStmt::add_stat_types() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_stat_types()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.stat_types) + return _add; } -inline ::pg_query::Node* RangeTblFunction::_internal_add_funccolcollations() { - return _impl_.funccolcollations_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStatsStmt::stat_types() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.stat_types) + return _internal_stat_types(); } -inline ::pg_query::Node* RangeTblFunction::add_funccolcollations() { - ::pg_query::Node* _add = _internal_add_funccolcollations(); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funccolcollations) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStatsStmt::_internal_stat_types() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stat_types_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -RangeTblFunction::funccolcollations() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funccolcollations) - return _impl_.funccolcollations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStatsStmt::_internal_mutable_stat_types() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.stat_types_; } -// repeated uint64 funcparams = 7 [json_name = "funcparams"]; -inline int RangeTblFunction::_internal_funcparams_size() const { - return _impl_.funcparams_.size(); +// repeated .pg_query.Node exprs = 3 [json_name = "exprs"]; +inline int CreateStatsStmt::_internal_exprs_size() const { + return _internal_exprs().size(); } -inline int RangeTblFunction::funcparams_size() const { - return _internal_funcparams_size(); +inline int CreateStatsStmt::exprs_size() const { + return _internal_exprs_size(); } -inline void RangeTblFunction::clear_funcparams() { - _impl_.funcparams_.Clear(); +inline void CreateStatsStmt::clear_exprs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.exprs_.Clear(); } -inline uint64_t RangeTblFunction::_internal_funcparams(int index) const { - return _impl_.funcparams_.Get(index); +inline ::pg_query::Node* CreateStatsStmt::mutable_exprs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.exprs) + return _internal_mutable_exprs()->Mutable(index); } -inline uint64_t RangeTblFunction::funcparams(int index) const { - // @@protoc_insertion_point(field_get:pg_query.RangeTblFunction.funcparams) - return _internal_funcparams(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStatsStmt::mutable_exprs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.exprs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_exprs(); } -inline void RangeTblFunction::set_funcparams(int index, uint64_t value) { - _impl_.funcparams_.Set(index, value); - // @@protoc_insertion_point(field_set:pg_query.RangeTblFunction.funcparams) +inline const ::pg_query::Node& CreateStatsStmt::exprs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.exprs) + return _internal_exprs().Get(index); } -inline void RangeTblFunction::_internal_add_funcparams(uint64_t value) { - _impl_.funcparams_.Add(value); +inline ::pg_query::Node* CreateStatsStmt::add_exprs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_exprs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.exprs) + return _add; } -inline void RangeTblFunction::add_funcparams(uint64_t value) { - _internal_add_funcparams(value); - // @@protoc_insertion_point(field_add:pg_query.RangeTblFunction.funcparams) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStatsStmt::exprs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.exprs) + return _internal_exprs(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblFunction::_internal_funcparams() const { - return _impl_.funcparams_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStatsStmt::_internal_exprs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.exprs_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >& -RangeTblFunction::funcparams() const { - // @@protoc_insertion_point(field_list:pg_query.RangeTblFunction.funcparams) - return _internal_funcparams(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStatsStmt::_internal_mutable_exprs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.exprs_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblFunction::_internal_mutable_funcparams() { - return &_impl_.funcparams_; + +// repeated .pg_query.Node relations = 4 [json_name = "relations"]; +inline int CreateStatsStmt::_internal_relations_size() const { + return _internal_relations().size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >* -RangeTblFunction::mutable_funcparams() { - // @@protoc_insertion_point(field_mutable_list:pg_query.RangeTblFunction.funcparams) - return _internal_mutable_funcparams(); +inline int CreateStatsStmt::relations_size() const { + return _internal_relations_size(); } - -// ------------------------------------------------------------------- - -// TableSampleClause - -// uint32 tsmhandler = 1 [json_name = "tsmhandler"]; -inline void TableSampleClause::clear_tsmhandler() { - _impl_.tsmhandler_ = 0u; +inline void CreateStatsStmt::clear_relations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relations_.Clear(); } -inline uint32_t TableSampleClause::_internal_tsmhandler() const { - return _impl_.tsmhandler_; +inline ::pg_query::Node* CreateStatsStmt::mutable_relations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.relations) + return _internal_mutable_relations()->Mutable(index); } -inline uint32_t TableSampleClause::tsmhandler() const { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.tsmhandler) - return _internal_tsmhandler(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateStatsStmt::mutable_relations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateStatsStmt.relations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_relations(); } -inline void TableSampleClause::_internal_set_tsmhandler(uint32_t value) { - - _impl_.tsmhandler_ = value; +inline const ::pg_query::Node& CreateStatsStmt::relations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.relations) + return _internal_relations().Get(index); } -inline void TableSampleClause::set_tsmhandler(uint32_t value) { - _internal_set_tsmhandler(value); - // @@protoc_insertion_point(field_set:pg_query.TableSampleClause.tsmhandler) +inline ::pg_query::Node* CreateStatsStmt::add_relations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_relations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateStatsStmt.relations) + return _add; } - -// repeated .pg_query.Node args = 2 [json_name = "args"]; -inline int TableSampleClause::_internal_args_size() const { - return _impl_.args_.size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateStatsStmt::relations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateStatsStmt.relations) + return _internal_relations(); } -inline int TableSampleClause::args_size() const { - return _internal_args_size(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateStatsStmt::_internal_relations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relations_; } -inline void TableSampleClause::clear_args() { - _impl_.args_.Clear(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateStatsStmt::_internal_mutable_relations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.relations_; } -inline ::pg_query::Node* TableSampleClause::mutable_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.args) - return _impl_.args_.Mutable(index); + +// string stxcomment = 5 [json_name = "stxcomment"]; +inline void CreateStatsStmt::clear_stxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stxcomment_.ClearToEmpty(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -TableSampleClause::mutable_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.TableSampleClause.args) - return &_impl_.args_; +inline const std::string& CreateStatsStmt::stxcomment() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.stxcomment) + return _internal_stxcomment(); } -inline const ::pg_query::Node& TableSampleClause::_internal_args(int index) const { - return _impl_.args_.Get(index); +template +inline PROTOBUF_ALWAYS_INLINE void CreateStatsStmt::set_stxcomment(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stxcomment_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.stxcomment) } -inline const ::pg_query::Node& TableSampleClause::args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.args) - return _internal_args(index); +inline std::string* CreateStatsStmt::mutable_stxcomment() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_stxcomment(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateStatsStmt.stxcomment) + return _s; } -inline ::pg_query::Node* TableSampleClause::_internal_add_args() { - return _impl_.args_.Add(); +inline const std::string& CreateStatsStmt::_internal_stxcomment() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.stxcomment_.Get(); } -inline ::pg_query::Node* TableSampleClause::add_args() { - ::pg_query::Node* _add = _internal_add_args(); - // @@protoc_insertion_point(field_add:pg_query.TableSampleClause.args) - return _add; +inline void CreateStatsStmt::_internal_set_stxcomment(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.stxcomment_.Set(value, GetArena()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -TableSampleClause::args() const { - // @@protoc_insertion_point(field_list:pg_query.TableSampleClause.args) - return _impl_.args_; +inline std::string* CreateStatsStmt::_internal_mutable_stxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.stxcomment_.Mutable( GetArena()); } - -// .pg_query.Node repeatable = 3 [json_name = "repeatable"]; -inline bool TableSampleClause::_internal_has_repeatable() const { - return this != internal_default_instance() && _impl_.repeatable_ != nullptr; +inline std::string* CreateStatsStmt::release_stxcomment() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateStatsStmt.stxcomment) + return _impl_.stxcomment_.Release(); } -inline bool TableSampleClause::has_repeatable() const { - return _internal_has_repeatable(); +inline void CreateStatsStmt::set_allocated_stxcomment(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.stxcomment_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.stxcomment_.IsDefault()) { + _impl_.stxcomment_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateStatsStmt.stxcomment) } -inline void TableSampleClause::clear_repeatable() { - if (GetArenaForAllocation() == nullptr && _impl_.repeatable_ != nullptr) { - delete _impl_.repeatable_; - } - _impl_.repeatable_ = nullptr; + +// bool transformed = 6 [json_name = "transformed"]; +inline void CreateStatsStmt::clear_transformed() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.transformed_ = false; } -inline const ::pg_query::Node& TableSampleClause::_internal_repeatable() const { - const ::pg_query::Node* p = _impl_.repeatable_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline bool CreateStatsStmt::transformed() const { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.transformed) + return _internal_transformed(); } -inline const ::pg_query::Node& TableSampleClause::repeatable() const { - // @@protoc_insertion_point(field_get:pg_query.TableSampleClause.repeatable) - return _internal_repeatable(); +inline void CreateStatsStmt::set_transformed(bool value) { + _internal_set_transformed(value); + // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.transformed) } -inline void TableSampleClause::unsafe_arena_set_allocated_repeatable( - ::pg_query::Node* repeatable) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.repeatable_); - } - _impl_.repeatable_ = repeatable; - if (repeatable) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableSampleClause.repeatable) +inline bool CreateStatsStmt::_internal_transformed() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.transformed_; } -inline ::pg_query::Node* TableSampleClause::release_repeatable() { - - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline void CreateStatsStmt::_internal_set_transformed(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.transformed_ = value; } -inline ::pg_query::Node* TableSampleClause::unsafe_arena_release_repeatable() { - // @@protoc_insertion_point(field_release:pg_query.TableSampleClause.repeatable) - - ::pg_query::Node* temp = _impl_.repeatable_; - _impl_.repeatable_ = nullptr; - return temp; + +// bool if_not_exists = 7 [json_name = "if_not_exists"]; +inline void CreateStatsStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline ::pg_query::Node* TableSampleClause::_internal_mutable_repeatable() { - - if (_impl_.repeatable_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.repeatable_ = p; - } - return _impl_.repeatable_; +inline bool CreateStatsStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateStatsStmt.if_not_exists) + return _internal_if_not_exists(); } -inline ::pg_query::Node* TableSampleClause::mutable_repeatable() { - ::pg_query::Node* _msg = _internal_mutable_repeatable(); - // @@protoc_insertion_point(field_mutable:pg_query.TableSampleClause.repeatable) - return _msg; +inline void CreateStatsStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateStatsStmt.if_not_exists) } -inline void TableSampleClause::set_allocated_repeatable(::pg_query::Node* repeatable) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.repeatable_; - } - if (repeatable) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(repeatable); - if (message_arena != submessage_arena) { - repeatable = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, repeatable, submessage_arena); - } - - } else { - - } - _impl_.repeatable_ = repeatable; - // @@protoc_insertion_point(field_set_allocated:pg_query.TableSampleClause.repeatable) +inline bool CreateStatsStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; +} +inline void CreateStatsStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } // ------------------------------------------------------------------- -// WithCheckOption +// StatsElem -// .pg_query.WCOKind kind = 1 [json_name = "kind"]; -inline void WithCheckOption::clear_kind() { - _impl_.kind_ = 0; +// string name = 1 [json_name = "name"]; +inline void StatsElem::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline ::pg_query::WCOKind WithCheckOption::_internal_kind() const { - return static_cast< ::pg_query::WCOKind >(_impl_.kind_); +inline const std::string& StatsElem::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.StatsElem.name) + return _internal_name(); } -inline ::pg_query::WCOKind WithCheckOption::kind() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.kind) - return _internal_kind(); +template +inline PROTOBUF_ALWAYS_INLINE void StatsElem::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.StatsElem.name) } -inline void WithCheckOption::_internal_set_kind(::pg_query::WCOKind value) { - - _impl_.kind_ = value; +inline std::string* StatsElem::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.StatsElem.name) + return _s; } -inline void WithCheckOption::set_kind(::pg_query::WCOKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.kind) +inline const std::string& StatsElem::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void StatsElem::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* StatsElem::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* StatsElem::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.StatsElem.name) + return _impl_.name_.Release(); +} +inline void StatsElem::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.StatsElem.name) } -// string relname = 2 [json_name = "relname"]; -inline void WithCheckOption::clear_relname() { - _impl_.relname_.ClearToEmpty(); +// .pg_query.Node expr = 2 [json_name = "expr"]; +inline bool StatsElem::has_expr() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.expr_ != nullptr); + return value; } -inline const std::string& WithCheckOption::relname() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.relname) - return _internal_relname(); +inline void StatsElem::clear_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.expr_ != nullptr) _impl_.expr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void WithCheckOption::set_relname(ArgT0&& arg0, ArgT... args) { - - _impl_.relname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.relname) +inline const ::pg_query::Node& StatsElem::_internal_expr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.expr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* WithCheckOption::mutable_relname() { - std::string* _s = _internal_mutable_relname(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.relname) - return _s; +inline const ::pg_query::Node& StatsElem::expr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.StatsElem.expr) + return _internal_expr(); } -inline const std::string& WithCheckOption::_internal_relname() const { - return _impl_.relname_.Get(); +inline void StatsElem::unsafe_arena_set_allocated_expr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.expr_); + } + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.StatsElem.expr) } -inline void WithCheckOption::_internal_set_relname(const std::string& value) { - - _impl_.relname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* StatsElem::release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.expr_; + _impl_.expr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* WithCheckOption::_internal_mutable_relname() { - - return _impl_.relname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* StatsElem::unsafe_arena_release_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.StatsElem.expr) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.expr_; + _impl_.expr_ = nullptr; + return temp; } -inline std::string* WithCheckOption::release_relname() { - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.relname) - return _impl_.relname_.Release(); +inline ::pg_query::Node* StatsElem::_internal_mutable_expr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.expr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.expr_; } -inline void WithCheckOption::set_allocated_relname(std::string* relname) { - if (relname != nullptr) { - - } else { - +inline ::pg_query::Node* StatsElem::mutable_expr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_expr(); + // @@protoc_insertion_point(field_mutable:pg_query.StatsElem.expr) + return _msg; +} +inline void StatsElem::set_allocated_expr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.expr_); } - _impl_.relname_.SetAllocated(relname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.relname_.IsDefault()) { - _impl_.relname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.relname) + + _impl_.expr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.StatsElem.expr) } -// string polname = 3 [json_name = "polname"]; -inline void WithCheckOption::clear_polname() { - _impl_.polname_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// AlterStatsStmt + +// repeated .pg_query.Node defnames = 1 [json_name = "defnames"]; +inline int AlterStatsStmt::_internal_defnames_size() const { + return _internal_defnames().size(); } -inline const std::string& WithCheckOption::polname() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.polname) - return _internal_polname(); +inline int AlterStatsStmt::defnames_size() const { + return _internal_defnames_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void WithCheckOption::set_polname(ArgT0&& arg0, ArgT... args) { - - _impl_.polname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.polname) +inline void AlterStatsStmt::clear_defnames() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.defnames_.Clear(); } -inline std::string* WithCheckOption::mutable_polname() { - std::string* _s = _internal_mutable_polname(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.polname) - return _s; +inline ::pg_query::Node* AlterStatsStmt::mutable_defnames(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterStatsStmt.defnames) + return _internal_mutable_defnames()->Mutable(index); } -inline const std::string& WithCheckOption::_internal_polname() const { - return _impl_.polname_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterStatsStmt::mutable_defnames() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterStatsStmt.defnames) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_defnames(); } -inline void WithCheckOption::_internal_set_polname(const std::string& value) { - - _impl_.polname_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& AlterStatsStmt::defnames(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.defnames) + return _internal_defnames().Get(index); } -inline std::string* WithCheckOption::_internal_mutable_polname() { - - return _impl_.polname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* AlterStatsStmt::add_defnames() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_defnames()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterStatsStmt.defnames) + return _add; } -inline std::string* WithCheckOption::release_polname() { - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.polname) - return _impl_.polname_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterStatsStmt::defnames() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterStatsStmt.defnames) + return _internal_defnames(); } -inline void WithCheckOption::set_allocated_polname(std::string* polname) { - if (polname != nullptr) { - - } else { - - } - _impl_.polname_.SetAllocated(polname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.polname_.IsDefault()) { - _impl_.polname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.polname) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterStatsStmt::_internal_defnames() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.defnames_; } - -// .pg_query.Node qual = 4 [json_name = "qual"]; -inline bool WithCheckOption::_internal_has_qual() const { - return this != internal_default_instance() && _impl_.qual_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterStatsStmt::_internal_mutable_defnames() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.defnames_; } -inline bool WithCheckOption::has_qual() const { - return _internal_has_qual(); + +// .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"]; +inline bool AlterStatsStmt::has_stxstattarget() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.stxstattarget_ != nullptr); + return value; } -inline void WithCheckOption::clear_qual() { - if (GetArenaForAllocation() == nullptr && _impl_.qual_ != nullptr) { - delete _impl_.qual_; - } - _impl_.qual_ = nullptr; +inline void AlterStatsStmt::clear_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.stxstattarget_ != nullptr) _impl_.stxstattarget_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& WithCheckOption::_internal_qual() const { - const ::pg_query::Node* p = _impl_.qual_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& AlterStatsStmt::_internal_stxstattarget() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.stxstattarget_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WithCheckOption::qual() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.qual) - return _internal_qual(); +inline const ::pg_query::Node& AlterStatsStmt::stxstattarget() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.stxstattarget) + return _internal_stxstattarget(); } -inline void WithCheckOption::unsafe_arena_set_allocated_qual( - ::pg_query::Node* qual) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.qual_); +inline void AlterStatsStmt::unsafe_arena_set_allocated_stxstattarget(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.stxstattarget_); } - _impl_.qual_ = qual; - if (qual) { - + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WithCheckOption.qual) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterStatsStmt.stxstattarget) } -inline ::pg_query::Node* WithCheckOption::release_qual() { - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::Node* AlterStatsStmt::release_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.stxstattarget_; + _impl_.stxstattarget_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* WithCheckOption::unsafe_arena_release_qual() { - // @@protoc_insertion_point(field_release:pg_query.WithCheckOption.qual) - - ::pg_query::Node* temp = _impl_.qual_; - _impl_.qual_ = nullptr; +inline ::pg_query::Node* AlterStatsStmt::unsafe_arena_release_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterStatsStmt.stxstattarget) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.stxstattarget_; + _impl_.stxstattarget_ = nullptr; return temp; } -inline ::pg_query::Node* WithCheckOption::_internal_mutable_qual() { - - if (_impl_.qual_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.qual_ = p; +inline ::pg_query::Node* AlterStatsStmt::_internal_mutable_stxstattarget() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.stxstattarget_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.qual_; + return _impl_.stxstattarget_; } -inline ::pg_query::Node* WithCheckOption::mutable_qual() { - ::pg_query::Node* _msg = _internal_mutable_qual(); - // @@protoc_insertion_point(field_mutable:pg_query.WithCheckOption.qual) +inline ::pg_query::Node* AlterStatsStmt::mutable_stxstattarget() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_stxstattarget(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterStatsStmt.stxstattarget) return _msg; } -inline void WithCheckOption::set_allocated_qual(::pg_query::Node* qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterStatsStmt::set_allocated_stxstattarget(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.qual_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.stxstattarget_); } - if (qual) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(qual); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - qual = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, qual, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.qual_ = qual; - // @@protoc_insertion_point(field_set_allocated:pg_query.WithCheckOption.qual) + + _impl_.stxstattarget_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterStatsStmt.stxstattarget) } -// bool cascaded = 5 [json_name = "cascaded"]; -inline void WithCheckOption::clear_cascaded() { - _impl_.cascaded_ = false; +// bool missing_ok = 3 [json_name = "missing_ok"]; +inline void AlterStatsStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline bool WithCheckOption::_internal_cascaded() const { - return _impl_.cascaded_; +inline bool AlterStatsStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterStatsStmt.missing_ok) + return _internal_missing_ok(); } -inline bool WithCheckOption::cascaded() const { - // @@protoc_insertion_point(field_get:pg_query.WithCheckOption.cascaded) - return _internal_cascaded(); +inline void AlterStatsStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterStatsStmt.missing_ok) } -inline void WithCheckOption::_internal_set_cascaded(bool value) { - - _impl_.cascaded_ = value; +inline bool AlterStatsStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline void WithCheckOption::set_cascaded(bool value) { - _internal_set_cascaded(value); - // @@protoc_insertion_point(field_set:pg_query.WithCheckOption.cascaded) +inline void AlterStatsStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// SortGroupClause +// CreateFunctionStmt -// uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"]; -inline void SortGroupClause::clear_tle_sort_group_ref() { - _impl_.tle_sort_group_ref_ = 0u; +// bool is_procedure = 1 [json_name = "is_procedure"]; +inline void CreateFunctionStmt::clear_is_procedure() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_procedure_ = false; } -inline uint32_t SortGroupClause::_internal_tle_sort_group_ref() const { - return _impl_.tle_sort_group_ref_; +inline bool CreateFunctionStmt::is_procedure() const { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.is_procedure) + return _internal_is_procedure(); } -inline uint32_t SortGroupClause::tle_sort_group_ref() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.tle_sort_group_ref) - return _internal_tle_sort_group_ref(); +inline void CreateFunctionStmt::set_is_procedure(bool value) { + _internal_set_is_procedure(value); + // @@protoc_insertion_point(field_set:pg_query.CreateFunctionStmt.is_procedure) } -inline void SortGroupClause::_internal_set_tle_sort_group_ref(uint32_t value) { - - _impl_.tle_sort_group_ref_ = value; +inline bool CreateFunctionStmt::_internal_is_procedure() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_procedure_; } -inline void SortGroupClause::set_tle_sort_group_ref(uint32_t value) { - _internal_set_tle_sort_group_ref(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.tle_sort_group_ref) +inline void CreateFunctionStmt::_internal_set_is_procedure(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_procedure_ = value; } -// uint32 eqop = 2 [json_name = "eqop"]; -inline void SortGroupClause::clear_eqop() { - _impl_.eqop_ = 0u; +// bool replace = 2 [json_name = "replace"]; +inline void CreateFunctionStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline uint32_t SortGroupClause::_internal_eqop() const { - return _impl_.eqop_; +inline bool CreateFunctionStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.replace) + return _internal_replace(); } -inline uint32_t SortGroupClause::eqop() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.eqop) - return _internal_eqop(); +inline void CreateFunctionStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.CreateFunctionStmt.replace) } -inline void SortGroupClause::_internal_set_eqop(uint32_t value) { - - _impl_.eqop_ = value; +inline bool CreateFunctionStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void SortGroupClause::set_eqop(uint32_t value) { - _internal_set_eqop(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.eqop) +inline void CreateFunctionStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// uint32 sortop = 3 [json_name = "sortop"]; -inline void SortGroupClause::clear_sortop() { - _impl_.sortop_ = 0u; +// repeated .pg_query.Node funcname = 3 [json_name = "funcname"]; +inline int CreateFunctionStmt::_internal_funcname_size() const { + return _internal_funcname().size(); } -inline uint32_t SortGroupClause::_internal_sortop() const { - return _impl_.sortop_; +inline int CreateFunctionStmt::funcname_size() const { + return _internal_funcname_size(); } -inline uint32_t SortGroupClause::sortop() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.sortop) - return _internal_sortop(); +inline void CreateFunctionStmt::clear_funcname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.funcname_.Clear(); } -inline void SortGroupClause::_internal_set_sortop(uint32_t value) { - - _impl_.sortop_ = value; +inline ::pg_query::Node* CreateFunctionStmt::mutable_funcname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.funcname) + return _internal_mutable_funcname()->Mutable(index); } -inline void SortGroupClause::set_sortop(uint32_t value) { - _internal_set_sortop(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.sortop) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateFunctionStmt::mutable_funcname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.funcname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_funcname(); } - -// bool nulls_first = 4 [json_name = "nulls_first"]; -inline void SortGroupClause::clear_nulls_first() { - _impl_.nulls_first_ = false; +inline const ::pg_query::Node& CreateFunctionStmt::funcname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.funcname) + return _internal_funcname().Get(index); } -inline bool SortGroupClause::_internal_nulls_first() const { - return _impl_.nulls_first_; +inline ::pg_query::Node* CreateFunctionStmt::add_funcname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_funcname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.funcname) + return _add; } -inline bool SortGroupClause::nulls_first() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.nulls_first) - return _internal_nulls_first(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateFunctionStmt::funcname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.funcname) + return _internal_funcname(); } -inline void SortGroupClause::_internal_set_nulls_first(bool value) { - - _impl_.nulls_first_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateFunctionStmt::_internal_funcname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.funcname_; } -inline void SortGroupClause::set_nulls_first(bool value) { - _internal_set_nulls_first(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.nulls_first) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateFunctionStmt::_internal_mutable_funcname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.funcname_; } -// bool hashable = 5 [json_name = "hashable"]; -inline void SortGroupClause::clear_hashable() { - _impl_.hashable_ = false; +// repeated .pg_query.Node parameters = 4 [json_name = "parameters"]; +inline int CreateFunctionStmt::_internal_parameters_size() const { + return _internal_parameters().size(); } -inline bool SortGroupClause::_internal_hashable() const { - return _impl_.hashable_; +inline int CreateFunctionStmt::parameters_size() const { + return _internal_parameters_size(); } -inline bool SortGroupClause::hashable() const { - // @@protoc_insertion_point(field_get:pg_query.SortGroupClause.hashable) - return _internal_hashable(); +inline void CreateFunctionStmt::clear_parameters() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.parameters_.Clear(); } -inline void SortGroupClause::_internal_set_hashable(bool value) { - - _impl_.hashable_ = value; +inline ::pg_query::Node* CreateFunctionStmt::mutable_parameters(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.parameters) + return _internal_mutable_parameters()->Mutable(index); } -inline void SortGroupClause::set_hashable(bool value) { - _internal_set_hashable(value); - // @@protoc_insertion_point(field_set:pg_query.SortGroupClause.hashable) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateFunctionStmt::mutable_parameters() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.parameters) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_parameters(); } - -// ------------------------------------------------------------------- - -// GroupingSet - -// .pg_query.GroupingSetKind kind = 1 [json_name = "kind"]; -inline void GroupingSet::clear_kind() { - _impl_.kind_ = 0; +inline const ::pg_query::Node& CreateFunctionStmt::parameters(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.parameters) + return _internal_parameters().Get(index); } -inline ::pg_query::GroupingSetKind GroupingSet::_internal_kind() const { - return static_cast< ::pg_query::GroupingSetKind >(_impl_.kind_); +inline ::pg_query::Node* CreateFunctionStmt::add_parameters() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_parameters()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.parameters) + return _add; } -inline ::pg_query::GroupingSetKind GroupingSet::kind() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.kind) - return _internal_kind(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateFunctionStmt::parameters() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.parameters) + return _internal_parameters(); } -inline void GroupingSet::_internal_set_kind(::pg_query::GroupingSetKind value) { - - _impl_.kind_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateFunctionStmt::_internal_parameters() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.parameters_; } -inline void GroupingSet::set_kind(::pg_query::GroupingSetKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingSet.kind) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateFunctionStmt::_internal_mutable_parameters() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.parameters_; } -// repeated .pg_query.Node content = 2 [json_name = "content"]; -inline int GroupingSet::_internal_content_size() const { - return _impl_.content_.size(); +// .pg_query.TypeName return_type = 5 [json_name = "returnType"]; +inline bool CreateFunctionStmt::has_return_type() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.return_type_ != nullptr); + return value; } -inline int GroupingSet::content_size() const { - return _internal_content_size(); +inline void CreateFunctionStmt::clear_return_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.return_type_ != nullptr) _impl_.return_type_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void GroupingSet::clear_content() { - _impl_.content_.Clear(); +inline const ::pg_query::TypeName& CreateFunctionStmt::_internal_return_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.return_type_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline ::pg_query::Node* GroupingSet::mutable_content(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.GroupingSet.content) - return _impl_.content_.Mutable(index); +inline const ::pg_query::TypeName& CreateFunctionStmt::return_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.return_type) + return _internal_return_type(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -GroupingSet::mutable_content() { - // @@protoc_insertion_point(field_mutable_list:pg_query.GroupingSet.content) - return &_impl_.content_; +inline void CreateFunctionStmt::unsafe_arena_set_allocated_return_type(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.return_type_); + } + _impl_.return_type_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateFunctionStmt.return_type) } -inline const ::pg_query::Node& GroupingSet::_internal_content(int index) const { - return _impl_.content_.Get(index); +inline ::pg_query::TypeName* CreateFunctionStmt::release_return_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.return_type_; + _impl_.return_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& GroupingSet::content(int index) const { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.content) - return _internal_content(index); +inline ::pg_query::TypeName* CreateFunctionStmt::unsafe_arena_release_return_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateFunctionStmt.return_type) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.return_type_; + _impl_.return_type_ = nullptr; + return temp; } -inline ::pg_query::Node* GroupingSet::_internal_add_content() { - return _impl_.content_.Add(); +inline ::pg_query::TypeName* CreateFunctionStmt::_internal_mutable_return_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.return_type_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.return_type_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.return_type_; } -inline ::pg_query::Node* GroupingSet::add_content() { - ::pg_query::Node* _add = _internal_add_content(); - // @@protoc_insertion_point(field_add:pg_query.GroupingSet.content) - return _add; +inline ::pg_query::TypeName* CreateFunctionStmt::mutable_return_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_return_type(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.return_type) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -GroupingSet::content() const { - // @@protoc_insertion_point(field_list:pg_query.GroupingSet.content) - return _impl_.content_; +inline void CreateFunctionStmt::set_allocated_return_type(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.return_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.return_type_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFunctionStmt.return_type) } -// int32 location = 3 [json_name = "location"]; -inline void GroupingSet::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node options = 6 [json_name = "options"]; +inline int CreateFunctionStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t GroupingSet::_internal_location() const { - return _impl_.location_; +inline int CreateFunctionStmt::options_size() const { + return _internal_options_size(); } -inline int32_t GroupingSet::location() const { - // @@protoc_insertion_point(field_get:pg_query.GroupingSet.location) - return _internal_location(); +inline void CreateFunctionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void GroupingSet::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* CreateFunctionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void GroupingSet::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.GroupingSet.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateFunctionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateFunctionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// ------------------------------------------------------------------- - -// WindowClause - -// string name = 1 [json_name = "name"]; -inline void WindowClause::clear_name() { - _impl_.name_.ClearToEmpty(); +inline const ::pg_query::Node& CreateFunctionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.options) + return _internal_options().Get(index); } -inline const std::string& WindowClause::name() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.name) - return _internal_name(); +inline ::pg_query::Node* CreateFunctionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateFunctionStmt.options) + return _add; } -template -inline PROTOBUF_ALWAYS_INLINE -void WindowClause::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.name) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateFunctionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateFunctionStmt.options) + return _internal_options(); } -inline std::string* WindowClause::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.name) - return _s; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateFunctionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline const std::string& WindowClause::_internal_name() const { - return _impl_.name_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateFunctionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -inline void WindowClause::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// .pg_query.Node sql_body = 7 [json_name = "sql_body"]; +inline bool CreateFunctionStmt::has_sql_body() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.sql_body_ != nullptr); + return value; } -inline std::string* WindowClause::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline void CreateFunctionStmt::clear_sql_body() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.sql_body_ != nullptr) _impl_.sql_body_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline std::string* WindowClause::release_name() { - // @@protoc_insertion_point(field_release:pg_query.WindowClause.name) - return _impl_.name_.Release(); +inline const ::pg_query::Node& CreateFunctionStmt::_internal_sql_body() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.sql_body_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void WindowClause::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - +inline const ::pg_query::Node& CreateFunctionStmt::sql_body() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateFunctionStmt.sql_body) + return _internal_sql_body(); +} +inline void CreateFunctionStmt::unsafe_arena_set_allocated_sql_body(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sql_body_); } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); + _impl_.sql_body_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateFunctionStmt.sql_body) } +inline ::pg_query::Node* CreateFunctionStmt::release_sql_body() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// string refname = 2 [json_name = "refname"]; -inline void WindowClause::clear_refname() { - _impl_.refname_.ClearToEmpty(); -} -inline const std::string& WindowClause::refname() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.refname) - return _internal_refname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void WindowClause::set_refname(ArgT0&& arg0, ArgT... args) { - - _impl_.refname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.refname) -} -inline std::string* WindowClause::mutable_refname() { - std::string* _s = _internal_mutable_refname(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.refname) - return _s; -} -inline const std::string& WindowClause::_internal_refname() const { - return _impl_.refname_.Get(); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.sql_body_; + _impl_.sql_body_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void WindowClause::_internal_set_refname(const std::string& value) { - - _impl_.refname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::Node* CreateFunctionStmt::unsafe_arena_release_sql_body() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateFunctionStmt.sql_body) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.sql_body_; + _impl_.sql_body_ = nullptr; + return temp; } -inline std::string* WindowClause::_internal_mutable_refname() { - - return _impl_.refname_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateFunctionStmt::_internal_mutable_sql_body() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.sql_body_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.sql_body_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.sql_body_; } -inline std::string* WindowClause::release_refname() { - // @@protoc_insertion_point(field_release:pg_query.WindowClause.refname) - return _impl_.refname_.Release(); +inline ::pg_query::Node* CreateFunctionStmt::mutable_sql_body() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_sql_body(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateFunctionStmt.sql_body) + return _msg; } -inline void WindowClause::set_allocated_refname(std::string* refname) { - if (refname != nullptr) { - - } else { - +inline void CreateFunctionStmt::set_allocated_sql_body(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.sql_body_); } - _impl_.refname_.SetAllocated(refname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.refname_.IsDefault()) { - _impl_.refname_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.refname) -} -// repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"]; -inline int WindowClause::_internal_partition_clause_size() const { - return _impl_.partition_clause_.size(); + _impl_.sql_body_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateFunctionStmt.sql_body) } -inline int WindowClause::partition_clause_size() const { - return _internal_partition_clause_size(); + +// ------------------------------------------------------------------- + +// FunctionParameter + +// string name = 1 [json_name = "name"]; +inline void FunctionParameter::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline void WindowClause::clear_partition_clause() { - _impl_.partition_clause_.Clear(); +inline const std::string& FunctionParameter::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.name) + return _internal_name(); } -inline ::pg_query::Node* WindowClause::mutable_partition_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.partition_clause) - return _impl_.partition_clause_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void FunctionParameter::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.FunctionParameter.name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowClause::mutable_partition_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.partition_clause) - return &_impl_.partition_clause_; +inline std::string* FunctionParameter::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.name) + return _s; } -inline const ::pg_query::Node& WindowClause::_internal_partition_clause(int index) const { - return _impl_.partition_clause_.Get(index); +inline const std::string& FunctionParameter::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } -inline const ::pg_query::Node& WindowClause::partition_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.partition_clause) - return _internal_partition_clause(index); +inline void FunctionParameter::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline ::pg_query::Node* WindowClause::_internal_add_partition_clause() { - return _impl_.partition_clause_.Add(); +inline std::string* FunctionParameter::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline ::pg_query::Node* WindowClause::add_partition_clause() { - ::pg_query::Node* _add = _internal_add_partition_clause(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.partition_clause) - return _add; +inline std::string* FunctionParameter::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.name) + return _impl_.name_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowClause::partition_clause() const { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.partition_clause) - return _impl_.partition_clause_; +inline void FunctionParameter::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.name) } -// repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"]; -inline int WindowClause::_internal_order_clause_size() const { - return _impl_.order_clause_.size(); +// .pg_query.TypeName arg_type = 2 [json_name = "argType"]; +inline bool FunctionParameter::has_arg_type() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.arg_type_ != nullptr); + return value; } -inline int WindowClause::order_clause_size() const { - return _internal_order_clause_size(); +inline void FunctionParameter::clear_arg_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.arg_type_ != nullptr) _impl_.arg_type_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void WindowClause::clear_order_clause() { - _impl_.order_clause_.Clear(); +inline const ::pg_query::TypeName& FunctionParameter::_internal_arg_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.arg_type_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline ::pg_query::Node* WindowClause::mutable_order_clause(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.order_clause) - return _impl_.order_clause_.Mutable(index); +inline const ::pg_query::TypeName& FunctionParameter::arg_type() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.arg_type) + return _internal_arg_type(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowClause::mutable_order_clause() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.order_clause) - return &_impl_.order_clause_; +inline void FunctionParameter::unsafe_arena_set_allocated_arg_type(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.arg_type_); + } + _impl_.arg_type_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FunctionParameter.arg_type) } -inline const ::pg_query::Node& WindowClause::_internal_order_clause(int index) const { - return _impl_.order_clause_.Get(index); +inline ::pg_query::TypeName* FunctionParameter::release_arg_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.arg_type_; + _impl_.arg_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& WindowClause::order_clause(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.order_clause) - return _internal_order_clause(index); +inline ::pg_query::TypeName* FunctionParameter::unsafe_arena_release_arg_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.arg_type) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.arg_type_; + _impl_.arg_type_ = nullptr; + return temp; } -inline ::pg_query::Node* WindowClause::_internal_add_order_clause() { - return _impl_.order_clause_.Add(); +inline ::pg_query::TypeName* FunctionParameter::_internal_mutable_arg_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.arg_type_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.arg_type_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.arg_type_; } -inline ::pg_query::Node* WindowClause::add_order_clause() { - ::pg_query::Node* _add = _internal_add_order_clause(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.order_clause) - return _add; +inline ::pg_query::TypeName* FunctionParameter::mutable_arg_type() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_arg_type(); + // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.arg_type) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowClause::order_clause() const { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.order_clause) - return _impl_.order_clause_; +inline void FunctionParameter::set_allocated_arg_type(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.arg_type_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.arg_type_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.arg_type) } -// int32 frame_options = 5 [json_name = "frameOptions"]; -inline void WindowClause::clear_frame_options() { - _impl_.frame_options_ = 0; +// .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"]; +inline void FunctionParameter::clear_mode() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.mode_ = 0; } -inline int32_t WindowClause::_internal_frame_options() const { - return _impl_.frame_options_; +inline ::pg_query::FunctionParameterMode FunctionParameter::mode() const { + // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.mode) + return _internal_mode(); } -inline int32_t WindowClause::frame_options() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.frame_options) - return _internal_frame_options(); +inline void FunctionParameter::set_mode(::pg_query::FunctionParameterMode value) { + _internal_set_mode(value); + // @@protoc_insertion_point(field_set:pg_query.FunctionParameter.mode) } -inline void WindowClause::_internal_set_frame_options(int32_t value) { - - _impl_.frame_options_ = value; +inline ::pg_query::FunctionParameterMode FunctionParameter::_internal_mode() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::FunctionParameterMode>(_impl_.mode_); } -inline void WindowClause::set_frame_options(int32_t value) { - _internal_set_frame_options(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.frame_options) +inline void FunctionParameter::_internal_set_mode(::pg_query::FunctionParameterMode value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.mode_ = value; } -// .pg_query.Node start_offset = 6 [json_name = "startOffset"]; -inline bool WindowClause::_internal_has_start_offset() const { - return this != internal_default_instance() && _impl_.start_offset_ != nullptr; -} -inline bool WindowClause::has_start_offset() const { - return _internal_has_start_offset(); +// .pg_query.Node defexpr = 4 [json_name = "defexpr"]; +inline bool FunctionParameter::has_defexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.defexpr_ != nullptr); + return value; } -inline void WindowClause::clear_start_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.start_offset_ != nullptr) { - delete _impl_.start_offset_; - } - _impl_.start_offset_ = nullptr; +inline void FunctionParameter::clear_defexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.defexpr_ != nullptr) _impl_.defexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& WindowClause::_internal_start_offset() const { - const ::pg_query::Node* p = _impl_.start_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& FunctionParameter::_internal_defexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.defexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& WindowClause::start_offset() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_offset) - return _internal_start_offset(); +inline const ::pg_query::Node& FunctionParameter::defexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.defexpr) + return _internal_defexpr(); } -inline void WindowClause::unsafe_arena_set_allocated_start_offset( - ::pg_query::Node* start_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.start_offset_); +inline void FunctionParameter::unsafe_arena_set_allocated_defexpr(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.defexpr_); } - _impl_.start_offset_ = start_offset; - if (start_offset) { - + _impl_.defexpr_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.start_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FunctionParameter.defexpr) } -inline ::pg_query::Node* WindowClause::release_start_offset() { - - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; +inline ::pg_query::Node* FunctionParameter::release_defexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.defexpr_; + _impl_.defexpr_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* WindowClause::unsafe_arena_release_start_offset() { - // @@protoc_insertion_point(field_release:pg_query.WindowClause.start_offset) - - ::pg_query::Node* temp = _impl_.start_offset_; - _impl_.start_offset_ = nullptr; +inline ::pg_query::Node* FunctionParameter::unsafe_arena_release_defexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.defexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.defexpr_; + _impl_.defexpr_ = nullptr; return temp; } -inline ::pg_query::Node* WindowClause::_internal_mutable_start_offset() { - - if (_impl_.start_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.start_offset_ = p; +inline ::pg_query::Node* FunctionParameter::_internal_mutable_defexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.defexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.defexpr_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.start_offset_; + return _impl_.defexpr_; } -inline ::pg_query::Node* WindowClause::mutable_start_offset() { - ::pg_query::Node* _msg = _internal_mutable_start_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.start_offset) +inline ::pg_query::Node* FunctionParameter::mutable_defexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_defexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.defexpr) return _msg; } -inline void WindowClause::set_allocated_start_offset(::pg_query::Node* start_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void FunctionParameter::set_allocated_defexpr(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.start_offset_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.defexpr_); } - if (start_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(start_offset); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - start_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, start_offset, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.start_offset_ = start_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.start_offset) + + _impl_.defexpr_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.defexpr) } -// .pg_query.Node end_offset = 7 [json_name = "endOffset"]; -inline bool WindowClause::_internal_has_end_offset() const { - return this != internal_default_instance() && _impl_.end_offset_ != nullptr; +// ------------------------------------------------------------------- + +// AlterFunctionStmt + +// .pg_query.ObjectType objtype = 1 [json_name = "objtype"]; +inline void AlterFunctionStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline bool WindowClause::has_end_offset() const { - return _internal_has_end_offset(); +inline ::pg_query::ObjectType AlterFunctionStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.objtype) + return _internal_objtype(); } -inline void WindowClause::clear_end_offset() { - if (GetArenaForAllocation() == nullptr && _impl_.end_offset_ != nullptr) { - delete _impl_.end_offset_; - } - _impl_.end_offset_ = nullptr; +inline void AlterFunctionStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.AlterFunctionStmt.objtype) } -inline const ::pg_query::Node& WindowClause::_internal_end_offset() const { - const ::pg_query::Node* p = _impl_.end_offset_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline ::pg_query::ObjectType AlterFunctionStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline const ::pg_query::Node& WindowClause::end_offset() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_offset) - return _internal_end_offset(); +inline void AlterFunctionStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; +} + +// .pg_query.ObjectWithArgs func = 2 [json_name = "func"]; +inline bool AlterFunctionStmt::has_func() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.func_ != nullptr); + return value; +} +inline void AlterFunctionStmt::clear_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.func_ != nullptr) _impl_.func_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::ObjectWithArgs& AlterFunctionStmt::_internal_func() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.func_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); +} +inline const ::pg_query::ObjectWithArgs& AlterFunctionStmt::func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.func) + return _internal_func(); } -inline void WindowClause::unsafe_arena_set_allocated_end_offset( - ::pg_query::Node* end_offset) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.end_offset_); +inline void AlterFunctionStmt::unsafe_arena_set_allocated_func(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.func_); } - _impl_.end_offset_ = end_offset; - if (end_offset) { - + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.WindowClause.end_offset) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterFunctionStmt.func) } -inline ::pg_query::Node* WindowClause::release_end_offset() { - - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; +inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* released = _impl_.func_; + _impl_.func_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* WindowClause::unsafe_arena_release_end_offset() { - // @@protoc_insertion_point(field_release:pg_query.WindowClause.end_offset) - - ::pg_query::Node* temp = _impl_.end_offset_; - _impl_.end_offset_ = nullptr; +inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::unsafe_arena_release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterFunctionStmt.func) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* temp = _impl_.func_; + _impl_.func_ = nullptr; return temp; } -inline ::pg_query::Node* WindowClause::_internal_mutable_end_offset() { - - if (_impl_.end_offset_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.end_offset_ = p; +inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::_internal_mutable_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.func_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); } - return _impl_.end_offset_; + return _impl_.func_; } -inline ::pg_query::Node* WindowClause::mutable_end_offset() { - ::pg_query::Node* _msg = _internal_mutable_end_offset(); - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.end_offset) +inline ::pg_query::ObjectWithArgs* AlterFunctionStmt::mutable_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_func(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterFunctionStmt.func) return _msg; } -inline void WindowClause::set_allocated_end_offset(::pg_query::Node* end_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterFunctionStmt::set_allocated_func(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.end_offset_; + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.func_); } - if (end_offset) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(end_offset); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); if (message_arena != submessage_arena) { - end_offset = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, end_offset, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.end_offset_ = end_offset; - // @@protoc_insertion_point(field_set_allocated:pg_query.WindowClause.end_offset) + + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterFunctionStmt.func) } -// repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"]; -inline int WindowClause::_internal_run_condition_size() const { - return _impl_.run_condition_.size(); +// repeated .pg_query.Node actions = 3 [json_name = "actions"]; +inline int AlterFunctionStmt::_internal_actions_size() const { + return _internal_actions().size(); } -inline int WindowClause::run_condition_size() const { - return _internal_run_condition_size(); +inline int AlterFunctionStmt::actions_size() const { + return _internal_actions_size(); } -inline void WindowClause::clear_run_condition() { - _impl_.run_condition_.Clear(); +inline void AlterFunctionStmt::clear_actions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.actions_.Clear(); } -inline ::pg_query::Node* WindowClause::mutable_run_condition(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WindowClause.run_condition) - return _impl_.run_condition_.Mutable(index); +inline ::pg_query::Node* AlterFunctionStmt::mutable_actions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterFunctionStmt.actions) + return _internal_mutable_actions()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WindowClause::mutable_run_condition() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WindowClause.run_condition) - return &_impl_.run_condition_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterFunctionStmt::mutable_actions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterFunctionStmt.actions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_actions(); } -inline const ::pg_query::Node& WindowClause::_internal_run_condition(int index) const { - return _impl_.run_condition_.Get(index); +inline const ::pg_query::Node& AlterFunctionStmt::actions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterFunctionStmt.actions) + return _internal_actions().Get(index); } -inline const ::pg_query::Node& WindowClause::run_condition(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.run_condition) - return _internal_run_condition(index); +inline ::pg_query::Node* AlterFunctionStmt::add_actions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_actions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterFunctionStmt.actions) + return _add; } -inline ::pg_query::Node* WindowClause::_internal_add_run_condition() { - return _impl_.run_condition_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterFunctionStmt::actions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterFunctionStmt.actions) + return _internal_actions(); } -inline ::pg_query::Node* WindowClause::add_run_condition() { - ::pg_query::Node* _add = _internal_add_run_condition(); - // @@protoc_insertion_point(field_add:pg_query.WindowClause.run_condition) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterFunctionStmt::_internal_actions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.actions_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WindowClause::run_condition() const { - // @@protoc_insertion_point(field_list:pg_query.WindowClause.run_condition) - return _impl_.run_condition_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterFunctionStmt::_internal_mutable_actions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.actions_; } -// uint32 start_in_range_func = 9 [json_name = "startInRangeFunc"]; -inline void WindowClause::clear_start_in_range_func() { - _impl_.start_in_range_func_ = 0u; +// ------------------------------------------------------------------- + +// DoStmt + +// repeated .pg_query.Node args = 1 [json_name = "args"]; +inline int DoStmt::_internal_args_size() const { + return _internal_args().size(); } -inline uint32_t WindowClause::_internal_start_in_range_func() const { - return _impl_.start_in_range_func_; +inline int DoStmt::args_size() const { + return _internal_args_size(); } -inline uint32_t WindowClause::start_in_range_func() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.start_in_range_func) - return _internal_start_in_range_func(); +inline void DoStmt::clear_args() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.args_.Clear(); } -inline void WindowClause::_internal_set_start_in_range_func(uint32_t value) { - - _impl_.start_in_range_func_ = value; +inline ::pg_query::Node* DoStmt::mutable_args(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DoStmt.args) + return _internal_mutable_args()->Mutable(index); } -inline void WindowClause::set_start_in_range_func(uint32_t value) { - _internal_set_start_in_range_func(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.start_in_range_func) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DoStmt::mutable_args() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DoStmt.args) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_args(); } - -// uint32 end_in_range_func = 10 [json_name = "endInRangeFunc"]; -inline void WindowClause::clear_end_in_range_func() { - _impl_.end_in_range_func_ = 0u; +inline const ::pg_query::Node& DoStmt::args(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DoStmt.args) + return _internal_args().Get(index); } -inline uint32_t WindowClause::_internal_end_in_range_func() const { - return _impl_.end_in_range_func_; +inline ::pg_query::Node* DoStmt::add_args() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_args()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DoStmt.args) + return _add; } -inline uint32_t WindowClause::end_in_range_func() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.end_in_range_func) - return _internal_end_in_range_func(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DoStmt::args() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DoStmt.args) + return _internal_args(); } -inline void WindowClause::_internal_set_end_in_range_func(uint32_t value) { - - _impl_.end_in_range_func_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DoStmt::_internal_args() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.args_; } -inline void WindowClause::set_end_in_range_func(uint32_t value) { - _internal_set_end_in_range_func(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.end_in_range_func) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DoStmt::_internal_mutable_args() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.args_; } -// uint32 in_range_coll = 11 [json_name = "inRangeColl"]; -inline void WindowClause::clear_in_range_coll() { - _impl_.in_range_coll_ = 0u; -} -inline uint32_t WindowClause::_internal_in_range_coll() const { - return _impl_.in_range_coll_; +// ------------------------------------------------------------------- + +// InlineCodeBlock + +// string source_text = 1 [json_name = "source_text"]; +inline void InlineCodeBlock::clear_source_text() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.source_text_.ClearToEmpty(); } -inline uint32_t WindowClause::in_range_coll() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_coll) - return _internal_in_range_coll(); +inline const std::string& InlineCodeBlock::source_text() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.source_text) + return _internal_source_text(); } -inline void WindowClause::_internal_set_in_range_coll(uint32_t value) { - - _impl_.in_range_coll_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void InlineCodeBlock::set_source_text(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.source_text_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.source_text) } -inline void WindowClause::set_in_range_coll(uint32_t value) { - _internal_set_in_range_coll(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_coll) +inline std::string* InlineCodeBlock::mutable_source_text() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_source_text(); + // @@protoc_insertion_point(field_mutable:pg_query.InlineCodeBlock.source_text) + return _s; } - -// bool in_range_asc = 12 [json_name = "inRangeAsc"]; -inline void WindowClause::clear_in_range_asc() { - _impl_.in_range_asc_ = false; +inline const std::string& InlineCodeBlock::_internal_source_text() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.source_text_.Get(); } -inline bool WindowClause::_internal_in_range_asc() const { - return _impl_.in_range_asc_; +inline void InlineCodeBlock::_internal_set_source_text(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.source_text_.Set(value, GetArena()); } -inline bool WindowClause::in_range_asc() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_asc) - return _internal_in_range_asc(); +inline std::string* InlineCodeBlock::_internal_mutable_source_text() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.source_text_.Mutable( GetArena()); } -inline void WindowClause::_internal_set_in_range_asc(bool value) { - - _impl_.in_range_asc_ = value; +inline std::string* InlineCodeBlock::release_source_text() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.InlineCodeBlock.source_text) + return _impl_.source_text_.Release(); } -inline void WindowClause::set_in_range_asc(bool value) { - _internal_set_in_range_asc(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_asc) +inline void InlineCodeBlock::set_allocated_source_text(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.source_text_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.source_text_.IsDefault()) { + _impl_.source_text_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.InlineCodeBlock.source_text) } -// bool in_range_nulls_first = 13 [json_name = "inRangeNullsFirst"]; -inline void WindowClause::clear_in_range_nulls_first() { - _impl_.in_range_nulls_first_ = false; +// uint32 lang_oid = 2 [json_name = "langOid"]; +inline void InlineCodeBlock::clear_lang_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lang_oid_ = 0u; } -inline bool WindowClause::_internal_in_range_nulls_first() const { - return _impl_.in_range_nulls_first_; +inline ::uint32_t InlineCodeBlock::lang_oid() const { + // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.lang_oid) + return _internal_lang_oid(); } -inline bool WindowClause::in_range_nulls_first() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.in_range_nulls_first) - return _internal_in_range_nulls_first(); +inline void InlineCodeBlock::set_lang_oid(::uint32_t value) { + _internal_set_lang_oid(value); + // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.lang_oid) } -inline void WindowClause::_internal_set_in_range_nulls_first(bool value) { - - _impl_.in_range_nulls_first_ = value; +inline ::uint32_t InlineCodeBlock::_internal_lang_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lang_oid_; } -inline void WindowClause::set_in_range_nulls_first(bool value) { - _internal_set_in_range_nulls_first(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.in_range_nulls_first) +inline void InlineCodeBlock::_internal_set_lang_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lang_oid_ = value; } -// uint32 winref = 14 [json_name = "winref"]; -inline void WindowClause::clear_winref() { - _impl_.winref_ = 0u; +// bool lang_is_trusted = 3 [json_name = "langIsTrusted"]; +inline void InlineCodeBlock::clear_lang_is_trusted() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lang_is_trusted_ = false; } -inline uint32_t WindowClause::_internal_winref() const { - return _impl_.winref_; +inline bool InlineCodeBlock::lang_is_trusted() const { + // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.lang_is_trusted) + return _internal_lang_is_trusted(); } -inline uint32_t WindowClause::winref() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.winref) - return _internal_winref(); +inline void InlineCodeBlock::set_lang_is_trusted(bool value) { + _internal_set_lang_is_trusted(value); + // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.lang_is_trusted) } -inline void WindowClause::_internal_set_winref(uint32_t value) { - - _impl_.winref_ = value; +inline bool InlineCodeBlock::_internal_lang_is_trusted() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lang_is_trusted_; } -inline void WindowClause::set_winref(uint32_t value) { - _internal_set_winref(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.winref) +inline void InlineCodeBlock::_internal_set_lang_is_trusted(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lang_is_trusted_ = value; } -// bool copied_order = 15 [json_name = "copiedOrder"]; -inline void WindowClause::clear_copied_order() { - _impl_.copied_order_ = false; +// bool atomic = 4 [json_name = "atomic"]; +inline void InlineCodeBlock::clear_atomic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.atomic_ = false; } -inline bool WindowClause::_internal_copied_order() const { - return _impl_.copied_order_; +inline bool InlineCodeBlock::atomic() const { + // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.atomic) + return _internal_atomic(); } -inline bool WindowClause::copied_order() const { - // @@protoc_insertion_point(field_get:pg_query.WindowClause.copied_order) - return _internal_copied_order(); +inline void InlineCodeBlock::set_atomic(bool value) { + _internal_set_atomic(value); + // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.atomic) } -inline void WindowClause::_internal_set_copied_order(bool value) { - - _impl_.copied_order_ = value; +inline bool InlineCodeBlock::_internal_atomic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.atomic_; } -inline void WindowClause::set_copied_order(bool value) { - _internal_set_copied_order(value); - // @@protoc_insertion_point(field_set:pg_query.WindowClause.copied_order) +inline void InlineCodeBlock::_internal_set_atomic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.atomic_ = value; } // ------------------------------------------------------------------- -// ObjectWithArgs +// CallStmt -// repeated .pg_query.Node objname = 1 [json_name = "objname"]; -inline int ObjectWithArgs::_internal_objname_size() const { - return _impl_.objname_.size(); -} -inline int ObjectWithArgs::objname_size() const { - return _internal_objname_size(); +// .pg_query.FuncCall funccall = 1 [json_name = "funccall"]; +inline bool CallStmt::has_funccall() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.funccall_ != nullptr); + return value; } -inline void ObjectWithArgs::clear_objname() { - _impl_.objname_.Clear(); +inline void CallStmt::clear_funccall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.funccall_ != nullptr) _impl_.funccall_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* ObjectWithArgs::mutable_objname(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objname) - return _impl_.objname_.Mutable(index); +inline const ::pg_query::FuncCall& CallStmt::_internal_funccall() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::FuncCall* p = _impl_.funccall_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_FuncCall_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ObjectWithArgs::mutable_objname() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objname) - return &_impl_.objname_; +inline const ::pg_query::FuncCall& CallStmt::funccall() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CallStmt.funccall) + return _internal_funccall(); } -inline const ::pg_query::Node& ObjectWithArgs::_internal_objname(int index) const { - return _impl_.objname_.Get(index); +inline void CallStmt::unsafe_arena_set_allocated_funccall(::pg_query::FuncCall* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.funccall_); + } + _impl_.funccall_ = reinterpret_cast<::pg_query::FuncCall*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CallStmt.funccall) } -inline const ::pg_query::Node& ObjectWithArgs::objname(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objname) - return _internal_objname(index); +inline ::pg_query::FuncCall* CallStmt::release_funccall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::FuncCall* released = _impl_.funccall_; + _impl_.funccall_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* ObjectWithArgs::_internal_add_objname() { - return _impl_.objname_.Add(); +inline ::pg_query::FuncCall* CallStmt::unsafe_arena_release_funccall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CallStmt.funccall) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::FuncCall* temp = _impl_.funccall_; + _impl_.funccall_ = nullptr; + return temp; } -inline ::pg_query::Node* ObjectWithArgs::add_objname() { - ::pg_query::Node* _add = _internal_add_objname(); - // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objname) - return _add; +inline ::pg_query::FuncCall* CallStmt::_internal_mutable_funccall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.funccall_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::FuncCall>(GetArena()); + _impl_.funccall_ = reinterpret_cast<::pg_query::FuncCall*>(p); + } + return _impl_.funccall_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ObjectWithArgs::objname() const { - // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objname) - return _impl_.objname_; +inline ::pg_query::FuncCall* CallStmt::mutable_funccall() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncCall* _msg = _internal_mutable_funccall(); + // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.funccall) + return _msg; } +inline void CallStmt::set_allocated_funccall(::pg_query::FuncCall* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::FuncCall*>(_impl_.funccall_); + } -// repeated .pg_query.Node objargs = 2 [json_name = "objargs"]; -inline int ObjectWithArgs::_internal_objargs_size() const { - return _impl_.objargs_.size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::FuncCall*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.funccall_ = reinterpret_cast<::pg_query::FuncCall*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CallStmt.funccall) } -inline int ObjectWithArgs::objargs_size() const { - return _internal_objargs_size(); + +// .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"]; +inline bool CallStmt::has_funcexpr() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.funcexpr_ != nullptr); + return value; } -inline void ObjectWithArgs::clear_objargs() { - _impl_.objargs_.Clear(); +inline void CallStmt::clear_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.funcexpr_ != nullptr) _impl_.funcexpr_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::Node* ObjectWithArgs::mutable_objargs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objargs) - return _impl_.objargs_.Mutable(index); +inline const ::pg_query::FuncExpr& CallStmt::_internal_funcexpr() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::FuncExpr* p = _impl_.funcexpr_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_FuncExpr_default_instance_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ObjectWithArgs::mutable_objargs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objargs) - return &_impl_.objargs_; +inline const ::pg_query::FuncExpr& CallStmt::funcexpr() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CallStmt.funcexpr) + return _internal_funcexpr(); } -inline const ::pg_query::Node& ObjectWithArgs::_internal_objargs(int index) const { - return _impl_.objargs_.Get(index); +inline void CallStmt::unsafe_arena_set_allocated_funcexpr(::pg_query::FuncExpr* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.funcexpr_); + } + _impl_.funcexpr_ = reinterpret_cast<::pg_query::FuncExpr*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CallStmt.funcexpr) } -inline const ::pg_query::Node& ObjectWithArgs::objargs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objargs) - return _internal_objargs(index); +inline ::pg_query::FuncExpr* CallStmt::release_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FuncExpr* released = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::Node* ObjectWithArgs::_internal_add_objargs() { - return _impl_.objargs_.Add(); +inline ::pg_query::FuncExpr* CallStmt::unsafe_arena_release_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CallStmt.funcexpr) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::FuncExpr* temp = _impl_.funcexpr_; + _impl_.funcexpr_ = nullptr; + return temp; } -inline ::pg_query::Node* ObjectWithArgs::add_objargs() { - ::pg_query::Node* _add = _internal_add_objargs(); - // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objargs) - return _add; +inline ::pg_query::FuncExpr* CallStmt::_internal_mutable_funcexpr() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.funcexpr_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::FuncExpr>(GetArena()); + _impl_.funcexpr_ = reinterpret_cast<::pg_query::FuncExpr*>(p); + } + return _impl_.funcexpr_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ObjectWithArgs::objargs() const { - // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objargs) - return _impl_.objargs_; +inline ::pg_query::FuncExpr* CallStmt::mutable_funcexpr() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::FuncExpr* _msg = _internal_mutable_funcexpr(); + // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.funcexpr) + return _msg; } +inline void CallStmt::set_allocated_funcexpr(::pg_query::FuncExpr* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::FuncExpr*>(_impl_.funcexpr_); + } -// repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"]; -inline int ObjectWithArgs::_internal_objfuncargs_size() const { - return _impl_.objfuncargs_.size(); -} -inline int ObjectWithArgs::objfuncargs_size() const { - return _internal_objfuncargs_size(); + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::FuncExpr*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.funcexpr_ = reinterpret_cast<::pg_query::FuncExpr*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CallStmt.funcexpr) } -inline void ObjectWithArgs::clear_objfuncargs() { - _impl_.objfuncargs_.Clear(); + +// repeated .pg_query.Node outargs = 3 [json_name = "outargs"]; +inline int CallStmt::_internal_outargs_size() const { + return _internal_outargs().size(); } -inline ::pg_query::Node* ObjectWithArgs::mutable_objfuncargs(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.ObjectWithArgs.objfuncargs) - return _impl_.objfuncargs_.Mutable(index); +inline int CallStmt::outargs_size() const { + return _internal_outargs_size(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -ObjectWithArgs::mutable_objfuncargs() { - // @@protoc_insertion_point(field_mutable_list:pg_query.ObjectWithArgs.objfuncargs) - return &_impl_.objfuncargs_; +inline void CallStmt::clear_outargs() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.outargs_.Clear(); } -inline const ::pg_query::Node& ObjectWithArgs::_internal_objfuncargs(int index) const { - return _impl_.objfuncargs_.Get(index); +inline ::pg_query::Node* CallStmt::mutable_outargs(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CallStmt.outargs) + return _internal_mutable_outargs()->Mutable(index); } -inline const ::pg_query::Node& ObjectWithArgs::objfuncargs(int index) const { - // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.objfuncargs) - return _internal_objfuncargs(index); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CallStmt::mutable_outargs() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CallStmt.outargs) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_outargs(); } -inline ::pg_query::Node* ObjectWithArgs::_internal_add_objfuncargs() { - return _impl_.objfuncargs_.Add(); +inline const ::pg_query::Node& CallStmt::outargs(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CallStmt.outargs) + return _internal_outargs().Get(index); } -inline ::pg_query::Node* ObjectWithArgs::add_objfuncargs() { - ::pg_query::Node* _add = _internal_add_objfuncargs(); - // @@protoc_insertion_point(field_add:pg_query.ObjectWithArgs.objfuncargs) +inline ::pg_query::Node* CallStmt::add_outargs() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_outargs()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CallStmt.outargs) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -ObjectWithArgs::objfuncargs() const { - // @@protoc_insertion_point(field_list:pg_query.ObjectWithArgs.objfuncargs) - return _impl_.objfuncargs_; -} - -// bool args_unspecified = 4 [json_name = "args_unspecified"]; -inline void ObjectWithArgs::clear_args_unspecified() { - _impl_.args_unspecified_ = false; -} -inline bool ObjectWithArgs::_internal_args_unspecified() const { - return _impl_.args_unspecified_; -} -inline bool ObjectWithArgs::args_unspecified() const { - // @@protoc_insertion_point(field_get:pg_query.ObjectWithArgs.args_unspecified) - return _internal_args_unspecified(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CallStmt::outargs() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CallStmt.outargs) + return _internal_outargs(); } -inline void ObjectWithArgs::_internal_set_args_unspecified(bool value) { - - _impl_.args_unspecified_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CallStmt::_internal_outargs() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.outargs_; } -inline void ObjectWithArgs::set_args_unspecified(bool value) { - _internal_set_args_unspecified(value); - // @@protoc_insertion_point(field_set:pg_query.ObjectWithArgs.args_unspecified) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CallStmt::_internal_mutable_outargs() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.outargs_; } // ------------------------------------------------------------------- -// AccessPriv +// CallContext -// string priv_name = 1 [json_name = "priv_name"]; -inline void AccessPriv::clear_priv_name() { - _impl_.priv_name_.ClearToEmpty(); +// bool atomic = 1 [json_name = "atomic"]; +inline void CallContext::clear_atomic() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.atomic_ = false; } -inline const std::string& AccessPriv::priv_name() const { - // @@protoc_insertion_point(field_get:pg_query.AccessPriv.priv_name) - return _internal_priv_name(); +inline bool CallContext::atomic() const { + // @@protoc_insertion_point(field_get:pg_query.CallContext.atomic) + return _internal_atomic(); } -template -inline PROTOBUF_ALWAYS_INLINE -void AccessPriv::set_priv_name(ArgT0&& arg0, ArgT... args) { - - _impl_.priv_name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.AccessPriv.priv_name) +inline void CallContext::set_atomic(bool value) { + _internal_set_atomic(value); + // @@protoc_insertion_point(field_set:pg_query.CallContext.atomic) } -inline std::string* AccessPriv::mutable_priv_name() { - std::string* _s = _internal_mutable_priv_name(); - // @@protoc_insertion_point(field_mutable:pg_query.AccessPriv.priv_name) - return _s; +inline bool CallContext::_internal_atomic() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.atomic_; } -inline const std::string& AccessPriv::_internal_priv_name() const { - return _impl_.priv_name_.Get(); +inline void CallContext::_internal_set_atomic(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.atomic_ = value; } -inline void AccessPriv::_internal_set_priv_name(const std::string& value) { - - _impl_.priv_name_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// RenameStmt + +// .pg_query.ObjectType rename_type = 1 [json_name = "renameType"]; +inline void RenameStmt::clear_rename_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rename_type_ = 0; } -inline std::string* AccessPriv::_internal_mutable_priv_name() { - - return _impl_.priv_name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::ObjectType RenameStmt::rename_type() const { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.rename_type) + return _internal_rename_type(); } -inline std::string* AccessPriv::release_priv_name() { - // @@protoc_insertion_point(field_release:pg_query.AccessPriv.priv_name) - return _impl_.priv_name_.Release(); +inline void RenameStmt::set_rename_type(::pg_query::ObjectType value) { + _internal_set_rename_type(value); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.rename_type) } -inline void AccessPriv::set_allocated_priv_name(std::string* priv_name) { - if (priv_name != nullptr) { - - } else { - - } - _impl_.priv_name_.SetAllocated(priv_name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.priv_name_.IsDefault()) { - _impl_.priv_name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.AccessPriv.priv_name) +inline ::pg_query::ObjectType RenameStmt::_internal_rename_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.rename_type_); +} +inline void RenameStmt::_internal_set_rename_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rename_type_ = value; } -// repeated .pg_query.Node cols = 2 [json_name = "cols"]; -inline int AccessPriv::_internal_cols_size() const { - return _impl_.cols_.size(); +// .pg_query.ObjectType relation_type = 2 [json_name = "relationType"]; +inline void RenameStmt::clear_relation_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relation_type_ = 0; } -inline int AccessPriv::cols_size() const { - return _internal_cols_size(); +inline ::pg_query::ObjectType RenameStmt::relation_type() const { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.relation_type) + return _internal_relation_type(); } -inline void AccessPriv::clear_cols() { - _impl_.cols_.Clear(); +inline void RenameStmt::set_relation_type(::pg_query::ObjectType value) { + _internal_set_relation_type(value); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.relation_type) } -inline ::pg_query::Node* AccessPriv::mutable_cols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.AccessPriv.cols) - return _impl_.cols_.Mutable(index); +inline ::pg_query::ObjectType RenameStmt::_internal_relation_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.relation_type_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -AccessPriv::mutable_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.AccessPriv.cols) - return &_impl_.cols_; +inline void RenameStmt::_internal_set_relation_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.relation_type_ = value; } -inline const ::pg_query::Node& AccessPriv::_internal_cols(int index) const { - return _impl_.cols_.Get(index); + +// .pg_query.RangeVar relation = 3 [json_name = "relation"]; +inline bool RenameStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const ::pg_query::Node& AccessPriv::cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.AccessPriv.cols) - return _internal_cols(index); +inline void RenameStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::Node* AccessPriv::_internal_add_cols() { - return _impl_.cols_.Add(); +inline const ::pg_query::RangeVar& RenameStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline ::pg_query::Node* AccessPriv::add_cols() { - ::pg_query::Node* _add = _internal_add_cols(); - // @@protoc_insertion_point(field_add:pg_query.AccessPriv.cols) - return _add; +inline const ::pg_query::RangeVar& RenameStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.relation) + return _internal_relation(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -AccessPriv::cols() const { - // @@protoc_insertion_point(field_list:pg_query.AccessPriv.cols) - return _impl_.cols_; +inline void RenameStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RenameStmt.relation) } +inline ::pg_query::RangeVar* RenameStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// CreateOpClassItem - -// int32 itemtype = 1 [json_name = "itemtype"]; -inline void CreateOpClassItem::clear_itemtype() { - _impl_.itemtype_ = 0; -} -inline int32_t CreateOpClassItem::_internal_itemtype() const { - return _impl_.itemtype_; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t CreateOpClassItem::itemtype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.itemtype) - return _internal_itemtype(); +inline ::pg_query::RangeVar* RenameStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RenameStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline void CreateOpClassItem::_internal_set_itemtype(int32_t value) { - - _impl_.itemtype_ = value; +inline ::pg_query::RangeVar* RenameStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void CreateOpClassItem::set_itemtype(int32_t value) { - _internal_set_itemtype(value); - // @@protoc_insertion_point(field_set:pg_query.CreateOpClassItem.itemtype) +inline ::pg_query::RangeVar* RenameStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.relation) + return _msg; } +inline void RenameStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } -// .pg_query.ObjectWithArgs name = 2 [json_name = "name"]; -inline bool CreateOpClassItem::_internal_has_name() const { - return this != internal_default_instance() && _impl_.name_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.relation) } -inline bool CreateOpClassItem::has_name() const { - return _internal_has_name(); + +// .pg_query.Node object = 4 [json_name = "object"]; +inline bool RenameStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline void CreateOpClassItem::clear_name() { - if (GetArenaForAllocation() == nullptr && _impl_.name_ != nullptr) { - delete _impl_.name_; - } - _impl_.name_ = nullptr; +inline void RenameStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::ObjectWithArgs& CreateOpClassItem::_internal_name() const { - const ::pg_query::ObjectWithArgs* p = _impl_.name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_ObjectWithArgs_default_instance_); +inline const ::pg_query::Node& RenameStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::ObjectWithArgs& CreateOpClassItem::name() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.name) - return _internal_name(); +inline const ::pg_query::Node& RenameStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.object) + return _internal_object(); } -inline void CreateOpClassItem::unsafe_arena_set_allocated_name( - ::pg_query::ObjectWithArgs* name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.name_); +inline void RenameStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.name_ = name; - if (name) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassItem.name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RenameStmt.object) } -inline ::pg_query::ObjectWithArgs* CreateOpClassItem::release_name() { - - ::pg_query::ObjectWithArgs* temp = _impl_.name_; - _impl_.name_ = nullptr; +inline ::pg_query::Node* RenameStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::ObjectWithArgs* CreateOpClassItem::unsafe_arena_release_name() { - // @@protoc_insertion_point(field_release:pg_query.CreateOpClassItem.name) - - ::pg_query::ObjectWithArgs* temp = _impl_.name_; - _impl_.name_ = nullptr; +inline ::pg_query::Node* RenameStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RenameStmt.object) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::ObjectWithArgs* CreateOpClassItem::_internal_mutable_name() { - - if (_impl_.name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArenaForAllocation()); - _impl_.name_ = p; +inline ::pg_query::Node* RenameStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.name_; + return _impl_.object_; } -inline ::pg_query::ObjectWithArgs* CreateOpClassItem::mutable_name() { - ::pg_query::ObjectWithArgs* _msg = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.name) +inline ::pg_query::Node* RenameStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.object) return _msg; } -inline void CreateOpClassItem::set_allocated_name(::pg_query::ObjectWithArgs* name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RenameStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.name_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(name); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, name, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.name_ = name; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassItem.name) + + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.object) } -// int32 number = 3 [json_name = "number"]; -inline void CreateOpClassItem::clear_number() { - _impl_.number_ = 0; +// string subname = 5 [json_name = "subname"]; +inline void RenameStmt::clear_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.ClearToEmpty(); } -inline int32_t CreateOpClassItem::_internal_number() const { - return _impl_.number_; +inline const std::string& RenameStmt::subname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.subname) + return _internal_subname(); } -inline int32_t CreateOpClassItem::number() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.number) - return _internal_number(); +template +inline PROTOBUF_ALWAYS_INLINE void RenameStmt::set_subname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.subname) } -inline void CreateOpClassItem::_internal_set_number(int32_t value) { - - _impl_.number_ = value; +inline std::string* RenameStmt::mutable_subname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_subname(); + // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.subname) + return _s; } -inline void CreateOpClassItem::set_number(int32_t value) { - _internal_set_number(value); - // @@protoc_insertion_point(field_set:pg_query.CreateOpClassItem.number) +inline const std::string& RenameStmt::_internal_subname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.subname_.Get(); } - -// repeated .pg_query.Node order_family = 4 [json_name = "order_family"]; -inline int CreateOpClassItem::_internal_order_family_size() const { - return _impl_.order_family_.size(); +inline void RenameStmt::_internal_set_subname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(value, GetArena()); } -inline int CreateOpClassItem::order_family_size() const { - return _internal_order_family_size(); +inline std::string* RenameStmt::_internal_mutable_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.subname_.Mutable( GetArena()); } -inline void CreateOpClassItem::clear_order_family() { - _impl_.order_family_.Clear(); +inline std::string* RenameStmt::release_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RenameStmt.subname) + return _impl_.subname_.Release(); } -inline ::pg_query::Node* CreateOpClassItem::mutable_order_family(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.order_family) - return _impl_.order_family_.Mutable(index); +inline void RenameStmt::set_allocated_subname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.subname_.IsDefault()) { + _impl_.subname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.subname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpClassItem::mutable_order_family() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassItem.order_family) - return &_impl_.order_family_; + +// string newname = 6 [json_name = "newname"]; +inline void RenameStmt::clear_newname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.newname_.ClearToEmpty(); } -inline const ::pg_query::Node& CreateOpClassItem::_internal_order_family(int index) const { - return _impl_.order_family_.Get(index); +inline const std::string& RenameStmt::newname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.newname) + return _internal_newname(); } -inline const ::pg_query::Node& CreateOpClassItem::order_family(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.order_family) - return _internal_order_family(index); +template +inline PROTOBUF_ALWAYS_INLINE void RenameStmt::set_newname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.newname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.newname) +} +inline std::string* RenameStmt::mutable_newname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_newname(); + // @@protoc_insertion_point(field_mutable:pg_query.RenameStmt.newname) + return _s; } -inline ::pg_query::Node* CreateOpClassItem::_internal_add_order_family() { - return _impl_.order_family_.Add(); +inline const std::string& RenameStmt::_internal_newname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.newname_.Get(); } -inline ::pg_query::Node* CreateOpClassItem::add_order_family() { - ::pg_query::Node* _add = _internal_add_order_family(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpClassItem.order_family) - return _add; +inline void RenameStmt::_internal_set_newname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.newname_.Set(value, GetArena()); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpClassItem::order_family() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpClassItem.order_family) - return _impl_.order_family_; +inline std::string* RenameStmt::_internal_mutable_newname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.newname_.Mutable( GetArena()); +} +inline std::string* RenameStmt::release_newname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RenameStmt.newname) + return _impl_.newname_.Release(); +} +inline void RenameStmt::set_allocated_newname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.newname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.newname_.IsDefault()) { + _impl_.newname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RenameStmt.newname) } -// repeated .pg_query.Node class_args = 5 [json_name = "class_args"]; -inline int CreateOpClassItem::_internal_class_args_size() const { - return _impl_.class_args_.size(); +// .pg_query.DropBehavior behavior = 7 [json_name = "behavior"]; +inline void RenameStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; } -inline int CreateOpClassItem::class_args_size() const { - return _internal_class_args_size(); +inline ::pg_query::DropBehavior RenameStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.behavior) + return _internal_behavior(); } -inline void CreateOpClassItem::clear_class_args() { - _impl_.class_args_.Clear(); +inline void RenameStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.behavior) } -inline ::pg_query::Node* CreateOpClassItem::mutable_class_args(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.class_args) - return _impl_.class_args_.Mutable(index); +inline ::pg_query::DropBehavior RenameStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CreateOpClassItem::mutable_class_args() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CreateOpClassItem.class_args) - return &_impl_.class_args_; +inline void RenameStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; } -inline const ::pg_query::Node& CreateOpClassItem::_internal_class_args(int index) const { - return _impl_.class_args_.Get(index); + +// bool missing_ok = 8 [json_name = "missing_ok"]; +inline void RenameStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline const ::pg_query::Node& CreateOpClassItem::class_args(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.class_args) - return _internal_class_args(index); +inline bool RenameStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.RenameStmt.missing_ok) + return _internal_missing_ok(); } -inline ::pg_query::Node* CreateOpClassItem::_internal_add_class_args() { - return _impl_.class_args_.Add(); +inline void RenameStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.RenameStmt.missing_ok) } -inline ::pg_query::Node* CreateOpClassItem::add_class_args() { - ::pg_query::Node* _add = _internal_add_class_args(); - // @@protoc_insertion_point(field_add:pg_query.CreateOpClassItem.class_args) - return _add; +inline bool RenameStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CreateOpClassItem::class_args() const { - // @@protoc_insertion_point(field_list:pg_query.CreateOpClassItem.class_args) - return _impl_.class_args_; +inline void RenameStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -// .pg_query.TypeName storedtype = 6 [json_name = "storedtype"]; -inline bool CreateOpClassItem::_internal_has_storedtype() const { - return this != internal_default_instance() && _impl_.storedtype_ != nullptr; +// ------------------------------------------------------------------- + +// AlterObjectDependsStmt + +// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; +inline void AlterObjectDependsStmt::clear_object_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.object_type_ = 0; } -inline bool CreateOpClassItem::has_storedtype() const { - return _internal_has_storedtype(); +inline ::pg_query::ObjectType AlterObjectDependsStmt::object_type() const { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.object_type) + return _internal_object_type(); } -inline void CreateOpClassItem::clear_storedtype() { - if (GetArenaForAllocation() == nullptr && _impl_.storedtype_ != nullptr) { - delete _impl_.storedtype_; - } - _impl_.storedtype_ = nullptr; +inline void AlterObjectDependsStmt::set_object_type(::pg_query::ObjectType value) { + _internal_set_object_type(value); + // @@protoc_insertion_point(field_set:pg_query.AlterObjectDependsStmt.object_type) } -inline const ::pg_query::TypeName& CreateOpClassItem::_internal_storedtype() const { - const ::pg_query::TypeName* p = _impl_.storedtype_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline ::pg_query::ObjectType AlterObjectDependsStmt::_internal_object_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.object_type_); } -inline const ::pg_query::TypeName& CreateOpClassItem::storedtype() const { - // @@protoc_insertion_point(field_get:pg_query.CreateOpClassItem.storedtype) - return _internal_storedtype(); +inline void AlterObjectDependsStmt::_internal_set_object_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.object_type_ = value; +} + +// .pg_query.RangeVar relation = 2 [json_name = "relation"]; +inline bool AlterObjectDependsStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; +} +inline void AlterObjectDependsStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& AlterObjectDependsStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& AlterObjectDependsStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.relation) + return _internal_relation(); } -inline void CreateOpClassItem::unsafe_arena_set_allocated_storedtype( - ::pg_query::TypeName* storedtype) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.storedtype_); +inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.storedtype_ = storedtype; - if (storedtype) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateOpClassItem.storedtype) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.relation) } -inline ::pg_query::TypeName* CreateOpClassItem::release_storedtype() { - - ::pg_query::TypeName* temp = _impl_.storedtype_; - _impl_.storedtype_ = nullptr; +inline ::pg_query::RangeVar* AlterObjectDependsStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* CreateOpClassItem::unsafe_arena_release_storedtype() { - // @@protoc_insertion_point(field_release:pg_query.CreateOpClassItem.storedtype) - - ::pg_query::TypeName* temp = _impl_.storedtype_; - _impl_.storedtype_ = nullptr; +inline ::pg_query::RangeVar* AlterObjectDependsStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::TypeName* CreateOpClassItem::_internal_mutable_storedtype() { - - if (_impl_.storedtype_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.storedtype_ = p; +inline ::pg_query::RangeVar* AlterObjectDependsStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.storedtype_; + return _impl_.relation_; } -inline ::pg_query::TypeName* CreateOpClassItem::mutable_storedtype() { - ::pg_query::TypeName* _msg = _internal_mutable_storedtype(); - // @@protoc_insertion_point(field_mutable:pg_query.CreateOpClassItem.storedtype) +inline ::pg_query::RangeVar* AlterObjectDependsStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.relation) return _msg; } -inline void CreateOpClassItem::set_allocated_storedtype(::pg_query::TypeName* storedtype) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterObjectDependsStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.storedtype_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (storedtype) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(storedtype); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - storedtype = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, storedtype, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.storedtype_ = storedtype; - // @@protoc_insertion_point(field_set_allocated:pg_query.CreateOpClassItem.storedtype) -} - -// ------------------------------------------------------------------- - -// TableLikeClause -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool TableLikeClause::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.relation) } -inline bool TableLikeClause::has_relation() const { - return _internal_has_relation(); + +// .pg_query.Node object = 3 [json_name = "object"]; +inline bool AlterObjectDependsStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline void TableLikeClause::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void AlterObjectDependsStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::RangeVar& TableLikeClause::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::Node& AlterObjectDependsStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::RangeVar& TableLikeClause::relation() const { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation) - return _internal_relation(); +inline const ::pg_query::Node& AlterObjectDependsStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.object) + return _internal_object(); } -inline void TableLikeClause::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.TableLikeClause.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.object) } -inline ::pg_query::RangeVar* TableLikeClause::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* AlterObjectDependsStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* TableLikeClause::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.TableLikeClause.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::Node* AlterObjectDependsStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.object) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::RangeVar* TableLikeClause::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::Node* AlterObjectDependsStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.relation_; + return _impl_.object_; } -inline ::pg_query::RangeVar* TableLikeClause::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.TableLikeClause.relation) +inline ::pg_query::Node* AlterObjectDependsStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.object) return _msg; } -inline void TableLikeClause::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterObjectDependsStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.TableLikeClause.relation) + + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.object) } -// uint32 options = 2 [json_name = "options"]; -inline void TableLikeClause::clear_options() { - _impl_.options_ = 0u; +// .pg_query.String extname = 4 [json_name = "extname"]; +inline bool AlterObjectDependsStmt::has_extname() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.extname_ != nullptr); + return value; } -inline uint32_t TableLikeClause::_internal_options() const { - return _impl_.options_; +inline void AlterObjectDependsStmt::clear_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.extname_ != nullptr) _impl_.extname_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline uint32_t TableLikeClause::options() const { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.options) - return _internal_options(); +inline const ::pg_query::String& AlterObjectDependsStmt::_internal_extname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::String* p = _impl_.extname_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_String_default_instance_); } -inline void TableLikeClause::_internal_set_options(uint32_t value) { - - _impl_.options_ = value; +inline const ::pg_query::String& AlterObjectDependsStmt::extname() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.extname) + return _internal_extname(); } -inline void TableLikeClause::set_options(uint32_t value) { - _internal_set_options(value); - // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.options) +inline void AlterObjectDependsStmt::unsafe_arena_set_allocated_extname(::pg_query::String* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.extname_); + } + _impl_.extname_ = reinterpret_cast<::pg_query::String*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectDependsStmt.extname) } +inline ::pg_query::String* AlterObjectDependsStmt::release_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// uint32 relation_oid = 3 [json_name = "relationOid"]; -inline void TableLikeClause::clear_relation_oid() { - _impl_.relation_oid_ = 0u; -} -inline uint32_t TableLikeClause::_internal_relation_oid() const { - return _impl_.relation_oid_; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::String* released = _impl_.extname_; + _impl_.extname_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline uint32_t TableLikeClause::relation_oid() const { - // @@protoc_insertion_point(field_get:pg_query.TableLikeClause.relation_oid) - return _internal_relation_oid(); +inline ::pg_query::String* AlterObjectDependsStmt::unsafe_arena_release_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectDependsStmt.extname) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::String* temp = _impl_.extname_; + _impl_.extname_ = nullptr; + return temp; } -inline void TableLikeClause::_internal_set_relation_oid(uint32_t value) { - - _impl_.relation_oid_ = value; +inline ::pg_query::String* AlterObjectDependsStmt::_internal_mutable_extname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.extname_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::String>(GetArena()); + _impl_.extname_ = reinterpret_cast<::pg_query::String*>(p); + } + return _impl_.extname_; } -inline void TableLikeClause::set_relation_oid(uint32_t value) { - _internal_set_relation_oid(value); - // @@protoc_insertion_point(field_set:pg_query.TableLikeClause.relation_oid) +inline ::pg_query::String* AlterObjectDependsStmt::mutable_extname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::String* _msg = _internal_mutable_extname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectDependsStmt.extname) + return _msg; } +inline void AlterObjectDependsStmt::set_allocated_extname(::pg_query::String* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::String*>(_impl_.extname_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::String*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } -// FunctionParameter + _impl_.extname_ = reinterpret_cast<::pg_query::String*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectDependsStmt.extname) +} -// string name = 1 [json_name = "name"]; -inline void FunctionParameter::clear_name() { - _impl_.name_.ClearToEmpty(); +// bool remove = 5 [json_name = "remove"]; +inline void AlterObjectDependsStmt::clear_remove() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.remove_ = false; } -inline const std::string& FunctionParameter::name() const { - // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.name) - return _internal_name(); +inline bool AlterObjectDependsStmt::remove() const { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectDependsStmt.remove) + return _internal_remove(); } -template -inline PROTOBUF_ALWAYS_INLINE -void FunctionParameter::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.FunctionParameter.name) +inline void AlterObjectDependsStmt::set_remove(bool value) { + _internal_set_remove(value); + // @@protoc_insertion_point(field_set:pg_query.AlterObjectDependsStmt.remove) } -inline std::string* FunctionParameter::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.name) - return _s; +inline bool AlterObjectDependsStmt::_internal_remove() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.remove_; } -inline const std::string& FunctionParameter::_internal_name() const { - return _impl_.name_.Get(); +inline void AlterObjectDependsStmt::_internal_set_remove(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.remove_ = value; } -inline void FunctionParameter::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); + +// ------------------------------------------------------------------- + +// AlterObjectSchemaStmt + +// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; +inline void AlterObjectSchemaStmt::clear_object_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.object_type_ = 0; } -inline std::string* FunctionParameter::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::ObjectType AlterObjectSchemaStmt::object_type() const { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.object_type) + return _internal_object_type(); } -inline std::string* FunctionParameter::release_name() { - // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.name) - return _impl_.name_.Release(); +inline void AlterObjectSchemaStmt::set_object_type(::pg_query::ObjectType value) { + _internal_set_object_type(value); + // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.object_type) } -inline void FunctionParameter::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.name) +inline ::pg_query::ObjectType AlterObjectSchemaStmt::_internal_object_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.object_type_); } - -// .pg_query.TypeName arg_type = 2 [json_name = "argType"]; -inline bool FunctionParameter::_internal_has_arg_type() const { - return this != internal_default_instance() && _impl_.arg_type_ != nullptr; +inline void AlterObjectSchemaStmt::_internal_set_object_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.object_type_ = value; } -inline bool FunctionParameter::has_arg_type() const { - return _internal_has_arg_type(); + +// .pg_query.RangeVar relation = 2 [json_name = "relation"]; +inline bool AlterObjectSchemaStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void FunctionParameter::clear_arg_type() { - if (GetArenaForAllocation() == nullptr && _impl_.arg_type_ != nullptr) { - delete _impl_.arg_type_; - } - _impl_.arg_type_ = nullptr; +inline void AlterObjectSchemaStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& FunctionParameter::_internal_arg_type() const { - const ::pg_query::TypeName* p = _impl_.arg_type_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::RangeVar& AlterObjectSchemaStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::TypeName& FunctionParameter::arg_type() const { - // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.arg_type) - return _internal_arg_type(); +inline const ::pg_query::RangeVar& AlterObjectSchemaStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.relation) + return _internal_relation(); } -inline void FunctionParameter::unsafe_arena_set_allocated_arg_type( - ::pg_query::TypeName* arg_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.arg_type_); +inline void AlterObjectSchemaStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.arg_type_ = arg_type; - if (arg_type) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FunctionParameter.arg_type) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectSchemaStmt.relation) } -inline ::pg_query::TypeName* FunctionParameter::release_arg_type() { - - ::pg_query::TypeName* temp = _impl_.arg_type_; - _impl_.arg_type_ = nullptr; +inline ::pg_query::RangeVar* AlterObjectSchemaStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* FunctionParameter::unsafe_arena_release_arg_type() { - // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.arg_type) - - ::pg_query::TypeName* temp = _impl_.arg_type_; - _impl_.arg_type_ = nullptr; +inline ::pg_query::RangeVar* AlterObjectSchemaStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; -} -inline ::pg_query::TypeName* FunctionParameter::_internal_mutable_arg_type() { - - if (_impl_.arg_type_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.arg_type_ = p; +} +inline ::pg_query::RangeVar* AlterObjectSchemaStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.arg_type_; + return _impl_.relation_; } -inline ::pg_query::TypeName* FunctionParameter::mutable_arg_type() { - ::pg_query::TypeName* _msg = _internal_mutable_arg_type(); - // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.arg_type) +inline ::pg_query::RangeVar* AlterObjectSchemaStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.relation) return _msg; } -inline void FunctionParameter::set_allocated_arg_type(::pg_query::TypeName* arg_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterObjectSchemaStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.arg_type_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (arg_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(arg_type); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - arg_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, arg_type, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.arg_type_ = arg_type; - // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.arg_type) -} -// .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"]; -inline void FunctionParameter::clear_mode() { - _impl_.mode_ = 0; -} -inline ::pg_query::FunctionParameterMode FunctionParameter::_internal_mode() const { - return static_cast< ::pg_query::FunctionParameterMode >(_impl_.mode_); -} -inline ::pg_query::FunctionParameterMode FunctionParameter::mode() const { - // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.mode) - return _internal_mode(); -} -inline void FunctionParameter::_internal_set_mode(::pg_query::FunctionParameterMode value) { - - _impl_.mode_ = value; -} -inline void FunctionParameter::set_mode(::pg_query::FunctionParameterMode value) { - _internal_set_mode(value); - // @@protoc_insertion_point(field_set:pg_query.FunctionParameter.mode) + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.relation) } -// .pg_query.Node defexpr = 4 [json_name = "defexpr"]; -inline bool FunctionParameter::_internal_has_defexpr() const { - return this != internal_default_instance() && _impl_.defexpr_ != nullptr; -} -inline bool FunctionParameter::has_defexpr() const { - return _internal_has_defexpr(); +// .pg_query.Node object = 3 [json_name = "object"]; +inline bool AlterObjectSchemaStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline void FunctionParameter::clear_defexpr() { - if (GetArenaForAllocation() == nullptr && _impl_.defexpr_ != nullptr) { - delete _impl_.defexpr_; - } - _impl_.defexpr_ = nullptr; +inline void AlterObjectSchemaStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& FunctionParameter::_internal_defexpr() const { - const ::pg_query::Node* p = _impl_.defexpr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::Node& AlterObjectSchemaStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& FunctionParameter::defexpr() const { - // @@protoc_insertion_point(field_get:pg_query.FunctionParameter.defexpr) - return _internal_defexpr(); +inline const ::pg_query::Node& AlterObjectSchemaStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.object) + return _internal_object(); } -inline void FunctionParameter::unsafe_arena_set_allocated_defexpr( - ::pg_query::Node* defexpr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.defexpr_); +inline void AlterObjectSchemaStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); } - _impl_.defexpr_ = defexpr; - if (defexpr) { - + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.FunctionParameter.defexpr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterObjectSchemaStmt.object) } -inline ::pg_query::Node* FunctionParameter::release_defexpr() { - - ::pg_query::Node* temp = _impl_.defexpr_; - _impl_.defexpr_ = nullptr; +inline ::pg_query::Node* AlterObjectSchemaStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* FunctionParameter::unsafe_arena_release_defexpr() { - // @@protoc_insertion_point(field_release:pg_query.FunctionParameter.defexpr) - - ::pg_query::Node* temp = _impl_.defexpr_; - _impl_.defexpr_ = nullptr; +inline ::pg_query::Node* AlterObjectSchemaStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.object) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; return temp; } -inline ::pg_query::Node* FunctionParameter::_internal_mutable_defexpr() { - - if (_impl_.defexpr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.defexpr_ = p; +inline ::pg_query::Node* AlterObjectSchemaStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.defexpr_; + return _impl_.object_; } -inline ::pg_query::Node* FunctionParameter::mutable_defexpr() { - ::pg_query::Node* _msg = _internal_mutable_defexpr(); - // @@protoc_insertion_point(field_mutable:pg_query.FunctionParameter.defexpr) +inline ::pg_query::Node* AlterObjectSchemaStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.object) return _msg; } -inline void FunctionParameter::set_allocated_defexpr(::pg_query::Node* defexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterObjectSchemaStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.defexpr_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); } - if (defexpr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(defexpr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - defexpr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, defexpr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.defexpr_ = defexpr; - // @@protoc_insertion_point(field_set_allocated:pg_query.FunctionParameter.defexpr) -} - -// ------------------------------------------------------------------- -// LockingClause - -// repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"]; -inline int LockingClause::_internal_locked_rels_size() const { - return _impl_.locked_rels_.size(); -} -inline int LockingClause::locked_rels_size() const { - return _internal_locked_rels_size(); -} -inline void LockingClause::clear_locked_rels() { - _impl_.locked_rels_.Clear(); -} -inline ::pg_query::Node* LockingClause::mutable_locked_rels(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.LockingClause.locked_rels) - return _impl_.locked_rels_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -LockingClause::mutable_locked_rels() { - // @@protoc_insertion_point(field_mutable_list:pg_query.LockingClause.locked_rels) - return &_impl_.locked_rels_; -} -inline const ::pg_query::Node& LockingClause::_internal_locked_rels(int index) const { - return _impl_.locked_rels_.Get(index); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.object) } -inline const ::pg_query::Node& LockingClause::locked_rels(int index) const { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.locked_rels) - return _internal_locked_rels(index); + +// string newschema = 4 [json_name = "newschema"]; +inline void AlterObjectSchemaStmt::clear_newschema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.newschema_.ClearToEmpty(); } -inline ::pg_query::Node* LockingClause::_internal_add_locked_rels() { - return _impl_.locked_rels_.Add(); +inline const std::string& AlterObjectSchemaStmt::newschema() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.newschema) + return _internal_newschema(); } -inline ::pg_query::Node* LockingClause::add_locked_rels() { - ::pg_query::Node* _add = _internal_add_locked_rels(); - // @@protoc_insertion_point(field_add:pg_query.LockingClause.locked_rels) - return _add; +template +inline PROTOBUF_ALWAYS_INLINE void AlterObjectSchemaStmt::set_newschema(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.newschema_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.newschema) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -LockingClause::locked_rels() const { - // @@protoc_insertion_point(field_list:pg_query.LockingClause.locked_rels) - return _impl_.locked_rels_; +inline std::string* AlterObjectSchemaStmt::mutable_newschema() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_newschema(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterObjectSchemaStmt.newschema) + return _s; } - -// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; -inline void LockingClause::clear_strength() { - _impl_.strength_ = 0; +inline const std::string& AlterObjectSchemaStmt::_internal_newschema() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.newschema_.Get(); } -inline ::pg_query::LockClauseStrength LockingClause::_internal_strength() const { - return static_cast< ::pg_query::LockClauseStrength >(_impl_.strength_); +inline void AlterObjectSchemaStmt::_internal_set_newschema(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.newschema_.Set(value, GetArena()); } -inline ::pg_query::LockClauseStrength LockingClause::strength() const { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.strength) - return _internal_strength(); +inline std::string* AlterObjectSchemaStmt::_internal_mutable_newschema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.newschema_.Mutable( GetArena()); } -inline void LockingClause::_internal_set_strength(::pg_query::LockClauseStrength value) { - - _impl_.strength_ = value; +inline std::string* AlterObjectSchemaStmt::release_newschema() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterObjectSchemaStmt.newschema) + return _impl_.newschema_.Release(); } -inline void LockingClause::set_strength(::pg_query::LockClauseStrength value) { - _internal_set_strength(value); - // @@protoc_insertion_point(field_set:pg_query.LockingClause.strength) +inline void AlterObjectSchemaStmt::set_allocated_newschema(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.newschema_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.newschema_.IsDefault()) { + _impl_.newschema_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterObjectSchemaStmt.newschema) } -// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; -inline void LockingClause::clear_wait_policy() { - _impl_.wait_policy_ = 0; +// bool missing_ok = 5 [json_name = "missing_ok"]; +inline void AlterObjectSchemaStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline ::pg_query::LockWaitPolicy LockingClause::_internal_wait_policy() const { - return static_cast< ::pg_query::LockWaitPolicy >(_impl_.wait_policy_); +inline bool AlterObjectSchemaStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterObjectSchemaStmt.missing_ok) + return _internal_missing_ok(); } -inline ::pg_query::LockWaitPolicy LockingClause::wait_policy() const { - // @@protoc_insertion_point(field_get:pg_query.LockingClause.wait_policy) - return _internal_wait_policy(); +inline void AlterObjectSchemaStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterObjectSchemaStmt.missing_ok) } -inline void LockingClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { - - _impl_.wait_policy_ = value; +inline bool AlterObjectSchemaStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline void LockingClause::set_wait_policy(::pg_query::LockWaitPolicy value) { - _internal_set_wait_policy(value); - // @@protoc_insertion_point(field_set:pg_query.LockingClause.wait_policy) +inline void AlterObjectSchemaStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } // ------------------------------------------------------------------- -// RowMarkClause +// AlterOwnerStmt -// uint32 rti = 1 [json_name = "rti"]; -inline void RowMarkClause::clear_rti() { - _impl_.rti_ = 0u; +// .pg_query.ObjectType object_type = 1 [json_name = "objectType"]; +inline void AlterOwnerStmt::clear_object_type() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.object_type_ = 0; } -inline uint32_t RowMarkClause::_internal_rti() const { - return _impl_.rti_; +inline ::pg_query::ObjectType AlterOwnerStmt::object_type() const { + // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.object_type) + return _internal_object_type(); } -inline uint32_t RowMarkClause::rti() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.rti) - return _internal_rti(); +inline void AlterOwnerStmt::set_object_type(::pg_query::ObjectType value) { + _internal_set_object_type(value); + // @@protoc_insertion_point(field_set:pg_query.AlterOwnerStmt.object_type) } -inline void RowMarkClause::_internal_set_rti(uint32_t value) { - - _impl_.rti_ = value; +inline ::pg_query::ObjectType AlterOwnerStmt::_internal_object_type() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.object_type_); } -inline void RowMarkClause::set_rti(uint32_t value) { - _internal_set_rti(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.rti) +inline void AlterOwnerStmt::_internal_set_object_type(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.object_type_ = value; } -// .pg_query.LockClauseStrength strength = 2 [json_name = "strength"]; -inline void RowMarkClause::clear_strength() { - _impl_.strength_ = 0; +// .pg_query.RangeVar relation = 2 [json_name = "relation"]; +inline bool AlterOwnerStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline ::pg_query::LockClauseStrength RowMarkClause::_internal_strength() const { - return static_cast< ::pg_query::LockClauseStrength >(_impl_.strength_); +inline void AlterOwnerStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::pg_query::LockClauseStrength RowMarkClause::strength() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.strength) - return _internal_strength(); +inline const ::pg_query::RangeVar& AlterOwnerStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline void RowMarkClause::_internal_set_strength(::pg_query::LockClauseStrength value) { - - _impl_.strength_ = value; +inline const ::pg_query::RangeVar& AlterOwnerStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.relation) + return _internal_relation(); } -inline void RowMarkClause::set_strength(::pg_query::LockClauseStrength value) { - _internal_set_strength(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.strength) +inline void AlterOwnerStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.relation) } +inline ::pg_query::RangeVar* AlterOwnerStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"]; -inline void RowMarkClause::clear_wait_policy() { - _impl_.wait_policy_ = 0; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::LockWaitPolicy RowMarkClause::_internal_wait_policy() const { - return static_cast< ::pg_query::LockWaitPolicy >(_impl_.wait_policy_); +inline ::pg_query::RangeVar* AlterOwnerStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline ::pg_query::LockWaitPolicy RowMarkClause::wait_policy() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.wait_policy) - return _internal_wait_policy(); +inline ::pg_query::RangeVar* AlterOwnerStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void RowMarkClause::_internal_set_wait_policy(::pg_query::LockWaitPolicy value) { - - _impl_.wait_policy_ = value; +inline ::pg_query::RangeVar* AlterOwnerStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.relation) + return _msg; } -inline void RowMarkClause::set_wait_policy(::pg_query::LockWaitPolicy value) { - _internal_set_wait_policy(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.wait_policy) +inline void AlterOwnerStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.relation) } -// bool pushed_down = 4 [json_name = "pushedDown"]; -inline void RowMarkClause::clear_pushed_down() { - _impl_.pushed_down_ = false; +// .pg_query.Node object = 3 [json_name = "object"]; +inline bool AlterOwnerStmt::has_object() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.object_ != nullptr); + return value; } -inline bool RowMarkClause::_internal_pushed_down() const { - return _impl_.pushed_down_; +inline void AlterOwnerStmt::clear_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.object_ != nullptr) _impl_.object_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline bool RowMarkClause::pushed_down() const { - // @@protoc_insertion_point(field_get:pg_query.RowMarkClause.pushed_down) - return _internal_pushed_down(); +inline const ::pg_query::Node& AlterOwnerStmt::_internal_object() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.object_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline void RowMarkClause::_internal_set_pushed_down(bool value) { - - _impl_.pushed_down_ = value; +inline const ::pg_query::Node& AlterOwnerStmt::object() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.object) + return _internal_object(); } -inline void RowMarkClause::set_pushed_down(bool value) { - _internal_set_pushed_down(value); - // @@protoc_insertion_point(field_set:pg_query.RowMarkClause.pushed_down) +inline void AlterOwnerStmt::unsafe_arena_set_allocated_object(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.object_); + } + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.object) } +inline ::pg_query::Node* AlterOwnerStmt::release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- - -// XmlSerialize - -// .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"]; -inline void XmlSerialize::clear_xmloption() { - _impl_.xmloption_ = 0; -} -inline ::pg_query::XmlOptionType XmlSerialize::_internal_xmloption() const { - return static_cast< ::pg_query::XmlOptionType >(_impl_.xmloption_); + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.object_; + _impl_.object_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline ::pg_query::XmlOptionType XmlSerialize::xmloption() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.xmloption) - return _internal_xmloption(); +inline ::pg_query::Node* AlterOwnerStmt::unsafe_arena_release_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.object) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.object_; + _impl_.object_ = nullptr; + return temp; } -inline void XmlSerialize::_internal_set_xmloption(::pg_query::XmlOptionType value) { - - _impl_.xmloption_ = value; +inline ::pg_query::Node* AlterOwnerStmt::_internal_mutable_object() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.object_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.object_; } -inline void XmlSerialize::set_xmloption(::pg_query::XmlOptionType value) { - _internal_set_xmloption(value); - // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.xmloption) +inline ::pg_query::Node* AlterOwnerStmt::mutable_object() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_object(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.object) + return _msg; } +inline void AlterOwnerStmt::set_allocated_object(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.object_); + } -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool XmlSerialize::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.object_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.object) } -inline bool XmlSerialize::has_expr() const { - return _internal_has_expr(); + +// .pg_query.RoleSpec newowner = 4 [json_name = "newowner"]; +inline bool AlterOwnerStmt::has_newowner() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.newowner_ != nullptr); + return value; } -inline void XmlSerialize::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void AlterOwnerStmt::clear_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.newowner_ != nullptr) _impl_.newowner_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline const ::pg_query::Node& XmlSerialize::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RoleSpec& AlterOwnerStmt::_internal_newowner() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.newowner_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); } -inline const ::pg_query::Node& XmlSerialize::expr() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.expr) - return _internal_expr(); +inline const ::pg_query::RoleSpec& AlterOwnerStmt::newowner() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOwnerStmt.newowner) + return _internal_newowner(); } -inline void XmlSerialize::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void AlterOwnerStmt::unsafe_arena_set_allocated_newowner(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newowner_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOwnerStmt.newowner) } -inline ::pg_query::Node* XmlSerialize::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RoleSpec* AlterOwnerStmt::release_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RoleSpec* released = _impl_.newowner_; + _impl_.newowner_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* XmlSerialize::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RoleSpec* AlterOwnerStmt::unsafe_arena_release_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterOwnerStmt.newowner) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::RoleSpec* temp = _impl_.newowner_; + _impl_.newowner_ = nullptr; return temp; } -inline ::pg_query::Node* XmlSerialize::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::RoleSpec* AlterOwnerStmt::_internal_mutable_newowner() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.newowner_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(p); } - return _impl_.expr_; + return _impl_.newowner_; } -inline ::pg_query::Node* XmlSerialize::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.expr) +inline ::pg_query::RoleSpec* AlterOwnerStmt::mutable_newowner() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_newowner(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterOwnerStmt.newowner) return _msg; } -inline void XmlSerialize::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterOwnerStmt::set_allocated_newowner(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.newowner_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000004u; } else { - + _impl_._has_bits_[0] &= ~0x00000004u; } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.expr) -} -// .pg_query.TypeName type_name = 3 [json_name = "typeName"]; -inline bool XmlSerialize::_internal_has_type_name() const { - return this != internal_default_instance() && _impl_.type_name_ != nullptr; + _impl_.newowner_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOwnerStmt.newowner) } -inline bool XmlSerialize::has_type_name() const { - return _internal_has_type_name(); + +// ------------------------------------------------------------------- + +// AlterOperatorStmt + +// .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"]; +inline bool AlterOperatorStmt::has_opername() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.opername_ != nullptr); + return value; } -inline void XmlSerialize::clear_type_name() { - if (GetArenaForAllocation() == nullptr && _impl_.type_name_ != nullptr) { - delete _impl_.type_name_; - } - _impl_.type_name_ = nullptr; +inline void AlterOperatorStmt::clear_opername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.opername_ != nullptr) _impl_.opername_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::TypeName& XmlSerialize::_internal_type_name() const { - const ::pg_query::TypeName* p = _impl_.type_name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_TypeName_default_instance_); +inline const ::pg_query::ObjectWithArgs& AlterOperatorStmt::_internal_opername() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.opername_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); } -inline const ::pg_query::TypeName& XmlSerialize::type_name() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.type_name) - return _internal_type_name(); +inline const ::pg_query::ObjectWithArgs& AlterOperatorStmt::opername() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOperatorStmt.opername) + return _internal_opername(); } -inline void XmlSerialize::unsafe_arena_set_allocated_type_name( - ::pg_query::TypeName* type_name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.type_name_); +inline void AlterOperatorStmt::unsafe_arena_set_allocated_opername(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opername_); } - _impl_.type_name_ = type_name; - if (type_name) { - + _impl_.opername_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.XmlSerialize.type_name) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterOperatorStmt.opername) } -inline ::pg_query::TypeName* XmlSerialize::release_type_name() { - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::release_opername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* released = _impl_.opername_; + _impl_.opername_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::TypeName* XmlSerialize::unsafe_arena_release_type_name() { - // @@protoc_insertion_point(field_release:pg_query.XmlSerialize.type_name) - - ::pg_query::TypeName* temp = _impl_.type_name_; - _impl_.type_name_ = nullptr; +inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::unsafe_arena_release_opername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterOperatorStmt.opername) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::ObjectWithArgs* temp = _impl_.opername_; + _impl_.opername_ = nullptr; return temp; } -inline ::pg_query::TypeName* XmlSerialize::_internal_mutable_type_name() { - - if (_impl_.type_name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArenaForAllocation()); - _impl_.type_name_ = p; +inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::_internal_mutable_opername() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.opername_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.opername_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); } - return _impl_.type_name_; + return _impl_.opername_; } -inline ::pg_query::TypeName* XmlSerialize::mutable_type_name() { - ::pg_query::TypeName* _msg = _internal_mutable_type_name(); - // @@protoc_insertion_point(field_mutable:pg_query.XmlSerialize.type_name) +inline ::pg_query::ObjectWithArgs* AlterOperatorStmt::mutable_opername() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_opername(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterOperatorStmt.opername) return _msg; } -inline void XmlSerialize::set_allocated_type_name(::pg_query::TypeName* type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void AlterOperatorStmt::set_allocated_opername(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.type_name_; + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.opername_); } - if (type_name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(type_name); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); if (message_arena != submessage_arena) { - type_name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type_name, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.type_name_ = type_name; - // @@protoc_insertion_point(field_set_allocated:pg_query.XmlSerialize.type_name) + + _impl_.opername_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterOperatorStmt.opername) } -// int32 location = 4 [json_name = "location"]; -inline void XmlSerialize::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterOperatorStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t XmlSerialize::_internal_location() const { - return _impl_.location_; +inline int AlterOperatorStmt::options_size() const { + return _internal_options_size(); } -inline int32_t XmlSerialize::location() const { - // @@protoc_insertion_point(field_get:pg_query.XmlSerialize.location) - return _internal_location(); +inline void AlterOperatorStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void XmlSerialize::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* AlterOperatorStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterOperatorStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void XmlSerialize::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.XmlSerialize.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterOperatorStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterOperatorStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterOperatorStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterOperatorStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterOperatorStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterOperatorStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterOperatorStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterOperatorStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterOperatorStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterOperatorStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// WithClause +// AlterTypeStmt -// repeated .pg_query.Node ctes = 1 [json_name = "ctes"]; -inline int WithClause::_internal_ctes_size() const { - return _impl_.ctes_.size(); +// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; +inline int AlterTypeStmt::_internal_type_name_size() const { + return _internal_type_name().size(); } -inline int WithClause::ctes_size() const { - return _internal_ctes_size(); +inline int AlterTypeStmt::type_name_size() const { + return _internal_type_name_size(); } -inline void WithClause::clear_ctes() { - _impl_.ctes_.Clear(); +inline void AlterTypeStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_name_.Clear(); } -inline ::pg_query::Node* WithClause::mutable_ctes(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.WithClause.ctes) - return _impl_.ctes_.Mutable(index); +inline ::pg_query::Node* AlterTypeStmt::mutable_type_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTypeStmt.type_name) + return _internal_mutable_type_name()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -WithClause::mutable_ctes() { - // @@protoc_insertion_point(field_mutable_list:pg_query.WithClause.ctes) - return &_impl_.ctes_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTypeStmt::mutable_type_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTypeStmt.type_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_type_name(); } -inline const ::pg_query::Node& WithClause::_internal_ctes(int index) const { - return _impl_.ctes_.Get(index); +inline const ::pg_query::Node& AlterTypeStmt::type_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTypeStmt.type_name) + return _internal_type_name().Get(index); } -inline const ::pg_query::Node& WithClause::ctes(int index) const { - // @@protoc_insertion_point(field_get:pg_query.WithClause.ctes) - return _internal_ctes(index); +inline ::pg_query::Node* AlterTypeStmt::add_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_type_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTypeStmt.type_name) + return _add; } -inline ::pg_query::Node* WithClause::_internal_add_ctes() { - return _impl_.ctes_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTypeStmt::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTypeStmt.type_name) + return _internal_type_name(); } -inline ::pg_query::Node* WithClause::add_ctes() { - ::pg_query::Node* _add = _internal_add_ctes(); - // @@protoc_insertion_point(field_add:pg_query.WithClause.ctes) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTypeStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_name_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -WithClause::ctes() const { - // @@protoc_insertion_point(field_list:pg_query.WithClause.ctes) - return _impl_.ctes_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTypeStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.type_name_; } -// bool recursive = 2 [json_name = "recursive"]; -inline void WithClause::clear_recursive() { - _impl_.recursive_ = false; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterTypeStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool WithClause::_internal_recursive() const { - return _impl_.recursive_; +inline int AlterTypeStmt::options_size() const { + return _internal_options_size(); +} +inline void AlterTypeStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* AlterTypeStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTypeStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTypeStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTypeStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterTypeStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTypeStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterTypeStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTypeStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTypeStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTypeStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTypeStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTypeStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} + +// ------------------------------------------------------------------- + +// RuleStmt + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool RuleStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline bool WithClause::recursive() const { - // @@protoc_insertion_point(field_get:pg_query.WithClause.recursive) - return _internal_recursive(); +inline void RuleStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void WithClause::_internal_set_recursive(bool value) { - - _impl_.recursive_ = value; +inline const ::pg_query::RangeVar& RuleStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline void WithClause::set_recursive(bool value) { - _internal_set_recursive(value); - // @@protoc_insertion_point(field_set:pg_query.WithClause.recursive) +inline const ::pg_query::RangeVar& RuleStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.relation) + return _internal_relation(); } - -// int32 location = 3 [json_name = "location"]; -inline void WithClause::clear_location() { - _impl_.location_ = 0; +inline void RuleStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RuleStmt.relation) } -inline int32_t WithClause::_internal_location() const { - return _impl_.location_; +inline ::pg_query::RangeVar* RuleStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t WithClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.WithClause.location) - return _internal_location(); +inline ::pg_query::RangeVar* RuleStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RuleStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline void WithClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::RangeVar* RuleStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline void WithClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.WithClause.location) +inline ::pg_query::RangeVar* RuleStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.relation) + return _msg; } +inline void RuleStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } -// ------------------------------------------------------------------- - -// InferClause + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"]; -inline int InferClause::_internal_index_elems_size() const { - return _impl_.index_elems_.size(); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.relation) } -inline int InferClause::index_elems_size() const { - return _internal_index_elems_size(); + +// string rulename = 2 [json_name = "rulename"]; +inline void RuleStmt::clear_rulename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rulename_.ClearToEmpty(); } -inline void InferClause::clear_index_elems() { - _impl_.index_elems_.Clear(); +inline const std::string& RuleStmt::rulename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.rulename) + return _internal_rulename(); } -inline ::pg_query::Node* InferClause::mutable_index_elems(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.index_elems) - return _impl_.index_elems_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void RuleStmt::set_rulename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rulename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.RuleStmt.rulename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -InferClause::mutable_index_elems() { - // @@protoc_insertion_point(field_mutable_list:pg_query.InferClause.index_elems) - return &_impl_.index_elems_; +inline std::string* RuleStmt::mutable_rulename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_rulename(); + // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.rulename) + return _s; } -inline const ::pg_query::Node& InferClause::_internal_index_elems(int index) const { - return _impl_.index_elems_.Get(index); +inline const std::string& RuleStmt::_internal_rulename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rulename_.Get(); } -inline const ::pg_query::Node& InferClause::index_elems(int index) const { - // @@protoc_insertion_point(field_get:pg_query.InferClause.index_elems) - return _internal_index_elems(index); +inline void RuleStmt::_internal_set_rulename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.rulename_.Set(value, GetArena()); } -inline ::pg_query::Node* InferClause::_internal_add_index_elems() { - return _impl_.index_elems_.Add(); +inline std::string* RuleStmt::_internal_mutable_rulename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.rulename_.Mutable( GetArena()); } -inline ::pg_query::Node* InferClause::add_index_elems() { - ::pg_query::Node* _add = _internal_add_index_elems(); - // @@protoc_insertion_point(field_add:pg_query.InferClause.index_elems) - return _add; +inline std::string* RuleStmt::release_rulename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RuleStmt.rulename) + return _impl_.rulename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -InferClause::index_elems() const { - // @@protoc_insertion_point(field_list:pg_query.InferClause.index_elems) - return _impl_.index_elems_; +inline void RuleStmt::set_allocated_rulename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rulename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.rulename_.IsDefault()) { + _impl_.rulename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.rulename) } -// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; -inline bool InferClause::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; -} -inline bool InferClause::has_where_clause() const { - return _internal_has_where_clause(); +// .pg_query.Node where_clause = 3 [json_name = "whereClause"]; +inline bool RuleStmt::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; } -inline void InferClause::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void RuleStmt::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& InferClause::_internal_where_clause() const { +inline const ::pg_query::Node& RuleStmt::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::Node& InferClause::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.InferClause.where_clause) +inline const ::pg_query::Node& RuleStmt::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.where_clause) return _internal_where_clause(); } -inline void InferClause::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void RuleStmt::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.InferClause.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RuleStmt.where_clause) } -inline ::pg_query::Node* InferClause::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; +inline ::pg_query::Node* RuleStmt::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; _impl_.where_clause_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* InferClause::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.InferClause.where_clause) - +inline ::pg_query::Node* RuleStmt::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RuleStmt.where_clause) + + _impl_._has_bits_[0] &= ~0x00000002u; ::pg_query::Node* temp = _impl_.where_clause_; _impl_.where_clause_ = nullptr; return temp; } -inline ::pg_query::Node* InferClause::_internal_mutable_where_clause() { - +inline ::pg_query::Node* RuleStmt::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); } return _impl_.where_clause_; } -inline ::pg_query::Node* InferClause::mutable_where_clause() { +inline ::pg_query::Node* RuleStmt::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.where_clause) + // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.where_clause) return _msg; } -inline void InferClause::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RuleStmt::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.where_clause) -} -// string conname = 3 [json_name = "conname"]; -inline void InferClause::clear_conname() { - _impl_.conname_.ClearToEmpty(); -} -inline const std::string& InferClause::conname() const { - // @@protoc_insertion_point(field_get:pg_query.InferClause.conname) - return _internal_conname(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void InferClause::set_conname(ArgT0&& arg0, ArgT... args) { - - _impl_.conname_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.InferClause.conname) -} -inline std::string* InferClause::mutable_conname() { - std::string* _s = _internal_mutable_conname(); - // @@protoc_insertion_point(field_mutable:pg_query.InferClause.conname) - return _s; + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RuleStmt.where_clause) } -inline const std::string& InferClause::_internal_conname() const { - return _impl_.conname_.Get(); + +// .pg_query.CmdType event = 4 [json_name = "event"]; +inline void RuleStmt::clear_event() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.event_ = 0; } -inline void InferClause::_internal_set_conname(const std::string& value) { - - _impl_.conname_.Set(value, GetArenaForAllocation()); +inline ::pg_query::CmdType RuleStmt::event() const { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.event) + return _internal_event(); } -inline std::string* InferClause::_internal_mutable_conname() { - - return _impl_.conname_.Mutable(GetArenaForAllocation()); +inline void RuleStmt::set_event(::pg_query::CmdType value) { + _internal_set_event(value); + // @@protoc_insertion_point(field_set:pg_query.RuleStmt.event) } -inline std::string* InferClause::release_conname() { - // @@protoc_insertion_point(field_release:pg_query.InferClause.conname) - return _impl_.conname_.Release(); +inline ::pg_query::CmdType RuleStmt::_internal_event() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CmdType>(_impl_.event_); } -inline void InferClause::set_allocated_conname(std::string* conname) { - if (conname != nullptr) { - - } else { - - } - _impl_.conname_.SetAllocated(conname, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.conname_.IsDefault()) { - _impl_.conname_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.InferClause.conname) +inline void RuleStmt::_internal_set_event(::pg_query::CmdType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.event_ = value; } -// int32 location = 4 [json_name = "location"]; -inline void InferClause::clear_location() { - _impl_.location_ = 0; +// bool instead = 5 [json_name = "instead"]; +inline void RuleStmt::clear_instead() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.instead_ = false; } -inline int32_t InferClause::_internal_location() const { - return _impl_.location_; +inline bool RuleStmt::instead() const { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.instead) + return _internal_instead(); } -inline int32_t InferClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.InferClause.location) - return _internal_location(); +inline void RuleStmt::set_instead(bool value) { + _internal_set_instead(value); + // @@protoc_insertion_point(field_set:pg_query.RuleStmt.instead) } -inline void InferClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool RuleStmt::_internal_instead() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.instead_; } -inline void InferClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.InferClause.location) +inline void RuleStmt::_internal_set_instead(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.instead_ = value; } -// ------------------------------------------------------------------- - -// OnConflictClause - -// .pg_query.OnConflictAction action = 1 [json_name = "action"]; -inline void OnConflictClause::clear_action() { - _impl_.action_ = 0; -} -inline ::pg_query::OnConflictAction OnConflictClause::_internal_action() const { - return static_cast< ::pg_query::OnConflictAction >(_impl_.action_); +// repeated .pg_query.Node actions = 6 [json_name = "actions"]; +inline int RuleStmt::_internal_actions_size() const { + return _internal_actions().size(); } -inline ::pg_query::OnConflictAction OnConflictClause::action() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.action) - return _internal_action(); +inline int RuleStmt::actions_size() const { + return _internal_actions_size(); } -inline void OnConflictClause::_internal_set_action(::pg_query::OnConflictAction value) { - - _impl_.action_ = value; +inline void RuleStmt::clear_actions() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.actions_.Clear(); } -inline void OnConflictClause::set_action(::pg_query::OnConflictAction value) { - _internal_set_action(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.action) +inline ::pg_query::Node* RuleStmt::mutable_actions(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.RuleStmt.actions) + return _internal_mutable_actions()->Mutable(index); } - -// .pg_query.InferClause infer = 2 [json_name = "infer"]; -inline bool OnConflictClause::_internal_has_infer() const { - return this != internal_default_instance() && _impl_.infer_ != nullptr; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* RuleStmt::mutable_actions() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.RuleStmt.actions) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_actions(); } -inline bool OnConflictClause::has_infer() const { - return _internal_has_infer(); +inline const ::pg_query::Node& RuleStmt::actions(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.actions) + return _internal_actions().Get(index); } -inline void OnConflictClause::clear_infer() { - if (GetArenaForAllocation() == nullptr && _impl_.infer_ != nullptr) { - delete _impl_.infer_; - } - _impl_.infer_ = nullptr; +inline ::pg_query::Node* RuleStmt::add_actions() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_actions()->Add(); + // @@protoc_insertion_point(field_add:pg_query.RuleStmt.actions) + return _add; } -inline const ::pg_query::InferClause& OnConflictClause::_internal_infer() const { - const ::pg_query::InferClause* p = _impl_.infer_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_InferClause_default_instance_); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& RuleStmt::actions() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.RuleStmt.actions) + return _internal_actions(); } -inline const ::pg_query::InferClause& OnConflictClause::infer() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.infer) - return _internal_infer(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +RuleStmt::_internal_actions() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.actions_; } -inline void OnConflictClause::unsafe_arena_set_allocated_infer( - ::pg_query::InferClause* infer) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.infer_); - } - _impl_.infer_ = infer; - if (infer) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.infer) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +RuleStmt::_internal_mutable_actions() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.actions_; } -inline ::pg_query::InferClause* OnConflictClause::release_infer() { - - ::pg_query::InferClause* temp = _impl_.infer_; - _impl_.infer_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + +// bool replace = 7 [json_name = "replace"]; +inline void RuleStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline ::pg_query::InferClause* OnConflictClause::unsafe_arena_release_infer() { - // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.infer) - - ::pg_query::InferClause* temp = _impl_.infer_; - _impl_.infer_ = nullptr; - return temp; +inline bool RuleStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.RuleStmt.replace) + return _internal_replace(); } -inline ::pg_query::InferClause* OnConflictClause::_internal_mutable_infer() { - - if (_impl_.infer_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::InferClause>(GetArenaForAllocation()); - _impl_.infer_ = p; - } - return _impl_.infer_; +inline void RuleStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.RuleStmt.replace) } -inline ::pg_query::InferClause* OnConflictClause::mutable_infer() { - ::pg_query::InferClause* _msg = _internal_mutable_infer(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.infer) - return _msg; +inline bool RuleStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void OnConflictClause::set_allocated_infer(::pg_query::InferClause* infer) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.infer_; - } - if (infer) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(infer); - if (message_arena != submessage_arena) { - infer = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, infer, submessage_arena); - } - - } else { - - } - _impl_.infer_ = infer; - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.infer) +inline void RuleStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// repeated .pg_query.Node target_list = 3 [json_name = "targetList"]; -inline int OnConflictClause::_internal_target_list_size() const { - return _impl_.target_list_.size(); -} -inline int OnConflictClause::target_list_size() const { - return _internal_target_list_size(); +// ------------------------------------------------------------------- + +// NotifyStmt + +// string conditionname = 1 [json_name = "conditionname"]; +inline void NotifyStmt::clear_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.ClearToEmpty(); } -inline void OnConflictClause::clear_target_list() { - _impl_.target_list_.Clear(); +inline const std::string& NotifyStmt::conditionname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NotifyStmt.conditionname) + return _internal_conditionname(); } -inline ::pg_query::Node* OnConflictClause::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.target_list) - return _impl_.target_list_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void NotifyStmt::set_conditionname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.NotifyStmt.conditionname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -OnConflictClause::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.OnConflictClause.target_list) - return &_impl_.target_list_; +inline std::string* NotifyStmt::mutable_conditionname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conditionname(); + // @@protoc_insertion_point(field_mutable:pg_query.NotifyStmt.conditionname) + return _s; } -inline const ::pg_query::Node& OnConflictClause::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); +inline const std::string& NotifyStmt::_internal_conditionname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conditionname_.Get(); } -inline const ::pg_query::Node& OnConflictClause::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.target_list) - return _internal_target_list(index); +inline void NotifyStmt::_internal_set_conditionname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(value, GetArena()); } -inline ::pg_query::Node* OnConflictClause::_internal_add_target_list() { - return _impl_.target_list_.Add(); +inline std::string* NotifyStmt::_internal_mutable_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conditionname_.Mutable( GetArena()); } -inline ::pg_query::Node* OnConflictClause::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.OnConflictClause.target_list) - return _add; +inline std::string* NotifyStmt::release_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NotifyStmt.conditionname) + return _impl_.conditionname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -OnConflictClause::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.OnConflictClause.target_list) - return _impl_.target_list_; +inline void NotifyStmt::set_allocated_conditionname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conditionname_.IsDefault()) { + _impl_.conditionname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.NotifyStmt.conditionname) } -// .pg_query.Node where_clause = 4 [json_name = "whereClause"]; -inline bool OnConflictClause::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; +// string payload = 2 [json_name = "payload"]; +inline void NotifyStmt::clear_payload() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.payload_.ClearToEmpty(); } -inline bool OnConflictClause::has_where_clause() const { - return _internal_has_where_clause(); +inline const std::string& NotifyStmt::payload() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.NotifyStmt.payload) + return _internal_payload(); } -inline void OnConflictClause::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void NotifyStmt::set_payload(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.payload_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.NotifyStmt.payload) } -inline const ::pg_query::Node& OnConflictClause::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline std::string* NotifyStmt::mutable_payload() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_payload(); + // @@protoc_insertion_point(field_mutable:pg_query.NotifyStmt.payload) + return _s; } -inline const ::pg_query::Node& OnConflictClause::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.where_clause) - return _internal_where_clause(); +inline const std::string& NotifyStmt::_internal_payload() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.payload_.Get(); } -inline void OnConflictClause::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); - } - _impl_.where_clause_ = where_clause; - if (where_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.OnConflictClause.where_clause) +inline void NotifyStmt::_internal_set_payload(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.payload_.Set(value, GetArena()); } -inline ::pg_query::Node* OnConflictClause::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* NotifyStmt::_internal_mutable_payload() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.payload_.Mutable( GetArena()); } -inline ::pg_query::Node* OnConflictClause::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.OnConflictClause.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; - return temp; +inline std::string* NotifyStmt::release_payload() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.NotifyStmt.payload) + return _impl_.payload_.Release(); } -inline ::pg_query::Node* OnConflictClause::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; - } - return _impl_.where_clause_; +inline void NotifyStmt::set_allocated_payload(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.payload_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.payload_.IsDefault()) { + _impl_.payload_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.NotifyStmt.payload) } -inline ::pg_query::Node* OnConflictClause::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.OnConflictClause.where_clause) - return _msg; + +// ------------------------------------------------------------------- + +// ListenStmt + +// string conditionname = 1 [json_name = "conditionname"]; +inline void ListenStmt::clear_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.ClearToEmpty(); } -inline void OnConflictClause::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.where_clause_; - } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); - if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); - } - - } else { - - } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.OnConflictClause.where_clause) +inline const std::string& ListenStmt::conditionname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ListenStmt.conditionname) + return _internal_conditionname(); } - -// int32 location = 5 [json_name = "location"]; -inline void OnConflictClause::clear_location() { - _impl_.location_ = 0; +template +inline PROTOBUF_ALWAYS_INLINE void ListenStmt::set_conditionname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ListenStmt.conditionname) } -inline int32_t OnConflictClause::_internal_location() const { - return _impl_.location_; +inline std::string* ListenStmt::mutable_conditionname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conditionname(); + // @@protoc_insertion_point(field_mutable:pg_query.ListenStmt.conditionname) + return _s; } -inline int32_t OnConflictClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.OnConflictClause.location) - return _internal_location(); +inline const std::string& ListenStmt::_internal_conditionname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conditionname_.Get(); } -inline void OnConflictClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline void ListenStmt::_internal_set_conditionname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(value, GetArena()); } -inline void OnConflictClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.OnConflictClause.location) +inline std::string* ListenStmt::_internal_mutable_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conditionname_.Mutable( GetArena()); +} +inline std::string* ListenStmt::release_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ListenStmt.conditionname) + return _impl_.conditionname_.Release(); +} +inline void ListenStmt::set_allocated_conditionname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conditionname_.IsDefault()) { + _impl_.conditionname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ListenStmt.conditionname) } // ------------------------------------------------------------------- -// CTESearchClause +// UnlistenStmt -// repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"]; -inline int CTESearchClause::_internal_search_col_list_size() const { - return _impl_.search_col_list_.size(); -} -inline int CTESearchClause::search_col_list_size() const { - return _internal_search_col_list_size(); +// string conditionname = 1 [json_name = "conditionname"]; +inline void UnlistenStmt::clear_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.ClearToEmpty(); } -inline void CTESearchClause::clear_search_col_list() { - _impl_.search_col_list_.Clear(); +inline const std::string& UnlistenStmt::conditionname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.UnlistenStmt.conditionname) + return _internal_conditionname(); } -inline ::pg_query::Node* CTESearchClause::mutable_search_col_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_col_list) - return _impl_.search_col_list_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void UnlistenStmt::set_conditionname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.UnlistenStmt.conditionname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CTESearchClause::mutable_search_col_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CTESearchClause.search_col_list) - return &_impl_.search_col_list_; +inline std::string* UnlistenStmt::mutable_conditionname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conditionname(); + // @@protoc_insertion_point(field_mutable:pg_query.UnlistenStmt.conditionname) + return _s; } -inline const ::pg_query::Node& CTESearchClause::_internal_search_col_list(int index) const { - return _impl_.search_col_list_.Get(index); +inline const std::string& UnlistenStmt::_internal_conditionname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conditionname_.Get(); } -inline const ::pg_query::Node& CTESearchClause::search_col_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_col_list) - return _internal_search_col_list(index); +inline void UnlistenStmt::_internal_set_conditionname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conditionname_.Set(value, GetArena()); } -inline ::pg_query::Node* CTESearchClause::_internal_add_search_col_list() { - return _impl_.search_col_list_.Add(); +inline std::string* UnlistenStmt::_internal_mutable_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conditionname_.Mutable( GetArena()); } -inline ::pg_query::Node* CTESearchClause::add_search_col_list() { - ::pg_query::Node* _add = _internal_add_search_col_list(); - // @@protoc_insertion_point(field_add:pg_query.CTESearchClause.search_col_list) - return _add; +inline std::string* UnlistenStmt::release_conditionname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.UnlistenStmt.conditionname) + return _impl_.conditionname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CTESearchClause::search_col_list() const { - // @@protoc_insertion_point(field_list:pg_query.CTESearchClause.search_col_list) - return _impl_.search_col_list_; +inline void UnlistenStmt::set_allocated_conditionname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conditionname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conditionname_.IsDefault()) { + _impl_.conditionname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.UnlistenStmt.conditionname) } -// bool search_breadth_first = 2 [json_name = "search_breadth_first"]; -inline void CTESearchClause::clear_search_breadth_first() { - _impl_.search_breadth_first_ = false; +// ------------------------------------------------------------------- + +// TransactionStmt + +// .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"]; +inline void TransactionStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline bool CTESearchClause::_internal_search_breadth_first() const { - return _impl_.search_breadth_first_; +inline ::pg_query::TransactionStmtKind TransactionStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.kind) + return _internal_kind(); } -inline bool CTESearchClause::search_breadth_first() const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_breadth_first) - return _internal_search_breadth_first(); +inline void TransactionStmt::set_kind(::pg_query::TransactionStmtKind value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.kind) } -inline void CTESearchClause::_internal_set_search_breadth_first(bool value) { - - _impl_.search_breadth_first_ = value; +inline ::pg_query::TransactionStmtKind TransactionStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::TransactionStmtKind>(_impl_.kind_); } -inline void CTESearchClause::set_search_breadth_first(bool value) { - _internal_set_search_breadth_first(value); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_breadth_first) +inline void TransactionStmt::_internal_set_kind(::pg_query::TransactionStmtKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; } -// string search_seq_column = 3 [json_name = "search_seq_column"]; -inline void CTESearchClause::clear_search_seq_column() { - _impl_.search_seq_column_.ClearToEmpty(); +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int TransactionStmt::_internal_options_size() const { + return _internal_options().size(); } -inline const std::string& CTESearchClause::search_seq_column() const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.search_seq_column) - return _internal_search_seq_column(); +inline int TransactionStmt::options_size() const { + return _internal_options_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CTESearchClause::set_search_seq_column(ArgT0&& arg0, ArgT... args) { - - _impl_.search_seq_column_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.search_seq_column) +inline void TransactionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline std::string* CTESearchClause::mutable_search_seq_column() { - std::string* _s = _internal_mutable_search_seq_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTESearchClause.search_seq_column) - return _s; +inline ::pg_query::Node* TransactionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline const std::string& CTESearchClause::_internal_search_seq_column() const { - return _impl_.search_seq_column_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* TransactionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.TransactionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline void CTESearchClause::_internal_set_search_seq_column(const std::string& value) { - - _impl_.search_seq_column_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& TransactionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.options) + return _internal_options().Get(index); } -inline std::string* CTESearchClause::_internal_mutable_search_seq_column() { - - return _impl_.search_seq_column_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* TransactionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.TransactionStmt.options) + return _add; } -inline std::string* CTESearchClause::release_search_seq_column() { - // @@protoc_insertion_point(field_release:pg_query.CTESearchClause.search_seq_column) - return _impl_.search_seq_column_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& TransactionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.TransactionStmt.options) + return _internal_options(); } -inline void CTESearchClause::set_allocated_search_seq_column(std::string* search_seq_column) { - if (search_seq_column != nullptr) { - - } else { - - } - _impl_.search_seq_column_.SetAllocated(search_seq_column, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.search_seq_column_.IsDefault()) { - _impl_.search_seq_column_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTESearchClause.search_seq_column) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +TransactionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +TransactionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// int32 location = 4 [json_name = "location"]; -inline void CTESearchClause::clear_location() { - _impl_.location_ = 0; +// string savepoint_name = 3 [json_name = "savepoint_name"]; +inline void TransactionStmt::clear_savepoint_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.savepoint_name_.ClearToEmpty(); } -inline int32_t CTESearchClause::_internal_location() const { - return _impl_.location_; +inline const std::string& TransactionStmt::savepoint_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.savepoint_name) + return _internal_savepoint_name(); } -inline int32_t CTESearchClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CTESearchClause.location) - return _internal_location(); +template +inline PROTOBUF_ALWAYS_INLINE void TransactionStmt::set_savepoint_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.savepoint_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.savepoint_name) +} +inline std::string* TransactionStmt::mutable_savepoint_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_savepoint_name(); + // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.savepoint_name) + return _s; +} +inline const std::string& TransactionStmt::_internal_savepoint_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.savepoint_name_.Get(); +} +inline void TransactionStmt::_internal_set_savepoint_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.savepoint_name_.Set(value, GetArena()); } -inline void CTESearchClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline std::string* TransactionStmt::_internal_mutable_savepoint_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.savepoint_name_.Mutable( GetArena()); } -inline void CTESearchClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CTESearchClause.location) +inline std::string* TransactionStmt::release_savepoint_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TransactionStmt.savepoint_name) + return _impl_.savepoint_name_.Release(); } - -// ------------------------------------------------------------------- - -// CTECycleClause - -// repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"]; -inline int CTECycleClause::_internal_cycle_col_list_size() const { - return _impl_.cycle_col_list_.size(); +inline void TransactionStmt::set_allocated_savepoint_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.savepoint_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.savepoint_name_.IsDefault()) { + _impl_.savepoint_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.TransactionStmt.savepoint_name) } -inline int CTECycleClause::cycle_col_list_size() const { - return _internal_cycle_col_list_size(); + +// string gid = 4 [json_name = "gid"]; +inline void TransactionStmt::clear_gid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.gid_.ClearToEmpty(); } -inline void CTECycleClause::clear_cycle_col_list() { - _impl_.cycle_col_list_.Clear(); +inline const std::string& TransactionStmt::gid() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.gid) + return _internal_gid(); } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_col_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_col_list) - return _impl_.cycle_col_list_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void TransactionStmt::set_gid(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.gid_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.gid) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CTECycleClause::mutable_cycle_col_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CTECycleClause.cycle_col_list) - return &_impl_.cycle_col_list_; +inline std::string* TransactionStmt::mutable_gid() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_gid(); + // @@protoc_insertion_point(field_mutable:pg_query.TransactionStmt.gid) + return _s; } -inline const ::pg_query::Node& CTECycleClause::_internal_cycle_col_list(int index) const { - return _impl_.cycle_col_list_.Get(index); +inline const std::string& TransactionStmt::_internal_gid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.gid_.Get(); } -inline const ::pg_query::Node& CTECycleClause::cycle_col_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_col_list) - return _internal_cycle_col_list(index); +inline void TransactionStmt::_internal_set_gid(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.gid_.Set(value, GetArena()); } -inline ::pg_query::Node* CTECycleClause::_internal_add_cycle_col_list() { - return _impl_.cycle_col_list_.Add(); +inline std::string* TransactionStmt::_internal_mutable_gid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.gid_.Mutable( GetArena()); } -inline ::pg_query::Node* CTECycleClause::add_cycle_col_list() { - ::pg_query::Node* _add = _internal_add_cycle_col_list(); - // @@protoc_insertion_point(field_add:pg_query.CTECycleClause.cycle_col_list) - return _add; +inline std::string* TransactionStmt::release_gid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.TransactionStmt.gid) + return _impl_.gid_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CTECycleClause::cycle_col_list() const { - // @@protoc_insertion_point(field_list:pg_query.CTECycleClause.cycle_col_list) - return _impl_.cycle_col_list_; +inline void TransactionStmt::set_allocated_gid(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.gid_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.gid_.IsDefault()) { + _impl_.gid_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.TransactionStmt.gid) } -// string cycle_mark_column = 2 [json_name = "cycle_mark_column"]; -inline void CTECycleClause::clear_cycle_mark_column() { - _impl_.cycle_mark_column_.ClearToEmpty(); +// bool chain = 5 [json_name = "chain"]; +inline void TransactionStmt::clear_chain() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.chain_ = false; } -inline const std::string& CTECycleClause::cycle_mark_column() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_column) - return _internal_cycle_mark_column(); +inline bool TransactionStmt::chain() const { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.chain) + return _internal_chain(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CTECycleClause::set_cycle_mark_column(ArgT0&& arg0, ArgT... args) { - - _impl_.cycle_mark_column_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_column) +inline void TransactionStmt::set_chain(bool value) { + _internal_set_chain(value); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.chain) } -inline std::string* CTECycleClause::mutable_cycle_mark_column() { - std::string* _s = _internal_mutable_cycle_mark_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_column) - return _s; +inline bool TransactionStmt::_internal_chain() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.chain_; } -inline const std::string& CTECycleClause::_internal_cycle_mark_column() const { - return _impl_.cycle_mark_column_.Get(); +inline void TransactionStmt::_internal_set_chain(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.chain_ = value; } -inline void CTECycleClause::_internal_set_cycle_mark_column(const std::string& value) { - - _impl_.cycle_mark_column_.Set(value, GetArenaForAllocation()); + +// int32 location = 6 [json_name = "location"]; +inline void TransactionStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; } -inline std::string* CTECycleClause::_internal_mutable_cycle_mark_column() { - - return _impl_.cycle_mark_column_.Mutable(GetArenaForAllocation()); +inline ::int32_t TransactionStmt::location() const { + // @@protoc_insertion_point(field_get:pg_query.TransactionStmt.location) + return _internal_location(); } -inline std::string* CTECycleClause::release_cycle_mark_column() { - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_column) - return _impl_.cycle_mark_column_.Release(); +inline void TransactionStmt::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.TransactionStmt.location) } -inline void CTECycleClause::set_allocated_cycle_mark_column(std::string* cycle_mark_column) { - if (cycle_mark_column != nullptr) { - - } else { - - } - _impl_.cycle_mark_column_.SetAllocated(cycle_mark_column, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cycle_mark_column_.IsDefault()) { - _impl_.cycle_mark_column_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_column) +inline ::int32_t TransactionStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; } - -// .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"]; -inline bool CTECycleClause::_internal_has_cycle_mark_value() const { - return this != internal_default_instance() && _impl_.cycle_mark_value_ != nullptr; +inline void TransactionStmt::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; } -inline bool CTECycleClause::has_cycle_mark_value() const { - return _internal_has_cycle_mark_value(); + +// ------------------------------------------------------------------- + +// CompositeTypeStmt + +// .pg_query.RangeVar typevar = 1 [json_name = "typevar"]; +inline bool CompositeTypeStmt::has_typevar() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.typevar_ != nullptr); + return value; } -inline void CTECycleClause::clear_cycle_mark_value() { - if (GetArenaForAllocation() == nullptr && _impl_.cycle_mark_value_ != nullptr) { - delete _impl_.cycle_mark_value_; - } - _impl_.cycle_mark_value_ = nullptr; +inline void CompositeTypeStmt::clear_typevar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.typevar_ != nullptr) _impl_.typevar_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_value() const { - const ::pg_query::Node* p = _impl_.cycle_mark_value_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RangeVar& CompositeTypeStmt::_internal_typevar() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.typevar_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& CTECycleClause::cycle_mark_value() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_value) - return _internal_cycle_mark_value(); +inline const ::pg_query::RangeVar& CompositeTypeStmt::typevar() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CompositeTypeStmt.typevar) + return _internal_typevar(); } -inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_value( - ::pg_query::Node* cycle_mark_value) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cycle_mark_value_); +inline void CompositeTypeStmt::unsafe_arena_set_allocated_typevar(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.typevar_); } - _impl_.cycle_mark_value_ = cycle_mark_value; - if (cycle_mark_value) { - + _impl_.typevar_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CompositeTypeStmt.typevar) } -inline ::pg_query::Node* CTECycleClause::release_cycle_mark_value() { - - ::pg_query::Node* temp = _impl_.cycle_mark_value_; - _impl_.cycle_mark_value_ = nullptr; +inline ::pg_query::RangeVar* CompositeTypeStmt::release_typevar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.typevar_; + _impl_.typevar_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_value() { - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_value) - - ::pg_query::Node* temp = _impl_.cycle_mark_value_; - _impl_.cycle_mark_value_ = nullptr; +inline ::pg_query::RangeVar* CompositeTypeStmt::unsafe_arena_release_typevar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CompositeTypeStmt.typevar) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.typevar_; + _impl_.typevar_ = nullptr; return temp; } -inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_value() { - - if (_impl_.cycle_mark_value_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.cycle_mark_value_ = p; +inline ::pg_query::RangeVar* CompositeTypeStmt::_internal_mutable_typevar() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.typevar_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.typevar_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.cycle_mark_value_; + return _impl_.typevar_; } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_value() { - ::pg_query::Node* _msg = _internal_mutable_cycle_mark_value(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_value) +inline ::pg_query::RangeVar* CompositeTypeStmt::mutable_typevar() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_typevar(); + // @@protoc_insertion_point(field_mutable:pg_query.CompositeTypeStmt.typevar) return _msg; } -inline void CTECycleClause::set_allocated_cycle_mark_value(::pg_query::Node* cycle_mark_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CompositeTypeStmt::set_allocated_typevar(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.cycle_mark_value_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.typevar_); } - if (cycle_mark_value) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cycle_mark_value); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - cycle_mark_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, cycle_mark_value, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.cycle_mark_value_ = cycle_mark_value; - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_value) -} -// .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"]; -inline bool CTECycleClause::_internal_has_cycle_mark_default() const { - return this != internal_default_instance() && _impl_.cycle_mark_default_ != nullptr; + _impl_.typevar_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CompositeTypeStmt.typevar) } -inline bool CTECycleClause::has_cycle_mark_default() const { - return _internal_has_cycle_mark_default(); + +// repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"]; +inline int CompositeTypeStmt::_internal_coldeflist_size() const { + return _internal_coldeflist().size(); } -inline void CTECycleClause::clear_cycle_mark_default() { - if (GetArenaForAllocation() == nullptr && _impl_.cycle_mark_default_ != nullptr) { - delete _impl_.cycle_mark_default_; - } - _impl_.cycle_mark_default_ = nullptr; +inline int CompositeTypeStmt::coldeflist_size() const { + return _internal_coldeflist_size(); } -inline const ::pg_query::Node& CTECycleClause::_internal_cycle_mark_default() const { - const ::pg_query::Node* p = _impl_.cycle_mark_default_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void CompositeTypeStmt::clear_coldeflist() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.coldeflist_.Clear(); } -inline const ::pg_query::Node& CTECycleClause::cycle_mark_default() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_default) - return _internal_cycle_mark_default(); +inline ::pg_query::Node* CompositeTypeStmt::mutable_coldeflist(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CompositeTypeStmt.coldeflist) + return _internal_mutable_coldeflist()->Mutable(index); } -inline void CTECycleClause::unsafe_arena_set_allocated_cycle_mark_default( - ::pg_query::Node* cycle_mark_default) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cycle_mark_default_); - } - _impl_.cycle_mark_default_ = cycle_mark_default; - if (cycle_mark_default) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CTECycleClause.cycle_mark_default) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CompositeTypeStmt::mutable_coldeflist() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CompositeTypeStmt.coldeflist) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_coldeflist(); } -inline ::pg_query::Node* CTECycleClause::release_cycle_mark_default() { - - ::pg_query::Node* temp = _impl_.cycle_mark_default_; - _impl_.cycle_mark_default_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& CompositeTypeStmt::coldeflist(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CompositeTypeStmt.coldeflist) + return _internal_coldeflist().Get(index); } -inline ::pg_query::Node* CTECycleClause::unsafe_arena_release_cycle_mark_default() { - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_mark_default) - - ::pg_query::Node* temp = _impl_.cycle_mark_default_; - _impl_.cycle_mark_default_ = nullptr; - return temp; +inline ::pg_query::Node* CompositeTypeStmt::add_coldeflist() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_coldeflist()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CompositeTypeStmt.coldeflist) + return _add; } -inline ::pg_query::Node* CTECycleClause::_internal_mutable_cycle_mark_default() { - - if (_impl_.cycle_mark_default_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.cycle_mark_default_ = p; - } - return _impl_.cycle_mark_default_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CompositeTypeStmt::coldeflist() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CompositeTypeStmt.coldeflist) + return _internal_coldeflist(); } -inline ::pg_query::Node* CTECycleClause::mutable_cycle_mark_default() { - ::pg_query::Node* _msg = _internal_mutable_cycle_mark_default(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_mark_default) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CompositeTypeStmt::_internal_coldeflist() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.coldeflist_; } -inline void CTECycleClause::set_allocated_cycle_mark_default(::pg_query::Node* cycle_mark_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.cycle_mark_default_; - } - if (cycle_mark_default) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cycle_mark_default); - if (message_arena != submessage_arena) { - cycle_mark_default = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, cycle_mark_default, submessage_arena); - } - - } else { - - } - _impl_.cycle_mark_default_ = cycle_mark_default; - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_mark_default) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CompositeTypeStmt::_internal_mutable_coldeflist() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.coldeflist_; } -// string cycle_path_column = 5 [json_name = "cycle_path_column"]; -inline void CTECycleClause::clear_cycle_path_column() { - _impl_.cycle_path_column_.ClearToEmpty(); +// ------------------------------------------------------------------- + +// CreateEnumStmt + +// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; +inline int CreateEnumStmt::_internal_type_name_size() const { + return _internal_type_name().size(); } -inline const std::string& CTECycleClause::cycle_path_column() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_path_column) - return _internal_cycle_path_column(); +inline int CreateEnumStmt::type_name_size() const { + return _internal_type_name_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CTECycleClause::set_cycle_path_column(ArgT0&& arg0, ArgT... args) { - - _impl_.cycle_path_column_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_path_column) +inline void CreateEnumStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_name_.Clear(); } -inline std::string* CTECycleClause::mutable_cycle_path_column() { - std::string* _s = _internal_mutable_cycle_path_column(); - // @@protoc_insertion_point(field_mutable:pg_query.CTECycleClause.cycle_path_column) - return _s; +inline ::pg_query::Node* CreateEnumStmt::mutable_type_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateEnumStmt.type_name) + return _internal_mutable_type_name()->Mutable(index); } -inline const std::string& CTECycleClause::_internal_cycle_path_column() const { - return _impl_.cycle_path_column_.Get(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateEnumStmt::mutable_type_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEnumStmt.type_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_type_name(); } -inline void CTECycleClause::_internal_set_cycle_path_column(const std::string& value) { - - _impl_.cycle_path_column_.Set(value, GetArenaForAllocation()); +inline const ::pg_query::Node& CreateEnumStmt::type_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEnumStmt.type_name) + return _internal_type_name().Get(index); } -inline std::string* CTECycleClause::_internal_mutable_cycle_path_column() { - - return _impl_.cycle_path_column_.Mutable(GetArenaForAllocation()); +inline ::pg_query::Node* CreateEnumStmt::add_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_type_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateEnumStmt.type_name) + return _add; } -inline std::string* CTECycleClause::release_cycle_path_column() { - // @@protoc_insertion_point(field_release:pg_query.CTECycleClause.cycle_path_column) - return _impl_.cycle_path_column_.Release(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateEnumStmt::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateEnumStmt.type_name) + return _internal_type_name(); } -inline void CTECycleClause::set_allocated_cycle_path_column(std::string* cycle_path_column) { - if (cycle_path_column != nullptr) { - - } else { - - } - _impl_.cycle_path_column_.SetAllocated(cycle_path_column, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.cycle_path_column_.IsDefault()) { - _impl_.cycle_path_column_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CTECycleClause.cycle_path_column) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateEnumStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_name_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateEnumStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.type_name_; } -// int32 location = 6 [json_name = "location"]; -inline void CTECycleClause::clear_location() { - _impl_.location_ = 0; +// repeated .pg_query.Node vals = 2 [json_name = "vals"]; +inline int CreateEnumStmt::_internal_vals_size() const { + return _internal_vals().size(); } -inline int32_t CTECycleClause::_internal_location() const { - return _impl_.location_; +inline int CreateEnumStmt::vals_size() const { + return _internal_vals_size(); } -inline int32_t CTECycleClause::location() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.location) - return _internal_location(); +inline void CreateEnumStmt::clear_vals() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.vals_.Clear(); } -inline void CTECycleClause::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::Node* CreateEnumStmt::mutable_vals(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateEnumStmt.vals) + return _internal_mutable_vals()->Mutable(index); } -inline void CTECycleClause::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.location) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateEnumStmt::mutable_vals() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateEnumStmt.vals) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_vals(); } - -// uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"]; -inline void CTECycleClause::clear_cycle_mark_type() { - _impl_.cycle_mark_type_ = 0u; +inline const ::pg_query::Node& CreateEnumStmt::vals(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateEnumStmt.vals) + return _internal_vals().Get(index); } -inline uint32_t CTECycleClause::_internal_cycle_mark_type() const { - return _impl_.cycle_mark_type_; +inline ::pg_query::Node* CreateEnumStmt::add_vals() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_vals()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateEnumStmt.vals) + return _add; } -inline uint32_t CTECycleClause::cycle_mark_type() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_type) - return _internal_cycle_mark_type(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateEnumStmt::vals() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateEnumStmt.vals) + return _internal_vals(); } -inline void CTECycleClause::_internal_set_cycle_mark_type(uint32_t value) { - - _impl_.cycle_mark_type_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateEnumStmt::_internal_vals() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.vals_; } -inline void CTECycleClause::set_cycle_mark_type(uint32_t value) { - _internal_set_cycle_mark_type(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_type) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateEnumStmt::_internal_mutable_vals() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.vals_; } -// int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"]; -inline void CTECycleClause::clear_cycle_mark_typmod() { - _impl_.cycle_mark_typmod_ = 0; +// ------------------------------------------------------------------- + +// CreateRangeStmt + +// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; +inline int CreateRangeStmt::_internal_type_name_size() const { + return _internal_type_name().size(); } -inline int32_t CTECycleClause::_internal_cycle_mark_typmod() const { - return _impl_.cycle_mark_typmod_; +inline int CreateRangeStmt::type_name_size() const { + return _internal_type_name_size(); } -inline int32_t CTECycleClause::cycle_mark_typmod() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_typmod) - return _internal_cycle_mark_typmod(); +inline void CreateRangeStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_name_.Clear(); } -inline void CTECycleClause::_internal_set_cycle_mark_typmod(int32_t value) { - - _impl_.cycle_mark_typmod_ = value; +inline ::pg_query::Node* CreateRangeStmt::mutable_type_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateRangeStmt.type_name) + return _internal_mutable_type_name()->Mutable(index); } -inline void CTECycleClause::set_cycle_mark_typmod(int32_t value) { - _internal_set_cycle_mark_typmod(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_typmod) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateRangeStmt::mutable_type_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRangeStmt.type_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_type_name(); } - -// uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"]; -inline void CTECycleClause::clear_cycle_mark_collation() { - _impl_.cycle_mark_collation_ = 0u; +inline const ::pg_query::Node& CreateRangeStmt::type_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateRangeStmt.type_name) + return _internal_type_name().Get(index); } -inline uint32_t CTECycleClause::_internal_cycle_mark_collation() const { - return _impl_.cycle_mark_collation_; +inline ::pg_query::Node* CreateRangeStmt::add_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_type_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateRangeStmt.type_name) + return _add; } -inline uint32_t CTECycleClause::cycle_mark_collation() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_collation) - return _internal_cycle_mark_collation(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateRangeStmt::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateRangeStmt.type_name) + return _internal_type_name(); } -inline void CTECycleClause::_internal_set_cycle_mark_collation(uint32_t value) { - - _impl_.cycle_mark_collation_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateRangeStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_name_; } -inline void CTECycleClause::set_cycle_mark_collation(uint32_t value) { - _internal_set_cycle_mark_collation(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_collation) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateRangeStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.type_name_; } -// uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"]; -inline void CTECycleClause::clear_cycle_mark_neop() { - _impl_.cycle_mark_neop_ = 0u; +// repeated .pg_query.Node params = 2 [json_name = "params"]; +inline int CreateRangeStmt::_internal_params_size() const { + return _internal_params().size(); } -inline uint32_t CTECycleClause::_internal_cycle_mark_neop() const { - return _impl_.cycle_mark_neop_; +inline int CreateRangeStmt::params_size() const { + return _internal_params_size(); } -inline uint32_t CTECycleClause::cycle_mark_neop() const { - // @@protoc_insertion_point(field_get:pg_query.CTECycleClause.cycle_mark_neop) - return _internal_cycle_mark_neop(); +inline void CreateRangeStmt::clear_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.params_.Clear(); } -inline void CTECycleClause::_internal_set_cycle_mark_neop(uint32_t value) { - - _impl_.cycle_mark_neop_ = value; +inline ::pg_query::Node* CreateRangeStmt::mutable_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateRangeStmt.params) + return _internal_mutable_params()->Mutable(index); } -inline void CTECycleClause::set_cycle_mark_neop(uint32_t value) { - _internal_set_cycle_mark_neop(value); - // @@protoc_insertion_point(field_set:pg_query.CTECycleClause.cycle_mark_neop) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateRangeStmt::mutable_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateRangeStmt.params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_params(); +} +inline const ::pg_query::Node& CreateRangeStmt::params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateRangeStmt.params) + return _internal_params().Get(index); +} +inline ::pg_query::Node* CreateRangeStmt::add_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateRangeStmt.params) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateRangeStmt::params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateRangeStmt.params) + return _internal_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateRangeStmt::_internal_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateRangeStmt::_internal_mutable_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.params_; } // ------------------------------------------------------------------- -// CommonTableExpr +// AlterEnumStmt -// string ctename = 1 [json_name = "ctename"]; -inline void CommonTableExpr::clear_ctename() { - _impl_.ctename_.ClearToEmpty(); +// repeated .pg_query.Node type_name = 1 [json_name = "typeName"]; +inline int AlterEnumStmt::_internal_type_name_size() const { + return _internal_type_name().size(); } -inline const std::string& CommonTableExpr::ctename() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctename) - return _internal_ctename(); +inline int AlterEnumStmt::type_name_size() const { + return _internal_type_name_size(); } -template -inline PROTOBUF_ALWAYS_INLINE -void CommonTableExpr::set_ctename(ArgT0&& arg0, ArgT... args) { - - _impl_.ctename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctename) +inline void AlterEnumStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.type_name_.Clear(); } -inline std::string* CommonTableExpr::mutable_ctename() { - std::string* _s = _internal_mutable_ctename(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctename) +inline ::pg_query::Node* AlterEnumStmt::mutable_type_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.type_name) + return _internal_mutable_type_name()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterEnumStmt::mutable_type_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterEnumStmt.type_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_type_name(); +} +inline const ::pg_query::Node& AlterEnumStmt::type_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.type_name) + return _internal_type_name().Get(index); +} +inline ::pg_query::Node* AlterEnumStmt::add_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_type_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterEnumStmt.type_name) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterEnumStmt::type_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterEnumStmt.type_name) + return _internal_type_name(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterEnumStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.type_name_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterEnumStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.type_name_; +} + +// string old_val = 2 [json_name = "oldVal"]; +inline void AlterEnumStmt::clear_old_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_val_.ClearToEmpty(); +} +inline const std::string& AlterEnumStmt::old_val() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.old_val) + return _internal_old_val(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AlterEnumStmt::set_old_val(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_val_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.old_val) +} +inline std::string* AlterEnumStmt::mutable_old_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_old_val(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.old_val) return _s; } -inline const std::string& CommonTableExpr::_internal_ctename() const { - return _impl_.ctename_.Get(); +inline const std::string& AlterEnumStmt::_internal_old_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.old_val_.Get(); } -inline void CommonTableExpr::_internal_set_ctename(const std::string& value) { - - _impl_.ctename_.Set(value, GetArenaForAllocation()); +inline void AlterEnumStmt::_internal_set_old_val(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.old_val_.Set(value, GetArena()); } -inline std::string* CommonTableExpr::_internal_mutable_ctename() { - - return _impl_.ctename_.Mutable(GetArenaForAllocation()); +inline std::string* AlterEnumStmt::_internal_mutable_old_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.old_val_.Mutable( GetArena()); } -inline std::string* CommonTableExpr::release_ctename() { - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctename) - return _impl_.ctename_.Release(); +inline std::string* AlterEnumStmt::release_old_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.old_val) + return _impl_.old_val_.Release(); } -inline void CommonTableExpr::set_allocated_ctename(std::string* ctename) { - if (ctename != nullptr) { - - } else { - - } - _impl_.ctename_.SetAllocated(ctename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.ctename_.IsDefault()) { - _impl_.ctename_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctename) +inline void AlterEnumStmt::set_allocated_old_val(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.old_val_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.old_val_.IsDefault()) { + _impl_.old_val_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.old_val) } -// repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"]; -inline int CommonTableExpr::_internal_aliascolnames_size() const { - return _impl_.aliascolnames_.size(); +// string new_val = 3 [json_name = "newVal"]; +inline void AlterEnumStmt::clear_new_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_val_.ClearToEmpty(); } -inline int CommonTableExpr::aliascolnames_size() const { - return _internal_aliascolnames_size(); +inline const std::string& AlterEnumStmt::new_val() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val) + return _internal_new_val(); } -inline void CommonTableExpr::clear_aliascolnames() { - _impl_.aliascolnames_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterEnumStmt::set_new_val(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_val_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val) } -inline ::pg_query::Node* CommonTableExpr::mutable_aliascolnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.aliascolnames) - return _impl_.aliascolnames_.Mutable(index); +inline std::string* AlterEnumStmt::mutable_new_val() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_new_val(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.new_val) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CommonTableExpr::mutable_aliascolnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.aliascolnames) - return &_impl_.aliascolnames_; +inline const std::string& AlterEnumStmt::_internal_new_val() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.new_val_.Get(); } -inline const ::pg_query::Node& CommonTableExpr::_internal_aliascolnames(int index) const { - return _impl_.aliascolnames_.Get(index); +inline void AlterEnumStmt::_internal_set_new_val(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_val_.Set(value, GetArena()); } -inline const ::pg_query::Node& CommonTableExpr::aliascolnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.aliascolnames) - return _internal_aliascolnames(index); +inline std::string* AlterEnumStmt::_internal_mutable_new_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.new_val_.Mutable( GetArena()); } -inline ::pg_query::Node* CommonTableExpr::_internal_add_aliascolnames() { - return _impl_.aliascolnames_.Add(); +inline std::string* AlterEnumStmt::release_new_val() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.new_val) + return _impl_.new_val_.Release(); } -inline ::pg_query::Node* CommonTableExpr::add_aliascolnames() { - ::pg_query::Node* _add = _internal_add_aliascolnames(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.aliascolnames) - return _add; +inline void AlterEnumStmt::set_allocated_new_val(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_val_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.new_val_.IsDefault()) { + _impl_.new_val_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.new_val) } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CommonTableExpr::aliascolnames() const { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.aliascolnames) - return _impl_.aliascolnames_; + +// string new_val_neighbor = 4 [json_name = "newValNeighbor"]; +inline void AlterEnumStmt::clear_new_val_neighbor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_val_neighbor_.ClearToEmpty(); +} +inline const std::string& AlterEnumStmt::new_val_neighbor() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val_neighbor) + return _internal_new_val_neighbor(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AlterEnumStmt::set_new_val_neighbor(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_val_neighbor_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val_neighbor) +} +inline std::string* AlterEnumStmt::mutable_new_val_neighbor() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_new_val_neighbor(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterEnumStmt.new_val_neighbor) + return _s; +} +inline const std::string& AlterEnumStmt::_internal_new_val_neighbor() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.new_val_neighbor_.Get(); +} +inline void AlterEnumStmt::_internal_set_new_val_neighbor(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_val_neighbor_.Set(value, GetArena()); +} +inline std::string* AlterEnumStmt::_internal_mutable_new_val_neighbor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.new_val_neighbor_.Mutable( GetArena()); +} +inline std::string* AlterEnumStmt::release_new_val_neighbor() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterEnumStmt.new_val_neighbor) + return _impl_.new_val_neighbor_.Release(); +} +inline void AlterEnumStmt::set_allocated_new_val_neighbor(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_val_neighbor_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.new_val_neighbor_.IsDefault()) { + _impl_.new_val_neighbor_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterEnumStmt.new_val_neighbor) } -// .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"]; -inline void CommonTableExpr::clear_ctematerialized() { - _impl_.ctematerialized_ = 0; +// bool new_val_is_after = 5 [json_name = "newValIsAfter"]; +inline void AlterEnumStmt::clear_new_val_is_after() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.new_val_is_after_ = false; } -inline ::pg_query::CTEMaterialize CommonTableExpr::_internal_ctematerialized() const { - return static_cast< ::pg_query::CTEMaterialize >(_impl_.ctematerialized_); +inline bool AlterEnumStmt::new_val_is_after() const { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.new_val_is_after) + return _internal_new_val_is_after(); } -inline ::pg_query::CTEMaterialize CommonTableExpr::ctematerialized() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctematerialized) - return _internal_ctematerialized(); +inline void AlterEnumStmt::set_new_val_is_after(bool value) { + _internal_set_new_val_is_after(value); + // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.new_val_is_after) } -inline void CommonTableExpr::_internal_set_ctematerialized(::pg_query::CTEMaterialize value) { - - _impl_.ctematerialized_ = value; +inline bool AlterEnumStmt::_internal_new_val_is_after() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.new_val_is_after_; } -inline void CommonTableExpr::set_ctematerialized(::pg_query::CTEMaterialize value) { - _internal_set_ctematerialized(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.ctematerialized) +inline void AlterEnumStmt::_internal_set_new_val_is_after(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.new_val_is_after_ = value; } -// .pg_query.Node ctequery = 4 [json_name = "ctequery"]; -inline bool CommonTableExpr::_internal_has_ctequery() const { - return this != internal_default_instance() && _impl_.ctequery_ != nullptr; +// bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"]; +inline void AlterEnumStmt::clear_skip_if_new_val_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.skip_if_new_val_exists_ = false; } -inline bool CommonTableExpr::has_ctequery() const { - return _internal_has_ctequery(); +inline bool AlterEnumStmt::skip_if_new_val_exists() const { + // @@protoc_insertion_point(field_get:pg_query.AlterEnumStmt.skip_if_new_val_exists) + return _internal_skip_if_new_val_exists(); } -inline void CommonTableExpr::clear_ctequery() { - if (GetArenaForAllocation() == nullptr && _impl_.ctequery_ != nullptr) { - delete _impl_.ctequery_; - } - _impl_.ctequery_ = nullptr; +inline void AlterEnumStmt::set_skip_if_new_val_exists(bool value) { + _internal_set_skip_if_new_val_exists(value); + // @@protoc_insertion_point(field_set:pg_query.AlterEnumStmt.skip_if_new_val_exists) } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctequery() const { - const ::pg_query::Node* p = _impl_.ctequery_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline bool AlterEnumStmt::_internal_skip_if_new_val_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.skip_if_new_val_exists_; +} +inline void AlterEnumStmt::_internal_set_skip_if_new_val_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.skip_if_new_val_exists_ = value; +} + +// ------------------------------------------------------------------- + +// ViewStmt + +// .pg_query.RangeVar view = 1 [json_name = "view"]; +inline bool ViewStmt::has_view() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.view_ != nullptr); + return value; +} +inline void ViewStmt::clear_view() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.view_ != nullptr) _impl_.view_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& ViewStmt::_internal_view() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.view_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& CommonTableExpr::ctequery() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctequery) - return _internal_ctequery(); +inline const ::pg_query::RangeVar& ViewStmt::view() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.view) + return _internal_view(); } -inline void CommonTableExpr::unsafe_arena_set_allocated_ctequery( - ::pg_query::Node* ctequery) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.ctequery_); +inline void ViewStmt::unsafe_arena_set_allocated_view(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.view_); } - _impl_.ctequery_ = ctequery; - if (ctequery) { - + _impl_.view_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.ctequery) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ViewStmt.view) } -inline ::pg_query::Node* CommonTableExpr::release_ctequery() { - - ::pg_query::Node* temp = _impl_.ctequery_; - _impl_.ctequery_ = nullptr; +inline ::pg_query::RangeVar* ViewStmt::release_view() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.view_; + _impl_.view_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* CommonTableExpr::unsafe_arena_release_ctequery() { - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.ctequery) - - ::pg_query::Node* temp = _impl_.ctequery_; - _impl_.ctequery_ = nullptr; +inline ::pg_query::RangeVar* ViewStmt::unsafe_arena_release_view() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ViewStmt.view) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.view_; + _impl_.view_ = nullptr; return temp; } -inline ::pg_query::Node* CommonTableExpr::_internal_mutable_ctequery() { - - if (_impl_.ctequery_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.ctequery_ = p; +inline ::pg_query::RangeVar* ViewStmt::_internal_mutable_view() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.view_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.view_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.ctequery_; + return _impl_.view_; } -inline ::pg_query::Node* CommonTableExpr::mutable_ctequery() { - ::pg_query::Node* _msg = _internal_mutable_ctequery(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctequery) +inline ::pg_query::RangeVar* ViewStmt::mutable_view() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_view(); + // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.view) return _msg; } -inline void CommonTableExpr::set_allocated_ctequery(::pg_query::Node* ctequery) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ViewStmt::set_allocated_view(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.ctequery_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.view_); } - if (ctequery) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(ctequery); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - ctequery = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, ctequery, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.ctequery_ = ctequery; - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.ctequery) -} -// .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"]; -inline bool CommonTableExpr::_internal_has_search_clause() const { - return this != internal_default_instance() && _impl_.search_clause_ != nullptr; + _impl_.view_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ViewStmt.view) } -inline bool CommonTableExpr::has_search_clause() const { - return _internal_has_search_clause(); + +// repeated .pg_query.Node aliases = 2 [json_name = "aliases"]; +inline int ViewStmt::_internal_aliases_size() const { + return _internal_aliases().size(); } -inline void CommonTableExpr::clear_search_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.search_clause_ != nullptr) { - delete _impl_.search_clause_; - } - _impl_.search_clause_ = nullptr; +inline int ViewStmt::aliases_size() const { + return _internal_aliases_size(); } -inline const ::pg_query::CTESearchClause& CommonTableExpr::_internal_search_clause() const { - const ::pg_query::CTESearchClause* p = _impl_.search_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_CTESearchClause_default_instance_); +inline void ViewStmt::clear_aliases() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.aliases_.Clear(); } -inline const ::pg_query::CTESearchClause& CommonTableExpr::search_clause() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.search_clause) - return _internal_search_clause(); +inline ::pg_query::Node* ViewStmt::mutable_aliases(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.aliases) + return _internal_mutable_aliases()->Mutable(index); } -inline void CommonTableExpr::unsafe_arena_set_allocated_search_clause( - ::pg_query::CTESearchClause* search_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.search_clause_); - } - _impl_.search_clause_ = search_clause; - if (search_clause) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.search_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ViewStmt::mutable_aliases() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ViewStmt.aliases) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_aliases(); } -inline ::pg_query::CTESearchClause* CommonTableExpr::release_search_clause() { - - ::pg_query::CTESearchClause* temp = _impl_.search_clause_; - _impl_.search_clause_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& ViewStmt::aliases(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.aliases) + return _internal_aliases().Get(index); } -inline ::pg_query::CTESearchClause* CommonTableExpr::unsafe_arena_release_search_clause() { - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.search_clause) - - ::pg_query::CTESearchClause* temp = _impl_.search_clause_; - _impl_.search_clause_ = nullptr; - return temp; +inline ::pg_query::Node* ViewStmt::add_aliases() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_aliases()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ViewStmt.aliases) + return _add; } -inline ::pg_query::CTESearchClause* CommonTableExpr::_internal_mutable_search_clause() { - - if (_impl_.search_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CTESearchClause>(GetArenaForAllocation()); - _impl_.search_clause_ = p; - } - return _impl_.search_clause_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ViewStmt::aliases() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ViewStmt.aliases) + return _internal_aliases(); } -inline ::pg_query::CTESearchClause* CommonTableExpr::mutable_search_clause() { - ::pg_query::CTESearchClause* _msg = _internal_mutable_search_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.search_clause) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ViewStmt::_internal_aliases() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.aliases_; } -inline void CommonTableExpr::set_allocated_search_clause(::pg_query::CTESearchClause* search_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.search_clause_; - } - if (search_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(search_clause); - if (message_arena != submessage_arena) { - search_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, search_clause, submessage_arena); - } - - } else { - - } - _impl_.search_clause_ = search_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.search_clause) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ViewStmt::_internal_mutable_aliases() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.aliases_; } -// .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"]; -inline bool CommonTableExpr::_internal_has_cycle_clause() const { - return this != internal_default_instance() && _impl_.cycle_clause_ != nullptr; -} -inline bool CommonTableExpr::has_cycle_clause() const { - return _internal_has_cycle_clause(); +// .pg_query.Node query = 3 [json_name = "query"]; +inline bool ViewStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; } -inline void CommonTableExpr::clear_cycle_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.cycle_clause_ != nullptr) { - delete _impl_.cycle_clause_; - } - _impl_.cycle_clause_ = nullptr; +inline void ViewStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::CTECycleClause& CommonTableExpr::_internal_cycle_clause() const { - const ::pg_query::CTECycleClause* p = _impl_.cycle_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_CTECycleClause_default_instance_); +inline const ::pg_query::Node& ViewStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline const ::pg_query::CTECycleClause& CommonTableExpr::cycle_clause() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cycle_clause) - return _internal_cycle_clause(); +inline const ::pg_query::Node& ViewStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.query) + return _internal_query(); } -inline void CommonTableExpr::unsafe_arena_set_allocated_cycle_clause( - ::pg_query::CTECycleClause* cycle_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.cycle_clause_); +inline void ViewStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); } - _impl_.cycle_clause_ = cycle_clause; - if (cycle_clause) { - + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CommonTableExpr.cycle_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ViewStmt.query) } -inline ::pg_query::CTECycleClause* CommonTableExpr::release_cycle_clause() { - - ::pg_query::CTECycleClause* temp = _impl_.cycle_clause_; - _impl_.cycle_clause_ = nullptr; +inline ::pg_query::Node* ViewStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::CTECycleClause* CommonTableExpr::unsafe_arena_release_cycle_clause() { - // @@protoc_insertion_point(field_release:pg_query.CommonTableExpr.cycle_clause) - - ::pg_query::CTECycleClause* temp = _impl_.cycle_clause_; - _impl_.cycle_clause_ = nullptr; +inline ::pg_query::Node* ViewStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ViewStmt.query) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; return temp; } -inline ::pg_query::CTECycleClause* CommonTableExpr::_internal_mutable_cycle_clause() { - - if (_impl_.cycle_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::CTECycleClause>(GetArenaForAllocation()); - _impl_.cycle_clause_ = p; +inline ::pg_query::Node* ViewStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); } - return _impl_.cycle_clause_; + return _impl_.query_; } -inline ::pg_query::CTECycleClause* CommonTableExpr::mutable_cycle_clause() { - ::pg_query::CTECycleClause* _msg = _internal_mutable_cycle_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.cycle_clause) +inline ::pg_query::Node* ViewStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.query) return _msg; } -inline void CommonTableExpr::set_allocated_cycle_clause(::pg_query::CTECycleClause* cycle_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ViewStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.cycle_clause_; + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); } - if (cycle_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(cycle_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); if (message_arena != submessage_arena) { - cycle_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, cycle_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.cycle_clause_ = cycle_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.CommonTableExpr.cycle_clause) -} -// int32 location = 7 [json_name = "location"]; -inline void CommonTableExpr::clear_location() { - _impl_.location_ = 0; -} -inline int32_t CommonTableExpr::_internal_location() const { - return _impl_.location_; -} -inline int32_t CommonTableExpr::location() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.location) - return _internal_location(); -} -inline void CommonTableExpr::_internal_set_location(int32_t value) { - - _impl_.location_ = value; -} -inline void CommonTableExpr::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.location) + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ViewStmt.query) } -// bool cterecursive = 8 [json_name = "cterecursive"]; -inline void CommonTableExpr::clear_cterecursive() { - _impl_.cterecursive_ = false; +// bool replace = 4 [json_name = "replace"]; +inline void ViewStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline bool CommonTableExpr::_internal_cterecursive() const { - return _impl_.cterecursive_; +inline bool ViewStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.replace) + return _internal_replace(); } -inline bool CommonTableExpr::cterecursive() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterecursive) - return _internal_cterecursive(); +inline void ViewStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.ViewStmt.replace) } -inline void CommonTableExpr::_internal_set_cterecursive(bool value) { - - _impl_.cterecursive_ = value; +inline bool ViewStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void CommonTableExpr::set_cterecursive(bool value) { - _internal_set_cterecursive(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterecursive) +inline void ViewStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// int32 cterefcount = 9 [json_name = "cterefcount"]; -inline void CommonTableExpr::clear_cterefcount() { - _impl_.cterefcount_ = 0; +// repeated .pg_query.Node options = 5 [json_name = "options"]; +inline int ViewStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t CommonTableExpr::_internal_cterefcount() const { - return _impl_.cterefcount_; +inline int ViewStmt::options_size() const { + return _internal_options_size(); } -inline int32_t CommonTableExpr::cterefcount() const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.cterefcount) - return _internal_cterefcount(); +inline void ViewStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void CommonTableExpr::_internal_set_cterefcount(int32_t value) { - - _impl_.cterefcount_ = value; +inline ::pg_query::Node* ViewStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ViewStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void CommonTableExpr::set_cterefcount(int32_t value) { - _internal_set_cterefcount(value); - // @@protoc_insertion_point(field_set:pg_query.CommonTableExpr.cterefcount) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ViewStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ViewStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"]; -inline int CommonTableExpr::_internal_ctecolnames_size() const { - return _impl_.ctecolnames_.size(); +inline const ::pg_query::Node& ViewStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.options) + return _internal_options().Get(index); } -inline int CommonTableExpr::ctecolnames_size() const { - return _internal_ctecolnames_size(); +inline ::pg_query::Node* ViewStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ViewStmt.options) + return _add; } -inline void CommonTableExpr::clear_ctecolnames() { - _impl_.ctecolnames_.Clear(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ViewStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ViewStmt.options) + return _internal_options(); } -inline ::pg_query::Node* CommonTableExpr::mutable_ctecolnames(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolnames) - return _impl_.ctecolnames_.Mutable(index); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ViewStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CommonTableExpr::mutable_ctecolnames() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolnames) - return &_impl_.ctecolnames_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ViewStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctecolnames(int index) const { - return _impl_.ctecolnames_.Get(index); + +// .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"]; +inline void ViewStmt::clear_with_check_option() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.with_check_option_ = 0; } -inline const ::pg_query::Node& CommonTableExpr::ctecolnames(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolnames) - return _internal_ctecolnames(index); +inline ::pg_query::ViewCheckOption ViewStmt::with_check_option() const { + // @@protoc_insertion_point(field_get:pg_query.ViewStmt.with_check_option) + return _internal_with_check_option(); } -inline ::pg_query::Node* CommonTableExpr::_internal_add_ctecolnames() { - return _impl_.ctecolnames_.Add(); +inline void ViewStmt::set_with_check_option(::pg_query::ViewCheckOption value) { + _internal_set_with_check_option(value); + // @@protoc_insertion_point(field_set:pg_query.ViewStmt.with_check_option) } -inline ::pg_query::Node* CommonTableExpr::add_ctecolnames() { - ::pg_query::Node* _add = _internal_add_ctecolnames(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolnames) - return _add; +inline ::pg_query::ViewCheckOption ViewStmt::_internal_with_check_option() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ViewCheckOption>(_impl_.with_check_option_); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CommonTableExpr::ctecolnames() const { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolnames) - return _impl_.ctecolnames_; +inline void ViewStmt::_internal_set_with_check_option(::pg_query::ViewCheckOption value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.with_check_option_ = value; } -// repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"]; -inline int CommonTableExpr::_internal_ctecoltypes_size() const { - return _impl_.ctecoltypes_.size(); -} -inline int CommonTableExpr::ctecoltypes_size() const { - return _internal_ctecoltypes_size(); +// ------------------------------------------------------------------- + +// LoadStmt + +// string filename = 1 [json_name = "filename"]; +inline void LoadStmt::clear_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.filename_.ClearToEmpty(); } -inline void CommonTableExpr::clear_ctecoltypes() { - _impl_.ctecoltypes_.Clear(); +inline const std::string& LoadStmt::filename() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.LoadStmt.filename) + return _internal_filename(); } -inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypes(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypes) - return _impl_.ctecoltypes_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void LoadStmt::set_filename(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.filename_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.LoadStmt.filename) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CommonTableExpr::mutable_ctecoltypes() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypes) - return &_impl_.ctecoltypes_; +inline std::string* LoadStmt::mutable_filename() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_filename(); + // @@protoc_insertion_point(field_mutable:pg_query.LoadStmt.filename) + return _s; } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctecoltypes(int index) const { - return _impl_.ctecoltypes_.Get(index); +inline const std::string& LoadStmt::_internal_filename() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.filename_.Get(); } -inline const ::pg_query::Node& CommonTableExpr::ctecoltypes(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypes) - return _internal_ctecoltypes(index); +inline void LoadStmt::_internal_set_filename(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.filename_.Set(value, GetArena()); } -inline ::pg_query::Node* CommonTableExpr::_internal_add_ctecoltypes() { - return _impl_.ctecoltypes_.Add(); +inline std::string* LoadStmt::_internal_mutable_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.filename_.Mutable( GetArena()); } -inline ::pg_query::Node* CommonTableExpr::add_ctecoltypes() { - ::pg_query::Node* _add = _internal_add_ctecoltypes(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypes) - return _add; +inline std::string* LoadStmt::release_filename() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.LoadStmt.filename) + return _impl_.filename_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CommonTableExpr::ctecoltypes() const { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypes) - return _impl_.ctecoltypes_; +inline void LoadStmt::set_allocated_filename(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.filename_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.filename_.IsDefault()) { + _impl_.filename_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.LoadStmt.filename) } -// repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"]; -inline int CommonTableExpr::_internal_ctecoltypmods_size() const { - return _impl_.ctecoltypmods_.size(); -} -inline int CommonTableExpr::ctecoltypmods_size() const { - return _internal_ctecoltypmods_size(); +// ------------------------------------------------------------------- + +// CreatedbStmt + +// string dbname = 1 [json_name = "dbname"]; +inline void CreatedbStmt::clear_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.ClearToEmpty(); } -inline void CommonTableExpr::clear_ctecoltypmods() { - _impl_.ctecoltypmods_.Clear(); +inline const std::string& CreatedbStmt::dbname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatedbStmt.dbname) + return _internal_dbname(); } -inline ::pg_query::Node* CommonTableExpr::mutable_ctecoltypmods(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecoltypmods) - return _impl_.ctecoltypmods_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void CreatedbStmt::set_dbname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreatedbStmt.dbname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CommonTableExpr::mutable_ctecoltypmods() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecoltypmods) - return &_impl_.ctecoltypmods_; +inline std::string* CreatedbStmt::mutable_dbname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_dbname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatedbStmt.dbname) + return _s; } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctecoltypmods(int index) const { - return _impl_.ctecoltypmods_.Get(index); +inline const std::string& CreatedbStmt::_internal_dbname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dbname_.Get(); } -inline const ::pg_query::Node& CommonTableExpr::ctecoltypmods(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecoltypmods) - return _internal_ctecoltypmods(index); +inline void CreatedbStmt::_internal_set_dbname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(value, GetArena()); } -inline ::pg_query::Node* CommonTableExpr::_internal_add_ctecoltypmods() { - return _impl_.ctecoltypmods_.Add(); +inline std::string* CreatedbStmt::_internal_mutable_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.dbname_.Mutable( GetArena()); } -inline ::pg_query::Node* CommonTableExpr::add_ctecoltypmods() { - ::pg_query::Node* _add = _internal_add_ctecoltypmods(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecoltypmods) - return _add; +inline std::string* CreatedbStmt::release_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatedbStmt.dbname) + return _impl_.dbname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CommonTableExpr::ctecoltypmods() const { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecoltypmods) - return _impl_.ctecoltypmods_; +inline void CreatedbStmt::set_allocated_dbname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dbname_.IsDefault()) { + _impl_.dbname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatedbStmt.dbname) } -// repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"]; -inline int CommonTableExpr::_internal_ctecolcollations_size() const { - return _impl_.ctecolcollations_.size(); +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int CreatedbStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int CommonTableExpr::ctecolcollations_size() const { - return _internal_ctecolcollations_size(); +inline int CreatedbStmt::options_size() const { + return _internal_options_size(); } -inline void CommonTableExpr::clear_ctecolcollations() { - _impl_.ctecolcollations_.Clear(); +inline void CreatedbStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* CommonTableExpr::mutable_ctecolcollations(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.CommonTableExpr.ctecolcollations) - return _impl_.ctecolcollations_.Mutable(index); +inline ::pg_query::Node* CreatedbStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatedbStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -CommonTableExpr::mutable_ctecolcollations() { - // @@protoc_insertion_point(field_mutable_list:pg_query.CommonTableExpr.ctecolcollations) - return &_impl_.ctecolcollations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatedbStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatedbStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline const ::pg_query::Node& CommonTableExpr::_internal_ctecolcollations(int index) const { - return _impl_.ctecolcollations_.Get(index); +inline const ::pg_query::Node& CreatedbStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatedbStmt.options) + return _internal_options().Get(index); } -inline const ::pg_query::Node& CommonTableExpr::ctecolcollations(int index) const { - // @@protoc_insertion_point(field_get:pg_query.CommonTableExpr.ctecolcollations) - return _internal_ctecolcollations(index); +inline ::pg_query::Node* CreatedbStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatedbStmt.options) + return _add; } -inline ::pg_query::Node* CommonTableExpr::_internal_add_ctecolcollations() { - return _impl_.ctecolcollations_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatedbStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatedbStmt.options) + return _internal_options(); } -inline ::pg_query::Node* CommonTableExpr::add_ctecolcollations() { - ::pg_query::Node* _add = _internal_add_ctecolcollations(); - // @@protoc_insertion_point(field_add:pg_query.CommonTableExpr.ctecolcollations) - return _add; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatedbStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -CommonTableExpr::ctecolcollations() const { - // @@protoc_insertion_point(field_list:pg_query.CommonTableExpr.ctecolcollations) - return _impl_.ctecolcollations_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatedbStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// MergeWhenClause - -// bool matched = 1 [json_name = "matched"]; -inline void MergeWhenClause::clear_matched() { - _impl_.matched_ = false; -} -inline bool MergeWhenClause::_internal_matched() const { - return _impl_.matched_; -} -inline bool MergeWhenClause::matched() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.matched) - return _internal_matched(); -} -inline void MergeWhenClause::_internal_set_matched(bool value) { - - _impl_.matched_ = value; -} -inline void MergeWhenClause::set_matched(bool value) { - _internal_set_matched(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.matched) -} +// AlterDatabaseStmt -// .pg_query.CmdType command_type = 2 [json_name = "commandType"]; -inline void MergeWhenClause::clear_command_type() { - _impl_.command_type_ = 0; -} -inline ::pg_query::CmdType MergeWhenClause::_internal_command_type() const { - return static_cast< ::pg_query::CmdType >(_impl_.command_type_); +// string dbname = 1 [json_name = "dbname"]; +inline void AlterDatabaseStmt::clear_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.ClearToEmpty(); } -inline ::pg_query::CmdType MergeWhenClause::command_type() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.command_type) - return _internal_command_type(); +inline const std::string& AlterDatabaseStmt::dbname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseStmt.dbname) + return _internal_dbname(); } -inline void MergeWhenClause::_internal_set_command_type(::pg_query::CmdType value) { - - _impl_.command_type_ = value; +template +inline PROTOBUF_ALWAYS_INLINE void AlterDatabaseStmt::set_dbname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseStmt.dbname) } -inline void MergeWhenClause::set_command_type(::pg_query::CmdType value) { - _internal_set_command_type(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.command_type) +inline std::string* AlterDatabaseStmt::mutable_dbname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_dbname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseStmt.dbname) + return _s; } - -// .pg_query.OverridingKind override = 3 [json_name = "override"]; -inline void MergeWhenClause::clear_override() { - _impl_.override_ = 0; +inline const std::string& AlterDatabaseStmt::_internal_dbname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dbname_.Get(); } -inline ::pg_query::OverridingKind MergeWhenClause::_internal_override() const { - return static_cast< ::pg_query::OverridingKind >(_impl_.override_); +inline void AlterDatabaseStmt::_internal_set_dbname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(value, GetArena()); } -inline ::pg_query::OverridingKind MergeWhenClause::override() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.override) - return _internal_override(); +inline std::string* AlterDatabaseStmt::_internal_mutable_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.dbname_.Mutable( GetArena()); } -inline void MergeWhenClause::_internal_set_override(::pg_query::OverridingKind value) { - - _impl_.override_ = value; +inline std::string* AlterDatabaseStmt::release_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseStmt.dbname) + return _impl_.dbname_.Release(); } -inline void MergeWhenClause::set_override(::pg_query::OverridingKind value) { - _internal_set_override(value); - // @@protoc_insertion_point(field_set:pg_query.MergeWhenClause.override) +inline void AlterDatabaseStmt::set_allocated_dbname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dbname_.IsDefault()) { + _impl_.dbname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseStmt.dbname) } -// .pg_query.Node condition = 4 [json_name = "condition"]; -inline bool MergeWhenClause::_internal_has_condition() const { - return this != internal_default_instance() && _impl_.condition_ != nullptr; -} -inline bool MergeWhenClause::has_condition() const { - return _internal_has_condition(); +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterDatabaseStmt::_internal_options_size() const { + return _internal_options().size(); } -inline void MergeWhenClause::clear_condition() { - if (GetArenaForAllocation() == nullptr && _impl_.condition_ != nullptr) { - delete _impl_.condition_; - } - _impl_.condition_ = nullptr; +inline int AlterDatabaseStmt::options_size() const { + return _internal_options_size(); } -inline const ::pg_query::Node& MergeWhenClause::_internal_condition() const { - const ::pg_query::Node* p = _impl_.condition_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline void AlterDatabaseStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline const ::pg_query::Node& MergeWhenClause::condition() const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.condition) - return _internal_condition(); +inline ::pg_query::Node* AlterDatabaseStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void MergeWhenClause::unsafe_arena_set_allocated_condition( - ::pg_query::Node* condition) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.condition_); - } - _impl_.condition_ = condition; - if (condition) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.MergeWhenClause.condition) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterDatabaseStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterDatabaseStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline ::pg_query::Node* MergeWhenClause::release_condition() { - - ::pg_query::Node* temp = _impl_.condition_; - _impl_.condition_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& AlterDatabaseStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseStmt.options) + return _internal_options().Get(index); } -inline ::pg_query::Node* MergeWhenClause::unsafe_arena_release_condition() { - // @@protoc_insertion_point(field_release:pg_query.MergeWhenClause.condition) - - ::pg_query::Node* temp = _impl_.condition_; - _impl_.condition_ = nullptr; - return temp; +inline ::pg_query::Node* AlterDatabaseStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterDatabaseStmt.options) + return _add; } -inline ::pg_query::Node* MergeWhenClause::_internal_mutable_condition() { - - if (_impl_.condition_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.condition_ = p; - } - return _impl_.condition_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterDatabaseStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterDatabaseStmt.options) + return _internal_options(); } -inline ::pg_query::Node* MergeWhenClause::mutable_condition() { - ::pg_query::Node* _msg = _internal_mutable_condition(); - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.condition) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterDatabaseStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void MergeWhenClause::set_allocated_condition(::pg_query::Node* condition) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.condition_; - } - if (condition) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(condition); - if (message_arena != submessage_arena) { - condition = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, condition, submessage_arena); - } - - } else { - - } - _impl_.condition_ = condition; - // @@protoc_insertion_point(field_set_allocated:pg_query.MergeWhenClause.condition) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterDatabaseStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// repeated .pg_query.Node target_list = 5 [json_name = "targetList"]; -inline int MergeWhenClause::_internal_target_list_size() const { - return _impl_.target_list_.size(); -} -inline int MergeWhenClause::target_list_size() const { - return _internal_target_list_size(); -} -inline void MergeWhenClause::clear_target_list() { - _impl_.target_list_.Clear(); -} -inline ::pg_query::Node* MergeWhenClause::mutable_target_list(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.target_list) - return _impl_.target_list_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MergeWhenClause::mutable_target_list() { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.target_list) - return &_impl_.target_list_; -} -inline const ::pg_query::Node& MergeWhenClause::_internal_target_list(int index) const { - return _impl_.target_list_.Get(index); -} -inline const ::pg_query::Node& MergeWhenClause::target_list(int index) const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.target_list) - return _internal_target_list(index); -} -inline ::pg_query::Node* MergeWhenClause::_internal_add_target_list() { - return _impl_.target_list_.Add(); -} -inline ::pg_query::Node* MergeWhenClause::add_target_list() { - ::pg_query::Node* _add = _internal_add_target_list(); - // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.target_list) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MergeWhenClause::target_list() const { - // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.target_list) - return _impl_.target_list_; -} +// ------------------------------------------------------------------- -// repeated .pg_query.Node values = 6 [json_name = "values"]; -inline int MergeWhenClause::_internal_values_size() const { - return _impl_.values_.size(); -} -inline int MergeWhenClause::values_size() const { - return _internal_values_size(); +// AlterDatabaseRefreshCollStmt + +// string dbname = 1 [json_name = "dbname"]; +inline void AlterDatabaseRefreshCollStmt::clear_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.ClearToEmpty(); } -inline void MergeWhenClause::clear_values() { - _impl_.values_.Clear(); +inline const std::string& AlterDatabaseRefreshCollStmt::dbname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseRefreshCollStmt.dbname) + return _internal_dbname(); } -inline ::pg_query::Node* MergeWhenClause::mutable_values(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.MergeWhenClause.values) - return _impl_.values_.Mutable(index); +template +inline PROTOBUF_ALWAYS_INLINE void AlterDatabaseRefreshCollStmt::set_dbname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseRefreshCollStmt.dbname) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -MergeWhenClause::mutable_values() { - // @@protoc_insertion_point(field_mutable_list:pg_query.MergeWhenClause.values) - return &_impl_.values_; +inline std::string* AlterDatabaseRefreshCollStmt::mutable_dbname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_dbname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseRefreshCollStmt.dbname) + return _s; } -inline const ::pg_query::Node& MergeWhenClause::_internal_values(int index) const { - return _impl_.values_.Get(index); +inline const std::string& AlterDatabaseRefreshCollStmt::_internal_dbname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dbname_.Get(); } -inline const ::pg_query::Node& MergeWhenClause::values(int index) const { - // @@protoc_insertion_point(field_get:pg_query.MergeWhenClause.values) - return _internal_values(index); +inline void AlterDatabaseRefreshCollStmt::_internal_set_dbname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(value, GetArena()); } -inline ::pg_query::Node* MergeWhenClause::_internal_add_values() { - return _impl_.values_.Add(); +inline std::string* AlterDatabaseRefreshCollStmt::_internal_mutable_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.dbname_.Mutable( GetArena()); } -inline ::pg_query::Node* MergeWhenClause::add_values() { - ::pg_query::Node* _add = _internal_add_values(); - // @@protoc_insertion_point(field_add:pg_query.MergeWhenClause.values) - return _add; +inline std::string* AlterDatabaseRefreshCollStmt::release_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseRefreshCollStmt.dbname) + return _impl_.dbname_.Release(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -MergeWhenClause::values() const { - // @@protoc_insertion_point(field_list:pg_query.MergeWhenClause.values) - return _impl_.values_; +inline void AlterDatabaseRefreshCollStmt::set_allocated_dbname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dbname_.IsDefault()) { + _impl_.dbname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseRefreshCollStmt.dbname) } // ------------------------------------------------------------------- -// RoleSpec +// AlterDatabaseSetStmt -// .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"]; -inline void RoleSpec::clear_roletype() { - _impl_.roletype_ = 0; +// string dbname = 1 [json_name = "dbname"]; +inline void AlterDatabaseSetStmt::clear_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.ClearToEmpty(); } -inline ::pg_query::RoleSpecType RoleSpec::_internal_roletype() const { - return static_cast< ::pg_query::RoleSpecType >(_impl_.roletype_); +inline const std::string& AlterDatabaseSetStmt::dbname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseSetStmt.dbname) + return _internal_dbname(); } -inline ::pg_query::RoleSpecType RoleSpec::roletype() const { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.roletype) - return _internal_roletype(); +template +inline PROTOBUF_ALWAYS_INLINE void AlterDatabaseSetStmt::set_dbname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterDatabaseSetStmt.dbname) } -inline void RoleSpec::_internal_set_roletype(::pg_query::RoleSpecType value) { - - _impl_.roletype_ = value; +inline std::string* AlterDatabaseSetStmt::mutable_dbname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_dbname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseSetStmt.dbname) + return _s; } -inline void RoleSpec::set_roletype(::pg_query::RoleSpecType value) { - _internal_set_roletype(value); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.roletype) +inline const std::string& AlterDatabaseSetStmt::_internal_dbname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dbname_.Get(); } - -// string rolename = 2 [json_name = "rolename"]; -inline void RoleSpec::clear_rolename() { - _impl_.rolename_.ClearToEmpty(); +inline void AlterDatabaseSetStmt::_internal_set_dbname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(value, GetArena()); } -inline const std::string& RoleSpec::rolename() const { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.rolename) - return _internal_rolename(); +inline std::string* AlterDatabaseSetStmt::_internal_mutable_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.dbname_.Mutable( GetArena()); } -template -inline PROTOBUF_ALWAYS_INLINE -void RoleSpec::set_rolename(ArgT0&& arg0, ArgT... args) { - - _impl_.rolename_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.rolename) +inline std::string* AlterDatabaseSetStmt::release_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseSetStmt.dbname) + return _impl_.dbname_.Release(); } -inline std::string* RoleSpec::mutable_rolename() { - std::string* _s = _internal_mutable_rolename(); - // @@protoc_insertion_point(field_mutable:pg_query.RoleSpec.rolename) - return _s; +inline void AlterDatabaseSetStmt::set_allocated_dbname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dbname_.IsDefault()) { + _impl_.dbname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseSetStmt.dbname) } -inline const std::string& RoleSpec::_internal_rolename() const { - return _impl_.rolename_.Get(); + +// .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"]; +inline bool AlterDatabaseSetStmt::has_setstmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.setstmt_ != nullptr); + return value; } -inline void RoleSpec::_internal_set_rolename(const std::string& value) { - - _impl_.rolename_.Set(value, GetArenaForAllocation()); +inline void AlterDatabaseSetStmt::clear_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.setstmt_ != nullptr) _impl_.setstmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* RoleSpec::_internal_mutable_rolename() { - - return _impl_.rolename_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::VariableSetStmt& AlterDatabaseSetStmt::_internal_setstmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_VariableSetStmt_default_instance_); } -inline std::string* RoleSpec::release_rolename() { - // @@protoc_insertion_point(field_release:pg_query.RoleSpec.rolename) - return _impl_.rolename_.Release(); +inline const ::pg_query::VariableSetStmt& AlterDatabaseSetStmt::setstmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterDatabaseSetStmt.setstmt) + return _internal_setstmt(); } -inline void RoleSpec::set_allocated_rolename(std::string* rolename) { - if (rolename != nullptr) { - - } else { - +inline void AlterDatabaseSetStmt::unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.setstmt_); } - _impl_.rolename_.SetAllocated(rolename, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.rolename_.IsDefault()) { - _impl_.rolename_.Set("", GetArenaForAllocation()); + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.RoleSpec.rolename) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterDatabaseSetStmt.setstmt) } +inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 location = 3 [json_name = "location"]; -inline void RoleSpec::clear_location() { - _impl_.location_ = 0; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::VariableSetStmt* released = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t RoleSpec::_internal_location() const { - return _impl_.location_; +inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::unsafe_arena_release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterDatabaseSetStmt.setstmt) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; + return temp; } -inline int32_t RoleSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.RoleSpec.location) - return _internal_location(); +inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::_internal_mutable_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.setstmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(p); + } + return _impl_.setstmt_; } -inline void RoleSpec::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::VariableSetStmt* AlterDatabaseSetStmt::mutable_setstmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterDatabaseSetStmt.setstmt) + return _msg; } -inline void RoleSpec::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.RoleSpec.location) +inline void AlterDatabaseSetStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::VariableSetStmt*>(_impl_.setstmt_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::VariableSetStmt*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterDatabaseSetStmt.setstmt) } // ------------------------------------------------------------------- -// TriggerTransition +// DropdbStmt -// string name = 1 [json_name = "name"]; -inline void TriggerTransition::clear_name() { - _impl_.name_.ClearToEmpty(); +// string dbname = 1 [json_name = "dbname"]; +inline void DropdbStmt::clear_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.ClearToEmpty(); } -inline const std::string& TriggerTransition::name() const { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.name) - return _internal_name(); +inline const std::string& DropdbStmt::dbname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.dbname) + return _internal_dbname(); } -template -inline PROTOBUF_ALWAYS_INLINE -void TriggerTransition::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.name) +template +inline PROTOBUF_ALWAYS_INLINE void DropdbStmt::set_dbname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DropdbStmt.dbname) } -inline std::string* TriggerTransition::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.TriggerTransition.name) +inline std::string* DropdbStmt::mutable_dbname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_dbname(); + // @@protoc_insertion_point(field_mutable:pg_query.DropdbStmt.dbname) return _s; } -inline const std::string& TriggerTransition::_internal_name() const { - return _impl_.name_.Get(); +inline const std::string& DropdbStmt::_internal_dbname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dbname_.Get(); } -inline void TriggerTransition::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void DropdbStmt::_internal_set_dbname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.dbname_.Set(value, GetArena()); } -inline std::string* TriggerTransition::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* DropdbStmt::_internal_mutable_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.dbname_.Mutable( GetArena()); } -inline std::string* TriggerTransition::release_name() { - // @@protoc_insertion_point(field_release:pg_query.TriggerTransition.name) - return _impl_.name_.Release(); +inline std::string* DropdbStmt::release_dbname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DropdbStmt.dbname) + return _impl_.dbname_.Release(); } -inline void TriggerTransition::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.TriggerTransition.name) +inline void DropdbStmt::set_allocated_dbname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dbname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.dbname_.IsDefault()) { + _impl_.dbname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DropdbStmt.dbname) } -// bool is_new = 2 [json_name = "isNew"]; -inline void TriggerTransition::clear_is_new() { - _impl_.is_new_ = false; +// bool missing_ok = 2 [json_name = "missing_ok"]; +inline void DropdbStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; } -inline bool TriggerTransition::_internal_is_new() const { - return _impl_.is_new_; +inline bool DropdbStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.missing_ok) + return _internal_missing_ok(); } -inline bool TriggerTransition::is_new() const { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_new) - return _internal_is_new(); +inline void DropdbStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropdbStmt.missing_ok) } -inline void TriggerTransition::_internal_set_is_new(bool value) { - - _impl_.is_new_ = value; +inline bool DropdbStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; } -inline void TriggerTransition::set_is_new(bool value) { - _internal_set_is_new(value); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_new) +inline void DropdbStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; } -// bool is_table = 3 [json_name = "isTable"]; -inline void TriggerTransition::clear_is_table() { - _impl_.is_table_ = false; +// repeated .pg_query.Node options = 3 [json_name = "options"]; +inline int DropdbStmt::_internal_options_size() const { + return _internal_options().size(); } -inline bool TriggerTransition::_internal_is_table() const { - return _impl_.is_table_; +inline int DropdbStmt::options_size() const { + return _internal_options_size(); } -inline bool TriggerTransition::is_table() const { - // @@protoc_insertion_point(field_get:pg_query.TriggerTransition.is_table) - return _internal_is_table(); +inline void DropdbStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void TriggerTransition::_internal_set_is_table(bool value) { - - _impl_.is_table_ = value; +inline ::pg_query::Node* DropdbStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DropdbStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void TriggerTransition::set_is_table(bool value) { - _internal_set_is_table(value); - // @@protoc_insertion_point(field_set:pg_query.TriggerTransition.is_table) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DropdbStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DropdbStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& DropdbStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropdbStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* DropdbStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DropdbStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DropdbStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DropdbStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DropdbStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DropdbStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } // ------------------------------------------------------------------- -// PartitionElem +// AlterSystemStmt -// string name = 1 [json_name = "name"]; -inline void PartitionElem::clear_name() { - _impl_.name_.ClearToEmpty(); +// .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"]; +inline bool AlterSystemStmt::has_setstmt() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.setstmt_ != nullptr); + return value; } -inline const std::string& PartitionElem::name() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.name) - return _internal_name(); +inline void AlterSystemStmt::clear_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.setstmt_ != nullptr) _impl_.setstmt_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void PartitionElem::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PartitionElem.name) +inline const ::pg_query::VariableSetStmt& AlterSystemStmt::_internal_setstmt() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::VariableSetStmt* p = _impl_.setstmt_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_VariableSetStmt_default_instance_); } -inline std::string* PartitionElem::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.name) - return _s; +inline const ::pg_query::VariableSetStmt& AlterSystemStmt::setstmt() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSystemStmt.setstmt) + return _internal_setstmt(); } -inline const std::string& PartitionElem::_internal_name() const { - return _impl_.name_.Get(); +inline void AlterSystemStmt::unsafe_arena_set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.setstmt_); + } + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.AlterSystemStmt.setstmt) } -inline void PartitionElem::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline ::pg_query::VariableSetStmt* AlterSystemStmt::release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::VariableSetStmt* released = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline std::string* PartitionElem::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline ::pg_query::VariableSetStmt* AlterSystemStmt::unsafe_arena_release_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterSystemStmt.setstmt) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::VariableSetStmt* temp = _impl_.setstmt_; + _impl_.setstmt_ = nullptr; + return temp; } -inline std::string* PartitionElem::release_name() { - // @@protoc_insertion_point(field_release:pg_query.PartitionElem.name) - return _impl_.name_.Release(); +inline ::pg_query::VariableSetStmt* AlterSystemStmt::_internal_mutable_setstmt() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.setstmt_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::VariableSetStmt>(GetArena()); + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(p); + } + return _impl_.setstmt_; } -inline void PartitionElem::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - +inline ::pg_query::VariableSetStmt* AlterSystemStmt::mutable_setstmt() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::VariableSetStmt* _msg = _internal_mutable_setstmt(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterSystemStmt.setstmt) + return _msg; +} +inline void AlterSystemStmt::set_allocated_setstmt(::pg_query::VariableSetStmt* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::VariableSetStmt*>(_impl_.setstmt_); } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::VariableSetStmt*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.name) -} -// .pg_query.Node expr = 2 [json_name = "expr"]; -inline bool PartitionElem::_internal_has_expr() const { - return this != internal_default_instance() && _impl_.expr_ != nullptr; + _impl_.setstmt_ = reinterpret_cast<::pg_query::VariableSetStmt*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSystemStmt.setstmt) } -inline bool PartitionElem::has_expr() const { - return _internal_has_expr(); + +// ------------------------------------------------------------------- + +// ClusterStmt + +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool ClusterStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline void PartitionElem::clear_expr() { - if (GetArenaForAllocation() == nullptr && _impl_.expr_ != nullptr) { - delete _impl_.expr_; - } - _impl_.expr_ = nullptr; +inline void ClusterStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::Node& PartitionElem::_internal_expr() const { - const ::pg_query::Node* p = _impl_.expr_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::RangeVar& ClusterStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::Node& PartitionElem::expr() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.expr) - return _internal_expr(); +inline const ::pg_query::RangeVar& ClusterStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.relation) + return _internal_relation(); } -inline void PartitionElem::unsafe_arena_set_allocated_expr( - ::pg_query::Node* expr) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.expr_); +inline void ClusterStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.expr_ = expr; - if (expr) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionElem.expr) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ClusterStmt.relation) } -inline ::pg_query::Node* PartitionElem::release_expr() { - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RangeVar* ClusterStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* PartitionElem::unsafe_arena_release_expr() { - // @@protoc_insertion_point(field_release:pg_query.PartitionElem.expr) - - ::pg_query::Node* temp = _impl_.expr_; - _impl_.expr_ = nullptr; +inline ::pg_query::RangeVar* ClusterStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ClusterStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Node* PartitionElem::_internal_mutable_expr() { - - if (_impl_.expr_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.expr_ = p; +inline ::pg_query::RangeVar* ClusterStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.expr_; + return _impl_.relation_; } -inline ::pg_query::Node* PartitionElem::mutable_expr() { - ::pg_query::Node* _msg = _internal_mutable_expr(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.expr) +inline ::pg_query::RangeVar* ClusterStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.relation) return _msg; } -inline void PartitionElem::set_allocated_expr(::pg_query::Node* expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ClusterStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.expr_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (expr) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(expr); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - expr = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, expr, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.expr_ = expr; - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionElem.expr) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ClusterStmt.relation) } -// repeated .pg_query.Node collation = 3 [json_name = "collation"]; -inline int PartitionElem::_internal_collation_size() const { - return _impl_.collation_.size(); +// string indexname = 2 [json_name = "indexname"]; +inline void ClusterStmt::clear_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexname_.ClearToEmpty(); } -inline int PartitionElem::collation_size() const { - return _internal_collation_size(); +inline const std::string& ClusterStmt::indexname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.indexname) + return _internal_indexname(); } -inline void PartitionElem::clear_collation() { - _impl_.collation_.Clear(); +template +inline PROTOBUF_ALWAYS_INLINE void ClusterStmt::set_indexname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ClusterStmt.indexname) } -inline ::pg_query::Node* PartitionElem::mutable_collation(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.collation) - return _impl_.collation_.Mutable(index); +inline std::string* ClusterStmt::mutable_indexname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_indexname(); + // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.indexname) + return _s; } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionElem::mutable_collation() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.collation) - return &_impl_.collation_; +inline const std::string& ClusterStmt::_internal_indexname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.indexname_.Get(); } -inline const ::pg_query::Node& PartitionElem::_internal_collation(int index) const { - return _impl_.collation_.Get(index); +inline void ClusterStmt::_internal_set_indexname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.indexname_.Set(value, GetArena()); } -inline const ::pg_query::Node& PartitionElem::collation(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.collation) - return _internal_collation(index); +inline std::string* ClusterStmt::_internal_mutable_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.indexname_.Mutable( GetArena()); } -inline ::pg_query::Node* PartitionElem::_internal_add_collation() { - return _impl_.collation_.Add(); +inline std::string* ClusterStmt::release_indexname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ClusterStmt.indexname) + return _impl_.indexname_.Release(); } -inline ::pg_query::Node* PartitionElem::add_collation() { - ::pg_query::Node* _add = _internal_add_collation(); - // @@protoc_insertion_point(field_add:pg_query.PartitionElem.collation) +inline void ClusterStmt::set_allocated_indexname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.indexname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.indexname_.IsDefault()) { + _impl_.indexname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ClusterStmt.indexname) +} + +// repeated .pg_query.Node params = 3 [json_name = "params"]; +inline int ClusterStmt::_internal_params_size() const { + return _internal_params().size(); +} +inline int ClusterStmt::params_size() const { + return _internal_params_size(); +} +inline void ClusterStmt::clear_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.params_.Clear(); +} +inline ::pg_query::Node* ClusterStmt::mutable_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ClusterStmt.params) + return _internal_mutable_params()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ClusterStmt::mutable_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ClusterStmt.params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_params(); +} +inline const ::pg_query::Node& ClusterStmt::params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ClusterStmt.params) + return _internal_params().Get(index); +} +inline ::pg_query::Node* ClusterStmt::add_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ClusterStmt.params) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionElem::collation() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionElem.collation) - return _impl_.collation_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ClusterStmt::params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ClusterStmt.params) + return _internal_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ClusterStmt::_internal_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ClusterStmt::_internal_mutable_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.params_; } -// repeated .pg_query.Node opclass = 4 [json_name = "opclass"]; -inline int PartitionElem::_internal_opclass_size() const { - return _impl_.opclass_.size(); +// ------------------------------------------------------------------- + +// VacuumStmt + +// repeated .pg_query.Node options = 1 [json_name = "options"]; +inline int VacuumStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int PartitionElem::opclass_size() const { - return _internal_opclass_size(); +inline int VacuumStmt::options_size() const { + return _internal_options_size(); } -inline void PartitionElem::clear_opclass() { - _impl_.opclass_.Clear(); +inline void VacuumStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline ::pg_query::Node* PartitionElem::mutable_opclass(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionElem.opclass) - return _impl_.opclass_.Mutable(index); +inline ::pg_query::Node* VacuumStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.VacuumStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionElem::mutable_opclass() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionElem.opclass) - return &_impl_.opclass_; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* VacuumStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } -inline const ::pg_query::Node& PartitionElem::_internal_opclass(int index) const { - return _impl_.opclass_.Get(index); +inline const ::pg_query::Node& VacuumStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.options) + return _internal_options().Get(index); } -inline const ::pg_query::Node& PartitionElem::opclass(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.opclass) - return _internal_opclass(index); +inline ::pg_query::Node* VacuumStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.VacuumStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& VacuumStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.VacuumStmt.options) + return _internal_options(); } -inline ::pg_query::Node* PartitionElem::_internal_add_opclass() { - return _impl_.opclass_.Add(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +VacuumStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline ::pg_query::Node* PartitionElem::add_opclass() { - ::pg_query::Node* _add = _internal_add_opclass(); - // @@protoc_insertion_point(field_add:pg_query.PartitionElem.opclass) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +VacuumStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} + +// repeated .pg_query.Node rels = 2 [json_name = "rels"]; +inline int VacuumStmt::_internal_rels_size() const { + return _internal_rels().size(); +} +inline int VacuumStmt::rels_size() const { + return _internal_rels_size(); +} +inline void VacuumStmt::clear_rels() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.rels_.Clear(); +} +inline ::pg_query::Node* VacuumStmt::mutable_rels(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.VacuumStmt.rels) + return _internal_mutable_rels()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* VacuumStmt::mutable_rels() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumStmt.rels) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_rels(); +} +inline const ::pg_query::Node& VacuumStmt::rels(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.rels) + return _internal_rels().Get(index); +} +inline ::pg_query::Node* VacuumStmt::add_rels() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_rels()->Add(); + // @@protoc_insertion_point(field_add:pg_query.VacuumStmt.rels) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionElem::opclass() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionElem.opclass) - return _impl_.opclass_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& VacuumStmt::rels() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.VacuumStmt.rels) + return _internal_rels(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +VacuumStmt::_internal_rels() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.rels_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +VacuumStmt::_internal_mutable_rels() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.rels_; } -// int32 location = 5 [json_name = "location"]; -inline void PartitionElem::clear_location() { - _impl_.location_ = 0; +// bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"]; +inline void VacuumStmt::clear_is_vacuumcmd() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_vacuumcmd_ = false; } -inline int32_t PartitionElem::_internal_location() const { - return _impl_.location_; +inline bool VacuumStmt::is_vacuumcmd() const { + // @@protoc_insertion_point(field_get:pg_query.VacuumStmt.is_vacuumcmd) + return _internal_is_vacuumcmd(); } -inline int32_t PartitionElem::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionElem.location) - return _internal_location(); +inline void VacuumStmt::set_is_vacuumcmd(bool value) { + _internal_set_is_vacuumcmd(value); + // @@protoc_insertion_point(field_set:pg_query.VacuumStmt.is_vacuumcmd) } -inline void PartitionElem::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool VacuumStmt::_internal_is_vacuumcmd() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_vacuumcmd_; } -inline void PartitionElem::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionElem.location) +inline void VacuumStmt::_internal_set_is_vacuumcmd(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_vacuumcmd_ = value; } // ------------------------------------------------------------------- -// PartitionSpec +// VacuumRelation -// string strategy = 1 [json_name = "strategy"]; -inline void PartitionSpec::clear_strategy() { - _impl_.strategy_.ClearToEmpty(); +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool VacuumRelation::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; } -inline const std::string& PartitionSpec::strategy() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.strategy) - return _internal_strategy(); +inline void VacuumRelation::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -template -inline PROTOBUF_ALWAYS_INLINE -void PartitionSpec::set_strategy(ArgT0&& arg0, ArgT... args) { - - _impl_.strategy_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.strategy) +inline const ::pg_query::RangeVar& VacuumRelation::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline std::string* PartitionSpec::mutable_strategy() { - std::string* _s = _internal_mutable_strategy(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionSpec.strategy) - return _s; +inline const ::pg_query::RangeVar& VacuumRelation::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.relation) + return _internal_relation(); } -inline const std::string& PartitionSpec::_internal_strategy() const { - return _impl_.strategy_.Get(); +inline void VacuumRelation::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.VacuumRelation.relation) +} +inline ::pg_query::RangeVar* VacuumRelation::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline void PartitionSpec::_internal_set_strategy(const std::string& value) { - - _impl_.strategy_.Set(value, GetArenaForAllocation()); +inline ::pg_query::RangeVar* VacuumRelation::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.VacuumRelation.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; } -inline std::string* PartitionSpec::_internal_mutable_strategy() { - - return _impl_.strategy_.Mutable(GetArenaForAllocation()); +inline ::pg_query::RangeVar* VacuumRelation::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; } -inline std::string* PartitionSpec::release_strategy() { - // @@protoc_insertion_point(field_release:pg_query.PartitionSpec.strategy) - return _impl_.strategy_.Release(); +inline ::pg_query::RangeVar* VacuumRelation::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.VacuumRelation.relation) + return _msg; } -inline void PartitionSpec::set_allocated_strategy(std::string* strategy) { - if (strategy != nullptr) { - - } else { - +inline void VacuumRelation::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - _impl_.strategy_.SetAllocated(strategy, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.strategy_.IsDefault()) { - _impl_.strategy_.Set("", GetArenaForAllocation()); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionSpec.strategy) -} -// repeated .pg_query.Node part_params = 2 [json_name = "partParams"]; -inline int PartitionSpec::_internal_part_params_size() const { - return _impl_.part_params_.size(); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.VacuumRelation.relation) } -inline int PartitionSpec::part_params_size() const { - return _internal_part_params_size(); + +// uint32 oid = 2 [json_name = "oid"]; +inline void VacuumRelation::clear_oid() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.oid_ = 0u; } -inline void PartitionSpec::clear_part_params() { - _impl_.part_params_.Clear(); +inline ::uint32_t VacuumRelation::oid() const { + // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.oid) + return _internal_oid(); } -inline ::pg_query::Node* PartitionSpec::mutable_part_params(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionSpec.part_params) - return _impl_.part_params_.Mutable(index); +inline void VacuumRelation::set_oid(::uint32_t value) { + _internal_set_oid(value); + // @@protoc_insertion_point(field_set:pg_query.VacuumRelation.oid) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionSpec::mutable_part_params() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionSpec.part_params) - return &_impl_.part_params_; +inline ::uint32_t VacuumRelation::_internal_oid() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.oid_; } -inline const ::pg_query::Node& PartitionSpec::_internal_part_params(int index) const { - return _impl_.part_params_.Get(index); +inline void VacuumRelation::_internal_set_oid(::uint32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.oid_ = value; } -inline const ::pg_query::Node& PartitionSpec::part_params(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.part_params) - return _internal_part_params(index); + +// repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; +inline int VacuumRelation::_internal_va_cols_size() const { + return _internal_va_cols().size(); } -inline ::pg_query::Node* PartitionSpec::_internal_add_part_params() { - return _impl_.part_params_.Add(); +inline int VacuumRelation::va_cols_size() const { + return _internal_va_cols_size(); } -inline ::pg_query::Node* PartitionSpec::add_part_params() { - ::pg_query::Node* _add = _internal_add_part_params(); - // @@protoc_insertion_point(field_add:pg_query.PartitionSpec.part_params) - return _add; +inline void VacuumRelation::clear_va_cols() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.va_cols_.Clear(); } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionSpec::part_params() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionSpec.part_params) - return _impl_.part_params_; +inline ::pg_query::Node* VacuumRelation::mutable_va_cols(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.VacuumRelation.va_cols) + return _internal_mutable_va_cols()->Mutable(index); } - -// int32 location = 3 [json_name = "location"]; -inline void PartitionSpec::clear_location() { - _impl_.location_ = 0; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* VacuumRelation::mutable_va_cols() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumRelation.va_cols) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_va_cols(); } -inline int32_t PartitionSpec::_internal_location() const { - return _impl_.location_; +inline const ::pg_query::Node& VacuumRelation::va_cols(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.va_cols) + return _internal_va_cols().Get(index); } -inline int32_t PartitionSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionSpec.location) - return _internal_location(); +inline ::pg_query::Node* VacuumRelation::add_va_cols() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_va_cols()->Add(); + // @@protoc_insertion_point(field_add:pg_query.VacuumRelation.va_cols) + return _add; } -inline void PartitionSpec::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& VacuumRelation::va_cols() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.VacuumRelation.va_cols) + return _internal_va_cols(); } -inline void PartitionSpec::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionSpec.location) +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +VacuumRelation::_internal_va_cols() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.va_cols_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +VacuumRelation::_internal_mutable_va_cols() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.va_cols_; } // ------------------------------------------------------------------- -// PartitionBoundSpec +// ExplainStmt -// string strategy = 1 [json_name = "strategy"]; -inline void PartitionBoundSpec::clear_strategy() { - _impl_.strategy_.ClearToEmpty(); -} -inline const std::string& PartitionBoundSpec::strategy() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.strategy) - return _internal_strategy(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void PartitionBoundSpec::set_strategy(ArgT0&& arg0, ArgT... args) { - - _impl_.strategy_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.strategy) -} -inline std::string* PartitionBoundSpec::mutable_strategy() { - std::string* _s = _internal_mutable_strategy(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.strategy) - return _s; -} -inline const std::string& PartitionBoundSpec::_internal_strategy() const { - return _impl_.strategy_.Get(); +// .pg_query.Node query = 1 [json_name = "query"]; +inline bool ExplainStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; } -inline void PartitionBoundSpec::_internal_set_strategy(const std::string& value) { - - _impl_.strategy_.Set(value, GetArenaForAllocation()); +inline void ExplainStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline std::string* PartitionBoundSpec::_internal_mutable_strategy() { - - return _impl_.strategy_.Mutable(GetArenaForAllocation()); +inline const ::pg_query::Node& ExplainStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline std::string* PartitionBoundSpec::release_strategy() { - // @@protoc_insertion_point(field_release:pg_query.PartitionBoundSpec.strategy) - return _impl_.strategy_.Release(); +inline const ::pg_query::Node& ExplainStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ExplainStmt.query) + return _internal_query(); } -inline void PartitionBoundSpec::set_allocated_strategy(std::string* strategy) { - if (strategy != nullptr) { - - } else { - +inline void ExplainStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); } - _impl_.strategy_.SetAllocated(strategy, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.strategy_.IsDefault()) { - _impl_.strategy_.Set("", GetArenaForAllocation()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionBoundSpec.strategy) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ExplainStmt.query) } +inline ::pg_query::Node* ExplainStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// bool is_default = 2 [json_name = "is_default"]; -inline void PartitionBoundSpec::clear_is_default() { - _impl_.is_default_ = false; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline bool PartitionBoundSpec::_internal_is_default() const { - return _impl_.is_default_; +inline ::pg_query::Node* ExplainStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ExplainStmt.query) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; + return temp; } -inline bool PartitionBoundSpec::is_default() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.is_default) - return _internal_is_default(); +inline ::pg_query::Node* ExplainStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.query_; } -inline void PartitionBoundSpec::_internal_set_is_default(bool value) { - - _impl_.is_default_ = value; +inline ::pg_query::Node* ExplainStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.ExplainStmt.query) + return _msg; } -inline void PartitionBoundSpec::set_is_default(bool value) { - _internal_set_is_default(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.is_default) +inline void ExplainStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ExplainStmt.query) } -// int32 modulus = 3 [json_name = "modulus"]; -inline void PartitionBoundSpec::clear_modulus() { - _impl_.modulus_ = 0; +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int ExplainStmt::_internal_options_size() const { + return _internal_options().size(); } -inline int32_t PartitionBoundSpec::_internal_modulus() const { - return _impl_.modulus_; +inline int ExplainStmt::options_size() const { + return _internal_options_size(); } -inline int32_t PartitionBoundSpec::modulus() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.modulus) - return _internal_modulus(); +inline void ExplainStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); } -inline void PartitionBoundSpec::_internal_set_modulus(int32_t value) { - - _impl_.modulus_ = value; +inline ::pg_query::Node* ExplainStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ExplainStmt.options) + return _internal_mutable_options()->Mutable(index); } -inline void PartitionBoundSpec::set_modulus(int32_t value) { - _internal_set_modulus(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.modulus) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ExplainStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ExplainStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); } - -// int32 remainder = 4 [json_name = "remainder"]; -inline void PartitionBoundSpec::clear_remainder() { - _impl_.remainder_ = 0; +inline const ::pg_query::Node& ExplainStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ExplainStmt.options) + return _internal_options().Get(index); } -inline int32_t PartitionBoundSpec::_internal_remainder() const { - return _impl_.remainder_; +inline ::pg_query::Node* ExplainStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ExplainStmt.options) + return _add; } -inline int32_t PartitionBoundSpec::remainder() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.remainder) - return _internal_remainder(); +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ExplainStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ExplainStmt.options) + return _internal_options(); } -inline void PartitionBoundSpec::_internal_set_remainder(int32_t value) { - - _impl_.remainder_ = value; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ExplainStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; } -inline void PartitionBoundSpec::set_remainder(int32_t value) { - _internal_set_remainder(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.remainder) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ExplainStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; } -// repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"]; -inline int PartitionBoundSpec::_internal_listdatums_size() const { - return _impl_.listdatums_.size(); +// ------------------------------------------------------------------- + +// CreateTableAsStmt + +// .pg_query.Node query = 1 [json_name = "query"]; +inline bool CreateTableAsStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; } -inline int PartitionBoundSpec::listdatums_size() const { - return _internal_listdatums_size(); +inline void CreateTableAsStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline void PartitionBoundSpec::clear_listdatums() { - _impl_.listdatums_.Clear(); +inline const ::pg_query::Node& CreateTableAsStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); } -inline ::pg_query::Node* PartitionBoundSpec::mutable_listdatums(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.listdatums) - return _impl_.listdatums_.Mutable(index); +inline const ::pg_query::Node& CreateTableAsStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.query) + return _internal_query(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionBoundSpec::mutable_listdatums() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.listdatums) - return &_impl_.listdatums_; +inline void CreateTableAsStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); + } + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableAsStmt.query) } -inline const ::pg_query::Node& PartitionBoundSpec::_internal_listdatums(int index) const { - return _impl_.listdatums_.Get(index); +inline ::pg_query::Node* CreateTableAsStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& PartitionBoundSpec::listdatums(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.listdatums) - return _internal_listdatums(index); +inline ::pg_query::Node* CreateTableAsStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTableAsStmt.query) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; + return temp; } -inline ::pg_query::Node* PartitionBoundSpec::_internal_add_listdatums() { - return _impl_.listdatums_.Add(); +inline ::pg_query::Node* CreateTableAsStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.query_; } -inline ::pg_query::Node* PartitionBoundSpec::add_listdatums() { - ::pg_query::Node* _add = _internal_add_listdatums(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.listdatums) - return _add; +inline ::pg_query::Node* CreateTableAsStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableAsStmt.query) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionBoundSpec::listdatums() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.listdatums) - return _impl_.listdatums_; +inline void CreateTableAsStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableAsStmt.query) } -// repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"]; -inline int PartitionBoundSpec::_internal_lowerdatums_size() const { - return _impl_.lowerdatums_.size(); +// .pg_query.IntoClause into = 2 [json_name = "into"]; +inline bool CreateTableAsStmt::has_into() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.into_ != nullptr); + return value; } -inline int PartitionBoundSpec::lowerdatums_size() const { - return _internal_lowerdatums_size(); +inline void CreateTableAsStmt::clear_into() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.into_ != nullptr) _impl_.into_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline void PartitionBoundSpec::clear_lowerdatums() { - _impl_.lowerdatums_.Clear(); +inline const ::pg_query::IntoClause& CreateTableAsStmt::_internal_into() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::IntoClause* p = _impl_.into_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_IntoClause_default_instance_); } -inline ::pg_query::Node* PartitionBoundSpec::mutable_lowerdatums(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.lowerdatums) - return _impl_.lowerdatums_.Mutable(index); +inline const ::pg_query::IntoClause& CreateTableAsStmt::into() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.into) + return _internal_into(); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionBoundSpec::mutable_lowerdatums() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.lowerdatums) - return &_impl_.lowerdatums_; +inline void CreateTableAsStmt::unsafe_arena_set_allocated_into(::pg_query::IntoClause* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.into_); + } + _impl_.into_ = reinterpret_cast<::pg_query::IntoClause*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTableAsStmt.into) } -inline const ::pg_query::Node& PartitionBoundSpec::_internal_lowerdatums(int index) const { - return _impl_.lowerdatums_.Get(index); +inline ::pg_query::IntoClause* CreateTableAsStmt::release_into() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::IntoClause* released = _impl_.into_; + _impl_.into_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline const ::pg_query::Node& PartitionBoundSpec::lowerdatums(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.lowerdatums) - return _internal_lowerdatums(index); +inline ::pg_query::IntoClause* CreateTableAsStmt::unsafe_arena_release_into() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTableAsStmt.into) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::IntoClause* temp = _impl_.into_; + _impl_.into_ = nullptr; + return temp; } -inline ::pg_query::Node* PartitionBoundSpec::_internal_add_lowerdatums() { - return _impl_.lowerdatums_.Add(); +inline ::pg_query::IntoClause* CreateTableAsStmt::_internal_mutable_into() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.into_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::IntoClause>(GetArena()); + _impl_.into_ = reinterpret_cast<::pg_query::IntoClause*>(p); + } + return _impl_.into_; } -inline ::pg_query::Node* PartitionBoundSpec::add_lowerdatums() { - ::pg_query::Node* _add = _internal_add_lowerdatums(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.lowerdatums) - return _add; +inline ::pg_query::IntoClause* CreateTableAsStmt::mutable_into() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::IntoClause* _msg = _internal_mutable_into(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTableAsStmt.into) + return _msg; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionBoundSpec::lowerdatums() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.lowerdatums) - return _impl_.lowerdatums_; +inline void CreateTableAsStmt::set_allocated_into(::pg_query::IntoClause* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::IntoClause*>(_impl_.into_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::IntoClause*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.into_ = reinterpret_cast<::pg_query::IntoClause*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTableAsStmt.into) } -// repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"]; -inline int PartitionBoundSpec::_internal_upperdatums_size() const { - return _impl_.upperdatums_.size(); +// .pg_query.ObjectType objtype = 3 [json_name = "objtype"]; +inline void CreateTableAsStmt::clear_objtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.objtype_ = 0; } -inline int PartitionBoundSpec::upperdatums_size() const { - return _internal_upperdatums_size(); +inline ::pg_query::ObjectType CreateTableAsStmt::objtype() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.objtype) + return _internal_objtype(); } -inline void PartitionBoundSpec::clear_upperdatums() { - _impl_.upperdatums_.Clear(); +inline void CreateTableAsStmt::set_objtype(::pg_query::ObjectType value) { + _internal_set_objtype(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.objtype) } -inline ::pg_query::Node* PartitionBoundSpec::mutable_upperdatums(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PartitionBoundSpec.upperdatums) - return _impl_.upperdatums_.Mutable(index); +inline ::pg_query::ObjectType CreateTableAsStmt::_internal_objtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ObjectType>(_impl_.objtype_); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PartitionBoundSpec::mutable_upperdatums() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PartitionBoundSpec.upperdatums) - return &_impl_.upperdatums_; +inline void CreateTableAsStmt::_internal_set_objtype(::pg_query::ObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.objtype_ = value; } -inline const ::pg_query::Node& PartitionBoundSpec::_internal_upperdatums(int index) const { - return _impl_.upperdatums_.Get(index); + +// bool is_select_into = 4 [json_name = "is_select_into"]; +inline void CreateTableAsStmt::clear_is_select_into() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.is_select_into_ = false; } -inline const ::pg_query::Node& PartitionBoundSpec::upperdatums(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.upperdatums) - return _internal_upperdatums(index); +inline bool CreateTableAsStmt::is_select_into() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.is_select_into) + return _internal_is_select_into(); } -inline ::pg_query::Node* PartitionBoundSpec::_internal_add_upperdatums() { - return _impl_.upperdatums_.Add(); +inline void CreateTableAsStmt::set_is_select_into(bool value) { + _internal_set_is_select_into(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.is_select_into) } -inline ::pg_query::Node* PartitionBoundSpec::add_upperdatums() { - ::pg_query::Node* _add = _internal_add_upperdatums(); - // @@protoc_insertion_point(field_add:pg_query.PartitionBoundSpec.upperdatums) - return _add; +inline bool CreateTableAsStmt::_internal_is_select_into() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.is_select_into_; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PartitionBoundSpec::upperdatums() const { - // @@protoc_insertion_point(field_list:pg_query.PartitionBoundSpec.upperdatums) - return _impl_.upperdatums_; +inline void CreateTableAsStmt::_internal_set_is_select_into(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.is_select_into_ = value; } -// int32 location = 8 [json_name = "location"]; -inline void PartitionBoundSpec::clear_location() { - _impl_.location_ = 0; +// bool if_not_exists = 5 [json_name = "if_not_exists"]; +inline void CreateTableAsStmt::clear_if_not_exists() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.if_not_exists_ = false; } -inline int32_t PartitionBoundSpec::_internal_location() const { - return _impl_.location_; +inline bool CreateTableAsStmt::if_not_exists() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTableAsStmt.if_not_exists) + return _internal_if_not_exists(); } -inline int32_t PartitionBoundSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionBoundSpec.location) - return _internal_location(); +inline void CreateTableAsStmt::set_if_not_exists(bool value) { + _internal_set_if_not_exists(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTableAsStmt.if_not_exists) } -inline void PartitionBoundSpec::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool CreateTableAsStmt::_internal_if_not_exists() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.if_not_exists_; } -inline void PartitionBoundSpec::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionBoundSpec.location) +inline void CreateTableAsStmt::_internal_set_if_not_exists(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.if_not_exists_ = value; } // ------------------------------------------------------------------- -// PartitionRangeDatum +// RefreshMatViewStmt -// .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"]; -inline void PartitionRangeDatum::clear_kind() { - _impl_.kind_ = 0; +// bool concurrent = 1 [json_name = "concurrent"]; +inline void RefreshMatViewStmt::clear_concurrent() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.concurrent_ = false; } -inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::_internal_kind() const { - return static_cast< ::pg_query::PartitionRangeDatumKind >(_impl_.kind_); +inline bool RefreshMatViewStmt::concurrent() const { + // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.concurrent) + return _internal_concurrent(); } -inline ::pg_query::PartitionRangeDatumKind PartitionRangeDatum::kind() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.kind) - return _internal_kind(); +inline void RefreshMatViewStmt::set_concurrent(bool value) { + _internal_set_concurrent(value); + // @@protoc_insertion_point(field_set:pg_query.RefreshMatViewStmt.concurrent) } -inline void PartitionRangeDatum::_internal_set_kind(::pg_query::PartitionRangeDatumKind value) { - - _impl_.kind_ = value; +inline bool RefreshMatViewStmt::_internal_concurrent() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.concurrent_; } -inline void PartitionRangeDatum::set_kind(::pg_query::PartitionRangeDatumKind value) { - _internal_set_kind(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.kind) +inline void RefreshMatViewStmt::_internal_set_concurrent(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.concurrent_ = value; } -// .pg_query.Node value = 2 [json_name = "value"]; -inline bool PartitionRangeDatum::_internal_has_value() const { - return this != internal_default_instance() && _impl_.value_ != nullptr; +// bool skip_data = 2 [json_name = "skipData"]; +inline void RefreshMatViewStmt::clear_skip_data() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.skip_data_ = false; } -inline bool PartitionRangeDatum::has_value() const { - return _internal_has_value(); +inline bool RefreshMatViewStmt::skip_data() const { + // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.skip_data) + return _internal_skip_data(); } -inline void PartitionRangeDatum::clear_value() { - if (GetArenaForAllocation() == nullptr && _impl_.value_ != nullptr) { - delete _impl_.value_; - } - _impl_.value_ = nullptr; +inline void RefreshMatViewStmt::set_skip_data(bool value) { + _internal_set_skip_data(value); + // @@protoc_insertion_point(field_set:pg_query.RefreshMatViewStmt.skip_data) } -inline const ::pg_query::Node& PartitionRangeDatum::_internal_value() const { - const ::pg_query::Node* p = _impl_.value_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline bool RefreshMatViewStmt::_internal_skip_data() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.skip_data_; } -inline const ::pg_query::Node& PartitionRangeDatum::value() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.value) - return _internal_value(); +inline void RefreshMatViewStmt::_internal_set_skip_data(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.skip_data_ = value; +} + +// .pg_query.RangeVar relation = 3 [json_name = "relation"]; +inline bool RefreshMatViewStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; +} +inline void RefreshMatViewStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& RefreshMatViewStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& RefreshMatViewStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.RefreshMatViewStmt.relation) + return _internal_relation(); } -inline void PartitionRangeDatum::unsafe_arena_set_allocated_value( - ::pg_query::Node* value) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.value_); +inline void RefreshMatViewStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.value_ = value; - if (value) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionRangeDatum.value) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.RefreshMatViewStmt.relation) } -inline ::pg_query::Node* PartitionRangeDatum::release_value() { - - ::pg_query::Node* temp = _impl_.value_; - _impl_.value_ = nullptr; +inline ::pg_query::RangeVar* RefreshMatViewStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* PartitionRangeDatum::unsafe_arena_release_value() { - // @@protoc_insertion_point(field_release:pg_query.PartitionRangeDatum.value) - - ::pg_query::Node* temp = _impl_.value_; - _impl_.value_ = nullptr; +inline ::pg_query::RangeVar* RefreshMatViewStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.RefreshMatViewStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::Node* PartitionRangeDatum::_internal_mutable_value() { - - if (_impl_.value_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.value_ = p; +inline ::pg_query::RangeVar* RefreshMatViewStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } - return _impl_.value_; + return _impl_.relation_; } -inline ::pg_query::Node* PartitionRangeDatum::mutable_value() { - ::pg_query::Node* _msg = _internal_mutable_value(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionRangeDatum.value) +inline ::pg_query::RangeVar* RefreshMatViewStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.RefreshMatViewStmt.relation) return _msg; } -inline void PartitionRangeDatum::set_allocated_value(::pg_query::Node* value) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void RefreshMatViewStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.value_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (value) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(value); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, value, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.value_ = value; - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionRangeDatum.value) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.RefreshMatViewStmt.relation) } -// int32 location = 3 [json_name = "location"]; -inline void PartitionRangeDatum::clear_location() { - _impl_.location_ = 0; +// ------------------------------------------------------------------- + +// CheckPointStmt + +// ------------------------------------------------------------------- + +// DiscardStmt + +// .pg_query.DiscardMode target = 1 [json_name = "target"]; +inline void DiscardStmt::clear_target() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.target_ = 0; } -inline int32_t PartitionRangeDatum::_internal_location() const { - return _impl_.location_; +inline ::pg_query::DiscardMode DiscardStmt::target() const { + // @@protoc_insertion_point(field_get:pg_query.DiscardStmt.target) + return _internal_target(); } -inline int32_t PartitionRangeDatum::location() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionRangeDatum.location) - return _internal_location(); +inline void DiscardStmt::set_target(::pg_query::DiscardMode value) { + _internal_set_target(value); + // @@protoc_insertion_point(field_set:pg_query.DiscardStmt.target) } -inline void PartitionRangeDatum::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline ::pg_query::DiscardMode DiscardStmt::_internal_target() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DiscardMode>(_impl_.target_); } -inline void PartitionRangeDatum::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionRangeDatum.location) +inline void DiscardStmt::_internal_set_target(::pg_query::DiscardMode value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.target_ = value; } // ------------------------------------------------------------------- -// PartitionCmd +// LockStmt -// .pg_query.RangeVar name = 1 [json_name = "name"]; -inline bool PartitionCmd::_internal_has_name() const { - return this != internal_default_instance() && _impl_.name_ != nullptr; +// repeated .pg_query.Node relations = 1 [json_name = "relations"]; +inline int LockStmt::_internal_relations_size() const { + return _internal_relations().size(); } -inline bool PartitionCmd::has_name() const { - return _internal_has_name(); +inline int LockStmt::relations_size() const { + return _internal_relations_size(); } -inline void PartitionCmd::clear_name() { - if (GetArenaForAllocation() == nullptr && _impl_.name_ != nullptr) { - delete _impl_.name_; - } - _impl_.name_ = nullptr; +inline void LockStmt::clear_relations() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.relations_.Clear(); } -inline const ::pg_query::RangeVar& PartitionCmd::_internal_name() const { - const ::pg_query::RangeVar* p = _impl_.name_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline ::pg_query::Node* LockStmt::mutable_relations(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.LockStmt.relations) + return _internal_mutable_relations()->Mutable(index); } -inline const ::pg_query::RangeVar& PartitionCmd::name() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.name) - return _internal_name(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* LockStmt::mutable_relations() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.LockStmt.relations) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_relations(); } -inline void PartitionCmd::unsafe_arena_set_allocated_name( - ::pg_query::RangeVar* name) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.name_); - } - _impl_.name_ = name; - if (name) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.name) +inline const ::pg_query::Node& LockStmt::relations(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.LockStmt.relations) + return _internal_relations().Get(index); } -inline ::pg_query::RangeVar* PartitionCmd::release_name() { - - ::pg_query::RangeVar* temp = _impl_.name_; - _impl_.name_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline ::pg_query::Node* LockStmt::add_relations() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_relations()->Add(); + // @@protoc_insertion_point(field_add:pg_query.LockStmt.relations) + return _add; } -inline ::pg_query::RangeVar* PartitionCmd::unsafe_arena_release_name() { - // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.name) - - ::pg_query::RangeVar* temp = _impl_.name_; - _impl_.name_ = nullptr; - return temp; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& LockStmt::relations() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.LockStmt.relations) + return _internal_relations(); } -inline ::pg_query::RangeVar* PartitionCmd::_internal_mutable_name() { - - if (_impl_.name_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.name_ = p; - } - return _impl_.name_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +LockStmt::_internal_relations() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.relations_; } -inline ::pg_query::RangeVar* PartitionCmd::mutable_name() { - ::pg_query::RangeVar* _msg = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.name) - return _msg; +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +LockStmt::_internal_mutable_relations() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.relations_; } -inline void PartitionCmd::set_allocated_name(::pg_query::RangeVar* name) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.name_; - } - if (name) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(name); - if (message_arena != submessage_arena) { - name = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, name, submessage_arena); - } - - } else { - - } - _impl_.name_ = name; - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.name) + +// int32 mode = 2 [json_name = "mode"]; +inline void LockStmt::clear_mode() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.mode_ = 0; +} +inline ::int32_t LockStmt::mode() const { + // @@protoc_insertion_point(field_get:pg_query.LockStmt.mode) + return _internal_mode(); +} +inline void LockStmt::set_mode(::int32_t value) { + _internal_set_mode(value); + // @@protoc_insertion_point(field_set:pg_query.LockStmt.mode) +} +inline ::int32_t LockStmt::_internal_mode() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.mode_; +} +inline void LockStmt::_internal_set_mode(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.mode_ = value; } -// .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"]; -inline bool PartitionCmd::_internal_has_bound() const { - return this != internal_default_instance() && _impl_.bound_ != nullptr; +// bool nowait = 3 [json_name = "nowait"]; +inline void LockStmt::clear_nowait() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.nowait_ = false; } -inline bool PartitionCmd::has_bound() const { - return _internal_has_bound(); +inline bool LockStmt::nowait() const { + // @@protoc_insertion_point(field_get:pg_query.LockStmt.nowait) + return _internal_nowait(); +} +inline void LockStmt::set_nowait(bool value) { + _internal_set_nowait(value); + // @@protoc_insertion_point(field_set:pg_query.LockStmt.nowait) +} +inline bool LockStmt::_internal_nowait() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.nowait_; +} +inline void LockStmt::_internal_set_nowait(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.nowait_ = value; +} + +// ------------------------------------------------------------------- + +// ConstraintsSetStmt + +// repeated .pg_query.Node constraints = 1 [json_name = "constraints"]; +inline int ConstraintsSetStmt::_internal_constraints_size() const { + return _internal_constraints().size(); } -inline void PartitionCmd::clear_bound() { - if (GetArenaForAllocation() == nullptr && _impl_.bound_ != nullptr) { - delete _impl_.bound_; - } - _impl_.bound_ = nullptr; +inline int ConstraintsSetStmt::constraints_size() const { + return _internal_constraints_size(); } -inline const ::pg_query::PartitionBoundSpec& PartitionCmd::_internal_bound() const { - const ::pg_query::PartitionBoundSpec* p = _impl_.bound_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_PartitionBoundSpec_default_instance_); +inline void ConstraintsSetStmt::clear_constraints() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.constraints_.Clear(); } -inline const ::pg_query::PartitionBoundSpec& PartitionCmd::bound() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.bound) - return _internal_bound(); +inline ::pg_query::Node* ConstraintsSetStmt::mutable_constraints(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ConstraintsSetStmt.constraints) + return _internal_mutable_constraints()->Mutable(index); } -inline void PartitionCmd::unsafe_arena_set_allocated_bound( - ::pg_query::PartitionBoundSpec* bound) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.bound_); - } - _impl_.bound_ = bound; - if (bound) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PartitionCmd.bound) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ConstraintsSetStmt::mutable_constraints() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ConstraintsSetStmt.constraints) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_constraints(); } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::release_bound() { - - ::pg_query::PartitionBoundSpec* temp = _impl_.bound_; - _impl_.bound_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline const ::pg_query::Node& ConstraintsSetStmt::constraints(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ConstraintsSetStmt.constraints) + return _internal_constraints().Get(index); } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::unsafe_arena_release_bound() { - // @@protoc_insertion_point(field_release:pg_query.PartitionCmd.bound) - - ::pg_query::PartitionBoundSpec* temp = _impl_.bound_; - _impl_.bound_ = nullptr; - return temp; +inline ::pg_query::Node* ConstraintsSetStmt::add_constraints() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_constraints()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ConstraintsSetStmt.constraints) + return _add; } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::_internal_mutable_bound() { - - if (_impl_.bound_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(GetArenaForAllocation()); - _impl_.bound_ = p; - } - return _impl_.bound_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ConstraintsSetStmt::constraints() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ConstraintsSetStmt.constraints) + return _internal_constraints(); } -inline ::pg_query::PartitionBoundSpec* PartitionCmd::mutable_bound() { - ::pg_query::PartitionBoundSpec* _msg = _internal_mutable_bound(); - // @@protoc_insertion_point(field_mutable:pg_query.PartitionCmd.bound) - return _msg; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ConstraintsSetStmt::_internal_constraints() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.constraints_; } -inline void PartitionCmd::set_allocated_bound(::pg_query::PartitionBoundSpec* bound) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.bound_; - } - if (bound) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(bound); - if (message_arena != submessage_arena) { - bound = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, bound, submessage_arena); - } - - } else { - - } - _impl_.bound_ = bound; - // @@protoc_insertion_point(field_set_allocated:pg_query.PartitionCmd.bound) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ConstraintsSetStmt::_internal_mutable_constraints() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.constraints_; } -// bool concurrent = 3 [json_name = "concurrent"]; -inline void PartitionCmd::clear_concurrent() { - _impl_.concurrent_ = false; +// bool deferred = 2 [json_name = "deferred"]; +inline void ConstraintsSetStmt::clear_deferred() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.deferred_ = false; } -inline bool PartitionCmd::_internal_concurrent() const { - return _impl_.concurrent_; +inline bool ConstraintsSetStmt::deferred() const { + // @@protoc_insertion_point(field_get:pg_query.ConstraintsSetStmt.deferred) + return _internal_deferred(); } -inline bool PartitionCmd::concurrent() const { - // @@protoc_insertion_point(field_get:pg_query.PartitionCmd.concurrent) - return _internal_concurrent(); +inline void ConstraintsSetStmt::set_deferred(bool value) { + _internal_set_deferred(value); + // @@protoc_insertion_point(field_set:pg_query.ConstraintsSetStmt.deferred) } -inline void PartitionCmd::_internal_set_concurrent(bool value) { - - _impl_.concurrent_ = value; +inline bool ConstraintsSetStmt::_internal_deferred() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.deferred_; } -inline void PartitionCmd::set_concurrent(bool value) { - _internal_set_concurrent(value); - // @@protoc_insertion_point(field_set:pg_query.PartitionCmd.concurrent) +inline void ConstraintsSetStmt::_internal_set_deferred(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.deferred_ = value; } // ------------------------------------------------------------------- -// VacuumRelation +// ReindexStmt -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool VacuumRelation::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; +// .pg_query.ReindexObjectType kind = 1 [json_name = "kind"]; +inline void ReindexStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; } -inline bool VacuumRelation::has_relation() const { - return _internal_has_relation(); +inline ::pg_query::ReindexObjectType ReindexStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.kind) + return _internal_kind(); } -inline void VacuumRelation::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void ReindexStmt::set_kind(::pg_query::ReindexObjectType value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.ReindexStmt.kind) } -inline const ::pg_query::RangeVar& VacuumRelation::_internal_relation() const { +inline ::pg_query::ReindexObjectType ReindexStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::ReindexObjectType>(_impl_.kind_); +} +inline void ReindexStmt::_internal_set_kind(::pg_query::ReindexObjectType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} + +// .pg_query.RangeVar relation = 2 [json_name = "relation"]; +inline bool ReindexStmt::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; +} +inline void ReindexStmt::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& ReindexStmt::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); } -inline const ::pg_query::RangeVar& VacuumRelation::relation() const { - // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.relation) +inline const ::pg_query::RangeVar& ReindexStmt::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.relation) return _internal_relation(); } -inline void VacuumRelation::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void ReindexStmt::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.VacuumRelation.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReindexStmt.relation) } -inline ::pg_query::RangeVar* VacuumRelation::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; +inline ::pg_query::RangeVar* ReindexStmt::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; _impl_.relation_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* VacuumRelation::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.VacuumRelation.relation) - +inline ::pg_query::RangeVar* ReindexStmt::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReindexStmt.relation) + + _impl_._has_bits_[0] &= ~0x00000001u; ::pg_query::RangeVar* temp = _impl_.relation_; _impl_.relation_ = nullptr; return temp; } -inline ::pg_query::RangeVar* VacuumRelation::_internal_mutable_relation() { - +inline ::pg_query::RangeVar* ReindexStmt::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); } return _impl_.relation_; } -inline ::pg_query::RangeVar* VacuumRelation::mutable_relation() { +inline ::pg_query::RangeVar* ReindexStmt::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.VacuumRelation.relation) + // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.relation) return _msg; } -inline void VacuumRelation::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void ReindexStmt::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.VacuumRelation.relation) + + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ReindexStmt.relation) } -// uint32 oid = 2 [json_name = "oid"]; -inline void VacuumRelation::clear_oid() { - _impl_.oid_ = 0u; +// string name = 3 [json_name = "name"]; +inline void ReindexStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); } -inline uint32_t VacuumRelation::_internal_oid() const { - return _impl_.oid_; +inline const std::string& ReindexStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.name) + return _internal_name(); } -inline uint32_t VacuumRelation::oid() const { - // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.oid) - return _internal_oid(); +template +inline PROTOBUF_ALWAYS_INLINE void ReindexStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ReindexStmt.name) } -inline void VacuumRelation::_internal_set_oid(uint32_t value) { - - _impl_.oid_ = value; +inline std::string* ReindexStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.name) + return _s; } -inline void VacuumRelation::set_oid(uint32_t value) { - _internal_set_oid(value); - // @@protoc_insertion_point(field_set:pg_query.VacuumRelation.oid) +inline const std::string& ReindexStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); } - -// repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"]; -inline int VacuumRelation::_internal_va_cols_size() const { - return _impl_.va_cols_.size(); +inline void ReindexStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); } -inline int VacuumRelation::va_cols_size() const { - return _internal_va_cols_size(); +inline std::string* ReindexStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); } -inline void VacuumRelation::clear_va_cols() { - _impl_.va_cols_.Clear(); +inline std::string* ReindexStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReindexStmt.name) + return _impl_.name_.Release(); } -inline ::pg_query::Node* VacuumRelation::mutable_va_cols(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.VacuumRelation.va_cols) - return _impl_.va_cols_.Mutable(index); +inline void ReindexStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ReindexStmt.name) } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -VacuumRelation::mutable_va_cols() { - // @@protoc_insertion_point(field_mutable_list:pg_query.VacuumRelation.va_cols) - return &_impl_.va_cols_; + +// repeated .pg_query.Node params = 4 [json_name = "params"]; +inline int ReindexStmt::_internal_params_size() const { + return _internal_params().size(); +} +inline int ReindexStmt::params_size() const { + return _internal_params_size(); } -inline const ::pg_query::Node& VacuumRelation::_internal_va_cols(int index) const { - return _impl_.va_cols_.Get(index); +inline void ReindexStmt::clear_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.params_.Clear(); } -inline const ::pg_query::Node& VacuumRelation::va_cols(int index) const { - // @@protoc_insertion_point(field_get:pg_query.VacuumRelation.va_cols) - return _internal_va_cols(index); +inline ::pg_query::Node* ReindexStmt::mutable_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ReindexStmt.params) + return _internal_mutable_params()->Mutable(index); } -inline ::pg_query::Node* VacuumRelation::_internal_add_va_cols() { - return _impl_.va_cols_.Add(); +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ReindexStmt::mutable_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ReindexStmt.params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_params(); } -inline ::pg_query::Node* VacuumRelation::add_va_cols() { - ::pg_query::Node* _add = _internal_add_va_cols(); - // @@protoc_insertion_point(field_add:pg_query.VacuumRelation.va_cols) +inline const ::pg_query::Node& ReindexStmt::params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReindexStmt.params) + return _internal_params().Get(index); +} +inline ::pg_query::Node* ReindexStmt::add_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ReindexStmt.params) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -VacuumRelation::va_cols() const { - // @@protoc_insertion_point(field_list:pg_query.VacuumRelation.va_cols) - return _impl_.va_cols_; +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ReindexStmt::params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ReindexStmt.params) + return _internal_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ReindexStmt::_internal_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ReindexStmt::_internal_mutable_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.params_; } // ------------------------------------------------------------------- -// PublicationObjSpec +// CreateConversionStmt -// .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; -inline void PublicationObjSpec::clear_pubobjtype() { - _impl_.pubobjtype_ = 0; +// repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"]; +inline int CreateConversionStmt::_internal_conversion_name_size() const { + return _internal_conversion_name().size(); } -inline ::pg_query::PublicationObjSpecType PublicationObjSpec::_internal_pubobjtype() const { - return static_cast< ::pg_query::PublicationObjSpecType >(_impl_.pubobjtype_); +inline int CreateConversionStmt::conversion_name_size() const { + return _internal_conversion_name_size(); } -inline ::pg_query::PublicationObjSpecType PublicationObjSpec::pubobjtype() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.pubobjtype) - return _internal_pubobjtype(); +inline void CreateConversionStmt::clear_conversion_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conversion_name_.Clear(); } -inline void PublicationObjSpec::_internal_set_pubobjtype(::pg_query::PublicationObjSpecType value) { - - _impl_.pubobjtype_ = value; +inline ::pg_query::Node* CreateConversionStmt::mutable_conversion_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.conversion_name) + return _internal_mutable_conversion_name()->Mutable(index); } -inline void PublicationObjSpec::set_pubobjtype(::pg_query::PublicationObjSpecType value) { - _internal_set_pubobjtype(value); - // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.pubobjtype) +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateConversionStmt::mutable_conversion_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateConversionStmt.conversion_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_conversion_name(); +} +inline const ::pg_query::Node& CreateConversionStmt::conversion_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.conversion_name) + return _internal_conversion_name().Get(index); +} +inline ::pg_query::Node* CreateConversionStmt::add_conversion_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_conversion_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateConversionStmt.conversion_name) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateConversionStmt::conversion_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateConversionStmt.conversion_name) + return _internal_conversion_name(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateConversionStmt::_internal_conversion_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conversion_name_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateConversionStmt::_internal_mutable_conversion_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.conversion_name_; } -// string name = 2 [json_name = "name"]; -inline void PublicationObjSpec::clear_name() { - _impl_.name_.ClearToEmpty(); +// string for_encoding_name = 2 [json_name = "for_encoding_name"]; +inline void CreateConversionStmt::clear_for_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_encoding_name_.ClearToEmpty(); } -inline const std::string& PublicationObjSpec::name() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.name) - return _internal_name(); +inline const std::string& CreateConversionStmt::for_encoding_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.for_encoding_name) + return _internal_for_encoding_name(); } -template -inline PROTOBUF_ALWAYS_INLINE -void PublicationObjSpec::set_name(ArgT0&& arg0, ArgT... args) { - - _impl_.name_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.name) +template +inline PROTOBUF_ALWAYS_INLINE void CreateConversionStmt::set_for_encoding_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_encoding_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.for_encoding_name) } -inline std::string* PublicationObjSpec::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:pg_query.PublicationObjSpec.name) +inline std::string* CreateConversionStmt::mutable_for_encoding_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_for_encoding_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.for_encoding_name) return _s; } -inline const std::string& PublicationObjSpec::_internal_name() const { - return _impl_.name_.Get(); +inline const std::string& CreateConversionStmt::_internal_for_encoding_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_encoding_name_.Get(); } -inline void PublicationObjSpec::_internal_set_name(const std::string& value) { - - _impl_.name_.Set(value, GetArenaForAllocation()); +inline void CreateConversionStmt::_internal_set_for_encoding_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_encoding_name_.Set(value, GetArena()); } -inline std::string* PublicationObjSpec::_internal_mutable_name() { - - return _impl_.name_.Mutable(GetArenaForAllocation()); +inline std::string* CreateConversionStmt::_internal_mutable_for_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.for_encoding_name_.Mutable( GetArena()); } -inline std::string* PublicationObjSpec::release_name() { - // @@protoc_insertion_point(field_release:pg_query.PublicationObjSpec.name) - return _impl_.name_.Release(); +inline std::string* CreateConversionStmt::release_for_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateConversionStmt.for_encoding_name) + return _impl_.for_encoding_name_.Release(); } -inline void PublicationObjSpec::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - _impl_.name_.SetAllocated(name, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.name_.IsDefault()) { - _impl_.name_.Set("", GetArenaForAllocation()); - } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationObjSpec.name) +inline void CreateConversionStmt::set_allocated_for_encoding_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_encoding_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.for_encoding_name_.IsDefault()) { + _impl_.for_encoding_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateConversionStmt.for_encoding_name) } -// .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; -inline bool PublicationObjSpec::_internal_has_pubtable() const { - return this != internal_default_instance() && _impl_.pubtable_ != nullptr; +// string to_encoding_name = 3 [json_name = "to_encoding_name"]; +inline void CreateConversionStmt::clear_to_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.to_encoding_name_.ClearToEmpty(); } -inline bool PublicationObjSpec::has_pubtable() const { - return _internal_has_pubtable(); +inline const std::string& CreateConversionStmt::to_encoding_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.to_encoding_name) + return _internal_to_encoding_name(); } -inline void PublicationObjSpec::clear_pubtable() { - if (GetArenaForAllocation() == nullptr && _impl_.pubtable_ != nullptr) { - delete _impl_.pubtable_; - } - _impl_.pubtable_ = nullptr; +template +inline PROTOBUF_ALWAYS_INLINE void CreateConversionStmt::set_to_encoding_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.to_encoding_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.to_encoding_name) } -inline const ::pg_query::PublicationTable& PublicationObjSpec::_internal_pubtable() const { - const ::pg_query::PublicationTable* p = _impl_.pubtable_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_PublicationTable_default_instance_); +inline std::string* CreateConversionStmt::mutable_to_encoding_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_to_encoding_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.to_encoding_name) + return _s; } -inline const ::pg_query::PublicationTable& PublicationObjSpec::pubtable() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.pubtable) - return _internal_pubtable(); +inline const std::string& CreateConversionStmt::_internal_to_encoding_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.to_encoding_name_.Get(); } -inline void PublicationObjSpec::unsafe_arena_set_allocated_pubtable( - ::pg_query::PublicationTable* pubtable) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.pubtable_); - } - _impl_.pubtable_ = pubtable; - if (pubtable) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationObjSpec.pubtable) +inline void CreateConversionStmt::_internal_set_to_encoding_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.to_encoding_name_.Set(value, GetArena()); } -inline ::pg_query::PublicationTable* PublicationObjSpec::release_pubtable() { - - ::pg_query::PublicationTable* temp = _impl_.pubtable_; - _impl_.pubtable_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; +inline std::string* CreateConversionStmt::_internal_mutable_to_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.to_encoding_name_.Mutable( GetArena()); } -inline ::pg_query::PublicationTable* PublicationObjSpec::unsafe_arena_release_pubtable() { - // @@protoc_insertion_point(field_release:pg_query.PublicationObjSpec.pubtable) - - ::pg_query::PublicationTable* temp = _impl_.pubtable_; - _impl_.pubtable_ = nullptr; - return temp; +inline std::string* CreateConversionStmt::release_to_encoding_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateConversionStmt.to_encoding_name) + return _impl_.to_encoding_name_.Release(); } -inline ::pg_query::PublicationTable* PublicationObjSpec::_internal_mutable_pubtable() { - - if (_impl_.pubtable_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::PublicationTable>(GetArenaForAllocation()); - _impl_.pubtable_ = p; - } - return _impl_.pubtable_; +inline void CreateConversionStmt::set_allocated_to_encoding_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.to_encoding_name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.to_encoding_name_.IsDefault()) { + _impl_.to_encoding_name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateConversionStmt.to_encoding_name) } -inline ::pg_query::PublicationTable* PublicationObjSpec::mutable_pubtable() { - ::pg_query::PublicationTable* _msg = _internal_mutable_pubtable(); - // @@protoc_insertion_point(field_mutable:pg_query.PublicationObjSpec.pubtable) - return _msg; + +// repeated .pg_query.Node func_name = 4 [json_name = "func_name"]; +inline int CreateConversionStmt::_internal_func_name_size() const { + return _internal_func_name().size(); } -inline void PublicationObjSpec::set_allocated_pubtable(::pg_query::PublicationTable* pubtable) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete _impl_.pubtable_; - } - if (pubtable) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(pubtable); - if (message_arena != submessage_arena) { - pubtable = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, pubtable, submessage_arena); - } - - } else { - - } - _impl_.pubtable_ = pubtable; - // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationObjSpec.pubtable) +inline int CreateConversionStmt::func_name_size() const { + return _internal_func_name_size(); +} +inline void CreateConversionStmt::clear_func_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.func_name_.Clear(); +} +inline ::pg_query::Node* CreateConversionStmt::mutable_func_name(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateConversionStmt.func_name) + return _internal_mutable_func_name()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateConversionStmt::mutable_func_name() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateConversionStmt.func_name) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_func_name(); +} +inline const ::pg_query::Node& CreateConversionStmt::func_name(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.func_name) + return _internal_func_name().Get(index); +} +inline ::pg_query::Node* CreateConversionStmt::add_func_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_func_name()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateConversionStmt.func_name) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateConversionStmt::func_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateConversionStmt.func_name) + return _internal_func_name(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateConversionStmt::_internal_func_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.func_name_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateConversionStmt::_internal_mutable_func_name() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.func_name_; } -// int32 location = 4 [json_name = "location"]; -inline void PublicationObjSpec::clear_location() { - _impl_.location_ = 0; +// bool def = 5 [json_name = "def"]; +inline void CreateConversionStmt::clear_def() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.def_ = false; } -inline int32_t PublicationObjSpec::_internal_location() const { - return _impl_.location_; +inline bool CreateConversionStmt::def() const { + // @@protoc_insertion_point(field_get:pg_query.CreateConversionStmt.def) + return _internal_def(); } -inline int32_t PublicationObjSpec::location() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.location) - return _internal_location(); +inline void CreateConversionStmt::set_def(bool value) { + _internal_set_def(value); + // @@protoc_insertion_point(field_set:pg_query.CreateConversionStmt.def) } -inline void PublicationObjSpec::_internal_set_location(int32_t value) { - - _impl_.location_ = value; +inline bool CreateConversionStmt::_internal_def() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.def_; } -inline void PublicationObjSpec::set_location(int32_t value) { - _internal_set_location(value); - // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.location) +inline void CreateConversionStmt::_internal_set_def(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.def_ = value; } // ------------------------------------------------------------------- -// PublicationTable +// CreateCastStmt -// .pg_query.RangeVar relation = 1 [json_name = "relation"]; -inline bool PublicationTable::_internal_has_relation() const { - return this != internal_default_instance() && _impl_.relation_ != nullptr; -} -inline bool PublicationTable::has_relation() const { - return _internal_has_relation(); +// .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"]; +inline bool CreateCastStmt::has_sourcetype() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.sourcetype_ != nullptr); + return value; } -inline void PublicationTable::clear_relation() { - if (GetArenaForAllocation() == nullptr && _impl_.relation_ != nullptr) { - delete _impl_.relation_; - } - _impl_.relation_ = nullptr; +inline void CreateCastStmt::clear_sourcetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.sourcetype_ != nullptr) _impl_.sourcetype_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline const ::pg_query::RangeVar& PublicationTable::_internal_relation() const { - const ::pg_query::RangeVar* p = _impl_.relation_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_RangeVar_default_instance_); +inline const ::pg_query::TypeName& CreateCastStmt::_internal_sourcetype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.sourcetype_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::RangeVar& PublicationTable::relation() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationTable.relation) - return _internal_relation(); +inline const ::pg_query::TypeName& CreateCastStmt::sourcetype() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.sourcetype) + return _internal_sourcetype(); } -inline void PublicationTable::unsafe_arena_set_allocated_relation( - ::pg_query::RangeVar* relation) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.relation_); +inline void CreateCastStmt::unsafe_arena_set_allocated_sourcetype(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sourcetype_); } - _impl_.relation_ = relation; - if (relation) { - + _impl_.sourcetype_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationTable.relation) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.sourcetype) } -inline ::pg_query::RangeVar* PublicationTable::release_relation() { - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* CreateCastStmt::release_sourcetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.sourcetype_; + _impl_.sourcetype_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::RangeVar* PublicationTable::unsafe_arena_release_relation() { - // @@protoc_insertion_point(field_release:pg_query.PublicationTable.relation) - - ::pg_query::RangeVar* temp = _impl_.relation_; - _impl_.relation_ = nullptr; +inline ::pg_query::TypeName* CreateCastStmt::unsafe_arena_release_sourcetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.sourcetype) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.sourcetype_; + _impl_.sourcetype_ = nullptr; return temp; } -inline ::pg_query::RangeVar* PublicationTable::_internal_mutable_relation() { - - if (_impl_.relation_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArenaForAllocation()); - _impl_.relation_ = p; +inline ::pg_query::TypeName* CreateCastStmt::_internal_mutable_sourcetype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.sourcetype_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.sourcetype_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.relation_; + return _impl_.sourcetype_; } -inline ::pg_query::RangeVar* PublicationTable::mutable_relation() { - ::pg_query::RangeVar* _msg = _internal_mutable_relation(); - // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.relation) +inline ::pg_query::TypeName* CreateCastStmt::mutable_sourcetype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_sourcetype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.sourcetype) return _msg; } -inline void PublicationTable::set_allocated_relation(::pg_query::RangeVar* relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateCastStmt::set_allocated_sourcetype(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.relation_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.sourcetype_); } - if (relation) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(relation); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - relation = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, relation, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000001u; } else { - + _impl_._has_bits_[0] &= ~0x00000001u; } - _impl_.relation_ = relation; - // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationTable.relation) -} -// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; -inline bool PublicationTable::_internal_has_where_clause() const { - return this != internal_default_instance() && _impl_.where_clause_ != nullptr; + _impl_.sourcetype_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.sourcetype) } -inline bool PublicationTable::has_where_clause() const { - return _internal_has_where_clause(); + +// .pg_query.TypeName targettype = 2 [json_name = "targettype"]; +inline bool CreateCastStmt::has_targettype() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.targettype_ != nullptr); + return value; } -inline void PublicationTable::clear_where_clause() { - if (GetArenaForAllocation() == nullptr && _impl_.where_clause_ != nullptr) { - delete _impl_.where_clause_; - } - _impl_.where_clause_ = nullptr; +inline void CreateCastStmt::clear_targettype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.targettype_ != nullptr) _impl_.targettype_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline const ::pg_query::Node& PublicationTable::_internal_where_clause() const { - const ::pg_query::Node* p = _impl_.where_clause_; - return p != nullptr ? *p : reinterpret_cast( - ::pg_query::_Node_default_instance_); +inline const ::pg_query::TypeName& CreateCastStmt::_internal_targettype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.targettype_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline const ::pg_query::Node& PublicationTable::where_clause() const { - // @@protoc_insertion_point(field_get:pg_query.PublicationTable.where_clause) - return _internal_where_clause(); +inline const ::pg_query::TypeName& CreateCastStmt::targettype() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.targettype) + return _internal_targettype(); } -inline void PublicationTable::unsafe_arena_set_allocated_where_clause( - ::pg_query::Node* where_clause) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.where_clause_); +inline void CreateCastStmt::unsafe_arena_set_allocated_targettype(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.targettype_); } - _impl_.where_clause_ = where_clause; - if (where_clause) { - + _impl_.targettype_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationTable.where_clause) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.targettype) } -inline ::pg_query::Node* PublicationTable::release_where_clause() { - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TypeName* CreateCastStmt::release_targettype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* released = _impl_.targettype_; + _impl_.targettype_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); } #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; + return released; } -inline ::pg_query::Node* PublicationTable::unsafe_arena_release_where_clause() { - // @@protoc_insertion_point(field_release:pg_query.PublicationTable.where_clause) - - ::pg_query::Node* temp = _impl_.where_clause_; - _impl_.where_clause_ = nullptr; +inline ::pg_query::TypeName* CreateCastStmt::unsafe_arena_release_targettype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.targettype) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::TypeName* temp = _impl_.targettype_; + _impl_.targettype_ = nullptr; return temp; } -inline ::pg_query::Node* PublicationTable::_internal_mutable_where_clause() { - - if (_impl_.where_clause_ == nullptr) { - auto* p = CreateMaybeMessage<::pg_query::Node>(GetArenaForAllocation()); - _impl_.where_clause_ = p; +inline ::pg_query::TypeName* CreateCastStmt::_internal_mutable_targettype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.targettype_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.targettype_ = reinterpret_cast<::pg_query::TypeName*>(p); } - return _impl_.where_clause_; + return _impl_.targettype_; } -inline ::pg_query::Node* PublicationTable::mutable_where_clause() { - ::pg_query::Node* _msg = _internal_mutable_where_clause(); - // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.where_clause) +inline ::pg_query::TypeName* CreateCastStmt::mutable_targettype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_targettype(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.targettype) return _msg; } -inline void PublicationTable::set_allocated_where_clause(::pg_query::Node* where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); +inline void CreateCastStmt::set_allocated_targettype(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); if (message_arena == nullptr) { - delete _impl_.where_clause_; + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.targettype_); } - if (where_clause) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(where_clause); + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); if (message_arena != submessage_arena) { - where_clause = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, where_clause, submessage_arena); + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - + _impl_._has_bits_[0] |= 0x00000002u; } else { - + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.where_clause_ = where_clause; - // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationTable.where_clause) -} -// repeated .pg_query.Node columns = 3 [json_name = "columns"]; -inline int PublicationTable::_internal_columns_size() const { - return _impl_.columns_.size(); -} -inline int PublicationTable::columns_size() const { - return _internal_columns_size(); -} -inline void PublicationTable::clear_columns() { - _impl_.columns_.Clear(); -} -inline ::pg_query::Node* PublicationTable::mutable_columns(int index) { - // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.columns) - return _impl_.columns_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >* -PublicationTable::mutable_columns() { - // @@protoc_insertion_point(field_mutable_list:pg_query.PublicationTable.columns) - return &_impl_.columns_; -} -inline const ::pg_query::Node& PublicationTable::_internal_columns(int index) const { - return _impl_.columns_.Get(index); -} -inline const ::pg_query::Node& PublicationTable::columns(int index) const { - // @@protoc_insertion_point(field_get:pg_query.PublicationTable.columns) - return _internal_columns(index); -} -inline ::pg_query::Node* PublicationTable::_internal_add_columns() { - return _impl_.columns_.Add(); -} -inline ::pg_query::Node* PublicationTable::add_columns() { - ::pg_query::Node* _add = _internal_add_columns(); - // @@protoc_insertion_point(field_add:pg_query.PublicationTable.columns) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::pg_query::Node >& -PublicationTable::columns() const { - // @@protoc_insertion_point(field_list:pg_query.PublicationTable.columns) - return _impl_.columns_; + _impl_.targettype_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.targettype) } -// ------------------------------------------------------------------- - -// InlineCodeBlock - -// string source_text = 1 [json_name = "source_text"]; -inline void InlineCodeBlock::clear_source_text() { - _impl_.source_text_.ClearToEmpty(); -} -inline const std::string& InlineCodeBlock::source_text() const { - // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.source_text) - return _internal_source_text(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void InlineCodeBlock::set_source_text(ArgT0&& arg0, ArgT... args) { - - _impl_.source_text_.Set(static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.source_text) -} -inline std::string* InlineCodeBlock::mutable_source_text() { - std::string* _s = _internal_mutable_source_text(); - // @@protoc_insertion_point(field_mutable:pg_query.InlineCodeBlock.source_text) - return _s; -} -inline const std::string& InlineCodeBlock::_internal_source_text() const { - return _impl_.source_text_.Get(); -} -inline void InlineCodeBlock::_internal_set_source_text(const std::string& value) { - - _impl_.source_text_.Set(value, GetArenaForAllocation()); +// .pg_query.ObjectWithArgs func = 3 [json_name = "func"]; +inline bool CreateCastStmt::has_func() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.func_ != nullptr); + return value; } -inline std::string* InlineCodeBlock::_internal_mutable_source_text() { - - return _impl_.source_text_.Mutable(GetArenaForAllocation()); +inline void CreateCastStmt::clear_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.func_ != nullptr) _impl_.func_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; } -inline std::string* InlineCodeBlock::release_source_text() { - // @@protoc_insertion_point(field_release:pg_query.InlineCodeBlock.source_text) - return _impl_.source_text_.Release(); +inline const ::pg_query::ObjectWithArgs& CreateCastStmt::_internal_func() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.func_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); } -inline void InlineCodeBlock::set_allocated_source_text(std::string* source_text) { - if (source_text != nullptr) { - - } else { - +inline const ::pg_query::ObjectWithArgs& CreateCastStmt::func() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.func) + return _internal_func(); +} +inline void CreateCastStmt::unsafe_arena_set_allocated_func(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.func_); } - _impl_.source_text_.SetAllocated(source_text, GetArenaForAllocation()); -#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING - if (_impl_.source_text_.IsDefault()) { - _impl_.source_text_.Set("", GetArenaForAllocation()); + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; } -#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING - // @@protoc_insertion_point(field_set_allocated:pg_query.InlineCodeBlock.source_text) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateCastStmt.func) } +inline ::pg_query::ObjectWithArgs* CreateCastStmt::release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// uint32 lang_oid = 2 [json_name = "langOid"]; -inline void InlineCodeBlock::clear_lang_oid() { - _impl_.lang_oid_ = 0u; + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::ObjectWithArgs* released = _impl_.func_; + _impl_.func_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline uint32_t InlineCodeBlock::_internal_lang_oid() const { - return _impl_.lang_oid_; +inline ::pg_query::ObjectWithArgs* CreateCastStmt::unsafe_arena_release_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateCastStmt.func) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::ObjectWithArgs* temp = _impl_.func_; + _impl_.func_ = nullptr; + return temp; } -inline uint32_t InlineCodeBlock::lang_oid() const { - // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.lang_oid) - return _internal_lang_oid(); +inline ::pg_query::ObjectWithArgs* CreateCastStmt::_internal_mutable_func() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.func_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); + } + return _impl_.func_; } -inline void InlineCodeBlock::_internal_set_lang_oid(uint32_t value) { - - _impl_.lang_oid_ = value; +inline ::pg_query::ObjectWithArgs* CreateCastStmt::mutable_func() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_func(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateCastStmt.func) + return _msg; } -inline void InlineCodeBlock::set_lang_oid(uint32_t value) { - _internal_set_lang_oid(value); - // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.lang_oid) +inline void CreateCastStmt::set_allocated_func(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.func_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.func_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateCastStmt.func) } -// bool lang_is_trusted = 3 [json_name = "langIsTrusted"]; -inline void InlineCodeBlock::clear_lang_is_trusted() { - _impl_.lang_is_trusted_ = false; +// .pg_query.CoercionContext context = 4 [json_name = "context"]; +inline void CreateCastStmt::clear_context() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.context_ = 0; } -inline bool InlineCodeBlock::_internal_lang_is_trusted() const { - return _impl_.lang_is_trusted_; +inline ::pg_query::CoercionContext CreateCastStmt::context() const { + // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.context) + return _internal_context(); } -inline bool InlineCodeBlock::lang_is_trusted() const { - // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.lang_is_trusted) - return _internal_lang_is_trusted(); +inline void CreateCastStmt::set_context(::pg_query::CoercionContext value) { + _internal_set_context(value); + // @@protoc_insertion_point(field_set:pg_query.CreateCastStmt.context) } -inline void InlineCodeBlock::_internal_set_lang_is_trusted(bool value) { - - _impl_.lang_is_trusted_ = value; +inline ::pg_query::CoercionContext CreateCastStmt::_internal_context() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::CoercionContext>(_impl_.context_); } -inline void InlineCodeBlock::set_lang_is_trusted(bool value) { - _internal_set_lang_is_trusted(value); - // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.lang_is_trusted) +inline void CreateCastStmt::_internal_set_context(::pg_query::CoercionContext value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.context_ = value; } -// bool atomic = 4 [json_name = "atomic"]; -inline void InlineCodeBlock::clear_atomic() { - _impl_.atomic_ = false; +// bool inout = 5 [json_name = "inout"]; +inline void CreateCastStmt::clear_inout() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.inout_ = false; } -inline bool InlineCodeBlock::_internal_atomic() const { - return _impl_.atomic_; +inline bool CreateCastStmt::inout() const { + // @@protoc_insertion_point(field_get:pg_query.CreateCastStmt.inout) + return _internal_inout(); } -inline bool InlineCodeBlock::atomic() const { - // @@protoc_insertion_point(field_get:pg_query.InlineCodeBlock.atomic) - return _internal_atomic(); +inline void CreateCastStmt::set_inout(bool value) { + _internal_set_inout(value); + // @@protoc_insertion_point(field_set:pg_query.CreateCastStmt.inout) } -inline void InlineCodeBlock::_internal_set_atomic(bool value) { - - _impl_.atomic_ = value; +inline bool CreateCastStmt::_internal_inout() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.inout_; } -inline void InlineCodeBlock::set_atomic(bool value) { - _internal_set_atomic(value); - // @@protoc_insertion_point(field_set:pg_query.InlineCodeBlock.atomic) +inline void CreateCastStmt::_internal_set_inout(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.inout_ = value; } // ------------------------------------------------------------------- -// CallContext +// CreateTransformStmt -// bool atomic = 1 [json_name = "atomic"]; -inline void CallContext::clear_atomic() { - _impl_.atomic_ = false; +// bool replace = 1 [json_name = "replace"]; +inline void CreateTransformStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; } -inline bool CallContext::_internal_atomic() const { - return _impl_.atomic_; +inline bool CreateTransformStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.replace) + return _internal_replace(); } -inline bool CallContext::atomic() const { - // @@protoc_insertion_point(field_get:pg_query.CallContext.atomic) - return _internal_atomic(); +inline void CreateTransformStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.CreateTransformStmt.replace) } -inline void CallContext::_internal_set_atomic(bool value) { - - _impl_.atomic_ = value; +inline bool CreateTransformStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; } -inline void CallContext::set_atomic(bool value) { - _internal_set_atomic(value); - // @@protoc_insertion_point(field_set:pg_query.CallContext.atomic) +inline void CreateTransformStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; } -// ------------------------------------------------------------------- - -// ScanToken - -// int32 start = 1; -inline void ScanToken::clear_start() { - _impl_.start_ = 0; +// .pg_query.TypeName type_name = 2 [json_name = "type_name"]; +inline bool CreateTransformStmt::has_type_name() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.type_name_ != nullptr); + return value; } -inline int32_t ScanToken::_internal_start() const { - return _impl_.start_; +inline void CreateTransformStmt::clear_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.type_name_ != nullptr) _impl_.type_name_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline int32_t ScanToken::start() const { - // @@protoc_insertion_point(field_get:pg_query.ScanToken.start) - return _internal_start(); +inline const ::pg_query::TypeName& CreateTransformStmt::_internal_type_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::TypeName* p = _impl_.type_name_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_TypeName_default_instance_); } -inline void ScanToken::_internal_set_start(int32_t value) { - - _impl_.start_ = value; +inline const ::pg_query::TypeName& CreateTransformStmt::type_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.type_name) + return _internal_type_name(); } -inline void ScanToken::set_start(int32_t value) { - _internal_set_start(value); - // @@protoc_insertion_point(field_set:pg_query.ScanToken.start) +inline void CreateTransformStmt::unsafe_arena_set_allocated_type_name(::pg_query::TypeName* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_name_); + } + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.type_name) } +inline ::pg_query::TypeName* CreateTransformStmt::release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// int32 end = 2; -inline void ScanToken::clear_end() { - _impl_.end_ = 0; + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* released = _impl_.type_name_; + _impl_.type_name_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; } -inline int32_t ScanToken::_internal_end() const { - return _impl_.end_; +inline ::pg_query::TypeName* CreateTransformStmt::unsafe_arena_release_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.type_name) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::TypeName* temp = _impl_.type_name_; + _impl_.type_name_ = nullptr; + return temp; } -inline int32_t ScanToken::end() const { - // @@protoc_insertion_point(field_get:pg_query.ScanToken.end) - return _internal_end(); +inline ::pg_query::TypeName* CreateTransformStmt::_internal_mutable_type_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.type_name_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::TypeName>(GetArena()); + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(p); + } + return _impl_.type_name_; } -inline void ScanToken::_internal_set_end(int32_t value) { - - _impl_.end_ = value; +inline ::pg_query::TypeName* CreateTransformStmt::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::TypeName* _msg = _internal_mutable_type_name(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.type_name) + return _msg; } -inline void ScanToken::set_end(int32_t value) { - _internal_set_end(value); - // @@protoc_insertion_point(field_set:pg_query.ScanToken.end) +inline void CreateTransformStmt::set_allocated_type_name(::pg_query::TypeName* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::TypeName*>(_impl_.type_name_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::TypeName*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.type_name_ = reinterpret_cast<::pg_query::TypeName*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.type_name) } -// .pg_query.Token token = 4; -inline void ScanToken::clear_token() { - _impl_.token_ = 0; +// string lang = 3 [json_name = "lang"]; +inline void CreateTransformStmt::clear_lang() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lang_.ClearToEmpty(); } -inline ::pg_query::Token ScanToken::_internal_token() const { - return static_cast< ::pg_query::Token >(_impl_.token_); +inline const std::string& CreateTransformStmt::lang() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.lang) + return _internal_lang(); } -inline ::pg_query::Token ScanToken::token() const { - // @@protoc_insertion_point(field_get:pg_query.ScanToken.token) - return _internal_token(); +template +inline PROTOBUF_ALWAYS_INLINE void CreateTransformStmt::set_lang(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lang_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateTransformStmt.lang) } -inline void ScanToken::_internal_set_token(::pg_query::Token value) { - - _impl_.token_ = value; +inline std::string* CreateTransformStmt::mutable_lang() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_lang(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.lang) + return _s; } -inline void ScanToken::set_token(::pg_query::Token value) { - _internal_set_token(value); - // @@protoc_insertion_point(field_set:pg_query.ScanToken.token) +inline const std::string& CreateTransformStmt::_internal_lang() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.lang_.Get(); +} +inline void CreateTransformStmt::_internal_set_lang(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.lang_.Set(value, GetArena()); +} +inline std::string* CreateTransformStmt::_internal_mutable_lang() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.lang_.Mutable( GetArena()); +} +inline std::string* CreateTransformStmt::release_lang() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.lang) + return _impl_.lang_.Release(); +} +inline void CreateTransformStmt::set_allocated_lang(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.lang_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.lang_.IsDefault()) { + _impl_.lang_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.lang) } -// .pg_query.KeywordKind keyword_kind = 5; -inline void ScanToken::clear_keyword_kind() { - _impl_.keyword_kind_ = 0; +// .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"]; +inline bool CreateTransformStmt::has_fromsql() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.fromsql_ != nullptr); + return value; } -inline ::pg_query::KeywordKind ScanToken::_internal_keyword_kind() const { - return static_cast< ::pg_query::KeywordKind >(_impl_.keyword_kind_); +inline void CreateTransformStmt::clear_fromsql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.fromsql_ != nullptr) _impl_.fromsql_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::pg_query::KeywordKind ScanToken::keyword_kind() const { - // @@protoc_insertion_point(field_get:pg_query.ScanToken.keyword_kind) - return _internal_keyword_kind(); +inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::_internal_fromsql() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.fromsql_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); } -inline void ScanToken::_internal_set_keyword_kind(::pg_query::KeywordKind value) { - - _impl_.keyword_kind_ = value; +inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::fromsql() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.fromsql) + return _internal_fromsql(); } -inline void ScanToken::set_keyword_kind(::pg_query::KeywordKind value) { - _internal_set_keyword_kind(value); - // @@protoc_insertion_point(field_set:pg_query.ScanToken.keyword_kind) +inline void CreateTransformStmt::unsafe_arena_set_allocated_fromsql(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fromsql_); + } + _impl_.fromsql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.fromsql) } +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::release_fromsql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::ObjectWithArgs* released = _impl_.fromsql_; + _impl_.fromsql_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::unsafe_arena_release_fromsql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.fromsql) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::ObjectWithArgs* temp = _impl_.fromsql_; + _impl_.fromsql_ = nullptr; + return temp; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::_internal_mutable_fromsql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.fromsql_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.fromsql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); + } + return _impl_.fromsql_; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::mutable_fromsql() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_fromsql(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.fromsql) + return _msg; +} +inline void CreateTransformStmt::set_allocated_fromsql(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.fromsql_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// ------------------------------------------------------------------- + _impl_.fromsql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.fromsql) +} -// ------------------------------------------------------------------- +// .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"]; +inline bool CreateTransformStmt::has_tosql() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.tosql_ != nullptr); + return value; +} +inline void CreateTransformStmt::clear_tosql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.tosql_ != nullptr) _impl_.tosql_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::_internal_tosql() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::ObjectWithArgs* p = _impl_.tosql_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_ObjectWithArgs_default_instance_); +} +inline const ::pg_query::ObjectWithArgs& CreateTransformStmt::tosql() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateTransformStmt.tosql) + return _internal_tosql(); +} +inline void CreateTransformStmt::unsafe_arena_set_allocated_tosql(::pg_query::ObjectWithArgs* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.tosql_); + } + _impl_.tosql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.CreateTransformStmt.tosql) +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::release_tosql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::ObjectWithArgs* released = _impl_.tosql_; + _impl_.tosql_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::unsafe_arena_release_tosql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateTransformStmt.tosql) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000004u; + ::pg_query::ObjectWithArgs* temp = _impl_.tosql_; + _impl_.tosql_ = nullptr; + return temp; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::_internal_mutable_tosql() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000004u; + if (_impl_.tosql_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::ObjectWithArgs>(GetArena()); + _impl_.tosql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(p); + } + return _impl_.tosql_; +} +inline ::pg_query::ObjectWithArgs* CreateTransformStmt::mutable_tosql() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::ObjectWithArgs* _msg = _internal_mutable_tosql(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateTransformStmt.tosql) + return _msg; +} +inline void CreateTransformStmt::set_allocated_tosql(::pg_query::ObjectWithArgs* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::ObjectWithArgs*>(_impl_.tosql_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::ObjectWithArgs*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } -// ------------------------------------------------------------------- + _impl_.tosql_ = reinterpret_cast<::pg_query::ObjectWithArgs*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateTransformStmt.tosql) +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// PrepareStmt -// ------------------------------------------------------------------- +// string name = 1 [json_name = "name"]; +inline void PrepareStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& PrepareStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void PrepareStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PrepareStmt.name) +} +inline std::string* PrepareStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.name) + return _s; +} +inline const std::string& PrepareStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void PrepareStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* PrepareStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* PrepareStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PrepareStmt.name) + return _impl_.name_.Release(); +} +inline void PrepareStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.PrepareStmt.name) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"]; +inline int PrepareStmt::_internal_argtypes_size() const { + return _internal_argtypes().size(); +} +inline int PrepareStmt::argtypes_size() const { + return _internal_argtypes_size(); +} +inline void PrepareStmt::clear_argtypes() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.argtypes_.Clear(); +} +inline ::pg_query::Node* PrepareStmt::mutable_argtypes(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.argtypes) + return _internal_mutable_argtypes()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PrepareStmt::mutable_argtypes() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PrepareStmt.argtypes) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_argtypes(); +} +inline const ::pg_query::Node& PrepareStmt::argtypes(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.argtypes) + return _internal_argtypes().Get(index); +} +inline ::pg_query::Node* PrepareStmt::add_argtypes() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_argtypes()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PrepareStmt.argtypes) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PrepareStmt::argtypes() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PrepareStmt.argtypes) + return _internal_argtypes(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PrepareStmt::_internal_argtypes() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.argtypes_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PrepareStmt::_internal_mutable_argtypes() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.argtypes_; +} -// ------------------------------------------------------------------- +// .pg_query.Node query = 3 [json_name = "query"]; +inline bool PrepareStmt::has_query() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.query_ != nullptr); + return value; +} +inline void PrepareStmt::clear_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.query_ != nullptr) _impl_.query_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::Node& PrepareStmt::_internal_query() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.query_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& PrepareStmt::query() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PrepareStmt.query) + return _internal_query(); +} +inline void PrepareStmt::unsafe_arena_set_allocated_query(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.query_); + } + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PrepareStmt.query) +} +inline ::pg_query::Node* PrepareStmt::release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* released = _impl_.query_; + _impl_.query_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* PrepareStmt::unsafe_arena_release_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PrepareStmt.query) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::Node* temp = _impl_.query_; + _impl_.query_ = nullptr; + return temp; +} +inline ::pg_query::Node* PrepareStmt::_internal_mutable_query() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.query_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.query_; +} +inline ::pg_query::Node* PrepareStmt::mutable_query() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_query(); + // @@protoc_insertion_point(field_mutable:pg_query.PrepareStmt.query) + return _msg; +} +inline void PrepareStmt::set_allocated_query(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.query_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// ------------------------------------------------------------------- + _impl_.query_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PrepareStmt.query) +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// ExecuteStmt -// ------------------------------------------------------------------- +// string name = 1 [json_name = "name"]; +inline void ExecuteStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& ExecuteStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ExecuteStmt.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ExecuteStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.ExecuteStmt.name) +} +inline std::string* ExecuteStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.ExecuteStmt.name) + return _s; +} +inline const std::string& ExecuteStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void ExecuteStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* ExecuteStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* ExecuteStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ExecuteStmt.name) + return _impl_.name_.Release(); +} +inline void ExecuteStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.ExecuteStmt.name) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node params = 2 [json_name = "params"]; +inline int ExecuteStmt::_internal_params_size() const { + return _internal_params().size(); +} +inline int ExecuteStmt::params_size() const { + return _internal_params_size(); +} +inline void ExecuteStmt::clear_params() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.params_.Clear(); +} +inline ::pg_query::Node* ExecuteStmt::mutable_params(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ExecuteStmt.params) + return _internal_mutable_params()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ExecuteStmt::mutable_params() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ExecuteStmt.params) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_params(); +} +inline const ::pg_query::Node& ExecuteStmt::params(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ExecuteStmt.params) + return _internal_params().Get(index); +} +inline ::pg_query::Node* ExecuteStmt::add_params() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_params()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ExecuteStmt.params) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ExecuteStmt::params() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ExecuteStmt.params) + return _internal_params(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ExecuteStmt::_internal_params() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.params_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ExecuteStmt::_internal_mutable_params() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.params_; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// DeallocateStmt -// ------------------------------------------------------------------- +// string name = 1 [json_name = "name"]; +inline void DeallocateStmt::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& DeallocateStmt::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void DeallocateStmt::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.name) +} +inline std::string* DeallocateStmt::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.DeallocateStmt.name) + return _s; +} +inline const std::string& DeallocateStmt::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void DeallocateStmt::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* DeallocateStmt::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* DeallocateStmt::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DeallocateStmt.name) + return _impl_.name_.Release(); +} +inline void DeallocateStmt::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DeallocateStmt.name) +} -// ------------------------------------------------------------------- +// bool isall = 2 [json_name = "isall"]; +inline void DeallocateStmt::clear_isall() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.isall_ = false; +} +inline bool DeallocateStmt::isall() const { + // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.isall) + return _internal_isall(); +} +inline void DeallocateStmt::set_isall(bool value) { + _internal_set_isall(value); + // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.isall) +} +inline bool DeallocateStmt::_internal_isall() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.isall_; +} +inline void DeallocateStmt::_internal_set_isall(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.isall_ = value; +} -// ------------------------------------------------------------------- +// int32 location = 3 [json_name = "location"]; +inline void DeallocateStmt::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t DeallocateStmt::location() const { + // @@protoc_insertion_point(field_get:pg_query.DeallocateStmt.location) + return _internal_location(); +} +inline void DeallocateStmt::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.DeallocateStmt.location) +} +inline ::int32_t DeallocateStmt::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void DeallocateStmt::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// DropOwnedStmt -// ------------------------------------------------------------------- +// repeated .pg_query.Node roles = 1 [json_name = "roles"]; +inline int DropOwnedStmt::_internal_roles_size() const { + return _internal_roles().size(); +} +inline int DropOwnedStmt::roles_size() const { + return _internal_roles_size(); +} +inline void DropOwnedStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); +} +inline ::pg_query::Node* DropOwnedStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.DropOwnedStmt.roles) + return _internal_mutable_roles()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* DropOwnedStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.DropOwnedStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); +} +inline const ::pg_query::Node& DropOwnedStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropOwnedStmt.roles) + return _internal_roles().Get(index); +} +inline ::pg_query::Node* DropOwnedStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.DropOwnedStmt.roles) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& DropOwnedStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.DropOwnedStmt.roles) + return _internal_roles(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +DropOwnedStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +DropOwnedStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; +} -// ------------------------------------------------------------------- +// .pg_query.DropBehavior behavior = 2 [json_name = "behavior"]; +inline void DropOwnedStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; +} +inline ::pg_query::DropBehavior DropOwnedStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.DropOwnedStmt.behavior) + return _internal_behavior(); +} +inline void DropOwnedStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.DropOwnedStmt.behavior) +} +inline ::pg_query::DropBehavior DropOwnedStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); +} +inline void DropOwnedStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// ReassignOwnedStmt -// ------------------------------------------------------------------- +// repeated .pg_query.Node roles = 1 [json_name = "roles"]; +inline int ReassignOwnedStmt::_internal_roles_size() const { + return _internal_roles().size(); +} +inline int ReassignOwnedStmt::roles_size() const { + return _internal_roles_size(); +} +inline void ReassignOwnedStmt::clear_roles() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.roles_.Clear(); +} +inline ::pg_query::Node* ReassignOwnedStmt::mutable_roles(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.ReassignOwnedStmt.roles) + return _internal_mutable_roles()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* ReassignOwnedStmt::mutable_roles() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.ReassignOwnedStmt.roles) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_roles(); +} +inline const ::pg_query::Node& ReassignOwnedStmt::roles(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReassignOwnedStmt.roles) + return _internal_roles().Get(index); +} +inline ::pg_query::Node* ReassignOwnedStmt::add_roles() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_roles()->Add(); + // @@protoc_insertion_point(field_add:pg_query.ReassignOwnedStmt.roles) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& ReassignOwnedStmt::roles() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.ReassignOwnedStmt.roles) + return _internal_roles(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +ReassignOwnedStmt::_internal_roles() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.roles_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +ReassignOwnedStmt::_internal_mutable_roles() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.roles_; +} -// ------------------------------------------------------------------- +// .pg_query.RoleSpec newrole = 2 [json_name = "newrole"]; +inline bool ReassignOwnedStmt::has_newrole() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.newrole_ != nullptr); + return value; +} +inline void ReassignOwnedStmt::clear_newrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.newrole_ != nullptr) _impl_.newrole_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RoleSpec& ReassignOwnedStmt::_internal_newrole() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RoleSpec* p = _impl_.newrole_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RoleSpec_default_instance_); +} +inline const ::pg_query::RoleSpec& ReassignOwnedStmt::newrole() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.ReassignOwnedStmt.newrole) + return _internal_newrole(); +} +inline void ReassignOwnedStmt::unsafe_arena_set_allocated_newrole(::pg_query::RoleSpec* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newrole_); + } + _impl_.newrole_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.ReassignOwnedStmt.newrole) +} +inline ::pg_query::RoleSpec* ReassignOwnedStmt::release_newrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* released = _impl_.newrole_; + _impl_.newrole_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::RoleSpec* ReassignOwnedStmt::unsafe_arena_release_newrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.ReassignOwnedStmt.newrole) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RoleSpec* temp = _impl_.newrole_; + _impl_.newrole_ = nullptr; + return temp; +} +inline ::pg_query::RoleSpec* ReassignOwnedStmt::_internal_mutable_newrole() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.newrole_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RoleSpec>(GetArena()); + _impl_.newrole_ = reinterpret_cast<::pg_query::RoleSpec*>(p); + } + return _impl_.newrole_; +} +inline ::pg_query::RoleSpec* ReassignOwnedStmt::mutable_newrole() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RoleSpec* _msg = _internal_mutable_newrole(); + // @@protoc_insertion_point(field_mutable:pg_query.ReassignOwnedStmt.newrole) + return _msg; +} +inline void ReassignOwnedStmt::set_allocated_newrole(::pg_query::RoleSpec* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RoleSpec*>(_impl_.newrole_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RoleSpec*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// ------------------------------------------------------------------- + _impl_.newrole_ = reinterpret_cast<::pg_query::RoleSpec*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.ReassignOwnedStmt.newrole) +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// AlterTSDictionaryStmt -// ------------------------------------------------------------------- +// repeated .pg_query.Node dictname = 1 [json_name = "dictname"]; +inline int AlterTSDictionaryStmt::_internal_dictname_size() const { + return _internal_dictname().size(); +} +inline int AlterTSDictionaryStmt::dictname_size() const { + return _internal_dictname_size(); +} +inline void AlterTSDictionaryStmt::clear_dictname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dictname_.Clear(); +} +inline ::pg_query::Node* AlterTSDictionaryStmt::mutable_dictname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTSDictionaryStmt.dictname) + return _internal_mutable_dictname()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTSDictionaryStmt::mutable_dictname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSDictionaryStmt.dictname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_dictname(); +} +inline const ::pg_query::Node& AlterTSDictionaryStmt::dictname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTSDictionaryStmt.dictname) + return _internal_dictname().Get(index); +} +inline ::pg_query::Node* AlterTSDictionaryStmt::add_dictname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_dictname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTSDictionaryStmt.dictname) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTSDictionaryStmt::dictname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTSDictionaryStmt.dictname) + return _internal_dictname(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTSDictionaryStmt::_internal_dictname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dictname_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTSDictionaryStmt::_internal_mutable_dictname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.dictname_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterTSDictionaryStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int AlterTSDictionaryStmt::options_size() const { + return _internal_options_size(); +} +inline void AlterTSDictionaryStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* AlterTSDictionaryStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTSDictionaryStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTSDictionaryStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSDictionaryStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterTSDictionaryStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTSDictionaryStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterTSDictionaryStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTSDictionaryStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTSDictionaryStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTSDictionaryStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTSDictionaryStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTSDictionaryStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// AlterTSConfigurationStmt -// ------------------------------------------------------------------- +// .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"]; +inline void AlterTSConfigurationStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; +} +inline ::pg_query::AlterTSConfigType AlterTSConfigurationStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.kind) + return _internal_kind(); +} +inline void AlterTSConfigurationStmt::set_kind(::pg_query::AlterTSConfigType value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.kind) +} +inline ::pg_query::AlterTSConfigType AlterTSConfigurationStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AlterTSConfigType>(_impl_.kind_); +} +inline void AlterTSConfigurationStmt::_internal_set_kind(::pg_query::AlterTSConfigType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"]; +inline int AlterTSConfigurationStmt::_internal_cfgname_size() const { + return _internal_cfgname().size(); +} +inline int AlterTSConfigurationStmt::cfgname_size() const { + return _internal_cfgname_size(); +} +inline void AlterTSConfigurationStmt::clear_cfgname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.cfgname_.Clear(); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_cfgname(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.cfgname) + return _internal_mutable_cfgname()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTSConfigurationStmt::mutable_cfgname() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.cfgname) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_cfgname(); +} +inline const ::pg_query::Node& AlterTSConfigurationStmt::cfgname(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.cfgname) + return _internal_cfgname().Get(index); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::add_cfgname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_cfgname()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.cfgname) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTSConfigurationStmt::cfgname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.cfgname) + return _internal_cfgname(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTSConfigurationStmt::_internal_cfgname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.cfgname_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTSConfigurationStmt::_internal_mutable_cfgname() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.cfgname_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"]; +inline int AlterTSConfigurationStmt::_internal_tokentype_size() const { + return _internal_tokentype().size(); +} +inline int AlterTSConfigurationStmt::tokentype_size() const { + return _internal_tokentype_size(); +} +inline void AlterTSConfigurationStmt::clear_tokentype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.tokentype_.Clear(); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_tokentype(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.tokentype) + return _internal_mutable_tokentype()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTSConfigurationStmt::mutable_tokentype() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.tokentype) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_tokentype(); +} +inline const ::pg_query::Node& AlterTSConfigurationStmt::tokentype(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.tokentype) + return _internal_tokentype().Get(index); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::add_tokentype() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_tokentype()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.tokentype) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTSConfigurationStmt::tokentype() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.tokentype) + return _internal_tokentype(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTSConfigurationStmt::_internal_tokentype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.tokentype_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTSConfigurationStmt::_internal_mutable_tokentype() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.tokentype_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node dicts = 4 [json_name = "dicts"]; +inline int AlterTSConfigurationStmt::_internal_dicts_size() const { + return _internal_dicts().size(); +} +inline int AlterTSConfigurationStmt::dicts_size() const { + return _internal_dicts_size(); +} +inline void AlterTSConfigurationStmt::clear_dicts() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.dicts_.Clear(); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::mutable_dicts(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterTSConfigurationStmt.dicts) + return _internal_mutable_dicts()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterTSConfigurationStmt::mutable_dicts() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterTSConfigurationStmt.dicts) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_dicts(); +} +inline const ::pg_query::Node& AlterTSConfigurationStmt::dicts(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.dicts) + return _internal_dicts().Get(index); +} +inline ::pg_query::Node* AlterTSConfigurationStmt::add_dicts() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_dicts()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterTSConfigurationStmt.dicts) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterTSConfigurationStmt::dicts() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterTSConfigurationStmt.dicts) + return _internal_dicts(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterTSConfigurationStmt::_internal_dicts() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.dicts_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterTSConfigurationStmt::_internal_mutable_dicts() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.dicts_; +} -// ------------------------------------------------------------------- +// bool override = 5 [json_name = "override"]; +inline void AlterTSConfigurationStmt::clear_override() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.override_ = false; +} +inline bool AlterTSConfigurationStmt::override() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.override) + return _internal_override(); +} +inline void AlterTSConfigurationStmt::set_override(bool value) { + _internal_set_override(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.override) +} +inline bool AlterTSConfigurationStmt::_internal_override() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.override_; +} +inline void AlterTSConfigurationStmt::_internal_set_override(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.override_ = value; +} -// ------------------------------------------------------------------- +// bool replace = 6 [json_name = "replace"]; +inline void AlterTSConfigurationStmt::clear_replace() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.replace_ = false; +} +inline bool AlterTSConfigurationStmt::replace() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.replace) + return _internal_replace(); +} +inline void AlterTSConfigurationStmt::set_replace(bool value) { + _internal_set_replace(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.replace) +} +inline bool AlterTSConfigurationStmt::_internal_replace() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.replace_; +} +inline void AlterTSConfigurationStmt::_internal_set_replace(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.replace_ = value; +} -// ------------------------------------------------------------------- +// bool missing_ok = 7 [json_name = "missing_ok"]; +inline void AlterTSConfigurationStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; +} +inline bool AlterTSConfigurationStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.AlterTSConfigurationStmt.missing_ok) + return _internal_missing_ok(); +} +inline void AlterTSConfigurationStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.AlterTSConfigurationStmt.missing_ok) +} +inline bool AlterTSConfigurationStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; +} +inline void AlterTSConfigurationStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// PublicationTable -// ------------------------------------------------------------------- +// .pg_query.RangeVar relation = 1 [json_name = "relation"]; +inline bool PublicationTable::has_relation() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.relation_ != nullptr); + return value; +} +inline void PublicationTable::clear_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.relation_ != nullptr) _impl_.relation_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::RangeVar& PublicationTable::_internal_relation() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::RangeVar* p = _impl_.relation_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_RangeVar_default_instance_); +} +inline const ::pg_query::RangeVar& PublicationTable::relation() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PublicationTable.relation) + return _internal_relation(); +} +inline void PublicationTable::unsafe_arena_set_allocated_relation(::pg_query::RangeVar* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.relation_); + } + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationTable.relation) +} +inline ::pg_query::RangeVar* PublicationTable::release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* released = _impl_.relation_; + _impl_.relation_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::RangeVar* PublicationTable::unsafe_arena_release_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PublicationTable.relation) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::RangeVar* temp = _impl_.relation_; + _impl_.relation_ = nullptr; + return temp; +} +inline ::pg_query::RangeVar* PublicationTable::_internal_mutable_relation() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.relation_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::RangeVar>(GetArena()); + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(p); + } + return _impl_.relation_; +} +inline ::pg_query::RangeVar* PublicationTable::mutable_relation() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::RangeVar* _msg = _internal_mutable_relation(); + // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.relation) + return _msg; +} +inline void PublicationTable::set_allocated_relation(::pg_query::RangeVar* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::RangeVar*>(_impl_.relation_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::RangeVar*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// ------------------------------------------------------------------- + _impl_.relation_ = reinterpret_cast<::pg_query::RangeVar*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationTable.relation) +} -// ------------------------------------------------------------------- +// .pg_query.Node where_clause = 2 [json_name = "whereClause"]; +inline bool PublicationTable::has_where_clause() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.where_clause_ != nullptr); + return value; +} +inline void PublicationTable::clear_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.where_clause_ != nullptr) _impl_.where_clause_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::pg_query::Node& PublicationTable::_internal_where_clause() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::Node* p = _impl_.where_clause_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_Node_default_instance_); +} +inline const ::pg_query::Node& PublicationTable::where_clause() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PublicationTable.where_clause) + return _internal_where_clause(); +} +inline void PublicationTable::unsafe_arena_set_allocated_where_clause(::pg_query::Node* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.where_clause_); + } + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationTable.where_clause) +} +inline ::pg_query::Node* PublicationTable::release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* released = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::Node* PublicationTable::unsafe_arena_release_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PublicationTable.where_clause) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000002u; + ::pg_query::Node* temp = _impl_.where_clause_; + _impl_.where_clause_ = nullptr; + return temp; +} +inline ::pg_query::Node* PublicationTable::_internal_mutable_where_clause() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000002u; + if (_impl_.where_clause_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::Node>(GetArena()); + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(p); + } + return _impl_.where_clause_; +} +inline ::pg_query::Node* PublicationTable::mutable_where_clause() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::Node* _msg = _internal_mutable_where_clause(); + // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.where_clause) + return _msg; +} +inline void PublicationTable::set_allocated_where_clause(::pg_query::Node* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::Node*>(_impl_.where_clause_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::Node*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } -// ------------------------------------------------------------------- + _impl_.where_clause_ = reinterpret_cast<::pg_query::Node*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationTable.where_clause) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node columns = 3 [json_name = "columns"]; +inline int PublicationTable::_internal_columns_size() const { + return _internal_columns().size(); +} +inline int PublicationTable::columns_size() const { + return _internal_columns_size(); +} +inline void PublicationTable::clear_columns() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.columns_.Clear(); +} +inline ::pg_query::Node* PublicationTable::mutable_columns(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.PublicationTable.columns) + return _internal_mutable_columns()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* PublicationTable::mutable_columns() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.PublicationTable.columns) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_columns(); +} +inline const ::pg_query::Node& PublicationTable::columns(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PublicationTable.columns) + return _internal_columns().Get(index); +} +inline ::pg_query::Node* PublicationTable::add_columns() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_columns()->Add(); + // @@protoc_insertion_point(field_add:pg_query.PublicationTable.columns) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& PublicationTable::columns() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.PublicationTable.columns) + return _internal_columns(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +PublicationTable::_internal_columns() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.columns_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +PublicationTable::_internal_mutable_columns() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.columns_; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// PublicationObjSpec -// ------------------------------------------------------------------- +// .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"]; +inline void PublicationObjSpec::clear_pubobjtype() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubobjtype_ = 0; +} +inline ::pg_query::PublicationObjSpecType PublicationObjSpec::pubobjtype() const { + // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.pubobjtype) + return _internal_pubobjtype(); +} +inline void PublicationObjSpec::set_pubobjtype(::pg_query::PublicationObjSpecType value) { + _internal_set_pubobjtype(value); + // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.pubobjtype) +} +inline ::pg_query::PublicationObjSpecType PublicationObjSpec::_internal_pubobjtype() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::PublicationObjSpecType>(_impl_.pubobjtype_); +} +inline void PublicationObjSpec::_internal_set_pubobjtype(::pg_query::PublicationObjSpecType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pubobjtype_ = value; +} -// ------------------------------------------------------------------- +// string name = 2 [json_name = "name"]; +inline void PublicationObjSpec::clear_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& PublicationObjSpec::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void PublicationObjSpec::set_name(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.name) +} +inline std::string* PublicationObjSpec::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:pg_query.PublicationObjSpec.name) + return _s; +} +inline const std::string& PublicationObjSpec::_internal_name() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.name_.Get(); +} +inline void PublicationObjSpec::_internal_set_name(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.name_.Set(value, GetArena()); +} +inline std::string* PublicationObjSpec::_internal_mutable_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* PublicationObjSpec::release_name() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PublicationObjSpec.name) + return _impl_.name_.Release(); +} +inline void PublicationObjSpec::set_allocated_name(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.name_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationObjSpec.name) +} -// ------------------------------------------------------------------- +// .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"]; +inline bool PublicationObjSpec::has_pubtable() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.pubtable_ != nullptr); + return value; +} +inline void PublicationObjSpec::clear_pubtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (_impl_.pubtable_ != nullptr) _impl_.pubtable_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::pg_query::PublicationTable& PublicationObjSpec::_internal_pubtable() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + const ::pg_query::PublicationTable* p = _impl_.pubtable_; + return p != nullptr ? *p : reinterpret_cast(::pg_query::_PublicationTable_default_instance_); +} +inline const ::pg_query::PublicationTable& PublicationObjSpec::pubtable() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.pubtable) + return _internal_pubtable(); +} +inline void PublicationObjSpec::unsafe_arena_set_allocated_pubtable(::pg_query::PublicationTable* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.pubtable_); + } + _impl_.pubtable_ = reinterpret_cast<::pg_query::PublicationTable*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:pg_query.PublicationObjSpec.pubtable) +} +inline ::pg_query::PublicationTable* PublicationObjSpec::release_pubtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::PublicationTable* released = _impl_.pubtable_; + _impl_.pubtable_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::pg_query::PublicationTable* PublicationObjSpec::unsafe_arena_release_pubtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.PublicationObjSpec.pubtable) -// ------------------------------------------------------------------- + _impl_._has_bits_[0] &= ~0x00000001u; + ::pg_query::PublicationTable* temp = _impl_.pubtable_; + _impl_.pubtable_ = nullptr; + return temp; +} +inline ::pg_query::PublicationTable* PublicationObjSpec::_internal_mutable_pubtable() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_._has_bits_[0] |= 0x00000001u; + if (_impl_.pubtable_ == nullptr) { + auto* p = CreateMaybeMessage<::pg_query::PublicationTable>(GetArena()); + _impl_.pubtable_ = reinterpret_cast<::pg_query::PublicationTable*>(p); + } + return _impl_.pubtable_; +} +inline ::pg_query::PublicationTable* PublicationObjSpec::mutable_pubtable() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::pg_query::PublicationTable* _msg = _internal_mutable_pubtable(); + // @@protoc_insertion_point(field_mutable:pg_query.PublicationObjSpec.pubtable) + return _msg; +} +inline void PublicationObjSpec::set_allocated_pubtable(::pg_query::PublicationTable* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + if (message_arena == nullptr) { + delete reinterpret_cast<::pg_query::PublicationTable*>(_impl_.pubtable_); + } -// ------------------------------------------------------------------- + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::pg_query::PublicationTable*>(value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } -// ------------------------------------------------------------------- + _impl_.pubtable_ = reinterpret_cast<::pg_query::PublicationTable*>(value); + // @@protoc_insertion_point(field_set_allocated:pg_query.PublicationObjSpec.pubtable) +} -// ------------------------------------------------------------------- +// int32 location = 4 [json_name = "location"]; +inline void PublicationObjSpec::clear_location() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.location_ = 0; +} +inline ::int32_t PublicationObjSpec::location() const { + // @@protoc_insertion_point(field_get:pg_query.PublicationObjSpec.location) + return _internal_location(); +} +inline void PublicationObjSpec::set_location(::int32_t value) { + _internal_set_location(value); + // @@protoc_insertion_point(field_set:pg_query.PublicationObjSpec.location) +} +inline ::int32_t PublicationObjSpec::_internal_location() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.location_; +} +inline void PublicationObjSpec::_internal_set_location(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.location_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// CreatePublicationStmt -// ------------------------------------------------------------------- +// string pubname = 1 [json_name = "pubname"]; +inline void CreatePublicationStmt::clear_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubname_.ClearToEmpty(); +} +inline const std::string& CreatePublicationStmt::pubname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.pubname) + return _internal_pubname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreatePublicationStmt::set_pubname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pubname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreatePublicationStmt.pubname) +} +inline std::string* CreatePublicationStmt::mutable_pubname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_pubname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.pubname) + return _s; +} +inline const std::string& CreatePublicationStmt::_internal_pubname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pubname_.Get(); +} +inline void CreatePublicationStmt::_internal_set_pubname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pubname_.Set(value, GetArena()); +} +inline std::string* CreatePublicationStmt::_internal_mutable_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.pubname_.Mutable( GetArena()); +} +inline std::string* CreatePublicationStmt::release_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreatePublicationStmt.pubname) + return _impl_.pubname_.Release(); +} +inline void CreatePublicationStmt::set_allocated_pubname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.pubname_.IsDefault()) { + _impl_.pubname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreatePublicationStmt.pubname) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int CreatePublicationStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int CreatePublicationStmt::options_size() const { + return _internal_options_size(); +} +inline void CreatePublicationStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* CreatePublicationStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePublicationStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePublicationStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& CreatePublicationStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* CreatePublicationStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePublicationStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePublicationStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePublicationStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePublicationStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePublicationStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; +inline int CreatePublicationStmt::_internal_pubobjects_size() const { + return _internal_pubobjects().size(); +} +inline int CreatePublicationStmt::pubobjects_size() const { + return _internal_pubobjects_size(); +} +inline void CreatePublicationStmt::clear_pubobjects() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubobjects_.Clear(); +} +inline ::pg_query::Node* CreatePublicationStmt::mutable_pubobjects(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreatePublicationStmt.pubobjects) + return _internal_mutable_pubobjects()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreatePublicationStmt::mutable_pubobjects() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreatePublicationStmt.pubobjects) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_pubobjects(); +} +inline const ::pg_query::Node& CreatePublicationStmt::pubobjects(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.pubobjects) + return _internal_pubobjects().Get(index); +} +inline ::pg_query::Node* CreatePublicationStmt::add_pubobjects() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_pubobjects()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreatePublicationStmt.pubobjects) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreatePublicationStmt::pubobjects() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreatePublicationStmt.pubobjects) + return _internal_pubobjects(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreatePublicationStmt::_internal_pubobjects() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pubobjects_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreatePublicationStmt::_internal_mutable_pubobjects() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.pubobjects_; +} -// ------------------------------------------------------------------- +// bool for_all_tables = 4 [json_name = "for_all_tables"]; +inline void CreatePublicationStmt::clear_for_all_tables() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_all_tables_ = false; +} +inline bool CreatePublicationStmt::for_all_tables() const { + // @@protoc_insertion_point(field_get:pg_query.CreatePublicationStmt.for_all_tables) + return _internal_for_all_tables(); +} +inline void CreatePublicationStmt::set_for_all_tables(bool value) { + _internal_set_for_all_tables(value); + // @@protoc_insertion_point(field_set:pg_query.CreatePublicationStmt.for_all_tables) +} +inline bool CreatePublicationStmt::_internal_for_all_tables() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_all_tables_; +} +inline void CreatePublicationStmt::_internal_set_for_all_tables(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_all_tables_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// AlterPublicationStmt -// ------------------------------------------------------------------- +// string pubname = 1 [json_name = "pubname"]; +inline void AlterPublicationStmt::clear_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubname_.ClearToEmpty(); +} +inline const std::string& AlterPublicationStmt::pubname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.pubname) + return _internal_pubname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AlterPublicationStmt::set_pubname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pubname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.pubname) +} +inline std::string* AlterPublicationStmt::mutable_pubname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_pubname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.pubname) + return _s; +} +inline const std::string& AlterPublicationStmt::_internal_pubname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pubname_.Get(); +} +inline void AlterPublicationStmt::_internal_set_pubname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.pubname_.Set(value, GetArena()); +} +inline std::string* AlterPublicationStmt::_internal_mutable_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.pubname_.Mutable( GetArena()); +} +inline std::string* AlterPublicationStmt::release_pubname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterPublicationStmt.pubname) + return _impl_.pubname_.Release(); +} +inline void AlterPublicationStmt::set_allocated_pubname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.pubname_.IsDefault()) { + _impl_.pubname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterPublicationStmt.pubname) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node options = 2 [json_name = "options"]; +inline int AlterPublicationStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int AlterPublicationStmt::options_size() const { + return _internal_options_size(); +} +inline void AlterPublicationStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* AlterPublicationStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterPublicationStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPublicationStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterPublicationStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterPublicationStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterPublicationStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterPublicationStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterPublicationStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterPublicationStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterPublicationStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"]; +inline int AlterPublicationStmt::_internal_pubobjects_size() const { + return _internal_pubobjects().size(); +} +inline int AlterPublicationStmt::pubobjects_size() const { + return _internal_pubobjects_size(); +} +inline void AlterPublicationStmt::clear_pubobjects() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.pubobjects_.Clear(); +} +inline ::pg_query::Node* AlterPublicationStmt::mutable_pubobjects(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterPublicationStmt.pubobjects) + return _internal_mutable_pubobjects()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterPublicationStmt::mutable_pubobjects() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterPublicationStmt.pubobjects) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_pubobjects(); +} +inline const ::pg_query::Node& AlterPublicationStmt::pubobjects(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.pubobjects) + return _internal_pubobjects().Get(index); +} +inline ::pg_query::Node* AlterPublicationStmt::add_pubobjects() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_pubobjects()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterPublicationStmt.pubobjects) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterPublicationStmt::pubobjects() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterPublicationStmt.pubobjects) + return _internal_pubobjects(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterPublicationStmt::_internal_pubobjects() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.pubobjects_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterPublicationStmt::_internal_mutable_pubobjects() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.pubobjects_; +} -// ------------------------------------------------------------------- +// bool for_all_tables = 4 [json_name = "for_all_tables"]; +inline void AlterPublicationStmt::clear_for_all_tables() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.for_all_tables_ = false; +} +inline bool AlterPublicationStmt::for_all_tables() const { + // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.for_all_tables) + return _internal_for_all_tables(); +} +inline void AlterPublicationStmt::set_for_all_tables(bool value) { + _internal_set_for_all_tables(value); + // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.for_all_tables) +} +inline bool AlterPublicationStmt::_internal_for_all_tables() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.for_all_tables_; +} +inline void AlterPublicationStmt::_internal_set_for_all_tables(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.for_all_tables_ = value; +} -// ------------------------------------------------------------------- +// .pg_query.AlterPublicationAction action = 5 [json_name = "action"]; +inline void AlterPublicationStmt::clear_action() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.action_ = 0; +} +inline ::pg_query::AlterPublicationAction AlterPublicationStmt::action() const { + // @@protoc_insertion_point(field_get:pg_query.AlterPublicationStmt.action) + return _internal_action(); +} +inline void AlterPublicationStmt::set_action(::pg_query::AlterPublicationAction value) { + _internal_set_action(value); + // @@protoc_insertion_point(field_set:pg_query.AlterPublicationStmt.action) +} +inline ::pg_query::AlterPublicationAction AlterPublicationStmt::_internal_action() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AlterPublicationAction>(_impl_.action_); +} +inline void AlterPublicationStmt::_internal_set_action(::pg_query::AlterPublicationAction value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.action_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// CreateSubscriptionStmt -// ------------------------------------------------------------------- +// string subname = 1 [json_name = "subname"]; +inline void CreateSubscriptionStmt::clear_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.ClearToEmpty(); +} +inline const std::string& CreateSubscriptionStmt::subname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.subname) + return _internal_subname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateSubscriptionStmt::set_subname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateSubscriptionStmt.subname) +} +inline std::string* CreateSubscriptionStmt::mutable_subname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_subname(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.subname) + return _s; +} +inline const std::string& CreateSubscriptionStmt::_internal_subname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.subname_.Get(); +} +inline void CreateSubscriptionStmt::_internal_set_subname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(value, GetArena()); +} +inline std::string* CreateSubscriptionStmt::_internal_mutable_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.subname_.Mutable( GetArena()); +} +inline std::string* CreateSubscriptionStmt::release_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateSubscriptionStmt.subname) + return _impl_.subname_.Release(); +} +inline void CreateSubscriptionStmt::set_allocated_subname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.subname_.IsDefault()) { + _impl_.subname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSubscriptionStmt.subname) +} -// ------------------------------------------------------------------- +// string conninfo = 2 [json_name = "conninfo"]; +inline void CreateSubscriptionStmt::clear_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conninfo_.ClearToEmpty(); +} +inline const std::string& CreateSubscriptionStmt::conninfo() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.conninfo) + return _internal_conninfo(); +} +template +inline PROTOBUF_ALWAYS_INLINE void CreateSubscriptionStmt::set_conninfo(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conninfo_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.CreateSubscriptionStmt.conninfo) +} +inline std::string* CreateSubscriptionStmt::mutable_conninfo() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conninfo(); + // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.conninfo) + return _s; +} +inline const std::string& CreateSubscriptionStmt::_internal_conninfo() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conninfo_.Get(); +} +inline void CreateSubscriptionStmt::_internal_set_conninfo(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conninfo_.Set(value, GetArena()); +} +inline std::string* CreateSubscriptionStmt::_internal_mutable_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conninfo_.Mutable( GetArena()); +} +inline std::string* CreateSubscriptionStmt::release_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.CreateSubscriptionStmt.conninfo) + return _impl_.conninfo_.Release(); +} +inline void CreateSubscriptionStmt::set_allocated_conninfo(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conninfo_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conninfo_.IsDefault()) { + _impl_.conninfo_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.CreateSubscriptionStmt.conninfo) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node publication = 3 [json_name = "publication"]; +inline int CreateSubscriptionStmt::_internal_publication_size() const { + return _internal_publication().size(); +} +inline int CreateSubscriptionStmt::publication_size() const { + return _internal_publication_size(); +} +inline void CreateSubscriptionStmt::clear_publication() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.publication_.Clear(); +} +inline ::pg_query::Node* CreateSubscriptionStmt::mutable_publication(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.publication) + return _internal_mutable_publication()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateSubscriptionStmt::mutable_publication() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSubscriptionStmt.publication) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_publication(); +} +inline const ::pg_query::Node& CreateSubscriptionStmt::publication(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.publication) + return _internal_publication().Get(index); +} +inline ::pg_query::Node* CreateSubscriptionStmt::add_publication() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_publication()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateSubscriptionStmt.publication) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateSubscriptionStmt::publication() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateSubscriptionStmt.publication) + return _internal_publication(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateSubscriptionStmt::_internal_publication() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.publication_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateSubscriptionStmt::_internal_mutable_publication() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.publication_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node options = 4 [json_name = "options"]; +inline int CreateSubscriptionStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int CreateSubscriptionStmt::options_size() const { + return _internal_options_size(); +} +inline void CreateSubscriptionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* CreateSubscriptionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.CreateSubscriptionStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* CreateSubscriptionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.CreateSubscriptionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& CreateSubscriptionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.CreateSubscriptionStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* CreateSubscriptionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.CreateSubscriptionStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& CreateSubscriptionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.CreateSubscriptionStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +CreateSubscriptionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +CreateSubscriptionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// AlterSubscriptionStmt -// ------------------------------------------------------------------- +// .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"]; +inline void AlterSubscriptionStmt::clear_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.kind_ = 0; +} +inline ::pg_query::AlterSubscriptionType AlterSubscriptionStmt::kind() const { + // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.kind) + return _internal_kind(); +} +inline void AlterSubscriptionStmt::set_kind(::pg_query::AlterSubscriptionType value) { + _internal_set_kind(value); + // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.kind) +} +inline ::pg_query::AlterSubscriptionType AlterSubscriptionStmt::_internal_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::AlterSubscriptionType>(_impl_.kind_); +} +inline void AlterSubscriptionStmt::_internal_set_kind(::pg_query::AlterSubscriptionType value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.kind_ = value; +} -// ------------------------------------------------------------------- +// string subname = 2 [json_name = "subname"]; +inline void AlterSubscriptionStmt::clear_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.ClearToEmpty(); +} +inline const std::string& AlterSubscriptionStmt::subname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.subname) + return _internal_subname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AlterSubscriptionStmt::set_subname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.subname) +} +inline std::string* AlterSubscriptionStmt::mutable_subname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_subname(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.subname) + return _s; +} +inline const std::string& AlterSubscriptionStmt::_internal_subname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.subname_.Get(); +} +inline void AlterSubscriptionStmt::_internal_set_subname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(value, GetArena()); +} +inline std::string* AlterSubscriptionStmt::_internal_mutable_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.subname_.Mutable( GetArena()); +} +inline std::string* AlterSubscriptionStmt::release_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterSubscriptionStmt.subname) + return _impl_.subname_.Release(); +} +inline void AlterSubscriptionStmt::set_allocated_subname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.subname_.IsDefault()) { + _impl_.subname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSubscriptionStmt.subname) +} -// ------------------------------------------------------------------- +// string conninfo = 3 [json_name = "conninfo"]; +inline void AlterSubscriptionStmt::clear_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conninfo_.ClearToEmpty(); +} +inline const std::string& AlterSubscriptionStmt::conninfo() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.conninfo) + return _internal_conninfo(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AlterSubscriptionStmt::set_conninfo(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conninfo_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.AlterSubscriptionStmt.conninfo) +} +inline std::string* AlterSubscriptionStmt::mutable_conninfo() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_conninfo(); + // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.conninfo) + return _s; +} +inline const std::string& AlterSubscriptionStmt::_internal_conninfo() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.conninfo_.Get(); +} +inline void AlterSubscriptionStmt::_internal_set_conninfo(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.conninfo_.Set(value, GetArena()); +} +inline std::string* AlterSubscriptionStmt::_internal_mutable_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.conninfo_.Mutable( GetArena()); +} +inline std::string* AlterSubscriptionStmt::release_conninfo() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.AlterSubscriptionStmt.conninfo) + return _impl_.conninfo_.Release(); +} +inline void AlterSubscriptionStmt::set_allocated_conninfo(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.conninfo_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.conninfo_.IsDefault()) { + _impl_.conninfo_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.AlterSubscriptionStmt.conninfo) +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node publication = 4 [json_name = "publication"]; +inline int AlterSubscriptionStmt::_internal_publication_size() const { + return _internal_publication().size(); +} +inline int AlterSubscriptionStmt::publication_size() const { + return _internal_publication_size(); +} +inline void AlterSubscriptionStmt::clear_publication() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.publication_.Clear(); +} +inline ::pg_query::Node* AlterSubscriptionStmt::mutable_publication(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.publication) + return _internal_mutable_publication()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterSubscriptionStmt::mutable_publication() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSubscriptionStmt.publication) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_publication(); +} +inline const ::pg_query::Node& AlterSubscriptionStmt::publication(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.publication) + return _internal_publication().Get(index); +} +inline ::pg_query::Node* AlterSubscriptionStmt::add_publication() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_publication()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterSubscriptionStmt.publication) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterSubscriptionStmt::publication() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterSubscriptionStmt.publication) + return _internal_publication(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterSubscriptionStmt::_internal_publication() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.publication_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterSubscriptionStmt::_internal_mutable_publication() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.publication_; +} -// ------------------------------------------------------------------- +// repeated .pg_query.Node options = 5 [json_name = "options"]; +inline int AlterSubscriptionStmt::_internal_options_size() const { + return _internal_options().size(); +} +inline int AlterSubscriptionStmt::options_size() const { + return _internal_options_size(); +} +inline void AlterSubscriptionStmt::clear_options() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.options_.Clear(); +} +inline ::pg_query::Node* AlterSubscriptionStmt::mutable_options(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:pg_query.AlterSubscriptionStmt.options) + return _internal_mutable_options()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* AlterSubscriptionStmt::mutable_options() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:pg_query.AlterSubscriptionStmt.options) + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + return _internal_mutable_options(); +} +inline const ::pg_query::Node& AlterSubscriptionStmt::options(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.AlterSubscriptionStmt.options) + return _internal_options().Get(index); +} +inline ::pg_query::Node* AlterSubscriptionStmt::add_options() ABSL_ATTRIBUTE_LIFETIME_BOUND { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ::pg_query::Node* _add = _internal_mutable_options()->Add(); + // @@protoc_insertion_point(field_add:pg_query.AlterSubscriptionStmt.options) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& AlterSubscriptionStmt::options() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:pg_query.AlterSubscriptionStmt.options) + return _internal_options(); +} +inline const ::google::protobuf::RepeatedPtrField<::pg_query::Node>& +AlterSubscriptionStmt::_internal_options() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.options_; +} +inline ::google::protobuf::RepeatedPtrField<::pg_query::Node>* +AlterSubscriptionStmt::_internal_mutable_options() { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return &_impl_.options_; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// DropSubscriptionStmt -// ------------------------------------------------------------------- +// string subname = 1 [json_name = "subname"]; +inline void DropSubscriptionStmt::clear_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.ClearToEmpty(); +} +inline const std::string& DropSubscriptionStmt::subname() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.subname) + return _internal_subname(); +} +template +inline PROTOBUF_ALWAYS_INLINE void DropSubscriptionStmt::set_subname(Arg_&& arg, + Args_... args) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.subname) +} +inline std::string* DropSubscriptionStmt::mutable_subname() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_subname(); + // @@protoc_insertion_point(field_mutable:pg_query.DropSubscriptionStmt.subname) + return _s; +} +inline const std::string& DropSubscriptionStmt::_internal_subname() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.subname_.Get(); +} +inline void DropSubscriptionStmt::_internal_set_subname(const std::string& value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.subname_.Set(value, GetArena()); +} +inline std::string* DropSubscriptionStmt::_internal_mutable_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + return _impl_.subname_.Mutable( GetArena()); +} +inline std::string* DropSubscriptionStmt::release_subname() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + // @@protoc_insertion_point(field_release:pg_query.DropSubscriptionStmt.subname) + return _impl_.subname_.Release(); +} +inline void DropSubscriptionStmt::set_allocated_subname(std::string* value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.subname_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.subname_.IsDefault()) { + _impl_.subname_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:pg_query.DropSubscriptionStmt.subname) +} -// ------------------------------------------------------------------- +// bool missing_ok = 2 [json_name = "missing_ok"]; +inline void DropSubscriptionStmt::clear_missing_ok() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.missing_ok_ = false; +} +inline bool DropSubscriptionStmt::missing_ok() const { + // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.missing_ok) + return _internal_missing_ok(); +} +inline void DropSubscriptionStmt::set_missing_ok(bool value) { + _internal_set_missing_ok(value); + // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.missing_ok) +} +inline bool DropSubscriptionStmt::_internal_missing_ok() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.missing_ok_; +} +inline void DropSubscriptionStmt::_internal_set_missing_ok(bool value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.missing_ok_ = value; +} -// ------------------------------------------------------------------- +// .pg_query.DropBehavior behavior = 3 [json_name = "behavior"]; +inline void DropSubscriptionStmt::clear_behavior() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.behavior_ = 0; +} +inline ::pg_query::DropBehavior DropSubscriptionStmt::behavior() const { + // @@protoc_insertion_point(field_get:pg_query.DropSubscriptionStmt.behavior) + return _internal_behavior(); +} +inline void DropSubscriptionStmt::set_behavior(::pg_query::DropBehavior value) { + _internal_set_behavior(value); + // @@protoc_insertion_point(field_set:pg_query.DropSubscriptionStmt.behavior) +} +inline ::pg_query::DropBehavior DropSubscriptionStmt::_internal_behavior() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::DropBehavior>(_impl_.behavior_); +} +inline void DropSubscriptionStmt::_internal_set_behavior(::pg_query::DropBehavior value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.behavior_ = value; +} // ------------------------------------------------------------------- -// ------------------------------------------------------------------- +// ScanToken -// ------------------------------------------------------------------- +// int32 start = 1; +inline void ScanToken::clear_start() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.start_ = 0; +} +inline ::int32_t ScanToken::start() const { + // @@protoc_insertion_point(field_get:pg_query.ScanToken.start) + return _internal_start(); +} +inline void ScanToken::set_start(::int32_t value) { + _internal_set_start(value); + // @@protoc_insertion_point(field_set:pg_query.ScanToken.start) +} +inline ::int32_t ScanToken::_internal_start() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.start_; +} +inline void ScanToken::_internal_set_start(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.start_ = value; +} -// ------------------------------------------------------------------- +// int32 end = 2; +inline void ScanToken::clear_end() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.end_ = 0; +} +inline ::int32_t ScanToken::end() const { + // @@protoc_insertion_point(field_get:pg_query.ScanToken.end) + return _internal_end(); +} +inline void ScanToken::set_end(::int32_t value) { + _internal_set_end(value); + // @@protoc_insertion_point(field_set:pg_query.ScanToken.end) +} +inline ::int32_t ScanToken::_internal_end() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return _impl_.end_; +} +inline void ScanToken::_internal_set_end(::int32_t value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.end_ = value; +} -// ------------------------------------------------------------------- +// .pg_query.Token token = 4; +inline void ScanToken::clear_token() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.token_ = 0; +} +inline ::pg_query::Token ScanToken::token() const { + // @@protoc_insertion_point(field_get:pg_query.ScanToken.token) + return _internal_token(); +} +inline void ScanToken::set_token(::pg_query::Token value) { + _internal_set_token(value); + // @@protoc_insertion_point(field_set:pg_query.ScanToken.token) +} +inline ::pg_query::Token ScanToken::_internal_token() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::Token>(_impl_.token_); +} +inline void ScanToken::_internal_set_token(::pg_query::Token value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.token_ = value; +} -// ------------------------------------------------------------------- +// .pg_query.KeywordKind keyword_kind = 5; +inline void ScanToken::clear_keyword_kind() { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + _impl_.keyword_kind_ = 0; +} +inline ::pg_query::KeywordKind ScanToken::keyword_kind() const { + // @@protoc_insertion_point(field_get:pg_query.ScanToken.keyword_kind) + return _internal_keyword_kind(); +} +inline void ScanToken::set_keyword_kind(::pg_query::KeywordKind value) { + _internal_set_keyword_kind(value); + // @@protoc_insertion_point(field_set:pg_query.ScanToken.keyword_kind) +} +inline ::pg_query::KeywordKind ScanToken::_internal_keyword_kind() const { + PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race); + return static_cast<::pg_query::KeywordKind>(_impl_.keyword_kind_); +} +inline void ScanToken::_internal_set_keyword_kind(::pg_query::KeywordKind value) { + PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race); + ; + _impl_.keyword_kind_ = value; +} +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ // @@protoc_insertion_point(namespace_scope) - } // namespace pg_query -PROTOBUF_NAMESPACE_OPEN -template <> struct is_proto_enum< ::pg_query::OverridingKind> : ::std::true_type {}; +namespace google { +namespace protobuf { + template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::OverridingKind>() { - return ::pg_query::OverridingKind_descriptor(); -} -template <> struct is_proto_enum< ::pg_query::QuerySource> : ::std::true_type {}; +struct is_proto_enum<::pg_query::QuerySource> : std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::QuerySource>() { +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::QuerySource>() { return ::pg_query::QuerySource_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SortByDir> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SortByDir>() { +struct is_proto_enum<::pg_query::SortByDir> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SortByDir>() { return ::pg_query::SortByDir_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SortByNulls> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SortByNulls>() { +struct is_proto_enum<::pg_query::SortByNulls> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SortByNulls>() { return ::pg_query::SortByNulls_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SetQuantifier> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SetQuantifier>() { +struct is_proto_enum<::pg_query::SetQuantifier> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SetQuantifier>() { return ::pg_query::SetQuantifier_descriptor(); } -template <> struct is_proto_enum< ::pg_query::A_Expr_Kind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::A_Expr_Kind>() { +struct is_proto_enum<::pg_query::A_Expr_Kind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::A_Expr_Kind>() { return ::pg_query::A_Expr_Kind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::RoleSpecType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::RoleSpecType>() { +struct is_proto_enum<::pg_query::RoleSpecType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::RoleSpecType>() { return ::pg_query::RoleSpecType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::TableLikeOption> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::TableLikeOption>() { +struct is_proto_enum<::pg_query::TableLikeOption> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::TableLikeOption>() { return ::pg_query::TableLikeOption_descriptor(); } -template <> struct is_proto_enum< ::pg_query::DefElemAction> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::DefElemAction>() { +struct is_proto_enum<::pg_query::DefElemAction> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::DefElemAction>() { return ::pg_query::DefElemAction_descriptor(); } -template <> struct is_proto_enum< ::pg_query::PartitionRangeDatumKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::PartitionRangeDatumKind>() { +struct is_proto_enum<::pg_query::PartitionStrategy> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::PartitionStrategy>() { + return ::pg_query::PartitionStrategy_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::PartitionRangeDatumKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::PartitionRangeDatumKind>() { return ::pg_query::PartitionRangeDatumKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::RTEKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::RTEKind>() { +struct is_proto_enum<::pg_query::RTEKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::RTEKind>() { return ::pg_query::RTEKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::WCOKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::WCOKind>() { +struct is_proto_enum<::pg_query::WCOKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::WCOKind>() { return ::pg_query::WCOKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::GroupingSetKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::GroupingSetKind>() { +struct is_proto_enum<::pg_query::GroupingSetKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::GroupingSetKind>() { return ::pg_query::GroupingSetKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::CTEMaterialize> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::CTEMaterialize>() { +struct is_proto_enum<::pg_query::CTEMaterialize> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CTEMaterialize>() { return ::pg_query::CTEMaterialize_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SetOperation> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SetOperation>() { +struct is_proto_enum<::pg_query::JsonQuotes> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonQuotes>() { + return ::pg_query::JsonQuotes_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonTableColumnType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonTableColumnType>() { + return ::pg_query::JsonTableColumnType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::SetOperation> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SetOperation>() { return ::pg_query::SetOperation_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ObjectType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ObjectType>() { +struct is_proto_enum<::pg_query::ObjectType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ObjectType>() { return ::pg_query::ObjectType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::DropBehavior> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::DropBehavior>() { +struct is_proto_enum<::pg_query::DropBehavior> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::DropBehavior>() { return ::pg_query::DropBehavior_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AlterTableType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AlterTableType>() { +struct is_proto_enum<::pg_query::AlterTableType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AlterTableType>() { return ::pg_query::AlterTableType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::GrantTargetType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::GrantTargetType>() { +struct is_proto_enum<::pg_query::GrantTargetType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::GrantTargetType>() { return ::pg_query::GrantTargetType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::VariableSetKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::VariableSetKind>() { +struct is_proto_enum<::pg_query::VariableSetKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::VariableSetKind>() { return ::pg_query::VariableSetKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ConstrType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ConstrType>() { +struct is_proto_enum<::pg_query::ConstrType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ConstrType>() { return ::pg_query::ConstrType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ImportForeignSchemaType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ImportForeignSchemaType>() { +struct is_proto_enum<::pg_query::ImportForeignSchemaType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ImportForeignSchemaType>() { return ::pg_query::ImportForeignSchemaType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::RoleStmtType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::RoleStmtType>() { +struct is_proto_enum<::pg_query::RoleStmtType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::RoleStmtType>() { return ::pg_query::RoleStmtType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::FetchDirection> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::FetchDirection>() { +struct is_proto_enum<::pg_query::FetchDirection> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::FetchDirection>() { return ::pg_query::FetchDirection_descriptor(); } -template <> struct is_proto_enum< ::pg_query::FunctionParameterMode> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::FunctionParameterMode>() { +struct is_proto_enum<::pg_query::FunctionParameterMode> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::FunctionParameterMode>() { return ::pg_query::FunctionParameterMode_descriptor(); } -template <> struct is_proto_enum< ::pg_query::TransactionStmtKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::TransactionStmtKind>() { +struct is_proto_enum<::pg_query::TransactionStmtKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::TransactionStmtKind>() { return ::pg_query::TransactionStmtKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ViewCheckOption> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ViewCheckOption>() { +struct is_proto_enum<::pg_query::ViewCheckOption> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ViewCheckOption>() { return ::pg_query::ViewCheckOption_descriptor(); } -template <> struct is_proto_enum< ::pg_query::DiscardMode> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::DiscardMode>() { +struct is_proto_enum<::pg_query::DiscardMode> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::DiscardMode>() { return ::pg_query::DiscardMode_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ReindexObjectType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ReindexObjectType>() { +struct is_proto_enum<::pg_query::ReindexObjectType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ReindexObjectType>() { return ::pg_query::ReindexObjectType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AlterTSConfigType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AlterTSConfigType>() { +struct is_proto_enum<::pg_query::AlterTSConfigType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AlterTSConfigType>() { return ::pg_query::AlterTSConfigType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::PublicationObjSpecType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::PublicationObjSpecType>() { +struct is_proto_enum<::pg_query::PublicationObjSpecType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::PublicationObjSpecType>() { return ::pg_query::PublicationObjSpecType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AlterPublicationAction> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AlterPublicationAction>() { +struct is_proto_enum<::pg_query::AlterPublicationAction> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AlterPublicationAction>() { return ::pg_query::AlterPublicationAction_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AlterSubscriptionType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AlterSubscriptionType>() { +struct is_proto_enum<::pg_query::AlterSubscriptionType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AlterSubscriptionType>() { return ::pg_query::AlterSubscriptionType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::OnCommitAction> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::OnCommitAction>() { +struct is_proto_enum<::pg_query::OverridingKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OverridingKind>() { + return ::pg_query::OverridingKind_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::OnCommitAction> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OnCommitAction>() { return ::pg_query::OnCommitAction_descriptor(); } -template <> struct is_proto_enum< ::pg_query::ParamKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::ParamKind>() { +struct is_proto_enum<::pg_query::TableFuncType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::TableFuncType>() { + return ::pg_query::TableFuncType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::ParamKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::ParamKind>() { return ::pg_query::ParamKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::CoercionContext> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::CoercionContext>() { +struct is_proto_enum<::pg_query::CoercionContext> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CoercionContext>() { return ::pg_query::CoercionContext_descriptor(); } -template <> struct is_proto_enum< ::pg_query::CoercionForm> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::CoercionForm>() { +struct is_proto_enum<::pg_query::CoercionForm> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CoercionForm>() { return ::pg_query::CoercionForm_descriptor(); } -template <> struct is_proto_enum< ::pg_query::BoolExprType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::BoolExprType>() { +struct is_proto_enum<::pg_query::BoolExprType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::BoolExprType>() { return ::pg_query::BoolExprType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SubLinkType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SubLinkType>() { +struct is_proto_enum<::pg_query::SubLinkType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SubLinkType>() { return ::pg_query::SubLinkType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::RowCompareType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::RowCompareType>() { +struct is_proto_enum<::pg_query::RowCompareType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::RowCompareType>() { return ::pg_query::RowCompareType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::MinMaxOp> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::MinMaxOp>() { +struct is_proto_enum<::pg_query::MinMaxOp> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::MinMaxOp>() { return ::pg_query::MinMaxOp_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SQLValueFunctionOp> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SQLValueFunctionOp>() { +struct is_proto_enum<::pg_query::SQLValueFunctionOp> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SQLValueFunctionOp>() { return ::pg_query::SQLValueFunctionOp_descriptor(); } -template <> struct is_proto_enum< ::pg_query::XmlExprOp> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::XmlExprOp>() { +struct is_proto_enum<::pg_query::XmlExprOp> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::XmlExprOp>() { return ::pg_query::XmlExprOp_descriptor(); } -template <> struct is_proto_enum< ::pg_query::XmlOptionType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::XmlOptionType>() { +struct is_proto_enum<::pg_query::XmlOptionType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::XmlOptionType>() { return ::pg_query::XmlOptionType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::NullTestType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::NullTestType>() { +struct is_proto_enum<::pg_query::JsonEncoding> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonEncoding>() { + return ::pg_query::JsonEncoding_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonFormatType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonFormatType>() { + return ::pg_query::JsonFormatType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonConstructorType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonConstructorType>() { + return ::pg_query::JsonConstructorType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonValueType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonValueType>() { + return ::pg_query::JsonValueType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonWrapper> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonWrapper>() { + return ::pg_query::JsonWrapper_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonBehaviorType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonBehaviorType>() { + return ::pg_query::JsonBehaviorType_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::JsonExprOp> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JsonExprOp>() { + return ::pg_query::JsonExprOp_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::NullTestType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::NullTestType>() { return ::pg_query::NullTestType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::BoolTestType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::BoolTestType>() { +struct is_proto_enum<::pg_query::BoolTestType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::BoolTestType>() { return ::pg_query::BoolTestType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::CmdType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::CmdType>() { +struct is_proto_enum<::pg_query::MergeMatchKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::MergeMatchKind>() { + return ::pg_query::MergeMatchKind_descriptor(); +} +template <> +struct is_proto_enum<::pg_query::CmdType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::CmdType>() { return ::pg_query::CmdType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::JoinType> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::JoinType>() { +struct is_proto_enum<::pg_query::JoinType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::JoinType>() { return ::pg_query::JoinType_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AggStrategy> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AggStrategy>() { +struct is_proto_enum<::pg_query::AggStrategy> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AggStrategy>() { return ::pg_query::AggStrategy_descriptor(); } -template <> struct is_proto_enum< ::pg_query::AggSplit> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::AggSplit>() { +struct is_proto_enum<::pg_query::AggSplit> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::AggSplit>() { return ::pg_query::AggSplit_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SetOpCmd> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SetOpCmd>() { +struct is_proto_enum<::pg_query::SetOpCmd> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SetOpCmd>() { return ::pg_query::SetOpCmd_descriptor(); } -template <> struct is_proto_enum< ::pg_query::SetOpStrategy> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::SetOpStrategy>() { +struct is_proto_enum<::pg_query::SetOpStrategy> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::SetOpStrategy>() { return ::pg_query::SetOpStrategy_descriptor(); } -template <> struct is_proto_enum< ::pg_query::OnConflictAction> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::OnConflictAction>() { +struct is_proto_enum<::pg_query::OnConflictAction> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::OnConflictAction>() { return ::pg_query::OnConflictAction_descriptor(); } -template <> struct is_proto_enum< ::pg_query::LimitOption> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::LimitOption>() { +struct is_proto_enum<::pg_query::LimitOption> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::LimitOption>() { return ::pg_query::LimitOption_descriptor(); } -template <> struct is_proto_enum< ::pg_query::LockClauseStrength> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::LockClauseStrength>() { +struct is_proto_enum<::pg_query::LockClauseStrength> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::LockClauseStrength>() { return ::pg_query::LockClauseStrength_descriptor(); } -template <> struct is_proto_enum< ::pg_query::LockWaitPolicy> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::LockWaitPolicy>() { +struct is_proto_enum<::pg_query::LockWaitPolicy> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::LockWaitPolicy>() { return ::pg_query::LockWaitPolicy_descriptor(); } -template <> struct is_proto_enum< ::pg_query::LockTupleMode> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::LockTupleMode>() { +struct is_proto_enum<::pg_query::LockTupleMode> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::LockTupleMode>() { return ::pg_query::LockTupleMode_descriptor(); } -template <> struct is_proto_enum< ::pg_query::KeywordKind> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::KeywordKind>() { +struct is_proto_enum<::pg_query::KeywordKind> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::KeywordKind>() { return ::pg_query::KeywordKind_descriptor(); } -template <> struct is_proto_enum< ::pg_query::Token> : ::std::true_type {}; template <> -inline const EnumDescriptor* GetEnumDescriptor< ::pg_query::Token>() { +struct is_proto_enum<::pg_query::Token> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::pg_query::Token>() { return ::pg_query::Token_descriptor(); } -PROTOBUF_NAMESPACE_CLOSE +} // namespace protobuf +} // namespace google // @@protoc_insertion_point(global_scope) -#include -#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto +#include "google/protobuf/port_undef.inc" + +#endif // GOOGLE_PROTOBUF_INCLUDED_protobuf_2fpg_5fquery_2eproto_2epb_2eh diff --git a/parser/include/replication/logicalworker.h b/parser/include/replication/logicalworker.h deleted file mode 100644 index cd1b6e8a..00000000 --- a/parser/include/replication/logicalworker.h +++ /dev/null @@ -1,19 +0,0 @@ -/*------------------------------------------------------------------------- - * - * logicalworker.h - * Exports for logical replication workers. - * - * Portions Copyright (c) 2016-2022, PostgreSQL Global Development Group - * - * src/include/replication/logicalworker.h - * - *------------------------------------------------------------------------- - */ -#ifndef LOGICALWORKER_H -#define LOGICALWORKER_H - -extern void ApplyWorkerMain(Datum main_arg); - -extern bool IsLogicalWorker(void); - -#endif /* LOGICALWORKER_H */ diff --git a/parser/include/storage/backendid.h b/parser/include/storage/backendid.h deleted file mode 100644 index 93d5b508..00000000 --- a/parser/include/storage/backendid.h +++ /dev/null @@ -1,37 +0,0 @@ -/*------------------------------------------------------------------------- - * - * backendid.h - * POSTGRES backend id communication definitions - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/backendid.h - * - *------------------------------------------------------------------------- - */ -#ifndef BACKENDID_H -#define BACKENDID_H - -/* ---------------- - * -cim 8/17/90 - * ---------------- - */ -typedef int BackendId; /* unique currently active backend identifier */ - -#define InvalidBackendId (-1) - -extern PGDLLIMPORT BackendId MyBackendId; /* backend id of this backend */ - -/* backend id of our parallel session leader, or InvalidBackendId if none */ -extern PGDLLIMPORT BackendId ParallelLeaderBackendId; - -/* - * The BackendId to use for our session's temp relations is normally our own, - * but parallel workers should use their leader's ID. - */ -#define BackendIdForTempRelations() \ - (ParallelLeaderBackendId == InvalidBackendId ? MyBackendId : ParallelLeaderBackendId) - -#endif /* BACKENDID_H */ diff --git a/parser/include/storage/relfilenode.h b/parser/include/storage/relfilenode.h deleted file mode 100644 index 4fdc606c..00000000 --- a/parser/include/storage/relfilenode.h +++ /dev/null @@ -1,99 +0,0 @@ -/*------------------------------------------------------------------------- - * - * relfilenode.h - * Physical access information for relations. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/relfilenode.h - * - *------------------------------------------------------------------------- - */ -#ifndef RELFILENODE_H -#define RELFILENODE_H - -#include "common/relpath.h" -#include "storage/backendid.h" - -/* - * RelFileNode must provide all that we need to know to physically access - * a relation, with the exception of the backend ID, which can be provided - * separately. Note, however, that a "physical" relation is comprised of - * multiple files on the filesystem, as each fork is stored as a separate - * file, and each fork can be divided into multiple segments. See md.c. - * - * spcNode identifies the tablespace of the relation. It corresponds to - * pg_tablespace.oid. - * - * dbNode identifies the database of the relation. It is zero for - * "shared" relations (those common to all databases of a cluster). - * Nonzero dbNode values correspond to pg_database.oid. - * - * relNode identifies the specific relation. relNode corresponds to - * pg_class.relfilenode (NOT pg_class.oid, because we need to be able - * to assign new physical files to relations in some situations). - * Notice that relNode is only unique within a database in a particular - * tablespace. - * - * Note: spcNode must be GLOBALTABLESPACE_OID if and only if dbNode is - * zero. We support shared relations only in the "global" tablespace. - * - * Note: in pg_class we allow reltablespace == 0 to denote that the - * relation is stored in its database's "default" tablespace (as - * identified by pg_database.dattablespace). However this shorthand - * is NOT allowed in RelFileNode structs --- the real tablespace ID - * must be supplied when setting spcNode. - * - * Note: in pg_class, relfilenode can be zero to denote that the relation - * is a "mapped" relation, whose current true filenode number is available - * from relmapper.c. Again, this case is NOT allowed in RelFileNodes. - * - * Note: various places use RelFileNode in hashtable keys. Therefore, - * there *must not* be any unused padding bytes in this struct. That - * should be safe as long as all the fields are of type Oid. - */ -typedef struct RelFileNode -{ - Oid spcNode; /* tablespace */ - Oid dbNode; /* database */ - Oid relNode; /* relation */ -} RelFileNode; - -/* - * Augmenting a relfilenode with the backend ID provides all the information - * we need to locate the physical storage. The backend ID is InvalidBackendId - * for regular relations (those accessible to more than one backend), or the - * owning backend's ID for backend-local relations. Backend-local relations - * are always transient and removed in case of a database crash; they are - * never WAL-logged or fsync'd. - */ -typedef struct RelFileNodeBackend -{ - RelFileNode node; - BackendId backend; -} RelFileNodeBackend; - -#define RelFileNodeBackendIsTemp(rnode) \ - ((rnode).backend != InvalidBackendId) - -/* - * Note: RelFileNodeEquals and RelFileNodeBackendEquals compare relNode first - * since that is most likely to be different in two unequal RelFileNodes. It - * is probably redundant to compare spcNode if the other fields are found equal, - * but do it anyway to be sure. Likewise for checking the backend ID in - * RelFileNodeBackendEquals. - */ -#define RelFileNodeEquals(node1, node2) \ - ((node1).relNode == (node2).relNode && \ - (node1).dbNode == (node2).dbNode && \ - (node1).spcNode == (node2).spcNode) - -#define RelFileNodeBackendEquals(node1, node2) \ - ((node1).node.relNode == (node2).node.relNode && \ - (node1).node.dbNode == (node2).node.dbNode && \ - (node1).backend == (node2).backend && \ - (node1).node.spcNode == (node2).node.spcNode) - -#endif /* RELFILENODE_H */ diff --git a/parser/include/storage/sinvaladt.h b/parser/include/storage/sinvaladt.h deleted file mode 100644 index 91e24189..00000000 --- a/parser/include/storage/sinvaladt.h +++ /dev/null @@ -1,43 +0,0 @@ -/*------------------------------------------------------------------------- - * - * sinvaladt.h - * POSTGRES shared cache invalidation data manager. - * - * The shared cache invalidation manager is responsible for transmitting - * invalidation messages between backends. Any message sent by any backend - * must be delivered to all already-running backends before it can be - * forgotten. (If we run out of space, we instead deliver a "RESET" - * message to backends that have fallen too far behind.) - * - * The struct type SharedInvalidationMessage, defining the contents of - * a single message, is defined in sinval.h. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/storage/sinvaladt.h - * - *------------------------------------------------------------------------- - */ -#ifndef SINVALADT_H -#define SINVALADT_H - -#include "storage/lock.h" -#include "storage/sinval.h" - -/* - * prototypes for functions in sinvaladt.c - */ -extern Size SInvalShmemSize(void); -extern void CreateSharedInvalidationState(void); -extern void SharedInvalBackendInit(bool sendOnly); -extern PGPROC *BackendIdGetProc(int backendID); -extern void BackendIdGetTransactionIds(int backendID, TransactionId *xid, TransactionId *xmin); - -extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n); -extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize); -extern void SICleanupQueue(bool callerHasWriteLock, int minFree); - -extern LocalTransactionId GetNextLocalTransactionId(void); - -#endif /* SINVALADT_H */ diff --git a/parser/include/utils/dynahash.h b/parser/include/utils/dynahash.h deleted file mode 100644 index 4564fb24..00000000 --- a/parser/include/utils/dynahash.h +++ /dev/null @@ -1,20 +0,0 @@ -/*------------------------------------------------------------------------- - * - * dynahash.h - * POSTGRES dynahash.h file definitions - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * IDENTIFICATION - * src/include/utils/dynahash.h - * - *------------------------------------------------------------------------- - */ -#ifndef DYNAHASH_H -#define DYNAHASH_H - -extern int my_log2(long num); - -#endif /* DYNAHASH_H */ diff --git a/parser/include/utils/pg_lsn.h b/parser/include/utils/pg_lsn.h deleted file mode 100644 index 7b708f10..00000000 --- a/parser/include/utils/pg_lsn.h +++ /dev/null @@ -1,29 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pg_lsn.h - * Declarations for operations on log sequence numbers (LSNs) of - * PostgreSQL. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/utils/pg_lsn.h - * - *------------------------------------------------------------------------- - */ -#ifndef PG_LSN_H -#define PG_LSN_H - -#include "access/xlogdefs.h" -#include "fmgr.h" - -#define DatumGetLSN(X) ((XLogRecPtr) DatumGetInt64(X)) -#define LSNGetDatum(X) (Int64GetDatum((int64) (X))) - -#define PG_GETARG_LSN(n) DatumGetLSN(PG_GETARG_DATUM(n)) -#define PG_RETURN_LSN(x) return LSNGetDatum(x) - -extern XLogRecPtr pg_lsn_in_internal(const char *str, bool *have_error); - -#endif /* PG_LSN_H */ diff --git a/parser/include/utils/pidfile.h b/parser/include/utils/pidfile.h deleted file mode 100644 index 14bfba42..00000000 --- a/parser/include/utils/pidfile.h +++ /dev/null @@ -1,56 +0,0 @@ -/*------------------------------------------------------------------------- - * - * pidfile.h - * Declarations describing the data directory lock file (postmaster.pid) - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/utils/pidfile.h - * - *------------------------------------------------------------------------- - */ -#ifndef UTILS_PIDFILE_H -#define UTILS_PIDFILE_H - -/* - * As of Postgres 10, the contents of the data-directory lock file are: - * - * line # - * 1 postmaster PID (or negative of a standalone backend's PID) - * 2 data directory path - * 3 postmaster start timestamp (time_t representation) - * 4 port number - * 5 first Unix socket directory path (empty if none) - * 6 first listen_address (IP address or "*"; empty if no TCP port) - * 7 shared memory key (empty on Windows) - * 8 postmaster status (see values below) - * - * Lines 6 and up are added via AddToDataDirLockFile() after initial file - * creation; also, line 5 is initially empty and is changed after the first - * Unix socket is opened. Onlookers should not assume that lines 4 and up - * are filled in any particular order. - * - * Socket lock file(s), if used, have the same contents as lines 1-5, with - * line 5 being their own directory. - */ -#define LOCK_FILE_LINE_PID 1 -#define LOCK_FILE_LINE_DATA_DIR 2 -#define LOCK_FILE_LINE_START_TIME 3 -#define LOCK_FILE_LINE_PORT 4 -#define LOCK_FILE_LINE_SOCKET_DIR 5 -#define LOCK_FILE_LINE_LISTEN_ADDR 6 -#define LOCK_FILE_LINE_SHMEM_KEY 7 -#define LOCK_FILE_LINE_PM_STATUS 8 - -/* - * The PM_STATUS line may contain one of these values. All these strings - * must be the same length, per comments for AddToDataDirLockFile(). - * We pad with spaces as needed to make that true. - */ -#define PM_STATUS_STARTING "starting" /* still starting up */ -#define PM_STATUS_STOPPING "stopping" /* in shutdown sequence */ -#define PM_STATUS_READY "ready " /* ready for connections */ -#define PM_STATUS_STANDBY "standby " /* up, won't accept connections */ - -#endif /* UTILS_PIDFILE_H */ diff --git a/parser/include/utils/ps_status.h b/parser/include/utils/ps_status.h deleted file mode 100644 index bba46359..00000000 --- a/parser/include/utils/ps_status.h +++ /dev/null @@ -1,25 +0,0 @@ -/*------------------------------------------------------------------------- - * - * ps_status.h - * - * Declarations for backend/utils/misc/ps_status.c - * - * src/include/utils/ps_status.h - * - *------------------------------------------------------------------------- - */ - -#ifndef PS_STATUS_H -#define PS_STATUS_H - -extern PGDLLIMPORT bool update_process_title; - -extern char **save_ps_display_args(int argc, char **argv); - -extern void init_ps_display(const char *fixed_part); - -extern void set_ps_display(const char *activity); - -extern const char *get_ps_display(int *displen); - -#endif /* PS_STATUS_H */ diff --git a/parser/include/utils/resowner.h b/parser/include/utils/resowner.h deleted file mode 100644 index 4aff7015..00000000 --- a/parser/include/utils/resowner.h +++ /dev/null @@ -1,86 +0,0 @@ -/*------------------------------------------------------------------------- - * - * resowner.h - * POSTGRES resource owner definitions. - * - * Query-lifespan resources are tracked by associating them with - * ResourceOwner objects. This provides a simple mechanism for ensuring - * that such resources are freed at the right time. - * See utils/resowner/README for more info. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/utils/resowner.h - * - *------------------------------------------------------------------------- - */ -#ifndef RESOWNER_H -#define RESOWNER_H - - -/* - * ResourceOwner objects are an opaque data structure known only within - * resowner.c. - */ -typedef struct ResourceOwnerData *ResourceOwner; - - -/* - * Globally known ResourceOwners - */ -extern PGDLLIMPORT ResourceOwner CurrentResourceOwner; -extern PGDLLIMPORT ResourceOwner CurTransactionResourceOwner; -extern PGDLLIMPORT ResourceOwner TopTransactionResourceOwner; -extern PGDLLIMPORT ResourceOwner AuxProcessResourceOwner; - -/* - * Resource releasing is done in three phases: pre-locks, locks, and - * post-locks. The pre-lock phase must release any resources that are - * visible to other backends (such as pinned buffers); this ensures that - * when we release a lock that another backend may be waiting on, it will - * see us as being fully out of our transaction. The post-lock phase - * should be used for backend-internal cleanup. - */ -typedef enum -{ - RESOURCE_RELEASE_BEFORE_LOCKS, - RESOURCE_RELEASE_LOCKS, - RESOURCE_RELEASE_AFTER_LOCKS -} ResourceReleasePhase; - -/* - * Dynamically loaded modules can get control during ResourceOwnerRelease - * by providing a callback of this form. - */ -typedef void (*ResourceReleaseCallback) (ResourceReleasePhase phase, - bool isCommit, - bool isTopLevel, - void *arg); - - -/* - * Functions in resowner.c - */ - -/* generic routines */ -extern ResourceOwner ResourceOwnerCreate(ResourceOwner parent, - const char *name); -extern void ResourceOwnerRelease(ResourceOwner owner, - ResourceReleasePhase phase, - bool isCommit, - bool isTopLevel); -extern void ResourceOwnerReleaseAllPlanCacheRefs(ResourceOwner owner); -extern void ResourceOwnerDelete(ResourceOwner owner); -extern ResourceOwner ResourceOwnerGetParent(ResourceOwner owner); -extern void ResourceOwnerNewParent(ResourceOwner owner, - ResourceOwner newparent); -extern void RegisterResourceReleaseCallback(ResourceReleaseCallback callback, - void *arg); -extern void UnregisterResourceReleaseCallback(ResourceReleaseCallback callback, - void *arg); -extern void CreateAuxProcessResourceOwner(void); -extern void ReleaseAuxProcessResources(bool isCommit); - -#endif /* RESOWNER_H */ diff --git a/parser/include/utils/rls.h b/parser/include/utils/rls.h deleted file mode 100644 index 75259cc1..00000000 --- a/parser/include/utils/rls.h +++ /dev/null @@ -1,50 +0,0 @@ -/*------------------------------------------------------------------------- - * - * rls.h - * Header file for Row Level Security (RLS) utility commands to be used - * with the rowsecurity feature. - * - * Copyright (c) 2007-2022, PostgreSQL Global Development Group - * - * src/include/utils/rls.h - * - *------------------------------------------------------------------------- - */ -#ifndef RLS_H -#define RLS_H - -/* GUC variable */ -extern PGDLLIMPORT bool row_security; - -/* - * Used by callers of check_enable_rls. - * - * RLS could be completely disabled on the tables involved in the query, - * which is the simple case, or it may depend on the current environment - * (the role which is running the query or the value of the row_security - * GUC), or it might be simply enabled as usual. - * - * If RLS isn't on the table involved then RLS_NONE is returned to indicate - * that we don't need to worry about invalidating the query plan for RLS - * reasons. If RLS is on the table, but we are bypassing it for now, then - * we return RLS_NONE_ENV to indicate that, if the environment changes, - * we need to invalidate and replan. Finally, if RLS should be turned on - * for the query, then we return RLS_ENABLED, which means we also need to - * invalidate if the environment changes. - * - * Note that RLS_ENABLED will also be returned if noError is true - * (indicating that the caller simply want to know if RLS should be applied - * for this user but doesn't want an error thrown if it is; this is used - * by other error cases where we're just trying to decide if data from the - * table should be passed back to the user or not). - */ -enum CheckEnableRlsResult -{ - RLS_NONE, - RLS_NONE_ENV, - RLS_ENABLED -}; - -extern int check_enable_rls(Oid relid, Oid checkAsUser, bool noError); - -#endif /* RLS_H */ diff --git a/parser/include/utils/tzparser.h b/parser/include/utils/tzparser.h deleted file mode 100644 index 015b1773..00000000 --- a/parser/include/utils/tzparser.h +++ /dev/null @@ -1,39 +0,0 @@ -/*------------------------------------------------------------------------- - * - * tzparser.h - * Timezone offset file parsing definitions. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/include/utils/tzparser.h - * - *------------------------------------------------------------------------- - */ -#ifndef TZPARSER_H -#define TZPARSER_H - -#include "utils/datetime.h" - -/* - * The result of parsing a timezone configuration file is an array of - * these structs, in order by abbrev. We export this because datetime.c - * needs it. - */ -typedef struct tzEntry -{ - /* the actual data */ - char *abbrev; /* TZ abbreviation (downcased) */ - char *zone; /* zone name if dynamic abbrev, else NULL */ - /* for a dynamic abbreviation, offset/is_dst are not used */ - int offset; /* offset in seconds from UTC */ - bool is_dst; /* true if a DST abbreviation */ - /* source information (for error messages) */ - int lineno; - const char *filename; -} tzEntry; - - -extern TimeZoneAbbrevTable *load_tzoffsets(const char *filename); - -#endif /* TZPARSER_H */ diff --git a/parser/include/xxhash/gokeep.go b/parser/include/xxhash/gokeep.go new file mode 100644 index 00000000..efc76888 --- /dev/null +++ b/parser/include/xxhash/gokeep.go @@ -0,0 +1,5 @@ +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep diff --git a/parser/parser.go b/parser/parser.go index cdb8dafc..2f162167 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -1,7 +1,8 @@ package parser /* -#cgo CFLAGS: -Iinclude -g -fstack-protector -std=gnu99 +#cgo CFLAGS: -Iinclude -Iinclude/postgres -g -fstack-protector -std=gnu99 -Wno-unknown-warning-option -Wno-typedef-redefinition -DXXH_NAMESPACE=PG_QUERY_ +#cgo windows CFLAGS: -Iinclude/postgres/port/win32 #cgo LDFLAGS: #include "pg_query.h" #include "xxhash.h" @@ -23,6 +24,7 @@ uint64_t pg_query_hash_xxh3_64(void *data, size_t len, size_t seed) { import "C" import ( + "strings" "unsafe" ) @@ -99,7 +101,7 @@ func ScanToProtobuf(input string) (result []byte, err error) { } // ParseToProtobuf - Parses the given SQL statement into a parse tree (Protobuf format) -func ParseToProtobuf(input string) (result []byte, err error) { +func ParseToProtobuf(input string) ([]byte, error) { inputC := C.CString(input) defer C.free(unsafe.Pointer(inputC)) @@ -108,13 +110,10 @@ func ParseToProtobuf(input string) (result []byte, err error) { defer C.pg_query_free_protobuf_parse_result(resultC) if resultC.error != nil { - err = newPgQueryError(resultC.error) - return + return nil, newPgQueryError(resultC.error) } - result = []byte(C.GoStringN(resultC.parse_tree.data, C.int(resultC.parse_tree.len))) - - return + return toBytes(C.GoStringN(resultC.parse_tree.data, C.int(resultC.parse_tree.len))), nil } // DeparseFromProtobuf - Deparses the given Protobuf format parse tree into a SQL statement @@ -173,6 +172,73 @@ func Normalize(input string) (result string, err error) { return } +// Normalize the passed utility statement to replace constant values with ? characters +func NormalizeUtility(input string) (result string, err error) { + inputC := C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + + resultC := C.pg_query_normalize_utility(inputC) + defer C.pg_query_free_normalize_result(resultC) + + if resultC.error != nil { + err = newPgQueryError(resultC.error) + return + } + + result = C.GoString(resultC.normalized_query) + + return +} + +func SplitWithScanner(input string, trimSpace bool) (result []string, err error) { + inputC := C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + + resultC := C.pg_query_split_with_scanner(inputC) + defer C.pg_query_free_split_result(resultC) + + if resultC.error != nil { + err = newPgQueryError(resultC.error) + return + } + + result = handleSplitResult(input, trimSpace, resultC) + return +} + +func SplitWithParser(input string, trimSpace bool) (result []string, err error) { + inputC := C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + + resultC := C.pg_query_split_with_parser(inputC) + defer C.pg_query_free_split_result(resultC) + + if resultC.error != nil { + err = newPgQueryError(resultC.error) + return + } + + result = handleSplitResult(input, trimSpace, resultC) + return +} + +func handleSplitResult(input string, trimSpace bool, resultC C.PgQuerySplitResult) (result []string) { + stmts := (**C.PgQuerySplitStmt)(unsafe.Pointer(resultC.stmts)) + for i := 0; i < int(resultC.n_stmts); i++ { + stmtptr := (**C.PgQuerySplitStmt)(unsafe.Pointer(uintptr(unsafe.Pointer(stmts)) + uintptr(i)*unsafe.Sizeof(*stmts))) + stmt := **stmtptr + + end := stmt.stmt_location + stmt.stmt_len + stmtStr := input[stmt.stmt_location:end] + if trimSpace { + stmtStr = strings.TrimSpace(stmtStr) + } + + result = append(result, stmtStr) + } + return +} + // FingerprintToUInt64 - Fingerprint the passed SQL statement using the C extension and returns result as uint64 func FingerprintToUInt64(input string) (result uint64, err error) { inputC := C.CString(input) @@ -222,3 +288,39 @@ func HashXXH3_64(input []byte, seed uint64) (result uint64) { return } + +// IsUtilityStmt - Determines whether each statement in the query is a utility statement +func IsUtilityStmt(input string) (result []bool, err error) { + inputC := C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + + resultC := C.pg_query_is_utility_stmt(inputC) + defer C.pg_query_free_is_utility_result(resultC) + + if resultC.error != nil { + err = newPgQueryError(resultC.error) + return + } + + result = make([]bool, resultC.length) + for i, item := range unsafe.Slice(resultC.items, resultC.length) { + result[i] = bool(item) + } + + return +} + +// SummaryToProtobuf - Extracts summary information from SQL statement +func SummaryToProtobuf(input string, truncateLimit int) ([]byte, error) { + inputC := C.CString(input) + defer C.free(unsafe.Pointer(inputC)) + + resultC := C.pg_query_summary(inputC, C.int(0), C.int(truncateLimit)) + defer C.pg_query_free_summary_parse_result(resultC) + + if resultC.error != nil { + return nil, newPgQueryError(resultC.error) + } + + return toBytes(C.GoStringN(resultC.summary.data, C.int(resultC.summary.len))), nil +} diff --git a/parser/pg_query.c b/parser/pg_query.c index e0069e80..4505cb8f 100644 --- a/parser/pg_query.c +++ b/parser/pg_query.c @@ -5,15 +5,20 @@ #include #include +#ifdef HAVE_PTHREAD #include +#endif + #include const char* progname = "pg_query"; __thread sig_atomic_t pg_query_initialized = 0; +#ifdef HAVE_PTHREAD static pthread_key_t pg_query_thread_exit_key; static void pg_query_thread_exit(void *key); +#endif void pg_query_init(void) { @@ -23,13 +28,15 @@ void pg_query_init(void) MemoryContextInit(); SetDatabaseEncoding(PG_UTF8); +#ifdef HAVE_PTHREAD pthread_key_create(&pg_query_thread_exit_key, pg_query_thread_exit); pthread_setspecific(pg_query_thread_exit_key, TopMemoryContext); +#endif } void pg_query_free_top_memory_context(MemoryContext context) { - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); /* * After this, no memory contexts are valid anymore, so ensure that @@ -55,11 +62,13 @@ void pg_query_free_top_memory_context(MemoryContext context) ErrorContext = NULL; } +#ifdef HAVE_PTHREAD static void pg_query_thread_exit(void *key) { MemoryContext context = (MemoryContext) key; pg_query_free_top_memory_context(context); } +#endif void pg_query_exit(void) { diff --git a/parser/pg_query.pb-c.c b/parser/pg_query.pb-c.c index b54ae9ad..b485bf83 100644 --- a/parser/pg_query.pb-c.c +++ b/parser/pg_query.pb-c.c @@ -682,6 +682,51 @@ void pg_query__table_func__free_unpacked assert(message->base.descriptor == &pg_query__table_func__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__into_clause__init + (PgQuery__IntoClause *message) +{ + static const PgQuery__IntoClause init_value = PG_QUERY__INTO_CLAUSE__INIT; + *message = init_value; +} +size_t pg_query__into_clause__get_packed_size + (const PgQuery__IntoClause *message) +{ + assert(message->base.descriptor == &pg_query__into_clause__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__into_clause__pack + (const PgQuery__IntoClause *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__into_clause__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__into_clause__pack_to_buffer + (const PgQuery__IntoClause *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__into_clause__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__IntoClause * + pg_query__into_clause__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__IntoClause *) + protobuf_c_message_unpack (&pg_query__into_clause__descriptor, + allocator, len, data); +} +void pg_query__into_clause__free_unpacked + (PgQuery__IntoClause *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__into_clause__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__var__init (PgQuery__Var *message) { @@ -907,6 +952,96 @@ void pg_query__window_func__free_unpacked assert(message->base.descriptor == &pg_query__window_func__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__window_func_run_condition__init + (PgQuery__WindowFuncRunCondition *message) +{ + static const PgQuery__WindowFuncRunCondition init_value = PG_QUERY__WINDOW_FUNC_RUN_CONDITION__INIT; + *message = init_value; +} +size_t pg_query__window_func_run_condition__get_packed_size + (const PgQuery__WindowFuncRunCondition *message) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__window_func_run_condition__pack + (const PgQuery__WindowFuncRunCondition *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__window_func_run_condition__pack_to_buffer + (const PgQuery__WindowFuncRunCondition *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__WindowFuncRunCondition * + pg_query__window_func_run_condition__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__WindowFuncRunCondition *) + protobuf_c_message_unpack (&pg_query__window_func_run_condition__descriptor, + allocator, len, data); +} +void pg_query__window_func_run_condition__free_unpacked + (PgQuery__WindowFuncRunCondition *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__window_func_run_condition__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__merge_support_func__init + (PgQuery__MergeSupportFunc *message) +{ + static const PgQuery__MergeSupportFunc init_value = PG_QUERY__MERGE_SUPPORT_FUNC__INIT; + *message = init_value; +} +size_t pg_query__merge_support_func__get_packed_size + (const PgQuery__MergeSupportFunc *message) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__merge_support_func__pack + (const PgQuery__MergeSupportFunc *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__merge_support_func__pack_to_buffer + (const PgQuery__MergeSupportFunc *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__MergeSupportFunc * + pg_query__merge_support_func__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__MergeSupportFunc *) + protobuf_c_message_unpack (&pg_query__merge_support_func__descriptor, + allocator, len, data); +} +void pg_query__merge_support_func__free_unpacked + (PgQuery__MergeSupportFunc *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__merge_support_func__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__subscripting_ref__init (PgQuery__SubscriptingRef *message) { @@ -2167,6 +2302,456 @@ void pg_query__xml_expr__free_unpacked assert(message->base.descriptor == &pg_query__xml_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__json_format__init + (PgQuery__JsonFormat *message) +{ + static const PgQuery__JsonFormat init_value = PG_QUERY__JSON_FORMAT__INIT; + *message = init_value; +} +size_t pg_query__json_format__get_packed_size + (const PgQuery__JsonFormat *message) +{ + assert(message->base.descriptor == &pg_query__json_format__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_format__pack + (const PgQuery__JsonFormat *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_format__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_format__pack_to_buffer + (const PgQuery__JsonFormat *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_format__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonFormat * + pg_query__json_format__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonFormat *) + protobuf_c_message_unpack (&pg_query__json_format__descriptor, + allocator, len, data); +} +void pg_query__json_format__free_unpacked + (PgQuery__JsonFormat *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_format__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_returning__init + (PgQuery__JsonReturning *message) +{ + static const PgQuery__JsonReturning init_value = PG_QUERY__JSON_RETURNING__INIT; + *message = init_value; +} +size_t pg_query__json_returning__get_packed_size + (const PgQuery__JsonReturning *message) +{ + assert(message->base.descriptor == &pg_query__json_returning__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_returning__pack + (const PgQuery__JsonReturning *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_returning__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_returning__pack_to_buffer + (const PgQuery__JsonReturning *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_returning__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonReturning * + pg_query__json_returning__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonReturning *) + protobuf_c_message_unpack (&pg_query__json_returning__descriptor, + allocator, len, data); +} +void pg_query__json_returning__free_unpacked + (PgQuery__JsonReturning *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_returning__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_value_expr__init + (PgQuery__JsonValueExpr *message) +{ + static const PgQuery__JsonValueExpr init_value = PG_QUERY__JSON_VALUE_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_value_expr__get_packed_size + (const PgQuery__JsonValueExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_value_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_value_expr__pack + (const PgQuery__JsonValueExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_value_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_value_expr__pack_to_buffer + (const PgQuery__JsonValueExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_value_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonValueExpr * + pg_query__json_value_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonValueExpr *) + protobuf_c_message_unpack (&pg_query__json_value_expr__descriptor, + allocator, len, data); +} +void pg_query__json_value_expr__free_unpacked + (PgQuery__JsonValueExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_value_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_constructor_expr__init + (PgQuery__JsonConstructorExpr *message) +{ + static const PgQuery__JsonConstructorExpr init_value = PG_QUERY__JSON_CONSTRUCTOR_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_constructor_expr__get_packed_size + (const PgQuery__JsonConstructorExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_constructor_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_constructor_expr__pack + (const PgQuery__JsonConstructorExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_constructor_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_constructor_expr__pack_to_buffer + (const PgQuery__JsonConstructorExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_constructor_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonConstructorExpr * + pg_query__json_constructor_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonConstructorExpr *) + protobuf_c_message_unpack (&pg_query__json_constructor_expr__descriptor, + allocator, len, data); +} +void pg_query__json_constructor_expr__free_unpacked + (PgQuery__JsonConstructorExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_constructor_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_is_predicate__init + (PgQuery__JsonIsPredicate *message) +{ + static const PgQuery__JsonIsPredicate init_value = PG_QUERY__JSON_IS_PREDICATE__INIT; + *message = init_value; +} +size_t pg_query__json_is_predicate__get_packed_size + (const PgQuery__JsonIsPredicate *message) +{ + assert(message->base.descriptor == &pg_query__json_is_predicate__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_is_predicate__pack + (const PgQuery__JsonIsPredicate *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_is_predicate__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_is_predicate__pack_to_buffer + (const PgQuery__JsonIsPredicate *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_is_predicate__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonIsPredicate * + pg_query__json_is_predicate__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonIsPredicate *) + protobuf_c_message_unpack (&pg_query__json_is_predicate__descriptor, + allocator, len, data); +} +void pg_query__json_is_predicate__free_unpacked + (PgQuery__JsonIsPredicate *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_is_predicate__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_behavior__init + (PgQuery__JsonBehavior *message) +{ + static const PgQuery__JsonBehavior init_value = PG_QUERY__JSON_BEHAVIOR__INIT; + *message = init_value; +} +size_t pg_query__json_behavior__get_packed_size + (const PgQuery__JsonBehavior *message) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_behavior__pack + (const PgQuery__JsonBehavior *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_behavior__pack_to_buffer + (const PgQuery__JsonBehavior *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonBehavior * + pg_query__json_behavior__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonBehavior *) + protobuf_c_message_unpack (&pg_query__json_behavior__descriptor, + allocator, len, data); +} +void pg_query__json_behavior__free_unpacked + (PgQuery__JsonBehavior *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_behavior__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_expr__init + (PgQuery__JsonExpr *message) +{ + static const PgQuery__JsonExpr init_value = PG_QUERY__JSON_EXPR__INIT; + *message = init_value; +} +size_t pg_query__json_expr__get_packed_size + (const PgQuery__JsonExpr *message) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_expr__pack + (const PgQuery__JsonExpr *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_expr__pack_to_buffer + (const PgQuery__JsonExpr *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonExpr * + pg_query__json_expr__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonExpr *) + protobuf_c_message_unpack (&pg_query__json_expr__descriptor, + allocator, len, data); +} +void pg_query__json_expr__free_unpacked + (PgQuery__JsonExpr *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_expr__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_path__init + (PgQuery__JsonTablePath *message) +{ + static const PgQuery__JsonTablePath init_value = PG_QUERY__JSON_TABLE_PATH__INIT; + *message = init_value; +} +size_t pg_query__json_table_path__get_packed_size + (const PgQuery__JsonTablePath *message) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_path__pack + (const PgQuery__JsonTablePath *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_path__pack_to_buffer + (const PgQuery__JsonTablePath *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTablePath * + pg_query__json_table_path__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTablePath *) + protobuf_c_message_unpack (&pg_query__json_table_path__descriptor, + allocator, len, data); +} +void pg_query__json_table_path__free_unpacked + (PgQuery__JsonTablePath *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_path__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_path_scan__init + (PgQuery__JsonTablePathScan *message) +{ + static const PgQuery__JsonTablePathScan init_value = PG_QUERY__JSON_TABLE_PATH_SCAN__INIT; + *message = init_value; +} +size_t pg_query__json_table_path_scan__get_packed_size + (const PgQuery__JsonTablePathScan *message) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_path_scan__pack + (const PgQuery__JsonTablePathScan *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_path_scan__pack_to_buffer + (const PgQuery__JsonTablePathScan *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTablePathScan * + pg_query__json_table_path_scan__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTablePathScan *) + protobuf_c_message_unpack (&pg_query__json_table_path_scan__descriptor, + allocator, len, data); +} +void pg_query__json_table_path_scan__free_unpacked + (PgQuery__JsonTablePathScan *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_path_scan__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__json_table_sibling_join__init + (PgQuery__JsonTableSiblingJoin *message) +{ + static const PgQuery__JsonTableSiblingJoin init_value = PG_QUERY__JSON_TABLE_SIBLING_JOIN__INIT; + *message = init_value; +} +size_t pg_query__json_table_sibling_join__get_packed_size + (const PgQuery__JsonTableSiblingJoin *message) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__json_table_sibling_join__pack + (const PgQuery__JsonTableSiblingJoin *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__json_table_sibling_join__pack_to_buffer + (const PgQuery__JsonTableSiblingJoin *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__JsonTableSiblingJoin * + pg_query__json_table_sibling_join__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__JsonTableSiblingJoin *) + protobuf_c_message_unpack (&pg_query__json_table_sibling_join__descriptor, + allocator, len, data); +} +void pg_query__json_table_sibling_join__free_unpacked + (PgQuery__JsonTableSiblingJoin *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__json_table_sibling_join__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__null_test__init (PgQuery__NullTest *message) { @@ -2257,6 +2842,51 @@ void pg_query__boolean_test__free_unpacked assert(message->base.descriptor == &pg_query__boolean_test__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } +void pg_query__merge_action__init + (PgQuery__MergeAction *message) +{ + static const PgQuery__MergeAction init_value = PG_QUERY__MERGE_ACTION__INIT; + *message = init_value; +} +size_t pg_query__merge_action__get_packed_size + (const PgQuery__MergeAction *message) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__merge_action__pack + (const PgQuery__MergeAction *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__merge_action__pack_to_buffer + (const PgQuery__MergeAction *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__MergeAction * + pg_query__merge_action__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__MergeAction *) + protobuf_c_message_unpack (&pg_query__merge_action__descriptor, + allocator, len, data); +} +void pg_query__merge_action__free_unpacked + (PgQuery__MergeAction *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__merge_action__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} void pg_query__coerce_to_domain__init (PgQuery__CoerceToDomain *message) { @@ -2752,4279 +3382,4234 @@ void pg_query__on_conflict_expr__free_unpacked assert(message->base.descriptor == &pg_query__on_conflict_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__into_clause__init - (PgQuery__IntoClause *message) +void pg_query__query__init + (PgQuery__Query *message) { - static const PgQuery__IntoClause init_value = PG_QUERY__INTO_CLAUSE__INIT; + static const PgQuery__Query init_value = PG_QUERY__QUERY__INIT; *message = init_value; } -size_t pg_query__into_clause__get_packed_size - (const PgQuery__IntoClause *message) +size_t pg_query__query__get_packed_size + (const PgQuery__Query *message) { - assert(message->base.descriptor == &pg_query__into_clause__descriptor); + assert(message->base.descriptor == &pg_query__query__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__into_clause__pack - (const PgQuery__IntoClause *message, +size_t pg_query__query__pack + (const PgQuery__Query *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__into_clause__descriptor); + assert(message->base.descriptor == &pg_query__query__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__into_clause__pack_to_buffer - (const PgQuery__IntoClause *message, +size_t pg_query__query__pack_to_buffer + (const PgQuery__Query *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__into_clause__descriptor); + assert(message->base.descriptor == &pg_query__query__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__IntoClause * - pg_query__into_clause__unpack +PgQuery__Query * + pg_query__query__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__IntoClause *) - protobuf_c_message_unpack (&pg_query__into_clause__descriptor, + return (PgQuery__Query *) + protobuf_c_message_unpack (&pg_query__query__descriptor, allocator, len, data); } -void pg_query__into_clause__free_unpacked - (PgQuery__IntoClause *message, +void pg_query__query__free_unpacked + (PgQuery__Query *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__into_clause__descriptor); + assert(message->base.descriptor == &pg_query__query__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__merge_action__init - (PgQuery__MergeAction *message) +void pg_query__type_name__init + (PgQuery__TypeName *message) { - static const PgQuery__MergeAction init_value = PG_QUERY__MERGE_ACTION__INIT; + static const PgQuery__TypeName init_value = PG_QUERY__TYPE_NAME__INIT; *message = init_value; } -size_t pg_query__merge_action__get_packed_size - (const PgQuery__MergeAction *message) +size_t pg_query__type_name__get_packed_size + (const PgQuery__TypeName *message) { - assert(message->base.descriptor == &pg_query__merge_action__descriptor); + assert(message->base.descriptor == &pg_query__type_name__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__merge_action__pack - (const PgQuery__MergeAction *message, +size_t pg_query__type_name__pack + (const PgQuery__TypeName *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__merge_action__descriptor); + assert(message->base.descriptor == &pg_query__type_name__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__merge_action__pack_to_buffer - (const PgQuery__MergeAction *message, +size_t pg_query__type_name__pack_to_buffer + (const PgQuery__TypeName *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__merge_action__descriptor); + assert(message->base.descriptor == &pg_query__type_name__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__MergeAction * - pg_query__merge_action__unpack +PgQuery__TypeName * + pg_query__type_name__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__MergeAction *) - protobuf_c_message_unpack (&pg_query__merge_action__descriptor, + return (PgQuery__TypeName *) + protobuf_c_message_unpack (&pg_query__type_name__descriptor, allocator, len, data); } -void pg_query__merge_action__free_unpacked - (PgQuery__MergeAction *message, +void pg_query__type_name__free_unpacked + (PgQuery__TypeName *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__merge_action__descriptor); + assert(message->base.descriptor == &pg_query__type_name__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__raw_stmt__init - (PgQuery__RawStmt *message) +void pg_query__column_ref__init + (PgQuery__ColumnRef *message) { - static const PgQuery__RawStmt init_value = PG_QUERY__RAW_STMT__INIT; + static const PgQuery__ColumnRef init_value = PG_QUERY__COLUMN_REF__INIT; *message = init_value; } -size_t pg_query__raw_stmt__get_packed_size - (const PgQuery__RawStmt *message) +size_t pg_query__column_ref__get_packed_size + (const PgQuery__ColumnRef *message) { - assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_ref__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__raw_stmt__pack - (const PgQuery__RawStmt *message, +size_t pg_query__column_ref__pack + (const PgQuery__ColumnRef *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_ref__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__raw_stmt__pack_to_buffer - (const PgQuery__RawStmt *message, +size_t pg_query__column_ref__pack_to_buffer + (const PgQuery__ColumnRef *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_ref__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RawStmt * - pg_query__raw_stmt__unpack +PgQuery__ColumnRef * + pg_query__column_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RawStmt *) - protobuf_c_message_unpack (&pg_query__raw_stmt__descriptor, + return (PgQuery__ColumnRef *) + protobuf_c_message_unpack (&pg_query__column_ref__descriptor, allocator, len, data); } -void pg_query__raw_stmt__free_unpacked - (PgQuery__RawStmt *message, +void pg_query__column_ref__free_unpacked + (PgQuery__ColumnRef *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_ref__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__query__init - (PgQuery__Query *message) +void pg_query__param_ref__init + (PgQuery__ParamRef *message) { - static const PgQuery__Query init_value = PG_QUERY__QUERY__INIT; + static const PgQuery__ParamRef init_value = PG_QUERY__PARAM_REF__INIT; *message = init_value; } -size_t pg_query__query__get_packed_size - (const PgQuery__Query *message) +size_t pg_query__param_ref__get_packed_size + (const PgQuery__ParamRef *message) { - assert(message->base.descriptor == &pg_query__query__descriptor); + assert(message->base.descriptor == &pg_query__param_ref__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__query__pack - (const PgQuery__Query *message, +size_t pg_query__param_ref__pack + (const PgQuery__ParamRef *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__query__descriptor); + assert(message->base.descriptor == &pg_query__param_ref__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__query__pack_to_buffer - (const PgQuery__Query *message, +size_t pg_query__param_ref__pack_to_buffer + (const PgQuery__ParamRef *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__query__descriptor); + assert(message->base.descriptor == &pg_query__param_ref__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__Query * - pg_query__query__unpack +PgQuery__ParamRef * + pg_query__param_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__Query *) - protobuf_c_message_unpack (&pg_query__query__descriptor, + return (PgQuery__ParamRef *) + protobuf_c_message_unpack (&pg_query__param_ref__descriptor, allocator, len, data); } -void pg_query__query__free_unpacked - (PgQuery__Query *message, +void pg_query__param_ref__free_unpacked + (PgQuery__ParamRef *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__query__descriptor); + assert(message->base.descriptor == &pg_query__param_ref__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__insert_stmt__init - (PgQuery__InsertStmt *message) +void pg_query__a__expr__init + (PgQuery__AExpr *message) { - static const PgQuery__InsertStmt init_value = PG_QUERY__INSERT_STMT__INIT; + static const PgQuery__AExpr init_value = PG_QUERY__A__EXPR__INIT; *message = init_value; } -size_t pg_query__insert_stmt__get_packed_size - (const PgQuery__InsertStmt *message) +size_t pg_query__a__expr__get_packed_size + (const PgQuery__AExpr *message) { - assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__insert_stmt__pack - (const PgQuery__InsertStmt *message, +size_t pg_query__a__expr__pack + (const PgQuery__AExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__insert_stmt__pack_to_buffer - (const PgQuery__InsertStmt *message, +size_t pg_query__a__expr__pack_to_buffer + (const PgQuery__AExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__InsertStmt * - pg_query__insert_stmt__unpack +PgQuery__AExpr * + pg_query__a__expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__InsertStmt *) - protobuf_c_message_unpack (&pg_query__insert_stmt__descriptor, + return (PgQuery__AExpr *) + protobuf_c_message_unpack (&pg_query__a__expr__descriptor, allocator, len, data); } -void pg_query__insert_stmt__free_unpacked - (PgQuery__InsertStmt *message, +void pg_query__a__expr__free_unpacked + (PgQuery__AExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__delete_stmt__init - (PgQuery__DeleteStmt *message) +void pg_query__type_cast__init + (PgQuery__TypeCast *message) { - static const PgQuery__DeleteStmt init_value = PG_QUERY__DELETE_STMT__INIT; + static const PgQuery__TypeCast init_value = PG_QUERY__TYPE_CAST__INIT; *message = init_value; } -size_t pg_query__delete_stmt__get_packed_size - (const PgQuery__DeleteStmt *message) +size_t pg_query__type_cast__get_packed_size + (const PgQuery__TypeCast *message) { - assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); + assert(message->base.descriptor == &pg_query__type_cast__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__delete_stmt__pack - (const PgQuery__DeleteStmt *message, +size_t pg_query__type_cast__pack + (const PgQuery__TypeCast *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); + assert(message->base.descriptor == &pg_query__type_cast__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__delete_stmt__pack_to_buffer - (const PgQuery__DeleteStmt *message, +size_t pg_query__type_cast__pack_to_buffer + (const PgQuery__TypeCast *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); + assert(message->base.descriptor == &pg_query__type_cast__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DeleteStmt * - pg_query__delete_stmt__unpack +PgQuery__TypeCast * + pg_query__type_cast__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DeleteStmt *) - protobuf_c_message_unpack (&pg_query__delete_stmt__descriptor, + return (PgQuery__TypeCast *) + protobuf_c_message_unpack (&pg_query__type_cast__descriptor, allocator, len, data); } -void pg_query__delete_stmt__free_unpacked - (PgQuery__DeleteStmt *message, +void pg_query__type_cast__free_unpacked + (PgQuery__TypeCast *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); + assert(message->base.descriptor == &pg_query__type_cast__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__update_stmt__init - (PgQuery__UpdateStmt *message) +void pg_query__collate_clause__init + (PgQuery__CollateClause *message) { - static const PgQuery__UpdateStmt init_value = PG_QUERY__UPDATE_STMT__INIT; + static const PgQuery__CollateClause init_value = PG_QUERY__COLLATE_CLAUSE__INIT; *message = init_value; } -size_t pg_query__update_stmt__get_packed_size - (const PgQuery__UpdateStmt *message) +size_t pg_query__collate_clause__get_packed_size + (const PgQuery__CollateClause *message) { - assert(message->base.descriptor == &pg_query__update_stmt__descriptor); + assert(message->base.descriptor == &pg_query__collate_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__update_stmt__pack - (const PgQuery__UpdateStmt *message, +size_t pg_query__collate_clause__pack + (const PgQuery__CollateClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__update_stmt__descriptor); + assert(message->base.descriptor == &pg_query__collate_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__update_stmt__pack_to_buffer - (const PgQuery__UpdateStmt *message, +size_t pg_query__collate_clause__pack_to_buffer + (const PgQuery__CollateClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__update_stmt__descriptor); + assert(message->base.descriptor == &pg_query__collate_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__UpdateStmt * - pg_query__update_stmt__unpack +PgQuery__CollateClause * + pg_query__collate_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__UpdateStmt *) - protobuf_c_message_unpack (&pg_query__update_stmt__descriptor, + return (PgQuery__CollateClause *) + protobuf_c_message_unpack (&pg_query__collate_clause__descriptor, allocator, len, data); } -void pg_query__update_stmt__free_unpacked - (PgQuery__UpdateStmt *message, +void pg_query__collate_clause__free_unpacked + (PgQuery__CollateClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__update_stmt__descriptor); + assert(message->base.descriptor == &pg_query__collate_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__merge_stmt__init - (PgQuery__MergeStmt *message) +void pg_query__role_spec__init + (PgQuery__RoleSpec *message) { - static const PgQuery__MergeStmt init_value = PG_QUERY__MERGE_STMT__INIT; + static const PgQuery__RoleSpec init_value = PG_QUERY__ROLE_SPEC__INIT; *message = init_value; } -size_t pg_query__merge_stmt__get_packed_size - (const PgQuery__MergeStmt *message) +size_t pg_query__role_spec__get_packed_size + (const PgQuery__RoleSpec *message) { - assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); + assert(message->base.descriptor == &pg_query__role_spec__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__merge_stmt__pack - (const PgQuery__MergeStmt *message, +size_t pg_query__role_spec__pack + (const PgQuery__RoleSpec *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); + assert(message->base.descriptor == &pg_query__role_spec__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__merge_stmt__pack_to_buffer - (const PgQuery__MergeStmt *message, +size_t pg_query__role_spec__pack_to_buffer + (const PgQuery__RoleSpec *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); + assert(message->base.descriptor == &pg_query__role_spec__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__MergeStmt * - pg_query__merge_stmt__unpack +PgQuery__RoleSpec * + pg_query__role_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__MergeStmt *) - protobuf_c_message_unpack (&pg_query__merge_stmt__descriptor, + return (PgQuery__RoleSpec *) + protobuf_c_message_unpack (&pg_query__role_spec__descriptor, allocator, len, data); } -void pg_query__merge_stmt__free_unpacked - (PgQuery__MergeStmt *message, +void pg_query__role_spec__free_unpacked + (PgQuery__RoleSpec *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); + assert(message->base.descriptor == &pg_query__role_spec__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__select_stmt__init - (PgQuery__SelectStmt *message) +void pg_query__func_call__init + (PgQuery__FuncCall *message) { - static const PgQuery__SelectStmt init_value = PG_QUERY__SELECT_STMT__INIT; + static const PgQuery__FuncCall init_value = PG_QUERY__FUNC_CALL__INIT; *message = init_value; } -size_t pg_query__select_stmt__get_packed_size - (const PgQuery__SelectStmt *message) +size_t pg_query__func_call__get_packed_size + (const PgQuery__FuncCall *message) { - assert(message->base.descriptor == &pg_query__select_stmt__descriptor); + assert(message->base.descriptor == &pg_query__func_call__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__select_stmt__pack - (const PgQuery__SelectStmt *message, +size_t pg_query__func_call__pack + (const PgQuery__FuncCall *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__select_stmt__descriptor); + assert(message->base.descriptor == &pg_query__func_call__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__select_stmt__pack_to_buffer - (const PgQuery__SelectStmt *message, +size_t pg_query__func_call__pack_to_buffer + (const PgQuery__FuncCall *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__select_stmt__descriptor); + assert(message->base.descriptor == &pg_query__func_call__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__SelectStmt * - pg_query__select_stmt__unpack +PgQuery__FuncCall * + pg_query__func_call__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__SelectStmt *) - protobuf_c_message_unpack (&pg_query__select_stmt__descriptor, + return (PgQuery__FuncCall *) + protobuf_c_message_unpack (&pg_query__func_call__descriptor, allocator, len, data); } -void pg_query__select_stmt__free_unpacked - (PgQuery__SelectStmt *message, +void pg_query__func_call__free_unpacked + (PgQuery__FuncCall *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__select_stmt__descriptor); + assert(message->base.descriptor == &pg_query__func_call__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__return_stmt__init - (PgQuery__ReturnStmt *message) +void pg_query__a__star__init + (PgQuery__AStar *message) { - static const PgQuery__ReturnStmt init_value = PG_QUERY__RETURN_STMT__INIT; + static const PgQuery__AStar init_value = PG_QUERY__A__STAR__INIT; *message = init_value; } -size_t pg_query__return_stmt__get_packed_size - (const PgQuery__ReturnStmt *message) +size_t pg_query__a__star__get_packed_size + (const PgQuery__AStar *message) { - assert(message->base.descriptor == &pg_query__return_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__star__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__return_stmt__pack - (const PgQuery__ReturnStmt *message, +size_t pg_query__a__star__pack + (const PgQuery__AStar *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__return_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__star__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__return_stmt__pack_to_buffer - (const PgQuery__ReturnStmt *message, +size_t pg_query__a__star__pack_to_buffer + (const PgQuery__AStar *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__return_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__star__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ReturnStmt * - pg_query__return_stmt__unpack +PgQuery__AStar * + pg_query__a__star__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ReturnStmt *) - protobuf_c_message_unpack (&pg_query__return_stmt__descriptor, + return (PgQuery__AStar *) + protobuf_c_message_unpack (&pg_query__a__star__descriptor, allocator, len, data); } -void pg_query__return_stmt__free_unpacked - (PgQuery__ReturnStmt *message, +void pg_query__a__star__free_unpacked + (PgQuery__AStar *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__return_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__star__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__plassign_stmt__init - (PgQuery__PLAssignStmt *message) +void pg_query__a__indices__init + (PgQuery__AIndices *message) { - static const PgQuery__PLAssignStmt init_value = PG_QUERY__PLASSIGN_STMT__INIT; + static const PgQuery__AIndices init_value = PG_QUERY__A__INDICES__INIT; *message = init_value; } -size_t pg_query__plassign_stmt__get_packed_size - (const PgQuery__PLAssignStmt *message) +size_t pg_query__a__indices__get_packed_size + (const PgQuery__AIndices *message) { - assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indices__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__plassign_stmt__pack - (const PgQuery__PLAssignStmt *message, +size_t pg_query__a__indices__pack + (const PgQuery__AIndices *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indices__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__plassign_stmt__pack_to_buffer - (const PgQuery__PLAssignStmt *message, +size_t pg_query__a__indices__pack_to_buffer + (const PgQuery__AIndices *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indices__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PLAssignStmt * - pg_query__plassign_stmt__unpack +PgQuery__AIndices * + pg_query__a__indices__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PLAssignStmt *) - protobuf_c_message_unpack (&pg_query__plassign_stmt__descriptor, + return (PgQuery__AIndices *) + protobuf_c_message_unpack (&pg_query__a__indices__descriptor, allocator, len, data); } -void pg_query__plassign_stmt__free_unpacked - (PgQuery__PLAssignStmt *message, +void pg_query__a__indices__free_unpacked + (PgQuery__AIndices *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indices__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_table_stmt__init - (PgQuery__AlterTableStmt *message) +void pg_query__a__indirection__init + (PgQuery__AIndirection *message) { - static const PgQuery__AlterTableStmt init_value = PG_QUERY__ALTER_TABLE_STMT__INIT; + static const PgQuery__AIndirection init_value = PG_QUERY__A__INDIRECTION__INIT; *message = init_value; } -size_t pg_query__alter_table_stmt__get_packed_size - (const PgQuery__AlterTableStmt *message) +size_t pg_query__a__indirection__get_packed_size + (const PgQuery__AIndirection *message) { - assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indirection__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_table_stmt__pack - (const PgQuery__AlterTableStmt *message, +size_t pg_query__a__indirection__pack + (const PgQuery__AIndirection *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indirection__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_table_stmt__pack_to_buffer - (const PgQuery__AlterTableStmt *message, +size_t pg_query__a__indirection__pack_to_buffer + (const PgQuery__AIndirection *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indirection__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterTableStmt * - pg_query__alter_table_stmt__unpack +PgQuery__AIndirection * + pg_query__a__indirection__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterTableStmt *) - protobuf_c_message_unpack (&pg_query__alter_table_stmt__descriptor, + return (PgQuery__AIndirection *) + protobuf_c_message_unpack (&pg_query__a__indirection__descriptor, allocator, len, data); } -void pg_query__alter_table_stmt__free_unpacked - (PgQuery__AlterTableStmt *message, +void pg_query__a__indirection__free_unpacked + (PgQuery__AIndirection *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); + assert(message->base.descriptor == &pg_query__a__indirection__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_table_cmd__init - (PgQuery__AlterTableCmd *message) +void pg_query__a__array_expr__init + (PgQuery__AArrayExpr *message) { - static const PgQuery__AlterTableCmd init_value = PG_QUERY__ALTER_TABLE_CMD__INIT; + static const PgQuery__AArrayExpr init_value = PG_QUERY__A__ARRAY_EXPR__INIT; *message = init_value; } -size_t pg_query__alter_table_cmd__get_packed_size - (const PgQuery__AlterTableCmd *message) +size_t pg_query__a__array_expr__get_packed_size + (const PgQuery__AArrayExpr *message) { - assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); + assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_table_cmd__pack - (const PgQuery__AlterTableCmd *message, +size_t pg_query__a__array_expr__pack + (const PgQuery__AArrayExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); + assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_table_cmd__pack_to_buffer - (const PgQuery__AlterTableCmd *message, +size_t pg_query__a__array_expr__pack_to_buffer + (const PgQuery__AArrayExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); + assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterTableCmd * - pg_query__alter_table_cmd__unpack +PgQuery__AArrayExpr * + pg_query__a__array_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterTableCmd *) - protobuf_c_message_unpack (&pg_query__alter_table_cmd__descriptor, + return (PgQuery__AArrayExpr *) + protobuf_c_message_unpack (&pg_query__a__array_expr__descriptor, allocator, len, data); } -void pg_query__alter_table_cmd__free_unpacked - (PgQuery__AlterTableCmd *message, +void pg_query__a__array_expr__free_unpacked + (PgQuery__AArrayExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); + assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_domain_stmt__init - (PgQuery__AlterDomainStmt *message) +void pg_query__res_target__init + (PgQuery__ResTarget *message) { - static const PgQuery__AlterDomainStmt init_value = PG_QUERY__ALTER_DOMAIN_STMT__INIT; + static const PgQuery__ResTarget init_value = PG_QUERY__RES_TARGET__INIT; *message = init_value; } -size_t pg_query__alter_domain_stmt__get_packed_size - (const PgQuery__AlterDomainStmt *message) +size_t pg_query__res_target__get_packed_size + (const PgQuery__ResTarget *message) { - assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__res_target__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_domain_stmt__pack - (const PgQuery__AlterDomainStmt *message, +size_t pg_query__res_target__pack + (const PgQuery__ResTarget *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__res_target__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_domain_stmt__pack_to_buffer - (const PgQuery__AlterDomainStmt *message, +size_t pg_query__res_target__pack_to_buffer + (const PgQuery__ResTarget *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__res_target__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterDomainStmt * - pg_query__alter_domain_stmt__unpack +PgQuery__ResTarget * + pg_query__res_target__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterDomainStmt *) - protobuf_c_message_unpack (&pg_query__alter_domain_stmt__descriptor, + return (PgQuery__ResTarget *) + protobuf_c_message_unpack (&pg_query__res_target__descriptor, allocator, len, data); } -void pg_query__alter_domain_stmt__free_unpacked - (PgQuery__AlterDomainStmt *message, +void pg_query__res_target__free_unpacked + (PgQuery__ResTarget *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__res_target__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__set_operation_stmt__init - (PgQuery__SetOperationStmt *message) +void pg_query__multi_assign_ref__init + (PgQuery__MultiAssignRef *message) { - static const PgQuery__SetOperationStmt init_value = PG_QUERY__SET_OPERATION_STMT__INIT; + static const PgQuery__MultiAssignRef init_value = PG_QUERY__MULTI_ASSIGN_REF__INIT; *message = init_value; } -size_t pg_query__set_operation_stmt__get_packed_size - (const PgQuery__SetOperationStmt *message) +size_t pg_query__multi_assign_ref__get_packed_size + (const PgQuery__MultiAssignRef *message) { - assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__set_operation_stmt__pack - (const PgQuery__SetOperationStmt *message, +size_t pg_query__multi_assign_ref__pack + (const PgQuery__MultiAssignRef *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__set_operation_stmt__pack_to_buffer - (const PgQuery__SetOperationStmt *message, +size_t pg_query__multi_assign_ref__pack_to_buffer + (const PgQuery__MultiAssignRef *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__SetOperationStmt * - pg_query__set_operation_stmt__unpack +PgQuery__MultiAssignRef * + pg_query__multi_assign_ref__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__SetOperationStmt *) - protobuf_c_message_unpack (&pg_query__set_operation_stmt__descriptor, + return (PgQuery__MultiAssignRef *) + protobuf_c_message_unpack (&pg_query__multi_assign_ref__descriptor, allocator, len, data); } -void pg_query__set_operation_stmt__free_unpacked - (PgQuery__SetOperationStmt *message, +void pg_query__multi_assign_ref__free_unpacked + (PgQuery__MultiAssignRef *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__grant_stmt__init - (PgQuery__GrantStmt *message) +void pg_query__sort_by__init + (PgQuery__SortBy *message) { - static const PgQuery__GrantStmt init_value = PG_QUERY__GRANT_STMT__INIT; + static const PgQuery__SortBy init_value = PG_QUERY__SORT_BY__INIT; *message = init_value; } -size_t pg_query__grant_stmt__get_packed_size - (const PgQuery__GrantStmt *message) +size_t pg_query__sort_by__get_packed_size + (const PgQuery__SortBy *message) { - assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_by__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__grant_stmt__pack - (const PgQuery__GrantStmt *message, +size_t pg_query__sort_by__pack + (const PgQuery__SortBy *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_by__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__grant_stmt__pack_to_buffer - (const PgQuery__GrantStmt *message, +size_t pg_query__sort_by__pack_to_buffer + (const PgQuery__SortBy *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_by__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__GrantStmt * - pg_query__grant_stmt__unpack +PgQuery__SortBy * + pg_query__sort_by__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__GrantStmt *) - protobuf_c_message_unpack (&pg_query__grant_stmt__descriptor, + return (PgQuery__SortBy *) + protobuf_c_message_unpack (&pg_query__sort_by__descriptor, allocator, len, data); } -void pg_query__grant_stmt__free_unpacked - (PgQuery__GrantStmt *message, +void pg_query__sort_by__free_unpacked + (PgQuery__SortBy *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_by__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__grant_role_stmt__init - (PgQuery__GrantRoleStmt *message) +void pg_query__window_def__init + (PgQuery__WindowDef *message) { - static const PgQuery__GrantRoleStmt init_value = PG_QUERY__GRANT_ROLE_STMT__INIT; + static const PgQuery__WindowDef init_value = PG_QUERY__WINDOW_DEF__INIT; *message = init_value; } -size_t pg_query__grant_role_stmt__get_packed_size - (const PgQuery__GrantRoleStmt *message) +size_t pg_query__window_def__get_packed_size + (const PgQuery__WindowDef *message) { - assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_def__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__grant_role_stmt__pack - (const PgQuery__GrantRoleStmt *message, +size_t pg_query__window_def__pack + (const PgQuery__WindowDef *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_def__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__grant_role_stmt__pack_to_buffer - (const PgQuery__GrantRoleStmt *message, +size_t pg_query__window_def__pack_to_buffer + (const PgQuery__WindowDef *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_def__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__GrantRoleStmt * - pg_query__grant_role_stmt__unpack +PgQuery__WindowDef * + pg_query__window_def__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__GrantRoleStmt *) - protobuf_c_message_unpack (&pg_query__grant_role_stmt__descriptor, + return (PgQuery__WindowDef *) + protobuf_c_message_unpack (&pg_query__window_def__descriptor, allocator, len, data); } -void pg_query__grant_role_stmt__free_unpacked - (PgQuery__GrantRoleStmt *message, +void pg_query__window_def__free_unpacked + (PgQuery__WindowDef *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_def__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_default_privileges_stmt__init - (PgQuery__AlterDefaultPrivilegesStmt *message) +void pg_query__range_subselect__init + (PgQuery__RangeSubselect *message) { - static const PgQuery__AlterDefaultPrivilegesStmt init_value = PG_QUERY__ALTER_DEFAULT_PRIVILEGES_STMT__INIT; + static const PgQuery__RangeSubselect init_value = PG_QUERY__RANGE_SUBSELECT__INIT; *message = init_value; } -size_t pg_query__alter_default_privileges_stmt__get_packed_size - (const PgQuery__AlterDefaultPrivilegesStmt *message) +size_t pg_query__range_subselect__get_packed_size + (const PgQuery__RangeSubselect *message) { - assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_subselect__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_default_privileges_stmt__pack - (const PgQuery__AlterDefaultPrivilegesStmt *message, +size_t pg_query__range_subselect__pack + (const PgQuery__RangeSubselect *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_subselect__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_default_privileges_stmt__pack_to_buffer - (const PgQuery__AlterDefaultPrivilegesStmt *message, +size_t pg_query__range_subselect__pack_to_buffer + (const PgQuery__RangeSubselect *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_subselect__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterDefaultPrivilegesStmt * - pg_query__alter_default_privileges_stmt__unpack +PgQuery__RangeSubselect * + pg_query__range_subselect__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterDefaultPrivilegesStmt *) - protobuf_c_message_unpack (&pg_query__alter_default_privileges_stmt__descriptor, + return (PgQuery__RangeSubselect *) + protobuf_c_message_unpack (&pg_query__range_subselect__descriptor, allocator, len, data); } -void pg_query__alter_default_privileges_stmt__free_unpacked - (PgQuery__AlterDefaultPrivilegesStmt *message, +void pg_query__range_subselect__free_unpacked + (PgQuery__RangeSubselect *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_subselect__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__close_portal_stmt__init - (PgQuery__ClosePortalStmt *message) +void pg_query__range_function__init + (PgQuery__RangeFunction *message) { - static const PgQuery__ClosePortalStmt init_value = PG_QUERY__CLOSE_PORTAL_STMT__INIT; + static const PgQuery__RangeFunction init_value = PG_QUERY__RANGE_FUNCTION__INIT; *message = init_value; } -size_t pg_query__close_portal_stmt__get_packed_size - (const PgQuery__ClosePortalStmt *message) +size_t pg_query__range_function__get_packed_size + (const PgQuery__RangeFunction *message) { - assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_function__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__close_portal_stmt__pack - (const PgQuery__ClosePortalStmt *message, +size_t pg_query__range_function__pack + (const PgQuery__RangeFunction *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_function__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__close_portal_stmt__pack_to_buffer - (const PgQuery__ClosePortalStmt *message, +size_t pg_query__range_function__pack_to_buffer + (const PgQuery__RangeFunction *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_function__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ClosePortalStmt * - pg_query__close_portal_stmt__unpack +PgQuery__RangeFunction * + pg_query__range_function__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ClosePortalStmt *) - protobuf_c_message_unpack (&pg_query__close_portal_stmt__descriptor, + return (PgQuery__RangeFunction *) + protobuf_c_message_unpack (&pg_query__range_function__descriptor, allocator, len, data); } -void pg_query__close_portal_stmt__free_unpacked - (PgQuery__ClosePortalStmt *message, +void pg_query__range_function__free_unpacked + (PgQuery__RangeFunction *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_function__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__cluster_stmt__init - (PgQuery__ClusterStmt *message) +void pg_query__range_table_func__init + (PgQuery__RangeTableFunc *message) { - static const PgQuery__ClusterStmt init_value = PG_QUERY__CLUSTER_STMT__INIT; + static const PgQuery__RangeTableFunc init_value = PG_QUERY__RANGE_TABLE_FUNC__INIT; *message = init_value; } -size_t pg_query__cluster_stmt__get_packed_size - (const PgQuery__ClusterStmt *message) +size_t pg_query__range_table_func__get_packed_size + (const PgQuery__RangeTableFunc *message) { - assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__cluster_stmt__pack - (const PgQuery__ClusterStmt *message, +size_t pg_query__range_table_func__pack + (const PgQuery__RangeTableFunc *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__cluster_stmt__pack_to_buffer - (const PgQuery__ClusterStmt *message, +size_t pg_query__range_table_func__pack_to_buffer + (const PgQuery__RangeTableFunc *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ClusterStmt * - pg_query__cluster_stmt__unpack +PgQuery__RangeTableFunc * + pg_query__range_table_func__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ClusterStmt *) - protobuf_c_message_unpack (&pg_query__cluster_stmt__descriptor, + return (PgQuery__RangeTableFunc *) + protobuf_c_message_unpack (&pg_query__range_table_func__descriptor, allocator, len, data); } -void pg_query__cluster_stmt__free_unpacked - (PgQuery__ClusterStmt *message, +void pg_query__range_table_func__free_unpacked + (PgQuery__RangeTableFunc *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__copy_stmt__init - (PgQuery__CopyStmt *message) +void pg_query__range_table_func_col__init + (PgQuery__RangeTableFuncCol *message) { - static const PgQuery__CopyStmt init_value = PG_QUERY__COPY_STMT__INIT; + static const PgQuery__RangeTableFuncCol init_value = PG_QUERY__RANGE_TABLE_FUNC_COL__INIT; *message = init_value; } -size_t pg_query__copy_stmt__get_packed_size - (const PgQuery__CopyStmt *message) +size_t pg_query__range_table_func_col__get_packed_size + (const PgQuery__RangeTableFuncCol *message) { - assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__copy_stmt__pack - (const PgQuery__CopyStmt *message, +size_t pg_query__range_table_func_col__pack + (const PgQuery__RangeTableFuncCol *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__copy_stmt__pack_to_buffer - (const PgQuery__CopyStmt *message, +size_t pg_query__range_table_func_col__pack_to_buffer + (const PgQuery__RangeTableFuncCol *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CopyStmt * - pg_query__copy_stmt__unpack +PgQuery__RangeTableFuncCol * + pg_query__range_table_func_col__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CopyStmt *) - protobuf_c_message_unpack (&pg_query__copy_stmt__descriptor, + return (PgQuery__RangeTableFuncCol *) + protobuf_c_message_unpack (&pg_query__range_table_func_col__descriptor, allocator, len, data); } -void pg_query__copy_stmt__free_unpacked - (PgQuery__CopyStmt *message, +void pg_query__range_table_func_col__free_unpacked + (PgQuery__RangeTableFuncCol *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_stmt__init - (PgQuery__CreateStmt *message) +void pg_query__range_table_sample__init + (PgQuery__RangeTableSample *message) { - static const PgQuery__CreateStmt init_value = PG_QUERY__CREATE_STMT__INIT; + static const PgQuery__RangeTableSample init_value = PG_QUERY__RANGE_TABLE_SAMPLE__INIT; *message = init_value; } -size_t pg_query__create_stmt__get_packed_size - (const PgQuery__CreateStmt *message) +size_t pg_query__range_table_sample__get_packed_size + (const PgQuery__RangeTableSample *message) { - assert(message->base.descriptor == &pg_query__create_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_stmt__pack - (const PgQuery__CreateStmt *message, +size_t pg_query__range_table_sample__pack + (const PgQuery__RangeTableSample *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_stmt__pack_to_buffer - (const PgQuery__CreateStmt *message, +size_t pg_query__range_table_sample__pack_to_buffer + (const PgQuery__RangeTableSample *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateStmt * - pg_query__create_stmt__unpack +PgQuery__RangeTableSample * + pg_query__range_table_sample__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateStmt *) - protobuf_c_message_unpack (&pg_query__create_stmt__descriptor, + return (PgQuery__RangeTableSample *) + protobuf_c_message_unpack (&pg_query__range_table_sample__descriptor, allocator, len, data); } -void pg_query__create_stmt__free_unpacked - (PgQuery__CreateStmt *message, +void pg_query__range_table_sample__free_unpacked + (PgQuery__RangeTableSample *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__define_stmt__init - (PgQuery__DefineStmt *message) +void pg_query__column_def__init + (PgQuery__ColumnDef *message) { - static const PgQuery__DefineStmt init_value = PG_QUERY__DEFINE_STMT__INIT; + static const PgQuery__ColumnDef init_value = PG_QUERY__COLUMN_DEF__INIT; *message = init_value; } -size_t pg_query__define_stmt__get_packed_size - (const PgQuery__DefineStmt *message) +size_t pg_query__column_def__get_packed_size + (const PgQuery__ColumnDef *message) { - assert(message->base.descriptor == &pg_query__define_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_def__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__define_stmt__pack - (const PgQuery__DefineStmt *message, +size_t pg_query__column_def__pack + (const PgQuery__ColumnDef *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__define_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_def__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__define_stmt__pack_to_buffer - (const PgQuery__DefineStmt *message, +size_t pg_query__column_def__pack_to_buffer + (const PgQuery__ColumnDef *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__define_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_def__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DefineStmt * - pg_query__define_stmt__unpack +PgQuery__ColumnDef * + pg_query__column_def__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DefineStmt *) - protobuf_c_message_unpack (&pg_query__define_stmt__descriptor, + return (PgQuery__ColumnDef *) + protobuf_c_message_unpack (&pg_query__column_def__descriptor, allocator, len, data); } -void pg_query__define_stmt__free_unpacked - (PgQuery__DefineStmt *message, +void pg_query__column_def__free_unpacked + (PgQuery__ColumnDef *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__define_stmt__descriptor); + assert(message->base.descriptor == &pg_query__column_def__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_stmt__init - (PgQuery__DropStmt *message) +void pg_query__table_like_clause__init + (PgQuery__TableLikeClause *message) { - static const PgQuery__DropStmt init_value = PG_QUERY__DROP_STMT__INIT; + static const PgQuery__TableLikeClause init_value = PG_QUERY__TABLE_LIKE_CLAUSE__INIT; *message = init_value; } -size_t pg_query__drop_stmt__get_packed_size - (const PgQuery__DropStmt *message) +size_t pg_query__table_like_clause__get_packed_size + (const PgQuery__TableLikeClause *message) { - assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_stmt__pack - (const PgQuery__DropStmt *message, +size_t pg_query__table_like_clause__pack + (const PgQuery__TableLikeClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_stmt__pack_to_buffer - (const PgQuery__DropStmt *message, +size_t pg_query__table_like_clause__pack_to_buffer + (const PgQuery__TableLikeClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropStmt * - pg_query__drop_stmt__unpack +PgQuery__TableLikeClause * + pg_query__table_like_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropStmt *) - protobuf_c_message_unpack (&pg_query__drop_stmt__descriptor, + return (PgQuery__TableLikeClause *) + protobuf_c_message_unpack (&pg_query__table_like_clause__descriptor, allocator, len, data); } -void pg_query__drop_stmt__free_unpacked - (PgQuery__DropStmt *message, +void pg_query__table_like_clause__free_unpacked + (PgQuery__TableLikeClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__truncate_stmt__init - (PgQuery__TruncateStmt *message) +void pg_query__index_elem__init + (PgQuery__IndexElem *message) { - static const PgQuery__TruncateStmt init_value = PG_QUERY__TRUNCATE_STMT__INIT; + static const PgQuery__IndexElem init_value = PG_QUERY__INDEX_ELEM__INIT; *message = init_value; } -size_t pg_query__truncate_stmt__get_packed_size - (const PgQuery__TruncateStmt *message) +size_t pg_query__index_elem__get_packed_size + (const PgQuery__IndexElem *message) { - assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__index_elem__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__truncate_stmt__pack - (const PgQuery__TruncateStmt *message, +size_t pg_query__index_elem__pack + (const PgQuery__IndexElem *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__index_elem__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__truncate_stmt__pack_to_buffer - (const PgQuery__TruncateStmt *message, +size_t pg_query__index_elem__pack_to_buffer + (const PgQuery__IndexElem *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__index_elem__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TruncateStmt * - pg_query__truncate_stmt__unpack +PgQuery__IndexElem * + pg_query__index_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TruncateStmt *) - protobuf_c_message_unpack (&pg_query__truncate_stmt__descriptor, + return (PgQuery__IndexElem *) + protobuf_c_message_unpack (&pg_query__index_elem__descriptor, allocator, len, data); } -void pg_query__truncate_stmt__free_unpacked - (PgQuery__TruncateStmt *message, +void pg_query__index_elem__free_unpacked + (PgQuery__IndexElem *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__index_elem__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__comment_stmt__init - (PgQuery__CommentStmt *message) +void pg_query__def_elem__init + (PgQuery__DefElem *message) { - static const PgQuery__CommentStmt init_value = PG_QUERY__COMMENT_STMT__INIT; + static const PgQuery__DefElem init_value = PG_QUERY__DEF_ELEM__INIT; *message = init_value; } -size_t pg_query__comment_stmt__get_packed_size - (const PgQuery__CommentStmt *message) +size_t pg_query__def_elem__get_packed_size + (const PgQuery__DefElem *message) { - assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); + assert(message->base.descriptor == &pg_query__def_elem__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__comment_stmt__pack - (const PgQuery__CommentStmt *message, +size_t pg_query__def_elem__pack + (const PgQuery__DefElem *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); + assert(message->base.descriptor == &pg_query__def_elem__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__comment_stmt__pack_to_buffer - (const PgQuery__CommentStmt *message, +size_t pg_query__def_elem__pack_to_buffer + (const PgQuery__DefElem *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); + assert(message->base.descriptor == &pg_query__def_elem__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CommentStmt * - pg_query__comment_stmt__unpack +PgQuery__DefElem * + pg_query__def_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CommentStmt *) - protobuf_c_message_unpack (&pg_query__comment_stmt__descriptor, + return (PgQuery__DefElem *) + protobuf_c_message_unpack (&pg_query__def_elem__descriptor, allocator, len, data); } -void pg_query__comment_stmt__free_unpacked - (PgQuery__CommentStmt *message, +void pg_query__def_elem__free_unpacked + (PgQuery__DefElem *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); + assert(message->base.descriptor == &pg_query__def_elem__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__fetch_stmt__init - (PgQuery__FetchStmt *message) +void pg_query__locking_clause__init + (PgQuery__LockingClause *message) { - static const PgQuery__FetchStmt init_value = PG_QUERY__FETCH_STMT__INIT; + static const PgQuery__LockingClause init_value = PG_QUERY__LOCKING_CLAUSE__INIT; *message = init_value; } -size_t pg_query__fetch_stmt__get_packed_size - (const PgQuery__FetchStmt *message) +size_t pg_query__locking_clause__get_packed_size + (const PgQuery__LockingClause *message) { - assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); + assert(message->base.descriptor == &pg_query__locking_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__fetch_stmt__pack - (const PgQuery__FetchStmt *message, +size_t pg_query__locking_clause__pack + (const PgQuery__LockingClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); + assert(message->base.descriptor == &pg_query__locking_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__fetch_stmt__pack_to_buffer - (const PgQuery__FetchStmt *message, +size_t pg_query__locking_clause__pack_to_buffer + (const PgQuery__LockingClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); + assert(message->base.descriptor == &pg_query__locking_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__FetchStmt * - pg_query__fetch_stmt__unpack +PgQuery__LockingClause * + pg_query__locking_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__FetchStmt *) - protobuf_c_message_unpack (&pg_query__fetch_stmt__descriptor, + return (PgQuery__LockingClause *) + protobuf_c_message_unpack (&pg_query__locking_clause__descriptor, allocator, len, data); } -void pg_query__fetch_stmt__free_unpacked - (PgQuery__FetchStmt *message, +void pg_query__locking_clause__free_unpacked + (PgQuery__LockingClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); + assert(message->base.descriptor == &pg_query__locking_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__index_stmt__init - (PgQuery__IndexStmt *message) +void pg_query__xml_serialize__init + (PgQuery__XmlSerialize *message) { - static const PgQuery__IndexStmt init_value = PG_QUERY__INDEX_STMT__INIT; + static const PgQuery__XmlSerialize init_value = PG_QUERY__XML_SERIALIZE__INIT; *message = init_value; } -size_t pg_query__index_stmt__get_packed_size - (const PgQuery__IndexStmt *message) +size_t pg_query__xml_serialize__get_packed_size + (const PgQuery__XmlSerialize *message) { - assert(message->base.descriptor == &pg_query__index_stmt__descriptor); + assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__index_stmt__pack - (const PgQuery__IndexStmt *message, +size_t pg_query__xml_serialize__pack + (const PgQuery__XmlSerialize *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__index_stmt__descriptor); + assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__index_stmt__pack_to_buffer - (const PgQuery__IndexStmt *message, +size_t pg_query__xml_serialize__pack_to_buffer + (const PgQuery__XmlSerialize *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__index_stmt__descriptor); + assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__IndexStmt * - pg_query__index_stmt__unpack +PgQuery__XmlSerialize * + pg_query__xml_serialize__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__IndexStmt *) - protobuf_c_message_unpack (&pg_query__index_stmt__descriptor, + return (PgQuery__XmlSerialize *) + protobuf_c_message_unpack (&pg_query__xml_serialize__descriptor, allocator, len, data); } -void pg_query__index_stmt__free_unpacked - (PgQuery__IndexStmt *message, +void pg_query__xml_serialize__free_unpacked + (PgQuery__XmlSerialize *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__index_stmt__descriptor); + assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_function_stmt__init - (PgQuery__CreateFunctionStmt *message) +void pg_query__partition_elem__init + (PgQuery__PartitionElem *message) { - static const PgQuery__CreateFunctionStmt init_value = PG_QUERY__CREATE_FUNCTION_STMT__INIT; + static const PgQuery__PartitionElem init_value = PG_QUERY__PARTITION_ELEM__INIT; *message = init_value; } -size_t pg_query__create_function_stmt__get_packed_size - (const PgQuery__CreateFunctionStmt *message) +size_t pg_query__partition_elem__get_packed_size + (const PgQuery__PartitionElem *message) { - assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_elem__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_function_stmt__pack - (const PgQuery__CreateFunctionStmt *message, +size_t pg_query__partition_elem__pack + (const PgQuery__PartitionElem *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_elem__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_function_stmt__pack_to_buffer - (const PgQuery__CreateFunctionStmt *message, +size_t pg_query__partition_elem__pack_to_buffer + (const PgQuery__PartitionElem *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_elem__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateFunctionStmt * - pg_query__create_function_stmt__unpack +PgQuery__PartitionElem * + pg_query__partition_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateFunctionStmt *) - protobuf_c_message_unpack (&pg_query__create_function_stmt__descriptor, + return (PgQuery__PartitionElem *) + protobuf_c_message_unpack (&pg_query__partition_elem__descriptor, allocator, len, data); } -void pg_query__create_function_stmt__free_unpacked - (PgQuery__CreateFunctionStmt *message, +void pg_query__partition_elem__free_unpacked + (PgQuery__PartitionElem *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_elem__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_function_stmt__init - (PgQuery__AlterFunctionStmt *message) +void pg_query__partition_spec__init + (PgQuery__PartitionSpec *message) { - static const PgQuery__AlterFunctionStmt init_value = PG_QUERY__ALTER_FUNCTION_STMT__INIT; + static const PgQuery__PartitionSpec init_value = PG_QUERY__PARTITION_SPEC__INIT; *message = init_value; } -size_t pg_query__alter_function_stmt__get_packed_size - (const PgQuery__AlterFunctionStmt *message) +size_t pg_query__partition_spec__get_packed_size + (const PgQuery__PartitionSpec *message) { - assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_spec__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_function_stmt__pack - (const PgQuery__AlterFunctionStmt *message, +size_t pg_query__partition_spec__pack + (const PgQuery__PartitionSpec *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_spec__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_function_stmt__pack_to_buffer - (const PgQuery__AlterFunctionStmt *message, +size_t pg_query__partition_spec__pack_to_buffer + (const PgQuery__PartitionSpec *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_spec__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterFunctionStmt * - pg_query__alter_function_stmt__unpack +PgQuery__PartitionSpec * + pg_query__partition_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterFunctionStmt *) - protobuf_c_message_unpack (&pg_query__alter_function_stmt__descriptor, + return (PgQuery__PartitionSpec *) + protobuf_c_message_unpack (&pg_query__partition_spec__descriptor, allocator, len, data); } -void pg_query__alter_function_stmt__free_unpacked - (PgQuery__AlterFunctionStmt *message, +void pg_query__partition_spec__free_unpacked + (PgQuery__PartitionSpec *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_spec__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__do_stmt__init - (PgQuery__DoStmt *message) +void pg_query__partition_bound_spec__init + (PgQuery__PartitionBoundSpec *message) { - static const PgQuery__DoStmt init_value = PG_QUERY__DO_STMT__INIT; + static const PgQuery__PartitionBoundSpec init_value = PG_QUERY__PARTITION_BOUND_SPEC__INIT; *message = init_value; } -size_t pg_query__do_stmt__get_packed_size - (const PgQuery__DoStmt *message) +size_t pg_query__partition_bound_spec__get_packed_size + (const PgQuery__PartitionBoundSpec *message) { - assert(message->base.descriptor == &pg_query__do_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__do_stmt__pack - (const PgQuery__DoStmt *message, +size_t pg_query__partition_bound_spec__pack + (const PgQuery__PartitionBoundSpec *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__do_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__do_stmt__pack_to_buffer - (const PgQuery__DoStmt *message, +size_t pg_query__partition_bound_spec__pack_to_buffer + (const PgQuery__PartitionBoundSpec *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__do_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DoStmt * - pg_query__do_stmt__unpack +PgQuery__PartitionBoundSpec * + pg_query__partition_bound_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DoStmt *) - protobuf_c_message_unpack (&pg_query__do_stmt__descriptor, + return (PgQuery__PartitionBoundSpec *) + protobuf_c_message_unpack (&pg_query__partition_bound_spec__descriptor, allocator, len, data); } -void pg_query__do_stmt__free_unpacked - (PgQuery__DoStmt *message, +void pg_query__partition_bound_spec__free_unpacked + (PgQuery__PartitionBoundSpec *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__do_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__rename_stmt__init - (PgQuery__RenameStmt *message) +void pg_query__partition_range_datum__init + (PgQuery__PartitionRangeDatum *message) { - static const PgQuery__RenameStmt init_value = PG_QUERY__RENAME_STMT__INIT; + static const PgQuery__PartitionRangeDatum init_value = PG_QUERY__PARTITION_RANGE_DATUM__INIT; *message = init_value; } -size_t pg_query__rename_stmt__get_packed_size - (const PgQuery__RenameStmt *message) +size_t pg_query__partition_range_datum__get_packed_size + (const PgQuery__PartitionRangeDatum *message) { - assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__rename_stmt__pack - (const PgQuery__RenameStmt *message, +size_t pg_query__partition_range_datum__pack + (const PgQuery__PartitionRangeDatum *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__rename_stmt__pack_to_buffer - (const PgQuery__RenameStmt *message, +size_t pg_query__partition_range_datum__pack_to_buffer + (const PgQuery__PartitionRangeDatum *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RenameStmt * - pg_query__rename_stmt__unpack +PgQuery__PartitionRangeDatum * + pg_query__partition_range_datum__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RenameStmt *) - protobuf_c_message_unpack (&pg_query__rename_stmt__descriptor, + return (PgQuery__PartitionRangeDatum *) + protobuf_c_message_unpack (&pg_query__partition_range_datum__descriptor, allocator, len, data); } -void pg_query__rename_stmt__free_unpacked - (PgQuery__RenameStmt *message, +void pg_query__partition_range_datum__free_unpacked + (PgQuery__PartitionRangeDatum *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__rule_stmt__init - (PgQuery__RuleStmt *message) +void pg_query__single_partition_spec__init + (PgQuery__SinglePartitionSpec *message) { - static const PgQuery__RuleStmt init_value = PG_QUERY__RULE_STMT__INIT; + static const PgQuery__SinglePartitionSpec init_value = PG_QUERY__SINGLE_PARTITION_SPEC__INIT; *message = init_value; } -size_t pg_query__rule_stmt__get_packed_size - (const PgQuery__RuleStmt *message) +size_t pg_query__single_partition_spec__get_packed_size + (const PgQuery__SinglePartitionSpec *message) { - assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__rule_stmt__pack - (const PgQuery__RuleStmt *message, +size_t pg_query__single_partition_spec__pack + (const PgQuery__SinglePartitionSpec *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__rule_stmt__pack_to_buffer - (const PgQuery__RuleStmt *message, +size_t pg_query__single_partition_spec__pack_to_buffer + (const PgQuery__SinglePartitionSpec *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RuleStmt * - pg_query__rule_stmt__unpack +PgQuery__SinglePartitionSpec * + pg_query__single_partition_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RuleStmt *) - protobuf_c_message_unpack (&pg_query__rule_stmt__descriptor, + return (PgQuery__SinglePartitionSpec *) + protobuf_c_message_unpack (&pg_query__single_partition_spec__descriptor, allocator, len, data); } -void pg_query__rule_stmt__free_unpacked - (PgQuery__RuleStmt *message, +void pg_query__single_partition_spec__free_unpacked + (PgQuery__SinglePartitionSpec *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); + assert(message->base.descriptor == &pg_query__single_partition_spec__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__notify_stmt__init - (PgQuery__NotifyStmt *message) +void pg_query__partition_cmd__init + (PgQuery__PartitionCmd *message) { - static const PgQuery__NotifyStmt init_value = PG_QUERY__NOTIFY_STMT__INIT; + static const PgQuery__PartitionCmd init_value = PG_QUERY__PARTITION_CMD__INIT; *message = init_value; } -size_t pg_query__notify_stmt__get_packed_size - (const PgQuery__NotifyStmt *message) +size_t pg_query__partition_cmd__get_packed_size + (const PgQuery__PartitionCmd *message) { - assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__notify_stmt__pack - (const PgQuery__NotifyStmt *message, +size_t pg_query__partition_cmd__pack + (const PgQuery__PartitionCmd *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__notify_stmt__pack_to_buffer - (const PgQuery__NotifyStmt *message, +size_t pg_query__partition_cmd__pack_to_buffer + (const PgQuery__PartitionCmd *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__NotifyStmt * - pg_query__notify_stmt__unpack +PgQuery__PartitionCmd * + pg_query__partition_cmd__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__NotifyStmt *) - protobuf_c_message_unpack (&pg_query__notify_stmt__descriptor, + return (PgQuery__PartitionCmd *) + protobuf_c_message_unpack (&pg_query__partition_cmd__descriptor, allocator, len, data); } -void pg_query__notify_stmt__free_unpacked - (PgQuery__NotifyStmt *message, +void pg_query__partition_cmd__free_unpacked + (PgQuery__PartitionCmd *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); + assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__listen_stmt__init - (PgQuery__ListenStmt *message) +void pg_query__range_tbl_entry__init + (PgQuery__RangeTblEntry *message) { - static const PgQuery__ListenStmt init_value = PG_QUERY__LISTEN_STMT__INIT; + static const PgQuery__RangeTblEntry init_value = PG_QUERY__RANGE_TBL_ENTRY__INIT; *message = init_value; } -size_t pg_query__listen_stmt__get_packed_size - (const PgQuery__ListenStmt *message) +size_t pg_query__range_tbl_entry__get_packed_size + (const PgQuery__RangeTblEntry *message) { - assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__listen_stmt__pack - (const PgQuery__ListenStmt *message, +size_t pg_query__range_tbl_entry__pack + (const PgQuery__RangeTblEntry *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__listen_stmt__pack_to_buffer - (const PgQuery__ListenStmt *message, +size_t pg_query__range_tbl_entry__pack_to_buffer + (const PgQuery__RangeTblEntry *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ListenStmt * - pg_query__listen_stmt__unpack +PgQuery__RangeTblEntry * + pg_query__range_tbl_entry__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ListenStmt *) - protobuf_c_message_unpack (&pg_query__listen_stmt__descriptor, + return (PgQuery__RangeTblEntry *) + protobuf_c_message_unpack (&pg_query__range_tbl_entry__descriptor, allocator, len, data); } -void pg_query__listen_stmt__free_unpacked - (PgQuery__ListenStmt *message, +void pg_query__range_tbl_entry__free_unpacked + (PgQuery__RangeTblEntry *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__unlisten_stmt__init - (PgQuery__UnlistenStmt *message) +void pg_query__rtepermission_info__init + (PgQuery__RTEPermissionInfo *message) { - static const PgQuery__UnlistenStmt init_value = PG_QUERY__UNLISTEN_STMT__INIT; + static const PgQuery__RTEPermissionInfo init_value = PG_QUERY__RTEPERMISSION_INFO__INIT; *message = init_value; } -size_t pg_query__unlisten_stmt__get_packed_size - (const PgQuery__UnlistenStmt *message) +size_t pg_query__rtepermission_info__get_packed_size + (const PgQuery__RTEPermissionInfo *message) { - assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); + assert(message->base.descriptor == &pg_query__rtepermission_info__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__unlisten_stmt__pack - (const PgQuery__UnlistenStmt *message, +size_t pg_query__rtepermission_info__pack + (const PgQuery__RTEPermissionInfo *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); + assert(message->base.descriptor == &pg_query__rtepermission_info__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__unlisten_stmt__pack_to_buffer - (const PgQuery__UnlistenStmt *message, +size_t pg_query__rtepermission_info__pack_to_buffer + (const PgQuery__RTEPermissionInfo *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); + assert(message->base.descriptor == &pg_query__rtepermission_info__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__UnlistenStmt * - pg_query__unlisten_stmt__unpack +PgQuery__RTEPermissionInfo * + pg_query__rtepermission_info__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__UnlistenStmt *) - protobuf_c_message_unpack (&pg_query__unlisten_stmt__descriptor, + return (PgQuery__RTEPermissionInfo *) + protobuf_c_message_unpack (&pg_query__rtepermission_info__descriptor, allocator, len, data); } -void pg_query__unlisten_stmt__free_unpacked - (PgQuery__UnlistenStmt *message, +void pg_query__rtepermission_info__free_unpacked + (PgQuery__RTEPermissionInfo *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); + assert(message->base.descriptor == &pg_query__rtepermission_info__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__transaction_stmt__init - (PgQuery__TransactionStmt *message) +void pg_query__range_tbl_function__init + (PgQuery__RangeTblFunction *message) { - static const PgQuery__TransactionStmt init_value = PG_QUERY__TRANSACTION_STMT__INIT; + static const PgQuery__RangeTblFunction init_value = PG_QUERY__RANGE_TBL_FUNCTION__INIT; *message = init_value; } -size_t pg_query__transaction_stmt__get_packed_size - (const PgQuery__TransactionStmt *message) +size_t pg_query__range_tbl_function__get_packed_size + (const PgQuery__RangeTblFunction *message) { - assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__transaction_stmt__pack - (const PgQuery__TransactionStmt *message, +size_t pg_query__range_tbl_function__pack + (const PgQuery__RangeTblFunction *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__transaction_stmt__pack_to_buffer - (const PgQuery__TransactionStmt *message, +size_t pg_query__range_tbl_function__pack_to_buffer + (const PgQuery__RangeTblFunction *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TransactionStmt * - pg_query__transaction_stmt__unpack +PgQuery__RangeTblFunction * + pg_query__range_tbl_function__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TransactionStmt *) - protobuf_c_message_unpack (&pg_query__transaction_stmt__descriptor, + return (PgQuery__RangeTblFunction *) + protobuf_c_message_unpack (&pg_query__range_tbl_function__descriptor, allocator, len, data); } -void pg_query__transaction_stmt__free_unpacked - (PgQuery__TransactionStmt *message, +void pg_query__range_tbl_function__free_unpacked + (PgQuery__RangeTblFunction *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); + assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__view_stmt__init - (PgQuery__ViewStmt *message) +void pg_query__table_sample_clause__init + (PgQuery__TableSampleClause *message) { - static const PgQuery__ViewStmt init_value = PG_QUERY__VIEW_STMT__INIT; + static const PgQuery__TableSampleClause init_value = PG_QUERY__TABLE_SAMPLE_CLAUSE__INIT; *message = init_value; } -size_t pg_query__view_stmt__get_packed_size - (const PgQuery__ViewStmt *message) +size_t pg_query__table_sample_clause__get_packed_size + (const PgQuery__TableSampleClause *message) { - assert(message->base.descriptor == &pg_query__view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__view_stmt__pack - (const PgQuery__ViewStmt *message, +size_t pg_query__table_sample_clause__pack + (const PgQuery__TableSampleClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__view_stmt__pack_to_buffer - (const PgQuery__ViewStmt *message, +size_t pg_query__table_sample_clause__pack_to_buffer + (const PgQuery__TableSampleClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ViewStmt * - pg_query__view_stmt__unpack +PgQuery__TableSampleClause * + pg_query__table_sample_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ViewStmt *) - protobuf_c_message_unpack (&pg_query__view_stmt__descriptor, + return (PgQuery__TableSampleClause *) + protobuf_c_message_unpack (&pg_query__table_sample_clause__descriptor, allocator, len, data); } -void pg_query__view_stmt__free_unpacked - (PgQuery__ViewStmt *message, +void pg_query__table_sample_clause__free_unpacked + (PgQuery__TableSampleClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__load_stmt__init - (PgQuery__LoadStmt *message) +void pg_query__with_check_option__init + (PgQuery__WithCheckOption *message) { - static const PgQuery__LoadStmt init_value = PG_QUERY__LOAD_STMT__INIT; + static const PgQuery__WithCheckOption init_value = PG_QUERY__WITH_CHECK_OPTION__INIT; *message = init_value; } -size_t pg_query__load_stmt__get_packed_size - (const PgQuery__LoadStmt *message) +size_t pg_query__with_check_option__get_packed_size + (const PgQuery__WithCheckOption *message) { - assert(message->base.descriptor == &pg_query__load_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_check_option__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__load_stmt__pack - (const PgQuery__LoadStmt *message, +size_t pg_query__with_check_option__pack + (const PgQuery__WithCheckOption *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__load_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_check_option__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__load_stmt__pack_to_buffer - (const PgQuery__LoadStmt *message, +size_t pg_query__with_check_option__pack_to_buffer + (const PgQuery__WithCheckOption *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__load_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_check_option__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__LoadStmt * - pg_query__load_stmt__unpack +PgQuery__WithCheckOption * + pg_query__with_check_option__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__LoadStmt *) - protobuf_c_message_unpack (&pg_query__load_stmt__descriptor, + return (PgQuery__WithCheckOption *) + protobuf_c_message_unpack (&pg_query__with_check_option__descriptor, allocator, len, data); } -void pg_query__load_stmt__free_unpacked - (PgQuery__LoadStmt *message, +void pg_query__with_check_option__free_unpacked + (PgQuery__WithCheckOption *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__load_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_check_option__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_domain_stmt__init - (PgQuery__CreateDomainStmt *message) +void pg_query__sort_group_clause__init + (PgQuery__SortGroupClause *message) { - static const PgQuery__CreateDomainStmt init_value = PG_QUERY__CREATE_DOMAIN_STMT__INIT; + static const PgQuery__SortGroupClause init_value = PG_QUERY__SORT_GROUP_CLAUSE__INIT; *message = init_value; } -size_t pg_query__create_domain_stmt__get_packed_size - (const PgQuery__CreateDomainStmt *message) +size_t pg_query__sort_group_clause__get_packed_size + (const PgQuery__SortGroupClause *message) { - assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_domain_stmt__pack - (const PgQuery__CreateDomainStmt *message, +size_t pg_query__sort_group_clause__pack + (const PgQuery__SortGroupClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_domain_stmt__pack_to_buffer - (const PgQuery__CreateDomainStmt *message, +size_t pg_query__sort_group_clause__pack_to_buffer + (const PgQuery__SortGroupClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateDomainStmt * - pg_query__create_domain_stmt__unpack +PgQuery__SortGroupClause * + pg_query__sort_group_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateDomainStmt *) - protobuf_c_message_unpack (&pg_query__create_domain_stmt__descriptor, + return (PgQuery__SortGroupClause *) + protobuf_c_message_unpack (&pg_query__sort_group_clause__descriptor, allocator, len, data); } -void pg_query__create_domain_stmt__free_unpacked - (PgQuery__CreateDomainStmt *message, +void pg_query__sort_group_clause__free_unpacked + (PgQuery__SortGroupClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__createdb_stmt__init - (PgQuery__CreatedbStmt *message) +void pg_query__grouping_set__init + (PgQuery__GroupingSet *message) { - static const PgQuery__CreatedbStmt init_value = PG_QUERY__CREATEDB_STMT__INIT; + static const PgQuery__GroupingSet init_value = PG_QUERY__GROUPING_SET__INIT; *message = init_value; } -size_t pg_query__createdb_stmt__get_packed_size - (const PgQuery__CreatedbStmt *message) -{ - assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); +size_t pg_query__grouping_set__get_packed_size + (const PgQuery__GroupingSet *message) +{ + assert(message->base.descriptor == &pg_query__grouping_set__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__createdb_stmt__pack - (const PgQuery__CreatedbStmt *message, +size_t pg_query__grouping_set__pack + (const PgQuery__GroupingSet *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grouping_set__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__createdb_stmt__pack_to_buffer - (const PgQuery__CreatedbStmt *message, +size_t pg_query__grouping_set__pack_to_buffer + (const PgQuery__GroupingSet *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grouping_set__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreatedbStmt * - pg_query__createdb_stmt__unpack +PgQuery__GroupingSet * + pg_query__grouping_set__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreatedbStmt *) - protobuf_c_message_unpack (&pg_query__createdb_stmt__descriptor, + return (PgQuery__GroupingSet *) + protobuf_c_message_unpack (&pg_query__grouping_set__descriptor, allocator, len, data); } -void pg_query__createdb_stmt__free_unpacked - (PgQuery__CreatedbStmt *message, +void pg_query__grouping_set__free_unpacked + (PgQuery__GroupingSet *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grouping_set__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__dropdb_stmt__init - (PgQuery__DropdbStmt *message) +void pg_query__window_clause__init + (PgQuery__WindowClause *message) { - static const PgQuery__DropdbStmt init_value = PG_QUERY__DROPDB_STMT__INIT; + static const PgQuery__WindowClause init_value = PG_QUERY__WINDOW_CLAUSE__INIT; *message = init_value; } -size_t pg_query__dropdb_stmt__get_packed_size - (const PgQuery__DropdbStmt *message) +size_t pg_query__window_clause__get_packed_size + (const PgQuery__WindowClause *message) { - assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__dropdb_stmt__pack - (const PgQuery__DropdbStmt *message, +size_t pg_query__window_clause__pack + (const PgQuery__WindowClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__dropdb_stmt__pack_to_buffer - (const PgQuery__DropdbStmt *message, +size_t pg_query__window_clause__pack_to_buffer + (const PgQuery__WindowClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropdbStmt * - pg_query__dropdb_stmt__unpack +PgQuery__WindowClause * + pg_query__window_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropdbStmt *) - protobuf_c_message_unpack (&pg_query__dropdb_stmt__descriptor, + return (PgQuery__WindowClause *) + protobuf_c_message_unpack (&pg_query__window_clause__descriptor, allocator, len, data); } -void pg_query__dropdb_stmt__free_unpacked - (PgQuery__DropdbStmt *message, +void pg_query__window_clause__free_unpacked + (PgQuery__WindowClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); + assert(message->base.descriptor == &pg_query__window_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__vacuum_stmt__init - (PgQuery__VacuumStmt *message) +void pg_query__row_mark_clause__init + (PgQuery__RowMarkClause *message) { - static const PgQuery__VacuumStmt init_value = PG_QUERY__VACUUM_STMT__INIT; + static const PgQuery__RowMarkClause init_value = PG_QUERY__ROW_MARK_CLAUSE__INIT; *message = init_value; } -size_t pg_query__vacuum_stmt__get_packed_size - (const PgQuery__VacuumStmt *message) +size_t pg_query__row_mark_clause__get_packed_size + (const PgQuery__RowMarkClause *message) { - assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__vacuum_stmt__pack - (const PgQuery__VacuumStmt *message, +size_t pg_query__row_mark_clause__pack + (const PgQuery__RowMarkClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__vacuum_stmt__pack_to_buffer - (const PgQuery__VacuumStmt *message, +size_t pg_query__row_mark_clause__pack_to_buffer + (const PgQuery__RowMarkClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__VacuumStmt * - pg_query__vacuum_stmt__unpack +PgQuery__RowMarkClause * + pg_query__row_mark_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__VacuumStmt *) - protobuf_c_message_unpack (&pg_query__vacuum_stmt__descriptor, + return (PgQuery__RowMarkClause *) + protobuf_c_message_unpack (&pg_query__row_mark_clause__descriptor, allocator, len, data); } -void pg_query__vacuum_stmt__free_unpacked - (PgQuery__VacuumStmt *message, +void pg_query__row_mark_clause__free_unpacked + (PgQuery__RowMarkClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__explain_stmt__init - (PgQuery__ExplainStmt *message) +void pg_query__with_clause__init + (PgQuery__WithClause *message) { - static const PgQuery__ExplainStmt init_value = PG_QUERY__EXPLAIN_STMT__INIT; + static const PgQuery__WithClause init_value = PG_QUERY__WITH_CLAUSE__INIT; *message = init_value; } -size_t pg_query__explain_stmt__get_packed_size - (const PgQuery__ExplainStmt *message) +size_t pg_query__with_clause__get_packed_size + (const PgQuery__WithClause *message) { - assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__explain_stmt__pack - (const PgQuery__ExplainStmt *message, +size_t pg_query__with_clause__pack + (const PgQuery__WithClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__explain_stmt__pack_to_buffer - (const PgQuery__ExplainStmt *message, +size_t pg_query__with_clause__pack_to_buffer + (const PgQuery__WithClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ExplainStmt * - pg_query__explain_stmt__unpack +PgQuery__WithClause * + pg_query__with_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ExplainStmt *) - protobuf_c_message_unpack (&pg_query__explain_stmt__descriptor, + return (PgQuery__WithClause *) + protobuf_c_message_unpack (&pg_query__with_clause__descriptor, allocator, len, data); } -void pg_query__explain_stmt__free_unpacked - (PgQuery__ExplainStmt *message, +void pg_query__with_clause__free_unpacked + (PgQuery__WithClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); + assert(message->base.descriptor == &pg_query__with_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_table_as_stmt__init - (PgQuery__CreateTableAsStmt *message) +void pg_query__infer_clause__init + (PgQuery__InferClause *message) { - static const PgQuery__CreateTableAsStmt init_value = PG_QUERY__CREATE_TABLE_AS_STMT__INIT; + static const PgQuery__InferClause init_value = PG_QUERY__INFER_CLAUSE__INIT; *message = init_value; } -size_t pg_query__create_table_as_stmt__get_packed_size - (const PgQuery__CreateTableAsStmt *message) +size_t pg_query__infer_clause__get_packed_size + (const PgQuery__InferClause *message) { - assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); + assert(message->base.descriptor == &pg_query__infer_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_table_as_stmt__pack - (const PgQuery__CreateTableAsStmt *message, +size_t pg_query__infer_clause__pack + (const PgQuery__InferClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); + assert(message->base.descriptor == &pg_query__infer_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_table_as_stmt__pack_to_buffer - (const PgQuery__CreateTableAsStmt *message, +size_t pg_query__infer_clause__pack_to_buffer + (const PgQuery__InferClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); + assert(message->base.descriptor == &pg_query__infer_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateTableAsStmt * - pg_query__create_table_as_stmt__unpack +PgQuery__InferClause * + pg_query__infer_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateTableAsStmt *) - protobuf_c_message_unpack (&pg_query__create_table_as_stmt__descriptor, + return (PgQuery__InferClause *) + protobuf_c_message_unpack (&pg_query__infer_clause__descriptor, allocator, len, data); } -void pg_query__create_table_as_stmt__free_unpacked - (PgQuery__CreateTableAsStmt *message, +void pg_query__infer_clause__free_unpacked + (PgQuery__InferClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); + assert(message->base.descriptor == &pg_query__infer_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_seq_stmt__init - (PgQuery__CreateSeqStmt *message) +void pg_query__on_conflict_clause__init + (PgQuery__OnConflictClause *message) { - static const PgQuery__CreateSeqStmt init_value = PG_QUERY__CREATE_SEQ_STMT__INIT; + static const PgQuery__OnConflictClause init_value = PG_QUERY__ON_CONFLICT_CLAUSE__INIT; *message = init_value; } -size_t pg_query__create_seq_stmt__get_packed_size - (const PgQuery__CreateSeqStmt *message) +size_t pg_query__on_conflict_clause__get_packed_size + (const PgQuery__OnConflictClause *message) { - assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_seq_stmt__pack - (const PgQuery__CreateSeqStmt *message, +size_t pg_query__on_conflict_clause__pack + (const PgQuery__OnConflictClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_seq_stmt__pack_to_buffer - (const PgQuery__CreateSeqStmt *message, +size_t pg_query__on_conflict_clause__pack_to_buffer + (const PgQuery__OnConflictClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateSeqStmt * - pg_query__create_seq_stmt__unpack +PgQuery__OnConflictClause * + pg_query__on_conflict_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateSeqStmt *) - protobuf_c_message_unpack (&pg_query__create_seq_stmt__descriptor, + return (PgQuery__OnConflictClause *) + protobuf_c_message_unpack (&pg_query__on_conflict_clause__descriptor, allocator, len, data); } -void pg_query__create_seq_stmt__free_unpacked - (PgQuery__CreateSeqStmt *message, +void pg_query__on_conflict_clause__free_unpacked + (PgQuery__OnConflictClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_seq_stmt__init - (PgQuery__AlterSeqStmt *message) +void pg_query__ctesearch_clause__init + (PgQuery__CTESearchClause *message) { - static const PgQuery__AlterSeqStmt init_value = PG_QUERY__ALTER_SEQ_STMT__INIT; + static const PgQuery__CTESearchClause init_value = PG_QUERY__CTESEARCH_CLAUSE__INIT; *message = init_value; } -size_t pg_query__alter_seq_stmt__get_packed_size - (const PgQuery__AlterSeqStmt *message) +size_t pg_query__ctesearch_clause__get_packed_size + (const PgQuery__CTESearchClause *message) { - assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_seq_stmt__pack - (const PgQuery__AlterSeqStmt *message, +size_t pg_query__ctesearch_clause__pack + (const PgQuery__CTESearchClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_seq_stmt__pack_to_buffer - (const PgQuery__AlterSeqStmt *message, +size_t pg_query__ctesearch_clause__pack_to_buffer + (const PgQuery__CTESearchClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterSeqStmt * - pg_query__alter_seq_stmt__unpack +PgQuery__CTESearchClause * + pg_query__ctesearch_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterSeqStmt *) - protobuf_c_message_unpack (&pg_query__alter_seq_stmt__descriptor, + return (PgQuery__CTESearchClause *) + protobuf_c_message_unpack (&pg_query__ctesearch_clause__descriptor, allocator, len, data); } -void pg_query__alter_seq_stmt__free_unpacked - (PgQuery__AlterSeqStmt *message, +void pg_query__ctesearch_clause__free_unpacked + (PgQuery__CTESearchClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__variable_set_stmt__init - (PgQuery__VariableSetStmt *message) +void pg_query__ctecycle_clause__init + (PgQuery__CTECycleClause *message) { - static const PgQuery__VariableSetStmt init_value = PG_QUERY__VARIABLE_SET_STMT__INIT; + static const PgQuery__CTECycleClause init_value = PG_QUERY__CTECYCLE_CLAUSE__INIT; *message = init_value; } -size_t pg_query__variable_set_stmt__get_packed_size - (const PgQuery__VariableSetStmt *message) +size_t pg_query__ctecycle_clause__get_packed_size + (const PgQuery__CTECycleClause *message) { - assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__variable_set_stmt__pack - (const PgQuery__VariableSetStmt *message, +size_t pg_query__ctecycle_clause__pack + (const PgQuery__CTECycleClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__variable_set_stmt__pack_to_buffer - (const PgQuery__VariableSetStmt *message, +size_t pg_query__ctecycle_clause__pack_to_buffer + (const PgQuery__CTECycleClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__VariableSetStmt * - pg_query__variable_set_stmt__unpack +PgQuery__CTECycleClause * + pg_query__ctecycle_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__VariableSetStmt *) - protobuf_c_message_unpack (&pg_query__variable_set_stmt__descriptor, + return (PgQuery__CTECycleClause *) + protobuf_c_message_unpack (&pg_query__ctecycle_clause__descriptor, allocator, len, data); } -void pg_query__variable_set_stmt__free_unpacked - (PgQuery__VariableSetStmt *message, +void pg_query__ctecycle_clause__free_unpacked + (PgQuery__CTECycleClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__variable_show_stmt__init - (PgQuery__VariableShowStmt *message) +void pg_query__common_table_expr__init + (PgQuery__CommonTableExpr *message) { - static const PgQuery__VariableShowStmt init_value = PG_QUERY__VARIABLE_SHOW_STMT__INIT; + static const PgQuery__CommonTableExpr init_value = PG_QUERY__COMMON_TABLE_EXPR__INIT; *message = init_value; } -size_t pg_query__variable_show_stmt__get_packed_size - (const PgQuery__VariableShowStmt *message) +size_t pg_query__common_table_expr__get_packed_size + (const PgQuery__CommonTableExpr *message) { - assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); + assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__variable_show_stmt__pack - (const PgQuery__VariableShowStmt *message, +size_t pg_query__common_table_expr__pack + (const PgQuery__CommonTableExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); + assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__variable_show_stmt__pack_to_buffer - (const PgQuery__VariableShowStmt *message, +size_t pg_query__common_table_expr__pack_to_buffer + (const PgQuery__CommonTableExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); + assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__VariableShowStmt * - pg_query__variable_show_stmt__unpack +PgQuery__CommonTableExpr * + pg_query__common_table_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__VariableShowStmt *) - protobuf_c_message_unpack (&pg_query__variable_show_stmt__descriptor, + return (PgQuery__CommonTableExpr *) + protobuf_c_message_unpack (&pg_query__common_table_expr__descriptor, allocator, len, data); } -void pg_query__variable_show_stmt__free_unpacked - (PgQuery__VariableShowStmt *message, +void pg_query__common_table_expr__free_unpacked + (PgQuery__CommonTableExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); + assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__discard_stmt__init - (PgQuery__DiscardStmt *message) +void pg_query__merge_when_clause__init + (PgQuery__MergeWhenClause *message) { - static const PgQuery__DiscardStmt init_value = PG_QUERY__DISCARD_STMT__INIT; + static const PgQuery__MergeWhenClause init_value = PG_QUERY__MERGE_WHEN_CLAUSE__INIT; *message = init_value; } -size_t pg_query__discard_stmt__get_packed_size - (const PgQuery__DiscardStmt *message) +size_t pg_query__merge_when_clause__get_packed_size + (const PgQuery__MergeWhenClause *message) { - assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__discard_stmt__pack - (const PgQuery__DiscardStmt *message, +size_t pg_query__merge_when_clause__pack + (const PgQuery__MergeWhenClause *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__discard_stmt__pack_to_buffer - (const PgQuery__DiscardStmt *message, +size_t pg_query__merge_when_clause__pack_to_buffer + (const PgQuery__MergeWhenClause *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DiscardStmt * - pg_query__discard_stmt__unpack +PgQuery__MergeWhenClause * + pg_query__merge_when_clause__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DiscardStmt *) - protobuf_c_message_unpack (&pg_query__discard_stmt__descriptor, + return (PgQuery__MergeWhenClause *) + protobuf_c_message_unpack (&pg_query__merge_when_clause__descriptor, allocator, len, data); } -void pg_query__discard_stmt__free_unpacked - (PgQuery__DiscardStmt *message, +void pg_query__merge_when_clause__free_unpacked + (PgQuery__MergeWhenClause *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_trig_stmt__init - (PgQuery__CreateTrigStmt *message) +void pg_query__trigger_transition__init + (PgQuery__TriggerTransition *message) { - static const PgQuery__CreateTrigStmt init_value = PG_QUERY__CREATE_TRIG_STMT__INIT; + static const PgQuery__TriggerTransition init_value = PG_QUERY__TRIGGER_TRANSITION__INIT; *message = init_value; } -size_t pg_query__create_trig_stmt__get_packed_size - (const PgQuery__CreateTrigStmt *message) +size_t pg_query__trigger_transition__get_packed_size + (const PgQuery__TriggerTransition *message) { - assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_trig_stmt__pack - (const PgQuery__CreateTrigStmt *message, +size_t pg_query__trigger_transition__pack + (const PgQuery__TriggerTransition *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_trig_stmt__pack_to_buffer - (const PgQuery__CreateTrigStmt *message, +size_t pg_query__trigger_transition__pack_to_buffer + (const PgQuery__TriggerTransition *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateTrigStmt * - pg_query__create_trig_stmt__unpack +PgQuery__TriggerTransition * + pg_query__trigger_transition__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateTrigStmt *) - protobuf_c_message_unpack (&pg_query__create_trig_stmt__descriptor, + return (PgQuery__TriggerTransition *) + protobuf_c_message_unpack (&pg_query__trigger_transition__descriptor, allocator, len, data); } -void pg_query__create_trig_stmt__free_unpacked - (PgQuery__CreateTrigStmt *message, +void pg_query__trigger_transition__free_unpacked + (PgQuery__TriggerTransition *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_plang_stmt__init - (PgQuery__CreatePLangStmt *message) +void pg_query__json_output__init + (PgQuery__JsonOutput *message) { - static const PgQuery__CreatePLangStmt init_value = PG_QUERY__CREATE_PLANG_STMT__INIT; + static const PgQuery__JsonOutput init_value = PG_QUERY__JSON_OUTPUT__INIT; *message = init_value; } -size_t pg_query__create_plang_stmt__get_packed_size - (const PgQuery__CreatePLangStmt *message) +size_t pg_query__json_output__get_packed_size + (const PgQuery__JsonOutput *message) { - assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_output__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_plang_stmt__pack - (const PgQuery__CreatePLangStmt *message, +size_t pg_query__json_output__pack + (const PgQuery__JsonOutput *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_output__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_plang_stmt__pack_to_buffer - (const PgQuery__CreatePLangStmt *message, +size_t pg_query__json_output__pack_to_buffer + (const PgQuery__JsonOutput *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_output__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreatePLangStmt * - pg_query__create_plang_stmt__unpack +PgQuery__JsonOutput * + pg_query__json_output__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreatePLangStmt *) - protobuf_c_message_unpack (&pg_query__create_plang_stmt__descriptor, + return (PgQuery__JsonOutput *) + protobuf_c_message_unpack (&pg_query__json_output__descriptor, allocator, len, data); } -void pg_query__create_plang_stmt__free_unpacked - (PgQuery__CreatePLangStmt *message, +void pg_query__json_output__free_unpacked + (PgQuery__JsonOutput *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_output__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_role_stmt__init - (PgQuery__CreateRoleStmt *message) +void pg_query__json_argument__init + (PgQuery__JsonArgument *message) { - static const PgQuery__CreateRoleStmt init_value = PG_QUERY__CREATE_ROLE_STMT__INIT; + static const PgQuery__JsonArgument init_value = PG_QUERY__JSON_ARGUMENT__INIT; *message = init_value; } -size_t pg_query__create_role_stmt__get_packed_size - (const PgQuery__CreateRoleStmt *message) +size_t pg_query__json_argument__get_packed_size + (const PgQuery__JsonArgument *message) { - assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_argument__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_role_stmt__pack - (const PgQuery__CreateRoleStmt *message, +size_t pg_query__json_argument__pack + (const PgQuery__JsonArgument *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_argument__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_role_stmt__pack_to_buffer - (const PgQuery__CreateRoleStmt *message, +size_t pg_query__json_argument__pack_to_buffer + (const PgQuery__JsonArgument *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_argument__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateRoleStmt * - pg_query__create_role_stmt__unpack +PgQuery__JsonArgument * + pg_query__json_argument__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateRoleStmt *) - protobuf_c_message_unpack (&pg_query__create_role_stmt__descriptor, + return (PgQuery__JsonArgument *) + protobuf_c_message_unpack (&pg_query__json_argument__descriptor, allocator, len, data); } -void pg_query__create_role_stmt__free_unpacked - (PgQuery__CreateRoleStmt *message, +void pg_query__json_argument__free_unpacked + (PgQuery__JsonArgument *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_argument__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_role_stmt__init - (PgQuery__AlterRoleStmt *message) +void pg_query__json_func_expr__init + (PgQuery__JsonFuncExpr *message) { - static const PgQuery__AlterRoleStmt init_value = PG_QUERY__ALTER_ROLE_STMT__INIT; + static const PgQuery__JsonFuncExpr init_value = PG_QUERY__JSON_FUNC_EXPR__INIT; *message = init_value; } -size_t pg_query__alter_role_stmt__get_packed_size - (const PgQuery__AlterRoleStmt *message) +size_t pg_query__json_func_expr__get_packed_size + (const PgQuery__JsonFuncExpr *message) { - assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_role_stmt__pack - (const PgQuery__AlterRoleStmt *message, +size_t pg_query__json_func_expr__pack + (const PgQuery__JsonFuncExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_role_stmt__pack_to_buffer - (const PgQuery__AlterRoleStmt *message, +size_t pg_query__json_func_expr__pack_to_buffer + (const PgQuery__JsonFuncExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterRoleStmt * - pg_query__alter_role_stmt__unpack +PgQuery__JsonFuncExpr * + pg_query__json_func_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterRoleStmt *) - protobuf_c_message_unpack (&pg_query__alter_role_stmt__descriptor, + return (PgQuery__JsonFuncExpr *) + protobuf_c_message_unpack (&pg_query__json_func_expr__descriptor, allocator, len, data); } -void pg_query__alter_role_stmt__free_unpacked - (PgQuery__AlterRoleStmt *message, +void pg_query__json_func_expr__free_unpacked + (PgQuery__JsonFuncExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_func_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_role_stmt__init - (PgQuery__DropRoleStmt *message) +void pg_query__json_table_path_spec__init + (PgQuery__JsonTablePathSpec *message) { - static const PgQuery__DropRoleStmt init_value = PG_QUERY__DROP_ROLE_STMT__INIT; + static const PgQuery__JsonTablePathSpec init_value = PG_QUERY__JSON_TABLE_PATH_SPEC__INIT; *message = init_value; } -size_t pg_query__drop_role_stmt__get_packed_size - (const PgQuery__DropRoleStmt *message) +size_t pg_query__json_table_path_spec__get_packed_size + (const PgQuery__JsonTablePathSpec *message) { - assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_role_stmt__pack - (const PgQuery__DropRoleStmt *message, +size_t pg_query__json_table_path_spec__pack + (const PgQuery__JsonTablePathSpec *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_role_stmt__pack_to_buffer - (const PgQuery__DropRoleStmt *message, +size_t pg_query__json_table_path_spec__pack_to_buffer + (const PgQuery__JsonTablePathSpec *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropRoleStmt * - pg_query__drop_role_stmt__unpack +PgQuery__JsonTablePathSpec * + pg_query__json_table_path_spec__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropRoleStmt *) - protobuf_c_message_unpack (&pg_query__drop_role_stmt__descriptor, + return (PgQuery__JsonTablePathSpec *) + protobuf_c_message_unpack (&pg_query__json_table_path_spec__descriptor, allocator, len, data); } -void pg_query__drop_role_stmt__free_unpacked - (PgQuery__DropRoleStmt *message, +void pg_query__json_table_path_spec__free_unpacked + (PgQuery__JsonTablePathSpec *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_path_spec__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__lock_stmt__init - (PgQuery__LockStmt *message) +void pg_query__json_table__init + (PgQuery__JsonTable *message) { - static const PgQuery__LockStmt init_value = PG_QUERY__LOCK_STMT__INIT; + static const PgQuery__JsonTable init_value = PG_QUERY__JSON_TABLE__INIT; *message = init_value; } -size_t pg_query__lock_stmt__get_packed_size - (const PgQuery__LockStmt *message) +size_t pg_query__json_table__get_packed_size + (const PgQuery__JsonTable *message) { - assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__lock_stmt__pack - (const PgQuery__LockStmt *message, +size_t pg_query__json_table__pack + (const PgQuery__JsonTable *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__lock_stmt__pack_to_buffer - (const PgQuery__LockStmt *message, +size_t pg_query__json_table__pack_to_buffer + (const PgQuery__JsonTable *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__LockStmt * - pg_query__lock_stmt__unpack +PgQuery__JsonTable * + pg_query__json_table__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__LockStmt *) - protobuf_c_message_unpack (&pg_query__lock_stmt__descriptor, + return (PgQuery__JsonTable *) + protobuf_c_message_unpack (&pg_query__json_table__descriptor, allocator, len, data); } -void pg_query__lock_stmt__free_unpacked - (PgQuery__LockStmt *message, +void pg_query__json_table__free_unpacked + (PgQuery__JsonTable *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__constraints_set_stmt__init - (PgQuery__ConstraintsSetStmt *message) +void pg_query__json_table_column__init + (PgQuery__JsonTableColumn *message) { - static const PgQuery__ConstraintsSetStmt init_value = PG_QUERY__CONSTRAINTS_SET_STMT__INIT; + static const PgQuery__JsonTableColumn init_value = PG_QUERY__JSON_TABLE_COLUMN__INIT; *message = init_value; } -size_t pg_query__constraints_set_stmt__get_packed_size - (const PgQuery__ConstraintsSetStmt *message) +size_t pg_query__json_table_column__get_packed_size + (const PgQuery__JsonTableColumn *message) { - assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__constraints_set_stmt__pack - (const PgQuery__ConstraintsSetStmt *message, +size_t pg_query__json_table_column__pack + (const PgQuery__JsonTableColumn *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__constraints_set_stmt__pack_to_buffer - (const PgQuery__ConstraintsSetStmt *message, +size_t pg_query__json_table_column__pack_to_buffer + (const PgQuery__JsonTableColumn *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ConstraintsSetStmt * - pg_query__constraints_set_stmt__unpack +PgQuery__JsonTableColumn * + pg_query__json_table_column__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ConstraintsSetStmt *) - protobuf_c_message_unpack (&pg_query__constraints_set_stmt__descriptor, + return (PgQuery__JsonTableColumn *) + protobuf_c_message_unpack (&pg_query__json_table_column__descriptor, allocator, len, data); } -void pg_query__constraints_set_stmt__free_unpacked - (PgQuery__ConstraintsSetStmt *message, +void pg_query__json_table_column__free_unpacked + (PgQuery__JsonTableColumn *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_table_column__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__reindex_stmt__init - (PgQuery__ReindexStmt *message) +void pg_query__json_key_value__init + (PgQuery__JsonKeyValue *message) { - static const PgQuery__ReindexStmt init_value = PG_QUERY__REINDEX_STMT__INIT; + static const PgQuery__JsonKeyValue init_value = PG_QUERY__JSON_KEY_VALUE__INIT; *message = init_value; } -size_t pg_query__reindex_stmt__get_packed_size - (const PgQuery__ReindexStmt *message) +size_t pg_query__json_key_value__get_packed_size + (const PgQuery__JsonKeyValue *message) { - assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_key_value__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__reindex_stmt__pack - (const PgQuery__ReindexStmt *message, +size_t pg_query__json_key_value__pack + (const PgQuery__JsonKeyValue *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_key_value__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__reindex_stmt__pack_to_buffer - (const PgQuery__ReindexStmt *message, +size_t pg_query__json_key_value__pack_to_buffer + (const PgQuery__JsonKeyValue *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_key_value__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ReindexStmt * - pg_query__reindex_stmt__unpack +PgQuery__JsonKeyValue * + pg_query__json_key_value__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ReindexStmt *) - protobuf_c_message_unpack (&pg_query__reindex_stmt__descriptor, + return (PgQuery__JsonKeyValue *) + protobuf_c_message_unpack (&pg_query__json_key_value__descriptor, allocator, len, data); } -void pg_query__reindex_stmt__free_unpacked - (PgQuery__ReindexStmt *message, +void pg_query__json_key_value__free_unpacked + (PgQuery__JsonKeyValue *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_key_value__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__check_point_stmt__init - (PgQuery__CheckPointStmt *message) +void pg_query__json_parse_expr__init + (PgQuery__JsonParseExpr *message) { - static const PgQuery__CheckPointStmt init_value = PG_QUERY__CHECK_POINT_STMT__INIT; + static const PgQuery__JsonParseExpr init_value = PG_QUERY__JSON_PARSE_EXPR__INIT; *message = init_value; } -size_t pg_query__check_point_stmt__get_packed_size - (const PgQuery__CheckPointStmt *message) +size_t pg_query__json_parse_expr__get_packed_size + (const PgQuery__JsonParseExpr *message) { - assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__check_point_stmt__pack - (const PgQuery__CheckPointStmt *message, +size_t pg_query__json_parse_expr__pack + (const PgQuery__JsonParseExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__check_point_stmt__pack_to_buffer - (const PgQuery__CheckPointStmt *message, +size_t pg_query__json_parse_expr__pack_to_buffer + (const PgQuery__JsonParseExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CheckPointStmt * - pg_query__check_point_stmt__unpack +PgQuery__JsonParseExpr * + pg_query__json_parse_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CheckPointStmt *) - protobuf_c_message_unpack (&pg_query__check_point_stmt__descriptor, + return (PgQuery__JsonParseExpr *) + protobuf_c_message_unpack (&pg_query__json_parse_expr__descriptor, allocator, len, data); } -void pg_query__check_point_stmt__free_unpacked - (PgQuery__CheckPointStmt *message, +void pg_query__json_parse_expr__free_unpacked + (PgQuery__JsonParseExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_parse_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_schema_stmt__init - (PgQuery__CreateSchemaStmt *message) +void pg_query__json_scalar_expr__init + (PgQuery__JsonScalarExpr *message) { - static const PgQuery__CreateSchemaStmt init_value = PG_QUERY__CREATE_SCHEMA_STMT__INIT; + static const PgQuery__JsonScalarExpr init_value = PG_QUERY__JSON_SCALAR_EXPR__INIT; *message = init_value; } -size_t pg_query__create_schema_stmt__get_packed_size - (const PgQuery__CreateSchemaStmt *message) +size_t pg_query__json_scalar_expr__get_packed_size + (const PgQuery__JsonScalarExpr *message) { - assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_schema_stmt__pack - (const PgQuery__CreateSchemaStmt *message, +size_t pg_query__json_scalar_expr__pack + (const PgQuery__JsonScalarExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_schema_stmt__pack_to_buffer - (const PgQuery__CreateSchemaStmt *message, +size_t pg_query__json_scalar_expr__pack_to_buffer + (const PgQuery__JsonScalarExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateSchemaStmt * - pg_query__create_schema_stmt__unpack +PgQuery__JsonScalarExpr * + pg_query__json_scalar_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateSchemaStmt *) - protobuf_c_message_unpack (&pg_query__create_schema_stmt__descriptor, + return (PgQuery__JsonScalarExpr *) + protobuf_c_message_unpack (&pg_query__json_scalar_expr__descriptor, allocator, len, data); } -void pg_query__create_schema_stmt__free_unpacked - (PgQuery__CreateSchemaStmt *message, +void pg_query__json_scalar_expr__free_unpacked + (PgQuery__JsonScalarExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_scalar_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_database_stmt__init - (PgQuery__AlterDatabaseStmt *message) +void pg_query__json_serialize_expr__init + (PgQuery__JsonSerializeExpr *message) { - static const PgQuery__AlterDatabaseStmt init_value = PG_QUERY__ALTER_DATABASE_STMT__INIT; + static const PgQuery__JsonSerializeExpr init_value = PG_QUERY__JSON_SERIALIZE_EXPR__INIT; *message = init_value; } -size_t pg_query__alter_database_stmt__get_packed_size - (const PgQuery__AlterDatabaseStmt *message) +size_t pg_query__json_serialize_expr__get_packed_size + (const PgQuery__JsonSerializeExpr *message) { - assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_database_stmt__pack - (const PgQuery__AlterDatabaseStmt *message, +size_t pg_query__json_serialize_expr__pack + (const PgQuery__JsonSerializeExpr *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_database_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseStmt *message, +size_t pg_query__json_serialize_expr__pack_to_buffer + (const PgQuery__JsonSerializeExpr *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterDatabaseStmt * - pg_query__alter_database_stmt__unpack +PgQuery__JsonSerializeExpr * + pg_query__json_serialize_expr__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterDatabaseStmt *) - protobuf_c_message_unpack (&pg_query__alter_database_stmt__descriptor, + return (PgQuery__JsonSerializeExpr *) + protobuf_c_message_unpack (&pg_query__json_serialize_expr__descriptor, allocator, len, data); } -void pg_query__alter_database_stmt__free_unpacked - (PgQuery__AlterDatabaseStmt *message, +void pg_query__json_serialize_expr__free_unpacked + (PgQuery__JsonSerializeExpr *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_serialize_expr__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_database_refresh_coll_stmt__init - (PgQuery__AlterDatabaseRefreshCollStmt *message) +void pg_query__json_object_constructor__init + (PgQuery__JsonObjectConstructor *message) { - static const PgQuery__AlterDatabaseRefreshCollStmt init_value = PG_QUERY__ALTER_DATABASE_REFRESH_COLL_STMT__INIT; + static const PgQuery__JsonObjectConstructor init_value = PG_QUERY__JSON_OBJECT_CONSTRUCTOR__INIT; *message = init_value; } -size_t pg_query__alter_database_refresh_coll_stmt__get_packed_size - (const PgQuery__AlterDatabaseRefreshCollStmt *message) +size_t pg_query__json_object_constructor__get_packed_size + (const PgQuery__JsonObjectConstructor *message) { - assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_constructor__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_database_refresh_coll_stmt__pack - (const PgQuery__AlterDatabaseRefreshCollStmt *message, +size_t pg_query__json_object_constructor__pack + (const PgQuery__JsonObjectConstructor *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_constructor__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_database_refresh_coll_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseRefreshCollStmt *message, +size_t pg_query__json_object_constructor__pack_to_buffer + (const PgQuery__JsonObjectConstructor *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_constructor__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterDatabaseRefreshCollStmt * - pg_query__alter_database_refresh_coll_stmt__unpack +PgQuery__JsonObjectConstructor * + pg_query__json_object_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterDatabaseRefreshCollStmt *) - protobuf_c_message_unpack (&pg_query__alter_database_refresh_coll_stmt__descriptor, + return (PgQuery__JsonObjectConstructor *) + protobuf_c_message_unpack (&pg_query__json_object_constructor__descriptor, allocator, len, data); } -void pg_query__alter_database_refresh_coll_stmt__free_unpacked - (PgQuery__AlterDatabaseRefreshCollStmt *message, +void pg_query__json_object_constructor__free_unpacked + (PgQuery__JsonObjectConstructor *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_constructor__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_database_set_stmt__init - (PgQuery__AlterDatabaseSetStmt *message) +void pg_query__json_array_constructor__init + (PgQuery__JsonArrayConstructor *message) { - static const PgQuery__AlterDatabaseSetStmt init_value = PG_QUERY__ALTER_DATABASE_SET_STMT__INIT; + static const PgQuery__JsonArrayConstructor init_value = PG_QUERY__JSON_ARRAY_CONSTRUCTOR__INIT; *message = init_value; } -size_t pg_query__alter_database_set_stmt__get_packed_size - (const PgQuery__AlterDatabaseSetStmt *message) +size_t pg_query__json_array_constructor__get_packed_size + (const PgQuery__JsonArrayConstructor *message) { - assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_constructor__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_database_set_stmt__pack - (const PgQuery__AlterDatabaseSetStmt *message, +size_t pg_query__json_array_constructor__pack + (const PgQuery__JsonArrayConstructor *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_constructor__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_database_set_stmt__pack_to_buffer - (const PgQuery__AlterDatabaseSetStmt *message, +size_t pg_query__json_array_constructor__pack_to_buffer + (const PgQuery__JsonArrayConstructor *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_constructor__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterDatabaseSetStmt * - pg_query__alter_database_set_stmt__unpack +PgQuery__JsonArrayConstructor * + pg_query__json_array_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterDatabaseSetStmt *) - protobuf_c_message_unpack (&pg_query__alter_database_set_stmt__descriptor, + return (PgQuery__JsonArrayConstructor *) + protobuf_c_message_unpack (&pg_query__json_array_constructor__descriptor, allocator, len, data); } -void pg_query__alter_database_set_stmt__free_unpacked - (PgQuery__AlterDatabaseSetStmt *message, +void pg_query__json_array_constructor__free_unpacked + (PgQuery__JsonArrayConstructor *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_constructor__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_role_set_stmt__init - (PgQuery__AlterRoleSetStmt *message) +void pg_query__json_array_query_constructor__init + (PgQuery__JsonArrayQueryConstructor *message) { - static const PgQuery__AlterRoleSetStmt init_value = PG_QUERY__ALTER_ROLE_SET_STMT__INIT; + static const PgQuery__JsonArrayQueryConstructor init_value = PG_QUERY__JSON_ARRAY_QUERY_CONSTRUCTOR__INIT; *message = init_value; } -size_t pg_query__alter_role_set_stmt__get_packed_size - (const PgQuery__AlterRoleSetStmt *message) +size_t pg_query__json_array_query_constructor__get_packed_size + (const PgQuery__JsonArrayQueryConstructor *message) { - assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_query_constructor__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_role_set_stmt__pack - (const PgQuery__AlterRoleSetStmt *message, +size_t pg_query__json_array_query_constructor__pack + (const PgQuery__JsonArrayQueryConstructor *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_query_constructor__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_role_set_stmt__pack_to_buffer - (const PgQuery__AlterRoleSetStmt *message, +size_t pg_query__json_array_query_constructor__pack_to_buffer + (const PgQuery__JsonArrayQueryConstructor *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_query_constructor__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterRoleSetStmt * - pg_query__alter_role_set_stmt__unpack +PgQuery__JsonArrayQueryConstructor * + pg_query__json_array_query_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterRoleSetStmt *) - protobuf_c_message_unpack (&pg_query__alter_role_set_stmt__descriptor, + return (PgQuery__JsonArrayQueryConstructor *) + protobuf_c_message_unpack (&pg_query__json_array_query_constructor__descriptor, allocator, len, data); } -void pg_query__alter_role_set_stmt__free_unpacked - (PgQuery__AlterRoleSetStmt *message, +void pg_query__json_array_query_constructor__free_unpacked + (PgQuery__JsonArrayQueryConstructor *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_query_constructor__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_conversion_stmt__init - (PgQuery__CreateConversionStmt *message) +void pg_query__json_agg_constructor__init + (PgQuery__JsonAggConstructor *message) { - static const PgQuery__CreateConversionStmt init_value = PG_QUERY__CREATE_CONVERSION_STMT__INIT; + static const PgQuery__JsonAggConstructor init_value = PG_QUERY__JSON_AGG_CONSTRUCTOR__INIT; *message = init_value; } -size_t pg_query__create_conversion_stmt__get_packed_size - (const PgQuery__CreateConversionStmt *message) +size_t pg_query__json_agg_constructor__get_packed_size + (const PgQuery__JsonAggConstructor *message) { - assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_agg_constructor__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_conversion_stmt__pack - (const PgQuery__CreateConversionStmt *message, +size_t pg_query__json_agg_constructor__pack + (const PgQuery__JsonAggConstructor *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_agg_constructor__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_conversion_stmt__pack_to_buffer - (const PgQuery__CreateConversionStmt *message, +size_t pg_query__json_agg_constructor__pack_to_buffer + (const PgQuery__JsonAggConstructor *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_agg_constructor__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateConversionStmt * - pg_query__create_conversion_stmt__unpack +PgQuery__JsonAggConstructor * + pg_query__json_agg_constructor__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateConversionStmt *) - protobuf_c_message_unpack (&pg_query__create_conversion_stmt__descriptor, + return (PgQuery__JsonAggConstructor *) + protobuf_c_message_unpack (&pg_query__json_agg_constructor__descriptor, allocator, len, data); } -void pg_query__create_conversion_stmt__free_unpacked - (PgQuery__CreateConversionStmt *message, +void pg_query__json_agg_constructor__free_unpacked + (PgQuery__JsonAggConstructor *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_agg_constructor__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_cast_stmt__init - (PgQuery__CreateCastStmt *message) +void pg_query__json_object_agg__init + (PgQuery__JsonObjectAgg *message) { - static const PgQuery__CreateCastStmt init_value = PG_QUERY__CREATE_CAST_STMT__INIT; + static const PgQuery__JsonObjectAgg init_value = PG_QUERY__JSON_OBJECT_AGG__INIT; *message = init_value; } -size_t pg_query__create_cast_stmt__get_packed_size - (const PgQuery__CreateCastStmt *message) +size_t pg_query__json_object_agg__get_packed_size + (const PgQuery__JsonObjectAgg *message) { - assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_agg__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_cast_stmt__pack - (const PgQuery__CreateCastStmt *message, +size_t pg_query__json_object_agg__pack + (const PgQuery__JsonObjectAgg *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_agg__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_cast_stmt__pack_to_buffer - (const PgQuery__CreateCastStmt *message, +size_t pg_query__json_object_agg__pack_to_buffer + (const PgQuery__JsonObjectAgg *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_agg__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateCastStmt * - pg_query__create_cast_stmt__unpack +PgQuery__JsonObjectAgg * + pg_query__json_object_agg__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateCastStmt *) - protobuf_c_message_unpack (&pg_query__create_cast_stmt__descriptor, + return (PgQuery__JsonObjectAgg *) + protobuf_c_message_unpack (&pg_query__json_object_agg__descriptor, allocator, len, data); } -void pg_query__create_cast_stmt__free_unpacked - (PgQuery__CreateCastStmt *message, +void pg_query__json_object_agg__free_unpacked + (PgQuery__JsonObjectAgg *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_object_agg__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_op_class_stmt__init - (PgQuery__CreateOpClassStmt *message) +void pg_query__json_array_agg__init + (PgQuery__JsonArrayAgg *message) { - static const PgQuery__CreateOpClassStmt init_value = PG_QUERY__CREATE_OP_CLASS_STMT__INIT; + static const PgQuery__JsonArrayAgg init_value = PG_QUERY__JSON_ARRAY_AGG__INIT; *message = init_value; } -size_t pg_query__create_op_class_stmt__get_packed_size - (const PgQuery__CreateOpClassStmt *message) +size_t pg_query__json_array_agg__get_packed_size + (const PgQuery__JsonArrayAgg *message) { - assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_agg__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_op_class_stmt__pack - (const PgQuery__CreateOpClassStmt *message, +size_t pg_query__json_array_agg__pack + (const PgQuery__JsonArrayAgg *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_agg__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_op_class_stmt__pack_to_buffer - (const PgQuery__CreateOpClassStmt *message, +size_t pg_query__json_array_agg__pack_to_buffer + (const PgQuery__JsonArrayAgg *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_agg__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateOpClassStmt * - pg_query__create_op_class_stmt__unpack +PgQuery__JsonArrayAgg * + pg_query__json_array_agg__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateOpClassStmt *) - protobuf_c_message_unpack (&pg_query__create_op_class_stmt__descriptor, + return (PgQuery__JsonArrayAgg *) + protobuf_c_message_unpack (&pg_query__json_array_agg__descriptor, allocator, len, data); } -void pg_query__create_op_class_stmt__free_unpacked - (PgQuery__CreateOpClassStmt *message, +void pg_query__json_array_agg__free_unpacked + (PgQuery__JsonArrayAgg *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); + assert(message->base.descriptor == &pg_query__json_array_agg__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_op_family_stmt__init - (PgQuery__CreateOpFamilyStmt *message) +void pg_query__raw_stmt__init + (PgQuery__RawStmt *message) { - static const PgQuery__CreateOpFamilyStmt init_value = PG_QUERY__CREATE_OP_FAMILY_STMT__INIT; + static const PgQuery__RawStmt init_value = PG_QUERY__RAW_STMT__INIT; *message = init_value; } -size_t pg_query__create_op_family_stmt__get_packed_size - (const PgQuery__CreateOpFamilyStmt *message) +size_t pg_query__raw_stmt__get_packed_size + (const PgQuery__RawStmt *message) { - assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_op_family_stmt__pack - (const PgQuery__CreateOpFamilyStmt *message, +size_t pg_query__raw_stmt__pack + (const PgQuery__RawStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_op_family_stmt__pack_to_buffer - (const PgQuery__CreateOpFamilyStmt *message, +size_t pg_query__raw_stmt__pack_to_buffer + (const PgQuery__RawStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateOpFamilyStmt * - pg_query__create_op_family_stmt__unpack +PgQuery__RawStmt * + pg_query__raw_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateOpFamilyStmt *) - protobuf_c_message_unpack (&pg_query__create_op_family_stmt__descriptor, + return (PgQuery__RawStmt *) + protobuf_c_message_unpack (&pg_query__raw_stmt__descriptor, allocator, len, data); } -void pg_query__create_op_family_stmt__free_unpacked - (PgQuery__CreateOpFamilyStmt *message, +void pg_query__raw_stmt__free_unpacked + (PgQuery__RawStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__raw_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_op_family_stmt__init - (PgQuery__AlterOpFamilyStmt *message) +void pg_query__insert_stmt__init + (PgQuery__InsertStmt *message) { - static const PgQuery__AlterOpFamilyStmt init_value = PG_QUERY__ALTER_OP_FAMILY_STMT__INIT; + static const PgQuery__InsertStmt init_value = PG_QUERY__INSERT_STMT__INIT; *message = init_value; } -size_t pg_query__alter_op_family_stmt__get_packed_size - (const PgQuery__AlterOpFamilyStmt *message) +size_t pg_query__insert_stmt__get_packed_size + (const PgQuery__InsertStmt *message) { - assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_op_family_stmt__pack - (const PgQuery__AlterOpFamilyStmt *message, +size_t pg_query__insert_stmt__pack + (const PgQuery__InsertStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_op_family_stmt__pack_to_buffer - (const PgQuery__AlterOpFamilyStmt *message, +size_t pg_query__insert_stmt__pack_to_buffer + (const PgQuery__InsertStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterOpFamilyStmt * - pg_query__alter_op_family_stmt__unpack +PgQuery__InsertStmt * + pg_query__insert_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterOpFamilyStmt *) - protobuf_c_message_unpack (&pg_query__alter_op_family_stmt__descriptor, + return (PgQuery__InsertStmt *) + protobuf_c_message_unpack (&pg_query__insert_stmt__descriptor, allocator, len, data); } -void pg_query__alter_op_family_stmt__free_unpacked - (PgQuery__AlterOpFamilyStmt *message, +void pg_query__insert_stmt__free_unpacked + (PgQuery__InsertStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); + assert(message->base.descriptor == &pg_query__insert_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__prepare_stmt__init - (PgQuery__PrepareStmt *message) +void pg_query__delete_stmt__init + (PgQuery__DeleteStmt *message) { - static const PgQuery__PrepareStmt init_value = PG_QUERY__PREPARE_STMT__INIT; + static const PgQuery__DeleteStmt init_value = PG_QUERY__DELETE_STMT__INIT; *message = init_value; } -size_t pg_query__prepare_stmt__get_packed_size - (const PgQuery__PrepareStmt *message) +size_t pg_query__delete_stmt__get_packed_size + (const PgQuery__DeleteStmt *message) { - assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__prepare_stmt__pack - (const PgQuery__PrepareStmt *message, +size_t pg_query__delete_stmt__pack + (const PgQuery__DeleteStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__prepare_stmt__pack_to_buffer - (const PgQuery__PrepareStmt *message, +size_t pg_query__delete_stmt__pack_to_buffer + (const PgQuery__DeleteStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PrepareStmt * - pg_query__prepare_stmt__unpack +PgQuery__DeleteStmt * + pg_query__delete_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PrepareStmt *) - protobuf_c_message_unpack (&pg_query__prepare_stmt__descriptor, + return (PgQuery__DeleteStmt *) + protobuf_c_message_unpack (&pg_query__delete_stmt__descriptor, allocator, len, data); } -void pg_query__prepare_stmt__free_unpacked - (PgQuery__PrepareStmt *message, +void pg_query__delete_stmt__free_unpacked + (PgQuery__DeleteStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + assert(message->base.descriptor == &pg_query__delete_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__execute_stmt__init - (PgQuery__ExecuteStmt *message) +void pg_query__update_stmt__init + (PgQuery__UpdateStmt *message) { - static const PgQuery__ExecuteStmt init_value = PG_QUERY__EXECUTE_STMT__INIT; + static const PgQuery__UpdateStmt init_value = PG_QUERY__UPDATE_STMT__INIT; *message = init_value; } -size_t pg_query__execute_stmt__get_packed_size - (const PgQuery__ExecuteStmt *message) +size_t pg_query__update_stmt__get_packed_size + (const PgQuery__UpdateStmt *message) { - assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + assert(message->base.descriptor == &pg_query__update_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__execute_stmt__pack - (const PgQuery__ExecuteStmt *message, +size_t pg_query__update_stmt__pack + (const PgQuery__UpdateStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + assert(message->base.descriptor == &pg_query__update_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__execute_stmt__pack_to_buffer - (const PgQuery__ExecuteStmt *message, +size_t pg_query__update_stmt__pack_to_buffer + (const PgQuery__UpdateStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + assert(message->base.descriptor == &pg_query__update_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ExecuteStmt * - pg_query__execute_stmt__unpack +PgQuery__UpdateStmt * + pg_query__update_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ExecuteStmt *) - protobuf_c_message_unpack (&pg_query__execute_stmt__descriptor, + return (PgQuery__UpdateStmt *) + protobuf_c_message_unpack (&pg_query__update_stmt__descriptor, allocator, len, data); } -void pg_query__execute_stmt__free_unpacked - (PgQuery__ExecuteStmt *message, +void pg_query__update_stmt__free_unpacked + (PgQuery__UpdateStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + assert(message->base.descriptor == &pg_query__update_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__deallocate_stmt__init - (PgQuery__DeallocateStmt *message) +void pg_query__merge_stmt__init + (PgQuery__MergeStmt *message) { - static const PgQuery__DeallocateStmt init_value = PG_QUERY__DEALLOCATE_STMT__INIT; + static const PgQuery__MergeStmt init_value = PG_QUERY__MERGE_STMT__INIT; *message = init_value; } -size_t pg_query__deallocate_stmt__get_packed_size - (const PgQuery__DeallocateStmt *message) +size_t pg_query__merge_stmt__get_packed_size + (const PgQuery__MergeStmt *message) { - assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__deallocate_stmt__pack - (const PgQuery__DeallocateStmt *message, +size_t pg_query__merge_stmt__pack + (const PgQuery__MergeStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__deallocate_stmt__pack_to_buffer - (const PgQuery__DeallocateStmt *message, +size_t pg_query__merge_stmt__pack_to_buffer + (const PgQuery__MergeStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DeallocateStmt * - pg_query__deallocate_stmt__unpack +PgQuery__MergeStmt * + pg_query__merge_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DeallocateStmt *) - protobuf_c_message_unpack (&pg_query__deallocate_stmt__descriptor, + return (PgQuery__MergeStmt *) + protobuf_c_message_unpack (&pg_query__merge_stmt__descriptor, allocator, len, data); } -void pg_query__deallocate_stmt__free_unpacked - (PgQuery__DeallocateStmt *message, +void pg_query__merge_stmt__free_unpacked + (PgQuery__MergeStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + assert(message->base.descriptor == &pg_query__merge_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__declare_cursor_stmt__init - (PgQuery__DeclareCursorStmt *message) +void pg_query__select_stmt__init + (PgQuery__SelectStmt *message) { - static const PgQuery__DeclareCursorStmt init_value = PG_QUERY__DECLARE_CURSOR_STMT__INIT; + static const PgQuery__SelectStmt init_value = PG_QUERY__SELECT_STMT__INIT; *message = init_value; } -size_t pg_query__declare_cursor_stmt__get_packed_size - (const PgQuery__DeclareCursorStmt *message) +size_t pg_query__select_stmt__get_packed_size + (const PgQuery__SelectStmt *message) { - assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); + assert(message->base.descriptor == &pg_query__select_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__declare_cursor_stmt__pack - (const PgQuery__DeclareCursorStmt *message, +size_t pg_query__select_stmt__pack + (const PgQuery__SelectStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); + assert(message->base.descriptor == &pg_query__select_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__declare_cursor_stmt__pack_to_buffer - (const PgQuery__DeclareCursorStmt *message, +size_t pg_query__select_stmt__pack_to_buffer + (const PgQuery__SelectStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); + assert(message->base.descriptor == &pg_query__select_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DeclareCursorStmt * - pg_query__declare_cursor_stmt__unpack +PgQuery__SelectStmt * + pg_query__select_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DeclareCursorStmt *) - protobuf_c_message_unpack (&pg_query__declare_cursor_stmt__descriptor, + return (PgQuery__SelectStmt *) + protobuf_c_message_unpack (&pg_query__select_stmt__descriptor, allocator, len, data); } -void pg_query__declare_cursor_stmt__free_unpacked - (PgQuery__DeclareCursorStmt *message, +void pg_query__select_stmt__free_unpacked + (PgQuery__SelectStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); + assert(message->base.descriptor == &pg_query__select_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_table_space_stmt__init - (PgQuery__CreateTableSpaceStmt *message) +void pg_query__set_operation_stmt__init + (PgQuery__SetOperationStmt *message) { - static const PgQuery__CreateTableSpaceStmt init_value = PG_QUERY__CREATE_TABLE_SPACE_STMT__INIT; + static const PgQuery__SetOperationStmt init_value = PG_QUERY__SET_OPERATION_STMT__INIT; *message = init_value; } -size_t pg_query__create_table_space_stmt__get_packed_size - (const PgQuery__CreateTableSpaceStmt *message) +size_t pg_query__set_operation_stmt__get_packed_size + (const PgQuery__SetOperationStmt *message) { - assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_table_space_stmt__pack - (const PgQuery__CreateTableSpaceStmt *message, +size_t pg_query__set_operation_stmt__pack + (const PgQuery__SetOperationStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_table_space_stmt__pack_to_buffer - (const PgQuery__CreateTableSpaceStmt *message, +size_t pg_query__set_operation_stmt__pack_to_buffer + (const PgQuery__SetOperationStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateTableSpaceStmt * - pg_query__create_table_space_stmt__unpack +PgQuery__SetOperationStmt * + pg_query__set_operation_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateTableSpaceStmt *) - protobuf_c_message_unpack (&pg_query__create_table_space_stmt__descriptor, + return (PgQuery__SetOperationStmt *) + protobuf_c_message_unpack (&pg_query__set_operation_stmt__descriptor, allocator, len, data); } -void pg_query__create_table_space_stmt__free_unpacked - (PgQuery__CreateTableSpaceStmt *message, +void pg_query__set_operation_stmt__free_unpacked + (PgQuery__SetOperationStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__set_operation_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_table_space_stmt__init - (PgQuery__DropTableSpaceStmt *message) +void pg_query__return_stmt__init + (PgQuery__ReturnStmt *message) { - static const PgQuery__DropTableSpaceStmt init_value = PG_QUERY__DROP_TABLE_SPACE_STMT__INIT; + static const PgQuery__ReturnStmt init_value = PG_QUERY__RETURN_STMT__INIT; *message = init_value; } -size_t pg_query__drop_table_space_stmt__get_packed_size - (const PgQuery__DropTableSpaceStmt *message) +size_t pg_query__return_stmt__get_packed_size + (const PgQuery__ReturnStmt *message) { - assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__return_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_table_space_stmt__pack - (const PgQuery__DropTableSpaceStmt *message, +size_t pg_query__return_stmt__pack + (const PgQuery__ReturnStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__return_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_table_space_stmt__pack_to_buffer - (const PgQuery__DropTableSpaceStmt *message, +size_t pg_query__return_stmt__pack_to_buffer + (const PgQuery__ReturnStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__return_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropTableSpaceStmt * - pg_query__drop_table_space_stmt__unpack +PgQuery__ReturnStmt * + pg_query__return_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropTableSpaceStmt *) - protobuf_c_message_unpack (&pg_query__drop_table_space_stmt__descriptor, + return (PgQuery__ReturnStmt *) + protobuf_c_message_unpack (&pg_query__return_stmt__descriptor, allocator, len, data); } -void pg_query__drop_table_space_stmt__free_unpacked - (PgQuery__DropTableSpaceStmt *message, +void pg_query__return_stmt__free_unpacked + (PgQuery__ReturnStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); + assert(message->base.descriptor == &pg_query__return_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_object_depends_stmt__init - (PgQuery__AlterObjectDependsStmt *message) +void pg_query__plassign_stmt__init + (PgQuery__PLAssignStmt *message) { - static const PgQuery__AlterObjectDependsStmt init_value = PG_QUERY__ALTER_OBJECT_DEPENDS_STMT__INIT; + static const PgQuery__PLAssignStmt init_value = PG_QUERY__PLASSIGN_STMT__INIT; *message = init_value; } -size_t pg_query__alter_object_depends_stmt__get_packed_size - (const PgQuery__AlterObjectDependsStmt *message) +size_t pg_query__plassign_stmt__get_packed_size + (const PgQuery__PLAssignStmt *message) { - assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); + assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_object_depends_stmt__pack - (const PgQuery__AlterObjectDependsStmt *message, +size_t pg_query__plassign_stmt__pack + (const PgQuery__PLAssignStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); + assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_object_depends_stmt__pack_to_buffer - (const PgQuery__AlterObjectDependsStmt *message, +size_t pg_query__plassign_stmt__pack_to_buffer + (const PgQuery__PLAssignStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); + assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterObjectDependsStmt * - pg_query__alter_object_depends_stmt__unpack +PgQuery__PLAssignStmt * + pg_query__plassign_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterObjectDependsStmt *) - protobuf_c_message_unpack (&pg_query__alter_object_depends_stmt__descriptor, + return (PgQuery__PLAssignStmt *) + protobuf_c_message_unpack (&pg_query__plassign_stmt__descriptor, allocator, len, data); } -void pg_query__alter_object_depends_stmt__free_unpacked - (PgQuery__AlterObjectDependsStmt *message, +void pg_query__plassign_stmt__free_unpacked + (PgQuery__PLAssignStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); + assert(message->base.descriptor == &pg_query__plassign_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_object_schema_stmt__init - (PgQuery__AlterObjectSchemaStmt *message) +void pg_query__create_schema_stmt__init + (PgQuery__CreateSchemaStmt *message) { - static const PgQuery__AlterObjectSchemaStmt init_value = PG_QUERY__ALTER_OBJECT_SCHEMA_STMT__INIT; + static const PgQuery__CreateSchemaStmt init_value = PG_QUERY__CREATE_SCHEMA_STMT__INIT; *message = init_value; } -size_t pg_query__alter_object_schema_stmt__get_packed_size - (const PgQuery__AlterObjectSchemaStmt *message) +size_t pg_query__create_schema_stmt__get_packed_size + (const PgQuery__CreateSchemaStmt *message) { - assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_object_schema_stmt__pack - (const PgQuery__AlterObjectSchemaStmt *message, +size_t pg_query__create_schema_stmt__pack + (const PgQuery__CreateSchemaStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_object_schema_stmt__pack_to_buffer - (const PgQuery__AlterObjectSchemaStmt *message, +size_t pg_query__create_schema_stmt__pack_to_buffer + (const PgQuery__CreateSchemaStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterObjectSchemaStmt * - pg_query__alter_object_schema_stmt__unpack +PgQuery__CreateSchemaStmt * + pg_query__create_schema_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterObjectSchemaStmt *) - protobuf_c_message_unpack (&pg_query__alter_object_schema_stmt__descriptor, + return (PgQuery__CreateSchemaStmt *) + protobuf_c_message_unpack (&pg_query__create_schema_stmt__descriptor, allocator, len, data); } -void pg_query__alter_object_schema_stmt__free_unpacked - (PgQuery__AlterObjectSchemaStmt *message, +void pg_query__create_schema_stmt__free_unpacked + (PgQuery__CreateSchemaStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_schema_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_owner_stmt__init - (PgQuery__AlterOwnerStmt *message) +void pg_query__alter_table_stmt__init + (PgQuery__AlterTableStmt *message) { - static const PgQuery__AlterOwnerStmt init_value = PG_QUERY__ALTER_OWNER_STMT__INIT; + static const PgQuery__AlterTableStmt init_value = PG_QUERY__ALTER_TABLE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_owner_stmt__get_packed_size - (const PgQuery__AlterOwnerStmt *message) +size_t pg_query__alter_table_stmt__get_packed_size + (const PgQuery__AlterTableStmt *message) { - assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_owner_stmt__pack - (const PgQuery__AlterOwnerStmt *message, +size_t pg_query__alter_table_stmt__pack + (const PgQuery__AlterTableStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_owner_stmt__pack_to_buffer - (const PgQuery__AlterOwnerStmt *message, +size_t pg_query__alter_table_stmt__pack_to_buffer + (const PgQuery__AlterTableStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterOwnerStmt * - pg_query__alter_owner_stmt__unpack +PgQuery__AlterTableStmt * + pg_query__alter_table_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterOwnerStmt *) - protobuf_c_message_unpack (&pg_query__alter_owner_stmt__descriptor, + return (PgQuery__AlterTableStmt *) + protobuf_c_message_unpack (&pg_query__alter_table_stmt__descriptor, allocator, len, data); } -void pg_query__alter_owner_stmt__free_unpacked - (PgQuery__AlterOwnerStmt *message, +void pg_query__alter_table_stmt__free_unpacked + (PgQuery__AlterTableStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_operator_stmt__init - (PgQuery__AlterOperatorStmt *message) +void pg_query__replica_identity_stmt__init + (PgQuery__ReplicaIdentityStmt *message) { - static const PgQuery__AlterOperatorStmt init_value = PG_QUERY__ALTER_OPERATOR_STMT__INIT; + static const PgQuery__ReplicaIdentityStmt init_value = PG_QUERY__REPLICA_IDENTITY_STMT__INIT; *message = init_value; } -size_t pg_query__alter_operator_stmt__get_packed_size - (const PgQuery__AlterOperatorStmt *message) +size_t pg_query__replica_identity_stmt__get_packed_size + (const PgQuery__ReplicaIdentityStmt *message) { - assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); + assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_operator_stmt__pack - (const PgQuery__AlterOperatorStmt *message, +size_t pg_query__replica_identity_stmt__pack + (const PgQuery__ReplicaIdentityStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); + assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_operator_stmt__pack_to_buffer - (const PgQuery__AlterOperatorStmt *message, +size_t pg_query__replica_identity_stmt__pack_to_buffer + (const PgQuery__ReplicaIdentityStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); + assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterOperatorStmt * - pg_query__alter_operator_stmt__unpack +PgQuery__ReplicaIdentityStmt * + pg_query__replica_identity_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterOperatorStmt *) - protobuf_c_message_unpack (&pg_query__alter_operator_stmt__descriptor, + return (PgQuery__ReplicaIdentityStmt *) + protobuf_c_message_unpack (&pg_query__replica_identity_stmt__descriptor, allocator, len, data); } -void pg_query__alter_operator_stmt__free_unpacked - (PgQuery__AlterOperatorStmt *message, +void pg_query__replica_identity_stmt__free_unpacked + (PgQuery__ReplicaIdentityStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); + assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_type_stmt__init - (PgQuery__AlterTypeStmt *message) +void pg_query__alter_table_cmd__init + (PgQuery__AlterTableCmd *message) { - static const PgQuery__AlterTypeStmt init_value = PG_QUERY__ALTER_TYPE_STMT__INIT; + static const PgQuery__AlterTableCmd init_value = PG_QUERY__ALTER_TABLE_CMD__INIT; *message = init_value; } -size_t pg_query__alter_type_stmt__get_packed_size - (const PgQuery__AlterTypeStmt *message) +size_t pg_query__alter_table_cmd__get_packed_size + (const PgQuery__AlterTableCmd *message) { - assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_type_stmt__pack - (const PgQuery__AlterTypeStmt *message, +size_t pg_query__alter_table_cmd__pack + (const PgQuery__AlterTableCmd *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_type_stmt__pack_to_buffer - (const PgQuery__AlterTypeStmt *message, +size_t pg_query__alter_table_cmd__pack_to_buffer + (const PgQuery__AlterTableCmd *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterTypeStmt * - pg_query__alter_type_stmt__unpack +PgQuery__AlterTableCmd * + pg_query__alter_table_cmd__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterTypeStmt *) - protobuf_c_message_unpack (&pg_query__alter_type_stmt__descriptor, + return (PgQuery__AlterTableCmd *) + protobuf_c_message_unpack (&pg_query__alter_table_cmd__descriptor, allocator, len, data); } -void pg_query__alter_type_stmt__free_unpacked - (PgQuery__AlterTypeStmt *message, +void pg_query__alter_table_cmd__free_unpacked + (PgQuery__AlterTableCmd *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_table_cmd__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_owned_stmt__init - (PgQuery__DropOwnedStmt *message) +void pg_query__alter_collation_stmt__init + (PgQuery__AlterCollationStmt *message) { - static const PgQuery__DropOwnedStmt init_value = PG_QUERY__DROP_OWNED_STMT__INIT; + static const PgQuery__AlterCollationStmt init_value = PG_QUERY__ALTER_COLLATION_STMT__INIT; *message = init_value; } -size_t pg_query__drop_owned_stmt__get_packed_size - (const PgQuery__DropOwnedStmt *message) +size_t pg_query__alter_collation_stmt__get_packed_size + (const PgQuery__AlterCollationStmt *message) { - assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_owned_stmt__pack - (const PgQuery__DropOwnedStmt *message, +size_t pg_query__alter_collation_stmt__pack + (const PgQuery__AlterCollationStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_owned_stmt__pack_to_buffer - (const PgQuery__DropOwnedStmt *message, +size_t pg_query__alter_collation_stmt__pack_to_buffer + (const PgQuery__AlterCollationStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropOwnedStmt * - pg_query__drop_owned_stmt__unpack +PgQuery__AlterCollationStmt * + pg_query__alter_collation_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropOwnedStmt *) - protobuf_c_message_unpack (&pg_query__drop_owned_stmt__descriptor, + return (PgQuery__AlterCollationStmt *) + protobuf_c_message_unpack (&pg_query__alter_collation_stmt__descriptor, allocator, len, data); } -void pg_query__drop_owned_stmt__free_unpacked - (PgQuery__DropOwnedStmt *message, +void pg_query__alter_collation_stmt__free_unpacked + (PgQuery__AlterCollationStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__reassign_owned_stmt__init - (PgQuery__ReassignOwnedStmt *message) +void pg_query__alter_domain_stmt__init + (PgQuery__AlterDomainStmt *message) { - static const PgQuery__ReassignOwnedStmt init_value = PG_QUERY__REASSIGN_OWNED_STMT__INIT; + static const PgQuery__AlterDomainStmt init_value = PG_QUERY__ALTER_DOMAIN_STMT__INIT; *message = init_value; } -size_t pg_query__reassign_owned_stmt__get_packed_size - (const PgQuery__ReassignOwnedStmt *message) +size_t pg_query__alter_domain_stmt__get_packed_size + (const PgQuery__AlterDomainStmt *message) { - assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__reassign_owned_stmt__pack - (const PgQuery__ReassignOwnedStmt *message, +size_t pg_query__alter_domain_stmt__pack + (const PgQuery__AlterDomainStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__reassign_owned_stmt__pack_to_buffer - (const PgQuery__ReassignOwnedStmt *message, +size_t pg_query__alter_domain_stmt__pack_to_buffer + (const PgQuery__AlterDomainStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ReassignOwnedStmt * - pg_query__reassign_owned_stmt__unpack +PgQuery__AlterDomainStmt * + pg_query__alter_domain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ReassignOwnedStmt *) - protobuf_c_message_unpack (&pg_query__reassign_owned_stmt__descriptor, + return (PgQuery__AlterDomainStmt *) + protobuf_c_message_unpack (&pg_query__alter_domain_stmt__descriptor, allocator, len, data); } -void pg_query__reassign_owned_stmt__free_unpacked - (PgQuery__ReassignOwnedStmt *message, +void pg_query__alter_domain_stmt__free_unpacked + (PgQuery__AlterDomainStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_domain_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__composite_type_stmt__init - (PgQuery__CompositeTypeStmt *message) +void pg_query__grant_stmt__init + (PgQuery__GrantStmt *message) { - static const PgQuery__CompositeTypeStmt init_value = PG_QUERY__COMPOSITE_TYPE_STMT__INIT; + static const PgQuery__GrantStmt init_value = PG_QUERY__GRANT_STMT__INIT; *message = init_value; } -size_t pg_query__composite_type_stmt__get_packed_size - (const PgQuery__CompositeTypeStmt *message) +size_t pg_query__grant_stmt__get_packed_size + (const PgQuery__GrantStmt *message) { - assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__composite_type_stmt__pack - (const PgQuery__CompositeTypeStmt *message, +size_t pg_query__grant_stmt__pack + (const PgQuery__GrantStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__composite_type_stmt__pack_to_buffer - (const PgQuery__CompositeTypeStmt *message, +size_t pg_query__grant_stmt__pack_to_buffer + (const PgQuery__GrantStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CompositeTypeStmt * - pg_query__composite_type_stmt__unpack +PgQuery__GrantStmt * + pg_query__grant_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CompositeTypeStmt *) - protobuf_c_message_unpack (&pg_query__composite_type_stmt__descriptor, + return (PgQuery__GrantStmt *) + protobuf_c_message_unpack (&pg_query__grant_stmt__descriptor, allocator, len, data); } -void pg_query__composite_type_stmt__free_unpacked - (PgQuery__CompositeTypeStmt *message, +void pg_query__grant_stmt__free_unpacked + (PgQuery__GrantStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_enum_stmt__init - (PgQuery__CreateEnumStmt *message) +void pg_query__object_with_args__init + (PgQuery__ObjectWithArgs *message) { - static const PgQuery__CreateEnumStmt init_value = PG_QUERY__CREATE_ENUM_STMT__INIT; + static const PgQuery__ObjectWithArgs init_value = PG_QUERY__OBJECT_WITH_ARGS__INIT; *message = init_value; } -size_t pg_query__create_enum_stmt__get_packed_size - (const PgQuery__CreateEnumStmt *message) +size_t pg_query__object_with_args__get_packed_size + (const PgQuery__ObjectWithArgs *message) { - assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__object_with_args__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_enum_stmt__pack - (const PgQuery__CreateEnumStmt *message, +size_t pg_query__object_with_args__pack + (const PgQuery__ObjectWithArgs *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__object_with_args__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_enum_stmt__pack_to_buffer - (const PgQuery__CreateEnumStmt *message, +size_t pg_query__object_with_args__pack_to_buffer + (const PgQuery__ObjectWithArgs *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__object_with_args__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateEnumStmt * - pg_query__create_enum_stmt__unpack +PgQuery__ObjectWithArgs * + pg_query__object_with_args__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateEnumStmt *) - protobuf_c_message_unpack (&pg_query__create_enum_stmt__descriptor, + return (PgQuery__ObjectWithArgs *) + protobuf_c_message_unpack (&pg_query__object_with_args__descriptor, allocator, len, data); } -void pg_query__create_enum_stmt__free_unpacked - (PgQuery__CreateEnumStmt *message, +void pg_query__object_with_args__free_unpacked + (PgQuery__ObjectWithArgs *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__object_with_args__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_range_stmt__init - (PgQuery__CreateRangeStmt *message) +void pg_query__access_priv__init + (PgQuery__AccessPriv *message) { - static const PgQuery__CreateRangeStmt init_value = PG_QUERY__CREATE_RANGE_STMT__INIT; + static const PgQuery__AccessPriv init_value = PG_QUERY__ACCESS_PRIV__INIT; *message = init_value; } -size_t pg_query__create_range_stmt__get_packed_size - (const PgQuery__CreateRangeStmt *message) +size_t pg_query__access_priv__get_packed_size + (const PgQuery__AccessPriv *message) { - assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); + assert(message->base.descriptor == &pg_query__access_priv__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_range_stmt__pack - (const PgQuery__CreateRangeStmt *message, +size_t pg_query__access_priv__pack + (const PgQuery__AccessPriv *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); + assert(message->base.descriptor == &pg_query__access_priv__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_range_stmt__pack_to_buffer - (const PgQuery__CreateRangeStmt *message, +size_t pg_query__access_priv__pack_to_buffer + (const PgQuery__AccessPriv *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); + assert(message->base.descriptor == &pg_query__access_priv__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateRangeStmt * - pg_query__create_range_stmt__unpack +PgQuery__AccessPriv * + pg_query__access_priv__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateRangeStmt *) - protobuf_c_message_unpack (&pg_query__create_range_stmt__descriptor, + return (PgQuery__AccessPriv *) + protobuf_c_message_unpack (&pg_query__access_priv__descriptor, allocator, len, data); } -void pg_query__create_range_stmt__free_unpacked - (PgQuery__CreateRangeStmt *message, +void pg_query__access_priv__free_unpacked + (PgQuery__AccessPriv *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); + assert(message->base.descriptor == &pg_query__access_priv__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_enum_stmt__init - (PgQuery__AlterEnumStmt *message) +void pg_query__grant_role_stmt__init + (PgQuery__GrantRoleStmt *message) { - static const PgQuery__AlterEnumStmt init_value = PG_QUERY__ALTER_ENUM_STMT__INIT; + static const PgQuery__GrantRoleStmt init_value = PG_QUERY__GRANT_ROLE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_enum_stmt__get_packed_size - (const PgQuery__AlterEnumStmt *message) +size_t pg_query__grant_role_stmt__get_packed_size + (const PgQuery__GrantRoleStmt *message) { - assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_enum_stmt__pack - (const PgQuery__AlterEnumStmt *message, +size_t pg_query__grant_role_stmt__pack + (const PgQuery__GrantRoleStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_enum_stmt__pack_to_buffer - (const PgQuery__AlterEnumStmt *message, +size_t pg_query__grant_role_stmt__pack_to_buffer + (const PgQuery__GrantRoleStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterEnumStmt * - pg_query__alter_enum_stmt__unpack +PgQuery__GrantRoleStmt * + pg_query__grant_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterEnumStmt *) - protobuf_c_message_unpack (&pg_query__alter_enum_stmt__descriptor, + return (PgQuery__GrantRoleStmt *) + protobuf_c_message_unpack (&pg_query__grant_role_stmt__descriptor, allocator, len, data); } -void pg_query__alter_enum_stmt__free_unpacked - (PgQuery__AlterEnumStmt *message, +void pg_query__grant_role_stmt__free_unpacked + (PgQuery__GrantRoleStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); + assert(message->base.descriptor == &pg_query__grant_role_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_tsdictionary_stmt__init - (PgQuery__AlterTSDictionaryStmt *message) +void pg_query__alter_default_privileges_stmt__init + (PgQuery__AlterDefaultPrivilegesStmt *message) { - static const PgQuery__AlterTSDictionaryStmt init_value = PG_QUERY__ALTER_TSDICTIONARY_STMT__INIT; + static const PgQuery__AlterDefaultPrivilegesStmt init_value = PG_QUERY__ALTER_DEFAULT_PRIVILEGES_STMT__INIT; *message = init_value; } -size_t pg_query__alter_tsdictionary_stmt__get_packed_size - (const PgQuery__AlterTSDictionaryStmt *message) +size_t pg_query__alter_default_privileges_stmt__get_packed_size + (const PgQuery__AlterDefaultPrivilegesStmt *message) { - assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_tsdictionary_stmt__pack - (const PgQuery__AlterTSDictionaryStmt *message, +size_t pg_query__alter_default_privileges_stmt__pack + (const PgQuery__AlterDefaultPrivilegesStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_tsdictionary_stmt__pack_to_buffer - (const PgQuery__AlterTSDictionaryStmt *message, +size_t pg_query__alter_default_privileges_stmt__pack_to_buffer + (const PgQuery__AlterDefaultPrivilegesStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterTSDictionaryStmt * - pg_query__alter_tsdictionary_stmt__unpack +PgQuery__AlterDefaultPrivilegesStmt * + pg_query__alter_default_privileges_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterTSDictionaryStmt *) - protobuf_c_message_unpack (&pg_query__alter_tsdictionary_stmt__descriptor, + return (PgQuery__AlterDefaultPrivilegesStmt *) + protobuf_c_message_unpack (&pg_query__alter_default_privileges_stmt__descriptor, allocator, len, data); } -void pg_query__alter_tsdictionary_stmt__free_unpacked - (PgQuery__AlterTSDictionaryStmt *message, +void pg_query__alter_default_privileges_stmt__free_unpacked + (PgQuery__AlterDefaultPrivilegesStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_default_privileges_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_tsconfiguration_stmt__init - (PgQuery__AlterTSConfigurationStmt *message) +void pg_query__copy_stmt__init + (PgQuery__CopyStmt *message) { - static const PgQuery__AlterTSConfigurationStmt init_value = PG_QUERY__ALTER_TSCONFIGURATION_STMT__INIT; + static const PgQuery__CopyStmt init_value = PG_QUERY__COPY_STMT__INIT; *message = init_value; } -size_t pg_query__alter_tsconfiguration_stmt__get_packed_size - (const PgQuery__AlterTSConfigurationStmt *message) +size_t pg_query__copy_stmt__get_packed_size + (const PgQuery__CopyStmt *message) { - assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_tsconfiguration_stmt__pack - (const PgQuery__AlterTSConfigurationStmt *message, +size_t pg_query__copy_stmt__pack + (const PgQuery__CopyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_tsconfiguration_stmt__pack_to_buffer - (const PgQuery__AlterTSConfigurationStmt *message, +size_t pg_query__copy_stmt__pack_to_buffer + (const PgQuery__CopyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterTSConfigurationStmt * - pg_query__alter_tsconfiguration_stmt__unpack +PgQuery__CopyStmt * + pg_query__copy_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterTSConfigurationStmt *) - protobuf_c_message_unpack (&pg_query__alter_tsconfiguration_stmt__descriptor, + return (PgQuery__CopyStmt *) + protobuf_c_message_unpack (&pg_query__copy_stmt__descriptor, allocator, len, data); } -void pg_query__alter_tsconfiguration_stmt__free_unpacked - (PgQuery__AlterTSConfigurationStmt *message, +void pg_query__copy_stmt__free_unpacked + (PgQuery__CopyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + assert(message->base.descriptor == &pg_query__copy_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_fdw_stmt__init - (PgQuery__CreateFdwStmt *message) +void pg_query__variable_set_stmt__init + (PgQuery__VariableSetStmt *message) { - static const PgQuery__CreateFdwStmt init_value = PG_QUERY__CREATE_FDW_STMT__INIT; + static const PgQuery__VariableSetStmt init_value = PG_QUERY__VARIABLE_SET_STMT__INIT; *message = init_value; } -size_t pg_query__create_fdw_stmt__get_packed_size - (const PgQuery__CreateFdwStmt *message) +size_t pg_query__variable_set_stmt__get_packed_size + (const PgQuery__VariableSetStmt *message) { - assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_fdw_stmt__pack - (const PgQuery__CreateFdwStmt *message, +size_t pg_query__variable_set_stmt__pack + (const PgQuery__VariableSetStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_fdw_stmt__pack_to_buffer - (const PgQuery__CreateFdwStmt *message, +size_t pg_query__variable_set_stmt__pack_to_buffer + (const PgQuery__VariableSetStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); - return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); -} -PgQuery__CreateFdwStmt * - pg_query__create_fdw_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data) -{ - return (PgQuery__CreateFdwStmt *) - protobuf_c_message_unpack (&pg_query__create_fdw_stmt__descriptor, - allocator, len, data); -} -void pg_query__create_fdw_stmt__free_unpacked - (PgQuery__CreateFdwStmt *message, - ProtobufCAllocator *allocator) -{ - if(!message) - return; - assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); - protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); -} -void pg_query__alter_fdw_stmt__init - (PgQuery__AlterFdwStmt *message) -{ - static const PgQuery__AlterFdwStmt init_value = PG_QUERY__ALTER_FDW_STMT__INIT; - *message = init_value; -} -size_t pg_query__alter_fdw_stmt__get_packed_size - (const PgQuery__AlterFdwStmt *message) -{ - assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); - return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); -} -size_t pg_query__alter_fdw_stmt__pack - (const PgQuery__AlterFdwStmt *message, - uint8_t *out) -{ - assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); - return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); -} -size_t pg_query__alter_fdw_stmt__pack_to_buffer - (const PgQuery__AlterFdwStmt *message, - ProtobufCBuffer *buffer) -{ - assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterFdwStmt * - pg_query__alter_fdw_stmt__unpack +PgQuery__VariableSetStmt * + pg_query__variable_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterFdwStmt *) - protobuf_c_message_unpack (&pg_query__alter_fdw_stmt__descriptor, + return (PgQuery__VariableSetStmt *) + protobuf_c_message_unpack (&pg_query__variable_set_stmt__descriptor, allocator, len, data); } -void pg_query__alter_fdw_stmt__free_unpacked - (PgQuery__AlterFdwStmt *message, +void pg_query__variable_set_stmt__free_unpacked + (PgQuery__VariableSetStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_set_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_foreign_server_stmt__init - (PgQuery__CreateForeignServerStmt *message) +void pg_query__variable_show_stmt__init + (PgQuery__VariableShowStmt *message) { - static const PgQuery__CreateForeignServerStmt init_value = PG_QUERY__CREATE_FOREIGN_SERVER_STMT__INIT; + static const PgQuery__VariableShowStmt init_value = PG_QUERY__VARIABLE_SHOW_STMT__INIT; *message = init_value; } -size_t pg_query__create_foreign_server_stmt__get_packed_size - (const PgQuery__CreateForeignServerStmt *message) +size_t pg_query__variable_show_stmt__get_packed_size + (const PgQuery__VariableShowStmt *message) { - assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_foreign_server_stmt__pack - (const PgQuery__CreateForeignServerStmt *message, +size_t pg_query__variable_show_stmt__pack + (const PgQuery__VariableShowStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_foreign_server_stmt__pack_to_buffer - (const PgQuery__CreateForeignServerStmt *message, +size_t pg_query__variable_show_stmt__pack_to_buffer + (const PgQuery__VariableShowStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateForeignServerStmt * - pg_query__create_foreign_server_stmt__unpack +PgQuery__VariableShowStmt * + pg_query__variable_show_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateForeignServerStmt *) - protobuf_c_message_unpack (&pg_query__create_foreign_server_stmt__descriptor, + return (PgQuery__VariableShowStmt *) + protobuf_c_message_unpack (&pg_query__variable_show_stmt__descriptor, allocator, len, data); } -void pg_query__create_foreign_server_stmt__free_unpacked - (PgQuery__CreateForeignServerStmt *message, +void pg_query__variable_show_stmt__free_unpacked + (PgQuery__VariableShowStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__variable_show_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_foreign_server_stmt__init - (PgQuery__AlterForeignServerStmt *message) +void pg_query__create_stmt__init + (PgQuery__CreateStmt *message) { - static const PgQuery__AlterForeignServerStmt init_value = PG_QUERY__ALTER_FOREIGN_SERVER_STMT__INIT; + static const PgQuery__CreateStmt init_value = PG_QUERY__CREATE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_foreign_server_stmt__get_packed_size - (const PgQuery__AlterForeignServerStmt *message) +size_t pg_query__create_stmt__get_packed_size + (const PgQuery__CreateStmt *message) { - assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_foreign_server_stmt__pack - (const PgQuery__AlterForeignServerStmt *message, +size_t pg_query__create_stmt__pack + (const PgQuery__CreateStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_foreign_server_stmt__pack_to_buffer - (const PgQuery__AlterForeignServerStmt *message, +size_t pg_query__create_stmt__pack_to_buffer + (const PgQuery__CreateStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterForeignServerStmt * - pg_query__alter_foreign_server_stmt__unpack +PgQuery__CreateStmt * + pg_query__create_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterForeignServerStmt *) - protobuf_c_message_unpack (&pg_query__alter_foreign_server_stmt__descriptor, + return (PgQuery__CreateStmt *) + protobuf_c_message_unpack (&pg_query__create_stmt__descriptor, allocator, len, data); } -void pg_query__alter_foreign_server_stmt__free_unpacked - (PgQuery__AlterForeignServerStmt *message, +void pg_query__create_stmt__free_unpacked + (PgQuery__CreateStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_user_mapping_stmt__init - (PgQuery__CreateUserMappingStmt *message) +void pg_query__constraint__init + (PgQuery__Constraint *message) { - static const PgQuery__CreateUserMappingStmt init_value = PG_QUERY__CREATE_USER_MAPPING_STMT__INIT; + static const PgQuery__Constraint init_value = PG_QUERY__CONSTRAINT__INIT; *message = init_value; } -size_t pg_query__create_user_mapping_stmt__get_packed_size - (const PgQuery__CreateUserMappingStmt *message) +size_t pg_query__constraint__get_packed_size + (const PgQuery__Constraint *message) { - assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__constraint__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_user_mapping_stmt__pack - (const PgQuery__CreateUserMappingStmt *message, +size_t pg_query__constraint__pack + (const PgQuery__Constraint *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__constraint__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_user_mapping_stmt__pack_to_buffer - (const PgQuery__CreateUserMappingStmt *message, +size_t pg_query__constraint__pack_to_buffer + (const PgQuery__Constraint *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__constraint__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateUserMappingStmt * - pg_query__create_user_mapping_stmt__unpack +PgQuery__Constraint * + pg_query__constraint__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateUserMappingStmt *) - protobuf_c_message_unpack (&pg_query__create_user_mapping_stmt__descriptor, + return (PgQuery__Constraint *) + protobuf_c_message_unpack (&pg_query__constraint__descriptor, allocator, len, data); } -void pg_query__create_user_mapping_stmt__free_unpacked - (PgQuery__CreateUserMappingStmt *message, +void pg_query__constraint__free_unpacked + (PgQuery__Constraint *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__constraint__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_user_mapping_stmt__init - (PgQuery__AlterUserMappingStmt *message) +void pg_query__create_table_space_stmt__init + (PgQuery__CreateTableSpaceStmt *message) { - static const PgQuery__AlterUserMappingStmt init_value = PG_QUERY__ALTER_USER_MAPPING_STMT__INIT; + static const PgQuery__CreateTableSpaceStmt init_value = PG_QUERY__CREATE_TABLE_SPACE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_user_mapping_stmt__get_packed_size - (const PgQuery__AlterUserMappingStmt *message) +size_t pg_query__create_table_space_stmt__get_packed_size + (const PgQuery__CreateTableSpaceStmt *message) { - assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_user_mapping_stmt__pack - (const PgQuery__AlterUserMappingStmt *message, +size_t pg_query__create_table_space_stmt__pack + (const PgQuery__CreateTableSpaceStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_user_mapping_stmt__pack_to_buffer - (const PgQuery__AlterUserMappingStmt *message, +size_t pg_query__create_table_space_stmt__pack_to_buffer + (const PgQuery__CreateTableSpaceStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterUserMappingStmt * - pg_query__alter_user_mapping_stmt__unpack +PgQuery__CreateTableSpaceStmt * + pg_query__create_table_space_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterUserMappingStmt *) - protobuf_c_message_unpack (&pg_query__alter_user_mapping_stmt__descriptor, + return (PgQuery__CreateTableSpaceStmt *) + protobuf_c_message_unpack (&pg_query__create_table_space_stmt__descriptor, allocator, len, data); } -void pg_query__alter_user_mapping_stmt__free_unpacked - (PgQuery__AlterUserMappingStmt *message, +void pg_query__create_table_space_stmt__free_unpacked + (PgQuery__CreateTableSpaceStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_table_space_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_user_mapping_stmt__init - (PgQuery__DropUserMappingStmt *message) +void pg_query__drop_table_space_stmt__init + (PgQuery__DropTableSpaceStmt *message) { - static const PgQuery__DropUserMappingStmt init_value = PG_QUERY__DROP_USER_MAPPING_STMT__INIT; + static const PgQuery__DropTableSpaceStmt init_value = PG_QUERY__DROP_TABLE_SPACE_STMT__INIT; *message = init_value; } -size_t pg_query__drop_user_mapping_stmt__get_packed_size - (const PgQuery__DropUserMappingStmt *message) +size_t pg_query__drop_table_space_stmt__get_packed_size + (const PgQuery__DropTableSpaceStmt *message) { - assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_user_mapping_stmt__pack - (const PgQuery__DropUserMappingStmt *message, +size_t pg_query__drop_table_space_stmt__pack + (const PgQuery__DropTableSpaceStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_user_mapping_stmt__pack_to_buffer - (const PgQuery__DropUserMappingStmt *message, +size_t pg_query__drop_table_space_stmt__pack_to_buffer + (const PgQuery__DropTableSpaceStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropUserMappingStmt * - pg_query__drop_user_mapping_stmt__unpack +PgQuery__DropTableSpaceStmt * + pg_query__drop_table_space_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropUserMappingStmt *) - protobuf_c_message_unpack (&pg_query__drop_user_mapping_stmt__descriptor, + return (PgQuery__DropTableSpaceStmt *) + protobuf_c_message_unpack (&pg_query__drop_table_space_stmt__descriptor, allocator, len, data); } -void pg_query__drop_user_mapping_stmt__free_unpacked - (PgQuery__DropUserMappingStmt *message, +void pg_query__drop_table_space_stmt__free_unpacked + (PgQuery__DropTableSpaceStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_table_space_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } void pg_query__alter_table_space_options_stmt__init @@ -7117,141 +7702,6 @@ void pg_query__alter_table_move_all_stmt__free_unpacked assert(message->base.descriptor == &pg_query__alter_table_move_all_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__sec_label_stmt__init - (PgQuery__SecLabelStmt *message) -{ - static const PgQuery__SecLabelStmt init_value = PG_QUERY__SEC_LABEL_STMT__INIT; - *message = init_value; -} -size_t pg_query__sec_label_stmt__get_packed_size - (const PgQuery__SecLabelStmt *message) -{ - assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); - return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); -} -size_t pg_query__sec_label_stmt__pack - (const PgQuery__SecLabelStmt *message, - uint8_t *out) -{ - assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); - return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); -} -size_t pg_query__sec_label_stmt__pack_to_buffer - (const PgQuery__SecLabelStmt *message, - ProtobufCBuffer *buffer) -{ - assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); - return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); -} -PgQuery__SecLabelStmt * - pg_query__sec_label_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data) -{ - return (PgQuery__SecLabelStmt *) - protobuf_c_message_unpack (&pg_query__sec_label_stmt__descriptor, - allocator, len, data); -} -void pg_query__sec_label_stmt__free_unpacked - (PgQuery__SecLabelStmt *message, - ProtobufCAllocator *allocator) -{ - if(!message) - return; - assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); - protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); -} -void pg_query__create_foreign_table_stmt__init - (PgQuery__CreateForeignTableStmt *message) -{ - static const PgQuery__CreateForeignTableStmt init_value = PG_QUERY__CREATE_FOREIGN_TABLE_STMT__INIT; - *message = init_value; -} -size_t pg_query__create_foreign_table_stmt__get_packed_size - (const PgQuery__CreateForeignTableStmt *message) -{ - assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); - return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); -} -size_t pg_query__create_foreign_table_stmt__pack - (const PgQuery__CreateForeignTableStmt *message, - uint8_t *out) -{ - assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); - return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); -} -size_t pg_query__create_foreign_table_stmt__pack_to_buffer - (const PgQuery__CreateForeignTableStmt *message, - ProtobufCBuffer *buffer) -{ - assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); - return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); -} -PgQuery__CreateForeignTableStmt * - pg_query__create_foreign_table_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data) -{ - return (PgQuery__CreateForeignTableStmt *) - protobuf_c_message_unpack (&pg_query__create_foreign_table_stmt__descriptor, - allocator, len, data); -} -void pg_query__create_foreign_table_stmt__free_unpacked - (PgQuery__CreateForeignTableStmt *message, - ProtobufCAllocator *allocator) -{ - if(!message) - return; - assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); - protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); -} -void pg_query__import_foreign_schema_stmt__init - (PgQuery__ImportForeignSchemaStmt *message) -{ - static const PgQuery__ImportForeignSchemaStmt init_value = PG_QUERY__IMPORT_FOREIGN_SCHEMA_STMT__INIT; - *message = init_value; -} -size_t pg_query__import_foreign_schema_stmt__get_packed_size - (const PgQuery__ImportForeignSchemaStmt *message) -{ - assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); - return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); -} -size_t pg_query__import_foreign_schema_stmt__pack - (const PgQuery__ImportForeignSchemaStmt *message, - uint8_t *out) -{ - assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); - return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); -} -size_t pg_query__import_foreign_schema_stmt__pack_to_buffer - (const PgQuery__ImportForeignSchemaStmt *message, - ProtobufCBuffer *buffer) -{ - assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); - return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); -} -PgQuery__ImportForeignSchemaStmt * - pg_query__import_foreign_schema_stmt__unpack - (ProtobufCAllocator *allocator, - size_t len, - const uint8_t *data) -{ - return (PgQuery__ImportForeignSchemaStmt *) - protobuf_c_message_unpack (&pg_query__import_foreign_schema_stmt__descriptor, - allocator, len, data); -} -void pg_query__import_foreign_schema_stmt__free_unpacked - (PgQuery__ImportForeignSchemaStmt *message, - ProtobufCAllocator *allocator) -{ - if(!message) - return; - assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); - protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); -} void pg_query__create_extension_stmt__init (PgQuery__CreateExtensionStmt *message) { @@ -7387,7520 +7837,10815 @@ void pg_query__alter_extension_contents_stmt__free_unpacked assert(message->base.descriptor == &pg_query__alter_extension_contents_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_event_trig_stmt__init - (PgQuery__CreateEventTrigStmt *message) +void pg_query__create_fdw_stmt__init + (PgQuery__CreateFdwStmt *message) { - static const PgQuery__CreateEventTrigStmt init_value = PG_QUERY__CREATE_EVENT_TRIG_STMT__INIT; + static const PgQuery__CreateFdwStmt init_value = PG_QUERY__CREATE_FDW_STMT__INIT; *message = init_value; } -size_t pg_query__create_event_trig_stmt__get_packed_size - (const PgQuery__CreateEventTrigStmt *message) +size_t pg_query__create_fdw_stmt__get_packed_size + (const PgQuery__CreateFdwStmt *message) { - assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_event_trig_stmt__pack - (const PgQuery__CreateEventTrigStmt *message, +size_t pg_query__create_fdw_stmt__pack + (const PgQuery__CreateFdwStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_event_trig_stmt__pack_to_buffer - (const PgQuery__CreateEventTrigStmt *message, +size_t pg_query__create_fdw_stmt__pack_to_buffer + (const PgQuery__CreateFdwStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateEventTrigStmt * - pg_query__create_event_trig_stmt__unpack +PgQuery__CreateFdwStmt * + pg_query__create_fdw_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateEventTrigStmt *) - protobuf_c_message_unpack (&pg_query__create_event_trig_stmt__descriptor, + return (PgQuery__CreateFdwStmt *) + protobuf_c_message_unpack (&pg_query__create_fdw_stmt__descriptor, allocator, len, data); } -void pg_query__create_event_trig_stmt__free_unpacked - (PgQuery__CreateEventTrigStmt *message, +void pg_query__create_fdw_stmt__free_unpacked + (PgQuery__CreateFdwStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_fdw_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_event_trig_stmt__init - (PgQuery__AlterEventTrigStmt *message) +void pg_query__alter_fdw_stmt__init + (PgQuery__AlterFdwStmt *message) { - static const PgQuery__AlterEventTrigStmt init_value = PG_QUERY__ALTER_EVENT_TRIG_STMT__INIT; + static const PgQuery__AlterFdwStmt init_value = PG_QUERY__ALTER_FDW_STMT__INIT; *message = init_value; } -size_t pg_query__alter_event_trig_stmt__get_packed_size - (const PgQuery__AlterEventTrigStmt *message) +size_t pg_query__alter_fdw_stmt__get_packed_size + (const PgQuery__AlterFdwStmt *message) { - assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_event_trig_stmt__pack - (const PgQuery__AlterEventTrigStmt *message, +size_t pg_query__alter_fdw_stmt__pack + (const PgQuery__AlterFdwStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_event_trig_stmt__pack_to_buffer - (const PgQuery__AlterEventTrigStmt *message, +size_t pg_query__alter_fdw_stmt__pack_to_buffer + (const PgQuery__AlterFdwStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterEventTrigStmt * - pg_query__alter_event_trig_stmt__unpack +PgQuery__AlterFdwStmt * + pg_query__alter_fdw_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterEventTrigStmt *) - protobuf_c_message_unpack (&pg_query__alter_event_trig_stmt__descriptor, + return (PgQuery__AlterFdwStmt *) + protobuf_c_message_unpack (&pg_query__alter_fdw_stmt__descriptor, allocator, len, data); } -void pg_query__alter_event_trig_stmt__free_unpacked - (PgQuery__AlterEventTrigStmt *message, +void pg_query__alter_fdw_stmt__free_unpacked + (PgQuery__AlterFdwStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_fdw_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__refresh_mat_view_stmt__init - (PgQuery__RefreshMatViewStmt *message) +void pg_query__create_foreign_server_stmt__init + (PgQuery__CreateForeignServerStmt *message) { - static const PgQuery__RefreshMatViewStmt init_value = PG_QUERY__REFRESH_MAT_VIEW_STMT__INIT; + static const PgQuery__CreateForeignServerStmt init_value = PG_QUERY__CREATE_FOREIGN_SERVER_STMT__INIT; *message = init_value; } -size_t pg_query__refresh_mat_view_stmt__get_packed_size - (const PgQuery__RefreshMatViewStmt *message) +size_t pg_query__create_foreign_server_stmt__get_packed_size + (const PgQuery__CreateForeignServerStmt *message) { - assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__refresh_mat_view_stmt__pack - (const PgQuery__RefreshMatViewStmt *message, +size_t pg_query__create_foreign_server_stmt__pack + (const PgQuery__CreateForeignServerStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__refresh_mat_view_stmt__pack_to_buffer - (const PgQuery__RefreshMatViewStmt *message, +size_t pg_query__create_foreign_server_stmt__pack_to_buffer + (const PgQuery__CreateForeignServerStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RefreshMatViewStmt * - pg_query__refresh_mat_view_stmt__unpack +PgQuery__CreateForeignServerStmt * + pg_query__create_foreign_server_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RefreshMatViewStmt *) - protobuf_c_message_unpack (&pg_query__refresh_mat_view_stmt__descriptor, + return (PgQuery__CreateForeignServerStmt *) + protobuf_c_message_unpack (&pg_query__create_foreign_server_stmt__descriptor, allocator, len, data); } -void pg_query__refresh_mat_view_stmt__free_unpacked - (PgQuery__RefreshMatViewStmt *message, +void pg_query__create_foreign_server_stmt__free_unpacked + (PgQuery__CreateForeignServerStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_server_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__replica_identity_stmt__init - (PgQuery__ReplicaIdentityStmt *message) +void pg_query__alter_foreign_server_stmt__init + (PgQuery__AlterForeignServerStmt *message) { - static const PgQuery__ReplicaIdentityStmt init_value = PG_QUERY__REPLICA_IDENTITY_STMT__INIT; + static const PgQuery__AlterForeignServerStmt init_value = PG_QUERY__ALTER_FOREIGN_SERVER_STMT__INIT; *message = init_value; } -size_t pg_query__replica_identity_stmt__get_packed_size - (const PgQuery__ReplicaIdentityStmt *message) +size_t pg_query__alter_foreign_server_stmt__get_packed_size + (const PgQuery__AlterForeignServerStmt *message) { - assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__replica_identity_stmt__pack - (const PgQuery__ReplicaIdentityStmt *message, +size_t pg_query__alter_foreign_server_stmt__pack + (const PgQuery__AlterForeignServerStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__replica_identity_stmt__pack_to_buffer - (const PgQuery__ReplicaIdentityStmt *message, +size_t pg_query__alter_foreign_server_stmt__pack_to_buffer + (const PgQuery__AlterForeignServerStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ReplicaIdentityStmt * - pg_query__replica_identity_stmt__unpack +PgQuery__AlterForeignServerStmt * + pg_query__alter_foreign_server_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ReplicaIdentityStmt *) - protobuf_c_message_unpack (&pg_query__replica_identity_stmt__descriptor, + return (PgQuery__AlterForeignServerStmt *) + protobuf_c_message_unpack (&pg_query__alter_foreign_server_stmt__descriptor, allocator, len, data); } -void pg_query__replica_identity_stmt__free_unpacked - (PgQuery__ReplicaIdentityStmt *message, +void pg_query__alter_foreign_server_stmt__free_unpacked + (PgQuery__AlterForeignServerStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__replica_identity_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_foreign_server_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_system_stmt__init - (PgQuery__AlterSystemStmt *message) +void pg_query__create_foreign_table_stmt__init + (PgQuery__CreateForeignTableStmt *message) { - static const PgQuery__AlterSystemStmt init_value = PG_QUERY__ALTER_SYSTEM_STMT__INIT; + static const PgQuery__CreateForeignTableStmt init_value = PG_QUERY__CREATE_FOREIGN_TABLE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_system_stmt__get_packed_size - (const PgQuery__AlterSystemStmt *message) +size_t pg_query__create_foreign_table_stmt__get_packed_size + (const PgQuery__CreateForeignTableStmt *message) { - assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_system_stmt__pack - (const PgQuery__AlterSystemStmt *message, +size_t pg_query__create_foreign_table_stmt__pack + (const PgQuery__CreateForeignTableStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_system_stmt__pack_to_buffer - (const PgQuery__AlterSystemStmt *message, +size_t pg_query__create_foreign_table_stmt__pack_to_buffer + (const PgQuery__CreateForeignTableStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterSystemStmt * - pg_query__alter_system_stmt__unpack +PgQuery__CreateForeignTableStmt * + pg_query__create_foreign_table_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterSystemStmt *) - protobuf_c_message_unpack (&pg_query__alter_system_stmt__descriptor, + return (PgQuery__CreateForeignTableStmt *) + protobuf_c_message_unpack (&pg_query__create_foreign_table_stmt__descriptor, allocator, len, data); } -void pg_query__alter_system_stmt__free_unpacked - (PgQuery__AlterSystemStmt *message, +void pg_query__create_foreign_table_stmt__free_unpacked + (PgQuery__CreateForeignTableStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_foreign_table_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_policy_stmt__init - (PgQuery__CreatePolicyStmt *message) +void pg_query__create_user_mapping_stmt__init + (PgQuery__CreateUserMappingStmt *message) { - static const PgQuery__CreatePolicyStmt init_value = PG_QUERY__CREATE_POLICY_STMT__INIT; + static const PgQuery__CreateUserMappingStmt init_value = PG_QUERY__CREATE_USER_MAPPING_STMT__INIT; *message = init_value; } -size_t pg_query__create_policy_stmt__get_packed_size - (const PgQuery__CreatePolicyStmt *message) +size_t pg_query__create_user_mapping_stmt__get_packed_size + (const PgQuery__CreateUserMappingStmt *message) { - assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_policy_stmt__pack - (const PgQuery__CreatePolicyStmt *message, +size_t pg_query__create_user_mapping_stmt__pack + (const PgQuery__CreateUserMappingStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_policy_stmt__pack_to_buffer - (const PgQuery__CreatePolicyStmt *message, +size_t pg_query__create_user_mapping_stmt__pack_to_buffer + (const PgQuery__CreateUserMappingStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreatePolicyStmt * - pg_query__create_policy_stmt__unpack +PgQuery__CreateUserMappingStmt * + pg_query__create_user_mapping_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreatePolicyStmt *) - protobuf_c_message_unpack (&pg_query__create_policy_stmt__descriptor, + return (PgQuery__CreateUserMappingStmt *) + protobuf_c_message_unpack (&pg_query__create_user_mapping_stmt__descriptor, allocator, len, data); } -void pg_query__create_policy_stmt__free_unpacked - (PgQuery__CreatePolicyStmt *message, +void pg_query__create_user_mapping_stmt__free_unpacked + (PgQuery__CreateUserMappingStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_user_mapping_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_policy_stmt__init - (PgQuery__AlterPolicyStmt *message) +void pg_query__alter_user_mapping_stmt__init + (PgQuery__AlterUserMappingStmt *message) { - static const PgQuery__AlterPolicyStmt init_value = PG_QUERY__ALTER_POLICY_STMT__INIT; + static const PgQuery__AlterUserMappingStmt init_value = PG_QUERY__ALTER_USER_MAPPING_STMT__INIT; *message = init_value; } -size_t pg_query__alter_policy_stmt__get_packed_size - (const PgQuery__AlterPolicyStmt *message) +size_t pg_query__alter_user_mapping_stmt__get_packed_size + (const PgQuery__AlterUserMappingStmt *message) { - assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_policy_stmt__pack - (const PgQuery__AlterPolicyStmt *message, +size_t pg_query__alter_user_mapping_stmt__pack + (const PgQuery__AlterUserMappingStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_policy_stmt__pack_to_buffer - (const PgQuery__AlterPolicyStmt *message, +size_t pg_query__alter_user_mapping_stmt__pack_to_buffer + (const PgQuery__AlterUserMappingStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterPolicyStmt * - pg_query__alter_policy_stmt__unpack +PgQuery__AlterUserMappingStmt * + pg_query__alter_user_mapping_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterPolicyStmt *) - protobuf_c_message_unpack (&pg_query__alter_policy_stmt__descriptor, + return (PgQuery__AlterUserMappingStmt *) + protobuf_c_message_unpack (&pg_query__alter_user_mapping_stmt__descriptor, allocator, len, data); } -void pg_query__alter_policy_stmt__free_unpacked - (PgQuery__AlterPolicyStmt *message, +void pg_query__alter_user_mapping_stmt__free_unpacked + (PgQuery__AlterUserMappingStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_user_mapping_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_transform_stmt__init - (PgQuery__CreateTransformStmt *message) +void pg_query__drop_user_mapping_stmt__init + (PgQuery__DropUserMappingStmt *message) { - static const PgQuery__CreateTransformStmt init_value = PG_QUERY__CREATE_TRANSFORM_STMT__INIT; + static const PgQuery__DropUserMappingStmt init_value = PG_QUERY__DROP_USER_MAPPING_STMT__INIT; *message = init_value; } -size_t pg_query__create_transform_stmt__get_packed_size - (const PgQuery__CreateTransformStmt *message) +size_t pg_query__drop_user_mapping_stmt__get_packed_size + (const PgQuery__DropUserMappingStmt *message) { - assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_transform_stmt__pack - (const PgQuery__CreateTransformStmt *message, +size_t pg_query__drop_user_mapping_stmt__pack + (const PgQuery__DropUserMappingStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_transform_stmt__pack_to_buffer - (const PgQuery__CreateTransformStmt *message, +size_t pg_query__drop_user_mapping_stmt__pack_to_buffer + (const PgQuery__DropUserMappingStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateTransformStmt * - pg_query__create_transform_stmt__unpack +PgQuery__DropUserMappingStmt * + pg_query__drop_user_mapping_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateTransformStmt *) - protobuf_c_message_unpack (&pg_query__create_transform_stmt__descriptor, + return (PgQuery__DropUserMappingStmt *) + protobuf_c_message_unpack (&pg_query__drop_user_mapping_stmt__descriptor, allocator, len, data); } -void pg_query__create_transform_stmt__free_unpacked - (PgQuery__CreateTransformStmt *message, +void pg_query__drop_user_mapping_stmt__free_unpacked + (PgQuery__DropUserMappingStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + assert(message->base.descriptor == &pg_query__drop_user_mapping_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_am_stmt__init - (PgQuery__CreateAmStmt *message) +void pg_query__import_foreign_schema_stmt__init + (PgQuery__ImportForeignSchemaStmt *message) { - static const PgQuery__CreateAmStmt init_value = PG_QUERY__CREATE_AM_STMT__INIT; + static const PgQuery__ImportForeignSchemaStmt init_value = PG_QUERY__IMPORT_FOREIGN_SCHEMA_STMT__INIT; *message = init_value; } -size_t pg_query__create_am_stmt__get_packed_size - (const PgQuery__CreateAmStmt *message) +size_t pg_query__import_foreign_schema_stmt__get_packed_size + (const PgQuery__ImportForeignSchemaStmt *message) { - assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); + assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_am_stmt__pack - (const PgQuery__CreateAmStmt *message, +size_t pg_query__import_foreign_schema_stmt__pack + (const PgQuery__ImportForeignSchemaStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); + assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_am_stmt__pack_to_buffer - (const PgQuery__CreateAmStmt *message, +size_t pg_query__import_foreign_schema_stmt__pack_to_buffer + (const PgQuery__ImportForeignSchemaStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); + assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateAmStmt * - pg_query__create_am_stmt__unpack +PgQuery__ImportForeignSchemaStmt * + pg_query__import_foreign_schema_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateAmStmt *) - protobuf_c_message_unpack (&pg_query__create_am_stmt__descriptor, + return (PgQuery__ImportForeignSchemaStmt *) + protobuf_c_message_unpack (&pg_query__import_foreign_schema_stmt__descriptor, allocator, len, data); } -void pg_query__create_am_stmt__free_unpacked - (PgQuery__CreateAmStmt *message, +void pg_query__import_foreign_schema_stmt__free_unpacked + (PgQuery__ImportForeignSchemaStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); + assert(message->base.descriptor == &pg_query__import_foreign_schema_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_publication_stmt__init - (PgQuery__CreatePublicationStmt *message) +void pg_query__create_policy_stmt__init + (PgQuery__CreatePolicyStmt *message) { - static const PgQuery__CreatePublicationStmt init_value = PG_QUERY__CREATE_PUBLICATION_STMT__INIT; + static const PgQuery__CreatePolicyStmt init_value = PG_QUERY__CREATE_POLICY_STMT__INIT; *message = init_value; } -size_t pg_query__create_publication_stmt__get_packed_size - (const PgQuery__CreatePublicationStmt *message) +size_t pg_query__create_policy_stmt__get_packed_size + (const PgQuery__CreatePolicyStmt *message) { - assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_publication_stmt__pack - (const PgQuery__CreatePublicationStmt *message, +size_t pg_query__create_policy_stmt__pack + (const PgQuery__CreatePolicyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_publication_stmt__pack_to_buffer - (const PgQuery__CreatePublicationStmt *message, +size_t pg_query__create_policy_stmt__pack_to_buffer + (const PgQuery__CreatePolicyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreatePublicationStmt * - pg_query__create_publication_stmt__unpack +PgQuery__CreatePolicyStmt * + pg_query__create_policy_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreatePublicationStmt *) - protobuf_c_message_unpack (&pg_query__create_publication_stmt__descriptor, + return (PgQuery__CreatePolicyStmt *) + protobuf_c_message_unpack (&pg_query__create_policy_stmt__descriptor, allocator, len, data); } -void pg_query__create_publication_stmt__free_unpacked - (PgQuery__CreatePublicationStmt *message, +void pg_query__create_policy_stmt__free_unpacked + (PgQuery__CreatePolicyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_policy_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_publication_stmt__init - (PgQuery__AlterPublicationStmt *message) +void pg_query__alter_policy_stmt__init + (PgQuery__AlterPolicyStmt *message) { - static const PgQuery__AlterPublicationStmt init_value = PG_QUERY__ALTER_PUBLICATION_STMT__INIT; + static const PgQuery__AlterPolicyStmt init_value = PG_QUERY__ALTER_POLICY_STMT__INIT; *message = init_value; } -size_t pg_query__alter_publication_stmt__get_packed_size - (const PgQuery__AlterPublicationStmt *message) +size_t pg_query__alter_policy_stmt__get_packed_size + (const PgQuery__AlterPolicyStmt *message) { - assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_publication_stmt__pack - (const PgQuery__AlterPublicationStmt *message, +size_t pg_query__alter_policy_stmt__pack + (const PgQuery__AlterPolicyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_publication_stmt__pack_to_buffer - (const PgQuery__AlterPublicationStmt *message, +size_t pg_query__alter_policy_stmt__pack_to_buffer + (const PgQuery__AlterPolicyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterPublicationStmt * - pg_query__alter_publication_stmt__unpack +PgQuery__AlterPolicyStmt * + pg_query__alter_policy_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterPublicationStmt *) - protobuf_c_message_unpack (&pg_query__alter_publication_stmt__descriptor, + return (PgQuery__AlterPolicyStmt *) + protobuf_c_message_unpack (&pg_query__alter_policy_stmt__descriptor, allocator, len, data); } -void pg_query__alter_publication_stmt__free_unpacked - (PgQuery__AlterPublicationStmt *message, +void pg_query__alter_policy_stmt__free_unpacked + (PgQuery__AlterPolicyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_policy_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_subscription_stmt__init - (PgQuery__CreateSubscriptionStmt *message) +void pg_query__create_am_stmt__init + (PgQuery__CreateAmStmt *message) { - static const PgQuery__CreateSubscriptionStmt init_value = PG_QUERY__CREATE_SUBSCRIPTION_STMT__INIT; + static const PgQuery__CreateAmStmt init_value = PG_QUERY__CREATE_AM_STMT__INIT; *message = init_value; } -size_t pg_query__create_subscription_stmt__get_packed_size - (const PgQuery__CreateSubscriptionStmt *message) +size_t pg_query__create_am_stmt__get_packed_size + (const PgQuery__CreateAmStmt *message) { - assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_subscription_stmt__pack - (const PgQuery__CreateSubscriptionStmt *message, +size_t pg_query__create_am_stmt__pack + (const PgQuery__CreateAmStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_subscription_stmt__pack_to_buffer - (const PgQuery__CreateSubscriptionStmt *message, +size_t pg_query__create_am_stmt__pack_to_buffer + (const PgQuery__CreateAmStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateSubscriptionStmt * - pg_query__create_subscription_stmt__unpack +PgQuery__CreateAmStmt * + pg_query__create_am_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateSubscriptionStmt *) - protobuf_c_message_unpack (&pg_query__create_subscription_stmt__descriptor, + return (PgQuery__CreateAmStmt *) + protobuf_c_message_unpack (&pg_query__create_am_stmt__descriptor, allocator, len, data); } -void pg_query__create_subscription_stmt__free_unpacked - (PgQuery__CreateSubscriptionStmt *message, +void pg_query__create_am_stmt__free_unpacked + (PgQuery__CreateAmStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_am_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_subscription_stmt__init - (PgQuery__AlterSubscriptionStmt *message) +void pg_query__create_trig_stmt__init + (PgQuery__CreateTrigStmt *message) { - static const PgQuery__AlterSubscriptionStmt init_value = PG_QUERY__ALTER_SUBSCRIPTION_STMT__INIT; + static const PgQuery__CreateTrigStmt init_value = PG_QUERY__CREATE_TRIG_STMT__INIT; *message = init_value; } -size_t pg_query__alter_subscription_stmt__get_packed_size - (const PgQuery__AlterSubscriptionStmt *message) +size_t pg_query__create_trig_stmt__get_packed_size + (const PgQuery__CreateTrigStmt *message) { - assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_subscription_stmt__pack - (const PgQuery__AlterSubscriptionStmt *message, +size_t pg_query__create_trig_stmt__pack + (const PgQuery__CreateTrigStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_subscription_stmt__pack_to_buffer - (const PgQuery__AlterSubscriptionStmt *message, +size_t pg_query__create_trig_stmt__pack_to_buffer + (const PgQuery__CreateTrigStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterSubscriptionStmt * - pg_query__alter_subscription_stmt__unpack +PgQuery__CreateTrigStmt * + pg_query__create_trig_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterSubscriptionStmt *) - protobuf_c_message_unpack (&pg_query__alter_subscription_stmt__descriptor, + return (PgQuery__CreateTrigStmt *) + protobuf_c_message_unpack (&pg_query__create_trig_stmt__descriptor, allocator, len, data); } -void pg_query__alter_subscription_stmt__free_unpacked - (PgQuery__AlterSubscriptionStmt *message, +void pg_query__create_trig_stmt__free_unpacked + (PgQuery__CreateTrigStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_trig_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__drop_subscription_stmt__init - (PgQuery__DropSubscriptionStmt *message) +void pg_query__create_event_trig_stmt__init + (PgQuery__CreateEventTrigStmt *message) { - static const PgQuery__DropSubscriptionStmt init_value = PG_QUERY__DROP_SUBSCRIPTION_STMT__INIT; + static const PgQuery__CreateEventTrigStmt init_value = PG_QUERY__CREATE_EVENT_TRIG_STMT__INIT; *message = init_value; } -size_t pg_query__drop_subscription_stmt__get_packed_size - (const PgQuery__DropSubscriptionStmt *message) +size_t pg_query__create_event_trig_stmt__get_packed_size + (const PgQuery__CreateEventTrigStmt *message) { - assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__drop_subscription_stmt__pack - (const PgQuery__DropSubscriptionStmt *message, +size_t pg_query__create_event_trig_stmt__pack + (const PgQuery__CreateEventTrigStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__drop_subscription_stmt__pack_to_buffer - (const PgQuery__DropSubscriptionStmt *message, +size_t pg_query__create_event_trig_stmt__pack_to_buffer + (const PgQuery__CreateEventTrigStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DropSubscriptionStmt * - pg_query__drop_subscription_stmt__unpack +PgQuery__CreateEventTrigStmt * + pg_query__create_event_trig_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DropSubscriptionStmt *) - protobuf_c_message_unpack (&pg_query__drop_subscription_stmt__descriptor, + return (PgQuery__CreateEventTrigStmt *) + protobuf_c_message_unpack (&pg_query__create_event_trig_stmt__descriptor, allocator, len, data); } -void pg_query__drop_subscription_stmt__free_unpacked - (PgQuery__DropSubscriptionStmt *message, +void pg_query__create_event_trig_stmt__free_unpacked + (PgQuery__CreateEventTrigStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_event_trig_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_stats_stmt__init - (PgQuery__CreateStatsStmt *message) +void pg_query__alter_event_trig_stmt__init + (PgQuery__AlterEventTrigStmt *message) { - static const PgQuery__CreateStatsStmt init_value = PG_QUERY__CREATE_STATS_STMT__INIT; + static const PgQuery__AlterEventTrigStmt init_value = PG_QUERY__ALTER_EVENT_TRIG_STMT__INIT; *message = init_value; } -size_t pg_query__create_stats_stmt__get_packed_size - (const PgQuery__CreateStatsStmt *message) +size_t pg_query__alter_event_trig_stmt__get_packed_size + (const PgQuery__AlterEventTrigStmt *message) { - assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_stats_stmt__pack - (const PgQuery__CreateStatsStmt *message, +size_t pg_query__alter_event_trig_stmt__pack + (const PgQuery__AlterEventTrigStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_stats_stmt__pack_to_buffer - (const PgQuery__CreateStatsStmt *message, +size_t pg_query__alter_event_trig_stmt__pack_to_buffer + (const PgQuery__AlterEventTrigStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateStatsStmt * - pg_query__create_stats_stmt__unpack +PgQuery__AlterEventTrigStmt * + pg_query__alter_event_trig_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateStatsStmt *) - protobuf_c_message_unpack (&pg_query__create_stats_stmt__descriptor, + return (PgQuery__AlterEventTrigStmt *) + protobuf_c_message_unpack (&pg_query__alter_event_trig_stmt__descriptor, allocator, len, data); } -void pg_query__create_stats_stmt__free_unpacked - (PgQuery__CreateStatsStmt *message, +void pg_query__alter_event_trig_stmt__free_unpacked + (PgQuery__AlterEventTrigStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_event_trig_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_collation_stmt__init - (PgQuery__AlterCollationStmt *message) +void pg_query__create_plang_stmt__init + (PgQuery__CreatePLangStmt *message) { - static const PgQuery__AlterCollationStmt init_value = PG_QUERY__ALTER_COLLATION_STMT__INIT; + static const PgQuery__CreatePLangStmt init_value = PG_QUERY__CREATE_PLANG_STMT__INIT; *message = init_value; } -size_t pg_query__alter_collation_stmt__get_packed_size - (const PgQuery__AlterCollationStmt *message) +size_t pg_query__create_plang_stmt__get_packed_size + (const PgQuery__CreatePLangStmt *message) { - assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_collation_stmt__pack - (const PgQuery__AlterCollationStmt *message, +size_t pg_query__create_plang_stmt__pack + (const PgQuery__CreatePLangStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_collation_stmt__pack_to_buffer - (const PgQuery__AlterCollationStmt *message, +size_t pg_query__create_plang_stmt__pack_to_buffer + (const PgQuery__CreatePLangStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterCollationStmt * - pg_query__alter_collation_stmt__unpack +PgQuery__CreatePLangStmt * + pg_query__create_plang_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterCollationStmt *) - protobuf_c_message_unpack (&pg_query__alter_collation_stmt__descriptor, + return (PgQuery__CreatePLangStmt *) + protobuf_c_message_unpack (&pg_query__create_plang_stmt__descriptor, allocator, len, data); } -void pg_query__alter_collation_stmt__free_unpacked - (PgQuery__AlterCollationStmt *message, +void pg_query__create_plang_stmt__free_unpacked + (PgQuery__CreatePLangStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_collation_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_plang_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__call_stmt__init - (PgQuery__CallStmt *message) +void pg_query__create_role_stmt__init + (PgQuery__CreateRoleStmt *message) { - static const PgQuery__CallStmt init_value = PG_QUERY__CALL_STMT__INIT; + static const PgQuery__CreateRoleStmt init_value = PG_QUERY__CREATE_ROLE_STMT__INIT; *message = init_value; } -size_t pg_query__call_stmt__get_packed_size - (const PgQuery__CallStmt *message) +size_t pg_query__create_role_stmt__get_packed_size + (const PgQuery__CreateRoleStmt *message) { - assert(message->base.descriptor == &pg_query__call_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__call_stmt__pack - (const PgQuery__CallStmt *message, +size_t pg_query__create_role_stmt__pack + (const PgQuery__CreateRoleStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__call_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__call_stmt__pack_to_buffer - (const PgQuery__CallStmt *message, +size_t pg_query__create_role_stmt__pack_to_buffer + (const PgQuery__CreateRoleStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__call_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CallStmt * - pg_query__call_stmt__unpack +PgQuery__CreateRoleStmt * + pg_query__create_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CallStmt *) - protobuf_c_message_unpack (&pg_query__call_stmt__descriptor, - allocator, len, data); + return (PgQuery__CreateRoleStmt *) + protobuf_c_message_unpack (&pg_query__create_role_stmt__descriptor, + allocator, len, data); } -void pg_query__call_stmt__free_unpacked - (PgQuery__CallStmt *message, +void pg_query__create_role_stmt__free_unpacked + (PgQuery__CreateRoleStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__call_stmt__descriptor); + assert(message->base.descriptor == &pg_query__create_role_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__alter_stats_stmt__init - (PgQuery__AlterStatsStmt *message) +void pg_query__alter_role_stmt__init + (PgQuery__AlterRoleStmt *message) { - static const PgQuery__AlterStatsStmt init_value = PG_QUERY__ALTER_STATS_STMT__INIT; + static const PgQuery__AlterRoleStmt init_value = PG_QUERY__ALTER_ROLE_STMT__INIT; *message = init_value; } -size_t pg_query__alter_stats_stmt__get_packed_size - (const PgQuery__AlterStatsStmt *message) +size_t pg_query__alter_role_stmt__get_packed_size + (const PgQuery__AlterRoleStmt *message) { - assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__alter_stats_stmt__pack - (const PgQuery__AlterStatsStmt *message, +size_t pg_query__alter_role_stmt__pack + (const PgQuery__AlterRoleStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__alter_stats_stmt__pack_to_buffer - (const PgQuery__AlterStatsStmt *message, +size_t pg_query__alter_role_stmt__pack_to_buffer + (const PgQuery__AlterRoleStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AlterStatsStmt * - pg_query__alter_stats_stmt__unpack +PgQuery__AlterRoleStmt * + pg_query__alter_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AlterStatsStmt *) - protobuf_c_message_unpack (&pg_query__alter_stats_stmt__descriptor, + return (PgQuery__AlterRoleStmt *) + protobuf_c_message_unpack (&pg_query__alter_role_stmt__descriptor, allocator, len, data); } -void pg_query__alter_stats_stmt__free_unpacked - (PgQuery__AlterStatsStmt *message, +void pg_query__alter_role_stmt__free_unpacked + (PgQuery__AlterRoleStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__a__expr__init - (PgQuery__AExpr *message) +void pg_query__alter_role_set_stmt__init + (PgQuery__AlterRoleSetStmt *message) { - static const PgQuery__AExpr init_value = PG_QUERY__A__EXPR__INIT; + static const PgQuery__AlterRoleSetStmt init_value = PG_QUERY__ALTER_ROLE_SET_STMT__INIT; *message = init_value; } -size_t pg_query__a__expr__get_packed_size - (const PgQuery__AExpr *message) +size_t pg_query__alter_role_set_stmt__get_packed_size + (const PgQuery__AlterRoleSetStmt *message) { - assert(message->base.descriptor == &pg_query__a__expr__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__a__expr__pack - (const PgQuery__AExpr *message, +size_t pg_query__alter_role_set_stmt__pack + (const PgQuery__AlterRoleSetStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__a__expr__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__a__expr__pack_to_buffer - (const PgQuery__AExpr *message, +size_t pg_query__alter_role_set_stmt__pack_to_buffer + (const PgQuery__AlterRoleSetStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__a__expr__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AExpr * - pg_query__a__expr__unpack +PgQuery__AlterRoleSetStmt * + pg_query__alter_role_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AExpr *) - protobuf_c_message_unpack (&pg_query__a__expr__descriptor, + return (PgQuery__AlterRoleSetStmt *) + protobuf_c_message_unpack (&pg_query__alter_role_set_stmt__descriptor, allocator, len, data); } -void pg_query__a__expr__free_unpacked - (PgQuery__AExpr *message, +void pg_query__alter_role_set_stmt__free_unpacked + (PgQuery__AlterRoleSetStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__a__expr__descriptor); + assert(message->base.descriptor == &pg_query__alter_role_set_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__column_ref__init - (PgQuery__ColumnRef *message) +void pg_query__drop_role_stmt__init + (PgQuery__DropRoleStmt *message) { - static const PgQuery__ColumnRef init_value = PG_QUERY__COLUMN_REF__INIT; + static const PgQuery__DropRoleStmt init_value = PG_QUERY__DROP_ROLE_STMT__INIT; *message = init_value; } -size_t pg_query__column_ref__get_packed_size - (const PgQuery__ColumnRef *message) +size_t pg_query__drop_role_stmt__get_packed_size + (const PgQuery__DropRoleStmt *message) { - assert(message->base.descriptor == &pg_query__column_ref__descriptor); + assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__column_ref__pack - (const PgQuery__ColumnRef *message, +size_t pg_query__drop_role_stmt__pack + (const PgQuery__DropRoleStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__column_ref__descriptor); + assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__column_ref__pack_to_buffer - (const PgQuery__ColumnRef *message, +size_t pg_query__drop_role_stmt__pack_to_buffer + (const PgQuery__DropRoleStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__column_ref__descriptor); + assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ColumnRef * - pg_query__column_ref__unpack +PgQuery__DropRoleStmt * + pg_query__drop_role_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ColumnRef *) - protobuf_c_message_unpack (&pg_query__column_ref__descriptor, + return (PgQuery__DropRoleStmt *) + protobuf_c_message_unpack (&pg_query__drop_role_stmt__descriptor, allocator, len, data); } -void pg_query__column_ref__free_unpacked - (PgQuery__ColumnRef *message, +void pg_query__drop_role_stmt__free_unpacked + (PgQuery__DropRoleStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__column_ref__descriptor); + assert(message->base.descriptor == &pg_query__drop_role_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__param_ref__init - (PgQuery__ParamRef *message) +void pg_query__create_seq_stmt__init + (PgQuery__CreateSeqStmt *message) { - static const PgQuery__ParamRef init_value = PG_QUERY__PARAM_REF__INIT; + static const PgQuery__CreateSeqStmt init_value = PG_QUERY__CREATE_SEQ_STMT__INIT; *message = init_value; } -size_t pg_query__param_ref__get_packed_size - (const PgQuery__ParamRef *message) +size_t pg_query__create_seq_stmt__get_packed_size + (const PgQuery__CreateSeqStmt *message) { - assert(message->base.descriptor == &pg_query__param_ref__descriptor); + assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__param_ref__pack - (const PgQuery__ParamRef *message, +size_t pg_query__create_seq_stmt__pack + (const PgQuery__CreateSeqStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__param_ref__descriptor); + assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__param_ref__pack_to_buffer - (const PgQuery__ParamRef *message, +size_t pg_query__create_seq_stmt__pack_to_buffer + (const PgQuery__CreateSeqStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__param_ref__descriptor); + assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ParamRef * - pg_query__param_ref__unpack +PgQuery__CreateSeqStmt * + pg_query__create_seq_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ParamRef *) - protobuf_c_message_unpack (&pg_query__param_ref__descriptor, + return (PgQuery__CreateSeqStmt *) + protobuf_c_message_unpack (&pg_query__create_seq_stmt__descriptor, allocator, len, data); } -void pg_query__param_ref__free_unpacked - (PgQuery__ParamRef *message, +void pg_query__create_seq_stmt__free_unpacked + (PgQuery__CreateSeqStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__param_ref__descriptor); + assert(message->base.descriptor == &pg_query__create_seq_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__func_call__init - (PgQuery__FuncCall *message) +void pg_query__alter_seq_stmt__init + (PgQuery__AlterSeqStmt *message) { - static const PgQuery__FuncCall init_value = PG_QUERY__FUNC_CALL__INIT; + static const PgQuery__AlterSeqStmt init_value = PG_QUERY__ALTER_SEQ_STMT__INIT; *message = init_value; } -size_t pg_query__func_call__get_packed_size - (const PgQuery__FuncCall *message) +size_t pg_query__alter_seq_stmt__get_packed_size + (const PgQuery__AlterSeqStmt *message) { - assert(message->base.descriptor == &pg_query__func_call__descriptor); + assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__func_call__pack - (const PgQuery__FuncCall *message, +size_t pg_query__alter_seq_stmt__pack + (const PgQuery__AlterSeqStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__func_call__descriptor); + assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__func_call__pack_to_buffer - (const PgQuery__FuncCall *message, +size_t pg_query__alter_seq_stmt__pack_to_buffer + (const PgQuery__AlterSeqStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__func_call__descriptor); + assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__FuncCall * - pg_query__func_call__unpack +PgQuery__AlterSeqStmt * + pg_query__alter_seq_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__FuncCall *) - protobuf_c_message_unpack (&pg_query__func_call__descriptor, + return (PgQuery__AlterSeqStmt *) + protobuf_c_message_unpack (&pg_query__alter_seq_stmt__descriptor, allocator, len, data); } -void pg_query__func_call__free_unpacked - (PgQuery__FuncCall *message, +void pg_query__alter_seq_stmt__free_unpacked + (PgQuery__AlterSeqStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__func_call__descriptor); + assert(message->base.descriptor == &pg_query__alter_seq_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__a__star__init - (PgQuery__AStar *message) +void pg_query__define_stmt__init + (PgQuery__DefineStmt *message) { - static const PgQuery__AStar init_value = PG_QUERY__A__STAR__INIT; + static const PgQuery__DefineStmt init_value = PG_QUERY__DEFINE_STMT__INIT; *message = init_value; } -size_t pg_query__a__star__get_packed_size - (const PgQuery__AStar *message) +size_t pg_query__define_stmt__get_packed_size + (const PgQuery__DefineStmt *message) { - assert(message->base.descriptor == &pg_query__a__star__descriptor); + assert(message->base.descriptor == &pg_query__define_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__a__star__pack - (const PgQuery__AStar *message, +size_t pg_query__define_stmt__pack + (const PgQuery__DefineStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__a__star__descriptor); + assert(message->base.descriptor == &pg_query__define_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__a__star__pack_to_buffer - (const PgQuery__AStar *message, +size_t pg_query__define_stmt__pack_to_buffer + (const PgQuery__DefineStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__a__star__descriptor); + assert(message->base.descriptor == &pg_query__define_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AStar * - pg_query__a__star__unpack +PgQuery__DefineStmt * + pg_query__define_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AStar *) - protobuf_c_message_unpack (&pg_query__a__star__descriptor, + return (PgQuery__DefineStmt *) + protobuf_c_message_unpack (&pg_query__define_stmt__descriptor, allocator, len, data); } -void pg_query__a__star__free_unpacked - (PgQuery__AStar *message, +void pg_query__define_stmt__free_unpacked + (PgQuery__DefineStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__a__star__descriptor); + assert(message->base.descriptor == &pg_query__define_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__a__indices__init - (PgQuery__AIndices *message) +void pg_query__create_domain_stmt__init + (PgQuery__CreateDomainStmt *message) { - static const PgQuery__AIndices init_value = PG_QUERY__A__INDICES__INIT; + static const PgQuery__CreateDomainStmt init_value = PG_QUERY__CREATE_DOMAIN_STMT__INIT; *message = init_value; } -size_t pg_query__a__indices__get_packed_size - (const PgQuery__AIndices *message) +size_t pg_query__create_domain_stmt__get_packed_size + (const PgQuery__CreateDomainStmt *message) { - assert(message->base.descriptor == &pg_query__a__indices__descriptor); + assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__a__indices__pack - (const PgQuery__AIndices *message, +size_t pg_query__create_domain_stmt__pack + (const PgQuery__CreateDomainStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__a__indices__descriptor); + assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__a__indices__pack_to_buffer - (const PgQuery__AIndices *message, +size_t pg_query__create_domain_stmt__pack_to_buffer + (const PgQuery__CreateDomainStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__a__indices__descriptor); + assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AIndices * - pg_query__a__indices__unpack +PgQuery__CreateDomainStmt * + pg_query__create_domain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AIndices *) - protobuf_c_message_unpack (&pg_query__a__indices__descriptor, + return (PgQuery__CreateDomainStmt *) + protobuf_c_message_unpack (&pg_query__create_domain_stmt__descriptor, allocator, len, data); } -void pg_query__a__indices__free_unpacked - (PgQuery__AIndices *message, +void pg_query__create_domain_stmt__free_unpacked + (PgQuery__CreateDomainStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__a__indices__descriptor); + assert(message->base.descriptor == &pg_query__create_domain_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__a__indirection__init - (PgQuery__AIndirection *message) +void pg_query__create_op_class_stmt__init + (PgQuery__CreateOpClassStmt *message) { - static const PgQuery__AIndirection init_value = PG_QUERY__A__INDIRECTION__INIT; + static const PgQuery__CreateOpClassStmt init_value = PG_QUERY__CREATE_OP_CLASS_STMT__INIT; *message = init_value; } -size_t pg_query__a__indirection__get_packed_size - (const PgQuery__AIndirection *message) +size_t pg_query__create_op_class_stmt__get_packed_size + (const PgQuery__CreateOpClassStmt *message) { - assert(message->base.descriptor == &pg_query__a__indirection__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__a__indirection__pack - (const PgQuery__AIndirection *message, +size_t pg_query__create_op_class_stmt__pack + (const PgQuery__CreateOpClassStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__a__indirection__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__a__indirection__pack_to_buffer - (const PgQuery__AIndirection *message, +size_t pg_query__create_op_class_stmt__pack_to_buffer + (const PgQuery__CreateOpClassStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__a__indirection__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AIndirection * - pg_query__a__indirection__unpack +PgQuery__CreateOpClassStmt * + pg_query__create_op_class_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AIndirection *) - protobuf_c_message_unpack (&pg_query__a__indirection__descriptor, + return (PgQuery__CreateOpClassStmt *) + protobuf_c_message_unpack (&pg_query__create_op_class_stmt__descriptor, allocator, len, data); } -void pg_query__a__indirection__free_unpacked - (PgQuery__AIndirection *message, +void pg_query__create_op_class_stmt__free_unpacked + (PgQuery__CreateOpClassStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__a__indirection__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__a__array_expr__init - (PgQuery__AArrayExpr *message) +void pg_query__create_op_class_item__init + (PgQuery__CreateOpClassItem *message) { - static const PgQuery__AArrayExpr init_value = PG_QUERY__A__ARRAY_EXPR__INIT; + static const PgQuery__CreateOpClassItem init_value = PG_QUERY__CREATE_OP_CLASS_ITEM__INIT; *message = init_value; } -size_t pg_query__a__array_expr__get_packed_size - (const PgQuery__AArrayExpr *message) +size_t pg_query__create_op_class_item__get_packed_size + (const PgQuery__CreateOpClassItem *message) { - assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__a__array_expr__pack - (const PgQuery__AArrayExpr *message, +size_t pg_query__create_op_class_item__pack + (const PgQuery__CreateOpClassItem *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__a__array_expr__pack_to_buffer - (const PgQuery__AArrayExpr *message, +size_t pg_query__create_op_class_item__pack_to_buffer + (const PgQuery__CreateOpClassItem *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AArrayExpr * - pg_query__a__array_expr__unpack +PgQuery__CreateOpClassItem * + pg_query__create_op_class_item__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AArrayExpr *) - protobuf_c_message_unpack (&pg_query__a__array_expr__descriptor, + return (PgQuery__CreateOpClassItem *) + protobuf_c_message_unpack (&pg_query__create_op_class_item__descriptor, allocator, len, data); } -void pg_query__a__array_expr__free_unpacked - (PgQuery__AArrayExpr *message, +void pg_query__create_op_class_item__free_unpacked + (PgQuery__CreateOpClassItem *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__a__array_expr__descriptor); + assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__res_target__init - (PgQuery__ResTarget *message) +void pg_query__create_op_family_stmt__init + (PgQuery__CreateOpFamilyStmt *message) { - static const PgQuery__ResTarget init_value = PG_QUERY__RES_TARGET__INIT; + static const PgQuery__CreateOpFamilyStmt init_value = PG_QUERY__CREATE_OP_FAMILY_STMT__INIT; *message = init_value; } -size_t pg_query__res_target__get_packed_size - (const PgQuery__ResTarget *message) +size_t pg_query__create_op_family_stmt__get_packed_size + (const PgQuery__CreateOpFamilyStmt *message) { - assert(message->base.descriptor == &pg_query__res_target__descriptor); + assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__res_target__pack - (const PgQuery__ResTarget *message, +size_t pg_query__create_op_family_stmt__pack + (const PgQuery__CreateOpFamilyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__res_target__descriptor); + assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__res_target__pack_to_buffer - (const PgQuery__ResTarget *message, +size_t pg_query__create_op_family_stmt__pack_to_buffer + (const PgQuery__CreateOpFamilyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__res_target__descriptor); + assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ResTarget * - pg_query__res_target__unpack +PgQuery__CreateOpFamilyStmt * + pg_query__create_op_family_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ResTarget *) - protobuf_c_message_unpack (&pg_query__res_target__descriptor, + return (PgQuery__CreateOpFamilyStmt *) + protobuf_c_message_unpack (&pg_query__create_op_family_stmt__descriptor, allocator, len, data); } -void pg_query__res_target__free_unpacked - (PgQuery__ResTarget *message, +void pg_query__create_op_family_stmt__free_unpacked + (PgQuery__CreateOpFamilyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__res_target__descriptor); + assert(message->base.descriptor == &pg_query__create_op_family_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__multi_assign_ref__init - (PgQuery__MultiAssignRef *message) +void pg_query__alter_op_family_stmt__init + (PgQuery__AlterOpFamilyStmt *message) { - static const PgQuery__MultiAssignRef init_value = PG_QUERY__MULTI_ASSIGN_REF__INIT; + static const PgQuery__AlterOpFamilyStmt init_value = PG_QUERY__ALTER_OP_FAMILY_STMT__INIT; *message = init_value; } -size_t pg_query__multi_assign_ref__get_packed_size - (const PgQuery__MultiAssignRef *message) +size_t pg_query__alter_op_family_stmt__get_packed_size + (const PgQuery__AlterOpFamilyStmt *message) { - assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); + assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__multi_assign_ref__pack - (const PgQuery__MultiAssignRef *message, +size_t pg_query__alter_op_family_stmt__pack + (const PgQuery__AlterOpFamilyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); + assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__multi_assign_ref__pack_to_buffer - (const PgQuery__MultiAssignRef *message, +size_t pg_query__alter_op_family_stmt__pack_to_buffer + (const PgQuery__AlterOpFamilyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); + assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__MultiAssignRef * - pg_query__multi_assign_ref__unpack +PgQuery__AlterOpFamilyStmt * + pg_query__alter_op_family_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__MultiAssignRef *) - protobuf_c_message_unpack (&pg_query__multi_assign_ref__descriptor, + return (PgQuery__AlterOpFamilyStmt *) + protobuf_c_message_unpack (&pg_query__alter_op_family_stmt__descriptor, allocator, len, data); } -void pg_query__multi_assign_ref__free_unpacked - (PgQuery__MultiAssignRef *message, +void pg_query__alter_op_family_stmt__free_unpacked + (PgQuery__AlterOpFamilyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__multi_assign_ref__descriptor); + assert(message->base.descriptor == &pg_query__alter_op_family_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__type_cast__init - (PgQuery__TypeCast *message) +void pg_query__drop_stmt__init + (PgQuery__DropStmt *message) { - static const PgQuery__TypeCast init_value = PG_QUERY__TYPE_CAST__INIT; + static const PgQuery__DropStmt init_value = PG_QUERY__DROP_STMT__INIT; *message = init_value; } -size_t pg_query__type_cast__get_packed_size - (const PgQuery__TypeCast *message) +size_t pg_query__drop_stmt__get_packed_size + (const PgQuery__DropStmt *message) { - assert(message->base.descriptor == &pg_query__type_cast__descriptor); + assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__type_cast__pack - (const PgQuery__TypeCast *message, +size_t pg_query__drop_stmt__pack + (const PgQuery__DropStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__type_cast__descriptor); + assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__type_cast__pack_to_buffer - (const PgQuery__TypeCast *message, +size_t pg_query__drop_stmt__pack_to_buffer + (const PgQuery__DropStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__type_cast__descriptor); + assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TypeCast * - pg_query__type_cast__unpack +PgQuery__DropStmt * + pg_query__drop_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TypeCast *) - protobuf_c_message_unpack (&pg_query__type_cast__descriptor, + return (PgQuery__DropStmt *) + protobuf_c_message_unpack (&pg_query__drop_stmt__descriptor, allocator, len, data); } -void pg_query__type_cast__free_unpacked - (PgQuery__TypeCast *message, +void pg_query__drop_stmt__free_unpacked + (PgQuery__DropStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__type_cast__descriptor); + assert(message->base.descriptor == &pg_query__drop_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__collate_clause__init - (PgQuery__CollateClause *message) +void pg_query__truncate_stmt__init + (PgQuery__TruncateStmt *message) { - static const PgQuery__CollateClause init_value = PG_QUERY__COLLATE_CLAUSE__INIT; + static const PgQuery__TruncateStmt init_value = PG_QUERY__TRUNCATE_STMT__INIT; *message = init_value; } -size_t pg_query__collate_clause__get_packed_size - (const PgQuery__CollateClause *message) +size_t pg_query__truncate_stmt__get_packed_size + (const PgQuery__TruncateStmt *message) { - assert(message->base.descriptor == &pg_query__collate_clause__descriptor); + assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__collate_clause__pack - (const PgQuery__CollateClause *message, +size_t pg_query__truncate_stmt__pack + (const PgQuery__TruncateStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__collate_clause__descriptor); + assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__collate_clause__pack_to_buffer - (const PgQuery__CollateClause *message, +size_t pg_query__truncate_stmt__pack_to_buffer + (const PgQuery__TruncateStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__collate_clause__descriptor); + assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CollateClause * - pg_query__collate_clause__unpack +PgQuery__TruncateStmt * + pg_query__truncate_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CollateClause *) - protobuf_c_message_unpack (&pg_query__collate_clause__descriptor, + return (PgQuery__TruncateStmt *) + protobuf_c_message_unpack (&pg_query__truncate_stmt__descriptor, allocator, len, data); } -void pg_query__collate_clause__free_unpacked - (PgQuery__CollateClause *message, +void pg_query__truncate_stmt__free_unpacked + (PgQuery__TruncateStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__collate_clause__descriptor); + assert(message->base.descriptor == &pg_query__truncate_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__sort_by__init - (PgQuery__SortBy *message) +void pg_query__comment_stmt__init + (PgQuery__CommentStmt *message) { - static const PgQuery__SortBy init_value = PG_QUERY__SORT_BY__INIT; + static const PgQuery__CommentStmt init_value = PG_QUERY__COMMENT_STMT__INIT; *message = init_value; } -size_t pg_query__sort_by__get_packed_size - (const PgQuery__SortBy *message) -{ - assert(message->base.descriptor == &pg_query__sort_by__descriptor); +size_t pg_query__comment_stmt__get_packed_size + (const PgQuery__CommentStmt *message) +{ + assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__sort_by__pack - (const PgQuery__SortBy *message, +size_t pg_query__comment_stmt__pack + (const PgQuery__CommentStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__sort_by__descriptor); + assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__sort_by__pack_to_buffer - (const PgQuery__SortBy *message, +size_t pg_query__comment_stmt__pack_to_buffer + (const PgQuery__CommentStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__sort_by__descriptor); + assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__SortBy * - pg_query__sort_by__unpack +PgQuery__CommentStmt * + pg_query__comment_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__SortBy *) - protobuf_c_message_unpack (&pg_query__sort_by__descriptor, + return (PgQuery__CommentStmt *) + protobuf_c_message_unpack (&pg_query__comment_stmt__descriptor, allocator, len, data); } -void pg_query__sort_by__free_unpacked - (PgQuery__SortBy *message, +void pg_query__comment_stmt__free_unpacked + (PgQuery__CommentStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__sort_by__descriptor); + assert(message->base.descriptor == &pg_query__comment_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__window_def__init - (PgQuery__WindowDef *message) +void pg_query__sec_label_stmt__init + (PgQuery__SecLabelStmt *message) { - static const PgQuery__WindowDef init_value = PG_QUERY__WINDOW_DEF__INIT; + static const PgQuery__SecLabelStmt init_value = PG_QUERY__SEC_LABEL_STMT__INIT; *message = init_value; } -size_t pg_query__window_def__get_packed_size - (const PgQuery__WindowDef *message) +size_t pg_query__sec_label_stmt__get_packed_size + (const PgQuery__SecLabelStmt *message) { - assert(message->base.descriptor == &pg_query__window_def__descriptor); + assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__window_def__pack - (const PgQuery__WindowDef *message, +size_t pg_query__sec_label_stmt__pack + (const PgQuery__SecLabelStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__window_def__descriptor); + assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__window_def__pack_to_buffer - (const PgQuery__WindowDef *message, +size_t pg_query__sec_label_stmt__pack_to_buffer + (const PgQuery__SecLabelStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__window_def__descriptor); + assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__WindowDef * - pg_query__window_def__unpack +PgQuery__SecLabelStmt * + pg_query__sec_label_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__WindowDef *) - protobuf_c_message_unpack (&pg_query__window_def__descriptor, + return (PgQuery__SecLabelStmt *) + protobuf_c_message_unpack (&pg_query__sec_label_stmt__descriptor, allocator, len, data); } -void pg_query__window_def__free_unpacked - (PgQuery__WindowDef *message, +void pg_query__sec_label_stmt__free_unpacked + (PgQuery__SecLabelStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__window_def__descriptor); + assert(message->base.descriptor == &pg_query__sec_label_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_subselect__init - (PgQuery__RangeSubselect *message) +void pg_query__declare_cursor_stmt__init + (PgQuery__DeclareCursorStmt *message) { - static const PgQuery__RangeSubselect init_value = PG_QUERY__RANGE_SUBSELECT__INIT; + static const PgQuery__DeclareCursorStmt init_value = PG_QUERY__DECLARE_CURSOR_STMT__INIT; *message = init_value; } -size_t pg_query__range_subselect__get_packed_size - (const PgQuery__RangeSubselect *message) +size_t pg_query__declare_cursor_stmt__get_packed_size + (const PgQuery__DeclareCursorStmt *message) { - assert(message->base.descriptor == &pg_query__range_subselect__descriptor); + assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_subselect__pack - (const PgQuery__RangeSubselect *message, +size_t pg_query__declare_cursor_stmt__pack + (const PgQuery__DeclareCursorStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_subselect__descriptor); + assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_subselect__pack_to_buffer - (const PgQuery__RangeSubselect *message, +size_t pg_query__declare_cursor_stmt__pack_to_buffer + (const PgQuery__DeclareCursorStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_subselect__descriptor); + assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeSubselect * - pg_query__range_subselect__unpack +PgQuery__DeclareCursorStmt * + pg_query__declare_cursor_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeSubselect *) - protobuf_c_message_unpack (&pg_query__range_subselect__descriptor, + return (PgQuery__DeclareCursorStmt *) + protobuf_c_message_unpack (&pg_query__declare_cursor_stmt__descriptor, allocator, len, data); } -void pg_query__range_subselect__free_unpacked - (PgQuery__RangeSubselect *message, +void pg_query__declare_cursor_stmt__free_unpacked + (PgQuery__DeclareCursorStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_subselect__descriptor); + assert(message->base.descriptor == &pg_query__declare_cursor_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_function__init - (PgQuery__RangeFunction *message) +void pg_query__close_portal_stmt__init + (PgQuery__ClosePortalStmt *message) { - static const PgQuery__RangeFunction init_value = PG_QUERY__RANGE_FUNCTION__INIT; + static const PgQuery__ClosePortalStmt init_value = PG_QUERY__CLOSE_PORTAL_STMT__INIT; *message = init_value; } -size_t pg_query__range_function__get_packed_size - (const PgQuery__RangeFunction *message) +size_t pg_query__close_portal_stmt__get_packed_size + (const PgQuery__ClosePortalStmt *message) { - assert(message->base.descriptor == &pg_query__range_function__descriptor); + assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_function__pack - (const PgQuery__RangeFunction *message, +size_t pg_query__close_portal_stmt__pack + (const PgQuery__ClosePortalStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_function__descriptor); + assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_function__pack_to_buffer - (const PgQuery__RangeFunction *message, +size_t pg_query__close_portal_stmt__pack_to_buffer + (const PgQuery__ClosePortalStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_function__descriptor); + assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeFunction * - pg_query__range_function__unpack +PgQuery__ClosePortalStmt * + pg_query__close_portal_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeFunction *) - protobuf_c_message_unpack (&pg_query__range_function__descriptor, + return (PgQuery__ClosePortalStmt *) + protobuf_c_message_unpack (&pg_query__close_portal_stmt__descriptor, allocator, len, data); } -void pg_query__range_function__free_unpacked - (PgQuery__RangeFunction *message, +void pg_query__close_portal_stmt__free_unpacked + (PgQuery__ClosePortalStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_function__descriptor); + assert(message->base.descriptor == &pg_query__close_portal_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_table_sample__init - (PgQuery__RangeTableSample *message) +void pg_query__fetch_stmt__init + (PgQuery__FetchStmt *message) { - static const PgQuery__RangeTableSample init_value = PG_QUERY__RANGE_TABLE_SAMPLE__INIT; + static const PgQuery__FetchStmt init_value = PG_QUERY__FETCH_STMT__INIT; *message = init_value; } -size_t pg_query__range_table_sample__get_packed_size - (const PgQuery__RangeTableSample *message) +size_t pg_query__fetch_stmt__get_packed_size + (const PgQuery__FetchStmt *message) { - assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); + assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_table_sample__pack - (const PgQuery__RangeTableSample *message, +size_t pg_query__fetch_stmt__pack + (const PgQuery__FetchStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); + assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_table_sample__pack_to_buffer - (const PgQuery__RangeTableSample *message, +size_t pg_query__fetch_stmt__pack_to_buffer + (const PgQuery__FetchStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); + assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeTableSample * - pg_query__range_table_sample__unpack +PgQuery__FetchStmt * + pg_query__fetch_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeTableSample *) - protobuf_c_message_unpack (&pg_query__range_table_sample__descriptor, + return (PgQuery__FetchStmt *) + protobuf_c_message_unpack (&pg_query__fetch_stmt__descriptor, allocator, len, data); } -void pg_query__range_table_sample__free_unpacked - (PgQuery__RangeTableSample *message, +void pg_query__fetch_stmt__free_unpacked + (PgQuery__FetchStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_table_sample__descriptor); + assert(message->base.descriptor == &pg_query__fetch_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_table_func__init - (PgQuery__RangeTableFunc *message) +void pg_query__index_stmt__init + (PgQuery__IndexStmt *message) { - static const PgQuery__RangeTableFunc init_value = PG_QUERY__RANGE_TABLE_FUNC__INIT; + static const PgQuery__IndexStmt init_value = PG_QUERY__INDEX_STMT__INIT; *message = init_value; } -size_t pg_query__range_table_func__get_packed_size - (const PgQuery__RangeTableFunc *message) +size_t pg_query__index_stmt__get_packed_size + (const PgQuery__IndexStmt *message) { - assert(message->base.descriptor == &pg_query__range_table_func__descriptor); + assert(message->base.descriptor == &pg_query__index_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_table_func__pack - (const PgQuery__RangeTableFunc *message, +size_t pg_query__index_stmt__pack + (const PgQuery__IndexStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_table_func__descriptor); + assert(message->base.descriptor == &pg_query__index_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_table_func__pack_to_buffer - (const PgQuery__RangeTableFunc *message, +size_t pg_query__index_stmt__pack_to_buffer + (const PgQuery__IndexStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_table_func__descriptor); + assert(message->base.descriptor == &pg_query__index_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeTableFunc * - pg_query__range_table_func__unpack +PgQuery__IndexStmt * + pg_query__index_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeTableFunc *) - protobuf_c_message_unpack (&pg_query__range_table_func__descriptor, + return (PgQuery__IndexStmt *) + protobuf_c_message_unpack (&pg_query__index_stmt__descriptor, allocator, len, data); } -void pg_query__range_table_func__free_unpacked - (PgQuery__RangeTableFunc *message, +void pg_query__index_stmt__free_unpacked + (PgQuery__IndexStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_table_func__descriptor); + assert(message->base.descriptor == &pg_query__index_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_table_func_col__init - (PgQuery__RangeTableFuncCol *message) +void pg_query__create_stats_stmt__init + (PgQuery__CreateStatsStmt *message) { - static const PgQuery__RangeTableFuncCol init_value = PG_QUERY__RANGE_TABLE_FUNC_COL__INIT; + static const PgQuery__CreateStatsStmt init_value = PG_QUERY__CREATE_STATS_STMT__INIT; *message = init_value; } -size_t pg_query__range_table_func_col__get_packed_size - (const PgQuery__RangeTableFuncCol *message) +size_t pg_query__create_stats_stmt__get_packed_size + (const PgQuery__CreateStatsStmt *message) { - assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); + assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_table_func_col__pack - (const PgQuery__RangeTableFuncCol *message, +size_t pg_query__create_stats_stmt__pack + (const PgQuery__CreateStatsStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); + assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_table_func_col__pack_to_buffer - (const PgQuery__RangeTableFuncCol *message, +size_t pg_query__create_stats_stmt__pack_to_buffer + (const PgQuery__CreateStatsStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); + assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeTableFuncCol * - pg_query__range_table_func_col__unpack +PgQuery__CreateStatsStmt * + pg_query__create_stats_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeTableFuncCol *) - protobuf_c_message_unpack (&pg_query__range_table_func_col__descriptor, + return (PgQuery__CreateStatsStmt *) + protobuf_c_message_unpack (&pg_query__create_stats_stmt__descriptor, allocator, len, data); } -void pg_query__range_table_func_col__free_unpacked - (PgQuery__RangeTableFuncCol *message, +void pg_query__create_stats_stmt__free_unpacked + (PgQuery__CreateStatsStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_table_func_col__descriptor); + assert(message->base.descriptor == &pg_query__create_stats_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__type_name__init - (PgQuery__TypeName *message) +void pg_query__stats_elem__init + (PgQuery__StatsElem *message) { - static const PgQuery__TypeName init_value = PG_QUERY__TYPE_NAME__INIT; + static const PgQuery__StatsElem init_value = PG_QUERY__STATS_ELEM__INIT; *message = init_value; } -size_t pg_query__type_name__get_packed_size - (const PgQuery__TypeName *message) +size_t pg_query__stats_elem__get_packed_size + (const PgQuery__StatsElem *message) { - assert(message->base.descriptor == &pg_query__type_name__descriptor); + assert(message->base.descriptor == &pg_query__stats_elem__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__type_name__pack - (const PgQuery__TypeName *message, +size_t pg_query__stats_elem__pack + (const PgQuery__StatsElem *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__type_name__descriptor); + assert(message->base.descriptor == &pg_query__stats_elem__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__type_name__pack_to_buffer - (const PgQuery__TypeName *message, +size_t pg_query__stats_elem__pack_to_buffer + (const PgQuery__StatsElem *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__type_name__descriptor); + assert(message->base.descriptor == &pg_query__stats_elem__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TypeName * - pg_query__type_name__unpack +PgQuery__StatsElem * + pg_query__stats_elem__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TypeName *) - protobuf_c_message_unpack (&pg_query__type_name__descriptor, + return (PgQuery__StatsElem *) + protobuf_c_message_unpack (&pg_query__stats_elem__descriptor, allocator, len, data); } -void pg_query__type_name__free_unpacked - (PgQuery__TypeName *message, +void pg_query__stats_elem__free_unpacked + (PgQuery__StatsElem *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__type_name__descriptor); + assert(message->base.descriptor == &pg_query__stats_elem__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__column_def__init - (PgQuery__ColumnDef *message) +void pg_query__alter_stats_stmt__init + (PgQuery__AlterStatsStmt *message) { - static const PgQuery__ColumnDef init_value = PG_QUERY__COLUMN_DEF__INIT; + static const PgQuery__AlterStatsStmt init_value = PG_QUERY__ALTER_STATS_STMT__INIT; *message = init_value; } -size_t pg_query__column_def__get_packed_size - (const PgQuery__ColumnDef *message) +size_t pg_query__alter_stats_stmt__get_packed_size + (const PgQuery__AlterStatsStmt *message) { - assert(message->base.descriptor == &pg_query__column_def__descriptor); + assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__column_def__pack - (const PgQuery__ColumnDef *message, +size_t pg_query__alter_stats_stmt__pack + (const PgQuery__AlterStatsStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__column_def__descriptor); + assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__column_def__pack_to_buffer - (const PgQuery__ColumnDef *message, +size_t pg_query__alter_stats_stmt__pack_to_buffer + (const PgQuery__AlterStatsStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__column_def__descriptor); + assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ColumnDef * - pg_query__column_def__unpack +PgQuery__AlterStatsStmt * + pg_query__alter_stats_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ColumnDef *) - protobuf_c_message_unpack (&pg_query__column_def__descriptor, + return (PgQuery__AlterStatsStmt *) + protobuf_c_message_unpack (&pg_query__alter_stats_stmt__descriptor, allocator, len, data); } -void pg_query__column_def__free_unpacked - (PgQuery__ColumnDef *message, +void pg_query__alter_stats_stmt__free_unpacked + (PgQuery__AlterStatsStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__column_def__descriptor); + assert(message->base.descriptor == &pg_query__alter_stats_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__index_elem__init - (PgQuery__IndexElem *message) +void pg_query__create_function_stmt__init + (PgQuery__CreateFunctionStmt *message) { - static const PgQuery__IndexElem init_value = PG_QUERY__INDEX_ELEM__INIT; + static const PgQuery__CreateFunctionStmt init_value = PG_QUERY__CREATE_FUNCTION_STMT__INIT; *message = init_value; } -size_t pg_query__index_elem__get_packed_size - (const PgQuery__IndexElem *message) +size_t pg_query__create_function_stmt__get_packed_size + (const PgQuery__CreateFunctionStmt *message) { - assert(message->base.descriptor == &pg_query__index_elem__descriptor); + assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__index_elem__pack - (const PgQuery__IndexElem *message, +size_t pg_query__create_function_stmt__pack + (const PgQuery__CreateFunctionStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__index_elem__descriptor); + assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__index_elem__pack_to_buffer - (const PgQuery__IndexElem *message, +size_t pg_query__create_function_stmt__pack_to_buffer + (const PgQuery__CreateFunctionStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__index_elem__descriptor); + assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__IndexElem * - pg_query__index_elem__unpack +PgQuery__CreateFunctionStmt * + pg_query__create_function_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__IndexElem *) - protobuf_c_message_unpack (&pg_query__index_elem__descriptor, + return (PgQuery__CreateFunctionStmt *) + protobuf_c_message_unpack (&pg_query__create_function_stmt__descriptor, allocator, len, data); } -void pg_query__index_elem__free_unpacked - (PgQuery__IndexElem *message, +void pg_query__create_function_stmt__free_unpacked + (PgQuery__CreateFunctionStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__index_elem__descriptor); + assert(message->base.descriptor == &pg_query__create_function_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__stats_elem__init - (PgQuery__StatsElem *message) +void pg_query__function_parameter__init + (PgQuery__FunctionParameter *message) { - static const PgQuery__StatsElem init_value = PG_QUERY__STATS_ELEM__INIT; + static const PgQuery__FunctionParameter init_value = PG_QUERY__FUNCTION_PARAMETER__INIT; *message = init_value; } -size_t pg_query__stats_elem__get_packed_size - (const PgQuery__StatsElem *message) +size_t pg_query__function_parameter__get_packed_size + (const PgQuery__FunctionParameter *message) { - assert(message->base.descriptor == &pg_query__stats_elem__descriptor); + assert(message->base.descriptor == &pg_query__function_parameter__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__stats_elem__pack - (const PgQuery__StatsElem *message, +size_t pg_query__function_parameter__pack + (const PgQuery__FunctionParameter *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__stats_elem__descriptor); + assert(message->base.descriptor == &pg_query__function_parameter__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__stats_elem__pack_to_buffer - (const PgQuery__StatsElem *message, +size_t pg_query__function_parameter__pack_to_buffer + (const PgQuery__FunctionParameter *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__stats_elem__descriptor); + assert(message->base.descriptor == &pg_query__function_parameter__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__StatsElem * - pg_query__stats_elem__unpack +PgQuery__FunctionParameter * + pg_query__function_parameter__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__StatsElem *) - protobuf_c_message_unpack (&pg_query__stats_elem__descriptor, + return (PgQuery__FunctionParameter *) + protobuf_c_message_unpack (&pg_query__function_parameter__descriptor, allocator, len, data); } -void pg_query__stats_elem__free_unpacked - (PgQuery__StatsElem *message, +void pg_query__function_parameter__free_unpacked + (PgQuery__FunctionParameter *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__stats_elem__descriptor); + assert(message->base.descriptor == &pg_query__function_parameter__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__constraint__init - (PgQuery__Constraint *message) +void pg_query__alter_function_stmt__init + (PgQuery__AlterFunctionStmt *message) { - static const PgQuery__Constraint init_value = PG_QUERY__CONSTRAINT__INIT; + static const PgQuery__AlterFunctionStmt init_value = PG_QUERY__ALTER_FUNCTION_STMT__INIT; *message = init_value; } -size_t pg_query__constraint__get_packed_size - (const PgQuery__Constraint *message) +size_t pg_query__alter_function_stmt__get_packed_size + (const PgQuery__AlterFunctionStmt *message) { - assert(message->base.descriptor == &pg_query__constraint__descriptor); + assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__constraint__pack - (const PgQuery__Constraint *message, +size_t pg_query__alter_function_stmt__pack + (const PgQuery__AlterFunctionStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__constraint__descriptor); + assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__constraint__pack_to_buffer - (const PgQuery__Constraint *message, +size_t pg_query__alter_function_stmt__pack_to_buffer + (const PgQuery__AlterFunctionStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__constraint__descriptor); + assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__Constraint * - pg_query__constraint__unpack +PgQuery__AlterFunctionStmt * + pg_query__alter_function_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__Constraint *) - protobuf_c_message_unpack (&pg_query__constraint__descriptor, + return (PgQuery__AlterFunctionStmt *) + protobuf_c_message_unpack (&pg_query__alter_function_stmt__descriptor, allocator, len, data); } -void pg_query__constraint__free_unpacked - (PgQuery__Constraint *message, +void pg_query__alter_function_stmt__free_unpacked + (PgQuery__AlterFunctionStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__constraint__descriptor); + assert(message->base.descriptor == &pg_query__alter_function_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__def_elem__init - (PgQuery__DefElem *message) +void pg_query__do_stmt__init + (PgQuery__DoStmt *message) { - static const PgQuery__DefElem init_value = PG_QUERY__DEF_ELEM__INIT; + static const PgQuery__DoStmt init_value = PG_QUERY__DO_STMT__INIT; *message = init_value; } -size_t pg_query__def_elem__get_packed_size - (const PgQuery__DefElem *message) +size_t pg_query__do_stmt__get_packed_size + (const PgQuery__DoStmt *message) { - assert(message->base.descriptor == &pg_query__def_elem__descriptor); + assert(message->base.descriptor == &pg_query__do_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__def_elem__pack - (const PgQuery__DefElem *message, +size_t pg_query__do_stmt__pack + (const PgQuery__DoStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__def_elem__descriptor); + assert(message->base.descriptor == &pg_query__do_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__def_elem__pack_to_buffer - (const PgQuery__DefElem *message, +size_t pg_query__do_stmt__pack_to_buffer + (const PgQuery__DoStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__def_elem__descriptor); + assert(message->base.descriptor == &pg_query__do_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__DefElem * - pg_query__def_elem__unpack +PgQuery__DoStmt * + pg_query__do_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__DefElem *) - protobuf_c_message_unpack (&pg_query__def_elem__descriptor, + return (PgQuery__DoStmt *) + protobuf_c_message_unpack (&pg_query__do_stmt__descriptor, allocator, len, data); } -void pg_query__def_elem__free_unpacked - (PgQuery__DefElem *message, +void pg_query__do_stmt__free_unpacked + (PgQuery__DoStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__def_elem__descriptor); + assert(message->base.descriptor == &pg_query__do_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_tbl_entry__init - (PgQuery__RangeTblEntry *message) +void pg_query__inline_code_block__init + (PgQuery__InlineCodeBlock *message) { - static const PgQuery__RangeTblEntry init_value = PG_QUERY__RANGE_TBL_ENTRY__INIT; + static const PgQuery__InlineCodeBlock init_value = PG_QUERY__INLINE_CODE_BLOCK__INIT; *message = init_value; } -size_t pg_query__range_tbl_entry__get_packed_size - (const PgQuery__RangeTblEntry *message) +size_t pg_query__inline_code_block__get_packed_size + (const PgQuery__InlineCodeBlock *message) { - assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); + assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_tbl_entry__pack - (const PgQuery__RangeTblEntry *message, +size_t pg_query__inline_code_block__pack + (const PgQuery__InlineCodeBlock *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); + assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_tbl_entry__pack_to_buffer - (const PgQuery__RangeTblEntry *message, +size_t pg_query__inline_code_block__pack_to_buffer + (const PgQuery__InlineCodeBlock *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); + assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeTblEntry * - pg_query__range_tbl_entry__unpack +PgQuery__InlineCodeBlock * + pg_query__inline_code_block__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeTblEntry *) - protobuf_c_message_unpack (&pg_query__range_tbl_entry__descriptor, + return (PgQuery__InlineCodeBlock *) + protobuf_c_message_unpack (&pg_query__inline_code_block__descriptor, allocator, len, data); } -void pg_query__range_tbl_entry__free_unpacked - (PgQuery__RangeTblEntry *message, +void pg_query__inline_code_block__free_unpacked + (PgQuery__InlineCodeBlock *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_tbl_entry__descriptor); + assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__range_tbl_function__init - (PgQuery__RangeTblFunction *message) +void pg_query__call_stmt__init + (PgQuery__CallStmt *message) { - static const PgQuery__RangeTblFunction init_value = PG_QUERY__RANGE_TBL_FUNCTION__INIT; + static const PgQuery__CallStmt init_value = PG_QUERY__CALL_STMT__INIT; *message = init_value; } -size_t pg_query__range_tbl_function__get_packed_size - (const PgQuery__RangeTblFunction *message) +size_t pg_query__call_stmt__get_packed_size + (const PgQuery__CallStmt *message) { - assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); + assert(message->base.descriptor == &pg_query__call_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__range_tbl_function__pack - (const PgQuery__RangeTblFunction *message, +size_t pg_query__call_stmt__pack + (const PgQuery__CallStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); + assert(message->base.descriptor == &pg_query__call_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__range_tbl_function__pack_to_buffer - (const PgQuery__RangeTblFunction *message, +size_t pg_query__call_stmt__pack_to_buffer + (const PgQuery__CallStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); + assert(message->base.descriptor == &pg_query__call_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RangeTblFunction * - pg_query__range_tbl_function__unpack +PgQuery__CallStmt * + pg_query__call_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RangeTblFunction *) - protobuf_c_message_unpack (&pg_query__range_tbl_function__descriptor, + return (PgQuery__CallStmt *) + protobuf_c_message_unpack (&pg_query__call_stmt__descriptor, allocator, len, data); } -void pg_query__range_tbl_function__free_unpacked - (PgQuery__RangeTblFunction *message, +void pg_query__call_stmt__free_unpacked + (PgQuery__CallStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__range_tbl_function__descriptor); + assert(message->base.descriptor == &pg_query__call_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__table_sample_clause__init - (PgQuery__TableSampleClause *message) +void pg_query__call_context__init + (PgQuery__CallContext *message) { - static const PgQuery__TableSampleClause init_value = PG_QUERY__TABLE_SAMPLE_CLAUSE__INIT; + static const PgQuery__CallContext init_value = PG_QUERY__CALL_CONTEXT__INIT; *message = init_value; } -size_t pg_query__table_sample_clause__get_packed_size - (const PgQuery__TableSampleClause *message) +size_t pg_query__call_context__get_packed_size + (const PgQuery__CallContext *message) { - assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); + assert(message->base.descriptor == &pg_query__call_context__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__table_sample_clause__pack - (const PgQuery__TableSampleClause *message, +size_t pg_query__call_context__pack + (const PgQuery__CallContext *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); + assert(message->base.descriptor == &pg_query__call_context__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__table_sample_clause__pack_to_buffer - (const PgQuery__TableSampleClause *message, +size_t pg_query__call_context__pack_to_buffer + (const PgQuery__CallContext *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); + assert(message->base.descriptor == &pg_query__call_context__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TableSampleClause * - pg_query__table_sample_clause__unpack +PgQuery__CallContext * + pg_query__call_context__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TableSampleClause *) - protobuf_c_message_unpack (&pg_query__table_sample_clause__descriptor, + return (PgQuery__CallContext *) + protobuf_c_message_unpack (&pg_query__call_context__descriptor, allocator, len, data); } -void pg_query__table_sample_clause__free_unpacked - (PgQuery__TableSampleClause *message, +void pg_query__call_context__free_unpacked + (PgQuery__CallContext *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__table_sample_clause__descriptor); + assert(message->base.descriptor == &pg_query__call_context__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__with_check_option__init - (PgQuery__WithCheckOption *message) +void pg_query__rename_stmt__init + (PgQuery__RenameStmt *message) { - static const PgQuery__WithCheckOption init_value = PG_QUERY__WITH_CHECK_OPTION__INIT; + static const PgQuery__RenameStmt init_value = PG_QUERY__RENAME_STMT__INIT; *message = init_value; } -size_t pg_query__with_check_option__get_packed_size - (const PgQuery__WithCheckOption *message) +size_t pg_query__rename_stmt__get_packed_size + (const PgQuery__RenameStmt *message) { - assert(message->base.descriptor == &pg_query__with_check_option__descriptor); + assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__with_check_option__pack - (const PgQuery__WithCheckOption *message, +size_t pg_query__rename_stmt__pack + (const PgQuery__RenameStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__with_check_option__descriptor); + assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__with_check_option__pack_to_buffer - (const PgQuery__WithCheckOption *message, +size_t pg_query__rename_stmt__pack_to_buffer + (const PgQuery__RenameStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__with_check_option__descriptor); + assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__WithCheckOption * - pg_query__with_check_option__unpack +PgQuery__RenameStmt * + pg_query__rename_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__WithCheckOption *) - protobuf_c_message_unpack (&pg_query__with_check_option__descriptor, + return (PgQuery__RenameStmt *) + protobuf_c_message_unpack (&pg_query__rename_stmt__descriptor, allocator, len, data); } -void pg_query__with_check_option__free_unpacked - (PgQuery__WithCheckOption *message, +void pg_query__rename_stmt__free_unpacked + (PgQuery__RenameStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__with_check_option__descriptor); + assert(message->base.descriptor == &pg_query__rename_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__sort_group_clause__init - (PgQuery__SortGroupClause *message) +void pg_query__alter_object_depends_stmt__init + (PgQuery__AlterObjectDependsStmt *message) { - static const PgQuery__SortGroupClause init_value = PG_QUERY__SORT_GROUP_CLAUSE__INIT; + static const PgQuery__AlterObjectDependsStmt init_value = PG_QUERY__ALTER_OBJECT_DEPENDS_STMT__INIT; *message = init_value; } -size_t pg_query__sort_group_clause__get_packed_size - (const PgQuery__SortGroupClause *message) +size_t pg_query__alter_object_depends_stmt__get_packed_size + (const PgQuery__AlterObjectDependsStmt *message) { - assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__sort_group_clause__pack - (const PgQuery__SortGroupClause *message, +size_t pg_query__alter_object_depends_stmt__pack + (const PgQuery__AlterObjectDependsStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__sort_group_clause__pack_to_buffer - (const PgQuery__SortGroupClause *message, +size_t pg_query__alter_object_depends_stmt__pack_to_buffer + (const PgQuery__AlterObjectDependsStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__SortGroupClause * - pg_query__sort_group_clause__unpack +PgQuery__AlterObjectDependsStmt * + pg_query__alter_object_depends_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__SortGroupClause *) - protobuf_c_message_unpack (&pg_query__sort_group_clause__descriptor, + return (PgQuery__AlterObjectDependsStmt *) + protobuf_c_message_unpack (&pg_query__alter_object_depends_stmt__descriptor, allocator, len, data); } -void pg_query__sort_group_clause__free_unpacked - (PgQuery__SortGroupClause *message, +void pg_query__alter_object_depends_stmt__free_unpacked + (PgQuery__AlterObjectDependsStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__sort_group_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_depends_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__grouping_set__init - (PgQuery__GroupingSet *message) +void pg_query__alter_object_schema_stmt__init + (PgQuery__AlterObjectSchemaStmt *message) { - static const PgQuery__GroupingSet init_value = PG_QUERY__GROUPING_SET__INIT; + static const PgQuery__AlterObjectSchemaStmt init_value = PG_QUERY__ALTER_OBJECT_SCHEMA_STMT__INIT; *message = init_value; } -size_t pg_query__grouping_set__get_packed_size - (const PgQuery__GroupingSet *message) +size_t pg_query__alter_object_schema_stmt__get_packed_size + (const PgQuery__AlterObjectSchemaStmt *message) { - assert(message->base.descriptor == &pg_query__grouping_set__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__grouping_set__pack - (const PgQuery__GroupingSet *message, +size_t pg_query__alter_object_schema_stmt__pack + (const PgQuery__AlterObjectSchemaStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__grouping_set__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__grouping_set__pack_to_buffer - (const PgQuery__GroupingSet *message, +size_t pg_query__alter_object_schema_stmt__pack_to_buffer + (const PgQuery__AlterObjectSchemaStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__grouping_set__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__GroupingSet * - pg_query__grouping_set__unpack +PgQuery__AlterObjectSchemaStmt * + pg_query__alter_object_schema_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__GroupingSet *) - protobuf_c_message_unpack (&pg_query__grouping_set__descriptor, + return (PgQuery__AlterObjectSchemaStmt *) + protobuf_c_message_unpack (&pg_query__alter_object_schema_stmt__descriptor, allocator, len, data); } -void pg_query__grouping_set__free_unpacked - (PgQuery__GroupingSet *message, +void pg_query__alter_object_schema_stmt__free_unpacked + (PgQuery__AlterObjectSchemaStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__grouping_set__descriptor); + assert(message->base.descriptor == &pg_query__alter_object_schema_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__window_clause__init - (PgQuery__WindowClause *message) +void pg_query__alter_owner_stmt__init + (PgQuery__AlterOwnerStmt *message) { - static const PgQuery__WindowClause init_value = PG_QUERY__WINDOW_CLAUSE__INIT; + static const PgQuery__AlterOwnerStmt init_value = PG_QUERY__ALTER_OWNER_STMT__INIT; *message = init_value; } -size_t pg_query__window_clause__get_packed_size - (const PgQuery__WindowClause *message) +size_t pg_query__alter_owner_stmt__get_packed_size + (const PgQuery__AlterOwnerStmt *message) { - assert(message->base.descriptor == &pg_query__window_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__window_clause__pack - (const PgQuery__WindowClause *message, +size_t pg_query__alter_owner_stmt__pack + (const PgQuery__AlterOwnerStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__window_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__window_clause__pack_to_buffer - (const PgQuery__WindowClause *message, +size_t pg_query__alter_owner_stmt__pack_to_buffer + (const PgQuery__AlterOwnerStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__window_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__WindowClause * - pg_query__window_clause__unpack +PgQuery__AlterOwnerStmt * + pg_query__alter_owner_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__WindowClause *) - protobuf_c_message_unpack (&pg_query__window_clause__descriptor, + return (PgQuery__AlterOwnerStmt *) + protobuf_c_message_unpack (&pg_query__alter_owner_stmt__descriptor, allocator, len, data); } -void pg_query__window_clause__free_unpacked - (PgQuery__WindowClause *message, +void pg_query__alter_owner_stmt__free_unpacked + (PgQuery__AlterOwnerStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__window_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_owner_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__object_with_args__init - (PgQuery__ObjectWithArgs *message) +void pg_query__alter_operator_stmt__init + (PgQuery__AlterOperatorStmt *message) { - static const PgQuery__ObjectWithArgs init_value = PG_QUERY__OBJECT_WITH_ARGS__INIT; + static const PgQuery__AlterOperatorStmt init_value = PG_QUERY__ALTER_OPERATOR_STMT__INIT; *message = init_value; } -size_t pg_query__object_with_args__get_packed_size - (const PgQuery__ObjectWithArgs *message) +size_t pg_query__alter_operator_stmt__get_packed_size + (const PgQuery__AlterOperatorStmt *message) { - assert(message->base.descriptor == &pg_query__object_with_args__descriptor); + assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__object_with_args__pack - (const PgQuery__ObjectWithArgs *message, +size_t pg_query__alter_operator_stmt__pack + (const PgQuery__AlterOperatorStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__object_with_args__descriptor); + assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__object_with_args__pack_to_buffer - (const PgQuery__ObjectWithArgs *message, +size_t pg_query__alter_operator_stmt__pack_to_buffer + (const PgQuery__AlterOperatorStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__object_with_args__descriptor); + assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ObjectWithArgs * - pg_query__object_with_args__unpack +PgQuery__AlterOperatorStmt * + pg_query__alter_operator_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ObjectWithArgs *) - protobuf_c_message_unpack (&pg_query__object_with_args__descriptor, + return (PgQuery__AlterOperatorStmt *) + protobuf_c_message_unpack (&pg_query__alter_operator_stmt__descriptor, allocator, len, data); } -void pg_query__object_with_args__free_unpacked - (PgQuery__ObjectWithArgs *message, +void pg_query__alter_operator_stmt__free_unpacked + (PgQuery__AlterOperatorStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__object_with_args__descriptor); + assert(message->base.descriptor == &pg_query__alter_operator_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__access_priv__init - (PgQuery__AccessPriv *message) +void pg_query__alter_type_stmt__init + (PgQuery__AlterTypeStmt *message) { - static const PgQuery__AccessPriv init_value = PG_QUERY__ACCESS_PRIV__INIT; + static const PgQuery__AlterTypeStmt init_value = PG_QUERY__ALTER_TYPE_STMT__INIT; *message = init_value; } -size_t pg_query__access_priv__get_packed_size - (const PgQuery__AccessPriv *message) +size_t pg_query__alter_type_stmt__get_packed_size + (const PgQuery__AlterTypeStmt *message) { - assert(message->base.descriptor == &pg_query__access_priv__descriptor); + assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__access_priv__pack - (const PgQuery__AccessPriv *message, +size_t pg_query__alter_type_stmt__pack + (const PgQuery__AlterTypeStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__access_priv__descriptor); + assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__access_priv__pack_to_buffer - (const PgQuery__AccessPriv *message, +size_t pg_query__alter_type_stmt__pack_to_buffer + (const PgQuery__AlterTypeStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__access_priv__descriptor); + assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__AccessPriv * - pg_query__access_priv__unpack +PgQuery__AlterTypeStmt * + pg_query__alter_type_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__AccessPriv *) - protobuf_c_message_unpack (&pg_query__access_priv__descriptor, + return (PgQuery__AlterTypeStmt *) + protobuf_c_message_unpack (&pg_query__alter_type_stmt__descriptor, allocator, len, data); } -void pg_query__access_priv__free_unpacked - (PgQuery__AccessPriv *message, +void pg_query__alter_type_stmt__free_unpacked + (PgQuery__AlterTypeStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__access_priv__descriptor); + assert(message->base.descriptor == &pg_query__alter_type_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__create_op_class_item__init - (PgQuery__CreateOpClassItem *message) +void pg_query__rule_stmt__init + (PgQuery__RuleStmt *message) { - static const PgQuery__CreateOpClassItem init_value = PG_QUERY__CREATE_OP_CLASS_ITEM__INIT; + static const PgQuery__RuleStmt init_value = PG_QUERY__RULE_STMT__INIT; *message = init_value; } -size_t pg_query__create_op_class_item__get_packed_size - (const PgQuery__CreateOpClassItem *message) +size_t pg_query__rule_stmt__get_packed_size + (const PgQuery__RuleStmt *message) { - assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); + assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__create_op_class_item__pack - (const PgQuery__CreateOpClassItem *message, +size_t pg_query__rule_stmt__pack + (const PgQuery__RuleStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); + assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__create_op_class_item__pack_to_buffer - (const PgQuery__CreateOpClassItem *message, +size_t pg_query__rule_stmt__pack_to_buffer + (const PgQuery__RuleStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); + assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CreateOpClassItem * - pg_query__create_op_class_item__unpack +PgQuery__RuleStmt * + pg_query__rule_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CreateOpClassItem *) - protobuf_c_message_unpack (&pg_query__create_op_class_item__descriptor, + return (PgQuery__RuleStmt *) + protobuf_c_message_unpack (&pg_query__rule_stmt__descriptor, allocator, len, data); } -void pg_query__create_op_class_item__free_unpacked - (PgQuery__CreateOpClassItem *message, +void pg_query__rule_stmt__free_unpacked + (PgQuery__RuleStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__create_op_class_item__descriptor); + assert(message->base.descriptor == &pg_query__rule_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__table_like_clause__init - (PgQuery__TableLikeClause *message) +void pg_query__notify_stmt__init + (PgQuery__NotifyStmt *message) { - static const PgQuery__TableLikeClause init_value = PG_QUERY__TABLE_LIKE_CLAUSE__INIT; + static const PgQuery__NotifyStmt init_value = PG_QUERY__NOTIFY_STMT__INIT; *message = init_value; } -size_t pg_query__table_like_clause__get_packed_size - (const PgQuery__TableLikeClause *message) +size_t pg_query__notify_stmt__get_packed_size + (const PgQuery__NotifyStmt *message) { - assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); + assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__table_like_clause__pack - (const PgQuery__TableLikeClause *message, +size_t pg_query__notify_stmt__pack + (const PgQuery__NotifyStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); + assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__table_like_clause__pack_to_buffer - (const PgQuery__TableLikeClause *message, +size_t pg_query__notify_stmt__pack_to_buffer + (const PgQuery__NotifyStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); + assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TableLikeClause * - pg_query__table_like_clause__unpack +PgQuery__NotifyStmt * + pg_query__notify_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TableLikeClause *) - protobuf_c_message_unpack (&pg_query__table_like_clause__descriptor, + return (PgQuery__NotifyStmt *) + protobuf_c_message_unpack (&pg_query__notify_stmt__descriptor, allocator, len, data); } -void pg_query__table_like_clause__free_unpacked - (PgQuery__TableLikeClause *message, +void pg_query__notify_stmt__free_unpacked + (PgQuery__NotifyStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__table_like_clause__descriptor); + assert(message->base.descriptor == &pg_query__notify_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__function_parameter__init - (PgQuery__FunctionParameter *message) +void pg_query__listen_stmt__init + (PgQuery__ListenStmt *message) { - static const PgQuery__FunctionParameter init_value = PG_QUERY__FUNCTION_PARAMETER__INIT; + static const PgQuery__ListenStmt init_value = PG_QUERY__LISTEN_STMT__INIT; *message = init_value; } -size_t pg_query__function_parameter__get_packed_size - (const PgQuery__FunctionParameter *message) +size_t pg_query__listen_stmt__get_packed_size + (const PgQuery__ListenStmt *message) { - assert(message->base.descriptor == &pg_query__function_parameter__descriptor); + assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__function_parameter__pack - (const PgQuery__FunctionParameter *message, +size_t pg_query__listen_stmt__pack + (const PgQuery__ListenStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__function_parameter__descriptor); + assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__function_parameter__pack_to_buffer - (const PgQuery__FunctionParameter *message, +size_t pg_query__listen_stmt__pack_to_buffer + (const PgQuery__ListenStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__function_parameter__descriptor); + assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__FunctionParameter * - pg_query__function_parameter__unpack +PgQuery__ListenStmt * + pg_query__listen_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__FunctionParameter *) - protobuf_c_message_unpack (&pg_query__function_parameter__descriptor, + return (PgQuery__ListenStmt *) + protobuf_c_message_unpack (&pg_query__listen_stmt__descriptor, allocator, len, data); } -void pg_query__function_parameter__free_unpacked - (PgQuery__FunctionParameter *message, +void pg_query__listen_stmt__free_unpacked + (PgQuery__ListenStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__function_parameter__descriptor); + assert(message->base.descriptor == &pg_query__listen_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__locking_clause__init - (PgQuery__LockingClause *message) +void pg_query__unlisten_stmt__init + (PgQuery__UnlistenStmt *message) { - static const PgQuery__LockingClause init_value = PG_QUERY__LOCKING_CLAUSE__INIT; + static const PgQuery__UnlistenStmt init_value = PG_QUERY__UNLISTEN_STMT__INIT; *message = init_value; } -size_t pg_query__locking_clause__get_packed_size - (const PgQuery__LockingClause *message) +size_t pg_query__unlisten_stmt__get_packed_size + (const PgQuery__UnlistenStmt *message) { - assert(message->base.descriptor == &pg_query__locking_clause__descriptor); + assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__locking_clause__pack - (const PgQuery__LockingClause *message, +size_t pg_query__unlisten_stmt__pack + (const PgQuery__UnlistenStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__locking_clause__descriptor); + assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__locking_clause__pack_to_buffer - (const PgQuery__LockingClause *message, +size_t pg_query__unlisten_stmt__pack_to_buffer + (const PgQuery__UnlistenStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__locking_clause__descriptor); + assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__LockingClause * - pg_query__locking_clause__unpack +PgQuery__UnlistenStmt * + pg_query__unlisten_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__LockingClause *) - protobuf_c_message_unpack (&pg_query__locking_clause__descriptor, + return (PgQuery__UnlistenStmt *) + protobuf_c_message_unpack (&pg_query__unlisten_stmt__descriptor, allocator, len, data); } -void pg_query__locking_clause__free_unpacked - (PgQuery__LockingClause *message, +void pg_query__unlisten_stmt__free_unpacked + (PgQuery__UnlistenStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__locking_clause__descriptor); + assert(message->base.descriptor == &pg_query__unlisten_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__row_mark_clause__init - (PgQuery__RowMarkClause *message) +void pg_query__transaction_stmt__init + (PgQuery__TransactionStmt *message) { - static const PgQuery__RowMarkClause init_value = PG_QUERY__ROW_MARK_CLAUSE__INIT; + static const PgQuery__TransactionStmt init_value = PG_QUERY__TRANSACTION_STMT__INIT; *message = init_value; } -size_t pg_query__row_mark_clause__get_packed_size - (const PgQuery__RowMarkClause *message) +size_t pg_query__transaction_stmt__get_packed_size + (const PgQuery__TransactionStmt *message) { - assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); + assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__row_mark_clause__pack - (const PgQuery__RowMarkClause *message, +size_t pg_query__transaction_stmt__pack + (const PgQuery__TransactionStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); + assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__row_mark_clause__pack_to_buffer - (const PgQuery__RowMarkClause *message, +size_t pg_query__transaction_stmt__pack_to_buffer + (const PgQuery__TransactionStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); + assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RowMarkClause * - pg_query__row_mark_clause__unpack +PgQuery__TransactionStmt * + pg_query__transaction_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RowMarkClause *) - protobuf_c_message_unpack (&pg_query__row_mark_clause__descriptor, + return (PgQuery__TransactionStmt *) + protobuf_c_message_unpack (&pg_query__transaction_stmt__descriptor, allocator, len, data); } -void pg_query__row_mark_clause__free_unpacked - (PgQuery__RowMarkClause *message, +void pg_query__transaction_stmt__free_unpacked + (PgQuery__TransactionStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__row_mark_clause__descriptor); + assert(message->base.descriptor == &pg_query__transaction_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__xml_serialize__init - (PgQuery__XmlSerialize *message) +void pg_query__composite_type_stmt__init + (PgQuery__CompositeTypeStmt *message) { - static const PgQuery__XmlSerialize init_value = PG_QUERY__XML_SERIALIZE__INIT; + static const PgQuery__CompositeTypeStmt init_value = PG_QUERY__COMPOSITE_TYPE_STMT__INIT; *message = init_value; } -size_t pg_query__xml_serialize__get_packed_size - (const PgQuery__XmlSerialize *message) +size_t pg_query__composite_type_stmt__get_packed_size + (const PgQuery__CompositeTypeStmt *message) { - assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); + assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__xml_serialize__pack - (const PgQuery__XmlSerialize *message, +size_t pg_query__composite_type_stmt__pack + (const PgQuery__CompositeTypeStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); + assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__xml_serialize__pack_to_buffer - (const PgQuery__XmlSerialize *message, +size_t pg_query__composite_type_stmt__pack_to_buffer + (const PgQuery__CompositeTypeStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); + assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__XmlSerialize * - pg_query__xml_serialize__unpack +PgQuery__CompositeTypeStmt * + pg_query__composite_type_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__XmlSerialize *) - protobuf_c_message_unpack (&pg_query__xml_serialize__descriptor, + return (PgQuery__CompositeTypeStmt *) + protobuf_c_message_unpack (&pg_query__composite_type_stmt__descriptor, allocator, len, data); } -void pg_query__xml_serialize__free_unpacked - (PgQuery__XmlSerialize *message, +void pg_query__composite_type_stmt__free_unpacked + (PgQuery__CompositeTypeStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__xml_serialize__descriptor); + assert(message->base.descriptor == &pg_query__composite_type_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__with_clause__init - (PgQuery__WithClause *message) +void pg_query__create_enum_stmt__init + (PgQuery__CreateEnumStmt *message) { - static const PgQuery__WithClause init_value = PG_QUERY__WITH_CLAUSE__INIT; + static const PgQuery__CreateEnumStmt init_value = PG_QUERY__CREATE_ENUM_STMT__INIT; *message = init_value; } -size_t pg_query__with_clause__get_packed_size - (const PgQuery__WithClause *message) +size_t pg_query__create_enum_stmt__get_packed_size + (const PgQuery__CreateEnumStmt *message) { - assert(message->base.descriptor == &pg_query__with_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__with_clause__pack - (const PgQuery__WithClause *message, +size_t pg_query__create_enum_stmt__pack + (const PgQuery__CreateEnumStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__with_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__with_clause__pack_to_buffer - (const PgQuery__WithClause *message, +size_t pg_query__create_enum_stmt__pack_to_buffer + (const PgQuery__CreateEnumStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__with_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__WithClause * - pg_query__with_clause__unpack +PgQuery__CreateEnumStmt * + pg_query__create_enum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__WithClause *) - protobuf_c_message_unpack (&pg_query__with_clause__descriptor, + return (PgQuery__CreateEnumStmt *) + protobuf_c_message_unpack (&pg_query__create_enum_stmt__descriptor, allocator, len, data); } -void pg_query__with_clause__free_unpacked - (PgQuery__WithClause *message, +void pg_query__create_enum_stmt__free_unpacked + (PgQuery__CreateEnumStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__with_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_enum_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__infer_clause__init - (PgQuery__InferClause *message) +void pg_query__create_range_stmt__init + (PgQuery__CreateRangeStmt *message) { - static const PgQuery__InferClause init_value = PG_QUERY__INFER_CLAUSE__INIT; + static const PgQuery__CreateRangeStmt init_value = PG_QUERY__CREATE_RANGE_STMT__INIT; *message = init_value; } -size_t pg_query__infer_clause__get_packed_size - (const PgQuery__InferClause *message) +size_t pg_query__create_range_stmt__get_packed_size + (const PgQuery__CreateRangeStmt *message) { - assert(message->base.descriptor == &pg_query__infer_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__infer_clause__pack - (const PgQuery__InferClause *message, +size_t pg_query__create_range_stmt__pack + (const PgQuery__CreateRangeStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__infer_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__infer_clause__pack_to_buffer - (const PgQuery__InferClause *message, +size_t pg_query__create_range_stmt__pack_to_buffer + (const PgQuery__CreateRangeStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__infer_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__InferClause * - pg_query__infer_clause__unpack +PgQuery__CreateRangeStmt * + pg_query__create_range_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__InferClause *) - protobuf_c_message_unpack (&pg_query__infer_clause__descriptor, + return (PgQuery__CreateRangeStmt *) + protobuf_c_message_unpack (&pg_query__create_range_stmt__descriptor, allocator, len, data); } -void pg_query__infer_clause__free_unpacked - (PgQuery__InferClause *message, +void pg_query__create_range_stmt__free_unpacked + (PgQuery__CreateRangeStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__infer_clause__descriptor); + assert(message->base.descriptor == &pg_query__create_range_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__on_conflict_clause__init - (PgQuery__OnConflictClause *message) +void pg_query__alter_enum_stmt__init + (PgQuery__AlterEnumStmt *message) { - static const PgQuery__OnConflictClause init_value = PG_QUERY__ON_CONFLICT_CLAUSE__INIT; + static const PgQuery__AlterEnumStmt init_value = PG_QUERY__ALTER_ENUM_STMT__INIT; *message = init_value; } -size_t pg_query__on_conflict_clause__get_packed_size - (const PgQuery__OnConflictClause *message) +size_t pg_query__alter_enum_stmt__get_packed_size + (const PgQuery__AlterEnumStmt *message) { - assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__on_conflict_clause__pack - (const PgQuery__OnConflictClause *message, +size_t pg_query__alter_enum_stmt__pack + (const PgQuery__AlterEnumStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__on_conflict_clause__pack_to_buffer - (const PgQuery__OnConflictClause *message, +size_t pg_query__alter_enum_stmt__pack_to_buffer + (const PgQuery__AlterEnumStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__OnConflictClause * - pg_query__on_conflict_clause__unpack +PgQuery__AlterEnumStmt * + pg_query__alter_enum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__OnConflictClause *) - protobuf_c_message_unpack (&pg_query__on_conflict_clause__descriptor, + return (PgQuery__AlterEnumStmt *) + protobuf_c_message_unpack (&pg_query__alter_enum_stmt__descriptor, allocator, len, data); } -void pg_query__on_conflict_clause__free_unpacked - (PgQuery__OnConflictClause *message, +void pg_query__alter_enum_stmt__free_unpacked + (PgQuery__AlterEnumStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__on_conflict_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_enum_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__ctesearch_clause__init - (PgQuery__CTESearchClause *message) +void pg_query__view_stmt__init + (PgQuery__ViewStmt *message) { - static const PgQuery__CTESearchClause init_value = PG_QUERY__CTESEARCH_CLAUSE__INIT; + static const PgQuery__ViewStmt init_value = PG_QUERY__VIEW_STMT__INIT; *message = init_value; } -size_t pg_query__ctesearch_clause__get_packed_size - (const PgQuery__CTESearchClause *message) +size_t pg_query__view_stmt__get_packed_size + (const PgQuery__ViewStmt *message) { - assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); + assert(message->base.descriptor == &pg_query__view_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__ctesearch_clause__pack - (const PgQuery__CTESearchClause *message, +size_t pg_query__view_stmt__pack + (const PgQuery__ViewStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); + assert(message->base.descriptor == &pg_query__view_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__ctesearch_clause__pack_to_buffer - (const PgQuery__CTESearchClause *message, +size_t pg_query__view_stmt__pack_to_buffer + (const PgQuery__ViewStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); + assert(message->base.descriptor == &pg_query__view_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CTESearchClause * - pg_query__ctesearch_clause__unpack +PgQuery__ViewStmt * + pg_query__view_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CTESearchClause *) - protobuf_c_message_unpack (&pg_query__ctesearch_clause__descriptor, + return (PgQuery__ViewStmt *) + protobuf_c_message_unpack (&pg_query__view_stmt__descriptor, allocator, len, data); } -void pg_query__ctesearch_clause__free_unpacked - (PgQuery__CTESearchClause *message, +void pg_query__view_stmt__free_unpacked + (PgQuery__ViewStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__ctesearch_clause__descriptor); + assert(message->base.descriptor == &pg_query__view_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__ctecycle_clause__init - (PgQuery__CTECycleClause *message) +void pg_query__load_stmt__init + (PgQuery__LoadStmt *message) { - static const PgQuery__CTECycleClause init_value = PG_QUERY__CTECYCLE_CLAUSE__INIT; + static const PgQuery__LoadStmt init_value = PG_QUERY__LOAD_STMT__INIT; *message = init_value; } -size_t pg_query__ctecycle_clause__get_packed_size - (const PgQuery__CTECycleClause *message) +size_t pg_query__load_stmt__get_packed_size + (const PgQuery__LoadStmt *message) { - assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); + assert(message->base.descriptor == &pg_query__load_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__ctecycle_clause__pack - (const PgQuery__CTECycleClause *message, +size_t pg_query__load_stmt__pack + (const PgQuery__LoadStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); + assert(message->base.descriptor == &pg_query__load_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__ctecycle_clause__pack_to_buffer - (const PgQuery__CTECycleClause *message, +size_t pg_query__load_stmt__pack_to_buffer + (const PgQuery__LoadStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); + assert(message->base.descriptor == &pg_query__load_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CTECycleClause * - pg_query__ctecycle_clause__unpack +PgQuery__LoadStmt * + pg_query__load_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CTECycleClause *) - protobuf_c_message_unpack (&pg_query__ctecycle_clause__descriptor, + return (PgQuery__LoadStmt *) + protobuf_c_message_unpack (&pg_query__load_stmt__descriptor, allocator, len, data); } -void pg_query__ctecycle_clause__free_unpacked - (PgQuery__CTECycleClause *message, +void pg_query__load_stmt__free_unpacked + (PgQuery__LoadStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__ctecycle_clause__descriptor); + assert(message->base.descriptor == &pg_query__load_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__common_table_expr__init - (PgQuery__CommonTableExpr *message) +void pg_query__createdb_stmt__init + (PgQuery__CreatedbStmt *message) { - static const PgQuery__CommonTableExpr init_value = PG_QUERY__COMMON_TABLE_EXPR__INIT; + static const PgQuery__CreatedbStmt init_value = PG_QUERY__CREATEDB_STMT__INIT; *message = init_value; } -size_t pg_query__common_table_expr__get_packed_size - (const PgQuery__CommonTableExpr *message) +size_t pg_query__createdb_stmt__get_packed_size + (const PgQuery__CreatedbStmt *message) { - assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); + assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__common_table_expr__pack - (const PgQuery__CommonTableExpr *message, +size_t pg_query__createdb_stmt__pack + (const PgQuery__CreatedbStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); + assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__common_table_expr__pack_to_buffer - (const PgQuery__CommonTableExpr *message, +size_t pg_query__createdb_stmt__pack_to_buffer + (const PgQuery__CreatedbStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); + assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CommonTableExpr * - pg_query__common_table_expr__unpack +PgQuery__CreatedbStmt * + pg_query__createdb_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CommonTableExpr *) - protobuf_c_message_unpack (&pg_query__common_table_expr__descriptor, + return (PgQuery__CreatedbStmt *) + protobuf_c_message_unpack (&pg_query__createdb_stmt__descriptor, allocator, len, data); } -void pg_query__common_table_expr__free_unpacked - (PgQuery__CommonTableExpr *message, +void pg_query__createdb_stmt__free_unpacked + (PgQuery__CreatedbStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__common_table_expr__descriptor); + assert(message->base.descriptor == &pg_query__createdb_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__merge_when_clause__init - (PgQuery__MergeWhenClause *message) +void pg_query__alter_database_stmt__init + (PgQuery__AlterDatabaseStmt *message) { - static const PgQuery__MergeWhenClause init_value = PG_QUERY__MERGE_WHEN_CLAUSE__INIT; + static const PgQuery__AlterDatabaseStmt init_value = PG_QUERY__ALTER_DATABASE_STMT__INIT; *message = init_value; } -size_t pg_query__merge_when_clause__get_packed_size - (const PgQuery__MergeWhenClause *message) +size_t pg_query__alter_database_stmt__get_packed_size + (const PgQuery__AlterDatabaseStmt *message) { - assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__merge_when_clause__pack - (const PgQuery__MergeWhenClause *message, +size_t pg_query__alter_database_stmt__pack + (const PgQuery__AlterDatabaseStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__merge_when_clause__pack_to_buffer - (const PgQuery__MergeWhenClause *message, +size_t pg_query__alter_database_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__MergeWhenClause * - pg_query__merge_when_clause__unpack +PgQuery__AlterDatabaseStmt * + pg_query__alter_database_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__MergeWhenClause *) - protobuf_c_message_unpack (&pg_query__merge_when_clause__descriptor, + return (PgQuery__AlterDatabaseStmt *) + protobuf_c_message_unpack (&pg_query__alter_database_stmt__descriptor, allocator, len, data); } -void pg_query__merge_when_clause__free_unpacked - (PgQuery__MergeWhenClause *message, +void pg_query__alter_database_stmt__free_unpacked + (PgQuery__AlterDatabaseStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__merge_when_clause__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__role_spec__init - (PgQuery__RoleSpec *message) +void pg_query__alter_database_refresh_coll_stmt__init + (PgQuery__AlterDatabaseRefreshCollStmt *message) { - static const PgQuery__RoleSpec init_value = PG_QUERY__ROLE_SPEC__INIT; + static const PgQuery__AlterDatabaseRefreshCollStmt init_value = PG_QUERY__ALTER_DATABASE_REFRESH_COLL_STMT__INIT; *message = init_value; } -size_t pg_query__role_spec__get_packed_size - (const PgQuery__RoleSpec *message) +size_t pg_query__alter_database_refresh_coll_stmt__get_packed_size + (const PgQuery__AlterDatabaseRefreshCollStmt *message) { - assert(message->base.descriptor == &pg_query__role_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__role_spec__pack - (const PgQuery__RoleSpec *message, +size_t pg_query__alter_database_refresh_coll_stmt__pack + (const PgQuery__AlterDatabaseRefreshCollStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__role_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__role_spec__pack_to_buffer - (const PgQuery__RoleSpec *message, +size_t pg_query__alter_database_refresh_coll_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseRefreshCollStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__role_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__RoleSpec * - pg_query__role_spec__unpack +PgQuery__AlterDatabaseRefreshCollStmt * + pg_query__alter_database_refresh_coll_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__RoleSpec *) - protobuf_c_message_unpack (&pg_query__role_spec__descriptor, + return (PgQuery__AlterDatabaseRefreshCollStmt *) + protobuf_c_message_unpack (&pg_query__alter_database_refresh_coll_stmt__descriptor, allocator, len, data); } -void pg_query__role_spec__free_unpacked - (PgQuery__RoleSpec *message, +void pg_query__alter_database_refresh_coll_stmt__free_unpacked + (PgQuery__AlterDatabaseRefreshCollStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__role_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_refresh_coll_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__trigger_transition__init - (PgQuery__TriggerTransition *message) +void pg_query__alter_database_set_stmt__init + (PgQuery__AlterDatabaseSetStmt *message) { - static const PgQuery__TriggerTransition init_value = PG_QUERY__TRIGGER_TRANSITION__INIT; + static const PgQuery__AlterDatabaseSetStmt init_value = PG_QUERY__ALTER_DATABASE_SET_STMT__INIT; *message = init_value; } -size_t pg_query__trigger_transition__get_packed_size - (const PgQuery__TriggerTransition *message) +size_t pg_query__alter_database_set_stmt__get_packed_size + (const PgQuery__AlterDatabaseSetStmt *message) { - assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__trigger_transition__pack - (const PgQuery__TriggerTransition *message, +size_t pg_query__alter_database_set_stmt__pack + (const PgQuery__AlterDatabaseSetStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__trigger_transition__pack_to_buffer - (const PgQuery__TriggerTransition *message, +size_t pg_query__alter_database_set_stmt__pack_to_buffer + (const PgQuery__AlterDatabaseSetStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__TriggerTransition * - pg_query__trigger_transition__unpack +PgQuery__AlterDatabaseSetStmt * + pg_query__alter_database_set_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__TriggerTransition *) - protobuf_c_message_unpack (&pg_query__trigger_transition__descriptor, + return (PgQuery__AlterDatabaseSetStmt *) + protobuf_c_message_unpack (&pg_query__alter_database_set_stmt__descriptor, allocator, len, data); } -void pg_query__trigger_transition__free_unpacked - (PgQuery__TriggerTransition *message, +void pg_query__alter_database_set_stmt__free_unpacked + (PgQuery__AlterDatabaseSetStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__trigger_transition__descriptor); + assert(message->base.descriptor == &pg_query__alter_database_set_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__partition_elem__init - (PgQuery__PartitionElem *message) +void pg_query__dropdb_stmt__init + (PgQuery__DropdbStmt *message) { - static const PgQuery__PartitionElem init_value = PG_QUERY__PARTITION_ELEM__INIT; + static const PgQuery__DropdbStmt init_value = PG_QUERY__DROPDB_STMT__INIT; *message = init_value; } -size_t pg_query__partition_elem__get_packed_size - (const PgQuery__PartitionElem *message) +size_t pg_query__dropdb_stmt__get_packed_size + (const PgQuery__DropdbStmt *message) { - assert(message->base.descriptor == &pg_query__partition_elem__descriptor); + assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__partition_elem__pack - (const PgQuery__PartitionElem *message, +size_t pg_query__dropdb_stmt__pack + (const PgQuery__DropdbStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__partition_elem__descriptor); + assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__partition_elem__pack_to_buffer - (const PgQuery__PartitionElem *message, +size_t pg_query__dropdb_stmt__pack_to_buffer + (const PgQuery__DropdbStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__partition_elem__descriptor); + assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PartitionElem * - pg_query__partition_elem__unpack +PgQuery__DropdbStmt * + pg_query__dropdb_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PartitionElem *) - protobuf_c_message_unpack (&pg_query__partition_elem__descriptor, + return (PgQuery__DropdbStmt *) + protobuf_c_message_unpack (&pg_query__dropdb_stmt__descriptor, allocator, len, data); } -void pg_query__partition_elem__free_unpacked - (PgQuery__PartitionElem *message, +void pg_query__dropdb_stmt__free_unpacked + (PgQuery__DropdbStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__partition_elem__descriptor); + assert(message->base.descriptor == &pg_query__dropdb_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__partition_spec__init - (PgQuery__PartitionSpec *message) +void pg_query__alter_system_stmt__init + (PgQuery__AlterSystemStmt *message) { - static const PgQuery__PartitionSpec init_value = PG_QUERY__PARTITION_SPEC__INIT; + static const PgQuery__AlterSystemStmt init_value = PG_QUERY__ALTER_SYSTEM_STMT__INIT; *message = init_value; } -size_t pg_query__partition_spec__get_packed_size - (const PgQuery__PartitionSpec *message) +size_t pg_query__alter_system_stmt__get_packed_size + (const PgQuery__AlterSystemStmt *message) { - assert(message->base.descriptor == &pg_query__partition_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__partition_spec__pack - (const PgQuery__PartitionSpec *message, +size_t pg_query__alter_system_stmt__pack + (const PgQuery__AlterSystemStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__partition_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__partition_spec__pack_to_buffer - (const PgQuery__PartitionSpec *message, +size_t pg_query__alter_system_stmt__pack_to_buffer + (const PgQuery__AlterSystemStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__partition_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PartitionSpec * - pg_query__partition_spec__unpack +PgQuery__AlterSystemStmt * + pg_query__alter_system_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PartitionSpec *) - protobuf_c_message_unpack (&pg_query__partition_spec__descriptor, + return (PgQuery__AlterSystemStmt *) + protobuf_c_message_unpack (&pg_query__alter_system_stmt__descriptor, allocator, len, data); } -void pg_query__partition_spec__free_unpacked - (PgQuery__PartitionSpec *message, +void pg_query__alter_system_stmt__free_unpacked + (PgQuery__AlterSystemStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__partition_spec__descriptor); + assert(message->base.descriptor == &pg_query__alter_system_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__partition_bound_spec__init - (PgQuery__PartitionBoundSpec *message) +void pg_query__cluster_stmt__init + (PgQuery__ClusterStmt *message) { - static const PgQuery__PartitionBoundSpec init_value = PG_QUERY__PARTITION_BOUND_SPEC__INIT; + static const PgQuery__ClusterStmt init_value = PG_QUERY__CLUSTER_STMT__INIT; *message = init_value; } -size_t pg_query__partition_bound_spec__get_packed_size - (const PgQuery__PartitionBoundSpec *message) +size_t pg_query__cluster_stmt__get_packed_size + (const PgQuery__ClusterStmt *message) { - assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); + assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__partition_bound_spec__pack - (const PgQuery__PartitionBoundSpec *message, +size_t pg_query__cluster_stmt__pack + (const PgQuery__ClusterStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); + assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__partition_bound_spec__pack_to_buffer - (const PgQuery__PartitionBoundSpec *message, +size_t pg_query__cluster_stmt__pack_to_buffer + (const PgQuery__ClusterStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); + assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PartitionBoundSpec * - pg_query__partition_bound_spec__unpack +PgQuery__ClusterStmt * + pg_query__cluster_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PartitionBoundSpec *) - protobuf_c_message_unpack (&pg_query__partition_bound_spec__descriptor, + return (PgQuery__ClusterStmt *) + protobuf_c_message_unpack (&pg_query__cluster_stmt__descriptor, allocator, len, data); } -void pg_query__partition_bound_spec__free_unpacked - (PgQuery__PartitionBoundSpec *message, +void pg_query__cluster_stmt__free_unpacked + (PgQuery__ClusterStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__partition_bound_spec__descriptor); + assert(message->base.descriptor == &pg_query__cluster_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__partition_range_datum__init - (PgQuery__PartitionRangeDatum *message) +void pg_query__vacuum_stmt__init + (PgQuery__VacuumStmt *message) { - static const PgQuery__PartitionRangeDatum init_value = PG_QUERY__PARTITION_RANGE_DATUM__INIT; + static const PgQuery__VacuumStmt init_value = PG_QUERY__VACUUM_STMT__INIT; *message = init_value; } -size_t pg_query__partition_range_datum__get_packed_size - (const PgQuery__PartitionRangeDatum *message) +size_t pg_query__vacuum_stmt__get_packed_size + (const PgQuery__VacuumStmt *message) { - assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__partition_range_datum__pack - (const PgQuery__PartitionRangeDatum *message, +size_t pg_query__vacuum_stmt__pack + (const PgQuery__VacuumStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__partition_range_datum__pack_to_buffer - (const PgQuery__PartitionRangeDatum *message, +size_t pg_query__vacuum_stmt__pack_to_buffer + (const PgQuery__VacuumStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PartitionRangeDatum * - pg_query__partition_range_datum__unpack +PgQuery__VacuumStmt * + pg_query__vacuum_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PartitionRangeDatum *) - protobuf_c_message_unpack (&pg_query__partition_range_datum__descriptor, + return (PgQuery__VacuumStmt *) + protobuf_c_message_unpack (&pg_query__vacuum_stmt__descriptor, allocator, len, data); } -void pg_query__partition_range_datum__free_unpacked - (PgQuery__PartitionRangeDatum *message, +void pg_query__vacuum_stmt__free_unpacked + (PgQuery__VacuumStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__partition_range_datum__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__partition_cmd__init - (PgQuery__PartitionCmd *message) +void pg_query__vacuum_relation__init + (PgQuery__VacuumRelation *message) { - static const PgQuery__PartitionCmd init_value = PG_QUERY__PARTITION_CMD__INIT; + static const PgQuery__VacuumRelation init_value = PG_QUERY__VACUUM_RELATION__INIT; *message = init_value; } -size_t pg_query__partition_cmd__get_packed_size - (const PgQuery__PartitionCmd *message) +size_t pg_query__vacuum_relation__get_packed_size + (const PgQuery__VacuumRelation *message) { - assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__partition_cmd__pack - (const PgQuery__PartitionCmd *message, +size_t pg_query__vacuum_relation__pack + (const PgQuery__VacuumRelation *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__partition_cmd__pack_to_buffer - (const PgQuery__PartitionCmd *message, +size_t pg_query__vacuum_relation__pack_to_buffer + (const PgQuery__VacuumRelation *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PartitionCmd * - pg_query__partition_cmd__unpack +PgQuery__VacuumRelation * + pg_query__vacuum_relation__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PartitionCmd *) - protobuf_c_message_unpack (&pg_query__partition_cmd__descriptor, + return (PgQuery__VacuumRelation *) + protobuf_c_message_unpack (&pg_query__vacuum_relation__descriptor, allocator, len, data); } -void pg_query__partition_cmd__free_unpacked - (PgQuery__PartitionCmd *message, +void pg_query__vacuum_relation__free_unpacked + (PgQuery__VacuumRelation *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__partition_cmd__descriptor); + assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__vacuum_relation__init - (PgQuery__VacuumRelation *message) +void pg_query__explain_stmt__init + (PgQuery__ExplainStmt *message) { - static const PgQuery__VacuumRelation init_value = PG_QUERY__VACUUM_RELATION__INIT; + static const PgQuery__ExplainStmt init_value = PG_QUERY__EXPLAIN_STMT__INIT; *message = init_value; } -size_t pg_query__vacuum_relation__get_packed_size - (const PgQuery__VacuumRelation *message) +size_t pg_query__explain_stmt__get_packed_size + (const PgQuery__ExplainStmt *message) { - assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); + assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__vacuum_relation__pack - (const PgQuery__VacuumRelation *message, +size_t pg_query__explain_stmt__pack + (const PgQuery__ExplainStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); + assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__vacuum_relation__pack_to_buffer - (const PgQuery__VacuumRelation *message, +size_t pg_query__explain_stmt__pack_to_buffer + (const PgQuery__ExplainStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); + assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__VacuumRelation * - pg_query__vacuum_relation__unpack +PgQuery__ExplainStmt * + pg_query__explain_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__VacuumRelation *) - protobuf_c_message_unpack (&pg_query__vacuum_relation__descriptor, + return (PgQuery__ExplainStmt *) + protobuf_c_message_unpack (&pg_query__explain_stmt__descriptor, allocator, len, data); } -void pg_query__vacuum_relation__free_unpacked - (PgQuery__VacuumRelation *message, +void pg_query__explain_stmt__free_unpacked + (PgQuery__ExplainStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__vacuum_relation__descriptor); + assert(message->base.descriptor == &pg_query__explain_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__publication_obj_spec__init - (PgQuery__PublicationObjSpec *message) +void pg_query__create_table_as_stmt__init + (PgQuery__CreateTableAsStmt *message) { - static const PgQuery__PublicationObjSpec init_value = PG_QUERY__PUBLICATION_OBJ_SPEC__INIT; + static const PgQuery__CreateTableAsStmt init_value = PG_QUERY__CREATE_TABLE_AS_STMT__INIT; *message = init_value; } -size_t pg_query__publication_obj_spec__get_packed_size - (const PgQuery__PublicationObjSpec *message) +size_t pg_query__create_table_as_stmt__get_packed_size + (const PgQuery__CreateTableAsStmt *message) { - assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__publication_obj_spec__pack - (const PgQuery__PublicationObjSpec *message, +size_t pg_query__create_table_as_stmt__pack + (const PgQuery__CreateTableAsStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__publication_obj_spec__pack_to_buffer - (const PgQuery__PublicationObjSpec *message, +size_t pg_query__create_table_as_stmt__pack_to_buffer + (const PgQuery__CreateTableAsStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PublicationObjSpec * - pg_query__publication_obj_spec__unpack +PgQuery__CreateTableAsStmt * + pg_query__create_table_as_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PublicationObjSpec *) - protobuf_c_message_unpack (&pg_query__publication_obj_spec__descriptor, + return (PgQuery__CreateTableAsStmt *) + protobuf_c_message_unpack (&pg_query__create_table_as_stmt__descriptor, allocator, len, data); } -void pg_query__publication_obj_spec__free_unpacked - (PgQuery__PublicationObjSpec *message, +void pg_query__create_table_as_stmt__free_unpacked + (PgQuery__CreateTableAsStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + assert(message->base.descriptor == &pg_query__create_table_as_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__publication_table__init - (PgQuery__PublicationTable *message) +void pg_query__refresh_mat_view_stmt__init + (PgQuery__RefreshMatViewStmt *message) { - static const PgQuery__PublicationTable init_value = PG_QUERY__PUBLICATION_TABLE__INIT; + static const PgQuery__RefreshMatViewStmt init_value = PG_QUERY__REFRESH_MAT_VIEW_STMT__INIT; *message = init_value; } -size_t pg_query__publication_table__get_packed_size - (const PgQuery__PublicationTable *message) +size_t pg_query__refresh_mat_view_stmt__get_packed_size + (const PgQuery__RefreshMatViewStmt *message) { - assert(message->base.descriptor == &pg_query__publication_table__descriptor); + assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__publication_table__pack - (const PgQuery__PublicationTable *message, +size_t pg_query__refresh_mat_view_stmt__pack + (const PgQuery__RefreshMatViewStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__publication_table__descriptor); + assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__publication_table__pack_to_buffer - (const PgQuery__PublicationTable *message, +size_t pg_query__refresh_mat_view_stmt__pack_to_buffer + (const PgQuery__RefreshMatViewStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__publication_table__descriptor); + assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__PublicationTable * - pg_query__publication_table__unpack +PgQuery__RefreshMatViewStmt * + pg_query__refresh_mat_view_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__PublicationTable *) - protobuf_c_message_unpack (&pg_query__publication_table__descriptor, + return (PgQuery__RefreshMatViewStmt *) + protobuf_c_message_unpack (&pg_query__refresh_mat_view_stmt__descriptor, allocator, len, data); } -void pg_query__publication_table__free_unpacked - (PgQuery__PublicationTable *message, +void pg_query__refresh_mat_view_stmt__free_unpacked + (PgQuery__RefreshMatViewStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__publication_table__descriptor); + assert(message->base.descriptor == &pg_query__refresh_mat_view_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__inline_code_block__init - (PgQuery__InlineCodeBlock *message) +void pg_query__check_point_stmt__init + (PgQuery__CheckPointStmt *message) { - static const PgQuery__InlineCodeBlock init_value = PG_QUERY__INLINE_CODE_BLOCK__INIT; + static const PgQuery__CheckPointStmt init_value = PG_QUERY__CHECK_POINT_STMT__INIT; *message = init_value; } -size_t pg_query__inline_code_block__get_packed_size - (const PgQuery__InlineCodeBlock *message) +size_t pg_query__check_point_stmt__get_packed_size + (const PgQuery__CheckPointStmt *message) { - assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); + assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__inline_code_block__pack - (const PgQuery__InlineCodeBlock *message, +size_t pg_query__check_point_stmt__pack + (const PgQuery__CheckPointStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); + assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__inline_code_block__pack_to_buffer - (const PgQuery__InlineCodeBlock *message, +size_t pg_query__check_point_stmt__pack_to_buffer + (const PgQuery__CheckPointStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); + assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__InlineCodeBlock * - pg_query__inline_code_block__unpack +PgQuery__CheckPointStmt * + pg_query__check_point_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__InlineCodeBlock *) - protobuf_c_message_unpack (&pg_query__inline_code_block__descriptor, + return (PgQuery__CheckPointStmt *) + protobuf_c_message_unpack (&pg_query__check_point_stmt__descriptor, allocator, len, data); } -void pg_query__inline_code_block__free_unpacked - (PgQuery__InlineCodeBlock *message, +void pg_query__check_point_stmt__free_unpacked + (PgQuery__CheckPointStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__inline_code_block__descriptor); + assert(message->base.descriptor == &pg_query__check_point_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__call_context__init - (PgQuery__CallContext *message) +void pg_query__discard_stmt__init + (PgQuery__DiscardStmt *message) { - static const PgQuery__CallContext init_value = PG_QUERY__CALL_CONTEXT__INIT; + static const PgQuery__DiscardStmt init_value = PG_QUERY__DISCARD_STMT__INIT; *message = init_value; } -size_t pg_query__call_context__get_packed_size - (const PgQuery__CallContext *message) +size_t pg_query__discard_stmt__get_packed_size + (const PgQuery__DiscardStmt *message) { - assert(message->base.descriptor == &pg_query__call_context__descriptor); + assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__call_context__pack - (const PgQuery__CallContext *message, +size_t pg_query__discard_stmt__pack + (const PgQuery__DiscardStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__call_context__descriptor); + assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__call_context__pack_to_buffer - (const PgQuery__CallContext *message, +size_t pg_query__discard_stmt__pack_to_buffer + (const PgQuery__DiscardStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__call_context__descriptor); + assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__CallContext * - pg_query__call_context__unpack +PgQuery__DiscardStmt * + pg_query__discard_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__CallContext *) - protobuf_c_message_unpack (&pg_query__call_context__descriptor, + return (PgQuery__DiscardStmt *) + protobuf_c_message_unpack (&pg_query__discard_stmt__descriptor, allocator, len, data); } -void pg_query__call_context__free_unpacked - (PgQuery__CallContext *message, +void pg_query__discard_stmt__free_unpacked + (PgQuery__DiscardStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__call_context__descriptor); + assert(message->base.descriptor == &pg_query__discard_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -void pg_query__scan_token__init - (PgQuery__ScanToken *message) +void pg_query__lock_stmt__init + (PgQuery__LockStmt *message) { - static const PgQuery__ScanToken init_value = PG_QUERY__SCAN_TOKEN__INIT; + static const PgQuery__LockStmt init_value = PG_QUERY__LOCK_STMT__INIT; *message = init_value; } -size_t pg_query__scan_token__get_packed_size - (const PgQuery__ScanToken *message) +size_t pg_query__lock_stmt__get_packed_size + (const PgQuery__LockStmt *message) { - assert(message->base.descriptor == &pg_query__scan_token__descriptor); + assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); } -size_t pg_query__scan_token__pack - (const PgQuery__ScanToken *message, +size_t pg_query__lock_stmt__pack + (const PgQuery__LockStmt *message, uint8_t *out) { - assert(message->base.descriptor == &pg_query__scan_token__descriptor); + assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); } -size_t pg_query__scan_token__pack_to_buffer - (const PgQuery__ScanToken *message, +size_t pg_query__lock_stmt__pack_to_buffer + (const PgQuery__LockStmt *message, ProtobufCBuffer *buffer) { - assert(message->base.descriptor == &pg_query__scan_token__descriptor); + assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); } -PgQuery__ScanToken * - pg_query__scan_token__unpack +PgQuery__LockStmt * + pg_query__lock_stmt__unpack (ProtobufCAllocator *allocator, size_t len, const uint8_t *data) { - return (PgQuery__ScanToken *) - protobuf_c_message_unpack (&pg_query__scan_token__descriptor, + return (PgQuery__LockStmt *) + protobuf_c_message_unpack (&pg_query__lock_stmt__descriptor, allocator, len, data); } -void pg_query__scan_token__free_unpacked - (PgQuery__ScanToken *message, +void pg_query__lock_stmt__free_unpacked + (PgQuery__LockStmt *message, ProtobufCAllocator *allocator) { if(!message) return; - assert(message->base.descriptor == &pg_query__scan_token__descriptor); + assert(message->base.descriptor == &pg_query__lock_stmt__descriptor); protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); } -static const ProtobufCFieldDescriptor pg_query__parse_result__field_descriptors[2] = +void pg_query__constraints_set_stmt__init + (PgQuery__ConstraintsSetStmt *message) { - { - "version", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ParseResult, version), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "stmts", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ParseResult, n_stmts), - offsetof(PgQuery__ParseResult, stmts), - &pg_query__raw_stmt__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__parse_result__field_indices_by_name[] = { - 1, /* field[1] = stmts */ - 0, /* field[0] = version */ -}; -static const ProtobufCIntRange pg_query__parse_result__number_ranges[1 + 1] = + static const PgQuery__ConstraintsSetStmt init_value = PG_QUERY__CONSTRAINTS_SET_STMT__INIT; + *message = init_value; +} +size_t pg_query__constraints_set_stmt__get_packed_size + (const PgQuery__ConstraintsSetStmt *message) { - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__parse_result__descriptor = + assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__constraints_set_stmt__pack + (const PgQuery__ConstraintsSetStmt *message, + uint8_t *out) { - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ParseResult", - "ParseResult", - "PgQuery__ParseResult", - "pg_query", - sizeof(PgQuery__ParseResult), - 2, - pg_query__parse_result__field_descriptors, - pg_query__parse_result__field_indices_by_name, - 1, pg_query__parse_result__number_ranges, - (ProtobufCMessageInit) pg_query__parse_result__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__scan_result__field_descriptors[2] = + assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__constraints_set_stmt__pack_to_buffer + (const PgQuery__ConstraintsSetStmt *message, + ProtobufCBuffer *buffer) { - { - "version", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ScanResult, version), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "tokens", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ScanResult, n_tokens), - offsetof(PgQuery__ScanResult, tokens), - &pg_query__scan_token__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__scan_result__field_indices_by_name[] = { - 1, /* field[1] = tokens */ - 0, /* field[0] = version */ -}; -static const ProtobufCIntRange pg_query__scan_result__number_ranges[1 + 1] = + assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__ConstraintsSetStmt * + pg_query__constraints_set_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) { - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__scan_result__descriptor = + return (PgQuery__ConstraintsSetStmt *) + protobuf_c_message_unpack (&pg_query__constraints_set_stmt__descriptor, + allocator, len, data); +} +void pg_query__constraints_set_stmt__free_unpacked + (PgQuery__ConstraintsSetStmt *message, + ProtobufCAllocator *allocator) { - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ScanResult", - "ScanResult", - "PgQuery__ScanResult", - "pg_query", - sizeof(PgQuery__ScanResult), - 2, - pg_query__scan_result__field_descriptors, - pg_query__scan_result__field_indices_by_name, - 1, pg_query__scan_result__number_ranges, - (ProtobufCMessageInit) pg_query__scan_result__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[238] = + if(!message) + return; + assert(message->base.descriptor == &pg_query__constraints_set_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__reindex_stmt__init + (PgQuery__ReindexStmt *message) { - { - "alias", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alias), - &pg_query__alias__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "range_var", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_var), - &pg_query__range_var__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "table_func", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, table_func), - &pg_query__table_func__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "var", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, var), - &pg_query__var__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "param", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, param), - &pg_query__param__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "aggref", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, aggref), - &pg_query__aggref__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "grouping_func", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, grouping_func), - &pg_query__grouping_func__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "window_func", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, window_func), - &pg_query__window_func__descriptor, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "subscripting_ref", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), + static const PgQuery__ReindexStmt init_value = PG_QUERY__REINDEX_STMT__INIT; + *message = init_value; +} +size_t pg_query__reindex_stmt__get_packed_size + (const PgQuery__ReindexStmt *message) +{ + assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__reindex_stmt__pack + (const PgQuery__ReindexStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__reindex_stmt__pack_to_buffer + (const PgQuery__ReindexStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__ReindexStmt * + pg_query__reindex_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__ReindexStmt *) + protobuf_c_message_unpack (&pg_query__reindex_stmt__descriptor, + allocator, len, data); +} +void pg_query__reindex_stmt__free_unpacked + (PgQuery__ReindexStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__reindex_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__create_conversion_stmt__init + (PgQuery__CreateConversionStmt *message) +{ + static const PgQuery__CreateConversionStmt init_value = PG_QUERY__CREATE_CONVERSION_STMT__INIT; + *message = init_value; +} +size_t pg_query__create_conversion_stmt__get_packed_size + (const PgQuery__CreateConversionStmt *message) +{ + assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__create_conversion_stmt__pack + (const PgQuery__CreateConversionStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__create_conversion_stmt__pack_to_buffer + (const PgQuery__CreateConversionStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__CreateConversionStmt * + pg_query__create_conversion_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__CreateConversionStmt *) + protobuf_c_message_unpack (&pg_query__create_conversion_stmt__descriptor, + allocator, len, data); +} +void pg_query__create_conversion_stmt__free_unpacked + (PgQuery__CreateConversionStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__create_conversion_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__create_cast_stmt__init + (PgQuery__CreateCastStmt *message) +{ + static const PgQuery__CreateCastStmt init_value = PG_QUERY__CREATE_CAST_STMT__INIT; + *message = init_value; +} +size_t pg_query__create_cast_stmt__get_packed_size + (const PgQuery__CreateCastStmt *message) +{ + assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__create_cast_stmt__pack + (const PgQuery__CreateCastStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__create_cast_stmt__pack_to_buffer + (const PgQuery__CreateCastStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__CreateCastStmt * + pg_query__create_cast_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__CreateCastStmt *) + protobuf_c_message_unpack (&pg_query__create_cast_stmt__descriptor, + allocator, len, data); +} +void pg_query__create_cast_stmt__free_unpacked + (PgQuery__CreateCastStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__create_cast_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__create_transform_stmt__init + (PgQuery__CreateTransformStmt *message) +{ + static const PgQuery__CreateTransformStmt init_value = PG_QUERY__CREATE_TRANSFORM_STMT__INIT; + *message = init_value; +} +size_t pg_query__create_transform_stmt__get_packed_size + (const PgQuery__CreateTransformStmt *message) +{ + assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__create_transform_stmt__pack + (const PgQuery__CreateTransformStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__create_transform_stmt__pack_to_buffer + (const PgQuery__CreateTransformStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__CreateTransformStmt * + pg_query__create_transform_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__CreateTransformStmt *) + protobuf_c_message_unpack (&pg_query__create_transform_stmt__descriptor, + allocator, len, data); +} +void pg_query__create_transform_stmt__free_unpacked + (PgQuery__CreateTransformStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__create_transform_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__prepare_stmt__init + (PgQuery__PrepareStmt *message) +{ + static const PgQuery__PrepareStmt init_value = PG_QUERY__PREPARE_STMT__INIT; + *message = init_value; +} +size_t pg_query__prepare_stmt__get_packed_size + (const PgQuery__PrepareStmt *message) +{ + assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__prepare_stmt__pack + (const PgQuery__PrepareStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__prepare_stmt__pack_to_buffer + (const PgQuery__PrepareStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__PrepareStmt * + pg_query__prepare_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__PrepareStmt *) + protobuf_c_message_unpack (&pg_query__prepare_stmt__descriptor, + allocator, len, data); +} +void pg_query__prepare_stmt__free_unpacked + (PgQuery__PrepareStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__prepare_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__execute_stmt__init + (PgQuery__ExecuteStmt *message) +{ + static const PgQuery__ExecuteStmt init_value = PG_QUERY__EXECUTE_STMT__INIT; + *message = init_value; +} +size_t pg_query__execute_stmt__get_packed_size + (const PgQuery__ExecuteStmt *message) +{ + assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__execute_stmt__pack + (const PgQuery__ExecuteStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__execute_stmt__pack_to_buffer + (const PgQuery__ExecuteStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__ExecuteStmt * + pg_query__execute_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__ExecuteStmt *) + protobuf_c_message_unpack (&pg_query__execute_stmt__descriptor, + allocator, len, data); +} +void pg_query__execute_stmt__free_unpacked + (PgQuery__ExecuteStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__execute_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__deallocate_stmt__init + (PgQuery__DeallocateStmt *message) +{ + static const PgQuery__DeallocateStmt init_value = PG_QUERY__DEALLOCATE_STMT__INIT; + *message = init_value; +} +size_t pg_query__deallocate_stmt__get_packed_size + (const PgQuery__DeallocateStmt *message) +{ + assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__deallocate_stmt__pack + (const PgQuery__DeallocateStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__deallocate_stmt__pack_to_buffer + (const PgQuery__DeallocateStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__DeallocateStmt * + pg_query__deallocate_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__DeallocateStmt *) + protobuf_c_message_unpack (&pg_query__deallocate_stmt__descriptor, + allocator, len, data); +} +void pg_query__deallocate_stmt__free_unpacked + (PgQuery__DeallocateStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__deallocate_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__drop_owned_stmt__init + (PgQuery__DropOwnedStmt *message) +{ + static const PgQuery__DropOwnedStmt init_value = PG_QUERY__DROP_OWNED_STMT__INIT; + *message = init_value; +} +size_t pg_query__drop_owned_stmt__get_packed_size + (const PgQuery__DropOwnedStmt *message) +{ + assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__drop_owned_stmt__pack + (const PgQuery__DropOwnedStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__drop_owned_stmt__pack_to_buffer + (const PgQuery__DropOwnedStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__DropOwnedStmt * + pg_query__drop_owned_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__DropOwnedStmt *) + protobuf_c_message_unpack (&pg_query__drop_owned_stmt__descriptor, + allocator, len, data); +} +void pg_query__drop_owned_stmt__free_unpacked + (PgQuery__DropOwnedStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__drop_owned_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__reassign_owned_stmt__init + (PgQuery__ReassignOwnedStmt *message) +{ + static const PgQuery__ReassignOwnedStmt init_value = PG_QUERY__REASSIGN_OWNED_STMT__INIT; + *message = init_value; +} +size_t pg_query__reassign_owned_stmt__get_packed_size + (const PgQuery__ReassignOwnedStmt *message) +{ + assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__reassign_owned_stmt__pack + (const PgQuery__ReassignOwnedStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__reassign_owned_stmt__pack_to_buffer + (const PgQuery__ReassignOwnedStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__ReassignOwnedStmt * + pg_query__reassign_owned_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__ReassignOwnedStmt *) + protobuf_c_message_unpack (&pg_query__reassign_owned_stmt__descriptor, + allocator, len, data); +} +void pg_query__reassign_owned_stmt__free_unpacked + (PgQuery__ReassignOwnedStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__reassign_owned_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__alter_tsdictionary_stmt__init + (PgQuery__AlterTSDictionaryStmt *message) +{ + static const PgQuery__AlterTSDictionaryStmt init_value = PG_QUERY__ALTER_TSDICTIONARY_STMT__INIT; + *message = init_value; +} +size_t pg_query__alter_tsdictionary_stmt__get_packed_size + (const PgQuery__AlterTSDictionaryStmt *message) +{ + assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__alter_tsdictionary_stmt__pack + (const PgQuery__AlterTSDictionaryStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__alter_tsdictionary_stmt__pack_to_buffer + (const PgQuery__AlterTSDictionaryStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__AlterTSDictionaryStmt * + pg_query__alter_tsdictionary_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__AlterTSDictionaryStmt *) + protobuf_c_message_unpack (&pg_query__alter_tsdictionary_stmt__descriptor, + allocator, len, data); +} +void pg_query__alter_tsdictionary_stmt__free_unpacked + (PgQuery__AlterTSDictionaryStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__alter_tsdictionary_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__alter_tsconfiguration_stmt__init + (PgQuery__AlterTSConfigurationStmt *message) +{ + static const PgQuery__AlterTSConfigurationStmt init_value = PG_QUERY__ALTER_TSCONFIGURATION_STMT__INIT; + *message = init_value; +} +size_t pg_query__alter_tsconfiguration_stmt__get_packed_size + (const PgQuery__AlterTSConfigurationStmt *message) +{ + assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__alter_tsconfiguration_stmt__pack + (const PgQuery__AlterTSConfigurationStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__alter_tsconfiguration_stmt__pack_to_buffer + (const PgQuery__AlterTSConfigurationStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__AlterTSConfigurationStmt * + pg_query__alter_tsconfiguration_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__AlterTSConfigurationStmt *) + protobuf_c_message_unpack (&pg_query__alter_tsconfiguration_stmt__descriptor, + allocator, len, data); +} +void pg_query__alter_tsconfiguration_stmt__free_unpacked + (PgQuery__AlterTSConfigurationStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__alter_tsconfiguration_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__publication_table__init + (PgQuery__PublicationTable *message) +{ + static const PgQuery__PublicationTable init_value = PG_QUERY__PUBLICATION_TABLE__INIT; + *message = init_value; +} +size_t pg_query__publication_table__get_packed_size + (const PgQuery__PublicationTable *message) +{ + assert(message->base.descriptor == &pg_query__publication_table__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__publication_table__pack + (const PgQuery__PublicationTable *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__publication_table__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__publication_table__pack_to_buffer + (const PgQuery__PublicationTable *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__publication_table__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__PublicationTable * + pg_query__publication_table__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__PublicationTable *) + protobuf_c_message_unpack (&pg_query__publication_table__descriptor, + allocator, len, data); +} +void pg_query__publication_table__free_unpacked + (PgQuery__PublicationTable *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__publication_table__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__publication_obj_spec__init + (PgQuery__PublicationObjSpec *message) +{ + static const PgQuery__PublicationObjSpec init_value = PG_QUERY__PUBLICATION_OBJ_SPEC__INIT; + *message = init_value; +} +size_t pg_query__publication_obj_spec__get_packed_size + (const PgQuery__PublicationObjSpec *message) +{ + assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__publication_obj_spec__pack + (const PgQuery__PublicationObjSpec *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__publication_obj_spec__pack_to_buffer + (const PgQuery__PublicationObjSpec *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__PublicationObjSpec * + pg_query__publication_obj_spec__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__PublicationObjSpec *) + protobuf_c_message_unpack (&pg_query__publication_obj_spec__descriptor, + allocator, len, data); +} +void pg_query__publication_obj_spec__free_unpacked + (PgQuery__PublicationObjSpec *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__publication_obj_spec__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__create_publication_stmt__init + (PgQuery__CreatePublicationStmt *message) +{ + static const PgQuery__CreatePublicationStmt init_value = PG_QUERY__CREATE_PUBLICATION_STMT__INIT; + *message = init_value; +} +size_t pg_query__create_publication_stmt__get_packed_size + (const PgQuery__CreatePublicationStmt *message) +{ + assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__create_publication_stmt__pack + (const PgQuery__CreatePublicationStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__create_publication_stmt__pack_to_buffer + (const PgQuery__CreatePublicationStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__CreatePublicationStmt * + pg_query__create_publication_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__CreatePublicationStmt *) + protobuf_c_message_unpack (&pg_query__create_publication_stmt__descriptor, + allocator, len, data); +} +void pg_query__create_publication_stmt__free_unpacked + (PgQuery__CreatePublicationStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__create_publication_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__alter_publication_stmt__init + (PgQuery__AlterPublicationStmt *message) +{ + static const PgQuery__AlterPublicationStmt init_value = PG_QUERY__ALTER_PUBLICATION_STMT__INIT; + *message = init_value; +} +size_t pg_query__alter_publication_stmt__get_packed_size + (const PgQuery__AlterPublicationStmt *message) +{ + assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__alter_publication_stmt__pack + (const PgQuery__AlterPublicationStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__alter_publication_stmt__pack_to_buffer + (const PgQuery__AlterPublicationStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__AlterPublicationStmt * + pg_query__alter_publication_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__AlterPublicationStmt *) + protobuf_c_message_unpack (&pg_query__alter_publication_stmt__descriptor, + allocator, len, data); +} +void pg_query__alter_publication_stmt__free_unpacked + (PgQuery__AlterPublicationStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__alter_publication_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__create_subscription_stmt__init + (PgQuery__CreateSubscriptionStmt *message) +{ + static const PgQuery__CreateSubscriptionStmt init_value = PG_QUERY__CREATE_SUBSCRIPTION_STMT__INIT; + *message = init_value; +} +size_t pg_query__create_subscription_stmt__get_packed_size + (const PgQuery__CreateSubscriptionStmt *message) +{ + assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__create_subscription_stmt__pack + (const PgQuery__CreateSubscriptionStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__create_subscription_stmt__pack_to_buffer + (const PgQuery__CreateSubscriptionStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__CreateSubscriptionStmt * + pg_query__create_subscription_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__CreateSubscriptionStmt *) + protobuf_c_message_unpack (&pg_query__create_subscription_stmt__descriptor, + allocator, len, data); +} +void pg_query__create_subscription_stmt__free_unpacked + (PgQuery__CreateSubscriptionStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__create_subscription_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__alter_subscription_stmt__init + (PgQuery__AlterSubscriptionStmt *message) +{ + static const PgQuery__AlterSubscriptionStmt init_value = PG_QUERY__ALTER_SUBSCRIPTION_STMT__INIT; + *message = init_value; +} +size_t pg_query__alter_subscription_stmt__get_packed_size + (const PgQuery__AlterSubscriptionStmt *message) +{ + assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__alter_subscription_stmt__pack + (const PgQuery__AlterSubscriptionStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__alter_subscription_stmt__pack_to_buffer + (const PgQuery__AlterSubscriptionStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__AlterSubscriptionStmt * + pg_query__alter_subscription_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__AlterSubscriptionStmt *) + protobuf_c_message_unpack (&pg_query__alter_subscription_stmt__descriptor, + allocator, len, data); +} +void pg_query__alter_subscription_stmt__free_unpacked + (PgQuery__AlterSubscriptionStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__alter_subscription_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__drop_subscription_stmt__init + (PgQuery__DropSubscriptionStmt *message) +{ + static const PgQuery__DropSubscriptionStmt init_value = PG_QUERY__DROP_SUBSCRIPTION_STMT__INIT; + *message = init_value; +} +size_t pg_query__drop_subscription_stmt__get_packed_size + (const PgQuery__DropSubscriptionStmt *message) +{ + assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__drop_subscription_stmt__pack + (const PgQuery__DropSubscriptionStmt *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__drop_subscription_stmt__pack_to_buffer + (const PgQuery__DropSubscriptionStmt *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__DropSubscriptionStmt * + pg_query__drop_subscription_stmt__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__DropSubscriptionStmt *) + protobuf_c_message_unpack (&pg_query__drop_subscription_stmt__descriptor, + allocator, len, data); +} +void pg_query__drop_subscription_stmt__free_unpacked + (PgQuery__DropSubscriptionStmt *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__drop_subscription_stmt__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__scan_token__init + (PgQuery__ScanToken *message) +{ + static const PgQuery__ScanToken init_value = PG_QUERY__SCAN_TOKEN__INIT; + *message = init_value; +} +size_t pg_query__scan_token__get_packed_size + (const PgQuery__ScanToken *message) +{ + assert(message->base.descriptor == &pg_query__scan_token__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__scan_token__pack + (const PgQuery__ScanToken *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__scan_token__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__scan_token__pack_to_buffer + (const PgQuery__ScanToken *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__scan_token__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__ScanToken * + pg_query__scan_token__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__ScanToken *) + protobuf_c_message_unpack (&pg_query__scan_token__descriptor, + allocator, len, data); +} +void pg_query__scan_token__free_unpacked + (PgQuery__ScanToken *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__scan_token__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +void pg_query__summary_result__table__init + (PgQuery__SummaryResult__Table *message) +{ + static const PgQuery__SummaryResult__Table init_value = PG_QUERY__SUMMARY_RESULT__TABLE__INIT; + *message = init_value; +} +void pg_query__summary_result__aliases_entry__init + (PgQuery__SummaryResult__AliasesEntry *message) +{ + static const PgQuery__SummaryResult__AliasesEntry init_value = PG_QUERY__SUMMARY_RESULT__ALIASES_ENTRY__INIT; + *message = init_value; +} +void pg_query__summary_result__function__init + (PgQuery__SummaryResult__Function *message) +{ + static const PgQuery__SummaryResult__Function init_value = PG_QUERY__SUMMARY_RESULT__FUNCTION__INIT; + *message = init_value; +} +void pg_query__summary_result__filter_column__init + (PgQuery__SummaryResult__FilterColumn *message) +{ + static const PgQuery__SummaryResult__FilterColumn init_value = PG_QUERY__SUMMARY_RESULT__FILTER_COLUMN__INIT; + *message = init_value; +} +void pg_query__summary_result__init + (PgQuery__SummaryResult *message) +{ + static const PgQuery__SummaryResult init_value = PG_QUERY__SUMMARY_RESULT__INIT; + *message = init_value; +} +size_t pg_query__summary_result__get_packed_size + (const PgQuery__SummaryResult *message) +{ + assert(message->base.descriptor == &pg_query__summary_result__descriptor); + return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message)); +} +size_t pg_query__summary_result__pack + (const PgQuery__SummaryResult *message, + uint8_t *out) +{ + assert(message->base.descriptor == &pg_query__summary_result__descriptor); + return protobuf_c_message_pack ((const ProtobufCMessage*)message, out); +} +size_t pg_query__summary_result__pack_to_buffer + (const PgQuery__SummaryResult *message, + ProtobufCBuffer *buffer) +{ + assert(message->base.descriptor == &pg_query__summary_result__descriptor); + return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer); +} +PgQuery__SummaryResult * + pg_query__summary_result__unpack + (ProtobufCAllocator *allocator, + size_t len, + const uint8_t *data) +{ + return (PgQuery__SummaryResult *) + protobuf_c_message_unpack (&pg_query__summary_result__descriptor, + allocator, len, data); +} +void pg_query__summary_result__free_unpacked + (PgQuery__SummaryResult *message, + ProtobufCAllocator *allocator) +{ + if(!message) + return; + assert(message->base.descriptor == &pg_query__summary_result__descriptor); + protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator); +} +static const ProtobufCFieldDescriptor pg_query__parse_result__field_descriptors[2] = +{ + { + "version", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ParseResult, version), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "stmts", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ParseResult, n_stmts), + offsetof(PgQuery__ParseResult, stmts), + &pg_query__raw_stmt__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__parse_result__field_indices_by_name[] = { + 1, /* field[1] = stmts */ + 0, /* field[0] = version */ +}; +static const ProtobufCIntRange pg_query__parse_result__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__parse_result__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ParseResult", + "ParseResult", + "PgQuery__ParseResult", + "pg_query", + sizeof(PgQuery__ParseResult), + 2, + pg_query__parse_result__field_descriptors, + pg_query__parse_result__field_indices_by_name, + 1, pg_query__parse_result__number_ranges, + (ProtobufCMessageInit) pg_query__parse_result__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__scan_result__field_descriptors[2] = +{ + { + "version", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ScanResult, version), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "tokens", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ScanResult, n_tokens), + offsetof(PgQuery__ScanResult, tokens), + &pg_query__scan_token__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__scan_result__field_indices_by_name[] = { + 1, /* field[1] = tokens */ + 0, /* field[0] = version */ +}; +static const ProtobufCIntRange pg_query__scan_result__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__scan_result__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ScanResult", + "ScanResult", + "PgQuery__ScanResult", + "pg_query", + sizeof(PgQuery__ScanResult), + 2, + pg_query__scan_result__field_descriptors, + pg_query__scan_result__field_indices_by_name, + 1, pg_query__scan_result__number_ranges, + (ProtobufCMessageInit) pg_query__scan_result__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__node__field_descriptors[268] = +{ + { + "alias", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alias), + &pg_query__alias__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_var", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_var), + &pg_query__range_var__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_func", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, table_func), + &pg_query__table_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "into_clause", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, into_clause), + &pg_query__into_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "var", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, var), + &pg_query__var__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "param", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, param), + &pg_query__param__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "aggref", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, aggref), + &pg_query__aggref__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grouping_func", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, grouping_func), + &pg_query__grouping_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "window_func", + 9, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, window_func), + &pg_query__window_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "window_func_run_condition", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, window_func_run_condition), + &pg_query__window_func_run_condition__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_support_func", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, merge_support_func), + &pg_query__merge_support_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "subscripting_ref", + 12, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, subscripting_ref), &pg_query__subscripting_ref__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "func_expr", + 13, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, func_expr), + &pg_query__func_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "named_arg_expr", + 14, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, named_arg_expr), + &pg_query__named_arg_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "op_expr", + 15, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, op_expr), + &pg_query__op_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "distinct_expr", + 16, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, distinct_expr), + &pg_query__distinct_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "null_if_expr", + 17, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, null_if_expr), + &pg_query__null_if_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "scalar_array_op_expr", + 18, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, scalar_array_op_expr), + &pg_query__scalar_array_op_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "bool_expr", + 19, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, bool_expr), + &pg_query__bool_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sub_link", + 20, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, sub_link), + &pg_query__sub_link__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sub_plan", + 21, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, sub_plan), + &pg_query__sub_plan__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alternative_sub_plan", + 22, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alternative_sub_plan), + &pg_query__alternative_sub_plan__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "field_select", + 23, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, field_select), + &pg_query__field_select__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "field_store", + 24, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, field_store), + &pg_query__field_store__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "relabel_type", + 25, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, relabel_type), + &pg_query__relabel_type__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coerce_via_io", + 26, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, coerce_via_io), + &pg_query__coerce_via_io__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "array_coerce_expr", + 27, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, array_coerce_expr), + &pg_query__array_coerce_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "convert_rowtype_expr", + 28, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, convert_rowtype_expr), + &pg_query__convert_rowtype_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "collate_expr", + 29, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, collate_expr), + &pg_query__collate_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "case_expr", + 30, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, case_expr), + &pg_query__case_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "case_when", + 31, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, case_when), + &pg_query__case_when__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "case_test_expr", + 32, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, case_test_expr), + &pg_query__case_test_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "array_expr", + 33, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, array_expr), + &pg_query__array_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "row_expr", + 34, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, row_expr), + &pg_query__row_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "row_compare_expr", + 35, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, row_compare_expr), + &pg_query__row_compare_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coalesce_expr", + 36, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, coalesce_expr), + &pg_query__coalesce_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "min_max_expr", + 37, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, min_max_expr), + &pg_query__min_max_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sqlvalue_function", + 38, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, sqlvalue_function), + &pg_query__sqlvalue_function__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "xml_expr", + 39, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, xml_expr), + &pg_query__xml_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_format", + 40, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_format), + &pg_query__json_format__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_returning", + 41, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_returning), + &pg_query__json_returning__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_value_expr", + 42, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_value_expr), + &pg_query__json_value_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_constructor_expr", + 43, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_constructor_expr), + &pg_query__json_constructor_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_is_predicate", + 44, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_is_predicate), + &pg_query__json_is_predicate__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_behavior", + 45, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_behavior), + &pg_query__json_behavior__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_expr", + 46, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_expr), + &pg_query__json_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_path", + 47, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_path), + &pg_query__json_table_path__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_path_scan", + 48, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_path_scan), + &pg_query__json_table_path_scan__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_sibling_join", + 49, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_sibling_join), + &pg_query__json_table_sibling_join__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "null_test", + 50, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, null_test), + &pg_query__null_test__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "boolean_test", + 51, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, boolean_test), + &pg_query__boolean_test__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_action", + 52, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, merge_action), + &pg_query__merge_action__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coerce_to_domain", + 53, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, coerce_to_domain), + &pg_query__coerce_to_domain__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coerce_to_domain_value", + 54, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, coerce_to_domain_value), + &pg_query__coerce_to_domain_value__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "set_to_default", + 55, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, set_to_default), + &pg_query__set_to_default__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "current_of_expr", + 56, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, current_of_expr), + &pg_query__current_of_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "next_value_expr", + 57, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, next_value_expr), + &pg_query__next_value_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inference_elem", + 58, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, inference_elem), + &pg_query__inference_elem__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "target_entry", + 59, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, target_entry), + &pg_query__target_entry__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_tbl_ref", + 60, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_tbl_ref), + &pg_query__range_tbl_ref__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "join_expr", + 61, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, join_expr), + &pg_query__join_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "from_expr", + 62, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, from_expr), + &pg_query__from_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "on_conflict_expr", + 63, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, on_conflict_expr), + &pg_query__on_conflict_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "query", + 64, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, query), + &pg_query__query__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "type_name", + 65, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, type_name), + &pg_query__type_name__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "column_ref", + 66, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, column_ref), + &pg_query__column_ref__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "param_ref", + 67, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, param_ref), + &pg_query__param_ref__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "a_expr", + 68, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, a_expr), + &pg_query__a__expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "type_cast", + 69, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, type_cast), + &pg_query__type_cast__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "collate_clause", + 70, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, collate_clause), + &pg_query__collate_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "role_spec", + 71, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, role_spec), + &pg_query__role_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "func_call", + 72, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, func_call), + &pg_query__func_call__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "a_star", + 73, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, a_star), + &pg_query__a__star__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "a_indices", + 74, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, a_indices), + &pg_query__a__indices__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "a_indirection", + 75, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, a_indirection), + &pg_query__a__indirection__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "a_array_expr", + 76, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, a_array_expr), + &pg_query__a__array_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "res_target", + 77, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, res_target), + &pg_query__res_target__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "multi_assign_ref", + 78, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, multi_assign_ref), + &pg_query__multi_assign_ref__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sort_by", + 79, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, sort_by), + &pg_query__sort_by__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "window_def", + 80, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, window_def), + &pg_query__window_def__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_subselect", + 81, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_subselect), + &pg_query__range_subselect__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_function", + 82, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_function), + &pg_query__range_function__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_table_func", + 83, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_table_func), + &pg_query__range_table_func__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_table_func_col", + 84, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_table_func_col), + &pg_query__range_table_func_col__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_table_sample", + 85, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_table_sample), + &pg_query__range_table_sample__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "column_def", + 86, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, column_def), + &pg_query__column_def__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_like_clause", + 87, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, table_like_clause), + &pg_query__table_like_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "index_elem", + 88, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, index_elem), + &pg_query__index_elem__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "def_elem", + 89, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, def_elem), + &pg_query__def_elem__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "locking_clause", + 90, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, locking_clause), + &pg_query__locking_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "xml_serialize", + 91, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, xml_serialize), + &pg_query__xml_serialize__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "partition_elem", + 92, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, partition_elem), + &pg_query__partition_elem__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "partition_spec", + 93, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, partition_spec), + &pg_query__partition_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "partition_bound_spec", + 94, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, partition_bound_spec), + &pg_query__partition_bound_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "partition_range_datum", + 95, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, partition_range_datum), + &pg_query__partition_range_datum__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "single_partition_spec", + 96, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, single_partition_spec), + &pg_query__single_partition_spec__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "partition_cmd", + 97, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, partition_cmd), + &pg_query__partition_cmd__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_tbl_entry", + 98, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_tbl_entry), + &pg_query__range_tbl_entry__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "rtepermission_info", + 99, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, rtepermission_info), + &pg_query__rtepermission_info__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "range_tbl_function", + 100, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, range_tbl_function), + &pg_query__range_tbl_function__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_sample_clause", + 101, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, table_sample_clause), + &pg_query__table_sample_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "with_check_option", + 102, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, with_check_option), + &pg_query__with_check_option__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "sort_group_clause", + 103, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, sort_group_clause), + &pg_query__sort_group_clause__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_expr", - 10, + "grouping_set", + 104, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, func_expr), - &pg_query__func_expr__descriptor, + offsetof(PgQuery__Node, grouping_set), + &pg_query__grouping_set__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "named_arg_expr", - 11, + "window_clause", + 105, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, named_arg_expr), - &pg_query__named_arg_expr__descriptor, + offsetof(PgQuery__Node, window_clause), + &pg_query__window_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "op_expr", - 12, + "row_mark_clause", + 106, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, op_expr), - &pg_query__op_expr__descriptor, + offsetof(PgQuery__Node, row_mark_clause), + &pg_query__row_mark_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "distinct_expr", - 13, + "with_clause", + 107, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, distinct_expr), - &pg_query__distinct_expr__descriptor, + offsetof(PgQuery__Node, with_clause), + &pg_query__with_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "null_if_expr", - 14, + "infer_clause", + 108, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, null_if_expr), - &pg_query__null_if_expr__descriptor, + offsetof(PgQuery__Node, infer_clause), + &pg_query__infer_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "scalar_array_op_expr", - 15, + "on_conflict_clause", + 109, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, scalar_array_op_expr), - &pg_query__scalar_array_op_expr__descriptor, + offsetof(PgQuery__Node, on_conflict_clause), + &pg_query__on_conflict_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "bool_expr", - 16, + "ctesearch_clause", + 110, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, bool_expr), - &pg_query__bool_expr__descriptor, + offsetof(PgQuery__Node, ctesearch_clause), + &pg_query__ctesearch_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sub_link", - 17, + "ctecycle_clause", + 111, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sub_link), - &pg_query__sub_link__descriptor, + offsetof(PgQuery__Node, ctecycle_clause), + &pg_query__ctecycle_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sub_plan", - 18, + "common_table_expr", + 112, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sub_plan), - &pg_query__sub_plan__descriptor, + offsetof(PgQuery__Node, common_table_expr), + &pg_query__common_table_expr__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alternative_sub_plan", - 19, + "merge_when_clause", + 113, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alternative_sub_plan), - &pg_query__alternative_sub_plan__descriptor, + offsetof(PgQuery__Node, merge_when_clause), + &pg_query__merge_when_clause__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "field_select", - 20, + "trigger_transition", + 114, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, field_select), - &pg_query__field_select__descriptor, + offsetof(PgQuery__Node, trigger_transition), + &pg_query__trigger_transition__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "field_store", - 21, + "json_output", + 115, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, field_store), - &pg_query__field_store__descriptor, + offsetof(PgQuery__Node, json_output), + &pg_query__json_output__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relabel_type", - 22, + "json_argument", + 116, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, relabel_type), - &pg_query__relabel_type__descriptor, + offsetof(PgQuery__Node, json_argument), + &pg_query__json_argument__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coerce_via_io", - 23, + "json_func_expr", + 117, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, coerce_via_io), - &pg_query__coerce_via_io__descriptor, + offsetof(PgQuery__Node, json_func_expr), + &pg_query__json_func_expr__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "array_coerce_expr", - 24, + "json_table_path_spec", + 118, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, array_coerce_expr), - &pg_query__array_coerce_expr__descriptor, + offsetof(PgQuery__Node, json_table_path_spec), + &pg_query__json_table_path_spec__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "convert_rowtype_expr", - 25, + "json_table", + 119, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, convert_rowtype_expr), - &pg_query__convert_rowtype_expr__descriptor, + offsetof(PgQuery__Node, json_table), + &pg_query__json_table__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_table_column", + 120, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_table_column), + &pg_query__json_table_column__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_key_value", + 121, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_key_value), + &pg_query__json_key_value__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_parse_expr", + 122, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_parse_expr), + &pg_query__json_parse_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_scalar_expr", + 123, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_scalar_expr), + &pg_query__json_scalar_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_serialize_expr", + 124, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_serialize_expr), + &pg_query__json_serialize_expr__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_object_constructor", + 125, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_object_constructor), + &pg_query__json_object_constructor__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_array_constructor", + 126, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_array_constructor), + &pg_query__json_array_constructor__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_array_query_constructor", + 127, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_array_query_constructor), + &pg_query__json_array_query_constructor__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_agg_constructor", + 128, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_agg_constructor), + &pg_query__json_agg_constructor__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_object_agg", + 129, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_object_agg), + &pg_query__json_object_agg__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "json_array_agg", + 130, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, json_array_agg), + &pg_query__json_array_agg__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "raw_stmt", + 131, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, raw_stmt), + &pg_query__raw_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "insert_stmt", + 132, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, insert_stmt), + &pg_query__insert_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "delete_stmt", + 133, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, delete_stmt), + &pg_query__delete_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "update_stmt", + 134, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, update_stmt), + &pg_query__update_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_stmt", + 135, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, merge_stmt), + &pg_query__merge_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "select_stmt", + 136, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, select_stmt), + &pg_query__select_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "set_operation_stmt", + 137, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, set_operation_stmt), + &pg_query__set_operation_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "return_stmt", + 138, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, return_stmt), + &pg_query__return_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "plassign_stmt", + 139, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, plassign_stmt), + &pg_query__plassign_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "create_schema_stmt", + 140, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, create_schema_stmt), + &pg_query__create_schema_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_table_stmt", + 141, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_table_stmt), + &pg_query__alter_table_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "replica_identity_stmt", + 142, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, replica_identity_stmt), + &pg_query__replica_identity_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_table_cmd", + 143, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_table_cmd), + &pg_query__alter_table_cmd__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_collation_stmt", + 144, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_collation_stmt), + &pg_query__alter_collation_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_domain_stmt", + 145, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_domain_stmt), + &pg_query__alter_domain_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grant_stmt", + 146, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, grant_stmt), + &pg_query__grant_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "object_with_args", + 147, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, object_with_args), + &pg_query__object_with_args__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "access_priv", + 148, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, access_priv), + &pg_query__access_priv__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grant_role_stmt", + 149, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, grant_role_stmt), + &pg_query__grant_role_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_default_privileges_stmt", + 150, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_default_privileges_stmt), + &pg_query__alter_default_privileges_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "copy_stmt", + 151, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, copy_stmt), + &pg_query__copy_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "variable_set_stmt", + 152, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, variable_set_stmt), + &pg_query__variable_set_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "variable_show_stmt", + 153, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, variable_show_stmt), + &pg_query__variable_show_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "create_stmt", + 154, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, create_stmt), + &pg_query__create_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "constraint", + 155, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, constraint), + &pg_query__constraint__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "create_table_space_stmt", + 156, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, create_table_space_stmt), + &pg_query__create_table_space_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "drop_table_space_stmt", + 157, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, drop_table_space_stmt), + &pg_query__drop_table_space_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alter_table_space_options_stmt", + 158, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, alter_table_space_options_stmt), + &pg_query__alter_table_space_options_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collate_expr", - 26, + "alter_table_move_all_stmt", + 159, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, collate_expr), - &pg_query__collate_expr__descriptor, + offsetof(PgQuery__Node, alter_table_move_all_stmt), + &pg_query__alter_table_move_all_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "case_expr", - 27, + "create_extension_stmt", + 160, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, case_expr), - &pg_query__case_expr__descriptor, + offsetof(PgQuery__Node, create_extension_stmt), + &pg_query__create_extension_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "case_when", - 28, + "alter_extension_stmt", + 161, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, case_when), - &pg_query__case_when__descriptor, + offsetof(PgQuery__Node, alter_extension_stmt), + &pg_query__alter_extension_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "case_test_expr", - 29, + "alter_extension_contents_stmt", + 162, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, case_test_expr), - &pg_query__case_test_expr__descriptor, + offsetof(PgQuery__Node, alter_extension_contents_stmt), + &pg_query__alter_extension_contents_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "array_expr", - 30, + "create_fdw_stmt", + 163, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, array_expr), - &pg_query__array_expr__descriptor, + offsetof(PgQuery__Node, create_fdw_stmt), + &pg_query__create_fdw_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_expr", - 31, + "alter_fdw_stmt", + 164, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, row_expr), - &pg_query__row_expr__descriptor, + offsetof(PgQuery__Node, alter_fdw_stmt), + &pg_query__alter_fdw_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_compare_expr", - 32, + "create_foreign_server_stmt", + 165, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, row_compare_expr), - &pg_query__row_compare_expr__descriptor, + offsetof(PgQuery__Node, create_foreign_server_stmt), + &pg_query__create_foreign_server_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coalesce_expr", - 33, + "alter_foreign_server_stmt", + 166, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, coalesce_expr), - &pg_query__coalesce_expr__descriptor, + offsetof(PgQuery__Node, alter_foreign_server_stmt), + &pg_query__alter_foreign_server_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "min_max_expr", - 34, + "create_foreign_table_stmt", + 167, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, min_max_expr), - &pg_query__min_max_expr__descriptor, + offsetof(PgQuery__Node, create_foreign_table_stmt), + &pg_query__create_foreign_table_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sqlvalue_function", - 35, + "create_user_mapping_stmt", + 168, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sqlvalue_function), - &pg_query__sqlvalue_function__descriptor, + offsetof(PgQuery__Node, create_user_mapping_stmt), + &pg_query__create_user_mapping_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "xml_expr", - 36, + "alter_user_mapping_stmt", + 169, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, xml_expr), - &pg_query__xml_expr__descriptor, + offsetof(PgQuery__Node, alter_user_mapping_stmt), + &pg_query__alter_user_mapping_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "null_test", - 37, + "drop_user_mapping_stmt", + 170, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, null_test), - &pg_query__null_test__descriptor, + offsetof(PgQuery__Node, drop_user_mapping_stmt), + &pg_query__drop_user_mapping_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "boolean_test", - 38, + "import_foreign_schema_stmt", + 171, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, boolean_test), - &pg_query__boolean_test__descriptor, + offsetof(PgQuery__Node, import_foreign_schema_stmt), + &pg_query__import_foreign_schema_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coerce_to_domain", - 39, + "create_policy_stmt", + 172, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, coerce_to_domain), - &pg_query__coerce_to_domain__descriptor, + offsetof(PgQuery__Node, create_policy_stmt), + &pg_query__create_policy_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coerce_to_domain_value", - 40, + "alter_policy_stmt", + 173, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, coerce_to_domain_value), - &pg_query__coerce_to_domain_value__descriptor, + offsetof(PgQuery__Node, alter_policy_stmt), + &pg_query__alter_policy_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "set_to_default", - 41, + "create_am_stmt", + 174, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, set_to_default), - &pg_query__set_to_default__descriptor, + offsetof(PgQuery__Node, create_am_stmt), + &pg_query__create_am_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "current_of_expr", - 42, + "create_trig_stmt", + 175, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, current_of_expr), - &pg_query__current_of_expr__descriptor, + offsetof(PgQuery__Node, create_trig_stmt), + &pg_query__create_trig_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "next_value_expr", - 43, + "create_event_trig_stmt", + 176, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, next_value_expr), - &pg_query__next_value_expr__descriptor, + offsetof(PgQuery__Node, create_event_trig_stmt), + &pg_query__create_event_trig_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inference_elem", - 44, + "alter_event_trig_stmt", + 177, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, inference_elem), - &pg_query__inference_elem__descriptor, + offsetof(PgQuery__Node, alter_event_trig_stmt), + &pg_query__alter_event_trig_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_entry", - 45, + "create_plang_stmt", + 178, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, target_entry), - &pg_query__target_entry__descriptor, + offsetof(PgQuery__Node, create_plang_stmt), + &pg_query__create_plang_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_tbl_ref", - 46, + "create_role_stmt", + 179, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_tbl_ref), - &pg_query__range_tbl_ref__descriptor, + offsetof(PgQuery__Node, create_role_stmt), + &pg_query__create_role_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_expr", - 47, + "alter_role_stmt", + 180, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, join_expr), - &pg_query__join_expr__descriptor, + offsetof(PgQuery__Node, alter_role_stmt), + &pg_query__alter_role_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "from_expr", - 48, + "alter_role_set_stmt", + 181, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, from_expr), - &pg_query__from_expr__descriptor, + offsetof(PgQuery__Node, alter_role_set_stmt), + &pg_query__alter_role_set_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict_expr", - 49, + "drop_role_stmt", + 182, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, on_conflict_expr), - &pg_query__on_conflict_expr__descriptor, + offsetof(PgQuery__Node, drop_role_stmt), + &pg_query__drop_role_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "into_clause", - 50, + "create_seq_stmt", + 183, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, into_clause), - &pg_query__into_clause__descriptor, + offsetof(PgQuery__Node, create_seq_stmt), + &pg_query__create_seq_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_action", - 51, + "alter_seq_stmt", + 184, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, merge_action), - &pg_query__merge_action__descriptor, + offsetof(PgQuery__Node, alter_seq_stmt), + &pg_query__alter_seq_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "raw_stmt", - 52, + "define_stmt", + 185, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, raw_stmt), - &pg_query__raw_stmt__descriptor, + offsetof(PgQuery__Node, define_stmt), + &pg_query__define_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query", - 53, + "create_domain_stmt", + 186, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, query), - &pg_query__query__descriptor, + offsetof(PgQuery__Node, create_domain_stmt), + &pg_query__create_domain_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "insert_stmt", - 54, + "create_op_class_stmt", + 187, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, insert_stmt), - &pg_query__insert_stmt__descriptor, + offsetof(PgQuery__Node, create_op_class_stmt), + &pg_query__create_op_class_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "delete_stmt", - 55, + "create_op_class_item", + 188, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, delete_stmt), - &pg_query__delete_stmt__descriptor, + offsetof(PgQuery__Node, create_op_class_item), + &pg_query__create_op_class_item__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "update_stmt", - 56, + "create_op_family_stmt", + 189, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, update_stmt), - &pg_query__update_stmt__descriptor, + offsetof(PgQuery__Node, create_op_family_stmt), + &pg_query__create_op_family_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_stmt", - 57, + "alter_op_family_stmt", + 190, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, merge_stmt), - &pg_query__merge_stmt__descriptor, + offsetof(PgQuery__Node, alter_op_family_stmt), + &pg_query__alter_op_family_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "select_stmt", - 58, + "drop_stmt", + 191, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, select_stmt), - &pg_query__select_stmt__descriptor, + offsetof(PgQuery__Node, drop_stmt), + &pg_query__drop_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "return_stmt", - 59, + "truncate_stmt", + 192, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, return_stmt), - &pg_query__return_stmt__descriptor, + offsetof(PgQuery__Node, truncate_stmt), + &pg_query__truncate_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "plassign_stmt", - 60, + "comment_stmt", + 193, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, plassign_stmt), - &pg_query__plassign_stmt__descriptor, + offsetof(PgQuery__Node, comment_stmt), + &pg_query__comment_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_table_stmt", - 61, + "sec_label_stmt", + 194, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_table_stmt), - &pg_query__alter_table_stmt__descriptor, + offsetof(PgQuery__Node, sec_label_stmt), + &pg_query__sec_label_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_table_cmd", - 62, + "declare_cursor_stmt", + 195, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_table_cmd), - &pg_query__alter_table_cmd__descriptor, + offsetof(PgQuery__Node, declare_cursor_stmt), + &pg_query__declare_cursor_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_domain_stmt", - 63, + "close_portal_stmt", + 196, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_domain_stmt), - &pg_query__alter_domain_stmt__descriptor, + offsetof(PgQuery__Node, close_portal_stmt), + &pg_query__close_portal_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "set_operation_stmt", - 64, + "fetch_stmt", + 197, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, set_operation_stmt), - &pg_query__set_operation_stmt__descriptor, + offsetof(PgQuery__Node, fetch_stmt), + &pg_query__fetch_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grant_stmt", - 65, + "index_stmt", + 198, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, grant_stmt), - &pg_query__grant_stmt__descriptor, + offsetof(PgQuery__Node, index_stmt), + &pg_query__index_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grant_role_stmt", - 66, + "create_stats_stmt", + 199, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, grant_role_stmt), - &pg_query__grant_role_stmt__descriptor, + offsetof(PgQuery__Node, create_stats_stmt), + &pg_query__create_stats_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_default_privileges_stmt", - 67, + "stats_elem", + 200, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_default_privileges_stmt), - &pg_query__alter_default_privileges_stmt__descriptor, + offsetof(PgQuery__Node, stats_elem), + &pg_query__stats_elem__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "close_portal_stmt", - 68, + "alter_stats_stmt", + 201, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, close_portal_stmt), - &pg_query__close_portal_stmt__descriptor, + offsetof(PgQuery__Node, alter_stats_stmt), + &pg_query__alter_stats_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cluster_stmt", - 69, + "create_function_stmt", + 202, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, cluster_stmt), - &pg_query__cluster_stmt__descriptor, + offsetof(PgQuery__Node, create_function_stmt), + &pg_query__create_function_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "copy_stmt", - 70, + "function_parameter", + 203, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, copy_stmt), - &pg_query__copy_stmt__descriptor, + offsetof(PgQuery__Node, function_parameter), + &pg_query__function_parameter__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_stmt", - 71, + "alter_function_stmt", + 204, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_stmt), - &pg_query__create_stmt__descriptor, + offsetof(PgQuery__Node, alter_function_stmt), + &pg_query__alter_function_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "define_stmt", - 72, + "do_stmt", + 205, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, define_stmt), - &pg_query__define_stmt__descriptor, + offsetof(PgQuery__Node, do_stmt), + &pg_query__do_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_stmt", - 73, + "inline_code_block", + 206, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_stmt), - &pg_query__drop_stmt__descriptor, + offsetof(PgQuery__Node, inline_code_block), + &pg_query__inline_code_block__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "truncate_stmt", - 74, + "call_stmt", + 207, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, truncate_stmt), - &pg_query__truncate_stmt__descriptor, + offsetof(PgQuery__Node, call_stmt), + &pg_query__call_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "comment_stmt", - 75, + "call_context", + 208, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, comment_stmt), - &pg_query__comment_stmt__descriptor, + offsetof(PgQuery__Node, call_context), + &pg_query__call_context__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fetch_stmt", - 76, + "rename_stmt", + 209, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, fetch_stmt), - &pg_query__fetch_stmt__descriptor, + offsetof(PgQuery__Node, rename_stmt), + &pg_query__rename_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "index_stmt", - 77, + "alter_object_depends_stmt", + 210, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, index_stmt), - &pg_query__index_stmt__descriptor, + offsetof(PgQuery__Node, alter_object_depends_stmt), + &pg_query__alter_object_depends_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_function_stmt", - 78, + "alter_object_schema_stmt", + 211, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_function_stmt), - &pg_query__create_function_stmt__descriptor, + offsetof(PgQuery__Node, alter_object_schema_stmt), + &pg_query__alter_object_schema_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_function_stmt", - 79, + "alter_owner_stmt", + 212, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_function_stmt), - &pg_query__alter_function_stmt__descriptor, + offsetof(PgQuery__Node, alter_owner_stmt), + &pg_query__alter_owner_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "do_stmt", - 80, + "alter_operator_stmt", + 213, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, do_stmt), - &pg_query__do_stmt__descriptor, + offsetof(PgQuery__Node, alter_operator_stmt), + &pg_query__alter_operator_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rename_stmt", - 81, + "alter_type_stmt", + 214, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, rename_stmt), - &pg_query__rename_stmt__descriptor, + offsetof(PgQuery__Node, alter_type_stmt), + &pg_query__alter_type_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "rule_stmt", - 82, + 215, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, rule_stmt), &pg_query__rule_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "notify_stmt", - 83, + 216, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, notify_stmt), &pg_query__notify_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "listen_stmt", - 84, + 217, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, listen_stmt), &pg_query__listen_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "unlisten_stmt", - 85, + 218, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, unlisten_stmt), &pg_query__unlisten_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "transaction_stmt", - 86, + 219, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, transaction_stmt), &pg_query__transaction_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "view_stmt", - 87, + "composite_type_stmt", + 220, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, view_stmt), - &pg_query__view_stmt__descriptor, + offsetof(PgQuery__Node, composite_type_stmt), + &pg_query__composite_type_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "load_stmt", - 88, + "create_enum_stmt", + 221, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, load_stmt), - &pg_query__load_stmt__descriptor, + offsetof(PgQuery__Node, create_enum_stmt), + &pg_query__create_enum_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_domain_stmt", - 89, + "create_range_stmt", + 222, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_domain_stmt), - &pg_query__create_domain_stmt__descriptor, + offsetof(PgQuery__Node, create_range_stmt), + &pg_query__create_range_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "createdb_stmt", - 90, + "alter_enum_stmt", + 223, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, createdb_stmt), - &pg_query__createdb_stmt__descriptor, + offsetof(PgQuery__Node, alter_enum_stmt), + &pg_query__alter_enum_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "view_stmt", + 224, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, view_stmt), + &pg_query__view_stmt__descriptor, + NULL, + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "load_stmt", + 225, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Node, node_case), + offsetof(PgQuery__Node, load_stmt), + &pg_query__load_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "dropdb_stmt", - 91, + "createdb_stmt", + 226, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, dropdb_stmt), - &pg_query__dropdb_stmt__descriptor, + offsetof(PgQuery__Node, createdb_stmt), + &pg_query__createdb_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "vacuum_stmt", - 92, + "alter_database_stmt", + 227, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, vacuum_stmt), - &pg_query__vacuum_stmt__descriptor, + offsetof(PgQuery__Node, alter_database_stmt), + &pg_query__alter_database_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "explain_stmt", - 93, + "alter_database_refresh_coll_stmt", + 228, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, explain_stmt), - &pg_query__explain_stmt__descriptor, + offsetof(PgQuery__Node, alter_database_refresh_coll_stmt), + &pg_query__alter_database_refresh_coll_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_table_as_stmt", - 94, + "alter_database_set_stmt", + 229, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_table_as_stmt), - &pg_query__create_table_as_stmt__descriptor, + offsetof(PgQuery__Node, alter_database_set_stmt), + &pg_query__alter_database_set_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_seq_stmt", - 95, + "dropdb_stmt", + 230, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_seq_stmt), - &pg_query__create_seq_stmt__descriptor, + offsetof(PgQuery__Node, dropdb_stmt), + &pg_query__dropdb_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_seq_stmt", - 96, + "alter_system_stmt", + 231, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_seq_stmt), - &pg_query__alter_seq_stmt__descriptor, + offsetof(PgQuery__Node, alter_system_stmt), + &pg_query__alter_system_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "variable_set_stmt", - 97, + "cluster_stmt", + 232, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, variable_set_stmt), - &pg_query__variable_set_stmt__descriptor, + offsetof(PgQuery__Node, cluster_stmt), + &pg_query__cluster_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "variable_show_stmt", - 98, + "vacuum_stmt", + 233, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, variable_show_stmt), - &pg_query__variable_show_stmt__descriptor, + offsetof(PgQuery__Node, vacuum_stmt), + &pg_query__vacuum_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "discard_stmt", - 99, + "vacuum_relation", + 234, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, discard_stmt), - &pg_query__discard_stmt__descriptor, + offsetof(PgQuery__Node, vacuum_relation), + &pg_query__vacuum_relation__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_trig_stmt", - 100, + "explain_stmt", + 235, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_trig_stmt), - &pg_query__create_trig_stmt__descriptor, + offsetof(PgQuery__Node, explain_stmt), + &pg_query__explain_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_plang_stmt", - 101, + "create_table_as_stmt", + 236, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_plang_stmt), - &pg_query__create_plang_stmt__descriptor, + offsetof(PgQuery__Node, create_table_as_stmt), + &pg_query__create_table_as_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_role_stmt", - 102, + "refresh_mat_view_stmt", + 237, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_role_stmt), - &pg_query__create_role_stmt__descriptor, + offsetof(PgQuery__Node, refresh_mat_view_stmt), + &pg_query__refresh_mat_view_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_role_stmt", - 103, + "check_point_stmt", + 238, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_role_stmt), - &pg_query__alter_role_stmt__descriptor, + offsetof(PgQuery__Node, check_point_stmt), + &pg_query__check_point_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_role_stmt", - 104, + "discard_stmt", + 239, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_role_stmt), - &pg_query__drop_role_stmt__descriptor, + offsetof(PgQuery__Node, discard_stmt), + &pg_query__discard_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "lock_stmt", - 105, + 240, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, lock_stmt), &pg_query__lock_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "constraints_set_stmt", - 106, + 241, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, constraints_set_stmt), &pg_query__constraints_set_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "reindex_stmt", - 107, + 242, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), offsetof(PgQuery__Node, reindex_stmt), &pg_query__reindex_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "check_point_stmt", - 108, + "create_conversion_stmt", + 243, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, check_point_stmt), - &pg_query__check_point_stmt__descriptor, + offsetof(PgQuery__Node, create_conversion_stmt), + &pg_query__create_conversion_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_schema_stmt", - 109, + "create_cast_stmt", + 244, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_schema_stmt), - &pg_query__create_schema_stmt__descriptor, + offsetof(PgQuery__Node, create_cast_stmt), + &pg_query__create_cast_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_database_stmt", - 110, + "create_transform_stmt", + 245, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_database_stmt), - &pg_query__alter_database_stmt__descriptor, + offsetof(PgQuery__Node, create_transform_stmt), + &pg_query__create_transform_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_database_refresh_coll_stmt", - 111, + "prepare_stmt", + 246, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_database_refresh_coll_stmt), - &pg_query__alter_database_refresh_coll_stmt__descriptor, + offsetof(PgQuery__Node, prepare_stmt), + &pg_query__prepare_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_database_set_stmt", - 112, + "execute_stmt", + 247, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_database_set_stmt), - &pg_query__alter_database_set_stmt__descriptor, + offsetof(PgQuery__Node, execute_stmt), + &pg_query__execute_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_role_set_stmt", - 113, + "deallocate_stmt", + 248, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_role_set_stmt), - &pg_query__alter_role_set_stmt__descriptor, + offsetof(PgQuery__Node, deallocate_stmt), + &pg_query__deallocate_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_conversion_stmt", - 114, + "drop_owned_stmt", + 249, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_conversion_stmt), - &pg_query__create_conversion_stmt__descriptor, + offsetof(PgQuery__Node, drop_owned_stmt), + &pg_query__drop_owned_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_cast_stmt", - 115, + "reassign_owned_stmt", + 250, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_cast_stmt), - &pg_query__create_cast_stmt__descriptor, + offsetof(PgQuery__Node, reassign_owned_stmt), + &pg_query__reassign_owned_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_op_class_stmt", - 116, + "alter_tsdictionary_stmt", + 251, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_op_class_stmt), - &pg_query__create_op_class_stmt__descriptor, + offsetof(PgQuery__Node, alter_tsdictionary_stmt), + &pg_query__alter_tsdictionary_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_op_family_stmt", - 117, + "alter_tsconfiguration_stmt", + 252, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_op_family_stmt), - &pg_query__create_op_family_stmt__descriptor, + offsetof(PgQuery__Node, alter_tsconfiguration_stmt), + &pg_query__alter_tsconfiguration_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_op_family_stmt", - 118, + "publication_table", + 253, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_op_family_stmt), - &pg_query__alter_op_family_stmt__descriptor, + offsetof(PgQuery__Node, publication_table), + &pg_query__publication_table__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "prepare_stmt", - 119, + "publication_obj_spec", + 254, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, prepare_stmt), - &pg_query__prepare_stmt__descriptor, + offsetof(PgQuery__Node, publication_obj_spec), + &pg_query__publication_obj_spec__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "execute_stmt", - 120, + "create_publication_stmt", + 255, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, execute_stmt), - &pg_query__execute_stmt__descriptor, + offsetof(PgQuery__Node, create_publication_stmt), + &pg_query__create_publication_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "deallocate_stmt", - 121, + "alter_publication_stmt", + 256, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, deallocate_stmt), - &pg_query__deallocate_stmt__descriptor, + offsetof(PgQuery__Node, alter_publication_stmt), + &pg_query__alter_publication_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "declare_cursor_stmt", - 122, + "create_subscription_stmt", + 257, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, declare_cursor_stmt), - &pg_query__declare_cursor_stmt__descriptor, + offsetof(PgQuery__Node, create_subscription_stmt), + &pg_query__create_subscription_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_table_space_stmt", - 123, + "alter_subscription_stmt", + 258, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_table_space_stmt), - &pg_query__create_table_space_stmt__descriptor, + offsetof(PgQuery__Node, alter_subscription_stmt), + &pg_query__alter_subscription_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_table_space_stmt", - 124, + "drop_subscription_stmt", + 259, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_table_space_stmt), - &pg_query__drop_table_space_stmt__descriptor, + offsetof(PgQuery__Node, drop_subscription_stmt), + &pg_query__drop_subscription_stmt__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_object_depends_stmt", - 125, + "integer", + 260, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_object_depends_stmt), - &pg_query__alter_object_depends_stmt__descriptor, + offsetof(PgQuery__Node, integer), + &pg_query__integer__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_object_schema_stmt", - 126, + "float", + 261, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_object_schema_stmt), - &pg_query__alter_object_schema_stmt__descriptor, + offsetof(PgQuery__Node, float_), + &pg_query__float__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_owner_stmt", - 127, + "boolean", + 262, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_owner_stmt), - &pg_query__alter_owner_stmt__descriptor, + offsetof(PgQuery__Node, boolean), + &pg_query__boolean__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_operator_stmt", - 128, + "string", + 263, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_operator_stmt), - &pg_query__alter_operator_stmt__descriptor, + offsetof(PgQuery__Node, string), + &pg_query__string__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_type_stmt", - 129, + "bit_string", + 264, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_type_stmt), - &pg_query__alter_type_stmt__descriptor, + offsetof(PgQuery__Node, bit_string), + &pg_query__bit_string__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_owned_stmt", - 130, + "list", + 265, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_owned_stmt), - &pg_query__drop_owned_stmt__descriptor, + offsetof(PgQuery__Node, list), + &pg_query__list__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "reassign_owned_stmt", - 131, + "int_list", + 266, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, reassign_owned_stmt), - &pg_query__reassign_owned_stmt__descriptor, + offsetof(PgQuery__Node, int_list), + &pg_query__int_list__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "composite_type_stmt", - 132, + "oid_list", + 267, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, composite_type_stmt), - &pg_query__composite_type_stmt__descriptor, + offsetof(PgQuery__Node, oid_list), + &pg_query__oid_list__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_enum_stmt", - 133, + "a_const", + 268, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_enum_stmt), - &pg_query__create_enum_stmt__descriptor, + offsetof(PgQuery__Node, a_const), + &pg_query__a__const__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__node__field_indices_by_name[] = { + 75, /* field[75] = a_array_expr */ + 267, /* field[267] = a_const */ + 67, /* field[67] = a_expr */ + 73, /* field[73] = a_indices */ + 74, /* field[74] = a_indirection */ + 72, /* field[72] = a_star */ + 147, /* field[147] = access_priv */ + 6, /* field[6] = aggref */ + 0, /* field[0] = alias */ + 143, /* field[143] = alter_collation_stmt */ + 227, /* field[227] = alter_database_refresh_coll_stmt */ + 228, /* field[228] = alter_database_set_stmt */ + 226, /* field[226] = alter_database_stmt */ + 149, /* field[149] = alter_default_privileges_stmt */ + 144, /* field[144] = alter_domain_stmt */ + 222, /* field[222] = alter_enum_stmt */ + 176, /* field[176] = alter_event_trig_stmt */ + 161, /* field[161] = alter_extension_contents_stmt */ + 160, /* field[160] = alter_extension_stmt */ + 163, /* field[163] = alter_fdw_stmt */ + 165, /* field[165] = alter_foreign_server_stmt */ + 203, /* field[203] = alter_function_stmt */ + 209, /* field[209] = alter_object_depends_stmt */ + 210, /* field[210] = alter_object_schema_stmt */ + 189, /* field[189] = alter_op_family_stmt */ + 212, /* field[212] = alter_operator_stmt */ + 211, /* field[211] = alter_owner_stmt */ + 172, /* field[172] = alter_policy_stmt */ + 255, /* field[255] = alter_publication_stmt */ + 180, /* field[180] = alter_role_set_stmt */ + 179, /* field[179] = alter_role_stmt */ + 183, /* field[183] = alter_seq_stmt */ + 200, /* field[200] = alter_stats_stmt */ + 257, /* field[257] = alter_subscription_stmt */ + 230, /* field[230] = alter_system_stmt */ + 142, /* field[142] = alter_table_cmd */ + 158, /* field[158] = alter_table_move_all_stmt */ + 157, /* field[157] = alter_table_space_options_stmt */ + 140, /* field[140] = alter_table_stmt */ + 251, /* field[251] = alter_tsconfiguration_stmt */ + 250, /* field[250] = alter_tsdictionary_stmt */ + 213, /* field[213] = alter_type_stmt */ + 168, /* field[168] = alter_user_mapping_stmt */ + 21, /* field[21] = alternative_sub_plan */ + 26, /* field[26] = array_coerce_expr */ + 32, /* field[32] = array_expr */ + 263, /* field[263] = bit_string */ + 18, /* field[18] = bool_expr */ + 261, /* field[261] = boolean */ + 50, /* field[50] = boolean_test */ + 207, /* field[207] = call_context */ + 206, /* field[206] = call_stmt */ + 29, /* field[29] = case_expr */ + 31, /* field[31] = case_test_expr */ + 30, /* field[30] = case_when */ + 237, /* field[237] = check_point_stmt */ + 195, /* field[195] = close_portal_stmt */ + 231, /* field[231] = cluster_stmt */ + 35, /* field[35] = coalesce_expr */ + 52, /* field[52] = coerce_to_domain */ + 53, /* field[53] = coerce_to_domain_value */ + 25, /* field[25] = coerce_via_io */ + 69, /* field[69] = collate_clause */ + 28, /* field[28] = collate_expr */ + 85, /* field[85] = column_def */ + 65, /* field[65] = column_ref */ + 192, /* field[192] = comment_stmt */ + 111, /* field[111] = common_table_expr */ + 219, /* field[219] = composite_type_stmt */ + 154, /* field[154] = constraint */ + 240, /* field[240] = constraints_set_stmt */ + 27, /* field[27] = convert_rowtype_expr */ + 150, /* field[150] = copy_stmt */ + 173, /* field[173] = create_am_stmt */ + 243, /* field[243] = create_cast_stmt */ + 242, /* field[242] = create_conversion_stmt */ + 185, /* field[185] = create_domain_stmt */ + 220, /* field[220] = create_enum_stmt */ + 175, /* field[175] = create_event_trig_stmt */ + 159, /* field[159] = create_extension_stmt */ + 162, /* field[162] = create_fdw_stmt */ + 164, /* field[164] = create_foreign_server_stmt */ + 166, /* field[166] = create_foreign_table_stmt */ + 201, /* field[201] = create_function_stmt */ + 187, /* field[187] = create_op_class_item */ + 186, /* field[186] = create_op_class_stmt */ + 188, /* field[188] = create_op_family_stmt */ + 177, /* field[177] = create_plang_stmt */ + 171, /* field[171] = create_policy_stmt */ + 254, /* field[254] = create_publication_stmt */ + 221, /* field[221] = create_range_stmt */ + 178, /* field[178] = create_role_stmt */ + 139, /* field[139] = create_schema_stmt */ + 182, /* field[182] = create_seq_stmt */ + 198, /* field[198] = create_stats_stmt */ + 153, /* field[153] = create_stmt */ + 256, /* field[256] = create_subscription_stmt */ + 235, /* field[235] = create_table_as_stmt */ + 155, /* field[155] = create_table_space_stmt */ + 244, /* field[244] = create_transform_stmt */ + 174, /* field[174] = create_trig_stmt */ + 167, /* field[167] = create_user_mapping_stmt */ + 225, /* field[225] = createdb_stmt */ + 110, /* field[110] = ctecycle_clause */ + 109, /* field[109] = ctesearch_clause */ + 55, /* field[55] = current_of_expr */ + 247, /* field[247] = deallocate_stmt */ + 194, /* field[194] = declare_cursor_stmt */ + 88, /* field[88] = def_elem */ + 184, /* field[184] = define_stmt */ + 132, /* field[132] = delete_stmt */ + 238, /* field[238] = discard_stmt */ + 15, /* field[15] = distinct_expr */ + 204, /* field[204] = do_stmt */ + 248, /* field[248] = drop_owned_stmt */ + 181, /* field[181] = drop_role_stmt */ + 190, /* field[190] = drop_stmt */ + 258, /* field[258] = drop_subscription_stmt */ + 156, /* field[156] = drop_table_space_stmt */ + 169, /* field[169] = drop_user_mapping_stmt */ + 229, /* field[229] = dropdb_stmt */ + 246, /* field[246] = execute_stmt */ + 234, /* field[234] = explain_stmt */ + 196, /* field[196] = fetch_stmt */ + 22, /* field[22] = field_select */ + 23, /* field[23] = field_store */ + 260, /* field[260] = float */ + 61, /* field[61] = from_expr */ + 71, /* field[71] = func_call */ + 12, /* field[12] = func_expr */ + 202, /* field[202] = function_parameter */ + 148, /* field[148] = grant_role_stmt */ + 145, /* field[145] = grant_stmt */ + 7, /* field[7] = grouping_func */ + 103, /* field[103] = grouping_set */ + 170, /* field[170] = import_foreign_schema_stmt */ + 87, /* field[87] = index_elem */ + 197, /* field[197] = index_stmt */ + 107, /* field[107] = infer_clause */ + 57, /* field[57] = inference_elem */ + 205, /* field[205] = inline_code_block */ + 131, /* field[131] = insert_stmt */ + 265, /* field[265] = int_list */ + 259, /* field[259] = integer */ + 3, /* field[3] = into_clause */ + 60, /* field[60] = join_expr */ + 127, /* field[127] = json_agg_constructor */ + 115, /* field[115] = json_argument */ + 129, /* field[129] = json_array_agg */ + 125, /* field[125] = json_array_constructor */ + 126, /* field[126] = json_array_query_constructor */ + 44, /* field[44] = json_behavior */ + 42, /* field[42] = json_constructor_expr */ + 45, /* field[45] = json_expr */ + 39, /* field[39] = json_format */ + 116, /* field[116] = json_func_expr */ + 43, /* field[43] = json_is_predicate */ + 120, /* field[120] = json_key_value */ + 128, /* field[128] = json_object_agg */ + 124, /* field[124] = json_object_constructor */ + 114, /* field[114] = json_output */ + 121, /* field[121] = json_parse_expr */ + 40, /* field[40] = json_returning */ + 122, /* field[122] = json_scalar_expr */ + 123, /* field[123] = json_serialize_expr */ + 118, /* field[118] = json_table */ + 119, /* field[119] = json_table_column */ + 46, /* field[46] = json_table_path */ + 47, /* field[47] = json_table_path_scan */ + 117, /* field[117] = json_table_path_spec */ + 48, /* field[48] = json_table_sibling_join */ + 41, /* field[41] = json_value_expr */ + 264, /* field[264] = list */ + 216, /* field[216] = listen_stmt */ + 224, /* field[224] = load_stmt */ + 239, /* field[239] = lock_stmt */ + 89, /* field[89] = locking_clause */ + 51, /* field[51] = merge_action */ + 134, /* field[134] = merge_stmt */ + 10, /* field[10] = merge_support_func */ + 112, /* field[112] = merge_when_clause */ + 36, /* field[36] = min_max_expr */ + 77, /* field[77] = multi_assign_ref */ + 13, /* field[13] = named_arg_expr */ + 56, /* field[56] = next_value_expr */ + 215, /* field[215] = notify_stmt */ + 16, /* field[16] = null_if_expr */ + 49, /* field[49] = null_test */ + 146, /* field[146] = object_with_args */ + 266, /* field[266] = oid_list */ + 108, /* field[108] = on_conflict_clause */ + 62, /* field[62] = on_conflict_expr */ + 14, /* field[14] = op_expr */ + 5, /* field[5] = param */ + 66, /* field[66] = param_ref */ + 93, /* field[93] = partition_bound_spec */ + 96, /* field[96] = partition_cmd */ + 91, /* field[91] = partition_elem */ + 94, /* field[94] = partition_range_datum */ + 92, /* field[92] = partition_spec */ + 138, /* field[138] = plassign_stmt */ + 245, /* field[245] = prepare_stmt */ + 253, /* field[253] = publication_obj_spec */ + 252, /* field[252] = publication_table */ + 63, /* field[63] = query */ + 81, /* field[81] = range_function */ + 80, /* field[80] = range_subselect */ + 82, /* field[82] = range_table_func */ + 83, /* field[83] = range_table_func_col */ + 84, /* field[84] = range_table_sample */ + 97, /* field[97] = range_tbl_entry */ + 99, /* field[99] = range_tbl_function */ + 59, /* field[59] = range_tbl_ref */ + 1, /* field[1] = range_var */ + 130, /* field[130] = raw_stmt */ + 249, /* field[249] = reassign_owned_stmt */ + 236, /* field[236] = refresh_mat_view_stmt */ + 241, /* field[241] = reindex_stmt */ + 24, /* field[24] = relabel_type */ + 208, /* field[208] = rename_stmt */ + 141, /* field[141] = replica_identity_stmt */ + 76, /* field[76] = res_target */ + 137, /* field[137] = return_stmt */ + 70, /* field[70] = role_spec */ + 34, /* field[34] = row_compare_expr */ + 33, /* field[33] = row_expr */ + 105, /* field[105] = row_mark_clause */ + 98, /* field[98] = rtepermission_info */ + 214, /* field[214] = rule_stmt */ + 17, /* field[17] = scalar_array_op_expr */ + 193, /* field[193] = sec_label_stmt */ + 135, /* field[135] = select_stmt */ + 136, /* field[136] = set_operation_stmt */ + 54, /* field[54] = set_to_default */ + 95, /* field[95] = single_partition_spec */ + 78, /* field[78] = sort_by */ + 102, /* field[102] = sort_group_clause */ + 37, /* field[37] = sqlvalue_function */ + 199, /* field[199] = stats_elem */ + 262, /* field[262] = string */ + 19, /* field[19] = sub_link */ + 20, /* field[20] = sub_plan */ + 11, /* field[11] = subscripting_ref */ + 2, /* field[2] = table_func */ + 86, /* field[86] = table_like_clause */ + 100, /* field[100] = table_sample_clause */ + 58, /* field[58] = target_entry */ + 218, /* field[218] = transaction_stmt */ + 113, /* field[113] = trigger_transition */ + 191, /* field[191] = truncate_stmt */ + 68, /* field[68] = type_cast */ + 64, /* field[64] = type_name */ + 217, /* field[217] = unlisten_stmt */ + 133, /* field[133] = update_stmt */ + 233, /* field[233] = vacuum_relation */ + 232, /* field[232] = vacuum_stmt */ + 4, /* field[4] = var */ + 151, /* field[151] = variable_set_stmt */ + 152, /* field[152] = variable_show_stmt */ + 223, /* field[223] = view_stmt */ + 104, /* field[104] = window_clause */ + 79, /* field[79] = window_def */ + 8, /* field[8] = window_func */ + 9, /* field[9] = window_func_run_condition */ + 101, /* field[101] = with_check_option */ + 106, /* field[106] = with_clause */ + 38, /* field[38] = xml_expr */ + 90, /* field[90] = xml_serialize */ +}; +static const ProtobufCIntRange pg_query__node__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 268 } +}; +const ProtobufCMessageDescriptor pg_query__node__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Node", + "Node", + "PgQuery__Node", + "pg_query", + sizeof(PgQuery__Node), + 268, + pg_query__node__field_descriptors, + pg_query__node__field_indices_by_name, + 1, pg_query__node__number_ranges, + (ProtobufCMessageInit) pg_query__node__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__integer__field_descriptors[1] = +{ { - "create_range_stmt", - 134, + "ival", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_range_stmt), - &pg_query__create_range_stmt__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Integer, ival), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__integer__field_indices_by_name[] = { + 0, /* field[0] = ival */ +}; +static const ProtobufCIntRange pg_query__integer__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__integer__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Integer", + "Integer", + "PgQuery__Integer", + "pg_query", + sizeof(PgQuery__Integer), + 1, + pg_query__integer__field_descriptors, + pg_query__integer__field_indices_by_name, + 1, pg_query__integer__number_ranges, + (ProtobufCMessageInit) pg_query__integer__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__float__field_descriptors[1] = +{ { - "alter_enum_stmt", - 135, + "fval", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__Float, fval), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__float__field_indices_by_name[] = { + 0, /* field[0] = fval */ +}; +static const ProtobufCIntRange pg_query__float__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__float__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Float", + "Float", + "PgQuery__Float", + "pg_query", + sizeof(PgQuery__Float), + 1, + pg_query__float__field_descriptors, + pg_query__float__field_indices_by_name, + 1, pg_query__float__number_ranges, + (ProtobufCMessageInit) pg_query__float__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__boolean__field_descriptors[1] = +{ + { + "boolval", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Boolean, boolval), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__boolean__field_indices_by_name[] = { + 0, /* field[0] = boolval */ +}; +static const ProtobufCIntRange pg_query__boolean__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__boolean__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Boolean", + "Boolean", + "PgQuery__Boolean", + "pg_query", + sizeof(PgQuery__Boolean), + 1, + pg_query__boolean__field_descriptors, + pg_query__boolean__field_indices_by_name, + 1, pg_query__boolean__number_ranges, + (ProtobufCMessageInit) pg_query__boolean__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__string__field_descriptors[1] = +{ + { + "sval", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__String, sval), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__string__field_indices_by_name[] = { + 0, /* field[0] = sval */ +}; +static const ProtobufCIntRange pg_query__string__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__string__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.String", + "String", + "PgQuery__String", + "pg_query", + sizeof(PgQuery__String), + 1, + pg_query__string__field_descriptors, + pg_query__string__field_indices_by_name, + 1, pg_query__string__number_ranges, + (ProtobufCMessageInit) pg_query__string__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__bit_string__field_descriptors[1] = +{ + { + "bsval", + 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__BitString, bsval), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__bit_string__field_indices_by_name[] = { + 0, /* field[0] = bsval */ +}; +static const ProtobufCIntRange pg_query__bit_string__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__bit_string__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.BitString", + "BitString", + "PgQuery__BitString", + "pg_query", + sizeof(PgQuery__BitString), + 1, + pg_query__bit_string__field_descriptors, + pg_query__bit_string__field_indices_by_name, + 1, pg_query__bit_string__number_ranges, + (ProtobufCMessageInit) pg_query__bit_string__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__list__field_descriptors[1] = +{ + { + "items", + 1, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_enum_stmt), - &pg_query__alter_enum_stmt__descriptor, + offsetof(PgQuery__List, n_items), + offsetof(PgQuery__List, items), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__list__field_indices_by_name[] = { + 0, /* field[0] = items */ +}; +static const ProtobufCIntRange pg_query__list__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__list__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.List", + "List", + "PgQuery__List", + "pg_query", + sizeof(PgQuery__List), + 1, + pg_query__list__field_descriptors, + pg_query__list__field_indices_by_name, + 1, pg_query__list__number_ranges, + (ProtobufCMessageInit) pg_query__list__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__oid_list__field_descriptors[1] = +{ { - "alter_tsdictionary_stmt", - 136, - PROTOBUF_C_LABEL_NONE, + "items", + 1, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_tsdictionary_stmt), - &pg_query__alter_tsdictionary_stmt__descriptor, + offsetof(PgQuery__OidList, n_items), + offsetof(PgQuery__OidList, items), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__oid_list__field_indices_by_name[] = { + 0, /* field[0] = items */ +}; +static const ProtobufCIntRange pg_query__oid_list__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__oid_list__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.OidList", + "OidList", + "PgQuery__OidList", + "pg_query", + sizeof(PgQuery__OidList), + 1, + pg_query__oid_list__field_descriptors, + pg_query__oid_list__field_indices_by_name, + 1, pg_query__oid_list__number_ranges, + (ProtobufCMessageInit) pg_query__oid_list__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__int_list__field_descriptors[1] = +{ { - "alter_tsconfiguration_stmt", - 137, - PROTOBUF_C_LABEL_NONE, + "items", + 1, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_tsconfiguration_stmt), - &pg_query__alter_tsconfiguration_stmt__descriptor, + offsetof(PgQuery__IntList, n_items), + offsetof(PgQuery__IntList, items), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__int_list__field_indices_by_name[] = { + 0, /* field[0] = items */ +}; +static const ProtobufCIntRange pg_query__int_list__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__int_list__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.IntList", + "IntList", + "PgQuery__IntList", + "pg_query", + sizeof(PgQuery__IntList), + 1, + pg_query__int_list__field_descriptors, + pg_query__int_list__field_indices_by_name, + 1, pg_query__int_list__number_ranges, + (ProtobufCMessageInit) pg_query__int_list__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__a__const__field_descriptors[7] = +{ { - "create_fdw_stmt", - 138, + "ival", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_fdw_stmt), - &pg_query__create_fdw_stmt__descriptor, + offsetof(PgQuery__AConst, val_case), + offsetof(PgQuery__AConst, ival), + &pg_query__integer__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_fdw_stmt", - 139, + "fval", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_fdw_stmt), - &pg_query__alter_fdw_stmt__descriptor, + offsetof(PgQuery__AConst, val_case), + offsetof(PgQuery__AConst, fval), + &pg_query__float__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_foreign_server_stmt", - 140, + "boolval", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_foreign_server_stmt), - &pg_query__create_foreign_server_stmt__descriptor, + offsetof(PgQuery__AConst, val_case), + offsetof(PgQuery__AConst, boolval), + &pg_query__boolean__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_foreign_server_stmt", - 141, + "sval", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_foreign_server_stmt), - &pg_query__alter_foreign_server_stmt__descriptor, + offsetof(PgQuery__AConst, val_case), + offsetof(PgQuery__AConst, sval), + &pg_query__string__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_user_mapping_stmt", - 142, + "bsval", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_user_mapping_stmt), - &pg_query__create_user_mapping_stmt__descriptor, + offsetof(PgQuery__AConst, val_case), + offsetof(PgQuery__AConst, bsval), + &pg_query__bit_string__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_user_mapping_stmt", - 143, + "isnull", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_user_mapping_stmt), - &pg_query__alter_user_mapping_stmt__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__AConst, isnull), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_user_mapping_stmt", - 144, + "location", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_user_mapping_stmt), - &pg_query__drop_user_mapping_stmt__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__AConst, location), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__a__const__field_indices_by_name[] = { + 2, /* field[2] = boolval */ + 4, /* field[4] = bsval */ + 1, /* field[1] = fval */ + 5, /* field[5] = isnull */ + 0, /* field[0] = ival */ + 6, /* field[6] = location */ + 3, /* field[3] = sval */ +}; +static const ProtobufCIntRange pg_query__a__const__number_ranges[2 + 1] = +{ + { 1, 0 }, + { 10, 5 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__a__const__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.A_Const", + "AConst", + "PgQuery__AConst", + "pg_query", + sizeof(PgQuery__AConst), + 7, + pg_query__a__const__field_descriptors, + pg_query__a__const__field_indices_by_name, + 2, pg_query__a__const__number_ranges, + (ProtobufCMessageInit) pg_query__a__const__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alias__field_descriptors[2] = +{ { - "alter_table_space_options_stmt", - 145, + "aliasname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_table_space_options_stmt), - &pg_query__alter_table_space_options_stmt__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__Alias, aliasname), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_table_move_all_stmt", - 146, - PROTOBUF_C_LABEL_NONE, + "colnames", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_table_move_all_stmt), - &pg_query__alter_table_move_all_stmt__descriptor, + offsetof(PgQuery__Alias, n_colnames), + offsetof(PgQuery__Alias, colnames), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alias__field_indices_by_name[] = { + 0, /* field[0] = aliasname */ + 1, /* field[1] = colnames */ +}; +static const ProtobufCIntRange pg_query__alias__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__alias__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Alias", + "Alias", + "PgQuery__Alias", + "pg_query", + sizeof(PgQuery__Alias), + 2, + pg_query__alias__field_descriptors, + pg_query__alias__field_indices_by_name, + 1, pg_query__alias__number_ranges, + (ProtobufCMessageInit) pg_query__alias__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__range_var__field_descriptors[7] = +{ { - "sec_label_stmt", - 147, + "catalogname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sec_label_stmt), - &pg_query__sec_label_stmt__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, catalogname), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_foreign_table_stmt", - 148, + "schemaname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_foreign_table_stmt), - &pg_query__create_foreign_table_stmt__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, schemaname), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "import_foreign_schema_stmt", - 149, + "relname", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, import_foreign_schema_stmt), - &pg_query__import_foreign_schema_stmt__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, relname), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_extension_stmt", - 150, + "inh", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_extension_stmt), - &pg_query__create_extension_stmt__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, inh), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_extension_stmt", - 151, + "relpersistence", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_extension_stmt), - &pg_query__alter_extension_stmt__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, relpersistence), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_extension_contents_stmt", - 152, + "alias", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_extension_contents_stmt), - &pg_query__alter_extension_contents_stmt__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, alias), + &pg_query__alias__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_event_trig_stmt", - 153, + "location", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_event_trig_stmt), - &pg_query__create_event_trig_stmt__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeVar, location), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__range_var__field_indices_by_name[] = { + 5, /* field[5] = alias */ + 0, /* field[0] = catalogname */ + 3, /* field[3] = inh */ + 6, /* field[6] = location */ + 2, /* field[2] = relname */ + 4, /* field[4] = relpersistence */ + 1, /* field[1] = schemaname */ +}; +static const ProtobufCIntRange pg_query__range_var__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__range_var__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RangeVar", + "RangeVar", + "PgQuery__RangeVar", + "pg_query", + sizeof(PgQuery__RangeVar), + 7, + pg_query__range_var__field_descriptors, + pg_query__range_var__field_indices_by_name, + 1, pg_query__range_var__number_ranges, + (ProtobufCMessageInit) pg_query__range_var__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[17] = +{ { - "alter_event_trig_stmt", - 154, + "functype", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_event_trig_stmt), - &pg_query__alter_event_trig_stmt__descriptor, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, functype), + &pg_query__table_func_type__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refresh_mat_view_stmt", - 155, - PROTOBUF_C_LABEL_NONE, + "ns_uris", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, refresh_mat_view_stmt), - &pg_query__refresh_mat_view_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_ns_uris), + offsetof(PgQuery__TableFunc, ns_uris), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "replica_identity_stmt", - 156, - PROTOBUF_C_LABEL_NONE, + "ns_names", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, replica_identity_stmt), - &pg_query__replica_identity_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_ns_names), + offsetof(PgQuery__TableFunc, ns_names), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_system_stmt", - 157, + "docexpr", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_system_stmt), - &pg_query__alter_system_stmt__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, docexpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_policy_stmt", - 158, + "rowexpr", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_policy_stmt), - &pg_query__create_policy_stmt__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, rowexpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_policy_stmt", - 159, - PROTOBUF_C_LABEL_NONE, + "colnames", + 6, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_policy_stmt), - &pg_query__alter_policy_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_colnames), + offsetof(PgQuery__TableFunc, colnames), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_transform_stmt", - 160, - PROTOBUF_C_LABEL_NONE, + "coltypes", + 7, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_transform_stmt), - &pg_query__create_transform_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_coltypes), + offsetof(PgQuery__TableFunc, coltypes), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_am_stmt", - 161, - PROTOBUF_C_LABEL_NONE, + "coltypmods", + 8, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_am_stmt), - &pg_query__create_am_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_coltypmods), + offsetof(PgQuery__TableFunc, coltypmods), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_publication_stmt", - 162, - PROTOBUF_C_LABEL_NONE, + "colcollations", + 9, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_publication_stmt), - &pg_query__create_publication_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_colcollations), + offsetof(PgQuery__TableFunc, colcollations), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_publication_stmt", - 163, - PROTOBUF_C_LABEL_NONE, + "colexprs", + 10, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_publication_stmt), - &pg_query__alter_publication_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_colexprs), + offsetof(PgQuery__TableFunc, colexprs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_subscription_stmt", - 164, - PROTOBUF_C_LABEL_NONE, + "coldefexprs", + 11, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_subscription_stmt), - &pg_query__create_subscription_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_coldefexprs), + offsetof(PgQuery__TableFunc, coldefexprs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_subscription_stmt", - 165, - PROTOBUF_C_LABEL_NONE, + "colvalexprs", + 12, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_subscription_stmt), - &pg_query__alter_subscription_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_colvalexprs), + offsetof(PgQuery__TableFunc, colvalexprs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "drop_subscription_stmt", - 166, - PROTOBUF_C_LABEL_NONE, + "passingvalexprs", + 13, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, drop_subscription_stmt), - &pg_query__drop_subscription_stmt__descriptor, + offsetof(PgQuery__TableFunc, n_passingvalexprs), + offsetof(PgQuery__TableFunc, passingvalexprs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_stats_stmt", - 167, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_stats_stmt), - &pg_query__create_stats_stmt__descriptor, + "notnulls", + 14, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__TableFunc, n_notnulls), + offsetof(PgQuery__TableFunc, notnulls), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_collation_stmt", - 168, + "plan", + 15, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_collation_stmt), - &pg_query__alter_collation_stmt__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, plan), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "call_stmt", - 169, + "ordinalitycol", + 16, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, call_stmt), - &pg_query__call_stmt__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, ordinalitycol), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alter_stats_stmt", - 170, + "location", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, alter_stats_stmt), - &pg_query__alter_stats_stmt__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TableFunc, location), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__table_func__field_indices_by_name[] = { + 8, /* field[8] = colcollations */ + 10, /* field[10] = coldefexprs */ + 9, /* field[9] = colexprs */ + 5, /* field[5] = colnames */ + 6, /* field[6] = coltypes */ + 7, /* field[7] = coltypmods */ + 11, /* field[11] = colvalexprs */ + 3, /* field[3] = docexpr */ + 0, /* field[0] = functype */ + 16, /* field[16] = location */ + 13, /* field[13] = notnulls */ + 2, /* field[2] = ns_names */ + 1, /* field[1] = ns_uris */ + 15, /* field[15] = ordinalitycol */ + 12, /* field[12] = passingvalexprs */ + 14, /* field[14] = plan */ + 4, /* field[4] = rowexpr */ +}; +static const ProtobufCIntRange pg_query__table_func__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 17 } +}; +const ProtobufCMessageDescriptor pg_query__table_func__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TableFunc", + "TableFunc", + "PgQuery__TableFunc", + "pg_query", + sizeof(PgQuery__TableFunc), + 17, + pg_query__table_func__field_descriptors, + pg_query__table_func__field_indices_by_name, + 1, pg_query__table_func__number_ranges, + (ProtobufCMessageInit) pg_query__table_func__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__into_clause__field_descriptors[8] = +{ { - "a_expr", - 171, + "rel", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_expr), - &pg_query__a__expr__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, rel), + &pg_query__range_var__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "column_ref", - 172, - PROTOBUF_C_LABEL_NONE, + "col_names", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, column_ref), - &pg_query__column_ref__descriptor, + offsetof(PgQuery__IntoClause, n_col_names), + offsetof(PgQuery__IntoClause, col_names), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "param_ref", - 173, + "access_method", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, param_ref), - &pg_query__param_ref__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, access_method), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_call", - 174, - PROTOBUF_C_LABEL_NONE, + "options", + 4, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, func_call), - &pg_query__func_call__descriptor, + offsetof(PgQuery__IntoClause, n_options), + offsetof(PgQuery__IntoClause, options), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "a_star", - 175, + "on_commit", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_star), - &pg_query__a__star__descriptor, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, on_commit), + &pg_query__on_commit_action__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "a_indices", - 176, + "table_space_name", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_indices), - &pg_query__a__indices__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, table_space_name), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "a_indirection", - 177, + "view_query", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_indirection), - &pg_query__a__indirection__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, view_query), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "a_array_expr", - 178, + "skip_data", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_array_expr), - &pg_query__a__array_expr__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__IntoClause, skip_data), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__into_clause__field_indices_by_name[] = { + 2, /* field[2] = access_method */ + 1, /* field[1] = col_names */ + 4, /* field[4] = on_commit */ + 3, /* field[3] = options */ + 0, /* field[0] = rel */ + 7, /* field[7] = skip_data */ + 5, /* field[5] = table_space_name */ + 6, /* field[6] = view_query */ +}; +static const ProtobufCIntRange pg_query__into_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__into_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.IntoClause", + "IntoClause", + "PgQuery__IntoClause", + "pg_query", + sizeof(PgQuery__IntoClause), + 8, + pg_query__into_clause__field_descriptors, + pg_query__into_clause__field_indices_by_name, + 1, pg_query__into_clause__number_ranges, + (ProtobufCMessageInit) pg_query__into_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__var__field_descriptors[9] = +{ { - "res_target", - 179, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, res_target), - &pg_query__res_target__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "multi_assign_ref", - 180, + "varno", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, multi_assign_ref), - &pg_query__multi_assign_ref__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, varno), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_cast", - 181, + "varattno", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, type_cast), - &pg_query__type_cast__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, varattno), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collate_clause", - 182, + "vartype", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, collate_clause), - &pg_query__collate_clause__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, vartype), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sort_by", - 183, + "vartypmod", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sort_by), - &pg_query__sort_by__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, vartypmod), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "window_def", - 184, + "varcollid", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, window_def), - &pg_query__window_def__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, varcollid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_subselect", - 185, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_subselect), - &pg_query__range_subselect__descriptor, + "varnullingrels", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__Var, n_varnullingrels), + offsetof(PgQuery__Var, varnullingrels), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_function", - 186, + "varlevelsup", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_function), - &pg_query__range_function__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, varlevelsup), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_table_sample", - 187, + "location", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_table_sample), - &pg_query__range_table_sample__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Var, location), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__var__field_indices_by_name[] = { + 8, /* field[8] = location */ + 2, /* field[2] = varattno */ + 5, /* field[5] = varcollid */ + 7, /* field[7] = varlevelsup */ + 1, /* field[1] = varno */ + 6, /* field[6] = varnullingrels */ + 3, /* field[3] = vartype */ + 4, /* field[4] = vartypmod */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__var__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 9 } +}; +const ProtobufCMessageDescriptor pg_query__var__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Var", + "Var", + "PgQuery__Var", + "pg_query", + sizeof(PgQuery__Var), + 9, + pg_query__var__field_descriptors, + pg_query__var__field_indices_by_name, + 1, pg_query__var__number_ranges, + (ProtobufCMessageInit) pg_query__var__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__param__field_descriptors[7] = +{ { - "range_table_func", - 188, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_table_func), - &pg_query__range_table_func__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_table_func_col", - 189, + "paramkind", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_table_func_col), - &pg_query__range_table_func_col__descriptor, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, paramkind), + &pg_query__param_kind__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", - 190, + "paramid", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, type_name), - &pg_query__type_name__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, paramid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "column_def", - 191, + "paramtype", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, column_def), - &pg_query__column_def__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, paramtype), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "index_elem", - 192, + "paramtypmod", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, index_elem), - &pg_query__index_elem__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, paramtypmod), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stats_elem", - 193, + "paramcollid", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, stats_elem), - &pg_query__stats_elem__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, paramcollid), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraint", - 194, + "location", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, constraint), - &pg_query__constraint__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Param, location), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__param__field_indices_by_name[] = { + 6, /* field[6] = location */ + 5, /* field[5] = paramcollid */ + 2, /* field[2] = paramid */ + 1, /* field[1] = paramkind */ + 3, /* field[3] = paramtype */ + 4, /* field[4] = paramtypmod */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__param__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__param__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Param", + "Param", + "PgQuery__Param", + "pg_query", + sizeof(PgQuery__Param), + 7, + pg_query__param__field_descriptors, + pg_query__param__field_indices_by_name, + 1, pg_query__param__number_ranges, + (ProtobufCMessageInit) pg_query__param__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__aggref__field_descriptors[19] = +{ { - "def_elem", - 195, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, def_elem), - &pg_query__def_elem__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "range_tbl_entry", - 196, + "aggfnoid", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_tbl_entry), - &pg_query__range_tbl_entry__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggfnoid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "range_tbl_function", - 197, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, range_tbl_function), - &pg_query__range_tbl_function__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table_sample_clause", - 198, + "aggtype", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, table_sample_clause), - &pg_query__table_sample_clause__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggtype), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "with_check_option", - 199, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, with_check_option), - &pg_query__with_check_option__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sort_group_clause", - 200, + "aggcollid", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, sort_group_clause), - &pg_query__sort_group_clause__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggcollid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "grouping_set", - 201, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, grouping_set), - &pg_query__grouping_set__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "window_clause", - 202, + "inputcollid", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, window_clause), - &pg_query__window_clause__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, inputcollid), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object_with_args", - 203, - PROTOBUF_C_LABEL_NONE, + "aggargtypes", + 6, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, object_with_args), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__Aggref, n_aggargtypes), + offsetof(PgQuery__Aggref, aggargtypes), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "access_priv", - 204, - PROTOBUF_C_LABEL_NONE, + "aggdirectargs", + 7, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, access_priv), - &pg_query__access_priv__descriptor, + offsetof(PgQuery__Aggref, n_aggdirectargs), + offsetof(PgQuery__Aggref, aggdirectargs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "create_op_class_item", - 205, - PROTOBUF_C_LABEL_NONE, + "args", + 8, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, create_op_class_item), - &pg_query__create_op_class_item__descriptor, + offsetof(PgQuery__Aggref, n_args), + offsetof(PgQuery__Aggref, args), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table_like_clause", - 206, - PROTOBUF_C_LABEL_NONE, + "aggorder", + 9, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, table_like_clause), - &pg_query__table_like_clause__descriptor, + offsetof(PgQuery__Aggref, n_aggorder), + offsetof(PgQuery__Aggref, aggorder), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "function_parameter", - 207, - PROTOBUF_C_LABEL_NONE, + "aggdistinct", + 10, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, function_parameter), - &pg_query__function_parameter__descriptor, + offsetof(PgQuery__Aggref, n_aggdistinct), + offsetof(PgQuery__Aggref, aggdistinct), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "locking_clause", - 208, + "aggfilter", + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, locking_clause), - &pg_query__locking_clause__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggfilter), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_mark_clause", - 209, + "aggstar", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, row_mark_clause), - &pg_query__row_mark_clause__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggstar), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "xml_serialize", - 210, + "aggvariadic", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, xml_serialize), - &pg_query__xml_serialize__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggvariadic), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", - 211, + "aggkind", + 14, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, with_clause), - &pg_query__with_clause__descriptor, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggkind), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + &protobuf_c_empty_string, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "infer_clause", - 212, + "agglevelsup", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, infer_clause), - &pg_query__infer_clause__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, agglevelsup), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict_clause", - 213, + "aggsplit", + 16, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, on_conflict_clause), - &pg_query__on_conflict_clause__descriptor, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggsplit), + &pg_query__agg_split__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctesearch_clause", - 214, + "aggno", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, ctesearch_clause), - &pg_query__ctesearch_clause__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggno), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctecycle_clause", - 215, + "aggtransno", + 18, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, ctecycle_clause), - &pg_query__ctecycle_clause__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, aggtransno), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "common_table_expr", - 216, + "location", + 19, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, common_table_expr), - &pg_query__common_table_expr__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Aggref, location), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__aggref__field_indices_by_name[] = { + 5, /* field[5] = aggargtypes */ + 3, /* field[3] = aggcollid */ + 6, /* field[6] = aggdirectargs */ + 9, /* field[9] = aggdistinct */ + 10, /* field[10] = aggfilter */ + 1, /* field[1] = aggfnoid */ + 13, /* field[13] = aggkind */ + 14, /* field[14] = agglevelsup */ + 16, /* field[16] = aggno */ + 8, /* field[8] = aggorder */ + 15, /* field[15] = aggsplit */ + 11, /* field[11] = aggstar */ + 17, /* field[17] = aggtransno */ + 2, /* field[2] = aggtype */ + 12, /* field[12] = aggvariadic */ + 7, /* field[7] = args */ + 4, /* field[4] = inputcollid */ + 18, /* field[18] = location */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__aggref__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 19 } +}; +const ProtobufCMessageDescriptor pg_query__aggref__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.Aggref", + "Aggref", + "PgQuery__Aggref", + "pg_query", + sizeof(PgQuery__Aggref), + 19, + pg_query__aggref__field_descriptors, + pg_query__aggref__field_indices_by_name, + 1, pg_query__aggref__number_ranges, + (ProtobufCMessageInit) pg_query__aggref__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__grouping_func__field_descriptors[5] = +{ { - "merge_when_clause", - 217, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, merge_when_clause), - &pg_query__merge_when_clause__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__GroupingFunc, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "role_spec", - 218, - PROTOBUF_C_LABEL_NONE, + "args", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, role_spec), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__GroupingFunc, n_args), + offsetof(PgQuery__GroupingFunc, args), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "trigger_transition", - 219, - PROTOBUF_C_LABEL_NONE, + "refs", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, trigger_transition), - &pg_query__trigger_transition__descriptor, + offsetof(PgQuery__GroupingFunc, n_refs), + offsetof(PgQuery__GroupingFunc, refs), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_elem", - 220, + "agglevelsup", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, partition_elem), - &pg_query__partition_elem__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__GroupingFunc, agglevelsup), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_spec", - 221, + "location", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, partition_spec), - &pg_query__partition_spec__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__GroupingFunc, location), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__grouping_func__field_indices_by_name[] = { + 3, /* field[3] = agglevelsup */ + 1, /* field[1] = args */ + 4, /* field[4] = location */ + 2, /* field[2] = refs */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__grouping_func__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__grouping_func__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.GroupingFunc", + "GroupingFunc", + "PgQuery__GroupingFunc", + "pg_query", + sizeof(PgQuery__GroupingFunc), + 5, + pg_query__grouping_func__field_descriptors, + pg_query__grouping_func__field_indices_by_name, + 1, pg_query__grouping_func__number_ranges, + (ProtobufCMessageInit) pg_query__grouping_func__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[12] = +{ { - "partition_bound_spec", - 222, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, partition_bound_spec), - &pg_query__partition_bound_spec__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_range_datum", - 223, + "winfnoid", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, partition_range_datum), - &pg_query__partition_range_datum__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, winfnoid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_cmd", - 224, + "wintype", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, partition_cmd), - &pg_query__partition_cmd__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, wintype), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "vacuum_relation", - 225, + "wincollid", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, vacuum_relation), - &pg_query__vacuum_relation__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, wincollid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "publication_obj_spec", - 226, + "inputcollid", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, publication_obj_spec), - &pg_query__publication_obj_spec__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, inputcollid), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "publication_table", - 227, - PROTOBUF_C_LABEL_NONE, + "args", + 6, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, publication_table), - &pg_query__publication_table__descriptor, + offsetof(PgQuery__WindowFunc, n_args), + offsetof(PgQuery__WindowFunc, args), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inline_code_block", - 228, + "aggfilter", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, inline_code_block), - &pg_query__inline_code_block__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, aggfilter), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "call_context", - 229, - PROTOBUF_C_LABEL_NONE, + "run_condition", + 8, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, call_context), - &pg_query__call_context__descriptor, + offsetof(PgQuery__WindowFunc, n_run_condition), + offsetof(PgQuery__WindowFunc, run_condition), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "integer", - 230, + "winref", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, integer), - &pg_query__integer__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, winref), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "float", - 231, + "winstar", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, float_), - &pg_query__float__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, winstar), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "boolean", - 232, + "winagg", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, boolean), - &pg_query__boolean__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, winagg), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "string", - 233, + "location", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, string), - &pg_query__string__descriptor, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFunc, location), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__window_func__field_indices_by_name[] = { + 6, /* field[6] = aggfilter */ + 5, /* field[5] = args */ + 4, /* field[4] = inputcollid */ + 11, /* field[11] = location */ + 7, /* field[7] = run_condition */ + 10, /* field[10] = winagg */ + 3, /* field[3] = wincollid */ + 1, /* field[1] = winfnoid */ + 8, /* field[8] = winref */ + 9, /* field[9] = winstar */ + 2, /* field[2] = wintype */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__window_func__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 12 } +}; +const ProtobufCMessageDescriptor pg_query__window_func__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.WindowFunc", + "WindowFunc", + "PgQuery__WindowFunc", + "pg_query", + sizeof(PgQuery__WindowFunc), + 12, + pg_query__window_func__field_descriptors, + pg_query__window_func__field_indices_by_name, + 1, pg_query__window_func__number_ranges, + (ProtobufCMessageInit) pg_query__window_func__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__window_func_run_condition__field_descriptors[5] = +{ { - "bit_string", - 234, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, bit_string), - &pg_query__bit_string__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, xpr), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "list", - 235, + "opno", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, list), - &pg_query__list__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, opno), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "int_list", - 236, + "inputcollid", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, int_list), - &pg_query__int_list__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, inputcollid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "oid_list", - 237, + "wfunc_left", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, oid_list), - &pg_query__oid_list__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, wfunc_left), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "a_const", - 238, + "arg", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Node, node_case), - offsetof(PgQuery__Node, a_const), - &pg_query__a__const__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowFuncRunCondition, arg), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__node__field_indices_by_name[] = { - 177, /* field[177] = a_array_expr */ - 237, /* field[237] = a_const */ - 170, /* field[170] = a_expr */ - 175, /* field[175] = a_indices */ - 176, /* field[176] = a_indirection */ - 174, /* field[174] = a_star */ - 203, /* field[203] = access_priv */ - 5, /* field[5] = aggref */ - 0, /* field[0] = alias */ - 167, /* field[167] = alter_collation_stmt */ - 110, /* field[110] = alter_database_refresh_coll_stmt */ - 111, /* field[111] = alter_database_set_stmt */ - 109, /* field[109] = alter_database_stmt */ - 66, /* field[66] = alter_default_privileges_stmt */ - 62, /* field[62] = alter_domain_stmt */ - 134, /* field[134] = alter_enum_stmt */ - 153, /* field[153] = alter_event_trig_stmt */ - 151, /* field[151] = alter_extension_contents_stmt */ - 150, /* field[150] = alter_extension_stmt */ - 138, /* field[138] = alter_fdw_stmt */ - 140, /* field[140] = alter_foreign_server_stmt */ - 78, /* field[78] = alter_function_stmt */ - 124, /* field[124] = alter_object_depends_stmt */ - 125, /* field[125] = alter_object_schema_stmt */ - 117, /* field[117] = alter_op_family_stmt */ - 127, /* field[127] = alter_operator_stmt */ - 126, /* field[126] = alter_owner_stmt */ - 158, /* field[158] = alter_policy_stmt */ - 162, /* field[162] = alter_publication_stmt */ - 112, /* field[112] = alter_role_set_stmt */ - 102, /* field[102] = alter_role_stmt */ - 95, /* field[95] = alter_seq_stmt */ - 169, /* field[169] = alter_stats_stmt */ - 164, /* field[164] = alter_subscription_stmt */ - 156, /* field[156] = alter_system_stmt */ - 61, /* field[61] = alter_table_cmd */ - 145, /* field[145] = alter_table_move_all_stmt */ - 144, /* field[144] = alter_table_space_options_stmt */ - 60, /* field[60] = alter_table_stmt */ - 136, /* field[136] = alter_tsconfiguration_stmt */ - 135, /* field[135] = alter_tsdictionary_stmt */ - 128, /* field[128] = alter_type_stmt */ - 142, /* field[142] = alter_user_mapping_stmt */ - 18, /* field[18] = alternative_sub_plan */ - 23, /* field[23] = array_coerce_expr */ - 29, /* field[29] = array_expr */ - 233, /* field[233] = bit_string */ - 15, /* field[15] = bool_expr */ - 231, /* field[231] = boolean */ - 37, /* field[37] = boolean_test */ - 228, /* field[228] = call_context */ - 168, /* field[168] = call_stmt */ - 26, /* field[26] = case_expr */ - 28, /* field[28] = case_test_expr */ - 27, /* field[27] = case_when */ - 107, /* field[107] = check_point_stmt */ - 67, /* field[67] = close_portal_stmt */ - 68, /* field[68] = cluster_stmt */ - 32, /* field[32] = coalesce_expr */ - 38, /* field[38] = coerce_to_domain */ - 39, /* field[39] = coerce_to_domain_value */ - 22, /* field[22] = coerce_via_io */ - 181, /* field[181] = collate_clause */ - 25, /* field[25] = collate_expr */ - 190, /* field[190] = column_def */ - 171, /* field[171] = column_ref */ - 74, /* field[74] = comment_stmt */ - 215, /* field[215] = common_table_expr */ - 131, /* field[131] = composite_type_stmt */ - 193, /* field[193] = constraint */ - 105, /* field[105] = constraints_set_stmt */ - 24, /* field[24] = convert_rowtype_expr */ - 69, /* field[69] = copy_stmt */ - 160, /* field[160] = create_am_stmt */ - 114, /* field[114] = create_cast_stmt */ - 113, /* field[113] = create_conversion_stmt */ - 88, /* field[88] = create_domain_stmt */ - 132, /* field[132] = create_enum_stmt */ - 152, /* field[152] = create_event_trig_stmt */ - 149, /* field[149] = create_extension_stmt */ - 137, /* field[137] = create_fdw_stmt */ - 139, /* field[139] = create_foreign_server_stmt */ - 147, /* field[147] = create_foreign_table_stmt */ - 77, /* field[77] = create_function_stmt */ - 204, /* field[204] = create_op_class_item */ - 115, /* field[115] = create_op_class_stmt */ - 116, /* field[116] = create_op_family_stmt */ - 100, /* field[100] = create_plang_stmt */ - 157, /* field[157] = create_policy_stmt */ - 161, /* field[161] = create_publication_stmt */ - 133, /* field[133] = create_range_stmt */ - 101, /* field[101] = create_role_stmt */ - 108, /* field[108] = create_schema_stmt */ - 94, /* field[94] = create_seq_stmt */ - 166, /* field[166] = create_stats_stmt */ - 70, /* field[70] = create_stmt */ - 163, /* field[163] = create_subscription_stmt */ - 93, /* field[93] = create_table_as_stmt */ - 122, /* field[122] = create_table_space_stmt */ - 159, /* field[159] = create_transform_stmt */ - 99, /* field[99] = create_trig_stmt */ - 141, /* field[141] = create_user_mapping_stmt */ - 89, /* field[89] = createdb_stmt */ - 214, /* field[214] = ctecycle_clause */ - 213, /* field[213] = ctesearch_clause */ - 41, /* field[41] = current_of_expr */ - 120, /* field[120] = deallocate_stmt */ - 121, /* field[121] = declare_cursor_stmt */ - 194, /* field[194] = def_elem */ - 71, /* field[71] = define_stmt */ - 54, /* field[54] = delete_stmt */ - 98, /* field[98] = discard_stmt */ - 12, /* field[12] = distinct_expr */ - 79, /* field[79] = do_stmt */ - 129, /* field[129] = drop_owned_stmt */ - 103, /* field[103] = drop_role_stmt */ - 72, /* field[72] = drop_stmt */ - 165, /* field[165] = drop_subscription_stmt */ - 123, /* field[123] = drop_table_space_stmt */ - 143, /* field[143] = drop_user_mapping_stmt */ - 90, /* field[90] = dropdb_stmt */ - 119, /* field[119] = execute_stmt */ - 92, /* field[92] = explain_stmt */ - 75, /* field[75] = fetch_stmt */ - 19, /* field[19] = field_select */ - 20, /* field[20] = field_store */ - 230, /* field[230] = float */ - 47, /* field[47] = from_expr */ - 173, /* field[173] = func_call */ - 9, /* field[9] = func_expr */ - 206, /* field[206] = function_parameter */ - 65, /* field[65] = grant_role_stmt */ - 64, /* field[64] = grant_stmt */ - 6, /* field[6] = grouping_func */ - 200, /* field[200] = grouping_set */ - 148, /* field[148] = import_foreign_schema_stmt */ - 191, /* field[191] = index_elem */ - 76, /* field[76] = index_stmt */ - 211, /* field[211] = infer_clause */ - 43, /* field[43] = inference_elem */ - 227, /* field[227] = inline_code_block */ - 53, /* field[53] = insert_stmt */ - 235, /* field[235] = int_list */ - 229, /* field[229] = integer */ - 49, /* field[49] = into_clause */ - 46, /* field[46] = join_expr */ - 234, /* field[234] = list */ - 83, /* field[83] = listen_stmt */ - 87, /* field[87] = load_stmt */ - 104, /* field[104] = lock_stmt */ - 207, /* field[207] = locking_clause */ - 50, /* field[50] = merge_action */ - 56, /* field[56] = merge_stmt */ - 216, /* field[216] = merge_when_clause */ - 33, /* field[33] = min_max_expr */ - 179, /* field[179] = multi_assign_ref */ - 10, /* field[10] = named_arg_expr */ - 42, /* field[42] = next_value_expr */ - 82, /* field[82] = notify_stmt */ - 13, /* field[13] = null_if_expr */ - 36, /* field[36] = null_test */ - 202, /* field[202] = object_with_args */ - 236, /* field[236] = oid_list */ - 212, /* field[212] = on_conflict_clause */ - 48, /* field[48] = on_conflict_expr */ - 11, /* field[11] = op_expr */ - 4, /* field[4] = param */ - 172, /* field[172] = param_ref */ - 221, /* field[221] = partition_bound_spec */ - 223, /* field[223] = partition_cmd */ - 219, /* field[219] = partition_elem */ - 222, /* field[222] = partition_range_datum */ - 220, /* field[220] = partition_spec */ - 59, /* field[59] = plassign_stmt */ - 118, /* field[118] = prepare_stmt */ - 225, /* field[225] = publication_obj_spec */ - 226, /* field[226] = publication_table */ - 52, /* field[52] = query */ - 185, /* field[185] = range_function */ - 184, /* field[184] = range_subselect */ - 187, /* field[187] = range_table_func */ - 188, /* field[188] = range_table_func_col */ - 186, /* field[186] = range_table_sample */ - 195, /* field[195] = range_tbl_entry */ - 196, /* field[196] = range_tbl_function */ - 45, /* field[45] = range_tbl_ref */ - 1, /* field[1] = range_var */ - 51, /* field[51] = raw_stmt */ - 130, /* field[130] = reassign_owned_stmt */ - 154, /* field[154] = refresh_mat_view_stmt */ - 106, /* field[106] = reindex_stmt */ - 21, /* field[21] = relabel_type */ - 80, /* field[80] = rename_stmt */ - 155, /* field[155] = replica_identity_stmt */ - 178, /* field[178] = res_target */ - 58, /* field[58] = return_stmt */ - 217, /* field[217] = role_spec */ - 31, /* field[31] = row_compare_expr */ - 30, /* field[30] = row_expr */ - 208, /* field[208] = row_mark_clause */ - 81, /* field[81] = rule_stmt */ - 14, /* field[14] = scalar_array_op_expr */ - 146, /* field[146] = sec_label_stmt */ - 57, /* field[57] = select_stmt */ - 63, /* field[63] = set_operation_stmt */ - 40, /* field[40] = set_to_default */ - 182, /* field[182] = sort_by */ - 199, /* field[199] = sort_group_clause */ - 34, /* field[34] = sqlvalue_function */ - 192, /* field[192] = stats_elem */ - 232, /* field[232] = string */ - 16, /* field[16] = sub_link */ - 17, /* field[17] = sub_plan */ - 8, /* field[8] = subscripting_ref */ - 2, /* field[2] = table_func */ - 205, /* field[205] = table_like_clause */ - 197, /* field[197] = table_sample_clause */ - 44, /* field[44] = target_entry */ - 85, /* field[85] = transaction_stmt */ - 218, /* field[218] = trigger_transition */ - 73, /* field[73] = truncate_stmt */ - 180, /* field[180] = type_cast */ - 189, /* field[189] = type_name */ - 84, /* field[84] = unlisten_stmt */ - 55, /* field[55] = update_stmt */ - 224, /* field[224] = vacuum_relation */ - 91, /* field[91] = vacuum_stmt */ - 3, /* field[3] = var */ - 96, /* field[96] = variable_set_stmt */ - 97, /* field[97] = variable_show_stmt */ - 86, /* field[86] = view_stmt */ - 201, /* field[201] = window_clause */ - 183, /* field[183] = window_def */ - 7, /* field[7] = window_func */ - 198, /* field[198] = with_check_option */ - 210, /* field[210] = with_clause */ - 35, /* field[35] = xml_expr */ - 209, /* field[209] = xml_serialize */ +static const unsigned pg_query__window_func_run_condition__field_indices_by_name[] = { + 4, /* field[4] = arg */ + 2, /* field[2] = inputcollid */ + 1, /* field[1] = opno */ + 3, /* field[3] = wfunc_left */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__node__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__window_func_run_condition__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 238 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__node__descriptor = +const ProtobufCMessageDescriptor pg_query__window_func_run_condition__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Node", - "Node", - "PgQuery__Node", + "pg_query.WindowFuncRunCondition", + "WindowFuncRunCondition", + "PgQuery__WindowFuncRunCondition", "pg_query", - sizeof(PgQuery__Node), - 238, - pg_query__node__field_descriptors, - pg_query__node__field_indices_by_name, - 1, pg_query__node__number_ranges, - (ProtobufCMessageInit) pg_query__node__init, + sizeof(PgQuery__WindowFuncRunCondition), + 5, + pg_query__window_func_run_condition__field_descriptors, + pg_query__window_func_run_condition__field_indices_by_name, + 1, pg_query__window_func_run_condition__number_ranges, + (ProtobufCMessageInit) pg_query__window_func_run_condition__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__integer__field_descriptors[1] = +static const ProtobufCFieldDescriptor pg_query__merge_support_func__field_descriptors[4] = { { - "ival", + "xpr", 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, xpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "msftype", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, msftype), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "msfcollid", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeSupportFunc, msfcollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Integer, ival), + offsetof(PgQuery__MergeSupportFunc, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__integer__field_indices_by_name[] = { - 0, /* field[0] = ival */ +static const unsigned pg_query__merge_support_func__field_indices_by_name[] = { + 3, /* field[3] = location */ + 2, /* field[2] = msfcollid */ + 1, /* field[1] = msftype */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__integer__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__merge_support_func__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__integer__descriptor = +const ProtobufCMessageDescriptor pg_query__merge_support_func__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Integer", - "Integer", - "PgQuery__Integer", + "pg_query.MergeSupportFunc", + "MergeSupportFunc", + "PgQuery__MergeSupportFunc", "pg_query", - sizeof(PgQuery__Integer), - 1, - pg_query__integer__field_descriptors, - pg_query__integer__field_indices_by_name, - 1, pg_query__integer__number_ranges, - (ProtobufCMessageInit) pg_query__integer__init, + sizeof(PgQuery__MergeSupportFunc), + 4, + pg_query__merge_support_func__field_descriptors, + pg_query__merge_support_func__field_indices_by_name, + 1, pg_query__merge_support_func__number_ranges, + (ProtobufCMessageInit) pg_query__merge_support_func__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__float__field_descriptors[1] = +static const ProtobufCFieldDescriptor pg_query__subscripting_ref__field_descriptors[10] = { { - "fval", + "xpr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Float, fval), + offsetof(PgQuery__SubscriptingRef, xpr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__float__field_indices_by_name[] = { - 0, /* field[0] = fval */ -}; -static const ProtobufCIntRange pg_query__float__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__float__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Float", - "Float", - "PgQuery__Float", - "pg_query", - sizeof(PgQuery__Float), - 1, - pg_query__float__field_descriptors, - pg_query__float__field_indices_by_name, - 1, pg_query__float__number_ranges, - (ProtobufCMessageInit) pg_query__float__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__boolean__field_descriptors[1] = -{ { - "boolval", - 1, + "refcontainertype", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Boolean, boolval), + offsetof(PgQuery__SubscriptingRef, refcontainertype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__boolean__field_indices_by_name[] = { - 0, /* field[0] = boolval */ -}; -static const ProtobufCIntRange pg_query__boolean__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__boolean__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Boolean", - "Boolean", - "PgQuery__Boolean", - "pg_query", - sizeof(PgQuery__Boolean), - 1, - pg_query__boolean__field_descriptors, - pg_query__boolean__field_indices_by_name, - 1, pg_query__boolean__number_ranges, - (ProtobufCMessageInit) pg_query__boolean__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__string__field_descriptors[1] = -{ { - "sval", - 1, + "refelemtype", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__String, sval), + offsetof(PgQuery__SubscriptingRef, refelemtype), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__string__field_indices_by_name[] = { - 0, /* field[0] = sval */ -}; -static const ProtobufCIntRange pg_query__string__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__string__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.String", - "String", - "PgQuery__String", - "pg_query", - sizeof(PgQuery__String), - 1, - pg_query__string__field_descriptors, - pg_query__string__field_indices_by_name, - 1, pg_query__string__number_ranges, - (ProtobufCMessageInit) pg_query__string__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__bit_string__field_descriptors[1] = -{ { - "bsval", - 1, + "refrestype", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__BitString, bsval), + offsetof(PgQuery__SubscriptingRef, refrestype), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__bit_string__field_indices_by_name[] = { - 0, /* field[0] = bsval */ -}; -static const ProtobufCIntRange pg_query__bit_string__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__bit_string__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.BitString", - "BitString", - "PgQuery__BitString", - "pg_query", - sizeof(PgQuery__BitString), - 1, - pg_query__bit_string__field_descriptors, - pg_query__bit_string__field_indices_by_name, - 1, pg_query__bit_string__number_ranges, - (ProtobufCMessageInit) pg_query__bit_string__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__list__field_descriptors[1] = -{ { - "items", - 1, + "reftypmod", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubscriptingRef, reftypmod), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "refcollid", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubscriptingRef, refcollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "refupperindexpr", + 7, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__List, n_items), - offsetof(PgQuery__List, items), + offsetof(PgQuery__SubscriptingRef, n_refupperindexpr), + offsetof(PgQuery__SubscriptingRef, refupperindexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__list__field_indices_by_name[] = { - 0, /* field[0] = items */ -}; -static const ProtobufCIntRange pg_query__list__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__list__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.List", - "List", - "PgQuery__List", - "pg_query", - sizeof(PgQuery__List), - 1, - pg_query__list__field_descriptors, - pg_query__list__field_indices_by_name, - 1, pg_query__list__number_ranges, - (ProtobufCMessageInit) pg_query__list__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__oid_list__field_descriptors[1] = -{ { - "items", - 1, + "reflowerindexpr", + 8, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OidList, n_items), - offsetof(PgQuery__OidList, items), + offsetof(PgQuery__SubscriptingRef, n_reflowerindexpr), + offsetof(PgQuery__SubscriptingRef, reflowerindexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__oid_list__field_indices_by_name[] = { - 0, /* field[0] = items */ -}; -static const ProtobufCIntRange pg_query__oid_list__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__oid_list__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OidList", - "OidList", - "PgQuery__OidList", - "pg_query", - sizeof(PgQuery__OidList), - 1, - pg_query__oid_list__field_descriptors, - pg_query__oid_list__field_indices_by_name, - 1, pg_query__oid_list__number_ranges, - (ProtobufCMessageInit) pg_query__oid_list__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__int_list__field_descriptors[1] = -{ { - "items", - 1, - PROTOBUF_C_LABEL_REPEATED, + "refexpr", + 9, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IntList, n_items), - offsetof(PgQuery__IntList, items), + 0, /* quantifier_offset */ + offsetof(PgQuery__SubscriptingRef, refexpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "refassgnexpr", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubscriptingRef, refassgnexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__int_list__field_indices_by_name[] = { - 0, /* field[0] = items */ +static const unsigned pg_query__subscripting_ref__field_indices_by_name[] = { + 9, /* field[9] = refassgnexpr */ + 5, /* field[5] = refcollid */ + 1, /* field[1] = refcontainertype */ + 2, /* field[2] = refelemtype */ + 8, /* field[8] = refexpr */ + 7, /* field[7] = reflowerindexpr */ + 3, /* field[3] = refrestype */ + 4, /* field[4] = reftypmod */ + 6, /* field[6] = refupperindexpr */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__int_list__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__subscripting_ref__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 10 } }; -const ProtobufCMessageDescriptor pg_query__int_list__descriptor = +const ProtobufCMessageDescriptor pg_query__subscripting_ref__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.IntList", - "IntList", - "PgQuery__IntList", + "pg_query.SubscriptingRef", + "SubscriptingRef", + "PgQuery__SubscriptingRef", "pg_query", - sizeof(PgQuery__IntList), - 1, - pg_query__int_list__field_descriptors, - pg_query__int_list__field_indices_by_name, - 1, pg_query__int_list__number_ranges, - (ProtobufCMessageInit) pg_query__int_list__init, + sizeof(PgQuery__SubscriptingRef), + 10, + pg_query__subscripting_ref__field_descriptors, + pg_query__subscripting_ref__field_indices_by_name, + 1, pg_query__subscripting_ref__number_ranges, + (ProtobufCMessageInit) pg_query__subscripting_ref__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__a__const__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__func_expr__field_descriptors[10] = { { - "ival", + "xpr", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AConst, val_case), - offsetof(PgQuery__AConst, ival), - &pg_query__integer__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, xpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcid", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funcid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcresulttype", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funcresulttype), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fval", - 2, + "funcretset", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AConst, val_case), - offsetof(PgQuery__AConst, fval), - &pg_query__float__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funcretset), + NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "boolval", - 3, + "funcvariadic", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AConst, val_case), - offsetof(PgQuery__AConst, boolval), - &pg_query__boolean__descriptor, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funcvariadic), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sval", - 4, + "funcformat", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AConst, val_case), - offsetof(PgQuery__AConst, sval), - &pg_query__string__descriptor, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funcformat), + &pg_query__coercion_form__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "bsval", - 5, + "funccollid", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AConst, val_case), - offsetof(PgQuery__AConst, bsval), - &pg_query__bit_string__descriptor, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__FuncExpr, funccollid), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_ONEOF, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "isnull", - 10, + "inputcollid", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AConst, isnull), + offsetof(PgQuery__FuncExpr, inputcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "args", + 9, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__FuncExpr, n_args), + offsetof(PgQuery__FuncExpr, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "location", - 11, + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AConst, location), + offsetof(PgQuery__FuncExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__a__const__field_indices_by_name[] = { - 2, /* field[2] = boolval */ - 4, /* field[4] = bsval */ - 1, /* field[1] = fval */ - 5, /* field[5] = isnull */ - 0, /* field[0] = ival */ - 6, /* field[6] = location */ - 3, /* field[3] = sval */ +static const unsigned pg_query__func_expr__field_indices_by_name[] = { + 8, /* field[8] = args */ + 6, /* field[6] = funccollid */ + 5, /* field[5] = funcformat */ + 1, /* field[1] = funcid */ + 2, /* field[2] = funcresulttype */ + 3, /* field[3] = funcretset */ + 4, /* field[4] = funcvariadic */ + 7, /* field[7] = inputcollid */ + 9, /* field[9] = location */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__a__const__number_ranges[2 + 1] = +static const ProtobufCIntRange pg_query__func_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 10, 5 }, - { 0, 7 } + { 0, 10 } }; -const ProtobufCMessageDescriptor pg_query__a__const__descriptor = +const ProtobufCMessageDescriptor pg_query__func_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_Const", - "AConst", - "PgQuery__AConst", + "pg_query.FuncExpr", + "FuncExpr", + "PgQuery__FuncExpr", "pg_query", - sizeof(PgQuery__AConst), - 7, - pg_query__a__const__field_descriptors, - pg_query__a__const__field_indices_by_name, - 2, pg_query__a__const__number_ranges, - (ProtobufCMessageInit) pg_query__a__const__init, + sizeof(PgQuery__FuncExpr), + 10, + pg_query__func_expr__field_descriptors, + pg_query__func_expr__field_indices_by_name, + 1, pg_query__func_expr__number_ranges, + (ProtobufCMessageInit) pg_query__func_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alias__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__named_arg_expr__field_descriptors[5] = { { - "aliasname", + "xpr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Alias, aliasname), + offsetof(PgQuery__NamedArgExpr, xpr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colnames", + "arg", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Alias, n_colnames), - offsetof(PgQuery__Alias, colnames), + 0, /* quantifier_offset */ + offsetof(PgQuery__NamedArgExpr, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "name", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__NamedArgExpr, name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "argnumber", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NamedArgExpr, argnumber), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NamedArgExpr, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__alias__field_indices_by_name[] = { - 0, /* field[0] = aliasname */ - 1, /* field[1] = colnames */ +static const unsigned pg_query__named_arg_expr__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 3, /* field[3] = argnumber */ + 4, /* field[4] = location */ + 2, /* field[2] = name */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__alias__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__named_arg_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__alias__descriptor = +const ProtobufCMessageDescriptor pg_query__named_arg_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Alias", - "Alias", - "PgQuery__Alias", + "pg_query.NamedArgExpr", + "NamedArgExpr", + "PgQuery__NamedArgExpr", "pg_query", - sizeof(PgQuery__Alias), - 2, - pg_query__alias__field_descriptors, - pg_query__alias__field_indices_by_name, - 1, pg_query__alias__number_ranges, - (ProtobufCMessageInit) pg_query__alias__init, + sizeof(PgQuery__NamedArgExpr), + 5, + pg_query__named_arg_expr__field_descriptors, + pg_query__named_arg_expr__field_indices_by_name, + 1, pg_query__named_arg_expr__number_ranges, + (ProtobufCMessageInit) pg_query__named_arg_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_var__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__op_expr__field_descriptors[8] = { { - "catalogname", + "xpr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, catalogname), + offsetof(PgQuery__OpExpr, xpr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "schemaname", + "opno", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, schemaname), + offsetof(PgQuery__OpExpr, opno), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relname", + "opresulttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, relname), + offsetof(PgQuery__OpExpr, opresulttype), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inh", + "opretset", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, inh), + offsetof(PgQuery__OpExpr, opretset), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relpersistence", + "opcollid", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, relpersistence), + offsetof(PgQuery__OpExpr, opcollid), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", + "inputcollid", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__OpExpr, inputcollid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "args", 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__OpExpr, n_args), + offsetof(PgQuery__OpExpr, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeVar, location), + offsetof(PgQuery__OpExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_var__field_indices_by_name[] = { - 5, /* field[5] = alias */ - 0, /* field[0] = catalogname */ - 3, /* field[3] = inh */ - 6, /* field[6] = location */ - 2, /* field[2] = relname */ - 4, /* field[4] = relpersistence */ - 1, /* field[1] = schemaname */ +static const unsigned pg_query__op_expr__field_indices_by_name[] = { + 6, /* field[6] = args */ + 5, /* field[5] = inputcollid */ + 7, /* field[7] = location */ + 4, /* field[4] = opcollid */ + 1, /* field[1] = opno */ + 2, /* field[2] = opresulttype */ + 3, /* field[3] = opretset */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__range_var__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__op_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__range_var__descriptor = +const ProtobufCMessageDescriptor pg_query__op_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeVar", - "RangeVar", - "PgQuery__RangeVar", + "pg_query.OpExpr", + "OpExpr", + "PgQuery__OpExpr", "pg_query", - sizeof(PgQuery__RangeVar), - 7, - pg_query__range_var__field_descriptors, - pg_query__range_var__field_indices_by_name, - 1, pg_query__range_var__number_ranges, - (ProtobufCMessageInit) pg_query__range_var__init, + sizeof(PgQuery__OpExpr), + 8, + pg_query__op_expr__field_descriptors, + pg_query__op_expr__field_indices_by_name, + 1, pg_query__op_expr__number_ranges, + (ProtobufCMessageInit) pg_query__op_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__table_func__field_descriptors[13] = +static const ProtobufCFieldDescriptor pg_query__distinct_expr__field_descriptors[8] = { { - "ns_uris", + "xpr", 1, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_ns_uris), - offsetof(PgQuery__TableFunc, ns_uris), + 0, /* quantifier_offset */ + offsetof(PgQuery__DistinctExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ns_names", + "opno", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_ns_names), - offsetof(PgQuery__TableFunc, ns_names), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__DistinctExpr, opno), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "docexpr", + "opresulttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TableFunc, docexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__DistinctExpr, opresulttype), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rowexpr", + "opretset", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TableFunc, rowexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__DistinctExpr, opretset), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colnames", + "opcollid", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_colnames), - offsetof(PgQuery__TableFunc, colnames), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__DistinctExpr, opcollid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coltypes", + "inputcollid", 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_coltypes), - offsetof(PgQuery__TableFunc, coltypes), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__DistinctExpr, inputcollid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coltypmods", + "args", 7, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_coltypmods), - offsetof(PgQuery__TableFunc, coltypmods), + offsetof(PgQuery__DistinctExpr, n_args), + offsetof(PgQuery__DistinctExpr, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colcollations", + "location", 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_colcollations), - offsetof(PgQuery__TableFunc, colcollations), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__DistinctExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__distinct_expr__field_indices_by_name[] = { + 6, /* field[6] = args */ + 5, /* field[5] = inputcollid */ + 7, /* field[7] = location */ + 4, /* field[4] = opcollid */ + 1, /* field[1] = opno */ + 2, /* field[2] = opresulttype */ + 3, /* field[3] = opretset */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__distinct_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__distinct_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DistinctExpr", + "DistinctExpr", + "PgQuery__DistinctExpr", + "pg_query", + sizeof(PgQuery__DistinctExpr), + 8, + pg_query__distinct_expr__field_descriptors, + pg_query__distinct_expr__field_indices_by_name, + 1, pg_query__distinct_expr__number_ranges, + (ProtobufCMessageInit) pg_query__distinct_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__null_if_expr__field_descriptors[8] = +{ { - "colexprs", - 9, - PROTOBUF_C_LABEL_REPEATED, + "xpr", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_colexprs), - offsetof(PgQuery__TableFunc, colexprs), + 0, /* quantifier_offset */ + offsetof(PgQuery__NullIfExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coldefexprs", - 10, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableFunc, n_coldefexprs), - offsetof(PgQuery__TableFunc, coldefexprs), - &pg_query__node__descriptor, + "opno", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullIfExpr, opno), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "notnulls", - 11, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__TableFunc, n_notnulls), - offsetof(PgQuery__TableFunc, notnulls), + "opresulttype", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullIfExpr, opresulttype), + NULL, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "opretset", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullIfExpr, opretset), NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + NULL, + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ordinalitycol", - 12, + "opcollid", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TableFunc, ordinalitycol), + offsetof(PgQuery__NullIfExpr, opcollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inputcollid", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullIfExpr, inputcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "args", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__NullIfExpr, n_args), + offsetof(PgQuery__NullIfExpr, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { "location", - 13, + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TableFunc, location), + offsetof(PgQuery__NullIfExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__table_func__field_indices_by_name[] = { - 7, /* field[7] = colcollations */ - 9, /* field[9] = coldefexprs */ - 8, /* field[8] = colexprs */ - 4, /* field[4] = colnames */ - 5, /* field[5] = coltypes */ - 6, /* field[6] = coltypmods */ - 2, /* field[2] = docexpr */ - 12, /* field[12] = location */ - 10, /* field[10] = notnulls */ - 1, /* field[1] = ns_names */ - 0, /* field[0] = ns_uris */ - 11, /* field[11] = ordinalitycol */ - 3, /* field[3] = rowexpr */ +static const unsigned pg_query__null_if_expr__field_indices_by_name[] = { + 6, /* field[6] = args */ + 5, /* field[5] = inputcollid */ + 7, /* field[7] = location */ + 4, /* field[4] = opcollid */ + 1, /* field[1] = opno */ + 2, /* field[2] = opresulttype */ + 3, /* field[3] = opretset */ + 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__table_func__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__null_if_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 13 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__table_func__descriptor = +const ProtobufCMessageDescriptor pg_query__null_if_expr__descriptor = { - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TableFunc", - "TableFunc", - "PgQuery__TableFunc", + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.NullIfExpr", + "NullIfExpr", + "PgQuery__NullIfExpr", "pg_query", - sizeof(PgQuery__TableFunc), - 13, - pg_query__table_func__field_descriptors, - pg_query__table_func__field_indices_by_name, - 1, pg_query__table_func__number_ranges, - (ProtobufCMessageInit) pg_query__table_func__init, + sizeof(PgQuery__NullIfExpr), + 8, + pg_query__null_if_expr__field_descriptors, + pg_query__null_if_expr__field_indices_by_name, + 1, pg_query__null_if_expr__number_ranges, + (ProtobufCMessageInit) pg_query__null_if_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__var__field_descriptors[10] = +static const ProtobufCFieldDescriptor pg_query__scalar_array_op_expr__field_descriptors[6] = { { "xpr", @@ -14908,154 +18653,179 @@ static const ProtobufCFieldDescriptor pg_query__var__field_descriptors[10] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, xpr), + offsetof(PgQuery__ScalarArrayOpExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "varno", + "opno", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varno), + offsetof(PgQuery__ScalarArrayOpExpr, opno), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "varattno", + "use_or", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varattno), + offsetof(PgQuery__ScalarArrayOpExpr, use_or), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "vartype", + "inputcollid", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, vartype), + offsetof(PgQuery__ScalarArrayOpExpr, inputcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "vartypmod", + "args", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__Var, vartypmod), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ScalarArrayOpExpr, n_args), + offsetof(PgQuery__ScalarArrayOpExpr, args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "varcollid", + "location", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varcollid), + offsetof(PgQuery__ScalarArrayOpExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__scalar_array_op_expr__field_indices_by_name[] = { + 4, /* field[4] = args */ + 3, /* field[3] = inputcollid */ + 5, /* field[5] = location */ + 1, /* field[1] = opno */ + 2, /* field[2] = use_or */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__scalar_array_op_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__scalar_array_op_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ScalarArrayOpExpr", + "ScalarArrayOpExpr", + "PgQuery__ScalarArrayOpExpr", + "pg_query", + sizeof(PgQuery__ScalarArrayOpExpr), + 6, + pg_query__scalar_array_op_expr__field_descriptors, + pg_query__scalar_array_op_expr__field_indices_by_name, + 1, pg_query__scalar_array_op_expr__number_ranges, + (ProtobufCMessageInit) pg_query__scalar_array_op_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__bool_expr__field_descriptors[4] = +{ { - "varlevelsup", - 7, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varlevelsup), - NULL, + offsetof(PgQuery__BoolExpr, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "varnosyn", - 8, + "boolop", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varnosyn), - NULL, + offsetof(PgQuery__BoolExpr, boolop), + &pg_query__bool_expr_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "varattnosyn", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__Var, varattnosyn), - NULL, + "args", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__BoolExpr, n_args), + offsetof(PgQuery__BoolExpr, args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 10, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Var, location), + offsetof(PgQuery__BoolExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__var__field_indices_by_name[] = { - 9, /* field[9] = location */ - 2, /* field[2] = varattno */ - 8, /* field[8] = varattnosyn */ - 5, /* field[5] = varcollid */ - 6, /* field[6] = varlevelsup */ - 1, /* field[1] = varno */ - 7, /* field[7] = varnosyn */ - 3, /* field[3] = vartype */ - 4, /* field[4] = vartypmod */ +static const unsigned pg_query__bool_expr__field_indices_by_name[] = { + 2, /* field[2] = args */ + 1, /* field[1] = boolop */ + 3, /* field[3] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__var__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__bool_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__var__descriptor = +const ProtobufCMessageDescriptor pg_query__bool_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Var", - "Var", - "PgQuery__Var", + "pg_query.BoolExpr", + "BoolExpr", + "PgQuery__BoolExpr", "pg_query", - sizeof(PgQuery__Var), - 10, - pg_query__var__field_descriptors, - pg_query__var__field_indices_by_name, - 1, pg_query__var__number_ranges, - (ProtobufCMessageInit) pg_query__var__init, + sizeof(PgQuery__BoolExpr), + 4, + pg_query__bool_expr__field_descriptors, + pg_query__bool_expr__field_indices_by_name, + 1, pg_query__bool_expr__number_ranges, + (ProtobufCMessageInit) pg_query__bool_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__param__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__sub_link__field_descriptors[7] = { { "xpr", @@ -15063,68 +18833,68 @@ static const ProtobufCFieldDescriptor pg_query__param__field_descriptors[7] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, xpr), + offsetof(PgQuery__SubLink, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "paramkind", + "sub_link_type", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, paramkind), - &pg_query__param_kind__descriptor, + offsetof(PgQuery__SubLink, sub_link_type), + &pg_query__sub_link_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "paramid", + "sub_link_id", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, paramid), + offsetof(PgQuery__SubLink, sub_link_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "paramtype", + "testexpr", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, paramtype), - NULL, + offsetof(PgQuery__SubLink, testexpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "paramtypmod", + "oper_name", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__Param, paramtypmod), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SubLink, n_oper_name), + offsetof(PgQuery__SubLink, oper_name), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "paramcollid", + "subselect", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, paramcollid), - NULL, + offsetof(PgQuery__SubLink, subselect), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -15135,43 +18905,43 @@ static const ProtobufCFieldDescriptor pg_query__param__field_descriptors[7] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Param, location), + offsetof(PgQuery__SubLink, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__param__field_indices_by_name[] = { +static const unsigned pg_query__sub_link__field_indices_by_name[] = { 6, /* field[6] = location */ - 5, /* field[5] = paramcollid */ - 2, /* field[2] = paramid */ - 1, /* field[1] = paramkind */ - 3, /* field[3] = paramtype */ - 4, /* field[4] = paramtypmod */ + 4, /* field[4] = oper_name */ + 2, /* field[2] = sub_link_id */ + 1, /* field[1] = sub_link_type */ + 5, /* field[5] = subselect */ + 3, /* field[3] = testexpr */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__param__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__sub_link__number_ranges[1 + 1] = { { 1, 0 }, { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__param__descriptor = +const ProtobufCMessageDescriptor pg_query__sub_link__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Param", - "Param", - "PgQuery__Param", + "pg_query.SubLink", + "SubLink", + "PgQuery__SubLink", "pg_query", - sizeof(PgQuery__Param), + sizeof(PgQuery__SubLink), 7, - pg_query__param__field_descriptors, - pg_query__param__field_indices_by_name, - 1, pg_query__param__number_ranges, - (ProtobufCMessageInit) pg_query__param__init, + pg_query__sub_link__field_descriptors, + pg_query__sub_link__field_indices_by_name, + 1, pg_query__sub_link__number_ranges, + (ProtobufCMessageInit) pg_query__sub_link__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__aggref__field_descriptors[20] = +static const ProtobufCFieldDescriptor pg_query__sub_plan__field_descriptors[17] = { { "xpr", @@ -15179,284 +18949,399 @@ static const ProtobufCFieldDescriptor pg_query__aggref__field_descriptors[20] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, xpr), + offsetof(PgQuery__SubPlan, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggfnoid", + "sub_link_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggfnoid), - NULL, + offsetof(PgQuery__SubPlan, sub_link_type), + &pg_query__sub_link_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggtype", + "testexpr", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggtype), - NULL, + offsetof(PgQuery__SubPlan, testexpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggcollid", + "param_ids", 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SubPlan, n_param_ids), + offsetof(PgQuery__SubPlan, param_ids), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "plan_id", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggcollid), + offsetof(PgQuery__SubPlan, plan_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inputcollid", - 5, + "plan_name", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubPlan, plan_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "first_col_type", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, inputcollid), + offsetof(PgQuery__SubPlan, first_col_type), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggtranstype", - 6, + "first_col_typmod", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubPlan, first_col_typmod), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "first_col_collation", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggtranstype), + offsetof(PgQuery__SubPlan, first_col_collation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggargtypes", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Aggref, n_aggargtypes), - offsetof(PgQuery__Aggref, aggargtypes), - &pg_query__node__descriptor, + "use_hash_table", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubPlan, use_hash_table), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggdirectargs", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Aggref, n_aggdirectargs), - offsetof(PgQuery__Aggref, aggdirectargs), - &pg_query__node__descriptor, + "unknown_eq_false", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubPlan, unknown_eq_false), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 9, + "parallel_safe", + 12, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__SubPlan, parallel_safe), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "set_param", + 13, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Aggref, n_args), - offsetof(PgQuery__Aggref, args), + offsetof(PgQuery__SubPlan, n_set_param), + offsetof(PgQuery__SubPlan, set_param), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggorder", - 10, + "par_param", + 14, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Aggref, n_aggorder), - offsetof(PgQuery__Aggref, aggorder), + offsetof(PgQuery__SubPlan, n_par_param), + offsetof(PgQuery__SubPlan, par_param), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggdistinct", - 11, + "args", + 15, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Aggref, n_aggdistinct), - offsetof(PgQuery__Aggref, aggdistinct), + offsetof(PgQuery__SubPlan, n_args), + offsetof(PgQuery__SubPlan, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggfilter", - 12, + "startup_cost", + 16, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_DOUBLE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggfilter), - &pg_query__node__descriptor, + offsetof(PgQuery__SubPlan, startup_cost), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggstar", - 13, + "per_call_cost", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_DOUBLE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggstar), + offsetof(PgQuery__SubPlan, per_call_cost), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sub_plan__field_indices_by_name[] = { + 14, /* field[14] = args */ + 8, /* field[8] = first_col_collation */ + 6, /* field[6] = first_col_type */ + 7, /* field[7] = first_col_typmod */ + 13, /* field[13] = par_param */ + 11, /* field[11] = parallel_safe */ + 3, /* field[3] = param_ids */ + 16, /* field[16] = per_call_cost */ + 4, /* field[4] = plan_id */ + 5, /* field[5] = plan_name */ + 12, /* field[12] = set_param */ + 15, /* field[15] = startup_cost */ + 1, /* field[1] = sub_link_type */ + 2, /* field[2] = testexpr */ + 10, /* field[10] = unknown_eq_false */ + 9, /* field[9] = use_hash_table */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__sub_plan__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 17 } +}; +const ProtobufCMessageDescriptor pg_query__sub_plan__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SubPlan", + "SubPlan", + "PgQuery__SubPlan", + "pg_query", + sizeof(PgQuery__SubPlan), + 17, + pg_query__sub_plan__field_descriptors, + pg_query__sub_plan__field_indices_by_name, + 1, pg_query__sub_plan__number_ranges, + (ProtobufCMessageInit) pg_query__sub_plan__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alternative_sub_plan__field_descriptors[2] = +{ { - "aggvariadic", - 14, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggvariadic), + offsetof(PgQuery__AlternativeSubPlan, xpr), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "subplans", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlternativeSubPlan, n_subplans), + offsetof(PgQuery__AlternativeSubPlan, subplans), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alternative_sub_plan__field_indices_by_name[] = { + 1, /* field[1] = subplans */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__alternative_sub_plan__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__alternative_sub_plan__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlternativeSubPlan", + "AlternativeSubPlan", + "PgQuery__AlternativeSubPlan", + "pg_query", + sizeof(PgQuery__AlternativeSubPlan), + 2, + pg_query__alternative_sub_plan__field_descriptors, + pg_query__alternative_sub_plan__field_indices_by_name, + 1, pg_query__alternative_sub_plan__number_ranges, + (ProtobufCMessageInit) pg_query__alternative_sub_plan__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__field_select__field_descriptors[6] = +{ { - "aggkind", - 15, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggkind), + offsetof(PgQuery__FieldSelect, xpr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agglevelsup", - 16, + "arg", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, agglevelsup), - NULL, + offsetof(PgQuery__FieldSelect, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggsplit", - 17, + "fieldnum", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggsplit), - &pg_query__agg_split__descriptor, + offsetof(PgQuery__FieldSelect, fieldnum), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggno", - 18, + "resulttype", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggno), + offsetof(PgQuery__FieldSelect, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggtransno", - 19, + "resulttypmod", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, aggtransno), + offsetof(PgQuery__FieldSelect, resulttypmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 20, + "resultcollid", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Aggref, location), + offsetof(PgQuery__FieldSelect, resultcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__aggref__field_indices_by_name[] = { - 6, /* field[6] = aggargtypes */ - 3, /* field[3] = aggcollid */ - 7, /* field[7] = aggdirectargs */ - 10, /* field[10] = aggdistinct */ - 11, /* field[11] = aggfilter */ - 1, /* field[1] = aggfnoid */ - 14, /* field[14] = aggkind */ - 15, /* field[15] = agglevelsup */ - 17, /* field[17] = aggno */ - 9, /* field[9] = aggorder */ - 16, /* field[16] = aggsplit */ - 12, /* field[12] = aggstar */ - 18, /* field[18] = aggtransno */ - 5, /* field[5] = aggtranstype */ - 2, /* field[2] = aggtype */ - 13, /* field[13] = aggvariadic */ - 8, /* field[8] = args */ - 4, /* field[4] = inputcollid */ - 19, /* field[19] = location */ +static const unsigned pg_query__field_select__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 2, /* field[2] = fieldnum */ + 5, /* field[5] = resultcollid */ + 3, /* field[3] = resulttype */ + 4, /* field[4] = resulttypmod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__aggref__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__field_select__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 20 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__aggref__descriptor = +const ProtobufCMessageDescriptor pg_query__field_select__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Aggref", - "Aggref", - "PgQuery__Aggref", + "pg_query.FieldSelect", + "FieldSelect", + "PgQuery__FieldSelect", "pg_query", - sizeof(PgQuery__Aggref), - 20, - pg_query__aggref__field_descriptors, - pg_query__aggref__field_indices_by_name, - 1, pg_query__aggref__number_ranges, - (ProtobufCMessageInit) pg_query__aggref__init, + sizeof(PgQuery__FieldSelect), + 6, + pg_query__field_select__field_descriptors, + pg_query__field_select__field_indices_by_name, + 1, pg_query__field_select__number_ranges, + (ProtobufCMessageInit) pg_query__field_select__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__grouping_func__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__field_store__field_descriptors[5] = { { "xpr", @@ -15464,102 +19349,89 @@ static const ProtobufCFieldDescriptor pg_query__grouping_func__field_descriptors PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingFunc, xpr), + offsetof(PgQuery__FieldStore, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "arg", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GroupingFunc, n_args), - offsetof(PgQuery__GroupingFunc, args), + 0, /* quantifier_offset */ + offsetof(PgQuery__FieldStore, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refs", + "newvals", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GroupingFunc, n_refs), - offsetof(PgQuery__GroupingFunc, refs), + offsetof(PgQuery__FieldStore, n_newvals), + offsetof(PgQuery__FieldStore, newvals), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cols", + "fieldnums", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GroupingFunc, n_cols), - offsetof(PgQuery__GroupingFunc, cols), + offsetof(PgQuery__FieldStore, n_fieldnums), + offsetof(PgQuery__FieldStore, fieldnums), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agglevelsup", + "resulttype", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingFunc, agglevelsup), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingFunc, location), + offsetof(PgQuery__FieldStore, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__grouping_func__field_indices_by_name[] = { - 4, /* field[4] = agglevelsup */ - 1, /* field[1] = args */ - 3, /* field[3] = cols */ - 5, /* field[5] = location */ - 2, /* field[2] = refs */ +static const unsigned pg_query__field_store__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 3, /* field[3] = fieldnums */ + 2, /* field[2] = newvals */ + 4, /* field[4] = resulttype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__grouping_func__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__field_store__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__grouping_func__descriptor = +const ProtobufCMessageDescriptor pg_query__field_store__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.GroupingFunc", - "GroupingFunc", - "PgQuery__GroupingFunc", + "pg_query.FieldStore", + "FieldStore", + "PgQuery__FieldStore", "pg_query", - sizeof(PgQuery__GroupingFunc), - 6, - pg_query__grouping_func__field_descriptors, - pg_query__grouping_func__field_indices_by_name, - 1, pg_query__grouping_func__number_ranges, - (ProtobufCMessageInit) pg_query__grouping_func__init, + sizeof(PgQuery__FieldStore), + 5, + pg_query__field_store__field_descriptors, + pg_query__field_store__field_indices_by_name, + 1, pg_query__field_store__number_ranges, + (ProtobufCMessageInit) pg_query__field_store__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[11] = +static const ProtobufCFieldDescriptor pg_query__relabel_type__field_descriptors[7] = { { "xpr", @@ -15567,167 +19439,218 @@ static const ProtobufCFieldDescriptor pg_query__window_func__field_descriptors[1 PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, xpr), + offsetof(PgQuery__RelabelType, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winfnoid", + "arg", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, winfnoid), - NULL, + offsetof(PgQuery__RelabelType, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "wintype", + "resulttype", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, wintype), + offsetof(PgQuery__RelabelType, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "wincollid", + "resulttypmod", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, wincollid), + offsetof(PgQuery__RelabelType, resulttypmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inputcollid", + "resultcollid", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, inputcollid), + offsetof(PgQuery__RelabelType, resultcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "relabelformat", 6, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__RelabelType, relabelformat), + &pg_query__coercion_form__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RelabelType, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__relabel_type__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 6, /* field[6] = location */ + 5, /* field[5] = relabelformat */ + 4, /* field[4] = resultcollid */ + 2, /* field[2] = resulttype */ + 3, /* field[3] = resulttypmod */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__relabel_type__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__relabel_type__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RelabelType", + "RelabelType", + "PgQuery__RelabelType", + "pg_query", + sizeof(PgQuery__RelabelType), + 7, + pg_query__relabel_type__field_descriptors, + pg_query__relabel_type__field_indices_by_name, + 1, pg_query__relabel_type__number_ranges, + (ProtobufCMessageInit) pg_query__relabel_type__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__coerce_via_io__field_descriptors[6] = +{ + { + "xpr", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowFunc, n_args), - offsetof(PgQuery__WindowFunc, args), + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceViaIO, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aggfilter", - 7, + "arg", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, aggfilter), + offsetof(PgQuery__CoerceViaIO, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winref", - 8, + "resulttype", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, winref), + offsetof(PgQuery__CoerceViaIO, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winstar", - 9, + "resultcollid", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, winstar), + offsetof(PgQuery__CoerceViaIO, resultcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winagg", - 10, + "coerceformat", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, winagg), - NULL, + offsetof(PgQuery__CoerceViaIO, coerceformat), + &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 11, + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowFunc, location), + offsetof(PgQuery__CoerceViaIO, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__window_func__field_indices_by_name[] = { - 6, /* field[6] = aggfilter */ - 5, /* field[5] = args */ - 4, /* field[4] = inputcollid */ - 10, /* field[10] = location */ - 9, /* field[9] = winagg */ - 3, /* field[3] = wincollid */ - 1, /* field[1] = winfnoid */ - 7, /* field[7] = winref */ - 8, /* field[8] = winstar */ - 2, /* field[2] = wintype */ +static const unsigned pg_query__coerce_via_io__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 4, /* field[4] = coerceformat */ + 5, /* field[5] = location */ + 3, /* field[3] = resultcollid */ + 2, /* field[2] = resulttype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__window_func__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__coerce_via_io__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 11 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__window_func__descriptor = +const ProtobufCMessageDescriptor pg_query__coerce_via_io__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WindowFunc", - "WindowFunc", - "PgQuery__WindowFunc", + "pg_query.CoerceViaIO", + "CoerceViaIO", + "PgQuery__CoerceViaIO", "pg_query", - sizeof(PgQuery__WindowFunc), - 11, - pg_query__window_func__field_descriptors, - pg_query__window_func__field_indices_by_name, - 1, pg_query__window_func__number_ranges, - (ProtobufCMessageInit) pg_query__window_func__init, + sizeof(PgQuery__CoerceViaIO), + 6, + pg_query__coerce_via_io__field_descriptors, + pg_query__coerce_via_io__field_indices_by_name, + 1, pg_query__coerce_via_io__number_ranges, + (ProtobufCMessageInit) pg_query__coerce_via_io__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__subscripting_ref__field_descriptors[10] = +static const ProtobufCFieldDescriptor pg_query__array_coerce_expr__field_descriptors[8] = { { "xpr", @@ -15735,154 +19658,128 @@ static const ProtobufCFieldDescriptor pg_query__subscripting_ref__field_descript PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, xpr), + offsetof(PgQuery__ArrayCoerceExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refcontainertype", + "arg", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refcontainertype), - NULL, + offsetof(PgQuery__ArrayCoerceExpr, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refelemtype", + "elemexpr", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refelemtype), - NULL, + offsetof(PgQuery__ArrayCoerceExpr, elemexpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refrestype", + "resulttype", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refrestype), + offsetof(PgQuery__ArrayCoerceExpr, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "reftypmod", + "resulttypmod", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, reftypmod), + offsetof(PgQuery__ArrayCoerceExpr, resulttypmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refcollid", + "resultcollid", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refcollid), + offsetof(PgQuery__ArrayCoerceExpr, resultcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refupperindexpr", + "coerceformat", 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubscriptingRef, n_refupperindexpr), - offsetof(PgQuery__SubscriptingRef, refupperindexpr), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "reflowerindexpr", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubscriptingRef, n_reflowerindexpr), - offsetof(PgQuery__SubscriptingRef, reflowerindexpr), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "refexpr", - 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__ArrayCoerceExpr, coerceformat), + &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refassgnexpr", - 10, + "location", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubscriptingRef, refassgnexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__ArrayCoerceExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__subscripting_ref__field_indices_by_name[] = { - 9, /* field[9] = refassgnexpr */ - 5, /* field[5] = refcollid */ - 1, /* field[1] = refcontainertype */ - 2, /* field[2] = refelemtype */ - 8, /* field[8] = refexpr */ - 7, /* field[7] = reflowerindexpr */ - 3, /* field[3] = refrestype */ - 4, /* field[4] = reftypmod */ - 6, /* field[6] = refupperindexpr */ +static const unsigned pg_query__array_coerce_expr__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 6, /* field[6] = coerceformat */ + 2, /* field[2] = elemexpr */ + 7, /* field[7] = location */ + 5, /* field[5] = resultcollid */ + 3, /* field[3] = resulttype */ + 4, /* field[4] = resulttypmod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__subscripting_ref__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__array_coerce_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__subscripting_ref__descriptor = +const ProtobufCMessageDescriptor pg_query__array_coerce_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SubscriptingRef", - "SubscriptingRef", - "PgQuery__SubscriptingRef", + "pg_query.ArrayCoerceExpr", + "ArrayCoerceExpr", + "PgQuery__ArrayCoerceExpr", "pg_query", - sizeof(PgQuery__SubscriptingRef), - 10, - pg_query__subscripting_ref__field_descriptors, - pg_query__subscripting_ref__field_indices_by_name, - 1, pg_query__subscripting_ref__number_ranges, - (ProtobufCMessageInit) pg_query__subscripting_ref__init, + sizeof(PgQuery__ArrayCoerceExpr), + 8, + pg_query__array_coerce_expr__field_descriptors, + pg_query__array_coerce_expr__field_indices_by_name, + 1, pg_query__array_coerce_expr__number_ranges, + (ProtobufCMessageInit) pg_query__array_coerce_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__func_expr__field_descriptors[10] = +static const ProtobufCFieldDescriptor pg_query__convert_rowtype_expr__field_descriptors[5] = { { "xpr", @@ -15890,154 +19787,89 @@ static const ProtobufCFieldDescriptor pg_query__func_expr__field_descriptors[10] PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, xpr), + offsetof(PgQuery__ConvertRowtypeExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcid", + "arg", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funcid), - NULL, + offsetof(PgQuery__ConvertRowtypeExpr, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcresulttype", + "resulttype", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funcresulttype), + offsetof(PgQuery__ConvertRowtypeExpr, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcretset", + "convertformat", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funcretset), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "funcvariadic", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funcvariadic), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "funcformat", - 6, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funcformat), + offsetof(PgQuery__ConvertRowtypeExpr, convertformat), &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "funccollid", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, funccollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inputcollid", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, inputcollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 9, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FuncExpr, n_args), - offsetof(PgQuery__FuncExpr, args), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, { "location", - 10, + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncExpr, location), + offsetof(PgQuery__ConvertRowtypeExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__func_expr__field_indices_by_name[] = { - 8, /* field[8] = args */ - 6, /* field[6] = funccollid */ - 5, /* field[5] = funcformat */ - 1, /* field[1] = funcid */ - 2, /* field[2] = funcresulttype */ - 3, /* field[3] = funcretset */ - 4, /* field[4] = funcvariadic */ - 7, /* field[7] = inputcollid */ - 9, /* field[9] = location */ +static const unsigned pg_query__convert_rowtype_expr__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 3, /* field[3] = convertformat */ + 4, /* field[4] = location */ + 2, /* field[2] = resulttype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__func_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__convert_rowtype_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__func_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__convert_rowtype_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FuncExpr", - "FuncExpr", - "PgQuery__FuncExpr", + "pg_query.ConvertRowtypeExpr", + "ConvertRowtypeExpr", + "PgQuery__ConvertRowtypeExpr", "pg_query", - sizeof(PgQuery__FuncExpr), - 10, - pg_query__func_expr__field_descriptors, - pg_query__func_expr__field_indices_by_name, - 1, pg_query__func_expr__number_ranges, - (ProtobufCMessageInit) pg_query__func_expr__init, + sizeof(PgQuery__ConvertRowtypeExpr), + 5, + pg_query__convert_rowtype_expr__field_descriptors, + pg_query__convert_rowtype_expr__field_indices_by_name, + 1, pg_query__convert_rowtype_expr__number_ranges, + (ProtobufCMessageInit) pg_query__convert_rowtype_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__named_arg_expr__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__collate_expr__field_descriptors[4] = { { "xpr", @@ -16045,7 +19877,7 @@ static const ProtobufCFieldDescriptor pg_query__named_arg_expr__field_descriptor PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NamedArgExpr, xpr), + offsetof(PgQuery__CollateExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ @@ -16057,31 +19889,19 @@ static const ProtobufCFieldDescriptor pg_query__named_arg_expr__field_descriptor PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NamedArgExpr, arg), + offsetof(PgQuery__CollateExpr, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "coll_oid", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__NamedArgExpr, name), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "argnumber", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NamedArgExpr, argnumber), + offsetof(PgQuery__CollateExpr, coll_oid), NULL, NULL, 0, /* flags */ @@ -16089,45 +19909,44 @@ static const ProtobufCFieldDescriptor pg_query__named_arg_expr__field_descriptor }, { "location", - 5, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NamedArgExpr, location), + offsetof(PgQuery__CollateExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__named_arg_expr__field_indices_by_name[] = { +static const unsigned pg_query__collate_expr__field_indices_by_name[] = { 1, /* field[1] = arg */ - 3, /* field[3] = argnumber */ - 4, /* field[4] = location */ - 2, /* field[2] = name */ + 2, /* field[2] = coll_oid */ + 3, /* field[3] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__named_arg_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__collate_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__named_arg_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__collate_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NamedArgExpr", - "NamedArgExpr", - "PgQuery__NamedArgExpr", + "pg_query.CollateExpr", + "CollateExpr", + "PgQuery__CollateExpr", "pg_query", - sizeof(PgQuery__NamedArgExpr), - 5, - pg_query__named_arg_expr__field_descriptors, - pg_query__named_arg_expr__field_indices_by_name, - 1, pg_query__named_arg_expr__number_ranges, - (ProtobufCMessageInit) pg_query__named_arg_expr__init, + sizeof(PgQuery__CollateExpr), + 4, + pg_query__collate_expr__field_descriptors, + pg_query__collate_expr__field_indices_by_name, + 1, pg_query__collate_expr__number_ranges, + (ProtobufCMessageInit) pg_query__collate_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__op_expr__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__case_expr__field_descriptors[7] = { { "xpr", @@ -16135,91 +19954,67 @@ static const ProtobufCFieldDescriptor pg_query__op_expr__field_descriptors[9] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, xpr), + offsetof(PgQuery__CaseExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opno", + "casetype", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, opno), + offsetof(PgQuery__CaseExpr, casetype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfuncid", + "casecollid", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, opfuncid), + offsetof(PgQuery__CaseExpr, casecollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opresulttype", + "arg", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, opresulttype), - NULL, + offsetof(PgQuery__CaseExpr, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opretset", + "args", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, opretset), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CaseExpr, n_args), + offsetof(PgQuery__CaseExpr, args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opcollid", + "defresult", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, opcollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inputcollid", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, inputcollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 8, - PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OpExpr, n_args), - offsetof(PgQuery__OpExpr, args), + 0, /* quantifier_offset */ + offsetof(PgQuery__CaseExpr, defresult), &pg_query__node__descriptor, NULL, 0, /* flags */ @@ -16227,49 +20022,47 @@ static const ProtobufCFieldDescriptor pg_query__op_expr__field_descriptors[9] = }, { "location", - 9, + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OpExpr, location), + offsetof(PgQuery__CaseExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__op_expr__field_indices_by_name[] = { - 7, /* field[7] = args */ - 6, /* field[6] = inputcollid */ - 8, /* field[8] = location */ - 5, /* field[5] = opcollid */ - 2, /* field[2] = opfuncid */ - 1, /* field[1] = opno */ - 3, /* field[3] = opresulttype */ - 4, /* field[4] = opretset */ +static const unsigned pg_query__case_expr__field_indices_by_name[] = { + 3, /* field[3] = arg */ + 4, /* field[4] = args */ + 2, /* field[2] = casecollid */ + 1, /* field[1] = casetype */ + 5, /* field[5] = defresult */ + 6, /* field[6] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__op_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__case_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__op_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__case_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OpExpr", - "OpExpr", - "PgQuery__OpExpr", + "pg_query.CaseExpr", + "CaseExpr", + "PgQuery__CaseExpr", "pg_query", - sizeof(PgQuery__OpExpr), - 9, - pg_query__op_expr__field_descriptors, - pg_query__op_expr__field_indices_by_name, - 1, pg_query__op_expr__number_ranges, - (ProtobufCMessageInit) pg_query__op_expr__init, + sizeof(PgQuery__CaseExpr), + 7, + pg_query__case_expr__field_descriptors, + pg_query__case_expr__field_indices_by_name, + 1, pg_query__case_expr__number_ranges, + (ProtobufCMessageInit) pg_query__case_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__distinct_expr__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__case_when__field_descriptors[4] = { { "xpr", @@ -16277,141 +20070,153 @@ static const ProtobufCFieldDescriptor pg_query__distinct_expr__field_descriptors PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, xpr), + offsetof(PgQuery__CaseWhen, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opno", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, opno), - NULL, + offsetof(PgQuery__CaseWhen, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfuncid", + "result", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, opfuncid), - NULL, + offsetof(PgQuery__CaseWhen, result), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opresulttype", + "location", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, opresulttype), + offsetof(PgQuery__CaseWhen, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__case_when__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 3, /* field[3] = location */ + 2, /* field[2] = result */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__case_when__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__case_when__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CaseWhen", + "CaseWhen", + "PgQuery__CaseWhen", + "pg_query", + sizeof(PgQuery__CaseWhen), + 4, + pg_query__case_when__field_descriptors, + pg_query__case_when__field_indices_by_name, + 1, pg_query__case_when__number_ranges, + (ProtobufCMessageInit) pg_query__case_when__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__case_test_expr__field_descriptors[4] = +{ { - "opretset", - 5, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, opretset), - NULL, + offsetof(PgQuery__CaseTestExpr, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opcollid", - 6, + "type_id", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, opcollid), + offsetof(PgQuery__CaseTestExpr, type_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inputcollid", - 7, + "type_mod", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, inputcollid), - NULL, + offsetof(PgQuery__CaseTestExpr, type_mod), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DistinctExpr, n_args), - offsetof(PgQuery__DistinctExpr, args), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 9, + "collation", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DistinctExpr, location), + offsetof(PgQuery__CaseTestExpr, collation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__distinct_expr__field_indices_by_name[] = { - 7, /* field[7] = args */ - 6, /* field[6] = inputcollid */ - 8, /* field[8] = location */ - 5, /* field[5] = opcollid */ - 2, /* field[2] = opfuncid */ - 1, /* field[1] = opno */ - 3, /* field[3] = opresulttype */ - 4, /* field[4] = opretset */ +static const unsigned pg_query__case_test_expr__field_indices_by_name[] = { + 3, /* field[3] = collation */ + 1, /* field[1] = type_id */ + 2, /* field[2] = type_mod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__distinct_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__case_test_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__distinct_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__case_test_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DistinctExpr", - "DistinctExpr", - "PgQuery__DistinctExpr", + "pg_query.CaseTestExpr", + "CaseTestExpr", + "PgQuery__CaseTestExpr", "pg_query", - sizeof(PgQuery__DistinctExpr), - 9, - pg_query__distinct_expr__field_descriptors, - pg_query__distinct_expr__field_indices_by_name, - 1, pg_query__distinct_expr__number_ranges, - (ProtobufCMessageInit) pg_query__distinct_expr__init, + sizeof(PgQuery__CaseTestExpr), + 4, + pg_query__case_test_expr__field_descriptors, + pg_query__case_test_expr__field_indices_by_name, + 1, pg_query__case_test_expr__number_ranges, + (ProtobufCMessageInit) pg_query__case_test_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__null_if_expr__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__array_expr__field_descriptors[7] = { { "xpr", @@ -16419,141 +20224,115 @@ static const ProtobufCFieldDescriptor pg_query__null_if_expr__field_descriptors[ PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, xpr), + offsetof(PgQuery__ArrayExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opno", + "array_typeid", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, opno), + offsetof(PgQuery__ArrayExpr, array_typeid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfuncid", + "array_collid", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, opfuncid), + offsetof(PgQuery__ArrayExpr, array_collid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opresulttype", + "element_typeid", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, opresulttype), + offsetof(PgQuery__ArrayExpr, element_typeid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opretset", + "elements", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, opretset), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ArrayExpr, n_elements), + offsetof(PgQuery__ArrayExpr, elements), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opcollid", + "multidims", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, opcollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inputcollid", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, inputcollid), - NULL, + offsetof(PgQuery__ArrayExpr, multidims), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__NullIfExpr, n_args), - offsetof(PgQuery__NullIfExpr, args), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 9, + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullIfExpr, location), + offsetof(PgQuery__ArrayExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__null_if_expr__field_indices_by_name[] = { - 7, /* field[7] = args */ - 6, /* field[6] = inputcollid */ - 8, /* field[8] = location */ - 5, /* field[5] = opcollid */ - 2, /* field[2] = opfuncid */ - 1, /* field[1] = opno */ - 3, /* field[3] = opresulttype */ - 4, /* field[4] = opretset */ +static const unsigned pg_query__array_expr__field_indices_by_name[] = { + 2, /* field[2] = array_collid */ + 1, /* field[1] = array_typeid */ + 3, /* field[3] = element_typeid */ + 4, /* field[4] = elements */ + 6, /* field[6] = location */ + 5, /* field[5] = multidims */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__null_if_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__array_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__null_if_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__array_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NullIfExpr", - "NullIfExpr", - "PgQuery__NullIfExpr", + "pg_query.ArrayExpr", + "ArrayExpr", + "PgQuery__ArrayExpr", "pg_query", - sizeof(PgQuery__NullIfExpr), - 9, - pg_query__null_if_expr__field_descriptors, - pg_query__null_if_expr__field_indices_by_name, - 1, pg_query__null_if_expr__number_ranges, - (ProtobufCMessageInit) pg_query__null_if_expr__init, + sizeof(PgQuery__ArrayExpr), + 7, + pg_query__array_expr__field_descriptors, + pg_query__array_expr__field_indices_by_name, + 1, pg_query__array_expr__number_ranges, + (ProtobufCMessageInit) pg_query__array_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__scalar_array_op_expr__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__row_expr__field_descriptors[6] = { { "xpr", @@ -16561,141 +20340,218 @@ static const ProtobufCFieldDescriptor pg_query__scalar_array_op_expr__field_desc PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, xpr), + offsetof(PgQuery__RowExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opno", + "args", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, opno), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowExpr, n_args), + offsetof(PgQuery__RowExpr, args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfuncid", + "row_typeid", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, opfuncid), + offsetof(PgQuery__RowExpr, row_typeid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "hashfuncid", + "row_format", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, hashfuncid), - NULL, + offsetof(PgQuery__RowExpr, row_format), + &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "negfuncid", + "colnames", 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowExpr, n_colnames), + offsetof(PgQuery__RowExpr, colnames), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, negfuncid), + offsetof(PgQuery__RowExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__row_expr__field_indices_by_name[] = { + 1, /* field[1] = args */ + 4, /* field[4] = colnames */ + 5, /* field[5] = location */ + 3, /* field[3] = row_format */ + 2, /* field[2] = row_typeid */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__row_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__row_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RowExpr", + "RowExpr", + "PgQuery__RowExpr", + "pg_query", + sizeof(PgQuery__RowExpr), + 6, + pg_query__row_expr__field_descriptors, + pg_query__row_expr__field_indices_by_name, + 1, pg_query__row_expr__number_ranges, + (ProtobufCMessageInit) pg_query__row_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__row_compare_expr__field_descriptors[7] = +{ { - "use_or", - 6, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, use_or), - NULL, + offsetof(PgQuery__RowCompareExpr, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inputcollid", - 7, + "rctype", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, inputcollid), + offsetof(PgQuery__RowCompareExpr, rctype), + &pg_query__row_compare_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "opnos", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowCompareExpr, n_opnos), + offsetof(PgQuery__RowCompareExpr, opnos), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "opfamilies", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowCompareExpr, n_opfamilies), + offsetof(PgQuery__RowCompareExpr, opfamilies), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 8, + "inputcollids", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ScalarArrayOpExpr, n_args), - offsetof(PgQuery__ScalarArrayOpExpr, args), + offsetof(PgQuery__RowCompareExpr, n_inputcollids), + offsetof(PgQuery__RowCompareExpr, inputcollids), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "largs", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowCompareExpr, n_largs), + offsetof(PgQuery__RowCompareExpr, largs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ScalarArrayOpExpr, location), - NULL, + "rargs", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RowCompareExpr, n_rargs), + offsetof(PgQuery__RowCompareExpr, rargs), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__scalar_array_op_expr__field_indices_by_name[] = { - 7, /* field[7] = args */ - 3, /* field[3] = hashfuncid */ - 6, /* field[6] = inputcollid */ - 8, /* field[8] = location */ - 4, /* field[4] = negfuncid */ - 2, /* field[2] = opfuncid */ - 1, /* field[1] = opno */ - 5, /* field[5] = use_or */ +static const unsigned pg_query__row_compare_expr__field_indices_by_name[] = { + 4, /* field[4] = inputcollids */ + 5, /* field[5] = largs */ + 3, /* field[3] = opfamilies */ + 2, /* field[2] = opnos */ + 6, /* field[6] = rargs */ + 1, /* field[1] = rctype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__scalar_array_op_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__row_compare_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__scalar_array_op_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__row_compare_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ScalarArrayOpExpr", - "ScalarArrayOpExpr", - "PgQuery__ScalarArrayOpExpr", + "pg_query.RowCompareExpr", + "RowCompareExpr", + "PgQuery__RowCompareExpr", "pg_query", - sizeof(PgQuery__ScalarArrayOpExpr), - 9, - pg_query__scalar_array_op_expr__field_descriptors, - pg_query__scalar_array_op_expr__field_indices_by_name, - 1, pg_query__scalar_array_op_expr__number_ranges, - (ProtobufCMessageInit) pg_query__scalar_array_op_expr__init, + sizeof(PgQuery__RowCompareExpr), + 7, + pg_query__row_compare_expr__field_descriptors, + pg_query__row_compare_expr__field_indices_by_name, + 1, pg_query__row_compare_expr__number_ranges, + (ProtobufCMessageInit) pg_query__row_compare_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__bool_expr__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__coalesce_expr__field_descriptors[5] = { { "xpr", @@ -16703,31 +20559,43 @@ static const ProtobufCFieldDescriptor pg_query__bool_expr__field_descriptors[4] PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__BoolExpr, xpr), + offsetof(PgQuery__CoalesceExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "boolop", + "coalescetype", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__BoolExpr, boolop), - &pg_query__bool_expr_type__descriptor, + offsetof(PgQuery__CoalesceExpr, coalescetype), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "coalescecollid", 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoalesceExpr, coalescecollid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "args", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__BoolExpr, n_args), - offsetof(PgQuery__BoolExpr, args), + offsetof(PgQuery__CoalesceExpr, n_args), + offsetof(PgQuery__CoalesceExpr, args), &pg_query__node__descriptor, NULL, 0, /* flags */ @@ -16735,44 +20603,45 @@ static const ProtobufCFieldDescriptor pg_query__bool_expr__field_descriptors[4] }, { "location", - 4, + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__BoolExpr, location), + offsetof(PgQuery__CoalesceExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__bool_expr__field_indices_by_name[] = { - 2, /* field[2] = args */ - 1, /* field[1] = boolop */ - 3, /* field[3] = location */ +static const unsigned pg_query__coalesce_expr__field_indices_by_name[] = { + 3, /* field[3] = args */ + 2, /* field[2] = coalescecollid */ + 1, /* field[1] = coalescetype */ + 4, /* field[4] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__bool_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__coalesce_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__bool_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__coalesce_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.BoolExpr", - "BoolExpr", - "PgQuery__BoolExpr", + "pg_query.CoalesceExpr", + "CoalesceExpr", + "PgQuery__CoalesceExpr", "pg_query", - sizeof(PgQuery__BoolExpr), - 4, - pg_query__bool_expr__field_descriptors, - pg_query__bool_expr__field_indices_by_name, - 1, pg_query__bool_expr__number_ranges, - (ProtobufCMessageInit) pg_query__bool_expr__init, + sizeof(PgQuery__CoalesceExpr), + 5, + pg_query__coalesce_expr__field_descriptors, + pg_query__coalesce_expr__field_indices_by_name, + 1, pg_query__coalesce_expr__number_ranges, + (ProtobufCMessageInit) pg_query__coalesce_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sub_link__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__min_max_expr__field_descriptors[7] = { { "xpr", @@ -16780,67 +20649,67 @@ static const ProtobufCFieldDescriptor pg_query__sub_link__field_descriptors[7] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, xpr), + offsetof(PgQuery__MinMaxExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sub_link_type", + "minmaxtype", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, sub_link_type), - &pg_query__sub_link_type__descriptor, + offsetof(PgQuery__MinMaxExpr, minmaxtype), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sub_link_id", + "minmaxcollid", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, sub_link_id), + offsetof(PgQuery__MinMaxExpr, minmaxcollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "testexpr", + "inputcollid", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, testexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__MinMaxExpr, inputcollid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "oper_name", + "op", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubLink, n_oper_name), - offsetof(PgQuery__SubLink, oper_name), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__MinMaxExpr, op), + &pg_query__min_max_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subselect", + "args", 6, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, subselect), + offsetof(PgQuery__MinMaxExpr, n_args), + offsetof(PgQuery__MinMaxExpr, args), &pg_query__node__descriptor, NULL, 0, /* flags */ @@ -16852,43 +20721,43 @@ static const ProtobufCFieldDescriptor pg_query__sub_link__field_descriptors[7] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubLink, location), + offsetof(PgQuery__MinMaxExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__sub_link__field_indices_by_name[] = { +static const unsigned pg_query__min_max_expr__field_indices_by_name[] = { + 5, /* field[5] = args */ + 3, /* field[3] = inputcollid */ 6, /* field[6] = location */ - 4, /* field[4] = oper_name */ - 2, /* field[2] = sub_link_id */ - 1, /* field[1] = sub_link_type */ - 5, /* field[5] = subselect */ - 3, /* field[3] = testexpr */ + 2, /* field[2] = minmaxcollid */ + 1, /* field[1] = minmaxtype */ + 4, /* field[4] = op */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__sub_link__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__min_max_expr__number_ranges[1 + 1] = { { 1, 0 }, { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__sub_link__descriptor = +const ProtobufCMessageDescriptor pg_query__min_max_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SubLink", - "SubLink", - "PgQuery__SubLink", + "pg_query.MinMaxExpr", + "MinMaxExpr", + "PgQuery__MinMaxExpr", "pg_query", - sizeof(PgQuery__SubLink), + sizeof(PgQuery__MinMaxExpr), 7, - pg_query__sub_link__field_descriptors, - pg_query__sub_link__field_indices_by_name, - 1, pg_query__sub_link__number_ranges, - (ProtobufCMessageInit) pg_query__sub_link__init, + pg_query__min_max_expr__field_descriptors, + pg_query__min_max_expr__field_indices_by_name, + 1, pg_query__min_max_expr__number_ranges, + (ProtobufCMessageInit) pg_query__min_max_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sub_plan__field_descriptors[17] = +static const ProtobufCFieldDescriptor pg_query__sqlvalue_function__field_descriptors[5] = { { "xpr", @@ -16896,489 +20765,449 @@ static const ProtobufCFieldDescriptor pg_query__sub_plan__field_descriptors[17] PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, xpr), + offsetof(PgQuery__SQLValueFunction, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sub_link_type", + "op", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, sub_link_type), - &pg_query__sub_link_type__descriptor, + offsetof(PgQuery__SQLValueFunction, op), + &pg_query__sqlvalue_function_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "testexpr", + "type", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, testexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__SQLValueFunction, type), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "param_ids", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubPlan, n_param_ids), - offsetof(PgQuery__SubPlan, param_ids), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "plan_id", - 5, + "typmod", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, plan_id), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "plan_name", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, plan_name), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "first_col_type", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, first_col_type), + offsetof(PgQuery__SQLValueFunction, typmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "first_col_typmod", - 8, + "location", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, first_col_typmod), + offsetof(PgQuery__SQLValueFunction, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sqlvalue_function__field_indices_by_name[] = { + 4, /* field[4] = location */ + 1, /* field[1] = op */ + 2, /* field[2] = type */ + 3, /* field[3] = typmod */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__sqlvalue_function__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__sqlvalue_function__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SQLValueFunction", + "SQLValueFunction", + "PgQuery__SQLValueFunction", + "pg_query", + sizeof(PgQuery__SQLValueFunction), + 5, + pg_query__sqlvalue_function__field_descriptors, + pg_query__sqlvalue_function__field_indices_by_name, + 1, pg_query__sqlvalue_function__number_ranges, + (ProtobufCMessageInit) pg_query__sqlvalue_function__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__xml_expr__field_descriptors[11] = +{ { - "first_col_collation", - 9, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, first_col_collation), - NULL, + offsetof(PgQuery__XmlExpr, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "use_hash_table", - 10, + "op", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, use_hash_table), - NULL, + offsetof(PgQuery__XmlExpr, op), + &pg_query__xml_expr_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "unknown_eq_false", - 11, + "name", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, unknown_eq_false), - NULL, + offsetof(PgQuery__XmlExpr, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "parallel_safe", - 12, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, parallel_safe), - NULL, + "named_args", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__XmlExpr, n_named_args), + offsetof(PgQuery__XmlExpr, named_args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "set_param", - 13, + "arg_names", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubPlan, n_set_param), - offsetof(PgQuery__SubPlan, set_param), + offsetof(PgQuery__XmlExpr, n_arg_names), + offsetof(PgQuery__XmlExpr, arg_names), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "par_param", - 14, + "args", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubPlan, n_par_param), - offsetof(PgQuery__SubPlan, par_param), + offsetof(PgQuery__XmlExpr, n_args), + offsetof(PgQuery__XmlExpr, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 15, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SubPlan, n_args), - offsetof(PgQuery__SubPlan, args), - &pg_query__node__descriptor, + "xmloption", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__XmlExpr, xmloption), + &pg_query__xml_option_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "startup_cost", - 16, + "indent", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_DOUBLE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, startup_cost), + offsetof(PgQuery__XmlExpr, indent), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "per_call_cost", - 17, + "type", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_DOUBLE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SubPlan, per_call_cost), + offsetof(PgQuery__XmlExpr, type), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__sub_plan__field_indices_by_name[] = { - 14, /* field[14] = args */ - 8, /* field[8] = first_col_collation */ - 6, /* field[6] = first_col_type */ - 7, /* field[7] = first_col_typmod */ - 13, /* field[13] = par_param */ - 11, /* field[11] = parallel_safe */ - 3, /* field[3] = param_ids */ - 16, /* field[16] = per_call_cost */ - 4, /* field[4] = plan_id */ - 5, /* field[5] = plan_name */ - 12, /* field[12] = set_param */ - 15, /* field[15] = startup_cost */ - 1, /* field[1] = sub_link_type */ - 2, /* field[2] = testexpr */ - 10, /* field[10] = unknown_eq_false */ - 9, /* field[9] = use_hash_table */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__sub_plan__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 17 } -}; -const ProtobufCMessageDescriptor pg_query__sub_plan__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SubPlan", - "SubPlan", - "PgQuery__SubPlan", - "pg_query", - sizeof(PgQuery__SubPlan), - 17, - pg_query__sub_plan__field_descriptors, - pg_query__sub_plan__field_indices_by_name, - 1, pg_query__sub_plan__number_ranges, - (ProtobufCMessageInit) pg_query__sub_plan__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alternative_sub_plan__field_descriptors[2] = -{ { - "xpr", - 1, + "typmod", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlternativeSubPlan, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__XmlExpr, typmod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subplans", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlternativeSubPlan, n_subplans), - offsetof(PgQuery__AlternativeSubPlan, subplans), - &pg_query__node__descriptor, + "location", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__XmlExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alternative_sub_plan__field_indices_by_name[] = { - 1, /* field[1] = subplans */ +static const unsigned pg_query__xml_expr__field_indices_by_name[] = { + 4, /* field[4] = arg_names */ + 5, /* field[5] = args */ + 7, /* field[7] = indent */ + 10, /* field[10] = location */ + 2, /* field[2] = name */ + 3, /* field[3] = named_args */ + 1, /* field[1] = op */ + 8, /* field[8] = type */ + 9, /* field[9] = typmod */ + 6, /* field[6] = xmloption */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__alternative_sub_plan__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__xml_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 11 } }; -const ProtobufCMessageDescriptor pg_query__alternative_sub_plan__descriptor = +const ProtobufCMessageDescriptor pg_query__xml_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlternativeSubPlan", - "AlternativeSubPlan", - "PgQuery__AlternativeSubPlan", + "pg_query.XmlExpr", + "XmlExpr", + "PgQuery__XmlExpr", "pg_query", - sizeof(PgQuery__AlternativeSubPlan), - 2, - pg_query__alternative_sub_plan__field_descriptors, - pg_query__alternative_sub_plan__field_indices_by_name, - 1, pg_query__alternative_sub_plan__number_ranges, - (ProtobufCMessageInit) pg_query__alternative_sub_plan__init, + sizeof(PgQuery__XmlExpr), + 11, + pg_query__xml_expr__field_descriptors, + pg_query__xml_expr__field_indices_by_name, + 1, pg_query__xml_expr__number_ranges, + (ProtobufCMessageInit) pg_query__xml_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__field_select__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__json_format__field_descriptors[3] = { { - "xpr", + "format_type", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonFormat, format_type), + &pg_query__json_format_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "encoding", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonFormat, encoding), + &pg_query__json_encoding__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonFormat, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_format__field_indices_by_name[] = { + 1, /* field[1] = encoding */ + 0, /* field[0] = format_type */ + 2, /* field[2] = location */ +}; +static const ProtobufCIntRange pg_query__json_format__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__json_format__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonFormat", + "JsonFormat", + "PgQuery__JsonFormat", + "pg_query", + sizeof(PgQuery__JsonFormat), + 3, + pg_query__json_format__field_descriptors, + pg_query__json_format__field_indices_by_name, + 1, pg_query__json_format__number_ranges, + (ProtobufCMessageInit) pg_query__json_format__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_returning__field_descriptors[3] = +{ { - "fieldnum", - 3, + "format", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, fieldnum), - NULL, + offsetof(PgQuery__JsonReturning, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", - 4, + "typid", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, resulttype), + offsetof(PgQuery__JsonReturning, typid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttypmod", - 5, + "typmod", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, resulttypmod), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "resultcollid", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__FieldSelect, resultcollid), + offsetof(PgQuery__JsonReturning, typmod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__field_select__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 2, /* field[2] = fieldnum */ - 5, /* field[5] = resultcollid */ - 3, /* field[3] = resulttype */ - 4, /* field[4] = resulttypmod */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_returning__field_indices_by_name[] = { + 0, /* field[0] = format */ + 1, /* field[1] = typid */ + 2, /* field[2] = typmod */ }; -static const ProtobufCIntRange pg_query__field_select__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_returning__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__field_select__descriptor = +const ProtobufCMessageDescriptor pg_query__json_returning__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FieldSelect", - "FieldSelect", - "PgQuery__FieldSelect", + "pg_query.JsonReturning", + "JsonReturning", + "PgQuery__JsonReturning", "pg_query", - sizeof(PgQuery__FieldSelect), - 6, - pg_query__field_select__field_descriptors, - pg_query__field_select__field_indices_by_name, - 1, pg_query__field_select__number_ranges, - (ProtobufCMessageInit) pg_query__field_select__init, + sizeof(PgQuery__JsonReturning), + 3, + pg_query__json_returning__field_descriptors, + pg_query__json_returning__field_indices_by_name, + 1, pg_query__json_returning__number_ranges, + (ProtobufCMessageInit) pg_query__json_returning__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__field_store__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__json_value_expr__field_descriptors[3] = { { - "xpr", + "raw_expr", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldStore, xpr), + offsetof(PgQuery__JsonValueExpr, raw_expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "formatted_expr", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldStore, arg), + offsetof(PgQuery__JsonValueExpr, formatted_expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newvals", + "format", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FieldStore, n_newvals), - offsetof(PgQuery__FieldStore, newvals), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "fieldnums", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FieldStore, n_fieldnums), - offsetof(PgQuery__FieldStore, fieldnums), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "resulttype", - 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FieldStore, resulttype), - NULL, + offsetof(PgQuery__JsonValueExpr, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__field_store__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 3, /* field[3] = fieldnums */ - 2, /* field[2] = newvals */ - 4, /* field[4] = resulttype */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_value_expr__field_indices_by_name[] = { + 2, /* field[2] = format */ + 1, /* field[1] = formatted_expr */ + 0, /* field[0] = raw_expr */ }; -static const ProtobufCIntRange pg_query__field_store__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_value_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__field_store__descriptor = +const ProtobufCMessageDescriptor pg_query__json_value_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FieldStore", - "FieldStore", - "PgQuery__FieldStore", + "pg_query.JsonValueExpr", + "JsonValueExpr", + "PgQuery__JsonValueExpr", "pg_query", - sizeof(PgQuery__FieldStore), - 5, - pg_query__field_store__field_descriptors, - pg_query__field_store__field_indices_by_name, - 1, pg_query__field_store__number_ranges, - (ProtobufCMessageInit) pg_query__field_store__init, + sizeof(PgQuery__JsonValueExpr), + 3, + pg_query__json_value_expr__field_descriptors, + pg_query__json_value_expr__field_indices_by_name, + 1, pg_query__json_value_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_value_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__relabel_type__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__json_constructor_expr__field_descriptors[9] = { { "xpr", @@ -17386,218 +21215,308 @@ static const ProtobufCFieldDescriptor pg_query__relabel_type__field_descriptors[ PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, xpr), + offsetof(PgQuery__JsonConstructorExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonConstructorExpr, type), + &pg_query__json_constructor_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", + "args", 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonConstructorExpr, n_args), + offsetof(PgQuery__JsonConstructorExpr, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "func", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, resulttype), - NULL, + offsetof(PgQuery__JsonConstructorExpr, func), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttypmod", - 4, + "coercion", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, resulttypmod), + offsetof(PgQuery__JsonConstructorExpr, coercion), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "returning", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonConstructorExpr, returning), + &pg_query__json_returning__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resultcollid", - 5, + "absent_on_null", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, resultcollid), + offsetof(PgQuery__JsonConstructorExpr, absent_on_null), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relabelformat", - 6, + "unique", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, relabelformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__JsonConstructorExpr, unique), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 7, + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RelabelType, location), + offsetof(PgQuery__JsonConstructorExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__relabel_type__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 6, /* field[6] = location */ - 5, /* field[5] = relabelformat */ - 4, /* field[4] = resultcollid */ - 2, /* field[2] = resulttype */ - 3, /* field[3] = resulttypmod */ +static const unsigned pg_query__json_constructor_expr__field_indices_by_name[] = { + 6, /* field[6] = absent_on_null */ + 2, /* field[2] = args */ + 4, /* field[4] = coercion */ + 3, /* field[3] = func */ + 8, /* field[8] = location */ + 5, /* field[5] = returning */ + 1, /* field[1] = type */ + 7, /* field[7] = unique */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__relabel_type__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_constructor_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 9 } }; -const ProtobufCMessageDescriptor pg_query__relabel_type__descriptor = +const ProtobufCMessageDescriptor pg_query__json_constructor_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RelabelType", - "RelabelType", - "PgQuery__RelabelType", + "pg_query.JsonConstructorExpr", + "JsonConstructorExpr", + "PgQuery__JsonConstructorExpr", "pg_query", - sizeof(PgQuery__RelabelType), - 7, - pg_query__relabel_type__field_descriptors, - pg_query__relabel_type__field_indices_by_name, - 1, pg_query__relabel_type__number_ranges, - (ProtobufCMessageInit) pg_query__relabel_type__init, + sizeof(PgQuery__JsonConstructorExpr), + 9, + pg_query__json_constructor_expr__field_descriptors, + pg_query__json_constructor_expr__field_indices_by_name, + 1, pg_query__json_constructor_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_constructor_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__coerce_via_io__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__json_is_predicate__field_descriptors[5] = { { - "xpr", + "expr", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, xpr), + offsetof(PgQuery__JsonIsPredicate, expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "format", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonIsPredicate, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", + "item_type", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, resulttype), - NULL, + offsetof(PgQuery__JsonIsPredicate, item_type), + &pg_query__json_value_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resultcollid", + "unique_keys", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, resultcollid), + offsetof(PgQuery__JsonIsPredicate, unique_keys), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coerceformat", + "location", 5, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonIsPredicate, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__json_is_predicate__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 1, /* field[1] = format */ + 2, /* field[2] = item_type */ + 4, /* field[4] = location */ + 3, /* field[3] = unique_keys */ +}; +static const ProtobufCIntRange pg_query__json_is_predicate__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__json_is_predicate__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonIsPredicate", + "JsonIsPredicate", + "PgQuery__JsonIsPredicate", + "pg_query", + sizeof(PgQuery__JsonIsPredicate), + 5, + pg_query__json_is_predicate__field_descriptors, + pg_query__json_is_predicate__field_indices_by_name, + 1, pg_query__json_is_predicate__number_ranges, + (ProtobufCMessageInit) pg_query__json_is_predicate__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_behavior__field_descriptors[4] = +{ + { + "btype", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, coerceformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__JsonBehavior, btype), + &pg_query__json_behavior_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "expr", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonBehavior, expr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coerce", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonBehavior, coerce), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 6, + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceViaIO, location), + offsetof(PgQuery__JsonBehavior, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__coerce_via_io__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 4, /* field[4] = coerceformat */ - 5, /* field[5] = location */ - 3, /* field[3] = resultcollid */ - 2, /* field[2] = resulttype */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_behavior__field_indices_by_name[] = { + 0, /* field[0] = btype */ + 2, /* field[2] = coerce */ + 1, /* field[1] = expr */ + 3, /* field[3] = location */ }; -static const ProtobufCIntRange pg_query__coerce_via_io__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_behavior__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__coerce_via_io__descriptor = +const ProtobufCMessageDescriptor pg_query__json_behavior__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoerceViaIO", - "CoerceViaIO", - "PgQuery__CoerceViaIO", + "pg_query.JsonBehavior", + "JsonBehavior", + "PgQuery__JsonBehavior", "pg_query", - sizeof(PgQuery__CoerceViaIO), - 6, - pg_query__coerce_via_io__field_descriptors, - pg_query__coerce_via_io__field_indices_by_name, - 1, pg_query__coerce_via_io__number_ranges, - (ProtobufCMessageInit) pg_query__coerce_via_io__init, + sizeof(PgQuery__JsonBehavior), + 4, + pg_query__json_behavior__field_descriptors, + pg_query__json_behavior__field_indices_by_name, + 1, pg_query__json_behavior__number_ranges, + (ProtobufCMessageInit) pg_query__json_behavior__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__array_coerce_expr__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__json_expr__field_descriptors[17] = { { "xpr", @@ -17605,250 +21524,187 @@ static const ProtobufCFieldDescriptor pg_query__array_coerce_expr__field_descrip PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, xpr), + offsetof(PgQuery__JsonExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "op", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, op), + &pg_query__json_expr_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "elemexpr", + "column_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, elemexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, column_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", + "formatted_expr", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, resulttype), - NULL, + offsetof(PgQuery__JsonExpr, formatted_expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttypmod", + "format", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, resulttypmod), - NULL, + offsetof(PgQuery__JsonExpr, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resultcollid", + "path_spec", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, resultcollid), - NULL, + offsetof(PgQuery__JsonExpr, path_spec), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coerceformat", + "returning", 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, coerceformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__JsonExpr, returning), + &pg_query__json_returning__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "passing_names", 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayCoerceExpr, location), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonExpr, n_passing_names), + offsetof(PgQuery__JsonExpr, passing_names), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__array_coerce_expr__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 6, /* field[6] = coerceformat */ - 2, /* field[2] = elemexpr */ - 7, /* field[7] = location */ - 5, /* field[5] = resultcollid */ - 3, /* field[3] = resulttype */ - 4, /* field[4] = resulttypmod */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__array_coerce_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__array_coerce_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ArrayCoerceExpr", - "ArrayCoerceExpr", - "PgQuery__ArrayCoerceExpr", - "pg_query", - sizeof(PgQuery__ArrayCoerceExpr), - 8, - pg_query__array_coerce_expr__field_descriptors, - pg_query__array_coerce_expr__field_indices_by_name, - 1, pg_query__array_coerce_expr__number_ranges, - (ProtobufCMessageInit) pg_query__array_coerce_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__convert_rowtype_expr__field_descriptors[5] = -{ { - "xpr", - 1, - PROTOBUF_C_LABEL_NONE, + "passing_values", + 9, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__ConvertRowtypeExpr, xpr), + offsetof(PgQuery__JsonExpr, n_passing_values), + offsetof(PgQuery__JsonExpr, passing_values), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", - 2, + "on_empty", + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ConvertRowtypeExpr, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", - 3, + "on_error", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ConvertRowtypeExpr, resulttype), - NULL, + offsetof(PgQuery__JsonExpr, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "convertformat", - 4, + "use_io_coercion", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ConvertRowtypeExpr, convertformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__JsonExpr, use_io_coercion), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "use_json_coercion", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ConvertRowtypeExpr, location), + offsetof(PgQuery__JsonExpr, use_json_coercion), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__convert_rowtype_expr__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 3, /* field[3] = convertformat */ - 4, /* field[4] = location */ - 2, /* field[2] = resulttype */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__convert_rowtype_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__convert_rowtype_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ConvertRowtypeExpr", - "ConvertRowtypeExpr", - "PgQuery__ConvertRowtypeExpr", - "pg_query", - sizeof(PgQuery__ConvertRowtypeExpr), - 5, - pg_query__convert_rowtype_expr__field_descriptors, - pg_query__convert_rowtype_expr__field_indices_by_name, - 1, pg_query__convert_rowtype_expr__number_ranges, - (ProtobufCMessageInit) pg_query__convert_rowtype_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__collate_expr__field_descriptors[4] = -{ { - "xpr", - 1, + "wrapper", + 14, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateExpr, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, wrapper), + &pg_query__json_wrapper__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", - 2, + "omit_quotes", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateExpr, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonExpr, omit_quotes), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coll_oid", - 3, + "collation", + 16, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateExpr, coll_oid), + offsetof(PgQuery__JsonExpr, collation), NULL, NULL, 0, /* flags */ @@ -17856,160 +21712,262 @@ static const ProtobufCFieldDescriptor pg_query__collate_expr__field_descriptors[ }, { "location", - 4, + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateExpr, location), + offsetof(PgQuery__JsonExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__collate_expr__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 2, /* field[2] = coll_oid */ - 3, /* field[3] = location */ +static const unsigned pg_query__json_expr__field_indices_by_name[] = { + 15, /* field[15] = collation */ + 2, /* field[2] = column_name */ + 4, /* field[4] = format */ + 3, /* field[3] = formatted_expr */ + 16, /* field[16] = location */ + 14, /* field[14] = omit_quotes */ + 9, /* field[9] = on_empty */ + 10, /* field[10] = on_error */ + 1, /* field[1] = op */ + 7, /* field[7] = passing_names */ + 8, /* field[8] = passing_values */ + 5, /* field[5] = path_spec */ + 6, /* field[6] = returning */ + 11, /* field[11] = use_io_coercion */ + 12, /* field[12] = use_json_coercion */ + 13, /* field[13] = wrapper */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__collate_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 17 } }; -const ProtobufCMessageDescriptor pg_query__collate_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__json_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CollateExpr", - "CollateExpr", - "PgQuery__CollateExpr", + "pg_query.JsonExpr", + "JsonExpr", + "PgQuery__JsonExpr", "pg_query", - sizeof(PgQuery__CollateExpr), - 4, - pg_query__collate_expr__field_descriptors, - pg_query__collate_expr__field_indices_by_name, - 1, pg_query__collate_expr__number_ranges, - (ProtobufCMessageInit) pg_query__collate_expr__init, + sizeof(PgQuery__JsonExpr), + 17, + pg_query__json_expr__field_descriptors, + pg_query__json_expr__field_indices_by_name, + 1, pg_query__json_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__case_expr__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__json_table_path__field_descriptors[1] = { { - "xpr", + "name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePath, name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__json_table_path__field_indices_by_name[] = { + 0, /* field[0] = name */ +}; +static const ProtobufCIntRange pg_query__json_table_path__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__json_table_path__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonTablePath", + "JsonTablePath", + "PgQuery__JsonTablePath", + "pg_query", + sizeof(PgQuery__JsonTablePath), + 1, + pg_query__json_table_path__field_descriptors, + pg_query__json_table_path__field_indices_by_name, + 1, pg_query__json_table_path__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_table_path_scan__field_descriptors[6] = +{ + { + "plan", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, xpr), + offsetof(PgQuery__JsonTablePathScan, plan), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "casetype", + "path", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePathScan, path), + &pg_query__json_table_path__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "error_on_error", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePathScan, error_on_error), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "child", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, casetype), - NULL, + offsetof(PgQuery__JsonTablePathScan, child), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "casecollid", - 3, + "col_min", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, casecollid), + offsetof(PgQuery__JsonTablePathScan, col_min), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", - 4, + "col_max", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonTablePathScan, col_max), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_table_path_scan__field_indices_by_name[] = { + 3, /* field[3] = child */ + 5, /* field[5] = col_max */ + 4, /* field[4] = col_min */ + 2, /* field[2] = error_on_error */ + 1, /* field[1] = path */ + 0, /* field[0] = plan */ +}; +static const ProtobufCIntRange pg_query__json_table_path_scan__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__json_table_path_scan__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonTablePathScan", + "JsonTablePathScan", + "PgQuery__JsonTablePathScan", + "pg_query", + sizeof(PgQuery__JsonTablePathScan), + 6, + pg_query__json_table_path_scan__field_descriptors, + pg_query__json_table_path_scan__field_indices_by_name, + 1, pg_query__json_table_path_scan__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path_scan__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_table_sibling_join__field_descriptors[3] = +{ { - "args", - 5, - PROTOBUF_C_LABEL_REPEATED, + "plan", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CaseExpr, n_args), - offsetof(PgQuery__CaseExpr, args), + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTableSiblingJoin, plan), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "defresult", - 6, + "lplan", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, defresult), + offsetof(PgQuery__JsonTableSiblingJoin, lplan), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 7, + "rplan", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseExpr, location), - NULL, + offsetof(PgQuery__JsonTableSiblingJoin, rplan), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__case_expr__field_indices_by_name[] = { - 3, /* field[3] = arg */ - 4, /* field[4] = args */ - 2, /* field[2] = casecollid */ - 1, /* field[1] = casetype */ - 5, /* field[5] = defresult */ - 6, /* field[6] = location */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__json_table_sibling_join__field_indices_by_name[] = { + 1, /* field[1] = lplan */ + 0, /* field[0] = plan */ + 2, /* field[2] = rplan */ }; -static const ProtobufCIntRange pg_query__case_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_sibling_join__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__case_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_sibling_join__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CaseExpr", - "CaseExpr", - "PgQuery__CaseExpr", + "pg_query.JsonTableSiblingJoin", + "JsonTableSiblingJoin", + "PgQuery__JsonTableSiblingJoin", "pg_query", - sizeof(PgQuery__CaseExpr), - 7, - pg_query__case_expr__field_descriptors, - pg_query__case_expr__field_indices_by_name, - 1, pg_query__case_expr__number_ranges, - (ProtobufCMessageInit) pg_query__case_expr__init, + sizeof(PgQuery__JsonTableSiblingJoin), + 3, + pg_query__json_table_sibling_join__field_descriptors, + pg_query__json_table_sibling_join__field_indices_by_name, + 1, pg_query__json_table_sibling_join__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_sibling_join__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__case_when__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__null_test__field_descriptors[5] = { { "xpr", @@ -18017,76 +21975,89 @@ static const ProtobufCFieldDescriptor pg_query__case_when__field_descriptors[4] PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseWhen, xpr), + offsetof(PgQuery__NullTest, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "arg", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseWhen, expr), + offsetof(PgQuery__NullTest, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "result", + "nulltesttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseWhen, result), - &pg_query__node__descriptor, + offsetof(PgQuery__NullTest, nulltesttype), + &pg_query__null_test_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "argisrow", 4, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__NullTest, argisrow), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 5, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseWhen, location), + offsetof(PgQuery__NullTest, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__case_when__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 3, /* field[3] = location */ - 2, /* field[2] = result */ +static const unsigned pg_query__null_test__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 3, /* field[3] = argisrow */ + 4, /* field[4] = location */ + 2, /* field[2] = nulltesttype */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__case_when__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__null_test__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__case_when__descriptor = +const ProtobufCMessageDescriptor pg_query__null_test__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CaseWhen", - "CaseWhen", - "PgQuery__CaseWhen", + "pg_query.NullTest", + "NullTest", + "PgQuery__NullTest", "pg_query", - sizeof(PgQuery__CaseWhen), - 4, - pg_query__case_when__field_descriptors, - pg_query__case_when__field_indices_by_name, - 1, pg_query__case_when__number_ranges, - (ProtobufCMessageInit) pg_query__case_when__init, + sizeof(PgQuery__NullTest), + 5, + pg_query__null_test__field_descriptors, + pg_query__null_test__field_indices_by_name, + 1, pg_query__null_test__number_ranges, + (ProtobufCMessageInit) pg_query__null_test__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__case_test_expr__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__boolean_test__field_descriptors[4] = { { "xpr", @@ -18094,192 +22065,179 @@ static const ProtobufCFieldDescriptor pg_query__case_test_expr__field_descriptor PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseTestExpr, xpr), + offsetof(PgQuery__BooleanTest, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", + "arg", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseTestExpr, type_id), - NULL, + offsetof(PgQuery__BooleanTest, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_mod", + "booltesttype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseTestExpr, type_mod), - NULL, + offsetof(PgQuery__BooleanTest, booltesttype), + &pg_query__bool_test_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collation", + "location", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CaseTestExpr, collation), + offsetof(PgQuery__BooleanTest, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__case_test_expr__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 1, /* field[1] = type_id */ - 2, /* field[2] = type_mod */ +static const unsigned pg_query__boolean_test__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 2, /* field[2] = booltesttype */ + 3, /* field[3] = location */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__case_test_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__boolean_test__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__case_test_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CaseTestExpr", - "CaseTestExpr", - "PgQuery__CaseTestExpr", + "pg_query.BooleanTest", + "BooleanTest", + "PgQuery__BooleanTest", "pg_query", - sizeof(PgQuery__CaseTestExpr), + sizeof(PgQuery__BooleanTest), 4, - pg_query__case_test_expr__field_descriptors, - pg_query__case_test_expr__field_indices_by_name, - 1, pg_query__case_test_expr__number_ranges, - (ProtobufCMessageInit) pg_query__case_test_expr__init, + pg_query__boolean_test__field_descriptors, + pg_query__boolean_test__field_indices_by_name, + 1, pg_query__boolean_test__number_ranges, + (ProtobufCMessageInit) pg_query__boolean_test__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__array_expr__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__merge_action__field_descriptors[6] = { { - "xpr", + "match_kind", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__MergeAction, match_kind), + &pg_query__merge_match_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "array_typeid", + "command_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, array_typeid), - NULL, + offsetof(PgQuery__MergeAction, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "array_collid", + "override", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, array_collid), - NULL, + offsetof(PgQuery__MergeAction, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "element_typeid", + "qual", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, element_typeid), - NULL, + offsetof(PgQuery__MergeAction, qual), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "elements", + "target_list", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ArrayExpr, n_elements), - offsetof(PgQuery__ArrayExpr, elements), + offsetof(PgQuery__MergeAction, n_target_list), + offsetof(PgQuery__MergeAction, target_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "multidims", + "update_colnos", 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, multidims), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__ArrayExpr, location), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeAction, n_update_colnos), + offsetof(PgQuery__MergeAction, update_colnos), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__array_expr__field_indices_by_name[] = { - 2, /* field[2] = array_collid */ - 1, /* field[1] = array_typeid */ - 3, /* field[3] = element_typeid */ - 4, /* field[4] = elements */ - 6, /* field[6] = location */ - 5, /* field[5] = multidims */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__merge_action__field_indices_by_name[] = { + 1, /* field[1] = command_type */ + 0, /* field[0] = match_kind */ + 2, /* field[2] = override */ + 3, /* field[3] = qual */ + 4, /* field[4] = target_list */ + 5, /* field[5] = update_colnos */ }; -static const ProtobufCIntRange pg_query__array_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__merge_action__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__array_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__merge_action__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ArrayExpr", - "ArrayExpr", - "PgQuery__ArrayExpr", + "pg_query.MergeAction", + "MergeAction", + "PgQuery__MergeAction", "pg_query", - sizeof(PgQuery__ArrayExpr), - 7, - pg_query__array_expr__field_descriptors, - pg_query__array_expr__field_indices_by_name, - 1, pg_query__array_expr__number_ranges, - (ProtobufCMessageInit) pg_query__array_expr__init, + sizeof(PgQuery__MergeAction), + 6, + pg_query__merge_action__field_descriptors, + pg_query__merge_action__field_indices_by_name, + 1, pg_query__merge_action__number_ranges, + (ProtobufCMessageInit) pg_query__merge_action__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__row_expr__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__coerce_to_domain__field_descriptors[7] = { { "xpr", @@ -18287,102 +22245,115 @@ static const ProtobufCFieldDescriptor pg_query__row_expr__field_descriptors[6] = PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RowExpr, xpr), + offsetof(PgQuery__CoerceToDomain, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "arg", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowExpr, n_args), - offsetof(PgQuery__RowExpr, args), + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomain, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_typeid", + "resulttype", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RowExpr, row_typeid), + offsetof(PgQuery__CoerceToDomain, resulttype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_format", + "resulttypmod", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RowExpr, row_format), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__CoerceToDomain, resulttypmod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colnames", + "resultcollid", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowExpr, n_colnames), - offsetof(PgQuery__RowExpr, colnames), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomain, resultcollid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "coercionformat", 6, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomain, coercionformat), + &pg_query__coercion_form__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RowExpr, location), + offsetof(PgQuery__CoerceToDomain, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__row_expr__field_indices_by_name[] = { - 1, /* field[1] = args */ - 4, /* field[4] = colnames */ - 5, /* field[5] = location */ - 3, /* field[3] = row_format */ - 2, /* field[2] = row_typeid */ +static const unsigned pg_query__coerce_to_domain__field_indices_by_name[] = { + 1, /* field[1] = arg */ + 5, /* field[5] = coercionformat */ + 6, /* field[6] = location */ + 4, /* field[4] = resultcollid */ + 2, /* field[2] = resulttype */ + 3, /* field[3] = resulttypmod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__row_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__coerce_to_domain__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__row_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RowExpr", - "RowExpr", - "PgQuery__RowExpr", + "pg_query.CoerceToDomain", + "CoerceToDomain", + "PgQuery__CoerceToDomain", "pg_query", - sizeof(PgQuery__RowExpr), - 6, - pg_query__row_expr__field_descriptors, - pg_query__row_expr__field_indices_by_name, - 1, pg_query__row_expr__number_ranges, - (ProtobufCMessageInit) pg_query__row_expr__init, + sizeof(PgQuery__CoerceToDomain), + 7, + pg_query__coerce_to_domain__field_descriptors, + pg_query__coerce_to_domain__field_indices_by_name, + 1, pg_query__coerce_to_domain__number_ranges, + (ProtobufCMessageInit) pg_query__coerce_to_domain__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__row_compare_expr__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_descriptors[5] = { { "xpr", @@ -18390,115 +22361,89 @@ static const ProtobufCFieldDescriptor pg_query__row_compare_expr__field_descript PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RowCompareExpr, xpr), + offsetof(PgQuery__CoerceToDomainValue, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rctype", + "type_id", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RowCompareExpr, rctype), - &pg_query__row_compare_type__descriptor, + offsetof(PgQuery__CoerceToDomainValue, type_id), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opnos", + "type_mod", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowCompareExpr, n_opnos), - offsetof(PgQuery__RowCompareExpr, opnos), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomainValue, type_mod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfamilies", + "collation", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowCompareExpr, n_opfamilies), - offsetof(PgQuery__RowCompareExpr, opfamilies), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomainValue, collation), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inputcollids", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowCompareExpr, n_inputcollids), - offsetof(PgQuery__RowCompareExpr, inputcollids), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "largs", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowCompareExpr, n_largs), - offsetof(PgQuery__RowCompareExpr, largs), - &pg_query__node__descriptor, + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CoerceToDomainValue, location), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "rargs", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RowCompareExpr, n_rargs), - offsetof(PgQuery__RowCompareExpr, rargs), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__row_compare_expr__field_indices_by_name[] = { - 4, /* field[4] = inputcollids */ - 5, /* field[5] = largs */ - 3, /* field[3] = opfamilies */ - 2, /* field[2] = opnos */ - 6, /* field[6] = rargs */ - 1, /* field[1] = rctype */ +static const unsigned pg_query__coerce_to_domain_value__field_indices_by_name[] = { + 3, /* field[3] = collation */ + 4, /* field[4] = location */ + 1, /* field[1] = type_id */ + 2, /* field[2] = type_mod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__row_compare_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__coerce_to_domain_value__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__row_compare_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RowCompareExpr", - "RowCompareExpr", - "PgQuery__RowCompareExpr", + "pg_query.CoerceToDomainValue", + "CoerceToDomainValue", + "PgQuery__CoerceToDomainValue", "pg_query", - sizeof(PgQuery__RowCompareExpr), - 7, - pg_query__row_compare_expr__field_descriptors, - pg_query__row_compare_expr__field_indices_by_name, - 1, pg_query__row_compare_expr__number_ranges, - (ProtobufCMessageInit) pg_query__row_compare_expr__init, + sizeof(PgQuery__CoerceToDomainValue), + 5, + pg_query__coerce_to_domain_value__field_descriptors, + pg_query__coerce_to_domain_value__field_indices_by_name, + 1, pg_query__coerce_to_domain_value__number_ranges, + (ProtobufCMessageInit) pg_query__coerce_to_domain_value__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__coalesce_expr__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__set_to_default__field_descriptors[5] = { { "xpr", @@ -18506,44 +22451,44 @@ static const ProtobufCFieldDescriptor pg_query__coalesce_expr__field_descriptors PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoalesceExpr, xpr), + offsetof(PgQuery__SetToDefault, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coalescetype", + "type_id", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoalesceExpr, coalescetype), + offsetof(PgQuery__SetToDefault, type_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coalescecollid", + "type_mod", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoalesceExpr, coalescecollid), + offsetof(PgQuery__SetToDefault, type_mod), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "collation", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CoalesceExpr, n_args), - offsetof(PgQuery__CoalesceExpr, args), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__SetToDefault, collation), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ @@ -18554,41 +22499,41 @@ static const ProtobufCFieldDescriptor pg_query__coalesce_expr__field_descriptors PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoalesceExpr, location), + offsetof(PgQuery__SetToDefault, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__coalesce_expr__field_indices_by_name[] = { - 3, /* field[3] = args */ - 2, /* field[2] = coalescecollid */ - 1, /* field[1] = coalescetype */ +static const unsigned pg_query__set_to_default__field_indices_by_name[] = { + 3, /* field[3] = collation */ 4, /* field[4] = location */ + 1, /* field[1] = type_id */ + 2, /* field[2] = type_mod */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__coalesce_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__set_to_default__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__coalesce_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoalesceExpr", - "CoalesceExpr", - "PgQuery__CoalesceExpr", + "pg_query.SetToDefault", + "SetToDefault", + "PgQuery__SetToDefault", "pg_query", - sizeof(PgQuery__CoalesceExpr), + sizeof(PgQuery__SetToDefault), 5, - pg_query__coalesce_expr__field_descriptors, - pg_query__coalesce_expr__field_indices_by_name, - 1, pg_query__coalesce_expr__number_ranges, - (ProtobufCMessageInit) pg_query__coalesce_expr__init, + pg_query__set_to_default__field_descriptors, + pg_query__set_to_default__field_indices_by_name, + 1, pg_query__set_to_default__number_ranges, + (ProtobufCMessageInit) pg_query__set_to_default__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__min_max_expr__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__current_of_expr__field_descriptors[4] = { { "xpr", @@ -18596,115 +22541,140 @@ static const ProtobufCFieldDescriptor pg_query__min_max_expr__field_descriptors[ PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, xpr), + offsetof(PgQuery__CurrentOfExpr, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "minmaxtype", + "cvarno", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, minmaxtype), + offsetof(PgQuery__CurrentOfExpr, cvarno), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "minmaxcollid", + "cursor_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, minmaxcollid), - NULL, + offsetof(PgQuery__CurrentOfExpr, cursor_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inputcollid", + "cursor_param", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, inputcollid), + offsetof(PgQuery__CurrentOfExpr, cursor_param), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__current_of_expr__field_indices_by_name[] = { + 2, /* field[2] = cursor_name */ + 3, /* field[3] = cursor_param */ + 1, /* field[1] = cvarno */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__current_of_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__current_of_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CurrentOfExpr", + "CurrentOfExpr", + "PgQuery__CurrentOfExpr", + "pg_query", + sizeof(PgQuery__CurrentOfExpr), + 4, + pg_query__current_of_expr__field_descriptors, + pg_query__current_of_expr__field_indices_by_name, + 1, pg_query__current_of_expr__number_ranges, + (ProtobufCMessageInit) pg_query__current_of_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__next_value_expr__field_descriptors[3] = +{ { - "op", - 5, + "xpr", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, op), - &pg_query__min_max_op__descriptor, + offsetof(PgQuery__NextValueExpr, xpr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MinMaxExpr, n_args), - offsetof(PgQuery__MinMaxExpr, args), - &pg_query__node__descriptor, + "seqid", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__NextValueExpr, seqid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 7, + "type_id", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__MinMaxExpr, location), + offsetof(PgQuery__NextValueExpr, type_id), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__min_max_expr__field_indices_by_name[] = { - 5, /* field[5] = args */ - 3, /* field[3] = inputcollid */ - 6, /* field[6] = location */ - 2, /* field[2] = minmaxcollid */ - 1, /* field[1] = minmaxtype */ - 4, /* field[4] = op */ +static const unsigned pg_query__next_value_expr__field_indices_by_name[] = { + 1, /* field[1] = seqid */ + 2, /* field[2] = type_id */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__min_max_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__next_value_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__min_max_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__next_value_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MinMaxExpr", - "MinMaxExpr", - "PgQuery__MinMaxExpr", + "pg_query.NextValueExpr", + "NextValueExpr", + "PgQuery__NextValueExpr", "pg_query", - sizeof(PgQuery__MinMaxExpr), - 7, - pg_query__min_max_expr__field_descriptors, - pg_query__min_max_expr__field_indices_by_name, - 1, pg_query__min_max_expr__number_ranges, - (ProtobufCMessageInit) pg_query__min_max_expr__init, + sizeof(PgQuery__NextValueExpr), + 3, + pg_query__next_value_expr__field_descriptors, + pg_query__next_value_expr__field_indices_by_name, + 1, pg_query__next_value_expr__number_ranges, + (ProtobufCMessageInit) pg_query__next_value_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sqlvalue_function__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__inference_elem__field_descriptors[4] = { { "xpr", @@ -18712,89 +22682,76 @@ static const ProtobufCFieldDescriptor pg_query__sqlvalue_function__field_descrip PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SQLValueFunction, xpr), + offsetof(PgQuery__InferenceElem, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "op", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SQLValueFunction, op), - &pg_query__sqlvalue_function_op__descriptor, + offsetof(PgQuery__InferenceElem, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type", + "infercollid", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SQLValueFunction, type), + offsetof(PgQuery__InferenceElem, infercollid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "typmod", + "inferopclass", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__SQLValueFunction, typmod), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SQLValueFunction, location), + offsetof(PgQuery__InferenceElem, inferopclass), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__sqlvalue_function__field_indices_by_name[] = { - 4, /* field[4] = location */ - 1, /* field[1] = op */ - 2, /* field[2] = type */ - 3, /* field[3] = typmod */ +static const unsigned pg_query__inference_elem__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 2, /* field[2] = infercollid */ + 3, /* field[3] = inferopclass */ 0, /* field[0] = xpr */ }; -static const ProtobufCIntRange pg_query__sqlvalue_function__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__inference_elem__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__sqlvalue_function__descriptor = +const ProtobufCMessageDescriptor pg_query__inference_elem__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SQLValueFunction", - "SQLValueFunction", - "PgQuery__SQLValueFunction", + "pg_query.InferenceElem", + "InferenceElem", + "PgQuery__InferenceElem", "pg_query", - sizeof(PgQuery__SQLValueFunction), - 5, - pg_query__sqlvalue_function__field_descriptors, - pg_query__sqlvalue_function__field_indices_by_name, - 1, pg_query__sqlvalue_function__number_ranges, - (ProtobufCMessageInit) pg_query__sqlvalue_function__init, + sizeof(PgQuery__InferenceElem), + 4, + pg_query__inference_elem__field_descriptors, + pg_query__inference_elem__field_indices_by_name, + 1, pg_query__inference_elem__number_ranges, + (ProtobufCMessageInit) pg_query__inference_elem__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__xml_expr__field_descriptors[10] = +static const ProtobufCFieldDescriptor pg_query__target_entry__field_descriptors[8] = { { "xpr", @@ -18802,2977 +22759,3045 @@ static const ProtobufCFieldDescriptor pg_query__xml_expr__field_descriptors[10] PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, xpr), + offsetof(PgQuery__TargetEntry, xpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "op", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, op), - &pg_query__xml_expr_op__descriptor, + offsetof(PgQuery__TargetEntry, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "resno", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, name), + offsetof(PgQuery__TargetEntry, resno), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "named_args", + "resname", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__XmlExpr, n_named_args), - offsetof(PgQuery__XmlExpr, named_args), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__TargetEntry, resname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg_names", + "ressortgroupref", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__XmlExpr, n_arg_names), - offsetof(PgQuery__XmlExpr, arg_names), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TargetEntry, ressortgroupref), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__XmlExpr, n_args), - offsetof(PgQuery__XmlExpr, args), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "xmloption", - 7, + "resorigtbl", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, xmloption), - &pg_query__xml_option_type__descriptor, + offsetof(PgQuery__TargetEntry, resorigtbl), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type", - 8, + "resorigcol", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, type), + offsetof(PgQuery__TargetEntry, resorigcol), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "typmod", - 9, + "resjunk", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, typmod), + offsetof(PgQuery__TargetEntry, resjunk), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__target_entry__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 7, /* field[7] = resjunk */ + 3, /* field[3] = resname */ + 2, /* field[2] = resno */ + 6, /* field[6] = resorigcol */ + 5, /* field[5] = resorigtbl */ + 4, /* field[4] = ressortgroupref */ + 0, /* field[0] = xpr */ +}; +static const ProtobufCIntRange pg_query__target_entry__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__target_entry__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TargetEntry", + "TargetEntry", + "PgQuery__TargetEntry", + "pg_query", + sizeof(PgQuery__TargetEntry), + 8, + pg_query__target_entry__field_descriptors, + pg_query__target_entry__field_indices_by_name, + 1, pg_query__target_entry__number_ranges, + (ProtobufCMessageInit) pg_query__target_entry__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__range_tbl_ref__field_descriptors[1] = +{ { - "location", - 10, + "rtindex", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlExpr, location), + offsetof(PgQuery__RangeTblRef, rtindex), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__xml_expr__field_indices_by_name[] = { - 4, /* field[4] = arg_names */ - 5, /* field[5] = args */ - 9, /* field[9] = location */ - 2, /* field[2] = name */ - 3, /* field[3] = named_args */ - 1, /* field[1] = op */ - 7, /* field[7] = type */ - 8, /* field[8] = typmod */ - 6, /* field[6] = xmloption */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__range_tbl_ref__field_indices_by_name[] = { + 0, /* field[0] = rtindex */ }; -static const ProtobufCIntRange pg_query__xml_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_tbl_ref__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__xml_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__range_tbl_ref__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.XmlExpr", - "XmlExpr", - "PgQuery__XmlExpr", + "pg_query.RangeTblRef", + "RangeTblRef", + "PgQuery__RangeTblRef", "pg_query", - sizeof(PgQuery__XmlExpr), - 10, - pg_query__xml_expr__field_descriptors, - pg_query__xml_expr__field_indices_by_name, - 1, pg_query__xml_expr__number_ranges, - (ProtobufCMessageInit) pg_query__xml_expr__init, + sizeof(PgQuery__RangeTblRef), + 1, + pg_query__range_tbl_ref__field_descriptors, + pg_query__range_tbl_ref__field_indices_by_name, + 1, pg_query__range_tbl_ref__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_ref__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__null_test__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__join_expr__field_descriptors[9] = { { - "xpr", + "jointype", 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, jointype), + &pg_query__join_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "is_natural", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, is_natural), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "larg", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, xpr), + offsetof(PgQuery__JoinExpr, larg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", - 2, + "rarg", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, arg), + offsetof(PgQuery__JoinExpr, rarg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulltesttype", - 3, + "using_clause", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JoinExpr, n_using_clause), + offsetof(PgQuery__JoinExpr, using_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "join_using_alias", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, nulltesttype), - &pg_query__null_test_type__descriptor, + offsetof(PgQuery__JoinExpr, join_using_alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "argisrow", - 4, + "quals", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, argisrow), + offsetof(PgQuery__JoinExpr, quals), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alias", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JoinExpr, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "rtindex", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NullTest, location), + offsetof(PgQuery__JoinExpr, rtindex), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__null_test__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 3, /* field[3] = argisrow */ - 4, /* field[4] = location */ - 2, /* field[2] = nulltesttype */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__join_expr__field_indices_by_name[] = { + 7, /* field[7] = alias */ + 1, /* field[1] = is_natural */ + 5, /* field[5] = join_using_alias */ + 0, /* field[0] = jointype */ + 2, /* field[2] = larg */ + 6, /* field[6] = quals */ + 3, /* field[3] = rarg */ + 8, /* field[8] = rtindex */ + 4, /* field[4] = using_clause */ }; -static const ProtobufCIntRange pg_query__null_test__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__join_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 9 } }; -const ProtobufCMessageDescriptor pg_query__null_test__descriptor = +const ProtobufCMessageDescriptor pg_query__join_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NullTest", - "NullTest", - "PgQuery__NullTest", + "pg_query.JoinExpr", + "JoinExpr", + "PgQuery__JoinExpr", "pg_query", - sizeof(PgQuery__NullTest), - 5, - pg_query__null_test__field_descriptors, - pg_query__null_test__field_indices_by_name, - 1, pg_query__null_test__number_ranges, - (ProtobufCMessageInit) pg_query__null_test__init, + sizeof(PgQuery__JoinExpr), + 9, + pg_query__join_expr__field_descriptors, + pg_query__join_expr__field_indices_by_name, + 1, pg_query__join_expr__number_ranges, + (ProtobufCMessageInit) pg_query__join_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__boolean_test__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__from_expr__field_descriptors[2] = { { - "xpr", + "fromlist", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, xpr), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "arg", - 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, arg), + offsetof(PgQuery__FromExpr, n_fromlist), + offsetof(PgQuery__FromExpr, fromlist), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "booltesttype", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, booltesttype), - &pg_query__bool_test_type__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 4, + "quals", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__BooleanTest, location), - NULL, + offsetof(PgQuery__FromExpr, quals), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__boolean_test__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 2, /* field[2] = booltesttype */ - 3, /* field[3] = location */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__from_expr__field_indices_by_name[] = { + 0, /* field[0] = fromlist */ + 1, /* field[1] = quals */ }; -static const ProtobufCIntRange pg_query__boolean_test__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__from_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__boolean_test__descriptor = +const ProtobufCMessageDescriptor pg_query__from_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.BooleanTest", - "BooleanTest", - "PgQuery__BooleanTest", + "pg_query.FromExpr", + "FromExpr", + "PgQuery__FromExpr", "pg_query", - sizeof(PgQuery__BooleanTest), - 4, - pg_query__boolean_test__field_descriptors, - pg_query__boolean_test__field_indices_by_name, - 1, pg_query__boolean_test__number_ranges, - (ProtobufCMessageInit) pg_query__boolean_test__init, + sizeof(PgQuery__FromExpr), + 2, + pg_query__from_expr__field_descriptors, + pg_query__from_expr__field_indices_by_name, + 1, pg_query__from_expr__number_ranges, + (ProtobufCMessageInit) pg_query__from_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__coerce_to_domain__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__on_conflict_expr__field_descriptors[8] = { { - "xpr", + "action", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__OnConflictExpr, action), + &pg_query__on_conflict_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "arbiter_elems", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, arg), + offsetof(PgQuery__OnConflictExpr, n_arbiter_elems), + offsetof(PgQuery__OnConflictExpr, arbiter_elems), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttype", + "arbiter_where", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resulttype), - NULL, + offsetof(PgQuery__OnConflictExpr, arbiter_where), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resulttypmod", + "constraint", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resulttypmod), + offsetof(PgQuery__OnConflictExpr, constraint), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resultcollid", + "on_conflict_set", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, resultcollid), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__OnConflictExpr, n_on_conflict_set), + offsetof(PgQuery__OnConflictExpr, on_conflict_set), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coercionformat", + "on_conflict_where", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, coercionformat), - &pg_query__coercion_form__descriptor, + offsetof(PgQuery__OnConflictExpr, on_conflict_where), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "excl_rel_index", 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomain, location), + offsetof(PgQuery__OnConflictExpr, excl_rel_index), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "excl_rel_tlist", + 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__OnConflictExpr, n_excl_rel_tlist), + offsetof(PgQuery__OnConflictExpr, excl_rel_tlist), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__coerce_to_domain__field_indices_by_name[] = { - 1, /* field[1] = arg */ - 5, /* field[5] = coercionformat */ - 6, /* field[6] = location */ - 4, /* field[4] = resultcollid */ - 2, /* field[2] = resulttype */ - 3, /* field[3] = resulttypmod */ - 0, /* field[0] = xpr */ +static const unsigned pg_query__on_conflict_expr__field_indices_by_name[] = { + 0, /* field[0] = action */ + 1, /* field[1] = arbiter_elems */ + 2, /* field[2] = arbiter_where */ + 3, /* field[3] = constraint */ + 6, /* field[6] = excl_rel_index */ + 7, /* field[7] = excl_rel_tlist */ + 4, /* field[4] = on_conflict_set */ + 5, /* field[5] = on_conflict_where */ }; -static const ProtobufCIntRange pg_query__coerce_to_domain__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__on_conflict_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__coerce_to_domain__descriptor = +const ProtobufCMessageDescriptor pg_query__on_conflict_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoerceToDomain", - "CoerceToDomain", - "PgQuery__CoerceToDomain", + "pg_query.OnConflictExpr", + "OnConflictExpr", + "PgQuery__OnConflictExpr", "pg_query", - sizeof(PgQuery__CoerceToDomain), - 7, - pg_query__coerce_to_domain__field_descriptors, - pg_query__coerce_to_domain__field_indices_by_name, - 1, pg_query__coerce_to_domain__number_ranges, - (ProtobufCMessageInit) pg_query__coerce_to_domain__init, + sizeof(PgQuery__OnConflictExpr), + 8, + pg_query__on_conflict_expr__field_descriptors, + pg_query__on_conflict_expr__field_indices_by_name, + 1, pg_query__on_conflict_expr__number_ranges, + (ProtobufCMessageInit) pg_query__on_conflict_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__coerce_to_domain_value__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__query__field_descriptors[42] = { { - "xpr", + "command_type", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", + "query_source", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, type_id), - NULL, + offsetof(PgQuery__Query, query_source), + &pg_query__query_source__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_mod", + "can_set_tag", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, type_mod), + offsetof(PgQuery__Query, can_set_tag), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collation", + "utility_stmt", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, collation), - NULL, + offsetof(PgQuery__Query, utility_stmt), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "result_relation", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CoerceToDomainValue, location), - NULL, + offsetof(PgQuery__Query, result_relation), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__coerce_to_domain_value__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 4, /* field[4] = location */ - 1, /* field[1] = type_id */ - 2, /* field[2] = type_mod */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__coerce_to_domain_value__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__coerce_to_domain_value__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CoerceToDomainValue", - "CoerceToDomainValue", - "PgQuery__CoerceToDomainValue", - "pg_query", - sizeof(PgQuery__CoerceToDomainValue), - 5, - pg_query__coerce_to_domain_value__field_descriptors, - pg_query__coerce_to_domain_value__field_indices_by_name, - 1, pg_query__coerce_to_domain_value__number_ranges, - (ProtobufCMessageInit) pg_query__coerce_to_domain_value__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__set_to_default__field_descriptors[5] = -{ - { - "xpr", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, xpr), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", - 2, + "has_aggs", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, type_id), + offsetof(PgQuery__Query, has_aggs), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_mod", - 3, + "has_window_funcs", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, type_mod), + offsetof(PgQuery__Query, has_window_funcs), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collation", - 4, + "has_target_srfs", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, collation), + offsetof(PgQuery__Query, has_target_srfs), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "has_sub_links", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SetToDefault, location), - NULL, + offsetof(PgQuery__Query, has_sub_links), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__set_to_default__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 4, /* field[4] = location */ - 1, /* field[1] = type_id */ - 2, /* field[2] = type_mod */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__set_to_default__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__set_to_default__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SetToDefault", - "SetToDefault", - "PgQuery__SetToDefault", - "pg_query", - sizeof(PgQuery__SetToDefault), - 5, - pg_query__set_to_default__field_descriptors, - pg_query__set_to_default__field_indices_by_name, - 1, pg_query__set_to_default__number_ranges, - (ProtobufCMessageInit) pg_query__set_to_default__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__current_of_expr__field_descriptors[4] = -{ - { - "xpr", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, xpr), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cvarno", - 2, + "has_distinct_on", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cvarno), + offsetof(PgQuery__Query, has_distinct_on), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cursor_name", - 3, + "has_recursive", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cursor_name), + offsetof(PgQuery__Query, has_recursive), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cursor_param", - 4, + "has_modifying_cte", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CurrentOfExpr, cursor_param), + offsetof(PgQuery__Query, has_modifying_cte), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__current_of_expr__field_indices_by_name[] = { - 2, /* field[2] = cursor_name */ - 3, /* field[3] = cursor_param */ - 1, /* field[1] = cvarno */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__current_of_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__current_of_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CurrentOfExpr", - "CurrentOfExpr", - "PgQuery__CurrentOfExpr", - "pg_query", - sizeof(PgQuery__CurrentOfExpr), - 4, - pg_query__current_of_expr__field_descriptors, - pg_query__current_of_expr__field_indices_by_name, - 1, pg_query__current_of_expr__number_ranges, - (ProtobufCMessageInit) pg_query__current_of_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__next_value_expr__field_descriptors[3] = -{ { - "xpr", - 1, + "has_for_update", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, has_for_update), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "seqid", - 2, + "has_row_security", + 14, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, seqid), + offsetof(PgQuery__Query, has_row_security), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_id", - 3, + "is_return", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__NextValueExpr, type_id), + offsetof(PgQuery__Query, is_return), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__next_value_expr__field_indices_by_name[] = { - 1, /* field[1] = seqid */ - 2, /* field[2] = type_id */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__next_value_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__next_value_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NextValueExpr", - "NextValueExpr", - "PgQuery__NextValueExpr", - "pg_query", - sizeof(PgQuery__NextValueExpr), - 3, - pg_query__next_value_expr__field_descriptors, - pg_query__next_value_expr__field_indices_by_name, - 1, pg_query__next_value_expr__number_ranges, - (ProtobufCMessageInit) pg_query__next_value_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__inference_elem__field_descriptors[4] = -{ { - "xpr", - 1, - PROTOBUF_C_LABEL_NONE, + "cte_list", + 16, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, xpr), + offsetof(PgQuery__Query, n_cte_list), + offsetof(PgQuery__Query, cte_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", - 2, - PROTOBUF_C_LABEL_NONE, + "rtable", + 17, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, expr), + offsetof(PgQuery__Query, n_rtable), + offsetof(PgQuery__Query, rtable), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "infercollid", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, infercollid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inferopclass", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferenceElem, inferopclass), - NULL, + "rteperminfos", + 18, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_rteperminfos), + offsetof(PgQuery__Query, rteperminfos), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__inference_elem__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 2, /* field[2] = infercollid */ - 3, /* field[3] = inferopclass */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__inference_elem__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__inference_elem__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InferenceElem", - "InferenceElem", - "PgQuery__InferenceElem", - "pg_query", - sizeof(PgQuery__InferenceElem), - 4, - pg_query__inference_elem__field_descriptors, - pg_query__inference_elem__field_indices_by_name, - 1, pg_query__inference_elem__number_ranges, - (ProtobufCMessageInit) pg_query__inference_elem__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__target_entry__field_descriptors[8] = -{ { - "xpr", - 1, + "jointree", + 19, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, xpr), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, jointree), + &pg_query__from_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", - 2, - PROTOBUF_C_LABEL_NONE, + "merge_action_list", + 20, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, expr), + offsetof(PgQuery__Query, n_merge_action_list), + offsetof(PgQuery__Query, merge_action_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resno", - 3, + "merge_target_relation", + 21, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resno), + offsetof(PgQuery__Query, merge_target_relation), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resname", - 4, + "merge_join_condition", + 22, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resname), + offsetof(PgQuery__Query, merge_join_condition), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ressortgroupref", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, ressortgroupref), - NULL, + "target_list", + 23, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_target_list), + offsetof(PgQuery__Query, target_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resorigtbl", - 6, + "override", + 24, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resorigtbl), - NULL, + offsetof(PgQuery__Query, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resorigcol", - 7, + "on_conflict", + 25, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resorigcol), - NULL, + offsetof(PgQuery__Query, on_conflict), + &pg_query__on_conflict_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "resjunk", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__TargetEntry, resjunk), + "returning_list", + 26, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_returning_list), + offsetof(PgQuery__Query, returning_list), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "group_clause", + 27, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_group_clause), + offsetof(PgQuery__Query, group_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__target_entry__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 7, /* field[7] = resjunk */ - 3, /* field[3] = resname */ - 2, /* field[2] = resno */ - 6, /* field[6] = resorigcol */ - 5, /* field[5] = resorigtbl */ - 4, /* field[4] = ressortgroupref */ - 0, /* field[0] = xpr */ -}; -static const ProtobufCIntRange pg_query__target_entry__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__target_entry__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TargetEntry", - "TargetEntry", - "PgQuery__TargetEntry", - "pg_query", - sizeof(PgQuery__TargetEntry), - 8, - pg_query__target_entry__field_descriptors, - pg_query__target_entry__field_indices_by_name, - 1, pg_query__target_entry__number_ranges, - (ProtobufCMessageInit) pg_query__target_entry__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__range_tbl_ref__field_descriptors[1] = -{ { - "rtindex", - 1, + "group_distinct", + 28, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblRef, rtindex), + offsetof(PgQuery__Query, group_distinct), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__range_tbl_ref__field_indices_by_name[] = { - 0, /* field[0] = rtindex */ -}; -static const ProtobufCIntRange pg_query__range_tbl_ref__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__range_tbl_ref__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblRef", - "RangeTblRef", - "PgQuery__RangeTblRef", - "pg_query", - sizeof(PgQuery__RangeTblRef), - 1, - pg_query__range_tbl_ref__field_descriptors, - pg_query__range_tbl_ref__field_indices_by_name, - 1, pg_query__range_tbl_ref__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_ref__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__join_expr__field_descriptors[9] = -{ { - "jointype", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, jointype), - &pg_query__join_type__descriptor, + "grouping_sets", + 29, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_grouping_sets), + offsetof(PgQuery__Query, grouping_sets), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_natural", - 2, + "having_qual", + 30, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, is_natural), - NULL, + offsetof(PgQuery__Query, having_qual), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "larg", - 3, - PROTOBUF_C_LABEL_NONE, + "window_clause", + 31, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, larg), + offsetof(PgQuery__Query, n_window_clause), + offsetof(PgQuery__Query, window_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rarg", - 4, - PROTOBUF_C_LABEL_NONE, + "distinct_clause", + 32, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, rarg), + offsetof(PgQuery__Query, n_distinct_clause), + offsetof(PgQuery__Query, distinct_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "using_clause", - 5, + "sort_clause", + 33, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__JoinExpr, n_using_clause), - offsetof(PgQuery__JoinExpr, using_clause), + offsetof(PgQuery__Query, n_sort_clause), + offsetof(PgQuery__Query, sort_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_using_alias", - 6, + "limit_offset", + 34, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, join_using_alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__Query, limit_offset), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "quals", - 7, + "limit_count", + 35, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, quals), + offsetof(PgQuery__Query, limit_count), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", - 8, + "limit_option", + 36, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__Query, limit_option), + &pg_query__limit_option__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rtindex", - 9, + "row_marks", + 37, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_row_marks), + offsetof(PgQuery__Query, row_marks), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "set_operations", + 38, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__JoinExpr, rtindex), + offsetof(PgQuery__Query, set_operations), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "constraint_deps", + 39, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Query, n_constraint_deps), + offsetof(PgQuery__Query, constraint_deps), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__join_expr__field_indices_by_name[] = { - 7, /* field[7] = alias */ - 1, /* field[1] = is_natural */ - 5, /* field[5] = join_using_alias */ - 0, /* field[0] = jointype */ - 2, /* field[2] = larg */ - 6, /* field[6] = quals */ - 3, /* field[3] = rarg */ - 8, /* field[8] = rtindex */ - 4, /* field[4] = using_clause */ -}; -static const ProtobufCIntRange pg_query__join_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 9 } -}; -const ProtobufCMessageDescriptor pg_query__join_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.JoinExpr", - "JoinExpr", - "PgQuery__JoinExpr", - "pg_query", - sizeof(PgQuery__JoinExpr), - 9, - pg_query__join_expr__field_descriptors, - pg_query__join_expr__field_indices_by_name, - 1, pg_query__join_expr__number_ranges, - (ProtobufCMessageInit) pg_query__join_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__from_expr__field_descriptors[2] = -{ { - "fromlist", - 1, + "with_check_options", + 40, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FromExpr, n_fromlist), - offsetof(PgQuery__FromExpr, fromlist), + offsetof(PgQuery__Query, n_with_check_options), + offsetof(PgQuery__Query, with_check_options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "quals", - 2, + "stmt_location", + 41, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FromExpr, quals), - &pg_query__node__descriptor, + offsetof(PgQuery__Query, stmt_location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "stmt_len", + 42, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__Query, stmt_len), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__from_expr__field_indices_by_name[] = { - 0, /* field[0] = fromlist */ - 1, /* field[1] = quals */ +static const unsigned pg_query__query__field_indices_by_name[] = { + 2, /* field[2] = can_set_tag */ + 0, /* field[0] = command_type */ + 38, /* field[38] = constraint_deps */ + 15, /* field[15] = cte_list */ + 31, /* field[31] = distinct_clause */ + 26, /* field[26] = group_clause */ + 27, /* field[27] = group_distinct */ + 28, /* field[28] = grouping_sets */ + 5, /* field[5] = has_aggs */ + 9, /* field[9] = has_distinct_on */ + 12, /* field[12] = has_for_update */ + 11, /* field[11] = has_modifying_cte */ + 10, /* field[10] = has_recursive */ + 13, /* field[13] = has_row_security */ + 8, /* field[8] = has_sub_links */ + 7, /* field[7] = has_target_srfs */ + 6, /* field[6] = has_window_funcs */ + 29, /* field[29] = having_qual */ + 14, /* field[14] = is_return */ + 18, /* field[18] = jointree */ + 34, /* field[34] = limit_count */ + 33, /* field[33] = limit_offset */ + 35, /* field[35] = limit_option */ + 19, /* field[19] = merge_action_list */ + 21, /* field[21] = merge_join_condition */ + 20, /* field[20] = merge_target_relation */ + 24, /* field[24] = on_conflict */ + 23, /* field[23] = override */ + 1, /* field[1] = query_source */ + 4, /* field[4] = result_relation */ + 25, /* field[25] = returning_list */ + 36, /* field[36] = row_marks */ + 16, /* field[16] = rtable */ + 17, /* field[17] = rteperminfos */ + 37, /* field[37] = set_operations */ + 32, /* field[32] = sort_clause */ + 41, /* field[41] = stmt_len */ + 40, /* field[40] = stmt_location */ + 22, /* field[22] = target_list */ + 3, /* field[3] = utility_stmt */ + 30, /* field[30] = window_clause */ + 39, /* field[39] = with_check_options */ }; -static const ProtobufCIntRange pg_query__from_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__query__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 42 } }; -const ProtobufCMessageDescriptor pg_query__from_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__query__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FromExpr", - "FromExpr", - "PgQuery__FromExpr", + "pg_query.Query", + "Query", + "PgQuery__Query", "pg_query", - sizeof(PgQuery__FromExpr), - 2, - pg_query__from_expr__field_descriptors, - pg_query__from_expr__field_indices_by_name, - 1, pg_query__from_expr__number_ranges, - (ProtobufCMessageInit) pg_query__from_expr__init, + sizeof(PgQuery__Query), + 42, + pg_query__query__field_descriptors, + pg_query__query__field_indices_by_name, + 1, pg_query__query__number_ranges, + (ProtobufCMessageInit) pg_query__query__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__on_conflict_expr__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__type_name__field_descriptors[8] = { { - "action", + "names", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, action), - &pg_query__on_conflict_action__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TypeName, n_names), + offsetof(PgQuery__TypeName, names), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arbiter_elems", + "type_oid", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_arbiter_elems), - offsetof(PgQuery__OnConflictExpr, arbiter_elems), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TypeName, type_oid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arbiter_where", + "setof", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, arbiter_where), - &pg_query__node__descriptor, + offsetof(PgQuery__TypeName, setof), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraint", + "pct_type", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, constraint), + offsetof(PgQuery__TypeName, pct_type), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict_set", + "typmods", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_on_conflict_set), - offsetof(PgQuery__OnConflictExpr, on_conflict_set), + offsetof(PgQuery__TypeName, n_typmods), + offsetof(PgQuery__TypeName, typmods), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict_where", + "typemod", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, on_conflict_where), - &pg_query__node__descriptor, + offsetof(PgQuery__TypeName, typemod), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "excl_rel_index", + "array_bounds", 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TypeName, n_array_bounds), + offsetof(PgQuery__TypeName, array_bounds), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictExpr, excl_rel_index), + offsetof(PgQuery__TypeName, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__type_name__field_indices_by_name[] = { + 6, /* field[6] = array_bounds */ + 7, /* field[7] = location */ + 0, /* field[0] = names */ + 3, /* field[3] = pct_type */ + 2, /* field[2] = setof */ + 1, /* field[1] = type_oid */ + 5, /* field[5] = typemod */ + 4, /* field[4] = typmods */ +}; +static const ProtobufCIntRange pg_query__type_name__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__type_name__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TypeName", + "TypeName", + "PgQuery__TypeName", + "pg_query", + sizeof(PgQuery__TypeName), + 8, + pg_query__type_name__field_descriptors, + pg_query__type_name__field_indices_by_name, + 1, pg_query__type_name__number_ranges, + (ProtobufCMessageInit) pg_query__type_name__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__column_ref__field_descriptors[2] = +{ { - "excl_rel_tlist", - 8, + "fields", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictExpr, n_excl_rel_tlist), - offsetof(PgQuery__OnConflictExpr, excl_rel_tlist), + offsetof(PgQuery__ColumnRef, n_fields), + offsetof(PgQuery__ColumnRef, fields), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "location", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ColumnRef, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__on_conflict_expr__field_indices_by_name[] = { - 0, /* field[0] = action */ - 1, /* field[1] = arbiter_elems */ - 2, /* field[2] = arbiter_where */ - 3, /* field[3] = constraint */ - 6, /* field[6] = excl_rel_index */ - 7, /* field[7] = excl_rel_tlist */ - 4, /* field[4] = on_conflict_set */ - 5, /* field[5] = on_conflict_where */ +static const unsigned pg_query__column_ref__field_indices_by_name[] = { + 0, /* field[0] = fields */ + 1, /* field[1] = location */ }; -static const ProtobufCIntRange pg_query__on_conflict_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__column_ref__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__on_conflict_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__column_ref__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OnConflictExpr", - "OnConflictExpr", - "PgQuery__OnConflictExpr", + "pg_query.ColumnRef", + "ColumnRef", + "PgQuery__ColumnRef", "pg_query", - sizeof(PgQuery__OnConflictExpr), - 8, - pg_query__on_conflict_expr__field_descriptors, - pg_query__on_conflict_expr__field_indices_by_name, - 1, pg_query__on_conflict_expr__number_ranges, - (ProtobufCMessageInit) pg_query__on_conflict_expr__init, + sizeof(PgQuery__ColumnRef), + 2, + pg_query__column_ref__field_descriptors, + pg_query__column_ref__field_indices_by_name, + 1, pg_query__column_ref__number_ranges, + (ProtobufCMessageInit) pg_query__column_ref__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__into_clause__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__param_ref__field_descriptors[2] = { { - "rel", + "number", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, rel), - &pg_query__range_var__descriptor, + offsetof(PgQuery__ParamRef, number), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "col_names", + "location", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IntoClause, n_col_names), - offsetof(PgQuery__IntoClause, col_names), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ParamRef, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__param_ref__field_indices_by_name[] = { + 1, /* field[1] = location */ + 0, /* field[0] = number */ +}; +static const ProtobufCIntRange pg_query__param_ref__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__param_ref__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ParamRef", + "ParamRef", + "PgQuery__ParamRef", + "pg_query", + sizeof(PgQuery__ParamRef), + 2, + pg_query__param_ref__field_descriptors, + pg_query__param_ref__field_indices_by_name, + 1, pg_query__param_ref__number_ranges, + (ProtobufCMessageInit) pg_query__param_ref__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__a__expr__field_descriptors[5] = +{ { - "access_method", - 3, + "kind", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, access_method), + offsetof(PgQuery__AExpr, kind), + &pg_query__a__expr__kind__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 4, + "name", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IntoClause, n_options), - offsetof(PgQuery__IntoClause, options), + offsetof(PgQuery__AExpr, n_name), + offsetof(PgQuery__AExpr, name), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_commit", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, on_commit), - &pg_query__on_commit_action__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "table_space_name", - 6, + "lexpr", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, table_space_name), + offsetof(PgQuery__AExpr, lexpr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "view_query", - 7, + "rexpr", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, view_query), + offsetof(PgQuery__AExpr, rexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "skip_data", - 8, + "location", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IntoClause, skip_data), + offsetof(PgQuery__AExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__into_clause__field_indices_by_name[] = { - 2, /* field[2] = access_method */ - 1, /* field[1] = col_names */ - 4, /* field[4] = on_commit */ - 3, /* field[3] = options */ - 0, /* field[0] = rel */ - 7, /* field[7] = skip_data */ - 5, /* field[5] = table_space_name */ - 6, /* field[6] = view_query */ +static const unsigned pg_query__a__expr__field_indices_by_name[] = { + 0, /* field[0] = kind */ + 2, /* field[2] = lexpr */ + 4, /* field[4] = location */ + 1, /* field[1] = name */ + 3, /* field[3] = rexpr */ }; -static const ProtobufCIntRange pg_query__into_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__a__expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__into_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__a__expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.IntoClause", - "IntoClause", - "PgQuery__IntoClause", + "pg_query.A_Expr", + "AExpr", + "PgQuery__AExpr", "pg_query", - sizeof(PgQuery__IntoClause), - 8, - pg_query__into_clause__field_descriptors, - pg_query__into_clause__field_indices_by_name, - 1, pg_query__into_clause__number_ranges, - (ProtobufCMessageInit) pg_query__into_clause__init, + sizeof(PgQuery__AExpr), + 5, + pg_query__a__expr__field_descriptors, + pg_query__a__expr__field_indices_by_name, + 1, pg_query__a__expr__number_ranges, + (ProtobufCMessageInit) pg_query__a__expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__merge_action__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__type_cast__field_descriptors[3] = { { - "matched", + "arg", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, matched), - NULL, + offsetof(PgQuery__TypeCast, arg), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "command_type", + "type_name", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, command_type), - &pg_query__cmd_type__descriptor, + offsetof(PgQuery__TypeCast, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", + "location", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, override), - &pg_query__overriding_kind__descriptor, + offsetof(PgQuery__TypeCast, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__type_cast__field_indices_by_name[] = { + 0, /* field[0] = arg */ + 2, /* field[2] = location */ + 1, /* field[1] = type_name */ +}; +static const ProtobufCIntRange pg_query__type_cast__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__type_cast__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.TypeCast", + "TypeCast", + "PgQuery__TypeCast", + "pg_query", + sizeof(PgQuery__TypeCast), + 3, + pg_query__type_cast__field_descriptors, + pg_query__type_cast__field_indices_by_name, + 1, pg_query__type_cast__number_ranges, + (ProtobufCMessageInit) pg_query__type_cast__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__collate_clause__field_descriptors[3] = +{ { - "qual", - 4, + "arg", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeAction, qual), + offsetof(PgQuery__CollateClause, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", - 5, + "collname", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeAction, n_target_list), - offsetof(PgQuery__MergeAction, target_list), + offsetof(PgQuery__CollateClause, n_collname), + offsetof(PgQuery__CollateClause, collname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "update_colnos", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeAction, n_update_colnos), - offsetof(PgQuery__MergeAction, update_colnos), - &pg_query__node__descriptor, + "location", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CollateClause, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__merge_action__field_indices_by_name[] = { - 1, /* field[1] = command_type */ - 0, /* field[0] = matched */ - 2, /* field[2] = override */ - 3, /* field[3] = qual */ - 4, /* field[4] = target_list */ - 5, /* field[5] = update_colnos */ +static const unsigned pg_query__collate_clause__field_indices_by_name[] = { + 0, /* field[0] = arg */ + 1, /* field[1] = collname */ + 2, /* field[2] = location */ }; -static const ProtobufCIntRange pg_query__merge_action__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__collate_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__merge_action__descriptor = +const ProtobufCMessageDescriptor pg_query__collate_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MergeAction", - "MergeAction", - "PgQuery__MergeAction", + "pg_query.CollateClause", + "CollateClause", + "PgQuery__CollateClause", "pg_query", - sizeof(PgQuery__MergeAction), - 6, - pg_query__merge_action__field_descriptors, - pg_query__merge_action__field_indices_by_name, - 1, pg_query__merge_action__number_ranges, - (ProtobufCMessageInit) pg_query__merge_action__init, + sizeof(PgQuery__CollateClause), + 3, + pg_query__collate_clause__field_descriptors, + pg_query__collate_clause__field_indices_by_name, + 1, pg_query__collate_clause__number_ranges, + (ProtobufCMessageInit) pg_query__collate_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__raw_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__role_spec__field_descriptors[3] = { { - "stmt", + "roletype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RawStmt, stmt), - &pg_query__node__descriptor, + offsetof(PgQuery__RoleSpec, roletype), + &pg_query__role_spec_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_location", + "rolename", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RawStmt, stmt_location), - NULL, + offsetof(PgQuery__RoleSpec, rolename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_len", + "location", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RawStmt, stmt_len), + offsetof(PgQuery__RoleSpec, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__raw_stmt__field_indices_by_name[] = { - 0, /* field[0] = stmt */ - 2, /* field[2] = stmt_len */ - 1, /* field[1] = stmt_location */ +static const unsigned pg_query__role_spec__field_indices_by_name[] = { + 2, /* field[2] = location */ + 1, /* field[1] = rolename */ + 0, /* field[0] = roletype */ }; -static const ProtobufCIntRange pg_query__raw_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__role_spec__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__raw_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__role_spec__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RawStmt", - "RawStmt", - "PgQuery__RawStmt", + "pg_query.RoleSpec", + "RoleSpec", + "PgQuery__RoleSpec", "pg_query", - sizeof(PgQuery__RawStmt), + sizeof(PgQuery__RoleSpec), 3, - pg_query__raw_stmt__field_descriptors, - pg_query__raw_stmt__field_indices_by_name, - 1, pg_query__raw_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__raw_stmt__init, + pg_query__role_spec__field_descriptors, + pg_query__role_spec__field_indices_by_name, + 1, pg_query__role_spec__number_ranges, + (ProtobufCMessageInit) pg_query__role_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__query__field_descriptors[40] = +static const ProtobufCFieldDescriptor pg_query__func_call__field_descriptors[11] = { { - "command_type", + "funcname", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, command_type), - &pg_query__cmd_type__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__FuncCall, n_funcname), + offsetof(PgQuery__FuncCall, funcname), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query_source", + "args", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, query_source), - &pg_query__query_source__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__FuncCall, n_args), + offsetof(PgQuery__FuncCall, args), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "can_set_tag", + "agg_order", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, can_set_tag), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__FuncCall, n_agg_order), + offsetof(PgQuery__FuncCall, agg_order), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "utility_stmt", + "agg_filter", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, utility_stmt), + offsetof(PgQuery__FuncCall, agg_filter), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "result_relation", + "over", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, result_relation), - NULL, + offsetof(PgQuery__FuncCall, over), + &pg_query__window_def__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_aggs", + "agg_within_group", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_aggs), + offsetof(PgQuery__FuncCall, agg_within_group), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_window_funcs", + "agg_star", 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_window_funcs), + offsetof(PgQuery__FuncCall, agg_star), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_target_srfs", + "agg_distinct", 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_target_srfs), + offsetof(PgQuery__FuncCall, agg_distinct), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_sub_links", + "func_variadic", 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_sub_links), + offsetof(PgQuery__FuncCall, func_variadic), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_distinct_on", + "funcformat", 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_distinct_on), - NULL, + offsetof(PgQuery__FuncCall, funcformat), + &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_recursive", + "location", 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_recursive), + offsetof(PgQuery__FuncCall, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__func_call__field_indices_by_name[] = { + 7, /* field[7] = agg_distinct */ + 3, /* field[3] = agg_filter */ + 2, /* field[2] = agg_order */ + 6, /* field[6] = agg_star */ + 5, /* field[5] = agg_within_group */ + 1, /* field[1] = args */ + 8, /* field[8] = func_variadic */ + 9, /* field[9] = funcformat */ + 0, /* field[0] = funcname */ + 10, /* field[10] = location */ + 4, /* field[4] = over */ +}; +static const ProtobufCIntRange pg_query__func_call__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 11 } +}; +const ProtobufCMessageDescriptor pg_query__func_call__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.FuncCall", + "FuncCall", + "PgQuery__FuncCall", + "pg_query", + sizeof(PgQuery__FuncCall), + 11, + pg_query__func_call__field_descriptors, + pg_query__func_call__field_indices_by_name, + 1, pg_query__func_call__number_ranges, + (ProtobufCMessageInit) pg_query__func_call__init, + NULL,NULL,NULL /* reserved[123] */ +}; +#define pg_query__a__star__field_descriptors NULL +#define pg_query__a__star__field_indices_by_name NULL +#define pg_query__a__star__number_ranges NULL +const ProtobufCMessageDescriptor pg_query__a__star__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.A_Star", + "AStar", + "PgQuery__AStar", + "pg_query", + sizeof(PgQuery__AStar), + 0, + pg_query__a__star__field_descriptors, + pg_query__a__star__field_indices_by_name, + 0, pg_query__a__star__number_ranges, + (ProtobufCMessageInit) pg_query__a__star__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__a__indices__field_descriptors[3] = +{ { - "has_modifying_cte", - 12, + "is_slice", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_modifying_cte), + offsetof(PgQuery__AIndices, is_slice), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_for_update", - 13, + "lidx", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_for_update), - NULL, + offsetof(PgQuery__AIndices, lidx), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_row_security", - 14, + "uidx", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, has_row_security), - NULL, + offsetof(PgQuery__AIndices, uidx), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__a__indices__field_indices_by_name[] = { + 0, /* field[0] = is_slice */ + 1, /* field[1] = lidx */ + 2, /* field[2] = uidx */ +}; +static const ProtobufCIntRange pg_query__a__indices__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__a__indices__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.A_Indices", + "AIndices", + "PgQuery__AIndices", + "pg_query", + sizeof(PgQuery__AIndices), + 3, + pg_query__a__indices__field_descriptors, + pg_query__a__indices__field_indices_by_name, + 1, pg_query__a__indices__number_ranges, + (ProtobufCMessageInit) pg_query__a__indices__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__a__indirection__field_descriptors[2] = +{ { - "is_return", - 15, + "arg", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, is_return), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cte_list", - 16, - PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_cte_list), - offsetof(PgQuery__Query, cte_list), + 0, /* quantifier_offset */ + offsetof(PgQuery__AIndirection, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rtable", - 17, + "indirection", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_rtable), - offsetof(PgQuery__Query, rtable), + offsetof(PgQuery__AIndirection, n_indirection), + offsetof(PgQuery__AIndirection, indirection), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__a__indirection__field_indices_by_name[] = { + 0, /* field[0] = arg */ + 1, /* field[1] = indirection */ +}; +static const ProtobufCIntRange pg_query__a__indirection__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__a__indirection__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.A_Indirection", + "AIndirection", + "PgQuery__AIndirection", + "pg_query", + sizeof(PgQuery__AIndirection), + 2, + pg_query__a__indirection__field_descriptors, + pg_query__a__indirection__field_indices_by_name, + 1, pg_query__a__indirection__number_ranges, + (ProtobufCMessageInit) pg_query__a__indirection__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__a__array_expr__field_descriptors[2] = +{ { - "jointree", - 18, - PROTOBUF_C_LABEL_NONE, + "elements", + 1, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, jointree), - &pg_query__from_expr__descriptor, + offsetof(PgQuery__AArrayExpr, n_elements), + offsetof(PgQuery__AArrayExpr, elements), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_action_list", - 19, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_merge_action_list), - offsetof(PgQuery__Query, merge_action_list), - &pg_query__node__descriptor, + "location", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__AArrayExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__a__array_expr__field_indices_by_name[] = { + 0, /* field[0] = elements */ + 1, /* field[1] = location */ +}; +static const ProtobufCIntRange pg_query__a__array_expr__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__a__array_expr__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.A_ArrayExpr", + "AArrayExpr", + "PgQuery__AArrayExpr", + "pg_query", + sizeof(PgQuery__AArrayExpr), + 2, + pg_query__a__array_expr__field_descriptors, + pg_query__a__array_expr__field_indices_by_name, + 1, pg_query__a__array_expr__number_ranges, + (ProtobufCMessageInit) pg_query__a__array_expr__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__res_target__field_descriptors[4] = +{ { - "merge_use_outer_join", - 20, + "name", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, merge_use_outer_join), - NULL, + offsetof(PgQuery__ResTarget, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", - 21, + "indirection", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_target_list), - offsetof(PgQuery__Query, target_list), + offsetof(PgQuery__ResTarget, n_indirection), + offsetof(PgQuery__ResTarget, indirection), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", - 22, + "val", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, override), - &pg_query__overriding_kind__descriptor, + offsetof(PgQuery__ResTarget, val), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict", - 23, + "location", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, on_conflict), - &pg_query__on_conflict_expr__descriptor, + offsetof(PgQuery__ResTarget, location), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "returning_list", - 24, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_returning_list), - offsetof(PgQuery__Query, returning_list), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__res_target__field_indices_by_name[] = { + 1, /* field[1] = indirection */ + 3, /* field[3] = location */ + 0, /* field[0] = name */ + 2, /* field[2] = val */ +}; +static const ProtobufCIntRange pg_query__res_target__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__res_target__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ResTarget", + "ResTarget", + "PgQuery__ResTarget", + "pg_query", + sizeof(PgQuery__ResTarget), + 4, + pg_query__res_target__field_descriptors, + pg_query__res_target__field_indices_by_name, + 1, pg_query__res_target__number_ranges, + (ProtobufCMessageInit) pg_query__res_target__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__multi_assign_ref__field_descriptors[3] = +{ { - "group_clause", - 25, - PROTOBUF_C_LABEL_REPEATED, + "source", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_group_clause), - offsetof(PgQuery__Query, group_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__MultiAssignRef, source), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "group_distinct", - 26, + "colno", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, group_distinct), + offsetof(PgQuery__MultiAssignRef, colno), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grouping_sets", - 27, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_grouping_sets), - offsetof(PgQuery__Query, grouping_sets), - &pg_query__node__descriptor, + "ncolumns", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__MultiAssignRef, ncolumns), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__multi_assign_ref__field_indices_by_name[] = { + 1, /* field[1] = colno */ + 2, /* field[2] = ncolumns */ + 0, /* field[0] = source */ +}; +static const ProtobufCIntRange pg_query__multi_assign_ref__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__multi_assign_ref__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.MultiAssignRef", + "MultiAssignRef", + "PgQuery__MultiAssignRef", + "pg_query", + sizeof(PgQuery__MultiAssignRef), + 3, + pg_query__multi_assign_ref__field_descriptors, + pg_query__multi_assign_ref__field_indices_by_name, + 1, pg_query__multi_assign_ref__number_ranges, + (ProtobufCMessageInit) pg_query__multi_assign_ref__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__sort_by__field_descriptors[5] = +{ { - "having_qual", - 28, + "node", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, having_qual), + offsetof(PgQuery__SortBy, node), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "window_clause", - 29, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_window_clause), - offsetof(PgQuery__Query, window_clause), - &pg_query__node__descriptor, + "sortby_dir", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__SortBy, sortby_dir), + &pg_query__sort_by_dir__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "distinct_clause", - 30, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_distinct_clause), - offsetof(PgQuery__Query, distinct_clause), - &pg_query__node__descriptor, + "sortby_nulls", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__SortBy, sortby_nulls), + &pg_query__sort_by_nulls__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sort_clause", - 31, + "use_op", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_sort_clause), - offsetof(PgQuery__Query, sort_clause), + offsetof(PgQuery__SortBy, n_use_op), + offsetof(PgQuery__SortBy, use_op), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_offset", - 32, + "location", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__SortBy, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sort_by__field_indices_by_name[] = { + 4, /* field[4] = location */ + 0, /* field[0] = node */ + 1, /* field[1] = sortby_dir */ + 2, /* field[2] = sortby_nulls */ + 3, /* field[3] = use_op */ +}; +static const ProtobufCIntRange pg_query__sort_by__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__sort_by__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SortBy", + "SortBy", + "PgQuery__SortBy", + "pg_query", + sizeof(PgQuery__SortBy), + 5, + pg_query__sort_by__field_descriptors, + pg_query__sort_by__field_indices_by_name, + 1, pg_query__sort_by__number_ranges, + (ProtobufCMessageInit) pg_query__sort_by__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__window_def__field_descriptors[8] = +{ { - "limit_count", - 33, + "name", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_count), - &pg_query__node__descriptor, + offsetof(PgQuery__WindowDef, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_option", - 34, + "refname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, limit_option), - &pg_query__limit_option__descriptor, + offsetof(PgQuery__WindowDef, refname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "row_marks", - 35, + "partition_clause", + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_row_marks), - offsetof(PgQuery__Query, row_marks), + offsetof(PgQuery__WindowDef, n_partition_clause), + offsetof(PgQuery__WindowDef, partition_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "set_operations", - 36, - PROTOBUF_C_LABEL_NONE, + "order_clause", + 4, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__Query, set_operations), + offsetof(PgQuery__WindowDef, n_order_clause), + offsetof(PgQuery__WindowDef, order_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraint_deps", - 37, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_constraint_deps), - offsetof(PgQuery__Query, constraint_deps), - &pg_query__node__descriptor, + "frame_options", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowDef, frame_options), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_check_options", - 38, - PROTOBUF_C_LABEL_REPEATED, + "start_offset", + 6, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Query, n_with_check_options), - offsetof(PgQuery__Query, with_check_options), + 0, /* quantifier_offset */ + offsetof(PgQuery__WindowDef, start_offset), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_location", - 39, + "end_offset", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, stmt_location), - NULL, + offsetof(PgQuery__WindowDef, end_offset), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stmt_len", - 40, + "location", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Query, stmt_len), + offsetof(PgQuery__WindowDef, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__query__field_indices_by_name[] = { - 2, /* field[2] = can_set_tag */ - 0, /* field[0] = command_type */ - 36, /* field[36] = constraint_deps */ - 15, /* field[15] = cte_list */ - 29, /* field[29] = distinct_clause */ - 24, /* field[24] = group_clause */ - 25, /* field[25] = group_distinct */ - 26, /* field[26] = grouping_sets */ - 5, /* field[5] = has_aggs */ - 9, /* field[9] = has_distinct_on */ - 12, /* field[12] = has_for_update */ - 11, /* field[11] = has_modifying_cte */ - 10, /* field[10] = has_recursive */ - 13, /* field[13] = has_row_security */ - 8, /* field[8] = has_sub_links */ - 7, /* field[7] = has_target_srfs */ - 6, /* field[6] = has_window_funcs */ - 27, /* field[27] = having_qual */ - 14, /* field[14] = is_return */ - 17, /* field[17] = jointree */ - 32, /* field[32] = limit_count */ - 31, /* field[31] = limit_offset */ - 33, /* field[33] = limit_option */ - 18, /* field[18] = merge_action_list */ - 19, /* field[19] = merge_use_outer_join */ - 22, /* field[22] = on_conflict */ - 21, /* field[21] = override */ - 1, /* field[1] = query_source */ - 4, /* field[4] = result_relation */ - 23, /* field[23] = returning_list */ - 34, /* field[34] = row_marks */ - 16, /* field[16] = rtable */ - 35, /* field[35] = set_operations */ - 30, /* field[30] = sort_clause */ - 39, /* field[39] = stmt_len */ - 38, /* field[38] = stmt_location */ - 20, /* field[20] = target_list */ - 3, /* field[3] = utility_stmt */ - 28, /* field[28] = window_clause */ - 37, /* field[37] = with_check_options */ +static const unsigned pg_query__window_def__field_indices_by_name[] = { + 6, /* field[6] = end_offset */ + 4, /* field[4] = frame_options */ + 7, /* field[7] = location */ + 0, /* field[0] = name */ + 3, /* field[3] = order_clause */ + 2, /* field[2] = partition_clause */ + 1, /* field[1] = refname */ + 5, /* field[5] = start_offset */ }; -static const ProtobufCIntRange pg_query__query__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__window_def__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 40 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__query__descriptor = +const ProtobufCMessageDescriptor pg_query__window_def__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Query", - "Query", - "PgQuery__Query", + "pg_query.WindowDef", + "WindowDef", + "PgQuery__WindowDef", "pg_query", - sizeof(PgQuery__Query), - 40, - pg_query__query__field_descriptors, - pg_query__query__field_indices_by_name, - 1, pg_query__query__number_ranges, - (ProtobufCMessageInit) pg_query__query__init, + sizeof(PgQuery__WindowDef), + 8, + pg_query__window_def__field_descriptors, + pg_query__window_def__field_indices_by_name, + 1, pg_query__window_def__number_ranges, + (ProtobufCMessageInit) pg_query__window_def__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__insert_stmt__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__range_subselect__field_descriptors[3] = { { - "relation", + "lateral", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__InsertStmt, relation), - &pg_query__range_var__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cols", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__InsertStmt, n_cols), - offsetof(PgQuery__InsertStmt, cols), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeSubselect, lateral), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "select_stmt", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__InsertStmt, select_stmt), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "on_conflict_clause", - 4, + "subquery", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InsertStmt, on_conflict_clause), - &pg_query__on_conflict_clause__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "returning_list", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__InsertStmt, n_returning_list), - offsetof(PgQuery__InsertStmt, returning_list), + offsetof(PgQuery__RangeSubselect, subquery), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", - 6, + "alias", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__InsertStmt, with_clause), - &pg_query__with_clause__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "override", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__InsertStmt, override), - &pg_query__overriding_kind__descriptor, + offsetof(PgQuery__RangeSubselect, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__insert_stmt__field_indices_by_name[] = { - 1, /* field[1] = cols */ - 3, /* field[3] = on_conflict_clause */ - 6, /* field[6] = override */ - 0, /* field[0] = relation */ - 4, /* field[4] = returning_list */ - 2, /* field[2] = select_stmt */ - 5, /* field[5] = with_clause */ -}; -static const ProtobufCIntRange pg_query__insert_stmt__number_ranges[1 + 1] = +static const unsigned pg_query__range_subselect__field_indices_by_name[] = { + 2, /* field[2] = alias */ + 0, /* field[0] = lateral */ + 1, /* field[1] = subquery */ +}; +static const ProtobufCIntRange pg_query__range_subselect__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__insert_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_subselect__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InsertStmt", - "InsertStmt", - "PgQuery__InsertStmt", + "pg_query.RangeSubselect", + "RangeSubselect", + "PgQuery__RangeSubselect", "pg_query", - sizeof(PgQuery__InsertStmt), - 7, - pg_query__insert_stmt__field_descriptors, - pg_query__insert_stmt__field_indices_by_name, - 1, pg_query__insert_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__insert_stmt__init, + sizeof(PgQuery__RangeSubselect), + 3, + pg_query__range_subselect__field_descriptors, + pg_query__range_subselect__field_indices_by_name, + 1, pg_query__range_subselect__number_ranges, + (ProtobufCMessageInit) pg_query__range_subselect__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__delete_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__range_function__field_descriptors[6] = { { - "relation", + "lateral", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DeleteStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__RangeFunction, lateral), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "using_clause", + "ordinality", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DeleteStmt, n_using_clause), - offsetof(PgQuery__DeleteStmt, using_clause), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeFunction, ordinality), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "is_rowsfrom", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DeleteStmt, where_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeFunction, is_rowsfrom), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "returning_list", + "functions", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DeleteStmt, n_returning_list), - offsetof(PgQuery__DeleteStmt, returning_list), + offsetof(PgQuery__RangeFunction, n_functions), + offsetof(PgQuery__RangeFunction, functions), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", + "alias", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DeleteStmt, with_clause), - &pg_query__with_clause__descriptor, + offsetof(PgQuery__RangeFunction, alias), + &pg_query__alias__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "coldeflist", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeFunction, n_coldeflist), + offsetof(PgQuery__RangeFunction, coldeflist), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__delete_stmt__field_indices_by_name[] = { - 0, /* field[0] = relation */ - 3, /* field[3] = returning_list */ - 1, /* field[1] = using_clause */ - 2, /* field[2] = where_clause */ - 4, /* field[4] = with_clause */ +static const unsigned pg_query__range_function__field_indices_by_name[] = { + 4, /* field[4] = alias */ + 5, /* field[5] = coldeflist */ + 3, /* field[3] = functions */ + 2, /* field[2] = is_rowsfrom */ + 0, /* field[0] = lateral */ + 1, /* field[1] = ordinality */ }; -static const ProtobufCIntRange pg_query__delete_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_function__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__delete_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_function__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DeleteStmt", - "DeleteStmt", - "PgQuery__DeleteStmt", + "pg_query.RangeFunction", + "RangeFunction", + "PgQuery__RangeFunction", "pg_query", - sizeof(PgQuery__DeleteStmt), - 5, - pg_query__delete_stmt__field_descriptors, - pg_query__delete_stmt__field_indices_by_name, - 1, pg_query__delete_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__delete_stmt__init, + sizeof(PgQuery__RangeFunction), + 6, + pg_query__range_function__field_descriptors, + pg_query__range_function__field_indices_by_name, + 1, pg_query__range_function__number_ranges, + (ProtobufCMessageInit) pg_query__range_function__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__update_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__range_table_func__field_descriptors[7] = { { - "relation", + "lateral", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__UpdateStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__RangeTableFunc, lateral), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", + "docexpr", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__UpdateStmt, n_target_list), - offsetof(PgQuery__UpdateStmt, target_list), + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableFunc, docexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "rowexpr", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__UpdateStmt, where_clause), + offsetof(PgQuery__RangeTableFunc, rowexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "from_clause", + "namespaces", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__UpdateStmt, n_from_clause), - offsetof(PgQuery__UpdateStmt, from_clause), + offsetof(PgQuery__RangeTableFunc, n_namespaces), + offsetof(PgQuery__RangeTableFunc, namespaces), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "returning_list", + "columns", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__UpdateStmt, n_returning_list), - offsetof(PgQuery__UpdateStmt, returning_list), + offsetof(PgQuery__RangeTableFunc, n_columns), + offsetof(PgQuery__RangeTableFunc, columns), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", + "alias", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__UpdateStmt, with_clause), - &pg_query__with_clause__descriptor, + offsetof(PgQuery__RangeTableFunc, alias), + &pg_query__alias__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableFunc, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__update_stmt__field_indices_by_name[] = { - 3, /* field[3] = from_clause */ - 0, /* field[0] = relation */ - 4, /* field[4] = returning_list */ - 1, /* field[1] = target_list */ - 2, /* field[2] = where_clause */ - 5, /* field[5] = with_clause */ +static const unsigned pg_query__range_table_func__field_indices_by_name[] = { + 5, /* field[5] = alias */ + 4, /* field[4] = columns */ + 1, /* field[1] = docexpr */ + 0, /* field[0] = lateral */ + 6, /* field[6] = location */ + 3, /* field[3] = namespaces */ + 2, /* field[2] = rowexpr */ }; -static const ProtobufCIntRange pg_query__update_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_table_func__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__update_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_table_func__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.UpdateStmt", - "UpdateStmt", - "PgQuery__UpdateStmt", + "pg_query.RangeTableFunc", + "RangeTableFunc", + "PgQuery__RangeTableFunc", "pg_query", - sizeof(PgQuery__UpdateStmt), - 6, - pg_query__update_stmt__field_descriptors, - pg_query__update_stmt__field_indices_by_name, - 1, pg_query__update_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__update_stmt__init, + sizeof(PgQuery__RangeTableFunc), + 7, + pg_query__range_table_func__field_descriptors, + pg_query__range_table_func__field_indices_by_name, + 1, pg_query__range_table_func__number_ranges, + (ProtobufCMessageInit) pg_query__range_table_func__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__merge_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__range_table_func_col__field_descriptors[7] = { { - "relation", + "colname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__RangeTableFuncCol, colname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "source_relation", + "type_name", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeStmt, source_relation), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeTableFuncCol, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_condition", + "for_ordinality", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeStmt, join_condition), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeTableFuncCol, for_ordinality), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "merge_when_clauses", + "is_not_null", 4, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableFuncCol, is_not_null), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "colexpr", + 5, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeStmt, n_merge_when_clauses), - offsetof(PgQuery__MergeStmt, merge_when_clauses), + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableFuncCol, colexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", - 5, + "coldefexpr", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeStmt, with_clause), - &pg_query__with_clause__descriptor, + offsetof(PgQuery__RangeTableFuncCol, coldefexpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableFuncCol, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__merge_stmt__field_indices_by_name[] = { - 2, /* field[2] = join_condition */ - 3, /* field[3] = merge_when_clauses */ - 0, /* field[0] = relation */ - 1, /* field[1] = source_relation */ - 4, /* field[4] = with_clause */ +static const unsigned pg_query__range_table_func_col__field_indices_by_name[] = { + 5, /* field[5] = coldefexpr */ + 4, /* field[4] = colexpr */ + 0, /* field[0] = colname */ + 2, /* field[2] = for_ordinality */ + 3, /* field[3] = is_not_null */ + 6, /* field[6] = location */ + 1, /* field[1] = type_name */ }; -static const ProtobufCIntRange pg_query__merge_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_table_func_col__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__merge_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_table_func_col__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MergeStmt", - "MergeStmt", - "PgQuery__MergeStmt", + "pg_query.RangeTableFuncCol", + "RangeTableFuncCol", + "PgQuery__RangeTableFuncCol", "pg_query", - sizeof(PgQuery__MergeStmt), - 5, - pg_query__merge_stmt__field_descriptors, - pg_query__merge_stmt__field_indices_by_name, - 1, pg_query__merge_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__merge_stmt__init, + sizeof(PgQuery__RangeTableFuncCol), + 7, + pg_query__range_table_func_col__field_descriptors, + pg_query__range_table_func_col__field_indices_by_name, + 1, pg_query__range_table_func_col__number_ranges, + (ProtobufCMessageInit) pg_query__range_table_func_col__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__select_stmt__field_descriptors[20] = +static const ProtobufCFieldDescriptor pg_query__range_table_sample__field_descriptors[5] = { { - "distinct_clause", + "relation", 1, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_distinct_clause), - offsetof(PgQuery__SelectStmt, distinct_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableSample, relation), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "into_clause", + "method", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, into_clause), - &pg_query__into_clause__descriptor, + offsetof(PgQuery__RangeTableSample, n_method), + offsetof(PgQuery__RangeTableSample, method), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", + "args", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_target_list), - offsetof(PgQuery__SelectStmt, target_list), + offsetof(PgQuery__RangeTableSample, n_args), + offsetof(PgQuery__RangeTableSample, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "from_clause", + "repeatable", 4, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_from_clause), - offsetof(PgQuery__SelectStmt, from_clause), + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTableSample, repeatable), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "location", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, where_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeTableSample, location), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "group_clause", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_group_clause), - offsetof(PgQuery__SelectStmt, group_clause), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__range_table_sample__field_indices_by_name[] = { + 2, /* field[2] = args */ + 4, /* field[4] = location */ + 1, /* field[1] = method */ + 0, /* field[0] = relation */ + 3, /* field[3] = repeatable */ +}; +static const ProtobufCIntRange pg_query__range_table_sample__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__range_table_sample__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RangeTableSample", + "RangeTableSample", + "PgQuery__RangeTableSample", + "pg_query", + sizeof(PgQuery__RangeTableSample), + 5, + pg_query__range_table_sample__field_descriptors, + pg_query__range_table_sample__field_indices_by_name, + 1, pg_query__range_table_sample__number_ranges, + (ProtobufCMessageInit) pg_query__range_table_sample__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__column_def__field_descriptors[19] = +{ { - "group_distinct", - 7, + "colname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, group_distinct), - NULL, + offsetof(PgQuery__ColumnDef, colname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "having_clause", - 8, + "type_name", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, having_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__ColumnDef, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "window_clause", - 9, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_window_clause), - offsetof(PgQuery__SelectStmt, window_clause), - &pg_query__node__descriptor, + "compression", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__ColumnDef, compression), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "values_lists", - 10, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_values_lists), - offsetof(PgQuery__SelectStmt, values_lists), - &pg_query__node__descriptor, + "inhcount", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__ColumnDef, inhcount), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "sort_clause", - 11, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_sort_clause), - offsetof(PgQuery__SelectStmt, sort_clause), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_offset", - 12, + "is_local", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, limit_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__ColumnDef, is_local), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_count", - 13, + "is_not_null", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, limit_count), - &pg_query__node__descriptor, + offsetof(PgQuery__ColumnDef, is_not_null), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "limit_option", - 14, + "is_from_type", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, limit_option), - &pg_query__limit_option__descriptor, + offsetof(PgQuery__ColumnDef, is_from_type), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "locking_clause", - 15, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SelectStmt, n_locking_clause), - offsetof(PgQuery__SelectStmt, locking_clause), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_clause", - 16, + "storage", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, with_clause), - &pg_query__with_clause__descriptor, + offsetof(PgQuery__ColumnDef, storage), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "op", - 17, + "storage_name", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, op), - &pg_query__set_operation__descriptor, + offsetof(PgQuery__ColumnDef, storage_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "all", - 18, + "raw_default", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, all), - NULL, + offsetof(PgQuery__ColumnDef, raw_default), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "larg", - 19, + "cooked_default", + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, larg), - &pg_query__select_stmt__descriptor, + offsetof(PgQuery__ColumnDef, cooked_default), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rarg", - 20, + "identity", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SelectStmt, rarg), - &pg_query__select_stmt__descriptor, + offsetof(PgQuery__ColumnDef, identity), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__select_stmt__field_indices_by_name[] = { - 17, /* field[17] = all */ - 0, /* field[0] = distinct_clause */ - 3, /* field[3] = from_clause */ - 5, /* field[5] = group_clause */ - 6, /* field[6] = group_distinct */ - 7, /* field[7] = having_clause */ - 1, /* field[1] = into_clause */ - 18, /* field[18] = larg */ - 12, /* field[12] = limit_count */ - 11, /* field[11] = limit_offset */ - 13, /* field[13] = limit_option */ - 14, /* field[14] = locking_clause */ - 16, /* field[16] = op */ - 19, /* field[19] = rarg */ - 10, /* field[10] = sort_clause */ - 2, /* field[2] = target_list */ - 9, /* field[9] = values_lists */ - 4, /* field[4] = where_clause */ - 8, /* field[8] = window_clause */ - 15, /* field[15] = with_clause */ -}; -static const ProtobufCIntRange pg_query__select_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 20 } -}; -const ProtobufCMessageDescriptor pg_query__select_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SelectStmt", - "SelectStmt", - "PgQuery__SelectStmt", - "pg_query", - sizeof(PgQuery__SelectStmt), - 20, - pg_query__select_stmt__field_descriptors, - pg_query__select_stmt__field_indices_by_name, - 1, pg_query__select_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__select_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__return_stmt__field_descriptors[1] = -{ { - "returnval", - 1, + "identity_sequence", + 13, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ReturnStmt, returnval), - &pg_query__node__descriptor, + offsetof(PgQuery__ColumnDef, identity_sequence), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__return_stmt__field_indices_by_name[] = { - 0, /* field[0] = returnval */ -}; -static const ProtobufCIntRange pg_query__return_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__return_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ReturnStmt", - "ReturnStmt", - "PgQuery__ReturnStmt", - "pg_query", - sizeof(PgQuery__ReturnStmt), - 1, - pg_query__return_stmt__field_descriptors, - pg_query__return_stmt__field_indices_by_name, - 1, pg_query__return_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__return_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__plassign_stmt__field_descriptors[5] = -{ { - "name", - 1, + "generated", + 14, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__PLAssignStmt, name), + offsetof(PgQuery__ColumnDef, generated), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indirection", - 2, - PROTOBUF_C_LABEL_REPEATED, + "coll_clause", + 15, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PLAssignStmt, n_indirection), - offsetof(PgQuery__PLAssignStmt, indirection), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__ColumnDef, coll_clause), + &pg_query__collate_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nnames", - 3, + "coll_oid", + 16, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__PLAssignStmt, nnames), + offsetof(PgQuery__ColumnDef, coll_oid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "val", - 4, - PROTOBUF_C_LABEL_NONE, + "constraints", + 17, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__PLAssignStmt, val), - &pg_query__select_stmt__descriptor, + offsetof(PgQuery__ColumnDef, n_constraints), + offsetof(PgQuery__ColumnDef, constraints), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "fdwoptions", + 18, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ColumnDef, n_fdwoptions), + offsetof(PgQuery__ColumnDef, fdwoptions), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 5, + 19, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__PLAssignStmt, location), + offsetof(PgQuery__ColumnDef, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__plassign_stmt__field_indices_by_name[] = { - 1, /* field[1] = indirection */ - 4, /* field[4] = location */ - 0, /* field[0] = name */ - 2, /* field[2] = nnames */ - 3, /* field[3] = val */ +static const unsigned pg_query__column_def__field_indices_by_name[] = { + 14, /* field[14] = coll_clause */ + 15, /* field[15] = coll_oid */ + 0, /* field[0] = colname */ + 2, /* field[2] = compression */ + 16, /* field[16] = constraints */ + 10, /* field[10] = cooked_default */ + 17, /* field[17] = fdwoptions */ + 13, /* field[13] = generated */ + 11, /* field[11] = identity */ + 12, /* field[12] = identity_sequence */ + 3, /* field[3] = inhcount */ + 6, /* field[6] = is_from_type */ + 4, /* field[4] = is_local */ + 5, /* field[5] = is_not_null */ + 18, /* field[18] = location */ + 9, /* field[9] = raw_default */ + 7, /* field[7] = storage */ + 8, /* field[8] = storage_name */ + 1, /* field[1] = type_name */ }; -static const ProtobufCIntRange pg_query__plassign_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__column_def__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 19 } }; -const ProtobufCMessageDescriptor pg_query__plassign_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__column_def__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PLAssignStmt", - "PLAssignStmt", - "PgQuery__PLAssignStmt", + "pg_query.ColumnDef", + "ColumnDef", + "PgQuery__ColumnDef", "pg_query", - sizeof(PgQuery__PLAssignStmt), - 5, - pg_query__plassign_stmt__field_descriptors, - pg_query__plassign_stmt__field_indices_by_name, - 1, pg_query__plassign_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__plassign_stmt__init, + sizeof(PgQuery__ColumnDef), + 19, + pg_query__column_def__field_descriptors, + pg_query__column_def__field_indices_by_name, + 1, pg_query__column_def__number_ranges, + (ProtobufCMessageInit) pg_query__column_def__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_table_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__table_like_clause__field_descriptors[3] = { { "relation", @@ -21780,11768 +25805,12171 @@ static const ProtobufCFieldDescriptor pg_query__alter_table_stmt__field_descript PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableStmt, relation), + offsetof(PgQuery__TableLikeClause, relation), &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cmds", + "options", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTableStmt, n_cmds), - offsetof(PgQuery__AlterTableStmt, cmds), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "objtype", - 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__TableLikeClause, options), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 4, + "relation_oid", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableStmt, missing_ok), + offsetof(PgQuery__TableLikeClause, relation_oid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_table_stmt__field_indices_by_name[] = { - 1, /* field[1] = cmds */ - 3, /* field[3] = missing_ok */ - 2, /* field[2] = objtype */ +static const unsigned pg_query__table_like_clause__field_indices_by_name[] = { + 1, /* field[1] = options */ 0, /* field[0] = relation */ + 2, /* field[2] = relation_oid */ }; -static const ProtobufCIntRange pg_query__alter_table_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__table_like_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__alter_table_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__table_like_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTableStmt", - "AlterTableStmt", - "PgQuery__AlterTableStmt", + "pg_query.TableLikeClause", + "TableLikeClause", + "PgQuery__TableLikeClause", "pg_query", - sizeof(PgQuery__AlterTableStmt), - 4, - pg_query__alter_table_stmt__field_descriptors, - pg_query__alter_table_stmt__field_indices_by_name, - 1, pg_query__alter_table_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_table_stmt__init, + sizeof(PgQuery__TableLikeClause), + 3, + pg_query__table_like_clause__field_descriptors, + pg_query__table_like_clause__field_indices_by_name, + 1, pg_query__table_like_clause__number_ranges, + (ProtobufCMessageInit) pg_query__table_like_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_table_cmd__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__index_elem__field_descriptors[8] = { { - "subtype", + "name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, subtype), - &pg_query__alter_table_type__descriptor, + offsetof(PgQuery__IndexElem, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, name), + offsetof(PgQuery__IndexElem, expr), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "num", + "indexcolname", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, num), - NULL, + offsetof(PgQuery__IndexElem, indexcolname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newowner", + "collation", 4, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, newowner), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__IndexElem, n_collation), + offsetof(PgQuery__IndexElem, collation), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "def", + "opclass", 5, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, def), + offsetof(PgQuery__IndexElem, n_opclass), + offsetof(PgQuery__IndexElem, opclass), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", + "opclassopts", 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, behavior), - &pg_query__drop_behavior__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__IndexElem, n_opclassopts), + offsetof(PgQuery__IndexElem, opclassopts), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "ordering", 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, missing_ok), - NULL, + offsetof(PgQuery__IndexElem, ordering), + &pg_query__sort_by_dir__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "recurse", + "nulls_ordering", 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableCmd, recurse), - NULL, + offsetof(PgQuery__IndexElem, nulls_ordering), + &pg_query__sort_by_nulls__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_table_cmd__field_indices_by_name[] = { - 5, /* field[5] = behavior */ - 4, /* field[4] = def */ - 6, /* field[6] = missing_ok */ - 1, /* field[1] = name */ - 3, /* field[3] = newowner */ - 2, /* field[2] = num */ - 7, /* field[7] = recurse */ - 0, /* field[0] = subtype */ +static const unsigned pg_query__index_elem__field_indices_by_name[] = { + 3, /* field[3] = collation */ + 1, /* field[1] = expr */ + 2, /* field[2] = indexcolname */ + 0, /* field[0] = name */ + 7, /* field[7] = nulls_ordering */ + 4, /* field[4] = opclass */ + 5, /* field[5] = opclassopts */ + 6, /* field[6] = ordering */ }; -static const ProtobufCIntRange pg_query__alter_table_cmd__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__index_elem__number_ranges[1 + 1] = { { 1, 0 }, { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__alter_table_cmd__descriptor = +const ProtobufCMessageDescriptor pg_query__index_elem__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTableCmd", - "AlterTableCmd", - "PgQuery__AlterTableCmd", + "pg_query.IndexElem", + "IndexElem", + "PgQuery__IndexElem", "pg_query", - sizeof(PgQuery__AlterTableCmd), + sizeof(PgQuery__IndexElem), 8, - pg_query__alter_table_cmd__field_descriptors, - pg_query__alter_table_cmd__field_indices_by_name, - 1, pg_query__alter_table_cmd__number_ranges, - (ProtobufCMessageInit) pg_query__alter_table_cmd__init, + pg_query__index_elem__field_descriptors, + pg_query__index_elem__field_indices_by_name, + 1, pg_query__index_elem__number_ranges, + (ProtobufCMessageInit) pg_query__index_elem__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_domain_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__def_elem__field_descriptors[5] = { { - "subtype", + "defnamespace", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDomainStmt, subtype), + offsetof(PgQuery__DefElem, defnamespace), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "defname", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterDomainStmt, n_type_name), - offsetof(PgQuery__AlterDomainStmt, type_name), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "name", - 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDomainStmt, name), + offsetof(PgQuery__DefElem, defname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "def", - 4, + "arg", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDomainStmt, def), + offsetof(PgQuery__DefElem, arg), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", - 5, + "defaction", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDomainStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__DefElem, defaction), + &pg_query__def_elem_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 6, + "location", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDomainStmt, missing_ok), + offsetof(PgQuery__DefElem, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_domain_stmt__field_indices_by_name[] = { - 4, /* field[4] = behavior */ - 3, /* field[3] = def */ - 5, /* field[5] = missing_ok */ - 2, /* field[2] = name */ - 0, /* field[0] = subtype */ - 1, /* field[1] = type_name */ +static const unsigned pg_query__def_elem__field_indices_by_name[] = { + 2, /* field[2] = arg */ + 3, /* field[3] = defaction */ + 1, /* field[1] = defname */ + 0, /* field[0] = defnamespace */ + 4, /* field[4] = location */ }; -static const ProtobufCIntRange pg_query__alter_domain_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__def_elem__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__alter_domain_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__def_elem__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterDomainStmt", - "AlterDomainStmt", - "PgQuery__AlterDomainStmt", + "pg_query.DefElem", + "DefElem", + "PgQuery__DefElem", "pg_query", - sizeof(PgQuery__AlterDomainStmt), - 6, - pg_query__alter_domain_stmt__field_descriptors, - pg_query__alter_domain_stmt__field_indices_by_name, - 1, pg_query__alter_domain_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_domain_stmt__init, + sizeof(PgQuery__DefElem), + 5, + pg_query__def_elem__field_descriptors, + pg_query__def_elem__field_indices_by_name, + 1, pg_query__def_elem__number_ranges, + (ProtobufCMessageInit) pg_query__def_elem__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__set_operation_stmt__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__locking_clause__field_descriptors[3] = { { - "op", + "locked_rels", 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__LockingClause, n_locked_rels), + offsetof(PgQuery__LockingClause, locked_rels), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "strength", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SetOperationStmt, op), - &pg_query__set_operation__descriptor, + offsetof(PgQuery__LockingClause, strength), + &pg_query__lock_clause_strength__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "all", - 2, + "wait_policy", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SetOperationStmt, all), - NULL, + offsetof(PgQuery__LockingClause, wait_policy), + &pg_query__lock_wait_policy__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__locking_clause__field_indices_by_name[] = { + 0, /* field[0] = locked_rels */ + 1, /* field[1] = strength */ + 2, /* field[2] = wait_policy */ +}; +static const ProtobufCIntRange pg_query__locking_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__locking_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.LockingClause", + "LockingClause", + "PgQuery__LockingClause", + "pg_query", + sizeof(PgQuery__LockingClause), + 3, + pg_query__locking_clause__field_descriptors, + pg_query__locking_clause__field_indices_by_name, + 1, pg_query__locking_clause__number_ranges, + (ProtobufCMessageInit) pg_query__locking_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__xml_serialize__field_descriptors[5] = +{ { - "larg", - 3, + "xmloption", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__SetOperationStmt, larg), - &pg_query__node__descriptor, + offsetof(PgQuery__XmlSerialize, xmloption), + &pg_query__xml_option_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rarg", - 4, + "expr", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SetOperationStmt, rarg), + offsetof(PgQuery__XmlSerialize, expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "col_types", - 5, - PROTOBUF_C_LABEL_REPEATED, + "type_name", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SetOperationStmt, n_col_types), - offsetof(PgQuery__SetOperationStmt, col_types), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__XmlSerialize, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "col_typmods", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SetOperationStmt, n_col_typmods), - offsetof(PgQuery__SetOperationStmt, col_typmods), - &pg_query__node__descriptor, + "indent", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__XmlSerialize, indent), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "col_collations", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SetOperationStmt, n_col_collations), - offsetof(PgQuery__SetOperationStmt, col_collations), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "group_clauses", - 8, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SetOperationStmt, n_group_clauses), - offsetof(PgQuery__SetOperationStmt, group_clauses), - &pg_query__node__descriptor, + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__XmlSerialize, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__set_operation_stmt__field_indices_by_name[] = { - 1, /* field[1] = all */ - 6, /* field[6] = col_collations */ - 4, /* field[4] = col_types */ - 5, /* field[5] = col_typmods */ - 7, /* field[7] = group_clauses */ - 2, /* field[2] = larg */ - 0, /* field[0] = op */ - 3, /* field[3] = rarg */ +static const unsigned pg_query__xml_serialize__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 3, /* field[3] = indent */ + 4, /* field[4] = location */ + 2, /* field[2] = type_name */ + 0, /* field[0] = xmloption */ }; -static const ProtobufCIntRange pg_query__set_operation_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__xml_serialize__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__set_operation_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__xml_serialize__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SetOperationStmt", - "SetOperationStmt", - "PgQuery__SetOperationStmt", + "pg_query.XmlSerialize", + "XmlSerialize", + "PgQuery__XmlSerialize", "pg_query", - sizeof(PgQuery__SetOperationStmt), - 8, - pg_query__set_operation_stmt__field_descriptors, - pg_query__set_operation_stmt__field_indices_by_name, - 1, pg_query__set_operation_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__set_operation_stmt__init, + sizeof(PgQuery__XmlSerialize), + 5, + pg_query__xml_serialize__field_descriptors, + pg_query__xml_serialize__field_indices_by_name, + 1, pg_query__xml_serialize__number_ranges, + (ProtobufCMessageInit) pg_query__xml_serialize__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__grant_stmt__field_descriptors[9] = +static const ProtobufCFieldDescriptor pg_query__partition_elem__field_descriptors[5] = { { - "is_grant", + "name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, is_grant), - NULL, + offsetof(PgQuery__PartitionElem, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "targtype", + "expr", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, targtype), - &pg_query__grant_target_type__descriptor, + offsetof(PgQuery__PartitionElem, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "objtype", + "collation", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, objtype), - &pg_query__object_type__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "objects", - 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GrantStmt, n_objects), - offsetof(PgQuery__GrantStmt, objects), + offsetof(PgQuery__PartitionElem, n_collation), + offsetof(PgQuery__PartitionElem, collation), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "privileges", - 5, + "opclass", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GrantStmt, n_privileges), - offsetof(PgQuery__GrantStmt, privileges), + offsetof(PgQuery__PartitionElem, n_opclass), + offsetof(PgQuery__PartitionElem, opclass), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grantees", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GrantStmt, n_grantees), - offsetof(PgQuery__GrantStmt, grantees), - &pg_query__node__descriptor, + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__PartitionElem, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__partition_elem__field_indices_by_name[] = { + 2, /* field[2] = collation */ + 1, /* field[1] = expr */ + 4, /* field[4] = location */ + 0, /* field[0] = name */ + 3, /* field[3] = opclass */ +}; +static const ProtobufCIntRange pg_query__partition_elem__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__partition_elem__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.PartitionElem", + "PartitionElem", + "PgQuery__PartitionElem", + "pg_query", + sizeof(PgQuery__PartitionElem), + 5, + pg_query__partition_elem__field_descriptors, + pg_query__partition_elem__field_indices_by_name, + 1, pg_query__partition_elem__number_ranges, + (ProtobufCMessageInit) pg_query__partition_elem__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__partition_spec__field_descriptors[3] = +{ { - "grant_option", - 7, + "strategy", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, grant_option), - NULL, + offsetof(PgQuery__PartitionSpec, strategy), + &pg_query__partition_strategy__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grantor", - 8, - PROTOBUF_C_LABEL_NONE, + "part_params", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, grantor), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__PartitionSpec, n_part_params), + offsetof(PgQuery__PartitionSpec, part_params), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", - 9, + "location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__PartitionSpec, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__grant_stmt__field_indices_by_name[] = { - 8, /* field[8] = behavior */ - 6, /* field[6] = grant_option */ - 5, /* field[5] = grantees */ - 7, /* field[7] = grantor */ - 0, /* field[0] = is_grant */ - 3, /* field[3] = objects */ - 2, /* field[2] = objtype */ - 4, /* field[4] = privileges */ - 1, /* field[1] = targtype */ +static const unsigned pg_query__partition_spec__field_indices_by_name[] = { + 2, /* field[2] = location */ + 1, /* field[1] = part_params */ + 0, /* field[0] = strategy */ }; -static const ProtobufCIntRange pg_query__grant_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__partition_spec__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 9 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__grant_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__partition_spec__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.GrantStmt", - "GrantStmt", - "PgQuery__GrantStmt", + "pg_query.PartitionSpec", + "PartitionSpec", + "PgQuery__PartitionSpec", "pg_query", - sizeof(PgQuery__GrantStmt), - 9, - pg_query__grant_stmt__field_descriptors, - pg_query__grant_stmt__field_indices_by_name, - 1, pg_query__grant_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__grant_stmt__init, + sizeof(PgQuery__PartitionSpec), + 3, + pg_query__partition_spec__field_descriptors, + pg_query__partition_spec__field_indices_by_name, + 1, pg_query__partition_spec__number_ranges, + (ProtobufCMessageInit) pg_query__partition_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__grant_role_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__partition_bound_spec__field_descriptors[8] = { { - "granted_roles", + "strategy", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GrantRoleStmt, n_granted_roles), - offsetof(PgQuery__GrantRoleStmt, granted_roles), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__PartitionBoundSpec, strategy), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grantee_roles", + "is_default", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GrantRoleStmt, n_grantee_roles), - offsetof(PgQuery__GrantRoleStmt, grantee_roles), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__PartitionBoundSpec, is_default), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_grant", + "modulus", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantRoleStmt, is_grant), + offsetof(PgQuery__PartitionBoundSpec, modulus), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "admin_opt", + "remainder", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantRoleStmt, admin_opt), + offsetof(PgQuery__PartitionBoundSpec, remainder), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "grantor", + "listdatums", 5, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__GrantRoleStmt, grantor), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__PartitionBoundSpec, n_listdatums), + offsetof(PgQuery__PartitionBoundSpec, listdatums), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", + "lowerdatums", 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__PartitionBoundSpec, n_lowerdatums), + offsetof(PgQuery__PartitionBoundSpec, lowerdatums), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "upperdatums", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__PartitionBoundSpec, n_upperdatums), + offsetof(PgQuery__PartitionBoundSpec, upperdatums), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__GrantRoleStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__PartitionBoundSpec, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__grant_role_stmt__field_indices_by_name[] = { - 3, /* field[3] = admin_opt */ - 5, /* field[5] = behavior */ - 0, /* field[0] = granted_roles */ - 1, /* field[1] = grantee_roles */ - 4, /* field[4] = grantor */ - 2, /* field[2] = is_grant */ +static const unsigned pg_query__partition_bound_spec__field_indices_by_name[] = { + 1, /* field[1] = is_default */ + 4, /* field[4] = listdatums */ + 7, /* field[7] = location */ + 5, /* field[5] = lowerdatums */ + 2, /* field[2] = modulus */ + 3, /* field[3] = remainder */ + 0, /* field[0] = strategy */ + 6, /* field[6] = upperdatums */ }; -static const ProtobufCIntRange pg_query__grant_role_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__partition_bound_spec__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__grant_role_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__partition_bound_spec__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.GrantRoleStmt", - "GrantRoleStmt", - "PgQuery__GrantRoleStmt", + "pg_query.PartitionBoundSpec", + "PartitionBoundSpec", + "PgQuery__PartitionBoundSpec", "pg_query", - sizeof(PgQuery__GrantRoleStmt), - 6, - pg_query__grant_role_stmt__field_descriptors, - pg_query__grant_role_stmt__field_indices_by_name, - 1, pg_query__grant_role_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__grant_role_stmt__init, + sizeof(PgQuery__PartitionBoundSpec), + 8, + pg_query__partition_bound_spec__field_descriptors, + pg_query__partition_bound_spec__field_indices_by_name, + 1, pg_query__partition_bound_spec__number_ranges, + (ProtobufCMessageInit) pg_query__partition_bound_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_default_privileges_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__partition_range_datum__field_descriptors[3] = { { - "options", + "kind", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterDefaultPrivilegesStmt, n_options), - offsetof(PgQuery__AlterDefaultPrivilegesStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__PartitionRangeDatum, kind), + &pg_query__partition_range_datum_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "action", + "value", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDefaultPrivilegesStmt, action), - &pg_query__grant_stmt__descriptor, + offsetof(PgQuery__PartitionRangeDatum, value), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_default_privileges_stmt__field_indices_by_name[] = { - 1, /* field[1] = action */ - 0, /* field[0] = options */ -}; -static const ProtobufCIntRange pg_query__alter_default_privileges_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__alter_default_privileges_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterDefaultPrivilegesStmt", - "AlterDefaultPrivilegesStmt", - "PgQuery__AlterDefaultPrivilegesStmt", - "pg_query", - sizeof(PgQuery__AlterDefaultPrivilegesStmt), - 2, - pg_query__alter_default_privileges_stmt__field_descriptors, - pg_query__alter_default_privileges_stmt__field_indices_by_name, - 1, pg_query__alter_default_privileges_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_default_privileges_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__close_portal_stmt__field_descriptors[1] = -{ { - "portalname", - 1, + "location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ClosePortalStmt, portalname), + offsetof(PgQuery__PartitionRangeDatum, location), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__close_portal_stmt__field_indices_by_name[] = { - 0, /* field[0] = portalname */ +static const unsigned pg_query__partition_range_datum__field_indices_by_name[] = { + 0, /* field[0] = kind */ + 2, /* field[2] = location */ + 1, /* field[1] = value */ }; -static const ProtobufCIntRange pg_query__close_portal_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__partition_range_datum__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__close_portal_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ClosePortalStmt", - "ClosePortalStmt", - "PgQuery__ClosePortalStmt", + "pg_query.PartitionRangeDatum", + "PartitionRangeDatum", + "PgQuery__PartitionRangeDatum", "pg_query", - sizeof(PgQuery__ClosePortalStmt), - 1, - pg_query__close_portal_stmt__field_descriptors, - pg_query__close_portal_stmt__field_indices_by_name, - 1, pg_query__close_portal_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__close_portal_stmt__init, + sizeof(PgQuery__PartitionRangeDatum), + 3, + pg_query__partition_range_datum__field_descriptors, + pg_query__partition_range_datum__field_indices_by_name, + 1, pg_query__partition_range_datum__number_ranges, + (ProtobufCMessageInit) pg_query__partition_range_datum__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__cluster_stmt__field_descriptors[3] = +#define pg_query__single_partition_spec__field_descriptors NULL +#define pg_query__single_partition_spec__field_indices_by_name NULL +#define pg_query__single_partition_spec__number_ranges NULL +const ProtobufCMessageDescriptor pg_query__single_partition_spec__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SinglePartitionSpec", + "SinglePartitionSpec", + "PgQuery__SinglePartitionSpec", + "pg_query", + sizeof(PgQuery__SinglePartitionSpec), + 0, + pg_query__single_partition_spec__field_descriptors, + pg_query__single_partition_spec__field_indices_by_name, + 0, pg_query__single_partition_spec__number_ranges, + (ProtobufCMessageInit) pg_query__single_partition_spec__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__partition_cmd__field_descriptors[3] = { { - "relation", + "name", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ClusterStmt, relation), + offsetof(PgQuery__PartitionCmd, name), &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indexname", + "bound", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ClusterStmt, indexname), + offsetof(PgQuery__PartitionCmd, bound), + &pg_query__partition_bound_spec__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "params", + "concurrent", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ClusterStmt, n_params), - offsetof(PgQuery__ClusterStmt, params), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__PartitionCmd, concurrent), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__cluster_stmt__field_indices_by_name[] = { - 1, /* field[1] = indexname */ - 2, /* field[2] = params */ - 0, /* field[0] = relation */ +static const unsigned pg_query__partition_cmd__field_indices_by_name[] = { + 1, /* field[1] = bound */ + 2, /* field[2] = concurrent */ + 0, /* field[0] = name */ }; -static const ProtobufCIntRange pg_query__cluster_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__partition_cmd__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__cluster_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ClusterStmt", - "ClusterStmt", - "PgQuery__ClusterStmt", + "pg_query.PartitionCmd", + "PartitionCmd", + "PgQuery__PartitionCmd", "pg_query", - sizeof(PgQuery__ClusterStmt), + sizeof(PgQuery__PartitionCmd), 3, - pg_query__cluster_stmt__field_descriptors, - pg_query__cluster_stmt__field_indices_by_name, - 1, pg_query__cluster_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__cluster_stmt__init, + pg_query__partition_cmd__field_descriptors, + pg_query__partition_cmd__field_indices_by_name, + 1, pg_query__partition_cmd__number_ranges, + (ProtobufCMessageInit) pg_query__partition_cmd__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__copy_stmt__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descriptors[32] = { { - "relation", + "alias", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__RangeTblEntry, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query", + "eref", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, query), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeTblEntry, eref), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "attlist", + "rtekind", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CopyStmt, n_attlist), - offsetof(PgQuery__CopyStmt, attlist), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, rtekind), + &pg_query__rtekind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_from", + "relid", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, is_from), + offsetof(PgQuery__RangeTblEntry, relid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_program", + "inh", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, is_program), + offsetof(PgQuery__RangeTblEntry, inh), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "filename", + "relkind", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, filename), + offsetof(PgQuery__RangeTblEntry, relkind), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "rellockmode", 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CopyStmt, n_options), - offsetof(PgQuery__CopyStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, rellockmode), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "perminfoindex", 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CopyStmt, where_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__RangeTblEntry, perminfoindex), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__copy_stmt__field_indices_by_name[] = { - 2, /* field[2] = attlist */ - 5, /* field[5] = filename */ - 3, /* field[3] = is_from */ - 4, /* field[4] = is_program */ - 6, /* field[6] = options */ - 1, /* field[1] = query */ - 0, /* field[0] = relation */ - 7, /* field[7] = where_clause */ -}; -static const ProtobufCIntRange pg_query__copy_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__copy_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CopyStmt", - "CopyStmt", - "PgQuery__CopyStmt", - "pg_query", - sizeof(PgQuery__CopyStmt), - 8, - pg_query__copy_stmt__field_descriptors, - pg_query__copy_stmt__field_indices_by_name, - 1, pg_query__copy_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__copy_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_stmt__field_descriptors[12] = -{ { - "relation", - 1, + "tablesample", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__RangeTblEntry, tablesample), + &pg_query__table_sample_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table_elts", - 2, - PROTOBUF_C_LABEL_REPEATED, + "subquery", + 10, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStmt, n_table_elts), - offsetof(PgQuery__CreateStmt, table_elts), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, subquery), + &pg_query__query__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inh_relations", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStmt, n_inh_relations), - offsetof(PgQuery__CreateStmt, inh_relations), - &pg_query__node__descriptor, + "security_barrier", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, security_barrier), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partbound", - 4, + "jointype", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, partbound), - &pg_query__partition_bound_spec__descriptor, + offsetof(PgQuery__RangeTblEntry, jointype), + &pg_query__join_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partspec", - 5, + "joinmergedcols", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, partspec), - &pg_query__partition_spec__descriptor, + offsetof(PgQuery__RangeTblEntry, joinmergedcols), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "of_typename", - 6, - PROTOBUF_C_LABEL_NONE, + "joinaliasvars", + 14, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, of_typename), - &pg_query__type_name__descriptor, + offsetof(PgQuery__RangeTblEntry, n_joinaliasvars), + offsetof(PgQuery__RangeTblEntry, joinaliasvars), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraints", - 7, + "joinleftcols", + 15, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStmt, n_constraints), - offsetof(PgQuery__CreateStmt, constraints), + offsetof(PgQuery__RangeTblEntry, n_joinleftcols), + offsetof(PgQuery__RangeTblEntry, joinleftcols), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 8, + "joinrightcols", + 16, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStmt, n_options), - offsetof(PgQuery__CreateStmt, options), + offsetof(PgQuery__RangeTblEntry, n_joinrightcols), + offsetof(PgQuery__RangeTblEntry, joinrightcols), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "oncommit", - 9, + "join_using_alias", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, oncommit), - &pg_query__on_commit_action__descriptor, + offsetof(PgQuery__RangeTblEntry, join_using_alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "tablespacename", - 10, + "functions", + 18, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_functions), + offsetof(PgQuery__RangeTblEntry, functions), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcordinality", + 19, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, tablespacename), + offsetof(PgQuery__RangeTblEntry, funcordinality), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "access_method", - 11, + "tablefunc", + 20, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, access_method), + offsetof(PgQuery__RangeTblEntry, tablefunc), + &pg_query__table_func__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 12, + "values_lists", + 21, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_values_lists), + offsetof(PgQuery__RangeTblEntry, values_lists), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctename", + 22, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStmt, if_not_exists), - NULL, + offsetof(PgQuery__RangeTblEntry, ctename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_stmt__field_indices_by_name[] = { - 10, /* field[10] = access_method */ - 6, /* field[6] = constraints */ - 11, /* field[11] = if_not_exists */ - 2, /* field[2] = inh_relations */ - 5, /* field[5] = of_typename */ - 8, /* field[8] = oncommit */ - 7, /* field[7] = options */ - 3, /* field[3] = partbound */ - 4, /* field[4] = partspec */ - 0, /* field[0] = relation */ - 1, /* field[1] = table_elts */ - 9, /* field[9] = tablespacename */ -}; -static const ProtobufCIntRange pg_query__create_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 12 } -}; -const ProtobufCMessageDescriptor pg_query__create_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateStmt", - "CreateStmt", - "PgQuery__CreateStmt", - "pg_query", - sizeof(PgQuery__CreateStmt), - 12, - pg_query__create_stmt__field_descriptors, - pg_query__create_stmt__field_indices_by_name, - 1, pg_query__create_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__define_stmt__field_descriptors[7] = -{ { - "kind", - 1, + "ctelevelsup", + 23, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DefineStmt, kind), - &pg_query__object_type__descriptor, + offsetof(PgQuery__RangeTblEntry, ctelevelsup), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "oldstyle", - 2, + "self_reference", + 24, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DefineStmt, oldstyle), + offsetof(PgQuery__RangeTblEntry, self_reference), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "defnames", - 3, + "coltypes", + 25, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DefineStmt, n_defnames), - offsetof(PgQuery__DefineStmt, defnames), + offsetof(PgQuery__RangeTblEntry, n_coltypes), + offsetof(PgQuery__RangeTblEntry, coltypes), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 4, + "coltypmods", + 26, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DefineStmt, n_args), - offsetof(PgQuery__DefineStmt, args), + offsetof(PgQuery__RangeTblEntry, n_coltypmods), + offsetof(PgQuery__RangeTblEntry, coltypmods), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "definition", - 5, + "colcollations", + 27, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DefineStmt, n_definition), - offsetof(PgQuery__DefineStmt, definition), + offsetof(PgQuery__RangeTblEntry, n_colcollations), + offsetof(PgQuery__RangeTblEntry, colcollations), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 6, + "enrname", + 28, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, enrname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "enrtuples", + 29, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_DOUBLE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblEntry, enrtuples), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "lateral", + 30, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DefineStmt, if_not_exists), + offsetof(PgQuery__RangeTblEntry, lateral), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "replace", - 7, + "in_from_cl", + 31, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DefineStmt, replace), + offsetof(PgQuery__RangeTblEntry, in_from_cl), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "security_quals", + 32, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblEntry, n_security_quals), + offsetof(PgQuery__RangeTblEntry, security_quals), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__define_stmt__field_indices_by_name[] = { - 3, /* field[3] = args */ - 4, /* field[4] = definition */ - 2, /* field[2] = defnames */ - 5, /* field[5] = if_not_exists */ - 0, /* field[0] = kind */ - 1, /* field[1] = oldstyle */ - 6, /* field[6] = replace */ +static const unsigned pg_query__range_tbl_entry__field_indices_by_name[] = { + 0, /* field[0] = alias */ + 26, /* field[26] = colcollations */ + 24, /* field[24] = coltypes */ + 25, /* field[25] = coltypmods */ + 22, /* field[22] = ctelevelsup */ + 21, /* field[21] = ctename */ + 27, /* field[27] = enrname */ + 28, /* field[28] = enrtuples */ + 1, /* field[1] = eref */ + 18, /* field[18] = funcordinality */ + 17, /* field[17] = functions */ + 30, /* field[30] = in_from_cl */ + 4, /* field[4] = inh */ + 16, /* field[16] = join_using_alias */ + 13, /* field[13] = joinaliasvars */ + 14, /* field[14] = joinleftcols */ + 12, /* field[12] = joinmergedcols */ + 15, /* field[15] = joinrightcols */ + 11, /* field[11] = jointype */ + 29, /* field[29] = lateral */ + 7, /* field[7] = perminfoindex */ + 3, /* field[3] = relid */ + 5, /* field[5] = relkind */ + 6, /* field[6] = rellockmode */ + 2, /* field[2] = rtekind */ + 10, /* field[10] = security_barrier */ + 31, /* field[31] = security_quals */ + 23, /* field[23] = self_reference */ + 9, /* field[9] = subquery */ + 19, /* field[19] = tablefunc */ + 8, /* field[8] = tablesample */ + 20, /* field[20] = values_lists */ }; -static const ProtobufCIntRange pg_query__define_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_tbl_entry__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 32 } }; -const ProtobufCMessageDescriptor pg_query__define_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DefineStmt", - "DefineStmt", - "PgQuery__DefineStmt", + "pg_query.RangeTblEntry", + "RangeTblEntry", + "PgQuery__RangeTblEntry", "pg_query", - sizeof(PgQuery__DefineStmt), - 7, - pg_query__define_stmt__field_descriptors, - pg_query__define_stmt__field_indices_by_name, - 1, pg_query__define_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__define_stmt__init, + sizeof(PgQuery__RangeTblEntry), + 32, + pg_query__range_tbl_entry__field_descriptors, + pg_query__range_tbl_entry__field_indices_by_name, + 1, pg_query__range_tbl_entry__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_entry__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__drop_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__rtepermission_info__field_descriptors[7] = { { - "objects", + "relid", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DropStmt, n_objects), - offsetof(PgQuery__DropStmt, objects), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RTEPermissionInfo, relid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "remove_type", + "inh", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DropStmt, remove_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__RTEPermissionInfo, inh), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", + "required_perms", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT64, 0, /* quantifier_offset */ - offsetof(PgQuery__DropStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__RTEPermissionInfo, required_perms), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "check_as_user", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DropStmt, missing_ok), + offsetof(PgQuery__RTEPermissionInfo, check_as_user), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "concurrent", + "selected_cols", 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__DropStmt, concurrent), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_selected_cols), + offsetof(PgQuery__RTEPermissionInfo, selected_cols), NULL, NULL, - 0, /* flags */ + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "inserted_cols", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_inserted_cols), + offsetof(PgQuery__RTEPermissionInfo, inserted_cols), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "updated_cols", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RTEPermissionInfo, n_updated_cols), + offsetof(PgQuery__RTEPermissionInfo, updated_cols), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__drop_stmt__field_indices_by_name[] = { - 2, /* field[2] = behavior */ - 4, /* field[4] = concurrent */ - 3, /* field[3] = missing_ok */ - 0, /* field[0] = objects */ - 1, /* field[1] = remove_type */ +static const unsigned pg_query__rtepermission_info__field_indices_by_name[] = { + 3, /* field[3] = check_as_user */ + 1, /* field[1] = inh */ + 5, /* field[5] = inserted_cols */ + 0, /* field[0] = relid */ + 2, /* field[2] = required_perms */ + 4, /* field[4] = selected_cols */ + 6, /* field[6] = updated_cols */ }; -static const ProtobufCIntRange pg_query__drop_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__rtepermission_info__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__drop_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__rtepermission_info__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropStmt", - "DropStmt", - "PgQuery__DropStmt", + "pg_query.RTEPermissionInfo", + "RTEPermissionInfo", + "PgQuery__RTEPermissionInfo", "pg_query", - sizeof(PgQuery__DropStmt), - 5, - pg_query__drop_stmt__field_descriptors, - pg_query__drop_stmt__field_indices_by_name, - 1, pg_query__drop_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_stmt__init, + sizeof(PgQuery__RTEPermissionInfo), + 7, + pg_query__rtepermission_info__field_descriptors, + pg_query__rtepermission_info__field_indices_by_name, + 1, pg_query__rtepermission_info__number_ranges, + (ProtobufCMessageInit) pg_query__rtepermission_info__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__truncate_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__range_tbl_function__field_descriptors[7] = { { - "relations", - 1, + "funcexpr", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblFunction, funcexpr), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccolcount", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__RangeTblFunction, funccolcount), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccolnames", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccolnames), + offsetof(PgQuery__RangeTblFunction, funccolnames), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funccoltypes", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TruncateStmt, n_relations), - offsetof(PgQuery__TruncateStmt, relations), + offsetof(PgQuery__RangeTblFunction, n_funccoltypes), + offsetof(PgQuery__RangeTblFunction, funccoltypes), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "restart_seqs", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__TruncateStmt, restart_seqs), - NULL, + "funccoltypmods", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccoltypmods), + offsetof(PgQuery__RangeTblFunction, funccoltypmods), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__TruncateStmt, behavior), - &pg_query__drop_behavior__descriptor, + "funccolcollations", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__RangeTblFunction, n_funccolcollations), + offsetof(PgQuery__RangeTblFunction, funccolcollations), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "funcparams", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_UINT64, + offsetof(PgQuery__RangeTblFunction, n_funcparams), + offsetof(PgQuery__RangeTblFunction, funcparams), + NULL, + NULL, + PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__truncate_stmt__field_indices_by_name[] = { - 2, /* field[2] = behavior */ - 0, /* field[0] = relations */ - 1, /* field[1] = restart_seqs */ +static const unsigned pg_query__range_tbl_function__field_indices_by_name[] = { + 5, /* field[5] = funccolcollations */ + 1, /* field[1] = funccolcount */ + 2, /* field[2] = funccolnames */ + 3, /* field[3] = funccoltypes */ + 4, /* field[4] = funccoltypmods */ + 0, /* field[0] = funcexpr */ + 6, /* field[6] = funcparams */ }; -static const ProtobufCIntRange pg_query__truncate_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__range_tbl_function__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__truncate_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TruncateStmt", - "TruncateStmt", - "PgQuery__TruncateStmt", + "pg_query.RangeTblFunction", + "RangeTblFunction", + "PgQuery__RangeTblFunction", "pg_query", - sizeof(PgQuery__TruncateStmt), - 3, - pg_query__truncate_stmt__field_descriptors, - pg_query__truncate_stmt__field_indices_by_name, - 1, pg_query__truncate_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__truncate_stmt__init, + sizeof(PgQuery__RangeTblFunction), + 7, + pg_query__range_tbl_function__field_descriptors, + pg_query__range_tbl_function__field_indices_by_name, + 1, pg_query__range_tbl_function__number_ranges, + (ProtobufCMessageInit) pg_query__range_tbl_function__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__comment_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__table_sample_clause__field_descriptors[3] = { { - "objtype", + "tsmhandler", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CommentStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__TableSampleClause, tsmhandler), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", + "args", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommentStmt, object), + offsetof(PgQuery__TableSampleClause, n_args), + offsetof(PgQuery__TableSampleClause, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "comment", + "repeatable", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommentStmt, comment), + offsetof(PgQuery__TableSampleClause, repeatable), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__comment_stmt__field_indices_by_name[] = { - 2, /* field[2] = comment */ - 1, /* field[1] = object */ - 0, /* field[0] = objtype */ +static const unsigned pg_query__table_sample_clause__field_indices_by_name[] = { + 1, /* field[1] = args */ + 2, /* field[2] = repeatable */ + 0, /* field[0] = tsmhandler */ }; -static const ProtobufCIntRange pg_query__comment_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__table_sample_clause__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__comment_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CommentStmt", - "CommentStmt", - "PgQuery__CommentStmt", + "pg_query.TableSampleClause", + "TableSampleClause", + "PgQuery__TableSampleClause", "pg_query", - sizeof(PgQuery__CommentStmt), + sizeof(PgQuery__TableSampleClause), 3, - pg_query__comment_stmt__field_descriptors, - pg_query__comment_stmt__field_indices_by_name, - 1, pg_query__comment_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__comment_stmt__init, + pg_query__table_sample_clause__field_descriptors, + pg_query__table_sample_clause__field_indices_by_name, + 1, pg_query__table_sample_clause__number_ranges, + (ProtobufCMessageInit) pg_query__table_sample_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__fetch_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__with_check_option__field_descriptors[5] = { { - "direction", + "kind", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__FetchStmt, direction), - &pg_query__fetch_direction__descriptor, + offsetof(PgQuery__WithCheckOption, kind), + &pg_query__wcokind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "how_many", + "relname", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT64, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__FetchStmt, how_many), - NULL, + offsetof(PgQuery__WithCheckOption, relname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "portalname", + "polname", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__FetchStmt, portalname), + offsetof(PgQuery__WithCheckOption, polname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ismove", + "qual", 4, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__WithCheckOption, qual), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cascaded", + 5, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__FetchStmt, ismove), + offsetof(PgQuery__WithCheckOption, cascaded), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__fetch_stmt__field_indices_by_name[] = { - 0, /* field[0] = direction */ - 1, /* field[1] = how_many */ - 3, /* field[3] = ismove */ - 2, /* field[2] = portalname */ +static const unsigned pg_query__with_check_option__field_indices_by_name[] = { + 4, /* field[4] = cascaded */ + 0, /* field[0] = kind */ + 2, /* field[2] = polname */ + 3, /* field[3] = qual */ + 1, /* field[1] = relname */ }; -static const ProtobufCIntRange pg_query__fetch_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__with_check_option__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__fetch_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FetchStmt", - "FetchStmt", - "PgQuery__FetchStmt", + "pg_query.WithCheckOption", + "WithCheckOption", + "PgQuery__WithCheckOption", "pg_query", - sizeof(PgQuery__FetchStmt), - 4, - pg_query__fetch_stmt__field_descriptors, - pg_query__fetch_stmt__field_indices_by_name, - 1, pg_query__fetch_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__fetch_stmt__init, + sizeof(PgQuery__WithCheckOption), + 5, + pg_query__with_check_option__field_descriptors, + pg_query__with_check_option__field_indices_by_name, + 1, pg_query__with_check_option__number_ranges, + (ProtobufCMessageInit) pg_query__with_check_option__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__index_stmt__field_descriptors[24] = +static const ProtobufCFieldDescriptor pg_query__sort_group_clause__field_descriptors[5] = { { - "idxname", + "tle_sort_group_ref", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, idxname), + offsetof(PgQuery__SortGroupClause, tle_sort_group_ref), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "eqop", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__SortGroupClause, eqop), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "access_method", + "sortop", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, access_method), + offsetof(PgQuery__SortGroupClause, sortop), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table_space", + "nulls_first", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, table_space), + offsetof(PgQuery__SortGroupClause, nulls_first), NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "index_params", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexStmt, n_index_params), - offsetof(PgQuery__IndexStmt, index_params), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "index_including_params", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexStmt, n_index_including_params), - offsetof(PgQuery__IndexStmt, index_including_params), - &pg_query__node__descriptor, + "hashable", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__SortGroupClause, hashable), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "options", - 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexStmt, n_options), - offsetof(PgQuery__IndexStmt, options), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sort_group_clause__field_indices_by_name[] = { + 1, /* field[1] = eqop */ + 4, /* field[4] = hashable */ + 3, /* field[3] = nulls_first */ + 2, /* field[2] = sortop */ + 0, /* field[0] = tle_sort_group_ref */ +}; +static const ProtobufCIntRange pg_query__sort_group_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SortGroupClause", + "SortGroupClause", + "PgQuery__SortGroupClause", + "pg_query", + sizeof(PgQuery__SortGroupClause), + 5, + pg_query__sort_group_clause__field_descriptors, + pg_query__sort_group_clause__field_indices_by_name, + 1, pg_query__sort_group_clause__number_ranges, + (ProtobufCMessageInit) pg_query__sort_group_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__grouping_set__field_descriptors[3] = +{ { - "where_clause", - 8, + "kind", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, where_clause), - &pg_query__node__descriptor, + offsetof(PgQuery__GroupingSet, kind), + &pg_query__grouping_set_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "exclude_op_names", - 9, + "content", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexStmt, n_exclude_op_names), - offsetof(PgQuery__IndexStmt, exclude_op_names), + offsetof(PgQuery__GroupingSet, n_content), + offsetof(PgQuery__GroupingSet, content), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "idxcomment", - 10, + "location", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, idxcomment), + offsetof(PgQuery__GroupingSet, location), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__grouping_set__field_indices_by_name[] = { + 1, /* field[1] = content */ + 0, /* field[0] = kind */ + 2, /* field[2] = location */ +}; +static const ProtobufCIntRange pg_query__grouping_set__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.GroupingSet", + "GroupingSet", + "PgQuery__GroupingSet", + "pg_query", + sizeof(PgQuery__GroupingSet), + 3, + pg_query__grouping_set__field_descriptors, + pg_query__grouping_set__field_indices_by_name, + 1, pg_query__grouping_set__number_ranges, + (ProtobufCMessageInit) pg_query__grouping_set__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__window_clause__field_descriptors[14] = +{ { - "index_oid", - 11, + "name", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, index_oid), - NULL, + offsetof(PgQuery__WindowClause, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_node", - 12, + "refname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, old_node), - NULL, + offsetof(PgQuery__WindowClause, refname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_create_subid", - 13, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, old_create_subid), - NULL, + "partition_clause", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WindowClause, n_partition_clause), + offsetof(PgQuery__WindowClause, partition_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_first_relfilenode_subid", - 14, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, old_first_relfilenode_subid), - NULL, + "order_clause", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WindowClause, n_order_clause), + offsetof(PgQuery__WindowClause, order_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "unique", - 15, + "frame_options", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, unique), + offsetof(PgQuery__WindowClause, frame_options), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulls_not_distinct", - 16, + "start_offset", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, nulls_not_distinct), - NULL, + offsetof(PgQuery__WindowClause, start_offset), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "primary", - 17, + "end_offset", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, primary), - NULL, + offsetof(PgQuery__WindowClause, end_offset), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "isconstraint", - 18, + "start_in_range_func", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, isconstraint), + offsetof(PgQuery__WindowClause, start_in_range_func), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "deferrable", - 19, + "end_in_range_func", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, deferrable), + offsetof(PgQuery__WindowClause, end_in_range_func), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "initdeferred", - 20, + "in_range_coll", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, initdeferred), + offsetof(PgQuery__WindowClause, in_range_coll), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "transformed", - 21, + "in_range_asc", + 11, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, transformed), + offsetof(PgQuery__WindowClause, in_range_asc), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "concurrent", - 22, + "in_range_nulls_first", + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, concurrent), + offsetof(PgQuery__WindowClause, in_range_nulls_first), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 23, + "winref", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, if_not_exists), + offsetof(PgQuery__WindowClause, winref), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "reset_default_tblspc", - 24, + "copied_order", + 14, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexStmt, reset_default_tblspc), + offsetof(PgQuery__WindowClause, copied_order), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__index_stmt__field_indices_by_name[] = { - 2, /* field[2] = access_method */ - 21, /* field[21] = concurrent */ - 18, /* field[18] = deferrable */ - 8, /* field[8] = exclude_op_names */ - 9, /* field[9] = idxcomment */ - 0, /* field[0] = idxname */ - 22, /* field[22] = if_not_exists */ - 5, /* field[5] = index_including_params */ - 10, /* field[10] = index_oid */ - 4, /* field[4] = index_params */ - 19, /* field[19] = initdeferred */ - 17, /* field[17] = isconstraint */ - 15, /* field[15] = nulls_not_distinct */ - 12, /* field[12] = old_create_subid */ - 13, /* field[13] = old_first_relfilenode_subid */ - 11, /* field[11] = old_node */ - 6, /* field[6] = options */ - 16, /* field[16] = primary */ - 1, /* field[1] = relation */ - 23, /* field[23] = reset_default_tblspc */ - 3, /* field[3] = table_space */ - 20, /* field[20] = transformed */ - 14, /* field[14] = unique */ - 7, /* field[7] = where_clause */ +static const unsigned pg_query__window_clause__field_indices_by_name[] = { + 13, /* field[13] = copied_order */ + 8, /* field[8] = end_in_range_func */ + 6, /* field[6] = end_offset */ + 4, /* field[4] = frame_options */ + 10, /* field[10] = in_range_asc */ + 9, /* field[9] = in_range_coll */ + 11, /* field[11] = in_range_nulls_first */ + 0, /* field[0] = name */ + 3, /* field[3] = order_clause */ + 2, /* field[2] = partition_clause */ + 1, /* field[1] = refname */ + 7, /* field[7] = start_in_range_func */ + 5, /* field[5] = start_offset */ + 12, /* field[12] = winref */ }; -static const ProtobufCIntRange pg_query__index_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__window_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 24 } + { 0, 14 } }; -const ProtobufCMessageDescriptor pg_query__index_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__window_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.IndexStmt", - "IndexStmt", - "PgQuery__IndexStmt", + "pg_query.WindowClause", + "WindowClause", + "PgQuery__WindowClause", "pg_query", - sizeof(PgQuery__IndexStmt), - 24, - pg_query__index_stmt__field_descriptors, - pg_query__index_stmt__field_indices_by_name, - 1, pg_query__index_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__index_stmt__init, + sizeof(PgQuery__WindowClause), + 14, + pg_query__window_clause__field_descriptors, + pg_query__window_clause__field_indices_by_name, + 1, pg_query__window_clause__number_ranges, + (ProtobufCMessageInit) pg_query__window_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_function_stmt__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__row_mark_clause__field_descriptors[4] = { { - "is_procedure", + "rti", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateFunctionStmt, is_procedure), + offsetof(PgQuery__RowMarkClause, rti), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "replace", + "strength", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateFunctionStmt, replace), - NULL, + offsetof(PgQuery__RowMarkClause, strength), + &pg_query__lock_clause_strength__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcname", + "wait_policy", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateFunctionStmt, n_funcname), - offsetof(PgQuery__CreateFunctionStmt, funcname), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "parameters", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateFunctionStmt, n_parameters), - offsetof(PgQuery__CreateFunctionStmt, parameters), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "return_type", - 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateFunctionStmt, return_type), - &pg_query__type_name__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "options", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateFunctionStmt, n_options), - offsetof(PgQuery__CreateFunctionStmt, options), - &pg_query__node__descriptor, + offsetof(PgQuery__RowMarkClause, wait_policy), + &pg_query__lock_wait_policy__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sql_body", - 7, + "pushed_down", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateFunctionStmt, sql_body), - &pg_query__node__descriptor, + offsetof(PgQuery__RowMarkClause, pushed_down), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_function_stmt__field_indices_by_name[] = { - 2, /* field[2] = funcname */ - 0, /* field[0] = is_procedure */ - 5, /* field[5] = options */ - 3, /* field[3] = parameters */ - 1, /* field[1] = replace */ - 4, /* field[4] = return_type */ - 6, /* field[6] = sql_body */ +static const unsigned pg_query__row_mark_clause__field_indices_by_name[] = { + 3, /* field[3] = pushed_down */ + 0, /* field[0] = rti */ + 1, /* field[1] = strength */ + 2, /* field[2] = wait_policy */ }; -static const ProtobufCIntRange pg_query__create_function_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__row_mark_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__create_function_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateFunctionStmt", - "CreateFunctionStmt", - "PgQuery__CreateFunctionStmt", + "pg_query.RowMarkClause", + "RowMarkClause", + "PgQuery__RowMarkClause", "pg_query", - sizeof(PgQuery__CreateFunctionStmt), - 7, - pg_query__create_function_stmt__field_descriptors, - pg_query__create_function_stmt__field_indices_by_name, - 1, pg_query__create_function_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_function_stmt__init, + sizeof(PgQuery__RowMarkClause), + 4, + pg_query__row_mark_clause__field_descriptors, + pg_query__row_mark_clause__field_indices_by_name, + 1, pg_query__row_mark_clause__number_ranges, + (ProtobufCMessageInit) pg_query__row_mark_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_function_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__with_clause__field_descriptors[3] = { { - "objtype", + "ctes", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterFunctionStmt, objtype), - &pg_query__object_type__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__WithClause, n_ctes), + offsetof(PgQuery__WithClause, ctes), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func", + "recursive", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterFunctionStmt, func), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__WithClause, recursive), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "actions", + "location", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterFunctionStmt, n_actions), - offsetof(PgQuery__AlterFunctionStmt, actions), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__WithClause, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_function_stmt__field_indices_by_name[] = { - 2, /* field[2] = actions */ - 1, /* field[1] = func */ - 0, /* field[0] = objtype */ +static const unsigned pg_query__with_clause__field_indices_by_name[] = { + 0, /* field[0] = ctes */ + 2, /* field[2] = location */ + 1, /* field[1] = recursive */ }; -static const ProtobufCIntRange pg_query__alter_function_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__with_clause__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__alter_function_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__with_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterFunctionStmt", - "AlterFunctionStmt", - "PgQuery__AlterFunctionStmt", + "pg_query.WithClause", + "WithClause", + "PgQuery__WithClause", "pg_query", - sizeof(PgQuery__AlterFunctionStmt), + sizeof(PgQuery__WithClause), 3, - pg_query__alter_function_stmt__field_descriptors, - pg_query__alter_function_stmt__field_indices_by_name, - 1, pg_query__alter_function_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_function_stmt__init, + pg_query__with_clause__field_descriptors, + pg_query__with_clause__field_indices_by_name, + 1, pg_query__with_clause__number_ranges, + (ProtobufCMessageInit) pg_query__with_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__do_stmt__field_descriptors[1] = +static const ProtobufCFieldDescriptor pg_query__infer_clause__field_descriptors[4] = { { - "args", + "index_elems", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DoStmt, n_args), - offsetof(PgQuery__DoStmt, args), + offsetof(PgQuery__InferClause, n_index_elems), + offsetof(PgQuery__InferClause, index_elems), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "where_clause", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__InferClause, where_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "conname", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__InferClause, conname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__InferClause, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__do_stmt__field_indices_by_name[] = { - 0, /* field[0] = args */ +static const unsigned pg_query__infer_clause__field_indices_by_name[] = { + 2, /* field[2] = conname */ + 0, /* field[0] = index_elems */ + 3, /* field[3] = location */ + 1, /* field[1] = where_clause */ }; -static const ProtobufCIntRange pg_query__do_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__infer_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__do_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DoStmt", - "DoStmt", - "PgQuery__DoStmt", + "pg_query.InferClause", + "InferClause", + "PgQuery__InferClause", "pg_query", - sizeof(PgQuery__DoStmt), - 1, - pg_query__do_stmt__field_descriptors, - pg_query__do_stmt__field_indices_by_name, - 1, pg_query__do_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__do_stmt__init, + sizeof(PgQuery__InferClause), + 4, + pg_query__infer_clause__field_descriptors, + pg_query__infer_clause__field_indices_by_name, + 1, pg_query__infer_clause__number_ranges, + (ProtobufCMessageInit) pg_query__infer_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__rename_stmt__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__on_conflict_clause__field_descriptors[5] = { { - "rename_type", + "action", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, rename_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__OnConflictClause, action), + &pg_query__on_conflict_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation_type", + "infer", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, relation_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__OnConflictClause, infer), + &pg_query__infer_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "target_list", 3, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__OnConflictClause, n_target_list), + offsetof(PgQuery__OnConflictClause, target_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", + "where_clause", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, object), + offsetof(PgQuery__OnConflictClause, where_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subname", + "location", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, subname), + offsetof(PgQuery__OnConflictClause, location), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__on_conflict_clause__field_indices_by_name[] = { + 0, /* field[0] = action */ + 1, /* field[1] = infer */ + 4, /* field[4] = location */ + 2, /* field[2] = target_list */ + 3, /* field[3] = where_clause */ +}; +static const ProtobufCIntRange pg_query__on_conflict_clause__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.OnConflictClause", + "OnConflictClause", + "PgQuery__OnConflictClause", + "pg_query", + sizeof(PgQuery__OnConflictClause), + 5, + pg_query__on_conflict_clause__field_descriptors, + pg_query__on_conflict_clause__field_indices_by_name, + 1, pg_query__on_conflict_clause__number_ranges, + (ProtobufCMessageInit) pg_query__on_conflict_clause__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__ctesearch_clause__field_descriptors[4] = +{ + { + "search_col_list", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CTESearchClause, n_search_col_list), + offsetof(PgQuery__CTESearchClause, search_col_list), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newname", - 6, + "search_breadth_first", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, newname), + offsetof(PgQuery__CTESearchClause, search_breadth_first), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", - 7, + "search_seq_column", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__CTESearchClause, search_seq_column), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 8, + "location", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RenameStmt, missing_ok), + offsetof(PgQuery__CTESearchClause, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__rename_stmt__field_indices_by_name[] = { - 6, /* field[6] = behavior */ - 7, /* field[7] = missing_ok */ - 5, /* field[5] = newname */ - 3, /* field[3] = object */ - 2, /* field[2] = relation */ - 1, /* field[1] = relation_type */ - 0, /* field[0] = rename_type */ - 4, /* field[4] = subname */ +static const unsigned pg_query__ctesearch_clause__field_indices_by_name[] = { + 3, /* field[3] = location */ + 1, /* field[1] = search_breadth_first */ + 0, /* field[0] = search_col_list */ + 2, /* field[2] = search_seq_column */ }; -static const ProtobufCIntRange pg_query__rename_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__ctesearch_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__rename_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RenameStmt", - "RenameStmt", - "PgQuery__RenameStmt", + "pg_query.CTESearchClause", + "CTESearchClause", + "PgQuery__CTESearchClause", "pg_query", - sizeof(PgQuery__RenameStmt), - 8, - pg_query__rename_stmt__field_descriptors, - pg_query__rename_stmt__field_indices_by_name, - 1, pg_query__rename_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__rename_stmt__init, + sizeof(PgQuery__CTESearchClause), + 4, + pg_query__ctesearch_clause__field_descriptors, + pg_query__ctesearch_clause__field_indices_by_name, + 1, pg_query__ctesearch_clause__number_ranges, + (ProtobufCMessageInit) pg_query__ctesearch_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__rule_stmt__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__ctecycle_clause__field_descriptors[10] = { { - "relation", + "cycle_col_list", 1, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__CTECycleClause, n_cycle_col_list), + offsetof(PgQuery__CTECycleClause, cycle_col_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rulename", + "cycle_mark_column", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, rulename), + offsetof(PgQuery__CTECycleClause, cycle_mark_column), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "cycle_mark_value", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, where_clause), + offsetof(PgQuery__CTECycleClause, cycle_mark_value), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "event", + "cycle_mark_default", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, event), - &pg_query__cmd_type__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "instead", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, instead), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "actions", - 6, - PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RuleStmt, n_actions), - offsetof(PgQuery__RuleStmt, actions), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "replace", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RuleStmt, replace), - NULL, + offsetof(PgQuery__CTECycleClause, cycle_mark_default), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__rule_stmt__field_indices_by_name[] = { - 5, /* field[5] = actions */ - 3, /* field[3] = event */ - 4, /* field[4] = instead */ - 0, /* field[0] = relation */ - 6, /* field[6] = replace */ - 1, /* field[1] = rulename */ - 2, /* field[2] = where_clause */ -}; -static const ProtobufCIntRange pg_query__rule_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 7 } -}; -const ProtobufCMessageDescriptor pg_query__rule_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RuleStmt", - "RuleStmt", - "PgQuery__RuleStmt", - "pg_query", - sizeof(PgQuery__RuleStmt), - 7, - pg_query__rule_stmt__field_descriptors, - pg_query__rule_stmt__field_indices_by_name, - 1, pg_query__rule_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__rule_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__notify_stmt__field_descriptors[2] = -{ { - "conditionname", - 1, + "cycle_path_column", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__NotifyStmt, conditionname), + offsetof(PgQuery__CTECycleClause, cycle_path_column), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "payload", - 2, + "location", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__NotifyStmt, payload), + offsetof(PgQuery__CTECycleClause, location), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__notify_stmt__field_indices_by_name[] = { - 0, /* field[0] = conditionname */ - 1, /* field[1] = payload */ -}; -static const ProtobufCIntRange pg_query__notify_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__notify_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.NotifyStmt", - "NotifyStmt", - "PgQuery__NotifyStmt", - "pg_query", - sizeof(PgQuery__NotifyStmt), - 2, - pg_query__notify_stmt__field_descriptors, - pg_query__notify_stmt__field_indices_by_name, - 1, pg_query__notify_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__notify_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__listen_stmt__field_descriptors[1] = -{ { - "conditionname", - 1, + "cycle_mark_type", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ListenStmt, conditionname), + offsetof(PgQuery__CTECycleClause, cycle_mark_type), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__listen_stmt__field_indices_by_name[] = { - 0, /* field[0] = conditionname */ -}; -static const ProtobufCIntRange pg_query__listen_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__listen_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ListenStmt", - "ListenStmt", - "PgQuery__ListenStmt", - "pg_query", - sizeof(PgQuery__ListenStmt), - 1, - pg_query__listen_stmt__field_descriptors, - pg_query__listen_stmt__field_indices_by_name, - 1, pg_query__listen_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__listen_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__unlisten_stmt__field_descriptors[1] = -{ { - "conditionname", - 1, + "cycle_mark_typmod", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__UnlistenStmt, conditionname), + offsetof(PgQuery__CTECycleClause, cycle_mark_typmod), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cycle_mark_collation", + 9, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CTECycleClause, cycle_mark_collation), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cycle_mark_neop", + 10, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CTECycleClause, cycle_mark_neop), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__unlisten_stmt__field_indices_by_name[] = { - 0, /* field[0] = conditionname */ +static const unsigned pg_query__ctecycle_clause__field_indices_by_name[] = { + 0, /* field[0] = cycle_col_list */ + 8, /* field[8] = cycle_mark_collation */ + 1, /* field[1] = cycle_mark_column */ + 3, /* field[3] = cycle_mark_default */ + 9, /* field[9] = cycle_mark_neop */ + 6, /* field[6] = cycle_mark_type */ + 7, /* field[7] = cycle_mark_typmod */ + 2, /* field[2] = cycle_mark_value */ + 4, /* field[4] = cycle_path_column */ + 5, /* field[5] = location */ }; -static const ProtobufCIntRange pg_query__unlisten_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__ctecycle_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 10 } }; -const ProtobufCMessageDescriptor pg_query__unlisten_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.UnlistenStmt", - "UnlistenStmt", - "PgQuery__UnlistenStmt", + "pg_query.CTECycleClause", + "CTECycleClause", + "PgQuery__CTECycleClause", "pg_query", - sizeof(PgQuery__UnlistenStmt), - 1, - pg_query__unlisten_stmt__field_descriptors, - pg_query__unlisten_stmt__field_indices_by_name, - 1, pg_query__unlisten_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__unlisten_stmt__init, + sizeof(PgQuery__CTECycleClause), + 10, + pg_query__ctecycle_clause__field_descriptors, + pg_query__ctecycle_clause__field_indices_by_name, + 1, pg_query__ctecycle_clause__number_ranges, + (ProtobufCMessageInit) pg_query__ctecycle_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__transaction_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__common_table_expr__field_descriptors[13] = { { - "kind", + "ctename", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__TransactionStmt, kind), - &pg_query__transaction_stmt_kind__descriptor, + offsetof(PgQuery__CommonTableExpr, ctename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "aliascolnames", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TransactionStmt, n_options), - offsetof(PgQuery__TransactionStmt, options), + offsetof(PgQuery__CommonTableExpr, n_aliascolnames), + offsetof(PgQuery__CommonTableExpr, aliascolnames), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "savepoint_name", + "ctematerialized", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TransactionStmt, savepoint_name), + offsetof(PgQuery__CommonTableExpr, ctematerialized), + &pg_query__ctematerialize__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "gid", + "ctequery", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TransactionStmt, gid), + offsetof(PgQuery__CommonTableExpr, ctequery), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "chain", + "search_clause", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TransactionStmt, chain), - NULL, + offsetof(PgQuery__CommonTableExpr, search_clause), + &pg_query__ctesearch_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__transaction_stmt__field_indices_by_name[] = { - 4, /* field[4] = chain */ - 3, /* field[3] = gid */ - 0, /* field[0] = kind */ - 1, /* field[1] = options */ - 2, /* field[2] = savepoint_name */ -}; -static const ProtobufCIntRange pg_query__transaction_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__transaction_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TransactionStmt", - "TransactionStmt", - "PgQuery__TransactionStmt", - "pg_query", - sizeof(PgQuery__TransactionStmt), - 5, - pg_query__transaction_stmt__field_descriptors, - pg_query__transaction_stmt__field_indices_by_name, - 1, pg_query__transaction_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__transaction_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__view_stmt__field_descriptors[6] = -{ { - "view", - 1, + "cycle_clause", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ViewStmt, view), - &pg_query__range_var__descriptor, + offsetof(PgQuery__CommonTableExpr, cycle_clause), + &pg_query__ctecycle_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "aliases", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ViewStmt, n_aliases), - offsetof(PgQuery__ViewStmt, aliases), - &pg_query__node__descriptor, + "location", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__CommonTableExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query", - 3, + "cterecursive", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ViewStmt, query), - &pg_query__node__descriptor, + offsetof(PgQuery__CommonTableExpr, cterecursive), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "replace", - 4, + "cterefcount", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ViewStmt, replace), + offsetof(PgQuery__CommonTableExpr, cterefcount), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 5, + "ctecolnames", + 10, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ViewStmt, n_options), - offsetof(PgQuery__ViewStmt, options), + offsetof(PgQuery__CommonTableExpr, n_ctecolnames), + offsetof(PgQuery__CommonTableExpr, ctecolnames), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_check_option", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__ViewStmt, with_check_option), - &pg_query__view_check_option__descriptor, + "ctecoltypes", + 11, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecoltypes), + offsetof(PgQuery__CommonTableExpr, ctecoltypes), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__view_stmt__field_indices_by_name[] = { - 1, /* field[1] = aliases */ - 4, /* field[4] = options */ - 2, /* field[2] = query */ - 3, /* field[3] = replace */ - 0, /* field[0] = view */ - 5, /* field[5] = with_check_option */ -}; -static const ProtobufCIntRange pg_query__view_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 6 } -}; -const ProtobufCMessageDescriptor pg_query__view_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ViewStmt", - "ViewStmt", - "PgQuery__ViewStmt", - "pg_query", - sizeof(PgQuery__ViewStmt), - 6, - pg_query__view_stmt__field_descriptors, - pg_query__view_stmt__field_indices_by_name, - 1, pg_query__view_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__view_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__load_stmt__field_descriptors[1] = -{ { - "filename", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__LoadStmt, filename), + "ctecoltypmods", + 12, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecoltypmods), + offsetof(PgQuery__CommonTableExpr, ctecoltypmods), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "ctecolcollations", + 13, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CommonTableExpr, n_ctecolcollations), + offsetof(PgQuery__CommonTableExpr, ctecolcollations), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__load_stmt__field_indices_by_name[] = { - 0, /* field[0] = filename */ +static const unsigned pg_query__common_table_expr__field_indices_by_name[] = { + 1, /* field[1] = aliascolnames */ + 12, /* field[12] = ctecolcollations */ + 9, /* field[9] = ctecolnames */ + 10, /* field[10] = ctecoltypes */ + 11, /* field[11] = ctecoltypmods */ + 2, /* field[2] = ctematerialized */ + 0, /* field[0] = ctename */ + 3, /* field[3] = ctequery */ + 7, /* field[7] = cterecursive */ + 8, /* field[8] = cterefcount */ + 5, /* field[5] = cycle_clause */ + 6, /* field[6] = location */ + 4, /* field[4] = search_clause */ }; -static const ProtobufCIntRange pg_query__load_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__common_table_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 13 } }; -const ProtobufCMessageDescriptor pg_query__load_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.LoadStmt", - "LoadStmt", - "PgQuery__LoadStmt", + "pg_query.CommonTableExpr", + "CommonTableExpr", + "PgQuery__CommonTableExpr", "pg_query", - sizeof(PgQuery__LoadStmt), - 1, - pg_query__load_stmt__field_descriptors, - pg_query__load_stmt__field_indices_by_name, - 1, pg_query__load_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__load_stmt__init, + sizeof(PgQuery__CommonTableExpr), + 13, + pg_query__common_table_expr__field_descriptors, + pg_query__common_table_expr__field_indices_by_name, + 1, pg_query__common_table_expr__number_ranges, + (ProtobufCMessageInit) pg_query__common_table_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_domain_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__merge_when_clause__field_descriptors[6] = { { - "domainname", + "match_kind", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateDomainStmt, n_domainname), - offsetof(PgQuery__CreateDomainStmt, domainname), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeWhenClause, match_kind), + &pg_query__merge_match_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "command_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateDomainStmt, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__MergeWhenClause, command_type), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coll_clause", + "override", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateDomainStmt, coll_clause), - &pg_query__collate_clause__descriptor, + offsetof(PgQuery__MergeWhenClause, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constraints", + "condition", 4, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateDomainStmt, n_constraints), - offsetof(PgQuery__CreateDomainStmt, constraints), + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeWhenClause, condition), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_domain_stmt__field_indices_by_name[] = { - 2, /* field[2] = coll_clause */ - 3, /* field[3] = constraints */ - 0, /* field[0] = domainname */ - 1, /* field[1] = type_name */ -}; -static const ProtobufCIntRange pg_query__create_domain_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__create_domain_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateDomainStmt", - "CreateDomainStmt", - "PgQuery__CreateDomainStmt", - "pg_query", - sizeof(PgQuery__CreateDomainStmt), - 4, - pg_query__create_domain_stmt__field_descriptors, - pg_query__create_domain_stmt__field_indices_by_name, - 1, pg_query__create_domain_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_domain_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__createdb_stmt__field_descriptors[2] = -{ { - "dbname", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreatedbStmt, dbname), + "target_list", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeWhenClause, n_target_list), + offsetof(PgQuery__MergeWhenClause, target_list), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 2, + "values", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatedbStmt, n_options), - offsetof(PgQuery__CreatedbStmt, options), + offsetof(PgQuery__MergeWhenClause, n_values), + offsetof(PgQuery__MergeWhenClause, values), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__createdb_stmt__field_indices_by_name[] = { - 0, /* field[0] = dbname */ - 1, /* field[1] = options */ +static const unsigned pg_query__merge_when_clause__field_indices_by_name[] = { + 1, /* field[1] = command_type */ + 3, /* field[3] = condition */ + 0, /* field[0] = match_kind */ + 2, /* field[2] = override */ + 4, /* field[4] = target_list */ + 5, /* field[5] = values */ }; -static const ProtobufCIntRange pg_query__createdb_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__merge_when_clause__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__createdb_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreatedbStmt", - "CreatedbStmt", - "PgQuery__CreatedbStmt", + "pg_query.MergeWhenClause", + "MergeWhenClause", + "PgQuery__MergeWhenClause", "pg_query", - sizeof(PgQuery__CreatedbStmt), - 2, - pg_query__createdb_stmt__field_descriptors, - pg_query__createdb_stmt__field_indices_by_name, - 1, pg_query__createdb_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__createdb_stmt__init, + sizeof(PgQuery__MergeWhenClause), + 6, + pg_query__merge_when_clause__field_descriptors, + pg_query__merge_when_clause__field_indices_by_name, + 1, pg_query__merge_when_clause__number_ranges, + (ProtobufCMessageInit) pg_query__merge_when_clause__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__dropdb_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__trigger_transition__field_descriptors[3] = { { - "dbname", + "name", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__DropdbStmt, dbname), + offsetof(PgQuery__TriggerTransition, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "is_new", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DropdbStmt, missing_ok), + offsetof(PgQuery__TriggerTransition, is_new), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "options", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DropdbStmt, n_options), - offsetof(PgQuery__DropdbStmt, options), - &pg_query__node__descriptor, + }, + { + "is_table", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__TriggerTransition, is_table), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__dropdb_stmt__field_indices_by_name[] = { - 0, /* field[0] = dbname */ - 1, /* field[1] = missing_ok */ - 2, /* field[2] = options */ +static const unsigned pg_query__trigger_transition__field_indices_by_name[] = { + 1, /* field[1] = is_new */ + 2, /* field[2] = is_table */ + 0, /* field[0] = name */ }; -static const ProtobufCIntRange pg_query__dropdb_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__trigger_transition__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__dropdb_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropdbStmt", - "DropdbStmt", - "PgQuery__DropdbStmt", + "pg_query.TriggerTransition", + "TriggerTransition", + "PgQuery__TriggerTransition", "pg_query", - sizeof(PgQuery__DropdbStmt), + sizeof(PgQuery__TriggerTransition), 3, - pg_query__dropdb_stmt__field_descriptors, - pg_query__dropdb_stmt__field_indices_by_name, - 1, pg_query__dropdb_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__dropdb_stmt__init, + pg_query__trigger_transition__field_descriptors, + pg_query__trigger_transition__field_indices_by_name, + 1, pg_query__trigger_transition__number_ranges, + (ProtobufCMessageInit) pg_query__trigger_transition__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__vacuum_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__json_output__field_descriptors[2] = { { - "options", + "type_name", 1, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__VacuumStmt, n_options), - offsetof(PgQuery__VacuumStmt, options), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonOutput, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rels", + "returning", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__VacuumStmt, n_rels), - offsetof(PgQuery__VacuumStmt, rels), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "is_vacuumcmd", - 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VacuumStmt, is_vacuumcmd), - NULL, + offsetof(PgQuery__JsonOutput, returning), + &pg_query__json_returning__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__vacuum_stmt__field_indices_by_name[] = { - 2, /* field[2] = is_vacuumcmd */ - 0, /* field[0] = options */ - 1, /* field[1] = rels */ +static const unsigned pg_query__json_output__field_indices_by_name[] = { + 1, /* field[1] = returning */ + 0, /* field[0] = type_name */ }; -static const ProtobufCIntRange pg_query__vacuum_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_output__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__vacuum_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_output__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.VacuumStmt", - "VacuumStmt", - "PgQuery__VacuumStmt", + "pg_query.JsonOutput", + "JsonOutput", + "PgQuery__JsonOutput", "pg_query", - sizeof(PgQuery__VacuumStmt), - 3, - pg_query__vacuum_stmt__field_descriptors, - pg_query__vacuum_stmt__field_indices_by_name, - 1, pg_query__vacuum_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__vacuum_stmt__init, + sizeof(PgQuery__JsonOutput), + 2, + pg_query__json_output__field_descriptors, + pg_query__json_output__field_indices_by_name, + 1, pg_query__json_output__number_ranges, + (ProtobufCMessageInit) pg_query__json_output__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__explain_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_argument__field_descriptors[2] = { { - "query", + "val", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ExplainStmt, query), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonArgument, val), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "name", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ExplainStmt, n_options), - offsetof(PgQuery__ExplainStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArgument, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__explain_stmt__field_indices_by_name[] = { - 1, /* field[1] = options */ - 0, /* field[0] = query */ +static const unsigned pg_query__json_argument__field_indices_by_name[] = { + 1, /* field[1] = name */ + 0, /* field[0] = val */ }; -static const ProtobufCIntRange pg_query__explain_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_argument__number_ranges[1 + 1] = { { 1, 0 }, { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__explain_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_argument__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ExplainStmt", - "ExplainStmt", - "PgQuery__ExplainStmt", + "pg_query.JsonArgument", + "JsonArgument", + "PgQuery__JsonArgument", "pg_query", - sizeof(PgQuery__ExplainStmt), + sizeof(PgQuery__JsonArgument), 2, - pg_query__explain_stmt__field_descriptors, - pg_query__explain_stmt__field_indices_by_name, - 1, pg_query__explain_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__explain_stmt__init, + pg_query__json_argument__field_descriptors, + pg_query__json_argument__field_indices_by_name, + 1, pg_query__json_argument__number_ranges, + (ProtobufCMessageInit) pg_query__json_argument__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_table_as_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__json_func_expr__field_descriptors[11] = { { - "query", + "op", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableAsStmt, query), - &pg_query__node__descriptor, + offsetof(PgQuery__JsonFuncExpr, op), + &pg_query__json_expr_op__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "into", + "column_name", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableAsStmt, into), - &pg_query__into_clause__descriptor, + offsetof(PgQuery__JsonFuncExpr, column_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "objtype", + "context_item", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableAsStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__JsonFuncExpr, context_item), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_select_into", + "pathspec", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableAsStmt, is_select_into), - NULL, + offsetof(PgQuery__JsonFuncExpr, pathspec), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", + "passing", 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonFuncExpr, n_passing), + offsetof(PgQuery__JsonFuncExpr, passing), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "output", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableAsStmt, if_not_exists), - NULL, + offsetof(PgQuery__JsonFuncExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_table_as_stmt__field_indices_by_name[] = { - 4, /* field[4] = if_not_exists */ - 1, /* field[1] = into */ - 3, /* field[3] = is_select_into */ - 2, /* field[2] = objtype */ - 0, /* field[0] = query */ -}; -static const ProtobufCIntRange pg_query__create_table_as_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__create_table_as_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateTableAsStmt", - "CreateTableAsStmt", - "PgQuery__CreateTableAsStmt", - "pg_query", - sizeof(PgQuery__CreateTableAsStmt), - 5, - pg_query__create_table_as_stmt__field_descriptors, - pg_query__create_table_as_stmt__field_indices_by_name, - 1, pg_query__create_table_as_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_table_as_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_seq_stmt__field_descriptors[5] = -{ { - "sequence", - 1, + "on_empty", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSeqStmt, sequence), - &pg_query__range_var__descriptor, + offsetof(PgQuery__JsonFuncExpr, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 2, - PROTOBUF_C_LABEL_REPEATED, + "on_error", + 8, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateSeqStmt, n_options), - offsetof(PgQuery__CreateSeqStmt, options), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonFuncExpr, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "owner_id", - 3, + "wrapper", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSeqStmt, owner_id), - NULL, + offsetof(PgQuery__JsonFuncExpr, wrapper), + &pg_query__json_wrapper__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "for_identity", - 4, + "quotes", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSeqStmt, for_identity), - NULL, + offsetof(PgQuery__JsonFuncExpr, quotes), + &pg_query__json_quotes__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 5, + "location", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSeqStmt, if_not_exists), + offsetof(PgQuery__JsonFuncExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_seq_stmt__field_indices_by_name[] = { - 3, /* field[3] = for_identity */ - 4, /* field[4] = if_not_exists */ - 1, /* field[1] = options */ - 2, /* field[2] = owner_id */ - 0, /* field[0] = sequence */ +static const unsigned pg_query__json_func_expr__field_indices_by_name[] = { + 1, /* field[1] = column_name */ + 2, /* field[2] = context_item */ + 10, /* field[10] = location */ + 6, /* field[6] = on_empty */ + 7, /* field[7] = on_error */ + 0, /* field[0] = op */ + 5, /* field[5] = output */ + 4, /* field[4] = passing */ + 3, /* field[3] = pathspec */ + 9, /* field[9] = quotes */ + 8, /* field[8] = wrapper */ }; -static const ProtobufCIntRange pg_query__create_seq_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_func_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 11 } }; -const ProtobufCMessageDescriptor pg_query__create_seq_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_func_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateSeqStmt", - "CreateSeqStmt", - "PgQuery__CreateSeqStmt", + "pg_query.JsonFuncExpr", + "JsonFuncExpr", + "PgQuery__JsonFuncExpr", "pg_query", - sizeof(PgQuery__CreateSeqStmt), - 5, - pg_query__create_seq_stmt__field_descriptors, - pg_query__create_seq_stmt__field_indices_by_name, - 1, pg_query__create_seq_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_seq_stmt__init, + sizeof(PgQuery__JsonFuncExpr), + 11, + pg_query__json_func_expr__field_descriptors, + pg_query__json_func_expr__field_indices_by_name, + 1, pg_query__json_func_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_func_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_seq_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_table_path_spec__field_descriptors[4] = { { - "sequence", + "string", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSeqStmt, sequence), - &pg_query__range_var__descriptor, + offsetof(PgQuery__JsonTablePathSpec, string), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "name", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterSeqStmt, n_options), - offsetof(PgQuery__AlterSeqStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTablePathSpec, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "for_identity", + "name_location", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSeqStmt, for_identity), + offsetof(PgQuery__JsonTablePathSpec, name_location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "location", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSeqStmt, missing_ok), + offsetof(PgQuery__JsonTablePathSpec, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_seq_stmt__field_indices_by_name[] = { - 2, /* field[2] = for_identity */ - 3, /* field[3] = missing_ok */ - 1, /* field[1] = options */ - 0, /* field[0] = sequence */ +static const unsigned pg_query__json_table_path_spec__field_indices_by_name[] = { + 3, /* field[3] = location */ + 1, /* field[1] = name */ + 2, /* field[2] = name_location */ + 0, /* field[0] = string */ }; -static const ProtobufCIntRange pg_query__alter_seq_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_path_spec__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_seq_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_path_spec__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterSeqStmt", - "AlterSeqStmt", - "PgQuery__AlterSeqStmt", + "pg_query.JsonTablePathSpec", + "JsonTablePathSpec", + "PgQuery__JsonTablePathSpec", "pg_query", - sizeof(PgQuery__AlterSeqStmt), + sizeof(PgQuery__JsonTablePathSpec), 4, - pg_query__alter_seq_stmt__field_descriptors, - pg_query__alter_seq_stmt__field_indices_by_name, - 1, pg_query__alter_seq_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_seq_stmt__init, + pg_query__json_table_path_spec__field_descriptors, + pg_query__json_table_path_spec__field_indices_by_name, + 1, pg_query__json_table_path_spec__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_path_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__variable_set_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_table__field_descriptors[8] = { { - "kind", + "context_item", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VariableSetStmt, kind), - &pg_query__variable_set_kind__descriptor, + offsetof(PgQuery__JsonTable, context_item), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "pathspec", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VariableSetStmt, name), + offsetof(PgQuery__JsonTable, pathspec), + &pg_query__json_table_path_spec__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "passing", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__VariableSetStmt, n_args), - offsetof(PgQuery__VariableSetStmt, args), + offsetof(PgQuery__JsonTable, n_passing), + offsetof(PgQuery__JsonTable, passing), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_local", + "columns", 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__JsonTable, n_columns), + offsetof(PgQuery__JsonTable, columns), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "on_error", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VariableSetStmt, is_local), + offsetof(PgQuery__JsonTable, on_error), + &pg_query__json_behavior__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "alias", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonTable, alias), + &pg_query__alias__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__variable_set_stmt__field_indices_by_name[] = { - 2, /* field[2] = args */ - 3, /* field[3] = is_local */ - 0, /* field[0] = kind */ - 1, /* field[1] = name */ -}; -static const ProtobufCIntRange pg_query__variable_set_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__variable_set_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.VariableSetStmt", - "VariableSetStmt", - "PgQuery__VariableSetStmt", - "pg_query", - sizeof(PgQuery__VariableSetStmt), - 4, - pg_query__variable_set_stmt__field_descriptors, - pg_query__variable_set_stmt__field_indices_by_name, - 1, pg_query__variable_set_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__variable_set_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__variable_show_stmt__field_descriptors[1] = -{ { - "name", - 1, + "lateral", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__VariableShowStmt, name), + offsetof(PgQuery__JsonTable, lateral), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__variable_show_stmt__field_indices_by_name[] = { - 0, /* field[0] = name */ -}; -static const ProtobufCIntRange pg_query__variable_show_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__variable_show_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.VariableShowStmt", - "VariableShowStmt", - "PgQuery__VariableShowStmt", - "pg_query", - sizeof(PgQuery__VariableShowStmt), - 1, - pg_query__variable_show_stmt__field_descriptors, - pg_query__variable_show_stmt__field_indices_by_name, - 1, pg_query__variable_show_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__variable_show_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__discard_stmt__field_descriptors[1] = -{ { - "target", - 1, + "location", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DiscardStmt, target), - &pg_query__discard_mode__descriptor, + offsetof(PgQuery__JsonTable, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__discard_stmt__field_indices_by_name[] = { - 0, /* field[0] = target */ +static const unsigned pg_query__json_table__field_indices_by_name[] = { + 5, /* field[5] = alias */ + 3, /* field[3] = columns */ + 0, /* field[0] = context_item */ + 6, /* field[6] = lateral */ + 7, /* field[7] = location */ + 4, /* field[4] = on_error */ + 2, /* field[2] = passing */ + 1, /* field[1] = pathspec */ }; -static const ProtobufCIntRange pg_query__discard_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__discard_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DiscardStmt", - "DiscardStmt", - "PgQuery__DiscardStmt", + "pg_query.JsonTable", + "JsonTable", + "PgQuery__JsonTable", "pg_query", - sizeof(PgQuery__DiscardStmt), - 1, - pg_query__discard_stmt__field_descriptors, - pg_query__discard_stmt__field_indices_by_name, - 1, pg_query__discard_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__discard_stmt__init, + sizeof(PgQuery__JsonTable), + 8, + pg_query__json_table__field_descriptors, + pg_query__json_table__field_indices_by_name, + 1, pg_query__json_table__number_ranges, + (ProtobufCMessageInit) pg_query__json_table__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_trig_stmt__field_descriptors[15] = +static const ProtobufCFieldDescriptor pg_query__json_table_column__field_descriptors[11] = { { - "replace", + "coltype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, replace), - NULL, + offsetof(PgQuery__JsonTableColumn, coltype), + &pg_query__json_table_column_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "isconstraint", + "name", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, isconstraint), - NULL, + offsetof(PgQuery__JsonTableColumn, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "trigname", + "type_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, trigname), + offsetof(PgQuery__JsonTableColumn, type_name), + &pg_query__type_name__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "pathspec", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__JsonTableColumn, pathspec), + &pg_query__json_table_path_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcname", + "format", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateTrigStmt, n_funcname), - offsetof(PgQuery__CreateTrigStmt, funcname), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "args", - 6, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateTrigStmt, n_args), - offsetof(PgQuery__CreateTrigStmt, args), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "row", - 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, row), - NULL, + offsetof(PgQuery__JsonTableColumn, format), + &pg_query__json_format__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "timing", - 8, + "wrapper", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, timing), - NULL, + offsetof(PgQuery__JsonTableColumn, wrapper), + &pg_query__json_wrapper__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "events", - 9, + "quotes", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, events), - NULL, + offsetof(PgQuery__JsonTableColumn, quotes), + &pg_query__json_quotes__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "columns", - 10, + 8, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateTrigStmt, n_columns), - offsetof(PgQuery__CreateTrigStmt, columns), + offsetof(PgQuery__JsonTableColumn, n_columns), + offsetof(PgQuery__JsonTableColumn, columns), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "when_clause", - 11, + "on_empty", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, when_clause), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "transition_rels", - 12, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateTrigStmt, n_transition_rels), - offsetof(PgQuery__CreateTrigStmt, transition_rels), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "deferrable", - 13, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, deferrable), - NULL, + offsetof(PgQuery__JsonTableColumn, on_empty), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "initdeferred", - 14, + "on_error", + 10, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, initdeferred), - NULL, + offsetof(PgQuery__JsonTableColumn, on_error), + &pg_query__json_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "constrrel", - 15, + "location", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTrigStmt, constrrel), - &pg_query__range_var__descriptor, + offsetof(PgQuery__JsonTableColumn, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_trig_stmt__field_indices_by_name[] = { - 5, /* field[5] = args */ - 9, /* field[9] = columns */ - 14, /* field[14] = constrrel */ - 12, /* field[12] = deferrable */ - 8, /* field[8] = events */ - 4, /* field[4] = funcname */ - 13, /* field[13] = initdeferred */ - 1, /* field[1] = isconstraint */ - 3, /* field[3] = relation */ - 0, /* field[0] = replace */ - 6, /* field[6] = row */ - 7, /* field[7] = timing */ - 11, /* field[11] = transition_rels */ - 2, /* field[2] = trigname */ - 10, /* field[10] = when_clause */ +static const unsigned pg_query__json_table_column__field_indices_by_name[] = { + 0, /* field[0] = coltype */ + 7, /* field[7] = columns */ + 4, /* field[4] = format */ + 10, /* field[10] = location */ + 1, /* field[1] = name */ + 8, /* field[8] = on_empty */ + 9, /* field[9] = on_error */ + 3, /* field[3] = pathspec */ + 6, /* field[6] = quotes */ + 2, /* field[2] = type_name */ + 5, /* field[5] = wrapper */ }; -static const ProtobufCIntRange pg_query__create_trig_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_table_column__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 15 } + { 0, 11 } }; -const ProtobufCMessageDescriptor pg_query__create_trig_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_table_column__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateTrigStmt", - "CreateTrigStmt", - "PgQuery__CreateTrigStmt", + "pg_query.JsonTableColumn", + "JsonTableColumn", + "PgQuery__JsonTableColumn", "pg_query", - sizeof(PgQuery__CreateTrigStmt), - 15, - pg_query__create_trig_stmt__field_descriptors, - pg_query__create_trig_stmt__field_indices_by_name, - 1, pg_query__create_trig_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_trig_stmt__init, + sizeof(PgQuery__JsonTableColumn), + 11, + pg_query__json_table_column__field_descriptors, + pg_query__json_table_column__field_indices_by_name, + 1, pg_query__json_table_column__number_ranges, + (ProtobufCMessageInit) pg_query__json_table_column__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_plang_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__json_key_value__field_descriptors[2] = { { - "replace", + "key", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePLangStmt, replace), - NULL, + offsetof(PgQuery__JsonKeyValue, key), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "plname", + "value", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePLangStmt, plname), + offsetof(PgQuery__JsonKeyValue, value), + &pg_query__json_value_expr__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__json_key_value__field_indices_by_name[] = { + 0, /* field[0] = key */ + 1, /* field[1] = value */ +}; +static const ProtobufCIntRange pg_query__json_key_value__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__json_key_value__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.JsonKeyValue", + "JsonKeyValue", + "PgQuery__JsonKeyValue", + "pg_query", + sizeof(PgQuery__JsonKeyValue), + 2, + pg_query__json_key_value__field_descriptors, + pg_query__json_key_value__field_indices_by_name, + 1, pg_query__json_key_value__number_ranges, + (ProtobufCMessageInit) pg_query__json_key_value__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__json_parse_expr__field_descriptors[4] = +{ { - "plhandler", - 3, - PROTOBUF_C_LABEL_REPEATED, + "expr", + 1, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePLangStmt, n_plhandler), - offsetof(PgQuery__CreatePLangStmt, plhandler), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonParseExpr, expr), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "plinline", - 4, - PROTOBUF_C_LABEL_REPEATED, + "output", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePLangStmt, n_plinline), - offsetof(PgQuery__CreatePLangStmt, plinline), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonParseExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "plvalidator", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePLangStmt, n_plvalidator), - offsetof(PgQuery__CreatePLangStmt, plvalidator), - &pg_query__node__descriptor, + "unique_keys", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonParseExpr, unique_keys), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pltrusted", - 6, + "location", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePLangStmt, pltrusted), + offsetof(PgQuery__JsonParseExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_plang_stmt__field_indices_by_name[] = { - 2, /* field[2] = plhandler */ - 3, /* field[3] = plinline */ - 1, /* field[1] = plname */ - 5, /* field[5] = pltrusted */ - 4, /* field[4] = plvalidator */ - 0, /* field[0] = replace */ +static const unsigned pg_query__json_parse_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 3, /* field[3] = location */ + 1, /* field[1] = output */ + 2, /* field[2] = unique_keys */ }; -static const ProtobufCIntRange pg_query__create_plang_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_parse_expr__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__create_plang_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_parse_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreatePLangStmt", - "CreatePLangStmt", - "PgQuery__CreatePLangStmt", + "pg_query.JsonParseExpr", + "JsonParseExpr", + "PgQuery__JsonParseExpr", "pg_query", - sizeof(PgQuery__CreatePLangStmt), - 6, - pg_query__create_plang_stmt__field_descriptors, - pg_query__create_plang_stmt__field_indices_by_name, - 1, pg_query__create_plang_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_plang_stmt__init, + sizeof(PgQuery__JsonParseExpr), + 4, + pg_query__json_parse_expr__field_descriptors, + pg_query__json_parse_expr__field_indices_by_name, + 1, pg_query__json_parse_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_parse_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_role_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__json_scalar_expr__field_descriptors[3] = { { - "stmt_type", + "expr", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateRoleStmt, stmt_type), - &pg_query__role_stmt_type__descriptor, + offsetof(PgQuery__JsonScalarExpr, expr), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "role", + "output", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateRoleStmt, role), + offsetof(PgQuery__JsonScalarExpr, output), + &pg_query__json_output__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "location", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateRoleStmt, n_options), - offsetof(PgQuery__CreateRoleStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonScalarExpr, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_role_stmt__field_indices_by_name[] = { - 2, /* field[2] = options */ - 1, /* field[1] = role */ - 0, /* field[0] = stmt_type */ +static const unsigned pg_query__json_scalar_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 2, /* field[2] = location */ + 1, /* field[1] = output */ }; -static const ProtobufCIntRange pg_query__create_role_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_scalar_expr__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__create_role_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_scalar_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateRoleStmt", - "CreateRoleStmt", - "PgQuery__CreateRoleStmt", + "pg_query.JsonScalarExpr", + "JsonScalarExpr", + "PgQuery__JsonScalarExpr", "pg_query", - sizeof(PgQuery__CreateRoleStmt), + sizeof(PgQuery__JsonScalarExpr), 3, - pg_query__create_role_stmt__field_descriptors, - pg_query__create_role_stmt__field_indices_by_name, - 1, pg_query__create_role_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_role_stmt__init, + pg_query__json_scalar_expr__field_descriptors, + pg_query__json_scalar_expr__field_indices_by_name, + 1, pg_query__json_scalar_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_scalar_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_role_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__json_serialize_expr__field_descriptors[3] = { { - "role", + "expr", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterRoleStmt, role), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__JsonSerializeExpr, expr), + &pg_query__json_value_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "output", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterRoleStmt, n_options), - offsetof(PgQuery__AlterRoleStmt, options), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonSerializeExpr, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "action", + "location", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterRoleStmt, action), + offsetof(PgQuery__JsonSerializeExpr, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_role_stmt__field_indices_by_name[] = { - 2, /* field[2] = action */ - 1, /* field[1] = options */ - 0, /* field[0] = role */ +static const unsigned pg_query__json_serialize_expr__field_indices_by_name[] = { + 0, /* field[0] = expr */ + 2, /* field[2] = location */ + 1, /* field[1] = output */ }; -static const ProtobufCIntRange pg_query__alter_role_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_serialize_expr__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__alter_role_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_serialize_expr__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterRoleStmt", - "AlterRoleStmt", - "PgQuery__AlterRoleStmt", + "pg_query.JsonSerializeExpr", + "JsonSerializeExpr", + "PgQuery__JsonSerializeExpr", "pg_query", - sizeof(PgQuery__AlterRoleStmt), + sizeof(PgQuery__JsonSerializeExpr), 3, - pg_query__alter_role_stmt__field_descriptors, - pg_query__alter_role_stmt__field_indices_by_name, - 1, pg_query__alter_role_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_role_stmt__init, + pg_query__json_serialize_expr__field_descriptors, + pg_query__json_serialize_expr__field_indices_by_name, + 1, pg_query__json_serialize_expr__number_ranges, + (ProtobufCMessageInit) pg_query__json_serialize_expr__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__drop_role_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_object_constructor__field_descriptors[5] = { { - "roles", + "exprs", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DropRoleStmt, n_roles), - offsetof(PgQuery__DropRoleStmt, roles), + offsetof(PgQuery__JsonObjectConstructor, n_exprs), + offsetof(PgQuery__JsonObjectConstructor, exprs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "output", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropRoleStmt, missing_ok), - NULL, + offsetof(PgQuery__JsonObjectConstructor, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__drop_role_stmt__field_indices_by_name[] = { - 1, /* field[1] = missing_ok */ - 0, /* field[0] = roles */ -}; -static const ProtobufCIntRange pg_query__drop_role_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__drop_role_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropRoleStmt", - "DropRoleStmt", - "PgQuery__DropRoleStmt", - "pg_query", - sizeof(PgQuery__DropRoleStmt), - 2, - pg_query__drop_role_stmt__field_descriptors, - pg_query__drop_role_stmt__field_indices_by_name, - 1, pg_query__drop_role_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_role_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__lock_stmt__field_descriptors[3] = -{ { - "relations", - 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__LockStmt, n_relations), - offsetof(PgQuery__LockStmt, relations), - &pg_query__node__descriptor, + "absent_on_null", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonObjectConstructor, absent_on_null), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "mode", - 2, + "unique", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__LockStmt, mode), + offsetof(PgQuery__JsonObjectConstructor, unique), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nowait", - 3, + "location", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__LockStmt, nowait), + offsetof(PgQuery__JsonObjectConstructor, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__lock_stmt__field_indices_by_name[] = { - 1, /* field[1] = mode */ - 2, /* field[2] = nowait */ - 0, /* field[0] = relations */ +static const unsigned pg_query__json_object_constructor__field_indices_by_name[] = { + 2, /* field[2] = absent_on_null */ + 0, /* field[0] = exprs */ + 4, /* field[4] = location */ + 1, /* field[1] = output */ + 3, /* field[3] = unique */ }; -static const ProtobufCIntRange pg_query__lock_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_object_constructor__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__lock_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_object_constructor__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.LockStmt", - "LockStmt", - "PgQuery__LockStmt", + "pg_query.JsonObjectConstructor", + "JsonObjectConstructor", + "PgQuery__JsonObjectConstructor", "pg_query", - sizeof(PgQuery__LockStmt), - 3, - pg_query__lock_stmt__field_descriptors, - pg_query__lock_stmt__field_indices_by_name, - 1, pg_query__lock_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__lock_stmt__init, + sizeof(PgQuery__JsonObjectConstructor), + 5, + pg_query__json_object_constructor__field_descriptors, + pg_query__json_object_constructor__field_indices_by_name, + 1, pg_query__json_object_constructor__number_ranges, + (ProtobufCMessageInit) pg_query__json_object_constructor__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__constraints_set_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_array_constructor__field_descriptors[4] = { { - "constraints", + "exprs", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ConstraintsSetStmt, n_constraints), - offsetof(PgQuery__ConstraintsSetStmt, constraints), + offsetof(PgQuery__JsonArrayConstructor, n_exprs), + offsetof(PgQuery__JsonArrayConstructor, exprs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "deferred", + "output", 2, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArrayConstructor, output), + &pg_query__json_output__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "absent_on_null", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ConstraintsSetStmt, deferred), + offsetof(PgQuery__JsonArrayConstructor, absent_on_null), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArrayConstructor, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__constraints_set_stmt__field_indices_by_name[] = { - 0, /* field[0] = constraints */ - 1, /* field[1] = deferred */ +static const unsigned pg_query__json_array_constructor__field_indices_by_name[] = { + 2, /* field[2] = absent_on_null */ + 0, /* field[0] = exprs */ + 3, /* field[3] = location */ + 1, /* field[1] = output */ }; -static const ProtobufCIntRange pg_query__constraints_set_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_array_constructor__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__constraints_set_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_array_constructor__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ConstraintsSetStmt", - "ConstraintsSetStmt", - "PgQuery__ConstraintsSetStmt", + "pg_query.JsonArrayConstructor", + "JsonArrayConstructor", + "PgQuery__JsonArrayConstructor", "pg_query", - sizeof(PgQuery__ConstraintsSetStmt), - 2, - pg_query__constraints_set_stmt__field_descriptors, - pg_query__constraints_set_stmt__field_indices_by_name, - 1, pg_query__constraints_set_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__constraints_set_stmt__init, + sizeof(PgQuery__JsonArrayConstructor), + 4, + pg_query__json_array_constructor__field_descriptors, + pg_query__json_array_constructor__field_indices_by_name, + 1, pg_query__json_array_constructor__number_ranges, + (ProtobufCMessageInit) pg_query__json_array_constructor__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__reindex_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_array_query_constructor__field_descriptors[5] = { { - "kind", + "query", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ReindexStmt, kind), - &pg_query__reindex_object_type__descriptor, + offsetof(PgQuery__JsonArrayQueryConstructor, query), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "output", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ReindexStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__JsonArrayQueryConstructor, output), + &pg_query__json_output__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "format", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ReindexStmt, name), + offsetof(PgQuery__JsonArrayQueryConstructor, format), + &pg_query__json_format__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "params", + "absent_on_null", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ReindexStmt, n_params), - offsetof(PgQuery__ReindexStmt, params), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArrayQueryConstructor, absent_on_null), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArrayQueryConstructor, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__reindex_stmt__field_indices_by_name[] = { - 0, /* field[0] = kind */ - 2, /* field[2] = name */ - 3, /* field[3] = params */ - 1, /* field[1] = relation */ +static const unsigned pg_query__json_array_query_constructor__field_indices_by_name[] = { + 3, /* field[3] = absent_on_null */ + 2, /* field[2] = format */ + 4, /* field[4] = location */ + 1, /* field[1] = output */ + 0, /* field[0] = query */ }; -static const ProtobufCIntRange pg_query__reindex_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_array_query_constructor__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__reindex_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ReindexStmt", - "ReindexStmt", - "PgQuery__ReindexStmt", - "pg_query", - sizeof(PgQuery__ReindexStmt), - 4, - pg_query__reindex_stmt__field_descriptors, - pg_query__reindex_stmt__field_indices_by_name, - 1, pg_query__reindex_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__reindex_stmt__init, - NULL,NULL,NULL /* reserved[123] */ + { 0, 5 } }; -#define pg_query__check_point_stmt__field_descriptors NULL -#define pg_query__check_point_stmt__field_indices_by_name NULL -#define pg_query__check_point_stmt__number_ranges NULL -const ProtobufCMessageDescriptor pg_query__check_point_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_array_query_constructor__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CheckPointStmt", - "CheckPointStmt", - "PgQuery__CheckPointStmt", + "pg_query.JsonArrayQueryConstructor", + "JsonArrayQueryConstructor", + "PgQuery__JsonArrayQueryConstructor", "pg_query", - sizeof(PgQuery__CheckPointStmt), - 0, - pg_query__check_point_stmt__field_descriptors, - pg_query__check_point_stmt__field_indices_by_name, - 0, pg_query__check_point_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__check_point_stmt__init, + sizeof(PgQuery__JsonArrayQueryConstructor), + 5, + pg_query__json_array_query_constructor__field_descriptors, + pg_query__json_array_query_constructor__field_indices_by_name, + 1, pg_query__json_array_query_constructor__number_ranges, + (ProtobufCMessageInit) pg_query__json_array_query_constructor__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_schema_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__json_agg_constructor__field_descriptors[5] = { { - "schemaname", + "output", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSchemaStmt, schemaname), + offsetof(PgQuery__JsonAggConstructor, output), + &pg_query__json_output__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "authrole", + "agg_filter", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSchemaStmt, authrole), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__JsonAggConstructor, agg_filter), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "schema_elts", + "agg_order", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateSchemaStmt, n_schema_elts), - offsetof(PgQuery__CreateSchemaStmt, schema_elts), + offsetof(PgQuery__JsonAggConstructor, n_agg_order), + offsetof(PgQuery__JsonAggConstructor, agg_order), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", + "over", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSchemaStmt, if_not_exists), + offsetof(PgQuery__JsonAggConstructor, over), + &pg_query__window_def__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonAggConstructor, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_schema_stmt__field_indices_by_name[] = { - 1, /* field[1] = authrole */ - 3, /* field[3] = if_not_exists */ - 2, /* field[2] = schema_elts */ - 0, /* field[0] = schemaname */ +static const unsigned pg_query__json_agg_constructor__field_indices_by_name[] = { + 1, /* field[1] = agg_filter */ + 2, /* field[2] = agg_order */ + 4, /* field[4] = location */ + 0, /* field[0] = output */ + 3, /* field[3] = over */ }; -static const ProtobufCIntRange pg_query__create_schema_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_agg_constructor__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__create_schema_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_agg_constructor__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateSchemaStmt", - "CreateSchemaStmt", - "PgQuery__CreateSchemaStmt", + "pg_query.JsonAggConstructor", + "JsonAggConstructor", + "PgQuery__JsonAggConstructor", "pg_query", - sizeof(PgQuery__CreateSchemaStmt), - 4, - pg_query__create_schema_stmt__field_descriptors, - pg_query__create_schema_stmt__field_indices_by_name, - 1, pg_query__create_schema_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_schema_stmt__init, + sizeof(PgQuery__JsonAggConstructor), + 5, + pg_query__json_agg_constructor__field_descriptors, + pg_query__json_agg_constructor__field_indices_by_name, + 1, pg_query__json_agg_constructor__number_ranges, + (ProtobufCMessageInit) pg_query__json_agg_constructor__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_database_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_object_agg__field_descriptors[4] = { { - "dbname", + "constructor", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDatabaseStmt, dbname), + offsetof(PgQuery__JsonObjectAgg, constructor), + &pg_query__json_agg_constructor__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "arg", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterDatabaseStmt, n_options), - offsetof(PgQuery__AlterDatabaseStmt, options), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonObjectAgg, arg), + &pg_query__json_key_value__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_database_stmt__field_indices_by_name[] = { - 0, /* field[0] = dbname */ - 1, /* field[1] = options */ -}; -static const ProtobufCIntRange pg_query__alter_database_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__alter_database_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterDatabaseStmt", - "AlterDatabaseStmt", - "PgQuery__AlterDatabaseStmt", - "pg_query", - sizeof(PgQuery__AlterDatabaseStmt), - 2, - pg_query__alter_database_stmt__field_descriptors, - pg_query__alter_database_stmt__field_indices_by_name, - 1, pg_query__alter_database_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_database_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_database_refresh_coll_stmt__field_descriptors[1] = -{ { - "dbname", - 1, + "absent_on_null", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonObjectAgg, absent_on_null), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "unique", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDatabaseRefreshCollStmt, dbname), + offsetof(PgQuery__JsonObjectAgg, unique), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_database_refresh_coll_stmt__field_indices_by_name[] = { - 0, /* field[0] = dbname */ +static const unsigned pg_query__json_object_agg__field_indices_by_name[] = { + 2, /* field[2] = absent_on_null */ + 1, /* field[1] = arg */ + 0, /* field[0] = constructor */ + 3, /* field[3] = unique */ }; -static const ProtobufCIntRange pg_query__alter_database_refresh_coll_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_object_agg__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_database_refresh_coll_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_object_agg__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterDatabaseRefreshCollStmt", - "AlterDatabaseRefreshCollStmt", - "PgQuery__AlterDatabaseRefreshCollStmt", + "pg_query.JsonObjectAgg", + "JsonObjectAgg", + "PgQuery__JsonObjectAgg", "pg_query", - sizeof(PgQuery__AlterDatabaseRefreshCollStmt), - 1, - pg_query__alter_database_refresh_coll_stmt__field_descriptors, - pg_query__alter_database_refresh_coll_stmt__field_indices_by_name, - 1, pg_query__alter_database_refresh_coll_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_database_refresh_coll_stmt__init, + sizeof(PgQuery__JsonObjectAgg), + 4, + pg_query__json_object_agg__field_descriptors, + pg_query__json_object_agg__field_indices_by_name, + 1, pg_query__json_object_agg__number_ranges, + (ProtobufCMessageInit) pg_query__json_object_agg__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_database_set_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__json_array_agg__field_descriptors[3] = { { - "dbname", + "constructor", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDatabaseSetStmt, dbname), + offsetof(PgQuery__JsonArrayAgg, constructor), + &pg_query__json_agg_constructor__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "setstmt", + "arg", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterDatabaseSetStmt, setstmt), - &pg_query__variable_set_stmt__descriptor, + offsetof(PgQuery__JsonArrayAgg, arg), + &pg_query__json_value_expr__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "absent_on_null", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__JsonArrayAgg, absent_on_null), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_database_set_stmt__field_indices_by_name[] = { - 0, /* field[0] = dbname */ - 1, /* field[1] = setstmt */ +static const unsigned pg_query__json_array_agg__field_indices_by_name[] = { + 2, /* field[2] = absent_on_null */ + 1, /* field[1] = arg */ + 0, /* field[0] = constructor */ }; -static const ProtobufCIntRange pg_query__alter_database_set_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__json_array_agg__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__alter_database_set_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__json_array_agg__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterDatabaseSetStmt", - "AlterDatabaseSetStmt", - "PgQuery__AlterDatabaseSetStmt", + "pg_query.JsonArrayAgg", + "JsonArrayAgg", + "PgQuery__JsonArrayAgg", "pg_query", - sizeof(PgQuery__AlterDatabaseSetStmt), - 2, - pg_query__alter_database_set_stmt__field_descriptors, - pg_query__alter_database_set_stmt__field_indices_by_name, - 1, pg_query__alter_database_set_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_database_set_stmt__init, + sizeof(PgQuery__JsonArrayAgg), + 3, + pg_query__json_array_agg__field_descriptors, + pg_query__json_array_agg__field_indices_by_name, + 1, pg_query__json_array_agg__number_ranges, + (ProtobufCMessageInit) pg_query__json_array_agg__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_role_set_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__raw_stmt__field_descriptors[3] = { { - "role", + "stmt", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterRoleSetStmt, role), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__RawStmt, stmt), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "database", + "stmt_location", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterRoleSetStmt, database), + offsetof(PgQuery__RawStmt, stmt_location), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "setstmt", + "stmt_len", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterRoleSetStmt, setstmt), - &pg_query__variable_set_stmt__descriptor, + offsetof(PgQuery__RawStmt, stmt_len), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_role_set_stmt__field_indices_by_name[] = { - 1, /* field[1] = database */ - 0, /* field[0] = role */ - 2, /* field[2] = setstmt */ +static const unsigned pg_query__raw_stmt__field_indices_by_name[] = { + 0, /* field[0] = stmt */ + 2, /* field[2] = stmt_len */ + 1, /* field[1] = stmt_location */ }; -static const ProtobufCIntRange pg_query__alter_role_set_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__raw_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__alter_role_set_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__raw_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterRoleSetStmt", - "AlterRoleSetStmt", - "PgQuery__AlterRoleSetStmt", + "pg_query.RawStmt", + "RawStmt", + "PgQuery__RawStmt", "pg_query", - sizeof(PgQuery__AlterRoleSetStmt), + sizeof(PgQuery__RawStmt), 3, - pg_query__alter_role_set_stmt__field_descriptors, - pg_query__alter_role_set_stmt__field_indices_by_name, - 1, pg_query__alter_role_set_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_role_set_stmt__init, + pg_query__raw_stmt__field_descriptors, + pg_query__raw_stmt__field_indices_by_name, + 1, pg_query__raw_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__raw_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_conversion_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__insert_stmt__field_descriptors[7] = { { - "conversion_name", + "relation", 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__InsertStmt, relation), + &pg_query__range_var__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cols", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateConversionStmt, n_conversion_name), - offsetof(PgQuery__CreateConversionStmt, conversion_name), + offsetof(PgQuery__InsertStmt, n_cols), + offsetof(PgQuery__InsertStmt, cols), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "for_encoding_name", - 2, + "select_stmt", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateConversionStmt, for_encoding_name), + offsetof(PgQuery__InsertStmt, select_stmt), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "to_encoding_name", - 3, + "on_conflict_clause", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateConversionStmt, to_encoding_name), + offsetof(PgQuery__InsertStmt, on_conflict_clause), + &pg_query__on_conflict_clause__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_name", - 4, + "returning_list", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateConversionStmt, n_func_name), - offsetof(PgQuery__CreateConversionStmt, func_name), + offsetof(PgQuery__InsertStmt, n_returning_list), + offsetof(PgQuery__InsertStmt, returning_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "def", - 5, + "with_clause", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateConversionStmt, def), + offsetof(PgQuery__InsertStmt, with_clause), + &pg_query__with_clause__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "override", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__InsertStmt, override), + &pg_query__overriding_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_conversion_stmt__field_indices_by_name[] = { - 0, /* field[0] = conversion_name */ - 4, /* field[4] = def */ - 1, /* field[1] = for_encoding_name */ - 3, /* field[3] = func_name */ - 2, /* field[2] = to_encoding_name */ +static const unsigned pg_query__insert_stmt__field_indices_by_name[] = { + 1, /* field[1] = cols */ + 3, /* field[3] = on_conflict_clause */ + 6, /* field[6] = override */ + 0, /* field[0] = relation */ + 4, /* field[4] = returning_list */ + 2, /* field[2] = select_stmt */ + 5, /* field[5] = with_clause */ }; -static const ProtobufCIntRange pg_query__create_conversion_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__insert_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__create_conversion_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__insert_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateConversionStmt", - "CreateConversionStmt", - "PgQuery__CreateConversionStmt", + "pg_query.InsertStmt", + "InsertStmt", + "PgQuery__InsertStmt", "pg_query", - sizeof(PgQuery__CreateConversionStmt), - 5, - pg_query__create_conversion_stmt__field_descriptors, - pg_query__create_conversion_stmt__field_indices_by_name, - 1, pg_query__create_conversion_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_conversion_stmt__init, + sizeof(PgQuery__InsertStmt), + 7, + pg_query__insert_stmt__field_descriptors, + pg_query__insert_stmt__field_indices_by_name, + 1, pg_query__insert_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__insert_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_cast_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__delete_stmt__field_descriptors[5] = { { - "sourcetype", + "relation", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateCastStmt, sourcetype), - &pg_query__type_name__descriptor, + offsetof(PgQuery__DeleteStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "targettype", + "using_clause", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateCastStmt, targettype), - &pg_query__type_name__descriptor, + offsetof(PgQuery__DeleteStmt, n_using_clause), + offsetof(PgQuery__DeleteStmt, using_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func", + "where_clause", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateCastStmt, func), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__DeleteStmt, where_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "context", + "returning_list", 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateCastStmt, context), - &pg_query__coercion_context__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__DeleteStmt, n_returning_list), + offsetof(PgQuery__DeleteStmt, returning_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "inout", + "with_clause", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateCastStmt, inout), - NULL, + offsetof(PgQuery__DeleteStmt, with_clause), + &pg_query__with_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_cast_stmt__field_indices_by_name[] = { - 3, /* field[3] = context */ - 2, /* field[2] = func */ - 4, /* field[4] = inout */ - 0, /* field[0] = sourcetype */ - 1, /* field[1] = targettype */ +static const unsigned pg_query__delete_stmt__field_indices_by_name[] = { + 0, /* field[0] = relation */ + 3, /* field[3] = returning_list */ + 1, /* field[1] = using_clause */ + 2, /* field[2] = where_clause */ + 4, /* field[4] = with_clause */ }; -static const ProtobufCIntRange pg_query__create_cast_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__delete_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__create_cast_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__delete_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateCastStmt", - "CreateCastStmt", - "PgQuery__CreateCastStmt", + "pg_query.DeleteStmt", + "DeleteStmt", + "PgQuery__DeleteStmt", "pg_query", - sizeof(PgQuery__CreateCastStmt), + sizeof(PgQuery__DeleteStmt), 5, - pg_query__create_cast_stmt__field_descriptors, - pg_query__create_cast_stmt__field_indices_by_name, - 1, pg_query__create_cast_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_cast_stmt__init, + pg_query__delete_stmt__field_descriptors, + pg_query__delete_stmt__field_indices_by_name, + 1, pg_query__delete_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__delete_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_op_class_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__update_stmt__field_descriptors[6] = { { - "opclassname", + "relation", 1, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpClassStmt, n_opclassname), - offsetof(PgQuery__CreateOpClassStmt, opclassname), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__UpdateStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opfamilyname", + "target_list", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpClassStmt, n_opfamilyname), - offsetof(PgQuery__CreateOpClassStmt, opfamilyname), + offsetof(PgQuery__UpdateStmt, n_target_list), + offsetof(PgQuery__UpdateStmt, target_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "amname", + "where_clause", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassStmt, amname), + offsetof(PgQuery__UpdateStmt, where_clause), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "datatype", + "from_clause", 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__UpdateStmt, n_from_clause), + offsetof(PgQuery__UpdateStmt, from_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "returning_list", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__UpdateStmt, n_returning_list), + offsetof(PgQuery__UpdateStmt, returning_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "with_clause", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassStmt, datatype), - &pg_query__type_name__descriptor, + offsetof(PgQuery__UpdateStmt, with_clause), + &pg_query__with_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__update_stmt__field_indices_by_name[] = { + 3, /* field[3] = from_clause */ + 0, /* field[0] = relation */ + 4, /* field[4] = returning_list */ + 1, /* field[1] = target_list */ + 2, /* field[2] = where_clause */ + 5, /* field[5] = with_clause */ +}; +static const ProtobufCIntRange pg_query__update_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__update_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.UpdateStmt", + "UpdateStmt", + "PgQuery__UpdateStmt", + "pg_query", + sizeof(PgQuery__UpdateStmt), + 6, + pg_query__update_stmt__field_descriptors, + pg_query__update_stmt__field_indices_by_name, + 1, pg_query__update_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__update_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__merge_stmt__field_descriptors[6] = +{ { - "items", + "relation", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeStmt, relation), + &pg_query__range_var__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "source_relation", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeStmt, source_relation), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "join_condition", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__MergeStmt, join_condition), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "merge_when_clauses", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__MergeStmt, n_merge_when_clauses), + offsetof(PgQuery__MergeStmt, merge_when_clauses), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "returning_list", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpClassStmt, n_items), - offsetof(PgQuery__CreateOpClassStmt, items), + offsetof(PgQuery__MergeStmt, n_returning_list), + offsetof(PgQuery__MergeStmt, returning_list), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_default", + "with_clause", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassStmt, is_default), - NULL, + offsetof(PgQuery__MergeStmt, with_clause), + &pg_query__with_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_op_class_stmt__field_indices_by_name[] = { - 2, /* field[2] = amname */ - 3, /* field[3] = datatype */ - 5, /* field[5] = is_default */ - 4, /* field[4] = items */ - 0, /* field[0] = opclassname */ - 1, /* field[1] = opfamilyname */ +static const unsigned pg_query__merge_stmt__field_indices_by_name[] = { + 2, /* field[2] = join_condition */ + 3, /* field[3] = merge_when_clauses */ + 0, /* field[0] = relation */ + 4, /* field[4] = returning_list */ + 1, /* field[1] = source_relation */ + 5, /* field[5] = with_clause */ }; -static const ProtobufCIntRange pg_query__create_op_class_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__merge_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__create_op_class_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__merge_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateOpClassStmt", - "CreateOpClassStmt", - "PgQuery__CreateOpClassStmt", + "pg_query.MergeStmt", + "MergeStmt", + "PgQuery__MergeStmt", "pg_query", - sizeof(PgQuery__CreateOpClassStmt), + sizeof(PgQuery__MergeStmt), 6, - pg_query__create_op_class_stmt__field_descriptors, - pg_query__create_op_class_stmt__field_indices_by_name, - 1, pg_query__create_op_class_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_op_class_stmt__init, + pg_query__merge_stmt__field_descriptors, + pg_query__merge_stmt__field_indices_by_name, + 1, pg_query__merge_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__merge_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_op_family_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__select_stmt__field_descriptors[20] = { { - "opfamilyname", + "distinct_clause", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpFamilyStmt, n_opfamilyname), - offsetof(PgQuery__CreateOpFamilyStmt, opfamilyname), + offsetof(PgQuery__SelectStmt, n_distinct_clause), + offsetof(PgQuery__SelectStmt, distinct_clause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "into_clause", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__SelectStmt, into_clause), + &pg_query__into_clause__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "target_list", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SelectStmt, n_target_list), + offsetof(PgQuery__SelectStmt, target_list), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "from_clause", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SelectStmt, n_from_clause), + offsetof(PgQuery__SelectStmt, from_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "amname", - 2, + "where_clause", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpFamilyStmt, amname), + offsetof(PgQuery__SelectStmt, where_clause), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_op_family_stmt__field_indices_by_name[] = { - 1, /* field[1] = amname */ - 0, /* field[0] = opfamilyname */ -}; -static const ProtobufCIntRange pg_query__create_op_family_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__create_op_family_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateOpFamilyStmt", - "CreateOpFamilyStmt", - "PgQuery__CreateOpFamilyStmt", - "pg_query", - sizeof(PgQuery__CreateOpFamilyStmt), - 2, - pg_query__create_op_family_stmt__field_descriptors, - pg_query__create_op_family_stmt__field_indices_by_name, - 1, pg_query__create_op_family_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_op_family_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_op_family_stmt__field_descriptors[4] = -{ { - "opfamilyname", - 1, + "group_clause", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterOpFamilyStmt, n_opfamilyname), - offsetof(PgQuery__AlterOpFamilyStmt, opfamilyname), + offsetof(PgQuery__SelectStmt, n_group_clause), + offsetof(PgQuery__SelectStmt, group_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "amname", - 2, + "group_distinct", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOpFamilyStmt, amname), + offsetof(PgQuery__SelectStmt, group_distinct), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_drop", - 3, + "having_clause", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOpFamilyStmt, is_drop), - NULL, + offsetof(PgQuery__SelectStmt, having_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "items", - 4, + "window_clause", + 9, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterOpFamilyStmt, n_items), - offsetof(PgQuery__AlterOpFamilyStmt, items), + offsetof(PgQuery__SelectStmt, n_window_clause), + offsetof(PgQuery__SelectStmt, window_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_op_family_stmt__field_indices_by_name[] = { - 1, /* field[1] = amname */ - 2, /* field[2] = is_drop */ - 3, /* field[3] = items */ - 0, /* field[0] = opfamilyname */ -}; -static const ProtobufCIntRange pg_query__alter_op_family_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__alter_op_family_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterOpFamilyStmt", - "AlterOpFamilyStmt", - "PgQuery__AlterOpFamilyStmt", - "pg_query", - sizeof(PgQuery__AlterOpFamilyStmt), - 4, - pg_query__alter_op_family_stmt__field_descriptors, - pg_query__alter_op_family_stmt__field_indices_by_name, - 1, pg_query__alter_op_family_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_op_family_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__prepare_stmt__field_descriptors[3] = -{ { - "name", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__PrepareStmt, name), + "values_lists", + 10, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SelectStmt, n_values_lists), + offsetof(PgQuery__SelectStmt, values_lists), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "argtypes", - 2, + "sort_clause", + 11, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PrepareStmt, n_argtypes), - offsetof(PgQuery__PrepareStmt, argtypes), + offsetof(PgQuery__SelectStmt, n_sort_clause), + offsetof(PgQuery__SelectStmt, sort_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query", - 3, + "limit_offset", + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__PrepareStmt, query), + offsetof(PgQuery__SelectStmt, limit_offset), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__prepare_stmt__field_indices_by_name[] = { - 1, /* field[1] = argtypes */ - 0, /* field[0] = name */ - 2, /* field[2] = query */ -}; -static const ProtobufCIntRange pg_query__prepare_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__prepare_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PrepareStmt", - "PrepareStmt", - "PgQuery__PrepareStmt", - "pg_query", - sizeof(PgQuery__PrepareStmt), - 3, - pg_query__prepare_stmt__field_descriptors, - pg_query__prepare_stmt__field_indices_by_name, - 1, pg_query__prepare_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__prepare_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__execute_stmt__field_descriptors[2] = -{ { - "name", - 1, + "limit_count", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ExecuteStmt, name), + offsetof(PgQuery__SelectStmt, limit_count), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "params", - 2, + "limit_option", + 14, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__SelectStmt, limit_option), + &pg_query__limit_option__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "locking_clause", + 15, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ExecuteStmt, n_params), - offsetof(PgQuery__ExecuteStmt, params), + offsetof(PgQuery__SelectStmt, n_locking_clause), + offsetof(PgQuery__SelectStmt, locking_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__execute_stmt__field_indices_by_name[] = { - 0, /* field[0] = name */ - 1, /* field[1] = params */ -}; -static const ProtobufCIntRange pg_query__execute_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__execute_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ExecuteStmt", - "ExecuteStmt", - "PgQuery__ExecuteStmt", - "pg_query", - sizeof(PgQuery__ExecuteStmt), - 2, - pg_query__execute_stmt__field_descriptors, - pg_query__execute_stmt__field_indices_by_name, - 1, pg_query__execute_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__execute_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__deallocate_stmt__field_descriptors[1] = -{ { - "name", - 1, + "with_clause", + 16, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DeallocateStmt, name), + offsetof(PgQuery__SelectStmt, with_clause), + &pg_query__with_clause__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__deallocate_stmt__field_indices_by_name[] = { - 0, /* field[0] = name */ -}; -static const ProtobufCIntRange pg_query__deallocate_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__deallocate_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DeallocateStmt", - "DeallocateStmt", - "PgQuery__DeallocateStmt", - "pg_query", - sizeof(PgQuery__DeallocateStmt), - 1, - pg_query__deallocate_stmt__field_descriptors, - pg_query__deallocate_stmt__field_indices_by_name, - 1, pg_query__deallocate_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__deallocate_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__declare_cursor_stmt__field_descriptors[3] = -{ { - "portalname", - 1, + "op", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__DeclareCursorStmt, portalname), + offsetof(PgQuery__SelectStmt, op), + &pg_query__set_operation__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 2, + "all", + 18, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__DeclareCursorStmt, options), + offsetof(PgQuery__SelectStmt, all), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "query", - 3, + "larg", + 19, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DeclareCursorStmt, query), - &pg_query__node__descriptor, + offsetof(PgQuery__SelectStmt, larg), + &pg_query__select_stmt__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "rarg", + 20, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__SelectStmt, rarg), + &pg_query__select_stmt__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__declare_cursor_stmt__field_indices_by_name[] = { - 1, /* field[1] = options */ - 0, /* field[0] = portalname */ - 2, /* field[2] = query */ +static const unsigned pg_query__select_stmt__field_indices_by_name[] = { + 17, /* field[17] = all */ + 0, /* field[0] = distinct_clause */ + 3, /* field[3] = from_clause */ + 5, /* field[5] = group_clause */ + 6, /* field[6] = group_distinct */ + 7, /* field[7] = having_clause */ + 1, /* field[1] = into_clause */ + 18, /* field[18] = larg */ + 12, /* field[12] = limit_count */ + 11, /* field[11] = limit_offset */ + 13, /* field[13] = limit_option */ + 14, /* field[14] = locking_clause */ + 16, /* field[16] = op */ + 19, /* field[19] = rarg */ + 10, /* field[10] = sort_clause */ + 2, /* field[2] = target_list */ + 9, /* field[9] = values_lists */ + 4, /* field[4] = where_clause */ + 8, /* field[8] = window_clause */ + 15, /* field[15] = with_clause */ }; -static const ProtobufCIntRange pg_query__declare_cursor_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__select_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 20 } }; -const ProtobufCMessageDescriptor pg_query__declare_cursor_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__select_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DeclareCursorStmt", - "DeclareCursorStmt", - "PgQuery__DeclareCursorStmt", + "pg_query.SelectStmt", + "SelectStmt", + "PgQuery__SelectStmt", "pg_query", - sizeof(PgQuery__DeclareCursorStmt), - 3, - pg_query__declare_cursor_stmt__field_descriptors, - pg_query__declare_cursor_stmt__field_indices_by_name, - 1, pg_query__declare_cursor_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__declare_cursor_stmt__init, + sizeof(PgQuery__SelectStmt), + 20, + pg_query__select_stmt__field_descriptors, + pg_query__select_stmt__field_indices_by_name, + 1, pg_query__select_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__select_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_table_space_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__set_operation_stmt__field_descriptors[8] = { { - "tablespacename", + "op", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableSpaceStmt, tablespacename), + offsetof(PgQuery__SetOperationStmt, op), + &pg_query__set_operation__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "owner", + "all", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableSpaceStmt, owner), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__SetOperationStmt, all), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "larg", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTableSpaceStmt, location), + offsetof(PgQuery__SetOperationStmt, larg), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "rarg", 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__SetOperationStmt, rarg), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "col_types", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateTableSpaceStmt, n_options), - offsetof(PgQuery__CreateTableSpaceStmt, options), + offsetof(PgQuery__SetOperationStmt, n_col_types), + offsetof(PgQuery__SetOperationStmt, col_types), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "col_typmods", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SetOperationStmt, n_col_typmods), + offsetof(PgQuery__SetOperationStmt, col_typmods), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "col_collations", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SetOperationStmt, n_col_collations), + offsetof(PgQuery__SetOperationStmt, col_collations), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "group_clauses", + 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SetOperationStmt, n_group_clauses), + offsetof(PgQuery__SetOperationStmt, group_clauses), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_table_space_stmt__field_indices_by_name[] = { - 2, /* field[2] = location */ - 3, /* field[3] = options */ - 1, /* field[1] = owner */ - 0, /* field[0] = tablespacename */ +static const unsigned pg_query__set_operation_stmt__field_indices_by_name[] = { + 1, /* field[1] = all */ + 6, /* field[6] = col_collations */ + 4, /* field[4] = col_types */ + 5, /* field[5] = col_typmods */ + 7, /* field[7] = group_clauses */ + 2, /* field[2] = larg */ + 0, /* field[0] = op */ + 3, /* field[3] = rarg */ }; -static const ProtobufCIntRange pg_query__create_table_space_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__set_operation_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__create_table_space_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__set_operation_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateTableSpaceStmt", - "CreateTableSpaceStmt", - "PgQuery__CreateTableSpaceStmt", + "pg_query.SetOperationStmt", + "SetOperationStmt", + "PgQuery__SetOperationStmt", "pg_query", - sizeof(PgQuery__CreateTableSpaceStmt), - 4, - pg_query__create_table_space_stmt__field_descriptors, - pg_query__create_table_space_stmt__field_indices_by_name, - 1, pg_query__create_table_space_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_table_space_stmt__init, + sizeof(PgQuery__SetOperationStmt), + 8, + pg_query__set_operation_stmt__field_descriptors, + pg_query__set_operation_stmt__field_indices_by_name, + 1, pg_query__set_operation_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__set_operation_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__drop_table_space_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__return_stmt__field_descriptors[1] = { { - "tablespacename", + "returnval", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__DropTableSpaceStmt, tablespacename), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "missing_ok", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropTableSpaceStmt, missing_ok), - NULL, + offsetof(PgQuery__ReturnStmt, returnval), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__drop_table_space_stmt__field_indices_by_name[] = { - 1, /* field[1] = missing_ok */ - 0, /* field[0] = tablespacename */ +static const unsigned pg_query__return_stmt__field_indices_by_name[] = { + 0, /* field[0] = returnval */ }; -static const ProtobufCIntRange pg_query__drop_table_space_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__return_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__drop_table_space_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__return_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropTableSpaceStmt", - "DropTableSpaceStmt", - "PgQuery__DropTableSpaceStmt", + "pg_query.ReturnStmt", + "ReturnStmt", + "PgQuery__ReturnStmt", "pg_query", - sizeof(PgQuery__DropTableSpaceStmt), - 2, - pg_query__drop_table_space_stmt__field_descriptors, - pg_query__drop_table_space_stmt__field_indices_by_name, - 1, pg_query__drop_table_space_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_table_space_stmt__init, + sizeof(PgQuery__ReturnStmt), + 1, + pg_query__return_stmt__field_descriptors, + pg_query__return_stmt__field_indices_by_name, + 1, pg_query__return_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__return_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_object_depends_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__plassign_stmt__field_descriptors[5] = { { - "object_type", + "name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectDependsStmt, object_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__PLAssignStmt, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "indirection", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectDependsStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__PLAssignStmt, n_indirection), + offsetof(PgQuery__PLAssignStmt, indirection), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", + "nnames", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectDependsStmt, object), - &pg_query__node__descriptor, + offsetof(PgQuery__PLAssignStmt, nnames), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "extname", + "val", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectDependsStmt, extname), - &pg_query__string__descriptor, + offsetof(PgQuery__PLAssignStmt, val), + &pg_query__select_stmt__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "remove", + "location", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectDependsStmt, remove), + offsetof(PgQuery__PLAssignStmt, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_object_depends_stmt__field_indices_by_name[] = { - 3, /* field[3] = extname */ - 2, /* field[2] = object */ - 0, /* field[0] = object_type */ - 1, /* field[1] = relation */ - 4, /* field[4] = remove */ +static const unsigned pg_query__plassign_stmt__field_indices_by_name[] = { + 1, /* field[1] = indirection */ + 4, /* field[4] = location */ + 0, /* field[0] = name */ + 2, /* field[2] = nnames */ + 3, /* field[3] = val */ }; -static const ProtobufCIntRange pg_query__alter_object_depends_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__plassign_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__alter_object_depends_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__plassign_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterObjectDependsStmt", - "AlterObjectDependsStmt", - "PgQuery__AlterObjectDependsStmt", + "pg_query.PLAssignStmt", + "PLAssignStmt", + "PgQuery__PLAssignStmt", "pg_query", - sizeof(PgQuery__AlterObjectDependsStmt), + sizeof(PgQuery__PLAssignStmt), 5, - pg_query__alter_object_depends_stmt__field_descriptors, - pg_query__alter_object_depends_stmt__field_indices_by_name, - 1, pg_query__alter_object_depends_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_object_depends_stmt__init, + pg_query__plassign_stmt__field_descriptors, + pg_query__plassign_stmt__field_indices_by_name, + 1, pg_query__plassign_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__plassign_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_object_schema_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__create_schema_stmt__field_descriptors[4] = { { - "object_type", + "schemaname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectSchemaStmt, object_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__CreateSchemaStmt, schemaname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "authrole", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectSchemaStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__CreateSchemaStmt, authrole), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", + "schema_elts", 3, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectSchemaStmt, object), + offsetof(PgQuery__CreateSchemaStmt, n_schema_elts), + offsetof(PgQuery__CreateSchemaStmt, schema_elts), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newschema", + "if_not_exists", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectSchemaStmt, newschema), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "missing_ok", - 5, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterObjectSchemaStmt, missing_ok), + offsetof(PgQuery__CreateSchemaStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_object_schema_stmt__field_indices_by_name[] = { - 4, /* field[4] = missing_ok */ - 3, /* field[3] = newschema */ - 2, /* field[2] = object */ - 0, /* field[0] = object_type */ - 1, /* field[1] = relation */ +static const unsigned pg_query__create_schema_stmt__field_indices_by_name[] = { + 1, /* field[1] = authrole */ + 3, /* field[3] = if_not_exists */ + 2, /* field[2] = schema_elts */ + 0, /* field[0] = schemaname */ }; -static const ProtobufCIntRange pg_query__alter_object_schema_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_schema_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_object_schema_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_schema_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterObjectSchemaStmt", - "AlterObjectSchemaStmt", - "PgQuery__AlterObjectSchemaStmt", + "pg_query.CreateSchemaStmt", + "CreateSchemaStmt", + "PgQuery__CreateSchemaStmt", "pg_query", - sizeof(PgQuery__AlterObjectSchemaStmt), - 5, - pg_query__alter_object_schema_stmt__field_descriptors, - pg_query__alter_object_schema_stmt__field_indices_by_name, - 1, pg_query__alter_object_schema_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_object_schema_stmt__init, + sizeof(PgQuery__CreateSchemaStmt), + 4, + pg_query__create_schema_stmt__field_descriptors, + pg_query__create_schema_stmt__field_indices_by_name, + 1, pg_query__create_schema_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_schema_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_owner_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__alter_table_stmt__field_descriptors[4] = { { - "object_type", + "relation", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOwnerStmt, object_type), - &pg_query__object_type__descriptor, + offsetof(PgQuery__AlterTableStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "cmds", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOwnerStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterTableStmt, n_cmds), + offsetof(PgQuery__AlterTableStmt, cmds), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", + "objtype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOwnerStmt, object), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterTableStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newowner", + "missing_ok", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOwnerStmt, newowner), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__AlterTableStmt, missing_ok), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_owner_stmt__field_indices_by_name[] = { - 3, /* field[3] = newowner */ - 2, /* field[2] = object */ - 0, /* field[0] = object_type */ - 1, /* field[1] = relation */ +static const unsigned pg_query__alter_table_stmt__field_indices_by_name[] = { + 1, /* field[1] = cmds */ + 3, /* field[3] = missing_ok */ + 2, /* field[2] = objtype */ + 0, /* field[0] = relation */ }; -static const ProtobufCIntRange pg_query__alter_owner_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_table_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_owner_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_table_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterOwnerStmt", - "AlterOwnerStmt", - "PgQuery__AlterOwnerStmt", + "pg_query.AlterTableStmt", + "AlterTableStmt", + "PgQuery__AlterTableStmt", "pg_query", - sizeof(PgQuery__AlterOwnerStmt), + sizeof(PgQuery__AlterTableStmt), 4, - pg_query__alter_owner_stmt__field_descriptors, - pg_query__alter_owner_stmt__field_indices_by_name, - 1, pg_query__alter_owner_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_owner_stmt__init, + pg_query__alter_table_stmt__field_descriptors, + pg_query__alter_table_stmt__field_indices_by_name, + 1, pg_query__alter_table_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_table_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_operator_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__replica_identity_stmt__field_descriptors[2] = { { - "opername", + "identity_type", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterOperatorStmt, opername), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__ReplicaIdentityStmt, identity_type), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "name", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterOperatorStmt, n_options), - offsetof(PgQuery__AlterOperatorStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__ReplicaIdentityStmt, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_operator_stmt__field_indices_by_name[] = { - 0, /* field[0] = opername */ - 1, /* field[1] = options */ +static const unsigned pg_query__replica_identity_stmt__field_indices_by_name[] = { + 0, /* field[0] = identity_type */ + 1, /* field[1] = name */ }; -static const ProtobufCIntRange pg_query__alter_operator_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__replica_identity_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__alter_operator_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__replica_identity_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterOperatorStmt", - "AlterOperatorStmt", - "PgQuery__AlterOperatorStmt", + "pg_query.ReplicaIdentityStmt", + "ReplicaIdentityStmt", + "PgQuery__ReplicaIdentityStmt", "pg_query", - sizeof(PgQuery__AlterOperatorStmt), + sizeof(PgQuery__ReplicaIdentityStmt), 2, - pg_query__alter_operator_stmt__field_descriptors, - pg_query__alter_operator_stmt__field_indices_by_name, - 1, pg_query__alter_operator_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_operator_stmt__init, + pg_query__replica_identity_stmt__field_descriptors, + pg_query__replica_identity_stmt__field_indices_by_name, + 1, pg_query__replica_identity_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__replica_identity_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_type_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__alter_table_cmd__field_descriptors[8] = { { - "type_name", + "subtype", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTypeStmt, n_type_name), - offsetof(PgQuery__AlterTypeStmt, type_name), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterTableCmd, subtype), + &pg_query__alter_table_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "name", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTypeStmt, n_options), - offsetof(PgQuery__AlterTypeStmt, options), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__alter_type_stmt__field_indices_by_name[] = { - 1, /* field[1] = options */ - 0, /* field[0] = type_name */ -}; -static const ProtobufCIntRange pg_query__alter_type_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__alter_type_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTypeStmt", - "AlterTypeStmt", - "PgQuery__AlterTypeStmt", - "pg_query", - sizeof(PgQuery__AlterTypeStmt), - 2, - pg_query__alter_type_stmt__field_descriptors, - pg_query__alter_type_stmt__field_indices_by_name, - 1, pg_query__alter_type_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_type_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__drop_owned_stmt__field_descriptors[2] = -{ - { - "roles", - 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__DropOwnedStmt, n_roles), - offsetof(PgQuery__DropOwnedStmt, roles), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterTableCmd, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", - 2, + "num", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__DropOwnedStmt, behavior), - &pg_query__drop_behavior__descriptor, + offsetof(PgQuery__AlterTableCmd, num), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, -}; -static const unsigned pg_query__drop_owned_stmt__field_indices_by_name[] = { - 1, /* field[1] = behavior */ - 0, /* field[0] = roles */ -}; -static const ProtobufCIntRange pg_query__drop_owned_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__drop_owned_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropOwnedStmt", - "DropOwnedStmt", - "PgQuery__DropOwnedStmt", - "pg_query", - sizeof(PgQuery__DropOwnedStmt), - 2, - pg_query__drop_owned_stmt__field_descriptors, - pg_query__drop_owned_stmt__field_indices_by_name, - 1, pg_query__drop_owned_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_owned_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__reassign_owned_stmt__field_descriptors[2] = -{ - { - "roles", - 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ReassignOwnedStmt, n_roles), - offsetof(PgQuery__ReassignOwnedStmt, roles), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "newrole", - 2, + "newowner", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ReassignOwnedStmt, newrole), + offsetof(PgQuery__AlterTableCmd, newowner), &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__reassign_owned_stmt__field_indices_by_name[] = { - 1, /* field[1] = newrole */ - 0, /* field[0] = roles */ -}; -static const ProtobufCIntRange pg_query__reassign_owned_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__reassign_owned_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ReassignOwnedStmt", - "ReassignOwnedStmt", - "PgQuery__ReassignOwnedStmt", - "pg_query", - sizeof(PgQuery__ReassignOwnedStmt), - 2, - pg_query__reassign_owned_stmt__field_descriptors, - pg_query__reassign_owned_stmt__field_indices_by_name, - 1, pg_query__reassign_owned_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__reassign_owned_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__composite_type_stmt__field_descriptors[2] = -{ { - "typevar", - 1, + "def", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CompositeTypeStmt, typevar), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterTableCmd, def), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coldeflist", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CompositeTypeStmt, n_coldeflist), - offsetof(PgQuery__CompositeTypeStmt, coldeflist), - &pg_query__node__descriptor, + "behavior", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterTableCmd, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__composite_type_stmt__field_indices_by_name[] = { - 1, /* field[1] = coldeflist */ - 0, /* field[0] = typevar */ -}; -static const ProtobufCIntRange pg_query__composite_type_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__composite_type_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CompositeTypeStmt", - "CompositeTypeStmt", - "PgQuery__CompositeTypeStmt", - "pg_query", - sizeof(PgQuery__CompositeTypeStmt), - 2, - pg_query__composite_type_stmt__field_descriptors, - pg_query__composite_type_stmt__field_indices_by_name, - 1, pg_query__composite_type_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__composite_type_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_enum_stmt__field_descriptors[2] = -{ { - "type_name", - 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateEnumStmt, n_type_name), - offsetof(PgQuery__CreateEnumStmt, type_name), - &pg_query__node__descriptor, + "missing_ok", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterTableCmd, missing_ok), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "vals", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateEnumStmt, n_vals), - offsetof(PgQuery__CreateEnumStmt, vals), - &pg_query__node__descriptor, + "recurse", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterTableCmd, recurse), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_enum_stmt__field_indices_by_name[] = { - 0, /* field[0] = type_name */ - 1, /* field[1] = vals */ +static const unsigned pg_query__alter_table_cmd__field_indices_by_name[] = { + 5, /* field[5] = behavior */ + 4, /* field[4] = def */ + 6, /* field[6] = missing_ok */ + 1, /* field[1] = name */ + 3, /* field[3] = newowner */ + 2, /* field[2] = num */ + 7, /* field[7] = recurse */ + 0, /* field[0] = subtype */ }; -static const ProtobufCIntRange pg_query__create_enum_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_table_cmd__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__create_enum_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_table_cmd__descriptor = { - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateEnumStmt", - "CreateEnumStmt", - "PgQuery__CreateEnumStmt", - "pg_query", - sizeof(PgQuery__CreateEnumStmt), - 2, - pg_query__create_enum_stmt__field_descriptors, - pg_query__create_enum_stmt__field_indices_by_name, - 1, pg_query__create_enum_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_enum_stmt__init, + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterTableCmd", + "AlterTableCmd", + "PgQuery__AlterTableCmd", + "pg_query", + sizeof(PgQuery__AlterTableCmd), + 8, + pg_query__alter_table_cmd__field_descriptors, + pg_query__alter_table_cmd__field_indices_by_name, + 1, pg_query__alter_table_cmd__number_ranges, + (ProtobufCMessageInit) pg_query__alter_table_cmd__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_range_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__alter_collation_stmt__field_descriptors[1] = { { - "type_name", + "collname", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateRangeStmt, n_type_name), - offsetof(PgQuery__CreateRangeStmt, type_name), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "params", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateRangeStmt, n_params), - offsetof(PgQuery__CreateRangeStmt, params), + offsetof(PgQuery__AlterCollationStmt, n_collname), + offsetof(PgQuery__AlterCollationStmt, collname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_range_stmt__field_indices_by_name[] = { - 1, /* field[1] = params */ - 0, /* field[0] = type_name */ +static const unsigned pg_query__alter_collation_stmt__field_indices_by_name[] = { + 0, /* field[0] = collname */ }; -static const ProtobufCIntRange pg_query__create_range_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_collation_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__create_range_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_collation_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateRangeStmt", - "CreateRangeStmt", - "PgQuery__CreateRangeStmt", + "pg_query.AlterCollationStmt", + "AlterCollationStmt", + "PgQuery__AlterCollationStmt", "pg_query", - sizeof(PgQuery__CreateRangeStmt), - 2, - pg_query__create_range_stmt__field_descriptors, - pg_query__create_range_stmt__field_indices_by_name, - 1, pg_query__create_range_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_range_stmt__init, + sizeof(PgQuery__AlterCollationStmt), + 1, + pg_query__alter_collation_stmt__field_descriptors, + pg_query__alter_collation_stmt__field_indices_by_name, + 1, pg_query__alter_collation_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_collation_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_enum_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__alter_domain_stmt__field_descriptors[6] = { { - "type_name", + "subtype", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterEnumStmt, n_type_name), - offsetof(PgQuery__AlterEnumStmt, type_name), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterDomainStmt, subtype), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_val", + "type_name", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEnumStmt, old_val), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterDomainStmt, n_type_name), + offsetof(PgQuery__AlterDomainStmt, type_name), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "new_val", + "name", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEnumStmt, new_val), + offsetof(PgQuery__AlterDomainStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "new_val_neighbor", + "def", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEnumStmt, new_val_neighbor), + offsetof(PgQuery__AlterDomainStmt, def), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "new_val_is_after", + "behavior", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEnumStmt, new_val_is_after), - NULL, + offsetof(PgQuery__AlterDomainStmt, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "skip_if_new_val_exists", + "missing_ok", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEnumStmt, skip_if_new_val_exists), + offsetof(PgQuery__AlterDomainStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_enum_stmt__field_indices_by_name[] = { - 2, /* field[2] = new_val */ - 4, /* field[4] = new_val_is_after */ - 3, /* field[3] = new_val_neighbor */ - 1, /* field[1] = old_val */ - 5, /* field[5] = skip_if_new_val_exists */ - 0, /* field[0] = type_name */ +static const unsigned pg_query__alter_domain_stmt__field_indices_by_name[] = { + 4, /* field[4] = behavior */ + 3, /* field[3] = def */ + 5, /* field[5] = missing_ok */ + 2, /* field[2] = name */ + 0, /* field[0] = subtype */ + 1, /* field[1] = type_name */ }; -static const ProtobufCIntRange pg_query__alter_enum_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_domain_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__alter_enum_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_domain_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterEnumStmt", - "AlterEnumStmt", - "PgQuery__AlterEnumStmt", + "pg_query.AlterDomainStmt", + "AlterDomainStmt", + "PgQuery__AlterDomainStmt", "pg_query", - sizeof(PgQuery__AlterEnumStmt), + sizeof(PgQuery__AlterDomainStmt), 6, - pg_query__alter_enum_stmt__field_descriptors, - pg_query__alter_enum_stmt__field_indices_by_name, - 1, pg_query__alter_enum_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_enum_stmt__init, + pg_query__alter_domain_stmt__field_descriptors, + pg_query__alter_domain_stmt__field_indices_by_name, + 1, pg_query__alter_domain_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_domain_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_tsdictionary_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__grant_stmt__field_descriptors[9] = { { - "dictname", + "is_grant", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTSDictionaryStmt, n_dictname), - offsetof(PgQuery__AlterTSDictionaryStmt, dictname), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__GrantStmt, is_grant), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "targtype", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTSDictionaryStmt, n_options), - offsetof(PgQuery__AlterTSDictionaryStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__GrantStmt, targtype), + &pg_query__grant_target_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_tsdictionary_stmt__field_indices_by_name[] = { - 0, /* field[0] = dictname */ - 1, /* field[1] = options */ -}; -static const ProtobufCIntRange pg_query__alter_tsdictionary_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__alter_tsdictionary_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTSDictionaryStmt", - "AlterTSDictionaryStmt", - "PgQuery__AlterTSDictionaryStmt", - "pg_query", - sizeof(PgQuery__AlterTSDictionaryStmt), - 2, - pg_query__alter_tsdictionary_stmt__field_descriptors, - pg_query__alter_tsdictionary_stmt__field_indices_by_name, - 1, pg_query__alter_tsdictionary_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_tsdictionary_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_tsconfiguration_stmt__field_descriptors[7] = -{ { - "kind", - 1, + "objtype", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTSConfigurationStmt, kind), - &pg_query__alter_tsconfig_type__descriptor, + offsetof(PgQuery__GrantStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cfgname", - 2, + "objects", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTSConfigurationStmt, n_cfgname), - offsetof(PgQuery__AlterTSConfigurationStmt, cfgname), + offsetof(PgQuery__GrantStmt, n_objects), + offsetof(PgQuery__GrantStmt, objects), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "tokentype", - 3, + "privileges", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTSConfigurationStmt, n_tokentype), - offsetof(PgQuery__AlterTSConfigurationStmt, tokentype), + offsetof(PgQuery__GrantStmt, n_privileges), + offsetof(PgQuery__GrantStmt, privileges), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "dicts", - 4, + "grantees", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTSConfigurationStmt, n_dicts), - offsetof(PgQuery__AlterTSConfigurationStmt, dicts), + offsetof(PgQuery__GrantStmt, n_grantees), + offsetof(PgQuery__GrantStmt, grantees), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", - 5, + "grant_option", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTSConfigurationStmt, override), + offsetof(PgQuery__GrantStmt, grant_option), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "replace", - 6, + "grantor", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTSConfigurationStmt, replace), - NULL, + offsetof(PgQuery__GrantStmt, grantor), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 7, + "behavior", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTSConfigurationStmt, missing_ok), - NULL, + offsetof(PgQuery__GrantStmt, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_tsconfiguration_stmt__field_indices_by_name[] = { - 1, /* field[1] = cfgname */ - 3, /* field[3] = dicts */ - 0, /* field[0] = kind */ - 6, /* field[6] = missing_ok */ - 4, /* field[4] = override */ - 5, /* field[5] = replace */ - 2, /* field[2] = tokentype */ +static const unsigned pg_query__grant_stmt__field_indices_by_name[] = { + 8, /* field[8] = behavior */ + 6, /* field[6] = grant_option */ + 5, /* field[5] = grantees */ + 7, /* field[7] = grantor */ + 0, /* field[0] = is_grant */ + 3, /* field[3] = objects */ + 2, /* field[2] = objtype */ + 4, /* field[4] = privileges */ + 1, /* field[1] = targtype */ }; -static const ProtobufCIntRange pg_query__alter_tsconfiguration_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__grant_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 9 } }; -const ProtobufCMessageDescriptor pg_query__alter_tsconfiguration_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__grant_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTSConfigurationStmt", - "AlterTSConfigurationStmt", - "PgQuery__AlterTSConfigurationStmt", + "pg_query.GrantStmt", + "GrantStmt", + "PgQuery__GrantStmt", "pg_query", - sizeof(PgQuery__AlterTSConfigurationStmt), - 7, - pg_query__alter_tsconfiguration_stmt__field_descriptors, - pg_query__alter_tsconfiguration_stmt__field_indices_by_name, - 1, pg_query__alter_tsconfiguration_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_tsconfiguration_stmt__init, + sizeof(PgQuery__GrantStmt), + 9, + pg_query__grant_stmt__field_descriptors, + pg_query__grant_stmt__field_indices_by_name, + 1, pg_query__grant_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__grant_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_fdw_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__object_with_args__field_descriptors[4] = { { - "fdwname", + "objname", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateFdwStmt, fdwname), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ObjectWithArgs, n_objname), + offsetof(PgQuery__ObjectWithArgs, objname), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_options", + "objargs", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateFdwStmt, n_func_options), - offsetof(PgQuery__CreateFdwStmt, func_options), + offsetof(PgQuery__ObjectWithArgs, n_objargs), + offsetof(PgQuery__ObjectWithArgs, objargs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "objfuncargs", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateFdwStmt, n_options), - offsetof(PgQuery__CreateFdwStmt, options), + offsetof(PgQuery__ObjectWithArgs, n_objfuncargs), + offsetof(PgQuery__ObjectWithArgs, objfuncargs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "args_unspecified", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__ObjectWithArgs, args_unspecified), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__create_fdw_stmt__field_indices_by_name[] = { - 0, /* field[0] = fdwname */ - 1, /* field[1] = func_options */ - 2, /* field[2] = options */ +static const unsigned pg_query__object_with_args__field_indices_by_name[] = { + 3, /* field[3] = args_unspecified */ + 1, /* field[1] = objargs */ + 2, /* field[2] = objfuncargs */ + 0, /* field[0] = objname */ }; -static const ProtobufCIntRange pg_query__create_fdw_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__object_with_args__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__create_fdw_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__object_with_args__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateFdwStmt", - "CreateFdwStmt", - "PgQuery__CreateFdwStmt", + "pg_query.ObjectWithArgs", + "ObjectWithArgs", + "PgQuery__ObjectWithArgs", "pg_query", - sizeof(PgQuery__CreateFdwStmt), - 3, - pg_query__create_fdw_stmt__field_descriptors, - pg_query__create_fdw_stmt__field_indices_by_name, - 1, pg_query__create_fdw_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_fdw_stmt__init, + sizeof(PgQuery__ObjectWithArgs), + 4, + pg_query__object_with_args__field_descriptors, + pg_query__object_with_args__field_indices_by_name, + 1, pg_query__object_with_args__number_ranges, + (ProtobufCMessageInit) pg_query__object_with_args__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_fdw_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__access_priv__field_descriptors[2] = { { - "fdwname", + "priv_name", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterFdwStmt, fdwname), + offsetof(PgQuery__AccessPriv, priv_name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_options", - 2, + "cols", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AccessPriv, n_cols), + offsetof(PgQuery__AccessPriv, cols), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__access_priv__field_indices_by_name[] = { + 1, /* field[1] = cols */ + 0, /* field[0] = priv_name */ +}; +static const ProtobufCIntRange pg_query__access_priv__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__access_priv__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AccessPriv", + "AccessPriv", + "PgQuery__AccessPriv", + "pg_query", + sizeof(PgQuery__AccessPriv), + 2, + pg_query__access_priv__field_descriptors, + pg_query__access_priv__field_indices_by_name, + 1, pg_query__access_priv__number_ranges, + (ProtobufCMessageInit) pg_query__access_priv__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__grant_role_stmt__field_descriptors[6] = +{ + { + "granted_roles", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__GrantRoleStmt, n_granted_roles), + offsetof(PgQuery__GrantRoleStmt, granted_roles), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grantee_roles", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__GrantRoleStmt, n_grantee_roles), + offsetof(PgQuery__GrantRoleStmt, grantee_roles), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "is_grant", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__GrantRoleStmt, is_grant), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "opt", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__GrantRoleStmt, n_opt), + offsetof(PgQuery__GrantRoleStmt, opt), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "grantor", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__GrantRoleStmt, grantor), + &pg_query__role_spec__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "behavior", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__GrantRoleStmt, behavior), + &pg_query__drop_behavior__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__grant_role_stmt__field_indices_by_name[] = { + 5, /* field[5] = behavior */ + 0, /* field[0] = granted_roles */ + 1, /* field[1] = grantee_roles */ + 4, /* field[4] = grantor */ + 2, /* field[2] = is_grant */ + 3, /* field[3] = opt */ +}; +static const ProtobufCIntRange pg_query__grant_role_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__grant_role_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.GrantRoleStmt", + "GrantRoleStmt", + "PgQuery__GrantRoleStmt", + "pg_query", + sizeof(PgQuery__GrantRoleStmt), + 6, + pg_query__grant_role_stmt__field_descriptors, + pg_query__grant_role_stmt__field_indices_by_name, + 1, pg_query__grant_role_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__grant_role_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_default_privileges_stmt__field_descriptors[2] = +{ + { + "options", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterFdwStmt, n_func_options), - offsetof(PgQuery__AlterFdwStmt, func_options), + offsetof(PgQuery__AlterDefaultPrivilegesStmt, n_options), + offsetof(PgQuery__AlterDefaultPrivilegesStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 3, - PROTOBUF_C_LABEL_REPEATED, + "action", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterFdwStmt, n_options), - offsetof(PgQuery__AlterFdwStmt, options), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterDefaultPrivilegesStmt, action), + &pg_query__grant_stmt__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_fdw_stmt__field_indices_by_name[] = { - 0, /* field[0] = fdwname */ - 1, /* field[1] = func_options */ - 2, /* field[2] = options */ +static const unsigned pg_query__alter_default_privileges_stmt__field_indices_by_name[] = { + 1, /* field[1] = action */ + 0, /* field[0] = options */ }; -static const ProtobufCIntRange pg_query__alter_fdw_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_default_privileges_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__alter_fdw_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_default_privileges_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterFdwStmt", - "AlterFdwStmt", - "PgQuery__AlterFdwStmt", + "pg_query.AlterDefaultPrivilegesStmt", + "AlterDefaultPrivilegesStmt", + "PgQuery__AlterDefaultPrivilegesStmt", "pg_query", - sizeof(PgQuery__AlterFdwStmt), - 3, - pg_query__alter_fdw_stmt__field_descriptors, - pg_query__alter_fdw_stmt__field_indices_by_name, - 1, pg_query__alter_fdw_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_fdw_stmt__init, + sizeof(PgQuery__AlterDefaultPrivilegesStmt), + 2, + pg_query__alter_default_privileges_stmt__field_descriptors, + pg_query__alter_default_privileges_stmt__field_indices_by_name, + 1, pg_query__alter_default_privileges_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_default_privileges_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_foreign_server_stmt__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__copy_stmt__field_descriptors[8] = { { - "servername", + "relation", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignServerStmt, servername), + offsetof(PgQuery__CopyStmt, relation), + &pg_query__range_var__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "servertype", + "query", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignServerStmt, servertype), + offsetof(PgQuery__CopyStmt, query), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "version", + "attlist", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignServerStmt, version), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CopyStmt, n_attlist), + offsetof(PgQuery__CopyStmt, attlist), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fdwname", + "is_from", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignServerStmt, fdwname), + offsetof(PgQuery__CopyStmt, is_from), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", + "is_program", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignServerStmt, if_not_exists), + offsetof(PgQuery__CopyStmt, is_program), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "filename", 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CopyStmt, filename), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 7, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateForeignServerStmt, n_options), - offsetof(PgQuery__CreateForeignServerStmt, options), + offsetof(PgQuery__CopyStmt, n_options), + offsetof(PgQuery__CopyStmt, options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "where_clause", + 8, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CopyStmt, where_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_foreign_server_stmt__field_indices_by_name[] = { - 3, /* field[3] = fdwname */ - 4, /* field[4] = if_not_exists */ - 5, /* field[5] = options */ - 0, /* field[0] = servername */ - 1, /* field[1] = servertype */ - 2, /* field[2] = version */ +static const unsigned pg_query__copy_stmt__field_indices_by_name[] = { + 2, /* field[2] = attlist */ + 5, /* field[5] = filename */ + 3, /* field[3] = is_from */ + 4, /* field[4] = is_program */ + 6, /* field[6] = options */ + 1, /* field[1] = query */ + 0, /* field[0] = relation */ + 7, /* field[7] = where_clause */ }; -static const ProtobufCIntRange pg_query__create_foreign_server_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__copy_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 8 } }; -const ProtobufCMessageDescriptor pg_query__create_foreign_server_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__copy_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateForeignServerStmt", - "CreateForeignServerStmt", - "PgQuery__CreateForeignServerStmt", + "pg_query.CopyStmt", + "CopyStmt", + "PgQuery__CopyStmt", "pg_query", - sizeof(PgQuery__CreateForeignServerStmt), - 6, - pg_query__create_foreign_server_stmt__field_descriptors, - pg_query__create_foreign_server_stmt__field_indices_by_name, - 1, pg_query__create_foreign_server_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_foreign_server_stmt__init, + sizeof(PgQuery__CopyStmt), + 8, + pg_query__copy_stmt__field_descriptors, + pg_query__copy_stmt__field_indices_by_name, + 1, pg_query__copy_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__copy_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_foreign_server_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__variable_set_stmt__field_descriptors[4] = { { - "servername", + "kind", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterForeignServerStmt, servername), + offsetof(PgQuery__VariableSetStmt, kind), + &pg_query__variable_set_kind__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "version", + "name", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterForeignServerStmt, version), + offsetof(PgQuery__VariableSetStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "args", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterForeignServerStmt, n_options), - offsetof(PgQuery__AlterForeignServerStmt, options), + offsetof(PgQuery__VariableSetStmt, n_args), + offsetof(PgQuery__VariableSetStmt, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "has_version", + "is_local", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterForeignServerStmt, has_version), + offsetof(PgQuery__VariableSetStmt, is_local), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_foreign_server_stmt__field_indices_by_name[] = { - 3, /* field[3] = has_version */ - 2, /* field[2] = options */ - 0, /* field[0] = servername */ - 1, /* field[1] = version */ +static const unsigned pg_query__variable_set_stmt__field_indices_by_name[] = { + 2, /* field[2] = args */ + 3, /* field[3] = is_local */ + 0, /* field[0] = kind */ + 1, /* field[1] = name */ }; -static const ProtobufCIntRange pg_query__alter_foreign_server_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__variable_set_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_foreign_server_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__variable_set_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterForeignServerStmt", - "AlterForeignServerStmt", - "PgQuery__AlterForeignServerStmt", + "pg_query.VariableSetStmt", + "VariableSetStmt", + "PgQuery__VariableSetStmt", "pg_query", - sizeof(PgQuery__AlterForeignServerStmt), + sizeof(PgQuery__VariableSetStmt), 4, - pg_query__alter_foreign_server_stmt__field_descriptors, - pg_query__alter_foreign_server_stmt__field_indices_by_name, - 1, pg_query__alter_foreign_server_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_foreign_server_stmt__init, + pg_query__variable_set_stmt__field_descriptors, + pg_query__variable_set_stmt__field_indices_by_name, + 1, pg_query__variable_set_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__variable_set_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_user_mapping_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__variable_show_stmt__field_descriptors[1] = { { - "user", + "name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateUserMappingStmt, user), - &pg_query__role_spec__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "servername", - 2, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateUserMappingStmt, servername), + offsetof(PgQuery__VariableShowStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "if_not_exists", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateUserMappingStmt, if_not_exists), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "options", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateUserMappingStmt, n_options), - offsetof(PgQuery__CreateUserMappingStmt, options), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__create_user_mapping_stmt__field_indices_by_name[] = { - 2, /* field[2] = if_not_exists */ - 3, /* field[3] = options */ - 1, /* field[1] = servername */ - 0, /* field[0] = user */ +static const unsigned pg_query__variable_show_stmt__field_indices_by_name[] = { + 0, /* field[0] = name */ }; -static const ProtobufCIntRange pg_query__create_user_mapping_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__variable_show_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__create_user_mapping_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__variable_show_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateUserMappingStmt", - "CreateUserMappingStmt", - "PgQuery__CreateUserMappingStmt", + "pg_query.VariableShowStmt", + "VariableShowStmt", + "PgQuery__VariableShowStmt", "pg_query", - sizeof(PgQuery__CreateUserMappingStmt), - 4, - pg_query__create_user_mapping_stmt__field_descriptors, - pg_query__create_user_mapping_stmt__field_indices_by_name, - 1, pg_query__create_user_mapping_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_user_mapping_stmt__init, + sizeof(PgQuery__VariableShowStmt), + 1, + pg_query__variable_show_stmt__field_descriptors, + pg_query__variable_show_stmt__field_indices_by_name, + 1, pg_query__variable_show_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__variable_show_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_user_mapping_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_stmt__field_descriptors[12] = { { - "user", + "relation", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterUserMappingStmt, user), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__CreateStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "servername", + "table_elts", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterUserMappingStmt, servername), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateStmt, n_table_elts), + offsetof(PgQuery__CreateStmt, table_elts), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "inh_relations", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterUserMappingStmt, n_options), - offsetof(PgQuery__AlterUserMappingStmt, options), + offsetof(PgQuery__CreateStmt, n_inh_relations), + offsetof(PgQuery__CreateStmt, inh_relations), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_user_mapping_stmt__field_indices_by_name[] = { - 2, /* field[2] = options */ - 1, /* field[1] = servername */ - 0, /* field[0] = user */ -}; -static const ProtobufCIntRange pg_query__alter_user_mapping_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__alter_user_mapping_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterUserMappingStmt", - "AlterUserMappingStmt", - "PgQuery__AlterUserMappingStmt", - "pg_query", - sizeof(PgQuery__AlterUserMappingStmt), - 3, - pg_query__alter_user_mapping_stmt__field_descriptors, - pg_query__alter_user_mapping_stmt__field_indices_by_name, - 1, pg_query__alter_user_mapping_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_user_mapping_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__drop_user_mapping_stmt__field_descriptors[3] = -{ { - "user", - 1, + "partbound", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropUserMappingStmt, user), - &pg_query__role_spec__descriptor, + offsetof(PgQuery__CreateStmt, partbound), + &pg_query__partition_bound_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "servername", - 2, + "partspec", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropUserMappingStmt, servername), + offsetof(PgQuery__CreateStmt, partspec), + &pg_query__partition_spec__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 3, + "of_typename", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropUserMappingStmt, missing_ok), + offsetof(PgQuery__CreateStmt, of_typename), + &pg_query__type_name__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "constraints", + 7, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateStmt, n_constraints), + offsetof(PgQuery__CreateStmt, constraints), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 8, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateStmt, n_options), + offsetof(PgQuery__CreateStmt, options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "oncommit", + 9, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateStmt, oncommit), + &pg_query__on_commit_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__drop_user_mapping_stmt__field_indices_by_name[] = { - 2, /* field[2] = missing_ok */ - 1, /* field[1] = servername */ - 0, /* field[0] = user */ -}; -static const ProtobufCIntRange pg_query__drop_user_mapping_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__drop_user_mapping_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropUserMappingStmt", - "DropUserMappingStmt", - "PgQuery__DropUserMappingStmt", - "pg_query", - sizeof(PgQuery__DropUserMappingStmt), - 3, - pg_query__drop_user_mapping_stmt__field_descriptors, - pg_query__drop_user_mapping_stmt__field_indices_by_name, - 1, pg_query__drop_user_mapping_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_user_mapping_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_table_space_options_stmt__field_descriptors[3] = -{ { "tablespacename", - 1, + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableSpaceOptionsStmt, tablespacename), + offsetof(PgQuery__CreateStmt, tablespacename), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTableSpaceOptionsStmt, n_options), - offsetof(PgQuery__AlterTableSpaceOptionsStmt, options), - &pg_query__node__descriptor, + "access_method", + 11, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateStmt, access_method), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_reset", - 3, + "if_not_exists", + 12, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableSpaceOptionsStmt, is_reset), + offsetof(PgQuery__CreateStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_table_space_options_stmt__field_indices_by_name[] = { - 2, /* field[2] = is_reset */ - 1, /* field[1] = options */ - 0, /* field[0] = tablespacename */ +static const unsigned pg_query__create_stmt__field_indices_by_name[] = { + 10, /* field[10] = access_method */ + 6, /* field[6] = constraints */ + 11, /* field[11] = if_not_exists */ + 2, /* field[2] = inh_relations */ + 5, /* field[5] = of_typename */ + 8, /* field[8] = oncommit */ + 7, /* field[7] = options */ + 3, /* field[3] = partbound */ + 4, /* field[4] = partspec */ + 0, /* field[0] = relation */ + 1, /* field[1] = table_elts */ + 9, /* field[9] = tablespacename */ }; -static const ProtobufCIntRange pg_query__alter_table_space_options_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 12 } }; -const ProtobufCMessageDescriptor pg_query__alter_table_space_options_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTableSpaceOptionsStmt", - "AlterTableSpaceOptionsStmt", - "PgQuery__AlterTableSpaceOptionsStmt", + "pg_query.CreateStmt", + "CreateStmt", + "PgQuery__CreateStmt", "pg_query", - sizeof(PgQuery__AlterTableSpaceOptionsStmt), - 3, - pg_query__alter_table_space_options_stmt__field_descriptors, - pg_query__alter_table_space_options_stmt__field_indices_by_name, - 1, pg_query__alter_table_space_options_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_table_space_options_stmt__init, + sizeof(PgQuery__CreateStmt), + 12, + pg_query__create_stmt__field_descriptors, + pg_query__create_stmt__field_indices_by_name, + 1, pg_query__create_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_table_move_all_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[31] = { { - "orig_tablespacename", + "contype", 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, contype), + &pg_query__constr_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "conname", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableMoveAllStmt, orig_tablespacename), + offsetof(PgQuery__Constraint, conname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "objtype", - 2, + "deferrable", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableMoveAllStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__Constraint, deferrable), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "roles", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterTableMoveAllStmt, n_roles), - offsetof(PgQuery__AlterTableMoveAllStmt, roles), - &pg_query__node__descriptor, + "initdeferred", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, initdeferred), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "new_tablespacename", - 4, + "skip_validation", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableMoveAllStmt, new_tablespacename), + offsetof(PgQuery__Constraint, skip_validation), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nowait", - 5, + "initially_valid", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterTableMoveAllStmt, nowait), + offsetof(PgQuery__Constraint, initially_valid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_table_move_all_stmt__field_indices_by_name[] = { - 3, /* field[3] = new_tablespacename */ - 4, /* field[4] = nowait */ - 1, /* field[1] = objtype */ - 0, /* field[0] = orig_tablespacename */ - 2, /* field[2] = roles */ -}; -static const ProtobufCIntRange pg_query__alter_table_move_all_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 5 } -}; -const ProtobufCMessageDescriptor pg_query__alter_table_move_all_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterTableMoveAllStmt", - "AlterTableMoveAllStmt", - "PgQuery__AlterTableMoveAllStmt", - "pg_query", - sizeof(PgQuery__AlterTableMoveAllStmt), - 5, - pg_query__alter_table_move_all_stmt__field_descriptors, - pg_query__alter_table_move_all_stmt__field_indices_by_name, - 1, pg_query__alter_table_move_all_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_table_move_all_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__sec_label_stmt__field_descriptors[4] = -{ { - "objtype", - 1, + "is_no_inherit", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SecLabelStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__Constraint, is_no_inherit), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", - 2, + "raw_expr", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SecLabelStmt, object), + offsetof(PgQuery__Constraint, raw_expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "provider", - 3, + "cooked_expr", + 9, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SecLabelStmt, provider), + offsetof(PgQuery__Constraint, cooked_expr), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "label", - 4, + "generated_when", + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__SecLabelStmt, label), + offsetof(PgQuery__Constraint, generated_when), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__sec_label_stmt__field_indices_by_name[] = { - 3, /* field[3] = label */ - 1, /* field[1] = object */ - 0, /* field[0] = objtype */ - 2, /* field[2] = provider */ -}; -static const ProtobufCIntRange pg_query__sec_label_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 4 } -}; -const ProtobufCMessageDescriptor pg_query__sec_label_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SecLabelStmt", - "SecLabelStmt", - "PgQuery__SecLabelStmt", - "pg_query", - sizeof(PgQuery__SecLabelStmt), - 4, - pg_query__sec_label_stmt__field_descriptors, - pg_query__sec_label_stmt__field_indices_by_name, - 1, pg_query__sec_label_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__sec_label_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_foreign_table_stmt__field_descriptors[3] = -{ { - "base_stmt", - 1, + "inhcount", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignTableStmt, base_stmt), - &pg_query__create_stmt__descriptor, + offsetof(PgQuery__Constraint, inhcount), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "servername", - 2, + "nulls_not_distinct", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateForeignTableStmt, servername), + offsetof(PgQuery__Constraint, nulls_not_distinct), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 3, + "keys", + 13, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateForeignTableStmt, n_options), - offsetof(PgQuery__CreateForeignTableStmt, options), + offsetof(PgQuery__Constraint, n_keys), + offsetof(PgQuery__Constraint, keys), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_foreign_table_stmt__field_indices_by_name[] = { - 0, /* field[0] = base_stmt */ - 2, /* field[2] = options */ - 1, /* field[1] = servername */ -}; -static const ProtobufCIntRange pg_query__create_foreign_table_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__create_foreign_table_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateForeignTableStmt", - "CreateForeignTableStmt", - "PgQuery__CreateForeignTableStmt", - "pg_query", - sizeof(PgQuery__CreateForeignTableStmt), - 3, - pg_query__create_foreign_table_stmt__field_descriptors, - pg_query__create_foreign_table_stmt__field_indices_by_name, - 1, pg_query__create_foreign_table_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_foreign_table_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__import_foreign_schema_stmt__field_descriptors[6] = -{ { - "server_name", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__ImportForeignSchemaStmt, server_name), + "including", + 14, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_including), + offsetof(PgQuery__Constraint, including), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "remote_schema", - 2, + "exclusions", + 15, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_exclusions), + offsetof(PgQuery__Constraint, exclusions), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 16, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_options), + offsetof(PgQuery__Constraint, options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "indexname", + 17, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ImportForeignSchemaStmt, remote_schema), + offsetof(PgQuery__Constraint, indexname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "local_schema", - 3, + "indexspace", + 18, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ImportForeignSchemaStmt, local_schema), + offsetof(PgQuery__Constraint, indexspace), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "list_type", - 4, + "reset_default_tblspc", + 19, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ImportForeignSchemaStmt, list_type), - &pg_query__import_foreign_schema_type__descriptor, + offsetof(PgQuery__Constraint, reset_default_tblspc), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table_list", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ImportForeignSchemaStmt, n_table_list), - offsetof(PgQuery__ImportForeignSchemaStmt, table_list), - &pg_query__node__descriptor, + "access_method", + 20, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, access_method), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 6, - PROTOBUF_C_LABEL_REPEATED, + "where_clause", + 21, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ImportForeignSchemaStmt, n_options), - offsetof(PgQuery__ImportForeignSchemaStmt, options), + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, where_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__import_foreign_schema_stmt__field_indices_by_name[] = { - 3, /* field[3] = list_type */ - 2, /* field[2] = local_schema */ - 5, /* field[5] = options */ - 1, /* field[1] = remote_schema */ - 0, /* field[0] = server_name */ - 4, /* field[4] = table_list */ -}; -static const ProtobufCIntRange pg_query__import_foreign_schema_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 6 } -}; -const ProtobufCMessageDescriptor pg_query__import_foreign_schema_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ImportForeignSchemaStmt", - "ImportForeignSchemaStmt", - "PgQuery__ImportForeignSchemaStmt", - "pg_query", - sizeof(PgQuery__ImportForeignSchemaStmt), - 6, - pg_query__import_foreign_schema_stmt__field_descriptors, - pg_query__import_foreign_schema_stmt__field_indices_by_name, - 1, pg_query__import_foreign_schema_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__import_foreign_schema_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_extension_stmt__field_descriptors[3] = -{ { - "extname", - 1, + "pktable", + 22, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateExtensionStmt, extname), + offsetof(PgQuery__Constraint, pktable), + &pg_query__range_var__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateExtensionStmt, if_not_exists), - NULL, + "fk_attrs", + 23, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_fk_attrs), + offsetof(PgQuery__Constraint, fk_attrs), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 3, + "pk_attrs", + 24, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateExtensionStmt, n_options), - offsetof(PgQuery__CreateExtensionStmt, options), + offsetof(PgQuery__Constraint, n_pk_attrs), + offsetof(PgQuery__Constraint, pk_attrs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_extension_stmt__field_indices_by_name[] = { - 0, /* field[0] = extname */ - 1, /* field[1] = if_not_exists */ - 2, /* field[2] = options */ -}; -static const ProtobufCIntRange pg_query__create_extension_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__create_extension_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateExtensionStmt", - "CreateExtensionStmt", - "PgQuery__CreateExtensionStmt", - "pg_query", - sizeof(PgQuery__CreateExtensionStmt), - 3, - pg_query__create_extension_stmt__field_descriptors, - pg_query__create_extension_stmt__field_indices_by_name, - 1, pg_query__create_extension_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_extension_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_extension_stmt__field_descriptors[2] = -{ { - "extname", - 1, + "fk_matchtype", + 25, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterExtensionStmt, extname), + offsetof(PgQuery__Constraint, fk_matchtype), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterExtensionStmt, n_options), - offsetof(PgQuery__AlterExtensionStmt, options), - &pg_query__node__descriptor, + "fk_upd_action", + 26, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__Constraint, fk_upd_action), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_extension_stmt__field_indices_by_name[] = { - 0, /* field[0] = extname */ - 1, /* field[1] = options */ -}; -static const ProtobufCIntRange pg_query__alter_extension_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__alter_extension_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterExtensionStmt", - "AlterExtensionStmt", - "PgQuery__AlterExtensionStmt", - "pg_query", - sizeof(PgQuery__AlterExtensionStmt), - 2, - pg_query__alter_extension_stmt__field_descriptors, - pg_query__alter_extension_stmt__field_indices_by_name, - 1, pg_query__alter_extension_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_extension_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_extension_contents_stmt__field_descriptors[4] = -{ { - "extname", - 1, + "fk_del_action", + 27, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterExtensionContentsStmt, extname), + offsetof(PgQuery__Constraint, fk_del_action), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "action", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterExtensionContentsStmt, action), + "fk_del_set_cols", + 28, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_fk_del_set_cols), + offsetof(PgQuery__Constraint, fk_del_set_cols), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "old_conpfeqop", + 29, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__Constraint, n_old_conpfeqop), + offsetof(PgQuery__Constraint, old_conpfeqop), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "objtype", - 3, + "old_pktable_oid", + 30, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterExtensionContentsStmt, objtype), - &pg_query__object_type__descriptor, + offsetof(PgQuery__Constraint, old_pktable_oid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "object", - 4, + "location", + 31, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterExtensionContentsStmt, object), - &pg_query__node__descriptor, + offsetof(PgQuery__Constraint, location), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_extension_contents_stmt__field_indices_by_name[] = { - 1, /* field[1] = action */ - 0, /* field[0] = extname */ - 3, /* field[3] = object */ - 2, /* field[2] = objtype */ +static const unsigned pg_query__constraint__field_indices_by_name[] = { + 19, /* field[19] = access_method */ + 1, /* field[1] = conname */ + 0, /* field[0] = contype */ + 8, /* field[8] = cooked_expr */ + 2, /* field[2] = deferrable */ + 14, /* field[14] = exclusions */ + 22, /* field[22] = fk_attrs */ + 26, /* field[26] = fk_del_action */ + 27, /* field[27] = fk_del_set_cols */ + 24, /* field[24] = fk_matchtype */ + 25, /* field[25] = fk_upd_action */ + 9, /* field[9] = generated_when */ + 13, /* field[13] = including */ + 16, /* field[16] = indexname */ + 17, /* field[17] = indexspace */ + 10, /* field[10] = inhcount */ + 3, /* field[3] = initdeferred */ + 5, /* field[5] = initially_valid */ + 6, /* field[6] = is_no_inherit */ + 12, /* field[12] = keys */ + 30, /* field[30] = location */ + 11, /* field[11] = nulls_not_distinct */ + 28, /* field[28] = old_conpfeqop */ + 29, /* field[29] = old_pktable_oid */ + 15, /* field[15] = options */ + 23, /* field[23] = pk_attrs */ + 21, /* field[21] = pktable */ + 7, /* field[7] = raw_expr */ + 18, /* field[18] = reset_default_tblspc */ + 4, /* field[4] = skip_validation */ + 20, /* field[20] = where_clause */ }; -static const ProtobufCIntRange pg_query__alter_extension_contents_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__constraint__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 31 } }; -const ProtobufCMessageDescriptor pg_query__alter_extension_contents_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__constraint__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterExtensionContentsStmt", - "AlterExtensionContentsStmt", - "PgQuery__AlterExtensionContentsStmt", + "pg_query.Constraint", + "Constraint", + "PgQuery__Constraint", "pg_query", - sizeof(PgQuery__AlterExtensionContentsStmt), - 4, - pg_query__alter_extension_contents_stmt__field_descriptors, - pg_query__alter_extension_contents_stmt__field_indices_by_name, - 1, pg_query__alter_extension_contents_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_extension_contents_stmt__init, + sizeof(PgQuery__Constraint), + 31, + pg_query__constraint__field_descriptors, + pg_query__constraint__field_indices_by_name, + 1, pg_query__constraint__number_ranges, + (ProtobufCMessageInit) pg_query__constraint__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_event_trig_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__create_table_space_stmt__field_descriptors[4] = { { - "trigname", + "tablespacename", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateEventTrigStmt, trigname), + offsetof(PgQuery__CreateTableSpaceStmt, tablespacename), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "eventname", + "owner", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateEventTrigStmt, eventname), + offsetof(PgQuery__CreateTableSpaceStmt, owner), + &pg_query__role_spec__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "whenclause", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateEventTrigStmt, n_whenclause), - offsetof(PgQuery__CreateEventTrigStmt, whenclause), - &pg_query__node__descriptor, + "location", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateTableSpaceStmt, location), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcname", + "options", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateEventTrigStmt, n_funcname), - offsetof(PgQuery__CreateEventTrigStmt, funcname), + offsetof(PgQuery__CreateTableSpaceStmt, n_options), + offsetof(PgQuery__CreateTableSpaceStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_event_trig_stmt__field_indices_by_name[] = { - 1, /* field[1] = eventname */ - 3, /* field[3] = funcname */ - 0, /* field[0] = trigname */ - 2, /* field[2] = whenclause */ +static const unsigned pg_query__create_table_space_stmt__field_indices_by_name[] = { + 2, /* field[2] = location */ + 3, /* field[3] = options */ + 1, /* field[1] = owner */ + 0, /* field[0] = tablespacename */ }; -static const ProtobufCIntRange pg_query__create_event_trig_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_table_space_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__create_event_trig_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_table_space_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateEventTrigStmt", - "CreateEventTrigStmt", - "PgQuery__CreateEventTrigStmt", + "pg_query.CreateTableSpaceStmt", + "CreateTableSpaceStmt", + "PgQuery__CreateTableSpaceStmt", "pg_query", - sizeof(PgQuery__CreateEventTrigStmt), + sizeof(PgQuery__CreateTableSpaceStmt), 4, - pg_query__create_event_trig_stmt__field_descriptors, - pg_query__create_event_trig_stmt__field_indices_by_name, - 1, pg_query__create_event_trig_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_event_trig_stmt__init, + pg_query__create_table_space_stmt__field_descriptors, + pg_query__create_table_space_stmt__field_indices_by_name, + 1, pg_query__create_table_space_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_table_space_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_event_trig_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__drop_table_space_stmt__field_descriptors[2] = { { - "trigname", + "tablespacename", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEventTrigStmt, trigname), + offsetof(PgQuery__DropTableSpaceStmt, tablespacename), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "tgenabled", + "missing_ok", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterEventTrigStmt, tgenabled), + offsetof(PgQuery__DropTableSpaceStmt, missing_ok), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_event_trig_stmt__field_indices_by_name[] = { - 1, /* field[1] = tgenabled */ - 0, /* field[0] = trigname */ +static const unsigned pg_query__drop_table_space_stmt__field_indices_by_name[] = { + 1, /* field[1] = missing_ok */ + 0, /* field[0] = tablespacename */ }; -static const ProtobufCIntRange pg_query__alter_event_trig_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__drop_table_space_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__alter_event_trig_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__drop_table_space_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterEventTrigStmt", - "AlterEventTrigStmt", - "PgQuery__AlterEventTrigStmt", + "pg_query.DropTableSpaceStmt", + "DropTableSpaceStmt", + "PgQuery__DropTableSpaceStmt", "pg_query", - sizeof(PgQuery__AlterEventTrigStmt), + sizeof(PgQuery__DropTableSpaceStmt), 2, - pg_query__alter_event_trig_stmt__field_descriptors, - pg_query__alter_event_trig_stmt__field_indices_by_name, - 1, pg_query__alter_event_trig_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_event_trig_stmt__init, + pg_query__drop_table_space_stmt__field_descriptors, + pg_query__drop_table_space_stmt__field_indices_by_name, + 1, pg_query__drop_table_space_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_table_space_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__refresh_mat_view_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_table_space_options_stmt__field_descriptors[3] = { { - "concurrent", + "tablespacename", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RefreshMatViewStmt, concurrent), - NULL, + offsetof(PgQuery__AlterTableSpaceOptionsStmt, tablespacename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "skip_data", + "options", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RefreshMatViewStmt, skip_data), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterTableSpaceOptionsStmt, n_options), + offsetof(PgQuery__AlterTableSpaceOptionsStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation", + "is_reset", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RefreshMatViewStmt, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterTableSpaceOptionsStmt, is_reset), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__refresh_mat_view_stmt__field_indices_by_name[] = { - 0, /* field[0] = concurrent */ - 2, /* field[2] = relation */ - 1, /* field[1] = skip_data */ +static const unsigned pg_query__alter_table_space_options_stmt__field_indices_by_name[] = { + 2, /* field[2] = is_reset */ + 1, /* field[1] = options */ + 0, /* field[0] = tablespacename */ }; -static const ProtobufCIntRange pg_query__refresh_mat_view_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_table_space_options_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__refresh_mat_view_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_table_space_options_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RefreshMatViewStmt", - "RefreshMatViewStmt", - "PgQuery__RefreshMatViewStmt", + "pg_query.AlterTableSpaceOptionsStmt", + "AlterTableSpaceOptionsStmt", + "PgQuery__AlterTableSpaceOptionsStmt", "pg_query", - sizeof(PgQuery__RefreshMatViewStmt), + sizeof(PgQuery__AlterTableSpaceOptionsStmt), 3, - pg_query__refresh_mat_view_stmt__field_descriptors, - pg_query__refresh_mat_view_stmt__field_indices_by_name, - 1, pg_query__refresh_mat_view_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__refresh_mat_view_stmt__init, + pg_query__alter_table_space_options_stmt__field_descriptors, + pg_query__alter_table_space_options_stmt__field_indices_by_name, + 1, pg_query__alter_table_space_options_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_table_space_options_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__replica_identity_stmt__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__alter_table_move_all_stmt__field_descriptors[5] = { { - "identity_type", + "orig_tablespacename", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ReplicaIdentityStmt, identity_type), + offsetof(PgQuery__AlterTableMoveAllStmt, orig_tablespacename), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "objtype", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ReplicaIdentityStmt, name), + offsetof(PgQuery__AlterTableMoveAllStmt, objtype), + &pg_query__object_type__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__replica_identity_stmt__field_indices_by_name[] = { - 0, /* field[0] = identity_type */ - 1, /* field[1] = name */ -}; -static const ProtobufCIntRange pg_query__replica_identity_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__replica_identity_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ReplicaIdentityStmt", - "ReplicaIdentityStmt", - "PgQuery__ReplicaIdentityStmt", - "pg_query", - sizeof(PgQuery__ReplicaIdentityStmt), - 2, - pg_query__replica_identity_stmt__field_descriptors, - pg_query__replica_identity_stmt__field_indices_by_name, - 1, pg_query__replica_identity_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__replica_identity_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_system_stmt__field_descriptors[1] = -{ { - "setstmt", - 1, - PROTOBUF_C_LABEL_NONE, + "roles", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSystemStmt, setstmt), - &pg_query__variable_set_stmt__descriptor, + offsetof(PgQuery__AlterTableMoveAllStmt, n_roles), + offsetof(PgQuery__AlterTableMoveAllStmt, roles), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__alter_system_stmt__field_indices_by_name[] = { - 0, /* field[0] = setstmt */ -}; -static const ProtobufCIntRange pg_query__alter_system_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 1 } -}; -const ProtobufCMessageDescriptor pg_query__alter_system_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterSystemStmt", - "AlterSystemStmt", - "PgQuery__AlterSystemStmt", - "pg_query", - sizeof(PgQuery__AlterSystemStmt), - 1, - pg_query__alter_system_stmt__field_descriptors, - pg_query__alter_system_stmt__field_indices_by_name, - 1, pg_query__alter_system_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_system_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__create_policy_stmt__field_descriptors[7] = -{ { - "policy_name", - 1, + "new_tablespacename", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, policy_name), + offsetof(PgQuery__AlterTableMoveAllStmt, new_tablespacename), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table", - 2, + "nowait", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, table), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterTableMoveAllStmt, nowait), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_table_move_all_stmt__field_indices_by_name[] = { + 3, /* field[3] = new_tablespacename */ + 4, /* field[4] = nowait */ + 1, /* field[1] = objtype */ + 0, /* field[0] = orig_tablespacename */ + 2, /* field[2] = roles */ +}; +static const ProtobufCIntRange pg_query__alter_table_move_all_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__alter_table_move_all_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterTableMoveAllStmt", + "AlterTableMoveAllStmt", + "PgQuery__AlterTableMoveAllStmt", + "pg_query", + sizeof(PgQuery__AlterTableMoveAllStmt), + 5, + pg_query__alter_table_move_all_stmt__field_descriptors, + pg_query__alter_table_move_all_stmt__field_indices_by_name, + 1, pg_query__alter_table_move_all_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_table_move_all_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_extension_stmt__field_descriptors[3] = +{ { - "cmd_name", - 3, + "extname", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, cmd_name), + offsetof(PgQuery__CreateExtensionStmt, extname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "permissive", - 4, + "if_not_exists", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, permissive), + offsetof(PgQuery__CreateExtensionStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "roles", - 5, + "options", + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePolicyStmt, n_roles), - offsetof(PgQuery__CreatePolicyStmt, roles), + offsetof(PgQuery__CreateExtensionStmt, n_options), + offsetof(PgQuery__CreateExtensionStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__create_extension_stmt__field_indices_by_name[] = { + 0, /* field[0] = extname */ + 1, /* field[1] = if_not_exists */ + 2, /* field[2] = options */ +}; +static const ProtobufCIntRange pg_query__create_extension_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__create_extension_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CreateExtensionStmt", + "CreateExtensionStmt", + "PgQuery__CreateExtensionStmt", + "pg_query", + sizeof(PgQuery__CreateExtensionStmt), + 3, + pg_query__create_extension_stmt__field_descriptors, + pg_query__create_extension_stmt__field_indices_by_name, + 1, pg_query__create_extension_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_extension_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_extension_stmt__field_descriptors[2] = +{ { - "qual", - 6, + "extname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, qual), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterExtensionStmt, extname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_check", - 7, - PROTOBUF_C_LABEL_NONE, + "options", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePolicyStmt, with_check), + offsetof(PgQuery__AlterExtensionStmt, n_options), + offsetof(PgQuery__AlterExtensionStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_policy_stmt__field_indices_by_name[] = { - 2, /* field[2] = cmd_name */ - 3, /* field[3] = permissive */ - 0, /* field[0] = policy_name */ - 5, /* field[5] = qual */ - 4, /* field[4] = roles */ - 1, /* field[1] = table */ - 6, /* field[6] = with_check */ +static const unsigned pg_query__alter_extension_stmt__field_indices_by_name[] = { + 0, /* field[0] = extname */ + 1, /* field[1] = options */ }; -static const ProtobufCIntRange pg_query__create_policy_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_extension_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__create_policy_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_extension_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreatePolicyStmt", - "CreatePolicyStmt", - "PgQuery__CreatePolicyStmt", + "pg_query.AlterExtensionStmt", + "AlterExtensionStmt", + "PgQuery__AlterExtensionStmt", "pg_query", - sizeof(PgQuery__CreatePolicyStmt), - 7, - pg_query__create_policy_stmt__field_descriptors, - pg_query__create_policy_stmt__field_indices_by_name, - 1, pg_query__create_policy_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_policy_stmt__init, + sizeof(PgQuery__AlterExtensionStmt), + 2, + pg_query__alter_extension_stmt__field_descriptors, + pg_query__alter_extension_stmt__field_indices_by_name, + 1, pg_query__alter_extension_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_extension_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_policy_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__alter_extension_contents_stmt__field_descriptors[4] = { { - "policy_name", + "extname", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPolicyStmt, policy_name), + offsetof(PgQuery__AlterExtensionContentsStmt, extname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "table", + "action", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPolicyStmt, table), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterExtensionContentsStmt, action), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "roles", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterPolicyStmt, n_roles), - offsetof(PgQuery__AlterPolicyStmt, roles), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "qual", - 4, + "objtype", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPolicyStmt, qual), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterExtensionContentsStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "with_check", - 5, + "object", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPolicyStmt, with_check), + offsetof(PgQuery__AlterExtensionContentsStmt, object), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_policy_stmt__field_indices_by_name[] = { - 0, /* field[0] = policy_name */ - 3, /* field[3] = qual */ - 2, /* field[2] = roles */ - 1, /* field[1] = table */ - 4, /* field[4] = with_check */ +static const unsigned pg_query__alter_extension_contents_stmt__field_indices_by_name[] = { + 1, /* field[1] = action */ + 0, /* field[0] = extname */ + 3, /* field[3] = object */ + 2, /* field[2] = objtype */ }; -static const ProtobufCIntRange pg_query__alter_policy_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_extension_contents_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_policy_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_extension_contents_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterPolicyStmt", - "AlterPolicyStmt", - "PgQuery__AlterPolicyStmt", + "pg_query.AlterExtensionContentsStmt", + "AlterExtensionContentsStmt", + "PgQuery__AlterExtensionContentsStmt", "pg_query", - sizeof(PgQuery__AlterPolicyStmt), - 5, - pg_query__alter_policy_stmt__field_descriptors, - pg_query__alter_policy_stmt__field_indices_by_name, - 1, pg_query__alter_policy_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_policy_stmt__init, + sizeof(PgQuery__AlterExtensionContentsStmt), + 4, + pg_query__alter_extension_contents_stmt__field_descriptors, + pg_query__alter_extension_contents_stmt__field_indices_by_name, + 1, pg_query__alter_extension_contents_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_extension_contents_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_transform_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__create_fdw_stmt__field_descriptors[3] = { { - "replace", + "fdwname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTransformStmt, replace), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "type_name", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTransformStmt, type_name), - &pg_query__type_name__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "lang", - 3, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTransformStmt, lang), + offsetof(PgQuery__CreateFdwStmt, fdwname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fromsql", - 4, - PROTOBUF_C_LABEL_NONE, + "func_options", + 2, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTransformStmt, fromsql), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__CreateFdwStmt, n_func_options), + offsetof(PgQuery__CreateFdwStmt, func_options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "tosql", - 5, - PROTOBUF_C_LABEL_NONE, + "options", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateTransformStmt, tosql), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__CreateFdwStmt, n_options), + offsetof(PgQuery__CreateFdwStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_transform_stmt__field_indices_by_name[] = { - 3, /* field[3] = fromsql */ - 2, /* field[2] = lang */ - 0, /* field[0] = replace */ - 4, /* field[4] = tosql */ - 1, /* field[1] = type_name */ +static const unsigned pg_query__create_fdw_stmt__field_indices_by_name[] = { + 0, /* field[0] = fdwname */ + 1, /* field[1] = func_options */ + 2, /* field[2] = options */ }; -static const ProtobufCIntRange pg_query__create_transform_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_fdw_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__create_transform_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_fdw_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateTransformStmt", - "CreateTransformStmt", - "PgQuery__CreateTransformStmt", + "pg_query.CreateFdwStmt", + "CreateFdwStmt", + "PgQuery__CreateFdwStmt", "pg_query", - sizeof(PgQuery__CreateTransformStmt), - 5, - pg_query__create_transform_stmt__field_descriptors, - pg_query__create_transform_stmt__field_indices_by_name, - 1, pg_query__create_transform_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_transform_stmt__init, + sizeof(PgQuery__CreateFdwStmt), + 3, + pg_query__create_fdw_stmt__field_descriptors, + pg_query__create_fdw_stmt__field_indices_by_name, + 1, pg_query__create_fdw_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_fdw_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_am_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_fdw_stmt__field_descriptors[3] = { { - "amname", + "fdwname", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateAmStmt, amname), + offsetof(PgQuery__AlterFdwStmt, fdwname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "handler_name", + "func_options", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateAmStmt, n_handler_name), - offsetof(PgQuery__CreateAmStmt, handler_name), + offsetof(PgQuery__AlterFdwStmt, n_func_options), + offsetof(PgQuery__AlterFdwStmt, func_options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "amtype", + "options", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateAmStmt, amtype), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterFdwStmt, n_options), + offsetof(PgQuery__AlterFdwStmt, options), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_am_stmt__field_indices_by_name[] = { - 0, /* field[0] = amname */ - 2, /* field[2] = amtype */ - 1, /* field[1] = handler_name */ +static const unsigned pg_query__alter_fdw_stmt__field_indices_by_name[] = { + 0, /* field[0] = fdwname */ + 1, /* field[1] = func_options */ + 2, /* field[2] = options */ }; -static const ProtobufCIntRange pg_query__create_am_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_fdw_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__create_am_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_fdw_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateAmStmt", - "CreateAmStmt", - "PgQuery__CreateAmStmt", + "pg_query.AlterFdwStmt", + "AlterFdwStmt", + "PgQuery__AlterFdwStmt", "pg_query", - sizeof(PgQuery__CreateAmStmt), + sizeof(PgQuery__AlterFdwStmt), 3, - pg_query__create_am_stmt__field_descriptors, - pg_query__create_am_stmt__field_indices_by_name, - 1, pg_query__create_am_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_am_stmt__init, + pg_query__alter_fdw_stmt__field_descriptors, + pg_query__alter_fdw_stmt__field_indices_by_name, + 1, pg_query__alter_fdw_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_fdw_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_publication_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__create_foreign_server_stmt__field_descriptors[6] = { { - "pubname", + "servername", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePublicationStmt, pubname), + offsetof(PgQuery__CreateForeignServerStmt, servername), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "servertype", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePublicationStmt, n_options), - offsetof(PgQuery__CreatePublicationStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateForeignServerStmt, servertype), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pubobjects", + "version", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreatePublicationStmt, n_pubobjects), - offsetof(PgQuery__CreatePublicationStmt, pubobjects), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateForeignServerStmt, version), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "for_all_tables", + "fdwname", 4, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateForeignServerStmt, fdwname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "if_not_exists", + 5, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CreatePublicationStmt, for_all_tables), + offsetof(PgQuery__CreateForeignServerStmt, if_not_exists), + NULL, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateForeignServerStmt, n_options), + offsetof(PgQuery__CreateForeignServerStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_publication_stmt__field_indices_by_name[] = { - 3, /* field[3] = for_all_tables */ - 1, /* field[1] = options */ - 0, /* field[0] = pubname */ - 2, /* field[2] = pubobjects */ +static const unsigned pg_query__create_foreign_server_stmt__field_indices_by_name[] = { + 3, /* field[3] = fdwname */ + 4, /* field[4] = if_not_exists */ + 5, /* field[5] = options */ + 0, /* field[0] = servername */ + 1, /* field[1] = servertype */ + 2, /* field[2] = version */ }; -static const ProtobufCIntRange pg_query__create_publication_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_foreign_server_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__create_publication_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_foreign_server_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreatePublicationStmt", - "CreatePublicationStmt", - "PgQuery__CreatePublicationStmt", + "pg_query.CreateForeignServerStmt", + "CreateForeignServerStmt", + "PgQuery__CreateForeignServerStmt", "pg_query", - sizeof(PgQuery__CreatePublicationStmt), - 4, - pg_query__create_publication_stmt__field_descriptors, - pg_query__create_publication_stmt__field_indices_by_name, - 1, pg_query__create_publication_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_publication_stmt__init, + sizeof(PgQuery__CreateForeignServerStmt), + 6, + pg_query__create_foreign_server_stmt__field_descriptors, + pg_query__create_foreign_server_stmt__field_indices_by_name, + 1, pg_query__create_foreign_server_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_foreign_server_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_publication_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__alter_foreign_server_stmt__field_descriptors[4] = { { - "pubname", + "servername", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPublicationStmt, pubname), + offsetof(PgQuery__AlterForeignServerStmt, servername), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "version", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterPublicationStmt, n_options), - offsetof(PgQuery__AlterPublicationStmt, options), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterForeignServerStmt, version), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pubobjects", + "options", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterPublicationStmt, n_pubobjects), - offsetof(PgQuery__AlterPublicationStmt, pubobjects), + offsetof(PgQuery__AlterForeignServerStmt, n_options), + offsetof(PgQuery__AlterForeignServerStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "for_all_tables", + "has_version", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPublicationStmt, for_all_tables), - NULL, + offsetof(PgQuery__AlterForeignServerStmt, has_version), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "action", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__AlterPublicationStmt, action), - &pg_query__alter_publication_action__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_publication_stmt__field_indices_by_name[] = { - 4, /* field[4] = action */ - 3, /* field[3] = for_all_tables */ - 1, /* field[1] = options */ - 0, /* field[0] = pubname */ - 2, /* field[2] = pubobjects */ +static const unsigned pg_query__alter_foreign_server_stmt__field_indices_by_name[] = { + 3, /* field[3] = has_version */ + 2, /* field[2] = options */ + 0, /* field[0] = servername */ + 1, /* field[1] = version */ }; -static const ProtobufCIntRange pg_query__alter_publication_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_foreign_server_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_publication_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_foreign_server_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterPublicationStmt", - "AlterPublicationStmt", - "PgQuery__AlterPublicationStmt", + "pg_query.AlterForeignServerStmt", + "AlterForeignServerStmt", + "PgQuery__AlterForeignServerStmt", "pg_query", - sizeof(PgQuery__AlterPublicationStmt), - 5, - pg_query__alter_publication_stmt__field_descriptors, - pg_query__alter_publication_stmt__field_indices_by_name, - 1, pg_query__alter_publication_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_publication_stmt__init, + sizeof(PgQuery__AlterForeignServerStmt), + 4, + pg_query__alter_foreign_server_stmt__field_descriptors, + pg_query__alter_foreign_server_stmt__field_indices_by_name, + 1, pg_query__alter_foreign_server_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_foreign_server_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_subscription_stmt__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__create_foreign_table_stmt__field_descriptors[3] = { { - "subname", + "base_stmt", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSubscriptionStmt, subname), + offsetof(PgQuery__CreateForeignTableStmt, base_stmt), + &pg_query__create_stmt__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "conninfo", + "servername", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateSubscriptionStmt, conninfo), + offsetof(PgQuery__CreateForeignTableStmt, servername), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "publication", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateSubscriptionStmt, n_publication), - offsetof(PgQuery__CreateSubscriptionStmt, publication), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, { "options", - 4, + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateSubscriptionStmt, n_options), - offsetof(PgQuery__CreateSubscriptionStmt, options), + offsetof(PgQuery__CreateForeignTableStmt, n_options), + offsetof(PgQuery__CreateForeignTableStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_subscription_stmt__field_indices_by_name[] = { - 1, /* field[1] = conninfo */ - 3, /* field[3] = options */ - 2, /* field[2] = publication */ - 0, /* field[0] = subname */ +static const unsigned pg_query__create_foreign_table_stmt__field_indices_by_name[] = { + 0, /* field[0] = base_stmt */ + 2, /* field[2] = options */ + 1, /* field[1] = servername */ }; -static const ProtobufCIntRange pg_query__create_subscription_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_foreign_table_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__create_subscription_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_foreign_table_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateSubscriptionStmt", - "CreateSubscriptionStmt", - "PgQuery__CreateSubscriptionStmt", + "pg_query.CreateForeignTableStmt", + "CreateForeignTableStmt", + "PgQuery__CreateForeignTableStmt", "pg_query", - sizeof(PgQuery__CreateSubscriptionStmt), - 4, - pg_query__create_subscription_stmt__field_descriptors, - pg_query__create_subscription_stmt__field_indices_by_name, - 1, pg_query__create_subscription_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_subscription_stmt__init, + sizeof(PgQuery__CreateForeignTableStmt), + 3, + pg_query__create_foreign_table_stmt__field_descriptors, + pg_query__create_foreign_table_stmt__field_indices_by_name, + 1, pg_query__create_foreign_table_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_foreign_table_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__alter_subscription_stmt__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__create_user_mapping_stmt__field_descriptors[4] = { { - "kind", + "user", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSubscriptionStmt, kind), - &pg_query__alter_subscription_type__descriptor, + offsetof(PgQuery__CreateUserMappingStmt, user), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subname", + "servername", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSubscriptionStmt, subname), + offsetof(PgQuery__CreateUserMappingStmt, servername), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "conninfo", + "if_not_exists", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterSubscriptionStmt, conninfo), + offsetof(PgQuery__CreateUserMappingStmt, if_not_exists), NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "publication", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterSubscriptionStmt, n_publication), - offsetof(PgQuery__AlterSubscriptionStmt, publication), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "options", - 5, + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterSubscriptionStmt, n_options), - offsetof(PgQuery__AlterSubscriptionStmt, options), + offsetof(PgQuery__CreateUserMappingStmt, n_options), + offsetof(PgQuery__CreateUserMappingStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_subscription_stmt__field_indices_by_name[] = { - 2, /* field[2] = conninfo */ - 0, /* field[0] = kind */ - 4, /* field[4] = options */ - 3, /* field[3] = publication */ - 1, /* field[1] = subname */ +static const unsigned pg_query__create_user_mapping_stmt__field_indices_by_name[] = { + 2, /* field[2] = if_not_exists */ + 3, /* field[3] = options */ + 1, /* field[1] = servername */ + 0, /* field[0] = user */ }; -static const ProtobufCIntRange pg_query__alter_subscription_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_user_mapping_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__alter_subscription_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_user_mapping_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterSubscriptionStmt", - "AlterSubscriptionStmt", - "PgQuery__AlterSubscriptionStmt", + "pg_query.CreateUserMappingStmt", + "CreateUserMappingStmt", + "PgQuery__CreateUserMappingStmt", "pg_query", - sizeof(PgQuery__AlterSubscriptionStmt), - 5, - pg_query__alter_subscription_stmt__field_descriptors, - pg_query__alter_subscription_stmt__field_indices_by_name, - 1, pg_query__alter_subscription_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_subscription_stmt__init, + sizeof(PgQuery__CreateUserMappingStmt), + 4, + pg_query__create_user_mapping_stmt__field_descriptors, + pg_query__create_user_mapping_stmt__field_indices_by_name, + 1, pg_query__create_user_mapping_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_user_mapping_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__drop_subscription_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_user_mapping_stmt__field_descriptors[3] = { { - "subname", + "user", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DropSubscriptionStmt, subname), + offsetof(PgQuery__AlterUserMappingStmt, user), + &pg_query__role_spec__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", + "servername", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__DropSubscriptionStmt, missing_ok), - NULL, + offsetof(PgQuery__AlterUserMappingStmt, servername), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "behavior", + "options", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__DropSubscriptionStmt, behavior), - &pg_query__drop_behavior__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterUserMappingStmt, n_options), + offsetof(PgQuery__AlterUserMappingStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__drop_subscription_stmt__field_indices_by_name[] = { - 2, /* field[2] = behavior */ - 1, /* field[1] = missing_ok */ - 0, /* field[0] = subname */ +static const unsigned pg_query__alter_user_mapping_stmt__field_indices_by_name[] = { + 2, /* field[2] = options */ + 1, /* field[1] = servername */ + 0, /* field[0] = user */ }; -static const ProtobufCIntRange pg_query__drop_subscription_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_user_mapping_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__drop_subscription_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_user_mapping_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DropSubscriptionStmt", - "DropSubscriptionStmt", - "PgQuery__DropSubscriptionStmt", + "pg_query.AlterUserMappingStmt", + "AlterUserMappingStmt", + "PgQuery__AlterUserMappingStmt", "pg_query", - sizeof(PgQuery__DropSubscriptionStmt), + sizeof(PgQuery__AlterUserMappingStmt), 3, - pg_query__drop_subscription_stmt__field_descriptors, - pg_query__drop_subscription_stmt__field_indices_by_name, - 1, pg_query__drop_subscription_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__drop_subscription_stmt__init, + pg_query__alter_user_mapping_stmt__field_descriptors, + pg_query__alter_user_mapping_stmt__field_indices_by_name, + 1, pg_query__alter_user_mapping_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_user_mapping_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_stats_stmt__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__drop_user_mapping_stmt__field_descriptors[3] = { { - "defnames", + "user", 1, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStatsStmt, n_defnames), - offsetof(PgQuery__CreateStatsStmt, defnames), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__DropUserMappingStmt, user), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stat_types", + "servername", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStatsStmt, n_stat_types), - offsetof(PgQuery__CreateStatsStmt, stat_types), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__DropUserMappingStmt, servername), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "exprs", + "missing_ok", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStatsStmt, n_exprs), - offsetof(PgQuery__CreateStatsStmt, exprs), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__DropUserMappingStmt, missing_ok), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__drop_user_mapping_stmt__field_indices_by_name[] = { + 2, /* field[2] = missing_ok */ + 1, /* field[1] = servername */ + 0, /* field[0] = user */ +}; +static const ProtobufCIntRange pg_query__drop_user_mapping_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__drop_user_mapping_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DropUserMappingStmt", + "DropUserMappingStmt", + "PgQuery__DropUserMappingStmt", + "pg_query", + sizeof(PgQuery__DropUserMappingStmt), + 3, + pg_query__drop_user_mapping_stmt__field_descriptors, + pg_query__drop_user_mapping_stmt__field_indices_by_name, + 1, pg_query__drop_user_mapping_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_user_mapping_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__import_foreign_schema_stmt__field_descriptors[6] = +{ { - "relations", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateStatsStmt, n_relations), - offsetof(PgQuery__CreateStatsStmt, relations), - &pg_query__node__descriptor, + "server_name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__ImportForeignSchemaStmt, server_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stxcomment", - 5, + "remote_schema", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStatsStmt, stxcomment), + offsetof(PgQuery__ImportForeignSchemaStmt, remote_schema), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "transformed", - 6, + "local_schema", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStatsStmt, transformed), - NULL, + offsetof(PgQuery__ImportForeignSchemaStmt, local_schema), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "if_not_exists", - 7, + "list_type", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateStatsStmt, if_not_exists), + offsetof(PgQuery__ImportForeignSchemaStmt, list_type), + &pg_query__import_foreign_schema_type__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_list", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ImportForeignSchemaStmt, n_table_list), + offsetof(PgQuery__ImportForeignSchemaStmt, table_list), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__create_stats_stmt__field_indices_by_name[] = { - 0, /* field[0] = defnames */ - 2, /* field[2] = exprs */ - 6, /* field[6] = if_not_exists */ - 3, /* field[3] = relations */ - 1, /* field[1] = stat_types */ - 4, /* field[4] = stxcomment */ - 5, /* field[5] = transformed */ -}; -static const ProtobufCIntRange pg_query__create_stats_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 7 } -}; -const ProtobufCMessageDescriptor pg_query__create_stats_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateStatsStmt", - "CreateStatsStmt", - "PgQuery__CreateStatsStmt", - "pg_query", - sizeof(PgQuery__CreateStatsStmt), - 7, - pg_query__create_stats_stmt__field_descriptors, - pg_query__create_stats_stmt__field_indices_by_name, - 1, pg_query__create_stats_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__create_stats_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_collation_stmt__field_descriptors[1] = -{ { - "collname", - 1, + "options", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterCollationStmt, n_collname), - offsetof(PgQuery__AlterCollationStmt, collname), + offsetof(PgQuery__ImportForeignSchemaStmt, n_options), + offsetof(PgQuery__ImportForeignSchemaStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_collation_stmt__field_indices_by_name[] = { - 0, /* field[0] = collname */ +static const unsigned pg_query__import_foreign_schema_stmt__field_indices_by_name[] = { + 3, /* field[3] = list_type */ + 2, /* field[2] = local_schema */ + 5, /* field[5] = options */ + 1, /* field[1] = remote_schema */ + 0, /* field[0] = server_name */ + 4, /* field[4] = table_list */ }; -static const ProtobufCIntRange pg_query__alter_collation_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__import_foreign_schema_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__alter_collation_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__import_foreign_schema_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterCollationStmt", - "AlterCollationStmt", - "PgQuery__AlterCollationStmt", + "pg_query.ImportForeignSchemaStmt", + "ImportForeignSchemaStmt", + "PgQuery__ImportForeignSchemaStmt", "pg_query", - sizeof(PgQuery__AlterCollationStmt), - 1, - pg_query__alter_collation_stmt__field_descriptors, - pg_query__alter_collation_stmt__field_indices_by_name, - 1, pg_query__alter_collation_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_collation_stmt__init, + sizeof(PgQuery__ImportForeignSchemaStmt), + 6, + pg_query__import_foreign_schema_stmt__field_descriptors, + pg_query__import_foreign_schema_stmt__field_indices_by_name, + 1, pg_query__import_foreign_schema_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__import_foreign_schema_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__call_stmt__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_policy_stmt__field_descriptors[7] = { { - "funccall", + "policy_name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CallStmt, funccall), - &pg_query__func_call__descriptor, + offsetof(PgQuery__CreatePolicyStmt, policy_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcexpr", + "table", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CallStmt, funcexpr), - &pg_query__func_expr__descriptor, + offsetof(PgQuery__CreatePolicyStmt, table), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "outargs", + "cmd_name", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CallStmt, n_outargs), - offsetof(PgQuery__CallStmt, outargs), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreatePolicyStmt, cmd_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__call_stmt__field_indices_by_name[] = { - 0, /* field[0] = funccall */ - 1, /* field[1] = funcexpr */ - 2, /* field[2] = outargs */ -}; -static const ProtobufCIntRange pg_query__call_stmt__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__call_stmt__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CallStmt", - "CallStmt", - "PgQuery__CallStmt", - "pg_query", - sizeof(PgQuery__CallStmt), - 3, - pg_query__call_stmt__field_descriptors, - pg_query__call_stmt__field_indices_by_name, - 1, pg_query__call_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__call_stmt__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__alter_stats_stmt__field_descriptors[3] = -{ { - "defnames", - 1, + "permissive", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreatePolicyStmt, permissive), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "roles", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AlterStatsStmt, n_defnames), - offsetof(PgQuery__AlterStatsStmt, defnames), + offsetof(PgQuery__CreatePolicyStmt, n_roles), + offsetof(PgQuery__CreatePolicyStmt, roles), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "stxstattarget", - 2, + "qual", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterStatsStmt, stxstattarget), - NULL, + offsetof(PgQuery__CreatePolicyStmt, qual), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "missing_ok", - 3, + "with_check", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AlterStatsStmt, missing_ok), - NULL, + offsetof(PgQuery__CreatePolicyStmt, with_check), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__alter_stats_stmt__field_indices_by_name[] = { - 0, /* field[0] = defnames */ - 2, /* field[2] = missing_ok */ - 1, /* field[1] = stxstattarget */ +static const unsigned pg_query__create_policy_stmt__field_indices_by_name[] = { + 2, /* field[2] = cmd_name */ + 3, /* field[3] = permissive */ + 0, /* field[0] = policy_name */ + 5, /* field[5] = qual */ + 4, /* field[4] = roles */ + 1, /* field[1] = table */ + 6, /* field[6] = with_check */ }; -static const ProtobufCIntRange pg_query__alter_stats_stmt__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_policy_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__alter_stats_stmt__descriptor = +const ProtobufCMessageDescriptor pg_query__create_policy_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AlterStatsStmt", - "AlterStatsStmt", - "PgQuery__AlterStatsStmt", + "pg_query.CreatePolicyStmt", + "CreatePolicyStmt", + "PgQuery__CreatePolicyStmt", "pg_query", - sizeof(PgQuery__AlterStatsStmt), - 3, - pg_query__alter_stats_stmt__field_descriptors, - pg_query__alter_stats_stmt__field_indices_by_name, - 1, pg_query__alter_stats_stmt__number_ranges, - (ProtobufCMessageInit) pg_query__alter_stats_stmt__init, + sizeof(PgQuery__CreatePolicyStmt), + 7, + pg_query__create_policy_stmt__field_descriptors, + pg_query__create_policy_stmt__field_indices_by_name, + 1, pg_query__create_policy_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_policy_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__a__expr__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__alter_policy_stmt__field_descriptors[5] = { { - "kind", + "policy_name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AExpr, kind), - &pg_query__a__expr__kind__descriptor, + offsetof(PgQuery__AlterPolicyStmt, policy_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "name", + "table", 2, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AExpr, n_name), - offsetof(PgQuery__AExpr, name), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterPolicyStmt, table), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "lexpr", + "roles", 3, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AExpr, lexpr), + offsetof(PgQuery__AlterPolicyStmt, n_roles), + offsetof(PgQuery__AlterPolicyStmt, roles), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rexpr", + "qual", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AExpr, rexpr), + offsetof(PgQuery__AlterPolicyStmt, qual), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "with_check", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__AExpr, location), - NULL, + offsetof(PgQuery__AlterPolicyStmt, with_check), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__a__expr__field_indices_by_name[] = { - 0, /* field[0] = kind */ - 2, /* field[2] = lexpr */ - 4, /* field[4] = location */ - 1, /* field[1] = name */ - 3, /* field[3] = rexpr */ +static const unsigned pg_query__alter_policy_stmt__field_indices_by_name[] = { + 0, /* field[0] = policy_name */ + 3, /* field[3] = qual */ + 2, /* field[2] = roles */ + 1, /* field[1] = table */ + 4, /* field[4] = with_check */ }; -static const ProtobufCIntRange pg_query__a__expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_policy_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__a__expr__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_policy_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_Expr", - "AExpr", - "PgQuery__AExpr", + "pg_query.AlterPolicyStmt", + "AlterPolicyStmt", + "PgQuery__AlterPolicyStmt", "pg_query", - sizeof(PgQuery__AExpr), + sizeof(PgQuery__AlterPolicyStmt), 5, - pg_query__a__expr__field_descriptors, - pg_query__a__expr__field_indices_by_name, - 1, pg_query__a__expr__number_ranges, - (ProtobufCMessageInit) pg_query__a__expr__init, + pg_query__alter_policy_stmt__field_descriptors, + pg_query__alter_policy_stmt__field_indices_by_name, + 1, pg_query__alter_policy_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_policy_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__column_ref__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__create_am_stmt__field_descriptors[3] = { { - "fields", + "amname", 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateAmStmt, amname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "handler_name", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ColumnRef, n_fields), - offsetof(PgQuery__ColumnRef, fields), + offsetof(PgQuery__CreateAmStmt, n_handler_name), + offsetof(PgQuery__CreateAmStmt, handler_name), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 2, + "amtype", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnRef, location), - NULL, + offsetof(PgQuery__CreateAmStmt, amtype), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__column_ref__field_indices_by_name[] = { - 0, /* field[0] = fields */ - 1, /* field[1] = location */ +static const unsigned pg_query__create_am_stmt__field_indices_by_name[] = { + 0, /* field[0] = amname */ + 2, /* field[2] = amtype */ + 1, /* field[1] = handler_name */ }; -static const ProtobufCIntRange pg_query__column_ref__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_am_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 2 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__column_ref__descriptor = +const ProtobufCMessageDescriptor pg_query__create_am_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ColumnRef", - "ColumnRef", - "PgQuery__ColumnRef", + "pg_query.CreateAmStmt", + "CreateAmStmt", + "PgQuery__CreateAmStmt", "pg_query", - sizeof(PgQuery__ColumnRef), - 2, - pg_query__column_ref__field_descriptors, - pg_query__column_ref__field_indices_by_name, - 1, pg_query__column_ref__number_ranges, - (ProtobufCMessageInit) pg_query__column_ref__init, + sizeof(PgQuery__CreateAmStmt), + 3, + pg_query__create_am_stmt__field_descriptors, + pg_query__create_am_stmt__field_indices_by_name, + 1, pg_query__create_am_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_am_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__param_ref__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__create_trig_stmt__field_descriptors[15] = { { - "number", + "replace", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ParamRef, number), + offsetof(PgQuery__CreateTrigStmt, replace), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "isconstraint", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ParamRef, location), + offsetof(PgQuery__CreateTrigStmt, isconstraint), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__param_ref__field_indices_by_name[] = { - 1, /* field[1] = location */ - 0, /* field[0] = number */ -}; -static const ProtobufCIntRange pg_query__param_ref__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__param_ref__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ParamRef", - "ParamRef", - "PgQuery__ParamRef", - "pg_query", - sizeof(PgQuery__ParamRef), - 2, - pg_query__param_ref__field_descriptors, - pg_query__param_ref__field_indices_by_name, - 1, pg_query__param_ref__number_ranges, - (ProtobufCMessageInit) pg_query__param_ref__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__func_call__field_descriptors[11] = -{ { - "funcname", - 1, - PROTOBUF_C_LABEL_REPEATED, + "trigname", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateTrigStmt, trigname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "relation", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FuncCall, n_funcname), - offsetof(PgQuery__FuncCall, funcname), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateTrigStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", - 2, + "funcname", + 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FuncCall, n_args), - offsetof(PgQuery__FuncCall, args), + offsetof(PgQuery__CreateTrigStmt, n_funcname), + offsetof(PgQuery__CreateTrigStmt, funcname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agg_order", - 3, + "args", + 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__FuncCall, n_agg_order), - offsetof(PgQuery__FuncCall, agg_order), + offsetof(PgQuery__CreateTrigStmt, n_args), + offsetof(PgQuery__CreateTrigStmt, args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agg_filter", - 4, + "row", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, agg_filter), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateTrigStmt, row), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "over", - 5, + "timing", + 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, over), - &pg_query__window_def__descriptor, + offsetof(PgQuery__CreateTrigStmt, timing), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agg_within_group", - 6, + "events", + 9, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, agg_within_group), + offsetof(PgQuery__CreateTrigStmt, events), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agg_star", - 7, + "columns", + 10, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateTrigStmt, n_columns), + offsetof(PgQuery__CreateTrigStmt, columns), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "when_clause", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, agg_star), + offsetof(PgQuery__CreateTrigStmt, when_clause), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "transition_rels", + 12, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateTrigStmt, n_transition_rels), + offsetof(PgQuery__CreateTrigStmt, transition_rels), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "agg_distinct", - 8, + "deferrable", + 13, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, agg_distinct), + offsetof(PgQuery__CreateTrigStmt, deferrable), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "func_variadic", - 9, + "initdeferred", + 14, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, func_variadic), - NULL, + offsetof(PgQuery__CreateTrigStmt, initdeferred), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "funcformat", - 10, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, funcformat), - &pg_query__coercion_form__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 11, + "constrrel", + 15, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FuncCall, location), - NULL, + offsetof(PgQuery__CreateTrigStmt, constrrel), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__func_call__field_indices_by_name[] = { - 7, /* field[7] = agg_distinct */ - 3, /* field[3] = agg_filter */ - 2, /* field[2] = agg_order */ - 6, /* field[6] = agg_star */ - 5, /* field[5] = agg_within_group */ - 1, /* field[1] = args */ - 8, /* field[8] = func_variadic */ - 9, /* field[9] = funcformat */ - 0, /* field[0] = funcname */ - 10, /* field[10] = location */ - 4, /* field[4] = over */ +static const unsigned pg_query__create_trig_stmt__field_indices_by_name[] = { + 5, /* field[5] = args */ + 9, /* field[9] = columns */ + 14, /* field[14] = constrrel */ + 12, /* field[12] = deferrable */ + 8, /* field[8] = events */ + 4, /* field[4] = funcname */ + 13, /* field[13] = initdeferred */ + 1, /* field[1] = isconstraint */ + 3, /* field[3] = relation */ + 0, /* field[0] = replace */ + 6, /* field[6] = row */ + 7, /* field[7] = timing */ + 11, /* field[11] = transition_rels */ + 2, /* field[2] = trigname */ + 10, /* field[10] = when_clause */ }; -static const ProtobufCIntRange pg_query__func_call__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_trig_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 11 } -}; -const ProtobufCMessageDescriptor pg_query__func_call__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FuncCall", - "FuncCall", - "PgQuery__FuncCall", - "pg_query", - sizeof(PgQuery__FuncCall), - 11, - pg_query__func_call__field_descriptors, - pg_query__func_call__field_indices_by_name, - 1, pg_query__func_call__number_ranges, - (ProtobufCMessageInit) pg_query__func_call__init, - NULL,NULL,NULL /* reserved[123] */ + { 0, 15 } }; -#define pg_query__a__star__field_descriptors NULL -#define pg_query__a__star__field_indices_by_name NULL -#define pg_query__a__star__number_ranges NULL -const ProtobufCMessageDescriptor pg_query__a__star__descriptor = +const ProtobufCMessageDescriptor pg_query__create_trig_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_Star", - "AStar", - "PgQuery__AStar", + "pg_query.CreateTrigStmt", + "CreateTrigStmt", + "PgQuery__CreateTrigStmt", "pg_query", - sizeof(PgQuery__AStar), - 0, - pg_query__a__star__field_descriptors, - pg_query__a__star__field_indices_by_name, - 0, pg_query__a__star__number_ranges, - (ProtobufCMessageInit) pg_query__a__star__init, + sizeof(PgQuery__CreateTrigStmt), + 15, + pg_query__create_trig_stmt__field_descriptors, + pg_query__create_trig_stmt__field_indices_by_name, + 1, pg_query__create_trig_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_trig_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__a__indices__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_event_trig_stmt__field_descriptors[4] = { { - "is_slice", + "trigname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AIndices, is_slice), - NULL, + offsetof(PgQuery__CreateEventTrigStmt, trigname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "lidx", + "eventname", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AIndices, lidx), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateEventTrigStmt, eventname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "uidx", + "whenclause", 3, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__AIndices, uidx), + offsetof(PgQuery__CreateEventTrigStmt, n_whenclause), + offsetof(PgQuery__CreateEventTrigStmt, whenclause), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "funcname", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateEventTrigStmt, n_funcname), + offsetof(PgQuery__CreateEventTrigStmt, funcname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__a__indices__field_indices_by_name[] = { - 0, /* field[0] = is_slice */ - 1, /* field[1] = lidx */ - 2, /* field[2] = uidx */ +static const unsigned pg_query__create_event_trig_stmt__field_indices_by_name[] = { + 1, /* field[1] = eventname */ + 3, /* field[3] = funcname */ + 0, /* field[0] = trigname */ + 2, /* field[2] = whenclause */ }; -static const ProtobufCIntRange pg_query__a__indices__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_event_trig_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__a__indices__descriptor = +const ProtobufCMessageDescriptor pg_query__create_event_trig_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_Indices", - "AIndices", - "PgQuery__AIndices", + "pg_query.CreateEventTrigStmt", + "CreateEventTrigStmt", + "PgQuery__CreateEventTrigStmt", "pg_query", - sizeof(PgQuery__AIndices), - 3, - pg_query__a__indices__field_descriptors, - pg_query__a__indices__field_indices_by_name, - 1, pg_query__a__indices__number_ranges, - (ProtobufCMessageInit) pg_query__a__indices__init, + sizeof(PgQuery__CreateEventTrigStmt), + 4, + pg_query__create_event_trig_stmt__field_descriptors, + pg_query__create_event_trig_stmt__field_indices_by_name, + 1, pg_query__create_event_trig_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_event_trig_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__a__indirection__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__alter_event_trig_stmt__field_descriptors[2] = { { - "arg", + "trigname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AIndirection, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterEventTrigStmt, trigname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indirection", + "tgenabled", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AIndirection, n_indirection), - offsetof(PgQuery__AIndirection, indirection), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterEventTrigStmt, tgenabled), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__a__indirection__field_indices_by_name[] = { - 0, /* field[0] = arg */ - 1, /* field[1] = indirection */ +static const unsigned pg_query__alter_event_trig_stmt__field_indices_by_name[] = { + 1, /* field[1] = tgenabled */ + 0, /* field[0] = trigname */ }; -static const ProtobufCIntRange pg_query__a__indirection__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_event_trig_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__a__indirection__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_event_trig_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_Indirection", - "AIndirection", - "PgQuery__AIndirection", + "pg_query.AlterEventTrigStmt", + "AlterEventTrigStmt", + "PgQuery__AlterEventTrigStmt", "pg_query", - sizeof(PgQuery__AIndirection), + sizeof(PgQuery__AlterEventTrigStmt), 2, - pg_query__a__indirection__field_descriptors, - pg_query__a__indirection__field_indices_by_name, - 1, pg_query__a__indirection__number_ranges, - (ProtobufCMessageInit) pg_query__a__indirection__init, + pg_query__alter_event_trig_stmt__field_descriptors, + pg_query__alter_event_trig_stmt__field_indices_by_name, + 1, pg_query__alter_event_trig_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_event_trig_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__a__array_expr__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__create_plang_stmt__field_descriptors[6] = { { - "elements", + "replace", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AArrayExpr, n_elements), - offsetof(PgQuery__AArrayExpr, elements), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreatePLangStmt, replace), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "plname", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AArrayExpr, location), - NULL, + offsetof(PgQuery__CreatePLangStmt, plname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__a__array_expr__field_indices_by_name[] = { - 0, /* field[0] = elements */ - 1, /* field[1] = location */ -}; -static const ProtobufCIntRange pg_query__a__array_expr__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__a__array_expr__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.A_ArrayExpr", - "AArrayExpr", - "PgQuery__AArrayExpr", - "pg_query", - sizeof(PgQuery__AArrayExpr), - 2, - pg_query__a__array_expr__field_descriptors, - pg_query__a__array_expr__field_indices_by_name, - 1, pg_query__a__array_expr__number_ranges, - (ProtobufCMessageInit) pg_query__a__array_expr__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__res_target__field_descriptors[4] = -{ { - "name", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__ResTarget, name), + "plhandler", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreatePLangStmt, n_plhandler), + offsetof(PgQuery__CreatePLangStmt, plhandler), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indirection", - 2, + "plinline", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ResTarget, n_indirection), - offsetof(PgQuery__ResTarget, indirection), + offsetof(PgQuery__CreatePLangStmt, n_plinline), + offsetof(PgQuery__CreatePLangStmt, plinline), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "val", - 3, - PROTOBUF_C_LABEL_NONE, + "plvalidator", + 5, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__ResTarget, val), + offsetof(PgQuery__CreatePLangStmt, n_plvalidator), + offsetof(PgQuery__CreatePLangStmt, plvalidator), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 4, + "pltrusted", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ResTarget, location), + offsetof(PgQuery__CreatePLangStmt, pltrusted), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__res_target__field_indices_by_name[] = { - 1, /* field[1] = indirection */ - 3, /* field[3] = location */ - 0, /* field[0] = name */ - 2, /* field[2] = val */ +static const unsigned pg_query__create_plang_stmt__field_indices_by_name[] = { + 2, /* field[2] = plhandler */ + 3, /* field[3] = plinline */ + 1, /* field[1] = plname */ + 5, /* field[5] = pltrusted */ + 4, /* field[4] = plvalidator */ + 0, /* field[0] = replace */ }; -static const ProtobufCIntRange pg_query__res_target__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_plang_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__res_target__descriptor = +const ProtobufCMessageDescriptor pg_query__create_plang_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ResTarget", - "ResTarget", - "PgQuery__ResTarget", + "pg_query.CreatePLangStmt", + "CreatePLangStmt", + "PgQuery__CreatePLangStmt", "pg_query", - sizeof(PgQuery__ResTarget), - 4, - pg_query__res_target__field_descriptors, - pg_query__res_target__field_indices_by_name, - 1, pg_query__res_target__number_ranges, - (ProtobufCMessageInit) pg_query__res_target__init, + sizeof(PgQuery__CreatePLangStmt), + 6, + pg_query__create_plang_stmt__field_descriptors, + pg_query__create_plang_stmt__field_indices_by_name, + 1, pg_query__create_plang_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_plang_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__multi_assign_ref__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_role_stmt__field_descriptors[3] = { { - "source", + "stmt_type", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__MultiAssignRef, source), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateRoleStmt, stmt_type), + &pg_query__role_stmt_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colno", + "role", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__MultiAssignRef, colno), - NULL, + offsetof(PgQuery__CreateRoleStmt, role), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ncolumns", + "options", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__MultiAssignRef, ncolumns), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateRoleStmt, n_options), + offsetof(PgQuery__CreateRoleStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__multi_assign_ref__field_indices_by_name[] = { - 1, /* field[1] = colno */ - 2, /* field[2] = ncolumns */ - 0, /* field[0] = source */ +static const unsigned pg_query__create_role_stmt__field_indices_by_name[] = { + 2, /* field[2] = options */ + 1, /* field[1] = role */ + 0, /* field[0] = stmt_type */ }; -static const ProtobufCIntRange pg_query__multi_assign_ref__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_role_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__multi_assign_ref__descriptor = +const ProtobufCMessageDescriptor pg_query__create_role_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MultiAssignRef", - "MultiAssignRef", - "PgQuery__MultiAssignRef", + "pg_query.CreateRoleStmt", + "CreateRoleStmt", + "PgQuery__CreateRoleStmt", "pg_query", - sizeof(PgQuery__MultiAssignRef), + sizeof(PgQuery__CreateRoleStmt), 3, - pg_query__multi_assign_ref__field_descriptors, - pg_query__multi_assign_ref__field_indices_by_name, - 1, pg_query__multi_assign_ref__number_ranges, - (ProtobufCMessageInit) pg_query__multi_assign_ref__init, + pg_query__create_role_stmt__field_descriptors, + pg_query__create_role_stmt__field_indices_by_name, + 1, pg_query__create_role_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_role_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__type_cast__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_role_stmt__field_descriptors[3] = { { - "arg", + "role", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeCast, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterRoleStmt, role), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "options", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__TypeCast, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__AlterRoleStmt, n_options), + offsetof(PgQuery__AlterRoleStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "action", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeCast, location), + offsetof(PgQuery__AlterRoleStmt, action), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__type_cast__field_indices_by_name[] = { - 0, /* field[0] = arg */ - 2, /* field[2] = location */ - 1, /* field[1] = type_name */ +static const unsigned pg_query__alter_role_stmt__field_indices_by_name[] = { + 2, /* field[2] = action */ + 1, /* field[1] = options */ + 0, /* field[0] = role */ }; -static const ProtobufCIntRange pg_query__type_cast__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_role_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__type_cast__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_role_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TypeCast", - "TypeCast", - "PgQuery__TypeCast", + "pg_query.AlterRoleStmt", + "AlterRoleStmt", + "PgQuery__AlterRoleStmt", "pg_query", - sizeof(PgQuery__TypeCast), + sizeof(PgQuery__AlterRoleStmt), 3, - pg_query__type_cast__field_descriptors, - pg_query__type_cast__field_indices_by_name, - 1, pg_query__type_cast__number_ranges, - (ProtobufCMessageInit) pg_query__type_cast__init, + pg_query__alter_role_stmt__field_descriptors, + pg_query__alter_role_stmt__field_indices_by_name, + 1, pg_query__alter_role_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_role_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__collate_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_role_set_stmt__field_descriptors[3] = { { - "arg", + "role", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateClause, arg), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterRoleSetStmt, role), + &pg_query__role_spec__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "database", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterRoleSetStmt, database), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "setstmt", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterRoleSetStmt, setstmt), + &pg_query__variable_set_stmt__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_role_set_stmt__field_indices_by_name[] = { + 1, /* field[1] = database */ + 0, /* field[0] = role */ + 2, /* field[2] = setstmt */ +}; +static const ProtobufCIntRange pg_query__alter_role_set_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__alter_role_set_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterRoleSetStmt", + "AlterRoleSetStmt", + "PgQuery__AlterRoleSetStmt", + "pg_query", + sizeof(PgQuery__AlterRoleSetStmt), + 3, + pg_query__alter_role_set_stmt__field_descriptors, + pg_query__alter_role_set_stmt__field_indices_by_name, + 1, pg_query__alter_role_set_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_role_set_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__drop_role_stmt__field_descriptors[2] = +{ { - "collname", - 2, + "roles", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CollateClause, n_collname), - offsetof(PgQuery__CollateClause, collname), + offsetof(PgQuery__DropRoleStmt, n_roles), + offsetof(PgQuery__DropRoleStmt, roles), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 3, + "missing_ok", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CollateClause, location), + offsetof(PgQuery__DropRoleStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__collate_clause__field_indices_by_name[] = { - 0, /* field[0] = arg */ - 1, /* field[1] = collname */ - 2, /* field[2] = location */ +static const unsigned pg_query__drop_role_stmt__field_indices_by_name[] = { + 1, /* field[1] = missing_ok */ + 0, /* field[0] = roles */ }; -static const ProtobufCIntRange pg_query__collate_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__drop_role_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__collate_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__drop_role_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CollateClause", - "CollateClause", - "PgQuery__CollateClause", + "pg_query.DropRoleStmt", + "DropRoleStmt", + "PgQuery__DropRoleStmt", "pg_query", - sizeof(PgQuery__CollateClause), - 3, - pg_query__collate_clause__field_descriptors, - pg_query__collate_clause__field_indices_by_name, - 1, pg_query__collate_clause__number_ranges, - (ProtobufCMessageInit) pg_query__collate_clause__init, + sizeof(PgQuery__DropRoleStmt), + 2, + pg_query__drop_role_stmt__field_descriptors, + pg_query__drop_role_stmt__field_indices_by_name, + 1, pg_query__drop_role_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_role_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sort_by__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__create_seq_stmt__field_descriptors[5] = { { - "node", + "sequence", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SortBy, node), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateSeqStmt, sequence), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sortby_dir", + "options", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortBy, sortby_dir), - &pg_query__sort_by_dir__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateSeqStmt, n_options), + offsetof(PgQuery__CreateSeqStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "sortby_nulls", + "owner_id", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__SortBy, sortby_nulls), - &pg_query__sort_by_nulls__descriptor, + offsetof(PgQuery__CreateSeqStmt, owner_id), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "use_op", + "for_identity", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__SortBy, n_use_op), - offsetof(PgQuery__SortBy, use_op), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateSeqStmt, for_identity), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "if_not_exists", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__SortBy, location), + offsetof(PgQuery__CreateSeqStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__sort_by__field_indices_by_name[] = { - 4, /* field[4] = location */ - 0, /* field[0] = node */ - 1, /* field[1] = sortby_dir */ - 2, /* field[2] = sortby_nulls */ - 3, /* field[3] = use_op */ +static const unsigned pg_query__create_seq_stmt__field_indices_by_name[] = { + 3, /* field[3] = for_identity */ + 4, /* field[4] = if_not_exists */ + 1, /* field[1] = options */ + 2, /* field[2] = owner_id */ + 0, /* field[0] = sequence */ }; -static const ProtobufCIntRange pg_query__sort_by__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_seq_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__sort_by__descriptor = +const ProtobufCMessageDescriptor pg_query__create_seq_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SortBy", - "SortBy", - "PgQuery__SortBy", + "pg_query.CreateSeqStmt", + "CreateSeqStmt", + "PgQuery__CreateSeqStmt", "pg_query", - sizeof(PgQuery__SortBy), + sizeof(PgQuery__CreateSeqStmt), 5, - pg_query__sort_by__field_descriptors, - pg_query__sort_by__field_indices_by_name, - 1, pg_query__sort_by__number_ranges, - (ProtobufCMessageInit) pg_query__sort_by__init, + pg_query__create_seq_stmt__field_descriptors, + pg_query__create_seq_stmt__field_indices_by_name, + 1, pg_query__create_seq_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_seq_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__window_def__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__alter_seq_stmt__field_descriptors[4] = { { - "name", + "sequence", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, name), + offsetof(PgQuery__AlterSeqStmt, sequence), + &pg_query__range_var__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refname", + "options", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, refname), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "partition_clause", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowDef, n_partition_clause), - offsetof(PgQuery__WindowDef, partition_clause), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "order_clause", - 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowDef, n_order_clause), - offsetof(PgQuery__WindowDef, order_clause), + offsetof(PgQuery__AlterSeqStmt, n_options), + offsetof(PgQuery__AlterSeqStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "frame_options", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, frame_options), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "start_offset", - 6, + "for_identity", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, start_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterSeqStmt, for_identity), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "end_offset", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, end_offset), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 8, + "missing_ok", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowDef, location), + offsetof(PgQuery__AlterSeqStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__window_def__field_indices_by_name[] = { - 6, /* field[6] = end_offset */ - 4, /* field[4] = frame_options */ - 7, /* field[7] = location */ - 0, /* field[0] = name */ - 3, /* field[3] = order_clause */ - 2, /* field[2] = partition_clause */ - 1, /* field[1] = refname */ - 5, /* field[5] = start_offset */ +static const unsigned pg_query__alter_seq_stmt__field_indices_by_name[] = { + 2, /* field[2] = for_identity */ + 3, /* field[3] = missing_ok */ + 1, /* field[1] = options */ + 0, /* field[0] = sequence */ }; -static const ProtobufCIntRange pg_query__window_def__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_seq_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__window_def__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_seq_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WindowDef", - "WindowDef", - "PgQuery__WindowDef", + "pg_query.AlterSeqStmt", + "AlterSeqStmt", + "PgQuery__AlterSeqStmt", "pg_query", - sizeof(PgQuery__WindowDef), - 8, - pg_query__window_def__field_descriptors, - pg_query__window_def__field_indices_by_name, - 1, pg_query__window_def__number_ranges, - (ProtobufCMessageInit) pg_query__window_def__init, + sizeof(PgQuery__AlterSeqStmt), + 4, + pg_query__alter_seq_stmt__field_descriptors, + pg_query__alter_seq_stmt__field_indices_by_name, + 1, pg_query__alter_seq_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_seq_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_subselect__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__define_stmt__field_descriptors[7] = { { - "lateral", + "kind", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeSubselect, lateral), - NULL, + offsetof(PgQuery__DefineStmt, kind), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subquery", + "oldstyle", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeSubselect, subquery), - &pg_query__node__descriptor, + offsetof(PgQuery__DefineStmt, oldstyle), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", + "defnames", 3, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeSubselect, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__DefineStmt, n_defnames), + offsetof(PgQuery__DefineStmt, defnames), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__range_subselect__field_indices_by_name[] = { - 2, /* field[2] = alias */ - 0, /* field[0] = lateral */ - 1, /* field[1] = subquery */ -}; -static const ProtobufCIntRange pg_query__range_subselect__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__range_subselect__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeSubselect", - "RangeSubselect", - "PgQuery__RangeSubselect", - "pg_query", - sizeof(PgQuery__RangeSubselect), - 3, - pg_query__range_subselect__field_descriptors, - pg_query__range_subselect__field_indices_by_name, - 1, pg_query__range_subselect__number_ranges, - (ProtobufCMessageInit) pg_query__range_subselect__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__range_function__field_descriptors[6] = -{ { - "lateral", - 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeFunction, lateral), + "args", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__DefineStmt, n_args), + offsetof(PgQuery__DefineStmt, args), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "definition", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__DefineStmt, n_definition), + offsetof(PgQuery__DefineStmt, definition), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ordinality", - 2, + "if_not_exists", + 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeFunction, ordinality), + offsetof(PgQuery__DefineStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_rowsfrom", - 3, + "replace", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeFunction, is_rowsfrom), + offsetof(PgQuery__DefineStmt, replace), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__define_stmt__field_indices_by_name[] = { + 3, /* field[3] = args */ + 4, /* field[4] = definition */ + 2, /* field[2] = defnames */ + 5, /* field[5] = if_not_exists */ + 0, /* field[0] = kind */ + 1, /* field[1] = oldstyle */ + 6, /* field[6] = replace */ +}; +static const ProtobufCIntRange pg_query__define_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__define_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DefineStmt", + "DefineStmt", + "PgQuery__DefineStmt", + "pg_query", + sizeof(PgQuery__DefineStmt), + 7, + pg_query__define_stmt__field_descriptors, + pg_query__define_stmt__field_indices_by_name, + 1, pg_query__define_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__define_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_domain_stmt__field_descriptors[4] = +{ { - "functions", - 4, + "domainname", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeFunction, n_functions), - offsetof(PgQuery__RangeFunction, functions), + offsetof(PgQuery__CreateDomainStmt, n_domainname), + offsetof(PgQuery__CreateDomainStmt, domainname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", - 5, + "type_name", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeFunction, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__CreateDomainStmt, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coldeflist", - 6, + "coll_clause", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateDomainStmt, coll_clause), + &pg_query__collate_clause__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "constraints", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeFunction, n_coldeflist), - offsetof(PgQuery__RangeFunction, coldeflist), + offsetof(PgQuery__CreateDomainStmt, n_constraints), + offsetof(PgQuery__CreateDomainStmt, constraints), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_function__field_indices_by_name[] = { - 4, /* field[4] = alias */ - 5, /* field[5] = coldeflist */ - 3, /* field[3] = functions */ - 2, /* field[2] = is_rowsfrom */ - 0, /* field[0] = lateral */ - 1, /* field[1] = ordinality */ +static const unsigned pg_query__create_domain_stmt__field_indices_by_name[] = { + 2, /* field[2] = coll_clause */ + 3, /* field[3] = constraints */ + 0, /* field[0] = domainname */ + 1, /* field[1] = type_name */ }; -static const ProtobufCIntRange pg_query__range_function__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_domain_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__range_function__descriptor = +const ProtobufCMessageDescriptor pg_query__create_domain_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeFunction", - "RangeFunction", - "PgQuery__RangeFunction", + "pg_query.CreateDomainStmt", + "CreateDomainStmt", + "PgQuery__CreateDomainStmt", "pg_query", - sizeof(PgQuery__RangeFunction), - 6, - pg_query__range_function__field_descriptors, - pg_query__range_function__field_indices_by_name, - 1, pg_query__range_function__number_ranges, - (ProtobufCMessageInit) pg_query__range_function__init, + sizeof(PgQuery__CreateDomainStmt), + 4, + pg_query__create_domain_stmt__field_descriptors, + pg_query__create_domain_stmt__field_indices_by_name, + 1, pg_query__create_domain_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_domain_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_table_sample__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__create_op_class_stmt__field_descriptors[6] = { { - "relation", + "opclassname", 1, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableSample, relation), + offsetof(PgQuery__CreateOpClassStmt, n_opclassname), + offsetof(PgQuery__CreateOpClassStmt, opclassname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "method", + "opfamilyname", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTableSample, n_method), - offsetof(PgQuery__RangeTableSample, method), + offsetof(PgQuery__CreateOpClassStmt, n_opfamilyname), + offsetof(PgQuery__CreateOpClassStmt, opfamilyname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "amname", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTableSample, n_args), - offsetof(PgQuery__RangeTableSample, args), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateOpClassStmt, amname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "repeatable", + "datatype", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableSample, repeatable), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateOpClassStmt, datatype), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "items", 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateOpClassStmt, n_items), + offsetof(PgQuery__CreateOpClassStmt, items), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "is_default", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableSample, location), + offsetof(PgQuery__CreateOpClassStmt, is_default), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_table_sample__field_indices_by_name[] = { - 2, /* field[2] = args */ - 4, /* field[4] = location */ - 1, /* field[1] = method */ - 0, /* field[0] = relation */ - 3, /* field[3] = repeatable */ +static const unsigned pg_query__create_op_class_stmt__field_indices_by_name[] = { + 2, /* field[2] = amname */ + 3, /* field[3] = datatype */ + 5, /* field[5] = is_default */ + 4, /* field[4] = items */ + 0, /* field[0] = opclassname */ + 1, /* field[1] = opfamilyname */ }; -static const ProtobufCIntRange pg_query__range_table_sample__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_op_class_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__range_table_sample__descriptor = +const ProtobufCMessageDescriptor pg_query__create_op_class_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTableSample", - "RangeTableSample", - "PgQuery__RangeTableSample", + "pg_query.CreateOpClassStmt", + "CreateOpClassStmt", + "PgQuery__CreateOpClassStmt", "pg_query", - sizeof(PgQuery__RangeTableSample), - 5, - pg_query__range_table_sample__field_descriptors, - pg_query__range_table_sample__field_indices_by_name, - 1, pg_query__range_table_sample__number_ranges, - (ProtobufCMessageInit) pg_query__range_table_sample__init, + sizeof(PgQuery__CreateOpClassStmt), + 6, + pg_query__create_op_class_stmt__field_descriptors, + pg_query__create_op_class_stmt__field_indices_by_name, + 1, pg_query__create_op_class_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_op_class_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_table_func__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__create_op_class_item__field_descriptors[6] = { { - "lateral", + "itemtype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFunc, lateral), + offsetof(PgQuery__CreateOpClassItem, itemtype), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "docexpr", + "name", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFunc, docexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateOpClassItem, name), + &pg_query__object_with_args__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rowexpr", + "number", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFunc, rowexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateOpClassItem, number), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "namespaces", + "order_family", 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTableFunc, n_namespaces), - offsetof(PgQuery__RangeTableFunc, namespaces), + offsetof(PgQuery__CreateOpClassItem, n_order_family), + offsetof(PgQuery__CreateOpClassItem, order_family), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "columns", + "class_args", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTableFunc, n_columns), - offsetof(PgQuery__RangeTableFunc, columns), + offsetof(PgQuery__CreateOpClassItem, n_class_args), + offsetof(PgQuery__CreateOpClassItem, class_args), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "alias", + "storedtype", 6, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFunc, alias), - &pg_query__alias__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFunc, location), - NULL, + offsetof(PgQuery__CreateOpClassItem, storedtype), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_table_func__field_indices_by_name[] = { - 5, /* field[5] = alias */ - 4, /* field[4] = columns */ - 1, /* field[1] = docexpr */ - 0, /* field[0] = lateral */ - 6, /* field[6] = location */ - 3, /* field[3] = namespaces */ - 2, /* field[2] = rowexpr */ +static const unsigned pg_query__create_op_class_item__field_indices_by_name[] = { + 4, /* field[4] = class_args */ + 0, /* field[0] = itemtype */ + 1, /* field[1] = name */ + 2, /* field[2] = number */ + 3, /* field[3] = order_family */ + 5, /* field[5] = storedtype */ }; -static const ProtobufCIntRange pg_query__range_table_func__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_op_class_item__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__range_table_func__descriptor = +const ProtobufCMessageDescriptor pg_query__create_op_class_item__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTableFunc", - "RangeTableFunc", - "PgQuery__RangeTableFunc", + "pg_query.CreateOpClassItem", + "CreateOpClassItem", + "PgQuery__CreateOpClassItem", "pg_query", - sizeof(PgQuery__RangeTableFunc), - 7, - pg_query__range_table_func__field_descriptors, - pg_query__range_table_func__field_indices_by_name, - 1, pg_query__range_table_func__number_ranges, - (ProtobufCMessageInit) pg_query__range_table_func__init, + sizeof(PgQuery__CreateOpClassItem), + 6, + pg_query__create_op_class_item__field_descriptors, + pg_query__create_op_class_item__field_indices_by_name, + 1, pg_query__create_op_class_item__number_ranges, + (ProtobufCMessageInit) pg_query__create_op_class_item__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_table_func_col__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__create_op_family_stmt__field_descriptors[2] = { { - "colname", + "opfamilyname", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, colname), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateOpFamilyStmt, n_opfamilyname), + offsetof(PgQuery__CreateOpFamilyStmt, opfamilyname), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "amname", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__CreateOpFamilyStmt, amname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__create_op_family_stmt__field_indices_by_name[] = { + 1, /* field[1] = amname */ + 0, /* field[0] = opfamilyname */ +}; +static const ProtobufCIntRange pg_query__create_op_family_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__create_op_family_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CreateOpFamilyStmt", + "CreateOpFamilyStmt", + "PgQuery__CreateOpFamilyStmt", + "pg_query", + sizeof(PgQuery__CreateOpFamilyStmt), + 2, + pg_query__create_op_family_stmt__field_descriptors, + pg_query__create_op_family_stmt__field_indices_by_name, + 1, pg_query__create_op_family_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_op_family_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_op_family_stmt__field_descriptors[4] = +{ { - "for_ordinality", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, for_ordinality), - NULL, + "opfamilyname", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterOpFamilyStmt, n_opfamilyname), + offsetof(PgQuery__AlterOpFamilyStmt, opfamilyname), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_not_null", - 4, + "amname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, is_not_null), - NULL, + offsetof(PgQuery__AlterOpFamilyStmt, amname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colexpr", - 5, + "is_drop", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, colexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterOpFamilyStmt, is_drop), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coldefexpr", - 6, - PROTOBUF_C_LABEL_NONE, + "items", + 4, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, coldefexpr), + offsetof(PgQuery__AlterOpFamilyStmt, n_items), + offsetof(PgQuery__AlterOpFamilyStmt, items), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "location", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTableFuncCol, location), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__range_table_func_col__field_indices_by_name[] = { - 5, /* field[5] = coldefexpr */ - 4, /* field[4] = colexpr */ - 0, /* field[0] = colname */ - 2, /* field[2] = for_ordinality */ - 3, /* field[3] = is_not_null */ - 6, /* field[6] = location */ - 1, /* field[1] = type_name */ +static const unsigned pg_query__alter_op_family_stmt__field_indices_by_name[] = { + 1, /* field[1] = amname */ + 2, /* field[2] = is_drop */ + 3, /* field[3] = items */ + 0, /* field[0] = opfamilyname */ }; -static const ProtobufCIntRange pg_query__range_table_func_col__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_op_family_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 7 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__range_table_func_col__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_op_family_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTableFuncCol", - "RangeTableFuncCol", - "PgQuery__RangeTableFuncCol", + "pg_query.AlterOpFamilyStmt", + "AlterOpFamilyStmt", + "PgQuery__AlterOpFamilyStmt", "pg_query", - sizeof(PgQuery__RangeTableFuncCol), - 7, - pg_query__range_table_func_col__field_descriptors, - pg_query__range_table_func_col__field_indices_by_name, - 1, pg_query__range_table_func_col__number_ranges, - (ProtobufCMessageInit) pg_query__range_table_func_col__init, + sizeof(PgQuery__AlterOpFamilyStmt), + 4, + pg_query__alter_op_family_stmt__field_descriptors, + pg_query__alter_op_family_stmt__field_indices_by_name, + 1, pg_query__alter_op_family_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_op_family_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__type_name__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__drop_stmt__field_descriptors[5] = { { - "names", + "objects", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_names), - offsetof(PgQuery__TypeName, names), + offsetof(PgQuery__DropStmt, n_objects), + offsetof(PgQuery__DropStmt, objects), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_oid", + "remove_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, type_oid), - NULL, + offsetof(PgQuery__DropStmt, remove_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "setof", + "behavior", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, setof), - NULL, + offsetof(PgQuery__DropStmt, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pct_type", + "missing_ok", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, pct_type), + offsetof(PgQuery__DropStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "typmods", + "concurrent", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_typmods), - offsetof(PgQuery__TypeName, typmods), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "typemod", - 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, typemod), + offsetof(PgQuery__DropStmt, concurrent), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__drop_stmt__field_indices_by_name[] = { + 2, /* field[2] = behavior */ + 4, /* field[4] = concurrent */ + 3, /* field[3] = missing_ok */ + 0, /* field[0] = objects */ + 1, /* field[1] = remove_type */ +}; +static const ProtobufCIntRange pg_query__drop_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__drop_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DropStmt", + "DropStmt", + "PgQuery__DropStmt", + "pg_query", + sizeof(PgQuery__DropStmt), + 5, + pg_query__drop_stmt__field_descriptors, + pg_query__drop_stmt__field_indices_by_name, + 1, pg_query__drop_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__truncate_stmt__field_descriptors[3] = +{ { - "array_bounds", - 7, + "relations", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TypeName, n_array_bounds), - offsetof(PgQuery__TypeName, array_bounds), + offsetof(PgQuery__TruncateStmt, n_relations), + offsetof(PgQuery__TruncateStmt, relations), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 8, + "restart_seqs", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TypeName, location), + offsetof(PgQuery__TruncateStmt, restart_seqs), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "behavior", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__TruncateStmt, behavior), + &pg_query__drop_behavior__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__type_name__field_indices_by_name[] = { - 6, /* field[6] = array_bounds */ - 7, /* field[7] = location */ - 0, /* field[0] = names */ - 3, /* field[3] = pct_type */ - 2, /* field[2] = setof */ - 1, /* field[1] = type_oid */ - 5, /* field[5] = typemod */ - 4, /* field[4] = typmods */ +static const unsigned pg_query__truncate_stmt__field_indices_by_name[] = { + 2, /* field[2] = behavior */ + 0, /* field[0] = relations */ + 1, /* field[1] = restart_seqs */ }; -static const ProtobufCIntRange pg_query__type_name__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__truncate_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__type_name__descriptor = +const ProtobufCMessageDescriptor pg_query__truncate_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TypeName", - "TypeName", - "PgQuery__TypeName", + "pg_query.TruncateStmt", + "TruncateStmt", + "PgQuery__TruncateStmt", "pg_query", - sizeof(PgQuery__TypeName), - 8, - pg_query__type_name__field_descriptors, - pg_query__type_name__field_indices_by_name, - 1, pg_query__type_name__number_ranges, - (ProtobufCMessageInit) pg_query__type_name__init, + sizeof(PgQuery__TruncateStmt), + 3, + pg_query__truncate_stmt__field_descriptors, + pg_query__truncate_stmt__field_indices_by_name, + 1, pg_query__truncate_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__truncate_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__column_def__field_descriptors[18] = +static const ProtobufCFieldDescriptor pg_query__comment_stmt__field_descriptors[3] = { { - "colname", + "objtype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, colname), + offsetof(PgQuery__CommentStmt, objtype), + &pg_query__object_type__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "object", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__CommentStmt, object), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "compression", + "comment", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, compression), + offsetof(PgQuery__CommentStmt, comment), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__comment_stmt__field_indices_by_name[] = { + 2, /* field[2] = comment */ + 1, /* field[1] = object */ + 0, /* field[0] = objtype */ +}; +static const ProtobufCIntRange pg_query__comment_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__comment_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CommentStmt", + "CommentStmt", + "PgQuery__CommentStmt", + "pg_query", + sizeof(PgQuery__CommentStmt), + 3, + pg_query__comment_stmt__field_descriptors, + pg_query__comment_stmt__field_indices_by_name, + 1, pg_query__comment_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__comment_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__sec_label_stmt__field_descriptors[4] = +{ { - "inhcount", - 4, + "objtype", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, inhcount), - NULL, + offsetof(PgQuery__SecLabelStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_local", - 5, + "object", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, is_local), - NULL, + offsetof(PgQuery__SecLabelStmt, object), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_not_null", - 6, + "provider", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, is_not_null), - NULL, + offsetof(PgQuery__SecLabelStmt, provider), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_from_type", - 7, + "label", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, is_from_type), - NULL, + offsetof(PgQuery__SecLabelStmt, label), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__sec_label_stmt__field_indices_by_name[] = { + 3, /* field[3] = label */ + 1, /* field[1] = object */ + 0, /* field[0] = objtype */ + 2, /* field[2] = provider */ +}; +static const ProtobufCIntRange pg_query__sec_label_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__sec_label_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SecLabelStmt", + "SecLabelStmt", + "PgQuery__SecLabelStmt", + "pg_query", + sizeof(PgQuery__SecLabelStmt), + 4, + pg_query__sec_label_stmt__field_descriptors, + pg_query__sec_label_stmt__field_indices_by_name, + 1, pg_query__sec_label_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__sec_label_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__declare_cursor_stmt__field_descriptors[3] = +{ { - "storage", - 8, + "portalname", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, storage), + offsetof(PgQuery__DeclareCursorStmt, portalname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "raw_default", - 9, + "options", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, raw_default), - &pg_query__node__descriptor, + offsetof(PgQuery__DeclareCursorStmt, options), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cooked_default", - 10, + "query", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, cooked_default), + offsetof(PgQuery__DeclareCursorStmt, query), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__declare_cursor_stmt__field_indices_by_name[] = { + 1, /* field[1] = options */ + 0, /* field[0] = portalname */ + 2, /* field[2] = query */ +}; +static const ProtobufCIntRange pg_query__declare_cursor_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__declare_cursor_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DeclareCursorStmt", + "DeclareCursorStmt", + "PgQuery__DeclareCursorStmt", + "pg_query", + sizeof(PgQuery__DeclareCursorStmt), + 3, + pg_query__declare_cursor_stmt__field_descriptors, + pg_query__declare_cursor_stmt__field_indices_by_name, + 1, pg_query__declare_cursor_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__declare_cursor_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__close_portal_stmt__field_descriptors[1] = +{ { - "identity", - 11, + "portalname", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, identity), + offsetof(PgQuery__ClosePortalStmt, portalname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__close_portal_stmt__field_indices_by_name[] = { + 0, /* field[0] = portalname */ +}; +static const ProtobufCIntRange pg_query__close_portal_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__close_portal_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ClosePortalStmt", + "ClosePortalStmt", + "PgQuery__ClosePortalStmt", + "pg_query", + sizeof(PgQuery__ClosePortalStmt), + 1, + pg_query__close_portal_stmt__field_descriptors, + pg_query__close_portal_stmt__field_indices_by_name, + 1, pg_query__close_portal_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__close_portal_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__fetch_stmt__field_descriptors[4] = +{ { - "identity_sequence", - 12, + "direction", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, identity_sequence), - &pg_query__range_var__descriptor, + offsetof(PgQuery__FetchStmt, direction), + &pg_query__fetch_direction__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "generated", - 13, + "how_many", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT64, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, generated), + offsetof(PgQuery__FetchStmt, how_many), NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "coll_clause", - 14, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, coll_clause), - &pg_query__collate_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coll_oid", - 15, + "portalname", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, coll_oid), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "constraints", - 16, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ColumnDef, n_constraints), - offsetof(PgQuery__ColumnDef, constraints), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "fdwoptions", - 17, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ColumnDef, n_fdwoptions), - offsetof(PgQuery__ColumnDef, fdwoptions), - &pg_query__node__descriptor, + offsetof(PgQuery__FetchStmt, portalname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 18, + "ismove", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__ColumnDef, location), + offsetof(PgQuery__FetchStmt, ismove), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__column_def__field_indices_by_name[] = { - 13, /* field[13] = coll_clause */ - 14, /* field[14] = coll_oid */ - 0, /* field[0] = colname */ - 2, /* field[2] = compression */ - 15, /* field[15] = constraints */ - 9, /* field[9] = cooked_default */ - 16, /* field[16] = fdwoptions */ - 12, /* field[12] = generated */ - 10, /* field[10] = identity */ - 11, /* field[11] = identity_sequence */ - 3, /* field[3] = inhcount */ - 6, /* field[6] = is_from_type */ - 4, /* field[4] = is_local */ - 5, /* field[5] = is_not_null */ - 17, /* field[17] = location */ - 8, /* field[8] = raw_default */ - 7, /* field[7] = storage */ - 1, /* field[1] = type_name */ +static const unsigned pg_query__fetch_stmt__field_indices_by_name[] = { + 0, /* field[0] = direction */ + 1, /* field[1] = how_many */ + 3, /* field[3] = ismove */ + 2, /* field[2] = portalname */ }; -static const ProtobufCIntRange pg_query__column_def__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__fetch_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 18 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__column_def__descriptor = +const ProtobufCMessageDescriptor pg_query__fetch_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ColumnDef", - "ColumnDef", - "PgQuery__ColumnDef", + "pg_query.FetchStmt", + "FetchStmt", + "PgQuery__FetchStmt", "pg_query", - sizeof(PgQuery__ColumnDef), - 18, - pg_query__column_def__field_descriptors, - pg_query__column_def__field_indices_by_name, - 1, pg_query__column_def__number_ranges, - (ProtobufCMessageInit) pg_query__column_def__init, + sizeof(PgQuery__FetchStmt), + 4, + pg_query__fetch_stmt__field_descriptors, + pg_query__fetch_stmt__field_indices_by_name, + 1, pg_query__fetch_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__fetch_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__index_elem__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__index_stmt__field_descriptors[24] = { { - "name", + "idxname", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexElem, name), + offsetof(PgQuery__IndexStmt, idxname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "relation", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexElem, expr), - &pg_query__node__descriptor, + offsetof(PgQuery__IndexStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indexcolname", + "access_method", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexElem, indexcolname), + offsetof(PgQuery__IndexStmt, access_method), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "collation", + "table_space", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexElem, n_collation), - offsetof(PgQuery__IndexElem, collation), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__IndexStmt, table_space), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opclass", + "index_params", 5, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexElem, n_opclass), - offsetof(PgQuery__IndexElem, opclass), + offsetof(PgQuery__IndexStmt, n_index_params), + offsetof(PgQuery__IndexStmt, index_params), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "opclassopts", + "index_including_params", 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__IndexElem, n_opclassopts), - offsetof(PgQuery__IndexElem, opclassopts), + offsetof(PgQuery__IndexStmt, n_index_including_params), + offsetof(PgQuery__IndexStmt, index_including_params), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ordering", + "options", 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__IndexElem, ordering), - &pg_query__sort_by_dir__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__IndexStmt, n_options), + offsetof(PgQuery__IndexStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulls_ordering", + "where_clause", 8, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__IndexElem, nulls_ordering), - &pg_query__sort_by_nulls__descriptor, + offsetof(PgQuery__IndexStmt, where_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__index_elem__field_indices_by_name[] = { - 3, /* field[3] = collation */ - 1, /* field[1] = expr */ - 2, /* field[2] = indexcolname */ - 0, /* field[0] = name */ - 7, /* field[7] = nulls_ordering */ - 4, /* field[4] = opclass */ - 5, /* field[5] = opclassopts */ - 6, /* field[6] = ordering */ -}; -static const ProtobufCIntRange pg_query__index_elem__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 8 } -}; -const ProtobufCMessageDescriptor pg_query__index_elem__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.IndexElem", - "IndexElem", - "PgQuery__IndexElem", - "pg_query", - sizeof(PgQuery__IndexElem), - 8, - pg_query__index_elem__field_descriptors, - pg_query__index_elem__field_indices_by_name, - 1, pg_query__index_elem__number_ranges, - (ProtobufCMessageInit) pg_query__index_elem__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__stats_elem__field_descriptors[2] = -{ { - "name", - 1, + "exclude_op_names", + 9, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__IndexStmt, n_exclude_op_names), + offsetof(PgQuery__IndexStmt, exclude_op_names), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "idxcomment", + 10, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__StatsElem, name), + offsetof(PgQuery__IndexStmt, idxcomment), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", - 2, + "index_oid", + 11, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__StatsElem, expr), - &pg_query__node__descriptor, + offsetof(PgQuery__IndexStmt, index_oid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__stats_elem__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 0, /* field[0] = name */ -}; -static const ProtobufCIntRange pg_query__stats_elem__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 2 } -}; -const ProtobufCMessageDescriptor pg_query__stats_elem__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.StatsElem", - "StatsElem", - "PgQuery__StatsElem", - "pg_query", - sizeof(PgQuery__StatsElem), - 2, - pg_query__stats_elem__field_descriptors, - pg_query__stats_elem__field_indices_by_name, - 1, pg_query__stats_elem__number_ranges, - (ProtobufCMessageInit) pg_query__stats_elem__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__constraint__field_descriptors[30] = -{ { - "contype", - 1, + "old_number", + 12, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, contype), - &pg_query__constr_type__descriptor, + offsetof(PgQuery__IndexStmt, old_number), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "conname", - 2, + "old_create_subid", + 13, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, conname), + offsetof(PgQuery__IndexStmt, old_create_subid), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "deferrable", - 3, + "old_first_relfilelocator_subid", + 14, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_UINT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__IndexStmt, old_first_relfilelocator_subid), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "unique", + 15, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, deferrable), + offsetof(PgQuery__IndexStmt, unique), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "initdeferred", - 4, + "nulls_not_distinct", + 16, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, initdeferred), + offsetof(PgQuery__IndexStmt, nulls_not_distinct), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "primary", + 17, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, location), + offsetof(PgQuery__IndexStmt, primary), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_no_inherit", - 6, + "isconstraint", + 18, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, is_no_inherit), + offsetof(PgQuery__IndexStmt, isconstraint), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "raw_expr", - 7, + "deferrable", + 19, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, raw_expr), - &pg_query__node__descriptor, + offsetof(PgQuery__IndexStmt, deferrable), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cooked_expr", - 8, + "initdeferred", + 20, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, cooked_expr), + offsetof(PgQuery__IndexStmt, initdeferred), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "generated_when", - 9, + "transformed", + 21, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, generated_when), + offsetof(PgQuery__IndexStmt, transformed), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "nulls_not_distinct", - 10, + "concurrent", + 22, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, nulls_not_distinct), + offsetof(PgQuery__IndexStmt, concurrent), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "keys", - 11, + "if_not_exists", + 23, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__IndexStmt, if_not_exists), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "reset_default_tblspc", + 24, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__IndexStmt, reset_default_tblspc), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__index_stmt__field_indices_by_name[] = { + 2, /* field[2] = access_method */ + 21, /* field[21] = concurrent */ + 18, /* field[18] = deferrable */ + 8, /* field[8] = exclude_op_names */ + 9, /* field[9] = idxcomment */ + 0, /* field[0] = idxname */ + 22, /* field[22] = if_not_exists */ + 5, /* field[5] = index_including_params */ + 10, /* field[10] = index_oid */ + 4, /* field[4] = index_params */ + 19, /* field[19] = initdeferred */ + 17, /* field[17] = isconstraint */ + 15, /* field[15] = nulls_not_distinct */ + 12, /* field[12] = old_create_subid */ + 13, /* field[13] = old_first_relfilelocator_subid */ + 11, /* field[11] = old_number */ + 6, /* field[6] = options */ + 16, /* field[16] = primary */ + 1, /* field[1] = relation */ + 23, /* field[23] = reset_default_tblspc */ + 3, /* field[3] = table_space */ + 20, /* field[20] = transformed */ + 14, /* field[14] = unique */ + 7, /* field[7] = where_clause */ +}; +static const ProtobufCIntRange pg_query__index_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 24 } +}; +const ProtobufCMessageDescriptor pg_query__index_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.IndexStmt", + "IndexStmt", + "PgQuery__IndexStmt", + "pg_query", + sizeof(PgQuery__IndexStmt), + 24, + pg_query__index_stmt__field_descriptors, + pg_query__index_stmt__field_indices_by_name, + 1, pg_query__index_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__index_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_stats_stmt__field_descriptors[7] = +{ + { + "defnames", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_keys), - offsetof(PgQuery__Constraint, keys), + offsetof(PgQuery__CreateStatsStmt, n_defnames), + offsetof(PgQuery__CreateStatsStmt, defnames), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "including", - 12, + "stat_types", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_including), - offsetof(PgQuery__Constraint, including), + offsetof(PgQuery__CreateStatsStmt, n_stat_types), + offsetof(PgQuery__CreateStatsStmt, stat_types), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "exclusions", - 13, + "exprs", + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_exclusions), - offsetof(PgQuery__Constraint, exclusions), + offsetof(PgQuery__CreateStatsStmt, n_exprs), + offsetof(PgQuery__CreateStatsStmt, exprs), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", - 14, + "relations", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_options), - offsetof(PgQuery__Constraint, options), + offsetof(PgQuery__CreateStatsStmt, n_relations), + offsetof(PgQuery__CreateStatsStmt, relations), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indexname", - 15, + "stxcomment", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, indexname), + offsetof(PgQuery__CreateStatsStmt, stxcomment), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "indexspace", - 16, + "transformed", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, indexspace), + offsetof(PgQuery__CreateStatsStmt, transformed), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "reset_default_tblspc", - 17, + "if_not_exists", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, reset_default_tblspc), + offsetof(PgQuery__CreateStatsStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__create_stats_stmt__field_indices_by_name[] = { + 0, /* field[0] = defnames */ + 2, /* field[2] = exprs */ + 6, /* field[6] = if_not_exists */ + 3, /* field[3] = relations */ + 1, /* field[1] = stat_types */ + 4, /* field[4] = stxcomment */ + 5, /* field[5] = transformed */ +}; +static const ProtobufCIntRange pg_query__create_stats_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__create_stats_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CreateStatsStmt", + "CreateStatsStmt", + "PgQuery__CreateStatsStmt", + "pg_query", + sizeof(PgQuery__CreateStatsStmt), + 7, + pg_query__create_stats_stmt__field_descriptors, + pg_query__create_stats_stmt__field_indices_by_name, + 1, pg_query__create_stats_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_stats_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__stats_elem__field_descriptors[2] = +{ { - "access_method", - 18, + "name", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, access_method), + offsetof(PgQuery__StatsElem, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", - 19, + "expr", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, where_clause), + offsetof(PgQuery__StatsElem, expr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__stats_elem__field_indices_by_name[] = { + 1, /* field[1] = expr */ + 0, /* field[0] = name */ +}; +static const ProtobufCIntRange pg_query__stats_elem__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__stats_elem__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.StatsElem", + "StatsElem", + "PgQuery__StatsElem", + "pg_query", + sizeof(PgQuery__StatsElem), + 2, + pg_query__stats_elem__field_descriptors, + pg_query__stats_elem__field_indices_by_name, + 1, pg_query__stats_elem__number_ranges, + (ProtobufCMessageInit) pg_query__stats_elem__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_stats_stmt__field_descriptors[3] = +{ { - "pktable", - 20, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, pktable), - &pg_query__range_var__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "fk_attrs", - 21, + "defnames", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_fk_attrs), - offsetof(PgQuery__Constraint, fk_attrs), + offsetof(PgQuery__AlterStatsStmt, n_defnames), + offsetof(PgQuery__AlterStatsStmt, defnames), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "pk_attrs", - 22, - PROTOBUF_C_LABEL_REPEATED, + "stxstattarget", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_pk_attrs), - offsetof(PgQuery__Constraint, pk_attrs), + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterStatsStmt, stxstattarget), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fk_matchtype", - 23, + "missing_ok", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, fk_matchtype), + offsetof(PgQuery__AlterStatsStmt, missing_ok), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_stats_stmt__field_indices_by_name[] = { + 0, /* field[0] = defnames */ + 2, /* field[2] = missing_ok */ + 1, /* field[1] = stxstattarget */ +}; +static const ProtobufCIntRange pg_query__alter_stats_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__alter_stats_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterStatsStmt", + "AlterStatsStmt", + "PgQuery__AlterStatsStmt", + "pg_query", + sizeof(PgQuery__AlterStatsStmt), + 3, + pg_query__alter_stats_stmt__field_descriptors, + pg_query__alter_stats_stmt__field_indices_by_name, + 1, pg_query__alter_stats_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_stats_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_function_stmt__field_descriptors[7] = +{ { - "fk_upd_action", - 24, + "is_procedure", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, fk_upd_action), + offsetof(PgQuery__CreateFunctionStmt, is_procedure), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fk_del_action", - 25, + "replace", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, fk_del_action), + offsetof(PgQuery__CreateFunctionStmt, replace), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "fk_del_set_cols", - 26, + "funcname", + 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_fk_del_set_cols), - offsetof(PgQuery__Constraint, fk_del_set_cols), + offsetof(PgQuery__CreateFunctionStmt, n_funcname), + offsetof(PgQuery__CreateFunctionStmt, funcname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_conpfeqop", - 27, + "parameters", + 4, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__Constraint, n_old_conpfeqop), - offsetof(PgQuery__Constraint, old_conpfeqop), + offsetof(PgQuery__CreateFunctionStmt, n_parameters), + offsetof(PgQuery__CreateFunctionStmt, parameters), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "old_pktable_oid", - 28, + "return_type", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, old_pktable_oid), - NULL, + offsetof(PgQuery__CreateFunctionStmt, return_type), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "skip_validation", - 29, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, skip_validation), - NULL, + "options", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateFunctionStmt, n_options), + offsetof(PgQuery__CreateFunctionStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "initially_valid", - 30, + "sql_body", + 7, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__Constraint, initially_valid), - NULL, + offsetof(PgQuery__CreateFunctionStmt, sql_body), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__constraint__field_indices_by_name[] = { - 17, /* field[17] = access_method */ - 1, /* field[1] = conname */ - 0, /* field[0] = contype */ - 7, /* field[7] = cooked_expr */ - 2, /* field[2] = deferrable */ - 12, /* field[12] = exclusions */ - 20, /* field[20] = fk_attrs */ - 24, /* field[24] = fk_del_action */ - 25, /* field[25] = fk_del_set_cols */ - 22, /* field[22] = fk_matchtype */ - 23, /* field[23] = fk_upd_action */ - 8, /* field[8] = generated_when */ - 11, /* field[11] = including */ - 14, /* field[14] = indexname */ - 15, /* field[15] = indexspace */ - 3, /* field[3] = initdeferred */ - 29, /* field[29] = initially_valid */ - 5, /* field[5] = is_no_inherit */ - 10, /* field[10] = keys */ - 4, /* field[4] = location */ - 9, /* field[9] = nulls_not_distinct */ - 26, /* field[26] = old_conpfeqop */ - 27, /* field[27] = old_pktable_oid */ - 13, /* field[13] = options */ - 21, /* field[21] = pk_attrs */ - 19, /* field[19] = pktable */ - 6, /* field[6] = raw_expr */ - 16, /* field[16] = reset_default_tblspc */ - 28, /* field[28] = skip_validation */ - 18, /* field[18] = where_clause */ +static const unsigned pg_query__create_function_stmt__field_indices_by_name[] = { + 2, /* field[2] = funcname */ + 0, /* field[0] = is_procedure */ + 5, /* field[5] = options */ + 3, /* field[3] = parameters */ + 1, /* field[1] = replace */ + 4, /* field[4] = return_type */ + 6, /* field[6] = sql_body */ }; -static const ProtobufCIntRange pg_query__constraint__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_function_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 30 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__constraint__descriptor = +const ProtobufCMessageDescriptor pg_query__create_function_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.Constraint", - "Constraint", - "PgQuery__Constraint", + "pg_query.CreateFunctionStmt", + "CreateFunctionStmt", + "PgQuery__CreateFunctionStmt", "pg_query", - sizeof(PgQuery__Constraint), - 30, - pg_query__constraint__field_descriptors, - pg_query__constraint__field_indices_by_name, - 1, pg_query__constraint__number_ranges, - (ProtobufCMessageInit) pg_query__constraint__init, + sizeof(PgQuery__CreateFunctionStmt), + 7, + pg_query__create_function_stmt__field_descriptors, + pg_query__create_function_stmt__field_indices_by_name, + 1, pg_query__create_function_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_function_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__def_elem__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__function_parameter__field_descriptors[4] = { { - "defnamespace", + "name", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__DefElem, defnamespace), + offsetof(PgQuery__FunctionParameter, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "defname", + "arg_type", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DefElem, defname), + offsetof(PgQuery__FunctionParameter, arg_type), + &pg_query__type_name__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "arg", + "mode", 3, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__FunctionParameter, mode), + &pg_query__function_parameter_mode__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "defexpr", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DefElem, arg), + offsetof(PgQuery__FunctionParameter, defexpr), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__function_parameter__field_indices_by_name[] = { + 1, /* field[1] = arg_type */ + 3, /* field[3] = defexpr */ + 2, /* field[2] = mode */ + 0, /* field[0] = name */ +}; +static const ProtobufCIntRange pg_query__function_parameter__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__function_parameter__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.FunctionParameter", + "FunctionParameter", + "PgQuery__FunctionParameter", + "pg_query", + sizeof(PgQuery__FunctionParameter), + 4, + pg_query__function_parameter__field_descriptors, + pg_query__function_parameter__field_indices_by_name, + 1, pg_query__function_parameter__number_ranges, + (ProtobufCMessageInit) pg_query__function_parameter__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_function_stmt__field_descriptors[3] = +{ { - "defaction", - 4, + "objtype", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__DefElem, defaction), - &pg_query__def_elem_action__descriptor, + offsetof(PgQuery__AlterFunctionStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "func", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__DefElem, location), + offsetof(PgQuery__AlterFunctionStmt, func), + &pg_query__object_with_args__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "actions", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterFunctionStmt, n_actions), + offsetof(PgQuery__AlterFunctionStmt, actions), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__def_elem__field_indices_by_name[] = { - 2, /* field[2] = arg */ - 3, /* field[3] = defaction */ - 1, /* field[1] = defname */ - 0, /* field[0] = defnamespace */ - 4, /* field[4] = location */ +static const unsigned pg_query__alter_function_stmt__field_indices_by_name[] = { + 2, /* field[2] = actions */ + 1, /* field[1] = func */ + 0, /* field[0] = objtype */ }; -static const ProtobufCIntRange pg_query__def_elem__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_function_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__def_elem__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_function_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.DefElem", - "DefElem", - "PgQuery__DefElem", + "pg_query.AlterFunctionStmt", + "AlterFunctionStmt", + "PgQuery__AlterFunctionStmt", "pg_query", - sizeof(PgQuery__DefElem), - 5, - pg_query__def_elem__field_descriptors, - pg_query__def_elem__field_indices_by_name, - 1, pg_query__def_elem__number_ranges, - (ProtobufCMessageInit) pg_query__def_elem__init, + sizeof(PgQuery__AlterFunctionStmt), + 3, + pg_query__alter_function_stmt__field_descriptors, + pg_query__alter_function_stmt__field_indices_by_name, + 1, pg_query__alter_function_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_function_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_tbl_entry__field_descriptors[37] = +static const ProtobufCFieldDescriptor pg_query__do_stmt__field_descriptors[1] = { { - "rtekind", + "args", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__DoStmt, n_args), + offsetof(PgQuery__DoStmt, args), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__do_stmt__field_indices_by_name[] = { + 0, /* field[0] = args */ +}; +static const ProtobufCIntRange pg_query__do_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__do_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DoStmt", + "DoStmt", + "PgQuery__DoStmt", + "pg_query", + sizeof(PgQuery__DoStmt), + 1, + pg_query__do_stmt__field_descriptors, + pg_query__do_stmt__field_indices_by_name, + 1, pg_query__do_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__do_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__inline_code_block__field_descriptors[4] = +{ + { + "source_text", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, rtekind), - &pg_query__rtekind__descriptor, + offsetof(PgQuery__InlineCodeBlock, source_text), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relid", + "lang_oid", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, relid), + offsetof(PgQuery__InlineCodeBlock, lang_oid), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relkind", + "lang_is_trusted", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, relkind), + offsetof(PgQuery__InlineCodeBlock, lang_is_trusted), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rellockmode", + "atomic", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, rellockmode), + offsetof(PgQuery__InlineCodeBlock, atomic), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__inline_code_block__field_indices_by_name[] = { + 3, /* field[3] = atomic */ + 2, /* field[2] = lang_is_trusted */ + 1, /* field[1] = lang_oid */ + 0, /* field[0] = source_text */ +}; +static const ProtobufCIntRange pg_query__inline_code_block__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__inline_code_block__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.InlineCodeBlock", + "InlineCodeBlock", + "PgQuery__InlineCodeBlock", + "pg_query", + sizeof(PgQuery__InlineCodeBlock), + 4, + pg_query__inline_code_block__field_descriptors, + pg_query__inline_code_block__field_indices_by_name, + 1, pg_query__inline_code_block__number_ranges, + (ProtobufCMessageInit) pg_query__inline_code_block__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__call_stmt__field_descriptors[3] = +{ + { + "funccall", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_MESSAGE, + 0, /* quantifier_offset */ + offsetof(PgQuery__CallStmt, funccall), + &pg_query__func_call__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, { - "tablesample", - 5, + "funcexpr", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, tablesample), - &pg_query__table_sample_clause__descriptor, + offsetof(PgQuery__CallStmt, funcexpr), + &pg_query__func_expr__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "subquery", - 6, - PROTOBUF_C_LABEL_NONE, + "outargs", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, subquery), - &pg_query__query__descriptor, + offsetof(PgQuery__CallStmt, n_outargs), + offsetof(PgQuery__CallStmt, outargs), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__call_stmt__field_indices_by_name[] = { + 0, /* field[0] = funccall */ + 1, /* field[1] = funcexpr */ + 2, /* field[2] = outargs */ +}; +static const ProtobufCIntRange pg_query__call_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__call_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CallStmt", + "CallStmt", + "PgQuery__CallStmt", + "pg_query", + sizeof(PgQuery__CallStmt), + 3, + pg_query__call_stmt__field_descriptors, + pg_query__call_stmt__field_indices_by_name, + 1, pg_query__call_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__call_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__call_context__field_descriptors[1] = +{ { - "security_barrier", - 7, + "atomic", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, security_barrier), + offsetof(PgQuery__CallContext, atomic), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__call_context__field_indices_by_name[] = { + 0, /* field[0] = atomic */ +}; +static const ProtobufCIntRange pg_query__call_context__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__call_context__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CallContext", + "CallContext", + "PgQuery__CallContext", + "pg_query", + sizeof(PgQuery__CallContext), + 1, + pg_query__call_context__field_descriptors, + pg_query__call_context__field_indices_by_name, + 1, pg_query__call_context__number_ranges, + (ProtobufCMessageInit) pg_query__call_context__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__rename_stmt__field_descriptors[8] = +{ { - "jointype", - 8, + "rename_type", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, jointype), - &pg_query__join_type__descriptor, + offsetof(PgQuery__RenameStmt, rename_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "joinmergedcols", - 9, + "relation_type", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, joinmergedcols), - NULL, + offsetof(PgQuery__RenameStmt, relation_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "joinaliasvars", - 10, - PROTOBUF_C_LABEL_REPEATED, + "relation", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_joinaliasvars), - offsetof(PgQuery__RangeTblEntry, joinaliasvars), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__RenameStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "joinleftcols", - 11, - PROTOBUF_C_LABEL_REPEATED, + "object", + 4, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_joinleftcols), - offsetof(PgQuery__RangeTblEntry, joinleftcols), + 0, /* quantifier_offset */ + offsetof(PgQuery__RenameStmt, object), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "joinrightcols", - 12, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_joinrightcols), - offsetof(PgQuery__RangeTblEntry, joinrightcols), - &pg_query__node__descriptor, + "subname", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__RenameStmt, subname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "join_using_alias", - 13, + "newname", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, join_using_alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__RenameStmt, newname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "functions", - 14, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_functions), - offsetof(PgQuery__RangeTblEntry, functions), - &pg_query__node__descriptor, + "behavior", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__RenameStmt, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcordinality", - 15, + "missing_ok", + 8, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, funcordinality), + offsetof(PgQuery__RenameStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__rename_stmt__field_indices_by_name[] = { + 6, /* field[6] = behavior */ + 7, /* field[7] = missing_ok */ + 5, /* field[5] = newname */ + 3, /* field[3] = object */ + 2, /* field[2] = relation */ + 1, /* field[1] = relation_type */ + 0, /* field[0] = rename_type */ + 4, /* field[4] = subname */ +}; +static const ProtobufCIntRange pg_query__rename_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 8 } +}; +const ProtobufCMessageDescriptor pg_query__rename_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.RenameStmt", + "RenameStmt", + "PgQuery__RenameStmt", + "pg_query", + sizeof(PgQuery__RenameStmt), + 8, + pg_query__rename_stmt__field_descriptors, + pg_query__rename_stmt__field_indices_by_name, + 1, pg_query__rename_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__rename_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_object_depends_stmt__field_descriptors[5] = +{ { - "tablefunc", - 16, + "object_type", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, tablefunc), - &pg_query__table_func__descriptor, + offsetof(PgQuery__AlterObjectDependsStmt, object_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "values_lists", - 17, - PROTOBUF_C_LABEL_REPEATED, + "relation", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_values_lists), - offsetof(PgQuery__RangeTblEntry, values_lists), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterObjectDependsStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctename", - 18, + "object", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, ctename), + offsetof(PgQuery__AlterObjectDependsStmt, object), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "ctelevelsup", - 19, + "extname", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, ctelevelsup), - NULL, + offsetof(PgQuery__AlterObjectDependsStmt, extname), + &pg_query__string__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "self_reference", - 20, + "remove", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, self_reference), + offsetof(PgQuery__AlterObjectDependsStmt, remove), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_object_depends_stmt__field_indices_by_name[] = { + 3, /* field[3] = extname */ + 2, /* field[2] = object */ + 0, /* field[0] = object_type */ + 1, /* field[1] = relation */ + 4, /* field[4] = remove */ +}; +static const ProtobufCIntRange pg_query__alter_object_depends_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__alter_object_depends_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterObjectDependsStmt", + "AlterObjectDependsStmt", + "PgQuery__AlterObjectDependsStmt", + "pg_query", + sizeof(PgQuery__AlterObjectDependsStmt), + 5, + pg_query__alter_object_depends_stmt__field_descriptors, + pg_query__alter_object_depends_stmt__field_indices_by_name, + 1, pg_query__alter_object_depends_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_object_depends_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_object_schema_stmt__field_descriptors[5] = +{ { - "coltypes", - 21, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_coltypes), - offsetof(PgQuery__RangeTblEntry, coltypes), - &pg_query__node__descriptor, + "object_type", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterObjectSchemaStmt, object_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "coltypmods", - 22, - PROTOBUF_C_LABEL_REPEATED, + "relation", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_coltypmods), - offsetof(PgQuery__RangeTblEntry, coltypmods), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterObjectSchemaStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "colcollations", - 23, - PROTOBUF_C_LABEL_REPEATED, + "object", + 3, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_colcollations), - offsetof(PgQuery__RangeTblEntry, colcollations), + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterObjectSchemaStmt, object), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "enrname", - 24, + "newschema", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, enrname), + offsetof(PgQuery__AlterObjectSchemaStmt, newschema), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "enrtuples", - 25, + "missing_ok", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_DOUBLE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, enrtuples), + offsetof(PgQuery__AlterObjectSchemaStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_object_schema_stmt__field_indices_by_name[] = { + 4, /* field[4] = missing_ok */ + 3, /* field[3] = newschema */ + 2, /* field[2] = object */ + 0, /* field[0] = object_type */ + 1, /* field[1] = relation */ +}; +static const ProtobufCIntRange pg_query__alter_object_schema_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__alter_object_schema_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterObjectSchemaStmt", + "AlterObjectSchemaStmt", + "PgQuery__AlterObjectSchemaStmt", + "pg_query", + sizeof(PgQuery__AlterObjectSchemaStmt), + 5, + pg_query__alter_object_schema_stmt__field_descriptors, + pg_query__alter_object_schema_stmt__field_indices_by_name, + 1, pg_query__alter_object_schema_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_object_schema_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_owner_stmt__field_descriptors[4] = +{ { - "alias", - 26, + "object_type", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, alias), - &pg_query__alias__descriptor, + offsetof(PgQuery__AlterOwnerStmt, object_type), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "eref", - 27, + "relation", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, eref), - &pg_query__alias__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "lateral", - 28, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, lateral), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inh", - 29, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, inh), - NULL, + offsetof(PgQuery__AlterOwnerStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_from_cl", - 30, + "object", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, in_from_cl), - NULL, + offsetof(PgQuery__AlterOwnerStmt, object), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "required_perms", - 31, + "newowner", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, required_perms), - NULL, + offsetof(PgQuery__AlterOwnerStmt, newowner), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_owner_stmt__field_indices_by_name[] = { + 3, /* field[3] = newowner */ + 2, /* field[2] = object */ + 0, /* field[0] = object_type */ + 1, /* field[1] = relation */ +}; +static const ProtobufCIntRange pg_query__alter_owner_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__alter_owner_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterOwnerStmt", + "AlterOwnerStmt", + "PgQuery__AlterOwnerStmt", + "pg_query", + sizeof(PgQuery__AlterOwnerStmt), + 4, + pg_query__alter_owner_stmt__field_descriptors, + pg_query__alter_owner_stmt__field_indices_by_name, + 1, pg_query__alter_owner_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_owner_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_operator_stmt__field_descriptors[2] = +{ { - "check_as_user", - 32, + "opername", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblEntry, check_as_user), - NULL, + offsetof(PgQuery__AlterOperatorStmt, opername), + &pg_query__object_with_args__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "selected_cols", - 33, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblEntry, n_selected_cols), - offsetof(PgQuery__RangeTblEntry, selected_cols), - NULL, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "inserted_cols", - 34, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblEntry, n_inserted_cols), - offsetof(PgQuery__RangeTblEntry, inserted_cols), - NULL, - NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "updated_cols", - 35, + "options", + 2, PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblEntry, n_updated_cols), - offsetof(PgQuery__RangeTblEntry, updated_cols), - NULL, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterOperatorStmt, n_options), + offsetof(PgQuery__AlterOperatorStmt, options), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_operator_stmt__field_indices_by_name[] = { + 0, /* field[0] = opername */ + 1, /* field[1] = options */ +}; +static const ProtobufCIntRange pg_query__alter_operator_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__alter_operator_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterOperatorStmt", + "AlterOperatorStmt", + "PgQuery__AlterOperatorStmt", + "pg_query", + sizeof(PgQuery__AlterOperatorStmt), + 2, + pg_query__alter_operator_stmt__field_descriptors, + pg_query__alter_operator_stmt__field_indices_by_name, + 1, pg_query__alter_operator_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_operator_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_type_stmt__field_descriptors[2] = +{ { - "extra_updated_cols", - 36, + "type_name", + 1, PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblEntry, n_extra_updated_cols), - offsetof(PgQuery__RangeTblEntry, extra_updated_cols), - NULL, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterTypeStmt, n_type_name), + offsetof(PgQuery__AlterTypeStmt, type_name), + &pg_query__node__descriptor, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "security_quals", - 37, + "options", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblEntry, n_security_quals), - offsetof(PgQuery__RangeTblEntry, security_quals), + offsetof(PgQuery__AlterTypeStmt, n_options), + offsetof(PgQuery__AlterTypeStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_tbl_entry__field_indices_by_name[] = { - 25, /* field[25] = alias */ - 31, /* field[31] = check_as_user */ - 22, /* field[22] = colcollations */ - 20, /* field[20] = coltypes */ - 21, /* field[21] = coltypmods */ - 18, /* field[18] = ctelevelsup */ - 17, /* field[17] = ctename */ - 23, /* field[23] = enrname */ - 24, /* field[24] = enrtuples */ - 26, /* field[26] = eref */ - 35, /* field[35] = extra_updated_cols */ - 14, /* field[14] = funcordinality */ - 13, /* field[13] = functions */ - 29, /* field[29] = in_from_cl */ - 28, /* field[28] = inh */ - 33, /* field[33] = inserted_cols */ - 12, /* field[12] = join_using_alias */ - 9, /* field[9] = joinaliasvars */ - 10, /* field[10] = joinleftcols */ - 8, /* field[8] = joinmergedcols */ - 11, /* field[11] = joinrightcols */ - 7, /* field[7] = jointype */ - 27, /* field[27] = lateral */ - 1, /* field[1] = relid */ - 2, /* field[2] = relkind */ - 3, /* field[3] = rellockmode */ - 30, /* field[30] = required_perms */ - 0, /* field[0] = rtekind */ - 6, /* field[6] = security_barrier */ - 36, /* field[36] = security_quals */ - 32, /* field[32] = selected_cols */ - 19, /* field[19] = self_reference */ - 5, /* field[5] = subquery */ - 15, /* field[15] = tablefunc */ - 4, /* field[4] = tablesample */ - 34, /* field[34] = updated_cols */ - 16, /* field[16] = values_lists */ +static const unsigned pg_query__alter_type_stmt__field_indices_by_name[] = { + 1, /* field[1] = options */ + 0, /* field[0] = type_name */ }; -static const ProtobufCIntRange pg_query__range_tbl_entry__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_type_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 37 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__range_tbl_entry__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_type_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblEntry", - "RangeTblEntry", - "PgQuery__RangeTblEntry", + "pg_query.AlterTypeStmt", + "AlterTypeStmt", + "PgQuery__AlterTypeStmt", "pg_query", - sizeof(PgQuery__RangeTblEntry), - 37, - pg_query__range_tbl_entry__field_descriptors, - pg_query__range_tbl_entry__field_indices_by_name, - 1, pg_query__range_tbl_entry__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_entry__init, + sizeof(PgQuery__AlterTypeStmt), + 2, + pg_query__alter_type_stmt__field_descriptors, + pg_query__alter_type_stmt__field_indices_by_name, + 1, pg_query__alter_type_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_type_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__range_tbl_function__field_descriptors[7] = +static const ProtobufCFieldDescriptor pg_query__rule_stmt__field_descriptors[7] = { { - "funcexpr", + "relation", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblFunction, funcexpr), - &pg_query__node__descriptor, + offsetof(PgQuery__RuleStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccolcount", + "rulename", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RangeTblFunction, funccolcount), - NULL, + offsetof(PgQuery__RuleStmt, rulename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccolnames", + "where_clause", 3, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccolnames), - offsetof(PgQuery__RangeTblFunction, funccolnames), + 0, /* quantifier_offset */ + offsetof(PgQuery__RuleStmt, where_clause), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccoltypes", + "event", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccoltypes), - offsetof(PgQuery__RangeTblFunction, funccoltypes), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__RuleStmt, event), + &pg_query__cmd_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccoltypmods", + "instead", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccoltypmods), - offsetof(PgQuery__RangeTblFunction, funccoltypmods), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RuleStmt, instead), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funccolcollations", + "actions", 6, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__RangeTblFunction, n_funccolcollations), - offsetof(PgQuery__RangeTblFunction, funccolcollations), + offsetof(PgQuery__RuleStmt, n_actions), + offsetof(PgQuery__RuleStmt, actions), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "funcparams", + "replace", 7, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_UINT64, - offsetof(PgQuery__RangeTblFunction, n_funcparams), - offsetof(PgQuery__RangeTblFunction, funcparams), + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RuleStmt, replace), NULL, NULL, - 0 | PROTOBUF_C_FIELD_FLAG_PACKED, /* flags */ + 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__range_tbl_function__field_indices_by_name[] = { - 5, /* field[5] = funccolcollations */ - 1, /* field[1] = funccolcount */ - 2, /* field[2] = funccolnames */ - 3, /* field[3] = funccoltypes */ - 4, /* field[4] = funccoltypmods */ - 0, /* field[0] = funcexpr */ - 6, /* field[6] = funcparams */ +static const unsigned pg_query__rule_stmt__field_indices_by_name[] = { + 5, /* field[5] = actions */ + 3, /* field[3] = event */ + 4, /* field[4] = instead */ + 0, /* field[0] = relation */ + 6, /* field[6] = replace */ + 1, /* field[1] = rulename */ + 2, /* field[2] = where_clause */ }; -static const ProtobufCIntRange pg_query__range_tbl_function__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__rule_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__range_tbl_function__descriptor = +const ProtobufCMessageDescriptor pg_query__rule_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RangeTblFunction", - "RangeTblFunction", - "PgQuery__RangeTblFunction", + "pg_query.RuleStmt", + "RuleStmt", + "PgQuery__RuleStmt", "pg_query", - sizeof(PgQuery__RangeTblFunction), + sizeof(PgQuery__RuleStmt), 7, - pg_query__range_tbl_function__field_descriptors, - pg_query__range_tbl_function__field_indices_by_name, - 1, pg_query__range_tbl_function__number_ranges, - (ProtobufCMessageInit) pg_query__range_tbl_function__init, + pg_query__rule_stmt__field_descriptors, + pg_query__rule_stmt__field_indices_by_name, + 1, pg_query__rule_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__rule_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__table_sample_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__notify_stmt__field_descriptors[2] = { { - "tsmhandler", + "conditionname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__TableSampleClause, tsmhandler), - NULL, + offsetof(PgQuery__NotifyStmt, conditionname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "args", + "payload", 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__TableSampleClause, n_args), - offsetof(PgQuery__TableSampleClause, args), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__NotifyStmt, payload), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__notify_stmt__field_indices_by_name[] = { + 0, /* field[0] = conditionname */ + 1, /* field[1] = payload */ +}; +static const ProtobufCIntRange pg_query__notify_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__notify_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.NotifyStmt", + "NotifyStmt", + "PgQuery__NotifyStmt", + "pg_query", + sizeof(PgQuery__NotifyStmt), + 2, + pg_query__notify_stmt__field_descriptors, + pg_query__notify_stmt__field_indices_by_name, + 1, pg_query__notify_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__notify_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__listen_stmt__field_descriptors[1] = +{ { - "repeatable", - 3, + "conditionname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__TableSampleClause, repeatable), - &pg_query__node__descriptor, + offsetof(PgQuery__ListenStmt, conditionname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__table_sample_clause__field_indices_by_name[] = { - 1, /* field[1] = args */ - 2, /* field[2] = repeatable */ - 0, /* field[0] = tsmhandler */ +static const unsigned pg_query__listen_stmt__field_indices_by_name[] = { + 0, /* field[0] = conditionname */ }; -static const ProtobufCIntRange pg_query__table_sample_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__listen_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__table_sample_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__listen_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TableSampleClause", - "TableSampleClause", - "PgQuery__TableSampleClause", + "pg_query.ListenStmt", + "ListenStmt", + "PgQuery__ListenStmt", "pg_query", - sizeof(PgQuery__TableSampleClause), - 3, - pg_query__table_sample_clause__field_descriptors, - pg_query__table_sample_clause__field_indices_by_name, - 1, pg_query__table_sample_clause__number_ranges, - (ProtobufCMessageInit) pg_query__table_sample_clause__init, + sizeof(PgQuery__ListenStmt), + 1, + pg_query__listen_stmt__field_descriptors, + pg_query__listen_stmt__field_indices_by_name, + 1, pg_query__listen_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__listen_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__with_check_option__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__unlisten_stmt__field_descriptors[1] = +{ + { + "conditionname", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__UnlistenStmt, conditionname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__unlisten_stmt__field_indices_by_name[] = { + 0, /* field[0] = conditionname */ +}; +static const ProtobufCIntRange pg_query__unlisten_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__unlisten_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.UnlistenStmt", + "UnlistenStmt", + "PgQuery__UnlistenStmt", + "pg_query", + sizeof(PgQuery__UnlistenStmt), + 1, + pg_query__unlisten_stmt__field_descriptors, + pg_query__unlisten_stmt__field_indices_by_name, + 1, pg_query__unlisten_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__unlisten_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__transaction_stmt__field_descriptors[6] = { { "kind", @@ -33549,1877 +37977,1771 @@ static const ProtobufCFieldDescriptor pg_query__with_check_option__field_descrip PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, kind), - &pg_query__wcokind__descriptor, + offsetof(PgQuery__TransactionStmt, kind), + &pg_query__transaction_stmt_kind__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relname", + "options", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, relname), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__TransactionStmt, n_options), + offsetof(PgQuery__TransactionStmt, options), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "polname", + "savepoint_name", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, polname), + offsetof(PgQuery__TransactionStmt, savepoint_name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "qual", + "gid", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, qual), - &pg_query__node__descriptor, + offsetof(PgQuery__TransactionStmt, gid), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cascaded", + "chain", 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WithCheckOption, cascaded), + offsetof(PgQuery__TransactionStmt, chain), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "location", + 6, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_INT32, + 0, /* quantifier_offset */ + offsetof(PgQuery__TransactionStmt, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__with_check_option__field_indices_by_name[] = { - 4, /* field[4] = cascaded */ +static const unsigned pg_query__transaction_stmt__field_indices_by_name[] = { + 4, /* field[4] = chain */ + 3, /* field[3] = gid */ 0, /* field[0] = kind */ - 2, /* field[2] = polname */ - 3, /* field[3] = qual */ - 1, /* field[1] = relname */ + 5, /* field[5] = location */ + 1, /* field[1] = options */ + 2, /* field[2] = savepoint_name */ }; -static const ProtobufCIntRange pg_query__with_check_option__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__transaction_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 6 } }; -const ProtobufCMessageDescriptor pg_query__with_check_option__descriptor = +const ProtobufCMessageDescriptor pg_query__transaction_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WithCheckOption", - "WithCheckOption", - "PgQuery__WithCheckOption", + "pg_query.TransactionStmt", + "TransactionStmt", + "PgQuery__TransactionStmt", "pg_query", - sizeof(PgQuery__WithCheckOption), - 5, - pg_query__with_check_option__field_descriptors, - pg_query__with_check_option__field_indices_by_name, - 1, pg_query__with_check_option__number_ranges, - (ProtobufCMessageInit) pg_query__with_check_option__init, + sizeof(PgQuery__TransactionStmt), + 6, + pg_query__transaction_stmt__field_descriptors, + pg_query__transaction_stmt__field_indices_by_name, + 1, pg_query__transaction_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__transaction_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__sort_group_clause__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__composite_type_stmt__field_descriptors[2] = { { - "tle_sort_group_ref", + "typevar", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, tle_sort_group_ref), - NULL, + offsetof(PgQuery__CompositeTypeStmt, typevar), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "eqop", + "coldeflist", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, eqop), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "sortop", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, sortop), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CompositeTypeStmt, n_coldeflist), + offsetof(PgQuery__CompositeTypeStmt, coldeflist), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__composite_type_stmt__field_indices_by_name[] = { + 1, /* field[1] = coldeflist */ + 0, /* field[0] = typevar */ +}; +static const ProtobufCIntRange pg_query__composite_type_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__composite_type_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CompositeTypeStmt", + "CompositeTypeStmt", + "PgQuery__CompositeTypeStmt", + "pg_query", + sizeof(PgQuery__CompositeTypeStmt), + 2, + pg_query__composite_type_stmt__field_descriptors, + pg_query__composite_type_stmt__field_indices_by_name, + 1, pg_query__composite_type_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__composite_type_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_enum_stmt__field_descriptors[2] = +{ { - "nulls_first", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, nulls_first), - NULL, + "type_name", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateEnumStmt, n_type_name), + offsetof(PgQuery__CreateEnumStmt, type_name), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "hashable", - 5, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__SortGroupClause, hashable), - NULL, + "vals", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateEnumStmt, n_vals), + offsetof(PgQuery__CreateEnumStmt, vals), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__sort_group_clause__field_indices_by_name[] = { - 1, /* field[1] = eqop */ - 4, /* field[4] = hashable */ - 3, /* field[3] = nulls_first */ - 2, /* field[2] = sortop */ - 0, /* field[0] = tle_sort_group_ref */ +static const unsigned pg_query__create_enum_stmt__field_indices_by_name[] = { + 0, /* field[0] = type_name */ + 1, /* field[1] = vals */ }; -static const ProtobufCIntRange pg_query__sort_group_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_enum_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__sort_group_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__create_enum_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.SortGroupClause", - "SortGroupClause", - "PgQuery__SortGroupClause", + "pg_query.CreateEnumStmt", + "CreateEnumStmt", + "PgQuery__CreateEnumStmt", "pg_query", - sizeof(PgQuery__SortGroupClause), - 5, - pg_query__sort_group_clause__field_descriptors, - pg_query__sort_group_clause__field_indices_by_name, - 1, pg_query__sort_group_clause__number_ranges, - (ProtobufCMessageInit) pg_query__sort_group_clause__init, + sizeof(PgQuery__CreateEnumStmt), + 2, + pg_query__create_enum_stmt__field_descriptors, + pg_query__create_enum_stmt__field_indices_by_name, + 1, pg_query__create_enum_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_enum_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__grouping_set__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_range_stmt__field_descriptors[2] = { { - "kind", + "type_name", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingSet, kind), - &pg_query__grouping_set_kind__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateRangeStmt, n_type_name), + offsetof(PgQuery__CreateRangeStmt, type_name), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "content", + "params", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__GroupingSet, n_content), - offsetof(PgQuery__GroupingSet, content), + offsetof(PgQuery__CreateRangeStmt, n_params), + offsetof(PgQuery__CreateRangeStmt, params), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "location", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__GroupingSet, location), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__grouping_set__field_indices_by_name[] = { - 1, /* field[1] = content */ - 0, /* field[0] = kind */ - 2, /* field[2] = location */ +static const unsigned pg_query__create_range_stmt__field_indices_by_name[] = { + 1, /* field[1] = params */ + 0, /* field[0] = type_name */ }; -static const ProtobufCIntRange pg_query__grouping_set__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_range_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__grouping_set__descriptor = +const ProtobufCMessageDescriptor pg_query__create_range_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.GroupingSet", - "GroupingSet", - "PgQuery__GroupingSet", + "pg_query.CreateRangeStmt", + "CreateRangeStmt", + "PgQuery__CreateRangeStmt", "pg_query", - sizeof(PgQuery__GroupingSet), - 3, - pg_query__grouping_set__field_descriptors, - pg_query__grouping_set__field_indices_by_name, - 1, pg_query__grouping_set__number_ranges, - (ProtobufCMessageInit) pg_query__grouping_set__init, + sizeof(PgQuery__CreateRangeStmt), + 2, + pg_query__create_range_stmt__field_descriptors, + pg_query__create_range_stmt__field_indices_by_name, + 1, pg_query__create_range_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_range_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__window_clause__field_descriptors[15] = +static const ProtobufCFieldDescriptor pg_query__alter_enum_stmt__field_descriptors[6] = { { - "name", + "type_name", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, name), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterEnumStmt, n_type_name), + offsetof(PgQuery__AlterEnumStmt, type_name), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "refname", + "old_val", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, refname), + offsetof(PgQuery__AlterEnumStmt, old_val), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "partition_clause", + "new_val", 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_partition_clause), - offsetof(PgQuery__WindowClause, partition_clause), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterEnumStmt, new_val), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "order_clause", + "new_val_neighbor", 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_order_clause), - offsetof(PgQuery__WindowClause, order_clause), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterEnumStmt, new_val_neighbor), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "frame_options", + "new_val_is_after", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, frame_options), + offsetof(PgQuery__AlterEnumStmt, new_val_is_after), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "start_offset", + "skip_if_new_val_exists", 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, start_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterEnumStmt, skip_if_new_val_exists), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_enum_stmt__field_indices_by_name[] = { + 2, /* field[2] = new_val */ + 4, /* field[4] = new_val_is_after */ + 3, /* field[3] = new_val_neighbor */ + 1, /* field[1] = old_val */ + 5, /* field[5] = skip_if_new_val_exists */ + 0, /* field[0] = type_name */ +}; +static const ProtobufCIntRange pg_query__alter_enum_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__alter_enum_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterEnumStmt", + "AlterEnumStmt", + "PgQuery__AlterEnumStmt", + "pg_query", + sizeof(PgQuery__AlterEnumStmt), + 6, + pg_query__alter_enum_stmt__field_descriptors, + pg_query__alter_enum_stmt__field_indices_by_name, + 1, pg_query__alter_enum_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_enum_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__view_stmt__field_descriptors[6] = +{ { - "end_offset", - 7, + "view", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, end_offset), - &pg_query__node__descriptor, + offsetof(PgQuery__ViewStmt, view), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "run_condition", - 8, + "aliases", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WindowClause, n_run_condition), - offsetof(PgQuery__WindowClause, run_condition), + offsetof(PgQuery__ViewStmt, n_aliases), + offsetof(PgQuery__ViewStmt, aliases), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "start_in_range_func", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, start_in_range_func), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "end_in_range_func", - 10, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, end_in_range_func), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "in_range_coll", - 11, + "query", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_coll), - NULL, + offsetof(PgQuery__ViewStmt, query), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_range_asc", - 12, + "replace", + 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_asc), + offsetof(PgQuery__ViewStmt, replace), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "in_range_nulls_first", - 13, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, in_range_nulls_first), - NULL, + "options", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ViewStmt, n_options), + offsetof(PgQuery__ViewStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "winref", - 14, + "with_check_option", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, winref), - NULL, + offsetof(PgQuery__ViewStmt, with_check_option), + &pg_query__view_check_option__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__view_stmt__field_indices_by_name[] = { + 1, /* field[1] = aliases */ + 4, /* field[4] = options */ + 2, /* field[2] = query */ + 3, /* field[3] = replace */ + 0, /* field[0] = view */ + 5, /* field[5] = with_check_option */ +}; +static const ProtobufCIntRange pg_query__view_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 6 } +}; +const ProtobufCMessageDescriptor pg_query__view_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ViewStmt", + "ViewStmt", + "PgQuery__ViewStmt", + "pg_query", + sizeof(PgQuery__ViewStmt), + 6, + pg_query__view_stmt__field_descriptors, + pg_query__view_stmt__field_indices_by_name, + 1, pg_query__view_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__view_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__load_stmt__field_descriptors[1] = +{ { - "copied_order", - 15, + "filename", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__WindowClause, copied_order), - NULL, + offsetof(PgQuery__LoadStmt, filename), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__window_clause__field_indices_by_name[] = { - 14, /* field[14] = copied_order */ - 9, /* field[9] = end_in_range_func */ - 6, /* field[6] = end_offset */ - 4, /* field[4] = frame_options */ - 11, /* field[11] = in_range_asc */ - 10, /* field[10] = in_range_coll */ - 12, /* field[12] = in_range_nulls_first */ - 0, /* field[0] = name */ - 3, /* field[3] = order_clause */ - 2, /* field[2] = partition_clause */ - 1, /* field[1] = refname */ - 7, /* field[7] = run_condition */ - 8, /* field[8] = start_in_range_func */ - 5, /* field[5] = start_offset */ - 13, /* field[13] = winref */ +static const unsigned pg_query__load_stmt__field_indices_by_name[] = { + 0, /* field[0] = filename */ }; -static const ProtobufCIntRange pg_query__window_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__load_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 15 } + { 0, 1 } }; -const ProtobufCMessageDescriptor pg_query__window_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__load_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WindowClause", - "WindowClause", - "PgQuery__WindowClause", + "pg_query.LoadStmt", + "LoadStmt", + "PgQuery__LoadStmt", "pg_query", - sizeof(PgQuery__WindowClause), - 15, - pg_query__window_clause__field_descriptors, - pg_query__window_clause__field_indices_by_name, - 1, pg_query__window_clause__number_ranges, - (ProtobufCMessageInit) pg_query__window_clause__init, + sizeof(PgQuery__LoadStmt), + 1, + pg_query__load_stmt__field_descriptors, + pg_query__load_stmt__field_indices_by_name, + 1, pg_query__load_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__load_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__object_with_args__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__createdb_stmt__field_descriptors[2] = { { - "objname", + "dbname", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ObjectWithArgs, n_objname), - offsetof(PgQuery__ObjectWithArgs, objname), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreatedbStmt, dbname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "objargs", + "options", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ObjectWithArgs, n_objargs), - offsetof(PgQuery__ObjectWithArgs, objargs), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "objfuncargs", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__ObjectWithArgs, n_objfuncargs), - offsetof(PgQuery__ObjectWithArgs, objfuncargs), + offsetof(PgQuery__CreatedbStmt, n_options), + offsetof(PgQuery__CreatedbStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "args_unspecified", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__ObjectWithArgs, args_unspecified), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__object_with_args__field_indices_by_name[] = { - 3, /* field[3] = args_unspecified */ - 1, /* field[1] = objargs */ - 2, /* field[2] = objfuncargs */ - 0, /* field[0] = objname */ +static const unsigned pg_query__createdb_stmt__field_indices_by_name[] = { + 0, /* field[0] = dbname */ + 1, /* field[1] = options */ }; -static const ProtobufCIntRange pg_query__object_with_args__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__createdb_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__object_with_args__descriptor = +const ProtobufCMessageDescriptor pg_query__createdb_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.ObjectWithArgs", - "ObjectWithArgs", - "PgQuery__ObjectWithArgs", + "pg_query.CreatedbStmt", + "CreatedbStmt", + "PgQuery__CreatedbStmt", "pg_query", - sizeof(PgQuery__ObjectWithArgs), - 4, - pg_query__object_with_args__field_descriptors, - pg_query__object_with_args__field_indices_by_name, - 1, pg_query__object_with_args__number_ranges, - (ProtobufCMessageInit) pg_query__object_with_args__init, + sizeof(PgQuery__CreatedbStmt), + 2, + pg_query__createdb_stmt__field_descriptors, + pg_query__createdb_stmt__field_indices_by_name, + 1, pg_query__createdb_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__createdb_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__access_priv__field_descriptors[2] = +static const ProtobufCFieldDescriptor pg_query__alter_database_stmt__field_descriptors[2] = { { - "priv_name", + "dbname", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__AccessPriv, priv_name), + offsetof(PgQuery__AlterDatabaseStmt, dbname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cols", + "options", 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__AccessPriv, n_cols), - offsetof(PgQuery__AccessPriv, cols), + offsetof(PgQuery__AlterDatabaseStmt, n_options), + offsetof(PgQuery__AlterDatabaseStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__access_priv__field_indices_by_name[] = { - 1, /* field[1] = cols */ - 0, /* field[0] = priv_name */ +static const unsigned pg_query__alter_database_stmt__field_indices_by_name[] = { + 0, /* field[0] = dbname */ + 1, /* field[1] = options */ }; -static const ProtobufCIntRange pg_query__access_priv__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_database_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__access_priv__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_database_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.AccessPriv", - "AccessPriv", - "PgQuery__AccessPriv", + "pg_query.AlterDatabaseStmt", + "AlterDatabaseStmt", + "PgQuery__AlterDatabaseStmt", "pg_query", - sizeof(PgQuery__AccessPriv), + sizeof(PgQuery__AlterDatabaseStmt), 2, - pg_query__access_priv__field_descriptors, - pg_query__access_priv__field_indices_by_name, - 1, pg_query__access_priv__number_ranges, - (ProtobufCMessageInit) pg_query__access_priv__init, + pg_query__alter_database_stmt__field_descriptors, + pg_query__alter_database_stmt__field_indices_by_name, + 1, pg_query__alter_database_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_database_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__create_op_class_item__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__alter_database_refresh_coll_stmt__field_descriptors[1] = { { - "itemtype", + "dbname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassItem, itemtype), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "name", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassItem, name), - &pg_query__object_with_args__descriptor, + offsetof(PgQuery__AlterDatabaseRefreshCollStmt, dbname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_database_refresh_coll_stmt__field_indices_by_name[] = { + 0, /* field[0] = dbname */ +}; +static const ProtobufCIntRange pg_query__alter_database_refresh_coll_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__alter_database_refresh_coll_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterDatabaseRefreshCollStmt", + "AlterDatabaseRefreshCollStmt", + "PgQuery__AlterDatabaseRefreshCollStmt", + "pg_query", + sizeof(PgQuery__AlterDatabaseRefreshCollStmt), + 1, + pg_query__alter_database_refresh_coll_stmt__field_descriptors, + pg_query__alter_database_refresh_coll_stmt__field_indices_by_name, + 1, pg_query__alter_database_refresh_coll_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_database_refresh_coll_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_database_set_stmt__field_descriptors[2] = +{ { - "number", - 3, + "dbname", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassItem, number), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "order_family", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpClassItem, n_order_family), - offsetof(PgQuery__CreateOpClassItem, order_family), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "class_args", - 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CreateOpClassItem, n_class_args), - offsetof(PgQuery__CreateOpClassItem, class_args), - &pg_query__node__descriptor, + offsetof(PgQuery__AlterDatabaseSetStmt, dbname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "storedtype", - 6, + "setstmt", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CreateOpClassItem, storedtype), - &pg_query__type_name__descriptor, + offsetof(PgQuery__AlterDatabaseSetStmt, setstmt), + &pg_query__variable_set_stmt__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__create_op_class_item__field_indices_by_name[] = { - 4, /* field[4] = class_args */ - 0, /* field[0] = itemtype */ - 1, /* field[1] = name */ - 2, /* field[2] = number */ - 3, /* field[3] = order_family */ - 5, /* field[5] = storedtype */ +static const unsigned pg_query__alter_database_set_stmt__field_indices_by_name[] = { + 0, /* field[0] = dbname */ + 1, /* field[1] = setstmt */ }; -static const ProtobufCIntRange pg_query__create_op_class_item__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_database_set_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__create_op_class_item__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_database_set_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CreateOpClassItem", - "CreateOpClassItem", - "PgQuery__CreateOpClassItem", + "pg_query.AlterDatabaseSetStmt", + "AlterDatabaseSetStmt", + "PgQuery__AlterDatabaseSetStmt", "pg_query", - sizeof(PgQuery__CreateOpClassItem), - 6, - pg_query__create_op_class_item__field_descriptors, - pg_query__create_op_class_item__field_indices_by_name, - 1, pg_query__create_op_class_item__number_ranges, - (ProtobufCMessageInit) pg_query__create_op_class_item__init, + sizeof(PgQuery__AlterDatabaseSetStmt), + 2, + pg_query__alter_database_set_stmt__field_descriptors, + pg_query__alter_database_set_stmt__field_indices_by_name, + 1, pg_query__alter_database_set_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_database_set_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__table_like_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__dropdb_stmt__field_descriptors[3] = { { - "relation", + "dbname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__TableLikeClause, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__DropdbStmt, dbname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "options", + "missing_ok", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__TableLikeClause, options), + offsetof(PgQuery__DropdbStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "relation_oid", + "options", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__TableLikeClause, relation_oid), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__DropdbStmt, n_options), + offsetof(PgQuery__DropdbStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__table_like_clause__field_indices_by_name[] = { - 1, /* field[1] = options */ - 0, /* field[0] = relation */ - 2, /* field[2] = relation_oid */ +static const unsigned pg_query__dropdb_stmt__field_indices_by_name[] = { + 0, /* field[0] = dbname */ + 1, /* field[1] = missing_ok */ + 2, /* field[2] = options */ }; -static const ProtobufCIntRange pg_query__table_like_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__dropdb_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__table_like_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__dropdb_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TableLikeClause", - "TableLikeClause", - "PgQuery__TableLikeClause", + "pg_query.DropdbStmt", + "DropdbStmt", + "PgQuery__DropdbStmt", "pg_query", - sizeof(PgQuery__TableLikeClause), + sizeof(PgQuery__DropdbStmt), 3, - pg_query__table_like_clause__field_descriptors, - pg_query__table_like_clause__field_indices_by_name, - 1, pg_query__table_like_clause__number_ranges, - (ProtobufCMessageInit) pg_query__table_like_clause__init, + pg_query__dropdb_stmt__field_descriptors, + pg_query__dropdb_stmt__field_indices_by_name, + 1, pg_query__dropdb_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__dropdb_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__function_parameter__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__alter_system_stmt__field_descriptors[1] = { { - "name", + "setstmt", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FunctionParameter, name), + offsetof(PgQuery__AlterSystemStmt, setstmt), + &pg_query__variable_set_stmt__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__alter_system_stmt__field_indices_by_name[] = { + 0, /* field[0] = setstmt */ +}; +static const ProtobufCIntRange pg_query__alter_system_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__alter_system_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterSystemStmt", + "AlterSystemStmt", + "PgQuery__AlterSystemStmt", + "pg_query", + sizeof(PgQuery__AlterSystemStmt), + 1, + pg_query__alter_system_stmt__field_descriptors, + pg_query__alter_system_stmt__field_indices_by_name, + 1, pg_query__alter_system_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_system_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__cluster_stmt__field_descriptors[3] = +{ { - "arg_type", - 2, + "relation", + 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__FunctionParameter, arg_type), - &pg_query__type_name__descriptor, + offsetof(PgQuery__ClusterStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "mode", - 3, + "indexname", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__FunctionParameter, mode), - &pg_query__function_parameter_mode__descriptor, + offsetof(PgQuery__ClusterStmt, indexname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "defexpr", - 4, - PROTOBUF_C_LABEL_NONE, + "params", + 3, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__FunctionParameter, defexpr), + offsetof(PgQuery__ClusterStmt, n_params), + offsetof(PgQuery__ClusterStmt, params), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__function_parameter__field_indices_by_name[] = { - 1, /* field[1] = arg_type */ - 3, /* field[3] = defexpr */ - 2, /* field[2] = mode */ - 0, /* field[0] = name */ +static const unsigned pg_query__cluster_stmt__field_indices_by_name[] = { + 1, /* field[1] = indexname */ + 2, /* field[2] = params */ + 0, /* field[0] = relation */ }; -static const ProtobufCIntRange pg_query__function_parameter__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__cluster_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__function_parameter__descriptor = +const ProtobufCMessageDescriptor pg_query__cluster_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.FunctionParameter", - "FunctionParameter", - "PgQuery__FunctionParameter", + "pg_query.ClusterStmt", + "ClusterStmt", + "PgQuery__ClusterStmt", "pg_query", - sizeof(PgQuery__FunctionParameter), - 4, - pg_query__function_parameter__field_descriptors, - pg_query__function_parameter__field_indices_by_name, - 1, pg_query__function_parameter__number_ranges, - (ProtobufCMessageInit) pg_query__function_parameter__init, + sizeof(PgQuery__ClusterStmt), + 3, + pg_query__cluster_stmt__field_descriptors, + pg_query__cluster_stmt__field_indices_by_name, + 1, pg_query__cluster_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__cluster_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__locking_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__vacuum_stmt__field_descriptors[3] = { { - "locked_rels", + "options", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__LockingClause, n_locked_rels), - offsetof(PgQuery__LockingClause, locked_rels), + offsetof(PgQuery__VacuumStmt, n_options), + offsetof(PgQuery__VacuumStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "strength", + "rels", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__LockingClause, strength), - &pg_query__lock_clause_strength__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__VacuumStmt, n_rels), + offsetof(PgQuery__VacuumStmt, rels), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "wait_policy", + "is_vacuumcmd", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__LockingClause, wait_policy), - &pg_query__lock_wait_policy__descriptor, + offsetof(PgQuery__VacuumStmt, is_vacuumcmd), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__locking_clause__field_indices_by_name[] = { - 0, /* field[0] = locked_rels */ - 1, /* field[1] = strength */ - 2, /* field[2] = wait_policy */ +static const unsigned pg_query__vacuum_stmt__field_indices_by_name[] = { + 2, /* field[2] = is_vacuumcmd */ + 0, /* field[0] = options */ + 1, /* field[1] = rels */ }; -static const ProtobufCIntRange pg_query__locking_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__vacuum_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__locking_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__vacuum_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.LockingClause", - "LockingClause", - "PgQuery__LockingClause", + "pg_query.VacuumStmt", + "VacuumStmt", + "PgQuery__VacuumStmt", "pg_query", - sizeof(PgQuery__LockingClause), + sizeof(PgQuery__VacuumStmt), 3, - pg_query__locking_clause__field_descriptors, - pg_query__locking_clause__field_indices_by_name, - 1, pg_query__locking_clause__number_ranges, - (ProtobufCMessageInit) pg_query__locking_clause__init, + pg_query__vacuum_stmt__field_descriptors, + pg_query__vacuum_stmt__field_indices_by_name, + 1, pg_query__vacuum_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__vacuum_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__row_mark_clause__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__vacuum_relation__field_descriptors[3] = { { - "rti", + "relation", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, rti), - NULL, + offsetof(PgQuery__VacuumRelation, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "strength", + "oid", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_UINT32, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, strength), - &pg_query__lock_clause_strength__descriptor, + offsetof(PgQuery__VacuumRelation, oid), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "wait_policy", + "va_cols", 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, wait_policy), - &pg_query__lock_wait_policy__descriptor, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__VacuumRelation, n_va_cols), + offsetof(PgQuery__VacuumRelation, va_cols), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__vacuum_relation__field_indices_by_name[] = { + 1, /* field[1] = oid */ + 0, /* field[0] = relation */ + 2, /* field[2] = va_cols */ +}; +static const ProtobufCIntRange pg_query__vacuum_relation__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__vacuum_relation__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.VacuumRelation", + "VacuumRelation", + "PgQuery__VacuumRelation", + "pg_query", + sizeof(PgQuery__VacuumRelation), + 3, + pg_query__vacuum_relation__field_descriptors, + pg_query__vacuum_relation__field_indices_by_name, + 1, pg_query__vacuum_relation__number_ranges, + (ProtobufCMessageInit) pg_query__vacuum_relation__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__explain_stmt__field_descriptors[2] = +{ { - "pushed_down", - 4, + "query", + 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RowMarkClause, pushed_down), + offsetof(PgQuery__ExplainStmt, query), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ExplainStmt, n_options), + offsetof(PgQuery__ExplainStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__row_mark_clause__field_indices_by_name[] = { - 3, /* field[3] = pushed_down */ - 0, /* field[0] = rti */ - 1, /* field[1] = strength */ - 2, /* field[2] = wait_policy */ +static const unsigned pg_query__explain_stmt__field_indices_by_name[] = { + 1, /* field[1] = options */ + 0, /* field[0] = query */ }; -static const ProtobufCIntRange pg_query__row_mark_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__explain_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__row_mark_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__explain_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RowMarkClause", - "RowMarkClause", - "PgQuery__RowMarkClause", + "pg_query.ExplainStmt", + "ExplainStmt", + "PgQuery__ExplainStmt", "pg_query", - sizeof(PgQuery__RowMarkClause), - 4, - pg_query__row_mark_clause__field_descriptors, - pg_query__row_mark_clause__field_indices_by_name, - 1, pg_query__row_mark_clause__number_ranges, - (ProtobufCMessageInit) pg_query__row_mark_clause__init, + sizeof(PgQuery__ExplainStmt), + 2, + pg_query__explain_stmt__field_descriptors, + pg_query__explain_stmt__field_indices_by_name, + 1, pg_query__explain_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__explain_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__xml_serialize__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__create_table_as_stmt__field_descriptors[5] = { { - "xmloption", + "query", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlSerialize, xmloption), - &pg_query__xml_option_type__descriptor, + offsetof(PgQuery__CreateTableAsStmt, query), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "into", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlSerialize, expr), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateTableAsStmt, into), + &pg_query__into_clause__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "type_name", + "objtype", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlSerialize, type_name), - &pg_query__type_name__descriptor, + offsetof(PgQuery__CreateTableAsStmt, objtype), + &pg_query__object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "is_select_into", 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__XmlSerialize, location), + offsetof(PgQuery__CreateTableAsStmt, is_select_into), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "if_not_exists", + 5, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateTableAsStmt, if_not_exists), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__xml_serialize__field_indices_by_name[] = { - 1, /* field[1] = expr */ - 3, /* field[3] = location */ - 2, /* field[2] = type_name */ - 0, /* field[0] = xmloption */ +static const unsigned pg_query__create_table_as_stmt__field_indices_by_name[] = { + 4, /* field[4] = if_not_exists */ + 1, /* field[1] = into */ + 3, /* field[3] = is_select_into */ + 2, /* field[2] = objtype */ + 0, /* field[0] = query */ }; -static const ProtobufCIntRange pg_query__xml_serialize__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_table_as_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__xml_serialize__descriptor = +const ProtobufCMessageDescriptor pg_query__create_table_as_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.XmlSerialize", - "XmlSerialize", - "PgQuery__XmlSerialize", + "pg_query.CreateTableAsStmt", + "CreateTableAsStmt", + "PgQuery__CreateTableAsStmt", "pg_query", - sizeof(PgQuery__XmlSerialize), - 4, - pg_query__xml_serialize__field_descriptors, - pg_query__xml_serialize__field_indices_by_name, - 1, pg_query__xml_serialize__number_ranges, - (ProtobufCMessageInit) pg_query__xml_serialize__init, + sizeof(PgQuery__CreateTableAsStmt), + 5, + pg_query__create_table_as_stmt__field_descriptors, + pg_query__create_table_as_stmt__field_indices_by_name, + 1, pg_query__create_table_as_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_table_as_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__with_clause__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__refresh_mat_view_stmt__field_descriptors[3] = { { - "ctes", + "concurrent", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__WithClause, n_ctes), - offsetof(PgQuery__WithClause, ctes), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__RefreshMatViewStmt, concurrent), + NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "recursive", + "skip_data", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__WithClause, recursive), + offsetof(PgQuery__RefreshMatViewStmt, skip_data), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "relation", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__WithClause, location), - NULL, + offsetof(PgQuery__RefreshMatViewStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__with_clause__field_indices_by_name[] = { - 0, /* field[0] = ctes */ - 2, /* field[2] = location */ - 1, /* field[1] = recursive */ +static const unsigned pg_query__refresh_mat_view_stmt__field_indices_by_name[] = { + 0, /* field[0] = concurrent */ + 2, /* field[2] = relation */ + 1, /* field[1] = skip_data */ }; -static const ProtobufCIntRange pg_query__with_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__refresh_mat_view_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__with_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__refresh_mat_view_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.WithClause", - "WithClause", - "PgQuery__WithClause", + "pg_query.RefreshMatViewStmt", + "RefreshMatViewStmt", + "PgQuery__RefreshMatViewStmt", "pg_query", - sizeof(PgQuery__WithClause), + sizeof(PgQuery__RefreshMatViewStmt), 3, - pg_query__with_clause__field_descriptors, - pg_query__with_clause__field_indices_by_name, - 1, pg_query__with_clause__number_ranges, - (ProtobufCMessageInit) pg_query__with_clause__init, + pg_query__refresh_mat_view_stmt__field_descriptors, + pg_query__refresh_mat_view_stmt__field_indices_by_name, + 1, pg_query__refresh_mat_view_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__refresh_mat_view_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__infer_clause__field_descriptors[4] = +#define pg_query__check_point_stmt__field_descriptors NULL +#define pg_query__check_point_stmt__field_indices_by_name NULL +#define pg_query__check_point_stmt__number_ranges NULL +const ProtobufCMessageDescriptor pg_query__check_point_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.CheckPointStmt", + "CheckPointStmt", + "PgQuery__CheckPointStmt", + "pg_query", + sizeof(PgQuery__CheckPointStmt), + 0, + pg_query__check_point_stmt__field_descriptors, + pg_query__check_point_stmt__field_indices_by_name, + 0, pg_query__check_point_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__check_point_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__discard_stmt__field_descriptors[1] = { { - "index_elems", + "target", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__InferClause, n_index_elems), - offsetof(PgQuery__InferClause, index_elems), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__DiscardStmt, target), + &pg_query__discard_mode__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__discard_stmt__field_indices_by_name[] = { + 0, /* field[0] = target */ +}; +static const ProtobufCIntRange pg_query__discard_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 1 } +}; +const ProtobufCMessageDescriptor pg_query__discard_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.DiscardStmt", + "DiscardStmt", + "PgQuery__DiscardStmt", + "pg_query", + sizeof(PgQuery__DiscardStmt), + 1, + pg_query__discard_stmt__field_descriptors, + pg_query__discard_stmt__field_indices_by_name, + 1, pg_query__discard_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__discard_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__lock_stmt__field_descriptors[3] = +{ { - "where_clause", - 2, - PROTOBUF_C_LABEL_NONE, + "relations", + 1, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, where_clause), + offsetof(PgQuery__LockStmt, n_relations), + offsetof(PgQuery__LockStmt, relations), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "conname", - 3, + "mode", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, + PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, conname), + offsetof(PgQuery__LockStmt, mode), + NULL, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 4, + "nowait", + 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__InferClause, location), + offsetof(PgQuery__LockStmt, nowait), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__infer_clause__field_indices_by_name[] = { - 2, /* field[2] = conname */ - 0, /* field[0] = index_elems */ - 3, /* field[3] = location */ - 1, /* field[1] = where_clause */ +static const unsigned pg_query__lock_stmt__field_indices_by_name[] = { + 1, /* field[1] = mode */ + 2, /* field[2] = nowait */ + 0, /* field[0] = relations */ }; -static const ProtobufCIntRange pg_query__infer_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__lock_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 4 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__infer_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__lock_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InferClause", - "InferClause", - "PgQuery__InferClause", + "pg_query.LockStmt", + "LockStmt", + "PgQuery__LockStmt", "pg_query", - sizeof(PgQuery__InferClause), - 4, - pg_query__infer_clause__field_descriptors, - pg_query__infer_clause__field_indices_by_name, - 1, pg_query__infer_clause__number_ranges, - (ProtobufCMessageInit) pg_query__infer_clause__init, + sizeof(PgQuery__LockStmt), + 3, + pg_query__lock_stmt__field_descriptors, + pg_query__lock_stmt__field_indices_by_name, + 1, pg_query__lock_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__lock_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__on_conflict_clause__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__constraints_set_stmt__field_descriptors[2] = { { - "action", + "constraints", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, action), - &pg_query__on_conflict_action__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "infer", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, infer), - &pg_query__infer_clause__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "target_list", - 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__OnConflictClause, n_target_list), - offsetof(PgQuery__OnConflictClause, target_list), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "where_clause", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, where_clause), + offsetof(PgQuery__ConstraintsSetStmt, n_constraints), + offsetof(PgQuery__ConstraintsSetStmt, constraints), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 5, + "deferred", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__OnConflictClause, location), + offsetof(PgQuery__ConstraintsSetStmt, deferred), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__on_conflict_clause__field_indices_by_name[] = { - 0, /* field[0] = action */ - 1, /* field[1] = infer */ - 4, /* field[4] = location */ - 2, /* field[2] = target_list */ - 3, /* field[3] = where_clause */ +static const unsigned pg_query__constraints_set_stmt__field_indices_by_name[] = { + 0, /* field[0] = constraints */ + 1, /* field[1] = deferred */ }; -static const ProtobufCIntRange pg_query__on_conflict_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__constraints_set_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__on_conflict_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__constraints_set_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.OnConflictClause", - "OnConflictClause", - "PgQuery__OnConflictClause", + "pg_query.ConstraintsSetStmt", + "ConstraintsSetStmt", + "PgQuery__ConstraintsSetStmt", "pg_query", - sizeof(PgQuery__OnConflictClause), - 5, - pg_query__on_conflict_clause__field_descriptors, - pg_query__on_conflict_clause__field_indices_by_name, - 1, pg_query__on_conflict_clause__number_ranges, - (ProtobufCMessageInit) pg_query__on_conflict_clause__init, + sizeof(PgQuery__ConstraintsSetStmt), + 2, + pg_query__constraints_set_stmt__field_descriptors, + pg_query__constraints_set_stmt__field_indices_by_name, + 1, pg_query__constraints_set_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__constraints_set_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__ctesearch_clause__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__reindex_stmt__field_descriptors[4] = { { - "search_col_list", + "kind", 1, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CTESearchClause, n_search_col_list), - offsetof(PgQuery__CTESearchClause, search_col_list), - &pg_query__node__descriptor, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__ReindexStmt, kind), + &pg_query__reindex_object_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_breadth_first", + "relation", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, search_breadth_first), - NULL, + offsetof(PgQuery__ReindexStmt, relation), + &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_seq_column", + "name", 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, search_seq_column), + offsetof(PgQuery__ReindexStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "params", 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTESearchClause, location), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ReindexStmt, n_params), + offsetof(PgQuery__ReindexStmt, params), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__ctesearch_clause__field_indices_by_name[] = { - 3, /* field[3] = location */ - 1, /* field[1] = search_breadth_first */ - 0, /* field[0] = search_col_list */ - 2, /* field[2] = search_seq_column */ +static const unsigned pg_query__reindex_stmt__field_indices_by_name[] = { + 0, /* field[0] = kind */ + 2, /* field[2] = name */ + 3, /* field[3] = params */ + 1, /* field[1] = relation */ }; -static const ProtobufCIntRange pg_query__ctesearch_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__reindex_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__ctesearch_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__reindex_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CTESearchClause", - "CTESearchClause", - "PgQuery__CTESearchClause", + "pg_query.ReindexStmt", + "ReindexStmt", + "PgQuery__ReindexStmt", "pg_query", - sizeof(PgQuery__CTESearchClause), + sizeof(PgQuery__ReindexStmt), 4, - pg_query__ctesearch_clause__field_descriptors, - pg_query__ctesearch_clause__field_indices_by_name, - 1, pg_query__ctesearch_clause__number_ranges, - (ProtobufCMessageInit) pg_query__ctesearch_clause__init, + pg_query__reindex_stmt__field_descriptors, + pg_query__reindex_stmt__field_indices_by_name, + 1, pg_query__reindex_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__reindex_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__ctecycle_clause__field_descriptors[10] = +static const ProtobufCFieldDescriptor pg_query__create_conversion_stmt__field_descriptors[5] = { { - "cycle_col_list", + "conversion_name", 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CTECycleClause, n_cycle_col_list), - offsetof(PgQuery__CTECycleClause, cycle_col_list), + offsetof(PgQuery__CreateConversionStmt, n_conversion_name), + offsetof(PgQuery__CreateConversionStmt, conversion_name), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_column", + "for_encoding_name", 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_column), + offsetof(PgQuery__CreateConversionStmt, for_encoding_name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_value", + "to_encoding_name", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_value), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateConversionStmt, to_encoding_name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_mark_default", + "func_name", 4, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_default), + offsetof(PgQuery__CreateConversionStmt, n_func_name), + offsetof(PgQuery__CreateConversionStmt, func_name), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_path_column", + "def", 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_path_column), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "location", - 6, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, location), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cycle_mark_type", - 7, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_type), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cycle_mark_typmod", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_typmod), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cycle_mark_collation", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_collation), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cycle_mark_neop", - 10, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CTECycleClause, cycle_mark_neop), + offsetof(PgQuery__CreateConversionStmt, def), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__ctecycle_clause__field_indices_by_name[] = { - 0, /* field[0] = cycle_col_list */ - 8, /* field[8] = cycle_mark_collation */ - 1, /* field[1] = cycle_mark_column */ - 3, /* field[3] = cycle_mark_default */ - 9, /* field[9] = cycle_mark_neop */ - 6, /* field[6] = cycle_mark_type */ - 7, /* field[7] = cycle_mark_typmod */ - 2, /* field[2] = cycle_mark_value */ - 4, /* field[4] = cycle_path_column */ - 5, /* field[5] = location */ +static const unsigned pg_query__create_conversion_stmt__field_indices_by_name[] = { + 0, /* field[0] = conversion_name */ + 4, /* field[4] = def */ + 1, /* field[1] = for_encoding_name */ + 3, /* field[3] = func_name */ + 2, /* field[2] = to_encoding_name */ }; -static const ProtobufCIntRange pg_query__ctecycle_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_conversion_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 10 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__ctecycle_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__create_conversion_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CTECycleClause", - "CTECycleClause", - "PgQuery__CTECycleClause", + "pg_query.CreateConversionStmt", + "CreateConversionStmt", + "PgQuery__CreateConversionStmt", "pg_query", - sizeof(PgQuery__CTECycleClause), - 10, - pg_query__ctecycle_clause__field_descriptors, - pg_query__ctecycle_clause__field_indices_by_name, - 1, pg_query__ctecycle_clause__number_ranges, - (ProtobufCMessageInit) pg_query__ctecycle_clause__init, + sizeof(PgQuery__CreateConversionStmt), + 5, + pg_query__create_conversion_stmt__field_descriptors, + pg_query__create_conversion_stmt__field_indices_by_name, + 1, pg_query__create_conversion_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_conversion_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__common_table_expr__field_descriptors[13] = +static const ProtobufCFieldDescriptor pg_query__create_cast_stmt__field_descriptors[5] = { { - "ctename", + "sourcetype", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctename), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "aliascolnames", - 2, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_aliascolnames), - offsetof(PgQuery__CommonTableExpr, aliascolnames), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctematerialized", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctematerialized), - &pg_query__ctematerialize__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctequery", - 4, - PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, ctequery), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateCastStmt, sourcetype), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "search_clause", - 5, + "targettype", + 2, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, search_clause), - &pg_query__ctesearch_clause__descriptor, + offsetof(PgQuery__CreateCastStmt, targettype), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cycle_clause", - 6, + "func", + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cycle_clause), - &pg_query__ctecycle_clause__descriptor, + offsetof(PgQuery__CreateCastStmt, func), + &pg_query__object_with_args__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 7, + "context", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, location), - NULL, + offsetof(PgQuery__CreateCastStmt, context), + &pg_query__coercion_context__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "cterecursive", - 8, + "inout", + 5, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cterecursive), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "cterefcount", - 9, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__CommonTableExpr, cterefcount), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctecolnames", - 10, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecolnames), - offsetof(PgQuery__CommonTableExpr, ctecolnames), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctecoltypes", - 11, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecoltypes), - offsetof(PgQuery__CommonTableExpr, ctecoltypes), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctecoltypmods", - 12, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecoltypmods), - offsetof(PgQuery__CommonTableExpr, ctecoltypmods), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateCastStmt, inout), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "ctecolcollations", - 13, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__CommonTableExpr, n_ctecolcollations), - offsetof(PgQuery__CommonTableExpr, ctecolcollations), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__common_table_expr__field_indices_by_name[] = { - 1, /* field[1] = aliascolnames */ - 12, /* field[12] = ctecolcollations */ - 9, /* field[9] = ctecolnames */ - 10, /* field[10] = ctecoltypes */ - 11, /* field[11] = ctecoltypmods */ - 2, /* field[2] = ctematerialized */ - 0, /* field[0] = ctename */ - 3, /* field[3] = ctequery */ - 7, /* field[7] = cterecursive */ - 8, /* field[8] = cterefcount */ - 5, /* field[5] = cycle_clause */ - 6, /* field[6] = location */ - 4, /* field[4] = search_clause */ +static const unsigned pg_query__create_cast_stmt__field_indices_by_name[] = { + 3, /* field[3] = context */ + 2, /* field[2] = func */ + 4, /* field[4] = inout */ + 0, /* field[0] = sourcetype */ + 1, /* field[1] = targettype */ }; -static const ProtobufCIntRange pg_query__common_table_expr__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_cast_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 13 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__common_table_expr__descriptor = +const ProtobufCMessageDescriptor pg_query__create_cast_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CommonTableExpr", - "CommonTableExpr", - "PgQuery__CommonTableExpr", + "pg_query.CreateCastStmt", + "CreateCastStmt", + "PgQuery__CreateCastStmt", "pg_query", - sizeof(PgQuery__CommonTableExpr), - 13, - pg_query__common_table_expr__field_descriptors, - pg_query__common_table_expr__field_indices_by_name, - 1, pg_query__common_table_expr__number_ranges, - (ProtobufCMessageInit) pg_query__common_table_expr__init, + sizeof(PgQuery__CreateCastStmt), + 5, + pg_query__create_cast_stmt__field_descriptors, + pg_query__create_cast_stmt__field_indices_by_name, + 1, pg_query__create_cast_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_cast_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__merge_when_clause__field_descriptors[6] = +static const ProtobufCFieldDescriptor pg_query__create_transform_stmt__field_descriptors[5] = { { - "matched", + "replace", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, matched), + offsetof(PgQuery__CreateTransformStmt, replace), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "command_type", + "type_name", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, command_type), - &pg_query__cmd_type__descriptor, + offsetof(PgQuery__CreateTransformStmt, type_name), + &pg_query__type_name__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "override", + "lang", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, override), - &pg_query__overriding_kind__descriptor, + offsetof(PgQuery__CreateTransformStmt, lang), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "condition", + "fromsql", 4, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__MergeWhenClause, condition), - &pg_query__node__descriptor, + offsetof(PgQuery__CreateTransformStmt, fromsql), + &pg_query__object_with_args__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "target_list", + "tosql", 5, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeWhenClause, n_target_list), - offsetof(PgQuery__MergeWhenClause, target_list), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "values", - 6, - PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__MergeWhenClause, n_values), - offsetof(PgQuery__MergeWhenClause, values), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateTransformStmt, tosql), + &pg_query__object_with_args__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__merge_when_clause__field_indices_by_name[] = { - 1, /* field[1] = command_type */ - 3, /* field[3] = condition */ - 0, /* field[0] = matched */ - 2, /* field[2] = override */ - 4, /* field[4] = target_list */ - 5, /* field[5] = values */ +static const unsigned pg_query__create_transform_stmt__field_indices_by_name[] = { + 3, /* field[3] = fromsql */ + 2, /* field[2] = lang */ + 0, /* field[0] = replace */ + 4, /* field[4] = tosql */ + 1, /* field[1] = type_name */ }; -static const ProtobufCIntRange pg_query__merge_when_clause__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_transform_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 6 } + { 0, 5 } }; -const ProtobufCMessageDescriptor pg_query__merge_when_clause__descriptor = +const ProtobufCMessageDescriptor pg_query__create_transform_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.MergeWhenClause", - "MergeWhenClause", - "PgQuery__MergeWhenClause", + "pg_query.CreateTransformStmt", + "CreateTransformStmt", + "PgQuery__CreateTransformStmt", "pg_query", - sizeof(PgQuery__MergeWhenClause), - 6, - pg_query__merge_when_clause__field_descriptors, - pg_query__merge_when_clause__field_indices_by_name, - 1, pg_query__merge_when_clause__number_ranges, - (ProtobufCMessageInit) pg_query__merge_when_clause__init, + sizeof(PgQuery__CreateTransformStmt), + 5, + pg_query__create_transform_stmt__field_descriptors, + pg_query__create_transform_stmt__field_indices_by_name, + 1, pg_query__create_transform_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_transform_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__role_spec__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__prepare_stmt__field_descriptors[3] = { { - "roletype", + "name", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_ENUM, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__RoleSpec, roletype), - &pg_query__role_spec_type__descriptor, + offsetof(PgQuery__PrepareStmt, name), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "rolename", + "argtypes", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__RoleSpec, rolename), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__PrepareStmt, n_argtypes), + offsetof(PgQuery__PrepareStmt, argtypes), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", + "query", 3, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__RoleSpec, location), - NULL, + offsetof(PgQuery__PrepareStmt, query), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__role_spec__field_indices_by_name[] = { - 2, /* field[2] = location */ - 1, /* field[1] = rolename */ - 0, /* field[0] = roletype */ +static const unsigned pg_query__prepare_stmt__field_indices_by_name[] = { + 1, /* field[1] = argtypes */ + 0, /* field[0] = name */ + 2, /* field[2] = query */ }; -static const ProtobufCIntRange pg_query__role_spec__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__prepare_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__role_spec__descriptor = +const ProtobufCMessageDescriptor pg_query__prepare_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.RoleSpec", - "RoleSpec", - "PgQuery__RoleSpec", + "pg_query.PrepareStmt", + "PrepareStmt", + "PgQuery__PrepareStmt", "pg_query", - sizeof(PgQuery__RoleSpec), + sizeof(PgQuery__PrepareStmt), 3, - pg_query__role_spec__field_descriptors, - pg_query__role_spec__field_indices_by_name, - 1, pg_query__role_spec__number_ranges, - (ProtobufCMessageInit) pg_query__role_spec__init, + pg_query__prepare_stmt__field_descriptors, + pg_query__prepare_stmt__field_indices_by_name, + 1, pg_query__prepare_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__prepare_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__trigger_transition__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__execute_stmt__field_descriptors[2] = { { "name", @@ -35427,63 +39749,50 @@ static const ProtobufCFieldDescriptor pg_query__trigger_transition__field_descri PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, name), + offsetof(PgQuery__ExecuteStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_new", + "params", 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, is_new), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "is_table", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__TriggerTransition, is_table), - NULL, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ExecuteStmt, n_params), + offsetof(PgQuery__ExecuteStmt, params), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__trigger_transition__field_indices_by_name[] = { - 1, /* field[1] = is_new */ - 2, /* field[2] = is_table */ +static const unsigned pg_query__execute_stmt__field_indices_by_name[] = { 0, /* field[0] = name */ + 1, /* field[1] = params */ }; -static const ProtobufCIntRange pg_query__trigger_transition__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__execute_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__trigger_transition__descriptor = +const ProtobufCMessageDescriptor pg_query__execute_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.TriggerTransition", - "TriggerTransition", - "PgQuery__TriggerTransition", + "pg_query.ExecuteStmt", + "ExecuteStmt", + "PgQuery__ExecuteStmt", "pg_query", - sizeof(PgQuery__TriggerTransition), - 3, - pg_query__trigger_transition__field_descriptors, - pg_query__trigger_transition__field_indices_by_name, - 1, pg_query__trigger_transition__number_ranges, - (ProtobufCMessageInit) pg_query__trigger_transition__init, + sizeof(PgQuery__ExecuteStmt), + 2, + pg_query__execute_stmt__field_descriptors, + pg_query__execute_stmt__field_indices_by_name, + 1, pg_query__execute_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__execute_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__partition_elem__field_descriptors[5] = +static const ProtobufCFieldDescriptor pg_query__deallocate_stmt__field_descriptors[3] = { { "name", @@ -35491,282 +39800,216 @@ static const ProtobufCFieldDescriptor pg_query__partition_elem__field_descriptor PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionElem, name), + offsetof(PgQuery__DeallocateStmt, name), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "expr", + "isall", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionElem, expr), - &pg_query__node__descriptor, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "collation", - 3, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionElem, n_collation), - offsetof(PgQuery__PartitionElem, collation), - &pg_query__node__descriptor, + offsetof(PgQuery__DeallocateStmt, isall), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "opclass", - 4, - PROTOBUF_C_LABEL_REPEATED, - PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionElem, n_opclass), - offsetof(PgQuery__PartitionElem, opclass), - &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { "location", - 5, + 3, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_INT32, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionElem, location), + offsetof(PgQuery__DeallocateStmt, location), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__partition_elem__field_indices_by_name[] = { - 2, /* field[2] = collation */ - 1, /* field[1] = expr */ - 4, /* field[4] = location */ +static const unsigned pg_query__deallocate_stmt__field_indices_by_name[] = { + 1, /* field[1] = isall */ + 2, /* field[2] = location */ 0, /* field[0] = name */ - 3, /* field[3] = opclass */ }; -static const ProtobufCIntRange pg_query__partition_elem__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__deallocate_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 5 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__partition_elem__descriptor = +const ProtobufCMessageDescriptor pg_query__deallocate_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PartitionElem", - "PartitionElem", - "PgQuery__PartitionElem", + "pg_query.DeallocateStmt", + "DeallocateStmt", + "PgQuery__DeallocateStmt", "pg_query", - sizeof(PgQuery__PartitionElem), - 5, - pg_query__partition_elem__field_descriptors, - pg_query__partition_elem__field_indices_by_name, - 1, pg_query__partition_elem__number_ranges, - (ProtobufCMessageInit) pg_query__partition_elem__init, + sizeof(PgQuery__DeallocateStmt), + 3, + pg_query__deallocate_stmt__field_descriptors, + pg_query__deallocate_stmt__field_indices_by_name, + 1, pg_query__deallocate_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__deallocate_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__partition_spec__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__drop_owned_stmt__field_descriptors[2] = { { - "strategy", + "roles", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionSpec, strategy), - NULL, - &protobuf_c_empty_string, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "part_params", - 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionSpec, n_part_params), - offsetof(PgQuery__PartitionSpec, part_params), + offsetof(PgQuery__DropOwnedStmt, n_roles), + offsetof(PgQuery__DropOwnedStmt, roles), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 3, + "behavior", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionSpec, location), - NULL, + offsetof(PgQuery__DropOwnedStmt, behavior), + &pg_query__drop_behavior__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__partition_spec__field_indices_by_name[] = { - 2, /* field[2] = location */ - 1, /* field[1] = part_params */ - 0, /* field[0] = strategy */ +static const unsigned pg_query__drop_owned_stmt__field_indices_by_name[] = { + 1, /* field[1] = behavior */ + 0, /* field[0] = roles */ }; -static const ProtobufCIntRange pg_query__partition_spec__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__drop_owned_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__partition_spec__descriptor = +const ProtobufCMessageDescriptor pg_query__drop_owned_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PartitionSpec", - "PartitionSpec", - "PgQuery__PartitionSpec", + "pg_query.DropOwnedStmt", + "DropOwnedStmt", + "PgQuery__DropOwnedStmt", "pg_query", - sizeof(PgQuery__PartitionSpec), - 3, - pg_query__partition_spec__field_descriptors, - pg_query__partition_spec__field_indices_by_name, - 1, pg_query__partition_spec__number_ranges, - (ProtobufCMessageInit) pg_query__partition_spec__init, + sizeof(PgQuery__DropOwnedStmt), + 2, + pg_query__drop_owned_stmt__field_descriptors, + pg_query__drop_owned_stmt__field_indices_by_name, + 1, pg_query__drop_owned_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_owned_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__partition_bound_spec__field_descriptors[8] = +static const ProtobufCFieldDescriptor pg_query__reassign_owned_stmt__field_descriptors[2] = { { - "strategy", + "roles", 1, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_STRING, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionBoundSpec, strategy), + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__ReassignOwnedStmt, n_roles), + offsetof(PgQuery__ReassignOwnedStmt, roles), + &pg_query__node__descriptor, NULL, - &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "is_default", + "newrole", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionBoundSpec, is_default), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "modulus", - 3, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionBoundSpec, modulus), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "remainder", - 4, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionBoundSpec, remainder), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "listdatums", - 5, - PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionBoundSpec, n_listdatums), - offsetof(PgQuery__PartitionBoundSpec, listdatums), - &pg_query__node__descriptor, + 0, /* quantifier_offset */ + offsetof(PgQuery__ReassignOwnedStmt, newrole), + &pg_query__role_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, +}; +static const unsigned pg_query__reassign_owned_stmt__field_indices_by_name[] = { + 1, /* field[1] = newrole */ + 0, /* field[0] = roles */ +}; +static const ProtobufCIntRange pg_query__reassign_owned_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__reassign_owned_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.ReassignOwnedStmt", + "ReassignOwnedStmt", + "PgQuery__ReassignOwnedStmt", + "pg_query", + sizeof(PgQuery__ReassignOwnedStmt), + 2, + pg_query__reassign_owned_stmt__field_descriptors, + pg_query__reassign_owned_stmt__field_indices_by_name, + 1, pg_query__reassign_owned_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__reassign_owned_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__alter_tsdictionary_stmt__field_descriptors[2] = +{ { - "lowerdatums", - 6, + "dictname", + 1, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionBoundSpec, n_lowerdatums), - offsetof(PgQuery__PartitionBoundSpec, lowerdatums), + offsetof(PgQuery__AlterTSDictionaryStmt, n_dictname), + offsetof(PgQuery__AlterTSDictionaryStmt, dictname), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "upperdatums", - 7, + "options", + 2, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PartitionBoundSpec, n_upperdatums), - offsetof(PgQuery__PartitionBoundSpec, upperdatums), + offsetof(PgQuery__AlterTSDictionaryStmt, n_options), + offsetof(PgQuery__AlterTSDictionaryStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, - { - "location", - 8, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionBoundSpec, location), - NULL, - NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, }; -static const unsigned pg_query__partition_bound_spec__field_indices_by_name[] = { - 1, /* field[1] = is_default */ - 4, /* field[4] = listdatums */ - 7, /* field[7] = location */ - 5, /* field[5] = lowerdatums */ - 2, /* field[2] = modulus */ - 3, /* field[3] = remainder */ - 0, /* field[0] = strategy */ - 6, /* field[6] = upperdatums */ +static const unsigned pg_query__alter_tsdictionary_stmt__field_indices_by_name[] = { + 0, /* field[0] = dictname */ + 1, /* field[1] = options */ }; -static const ProtobufCIntRange pg_query__partition_bound_spec__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_tsdictionary_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 8 } + { 0, 2 } }; -const ProtobufCMessageDescriptor pg_query__partition_bound_spec__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_tsdictionary_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PartitionBoundSpec", - "PartitionBoundSpec", - "PgQuery__PartitionBoundSpec", + "pg_query.AlterTSDictionaryStmt", + "AlterTSDictionaryStmt", + "PgQuery__AlterTSDictionaryStmt", "pg_query", - sizeof(PgQuery__PartitionBoundSpec), - 8, - pg_query__partition_bound_spec__field_descriptors, - pg_query__partition_bound_spec__field_indices_by_name, - 1, pg_query__partition_bound_spec__number_ranges, - (ProtobufCMessageInit) pg_query__partition_bound_spec__init, + sizeof(PgQuery__AlterTSDictionaryStmt), + 2, + pg_query__alter_tsdictionary_stmt__field_descriptors, + pg_query__alter_tsdictionary_stmt__field_indices_by_name, + 1, pg_query__alter_tsdictionary_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_tsdictionary_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__partition_range_datum__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__alter_tsconfiguration_stmt__field_descriptors[7] = { { "kind", @@ -35774,127 +40017,115 @@ static const ProtobufCFieldDescriptor pg_query__partition_range_datum__field_des PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionRangeDatum, kind), - &pg_query__partition_range_datum_kind__descriptor, + offsetof(PgQuery__AlterTSConfigurationStmt, kind), + &pg_query__alter_tsconfig_type__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "value", + "cfgname", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionRangeDatum, value), + offsetof(PgQuery__AlterTSConfigurationStmt, n_cfgname), + offsetof(PgQuery__AlterTSConfigurationStmt, cfgname), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "tokentype", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterTSConfigurationStmt, n_tokentype), + offsetof(PgQuery__AlterTSConfigurationStmt, tokentype), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "dicts", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterTSConfigurationStmt, n_dicts), + offsetof(PgQuery__AlterTSConfigurationStmt, dicts), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "location", - 3, + "override", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_INT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionRangeDatum, location), + offsetof(PgQuery__AlterTSConfigurationStmt, override), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, -}; -static const unsigned pg_query__partition_range_datum__field_indices_by_name[] = { - 0, /* field[0] = kind */ - 2, /* field[2] = location */ - 1, /* field[1] = value */ -}; -static const ProtobufCIntRange pg_query__partition_range_datum__number_ranges[1 + 1] = -{ - { 1, 0 }, - { 0, 3 } -}; -const ProtobufCMessageDescriptor pg_query__partition_range_datum__descriptor = -{ - PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PartitionRangeDatum", - "PartitionRangeDatum", - "PgQuery__PartitionRangeDatum", - "pg_query", - sizeof(PgQuery__PartitionRangeDatum), - 3, - pg_query__partition_range_datum__field_descriptors, - pg_query__partition_range_datum__field_indices_by_name, - 1, pg_query__partition_range_datum__number_ranges, - (ProtobufCMessageInit) pg_query__partition_range_datum__init, - NULL,NULL,NULL /* reserved[123] */ -}; -static const ProtobufCFieldDescriptor pg_query__partition_cmd__field_descriptors[3] = -{ { - "name", - 1, + "replace", + 6, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionCmd, name), - &pg_query__range_var__descriptor, + offsetof(PgQuery__AlterTSConfigurationStmt, replace), NULL, - 0, /* flags */ - 0,NULL,NULL /* reserved1,reserved2, etc */ - }, - { - "bound", - 2, - PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionCmd, bound), - &pg_query__partition_bound_spec__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "concurrent", - 3, + "missing_ok", + 7, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__PartitionCmd, concurrent), + offsetof(PgQuery__AlterTSConfigurationStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__partition_cmd__field_indices_by_name[] = { - 1, /* field[1] = bound */ - 2, /* field[2] = concurrent */ - 0, /* field[0] = name */ +static const unsigned pg_query__alter_tsconfiguration_stmt__field_indices_by_name[] = { + 1, /* field[1] = cfgname */ + 3, /* field[3] = dicts */ + 0, /* field[0] = kind */ + 6, /* field[6] = missing_ok */ + 4, /* field[4] = override */ + 5, /* field[5] = replace */ + 2, /* field[2] = tokentype */ }; -static const ProtobufCIntRange pg_query__partition_cmd__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__alter_tsconfiguration_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 7 } }; -const ProtobufCMessageDescriptor pg_query__partition_cmd__descriptor = +const ProtobufCMessageDescriptor pg_query__alter_tsconfiguration_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PartitionCmd", - "PartitionCmd", - "PgQuery__PartitionCmd", + "pg_query.AlterTSConfigurationStmt", + "AlterTSConfigurationStmt", + "PgQuery__AlterTSConfigurationStmt", "pg_query", - sizeof(PgQuery__PartitionCmd), - 3, - pg_query__partition_cmd__field_descriptors, - pg_query__partition_cmd__field_indices_by_name, - 1, pg_query__partition_cmd__number_ranges, - (ProtobufCMessageInit) pg_query__partition_cmd__init, + sizeof(PgQuery__AlterTSConfigurationStmt), + 7, + pg_query__alter_tsconfiguration_stmt__field_descriptors, + pg_query__alter_tsconfiguration_stmt__field_indices_by_name, + 1, pg_query__alter_tsconfiguration_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_tsconfiguration_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__vacuum_relation__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__publication_table__field_descriptors[3] = { { "relation", @@ -35902,60 +40133,60 @@ static const ProtobufCFieldDescriptor pg_query__vacuum_relation__field_descripto PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VacuumRelation, relation), + offsetof(PgQuery__PublicationTable, relation), &pg_query__range_var__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "oid", + "where_clause", 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_MESSAGE, 0, /* quantifier_offset */ - offsetof(PgQuery__VacuumRelation, oid), - NULL, + offsetof(PgQuery__PublicationTable, where_clause), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "va_cols", + "columns", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__VacuumRelation, n_va_cols), - offsetof(PgQuery__VacuumRelation, va_cols), + offsetof(PgQuery__PublicationTable, n_columns), + offsetof(PgQuery__PublicationTable, columns), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__vacuum_relation__field_indices_by_name[] = { - 1, /* field[1] = oid */ +static const unsigned pg_query__publication_table__field_indices_by_name[] = { + 2, /* field[2] = columns */ 0, /* field[0] = relation */ - 2, /* field[2] = va_cols */ + 1, /* field[1] = where_clause */ }; -static const ProtobufCIntRange pg_query__vacuum_relation__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__publication_table__number_ranges[1 + 1] = { { 1, 0 }, { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__vacuum_relation__descriptor = +const ProtobufCMessageDescriptor pg_query__publication_table__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.VacuumRelation", - "VacuumRelation", - "PgQuery__VacuumRelation", + "pg_query.PublicationTable", + "PublicationTable", + "PgQuery__PublicationTable", "pg_query", - sizeof(PgQuery__VacuumRelation), + sizeof(PgQuery__PublicationTable), 3, - pg_query__vacuum_relation__field_descriptors, - pg_query__vacuum_relation__field_indices_by_name, - 1, pg_query__vacuum_relation__number_ranges, - (ProtobufCMessageInit) pg_query__vacuum_relation__init, + pg_query__publication_table__field_descriptors, + pg_query__publication_table__field_indices_by_name, + 1, pg_query__publication_table__number_ranges, + (ProtobufCMessageInit) pg_query__publication_table__init, NULL,NULL,NULL /* reserved[123] */ }; static const ProtobufCFieldDescriptor pg_query__publication_obj_spec__field_descriptors[4] = @@ -36035,183 +40266,402 @@ const ProtobufCMessageDescriptor pg_query__publication_obj_spec__descriptor = (ProtobufCMessageInit) pg_query__publication_obj_spec__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__publication_table__field_descriptors[3] = +static const ProtobufCFieldDescriptor pg_query__create_publication_stmt__field_descriptors[4] = { { - "relation", + "pubname", 1, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_MESSAGE, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__PublicationTable, relation), - &pg_query__range_var__descriptor, + offsetof(PgQuery__CreatePublicationStmt, pubname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "where_clause", + "options", 2, - PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - 0, /* quantifier_offset */ - offsetof(PgQuery__PublicationTable, where_clause), + offsetof(PgQuery__CreatePublicationStmt, n_options), + offsetof(PgQuery__CreatePublicationStmt, options), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "columns", + "pubobjects", 3, PROTOBUF_C_LABEL_REPEATED, PROTOBUF_C_TYPE_MESSAGE, - offsetof(PgQuery__PublicationTable, n_columns), - offsetof(PgQuery__PublicationTable, columns), + offsetof(PgQuery__CreatePublicationStmt, n_pubobjects), + offsetof(PgQuery__CreatePublicationStmt, pubobjects), &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "for_all_tables", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_BOOL, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreatePublicationStmt, for_all_tables), + NULL, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__publication_table__field_indices_by_name[] = { - 2, /* field[2] = columns */ - 0, /* field[0] = relation */ - 1, /* field[1] = where_clause */ +static const unsigned pg_query__create_publication_stmt__field_indices_by_name[] = { + 3, /* field[3] = for_all_tables */ + 1, /* field[1] = options */ + 0, /* field[0] = pubname */ + 2, /* field[2] = pubobjects */ }; -static const ProtobufCIntRange pg_query__publication_table__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_publication_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 3 } + { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__publication_table__descriptor = +const ProtobufCMessageDescriptor pg_query__create_publication_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.PublicationTable", - "PublicationTable", - "PgQuery__PublicationTable", + "pg_query.CreatePublicationStmt", + "CreatePublicationStmt", + "PgQuery__CreatePublicationStmt", "pg_query", - sizeof(PgQuery__PublicationTable), - 3, - pg_query__publication_table__field_descriptors, - pg_query__publication_table__field_indices_by_name, - 1, pg_query__publication_table__number_ranges, - (ProtobufCMessageInit) pg_query__publication_table__init, + sizeof(PgQuery__CreatePublicationStmt), + 4, + pg_query__create_publication_stmt__field_descriptors, + pg_query__create_publication_stmt__field_indices_by_name, + 1, pg_query__create_publication_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_publication_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__inline_code_block__field_descriptors[4] = +static const ProtobufCFieldDescriptor pg_query__alter_publication_stmt__field_descriptors[5] = { { - "source_text", + "pubname", 1, PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__InlineCodeBlock, source_text), + offsetof(PgQuery__AlterPublicationStmt, pubname), NULL, &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "lang_oid", + "options", 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterPublicationStmt, n_options), + offsetof(PgQuery__AlterPublicationStmt, options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "pubobjects", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterPublicationStmt, n_pubobjects), + offsetof(PgQuery__AlterPublicationStmt, pubobjects), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "for_all_tables", + 4, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_UINT32, + PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__InlineCodeBlock, lang_oid), + offsetof(PgQuery__AlterPublicationStmt, for_all_tables), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "lang_is_trusted", - 3, + "action", + 5, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_ENUM, 0, /* quantifier_offset */ - offsetof(PgQuery__InlineCodeBlock, lang_is_trusted), + offsetof(PgQuery__AlterPublicationStmt, action), + &pg_query__alter_publication_action__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__alter_publication_stmt__field_indices_by_name[] = { + 4, /* field[4] = action */ + 3, /* field[3] = for_all_tables */ + 1, /* field[1] = options */ + 0, /* field[0] = pubname */ + 2, /* field[2] = pubobjects */ +}; +static const ProtobufCIntRange pg_query__alter_publication_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__alter_publication_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterPublicationStmt", + "AlterPublicationStmt", + "PgQuery__AlterPublicationStmt", + "pg_query", + sizeof(PgQuery__AlterPublicationStmt), + 5, + pg_query__alter_publication_stmt__field_descriptors, + pg_query__alter_publication_stmt__field_indices_by_name, + 1, pg_query__alter_publication_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_publication_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__create_subscription_stmt__field_descriptors[4] = +{ + { + "subname", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__CreateSubscriptionStmt, subname), NULL, + &protobuf_c_empty_string, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, { - "atomic", - 4, + "conninfo", + 2, PROTOBUF_C_LABEL_NONE, - PROTOBUF_C_TYPE_BOOL, + PROTOBUF_C_TYPE_STRING, 0, /* quantifier_offset */ - offsetof(PgQuery__InlineCodeBlock, atomic), + offsetof(PgQuery__CreateSubscriptionStmt, conninfo), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "publication", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateSubscriptionStmt, n_publication), + offsetof(PgQuery__CreateSubscriptionStmt, publication), + &pg_query__node__descriptor, NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__CreateSubscriptionStmt, n_options), + offsetof(PgQuery__CreateSubscriptionStmt, options), + &pg_query__node__descriptor, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, }; -static const unsigned pg_query__inline_code_block__field_indices_by_name[] = { - 3, /* field[3] = atomic */ - 2, /* field[2] = lang_is_trusted */ - 1, /* field[1] = lang_oid */ - 0, /* field[0] = source_text */ +static const unsigned pg_query__create_subscription_stmt__field_indices_by_name[] = { + 1, /* field[1] = conninfo */ + 3, /* field[3] = options */ + 2, /* field[2] = publication */ + 0, /* field[0] = subname */ }; -static const ProtobufCIntRange pg_query__inline_code_block__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__create_subscription_stmt__number_ranges[1 + 1] = { { 1, 0 }, { 0, 4 } }; -const ProtobufCMessageDescriptor pg_query__inline_code_block__descriptor = +const ProtobufCMessageDescriptor pg_query__create_subscription_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.InlineCodeBlock", - "InlineCodeBlock", - "PgQuery__InlineCodeBlock", + "pg_query.CreateSubscriptionStmt", + "CreateSubscriptionStmt", + "PgQuery__CreateSubscriptionStmt", "pg_query", - sizeof(PgQuery__InlineCodeBlock), + sizeof(PgQuery__CreateSubscriptionStmt), 4, - pg_query__inline_code_block__field_descriptors, - pg_query__inline_code_block__field_indices_by_name, - 1, pg_query__inline_code_block__number_ranges, - (ProtobufCMessageInit) pg_query__inline_code_block__init, + pg_query__create_subscription_stmt__field_descriptors, + pg_query__create_subscription_stmt__field_indices_by_name, + 1, pg_query__create_subscription_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__create_subscription_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCFieldDescriptor pg_query__call_context__field_descriptors[1] = +static const ProtobufCFieldDescriptor pg_query__alter_subscription_stmt__field_descriptors[5] = { { - "atomic", + "kind", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterSubscriptionStmt, kind), + &pg_query__alter_subscription_type__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "subname", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterSubscriptionStmt, subname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "conninfo", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__AlterSubscriptionStmt, conninfo), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "publication", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterSubscriptionStmt, n_publication), + offsetof(PgQuery__AlterSubscriptionStmt, publication), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "options", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__AlterSubscriptionStmt, n_options), + offsetof(PgQuery__AlterSubscriptionStmt, options), + &pg_query__node__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__alter_subscription_stmt__field_indices_by_name[] = { + 2, /* field[2] = conninfo */ + 0, /* field[0] = kind */ + 4, /* field[4] = options */ + 3, /* field[3] = publication */ + 1, /* field[1] = subname */ +}; +static const ProtobufCIntRange pg_query__alter_subscription_stmt__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 5 } +}; +const ProtobufCMessageDescriptor pg_query__alter_subscription_stmt__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.AlterSubscriptionStmt", + "AlterSubscriptionStmt", + "PgQuery__AlterSubscriptionStmt", + "pg_query", + sizeof(PgQuery__AlterSubscriptionStmt), + 5, + pg_query__alter_subscription_stmt__field_descriptors, + pg_query__alter_subscription_stmt__field_indices_by_name, + 1, pg_query__alter_subscription_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__alter_subscription_stmt__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__drop_subscription_stmt__field_descriptors[3] = +{ + { + "subname", 1, PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__DropSubscriptionStmt, subname), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "missing_ok", + 2, + PROTOBUF_C_LABEL_NONE, PROTOBUF_C_TYPE_BOOL, 0, /* quantifier_offset */ - offsetof(PgQuery__CallContext, atomic), + offsetof(PgQuery__DropSubscriptionStmt, missing_ok), NULL, NULL, 0, /* flags */ 0,NULL,NULL /* reserved1,reserved2, etc */ }, + { + "behavior", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__DropSubscriptionStmt, behavior), + &pg_query__drop_behavior__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const unsigned pg_query__call_context__field_indices_by_name[] = { - 0, /* field[0] = atomic */ +static const unsigned pg_query__drop_subscription_stmt__field_indices_by_name[] = { + 2, /* field[2] = behavior */ + 1, /* field[1] = missing_ok */ + 0, /* field[0] = subname */ }; -static const ProtobufCIntRange pg_query__call_context__number_ranges[1 + 1] = +static const ProtobufCIntRange pg_query__drop_subscription_stmt__number_ranges[1 + 1] = { { 1, 0 }, - { 0, 1 } + { 0, 3 } }; -const ProtobufCMessageDescriptor pg_query__call_context__descriptor = +const ProtobufCMessageDescriptor pg_query__drop_subscription_stmt__descriptor = { PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, - "pg_query.CallContext", - "CallContext", - "PgQuery__CallContext", + "pg_query.DropSubscriptionStmt", + "DropSubscriptionStmt", + "PgQuery__DropSubscriptionStmt", "pg_query", - sizeof(PgQuery__CallContext), - 1, - pg_query__call_context__field_descriptors, - pg_query__call_context__field_indices_by_name, - 1, pg_query__call_context__number_ranges, - (ProtobufCMessageInit) pg_query__call_context__init, + sizeof(PgQuery__DropSubscriptionStmt), + 3, + pg_query__drop_subscription_stmt__field_descriptors, + pg_query__drop_subscription_stmt__field_indices_by_name, + 1, pg_query__drop_subscription_stmt__number_ranges, + (ProtobufCMessageInit) pg_query__drop_subscription_stmt__init, NULL,NULL,NULL /* reserved[123] */ }; static const ProtobufCFieldDescriptor pg_query__scan_token__field_descriptors[4] = @@ -36292,38 +40742,425 @@ const ProtobufCMessageDescriptor pg_query__scan_token__descriptor = (ProtobufCMessageInit) pg_query__scan_token__init, NULL,NULL,NULL /* reserved[123] */ }; -static const ProtobufCEnumValue pg_query__overriding_kind__enum_values_by_number[4] = +static const ProtobufCFieldDescriptor pg_query__summary_result__table__field_descriptors[4] = { - { "OVERRIDING_KIND_UNDEFINED", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED", 0 }, - { "OVERRIDING_NOT_SET", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET", 1 }, - { "OVERRIDING_USER_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE", 2 }, - { "OVERRIDING_SYSTEM_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE", 3 }, + { + "name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Table, name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "schema_name", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Table, schema_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_name", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Table, table_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "context", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Table, context), + &pg_query__summary_result__context__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, }; -static const ProtobufCIntRange pg_query__overriding_kind__value_ranges[] = { -{0, 0},{0, 4} +static const unsigned pg_query__summary_result__table__field_indices_by_name[] = { + 3, /* field[3] = context */ + 0, /* field[0] = name */ + 1, /* field[1] = schema_name */ + 2, /* field[2] = table_name */ }; -static const ProtobufCEnumValueIndex pg_query__overriding_kind__enum_values_by_name[4] = +static const ProtobufCIntRange pg_query__summary_result__table__number_ranges[1 + 1] = { - { "OVERRIDING_KIND_UNDEFINED", 0 }, - { "OVERRIDING_NOT_SET", 1 }, - { "OVERRIDING_SYSTEM_VALUE", 3 }, - { "OVERRIDING_USER_VALUE", 2 }, + { 1, 0 }, + { 0, 4 } }; -const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor = +const ProtobufCMessageDescriptor pg_query__summary_result__table__descriptor = { - PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, - "pg_query.OverridingKind", - "OverridingKind", - "PgQuery__OverridingKind", + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult.Table", + "Table", + "PgQuery__SummaryResult__Table", "pg_query", + sizeof(PgQuery__SummaryResult__Table), 4, - pg_query__overriding_kind__enum_values_by_number, + pg_query__summary_result__table__field_descriptors, + pg_query__summary_result__table__field_indices_by_name, + 1, pg_query__summary_result__table__number_ranges, + (ProtobufCMessageInit) pg_query__summary_result__table__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__summary_result__aliases_entry__field_descriptors[2] = +{ + { + "key", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__AliasesEntry, key), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "value", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__AliasesEntry, value), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__summary_result__aliases_entry__field_indices_by_name[] = { + 0, /* field[0] = key */ + 1, /* field[1] = value */ +}; +static const ProtobufCIntRange pg_query__summary_result__aliases_entry__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 2 } +}; +const ProtobufCMessageDescriptor pg_query__summary_result__aliases_entry__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult.AliasesEntry", + "AliasesEntry", + "PgQuery__SummaryResult__AliasesEntry", + "pg_query", + sizeof(PgQuery__SummaryResult__AliasesEntry), + 2, + pg_query__summary_result__aliases_entry__field_descriptors, + pg_query__summary_result__aliases_entry__field_indices_by_name, + 1, pg_query__summary_result__aliases_entry__number_ranges, + (ProtobufCMessageInit) pg_query__summary_result__aliases_entry__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__summary_result__function__field_descriptors[4] = +{ + { + "name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Function, name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "function_name", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Function, function_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "schema_name", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Function, schema_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "context", + 4, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_ENUM, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__Function, context), + &pg_query__summary_result__context__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__summary_result__function__field_indices_by_name[] = { + 3, /* field[3] = context */ + 1, /* field[1] = function_name */ + 0, /* field[0] = name */ + 2, /* field[2] = schema_name */ +}; +static const ProtobufCIntRange pg_query__summary_result__function__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 4 } +}; +const ProtobufCMessageDescriptor pg_query__summary_result__function__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult.Function", + "Function", + "PgQuery__SummaryResult__Function", + "pg_query", + sizeof(PgQuery__SummaryResult__Function), 4, - pg_query__overriding_kind__enum_values_by_name, + pg_query__summary_result__function__field_descriptors, + pg_query__summary_result__function__field_indices_by_name, + 1, pg_query__summary_result__function__number_ranges, + (ProtobufCMessageInit) pg_query__summary_result__function__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCFieldDescriptor pg_query__summary_result__filter_column__field_descriptors[3] = +{ + { + "schema_name", + 1, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__FilterColumn, schema_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "table_name", + 2, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__FilterColumn, table_name), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "column", + 3, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult__FilterColumn, column), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__summary_result__filter_column__field_indices_by_name[] = { + 2, /* field[2] = column */ + 0, /* field[0] = schema_name */ + 1, /* field[1] = table_name */ +}; +static const ProtobufCIntRange pg_query__summary_result__filter_column__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 3 } +}; +const ProtobufCMessageDescriptor pg_query__summary_result__filter_column__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult.FilterColumn", + "FilterColumn", + "PgQuery__SummaryResult__FilterColumn", + "pg_query", + sizeof(PgQuery__SummaryResult__FilterColumn), + 3, + pg_query__summary_result__filter_column__field_descriptors, + pg_query__summary_result__filter_column__field_indices_by_name, + 1, pg_query__summary_result__filter_column__number_ranges, + (ProtobufCMessageInit) pg_query__summary_result__filter_column__init, + NULL,NULL,NULL /* reserved[123] */ +}; +static const ProtobufCEnumValue pg_query__summary_result__context__enum_values_by_number[5] = +{ + { "None", "PG_QUERY__SUMMARY_RESULT__CONTEXT__None", 0 }, + { "Select", "PG_QUERY__SUMMARY_RESULT__CONTEXT__Select", 1 }, + { "DML", "PG_QUERY__SUMMARY_RESULT__CONTEXT__DML", 2 }, + { "DDL", "PG_QUERY__SUMMARY_RESULT__CONTEXT__DDL", 3 }, + { "Call", "PG_QUERY__SUMMARY_RESULT__CONTEXT__Call", 4 }, +}; +static const ProtobufCIntRange pg_query__summary_result__context__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__summary_result__context__enum_values_by_name[5] = +{ + { "Call", 4 }, + { "DDL", 3 }, + { "DML", 2 }, + { "None", 0 }, + { "Select", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__summary_result__context__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult.Context", + "Context", + "PgQuery__SummaryResult__Context", + "pg_query", + 5, + pg_query__summary_result__context__enum_values_by_number, + 5, + pg_query__summary_result__context__enum_values_by_name, 1, - pg_query__overriding_kind__value_ranges, + pg_query__summary_result__context__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCFieldDescriptor pg_query__summary_result__field_descriptors[7] = +{ + { + "tables", + 1, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SummaryResult, n_tables), + offsetof(PgQuery__SummaryResult, tables), + &pg_query__summary_result__table__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "aliases", + 2, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SummaryResult, n_aliases), + offsetof(PgQuery__SummaryResult, aliases), + &pg_query__summary_result__aliases_entry__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "cte_names", + 3, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_STRING, + offsetof(PgQuery__SummaryResult, n_cte_names), + offsetof(PgQuery__SummaryResult, cte_names), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "functions", + 4, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SummaryResult, n_functions), + offsetof(PgQuery__SummaryResult, functions), + &pg_query__summary_result__function__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "filter_columns", + 5, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_MESSAGE, + offsetof(PgQuery__SummaryResult, n_filter_columns), + offsetof(PgQuery__SummaryResult, filter_columns), + &pg_query__summary_result__filter_column__descriptor, + NULL, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "statement_types", + 6, + PROTOBUF_C_LABEL_REPEATED, + PROTOBUF_C_TYPE_STRING, + offsetof(PgQuery__SummaryResult, n_statement_types), + offsetof(PgQuery__SummaryResult, statement_types), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, + { + "truncated_query", + 7, + PROTOBUF_C_LABEL_NONE, + PROTOBUF_C_TYPE_STRING, + 0, /* quantifier_offset */ + offsetof(PgQuery__SummaryResult, truncated_query), + NULL, + &protobuf_c_empty_string, + 0, /* flags */ + 0,NULL,NULL /* reserved1,reserved2, etc */ + }, +}; +static const unsigned pg_query__summary_result__field_indices_by_name[] = { + 1, /* field[1] = aliases */ + 2, /* field[2] = cte_names */ + 4, /* field[4] = filter_columns */ + 3, /* field[3] = functions */ + 5, /* field[5] = statement_types */ + 0, /* field[0] = tables */ + 6, /* field[6] = truncated_query */ +}; +static const ProtobufCIntRange pg_query__summary_result__number_ranges[1 + 1] = +{ + { 1, 0 }, + { 0, 7 } +}; +const ProtobufCMessageDescriptor pg_query__summary_result__descriptor = +{ + PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC, + "pg_query.SummaryResult", + "SummaryResult", + "PgQuery__SummaryResult", + "pg_query", + sizeof(PgQuery__SummaryResult), + 7, + pg_query__summary_result__field_descriptors, + pg_query__summary_result__field_indices_by_name, + 1, pg_query__summary_result__number_ranges, + (ProtobufCMessageInit) pg_query__summary_result__init, + NULL,NULL,NULL /* reserved[123] */ +}; static const ProtobufCEnumValue pg_query__query_source__enum_values_by_number[6] = { { "QUERY_SOURCE_UNDEFINED", "PG_QUERY__QUERY_SOURCE__QUERY_SOURCE_UNDEFINED", 0 }, @@ -36628,6 +41465,38 @@ const ProtobufCEnumDescriptor pg_query__def_elem_action__descriptor = pg_query__def_elem_action__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__partition_strategy__enum_values_by_number[4] = +{ + { "PARTITION_STRATEGY_UNDEFINED", "PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_UNDEFINED", 0 }, + { "PARTITION_STRATEGY_LIST", "PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_LIST", 1 }, + { "PARTITION_STRATEGY_RANGE", "PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_RANGE", 2 }, + { "PARTITION_STRATEGY_HASH", "PG_QUERY__PARTITION_STRATEGY__PARTITION_STRATEGY_HASH", 3 }, +}; +static const ProtobufCIntRange pg_query__partition_strategy__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__partition_strategy__enum_values_by_name[4] = +{ + { "PARTITION_STRATEGY_HASH", 3 }, + { "PARTITION_STRATEGY_LIST", 1 }, + { "PARTITION_STRATEGY_RANGE", 2 }, + { "PARTITION_STRATEGY_UNDEFINED", 0 }, +}; +const ProtobufCEnumDescriptor pg_query__partition_strategy__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.PartitionStrategy", + "PartitionStrategy", + "PgQuery__PartitionStrategy", + "pg_query", + 4, + pg_query__partition_strategy__enum_values_by_number, + 4, + pg_query__partition_strategy__enum_values_by_name, + 1, + pg_query__partition_strategy__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__partition_range_datum_kind__enum_values_by_number[4] = { { "PARTITION_RANGE_DATUM_KIND_UNDEFINED", "PG_QUERY__PARTITION_RANGE_DATUM_KIND__PARTITION_RANGE_DATUM_KIND_UNDEFINED", 0 }, @@ -36810,6 +41679,74 @@ const ProtobufCEnumDescriptor pg_query__ctematerialize__descriptor = pg_query__ctematerialize__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__json_quotes__enum_values_by_number[4] = +{ + { "JSON_QUOTES_UNDEFINED", "PG_QUERY__JSON_QUOTES__JSON_QUOTES_UNDEFINED", 0 }, + { "JS_QUOTES_UNSPEC", "PG_QUERY__JSON_QUOTES__JS_QUOTES_UNSPEC", 1 }, + { "JS_QUOTES_KEEP", "PG_QUERY__JSON_QUOTES__JS_QUOTES_KEEP", 2 }, + { "JS_QUOTES_OMIT", "PG_QUERY__JSON_QUOTES__JS_QUOTES_OMIT", 3 }, +}; +static const ProtobufCIntRange pg_query__json_quotes__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__json_quotes__enum_values_by_name[4] = +{ + { "JSON_QUOTES_UNDEFINED", 0 }, + { "JS_QUOTES_KEEP", 2 }, + { "JS_QUOTES_OMIT", 3 }, + { "JS_QUOTES_UNSPEC", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__json_quotes__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonQuotes", + "JsonQuotes", + "PgQuery__JsonQuotes", + "pg_query", + 4, + pg_query__json_quotes__enum_values_by_number, + 4, + pg_query__json_quotes__enum_values_by_name, + 1, + pg_query__json_quotes__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_table_column_type__enum_values_by_number[6] = +{ + { "JSON_TABLE_COLUMN_TYPE_UNDEFINED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JSON_TABLE_COLUMN_TYPE_UNDEFINED", 0 }, + { "JTC_FOR_ORDINALITY", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FOR_ORDINALITY", 1 }, + { "JTC_REGULAR", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_REGULAR", 2 }, + { "JTC_EXISTS", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_EXISTS", 3 }, + { "JTC_FORMATTED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_FORMATTED", 4 }, + { "JTC_NESTED", "PG_QUERY__JSON_TABLE_COLUMN_TYPE__JTC_NESTED", 5 }, +}; +static const ProtobufCIntRange pg_query__json_table_column_type__value_ranges[] = { +{0, 0},{0, 6} +}; +static const ProtobufCEnumValueIndex pg_query__json_table_column_type__enum_values_by_name[6] = +{ + { "JSON_TABLE_COLUMN_TYPE_UNDEFINED", 0 }, + { "JTC_EXISTS", 3 }, + { "JTC_FORMATTED", 4 }, + { "JTC_FOR_ORDINALITY", 1 }, + { "JTC_NESTED", 5 }, + { "JTC_REGULAR", 2 }, +}; +const ProtobufCEnumDescriptor pg_query__json_table_column_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonTableColumnType", + "JsonTableColumnType", + "PgQuery__JsonTableColumnType", + "pg_query", + 6, + pg_query__json_table_column_type__enum_values_by_number, + 6, + pg_query__json_table_column_type__enum_values_by_name, + 1, + pg_query__json_table_column_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__set_operation__enum_values_by_number[5] = { { "SET_OPERATION_UNDEFINED", "PG_QUERY__SET_OPERATION__SET_OPERATION_UNDEFINED", 0 }, @@ -37004,16 +41941,16 @@ const ProtobufCEnumDescriptor pg_query__drop_behavior__descriptor = pg_query__drop_behavior__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_number[72] = +static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_number[68] = { { "ALTER_TABLE_TYPE_UNDEFINED", "PG_QUERY__ALTER_TABLE_TYPE__ALTER_TABLE_TYPE_UNDEFINED", 0 }, { "AT_AddColumn", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumn", 1 }, - { "AT_AddColumnRecurse", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnRecurse", 2 }, - { "AT_AddColumnToView", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnToView", 3 }, - { "AT_ColumnDefault", "PG_QUERY__ALTER_TABLE_TYPE__AT_ColumnDefault", 4 }, - { "AT_CookedColumnDefault", "PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault", 5 }, - { "AT_DropNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull", 6 }, - { "AT_SetNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull", 7 }, + { "AT_AddColumnToView", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddColumnToView", 2 }, + { "AT_ColumnDefault", "PG_QUERY__ALTER_TABLE_TYPE__AT_ColumnDefault", 3 }, + { "AT_CookedColumnDefault", "PG_QUERY__ALTER_TABLE_TYPE__AT_CookedColumnDefault", 4 }, + { "AT_DropNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropNotNull", 5 }, + { "AT_SetNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetNotNull", 6 }, + { "AT_SetExpression", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetExpression", 7 }, { "AT_DropExpression", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropExpression", 8 }, { "AT_CheckNotNull", "PG_QUERY__ALTER_TABLE_TYPE__AT_CheckNotNull", 9 }, { "AT_SetStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStatistics", 10 }, @@ -37022,140 +41959,132 @@ static const ProtobufCEnumValue pg_query__alter_table_type__enum_values_by_numbe { "AT_SetStorage", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetStorage", 13 }, { "AT_SetCompression", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetCompression", 14 }, { "AT_DropColumn", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumn", 15 }, - { "AT_DropColumnRecurse", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropColumnRecurse", 16 }, - { "AT_AddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex", 17 }, - { "AT_ReAddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex", 18 }, - { "AT_AddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint", 19 }, - { "AT_AddConstraintRecurse", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraintRecurse", 20 }, - { "AT_ReAddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint", 21 }, - { "AT_ReAddDomainConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint", 22 }, - { "AT_AlterConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint", 23 }, - { "AT_ValidateConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint", 24 }, - { "AT_ValidateConstraintRecurse", "PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraintRecurse", 25 }, - { "AT_AddIndexConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint", 26 }, - { "AT_DropConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint", 27 }, - { "AT_DropConstraintRecurse", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraintRecurse", 28 }, - { "AT_ReAddComment", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment", 29 }, - { "AT_AlterColumnType", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType", 30 }, - { "AT_AlterColumnGenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions", 31 }, - { "AT_ChangeOwner", "PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner", 32 }, - { "AT_ClusterOn", "PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn", 33 }, - { "AT_DropCluster", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster", 34 }, - { "AT_SetLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged", 35 }, - { "AT_SetUnLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged", 36 }, - { "AT_DropOids", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids", 37 }, - { "AT_SetAccessMethod", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod", 38 }, - { "AT_SetTableSpace", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace", 39 }, - { "AT_SetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions", 40 }, - { "AT_ResetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions", 41 }, - { "AT_ReplaceRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions", 42 }, - { "AT_EnableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig", 43 }, - { "AT_EnableAlwaysTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig", 44 }, - { "AT_EnableReplicaTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig", 45 }, - { "AT_DisableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig", 46 }, - { "AT_EnableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll", 47 }, - { "AT_DisableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll", 48 }, - { "AT_EnableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser", 49 }, - { "AT_DisableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser", 50 }, - { "AT_EnableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule", 51 }, - { "AT_EnableAlwaysRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule", 52 }, - { "AT_EnableReplicaRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule", 53 }, - { "AT_DisableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule", 54 }, - { "AT_AddInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit", 55 }, - { "AT_DropInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit", 56 }, - { "AT_AddOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf", 57 }, - { "AT_DropOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf", 58 }, - { "AT_ReplicaIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity", 59 }, - { "AT_EnableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity", 60 }, - { "AT_DisableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity", 61 }, - { "AT_ForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity", 62 }, - { "AT_NoForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity", 63 }, - { "AT_GenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions", 64 }, - { "AT_AttachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition", 65 }, - { "AT_DetachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition", 66 }, - { "AT_DetachPartitionFinalize", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize", 67 }, - { "AT_AddIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity", 68 }, - { "AT_SetIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity", 69 }, - { "AT_DropIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity", 70 }, - { "AT_ReAddStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics", 71 }, + { "AT_AddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndex", 16 }, + { "AT_ReAddIndex", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddIndex", 17 }, + { "AT_AddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddConstraint", 18 }, + { "AT_ReAddConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddConstraint", 19 }, + { "AT_ReAddDomainConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddDomainConstraint", 20 }, + { "AT_AlterConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterConstraint", 21 }, + { "AT_ValidateConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_ValidateConstraint", 22 }, + { "AT_AddIndexConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIndexConstraint", 23 }, + { "AT_DropConstraint", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropConstraint", 24 }, + { "AT_ReAddComment", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddComment", 25 }, + { "AT_AlterColumnType", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnType", 26 }, + { "AT_AlterColumnGenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_AlterColumnGenericOptions", 27 }, + { "AT_ChangeOwner", "PG_QUERY__ALTER_TABLE_TYPE__AT_ChangeOwner", 28 }, + { "AT_ClusterOn", "PG_QUERY__ALTER_TABLE_TYPE__AT_ClusterOn", 29 }, + { "AT_DropCluster", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropCluster", 30 }, + { "AT_SetLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetLogged", 31 }, + { "AT_SetUnLogged", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetUnLogged", 32 }, + { "AT_DropOids", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOids", 33 }, + { "AT_SetAccessMethod", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetAccessMethod", 34 }, + { "AT_SetTableSpace", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetTableSpace", 35 }, + { "AT_SetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetRelOptions", 36 }, + { "AT_ResetRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ResetRelOptions", 37 }, + { "AT_ReplaceRelOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplaceRelOptions", 38 }, + { "AT_EnableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrig", 39 }, + { "AT_EnableAlwaysTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysTrig", 40 }, + { "AT_EnableReplicaTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaTrig", 41 }, + { "AT_DisableTrig", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrig", 42 }, + { "AT_EnableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigAll", 43 }, + { "AT_DisableTrigAll", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigAll", 44 }, + { "AT_EnableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableTrigUser", 45 }, + { "AT_DisableTrigUser", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableTrigUser", 46 }, + { "AT_EnableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRule", 47 }, + { "AT_EnableAlwaysRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableAlwaysRule", 48 }, + { "AT_EnableReplicaRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableReplicaRule", 49 }, + { "AT_DisableRule", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRule", 50 }, + { "AT_AddInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddInherit", 51 }, + { "AT_DropInherit", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropInherit", 52 }, + { "AT_AddOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddOf", 53 }, + { "AT_DropOf", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropOf", 54 }, + { "AT_ReplicaIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReplicaIdentity", 55 }, + { "AT_EnableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_EnableRowSecurity", 56 }, + { "AT_DisableRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DisableRowSecurity", 57 }, + { "AT_ForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_ForceRowSecurity", 58 }, + { "AT_NoForceRowSecurity", "PG_QUERY__ALTER_TABLE_TYPE__AT_NoForceRowSecurity", 59 }, + { "AT_GenericOptions", "PG_QUERY__ALTER_TABLE_TYPE__AT_GenericOptions", 60 }, + { "AT_AttachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_AttachPartition", 61 }, + { "AT_DetachPartition", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartition", 62 }, + { "AT_DetachPartitionFinalize", "PG_QUERY__ALTER_TABLE_TYPE__AT_DetachPartitionFinalize", 63 }, + { "AT_AddIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_AddIdentity", 64 }, + { "AT_SetIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_SetIdentity", 65 }, + { "AT_DropIdentity", "PG_QUERY__ALTER_TABLE_TYPE__AT_DropIdentity", 66 }, + { "AT_ReAddStatistics", "PG_QUERY__ALTER_TABLE_TYPE__AT_ReAddStatistics", 67 }, }; static const ProtobufCIntRange pg_query__alter_table_type__value_ranges[] = { -{0, 0},{0, 72} +{0, 0},{0, 68} }; -static const ProtobufCEnumValueIndex pg_query__alter_table_type__enum_values_by_name[72] = +static const ProtobufCEnumValueIndex pg_query__alter_table_type__enum_values_by_name[68] = { { "ALTER_TABLE_TYPE_UNDEFINED", 0 }, { "AT_AddColumn", 1 }, - { "AT_AddColumnRecurse", 2 }, - { "AT_AddColumnToView", 3 }, - { "AT_AddConstraint", 19 }, - { "AT_AddConstraintRecurse", 20 }, - { "AT_AddIdentity", 68 }, - { "AT_AddIndex", 17 }, - { "AT_AddIndexConstraint", 26 }, - { "AT_AddInherit", 55 }, - { "AT_AddOf", 57 }, - { "AT_AlterColumnGenericOptions", 31 }, - { "AT_AlterColumnType", 30 }, - { "AT_AlterConstraint", 23 }, - { "AT_AttachPartition", 65 }, - { "AT_ChangeOwner", 32 }, + { "AT_AddColumnToView", 2 }, + { "AT_AddConstraint", 18 }, + { "AT_AddIdentity", 64 }, + { "AT_AddIndex", 16 }, + { "AT_AddIndexConstraint", 23 }, + { "AT_AddInherit", 51 }, + { "AT_AddOf", 53 }, + { "AT_AlterColumnGenericOptions", 27 }, + { "AT_AlterColumnType", 26 }, + { "AT_AlterConstraint", 21 }, + { "AT_AttachPartition", 61 }, + { "AT_ChangeOwner", 28 }, { "AT_CheckNotNull", 9 }, - { "AT_ClusterOn", 33 }, - { "AT_ColumnDefault", 4 }, - { "AT_CookedColumnDefault", 5 }, - { "AT_DetachPartition", 66 }, - { "AT_DetachPartitionFinalize", 67 }, - { "AT_DisableRowSecurity", 61 }, - { "AT_DisableRule", 54 }, - { "AT_DisableTrig", 46 }, - { "AT_DisableTrigAll", 48 }, - { "AT_DisableTrigUser", 50 }, - { "AT_DropCluster", 34 }, + { "AT_ClusterOn", 29 }, + { "AT_ColumnDefault", 3 }, + { "AT_CookedColumnDefault", 4 }, + { "AT_DetachPartition", 62 }, + { "AT_DetachPartitionFinalize", 63 }, + { "AT_DisableRowSecurity", 57 }, + { "AT_DisableRule", 50 }, + { "AT_DisableTrig", 42 }, + { "AT_DisableTrigAll", 44 }, + { "AT_DisableTrigUser", 46 }, + { "AT_DropCluster", 30 }, { "AT_DropColumn", 15 }, - { "AT_DropColumnRecurse", 16 }, - { "AT_DropConstraint", 27 }, - { "AT_DropConstraintRecurse", 28 }, + { "AT_DropConstraint", 24 }, { "AT_DropExpression", 8 }, - { "AT_DropIdentity", 70 }, - { "AT_DropInherit", 56 }, - { "AT_DropNotNull", 6 }, - { "AT_DropOf", 58 }, - { "AT_DropOids", 37 }, - { "AT_EnableAlwaysRule", 52 }, - { "AT_EnableAlwaysTrig", 44 }, - { "AT_EnableReplicaRule", 53 }, - { "AT_EnableReplicaTrig", 45 }, - { "AT_EnableRowSecurity", 60 }, - { "AT_EnableRule", 51 }, - { "AT_EnableTrig", 43 }, - { "AT_EnableTrigAll", 47 }, - { "AT_EnableTrigUser", 49 }, - { "AT_ForceRowSecurity", 62 }, - { "AT_GenericOptions", 64 }, - { "AT_NoForceRowSecurity", 63 }, - { "AT_ReAddComment", 29 }, - { "AT_ReAddConstraint", 21 }, - { "AT_ReAddDomainConstraint", 22 }, - { "AT_ReAddIndex", 18 }, - { "AT_ReAddStatistics", 71 }, - { "AT_ReplaceRelOptions", 42 }, - { "AT_ReplicaIdentity", 59 }, + { "AT_DropIdentity", 66 }, + { "AT_DropInherit", 52 }, + { "AT_DropNotNull", 5 }, + { "AT_DropOf", 54 }, + { "AT_DropOids", 33 }, + { "AT_EnableAlwaysRule", 48 }, + { "AT_EnableAlwaysTrig", 40 }, + { "AT_EnableReplicaRule", 49 }, + { "AT_EnableReplicaTrig", 41 }, + { "AT_EnableRowSecurity", 56 }, + { "AT_EnableRule", 47 }, + { "AT_EnableTrig", 39 }, + { "AT_EnableTrigAll", 43 }, + { "AT_EnableTrigUser", 45 }, + { "AT_ForceRowSecurity", 58 }, + { "AT_GenericOptions", 60 }, + { "AT_NoForceRowSecurity", 59 }, + { "AT_ReAddComment", 25 }, + { "AT_ReAddConstraint", 19 }, + { "AT_ReAddDomainConstraint", 20 }, + { "AT_ReAddIndex", 17 }, + { "AT_ReAddStatistics", 67 }, + { "AT_ReplaceRelOptions", 38 }, + { "AT_ReplicaIdentity", 55 }, { "AT_ResetOptions", 12 }, - { "AT_ResetRelOptions", 41 }, - { "AT_SetAccessMethod", 38 }, + { "AT_ResetRelOptions", 37 }, + { "AT_SetAccessMethod", 34 }, { "AT_SetCompression", 14 }, - { "AT_SetIdentity", 69 }, - { "AT_SetLogged", 35 }, - { "AT_SetNotNull", 7 }, + { "AT_SetExpression", 7 }, + { "AT_SetIdentity", 65 }, + { "AT_SetLogged", 31 }, + { "AT_SetNotNull", 6 }, { "AT_SetOptions", 11 }, - { "AT_SetRelOptions", 40 }, + { "AT_SetRelOptions", 36 }, { "AT_SetStatistics", 10 }, { "AT_SetStorage", 13 }, - { "AT_SetTableSpace", 39 }, - { "AT_SetUnLogged", 36 }, - { "AT_ValidateConstraint", 24 }, - { "AT_ValidateConstraintRecurse", 25 }, + { "AT_SetTableSpace", 35 }, + { "AT_SetUnLogged", 32 }, + { "AT_ValidateConstraint", 22 }, }; const ProtobufCEnumDescriptor pg_query__alter_table_type__descriptor = { @@ -37164,9 +42093,9 @@ const ProtobufCEnumDescriptor pg_query__alter_table_type__descriptor = "AlterTableType", "PgQuery__AlterTableType", "pg_query", - 72, + 68, pg_query__alter_table_type__enum_values_by_number, - 72, + 68, pg_query__alter_table_type__enum_values_by_name, 1, pg_query__alter_table_type__value_ranges, @@ -37724,6 +42653,38 @@ const ProtobufCEnumDescriptor pg_query__alter_subscription_type__descriptor = pg_query__alter_subscription_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__overriding_kind__enum_values_by_number[4] = +{ + { "OVERRIDING_KIND_UNDEFINED", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_KIND_UNDEFINED", 0 }, + { "OVERRIDING_NOT_SET", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_NOT_SET", 1 }, + { "OVERRIDING_USER_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_USER_VALUE", 2 }, + { "OVERRIDING_SYSTEM_VALUE", "PG_QUERY__OVERRIDING_KIND__OVERRIDING_SYSTEM_VALUE", 3 }, +}; +static const ProtobufCIntRange pg_query__overriding_kind__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__overriding_kind__enum_values_by_name[4] = +{ + { "OVERRIDING_KIND_UNDEFINED", 0 }, + { "OVERRIDING_NOT_SET", 1 }, + { "OVERRIDING_SYSTEM_VALUE", 3 }, + { "OVERRIDING_USER_VALUE", 2 }, +}; +const ProtobufCEnumDescriptor pg_query__overriding_kind__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.OverridingKind", + "OverridingKind", + "PgQuery__OverridingKind", + "pg_query", + 4, + pg_query__overriding_kind__enum_values_by_number, + 4, + pg_query__overriding_kind__enum_values_by_name, + 1, + pg_query__overriding_kind__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__on_commit_action__enum_values_by_number[5] = { { "ON_COMMIT_ACTION_UNDEFINED", "PG_QUERY__ON_COMMIT_ACTION__ON_COMMIT_ACTION_UNDEFINED", 0 }, @@ -37758,6 +42719,36 @@ const ProtobufCEnumDescriptor pg_query__on_commit_action__descriptor = pg_query__on_commit_action__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__table_func_type__enum_values_by_number[3] = +{ + { "TABLE_FUNC_TYPE_UNDEFINED", "PG_QUERY__TABLE_FUNC_TYPE__TABLE_FUNC_TYPE_UNDEFINED", 0 }, + { "TFT_XMLTABLE", "PG_QUERY__TABLE_FUNC_TYPE__TFT_XMLTABLE", 1 }, + { "TFT_JSON_TABLE", "PG_QUERY__TABLE_FUNC_TYPE__TFT_JSON_TABLE", 2 }, +}; +static const ProtobufCIntRange pg_query__table_func_type__value_ranges[] = { +{0, 0},{0, 3} +}; +static const ProtobufCEnumValueIndex pg_query__table_func_type__enum_values_by_name[3] = +{ + { "TABLE_FUNC_TYPE_UNDEFINED", 0 }, + { "TFT_JSON_TABLE", 2 }, + { "TFT_XMLTABLE", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__table_func_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.TableFuncType", + "TableFuncType", + "PgQuery__TableFuncType", + "pg_query", + 3, + pg_query__table_func_type__enum_values_by_number, + 3, + pg_query__table_func_type__enum_values_by_name, + 1, + pg_query__table_func_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__param_kind__enum_values_by_number[5] = { { "PARAM_KIND_UNDEFINED", "PG_QUERY__PARAM_KIND__PARAM_KIND_UNDEFINED", 0 }, @@ -38130,6 +43121,258 @@ const ProtobufCEnumDescriptor pg_query__xml_option_type__descriptor = pg_query__xml_option_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__json_encoding__enum_values_by_number[5] = +{ + { "JSON_ENCODING_UNDEFINED", "PG_QUERY__JSON_ENCODING__JSON_ENCODING_UNDEFINED", 0 }, + { "JS_ENC_DEFAULT", "PG_QUERY__JSON_ENCODING__JS_ENC_DEFAULT", 1 }, + { "JS_ENC_UTF8", "PG_QUERY__JSON_ENCODING__JS_ENC_UTF8", 2 }, + { "JS_ENC_UTF16", "PG_QUERY__JSON_ENCODING__JS_ENC_UTF16", 3 }, + { "JS_ENC_UTF32", "PG_QUERY__JSON_ENCODING__JS_ENC_UTF32", 4 }, +}; +static const ProtobufCIntRange pg_query__json_encoding__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_encoding__enum_values_by_name[5] = +{ + { "JSON_ENCODING_UNDEFINED", 0 }, + { "JS_ENC_DEFAULT", 1 }, + { "JS_ENC_UTF16", 3 }, + { "JS_ENC_UTF32", 4 }, + { "JS_ENC_UTF8", 2 }, +}; +const ProtobufCEnumDescriptor pg_query__json_encoding__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonEncoding", + "JsonEncoding", + "PgQuery__JsonEncoding", + "pg_query", + 5, + pg_query__json_encoding__enum_values_by_number, + 5, + pg_query__json_encoding__enum_values_by_name, + 1, + pg_query__json_encoding__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_format_type__enum_values_by_number[4] = +{ + { "JSON_FORMAT_TYPE_UNDEFINED", "PG_QUERY__JSON_FORMAT_TYPE__JSON_FORMAT_TYPE_UNDEFINED", 0 }, + { "JS_FORMAT_DEFAULT", "PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_DEFAULT", 1 }, + { "JS_FORMAT_JSON", "PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_JSON", 2 }, + { "JS_FORMAT_JSONB", "PG_QUERY__JSON_FORMAT_TYPE__JS_FORMAT_JSONB", 3 }, +}; +static const ProtobufCIntRange pg_query__json_format_type__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__json_format_type__enum_values_by_name[4] = +{ + { "JSON_FORMAT_TYPE_UNDEFINED", 0 }, + { "JS_FORMAT_DEFAULT", 1 }, + { "JS_FORMAT_JSON", 2 }, + { "JS_FORMAT_JSONB", 3 }, +}; +const ProtobufCEnumDescriptor pg_query__json_format_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonFormatType", + "JsonFormatType", + "PgQuery__JsonFormatType", + "pg_query", + 4, + pg_query__json_format_type__enum_values_by_number, + 4, + pg_query__json_format_type__enum_values_by_name, + 1, + pg_query__json_format_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_constructor_type__enum_values_by_number[8] = +{ + { "JSON_CONSTRUCTOR_TYPE_UNDEFINED", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSON_CONSTRUCTOR_TYPE_UNDEFINED", 0 }, + { "JSCTOR_JSON_OBJECT", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECT", 1 }, + { "JSCTOR_JSON_ARRAY", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAY", 2 }, + { "JSCTOR_JSON_OBJECTAGG", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_OBJECTAGG", 3 }, + { "JSCTOR_JSON_ARRAYAGG", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_ARRAYAGG", 4 }, + { "JSCTOR_JSON_PARSE", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_PARSE", 5 }, + { "JSCTOR_JSON_SCALAR", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SCALAR", 6 }, + { "JSCTOR_JSON_SERIALIZE", "PG_QUERY__JSON_CONSTRUCTOR_TYPE__JSCTOR_JSON_SERIALIZE", 7 }, +}; +static const ProtobufCIntRange pg_query__json_constructor_type__value_ranges[] = { +{0, 0},{0, 8} +}; +static const ProtobufCEnumValueIndex pg_query__json_constructor_type__enum_values_by_name[8] = +{ + { "JSCTOR_JSON_ARRAY", 2 }, + { "JSCTOR_JSON_ARRAYAGG", 4 }, + { "JSCTOR_JSON_OBJECT", 1 }, + { "JSCTOR_JSON_OBJECTAGG", 3 }, + { "JSCTOR_JSON_PARSE", 5 }, + { "JSCTOR_JSON_SCALAR", 6 }, + { "JSCTOR_JSON_SERIALIZE", 7 }, + { "JSON_CONSTRUCTOR_TYPE_UNDEFINED", 0 }, +}; +const ProtobufCEnumDescriptor pg_query__json_constructor_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonConstructorType", + "JsonConstructorType", + "PgQuery__JsonConstructorType", + "pg_query", + 8, + pg_query__json_constructor_type__enum_values_by_number, + 8, + pg_query__json_constructor_type__enum_values_by_name, + 1, + pg_query__json_constructor_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_value_type__enum_values_by_number[5] = +{ + { "JSON_VALUE_TYPE_UNDEFINED", "PG_QUERY__JSON_VALUE_TYPE__JSON_VALUE_TYPE_UNDEFINED", 0 }, + { "JS_TYPE_ANY", "PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_ANY", 1 }, + { "JS_TYPE_OBJECT", "PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_OBJECT", 2 }, + { "JS_TYPE_ARRAY", "PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_ARRAY", 3 }, + { "JS_TYPE_SCALAR", "PG_QUERY__JSON_VALUE_TYPE__JS_TYPE_SCALAR", 4 }, +}; +static const ProtobufCIntRange pg_query__json_value_type__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_value_type__enum_values_by_name[5] = +{ + { "JSON_VALUE_TYPE_UNDEFINED", 0 }, + { "JS_TYPE_ANY", 1 }, + { "JS_TYPE_ARRAY", 3 }, + { "JS_TYPE_OBJECT", 2 }, + { "JS_TYPE_SCALAR", 4 }, +}; +const ProtobufCEnumDescriptor pg_query__json_value_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonValueType", + "JsonValueType", + "PgQuery__JsonValueType", + "pg_query", + 5, + pg_query__json_value_type__enum_values_by_number, + 5, + pg_query__json_value_type__enum_values_by_name, + 1, + pg_query__json_value_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_wrapper__enum_values_by_number[5] = +{ + { "JSON_WRAPPER_UNDEFINED", "PG_QUERY__JSON_WRAPPER__JSON_WRAPPER_UNDEFINED", 0 }, + { "JSW_UNSPEC", "PG_QUERY__JSON_WRAPPER__JSW_UNSPEC", 1 }, + { "JSW_NONE", "PG_QUERY__JSON_WRAPPER__JSW_NONE", 2 }, + { "JSW_CONDITIONAL", "PG_QUERY__JSON_WRAPPER__JSW_CONDITIONAL", 3 }, + { "JSW_UNCONDITIONAL", "PG_QUERY__JSON_WRAPPER__JSW_UNCONDITIONAL", 4 }, +}; +static const ProtobufCIntRange pg_query__json_wrapper__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_wrapper__enum_values_by_name[5] = +{ + { "JSON_WRAPPER_UNDEFINED", 0 }, + { "JSW_CONDITIONAL", 3 }, + { "JSW_NONE", 2 }, + { "JSW_UNCONDITIONAL", 4 }, + { "JSW_UNSPEC", 1 }, +}; +const ProtobufCEnumDescriptor pg_query__json_wrapper__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonWrapper", + "JsonWrapper", + "PgQuery__JsonWrapper", + "pg_query", + 5, + pg_query__json_wrapper__enum_values_by_number, + 5, + pg_query__json_wrapper__enum_values_by_name, + 1, + pg_query__json_wrapper__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_behavior_type__enum_values_by_number[10] = +{ + { "JSON_BEHAVIOR_TYPE_UNDEFINED", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TYPE_UNDEFINED", 0 }, + { "JSON_BEHAVIOR_NULL", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_NULL", 1 }, + { "JSON_BEHAVIOR_ERROR", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_ERROR", 2 }, + { "JSON_BEHAVIOR_EMPTY", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY", 3 }, + { "JSON_BEHAVIOR_TRUE", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_TRUE", 4 }, + { "JSON_BEHAVIOR_FALSE", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_FALSE", 5 }, + { "JSON_BEHAVIOR_UNKNOWN", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_UNKNOWN", 6 }, + { "JSON_BEHAVIOR_EMPTY_ARRAY", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_ARRAY", 7 }, + { "JSON_BEHAVIOR_EMPTY_OBJECT", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_EMPTY_OBJECT", 8 }, + { "JSON_BEHAVIOR_DEFAULT", "PG_QUERY__JSON_BEHAVIOR_TYPE__JSON_BEHAVIOR_DEFAULT", 9 }, +}; +static const ProtobufCIntRange pg_query__json_behavior_type__value_ranges[] = { +{0, 0},{0, 10} +}; +static const ProtobufCEnumValueIndex pg_query__json_behavior_type__enum_values_by_name[10] = +{ + { "JSON_BEHAVIOR_DEFAULT", 9 }, + { "JSON_BEHAVIOR_EMPTY", 3 }, + { "JSON_BEHAVIOR_EMPTY_ARRAY", 7 }, + { "JSON_BEHAVIOR_EMPTY_OBJECT", 8 }, + { "JSON_BEHAVIOR_ERROR", 2 }, + { "JSON_BEHAVIOR_FALSE", 5 }, + { "JSON_BEHAVIOR_NULL", 1 }, + { "JSON_BEHAVIOR_TRUE", 4 }, + { "JSON_BEHAVIOR_TYPE_UNDEFINED", 0 }, + { "JSON_BEHAVIOR_UNKNOWN", 6 }, +}; +const ProtobufCEnumDescriptor pg_query__json_behavior_type__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonBehaviorType", + "JsonBehaviorType", + "PgQuery__JsonBehaviorType", + "pg_query", + 10, + pg_query__json_behavior_type__enum_values_by_number, + 10, + pg_query__json_behavior_type__enum_values_by_name, + 1, + pg_query__json_behavior_type__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; +static const ProtobufCEnumValue pg_query__json_expr_op__enum_values_by_number[5] = +{ + { "JSON_EXPR_OP_UNDEFINED", "PG_QUERY__JSON_EXPR_OP__JSON_EXPR_OP_UNDEFINED", 0 }, + { "JSON_EXISTS_OP", "PG_QUERY__JSON_EXPR_OP__JSON_EXISTS_OP", 1 }, + { "JSON_QUERY_OP", "PG_QUERY__JSON_EXPR_OP__JSON_QUERY_OP", 2 }, + { "JSON_VALUE_OP", "PG_QUERY__JSON_EXPR_OP__JSON_VALUE_OP", 3 }, + { "JSON_TABLE_OP", "PG_QUERY__JSON_EXPR_OP__JSON_TABLE_OP", 4 }, +}; +static const ProtobufCIntRange pg_query__json_expr_op__value_ranges[] = { +{0, 0},{0, 5} +}; +static const ProtobufCEnumValueIndex pg_query__json_expr_op__enum_values_by_name[5] = +{ + { "JSON_EXISTS_OP", 1 }, + { "JSON_EXPR_OP_UNDEFINED", 0 }, + { "JSON_QUERY_OP", 2 }, + { "JSON_TABLE_OP", 4 }, + { "JSON_VALUE_OP", 3 }, +}; +const ProtobufCEnumDescriptor pg_query__json_expr_op__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.JsonExprOp", + "JsonExprOp", + "PgQuery__JsonExprOp", + "pg_query", + 5, + pg_query__json_expr_op__enum_values_by_number, + 5, + pg_query__json_expr_op__enum_values_by_name, + 1, + pg_query__json_expr_op__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__null_test_type__enum_values_by_number[3] = { { "NULL_TEST_TYPE_UNDEFINED", "PG_QUERY__NULL_TEST_TYPE__NULL_TEST_TYPE_UNDEFINED", 0 }, @@ -38198,6 +43441,38 @@ const ProtobufCEnumDescriptor pg_query__bool_test_type__descriptor = pg_query__bool_test_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; +static const ProtobufCEnumValue pg_query__merge_match_kind__enum_values_by_number[4] = +{ + { "MERGE_MATCH_KIND_UNDEFINED", "PG_QUERY__MERGE_MATCH_KIND__MERGE_MATCH_KIND_UNDEFINED", 0 }, + { "MERGE_WHEN_MATCHED", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_MATCHED", 1 }, + { "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_SOURCE", 2 }, + { "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "PG_QUERY__MERGE_MATCH_KIND__MERGE_WHEN_NOT_MATCHED_BY_TARGET", 3 }, +}; +static const ProtobufCIntRange pg_query__merge_match_kind__value_ranges[] = { +{0, 0},{0, 4} +}; +static const ProtobufCEnumValueIndex pg_query__merge_match_kind__enum_values_by_name[4] = +{ + { "MERGE_MATCH_KIND_UNDEFINED", 0 }, + { "MERGE_WHEN_MATCHED", 1 }, + { "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", 2 }, + { "MERGE_WHEN_NOT_MATCHED_BY_TARGET", 3 }, +}; +const ProtobufCEnumDescriptor pg_query__merge_match_kind__descriptor = +{ + PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC, + "pg_query.MergeMatchKind", + "MergeMatchKind", + "PgQuery__MergeMatchKind", + "pg_query", + 4, + pg_query__merge_match_kind__enum_values_by_number, + 4, + pg_query__merge_match_kind__enum_values_by_name, + 1, + pg_query__merge_match_kind__value_ranges, + NULL,NULL,NULL,NULL /* reserved[1234] */ +}; static const ProtobufCEnumValue pg_query__cmd_type__enum_values_by_number[9] = { { "CMD_TYPE_UNDEFINED", "PG_QUERY__CMD_TYPE__CMD_TYPE_UNDEFINED", 0 }, @@ -38240,7 +43515,7 @@ const ProtobufCEnumDescriptor pg_query__cmd_type__descriptor = pg_query__cmd_type__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__join_type__enum_values_by_number[9] = +static const ProtobufCEnumValue pg_query__join_type__enum_values_by_number[10] = { { "JOIN_TYPE_UNDEFINED", "PG_QUERY__JOIN_TYPE__JOIN_TYPE_UNDEFINED", 0 }, { "JOIN_INNER", "PG_QUERY__JOIN_TYPE__JOIN_INNER", 1 }, @@ -38249,23 +43524,25 @@ static const ProtobufCEnumValue pg_query__join_type__enum_values_by_number[9] = { "JOIN_RIGHT", "PG_QUERY__JOIN_TYPE__JOIN_RIGHT", 4 }, { "JOIN_SEMI", "PG_QUERY__JOIN_TYPE__JOIN_SEMI", 5 }, { "JOIN_ANTI", "PG_QUERY__JOIN_TYPE__JOIN_ANTI", 6 }, - { "JOIN_UNIQUE_OUTER", "PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_OUTER", 7 }, - { "JOIN_UNIQUE_INNER", "PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_INNER", 8 }, + { "JOIN_RIGHT_ANTI", "PG_QUERY__JOIN_TYPE__JOIN_RIGHT_ANTI", 7 }, + { "JOIN_UNIQUE_OUTER", "PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_OUTER", 8 }, + { "JOIN_UNIQUE_INNER", "PG_QUERY__JOIN_TYPE__JOIN_UNIQUE_INNER", 9 }, }; static const ProtobufCIntRange pg_query__join_type__value_ranges[] = { -{0, 0},{0, 9} +{0, 0},{0, 10} }; -static const ProtobufCEnumValueIndex pg_query__join_type__enum_values_by_name[9] = +static const ProtobufCEnumValueIndex pg_query__join_type__enum_values_by_name[10] = { { "JOIN_ANTI", 6 }, { "JOIN_FULL", 3 }, { "JOIN_INNER", 1 }, { "JOIN_LEFT", 2 }, { "JOIN_RIGHT", 4 }, + { "JOIN_RIGHT_ANTI", 7 }, { "JOIN_SEMI", 5 }, { "JOIN_TYPE_UNDEFINED", 0 }, - { "JOIN_UNIQUE_INNER", 8 }, - { "JOIN_UNIQUE_OUTER", 7 }, + { "JOIN_UNIQUE_INNER", 9 }, + { "JOIN_UNIQUE_OUTER", 8 }, }; const ProtobufCEnumDescriptor pg_query__join_type__descriptor = { @@ -38274,9 +43551,9 @@ const ProtobufCEnumDescriptor pg_query__join_type__descriptor = "JoinType", "PgQuery__JoinType", "pg_query", - 9, + 10, pg_query__join_type__enum_values_by_number, - 9, + 10, pg_query__join_type__enum_values_by_name, 1, pg_query__join_type__value_ranges, @@ -38612,9 +43889,10 @@ const ProtobufCEnumDescriptor pg_query__keyword_kind__descriptor = pg_query__keyword_kind__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; -static const ProtobufCEnumValue pg_query__token__enum_values_by_number[508] = +static const ProtobufCEnumValue pg_query__token__enum_values_by_number[542] = { { "NUL", "PG_QUERY__TOKEN__NUL", 0 }, + { "ASCII_36", "PG_QUERY__TOKEN__ASCII_36", 36 }, { "ASCII_37", "PG_QUERY__TOKEN__ASCII_37", 37 }, { "ASCII_40", "PG_QUERY__TOKEN__ASCII_40", 40 }, { "ASCII_41", "PG_QUERY__TOKEN__ASCII_41", 41 }, @@ -38654,988 +43932,1055 @@ static const ProtobufCEnumValue pg_query__token__enum_values_by_number[508] = { "SQL_COMMENT", "PG_QUERY__TOKEN__SQL_COMMENT", 275 }, { "C_COMMENT", "PG_QUERY__TOKEN__C_COMMENT", 276 }, { "ABORT_P", "PG_QUERY__TOKEN__ABORT_P", 277 }, - { "ABSOLUTE_P", "PG_QUERY__TOKEN__ABSOLUTE_P", 278 }, - { "ACCESS", "PG_QUERY__TOKEN__ACCESS", 279 }, - { "ACTION", "PG_QUERY__TOKEN__ACTION", 280 }, - { "ADD_P", "PG_QUERY__TOKEN__ADD_P", 281 }, - { "ADMIN", "PG_QUERY__TOKEN__ADMIN", 282 }, - { "AFTER", "PG_QUERY__TOKEN__AFTER", 283 }, - { "AGGREGATE", "PG_QUERY__TOKEN__AGGREGATE", 284 }, - { "ALL", "PG_QUERY__TOKEN__ALL", 285 }, - { "ALSO", "PG_QUERY__TOKEN__ALSO", 286 }, - { "ALTER", "PG_QUERY__TOKEN__ALTER", 287 }, - { "ALWAYS", "PG_QUERY__TOKEN__ALWAYS", 288 }, - { "ANALYSE", "PG_QUERY__TOKEN__ANALYSE", 289 }, - { "ANALYZE", "PG_QUERY__TOKEN__ANALYZE", 290 }, - { "AND", "PG_QUERY__TOKEN__AND", 291 }, - { "ANY", "PG_QUERY__TOKEN__ANY", 292 }, - { "ARRAY", "PG_QUERY__TOKEN__ARRAY", 293 }, - { "AS", "PG_QUERY__TOKEN__AS", 294 }, - { "ASC", "PG_QUERY__TOKEN__ASC", 295 }, - { "ASENSITIVE", "PG_QUERY__TOKEN__ASENSITIVE", 296 }, - { "ASSERTION", "PG_QUERY__TOKEN__ASSERTION", 297 }, - { "ASSIGNMENT", "PG_QUERY__TOKEN__ASSIGNMENT", 298 }, - { "ASYMMETRIC", "PG_QUERY__TOKEN__ASYMMETRIC", 299 }, - { "ATOMIC", "PG_QUERY__TOKEN__ATOMIC", 300 }, - { "AT", "PG_QUERY__TOKEN__AT", 301 }, - { "ATTACH", "PG_QUERY__TOKEN__ATTACH", 302 }, - { "ATTRIBUTE", "PG_QUERY__TOKEN__ATTRIBUTE", 303 }, - { "AUTHORIZATION", "PG_QUERY__TOKEN__AUTHORIZATION", 304 }, - { "BACKWARD", "PG_QUERY__TOKEN__BACKWARD", 305 }, - { "BEFORE", "PG_QUERY__TOKEN__BEFORE", 306 }, - { "BEGIN_P", "PG_QUERY__TOKEN__BEGIN_P", 307 }, - { "BETWEEN", "PG_QUERY__TOKEN__BETWEEN", 308 }, - { "BIGINT", "PG_QUERY__TOKEN__BIGINT", 309 }, - { "BINARY", "PG_QUERY__TOKEN__BINARY", 310 }, - { "BIT", "PG_QUERY__TOKEN__BIT", 311 }, - { "BOOLEAN_P", "PG_QUERY__TOKEN__BOOLEAN_P", 312 }, - { "BOTH", "PG_QUERY__TOKEN__BOTH", 313 }, - { "BREADTH", "PG_QUERY__TOKEN__BREADTH", 314 }, - { "BY", "PG_QUERY__TOKEN__BY", 315 }, - { "CACHE", "PG_QUERY__TOKEN__CACHE", 316 }, - { "CALL", "PG_QUERY__TOKEN__CALL", 317 }, - { "CALLED", "PG_QUERY__TOKEN__CALLED", 318 }, - { "CASCADE", "PG_QUERY__TOKEN__CASCADE", 319 }, - { "CASCADED", "PG_QUERY__TOKEN__CASCADED", 320 }, - { "CASE", "PG_QUERY__TOKEN__CASE", 321 }, - { "CAST", "PG_QUERY__TOKEN__CAST", 322 }, - { "CATALOG_P", "PG_QUERY__TOKEN__CATALOG_P", 323 }, - { "CHAIN", "PG_QUERY__TOKEN__CHAIN", 324 }, - { "CHAR_P", "PG_QUERY__TOKEN__CHAR_P", 325 }, - { "CHARACTER", "PG_QUERY__TOKEN__CHARACTER", 326 }, - { "CHARACTERISTICS", "PG_QUERY__TOKEN__CHARACTERISTICS", 327 }, - { "CHECK", "PG_QUERY__TOKEN__CHECK", 328 }, - { "CHECKPOINT", "PG_QUERY__TOKEN__CHECKPOINT", 329 }, - { "CLASS", "PG_QUERY__TOKEN__CLASS", 330 }, - { "CLOSE", "PG_QUERY__TOKEN__CLOSE", 331 }, - { "CLUSTER", "PG_QUERY__TOKEN__CLUSTER", 332 }, - { "COALESCE", "PG_QUERY__TOKEN__COALESCE", 333 }, - { "COLLATE", "PG_QUERY__TOKEN__COLLATE", 334 }, - { "COLLATION", "PG_QUERY__TOKEN__COLLATION", 335 }, - { "COLUMN", "PG_QUERY__TOKEN__COLUMN", 336 }, - { "COLUMNS", "PG_QUERY__TOKEN__COLUMNS", 337 }, - { "COMMENT", "PG_QUERY__TOKEN__COMMENT", 338 }, - { "COMMENTS", "PG_QUERY__TOKEN__COMMENTS", 339 }, - { "COMMIT", "PG_QUERY__TOKEN__COMMIT", 340 }, - { "COMMITTED", "PG_QUERY__TOKEN__COMMITTED", 341 }, - { "COMPRESSION", "PG_QUERY__TOKEN__COMPRESSION", 342 }, - { "CONCURRENTLY", "PG_QUERY__TOKEN__CONCURRENTLY", 343 }, - { "CONFIGURATION", "PG_QUERY__TOKEN__CONFIGURATION", 344 }, - { "CONFLICT", "PG_QUERY__TOKEN__CONFLICT", 345 }, - { "CONNECTION", "PG_QUERY__TOKEN__CONNECTION", 346 }, - { "CONSTRAINT", "PG_QUERY__TOKEN__CONSTRAINT", 347 }, - { "CONSTRAINTS", "PG_QUERY__TOKEN__CONSTRAINTS", 348 }, - { "CONTENT_P", "PG_QUERY__TOKEN__CONTENT_P", 349 }, - { "CONTINUE_P", "PG_QUERY__TOKEN__CONTINUE_P", 350 }, - { "CONVERSION_P", "PG_QUERY__TOKEN__CONVERSION_P", 351 }, - { "COPY", "PG_QUERY__TOKEN__COPY", 352 }, - { "COST", "PG_QUERY__TOKEN__COST", 353 }, - { "CREATE", "PG_QUERY__TOKEN__CREATE", 354 }, - { "CROSS", "PG_QUERY__TOKEN__CROSS", 355 }, - { "CSV", "PG_QUERY__TOKEN__CSV", 356 }, - { "CUBE", "PG_QUERY__TOKEN__CUBE", 357 }, - { "CURRENT_P", "PG_QUERY__TOKEN__CURRENT_P", 358 }, - { "CURRENT_CATALOG", "PG_QUERY__TOKEN__CURRENT_CATALOG", 359 }, - { "CURRENT_DATE", "PG_QUERY__TOKEN__CURRENT_DATE", 360 }, - { "CURRENT_ROLE", "PG_QUERY__TOKEN__CURRENT_ROLE", 361 }, - { "CURRENT_SCHEMA", "PG_QUERY__TOKEN__CURRENT_SCHEMA", 362 }, - { "CURRENT_TIME", "PG_QUERY__TOKEN__CURRENT_TIME", 363 }, - { "CURRENT_TIMESTAMP", "PG_QUERY__TOKEN__CURRENT_TIMESTAMP", 364 }, - { "CURRENT_USER", "PG_QUERY__TOKEN__CURRENT_USER", 365 }, - { "CURSOR", "PG_QUERY__TOKEN__CURSOR", 366 }, - { "CYCLE", "PG_QUERY__TOKEN__CYCLE", 367 }, - { "DATA_P", "PG_QUERY__TOKEN__DATA_P", 368 }, - { "DATABASE", "PG_QUERY__TOKEN__DATABASE", 369 }, - { "DAY_P", "PG_QUERY__TOKEN__DAY_P", 370 }, - { "DEALLOCATE", "PG_QUERY__TOKEN__DEALLOCATE", 371 }, - { "DEC", "PG_QUERY__TOKEN__DEC", 372 }, - { "DECIMAL_P", "PG_QUERY__TOKEN__DECIMAL_P", 373 }, - { "DECLARE", "PG_QUERY__TOKEN__DECLARE", 374 }, - { "DEFAULT", "PG_QUERY__TOKEN__DEFAULT", 375 }, - { "DEFAULTS", "PG_QUERY__TOKEN__DEFAULTS", 376 }, - { "DEFERRABLE", "PG_QUERY__TOKEN__DEFERRABLE", 377 }, - { "DEFERRED", "PG_QUERY__TOKEN__DEFERRED", 378 }, - { "DEFINER", "PG_QUERY__TOKEN__DEFINER", 379 }, - { "DELETE_P", "PG_QUERY__TOKEN__DELETE_P", 380 }, - { "DELIMITER", "PG_QUERY__TOKEN__DELIMITER", 381 }, - { "DELIMITERS", "PG_QUERY__TOKEN__DELIMITERS", 382 }, - { "DEPENDS", "PG_QUERY__TOKEN__DEPENDS", 383 }, - { "DEPTH", "PG_QUERY__TOKEN__DEPTH", 384 }, - { "DESC", "PG_QUERY__TOKEN__DESC", 385 }, - { "DETACH", "PG_QUERY__TOKEN__DETACH", 386 }, - { "DICTIONARY", "PG_QUERY__TOKEN__DICTIONARY", 387 }, - { "DISABLE_P", "PG_QUERY__TOKEN__DISABLE_P", 388 }, - { "DISCARD", "PG_QUERY__TOKEN__DISCARD", 389 }, - { "DISTINCT", "PG_QUERY__TOKEN__DISTINCT", 390 }, - { "DO", "PG_QUERY__TOKEN__DO", 391 }, - { "DOCUMENT_P", "PG_QUERY__TOKEN__DOCUMENT_P", 392 }, - { "DOMAIN_P", "PG_QUERY__TOKEN__DOMAIN_P", 393 }, - { "DOUBLE_P", "PG_QUERY__TOKEN__DOUBLE_P", 394 }, - { "DROP", "PG_QUERY__TOKEN__DROP", 395 }, - { "EACH", "PG_QUERY__TOKEN__EACH", 396 }, - { "ELSE", "PG_QUERY__TOKEN__ELSE", 397 }, - { "ENABLE_P", "PG_QUERY__TOKEN__ENABLE_P", 398 }, - { "ENCODING", "PG_QUERY__TOKEN__ENCODING", 399 }, - { "ENCRYPTED", "PG_QUERY__TOKEN__ENCRYPTED", 400 }, - { "END_P", "PG_QUERY__TOKEN__END_P", 401 }, - { "ENUM_P", "PG_QUERY__TOKEN__ENUM_P", 402 }, - { "ESCAPE", "PG_QUERY__TOKEN__ESCAPE", 403 }, - { "EVENT", "PG_QUERY__TOKEN__EVENT", 404 }, - { "EXCEPT", "PG_QUERY__TOKEN__EXCEPT", 405 }, - { "EXCLUDE", "PG_QUERY__TOKEN__EXCLUDE", 406 }, - { "EXCLUDING", "PG_QUERY__TOKEN__EXCLUDING", 407 }, - { "EXCLUSIVE", "PG_QUERY__TOKEN__EXCLUSIVE", 408 }, - { "EXECUTE", "PG_QUERY__TOKEN__EXECUTE", 409 }, - { "EXISTS", "PG_QUERY__TOKEN__EXISTS", 410 }, - { "EXPLAIN", "PG_QUERY__TOKEN__EXPLAIN", 411 }, - { "EXPRESSION", "PG_QUERY__TOKEN__EXPRESSION", 412 }, - { "EXTENSION", "PG_QUERY__TOKEN__EXTENSION", 413 }, - { "EXTERNAL", "PG_QUERY__TOKEN__EXTERNAL", 414 }, - { "EXTRACT", "PG_QUERY__TOKEN__EXTRACT", 415 }, - { "FALSE_P", "PG_QUERY__TOKEN__FALSE_P", 416 }, - { "FAMILY", "PG_QUERY__TOKEN__FAMILY", 417 }, - { "FETCH", "PG_QUERY__TOKEN__FETCH", 418 }, - { "FILTER", "PG_QUERY__TOKEN__FILTER", 419 }, - { "FINALIZE", "PG_QUERY__TOKEN__FINALIZE", 420 }, - { "FIRST_P", "PG_QUERY__TOKEN__FIRST_P", 421 }, - { "FLOAT_P", "PG_QUERY__TOKEN__FLOAT_P", 422 }, - { "FOLLOWING", "PG_QUERY__TOKEN__FOLLOWING", 423 }, - { "FOR", "PG_QUERY__TOKEN__FOR", 424 }, - { "FORCE", "PG_QUERY__TOKEN__FORCE", 425 }, - { "FOREIGN", "PG_QUERY__TOKEN__FOREIGN", 426 }, - { "FORWARD", "PG_QUERY__TOKEN__FORWARD", 427 }, - { "FREEZE", "PG_QUERY__TOKEN__FREEZE", 428 }, - { "FROM", "PG_QUERY__TOKEN__FROM", 429 }, - { "FULL", "PG_QUERY__TOKEN__FULL", 430 }, - { "FUNCTION", "PG_QUERY__TOKEN__FUNCTION", 431 }, - { "FUNCTIONS", "PG_QUERY__TOKEN__FUNCTIONS", 432 }, - { "GENERATED", "PG_QUERY__TOKEN__GENERATED", 433 }, - { "GLOBAL", "PG_QUERY__TOKEN__GLOBAL", 434 }, - { "GRANT", "PG_QUERY__TOKEN__GRANT", 435 }, - { "GRANTED", "PG_QUERY__TOKEN__GRANTED", 436 }, - { "GREATEST", "PG_QUERY__TOKEN__GREATEST", 437 }, - { "GROUP_P", "PG_QUERY__TOKEN__GROUP_P", 438 }, - { "GROUPING", "PG_QUERY__TOKEN__GROUPING", 439 }, - { "GROUPS", "PG_QUERY__TOKEN__GROUPS", 440 }, - { "HANDLER", "PG_QUERY__TOKEN__HANDLER", 441 }, - { "HAVING", "PG_QUERY__TOKEN__HAVING", 442 }, - { "HEADER_P", "PG_QUERY__TOKEN__HEADER_P", 443 }, - { "HOLD", "PG_QUERY__TOKEN__HOLD", 444 }, - { "HOUR_P", "PG_QUERY__TOKEN__HOUR_P", 445 }, - { "IDENTITY_P", "PG_QUERY__TOKEN__IDENTITY_P", 446 }, - { "IF_P", "PG_QUERY__TOKEN__IF_P", 447 }, - { "ILIKE", "PG_QUERY__TOKEN__ILIKE", 448 }, - { "IMMEDIATE", "PG_QUERY__TOKEN__IMMEDIATE", 449 }, - { "IMMUTABLE", "PG_QUERY__TOKEN__IMMUTABLE", 450 }, - { "IMPLICIT_P", "PG_QUERY__TOKEN__IMPLICIT_P", 451 }, - { "IMPORT_P", "PG_QUERY__TOKEN__IMPORT_P", 452 }, - { "IN_P", "PG_QUERY__TOKEN__IN_P", 453 }, - { "INCLUDE", "PG_QUERY__TOKEN__INCLUDE", 454 }, - { "INCLUDING", "PG_QUERY__TOKEN__INCLUDING", 455 }, - { "INCREMENT", "PG_QUERY__TOKEN__INCREMENT", 456 }, - { "INDEX", "PG_QUERY__TOKEN__INDEX", 457 }, - { "INDEXES", "PG_QUERY__TOKEN__INDEXES", 458 }, - { "INHERIT", "PG_QUERY__TOKEN__INHERIT", 459 }, - { "INHERITS", "PG_QUERY__TOKEN__INHERITS", 460 }, - { "INITIALLY", "PG_QUERY__TOKEN__INITIALLY", 461 }, - { "INLINE_P", "PG_QUERY__TOKEN__INLINE_P", 462 }, - { "INNER_P", "PG_QUERY__TOKEN__INNER_P", 463 }, - { "INOUT", "PG_QUERY__TOKEN__INOUT", 464 }, - { "INPUT_P", "PG_QUERY__TOKEN__INPUT_P", 465 }, - { "INSENSITIVE", "PG_QUERY__TOKEN__INSENSITIVE", 466 }, - { "INSERT", "PG_QUERY__TOKEN__INSERT", 467 }, - { "INSTEAD", "PG_QUERY__TOKEN__INSTEAD", 468 }, - { "INT_P", "PG_QUERY__TOKEN__INT_P", 469 }, - { "INTEGER", "PG_QUERY__TOKEN__INTEGER", 470 }, - { "INTERSECT", "PG_QUERY__TOKEN__INTERSECT", 471 }, - { "INTERVAL", "PG_QUERY__TOKEN__INTERVAL", 472 }, - { "INTO", "PG_QUERY__TOKEN__INTO", 473 }, - { "INVOKER", "PG_QUERY__TOKEN__INVOKER", 474 }, - { "IS", "PG_QUERY__TOKEN__IS", 475 }, - { "ISNULL", "PG_QUERY__TOKEN__ISNULL", 476 }, - { "ISOLATION", "PG_QUERY__TOKEN__ISOLATION", 477 }, - { "JOIN", "PG_QUERY__TOKEN__JOIN", 478 }, - { "KEY", "PG_QUERY__TOKEN__KEY", 479 }, - { "LABEL", "PG_QUERY__TOKEN__LABEL", 480 }, - { "LANGUAGE", "PG_QUERY__TOKEN__LANGUAGE", 481 }, - { "LARGE_P", "PG_QUERY__TOKEN__LARGE_P", 482 }, - { "LAST_P", "PG_QUERY__TOKEN__LAST_P", 483 }, - { "LATERAL_P", "PG_QUERY__TOKEN__LATERAL_P", 484 }, - { "LEADING", "PG_QUERY__TOKEN__LEADING", 485 }, - { "LEAKPROOF", "PG_QUERY__TOKEN__LEAKPROOF", 486 }, - { "LEAST", "PG_QUERY__TOKEN__LEAST", 487 }, - { "LEFT", "PG_QUERY__TOKEN__LEFT", 488 }, - { "LEVEL", "PG_QUERY__TOKEN__LEVEL", 489 }, - { "LIKE", "PG_QUERY__TOKEN__LIKE", 490 }, - { "LIMIT", "PG_QUERY__TOKEN__LIMIT", 491 }, - { "LISTEN", "PG_QUERY__TOKEN__LISTEN", 492 }, - { "LOAD", "PG_QUERY__TOKEN__LOAD", 493 }, - { "LOCAL", "PG_QUERY__TOKEN__LOCAL", 494 }, - { "LOCALTIME", "PG_QUERY__TOKEN__LOCALTIME", 495 }, - { "LOCALTIMESTAMP", "PG_QUERY__TOKEN__LOCALTIMESTAMP", 496 }, - { "LOCATION", "PG_QUERY__TOKEN__LOCATION", 497 }, - { "LOCK_P", "PG_QUERY__TOKEN__LOCK_P", 498 }, - { "LOCKED", "PG_QUERY__TOKEN__LOCKED", 499 }, - { "LOGGED", "PG_QUERY__TOKEN__LOGGED", 500 }, - { "MAPPING", "PG_QUERY__TOKEN__MAPPING", 501 }, - { "MATCH", "PG_QUERY__TOKEN__MATCH", 502 }, - { "MATCHED", "PG_QUERY__TOKEN__MATCHED", 503 }, - { "MATERIALIZED", "PG_QUERY__TOKEN__MATERIALIZED", 504 }, - { "MAXVALUE", "PG_QUERY__TOKEN__MAXVALUE", 505 }, - { "MERGE", "PG_QUERY__TOKEN__MERGE", 506 }, - { "METHOD", "PG_QUERY__TOKEN__METHOD", 507 }, - { "MINUTE_P", "PG_QUERY__TOKEN__MINUTE_P", 508 }, - { "MINVALUE", "PG_QUERY__TOKEN__MINVALUE", 509 }, - { "MODE", "PG_QUERY__TOKEN__MODE", 510 }, - { "MONTH_P", "PG_QUERY__TOKEN__MONTH_P", 511 }, - { "MOVE", "PG_QUERY__TOKEN__MOVE", 512 }, - { "NAME_P", "PG_QUERY__TOKEN__NAME_P", 513 }, - { "NAMES", "PG_QUERY__TOKEN__NAMES", 514 }, - { "NATIONAL", "PG_QUERY__TOKEN__NATIONAL", 515 }, - { "NATURAL", "PG_QUERY__TOKEN__NATURAL", 516 }, - { "NCHAR", "PG_QUERY__TOKEN__NCHAR", 517 }, - { "NEW", "PG_QUERY__TOKEN__NEW", 518 }, - { "NEXT", "PG_QUERY__TOKEN__NEXT", 519 }, - { "NFC", "PG_QUERY__TOKEN__NFC", 520 }, - { "NFD", "PG_QUERY__TOKEN__NFD", 521 }, - { "NFKC", "PG_QUERY__TOKEN__NFKC", 522 }, - { "NFKD", "PG_QUERY__TOKEN__NFKD", 523 }, - { "NO", "PG_QUERY__TOKEN__NO", 524 }, - { "NONE", "PG_QUERY__TOKEN__NONE", 525 }, - { "NORMALIZE", "PG_QUERY__TOKEN__NORMALIZE", 526 }, - { "NORMALIZED", "PG_QUERY__TOKEN__NORMALIZED", 527 }, - { "NOT", "PG_QUERY__TOKEN__NOT", 528 }, - { "NOTHING", "PG_QUERY__TOKEN__NOTHING", 529 }, - { "NOTIFY", "PG_QUERY__TOKEN__NOTIFY", 530 }, - { "NOTNULL", "PG_QUERY__TOKEN__NOTNULL", 531 }, - { "NOWAIT", "PG_QUERY__TOKEN__NOWAIT", 532 }, - { "NULL_P", "PG_QUERY__TOKEN__NULL_P", 533 }, - { "NULLIF", "PG_QUERY__TOKEN__NULLIF", 534 }, - { "NULLS_P", "PG_QUERY__TOKEN__NULLS_P", 535 }, - { "NUMERIC", "PG_QUERY__TOKEN__NUMERIC", 536 }, - { "OBJECT_P", "PG_QUERY__TOKEN__OBJECT_P", 537 }, - { "OF", "PG_QUERY__TOKEN__OF", 538 }, - { "OFF", "PG_QUERY__TOKEN__OFF", 539 }, - { "OFFSET", "PG_QUERY__TOKEN__OFFSET", 540 }, - { "OIDS", "PG_QUERY__TOKEN__OIDS", 541 }, - { "OLD", "PG_QUERY__TOKEN__OLD", 542 }, - { "ON", "PG_QUERY__TOKEN__ON", 543 }, - { "ONLY", "PG_QUERY__TOKEN__ONLY", 544 }, - { "OPERATOR", "PG_QUERY__TOKEN__OPERATOR", 545 }, - { "OPTION", "PG_QUERY__TOKEN__OPTION", 546 }, - { "OPTIONS", "PG_QUERY__TOKEN__OPTIONS", 547 }, - { "OR", "PG_QUERY__TOKEN__OR", 548 }, - { "ORDER", "PG_QUERY__TOKEN__ORDER", 549 }, - { "ORDINALITY", "PG_QUERY__TOKEN__ORDINALITY", 550 }, - { "OTHERS", "PG_QUERY__TOKEN__OTHERS", 551 }, - { "OUT_P", "PG_QUERY__TOKEN__OUT_P", 552 }, - { "OUTER_P", "PG_QUERY__TOKEN__OUTER_P", 553 }, - { "OVER", "PG_QUERY__TOKEN__OVER", 554 }, - { "OVERLAPS", "PG_QUERY__TOKEN__OVERLAPS", 555 }, - { "OVERLAY", "PG_QUERY__TOKEN__OVERLAY", 556 }, - { "OVERRIDING", "PG_QUERY__TOKEN__OVERRIDING", 557 }, - { "OWNED", "PG_QUERY__TOKEN__OWNED", 558 }, - { "OWNER", "PG_QUERY__TOKEN__OWNER", 559 }, - { "PARALLEL", "PG_QUERY__TOKEN__PARALLEL", 560 }, - { "PARAMETER", "PG_QUERY__TOKEN__PARAMETER", 561 }, - { "PARSER", "PG_QUERY__TOKEN__PARSER", 562 }, - { "PARTIAL", "PG_QUERY__TOKEN__PARTIAL", 563 }, - { "PARTITION", "PG_QUERY__TOKEN__PARTITION", 564 }, - { "PASSING", "PG_QUERY__TOKEN__PASSING", 565 }, - { "PASSWORD", "PG_QUERY__TOKEN__PASSWORD", 566 }, - { "PLACING", "PG_QUERY__TOKEN__PLACING", 567 }, - { "PLANS", "PG_QUERY__TOKEN__PLANS", 568 }, - { "POLICY", "PG_QUERY__TOKEN__POLICY", 569 }, - { "POSITION", "PG_QUERY__TOKEN__POSITION", 570 }, - { "PRECEDING", "PG_QUERY__TOKEN__PRECEDING", 571 }, - { "PRECISION", "PG_QUERY__TOKEN__PRECISION", 572 }, - { "PRESERVE", "PG_QUERY__TOKEN__PRESERVE", 573 }, - { "PREPARE", "PG_QUERY__TOKEN__PREPARE", 574 }, - { "PREPARED", "PG_QUERY__TOKEN__PREPARED", 575 }, - { "PRIMARY", "PG_QUERY__TOKEN__PRIMARY", 576 }, - { "PRIOR", "PG_QUERY__TOKEN__PRIOR", 577 }, - { "PRIVILEGES", "PG_QUERY__TOKEN__PRIVILEGES", 578 }, - { "PROCEDURAL", "PG_QUERY__TOKEN__PROCEDURAL", 579 }, - { "PROCEDURE", "PG_QUERY__TOKEN__PROCEDURE", 580 }, - { "PROCEDURES", "PG_QUERY__TOKEN__PROCEDURES", 581 }, - { "PROGRAM", "PG_QUERY__TOKEN__PROGRAM", 582 }, - { "PUBLICATION", "PG_QUERY__TOKEN__PUBLICATION", 583 }, - { "QUOTE", "PG_QUERY__TOKEN__QUOTE", 584 }, - { "RANGE", "PG_QUERY__TOKEN__RANGE", 585 }, - { "READ", "PG_QUERY__TOKEN__READ", 586 }, - { "REAL", "PG_QUERY__TOKEN__REAL", 587 }, - { "REASSIGN", "PG_QUERY__TOKEN__REASSIGN", 588 }, - { "RECHECK", "PG_QUERY__TOKEN__RECHECK", 589 }, - { "RECURSIVE", "PG_QUERY__TOKEN__RECURSIVE", 590 }, - { "REF_P", "PG_QUERY__TOKEN__REF_P", 591 }, - { "REFERENCES", "PG_QUERY__TOKEN__REFERENCES", 592 }, - { "REFERENCING", "PG_QUERY__TOKEN__REFERENCING", 593 }, - { "REFRESH", "PG_QUERY__TOKEN__REFRESH", 594 }, - { "REINDEX", "PG_QUERY__TOKEN__REINDEX", 595 }, - { "RELATIVE_P", "PG_QUERY__TOKEN__RELATIVE_P", 596 }, - { "RELEASE", "PG_QUERY__TOKEN__RELEASE", 597 }, - { "RENAME", "PG_QUERY__TOKEN__RENAME", 598 }, - { "REPEATABLE", "PG_QUERY__TOKEN__REPEATABLE", 599 }, - { "REPLACE", "PG_QUERY__TOKEN__REPLACE", 600 }, - { "REPLICA", "PG_QUERY__TOKEN__REPLICA", 601 }, - { "RESET", "PG_QUERY__TOKEN__RESET", 602 }, - { "RESTART", "PG_QUERY__TOKEN__RESTART", 603 }, - { "RESTRICT", "PG_QUERY__TOKEN__RESTRICT", 604 }, - { "RETURN", "PG_QUERY__TOKEN__RETURN", 605 }, - { "RETURNING", "PG_QUERY__TOKEN__RETURNING", 606 }, - { "RETURNS", "PG_QUERY__TOKEN__RETURNS", 607 }, - { "REVOKE", "PG_QUERY__TOKEN__REVOKE", 608 }, - { "RIGHT", "PG_QUERY__TOKEN__RIGHT", 609 }, - { "ROLE", "PG_QUERY__TOKEN__ROLE", 610 }, - { "ROLLBACK", "PG_QUERY__TOKEN__ROLLBACK", 611 }, - { "ROLLUP", "PG_QUERY__TOKEN__ROLLUP", 612 }, - { "ROUTINE", "PG_QUERY__TOKEN__ROUTINE", 613 }, - { "ROUTINES", "PG_QUERY__TOKEN__ROUTINES", 614 }, - { "ROW", "PG_QUERY__TOKEN__ROW", 615 }, - { "ROWS", "PG_QUERY__TOKEN__ROWS", 616 }, - { "RULE", "PG_QUERY__TOKEN__RULE", 617 }, - { "SAVEPOINT", "PG_QUERY__TOKEN__SAVEPOINT", 618 }, - { "SCHEMA", "PG_QUERY__TOKEN__SCHEMA", 619 }, - { "SCHEMAS", "PG_QUERY__TOKEN__SCHEMAS", 620 }, - { "SCROLL", "PG_QUERY__TOKEN__SCROLL", 621 }, - { "SEARCH", "PG_QUERY__TOKEN__SEARCH", 622 }, - { "SECOND_P", "PG_QUERY__TOKEN__SECOND_P", 623 }, - { "SECURITY", "PG_QUERY__TOKEN__SECURITY", 624 }, - { "SELECT", "PG_QUERY__TOKEN__SELECT", 625 }, - { "SEQUENCE", "PG_QUERY__TOKEN__SEQUENCE", 626 }, - { "SEQUENCES", "PG_QUERY__TOKEN__SEQUENCES", 627 }, - { "SERIALIZABLE", "PG_QUERY__TOKEN__SERIALIZABLE", 628 }, - { "SERVER", "PG_QUERY__TOKEN__SERVER", 629 }, - { "SESSION", "PG_QUERY__TOKEN__SESSION", 630 }, - { "SESSION_USER", "PG_QUERY__TOKEN__SESSION_USER", 631 }, - { "SET", "PG_QUERY__TOKEN__SET", 632 }, - { "SETS", "PG_QUERY__TOKEN__SETS", 633 }, - { "SETOF", "PG_QUERY__TOKEN__SETOF", 634 }, - { "SHARE", "PG_QUERY__TOKEN__SHARE", 635 }, - { "SHOW", "PG_QUERY__TOKEN__SHOW", 636 }, - { "SIMILAR", "PG_QUERY__TOKEN__SIMILAR", 637 }, - { "SIMPLE", "PG_QUERY__TOKEN__SIMPLE", 638 }, - { "SKIP", "PG_QUERY__TOKEN__SKIP", 639 }, - { "SMALLINT", "PG_QUERY__TOKEN__SMALLINT", 640 }, - { "SNAPSHOT", "PG_QUERY__TOKEN__SNAPSHOT", 641 }, - { "SOME", "PG_QUERY__TOKEN__SOME", 642 }, - { "SQL_P", "PG_QUERY__TOKEN__SQL_P", 643 }, - { "STABLE", "PG_QUERY__TOKEN__STABLE", 644 }, - { "STANDALONE_P", "PG_QUERY__TOKEN__STANDALONE_P", 645 }, - { "START", "PG_QUERY__TOKEN__START", 646 }, - { "STATEMENT", "PG_QUERY__TOKEN__STATEMENT", 647 }, - { "STATISTICS", "PG_QUERY__TOKEN__STATISTICS", 648 }, - { "STDIN", "PG_QUERY__TOKEN__STDIN", 649 }, - { "STDOUT", "PG_QUERY__TOKEN__STDOUT", 650 }, - { "STORAGE", "PG_QUERY__TOKEN__STORAGE", 651 }, - { "STORED", "PG_QUERY__TOKEN__STORED", 652 }, - { "STRICT_P", "PG_QUERY__TOKEN__STRICT_P", 653 }, - { "STRIP_P", "PG_QUERY__TOKEN__STRIP_P", 654 }, - { "SUBSCRIPTION", "PG_QUERY__TOKEN__SUBSCRIPTION", 655 }, - { "SUBSTRING", "PG_QUERY__TOKEN__SUBSTRING", 656 }, - { "SUPPORT", "PG_QUERY__TOKEN__SUPPORT", 657 }, - { "SYMMETRIC", "PG_QUERY__TOKEN__SYMMETRIC", 658 }, - { "SYSID", "PG_QUERY__TOKEN__SYSID", 659 }, - { "SYSTEM_P", "PG_QUERY__TOKEN__SYSTEM_P", 660 }, - { "TABLE", "PG_QUERY__TOKEN__TABLE", 661 }, - { "TABLES", "PG_QUERY__TOKEN__TABLES", 662 }, - { "TABLESAMPLE", "PG_QUERY__TOKEN__TABLESAMPLE", 663 }, - { "TABLESPACE", "PG_QUERY__TOKEN__TABLESPACE", 664 }, - { "TEMP", "PG_QUERY__TOKEN__TEMP", 665 }, - { "TEMPLATE", "PG_QUERY__TOKEN__TEMPLATE", 666 }, - { "TEMPORARY", "PG_QUERY__TOKEN__TEMPORARY", 667 }, - { "TEXT_P", "PG_QUERY__TOKEN__TEXT_P", 668 }, - { "THEN", "PG_QUERY__TOKEN__THEN", 669 }, - { "TIES", "PG_QUERY__TOKEN__TIES", 670 }, - { "TIME", "PG_QUERY__TOKEN__TIME", 671 }, - { "TIMESTAMP", "PG_QUERY__TOKEN__TIMESTAMP", 672 }, - { "TO", "PG_QUERY__TOKEN__TO", 673 }, - { "TRAILING", "PG_QUERY__TOKEN__TRAILING", 674 }, - { "TRANSACTION", "PG_QUERY__TOKEN__TRANSACTION", 675 }, - { "TRANSFORM", "PG_QUERY__TOKEN__TRANSFORM", 676 }, - { "TREAT", "PG_QUERY__TOKEN__TREAT", 677 }, - { "TRIGGER", "PG_QUERY__TOKEN__TRIGGER", 678 }, - { "TRIM", "PG_QUERY__TOKEN__TRIM", 679 }, - { "TRUE_P", "PG_QUERY__TOKEN__TRUE_P", 680 }, - { "TRUNCATE", "PG_QUERY__TOKEN__TRUNCATE", 681 }, - { "TRUSTED", "PG_QUERY__TOKEN__TRUSTED", 682 }, - { "TYPE_P", "PG_QUERY__TOKEN__TYPE_P", 683 }, - { "TYPES_P", "PG_QUERY__TOKEN__TYPES_P", 684 }, - { "UESCAPE", "PG_QUERY__TOKEN__UESCAPE", 685 }, - { "UNBOUNDED", "PG_QUERY__TOKEN__UNBOUNDED", 686 }, - { "UNCOMMITTED", "PG_QUERY__TOKEN__UNCOMMITTED", 687 }, - { "UNENCRYPTED", "PG_QUERY__TOKEN__UNENCRYPTED", 688 }, - { "UNION", "PG_QUERY__TOKEN__UNION", 689 }, - { "UNIQUE", "PG_QUERY__TOKEN__UNIQUE", 690 }, - { "UNKNOWN", "PG_QUERY__TOKEN__UNKNOWN", 691 }, - { "UNLISTEN", "PG_QUERY__TOKEN__UNLISTEN", 692 }, - { "UNLOGGED", "PG_QUERY__TOKEN__UNLOGGED", 693 }, - { "UNTIL", "PG_QUERY__TOKEN__UNTIL", 694 }, - { "UPDATE", "PG_QUERY__TOKEN__UPDATE", 695 }, - { "USER", "PG_QUERY__TOKEN__USER", 696 }, - { "USING", "PG_QUERY__TOKEN__USING", 697 }, - { "VACUUM", "PG_QUERY__TOKEN__VACUUM", 698 }, - { "VALID", "PG_QUERY__TOKEN__VALID", 699 }, - { "VALIDATE", "PG_QUERY__TOKEN__VALIDATE", 700 }, - { "VALIDATOR", "PG_QUERY__TOKEN__VALIDATOR", 701 }, - { "VALUE_P", "PG_QUERY__TOKEN__VALUE_P", 702 }, - { "VALUES", "PG_QUERY__TOKEN__VALUES", 703 }, - { "VARCHAR", "PG_QUERY__TOKEN__VARCHAR", 704 }, - { "VARIADIC", "PG_QUERY__TOKEN__VARIADIC", 705 }, - { "VARYING", "PG_QUERY__TOKEN__VARYING", 706 }, - { "VERBOSE", "PG_QUERY__TOKEN__VERBOSE", 707 }, - { "VERSION_P", "PG_QUERY__TOKEN__VERSION_P", 708 }, - { "VIEW", "PG_QUERY__TOKEN__VIEW", 709 }, - { "VIEWS", "PG_QUERY__TOKEN__VIEWS", 710 }, - { "VOLATILE", "PG_QUERY__TOKEN__VOLATILE", 711 }, - { "WHEN", "PG_QUERY__TOKEN__WHEN", 712 }, - { "WHERE", "PG_QUERY__TOKEN__WHERE", 713 }, - { "WHITESPACE_P", "PG_QUERY__TOKEN__WHITESPACE_P", 714 }, - { "WINDOW", "PG_QUERY__TOKEN__WINDOW", 715 }, - { "WITH", "PG_QUERY__TOKEN__WITH", 716 }, - { "WITHIN", "PG_QUERY__TOKEN__WITHIN", 717 }, - { "WITHOUT", "PG_QUERY__TOKEN__WITHOUT", 718 }, - { "WORK", "PG_QUERY__TOKEN__WORK", 719 }, - { "WRAPPER", "PG_QUERY__TOKEN__WRAPPER", 720 }, - { "WRITE", "PG_QUERY__TOKEN__WRITE", 721 }, - { "XML_P", "PG_QUERY__TOKEN__XML_P", 722 }, - { "XMLATTRIBUTES", "PG_QUERY__TOKEN__XMLATTRIBUTES", 723 }, - { "XMLCONCAT", "PG_QUERY__TOKEN__XMLCONCAT", 724 }, - { "XMLELEMENT", "PG_QUERY__TOKEN__XMLELEMENT", 725 }, - { "XMLEXISTS", "PG_QUERY__TOKEN__XMLEXISTS", 726 }, - { "XMLFOREST", "PG_QUERY__TOKEN__XMLFOREST", 727 }, - { "XMLNAMESPACES", "PG_QUERY__TOKEN__XMLNAMESPACES", 728 }, - { "XMLPARSE", "PG_QUERY__TOKEN__XMLPARSE", 729 }, - { "XMLPI", "PG_QUERY__TOKEN__XMLPI", 730 }, - { "XMLROOT", "PG_QUERY__TOKEN__XMLROOT", 731 }, - { "XMLSERIALIZE", "PG_QUERY__TOKEN__XMLSERIALIZE", 732 }, - { "XMLTABLE", "PG_QUERY__TOKEN__XMLTABLE", 733 }, - { "YEAR_P", "PG_QUERY__TOKEN__YEAR_P", 734 }, - { "YES_P", "PG_QUERY__TOKEN__YES_P", 735 }, - { "ZONE", "PG_QUERY__TOKEN__ZONE", 736 }, - { "NOT_LA", "PG_QUERY__TOKEN__NOT_LA", 737 }, - { "NULLS_LA", "PG_QUERY__TOKEN__NULLS_LA", 738 }, - { "WITH_LA", "PG_QUERY__TOKEN__WITH_LA", 739 }, - { "MODE_TYPE_NAME", "PG_QUERY__TOKEN__MODE_TYPE_NAME", 740 }, - { "MODE_PLPGSQL_EXPR", "PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR", 741 }, - { "MODE_PLPGSQL_ASSIGN1", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1", 742 }, - { "MODE_PLPGSQL_ASSIGN2", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2", 743 }, - { "MODE_PLPGSQL_ASSIGN3", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3", 744 }, - { "UMINUS", "PG_QUERY__TOKEN__UMINUS", 745 }, + { "ABSENT", "PG_QUERY__TOKEN__ABSENT", 278 }, + { "ABSOLUTE_P", "PG_QUERY__TOKEN__ABSOLUTE_P", 279 }, + { "ACCESS", "PG_QUERY__TOKEN__ACCESS", 280 }, + { "ACTION", "PG_QUERY__TOKEN__ACTION", 281 }, + { "ADD_P", "PG_QUERY__TOKEN__ADD_P", 282 }, + { "ADMIN", "PG_QUERY__TOKEN__ADMIN", 283 }, + { "AFTER", "PG_QUERY__TOKEN__AFTER", 284 }, + { "AGGREGATE", "PG_QUERY__TOKEN__AGGREGATE", 285 }, + { "ALL", "PG_QUERY__TOKEN__ALL", 286 }, + { "ALSO", "PG_QUERY__TOKEN__ALSO", 287 }, + { "ALTER", "PG_QUERY__TOKEN__ALTER", 288 }, + { "ALWAYS", "PG_QUERY__TOKEN__ALWAYS", 289 }, + { "ANALYSE", "PG_QUERY__TOKEN__ANALYSE", 290 }, + { "ANALYZE", "PG_QUERY__TOKEN__ANALYZE", 291 }, + { "AND", "PG_QUERY__TOKEN__AND", 292 }, + { "ANY", "PG_QUERY__TOKEN__ANY", 293 }, + { "ARRAY", "PG_QUERY__TOKEN__ARRAY", 294 }, + { "AS", "PG_QUERY__TOKEN__AS", 295 }, + { "ASC", "PG_QUERY__TOKEN__ASC", 296 }, + { "ASENSITIVE", "PG_QUERY__TOKEN__ASENSITIVE", 297 }, + { "ASSERTION", "PG_QUERY__TOKEN__ASSERTION", 298 }, + { "ASSIGNMENT", "PG_QUERY__TOKEN__ASSIGNMENT", 299 }, + { "ASYMMETRIC", "PG_QUERY__TOKEN__ASYMMETRIC", 300 }, + { "ATOMIC", "PG_QUERY__TOKEN__ATOMIC", 301 }, + { "AT", "PG_QUERY__TOKEN__AT", 302 }, + { "ATTACH", "PG_QUERY__TOKEN__ATTACH", 303 }, + { "ATTRIBUTE", "PG_QUERY__TOKEN__ATTRIBUTE", 304 }, + { "AUTHORIZATION", "PG_QUERY__TOKEN__AUTHORIZATION", 305 }, + { "BACKWARD", "PG_QUERY__TOKEN__BACKWARD", 306 }, + { "BEFORE", "PG_QUERY__TOKEN__BEFORE", 307 }, + { "BEGIN_P", "PG_QUERY__TOKEN__BEGIN_P", 308 }, + { "BETWEEN", "PG_QUERY__TOKEN__BETWEEN", 309 }, + { "BIGINT", "PG_QUERY__TOKEN__BIGINT", 310 }, + { "BINARY", "PG_QUERY__TOKEN__BINARY", 311 }, + { "BIT", "PG_QUERY__TOKEN__BIT", 312 }, + { "BOOLEAN_P", "PG_QUERY__TOKEN__BOOLEAN_P", 313 }, + { "BOTH", "PG_QUERY__TOKEN__BOTH", 314 }, + { "BREADTH", "PG_QUERY__TOKEN__BREADTH", 315 }, + { "BY", "PG_QUERY__TOKEN__BY", 316 }, + { "CACHE", "PG_QUERY__TOKEN__CACHE", 317 }, + { "CALL", "PG_QUERY__TOKEN__CALL", 318 }, + { "CALLED", "PG_QUERY__TOKEN__CALLED", 319 }, + { "CASCADE", "PG_QUERY__TOKEN__CASCADE", 320 }, + { "CASCADED", "PG_QUERY__TOKEN__CASCADED", 321 }, + { "CASE", "PG_QUERY__TOKEN__CASE", 322 }, + { "CAST", "PG_QUERY__TOKEN__CAST", 323 }, + { "CATALOG_P", "PG_QUERY__TOKEN__CATALOG_P", 324 }, + { "CHAIN", "PG_QUERY__TOKEN__CHAIN", 325 }, + { "CHAR_P", "PG_QUERY__TOKEN__CHAR_P", 326 }, + { "CHARACTER", "PG_QUERY__TOKEN__CHARACTER", 327 }, + { "CHARACTERISTICS", "PG_QUERY__TOKEN__CHARACTERISTICS", 328 }, + { "CHECK", "PG_QUERY__TOKEN__CHECK", 329 }, + { "CHECKPOINT", "PG_QUERY__TOKEN__CHECKPOINT", 330 }, + { "CLASS", "PG_QUERY__TOKEN__CLASS", 331 }, + { "CLOSE", "PG_QUERY__TOKEN__CLOSE", 332 }, + { "CLUSTER", "PG_QUERY__TOKEN__CLUSTER", 333 }, + { "COALESCE", "PG_QUERY__TOKEN__COALESCE", 334 }, + { "COLLATE", "PG_QUERY__TOKEN__COLLATE", 335 }, + { "COLLATION", "PG_QUERY__TOKEN__COLLATION", 336 }, + { "COLUMN", "PG_QUERY__TOKEN__COLUMN", 337 }, + { "COLUMNS", "PG_QUERY__TOKEN__COLUMNS", 338 }, + { "COMMENT", "PG_QUERY__TOKEN__COMMENT", 339 }, + { "COMMENTS", "PG_QUERY__TOKEN__COMMENTS", 340 }, + { "COMMIT", "PG_QUERY__TOKEN__COMMIT", 341 }, + { "COMMITTED", "PG_QUERY__TOKEN__COMMITTED", 342 }, + { "COMPRESSION", "PG_QUERY__TOKEN__COMPRESSION", 343 }, + { "CONCURRENTLY", "PG_QUERY__TOKEN__CONCURRENTLY", 344 }, + { "CONDITIONAL", "PG_QUERY__TOKEN__CONDITIONAL", 345 }, + { "CONFIGURATION", "PG_QUERY__TOKEN__CONFIGURATION", 346 }, + { "CONFLICT", "PG_QUERY__TOKEN__CONFLICT", 347 }, + { "CONNECTION", "PG_QUERY__TOKEN__CONNECTION", 348 }, + { "CONSTRAINT", "PG_QUERY__TOKEN__CONSTRAINT", 349 }, + { "CONSTRAINTS", "PG_QUERY__TOKEN__CONSTRAINTS", 350 }, + { "CONTENT_P", "PG_QUERY__TOKEN__CONTENT_P", 351 }, + { "CONTINUE_P", "PG_QUERY__TOKEN__CONTINUE_P", 352 }, + { "CONVERSION_P", "PG_QUERY__TOKEN__CONVERSION_P", 353 }, + { "COPY", "PG_QUERY__TOKEN__COPY", 354 }, + { "COST", "PG_QUERY__TOKEN__COST", 355 }, + { "CREATE", "PG_QUERY__TOKEN__CREATE", 356 }, + { "CROSS", "PG_QUERY__TOKEN__CROSS", 357 }, + { "CSV", "PG_QUERY__TOKEN__CSV", 358 }, + { "CUBE", "PG_QUERY__TOKEN__CUBE", 359 }, + { "CURRENT_P", "PG_QUERY__TOKEN__CURRENT_P", 360 }, + { "CURRENT_CATALOG", "PG_QUERY__TOKEN__CURRENT_CATALOG", 361 }, + { "CURRENT_DATE", "PG_QUERY__TOKEN__CURRENT_DATE", 362 }, + { "CURRENT_ROLE", "PG_QUERY__TOKEN__CURRENT_ROLE", 363 }, + { "CURRENT_SCHEMA", "PG_QUERY__TOKEN__CURRENT_SCHEMA", 364 }, + { "CURRENT_TIME", "PG_QUERY__TOKEN__CURRENT_TIME", 365 }, + { "CURRENT_TIMESTAMP", "PG_QUERY__TOKEN__CURRENT_TIMESTAMP", 366 }, + { "CURRENT_USER", "PG_QUERY__TOKEN__CURRENT_USER", 367 }, + { "CURSOR", "PG_QUERY__TOKEN__CURSOR", 368 }, + { "CYCLE", "PG_QUERY__TOKEN__CYCLE", 369 }, + { "DATA_P", "PG_QUERY__TOKEN__DATA_P", 370 }, + { "DATABASE", "PG_QUERY__TOKEN__DATABASE", 371 }, + { "DAY_P", "PG_QUERY__TOKEN__DAY_P", 372 }, + { "DEALLOCATE", "PG_QUERY__TOKEN__DEALLOCATE", 373 }, + { "DEC", "PG_QUERY__TOKEN__DEC", 374 }, + { "DECIMAL_P", "PG_QUERY__TOKEN__DECIMAL_P", 375 }, + { "DECLARE", "PG_QUERY__TOKEN__DECLARE", 376 }, + { "DEFAULT", "PG_QUERY__TOKEN__DEFAULT", 377 }, + { "DEFAULTS", "PG_QUERY__TOKEN__DEFAULTS", 378 }, + { "DEFERRABLE", "PG_QUERY__TOKEN__DEFERRABLE", 379 }, + { "DEFERRED", "PG_QUERY__TOKEN__DEFERRED", 380 }, + { "DEFINER", "PG_QUERY__TOKEN__DEFINER", 381 }, + { "DELETE_P", "PG_QUERY__TOKEN__DELETE_P", 382 }, + { "DELIMITER", "PG_QUERY__TOKEN__DELIMITER", 383 }, + { "DELIMITERS", "PG_QUERY__TOKEN__DELIMITERS", 384 }, + { "DEPENDS", "PG_QUERY__TOKEN__DEPENDS", 385 }, + { "DEPTH", "PG_QUERY__TOKEN__DEPTH", 386 }, + { "DESC", "PG_QUERY__TOKEN__DESC", 387 }, + { "DETACH", "PG_QUERY__TOKEN__DETACH", 388 }, + { "DICTIONARY", "PG_QUERY__TOKEN__DICTIONARY", 389 }, + { "DISABLE_P", "PG_QUERY__TOKEN__DISABLE_P", 390 }, + { "DISCARD", "PG_QUERY__TOKEN__DISCARD", 391 }, + { "DISTINCT", "PG_QUERY__TOKEN__DISTINCT", 392 }, + { "DO", "PG_QUERY__TOKEN__DO", 393 }, + { "DOCUMENT_P", "PG_QUERY__TOKEN__DOCUMENT_P", 394 }, + { "DOMAIN_P", "PG_QUERY__TOKEN__DOMAIN_P", 395 }, + { "DOUBLE_P", "PG_QUERY__TOKEN__DOUBLE_P", 396 }, + { "DROP", "PG_QUERY__TOKEN__DROP", 397 }, + { "EACH", "PG_QUERY__TOKEN__EACH", 398 }, + { "ELSE", "PG_QUERY__TOKEN__ELSE", 399 }, + { "EMPTY_P", "PG_QUERY__TOKEN__EMPTY_P", 400 }, + { "ENABLE_P", "PG_QUERY__TOKEN__ENABLE_P", 401 }, + { "ENCODING", "PG_QUERY__TOKEN__ENCODING", 402 }, + { "ENCRYPTED", "PG_QUERY__TOKEN__ENCRYPTED", 403 }, + { "END_P", "PG_QUERY__TOKEN__END_P", 404 }, + { "ENUM_P", "PG_QUERY__TOKEN__ENUM_P", 405 }, + { "ERROR_P", "PG_QUERY__TOKEN__ERROR_P", 406 }, + { "ESCAPE", "PG_QUERY__TOKEN__ESCAPE", 407 }, + { "EVENT", "PG_QUERY__TOKEN__EVENT", 408 }, + { "EXCEPT", "PG_QUERY__TOKEN__EXCEPT", 409 }, + { "EXCLUDE", "PG_QUERY__TOKEN__EXCLUDE", 410 }, + { "EXCLUDING", "PG_QUERY__TOKEN__EXCLUDING", 411 }, + { "EXCLUSIVE", "PG_QUERY__TOKEN__EXCLUSIVE", 412 }, + { "EXECUTE", "PG_QUERY__TOKEN__EXECUTE", 413 }, + { "EXISTS", "PG_QUERY__TOKEN__EXISTS", 414 }, + { "EXPLAIN", "PG_QUERY__TOKEN__EXPLAIN", 415 }, + { "EXPRESSION", "PG_QUERY__TOKEN__EXPRESSION", 416 }, + { "EXTENSION", "PG_QUERY__TOKEN__EXTENSION", 417 }, + { "EXTERNAL", "PG_QUERY__TOKEN__EXTERNAL", 418 }, + { "EXTRACT", "PG_QUERY__TOKEN__EXTRACT", 419 }, + { "FALSE_P", "PG_QUERY__TOKEN__FALSE_P", 420 }, + { "FAMILY", "PG_QUERY__TOKEN__FAMILY", 421 }, + { "FETCH", "PG_QUERY__TOKEN__FETCH", 422 }, + { "FILTER", "PG_QUERY__TOKEN__FILTER", 423 }, + { "FINALIZE", "PG_QUERY__TOKEN__FINALIZE", 424 }, + { "FIRST_P", "PG_QUERY__TOKEN__FIRST_P", 425 }, + { "FLOAT_P", "PG_QUERY__TOKEN__FLOAT_P", 426 }, + { "FOLLOWING", "PG_QUERY__TOKEN__FOLLOWING", 427 }, + { "FOR", "PG_QUERY__TOKEN__FOR", 428 }, + { "FORCE", "PG_QUERY__TOKEN__FORCE", 429 }, + { "FOREIGN", "PG_QUERY__TOKEN__FOREIGN", 430 }, + { "FORMAT", "PG_QUERY__TOKEN__FORMAT", 431 }, + { "FORWARD", "PG_QUERY__TOKEN__FORWARD", 432 }, + { "FREEZE", "PG_QUERY__TOKEN__FREEZE", 433 }, + { "FROM", "PG_QUERY__TOKEN__FROM", 434 }, + { "FULL", "PG_QUERY__TOKEN__FULL", 435 }, + { "FUNCTION", "PG_QUERY__TOKEN__FUNCTION", 436 }, + { "FUNCTIONS", "PG_QUERY__TOKEN__FUNCTIONS", 437 }, + { "GENERATED", "PG_QUERY__TOKEN__GENERATED", 438 }, + { "GLOBAL", "PG_QUERY__TOKEN__GLOBAL", 439 }, + { "GRANT", "PG_QUERY__TOKEN__GRANT", 440 }, + { "GRANTED", "PG_QUERY__TOKEN__GRANTED", 441 }, + { "GREATEST", "PG_QUERY__TOKEN__GREATEST", 442 }, + { "GROUP_P", "PG_QUERY__TOKEN__GROUP_P", 443 }, + { "GROUPING", "PG_QUERY__TOKEN__GROUPING", 444 }, + { "GROUPS", "PG_QUERY__TOKEN__GROUPS", 445 }, + { "HANDLER", "PG_QUERY__TOKEN__HANDLER", 446 }, + { "HAVING", "PG_QUERY__TOKEN__HAVING", 447 }, + { "HEADER_P", "PG_QUERY__TOKEN__HEADER_P", 448 }, + { "HOLD", "PG_QUERY__TOKEN__HOLD", 449 }, + { "HOUR_P", "PG_QUERY__TOKEN__HOUR_P", 450 }, + { "IDENTITY_P", "PG_QUERY__TOKEN__IDENTITY_P", 451 }, + { "IF_P", "PG_QUERY__TOKEN__IF_P", 452 }, + { "ILIKE", "PG_QUERY__TOKEN__ILIKE", 453 }, + { "IMMEDIATE", "PG_QUERY__TOKEN__IMMEDIATE", 454 }, + { "IMMUTABLE", "PG_QUERY__TOKEN__IMMUTABLE", 455 }, + { "IMPLICIT_P", "PG_QUERY__TOKEN__IMPLICIT_P", 456 }, + { "IMPORT_P", "PG_QUERY__TOKEN__IMPORT_P", 457 }, + { "IN_P", "PG_QUERY__TOKEN__IN_P", 458 }, + { "INCLUDE", "PG_QUERY__TOKEN__INCLUDE", 459 }, + { "INCLUDING", "PG_QUERY__TOKEN__INCLUDING", 460 }, + { "INCREMENT", "PG_QUERY__TOKEN__INCREMENT", 461 }, + { "INDENT", "PG_QUERY__TOKEN__INDENT", 462 }, + { "INDEX", "PG_QUERY__TOKEN__INDEX", 463 }, + { "INDEXES", "PG_QUERY__TOKEN__INDEXES", 464 }, + { "INHERIT", "PG_QUERY__TOKEN__INHERIT", 465 }, + { "INHERITS", "PG_QUERY__TOKEN__INHERITS", 466 }, + { "INITIALLY", "PG_QUERY__TOKEN__INITIALLY", 467 }, + { "INLINE_P", "PG_QUERY__TOKEN__INLINE_P", 468 }, + { "INNER_P", "PG_QUERY__TOKEN__INNER_P", 469 }, + { "INOUT", "PG_QUERY__TOKEN__INOUT", 470 }, + { "INPUT_P", "PG_QUERY__TOKEN__INPUT_P", 471 }, + { "INSENSITIVE", "PG_QUERY__TOKEN__INSENSITIVE", 472 }, + { "INSERT", "PG_QUERY__TOKEN__INSERT", 473 }, + { "INSTEAD", "PG_QUERY__TOKEN__INSTEAD", 474 }, + { "INT_P", "PG_QUERY__TOKEN__INT_P", 475 }, + { "INTEGER", "PG_QUERY__TOKEN__INTEGER", 476 }, + { "INTERSECT", "PG_QUERY__TOKEN__INTERSECT", 477 }, + { "INTERVAL", "PG_QUERY__TOKEN__INTERVAL", 478 }, + { "INTO", "PG_QUERY__TOKEN__INTO", 479 }, + { "INVOKER", "PG_QUERY__TOKEN__INVOKER", 480 }, + { "IS", "PG_QUERY__TOKEN__IS", 481 }, + { "ISNULL", "PG_QUERY__TOKEN__ISNULL", 482 }, + { "ISOLATION", "PG_QUERY__TOKEN__ISOLATION", 483 }, + { "JOIN", "PG_QUERY__TOKEN__JOIN", 484 }, + { "JSON", "PG_QUERY__TOKEN__JSON", 485 }, + { "JSON_ARRAY", "PG_QUERY__TOKEN__JSON_ARRAY", 486 }, + { "JSON_ARRAYAGG", "PG_QUERY__TOKEN__JSON_ARRAYAGG", 487 }, + { "JSON_EXISTS", "PG_QUERY__TOKEN__JSON_EXISTS", 488 }, + { "JSON_OBJECT", "PG_QUERY__TOKEN__JSON_OBJECT", 489 }, + { "JSON_OBJECTAGG", "PG_QUERY__TOKEN__JSON_OBJECTAGG", 490 }, + { "JSON_QUERY", "PG_QUERY__TOKEN__JSON_QUERY", 491 }, + { "JSON_SCALAR", "PG_QUERY__TOKEN__JSON_SCALAR", 492 }, + { "JSON_SERIALIZE", "PG_QUERY__TOKEN__JSON_SERIALIZE", 493 }, + { "JSON_TABLE", "PG_QUERY__TOKEN__JSON_TABLE", 494 }, + { "JSON_VALUE", "PG_QUERY__TOKEN__JSON_VALUE", 495 }, + { "KEEP", "PG_QUERY__TOKEN__KEEP", 496 }, + { "KEY", "PG_QUERY__TOKEN__KEY", 497 }, + { "KEYS", "PG_QUERY__TOKEN__KEYS", 498 }, + { "LABEL", "PG_QUERY__TOKEN__LABEL", 499 }, + { "LANGUAGE", "PG_QUERY__TOKEN__LANGUAGE", 500 }, + { "LARGE_P", "PG_QUERY__TOKEN__LARGE_P", 501 }, + { "LAST_P", "PG_QUERY__TOKEN__LAST_P", 502 }, + { "LATERAL_P", "PG_QUERY__TOKEN__LATERAL_P", 503 }, + { "LEADING", "PG_QUERY__TOKEN__LEADING", 504 }, + { "LEAKPROOF", "PG_QUERY__TOKEN__LEAKPROOF", 505 }, + { "LEAST", "PG_QUERY__TOKEN__LEAST", 506 }, + { "LEFT", "PG_QUERY__TOKEN__LEFT", 507 }, + { "LEVEL", "PG_QUERY__TOKEN__LEVEL", 508 }, + { "LIKE", "PG_QUERY__TOKEN__LIKE", 509 }, + { "LIMIT", "PG_QUERY__TOKEN__LIMIT", 510 }, + { "LISTEN", "PG_QUERY__TOKEN__LISTEN", 511 }, + { "LOAD", "PG_QUERY__TOKEN__LOAD", 512 }, + { "LOCAL", "PG_QUERY__TOKEN__LOCAL", 513 }, + { "LOCALTIME", "PG_QUERY__TOKEN__LOCALTIME", 514 }, + { "LOCALTIMESTAMP", "PG_QUERY__TOKEN__LOCALTIMESTAMP", 515 }, + { "LOCATION", "PG_QUERY__TOKEN__LOCATION", 516 }, + { "LOCK_P", "PG_QUERY__TOKEN__LOCK_P", 517 }, + { "LOCKED", "PG_QUERY__TOKEN__LOCKED", 518 }, + { "LOGGED", "PG_QUERY__TOKEN__LOGGED", 519 }, + { "MAPPING", "PG_QUERY__TOKEN__MAPPING", 520 }, + { "MATCH", "PG_QUERY__TOKEN__MATCH", 521 }, + { "MATCHED", "PG_QUERY__TOKEN__MATCHED", 522 }, + { "MATERIALIZED", "PG_QUERY__TOKEN__MATERIALIZED", 523 }, + { "MAXVALUE", "PG_QUERY__TOKEN__MAXVALUE", 524 }, + { "MERGE", "PG_QUERY__TOKEN__MERGE", 525 }, + { "MERGE_ACTION", "PG_QUERY__TOKEN__MERGE_ACTION", 526 }, + { "METHOD", "PG_QUERY__TOKEN__METHOD", 527 }, + { "MINUTE_P", "PG_QUERY__TOKEN__MINUTE_P", 528 }, + { "MINVALUE", "PG_QUERY__TOKEN__MINVALUE", 529 }, + { "MODE", "PG_QUERY__TOKEN__MODE", 530 }, + { "MONTH_P", "PG_QUERY__TOKEN__MONTH_P", 531 }, + { "MOVE", "PG_QUERY__TOKEN__MOVE", 532 }, + { "NAME_P", "PG_QUERY__TOKEN__NAME_P", 533 }, + { "NAMES", "PG_QUERY__TOKEN__NAMES", 534 }, + { "NATIONAL", "PG_QUERY__TOKEN__NATIONAL", 535 }, + { "NATURAL", "PG_QUERY__TOKEN__NATURAL", 536 }, + { "NCHAR", "PG_QUERY__TOKEN__NCHAR", 537 }, + { "NESTED", "PG_QUERY__TOKEN__NESTED", 538 }, + { "NEW", "PG_QUERY__TOKEN__NEW", 539 }, + { "NEXT", "PG_QUERY__TOKEN__NEXT", 540 }, + { "NFC", "PG_QUERY__TOKEN__NFC", 541 }, + { "NFD", "PG_QUERY__TOKEN__NFD", 542 }, + { "NFKC", "PG_QUERY__TOKEN__NFKC", 543 }, + { "NFKD", "PG_QUERY__TOKEN__NFKD", 544 }, + { "NO", "PG_QUERY__TOKEN__NO", 545 }, + { "NONE", "PG_QUERY__TOKEN__NONE", 546 }, + { "NORMALIZE", "PG_QUERY__TOKEN__NORMALIZE", 547 }, + { "NORMALIZED", "PG_QUERY__TOKEN__NORMALIZED", 548 }, + { "NOT", "PG_QUERY__TOKEN__NOT", 549 }, + { "NOTHING", "PG_QUERY__TOKEN__NOTHING", 550 }, + { "NOTIFY", "PG_QUERY__TOKEN__NOTIFY", 551 }, + { "NOTNULL", "PG_QUERY__TOKEN__NOTNULL", 552 }, + { "NOWAIT", "PG_QUERY__TOKEN__NOWAIT", 553 }, + { "NULL_P", "PG_QUERY__TOKEN__NULL_P", 554 }, + { "NULLIF", "PG_QUERY__TOKEN__NULLIF", 555 }, + { "NULLS_P", "PG_QUERY__TOKEN__NULLS_P", 556 }, + { "NUMERIC", "PG_QUERY__TOKEN__NUMERIC", 557 }, + { "OBJECT_P", "PG_QUERY__TOKEN__OBJECT_P", 558 }, + { "OF", "PG_QUERY__TOKEN__OF", 559 }, + { "OFF", "PG_QUERY__TOKEN__OFF", 560 }, + { "OFFSET", "PG_QUERY__TOKEN__OFFSET", 561 }, + { "OIDS", "PG_QUERY__TOKEN__OIDS", 562 }, + { "OLD", "PG_QUERY__TOKEN__OLD", 563 }, + { "OMIT", "PG_QUERY__TOKEN__OMIT", 564 }, + { "ON", "PG_QUERY__TOKEN__ON", 565 }, + { "ONLY", "PG_QUERY__TOKEN__ONLY", 566 }, + { "OPERATOR", "PG_QUERY__TOKEN__OPERATOR", 567 }, + { "OPTION", "PG_QUERY__TOKEN__OPTION", 568 }, + { "OPTIONS", "PG_QUERY__TOKEN__OPTIONS", 569 }, + { "OR", "PG_QUERY__TOKEN__OR", 570 }, + { "ORDER", "PG_QUERY__TOKEN__ORDER", 571 }, + { "ORDINALITY", "PG_QUERY__TOKEN__ORDINALITY", 572 }, + { "OTHERS", "PG_QUERY__TOKEN__OTHERS", 573 }, + { "OUT_P", "PG_QUERY__TOKEN__OUT_P", 574 }, + { "OUTER_P", "PG_QUERY__TOKEN__OUTER_P", 575 }, + { "OVER", "PG_QUERY__TOKEN__OVER", 576 }, + { "OVERLAPS", "PG_QUERY__TOKEN__OVERLAPS", 577 }, + { "OVERLAY", "PG_QUERY__TOKEN__OVERLAY", 578 }, + { "OVERRIDING", "PG_QUERY__TOKEN__OVERRIDING", 579 }, + { "OWNED", "PG_QUERY__TOKEN__OWNED", 580 }, + { "OWNER", "PG_QUERY__TOKEN__OWNER", 581 }, + { "PARALLEL", "PG_QUERY__TOKEN__PARALLEL", 582 }, + { "PARAMETER", "PG_QUERY__TOKEN__PARAMETER", 583 }, + { "PARSER", "PG_QUERY__TOKEN__PARSER", 584 }, + { "PARTIAL", "PG_QUERY__TOKEN__PARTIAL", 585 }, + { "PARTITION", "PG_QUERY__TOKEN__PARTITION", 586 }, + { "PASSING", "PG_QUERY__TOKEN__PASSING", 587 }, + { "PASSWORD", "PG_QUERY__TOKEN__PASSWORD", 588 }, + { "PATH", "PG_QUERY__TOKEN__PATH", 589 }, + { "PLACING", "PG_QUERY__TOKEN__PLACING", 590 }, + { "PLAN", "PG_QUERY__TOKEN__PLAN", 591 }, + { "PLANS", "PG_QUERY__TOKEN__PLANS", 592 }, + { "POLICY", "PG_QUERY__TOKEN__POLICY", 593 }, + { "POSITION", "PG_QUERY__TOKEN__POSITION", 594 }, + { "PRECEDING", "PG_QUERY__TOKEN__PRECEDING", 595 }, + { "PRECISION", "PG_QUERY__TOKEN__PRECISION", 596 }, + { "PRESERVE", "PG_QUERY__TOKEN__PRESERVE", 597 }, + { "PREPARE", "PG_QUERY__TOKEN__PREPARE", 598 }, + { "PREPARED", "PG_QUERY__TOKEN__PREPARED", 599 }, + { "PRIMARY", "PG_QUERY__TOKEN__PRIMARY", 600 }, + { "PRIOR", "PG_QUERY__TOKEN__PRIOR", 601 }, + { "PRIVILEGES", "PG_QUERY__TOKEN__PRIVILEGES", 602 }, + { "PROCEDURAL", "PG_QUERY__TOKEN__PROCEDURAL", 603 }, + { "PROCEDURE", "PG_QUERY__TOKEN__PROCEDURE", 604 }, + { "PROCEDURES", "PG_QUERY__TOKEN__PROCEDURES", 605 }, + { "PROGRAM", "PG_QUERY__TOKEN__PROGRAM", 606 }, + { "PUBLICATION", "PG_QUERY__TOKEN__PUBLICATION", 607 }, + { "QUOTE", "PG_QUERY__TOKEN__QUOTE", 608 }, + { "QUOTES", "PG_QUERY__TOKEN__QUOTES", 609 }, + { "RANGE", "PG_QUERY__TOKEN__RANGE", 610 }, + { "READ", "PG_QUERY__TOKEN__READ", 611 }, + { "REAL", "PG_QUERY__TOKEN__REAL", 612 }, + { "REASSIGN", "PG_QUERY__TOKEN__REASSIGN", 613 }, + { "RECHECK", "PG_QUERY__TOKEN__RECHECK", 614 }, + { "RECURSIVE", "PG_QUERY__TOKEN__RECURSIVE", 615 }, + { "REF_P", "PG_QUERY__TOKEN__REF_P", 616 }, + { "REFERENCES", "PG_QUERY__TOKEN__REFERENCES", 617 }, + { "REFERENCING", "PG_QUERY__TOKEN__REFERENCING", 618 }, + { "REFRESH", "PG_QUERY__TOKEN__REFRESH", 619 }, + { "REINDEX", "PG_QUERY__TOKEN__REINDEX", 620 }, + { "RELATIVE_P", "PG_QUERY__TOKEN__RELATIVE_P", 621 }, + { "RELEASE", "PG_QUERY__TOKEN__RELEASE", 622 }, + { "RENAME", "PG_QUERY__TOKEN__RENAME", 623 }, + { "REPEATABLE", "PG_QUERY__TOKEN__REPEATABLE", 624 }, + { "REPLACE", "PG_QUERY__TOKEN__REPLACE", 625 }, + { "REPLICA", "PG_QUERY__TOKEN__REPLICA", 626 }, + { "RESET", "PG_QUERY__TOKEN__RESET", 627 }, + { "RESTART", "PG_QUERY__TOKEN__RESTART", 628 }, + { "RESTRICT", "PG_QUERY__TOKEN__RESTRICT", 629 }, + { "RETURN", "PG_QUERY__TOKEN__RETURN", 630 }, + { "RETURNING", "PG_QUERY__TOKEN__RETURNING", 631 }, + { "RETURNS", "PG_QUERY__TOKEN__RETURNS", 632 }, + { "REVOKE", "PG_QUERY__TOKEN__REVOKE", 633 }, + { "RIGHT", "PG_QUERY__TOKEN__RIGHT", 634 }, + { "ROLE", "PG_QUERY__TOKEN__ROLE", 635 }, + { "ROLLBACK", "PG_QUERY__TOKEN__ROLLBACK", 636 }, + { "ROLLUP", "PG_QUERY__TOKEN__ROLLUP", 637 }, + { "ROUTINE", "PG_QUERY__TOKEN__ROUTINE", 638 }, + { "ROUTINES", "PG_QUERY__TOKEN__ROUTINES", 639 }, + { "ROW", "PG_QUERY__TOKEN__ROW", 640 }, + { "ROWS", "PG_QUERY__TOKEN__ROWS", 641 }, + { "RULE", "PG_QUERY__TOKEN__RULE", 642 }, + { "SAVEPOINT", "PG_QUERY__TOKEN__SAVEPOINT", 643 }, + { "SCALAR", "PG_QUERY__TOKEN__SCALAR", 644 }, + { "SCHEMA", "PG_QUERY__TOKEN__SCHEMA", 645 }, + { "SCHEMAS", "PG_QUERY__TOKEN__SCHEMAS", 646 }, + { "SCROLL", "PG_QUERY__TOKEN__SCROLL", 647 }, + { "SEARCH", "PG_QUERY__TOKEN__SEARCH", 648 }, + { "SECOND_P", "PG_QUERY__TOKEN__SECOND_P", 649 }, + { "SECURITY", "PG_QUERY__TOKEN__SECURITY", 650 }, + { "SELECT", "PG_QUERY__TOKEN__SELECT", 651 }, + { "SEQUENCE", "PG_QUERY__TOKEN__SEQUENCE", 652 }, + { "SEQUENCES", "PG_QUERY__TOKEN__SEQUENCES", 653 }, + { "SERIALIZABLE", "PG_QUERY__TOKEN__SERIALIZABLE", 654 }, + { "SERVER", "PG_QUERY__TOKEN__SERVER", 655 }, + { "SESSION", "PG_QUERY__TOKEN__SESSION", 656 }, + { "SESSION_USER", "PG_QUERY__TOKEN__SESSION_USER", 657 }, + { "SET", "PG_QUERY__TOKEN__SET", 658 }, + { "SETS", "PG_QUERY__TOKEN__SETS", 659 }, + { "SETOF", "PG_QUERY__TOKEN__SETOF", 660 }, + { "SHARE", "PG_QUERY__TOKEN__SHARE", 661 }, + { "SHOW", "PG_QUERY__TOKEN__SHOW", 662 }, + { "SIMILAR", "PG_QUERY__TOKEN__SIMILAR", 663 }, + { "SIMPLE", "PG_QUERY__TOKEN__SIMPLE", 664 }, + { "SKIP", "PG_QUERY__TOKEN__SKIP", 665 }, + { "SMALLINT", "PG_QUERY__TOKEN__SMALLINT", 666 }, + { "SNAPSHOT", "PG_QUERY__TOKEN__SNAPSHOT", 667 }, + { "SOME", "PG_QUERY__TOKEN__SOME", 668 }, + { "SOURCE", "PG_QUERY__TOKEN__SOURCE", 669 }, + { "SQL_P", "PG_QUERY__TOKEN__SQL_P", 670 }, + { "STABLE", "PG_QUERY__TOKEN__STABLE", 671 }, + { "STANDALONE_P", "PG_QUERY__TOKEN__STANDALONE_P", 672 }, + { "START", "PG_QUERY__TOKEN__START", 673 }, + { "STATEMENT", "PG_QUERY__TOKEN__STATEMENT", 674 }, + { "STATISTICS", "PG_QUERY__TOKEN__STATISTICS", 675 }, + { "STDIN", "PG_QUERY__TOKEN__STDIN", 676 }, + { "STDOUT", "PG_QUERY__TOKEN__STDOUT", 677 }, + { "STORAGE", "PG_QUERY__TOKEN__STORAGE", 678 }, + { "STORED", "PG_QUERY__TOKEN__STORED", 679 }, + { "STRICT_P", "PG_QUERY__TOKEN__STRICT_P", 680 }, + { "STRING_P", "PG_QUERY__TOKEN__STRING_P", 681 }, + { "STRIP_P", "PG_QUERY__TOKEN__STRIP_P", 682 }, + { "SUBSCRIPTION", "PG_QUERY__TOKEN__SUBSCRIPTION", 683 }, + { "SUBSTRING", "PG_QUERY__TOKEN__SUBSTRING", 684 }, + { "SUPPORT", "PG_QUERY__TOKEN__SUPPORT", 685 }, + { "SYMMETRIC", "PG_QUERY__TOKEN__SYMMETRIC", 686 }, + { "SYSID", "PG_QUERY__TOKEN__SYSID", 687 }, + { "SYSTEM_P", "PG_QUERY__TOKEN__SYSTEM_P", 688 }, + { "SYSTEM_USER", "PG_QUERY__TOKEN__SYSTEM_USER", 689 }, + { "TABLE", "PG_QUERY__TOKEN__TABLE", 690 }, + { "TABLES", "PG_QUERY__TOKEN__TABLES", 691 }, + { "TABLESAMPLE", "PG_QUERY__TOKEN__TABLESAMPLE", 692 }, + { "TABLESPACE", "PG_QUERY__TOKEN__TABLESPACE", 693 }, + { "TARGET", "PG_QUERY__TOKEN__TARGET", 694 }, + { "TEMP", "PG_QUERY__TOKEN__TEMP", 695 }, + { "TEMPLATE", "PG_QUERY__TOKEN__TEMPLATE", 696 }, + { "TEMPORARY", "PG_QUERY__TOKEN__TEMPORARY", 697 }, + { "TEXT_P", "PG_QUERY__TOKEN__TEXT_P", 698 }, + { "THEN", "PG_QUERY__TOKEN__THEN", 699 }, + { "TIES", "PG_QUERY__TOKEN__TIES", 700 }, + { "TIME", "PG_QUERY__TOKEN__TIME", 701 }, + { "TIMESTAMP", "PG_QUERY__TOKEN__TIMESTAMP", 702 }, + { "TO", "PG_QUERY__TOKEN__TO", 703 }, + { "TRAILING", "PG_QUERY__TOKEN__TRAILING", 704 }, + { "TRANSACTION", "PG_QUERY__TOKEN__TRANSACTION", 705 }, + { "TRANSFORM", "PG_QUERY__TOKEN__TRANSFORM", 706 }, + { "TREAT", "PG_QUERY__TOKEN__TREAT", 707 }, + { "TRIGGER", "PG_QUERY__TOKEN__TRIGGER", 708 }, + { "TRIM", "PG_QUERY__TOKEN__TRIM", 709 }, + { "TRUE_P", "PG_QUERY__TOKEN__TRUE_P", 710 }, + { "TRUNCATE", "PG_QUERY__TOKEN__TRUNCATE", 711 }, + { "TRUSTED", "PG_QUERY__TOKEN__TRUSTED", 712 }, + { "TYPE_P", "PG_QUERY__TOKEN__TYPE_P", 713 }, + { "TYPES_P", "PG_QUERY__TOKEN__TYPES_P", 714 }, + { "UESCAPE", "PG_QUERY__TOKEN__UESCAPE", 715 }, + { "UNBOUNDED", "PG_QUERY__TOKEN__UNBOUNDED", 716 }, + { "UNCONDITIONAL", "PG_QUERY__TOKEN__UNCONDITIONAL", 717 }, + { "UNCOMMITTED", "PG_QUERY__TOKEN__UNCOMMITTED", 718 }, + { "UNENCRYPTED", "PG_QUERY__TOKEN__UNENCRYPTED", 719 }, + { "UNION", "PG_QUERY__TOKEN__UNION", 720 }, + { "UNIQUE", "PG_QUERY__TOKEN__UNIQUE", 721 }, + { "UNKNOWN", "PG_QUERY__TOKEN__UNKNOWN", 722 }, + { "UNLISTEN", "PG_QUERY__TOKEN__UNLISTEN", 723 }, + { "UNLOGGED", "PG_QUERY__TOKEN__UNLOGGED", 724 }, + { "UNTIL", "PG_QUERY__TOKEN__UNTIL", 725 }, + { "UPDATE", "PG_QUERY__TOKEN__UPDATE", 726 }, + { "USER", "PG_QUERY__TOKEN__USER", 727 }, + { "USING", "PG_QUERY__TOKEN__USING", 728 }, + { "VACUUM", "PG_QUERY__TOKEN__VACUUM", 729 }, + { "VALID", "PG_QUERY__TOKEN__VALID", 730 }, + { "VALIDATE", "PG_QUERY__TOKEN__VALIDATE", 731 }, + { "VALIDATOR", "PG_QUERY__TOKEN__VALIDATOR", 732 }, + { "VALUE_P", "PG_QUERY__TOKEN__VALUE_P", 733 }, + { "VALUES", "PG_QUERY__TOKEN__VALUES", 734 }, + { "VARCHAR", "PG_QUERY__TOKEN__VARCHAR", 735 }, + { "VARIADIC", "PG_QUERY__TOKEN__VARIADIC", 736 }, + { "VARYING", "PG_QUERY__TOKEN__VARYING", 737 }, + { "VERBOSE", "PG_QUERY__TOKEN__VERBOSE", 738 }, + { "VERSION_P", "PG_QUERY__TOKEN__VERSION_P", 739 }, + { "VIEW", "PG_QUERY__TOKEN__VIEW", 740 }, + { "VIEWS", "PG_QUERY__TOKEN__VIEWS", 741 }, + { "VOLATILE", "PG_QUERY__TOKEN__VOLATILE", 742 }, + { "WHEN", "PG_QUERY__TOKEN__WHEN", 743 }, + { "WHERE", "PG_QUERY__TOKEN__WHERE", 744 }, + { "WHITESPACE_P", "PG_QUERY__TOKEN__WHITESPACE_P", 745 }, + { "WINDOW", "PG_QUERY__TOKEN__WINDOW", 746 }, + { "WITH", "PG_QUERY__TOKEN__WITH", 747 }, + { "WITHIN", "PG_QUERY__TOKEN__WITHIN", 748 }, + { "WITHOUT", "PG_QUERY__TOKEN__WITHOUT", 749 }, + { "WORK", "PG_QUERY__TOKEN__WORK", 750 }, + { "WRAPPER", "PG_QUERY__TOKEN__WRAPPER", 751 }, + { "WRITE", "PG_QUERY__TOKEN__WRITE", 752 }, + { "XML_P", "PG_QUERY__TOKEN__XML_P", 753 }, + { "XMLATTRIBUTES", "PG_QUERY__TOKEN__XMLATTRIBUTES", 754 }, + { "XMLCONCAT", "PG_QUERY__TOKEN__XMLCONCAT", 755 }, + { "XMLELEMENT", "PG_QUERY__TOKEN__XMLELEMENT", 756 }, + { "XMLEXISTS", "PG_QUERY__TOKEN__XMLEXISTS", 757 }, + { "XMLFOREST", "PG_QUERY__TOKEN__XMLFOREST", 758 }, + { "XMLNAMESPACES", "PG_QUERY__TOKEN__XMLNAMESPACES", 759 }, + { "XMLPARSE", "PG_QUERY__TOKEN__XMLPARSE", 760 }, + { "XMLPI", "PG_QUERY__TOKEN__XMLPI", 761 }, + { "XMLROOT", "PG_QUERY__TOKEN__XMLROOT", 762 }, + { "XMLSERIALIZE", "PG_QUERY__TOKEN__XMLSERIALIZE", 763 }, + { "XMLTABLE", "PG_QUERY__TOKEN__XMLTABLE", 764 }, + { "YEAR_P", "PG_QUERY__TOKEN__YEAR_P", 765 }, + { "YES_P", "PG_QUERY__TOKEN__YES_P", 766 }, + { "ZONE", "PG_QUERY__TOKEN__ZONE", 767 }, + { "FORMAT_LA", "PG_QUERY__TOKEN__FORMAT_LA", 768 }, + { "NOT_LA", "PG_QUERY__TOKEN__NOT_LA", 769 }, + { "NULLS_LA", "PG_QUERY__TOKEN__NULLS_LA", 770 }, + { "WITH_LA", "PG_QUERY__TOKEN__WITH_LA", 771 }, + { "WITHOUT_LA", "PG_QUERY__TOKEN__WITHOUT_LA", 772 }, + { "MODE_TYPE_NAME", "PG_QUERY__TOKEN__MODE_TYPE_NAME", 773 }, + { "MODE_PLPGSQL_EXPR", "PG_QUERY__TOKEN__MODE_PLPGSQL_EXPR", 774 }, + { "MODE_PLPGSQL_ASSIGN1", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN1", 775 }, + { "MODE_PLPGSQL_ASSIGN2", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN2", 776 }, + { "MODE_PLPGSQL_ASSIGN3", "PG_QUERY__TOKEN__MODE_PLPGSQL_ASSIGN3", 777 }, + { "UMINUS", "PG_QUERY__TOKEN__UMINUS", 778 }, }; static const ProtobufCIntRange pg_query__token__value_ranges[] = { -{0, 0},{37, 1},{40, 2},{58, 10},{91, 16},{258, 20},{0, 508} -}; -static const ProtobufCEnumValueIndex pg_query__token__enum_values_by_name[508] = -{ - { "ABORT_P", 39 }, - { "ABSOLUTE_P", 40 }, - { "ACCESS", 41 }, - { "ACTION", 42 }, - { "ADD_P", 43 }, - { "ADMIN", 44 }, - { "AFTER", 45 }, - { "AGGREGATE", 46 }, - { "ALL", 47 }, - { "ALSO", 48 }, - { "ALTER", 49 }, - { "ALWAYS", 50 }, - { "ANALYSE", 51 }, - { "ANALYZE", 52 }, - { "AND", 53 }, - { "ANY", 54 }, - { "ARRAY", 55 }, - { "AS", 56 }, - { "ASC", 57 }, - { "ASCII_37", 1 }, - { "ASCII_40", 2 }, - { "ASCII_41", 3 }, - { "ASCII_42", 4 }, - { "ASCII_43", 5 }, - { "ASCII_44", 6 }, - { "ASCII_45", 7 }, - { "ASCII_46", 8 }, - { "ASCII_47", 9 }, - { "ASCII_58", 10 }, - { "ASCII_59", 11 }, - { "ASCII_60", 12 }, - { "ASCII_61", 13 }, - { "ASCII_62", 14 }, - { "ASCII_63", 15 }, - { "ASCII_91", 16 }, - { "ASCII_92", 17 }, - { "ASCII_93", 18 }, - { "ASCII_94", 19 }, - { "ASENSITIVE", 58 }, - { "ASSERTION", 59 }, - { "ASSIGNMENT", 60 }, - { "ASYMMETRIC", 61 }, - { "AT", 63 }, - { "ATOMIC", 62 }, - { "ATTACH", 64 }, - { "ATTRIBUTE", 65 }, - { "AUTHORIZATION", 66 }, - { "BACKWARD", 67 }, - { "BCONST", 25 }, - { "BEFORE", 68 }, - { "BEGIN_P", 69 }, - { "BETWEEN", 70 }, - { "BIGINT", 71 }, - { "BINARY", 72 }, - { "BIT", 73 }, - { "BOOLEAN_P", 74 }, - { "BOTH", 75 }, - { "BREADTH", 76 }, - { "BY", 77 }, - { "CACHE", 78 }, - { "CALL", 79 }, - { "CALLED", 80 }, - { "CASCADE", 81 }, - { "CASCADED", 82 }, - { "CASE", 83 }, - { "CAST", 84 }, - { "CATALOG_P", 85 }, - { "CHAIN", 86 }, - { "CHARACTER", 88 }, - { "CHARACTERISTICS", 89 }, - { "CHAR_P", 87 }, - { "CHECK", 90 }, - { "CHECKPOINT", 91 }, - { "CLASS", 92 }, - { "CLOSE", 93 }, - { "CLUSTER", 94 }, - { "COALESCE", 95 }, - { "COLLATE", 96 }, - { "COLLATION", 97 }, - { "COLON_EQUALS", 32 }, - { "COLUMN", 98 }, - { "COLUMNS", 99 }, - { "COMMENT", 100 }, - { "COMMENTS", 101 }, - { "COMMIT", 102 }, - { "COMMITTED", 103 }, - { "COMPRESSION", 104 }, - { "CONCURRENTLY", 105 }, - { "CONFIGURATION", 106 }, - { "CONFLICT", 107 }, - { "CONNECTION", 108 }, - { "CONSTRAINT", 109 }, - { "CONSTRAINTS", 110 }, - { "CONTENT_P", 111 }, - { "CONTINUE_P", 112 }, - { "CONVERSION_P", 113 }, - { "COPY", 114 }, - { "COST", 115 }, - { "CREATE", 116 }, - { "CROSS", 117 }, - { "CSV", 118 }, - { "CUBE", 119 }, - { "CURRENT_CATALOG", 121 }, - { "CURRENT_DATE", 122 }, - { "CURRENT_P", 120 }, - { "CURRENT_ROLE", 123 }, - { "CURRENT_SCHEMA", 124 }, - { "CURRENT_TIME", 125 }, - { "CURRENT_TIMESTAMP", 126 }, - { "CURRENT_USER", 127 }, - { "CURSOR", 128 }, - { "CYCLE", 129 }, - { "C_COMMENT", 38 }, - { "DATABASE", 131 }, - { "DATA_P", 130 }, - { "DAY_P", 132 }, - { "DEALLOCATE", 133 }, - { "DEC", 134 }, - { "DECIMAL_P", 135 }, - { "DECLARE", 136 }, - { "DEFAULT", 137 }, - { "DEFAULTS", 138 }, - { "DEFERRABLE", 139 }, - { "DEFERRED", 140 }, - { "DEFINER", 141 }, - { "DELETE_P", 142 }, - { "DELIMITER", 143 }, - { "DELIMITERS", 144 }, - { "DEPENDS", 145 }, - { "DEPTH", 146 }, - { "DESC", 147 }, - { "DETACH", 148 }, - { "DICTIONARY", 149 }, - { "DISABLE_P", 150 }, - { "DISCARD", 151 }, - { "DISTINCT", 152 }, - { "DO", 153 }, - { "DOCUMENT_P", 154 }, - { "DOMAIN_P", 155 }, - { "DOT_DOT", 31 }, - { "DOUBLE_P", 156 }, - { "DROP", 157 }, - { "EACH", 158 }, - { "ELSE", 159 }, - { "ENABLE_P", 160 }, - { "ENCODING", 161 }, - { "ENCRYPTED", 162 }, - { "END_P", 163 }, - { "ENUM_P", 164 }, - { "EQUALS_GREATER", 33 }, - { "ESCAPE", 165 }, - { "EVENT", 166 }, - { "EXCEPT", 167 }, - { "EXCLUDE", 168 }, - { "EXCLUDING", 169 }, - { "EXCLUSIVE", 170 }, - { "EXECUTE", 171 }, - { "EXISTS", 172 }, - { "EXPLAIN", 173 }, - { "EXPRESSION", 174 }, - { "EXTENSION", 175 }, - { "EXTERNAL", 176 }, - { "EXTRACT", 177 }, - { "FALSE_P", 178 }, - { "FAMILY", 179 }, - { "FCONST", 22 }, - { "FETCH", 180 }, - { "FILTER", 181 }, - { "FINALIZE", 182 }, - { "FIRST_P", 183 }, - { "FLOAT_P", 184 }, - { "FOLLOWING", 185 }, - { "FOR", 186 }, - { "FORCE", 187 }, - { "FOREIGN", 188 }, - { "FORWARD", 189 }, - { "FREEZE", 190 }, - { "FROM", 191 }, - { "FULL", 192 }, - { "FUNCTION", 193 }, - { "FUNCTIONS", 194 }, - { "GENERATED", 195 }, - { "GLOBAL", 196 }, - { "GRANT", 197 }, - { "GRANTED", 198 }, - { "GREATER_EQUALS", 35 }, - { "GREATEST", 199 }, - { "GROUPING", 201 }, - { "GROUPS", 202 }, - { "GROUP_P", 200 }, - { "HANDLER", 203 }, - { "HAVING", 204 }, - { "HEADER_P", 205 }, - { "HOLD", 206 }, - { "HOUR_P", 207 }, - { "ICONST", 28 }, - { "IDENT", 20 }, - { "IDENTITY_P", 208 }, - { "IF_P", 209 }, - { "ILIKE", 210 }, - { "IMMEDIATE", 211 }, - { "IMMUTABLE", 212 }, - { "IMPLICIT_P", 213 }, - { "IMPORT_P", 214 }, - { "INCLUDE", 216 }, - { "INCLUDING", 217 }, - { "INCREMENT", 218 }, - { "INDEX", 219 }, - { "INDEXES", 220 }, - { "INHERIT", 221 }, - { "INHERITS", 222 }, - { "INITIALLY", 223 }, - { "INLINE_P", 224 }, - { "INNER_P", 225 }, - { "INOUT", 226 }, - { "INPUT_P", 227 }, - { "INSENSITIVE", 228 }, - { "INSERT", 229 }, - { "INSTEAD", 230 }, - { "INTEGER", 232 }, - { "INTERSECT", 233 }, - { "INTERVAL", 234 }, - { "INTO", 235 }, - { "INT_P", 231 }, - { "INVOKER", 236 }, - { "IN_P", 215 }, - { "IS", 237 }, - { "ISNULL", 238 }, - { "ISOLATION", 239 }, - { "JOIN", 240 }, - { "KEY", 241 }, - { "LABEL", 242 }, - { "LANGUAGE", 243 }, - { "LARGE_P", 244 }, - { "LAST_P", 245 }, - { "LATERAL_P", 246 }, - { "LEADING", 247 }, - { "LEAKPROOF", 248 }, - { "LEAST", 249 }, - { "LEFT", 250 }, - { "LESS_EQUALS", 34 }, - { "LEVEL", 251 }, - { "LIKE", 252 }, - { "LIMIT", 253 }, - { "LISTEN", 254 }, - { "LOAD", 255 }, - { "LOCAL", 256 }, - { "LOCALTIME", 257 }, - { "LOCALTIMESTAMP", 258 }, - { "LOCATION", 259 }, - { "LOCKED", 261 }, - { "LOCK_P", 260 }, - { "LOGGED", 262 }, - { "MAPPING", 263 }, - { "MATCH", 264 }, - { "MATCHED", 265 }, - { "MATERIALIZED", 266 }, - { "MAXVALUE", 267 }, - { "MERGE", 268 }, - { "METHOD", 269 }, - { "MINUTE_P", 270 }, - { "MINVALUE", 271 }, - { "MODE", 272 }, - { "MODE_PLPGSQL_ASSIGN1", 504 }, - { "MODE_PLPGSQL_ASSIGN2", 505 }, - { "MODE_PLPGSQL_ASSIGN3", 506 }, - { "MODE_PLPGSQL_EXPR", 503 }, - { "MODE_TYPE_NAME", 502 }, - { "MONTH_P", 273 }, - { "MOVE", 274 }, - { "NAMES", 276 }, - { "NAME_P", 275 }, - { "NATIONAL", 277 }, - { "NATURAL", 278 }, - { "NCHAR", 279 }, - { "NEW", 280 }, - { "NEXT", 281 }, - { "NFC", 282 }, - { "NFD", 283 }, - { "NFKC", 284 }, - { "NFKD", 285 }, - { "NO", 286 }, - { "NONE", 287 }, - { "NORMALIZE", 288 }, - { "NORMALIZED", 289 }, - { "NOT", 290 }, - { "NOTHING", 291 }, - { "NOTIFY", 292 }, - { "NOTNULL", 293 }, - { "NOT_EQUALS", 36 }, - { "NOT_LA", 499 }, - { "NOWAIT", 294 }, +{0, 0},{36, 1},{40, 3},{58, 11},{91, 17},{258, 21},{0, 542} +}; +static const ProtobufCEnumValueIndex pg_query__token__enum_values_by_name[542] = +{ + { "ABORT_P", 40 }, + { "ABSENT", 41 }, + { "ABSOLUTE_P", 42 }, + { "ACCESS", 43 }, + { "ACTION", 44 }, + { "ADD_P", 45 }, + { "ADMIN", 46 }, + { "AFTER", 47 }, + { "AGGREGATE", 48 }, + { "ALL", 49 }, + { "ALSO", 50 }, + { "ALTER", 51 }, + { "ALWAYS", 52 }, + { "ANALYSE", 53 }, + { "ANALYZE", 54 }, + { "AND", 55 }, + { "ANY", 56 }, + { "ARRAY", 57 }, + { "AS", 58 }, + { "ASC", 59 }, + { "ASCII_36", 1 }, + { "ASCII_37", 2 }, + { "ASCII_40", 3 }, + { "ASCII_41", 4 }, + { "ASCII_42", 5 }, + { "ASCII_43", 6 }, + { "ASCII_44", 7 }, + { "ASCII_45", 8 }, + { "ASCII_46", 9 }, + { "ASCII_47", 10 }, + { "ASCII_58", 11 }, + { "ASCII_59", 12 }, + { "ASCII_60", 13 }, + { "ASCII_61", 14 }, + { "ASCII_62", 15 }, + { "ASCII_63", 16 }, + { "ASCII_91", 17 }, + { "ASCII_92", 18 }, + { "ASCII_93", 19 }, + { "ASCII_94", 20 }, + { "ASENSITIVE", 60 }, + { "ASSERTION", 61 }, + { "ASSIGNMENT", 62 }, + { "ASYMMETRIC", 63 }, + { "AT", 65 }, + { "ATOMIC", 64 }, + { "ATTACH", 66 }, + { "ATTRIBUTE", 67 }, + { "AUTHORIZATION", 68 }, + { "BACKWARD", 69 }, + { "BCONST", 26 }, + { "BEFORE", 70 }, + { "BEGIN_P", 71 }, + { "BETWEEN", 72 }, + { "BIGINT", 73 }, + { "BINARY", 74 }, + { "BIT", 75 }, + { "BOOLEAN_P", 76 }, + { "BOTH", 77 }, + { "BREADTH", 78 }, + { "BY", 79 }, + { "CACHE", 80 }, + { "CALL", 81 }, + { "CALLED", 82 }, + { "CASCADE", 83 }, + { "CASCADED", 84 }, + { "CASE", 85 }, + { "CAST", 86 }, + { "CATALOG_P", 87 }, + { "CHAIN", 88 }, + { "CHARACTER", 90 }, + { "CHARACTERISTICS", 91 }, + { "CHAR_P", 89 }, + { "CHECK", 92 }, + { "CHECKPOINT", 93 }, + { "CLASS", 94 }, + { "CLOSE", 95 }, + { "CLUSTER", 96 }, + { "COALESCE", 97 }, + { "COLLATE", 98 }, + { "COLLATION", 99 }, + { "COLON_EQUALS", 33 }, + { "COLUMN", 100 }, + { "COLUMNS", 101 }, + { "COMMENT", 102 }, + { "COMMENTS", 103 }, + { "COMMIT", 104 }, + { "COMMITTED", 105 }, + { "COMPRESSION", 106 }, + { "CONCURRENTLY", 107 }, + { "CONDITIONAL", 108 }, + { "CONFIGURATION", 109 }, + { "CONFLICT", 110 }, + { "CONNECTION", 111 }, + { "CONSTRAINT", 112 }, + { "CONSTRAINTS", 113 }, + { "CONTENT_P", 114 }, + { "CONTINUE_P", 115 }, + { "CONVERSION_P", 116 }, + { "COPY", 117 }, + { "COST", 118 }, + { "CREATE", 119 }, + { "CROSS", 120 }, + { "CSV", 121 }, + { "CUBE", 122 }, + { "CURRENT_CATALOG", 124 }, + { "CURRENT_DATE", 125 }, + { "CURRENT_P", 123 }, + { "CURRENT_ROLE", 126 }, + { "CURRENT_SCHEMA", 127 }, + { "CURRENT_TIME", 128 }, + { "CURRENT_TIMESTAMP", 129 }, + { "CURRENT_USER", 130 }, + { "CURSOR", 131 }, + { "CYCLE", 132 }, + { "C_COMMENT", 39 }, + { "DATABASE", 134 }, + { "DATA_P", 133 }, + { "DAY_P", 135 }, + { "DEALLOCATE", 136 }, + { "DEC", 137 }, + { "DECIMAL_P", 138 }, + { "DECLARE", 139 }, + { "DEFAULT", 140 }, + { "DEFAULTS", 141 }, + { "DEFERRABLE", 142 }, + { "DEFERRED", 143 }, + { "DEFINER", 144 }, + { "DELETE_P", 145 }, + { "DELIMITER", 146 }, + { "DELIMITERS", 147 }, + { "DEPENDS", 148 }, + { "DEPTH", 149 }, + { "DESC", 150 }, + { "DETACH", 151 }, + { "DICTIONARY", 152 }, + { "DISABLE_P", 153 }, + { "DISCARD", 154 }, + { "DISTINCT", 155 }, + { "DO", 156 }, + { "DOCUMENT_P", 157 }, + { "DOMAIN_P", 158 }, + { "DOT_DOT", 32 }, + { "DOUBLE_P", 159 }, + { "DROP", 160 }, + { "EACH", 161 }, + { "ELSE", 162 }, + { "EMPTY_P", 163 }, + { "ENABLE_P", 164 }, + { "ENCODING", 165 }, + { "ENCRYPTED", 166 }, + { "END_P", 167 }, + { "ENUM_P", 168 }, + { "EQUALS_GREATER", 34 }, + { "ERROR_P", 169 }, + { "ESCAPE", 170 }, + { "EVENT", 171 }, + { "EXCEPT", 172 }, + { "EXCLUDE", 173 }, + { "EXCLUDING", 174 }, + { "EXCLUSIVE", 175 }, + { "EXECUTE", 176 }, + { "EXISTS", 177 }, + { "EXPLAIN", 178 }, + { "EXPRESSION", 179 }, + { "EXTENSION", 180 }, + { "EXTERNAL", 181 }, + { "EXTRACT", 182 }, + { "FALSE_P", 183 }, + { "FAMILY", 184 }, + { "FCONST", 23 }, + { "FETCH", 185 }, + { "FILTER", 186 }, + { "FINALIZE", 187 }, + { "FIRST_P", 188 }, + { "FLOAT_P", 189 }, + { "FOLLOWING", 190 }, + { "FOR", 191 }, + { "FORCE", 192 }, + { "FOREIGN", 193 }, + { "FORMAT", 194 }, + { "FORMAT_LA", 531 }, + { "FORWARD", 195 }, + { "FREEZE", 196 }, + { "FROM", 197 }, + { "FULL", 198 }, + { "FUNCTION", 199 }, + { "FUNCTIONS", 200 }, + { "GENERATED", 201 }, + { "GLOBAL", 202 }, + { "GRANT", 203 }, + { "GRANTED", 204 }, + { "GREATER_EQUALS", 36 }, + { "GREATEST", 205 }, + { "GROUPING", 207 }, + { "GROUPS", 208 }, + { "GROUP_P", 206 }, + { "HANDLER", 209 }, + { "HAVING", 210 }, + { "HEADER_P", 211 }, + { "HOLD", 212 }, + { "HOUR_P", 213 }, + { "ICONST", 29 }, + { "IDENT", 21 }, + { "IDENTITY_P", 214 }, + { "IF_P", 215 }, + { "ILIKE", 216 }, + { "IMMEDIATE", 217 }, + { "IMMUTABLE", 218 }, + { "IMPLICIT_P", 219 }, + { "IMPORT_P", 220 }, + { "INCLUDE", 222 }, + { "INCLUDING", 223 }, + { "INCREMENT", 224 }, + { "INDENT", 225 }, + { "INDEX", 226 }, + { "INDEXES", 227 }, + { "INHERIT", 228 }, + { "INHERITS", 229 }, + { "INITIALLY", 230 }, + { "INLINE_P", 231 }, + { "INNER_P", 232 }, + { "INOUT", 233 }, + { "INPUT_P", 234 }, + { "INSENSITIVE", 235 }, + { "INSERT", 236 }, + { "INSTEAD", 237 }, + { "INTEGER", 239 }, + { "INTERSECT", 240 }, + { "INTERVAL", 241 }, + { "INTO", 242 }, + { "INT_P", 238 }, + { "INVOKER", 243 }, + { "IN_P", 221 }, + { "IS", 244 }, + { "ISNULL", 245 }, + { "ISOLATION", 246 }, + { "JOIN", 247 }, + { "JSON", 248 }, + { "JSON_ARRAY", 249 }, + { "JSON_ARRAYAGG", 250 }, + { "JSON_EXISTS", 251 }, + { "JSON_OBJECT", 252 }, + { "JSON_OBJECTAGG", 253 }, + { "JSON_QUERY", 254 }, + { "JSON_SCALAR", 255 }, + { "JSON_SERIALIZE", 256 }, + { "JSON_TABLE", 257 }, + { "JSON_VALUE", 258 }, + { "KEEP", 259 }, + { "KEY", 260 }, + { "KEYS", 261 }, + { "LABEL", 262 }, + { "LANGUAGE", 263 }, + { "LARGE_P", 264 }, + { "LAST_P", 265 }, + { "LATERAL_P", 266 }, + { "LEADING", 267 }, + { "LEAKPROOF", 268 }, + { "LEAST", 269 }, + { "LEFT", 270 }, + { "LESS_EQUALS", 35 }, + { "LEVEL", 271 }, + { "LIKE", 272 }, + { "LIMIT", 273 }, + { "LISTEN", 274 }, + { "LOAD", 275 }, + { "LOCAL", 276 }, + { "LOCALTIME", 277 }, + { "LOCALTIMESTAMP", 278 }, + { "LOCATION", 279 }, + { "LOCKED", 281 }, + { "LOCK_P", 280 }, + { "LOGGED", 282 }, + { "MAPPING", 283 }, + { "MATCH", 284 }, + { "MATCHED", 285 }, + { "MATERIALIZED", 286 }, + { "MAXVALUE", 287 }, + { "MERGE", 288 }, + { "MERGE_ACTION", 289 }, + { "METHOD", 290 }, + { "MINUTE_P", 291 }, + { "MINVALUE", 292 }, + { "MODE", 293 }, + { "MODE_PLPGSQL_ASSIGN1", 538 }, + { "MODE_PLPGSQL_ASSIGN2", 539 }, + { "MODE_PLPGSQL_ASSIGN3", 540 }, + { "MODE_PLPGSQL_EXPR", 537 }, + { "MODE_TYPE_NAME", 536 }, + { "MONTH_P", 294 }, + { "MOVE", 295 }, + { "NAMES", 297 }, + { "NAME_P", 296 }, + { "NATIONAL", 298 }, + { "NATURAL", 299 }, + { "NCHAR", 300 }, + { "NESTED", 301 }, + { "NEW", 302 }, + { "NEXT", 303 }, + { "NFC", 304 }, + { "NFD", 305 }, + { "NFKC", 306 }, + { "NFKD", 307 }, + { "NO", 308 }, + { "NONE", 309 }, + { "NORMALIZE", 310 }, + { "NORMALIZED", 311 }, + { "NOT", 312 }, + { "NOTHING", 313 }, + { "NOTIFY", 314 }, + { "NOTNULL", 315 }, + { "NOT_EQUALS", 37 }, + { "NOT_LA", 532 }, + { "NOWAIT", 316 }, { "NUL", 0 }, - { "NULLIF", 296 }, - { "NULLS_LA", 500 }, - { "NULLS_P", 297 }, - { "NULL_P", 295 }, - { "NUMERIC", 298 }, - { "OBJECT_P", 299 }, - { "OF", 300 }, - { "OFF", 301 }, - { "OFFSET", 302 }, - { "OIDS", 303 }, - { "OLD", 304 }, - { "ON", 305 }, - { "ONLY", 306 }, - { "OPERATOR", 307 }, - { "OPTION", 308 }, - { "OPTIONS", 309 }, - { "OR", 310 }, - { "ORDER", 311 }, - { "ORDINALITY", 312 }, - { "OTHERS", 313 }, - { "OUTER_P", 315 }, - { "OUT_P", 314 }, - { "OVER", 316 }, - { "OVERLAPS", 317 }, - { "OVERLAY", 318 }, - { "OVERRIDING", 319 }, - { "OWNED", 320 }, - { "OWNER", 321 }, - { "Op", 27 }, - { "PARALLEL", 322 }, - { "PARAM", 29 }, - { "PARAMETER", 323 }, - { "PARSER", 324 }, - { "PARTIAL", 325 }, - { "PARTITION", 326 }, - { "PASSING", 327 }, - { "PASSWORD", 328 }, - { "PLACING", 329 }, - { "PLANS", 330 }, - { "POLICY", 331 }, - { "POSITION", 332 }, - { "PRECEDING", 333 }, - { "PRECISION", 334 }, - { "PREPARE", 336 }, - { "PREPARED", 337 }, - { "PRESERVE", 335 }, - { "PRIMARY", 338 }, - { "PRIOR", 339 }, - { "PRIVILEGES", 340 }, - { "PROCEDURAL", 341 }, - { "PROCEDURE", 342 }, - { "PROCEDURES", 343 }, - { "PROGRAM", 344 }, - { "PUBLICATION", 345 }, - { "QUOTE", 346 }, - { "RANGE", 347 }, - { "READ", 348 }, - { "REAL", 349 }, - { "REASSIGN", 350 }, - { "RECHECK", 351 }, - { "RECURSIVE", 352 }, - { "REFERENCES", 354 }, - { "REFERENCING", 355 }, - { "REFRESH", 356 }, - { "REF_P", 353 }, - { "REINDEX", 357 }, - { "RELATIVE_P", 358 }, - { "RELEASE", 359 }, - { "RENAME", 360 }, - { "REPEATABLE", 361 }, - { "REPLACE", 362 }, - { "REPLICA", 363 }, - { "RESET", 364 }, - { "RESTART", 365 }, - { "RESTRICT", 366 }, - { "RETURN", 367 }, - { "RETURNING", 368 }, - { "RETURNS", 369 }, - { "REVOKE", 370 }, - { "RIGHT", 371 }, - { "ROLE", 372 }, - { "ROLLBACK", 373 }, - { "ROLLUP", 374 }, - { "ROUTINE", 375 }, - { "ROUTINES", 376 }, - { "ROW", 377 }, - { "ROWS", 378 }, - { "RULE", 379 }, - { "SAVEPOINT", 380 }, - { "SCHEMA", 381 }, - { "SCHEMAS", 382 }, - { "SCONST", 23 }, - { "SCROLL", 383 }, - { "SEARCH", 384 }, - { "SECOND_P", 385 }, - { "SECURITY", 386 }, - { "SELECT", 387 }, - { "SEQUENCE", 388 }, - { "SEQUENCES", 389 }, - { "SERIALIZABLE", 390 }, - { "SERVER", 391 }, - { "SESSION", 392 }, - { "SESSION_USER", 393 }, - { "SET", 394 }, - { "SETOF", 396 }, - { "SETS", 395 }, - { "SHARE", 397 }, - { "SHOW", 398 }, - { "SIMILAR", 399 }, - { "SIMPLE", 400 }, - { "SKIP", 401 }, - { "SMALLINT", 402 }, - { "SNAPSHOT", 403 }, - { "SOME", 404 }, - { "SQL_COMMENT", 37 }, - { "SQL_P", 405 }, - { "STABLE", 406 }, - { "STANDALONE_P", 407 }, - { "START", 408 }, - { "STATEMENT", 409 }, - { "STATISTICS", 410 }, - { "STDIN", 411 }, - { "STDOUT", 412 }, - { "STORAGE", 413 }, - { "STORED", 414 }, - { "STRICT_P", 415 }, - { "STRIP_P", 416 }, - { "SUBSCRIPTION", 417 }, - { "SUBSTRING", 418 }, - { "SUPPORT", 419 }, - { "SYMMETRIC", 420 }, - { "SYSID", 421 }, - { "SYSTEM_P", 422 }, - { "TABLE", 423 }, - { "TABLES", 424 }, - { "TABLESAMPLE", 425 }, - { "TABLESPACE", 426 }, - { "TEMP", 427 }, - { "TEMPLATE", 428 }, - { "TEMPORARY", 429 }, - { "TEXT_P", 430 }, - { "THEN", 431 }, - { "TIES", 432 }, - { "TIME", 433 }, - { "TIMESTAMP", 434 }, - { "TO", 435 }, - { "TRAILING", 436 }, - { "TRANSACTION", 437 }, - { "TRANSFORM", 438 }, - { "TREAT", 439 }, - { "TRIGGER", 440 }, - { "TRIM", 441 }, - { "TRUE_P", 442 }, - { "TRUNCATE", 443 }, - { "TRUSTED", 444 }, - { "TYPECAST", 30 }, - { "TYPES_P", 446 }, - { "TYPE_P", 445 }, - { "UESCAPE", 447 }, - { "UIDENT", 21 }, - { "UMINUS", 507 }, - { "UNBOUNDED", 448 }, - { "UNCOMMITTED", 449 }, - { "UNENCRYPTED", 450 }, - { "UNION", 451 }, - { "UNIQUE", 452 }, - { "UNKNOWN", 453 }, - { "UNLISTEN", 454 }, - { "UNLOGGED", 455 }, - { "UNTIL", 456 }, - { "UPDATE", 457 }, - { "USCONST", 24 }, - { "USER", 458 }, - { "USING", 459 }, - { "VACUUM", 460 }, - { "VALID", 461 }, - { "VALIDATE", 462 }, - { "VALIDATOR", 463 }, - { "VALUES", 465 }, - { "VALUE_P", 464 }, - { "VARCHAR", 466 }, - { "VARIADIC", 467 }, - { "VARYING", 468 }, - { "VERBOSE", 469 }, - { "VERSION_P", 470 }, - { "VIEW", 471 }, - { "VIEWS", 472 }, - { "VOLATILE", 473 }, - { "WHEN", 474 }, - { "WHERE", 475 }, - { "WHITESPACE_P", 476 }, - { "WINDOW", 477 }, - { "WITH", 478 }, - { "WITHIN", 479 }, - { "WITHOUT", 480 }, - { "WITH_LA", 501 }, - { "WORK", 481 }, - { "WRAPPER", 482 }, - { "WRITE", 483 }, - { "XCONST", 26 }, - { "XMLATTRIBUTES", 485 }, - { "XMLCONCAT", 486 }, - { "XMLELEMENT", 487 }, - { "XMLEXISTS", 488 }, - { "XMLFOREST", 489 }, - { "XMLNAMESPACES", 490 }, - { "XMLPARSE", 491 }, - { "XMLPI", 492 }, - { "XMLROOT", 493 }, - { "XMLSERIALIZE", 494 }, - { "XMLTABLE", 495 }, - { "XML_P", 484 }, - { "YEAR_P", 496 }, - { "YES_P", 497 }, - { "ZONE", 498 }, + { "NULLIF", 318 }, + { "NULLS_LA", 533 }, + { "NULLS_P", 319 }, + { "NULL_P", 317 }, + { "NUMERIC", 320 }, + { "OBJECT_P", 321 }, + { "OF", 322 }, + { "OFF", 323 }, + { "OFFSET", 324 }, + { "OIDS", 325 }, + { "OLD", 326 }, + { "OMIT", 327 }, + { "ON", 328 }, + { "ONLY", 329 }, + { "OPERATOR", 330 }, + { "OPTION", 331 }, + { "OPTIONS", 332 }, + { "OR", 333 }, + { "ORDER", 334 }, + { "ORDINALITY", 335 }, + { "OTHERS", 336 }, + { "OUTER_P", 338 }, + { "OUT_P", 337 }, + { "OVER", 339 }, + { "OVERLAPS", 340 }, + { "OVERLAY", 341 }, + { "OVERRIDING", 342 }, + { "OWNED", 343 }, + { "OWNER", 344 }, + { "Op", 28 }, + { "PARALLEL", 345 }, + { "PARAM", 30 }, + { "PARAMETER", 346 }, + { "PARSER", 347 }, + { "PARTIAL", 348 }, + { "PARTITION", 349 }, + { "PASSING", 350 }, + { "PASSWORD", 351 }, + { "PATH", 352 }, + { "PLACING", 353 }, + { "PLAN", 354 }, + { "PLANS", 355 }, + { "POLICY", 356 }, + { "POSITION", 357 }, + { "PRECEDING", 358 }, + { "PRECISION", 359 }, + { "PREPARE", 361 }, + { "PREPARED", 362 }, + { "PRESERVE", 360 }, + { "PRIMARY", 363 }, + { "PRIOR", 364 }, + { "PRIVILEGES", 365 }, + { "PROCEDURAL", 366 }, + { "PROCEDURE", 367 }, + { "PROCEDURES", 368 }, + { "PROGRAM", 369 }, + { "PUBLICATION", 370 }, + { "QUOTE", 371 }, + { "QUOTES", 372 }, + { "RANGE", 373 }, + { "READ", 374 }, + { "REAL", 375 }, + { "REASSIGN", 376 }, + { "RECHECK", 377 }, + { "RECURSIVE", 378 }, + { "REFERENCES", 380 }, + { "REFERENCING", 381 }, + { "REFRESH", 382 }, + { "REF_P", 379 }, + { "REINDEX", 383 }, + { "RELATIVE_P", 384 }, + { "RELEASE", 385 }, + { "RENAME", 386 }, + { "REPEATABLE", 387 }, + { "REPLACE", 388 }, + { "REPLICA", 389 }, + { "RESET", 390 }, + { "RESTART", 391 }, + { "RESTRICT", 392 }, + { "RETURN", 393 }, + { "RETURNING", 394 }, + { "RETURNS", 395 }, + { "REVOKE", 396 }, + { "RIGHT", 397 }, + { "ROLE", 398 }, + { "ROLLBACK", 399 }, + { "ROLLUP", 400 }, + { "ROUTINE", 401 }, + { "ROUTINES", 402 }, + { "ROW", 403 }, + { "ROWS", 404 }, + { "RULE", 405 }, + { "SAVEPOINT", 406 }, + { "SCALAR", 407 }, + { "SCHEMA", 408 }, + { "SCHEMAS", 409 }, + { "SCONST", 24 }, + { "SCROLL", 410 }, + { "SEARCH", 411 }, + { "SECOND_P", 412 }, + { "SECURITY", 413 }, + { "SELECT", 414 }, + { "SEQUENCE", 415 }, + { "SEQUENCES", 416 }, + { "SERIALIZABLE", 417 }, + { "SERVER", 418 }, + { "SESSION", 419 }, + { "SESSION_USER", 420 }, + { "SET", 421 }, + { "SETOF", 423 }, + { "SETS", 422 }, + { "SHARE", 424 }, + { "SHOW", 425 }, + { "SIMILAR", 426 }, + { "SIMPLE", 427 }, + { "SKIP", 428 }, + { "SMALLINT", 429 }, + { "SNAPSHOT", 430 }, + { "SOME", 431 }, + { "SOURCE", 432 }, + { "SQL_COMMENT", 38 }, + { "SQL_P", 433 }, + { "STABLE", 434 }, + { "STANDALONE_P", 435 }, + { "START", 436 }, + { "STATEMENT", 437 }, + { "STATISTICS", 438 }, + { "STDIN", 439 }, + { "STDOUT", 440 }, + { "STORAGE", 441 }, + { "STORED", 442 }, + { "STRICT_P", 443 }, + { "STRING_P", 444 }, + { "STRIP_P", 445 }, + { "SUBSCRIPTION", 446 }, + { "SUBSTRING", 447 }, + { "SUPPORT", 448 }, + { "SYMMETRIC", 449 }, + { "SYSID", 450 }, + { "SYSTEM_P", 451 }, + { "SYSTEM_USER", 452 }, + { "TABLE", 453 }, + { "TABLES", 454 }, + { "TABLESAMPLE", 455 }, + { "TABLESPACE", 456 }, + { "TARGET", 457 }, + { "TEMP", 458 }, + { "TEMPLATE", 459 }, + { "TEMPORARY", 460 }, + { "TEXT_P", 461 }, + { "THEN", 462 }, + { "TIES", 463 }, + { "TIME", 464 }, + { "TIMESTAMP", 465 }, + { "TO", 466 }, + { "TRAILING", 467 }, + { "TRANSACTION", 468 }, + { "TRANSFORM", 469 }, + { "TREAT", 470 }, + { "TRIGGER", 471 }, + { "TRIM", 472 }, + { "TRUE_P", 473 }, + { "TRUNCATE", 474 }, + { "TRUSTED", 475 }, + { "TYPECAST", 31 }, + { "TYPES_P", 477 }, + { "TYPE_P", 476 }, + { "UESCAPE", 478 }, + { "UIDENT", 22 }, + { "UMINUS", 541 }, + { "UNBOUNDED", 479 }, + { "UNCOMMITTED", 481 }, + { "UNCONDITIONAL", 480 }, + { "UNENCRYPTED", 482 }, + { "UNION", 483 }, + { "UNIQUE", 484 }, + { "UNKNOWN", 485 }, + { "UNLISTEN", 486 }, + { "UNLOGGED", 487 }, + { "UNTIL", 488 }, + { "UPDATE", 489 }, + { "USCONST", 25 }, + { "USER", 490 }, + { "USING", 491 }, + { "VACUUM", 492 }, + { "VALID", 493 }, + { "VALIDATE", 494 }, + { "VALIDATOR", 495 }, + { "VALUES", 497 }, + { "VALUE_P", 496 }, + { "VARCHAR", 498 }, + { "VARIADIC", 499 }, + { "VARYING", 500 }, + { "VERBOSE", 501 }, + { "VERSION_P", 502 }, + { "VIEW", 503 }, + { "VIEWS", 504 }, + { "VOLATILE", 505 }, + { "WHEN", 506 }, + { "WHERE", 507 }, + { "WHITESPACE_P", 508 }, + { "WINDOW", 509 }, + { "WITH", 510 }, + { "WITHIN", 511 }, + { "WITHOUT", 512 }, + { "WITHOUT_LA", 535 }, + { "WITH_LA", 534 }, + { "WORK", 513 }, + { "WRAPPER", 514 }, + { "WRITE", 515 }, + { "XCONST", 27 }, + { "XMLATTRIBUTES", 517 }, + { "XMLCONCAT", 518 }, + { "XMLELEMENT", 519 }, + { "XMLEXISTS", 520 }, + { "XMLFOREST", 521 }, + { "XMLNAMESPACES", 522 }, + { "XMLPARSE", 523 }, + { "XMLPI", 524 }, + { "XMLROOT", 525 }, + { "XMLSERIALIZE", 526 }, + { "XMLTABLE", 527 }, + { "XML_P", 516 }, + { "YEAR_P", 528 }, + { "YES_P", 529 }, + { "ZONE", 530 }, }; const ProtobufCEnumDescriptor pg_query__token__descriptor = { @@ -39644,9 +44989,9 @@ const ProtobufCEnumDescriptor pg_query__token__descriptor = "Token", "PgQuery__Token", "pg_query", - 508, + 542, pg_query__token__enum_values_by_number, - 508, + 542, pg_query__token__enum_values_by_name, 6, pg_query__token__value_ranges, diff --git a/parser/pg_query_deparse.c b/parser/pg_query_deparse.c index 3afafc61..326ae687 100644 --- a/parser/pg_query_deparse.c +++ b/parser/pg_query_deparse.c @@ -2,10649 +2,196 @@ #include "pg_query_internal.h" #include "pg_query_readfuncs.h" -#include "catalog/index.h" -#include "catalog/pg_am.h" -#include "catalog/pg_attribute.h" -#include "catalog/pg_class.h" -#include "catalog/pg_trigger.h" -#include "commands/trigger.h" -#include "common/keywords.h" -#include "common/kwlookup.h" -#include "lib/stringinfo.h" -#include "limits.h" -#include "nodes/nodes.h" -#include "nodes/parsenodes.h" -#include "nodes/pg_list.h" -#include "utils/builtins.h" -#include "utils/datetime.h" -#include "utils/timestamp.h" -#include "utils/xml.h" - -typedef enum DeparseNodeContext { - DEPARSE_NODE_CONTEXT_NONE, - // Parent node type (and sometimes field) - DEPARSE_NODE_CONTEXT_INSERT_RELATION, - DEPARSE_NODE_CONTEXT_INSERT_ON_CONFLICT, - DEPARSE_NODE_CONTEXT_UPDATE, - DEPARSE_NODE_CONTEXT_RETURNING, - DEPARSE_NODE_CONTEXT_A_EXPR, - DEPARSE_NODE_CONTEXT_XMLATTRIBUTES, - DEPARSE_NODE_CONTEXT_XMLNAMESPACES, - DEPARSE_NODE_CONTEXT_CREATE_TYPE, - DEPARSE_NODE_CONTEXT_ALTER_TYPE, - // Identifier vs constant context - DEPARSE_NODE_CONTEXT_IDENTIFIER, - DEPARSE_NODE_CONTEXT_CONSTANT -} DeparseNodeContext; - -static void -removeTrailingSpace(StringInfo str) -{ - if (str->len >= 1 && str->data[str->len - 1] == ' ') { - str->len -= 1; - str->data[str->len] = '\0'; - } -} - -/* - * Append a SQL string literal representing "val" to buf. - * - * Copied here from postgres_fdw/deparse.c to avoid adding - * many additional dependencies. - */ -static void -deparseStringLiteral(StringInfo buf, const char *val) -{ - const char *valptr; - - /* - * Rather than making assumptions about the remote server's value of - * standard_conforming_strings, always use E'foo' syntax if there are any - * backslashes. This will fail on remote servers before 8.1, but those - * are long out of support. - */ - if (strchr(val, '\\') != NULL) - appendStringInfoChar(buf, ESCAPE_STRING_SYNTAX); - appendStringInfoChar(buf, '\''); - for (valptr = val; *valptr; valptr++) - { - char ch = *valptr; - - if (SQL_STR_DOUBLE(ch, true)) - appendStringInfoChar(buf, ch); - appendStringInfoChar(buf, ch); - } - appendStringInfoChar(buf, '\''); -} - -// Check whether the value is a reserved keyword, to determine escaping for output -// -// Note that since the parser lowercases all keywords, this does *not* match when the -// value is not all-lowercase and a reserved keyword. -static bool -isReservedKeyword(const char *val) -{ - int kwnum = ScanKeywordLookup(val, &ScanKeywords); - bool all_lower_case = true; - const char *cp; - - for (cp = val; *cp; cp++) - { - if (!( - (*cp >= 'a' && *cp <= 'z') || - (*cp >= '0' && *cp <= '9') || - (*cp == '_'))) - { - all_lower_case = false; - break; - } - } - - return all_lower_case && kwnum >= 0 && ScanKeywordCategories[kwnum] == RESERVED_KEYWORD; -} - -// Returns whether the given value consists only of operator characters -static bool -isOp(const char *val) -{ - const char *cp; - - Assert(strlen(val) > 0); - - for (cp = val; *cp; cp++) - { - if (!( - *cp == '~' || - *cp == '!' || - *cp == '@' || - *cp == '#' || - *cp == '^' || - *cp == '&' || - *cp == '|' || - *cp == '`' || - *cp == '?' || - *cp == '+' || - *cp == '-' || - *cp == '*' || - *cp == '/' || - *cp == '%' || - *cp == '<' || - *cp == '>' || - *cp == '=')) - return false; - } - - return true; -} - -static void deparseSelectStmt(StringInfo str, SelectStmt *stmt); -static void deparseIntoClause(StringInfo str, IntoClause *into_clause); -static void deparseRangeVar(StringInfo str, RangeVar *range_var, DeparseNodeContext context); -static void deparseResTarget(StringInfo str, ResTarget *res_target, DeparseNodeContext context); -static void deparseRawStmt(StringInfo str, RawStmt *raw_stmt); -static void deparseAlias(StringInfo str, Alias *alias); -static void deparseWindowDef(StringInfo str, WindowDef* window_def); -static void deparseColumnRef(StringInfo str, ColumnRef* column_ref); -static void deparseSubLink(StringInfo str, SubLink* sub_link); -static void deparseAExpr(StringInfo str, A_Expr* a_expr, DeparseNodeContext context); -static void deparseBoolExpr(StringInfo str, BoolExpr *bool_expr); -static void deparseAStar(StringInfo str, A_Star* a_star); -static void deparseCollateClause(StringInfo str, CollateClause* collate_clause); -static void deparseSortBy(StringInfo str, SortBy* sort_by); -static void deparseParamRef(StringInfo str, ParamRef* param_ref); -static void deparseSQLValueFunction(StringInfo str, SQLValueFunction* sql_value_function); -static void deparseWithClause(StringInfo str, WithClause *with_clause); -static void deparseJoinExpr(StringInfo str, JoinExpr *join_expr); -static void deparseCommonTableExpr(StringInfo str, CommonTableExpr *cte); -static void deparseRangeSubselect(StringInfo str, RangeSubselect *range_subselect); -static void deparseRangeFunction(StringInfo str, RangeFunction *range_func); -static void deparseAArrayExpr(StringInfo str, A_ArrayExpr * array_expr); -static void deparseRowExpr(StringInfo str, RowExpr *row_expr); -static void deparseTypeCast(StringInfo str, TypeCast *type_cast); -static void deparseTypeName(StringInfo str, TypeName *type_name); -static void deparseNullTest(StringInfo str, NullTest *null_test); -static void deparseCaseExpr(StringInfo str, CaseExpr *case_expr); -static void deparseCaseWhen(StringInfo str, CaseWhen *case_when); -static void deparseAIndirection(StringInfo str, A_Indirection *a_indirection); -static void deparseAIndices(StringInfo str, A_Indices *a_indices); -static void deparseCoalesceExpr(StringInfo str, CoalesceExpr *coalesce_expr); -static void deparseBooleanTest(StringInfo str, BooleanTest *boolean_test); -static void deparseColumnDef(StringInfo str, ColumnDef *column_def); -static void deparseInsertStmt(StringInfo str, InsertStmt *insert_stmt); -static void deparseOnConflictClause(StringInfo str, OnConflictClause *on_conflict_clause); -static void deparseIndexElem(StringInfo str, IndexElem* index_elem); -static void deparseUpdateStmt(StringInfo str, UpdateStmt *update_stmt); -static void deparseDeleteStmt(StringInfo str, DeleteStmt *delete_stmt); -static void deparseLockingClause(StringInfo str, LockingClause *locking_clause); -static void deparseSetToDefault(StringInfo str, SetToDefault *set_to_default); -static void deparseCreateCastStmt(StringInfo str, CreateCastStmt *create_cast_stmt); -static void deparseCreateDomainStmt(StringInfo str, CreateDomainStmt *create_domain_stmt); -static void deparseFunctionParameter(StringInfo str, FunctionParameter *function_parameter); -static void deparseRoleSpec(StringInfo str, RoleSpec *role_spec); -static void deparseViewStmt(StringInfo str, ViewStmt *view_stmt); -static void deparseVariableSetStmt(StringInfo str, VariableSetStmt* variable_set_stmt); -static void deparseReplicaIdentityStmt(StringInfo str, ReplicaIdentityStmt *replica_identity_stmt); -static void deparseRangeTableSample(StringInfo str, RangeTableSample *range_table_sample); -static void deparseRangeTableFunc(StringInfo str, RangeTableFunc* range_table_func); -static void deparseGroupingSet(StringInfo str, GroupingSet *grouping_set); -static void deparseFuncCall(StringInfo str, FuncCall *func_call); -static void deparseMinMaxExpr(StringInfo str, MinMaxExpr *min_max_expr); -static void deparseXmlExpr(StringInfo str, XmlExpr* xml_expr); -static void deparseXmlSerialize(StringInfo str, XmlSerialize *xml_serialize); -static void deparseConstraint(StringInfo str, Constraint *constraint); -static void deparseSchemaStmt(StringInfo str, Node *node); -static void deparseExecuteStmt(StringInfo str, ExecuteStmt *execute_stmt); -static void deparseTriggerTransition(StringInfo str, TriggerTransition *trigger_transition); -static void deparseCreateOpClassItem(StringInfo str, CreateOpClassItem *create_op_class_item); -static void deparseAConst(StringInfo str, A_Const *a_const); -static void deparseCurrentOfExpr(StringInfo str, CurrentOfExpr *current_of_expr); -static void deparseGroupingFunc(StringInfo str, GroupingFunc *grouping_func); - -static void deparsePreparableStmt(StringInfo str, Node *node); -static void deparseRuleActionStmt(StringInfo str, Node *node); -static void deparseExplainableStmt(StringInfo str, Node *node); -static void deparseStmt(StringInfo str, Node *node); -static void deparseValue(StringInfo str, union ValUnion *value, DeparseNodeContext context); - -// "any_name" in gram.y -static void deparseAnyName(StringInfo str, List *parts) -{ - ListCell *lc = NULL; - - foreach(lc, parts) - { - Assert(IsA(lfirst(lc), String)); - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (lnext(parts, lc)) - appendStringInfoChar(str, '.'); - } -} -static void deparseAnyNameSkipFirst(StringInfo str, List *parts) -{ - ListCell *lc = NULL; - - for_each_from(lc, parts, 1) - { - Assert(IsA(lfirst(lc), String)); - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (lnext(parts, lc)) - appendStringInfoChar(str, '.'); - } -} -static void deparseAnyNameSkipLast(StringInfo str, List *parts) -{ - ListCell *lc = NULL; - - foreach (lc, parts) - { - if (lnext(parts, lc)) - { - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (foreach_current_index(lc) < list_length(parts) - 2) - appendStringInfoChar(str, '.'); - } - } -} - -// "a_expr" / "b_expr" in gram.y -static void deparseExpr(StringInfo str, Node *node) -{ - if (node == NULL) - return; - switch (nodeTag(node)) - { - case T_FuncCall: - deparseFuncCall(str, castNode(FuncCall, node)); - break; - case T_XmlExpr: - deparseXmlExpr(str, castNode(XmlExpr, node)); - break; - case T_TypeCast: - deparseTypeCast(str, castNode(TypeCast, node)); - break; - case T_A_Const: - deparseAConst(str, castNode(A_Const, node)); - break; - case T_ColumnRef: - deparseColumnRef(str, castNode(ColumnRef, node)); - break; - case T_A_Expr: - deparseAExpr(str, castNode(A_Expr, node), DEPARSE_NODE_CONTEXT_NONE); - break; - case T_CaseExpr: - deparseCaseExpr(str, castNode(CaseExpr, node)); - break; - case T_A_ArrayExpr: - deparseAArrayExpr(str, castNode(A_ArrayExpr, node)); - break; - case T_NullTest: - deparseNullTest(str, castNode(NullTest, node)); - break; - case T_XmlSerialize: - deparseXmlSerialize(str, castNode(XmlSerialize, node)); - break; - case T_ParamRef: - deparseParamRef(str, castNode(ParamRef, node)); - break; - case T_BoolExpr: - deparseBoolExpr(str, castNode(BoolExpr, node)); - break; - case T_SubLink: - deparseSubLink(str, castNode(SubLink, node)); - break; - case T_RowExpr: - deparseRowExpr(str, castNode(RowExpr, node)); - break; - case T_CoalesceExpr: - deparseCoalesceExpr(str, castNode(CoalesceExpr, node)); - break; - case T_SetToDefault: - deparseSetToDefault(str, castNode(SetToDefault, node)); - break; - case T_A_Indirection: - deparseAIndirection(str, castNode(A_Indirection, node)); - break; - case T_CollateClause: - deparseCollateClause(str, castNode(CollateClause, node)); - break; - case T_CurrentOfExpr: - deparseCurrentOfExpr(str, castNode(CurrentOfExpr, node)); - break; - case T_SQLValueFunction: - deparseSQLValueFunction(str, castNode(SQLValueFunction, node)); - break; - case T_MinMaxExpr: - deparseMinMaxExpr(str, castNode(MinMaxExpr, node)); - break; - case T_BooleanTest: - deparseBooleanTest(str, castNode(BooleanTest, node)); - break; - case T_GroupingFunc: - deparseGroupingFunc(str, castNode(GroupingFunc, node)); - break; - default: - elog(ERROR, "deparse: unpermitted node type in a_expr/b_expr: %d", - (int) nodeTag(node)); - break; - } -} - -// "c_expr" in gram.y -static void deparseCExpr(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_ColumnRef: - deparseColumnRef(str, castNode(ColumnRef, node)); - break; - case T_A_Const: - deparseAConst(str, castNode(A_Const, node)); - break; - case T_TypeCast: - deparseTypeCast(str, castNode(TypeCast, node)); - break; - case T_A_Expr: - appendStringInfoChar(str, '('); - deparseAExpr(str, castNode(A_Expr, node), DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ')'); - break; - case T_ParamRef: - deparseParamRef(str, castNode(ParamRef, node)); - break; - case T_A_Indirection: - deparseAIndirection(str, castNode(A_Indirection, node)); - break; - case T_CaseExpr: - deparseCaseExpr(str, castNode(CaseExpr, node)); - break; - case T_FuncCall: - deparseFuncCall(str, castNode(FuncCall, node)); - break; - case T_SubLink: - deparseSubLink(str, castNode(SubLink, node)); - break; - case T_A_ArrayExpr: - deparseAArrayExpr(str, castNode(A_ArrayExpr, node)); - break; - case T_RowExpr: - deparseRowExpr(str, castNode(RowExpr, node)); - break; - case T_GroupingFunc: - deparseGroupingFunc(str, castNode(GroupingFunc, node)); - break; - default: - elog(ERROR, "deparse: unpermitted node type in c_expr: %d", - (int) nodeTag(node)); - break; - } -} - -// "expr_list" in gram.y -static void deparseExprList(StringInfo str, List *exprs) -{ - ListCell *lc; - foreach(lc, exprs) - { - deparseExpr(str, lfirst(lc)); - if (lnext(exprs, lc)) - appendStringInfoString(str, ", "); - } -} - -// "ColId", "name", "database_name", "access_method" and "index_name" in gram.y -static void deparseColId(StringInfo str, char *s) -{ - appendStringInfoString(str, quote_identifier(s)); -} - -// "ColLabel", "attr_name" -// -// Note this is kept separate from ColId in case we ever want to be more -// specific on how to handle keywords here -static void deparseColLabel(StringInfo str, char *s) -{ - appendStringInfoString(str, quote_identifier(s)); -} - -// "SignedIconst" and "Iconst" in gram.y -static void deparseSignedIconst(StringInfo str, Node *node) -{ - appendStringInfo(str, "%d", intVal(node)); -} - -// "indirection" and "opt_indirection" in gram.y -static void deparseOptIndirection(StringInfo str, List *indirection, int N) -{ - ListCell *lc = NULL; - - for_each_from(lc, indirection, N) - { - if (IsA(lfirst(lc), String)) - { - appendStringInfoChar(str, '.'); - deparseColLabel(str, strVal(lfirst(lc))); - } - else if (IsA(lfirst(lc), A_Star)) - { - appendStringInfoString(str, ".*"); - } - else if (IsA(lfirst(lc), A_Indices)) - { - deparseAIndices(str, castNode(A_Indices, lfirst(lc))); - } - else - { - // No other nodes should appear here - Assert(false); - } - } -} - -// "role_list" in gram.y -static void deparseRoleList(StringInfo str, List *roles) -{ - ListCell *lc; - - foreach(lc, roles) - { - RoleSpec *role_spec = castNode(RoleSpec, lfirst(lc)); - deparseRoleSpec(str, role_spec); - if (lnext(roles, lc)) - appendStringInfoString(str, ", "); - } -} - -// "SimpleTypename" in gram.y -static void deparseSimpleTypename(StringInfo str, Node *node) -{ - deparseTypeName(str, castNode(TypeName, node)); -} - -// "NumericOnly" in gram.y -static void deparseNumericOnly(StringInfo str, union ValUnion *value) -{ - switch (nodeTag(value)) - { - case T_Integer: - appendStringInfo(str, "%d", value->ival.ival); - break; - case T_Float: - appendStringInfoString(str, value->sval.sval); - break; - default: - Assert(false); - } -} - -// "NumericOnly_list" in gram.y -static void deparseNumericOnlyList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - deparseNumericOnly(str, (union ValUnion *) lfirst(lc)); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "SeqOptElem" in gram.y -static void deparseSeqOptElem(StringInfo str, DefElem *def_elem) -{ - ListCell *lc; - - if (strcmp(def_elem->defname, "as") == 0) - { - appendStringInfoString(str, "AS "); - deparseSimpleTypename(str, def_elem->arg); - } - else if (strcmp(def_elem->defname, "cache") == 0) - { - appendStringInfoString(str, "CACHE "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "cycle") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "CYCLE"); - } - else if (strcmp(def_elem->defname, "cycle") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NO CYCLE"); - } - else if (strcmp(def_elem->defname, "increment") == 0) - { - appendStringInfoString(str, "INCREMENT "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "MAXVALUE "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "NO MAXVALUE"); - } - else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "MINVALUE "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "NO MINVALUE"); - } - else if (strcmp(def_elem->defname, "owned_by") == 0) - { - appendStringInfoString(str, "OWNED BY "); - deparseAnyName(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "sequence_name") == 0) - { - appendStringInfoString(str, "SEQUENCE NAME "); - deparseAnyName(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "start") == 0) - { - appendStringInfoString(str, "START "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "RESTART"); - } - else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "RESTART "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else - { - Assert(false); - } -} - -// "SeqOptList" in gram.y -static void deparseSeqOptList(StringInfo str, List *options) -{ - ListCell *lc; - Assert(list_length(options) > 0); - foreach (lc, options) - { - deparseSeqOptElem(str, castNode(DefElem, lfirst(lc))); - appendStringInfoChar(str, ' '); - } -} - -// "OptSeqOptList" in gram.y -static void deparseOptSeqOptList(StringInfo str, List *options) -{ - if (list_length(options) > 0) - deparseSeqOptList(str, options); -} - -// "OptParenthesizedSeqOptList" in gram.y -static void deparseOptParenthesizedSeqOptList(StringInfo str, List *options) -{ - if (list_length(options) > 0) - { - appendStringInfoChar(str, '('); - deparseSeqOptList(str, options); - appendStringInfoChar(str, ')'); - } -} - -// "opt_drop_behavior" in gram.y -static void deparseOptDropBehavior(StringInfo str, DropBehavior behavior) -{ - switch (behavior) - { - case DROP_RESTRICT: - // Default - break; - case DROP_CASCADE: - appendStringInfoString(str, "CASCADE "); - break; - } -} - -// "any_operator" in gram.y -static void deparseAnyOperator(StringInfo str, List *op) -{ - Assert(isOp(strVal(llast(op)))); - if (list_length(op) == 2) - { - appendStringInfoString(str, quote_identifier(strVal(linitial(op)))); - appendStringInfoChar(str, '.'); - appendStringInfoString(str, strVal(llast(op))); - } - else if (list_length(op) == 1) - { - appendStringInfoString(str, strVal(llast(op))); - } - else - { - Assert(false); - } -} - -// "qual_Op" and "qual_all_Op" in gram.y -static void deparseQualOp(StringInfo str, List *op) -{ - if (list_length(op) == 1 && isOp(strVal(linitial(op)))) - { - appendStringInfoString(str, strVal(linitial(op))); - } - else - { - appendStringInfoString(str, "OPERATOR("); - deparseAnyOperator(str, op); - appendStringInfoString(str, ")"); - } -} - -// "subquery_Op" in gram.y -static void deparseSubqueryOp(StringInfo str, List *op) -{ - if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "~~") == 0) - { - appendStringInfoString(str, "LIKE"); - } - else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "!~~") == 0) - { - appendStringInfoString(str, "NOT LIKE"); - } - else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "~~*") == 0) - { - appendStringInfoString(str, "ILIKE"); - } - else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "!~~*") == 0) - { - appendStringInfoString(str, "NOT ILIKE"); - } - else if (list_length(op) == 1 && isOp(strVal(linitial(op)))) - { - appendStringInfoString(str, strVal(linitial(op))); - } - else - { - appendStringInfoString(str, "OPERATOR("); - deparseAnyOperator(str, op); - appendStringInfoString(str, ")"); - } -} - -// Not present directly in gram.y (usually matched by ColLabel) -static void deparseGenericDefElemName(StringInfo str, const char *in) -{ - Assert(in != NULL); - char *val = pstrdup(in); - for (unsigned char *p = (unsigned char *) val; *p; p++) - *p = pg_toupper(*p); - appendStringInfoString(str, val); - pfree(val); -} - -// "def_arg" and "operator_def_arg" in gram.y -static void deparseDefArg(StringInfo str, Node *arg, bool is_operator_def_arg) -{ - if (IsA(arg, TypeName)) // func_type - { - deparseTypeName(str, castNode(TypeName, arg)); - } - else if (IsA(arg, List)) // qual_all_Op - { - List *l = castNode(List, arg); - Assert(list_length(l) == 1 || list_length(l) == 2); - - // Schema qualified operator - if (list_length(l) == 2) - { - appendStringInfoString(str, "OPERATOR("); - deparseAnyOperator(str, l); - appendStringInfoChar(str, ')'); - } - else if (list_length(l) == 1) - { - appendStringInfoString(str, strVal(linitial(l))); - } - } - else if (IsA(arg, Float) || IsA(arg, Integer)) // NumericOnly - { - deparseValue(str, (union ValUnion *) arg, DEPARSE_NODE_CONTEXT_NONE); - } - else if (IsA(arg, String)) - { - char *s = strVal(arg); - if (!is_operator_def_arg && IsA(arg, String) && strcmp(s, "none") == 0) // NONE - { - appendStringInfoString(str, "NONE"); - } - else if (isReservedKeyword(s)) // reserved_keyword - { - appendStringInfoString(str, s); - } - else // Sconst - { - deparseStringLiteral(str, s); - } - } - else - { - Assert(false); - } -} - -// "definition" in gram.y -static void deparseDefinition(StringInfo str, List *options) -{ - ListCell *lc = NULL; - - appendStringInfoChar(str, '('); - foreach (lc, options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - if (def_elem->arg != NULL) { - appendStringInfoString(str, " = "); - deparseDefArg(str, def_elem->arg, false); - } - - if (lnext(options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); -} - -// "opt_definition" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptDefinition(StringInfo str, List *options) -{ - if (list_length(options) > 0) - { - appendStringInfoString(str, "WITH "); - deparseDefinition(str, options); - } -} - -// "create_generic_options" in gram.y -static void deparseCreateGenericOptions(StringInfo str, List *options) -{ - ListCell *lc = NULL; - - if (options == NULL) - return; - - appendStringInfoString(str, "OPTIONS ("); - foreach(lc, options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoChar(str, ' '); - deparseStringLiteral(str, strVal(def_elem->arg)); - if (lnext(options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); -} - -// "common_func_opt_item" in gram.y -static void deparseCommonFuncOptItem(StringInfo str, DefElem *def_elem) -{ - if (strcmp(def_elem->defname, "strict") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "RETURNS NULL ON NULL INPUT"); - } - else if (strcmp(def_elem->defname, "strict") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "CALLED ON NULL INPUT"); - } - else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "immutable") == 0) - { - appendStringInfoString(str, "IMMUTABLE"); - } - else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "stable") == 0) - { - appendStringInfoString(str, "STABLE"); - } - else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "volatile") == 0) - { - appendStringInfoString(str, "VOLATILE"); - } - else if (strcmp(def_elem->defname, "security") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "SECURITY DEFINER"); - } - else if (strcmp(def_elem->defname, "security") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "SECURITY INVOKER"); - } - else if (strcmp(def_elem->defname, "leakproof") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "LEAKPROOF"); - } - else if (strcmp(def_elem->defname, "leakproof") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOT LEAKPROOF"); - } - else if (strcmp(def_elem->defname, "cost") == 0) - { - appendStringInfoString(str, "COST "); - deparseValue(str, (union ValUnion *) def_elem->arg, DEPARSE_NODE_CONTEXT_NONE); - } - else if (strcmp(def_elem->defname, "rows") == 0) - { - appendStringInfoString(str, "ROWS "); - deparseValue(str, (union ValUnion *) def_elem->arg, DEPARSE_NODE_CONTEXT_NONE); - } - else if (strcmp(def_elem->defname, "support") == 0) - { - appendStringInfoString(str, "SUPPORT "); - deparseAnyName(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "set") == 0 && IsA(def_elem->arg, VariableSetStmt)) // FunctionSetResetClause - { - deparseVariableSetStmt(str, castNode(VariableSetStmt, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "parallel") == 0) - { - appendStringInfoString(str, "PARALLEL "); - appendStringInfoString(str, quote_identifier(strVal(def_elem->arg))); - } - else - { - Assert(false); - } -} - -// "NonReservedWord_or_Sconst" in gram.y -// -// Note since both identifiers and string constants are allowed here, we -// currently always return an identifier, except: -// -// 1) when the string is empty (since an empty identifier can't be scanned) -// 2) when the value is equal or larger than NAMEDATALEN (64+ characters) -static void deparseNonReservedWordOrSconst(StringInfo str, const char *val) -{ - if (strlen(val) == 0) - appendStringInfoString(str, "''"); - else if (strlen(val) >= NAMEDATALEN) - deparseStringLiteral(str, val); - else - appendStringInfoString(str, quote_identifier(val)); -} - -// "func_as" in gram.y -static void deparseFuncAs(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - char *strval = strVal(lfirst(lc)); - if (strstr(strval, "$$") == NULL) - { - appendStringInfoString(str, "$$"); - appendStringInfoString(str, strval); - appendStringInfoString(str, "$$"); - } - else - { - deparseStringLiteral(str, strval); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "createfunc_opt_item" in gram.y -static void deparseCreateFuncOptItem(StringInfo str, DefElem *def_elem) -{ - ListCell *lc = NULL; - - if (strcmp(def_elem->defname, "as") == 0) - { - appendStringInfoString(str, "AS "); - deparseFuncAs(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "language") == 0) - { - appendStringInfoString(str, "LANGUAGE "); - deparseNonReservedWordOrSconst(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "transform") == 0) - { - List *l = castNode(List, def_elem->arg); - appendStringInfoString(str, "TRANSFORM "); - foreach (lc, l) - { - appendStringInfoString(str, "FOR TYPE "); - deparseTypeName(str, castNode(TypeName, lfirst(lc))); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } - } - else if (strcmp(def_elem->defname, "window") == 0) - { - appendStringInfoString(str, "WINDOW"); - } - else - { - deparseCommonFuncOptItem(str, def_elem); - } -} - -// "alter_generic_options" in gram.y -static void deparseAlterGenericOptions(StringInfo str, List *options) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "OPTIONS ("); - foreach(lc, options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - switch (def_elem->defaction) - { - case DEFELEM_UNSPEC: - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoChar(str, ' '); - deparseStringLiteral(str, strVal(def_elem->arg)); - break; - case DEFELEM_SET: - appendStringInfoString(str, "SET "); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoChar(str, ' '); - deparseStringLiteral(str, strVal(def_elem->arg)); - break; - case DEFELEM_ADD: - appendStringInfoString(str, "ADD "); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoChar(str, ' '); - deparseStringLiteral(str, strVal(def_elem->arg)); - break; - case DEFELEM_DROP: - appendStringInfoString(str, "DROP "); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - break; - } - - if (lnext(options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); -} - -// "func_name" in gram.y -static void deparseFuncName(StringInfo str, List *func_name) -{ - ListCell *lc = NULL; - - foreach(lc, func_name) - { - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (lnext(func_name, lc)) - appendStringInfoChar(str, '.'); - } -} - -// "function_with_argtypes" in gram.y -static void deparseFunctionWithArgtypes(StringInfo str, ObjectWithArgs *object_with_args) -{ - ListCell *lc; - deparseFuncName(str, object_with_args->objname); - - if (!object_with_args->args_unspecified) - { - appendStringInfoChar(str, '('); - List *objargs = object_with_args->objargs; - if (object_with_args->objfuncargs) - objargs = object_with_args->objfuncargs; - - foreach(lc, objargs) - { - if (IsA(lfirst(lc), FunctionParameter)) - deparseFunctionParameter(str, castNode(FunctionParameter, lfirst(lc))); - else - deparseTypeName(str, castNode(TypeName, lfirst(lc))); - if (lnext(objargs, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } -} - -// "function_with_argtypes_list" in gram.y -static void deparseFunctionWithArgtypesList(StringInfo str, List *l) -{ - ListCell *lc; - - foreach(lc, l) - { - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, lfirst(lc))); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "operator_with_argtypes" in gram.y -static void deparseOperatorWithArgtypes(StringInfo str, ObjectWithArgs *object_with_args) -{ - deparseAnyOperator(str, object_with_args->objname); - - Assert(list_length(object_with_args->objargs) == 2); - appendStringInfoChar(str, '('); - if (linitial(object_with_args->objargs) == NULL) - appendStringInfoString(str, "NONE"); - else - deparseTypeName(str, castNode(TypeName, linitial(object_with_args->objargs))); - appendStringInfoString(str, ", "); - if (lsecond(object_with_args->objargs) == NULL) - appendStringInfoString(str, "NONE"); - else - deparseTypeName(str, castNode(TypeName, lsecond(object_with_args->objargs))); - appendStringInfoChar(str, ')'); -} - -// "aggr_args" in gram.y -static void deparseAggrArgs(StringInfo str, List *aggr_args) -{ - Assert(list_length(aggr_args) == 2); - - ListCell *lc = NULL; - List *args = linitial(aggr_args); - int order_by_pos = intVal(lsecond(aggr_args)); - - appendStringInfoChar(str, '('); - if (args == NULL) - { - appendStringInfoChar(str, '*'); - } - else - { - foreach(lc, args) - { - if (foreach_current_index(lc) == order_by_pos) - { - if (foreach_current_index(lc) > 0) - appendStringInfoChar(str, ' '); - appendStringInfoString(str, "ORDER BY "); - } - else if (foreach_current_index(lc) > 0) - { - appendStringInfoString(str, ", "); - } - - deparseFunctionParameter(str, castNode(FunctionParameter, lfirst(lc))); - } - - // Repeat the last direct arg as a ordered arg to handle the - // simplification done by makeOrderedSetArgs in gram.y - if (order_by_pos == list_length(args)) - { - appendStringInfoString(str, " ORDER BY "); - deparseFunctionParameter(str, castNode(FunctionParameter, llast(args))); - } - } - appendStringInfoChar(str, ')'); -} - -// "aggregate_with_argtypes" in gram.y -static void deparseAggregateWithArgtypes(StringInfo str, ObjectWithArgs *object_with_args) -{ - ListCell *lc = NULL; - - deparseFuncName(str, object_with_args->objname); - - appendStringInfoChar(str, '('); - if (object_with_args->objargs == NULL && object_with_args->objfuncargs == NULL) - { - appendStringInfoChar(str, '*'); - } - else - { - List *objargs = object_with_args->objargs; - if (object_with_args->objfuncargs) - objargs = object_with_args->objfuncargs; - - foreach(lc, objargs) - { - if (IsA(lfirst(lc), FunctionParameter)) - deparseFunctionParameter(str, castNode(FunctionParameter, lfirst(lc))); - else - deparseTypeName(str, castNode(TypeName, lfirst(lc))); - if (lnext(objargs, lc)) - appendStringInfoString(str, ", "); - } - } - appendStringInfoChar(str, ')'); -} - -// "columnList" in gram.y -static void deparseColumnList(StringInfo str, List *columns) -{ - ListCell *lc = NULL; - foreach(lc, columns) - { - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (lnext(columns, lc)) - appendStringInfoString(str, ", "); - } -} - -// "OptTemp" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptTemp(StringInfo str, char relpersistence) -{ - switch (relpersistence) - { - case RELPERSISTENCE_PERMANENT: - // Default - break; - case RELPERSISTENCE_UNLOGGED: - appendStringInfoString(str, "UNLOGGED "); - break; - case RELPERSISTENCE_TEMP: - appendStringInfoString(str, "TEMPORARY "); - break; - default: - Assert(false); - break; - } -} - -// "relation_expr_list" in gram.y -static void deparseRelationExprList(StringInfo str, List *relation_exprs) -{ - ListCell *lc = NULL; - foreach(lc, relation_exprs) - { - deparseRangeVar(str, castNode(RangeVar, lfirst(lc)), DEPARSE_NODE_CONTEXT_NONE); - if (lnext(relation_exprs, lc)) - appendStringInfoString(str, ", "); - } -} - -// "handler_name" in gram.y -static void deparseHandlerName(StringInfo str, List *handler_name) -{ - ListCell *lc = NULL; - - foreach(lc, handler_name) - { - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc)))); - if (lnext(handler_name, lc)) - appendStringInfoChar(str, '.'); - } -} - -// "fdw_options" in gram.y -static void deparseFdwOptions(StringInfo str, List *fdw_options) -{ - ListCell *lc = NULL; - - foreach (lc, fdw_options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (strcmp(def_elem->defname, "handler") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "HANDLER "); - deparseHandlerName(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "handler") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "NO HANDLER "); - } - else if (strcmp(def_elem->defname, "validator") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "VALIDATOR "); - deparseHandlerName(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "validator") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "NO VALIDATOR "); - } - else - { - Assert(false); - } - - if (lnext(fdw_options, lc)) - appendStringInfoChar(str, ' '); - } -} - -// "type_list" in gram.y -static void deparseTypeList(StringInfo str, List *type_list) -{ - ListCell *lc = NULL; - foreach(lc, type_list) - { - deparseTypeName(str, castNode(TypeName, lfirst(lc))); - if (lnext(type_list, lc)) - appendStringInfoString(str, ", "); - } -} - -// "opt_boolean_or_string" in gram.y -static void deparseOptBooleanOrString(StringInfo str, char *s) -{ - if (s == NULL) - return; // No value set - else if (strcmp(s, "true") == 0) - appendStringInfoString(str, "TRUE"); - else if (strcmp(s, "false") == 0) - appendStringInfoString(str, "FALSE"); - else if (strcmp(s, "on") == 0) - appendStringInfoString(str, "ON"); - else if (strcmp(s, "off") == 0) - appendStringInfoString(str, "OFF"); - else - deparseNonReservedWordOrSconst(str, s); -} - -static void deparseOptBoolean(StringInfo str, Node *node) -{ - if (node == NULL) - { - return; - } - - switch (nodeTag(node)) - { - case T_String: - appendStringInfo(str, " %s", strVal(node)); - break; - case T_Integer: - appendStringInfo(str, " %d", intVal(node)); - break; - case T_Boolean: - appendStringInfo(str, " %s", boolVal(node) ? "TRUE" : "FALSE"); - break; - default: - Assert(false); - break; - } -} - -bool optBooleanValue(Node *node) -{ - if (node == NULL) - { - return true; - } - - switch (nodeTag(node)) - { - case T_String: { - // Longest valid string is "off\0" - char lower[4]; - strncpy(lower, strVal(node), 4); - lower[3] = 0; - - if (strcmp(lower, "on") == 0) { - return true; - } else if (strcmp(lower, "off") == 0) { - return false; - } - - // No sane way to handle this. - return false; - } - case T_Integer: - return intVal(node) != 0; - case T_Boolean: - return boolVal(node); - default: - Assert(false); - return false; - } -} - -// "var_name" -// -// Note this is kept separate from ColId in case we want to improve the -// output of namespaced variable names -static void deparseVarName(StringInfo str, char *s) -{ - deparseColId(str, s); -} - -// "var_list" -static void deparseVarList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - if (IsA(lfirst(lc), ParamRef)) - { - deparseParamRef(str, castNode(ParamRef, lfirst(lc))); - } - else if (IsA(lfirst(lc), A_Const)) - { - A_Const *a_const = castNode(A_Const, lfirst(lc)); - if (IsA(&a_const->val, Integer) || IsA(&a_const->val, Float)) - deparseNumericOnly(str, (union ValUnion *) &a_const->val); - else if (IsA(&a_const->val, String)) - deparseOptBooleanOrString(str, strVal(&a_const->val)); - else - Assert(false); - } - else - { - Assert(false); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "transaction_mode_list" in gram.y -static void deparseTransactionModeList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach (lc, l) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - - if (strcmp(def_elem->defname, "transaction_isolation") == 0) - { - char *s = strVal(&castNode(A_Const, def_elem->arg)->val); - appendStringInfoString(str, "ISOLATION LEVEL "); - if (strcmp(s, "read uncommitted") == 0) - appendStringInfoString(str, "READ UNCOMMITTED"); - else if (strcmp(s, "read committed") == 0) - appendStringInfoString(str, "READ COMMITTED"); - else if (strcmp(s, "repeatable read") == 0) - appendStringInfoString(str, "REPEATABLE READ"); - else if (strcmp(s, "serializable") == 0) - appendStringInfoString(str, "SERIALIZABLE"); - else - Assert(false); - } - else if (strcmp(def_elem->defname, "transaction_read_only") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 1) - { - appendStringInfoString(str, "READ ONLY"); - } - else if (strcmp(def_elem->defname, "transaction_read_only") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 0) - { - appendStringInfoString(str, "READ WRITE"); - } - else if (strcmp(def_elem->defname, "transaction_deferrable") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 1) - { - appendStringInfoString(str, "DEFERRABLE"); - } - else if (strcmp(def_elem->defname, "transaction_deferrable") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 0) - { - appendStringInfoString(str, "NOT DEFERRABLE"); - } - else - { - Assert(false); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "alter_identity_column_option_list" in gram.y -static void deparseAlterIdentityColumnOptionList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach (lc, l) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg == NULL) - { - appendStringInfoString(str, "RESTART"); - } - else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg != NULL) - { - appendStringInfoString(str, "RESTART "); - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (strcmp(def_elem->defname, "generated") == 0) - { - appendStringInfoString(str, "SET GENERATED "); - if (intVal(def_elem->arg) == ATTRIBUTE_IDENTITY_ALWAYS) - appendStringInfoString(str, "ALWAYS"); - else if (intVal(def_elem->arg) == ATTRIBUTE_IDENTITY_BY_DEFAULT) - appendStringInfoString(str, "BY DEFAULT"); - else - Assert(false); - } - else - { - appendStringInfoString(str, "SET "); - deparseSeqOptElem(str, def_elem); - } - if (lnext(l, lc)) - appendStringInfoChar(str, ' '); - } -} - -// "reloptions" in gram.y -static void deparseRelOptions(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - appendStringInfoChar(str, '('); - foreach(lc, l) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (def_elem->defnamespace != NULL) - { - appendStringInfoString(str, quote_identifier(def_elem->defnamespace)); - appendStringInfoChar(str, '.'); - } - if (def_elem->defname != NULL) - appendStringInfoString(str, quote_identifier(def_elem->defname)); - if (def_elem->defname != NULL && def_elem->arg != NULL) - appendStringInfoChar(str, '='); - if (def_elem->arg != NULL) - deparseDefArg(str, def_elem->arg, false); - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); -} - -// "OptWith" and "opt_reloptions" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptWith(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - if (list_length(l) > 0) - { - appendStringInfoString(str, "WITH "); - deparseRelOptions(str, l); - appendStringInfoChar(str, ' '); - } -} - -// "target_list" and "opt_target_list" in gram.y -static void deparseTargetList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - ResTarget *res_target = castNode(ResTarget, lfirst(lc)); - - if (res_target->val == NULL) - elog(ERROR, "deparse: error in deparseTargetList: ResTarget without val"); - else if (IsA(res_target->val, ColumnRef)) - deparseColumnRef(str, castNode(ColumnRef, res_target->val)); - else - deparseExpr(str, res_target->val); - - if (res_target->name != NULL) { - appendStringInfoString(str, " AS "); - appendStringInfoString(str, quote_identifier(res_target->name)); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "insert_column_list" in gram.y -static void deparseInsertColumnList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - ResTarget *res_target = castNode(ResTarget, lfirst(lc)); - Assert(res_target->name != NULL); - appendStringInfoString(str, quote_identifier(res_target->name)); - deparseOptIndirection(str, res_target->indirection, 0); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "xml_attribute_list" in gram.y -static void deparseXmlAttributeList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - ResTarget *res_target = castNode(ResTarget, lfirst(lc)); - Assert(res_target->val != NULL); - - deparseExpr(str, res_target->val); - - if (res_target->name != NULL) - { - appendStringInfoString(str, " AS "); - appendStringInfoString(str, quote_identifier(res_target->name)); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "xml_namespace_list" in gram.y -static void deparseXmlNamespaceList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - ResTarget *res_target = castNode(ResTarget, lfirst(lc)); - Assert(res_target->val != NULL); - - if (res_target->name == NULL) - appendStringInfoString(str, "DEFAULT "); - - deparseExpr(str, res_target->val); - - if (res_target->name != NULL) - { - appendStringInfoString(str, " AS "); - appendStringInfoString(str, quote_identifier(res_target->name)); - } - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "table_ref" in gram.y -static void deparseTableRef(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_RangeVar: - deparseRangeVar(str, castNode(RangeVar, node), DEPARSE_NODE_CONTEXT_NONE); - break; - case T_RangeTableSample: - deparseRangeTableSample(str, castNode(RangeTableSample, node)); - break; - case T_RangeFunction: - deparseRangeFunction(str, castNode(RangeFunction, node)); - break; - case T_RangeTableFunc: - deparseRangeTableFunc(str, castNode(RangeTableFunc, node)); - break; - case T_RangeSubselect: - deparseRangeSubselect(str, castNode(RangeSubselect, node)); - break; - case T_JoinExpr: - deparseJoinExpr(str, castNode(JoinExpr, node)); - break; - default: - Assert(false); - } -} - -// "from_list" in gram.y -static void deparseFromList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - deparseTableRef(str, lfirst(lc)); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "from_clause" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseFromClause(StringInfo str, List *l) -{ - if (list_length(l) > 0) - { - appendStringInfoString(str, "FROM "); - deparseFromList(str, l); - appendStringInfoChar(str, ' '); - } -} - -// "where_clause" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseWhereClause(StringInfo str, Node *node) -{ - if (node != NULL) - { - appendStringInfoString(str, "WHERE "); - deparseExpr(str, node); - appendStringInfoChar(str, ' '); - } -} - -// "group_by_list" in gram.y -static void deparseGroupByList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - if (IsA(lfirst(lc), GroupingSet)) - deparseGroupingSet(str, castNode(GroupingSet, lfirst(lc))); - else - deparseExpr(str, lfirst(lc)); - - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "set_target" in gram.y -static void deparseSetTarget(StringInfo str, ResTarget *res_target) -{ - Assert(res_target->name != NULL); - deparseColId(str, res_target->name); - deparseOptIndirection(str, res_target->indirection, 0); -} - -// "any_name_list" in gram.y -static void deparseAnyNameList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - deparseAnyName(str, castNode(List, lfirst(lc))); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "name_list" in gram.y -static void deparseNameList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - deparseColId(str, strVal(lfirst(lc))); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "opt_sort_clause" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptSortClause(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - if (list_length(l) > 0) - { - appendStringInfoString(str, "ORDER BY "); - - foreach(lc, l) - { - deparseSortBy(str, castNode(SortBy, lfirst(lc))); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - } -} - -// "func_arg_expr" in gram.y -static void deparseFuncArgExpr(StringInfo str, Node *node) -{ - if (IsA(node, NamedArgExpr)) - { - NamedArgExpr *named_arg_expr = castNode(NamedArgExpr, node); - appendStringInfoString(str, named_arg_expr->name); - appendStringInfoString(str, " := "); - deparseExpr(str, (Node *) named_arg_expr->arg); - } - else - { - deparseExpr(str, node); - } -} - -// "set_clause_list" in gram.y -static void deparseSetClauseList(StringInfo str, List *target_list) -{ - ListCell *lc; - ListCell *lc2; - int skip_next_n_elems = 0; - - Assert(list_length(target_list) > 0); - - foreach(lc, target_list) - { - if (skip_next_n_elems > 0) - { - skip_next_n_elems--; - continue; - } - - if (foreach_current_index(lc) != 0) - appendStringInfoString(str, ", "); - - ResTarget *res_target = castNode(ResTarget, lfirst(lc)); - Assert(res_target->val != NULL); - - if (IsA(res_target->val, MultiAssignRef)) - { - MultiAssignRef *r = castNode(MultiAssignRef, res_target->val); - appendStringInfoString(str, "("); - for_each_cell(lc2, target_list, lc) - { - deparseSetTarget(str, castNode(ResTarget, lfirst(lc2))); - if (foreach_current_index(lc2) == r->ncolumns - 1) // Last element in this multi-assign - break; - else if (lnext(target_list, lc2)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") = "); - deparseExpr(str, r->source); - skip_next_n_elems = r->ncolumns - 1; - } - else - { - deparseSetTarget(str, res_target); - appendStringInfoString(str, " = "); - deparseExpr(str, res_target->val); - } - } -} - -// "func_expr_windowless" in gram.y -static void deparseFuncExprWindowless(StringInfo str, Node* node) -{ - switch (nodeTag(node)) - { - case T_FuncCall: - deparseFuncCall(str, castNode(FuncCall, node)); - break; - case T_SQLValueFunction: - deparseSQLValueFunction(str, castNode(SQLValueFunction, node)); - break; - case T_TypeCast: - deparseTypeCast(str, castNode(TypeCast, node)); - break; - case T_CoalesceExpr: - deparseCoalesceExpr(str, castNode(CoalesceExpr, node)); - break; - case T_MinMaxExpr: - deparseMinMaxExpr(str, castNode(MinMaxExpr, node)); - break; - case T_XmlExpr: - deparseXmlExpr(str, castNode(XmlExpr, node)); - break; - case T_XmlSerialize: - deparseXmlSerialize(str, castNode(XmlSerialize, node)); - break; - default: - Assert(false); - } -} - -// "opt_collate" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptCollate(StringInfo str, List *l) -{ - if (list_length(l) > 0) - { - appendStringInfoString(str, "COLLATE "); - deparseAnyName(str, l); - appendStringInfoChar(str, ' '); - } -} - -// "index_elem" in gram.y -static void deparseIndexElem(StringInfo str, IndexElem* index_elem) -{ - if (index_elem->name != NULL) - { - deparseColId(str, index_elem->name); - appendStringInfoChar(str, ' '); - } - else if (index_elem->expr != NULL) - { - switch (nodeTag(index_elem->expr)) - { - case T_FuncCall: - case T_SQLValueFunction: - case T_TypeCast: - case T_CoalesceExpr: - case T_MinMaxExpr: - case T_XmlExpr: - case T_XmlSerialize: - deparseFuncExprWindowless(str, index_elem->expr); - break; - default: - appendStringInfoChar(str, '('); - deparseExpr(str, index_elem->expr); - appendStringInfoString(str, ") "); - } - } - else - { - Assert(false); - } - - deparseOptCollate(str, index_elem->collation); - - if (list_length(index_elem->opclass) > 0) - { - deparseAnyName(str, index_elem->opclass); - - if (list_length(index_elem->opclassopts) > 0) - deparseRelOptions(str, index_elem->opclassopts); - - appendStringInfoChar(str, ' '); - } - - switch (index_elem->ordering) - { - case SORTBY_DEFAULT: - // Default - break; - case SORTBY_ASC: - appendStringInfoString(str, "ASC "); - break; - case SORTBY_DESC: - appendStringInfoString(str, "DESC "); - break; - case SORTBY_USING: - // Not allowed in CREATE INDEX - Assert(false); - break; - } - - switch (index_elem->nulls_ordering) - { - case SORTBY_NULLS_DEFAULT: - // Default - break; - case SORTBY_NULLS_FIRST: - appendStringInfoString(str, "NULLS FIRST "); - break; - case SORTBY_NULLS_LAST: - appendStringInfoString(str, "NULLS LAST "); - break; - } - - removeTrailingSpace(str); -} - -// "qualified_name_list" in gram.y -static void deparseQualifiedNameList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach(lc, l) - { - deparseRangeVar(str, castNode(RangeVar, lfirst(lc)), DEPARSE_NODE_CONTEXT_NONE); - if (lnext(l, lc)) - appendStringInfoString(str, ", "); - } -} - -// "OptInherit" in gram.y -// -// Note this method adds a trailing space if a value is output -static void deparseOptInherit(StringInfo str, List *l) -{ - if (list_length(l) > 0) - { - appendStringInfoString(str, "INHERITS ("); - deparseQualifiedNameList(str, l); - appendStringInfoString(str, ") "); - } -} - -// "privilege_target" in gram.y -static void deparsePrivilegeTarget(StringInfo str, GrantTargetType targtype, ObjectType objtype, List *objs) -{ - switch (targtype) - { - case ACL_TARGET_OBJECT: - switch (objtype) - { - case OBJECT_TABLE: - deparseQualifiedNameList(str, objs); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - deparseQualifiedNameList(str, objs); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - deparseNameList(str, objs); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "FOREIGN SERVER "); - deparseNameList(str, objs); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - deparseFunctionWithArgtypesList(str, objs); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - deparseFunctionWithArgtypesList(str, objs); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - deparseFunctionWithArgtypesList(str, objs); - break; - case OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - deparseNameList(str, objs); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - deparseAnyNameList(str, objs); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - deparseNameList(str, objs); - break; - case OBJECT_LARGEOBJECT: - appendStringInfoString(str, "LARGE OBJECT "); - deparseNumericOnlyList(str, objs); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - deparseNameList(str, objs); - break; - case OBJECT_TABLESPACE: - appendStringInfoString(str, "TABLESPACE "); - deparseNameList(str, objs); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - deparseAnyNameList(str, objs); - break; - default: - // Other types are not supported here - Assert(false); - break; - } - break; - case ACL_TARGET_ALL_IN_SCHEMA: - switch (objtype) - { - case OBJECT_TABLE: - appendStringInfoString(str, "ALL TABLES IN SCHEMA "); - deparseNameList(str, objs); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "ALL SEQUENCES IN SCHEMA "); - deparseNameList(str, objs); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "ALL FUNCTIONS IN SCHEMA "); - deparseNameList(str, objs); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "ALL PROCEDURES IN SCHEMA "); - deparseNameList(str, objs); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ALL ROUTINES IN SCHEMA "); - deparseNameList(str, objs); - break; - default: - // Other types are not supported here - Assert(false); - break; - } - break; - case ACL_TARGET_DEFAULTS: // defacl_privilege_target - switch (objtype) - { - case OBJECT_TABLE: - appendStringInfoString(str, "TABLES"); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTIONS"); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCES"); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPES"); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMAS"); - break; - default: - // Other types are not supported here - Assert(false); - break; - } - break; - } -} - -// "opclass_item_list" in gram.y -static void deparseOpclassItemList(StringInfo str, List *items) -{ - ListCell *lc = NULL; - - foreach (lc, items) - { - deparseCreateOpClassItem(str, castNode(CreateOpClassItem, lfirst(lc))); - if (lnext(items, lc)) - appendStringInfoString(str, ", "); - } -} - -// "createdb_opt_list" in gram.y -static void deparseCreatedbOptList(StringInfo str, List *l) -{ - ListCell *lc = NULL; - - foreach (lc, l) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (strcmp(def_elem->defname, "connection_limit") == 0) - appendStringInfoString(str, "CONNECTION LIMIT"); - else - deparseGenericDefElemName(str, def_elem->defname); - - appendStringInfoChar(str, ' '); - - if (def_elem->arg == NULL) - appendStringInfoString(str, "DEFAULT"); - else if (IsA(def_elem->arg, Integer)) - deparseSignedIconst(str, def_elem->arg); - else if (IsA(def_elem->arg, String)) - deparseOptBooleanOrString(str, strVal(def_elem->arg)); - - if (lnext(l, lc)) - appendStringInfoChar(str, ' '); - } -} - -// "utility_option_list" in gram.y -static void deparseUtilityOptionList(StringInfo str, List *options) -{ - ListCell *lc = NULL; - char *defname = NULL; - - if (list_length(options) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc, options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - deparseGenericDefElemName(str, def_elem->defname); - - if (def_elem->arg != NULL) - { - appendStringInfoChar(str, ' '); - if (IsA(def_elem->arg, Integer) || IsA(def_elem->arg, Float)) - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - else if (IsA(def_elem->arg, String)) - deparseOptBooleanOrString(str, strVal(def_elem->arg)); - else - Assert(false); - } - - if (lnext(options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } -} - -static void deparseSelectStmt(StringInfo str, SelectStmt *stmt) -{ - const ListCell *lc = NULL; - const ListCell *lc2 = NULL; - - if (stmt->withClause) - { - deparseWithClause(str, stmt->withClause); - appendStringInfoChar(str, ' '); - } - - switch (stmt->op) { - case SETOP_NONE: - if (list_length(stmt->valuesLists) > 0) - { - const ListCell *lc; - appendStringInfoString(str, "VALUES "); - - foreach(lc, stmt->valuesLists) - { - appendStringInfoChar(str, '('); - deparseExprList(str, lfirst(lc)); - appendStringInfoChar(str, ')'); - if (lnext(stmt->valuesLists, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - break; - } - - appendStringInfoString(str, "SELECT "); - - if (list_length(stmt->targetList) > 0) - { - if (stmt->distinctClause != NULL) - { - appendStringInfoString(str, "DISTINCT "); - - if (list_length(stmt->distinctClause) > 0 && linitial(stmt->distinctClause) != NULL) - { - appendStringInfoString(str, "ON ("); - deparseExprList(str, stmt->distinctClause); - appendStringInfoString(str, ") "); - } - } - - deparseTargetList(str, stmt->targetList); - appendStringInfoChar(str, ' '); - } - - if (stmt->intoClause != NULL) - { - appendStringInfoString(str, "INTO "); - deparseOptTemp(str, stmt->intoClause->rel->relpersistence); - deparseIntoClause(str, stmt->intoClause); - appendStringInfoChar(str, ' '); - } - - deparseFromClause(str, stmt->fromClause); - deparseWhereClause(str, stmt->whereClause); - - if (list_length(stmt->groupClause) > 0) - { - appendStringInfoString(str, "GROUP BY "); - if (stmt->groupDistinct) - appendStringInfoString(str, "DISTINCT "); - deparseGroupByList(str, stmt->groupClause); - appendStringInfoChar(str, ' '); - } - - if (stmt->havingClause != NULL) - { - appendStringInfoString(str, "HAVING "); - deparseExpr(str, stmt->havingClause); - appendStringInfoChar(str, ' '); - } - - if (stmt->windowClause != NULL) - { - appendStringInfoString(str, "WINDOW "); - foreach(lc, stmt->windowClause) - { - WindowDef *window_def = castNode(WindowDef, lfirst(lc)); - Assert(window_def->name != NULL); - appendStringInfoString(str, window_def->name); - appendStringInfoString(str, " AS "); - deparseWindowDef(str, window_def); - if (lnext(stmt->windowClause, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - } - break; - case SETOP_UNION: - case SETOP_INTERSECT: - case SETOP_EXCEPT: - { - bool need_larg_parens = - list_length(stmt->larg->sortClause) > 0 || - stmt->larg->limitOffset != NULL || - stmt->larg->limitCount != NULL || - list_length(stmt->larg->lockingClause) > 0 || - stmt->larg->withClause != NULL || - stmt->larg->op != SETOP_NONE; - bool need_rarg_parens = - list_length(stmt->rarg->sortClause) > 0 || - stmt->rarg->limitOffset != NULL || - stmt->rarg->limitCount != NULL || - list_length(stmt->rarg->lockingClause) > 0 || - stmt->rarg->withClause != NULL || - stmt->rarg->op != SETOP_NONE; - if (need_larg_parens) - appendStringInfoChar(str, '('); - deparseSelectStmt(str, stmt->larg); - if (need_larg_parens) - appendStringInfoChar(str, ')'); - switch (stmt->op) - { - case SETOP_UNION: - appendStringInfoString(str, " UNION "); - break; - case SETOP_INTERSECT: - appendStringInfoString(str, " INTERSECT "); - break; - case SETOP_EXCEPT: - appendStringInfoString(str, " EXCEPT "); - break; - default: - Assert(false); - } - if (stmt->all) - appendStringInfoString(str, "ALL "); - if (need_rarg_parens) - appendStringInfoChar(str, '('); - deparseSelectStmt(str, stmt->rarg); - if (need_rarg_parens) - appendStringInfoChar(str, ')'); - appendStringInfoChar(str, ' '); - } - break; - } - - deparseOptSortClause(str, stmt->sortClause); - - if (stmt->limitCount != NULL) - { - if (stmt->limitOption == LIMIT_OPTION_COUNT) - appendStringInfoString(str, "LIMIT "); - else if (stmt->limitOption == LIMIT_OPTION_WITH_TIES) - appendStringInfoString(str, "FETCH FIRST "); - - if (IsA(stmt->limitCount, A_Const) && castNode(A_Const, stmt->limitCount)->isnull) - appendStringInfoString(str, "ALL"); - else - deparseCExpr(str, stmt->limitCount); - - appendStringInfoChar(str, ' '); - - if (stmt->limitOption == LIMIT_OPTION_WITH_TIES) - appendStringInfoString(str, "ROWS WITH TIES "); - } - - if (stmt->limitOffset != NULL) - { - appendStringInfoString(str, "OFFSET "); - deparseExpr(str, stmt->limitOffset); - appendStringInfoChar(str, ' '); - } - - if (list_length(stmt->lockingClause) > 0) - { - foreach(lc, stmt->lockingClause) - { - deparseLockingClause(str, castNode(LockingClause, lfirst(lc))); - if (lnext(stmt->lockingClause, lc)) - appendStringInfoString(str, " "); - } - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseIntoClause(StringInfo str, IntoClause *into_clause) -{ - ListCell *lc; - - deparseRangeVar(str, into_clause->rel, DEPARSE_NODE_CONTEXT_NONE); /* target relation name */ - - if (list_length(into_clause->colNames) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, into_clause->colNames); - appendStringInfoChar(str, ')'); - } - appendStringInfoChar(str, ' '); - - if (into_clause->accessMethod != NULL) - { - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(into_clause->accessMethod)); - appendStringInfoChar(str, ' '); - } - - deparseOptWith(str, into_clause->options); - - switch (into_clause->onCommit) - { - case ONCOMMIT_NOOP: - // No clause - break; - case ONCOMMIT_PRESERVE_ROWS: - appendStringInfoString(str, "ON COMMIT PRESERVE ROWS "); - break; - case ONCOMMIT_DELETE_ROWS: - appendStringInfoString(str, "ON COMMIT DELETE ROWS "); - break; - case ONCOMMIT_DROP: - appendStringInfoString(str, "ON COMMIT DROP "); - break; - } - - if (into_clause->tableSpaceName != NULL) - { - appendStringInfoString(str, "TABLESPACE "); - appendStringInfoString(str, quote_identifier(into_clause->tableSpaceName)); - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseRangeVar(StringInfo str, RangeVar *range_var, DeparseNodeContext context) -{ - if (!range_var->inh && context != DEPARSE_NODE_CONTEXT_CREATE_TYPE && context != DEPARSE_NODE_CONTEXT_ALTER_TYPE) - appendStringInfoString(str, "ONLY "); - - if (range_var->catalogname != NULL) - { - appendStringInfoString(str, quote_identifier(range_var->catalogname)); - appendStringInfoChar(str, '.'); - } - - if (range_var->schemaname != NULL) - { - appendStringInfoString(str, quote_identifier(range_var->schemaname)); - appendStringInfoChar(str, '.'); - } - - Assert(range_var->relname != NULL); - appendStringInfoString(str, quote_identifier(range_var->relname)); - appendStringInfoChar(str, ' '); - - if (range_var->alias != NULL) - { - if (context == DEPARSE_NODE_CONTEXT_INSERT_RELATION) - appendStringInfoString(str, "AS "); - deparseAlias(str, range_var->alias); - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseRawStmt(StringInfo str, RawStmt *raw_stmt) -{ - if (raw_stmt->stmt == NULL) - elog(ERROR, "deparse error in deparseRawStmt: RawStmt with empty Stmt"); - - deparseStmt(str, raw_stmt->stmt); -} - -static void deparseAlias(StringInfo str, Alias *alias) -{ - appendStringInfoString(str, quote_identifier(alias->aliasname)); - - if (list_length(alias->colnames) > 0) - { - const ListCell *lc = NULL; - appendStringInfoChar(str, '('); - deparseNameList(str, alias->colnames); - appendStringInfoChar(str, ')'); - } -} - -static void deparseAConst(StringInfo str, A_Const *a_const) -{ - union ValUnion *val = a_const->isnull ? NULL : &a_const->val; - deparseValue(str, val, DEPARSE_NODE_CONTEXT_CONSTANT); -} - -static void deparseFuncCall(StringInfo str, FuncCall *func_call) -{ - const ListCell *lc = NULL; - - Assert(list_length(func_call->funcname) > 0); - - if (list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "overlay") == 0 && - list_length(func_call->args) == 4) - { - /* - * Note that this is a bit odd, but "OVERLAY" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) - */ - appendStringInfoString(str, "OVERLAY("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " PLACING "); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, " FROM "); - deparseExpr(str, lthird(func_call->args)); - appendStringInfoString(str, " FOR "); - deparseExpr(str, lfourth(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "substring") == 0) - { - /* - * "SUBSTRING" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.substring) - */ - Assert(list_length(func_call->args) == 2 || list_length(func_call->args) == 3); - appendStringInfoString(str, "SUBSTRING("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " FROM "); - deparseExpr(str, lsecond(func_call->args)); - if (list_length(func_call->args) == 3) - { - appendStringInfoString(str, " FOR "); - deparseExpr(str, lthird(func_call->args)); - } - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "position") == 0 && - list_length(func_call->args) == 2) - { - /* - * "POSITION" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.position) - * Note that the first and second arguments are switched in this format - */ - appendStringInfoString(str, "POSITION("); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, " IN "); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "overlay") == 0 && - list_length(func_call->args) == 3) - { - /* - * "OVERLAY" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) - */ - appendStringInfoString(str, "overlay("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " placing "); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, " from "); - deparseExpr(str, lthird(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "pg_collation_for") == 0 && - list_length(func_call->args) == 1) - { - /* - * "collation for" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) - */ - appendStringInfoString(str, "collation for ("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "extract") == 0 && - list_length(func_call->args) == 2) - { - /* - * "EXTRACT" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.extract) - */ - appendStringInfoString(str, "extract ("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " FROM "); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "overlaps") == 0 && - list_length(func_call->args) == 4) - { - /* - * "OVERLAPS" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlaps) - * format: (start_1, end_1) overlaps (start_2, end_2) - */ - appendStringInfoChar(str, '('); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, ", "); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, ") "); - - appendStringInfoString(str, "overlaps "); - appendStringInfoChar(str, '('); - deparseExpr(str, lthird(func_call->args)); - appendStringInfoString(str, ", "); - deparseExpr(str, lfourth(func_call->args)); - appendStringInfoString(str, ") "); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - ( - strcmp(strVal(lsecond(func_call->funcname)), "ltrim") == 0 || - strcmp(strVal(lsecond(func_call->funcname)), "btrim") == 0 || - strcmp(strVal(lsecond(func_call->funcname)), "rtrim") == 0 - )) - { - /* - * "TRIM " is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.ltrim) - * Note that the first and second arguments are switched in this format - */ - Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); - appendStringInfoString(str, "TRIM ("); - if (strcmp(strVal(lsecond(func_call->funcname)), "ltrim") == 0) - appendStringInfoString(str, "LEADING "); - else if (strcmp(strVal(lsecond(func_call->funcname)), "btrim") == 0) - appendStringInfoString(str, "BOTH "); - else if (strcmp(strVal(lsecond(func_call->funcname)), "rtrim") == 0) - appendStringInfoString(str, "TRAILING "); - - if (list_length(func_call->args) == 2) - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, " FROM "); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "timezone") == 0 && - list_length(func_call->args) == 2) - { - /* - * "AT TIME ZONE" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.timezone) - * Note that the arguments are swapped in this case - */ - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoString(str, " AT TIME ZONE "); - deparseExpr(str, linitial(func_call->args)); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "normalize") == 0) - { - /* - * "NORMALIZE" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.normalize) - */ - Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); - appendStringInfoString(str, "normalize ("); - - deparseExpr(str, linitial(func_call->args)); - if (list_length(func_call->args) == 2) - { - appendStringInfoString(str, ", "); - Assert(IsA(lsecond(func_call->args), A_Const)); - A_Const *aconst = lsecond(func_call->args); - deparseValue(str, &aconst->val, DEPARSE_NODE_CONTEXT_NONE); - } - appendStringInfoChar(str, ')'); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "is_normalized") == 0) - { - /* - * "IS NORMALIZED" is a keyword on its own merit, and only accepts the - * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.is_normalized) - */ - Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); - - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " IS "); - if (list_length(func_call->args) == 2) - { - Assert(IsA(lsecond(func_call->args), A_Const)); - A_Const *aconst = lsecond(func_call->args); - deparseValue(str, &aconst->val, DEPARSE_NODE_CONTEXT_NONE); - } - appendStringInfoString(str, " NORMALIZED "); - return; - } else if (func_call->funcformat == COERCE_SQL_SYNTAX && - list_length(func_call->funcname) == 2 && - strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && - strcmp(strVal(lsecond(func_call->funcname)), "xmlexists") == 0 && - list_length(func_call->args) == 2) - { - appendStringInfoString(str, "xmlexists ("); - deparseExpr(str, linitial(func_call->args)); - appendStringInfoString(str, " PASSING "); - deparseExpr(str, lsecond(func_call->args)); - appendStringInfoChar(str, ')'); - return; - } - - deparseFuncName(str, func_call->funcname); - appendStringInfoChar(str, '('); - - if (func_call->agg_distinct) - appendStringInfoString(str, "DISTINCT "); - - if (func_call->agg_star) - { - appendStringInfoChar(str, '*'); - } - else if (list_length(func_call->args) > 0) - { - foreach(lc, func_call->args) - { - if (func_call->func_variadic && !lnext(func_call->args, lc)) - appendStringInfoString(str, "VARIADIC "); - deparseFuncArgExpr(str, lfirst(lc)); - if (lnext(func_call->args, lc)) - appendStringInfoString(str, ", "); - } - } - appendStringInfoChar(str, ' '); - - if (func_call->agg_order != NULL && !func_call->agg_within_group) - { - deparseOptSortClause(str, func_call->agg_order); - } - - removeTrailingSpace(str); - appendStringInfoString(str, ") "); - - if (func_call->agg_order != NULL && func_call->agg_within_group) - { - appendStringInfoString(str, "WITHIN GROUP ("); - deparseOptSortClause(str, func_call->agg_order); - removeTrailingSpace(str); - appendStringInfoString(str, ") "); - } - - if (func_call->agg_filter) - { - appendStringInfoString(str, "FILTER (WHERE "); - deparseExpr(str, func_call->agg_filter); - appendStringInfoString(str, ") "); - } - - if (func_call->over) - { - appendStringInfoString(str, "OVER "); - if (func_call->over->name) - appendStringInfoString(str, func_call->over->name); - else - deparseWindowDef(str, func_call->over); - } - - removeTrailingSpace(str); -} - -static void deparseWindowDef(StringInfo str, WindowDef* window_def) -{ - ListCell *lc; - - // The parent node is responsible for outputting window_def->name - - appendStringInfoChar(str, '('); - - if (window_def->refname != NULL) - { - appendStringInfoString(str, quote_identifier(window_def->refname)); - appendStringInfoChar(str, ' '); - } - - if (list_length(window_def->partitionClause) > 0) - { - appendStringInfoString(str, "PARTITION BY "); - deparseExprList(str, window_def->partitionClause); - appendStringInfoChar(str, ' '); - } - - deparseOptSortClause(str, window_def->orderClause); - - if (window_def->frameOptions & FRAMEOPTION_NONDEFAULT) - { - if (window_def->frameOptions & FRAMEOPTION_RANGE) - appendStringInfoString(str, "RANGE "); - else if (window_def->frameOptions & FRAMEOPTION_ROWS) - appendStringInfoString(str, "ROWS "); - else if (window_def->frameOptions & FRAMEOPTION_GROUPS) - appendStringInfoString(str, "GROUPS "); - - if (window_def->frameOptions & FRAMEOPTION_BETWEEN) - appendStringInfoString(str, "BETWEEN "); - - // frame_start - if (window_def->frameOptions & FRAMEOPTION_START_UNBOUNDED_PRECEDING) - { - appendStringInfoString(str, "UNBOUNDED PRECEDING "); - } - else if (window_def->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) - { - Assert(false); // disallowed - } - else if (window_def->frameOptions & FRAMEOPTION_START_CURRENT_ROW) - { - appendStringInfoString(str, "CURRENT ROW "); - } - else if (window_def->frameOptions & FRAMEOPTION_START_OFFSET_PRECEDING) - { - Assert(window_def->startOffset != NULL); - deparseExpr(str, window_def->startOffset); - appendStringInfoString(str, " PRECEDING "); - } - else if (window_def->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) - { - Assert(window_def->startOffset != NULL); - deparseExpr(str, window_def->startOffset); - appendStringInfoString(str, " FOLLOWING "); - } - - if (window_def->frameOptions & FRAMEOPTION_BETWEEN) - { - appendStringInfoString(str, "AND "); - - // frame_end - if (window_def->frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING) - { - Assert(false); // disallowed - } - else if (window_def->frameOptions & FRAMEOPTION_END_UNBOUNDED_FOLLOWING) - { - appendStringInfoString(str, "UNBOUNDED FOLLOWING "); - } - else if (window_def->frameOptions & FRAMEOPTION_END_CURRENT_ROW) - { - appendStringInfoString(str, "CURRENT ROW "); - } - else if (window_def->frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) - { - Assert(window_def->endOffset != NULL); - deparseExpr(str, window_def->endOffset); - appendStringInfoString(str, " PRECEDING "); - } - else if (window_def->frameOptions & FRAMEOPTION_END_OFFSET_FOLLOWING) - { - Assert(window_def->endOffset != NULL); - deparseExpr(str, window_def->endOffset); - appendStringInfoString(str, " FOLLOWING "); - } - } - - if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_CURRENT_ROW) - appendStringInfoString(str, "EXCLUDE CURRENT ROW "); - else if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_GROUP) - appendStringInfoString(str, "EXCLUDE GROUP "); - else if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_TIES) - appendStringInfoString(str, "EXCLUDE TIES "); - } - - removeTrailingSpace(str); - appendStringInfoChar(str, ')'); -} - -static void deparseColumnRef(StringInfo str, ColumnRef* column_ref) -{ - Assert(list_length(column_ref->fields) >= 1); - - if (IsA(linitial(column_ref->fields), A_Star)) - deparseAStar(str, castNode(A_Star, linitial(column_ref->fields))); - else if (IsA(linitial(column_ref->fields), String)) - deparseColLabel(str, strVal(linitial(column_ref->fields))); - - deparseOptIndirection(str, column_ref->fields, 1); -} - -static void deparseSubLink(StringInfo str, SubLink* sub_link) -{ - switch (sub_link->subLinkType) { - case EXISTS_SUBLINK: - appendStringInfoString(str, "EXISTS ("); - deparseSelectStmt(str, castNode(SelectStmt, sub_link->subselect)); - appendStringInfoChar(str, ')'); - return; - case ALL_SUBLINK: - deparseExpr(str, sub_link->testexpr); - appendStringInfoChar(str, ' '); - deparseSubqueryOp(str, sub_link->operName); - appendStringInfoString(str, " ALL ("); - deparseSelectStmt(str, castNode(SelectStmt, sub_link->subselect)); - appendStringInfoChar(str, ')'); - return; - case ANY_SUBLINK: - deparseExpr(str, sub_link->testexpr); - if (list_length(sub_link->operName) > 0) - { - appendStringInfoChar(str, ' '); - deparseSubqueryOp(str, sub_link->operName); - appendStringInfoString(str, " ANY "); - } - else - { - appendStringInfoString(str, " IN "); - } - appendStringInfoChar(str, '('); - deparseSelectStmt(str, castNode(SelectStmt, sub_link->subselect)); - appendStringInfoChar(str, ')'); - return; - case ROWCOMPARE_SUBLINK: - // Not present in raw parse trees - Assert(false); - return; - case EXPR_SUBLINK: - appendStringInfoString(str, "("); - deparseSelectStmt(str, castNode(SelectStmt, sub_link->subselect)); - appendStringInfoChar(str, ')'); - return; - case MULTIEXPR_SUBLINK: - // Not present in raw parse trees - Assert(false); - return; - case ARRAY_SUBLINK: - appendStringInfoString(str, "ARRAY("); - deparseSelectStmt(str, castNode(SelectStmt, sub_link->subselect)); - appendStringInfoChar(str, ')'); - return; - case CTE_SUBLINK: /* for SubPlans only */ - // Not present in raw parse trees - Assert(false); - return; - } -} - -static void deparseAExpr(StringInfo str, A_Expr* a_expr, DeparseNodeContext context) -{ - ListCell *lc; - char *name; - - bool need_lexpr_parens = a_expr->lexpr != NULL && (IsA(a_expr->lexpr, BoolExpr) || IsA(a_expr->lexpr, NullTest) || IsA(a_expr->lexpr, A_Expr)); - bool need_rexpr_parens = a_expr->rexpr != NULL && (IsA(a_expr->rexpr, BoolExpr) || IsA(a_expr->rexpr, NullTest) || IsA(a_expr->rexpr, A_Expr)); - - switch (a_expr->kind) { - case AEXPR_OP: /* normal operator */ - { - bool need_outer_parens = context == DEPARSE_NODE_CONTEXT_A_EXPR; - - if (need_outer_parens) - appendStringInfoChar(str, '('); - if (a_expr->lexpr != NULL) - { - if (need_lexpr_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, a_expr->lexpr); - if (need_lexpr_parens) - appendStringInfoChar(str, ')'); - appendStringInfoChar(str, ' '); - } - deparseQualOp(str, a_expr->name); - if (a_expr->rexpr != NULL) - { - appendStringInfoChar(str, ' '); - if (need_rexpr_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, a_expr->rexpr); - if (need_rexpr_parens) - appendStringInfoChar(str, ')'); - } - - if (need_outer_parens) - appendStringInfoChar(str, ')'); - } - return; - case AEXPR_OP_ANY: /* scalar op ANY (array) */ - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - deparseSubqueryOp(str, a_expr->name); - appendStringInfoString(str, " ANY("); - deparseExpr(str, a_expr->rexpr); - appendStringInfoChar(str, ')'); - return; - case AEXPR_OP_ALL: /* scalar op ALL (array) */ - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - deparseSubqueryOp(str, a_expr->name); - appendStringInfoString(str, " ALL("); - deparseExpr(str, a_expr->rexpr); - appendStringInfoChar(str, ')'); - return; - case AEXPR_DISTINCT: /* IS DISTINCT FROM - name must be "=" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); - - if (need_lexpr_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, a_expr->lexpr); - if (need_lexpr_parens) - appendStringInfoChar(str, ')'); - appendStringInfoString(str, " IS DISTINCT FROM "); - if (need_rexpr_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, a_expr->rexpr); - if (need_rexpr_parens) - appendStringInfoChar(str, ')'); - return; - case AEXPR_NOT_DISTINCT: /* IS NOT DISTINCT FROM - name must be "=" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); - - deparseExpr(str, a_expr->lexpr); - appendStringInfoString(str, " IS NOT DISTINCT FROM "); - deparseExpr(str, a_expr->rexpr); - return; - case AEXPR_NULLIF: /* NULLIF - name must be "=" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); - - appendStringInfoString(str, "NULLIF("); - deparseExpr(str, a_expr->lexpr); - appendStringInfoString(str, ", "); - deparseExpr(str, a_expr->rexpr); - appendStringInfoChar(str, ')'); - return; - case AEXPR_IN: /* [NOT] IN - name must be "=" or "<>" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - Assert(IsA(a_expr->rexpr, List)); - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; - if (strcmp(name, "=") == 0) { - appendStringInfoString(str, "IN "); - } else if (strcmp(name, "<>") == 0) { - appendStringInfoString(str, "NOT IN "); - } else { - Assert(false); - } - appendStringInfoChar(str, '('); - if (IsA(a_expr->rexpr, SubLink)) - deparseSubLink(str, castNode(SubLink, a_expr->rexpr)); - else - deparseExprList(str, castNode(List, a_expr->rexpr)); - appendStringInfoChar(str, ')'); - return; - case AEXPR_LIKE: /* [NOT] LIKE - name must be "~~" or "!~~" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - - name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; - if (strcmp(name, "~~") == 0) { - appendStringInfoString(str, "LIKE "); - } else if (strcmp(name, "!~~") == 0) { - appendStringInfoString(str, "NOT LIKE "); - } else { - Assert(false); - } - - deparseExpr(str, a_expr->rexpr); - return; - case AEXPR_ILIKE: /* [NOT] ILIKE - name must be "~~*" or "!~~*" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - - name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; - if (strcmp(name, "~~*") == 0) { - appendStringInfoString(str, "ILIKE "); - } else if (strcmp(name, "!~~*") == 0) { - appendStringInfoString(str, "NOT ILIKE "); - } else { - Assert(false); - } - - deparseExpr(str, a_expr->rexpr); - return; - case AEXPR_SIMILAR: /* [NOT] SIMILAR - name must be "~" or "!~" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - - name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; - if (strcmp(name, "~") == 0) { - appendStringInfoString(str, "SIMILAR TO "); - } else if (strcmp(name, "!~") == 0) { - appendStringInfoString(str, "NOT SIMILAR TO "); - } else { - Assert(false); - } - - FuncCall *n = castNode(FuncCall, a_expr->rexpr); - Assert(list_length(n->funcname) == 2); - Assert(strcmp(strVal(linitial(n->funcname)), "pg_catalog") == 0); - Assert(strcmp(strVal(lsecond(n->funcname)), "similar_to_escape") == 0); - Assert(list_length(n->args) == 1 || list_length(n->args) == 2); - - deparseExpr(str, linitial(n->args)); - if (list_length(n->args) == 2) - { - appendStringInfoString(str, " ESCAPE "); - deparseExpr(str, lsecond(n->args)); - } - - return; - case AEXPR_BETWEEN: /* name must be "BETWEEN" */ - case AEXPR_NOT_BETWEEN: /* name must be "NOT BETWEEN" */ - case AEXPR_BETWEEN_SYM: /* name must be "BETWEEN SYMMETRIC" */ - case AEXPR_NOT_BETWEEN_SYM: /* name must be "NOT BETWEEN SYMMETRIC" */ - Assert(list_length(a_expr->name) == 1); - Assert(IsA(linitial(a_expr->name), String)); - Assert(IsA(a_expr->rexpr, List)); - - deparseExpr(str, a_expr->lexpr); - appendStringInfoChar(str, ' '); - appendStringInfoString(str, strVal(linitial(a_expr->name))); - appendStringInfoChar(str, ' '); - - foreach(lc, castNode(List, a_expr->rexpr)) { - deparseExpr(str, lfirst(lc)); - if (lnext(castNode(List, a_expr->rexpr), lc)) - appendStringInfoString(str, " AND "); - } - return; - } -} - -static void deparseBoolExpr(StringInfo str, BoolExpr *bool_expr) -{ - const ListCell *lc = NULL; - switch (bool_expr->boolop) - { - case AND_EXPR: - foreach(lc, bool_expr->args) - { - // Put parantheses around AND + OR nodes that are inside - bool need_parens = IsA(lfirst(lc), BoolExpr) && (castNode(BoolExpr, lfirst(lc))->boolop == AND_EXPR || castNode(BoolExpr, lfirst(lc))->boolop == OR_EXPR); - - if (need_parens) - appendStringInfoChar(str, '('); - - deparseExpr(str, lfirst(lc)); - - if (need_parens) - appendStringInfoChar(str, ')'); - - if (lnext(bool_expr->args, lc)) - appendStringInfoString(str, " AND "); - } - return; - case OR_EXPR: - foreach(lc, bool_expr->args) - { - // Put parantheses around AND + OR nodes that are inside - bool need_parens = IsA(lfirst(lc), BoolExpr) && (castNode(BoolExpr, lfirst(lc))->boolop == AND_EXPR || castNode(BoolExpr, lfirst(lc))->boolop == OR_EXPR); - - if (need_parens) - appendStringInfoChar(str, '('); - - deparseExpr(str, lfirst(lc)); - - if (need_parens) - appendStringInfoChar(str, ')'); - - if (lnext(bool_expr->args, lc)) - appendStringInfoString(str, " OR "); - } - return; - case NOT_EXPR: - Assert(list_length(bool_expr->args) == 1); - bool need_parens = IsA(linitial(bool_expr->args), BoolExpr) && (castNode(BoolExpr, linitial(bool_expr->args))->boolop == AND_EXPR || castNode(BoolExpr, linitial(bool_expr->args))->boolop == OR_EXPR); - appendStringInfoString(str, "NOT "); - if (need_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, linitial(bool_expr->args)); - if (need_parens) - appendStringInfoChar(str, ')'); - return; - } -} - -static void deparseAStar(StringInfo str, A_Star *a_star) -{ - appendStringInfoChar(str, '*'); -} - -static void deparseCollateClause(StringInfo str, CollateClause* collate_clause) -{ - ListCell *lc; - if (collate_clause->arg != NULL) - { - bool need_parens = IsA(collate_clause->arg, A_Expr); - if (need_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, collate_clause->arg); - if (need_parens) - appendStringInfoChar(str, ')'); - appendStringInfoChar(str, ' '); - } - appendStringInfoString(str, "COLLATE "); - deparseAnyName(str, collate_clause->collname); -} - -static void deparseSortBy(StringInfo str, SortBy* sort_by) -{ - deparseExpr(str, sort_by->node); - appendStringInfoChar(str, ' '); - - switch (sort_by->sortby_dir) - { - case SORTBY_DEFAULT: - break; - case SORTBY_ASC: - appendStringInfoString(str, "ASC "); - break; - case SORTBY_DESC: - appendStringInfoString(str, "DESC "); - break; - case SORTBY_USING: - appendStringInfoString(str, "USING "); - deparseQualOp(str, sort_by->useOp); - break; - } - - switch (sort_by->sortby_nulls) - { - case SORTBY_NULLS_DEFAULT: - break; - case SORTBY_NULLS_FIRST: - appendStringInfoString(str, "NULLS FIRST "); - break; - case SORTBY_NULLS_LAST: - appendStringInfoString(str, "NULLS LAST "); - break; - } - - removeTrailingSpace(str); -} - -static void deparseParamRef(StringInfo str, ParamRef* param_ref) -{ - if (param_ref->number == 0) { - appendStringInfoChar(str, '?'); - } else { - appendStringInfo(str, "$%d", param_ref->number); - } -} - -static void deparseSQLValueFunction(StringInfo str, SQLValueFunction* sql_value_function) -{ - switch (sql_value_function->op) - { - case SVFOP_CURRENT_DATE: - appendStringInfoString(str, "current_date"); - break; - case SVFOP_CURRENT_TIME: - appendStringInfoString(str, "current_time"); - break; - case SVFOP_CURRENT_TIME_N: - appendStringInfoString(str, "current_time"); // with precision - break; - case SVFOP_CURRENT_TIMESTAMP: - appendStringInfoString(str, "current_timestamp"); - break; - case SVFOP_CURRENT_TIMESTAMP_N: - appendStringInfoString(str, "current_timestamp"); // with precision - break; - case SVFOP_LOCALTIME: - appendStringInfoString(str, "localtime"); - break; - case SVFOP_LOCALTIME_N: - appendStringInfoString(str, "localtime"); // with precision - break; - case SVFOP_LOCALTIMESTAMP: - appendStringInfoString(str, "localtimestamp"); - break; - case SVFOP_LOCALTIMESTAMP_N: - appendStringInfoString(str, "localtimestamp"); // with precision - break; - case SVFOP_CURRENT_ROLE: - appendStringInfoString(str, "current_role"); - break; - case SVFOP_CURRENT_USER: - appendStringInfoString(str, "current_user"); - break; - case SVFOP_USER: - appendStringInfoString(str, "user"); - break; - case SVFOP_SESSION_USER: - appendStringInfoString(str, "session_user"); - break; - case SVFOP_CURRENT_CATALOG: - appendStringInfoString(str, "current_catalog"); - break; - case SVFOP_CURRENT_SCHEMA: - appendStringInfoString(str, "current_schema"); - break; - } - - if (sql_value_function->typmod != -1) - { - appendStringInfo(str, "(%d)", sql_value_function->typmod); - } -} - -static void deparseWithClause(StringInfo str, WithClause *with_clause) -{ - ListCell *lc; - - appendStringInfoString(str, "WITH "); - if (with_clause->recursive) - appendStringInfoString(str, "RECURSIVE "); - - foreach(lc, with_clause->ctes) { - deparseCommonTableExpr(str, castNode(CommonTableExpr, lfirst(lc))); - if (lnext(with_clause->ctes, lc)) - appendStringInfoString(str, ", "); - } - - removeTrailingSpace(str); -} - -static void deparseJoinExpr(StringInfo str, JoinExpr *join_expr) -{ - ListCell *lc; - bool need_alias_parens = join_expr->alias != NULL; - bool need_rarg_parens = IsA(join_expr->rarg, JoinExpr) && castNode(JoinExpr, join_expr->rarg)->alias == NULL; - - if (need_alias_parens) - appendStringInfoChar(str, '('); - - deparseTableRef(str, join_expr->larg); - - appendStringInfoChar(str, ' '); - - if (join_expr->isNatural) - appendStringInfoString(str, "NATURAL "); - - switch (join_expr->jointype) - { - case JOIN_INNER: /* matching tuple pairs only */ - if (!join_expr->isNatural && join_expr->quals == NULL && list_length(join_expr->usingClause) == 0) - appendStringInfoString(str, "CROSS "); - break; - case JOIN_LEFT: /* pairs + unmatched LHS tuples */ - appendStringInfoString(str, "LEFT "); - break; - case JOIN_FULL: /* pairs + unmatched LHS + unmatched RHS */ - appendStringInfoString(str, "FULL "); - break; - case JOIN_RIGHT: /* pairs + unmatched RHS tuples */ - appendStringInfoString(str, "RIGHT "); - break; - case JOIN_SEMI: - case JOIN_ANTI: - case JOIN_UNIQUE_OUTER: - case JOIN_UNIQUE_INNER: - // Only used by the planner/executor, not seen in parser output - Assert(false); - break; - } - - appendStringInfoString(str, "JOIN "); - - if (need_rarg_parens) - appendStringInfoChar(str, '('); - deparseTableRef(str, join_expr->rarg); - if (need_rarg_parens) - appendStringInfoChar(str, ')'); - appendStringInfoChar(str, ' '); - - if (join_expr->quals != NULL) - { - appendStringInfoString(str, "ON "); - deparseExpr(str, join_expr->quals); - appendStringInfoChar(str, ' '); - } - - if (list_length(join_expr->usingClause) > 0) - { - appendStringInfoString(str, "USING ("); - deparseNameList(str, join_expr->usingClause); - appendStringInfoString(str, ") "); - - if (join_expr->join_using_alias) - { - appendStringInfoString(str, "AS "); - appendStringInfoString(str, join_expr->join_using_alias->aliasname); - } - } - - if (need_alias_parens) - appendStringInfoString(str, ") "); - - if (join_expr->alias != NULL) - deparseAlias(str, join_expr->alias); - - removeTrailingSpace(str); -} - -static void deparseCTESearchClause(StringInfo str, CTESearchClause *search_clause) -{ - appendStringInfoString(str, " SEARCH "); - if (search_clause->search_breadth_first) - appendStringInfoString(str, "BREADTH "); - else - appendStringInfoString(str, "DEPTH "); - - appendStringInfoString(str, "FIRST BY "); - - if (search_clause->search_col_list) - deparseColumnList(str, search_clause->search_col_list); - - appendStringInfoString(str, " SET "); - appendStringInfoString(str, quote_identifier(search_clause->search_seq_column)); -} - -static void deparseCTECycleClause(StringInfo str, CTECycleClause *cycle_clause) -{ - appendStringInfoString(str, " CYCLE "); - - if (cycle_clause->cycle_col_list) - deparseColumnList(str, cycle_clause->cycle_col_list); - - appendStringInfoString(str, " SET "); - appendStringInfoString(str, quote_identifier(cycle_clause->cycle_mark_column)); - - if (cycle_clause->cycle_mark_value) - { - appendStringInfoString(str, " TO "); - deparseExpr(str, cycle_clause->cycle_mark_value); - } - - if (cycle_clause->cycle_mark_default) - { - appendStringInfoString(str, " DEFAULT "); - deparseExpr(str, cycle_clause->cycle_mark_default); - } - - appendStringInfoString(str, " USING "); - appendStringInfoString(str, quote_identifier(cycle_clause->cycle_path_column)); -} - -static void deparseCommonTableExpr(StringInfo str, CommonTableExpr *cte) -{ - deparseColId(str, cte->ctename); - - if (list_length(cte->aliascolnames) > 0) - { - appendStringInfoChar(str, '('); - deparseNameList(str, cte->aliascolnames); - appendStringInfoChar(str, ')'); - } - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "AS "); - switch (cte->ctematerialized) { - case CTEMaterializeDefault: /* no option specified */ - break; - case CTEMaterializeAlways: - appendStringInfoString(str, "MATERIALIZED "); - break; - case CTEMaterializeNever: - appendStringInfoString(str, "NOT MATERIALIZED "); - break; - } - - appendStringInfoChar(str, '('); - deparsePreparableStmt(str, cte->ctequery); - appendStringInfoChar(str, ')'); - - if (cte->search_clause) - deparseCTESearchClause(str, cte->search_clause); - if (cte->cycle_clause) - deparseCTECycleClause(str, cte->cycle_clause); -} - -static void deparseRangeSubselect(StringInfo str, RangeSubselect *range_subselect) -{ - if (range_subselect->lateral) - appendStringInfoString(str, "LATERAL "); - - appendStringInfoChar(str, '('); - deparseSelectStmt(str, castNode(SelectStmt, range_subselect->subquery)); - appendStringInfoChar(str, ')'); - - if (range_subselect->alias != NULL) - { - appendStringInfoChar(str, ' '); - deparseAlias(str, range_subselect->alias); - } -} - -static void deparseRangeFunction(StringInfo str, RangeFunction *range_func) -{ - ListCell *lc; - ListCell *lc2; - - if (range_func->lateral) - appendStringInfoString(str, "LATERAL "); - - if (range_func->is_rowsfrom) - { - appendStringInfoString(str, "ROWS FROM "); - appendStringInfoChar(str, '('); - foreach(lc, range_func->functions) - { - List *lfunc = castNode(List, lfirst(lc)); - Assert(list_length(lfunc) == 2); - deparseFuncExprWindowless(str, linitial(lfunc)); - appendStringInfoChar(str, ' '); - List *coldeflist = castNode(List, lsecond(lfunc)); - if (list_length(coldeflist) > 0) - { - appendStringInfoString(str, "AS ("); - foreach(lc2, coldeflist) - { - deparseColumnDef(str, castNode(ColumnDef, lfirst(lc2))); - if (lnext(coldeflist, lc2)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - if (lnext(range_func->functions, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - else - { - Assert(list_length(linitial(range_func->functions)) == 2); - deparseFuncExprWindowless(str, linitial(linitial(range_func->functions))); - } - appendStringInfoChar(str, ' '); - - if (range_func->ordinality) - appendStringInfoString(str, "WITH ORDINALITY "); - - if (range_func->alias != NULL) - { - deparseAlias(str, range_func->alias); - appendStringInfoChar(str, ' '); - } - - if (list_length(range_func->coldeflist) > 0) - { - if (range_func->alias == NULL) - appendStringInfoString(str, "AS "); - appendStringInfoChar(str, '('); - foreach(lc, range_func->coldeflist) - { - deparseColumnDef(str, castNode(ColumnDef, lfirst(lc))); - if (lnext(range_func->coldeflist, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - - removeTrailingSpace(str); -} - -static void deparseAArrayExpr(StringInfo str, A_ArrayExpr *array_expr) -{ - ListCell *lc; - - appendStringInfoString(str, "ARRAY["); - deparseExprList(str, array_expr->elements); - appendStringInfoChar(str, ']'); -} - -static void deparseRowExpr(StringInfo str, RowExpr *row_expr) -{ - ListCell *lc; - - switch (row_expr->row_format) - { - case COERCE_EXPLICIT_CALL: - appendStringInfoString(str, "ROW"); - break; - case COERCE_SQL_SYNTAX: - case COERCE_EXPLICIT_CAST: - // Not present in raw parser output - Assert(false); - break; - case COERCE_IMPLICIT_CAST: - // No prefix - break; - } - - appendStringInfoString(str, "("); - deparseExprList(str, row_expr->args); - appendStringInfoChar(str, ')'); -} - -static void deparseTypeCast(StringInfo str, TypeCast *type_cast) -{ - bool need_parens = false; - - Assert(type_cast->typeName != NULL); - - if (IsA(type_cast->arg, A_Expr)) - { - appendStringInfoString(str, "CAST("); - deparseExpr(str, type_cast->arg); - appendStringInfoString(str, " AS "); - deparseTypeName(str, type_cast->typeName); - appendStringInfoChar(str, ')'); - return; - } - - if (IsA(type_cast->arg, A_Const)) - { - A_Const *a_const = castNode(A_Const, type_cast->arg); - - if (list_length(type_cast->typeName->names) == 2 && - strcmp(strVal(linitial(type_cast->typeName->names)), "pg_catalog") == 0) - { - char *typename = strVal(lsecond(type_cast->typeName->names)); - if (strcmp(typename, "bpchar") == 0 && type_cast->typeName->typmods == NULL) - { - appendStringInfoString(str, "char "); - deparseAConst(str, a_const); - return; - } - else if (strcmp(typename, "bool") == 0 && IsA(&a_const->val, String)) - { - /* - * Handle "bool" or "false" in the statement, which is represented as a typecast - * (other boolean casts should be represented as a cast, i.e. don't need special handling) - */ - char *const_val = strVal(&a_const->val); - if (strcmp(const_val, "t") == 0) - { - appendStringInfoString(str, "true"); - return; - } - if (strcmp(const_val, "f") == 0) - { - appendStringInfoString(str, "false"); - return; - } - } - } - - // Ensure negative values have wrapping parentheses - if (IsA(&a_const->val, Float) || (IsA(&a_const->val, Integer) && intVal(&a_const->val) < 0)) - { - need_parens = true; - } - - if (list_length(type_cast->typeName->names) == 1 && - strcmp(strVal(linitial(type_cast->typeName->names)), "point") == 0 && - a_const->location > type_cast->typeName->location) - { - appendStringInfoString(str, " point "); - deparseAConst(str, a_const); - return; - } - } - - - if (need_parens) - appendStringInfoChar(str, '('); - deparseExpr(str, type_cast->arg); - if (need_parens) - appendStringInfoChar(str, ')'); - - appendStringInfoString(str, "::"); - deparseTypeName(str, type_cast->typeName); -} - -static void deparseTypeName(StringInfo str, TypeName *type_name) -{ - ListCell *lc; - bool skip_typmods = false; - - if (type_name->setof) - appendStringInfoString(str, "SETOF "); - - if (list_length(type_name->names) == 2 && strcmp(strVal(linitial(type_name->names)), "pg_catalog") == 0) - { - const char *name = strVal(lsecond(type_name->names)); - if (strcmp(name, "bpchar") == 0) - { - appendStringInfoString(str, "char"); - } - else if (strcmp(name, "varchar") == 0) - { - appendStringInfoString(str, "varchar"); - } - else if (strcmp(name, "numeric") == 0) - { - appendStringInfoString(str, "numeric"); - } - else if (strcmp(name, "bool") == 0) - { - appendStringInfoString(str, "boolean"); - } - else if (strcmp(name, "int2") == 0) - { - appendStringInfoString(str, "smallint"); - } - else if (strcmp(name, "int4") == 0) - { - appendStringInfoString(str, "int"); - } - else if (strcmp(name, "int8") == 0) - { - appendStringInfoString(str, "bigint"); - } - else if (strcmp(name, "real") == 0 || strcmp(name, "float4") == 0) - { - appendStringInfoString(str, "real"); - } - else if (strcmp(name, "float8") == 0) - { - appendStringInfoString(str, "double precision"); - } - else if (strcmp(name, "time") == 0) - { - appendStringInfoString(str, "time"); - } - else if (strcmp(name, "timetz") == 0) - { - appendStringInfoString(str, "time "); - if (list_length(type_name->typmods) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc, type_name->typmods) - { - deparseSignedIconst(str, (Node *) &castNode(A_Const, lfirst(lc))->val); - if (lnext(type_name->typmods, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - appendStringInfoString(str, "with time zone"); - skip_typmods = true; - } - else if (strcmp(name, "timestamp") == 0) - { - appendStringInfoString(str, "timestamp"); - } - else if (strcmp(name, "timestamptz") == 0) - { - appendStringInfoString(str, "timestamp "); - if (list_length(type_name->typmods) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc, type_name->typmods) - { - deparseSignedIconst(str, (Node *) &castNode(A_Const, lfirst(lc))->val); - if (lnext(type_name->typmods, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - appendStringInfoString(str, "with time zone"); - skip_typmods = true; - } - else if (strcmp(name, "interval") == 0 && list_length(type_name->typmods) == 0) - { - appendStringInfoString(str, "interval"); - } - else if (strcmp(name, "interval") == 0 && list_length(type_name->typmods) >= 1) - { - Assert(IsA(linitial(type_name->typmods), A_Const)); - Assert(IsA(&castNode(A_Const, linitial(type_name->typmods))->val, Integer)); - - int fields = intVal(&castNode(A_Const, linitial(type_name->typmods))->val); - - appendStringInfoString(str, "interval"); - - // This logic is based on intervaltypmodout in timestamp.c - switch (fields) - { - case INTERVAL_MASK(YEAR): - appendStringInfoString(str, " year"); - break; - case INTERVAL_MASK(MONTH): - appendStringInfoString(str, " month"); - break; - case INTERVAL_MASK(DAY): - appendStringInfoString(str, " day"); - break; - case INTERVAL_MASK(HOUR): - appendStringInfoString(str, " hour"); - break; - case INTERVAL_MASK(MINUTE): - appendStringInfoString(str, " minute"); - break; - case INTERVAL_MASK(SECOND): - appendStringInfoString(str, " second"); - break; - case INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH): - appendStringInfoString(str, " year to month"); - break; - case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR): - appendStringInfoString(str, " day to hour"); - break; - case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE): - appendStringInfoString(str, " day to minute"); - break; - case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): - appendStringInfoString(str, " day to second"); - break; - case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE): - appendStringInfoString(str, " hour to minute"); - break; - case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): - appendStringInfoString(str, " hour to second"); - break; - case INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): - appendStringInfoString(str, " minute to second"); - break; - case INTERVAL_FULL_RANGE: - // Nothing - break; - default: - Assert(false); - break; - } - - if (list_length(type_name->typmods) == 2) - { - int precision = intVal(&castNode(A_Const, lsecond(type_name->typmods))->val); - if (precision != INTERVAL_FULL_PRECISION) - appendStringInfo(str, "(%d)", precision); - } - - skip_typmods = true; - } - else - { - appendStringInfoString(str, "pg_catalog."); - appendStringInfoString(str, name); - } - } - else - { - deparseAnyName(str, type_name->names); - } - - if (list_length(type_name->typmods) > 0 && !skip_typmods) - { - appendStringInfoChar(str, '('); - foreach(lc, type_name->typmods) - { - if (IsA(lfirst(lc), A_Const)) - deparseAConst(str, lfirst(lc)); - else if (IsA(lfirst(lc), ParamRef)) - deparseParamRef(str, lfirst(lc)); - else if (IsA(lfirst(lc), ColumnRef)) - deparseColumnRef(str, lfirst(lc)); - else - Assert(false); - - if (lnext(type_name->typmods, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - - foreach(lc, type_name->arrayBounds) - { - appendStringInfoChar(str, '['); - if (IsA(lfirst(lc), Integer) && intVal(lfirst(lc)) != -1) - deparseSignedIconst(str, lfirst(lc)); - appendStringInfoChar(str, ']'); - } - - if (type_name->pct_type) - appendStringInfoString(str, "%type"); -} - -static void deparseNullTest(StringInfo str, NullTest *null_test) -{ - // argisrow is always false in raw parser output - Assert(null_test->argisrow == false); - - deparseExpr(str, (Node *) null_test->arg); - switch (null_test->nulltesttype) - { - case IS_NULL: - appendStringInfoString(str, " IS NULL"); - break; - case IS_NOT_NULL: - appendStringInfoString(str, " IS NOT NULL"); - break; - } -} - -static void deparseCaseExpr(StringInfo str, CaseExpr *case_expr) -{ - ListCell *lc; - - appendStringInfoString(str, "CASE "); - - if (case_expr->arg != NULL) - { - deparseExpr(str, (Node *) case_expr->arg); - appendStringInfoChar(str, ' '); - } - - foreach(lc, case_expr->args) - { - deparseCaseWhen(str, castNode(CaseWhen, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - - if (case_expr->defresult != NULL) - { - appendStringInfoString(str, "ELSE "); - deparseExpr(str, (Node *) case_expr->defresult); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "END"); -} - -static void deparseCaseWhen(StringInfo str, CaseWhen *case_when) -{ - appendStringInfoString(str, "WHEN "); - deparseExpr(str, (Node *) case_when->expr); - appendStringInfoString(str, " THEN "); - deparseExpr(str, (Node *) case_when->result); -} - -static void deparseAIndirection(StringInfo str, A_Indirection *a_indirection) -{ - ListCell *lc; - bool need_parens = - IsA(a_indirection->arg, A_Indirection) || - IsA(a_indirection->arg, FuncCall) || - IsA(a_indirection->arg, A_Expr) || - IsA(a_indirection->arg, TypeCast) || - IsA(a_indirection->arg, RowExpr) || - (IsA(a_indirection->arg, ColumnRef) && !IsA(linitial(a_indirection->indirection), A_Indices)); - - if (need_parens) - appendStringInfoChar(str, '('); - - deparseExpr(str, a_indirection->arg); - - if (need_parens) - appendStringInfoChar(str, ')'); - - deparseOptIndirection(str, a_indirection->indirection, 0); -} - -static void deparseAIndices(StringInfo str, A_Indices *a_indices) -{ - appendStringInfoChar(str, '['); - if (a_indices->lidx != NULL) - deparseExpr(str, a_indices->lidx); - if (a_indices->is_slice) - appendStringInfoChar(str, ':'); - if (a_indices->uidx != NULL) - deparseExpr(str, a_indices->uidx); - appendStringInfoChar(str, ']'); -} - -static void deparseCoalesceExpr(StringInfo str, CoalesceExpr *coalesce_expr) -{ - appendStringInfoString(str, "COALESCE("); - deparseExprList(str, coalesce_expr->args); - appendStringInfoChar(str, ')'); -} - -static void deparseMinMaxExpr(StringInfo str, MinMaxExpr *min_max_expr) -{ - switch (min_max_expr->op) - { - case IS_GREATEST: - appendStringInfoString(str, "GREATEST("); - break; - case IS_LEAST: - appendStringInfoString(str, "LEAST("); - break; - } - deparseExprList(str, min_max_expr->args); - appendStringInfoChar(str, ')'); -} - -static void deparseBooleanTest(StringInfo str, BooleanTest *boolean_test) -{ - deparseExpr(str, (Node *) boolean_test->arg); - switch (boolean_test->booltesttype) - { - case IS_TRUE: - appendStringInfoString(str, " IS TRUE"); - break; - case IS_NOT_TRUE: - appendStringInfoString(str, " IS NOT TRUE"); - break; - case IS_FALSE: - appendStringInfoString(str, " IS FALSE"); - break; - case IS_NOT_FALSE: - appendStringInfoString(str, " IS NOT FALSE"); - break; - case IS_UNKNOWN: - appendStringInfoString(str, " IS UNKNOWN"); - break; - case IS_NOT_UNKNOWN: - appendStringInfoString(str, " IS NOT UNKNOWN"); - break; - default: - Assert(false); - } -} - -static void deparseColumnDef(StringInfo str, ColumnDef *column_def) -{ - ListCell *lc; - - if (column_def->colname != NULL) - { - appendStringInfoString(str, quote_identifier(column_def->colname)); - appendStringInfoChar(str, ' '); - } - - if (column_def->typeName != NULL) - { - deparseTypeName(str, column_def->typeName); - appendStringInfoChar(str, ' '); - } - - if (column_def->raw_default != NULL) - { - appendStringInfoString(str, "USING "); - deparseExpr(str, column_def->raw_default); - appendStringInfoChar(str, ' '); - } - - if (column_def->fdwoptions != NULL) - { - deparseCreateGenericOptions(str, column_def->fdwoptions); - appendStringInfoChar(str, ' '); - } - - foreach(lc, column_def->constraints) - { - deparseConstraint(str, castNode(Constraint, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - - if (column_def->collClause != NULL) - { - deparseCollateClause(str, column_def->collClause); - } - - removeTrailingSpace(str); -} - -static void deparseInsertOverride(StringInfo str, OverridingKind override) -{ - switch (override) - { - case OVERRIDING_NOT_SET: - // Do nothing - break; - case OVERRIDING_USER_VALUE: - appendStringInfoString(str, "OVERRIDING USER VALUE "); - break; - case OVERRIDING_SYSTEM_VALUE: - appendStringInfoString(str, "OVERRIDING SYSTEM VALUE "); - break; - } -} - -static void deparseInsertStmt(StringInfo str, InsertStmt *insert_stmt) -{ - ListCell *lc; - ListCell *lc2; - - if (insert_stmt->withClause != NULL) - { - deparseWithClause(str, insert_stmt->withClause); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "INSERT INTO "); - deparseRangeVar(str, insert_stmt->relation, DEPARSE_NODE_CONTEXT_INSERT_RELATION); - appendStringInfoChar(str, ' '); - - if (list_length(insert_stmt->cols) > 0) - { - appendStringInfoChar(str, '('); - deparseInsertColumnList(str, insert_stmt->cols); - appendStringInfoString(str, ") "); - } - - deparseInsertOverride(str, insert_stmt->override); - - if (insert_stmt->selectStmt != NULL) - { - deparseSelectStmt(str, castNode(SelectStmt, insert_stmt->selectStmt)); - appendStringInfoChar(str, ' '); - } - else - { - appendStringInfoString(str, "DEFAULT VALUES "); - } - - if (insert_stmt->onConflictClause != NULL) - { - deparseOnConflictClause(str, insert_stmt->onConflictClause); - appendStringInfoChar(str, ' '); - } - - if (list_length(insert_stmt->returningList) > 0) - { - appendStringInfoString(str, "RETURNING "); - deparseTargetList(str, insert_stmt->returningList); - } - - removeTrailingSpace(str); -} - -static void deparseInferClause(StringInfo str, InferClause *infer_clause) -{ - ListCell *lc; - - if (list_length(infer_clause->indexElems) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc, infer_clause->indexElems) - { - deparseIndexElem(str, lfirst(lc)); - if (lnext(infer_clause->indexElems, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - - if (infer_clause->conname != NULL) - { - appendStringInfoString(str, "ON CONSTRAINT "); - appendStringInfoString(str, quote_identifier(infer_clause->conname)); - appendStringInfoChar(str, ' '); - } - - deparseWhereClause(str, infer_clause->whereClause); - - removeTrailingSpace(str); -} - -static void deparseOnConflictClause(StringInfo str, OnConflictClause *on_conflict_clause) -{ - ListCell *lc; - - appendStringInfoString(str, "ON CONFLICT "); - - if (on_conflict_clause->infer != NULL) - { - deparseInferClause(str, on_conflict_clause->infer); - appendStringInfoChar(str, ' '); - } - - switch (on_conflict_clause->action) - { - case ONCONFLICT_NONE: - Assert(false); - break; - case ONCONFLICT_NOTHING: - appendStringInfoString(str, "DO NOTHING "); - break; - case ONCONFLICT_UPDATE: - appendStringInfoString(str, "DO UPDATE "); - break; - } - - if (list_length(on_conflict_clause->targetList) > 0) - { - appendStringInfoString(str, "SET "); - deparseSetClauseList(str, on_conflict_clause->targetList); - appendStringInfoChar(str, ' '); - } - - deparseWhereClause(str, on_conflict_clause->whereClause); - - removeTrailingSpace(str); -} - -static void deparseUpdateStmt(StringInfo str, UpdateStmt *update_stmt) -{ - ListCell* lc; - ListCell* lc2; - ListCell* lc3; - - if (update_stmt->withClause != NULL) - { - deparseWithClause(str, update_stmt->withClause); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "UPDATE "); - deparseRangeVar(str, update_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (list_length(update_stmt->targetList) > 0) - { - appendStringInfoString(str, "SET "); - deparseSetClauseList(str, update_stmt->targetList); - appendStringInfoChar(str, ' '); - } - - deparseFromClause(str, update_stmt->fromClause); - deparseWhereClause(str, update_stmt->whereClause); - - if (list_length(update_stmt->returningList) > 0) - { - appendStringInfoString(str, "RETURNING "); - deparseTargetList(str, update_stmt->returningList); - } - - removeTrailingSpace(str); -} - -static void deparseMergeStmt(StringInfo str, MergeStmt *merge_stmt) -{ - if (merge_stmt->withClause != NULL) - { - deparseWithClause(str, merge_stmt->withClause); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "MERGE INTO "); - deparseRangeVar(str, merge_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "USING "); - deparseTableRef(str, merge_stmt->sourceRelation); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "ON "); - deparseExpr(str, merge_stmt->joinCondition); - appendStringInfoChar(str, ' '); - - ListCell *lc, *lc2; - foreach (lc, merge_stmt->mergeWhenClauses) - { - MergeWhenClause *clause = castNode(MergeWhenClause, lfirst(lc)); - - appendStringInfoString(str, "WHEN "); - - if (!clause->matched) - { - appendStringInfoString(str, "NOT "); - } - - appendStringInfoString(str, "MATCHED "); - - if (clause->condition) - { - appendStringInfoString(str, "AND "); - deparseExpr(str, clause->condition); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "THEN "); - - switch (clause->commandType) { - case CMD_INSERT: - appendStringInfoString(str, "INSERT "); - - if (clause->targetList) { - appendStringInfoChar(str, '('); - deparseInsertColumnList(str, clause->targetList); - appendStringInfoString(str, ") "); - } - - deparseInsertOverride(str, clause->override); - - if (clause->values) { - appendStringInfoString(str, "VALUES ("); - deparseExprList(str, clause->values); - appendStringInfoString(str, ")"); - } else { - appendStringInfoString(str, "DEFAULT VALUES "); - } - - break; - case CMD_UPDATE: - appendStringInfoString(str, "UPDATE SET "); - deparseSetClauseList(str, clause->targetList); - break; - case CMD_DELETE: - appendStringInfoString(str, "DELETE"); - break; - case CMD_NOTHING: - appendStringInfoString(str, "DO NOTHING"); - break; - default: - elog(ERROR, "deparse: unpermitted command type in merge statement: %d", clause->commandType); - break; - } - - if (lfirst(lc) != llast(merge_stmt->mergeWhenClauses)) - appendStringInfoChar(str, ' '); - } -} - -static void deparseDeleteStmt(StringInfo str, DeleteStmt *delete_stmt) -{ - if (delete_stmt->withClause != NULL) - { - deparseWithClause(str, delete_stmt->withClause); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "DELETE FROM "); - deparseRangeVar(str, delete_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (delete_stmt->usingClause != NULL) - { - appendStringInfoString(str, "USING "); - deparseFromList(str, delete_stmt->usingClause); - appendStringInfoChar(str, ' '); - } - - deparseWhereClause(str, delete_stmt->whereClause); - - if (list_length(delete_stmt->returningList) > 0) - { - appendStringInfoString(str, "RETURNING "); - deparseTargetList(str, delete_stmt->returningList); - } - - removeTrailingSpace(str); -} - -static void deparseLockingClause(StringInfo str, LockingClause *locking_clause) -{ - ListCell *lc; - - switch (locking_clause->strength) - { - case LCS_NONE: - /* no such clause - only used in PlanRowMark */ - Assert(false); - break; - case LCS_FORKEYSHARE: - appendStringInfoString(str, "FOR KEY SHARE "); - break; - case LCS_FORSHARE: - appendStringInfoString(str, "FOR SHARE "); - break; - case LCS_FORNOKEYUPDATE: - appendStringInfoString(str, "FOR NO KEY UPDATE "); - break; - case LCS_FORUPDATE: - appendStringInfoString(str, "FOR UPDATE "); - break; - } - - if (list_length(locking_clause->lockedRels) > 0) - { - appendStringInfoString(str, "OF "); - deparseQualifiedNameList(str, locking_clause->lockedRels); - } - - switch (locking_clause->waitPolicy) - { - case LockWaitError: - appendStringInfoString(str, "NOWAIT"); - break; - case LockWaitSkip: - appendStringInfoString(str, "SKIP LOCKED"); - break; - case LockWaitBlock: - // Default - break; - } - - removeTrailingSpace(str); -} - -static void deparseSetToDefault(StringInfo str, SetToDefault *set_to_default) -{ - appendStringInfoString(str, "DEFAULT"); -} - -static void deparseCreateCastStmt(StringInfo str, CreateCastStmt *create_cast_stmt) -{ - ListCell *lc; - ListCell *lc2; - - appendStringInfoString(str, "CREATE CAST ("); - deparseTypeName(str, create_cast_stmt->sourcetype); - appendStringInfoString(str, " AS "); - deparseTypeName(str, create_cast_stmt->targettype); - appendStringInfoString(str, ") "); - - if (create_cast_stmt->func != NULL) - { - appendStringInfoString(str, "WITH FUNCTION "); - deparseFunctionWithArgtypes(str, create_cast_stmt->func); - appendStringInfoChar(str, ' '); - } - else if (create_cast_stmt->inout) - { - appendStringInfoString(str, "WITH INOUT "); - } - else - { - appendStringInfoString(str, "WITHOUT FUNCTION "); - } - - switch (create_cast_stmt->context) - { - case COERCION_IMPLICIT: - appendStringInfoString(str, "AS IMPLICIT"); - break; - case COERCION_ASSIGNMENT: - appendStringInfoString(str, "AS ASSIGNMENT"); - break; - case COERCION_PLPGSQL: - // Not present in raw parser output - Assert(false); - break; - case COERCION_EXPLICIT: - // Default - break; - } -} - -static void deparseCreateOpClassStmt(StringInfo str, CreateOpClassStmt *create_op_class_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "CREATE OPERATOR CLASS "); - - deparseAnyName(str, create_op_class_stmt->opclassname); - appendStringInfoChar(str, ' '); - - if (create_op_class_stmt->isDefault) - appendStringInfoString(str, "DEFAULT "); - - appendStringInfoString(str, "FOR TYPE "); - deparseTypeName(str, create_op_class_stmt->datatype); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(create_op_class_stmt->amname)); - appendStringInfoChar(str, ' '); - - if (create_op_class_stmt->opfamilyname != NULL) - { - appendStringInfoString(str, "FAMILY "); - deparseAnyName(str, create_op_class_stmt->opfamilyname); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "AS "); - deparseOpclassItemList(str, create_op_class_stmt->items); -} - -static void deparseCreateOpFamilyStmt(StringInfo str, CreateOpFamilyStmt *create_op_family_stmt) -{ - appendStringInfoString(str, "CREATE OPERATOR FAMILY "); - - deparseAnyName(str, create_op_family_stmt->opfamilyname); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(create_op_family_stmt->amname)); -} - -static void deparseCreateOpClassItem(StringInfo str, CreateOpClassItem *create_op_class_item) -{ - ListCell *lc = NULL; - - switch (create_op_class_item->itemtype) - { - case OPCLASS_ITEM_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - appendStringInfo(str, "%d ", create_op_class_item->number); - - if (create_op_class_item->name != NULL) - { - if (create_op_class_item->name->objargs != NULL) - deparseOperatorWithArgtypes(str, create_op_class_item->name); - else - deparseAnyOperator(str, create_op_class_item->name->objname); - appendStringInfoChar(str, ' '); - } - - if (create_op_class_item->order_family != NULL) - { - appendStringInfoString(str, "FOR ORDER BY "); - deparseAnyName(str, create_op_class_item->order_family); - } - - if (create_op_class_item->class_args != NULL) - { - appendStringInfoChar(str, '('); - deparseTypeList(str, create_op_class_item->class_args); - appendStringInfoChar(str, ')'); - } - removeTrailingSpace(str); - break; - case OPCLASS_ITEM_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - appendStringInfo(str, "%d ", create_op_class_item->number); - if (create_op_class_item->class_args != NULL) - { - appendStringInfoChar(str, '('); - deparseTypeList(str, create_op_class_item->class_args); - appendStringInfoString(str, ") "); - } - if (create_op_class_item->name != NULL) - deparseFunctionWithArgtypes(str, create_op_class_item->name); - removeTrailingSpace(str); - break; - case OPCLASS_ITEM_STORAGETYPE: - appendStringInfoString(str, "STORAGE "); - deparseTypeName(str, create_op_class_item->storedtype); - break; - default: - Assert(false); - } -} - -static void deparseTableLikeClause(StringInfo str, TableLikeClause *table_like_clause) -{ - appendStringInfoString(str, "LIKE "); - deparseRangeVar(str, table_like_clause->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (table_like_clause->options == CREATE_TABLE_LIKE_ALL) - appendStringInfoString(str, "INCLUDING ALL "); - else - { - if (table_like_clause->options & CREATE_TABLE_LIKE_COMMENTS) - appendStringInfoString(str, "INCLUDING COMMENTS "); - if (table_like_clause->options & CREATE_TABLE_LIKE_CONSTRAINTS) - appendStringInfoString(str, "INCLUDING CONSTRAINTS "); - if (table_like_clause->options & CREATE_TABLE_LIKE_DEFAULTS) - appendStringInfoString(str, "INCLUDING DEFAULTS "); - if (table_like_clause->options & CREATE_TABLE_LIKE_IDENTITY) - appendStringInfoString(str, "INCLUDING IDENTITY "); - if (table_like_clause->options & CREATE_TABLE_LIKE_GENERATED) - appendStringInfoString(str, "INCLUDING GENERATED "); - if (table_like_clause->options & CREATE_TABLE_LIKE_INDEXES) - appendStringInfoString(str, "INCLUDING INDEXES "); - if (table_like_clause->options & CREATE_TABLE_LIKE_STATISTICS) - appendStringInfoString(str, "INCLUDING STATISTICS "); - if (table_like_clause->options & CREATE_TABLE_LIKE_STORAGE) - appendStringInfoString(str, "INCLUDING STORAGE "); - } - removeTrailingSpace(str); -} - -static void deparseCreateDomainStmt(StringInfo str, CreateDomainStmt *create_domain_stmt) -{ - ListCell *lc; - - Assert(create_domain_stmt->typeName != NULL); - - appendStringInfoString(str, "CREATE DOMAIN "); - deparseAnyName(str, create_domain_stmt->domainname); - appendStringInfoString(str, " AS "); - - deparseTypeName(str, create_domain_stmt->typeName); - appendStringInfoChar(str, ' '); - - if (create_domain_stmt->collClause != NULL) - { - deparseCollateClause(str, create_domain_stmt->collClause); - appendStringInfoChar(str, ' '); - } - - foreach(lc, create_domain_stmt->constraints) - { - deparseConstraint(str, castNode(Constraint, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseCreateExtensionStmt(StringInfo str, CreateExtensionStmt *create_extension_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "CREATE EXTENSION "); - - if (create_extension_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseColId(str, create_extension_stmt->extname); - appendStringInfoChar(str, ' '); - - foreach (lc, create_extension_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - - if (strcmp(def_elem->defname, "schema") == 0) - { - appendStringInfoString(str, "SCHEMA "); - deparseColId(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "new_version") == 0) - { - appendStringInfoString(str, "VERSION "); - deparseNonReservedWordOrSconst(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "cascade") == 0) - { - appendStringInfoString(str, "CASCADE"); - } - else - { - Assert(false); - } - - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseConstraint(StringInfo str, Constraint *constraint) -{ - ListCell *lc; - - if (constraint->conname != NULL) - { - appendStringInfoString(str, "CONSTRAINT "); - appendStringInfoString(str, constraint->conname); - appendStringInfoChar(str, ' '); - } - - switch (constraint->contype) { - case CONSTR_NULL: - appendStringInfoString(str, "NULL "); - break; - case CONSTR_NOTNULL: - appendStringInfoString(str, "NOT NULL "); - break; - case CONSTR_DEFAULT: - appendStringInfoString(str, "DEFAULT "); - deparseExpr(str, constraint->raw_expr); - break; - case CONSTR_IDENTITY: - appendStringInfoString(str, "GENERATED "); - switch (constraint->generated_when) - { - case ATTRIBUTE_IDENTITY_ALWAYS: - appendStringInfoString(str, "ALWAYS "); - break; - case ATTRIBUTE_IDENTITY_BY_DEFAULT: - appendStringInfoString(str, "BY DEFAULT "); - break; - default: - Assert(false); - } - appendStringInfoString(str, "AS IDENTITY "); - deparseOptParenthesizedSeqOptList(str, constraint->options); - break; - case CONSTR_GENERATED: - Assert(constraint->generated_when == ATTRIBUTE_IDENTITY_ALWAYS); - appendStringInfoString(str, "GENERATED ALWAYS AS ("); - deparseExpr(str, constraint->raw_expr); - appendStringInfoString(str, ") STORED "); - break; - case CONSTR_CHECK: - appendStringInfoString(str, "CHECK ("); - deparseExpr(str, constraint->raw_expr); - appendStringInfoString(str, ") "); - break; - case CONSTR_PRIMARY: - appendStringInfoString(str, "PRIMARY KEY "); - break; - case CONSTR_UNIQUE: - appendStringInfoString(str, "UNIQUE "); - break; - case CONSTR_EXCLUSION: - appendStringInfoString(str, "EXCLUDE "); - if (strcmp(constraint->access_method, DEFAULT_INDEX_TYPE) != 0) - { - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(constraint->access_method)); - appendStringInfoChar(str, ' '); - } - appendStringInfoChar(str, '('); - foreach(lc, constraint->exclusions) - { - List *exclusion = castNode(List, lfirst(lc)); - Assert(list_length(exclusion) == 2); - deparseIndexElem(str, castNode(IndexElem, linitial(exclusion))); - appendStringInfoString(str, " WITH "); - deparseAnyOperator(str, castNode(List, lsecond(exclusion))); - if (lnext(constraint->exclusions, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - if (constraint->where_clause != NULL) - { - appendStringInfoString(str, "WHERE ("); - deparseExpr(str, constraint->where_clause); - appendStringInfoString(str, ") "); - } - break; - case CONSTR_FOREIGN: - if (list_length(constraint->fk_attrs) > 0) - appendStringInfoString(str, "FOREIGN KEY "); - break; - case CONSTR_ATTR_DEFERRABLE: - appendStringInfoString(str, "DEFERRABLE "); - break; - case CONSTR_ATTR_NOT_DEFERRABLE: - appendStringInfoString(str, "NOT DEFERRABLE "); - break; - case CONSTR_ATTR_DEFERRED: - appendStringInfoString(str, "INITIALLY DEFERRED "); - break; - case CONSTR_ATTR_IMMEDIATE: - appendStringInfoString(str, "INITIALLY IMMEDIATE "); - break; - } - - if (list_length(constraint->keys) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, constraint->keys); - appendStringInfoString(str, ") "); - } - - if (list_length(constraint->fk_attrs) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, constraint->fk_attrs); - appendStringInfoString(str, ") "); - } - - if (constraint->pktable != NULL) - { - appendStringInfoString(str, "REFERENCES "); - deparseRangeVar(str, constraint->pktable, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - if (list_length(constraint->pk_attrs) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, constraint->pk_attrs); - appendStringInfoString(str, ") "); - } - } - - switch (constraint->fk_matchtype) - { - case FKCONSTR_MATCH_SIMPLE: - // Default - break; - case FKCONSTR_MATCH_FULL: - appendStringInfoString(str, "MATCH FULL "); - break; - case FKCONSTR_MATCH_PARTIAL: - // Not implemented in Postgres - Assert(false); - break; - default: - // Not specified - break; - } - - switch (constraint->fk_upd_action) - { - case FKCONSTR_ACTION_NOACTION: - // Default - break; - case FKCONSTR_ACTION_RESTRICT: - appendStringInfoString(str, "ON UPDATE RESTRICT "); - break; - case FKCONSTR_ACTION_CASCADE: - appendStringInfoString(str, "ON UPDATE CASCADE "); - break; - case FKCONSTR_ACTION_SETNULL: - appendStringInfoString(str, "ON UPDATE SET NULL "); - break; - case FKCONSTR_ACTION_SETDEFAULT: - appendStringInfoString(str, "ON UPDATE SET DEFAULT "); - break; - default: - // Not specified - break; - } - - switch (constraint->fk_del_action) - { - case FKCONSTR_ACTION_NOACTION: - // Default - break; - case FKCONSTR_ACTION_RESTRICT: - appendStringInfoString(str, "ON DELETE RESTRICT "); - break; - case FKCONSTR_ACTION_CASCADE: - appendStringInfoString(str, "ON DELETE CASCADE "); - break; - case FKCONSTR_ACTION_SETNULL: - case FKCONSTR_ACTION_SETDEFAULT: - appendStringInfoString(str, "ON DELETE SET "); - - switch (constraint->fk_del_action) { - case FKCONSTR_ACTION_SETDEFAULT: appendStringInfoString(str, "DEFAULT "); break; - case FKCONSTR_ACTION_SETNULL: appendStringInfoString(str, "NULL "); break; - } - - if (constraint->fk_del_set_cols) { - appendStringInfoString(str, "("); - ListCell *lc; - foreach (lc, constraint->fk_del_set_cols) { - appendStringInfoString(str, strVal(lfirst(lc))); - if (lfirst(lc) != llast(constraint->fk_del_set_cols)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ")"); - } - break; - default: - // Not specified - break; - } - - if (list_length(constraint->including) > 0) - { - appendStringInfoString(str, "INCLUDE ("); - deparseColumnList(str, constraint->including); - appendStringInfoString(str, ") "); - } - - if (constraint->indexname != NULL) - appendStringInfo(str, "USING INDEX %s ", quote_identifier(constraint->indexname)); - - if (constraint->indexspace != NULL) - appendStringInfo(str, "USING INDEX TABLESPACE %s ", quote_identifier(constraint->indexspace)); - - if (constraint->deferrable) - appendStringInfoString(str, "DEFERRABLE "); - - if (constraint->initdeferred) - appendStringInfoString(str, "INITIALLY DEFERRED "); - - if (constraint->is_no_inherit) - appendStringInfoString(str, "NO INHERIT "); - - if (constraint->skip_validation) - appendStringInfoString(str, "NOT VALID "); - - removeTrailingSpace(str); -} - -static void deparseReturnStmt(StringInfo str, ReturnStmt *return_stmt) -{ - appendStringInfoString(str, "RETURN "); - deparseExpr(str, return_stmt->returnval); -} - -static void deparseCreateFunctionStmt(StringInfo str, CreateFunctionStmt *create_function_stmt) -{ - ListCell *lc; - bool tableFunc = false; - - appendStringInfoString(str, "CREATE "); - if (create_function_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - if (create_function_stmt->is_procedure) - appendStringInfoString(str, "PROCEDURE "); - else - appendStringInfoString(str, "FUNCTION "); - - deparseFuncName(str, create_function_stmt->funcname); - - appendStringInfoChar(str, '('); - foreach(lc, create_function_stmt->parameters) - { - FunctionParameter *function_parameter = castNode(FunctionParameter, lfirst(lc)); - if (function_parameter->mode != FUNC_PARAM_TABLE) - { - deparseFunctionParameter(str, function_parameter); - if (lnext(create_function_stmt->parameters, lc) && castNode(FunctionParameter, lfirst(lnext(create_function_stmt->parameters, lc)))->mode != FUNC_PARAM_TABLE) - appendStringInfoString(str, ", "); - } - else - { - tableFunc = true; - } - } - appendStringInfoString(str, ") "); - - if (tableFunc) - { - appendStringInfoString(str, "RETURNS TABLE ("); - foreach(lc, create_function_stmt->parameters) - { - FunctionParameter *function_parameter = castNode(FunctionParameter, lfirst(lc)); - if (function_parameter->mode == FUNC_PARAM_TABLE) - { - deparseFunctionParameter(str, function_parameter); - if (lnext(create_function_stmt->parameters, lc)) - appendStringInfoString(str, ", "); - } - } - appendStringInfoString(str, ") "); - } - else if (create_function_stmt->returnType != NULL) - { - appendStringInfoString(str, "RETURNS "); - deparseTypeName(str, create_function_stmt->returnType); - appendStringInfoChar(str, ' '); - } - - foreach(lc, create_function_stmt->options) - { - deparseCreateFuncOptItem(str, castNode(DefElem, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - - if (create_function_stmt->sql_body) - { - /* RETURN or BEGIN ... END - */ - if (IsA(create_function_stmt->sql_body, ReturnStmt)) - deparseReturnStmt(str, castNode(ReturnStmt, create_function_stmt->sql_body)); - else - { - appendStringInfoString(str, "BEGIN ATOMIC "); - deparseExprList(str, castNode(List, create_function_stmt->sql_body)); - appendStringInfoString(str, "END "); - } - } - - removeTrailingSpace(str); -} - -static void deparseFunctionParameter(StringInfo str, FunctionParameter *function_parameter) -{ - switch (function_parameter->mode) - { - case FUNC_PARAM_IN: /* input only */ - appendStringInfoString(str, "IN "); - break; - case FUNC_PARAM_OUT: /* output only */ - appendStringInfoString(str, "OUT "); - break; - case FUNC_PARAM_INOUT: /* both */ - appendStringInfoString(str, "INOUT "); - break; - case FUNC_PARAM_VARIADIC: /* variadic (always input) */ - appendStringInfoString(str, "VARIADIC "); - break; - case FUNC_PARAM_TABLE: /* table function output column */ - // No special annotation, the caller is expected to correctly put - // this into the RETURNS part of the CREATE FUNCTION statement - break; - case FUNC_PARAM_DEFAULT: - // Default - break; - default: - Assert(false); - break; - } - - if (function_parameter->name != NULL) - { - appendStringInfoString(str, function_parameter->name); - appendStringInfoChar(str, ' '); - } - - deparseTypeName(str, function_parameter->argType); - appendStringInfoChar(str, ' '); - - if (function_parameter->defexpr != NULL) - { - appendStringInfoString(str, "= "); - deparseExpr(str, function_parameter->defexpr); - } - - removeTrailingSpace(str); -} - -static void deparseCheckPointStmt(StringInfo str, CheckPointStmt *check_point_stmt) -{ - appendStringInfoString(str, "CHECKPOINT"); -} - -static void deparseCreateSchemaStmt(StringInfo str, CreateSchemaStmt *create_schema_stmt) -{ - ListCell *lc; - appendStringInfoString(str, "CREATE SCHEMA "); - - if (create_schema_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - if (create_schema_stmt->schemaname) - { - deparseColId(str, create_schema_stmt->schemaname); - appendStringInfoChar(str, ' '); - } - - if (create_schema_stmt->authrole != NULL) - { - appendStringInfoString(str, "AUTHORIZATION "); - deparseRoleSpec(str, create_schema_stmt->authrole); - appendStringInfoChar(str, ' '); - } - - if (create_schema_stmt->schemaElts) - { - foreach(lc, create_schema_stmt->schemaElts) - { - deparseSchemaStmt(str, lfirst(lc)); - if (lnext(create_schema_stmt->schemaElts, lc)) - appendStringInfoChar(str, ' '); - } - } - - removeTrailingSpace(str); -} - -static void deparseAlterRoleSetStmt(StringInfo str, AlterRoleSetStmt *alter_role_set_stmt) -{ - appendStringInfoString(str, "ALTER ROLE "); - - if (alter_role_set_stmt->role == NULL) - appendStringInfoString(str, "ALL"); - else - deparseRoleSpec(str, alter_role_set_stmt->role); - - appendStringInfoChar(str, ' '); - - if (alter_role_set_stmt->database != NULL) - { - appendStringInfoString(str, "IN DATABASE "); - appendStringInfoString(str, quote_identifier(alter_role_set_stmt->database)); - appendStringInfoChar(str, ' '); - } - - deparseVariableSetStmt(str, alter_role_set_stmt->setstmt); -} - -static void deparseCreateConversionStmt(StringInfo str, CreateConversionStmt *create_conversion_stmt) -{ - appendStringInfoString(str, "CREATE "); - if (create_conversion_stmt->def) - appendStringInfoString(str, "DEFAULT "); - - appendStringInfoString(str, "CONVERSION "); - deparseAnyName(str, create_conversion_stmt->conversion_name); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "FOR "); - deparseStringLiteral(str, create_conversion_stmt->for_encoding_name); - appendStringInfoString(str, " TO "); - deparseStringLiteral(str, create_conversion_stmt->to_encoding_name); - - appendStringInfoString(str, "FROM "); - deparseAnyName(str, create_conversion_stmt->func_name); -} - -static void deparseRoleSpec(StringInfo str, RoleSpec *role_spec) -{ - switch (role_spec->roletype) - { - case ROLESPEC_CSTRING: - Assert(role_spec->rolename != NULL); - appendStringInfoString(str, quote_identifier(role_spec->rolename)); - break; - case ROLESPEC_CURRENT_ROLE: - appendStringInfoString(str, "CURRENT_ROLE"); - break; - case ROLESPEC_CURRENT_USER: - appendStringInfoString(str, "CURRENT_USER"); - break; - case ROLESPEC_SESSION_USER: - appendStringInfoString(str, "SESSION_USER"); - break; - case ROLESPEC_PUBLIC: - appendStringInfoString(str, "public"); - break; - } -} - -// "part_elem" in gram.y -static void deparsePartitionElem(StringInfo str, PartitionElem *partition_elem) -{ - ListCell *lc; - - if (partition_elem->name != NULL) - { - deparseColId(str, partition_elem->name); - appendStringInfoChar(str, ' '); - } - else if (partition_elem->expr != NULL) - { - appendStringInfoChar(str, '('); - deparseExpr(str, partition_elem->expr); - appendStringInfoString(str, ") "); - } - - deparseOptCollate(str, partition_elem->collation); - deparseAnyName(str, partition_elem->opclass); - - removeTrailingSpace(str); -} - -static void deparsePartitionSpec(StringInfo str, PartitionSpec *partition_spec) -{ - ListCell *lc; - - appendStringInfoString(str, "PARTITION BY "); - appendStringInfoString(str, partition_spec->strategy); - - appendStringInfoChar(str, '('); - foreach(lc, partition_spec->partParams) - { - deparsePartitionElem(str, castNode(PartitionElem, lfirst(lc))); - if (lnext(partition_spec->partParams, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); -} - -static void deparsePartitionBoundSpec(StringInfo str, PartitionBoundSpec *partition_bound_spec) -{ - ListCell *lc; - - if (partition_bound_spec->is_default) - { - appendStringInfoString(str, "DEFAULT"); - return; - } - - appendStringInfoString(str, "FOR VALUES "); - - switch (partition_bound_spec->strategy) - { - case PARTITION_STRATEGY_HASH: - appendStringInfo(str, "WITH (MODULUS %d, REMAINDER %d)", partition_bound_spec->modulus, partition_bound_spec->remainder); - break; - case PARTITION_STRATEGY_LIST: - appendStringInfoString(str, "IN ("); - deparseExprList(str, partition_bound_spec->listdatums); - appendStringInfoChar(str, ')'); - break; - case PARTITION_STRATEGY_RANGE: - appendStringInfoString(str, "FROM ("); - deparseExprList(str, partition_bound_spec->lowerdatums); - appendStringInfoString(str, ") TO ("); - deparseExprList(str, partition_bound_spec->upperdatums); - appendStringInfoChar(str, ')'); - break; - default: - Assert(false); - break; - } -} - -static void deparsePartitionCmd(StringInfo str, PartitionCmd *partition_cmd) -{ - deparseRangeVar(str, partition_cmd->name, DEPARSE_NODE_CONTEXT_NONE); - - if (partition_cmd->bound != NULL) - { - appendStringInfoChar(str, ' '); - deparsePartitionBoundSpec(str, partition_cmd->bound); - } - if (partition_cmd->concurrent) - appendStringInfoString(str, " CONCURRENTLY "); -} - -// "TableElement" in gram.y -static void deparseTableElement(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_ColumnDef: - deparseColumnDef(str, castNode(ColumnDef, node)); - break; - case T_TableLikeClause: - deparseTableLikeClause(str, castNode(TableLikeClause, node)); - break; - case T_Constraint: - deparseConstraint(str, castNode(Constraint, node)); - break; - default: - Assert(false); - } -} - -static void deparseCreateStmt(StringInfo str, CreateStmt *create_stmt, bool is_foreign_table) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - if (is_foreign_table) - appendStringInfoString(str, "FOREIGN "); - - deparseOptTemp(str, create_stmt->relation->relpersistence); - - appendStringInfoString(str, "TABLE "); - - if (create_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseRangeVar(str, create_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (create_stmt->ofTypename != NULL) - { - appendStringInfoString(str, "OF "); - deparseTypeName(str, create_stmt->ofTypename); - appendStringInfoChar(str, ' '); - } - - if (create_stmt->partbound != NULL) - { - Assert(list_length(create_stmt->inhRelations) == 1); - appendStringInfoString(str, "PARTITION OF "); - deparseRangeVar(str, castNode(RangeVar, linitial(create_stmt->inhRelations)), DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - } - - if (list_length(create_stmt->tableElts) > 0) - { - // In raw parse output tableElts contains both columns and constraints - // (and the constraints field is NIL) - appendStringInfoChar(str, '('); - foreach(lc, create_stmt->tableElts) - { - deparseTableElement(str, lfirst(lc)); - if (lnext(create_stmt->tableElts, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - else if (create_stmt->partbound == NULL && create_stmt->ofTypename == NULL) - { - appendStringInfoString(str, "() "); - } - - if (create_stmt->partbound != NULL) - { - deparsePartitionBoundSpec(str, create_stmt->partbound); - appendStringInfoChar(str, ' '); - } - else - { - deparseOptInherit(str, create_stmt->inhRelations); - } - - if (create_stmt->partspec != NULL) - { - deparsePartitionSpec(str, create_stmt->partspec); - appendStringInfoChar(str, ' '); - } - - if (create_stmt->accessMethod != NULL) - { - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(create_stmt->accessMethod)); - } - - deparseOptWith(str, create_stmt->options); - - switch (create_stmt->oncommit) - { - case ONCOMMIT_NOOP: - // No ON COMMIT clause - break; - case ONCOMMIT_PRESERVE_ROWS: - appendStringInfoString(str, "ON COMMIT PRESERVE ROWS "); - break; - case ONCOMMIT_DELETE_ROWS: - appendStringInfoString(str, "ON COMMIT DELETE ROWS "); - break; - case ONCOMMIT_DROP: - appendStringInfoString(str, "ON COMMIT DROP "); - break; - } - - if (create_stmt->tablespacename != NULL) - { - appendStringInfoString(str, "TABLESPACE "); - appendStringInfoString(str, quote_identifier(create_stmt->tablespacename)); - } - - removeTrailingSpace(str); -} - -static void deparseCreateFdwStmt(StringInfo str, CreateFdwStmt *create_fdw_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE FOREIGN DATA WRAPPER "); - appendStringInfoString(str, quote_identifier(create_fdw_stmt->fdwname)); - appendStringInfoChar(str, ' '); - - if (list_length(create_fdw_stmt->func_options) > 0) - { - deparseFdwOptions(str, create_fdw_stmt->func_options); - appendStringInfoChar(str, ' '); - } - - deparseCreateGenericOptions(str, create_fdw_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseAlterFdwStmt(StringInfo str, AlterFdwStmt *alter_fdw_stmt) -{ - appendStringInfoString(str, "ALTER FOREIGN DATA WRAPPER "); - appendStringInfoString(str, quote_identifier(alter_fdw_stmt->fdwname)); - appendStringInfoChar(str, ' '); - - if (list_length(alter_fdw_stmt->func_options) > 0) - { - deparseFdwOptions(str, alter_fdw_stmt->func_options); - appendStringInfoChar(str, ' '); - } - - if (list_length(alter_fdw_stmt->options) > 0) - deparseAlterGenericOptions(str, alter_fdw_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseCreateForeignServerStmt(StringInfo str, CreateForeignServerStmt *create_foreign_server_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE SERVER "); - if (create_foreign_server_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - appendStringInfoString(str, quote_identifier(create_foreign_server_stmt->servername)); - appendStringInfoChar(str, ' '); - - if (create_foreign_server_stmt->servertype != NULL) - { - appendStringInfoString(str, "TYPE "); - deparseStringLiteral(str, create_foreign_server_stmt->servertype); - appendStringInfoChar(str, ' '); - } - - if (create_foreign_server_stmt->version != NULL) - { - appendStringInfoString(str, "VERSION "); - deparseStringLiteral(str, create_foreign_server_stmt->version); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - appendStringInfoString(str, quote_identifier(create_foreign_server_stmt->fdwname)); - appendStringInfoChar(str, ' '); - - deparseCreateGenericOptions(str, create_foreign_server_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseAlterForeignServerStmt(StringInfo str, AlterForeignServerStmt *alter_foreign_server_stmt) -{ - appendStringInfoString(str, "ALTER SERVER "); - - appendStringInfoString(str, quote_identifier(alter_foreign_server_stmt->servername)); - appendStringInfoChar(str, ' '); - - if (alter_foreign_server_stmt->has_version) - { - appendStringInfoString(str, "VERSION "); - if (alter_foreign_server_stmt->version != NULL) - deparseStringLiteral(str, alter_foreign_server_stmt->version); - else - appendStringInfoString(str, "NULL"); - appendStringInfoChar(str, ' '); - } - - if (list_length(alter_foreign_server_stmt->options) > 0) - deparseAlterGenericOptions(str, alter_foreign_server_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseCreateUserMappingStmt(StringInfo str, CreateUserMappingStmt *create_user_mapping_stmt) -{ - appendStringInfoString(str, "CREATE USER MAPPING "); - if (create_user_mapping_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - appendStringInfoString(str, "FOR "); - deparseRoleSpec(str, create_user_mapping_stmt->user); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "SERVER "); - appendStringInfoString(str, quote_identifier(create_user_mapping_stmt->servername)); - appendStringInfoChar(str, ' '); - - deparseCreateGenericOptions(str, create_user_mapping_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseCreatedbStmt(StringInfo str, CreatedbStmt *createdb_stmt) -{ - appendStringInfoString(str, "CREATE DATABASE "); - deparseColId(str, createdb_stmt->dbname); - appendStringInfoChar(str, ' '); - deparseCreatedbOptList(str, createdb_stmt->options); - removeTrailingSpace(str); -} - -static void deparseAlterUserMappingStmt(StringInfo str, AlterUserMappingStmt *alter_user_mapping_stmt) -{ - appendStringInfoString(str, "ALTER USER MAPPING FOR "); - deparseRoleSpec(str, alter_user_mapping_stmt->user); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "SERVER "); - appendStringInfoString(str, quote_identifier(alter_user_mapping_stmt->servername)); - appendStringInfoChar(str, ' '); - - deparseAlterGenericOptions(str, alter_user_mapping_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseDropUserMappingStmt(StringInfo str, DropUserMappingStmt *drop_user_mapping_stmt) -{ - appendStringInfoString(str, "DROP USER MAPPING "); - - if (drop_user_mapping_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - appendStringInfoString(str, "FOR "); - deparseRoleSpec(str, drop_user_mapping_stmt->user); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "SERVER "); - appendStringInfoString(str, quote_identifier(drop_user_mapping_stmt->servername)); -} - -static void deparseSecLabelStmt(StringInfo str, SecLabelStmt *sec_label_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "SECURITY LABEL "); - - if (sec_label_stmt->provider != NULL) - { - appendStringInfoString(str, "FOR "); - appendStringInfoString(str, quote_identifier(sec_label_stmt->provider)); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "ON "); - - switch (sec_label_stmt->objtype) - { - case OBJECT_COLUMN: - appendStringInfoString(str, "COLUMN "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - deparseAnyName(str, castNode(List, sec_label_stmt->object)); - break; - case OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_PUBLICATION: - appendStringInfoString(str, "PUBLICATION "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_ROLE: - appendStringInfoString(str, "ROLE "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_SUBSCRIPTION: - appendStringInfoString(str, "SUBSCRIPTION "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_TABLESPACE: - appendStringInfoString(str, "TABLESPACE "); - appendStringInfoString(str, quote_identifier(strVal(sec_label_stmt->object))); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - deparseTypeName(str, castNode(TypeName, sec_label_stmt->object)); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - deparseTypeName(str, castNode(TypeName, sec_label_stmt->object)); - break; - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, sec_label_stmt->object)); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, sec_label_stmt->object)); - break; - case OBJECT_LARGEOBJECT: - appendStringInfoString(str, "LARGE OBJECT "); - deparseValue(str, (union ValUnion *) sec_label_stmt->object, DEPARSE_NODE_CONTEXT_CONSTANT); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, sec_label_stmt->object)); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, sec_label_stmt->object)); - break; - default: - // Not supported in the parser - Assert(false); - break; - } - - appendStringInfoString(str, " IS "); - - if (sec_label_stmt->label != NULL) - deparseStringLiteral(str, sec_label_stmt->label); - else - appendStringInfoString(str, "NULL"); -} - -static void deparseCreateForeignTableStmt(StringInfo str, CreateForeignTableStmt *create_foreign_table_stmt) -{ - ListCell *lc; - - deparseCreateStmt(str, &create_foreign_table_stmt->base, true); - - appendStringInfoString(str, " SERVER "); - appendStringInfoString(str, quote_identifier(create_foreign_table_stmt->servername)); - appendStringInfoChar(str, ' '); - - if (list_length(create_foreign_table_stmt->options) > 0) - deparseAlterGenericOptions(str, create_foreign_table_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseImportForeignSchemaStmt(StringInfo str, ImportForeignSchemaStmt *import_foreign_schema_stmt) -{ - appendStringInfoString(str, "IMPORT FOREIGN SCHEMA "); - - appendStringInfoString(str, import_foreign_schema_stmt->remote_schema); - appendStringInfoChar(str, ' '); - - switch (import_foreign_schema_stmt->list_type) - { - case FDW_IMPORT_SCHEMA_ALL: - // Default - break; - case FDW_IMPORT_SCHEMA_LIMIT_TO: - appendStringInfoString(str, "LIMIT TO ("); - deparseRelationExprList(str, import_foreign_schema_stmt->table_list); - appendStringInfoString(str, ") "); - break; - case FDW_IMPORT_SCHEMA_EXCEPT: - appendStringInfoString(str, "EXCEPT ("); - deparseRelationExprList(str, import_foreign_schema_stmt->table_list); - appendStringInfoString(str, ") "); - break; - } - - appendStringInfoString(str, "FROM SERVER "); - appendStringInfoString(str, quote_identifier(import_foreign_schema_stmt->server_name)); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "INTO "); - appendStringInfoString(str, quote_identifier(import_foreign_schema_stmt->local_schema)); - appendStringInfoChar(str, ' '); - - deparseCreateGenericOptions(str, import_foreign_schema_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseCreateTableAsStmt(StringInfo str, CreateTableAsStmt *create_table_as_stmt) -{ - ListCell *lc; - appendStringInfoString(str, "CREATE "); - - deparseOptTemp(str, create_table_as_stmt->into->rel->relpersistence); - - switch (create_table_as_stmt->objtype) - { - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - default: - // Not supported here - Assert(false); - break; - } - - if (create_table_as_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseIntoClause(str, create_table_as_stmt->into); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "AS "); - if (IsA(create_table_as_stmt->query, ExecuteStmt)) - deparseExecuteStmt(str, castNode(ExecuteStmt, create_table_as_stmt->query)); - else - deparseSelectStmt(str, castNode(SelectStmt, create_table_as_stmt->query)); - appendStringInfoChar(str, ' '); - - if (create_table_as_stmt->into->skipData) - appendStringInfoString(str, "WITH NO DATA "); - - removeTrailingSpace(str); -} - -static void deparseViewStmt(StringInfo str, ViewStmt *view_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - if (view_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - - deparseOptTemp(str, view_stmt->view->relpersistence); - - appendStringInfoString(str, "VIEW "); - deparseRangeVar(str, view_stmt->view, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (list_length(view_stmt->aliases) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, view_stmt->aliases); - appendStringInfoString(str, ") "); - } - - deparseOptWith(str, view_stmt->options); - - appendStringInfoString(str, "AS "); - deparseSelectStmt(str, castNode(SelectStmt, view_stmt->query)); - appendStringInfoChar(str, ' '); - - switch (view_stmt->withCheckOption) - { - case NO_CHECK_OPTION: - // Default - break; - case LOCAL_CHECK_OPTION: - appendStringInfoString(str, "WITH LOCAL CHECK OPTION "); - break; - case CASCADED_CHECK_OPTION: - appendStringInfoString(str, "WITH CHECK OPTION "); - break; - } - - removeTrailingSpace(str); -} - -static void deparseDropStmt(StringInfo str, DropStmt *drop_stmt) -{ - ListCell *lc; - List *l; - - appendStringInfoString(str, "DROP "); - - switch (drop_stmt->removeType) - { - case OBJECT_ACCESS_METHOD: - appendStringInfoString(str, "ACCESS METHOD "); - break; - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - break; - case OBJECT_CAST: - appendStringInfoString(str, "CAST "); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - break; - case OBJECT_EXTENSION: - appendStringInfoString(str, "EXTENSION "); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "SERVER "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - break; - case OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - case OBJECT_OPCLASS: - appendStringInfoString(str, "OPERATOR CLASS "); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - break; - case OBJECT_OPFAMILY: - appendStringInfoString(str, "OPERATOR FAMILY "); - break; - case OBJECT_POLICY: - appendStringInfoString(str, "POLICY "); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - break; - case OBJECT_PUBLICATION: - appendStringInfoString(str, "PUBLICATION "); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - break; - case OBJECT_RULE: - appendStringInfoString(str, "RULE "); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - break; - case OBJECT_STATISTIC_EXT: - appendStringInfoString(str, "STATISTICS "); - break; - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_TRANSFORM: - appendStringInfoString(str, "TRANSFORM "); - break; - case OBJECT_TRIGGER: - appendStringInfoString(str, "TRIGGER "); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - default: - // Other object types are not supported here in the parser - Assert(false); - } - - if (drop_stmt->concurrent) - appendStringInfoString(str, "CONCURRENTLY "); - - if (drop_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - switch (drop_stmt->removeType) - { - // drop_type_any_name - case OBJECT_TABLE: - case OBJECT_SEQUENCE: - case OBJECT_VIEW: - case OBJECT_MATVIEW: - case OBJECT_INDEX: - case OBJECT_FOREIGN_TABLE: - case OBJECT_COLLATION: - case OBJECT_CONVERSION: - case OBJECT_STATISTIC_EXT: - case OBJECT_TSPARSER: - case OBJECT_TSDICTIONARY: - case OBJECT_TSTEMPLATE: - case OBJECT_TSCONFIGURATION: - deparseAnyNameList(str, drop_stmt->objects); - appendStringInfoChar(str, ' '); - break; - // drop_type_name - case OBJECT_ACCESS_METHOD: - case OBJECT_EVENT_TRIGGER: - case OBJECT_EXTENSION: - case OBJECT_FDW: - case OBJECT_PUBLICATION: - case OBJECT_SCHEMA: - case OBJECT_FOREIGN_SERVER: - deparseNameList(str, drop_stmt->objects); - appendStringInfoChar(str, ' '); - break; - // drop_type_name_on_any_name - case OBJECT_POLICY: - case OBJECT_RULE: - case OBJECT_TRIGGER: - Assert(list_length(drop_stmt->objects) == 1); - l = linitial(drop_stmt->objects); - deparseColId(str, strVal(llast(l))); - appendStringInfoString(str, " ON "); - deparseAnyNameSkipLast(str, l); - appendStringInfoChar(str, ' '); - break; - case OBJECT_CAST: - Assert(list_length(drop_stmt->objects) == 1); - l = linitial(drop_stmt->objects); - Assert(list_length(l) == 2); - appendStringInfoChar(str, '('); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " AS "); - deparseTypeName(str, castNode(TypeName, lsecond(l))); - appendStringInfoChar(str, ')'); - appendStringInfoChar(str, ' '); - break; - case OBJECT_OPFAMILY: - case OBJECT_OPCLASS: - Assert(list_length(drop_stmt->objects) == 1); - l = linitial(drop_stmt->objects); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - deparseColId(str, strVal(linitial(l))); - appendStringInfoChar(str, ' '); - break; - case OBJECT_TRANSFORM: - Assert(list_length(drop_stmt->objects) == 1); - l = linitial(drop_stmt->objects); - appendStringInfoString(str, "FOR "); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " LANGUAGE "); - deparseColId(str, strVal(lsecond(l))); - appendStringInfoChar(str, ' '); - break; - case OBJECT_LANGUAGE: - deparseNameList(str, drop_stmt->objects); - appendStringInfoChar(str, ' '); - break; - case OBJECT_TYPE: - case OBJECT_DOMAIN: - foreach(lc, drop_stmt->objects) - { - deparseTypeName(str, castNode(TypeName, lfirst(lc))); - if (lnext(drop_stmt->objects, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - break; - case OBJECT_AGGREGATE: - foreach(lc, drop_stmt->objects) - { - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, lfirst(lc))); - if (lnext(drop_stmt->objects, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - break; - case OBJECT_FUNCTION: - case OBJECT_PROCEDURE: - case OBJECT_ROUTINE: - foreach(lc, drop_stmt->objects) - { - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, lfirst(lc))); - if (lnext(drop_stmt->objects, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - break; - case OBJECT_OPERATOR: - foreach(lc, drop_stmt->objects) - { - deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, lfirst(lc))); - if (lnext(drop_stmt->objects, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - break; - default: - Assert(false); - } - - deparseOptDropBehavior(str, drop_stmt->behavior); - - removeTrailingSpace(str); -} - -static void deparseGroupingSet(StringInfo str, GroupingSet *grouping_set) -{ - switch(grouping_set->kind) - { - case GROUPING_SET_EMPTY: - appendStringInfoString(str, "()"); - break; - case GROUPING_SET_SIMPLE: - // Not present in raw parse trees - Assert(false); - break; - case GROUPING_SET_ROLLUP: - appendStringInfoString(str, "ROLLUP ("); - deparseExprList(str, grouping_set->content); - appendStringInfoChar(str, ')'); - break; - case GROUPING_SET_CUBE: - appendStringInfoString(str, "CUBE ("); - deparseExprList(str, grouping_set->content); - appendStringInfoChar(str, ')'); - break; - case GROUPING_SET_SETS: - appendStringInfoString(str, "GROUPING SETS ("); - deparseGroupByList(str, grouping_set->content); - appendStringInfoChar(str, ')'); - break; - } -} - -static void deparseDropTableSpaceStmt(StringInfo str, DropTableSpaceStmt *drop_table_space_stmt) -{ - appendStringInfoString(str, "DROP TABLESPACE "); - - if (drop_table_space_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - appendStringInfoString(str, drop_table_space_stmt->tablespacename); -} - -static void deparseAlterObjectDependsStmt(StringInfo str, AlterObjectDependsStmt *alter_object_depends_stmt) -{ - appendStringInfoString(str, "ALTER "); - - switch (alter_object_depends_stmt->objectType) - { - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); - break; - case OBJECT_TRIGGER: - appendStringInfoString(str, "TRIGGER "); - deparseColId(str, strVal(linitial(castNode(List, alter_object_depends_stmt->object)))); - appendStringInfoString(str, " ON "); - deparseRangeVar(str, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - deparseRangeVar(str, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - deparseRangeVar(str, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - default: - // No other object types supported here - Assert(false); - } - appendStringInfoChar(str, ' '); - - if (alter_object_depends_stmt->remove) - appendStringInfoString(str, "NO "); - - appendStringInfo(str, "DEPENDS ON EXTENSION %s", alter_object_depends_stmt->extname->sval); -} - -static void deparseAlterObjectSchemaStmt(StringInfo str, AlterObjectSchemaStmt *alter_object_schema_stmt) -{ - List *l = NULL; - ListCell *lc = NULL; - - appendStringInfoString(str, "ALTER "); - - switch (alter_object_schema_stmt->objectType) - { - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_EXTENSION: - appendStringInfoString(str, "EXTENSION "); - appendStringInfoString(str, quote_identifier(strVal(alter_object_schema_stmt->object))); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); - break; - case OBJECT_OPCLASS: - l = castNode(List, alter_object_schema_stmt->object); - appendStringInfoString(str, "OPERATOR CLASS "); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - appendStringInfoString(str, quote_identifier(strVal(linitial(l)))); - break; - case OBJECT_OPFAMILY: - l = castNode(List, alter_object_schema_stmt->object); - appendStringInfoString(str, "OPERATOR FAMILY "); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - appendStringInfoString(str, quote_identifier(strVal(linitial(l)))); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); - break; - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - if (alter_object_schema_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_STATISTIC_EXT: - appendStringInfoString(str, "STATISTICS "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - if (alter_object_schema_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - if (alter_object_schema_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - if (alter_object_schema_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - if (alter_object_schema_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - deparseRangeVar(str, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - deparseAnyName(str, castNode(List, alter_object_schema_stmt->object)); - break; - default: - Assert(false); - break; - } - - appendStringInfoString(str, " SET SCHEMA "); - appendStringInfoString(str, quote_identifier(alter_object_schema_stmt->newschema)); -} - -static void deparseAlterTableCmd(StringInfo str, AlterTableCmd *alter_table_cmd, DeparseNodeContext context) -{ - ListCell *lc = NULL; - const char *options = NULL; - bool trailing_missing_ok = false; - - switch (alter_table_cmd->subtype) - { - case AT_AddColumn: /* add column */ - if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) - appendStringInfoString(str, "ADD ATTRIBUTE "); - else - appendStringInfoString(str, "ADD COLUMN "); - break; - case AT_AddColumnRecurse: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AddColumnToView: /* implicitly via CREATE OR REPLACE VIEW */ - // Not present in raw parser output - Assert(false); - break; - case AT_ColumnDefault: /* alter column default */ - appendStringInfoString(str, "ALTER COLUMN "); - if (alter_table_cmd->def != NULL) - options = "SET DEFAULT"; - else - options = "DROP DEFAULT"; - break; - case AT_CookedColumnDefault: /* add a pre-cooked column default */ - // Not present in raw parser output - Assert(false); - break; - case AT_DropNotNull: /* alter column drop not null */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "DROP NOT NULL"; - break; - case AT_SetNotNull: /* alter column set not null */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "SET NOT NULL"; - break; - case AT_DropExpression: /* alter column drop expression */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "DROP EXPRESSION"; - trailing_missing_ok = true; - break; - case AT_CheckNotNull: /* check column is already marked not null */ - // Not present in raw parser output - Assert(false); - break; - case AT_SetStatistics: /* alter column set statistics */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "SET STATISTICS"; - break; - case AT_SetOptions: /* alter column set ( options ) */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "SET"; - break; - case AT_ResetOptions: /* alter column reset ( options ) */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "RESET"; - break; - case AT_SetStorage: /* alter column set storage */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "SET STORAGE"; - break; - case AT_SetCompression: /* alter column set compression */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "SET COMPRESSION"; - break; - case AT_DropColumn: /* drop column */ - if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) - appendStringInfoString(str, "DROP ATTRIBUTE "); - else - appendStringInfoString(str, "DROP "); - break; - case AT_DropColumnRecurse: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AddIndex: /* add index */ - appendStringInfoString(str, "ADD INDEX "); - break; - case AT_ReAddIndex: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AddConstraint: /* add constraint */ - appendStringInfoString(str, "ADD "); - break; - case AT_AddConstraintRecurse: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_ReAddConstraint: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_ReAddDomainConstraint: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AlterConstraint: /* alter constraint */ - appendStringInfoString(str, "ALTER "); // CONSTRAINT keyword gets added by the Constraint itself (when deparsing def) - break; - case AT_ValidateConstraint: /* validate constraint */ - appendStringInfoString(str, "VALIDATE CONSTRAINT "); - break; - case AT_ValidateConstraintRecurse: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AddIndexConstraint: /* add constraint using existing index */ - // Not present in raw parser output - Assert(false); - break; - case AT_DropConstraint: /* drop constraint */ - appendStringInfoString(str, "DROP CONSTRAINT "); - break; - case AT_DropConstraintRecurse: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_ReAddComment: /* internal to commands/tablecmds.c */ - case AT_ReAddStatistics: /* internal to commands/tablecmds.c */ - Assert(false); - break; - case AT_AlterColumnType: /* alter column type */ - if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) - appendStringInfoString(str, "ALTER ATTRIBUTE "); - else - appendStringInfoString(str, "ALTER COLUMN "); - options = "TYPE"; - break; - case AT_AlterColumnGenericOptions: /* alter column OPTIONS (...) */ - appendStringInfoString(str, "ALTER COLUMN "); - // Handled via special case in def handling - break; - case AT_ChangeOwner: /* change owner */ - appendStringInfoString(str, "OWNER TO "); - deparseRoleSpec(str, alter_table_cmd->newowner); - break; - case AT_ClusterOn: /* CLUSTER ON */ - appendStringInfoString(str, "CLUSTER ON "); - break; - case AT_DropCluster: /* SET WITHOUT CLUSTER */ - appendStringInfoString(str, "SET WITHOUT CLUSTER "); - break; - case AT_SetLogged: /* SET LOGGED */ - appendStringInfoString(str, "SET LOGGED "); - break; - case AT_SetUnLogged: /* SET UNLOGGED */ - appendStringInfoString(str, "SET UNLOGGED "); - break; - case AT_DropOids: /* SET WITHOUT OIDS */ - appendStringInfoString(str, "SET WITHOUT OIDS "); - break; - case AT_SetTableSpace: /* SET TABLESPACE */ - appendStringInfoString(str, "SET TABLESPACE "); - break; - case AT_SetRelOptions: /* SET (...) -- AM specific parameters */ - appendStringInfoString(str, "SET "); - break; - case AT_SetAccessMethod: - appendStringInfo(str, "SET ACCESS METHOD "); - break; - case AT_ResetRelOptions: /* RESET (...) -- AM specific parameters */ - appendStringInfoString(str, "RESET "); - break; - case AT_ReplaceRelOptions: /* replace reloption list in its entirety */ - // Not present in raw parser output - Assert(false); - break; - case AT_EnableTrig: /* ENABLE TRIGGER name */ - appendStringInfoString(str, "ENABLE TRIGGER "); - break; - case AT_EnableAlwaysTrig: /* ENABLE ALWAYS TRIGGER name */ - appendStringInfoString(str, "ENABLE ALWAYS TRIGGER "); - break; - case AT_EnableReplicaTrig: /* ENABLE REPLICA TRIGGER name */ - appendStringInfoString(str, "ENABLE REPLICA TRIGGER "); - break; - case AT_DisableTrig: /* DISABLE TRIGGER name */ - appendStringInfoString(str, "DISABLE TRIGGER "); - break; - case AT_EnableTrigAll: /* ENABLE TRIGGER ALL */ - appendStringInfoString(str, "ENABLE TRIGGER "); - break; - case AT_DisableTrigAll: /* DISABLE TRIGGER ALL */ - appendStringInfoString(str, "DISABLE TRIGGER ALL "); - break; - case AT_EnableTrigUser: /* ENABLE TRIGGER USER */ - appendStringInfoString(str, "ENABLE TRIGGER USER "); - break; - case AT_DisableTrigUser: /* DISABLE TRIGGER USER */ - appendStringInfoString(str, "DISABLE TRIGGER USER "); - break; - case AT_EnableRule: /* ENABLE RULE name */ - appendStringInfoString(str, "ENABLE RULE "); - break; - case AT_EnableAlwaysRule: /* ENABLE ALWAYS RULE name */ - appendStringInfoString(str, "ENABLE ALWAYS RULE "); - break; - case AT_EnableReplicaRule: /* ENABLE REPLICA RULE name */ - appendStringInfoString(str, "ENABLE REPLICA RULE "); - break; - case AT_DisableRule: /* DISABLE RULE name */ - appendStringInfoString(str, "DISABLE RULE "); - break; - case AT_AddInherit: /* INHERIT parent */ - appendStringInfoString(str, "INHERIT "); - break; - case AT_DropInherit: /* NO INHERIT parent */ - appendStringInfoString(str, "NO INHERIT "); - break; - case AT_AddOf: /* OF */ - appendStringInfoString(str, "OF "); - break; - case AT_DropOf: /* NOT OF */ - appendStringInfoString(str, "NOT OF "); - break; - case AT_ReplicaIdentity: /* REPLICA IDENTITY */ - appendStringInfoString(str, "REPLICA IDENTITY "); - break; - case AT_EnableRowSecurity: /* ENABLE ROW SECURITY */ - appendStringInfoString(str, "ENABLE ROW LEVEL SECURITY "); - break; - case AT_DisableRowSecurity: /* DISABLE ROW SECURITY */ - appendStringInfoString(str, "DISABLE ROW LEVEL SECURITY "); - break; - case AT_ForceRowSecurity: /* FORCE ROW SECURITY */ - appendStringInfoString(str, "FORCE ROW LEVEL SECURITY "); - break; - case AT_NoForceRowSecurity: /* NO FORCE ROW SECURITY */ - appendStringInfoString(str, "NO FORCE ROW LEVEL SECURITY "); - break; - case AT_GenericOptions: /* OPTIONS (...) */ - // Handled in def field handling - break; - case AT_AttachPartition: /* ATTACH PARTITION */ - appendStringInfoString(str, "ATTACH PARTITION "); - break; - case AT_DetachPartition: /* DETACH PARTITION */ - appendStringInfoString(str, "DETACH PARTITION "); - break; - case AT_DetachPartitionFinalize: /* DETACH PARTITION FINALIZE */ - appendStringInfoString(str, "DETACH PARTITION "); - break; - case AT_AddIdentity: /* ADD IDENTITY */ - appendStringInfoString(str, "ALTER "); - options = "ADD"; - // Other details are output via the constraint node (in def field) - break; - case AT_SetIdentity: /* SET identity column options */ - appendStringInfoString(str, "ALTER "); - break; - case AT_DropIdentity: /* DROP IDENTITY */ - appendStringInfoString(str, "ALTER COLUMN "); - options = "DROP IDENTITY"; - trailing_missing_ok = true; - break; - } - - if (alter_table_cmd->missing_ok && !trailing_missing_ok) - { - if (alter_table_cmd->subtype == AT_AddColumn) - appendStringInfoString(str, "IF NOT EXISTS "); - else - appendStringInfoString(str, "IF EXISTS "); - } - - if (alter_table_cmd->name != NULL) - { - appendStringInfoString(str, quote_identifier(alter_table_cmd->name)); - appendStringInfoChar(str, ' '); - } - - if (alter_table_cmd->num > 0) - appendStringInfo(str, "%d ", alter_table_cmd->num); - - if (options != NULL) - { - appendStringInfoString(str, options); - appendStringInfoChar(str, ' '); - } - - if (alter_table_cmd->missing_ok && trailing_missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - switch (alter_table_cmd->subtype) - { - case AT_AttachPartition: - case AT_DetachPartition: - deparsePartitionCmd(str, castNode(PartitionCmd, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_DetachPartitionFinalize: - deparsePartitionCmd(str, castNode(PartitionCmd, alter_table_cmd->def)); - appendStringInfoString(str, "FINALIZE "); - break; - case AT_AddColumn: - case AT_AlterColumnType: - deparseColumnDef(str, castNode(ColumnDef, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_ColumnDefault: - if (alter_table_cmd->def != NULL) - { - deparseExpr(str, alter_table_cmd->def); - appendStringInfoChar(str, ' '); - } - break; - case AT_SetStatistics: - deparseSignedIconst(str, alter_table_cmd->def); - appendStringInfoChar(str, ' '); - break; - case AT_SetOptions: - case AT_ResetOptions: - case AT_SetRelOptions: - case AT_ResetRelOptions: - deparseRelOptions(str, castNode(List, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_SetStorage: - deparseColId(str, strVal(alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_SetCompression: - if (strcmp(strVal(alter_table_cmd->def), "default") == 0) - appendStringInfoString(str, "DEFAULT"); - else - deparseColId(str, strVal(alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_AddIdentity: - case AT_AddConstraint: - case AT_AlterConstraint: - deparseConstraint(str, castNode(Constraint, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_SetIdentity: - deparseAlterIdentityColumnOptionList(str, castNode(List, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_AlterColumnGenericOptions: - case AT_GenericOptions: - deparseAlterGenericOptions(str, castNode(List, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_AddInherit: - case AT_DropInherit: - deparseRangeVar(str, castNode(RangeVar, alter_table_cmd->def), DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - break; - case AT_AddOf: - deparseTypeName(str, castNode(TypeName, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - case AT_ReplicaIdentity: - deparseReplicaIdentityStmt(str, castNode(ReplicaIdentityStmt, alter_table_cmd->def)); - appendStringInfoChar(str, ' '); - break; - default: - Assert(alter_table_cmd->def == NULL); - break; - } - - deparseOptDropBehavior(str, alter_table_cmd->behavior); - - removeTrailingSpace(str); -} - -static DeparseNodeContext deparseAlterTableObjType(StringInfo str, ObjectType type) -{ - switch (type) - { - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - return DEPARSE_NODE_CONTEXT_ALTER_TYPE; - break; - default: - Assert(false); - break; - } - - return DEPARSE_NODE_CONTEXT_NONE; -} - -static void deparseAlterTableMoveAllStmt(StringInfo str, AlterTableMoveAllStmt *move_all_stmt) -{ - appendStringInfoString(str, "ALTER "); - deparseAlterTableObjType(str, move_all_stmt->objtype); - - appendStringInfoString(str, "ALL IN TABLESPACE "); - appendStringInfoString(str, move_all_stmt->orig_tablespacename); - appendStringInfoChar(str, ' '); - - if (move_all_stmt->roles) - { - appendStringInfoString(str, "OWNED BY "); - deparseRoleList(str, move_all_stmt->roles); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "SET TABLESPACE "); - appendStringInfoString(str, move_all_stmt->new_tablespacename); - appendStringInfoChar(str, ' '); - - if (move_all_stmt->nowait) - { - appendStringInfoString(str, "NOWAIT"); - } -} - -static void deparseAlterTableStmt(StringInfo str, AlterTableStmt *alter_table_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER "); - DeparseNodeContext context = deparseAlterTableObjType(str, alter_table_stmt->objtype); - - if (alter_table_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - deparseRangeVar(str, alter_table_stmt->relation, context); - appendStringInfoChar(str, ' '); - - foreach(lc, alter_table_stmt->cmds) - { - deparseAlterTableCmd(str, castNode(AlterTableCmd, lfirst(lc)), context); - if (lnext(alter_table_stmt->cmds, lc)) - appendStringInfoString(str, ", "); - } -} - -static void deparseAlterTableSpaceOptionsStmt(StringInfo str, AlterTableSpaceOptionsStmt *alter_table_space_options_stmt) -{ - appendStringInfoString(str, "ALTER TABLESPACE "); - deparseColId(str, alter_table_space_options_stmt->tablespacename); - appendStringInfoChar(str, ' '); - - if (alter_table_space_options_stmt->isReset) - appendStringInfoString(str, "RESET "); - else - appendStringInfoString(str, "SET "); - - deparseRelOptions(str, alter_table_space_options_stmt->options); -} - -static void deparseAlterDomainStmt(StringInfo str, AlterDomainStmt *alter_domain_stmt) -{ - appendStringInfoString(str, "ALTER DOMAIN "); - deparseAnyName(str, alter_domain_stmt->typeName); - appendStringInfoChar(str, ' '); - - switch (alter_domain_stmt->subtype) - { - case 'T': - if (alter_domain_stmt->def != NULL) - { - appendStringInfoString(str, "SET DEFAULT "); - deparseExpr(str, alter_domain_stmt->def); - } - else - { - appendStringInfoString(str, "DROP DEFAULT"); - } - break; - case 'N': - appendStringInfoString(str, "DROP NOT NULL"); - break; - case 'O': - appendStringInfoString(str, "SET NOT NULL"); - break; - case 'C': - appendStringInfoString(str, "ADD "); - deparseConstraint(str, castNode(Constraint, alter_domain_stmt->def)); - break; - case 'X': - appendStringInfoString(str, "DROP CONSTRAINT "); - if (alter_domain_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - appendStringInfoString(str, quote_identifier(alter_domain_stmt->name)); - if (alter_domain_stmt->behavior == DROP_CASCADE) - appendStringInfoString(str, " CASCADE"); - break; - case 'V': - appendStringInfoString(str, "VALIDATE CONSTRAINT "); - appendStringInfoString(str, quote_identifier(alter_domain_stmt->name)); - break; - default: - // No other subtypes supported by the parser - Assert(false); - } -} - -static void deparseRenameStmt(StringInfo str, RenameStmt *rename_stmt) -{ - List *l = NULL; - - appendStringInfoString(str, "ALTER "); - - switch (rename_stmt->renameType) - { - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - break; - case OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - break; - case OBJECT_DOMAIN: - case OBJECT_DOMCONSTRAINT: - appendStringInfoString(str, "DOMAIN "); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - break; - case OBJECT_ROLE: - appendStringInfoString(str, "ROLE "); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - break; - case OBJECT_OPCLASS: - appendStringInfoString(str, "OPERATOR CLASS "); - break; - case OBJECT_OPFAMILY: - appendStringInfoString(str, "OPERATOR FAMILY "); - break; - case OBJECT_POLICY: - appendStringInfoString(str, "POLICY "); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - break; - case OBJECT_PUBLICATION: - appendStringInfoString(str, "PUBLICATION "); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "SERVER "); - break; - case OBJECT_SUBSCRIPTION: - appendStringInfoString(str, "SUBSCRIPTION "); - break; - case OBJECT_TABLE: - case OBJECT_TABCONSTRAINT: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_COLUMN: - switch (rename_stmt->relationType) - { - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - default: - Assert(false); - } - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - case OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_RULE: - appendStringInfoString(str, "RULE "); - break; - case OBJECT_TRIGGER: - appendStringInfoString(str, "TRIGGER "); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - break; - case OBJECT_TABLESPACE: - appendStringInfoString(str, "TABLESPACE "); - break; - case OBJECT_STATISTIC_EXT: - appendStringInfoString(str, "STATISTICS "); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - break; - case OBJECT_TYPE: - case OBJECT_ATTRIBUTE: - appendStringInfoString(str, "TYPE "); - break; - default: - Assert(false); - break; - } - - if (rename_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - switch (rename_stmt->renameType) - { - case OBJECT_AGGREGATE: - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, rename_stmt->object)); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_DOMCONSTRAINT: - deparseAnyName(str, castNode(List, rename_stmt->object)); - appendStringInfoString(str, " RENAME CONSTRAINT "); - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoChar(str, ' '); - break; - case OBJECT_OPCLASS: - case OBJECT_OPFAMILY: - l = castNode(List, rename_stmt->object); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - appendStringInfoString(str, quote_identifier(strVal(linitial(l)))); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_POLICY: - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoString(str, " ON "); - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_FUNCTION: - case OBJECT_PROCEDURE: - case OBJECT_ROUTINE: - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, rename_stmt->object)); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_SUBSCRIPTION: - deparseColId(str, strVal(rename_stmt->object)); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_TABLE: - case OBJECT_SEQUENCE: - case OBJECT_VIEW: - case OBJECT_MATVIEW: - case OBJECT_INDEX: - case OBJECT_FOREIGN_TABLE: - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_COLUMN: - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoString(str, " RENAME COLUMN "); - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoChar(str, ' '); - break; - case OBJECT_TABCONSTRAINT: - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoString(str, " RENAME CONSTRAINT "); - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoChar(str, ' '); - break; - case OBJECT_RULE: - case OBJECT_TRIGGER: - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoString(str, " ON "); - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_FDW: - case OBJECT_LANGUAGE: - case OBJECT_PUBLICATION: - case OBJECT_FOREIGN_SERVER: - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, quote_identifier(strVal(rename_stmt->object))); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_DATABASE: - case OBJECT_ROLE: - case OBJECT_SCHEMA: - case OBJECT_TABLESPACE: - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_COLLATION: - case OBJECT_CONVERSION: - case OBJECT_DOMAIN: - case OBJECT_STATISTIC_EXT: - case OBJECT_TSPARSER: - case OBJECT_TSDICTIONARY: - case OBJECT_TSTEMPLATE: - case OBJECT_TSCONFIGURATION: - case OBJECT_TYPE: - deparseAnyName(str, castNode(List, rename_stmt->object)); - appendStringInfoString(str, " RENAME "); - break; - case OBJECT_ATTRIBUTE: - deparseRangeVar(str, rename_stmt->relation, DEPARSE_NODE_CONTEXT_ALTER_TYPE); - appendStringInfoString(str, " RENAME ATTRIBUTE "); - appendStringInfoString(str, quote_identifier(rename_stmt->subname)); - appendStringInfoChar(str, ' '); - break; - default: - Assert(false); - break; - } - - appendStringInfoString(str, "TO "); - appendStringInfoString(str, quote_identifier(rename_stmt->newname)); - appendStringInfoChar(str, ' '); - - deparseOptDropBehavior(str, rename_stmt->behavior); - - removeTrailingSpace(str); -} - -static void deparseTransactionStmt(StringInfo str, TransactionStmt *transaction_stmt) -{ - ListCell *lc; - switch (transaction_stmt->kind) - { - case TRANS_STMT_BEGIN: - appendStringInfoString(str, "BEGIN "); - deparseTransactionModeList(str, transaction_stmt->options); - break; - case TRANS_STMT_START: - appendStringInfoString(str, "START TRANSACTION "); - deparseTransactionModeList(str, transaction_stmt->options); - break; - case TRANS_STMT_COMMIT: - appendStringInfoString(str, "COMMIT "); - if (transaction_stmt->chain) - appendStringInfoString(str, "AND CHAIN "); - break; - case TRANS_STMT_ROLLBACK: - appendStringInfoString(str, "ROLLBACK "); - if (transaction_stmt->chain) - appendStringInfoString(str, "AND CHAIN "); - break; - case TRANS_STMT_SAVEPOINT: - appendStringInfoString(str, "SAVEPOINT "); - appendStringInfoString(str, quote_identifier(transaction_stmt->savepoint_name)); - break; - case TRANS_STMT_RELEASE: - appendStringInfoString(str, "RELEASE "); - appendStringInfoString(str, quote_identifier(transaction_stmt->savepoint_name)); - break; - case TRANS_STMT_ROLLBACK_TO: - appendStringInfoString(str, "ROLLBACK "); - appendStringInfoString(str, "TO SAVEPOINT "); - appendStringInfoString(str, quote_identifier(transaction_stmt->savepoint_name)); - break; - case TRANS_STMT_PREPARE: - appendStringInfoString(str, "PREPARE TRANSACTION "); - deparseStringLiteral(str, transaction_stmt->gid); - break; - case TRANS_STMT_COMMIT_PREPARED: - appendStringInfoString(str, "COMMIT PREPARED "); - deparseStringLiteral(str, transaction_stmt->gid); - break; - case TRANS_STMT_ROLLBACK_PREPARED: - appendStringInfoString(str, "ROLLBACK PREPARED "); - deparseStringLiteral(str, transaction_stmt->gid); - break; - } - - removeTrailingSpace(str); -} - -static void deparseVariableSetStmt(StringInfo str, VariableSetStmt* variable_set_stmt) -{ - ListCell *lc; - - switch (variable_set_stmt->kind) - { - case VAR_SET_VALUE: /* SET var = value */ - appendStringInfoString(str, "SET "); - if (variable_set_stmt->is_local) - appendStringInfoString(str, "LOCAL "); - deparseVarName(str, variable_set_stmt->name); - appendStringInfoString(str, " TO "); - deparseVarList(str, variable_set_stmt->args); - break; - case VAR_SET_DEFAULT: /* SET var TO DEFAULT */ - appendStringInfoString(str, "SET "); - if (variable_set_stmt->is_local) - appendStringInfoString(str, "LOCAL "); - deparseVarName(str, variable_set_stmt->name); - appendStringInfoString(str, " TO DEFAULT"); - break; - case VAR_SET_CURRENT: /* SET var FROM CURRENT */ - appendStringInfoString(str, "SET "); - if (variable_set_stmt->is_local) - appendStringInfoString(str, "LOCAL "); - deparseVarName(str, variable_set_stmt->name); - appendStringInfoString(str, " FROM CURRENT"); - break; - case VAR_SET_MULTI: /* special case for SET TRANSACTION ... */ - Assert(variable_set_stmt->name != NULL); - appendStringInfoString(str, "SET "); - if (variable_set_stmt->is_local) - appendStringInfoString(str, "LOCAL "); - if (strcmp(variable_set_stmt->name, "TRANSACTION") == 0) - { - appendStringInfoString(str, "TRANSACTION "); - deparseTransactionModeList(str, variable_set_stmt->args); - } - else if (strcmp(variable_set_stmt->name, "SESSION CHARACTERISTICS") == 0) - { - appendStringInfoString(str, "SESSION CHARACTERISTICS AS TRANSACTION "); - deparseTransactionModeList(str, variable_set_stmt->args); - } - else if (strcmp(variable_set_stmt->name, "TRANSACTION SNAPSHOT") == 0) - { - appendStringInfoString(str, "TRANSACTION SNAPSHOT "); - deparseStringLiteral(str, strVal(&castNode(A_Const, linitial(variable_set_stmt->args))->val)); - } - else - { - Assert(false); - } - break; - case VAR_RESET: /* RESET var */ - appendStringInfoString(str, "RESET "); - deparseVarName(str, variable_set_stmt->name); - break; - case VAR_RESET_ALL: /* RESET ALL */ - appendStringInfoString(str, "RESET ALL"); - break; - } -} - -static void deparseDropdbStmt(StringInfo str, DropdbStmt *dropdb_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "DROP DATABASE "); - if (dropdb_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - appendStringInfoString(str, quote_identifier(dropdb_stmt->dbname)); - appendStringInfoChar(str, ' '); - - if (list_length(dropdb_stmt->options) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc, dropdb_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (strcmp(def_elem->defname, "force") == 0) - appendStringInfoString(str, "FORCE"); - else - Assert(false); // Currently there are other supported values - - if (lnext(dropdb_stmt->options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - - removeTrailingSpace(str); -} - -static void deparseVacuumStmt(StringInfo str, VacuumStmt *vacuum_stmt) -{ - ListCell *lc = NULL; - ListCell *lc2 = NULL; - - if (vacuum_stmt->is_vacuumcmd) - appendStringInfoString(str, "VACUUM "); - else - appendStringInfoString(str, "ANALYZE "); - - deparseUtilityOptionList(str, vacuum_stmt->options); - - foreach(lc, vacuum_stmt->rels) - { - Assert(IsA(lfirst(lc), VacuumRelation)); - VacuumRelation *rel = castNode(VacuumRelation, lfirst(lc)); - - deparseRangeVar(str, rel->relation, DEPARSE_NODE_CONTEXT_NONE); - if (list_length(rel->va_cols) > 0) - { - appendStringInfoChar(str, '('); - foreach(lc2, rel->va_cols) - { - appendStringInfoString(str, quote_identifier(strVal(lfirst(lc2)))); - if (lnext(rel->va_cols, lc2)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - - if (lnext(vacuum_stmt->rels, lc)) - appendStringInfoString(str, ", "); - } - - removeTrailingSpace(str); -} - -static void deparseLoadStmt(StringInfo str, LoadStmt *load_stmt) -{ - appendStringInfoString(str, "LOAD "); - deparseStringLiteral(str, load_stmt->filename); -} - -static void deparseLockStmt(StringInfo str, LockStmt *lock_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "LOCK TABLE "); - - deparseRelationExprList(str, lock_stmt->relations); - appendStringInfoChar(str, ' '); - - if (lock_stmt->mode != AccessExclusiveLock) - { - appendStringInfoString(str, "IN "); - switch (lock_stmt->mode) - { - case AccessShareLock: - appendStringInfoString(str, "ACCESS SHARE "); - break; - case RowShareLock: - appendStringInfoString(str, "ROW SHARE "); - break; - case RowExclusiveLock: - appendStringInfoString(str, "ROW EXCLUSIVE "); - break; - case ShareUpdateExclusiveLock: - appendStringInfoString(str, "SHARE UPDATE EXCLUSIVE "); - break; - case ShareLock: - appendStringInfoString(str, "SHARE "); - break; - case ShareRowExclusiveLock: - appendStringInfoString(str, "SHARE ROW EXCLUSIVE "); - break; - case ExclusiveLock: - appendStringInfoString(str, "EXCLUSIVE "); - break; - case AccessExclusiveLock: - appendStringInfoString(str, "ACCESS EXCLUSIVE "); - break; - default: - Assert(false); - break; - } - appendStringInfoString(str, "MODE "); - } - - if (lock_stmt->nowait) - appendStringInfoString(str, "NOWAIT "); - - removeTrailingSpace(str); -} - -static void deparseConstraintsSetStmt(StringInfo str, ConstraintsSetStmt *constraints_set_stmt) -{ - appendStringInfoString(str, "SET CONSTRAINTS "); - - if (list_length(constraints_set_stmt->constraints) > 0) - { - deparseQualifiedNameList(str, constraints_set_stmt->constraints); - appendStringInfoChar(str, ' '); - } - else - { - appendStringInfoString(str, "ALL "); - } - - if (constraints_set_stmt->deferred) - appendStringInfoString(str, "DEFERRED"); - else - appendStringInfoString(str, "IMMEDIATE"); -} - -static void deparseExplainStmt(StringInfo str, ExplainStmt *explain_stmt) -{ - ListCell *lc = NULL; - char *defname = NULL; - - appendStringInfoString(str, "EXPLAIN "); - - deparseUtilityOptionList(str, explain_stmt->options); - - deparseExplainableStmt(str, explain_stmt->query); -} - -static void deparseCopyStmt(StringInfo str, CopyStmt *copy_stmt) -{ - ListCell *lc = NULL; - ListCell *lc2 = NULL; - - appendStringInfoString(str, "COPY "); - - if (copy_stmt->relation != NULL) - { - deparseRangeVar(str, copy_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - if (list_length(copy_stmt->attlist) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, copy_stmt->attlist); - appendStringInfoChar(str, ')'); - } - appendStringInfoChar(str, ' '); - } - - if (copy_stmt->query != NULL) - { - appendStringInfoChar(str, '('); - deparsePreparableStmt(str, copy_stmt->query); - appendStringInfoString(str, ") "); - } - - if (copy_stmt->is_from) - appendStringInfoString(str, "FROM "); - else - appendStringInfoString(str, "TO "); - - if (copy_stmt->is_program) - appendStringInfoString(str, "PROGRAM "); - - if (copy_stmt->filename != NULL) - { - deparseStringLiteral(str, copy_stmt->filename); - appendStringInfoChar(str, ' '); - } - else - { - if (copy_stmt->is_from) - appendStringInfoString(str, "STDIN "); - else - appendStringInfoString(str, "STDOUT "); - } - - if (list_length(copy_stmt->options) > 0) - { - // In some cases, equivalent expressions may have slightly different parse trees for `COPY` - // statements. For example the following two statements result in different (but equivalent) parse - // trees: - // - // - COPY foo FROM STDIN CSV FREEZE - // - COPY foo FROM STDIN WITH (FORMAT CSV, FREEZE) - // - // In order to make sure we deparse to the "correct" version, we always try to deparse to the older - // compact syntax first. - // - // The old syntax can be seen here in the Postgres 8.4 Reference: - // https://www.postgresql.org/docs/8.4/sql-copy.html - - bool old_fmt = true; - - // Loop over the options to see if any require the new `WITH (...)` syntax. - foreach(lc, copy_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - - if (strcmp(def_elem->defname, "freeze") == 0 && optBooleanValue(def_elem->arg)) - {} - else if (strcmp(def_elem->defname, "header") == 0 && def_elem->arg && optBooleanValue(def_elem->arg)) - {} - else if (strcmp(def_elem->defname, "format") == 0 && strcmp(strVal(def_elem->arg), "csv") == 0) - {} - else if (strcmp(def_elem->defname, "force_quote") == 0 && def_elem->arg && nodeTag(def_elem->arg) == T_List) - {} - else - { - old_fmt = false; - break; - } - } - - // Branch to differing output modes, depending on if we can use the old syntax. - if (old_fmt) { - foreach(lc, copy_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - - if (strcmp(def_elem->defname, "freeze") == 0 && optBooleanValue(def_elem->arg)) - { - appendStringInfoString(str, "FREEZE "); - } - else if (strcmp(def_elem->defname, "header") == 0 && def_elem->arg && optBooleanValue(def_elem->arg)) - { - appendStringInfoString(str, "HEADER "); - } - else if (strcmp(def_elem->defname, "format") == 0 && strcmp(strVal(def_elem->arg), "csv") == 0) - { - appendStringInfoString(str, "CSV "); - } - else if (strcmp(def_elem->defname, "force_quote") == 0 && def_elem->arg && nodeTag(def_elem->arg) == T_List) - { - appendStringInfoString(str, "FORCE QUOTE "); - deparseColumnList(str, castNode(List, def_elem->arg)); - } - else - { - // This isn't reachable, the conditions here are exactly the same as the first loop above. - Assert(false); - } - } - } else { - appendStringInfoString(str, "WITH ("); - foreach(lc, copy_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - - if (strcmp(def_elem->defname, "format") == 0) - { - appendStringInfoString(str, "FORMAT "); - - char *format = strVal(def_elem->arg); - if (strcmp(format, "binary") == 0) - appendStringInfoString(str, "BINARY"); - else if (strcmp(format, "csv") == 0) - appendStringInfoString(str, "CSV"); - else - Assert(false); - } - else if (strcmp(def_elem->defname, "freeze") == 0) - { - appendStringInfoString(str, "FREEZE"); - deparseOptBoolean(str, def_elem->arg); - } - else if (strcmp(def_elem->defname, "delimiter") == 0) - { - appendStringInfoString(str, "DELIMITER "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "null") == 0) - { - appendStringInfoString(str, "NULL "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "header") == 0) - { - appendStringInfoString(str, "HEADER"); - deparseOptBoolean(str, def_elem->arg); - } - else if (strcmp(def_elem->defname, "quote") == 0) - { - appendStringInfoString(str, "QUOTE "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "escape") == 0) - { - appendStringInfoString(str, "ESCAPE "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "force_quote") == 0) - { - appendStringInfoString(str, "FORCE_QUOTE "); - if (IsA(def_elem->arg, A_Star)) - { - appendStringInfoChar(str, '*'); - } - else if (IsA(def_elem->arg, List)) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, castNode(List, def_elem->arg)); - appendStringInfoChar(str, ')'); - } - else - { - Assert(false); - } - } - else if (strcmp(def_elem->defname, "force_not_null") == 0) - { - appendStringInfoString(str, "FORCE_NOT_NULL ("); - deparseColumnList(str, castNode(List, def_elem->arg)); - appendStringInfoChar(str, ')'); - } - else if (strcmp(def_elem->defname, "force_null") == 0) - { - appendStringInfoString(str, "FORCE_NULL ("); - deparseColumnList(str, castNode(List, def_elem->arg)); - appendStringInfoChar(str, ')'); - } - else if (strcmp(def_elem->defname, "encoding") == 0) - { - appendStringInfoString(str, "ENCODING "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else - { - appendStringInfoString(str, quote_identifier(def_elem->defname)); - if (def_elem->arg != NULL) - appendStringInfoChar(str, ' '); - - if (def_elem->arg == NULL) - { - // Nothing - } - else if (IsA(def_elem->arg, String)) - { - deparseOptBooleanOrString(str, strVal(def_elem->arg)); - } - else if (IsA(def_elem->arg, Integer) || IsA(def_elem->arg, Float)) - { - deparseNumericOnly(str, (union ValUnion *) def_elem->arg); - } - else if (IsA(def_elem->arg, A_Star)) - { - deparseAStar(str, castNode(A_Star, def_elem->arg)); - } - else if (IsA(def_elem->arg, List)) - { - List *l = castNode(List, def_elem->arg); - appendStringInfoChar(str, '('); - foreach(lc2, l) - { - deparseOptBooleanOrString(str, strVal(lfirst(lc2))); - if (lnext(l, lc2)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - } - } - - if (lnext(copy_stmt->options, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - } - - deparseWhereClause(str, copy_stmt->whereClause); - - removeTrailingSpace(str); -} - -static void deparseDoStmt(StringInfo str, DoStmt *do_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "DO "); - - foreach (lc, do_stmt->args) - { - DefElem *defel = castNode(DefElem, lfirst(lc)); - if (strcmp(defel->defname, "language") == 0) - { - appendStringInfoString(str, "LANGUAGE "); - appendStringInfoString(str, quote_identifier(strVal(defel->arg))); - appendStringInfoChar(str, ' '); - } - else if (strcmp(defel->defname, "as") == 0) - { - char *strval = strVal(defel->arg); - const char *delim = "$$"; - if (strstr(strval, "$$") != NULL) - delim = "$outer$"; - appendStringInfoString(str, delim); - appendStringInfoString(str, strval); - appendStringInfoString(str, delim); - appendStringInfoChar(str, ' '); - } - } - - removeTrailingSpace(str); -} - -static void deparseDiscardStmt(StringInfo str, DiscardStmt *discard_stmt) -{ - appendStringInfoString(str, "DISCARD "); - switch (discard_stmt->target) - { - case DISCARD_ALL: - appendStringInfoString(str, "ALL"); - break; - case DISCARD_PLANS: - appendStringInfoString(str, "PLANS"); - break; - case DISCARD_SEQUENCES: - appendStringInfoString(str, "SEQUENCES"); - break; - case DISCARD_TEMP: - appendStringInfoString(str, "TEMP"); - break; - } -} - -static void deparseDefineStmt(StringInfo str, DefineStmt *define_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - if (define_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - - switch (define_stmt->kind) - { - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - break; - default: - // This shouldn't happen - Assert(false); - break; - } - - if (define_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - switch (define_stmt->kind) - { - case OBJECT_AGGREGATE: - deparseFuncName(str, define_stmt->defnames); - break; - case OBJECT_OPERATOR: - deparseAnyOperator(str, define_stmt->defnames); - break; - case OBJECT_TYPE: - case OBJECT_TSPARSER: - case OBJECT_TSDICTIONARY: - case OBJECT_TSTEMPLATE: - case OBJECT_TSCONFIGURATION: - case OBJECT_COLLATION: - deparseAnyName(str, define_stmt->defnames); - break; - default: - Assert(false); - } - appendStringInfoChar(str, ' '); - - if (!define_stmt->oldstyle && define_stmt->kind == OBJECT_AGGREGATE) - { - deparseAggrArgs(str, define_stmt->args); - appendStringInfoChar(str, ' '); - } - - if (define_stmt->kind == OBJECT_COLLATION && - list_length(define_stmt->definition) == 1 && - strcmp(castNode(DefElem, linitial(define_stmt->definition))->defname, "from") == 0) - { - appendStringInfoString(str, "FROM "); - deparseAnyName(str, castNode(List, castNode(DefElem, linitial(define_stmt->definition))->arg)); - } - else if (list_length(define_stmt->definition) > 0) - { - deparseDefinition(str, define_stmt->definition); - } - - removeTrailingSpace(str); -} - -static void deparseCompositeTypeStmt(StringInfo str, CompositeTypeStmt *composite_type_stmt) -{ - ListCell *lc; - RangeVar *typevar; - - appendStringInfoString(str, "CREATE TYPE "); - deparseRangeVar(str, composite_type_stmt->typevar, DEPARSE_NODE_CONTEXT_CREATE_TYPE); - - appendStringInfoString(str, " AS ("); - foreach(lc, composite_type_stmt->coldeflist) - { - deparseColumnDef(str, castNode(ColumnDef, lfirst(lc))); - if (lnext(composite_type_stmt->coldeflist, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); -} - -static void deparseCreateEnumStmt(StringInfo str, CreateEnumStmt *create_enum_stmt) -{ - ListCell *lc; - appendStringInfoString(str, "CREATE TYPE "); - - deparseAnyName(str, create_enum_stmt->typeName); - appendStringInfoString(str, " AS ENUM ("); - foreach(lc, create_enum_stmt->vals) - { - deparseStringLiteral(str, strVal(lfirst(lc))); - if (lnext(create_enum_stmt->vals, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); -} - -static void deparseCreateRangeStmt(StringInfo str, CreateRangeStmt *create_range_stmt) -{ - appendStringInfoString(str, "CREATE TYPE "); - deparseAnyName(str, create_range_stmt->typeName); - appendStringInfoString(str, " AS RANGE "); - deparseDefinition(str, create_range_stmt->params); -} - -static void deparseAlterEnumStmt(StringInfo str, AlterEnumStmt *alter_enum_stmt) -{ - appendStringInfoString(str, "ALTER TYPE "); - deparseAnyName(str, alter_enum_stmt->typeName); - appendStringInfoChar(str, ' '); - - if (alter_enum_stmt->oldVal == NULL) - { - appendStringInfoString(str, "ADD VALUE "); - if (alter_enum_stmt->skipIfNewValExists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseStringLiteral(str, alter_enum_stmt->newVal); - appendStringInfoChar(str, ' '); - - if (alter_enum_stmt->newValNeighbor) - { - if (alter_enum_stmt->newValIsAfter) - appendStringInfoString(str, "AFTER "); - else - appendStringInfoString(str, "BEFORE "); - deparseStringLiteral(str, alter_enum_stmt->newValNeighbor); - } - } - else - { - appendStringInfoString(str, "RENAME VALUE "); - deparseStringLiteral(str, alter_enum_stmt->oldVal); - appendStringInfoString(str, " TO "); - deparseStringLiteral(str, alter_enum_stmt->newVal); - } - - removeTrailingSpace(str); -} - -static void deparseAlterExtensionStmt(StringInfo str, AlterExtensionStmt *alter_extension_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "ALTER EXTENSION "); - deparseColId(str, alter_extension_stmt->extname); - appendStringInfoString(str, " UPDATE "); - foreach (lc, alter_extension_stmt->options) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - if (strcmp(def_elem->defname, "new_version") == 0) - { - appendStringInfoString(str, "TO "); - deparseNonReservedWordOrSconst(str, strVal(def_elem->arg)); - } - else - { - Assert(false); - } - appendStringInfoChar(str, ' '); - } - removeTrailingSpace(str); -} - -static void deparseAlterExtensionContentsStmt(StringInfo str, AlterExtensionContentsStmt *alter_extension_contents_stmt) -{ - List *l = NULL; - - appendStringInfoString(str, "ALTER EXTENSION "); - deparseColId(str, alter_extension_contents_stmt->extname); - appendStringInfoChar(str, ' '); - - if (alter_extension_contents_stmt->action == 1) - appendStringInfoString(str, "ADD "); - else if (alter_extension_contents_stmt->action == -1) - appendStringInfoString(str, "DROP "); - else - Assert(false); - - switch (alter_extension_contents_stmt->objtype) - { - case OBJECT_ACCESS_METHOD: - appendStringInfoString(str, "ACCESS METHOD "); - break; - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - break; - case OBJECT_CAST: - appendStringInfoString(str, "CAST "); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - break; - case OBJECT_OPCLASS: - appendStringInfoString(str, "OPERATOR CLASS "); - break; - case OBJECT_OPFAMILY: - appendStringInfoString(str, "OPERATOR FAMILY "); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - break; - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "SERVER "); - break; - case OBJECT_TRANSFORM: - appendStringInfoString(str, "TRANSFORM "); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - break; - default: - // No other object types are supported here in the parser - Assert(false); - break; - } - - switch (alter_extension_contents_stmt->objtype) - { - // any_name - case OBJECT_COLLATION: - case OBJECT_CONVERSION: - case OBJECT_TABLE: - case OBJECT_TSPARSER: - case OBJECT_TSDICTIONARY: - case OBJECT_TSTEMPLATE: - case OBJECT_TSCONFIGURATION: - case OBJECT_SEQUENCE: - case OBJECT_VIEW: - case OBJECT_MATVIEW: - case OBJECT_FOREIGN_TABLE: - deparseAnyName(str, castNode(List, alter_extension_contents_stmt->object)); - break; - // name - case OBJECT_ACCESS_METHOD: - case OBJECT_LANGUAGE: - case OBJECT_SCHEMA: - case OBJECT_EVENT_TRIGGER: - case OBJECT_FDW: - case OBJECT_FOREIGN_SERVER: - deparseColId(str, strVal(alter_extension_contents_stmt->object)); - break; - case OBJECT_AGGREGATE: - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); - break; - case OBJECT_CAST: - l = castNode(List, alter_extension_contents_stmt->object); - Assert(list_length(l) == 2); - appendStringInfoChar(str, '('); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " AS "); - deparseTypeName(str, castNode(TypeName, lsecond(l))); - appendStringInfoChar(str, ')'); - break; - case OBJECT_DOMAIN: - case OBJECT_TYPE: - deparseTypeName(str, castNode(TypeName, alter_extension_contents_stmt->object)); - break; - case OBJECT_FUNCTION: - case OBJECT_PROCEDURE: - case OBJECT_ROUTINE: - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); - break; - case OBJECT_OPERATOR: - deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); - break; - case OBJECT_OPFAMILY: - case OBJECT_OPCLASS: - l = castNode(List, alter_extension_contents_stmt->object); - Assert(list_length(l) == 2); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - deparseColId(str, strVal(linitial(l))); - break; - case OBJECT_TRANSFORM: - l = castNode(List, alter_extension_contents_stmt->object); - appendStringInfoString(str, "FOR "); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " LANGUAGE "); - deparseColId(str, strVal(lsecond(l))); - break; - default: - Assert(false); - break; - } -} - -static void deparseAccessPriv(StringInfo str, AccessPriv *access_priv) -{ - ListCell *lc; - - if (access_priv->priv_name != NULL) - { - if (strcmp(access_priv->priv_name, "select") == 0) - appendStringInfoString(str, "select"); - else if (strcmp(access_priv->priv_name, "references") == 0) - appendStringInfoString(str, "references"); - else if (strcmp(access_priv->priv_name, "create") == 0) - appendStringInfoString(str, "create"); - else - appendStringInfoString(str, quote_identifier(access_priv->priv_name)); - } - else - { - appendStringInfoString(str, "ALL"); - } - appendStringInfoChar(str, ' '); - - if (list_length(access_priv->cols) > 0) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, access_priv->cols); - appendStringInfoChar(str, ')'); - } - - removeTrailingSpace(str); -} - -static void deparseGrantStmt(StringInfo str, GrantStmt *grant_stmt) -{ - ListCell *lc; - if (grant_stmt->is_grant) - appendStringInfoString(str, "GRANT "); - else - appendStringInfoString(str, "REVOKE "); - - if (!grant_stmt->is_grant && grant_stmt->grant_option) - appendStringInfoString(str, "GRANT OPTION FOR "); - - if (list_length(grant_stmt->privileges) > 0) - { - foreach(lc, grant_stmt->privileges) - { - deparseAccessPriv(str, castNode(AccessPriv, lfirst(lc))); - if (lnext(grant_stmt->privileges, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - } - else - { - appendStringInfoString(str, "ALL "); - } - - appendStringInfoString(str, "ON "); - - deparsePrivilegeTarget(str, grant_stmt->targtype, grant_stmt->objtype, grant_stmt->objects); - appendStringInfoChar(str, ' '); - - if (grant_stmt->is_grant) - appendStringInfoString(str, "TO "); - else - appendStringInfoString(str, "FROM "); - - foreach(lc, grant_stmt->grantees) - { - deparseRoleSpec(str, castNode(RoleSpec, lfirst(lc))); - if (lnext(grant_stmt->grantees, lc)) - appendStringInfoChar(str, ','); - appendStringInfoChar(str, ' '); - } - - if (grant_stmt->is_grant && grant_stmt->grant_option) - appendStringInfoString(str, "WITH GRANT OPTION "); - - deparseOptDropBehavior(str, grant_stmt->behavior); - - if (grant_stmt->grantor) - { - appendStringInfoString(str, "GRANTED BY "); - deparseRoleSpec(str, castNode(RoleSpec, grant_stmt->grantor)); - } - - removeTrailingSpace(str); -} - -static void deparseGrantRoleStmt(StringInfo str, GrantRoleStmt *grant_role_stmt) -{ - ListCell *lc; - - if (grant_role_stmt->is_grant) - appendStringInfoString(str, "GRANT "); - else - appendStringInfoString(str, "REVOKE "); - - if (!grant_role_stmt->is_grant && grant_role_stmt->admin_opt) - appendStringInfoString(str, "ADMIN OPTION FOR "); - - foreach(lc, grant_role_stmt->granted_roles) - { - deparseAccessPriv(str, castNode(AccessPriv, lfirst(lc))); - if (lnext(grant_role_stmt->granted_roles, lc)) - appendStringInfoChar(str, ','); - appendStringInfoChar(str, ' '); - } - - if (grant_role_stmt->is_grant) - appendStringInfoString(str, "TO "); - else - appendStringInfoString(str, "FROM "); - - deparseRoleList(str, grant_role_stmt->grantee_roles); - appendStringInfoChar(str, ' '); - - if (grant_role_stmt->is_grant && grant_role_stmt->admin_opt) - appendStringInfoString(str, "WITH ADMIN OPTION "); - - if (grant_role_stmt->grantor) - { - appendStringInfoString(str, "GRANTED BY "); - deparseRoleSpec(str, castNode(RoleSpec, grant_role_stmt->grantor)); - } - - removeTrailingSpace(str); -} - -static void deparseDropRoleStmt(StringInfo str, DropRoleStmt *drop_role_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "DROP ROLE "); - - if (drop_role_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - deparseRoleList(str, drop_role_stmt->roles); -} - -static void deparseIndexStmt(StringInfo str, IndexStmt *index_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - if (index_stmt->unique) - appendStringInfoString(str, "UNIQUE "); - - appendStringInfoString(str, "INDEX "); - - if (index_stmt->concurrent) - appendStringInfoString(str, "CONCURRENTLY "); - - if (index_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - if (index_stmt->idxname != NULL) - { - appendStringInfoString(str, index_stmt->idxname); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "ON "); - deparseRangeVar(str, index_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (index_stmt->accessMethod != NULL) - { - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(index_stmt->accessMethod)); - appendStringInfoChar(str, ' '); - } - - appendStringInfoChar(str, '('); - foreach (lc, index_stmt->indexParams) - { - deparseIndexElem(str, castNode(IndexElem, lfirst(lc))); - if (lnext(index_stmt->indexParams, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - - if (list_length(index_stmt->indexIncludingParams) > 0) - { - appendStringInfoString(str, "INCLUDE ("); - foreach (lc, index_stmt->indexIncludingParams) - { - deparseIndexElem(str, castNode(IndexElem, lfirst(lc))); - if (lnext(index_stmt->indexIncludingParams, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoString(str, ") "); - } - - if (index_stmt->nulls_not_distinct) - { - appendStringInfoString(str, "NULLS NOT DISTINCT "); - } - - deparseOptWith(str, index_stmt->options); - - if (index_stmt->tableSpace != NULL) - { - appendStringInfoString(str, "TABLESPACE "); - appendStringInfoString(str, quote_identifier(index_stmt->tableSpace)); - appendStringInfoChar(str, ' '); - } - - deparseWhereClause(str, index_stmt->whereClause); - - removeTrailingSpace(str); -} - -static void deparseAlterOpFamilyStmt(StringInfo str, AlterOpFamilyStmt *alter_op_family_stmt) -{ - appendStringInfoString(str, "ALTER OPERATOR FAMILY "); - deparseAnyName(str, alter_op_family_stmt->opfamilyname); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(alter_op_family_stmt->amname)); - appendStringInfoChar(str, ' '); - - if (alter_op_family_stmt->isDrop) - appendStringInfoString(str, "DROP "); - else - appendStringInfoString(str, "ADD "); - - deparseOpclassItemList(str, alter_op_family_stmt->items); -} - -static void deparsePrepareStmt(StringInfo str, PrepareStmt *prepare_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "PREPARE "); - deparseColId(str, prepare_stmt->name); - if (list_length(prepare_stmt->argtypes) > 0) - { - appendStringInfoChar(str, '('); - deparseTypeList(str, prepare_stmt->argtypes); - appendStringInfoChar(str, ')'); - } - appendStringInfoString(str, " AS "); - deparsePreparableStmt(str, prepare_stmt->query); -} - -static void deparseExecuteStmt(StringInfo str, ExecuteStmt *execute_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "EXECUTE "); - appendStringInfoString(str, quote_identifier(execute_stmt->name)); - if (list_length(execute_stmt->params) > 0) - { - appendStringInfoChar(str, '('); - deparseExprList(str, execute_stmt->params); - appendStringInfoChar(str, ')'); - } -} - -static void deparseDeallocateStmt(StringInfo str, DeallocateStmt *deallocate_stmt) -{ - appendStringInfoString(str, "DEALLOCATE "); - if (deallocate_stmt->name != NULL) - appendStringInfoString(str, quote_identifier(deallocate_stmt->name)); - else - appendStringInfoString(str, "ALL"); -} - -// "AlterOptRoleElem" in gram.y -static void deparseAlterRoleElem(StringInfo str, DefElem *def_elem) -{ - if (strcmp(def_elem->defname, "password") == 0) - { - appendStringInfoString(str, "PASSWORD "); - if (def_elem->arg == NULL) - { - appendStringInfoString(str, "NULL"); - } - else if (IsA(def_elem->arg, ParamRef)) - { - deparseParamRef(str, castNode(ParamRef, def_elem->arg)); - } - else if (IsA(def_elem->arg, String)) - { - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else - { - Assert(false); - } - } - else if (strcmp(def_elem->defname, "connectionlimit") == 0) - { - appendStringInfo(str, "CONNECTION LIMIT %d", intVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "validUntil") == 0) - { - appendStringInfoString(str, "VALID UNTIL "); - deparseStringLiteral(str, strVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "superuser") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "SUPERUSER"); - } - else if (strcmp(def_elem->defname, "superuser") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOSUPERUSER"); - } - else if (strcmp(def_elem->defname, "createrole") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "CREATEROLE"); - } - else if (strcmp(def_elem->defname, "createrole") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOCREATEROLE"); - } - else if (strcmp(def_elem->defname, "isreplication") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "REPLICATION"); - } - else if (strcmp(def_elem->defname, "isreplication") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOREPLICATION"); - } - else if (strcmp(def_elem->defname, "createdb") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "CREATEDB"); - } - else if (strcmp(def_elem->defname, "createdb") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOCREATEDB"); - } - else if (strcmp(def_elem->defname, "canlogin") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "LOGIN"); - } - else if (strcmp(def_elem->defname, "canlogin") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOLOGIN"); - } - else if (strcmp(def_elem->defname, "bypassrls") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "BYPASSRLS"); - } - else if (strcmp(def_elem->defname, "bypassrls") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOBYPASSRLS"); - } - else if (strcmp(def_elem->defname, "inherit") == 0 && boolVal(def_elem->arg)) - { - appendStringInfoString(str, "INHERIT"); - } - else if (strcmp(def_elem->defname, "inherit") == 0 && !boolVal(def_elem->arg)) - { - appendStringInfoString(str, "NOINHERIT"); - } - else - { - Assert(false); - } -} - -// "CreateOptRoleElem" in gram.y -static void deparseCreateRoleElem(StringInfo str, DefElem *def_elem) -{ - if (strcmp(def_elem->defname, "sysid") == 0) - { - appendStringInfo(str, "SYSID %d", intVal(def_elem->arg)); - } - else if (strcmp(def_elem->defname, "adminmembers") == 0) - { - appendStringInfoString(str, "ADMIN "); - deparseRoleList(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "rolemembers") == 0) - { - appendStringInfoString(str, "ROLE "); - deparseRoleList(str, castNode(List, def_elem->arg)); - } - else if (strcmp(def_elem->defname, "addroleto") == 0) - { - appendStringInfoString(str, "IN ROLE "); - deparseRoleList(str, castNode(List, def_elem->arg)); - } - else - { - deparseAlterRoleElem(str, def_elem); - } -} - -static void deparseCreatePLangStmt(StringInfo str, CreatePLangStmt *create_p_lang_stmt) -{ - appendStringInfoString(str, "CREATE "); - - if (create_p_lang_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - - if (create_p_lang_stmt->pltrusted) - appendStringInfoString(str, "TRUSTED "); - - appendStringInfoString(str, "LANGUAGE "); - deparseNonReservedWordOrSconst(str, create_p_lang_stmt->plname); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "HANDLER "); - deparseHandlerName(str, create_p_lang_stmt->plhandler); - appendStringInfoChar(str, ' '); - - if (create_p_lang_stmt->plinline) - { - appendStringInfoString(str, "INLINE "); - deparseHandlerName(str, create_p_lang_stmt->plinline); - appendStringInfoChar(str, ' '); - } - - if (create_p_lang_stmt->plvalidator) - { - appendStringInfoString(str, "VALIDATOR "); - deparseHandlerName(str, create_p_lang_stmt->plvalidator); - appendStringInfoChar(str, ' '); - } - - removeTrailingSpace(str); -} - -static void deparseCreateRoleStmt(StringInfo str, CreateRoleStmt *create_role_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - switch (create_role_stmt->stmt_type) - { - case ROLESTMT_ROLE: - appendStringInfoString(str, "ROLE "); - break; - case ROLESTMT_USER: - appendStringInfoString(str, "USER "); - break; - case ROLESTMT_GROUP: - appendStringInfoString(str, "GROUP "); - break; - } - - appendStringInfoString(str, quote_identifier(create_role_stmt->role)); - appendStringInfoChar(str, ' '); - - if (create_role_stmt->options != NULL) - { - appendStringInfoString(str, "WITH "); - foreach (lc, create_role_stmt->options) - { - deparseCreateRoleElem(str, castNode(DefElem, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - } - - removeTrailingSpace(str); -} - -static void deparseAlterRoleStmt(StringInfo str, AlterRoleStmt *alter_role_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER "); - - if (list_length(alter_role_stmt->options) == 1 && strcmp(castNode(DefElem, linitial(alter_role_stmt->options))->defname, "rolemembers") == 0) - { - appendStringInfoString(str, "GROUP "); - deparseRoleSpec(str, alter_role_stmt->role); - appendStringInfoChar(str, ' '); - - if (alter_role_stmt->action == 1) - { - appendStringInfoString(str, "ADD USER "); - } - else if (alter_role_stmt->action == -1) - { - appendStringInfoString(str, "DROP USER "); - } - else - { - Assert(false); - } - - deparseRoleList(str, castNode(List, castNode(DefElem, linitial(alter_role_stmt->options))->arg)); - } - else - { - appendStringInfoString(str, "ROLE "); - deparseRoleSpec(str, alter_role_stmt->role); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "WITH "); - foreach (lc, alter_role_stmt->options) - { - deparseAlterRoleElem(str, castNode(DefElem, lfirst(lc))); - appendStringInfoChar(str, ' '); - } - } - - removeTrailingSpace(str); -} - -static void deparseDeclareCursorStmt(StringInfo str, DeclareCursorStmt *declare_cursor_stmt) -{ - appendStringInfoString(str, "DECLARE "); - appendStringInfoString(str, quote_identifier(declare_cursor_stmt->portalname)); - appendStringInfoChar(str, ' '); - - if (declare_cursor_stmt->options & CURSOR_OPT_BINARY) - appendStringInfoString(str, "BINARY "); - - if (declare_cursor_stmt->options & CURSOR_OPT_SCROLL) - appendStringInfoString(str, "SCROLL "); - - if (declare_cursor_stmt->options & CURSOR_OPT_NO_SCROLL) - appendStringInfoString(str, "NO SCROLL "); - - if (declare_cursor_stmt->options & CURSOR_OPT_INSENSITIVE) - appendStringInfoString(str, "INSENSITIVE "); - - appendStringInfoString(str, "CURSOR "); - - if (declare_cursor_stmt->options & CURSOR_OPT_HOLD) - appendStringInfoString(str, "WITH HOLD "); - - appendStringInfoString(str, "FOR "); - - deparseSelectStmt(str, castNode(SelectStmt, declare_cursor_stmt->query)); -} - -static void deparseFetchStmt(StringInfo str, FetchStmt *fetch_stmt) -{ - if (fetch_stmt->ismove) - appendStringInfoString(str, "MOVE "); - else - appendStringInfoString(str, "FETCH "); - - switch (fetch_stmt->direction) - { - case FETCH_FORWARD: - if (fetch_stmt->howMany == 1) - { - // Default - } - else if (fetch_stmt->howMany == FETCH_ALL) - { - appendStringInfoString(str, "ALL "); - } - else - { - appendStringInfo(str, "FORWARD %ld ", fetch_stmt->howMany); - } - break; - case FETCH_BACKWARD: - if (fetch_stmt->howMany == 1) - { - appendStringInfoString(str, "PRIOR "); - } - else if (fetch_stmt->howMany == FETCH_ALL) - { - appendStringInfoString(str, "BACKWARD ALL "); - } - else - { - appendStringInfo(str, "BACKWARD %ld ", fetch_stmt->howMany); - } - break; - case FETCH_ABSOLUTE: - if (fetch_stmt->howMany == 1) - { - appendStringInfoString(str, "FIRST "); - } - else if (fetch_stmt->howMany == -1) - { - appendStringInfoString(str, "LAST "); - } - else - { - appendStringInfo(str, "ABSOLUTE %ld ", fetch_stmt->howMany); - } - break; - case FETCH_RELATIVE: - appendStringInfo(str, "RELATIVE %ld ", fetch_stmt->howMany); - } - - appendStringInfoString(str, fetch_stmt->portalname); -} - -static void deparseAlterDefaultPrivilegesStmt(StringInfo str, AlterDefaultPrivilegesStmt *alter_default_privileges_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER DEFAULT PRIVILEGES "); - - foreach (lc, alter_default_privileges_stmt->options) - { - DefElem *defelem = castNode(DefElem, lfirst(lc)); - if (strcmp(defelem->defname, "schemas") == 0) - { - appendStringInfoString(str, "IN SCHEMA "); - deparseNameList(str, castNode(List, defelem->arg)); - appendStringInfoChar(str, ' '); - } - else if (strcmp(defelem->defname, "roles") == 0) - { - appendStringInfoString(str, "FOR ROLE "); - deparseRoleList(str, castNode(List, defelem->arg)); - appendStringInfoChar(str, ' '); - } - else - { - // No other DefElems are supported - Assert(false); - } - } - - deparseGrantStmt(str, alter_default_privileges_stmt->action); -} - -static void deparseReindexStmt(StringInfo str, ReindexStmt *reindex_stmt) -{ - appendStringInfoString(str, "REINDEX "); - - deparseUtilityOptionList(str, reindex_stmt->params); - - switch (reindex_stmt->kind) - { - case REINDEX_OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case REINDEX_OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case REINDEX_OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - break; - case REINDEX_OBJECT_SYSTEM: - appendStringInfoString(str, "SYSTEM "); - break; - case REINDEX_OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - break; - } - - if (reindex_stmt->relation != NULL) - { - deparseRangeVar(str, reindex_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - } - else if (reindex_stmt->name != NULL) - { - appendStringInfoString(str, quote_identifier(reindex_stmt->name)); - } -} - -static void deparseRuleStmt(StringInfo str, RuleStmt* rule_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - if (rule_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - - appendStringInfoString(str, "RULE "); - appendStringInfoString(str, quote_identifier(rule_stmt->rulename)); - appendStringInfoString(str, " AS ON "); - - switch (rule_stmt->event) - { - case CMD_UNKNOWN: - case CMD_UTILITY: - case CMD_NOTHING: - // Not supported here - Assert(false); - break; - case CMD_SELECT: - appendStringInfoString(str, "SELECT "); - break; - case CMD_UPDATE: - appendStringInfoString(str, "UPDATE "); - break; - case CMD_INSERT: - appendStringInfoString(str, "INSERT "); - break; - case CMD_DELETE: - appendStringInfoString(str, "DELETE "); - break; - case CMD_MERGE: - appendStringInfoString(str, "MERGE "); - break; - } - - appendStringInfoString(str, "TO "); - deparseRangeVar(str, rule_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - deparseWhereClause(str, rule_stmt->whereClause); - - appendStringInfoString(str, "DO "); - - if (rule_stmt->instead) - appendStringInfoString(str, "INSTEAD "); - - if (list_length(rule_stmt->actions) == 0) - { - appendStringInfoString(str, "NOTHING"); - } - else if (list_length(rule_stmt->actions) == 1) - { - deparseRuleActionStmt(str, linitial(rule_stmt->actions)); - } - else - { - appendStringInfoChar(str, '('); - foreach (lc, rule_stmt->actions) - { - deparseRuleActionStmt(str, lfirst(lc)); - if (lnext(rule_stmt->actions, lc)) - appendStringInfoString(str, "; "); - } - appendStringInfoChar(str, ')'); - } -} - -static void deparseNotifyStmt(StringInfo str, NotifyStmt *notify_stmt) -{ - appendStringInfoString(str, "NOTIFY "); - appendStringInfoString(str, quote_identifier(notify_stmt->conditionname)); - - if (notify_stmt->payload != NULL) - { - appendStringInfoString(str, ", "); - deparseStringLiteral(str, notify_stmt->payload); - } -} - -static void deparseListenStmt(StringInfo str, ListenStmt *listen_stmt) -{ - appendStringInfoString(str, "LISTEN "); - appendStringInfoString(str, quote_identifier(listen_stmt->conditionname)); -} - -static void deparseUnlistenStmt(StringInfo str, UnlistenStmt *unlisten_stmt) -{ - appendStringInfoString(str, "UNLISTEN "); - if (unlisten_stmt->conditionname == NULL) - appendStringInfoString(str, "*"); - else - appendStringInfoString(str, quote_identifier(unlisten_stmt->conditionname)); -} - -static void deparseCreateSeqStmt(StringInfo str, CreateSeqStmt *create_seq_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE "); - - deparseOptTemp(str, create_seq_stmt->sequence->relpersistence); - - appendStringInfoString(str, "SEQUENCE "); - - if (create_seq_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseRangeVar(str, create_seq_stmt->sequence, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - deparseOptSeqOptList(str, create_seq_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseAlterFunctionStmt(StringInfo str, AlterFunctionStmt *alter_function_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER "); - - switch (alter_function_stmt->objtype) - { - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - break; - default: - // Not supported here - Assert(false); - break; - } - - deparseFunctionWithArgtypes(str, alter_function_stmt->func); - appendStringInfoChar(str, ' '); - - foreach (lc, alter_function_stmt->actions) - { - deparseCommonFuncOptItem(str, castNode(DefElem, lfirst(lc))); - if (lnext(alter_function_stmt->actions, lc)) - appendStringInfoChar(str, ' '); - } -} - -static void deparseTruncateStmt(StringInfo str, TruncateStmt *truncate_stmt) -{ - appendStringInfoString(str, "TRUNCATE "); - - deparseRelationExprList(str, truncate_stmt->relations); - appendStringInfoChar(str, ' '); - - if (truncate_stmt->restart_seqs) - appendStringInfoString(str, "RESTART IDENTITY "); - - deparseOptDropBehavior(str, truncate_stmt->behavior); - - removeTrailingSpace(str); -} - -static void deparseCreateEventTrigStmt(StringInfo str, CreateEventTrigStmt *create_event_trig_stmt) -{ - ListCell *lc = NULL; - ListCell *lc2 = NULL; - - appendStringInfoString(str, "CREATE EVENT TRIGGER "); - appendStringInfoString(str, quote_identifier(create_event_trig_stmt->trigname)); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "ON "); - appendStringInfoString(str, quote_identifier(create_event_trig_stmt->eventname)); - appendStringInfoChar(str, ' '); - - if (create_event_trig_stmt->whenclause) - { - appendStringInfoString(str, "WHEN "); - - foreach (lc, create_event_trig_stmt->whenclause) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - List *l = castNode(List, def_elem->arg); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoString(str, " IN ("); - foreach (lc2, l) - { - deparseStringLiteral(str, strVal(lfirst(lc2))); - if (lnext(l, lc2)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ')'); - if (lnext(create_event_trig_stmt->whenclause, lc)) - appendStringInfoString(str, " AND "); - } - - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "EXECUTE FUNCTION "); - deparseFuncName(str, create_event_trig_stmt->funcname); - appendStringInfoString(str, "()"); -} - -static void deparseAlterEventTrigStmt(StringInfo str, AlterEventTrigStmt *alter_event_trig_stmt) -{ - appendStringInfoString(str, "ALTER EVENT TRIGGER "); - appendStringInfoString(str, quote_identifier(alter_event_trig_stmt->trigname)); - appendStringInfoChar(str, ' '); - - switch (alter_event_trig_stmt->tgenabled) - { - case TRIGGER_FIRES_ON_ORIGIN: - appendStringInfoString(str, "ENABLE"); - break; - case TRIGGER_FIRES_ON_REPLICA: - appendStringInfoString(str, "ENABLE REPLICA"); - break; - case TRIGGER_FIRES_ALWAYS: - appendStringInfoString(str, "ENABLE ALWAYS"); - break; - case TRIGGER_DISABLED: - appendStringInfoString(str, "DISABLE"); - break; - } -} - -static void deparseRefreshMatViewStmt(StringInfo str, RefreshMatViewStmt *refresh_mat_view_stmt) -{ - appendStringInfoString(str, "REFRESH MATERIALIZED VIEW "); - - if (refresh_mat_view_stmt->concurrent) - appendStringInfoString(str, "CONCURRENTLY "); - - deparseRangeVar(str, refresh_mat_view_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (refresh_mat_view_stmt->skipData) - appendStringInfoString(str, "WITH NO DATA "); - - removeTrailingSpace(str); -} - -static void deparseReplicaIdentityStmt(StringInfo str, ReplicaIdentityStmt *replica_identity_stmt) -{ - switch (replica_identity_stmt->identity_type) - { - case REPLICA_IDENTITY_NOTHING: - appendStringInfoString(str, "NOTHING "); - break; - case REPLICA_IDENTITY_FULL: - appendStringInfoString(str, "FULL "); - break; - case REPLICA_IDENTITY_DEFAULT: - appendStringInfoString(str, "DEFAULT "); - break; - case REPLICA_IDENTITY_INDEX: - Assert(replica_identity_stmt->name != NULL); - appendStringInfoString(str, "USING INDEX "); - appendStringInfoString(str, quote_identifier(replica_identity_stmt->name)); - break; - } -} - -static void deparseCreatePolicyStmt(StringInfo str, CreatePolicyStmt *create_policy_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "CREATE POLICY "); - deparseColId(str, create_policy_stmt->policy_name); - appendStringInfoString(str, " ON "); - deparseRangeVar(str, create_policy_stmt->table, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (!create_policy_stmt->permissive) - appendStringInfoString(str, "AS RESTRICTIVE "); - - if (strcmp(create_policy_stmt->cmd_name, "all") == 0) - Assert(true); // Default - else if (strcmp(create_policy_stmt->cmd_name, "select") == 0) - appendStringInfoString(str, "FOR SELECT "); - else if (strcmp(create_policy_stmt->cmd_name, "insert") == 0) - appendStringInfoString(str, "FOR INSERT "); - else if (strcmp(create_policy_stmt->cmd_name, "update") == 0) - appendStringInfoString(str, "FOR UPDATE "); - else if (strcmp(create_policy_stmt->cmd_name, "delete") == 0) - appendStringInfoString(str, "FOR DELETE "); - else - Assert(false); - - appendStringInfoString(str, "TO "); - deparseRoleList(str, create_policy_stmt->roles); - appendStringInfoChar(str, ' '); - - if (create_policy_stmt->qual != NULL) - { - appendStringInfoString(str, "USING ("); - deparseExpr(str, create_policy_stmt->qual); - appendStringInfoString(str, ") "); - } - - if (create_policy_stmt->with_check != NULL) - { - appendStringInfoString(str, "WITH CHECK ("); - deparseExpr(str, create_policy_stmt->with_check); - appendStringInfoString(str, ") "); - } -} - -static void deparseAlterPolicyStmt(StringInfo str, AlterPolicyStmt *alter_policy_stmt) -{ - appendStringInfoString(str, "ALTER POLICY "); - appendStringInfoString(str, quote_identifier(alter_policy_stmt->policy_name)); - appendStringInfoString(str, " ON "); - deparseRangeVar(str, alter_policy_stmt->table, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - if (list_length(alter_policy_stmt->roles) > 0) - { - appendStringInfoString(str, "TO "); - deparseRoleList(str, alter_policy_stmt->roles); - appendStringInfoChar(str, ' '); - } - - if (alter_policy_stmt->qual != NULL) - { - appendStringInfoString(str, "USING ("); - deparseExpr(str, alter_policy_stmt->qual); - appendStringInfoString(str, ") "); - } - - if (alter_policy_stmt->with_check != NULL) - { - appendStringInfoString(str, "WITH CHECK ("); - deparseExpr(str, alter_policy_stmt->with_check); - appendStringInfoString(str, ") "); - } -} - -static void deparseCreateTableSpaceStmt(StringInfo str, CreateTableSpaceStmt *create_table_space_stmt) -{ - appendStringInfoString(str, "CREATE TABLESPACE "); - deparseColId(str, create_table_space_stmt->tablespacename); - appendStringInfoChar(str, ' '); - - if (create_table_space_stmt->owner != NULL) - { - appendStringInfoString(str, "OWNER "); - deparseRoleSpec(str, create_table_space_stmt->owner); - appendStringInfoChar(str, ' '); - } - - appendStringInfoString(str, "LOCATION "); - - if (create_table_space_stmt->location != NULL) - deparseStringLiteral(str, create_table_space_stmt->location); - else - appendStringInfoString(str, "''"); - - appendStringInfoChar(str, ' '); - - deparseOptWith(str, create_table_space_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseCreateTransformStmt(StringInfo str, CreateTransformStmt *create_transform_stmt) -{ - appendStringInfoString(str, "CREATE "); - if (create_transform_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - - appendStringInfoString(str, "TRANSFORM FOR "); - deparseTypeName(str, create_transform_stmt->type_name); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "LANGUAGE "); - appendStringInfoString(str, quote_identifier(create_transform_stmt->lang)); - appendStringInfoChar(str, ' '); - - appendStringInfoChar(str, '('); - - if (create_transform_stmt->fromsql) - { - appendStringInfoString(str, "FROM SQL WITH FUNCTION "); - deparseFunctionWithArgtypes(str, create_transform_stmt->fromsql); - } - - if (create_transform_stmt->fromsql && create_transform_stmt->tosql) - appendStringInfoString(str, ", "); - - if (create_transform_stmt->tosql) - { - appendStringInfoString(str, "TO SQL WITH FUNCTION "); - deparseFunctionWithArgtypes(str, create_transform_stmt->tosql); - } - - appendStringInfoChar(str, ')'); -} - -static void deparseCreateAmStmt(StringInfo str, CreateAmStmt *create_am_stmt) -{ - appendStringInfoString(str, "CREATE ACCESS METHOD "); - appendStringInfoString(str, quote_identifier(create_am_stmt->amname)); - appendStringInfoChar(str, ' '); - - appendStringInfoString(str, "TYPE "); - switch (create_am_stmt->amtype) - { - case AMTYPE_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case AMTYPE_TABLE: - appendStringInfoString(str, "TABLE "); - break; - } - - appendStringInfoString(str, "HANDLER "); - deparseHandlerName(str, create_am_stmt->handler_name); -} - -static void deparsePublicationObjectList(StringInfo str, List *pubobjects) { - const ListCell *lc; - foreach(lc, pubobjects) { - PublicationObjSpec *obj = lfirst(lc); - - switch (obj->pubobjtype) { - case PUBLICATIONOBJ_TABLE: - appendStringInfoString(str, "TABLE "); - deparseRangeVar(str, obj->pubtable->relation, DEPARSE_NODE_CONTEXT_NONE); - - if (obj->pubtable->columns) - { - appendStringInfoChar(str, '('); - deparseColumnList(str, obj->pubtable->columns); - appendStringInfoChar(str, ')'); - } - - if (obj->pubtable->whereClause) - { - appendStringInfoString(str, " WHERE ("); - deparseExpr(str, obj->pubtable->whereClause); - appendStringInfoString(str, ")"); - } - - break; - case PUBLICATIONOBJ_TABLES_IN_SCHEMA: - appendStringInfoString(str, "TABLES IN SCHEMA "); - appendStringInfoString(str, quote_identifier(obj->name)); - break; - case PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA: - appendStringInfoString(str, "TABLES IN SCHEMA CURRENT_SCHEMA"); - break; - case PUBLICATIONOBJ_CONTINUATION: - // This should be unreachable, the parser merges these before we can even get here. - Assert(false); - break; - } - - if (lnext(pubobjects, lc)) { - appendStringInfoString(str, ", "); - } - } -} - -static void deparseCreatePublicationStmt(StringInfo str, CreatePublicationStmt *create_publication_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "CREATE PUBLICATION "); - appendStringInfoString(str, quote_identifier(create_publication_stmt->pubname)); - appendStringInfoChar(str, ' '); - - if (list_length(create_publication_stmt->pubobjects) > 0) - { - appendStringInfoString(str, "FOR "); - deparsePublicationObjectList(str, create_publication_stmt->pubobjects); - appendStringInfoChar(str, ' '); - } - else if (create_publication_stmt->for_all_tables) - { - appendStringInfoString(str, "FOR ALL TABLES "); - } - - deparseOptDefinition(str, create_publication_stmt->options); - removeTrailingSpace(str); -} - -static void deparseAlterPublicationStmt(StringInfo str, AlterPublicationStmt *alter_publication_stmt) -{ - appendStringInfoString(str, "ALTER PUBLICATION "); - deparseColId(str, alter_publication_stmt->pubname); - appendStringInfoChar(str, ' '); - - if (list_length(alter_publication_stmt->pubobjects) > 0) - { - switch (alter_publication_stmt->action) - { - case AP_SetObjects: - appendStringInfoString(str, "SET "); - break; - case AP_AddObjects: - appendStringInfoString(str, "ADD "); - break; - case AP_DropObjects: - appendStringInfoString(str, "DROP "); - break; - } - - deparsePublicationObjectList(str, alter_publication_stmt->pubobjects); - } - else if (list_length(alter_publication_stmt->options) > 0) - { - appendStringInfoString(str, "SET "); - deparseDefinition(str, alter_publication_stmt->options); - } - else - { - Assert(false); - } -} - -static void deparseAlterSeqStmt(StringInfo str, AlterSeqStmt *alter_seq_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER SEQUENCE "); - - if (alter_seq_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - deparseRangeVar(str, alter_seq_stmt->sequence, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - - deparseSeqOptList(str, alter_seq_stmt->options); - - removeTrailingSpace(str); -} - -static void deparseAlterSystemStmt(StringInfo str, AlterSystemStmt *alter_system_stmt) -{ - appendStringInfoString(str, "ALTER SYSTEM "); - deparseVariableSetStmt(str, alter_system_stmt->setstmt); -} - -static void deparseCommentStmt(StringInfo str, CommentStmt *comment_stmt) -{ - ListCell *lc; - List *l; - - appendStringInfoString(str, "COMMENT ON "); - - switch (comment_stmt->objtype) - { - case OBJECT_COLUMN: - appendStringInfoString(str, "COLUMN "); - break; - case OBJECT_INDEX: - appendStringInfoString(str, "INDEX "); - break; - case OBJECT_SEQUENCE: - appendStringInfoString(str, "SEQUENCE "); - break; - case OBJECT_STATISTIC_EXT: - appendStringInfoString(str, "STATISTICS "); - break; - case OBJECT_TABLE: - appendStringInfoString(str, "TABLE "); - break; - case OBJECT_VIEW: - appendStringInfoString(str, "VIEW "); - break; - case OBJECT_MATVIEW: - appendStringInfoString(str, "MATERIALIZED VIEW "); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - break; - case OBJECT_FOREIGN_TABLE: - appendStringInfoString(str, "FOREIGN TABLE "); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - break; - case OBJECT_TSPARSER: - appendStringInfoString(str, "TEXT SEARCH PARSER "); - break; - case OBJECT_TSTEMPLATE: - appendStringInfoString(str, "TEXT SEARCH TEMPLATE "); - break; - case OBJECT_ACCESS_METHOD: - appendStringInfoString(str, "ACCESS METHOD "); - break; - case OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - break; - case OBJECT_EXTENSION: - appendStringInfoString(str, "EXTENSION "); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - break; - case OBJECT_PUBLICATION: - appendStringInfoString(str, "PUBLICATION "); - break; - case OBJECT_ROLE: - appendStringInfoString(str, "ROLE "); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "SERVER "); - break; - case OBJECT_SUBSCRIPTION: - appendStringInfoString(str, "SUBSCRIPTION "); - break; - case OBJECT_TABLESPACE: - appendStringInfoString(str, "TABLESPACE "); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - break; - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - break; - case OBJECT_TABCONSTRAINT: - appendStringInfoString(str, "CONSTRAINT "); - break; - case OBJECT_DOMCONSTRAINT: - appendStringInfoString(str, "CONSTRAINT "); - break; - case OBJECT_POLICY: - appendStringInfoString(str, "POLICY "); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - break; - case OBJECT_RULE: - appendStringInfoString(str, "RULE "); - break; - case OBJECT_TRANSFORM: - appendStringInfoString(str, "TRANSFORM "); - break; - case OBJECT_TRIGGER: - appendStringInfoString(str, "TRIGGER "); - break; - case OBJECT_OPCLASS: - appendStringInfoString(str, "OPERATOR CLASS "); - break; - case OBJECT_OPFAMILY: - appendStringInfoString(str, "OPERATOR FAMILY "); - break; - case OBJECT_LARGEOBJECT: - appendStringInfoString(str, "LARGE OBJECT "); - break; - case OBJECT_CAST: - appendStringInfoString(str, "CAST "); - break; - default: - // No other cases are supported in the parser - Assert(false); - break; - } - - switch (comment_stmt->objtype) - { - case OBJECT_COLUMN: - case OBJECT_INDEX: - case OBJECT_SEQUENCE: - case OBJECT_STATISTIC_EXT: - case OBJECT_TABLE: - case OBJECT_VIEW: - case OBJECT_MATVIEW: - case OBJECT_COLLATION: - case OBJECT_CONVERSION: - case OBJECT_FOREIGN_TABLE: - case OBJECT_TSCONFIGURATION: - case OBJECT_TSDICTIONARY: - case OBJECT_TSPARSER: - case OBJECT_TSTEMPLATE: - deparseAnyName(str, castNode(List, comment_stmt->object)); - break; - case OBJECT_ACCESS_METHOD: - case OBJECT_DATABASE: - case OBJECT_EVENT_TRIGGER: - case OBJECT_EXTENSION: - case OBJECT_FDW: - case OBJECT_LANGUAGE: - case OBJECT_PUBLICATION: - case OBJECT_ROLE: - case OBJECT_SCHEMA: - case OBJECT_FOREIGN_SERVER: - case OBJECT_SUBSCRIPTION: - case OBJECT_TABLESPACE: - appendStringInfoString(str, quote_identifier(strVal(comment_stmt->object))); - break; - case OBJECT_TYPE: - case OBJECT_DOMAIN: - deparseTypeName(str, castNode(TypeName, comment_stmt->object)); - break; - case OBJECT_AGGREGATE: - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, comment_stmt->object)); - break; - case OBJECT_FUNCTION: - case OBJECT_PROCEDURE: - case OBJECT_ROUTINE: - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, comment_stmt->object)); - break; - case OBJECT_OPERATOR: - deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, comment_stmt->object)); - break; - case OBJECT_TABCONSTRAINT: - case OBJECT_POLICY: - case OBJECT_RULE: - case OBJECT_TRIGGER: - l = castNode(List, comment_stmt->object); - appendStringInfoString(str, quote_identifier(strVal(llast(l)))); - appendStringInfoString(str, " ON "); - deparseAnyNameSkipLast(str, l); - break; - case OBJECT_DOMCONSTRAINT: - l = castNode(List, comment_stmt->object); - appendStringInfoString(str, quote_identifier(strVal(llast(l)))); - appendStringInfoString(str, " ON DOMAIN "); - deparseTypeName(str, linitial(l)); - break; - case OBJECT_TRANSFORM: - l = castNode(List, comment_stmt->object); - appendStringInfoString(str, "FOR "); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " LANGUAGE "); - appendStringInfoString(str, quote_identifier(strVal(lsecond(l)))); - break; - case OBJECT_OPCLASS: - case OBJECT_OPFAMILY: - l = castNode(List, comment_stmt->object); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - appendStringInfoString(str, quote_identifier(strVal(linitial(l)))); - break; - case OBJECT_LARGEOBJECT: - deparseValue(str, (union ValUnion *) comment_stmt->object, DEPARSE_NODE_CONTEXT_NONE); - break; - case OBJECT_CAST: - l = castNode(List, comment_stmt->object); - appendStringInfoChar(str, '('); - deparseTypeName(str, castNode(TypeName, linitial(l))); - appendStringInfoString(str, " AS "); - deparseTypeName(str, castNode(TypeName, lsecond(l))); - appendStringInfoChar(str, ')'); - break; - default: - // No other cases are supported in the parser - Assert(false); - break; - } - - appendStringInfoString(str, " IS "); - - if (comment_stmt->comment != NULL) - deparseStringLiteral(str, comment_stmt->comment); - else - appendStringInfoString(str, "NULL"); -} - -static void deparseStatsElem(StringInfo str, StatsElem *stats_elem) -{ - // only one of stats_elem->name or stats_elem->expr can be non-null - if (stats_elem->name) - appendStringInfoString(str, stats_elem->name); - else if (stats_elem->expr) - { - appendStringInfoChar(str, '('); - deparseExpr(str, stats_elem->expr); - appendStringInfoChar(str, ')'); - } -} - -static void deparseCreateStatsStmt(StringInfo str, CreateStatsStmt *create_stats_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE STATISTICS "); - - if (create_stats_stmt->if_not_exists) - appendStringInfoString(str, "IF NOT EXISTS "); - - deparseAnyName(str, create_stats_stmt->defnames); - appendStringInfoChar(str, ' '); - - if (list_length(create_stats_stmt->stat_types) > 0) - { - appendStringInfoChar(str, '('); - deparseNameList(str, create_stats_stmt->stat_types); - appendStringInfoString(str, ") "); - } - - appendStringInfoString(str, "ON "); - foreach (lc, create_stats_stmt->exprs) - { - deparseStatsElem(str, lfirst(lc)); - if (lnext(create_stats_stmt->exprs, lc)) - appendStringInfoString(str, ", "); - } - - appendStringInfoString(str, " FROM "); - deparseFromList(str, create_stats_stmt->relations); -} - -static void deparseAlterCollationStmt(StringInfo str, AlterCollationStmt *alter_collation_stmt) -{ - appendStringInfoString(str, "ALTER COLLATION "); - deparseAnyName(str, alter_collation_stmt->collname); - appendStringInfoString(str, " REFRESH VERSION"); -} - -static void deparseAlterDatabaseStmt(StringInfo str, AlterDatabaseStmt *alter_database_stmt) -{ - appendStringInfoString(str, "ALTER DATABASE "); - deparseColId(str, alter_database_stmt->dbname); - appendStringInfoChar(str, ' '); - deparseCreatedbOptList(str, alter_database_stmt->options); - removeTrailingSpace(str); -} - -static void deparseAlterDatabaseSetStmt(StringInfo str, AlterDatabaseSetStmt *alter_database_set_stmt) -{ - appendStringInfoString(str, "ALTER DATABASE "); - deparseColId(str, alter_database_set_stmt->dbname); - appendStringInfoChar(str, ' '); - deparseVariableSetStmt(str, alter_database_set_stmt->setstmt); -} - -static void deparseAlterStatsStmt(StringInfo str, AlterStatsStmt *alter_stats_stmt) -{ - appendStringInfoString(str, "ALTER STATISTICS "); - - if (alter_stats_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - deparseAnyName(str, alter_stats_stmt->defnames); - appendStringInfoChar(str, ' '); - - appendStringInfo(str, "SET STATISTICS %d", alter_stats_stmt->stxstattarget); -} - -static void deparseAlterTSDictionaryStmt(StringInfo str, AlterTSDictionaryStmt *alter_ts_dictionary_stmt) -{ - appendStringInfoString(str, "ALTER TEXT SEARCH DICTIONARY "); - - deparseAnyName(str, alter_ts_dictionary_stmt->dictname); - appendStringInfoChar(str, ' '); - - deparseDefinition(str, alter_ts_dictionary_stmt->options); -} +#include "postgres_deparse.h" -static void deparseAlterTSConfigurationStmt(StringInfo str, AlterTSConfigurationStmt *alter_ts_configuration_stmt) -{ - ListCell *lc = NULL; - - appendStringInfoString(str, "ALTER TEXT SEARCH CONFIGURATION "); - deparseAnyName(str, alter_ts_configuration_stmt->cfgname); - appendStringInfoChar(str, ' '); - - switch (alter_ts_configuration_stmt->kind) - { - case ALTER_TSCONFIG_ADD_MAPPING: - appendStringInfoString(str, "ADD MAPPING FOR "); - deparseNameList(str, alter_ts_configuration_stmt->tokentype); - appendStringInfoString(str, " WITH "); - deparseAnyNameList(str, alter_ts_configuration_stmt->dicts); - break; - case ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN: - appendStringInfoString(str, "ALTER MAPPING FOR "); - deparseNameList(str, alter_ts_configuration_stmt->tokentype); - appendStringInfoString(str, " WITH "); - deparseAnyNameList(str, alter_ts_configuration_stmt->dicts); - break; - case ALTER_TSCONFIG_REPLACE_DICT: - appendStringInfoString(str, "ALTER MAPPING REPLACE "); - deparseAnyName(str, linitial(alter_ts_configuration_stmt->dicts)); - appendStringInfoString(str, " WITH "); - deparseAnyName(str, lsecond(alter_ts_configuration_stmt->dicts)); - break; - case ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN: - appendStringInfoString(str, "ALTER MAPPING FOR "); - deparseNameList(str, alter_ts_configuration_stmt->tokentype); - appendStringInfoString(str, " REPLACE "); - deparseAnyName(str, linitial(alter_ts_configuration_stmt->dicts)); - appendStringInfoString(str, " WITH "); - deparseAnyName(str, lsecond(alter_ts_configuration_stmt->dicts)); - break; - case ALTER_TSCONFIG_DROP_MAPPING: - appendStringInfoString(str, "DROP MAPPING "); - if (alter_ts_configuration_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - appendStringInfoString(str, "FOR "); - deparseNameList(str, alter_ts_configuration_stmt->tokentype); - break; - } -} - -static void deparseVariableShowStmt(StringInfo str, VariableShowStmt *variable_show_stmt) -{ - appendStringInfoString(str, "SHOW "); - - if (strcmp(variable_show_stmt->name, "timezone") == 0) - appendStringInfoString(str, "TIME ZONE"); - else if (strcmp(variable_show_stmt->name, "transaction_isolation") == 0) - appendStringInfoString(str, "TRANSACTION ISOLATION LEVEL"); - else if (strcmp(variable_show_stmt->name, "session_authorization") == 0) - appendStringInfoString(str, "SESSION AUTHORIZATION"); - else if (strcmp(variable_show_stmt->name, "all") == 0) - appendStringInfoString(str, "SESSION ALL"); - else - appendStringInfoString(str, quote_identifier(variable_show_stmt->name)); -} - -static void deparseRangeTableSample(StringInfo str, RangeTableSample *range_table_sample) -{ - deparseRangeVar(str, castNode(RangeVar, range_table_sample->relation), DEPARSE_NODE_CONTEXT_NONE); - - appendStringInfoString(str, " TABLESAMPLE "); - - deparseFuncName(str, range_table_sample->method); - appendStringInfoChar(str, '('); - deparseExprList(str, range_table_sample->args); - appendStringInfoString(str, ") "); - - if (range_table_sample->repeatable != NULL) - { - appendStringInfoString(str, "REPEATABLE ("); - deparseExpr(str, range_table_sample->repeatable); - appendStringInfoString(str, ") "); - } - - removeTrailingSpace(str); -} - -static void deparseCreateSubscriptionStmt(StringInfo str, CreateSubscriptionStmt *create_subscription_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "CREATE SUBSCRIPTION "); - appendStringInfoString(str, quote_identifier(create_subscription_stmt->subname)); - - appendStringInfoString(str, " CONNECTION "); - if (create_subscription_stmt->conninfo != NULL) - deparseStringLiteral(str, create_subscription_stmt->conninfo); - else - appendStringInfoString(str, "''"); - - appendStringInfoString(str, " PUBLICATION "); - - foreach(lc, create_subscription_stmt->publication) - { - deparseColLabel(str, strVal(lfirst(lc))); - if (lnext(create_subscription_stmt->publication, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - - deparseOptDefinition(str, create_subscription_stmt->options); - removeTrailingSpace(str); -} - -static void deparseAlterSubscriptionStmt(StringInfo str, AlterSubscriptionStmt *alter_subscription_stmt) -{ - ListCell *lc; - - appendStringInfoString(str, "ALTER SUBSCRIPTION "); - appendStringInfoString(str, quote_identifier(alter_subscription_stmt->subname)); - appendStringInfoChar(str, ' '); - - switch (alter_subscription_stmt->kind) - { - case ALTER_SUBSCRIPTION_OPTIONS: - appendStringInfoString(str, "SET "); - deparseDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_SKIP: - appendStringInfoString(str, "SKIP "); - deparseDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_CONNECTION: - appendStringInfoString(str, "CONNECTION "); - deparseStringLiteral(str, alter_subscription_stmt->conninfo); - appendStringInfoChar(str, ' '); - break; - case ALTER_SUBSCRIPTION_REFRESH: - appendStringInfoString(str, "REFRESH PUBLICATION "); - deparseOptDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_ADD_PUBLICATION: - appendStringInfoString(str, "ADD PUBLICATION "); - foreach(lc, alter_subscription_stmt->publication) - { - deparseColLabel(str, strVal(lfirst(lc))); - if (lnext(alter_subscription_stmt->publication, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - deparseOptDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_DROP_PUBLICATION: - appendStringInfoString(str, "DROP PUBLICATION "); - foreach(lc, alter_subscription_stmt->publication) - { - deparseColLabel(str, strVal(lfirst(lc))); - if (lnext(alter_subscription_stmt->publication, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - deparseOptDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_SET_PUBLICATION: - appendStringInfoString(str, "SET PUBLICATION "); - foreach(lc, alter_subscription_stmt->publication) - { - deparseColLabel(str, strVal(lfirst(lc))); - if (lnext(alter_subscription_stmt->publication, lc)) - appendStringInfoString(str, ", "); - } - appendStringInfoChar(str, ' '); - deparseOptDefinition(str, alter_subscription_stmt->options); - break; - case ALTER_SUBSCRIPTION_ENABLED: - Assert(list_length(alter_subscription_stmt->options) == 1); - DefElem *defelem = castNode(DefElem, linitial(alter_subscription_stmt->options)); - Assert(strcmp(defelem->defname, "enabled") == 0); - if (optBooleanValue(defelem->arg)) - { - appendStringInfoString(str, " ENABLE "); - } - else - { - appendStringInfoString(str, " DISABLE "); - } - break; - } - - removeTrailingSpace(str); -} - -static void deparseDropSubscriptionStmt(StringInfo str, DropSubscriptionStmt *drop_subscription_stmt) -{ - appendStringInfoString(str, "DROP SUBSCRIPTION "); - - if (drop_subscription_stmt->missing_ok) - appendStringInfoString(str, "IF EXISTS "); - - appendStringInfoString(str, drop_subscription_stmt->subname); -} - -static void deparseCallStmt(StringInfo str, CallStmt *call_stmt) -{ - appendStringInfoString(str, "CALL "); - deparseFuncCall(str, call_stmt->funccall); -} - -static void deparseAlterOwnerStmt(StringInfo str, AlterOwnerStmt *alter_owner_stmt) -{ - List *l = NULL; - - appendStringInfoString(str, "ALTER "); - - switch (alter_owner_stmt->objectType) - { - case OBJECT_AGGREGATE: - appendStringInfoString(str, "AGGREGATE "); - deparseAggregateWithArgtypes(str, castNode(ObjectWithArgs, alter_owner_stmt->object)); - break; - case OBJECT_COLLATION: - appendStringInfoString(str, "COLLATION "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_CONVERSION: - appendStringInfoString(str, "CONVERSION "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_DATABASE: - appendStringInfoString(str, "DATABASE "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_DOMAIN: - appendStringInfoString(str, "DOMAIN "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_FUNCTION: - appendStringInfoString(str, "FUNCTION "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_owner_stmt->object)); - break; - case OBJECT_LANGUAGE: - appendStringInfoString(str, "LANGUAGE "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_LARGEOBJECT: - appendStringInfoString(str, "LARGE OBJECT "); - deparseNumericOnly(str, (union ValUnion *) alter_owner_stmt->object); - break; - case OBJECT_OPERATOR: - appendStringInfoString(str, "OPERATOR "); - deparseOperatorWithArgtypes(str, castNode(ObjectWithArgs, alter_owner_stmt->object)); - break; - case OBJECT_OPCLASS: - l = castNode(List, alter_owner_stmt->object); - appendStringInfoString(str, "OPERATOR CLASS "); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - deparseColId(str, strVal(linitial(l))); - break; - case OBJECT_OPFAMILY: - l = castNode(List, alter_owner_stmt->object); - appendStringInfoString(str, "OPERATOR FAMILY "); - deparseAnyNameSkipFirst(str, l); - appendStringInfoString(str, " USING "); - deparseColId(str, strVal(linitial(l))); - break; - case OBJECT_PROCEDURE: - appendStringInfoString(str, "PROCEDURE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_owner_stmt->object)); - break; - case OBJECT_ROUTINE: - appendStringInfoString(str, "ROUTINE "); - deparseFunctionWithArgtypes(str, castNode(ObjectWithArgs, alter_owner_stmt->object)); - break; - case OBJECT_SCHEMA: - appendStringInfoString(str, "SCHEMA "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_TYPE: - appendStringInfoString(str, "TYPE "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_TABLESPACE: - appendStringInfoString(str, "TABLESPACE "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_STATISTIC_EXT: - appendStringInfoString(str, "STATISTICS "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_TSDICTIONARY: - appendStringInfoString(str, "TEXT SEARCH DICTIONARY "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_TSCONFIGURATION: - appendStringInfoString(str, "TEXT SEARCH CONFIGURATION "); - deparseAnyName(str, castNode(List, alter_owner_stmt->object)); - break; - case OBJECT_FDW: - appendStringInfoString(str, "FOREIGN DATA WRAPPER "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_FOREIGN_SERVER: - appendStringInfoString(str, "SERVER "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_EVENT_TRIGGER: - appendStringInfoString(str, "EVENT TRIGGER "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_PUBLICATION: - appendStringInfoString(str, "PUBLICATION "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - case OBJECT_SUBSCRIPTION: - appendStringInfoString(str, "SUBSCRIPTION "); - deparseColId(str, strVal(alter_owner_stmt->object)); - break; - default: - Assert(false); - } - - appendStringInfoString(str, " OWNER TO "); - deparseRoleSpec(str, alter_owner_stmt->newowner); -} - -// "operator_def_list" in gram.y -static void deparseOperatorDefList(StringInfo str, List *defs) -{ - ListCell *lc = NULL; - - foreach (lc, defs) - { - DefElem *def_elem = castNode(DefElem, lfirst(lc)); - appendStringInfoString(str, quote_identifier(def_elem->defname)); - appendStringInfoString(str, " = "); - if (def_elem->arg != NULL) - deparseDefArg(str, def_elem->arg, true); - else - appendStringInfoString(str, "NONE"); - - if (lnext(defs, lc)) - appendStringInfoString(str, ", "); - } -} - -static void deparseAlterOperatorStmt(StringInfo str, AlterOperatorStmt *alter_operator_stmt) -{ - appendStringInfoString(str, "ALTER OPERATOR "); - deparseOperatorWithArgtypes(str, alter_operator_stmt->opername); - appendStringInfoString(str, " SET ("); - deparseOperatorDefList(str, alter_operator_stmt->options); - appendStringInfoChar(str, ')'); -} - -static void deparseAlterTypeStmt(StringInfo str, AlterTypeStmt *alter_type_stmt) -{ - appendStringInfoString(str, "ALTER TYPE "); - deparseAnyName(str, alter_type_stmt->typeName); - appendStringInfoString(str, " SET ("); - deparseOperatorDefList(str, alter_type_stmt->options); - appendStringInfoChar(str, ')'); -} - -static void deparseDropOwnedStmt(StringInfo str, DropOwnedStmt *drop_owned_stmt) -{ - appendStringInfoString(str, "DROP OWNED BY "); - deparseRoleList(str, drop_owned_stmt->roles); - appendStringInfoChar(str, ' '); - deparseOptDropBehavior(str, drop_owned_stmt->behavior); - removeTrailingSpace(str); -} - -static void deparseReassignOwnedStmt(StringInfo str, ReassignOwnedStmt *reassigned_owned_stmt) -{ - appendStringInfoString(str, "REASSIGN OWNED BY "); - - deparseRoleList(str, reassigned_owned_stmt->roles); - appendStringInfoChar(str, ' '); +#include "postgres.h" +#include "lib/stringinfo.h" +#include "nodes/parsenodes.h" - appendStringInfoString(str, "TO "); - deparseRoleSpec(str, reassigned_owned_stmt->newrole); -} +#include "protobuf/pg_query.pb-c.h" -static void deparseClosePortalStmt(StringInfo str, ClosePortalStmt *close_portal_stmt) +PgQueryDeparseResult +pg_query_deparse_protobuf(PgQueryProtobuf parse_tree) { - appendStringInfoString(str, "CLOSE "); - if (close_portal_stmt->portalname != NULL) - { - appendStringInfoString(str, quote_identifier(close_portal_stmt->portalname)); - } - else - { - appendStringInfoString(str, "ALL"); - } -} + PostgresDeparseOpts opts; -static void deparseCurrentOfExpr(StringInfo str, CurrentOfExpr *current_of_expr) -{ - appendStringInfoString(str, "CURRENT OF "); - appendStringInfoString(str, quote_identifier(current_of_expr->cursor_name)); + MemSet(&opts, 0, sizeof(PostgresDeparseOpts)); + return pg_query_deparse_protobuf_opts(parse_tree, opts); } -static void deparseCreateTrigStmt(StringInfo str, CreateTrigStmt *create_trig_stmt) +PgQueryDeparseResult +pg_query_deparse_protobuf_opts(PgQueryProtobuf parse_tree, PostgresDeparseOpts opts) { - ListCell *lc; - bool skip_events_or = true; - - appendStringInfoString(str, "CREATE "); - if (create_trig_stmt->replace) - appendStringInfoString(str, "OR REPLACE "); - if (create_trig_stmt->isconstraint) - appendStringInfoString(str, "CONSTRAINT "); - appendStringInfoString(str, "TRIGGER "); - - appendStringInfoString(str, quote_identifier(create_trig_stmt->trigname)); - appendStringInfoChar(str, ' '); + PgQueryDeparseResult result = {0}; + StringInfoData str; + MemoryContext ctx; + List *stmts; + ListCell *lc; - switch (create_trig_stmt->timing) - { - case TRIGGER_TYPE_BEFORE: - appendStringInfoString(str, "BEFORE "); - break; - case TRIGGER_TYPE_AFTER: - appendStringInfoString(str, "AFTER "); - break; - case TRIGGER_TYPE_INSTEAD: - appendStringInfoString(str, "INSTEAD OF "); - break; - default: - Assert(false); - } + ctx = pg_query_enter_memory_context(); - if (TRIGGER_FOR_INSERT(create_trig_stmt->events)) - { - appendStringInfoString(str, "INSERT "); - skip_events_or = false; - } - if (TRIGGER_FOR_DELETE(create_trig_stmt->events)) - { - if (!skip_events_or) - appendStringInfoString(str, "OR "); - appendStringInfoString(str, "DELETE "); - skip_events_or = false; - } - if (TRIGGER_FOR_UPDATE(create_trig_stmt->events)) - { - if (!skip_events_or) - appendStringInfoString(str, "OR "); - appendStringInfoString(str, "UPDATE "); - if (list_length(create_trig_stmt->columns) > 0) - { - appendStringInfoString(str, "OF "); - deparseColumnList(str, create_trig_stmt->columns); - appendStringInfoChar(str, ' '); - } - skip_events_or = false; - } - if (TRIGGER_FOR_TRUNCATE(create_trig_stmt->events)) + PG_TRY(); { - if (!skip_events_or) - appendStringInfoString(str, "OR "); - appendStringInfoString(str, "TRUNCATE "); - } + stmts = pg_query_protobuf_to_nodes(parse_tree); - appendStringInfoString(str, "ON "); - deparseRangeVar(str, create_trig_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); + initStringInfo(&str); - if (create_trig_stmt->transitionRels != NULL) - { - appendStringInfoString(str, "REFERENCING "); - foreach(lc, create_trig_stmt->transitionRels) + foreach(lc, stmts) { - deparseTriggerTransition(str, castNode(TriggerTransition, lfirst(lc))); - appendStringInfoChar(str, ' '); + deparseRawStmtOpts(&str, castNode(RawStmt, lfirst(lc)), opts); + if (lnext(stmts, lc)) + appendStringInfoString(&str, "; "); } + result.query = strdup(str.data); } - - if (create_trig_stmt->constrrel != NULL) + PG_CATCH(); { - appendStringInfoString(str, "FROM "); - deparseRangeVar(str, create_trig_stmt->constrrel, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - } - - if (create_trig_stmt->deferrable) - appendStringInfoString(str, "DEFERRABLE "); + ErrorData *error_data; + PgQueryError *error; - if (create_trig_stmt->initdeferred) - appendStringInfoString(str, "INITIALLY DEFERRED "); - - if (create_trig_stmt->row) - appendStringInfoString(str, "FOR EACH ROW "); + MemoryContextSwitchTo(ctx); + error_data = CopyErrorData(); - if (create_trig_stmt->whenClause) - { - appendStringInfoString(str, "WHEN ("); - deparseExpr(str, create_trig_stmt->whenClause); - appendStringInfoString(str, ") "); - } + /* + * Note: This is intentionally malloc so exiting the memory context + * doesn't free this + */ + error = malloc(sizeof(PgQueryError)); + error->message = strdup(error_data->message); + error->filename = strdup(error_data->filename); + error->funcname = strdup(error_data->funcname); + error->context = NULL; + error->lineno = error_data->lineno; + error->cursorpos = error_data->cursorpos; - appendStringInfoString(str, "EXECUTE FUNCTION "); - deparseFuncName(str, create_trig_stmt->funcname); - appendStringInfoChar(str, '('); - foreach(lc, create_trig_stmt->args) - { - deparseStringLiteral(str, strVal(lfirst(lc))); - if (lnext(create_trig_stmt->args, lc)) - appendStringInfoString(str, ", "); + result.error = error; + FlushErrorState(); } - appendStringInfoChar(str, ')'); -} - -static void deparseTriggerTransition(StringInfo str, TriggerTransition *trigger_transition) -{ - if (trigger_transition->isNew) - appendStringInfoString(str, "NEW "); - else - appendStringInfoString(str, "OLD "); - - if (trigger_transition->isTable) - appendStringInfoString(str, "TABLE "); - else - appendStringInfoString(str, "ROW "); + PG_END_TRY(); - appendStringInfoString(str, quote_identifier(trigger_transition->name)); -} + pg_query_exit_memory_context(ctx); -static void deparseXmlExpr(StringInfo str, XmlExpr* xml_expr) -{ - switch (xml_expr->op) - { - case IS_XMLCONCAT: /* XMLCONCAT(args) */ - appendStringInfoString(str, "xmlconcat("); - deparseExprList(str, xml_expr->args); - appendStringInfoChar(str, ')'); - break; - case IS_XMLELEMENT: /* XMLELEMENT(name, xml_attributes, args) */ - appendStringInfoString(str, "xmlelement(name "); - appendStringInfoString(str, quote_identifier(xml_expr->name)); - if (xml_expr->named_args != NULL) - { - appendStringInfoString(str, ", xmlattributes("); - deparseXmlAttributeList(str, xml_expr->named_args); - appendStringInfoString(str, ")"); - } - if (xml_expr->args != NULL) - { - appendStringInfoString(str, ", "); - deparseExprList(str, xml_expr->args); - } - appendStringInfoString(str, ")"); - break; - case IS_XMLFOREST: /* XMLFOREST(xml_attributes) */ - appendStringInfoString(str, "xmlforest("); - deparseXmlAttributeList(str, xml_expr->named_args); - appendStringInfoChar(str, ')'); - break; - case IS_XMLPARSE: /* XMLPARSE(text, is_doc, preserve_ws) */ - Assert(list_length(xml_expr->args) == 2); - appendStringInfoString(str, "xmlparse("); - switch (xml_expr->xmloption) - { - case XMLOPTION_DOCUMENT: - appendStringInfoString(str, "document "); - break; - case XMLOPTION_CONTENT: - appendStringInfoString(str, "content "); - break; - default: - Assert(false); - } - deparseExpr(str, linitial(xml_expr->args)); - appendStringInfoChar(str, ')'); - break; - case IS_XMLPI: /* XMLPI(name [, args]) */ - appendStringInfoString(str, "xmlpi(name "); - appendStringInfoString(str, quote_identifier(xml_expr->name)); - if (xml_expr->args != NULL) - { - appendStringInfoString(str, ", "); - deparseExpr(str, linitial(xml_expr->args)); - } - appendStringInfoChar(str, ')'); - break; - case IS_XMLROOT: /* XMLROOT(xml, version, standalone) */ - appendStringInfoString(str, "xmlroot("); - deparseExpr(str, linitial(xml_expr->args)); - appendStringInfoString(str, ", version "); - if (castNode(A_Const, lsecond(xml_expr->args))->isnull) - appendStringInfoString(str, "NO VALUE"); - else - deparseExpr(str, lsecond(xml_expr->args)); - if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_YES) - appendStringInfoString(str, ", STANDALONE YES"); - else if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_NO) - appendStringInfoString(str, ", STANDALONE NO"); - else if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_NO_VALUE) - appendStringInfoString(str, ", STANDALONE NO VALUE"); - appendStringInfoChar(str, ')'); - break; - case IS_XMLSERIALIZE: /* XMLSERIALIZE(is_document, xmlval) */ - // These are represented as XmlSerialize in raw parse trees - Assert(false); - break; - case IS_DOCUMENT: /* xmlval IS DOCUMENT */ - Assert(list_length(xml_expr->args) == 1); - deparseExpr(str, linitial(xml_expr->args)); - appendStringInfoString(str, " IS DOCUMENT"); - break; - } + return result; } -static void deparseRangeTableFuncCol(StringInfo str, RangeTableFuncCol* range_table_func_col) +void +pg_query_free_deparse_result(PgQueryDeparseResult result) { - appendStringInfoString(str, quote_identifier(range_table_func_col->colname)); - appendStringInfoChar(str, ' '); - - if (range_table_func_col->for_ordinality) - { - appendStringInfoString(str, "FOR ORDINALITY "); - } - else + if (result.error) { - deparseTypeName(str, range_table_func_col->typeName); - appendStringInfoChar(str, ' '); - - if (range_table_func_col->colexpr) - { - appendStringInfoString(str, "PATH "); - deparseExpr(str, range_table_func_col->colexpr); - appendStringInfoChar(str, ' '); - } - - if (range_table_func_col->coldefexpr) - { - appendStringInfoString(str, "DEFAULT "); - deparseExpr(str, range_table_func_col->coldefexpr); - appendStringInfoChar(str, ' '); - } - - if (range_table_func_col->is_not_null) - appendStringInfoString(str, "NOT NULL "); + pg_query_free_error(result.error); } - removeTrailingSpace(str); + free(result.query); } -static void deparseRangeTableFunc(StringInfo str, RangeTableFunc* range_table_func) +PgQueryDeparseCommentsResult +pg_query_deparse_comments_for_query(const char *query) { - ListCell *lc; - - if (range_table_func->lateral) - appendStringInfoString(str, "LATERAL "); - - appendStringInfoString(str, "xmltable("); - if (range_table_func->namespaces) - { - appendStringInfoString(str, "xmlnamespaces("); - deparseXmlNamespaceList(str, range_table_func->namespaces); - appendStringInfoString(str, "), "); - } + PgQueryDeparseCommentsResult result = {0}; + PgQueryScanResult scan_result_raw = pg_query_scan(query); - appendStringInfoChar(str, '('); - deparseExpr(str, range_table_func->rowexpr); - appendStringInfoChar(str, ')'); - - appendStringInfoString(str, " PASSING "); - deparseExpr(str, range_table_func->docexpr); - - appendStringInfoString(str, " COLUMNS "); - foreach(lc, range_table_func->columns) + if (scan_result_raw.error) { - deparseRangeTableFuncCol(str, castNode(RangeTableFuncCol, lfirst(lc))); - if (lnext(range_table_func->columns, lc)) - appendStringInfoString(str, ", "); + result.error = scan_result_raw.error; + return result; } - appendStringInfoString(str, ") "); + PgQuery__ScanResult *scan_result = pg_query__scan_result__unpack(NULL, scan_result_raw.pbuf.len, (void *) scan_result_raw.pbuf.data); + bool prior_token_was_comment = false; + int32_t prior_non_comment_end = 0; + int32_t prior_token_end = 0; - if (range_table_func->alias) + result.comment_count = 0; + for (int i = 0; i < scan_result->n_tokens; i++) { - appendStringInfoString(str, "AS "); - deparseAlias(str, range_table_func->alias); - } - - removeTrailingSpace(str); -} + PgQuery__ScanToken *token = scan_result->tokens[i]; -static void deparseXmlSerialize(StringInfo str, XmlSerialize *xml_serialize) -{ - appendStringInfoString(str, "xmlserialize("); - switch (xml_serialize->xmloption) - { - case XMLOPTION_DOCUMENT: - appendStringInfoString(str, "document "); - break; - case XMLOPTION_CONTENT: - appendStringInfoString(str, "content "); - break; - default: - Assert(false); + if (token->token == PG_QUERY__TOKEN__SQL_COMMENT || token->token == PG_QUERY__TOKEN__C_COMMENT) + result.comment_count++; } - deparseExpr(str, xml_serialize->expr); - appendStringInfoString(str, " AS "); - deparseTypeName(str, xml_serialize->typeName); - appendStringInfoString(str, ")"); -} - -static void deparseGroupingFunc(StringInfo str, GroupingFunc *grouping_func) -{ - appendStringInfoString(str, "GROUPING("); - deparseExprList(str, grouping_func->args); - appendStringInfoChar(str, ')'); -} - -static void deparseClusterStmt(StringInfo str, ClusterStmt *cluster_stmt) -{ - appendStringInfoString(str, "CLUSTER "); - deparseUtilityOptionList(str, cluster_stmt->params); + result.comments = malloc(result.comment_count * sizeof(PostgresDeparseComment *)); + size_t comment_idx = 0; - if (cluster_stmt->relation != NULL) + for (int i = 0; i < scan_result->n_tokens; i++) { - deparseRangeVar(str, cluster_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); - appendStringInfoChar(str, ' '); - } + PgQuery__ScanToken *token = scan_result->tokens[i]; - if (cluster_stmt->indexname != NULL) - { - appendStringInfoString(str, "USING "); - appendStringInfoString(str, quote_identifier(cluster_stmt->indexname)); - appendStringInfoChar(str, ' '); - } + if (token->token == PG_QUERY__TOKEN__SQL_COMMENT || token->token == PG_QUERY__TOKEN__C_COMMENT) + { + size_t token_len = token->end - token->start; + PostgresDeparseComment *comment = malloc(sizeof(PostgresDeparseComment)); - removeTrailingSpace(str); -} + /* + * Set to the end of the prior non-comment token. + * + * We could alternatively set the match location to the start of + * the next non-comment token instead (which would be more in line + * with emitting that happens before the node once the location is + * matched). + * + * However, that doesn't work well in practice, specifically. + * RawStmt start locations are 0, even when there are comments at + * the start of the statement. + */ + comment->match_location = prior_non_comment_end; -static void deparseValue(StringInfo str, union ValUnion *value, DeparseNodeContext context) -{ - if (!value) { - appendStringInfoString(str, "NULL"); - return; - } + comment->newlines_before_comment = 0; + comment->newlines_after_comment = 0; - switch (nodeTag(value)) - { - case T_Integer: - case T_Float: - deparseNumericOnly(str, value); - break; - case T_Boolean: - appendStringInfoString(str, value->boolval.boolval ? "true" : "false"); - break; - case T_String: - if (context == DEPARSE_NODE_CONTEXT_IDENTIFIER) { - appendStringInfoString(str, quote_identifier(value->sval.sval)); - } else if (context == DEPARSE_NODE_CONTEXT_CONSTANT) { - deparseStringLiteral(str, value->sval.sval); - } else { - appendStringInfoString(str, value->sval.sval); - } - break; - case T_BitString: - if (strlen(value->sval.sval) >= 1 && value->sval.sval[0] == 'x') - { - appendStringInfoChar(str, 'x'); - deparseStringLiteral(str, value->sval.sval + 1); - } - else if (strlen(value->sval.sval) >= 1 && value->sval.sval[0] == 'b') + /* + * Emit newlines before the comment if prior token was not a + * comment (otherwise that comment would have emitted them) + */ + if (!prior_token_was_comment) { - appendStringInfoChar(str, 'b'); - deparseStringLiteral(str, value->sval.sval + 1); + for (int j = prior_token_end; j < token->start; j++) + { + if (query[j] == '\n') + comment->newlines_before_comment++; + } } - else + + if (i < scan_result->n_tokens - 1) { - Assert(false); + for (int j = token->end; j < scan_result->tokens[i + 1]->start; j++) + { + if (query[j] == '\n') + comment->newlines_after_comment++; + } } - break; - default: - elog(ERROR, "deparse: unrecognized value node type: %d", - (int) nodeTag(value)); - break; - } -} - -// "PrepareableStmt" in gram.y -static void deparsePreparableStmt(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_SelectStmt: - deparseSelectStmt(str, castNode(SelectStmt, node)); - break; - case T_InsertStmt: - deparseInsertStmt(str, castNode(InsertStmt, node)); - break; - case T_UpdateStmt: - deparseUpdateStmt(str, castNode(UpdateStmt, node)); - break; - case T_DeleteStmt: - deparseDeleteStmt(str, castNode(DeleteStmt, node)); - break; - case T_MergeStmt: - deparseMergeStmt(str, castNode(MergeStmt, node)); - break; - default: - Assert(false); - } -} - -// "RuleActionStmt" in gram.y -static void deparseRuleActionStmt(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_SelectStmt: - deparseSelectStmt(str, castNode(SelectStmt, node)); - break; - case T_InsertStmt: - deparseInsertStmt(str, castNode(InsertStmt, node)); - break; - case T_UpdateStmt: - deparseUpdateStmt(str, castNode(UpdateStmt, node)); - break; - case T_DeleteStmt: - deparseDeleteStmt(str, castNode(DeleteStmt, node)); - break; - case T_NotifyStmt: - deparseNotifyStmt(str, castNode(NotifyStmt, node)); - break; - default: - Assert(false); - } -} - -// "ExplainableStmt" in gram.y -static void deparseExplainableStmt(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_SelectStmt: - deparseSelectStmt(str, castNode(SelectStmt, node)); - break; - case T_InsertStmt: - deparseInsertStmt(str, castNode(InsertStmt, node)); - break; - case T_UpdateStmt: - deparseUpdateStmt(str, castNode(UpdateStmt, node)); - break; - case T_DeleteStmt: - deparseDeleteStmt(str, castNode(DeleteStmt, node)); - break; - case T_DeclareCursorStmt: - deparseDeclareCursorStmt(str, castNode(DeclareCursorStmt, node)); - break; - case T_CreateTableAsStmt: - deparseCreateTableAsStmt(str, castNode(CreateTableAsStmt, node)); - break; - case T_RefreshMatViewStmt: - deparseRefreshMatViewStmt(str, castNode(RefreshMatViewStmt, node)); - break; - case T_ExecuteStmt: - deparseExecuteStmt(str, castNode(ExecuteStmt, node)); - break; - case T_MergeStmt: - deparseMergeStmt(str, castNode(MergeStmt, node)); - break; - default: - Assert(false); - } -} - -// "schema_stmt" in gram.y -static void deparseSchemaStmt(StringInfo str, Node *node) -{ - switch (nodeTag(node)) - { - case T_CreateStmt: - deparseCreateStmt(str, castNode(CreateStmt, node), false); - break; - case T_IndexStmt: - deparseIndexStmt(str, castNode(IndexStmt, node)); - break; - case T_CreateSeqStmt: - deparseCreateSeqStmt(str, castNode(CreateSeqStmt, node)); - break; - case T_CreateTrigStmt: - deparseCreateTrigStmt(str, castNode(CreateTrigStmt, node)); - break; - case T_GrantStmt: - deparseGrantStmt(str, castNode(GrantStmt, node)); - break; - case T_ViewStmt: - deparseViewStmt(str, castNode(ViewStmt, node)); - break; - default: - Assert(false); - } -} - -// "stmt" in gram.y -static void deparseStmt(StringInfo str, Node *node) -{ - // Note the following grammar names are missing in the list, because they - // get mapped to other node types: - // - // - AlterForeignTableStmt (=> AlterTableStmt) - // - AlterGroupStmt (=> AlterRoleStmt) - // - AlterCompositeTypeStmt (=> AlterTableStmt) - // - AnalyzeStmt (=> VacuumStmt) - // - CreateGroupStmt (=> CreateRoleStmt) - // - CreateMatViewStmt (=> CreateTableAsStmt) - // - CreateUserStmt (=> CreateRoleStmt) - // - DropCastStmt (=> DropStmt) - // - DropOpClassStmt (=> DropStmt) - // - DropOpFamilyStmt (=> DropStmt) - // - DropPLangStmt (=> DropPLangStmt) - // - DropTransformStmt (=> DropStmt) - // - RemoveAggrStmt (=> DropStmt) - // - RemoveFuncStmt (=> DropStmt) - // - RemoveOperStmt (=> DropStmt) - // - RevokeStmt (=> GrantStmt) - // - RevokeRoleStmt (=> GrantRoleStmt) - // - VariableResetStmt (=> VariableSetStmt) - // - // And the following grammar names error out in the parser: - // - CreateAssertionStmt (not supported yet) - switch (nodeTag(node)) - { - case T_AlterEventTrigStmt: - deparseAlterEventTrigStmt(str, castNode(AlterEventTrigStmt, node)); - break; - case T_AlterCollationStmt: - deparseAlterCollationStmt(str, castNode(AlterCollationStmt, node)); - break; - case T_AlterDatabaseStmt: - deparseAlterDatabaseStmt(str, castNode(AlterDatabaseStmt, node)); - break; - case T_AlterDatabaseSetStmt: - deparseAlterDatabaseSetStmt(str, castNode(AlterDatabaseSetStmt, node)); - break; - case T_AlterDefaultPrivilegesStmt: - deparseAlterDefaultPrivilegesStmt(str, castNode(AlterDefaultPrivilegesStmt, node)); - break; - case T_AlterDomainStmt: - deparseAlterDomainStmt(str, castNode(AlterDomainStmt, node)); - break; - case T_AlterEnumStmt: - deparseAlterEnumStmt(str, castNode(AlterEnumStmt, node)); - break; - case T_AlterExtensionStmt: - deparseAlterExtensionStmt(str, castNode(AlterExtensionStmt, node)); - break; - case T_AlterExtensionContentsStmt: - deparseAlterExtensionContentsStmt(str, castNode(AlterExtensionContentsStmt, node)); - break; - case T_AlterFdwStmt: - deparseAlterFdwStmt(str, castNode(AlterFdwStmt, node)); - break; - case T_AlterForeignServerStmt: - deparseAlterForeignServerStmt(str, castNode(AlterForeignServerStmt, node)); - break; - case T_AlterFunctionStmt: - deparseAlterFunctionStmt(str, castNode(AlterFunctionStmt, node)); - break; - case T_AlterObjectDependsStmt: - deparseAlterObjectDependsStmt(str, castNode(AlterObjectDependsStmt, node)); - break; - case T_AlterObjectSchemaStmt: - deparseAlterObjectSchemaStmt(str, castNode(AlterObjectSchemaStmt, node)); - break; - case T_AlterOwnerStmt: - deparseAlterOwnerStmt(str, castNode(AlterOwnerStmt, node)); - break; - case T_AlterOperatorStmt: - deparseAlterOperatorStmt(str, castNode(AlterOperatorStmt, node)); - break; - case T_AlterTypeStmt: - deparseAlterTypeStmt(str, castNode(AlterTypeStmt, node)); - break; - case T_AlterPolicyStmt: - deparseAlterPolicyStmt(str, castNode(AlterPolicyStmt, node)); - break; - case T_AlterSeqStmt: - deparseAlterSeqStmt(str, castNode(AlterSeqStmt, node)); - break; - case T_AlterSystemStmt: - deparseAlterSystemStmt(str, castNode(AlterSystemStmt, node)); - break; - case T_AlterTableMoveAllStmt: - deparseAlterTableMoveAllStmt(str, castNode(AlterTableMoveAllStmt, node)); - break; - case T_AlterTableStmt: - deparseAlterTableStmt(str, castNode(AlterTableStmt, node)); - break; - case T_AlterTableSpaceOptionsStmt: // "AlterTblSpcStmt" in gram.y - deparseAlterTableSpaceOptionsStmt(str, castNode(AlterTableSpaceOptionsStmt, node)); - break; - case T_AlterPublicationStmt: - deparseAlterPublicationStmt(str, castNode(AlterPublicationStmt, node)); - break; - case T_AlterRoleSetStmt: - deparseAlterRoleSetStmt(str, castNode(AlterRoleSetStmt, node)); - break; - case T_AlterRoleStmt: - deparseAlterRoleStmt(str, castNode(AlterRoleStmt, node)); - break; - case T_AlterSubscriptionStmt: - deparseAlterSubscriptionStmt(str, castNode(AlterSubscriptionStmt, node)); - break; - case T_AlterStatsStmt: - deparseAlterStatsStmt(str, castNode(AlterStatsStmt, node)); - break; - case T_AlterTSConfigurationStmt: - deparseAlterTSConfigurationStmt(str, castNode(AlterTSConfigurationStmt, node)); - break; - case T_AlterTSDictionaryStmt: - deparseAlterTSDictionaryStmt(str, castNode(AlterTSDictionaryStmt, node)); - break; - case T_AlterUserMappingStmt: - deparseAlterUserMappingStmt(str, castNode(AlterUserMappingStmt, node)); - break; - case T_CallStmt: - deparseCallStmt(str, castNode(CallStmt, node)); - break; - case T_CheckPointStmt: - deparseCheckPointStmt(str, castNode(CheckPointStmt, node)); - break; - case T_ClosePortalStmt: - deparseClosePortalStmt(str, castNode(ClosePortalStmt, node)); - break; - case T_ClusterStmt: - deparseClusterStmt(str, castNode(ClusterStmt, node)); - break; - case T_CommentStmt: - deparseCommentStmt(str, castNode(CommentStmt, node)); - break; - case T_ConstraintsSetStmt: - deparseConstraintsSetStmt(str, castNode(ConstraintsSetStmt, node)); - break; - case T_CopyStmt: - deparseCopyStmt(str, castNode(CopyStmt, node)); - break; - case T_CreateAmStmt: - deparseCreateAmStmt(str, castNode(CreateAmStmt, node)); - break; - case T_CreateTableAsStmt: // "CreateAsStmt" in gram.y - deparseCreateTableAsStmt(str, castNode(CreateTableAsStmt, node)); - break; - case T_CreateCastStmt: - deparseCreateCastStmt(str, castNode(CreateCastStmt, node)); - break; - case T_CreateConversionStmt: - deparseCreateConversionStmt(str, castNode(CreateConversionStmt, node)); - break; - case T_CreateDomainStmt: - deparseCreateDomainStmt(str, castNode(CreateDomainStmt, node)); - break; - case T_CreateExtensionStmt: - deparseCreateExtensionStmt(str, castNode(CreateExtensionStmt, node)); - break; - case T_CreateFdwStmt: - deparseCreateFdwStmt(str, castNode(CreateFdwStmt, node)); - break; - case T_CreateForeignServerStmt: - deparseCreateForeignServerStmt(str, castNode(CreateForeignServerStmt, node)); - break; - case T_CreateForeignTableStmt: - deparseCreateForeignTableStmt(str, castNode(CreateForeignTableStmt, node)); - break; - case T_CreateFunctionStmt: - deparseCreateFunctionStmt(str, castNode(CreateFunctionStmt, node)); - break; - case T_CreateOpClassStmt: - deparseCreateOpClassStmt(str, castNode(CreateOpClassStmt, node)); - break; - case T_CreateOpFamilyStmt: - deparseCreateOpFamilyStmt(str, castNode(CreateOpFamilyStmt, node)); - break; - case T_CreatePublicationStmt: - deparseCreatePublicationStmt(str, castNode(CreatePublicationStmt, node)); - break; - case T_AlterOpFamilyStmt: - deparseAlterOpFamilyStmt(str, castNode(AlterOpFamilyStmt, node)); - break; - case T_CreatePolicyStmt: - deparseCreatePolicyStmt(str, castNode(CreatePolicyStmt, node)); - break; - case T_CreatePLangStmt: - deparseCreatePLangStmt(str, castNode(CreatePLangStmt, node)); - break; - case T_CreateSchemaStmt: - deparseCreateSchemaStmt(str, castNode(CreateSchemaStmt, node)); - break; - case T_CreateSeqStmt: - deparseCreateSeqStmt(str, castNode(CreateSeqStmt, node)); - break; - case T_CreateStmt: - deparseCreateStmt(str, castNode(CreateStmt, node), false); - break; - case T_CreateSubscriptionStmt: - deparseCreateSubscriptionStmt(str, castNode(CreateSubscriptionStmt, node)); - break; - case T_CreateStatsStmt: - deparseCreateStatsStmt(str, castNode(CreateStatsStmt, node)); - break; - case T_CreateTableSpaceStmt: - deparseCreateTableSpaceStmt(str, castNode(CreateTableSpaceStmt, node)); - break; - case T_CreateTransformStmt: - deparseCreateTransformStmt(str, castNode(CreateTransformStmt, node)); - break; - case T_CreateTrigStmt: - deparseCreateTrigStmt(str, castNode(CreateTrigStmt, node)); - break; - case T_CreateEventTrigStmt: - deparseCreateEventTrigStmt(str, castNode(CreateEventTrigStmt, node)); - break; - case T_CreateRoleStmt: - deparseCreateRoleStmt(str, castNode(CreateRoleStmt, node)); - break; - case T_CreateUserMappingStmt: - deparseCreateUserMappingStmt(str, castNode(CreateUserMappingStmt, node)); - break; - case T_CreatedbStmt: - deparseCreatedbStmt(str, castNode(CreatedbStmt, node)); - break; - case T_DeallocateStmt: - deparseDeallocateStmt(str, castNode(DeallocateStmt, node)); - break; - case T_DeclareCursorStmt: - deparseDeclareCursorStmt(str, castNode(DeclareCursorStmt, node)); - break; - case T_DefineStmt: - deparseDefineStmt(str, castNode(DefineStmt, node)); - break; - case T_DeleteStmt: - deparseDeleteStmt(str, castNode(DeleteStmt, node)); - break; - case T_DiscardStmt: - deparseDiscardStmt(str, castNode(DiscardStmt, node)); - break; - case T_DoStmt: - deparseDoStmt(str, castNode(DoStmt, node)); - break; - case T_DropOwnedStmt: - deparseDropOwnedStmt(str, castNode(DropOwnedStmt, node)); - break; - case T_DropStmt: - deparseDropStmt(str, castNode(DropStmt, node)); - break; - case T_DropSubscriptionStmt: - deparseDropSubscriptionStmt(str, castNode(DropSubscriptionStmt, node)); - break; - case T_DropTableSpaceStmt: - deparseDropTableSpaceStmt(str, castNode(DropTableSpaceStmt, node)); - break; - case T_DropRoleStmt: - deparseDropRoleStmt(str, castNode(DropRoleStmt, node)); - break; - case T_DropUserMappingStmt: - deparseDropUserMappingStmt(str, castNode(DropUserMappingStmt, node)); - break; - case T_DropdbStmt: - deparseDropdbStmt(str, castNode(DropdbStmt, node)); - break; - case T_ExecuteStmt: - deparseExecuteStmt(str, castNode(ExecuteStmt, node)); - break; - case T_ExplainStmt: - deparseExplainStmt(str, castNode(ExplainStmt, node)); - break; - case T_FetchStmt: - deparseFetchStmt(str, castNode(FetchStmt, node)); - break; - case T_GrantStmt: - deparseGrantStmt(str, castNode(GrantStmt, node)); - break; - case T_GrantRoleStmt: - deparseGrantRoleStmt(str, castNode(GrantRoleStmt, node)); - break; - case T_ImportForeignSchemaStmt: - deparseImportForeignSchemaStmt(str, castNode(ImportForeignSchemaStmt, node)); - break; - case T_IndexStmt: - deparseIndexStmt(str, castNode(IndexStmt, node)); - break; - case T_InsertStmt: - deparseInsertStmt(str, castNode(InsertStmt, node)); - break; - case T_ListenStmt: - deparseListenStmt(str, castNode(ListenStmt, node)); - break; - case T_RefreshMatViewStmt: - deparseRefreshMatViewStmt(str, castNode(RefreshMatViewStmt, node)); - break; - case T_LoadStmt: - deparseLoadStmt(str, castNode(LoadStmt, node)); - break; - case T_LockStmt: - deparseLockStmt(str, castNode(LockStmt, node)); - break; - case T_MergeStmt: - deparseMergeStmt(str, castNode(MergeStmt, node)); - break; - case T_NotifyStmt: - deparseNotifyStmt(str, castNode(NotifyStmt, node)); - break; - case T_PrepareStmt: - deparsePrepareStmt(str, castNode(PrepareStmt, node)); - break; - case T_ReassignOwnedStmt: - deparseReassignOwnedStmt(str, castNode(ReassignOwnedStmt, node)); - break; - case T_ReindexStmt: - deparseReindexStmt(str, castNode(ReindexStmt, node)); - break; - case T_RenameStmt: - deparseRenameStmt(str, castNode(RenameStmt, node)); - break; - case T_RuleStmt: - deparseRuleStmt(str, castNode(RuleStmt, node)); - break; - case T_SecLabelStmt: - deparseSecLabelStmt(str, castNode(SecLabelStmt, node)); - break; - case T_SelectStmt: - deparseSelectStmt(str, castNode(SelectStmt, node)); - break; - case T_TransactionStmt: - deparseTransactionStmt(str, castNode(TransactionStmt, node)); - break; - case T_TruncateStmt: - deparseTruncateStmt(str, castNode(TruncateStmt, node)); - break; - case T_UnlistenStmt: - deparseUnlistenStmt(str, castNode(UnlistenStmt, node)); - break; - case T_UpdateStmt: - deparseUpdateStmt(str, castNode(UpdateStmt, node)); - break; - case T_VacuumStmt: - deparseVacuumStmt(str, castNode(VacuumStmt, node)); - break; - case T_VariableSetStmt: - deparseVariableSetStmt(str, castNode(VariableSetStmt, node)); - break; - case T_VariableShowStmt: - deparseVariableShowStmt(str, castNode(VariableShowStmt, node)); - break; - case T_ViewStmt: - deparseViewStmt(str, castNode(ViewStmt, node)); - break; - // These node types are created by DefineStmt grammar for CREATE TYPE in some cases - case T_CompositeTypeStmt: - deparseCompositeTypeStmt(str, castNode(CompositeTypeStmt, node)); - break; - case T_CreateEnumStmt: - deparseCreateEnumStmt(str, castNode(CreateEnumStmt, node)); - break; - case T_CreateRangeStmt: - deparseCreateRangeStmt(str, castNode(CreateRangeStmt, node)); - break; - default: - elog(ERROR, "deparse: unsupported top-level node type: %u", nodeTag(node)); - } -} - -PgQueryDeparseResult pg_query_deparse_protobuf(PgQueryProtobuf parse_tree) -{ - PgQueryDeparseResult result = {0}; - StringInfoData str; - MemoryContext ctx; - List *stmts; - ListCell *lc; - - ctx = pg_query_enter_memory_context(); - - PG_TRY(); - { - stmts = pg_query_protobuf_to_nodes(parse_tree); - initStringInfo(&str); + comment->str = malloc(token_len + 1); + memcpy(comment->str, &(query[token->start]), token_len); + comment->str[token_len] = '\0'; - foreach(lc, stmts) { - deparseRawStmt(&str, castNode(RawStmt, lfirst(lc))); - if (lnext(stmts, lc)) - appendStringInfoString(&str, "; "); + result.comments[comment_idx] = comment; + comment_idx++; + prior_token_was_comment = true; } - result.query = strdup(str.data); - } - PG_CATCH(); - { - ErrorData* error_data; - PgQueryError* error; - - MemoryContextSwitchTo(ctx); - error_data = CopyErrorData(); - - // Note: This is intentionally malloc so exiting the memory context doesn't free this - error = malloc(sizeof(PgQueryError)); - error->message = strdup(error_data->message); - error->filename = strdup(error_data->filename); - error->funcname = strdup(error_data->funcname); - error->context = NULL; - error->lineno = error_data->lineno; - error->cursorpos = error_data->cursorpos; - - result.error = error; - FlushErrorState(); + else + { + prior_non_comment_end = token->end; + prior_token_was_comment = false; + } + prior_token_end = token->end; } - PG_END_TRY(); - pg_query_exit_memory_context(ctx); + pg_query__scan_result__free_unpacked(scan_result, NULL); + pg_query_free_scan_result(scan_result_raw); return result; } -void pg_query_free_deparse_result(PgQueryDeparseResult result) +void +pg_query_free_deparse_comments_result(PgQueryDeparseCommentsResult result) { - if (result.error) { - pg_query_free_error(result.error); + for (int i = 0; i < result.comment_count; i++) + { + free(result.comments[i]->str); + free(result.comments[i]); } - - free(result.query); + if (result.comments != NULL) + free(result.comments); } diff --git a/parser/pg_query_fingerprint.c b/parser/pg_query_fingerprint.c index 58de58ef..8e15b821 100644 --- a/parser/pg_query_fingerprint.c +++ b/parser/pg_query_fingerprint.c @@ -1,5 +1,3 @@ -// Ensure we have asprintf's definition on glibc-based platforms to avoid compiler warnings -#define _GNU_SOURCE #include #include "pg_query.h" @@ -326,7 +324,7 @@ uint64_t pg_query_fingerprint_node(const void *node) return result; } -PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, bool printTokens) +PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, int parser_options, bool printTokens) { MemoryContext ctx = NULL; PgQueryInternalParsetreeAndError parsetree_and_error; @@ -334,7 +332,7 @@ PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, bool ctx = pg_query_enter_memory_context(); - parsetree_and_error = pg_query_raw_parse(input); + parsetree_and_error = pg_query_raw_parse(input, parser_options); // These are all malloc-ed and will survive exiting the memory context, the caller is responsible to free them now result.stderr_buffer = parsetree_and_error.stderr_buffer; @@ -369,12 +367,13 @@ PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, bool _fingerprintFreeContext(&ctx); XXH64_canonicalFromHash(&chash, result.fingerprint); - int err = asprintf(&result.fingerprint_str, "%02x%02x%02x%02x%02x%02x%02x%02x", + result.fingerprint_str = malloc(17 * sizeof(char)); + int n = snprintf(result.fingerprint_str, 17, "%02x%02x%02x%02x%02x%02x%02x%02x", chash.digest[0], chash.digest[1], chash.digest[2], chash.digest[3], chash.digest[4], chash.digest[5], chash.digest[6], chash.digest[7]); - if (err == -1) { + if (n < 0 || n >= 17) { PgQueryError* error = malloc(sizeof(PgQueryError)); - error->message = strdup("Failed to output fingerprint string due to asprintf failure"); + error->message = strdup("Failed to output fingerprint string due to snprintf failure"); result.error = error; } } @@ -386,7 +385,12 @@ PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, bool PgQueryFingerprintResult pg_query_fingerprint(const char* input) { - return pg_query_fingerprint_with_opts(input, false); + return pg_query_fingerprint_with_opts(input, PG_QUERY_PARSE_DEFAULT, false); +} + +PgQueryFingerprintResult pg_query_fingerprint_opts(const char* input, int parser_options) +{ + return pg_query_fingerprint_with_opts(input, parser_options, false); } void pg_query_free_fingerprint_result(PgQueryFingerprintResult result) diff --git a/parser/pg_query_fingerprint.h b/parser/pg_query_fingerprint.h index 7c2b0cd8..10c3a13c 100644 --- a/parser/pg_query_fingerprint.h +++ b/parser/pg_query_fingerprint.h @@ -3,7 +3,7 @@ #include -extern PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, bool printTokens); +extern PgQueryFingerprintResult pg_query_fingerprint_with_opts(const char* input, int parser_options, bool printTokens); extern uint64_t pg_query_fingerprint_node(const void * node); diff --git a/parser/pg_query_internal.h b/parser/pg_query_internal.h index af119b2f..3f797305 100644 --- a/parser/pg_query_internal.h +++ b/parser/pg_query_internal.h @@ -8,17 +8,18 @@ #define STDERR_BUFFER_LEN 4096 #define DEBUG -typedef struct { - List *tree; - char* stderr_buffer; - PgQueryError* error; -} PgQueryInternalParsetreeAndError; +typedef struct +{ + List *tree; + char *stderr_buffer; + PgQueryError *error; +} PgQueryInternalParsetreeAndError; -PgQueryInternalParsetreeAndError pg_query_raw_parse(const char* input); +PgQueryInternalParsetreeAndError pg_query_raw_parse(const char *input, int parser_options); -void pg_query_free_error(PgQueryError *error); +void pg_query_free_error(PgQueryError * error); MemoryContext pg_query_enter_memory_context(); -void pg_query_exit_memory_context(MemoryContext ctx); +void pg_query_exit_memory_context(MemoryContext ctx); #endif diff --git a/parser/pg_query_is_utility_stmt.c b/parser/pg_query_is_utility_stmt.c new file mode 100644 index 00000000..ef211eaf --- /dev/null +++ b/parser/pg_query_is_utility_stmt.c @@ -0,0 +1,70 @@ +#include +#include +#include + +#include "pg_query.h" +#include "pg_query_internal.h" +#include +#include + +static +bool +is_utility_stmt_actual(RawStmt *raw_stmt) +{ + switch (nodeTag(raw_stmt->stmt)) + { + case T_SelectStmt: + case T_InsertStmt: + case T_UpdateStmt: + case T_DeleteStmt: + case T_MergeStmt: + return false; + + default: + return true; + } +} + +PgQueryIsUtilityResult +pg_query_is_utility_stmt(const char *query) +{ + PgQueryIsUtilityResult result = {0}; + MemoryContext ctx = pg_query_enter_memory_context(); + + PgQueryInternalParsetreeAndError parsetree_and_error = pg_query_raw_parse(query, 0); + + if (parsetree_and_error.error) + { + result.error = parsetree_and_error.error; + } + else + { + ListCell *lc; + + result.length = list_length(parsetree_and_error.tree); + result.items = malloc(sizeof(bool) * result.length); + + foreach(lc, parsetree_and_error.tree) + { + RawStmt *raw_stmt = lfirst_node(RawStmt, lc); + + result.items[foreach_current_index(lc)] = is_utility_stmt_actual(raw_stmt); + } + } + + if (parsetree_and_error.stderr_buffer) + free(parsetree_and_error.stderr_buffer); + + pg_query_exit_memory_context(ctx); + + return result; +} + +void +pg_query_free_is_utility_result(PgQueryIsUtilityResult result) +{ + if (result.error) + pg_query_free_error(result.error); + + free(result.items); +} diff --git a/parser/pg_query_json_plpgsql.c b/parser/pg_query_json_plpgsql.c index 14f4d47f..69c77b6b 100644 --- a/parser/pg_query_json_plpgsql.c +++ b/parser/pg_query_json_plpgsql.c @@ -626,6 +626,7 @@ dump_expr(StringInfo out, PLpgSQL_expr *node) WRITE_NODE_TYPE("PLpgSQL_expr"); WRITE_STRING_FIELD(query, query, query); + WRITE_ENUM_FIELD(parseMode, parseMode, parseMode); } static void diff --git a/parser/pg_query_normalize.c b/parser/pg_query_normalize.c index a03220a2..eaebd9da 100644 --- a/parser/pg_query_normalize.c +++ b/parser/pg_query_normalize.c @@ -48,6 +48,9 @@ typedef struct pgssConstLocations int *param_refs; int param_refs_buf_size; int param_refs_count; + + /* Should only utility statements be normalized? Set by pg_query_normalize_utility */ + bool normalize_utility_only; } pgssConstLocations; /* @@ -333,10 +336,20 @@ static void RecordConstLocation(pgssConstLocations *jstate, int location) } } +static bool is_string_delimiter(char c) +{ + return c == '\'' || c == '$'; +} + +static bool is_special_string_start(char c) +{ + return c == 'b' || c == 'B' || c == 'x' || c == 'X' || c == 'n' || c == 'N' || c == 'e' || c == 'E'; +} + static void record_defelem_arg_location(pgssConstLocations *jstate, int location) { for (int i = location; i < jstate->query_len; i++) { - if (jstate->query[i] == '\'' || jstate->query[i] == '$') { + if (is_string_delimiter(jstate->query[i]) || (i + 1 < jstate->query_len && is_special_string_start(jstate->query[i]) && is_string_delimiter(jstate->query[i + 1]))) { RecordConstLocation(jstate, i); break; } @@ -398,9 +411,14 @@ static bool const_record_walker(Node *node, pgssConstLocations *jstate) case T_RawStmt: return const_record_walker((Node *) ((RawStmt *) node)->stmt, jstate); case T_VariableSetStmt: + if (jstate->normalize_utility_only) return false; return const_record_walker((Node *) ((VariableSetStmt *) node)->args, jstate); case T_CopyStmt: + if (jstate->normalize_utility_only) return false; return const_record_walker((Node *) ((CopyStmt *) node)->query, jstate); + case T_CallStmt: + if (jstate->normalize_utility_only) return false; + return const_record_walker((Node *) ((CallStmt *) node)->funccall, jstate); case T_ExplainStmt: return const_record_walker((Node *) ((ExplainStmt *) node)->query, jstate); case T_CreateRoleStmt: @@ -408,16 +426,19 @@ static bool const_record_walker(Node *node, pgssConstLocations *jstate) case T_AlterRoleStmt: return const_record_walker((Node *) ((AlterRoleStmt *) node)->options, jstate); case T_DeclareCursorStmt: + if (jstate->normalize_utility_only) return false; return const_record_walker((Node *) ((DeclareCursorStmt *) node)->query, jstate); case T_CreateFunctionStmt: + if (jstate->normalize_utility_only) return false; return const_record_walker((Node *) ((CreateFunctionStmt *) node)->options, jstate); case T_DoStmt: + if (jstate->normalize_utility_only) return false; return const_record_walker((Node *) ((DoStmt *) node)->args, jstate); case T_CreateSubscriptionStmt: record_matching_string(jstate, ((CreateSubscriptionStmt *) node)->conninfo); break; case T_AlterSubscriptionStmt: - record_matching_string(jstate, ((CreateSubscriptionStmt *) node)->conninfo); + record_matching_string(jstate, ((AlterSubscriptionStmt *) node)->conninfo); break; case T_CreateUserMappingStmt: return const_record_walker((Node *) ((CreateUserMappingStmt *) node)->options, jstate); @@ -428,6 +449,7 @@ static bool const_record_walker(Node *node, pgssConstLocations *jstate) return false; case T_SelectStmt: { + if (jstate->normalize_utility_only) return false; SelectStmt *stmt = (SelectStmt *) node; ListCell *lc; List *fp_and_param_refs_list = NIL; @@ -540,6 +562,26 @@ static bool const_record_walker(Node *node, pgssConstLocations *jstate) return false; } + case T_MergeStmt: + { + if (jstate->normalize_utility_only) return false; + return raw_expression_tree_walker(node, const_record_walker, (void*) jstate); + } + case T_InsertStmt: + { + if (jstate->normalize_utility_only) return false; + return raw_expression_tree_walker(node, const_record_walker, (void*) jstate); + } + case T_UpdateStmt: + { + if (jstate->normalize_utility_only) return false; + return raw_expression_tree_walker(node, const_record_walker, (void*) jstate); + } + case T_DeleteStmt: + { + if (jstate->normalize_utility_only) return false; + return raw_expression_tree_walker(node, const_record_walker, (void*) jstate); + } default: { PG_TRY(); @@ -558,7 +600,7 @@ static bool const_record_walker(Node *node, pgssConstLocations *jstate) return false; } -PgQueryNormalizeResult pg_query_normalize(const char* input) +PgQueryNormalizeResult pg_query_normalize_ext(const char* input, bool normalize_utility_only) { MemoryContext ctx = NULL; PgQueryNormalizeResult result = {0}; @@ -588,6 +630,7 @@ PgQueryNormalizeResult pg_query_normalize(const char* input) jstate.param_refs = NULL; jstate.param_refs_buf_size = 0; jstate.param_refs_count = 0; + jstate.normalize_utility_only = normalize_utility_only; /* Walk tree and record const locations */ const_record_walker((Node *) tree, &jstate); @@ -621,6 +664,17 @@ PgQueryNormalizeResult pg_query_normalize(const char* input) return result; } +PgQueryNormalizeResult pg_query_normalize(const char* input) +{ + return pg_query_normalize_ext(input, false); +} + + +PgQueryNormalizeResult pg_query_normalize_utility(const char* input) +{ + return pg_query_normalize_ext(input, true); +} + void pg_query_free_normalize_result(PgQueryNormalizeResult result) { if (result.error) { diff --git a/parser/pg_query_outfuncs_json.c b/parser/pg_query_outfuncs_json.c index cfd71297..d4d74bff 100644 --- a/parser/pg_query_outfuncs_json.c +++ b/parser/pg_query_outfuncs_json.c @@ -36,6 +36,12 @@ appendStringInfo(out, "\"" CppAsString(outname_json) "\":%u,", node->fldname); \ } +/* Write an unsigned integer field */ +#define WRITE_UINT64_FIELD(outname, outname_json, fldname) \ + if (node->fldname != 0) { \ + appendStringInfo(out, "\"" CppAsString(outname_json) "\":" UINT64_FORMAT ",", node->fldname); \ + } + /* Write a long-integer field */ #define WRITE_LONG_FIELD(outname, outname_json, fldname) \ if (node->fldname != 0) { \ @@ -197,7 +203,9 @@ _outOidList(StringInfo out, const List *node) static void _outInteger(StringInfo out, const Integer *node) { - if (node->ival > 0) + /* Don't output anything if the value is the default (0), to match + * protobuf's behavior. */ + if (node->ival != 0) appendStringInfo(out, "\"ival\":%d", node->ival); } diff --git a/parser/pg_query_outfuncs_protobuf.c b/parser/pg_query_outfuncs_protobuf.c index b8204077..64ccdf1b 100644 --- a/parser/pg_query_outfuncs_protobuf.c +++ b/parser/pg_query_outfuncs_protobuf.c @@ -23,6 +23,7 @@ #define WRITE_INT_FIELD(outname, outname_json, fldname) out->outname = node->fldname; #define WRITE_UINT_FIELD(outname, outname_json, fldname) out->outname = node->fldname; +#define WRITE_UINT64_FIELD(outname, outname_json, fldname) out->outname = node->fldname; #define WRITE_LONG_FIELD(outname, outname_json, fldname) out->outname = node->fldname; #define WRITE_FLOAT_FIELD(outname, outname_json, fldname) out->outname = node->fldname; #define WRITE_BOOL_FIELD(outname, outname_json, fldname) out->outname = node->fldname; @@ -57,11 +58,11 @@ #define WRITE_BITMAPSET_FIELD(outname, outname_json, fldname) \ if (!bms_is_empty(node->fldname)) \ { \ - int x = 0; \ + int x = -1; \ int i = 0; \ out->n_##outname = bms_num_members(node->fldname); \ out->outname = palloc(sizeof(PgQuery__Node*) * out->n_##outname); \ - while ((x = bms_first_member(node->fldname)) >= 0) \ + while ((x = bms_next_member(node->fldname, x)) >= 0) \ out->outname[i++] = x; \ } diff --git a/parser/pg_query_parse.c b/parser/pg_query_parse.c index 6e52bd34..3f2c111a 100644 --- a/parser/pg_query_parse.c +++ b/parser/pg_query_parse.c @@ -9,7 +9,7 @@ #include #include -PgQueryInternalParsetreeAndError pg_query_raw_parse(const char* input) +PgQueryInternalParsetreeAndError pg_query_raw_parse(const char* input, int parser_options) { PgQueryInternalParsetreeAndError result = {0}; MemoryContext parse_context = CurrentMemoryContext; @@ -42,7 +42,39 @@ PgQueryInternalParsetreeAndError pg_query_raw_parse(const char* input) PG_TRY(); { - result.tree = raw_parser(input, RAW_PARSE_DEFAULT); + RawParseMode rawParseMode = RAW_PARSE_DEFAULT; + switch (parser_options & PG_QUERY_PARSE_MODE_BITMASK) + { + case PG_QUERY_PARSE_TYPE_NAME: + rawParseMode = RAW_PARSE_TYPE_NAME; + break; + case PG_QUERY_PARSE_PLPGSQL_EXPR: + rawParseMode = RAW_PARSE_PLPGSQL_EXPR; + break; + case PG_QUERY_PARSE_PLPGSQL_ASSIGN1: + rawParseMode = RAW_PARSE_PLPGSQL_ASSIGN1; + break; + case PG_QUERY_PARSE_PLPGSQL_ASSIGN2: + rawParseMode = RAW_PARSE_PLPGSQL_ASSIGN2; + break; + case PG_QUERY_PARSE_PLPGSQL_ASSIGN3: + rawParseMode = RAW_PARSE_PLPGSQL_ASSIGN3; + break; + } + + if ((parser_options & PG_QUERY_DISABLE_BACKSLASH_QUOTE) == PG_QUERY_DISABLE_BACKSLASH_QUOTE) { + backslash_quote = BACKSLASH_QUOTE_OFF; + } else { + backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING; + } + standard_conforming_strings = !((parser_options & PG_QUERY_DISABLE_STANDARD_CONFORMING_STRINGS) == PG_QUERY_DISABLE_STANDARD_CONFORMING_STRINGS); + escape_string_warning = !((parser_options & PG_QUERY_DISABLE_ESCAPE_STRING_WARNING) == PG_QUERY_DISABLE_ESCAPE_STRING_WARNING); + + result.tree = raw_parser(input, rawParseMode); + + backslash_quote = BACKSLASH_QUOTE_SAFE_ENCODING; + standard_conforming_strings = true; + escape_string_warning = true; #ifndef DEBUG // Save stderr for result @@ -84,6 +116,11 @@ PgQueryInternalParsetreeAndError pg_query_raw_parse(const char* input) } PgQueryParseResult pg_query_parse(const char* input) +{ + return pg_query_parse_opts(input, PG_QUERY_PARSE_DEFAULT); +} + +PgQueryParseResult pg_query_parse_opts(const char* input, int parser_options) { MemoryContext ctx = NULL; PgQueryInternalParsetreeAndError parsetree_and_error; @@ -92,7 +129,7 @@ PgQueryParseResult pg_query_parse(const char* input) ctx = pg_query_enter_memory_context(); - parsetree_and_error = pg_query_raw_parse(input); + parsetree_and_error = pg_query_raw_parse(input, parser_options); // These are all malloc-ed and will survive exiting the memory context, the caller is responsible to free them now result.stderr_buffer = parsetree_and_error.stderr_buffer; @@ -108,14 +145,19 @@ PgQueryParseResult pg_query_parse(const char* input) } PgQueryProtobufParseResult pg_query_parse_protobuf(const char* input) +{ + return pg_query_parse_protobuf_opts(input, PG_QUERY_PARSE_DEFAULT); +} + +PgQueryProtobufParseResult pg_query_parse_protobuf_opts(const char* input, int parser_options) { MemoryContext ctx = NULL; PgQueryInternalParsetreeAndError parsetree_and_error; - PgQueryProtobufParseResult result = {}; + PgQueryProtobufParseResult result = {0}; ctx = pg_query_enter_memory_context(); - parsetree_and_error = pg_query_raw_parse(input); + parsetree_and_error = pg_query_raw_parse(input, parser_options); // These are all malloc-ed and will survive exiting the memory context, the caller is responsible to free them now result.stderr_buffer = parsetree_and_error.stderr_buffer; diff --git a/parser/pg_query_parse_plpgsql.c b/parser/pg_query_parse_plpgsql.c index 8f37a20d..865d69e8 100644 --- a/parser/pg_query_parse_plpgsql.c +++ b/parser/pg_query_parse_plpgsql.c @@ -1,4 +1,3 @@ -#define _GNU_SOURCE // Necessary to get asprintf (which is a GNU extension) #include #include "pg_query.h" @@ -220,20 +219,19 @@ static PLpgSQL_function *compile_create_function_stmt(CreateFunctionStmt* stmt) foreach(lc, stmt->parameters) { FunctionParameter *param = lfirst_node(FunctionParameter, lc); + char buf[32]; + PLpgSQL_type *argdtype; + PLpgSQL_variable *argvariable; + PLpgSQL_nsitem_type argitemtype; + snprintf(buf, sizeof(buf), "$%d", foreach_current_index(lc) + 1); + argdtype = plpgsql_build_datatype(UNKNOWNOID, -1, InvalidOid, param->argType); + argvariable = plpgsql_build_variable(param->name ? param->name : buf, 0, argdtype, false); + if (param->mode == FUNC_PARAM_OUT || param->mode == FUNC_PARAM_INOUT || param->mode == FUNC_PARAM_TABLE) + function->out_param_varno = argvariable->dno; + argitemtype = argvariable->dtype == PLPGSQL_DTYPE_VAR ? PLPGSQL_NSTYPE_VAR : PLPGSQL_NSTYPE_REC; + plpgsql_ns_additem(argitemtype, argvariable->dno, buf); if (param->name != NULL) - { - char buf[32]; - PLpgSQL_type *argdtype; - PLpgSQL_variable *argvariable; - PLpgSQL_nsitem_type argitemtype; - snprintf(buf, sizeof(buf), "$%d", foreach_current_index(lc) + 1); - argdtype = plpgsql_build_datatype(UNKNOWNOID, -1, InvalidOid, NULL); - argvariable = plpgsql_build_variable(param->name ? param->name : buf, 0, argdtype, false); - argitemtype = argvariable->dtype == PLPGSQL_DTYPE_VAR ? PLPGSQL_NSTYPE_VAR : PLPGSQL_NSTYPE_REC; - plpgsql_ns_additem(argitemtype, argvariable->dno, buf); - if (param->name != NULL) - plpgsql_ns_additem(argitemtype, argvariable->dno, param->name); - } + plpgsql_ns_additem(argitemtype, argvariable->dno, param->name); } /* Set up as though in a function returning VOID */ @@ -449,7 +447,7 @@ PgQueryPlpgsqlParseResult pg_query_parse_plpgsql(const char* input) ctx = pg_query_enter_memory_context(); - parse_result = pg_query_raw_parse(input); + parse_result = pg_query_raw_parse(input, PG_QUERY_PARSE_DEFAULT); result.error = parse_result.error; if (result.error != NULL) { pg_query_exit_memory_context(ctx); @@ -486,14 +484,17 @@ PgQueryPlpgsqlParseResult pg_query_parse_plpgsql(const char* input) if (func_and_error.func != NULL) { char *func_json; char *new_out; + size_t new_out_len; func_json = plpgsqlToJSON(func_and_error.func); plpgsql_free_function_memory(func_and_error.func); - int err = asprintf(&new_out, "%s%s,\n", result.plpgsql_funcs, func_json); - if (err == -1) { + new_out_len = strlen(result.plpgsql_funcs) + strlen(func_json) + 3; + new_out = malloc(new_out_len); + int n = snprintf(new_out, new_out_len, "%s%s,\n", result.plpgsql_funcs, func_json); + if (n < 0 || n >= new_out_len) { PgQueryError* error = malloc(sizeof(PgQueryError)); - error->message = strdup("Failed to output PL/pgSQL functions due to asprintf failure"); + error->message = strdup("Failed to output PL/pgSQL functions due to snprintf failure"); result.error = error; } else { free(result.plpgsql_funcs); diff --git a/parser/pg_query_raw_tree_walker_supports.c b/parser/pg_query_raw_tree_walker_supports.c new file mode 100644 index 00000000..ff20529a --- /dev/null +++ b/parser/pg_query_raw_tree_walker_supports.c @@ -0,0 +1,117 @@ +#include + +#include "pg_query.h" +#include "pg_query_internal.h" +#include "pg_query_outfuncs.h" + +#include "parser/parser.h" +#include "parser/scanner.h" +#include "parser/scansup.h" + +#include "nodes/execnodes.h" +#include "nodes/nodeFuncs.h" +#include "nodes/pathnodes.h" + +#include "utils/builtins.h" + +/* + * Returns true if raw_expression_tree_walker() handles it, + * otherwise, returns false. + * + * Up-to-date with postgres 17' implementation as of Aug 19 2025. + * https://github.com/postgres/postgres/blob/REL_17_STABLE/src/backend/nodes/nodeFuncs.c#L3964 + */ +bool +pg_query_raw_tree_walker_supports(Node *node) +{ + switch (nodeTag(node)) + { + case T_JsonFormat: + case T_SetToDefault: + case T_CurrentOfExpr: + case T_SQLValueFunction: + case T_Integer: + case T_Float: + case T_Boolean: + case T_String: + case T_BitString: + case T_ParamRef: + case T_A_Const: + case T_A_Star: + case T_MergeSupportFunc: + case T_Alias: + case T_RangeVar: + case T_GroupingFunc: + case T_SubLink: + case T_CaseExpr: + case T_RowExpr: + case T_CoalesceExpr: + case T_MinMaxExpr: + case T_XmlExpr: + case T_JsonReturning: + case T_JsonValueExpr: + case T_JsonParseExpr: + case T_JsonScalarExpr: + case T_JsonSerializeExpr: + case T_JsonConstructorExpr: + case T_JsonIsPredicate: + case T_JsonArgument: + case T_JsonFuncExpr: + case T_JsonBehavior: + case T_JsonTable: + case T_JsonTableColumn: + case T_JsonTablePathSpec: + case T_NullTest: + case T_BooleanTest: + case T_JoinExpr: + case T_IntoClause: + case T_List: + case T_InsertStmt: + case T_DeleteStmt: + case T_UpdateStmt: + case T_MergeStmt: + case T_MergeWhenClause: + case T_SelectStmt: + case T_PLAssignStmt: + case T_A_Expr: + case T_BoolExpr: + case T_ColumnRef: + case T_FuncCall: + case T_NamedArgExpr: + case T_A_Indices: + case T_A_Indirection: + case T_A_ArrayExpr: + case T_ResTarget: + case T_MultiAssignRef: + case T_TypeCast: + case T_CollateClause: + case T_SortBy: + case T_WindowDef: + case T_RangeSubselect: + case T_RangeFunction: + case T_RangeTableSample: + case T_RangeTableFunc: + case T_RangeTableFuncCol: + case T_TypeName: + case T_ColumnDef: + case T_IndexElem: + case T_GroupingSet: + case T_LockingClause: + case T_XmlSerialize: + case T_WithClause: + case T_InferClause: + case T_OnConflictClause: + case T_CommonTableExpr: + case T_JsonOutput: + case T_JsonKeyValue: + case T_JsonObjectConstructor: + case T_JsonArrayConstructor: + case T_JsonAggConstructor: + case T_JsonObjectAgg: + case T_JsonArrayAgg: + case T_JsonArrayQueryConstructor: + return true; + default: + return false; + } +} diff --git a/parser/pg_query_readfuncs_protobuf.c b/parser/pg_query_readfuncs_protobuf.c index c531c72e..d0a7e21a 100644 --- a/parser/pg_query_readfuncs_protobuf.c +++ b/parser/pg_query_readfuncs_protobuf.c @@ -14,6 +14,7 @@ #define READ_INT_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; #define READ_UINT_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; +#define READ_UINT64_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; #define READ_LONG_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; #define READ_FLOAT_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; #define READ_BOOL_FIELD(outname, outname_json, fldname) node->fldname = msg->outname; @@ -49,9 +50,9 @@ node->fldname = _readNode(msg->outname); \ } -#define READ_EXPR_PTR_FIELD(outname, outname_json, fldname) \ +#define READ_ABSTRACT_PTR_FIELD(outname, outname_json, fldname, fldtype) \ if (msg->outname != NULL) { \ - node->fldname = (Expr *) _readNode(msg->outname); \ + node->fldname = (fldtype) _readNode(msg->outname); \ } #define READ_VALUE_FIELD(outname, outname_json, fldname) \ diff --git a/parser/pg_query_scan.c b/parser/pg_query_scan.c index 558991ea..1d0e052e 100644 --- a/parser/pg_query_scan.c +++ b/parser/pg_query_scan.c @@ -1,7 +1,7 @@ #include "pg_query.h" #include "pg_query_internal.h" -#include "parser/gramparse.h" +#include "gramparse.h" #include "lib/stringinfo.h" #include "protobuf/pg_query.pb-c.h" @@ -93,7 +93,7 @@ PgQueryScanResult pg_query_scan(const char* input) output_tokens[i] = malloc(sizeof(PgQuery__ScanToken)); pg_query__scan_token__init(output_tokens[i]); output_tokens[i]->start = yylloc; - if (tok == SCONST || tok == BCONST || tok == XCONST || tok == IDENT || tok == C_COMMENT) { + if (tok == SCONST || tok == USCONST || tok == BCONST || tok == XCONST || tok == IDENT || tok == UIDENT || tok == C_COMMENT) { output_tokens[i]->end = yyextra.yyllocend; } else { output_tokens[i]->end = yylloc + ((struct yyguts_t*) yyscanner)->yyleng_r; diff --git a/parser/pg_query_split.c b/parser/pg_query_split.c index 5870d022..2319d2da 100644 --- a/parser/pg_query_split.c +++ b/parser/pg_query_split.c @@ -1,7 +1,7 @@ #include "pg_query.h" #include "pg_query_internal.h" -#include "parser/gramparse.h" +#include "gramparse.h" #include "lib/stringinfo.h" #include @@ -166,11 +166,11 @@ PgQuerySplitResult pg_query_split_with_parser(const char* input) { MemoryContext ctx = NULL; PgQueryInternalParsetreeAndError parsetree_and_error; - PgQuerySplitResult result = {}; + PgQuerySplitResult result = {0}; ctx = pg_query_enter_memory_context(); - parsetree_and_error = pg_query_raw_parse(input); + parsetree_and_error = pg_query_raw_parse(input, PG_QUERY_PARSE_DEFAULT); // These are all malloc-ed and will survive exiting the memory context, the caller is responsible to free them now result.stderr_buffer = parsetree_and_error.stderr_buffer; diff --git a/parser/pg_query_summary.c b/parser/pg_query_summary.c new file mode 100644 index 00000000..b713bd5c --- /dev/null +++ b/parser/pg_query_summary.c @@ -0,0 +1,941 @@ +#include "pg_query.h" +#include "pg_query_internal.h" +#include "pg_query_outfuncs.h" + +#include "catalog/namespace.h" + +#include "parser/parser.h" +#include "parser/scanner.h" +#include "parser/scansup.h" + +#include "nodes/makefuncs.h" +#include "nodes/nodeFuncs.h" +#include "utils/builtins.h" + +#include "protobuf/pg_query.pb-c.h" + +#include +#include +#include + +#include "pg_query_summary.h" + +static char *range_var_to_name(RangeVar *rv); +static bool cte_names_include(WalkState * state, char *relname); + + +static PgQueryError * make_pg_query_error(const char *message) +{ + PgQueryError *error = malloc(sizeof(PgQueryError)); + + error->message = strdup(message); + return error; +} + +/* + * Given a Node (node) and WalkState (state), wraps node in a RangeVarWithContext + * and adds it to the state->range_vars list. + */ +static void +add_range_var(Node *node, ContextType context, WalkState * state) +{ + if (!node) + return; + + switch (node->type) + { + case T_JoinExpr: + { + JoinExpr *je = castNode(JoinExpr, node); + + add_range_var(je->larg, context, state); + add_range_var(je->rarg, context, state); + /* je->quals is handled by the regular tree walk. */ + break; + } + + case T_RangeTableSample: + { + RangeTableSample *rts = castNode(RangeTableSample, node); + + add_range_var(rts->relation, context, state); + break; + } + + case T_JsonTable: + case T_RangeTableFunc: + case T_RangeFunction: + case T_RangeSubselect: + /* These are handled by the tree walker. */ + break; + + case T_RangeVar: + { + RangeVarWithContext *rvwc = palloc(sizeof(RangeVarWithContext)); + + rvwc->node = castNode(RangeVar, node); + rvwc->context = context; + + state->range_vars = lappend(state->range_vars, rvwc); + break; + } + + default: + elog(ERROR, "unexpected node type: %d", nodeTag(node)); + } +} + +/* + * Given a List*-of-Nodes (clause) and WalkState (state), wrap them all + * in RangeVarWithContext structs and add them to the state->range_vars list. + */ +static void +add_range_var_list(List *clause, ContextType context, WalkState * state) +{ + if (!clause) + return; + + ListCell *lc = NULL; + + foreach(lc, clause) + { + add_range_var(lfirst(lc), context, state); + } +} + +static void +add_function(List *funcname, ContextType context, WalkState * state) +{ + SummaryFunction *func = palloc(sizeof(SummaryFunction)); + + func->name = NameListToString(funcname); + + if (list_length(funcname) == 3) + func->schema_name = lsecond_node(String, funcname)->sval; + else if (list_length(funcname) == 2) + func->schema_name = linitial_node(String, funcname)->sval; + else + func->schema_name = NULL; + + func->function_name = llast_node(String, funcname)->sval; + + func->context = context; + + state->functions = lappend(state->functions, func); +} + +bool +pg_query_summary_walk_impl(Node *node, WalkState * state) +{ + if (node == NULL) + return false; + + switch (nodeTag(node)) + { + case T_CommonTableExpr: + { + CommonTableExpr *cte = castNode(CommonTableExpr, node); + + state->cte_names = lappend(state->cte_names, pstrdup(cte->ctename)); + break; + } + + case T_CallStmt: + { + CallStmt *stmt = castNode(CallStmt, node); + + if (stmt->funccall) + return pg_query_summary_walk_impl((Node *) stmt->funccall, state); + } + + case T_SelectStmt: + { + /* + * Don't descend into sub-SELECTs in the WHERE clause when + * saving filter columns. + */ + if (state->save_filter_columns) + return true; + + SelectStmt *stmt = castNode(SelectStmt, node); + + if (stmt->op == SETOP_NONE) + add_range_var_list(stmt->fromClause, CONTEXT_SELECT, state); + + /* + * For SETOP_UNION, SETOP_EXCEPT, and SETOP_INTERSECT, the + * raw_expression_tree_walker() call at the end of this + * function will handle stmt->larg/stmt->rarg. + */ + + if (stmt->intoClause) + add_range_var((Node *) stmt->intoClause->rel, CONTEXT_DDL, state); + + if (stmt->whereClause) + { + /* + * If we have a WHERE clause, that means we have to check + * for filter columns. + * + * NOTE: the WHERE clause is intentionally walked twice, + * but when saving filter columns we don't descend into + * sub-SELECTs. + */ + state->save_filter_columns = true; + pg_query_summary_walk_impl((Node *) stmt->whereClause, state); + state->save_filter_columns = false; + } + + break; + } + + case T_InsertStmt: + { + add_range_var((Node *) castNode(InsertStmt, node)->relation, CONTEXT_DML, state); + break; + } + + case T_UpdateStmt: + { + UpdateStmt *stmt = castNode(UpdateStmt, node); + + add_range_var((Node *) stmt->relation, CONTEXT_DML, state); + add_range_var_list(stmt->fromClause, CONTEXT_SELECT, state); + break; + } + + case T_MergeStmt: + { + MergeStmt *stmt = castNode(MergeStmt, node); + + add_range_var((Node *) stmt->relation, CONTEXT_DML, state); + break; + } + + case T_DeleteStmt: + { + DeleteStmt *stmt = castNode(DeleteStmt, node); + + add_range_var((Node *) stmt->relation, CONTEXT_DML, state); + add_range_var_list(stmt->usingClause, CONTEXT_SELECT, state); + break; + } + + case T_CopyStmt: + { + CopyStmt *stmt = castNode(CopyStmt, node); + + add_range_var((Node *) stmt->relation, CONTEXT_SELECT, state); + pg_query_summary_walk_impl((Node *) stmt->query, state); + break; + } + + case T_AlterTableStmt: + { + AlterTableStmt *stmt = castNode(AlterTableStmt, node); + + /* `ALTER INDEX index_name` is ignored. */ + if (stmt->objtype != OBJECT_INDEX) + add_range_var((Node *) stmt->relation, CONTEXT_DDL, state); + + break; + } + + case T_CreateStmt: + add_range_var((Node *) castNode(CreateStmt, node)->relation, CONTEXT_DDL, state); + break; + + case T_CreateTableAsStmt: + { + CreateTableAsStmt *stmt = castNode(CreateTableAsStmt, node); + + if (stmt->into && stmt->into->rel) + add_range_var((Node *) stmt->into->rel, CONTEXT_DDL, state); + + pg_query_summary_walk_impl(stmt->query, state); + + break; + } + + case T_TruncateStmt: + add_range_var_list(castNode(TruncateStmt, node)->relations, CONTEXT_DDL, state); + break; + + case T_ViewStmt: + { + ViewStmt *stmt = castNode(ViewStmt, node); + + add_range_var((Node *) stmt->view, CONTEXT_DDL, state); + pg_query_summary_walk_impl(stmt->query, state); + break; + } + + case T_IndexStmt: + { + IndexStmt *stmt = castNode(IndexStmt, node); + + add_range_var((Node *) stmt->relation, CONTEXT_DDL, state); + + ListCell *lc = NULL; + + foreach(lc, stmt->indexParams) + { + IndexElem *index_elem = lfirst(lc); + + pg_query_summary_walk_impl(index_elem->expr, state); + } + + pg_query_summary_walk_impl(stmt->whereClause, state); + + break; + } + + case T_CreateTrigStmt: + add_range_var((Node *) castNode(CreateTrigStmt, node)->relation, CONTEXT_DDL, state); + break; + + case T_RuleStmt: + add_range_var((Node *) castNode(RuleStmt, node)->relation, CONTEXT_DDL, state); + break; + + case T_VacuumStmt: + { + VacuumStmt *stmt = castNode(VacuumStmt, node); + + ListCell *lc = NULL; + + foreach(lc, stmt->rels) + { + VacuumRelation *rel = lfirst(lc); + + add_range_var((Node *) rel->relation, CONTEXT_DDL, state); + } + + break; + } + + case T_RefreshMatViewStmt: + add_range_var((Node *) castNode(RefreshMatViewStmt, node)->relation, CONTEXT_DDL, state); + break; + + case T_DropStmt: + { + DropStmt *stmt = castNode(DropStmt, node); + + switch (stmt->removeType) + { + case OBJECT_TABLE: + { + ListCell *lc = NULL; + + foreach(lc, stmt->objects) + { + Node *obj = lfirst(lc); + + if (obj->type == T_List) + { + List *list = castNode(List, obj); + + if (list_length(list) == 0) + continue; + + RangeVar *range_var = makeRangeVarFromNameList(list); + + add_range_var((Node *) range_var, CONTEXT_DDL, state); + } + } + break; + } + case OBJECT_RULE: + case OBJECT_TRIGGER: + { + ListCell *lc = NULL; + + foreach(lc, stmt->objects) + { + Node *obj = lfirst(lc); + + if (obj->type == T_List) + { + List *olist = castNode(List, obj); + + /* + * Ignore the last string (the + * rule/trigger name) + */ + List *list = list_copy(olist); + + list = list_truncate(list, list_length(list) - 1); + + if (list_length(list) == 0) + continue; + + RangeVar *range_var = makeRangeVarFromNameList(list); + + add_range_var((Node *) range_var, CONTEXT_DDL, state); + } + } + break; + } + + case OBJECT_FUNCTION: + { + Node *obj_node = linitial(stmt->objects); + + if (obj_node != NULL && obj_node->type == T_ObjectWithArgs) + { + ObjectWithArgs *obj = castNode(ObjectWithArgs, obj_node); + + if (obj->objname) + add_function(obj->objname, CONTEXT_DDL, state); + } + + break; + } + + default: + break; + } + break; + } + + case T_GrantStmt: + { + GrantStmt *stmt = castNode(GrantStmt, node); + List *objects = stmt->objects; + + switch (stmt->objtype) + { + case OBJECT_TABLE: + { + ListCell *lc = NULL; + + foreach(lc, stmt->objects) + { + if (IsA(lfirst(lc), RangeVar)) + add_range_var(lfirst(lc), CONTEXT_DDL, state); + } + break; + } + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + { + ListCell *lc = NULL; + + foreach(lc, stmt->objects) + { + Node *obj_node = lfirst(lc); + + if (IsA(obj_node, ObjectWithArgs)) + { + ObjectWithArgs *obj = castNode(ObjectWithArgs, obj_node); + + if (obj->objname) + add_function(obj->objname, CONTEXT_DDL, state); + } + } + } + default: + + /* + * Do nothing. + * + * Other grant types don't contain table/function + * references. + */ + break; + } + break; + } + + case T_LockStmt: + add_range_var_list(castNode(LockStmt, node)->relations, CONTEXT_DDL, state); + break; + + case T_ExplainStmt: + return pg_query_summary_walk_impl(castNode(ExplainStmt, node)->query, state); + + case T_CreateFunctionStmt: + add_function(castNode(CreateFunctionStmt, node)->funcname, CONTEXT_DDL, state); + break; + + case T_RenameStmt: + { + RenameStmt *stmt = castNode(RenameStmt, node); + + switch (stmt->renameType) + { + case OBJECT_TABLE: + add_range_var((Node *) stmt->relation, CONTEXT_DDL, state); + add_range_var((Node *) makeRangeVar(stmt->relation->schemaname, stmt->newname, -1), CONTEXT_DDL, state); + break; + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + { + ObjectWithArgs *obj = castNode(ObjectWithArgs, stmt->object); + + add_function(obj->objname, CONTEXT_DDL, state); + add_function(list_make1(makeString(stmt->newname)), CONTEXT_DDL, state); + break; + } + default: + + /* + * Do nothing. + * + * Other rename types don't contain table/function + * references. + */ + break; + } + break; + } + + case T_PrepareStmt: + return pg_query_summary_walk_impl(castNode(PrepareStmt, node)->query, state); + + case T_RawStmt: + return pg_query_summary_walk_impl(castNode(RawStmt, node)->stmt, state); + + case T_FuncCall: + add_function(castNode(FuncCall, node)->funcname, CONTEXT_CALL, state); + break; + + /* + * The following are added to avoid needing subselect_items, + * + * like is used in Rust and Ruby. + */ + case T_ColumnRef: + { + if (!state->save_filter_columns) + break; + + ColumnRef *ref = castNode(ColumnRef, node); + + Node *column_node = llast(ref->fields); + + /* + * Check that we are not in the A_Star case here. (Columns can + * be stars, but nothing else can.) + */ + if (!IsA(column_node, String)) + break; + + String *schema_name = NULL; + String *table_name = NULL; + String *column = castNode(String, column_node); + + size_t num_fields = list_length(ref->fields); + + if (num_fields == 2) + { + table_name = linitial(ref->fields); + } + else if (num_fields == 3) + { + schema_name = linitial(ref->fields); + table_name = lsecond_node(String, ref->fields); + } + + FilterColumn *fc = palloc(sizeof(FilterColumn)); + + fc->schema_name = schema_name ? schema_name->sval : NULL; + fc->table_name = table_name ? table_name->sval : NULL; + fc->column = column ? column->sval : NULL; + + state->filter_columns = lappend(state->filter_columns, fc); + + break; + } + + default: + break; + } + + if (!pg_query_raw_tree_walker_supports(node)) + return false; + + return raw_expression_tree_walker(node, pg_query_summary_walk_impl, (void *) state); +} + +static char * +range_var_to_name(RangeVar *rv) +{ + StringInfoData buf; + + initStringInfo(&buf); + if (rv->schemaname != NULL) + { + appendStringInfoString(&buf, quote_identifier(rv->schemaname)); + appendStringInfoChar(&buf, '.'); + } + appendStringInfoString(&buf, quote_identifier(rv->relname)); + return buf.data; +} + +/* + * Walk through all collected cte_names, and compares them to relname. + * + * Returns true if any are an exact match, false otherwise. + */ +static bool +cte_names_include(WalkState * state, char *relname) +{ + if (relname == NULL) + return false; + + ListCell *lc = NULL; + + foreach(lc, state->cte_names) + { + char *ctename = lfirst(lc); + + if (strcmp(ctename, relname) == 0) + return true; + } + return false; +} + +static void +handle_range_var(RangeVar *node, ContextType context, WalkState * state) +{ + if (node == NULL) + return; + + RangeVar *rv = node; + + if (!cte_names_include(state, rv->relname)) + { + SummaryTable *table = palloc(sizeof(SummaryTable)); + + table->name = range_var_to_name(rv); + table->schema_name = pstrdup(rv->schemaname ? rv->schemaname : ""); + table->table_name = pstrdup(rv->relname ? rv->relname : ""); + table->context = context; + + state->tables = lappend(state->tables, table); + } + + if (rv->alias) + { + SummaryAlias *alias = palloc(sizeof(SummaryAlias)); + + alias->key = rv->alias->aliasname; + alias->value = range_var_to_name(rv); + state->aliases = lappend(state->aliases, alias); + } +} + +/* Walk the parse tree, storing the results in `summary`. */ +static void +pg_query_summary_walk(Summary * summary, Node *tree) +{ + WalkState state = {0}; + + /* + * NOTE regarding cte_names and range_vars: + * - We process cte_names as we iterate through the tree. + * - We only add items to tables if they are *not* in cte_names. + * - CTEs can be defined *after* they're referenced as names. + * - Due to this, we store range_vars and process it after the tree walk. + * + * If we try to do it entirely on the initial pass, we wind up with CTEs + * being included in state->tables, and thus in summary->tables. + */ + + pg_query_summary_walk_impl(tree, &state); + + ListCell *lc = NULL; + + foreach(lc, state.range_vars) + { + RangeVarWithContext *rvwc = lfirst(lc); + + handle_range_var(rvwc->node, rvwc->context, &state); + + pfree(rvwc); + } + + if (state.tables != NULL) + summary->tables = state.tables; + + if (state.aliases != NULL) + summary->aliases = state.aliases; + + if (state.cte_names != NULL) + summary->cte_names = state.cte_names; + + if (state.functions != NULL) + summary->functions = state.functions; + + if (state.filter_columns != NULL) + summary->filter_columns = state.filter_columns; +} + +static PgQuery__SummaryResult__Context ctx_to_protobuf_ctx(ContextType ctx) +{ + /* + * We're converting from an enum we control (ContextType) to an enum which + * is auto-generated by protobuf (PgQuery__SummaryResult__Context). + * + * While these should always be equivalent, we can't guarantee correctness + * with a simple cast. (It is theoretically possible for the internal + * representations to diverge while being functionally equivalent.) + * + * So, instead, we do a switch/case and manually convert it. + */ + switch (ctx) + { + case CONTEXT_NONE: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__None; + case CONTEXT_SELECT: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__Select; + case CONTEXT_DML: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__DML; + case CONTEXT_DDL: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__DDL; + case CONTEXT_CALL: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__Call; + default: + return PG_QUERY__SUMMARY_RESULT__CONTEXT__None; + } +} + +/* Given the summarized query, convert it to protobuf, and store it in `result`. */ +static void +summary_to_protobuf(PgQuerySummaryParseResult * result, Summary * summary) +{ + PgQueryProtobuf protobuf; + PgQuery__SummaryResult sr = PG_QUERY__SUMMARY_RESULT__INIT; + + sr.n_tables = list_length(summary->tables); + sr.tables = palloc(sizeof(PgQuery__SummaryResult__Table *) * sr.n_tables); + + ListCell *lc = NULL; + + foreach(lc, summary->tables) + { + size_t i = foreach_current_index(lc); + SummaryTable *table = lfirst(lc); + + sr.tables[i] = palloc(sizeof(PgQuery__SummaryResult__Table)); + pg_query__summary_result__table__init(sr.tables[i]); + sr.tables[i]->name = table->name; + sr.tables[i]->schema_name = table->schema_name; + sr.tables[i]->table_name = table->table_name; + sr.tables[i]->context = ctx_to_protobuf_ctx(table->context); + } + + sr.n_aliases = list_length(summary->aliases); + sr.aliases = palloc(sizeof(PgQuery__SummaryResult__AliasesEntry *) * sr.n_aliases); + foreach(lc, summary->aliases) + { + size_t i = foreach_current_index(lc); + SummaryAlias *alias = lfirst(lc); + + sr.aliases[i] = palloc(sizeof(PgQuery__SummaryResult__AliasesEntry)); + pg_query__summary_result__aliases_entry__init(sr.aliases[i]); + sr.aliases[i]->key = alias->key; + sr.aliases[i]->value = alias->value; + } + + sr.n_cte_names = list_length(summary->cte_names); + sr.cte_names = palloc(sizeof(char *) * sr.n_cte_names); + foreach(lc, summary->cte_names) + { + size_t i = foreach_current_index(lc); + char *ctename = lfirst(lc); + + sr.cte_names[i] = ctename; + } + + sr.n_functions = list_length(summary->functions); + sr.functions = palloc(sizeof(PgQuery__SummaryResult__Function *) * sr.n_functions); + foreach(lc, summary->functions) + { + size_t i = foreach_current_index(lc); + SummaryFunction *fn = lfirst(lc); + + sr.functions[i] = palloc(sizeof(PgQuery__SummaryResult__Function)); + pg_query__summary_result__function__init(sr.functions[i]); + sr.functions[i]->name = fn->name; + sr.functions[i]->function_name = fn->function_name; + sr.functions[i]->schema_name = fn->schema_name; + sr.functions[i]->context = ctx_to_protobuf_ctx(fn->context); + } + + sr.n_filter_columns = list_length(summary->filter_columns); + sr.filter_columns = palloc(sizeof(PgQuery__SummaryResult__FilterColumn *) * sr.n_filter_columns); + foreach(lc, summary->filter_columns) + { + size_t i = foreach_current_index(lc); + FilterColumn *fc = lfirst(lc); + + sr.filter_columns[i] = palloc(sizeof(PgQuery__SummaryResult__FilterColumn)); + pg_query__summary_result__filter_column__init(sr.filter_columns[i]); + sr.filter_columns[i]->schema_name = fc->schema_name; + sr.filter_columns[i]->table_name = fc->table_name; + sr.filter_columns[i]->column = fc->column; + } + + sr.n_statement_types = list_length(summary->statement_types); + sr.statement_types = palloc(sizeof(char *) * sr.n_statement_types); + foreach(lc, summary->statement_types) + { + size_t i = foreach_current_index(lc); + char *st = lfirst(lc); + + sr.statement_types[i] = pstrdup(st); + } + + if (summary->truncated_query == NULL) + sr.truncated_query = pstrdup(""); + else + sr.truncated_query = summary->truncated_query; + + size_t len = pg_query__summary_result__get_packed_size(&sr); + + /* + * Note: This is intentionally malloc so exiting the memory context + * doesn't free this + */ + char *data = malloc(sizeof(char) * len); + + size_t written = pg_query__summary_result__pack(&sr, (void *) data); + + if (written == len) + { + result->summary.len = len; + result->summary.data = data; + } + else + { + result->error = make_pg_query_error("summary_to_protobuf() wrote wrong amount of data?"); + } + + for (size_t i = 0; i < sr.n_tables; i++) + pfree(sr.tables[i]); + pfree(sr.tables); + + for (size_t i = 0; i < sr.n_aliases; i++) + pfree(sr.aliases[i]); + pfree(sr.aliases); + + for (size_t i = 0; i < sr.n_functions; i++) + pfree(sr.functions[i]); + pfree(sr.functions); + + for (size_t i = 0; i < sr.n_filter_columns; i++) + pfree(sr.filter_columns[i]); + pfree(sr.filter_columns); + + pfree(sr.truncated_query); +} + +/* + * Given a query, parser options, and truncate limit, provide a summary of the query. + * + * If `truncate_limit` is -1, no truncation is performed. + */ +PgQuerySummaryParseResultInternal +pg_query_summary_internal(const char *input, int parser_options, int truncate_limit) +{ + PgQueryInternalParsetreeAndError parsetree_and_error; + PgQuerySummaryParseResultInternal result = {0}; + Summary summary = {0}; + PgQueryError *error = NULL; + bool should_truncate = (truncate_limit != -1); + + parsetree_and_error = pg_query_raw_parse(input, parser_options); + result.stderr_buffer = parsetree_and_error.stderr_buffer; + result.error = parsetree_and_error.error; + + if (result.error == NULL) + { + pg_query_summary_walk(&summary, (Node *) parsetree_and_error.tree); + pg_query_summary_statement_walk(&summary, (Node *) parsetree_and_error.tree); + } + + if (result.error == NULL && should_truncate) + pg_query_summary_truncate(&summary, (Node *) parsetree_and_error.tree, truncate_limit); + + result.summary = summary; + + return result; +} + +PgQuerySummaryParseResult +pg_query_summary(const char *input, int parser_options, int truncate_limit) +{ + PgQuerySummaryParseResult result = {0}; + MemoryContext ctx = pg_query_enter_memory_context(); + + PG_TRY(); + { + PgQuerySummaryParseResultInternal internal_result = + pg_query_summary_internal(input, parser_options, truncate_limit); + + result.stderr_buffer = internal_result.stderr_buffer; + result.error = internal_result.error; + + if (result.error == NULL) + summary_to_protobuf(&result, &internal_result.summary); + } + PG_CATCH(); + { + ErrorData *error_data; + PgQueryError *error; + + MemoryContextSwitchTo(ctx); + error_data = CopyErrorData(); + + /* + * Note: This is intentionally malloc so exiting the memory context + * doesn't free this + */ + error = malloc(sizeof(PgQueryError)); + error->message = strdup(error_data->message); + error->filename = strdup(error_data->filename); + error->funcname = strdup(error_data->funcname); + error->context = NULL; + error->lineno = error_data->lineno; + error->cursorpos = error_data->cursorpos; + + result.error = error; + FlushErrorState(); + } + PG_END_TRY(); + + pg_query_exit_memory_context(ctx); + + return result; +} + +/* Free all of the various parts of PgQuerySummaryParseResultInternal. */ +void +pg_query_free_summary_parse_result_internal(PgQuerySummaryParseResultInternal result) +{ + if (result.error) + pg_query_free_error(result.error); + + if (result.stderr_buffer) + free(result.stderr_buffer); +} + +/* Free all of the various parts of a PgQuerySummaryParseResult. */ +void +pg_query_free_summary_parse_result(PgQuerySummaryParseResult result) +{ + if (result.error) + pg_query_free_error(result.error); + + if (result.summary.data) + free(result.summary.data); + + /* This is allocated by strdup(), so it uses malloc() instead of palloc(). */ + if (result.stderr_buffer) + free(result.stderr_buffer); +} diff --git a/parser/pg_query_summary.h b/parser/pg_query_summary.h new file mode 100644 index 00000000..01fb54ed --- /dev/null +++ b/parser/pg_query_summary.h @@ -0,0 +1,109 @@ +#ifndef PG_QUERY_SUMMARY_H +#define PG_QUERY_SUMMARY_H + +#include "pg_query.h" +#include "pg_query_internal.h" + +#include "nodes/primnodes.h" + +#include + +typedef enum +{ + CONTEXT_NONE = 0, + CONTEXT_SELECT = 1, + CONTEXT_DML = 2, + CONTEXT_DDL = 3, + CONTEXT_CALL = 4, +} ContextType; + +typedef struct +{ + char *name; + char *schema_name; + char *table_name; + ContextType context; +} SummaryTable; + +typedef struct +{ + char *key; + char *value; +} SummaryAlias; + +typedef struct +{ + char *name; + char *function_name; + char *schema_name; /* optional */ + + + ContextType context; +} SummaryFunction; + +typedef struct +{ + char *schema_name; + char *table_name; + char *column; +} FilterColumn; + +typedef struct +{ + List *tables; /* List of SummaryTable */ + + List *aliases; /* List of SummaryAlias */ + List *cte_names; /* List of char */ + List *functions; /* List of SummaryFunction */ + List *filter_columns; /* List of FilterColumn */ + List *statement_types; /* List of char * */ + + char *truncated_query; +} Summary; + +typedef struct +{ + List *tables; /* List of Table * */ + List *aliases; /* List of SummaryAlias * */ + List *functions; /* List of Function * */ + List *range_vars; /* List of RangeVarWithContext * */ + List *cte_names; /* list of CommonTableExpr */ + List *filter_columns; /* List of FilterColumn * */ + bool save_filter_columns; /* If true, we should be adding to + * filter columns. */ +} WalkState; + +typedef struct +{ + RangeVar *node; + ContextType context; +} RangeVarWithContext; + +/* + * This is like PgQuerySummaryParseResult, but the summary is not wrapped + * up in protobuf. + */ +typedef struct +{ + Summary summary; + char *stderr_buffer; + PgQueryError *error; +} PgQuerySummaryParseResultInternal; + +extern bool pg_query_raw_tree_walker_supports(Node *node); + +extern void pg_query_summary_statement_walk(Summary * summary, Node *node); + +extern void pg_query_summary_truncate(Summary * summary, Node *node, int truncate_limit); + +/* + * This is like pg_query_summary(), but returns a (non-protobuf) + * PgQuerySummaryParseResultInternal instead of the usual + * PgQuerySummaryParseResult which converts the summary to protobuf. + * + * This is used for tests, to avoid having to process protobuf in C. + */ +extern PgQuerySummaryParseResultInternal pg_query_summary_internal(const char *input, int parser_options, int truncate_limit); +extern void pg_query_free_summary_parse_result_internal(PgQuerySummaryParseResultInternal result); + +#endif diff --git a/parser/pg_query_summary_statement_type.c b/parser/pg_query_summary_statement_type.c new file mode 100644 index 00000000..ddd45076 --- /dev/null +++ b/parser/pg_query_summary_statement_type.c @@ -0,0 +1,797 @@ +#include "pg_query.h" +#include "pg_query_internal.h" +#include "pg_query_outfuncs.h" + +#include "parser/parser.h" +#include "parser/scanner.h" +#include "parser/scansup.h" + +#include "nodes/nodeFuncs.h" +#include "utils/builtins.h" + +#include +#include +#include + +#include "pg_query_summary.h" + +/* Declare the huge function early so we can put it at the end of the file. */ +static bool pg_query_summary_stmt_walk_impl(Node *node, Summary * summary); + +/* + * Adds new_stmt_type to summary->statement_types, if it's not already in it. + * What we really want is a set, but I'd rather not implement one in C. + */ +void +add_stmt_type_if_needed(Summary * summary, char *new_stmt_type) +{ + ListCell *lc = NULL; + + foreach(lc, summary->statement_types) + { + char *stmt_type = lfirst(lc); + + if (strcmp(new_stmt_type, stmt_type) == 0) + return; + } + + summary->statement_types = lappend(summary->statement_types, new_stmt_type); +} + + +void +pg_query_summary_statement_walk(Summary * summary, Node *tree) +{ + pg_query_summary_stmt_walk_impl(tree, summary); +} + +static bool +pg_query_summary_stmt_walk_impl(Node *node, Summary * summary) +{ + if (node == NULL) + return false; + + switch (nodeTag(node)) + { + case T_AlterCollationStmt: + add_stmt_type_if_needed(summary, "AlterCollationStmt"); + break; + case T_AlterDatabaseSetStmt: + add_stmt_type_if_needed(summary, "AlterDatabaseSetStmt"); + break; + case T_AlterDatabaseStmt: + add_stmt_type_if_needed(summary, "AlterDatabaseStmt"); + break; + case T_AlterDefaultPrivilegesStmt: + add_stmt_type_if_needed(summary, "AlterDefaultPrivilegesStmt"); + break; + case T_AlterDomainStmt: + add_stmt_type_if_needed(summary, "AlterDomainStmt"); + break; + case T_AlterEnumStmt: + add_stmt_type_if_needed(summary, "AlterEnumStmt"); + break; + case T_AlterEventTrigStmt: + add_stmt_type_if_needed(summary, "AlterEventTrigStmt"); + break; + case T_AlterExtensionContentsStmt: + add_stmt_type_if_needed(summary, "AlterExtensionContentsStmt"); + break; + case T_AlterExtensionStmt: + add_stmt_type_if_needed(summary, "AlterExtensionStmt"); + break; + case T_AlterFdwStmt: + add_stmt_type_if_needed(summary, "AlterFdwStmt"); + break; + case T_AlterForeignServerStmt: + add_stmt_type_if_needed(summary, "AlterForeignServerStmt"); + break; + case T_AlterFunctionStmt: + add_stmt_type_if_needed(summary, "AlterFunctionStmt"); + break; + case T_AlterObjectDependsStmt: + add_stmt_type_if_needed(summary, "AlterObjectDependsStmt"); + break; + case T_AlterObjectSchemaStmt: + add_stmt_type_if_needed(summary, "AlterObjectSchemaStmt"); + break; + case T_AlterOpFamilyStmt: + add_stmt_type_if_needed(summary, "AlterOpFamilyStmt"); + break; + case T_AlterOperatorStmt: + add_stmt_type_if_needed(summary, "AlterOperatorStmt"); + break; + case T_AlterOwnerStmt: + add_stmt_type_if_needed(summary, "AlterOwnerStmt"); + break; + case T_AlterPolicyStmt: + add_stmt_type_if_needed(summary, "AlterPolicyStmt"); + break; + case T_AlterPublicationStmt: + add_stmt_type_if_needed(summary, "AlterPublicationStmt"); + break; + case T_AlterRoleSetStmt: + add_stmt_type_if_needed(summary, "AlterRoleSetStmt"); + break; + case T_AlterRoleStmt: + add_stmt_type_if_needed(summary, "AlterRoleStmt"); + break; + case T_AlterSeqStmt: + add_stmt_type_if_needed(summary, "AlterSeqStmt"); + break; + case T_AlterStatsStmt: + add_stmt_type_if_needed(summary, "AlterStatsStmt"); + break; + case T_AlterSubscriptionStmt: + add_stmt_type_if_needed(summary, "AlterSubscriptionStmt"); + break; + case T_AlterSystemStmt: + add_stmt_type_if_needed(summary, "AlterSystemStmt"); + break; + case T_AlterTableCmd: + add_stmt_type_if_needed(summary, "AlterTableCmd"); + break; + case T_AlterTableMoveAllStmt: + add_stmt_type_if_needed(summary, "AlterTableMoveAllStmt"); + break; + case T_AlterTableSpaceOptionsStmt: + add_stmt_type_if_needed(summary, "AlterTableSpaceOptionsStmt"); + break; + case T_AlterTableStmt: + add_stmt_type_if_needed(summary, "AlterTableStmt"); + break; + case T_AlterTSConfigurationStmt: + add_stmt_type_if_needed(summary, "AlterTSConfigurationStmt"); + break; + case T_AlterTSDictionaryStmt: + add_stmt_type_if_needed(summary, "AlterTSDictionaryStmt"); + break; + case T_AlterTypeStmt: + add_stmt_type_if_needed(summary, "AlterTypeStmt"); + break; + case T_AlterUserMappingStmt: + add_stmt_type_if_needed(summary, "AlterUserMappingStmt"); + break; + case T_CallStmt: + add_stmt_type_if_needed(summary, "CallStmt"); + break; + case T_CheckPointStmt: + add_stmt_type_if_needed(summary, "CheckPointStmt"); + break; + case T_ClosePortalStmt: + add_stmt_type_if_needed(summary, "ClosePortalStmt"); + break; + case T_ClusterStmt: + add_stmt_type_if_needed(summary, "ClusterStmt"); + break; + case T_CommentStmt: + add_stmt_type_if_needed(summary, "CommentStmt"); + break; + case T_CompositeTypeStmt: + add_stmt_type_if_needed(summary, "CompositeTypeStmt"); + break; + case T_ConstraintsSetStmt: + add_stmt_type_if_needed(summary, "ConstraintsSetStmt"); + break; + case T_CopyStmt: + add_stmt_type_if_needed(summary, "CopyStmt"); + break; + case T_CreateAmStmt: + add_stmt_type_if_needed(summary, "CreateAmStmt"); + break; + case T_CreateCastStmt: + add_stmt_type_if_needed(summary, "CreateCastStmt"); + break; + case T_CreateConversionStmt: + add_stmt_type_if_needed(summary, "CreateConversionStmt"); + break; + case T_CreateDomainStmt: + add_stmt_type_if_needed(summary, "CreateDomainStmt"); + break; + case T_CreateEnumStmt: + add_stmt_type_if_needed(summary, "CreateEnumStmt"); + break; + case T_CreateEventTrigStmt: + add_stmt_type_if_needed(summary, "CreateEventTrigStmt"); + break; + case T_CreateExtensionStmt: + add_stmt_type_if_needed(summary, "CreateExtensionStmt"); + break; + case T_CreateFdwStmt: + add_stmt_type_if_needed(summary, "CreateFdwStmt"); + break; + case T_CreateForeignServerStmt: + add_stmt_type_if_needed(summary, "CreateForeignServerStmt"); + break; + case T_CreateForeignTableStmt: + add_stmt_type_if_needed(summary, "CreateForeignTableStmt"); + break; + case T_CreateFunctionStmt: + add_stmt_type_if_needed(summary, "CreateFunctionStmt"); + break; + case T_CreateOpClassStmt: + add_stmt_type_if_needed(summary, "CreateOpClassStmt"); + break; + case T_CreateOpFamilyStmt: + add_stmt_type_if_needed(summary, "CreateOpFamilyStmt"); + break; + case T_CreatePLangStmt: + add_stmt_type_if_needed(summary, "CreatePLangStmt"); + break; + case T_CreatePolicyStmt: + add_stmt_type_if_needed(summary, "CreatePolicyStmt"); + break; + case T_CreatePublicationStmt: + add_stmt_type_if_needed(summary, "CreatePublicationStmt"); + break; + case T_CreateRangeStmt: + add_stmt_type_if_needed(summary, "CreateRangeStmt"); + break; + case T_CreateRoleStmt: + add_stmt_type_if_needed(summary, "CreateRoleStmt"); + break; + case T_CreateSchemaStmt: + add_stmt_type_if_needed(summary, "CreateSchemaStmt"); + break; + case T_CreateSeqStmt: + add_stmt_type_if_needed(summary, "CreateSeqStmt"); + break; + case T_CreateStatsStmt: + add_stmt_type_if_needed(summary, "CreateStatsStmt"); + break; + case T_CreateStmt: + add_stmt_type_if_needed(summary, "CreateStmt"); + break; + case T_CreateSubscriptionStmt: + add_stmt_type_if_needed(summary, "CreateSubscriptionStmt"); + break; + case T_CreateTableAsStmt: + { + add_stmt_type_if_needed(summary, "CreateTableAsStmt"); + CreateTableAsStmt *stmt = (CreateTableAsStmt *) node; + + if (stmt->query) + pg_query_summary_stmt_walk_impl(stmt->query, summary); + break; + } + case T_CreateTableSpaceStmt: + add_stmt_type_if_needed(summary, "CreateTableSpaceStmt"); + break; + case T_CreateTransformStmt: + add_stmt_type_if_needed(summary, "CreateTransformStmt"); + break; + case T_CreateTrigStmt: + add_stmt_type_if_needed(summary, "CreateTrigStmt"); + break; + case T_CreateUserMappingStmt: + add_stmt_type_if_needed(summary, "CreateUserMappingStmt"); + break; + case T_CreatedbStmt: + add_stmt_type_if_needed(summary, "CreatedbStmt"); + break; + case T_DeallocateStmt: + add_stmt_type_if_needed(summary, "DeallocateStmt"); + break; + case T_DeclareCursorStmt: + add_stmt_type_if_needed(summary, "DeclareCursorStmt"); + break; + case T_DefineStmt: + add_stmt_type_if_needed(summary, "DefineStmt"); + break; + case T_DeleteStmt: + add_stmt_type_if_needed(summary, "DeleteStmt"); + break; + case T_DiscardStmt: + add_stmt_type_if_needed(summary, "DiscardStmt"); + break; + case T_DoStmt: + add_stmt_type_if_needed(summary, "DoStmt"); + break; + case T_DropOwnedStmt: + add_stmt_type_if_needed(summary, "DropOwnedStmt"); + break; + case T_DropRoleStmt: + add_stmt_type_if_needed(summary, "DropRoleStmt"); + break; + case T_DropStmt: + add_stmt_type_if_needed(summary, "DropStmt"); + break; + case T_DropSubscriptionStmt: + add_stmt_type_if_needed(summary, "DropSubscriptionStmt"); + break; + case T_DropTableSpaceStmt: + add_stmt_type_if_needed(summary, "DropTableSpaceStmt"); + break; + case T_DropUserMappingStmt: + add_stmt_type_if_needed(summary, "DropUserMappingStmt"); + break; + case T_DropdbStmt: + add_stmt_type_if_needed(summary, "DropdbStmt"); + break; + case T_ExecuteStmt: + add_stmt_type_if_needed(summary, "ExecuteStmt"); + break; + case T_ExplainStmt: + { + add_stmt_type_if_needed(summary, "ExplainStmt"); + ExplainStmt *stmt = (ExplainStmt *) node; + + if (stmt->query) + pg_query_summary_stmt_walk_impl(stmt->query, summary); + break; + } + case T_FetchStmt: + add_stmt_type_if_needed(summary, "FetchStmt"); + break; + case T_GrantRoleStmt: + add_stmt_type_if_needed(summary, "GrantRoleStmt"); + break; + case T_GrantStmt: + add_stmt_type_if_needed(summary, "GrantStmt"); + break; + case T_ImportForeignSchemaStmt: + add_stmt_type_if_needed(summary, "ImportForeignSchemaStmt"); + break; + case T_IndexStmt: + add_stmt_type_if_needed(summary, "IndexStmt"); + break; + case T_InsertStmt: + add_stmt_type_if_needed(summary, "InsertStmt"); + break; + case T_ListenStmt: + add_stmt_type_if_needed(summary, "ListenStmt"); + break; + case T_LoadStmt: + add_stmt_type_if_needed(summary, "LoadStmt"); + break; + case T_LockStmt: + add_stmt_type_if_needed(summary, "LockStmt"); + break; + case T_MergeStmt: + add_stmt_type_if_needed(summary, "MergeStmt"); + break; + case T_NotifyStmt: + add_stmt_type_if_needed(summary, "NotifyStmt"); + break; + case T_PrepareStmt: + { + add_stmt_type_if_needed(summary, "PrepareStmt"); + PrepareStmt *stmt = (PrepareStmt *) node; + + if (stmt->query) + pg_query_summary_stmt_walk_impl(stmt->query, summary); + break; + } + case T_ReassignOwnedStmt: + add_stmt_type_if_needed(summary, "ReassignOwnedStmt"); + break; + case T_RefreshMatViewStmt: + add_stmt_type_if_needed(summary, "RefreshMatViewStmt"); + break; + case T_ReindexStmt: + add_stmt_type_if_needed(summary, "ReindexStmt"); + break; + case T_RenameStmt: + add_stmt_type_if_needed(summary, "RenameStmt"); + break; + case T_ReplicaIdentityStmt: + add_stmt_type_if_needed(summary, "ReplicaIdentityStmt"); + break; + case T_RuleStmt: + add_stmt_type_if_needed(summary, "RuleStmt"); + break; + case T_SecLabelStmt: + add_stmt_type_if_needed(summary, "SecLabelStmt"); + break; + case T_SelectStmt: + add_stmt_type_if_needed(summary, "SelectStmt"); + break; + case T_SetOperationStmt: + add_stmt_type_if_needed(summary, "SetOperationStmt"); + break; + case T_TransactionStmt: + add_stmt_type_if_needed(summary, "TransactionStmt"); + break; + case T_TruncateStmt: + add_stmt_type_if_needed(summary, "TruncateStmt"); + break; + case T_UnlistenStmt: + add_stmt_type_if_needed(summary, "UnlistenStmt"); + break; + case T_UpdateStmt: + add_stmt_type_if_needed(summary, "UpdateStmt"); + break; + case T_VacuumStmt: + add_stmt_type_if_needed(summary, "VacuumStmt"); + break; + case T_VariableSetStmt: + add_stmt_type_if_needed(summary, "VariableSetStmt"); + break; + case T_VariableShowStmt: + add_stmt_type_if_needed(summary, "VariableShowStmt"); + break; + case T_ViewStmt: + { + add_stmt_type_if_needed(summary, "ViewStmt"); + ViewStmt *stmt = (ViewStmt *) node; + + if (stmt->query) + pg_query_summary_stmt_walk_impl(stmt->query, summary); + break; + } + case T_RawStmt: + return pg_query_summary_stmt_walk_impl(((RawStmt *) node)->stmt, summary); + + /* + * All the cases below here are not handled in the Rust version. + * They're added here so, if a new statement type (like MergeStmt) + * is added, the C compiler will generate a warning. + */ + case T_Invalid: + case T_List: + case T_Alias: + case T_RangeVar: + case T_TableFunc: + case T_IntoClause: + case T_Var: + case T_Const: + case T_Param: + case T_Aggref: + case T_GroupingFunc: + case T_WindowFunc: + case T_WindowFuncRunCondition: + case T_MergeSupportFunc: + case T_SubscriptingRef: + case T_FuncExpr: + case T_NamedArgExpr: + case T_OpExpr: + case T_DistinctExpr: + case T_NullIfExpr: + case T_ScalarArrayOpExpr: + case T_BoolExpr: + case T_SubLink: + case T_SubPlan: + case T_AlternativeSubPlan: + case T_FieldSelect: + case T_FieldStore: + case T_RelabelType: + case T_CoerceViaIO: + case T_ArrayCoerceExpr: + case T_ConvertRowtypeExpr: + case T_CollateExpr: + case T_CaseExpr: + case T_CaseWhen: + case T_CaseTestExpr: + case T_ArrayExpr: + case T_RowExpr: + case T_RowCompareExpr: + case T_CoalesceExpr: + case T_MinMaxExpr: + case T_SQLValueFunction: + case T_XmlExpr: + case T_JsonFormat: + case T_JsonReturning: + case T_JsonValueExpr: + case T_JsonConstructorExpr: + case T_JsonIsPredicate: + case T_JsonBehavior: + case T_JsonExpr: + case T_JsonTablePath: + case T_JsonTablePathScan: + case T_JsonTableSiblingJoin: + case T_NullTest: + case T_BooleanTest: + case T_MergeAction: + case T_CoerceToDomain: + case T_CoerceToDomainValue: + case T_SetToDefault: + case T_CurrentOfExpr: + case T_NextValueExpr: + case T_InferenceElem: + case T_TargetEntry: + case T_RangeTblRef: + case T_JoinExpr: + case T_FromExpr: + case T_OnConflictExpr: + case T_Query: + case T_TypeName: + case T_ColumnRef: + case T_ParamRef: + case T_A_Expr: + case T_A_Const: + case T_TypeCast: + case T_CollateClause: + case T_RoleSpec: + case T_FuncCall: + case T_A_Star: + case T_A_Indices: + case T_A_Indirection: + case T_A_ArrayExpr: + case T_ResTarget: + case T_MultiAssignRef: + case T_SortBy: + case T_WindowDef: + case T_RangeSubselect: + case T_RangeFunction: + case T_RangeTableFunc: + case T_RangeTableFuncCol: + case T_RangeTableSample: + case T_ColumnDef: + case T_TableLikeClause: + case T_IndexElem: + case T_DefElem: + case T_LockingClause: + case T_XmlSerialize: + case T_PartitionElem: + case T_PartitionSpec: + case T_PartitionBoundSpec: + case T_PartitionRangeDatum: + case T_SinglePartitionSpec: + case T_PartitionCmd: + case T_RangeTblEntry: + case T_RTEPermissionInfo: + case T_RangeTblFunction: + case T_TableSampleClause: + case T_WithCheckOption: + case T_SortGroupClause: + case T_GroupingSet: + case T_WindowClause: + case T_RowMarkClause: + case T_WithClause: + case T_InferClause: + case T_OnConflictClause: + case T_CTESearchClause: + case T_CTECycleClause: + case T_CommonTableExpr: + case T_MergeWhenClause: + case T_TriggerTransition: + case T_JsonOutput: + case T_JsonArgument: + case T_JsonFuncExpr: + case T_JsonTablePathSpec: + case T_JsonTable: + case T_JsonTableColumn: + case T_JsonKeyValue: + case T_JsonParseExpr: + case T_JsonScalarExpr: + case T_JsonSerializeExpr: + case T_JsonObjectConstructor: + case T_JsonArrayConstructor: + case T_JsonArrayQueryConstructor: + case T_JsonAggConstructor: + case T_JsonObjectAgg: + case T_JsonArrayAgg: + case T_ReturnStmt: + case T_PLAssignStmt: + case T_ObjectWithArgs: + case T_AccessPriv: + case T_Constraint: + case T_CreateOpClassItem: + case T_StatsElem: + case T_FunctionParameter: + case T_InlineCodeBlock: + case T_CallContext: + case T_AlterDatabaseRefreshCollStmt: + case T_VacuumRelation: + case T_PublicationTable: + case T_PublicationObjSpec: + case T_PlannerGlobal: + case T_PlannerInfo: + case T_RelOptInfo: + case T_IndexOptInfo: + case T_ForeignKeyOptInfo: + case T_StatisticExtInfo: + case T_JoinDomain: + case T_EquivalenceClass: + case T_EquivalenceMember: + case T_PathKey: + case T_GroupByOrdering: + case T_PathTarget: + case T_ParamPathInfo: + case T_Path: + case T_IndexPath: + case T_IndexClause: + case T_BitmapHeapPath: + case T_BitmapAndPath: + case T_BitmapOrPath: + case T_TidPath: + case T_TidRangePath: + case T_SubqueryScanPath: + case T_ForeignPath: + case T_CustomPath: + case T_AppendPath: + case T_MergeAppendPath: + case T_GroupResultPath: + case T_MaterialPath: + case T_MemoizePath: + case T_UniquePath: + case T_GatherPath: + case T_GatherMergePath: + case T_NestPath: + case T_MergePath: + case T_HashPath: + case T_ProjectionPath: + case T_ProjectSetPath: + case T_SortPath: + case T_IncrementalSortPath: + case T_GroupPath: + case T_UpperUniquePath: + case T_AggPath: + case T_GroupingSetData: + case T_RollupData: + case T_GroupingSetsPath: + case T_MinMaxAggPath: + case T_WindowAggPath: + case T_SetOpPath: + case T_RecursiveUnionPath: + case T_LockRowsPath: + case T_ModifyTablePath: + case T_LimitPath: + case T_RestrictInfo: + case T_PlaceHolderVar: + case T_SpecialJoinInfo: + case T_OuterJoinClauseInfo: + case T_AppendRelInfo: + case T_RowIdentityVarInfo: + case T_PlaceHolderInfo: + case T_MinMaxAggInfo: + case T_PlannerParamItem: + case T_AggInfo: + case T_AggTransInfo: + case T_PlannedStmt: + case T_Result: + case T_ProjectSet: + case T_ModifyTable: + case T_Append: + case T_MergeAppend: + case T_RecursiveUnion: + case T_BitmapAnd: + case T_BitmapOr: + case T_SeqScan: + case T_SampleScan: + case T_IndexScan: + case T_IndexOnlyScan: + case T_BitmapIndexScan: + case T_BitmapHeapScan: + case T_TidScan: + case T_TidRangeScan: + case T_SubqueryScan: + case T_FunctionScan: + case T_ValuesScan: + case T_TableFuncScan: + case T_CteScan: + case T_NamedTuplestoreScan: + case T_WorkTableScan: + case T_ForeignScan: + case T_CustomScan: + case T_NestLoop: + case T_NestLoopParam: + case T_MergeJoin: + case T_HashJoin: + case T_Material: + case T_Memoize: + case T_Sort: + case T_IncrementalSort: + case T_Group: + case T_Agg: + case T_WindowAgg: + case T_Unique: + case T_Gather: + case T_GatherMerge: + case T_Hash: + case T_SetOp: + case T_LockRows: + case T_Limit: + case T_PlanRowMark: + case T_PartitionPruneInfo: + case T_PartitionedRelPruneInfo: + case T_PartitionPruneStepOp: + case T_PartitionPruneStepCombine: + case T_PlanInvalItem: + case T_ExprState: + case T_IndexInfo: + case T_ExprContext: + case T_ReturnSetInfo: + case T_ProjectionInfo: + case T_JunkFilter: + case T_OnConflictSetState: + case T_MergeActionState: + case T_ResultRelInfo: + case T_EState: + case T_WindowFuncExprState: + case T_SetExprState: + case T_SubPlanState: + case T_DomainConstraintState: + case T_ResultState: + case T_ProjectSetState: + case T_ModifyTableState: + case T_AppendState: + case T_MergeAppendState: + case T_RecursiveUnionState: + case T_BitmapAndState: + case T_BitmapOrState: + case T_ScanState: + case T_SeqScanState: + case T_SampleScanState: + case T_IndexScanState: + case T_IndexOnlyScanState: + case T_BitmapIndexScanState: + case T_BitmapHeapScanState: + case T_TidScanState: + case T_TidRangeScanState: + case T_SubqueryScanState: + case T_FunctionScanState: + case T_ValuesScanState: + case T_TableFuncScanState: + case T_CteScanState: + case T_NamedTuplestoreScanState: + case T_WorkTableScanState: + case T_ForeignScanState: + case T_CustomScanState: + case T_JoinState: + case T_NestLoopState: + case T_MergeJoinState: + case T_HashJoinState: + case T_MaterialState: + case T_MemoizeState: + case T_SortState: + case T_IncrementalSortState: + case T_GroupState: + case T_AggState: + case T_WindowAggState: + case T_UniqueState: + case T_GatherState: + case T_GatherMergeState: + case T_HashState: + case T_SetOpState: + case T_LockRowsState: + case T_LimitState: + case T_IndexAmRoutine: + case T_TableAmRoutine: + case T_TsmRoutine: + case T_EventTriggerData: + case T_TriggerData: + case T_TupleTableSlot: + case T_FdwRoutine: + case T_Bitmapset: + case T_ExtensibleNode: + case T_ErrorSaveContext: + case T_IdentifySystemCmd: + case T_BaseBackupCmd: + case T_CreateReplicationSlotCmd: + case T_DropReplicationSlotCmd: + case T_AlterReplicationSlotCmd: + case T_StartReplicationCmd: + case T_ReadReplicationSlotCmd: + case T_TimeLineHistoryCmd: + case T_UploadManifestCmd: + case T_SupportRequestSimplify: + case T_SupportRequestSelectivity: + case T_SupportRequestCost: + case T_SupportRequestRows: + case T_SupportRequestIndexCondition: + case T_SupportRequestWFuncMonotonic: + case T_SupportRequestOptimizeWindowClause: + case T_Integer: + case T_Float: + case T_Boolean: + case T_String: + case T_BitString: + case T_ForeignKeyCacheInfo: + case T_IntList: + case T_OidList: + case T_XidList: + case T_AllocSetContext: + case T_GenerationContext: + case T_SlabContext: + case T_BumpContext: + case T_TIDBitmap: + case T_WindowObjectData: + break; + } + + if (!pg_query_raw_tree_walker_supports(node)) + return false; + + return raw_expression_tree_walker(node, pg_query_summary_stmt_walk_impl, (void *) summary); +} diff --git a/parser/pg_query_summary_truncate.c b/parser/pg_query_summary_truncate.c new file mode 100644 index 00000000..4d67a91e --- /dev/null +++ b/parser/pg_query_summary_truncate.c @@ -0,0 +1,530 @@ +#include "pg_query.h" +#include "pg_query_internal.h" +#include "pg_query_summary.h" + +#include "nodes/pg_list.h" +#include "nodes/nodeFuncs.h" + +#include "mb/pg_wchar.h" + +enum TruncationAttr +{ + TRUNCATION_TARGET_LIST, + TRUNCATION_WHERE_CLAUSE, + TRUNCATION_VALUES_LISTS, + TRUNCATION_COLS, + TRUNCATION_CTE_QUERY, +}; + +typedef struct +{ + List *truncations; + int32_t depth; +} TruncationState; + +typedef struct +{ + enum TruncationAttr attr; + Node *node; + int32_t depth; + int32_t length; +} PossibleTruncation; + +static bool generate_possible_truncations(Node *tree, TruncationState * state); +static void apply_truncations(Summary * summary, Node *tree, TruncationState * state, int truncate_limit); +static int cmp_possible_truncations(const ListCell *a, const ListCell *b); + +static int32_t select_target_list_len(List *nodes); +static int32_t select_values_lists_len(List *nodes); +static int32_t update_target_list_len(List *nodes); +static int32_t where_clause_len(Node *node); +static int32_t cols_len(List *nodes); + +static ColumnRef *dummy_column(void); +static ResTarget *dummy_target(void); +static Node *dummy_select(List *targetList, Node *whereClause, List *valuesLists); +static Node *dummy_insert(List *cols); +static Node *dummy_update(List *targetList); + +static size_t deparse_stmt_len(Node *node); +static StringInfo deparse_raw_stmt_list(List *stmts); + +/* Given a walked parse tree and summary, store the truncated version in `summary`. */ +void +pg_query_summary_truncate(Summary * summary, Node *tree, int truncate_limit) +{ + TruncationState state = {NULL, 0}; + + StringInfo output = deparse_raw_stmt_list((List *) tree); + + if (output->len <= truncate_limit) + { + summary->truncated_query = output->data; + return; + } + + destroyStringInfo(output); + + generate_possible_truncations(tree, &state); + + list_sort(state.truncations, cmp_possible_truncations); + apply_truncations(summary, tree, &state, truncate_limit); +} + +static void +truncate_mbstr(char *mbstr, size_t max_chars) +{ + /* Determine the number of characters in mbstr. */ + int n_chars = pg_mbstrlen(mbstr); + + /* If we don't need to truncate the string, return immediately. */ + if (n_chars <= max_chars) + return; + + /* Determine how many bytes hold `max_chars - 3`. */ + int n_bytes = pg_mbcharcliplen(mbstr, n_chars, max_chars - 3); + + /* Actually truncate it. */ + strncpy(mbstr + n_bytes, "...", 4); + mbstr[n_bytes + 3] = '\0'; +} + +static void +add_truncation(TruncationState * state, enum TruncationAttr attr, + Node *node, int32_t length) +{ + /* Don't bother truncating if it won't become shorter. */ + if (length <= 3) + return; + + PossibleTruncation *truncation = palloc(sizeof(PossibleTruncation)); + + truncation->attr = attr; + truncation->node = node; + truncation->depth = state->depth; + truncation->length = length; + + state->truncations = lappend(state->truncations, truncation); +} + +static void +add_truncation_where_clause(TruncationState * state, Node *node, Node *whereClause) +{ + if (whereClause == NULL) + return; + + add_truncation(state, + TRUNCATION_WHERE_CLAUSE, + node, + where_clause_len(whereClause)); +} + +static bool +generate_possible_truncations(Node *node, TruncationState * state) +{ + if (node == NULL) + return false; + + switch (nodeTag(node)) + { + case T_RawStmt: + return generate_possible_truncations(castNode(RawStmt, node)->stmt, state); + + case T_SelectStmt: + { + SelectStmt *stmt = castNode(SelectStmt, node); + + if (stmt->targetList != NULL) + add_truncation(state, + TRUNCATION_TARGET_LIST, + node, + select_target_list_len(stmt->targetList)); + + add_truncation_where_clause(state, node, stmt->whereClause); + + if (stmt->valuesLists != NULL) + add_truncation(state, + TRUNCATION_VALUES_LISTS, + node, + select_values_lists_len(stmt->valuesLists)); + + break; + } + + case T_InsertStmt: + { + InsertStmt *stmt = castNode(InsertStmt, node); + + if (stmt->cols != NULL) + add_truncation(state, TRUNCATION_COLS, node, cols_len(stmt->cols)); + + break; + } + + case T_UpdateStmt: + { + UpdateStmt *stmt = castNode(UpdateStmt, node); + + if (stmt->targetList != NULL) + add_truncation(state, + TRUNCATION_TARGET_LIST, + node, + update_target_list_len(stmt->targetList)); + + add_truncation_where_clause(state, node, stmt->whereClause); + + break; + } + + case T_DeleteStmt: + { + DeleteStmt *stmt = castNode(DeleteStmt, node); + + add_truncation_where_clause(state, node, stmt->whereClause); + break; + } + + case T_CopyStmt: + { + CopyStmt *stmt = castNode(CopyStmt, node); + + add_truncation_where_clause(state, node, stmt->whereClause); + break; + } + + case T_IndexStmt: + { + IndexStmt *stmt = castNode(IndexStmt, node); + + add_truncation_where_clause(state, node, stmt->whereClause); + break; + } + + case T_RuleStmt: + { + RuleStmt *stmt = castNode(RuleStmt, node); + + add_truncation_where_clause(state, node, stmt->whereClause); + break; + } + + case T_CommonTableExpr: + { + CommonTableExpr *stmt = castNode(CommonTableExpr, node); + + if (stmt->ctequery != NULL) + { + size_t query_len = deparse_stmt_len((Node *) stmt->ctequery); + + add_truncation(state, + TRUNCATION_CTE_QUERY, + node, + query_len); + } + + break; + } + + case T_InferClause: + { + InferClause *stmt = castNode(InferClause, node); + + add_truncation_where_clause(state, node, stmt->whereClause); + break; + } + + case T_OnConflictClause: + { + OnConflictClause *stmt = castNode(OnConflictClause, node); + + if (stmt->targetList != NULL) + add_truncation(state, + TRUNCATION_TARGET_LIST, + node, + update_target_list_len(stmt->targetList)); + + add_truncation_where_clause(state, node, stmt->whereClause); + + break; + } + + default: + break; + } + + if (!pg_query_raw_tree_walker_supports(node)) + return false; + + int old_depth = state->depth; + + state->depth++; + + bool result = raw_expression_tree_walker(node, generate_possible_truncations, (void *) state); + + /* Restore old depth value, since the current node (or its parents) may */ + /* have sibling elements. */ + state->depth = old_depth; + + return result; +} + +static int +cmp_possible_truncations(const ListCell *a, const ListCell *b) +{ + const PossibleTruncation *pt_a = lfirst(a); + const PossibleTruncation *pt_b = lfirst(b); + + int depth_cmp = pt_b->depth - pt_a->depth; + + if (depth_cmp != 0) + return depth_cmp; + + return pt_b->length - pt_a->length; +} + +static void +global_replace(char *str, char *pattern, char *replacement) +{ + size_t plen = strlen(pattern); + size_t rlen = strlen(replacement); + char *s = str; + + Assert(plen >= rlen); + + while ((s = strstr(s, pattern)) != NULL) + { + memcpy(s, replacement, rlen); + + /* Shift remainder of the string if needed */ + if (plen > rlen) + memmove(s + rlen, s + plen, strlen(s + plen) + 1); + + s += rlen; + } +} + +static void +apply_truncations(Summary * summary, Node *tree, TruncationState * state, int truncation_limit) +{ + List *truncations = state->truncations; + StringInfo output = NULL; + ListCell *lc; + + foreach(lc, state->truncations) + { + PossibleTruncation *truncation = lfirst(lc); + + Node *node = truncation->node; + enum TruncationAttr attr = truncation->attr; + + if (IsA(node, SelectStmt) && attr == TRUNCATION_TARGET_LIST) + castNode(SelectStmt, node)->targetList = list_make1(dummy_target()); + else if (IsA(node, SelectStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(SelectStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, SelectStmt) && attr == TRUNCATION_VALUES_LISTS) + castNode(SelectStmt, node)->valuesLists = list_make1(list_make1(dummy_column())); + else if (IsA(node, UpdateStmt) && attr == TRUNCATION_TARGET_LIST) + castNode(UpdateStmt, node)->targetList = list_make1(dummy_target()); + else if (IsA(node, InsertStmt) && attr == TRUNCATION_COLS) + castNode(InsertStmt, node)->cols = list_make1(dummy_target()); + else if (IsA(node, UpdateStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(UpdateStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, DeleteStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(DeleteStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, CopyStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(CopyStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, IndexStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(IndexStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, RuleStmt) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(RuleStmt, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, CommonTableExpr) && attr == TRUNCATION_CTE_QUERY) + castNode(CommonTableExpr, node)->ctequery = dummy_select(NULL, (Node *) dummy_column(), NULL); + else if (IsA(node, InferClause) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(InferClause, node)->whereClause = (Node *) dummy_column(); + else if (IsA(node, OnConflictClause) && attr == TRUNCATION_TARGET_LIST) + castNode(OnConflictClause, node)->targetList = list_make1(dummy_target()); + else if (IsA(node, OnConflictClause) && attr == TRUNCATION_WHERE_CLAUSE) + castNode(OnConflictClause, node)->whereClause = (Node *) dummy_column(); + else + elog(ERROR, "apply_truncations() got unknown truncation type"); + + if (output) + destroyStringInfo(output); + output = deparse_raw_stmt_list((List *) tree); + + global_replace(output->data, "SELECT \"…\" AS \"…\"", "SELECT \"…\""); + global_replace(output->data, "SELECT WHERE \"…\"", "\"…\""); + global_replace(output->data, "\"…\"", "..."); + + if (strlen(output->data) <= truncation_limit) + { + summary->truncated_query = output->data; + return; + } + } + + if (!output) + output = deparse_raw_stmt_list((List *) tree); + + truncate_mbstr(output->data, truncation_limit); + summary->truncated_query = output->data; +} + +static ColumnRef * +dummy_column(void) +{ + ColumnRef *colref = makeNode(ColumnRef); + + colref->fields = list_make1(makeString(pstrdup("…"))); + colref->location = 0; + + return colref; +} + +static ResTarget * +dummy_target(void) +{ + ResTarget *target = makeNode(ResTarget); + + target->name = pstrdup("…"); + target->val = (Node *) dummy_column(); + + /* + * TODO:docs for ResTarget say "-1 if unknown"-- would that be more + * correct ? (see also, dummy_column()) + */ + target->location = 0; + + return target; +} + +static Node * +dummy_select(List *targetList, Node *whereClause, List *valuesLists) +{ + SelectStmt *stmt = makeNode(SelectStmt); + + stmt->targetList = targetList; + stmt->whereClause = whereClause; + stmt->valuesLists = valuesLists; + + return (Node *) stmt; +} + +static Node * +dummy_insert(List *cols) +{ + RangeVar *rv = makeNode(RangeVar); + + rv->relname = pstrdup("x"); + rv->inh = true; + rv->relpersistence = 'p'; + rv->location = 0; + + InsertStmt *stmt = makeNode(InsertStmt); + + stmt->relation = rv; + stmt->cols = cols; + stmt->override = 1; + + return (Node *) stmt; +} + +static Node * +dummy_update(List *targetList) +{ + RangeVar *rv = makeNode(RangeVar); + + rv->relname = pstrdup("x"); + rv->inh = true; + rv->relpersistence = 'p'; + rv->location = 0; + + UpdateStmt *stmt = makeNode(UpdateStmt); + + stmt->relation = rv; + stmt->targetList = targetList; + + return (Node *) stmt; +} + +static int32_t +select_target_list_len(List *nodes) +{ + size_t result_len = deparse_stmt_len(dummy_select(nodes, NULL, NULL)); + size_t dummy_len = 7; /* "SELECT " */ + + return (int32_t) result_len - dummy_len; +} + +static int32_t +select_values_lists_len(List *nodes) +{ + size_t result_len = deparse_stmt_len(dummy_select(NULL, NULL, nodes)); + size_t dummy_len = 9; /* "VALUES ()" */ + + return (int32_t) result_len - dummy_len; +} + +static int32_t +update_target_list_len(List *nodes) +{ + size_t result_len = deparse_stmt_len(dummy_update(nodes)); + size_t dummy_len = 13; /* "UPDATE x SET " */ + + return (int32_t) result_len - dummy_len; +} + +static int32_t +where_clause_len(Node *node) +{ + size_t result_len = deparse_stmt_len(dummy_select(NULL, node, NULL)); + size_t dummy_len = 13; /* "SELECT WHERE " */ + + return (int32_t) result_len - dummy_len; +} + +static int32_t +cols_len(List *nodes) +{ + size_t result_len = deparse_stmt_len(dummy_insert(nodes)); + size_t dummy_len = 31; /* "INSERT INTO x () DEFAULT VALUES" */ + + return (int32_t) result_len - dummy_len; +} + +static size_t +deparse_stmt_len(Node *node) +{ + if (!IsA(node, RawStmt)) + { + RawStmt *raw = makeNode(RawStmt); + + raw->stmt = node; + raw->stmt_location = -1; + raw->stmt_len = 0; + node = (Node *) raw; + } + + StringInfo str = deparse_raw_stmt_list(list_make1(node)); + size_t len = str->len; + + destroyStringInfo(str); + return len; +} + +static StringInfo +deparse_raw_stmt_list(List *stmts) +{ + PostgresDeparseOpts opts = {0}; + StringInfo str = makeStringInfo(); + ListCell *lc; + + foreach(lc, stmts) + { + deparseRawStmtOpts(str, castNode(RawStmt, lfirst(lc)), opts); + if (lnext(stmts, lc)) + appendStringInfoString(str, "; "); + } + + return str; +} diff --git a/parser/postgres_deparse.c b/parser/postgres_deparse.c new file mode 100644 index 00000000..9d8e1ea0 --- /dev/null +++ b/parser/postgres_deparse.c @@ -0,0 +1,12107 @@ +#include "postgres_deparse.h" + +#include "postgres.h" +#include "catalog/index.h" +#include "catalog/pg_am.h" +#include "catalog/pg_attribute.h" +#include "catalog/pg_class.h" +#include "catalog/pg_trigger.h" +#include "commands/trigger.h" +#include "common/keywords.h" +#include "common/kwlookup.h" +#include "lib/stringinfo.h" +#include "nodes/nodes.h" +#include "nodes/parsenodes.h" +#include "nodes/pg_list.h" +#include "utils/builtins.h" +#include "utils/datetime.h" +#include "utils/timestamp.h" +#include "utils/xml.h" + +/* + * # Deparser overview + * + * The deparser works by walking the input parse tree and emitting into the + * currently active "part" as pointed to (indirectly) by the state struct. + * + * A lot of the structure of the deparser described below is meant to support + * the optional "pretty print" mode that can be enabled and configured through + * the deparser options, and inserts whitespace (newlines/spaces) as needed to + * make the output easier to read. + * + * ## Nesting levels + * + * Starting at the state struct we have a currently active "nesting level", + * which indicates the base indentation, as well as contains one or more part + * groups, each of which has one or more parts. + * + * Nesting levels are typically opened, or "increased", when processing a new + * statement contained within other statements, or for certain statement-like + * constructs (e.g. CASE clauses) that require custom indendation. + * + * Nesting levels are closed, or "decreased", when exiting such statements or + * statement-like constructs. During this operation all parts and subparts get + * flattened (turned into a simple list of parts), and are added to the parent + * nesting level. + * + * At the end of the tree walk the parts of the top most nesting level get + * emitted into the output string, formatted based on the deparse options. + * + * ## Part groups + * + * Part groups are usually started for each "major" keyword, which is chosen + * for how the output is intended to be laid out. For example, the "FROM" + * keyword in a SELECT statement is considered "major" and starts a new part + * group, vs the "JOIN" keyword is not, and as such both regular tables and + * JOIN clauses will be within one part group. + * + * ## Parts, indentation and merging + * + * The parts contained in part groups may be indented one additional level + * beyond the base indentation of the currently active nesting level, to help + * differentiate them from the major keywords. This can be turned off with + * DEPARSE_PART_NO_INDENT, for example as needed to format WITH clauses + * effectively. + * + * Parts may be merged with other parts within the same group, if the indent + * mode is set to DEPARSE_PART_INDENT_AND_MERGE. This is utilized to put + * certain items, for example the target list items in SELECT on one or more + * lines, breaking at separators as needed to respect the maximum line limit. + * + * ## Node context + * + * Node context is used when the same function in the deparser needs to behave + * differently depending on the parent node. For example, a SELECT statement + * needs wrapping parenthesis in certain situations where the parent statement + * uses a set operation (e.g. UNION). + * + * ## Comments + * + * Comments do not exist as nodes in a Postgres parse tree, and as such need to + * be passed in separately through the deparser options. They are placed in the + * output on a best effort basis, by matching against node locations. Comments + * will only be output at most once, but may not be output at all in certain + * cases, for example when the comment's specified match location is never + * reached by any of the nodes visited. + */ + +typedef enum DeparseNodeContext { + DEPARSE_NODE_CONTEXT_NONE, + // Parent node type (and sometimes field) + DEPARSE_NODE_CONTEXT_INSERT_RELATION, + DEPARSE_NODE_CONTEXT_INSERT_SELECT, + DEPARSE_NODE_CONTEXT_A_EXPR, + DEPARSE_NODE_CONTEXT_CREATE_TYPE, + DEPARSE_NODE_CONTEXT_ALTER_TYPE, + DEPARSE_NODE_CONTEXT_SET_STATEMENT, + DEPARSE_NODE_CONTEXT_FUNC_EXPR, + DEPARSE_NODE_CONTEXT_SELECT_SETOP, + DEPARSE_NODE_CONTEXT_SELECT_SORT_CLAUSE, + // Identifier vs constant context + DEPARSE_NODE_CONTEXT_IDENTIFIER, + DEPARSE_NODE_CONTEXT_CONSTANT +} DeparseNodeContext; + +typedef enum DeparsePartIndentMode { + /* Don't indent parts at all, used in special cases (e.g. WITH clauses) */ + DEPARSE_PART_NO_INDENT, + + /* Indent parts but don't merge them (keep each on their own line) */ + DEPARSE_PART_INDENT, + + /* Indent parts and merge them together up to the max line length */ + DEPARSE_PART_INDENT_AND_MERGE +} DeparsePartIndentMode; + +// Each part is typically one line to be emitted in pretty print mode +typedef struct DeparseStatePart +{ + StringInfo str; + + /* If this gets emitted as its own line, number of spaces to be added as indentation */ + int indent; + + /* Allow merging this part with adjacent parts that are marked as mergeable */ + bool mergeable; +} DeparseStatePart; + +// A part group are typically all parts associated with a major keyword +typedef struct DeparseStatePartGroup +{ + const char *keyword; + List *parts; + DeparsePartIndentMode indent_mode; +} DeparseStatePartGroup; + +// Nesting levels may be statements, or complex parts of statements that should be indented (e.g. CASE) +typedef struct DeparseStateNestingLevel +{ + /* List of DeparseStatePartGroup items */ + List *part_groups; + + /* Add this much indentation to every part */ + int base_indent; +} DeparseStateNestingLevel; + +typedef struct DeparseState +{ + DeparseStateNestingLevel *current; + + /* List of DeparseStatePart items */ + List *result_parts; + + /* Deparse options originally passed in */ + PostgresDeparseOpts opts; + + /* Set of indexes of comments already placed in the output query */ + Bitmapset *emitted_comments; +} DeparseState; + +static void deparseSelectStmt(DeparseState *state, SelectStmt *stmt, DeparseNodeContext context); +static void deparseIntoClause(DeparseState *state, IntoClause *into_clause); +static void deparseRangeVar(DeparseState *state, RangeVar *range_var, DeparseNodeContext context); +static void deparseResTarget(DeparseState *state, ResTarget *res_target, DeparseNodeContext context); +static void deparseAlias(DeparseState *state, Alias *alias); +static void deparseWindowDef(DeparseState *state, WindowDef* window_def); +static void deparseColumnRef(DeparseState *state, ColumnRef* column_ref); +static void deparseSubLink(DeparseState *state, SubLink* sub_link); +static void deparseAExpr(DeparseState *state, A_Expr* a_expr, DeparseNodeContext context); +static void deparseBoolExpr(DeparseState *state, BoolExpr *bool_expr); +static void deparseAStar(DeparseState *state, A_Star* a_star); +static void deparseCollateClause(DeparseState *state, CollateClause* collate_clause); +static void deparseSortBy(DeparseState *state, SortBy* sort_by); +static void deparseParamRef(DeparseState *state, ParamRef* param_ref); +static void deparseSQLValueFunction(DeparseState *state, SQLValueFunction* sql_value_function); +static void deparseWithClause(DeparseState *state, WithClause *with_clause); +static void deparseJoinExpr(DeparseState *state, JoinExpr *join_expr); +static void deparseCommonTableExpr(DeparseState *state, CommonTableExpr *cte); +static void deparseRangeSubselect(DeparseState *state, RangeSubselect *range_subselect); +static void deparseRangeFunction(DeparseState *state, RangeFunction *range_func); +static void deparseAArrayExpr(DeparseState *state, A_ArrayExpr * array_expr); +static void deparseRowExpr(DeparseState *state, RowExpr *row_expr); +static void deparseTypeCast(DeparseState *state, TypeCast *type_cast, DeparseNodeContext context); +static void deparseTypeName(DeparseState *state, TypeName *type_name); +static void deparseIntervalTypmods(DeparseState *state, TypeName *type_name); +static void deparseNullTest(DeparseState *state, NullTest *null_test); +static void deparseCaseExpr(DeparseState *state, CaseExpr *case_expr); +static void deparseCaseWhen(DeparseState *state, CaseWhen *case_when); +static void deparseAIndirection(DeparseState *state, A_Indirection *a_indirection); +static void deparseAIndices(DeparseState *state, A_Indices *a_indices); +static void deparseCoalesceExpr(DeparseState *state, CoalesceExpr *coalesce_expr); +static void deparseBooleanTest(DeparseState *state, BooleanTest *boolean_test); +static void deparseColumnDef(DeparseState *state, ColumnDef *column_def); +static void deparseInsertStmt(DeparseState *state, InsertStmt *insert_stmt); +static void deparseOnConflictClause(DeparseState *state, OnConflictClause *on_conflict_clause); +static void deparseIndexElem(DeparseState *state, IndexElem* index_elem); +static void deparseUpdateStmt(DeparseState *state, UpdateStmt *update_stmt); +static void deparseDeleteStmt(DeparseState *state, DeleteStmt *delete_stmt); +static void deparseLockingClause(DeparseState *state, LockingClause *locking_clause); +static void deparseSetToDefault(DeparseState *state, SetToDefault *set_to_default); +static void deparseCreateCastStmt(DeparseState *state, CreateCastStmt *create_cast_stmt); +static void deparseCreateDomainStmt(DeparseState *state, CreateDomainStmt *create_domain_stmt); +static void deparseFunctionParameter(DeparseState *state, FunctionParameter *function_parameter); +static void deparseRoleSpec(DeparseState *state, RoleSpec *role_spec); +static void deparseViewStmt(DeparseState *state, ViewStmt *view_stmt); +static void deparseVariableSetStmt(DeparseState *state, VariableSetStmt* variable_set_stmt); +static void deparseReplicaIdentityStmt(DeparseState *state, ReplicaIdentityStmt *replica_identity_stmt); +static void deparseRangeTableSample(DeparseState *state, RangeTableSample *range_table_sample); +static void deparseRangeTableFunc(DeparseState *state, RangeTableFunc* range_table_func); +static void deparseGroupingSet(DeparseState *state, GroupingSet *grouping_set); +static void deparseFuncCall(DeparseState *state, FuncCall *func_call, DeparseNodeContext context); +static void deparseMinMaxExpr(DeparseState *state, MinMaxExpr *min_max_expr); +static void deparseXmlExpr(DeparseState *state, XmlExpr* xml_expr, DeparseNodeContext context); +static void deparseXmlSerialize(DeparseState *state, XmlSerialize *xml_serialize); +static void deparseJsonIsPredicate(DeparseState *state, JsonIsPredicate *json_is_predicate); +static void deparseJsonObjectAgg(DeparseState *state, JsonObjectAgg *json_object_agg); +static void deparseJsonArrayAgg(DeparseState *state, JsonArrayAgg *json_array_agg); +static void deparseJsonObjectConstructor(DeparseState *state, JsonObjectConstructor *json_object_constructor); +static void deparseJsonArrayConstructor(DeparseState *state, JsonArrayConstructor *json_array_constructor); +static void deparseJsonArrayQueryConstructor(DeparseState *state, JsonArrayQueryConstructor *json_array_query_constructor); +static void deparseJsonValueExpr(DeparseState *state, JsonValueExpr *json_value_expr); +static void deparseJsonOutput(DeparseState *state, JsonOutput *json_output); +static void deparseJsonParseExpr(DeparseState *state, JsonParseExpr *json_parse_expr); +static void deparseJsonScalarExpr(DeparseState *state, JsonScalarExpr *json_scalar_expr); +static void deparseJsonSerializeExpr(DeparseState *state, JsonSerializeExpr *json_serialize_expr); +static void deparseJsonTable(DeparseState *state, JsonTable *json_table); +static void deparseJsonTableColumn(DeparseState *state, JsonTableColumn *json_table_column); +static void deparseJsonTableColumns(DeparseState *state, List *json_table_columns); +static void deparseJsonTablePathSpec(DeparseState *state, JsonTablePathSpec *json_table_path_spec); +static void deparseJsonBehavior(DeparseState *state, JsonBehavior *json_behavior); +static void deparseJsonFuncExpr(DeparseState *state, JsonFuncExpr *json_func_expr); +static void deparseJsonQuotesClauseOpt(DeparseState *state, JsonQuotes quotes); +static void deparseJsonOnErrorClauseOpt(DeparseState *state, JsonBehavior *behavior); +static void deparseJsonOnEmptyClauseOpt(DeparseState *state, JsonBehavior *behavior); +static void deparseConstraint(DeparseState *state, Constraint *constraint); +static void deparseSchemaStmt(DeparseState *state, Node *node); +static void deparseExecuteStmt(DeparseState *state, ExecuteStmt *execute_stmt); +static void deparseTriggerTransition(DeparseState *state, TriggerTransition *trigger_transition); +static void deparseCreateOpClassItem(DeparseState *state, CreateOpClassItem *create_op_class_item); +static void deparseAConst(DeparseState *state, A_Const *a_const); +static void deparseGroupingFunc(DeparseState *state, GroupingFunc *grouping_func); + +static void deparsePreparableStmt(DeparseState *state, Node *node); +static void deparseRuleActionStmt(DeparseState *state, Node *node); +static void deparseExplainableStmt(DeparseState *state, Node *node); +static void deparseStmt(DeparseState *state, Node *node); +static void deparseValue(DeparseState *state, union ValUnion *value, DeparseNodeContext context); + +static void +removeTrailingSpaceFromStr(StringInfo str) +{ + if (str->len >= 1 && str->data[str->len - 1] == ' ') { + str->len -= 1; + str->data[str->len] = '\0'; + } +} + +// Check whether the value is a reserved keyword, to determine escaping for output +// +// Note that since the parser lowercases all keywords, this does *not* match when the +// value is not all-lowercase and a reserved keyword. +static bool +isReservedKeyword(const char *val) +{ + int kwnum = ScanKeywordLookup(val, &ScanKeywords); + bool all_lower_case = true; + const char *cp; + + for (cp = val; *cp; cp++) + { + if (!( + (*cp >= 'a' && *cp <= 'z') || + (*cp >= '0' && *cp <= '9') || + (*cp == '_'))) + { + all_lower_case = false; + break; + } + } + + return all_lower_case && kwnum >= 0 && ScanKeywordCategories[kwnum] == RESERVED_KEYWORD; +} + +// Returns whether the given value consists only of operator characters +static bool +isOp(const char *val) +{ + const char *cp; + + Assert(strlen(val) > 0); + + for (cp = val; *cp; cp++) + { + if (!( + *cp == '~' || + *cp == '!' || + *cp == '@' || + *cp == '#' || + *cp == '^' || + *cp == '&' || + *cp == '|' || + *cp == '`' || + *cp == '?' || + *cp == '+' || + *cp == '-' || + *cp == '*' || + *cp == '/' || + *cp == '%' || + *cp == '<' || + *cp == '>' || + *cp == '=')) + return false; + } + + return true; +} + +static DeparseStatePart * +makeDeparseStatePart(DeparseState *state, DeparseStateNestingLevel *level, DeparsePartIndentMode indent_mode) +{ + DeparseStatePart *part = palloc(sizeof(DeparseStatePart)); + part->str = makeStringInfo(); + part->indent = level->base_indent; + if (indent_mode != DEPARSE_PART_NO_INDENT) + part->indent += state->opts.indent_size; + part->mergeable = indent_mode == DEPARSE_PART_INDENT_AND_MERGE; + return part; +} + +static void +freeDeparseStatePart(DeparseStatePart *part) +{ + pfree(part->str->data); + pfree(part->str); + pfree(part); +} + +// Returns current active part group, and initializes the first one (including an empty part) if needed +static DeparseStatePartGroup * +deparseGetCurrentPartGroup(DeparseState *state) +{ + DeparseStateNestingLevel *level = state->current; + if (level->part_groups) + return (DeparseStatePartGroup *) llast(level->part_groups); + + DeparseStatePartGroup *part_group = palloc0(sizeof(DeparseStatePartGroup)); + part_group->parts = lappend(part_group->parts, makeDeparseStatePart(state, level, part_group->indent_mode)); + level->part_groups = lappend(level->part_groups, part_group); + return part_group; +} + +static DeparseStatePart * +deparseGetCurrentPart(DeparseState *state) +{ + DeparseStatePartGroup *part_group = deparseGetCurrentPartGroup(state); + return (DeparseStatePart *) llast(part_group->parts); +} + +static void +deparseMarkCurrentPartNonMergable(DeparseState *state) +{ + DeparseStatePart *part = deparseGetCurrentPart(state); + part->mergeable = false; +} + +static StringInfo deparseGetCurrentStringInfo(DeparseState *state) +{ + DeparseStatePart *part = deparseGetCurrentPart(state); + Assert(part != NULL); + return part->str; +} + +static void deparseAppendStringInfo(DeparseState *state, const char *fmt,...) +{ + StringInfo str = deparseGetCurrentStringInfo(state); + int save_errno = errno; + + for (;;) + { + va_list args; + int needed; + + /* Try to format the data. */ + errno = save_errno; + va_start(args, fmt); + needed = appendStringInfoVA(str, fmt, args); + va_end(args); + + if (needed == 0) + break; /* success */ + + /* Increase the buffer size and try again. */ + enlargeStringInfo(str, needed); + } +} + +static void deparseAppendStringInfoString(DeparseState *state, const char *s) +{ + StringInfo str = deparseGetCurrentStringInfo(state); + appendStringInfoString(str, s); +} + +static void deparseAppendStringInfoChar(DeparseState *state, char ch) +{ + StringInfo str = deparseGetCurrentStringInfo(state); + appendStringInfoChar(str, ch); +} + +static void +removeTrailingSpace(DeparseState *state) +{ + StringInfo str = deparseGetCurrentStringInfo(state); + removeTrailingSpaceFromStr(str); +} + +static void +deparseRemoveTrailingEmptyPart(DeparseState *state) +{ + DeparseStatePartGroup *part_group = deparseGetCurrentPartGroup(state); + DeparseStatePart *last_part = deparseGetCurrentPart(state); + + if (last_part->str->len == 0) + { + freeDeparseStatePart(last_part); + part_group->parts = list_delete_last(part_group->parts); + } +} + +static void +deparseAppendPart(DeparseState *state, bool deduplicate) +{ + DeparseStatePartGroup *part_group = deparseGetCurrentPartGroup(state); + + // Remove previous part if its empty and we deduplicate. We don't keep + // the existing part since it may have the wrong indent level or mode. + if (deduplicate) + deparseRemoveTrailingEmptyPart(state); + + part_group->parts = lappend(part_group->parts, makeDeparseStatePart(state, state->current, part_group->indent_mode)); +} + +static void +deparseAppendCommaAndPart(DeparseState *state) +{ + if (state->opts.commas_start_of_line) + { + deparseAppendPart(state, true); + deparseAppendStringInfoString(state, ", "); + } + else + { + deparseAppendStringInfoChar(state, ','); + deparseAppendPart(state, true); + } +} + +static void +deparseAppendPartGroup(DeparseState *state, const char *keyword, DeparsePartIndentMode indent_mode) +{ + DeparseStateNestingLevel *level = state->current; + DeparseStatePartGroup *part_group = palloc0(sizeof(DeparseStatePartGroup)); + + if (list_length(level->part_groups) > 0) + removeTrailingSpace(state); + + part_group->keyword = keyword; + part_group->parts = lappend(part_group->parts, makeDeparseStatePart(state, state->current, indent_mode)); + part_group->indent_mode = indent_mode; + + level->part_groups = lappend(level->part_groups, part_group); +} + +static void +deparseAppendCommentsIfNeeded(DeparseState *state, ParseLoc location) +{ + for (int i = 0; i < state->opts.comment_count; i++) + { + if (bms_is_member(i, state->emitted_comments)) + continue; + + PostgresDeparseComment *comment = state->opts.comments[i]; + if (comment->match_location > location) + continue; + + // Emit one less leading newline if we already emitted one for formatting reasons + int newlines_before_comment = comment->newlines_before_comment; + if (state->opts.pretty_print && newlines_before_comment > 0 && + deparseGetCurrentPartGroup(state)->keyword != NULL && + deparseGetCurrentStringInfo(state)->len == 0) + newlines_before_comment -= 1; + + for (int j = 0; j < newlines_before_comment; j++) + { + if (state->opts.pretty_print) + deparseAppendPart(state, false); + else + deparseAppendStringInfoChar(state, '\n'); + } + + deparseAppendStringInfoString(state, comment->str); + + /* never merge comments with other parts */ + deparseMarkCurrentPartNonMergable(state); + + for (int j = 0; j < comment->newlines_after_comment; j++) + { + if (state->opts.pretty_print) + deparseAppendPart(state, false); + else + deparseAppendStringInfoChar(state, '\n'); + } + + state->emitted_comments = bms_add_member(state->emitted_comments, i); + } +} + +static void +deparseEmit(DeparseState *state, StringInfo str) +{ + ListCell *lc; + + /* If the last part is empty, drop it, so we don't confuse the newline output */ + DeparseStatePart *last_part = (DeparseStatePart *) llast(state->result_parts); + if (last_part && last_part->str->len == 0) + { + freeDeparseStatePart(last_part); + state->result_parts = list_delete_last(state->result_parts); + } + + foreach (lc, state->result_parts) + { + DeparseStatePart *part = (DeparseStatePart *) lfirst(lc); + bool last_part = list_cell_number(state->result_parts, lc) == list_length(state->result_parts) - 1; + + if (!state->opts.pretty_print && part->str->len > 0 && (part->str->data[0] == ')' || part->str->data[0] == ';')) + removeTrailingSpaceFromStr(str); + + if (state->opts.pretty_print) + { + for (int i = 0; i < part->indent; i++) + appendStringInfoChar(str, ' '); + } + + appendStringInfoString(str, part->str->data); + removeTrailingSpaceFromStr(str); + + if (!last_part) + { + if (state->opts.pretty_print) + appendStringInfoChar(str, '\n'); + else if (str->data[str->len - 1] != '(') + appendStringInfoChar(str, ' '); + } + + freeDeparseStatePart(part); + } + list_free(state->result_parts); + state->result_parts = NIL; + + if (state->opts.pretty_print && state->opts.trailing_newline) + appendStringInfoChar(str, '\n'); +} + +static DeparseStateNestingLevel * +deparseStateIncreaseNestingLevel(DeparseState *state) +{ + DeparseStateNestingLevel *parent = state->current; + DeparseStateNestingLevel *level = palloc0(sizeof(DeparseStateNestingLevel)); + if (parent) + { + DeparseStatePartGroup *part_group = deparseGetCurrentPartGroup(state); + level->base_indent = parent->base_indent + state->opts.indent_size; + if (part_group->indent_mode != DEPARSE_PART_NO_INDENT) /* Indent again if parts next to us are also indented */ + level->base_indent += state->opts.indent_size; + + /* Parts with nested elements don't get merged, even if otherwise permitted */ + deparseMarkCurrentPartNonMergable(state); + } + state->current = level; + return parent; +} + +static void +deparseStateDecreaseNestingLevel(DeparseState *state, DeparseStateNestingLevel *parent_level) +{ + ListCell *lc; + ListCell *lc2; + DeparseStateNestingLevel *level = state->current; + Assert(level != NULL); + + foreach (lc, level->part_groups) + { + DeparseStatePartGroup *part_group = (DeparseStatePartGroup *) lfirst(lc); + + /* Merge parts */ + if (part_group->indent_mode == DEPARSE_PART_INDENT_AND_MERGE && list_length(part_group->parts) > 1) + { + DeparseStatePart *target = (DeparseStatePart *) linitial(part_group->parts); + for_each_from (lc2, part_group->parts, 1) + { + DeparseStatePart *part = (DeparseStatePart *) lfirst(lc2); + removeTrailingSpaceFromStr(target->str); + if (target->mergeable && part->mergeable && + target->indent + target->str->len + 1 + part->str->len <= state->opts.max_line_length) + { + if (target->str->len > 0 && target->str->data[target->str->len - 1] != '(') + appendStringInfoChar(target->str, ' '); + appendStringInfoString(target->str, part->str->data); + freeDeparseStatePart(part); + part_group->parts = foreach_delete_current(part_group->parts, lc2); + } + else + { + target = part; + } + } + } + + if (part_group->keyword != NULL) + { + DeparseStatePart *target = makeDeparseStatePart(state, level, false); + appendStringInfoString(target->str, part_group->keyword); + part_group->parts = list_insert_nth(part_group->parts, 0, target); + + if (list_length(part_group->parts) == 2 || part_group->indent_mode == DEPARSE_PART_NO_INDENT) + { + DeparseStatePart *part = (DeparseStatePart *) lsecond(part_group->parts); + if (part->str->len > 0) + appendStringInfo(target->str, " %s", part->str->data); + freeDeparseStatePart(part); + part_group->parts = list_delete_nth_cell(part_group->parts, 1); + } + } + + if (parent_level) + { + DeparseStatePartGroup *parent_part_group = (DeparseStatePartGroup *) llast(parent_level->part_groups); + parent_part_group->parts = list_concat(parent_part_group->parts, part_group->parts); + } + else + { + // If its the top level, save as results instead + state->result_parts = list_concat(state->result_parts, part_group->parts); + } + + list_free(part_group->parts); + pfree(part_group); + } + list_free(level->part_groups); + pfree(level); + + state->current = parent_level; + + if (parent_level) + { + /* Make sure parent statement writes that follow are on their own line */ + deparseAppendPart(state, true); + + /* Parts with nested elements don't get merged, even if otherwise permitted */ + deparseMarkCurrentPartNonMergable(state); + } +} + +/* + * Append a SQL string literal representing "val" to buf. + * + * Copied here from postgres_fdw/deparse.c to avoid adding + * many additional dependencies, and modified to work with deparser + * state. + */ +static void +deparseStringLiteral(DeparseState *state, const char *val) +{ + const char *valptr; + + /* + * Rather than making assumptions about the remote server's value of + * standard_conforming_strings, always use E'foo' syntax if there are any + * backslashes. This will fail on remote servers before 8.1, but those + * are long out of support. + */ + if (strchr(val, '\\') != NULL) + deparseAppendStringInfoChar(state, ESCAPE_STRING_SYNTAX); + deparseAppendStringInfoChar(state, '\''); + for (valptr = val; *valptr; valptr++) + { + char ch = *valptr; + + if (SQL_STR_DOUBLE(ch, true)) + deparseAppendStringInfoChar(state, ch); + deparseAppendStringInfoChar(state, ch); + } + deparseAppendStringInfoChar(state, '\''); +} + +// "any_name" in gram.y +static void deparseAnyName(DeparseState *state, List *parts) +{ + ListCell *lc = NULL; + + foreach(lc, parts) + { + Assert(IsA(lfirst(lc), String)); + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (lnext(parts, lc)) + deparseAppendStringInfoChar(state, '.'); + } +} +static void deparseAnyNameSkipFirst(DeparseState *state, List *parts) +{ + ListCell *lc = NULL; + + for_each_from(lc, parts, 1) + { + Assert(IsA(lfirst(lc), String)); + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (lnext(parts, lc)) + deparseAppendStringInfoChar(state, '.'); + } +} +static void deparseAnyNameSkipLast(DeparseState *state, List *parts) +{ + ListCell *lc = NULL; + + foreach (lc, parts) + { + if (lnext(parts, lc)) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (foreach_current_index(lc) < list_length(parts) - 2) + deparseAppendStringInfoChar(state, '.'); + } + } +} + +// "func_expr" in gram.y +static void deparseFuncExpr(DeparseState *state, Node *node, DeparseNodeContext context) +{ + switch (nodeTag(node)) + { + case T_FuncCall: + deparseFuncCall(state, castNode(FuncCall, node), context); + break; + case T_SQLValueFunction: + deparseSQLValueFunction(state, castNode(SQLValueFunction, node)); + break; + case T_MinMaxExpr: + deparseMinMaxExpr(state, castNode(MinMaxExpr, node)); + break; + case T_CoalesceExpr: + deparseCoalesceExpr(state, castNode(CoalesceExpr, node)); + break; + case T_XmlExpr: + deparseXmlExpr(state, castNode(XmlExpr, node), context); + break; + case T_XmlSerialize: + deparseXmlSerialize(state, castNode(XmlSerialize, node)); + break; + case T_JsonObjectAgg: + deparseJsonObjectAgg(state, castNode(JsonObjectAgg, node)); + break; + case T_JsonArrayAgg: + deparseJsonArrayAgg(state, castNode(JsonArrayAgg, node)); + break; + case T_JsonObjectConstructor: + deparseJsonObjectConstructor(state, castNode(JsonObjectConstructor, node)); + break; + case T_JsonArrayConstructor: + deparseJsonArrayConstructor(state, castNode(JsonArrayConstructor, node)); + break; + case T_JsonArrayQueryConstructor: + deparseJsonArrayQueryConstructor(state, castNode(JsonArrayQueryConstructor, node)); + break; + default: + elog(ERROR, "deparse: unpermitted node type in func_expr: %d", + (int) nodeTag(node)); + break; + } +} + +static void deparseCExpr(DeparseState *state, Node *node); + +// "a_expr" in gram.y +static void deparseExpr(DeparseState *state, Node *node, DeparseNodeContext context) +{ + if (node == NULL) + return; + switch (nodeTag(node)) + { + case T_ColumnRef: + case T_A_Const: + case T_ParamRef: + case T_A_Indirection: + case T_CaseExpr: + case T_SubLink: + case T_A_ArrayExpr: + case T_RowExpr: + case T_GroupingFunc: + deparseCExpr(state, node); + break; + case T_TypeCast: + deparseTypeCast(state, castNode(TypeCast, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_CollateClause: + deparseCollateClause(state, castNode(CollateClause, node)); + break; + case T_A_Expr: + deparseAExpr(state, castNode(A_Expr, node), DEPARSE_NODE_CONTEXT_A_EXPR); + break; + case T_BoolExpr: + deparseBoolExpr(state, castNode(BoolExpr, node)); + break; + case T_NullTest: + deparseNullTest(state, castNode(NullTest, node)); + break; + case T_BooleanTest: + deparseBooleanTest(state, castNode(BooleanTest, node)); + break; + case T_JsonIsPredicate: + deparseJsonIsPredicate(state, castNode(JsonIsPredicate, node)); + break; + case T_SetToDefault: + deparseSetToDefault(state, castNode(SetToDefault, node)); + break; + case T_MergeSupportFunc: + deparseAppendStringInfoString(state, "merge_action() "); + break; + case T_JsonParseExpr: + deparseJsonParseExpr(state, castNode(JsonParseExpr, node)); + break; + case T_JsonScalarExpr: + deparseJsonScalarExpr(state, castNode(JsonScalarExpr, node)); + break; + case T_JsonSerializeExpr: + deparseJsonSerializeExpr(state, castNode(JsonSerializeExpr, node)); + break; + case T_JsonFuncExpr: + deparseJsonFuncExpr(state, castNode(JsonFuncExpr, node)); + break; + case T_FuncCall: + case T_SQLValueFunction: + case T_MinMaxExpr: + case T_CoalesceExpr: + case T_XmlExpr: + case T_XmlSerialize: + case T_JsonObjectAgg: + case T_JsonArrayAgg: + case T_JsonObjectConstructor: + case T_JsonArrayConstructor: + case T_JsonArrayQueryConstructor: + deparseFuncExpr(state, node, context); + break; + default: + // Note that this is also the fallthrough for deparseBExpr and deparseCExpr + elog(ERROR, "deparse: unpermitted node type in a_expr/b_expr/c_expr: %d", + (int) nodeTag(node)); + break; + } +} + +// "b_expr" in gram.y +static void deparseBExpr(DeparseState *state, Node *node) +{ + if (IsA(node, XmlExpr)) { + deparseXmlExpr(state, castNode(XmlExpr, node), DEPARSE_NODE_CONTEXT_NONE); + return; + } + + if (IsA(node, A_Expr)) { + A_Expr *a_expr = castNode(A_Expr, node); + // Other kinds are handled by "c_expr", with parens added around them + if (a_expr->kind == AEXPR_OP || a_expr->kind == AEXPR_DISTINCT || a_expr->kind == AEXPR_NOT_DISTINCT) { + deparseAExpr(state, a_expr, DEPARSE_NODE_CONTEXT_NONE); + return; + } + } + + if (IsA(node, BoolExpr)) { + BoolExpr *bool_expr = castNode(BoolExpr, node); + if (bool_expr->boolop == NOT_EXPR) { + deparseBoolExpr(state, bool_expr); + return; + } + } + + deparseCExpr(state, node); +} + +// "AexprConst" in gram.y +static void deparseAexprConst(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_A_Const: + deparseAConst(state, castNode(A_Const, node)); + break; + case T_TypeCast: + deparseTypeCast(state, castNode(TypeCast, node), DEPARSE_NODE_CONTEXT_NONE); + break; + default: + elog(ERROR, "deparse: unpermitted node type in AexprConst: %d", + (int) nodeTag(node)); + break; + } +} + +// "c_expr" in gram.y +static void deparseCExpr(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_ColumnRef: + deparseColumnRef(state, castNode(ColumnRef, node)); + break; + case T_A_Const: + deparseAConst(state, castNode(A_Const, node)); + break; + case T_ParamRef: + deparseParamRef(state, castNode(ParamRef, node)); + break; + case T_A_Indirection: + deparseAIndirection(state, castNode(A_Indirection, node)); + break; + case T_CaseExpr: + deparseCaseExpr(state, castNode(CaseExpr, node)); + break; + case T_SubLink: + deparseSubLink(state, castNode(SubLink, node)); + break; + case T_A_ArrayExpr: + deparseAArrayExpr(state, castNode(A_ArrayExpr, node)); + break; + case T_RowExpr: + deparseRowExpr(state, castNode(RowExpr, node)); + break; + case T_GroupingFunc: + deparseGroupingFunc(state, castNode(GroupingFunc, node)); + break; + case T_FuncCall: + case T_SQLValueFunction: + case T_MinMaxExpr: + case T_CoalesceExpr: + case T_XmlExpr: + case T_XmlSerialize: + case T_JsonObjectAgg: + case T_JsonArrayAgg: + case T_JsonObjectConstructor: + case T_JsonArrayConstructor: + case T_JsonArrayQueryConstructor: + deparseFuncExpr(state, node, DEPARSE_NODE_CONTEXT_NONE); + break; + default: + deparseAppendStringInfoChar(state, '('); + // Because we wrap this in parenthesis, the expression inside follows "a_expr" parser rules + deparseExpr(state, node, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + break; + } +} + +// "expr_list" in gram.y +static void deparseExprList(DeparseState *state, List *exprs) +{ + ListCell *lc; + foreach(lc, exprs) + { + deparseExpr(state, lfirst(lc), DEPARSE_NODE_CONTEXT_A_EXPR); + if (lnext(exprs, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "ColId", "name", "database_name", "access_method" and "index_name" in gram.y +static void deparseColId(DeparseState *state, char *s) +{ + deparseAppendStringInfoString(state, quote_identifier(s)); +} + +// "ColLabel", "attr_name" +// +// Note this is kept separate from ColId in case we ever want to be more +// specific on how to handle keywords here +static void deparseColLabel(DeparseState *state, char *s) +{ + deparseAppendStringInfoString(state, quote_identifier(s)); +} + +// "SignedIconst" and "Iconst" in gram.y +static void deparseSignedIconst(DeparseState *state, Node *node) +{ + deparseAppendStringInfo(state, "%d", intVal(node)); +} + +// "indirection" and "opt_indirection" in gram.y +static void deparseOptIndirection(DeparseState *state, List *indirection, int N) +{ + ListCell *lc = NULL; + + for_each_from(lc, indirection, N) + { + if (IsA(lfirst(lc), String)) + { + deparseAppendStringInfoChar(state, '.'); + deparseColLabel(state, strVal(lfirst(lc))); + } + else if (IsA(lfirst(lc), A_Star)) + { + deparseAppendStringInfoString(state, ".*"); + } + else if (IsA(lfirst(lc), A_Indices)) + { + deparseAIndices(state, castNode(A_Indices, lfirst(lc))); + } + else + { + // No other nodes should appear here + Assert(false); + } + } +} + +// "role_list" in gram.y +static void deparseRoleList(DeparseState *state, List *roles) +{ + ListCell *lc; + + foreach(lc, roles) + { + RoleSpec *role_spec = castNode(RoleSpec, lfirst(lc)); + deparseRoleSpec(state, role_spec); + if (lnext(roles, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "SimpleTypename" in gram.y +static void deparseSimpleTypename(DeparseState *state, Node *node) +{ + deparseTypeName(state, castNode(TypeName, node)); +} + +// "NumericOnly" in gram.y +static void deparseNumericOnly(DeparseState *state, union ValUnion *value) +{ + switch (nodeTag(value)) + { + case T_Integer: + deparseAppendStringInfo(state, "%d", value->ival.ival); + break; + case T_Float: + deparseAppendStringInfoString(state, value->sval.sval); + break; + default: + Assert(false); + } +} + +// "NumericOnly_list" in gram.y +static void deparseNumericOnlyList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + deparseNumericOnly(state, (union ValUnion *) lfirst(lc)); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "SeqOptElem" in gram.y +static void deparseSeqOptElem(DeparseState *state, DefElem *def_elem) +{ + ListCell *lc; + + if (strcmp(def_elem->defname, "as") == 0) + { + deparseAppendStringInfoString(state, "AS "); + deparseSimpleTypename(state, def_elem->arg); + } + else if (strcmp(def_elem->defname, "cache") == 0) + { + deparseAppendStringInfoString(state, "CACHE "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "cycle") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "CYCLE"); + } + else if (strcmp(def_elem->defname, "cycle") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NO CYCLE"); + } + else if (strcmp(def_elem->defname, "increment") == 0) + { + deparseAppendStringInfoString(state, "INCREMENT "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "MAXVALUE "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "maxvalue") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "NO MAXVALUE"); + } + else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "MINVALUE "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "minvalue") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "NO MINVALUE"); + } + else if (strcmp(def_elem->defname, "owned_by") == 0) + { + deparseAppendStringInfoString(state, "OWNED BY "); + deparseAnyName(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "sequence_name") == 0) + { + deparseAppendStringInfoString(state, "SEQUENCE NAME "); + deparseAnyName(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "start") == 0) + { + deparseAppendStringInfoString(state, "START "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "RESTART"); + } + else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "RESTART "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else + { + Assert(false); + } +} + +// "SeqOptList" in gram.y +static void deparseSeqOptList(DeparseState *state, List *options) +{ + ListCell *lc; + Assert(list_length(options) > 0); + foreach (lc, options) + { + deparseSeqOptElem(state, castNode(DefElem, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } +} + +// "OptSeqOptList" in gram.y +static void deparseOptSeqOptList(DeparseState *state, List *options) +{ + if (list_length(options) > 0) + deparseSeqOptList(state, options); +} + +// "OptParenthesizedSeqOptList" in gram.y +static void deparseOptParenthesizedSeqOptList(DeparseState *state, List *options) +{ + if (list_length(options) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseSeqOptList(state, options); + deparseAppendStringInfoChar(state, ')'); + } +} + +// "opt_drop_behavior" in gram.y +static void deparseOptDropBehavior(DeparseState *state, DropBehavior behavior) +{ + switch (behavior) + { + case DROP_RESTRICT: + // Default + break; + case DROP_CASCADE: + deparseAppendStringInfoString(state, "CASCADE "); + break; + } +} + +// "any_operator" in gram.y +static void deparseAnyOperator(DeparseState *state, List *op) +{ + Assert(isOp(strVal(llast(op)))); + if (list_length(op) == 2) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(linitial(op)))); + deparseAppendStringInfoChar(state, '.'); + deparseAppendStringInfoString(state, strVal(llast(op))); + } + else if (list_length(op) == 1) + { + deparseAppendStringInfoString(state, strVal(llast(op))); + } + else + { + Assert(false); + } +} + +// "qual_Op" and "qual_all_Op" in gram.y +static void deparseQualOp(DeparseState *state, List *op) +{ + if (list_length(op) == 1 && isOp(strVal(linitial(op)))) + { + deparseAppendStringInfoString(state, strVal(linitial(op))); + } + else + { + deparseAppendStringInfoString(state, "OPERATOR("); + deparseAnyOperator(state, op); + deparseAppendStringInfoString(state, ")"); + } +} + +// "subquery_Op" in gram.y +static void deparseSubqueryOp(DeparseState *state, List *op) +{ + if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "~~") == 0) + { + deparseAppendStringInfoString(state, "LIKE"); + } + else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "!~~") == 0) + { + deparseAppendStringInfoString(state, "NOT LIKE"); + } + else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "~~*") == 0) + { + deparseAppendStringInfoString(state, "ILIKE"); + } + else if (list_length(op) == 1 && strcmp(strVal(linitial(op)), "!~~*") == 0) + { + deparseAppendStringInfoString(state, "NOT ILIKE"); + } + else if (list_length(op) == 1 && isOp(strVal(linitial(op)))) + { + deparseAppendStringInfoString(state, strVal(linitial(op))); + } + else + { + deparseAppendStringInfoString(state, "OPERATOR("); + deparseAnyOperator(state, op); + deparseAppendStringInfoString(state, ")"); + } +} + +// Not present directly in gram.y (usually matched by ColLabel) +static void deparseGenericDefElemName(DeparseState *state, const char *in) +{ + Assert(in != NULL); + char *val = pstrdup(in); + for (unsigned char *p = (unsigned char *) val; *p; p++) + *p = pg_toupper(*p); + deparseAppendStringInfoString(state, val); + pfree(val); +} + +// "def_arg" and "operator_def_arg" in gram.y +static void deparseDefArg(DeparseState *state, Node *arg, bool is_operator_def_arg) +{ + if (IsA(arg, TypeName)) // func_type + { + deparseTypeName(state, castNode(TypeName, arg)); + } + else if (IsA(arg, List)) // qual_all_Op + { + List *l = castNode(List, arg); + Assert(list_length(l) == 1 || list_length(l) == 2); + + // Schema qualified operator + if (list_length(l) == 2) + { + deparseAppendStringInfoString(state, "OPERATOR("); + deparseAnyOperator(state, l); + deparseAppendStringInfoChar(state, ')'); + } + else if (list_length(l) == 1) + { + deparseAppendStringInfoString(state, strVal(linitial(l))); + } + } + else if (IsA(arg, Float) || IsA(arg, Integer)) // NumericOnly + { + deparseValue(state, (union ValUnion *) arg, DEPARSE_NODE_CONTEXT_NONE); + } + else if (IsA(arg, String)) + { + char *s = strVal(arg); + if (!is_operator_def_arg && IsA(arg, String) && strcmp(s, "none") == 0) // NONE + { + deparseAppendStringInfoString(state, "NONE"); + } + else if (isReservedKeyword(s)) // reserved_keyword + { + deparseAppendStringInfoString(state, s); + } + else // Sconst + { + deparseStringLiteral(state, s); + } + } + else + { + Assert(false); + } +} + +// "definition" in gram.y +static void deparseDefinition(DeparseState *state, List *options) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoChar(state, '('); + foreach (lc, options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + if (def_elem->arg != NULL) { + deparseAppendStringInfoString(state, " = "); + deparseDefArg(state, def_elem->arg, false); + } + + if (lnext(options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); +} + +// "opt_definition" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptDefinition(DeparseState *state, List *options) +{ + if (list_length(options) > 0) + { + deparseAppendStringInfoString(state, "WITH "); + deparseDefinition(state, options); + } +} + +// "create_generic_options" in gram.y +static void deparseCreateGenericOptions(DeparseState *state, List *options) +{ + ListCell *lc = NULL; + + if (options == NULL) + return; + + deparseAppendStringInfoString(state, "OPTIONS ("); + foreach(lc, options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoChar(state, ' '); + deparseStringLiteral(state, strVal(def_elem->arg)); + if (lnext(options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ")"); +} + +// "common_func_opt_item" in gram.y +static void deparseCommonFuncOptItem(DeparseState *state, DefElem *def_elem) +{ + if (strcmp(def_elem->defname, "strict") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "RETURNS NULL ON NULL INPUT"); + } + else if (strcmp(def_elem->defname, "strict") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "CALLED ON NULL INPUT"); + } + else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "immutable") == 0) + { + deparseAppendStringInfoString(state, "IMMUTABLE"); + } + else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "stable") == 0) + { + deparseAppendStringInfoString(state, "STABLE"); + } + else if (strcmp(def_elem->defname, "volatility") == 0 && strcmp(strVal(def_elem->arg), "volatile") == 0) + { + deparseAppendStringInfoString(state, "VOLATILE"); + } + else if (strcmp(def_elem->defname, "security") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "SECURITY DEFINER"); + } + else if (strcmp(def_elem->defname, "security") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "SECURITY INVOKER"); + } + else if (strcmp(def_elem->defname, "leakproof") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "LEAKPROOF"); + } + else if (strcmp(def_elem->defname, "leakproof") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOT LEAKPROOF"); + } + else if (strcmp(def_elem->defname, "cost") == 0) + { + deparseAppendStringInfoString(state, "COST "); + deparseValue(state, (union ValUnion *) def_elem->arg, DEPARSE_NODE_CONTEXT_NONE); + } + else if (strcmp(def_elem->defname, "rows") == 0) + { + deparseAppendStringInfoString(state, "ROWS "); + deparseValue(state, (union ValUnion *) def_elem->arg, DEPARSE_NODE_CONTEXT_NONE); + } + else if (strcmp(def_elem->defname, "support") == 0) + { + deparseAppendStringInfoString(state, "SUPPORT "); + deparseAnyName(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "set") == 0 && IsA(def_elem->arg, VariableSetStmt)) // FunctionSetResetClause + { + deparseVariableSetStmt(state, castNode(VariableSetStmt, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "parallel") == 0) + { + deparseAppendStringInfoString(state, "PARALLEL "); + deparseAppendStringInfoString(state, quote_identifier(strVal(def_elem->arg))); + } + else + { + Assert(false); + } +} + +// "NonReservedWord_or_Sconst" in gram.y +// +// Note since both identifiers and string constants are allowed here, we +// currently always return an identifier, except: +// +// 1) when the string is empty (since an empty identifier can't be scanned) +// 2) when the value is equal or larger than NAMEDATALEN (64+ characters) +static void deparseNonReservedWordOrSconst(DeparseState *state, const char *val) +{ + if (strlen(val) == 0) + deparseAppendStringInfoString(state, "''"); + else if (strlen(val) >= NAMEDATALEN) + deparseStringLiteral(state, val); + else + deparseAppendStringInfoString(state, quote_identifier(val)); +} + +// "func_as" in gram.y +static void deparseFuncAs(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + char *strval = strVal(lfirst(lc)); + if (strstr(strval, "$$") == NULL) + { + deparseAppendStringInfoString(state, "$$"); + deparseAppendStringInfoString(state, strval); + deparseAppendStringInfoString(state, "$$"); + } + else + { + deparseStringLiteral(state, strval); + } + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "createfunc_opt_item" in gram.y +static void deparseCreateFuncOptItem(DeparseState *state, DefElem *def_elem) +{ + ListCell *lc = NULL; + + if (strcmp(def_elem->defname, "as") == 0) + { + deparseAppendStringInfoString(state, "AS "); + deparseFuncAs(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "language") == 0) + { + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseNonReservedWordOrSconst(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "transform") == 0) + { + List *l = castNode(List, def_elem->arg); + deparseAppendStringInfoString(state, "TRANSFORM "); + foreach (lc, l) + { + deparseAppendStringInfoString(state, "FOR TYPE "); + deparseTypeName(state, castNode(TypeName, lfirst(lc))); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } + } + else if (strcmp(def_elem->defname, "window") == 0) + { + deparseAppendStringInfoString(state, "WINDOW"); + } + else + { + deparseCommonFuncOptItem(state, def_elem); + } +} + +// "alter_generic_options" in gram.y +static void deparseAlterGenericOptions(DeparseState *state, List *options) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "OPTIONS ("); + foreach(lc, options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + switch (def_elem->defaction) + { + case DEFELEM_UNSPEC: + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoChar(state, ' '); + deparseStringLiteral(state, strVal(def_elem->arg)); + break; + case DEFELEM_SET: + deparseAppendStringInfoString(state, "SET "); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoChar(state, ' '); + deparseStringLiteral(state, strVal(def_elem->arg)); + break; + case DEFELEM_ADD: + deparseAppendStringInfoString(state, "ADD "); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoChar(state, ' '); + deparseStringLiteral(state, strVal(def_elem->arg)); + break; + case DEFELEM_DROP: + deparseAppendStringInfoString(state, "DROP "); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + break; + } + + if (lnext(options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); +} + +// "func_name" in gram.y +static void deparseFuncName(DeparseState *state, List *func_name) +{ + ListCell *lc = NULL; + + foreach(lc, func_name) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (lnext(func_name, lc)) + deparseAppendStringInfoChar(state, '.'); + } +} + +// "function_with_argtypes" in gram.y +static void deparseFunctionWithArgtypes(DeparseState *state, ObjectWithArgs *object_with_args) +{ + ListCell *lc; + deparseFuncName(state, object_with_args->objname); + + if (!object_with_args->args_unspecified) + { + deparseAppendStringInfoChar(state, '('); + List *objargs = object_with_args->objargs; + if (object_with_args->objfuncargs) + objargs = object_with_args->objfuncargs; + + foreach(lc, objargs) + { + if (IsA(lfirst(lc), FunctionParameter)) + deparseFunctionParameter(state, castNode(FunctionParameter, lfirst(lc))); + else + deparseTypeName(state, castNode(TypeName, lfirst(lc))); + if (lnext(objargs, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } +} + +// "function_with_argtypes_list" in gram.y +static void deparseFunctionWithArgtypesList(DeparseState *state, List *l) +{ + ListCell *lc; + + foreach(lc, l) + { + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, lfirst(lc))); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "operator_with_argtypes" in gram.y +static void deparseOperatorWithArgtypes(DeparseState *state, ObjectWithArgs *object_with_args) +{ + deparseAnyOperator(state, object_with_args->objname); + + Assert(list_length(object_with_args->objargs) == 2); + deparseAppendStringInfoChar(state, '('); + if (linitial(object_with_args->objargs) == NULL) + deparseAppendStringInfoString(state, "NONE"); + else + deparseTypeName(state, castNode(TypeName, linitial(object_with_args->objargs))); + deparseAppendStringInfoString(state, ", "); + if (lsecond(object_with_args->objargs) == NULL) + deparseAppendStringInfoString(state, "NONE"); + else + deparseTypeName(state, castNode(TypeName, lsecond(object_with_args->objargs))); + deparseAppendStringInfoChar(state, ')'); +} + +// "aggr_args" in gram.y +static void deparseAggrArgs(DeparseState *state, List *aggr_args) +{ + Assert(list_length(aggr_args) == 2); + + ListCell *lc = NULL; + List *args = linitial(aggr_args); + int order_by_pos = intVal(lsecond(aggr_args)); + + deparseAppendStringInfoChar(state, '('); + if (args == NULL) + { + deparseAppendStringInfoChar(state, '*'); + } + else + { + foreach(lc, args) + { + if (foreach_current_index(lc) == order_by_pos) + { + if (foreach_current_index(lc) > 0) + deparseAppendStringInfoChar(state, ' '); + deparseAppendStringInfoString(state, "ORDER BY "); + } + else if (foreach_current_index(lc) > 0) + { + deparseAppendStringInfoString(state, ", "); + } + + deparseFunctionParameter(state, castNode(FunctionParameter, lfirst(lc))); + } + + // Repeat the last direct arg as a ordered arg to handle the + // simplification done by makeOrderedSetArgs in gram.y + if (order_by_pos == list_length(args)) + { + deparseAppendStringInfoString(state, " ORDER BY "); + deparseFunctionParameter(state, castNode(FunctionParameter, llast(args))); + } + } + deparseAppendStringInfoChar(state, ')'); +} + +// "aggregate_with_argtypes" in gram.y +static void deparseAggregateWithArgtypes(DeparseState *state, ObjectWithArgs *object_with_args) +{ + ListCell *lc = NULL; + + deparseFuncName(state, object_with_args->objname); + + deparseAppendStringInfoChar(state, '('); + if (object_with_args->objargs == NULL && object_with_args->objfuncargs == NULL) + { + deparseAppendStringInfoChar(state, '*'); + } + else + { + List *objargs = object_with_args->objargs; + if (object_with_args->objfuncargs) + objargs = object_with_args->objfuncargs; + + foreach(lc, objargs) + { + if (IsA(lfirst(lc), FunctionParameter)) + deparseFunctionParameter(state, castNode(FunctionParameter, lfirst(lc))); + else + deparseTypeName(state, castNode(TypeName, lfirst(lc))); + if (lnext(objargs, lc)) + deparseAppendStringInfoString(state, ", "); + } + } + deparseAppendStringInfoChar(state, ')'); +} + +// "columnList" in gram.y +static void deparseColumnList(DeparseState *state, List *columns) +{ + ListCell *lc = NULL; + foreach(lc, columns) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (lnext(columns, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "OptTemp" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptTemp(DeparseState *state, char relpersistence) +{ + switch (relpersistence) + { + case RELPERSISTENCE_PERMANENT: + // Default + break; + case RELPERSISTENCE_UNLOGGED: + deparseAppendStringInfoString(state, "UNLOGGED "); + break; + case RELPERSISTENCE_TEMP: + deparseAppendStringInfoString(state, "TEMPORARY "); + break; + default: + Assert(false); + break; + } +} + +// "relation_expr_list" in gram.y +static void deparseRelationExprList(DeparseState *state, List *relation_exprs) +{ + ListCell *lc = NULL; + foreach(lc, relation_exprs) + { + deparseRangeVar(state, castNode(RangeVar, lfirst(lc)), DEPARSE_NODE_CONTEXT_NONE); + if (lnext(relation_exprs, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "handler_name" in gram.y +static void deparseHandlerName(DeparseState *state, List *handler_name) +{ + ListCell *lc = NULL; + + foreach(lc, handler_name) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc)))); + if (lnext(handler_name, lc)) + deparseAppendStringInfoChar(state, '.'); + } +} + +// "fdw_options" in gram.y +static void deparseFdwOptions(DeparseState *state, List *fdw_options) +{ + ListCell *lc = NULL; + + foreach (lc, fdw_options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (strcmp(def_elem->defname, "handler") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "HANDLER "); + deparseHandlerName(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "handler") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "NO HANDLER "); + } + else if (strcmp(def_elem->defname, "validator") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "VALIDATOR "); + deparseHandlerName(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "validator") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "NO VALIDATOR "); + } + else + { + Assert(false); + } + + if (lnext(fdw_options, lc)) + deparseAppendStringInfoChar(state, ' '); + } +} + +// "type_list" in gram.y +static void deparseTypeList(DeparseState *state, List *type_list) +{ + ListCell *lc = NULL; + foreach(lc, type_list) + { + deparseTypeName(state, castNode(TypeName, lfirst(lc))); + if (lnext(type_list, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "opt_boolean_or_string" in gram.y +static void deparseOptBooleanOrString(DeparseState *state, char *s) +{ + if (s == NULL) + return; // No value set + else if (strcmp(s, "true") == 0) + deparseAppendStringInfoString(state, "TRUE"); + else if (strcmp(s, "false") == 0) + deparseAppendStringInfoString(state, "FALSE"); + else if (strcmp(s, "on") == 0) + deparseAppendStringInfoString(state, "ON"); + else if (strcmp(s, "off") == 0) + deparseAppendStringInfoString(state, "OFF"); + else + deparseNonReservedWordOrSconst(state, s); +} + +static void deparseOptBoolean(DeparseState *state, Node *node) +{ + if (node == NULL) + { + return; + } + + switch (nodeTag(node)) + { + case T_String: + deparseAppendStringInfo(state, " %s", strVal(node)); + break; + case T_Integer: + deparseAppendStringInfo(state, " %d", intVal(node)); + break; + case T_Boolean: + deparseAppendStringInfo(state, " %s", boolVal(node) ? "TRUE" : "FALSE"); + break; + default: + Assert(false); + break; + } +} + +bool optBooleanValue(Node *node) +{ + if (node == NULL) + { + return true; + } + + switch (nodeTag(node)) + { + case T_String: { + // Longest valid string is "off\0" + char lower[4]; + strncpy(lower, strVal(node), 4); + lower[3] = 0; + + if (strcmp(lower, "on") == 0) { + return true; + } else if (strcmp(lower, "off") == 0) { + return false; + } + + // No sane way to handle this. + return false; + } + case T_Integer: + return intVal(node) != 0; + case T_Boolean: + return boolVal(node); + default: + Assert(false); + return false; + } +} + +// "var_name" +// +// Note this is kept separate from ColId in case we want to improve the +// output of namespaced variable names +static void deparseVarName(DeparseState *state, char *s) +{ + deparseColId(state, s); +} + +// "var_list" +static void deparseVarList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + if (IsA(lfirst(lc), ParamRef)) + { + deparseParamRef(state, castNode(ParamRef, lfirst(lc))); + } + else if (IsA(lfirst(lc), A_Const)) + { + A_Const *a_const = castNode(A_Const, lfirst(lc)); + if (IsA(&a_const->val, Integer) || IsA(&a_const->val, Float)) + deparseNumericOnly(state, (union ValUnion *) &a_const->val); + else if (IsA(&a_const->val, String)) + deparseOptBooleanOrString(state, strVal(&a_const->val)); + else + Assert(false); + } + else if (IsA(lfirst(lc), TypeCast)) + { + deparseTypeCast(state, castNode(TypeCast, lfirst(lc)), DEPARSE_NODE_CONTEXT_SET_STATEMENT); + } + else + { + Assert(false); + } + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "transaction_mode_list" in gram.y +static void deparseTransactionModeList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach (lc, l) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + + if (strcmp(def_elem->defname, "transaction_isolation") == 0) + { + char *s = strVal(&castNode(A_Const, def_elem->arg)->val); + deparseAppendStringInfoString(state, "ISOLATION LEVEL "); + if (strcmp(s, "read uncommitted") == 0) + deparseAppendStringInfoString(state, "READ UNCOMMITTED"); + else if (strcmp(s, "read committed") == 0) + deparseAppendStringInfoString(state, "READ COMMITTED"); + else if (strcmp(s, "repeatable read") == 0) + deparseAppendStringInfoString(state, "REPEATABLE READ"); + else if (strcmp(s, "serializable") == 0) + deparseAppendStringInfoString(state, "SERIALIZABLE"); + else + Assert(false); + } + else if (strcmp(def_elem->defname, "transaction_read_only") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 1) + { + deparseAppendStringInfoString(state, "READ ONLY"); + } + else if (strcmp(def_elem->defname, "transaction_read_only") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 0) + { + deparseAppendStringInfoString(state, "READ WRITE"); + } + else if (strcmp(def_elem->defname, "transaction_deferrable") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 1) + { + deparseAppendStringInfoString(state, "DEFERRABLE"); + } + else if (strcmp(def_elem->defname, "transaction_deferrable") == 0 && intVal(&castNode(A_Const, def_elem->arg)->val) == 0) + { + deparseAppendStringInfoString(state, "NOT DEFERRABLE"); + } + else + { + Assert(false); + } + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "alter_identity_column_option_list" in gram.y +static void deparseAlterIdentityColumnOptionList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach (lc, l) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "RESTART"); + } + else if (strcmp(def_elem->defname, "restart") == 0 && def_elem->arg != NULL) + { + deparseAppendStringInfoString(state, "RESTART "); + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (strcmp(def_elem->defname, "generated") == 0) + { + deparseAppendStringInfoString(state, "SET GENERATED "); + if (def_elem->arg == NULL) + elog(ERROR, "deparse: missing argument for identity generation specification"); + if (intVal(def_elem->arg) == ATTRIBUTE_IDENTITY_ALWAYS) + deparseAppendStringInfoString(state, "ALWAYS"); + else if (intVal(def_elem->arg) == ATTRIBUTE_IDENTITY_BY_DEFAULT) + deparseAppendStringInfoString(state, "BY DEFAULT"); + else + Assert(false); + } + else + { + deparseAppendStringInfoString(state, "SET "); + deparseSeqOptElem(state, def_elem); + } + if (lnext(l, lc)) + deparseAppendStringInfoChar(state, ' '); + } +} + +// "reloptions" in gram.y +static void deparseRelOptions(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoChar(state, '('); + foreach(lc, l) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (def_elem->defnamespace != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(def_elem->defnamespace)); + deparseAppendStringInfoChar(state, '.'); + } + if (def_elem->defname != NULL) + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + if (def_elem->defname != NULL && def_elem->arg != NULL) + deparseAppendStringInfoChar(state, '='); + if (def_elem->arg != NULL) + deparseDefArg(state, def_elem->arg, false); + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); +} + +// "OptWith" and "opt_reloptions" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptWith(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + if (list_length(l) > 0) + { + deparseAppendStringInfoString(state, "WITH "); + deparseRelOptions(state, l); + deparseAppendStringInfoChar(state, ' '); + } +} + +// "target_list" and "opt_target_list" in gram.y +static void deparseTargetList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + ResTarget *res_target = castNode(ResTarget, lfirst(lc)); + + if (res_target->val == NULL) + elog(ERROR, "deparse: error in deparseTargetList: ResTarget without val"); + else if (IsA(res_target->val, ColumnRef)) + deparseColumnRef(state, castNode(ColumnRef, res_target->val)); + else + deparseExpr(state, res_target->val, DEPARSE_NODE_CONTEXT_A_EXPR); + + if (res_target->name != NULL) { + deparseAppendStringInfoString(state, " AS "); + deparseAppendStringInfoString(state, quote_identifier(res_target->name)); + } + + if (lnext(l, lc)) + deparseAppendCommaAndPart(state); + } +} + +// "insert_column_list" in gram.y +static void deparseInsertColumnList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + ResTarget *res_target = castNode(ResTarget, lfirst(lc)); + Assert(res_target->name != NULL); + deparseAppendStringInfoString(state, quote_identifier(res_target->name)); + deparseOptIndirection(state, res_target->indirection, 0); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "xml_attribute_list" in gram.y +static void deparseXmlAttributeList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + ResTarget *res_target = castNode(ResTarget, lfirst(lc)); + Assert(res_target->val != NULL); + + deparseExpr(state, res_target->val, DEPARSE_NODE_CONTEXT_A_EXPR); + + if (res_target->name != NULL) + { + deparseAppendStringInfoString(state, " AS "); + deparseAppendStringInfoString(state, quote_identifier(res_target->name)); + } + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "xml_namespace_list" in gram.y +static void deparseXmlNamespaceList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + ResTarget *res_target = castNode(ResTarget, lfirst(lc)); + Assert(res_target->val != NULL); + + if (res_target->name == NULL) + deparseAppendStringInfoString(state, "DEFAULT "); + + deparseExpr(state, res_target->val, DEPARSE_NODE_CONTEXT_NONE /* b_expr */); + + if (res_target->name != NULL) + { + deparseAppendStringInfoString(state, " AS "); + deparseAppendStringInfoString(state, quote_identifier(res_target->name)); + } + + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "table_ref" in gram.y +static void deparseTableRef(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_RangeVar: + deparseRangeVar(state, castNode(RangeVar, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_RangeTableSample: + deparseRangeTableSample(state, castNode(RangeTableSample, node)); + break; + case T_RangeFunction: + deparseRangeFunction(state, castNode(RangeFunction, node)); + break; + case T_RangeTableFunc: + deparseRangeTableFunc(state, castNode(RangeTableFunc, node)); + break; + case T_RangeSubselect: + deparseRangeSubselect(state, castNode(RangeSubselect, node)); + break; + case T_JoinExpr: + deparseJoinExpr(state, castNode(JoinExpr, node)); + break; + case T_JsonTable: + deparseJsonTable(state, castNode(JsonTable, node)); + break; + default: + Assert(false); + } +} + +// "from_list" in gram.y +static void deparseFromList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + deparseTableRef(state, lfirst(lc)); + if (lnext(l, lc)) + deparseAppendCommaAndPart(state); + } +} + +// "from_clause" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseFromClause(DeparseState *state, List *l) +{ + if (list_length(l) > 0) + { + deparseAppendPartGroup(state, "FROM", DEPARSE_PART_INDENT); + deparseFromList(state, l); + deparseAppendStringInfoChar(state, ' '); + } +} + +// "where_clause" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseWhereClause(DeparseState *state, Node *node) +{ + if (node != NULL) + { + deparseAppendPartGroup(state, "WHERE", DEPARSE_PART_INDENT); + deparseExpr(state, node, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } +} + +// "where_or_current_clause" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseWhereOrCurrentClause(DeparseState *state, Node *node) +{ + if (node == NULL) + return; + + deparseAppendPartGroup(state, "WHERE", DEPARSE_PART_INDENT); + + if (IsA(node, CurrentOfExpr)) { + CurrentOfExpr *current_of_expr = castNode(CurrentOfExpr, node); + deparseAppendStringInfoString(state, "CURRENT OF "); + deparseAppendStringInfoString(state, quote_identifier(current_of_expr->cursor_name)); + } else { + deparseExpr(state, node, DEPARSE_NODE_CONTEXT_A_EXPR); + } + + deparseAppendStringInfoChar(state, ' '); +} + +// "group_by_list" in gram.y +static void deparseGroupByList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + if (IsA(lfirst(lc), GroupingSet)) + deparseGroupingSet(state, castNode(GroupingSet, lfirst(lc))); + else + deparseExpr(state, lfirst(lc), DEPARSE_NODE_CONTEXT_A_EXPR); + + if (lnext(l, lc)) + deparseAppendCommaAndPart(state); + } +} + +// "set_target" in gram.y +static void deparseSetTarget(DeparseState *state, ResTarget *res_target) +{ + Assert(res_target->name != NULL); + deparseColId(state, res_target->name); + deparseOptIndirection(state, res_target->indirection, 0); +} + +// "any_name_list" in gram.y +static void deparseAnyNameList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + deparseAnyName(state, castNode(List, lfirst(lc))); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "name_list" in gram.y +static void deparseNameList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + deparseColId(state, strVal(lfirst(lc))); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "opt_sort_clause" and "json_array_aggregate_order_by_clause_opt" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptSortClause(DeparseState *state, List *l, DeparseNodeContext context) +{ + ListCell *lc = NULL; + + if (list_length(l) > 0) + { + if (context == DEPARSE_NODE_CONTEXT_SELECT_SORT_CLAUSE) + deparseAppendPartGroup(state, "ORDER BY", DEPARSE_PART_INDENT_AND_MERGE); + else + deparseAppendStringInfoString(state, "ORDER BY "); + + foreach(lc, l) + { + deparseSortBy(state, castNode(SortBy, lfirst(lc))); + if (lnext(l, lc)) + { + if (context == DEPARSE_NODE_CONTEXT_SELECT_SORT_CLAUSE) + deparseAppendCommaAndPart(state); + else + deparseAppendStringInfoString(state, ", "); + } + } + deparseAppendStringInfoChar(state, ' '); + } +} + +// "func_arg_expr" in gram.y +static void deparseFuncArgExpr(DeparseState *state, Node *node) +{ + if (IsA(node, NamedArgExpr)) + { + NamedArgExpr *named_arg_expr = castNode(NamedArgExpr, node); + deparseAppendStringInfoString(state, named_arg_expr->name); + deparseAppendStringInfoString(state, " := "); + deparseExpr(state, (Node *) named_arg_expr->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + } + else + { + deparseExpr(state, node, DEPARSE_NODE_CONTEXT_A_EXPR); + } +} + +// "set_clause_list" in gram.y +static void deparseSetClauseList(DeparseState *state, List *target_list) +{ + ListCell *lc; + ListCell *lc2; + int skip_next_n_elems = 0; + + Assert(list_length(target_list) > 0); + + foreach(lc, target_list) + { + if (skip_next_n_elems > 0) + { + skip_next_n_elems--; + continue; + } + + if (foreach_current_index(lc) != 0) + deparseAppendCommaAndPart(state); + + ResTarget *res_target = castNode(ResTarget, lfirst(lc)); + Assert(res_target->val != NULL); + + if (IsA(res_target->val, MultiAssignRef)) + { + MultiAssignRef *r = castNode(MultiAssignRef, res_target->val); + deparseAppendStringInfoString(state, "("); + for_each_cell(lc2, target_list, lc) + { + deparseSetTarget(state, castNode(ResTarget, lfirst(lc2))); + if ((foreach_current_index(lc2) - foreach_current_index(lc)) == r->ncolumns - 1) // Last element in this multi-assign + break; + else if (lnext(target_list, lc2)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") = "); + deparseExpr(state, r->source, DEPARSE_NODE_CONTEXT_A_EXPR); + skip_next_n_elems = r->ncolumns - 1; + } + else + { + deparseSetTarget(state, res_target); + deparseAppendStringInfoString(state, " = "); + deparseExpr(state, res_target->val, DEPARSE_NODE_CONTEXT_A_EXPR); + } + } +} + +// "func_expr_windowless" in gram.y +static void deparseFuncExprWindowless(DeparseState *state, Node* node) +{ + switch (nodeTag(node)) + { + case T_FuncCall: + deparseFuncCall(state, castNode(FuncCall, node), DEPARSE_NODE_CONTEXT_NONE /* we don't know which kind of expression */); + break; + case T_SQLValueFunction: + deparseSQLValueFunction(state, castNode(SQLValueFunction, node)); + break; + case T_TypeCast: + deparseTypeCast(state, castNode(TypeCast, node), DEPARSE_NODE_CONTEXT_FUNC_EXPR); + break; + case T_CoalesceExpr: + deparseCoalesceExpr(state, castNode(CoalesceExpr, node)); + break; + case T_MinMaxExpr: + deparseMinMaxExpr(state, castNode(MinMaxExpr, node)); + break; + case T_XmlExpr: + deparseXmlExpr(state, castNode(XmlExpr, node), DEPARSE_NODE_CONTEXT_NONE /* we don't know which kind of expression */); + break; + case T_XmlSerialize: + deparseXmlSerialize(state, castNode(XmlSerialize, node)); + break; + default: + Assert(false); + } +} + +// "opt_collate" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptCollate(DeparseState *state, List *l) +{ + if (list_length(l) > 0) + { + deparseAppendStringInfoString(state, "COLLATE "); + deparseAnyName(state, l); + deparseAppendStringInfoChar(state, ' '); + } +} + +// "index_elem" in gram.y +static void deparseIndexElem(DeparseState *state, IndexElem* index_elem) +{ + if (index_elem->name != NULL) + { + deparseColId(state, index_elem->name); + deparseAppendStringInfoChar(state, ' '); + } + else if (index_elem->expr != NULL) + { + switch (nodeTag(index_elem->expr)) + { + // Simple function calls can be written without wrapping parens + case T_FuncCall: // func_application + case T_SQLValueFunction: // func_expr_common_subexpr + case T_CoalesceExpr: // func_expr_common_subexpr + case T_MinMaxExpr: // func_expr_common_subexpr + case T_XmlExpr: // func_expr_common_subexpr + case T_XmlSerialize: // func_expr_common_subexpr + deparseFuncExprWindowless(state, index_elem->expr); + deparseAppendStringInfoString(state, " "); + break; + default: + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, index_elem->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + } + else + { + Assert(false); + } + + deparseOptCollate(state, index_elem->collation); + + if (list_length(index_elem->opclass) > 0) + { + deparseAnyName(state, index_elem->opclass); + + if (list_length(index_elem->opclassopts) > 0) + deparseRelOptions(state, index_elem->opclassopts); + + deparseAppendStringInfoChar(state, ' '); + } + + switch (index_elem->ordering) + { + case SORTBY_DEFAULT: + // Default + break; + case SORTBY_ASC: + deparseAppendStringInfoString(state, "ASC "); + break; + case SORTBY_DESC: + deparseAppendStringInfoString(state, "DESC "); + break; + case SORTBY_USING: + // Not allowed in CREATE INDEX + Assert(false); + break; + } + + switch (index_elem->nulls_ordering) + { + case SORTBY_NULLS_DEFAULT: + // Default + break; + case SORTBY_NULLS_FIRST: + deparseAppendStringInfoString(state, "NULLS FIRST "); + break; + case SORTBY_NULLS_LAST: + deparseAppendStringInfoString(state, "NULLS LAST "); + break; + } + + removeTrailingSpace(state); +} + +// "qualified_name_list" in gram.y +static void deparseQualifiedNameList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach(lc, l) + { + deparseRangeVar(state, castNode(RangeVar, lfirst(lc)), DEPARSE_NODE_CONTEXT_NONE); + if (lnext(l, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "OptInherit" in gram.y +// +// Note this method adds a trailing space if a value is output +static void deparseOptInherit(DeparseState *state, List *l) +{ + if (list_length(l) > 0) + { + deparseAppendStringInfoString(state, "INHERITS ("); + deparseQualifiedNameList(state, l); + deparseAppendStringInfoString(state, ") "); + } +} + +// "privilege_target" in gram.y +static void deparsePrivilegeTarget(DeparseState *state, GrantTargetType targtype, ObjectType objtype, List *objs) +{ + switch (targtype) + { + case ACL_TARGET_OBJECT: + switch (objtype) + { + case OBJECT_TABLE: + deparseQualifiedNameList(state, objs); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + deparseQualifiedNameList(state, objs); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + deparseNameList(state, objs); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "FOREIGN SERVER "); + deparseNameList(state, objs); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseFunctionWithArgtypesList(state, objs); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + deparseFunctionWithArgtypesList(state, objs); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + deparseFunctionWithArgtypesList(state, objs); + break; + case OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + deparseNameList(state, objs); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + deparseAnyNameList(state, objs); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseNameList(state, objs); + break; + case OBJECT_LARGEOBJECT: + deparseAppendStringInfoString(state, "LARGE OBJECT "); + deparseNumericOnlyList(state, objs); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + deparseNameList(state, objs); + break; + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseNameList(state, objs); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + deparseAnyNameList(state, objs); + break; + default: + // Other types are not supported here + Assert(false); + break; + } + break; + case ACL_TARGET_ALL_IN_SCHEMA: + switch (objtype) + { + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "ALL TABLES IN SCHEMA "); + deparseNameList(state, objs); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "ALL SEQUENCES IN SCHEMA "); + deparseNameList(state, objs); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "ALL FUNCTIONS IN SCHEMA "); + deparseNameList(state, objs); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "ALL PROCEDURES IN SCHEMA "); + deparseNameList(state, objs); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ALL ROUTINES IN SCHEMA "); + deparseNameList(state, objs); + break; + default: + // Other types are not supported here + Assert(false); + break; + } + break; + case ACL_TARGET_DEFAULTS: // defacl_privilege_target + switch (objtype) + { + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLES"); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTIONS"); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCES"); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPES"); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMAS"); + break; + default: + // Other types are not supported here + Assert(false); + break; + } + break; + } +} + +// "opclass_item_list" in gram.y +static void deparseOpclassItemList(DeparseState *state, List *items) +{ + ListCell *lc = NULL; + + foreach (lc, items) + { + deparseCreateOpClassItem(state, castNode(CreateOpClassItem, lfirst(lc))); + if (lnext(items, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +// "createdb_opt_list" in gram.y +static void deparseCreatedbOptList(DeparseState *state, List *l) +{ + ListCell *lc = NULL; + + foreach (lc, l) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (strcmp(def_elem->defname, "connection_limit") == 0) + deparseAppendStringInfoString(state, "CONNECTION LIMIT"); + else + deparseGenericDefElemName(state, def_elem->defname); + + deparseAppendStringInfoChar(state, ' '); + + if (def_elem->arg == NULL) + deparseAppendStringInfoString(state, "DEFAULT"); + else if (IsA(def_elem->arg, Integer)) + deparseSignedIconst(state, def_elem->arg); + else if (IsA(def_elem->arg, String)) + deparseOptBooleanOrString(state, strVal(def_elem->arg)); + + if (lnext(l, lc)) + deparseAppendStringInfoChar(state, ' '); + } +} + +// "utility_option_list" in gram.y +static void deparseUtilityOptionList(DeparseState *state, List *options) +{ + ListCell *lc = NULL; + char *defname = NULL; + + if (list_length(options) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + deparseGenericDefElemName(state, def_elem->defname); + + if (def_elem->arg != NULL) + { + deparseAppendStringInfoChar(state, ' '); + if (IsA(def_elem->arg, Integer) || IsA(def_elem->arg, Float)) + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + else if (IsA(def_elem->arg, String)) + deparseOptBooleanOrString(state, strVal(def_elem->arg)); + else + Assert(false); + } + + if (lnext(options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } +} + +static void deparseSelectStmt(DeparseState *state, SelectStmt *stmt, DeparseNodeContext context) +{ + const ListCell *lc = NULL; + const ListCell *lc2 = NULL; + bool need_parens = context == DEPARSE_NODE_CONTEXT_SELECT_SETOP && ( + list_length(stmt->sortClause) > 0 || + stmt->limitOffset != NULL || + stmt->limitCount != NULL || + list_length(stmt->lockingClause) > 0 || + stmt->withClause != NULL || + stmt->op != SETOP_NONE); + DeparseStateNestingLevel *parent_level = NULL; + + if (need_parens) + { + deparseAppendPart(state, true); + deparseAppendStringInfoChar(state, '('); + } + if (need_parens || (context != DEPARSE_NODE_CONTEXT_SELECT_SETOP && context != DEPARSE_NODE_CONTEXT_INSERT_SELECT)) + parent_level = deparseStateIncreaseNestingLevel(state); + + if (stmt->withClause) + { + deparseWithClause(state, stmt->withClause); + deparseAppendStringInfoChar(state, ' '); + } + + switch (stmt->op) { + case SETOP_NONE: + if (list_length(stmt->valuesLists) > 0) + { + const ListCell *lc; + deparseAppendPartGroup(state, "VALUES", DEPARSE_PART_INDENT_AND_MERGE); + + foreach(lc, stmt->valuesLists) + { + deparseAppendStringInfoChar(state, '('); + deparseExprList(state, lfirst(lc)); + deparseAppendStringInfoChar(state, ')'); + if (lnext(stmt->valuesLists, lc)) + deparseAppendCommaAndPart(state); + } + deparseAppendStringInfoChar(state, ' '); + break; + } + + deparseAppendPartGroup(state, "SELECT", DEPARSE_PART_INDENT_AND_MERGE); + + if (list_length(stmt->targetList) > 0) + { + if (stmt->distinctClause != NULL) + { + deparseMarkCurrentPartNonMergable(state); + deparseAppendStringInfoString(state, "DISTINCT "); + + if (list_length(stmt->distinctClause) > 0 && linitial(stmt->distinctClause) != NULL) + { + deparseAppendStringInfoString(state, "ON ("); + deparseExprList(state, stmt->distinctClause); + deparseAppendStringInfoString(state, ") "); + } + deparseAppendPart(state, true); + } + + deparseTargetList(state, stmt->targetList); + deparseAppendStringInfoChar(state, ' '); + } + + if (stmt->intoClause != NULL) + { + deparseAppendPartGroup(state, "INTO", DEPARSE_PART_INDENT); + deparseOptTemp(state, stmt->intoClause->rel->relpersistence); + deparseIntoClause(state, stmt->intoClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseFromClause(state, stmt->fromClause); + deparseWhereClause(state, stmt->whereClause); + + if (list_length(stmt->groupClause) > 0) + { + deparseAppendPartGroup(state, "GROUP BY", DEPARSE_PART_INDENT_AND_MERGE); + if (stmt->groupDistinct) + deparseAppendStringInfoString(state, "DISTINCT "); + deparseGroupByList(state, stmt->groupClause); + deparseAppendStringInfoChar(state, ' '); + } + + if (stmt->havingClause != NULL) + { + deparseAppendPartGroup(state, "HAVING", DEPARSE_PART_INDENT); + deparseExpr(state, stmt->havingClause, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + if (stmt->windowClause != NULL) + { + deparseAppendPartGroup(state, "WINDOW", DEPARSE_PART_INDENT); + foreach(lc, stmt->windowClause) + { + WindowDef *window_def = castNode(WindowDef, lfirst(lc)); + Assert(window_def->name != NULL); + deparseAppendStringInfoString(state, window_def->name); + deparseAppendStringInfoString(state, " AS "); + deparseWindowDef(state, window_def); + if (lnext(stmt->windowClause, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + } + break; + case SETOP_UNION: + case SETOP_INTERSECT: + case SETOP_EXCEPT: + { + deparseSelectStmt(state, stmt->larg, DEPARSE_NODE_CONTEXT_SELECT_SETOP); + switch (stmt->op) + { + case SETOP_UNION: + if (stmt->all) + deparseAppendPartGroup(state, "UNION ALL", DEPARSE_PART_NO_INDENT); + else + deparseAppendPartGroup(state, "UNION", DEPARSE_PART_NO_INDENT); + break; + case SETOP_INTERSECT: + if (stmt->all) + deparseAppendPartGroup(state, "INTERSECT ALL", DEPARSE_PART_NO_INDENT); + else + deparseAppendPartGroup(state, "INTERSECT", DEPARSE_PART_NO_INDENT); + break; + case SETOP_EXCEPT: + if (stmt->all) + deparseAppendPartGroup(state, "EXCEPT ALL", DEPARSE_PART_NO_INDENT); + else + deparseAppendPartGroup(state, "EXCEPT", DEPARSE_PART_NO_INDENT); + break; + default: + Assert(false); + } + deparseAppendPart(state, true); + deparseSelectStmt(state, stmt->rarg, DEPARSE_NODE_CONTEXT_SELECT_SETOP); + deparseAppendStringInfoChar(state, ' '); + } + break; + } + + deparseOptSortClause(state, stmt->sortClause, DEPARSE_NODE_CONTEXT_SELECT_SORT_CLAUSE); + + if (stmt->limitCount != NULL) + { + if (stmt->limitOption == LIMIT_OPTION_COUNT) + deparseAppendPartGroup(state, "LIMIT", DEPARSE_PART_INDENT); + else if (stmt->limitOption == LIMIT_OPTION_WITH_TIES) + deparseAppendStringInfoString(state, "FETCH FIRST "); + + if (IsA(stmt->limitCount, A_Const) && castNode(A_Const, stmt->limitCount)->isnull) + deparseAppendStringInfoString(state, "ALL"); + else if (stmt->limitOption == LIMIT_OPTION_WITH_TIES) + deparseCExpr(state, stmt->limitCount); + else + deparseExpr(state, stmt->limitCount, DEPARSE_NODE_CONTEXT_NONE /* c_expr */); + + deparseAppendStringInfoChar(state, ' '); + + if (stmt->limitOption == LIMIT_OPTION_WITH_TIES) + deparseAppendStringInfoString(state, "ROWS WITH TIES "); + } + + if (stmt->limitOffset != NULL) + { + deparseAppendPartGroup(state, "OFFSET", DEPARSE_PART_INDENT); + deparseExpr(state, stmt->limitOffset, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(stmt->lockingClause) > 0) + { + foreach(lc, stmt->lockingClause) + { + deparseLockingClause(state, castNode(LockingClause, lfirst(lc))); + if (lnext(stmt->lockingClause, lc)) + deparseAppendStringInfoString(state, " "); + } + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); + + /* Note that parent_level can be NULL, so we repeat the full if condition here */ + if (need_parens || (context != DEPARSE_NODE_CONTEXT_SELECT_SETOP && context != DEPARSE_NODE_CONTEXT_INSERT_SELECT)) + deparseStateDecreaseNestingLevel(state, parent_level); + if (need_parens) + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseIntoClause(DeparseState *state, IntoClause *into_clause) +{ + ListCell *lc; + + deparseRangeVar(state, into_clause->rel, DEPARSE_NODE_CONTEXT_NONE); /* target relation name */ + + if (list_length(into_clause->colNames) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, into_clause->colNames); + deparseAppendStringInfoChar(state, ')'); + } + deparseAppendStringInfoChar(state, ' '); + + if (into_clause->accessMethod != NULL) + { + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(into_clause->accessMethod)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseOptWith(state, into_clause->options); + + switch (into_clause->onCommit) + { + case ONCOMMIT_NOOP: + // No clause + break; + case ONCOMMIT_PRESERVE_ROWS: + deparseAppendStringInfoString(state, "ON COMMIT PRESERVE ROWS "); + break; + case ONCOMMIT_DELETE_ROWS: + deparseAppendStringInfoString(state, "ON COMMIT DELETE ROWS "); + break; + case ONCOMMIT_DROP: + deparseAppendStringInfoString(state, "ON COMMIT DROP "); + break; + } + + if (into_clause->tableSpaceName != NULL) + { + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseAppendStringInfoString(state, quote_identifier(into_clause->tableSpaceName)); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +static void deparseRangeVar(DeparseState *state, RangeVar *range_var, DeparseNodeContext context) +{ + if (!range_var->inh && context != DEPARSE_NODE_CONTEXT_CREATE_TYPE && context != DEPARSE_NODE_CONTEXT_ALTER_TYPE) + deparseAppendStringInfoString(state, "ONLY "); + + if (range_var->catalogname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(range_var->catalogname)); + deparseAppendStringInfoChar(state, '.'); + } + + if (range_var->schemaname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(range_var->schemaname)); + deparseAppendStringInfoChar(state, '.'); + } + + Assert(range_var->relname != NULL); + deparseAppendStringInfoString(state, quote_identifier(range_var->relname)); + deparseAppendStringInfoChar(state, ' '); + + if (range_var->alias != NULL) + { + if (context == DEPARSE_NODE_CONTEXT_INSERT_RELATION) + deparseAppendStringInfoString(state, "AS "); + deparseAlias(state, range_var->alias); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +void deparseRawStmt(StringInfo str, struct RawStmt *raw_stmt) +{ + PostgresDeparseOpts opts; + MemSet(&opts, 0, sizeof(PostgresDeparseOpts)); // zero initialized means pretty print = false + deparseRawStmtOpts(str, raw_stmt, opts); +} + +void deparseRawStmtOpts(StringInfo str, struct RawStmt *raw_stmt, PostgresDeparseOpts opts) +{ + DeparseState *state = NULL; + if (raw_stmt->stmt == NULL) + elog(ERROR, "deparse error in deparseRawStmt: RawStmt with empty Stmt"); + + state = palloc0(sizeof(DeparseState)); + state->opts = opts; + if (state->opts.indent_size == 0) + state->opts.indent_size = 4; + if (state->opts.max_line_length == 0) + state->opts.max_line_length = 80; + + /* Check for any comments at the start of the statement */ + if (state->opts.comment_count > 0) + { + /* + * Filter out comments that are placed before this statement starts, this + * avoids emitting comments multiple times in multi-statement queries. + */ + for (int i = 0; i < state->opts.comment_count; i++) + { + if (state->opts.comments[i]->match_location < raw_stmt->stmt_location) + state->emitted_comments = bms_add_member(state->emitted_comments, i); + } + + deparseStateIncreaseNestingLevel(state); + deparseAppendCommentsIfNeeded(state, raw_stmt->stmt_location); + deparseRemoveTrailingEmptyPart(state); + deparseStateDecreaseNestingLevel(state, NULL); + } + + deparseStmt(state, raw_stmt->stmt); + + deparseEmit(state, str); + + bms_free(state->emitted_comments); + pfree(state); +} + +static void deparseAlias(DeparseState *state, Alias *alias) +{ + deparseAppendStringInfoString(state, quote_identifier(alias->aliasname)); + + if (list_length(alias->colnames) > 0) + { + const ListCell *lc = NULL; + deparseAppendStringInfoChar(state, '('); + deparseNameList(state, alias->colnames); + deparseAppendStringInfoChar(state, ')'); + } +} + +static void deparseAConst(DeparseState *state, A_Const *a_const) +{ + union ValUnion *val = a_const->isnull ? NULL : &a_const->val; + deparseAppendCommentsIfNeeded(state, a_const->location); + deparseValue(state, val, DEPARSE_NODE_CONTEXT_CONSTANT); +} + +static void deparseFuncCall(DeparseState *state, FuncCall *func_call, DeparseNodeContext context) +{ + const ListCell *lc = NULL; + + Assert(list_length(func_call->funcname) > 0); + + if (list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "overlay") == 0 && + list_length(func_call->args) == 4) + { + /* + * Note that this is a bit odd, but "OVERLAY" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) + */ + deparseAppendStringInfoString(state, "OVERLAY("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " PLACING "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FROM "); + deparseExpr(state, lthird(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FOR "); + deparseExpr(state, lfourth(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "substring") == 0) + { + /* + * "SUBSTRING" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.substring) + */ + Assert(list_length(func_call->args) == 2 || list_length(func_call->args) == 3); + deparseAppendStringInfoString(state, "SUBSTRING("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FROM "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + if (list_length(func_call->args) == 3) + { + deparseAppendStringInfoString(state, " FOR "); + deparseExpr(state, lthird(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + } + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "position") == 0 && + list_length(func_call->args) == 2) + { + /* + * "POSITION" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.position) + * Note that the first and second arguments are switched in this format + */ + deparseAppendStringInfoString(state, "POSITION("); + deparseBExpr(state, lsecond(func_call->args)); + deparseAppendStringInfoString(state, " IN "); + deparseBExpr(state, linitial(func_call->args)); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "overlay") == 0 && + list_length(func_call->args) == 3) + { + /* + * "OVERLAY" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) + */ + deparseAppendStringInfoString(state, "overlay("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " placing "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " from "); + deparseExpr(state, lthird(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "pg_collation_for") == 0 && + list_length(func_call->args) == 1) + { + /* + * "collation for" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlay) + */ + deparseAppendStringInfoString(state, "collation for ("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "extract") == 0 && + list_length(func_call->args) == 2) + { + /* + * "EXTRACT" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.extract) + */ + deparseAppendStringInfoString(state, "extract ("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FROM "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "overlaps") == 0 && + list_length(func_call->args) == 4) + { + /* + * "OVERLAPS" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.overlaps) + * format: (start_1, end_1) overlaps (start_2, end_2) + */ + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ", "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + + deparseAppendStringInfoString(state, "overlaps "); + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, lthird(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ", "); + deparseExpr(state, lfourth(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + ( + strcmp(strVal(lsecond(func_call->funcname)), "ltrim") == 0 || + strcmp(strVal(lsecond(func_call->funcname)), "btrim") == 0 || + strcmp(strVal(lsecond(func_call->funcname)), "rtrim") == 0 + )) + { + /* + * "TRIM " is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.ltrim) + * Note that the first and second arguments are switched in this format + */ + Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); + deparseAppendStringInfoString(state, "TRIM ("); + if (strcmp(strVal(lsecond(func_call->funcname)), "ltrim") == 0) + deparseAppendStringInfoString(state, "LEADING "); + else if (strcmp(strVal(lsecond(func_call->funcname)), "btrim") == 0) + deparseAppendStringInfoString(state, "BOTH "); + else if (strcmp(strVal(lsecond(func_call->funcname)), "rtrim") == 0) + deparseAppendStringInfoString(state, "TRAILING "); + + if (list_length(func_call->args) == 2) + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FROM "); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "timezone") == 0 && + list_length(func_call->args) > 0 && + list_length(func_call->args) <= 2) + { + /* + * "AT TIME ZONE" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.timezone) + * Note that the arguments are swapped in this case + */ + Expr* e; + bool isLocal = list_length(func_call->args) == 1; + + if (isLocal) + e = linitial(func_call->args); + else + e = lsecond(func_call->args); + + // If we're not inside an a_expr context, we must add wrapping parenthesis around the AT ... syntax + if (context != DEPARSE_NODE_CONTEXT_A_EXPR) { + deparseAppendStringInfoChar(state, '('); + } + + if (IsA(e, A_Expr)) { + deparseAppendStringInfoChar(state, '('); + } + + deparseExpr(state, (Node*) e, DEPARSE_NODE_CONTEXT_A_EXPR); + + if (IsA(e, A_Expr)) { + deparseAppendStringInfoChar(state, ')'); + } + + if (isLocal) + deparseAppendStringInfoString(state, " AT LOCAL"); + else { + deparseAppendStringInfoString(state, " AT TIME ZONE "); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + } + + if (context != DEPARSE_NODE_CONTEXT_A_EXPR) { + deparseAppendStringInfoChar(state, ')'); + } + + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "normalize") == 0) + { + /* + * "NORMALIZE" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.normalize) + */ + Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); + deparseAppendStringInfoString(state, "normalize ("); + + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + if (list_length(func_call->args) == 2) + { + deparseAppendStringInfoString(state, ", "); + Assert(IsA(lsecond(func_call->args), A_Const)); + A_Const *aconst = lsecond(func_call->args); + deparseValue(state, &aconst->val, DEPARSE_NODE_CONTEXT_NONE); + } + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "is_normalized") == 0) + { + /* + * "IS NORMALIZED" is a keyword on its own merit, and only accepts the + * keyword parameter style when its called as a keyword, not as a regular function (i.e. pg_catalog.is_normalized) + */ + Assert(list_length(func_call->args) == 1 || list_length(func_call->args) == 2); + + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " IS "); + if (list_length(func_call->args) == 2) + { + Assert(IsA(lsecond(func_call->args), A_Const)); + A_Const *aconst = lsecond(func_call->args); + deparseValue(state, &aconst->val, DEPARSE_NODE_CONTEXT_NONE); + } + deparseAppendStringInfoString(state, " NORMALIZED "); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "xmlexists") == 0 && + list_length(func_call->args) == 2) + { + deparseAppendStringInfoString(state, "xmlexists ("); + deparseExpr(state, linitial(func_call->args), DEPARSE_NODE_CONTEXT_NONE /* c_expr */); + deparseAppendStringInfoString(state, " PASSING "); + deparseExpr(state, lsecond(func_call->args), DEPARSE_NODE_CONTEXT_NONE /* c_expr */); + deparseAppendStringInfoChar(state, ')'); + return; + } else if (func_call->funcformat == COERCE_SQL_SYNTAX && + list_length(func_call->funcname) == 2 && + strcmp(strVal(linitial(func_call->funcname)), "pg_catalog") == 0 && + strcmp(strVal(lsecond(func_call->funcname)), "system_user") == 0) + { + deparseAppendStringInfoString(state, "SYSTEM_USER"); + return; + } + + deparseFuncName(state, func_call->funcname); + deparseAppendStringInfoChar(state, '('); + + if (func_call->agg_distinct) + deparseAppendStringInfoString(state, "DISTINCT "); + + if (func_call->agg_star) + { + deparseAppendStringInfoChar(state, '*'); + } + else if (list_length(func_call->args) > 0) + { + foreach(lc, func_call->args) + { + if (func_call->func_variadic && !lnext(func_call->args, lc)) + deparseAppendStringInfoString(state, "VARIADIC "); + deparseFuncArgExpr(state, lfirst(lc)); + if (lnext(func_call->args, lc)) + deparseAppendStringInfoString(state, ", "); + } + } + deparseAppendStringInfoChar(state, ' '); + + if (func_call->agg_order != NULL && !func_call->agg_within_group) + { + deparseOptSortClause(state, func_call->agg_order, DEPARSE_NODE_CONTEXT_NONE); + } + + removeTrailingSpace(state); + deparseAppendStringInfoString(state, ") "); + + if (func_call->agg_order != NULL && func_call->agg_within_group) + { + deparseAppendStringInfoString(state, "WITHIN GROUP ("); + deparseOptSortClause(state, func_call->agg_order, DEPARSE_NODE_CONTEXT_NONE); + removeTrailingSpace(state); + deparseAppendStringInfoString(state, ") "); + } + + if (func_call->agg_filter) + { + deparseAppendStringInfoString(state, "FILTER (WHERE "); + deparseExpr(state, func_call->agg_filter, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + if (func_call->over) + { + deparseAppendStringInfoString(state, "OVER "); + if (func_call->over->name) + deparseAppendStringInfoString(state, func_call->over->name); + else + deparseWindowDef(state, func_call->over); + } + + removeTrailingSpace(state); +} + +static void deparseWindowDef(DeparseState *state, WindowDef* window_def) +{ + ListCell *lc; + DeparseStateNestingLevel *parent_level = NULL; + + // The parent node is responsible for outputting window_def->name + + // Special case completely empty window clauses and return early + if (!window_def->refname && list_length(window_def->partitionClause) == 0 && + list_length(window_def->orderClause) == 0 && + !(window_def->frameOptions & FRAMEOPTION_NONDEFAULT)) + { + deparseAppendStringInfoString(state, "()"); + return; + } + + deparseAppendStringInfoChar(state, '('); + parent_level = deparseStateIncreaseNestingLevel(state); + + if (window_def->refname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(window_def->refname)); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(window_def->partitionClause) > 0) + { + deparseAppendStringInfoString(state, "PARTITION BY "); + deparseExprList(state, window_def->partitionClause); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); + deparseAppendPart(state, true); + deparseOptSortClause(state, window_def->orderClause, DEPARSE_NODE_CONTEXT_NONE); + + if (window_def->frameOptions & FRAMEOPTION_NONDEFAULT) + { + deparseAppendPartGroup(state, NULL, DEPARSE_PART_NO_INDENT); + if (window_def->frameOptions & FRAMEOPTION_RANGE) + deparseAppendStringInfoString(state, "RANGE "); + else if (window_def->frameOptions & FRAMEOPTION_ROWS) + deparseAppendStringInfoString(state, "ROWS "); + else if (window_def->frameOptions & FRAMEOPTION_GROUPS) + deparseAppendStringInfoString(state, "GROUPS "); + + if (window_def->frameOptions & FRAMEOPTION_BETWEEN) + deparseAppendStringInfoString(state, "BETWEEN "); + + // frame_start + if (window_def->frameOptions & FRAMEOPTION_START_UNBOUNDED_PRECEDING) + { + deparseAppendStringInfoString(state, "UNBOUNDED PRECEDING "); + } + else if (window_def->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) + { + Assert(false); // disallowed + } + else if (window_def->frameOptions & FRAMEOPTION_START_CURRENT_ROW) + { + deparseAppendStringInfoString(state, "CURRENT ROW "); + } + else if (window_def->frameOptions & FRAMEOPTION_START_OFFSET_PRECEDING) + { + Assert(window_def->startOffset != NULL); + deparseExpr(state, window_def->startOffset, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " PRECEDING "); + } + else if (window_def->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) + { + Assert(window_def->startOffset != NULL); + deparseExpr(state, window_def->startOffset, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FOLLOWING "); + } + + if (window_def->frameOptions & FRAMEOPTION_BETWEEN) + { + deparseAppendStringInfoString(state, "AND "); + + // frame_end + if (window_def->frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING) + { + Assert(false); // disallowed + } + else if (window_def->frameOptions & FRAMEOPTION_END_UNBOUNDED_FOLLOWING) + { + deparseAppendStringInfoString(state, "UNBOUNDED FOLLOWING "); + } + else if (window_def->frameOptions & FRAMEOPTION_END_CURRENT_ROW) + { + deparseAppendStringInfoString(state, "CURRENT ROW "); + } + else if (window_def->frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) + { + Assert(window_def->endOffset != NULL); + deparseExpr(state, window_def->endOffset, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " PRECEDING "); + } + else if (window_def->frameOptions & FRAMEOPTION_END_OFFSET_FOLLOWING) + { + Assert(window_def->endOffset != NULL); + deparseExpr(state, window_def->endOffset, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " FOLLOWING "); + } + } + + if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_CURRENT_ROW) + deparseAppendStringInfoString(state, "EXCLUDE CURRENT ROW "); + else if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_GROUP) + deparseAppendStringInfoString(state, "EXCLUDE GROUP "); + else if (window_def->frameOptions & FRAMEOPTION_EXCLUDE_TIES) + deparseAppendStringInfoString(state, "EXCLUDE TIES "); + } + + removeTrailingSpace(state); + deparseStateDecreaseNestingLevel(state, parent_level); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseColumnRef(DeparseState *state, ColumnRef* column_ref) +{ + Assert(list_length(column_ref->fields) >= 1); + + deparseAppendCommentsIfNeeded(state, column_ref->location); + + if (IsA(linitial(column_ref->fields), A_Star)) + deparseAStar(state, castNode(A_Star, linitial(column_ref->fields))); + else if (IsA(linitial(column_ref->fields), String)) + deparseColLabel(state, strVal(linitial(column_ref->fields))); + + deparseOptIndirection(state, column_ref->fields, 1); +} + +static void deparseSubLink(DeparseState *state, SubLink* sub_link) +{ + switch (sub_link->subLinkType) { + case EXISTS_SUBLINK: + deparseAppendStringInfoString(state, "EXISTS ("); + deparseSelectStmt(state, castNode(SelectStmt, sub_link->subselect), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + return; + case ALL_SUBLINK: + deparseExpr(state, sub_link->testexpr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + deparseSubqueryOp(state, sub_link->operName); + deparseAppendStringInfoString(state, " ALL ("); + deparseSelectStmt(state, castNode(SelectStmt, sub_link->subselect), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + return; + case ANY_SUBLINK: + deparseExpr(state, sub_link->testexpr, DEPARSE_NODE_CONTEXT_A_EXPR); + if (list_length(sub_link->operName) > 0) + { + deparseAppendStringInfoChar(state, ' '); + deparseSubqueryOp(state, sub_link->operName); + deparseAppendStringInfoString(state, " ANY "); + } + else + { + deparseAppendStringInfoString(state, " IN "); + } + deparseAppendStringInfoChar(state, '('); + deparseSelectStmt(state, castNode(SelectStmt, sub_link->subselect), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + return; + case ROWCOMPARE_SUBLINK: + // Not present in raw parse trees + Assert(false); + return; + case EXPR_SUBLINK: + deparseAppendStringInfoString(state, "("); + deparseSelectStmt(state, castNode(SelectStmt, sub_link->subselect), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + return; + case MULTIEXPR_SUBLINK: + // Not present in raw parse trees + Assert(false); + return; + case ARRAY_SUBLINK: + deparseAppendStringInfoString(state, "ARRAY("); + deparseSelectStmt(state, castNode(SelectStmt, sub_link->subselect), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + return; + case CTE_SUBLINK: /* for SubPlans only */ + // Not present in raw parse trees + Assert(false); + return; + } +} + +// Checks whether a node needs parens when used in a "b_expr" context (because the node is handled by the "a_expr" rule in gram.y) +static bool +needsParensAsBExpr(Node *node) +{ + if (node == NULL) + return false; + return IsA(node, BoolExpr) || IsA(node, BooleanTest) || IsA(node, NullTest) || IsA(node, A_Expr); +} + +// This handles "A_Expr" parse tree objects, which are a subset of the rules in "a_expr" (handled by deparseExpr) +static void deparseAExpr(DeparseState *state, A_Expr* a_expr, DeparseNodeContext context) +{ + ListCell *lc; + char *name; + + bool need_lexpr_parens = needsParensAsBExpr(a_expr->lexpr); + bool need_rexpr_parens = needsParensAsBExpr(a_expr->rexpr); + + switch (a_expr->kind) { + case AEXPR_OP: /* normal operator */ + { + if (a_expr->lexpr != NULL) + { + if (need_lexpr_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, a_expr->lexpr, context); + if (need_lexpr_parens) + deparseAppendStringInfoChar(state, ')'); + deparseAppendStringInfoChar(state, ' '); + } + deparseQualOp(state, a_expr->name); + if (a_expr->rexpr != NULL) + { + deparseAppendStringInfoChar(state, ' '); + if (need_rexpr_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, a_expr->rexpr, context); + if (need_rexpr_parens) + deparseAppendStringInfoChar(state, ')'); + } + } + return; + case AEXPR_OP_ANY: /* scalar op ANY (array) */ + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + deparseSubqueryOp(state, a_expr->name); + deparseAppendStringInfoString(state, " ANY("); + deparseExpr(state, a_expr->rexpr, context); + deparseAppendStringInfoChar(state, ')'); + return; + case AEXPR_OP_ALL: /* scalar op ALL (array) */ + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + deparseSubqueryOp(state, a_expr->name); + deparseAppendStringInfoString(state, " ALL("); + deparseExpr(state, a_expr->rexpr, context); + deparseAppendStringInfoChar(state, ')'); + return; + case AEXPR_DISTINCT: /* IS DISTINCT FROM - name must be "=" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); + + if (need_lexpr_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, a_expr->lexpr, context); + if (need_lexpr_parens) + deparseAppendStringInfoChar(state, ')'); + deparseAppendStringInfoString(state, " IS DISTINCT FROM "); + if (need_rexpr_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, a_expr->rexpr, context); + if (need_rexpr_parens) + deparseAppendStringInfoChar(state, ')'); + return; + case AEXPR_NOT_DISTINCT: /* IS NOT DISTINCT FROM - name must be "=" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); + + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoString(state, " IS NOT DISTINCT FROM "); + deparseExpr(state, a_expr->rexpr, context); + return; + case AEXPR_NULLIF: /* NULLIF - name must be "=" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + Assert(strcmp(strVal(linitial(a_expr->name)), "=") == 0); + + deparseAppendStringInfoString(state, "NULLIF("); + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoString(state, ", "); + deparseExpr(state, a_expr->rexpr, context); + deparseAppendStringInfoChar(state, ')'); + return; + case AEXPR_IN: /* [NOT] IN - name must be "=" or "<>" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + Assert(IsA(a_expr->rexpr, List)); + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; + if (strcmp(name, "=") == 0) { + deparseAppendStringInfoString(state, "IN "); + } else if (strcmp(name, "<>") == 0) { + deparseAppendStringInfoString(state, "NOT IN "); + } else { + Assert(false); + } + deparseAppendStringInfoChar(state, '('); + if (IsA(a_expr->rexpr, SubLink)) + deparseSubLink(state, castNode(SubLink, a_expr->rexpr)); + else + deparseExprList(state, castNode(List, a_expr->rexpr)); + deparseAppendStringInfoChar(state, ')'); + return; + case AEXPR_LIKE: /* [NOT] LIKE - name must be "~~" or "!~~" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + + name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; + if (strcmp(name, "~~") == 0) { + deparseAppendStringInfoString(state, "LIKE "); + } else if (strcmp(name, "!~~") == 0) { + deparseAppendStringInfoString(state, "NOT LIKE "); + } else { + Assert(false); + } + + deparseExpr(state, a_expr->rexpr, context); + return; + case AEXPR_ILIKE: /* [NOT] ILIKE - name must be "~~*" or "!~~*" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + + name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; + if (strcmp(name, "~~*") == 0) { + deparseAppendStringInfoString(state, "ILIKE "); + } else if (strcmp(name, "!~~*") == 0) { + deparseAppendStringInfoString(state, "NOT ILIKE "); + } else { + Assert(false); + } + + deparseExpr(state, a_expr->rexpr, context); + return; + case AEXPR_SIMILAR: /* [NOT] SIMILAR - name must be "~" or "!~" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + + name = ((union ValUnion *) linitial(a_expr->name))->sval.sval; + if (strcmp(name, "~") == 0) { + deparseAppendStringInfoString(state, "SIMILAR TO "); + } else if (strcmp(name, "!~") == 0) { + deparseAppendStringInfoString(state, "NOT SIMILAR TO "); + } else { + Assert(false); + } + + FuncCall *n = castNode(FuncCall, a_expr->rexpr); + Assert(list_length(n->funcname) == 2); + Assert(strcmp(strVal(linitial(n->funcname)), "pg_catalog") == 0); + Assert(strcmp(strVal(lsecond(n->funcname)), "similar_to_escape") == 0); + Assert(list_length(n->args) == 1 || list_length(n->args) == 2); + + deparseExpr(state, linitial(n->args), context); + if (list_length(n->args) == 2) + { + deparseAppendStringInfoString(state, " ESCAPE "); + deparseExpr(state, lsecond(n->args), context); + } + + return; + case AEXPR_BETWEEN: /* name must be "BETWEEN" */ + case AEXPR_NOT_BETWEEN: /* name must be "NOT BETWEEN" */ + case AEXPR_BETWEEN_SYM: /* name must be "BETWEEN SYMMETRIC" */ + case AEXPR_NOT_BETWEEN_SYM: /* name must be "NOT BETWEEN SYMMETRIC" */ + Assert(list_length(a_expr->name) == 1); + Assert(IsA(linitial(a_expr->name), String)); + Assert(IsA(a_expr->rexpr, List)); + + deparseExpr(state, a_expr->lexpr, context); + deparseAppendStringInfoChar(state, ' '); + deparseAppendStringInfoString(state, strVal(linitial(a_expr->name))); + deparseAppendStringInfoChar(state, ' '); + + foreach(lc, castNode(List, a_expr->rexpr)) { + deparseExpr(state, lfirst(lc), context); + if (lnext(castNode(List, a_expr->rexpr), lc)) + deparseAppendStringInfoString(state, " AND "); + } + return; + } +} + +static void deparseBoolExpr(DeparseState *state, BoolExpr *bool_expr) +{ + const ListCell *lc = NULL; + switch (bool_expr->boolop) + { + case AND_EXPR: + foreach(lc, bool_expr->args) + { + // Put parantheses around AND + OR nodes that are inside + bool need_parens = IsA(lfirst(lc), BoolExpr) && (castNode(BoolExpr, lfirst(lc))->boolop == AND_EXPR || castNode(BoolExpr, lfirst(lc))->boolop == OR_EXPR); + + if (need_parens) + deparseAppendStringInfoChar(state, '('); + + deparseExpr(state, lfirst(lc), DEPARSE_NODE_CONTEXT_A_EXPR); + + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + + if (lnext(bool_expr->args, lc)) + { + deparseAppendPart(state, true); + deparseAppendStringInfoString(state, "AND "); + } + } + return; + case OR_EXPR: + foreach(lc, bool_expr->args) + { + // Put parantheses around AND + OR nodes that are inside + bool need_parens = IsA(lfirst(lc), BoolExpr) && (castNode(BoolExpr, lfirst(lc))->boolop == AND_EXPR || castNode(BoolExpr, lfirst(lc))->boolop == OR_EXPR); + + if (need_parens) + deparseAppendStringInfoChar(state, '('); + + deparseExpr(state, lfirst(lc), DEPARSE_NODE_CONTEXT_A_EXPR); + + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + + if (lnext(bool_expr->args, lc)) + deparseAppendStringInfoString(state, " OR "); + } + return; + case NOT_EXPR: + Assert(list_length(bool_expr->args) == 1); + bool need_parens = IsA(linitial(bool_expr->args), BoolExpr) && (castNode(BoolExpr, linitial(bool_expr->args))->boolop == AND_EXPR || castNode(BoolExpr, linitial(bool_expr->args))->boolop == OR_EXPR); + deparseAppendStringInfoString(state, "NOT "); + if (need_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, linitial(bool_expr->args), DEPARSE_NODE_CONTEXT_A_EXPR); + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + return; + } +} + +static void deparseAStar(DeparseState *state, A_Star *a_star) +{ + deparseAppendStringInfoChar(state, '*'); +} + +static void deparseCollateClause(DeparseState *state, CollateClause* collate_clause) +{ + ListCell *lc; + if (collate_clause->arg != NULL) + { + bool need_parens = IsA(collate_clause->arg, A_Expr); + if (need_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, collate_clause->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + deparseAppendStringInfoChar(state, ' '); + } + deparseAppendStringInfoString(state, "COLLATE "); + deparseAnyName(state, collate_clause->collname); +} + +// "sortby" in gram.y +static void deparseSortBy(DeparseState *state, SortBy* sort_by) +{ + deparseExpr(state, sort_by->node, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + + switch (sort_by->sortby_dir) + { + case SORTBY_DEFAULT: + break; + case SORTBY_ASC: + deparseAppendStringInfoString(state, "ASC "); + break; + case SORTBY_DESC: + deparseAppendStringInfoString(state, "DESC "); + break; + case SORTBY_USING: + deparseAppendStringInfoString(state, "USING "); + deparseQualOp(state, sort_by->useOp); + break; + } + + switch (sort_by->sortby_nulls) + { + case SORTBY_NULLS_DEFAULT: + break; + case SORTBY_NULLS_FIRST: + deparseAppendStringInfoString(state, "NULLS FIRST "); + break; + case SORTBY_NULLS_LAST: + deparseAppendStringInfoString(state, "NULLS LAST "); + break; + } + + removeTrailingSpace(state); +} + +static void deparseParamRef(DeparseState *state, ParamRef* param_ref) +{ + if (param_ref->number == 0) { + deparseAppendStringInfoChar(state, '?'); + } else { + deparseAppendStringInfo(state, "$%d", param_ref->number); + } +} + +static void deparseSQLValueFunction(DeparseState *state, SQLValueFunction* sql_value_function) +{ + switch (sql_value_function->op) + { + case SVFOP_CURRENT_DATE: + deparseAppendStringInfoString(state, "current_date"); + break; + case SVFOP_CURRENT_TIME: + deparseAppendStringInfoString(state, "current_time"); + break; + case SVFOP_CURRENT_TIME_N: + deparseAppendStringInfoString(state, "current_time"); // with precision + break; + case SVFOP_CURRENT_TIMESTAMP: + deparseAppendStringInfoString(state, "current_timestamp"); + break; + case SVFOP_CURRENT_TIMESTAMP_N: + deparseAppendStringInfoString(state, "current_timestamp"); // with precision + break; + case SVFOP_LOCALTIME: + deparseAppendStringInfoString(state, "localtime"); + break; + case SVFOP_LOCALTIME_N: + deparseAppendStringInfoString(state, "localtime"); // with precision + break; + case SVFOP_LOCALTIMESTAMP: + deparseAppendStringInfoString(state, "localtimestamp"); + break; + case SVFOP_LOCALTIMESTAMP_N: + deparseAppendStringInfoString(state, "localtimestamp"); // with precision + break; + case SVFOP_CURRENT_ROLE: + deparseAppendStringInfoString(state, "current_role"); + break; + case SVFOP_CURRENT_USER: + deparseAppendStringInfoString(state, "current_user"); + break; + case SVFOP_USER: + deparseAppendStringInfoString(state, "user"); + break; + case SVFOP_SESSION_USER: + deparseAppendStringInfoString(state, "session_user"); + break; + case SVFOP_CURRENT_CATALOG: + deparseAppendStringInfoString(state, "current_catalog"); + break; + case SVFOP_CURRENT_SCHEMA: + deparseAppendStringInfoString(state, "current_schema"); + break; + } + + if (sql_value_function->typmod != -1) + { + deparseAppendStringInfo(state, "(%d)", sql_value_function->typmod); + } +} + +static void deparseWithClause(DeparseState *state, WithClause *with_clause) +{ + ListCell *lc; + + deparseAppendPartGroup(state, "WITH", DEPARSE_PART_NO_INDENT); + if (with_clause->recursive) + deparseAppendStringInfoString(state, "RECURSIVE "); + + foreach(lc, with_clause->ctes) { + deparseCommonTableExpr(state, castNode(CommonTableExpr, lfirst(lc))); + if (lnext(with_clause->ctes, lc)) + deparseAppendStringInfoString(state, ", "); + } + + removeTrailingSpace(state); +} + +// "joined_table" in gram.y +static void deparseJoinExpr(DeparseState *state, JoinExpr *join_expr) +{ + ListCell *lc; + bool need_alias_parens = join_expr->alias != NULL; + bool need_rarg_parens = IsA(join_expr->rarg, JoinExpr) && castNode(JoinExpr, join_expr->rarg)->alias == NULL; + + if (need_alias_parens) + deparseAppendStringInfoChar(state, '('); + + deparseTableRef(state, join_expr->larg); + deparseAppendPart(state, true); + + if (join_expr->isNatural) + deparseAppendStringInfoString(state, "NATURAL "); + + switch (join_expr->jointype) + { + case JOIN_INNER: /* matching tuple pairs only */ + if (!join_expr->isNatural && join_expr->quals == NULL && list_length(join_expr->usingClause) == 0) + deparseAppendStringInfoString(state, "CROSS "); + break; + case JOIN_LEFT: /* pairs + unmatched LHS tuples */ + deparseAppendStringInfoString(state, "LEFT "); + break; + case JOIN_FULL: /* pairs + unmatched LHS + unmatched RHS */ + deparseAppendStringInfoString(state, "FULL "); + break; + case JOIN_RIGHT: /* pairs + unmatched RHS tuples */ + deparseAppendStringInfoString(state, "RIGHT "); + break; + case JOIN_SEMI: + case JOIN_ANTI: + case JOIN_RIGHT_ANTI: + case JOIN_UNIQUE_OUTER: + case JOIN_UNIQUE_INNER: + // Only used by the planner/executor, not seen in parser output + Assert(false); + break; + } + + deparseAppendStringInfoString(state, "JOIN "); + + if (need_rarg_parens) + deparseAppendStringInfoChar(state, '('); + deparseTableRef(state, join_expr->rarg); + if (need_rarg_parens) + deparseAppendStringInfoChar(state, ')'); + deparseAppendStringInfoChar(state, ' '); + + if (join_expr->quals != NULL) + { + deparseAppendStringInfoString(state, "ON "); + deparseExpr(state, join_expr->quals, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(join_expr->usingClause) > 0) + { + deparseAppendStringInfoString(state, "USING ("); + deparseNameList(state, join_expr->usingClause); + deparseAppendStringInfoString(state, ") "); + + if (join_expr->join_using_alias) + { + deparseAppendStringInfoString(state, "AS "); + deparseAppendStringInfoString(state, join_expr->join_using_alias->aliasname); + } + } + + if (need_alias_parens) + deparseAppendStringInfoString(state, ") "); + + if (join_expr->alias != NULL) + deparseAlias(state, join_expr->alias); + + removeTrailingSpace(state); +} + +static void deparseCTESearchClause(DeparseState *state, CTESearchClause *search_clause) +{ + deparseAppendStringInfoString(state, " SEARCH "); + if (search_clause->search_breadth_first) + deparseAppendStringInfoString(state, "BREADTH "); + else + deparseAppendStringInfoString(state, "DEPTH "); + + deparseAppendStringInfoString(state, "FIRST BY "); + + if (search_clause->search_col_list) + deparseColumnList(state, search_clause->search_col_list); + + deparseAppendStringInfoString(state, " SET "); + deparseAppendStringInfoString(state, quote_identifier(search_clause->search_seq_column)); +} + +// "opt_cycle_clause" in gram.y +static void deparseCTECycleClause(DeparseState *state, CTECycleClause *cycle_clause) +{ + deparseAppendStringInfoString(state, " CYCLE "); + + if (cycle_clause->cycle_col_list) + deparseColumnList(state, cycle_clause->cycle_col_list); + + deparseAppendStringInfoString(state, " SET "); + deparseAppendStringInfoString(state, quote_identifier(cycle_clause->cycle_mark_column)); + + if (cycle_clause->cycle_mark_value) + { + deparseAppendStringInfoString(state, " TO "); + deparseAexprConst(state, cycle_clause->cycle_mark_value); + } + + if (cycle_clause->cycle_mark_default) + { + deparseAppendStringInfoString(state, " DEFAULT "); + deparseAexprConst(state, cycle_clause->cycle_mark_default); + } + + deparseAppendStringInfoString(state, " USING "); + deparseAppendStringInfoString(state, quote_identifier(cycle_clause->cycle_path_column)); +} + +static void deparseCommonTableExpr(DeparseState *state, CommonTableExpr *cte) +{ + deparseAppendCommentsIfNeeded(state, cte->location); + + deparseColId(state, cte->ctename); + + if (list_length(cte->aliascolnames) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseNameList(state, cte->aliascolnames); + deparseAppendStringInfoChar(state, ')'); + } + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "AS "); + switch (cte->ctematerialized) { + case CTEMaterializeDefault: /* no option specified */ + break; + case CTEMaterializeAlways: + deparseAppendStringInfoString(state, "MATERIALIZED "); + break; + case CTEMaterializeNever: + deparseAppendStringInfoString(state, "NOT MATERIALIZED "); + break; + } + + deparseAppendStringInfoChar(state, '('); + deparsePreparableStmt(state, cte->ctequery); + deparseAppendStringInfoChar(state, ')'); + + if (cte->search_clause) + deparseCTESearchClause(state, cte->search_clause); + if (cte->cycle_clause) + deparseCTECycleClause(state, cte->cycle_clause); +} + +static void deparseRangeSubselect(DeparseState *state, RangeSubselect *range_subselect) +{ + if (range_subselect->lateral) + deparseAppendStringInfoString(state, "LATERAL "); + + deparseAppendStringInfoChar(state, '('); + deparseSelectStmt(state, castNode(SelectStmt, range_subselect->subquery), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ')'); + + if (range_subselect->alias != NULL) + { + deparseAppendStringInfoChar(state, ' '); + deparseAlias(state, range_subselect->alias); + } +} + +static void deparseRangeFunction(DeparseState *state, RangeFunction *range_func) +{ + ListCell *lc; + ListCell *lc2; + + if (range_func->lateral) + deparseAppendStringInfoString(state, "LATERAL "); + + if (range_func->is_rowsfrom) + { + deparseAppendStringInfoString(state, "ROWS FROM "); + deparseAppendStringInfoChar(state, '('); + foreach(lc, range_func->functions) + { + List *lfunc = castNode(List, lfirst(lc)); + Assert(list_length(lfunc) == 2); + deparseFuncExprWindowless(state, linitial(lfunc)); + deparseAppendStringInfoChar(state, ' '); + List *coldeflist = castNode(List, lsecond(lfunc)); + if (list_length(coldeflist) > 0) + { + deparseAppendStringInfoString(state, "AS ("); + foreach(lc2, coldeflist) + { + deparseColumnDef(state, castNode(ColumnDef, lfirst(lc2))); + if (lnext(coldeflist, lc2)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + if (lnext(range_func->functions, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + else + { + Assert(list_length(linitial(range_func->functions)) == 2); + deparseFuncExprWindowless(state, linitial(linitial(range_func->functions))); + } + deparseAppendStringInfoChar(state, ' '); + + if (range_func->ordinality) + deparseAppendStringInfoString(state, "WITH ORDINALITY "); + + if (range_func->alias != NULL) + { + deparseAlias(state, range_func->alias); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(range_func->coldeflist) > 0) + { + if (range_func->alias == NULL) + deparseAppendStringInfoString(state, "AS "); + deparseAppendStringInfoChar(state, '('); + foreach(lc, range_func->coldeflist) + { + deparseColumnDef(state, castNode(ColumnDef, lfirst(lc))); + if (lnext(range_func->coldeflist, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + + removeTrailingSpace(state); +} + +static void deparseAArrayExpr(DeparseState *state, A_ArrayExpr *array_expr) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ARRAY["); + deparseExprList(state, array_expr->elements); + deparseAppendStringInfoChar(state, ']'); +} + +static void deparseRowExpr(DeparseState *state, RowExpr *row_expr) +{ + ListCell *lc; + + switch (row_expr->row_format) + { + case COERCE_EXPLICIT_CALL: + deparseAppendStringInfoString(state, "ROW"); + break; + case COERCE_SQL_SYNTAX: + case COERCE_EXPLICIT_CAST: + // Not present in raw parser output + Assert(false); + break; + case COERCE_IMPLICIT_CAST: + // No prefix + break; + } + + deparseAppendStringInfoString(state, "("); + deparseExprList(state, row_expr->args); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseTypeCast(DeparseState *state, TypeCast *type_cast, DeparseNodeContext context) +{ + bool need_parens = needsParensAsBExpr(type_cast->arg); + + Assert(type_cast->typeName != NULL); + + if (context == DEPARSE_NODE_CONTEXT_FUNC_EXPR) + { + deparseAppendStringInfoString(state, "CAST("); + deparseExpr(state, type_cast->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, type_cast->typeName); + deparseAppendStringInfoChar(state, ')'); + return; + } + + if (IsA(type_cast->arg, A_Const)) + { + A_Const *a_const = castNode(A_Const, type_cast->arg); + + if (list_length(type_cast->typeName->names) == 2 && + strcmp(strVal(linitial(type_cast->typeName->names)), "pg_catalog") == 0) + { + char *typename = strVal(lsecond(type_cast->typeName->names)); + if (strcmp(typename, "bpchar") == 0 && type_cast->typeName->typmods == NULL) + { + deparseAppendStringInfoString(state, "char "); + deparseAConst(state, a_const); + return; + } + else if (strcmp(typename, "bool") == 0 && IsA(&a_const->val, String)) + { + /* + * Handle "bool" or "false" in the statement, which is represented as a typecast + * (other boolean casts should be represented as a cast, i.e. don't need special handling) + */ + char *const_val = strVal(&a_const->val); + if (strcmp(const_val, "t") == 0) + { + deparseAppendStringInfoString(state, "true"); + return; + } + if (strcmp(const_val, "f") == 0) + { + deparseAppendStringInfoString(state, "false"); + return; + } + } + else if (strcmp(typename, "interval") == 0 && context == DEPARSE_NODE_CONTEXT_SET_STATEMENT && IsA(&a_const->val, String)) + { + deparseAppendStringInfoString(state, "interval "); + deparseAConst(state, a_const); + deparseIntervalTypmods(state, type_cast->typeName); + return; + } + } + + // Ensure negative values have wrapping parentheses + if (IsA(&a_const->val, Float) || (IsA(&a_const->val, Integer) && intVal(&a_const->val) < 0)) + { + need_parens = true; + } + + if (list_length(type_cast->typeName->names) == 1 && + strcmp(strVal(linitial(type_cast->typeName->names)), "point") == 0 && + a_const->location > type_cast->typeName->location) + { + deparseAppendStringInfoString(state, " point "); + deparseAConst(state, a_const); + return; + } + } + + + if (need_parens) + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, type_cast->arg, DEPARSE_NODE_CONTEXT_NONE /* could be either a_expr or b_expr (we could pass this down, but that'd require two kinds of contexts most likely) */); + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + + deparseAppendStringInfoString(state, "::"); + deparseTypeName(state, type_cast->typeName); +} + +static void deparseTypeName(DeparseState *state, TypeName *type_name) +{ + ListCell *lc; + bool skip_typmods = false; + + if (type_name->setof) + deparseAppendStringInfoString(state, "SETOF "); + + if (list_length(type_name->names) == 2 && strcmp(strVal(linitial(type_name->names)), "pg_catalog") == 0) + { + const char *name = strVal(lsecond(type_name->names)); + if (strcmp(name, "bpchar") == 0) + { + deparseAppendStringInfoString(state, "char"); + } + else if (strcmp(name, "varchar") == 0) + { + deparseAppendStringInfoString(state, "varchar"); + } + else if (strcmp(name, "numeric") == 0) + { + deparseAppendStringInfoString(state, "numeric"); + } + else if (strcmp(name, "bool") == 0) + { + deparseAppendStringInfoString(state, "boolean"); + } + else if (strcmp(name, "int2") == 0) + { + deparseAppendStringInfoString(state, "smallint"); + } + else if (strcmp(name, "int4") == 0) + { + deparseAppendStringInfoString(state, "int"); + } + else if (strcmp(name, "int8") == 0) + { + deparseAppendStringInfoString(state, "bigint"); + } + else if (strcmp(name, "real") == 0 || strcmp(name, "float4") == 0) + { + deparseAppendStringInfoString(state, "real"); + } + else if (strcmp(name, "float8") == 0) + { + deparseAppendStringInfoString(state, "double precision"); + } + else if (strcmp(name, "time") == 0) + { + deparseAppendStringInfoString(state, "time"); + } + else if (strcmp(name, "timetz") == 0) + { + deparseAppendStringInfoString(state, "time "); + if (list_length(type_name->typmods) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, type_name->typmods) + { + deparseSignedIconst(state, (Node *) &castNode(A_Const, lfirst(lc))->val); + if (lnext(type_name->typmods, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } + deparseAppendStringInfoString(state, "with time zone"); + skip_typmods = true; + } + else if (strcmp(name, "timestamp") == 0) + { + deparseAppendStringInfoString(state, "timestamp"); + } + else if (strcmp(name, "timestamptz") == 0) + { + deparseAppendStringInfoString(state, "timestamp "); + if (list_length(type_name->typmods) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, type_name->typmods) + { + deparseSignedIconst(state, (Node *) &castNode(A_Const, lfirst(lc))->val); + if (lnext(type_name->typmods, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } + deparseAppendStringInfoString(state, "with time zone"); + skip_typmods = true; + } + else if (strcmp(name, "interval") == 0 && list_length(type_name->typmods) == 0) + { + deparseAppendStringInfoString(state, "interval"); + } + else if (strcmp(name, "interval") == 0 && list_length(type_name->typmods) >= 1) + { + deparseAppendStringInfoString(state, "interval"); + deparseIntervalTypmods(state, type_name); + + skip_typmods = true; + } + else + { + deparseAppendStringInfoString(state, "pg_catalog."); + deparseAppendStringInfoString(state, name); + } + } + else + { + deparseAnyName(state, type_name->names); + } + + if (list_length(type_name->typmods) > 0 && !skip_typmods) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, type_name->typmods) + { + if (IsA(lfirst(lc), A_Const)) + deparseAConst(state, lfirst(lc)); + else if (IsA(lfirst(lc), ParamRef)) + deparseParamRef(state, lfirst(lc)); + else if (IsA(lfirst(lc), ColumnRef)) + deparseColumnRef(state, lfirst(lc)); + else + Assert(false); + + if (lnext(type_name->typmods, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + + foreach(lc, type_name->arrayBounds) + { + deparseAppendStringInfoChar(state, '['); + if (IsA(lfirst(lc), Integer) && intVal(lfirst(lc)) != -1) + deparseSignedIconst(state, lfirst(lc)); + deparseAppendStringInfoChar(state, ']'); + } + + if (type_name->pct_type) + deparseAppendStringInfoString(state, "%type"); +} + +// Handle typemods for Interval types separately +// so that they can be applied appropriately for different contexts. +// For example, when using `SET` a query like `INTERVAL 'x' hour TO minute` +// the `INTERVAL` keyword is specified first. +// In all other contexts, intervals use the `'x'::interval` style. +static void deparseIntervalTypmods(DeparseState *state, TypeName *type_name) +{ + const char *name = strVal(lsecond(type_name->names)); + Assert(strcmp(name, "interval") == 0); + Assert(list_length(type_name->typmods) >= 1); + Assert(IsA(linitial(type_name->typmods), A_Const)); + Assert(IsA(&castNode(A_Const, linitial(type_name->typmods))->val, Integer)); + + int fields = intVal(&castNode(A_Const, linitial(type_name->typmods))->val); + + // This logic is based on intervaltypmodout in timestamp.c + switch (fields) + { + case INTERVAL_MASK(YEAR): + deparseAppendStringInfoString(state, " year"); + break; + case INTERVAL_MASK(MONTH): + deparseAppendStringInfoString(state, " month"); + break; + case INTERVAL_MASK(DAY): + deparseAppendStringInfoString(state, " day"); + break; + case INTERVAL_MASK(HOUR): + deparseAppendStringInfoString(state, " hour"); + break; + case INTERVAL_MASK(MINUTE): + deparseAppendStringInfoString(state, " minute"); + break; + case INTERVAL_MASK(SECOND): + deparseAppendStringInfoString(state, " second"); + break; + case INTERVAL_MASK(YEAR) | INTERVAL_MASK(MONTH): + deparseAppendStringInfoString(state, " year to month"); + break; + case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR): + deparseAppendStringInfoString(state, " day to hour"); + break; + case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE): + deparseAppendStringInfoString(state, " day to minute"); + break; + case INTERVAL_MASK(DAY) | INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): + deparseAppendStringInfoString(state, " day to second"); + break; + case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE): + deparseAppendStringInfoString(state, " hour to minute"); + break; + case INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): + deparseAppendStringInfoString(state, " hour to second"); + break; + case INTERVAL_MASK(MINUTE) | INTERVAL_MASK(SECOND): + deparseAppendStringInfoString(state, " minute to second"); + break; + case INTERVAL_FULL_RANGE: + // Nothing + break; + default: + Assert(false); + break; + } + + if (list_length(type_name->typmods) == 2) + { + int precision = intVal(&castNode(A_Const, lsecond(type_name->typmods))->val); + if (precision != INTERVAL_FULL_PRECISION) + deparseAppendStringInfo(state, "(%d)", precision); + } +} + +static void deparseNullTest(DeparseState *state, NullTest *null_test) +{ + // argisrow is always false in raw parser output + Assert(null_test->argisrow == false); + + deparseExpr(state, (Node *) null_test->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + switch (null_test->nulltesttype) + { + case IS_NULL: + deparseAppendStringInfoString(state, " IS NULL"); + break; + case IS_NOT_NULL: + deparseAppendStringInfoString(state, " IS NOT NULL"); + break; + } +} + +// "case_expr" in gram.y +static void deparseCaseExpr(DeparseState *state, CaseExpr *case_expr) +{ + ListCell *lc; + DeparseStateNestingLevel *parent_level = NULL; + + deparseAppendStringInfoString(state, "CASE "); + + if (case_expr->arg != NULL) + { + deparseExpr(state, (Node *) case_expr->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + parent_level = deparseStateIncreaseNestingLevel(state); + + foreach(lc, case_expr->args) + { + deparseCaseWhen(state, castNode(CaseWhen, lfirst(lc))); + } + + if (case_expr->defresult != NULL) + { + deparseAppendPartGroup(state, "ELSE", DEPARSE_PART_INDENT); + deparseExpr(state, (Node *) case_expr->defresult, DEPARSE_NODE_CONTEXT_A_EXPR); + } + + deparseAppendStringInfoChar(state, ' '); + deparseStateDecreaseNestingLevel(state, parent_level); + + deparseAppendStringInfoString(state, "END"); +} + +// "when_clause" in gram.y +static void deparseCaseWhen(DeparseState *state, CaseWhen *case_when) +{ + deparseAppendPartGroup(state, "WHEN", DEPARSE_PART_INDENT); + deparseExpr(state, (Node *) case_when->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " THEN "); + deparseExpr(state, (Node *) case_when->result, DEPARSE_NODE_CONTEXT_A_EXPR); +} + +static void deparseAIndirection(DeparseState *state, A_Indirection *a_indirection) +{ + ListCell *lc; + bool need_parens = + IsA(a_indirection->arg, A_Indirection) || + IsA(a_indirection->arg, FuncCall) || + IsA(a_indirection->arg, A_Expr) || + IsA(a_indirection->arg, TypeCast) || + IsA(a_indirection->arg, RowExpr) || + (IsA(a_indirection->arg, ColumnRef) && !IsA(linitial(a_indirection->indirection), A_Indices)) || + IsA(a_indirection->arg, JsonFuncExpr); + + if (need_parens) + deparseAppendStringInfoChar(state, '('); + + deparseExpr(state, a_indirection->arg, need_parens ? DEPARSE_NODE_CONTEXT_A_EXPR : DEPARSE_NODE_CONTEXT_NONE); + + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + + deparseOptIndirection(state, a_indirection->indirection, 0); +} + +static void deparseAIndices(DeparseState *state, A_Indices *a_indices) +{ + deparseAppendStringInfoChar(state, '['); + if (a_indices->lidx != NULL) + deparseExpr(state, a_indices->lidx, DEPARSE_NODE_CONTEXT_A_EXPR); + if (a_indices->is_slice) + deparseAppendStringInfoChar(state, ':'); + if (a_indices->uidx != NULL) + deparseExpr(state, a_indices->uidx, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ']'); +} + +static void deparseCoalesceExpr(DeparseState *state, CoalesceExpr *coalesce_expr) +{ + deparseAppendStringInfoString(state, "COALESCE("); + deparseExprList(state, coalesce_expr->args); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseMinMaxExpr(DeparseState *state, MinMaxExpr *min_max_expr) +{ + switch (min_max_expr->op) + { + case IS_GREATEST: + deparseAppendStringInfoString(state, "GREATEST("); + break; + case IS_LEAST: + deparseAppendStringInfoString(state, "LEAST("); + break; + } + deparseExprList(state, min_max_expr->args); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseBooleanTest(DeparseState *state, BooleanTest *boolean_test) +{ + bool need_parens = IsA(boolean_test->arg, BoolExpr); + + if (need_parens) + deparseAppendStringInfoChar(state, '('); + + deparseExpr(state, (Node *) boolean_test->arg, DEPARSE_NODE_CONTEXT_A_EXPR); + + if (need_parens) + deparseAppendStringInfoChar(state, ')'); + + switch (boolean_test->booltesttype) + { + case IS_TRUE: + deparseAppendStringInfoString(state, " IS TRUE"); + break; + case IS_NOT_TRUE: + deparseAppendStringInfoString(state, " IS NOT TRUE"); + break; + case IS_FALSE: + deparseAppendStringInfoString(state, " IS FALSE"); + break; + case IS_NOT_FALSE: + deparseAppendStringInfoString(state, " IS NOT FALSE"); + break; + case IS_UNKNOWN: + deparseAppendStringInfoString(state, " IS UNKNOWN"); + break; + case IS_NOT_UNKNOWN: + deparseAppendStringInfoString(state, " IS NOT UNKNOWN"); + break; + default: + Assert(false); + } +} + +// "columnDef" and "alter_table_cmd" in gram.y +static void deparseColumnDef(DeparseState *state, ColumnDef *column_def) +{ + ListCell *lc; + + if (column_def->colname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(column_def->colname)); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->typeName != NULL) + { + deparseTypeName(state, column_def->typeName); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->storage_name) + { + deparseAppendStringInfoString(state, "STORAGE "); + deparseAppendStringInfoString(state, column_def->storage_name); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->raw_default != NULL) + { + deparseAppendStringInfoString(state, "USING "); + deparseExpr(state, column_def->raw_default, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->compression != NULL) + { + deparseAppendStringInfoString(state, "COMPRESSION "); + deparseAppendStringInfoString(state, column_def->compression); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->fdwoptions != NULL) + { + deparseCreateGenericOptions(state, column_def->fdwoptions); + deparseAppendStringInfoChar(state, ' '); + } + + foreach(lc, column_def->constraints) + { + deparseConstraint(state, castNode(Constraint, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + + if (column_def->collClause != NULL) + { + deparseCollateClause(state, column_def->collClause); + } + + removeTrailingSpace(state); +} + +static void deparseInsertOverride(DeparseState *state, OverridingKind override) +{ + switch (override) + { + case OVERRIDING_NOT_SET: + // Do nothing + break; + case OVERRIDING_USER_VALUE: + deparseAppendStringInfoString(state, "OVERRIDING USER VALUE "); + break; + case OVERRIDING_SYSTEM_VALUE: + deparseAppendStringInfoString(state, "OVERRIDING SYSTEM VALUE "); + break; + } +} + +static void deparseInsertStmt(DeparseState *state, InsertStmt *insert_stmt) +{ + ListCell *lc; + ListCell *lc2; + DeparseStateNestingLevel *parent_level = deparseStateIncreaseNestingLevel(state); + + if (insert_stmt->withClause != NULL) + { + deparseWithClause(state, insert_stmt->withClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendPartGroup(state, "INSERT INTO", DEPARSE_PART_INDENT); + deparseRangeVar(state, insert_stmt->relation, DEPARSE_NODE_CONTEXT_INSERT_RELATION); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(insert_stmt->cols) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseInsertColumnList(state, insert_stmt->cols); + deparseAppendStringInfoString(state, ") "); + } + + deparseInsertOverride(state, insert_stmt->override); + + if (insert_stmt->selectStmt != NULL) + { + deparseSelectStmt(state, castNode(SelectStmt, insert_stmt->selectStmt), DEPARSE_NODE_CONTEXT_INSERT_SELECT); + deparseAppendStringInfoChar(state, ' '); + } + else + { + deparseAppendStringInfoString(state, "DEFAULT VALUES "); + } + + if (insert_stmt->onConflictClause != NULL) + { + deparseOnConflictClause(state, insert_stmt->onConflictClause); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(insert_stmt->returningList) > 0) + { + deparseAppendPartGroup(state, "RETURNING", DEPARSE_PART_INDENT_AND_MERGE); + deparseTargetList(state, insert_stmt->returningList); + } + + removeTrailingSpace(state); + deparseStateDecreaseNestingLevel(state, parent_level); +} + +static void deparseInferClause(DeparseState *state, InferClause *infer_clause) +{ + ListCell *lc; + + if (list_length(infer_clause->indexElems) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, infer_clause->indexElems) + { + deparseIndexElem(state, lfirst(lc)); + if (lnext(infer_clause->indexElems, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } + + if (infer_clause->conname != NULL) + { + deparseAppendStringInfoString(state, "ON CONSTRAINT "); + deparseAppendStringInfoString(state, quote_identifier(infer_clause->conname)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseWhereClause(state, infer_clause->whereClause); + + removeTrailingSpace(state); +} + +static void deparseOnConflictClause(DeparseState *state, OnConflictClause *on_conflict_clause) +{ + ListCell *lc; + + deparseAppendPartGroup(state, "ON CONFLICT", DEPARSE_PART_INDENT); + + if (on_conflict_clause->infer != NULL) + { + deparseInferClause(state, on_conflict_clause->infer); + deparseAppendStringInfoChar(state, ' '); + } + + switch (on_conflict_clause->action) + { + case ONCONFLICT_NONE: + Assert(false); + break; + case ONCONFLICT_NOTHING: + deparseAppendStringInfoString(state, "DO NOTHING "); + break; + case ONCONFLICT_UPDATE: + deparseAppendStringInfoString(state, "DO UPDATE "); + break; + } + + if (list_length(on_conflict_clause->targetList) > 0) + { + deparseAppendPartGroup(state, "SET", DEPARSE_PART_INDENT); + deparseSetClauseList(state, on_conflict_clause->targetList); + deparseAppendStringInfoChar(state, ' '); + } + + deparseWhereClause(state, on_conflict_clause->whereClause); + + removeTrailingSpace(state); +} + +static void deparseUpdateStmt(DeparseState *state, UpdateStmt *update_stmt) +{ + ListCell* lc; + ListCell* lc2; + ListCell* lc3; + DeparseStateNestingLevel *parent_level = deparseStateIncreaseNestingLevel(state); + + if (update_stmt->withClause != NULL) + { + deparseWithClause(state, update_stmt->withClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendPartGroup(state, "UPDATE", DEPARSE_PART_INDENT); + deparseRangeVar(state, update_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(update_stmt->targetList) > 0) + { + deparseAppendPartGroup(state, "SET", DEPARSE_PART_INDENT); + deparseSetClauseList(state, update_stmt->targetList); + deparseAppendStringInfoChar(state, ' '); + } + + deparseFromClause(state, update_stmt->fromClause); + deparseWhereOrCurrentClause(state, update_stmt->whereClause); + + if (list_length(update_stmt->returningList) > 0) + { + deparseAppendPartGroup(state, "RETURNING", DEPARSE_PART_INDENT_AND_MERGE); + deparseTargetList(state, update_stmt->returningList); + } + + removeTrailingSpace(state); + deparseStateDecreaseNestingLevel(state, parent_level); +} + +// "MergeStmt" in gram.y +static void deparseMergeStmt(DeparseState *state, MergeStmt *merge_stmt) +{ + DeparseStateNestingLevel *parent_level = deparseStateIncreaseNestingLevel(state); + + if (merge_stmt->withClause != NULL) + { + deparseWithClause(state, merge_stmt->withClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendPartGroup(state, "MERGE", DEPARSE_PART_INDENT); + deparseAppendStringInfoString(state, "INTO "); + deparseRangeVar(state, merge_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendPartGroup(state, "USING", DEPARSE_PART_INDENT); + deparseTableRef(state, merge_stmt->sourceRelation); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "ON "); + deparseExpr(state, merge_stmt->joinCondition, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + + ListCell *lc; + foreach (lc, merge_stmt->mergeWhenClauses) + { + MergeWhenClause *clause = castNode(MergeWhenClause, lfirst(lc)); + + deparseAppendStringInfoString(state, "WHEN "); + + switch (clause->matchKind) + { + case MERGE_WHEN_MATCHED: + deparseAppendStringInfoString(state, "MATCHED "); + break; + case MERGE_WHEN_NOT_MATCHED_BY_SOURCE: + deparseAppendStringInfoString(state, "NOT MATCHED BY SOURCE "); + break; + case MERGE_WHEN_NOT_MATCHED_BY_TARGET: + deparseAppendStringInfoString(state, "NOT MATCHED "); + break; + } + + if (clause->condition) + { + deparseAppendStringInfoString(state, "AND "); + deparseExpr(state, clause->condition, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "THEN "); + + switch (clause->commandType) { + case CMD_INSERT: + deparseAppendStringInfoString(state, "INSERT "); + + if (clause->targetList) { + deparseAppendStringInfoChar(state, '('); + deparseInsertColumnList(state, clause->targetList); + deparseAppendStringInfoString(state, ") "); + } + + deparseInsertOverride(state, clause->override); + + if (clause->values) { + deparseAppendStringInfoString(state, "VALUES ("); + deparseExprList(state, clause->values); + deparseAppendStringInfoString(state, ")"); + } else { + deparseAppendStringInfoString(state, "DEFAULT VALUES "); + } + + break; + case CMD_UPDATE: + deparseAppendStringInfoString(state, "UPDATE SET "); + deparseSetClauseList(state, clause->targetList); + break; + case CMD_DELETE: + deparseAppendStringInfoString(state, "DELETE"); + break; + case CMD_NOTHING: + deparseAppendStringInfoString(state, "DO NOTHING"); + break; + default: + elog(ERROR, "deparse: unpermitted command type in merge statement: %d", clause->commandType); + break; + } + + if (lfirst(lc) != llast(merge_stmt->mergeWhenClauses)) + deparseAppendStringInfoChar(state, ' '); + } + + if (merge_stmt->returningList) + { + deparseAppendPartGroup(state, "RETURNING", DEPARSE_PART_INDENT_AND_MERGE); + deparseTargetList(state, merge_stmt->returningList); + } + + deparseStateDecreaseNestingLevel(state, parent_level); +} + +static void deparseDeleteStmt(DeparseState *state, DeleteStmt *delete_stmt) +{ + DeparseStateNestingLevel *parent_level = deparseStateIncreaseNestingLevel(state); + + if (delete_stmt->withClause != NULL) + { + deparseWithClause(state, delete_stmt->withClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendPartGroup(state, "DELETE", DEPARSE_PART_INDENT); + deparseAppendStringInfoString(state, "FROM "); + deparseRangeVar(state, delete_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (delete_stmt->usingClause != NULL) + { + deparseAppendPartGroup(state, "USING", DEPARSE_PART_INDENT); + deparseFromList(state, delete_stmt->usingClause); + deparseAppendStringInfoChar(state, ' '); + } + + deparseWhereOrCurrentClause(state, delete_stmt->whereClause); + + if (list_length(delete_stmt->returningList) > 0) + { + deparseAppendPartGroup(state, "RETURNING", DEPARSE_PART_INDENT_AND_MERGE); + deparseTargetList(state, delete_stmt->returningList); + } + + removeTrailingSpace(state); + deparseStateDecreaseNestingLevel(state, parent_level); +} + +static void deparseLockingClause(DeparseState *state, LockingClause *locking_clause) +{ + ListCell *lc; + + switch (locking_clause->strength) + { + case LCS_NONE: + /* no such clause - only used in PlanRowMark */ + Assert(false); + break; + case LCS_FORKEYSHARE: + deparseAppendPartGroup(state, "FOR KEY SHARE", DEPARSE_PART_INDENT); + break; + case LCS_FORSHARE: + deparseAppendPartGroup(state, "FOR SHARE", DEPARSE_PART_INDENT); + break; + case LCS_FORNOKEYUPDATE: + deparseAppendPartGroup(state, "FOR NO KEY UPDATE", DEPARSE_PART_INDENT); + break; + case LCS_FORUPDATE: + deparseAppendPartGroup(state, "FOR UPDATE", DEPARSE_PART_INDENT); + break; + } + + if (list_length(locking_clause->lockedRels) > 0) + { + deparseAppendStringInfoString(state, "OF "); + deparseQualifiedNameList(state, locking_clause->lockedRels); + deparseAppendStringInfoChar(state, ' '); + } + + switch (locking_clause->waitPolicy) + { + case LockWaitError: + deparseAppendStringInfoString(state, "NOWAIT"); + break; + case LockWaitSkip: + deparseAppendStringInfoString(state, "SKIP LOCKED"); + break; + case LockWaitBlock: + // Default + break; + } + + removeTrailingSpace(state); +} + +static void deparseSetToDefault(DeparseState *state, SetToDefault *set_to_default) +{ + deparseAppendStringInfoString(state, "DEFAULT"); +} + +static void deparseCreateCastStmt(DeparseState *state, CreateCastStmt *create_cast_stmt) +{ + ListCell *lc; + ListCell *lc2; + + deparseAppendStringInfoString(state, "CREATE CAST ("); + deparseTypeName(state, create_cast_stmt->sourcetype); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, create_cast_stmt->targettype); + deparseAppendStringInfoString(state, ") "); + + if (create_cast_stmt->func != NULL) + { + deparseAppendStringInfoString(state, "WITH FUNCTION "); + deparseFunctionWithArgtypes(state, create_cast_stmt->func); + deparseAppendStringInfoChar(state, ' '); + } + else if (create_cast_stmt->inout) + { + deparseAppendStringInfoString(state, "WITH INOUT "); + } + else + { + deparseAppendStringInfoString(state, "WITHOUT FUNCTION "); + } + + switch (create_cast_stmt->context) + { + case COERCION_IMPLICIT: + deparseAppendStringInfoString(state, "AS IMPLICIT"); + break; + case COERCION_ASSIGNMENT: + deparseAppendStringInfoString(state, "AS ASSIGNMENT"); + break; + case COERCION_PLPGSQL: + // Not present in raw parser output + Assert(false); + break; + case COERCION_EXPLICIT: + // Default + break; + } +} + +static void deparseCreateOpClassStmt(DeparseState *state, CreateOpClassStmt *create_op_class_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "CREATE OPERATOR CLASS "); + + deparseAnyName(state, create_op_class_stmt->opclassname); + deparseAppendStringInfoChar(state, ' '); + + if (create_op_class_stmt->isDefault) + deparseAppendStringInfoString(state, "DEFAULT "); + + deparseAppendStringInfoString(state, "FOR TYPE "); + deparseTypeName(state, create_op_class_stmt->datatype); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(create_op_class_stmt->amname)); + deparseAppendStringInfoChar(state, ' '); + + if (create_op_class_stmt->opfamilyname != NULL) + { + deparseAppendStringInfoString(state, "FAMILY "); + deparseAnyName(state, create_op_class_stmt->opfamilyname); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "AS "); + deparseOpclassItemList(state, create_op_class_stmt->items); +} + +static void deparseCreateOpFamilyStmt(DeparseState *state, CreateOpFamilyStmt *create_op_family_stmt) +{ + deparseAppendStringInfoString(state, "CREATE OPERATOR FAMILY "); + + deparseAnyName(state, create_op_family_stmt->opfamilyname); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(create_op_family_stmt->amname)); +} + +static void deparseCreateOpClassItem(DeparseState *state, CreateOpClassItem *create_op_class_item) +{ + ListCell *lc = NULL; + + switch (create_op_class_item->itemtype) + { + case OPCLASS_ITEM_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + deparseAppendStringInfo(state, "%d ", create_op_class_item->number); + + if (create_op_class_item->name != NULL) + { + if (create_op_class_item->name->objargs != NULL) + deparseOperatorWithArgtypes(state, create_op_class_item->name); + else + deparseAnyOperator(state, create_op_class_item->name->objname); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_op_class_item->order_family != NULL) + { + deparseAppendStringInfoString(state, "FOR ORDER BY "); + deparseAnyName(state, create_op_class_item->order_family); + } + + if (create_op_class_item->class_args != NULL) + { + deparseAppendStringInfoChar(state, '('); + deparseTypeList(state, create_op_class_item->class_args); + deparseAppendStringInfoChar(state, ')'); + } + removeTrailingSpace(state); + break; + case OPCLASS_ITEM_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseAppendStringInfo(state, "%d ", create_op_class_item->number); + if (create_op_class_item->class_args != NULL) + { + deparseAppendStringInfoChar(state, '('); + deparseTypeList(state, create_op_class_item->class_args); + deparseAppendStringInfoString(state, ") "); + } + if (create_op_class_item->name != NULL) + deparseFunctionWithArgtypes(state, create_op_class_item->name); + removeTrailingSpace(state); + break; + case OPCLASS_ITEM_STORAGETYPE: + deparseAppendStringInfoString(state, "STORAGE "); + deparseTypeName(state, create_op_class_item->storedtype); + break; + default: + Assert(false); + } +} + +static void deparseTableLikeClause(DeparseState *state, TableLikeClause *table_like_clause) +{ + deparseAppendStringInfoString(state, "LIKE "); + deparseRangeVar(state, table_like_clause->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (table_like_clause->options == CREATE_TABLE_LIKE_ALL) + deparseAppendStringInfoString(state, "INCLUDING ALL "); + else + { + if (table_like_clause->options & CREATE_TABLE_LIKE_COMMENTS) + deparseAppendStringInfoString(state, "INCLUDING COMMENTS "); + if (table_like_clause->options & CREATE_TABLE_LIKE_COMPRESSION) + deparseAppendStringInfoString(state, "INCLUDING COMPRESSION "); + if (table_like_clause->options & CREATE_TABLE_LIKE_CONSTRAINTS) + deparseAppendStringInfoString(state, "INCLUDING CONSTRAINTS "); + if (table_like_clause->options & CREATE_TABLE_LIKE_DEFAULTS) + deparseAppendStringInfoString(state, "INCLUDING DEFAULTS "); + if (table_like_clause->options & CREATE_TABLE_LIKE_IDENTITY) + deparseAppendStringInfoString(state, "INCLUDING IDENTITY "); + if (table_like_clause->options & CREATE_TABLE_LIKE_GENERATED) + deparseAppendStringInfoString(state, "INCLUDING GENERATED "); + if (table_like_clause->options & CREATE_TABLE_LIKE_INDEXES) + deparseAppendStringInfoString(state, "INCLUDING INDEXES "); + if (table_like_clause->options & CREATE_TABLE_LIKE_STATISTICS) + deparseAppendStringInfoString(state, "INCLUDING STATISTICS "); + if (table_like_clause->options & CREATE_TABLE_LIKE_STORAGE) + deparseAppendStringInfoString(state, "INCLUDING STORAGE "); + } + removeTrailingSpace(state); +} + +static void deparseCreateDomainStmt(DeparseState *state, CreateDomainStmt *create_domain_stmt) +{ + ListCell *lc; + + Assert(create_domain_stmt->typeName != NULL); + + deparseAppendStringInfoString(state, "CREATE DOMAIN "); + deparseAnyName(state, create_domain_stmt->domainname); + deparseAppendStringInfoString(state, " AS "); + + deparseTypeName(state, create_domain_stmt->typeName); + deparseAppendStringInfoChar(state, ' '); + + if (create_domain_stmt->collClause != NULL) + { + deparseCollateClause(state, create_domain_stmt->collClause); + deparseAppendStringInfoChar(state, ' '); + } + + foreach(lc, create_domain_stmt->constraints) + { + deparseConstraint(state, castNode(Constraint, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +static void deparseCreateExtensionStmt(DeparseState *state, CreateExtensionStmt *create_extension_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "CREATE EXTENSION "); + + if (create_extension_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseColId(state, create_extension_stmt->extname); + deparseAppendStringInfoChar(state, ' '); + + foreach (lc, create_extension_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + + if (strcmp(def_elem->defname, "schema") == 0) + { + deparseAppendStringInfoString(state, "SCHEMA "); + deparseColId(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "new_version") == 0) + { + deparseAppendStringInfoString(state, "VERSION "); + deparseNonReservedWordOrSconst(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "cascade") == 0) + { + deparseAppendStringInfoString(state, "CASCADE"); + } + else + { + Assert(false); + } + + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +// "ColConstraintElem" and "ConstraintElem" in gram.y +static void deparseConstraint(DeparseState *state, Constraint *constraint) +{ + ListCell *lc; + + if (constraint->conname != NULL) + { + deparseAppendStringInfoString(state, "CONSTRAINT "); + deparseAppendStringInfoString(state, quote_identifier(constraint->conname)); + deparseAppendStringInfoChar(state, ' '); + } + + switch (constraint->contype) { + case CONSTR_NULL: + deparseAppendStringInfoString(state, "NULL "); + break; + case CONSTR_NOTNULL: + deparseAppendStringInfoString(state, "NOT NULL "); + break; + case CONSTR_DEFAULT: + deparseAppendStringInfoString(state, "DEFAULT "); + deparseBExpr(state, constraint->raw_expr); + break; + case CONSTR_IDENTITY: + deparseAppendStringInfoString(state, "GENERATED "); + switch (constraint->generated_when) + { + case ATTRIBUTE_IDENTITY_ALWAYS: + deparseAppendStringInfoString(state, "ALWAYS "); + break; + case ATTRIBUTE_IDENTITY_BY_DEFAULT: + deparseAppendStringInfoString(state, "BY DEFAULT "); + break; + default: + Assert(false); + } + deparseAppendStringInfoString(state, "AS IDENTITY "); + deparseOptParenthesizedSeqOptList(state, constraint->options); + break; + case CONSTR_GENERATED: + Assert(constraint->generated_when == ATTRIBUTE_IDENTITY_ALWAYS); + deparseAppendStringInfoString(state, "GENERATED ALWAYS AS ("); + deparseExpr(state, constraint->raw_expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") STORED "); + break; + case CONSTR_CHECK: + deparseAppendStringInfoString(state, "CHECK ("); + deparseExpr(state, constraint->raw_expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + break; + case CONSTR_PRIMARY: + deparseAppendStringInfoString(state, "PRIMARY KEY "); + break; + case CONSTR_UNIQUE: + deparseAppendStringInfoString(state, "UNIQUE "); + if (constraint->nulls_not_distinct) + deparseAppendStringInfoString(state, "NULLS NOT DISTINCT "); + break; + case CONSTR_EXCLUSION: + deparseAppendStringInfoString(state, "EXCLUDE "); + if (strcmp(constraint->access_method, DEFAULT_INDEX_TYPE) != 0) + { + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(constraint->access_method)); + deparseAppendStringInfoChar(state, ' '); + } + deparseAppendStringInfoChar(state, '('); + foreach(lc, constraint->exclusions) + { + List *exclusion = castNode(List, lfirst(lc)); + Assert(list_length(exclusion) == 2); + deparseIndexElem(state, castNode(IndexElem, linitial(exclusion))); + deparseAppendStringInfoString(state, " WITH "); + deparseAnyOperator(state, castNode(List, lsecond(exclusion))); + if (lnext(constraint->exclusions, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + if (constraint->where_clause != NULL) + { + deparseAppendStringInfoString(state, "WHERE ("); + deparseExpr(state, constraint->where_clause, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + break; + case CONSTR_FOREIGN: + if (list_length(constraint->fk_attrs) > 0) + deparseAppendStringInfoString(state, "FOREIGN KEY "); + break; + case CONSTR_ATTR_DEFERRABLE: + deparseAppendStringInfoString(state, "DEFERRABLE "); + break; + case CONSTR_ATTR_NOT_DEFERRABLE: + deparseAppendStringInfoString(state, "NOT DEFERRABLE "); + break; + case CONSTR_ATTR_DEFERRED: + deparseAppendStringInfoString(state, "INITIALLY DEFERRED "); + break; + case CONSTR_ATTR_IMMEDIATE: + deparseAppendStringInfoString(state, "INITIALLY IMMEDIATE "); + break; + } + + if (list_length(constraint->keys) > 0) + { + bool valueOnly = false; + + if (list_length(constraint->keys) == 1) { + Node* firstKey = constraint->keys->elements[0].ptr_value; + valueOnly = IsA(firstKey, String) && !strcmp("value", ((String*)firstKey)->sval); + } + + if (!valueOnly) { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, constraint->keys); + deparseAppendStringInfoString(state, ") "); + } + } + + if (list_length(constraint->fk_attrs) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, constraint->fk_attrs); + deparseAppendStringInfoString(state, ") "); + } + + if (constraint->pktable != NULL) + { + deparseAppendStringInfoString(state, "REFERENCES "); + deparseRangeVar(state, constraint->pktable, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + if (list_length(constraint->pk_attrs) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, constraint->pk_attrs); + deparseAppendStringInfoString(state, ") "); + } + } + + switch (constraint->fk_matchtype) + { + case FKCONSTR_MATCH_SIMPLE: + // Default + break; + case FKCONSTR_MATCH_FULL: + deparseAppendStringInfoString(state, "MATCH FULL "); + break; + case FKCONSTR_MATCH_PARTIAL: + // Not implemented in Postgres + Assert(false); + break; + default: + // Not specified + break; + } + + switch (constraint->fk_upd_action) + { + case FKCONSTR_ACTION_NOACTION: + // Default + break; + case FKCONSTR_ACTION_RESTRICT: + deparseAppendStringInfoString(state, "ON UPDATE RESTRICT "); + break; + case FKCONSTR_ACTION_CASCADE: + deparseAppendStringInfoString(state, "ON UPDATE CASCADE "); + break; + case FKCONSTR_ACTION_SETNULL: + deparseAppendStringInfoString(state, "ON UPDATE SET NULL "); + break; + case FKCONSTR_ACTION_SETDEFAULT: + deparseAppendStringInfoString(state, "ON UPDATE SET DEFAULT "); + break; + default: + // Not specified + break; + } + + switch (constraint->fk_del_action) + { + case FKCONSTR_ACTION_NOACTION: + // Default + break; + case FKCONSTR_ACTION_RESTRICT: + deparseAppendStringInfoString(state, "ON DELETE RESTRICT "); + break; + case FKCONSTR_ACTION_CASCADE: + deparseAppendStringInfoString(state, "ON DELETE CASCADE "); + break; + case FKCONSTR_ACTION_SETNULL: + case FKCONSTR_ACTION_SETDEFAULT: + deparseAppendStringInfoString(state, "ON DELETE SET "); + + switch (constraint->fk_del_action) { + case FKCONSTR_ACTION_SETDEFAULT: deparseAppendStringInfoString(state, "DEFAULT "); break; + case FKCONSTR_ACTION_SETNULL: deparseAppendStringInfoString(state, "NULL "); break; + } + + if (constraint->fk_del_set_cols) { + deparseAppendStringInfoString(state, "("); + ListCell *lc; + foreach (lc, constraint->fk_del_set_cols) { + deparseAppendStringInfoString(state, strVal(lfirst(lc))); + if (lfirst(lc) != llast(constraint->fk_del_set_cols)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ")"); + } + break; + default: + // Not specified + break; + } + + if (list_length(constraint->including) > 0) + { + deparseAppendStringInfoString(state, "INCLUDE ("); + deparseColumnList(state, constraint->including); + deparseAppendStringInfoString(state, ") "); + } + + switch (constraint->contype) + { + case CONSTR_PRIMARY: + case CONSTR_UNIQUE: + case CONSTR_EXCLUSION: + deparseOptWith(state, constraint->options); + break; + default: + break; + } + + if (constraint->indexname != NULL) + deparseAppendStringInfo(state, "USING INDEX %s ", quote_identifier(constraint->indexname)); + + if (constraint->indexspace != NULL) + deparseAppendStringInfo(state, "USING INDEX TABLESPACE %s ", quote_identifier(constraint->indexspace)); + + if (constraint->deferrable) + deparseAppendStringInfoString(state, "DEFERRABLE "); + + if (constraint->initdeferred) + deparseAppendStringInfoString(state, "INITIALLY DEFERRED "); + + if (constraint->is_no_inherit) + deparseAppendStringInfoString(state, "NO INHERIT "); + + if (constraint->skip_validation) + deparseAppendStringInfoString(state, "NOT VALID "); + + removeTrailingSpace(state); +} + +// "ReturnStmt" in gram.y +static void deparseReturnStmt(DeparseState *state, ReturnStmt *return_stmt) +{ + deparseAppendStringInfoString(state, "RETURN "); + deparseExpr(state, return_stmt->returnval, DEPARSE_NODE_CONTEXT_A_EXPR); +} + +static void deparseCreateFunctionStmt(DeparseState *state, CreateFunctionStmt *create_function_stmt) +{ + ListCell *lc; + bool tableFunc = false; + + deparseAppendStringInfoString(state, "CREATE "); + if (create_function_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + if (create_function_stmt->is_procedure) + deparseAppendStringInfoString(state, "PROCEDURE "); + else + deparseAppendStringInfoString(state, "FUNCTION "); + + deparseFuncName(state, create_function_stmt->funcname); + + deparseAppendStringInfoChar(state, '('); + foreach(lc, create_function_stmt->parameters) + { + FunctionParameter *function_parameter = castNode(FunctionParameter, lfirst(lc)); + if (function_parameter->mode != FUNC_PARAM_TABLE) + { + deparseFunctionParameter(state, function_parameter); + if (lnext(create_function_stmt->parameters, lc) && castNode(FunctionParameter, lfirst(lnext(create_function_stmt->parameters, lc)))->mode != FUNC_PARAM_TABLE) + deparseAppendStringInfoString(state, ", "); + } + else + { + tableFunc = true; + } + } + deparseAppendStringInfoString(state, ") "); + + if (tableFunc) + { + deparseAppendStringInfoString(state, "RETURNS TABLE ("); + foreach(lc, create_function_stmt->parameters) + { + FunctionParameter *function_parameter = castNode(FunctionParameter, lfirst(lc)); + if (function_parameter->mode == FUNC_PARAM_TABLE) + { + deparseFunctionParameter(state, function_parameter); + if (lnext(create_function_stmt->parameters, lc)) + deparseAppendStringInfoString(state, ", "); + } + } + deparseAppendStringInfoString(state, ") "); + } + else if (create_function_stmt->returnType != NULL) + { + deparseAppendStringInfoString(state, "RETURNS "); + deparseTypeName(state, create_function_stmt->returnType); + deparseAppendStringInfoChar(state, ' '); + } + + foreach(lc, create_function_stmt->options) + { + deparseCreateFuncOptItem(state, castNode(DefElem, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_function_stmt->sql_body) + { + /* RETURN or BEGIN ... END + */ + if (IsA(create_function_stmt->sql_body, ReturnStmt)) + { + deparseReturnStmt(state, castNode(ReturnStmt, create_function_stmt->sql_body)); + } + else + { + deparseAppendStringInfoString(state, "BEGIN ATOMIC "); + if (IsA(create_function_stmt->sql_body, List), linitial((List *) create_function_stmt->sql_body) != NULL) + { + List *body_stmt_list = castNode(List, linitial((List *) create_function_stmt->sql_body)); + foreach(lc, body_stmt_list) + { + if (IsA(lfirst(lc), ReturnStmt)) + { + deparseReturnStmt(state, lfirst_node(ReturnStmt, lc)); + deparseAppendStringInfoString(state, "; "); + } + else + { + deparseStmt(state, lfirst(lc)); + deparseAppendStringInfoString(state, "; "); + } + } + } + + deparseAppendStringInfoString(state, "END "); + } + } + + removeTrailingSpace(state); +} + +// "func_arg", "func_arg_with_default" and other places in gram.y +static void deparseFunctionParameter(DeparseState *state, FunctionParameter *function_parameter) +{ + switch (function_parameter->mode) + { + case FUNC_PARAM_IN: /* input only */ + deparseAppendStringInfoString(state, "IN "); + break; + case FUNC_PARAM_OUT: /* output only */ + deparseAppendStringInfoString(state, "OUT "); + break; + case FUNC_PARAM_INOUT: /* both */ + deparseAppendStringInfoString(state, "INOUT "); + break; + case FUNC_PARAM_VARIADIC: /* variadic (always input) */ + deparseAppendStringInfoString(state, "VARIADIC "); + break; + case FUNC_PARAM_TABLE: /* table function output column */ + // No special annotation, the caller is expected to correctly put + // this into the RETURNS part of the CREATE FUNCTION statement + break; + case FUNC_PARAM_DEFAULT: + // Default + break; + default: + Assert(false); + break; + } + + if (function_parameter->name != NULL) + { + deparseAppendStringInfoString(state, function_parameter->name); + deparseAppendStringInfoChar(state, ' '); + } + + deparseTypeName(state, function_parameter->argType); + deparseAppendStringInfoChar(state, ' '); + + if (function_parameter->defexpr != NULL) + { + deparseAppendStringInfoString(state, "= "); + deparseExpr(state, function_parameter->defexpr, DEPARSE_NODE_CONTEXT_A_EXPR); + } + + removeTrailingSpace(state); +} + +static void deparseCheckPointStmt(DeparseState *state, CheckPointStmt *check_point_stmt) +{ + deparseAppendStringInfoString(state, "CHECKPOINT"); +} + +static void deparseCreateSchemaStmt(DeparseState *state, CreateSchemaStmt *create_schema_stmt) +{ + ListCell *lc; + deparseAppendStringInfoString(state, "CREATE SCHEMA "); + + if (create_schema_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + if (create_schema_stmt->schemaname) + { + deparseColId(state, create_schema_stmt->schemaname); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_schema_stmt->authrole != NULL) + { + deparseAppendStringInfoString(state, "AUTHORIZATION "); + deparseRoleSpec(state, create_schema_stmt->authrole); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_schema_stmt->schemaElts) + { + foreach(lc, create_schema_stmt->schemaElts) + { + deparseSchemaStmt(state, lfirst(lc)); + if (lnext(create_schema_stmt->schemaElts, lc)) + deparseAppendStringInfoChar(state, ' '); + } + } + + removeTrailingSpace(state); +} + +static void deparseAlterRoleSetStmt(DeparseState *state, AlterRoleSetStmt *alter_role_set_stmt) +{ + deparseAppendStringInfoString(state, "ALTER ROLE "); + + if (alter_role_set_stmt->role == NULL) + deparseAppendStringInfoString(state, "ALL"); + else + deparseRoleSpec(state, alter_role_set_stmt->role); + + deparseAppendStringInfoChar(state, ' '); + + if (alter_role_set_stmt->database != NULL) + { + deparseAppendStringInfoString(state, "IN DATABASE "); + deparseAppendStringInfoString(state, quote_identifier(alter_role_set_stmt->database)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseVariableSetStmt(state, alter_role_set_stmt->setstmt); +} + +static void deparseCreateConversionStmt(DeparseState *state, CreateConversionStmt *create_conversion_stmt) +{ + deparseAppendStringInfoString(state, "CREATE "); + if (create_conversion_stmt->def) + deparseAppendStringInfoString(state, "DEFAULT "); + + deparseAppendStringInfoString(state, "CONVERSION "); + deparseAnyName(state, create_conversion_stmt->conversion_name); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "FOR "); + deparseStringLiteral(state, create_conversion_stmt->for_encoding_name); + deparseAppendStringInfoString(state, " TO "); + deparseStringLiteral(state, create_conversion_stmt->to_encoding_name); + + deparseAppendStringInfoString(state, "FROM "); + deparseAnyName(state, create_conversion_stmt->func_name); +} + +static void deparseRoleSpec(DeparseState *state, RoleSpec *role_spec) +{ + switch (role_spec->roletype) + { + case ROLESPEC_CSTRING: + Assert(role_spec->rolename != NULL); + deparseAppendStringInfoString(state, quote_identifier(role_spec->rolename)); + break; + case ROLESPEC_CURRENT_ROLE: + deparseAppendStringInfoString(state, "CURRENT_ROLE"); + break; + case ROLESPEC_CURRENT_USER: + deparseAppendStringInfoString(state, "CURRENT_USER"); + break; + case ROLESPEC_SESSION_USER: + deparseAppendStringInfoString(state, "SESSION_USER"); + break; + case ROLESPEC_PUBLIC: + deparseAppendStringInfoString(state, "public"); + break; + } +} + +// "part_elem" in gram.y +static void deparsePartitionElem(DeparseState *state, PartitionElem *partition_elem) +{ + ListCell *lc; + + if (partition_elem->name != NULL) + { + deparseColId(state, partition_elem->name); + deparseAppendStringInfoChar(state, ' '); + } + else if (partition_elem->expr != NULL) + { + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, partition_elem->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + deparseOptCollate(state, partition_elem->collation); + deparseAnyName(state, partition_elem->opclass); + + removeTrailingSpace(state); +} + +static void deparsePartitionSpec(DeparseState *state, PartitionSpec *partition_spec) +{ + ListCell *lc; + + deparseAppendPartGroup(state, "PARTITION BY", DEPARSE_PART_INDENT); + + switch (partition_spec->strategy) + { + case PARTITION_STRATEGY_LIST: + deparseAppendStringInfoString(state, "LIST"); + break; + case PARTITION_STRATEGY_HASH: + deparseAppendStringInfoString(state, "HASH"); + break; + case PARTITION_STRATEGY_RANGE: + deparseAppendStringInfoString(state, "RANGE"); + break; + } + + deparseAppendStringInfoString(state, " ("); + foreach(lc, partition_spec->partParams) + { + deparsePartitionElem(state, castNode(PartitionElem, lfirst(lc))); + if (lnext(partition_spec->partParams, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); +} + +static void deparsePartitionBoundSpec(DeparseState *state, PartitionBoundSpec *partition_bound_spec) +{ + ListCell *lc; + + if (partition_bound_spec->is_default) + { + deparseAppendStringInfoString(state, "DEFAULT"); + return; + } + + deparseAppendStringInfoString(state, "FOR VALUES "); + + switch (partition_bound_spec->strategy) + { + case PARTITION_STRATEGY_HASH: + deparseAppendStringInfo(state, "WITH (MODULUS %d, REMAINDER %d)", partition_bound_spec->modulus, partition_bound_spec->remainder); + break; + case PARTITION_STRATEGY_LIST: + deparseAppendStringInfoString(state, "IN ("); + deparseExprList(state, partition_bound_spec->listdatums); + deparseAppendStringInfoChar(state, ')'); + break; + case PARTITION_STRATEGY_RANGE: + deparseAppendStringInfoString(state, "FROM ("); + deparseExprList(state, partition_bound_spec->lowerdatums); + deparseAppendStringInfoString(state, ") TO ("); + deparseExprList(state, partition_bound_spec->upperdatums); + deparseAppendStringInfoChar(state, ')'); + break; + default: + Assert(false); + break; + } +} + +static void deparsePartitionCmd(DeparseState *state, PartitionCmd *partition_cmd) +{ + deparseRangeVar(state, partition_cmd->name, DEPARSE_NODE_CONTEXT_NONE); + + if (partition_cmd->bound != NULL) + { + deparseAppendStringInfoChar(state, ' '); + deparsePartitionBoundSpec(state, partition_cmd->bound); + } + if (partition_cmd->concurrent) + deparseAppendStringInfoString(state, " CONCURRENTLY "); +} + +// "TableElement" in gram.y +static void deparseTableElement(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_ColumnDef: + deparseColumnDef(state, castNode(ColumnDef, node)); + break; + case T_TableLikeClause: + deparseTableLikeClause(state, castNode(TableLikeClause, node)); + break; + case T_Constraint: + deparseConstraint(state, castNode(Constraint, node)); + break; + default: + Assert(false); + } +} + +static void deparseCreateStmt(DeparseState *state, CreateStmt *create_stmt, bool is_foreign_table) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + if (is_foreign_table) + deparseAppendStringInfoString(state, "FOREIGN "); + + deparseOptTemp(state, create_stmt->relation->relpersistence); + + deparseAppendStringInfoString(state, "TABLE "); + + if (create_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseRangeVar(state, create_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (create_stmt->ofTypename != NULL) + { + deparseAppendStringInfoString(state, "OF "); + deparseTypeName(state, create_stmt->ofTypename); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_stmt->partbound != NULL) + { + Assert(list_length(create_stmt->inhRelations) == 1); + deparseAppendStringInfoString(state, "PARTITION OF "); + deparseRangeVar(state, castNode(RangeVar, linitial(create_stmt->inhRelations)), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(create_stmt->tableElts) > 0) + { + DeparseStateNestingLevel *parent_level = NULL; + // In raw parse output tableElts contains both columns and constraints + // (and the constraints field is NIL) + deparseAppendStringInfoChar(state, '('); + parent_level = deparseStateIncreaseNestingLevel(state); + foreach(lc, create_stmt->tableElts) + { + deparseTableElement(state, lfirst(lc)); + if (lnext(create_stmt->tableElts, lc)) + deparseAppendCommaAndPart(state); + } + deparseStateDecreaseNestingLevel(state, parent_level); + deparseAppendStringInfoString(state, ") "); + } + else if (create_stmt->partbound == NULL && create_stmt->ofTypename == NULL) + { + deparseAppendStringInfoString(state, "() "); + } + + if (create_stmt->partbound != NULL) + { + deparsePartitionBoundSpec(state, create_stmt->partbound); + deparseAppendStringInfoChar(state, ' '); + } + else + { + deparseOptInherit(state, create_stmt->inhRelations); + } + + if (create_stmt->partspec != NULL) + { + deparsePartitionSpec(state, create_stmt->partspec); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_stmt->accessMethod != NULL) + { + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(create_stmt->accessMethod)); + } + + deparseOptWith(state, create_stmt->options); + + switch (create_stmt->oncommit) + { + case ONCOMMIT_NOOP: + // No ON COMMIT clause + break; + case ONCOMMIT_PRESERVE_ROWS: + deparseAppendStringInfoString(state, "ON COMMIT PRESERVE ROWS "); + break; + case ONCOMMIT_DELETE_ROWS: + deparseAppendStringInfoString(state, "ON COMMIT DELETE ROWS "); + break; + case ONCOMMIT_DROP: + deparseAppendStringInfoString(state, "ON COMMIT DROP "); + break; + } + + if (create_stmt->tablespacename != NULL) + { + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseAppendStringInfoString(state, quote_identifier(create_stmt->tablespacename)); + } + + removeTrailingSpace(state); +} + +static void deparseCreateFdwStmt(DeparseState *state, CreateFdwStmt *create_fdw_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE FOREIGN DATA WRAPPER "); + deparseAppendStringInfoString(state, quote_identifier(create_fdw_stmt->fdwname)); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(create_fdw_stmt->func_options) > 0) + { + deparseFdwOptions(state, create_fdw_stmt->func_options); + deparseAppendStringInfoChar(state, ' '); + } + + deparseCreateGenericOptions(state, create_fdw_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseAlterFdwStmt(DeparseState *state, AlterFdwStmt *alter_fdw_stmt) +{ + deparseAppendStringInfoString(state, "ALTER FOREIGN DATA WRAPPER "); + deparseAppendStringInfoString(state, quote_identifier(alter_fdw_stmt->fdwname)); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(alter_fdw_stmt->func_options) > 0) + { + deparseFdwOptions(state, alter_fdw_stmt->func_options); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(alter_fdw_stmt->options) > 0) + deparseAlterGenericOptions(state, alter_fdw_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseCreateForeignServerStmt(DeparseState *state, CreateForeignServerStmt *create_foreign_server_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE SERVER "); + if (create_foreign_server_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + deparseAppendStringInfoString(state, quote_identifier(create_foreign_server_stmt->servername)); + deparseAppendStringInfoChar(state, ' '); + + if (create_foreign_server_stmt->servertype != NULL) + { + deparseAppendStringInfoString(state, "TYPE "); + deparseStringLiteral(state, create_foreign_server_stmt->servertype); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_foreign_server_stmt->version != NULL) + { + deparseAppendStringInfoString(state, "VERSION "); + deparseStringLiteral(state, create_foreign_server_stmt->version); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + deparseAppendStringInfoString(state, quote_identifier(create_foreign_server_stmt->fdwname)); + deparseAppendStringInfoChar(state, ' '); + + deparseCreateGenericOptions(state, create_foreign_server_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseAlterForeignServerStmt(DeparseState *state, AlterForeignServerStmt *alter_foreign_server_stmt) +{ + deparseAppendStringInfoString(state, "ALTER SERVER "); + + deparseAppendStringInfoString(state, quote_identifier(alter_foreign_server_stmt->servername)); + deparseAppendStringInfoChar(state, ' '); + + if (alter_foreign_server_stmt->has_version) + { + deparseAppendStringInfoString(state, "VERSION "); + if (alter_foreign_server_stmt->version != NULL) + deparseStringLiteral(state, alter_foreign_server_stmt->version); + else + deparseAppendStringInfoString(state, "NULL"); + deparseAppendStringInfoChar(state, ' '); + } + + if (list_length(alter_foreign_server_stmt->options) > 0) + deparseAlterGenericOptions(state, alter_foreign_server_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseCreateUserMappingStmt(DeparseState *state, CreateUserMappingStmt *create_user_mapping_stmt) +{ + deparseAppendStringInfoString(state, "CREATE USER MAPPING "); + if (create_user_mapping_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseAppendStringInfoString(state, "FOR "); + deparseRoleSpec(state, create_user_mapping_stmt->user); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "SERVER "); + deparseAppendStringInfoString(state, quote_identifier(create_user_mapping_stmt->servername)); + deparseAppendStringInfoChar(state, ' '); + + deparseCreateGenericOptions(state, create_user_mapping_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseCreatedbStmt(DeparseState *state, CreatedbStmt *createdb_stmt) +{ + deparseAppendStringInfoString(state, "CREATE DATABASE "); + deparseColId(state, createdb_stmt->dbname); + deparseAppendStringInfoChar(state, ' '); + deparseCreatedbOptList(state, createdb_stmt->options); + removeTrailingSpace(state); +} + +static void deparseAlterUserMappingStmt(DeparseState *state, AlterUserMappingStmt *alter_user_mapping_stmt) +{ + deparseAppendStringInfoString(state, "ALTER USER MAPPING FOR "); + deparseRoleSpec(state, alter_user_mapping_stmt->user); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "SERVER "); + deparseAppendStringInfoString(state, quote_identifier(alter_user_mapping_stmt->servername)); + deparseAppendStringInfoChar(state, ' '); + + deparseAlterGenericOptions(state, alter_user_mapping_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseDropUserMappingStmt(DeparseState *state, DropUserMappingStmt *drop_user_mapping_stmt) +{ + deparseAppendStringInfoString(state, "DROP USER MAPPING "); + + if (drop_user_mapping_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseAppendStringInfoString(state, "FOR "); + deparseRoleSpec(state, drop_user_mapping_stmt->user); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "SERVER "); + deparseAppendStringInfoString(state, quote_identifier(drop_user_mapping_stmt->servername)); +} + +static void deparseSecLabelStmt(DeparseState *state, SecLabelStmt *sec_label_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "SECURITY LABEL "); + + if (sec_label_stmt->provider != NULL) + { + deparseAppendStringInfoString(state, "FOR "); + deparseAppendStringInfoString(state, quote_identifier(sec_label_stmt->provider)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "ON "); + + switch (sec_label_stmt->objtype) + { + case OBJECT_COLUMN: + deparseAppendStringInfoString(state, "COLUMN "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + deparseAnyName(state, castNode(List, sec_label_stmt->object)); + break; + case OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_PUBLICATION: + deparseAppendStringInfoString(state, "PUBLICATION "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_ROLE: + deparseAppendStringInfoString(state, "ROLE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_SUBSCRIPTION: + deparseAppendStringInfoString(state, "SUBSCRIPTION "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(sec_label_stmt->object))); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + deparseTypeName(state, castNode(TypeName, sec_label_stmt->object)); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + deparseTypeName(state, castNode(TypeName, sec_label_stmt->object)); + break; + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, sec_label_stmt->object)); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, sec_label_stmt->object)); + break; + case OBJECT_LARGEOBJECT: + deparseAppendStringInfoString(state, "LARGE OBJECT "); + deparseValue(state, (union ValUnion *) sec_label_stmt->object, DEPARSE_NODE_CONTEXT_CONSTANT); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, sec_label_stmt->object)); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, sec_label_stmt->object)); + break; + default: + // Not supported in the parser + Assert(false); + break; + } + + deparseAppendStringInfoString(state, " IS "); + + if (sec_label_stmt->label != NULL) + deparseStringLiteral(state, sec_label_stmt->label); + else + deparseAppendStringInfoString(state, "NULL"); +} + +static void deparseCreateForeignTableStmt(DeparseState *state, CreateForeignTableStmt *create_foreign_table_stmt) +{ + ListCell *lc; + + deparseCreateStmt(state, &create_foreign_table_stmt->base, true); + + deparseAppendStringInfoString(state, " SERVER "); + deparseAppendStringInfoString(state, quote_identifier(create_foreign_table_stmt->servername)); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(create_foreign_table_stmt->options) > 0) + deparseAlterGenericOptions(state, create_foreign_table_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseImportForeignSchemaStmt(DeparseState *state, ImportForeignSchemaStmt *import_foreign_schema_stmt) +{ + deparseAppendStringInfoString(state, "IMPORT FOREIGN SCHEMA "); + + deparseAppendStringInfoString(state, import_foreign_schema_stmt->remote_schema); + deparseAppendStringInfoChar(state, ' '); + + switch (import_foreign_schema_stmt->list_type) + { + case FDW_IMPORT_SCHEMA_ALL: + // Default + break; + case FDW_IMPORT_SCHEMA_LIMIT_TO: + deparseAppendStringInfoString(state, "LIMIT TO ("); + deparseRelationExprList(state, import_foreign_schema_stmt->table_list); + deparseAppendStringInfoString(state, ") "); + break; + case FDW_IMPORT_SCHEMA_EXCEPT: + deparseAppendStringInfoString(state, "EXCEPT ("); + deparseRelationExprList(state, import_foreign_schema_stmt->table_list); + deparseAppendStringInfoString(state, ") "); + break; + } + + deparseAppendStringInfoString(state, "FROM SERVER "); + deparseAppendStringInfoString(state, quote_identifier(import_foreign_schema_stmt->server_name)); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "INTO "); + deparseAppendStringInfoString(state, quote_identifier(import_foreign_schema_stmt->local_schema)); + deparseAppendStringInfoChar(state, ' '); + + deparseCreateGenericOptions(state, import_foreign_schema_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseCreateTableAsStmt(DeparseState *state, CreateTableAsStmt *create_table_as_stmt) +{ + ListCell *lc; + deparseAppendStringInfoString(state, "CREATE "); + + deparseOptTemp(state, create_table_as_stmt->into->rel->relpersistence); + + switch (create_table_as_stmt->objtype) + { + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + default: + // Not supported here + Assert(false); + break; + } + + if (create_table_as_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseIntoClause(state, create_table_as_stmt->into); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "AS "); + if (IsA(create_table_as_stmt->query, ExecuteStmt)) + deparseExecuteStmt(state, castNode(ExecuteStmt, create_table_as_stmt->query)); + else + deparseSelectStmt(state, castNode(SelectStmt, create_table_as_stmt->query), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (create_table_as_stmt->into->skipData) + deparseAppendStringInfoString(state, "WITH NO DATA "); + + removeTrailingSpace(state); +} + +static void deparseViewStmt(DeparseState *state, ViewStmt *view_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + if (view_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + + deparseOptTemp(state, view_stmt->view->relpersistence); + + deparseAppendStringInfoString(state, "VIEW "); + deparseRangeVar(state, view_stmt->view, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(view_stmt->aliases) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, view_stmt->aliases); + deparseAppendStringInfoString(state, ") "); + } + + deparseOptWith(state, view_stmt->options); + + deparseAppendStringInfoString(state, "AS "); + deparseSelectStmt(state, castNode(SelectStmt, view_stmt->query), DEPARSE_NODE_CONTEXT_NONE); + + switch (view_stmt->withCheckOption) + { + case NO_CHECK_OPTION: + // Default + break; + case LOCAL_CHECK_OPTION: + deparseAppendStringInfoString(state, "WITH LOCAL CHECK OPTION "); + break; + case CASCADED_CHECK_OPTION: + deparseAppendStringInfoString(state, "WITH CHECK OPTION "); + break; + } + + removeTrailingSpace(state); +} + +static void deparseDropStmt(DeparseState *state, DropStmt *drop_stmt) +{ + ListCell *lc; + List *l; + + deparseAppendStringInfoString(state, "DROP "); + + switch (drop_stmt->removeType) + { + case OBJECT_ACCESS_METHOD: + deparseAppendStringInfoString(state, "ACCESS METHOD "); + break; + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + break; + case OBJECT_CAST: + deparseAppendStringInfoString(state, "CAST "); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + break; + case OBJECT_EXTENSION: + deparseAppendStringInfoString(state, "EXTENSION "); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "SERVER "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + break; + case OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + case OBJECT_OPCLASS: + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + break; + case OBJECT_OPFAMILY: + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + break; + case OBJECT_POLICY: + deparseAppendStringInfoString(state, "POLICY "); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + break; + case OBJECT_PUBLICATION: + deparseAppendStringInfoString(state, "PUBLICATION "); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + break; + case OBJECT_RULE: + deparseAppendStringInfoString(state, "RULE "); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + break; + case OBJECT_STATISTIC_EXT: + deparseAppendStringInfoString(state, "STATISTICS "); + break; + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_TRANSFORM: + deparseAppendStringInfoString(state, "TRANSFORM "); + break; + case OBJECT_TRIGGER: + deparseAppendStringInfoString(state, "TRIGGER "); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + default: + // Other object types are not supported here in the parser + Assert(false); + } + + if (drop_stmt->concurrent) + deparseAppendStringInfoString(state, "CONCURRENTLY "); + + if (drop_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + switch (drop_stmt->removeType) + { + // drop_type_any_name + case OBJECT_TABLE: + case OBJECT_SEQUENCE: + case OBJECT_VIEW: + case OBJECT_MATVIEW: + case OBJECT_INDEX: + case OBJECT_FOREIGN_TABLE: + case OBJECT_COLLATION: + case OBJECT_CONVERSION: + case OBJECT_STATISTIC_EXT: + case OBJECT_TSPARSER: + case OBJECT_TSDICTIONARY: + case OBJECT_TSTEMPLATE: + case OBJECT_TSCONFIGURATION: + deparseAnyNameList(state, drop_stmt->objects); + deparseAppendStringInfoChar(state, ' '); + break; + // drop_type_name + case OBJECT_ACCESS_METHOD: + case OBJECT_EVENT_TRIGGER: + case OBJECT_EXTENSION: + case OBJECT_FDW: + case OBJECT_PUBLICATION: + case OBJECT_SCHEMA: + case OBJECT_FOREIGN_SERVER: + deparseNameList(state, drop_stmt->objects); + deparseAppendStringInfoChar(state, ' '); + break; + // drop_type_name_on_any_name + case OBJECT_POLICY: + case OBJECT_RULE: + case OBJECT_TRIGGER: + Assert(list_length(drop_stmt->objects) == 1); + l = linitial(drop_stmt->objects); + deparseColId(state, strVal(llast(l))); + deparseAppendStringInfoString(state, " ON "); + deparseAnyNameSkipLast(state, l); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_CAST: + Assert(list_length(drop_stmt->objects) == 1); + l = linitial(drop_stmt->objects); + Assert(list_length(l) == 2); + deparseAppendStringInfoChar(state, '('); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, castNode(TypeName, lsecond(l))); + deparseAppendStringInfoChar(state, ')'); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_OPFAMILY: + case OBJECT_OPCLASS: + Assert(list_length(drop_stmt->objects) == 1); + l = linitial(drop_stmt->objects); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseColId(state, strVal(linitial(l))); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_TRANSFORM: + Assert(list_length(drop_stmt->objects) == 1); + l = linitial(drop_stmt->objects); + deparseAppendStringInfoString(state, "FOR "); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " LANGUAGE "); + deparseColId(state, strVal(lsecond(l))); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_LANGUAGE: + deparseNameList(state, drop_stmt->objects); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_TYPE: + case OBJECT_DOMAIN: + foreach(lc, drop_stmt->objects) + { + deparseTypeName(state, castNode(TypeName, lfirst(lc))); + if (lnext(drop_stmt->objects, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_AGGREGATE: + foreach(lc, drop_stmt->objects) + { + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, lfirst(lc))); + if (lnext(drop_stmt->objects, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + foreach(lc, drop_stmt->objects) + { + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, lfirst(lc))); + if (lnext(drop_stmt->objects, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_OPERATOR: + foreach(lc, drop_stmt->objects) + { + deparseOperatorWithArgtypes(state, castNode(ObjectWithArgs, lfirst(lc))); + if (lnext(drop_stmt->objects, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + break; + default: + Assert(false); + } + + deparseOptDropBehavior(state, drop_stmt->behavior); + + removeTrailingSpace(state); +} + +static void deparseGroupingSet(DeparseState *state, GroupingSet *grouping_set) +{ + switch(grouping_set->kind) + { + case GROUPING_SET_EMPTY: + deparseAppendStringInfoString(state, "()"); + break; + case GROUPING_SET_SIMPLE: + // Not present in raw parse trees + Assert(false); + break; + case GROUPING_SET_ROLLUP: + deparseAppendStringInfoString(state, "ROLLUP ("); + deparseExprList(state, grouping_set->content); + deparseAppendStringInfoChar(state, ')'); + break; + case GROUPING_SET_CUBE: + deparseAppendStringInfoString(state, "CUBE ("); + deparseExprList(state, grouping_set->content); + deparseAppendStringInfoChar(state, ')'); + break; + case GROUPING_SET_SETS: + deparseAppendStringInfoString(state, "GROUPING SETS ("); + deparseGroupByList(state, grouping_set->content); + deparseAppendStringInfoChar(state, ')'); + break; + } +} + +static void deparseDropTableSpaceStmt(DeparseState *state, DropTableSpaceStmt *drop_table_space_stmt) +{ + deparseAppendStringInfoString(state, "DROP TABLESPACE "); + + if (drop_table_space_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseAppendStringInfoString(state, drop_table_space_stmt->tablespacename); +} + +static void deparseAlterObjectDependsStmt(DeparseState *state, AlterObjectDependsStmt *alter_object_depends_stmt) +{ + deparseAppendStringInfoString(state, "ALTER "); + + switch (alter_object_depends_stmt->objectType) + { + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_depends_stmt->object)); + break; + case OBJECT_TRIGGER: + deparseAppendStringInfoString(state, "TRIGGER "); + deparseColId(state, strVal(linitial(castNode(List, alter_object_depends_stmt->object)))); + deparseAppendStringInfoString(state, " ON "); + deparseRangeVar(state, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + deparseRangeVar(state, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + deparseRangeVar(state, alter_object_depends_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + default: + // No other object types supported here + Assert(false); + } + deparseAppendStringInfoChar(state, ' '); + + if (alter_object_depends_stmt->remove) + deparseAppendStringInfoString(state, "NO "); + + deparseAppendStringInfo(state, "DEPENDS ON EXTENSION %s", alter_object_depends_stmt->extname->sval); +} + +static void deparseAlterObjectSchemaStmt(DeparseState *state, AlterObjectSchemaStmt *alter_object_schema_stmt) +{ + List *l = NULL; + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "ALTER "); + + switch (alter_object_schema_stmt->objectType) + { + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_EXTENSION: + deparseAppendStringInfoString(state, "EXTENSION "); + deparseAppendStringInfoString(state, quote_identifier(strVal(alter_object_schema_stmt->object))); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + deparseOperatorWithArgtypes(state, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); + break; + case OBJECT_OPCLASS: + l = castNode(List, alter_object_schema_stmt->object); + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseAppendStringInfoString(state, quote_identifier(strVal(linitial(l)))); + break; + case OBJECT_OPFAMILY: + l = castNode(List, alter_object_schema_stmt->object); + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseAppendStringInfoString(state, quote_identifier(strVal(linitial(l)))); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_object_schema_stmt->object)); + break; + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + if (alter_object_schema_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseRangeVar(state, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_STATISTIC_EXT: + deparseAppendStringInfoString(state, "STATISTICS "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + if (alter_object_schema_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseRangeVar(state, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + if (alter_object_schema_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseRangeVar(state, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + if (alter_object_schema_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseRangeVar(state, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + if (alter_object_schema_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseRangeVar(state, alter_object_schema_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + deparseAnyName(state, castNode(List, alter_object_schema_stmt->object)); + break; + default: + Assert(false); + break; + } + + deparseAppendStringInfoString(state, " SET SCHEMA "); + deparseAppendStringInfoString(state, quote_identifier(alter_object_schema_stmt->newschema)); +} + +// "alter_table_cmd" in gram.y +static void deparseAlterTableCmd(DeparseState *state, AlterTableCmd *alter_table_cmd, DeparseNodeContext context) +{ + ListCell *lc = NULL; + const char *options = NULL; + bool trailing_missing_ok = false; + + switch (alter_table_cmd->subtype) + { + case AT_AddColumn: /* add column */ + if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) + deparseAppendStringInfoString(state, "ADD ATTRIBUTE "); + else + deparseAppendStringInfoString(state, "ADD COLUMN "); + break; + case AT_AddColumnToView: /* implicitly via CREATE OR REPLACE VIEW */ + // Not present in raw parser output + Assert(false); + break; + case AT_ColumnDefault: /* alter column default */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + if (alter_table_cmd->def != NULL) + options = "SET DEFAULT"; + else + options = "DROP DEFAULT"; + break; + case AT_CookedColumnDefault: /* add a pre-cooked column default */ + // Not present in raw parser output + Assert(false); + break; + case AT_DropNotNull: /* alter column drop not null */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "DROP NOT NULL"; + break; + case AT_SetNotNull: /* alter column set not null */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "SET NOT NULL"; + break; + case AT_DropExpression: /* alter column drop expression */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "DROP EXPRESSION"; + trailing_missing_ok = true; + break; + case AT_CheckNotNull: /* check column is already marked not null */ + // Not present in raw parser output + Assert(false); + break; + case AT_SetStatistics: /* alter column set statistics */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "SET STATISTICS"; + break; + case AT_SetOptions: /* alter column set ( options ) */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "SET"; + break; + case AT_ResetOptions: /* alter column reset ( options ) */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "RESET"; + break; + case AT_SetStorage: /* alter column set storage */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "SET STORAGE"; + break; + case AT_SetCompression: /* alter column set compression */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "SET COMPRESSION"; + break; + case AT_DropColumn: /* drop column */ + if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) + deparseAppendStringInfoString(state, "DROP ATTRIBUTE "); + else + deparseAppendStringInfoString(state, "DROP "); + break; + case AT_AddIndex: /* add index */ + deparseAppendStringInfoString(state, "ADD INDEX "); + break; + case AT_ReAddIndex: /* internal to commands/tablecmds.c */ + Assert(false); + break; + case AT_AddConstraint: /* add constraint */ + deparseAppendStringInfoString(state, "ADD "); + break; + case AT_ReAddConstraint: /* internal to commands/tablecmds.c */ + Assert(false); + break; + case AT_ReAddDomainConstraint: /* internal to commands/tablecmds.c */ + Assert(false); + break; + case AT_AlterConstraint: /* alter constraint */ + deparseAppendStringInfoString(state, "ALTER "); // CONSTRAINT keyword gets added by the Constraint itself (when deparsing def) + break; + case AT_ValidateConstraint: /* validate constraint */ + deparseAppendStringInfoString(state, "VALIDATE CONSTRAINT "); + break; + case AT_AddIndexConstraint: /* add constraint using existing index */ + // Not present in raw parser output + Assert(false); + break; + case AT_DropConstraint: /* drop constraint */ + deparseAppendStringInfoString(state, "DROP CONSTRAINT "); + break; + case AT_ReAddComment: /* internal to commands/tablecmds.c */ + case AT_ReAddStatistics: /* internal to commands/tablecmds.c */ + Assert(false); + break; + case AT_AlterColumnType: /* alter column type */ + if (context == DEPARSE_NODE_CONTEXT_ALTER_TYPE) + deparseAppendStringInfoString(state, "ALTER ATTRIBUTE "); + else + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "TYPE"; + break; + case AT_AlterColumnGenericOptions: /* alter column OPTIONS (...) */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + // Handled via special case in def handling + break; + case AT_ChangeOwner: /* change owner */ + deparseAppendStringInfoString(state, "OWNER TO "); + deparseRoleSpec(state, alter_table_cmd->newowner); + break; + case AT_ClusterOn: /* CLUSTER ON */ + deparseAppendStringInfoString(state, "CLUSTER ON "); + break; + case AT_DropCluster: /* SET WITHOUT CLUSTER */ + deparseAppendStringInfoString(state, "SET WITHOUT CLUSTER "); + break; + case AT_SetLogged: /* SET LOGGED */ + deparseAppendStringInfoString(state, "SET LOGGED "); + break; + case AT_SetUnLogged: /* SET UNLOGGED */ + deparseAppendStringInfoString(state, "SET UNLOGGED "); + break; + case AT_DropOids: /* SET WITHOUT OIDS */ + deparseAppendStringInfoString(state, "SET WITHOUT OIDS "); + break; + case AT_SetTableSpace: /* SET TABLESPACE */ + deparseAppendStringInfoString(state, "SET TABLESPACE "); + break; + case AT_SetRelOptions: /* SET (...) -- AM specific parameters */ + deparseAppendStringInfoString(state, "SET "); + break; + case AT_SetAccessMethod: + deparseAppendStringInfo(state, "SET ACCESS METHOD "); + break; + case AT_ResetRelOptions: /* RESET (...) -- AM specific parameters */ + deparseAppendStringInfoString(state, "RESET "); + break; + case AT_ReplaceRelOptions: /* replace reloption list in its entirety */ + // Not present in raw parser output + Assert(false); + break; + case AT_EnableTrig: /* ENABLE TRIGGER name */ + deparseAppendStringInfoString(state, "ENABLE TRIGGER "); + break; + case AT_EnableAlwaysTrig: /* ENABLE ALWAYS TRIGGER name */ + deparseAppendStringInfoString(state, "ENABLE ALWAYS TRIGGER "); + break; + case AT_EnableReplicaTrig: /* ENABLE REPLICA TRIGGER name */ + deparseAppendStringInfoString(state, "ENABLE REPLICA TRIGGER "); + break; + case AT_DisableTrig: /* DISABLE TRIGGER name */ + deparseAppendStringInfoString(state, "DISABLE TRIGGER "); + break; + case AT_EnableTrigAll: /* ENABLE TRIGGER ALL */ + deparseAppendStringInfoString(state, "ENABLE TRIGGER ALL "); + break; + case AT_DisableTrigAll: /* DISABLE TRIGGER ALL */ + deparseAppendStringInfoString(state, "DISABLE TRIGGER ALL "); + break; + case AT_EnableTrigUser: /* ENABLE TRIGGER USER */ + deparseAppendStringInfoString(state, "ENABLE TRIGGER USER "); + break; + case AT_DisableTrigUser: /* DISABLE TRIGGER USER */ + deparseAppendStringInfoString(state, "DISABLE TRIGGER USER "); + break; + case AT_EnableRule: /* ENABLE RULE name */ + deparseAppendStringInfoString(state, "ENABLE RULE "); + break; + case AT_EnableAlwaysRule: /* ENABLE ALWAYS RULE name */ + deparseAppendStringInfoString(state, "ENABLE ALWAYS RULE "); + break; + case AT_EnableReplicaRule: /* ENABLE REPLICA RULE name */ + deparseAppendStringInfoString(state, "ENABLE REPLICA RULE "); + break; + case AT_DisableRule: /* DISABLE RULE name */ + deparseAppendStringInfoString(state, "DISABLE RULE "); + break; + case AT_AddInherit: /* INHERIT parent */ + deparseAppendStringInfoString(state, "INHERIT "); + break; + case AT_DropInherit: /* NO INHERIT parent */ + deparseAppendStringInfoString(state, "NO INHERIT "); + break; + case AT_AddOf: /* OF */ + deparseAppendStringInfoString(state, "OF "); + break; + case AT_DropOf: /* NOT OF */ + deparseAppendStringInfoString(state, "NOT OF "); + break; + case AT_ReplicaIdentity: /* REPLICA IDENTITY */ + deparseAppendStringInfoString(state, "REPLICA IDENTITY "); + break; + case AT_EnableRowSecurity: /* ENABLE ROW SECURITY */ + deparseAppendStringInfoString(state, "ENABLE ROW LEVEL SECURITY "); + break; + case AT_DisableRowSecurity: /* DISABLE ROW SECURITY */ + deparseAppendStringInfoString(state, "DISABLE ROW LEVEL SECURITY "); + break; + case AT_ForceRowSecurity: /* FORCE ROW SECURITY */ + deparseAppendStringInfoString(state, "FORCE ROW LEVEL SECURITY "); + break; + case AT_NoForceRowSecurity: /* NO FORCE ROW SECURITY */ + deparseAppendStringInfoString(state, "NO FORCE ROW LEVEL SECURITY "); + break; + case AT_GenericOptions: /* OPTIONS (...) */ + // Handled in def field handling + break; + case AT_AttachPartition: /* ATTACH PARTITION */ + deparseAppendStringInfoString(state, "ATTACH PARTITION "); + break; + case AT_DetachPartition: /* DETACH PARTITION */ + deparseAppendStringInfoString(state, "DETACH PARTITION "); + break; + case AT_DetachPartitionFinalize: /* DETACH PARTITION FINALIZE */ + deparseAppendStringInfoString(state, "DETACH PARTITION "); + break; + case AT_AddIdentity: /* ADD IDENTITY */ + deparseAppendStringInfoString(state, "ALTER "); + options = "ADD"; + // Other details are output via the constraint node (in def field) + break; + case AT_SetIdentity: /* SET identity column options */ + deparseAppendStringInfoString(state, "ALTER "); + break; + case AT_DropIdentity: /* DROP IDENTITY */ + deparseAppendStringInfoString(state, "ALTER COLUMN "); + options = "DROP IDENTITY"; + trailing_missing_ok = true; + break; + case AT_SetExpression: + deparseAppendStringInfoString(state, "ALTER COLUMN "); + break; + } + + if (alter_table_cmd->missing_ok && !trailing_missing_ok) + { + if (alter_table_cmd->subtype == AT_AddColumn) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + else + deparseAppendStringInfoString(state, "IF EXISTS "); + } + + if (alter_table_cmd->name != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(alter_table_cmd->name)); + deparseAppendStringInfoChar(state, ' '); + } else if (alter_table_cmd->subtype == AT_SetAccessMethod) + { + deparseAppendStringInfoString(state, " DEFAULT"); + } + + if (alter_table_cmd->num > 0) + deparseAppendStringInfo(state, "%d ", alter_table_cmd->num); + + if (options != NULL) + { + deparseAppendStringInfoString(state, options); + deparseAppendStringInfoChar(state, ' '); + } + + if (alter_table_cmd->missing_ok && trailing_missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + switch (alter_table_cmd->subtype) + { + case AT_AttachPartition: + case AT_DetachPartition: + deparsePartitionCmd(state, castNode(PartitionCmd, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_DetachPartitionFinalize: + deparsePartitionCmd(state, castNode(PartitionCmd, alter_table_cmd->def)); + deparseAppendStringInfoString(state, "FINALIZE "); + break; + case AT_AddColumn: + case AT_AlterColumnType: + deparseColumnDef(state, castNode(ColumnDef, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_ColumnDefault: + if (alter_table_cmd->def != NULL) + { + deparseExpr(state, alter_table_cmd->def, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + } + break; + case AT_SetStatistics: + if (alter_table_cmd->def != NULL) + deparseSignedIconst(state, alter_table_cmd->def); + else + deparseAppendStringInfoString(state, "DEFAULT"); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_SetOptions: + case AT_ResetOptions: + case AT_SetRelOptions: + case AT_ResetRelOptions: + deparseRelOptions(state, castNode(List, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_SetStorage: + deparseColId(state, strVal(alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_SetCompression: + if (strcmp(strVal(alter_table_cmd->def), "default") == 0) + deparseAppendStringInfoString(state, "DEFAULT"); + else + deparseColId(state, strVal(alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_AddIdentity: + case AT_AddConstraint: + case AT_AlterConstraint: + deparseConstraint(state, castNode(Constraint, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_SetIdentity: + deparseAlterIdentityColumnOptionList(state, castNode(List, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_AlterColumnGenericOptions: + case AT_GenericOptions: + deparseAlterGenericOptions(state, castNode(List, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_AddInherit: + case AT_DropInherit: + deparseRangeVar(state, castNode(RangeVar, alter_table_cmd->def), DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_AddOf: + deparseTypeName(state, castNode(TypeName, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_ReplicaIdentity: + deparseReplicaIdentityStmt(state, castNode(ReplicaIdentityStmt, alter_table_cmd->def)); + deparseAppendStringInfoChar(state, ' '); + break; + case AT_SetExpression: + deparseAppendStringInfoString(state, "SET EXPRESSION AS ("); + deparseExpr(state, alter_table_cmd->def, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + break; + default: + Assert(alter_table_cmd->def == NULL); + break; + } + + deparseOptDropBehavior(state, alter_table_cmd->behavior); + + removeTrailingSpace(state); +} + +static DeparseNodeContext deparseAlterTableObjType(DeparseState *state, ObjectType type) +{ + switch (type) + { + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + return DEPARSE_NODE_CONTEXT_ALTER_TYPE; + break; + default: + Assert(false); + break; + } + + return DEPARSE_NODE_CONTEXT_NONE; +} + +static void deparseAlterTableMoveAllStmt(DeparseState *state, AlterTableMoveAllStmt *move_all_stmt) +{ + deparseAppendStringInfoString(state, "ALTER "); + deparseAlterTableObjType(state, move_all_stmt->objtype); + + deparseAppendStringInfoString(state, "ALL IN TABLESPACE "); + deparseAppendStringInfoString(state, move_all_stmt->orig_tablespacename); + deparseAppendStringInfoChar(state, ' '); + + if (move_all_stmt->roles) + { + deparseAppendStringInfoString(state, "OWNED BY "); + deparseRoleList(state, move_all_stmt->roles); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "SET TABLESPACE "); + deparseAppendStringInfoString(state, move_all_stmt->new_tablespacename); + deparseAppendStringInfoChar(state, ' '); + + if (move_all_stmt->nowait) + { + deparseAppendStringInfoString(state, "NOWAIT"); + } +} + +static void deparseAlterTableStmt(DeparseState *state, AlterTableStmt *alter_table_stmt) +{ + ListCell *lc; + DeparseStateNestingLevel *parent_level = NULL; + + deparseAppendStringInfoString(state, "ALTER "); + DeparseNodeContext context = deparseAlterTableObjType(state, alter_table_stmt->objtype); + + if (alter_table_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseRangeVar(state, alter_table_stmt->relation, context); + deparseAppendStringInfoChar(state, ' '); + + parent_level = deparseStateIncreaseNestingLevel(state); + foreach(lc, alter_table_stmt->cmds) + { + deparseAlterTableCmd(state, castNode(AlterTableCmd, lfirst(lc)), context); + if (lnext(alter_table_stmt->cmds, lc)) + deparseAppendCommaAndPart(state); + } + deparseStateDecreaseNestingLevel(state, parent_level); +} + +static void deparseAlterTableSpaceOptionsStmt(DeparseState *state, AlterTableSpaceOptionsStmt *alter_table_space_options_stmt) +{ + deparseAppendStringInfoString(state, "ALTER TABLESPACE "); + deparseColId(state, alter_table_space_options_stmt->tablespacename); + deparseAppendStringInfoChar(state, ' '); + + if (alter_table_space_options_stmt->isReset) + deparseAppendStringInfoString(state, "RESET "); + else + deparseAppendStringInfoString(state, "SET "); + + deparseRelOptions(state, alter_table_space_options_stmt->options); +} + +// "AlterDomainStmt" in gram.y +static void deparseAlterDomainStmt(DeparseState *state, AlterDomainStmt *alter_domain_stmt) +{ + deparseAppendStringInfoString(state, "ALTER DOMAIN "); + deparseAnyName(state, alter_domain_stmt->typeName); + deparseAppendStringInfoChar(state, ' '); + + switch (alter_domain_stmt->subtype) + { + case 'T': + if (alter_domain_stmt->def != NULL) + { + deparseAppendStringInfoString(state, "SET DEFAULT "); + deparseExpr(state, alter_domain_stmt->def, DEPARSE_NODE_CONTEXT_A_EXPR); + } + else + { + deparseAppendStringInfoString(state, "DROP DEFAULT"); + } + break; + case 'N': + deparseAppendStringInfoString(state, "DROP NOT NULL"); + break; + case 'O': + deparseAppendStringInfoString(state, "SET NOT NULL"); + break; + case 'C': + deparseAppendStringInfoString(state, "ADD "); + deparseConstraint(state, castNode(Constraint, alter_domain_stmt->def)); + break; + case 'X': + deparseAppendStringInfoString(state, "DROP CONSTRAINT "); + if (alter_domain_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseAppendStringInfoString(state, quote_identifier(alter_domain_stmt->name)); + if (alter_domain_stmt->behavior == DROP_CASCADE) + deparseAppendStringInfoString(state, " CASCADE"); + break; + case 'V': + deparseAppendStringInfoString(state, "VALIDATE CONSTRAINT "); + deparseAppendStringInfoString(state, quote_identifier(alter_domain_stmt->name)); + break; + default: + // No other subtypes supported by the parser + Assert(false); + } +} + +static void deparseRenameStmt(DeparseState *state, RenameStmt *rename_stmt) +{ + List *l = NULL; + + deparseAppendStringInfoString(state, "ALTER "); + + switch (rename_stmt->renameType) + { + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + break; + case OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + break; + case OBJECT_DOMAIN: + case OBJECT_DOMCONSTRAINT: + deparseAppendStringInfoString(state, "DOMAIN "); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + break; + case OBJECT_ROLE: + deparseAppendStringInfoString(state, "ROLE "); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + break; + case OBJECT_OPCLASS: + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + break; + case OBJECT_OPFAMILY: + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + break; + case OBJECT_POLICY: + deparseAppendStringInfoString(state, "POLICY "); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + break; + case OBJECT_PUBLICATION: + deparseAppendStringInfoString(state, "PUBLICATION "); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "SERVER "); + break; + case OBJECT_SUBSCRIPTION: + deparseAppendStringInfoString(state, "SUBSCRIPTION "); + break; + case OBJECT_TABLE: + case OBJECT_TABCONSTRAINT: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_COLUMN: + switch (rename_stmt->relationType) + { + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + default: + Assert(false); + } + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + case OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_RULE: + deparseAppendStringInfoString(state, "RULE "); + break; + case OBJECT_TRIGGER: + deparseAppendStringInfoString(state, "TRIGGER "); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + break; + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, "TABLESPACE "); + break; + case OBJECT_STATISTIC_EXT: + deparseAppendStringInfoString(state, "STATISTICS "); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + break; + case OBJECT_TYPE: + case OBJECT_ATTRIBUTE: + deparseAppendStringInfoString(state, "TYPE "); + break; + default: + Assert(false); + break; + } + + if (rename_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + switch (rename_stmt->renameType) + { + case OBJECT_AGGREGATE: + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, rename_stmt->object)); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_DOMCONSTRAINT: + deparseAnyName(state, castNode(List, rename_stmt->object)); + deparseAppendStringInfoString(state, " RENAME CONSTRAINT "); + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_OPCLASS: + case OBJECT_OPFAMILY: + l = castNode(List, rename_stmt->object); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseAppendStringInfoString(state, quote_identifier(strVal(linitial(l)))); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_POLICY: + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoString(state, " ON "); + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, rename_stmt->object)); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_SUBSCRIPTION: + deparseColId(state, strVal(rename_stmt->object)); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_TABLE: + case OBJECT_SEQUENCE: + case OBJECT_VIEW: + case OBJECT_MATVIEW: + case OBJECT_INDEX: + case OBJECT_FOREIGN_TABLE: + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_COLUMN: + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoString(state, " RENAME COLUMN "); + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_TABCONSTRAINT: + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoString(state, " RENAME CONSTRAINT "); + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoChar(state, ' '); + break; + case OBJECT_RULE: + case OBJECT_TRIGGER: + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoString(state, " ON "); + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_FDW: + case OBJECT_LANGUAGE: + case OBJECT_PUBLICATION: + case OBJECT_FOREIGN_SERVER: + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, quote_identifier(strVal(rename_stmt->object))); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_DATABASE: + case OBJECT_ROLE: + case OBJECT_SCHEMA: + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_COLLATION: + case OBJECT_CONVERSION: + case OBJECT_DOMAIN: + case OBJECT_STATISTIC_EXT: + case OBJECT_TSPARSER: + case OBJECT_TSDICTIONARY: + case OBJECT_TSTEMPLATE: + case OBJECT_TSCONFIGURATION: + case OBJECT_TYPE: + deparseAnyName(state, castNode(List, rename_stmt->object)); + deparseAppendStringInfoString(state, " RENAME "); + break; + case OBJECT_ATTRIBUTE: + deparseRangeVar(state, rename_stmt->relation, DEPARSE_NODE_CONTEXT_ALTER_TYPE); + deparseAppendStringInfoString(state, " RENAME ATTRIBUTE "); + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->subname)); + deparseAppendStringInfoChar(state, ' '); + break; + default: + Assert(false); + break; + } + + deparseAppendStringInfoString(state, "TO "); + deparseAppendStringInfoString(state, quote_identifier(rename_stmt->newname)); + deparseAppendStringInfoChar(state, ' '); + + deparseOptDropBehavior(state, rename_stmt->behavior); + + removeTrailingSpace(state); +} + +static void deparseTransactionStmt(DeparseState *state, TransactionStmt *transaction_stmt) +{ + ListCell *lc; + switch (transaction_stmt->kind) + { + case TRANS_STMT_BEGIN: + deparseAppendStringInfoString(state, "BEGIN "); + deparseTransactionModeList(state, transaction_stmt->options); + break; + case TRANS_STMT_START: + deparseAppendStringInfoString(state, "START TRANSACTION "); + deparseTransactionModeList(state, transaction_stmt->options); + break; + case TRANS_STMT_COMMIT: + deparseAppendStringInfoString(state, "COMMIT "); + if (transaction_stmt->chain) + deparseAppendStringInfoString(state, "AND CHAIN "); + break; + case TRANS_STMT_ROLLBACK: + deparseAppendStringInfoString(state, "ROLLBACK "); + if (transaction_stmt->chain) + deparseAppendStringInfoString(state, "AND CHAIN "); + break; + case TRANS_STMT_SAVEPOINT: + deparseAppendStringInfoString(state, "SAVEPOINT "); + deparseAppendStringInfoString(state, quote_identifier(transaction_stmt->savepoint_name)); + break; + case TRANS_STMT_RELEASE: + deparseAppendStringInfoString(state, "RELEASE "); + deparseAppendStringInfoString(state, quote_identifier(transaction_stmt->savepoint_name)); + break; + case TRANS_STMT_ROLLBACK_TO: + deparseAppendStringInfoString(state, "ROLLBACK "); + deparseAppendStringInfoString(state, "TO SAVEPOINT "); + deparseAppendStringInfoString(state, quote_identifier(transaction_stmt->savepoint_name)); + break; + case TRANS_STMT_PREPARE: + deparseAppendStringInfoString(state, "PREPARE TRANSACTION "); + deparseStringLiteral(state, transaction_stmt->gid); + break; + case TRANS_STMT_COMMIT_PREPARED: + deparseAppendStringInfoString(state, "COMMIT PREPARED "); + deparseStringLiteral(state, transaction_stmt->gid); + break; + case TRANS_STMT_ROLLBACK_PREPARED: + deparseAppendStringInfoString(state, "ROLLBACK PREPARED "); + deparseStringLiteral(state, transaction_stmt->gid); + break; + } + + removeTrailingSpace(state); +} + +// Determine if we hit SET TIME ZONE INTERVAL, that has special syntax not +// supported for other SET statements +static bool isSetTimeZoneInterval(VariableSetStmt* stmt) +{ + if (!(strcmp(stmt->name, "timezone") == 0 && + list_length(stmt->args) == 1 && + IsA(linitial(stmt->args), TypeCast))) + return false; + + TypeName* typeName = castNode(TypeCast, linitial(stmt->args))->typeName; + + return (list_length(typeName->names) == 2 && + strcmp(strVal(linitial(typeName->names)), "pg_catalog") == 0 && + strcmp(strVal(llast(typeName->names)), "interval") == 0); +} + +static void deparseVariableSetStmt(DeparseState *state, VariableSetStmt* variable_set_stmt) +{ + ListCell *lc; + + switch (variable_set_stmt->kind) + { + case VAR_SET_VALUE: /* SET var = value */ + deparseAppendStringInfoString(state, "SET "); + if (variable_set_stmt->is_local) + deparseAppendStringInfoString(state, "LOCAL "); + if (isSetTimeZoneInterval(variable_set_stmt)) + { + deparseAppendStringInfoString(state, "TIME ZONE "); + deparseVarList(state, variable_set_stmt->args); + } + else + { + deparseVarName(state, variable_set_stmt->name); + deparseAppendStringInfoString(state, " TO "); + deparseVarList(state, variable_set_stmt->args); + } + break; + case VAR_SET_DEFAULT: /* SET var TO DEFAULT */ + deparseAppendStringInfoString(state, "SET "); + if (variable_set_stmt->is_local) + deparseAppendStringInfoString(state, "LOCAL "); + deparseVarName(state, variable_set_stmt->name); + deparseAppendStringInfoString(state, " TO DEFAULT"); + break; + case VAR_SET_CURRENT: /* SET var FROM CURRENT */ + deparseAppendStringInfoString(state, "SET "); + if (variable_set_stmt->is_local) + deparseAppendStringInfoString(state, "LOCAL "); + deparseVarName(state, variable_set_stmt->name); + deparseAppendStringInfoString(state, " FROM CURRENT"); + break; + case VAR_SET_MULTI: /* special case for SET TRANSACTION ... */ + Assert(variable_set_stmt->name != NULL); + deparseAppendStringInfoString(state, "SET "); + if (variable_set_stmt->is_local) + deparseAppendStringInfoString(state, "LOCAL "); + if (strcmp(variable_set_stmt->name, "TRANSACTION") == 0) + { + deparseAppendStringInfoString(state, "TRANSACTION "); + deparseTransactionModeList(state, variable_set_stmt->args); + } + else if (strcmp(variable_set_stmt->name, "SESSION CHARACTERISTICS") == 0) + { + deparseAppendStringInfoString(state, "SESSION CHARACTERISTICS AS TRANSACTION "); + deparseTransactionModeList(state, variable_set_stmt->args); + } + else if (strcmp(variable_set_stmt->name, "TRANSACTION SNAPSHOT") == 0) + { + deparseAppendStringInfoString(state, "TRANSACTION SNAPSHOT "); + deparseStringLiteral(state, strVal(&castNode(A_Const, linitial(variable_set_stmt->args))->val)); + } + else + { + Assert(false); + } + break; + case VAR_RESET: /* RESET var */ + deparseAppendStringInfoString(state, "RESET "); + deparseVarName(state, variable_set_stmt->name); + break; + case VAR_RESET_ALL: /* RESET ALL */ + deparseAppendStringInfoString(state, "RESET ALL"); + break; + } +} + +static void deparseDropdbStmt(DeparseState *state, DropdbStmt *dropdb_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "DROP DATABASE "); + if (dropdb_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseAppendStringInfoString(state, quote_identifier(dropdb_stmt->dbname)); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(dropdb_stmt->options) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc, dropdb_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (strcmp(def_elem->defname, "force") == 0) + deparseAppendStringInfoString(state, "FORCE"); + else + Assert(false); // Currently there are other supported values + + if (lnext(dropdb_stmt->options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + + removeTrailingSpace(state); +} + +static void deparseVacuumStmt(DeparseState *state, VacuumStmt *vacuum_stmt) +{ + ListCell *lc = NULL; + ListCell *lc2 = NULL; + + if (vacuum_stmt->is_vacuumcmd) + deparseAppendStringInfoString(state, "VACUUM "); + else + deparseAppendStringInfoString(state, "ANALYZE "); + + deparseUtilityOptionList(state, vacuum_stmt->options); + + foreach(lc, vacuum_stmt->rels) + { + Assert(IsA(lfirst(lc), VacuumRelation)); + VacuumRelation *rel = castNode(VacuumRelation, lfirst(lc)); + + deparseRangeVar(state, rel->relation, DEPARSE_NODE_CONTEXT_NONE); + if (list_length(rel->va_cols) > 0) + { + deparseAppendStringInfoChar(state, '('); + foreach(lc2, rel->va_cols) + { + deparseAppendStringInfoString(state, quote_identifier(strVal(lfirst(lc2)))); + if (lnext(rel->va_cols, lc2)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + + if (lnext(vacuum_stmt->rels, lc)) + deparseAppendStringInfoString(state, ", "); + } + + removeTrailingSpace(state); +} + +static void deparseLoadStmt(DeparseState *state, LoadStmt *load_stmt) +{ + deparseAppendStringInfoString(state, "LOAD "); + deparseStringLiteral(state, load_stmt->filename); +} + +static void deparseLockStmt(DeparseState *state, LockStmt *lock_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "LOCK TABLE "); + + deparseRelationExprList(state, lock_stmt->relations); + deparseAppendStringInfoChar(state, ' '); + + if (lock_stmt->mode != AccessExclusiveLock) + { + deparseAppendStringInfoString(state, "IN "); + switch (lock_stmt->mode) + { + case AccessShareLock: + deparseAppendStringInfoString(state, "ACCESS SHARE "); + break; + case RowShareLock: + deparseAppendStringInfoString(state, "ROW SHARE "); + break; + case RowExclusiveLock: + deparseAppendStringInfoString(state, "ROW EXCLUSIVE "); + break; + case ShareUpdateExclusiveLock: + deparseAppendStringInfoString(state, "SHARE UPDATE EXCLUSIVE "); + break; + case ShareLock: + deparseAppendStringInfoString(state, "SHARE "); + break; + case ShareRowExclusiveLock: + deparseAppendStringInfoString(state, "SHARE ROW EXCLUSIVE "); + break; + case ExclusiveLock: + deparseAppendStringInfoString(state, "EXCLUSIVE "); + break; + case AccessExclusiveLock: + deparseAppendStringInfoString(state, "ACCESS EXCLUSIVE "); + break; + default: + Assert(false); + break; + } + deparseAppendStringInfoString(state, "MODE "); + } + + if (lock_stmt->nowait) + deparseAppendStringInfoString(state, "NOWAIT "); + + removeTrailingSpace(state); +} + +static void deparseConstraintsSetStmt(DeparseState *state, ConstraintsSetStmt *constraints_set_stmt) +{ + deparseAppendStringInfoString(state, "SET CONSTRAINTS "); + + if (list_length(constraints_set_stmt->constraints) > 0) + { + deparseQualifiedNameList(state, constraints_set_stmt->constraints); + deparseAppendStringInfoChar(state, ' '); + } + else + { + deparseAppendStringInfoString(state, "ALL "); + } + + if (constraints_set_stmt->deferred) + deparseAppendStringInfoString(state, "DEFERRED"); + else + deparseAppendStringInfoString(state, "IMMEDIATE"); +} + +static void deparseExplainStmt(DeparseState *state, ExplainStmt *explain_stmt) +{ + ListCell *lc = NULL; + char *defname = NULL; + + deparseAppendPartGroup(state, "EXPLAIN", DEPARSE_PART_NO_INDENT); + + deparseUtilityOptionList(state, explain_stmt->options); + + deparseExplainableStmt(state, explain_stmt->query); +} + +static void deparseCopyStmt(DeparseState *state, CopyStmt *copy_stmt) +{ + ListCell *lc = NULL; + ListCell *lc2 = NULL; + + deparseAppendPartGroup(state, "COPY", DEPARSE_PART_INDENT); + + if (copy_stmt->relation != NULL) + { + deparseRangeVar(state, copy_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + if (list_length(copy_stmt->attlist) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, copy_stmt->attlist); + deparseAppendStringInfoChar(state, ')'); + } + deparseAppendStringInfoChar(state, ' '); + } + + if (copy_stmt->query != NULL) + { + deparseAppendStringInfoChar(state, '('); + deparsePreparableStmt(state, copy_stmt->query); + deparseAppendStringInfoString(state, ") "); + } + + if (copy_stmt->is_from) + deparseAppendStringInfoString(state, "FROM "); + else + deparseAppendStringInfoString(state, "TO "); + + if (copy_stmt->is_program) + deparseAppendStringInfoString(state, "PROGRAM "); + + if (copy_stmt->filename != NULL) + { + deparseStringLiteral(state, copy_stmt->filename); + deparseAppendStringInfoChar(state, ' '); + } + else + { + if (copy_stmt->is_from) + deparseAppendStringInfoString(state, "STDIN "); + else + deparseAppendStringInfoString(state, "STDOUT "); + } + + if (list_length(copy_stmt->options) > 0) + { + // In some cases, equivalent expressions may have slightly different parse trees for `COPY` + // statements. For example the following two statements result in different (but equivalent) parse + // trees: + // + // - COPY foo FROM STDIN CSV FREEZE + // - COPY foo FROM STDIN WITH (FORMAT CSV, FREEZE) + // + // In order to make sure we deparse to the "correct" version, we always try to deparse to the older + // compact syntax first. + // + // The old syntax can be seen here in the Postgres 8.4 Reference: + // https://www.postgresql.org/docs/8.4/sql-copy.html + + bool old_fmt = true; + + // Loop over the options to see if any require the new `WITH (...)` syntax. + foreach(lc, copy_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + + if (strcmp(def_elem->defname, "freeze") == 0 && optBooleanValue(def_elem->arg)) + {} + else if (strcmp(def_elem->defname, "header") == 0 && def_elem->arg && optBooleanValue(def_elem->arg)) + {} + else if (strcmp(def_elem->defname, "format") == 0 && strcmp(strVal(def_elem->arg), "csv") == 0) + {} + else if (strcmp(def_elem->defname, "force_quote") == 0 && def_elem->arg && nodeTag(def_elem->arg) == T_List) + {} + else + { + old_fmt = false; + break; + } + } + + // Branch to differing output modes, depending on if we can use the old syntax. + if (old_fmt) { + foreach(lc, copy_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + + if (strcmp(def_elem->defname, "freeze") == 0 && optBooleanValue(def_elem->arg)) + { + deparseAppendStringInfoString(state, "FREEZE "); + } + else if (strcmp(def_elem->defname, "header") == 0 && def_elem->arg && optBooleanValue(def_elem->arg)) + { + deparseAppendStringInfoString(state, "HEADER "); + } + else if (strcmp(def_elem->defname, "format") == 0 && strcmp(strVal(def_elem->arg), "csv") == 0) + { + deparseAppendStringInfoString(state, "CSV "); + } + else if (strcmp(def_elem->defname, "force_quote") == 0 && def_elem->arg && nodeTag(def_elem->arg) == T_List) + { + deparseAppendStringInfoString(state, "FORCE QUOTE "); + deparseColumnList(state, castNode(List, def_elem->arg)); + } + else + { + // This isn't reachable, the conditions here are exactly the same as the first loop above. + Assert(false); + } + } + } else { + deparseAppendStringInfoString(state, "WITH ("); + foreach(lc, copy_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + + if (strcmp(def_elem->defname, "format") == 0) + { + deparseAppendStringInfoString(state, "FORMAT "); + + char *format = strVal(def_elem->arg); + if (strcmp(format, "binary") == 0) + deparseAppendStringInfoString(state, "BINARY"); + else if (strcmp(format, "csv") == 0) + deparseAppendStringInfoString(state, "CSV"); + else if (strcmp(format, "text") == 0) + deparseAppendStringInfoString(state, "TEXT"); + else + Assert(false); + } + else if (strcmp(def_elem->defname, "freeze") == 0) + { + deparseAppendStringInfoString(state, "FREEZE"); + deparseOptBoolean(state, def_elem->arg); + } + else if (strcmp(def_elem->defname, "delimiter") == 0) + { + deparseAppendStringInfoString(state, "DELIMITER "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "null") == 0) + { + deparseAppendStringInfoString(state, "NULL "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "header") == 0) + { + deparseAppendStringInfoString(state, "HEADER"); + deparseOptBoolean(state, def_elem->arg); + } + else if (strcmp(def_elem->defname, "quote") == 0) + { + deparseAppendStringInfoString(state, "QUOTE "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "escape") == 0) + { + deparseAppendStringInfoString(state, "ESCAPE "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "force_quote") == 0) + { + deparseAppendStringInfoString(state, "FORCE_QUOTE "); + if (IsA(def_elem->arg, A_Star)) + { + deparseAppendStringInfoChar(state, '*'); + } + else if (IsA(def_elem->arg, List)) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, castNode(List, def_elem->arg)); + deparseAppendStringInfoChar(state, ')'); + } + else + { + Assert(false); + } + } + else if (strcmp(def_elem->defname, "force_not_null") == 0) + { + deparseAppendStringInfoString(state, "FORCE_NOT_NULL "); + + if (IsA(def_elem->arg, A_Star)) + deparseAStar(state, castNode(A_Star, def_elem->arg)); + else + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, castNode(List, def_elem->arg)); + deparseAppendStringInfoChar(state, ')'); + } + } + else if (strcmp(def_elem->defname, "force_null") == 0) + { + deparseAppendStringInfoString(state, "FORCE_NULL "); + + if (IsA(def_elem->arg, A_Star)) + deparseAStar(state, castNode(A_Star, def_elem->arg)); + else + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, castNode(List, def_elem->arg)); + deparseAppendStringInfoChar(state, ')'); + } + } + else if (strcmp(def_elem->defname, "encoding") == 0) + { + deparseAppendStringInfoString(state, "ENCODING "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else + { + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + if (def_elem->arg != NULL) + deparseAppendStringInfoChar(state, ' '); + + if (def_elem->arg == NULL) + { + // Nothing + } + else if (IsA(def_elem->arg, String)) + { + deparseOptBooleanOrString(state, strVal(def_elem->arg)); + } + else if (IsA(def_elem->arg, Integer) || IsA(def_elem->arg, Float)) + { + deparseNumericOnly(state, (union ValUnion *) def_elem->arg); + } + else if (IsA(def_elem->arg, A_Star)) + { + deparseAStar(state, castNode(A_Star, def_elem->arg)); + } + else if (IsA(def_elem->arg, List)) + { + List *l = castNode(List, def_elem->arg); + deparseAppendStringInfoChar(state, '('); + foreach(lc2, l) + { + deparseOptBooleanOrString(state, strVal(lfirst(lc2))); + if (lnext(l, lc2)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + } + } + + if (lnext(copy_stmt->options, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } + } + + deparseWhereClause(state, copy_stmt->whereClause); + + removeTrailingSpace(state); +} + +static void deparseDoStmt(DeparseState *state, DoStmt *do_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "DO "); + + foreach (lc, do_stmt->args) + { + DefElem *defel = castNode(DefElem, lfirst(lc)); + if (strcmp(defel->defname, "language") == 0) + { + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(defel->arg))); + deparseAppendStringInfoChar(state, ' '); + } + else if (strcmp(defel->defname, "as") == 0) + { + char *strval = strVal(defel->arg); + const char *delim = "$$"; + if (strstr(strval, "$$") != NULL) + delim = "$outer$"; + deparseAppendStringInfoString(state, delim); + deparseAppendStringInfoString(state, strval); + deparseAppendStringInfoString(state, delim); + deparseAppendStringInfoChar(state, ' '); + } + } + + removeTrailingSpace(state); +} + +static void deparseDiscardStmt(DeparseState *state, DiscardStmt *discard_stmt) +{ + deparseAppendStringInfoString(state, "DISCARD "); + switch (discard_stmt->target) + { + case DISCARD_ALL: + deparseAppendStringInfoString(state, "ALL"); + break; + case DISCARD_PLANS: + deparseAppendStringInfoString(state, "PLANS"); + break; + case DISCARD_SEQUENCES: + deparseAppendStringInfoString(state, "SEQUENCES"); + break; + case DISCARD_TEMP: + deparseAppendStringInfoString(state, "TEMP"); + break; + } +} + +static void deparseDefineStmt(DeparseState *state, DefineStmt *define_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + if (define_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + + switch (define_stmt->kind) + { + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + break; + default: + // This shouldn't happen + Assert(false); + break; + } + + if (define_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + switch (define_stmt->kind) + { + case OBJECT_AGGREGATE: + deparseFuncName(state, define_stmt->defnames); + break; + case OBJECT_OPERATOR: + deparseAnyOperator(state, define_stmt->defnames); + break; + case OBJECT_TYPE: + case OBJECT_TSPARSER: + case OBJECT_TSDICTIONARY: + case OBJECT_TSTEMPLATE: + case OBJECT_TSCONFIGURATION: + case OBJECT_COLLATION: + deparseAnyName(state, define_stmt->defnames); + break; + default: + Assert(false); + } + deparseAppendStringInfoChar(state, ' '); + + if (!define_stmt->oldstyle && define_stmt->kind == OBJECT_AGGREGATE) + { + deparseAggrArgs(state, define_stmt->args); + deparseAppendStringInfoChar(state, ' '); + } + + if (define_stmt->kind == OBJECT_COLLATION && + list_length(define_stmt->definition) == 1 && + strcmp(castNode(DefElem, linitial(define_stmt->definition))->defname, "from") == 0) + { + deparseAppendStringInfoString(state, "FROM "); + deparseAnyName(state, castNode(List, castNode(DefElem, linitial(define_stmt->definition))->arg)); + } + else if (list_length(define_stmt->definition) > 0) + { + deparseDefinition(state, define_stmt->definition); + } + + removeTrailingSpace(state); +} + +static void deparseCompositeTypeStmt(DeparseState *state, CompositeTypeStmt *composite_type_stmt) +{ + ListCell *lc; + RangeVar *typevar; + DeparseStateNestingLevel *parent_level = NULL; + + deparseAppendStringInfoString(state, "CREATE TYPE "); + deparseRangeVar(state, composite_type_stmt->typevar, DEPARSE_NODE_CONTEXT_CREATE_TYPE); + + deparseAppendStringInfoString(state, " AS ("); + parent_level = deparseStateIncreaseNestingLevel(state); + foreach(lc, composite_type_stmt->coldeflist) + { + deparseColumnDef(state, castNode(ColumnDef, lfirst(lc))); + if (lnext(composite_type_stmt->coldeflist, lc)) + deparseAppendCommaAndPart(state); + } + deparseStateDecreaseNestingLevel(state, parent_level); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseCreateEnumStmt(DeparseState *state, CreateEnumStmt *create_enum_stmt) +{ + ListCell *lc; + DeparseStateNestingLevel *parent_level = NULL; + + deparseAppendStringInfoString(state, "CREATE TYPE "); + + deparseAnyName(state, create_enum_stmt->typeName); + deparseAppendStringInfoString(state, " AS ENUM ("); + parent_level = deparseStateIncreaseNestingLevel(state); + foreach(lc, create_enum_stmt->vals) + { + deparseStringLiteral(state, strVal(lfirst(lc))); + if (lnext(create_enum_stmt->vals, lc)) + deparseAppendCommaAndPart(state); + } + deparseStateDecreaseNestingLevel(state, parent_level); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseCreateRangeStmt(DeparseState *state, CreateRangeStmt *create_range_stmt) +{ + deparseAppendStringInfoString(state, "CREATE TYPE "); + deparseAnyName(state, create_range_stmt->typeName); + deparseAppendStringInfoString(state, " AS RANGE "); + deparseDefinition(state, create_range_stmt->params); +} + +static void deparseAlterEnumStmt(DeparseState *state, AlterEnumStmt *alter_enum_stmt) +{ + deparseAppendStringInfoString(state, "ALTER TYPE "); + deparseAnyName(state, alter_enum_stmt->typeName); + deparseAppendStringInfoChar(state, ' '); + + if (alter_enum_stmt->oldVal == NULL) + { + deparseAppendStringInfoString(state, "ADD VALUE "); + if (alter_enum_stmt->skipIfNewValExists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseStringLiteral(state, alter_enum_stmt->newVal); + deparseAppendStringInfoChar(state, ' '); + + if (alter_enum_stmt->newValNeighbor) + { + if (alter_enum_stmt->newValIsAfter) + deparseAppendStringInfoString(state, "AFTER "); + else + deparseAppendStringInfoString(state, "BEFORE "); + deparseStringLiteral(state, alter_enum_stmt->newValNeighbor); + } + } + else + { + deparseAppendStringInfoString(state, "RENAME VALUE "); + deparseStringLiteral(state, alter_enum_stmt->oldVal); + deparseAppendStringInfoString(state, " TO "); + deparseStringLiteral(state, alter_enum_stmt->newVal); + } + + removeTrailingSpace(state); +} + +static void deparseAlterExtensionStmt(DeparseState *state, AlterExtensionStmt *alter_extension_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "ALTER EXTENSION "); + deparseColId(state, alter_extension_stmt->extname); + deparseAppendStringInfoString(state, " UPDATE "); + foreach (lc, alter_extension_stmt->options) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + if (strcmp(def_elem->defname, "new_version") == 0) + { + deparseAppendStringInfoString(state, "TO "); + deparseNonReservedWordOrSconst(state, strVal(def_elem->arg)); + } + else + { + Assert(false); + } + deparseAppendStringInfoChar(state, ' '); + } + removeTrailingSpace(state); +} + +static void deparseAlterExtensionContentsStmt(DeparseState *state, AlterExtensionContentsStmt *alter_extension_contents_stmt) +{ + List *l = NULL; + + deparseAppendStringInfoString(state, "ALTER EXTENSION "); + deparseColId(state, alter_extension_contents_stmt->extname); + deparseAppendStringInfoChar(state, ' '); + + if (alter_extension_contents_stmt->action == 1) + deparseAppendStringInfoString(state, "ADD "); + else if (alter_extension_contents_stmt->action == -1) + deparseAppendStringInfoString(state, "DROP "); + else + Assert(false); + + switch (alter_extension_contents_stmt->objtype) + { + case OBJECT_ACCESS_METHOD: + deparseAppendStringInfoString(state, "ACCESS METHOD "); + break; + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + break; + case OBJECT_CAST: + deparseAppendStringInfoString(state, "CAST "); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + break; + case OBJECT_OPCLASS: + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + break; + case OBJECT_OPFAMILY: + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + break; + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "SERVER "); + break; + case OBJECT_TRANSFORM: + deparseAppendStringInfoString(state, "TRANSFORM "); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + break; + default: + // No other object types are supported here in the parser + Assert(false); + break; + } + + switch (alter_extension_contents_stmt->objtype) + { + // any_name + case OBJECT_COLLATION: + case OBJECT_CONVERSION: + case OBJECT_TABLE: + case OBJECT_TSPARSER: + case OBJECT_TSDICTIONARY: + case OBJECT_TSTEMPLATE: + case OBJECT_TSCONFIGURATION: + case OBJECT_SEQUENCE: + case OBJECT_VIEW: + case OBJECT_MATVIEW: + case OBJECT_FOREIGN_TABLE: + deparseAnyName(state, castNode(List, alter_extension_contents_stmt->object)); + break; + // name + case OBJECT_ACCESS_METHOD: + case OBJECT_LANGUAGE: + case OBJECT_SCHEMA: + case OBJECT_EVENT_TRIGGER: + case OBJECT_FDW: + case OBJECT_FOREIGN_SERVER: + deparseColId(state, strVal(alter_extension_contents_stmt->object)); + break; + case OBJECT_AGGREGATE: + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); + break; + case OBJECT_CAST: + l = castNode(List, alter_extension_contents_stmt->object); + Assert(list_length(l) == 2); + deparseAppendStringInfoChar(state, '('); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, castNode(TypeName, lsecond(l))); + deparseAppendStringInfoChar(state, ')'); + break; + case OBJECT_DOMAIN: + case OBJECT_TYPE: + deparseTypeName(state, castNode(TypeName, alter_extension_contents_stmt->object)); + break; + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); + break; + case OBJECT_OPERATOR: + deparseOperatorWithArgtypes(state, castNode(ObjectWithArgs, alter_extension_contents_stmt->object)); + break; + case OBJECT_OPFAMILY: + case OBJECT_OPCLASS: + l = castNode(List, alter_extension_contents_stmt->object); + Assert(list_length(l) == 2); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseColId(state, strVal(linitial(l))); + break; + case OBJECT_TRANSFORM: + l = castNode(List, alter_extension_contents_stmt->object); + deparseAppendStringInfoString(state, "FOR "); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " LANGUAGE "); + deparseColId(state, strVal(lsecond(l))); + break; + default: + Assert(false); + break; + } +} + +static void deparseAccessPriv(DeparseState *state, AccessPriv *access_priv) +{ + ListCell *lc; + + if (access_priv->priv_name != NULL) + { + if (strcmp(access_priv->priv_name, "select") == 0) + deparseAppendStringInfoString(state, "select"); + else if (strcmp(access_priv->priv_name, "references") == 0) + deparseAppendStringInfoString(state, "references"); + else if (strcmp(access_priv->priv_name, "create") == 0) + deparseAppendStringInfoString(state, "create"); + else + deparseAppendStringInfoString(state, quote_identifier(access_priv->priv_name)); + } + else + { + deparseAppendStringInfoString(state, "ALL"); + } + deparseAppendStringInfoChar(state, ' '); + + if (list_length(access_priv->cols) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, access_priv->cols); + deparseAppendStringInfoChar(state, ')'); + } + + removeTrailingSpace(state); +} + +static void deparseGrantStmt(DeparseState *state, GrantStmt *grant_stmt) +{ + ListCell *lc; + if (grant_stmt->is_grant) + deparseAppendStringInfoString(state, "GRANT "); + else + deparseAppendStringInfoString(state, "REVOKE "); + + if (!grant_stmt->is_grant && grant_stmt->grant_option) + deparseAppendStringInfoString(state, "GRANT OPTION FOR "); + + if (list_length(grant_stmt->privileges) > 0) + { + foreach(lc, grant_stmt->privileges) + { + deparseAccessPriv(state, castNode(AccessPriv, lfirst(lc))); + if (lnext(grant_stmt->privileges, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + } + else + { + deparseAppendStringInfoString(state, "ALL "); + } + + deparseAppendStringInfoString(state, "ON "); + + deparsePrivilegeTarget(state, grant_stmt->targtype, grant_stmt->objtype, grant_stmt->objects); + deparseAppendStringInfoChar(state, ' '); + + if (grant_stmt->is_grant) + deparseAppendStringInfoString(state, "TO "); + else + deparseAppendStringInfoString(state, "FROM "); + + foreach(lc, grant_stmt->grantees) + { + deparseRoleSpec(state, castNode(RoleSpec, lfirst(lc))); + if (lnext(grant_stmt->grantees, lc)) + deparseAppendStringInfoChar(state, ','); + deparseAppendStringInfoChar(state, ' '); + } + + if (grant_stmt->is_grant && grant_stmt->grant_option) + deparseAppendStringInfoString(state, "WITH GRANT OPTION "); + + deparseOptDropBehavior(state, grant_stmt->behavior); + + if (grant_stmt->grantor) + { + deparseAppendStringInfoString(state, "GRANTED BY "); + deparseRoleSpec(state, castNode(RoleSpec, grant_stmt->grantor)); + } + + removeTrailingSpace(state); +} + +static void deparseGrantRoleStmt(DeparseState *state, GrantRoleStmt *grant_role_stmt) +{ + ListCell *lc; + + if (grant_role_stmt->is_grant) + deparseAppendStringInfoString(state, "GRANT "); + else + deparseAppendStringInfoString(state, "REVOKE "); + + if (!grant_role_stmt->is_grant && list_length(grant_role_stmt->opt)) { + DefElem *defelem = castNode(DefElem, linitial(grant_role_stmt->opt)); + Assert(!castNode(Boolean, defelem->arg)->boolval); + + if (strcmp("admin", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "ADMIN "); + } else if (strcmp("inherit", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "INHERIT "); + } else if (strcmp("set", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "SET "); + } + + deparseAppendStringInfoString(state, "OPTION FOR "); + } + + foreach(lc, grant_role_stmt->granted_roles) + { + deparseAccessPriv(state, castNode(AccessPriv, lfirst(lc))); + if (lnext(grant_role_stmt->granted_roles, lc)) + deparseAppendStringInfoChar(state, ','); + deparseAppendStringInfoChar(state, ' '); + } + + if (grant_role_stmt->is_grant) + deparseAppendStringInfoString(state, "TO "); + else + deparseAppendStringInfoString(state, "FROM "); + + deparseRoleList(state, grant_role_stmt->grantee_roles); + deparseAppendStringInfoChar(state, ' '); + + if (grant_role_stmt->is_grant) { + if (list_length(grant_role_stmt->opt) > 0) { + deparseAppendStringInfoString(state, "WITH "); + } + + foreach(lc, grant_role_stmt->opt) { + DefElem *defelem = castNode(DefElem, lfirst(lc)); + if (strcmp("admin", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "ADMIN "); + deparseAppendStringInfoString(state, castNode(Boolean, defelem->arg)->boolval ? "OPTION" : "FALSE"); + } else if (strcmp("inherit", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "INHERIT "); + deparseAppendStringInfoString(state, castNode(Boolean, defelem->arg)->boolval ? "OPTION" : "FALSE"); + } else if (strcmp("set", defelem->defname) == 0) { + deparseAppendStringInfoString(state, "SET "); + deparseAppendStringInfoString(state, castNode(Boolean, defelem->arg)->boolval ? "OPTION" : "FALSE"); + } + + if (lnext(grant_role_stmt->opt, lc)) { + deparseAppendStringInfoChar(state, ','); + } + + deparseAppendStringInfoChar(state, ' '); + } + } + + if (grant_role_stmt->grantor) + { + deparseAppendStringInfoString(state, "GRANTED BY "); + deparseRoleSpec(state, castNode(RoleSpec, grant_role_stmt->grantor)); + } + + if (grant_role_stmt->behavior == DROP_CASCADE) { + deparseAppendStringInfoString(state, "CASCADE "); + } + + removeTrailingSpace(state); +} + +static void deparseDropRoleStmt(DeparseState *state, DropRoleStmt *drop_role_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "DROP ROLE "); + + if (drop_role_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseRoleList(state, drop_role_stmt->roles); +} + +static void deparseIndexStmt(DeparseState *state, IndexStmt *index_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + if (index_stmt->unique) + deparseAppendStringInfoString(state, "UNIQUE "); + + deparseAppendStringInfoString(state, "INDEX "); + + if (index_stmt->concurrent) + deparseAppendStringInfoString(state, "CONCURRENTLY "); + + if (index_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + if (index_stmt->idxname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(index_stmt->idxname)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendPartGroup(state, "ON", DEPARSE_PART_INDENT); + deparseRangeVar(state, index_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (index_stmt->accessMethod != NULL) + { + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(index_stmt->accessMethod)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoChar(state, '('); + foreach (lc, index_stmt->indexParams) + { + deparseIndexElem(state, castNode(IndexElem, lfirst(lc))); + if (lnext(index_stmt->indexParams, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + + if (list_length(index_stmt->indexIncludingParams) > 0) + { + deparseAppendStringInfoString(state, "INCLUDE ("); + foreach (lc, index_stmt->indexIncludingParams) + { + deparseIndexElem(state, castNode(IndexElem, lfirst(lc))); + if (lnext(index_stmt->indexIncludingParams, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoString(state, ") "); + } + + if (index_stmt->nulls_not_distinct) + { + deparseAppendStringInfoString(state, "NULLS NOT DISTINCT "); + } + + deparseOptWith(state, index_stmt->options); + + if (index_stmt->tableSpace != NULL) + { + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseAppendStringInfoString(state, quote_identifier(index_stmt->tableSpace)); + deparseAppendStringInfoChar(state, ' '); + } + + deparseWhereClause(state, index_stmt->whereClause); + + removeTrailingSpace(state); +} + +static void deparseAlterOpFamilyStmt(DeparseState *state, AlterOpFamilyStmt *alter_op_family_stmt) +{ + deparseAppendStringInfoString(state, "ALTER OPERATOR FAMILY "); + deparseAnyName(state, alter_op_family_stmt->opfamilyname); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(alter_op_family_stmt->amname)); + deparseAppendStringInfoChar(state, ' '); + + if (alter_op_family_stmt->isDrop) + deparseAppendStringInfoString(state, "DROP "); + else + deparseAppendStringInfoString(state, "ADD "); + + deparseOpclassItemList(state, alter_op_family_stmt->items); +} + +static void deparsePrepareStmt(DeparseState *state, PrepareStmt *prepare_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "PREPARE "); + deparseColId(state, prepare_stmt->name); + if (list_length(prepare_stmt->argtypes) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseTypeList(state, prepare_stmt->argtypes); + deparseAppendStringInfoChar(state, ')'); + } + deparseAppendStringInfoString(state, " AS "); + deparsePreparableStmt(state, prepare_stmt->query); +} + +static void deparseExecuteStmt(DeparseState *state, ExecuteStmt *execute_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "EXECUTE "); + deparseAppendStringInfoString(state, quote_identifier(execute_stmt->name)); + if (list_length(execute_stmt->params) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseExprList(state, execute_stmt->params); + deparseAppendStringInfoChar(state, ')'); + } +} + +static void deparseDeallocateStmt(DeparseState *state, DeallocateStmt *deallocate_stmt) +{ + deparseAppendStringInfoString(state, "DEALLOCATE "); + if (deallocate_stmt->name != NULL) + deparseAppendStringInfoString(state, quote_identifier(deallocate_stmt->name)); + else + deparseAppendStringInfoString(state, "ALL"); +} + +// "AlterOptRoleElem" in gram.y +static void deparseAlterRoleElem(DeparseState *state, DefElem *def_elem) +{ + if (strcmp(def_elem->defname, "password") == 0) + { + deparseAppendStringInfoString(state, "PASSWORD "); + if (def_elem->arg == NULL) + { + deparseAppendStringInfoString(state, "NULL"); + } + else if (IsA(def_elem->arg, ParamRef)) + { + deparseParamRef(state, castNode(ParamRef, def_elem->arg)); + } + else if (IsA(def_elem->arg, String)) + { + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else + { + Assert(false); + } + } + else if (strcmp(def_elem->defname, "connectionlimit") == 0) + { + deparseAppendStringInfo(state, "CONNECTION LIMIT %d", intVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "validUntil") == 0) + { + deparseAppendStringInfoString(state, "VALID UNTIL "); + deparseStringLiteral(state, strVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "superuser") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "SUPERUSER"); + } + else if (strcmp(def_elem->defname, "superuser") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOSUPERUSER"); + } + else if (strcmp(def_elem->defname, "createrole") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "CREATEROLE"); + } + else if (strcmp(def_elem->defname, "createrole") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOCREATEROLE"); + } + else if (strcmp(def_elem->defname, "isreplication") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "REPLICATION"); + } + else if (strcmp(def_elem->defname, "isreplication") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOREPLICATION"); + } + else if (strcmp(def_elem->defname, "createdb") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "CREATEDB"); + } + else if (strcmp(def_elem->defname, "createdb") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOCREATEDB"); + } + else if (strcmp(def_elem->defname, "canlogin") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "LOGIN"); + } + else if (strcmp(def_elem->defname, "canlogin") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOLOGIN"); + } + else if (strcmp(def_elem->defname, "bypassrls") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "BYPASSRLS"); + } + else if (strcmp(def_elem->defname, "bypassrls") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOBYPASSRLS"); + } + else if (strcmp(def_elem->defname, "inherit") == 0 && boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "INHERIT"); + } + else if (strcmp(def_elem->defname, "inherit") == 0 && !boolVal(def_elem->arg)) + { + deparseAppendStringInfoString(state, "NOINHERIT"); + } + else + { + Assert(false); + } +} + +// "CreateOptRoleElem" in gram.y +static void deparseCreateRoleElem(DeparseState *state, DefElem *def_elem) +{ + if (strcmp(def_elem->defname, "sysid") == 0) + { + deparseAppendStringInfo(state, "SYSID %d", intVal(def_elem->arg)); + } + else if (strcmp(def_elem->defname, "adminmembers") == 0) + { + deparseAppendStringInfoString(state, "ADMIN "); + deparseRoleList(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "rolemembers") == 0) + { + deparseAppendStringInfoString(state, "ROLE "); + deparseRoleList(state, castNode(List, def_elem->arg)); + } + else if (strcmp(def_elem->defname, "addroleto") == 0) + { + deparseAppendStringInfoString(state, "IN ROLE "); + deparseRoleList(state, castNode(List, def_elem->arg)); + } + else + { + deparseAlterRoleElem(state, def_elem); + } +} + +static void deparseCreatePLangStmt(DeparseState *state, CreatePLangStmt *create_p_lang_stmt) +{ + deparseAppendStringInfoString(state, "CREATE "); + + if (create_p_lang_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + + if (create_p_lang_stmt->pltrusted) + deparseAppendStringInfoString(state, "TRUSTED "); + + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseNonReservedWordOrSconst(state, create_p_lang_stmt->plname); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "HANDLER "); + deparseHandlerName(state, create_p_lang_stmt->plhandler); + deparseAppendStringInfoChar(state, ' '); + + if (create_p_lang_stmt->plinline) + { + deparseAppendStringInfoString(state, "INLINE "); + deparseHandlerName(state, create_p_lang_stmt->plinline); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_p_lang_stmt->plvalidator) + { + deparseAppendStringInfoString(state, "VALIDATOR "); + deparseHandlerName(state, create_p_lang_stmt->plvalidator); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +static void deparseCreateRoleStmt(DeparseState *state, CreateRoleStmt *create_role_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + switch (create_role_stmt->stmt_type) + { + case ROLESTMT_ROLE: + deparseAppendStringInfoString(state, "ROLE "); + break; + case ROLESTMT_USER: + deparseAppendStringInfoString(state, "USER "); + break; + case ROLESTMT_GROUP: + deparseAppendStringInfoString(state, "GROUP "); + break; + } + + deparseAppendStringInfoString(state, quote_identifier(create_role_stmt->role)); + deparseAppendStringInfoChar(state, ' '); + + if (create_role_stmt->options != NULL) + { + deparseAppendStringInfoString(state, "WITH "); + foreach (lc, create_role_stmt->options) + { + deparseCreateRoleElem(state, castNode(DefElem, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + } + + removeTrailingSpace(state); +} + +static void deparseAlterRoleStmt(DeparseState *state, AlterRoleStmt *alter_role_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ALTER "); + + if (list_length(alter_role_stmt->options) == 1 && strcmp(castNode(DefElem, linitial(alter_role_stmt->options))->defname, "rolemembers") == 0) + { + deparseAppendStringInfoString(state, "GROUP "); + deparseRoleSpec(state, alter_role_stmt->role); + deparseAppendStringInfoChar(state, ' '); + + if (alter_role_stmt->action == 1) + { + deparseAppendStringInfoString(state, "ADD USER "); + } + else if (alter_role_stmt->action == -1) + { + deparseAppendStringInfoString(state, "DROP USER "); + } + else + { + Assert(false); + } + + deparseRoleList(state, castNode(List, castNode(DefElem, linitial(alter_role_stmt->options))->arg)); + } + else + { + deparseAppendStringInfoString(state, "ROLE "); + deparseRoleSpec(state, alter_role_stmt->role); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "WITH "); + foreach (lc, alter_role_stmt->options) + { + deparseAlterRoleElem(state, castNode(DefElem, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + } + + removeTrailingSpace(state); +} + +static void deparseDeclareCursorStmt(DeparseState *state, DeclareCursorStmt *declare_cursor_stmt) +{ + deparseAppendStringInfoString(state, "DECLARE "); + deparseAppendStringInfoString(state, quote_identifier(declare_cursor_stmt->portalname)); + deparseAppendStringInfoChar(state, ' '); + + if (declare_cursor_stmt->options & CURSOR_OPT_BINARY) + deparseAppendStringInfoString(state, "BINARY "); + + if (declare_cursor_stmt->options & CURSOR_OPT_SCROLL) + deparseAppendStringInfoString(state, "SCROLL "); + + if (declare_cursor_stmt->options & CURSOR_OPT_NO_SCROLL) + deparseAppendStringInfoString(state, "NO SCROLL "); + + if (declare_cursor_stmt->options & CURSOR_OPT_INSENSITIVE) + deparseAppendStringInfoString(state, "INSENSITIVE "); + + deparseAppendStringInfoString(state, "CURSOR "); + + if (declare_cursor_stmt->options & CURSOR_OPT_HOLD) + deparseAppendStringInfoString(state, "WITH HOLD "); + + deparseAppendStringInfoString(state, "FOR "); + + deparseSelectStmt(state, castNode(SelectStmt, declare_cursor_stmt->query), DEPARSE_NODE_CONTEXT_NONE); +} + +static void deparseFetchStmt(DeparseState *state, FetchStmt *fetch_stmt) +{ + if (fetch_stmt->ismove) + deparseAppendStringInfoString(state, "MOVE "); + else + deparseAppendStringInfoString(state, "FETCH "); + + switch (fetch_stmt->direction) + { + case FETCH_FORWARD: + if (fetch_stmt->howMany == 1) + { + // Default + } + else if (fetch_stmt->howMany == FETCH_ALL) + { + deparseAppendStringInfoString(state, "ALL "); + } + else + { + deparseAppendStringInfo(state, "FORWARD %ld ", fetch_stmt->howMany); + } + break; + case FETCH_BACKWARD: + if (fetch_stmt->howMany == 1) + { + deparseAppendStringInfoString(state, "PRIOR "); + } + else if (fetch_stmt->howMany == FETCH_ALL) + { + deparseAppendStringInfoString(state, "BACKWARD ALL "); + } + else + { + deparseAppendStringInfo(state, "BACKWARD %ld ", fetch_stmt->howMany); + } + break; + case FETCH_ABSOLUTE: + if (fetch_stmt->howMany == 1) + { + deparseAppendStringInfoString(state, "FIRST "); + } + else if (fetch_stmt->howMany == -1) + { + deparseAppendStringInfoString(state, "LAST "); + } + else + { + deparseAppendStringInfo(state, "ABSOLUTE %ld ", fetch_stmt->howMany); + } + break; + case FETCH_RELATIVE: + deparseAppendStringInfo(state, "RELATIVE %ld ", fetch_stmt->howMany); + } + + deparseAppendStringInfoString(state, quote_identifier(fetch_stmt->portalname)); +} + +static void deparseAlterDefaultPrivilegesStmt(DeparseState *state, AlterDefaultPrivilegesStmt *alter_default_privileges_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ALTER DEFAULT PRIVILEGES "); + + foreach (lc, alter_default_privileges_stmt->options) + { + DefElem *defelem = castNode(DefElem, lfirst(lc)); + if (strcmp(defelem->defname, "schemas") == 0) + { + deparseAppendStringInfoString(state, "IN SCHEMA "); + deparseNameList(state, castNode(List, defelem->arg)); + deparseAppendStringInfoChar(state, ' '); + } + else if (strcmp(defelem->defname, "roles") == 0) + { + deparseAppendStringInfoString(state, "FOR ROLE "); + deparseRoleList(state, castNode(List, defelem->arg)); + deparseAppendStringInfoChar(state, ' '); + } + else + { + // No other DefElems are supported + Assert(false); + } + } + + deparseGrantStmt(state, alter_default_privileges_stmt->action); +} + +static void deparseReindexStmt(DeparseState *state, ReindexStmt *reindex_stmt) +{ + deparseAppendStringInfoString(state, "REINDEX "); + + deparseUtilityOptionList(state, reindex_stmt->params); + + switch (reindex_stmt->kind) + { + case REINDEX_OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case REINDEX_OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case REINDEX_OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + break; + case REINDEX_OBJECT_SYSTEM: + deparseAppendStringInfoString(state, "SYSTEM "); + break; + case REINDEX_OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + break; + } + + if (reindex_stmt->relation != NULL) + { + deparseRangeVar(state, reindex_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + } + else if (reindex_stmt->name != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(reindex_stmt->name)); + } +} + +static void deparseRuleStmt(DeparseState *state, RuleStmt* rule_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + if (rule_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + + deparseAppendStringInfoString(state, "RULE "); + deparseAppendStringInfoString(state, quote_identifier(rule_stmt->rulename)); + deparseAppendStringInfoString(state, " AS ON "); + + switch (rule_stmt->event) + { + case CMD_UNKNOWN: + case CMD_UTILITY: + case CMD_NOTHING: + // Not supported here + Assert(false); + break; + case CMD_SELECT: + deparseAppendStringInfoString(state, "SELECT "); + break; + case CMD_UPDATE: + deparseAppendStringInfoString(state, "UPDATE "); + break; + case CMD_INSERT: + deparseAppendStringInfoString(state, "INSERT "); + break; + case CMD_DELETE: + deparseAppendStringInfoString(state, "DELETE "); + break; + case CMD_MERGE: + deparseAppendStringInfoString(state, "MERGE "); + break; + } + + deparseAppendStringInfoString(state, "TO "); + deparseRangeVar(state, rule_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + deparseWhereClause(state, rule_stmt->whereClause); + + deparseAppendStringInfoString(state, "DO "); + + if (rule_stmt->instead) + deparseAppendStringInfoString(state, "INSTEAD "); + + if (list_length(rule_stmt->actions) == 0) + { + deparseAppendStringInfoString(state, "NOTHING"); + } + else if (list_length(rule_stmt->actions) == 1) + { + deparseRuleActionStmt(state, linitial(rule_stmt->actions)); + } + else + { + deparseAppendStringInfoChar(state, '('); + foreach (lc, rule_stmt->actions) + { + deparseRuleActionStmt(state, lfirst(lc)); + if (lnext(rule_stmt->actions, lc)) + deparseAppendStringInfoString(state, "; "); + } + deparseAppendStringInfoChar(state, ')'); + } +} + +static void deparseNotifyStmt(DeparseState *state, NotifyStmt *notify_stmt) +{ + deparseAppendStringInfoString(state, "NOTIFY "); + deparseAppendStringInfoString(state, quote_identifier(notify_stmt->conditionname)); + + if (notify_stmt->payload != NULL) + { + deparseAppendStringInfoString(state, ", "); + deparseStringLiteral(state, notify_stmt->payload); + } +} + +static void deparseListenStmt(DeparseState *state, ListenStmt *listen_stmt) +{ + deparseAppendStringInfoString(state, "LISTEN "); + deparseAppendStringInfoString(state, quote_identifier(listen_stmt->conditionname)); +} + +static void deparseUnlistenStmt(DeparseState *state, UnlistenStmt *unlisten_stmt) +{ + deparseAppendStringInfoString(state, "UNLISTEN "); + if (unlisten_stmt->conditionname == NULL) + deparseAppendStringInfoString(state, "*"); + else + deparseAppendStringInfoString(state, quote_identifier(unlisten_stmt->conditionname)); +} + +static void deparseCreateSeqStmt(DeparseState *state, CreateSeqStmt *create_seq_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE "); + + deparseOptTemp(state, create_seq_stmt->sequence->relpersistence); + + deparseAppendStringInfoString(state, "SEQUENCE "); + + if (create_seq_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseRangeVar(state, create_seq_stmt->sequence, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + deparseOptSeqOptList(state, create_seq_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseAlterFunctionStmt(DeparseState *state, AlterFunctionStmt *alter_function_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ALTER "); + + switch (alter_function_stmt->objtype) + { + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + break; + default: + // Not supported here + Assert(false); + break; + } + + deparseFunctionWithArgtypes(state, alter_function_stmt->func); + deparseAppendStringInfoChar(state, ' '); + + foreach (lc, alter_function_stmt->actions) + { + deparseCommonFuncOptItem(state, castNode(DefElem, lfirst(lc))); + if (lnext(alter_function_stmt->actions, lc)) + deparseAppendStringInfoChar(state, ' '); + } +} + +static void deparseTruncateStmt(DeparseState *state, TruncateStmt *truncate_stmt) +{ + deparseAppendStringInfoString(state, "TRUNCATE "); + + deparseRelationExprList(state, truncate_stmt->relations); + deparseAppendStringInfoChar(state, ' '); + + if (truncate_stmt->restart_seqs) + deparseAppendStringInfoString(state, "RESTART IDENTITY "); + + deparseOptDropBehavior(state, truncate_stmt->behavior); + + removeTrailingSpace(state); +} + +static void deparseCreateEventTrigStmt(DeparseState *state, CreateEventTrigStmt *create_event_trig_stmt) +{ + ListCell *lc = NULL; + ListCell *lc2 = NULL; + + deparseAppendStringInfoString(state, "CREATE EVENT TRIGGER "); + deparseAppendStringInfoString(state, quote_identifier(create_event_trig_stmt->trigname)); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "ON "); + deparseAppendStringInfoString(state, quote_identifier(create_event_trig_stmt->eventname)); + deparseAppendStringInfoChar(state, ' '); + + if (create_event_trig_stmt->whenclause) + { + deparseAppendStringInfoString(state, "WHEN "); + + foreach (lc, create_event_trig_stmt->whenclause) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + List *l = castNode(List, def_elem->arg); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoString(state, " IN ("); + foreach (lc2, l) + { + deparseStringLiteral(state, strVal(lfirst(lc2))); + if (lnext(l, lc2)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); + if (lnext(create_event_trig_stmt->whenclause, lc)) + deparseAppendStringInfoString(state, " AND "); + } + + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "EXECUTE FUNCTION "); + deparseFuncName(state, create_event_trig_stmt->funcname); + deparseAppendStringInfoString(state, "()"); +} + +static void deparseAlterEventTrigStmt(DeparseState *state, AlterEventTrigStmt *alter_event_trig_stmt) +{ + deparseAppendStringInfoString(state, "ALTER EVENT TRIGGER "); + deparseAppendStringInfoString(state, quote_identifier(alter_event_trig_stmt->trigname)); + deparseAppendStringInfoChar(state, ' '); + + switch (alter_event_trig_stmt->tgenabled) + { + case TRIGGER_FIRES_ON_ORIGIN: + deparseAppendStringInfoString(state, "ENABLE"); + break; + case TRIGGER_FIRES_ON_REPLICA: + deparseAppendStringInfoString(state, "ENABLE REPLICA"); + break; + case TRIGGER_FIRES_ALWAYS: + deparseAppendStringInfoString(state, "ENABLE ALWAYS"); + break; + case TRIGGER_DISABLED: + deparseAppendStringInfoString(state, "DISABLE"); + break; + } +} + +static void deparseRefreshMatViewStmt(DeparseState *state, RefreshMatViewStmt *refresh_mat_view_stmt) +{ + deparseAppendStringInfoString(state, "REFRESH MATERIALIZED VIEW "); + + if (refresh_mat_view_stmt->concurrent) + deparseAppendStringInfoString(state, "CONCURRENTLY "); + + deparseRangeVar(state, refresh_mat_view_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (refresh_mat_view_stmt->skipData) + deparseAppendStringInfoString(state, "WITH NO DATA "); + + removeTrailingSpace(state); +} + +static void deparseReplicaIdentityStmt(DeparseState *state, ReplicaIdentityStmt *replica_identity_stmt) +{ + switch (replica_identity_stmt->identity_type) + { + case REPLICA_IDENTITY_NOTHING: + deparseAppendStringInfoString(state, "NOTHING "); + break; + case REPLICA_IDENTITY_FULL: + deparseAppendStringInfoString(state, "FULL "); + break; + case REPLICA_IDENTITY_DEFAULT: + deparseAppendStringInfoString(state, "DEFAULT "); + break; + case REPLICA_IDENTITY_INDEX: + Assert(replica_identity_stmt->name != NULL); + deparseAppendStringInfoString(state, "USING INDEX "); + deparseAppendStringInfoString(state, quote_identifier(replica_identity_stmt->name)); + break; + } +} + +// "CreatePolicyStmt" in gram.y +static void deparseCreatePolicyStmt(DeparseState *state, CreatePolicyStmt *create_policy_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "CREATE POLICY "); + deparseColId(state, create_policy_stmt->policy_name); + deparseAppendStringInfoString(state, " ON "); + deparseRangeVar(state, create_policy_stmt->table, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (!create_policy_stmt->permissive) + deparseAppendStringInfoString(state, "AS RESTRICTIVE "); + + if (strcmp(create_policy_stmt->cmd_name, "all") == 0) + Assert(true); // Default + else if (strcmp(create_policy_stmt->cmd_name, "select") == 0) + deparseAppendStringInfoString(state, "FOR SELECT "); + else if (strcmp(create_policy_stmt->cmd_name, "insert") == 0) + deparseAppendStringInfoString(state, "FOR INSERT "); + else if (strcmp(create_policy_stmt->cmd_name, "update") == 0) + deparseAppendStringInfoString(state, "FOR UPDATE "); + else if (strcmp(create_policy_stmt->cmd_name, "delete") == 0) + deparseAppendStringInfoString(state, "FOR DELETE "); + else + Assert(false); + + deparseAppendStringInfoString(state, "TO "); + deparseRoleList(state, create_policy_stmt->roles); + deparseAppendStringInfoChar(state, ' '); + + if (create_policy_stmt->qual != NULL) + { + deparseAppendStringInfoString(state, "USING ("); + deparseExpr(state, create_policy_stmt->qual, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + if (create_policy_stmt->with_check != NULL) + { + deparseAppendStringInfoString(state, "WITH CHECK ("); + deparseExpr(state, create_policy_stmt->with_check, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } +} + +// "AlterPolicyStmt" in gram.y +static void deparseAlterPolicyStmt(DeparseState *state, AlterPolicyStmt *alter_policy_stmt) +{ + deparseAppendStringInfoString(state, "ALTER POLICY "); + deparseAppendStringInfoString(state, quote_identifier(alter_policy_stmt->policy_name)); + deparseAppendStringInfoString(state, " ON "); + deparseRangeVar(state, alter_policy_stmt->table, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(alter_policy_stmt->roles) > 0) + { + deparseAppendStringInfoString(state, "TO "); + deparseRoleList(state, alter_policy_stmt->roles); + deparseAppendStringInfoChar(state, ' '); + } + + if (alter_policy_stmt->qual != NULL) + { + deparseAppendStringInfoString(state, "USING ("); + deparseExpr(state, alter_policy_stmt->qual, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + if (alter_policy_stmt->with_check != NULL) + { + deparseAppendStringInfoString(state, "WITH CHECK ("); + deparseExpr(state, alter_policy_stmt->with_check, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } +} + +static void deparseCreateTableSpaceStmt(DeparseState *state, CreateTableSpaceStmt *create_table_space_stmt) +{ + deparseAppendStringInfoString(state, "CREATE TABLESPACE "); + deparseColId(state, create_table_space_stmt->tablespacename); + deparseAppendStringInfoChar(state, ' '); + + if (create_table_space_stmt->owner != NULL) + { + deparseAppendStringInfoString(state, "OWNER "); + deparseRoleSpec(state, create_table_space_stmt->owner); + deparseAppendStringInfoChar(state, ' '); + } + + deparseAppendStringInfoString(state, "LOCATION "); + + if (create_table_space_stmt->location != NULL) + deparseStringLiteral(state, create_table_space_stmt->location); + else + deparseAppendStringInfoString(state, "''"); + + deparseAppendStringInfoChar(state, ' '); + + deparseOptWith(state, create_table_space_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseCreateTransformStmt(DeparseState *state, CreateTransformStmt *create_transform_stmt) +{ + deparseAppendStringInfoString(state, "CREATE "); + if (create_transform_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + + deparseAppendStringInfoString(state, "TRANSFORM FOR "); + deparseTypeName(state, create_transform_stmt->type_name); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseAppendStringInfoString(state, quote_identifier(create_transform_stmt->lang)); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoChar(state, '('); + + if (create_transform_stmt->fromsql) + { + deparseAppendStringInfoString(state, "FROM SQL WITH FUNCTION "); + deparseFunctionWithArgtypes(state, create_transform_stmt->fromsql); + } + + if (create_transform_stmt->fromsql && create_transform_stmt->tosql) + deparseAppendStringInfoString(state, ", "); + + if (create_transform_stmt->tosql) + { + deparseAppendStringInfoString(state, "TO SQL WITH FUNCTION "); + deparseFunctionWithArgtypes(state, create_transform_stmt->tosql); + } + + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseCreateAmStmt(DeparseState *state, CreateAmStmt *create_am_stmt) +{ + deparseAppendStringInfoString(state, "CREATE ACCESS METHOD "); + deparseAppendStringInfoString(state, quote_identifier(create_am_stmt->amname)); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "TYPE "); + switch (create_am_stmt->amtype) + { + case AMTYPE_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case AMTYPE_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + } + + deparseAppendStringInfoString(state, "HANDLER "); + deparseHandlerName(state, create_am_stmt->handler_name); +} + +// "pub_obj_list" in gram.y +static void deparsePublicationObjectList(DeparseState *state, List *pubobjects) { + const ListCell *lc; + foreach(lc, pubobjects) { + PublicationObjSpec *obj = lfirst(lc); + + switch (obj->pubobjtype) { + case PUBLICATIONOBJ_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + deparseRangeVar(state, obj->pubtable->relation, DEPARSE_NODE_CONTEXT_NONE); + + if (obj->pubtable->columns) + { + deparseAppendStringInfoChar(state, '('); + deparseColumnList(state, obj->pubtable->columns); + deparseAppendStringInfoChar(state, ')'); + } + + if (obj->pubtable->whereClause) + { + deparseAppendStringInfoString(state, " WHERE ("); + deparseExpr(state, obj->pubtable->whereClause, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ")"); + } + + break; + case PUBLICATIONOBJ_TABLES_IN_SCHEMA: + deparseAppendStringInfoString(state, "TABLES IN SCHEMA "); + deparseAppendStringInfoString(state, quote_identifier(obj->name)); + break; + case PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA: + deparseAppendStringInfoString(state, "TABLES IN SCHEMA CURRENT_SCHEMA"); + break; + case PUBLICATIONOBJ_CONTINUATION: + // This should be unreachable, the parser merges these before we can even get here. + Assert(false); + break; + } + + if (lnext(pubobjects, lc)) { + deparseAppendStringInfoString(state, ", "); + } + } +} + +static void deparseCreatePublicationStmt(DeparseState *state, CreatePublicationStmt *create_publication_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "CREATE PUBLICATION "); + deparseAppendStringInfoString(state, quote_identifier(create_publication_stmt->pubname)); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(create_publication_stmt->pubobjects) > 0) + { + deparseAppendStringInfoString(state, "FOR "); + deparsePublicationObjectList(state, create_publication_stmt->pubobjects); + deparseAppendStringInfoChar(state, ' '); + } + else if (create_publication_stmt->for_all_tables) + { + deparseAppendStringInfoString(state, "FOR ALL TABLES "); + } + + deparseOptDefinition(state, create_publication_stmt->options); + removeTrailingSpace(state); +} + +static void deparseAlterPublicationStmt(DeparseState *state, AlterPublicationStmt *alter_publication_stmt) +{ + deparseAppendStringInfoString(state, "ALTER PUBLICATION "); + deparseColId(state, alter_publication_stmt->pubname); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(alter_publication_stmt->pubobjects) > 0) + { + switch (alter_publication_stmt->action) + { + case AP_SetObjects: + deparseAppendStringInfoString(state, "SET "); + break; + case AP_AddObjects: + deparseAppendStringInfoString(state, "ADD "); + break; + case AP_DropObjects: + deparseAppendStringInfoString(state, "DROP "); + break; + } + + deparsePublicationObjectList(state, alter_publication_stmt->pubobjects); + } + else if (list_length(alter_publication_stmt->options) > 0) + { + deparseAppendStringInfoString(state, "SET "); + deparseDefinition(state, alter_publication_stmt->options); + } + else + { + Assert(false); + } +} + +static void deparseAlterSeqStmt(DeparseState *state, AlterSeqStmt *alter_seq_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ALTER SEQUENCE "); + + if (alter_seq_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseRangeVar(state, alter_seq_stmt->sequence, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + deparseSeqOptList(state, alter_seq_stmt->options); + + removeTrailingSpace(state); +} + +static void deparseAlterSystemStmt(DeparseState *state, AlterSystemStmt *alter_system_stmt) +{ + deparseAppendStringInfoString(state, "ALTER SYSTEM "); + deparseVariableSetStmt(state, alter_system_stmt->setstmt); +} + +static void deparseCommentStmt(DeparseState *state, CommentStmt *comment_stmt) +{ + ListCell *lc; + List *l; + + deparseAppendStringInfoString(state, "COMMENT ON "); + + switch (comment_stmt->objtype) + { + case OBJECT_COLUMN: + deparseAppendStringInfoString(state, "COLUMN "); + break; + case OBJECT_INDEX: + deparseAppendStringInfoString(state, "INDEX "); + break; + case OBJECT_SEQUENCE: + deparseAppendStringInfoString(state, "SEQUENCE "); + break; + case OBJECT_STATISTIC_EXT: + deparseAppendStringInfoString(state, "STATISTICS "); + break; + case OBJECT_TABLE: + deparseAppendStringInfoString(state, "TABLE "); + break; + case OBJECT_VIEW: + deparseAppendStringInfoString(state, "VIEW "); + break; + case OBJECT_MATVIEW: + deparseAppendStringInfoString(state, "MATERIALIZED VIEW "); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + break; + case OBJECT_FOREIGN_TABLE: + deparseAppendStringInfoString(state, "FOREIGN TABLE "); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + break; + case OBJECT_TSPARSER: + deparseAppendStringInfoString(state, "TEXT SEARCH PARSER "); + break; + case OBJECT_TSTEMPLATE: + deparseAppendStringInfoString(state, "TEXT SEARCH TEMPLATE "); + break; + case OBJECT_ACCESS_METHOD: + deparseAppendStringInfoString(state, "ACCESS METHOD "); + break; + case OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + break; + case OBJECT_EXTENSION: + deparseAppendStringInfoString(state, "EXTENSION "); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + break; + case OBJECT_PUBLICATION: + deparseAppendStringInfoString(state, "PUBLICATION "); + break; + case OBJECT_ROLE: + deparseAppendStringInfoString(state, "ROLE "); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "SERVER "); + break; + case OBJECT_SUBSCRIPTION: + deparseAppendStringInfoString(state, "SUBSCRIPTION "); + break; + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, "TABLESPACE "); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + break; + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + break; + case OBJECT_TABCONSTRAINT: + deparseAppendStringInfoString(state, "CONSTRAINT "); + break; + case OBJECT_DOMCONSTRAINT: + deparseAppendStringInfoString(state, "CONSTRAINT "); + break; + case OBJECT_POLICY: + deparseAppendStringInfoString(state, "POLICY "); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + break; + case OBJECT_RULE: + deparseAppendStringInfoString(state, "RULE "); + break; + case OBJECT_TRANSFORM: + deparseAppendStringInfoString(state, "TRANSFORM "); + break; + case OBJECT_TRIGGER: + deparseAppendStringInfoString(state, "TRIGGER "); + break; + case OBJECT_OPCLASS: + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + break; + case OBJECT_OPFAMILY: + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + break; + case OBJECT_LARGEOBJECT: + deparseAppendStringInfoString(state, "LARGE OBJECT "); + break; + case OBJECT_CAST: + deparseAppendStringInfoString(state, "CAST "); + break; + default: + // No other cases are supported in the parser + Assert(false); + break; + } + + switch (comment_stmt->objtype) + { + case OBJECT_COLUMN: + case OBJECT_INDEX: + case OBJECT_SEQUENCE: + case OBJECT_STATISTIC_EXT: + case OBJECT_TABLE: + case OBJECT_VIEW: + case OBJECT_MATVIEW: + case OBJECT_COLLATION: + case OBJECT_CONVERSION: + case OBJECT_FOREIGN_TABLE: + case OBJECT_TSCONFIGURATION: + case OBJECT_TSDICTIONARY: + case OBJECT_TSPARSER: + case OBJECT_TSTEMPLATE: + deparseAnyName(state, castNode(List, comment_stmt->object)); + break; + case OBJECT_ACCESS_METHOD: + case OBJECT_DATABASE: + case OBJECT_EVENT_TRIGGER: + case OBJECT_EXTENSION: + case OBJECT_FDW: + case OBJECT_LANGUAGE: + case OBJECT_PUBLICATION: + case OBJECT_ROLE: + case OBJECT_SCHEMA: + case OBJECT_FOREIGN_SERVER: + case OBJECT_SUBSCRIPTION: + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, quote_identifier(strVal(comment_stmt->object))); + break; + case OBJECT_TYPE: + case OBJECT_DOMAIN: + deparseTypeName(state, castNode(TypeName, comment_stmt->object)); + break; + case OBJECT_AGGREGATE: + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, comment_stmt->object)); + break; + case OBJECT_FUNCTION: + case OBJECT_PROCEDURE: + case OBJECT_ROUTINE: + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, comment_stmt->object)); + break; + case OBJECT_OPERATOR: + deparseOperatorWithArgtypes(state, castNode(ObjectWithArgs, comment_stmt->object)); + break; + case OBJECT_TABCONSTRAINT: + case OBJECT_POLICY: + case OBJECT_RULE: + case OBJECT_TRIGGER: + l = castNode(List, comment_stmt->object); + deparseAppendStringInfoString(state, quote_identifier(strVal(llast(l)))); + deparseAppendStringInfoString(state, " ON "); + deparseAnyNameSkipLast(state, l); + break; + case OBJECT_DOMCONSTRAINT: + l = castNode(List, comment_stmt->object); + deparseAppendStringInfoString(state, quote_identifier(strVal(llast(l)))); + deparseAppendStringInfoString(state, " ON DOMAIN "); + deparseTypeName(state, linitial(l)); + break; + case OBJECT_TRANSFORM: + l = castNode(List, comment_stmt->object); + deparseAppendStringInfoString(state, "FOR "); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " LANGUAGE "); + deparseAppendStringInfoString(state, quote_identifier(strVal(lsecond(l)))); + break; + case OBJECT_OPCLASS: + case OBJECT_OPFAMILY: + l = castNode(List, comment_stmt->object); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseAppendStringInfoString(state, quote_identifier(strVal(linitial(l)))); + break; + case OBJECT_LARGEOBJECT: + deparseValue(state, (union ValUnion *) comment_stmt->object, DEPARSE_NODE_CONTEXT_NONE); + break; + case OBJECT_CAST: + l = castNode(List, comment_stmt->object); + deparseAppendStringInfoChar(state, '('); + deparseTypeName(state, castNode(TypeName, linitial(l))); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, castNode(TypeName, lsecond(l))); + deparseAppendStringInfoChar(state, ')'); + break; + default: + // No other cases are supported in the parser + Assert(false); + break; + } + + deparseAppendStringInfoString(state, " IS "); + + if (comment_stmt->comment != NULL) + deparseStringLiteral(state, comment_stmt->comment); + else + deparseAppendStringInfoString(state, "NULL"); +} + +// "stats_param" in gram.y +static void deparseStatsElem(DeparseState *state, StatsElem *stats_elem) +{ + // only one of stats_elem->name or stats_elem->expr can be non-null + if (stats_elem->name) + deparseAppendStringInfoString(state, stats_elem->name); + else if (stats_elem->expr) + { + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, stats_elem->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + } +} + +static void deparseCreateStatsStmt(DeparseState *state, CreateStatsStmt *create_stats_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE STATISTICS "); + + if (create_stats_stmt->if_not_exists) + deparseAppendStringInfoString(state, "IF NOT EXISTS "); + + deparseAnyName(state, create_stats_stmt->defnames); + deparseAppendStringInfoChar(state, ' '); + + if (list_length(create_stats_stmt->stat_types) > 0) + { + deparseAppendStringInfoChar(state, '('); + deparseNameList(state, create_stats_stmt->stat_types); + deparseAppendStringInfoString(state, ") "); + } + + deparseAppendStringInfoString(state, "ON "); + foreach (lc, create_stats_stmt->exprs) + { + deparseStatsElem(state, lfirst(lc)); + if (lnext(create_stats_stmt->exprs, lc)) + deparseAppendStringInfoString(state, ", "); + } + + deparseAppendStringInfoString(state, " FROM "); + deparseFromList(state, create_stats_stmt->relations); +} + +static void deparseAlterCollationStmt(DeparseState *state, AlterCollationStmt *alter_collation_stmt) +{ + deparseAppendStringInfoString(state, "ALTER COLLATION "); + deparseAnyName(state, alter_collation_stmt->collname); + deparseAppendStringInfoString(state, " REFRESH VERSION"); +} + +static void deparseAlterDatabaseStmt(DeparseState *state, AlterDatabaseStmt *alter_database_stmt) +{ + deparseAppendStringInfoString(state, "ALTER DATABASE "); + deparseColId(state, alter_database_stmt->dbname); + deparseAppendStringInfoChar(state, ' '); + deparseCreatedbOptList(state, alter_database_stmt->options); + removeTrailingSpace(state); +} + +static void deparseAlterDatabaseSetStmt(DeparseState *state, AlterDatabaseSetStmt *alter_database_set_stmt) +{ + deparseAppendStringInfoString(state, "ALTER DATABASE "); + deparseColId(state, alter_database_set_stmt->dbname); + deparseAppendStringInfoChar(state, ' '); + deparseVariableSetStmt(state, alter_database_set_stmt->setstmt); +} + +static void deparseAlterStatsStmt(DeparseState *state, AlterStatsStmt *alter_stats_stmt) +{ + deparseAppendStringInfoString(state, "ALTER STATISTICS "); + + if (alter_stats_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseAnyName(state, alter_stats_stmt->defnames); + deparseAppendStringInfoChar(state, ' '); + + if (alter_stats_stmt->stxstattarget) + deparseAppendStringInfo(state, "SET STATISTICS %d", castNode(Integer, alter_stats_stmt->stxstattarget)->ival); + else + deparseAppendStringInfo(state, "SET STATISTICS DEFAULT"); +} + +static void deparseAlterTSDictionaryStmt(DeparseState *state, AlterTSDictionaryStmt *alter_ts_dictionary_stmt) +{ + deparseAppendStringInfoString(state, "ALTER TEXT SEARCH DICTIONARY "); + + deparseAnyName(state, alter_ts_dictionary_stmt->dictname); + deparseAppendStringInfoChar(state, ' '); + + deparseDefinition(state, alter_ts_dictionary_stmt->options); +} + +static void deparseAlterTSConfigurationStmt(DeparseState *state, AlterTSConfigurationStmt *alter_ts_configuration_stmt) +{ + ListCell *lc = NULL; + + deparseAppendStringInfoString(state, "ALTER TEXT SEARCH CONFIGURATION "); + deparseAnyName(state, alter_ts_configuration_stmt->cfgname); + deparseAppendStringInfoChar(state, ' '); + + switch (alter_ts_configuration_stmt->kind) + { + case ALTER_TSCONFIG_ADD_MAPPING: + deparseAppendStringInfoString(state, "ADD MAPPING FOR "); + deparseNameList(state, alter_ts_configuration_stmt->tokentype); + deparseAppendStringInfoString(state, " WITH "); + deparseAnyNameList(state, alter_ts_configuration_stmt->dicts); + break; + case ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN: + deparseAppendStringInfoString(state, "ALTER MAPPING FOR "); + deparseNameList(state, alter_ts_configuration_stmt->tokentype); + deparseAppendStringInfoString(state, " WITH "); + deparseAnyNameList(state, alter_ts_configuration_stmt->dicts); + break; + case ALTER_TSCONFIG_REPLACE_DICT: + deparseAppendStringInfoString(state, "ALTER MAPPING REPLACE "); + deparseAnyName(state, linitial(alter_ts_configuration_stmt->dicts)); + deparseAppendStringInfoString(state, " WITH "); + deparseAnyName(state, lsecond(alter_ts_configuration_stmt->dicts)); + break; + case ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN: + deparseAppendStringInfoString(state, "ALTER MAPPING FOR "); + deparseNameList(state, alter_ts_configuration_stmt->tokentype); + deparseAppendStringInfoString(state, " REPLACE "); + deparseAnyName(state, linitial(alter_ts_configuration_stmt->dicts)); + deparseAppendStringInfoString(state, " WITH "); + deparseAnyName(state, lsecond(alter_ts_configuration_stmt->dicts)); + break; + case ALTER_TSCONFIG_DROP_MAPPING: + deparseAppendStringInfoString(state, "DROP MAPPING "); + if (alter_ts_configuration_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + deparseAppendStringInfoString(state, "FOR "); + deparseNameList(state, alter_ts_configuration_stmt->tokentype); + break; + } +} + +static void deparseVariableShowStmt(DeparseState *state, VariableShowStmt *variable_show_stmt) +{ + deparseAppendStringInfoString(state, "SHOW "); + + if (strcmp(variable_show_stmt->name, "timezone") == 0) + deparseAppendStringInfoString(state, "TIME ZONE"); + else if (strcmp(variable_show_stmt->name, "transaction_isolation") == 0) + deparseAppendStringInfoString(state, "TRANSACTION ISOLATION LEVEL"); + else if (strcmp(variable_show_stmt->name, "session_authorization") == 0) + deparseAppendStringInfoString(state, "SESSION AUTHORIZATION"); + else if (strcmp(variable_show_stmt->name, "all") == 0) + deparseAppendStringInfoString(state, "ALL"); + else + deparseAppendStringInfoString(state, quote_identifier(variable_show_stmt->name)); +} + +// "tablesample_clause" in gram.y +static void deparseRangeTableSample(DeparseState *state, RangeTableSample *range_table_sample) +{ + deparseRangeVar(state, castNode(RangeVar, range_table_sample->relation), DEPARSE_NODE_CONTEXT_NONE); + + deparseAppendStringInfoString(state, " TABLESAMPLE "); + + deparseFuncName(state, range_table_sample->method); + deparseAppendStringInfoChar(state, '('); + deparseExprList(state, range_table_sample->args); + deparseAppendStringInfoString(state, ") "); + + if (range_table_sample->repeatable != NULL) + { + deparseAppendStringInfoString(state, "REPEATABLE ("); + deparseExpr(state, range_table_sample->repeatable, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + removeTrailingSpace(state); +} + +static void deparseCreateSubscriptionStmt(DeparseState *state, CreateSubscriptionStmt *create_subscription_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "CREATE SUBSCRIPTION "); + deparseAppendStringInfoString(state, quote_identifier(create_subscription_stmt->subname)); + + deparseAppendStringInfoString(state, " CONNECTION "); + if (create_subscription_stmt->conninfo != NULL) + deparseStringLiteral(state, create_subscription_stmt->conninfo); + else + deparseAppendStringInfoString(state, "''"); + + deparseAppendStringInfoString(state, " PUBLICATION "); + + foreach(lc, create_subscription_stmt->publication) + { + deparseColLabel(state, strVal(lfirst(lc))); + if (lnext(create_subscription_stmt->publication, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + + deparseOptDefinition(state, create_subscription_stmt->options); + removeTrailingSpace(state); +} + +static void deparseAlterSubscriptionStmt(DeparseState *state, AlterSubscriptionStmt *alter_subscription_stmt) +{ + ListCell *lc; + + deparseAppendStringInfoString(state, "ALTER SUBSCRIPTION "); + deparseAppendStringInfoString(state, quote_identifier(alter_subscription_stmt->subname)); + deparseAppendStringInfoChar(state, ' '); + + switch (alter_subscription_stmt->kind) + { + case ALTER_SUBSCRIPTION_OPTIONS: + deparseAppendStringInfoString(state, "SET "); + deparseDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_SKIP: + deparseAppendStringInfoString(state, "SKIP "); + deparseDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_CONNECTION: + deparseAppendStringInfoString(state, "CONNECTION "); + deparseStringLiteral(state, alter_subscription_stmt->conninfo); + deparseAppendStringInfoChar(state, ' '); + break; + case ALTER_SUBSCRIPTION_REFRESH: + deparseAppendStringInfoString(state, "REFRESH PUBLICATION "); + deparseOptDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_ADD_PUBLICATION: + deparseAppendStringInfoString(state, "ADD PUBLICATION "); + foreach(lc, alter_subscription_stmt->publication) + { + deparseColLabel(state, strVal(lfirst(lc))); + if (lnext(alter_subscription_stmt->publication, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + deparseOptDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_DROP_PUBLICATION: + deparseAppendStringInfoString(state, "DROP PUBLICATION "); + foreach(lc, alter_subscription_stmt->publication) + { + deparseColLabel(state, strVal(lfirst(lc))); + if (lnext(alter_subscription_stmt->publication, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + deparseOptDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_SET_PUBLICATION: + deparseAppendStringInfoString(state, "SET PUBLICATION "); + foreach(lc, alter_subscription_stmt->publication) + { + deparseColLabel(state, strVal(lfirst(lc))); + if (lnext(alter_subscription_stmt->publication, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); + deparseOptDefinition(state, alter_subscription_stmt->options); + break; + case ALTER_SUBSCRIPTION_ENABLED: + Assert(list_length(alter_subscription_stmt->options) == 1); + DefElem *defelem = castNode(DefElem, linitial(alter_subscription_stmt->options)); + Assert(strcmp(defelem->defname, "enabled") == 0); + if (optBooleanValue(defelem->arg)) + { + deparseAppendStringInfoString(state, " ENABLE "); + } + else + { + deparseAppendStringInfoString(state, " DISABLE "); + } + break; + } + + removeTrailingSpace(state); +} + +static void deparseDropSubscriptionStmt(DeparseState *state, DropSubscriptionStmt *drop_subscription_stmt) +{ + deparseAppendStringInfoString(state, "DROP SUBSCRIPTION "); + + if (drop_subscription_stmt->missing_ok) + deparseAppendStringInfoString(state, "IF EXISTS "); + + deparseAppendStringInfoString(state, drop_subscription_stmt->subname); +} + +static void deparseCallStmt(DeparseState *state, CallStmt *call_stmt) +{ + deparseAppendStringInfoString(state, "CALL "); + deparseFuncCall(state, call_stmt->funccall, DEPARSE_NODE_CONTEXT_NONE); +} + +static void deparseAlterOwnerStmt(DeparseState *state, AlterOwnerStmt *alter_owner_stmt) +{ + List *l = NULL; + + deparseAppendStringInfoString(state, "ALTER "); + + switch (alter_owner_stmt->objectType) + { + case OBJECT_AGGREGATE: + deparseAppendStringInfoString(state, "AGGREGATE "); + deparseAggregateWithArgtypes(state, castNode(ObjectWithArgs, alter_owner_stmt->object)); + break; + case OBJECT_COLLATION: + deparseAppendStringInfoString(state, "COLLATION "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_CONVERSION: + deparseAppendStringInfoString(state, "CONVERSION "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_DATABASE: + deparseAppendStringInfoString(state, "DATABASE "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_DOMAIN: + deparseAppendStringInfoString(state, "DOMAIN "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_FUNCTION: + deparseAppendStringInfoString(state, "FUNCTION "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_owner_stmt->object)); + break; + case OBJECT_LANGUAGE: + deparseAppendStringInfoString(state, "LANGUAGE "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_LARGEOBJECT: + deparseAppendStringInfoString(state, "LARGE OBJECT "); + deparseNumericOnly(state, (union ValUnion *) alter_owner_stmt->object); + break; + case OBJECT_OPERATOR: + deparseAppendStringInfoString(state, "OPERATOR "); + deparseOperatorWithArgtypes(state, castNode(ObjectWithArgs, alter_owner_stmt->object)); + break; + case OBJECT_OPCLASS: + l = castNode(List, alter_owner_stmt->object); + deparseAppendStringInfoString(state, "OPERATOR CLASS "); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseColId(state, strVal(linitial(l))); + break; + case OBJECT_OPFAMILY: + l = castNode(List, alter_owner_stmt->object); + deparseAppendStringInfoString(state, "OPERATOR FAMILY "); + deparseAnyNameSkipFirst(state, l); + deparseAppendStringInfoString(state, " USING "); + deparseColId(state, strVal(linitial(l))); + break; + case OBJECT_PROCEDURE: + deparseAppendStringInfoString(state, "PROCEDURE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_owner_stmt->object)); + break; + case OBJECT_ROUTINE: + deparseAppendStringInfoString(state, "ROUTINE "); + deparseFunctionWithArgtypes(state, castNode(ObjectWithArgs, alter_owner_stmt->object)); + break; + case OBJECT_SCHEMA: + deparseAppendStringInfoString(state, "SCHEMA "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_TYPE: + deparseAppendStringInfoString(state, "TYPE "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_TABLESPACE: + deparseAppendStringInfoString(state, "TABLESPACE "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_STATISTIC_EXT: + deparseAppendStringInfoString(state, "STATISTICS "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_TSDICTIONARY: + deparseAppendStringInfoString(state, "TEXT SEARCH DICTIONARY "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_TSCONFIGURATION: + deparseAppendStringInfoString(state, "TEXT SEARCH CONFIGURATION "); + deparseAnyName(state, castNode(List, alter_owner_stmt->object)); + break; + case OBJECT_FDW: + deparseAppendStringInfoString(state, "FOREIGN DATA WRAPPER "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_FOREIGN_SERVER: + deparseAppendStringInfoString(state, "SERVER "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_EVENT_TRIGGER: + deparseAppendStringInfoString(state, "EVENT TRIGGER "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_PUBLICATION: + deparseAppendStringInfoString(state, "PUBLICATION "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + case OBJECT_SUBSCRIPTION: + deparseAppendStringInfoString(state, "SUBSCRIPTION "); + deparseColId(state, strVal(alter_owner_stmt->object)); + break; + default: + Assert(false); + } + + deparseAppendStringInfoString(state, " OWNER TO "); + deparseRoleSpec(state, alter_owner_stmt->newowner); +} + +// "operator_def_list" in gram.y +static void deparseOperatorDefList(DeparseState *state, List *defs) +{ + ListCell *lc = NULL; + + foreach (lc, defs) + { + DefElem *def_elem = castNode(DefElem, lfirst(lc)); + deparseAppendStringInfoString(state, quote_identifier(def_elem->defname)); + deparseAppendStringInfoString(state, " = "); + if (def_elem->arg != NULL) + deparseDefArg(state, def_elem->arg, true); + else + deparseAppendStringInfoString(state, "NONE"); + + if (lnext(defs, lc)) + deparseAppendStringInfoString(state, ", "); + } +} + +static void deparseAlterOperatorStmt(DeparseState *state, AlterOperatorStmt *alter_operator_stmt) +{ + deparseAppendStringInfoString(state, "ALTER OPERATOR "); + deparseOperatorWithArgtypes(state, alter_operator_stmt->opername); + deparseAppendStringInfoString(state, " SET ("); + deparseOperatorDefList(state, alter_operator_stmt->options); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseAlterTypeStmt(DeparseState *state, AlterTypeStmt *alter_type_stmt) +{ + deparseAppendStringInfoString(state, "ALTER TYPE "); + deparseAnyName(state, alter_type_stmt->typeName); + deparseAppendStringInfoString(state, " SET ("); + deparseOperatorDefList(state, alter_type_stmt->options); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseDropOwnedStmt(DeparseState *state, DropOwnedStmt *drop_owned_stmt) +{ + deparseAppendStringInfoString(state, "DROP OWNED BY "); + deparseRoleList(state, drop_owned_stmt->roles); + deparseAppendStringInfoChar(state, ' '); + deparseOptDropBehavior(state, drop_owned_stmt->behavior); + removeTrailingSpace(state); +} + +static void deparseReassignOwnedStmt(DeparseState *state, ReassignOwnedStmt *reassigned_owned_stmt) +{ + deparseAppendStringInfoString(state, "REASSIGN OWNED BY "); + + deparseRoleList(state, reassigned_owned_stmt->roles); + deparseAppendStringInfoChar(state, ' '); + + deparseAppendStringInfoString(state, "TO "); + deparseRoleSpec(state, reassigned_owned_stmt->newrole); +} + +static void deparseClosePortalStmt(DeparseState *state, ClosePortalStmt *close_portal_stmt) +{ + deparseAppendStringInfoString(state, "CLOSE "); + if (close_portal_stmt->portalname != NULL) + { + deparseAppendStringInfoString(state, quote_identifier(close_portal_stmt->portalname)); + } + else + { + deparseAppendStringInfoString(state, "ALL"); + } +} + +// "CreateTrigStmt" in gram.y +static void deparseCreateTrigStmt(DeparseState *state, CreateTrigStmt *create_trig_stmt) +{ + ListCell *lc; + bool skip_events_or = true; + + deparseAppendStringInfoString(state, "CREATE "); + if (create_trig_stmt->replace) + deparseAppendStringInfoString(state, "OR REPLACE "); + if (create_trig_stmt->isconstraint) + deparseAppendStringInfoString(state, "CONSTRAINT "); + deparseAppendStringInfoString(state, "TRIGGER "); + + deparseAppendStringInfoString(state, quote_identifier(create_trig_stmt->trigname)); + deparseAppendStringInfoChar(state, ' '); + + switch (create_trig_stmt->timing) + { + case TRIGGER_TYPE_BEFORE: + deparseAppendStringInfoString(state, "BEFORE "); + break; + case TRIGGER_TYPE_AFTER: + deparseAppendStringInfoString(state, "AFTER "); + break; + case TRIGGER_TYPE_INSTEAD: + deparseAppendStringInfoString(state, "INSTEAD OF "); + break; + default: + Assert(false); + } + + if (TRIGGER_FOR_INSERT(create_trig_stmt->events)) + { + deparseAppendStringInfoString(state, "INSERT "); + skip_events_or = false; + } + if (TRIGGER_FOR_DELETE(create_trig_stmt->events)) + { + if (!skip_events_or) + deparseAppendStringInfoString(state, "OR "); + deparseAppendStringInfoString(state, "DELETE "); + skip_events_or = false; + } + if (TRIGGER_FOR_UPDATE(create_trig_stmt->events)) + { + if (!skip_events_or) + deparseAppendStringInfoString(state, "OR "); + deparseAppendStringInfoString(state, "UPDATE "); + if (list_length(create_trig_stmt->columns) > 0) + { + deparseAppendStringInfoString(state, "OF "); + deparseColumnList(state, create_trig_stmt->columns); + deparseAppendStringInfoChar(state, ' '); + } + skip_events_or = false; + } + if (TRIGGER_FOR_TRUNCATE(create_trig_stmt->events)) + { + if (!skip_events_or) + deparseAppendStringInfoString(state, "OR "); + deparseAppendStringInfoString(state, "TRUNCATE "); + } + + deparseAppendStringInfoString(state, "ON "); + deparseRangeVar(state, create_trig_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + + if (create_trig_stmt->transitionRels != NULL) + { + deparseAppendStringInfoString(state, "REFERENCING "); + foreach(lc, create_trig_stmt->transitionRels) + { + deparseTriggerTransition(state, castNode(TriggerTransition, lfirst(lc))); + deparseAppendStringInfoChar(state, ' '); + } + } + + if (create_trig_stmt->constrrel != NULL) + { + deparseAppendStringInfoString(state, "FROM "); + deparseRangeVar(state, create_trig_stmt->constrrel, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + } + + if (create_trig_stmt->deferrable) + deparseAppendStringInfoString(state, "DEFERRABLE "); + + if (create_trig_stmt->initdeferred) + deparseAppendStringInfoString(state, "INITIALLY DEFERRED "); + + if (create_trig_stmt->row) + deparseAppendStringInfoString(state, "FOR EACH ROW "); + + if (create_trig_stmt->whenClause) + { + deparseAppendStringInfoString(state, "WHEN ("); + deparseExpr(state, create_trig_stmt->whenClause, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + deparseAppendStringInfoString(state, "EXECUTE FUNCTION "); + deparseFuncName(state, create_trig_stmt->funcname); + deparseAppendStringInfoChar(state, '('); + foreach(lc, create_trig_stmt->args) + { + deparseStringLiteral(state, strVal(lfirst(lc))); + if (lnext(create_trig_stmt->args, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseTriggerTransition(DeparseState *state, TriggerTransition *trigger_transition) +{ + if (trigger_transition->isNew) + deparseAppendStringInfoString(state, "NEW "); + else + deparseAppendStringInfoString(state, "OLD "); + + if (trigger_transition->isTable) + deparseAppendStringInfoString(state, "TABLE "); + else + deparseAppendStringInfoString(state, "ROW "); + + deparseAppendStringInfoString(state, quote_identifier(trigger_transition->name)); +} + +static void deparseXmlExpr(DeparseState *state, XmlExpr* xml_expr, DeparseNodeContext context) +{ + switch (xml_expr->op) + { + case IS_XMLCONCAT: /* XMLCONCAT(args) */ + deparseAppendStringInfoString(state, "xmlconcat("); + deparseExprList(state, xml_expr->args); + deparseAppendStringInfoChar(state, ')'); + break; + case IS_XMLELEMENT: /* XMLELEMENT(name, xml_attributes, args) */ + deparseAppendStringInfoString(state, "xmlelement(name "); + deparseAppendStringInfoString(state, quote_identifier(xml_expr->name)); + if (xml_expr->named_args != NULL) + { + deparseAppendStringInfoString(state, ", xmlattributes("); + deparseXmlAttributeList(state, xml_expr->named_args); + deparseAppendStringInfoString(state, ")"); + } + if (xml_expr->args != NULL) + { + deparseAppendStringInfoString(state, ", "); + deparseExprList(state, xml_expr->args); + } + deparseAppendStringInfoString(state, ")"); + break; + case IS_XMLFOREST: /* XMLFOREST(xml_attributes) */ + deparseAppendStringInfoString(state, "xmlforest("); + deparseXmlAttributeList(state, xml_expr->named_args); + deparseAppendStringInfoChar(state, ')'); + break; + case IS_XMLPARSE: /* XMLPARSE(text, is_doc, preserve_ws) */ + Assert(list_length(xml_expr->args) == 2); + deparseAppendStringInfoString(state, "xmlparse("); + switch (xml_expr->xmloption) + { + case XMLOPTION_DOCUMENT: + deparseAppendStringInfoString(state, "document "); + break; + case XMLOPTION_CONTENT: + deparseAppendStringInfoString(state, "content "); + break; + default: + Assert(false); + } + deparseExpr(state, linitial(xml_expr->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ')'); + break; + case IS_XMLPI: /* XMLPI(name [, args]) */ + deparseAppendStringInfoString(state, "xmlpi(name "); + deparseAppendStringInfoString(state, quote_identifier(xml_expr->name)); + if (xml_expr->args != NULL) + { + deparseAppendStringInfoString(state, ", "); + deparseExpr(state, linitial(xml_expr->args), DEPARSE_NODE_CONTEXT_A_EXPR); + } + deparseAppendStringInfoChar(state, ')'); + break; + case IS_XMLROOT: /* XMLROOT(xml, version, standalone) */ + deparseAppendStringInfoString(state, "xmlroot("); + deparseExpr(state, linitial(xml_expr->args), DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ", version "); + if (castNode(A_Const, lsecond(xml_expr->args))->isnull) + deparseAppendStringInfoString(state, "no value"); + else + deparseExpr(state, lsecond(xml_expr->args), DEPARSE_NODE_CONTEXT_A_EXPR); + if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_YES) + deparseAppendStringInfoString(state, ", standalone yes"); + else if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_NO) + deparseAppendStringInfoString(state, ", standalone no"); + else if (intVal(&castNode(A_Const, lthird(xml_expr->args))->val) == XML_STANDALONE_NO_VALUE) + deparseAppendStringInfoString(state, ", standalone no value"); + deparseAppendStringInfoChar(state, ')'); + break; + case IS_XMLSERIALIZE: /* XMLSERIALIZE(is_document, xmlval) */ + // These are represented as XmlSerialize in raw parse trees + Assert(false); + break; + case IS_DOCUMENT: /* xmlval IS DOCUMENT */ + Assert(list_length(xml_expr->args) == 1); + deparseExpr(state, linitial(xml_expr->args), context); + deparseAppendStringInfoString(state, " IS DOCUMENT"); + break; + } +} + +// "xmltable_column_el" in gram.y +static void deparseRangeTableFuncCol(DeparseState *state, RangeTableFuncCol* range_table_func_col) +{ + deparseAppendStringInfoString(state, quote_identifier(range_table_func_col->colname)); + deparseAppendStringInfoChar(state, ' '); + + if (range_table_func_col->for_ordinality) + { + deparseAppendStringInfoString(state, "FOR ORDINALITY "); + } + else + { + deparseTypeName(state, range_table_func_col->typeName); + deparseAppendStringInfoChar(state, ' '); + + if (range_table_func_col->colexpr) + { + deparseAppendStringInfoString(state, "PATH "); + deparseExpr(state, range_table_func_col->colexpr, DEPARSE_NODE_CONTEXT_NONE /* b_expr */); + deparseAppendStringInfoChar(state, ' '); + } + + if (range_table_func_col->coldefexpr) + { + deparseAppendStringInfoString(state, "DEFAULT "); + deparseExpr(state, range_table_func_col->coldefexpr, DEPARSE_NODE_CONTEXT_NONE /* b_expr */); + deparseAppendStringInfoChar(state, ' '); + } + + if (range_table_func_col->is_not_null) + deparseAppendStringInfoString(state, "NOT NULL "); + } + + removeTrailingSpace(state); +} + +// "table_ref" and "xmltable" in gram.y +static void deparseRangeTableFunc(DeparseState *state, RangeTableFunc* range_table_func) +{ + ListCell *lc; + + if (range_table_func->lateral) + deparseAppendStringInfoString(state, "LATERAL "); + + deparseAppendStringInfoString(state, "xmltable("); + if (range_table_func->namespaces) + { + deparseAppendStringInfoString(state, "xmlnamespaces("); + deparseXmlNamespaceList(state, range_table_func->namespaces); + deparseAppendStringInfoString(state, "), "); + } + + deparseAppendStringInfoChar(state, '('); + deparseExpr(state, range_table_func->rowexpr, DEPARSE_NODE_CONTEXT_NONE /* c_expr */); + deparseAppendStringInfoChar(state, ')'); + + deparseAppendStringInfoString(state, " PASSING "); + deparseExpr(state, range_table_func->docexpr, DEPARSE_NODE_CONTEXT_NONE /* c_expr */); + + deparseAppendStringInfoString(state, " COLUMNS "); + foreach(lc, range_table_func->columns) + { + deparseRangeTableFuncCol(state, castNode(RangeTableFuncCol, lfirst(lc))); + if (lnext(range_table_func->columns, lc)) + deparseAppendStringInfoString(state, ", "); + } + + deparseAppendStringInfoString(state, ") "); + + if (range_table_func->alias) + { + deparseAppendStringInfoString(state, "AS "); + deparseAlias(state, range_table_func->alias); + } + + removeTrailingSpace(state); +} + +static void deparseXmlSerialize(DeparseState *state, XmlSerialize *xml_serialize) +{ + deparseAppendStringInfoString(state, "xmlserialize("); + switch (xml_serialize->xmloption) + { + case XMLOPTION_DOCUMENT: + deparseAppendStringInfoString(state, "document "); + break; + case XMLOPTION_CONTENT: + deparseAppendStringInfoString(state, "content "); + break; + default: + Assert(false); + } + deparseExpr(state, xml_serialize->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, " AS "); + deparseTypeName(state, xml_serialize->typeName); + + if (xml_serialize->indent) { + deparseAppendStringInfoString(state, " INDENT"); + } + + deparseAppendStringInfoString(state, ")"); +} + +static void deparseJsonFormat(DeparseState *state, JsonFormat *json_format) +{ + if (json_format == NULL || json_format->format_type == JS_FORMAT_DEFAULT) + return; + + deparseAppendStringInfoString(state, "FORMAT JSON "); + + switch (json_format->encoding) + { + case JS_ENC_UTF8: + deparseAppendStringInfoString(state, "ENCODING utf8 "); + break; + case JS_ENC_UTF16: + deparseAppendStringInfoString(state, "ENCODING utf16 "); + break; + case JS_ENC_UTF32: + deparseAppendStringInfoString(state, "ENCODING utf32 "); + break; + case JS_ENC_DEFAULT: + // no encoding specified + break; + } +} + +static void deparseJsonIsPredicate(DeparseState *state, JsonIsPredicate *j) +{ + deparseExpr(state, j->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + + deparseJsonFormat(state, castNode(JsonFormat, j->format)); + + deparseAppendStringInfoString(state, "IS "); + + switch (j->item_type) + { + case JS_TYPE_ANY: + deparseAppendStringInfoString(state, "JSON "); + break; + case JS_TYPE_ARRAY: + deparseAppendStringInfoString(state, "JSON ARRAY "); + break; + case JS_TYPE_OBJECT: + deparseAppendStringInfoString(state, "JSON OBJECT "); + break; + case JS_TYPE_SCALAR: + deparseAppendStringInfoString(state, "JSON SCALAR "); + break; + } + + if (j->unique_keys) + deparseAppendStringInfoString(state, "WITH UNIQUE "); + + removeTrailingSpace(state); +} + +// "json_value_expr" in gram.y +static void deparseJsonValueExpr(DeparseState *state, JsonValueExpr *json_value_expr) +{ + deparseExpr(state, (Node *) json_value_expr->raw_expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoChar(state, ' '); + deparseJsonFormat(state, json_value_expr->format); +} + +// "json_value_expr_list" in gram.y +static void deparseJsonValueExprList(DeparseState *state, List *exprs) +{ + ListCell *lc; + foreach(lc, exprs) + { + deparseJsonValueExpr(state, lfirst(lc)); + removeTrailingSpace(state); + if (lnext(exprs, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); +} + +// "json_name_and_value" in gram.y +static void deparseJsonKeyValue(DeparseState *state, JsonKeyValue *json_key_value) +{ + deparseExpr(state, (Node *) json_key_value->key, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ": "); + deparseJsonValueExpr(state, json_key_value->value); +} + +// "json_name_and_value_list" in gram.y +static void deparseJsonKeyValueList(DeparseState *state, List *exprs) +{ + ListCell *lc; + foreach(lc, exprs) + { + deparseJsonKeyValue(state, lfirst(lc)); + removeTrailingSpace(state); + if (lnext(exprs, lc)) + deparseAppendStringInfoString(state, ", "); + } + deparseAppendStringInfoChar(state, ' '); +} + +static void deparseJsonOutput(DeparseState *state, JsonOutput *json_output) +{ + if (json_output == NULL) + return; + + Assert(json_output->returning != NULL); + + deparseAppendStringInfoString(state, "RETURNING "); + deparseTypeName(state, json_output->typeName); + deparseAppendStringInfoChar(state, ' '); + deparseJsonFormat(state, json_output->returning->format); +} + +// "json_aggregate_func" and "func_expr" in gram.y +static void deparseJsonObjectAgg(DeparseState *state, JsonObjectAgg *json_object_agg) +{ + Assert(json_object_agg->constructor != NULL); + + deparseAppendStringInfoString(state, "JSON_OBJECTAGG("); + deparseJsonKeyValue(state, json_object_agg->arg); + + if (json_object_agg->absent_on_null) + deparseAppendStringInfoString(state, "ABSENT ON NULL "); + + if (json_object_agg->unique) + deparseAppendStringInfoString(state, "WITH UNIQUE "); + + deparseJsonOutput(state, json_object_agg->constructor->output); + + removeTrailingSpace(state); + deparseAppendStringInfoString(state, ") "); + + if (json_object_agg->constructor->agg_filter) + { + deparseAppendStringInfoString(state, "FILTER (WHERE "); + deparseExpr(state, json_object_agg->constructor->agg_filter, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + if (json_object_agg->constructor->over) + { + struct WindowDef *over = json_object_agg->constructor->over; + deparseAppendStringInfoString(state, "OVER "); + if (over->name) + deparseAppendStringInfoString(state, over->name); + else + deparseWindowDef(state, over); + } + + removeTrailingSpace(state); +} + +// "json_aggregate_func" and "func_expr" in gram.y +static void deparseJsonArrayAgg(DeparseState *state, JsonArrayAgg *json_array_agg) +{ + Assert(json_array_agg->constructor != NULL); + + deparseAppendStringInfoString(state, "JSON_ARRAYAGG("); + deparseJsonValueExpr(state, json_array_agg->arg); + deparseOptSortClause(state, json_array_agg->constructor->agg_order, DEPARSE_NODE_CONTEXT_NONE); + + if (!json_array_agg->absent_on_null) + deparseAppendStringInfoString(state, "NULL ON NULL "); + + deparseJsonOutput(state, json_array_agg->constructor->output); + + removeTrailingSpace(state); + deparseAppendStringInfoString(state, ") "); + + if (json_array_agg->constructor->agg_filter) + { + deparseAppendStringInfoString(state, "FILTER (WHERE "); + deparseExpr(state, json_array_agg->constructor->agg_filter, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ") "); + } + + if (json_array_agg->constructor->over) + { + struct WindowDef *over = json_array_agg->constructor->over; + deparseAppendStringInfoString(state, "OVER "); + if (over->name) + deparseAppendStringInfoString(state, over->name); + else + deparseWindowDef(state, over); + } + + removeTrailingSpace(state); +} + +static void deparseJsonObjectConstructor(DeparseState *state, JsonObjectConstructor *json_object_constructor) +{ + deparseAppendStringInfoString(state, "JSON_OBJECT("); + deparseJsonKeyValueList(state, json_object_constructor->exprs); + + if (json_object_constructor->absent_on_null) + deparseAppendStringInfoString(state, "ABSENT ON NULL "); + + if (json_object_constructor->unique) + deparseAppendStringInfoString(state, "WITH UNIQUE "); + + deparseJsonOutput(state, json_object_constructor->output); + + removeTrailingSpace(state); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseJsonArrayConstructor(DeparseState *state, JsonArrayConstructor *json_array_constructor) +{ + deparseAppendStringInfoString(state, "JSON_ARRAY("); + deparseJsonValueExprList(state, json_array_constructor->exprs); + + if (!json_array_constructor->absent_on_null) + deparseAppendStringInfoString(state, "NULL ON NULL "); + + deparseJsonOutput(state, json_array_constructor->output); + + removeTrailingSpace(state); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseJsonArrayQueryConstructor(DeparseState *state, JsonArrayQueryConstructor *json_array_query_constructor) +{ + deparseAppendStringInfoString(state, "JSON_ARRAY("); + + deparseSelectStmt(state, castNode(SelectStmt, json_array_query_constructor->query), DEPARSE_NODE_CONTEXT_NONE); + deparseJsonFormat(state, json_array_query_constructor->format); + deparseJsonOutput(state, json_array_query_constructor->output); + + removeTrailingSpace(state); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseJsonParseExpr(DeparseState *state, JsonParseExpr *json_parse_expr) +{ + deparseAppendStringInfoString(state, "JSON("); + + deparseJsonValueExpr(state, json_parse_expr->expr); + + if (json_parse_expr->unique_keys) + deparseAppendStringInfoString(state, " WITH UNIQUE KEYS"); + + deparseAppendStringInfoString(state, ")"); +} + +static void deparseJsonScalarExpr(DeparseState *state, JsonScalarExpr *json_scalar_expr) +{ + deparseAppendStringInfoString(state, "JSON_SCALAR("); + deparseExpr(state, (Node*) json_scalar_expr->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + deparseAppendStringInfoString(state, ")"); +} + +static void deparseJsonSerializeExpr(DeparseState *state, JsonSerializeExpr *json_serialize_expr) +{ + deparseAppendStringInfoString(state, "JSON_SERIALIZE("); + + deparseJsonValueExpr(state, json_serialize_expr->expr); + + if (json_serialize_expr->output) + deparseJsonOutput(state, json_serialize_expr->output); + + deparseAppendStringInfoString(state, ")"); +} + +static void deparseJsonQuotesClauseOpt(DeparseState *state, JsonQuotes quotes) +{ + switch (quotes) + { + case JS_QUOTES_UNSPEC: + break; + case JS_QUOTES_KEEP: + deparseAppendStringInfoString(state, " KEEP QUOTES"); + break; + case JS_QUOTES_OMIT: + deparseAppendStringInfoString(state, " OMIT QUOTES"); + break; + } +} + +static void deparseJsonOnErrorClauseOpt(DeparseState *state, JsonBehavior *behavior) +{ + if (!behavior) + return; + + deparseAppendStringInfoChar(state, ' '); + deparseJsonBehavior(state, behavior); + deparseAppendStringInfoString(state, " ON ERROR"); +} + +static void deparseJsonOnEmptyClauseOpt(DeparseState *state, JsonBehavior *behavior) +{ + if (behavior) + { + deparseAppendStringInfoChar(state, ' '); + deparseJsonBehavior(state, behavior); + deparseAppendStringInfoString(state, " ON EMPTY"); + } +} + +static void deparseJsonFuncExpr(DeparseState *state, JsonFuncExpr *json_func_expr) +{ + switch (json_func_expr->op) + { + case JSON_EXISTS_OP: + deparseAppendStringInfoString(state, "JSON_EXISTS("); + break; + case JSON_QUERY_OP: + deparseAppendStringInfoString(state, "JSON_QUERY("); + break; + case JSON_VALUE_OP: + deparseAppendStringInfoString(state, "JSON_VALUE("); + break; + case JSON_TABLE_OP: + deparseAppendStringInfoString(state, "JSON_TABLE("); + break; + } + + deparseJsonValueExpr(state, json_func_expr->context_item); + deparseAppendStringInfoString(state, ", "); + deparseExpr(state, json_func_expr->pathspec, DEPARSE_NODE_CONTEXT_A_EXPR); + + if (json_func_expr->passing) + deparseAppendStringInfoString(state, " PASSING "); + + ListCell *lc = NULL; + foreach (lc, json_func_expr->passing) + { + JsonArgument *json_argument = castNode(JsonArgument, lfirst(lc)); + deparseJsonValueExpr(state, json_argument->val); + deparseAppendStringInfoString(state, " AS "); + deparseColLabel(state, json_argument->name); + + if (lnext(json_func_expr->passing, lc)) + deparseAppendStringInfoString(state, ", "); + } + + if (json_func_expr->output) + { + deparseAppendStringInfoChar(state, ' '); + deparseJsonOutput(state, json_func_expr->output); + } + + switch (json_func_expr->wrapper) + { + case JSW_UNSPEC: + break; + case JSW_NONE: + deparseAppendStringInfoString(state, " WITHOUT WRAPPER"); + break; + case JSW_CONDITIONAL: + deparseAppendStringInfoString(state, " WITH CONDITIONAL WRAPPER"); + break; + case JSW_UNCONDITIONAL: + deparseAppendStringInfoString(state, " WITH UNCONDITIONAL WRAPPER"); + break; + } + + deparseJsonQuotesClauseOpt(state, json_func_expr->quotes); + deparseJsonOnEmptyClauseOpt(state, json_func_expr->on_empty); + deparseJsonOnErrorClauseOpt(state, json_func_expr->on_error); + + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseJsonTablePathSpec(DeparseState *state, JsonTablePathSpec *json_table_path_spec) +{ + deparseStringLiteral(state, castNode(A_Const, json_table_path_spec->string)->val.sval.sval); + + if (json_table_path_spec->name) + { + deparseAppendStringInfoString(state, " AS "); + deparseColLabel(state, json_table_path_spec->name); + } +} + +// "json_behavior" in gram.y +static void deparseJsonBehavior(DeparseState *state, JsonBehavior *json_behavior) +{ + switch (json_behavior->btype) + { + case JSON_BEHAVIOR_NULL: + deparseAppendStringInfoString(state, "NULL"); + break; + case JSON_BEHAVIOR_ERROR: + deparseAppendStringInfoString(state, "ERROR"); + break; + case JSON_BEHAVIOR_EMPTY: + deparseAppendStringInfoString(state, "EMPTY"); + break; + case JSON_BEHAVIOR_TRUE: + deparseAppendStringInfoString(state, "TRUE"); + break; + case JSON_BEHAVIOR_FALSE: + deparseAppendStringInfoString(state, "FALSE"); + break; + case JSON_BEHAVIOR_EMPTY_ARRAY: + deparseAppendStringInfoString(state, "EMPTY ARRAY"); + break; + case JSON_BEHAVIOR_EMPTY_OBJECT: + deparseAppendStringInfoString(state, "EMPTY OBJECT"); + break; + case JSON_BEHAVIOR_DEFAULT: + deparseAppendStringInfoString(state, "DEFAULT "); + deparseExpr(state, (Node*) json_behavior->expr, DEPARSE_NODE_CONTEXT_A_EXPR); + break; + case JSON_BEHAVIOR_UNKNOWN: + deparseAppendStringInfoString(state, "UNKNOWN"); + break; + } +} + +static void deparseJsonTableColumn(DeparseState *state, JsonTableColumn *json_table_column) +{ + if (json_table_column->coltype == JTC_NESTED) + { + deparseAppendStringInfoString(state, "NESTED PATH "); + deparseJsonTablePathSpec(state, json_table_column->pathspec); + deparseJsonTableColumns(state, json_table_column->columns); + return; + } + + deparseColLabel(state, json_table_column->name); + deparseAppendStringInfoChar(state, ' '); + + switch (json_table_column->coltype) + { + case JTC_FOR_ORDINALITY: + deparseAppendStringInfoString(state, " FOR ORDINALITY"); + break; + case JTC_EXISTS: + case JTC_FORMATTED: + case JTC_REGULAR: + deparseTypeName(state, json_table_column->typeName); + + if (json_table_column->coltype == JTC_EXISTS) + deparseAppendStringInfoString(state, " EXISTS "); + else + deparseAppendStringInfoChar(state, ' '); + + if (json_table_column->format) + deparseJsonFormat(state, json_table_column->format); + + if (json_table_column->pathspec) + { + deparseAppendStringInfoString(state, "PATH "); + deparseJsonTablePathSpec(state, json_table_column->pathspec); + } + break; + case JTC_NESTED: + Assert(false); + } + + switch (json_table_column->wrapper) + { + case JSW_UNSPEC: + break; + case JSW_NONE: + if (json_table_column->coltype == JTC_REGULAR || json_table_column->coltype == JTC_FORMATTED) + deparseAppendStringInfoString(state, " WITHOUT WRAPPER"); + break; + case JSW_CONDITIONAL: + deparseAppendStringInfoString(state, " WITH CONDITIONAL WRAPPER"); + break; + case JSW_UNCONDITIONAL: + deparseAppendStringInfoString(state, " WITH UNCONDITIONAL WRAPPER"); + break; + } + + deparseJsonQuotesClauseOpt(state, json_table_column->quotes); + deparseJsonOnEmptyClauseOpt(state, json_table_column->on_empty); + deparseJsonOnErrorClauseOpt(state, json_table_column->on_error); +} + +static void deparseJsonTableColumns(DeparseState *state, List *json_table_columns) +{ + deparseAppendStringInfoString(state, " COLUMNS ("); + + ListCell *lc = NULL; + foreach(lc, json_table_columns) + { + deparseJsonTableColumn(state, castNode(JsonTableColumn, lfirst(lc))); + + if (lnext(json_table_columns, lc)) + deparseAppendStringInfoString(state, ", "); + } + + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseJsonTable(DeparseState *state, JsonTable *json_table) +{ + deparseAppendStringInfoString(state, "JSON_TABLE("); + + deparseJsonValueExpr(state, json_table->context_item); + deparseAppendStringInfoString(state, ", "); + deparseJsonTablePathSpec(state, json_table->pathspec); + + if (json_table->passing) + deparseAppendStringInfoString(state, " PASSING "); + + ListCell *lc = NULL; + foreach (lc, json_table->passing) + { + JsonArgument *json_argument = castNode(JsonArgument, lfirst(lc)); + deparseJsonValueExpr(state, json_argument->val); + deparseAppendStringInfoString(state, " AS "); + deparseColLabel(state, json_argument->name); + + if (lnext(json_table->passing, lc)) + deparseAppendStringInfoString(state, ", "); + } + + deparseJsonTableColumns(state, json_table->columns); + + if (json_table->on_error) + { + deparseJsonBehavior(state, json_table->on_error); + deparseAppendStringInfoString(state, " ON ERROR"); + } + + deparseAppendStringInfoChar(state, ')'); + + if (json_table->alias) + { + deparseAppendStringInfoChar(state, ' '); + deparseAlias(state, json_table->alias); + } +} + +static void deparseGroupingFunc(DeparseState *state, GroupingFunc *grouping_func) +{ + deparseAppendStringInfoString(state, "GROUPING("); + deparseExprList(state, grouping_func->args); + deparseAppendStringInfoChar(state, ')'); +} + +static void deparseClusterStmt(DeparseState *state, ClusterStmt *cluster_stmt) +{ + deparseAppendStringInfoString(state, "CLUSTER "); + + deparseUtilityOptionList(state, cluster_stmt->params); + + if (cluster_stmt->relation != NULL) + { + deparseRangeVar(state, cluster_stmt->relation, DEPARSE_NODE_CONTEXT_NONE); + deparseAppendStringInfoChar(state, ' '); + } + + if (cluster_stmt->indexname != NULL) + { + deparseAppendStringInfoString(state, "USING "); + deparseAppendStringInfoString(state, quote_identifier(cluster_stmt->indexname)); + deparseAppendStringInfoChar(state, ' '); + } + + removeTrailingSpace(state); +} + +static void deparseValue(DeparseState *state, union ValUnion *value, DeparseNodeContext context) +{ + if (!value) { + deparseAppendStringInfoString(state, "NULL"); + return; + } + + switch (nodeTag(value)) + { + case T_Integer: + case T_Float: + deparseNumericOnly(state, value); + break; + case T_Boolean: + deparseAppendStringInfoString(state, value->boolval.boolval ? "true" : "false"); + break; + case T_String: + if (context == DEPARSE_NODE_CONTEXT_IDENTIFIER) { + deparseAppendStringInfoString(state, quote_identifier(value->sval.sval)); + } else if (context == DEPARSE_NODE_CONTEXT_CONSTANT) { + deparseStringLiteral(state, value->sval.sval); + } else { + deparseAppendStringInfoString(state, value->sval.sval); + } + break; + case T_BitString: + if (strlen(value->sval.sval) >= 1 && value->sval.sval[0] == 'x') + { + deparseAppendStringInfoChar(state, 'x'); + deparseStringLiteral(state, value->sval.sval + 1); + } + else if (strlen(value->sval.sval) >= 1 && value->sval.sval[0] == 'b') + { + deparseAppendStringInfoChar(state, 'b'); + deparseStringLiteral(state, value->sval.sval + 1); + } + else + { + Assert(false); + } + break; + default: + elog(ERROR, "deparse: unrecognized value node type: %d", + (int) nodeTag(value)); + break; + } +} + +// "PrepareableStmt" in gram.y +static void deparsePreparableStmt(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_SelectStmt: + deparseSelectStmt(state, castNode(SelectStmt, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_InsertStmt: + deparseInsertStmt(state, castNode(InsertStmt, node)); + break; + case T_UpdateStmt: + deparseUpdateStmt(state, castNode(UpdateStmt, node)); + break; + case T_DeleteStmt: + deparseDeleteStmt(state, castNode(DeleteStmt, node)); + break; + case T_MergeStmt: + deparseMergeStmt(state, castNode(MergeStmt, node)); + break; + default: + Assert(false); + } +} + +// "RuleActionStmt" in gram.y +static void deparseRuleActionStmt(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_SelectStmt: + deparseSelectStmt(state, castNode(SelectStmt, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_InsertStmt: + deparseInsertStmt(state, castNode(InsertStmt, node)); + break; + case T_UpdateStmt: + deparseUpdateStmt(state, castNode(UpdateStmt, node)); + break; + case T_DeleteStmt: + deparseDeleteStmt(state, castNode(DeleteStmt, node)); + break; + case T_NotifyStmt: + deparseNotifyStmt(state, castNode(NotifyStmt, node)); + break; + default: + Assert(false); + } +} + +// "ExplainableStmt" in gram.y +static void deparseExplainableStmt(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_SelectStmt: + deparseSelectStmt(state, castNode(SelectStmt, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_InsertStmt: + deparseInsertStmt(state, castNode(InsertStmt, node)); + break; + case T_UpdateStmt: + deparseUpdateStmt(state, castNode(UpdateStmt, node)); + break; + case T_DeleteStmt: + deparseDeleteStmt(state, castNode(DeleteStmt, node)); + break; + case T_DeclareCursorStmt: + deparseDeclareCursorStmt(state, castNode(DeclareCursorStmt, node)); + break; + case T_CreateTableAsStmt: + deparseCreateTableAsStmt(state, castNode(CreateTableAsStmt, node)); + break; + case T_RefreshMatViewStmt: + deparseRefreshMatViewStmt(state, castNode(RefreshMatViewStmt, node)); + break; + case T_ExecuteStmt: + deparseExecuteStmt(state, castNode(ExecuteStmt, node)); + break; + case T_MergeStmt: + deparseMergeStmt(state, castNode(MergeStmt, node)); + break; + default: + Assert(false); + } +} + +// "schema_stmt" in gram.y +static void deparseSchemaStmt(DeparseState *state, Node *node) +{ + switch (nodeTag(node)) + { + case T_CreateStmt: + deparseCreateStmt(state, castNode(CreateStmt, node), false); + break; + case T_IndexStmt: + deparseIndexStmt(state, castNode(IndexStmt, node)); + break; + case T_CreateSeqStmt: + deparseCreateSeqStmt(state, castNode(CreateSeqStmt, node)); + break; + case T_CreateTrigStmt: + deparseCreateTrigStmt(state, castNode(CreateTrigStmt, node)); + break; + case T_GrantStmt: + deparseGrantStmt(state, castNode(GrantStmt, node)); + break; + case T_ViewStmt: + deparseViewStmt(state, castNode(ViewStmt, node)); + break; + default: + Assert(false); + } +} + +// "stmt" in gram.y +static void deparseStmt(DeparseState *state, Node *node) +{ + DeparseStateNestingLevel *parent_level = NULL; + + // For statements that can be nested, push/pop is handled directly in the + // respective deparse...Stmt methods + bool skip_push_pop = IsA(node, SelectStmt) || + IsA(node, InsertStmt) || + IsA(node, UpdateStmt) || + IsA(node, DeleteStmt) || + IsA(node, MergeStmt); + + if (!skip_push_pop) + parent_level = deparseStateIncreaseNestingLevel(state); + + // Note the following grammar names are missing in the list, because they + // get mapped to other node types: + // + // - AlterForeignTableStmt (=> AlterTableStmt) + // - AlterGroupStmt (=> AlterRoleStmt) + // - AlterCompositeTypeStmt (=> AlterTableStmt) + // - AnalyzeStmt (=> VacuumStmt) + // - CreateGroupStmt (=> CreateRoleStmt) + // - CreateMatViewStmt (=> CreateTableAsStmt) + // - CreateUserStmt (=> CreateRoleStmt) + // - DropCastStmt (=> DropStmt) + // - DropOpClassStmt (=> DropStmt) + // - DropOpFamilyStmt (=> DropStmt) + // - DropPLangStmt (=> DropPLangStmt) + // - DropTransformStmt (=> DropStmt) + // - RemoveAggrStmt (=> DropStmt) + // - RemoveFuncStmt (=> DropStmt) + // - RemoveOperStmt (=> DropStmt) + // - RevokeStmt (=> GrantStmt) + // - RevokeRoleStmt (=> GrantRoleStmt) + // - VariableResetStmt (=> VariableSetStmt) + // + // And the following grammar names error out in the parser: + // - CreateAssertionStmt (not supported yet) + switch (nodeTag(node)) + { + case T_AlterEventTrigStmt: + deparseAlterEventTrigStmt(state, castNode(AlterEventTrigStmt, node)); + break; + case T_AlterCollationStmt: + deparseAlterCollationStmt(state, castNode(AlterCollationStmt, node)); + break; + case T_AlterDatabaseStmt: + deparseAlterDatabaseStmt(state, castNode(AlterDatabaseStmt, node)); + break; + case T_AlterDatabaseSetStmt: + deparseAlterDatabaseSetStmt(state, castNode(AlterDatabaseSetStmt, node)); + break; + case T_AlterDefaultPrivilegesStmt: + deparseAlterDefaultPrivilegesStmt(state, castNode(AlterDefaultPrivilegesStmt, node)); + break; + case T_AlterDomainStmt: + deparseAlterDomainStmt(state, castNode(AlterDomainStmt, node)); + break; + case T_AlterEnumStmt: + deparseAlterEnumStmt(state, castNode(AlterEnumStmt, node)); + break; + case T_AlterExtensionStmt: + deparseAlterExtensionStmt(state, castNode(AlterExtensionStmt, node)); + break; + case T_AlterExtensionContentsStmt: + deparseAlterExtensionContentsStmt(state, castNode(AlterExtensionContentsStmt, node)); + break; + case T_AlterFdwStmt: + deparseAlterFdwStmt(state, castNode(AlterFdwStmt, node)); + break; + case T_AlterForeignServerStmt: + deparseAlterForeignServerStmt(state, castNode(AlterForeignServerStmt, node)); + break; + case T_AlterFunctionStmt: + deparseAlterFunctionStmt(state, castNode(AlterFunctionStmt, node)); + break; + case T_AlterObjectDependsStmt: + deparseAlterObjectDependsStmt(state, castNode(AlterObjectDependsStmt, node)); + break; + case T_AlterObjectSchemaStmt: + deparseAlterObjectSchemaStmt(state, castNode(AlterObjectSchemaStmt, node)); + break; + case T_AlterOwnerStmt: + deparseAlterOwnerStmt(state, castNode(AlterOwnerStmt, node)); + break; + case T_AlterOperatorStmt: + deparseAlterOperatorStmt(state, castNode(AlterOperatorStmt, node)); + break; + case T_AlterTypeStmt: + deparseAlterTypeStmt(state, castNode(AlterTypeStmt, node)); + break; + case T_AlterPolicyStmt: + deparseAlterPolicyStmt(state, castNode(AlterPolicyStmt, node)); + break; + case T_AlterSeqStmt: + deparseAlterSeqStmt(state, castNode(AlterSeqStmt, node)); + break; + case T_AlterSystemStmt: + deparseAlterSystemStmt(state, castNode(AlterSystemStmt, node)); + break; + case T_AlterTableMoveAllStmt: + deparseAlterTableMoveAllStmt(state, castNode(AlterTableMoveAllStmt, node)); + break; + case T_AlterTableStmt: + deparseAlterTableStmt(state, castNode(AlterTableStmt, node)); + break; + case T_AlterTableSpaceOptionsStmt: // "AlterTblSpcStmt" in gram.y + deparseAlterTableSpaceOptionsStmt(state, castNode(AlterTableSpaceOptionsStmt, node)); + break; + case T_AlterPublicationStmt: + deparseAlterPublicationStmt(state, castNode(AlterPublicationStmt, node)); + break; + case T_AlterRoleSetStmt: + deparseAlterRoleSetStmt(state, castNode(AlterRoleSetStmt, node)); + break; + case T_AlterRoleStmt: + deparseAlterRoleStmt(state, castNode(AlterRoleStmt, node)); + break; + case T_AlterSubscriptionStmt: + deparseAlterSubscriptionStmt(state, castNode(AlterSubscriptionStmt, node)); + break; + case T_AlterStatsStmt: + deparseAlterStatsStmt(state, castNode(AlterStatsStmt, node)); + break; + case T_AlterTSConfigurationStmt: + deparseAlterTSConfigurationStmt(state, castNode(AlterTSConfigurationStmt, node)); + break; + case T_AlterTSDictionaryStmt: + deparseAlterTSDictionaryStmt(state, castNode(AlterTSDictionaryStmt, node)); + break; + case T_AlterUserMappingStmt: + deparseAlterUserMappingStmt(state, castNode(AlterUserMappingStmt, node)); + break; + case T_CallStmt: + deparseCallStmt(state, castNode(CallStmt, node)); + break; + case T_CheckPointStmt: + deparseCheckPointStmt(state, castNode(CheckPointStmt, node)); + break; + case T_ClosePortalStmt: + deparseClosePortalStmt(state, castNode(ClosePortalStmt, node)); + break; + case T_ClusterStmt: + deparseClusterStmt(state, castNode(ClusterStmt, node)); + break; + case T_CommentStmt: + deparseCommentStmt(state, castNode(CommentStmt, node)); + break; + case T_ConstraintsSetStmt: + deparseConstraintsSetStmt(state, castNode(ConstraintsSetStmt, node)); + break; + case T_CopyStmt: + deparseCopyStmt(state, castNode(CopyStmt, node)); + break; + case T_CreateAmStmt: + deparseCreateAmStmt(state, castNode(CreateAmStmt, node)); + break; + case T_CreateTableAsStmt: // "CreateAsStmt" in gram.y + deparseCreateTableAsStmt(state, castNode(CreateTableAsStmt, node)); + break; + case T_CreateCastStmt: + deparseCreateCastStmt(state, castNode(CreateCastStmt, node)); + break; + case T_CreateConversionStmt: + deparseCreateConversionStmt(state, castNode(CreateConversionStmt, node)); + break; + case T_CreateDomainStmt: + deparseCreateDomainStmt(state, castNode(CreateDomainStmt, node)); + break; + case T_CreateExtensionStmt: + deparseCreateExtensionStmt(state, castNode(CreateExtensionStmt, node)); + break; + case T_CreateFdwStmt: + deparseCreateFdwStmt(state, castNode(CreateFdwStmt, node)); + break; + case T_CreateForeignServerStmt: + deparseCreateForeignServerStmt(state, castNode(CreateForeignServerStmt, node)); + break; + case T_CreateForeignTableStmt: + deparseCreateForeignTableStmt(state, castNode(CreateForeignTableStmt, node)); + break; + case T_CreateFunctionStmt: + deparseCreateFunctionStmt(state, castNode(CreateFunctionStmt, node)); + break; + case T_CreateOpClassStmt: + deparseCreateOpClassStmt(state, castNode(CreateOpClassStmt, node)); + break; + case T_CreateOpFamilyStmt: + deparseCreateOpFamilyStmt(state, castNode(CreateOpFamilyStmt, node)); + break; + case T_CreatePublicationStmt: + deparseCreatePublicationStmt(state, castNode(CreatePublicationStmt, node)); + break; + case T_AlterOpFamilyStmt: + deparseAlterOpFamilyStmt(state, castNode(AlterOpFamilyStmt, node)); + break; + case T_CreatePolicyStmt: + deparseCreatePolicyStmt(state, castNode(CreatePolicyStmt, node)); + break; + case T_CreatePLangStmt: + deparseCreatePLangStmt(state, castNode(CreatePLangStmt, node)); + break; + case T_CreateSchemaStmt: + deparseCreateSchemaStmt(state, castNode(CreateSchemaStmt, node)); + break; + case T_CreateSeqStmt: + deparseCreateSeqStmt(state, castNode(CreateSeqStmt, node)); + break; + case T_CreateStmt: + deparseCreateStmt(state, castNode(CreateStmt, node), false); + break; + case T_CreateSubscriptionStmt: + deparseCreateSubscriptionStmt(state, castNode(CreateSubscriptionStmt, node)); + break; + case T_CreateStatsStmt: + deparseCreateStatsStmt(state, castNode(CreateStatsStmt, node)); + break; + case T_CreateTableSpaceStmt: + deparseCreateTableSpaceStmt(state, castNode(CreateTableSpaceStmt, node)); + break; + case T_CreateTransformStmt: + deparseCreateTransformStmt(state, castNode(CreateTransformStmt, node)); + break; + case T_CreateTrigStmt: + deparseCreateTrigStmt(state, castNode(CreateTrigStmt, node)); + break; + case T_CreateEventTrigStmt: + deparseCreateEventTrigStmt(state, castNode(CreateEventTrigStmt, node)); + break; + case T_CreateRoleStmt: + deparseCreateRoleStmt(state, castNode(CreateRoleStmt, node)); + break; + case T_CreateUserMappingStmt: + deparseCreateUserMappingStmt(state, castNode(CreateUserMappingStmt, node)); + break; + case T_CreatedbStmt: + deparseCreatedbStmt(state, castNode(CreatedbStmt, node)); + break; + case T_DeallocateStmt: + deparseDeallocateStmt(state, castNode(DeallocateStmt, node)); + break; + case T_DeclareCursorStmt: + deparseDeclareCursorStmt(state, castNode(DeclareCursorStmt, node)); + break; + case T_DefineStmt: + deparseDefineStmt(state, castNode(DefineStmt, node)); + break; + case T_DeleteStmt: + deparseDeleteStmt(state, castNode(DeleteStmt, node)); + break; + case T_DiscardStmt: + deparseDiscardStmt(state, castNode(DiscardStmt, node)); + break; + case T_DoStmt: + deparseDoStmt(state, castNode(DoStmt, node)); + break; + case T_DropOwnedStmt: + deparseDropOwnedStmt(state, castNode(DropOwnedStmt, node)); + break; + case T_DropStmt: + deparseDropStmt(state, castNode(DropStmt, node)); + break; + case T_DropSubscriptionStmt: + deparseDropSubscriptionStmt(state, castNode(DropSubscriptionStmt, node)); + break; + case T_DropTableSpaceStmt: + deparseDropTableSpaceStmt(state, castNode(DropTableSpaceStmt, node)); + break; + case T_DropRoleStmt: + deparseDropRoleStmt(state, castNode(DropRoleStmt, node)); + break; + case T_DropUserMappingStmt: + deparseDropUserMappingStmt(state, castNode(DropUserMappingStmt, node)); + break; + case T_DropdbStmt: + deparseDropdbStmt(state, castNode(DropdbStmt, node)); + break; + case T_ExecuteStmt: + deparseExecuteStmt(state, castNode(ExecuteStmt, node)); + break; + case T_ExplainStmt: + deparseExplainStmt(state, castNode(ExplainStmt, node)); + break; + case T_FetchStmt: + deparseFetchStmt(state, castNode(FetchStmt, node)); + break; + case T_GrantStmt: + deparseGrantStmt(state, castNode(GrantStmt, node)); + break; + case T_GrantRoleStmt: + deparseGrantRoleStmt(state, castNode(GrantRoleStmt, node)); + break; + case T_ImportForeignSchemaStmt: + deparseImportForeignSchemaStmt(state, castNode(ImportForeignSchemaStmt, node)); + break; + case T_IndexStmt: + deparseIndexStmt(state, castNode(IndexStmt, node)); + break; + case T_InsertStmt: + deparseInsertStmt(state, castNode(InsertStmt, node)); + break; + case T_ListenStmt: + deparseListenStmt(state, castNode(ListenStmt, node)); + break; + case T_RefreshMatViewStmt: + deparseRefreshMatViewStmt(state, castNode(RefreshMatViewStmt, node)); + break; + case T_LoadStmt: + deparseLoadStmt(state, castNode(LoadStmt, node)); + break; + case T_LockStmt: + deparseLockStmt(state, castNode(LockStmt, node)); + break; + case T_MergeStmt: + deparseMergeStmt(state, castNode(MergeStmt, node)); + break; + case T_NotifyStmt: + deparseNotifyStmt(state, castNode(NotifyStmt, node)); + break; + case T_PrepareStmt: + deparsePrepareStmt(state, castNode(PrepareStmt, node)); + break; + case T_ReassignOwnedStmt: + deparseReassignOwnedStmt(state, castNode(ReassignOwnedStmt, node)); + break; + case T_ReindexStmt: + deparseReindexStmt(state, castNode(ReindexStmt, node)); + break; + case T_RenameStmt: + deparseRenameStmt(state, castNode(RenameStmt, node)); + break; + case T_RuleStmt: + deparseRuleStmt(state, castNode(RuleStmt, node)); + break; + case T_SecLabelStmt: + deparseSecLabelStmt(state, castNode(SecLabelStmt, node)); + break; + case T_SelectStmt: + deparseSelectStmt(state, castNode(SelectStmt, node), DEPARSE_NODE_CONTEXT_NONE); + break; + case T_TransactionStmt: + deparseTransactionStmt(state, castNode(TransactionStmt, node)); + break; + case T_TruncateStmt: + deparseTruncateStmt(state, castNode(TruncateStmt, node)); + break; + case T_UnlistenStmt: + deparseUnlistenStmt(state, castNode(UnlistenStmt, node)); + break; + case T_UpdateStmt: + deparseUpdateStmt(state, castNode(UpdateStmt, node)); + break; + case T_VacuumStmt: + deparseVacuumStmt(state, castNode(VacuumStmt, node)); + break; + case T_VariableSetStmt: + deparseVariableSetStmt(state, castNode(VariableSetStmt, node)); + break; + case T_VariableShowStmt: + deparseVariableShowStmt(state, castNode(VariableShowStmt, node)); + break; + case T_ViewStmt: + deparseViewStmt(state, castNode(ViewStmt, node)); + break; + // These node types are created by DefineStmt grammar for CREATE TYPE in some cases + case T_CompositeTypeStmt: + deparseCompositeTypeStmt(state, castNode(CompositeTypeStmt, node)); + break; + case T_CreateEnumStmt: + deparseCreateEnumStmt(state, castNode(CreateEnumStmt, node)); + break; + case T_CreateRangeStmt: + deparseCreateRangeStmt(state, castNode(CreateRangeStmt, node)); + break; + default: + elog(ERROR, "deparse: unsupported top-level node type: %u", nodeTag(node)); + } + + if (!skip_push_pop) + deparseStateDecreaseNestingLevel(state, parent_level); +} diff --git a/parser/src_backend_catalog_namespace.c b/parser/src_backend_catalog_namespace.c index 9d6e7533..38e11d6b 100644 --- a/parser/src_backend_catalog_namespace.c +++ b/parser/src_backend_catalog_namespace.c @@ -2,6 +2,7 @@ * Symbols referenced in this file: * - NameListToString * - get_collation_oid + * - makeRangeVarFromNameList *-------------------------------------------------------------------- */ @@ -16,7 +17,7 @@ * and implementing search-path-controlled searches. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -31,10 +32,12 @@ #include "access/xact.h" #include "access/xlog.h" #include "catalog/dependency.h" +#include "catalog/namespace.h" #include "catalog/objectaccess.h" #include "catalog/pg_authid.h" #include "catalog/pg_collation.h" #include "catalog/pg_conversion.h" +#include "catalog/pg_database.h" #include "catalog/pg_namespace.h" #include "catalog/pg_opclass.h" #include "catalog/pg_operator.h" @@ -47,18 +50,18 @@ #include "catalog/pg_ts_template.h" #include "catalog/pg_type.h" #include "commands/dbcommands.h" +#include "common/hashfn_unstable.h" #include "funcapi.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/makefuncs.h" -#include "parser/parse_func.h" #include "storage/ipc.h" #include "storage/lmgr.h" -#include "storage/sinvaladt.h" +#include "storage/procarray.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/catcache.h" -#include "utils/guc.h" +#include "utils/guc_hooks.h" #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" @@ -73,9 +76,7 @@ * may be included: * * 1. If a TEMP table namespace has been initialized in this session, it - * is implicitly searched first. (The only time this doesn't happen is - * when we are obeying an override search path spec that says not to use the - * temp namespace, or the temp namespace is included in the explicit list.) + * is implicitly searched first. * * 2. The system catalog namespace is always searched. If the system * namespace is present in the explicit path then it will be searched in @@ -114,19 +115,16 @@ * namespace (if it exists), preceded by the user's personal namespace * (if one exists). * - * We support a stack of "override" search path settings for use within - * specific sections of backend code. namespace_search_path is ignored - * whenever the override stack is nonempty. activeSearchPath is always - * the actually active path; it points either to the search list of the - * topmost stack entry, or to baseSearchPath which is the list derived - * from namespace_search_path. + * activeSearchPath is always the actually active path; it points to + * baseSearchPath which is the list derived from namespace_search_path. * - * If baseSearchPathValid is false, then baseSearchPath (and other - * derived variables) need to be recomputed from namespace_search_path. - * We mark it invalid upon an assignment to namespace_search_path or receipt - * of a syscache invalidation event for pg_namespace. The recomputation - * is done during the next non-overridden lookup attempt. Note that an - * override spec is never subject to recomputation. + * If baseSearchPathValid is false, then baseSearchPath (and other derived + * variables) need to be recomputed from namespace_search_path, or retrieved + * from the search path cache if there haven't been any syscache + * invalidations. We mark it invalid upon an assignment to + * namespace_search_path or receipt of a syscache invalidation event for + * pg_namespace or pg_authid. The recomputation is done during the next + * lookup attempt. * * Any namespaces mentioned in namespace_search_path that are not readable * by the current user ID are simply left out of baseSearchPath; so @@ -167,16 +165,31 @@ /* The above four values are valid only if baseSearchPathValid */ -/* Override requests are remembered in a stack of OverrideStackEntry structs */ +/* + * Storage for search path cache. Clear searchPathCacheValid as a simple + * way to invalidate *all* the cache entries, not just the active one. + */ + + -typedef struct +typedef struct SearchPathCacheKey { - List *searchPath; /* the desired search path */ - Oid creationNamespace; /* the desired creation namespace */ - int nestLevel; /* subtransaction nesting level */ -} OverrideStackEntry; + const char *searchPath; + Oid roleid; +} SearchPathCacheKey; +typedef struct SearchPathCacheEntry +{ + SearchPathCacheKey key; + List *oidlist; /* namespace OIDs that pass ACL checks */ + List *finalPath; /* cached final computed search path */ + Oid firstNS; /* first explicitly-listed namespace */ + bool temp_missing; + bool forceRecompute; /* force recompute of finalPath */ + /* needed for simplehash */ + char status; +} SearchPathCacheEntry; /* * myTempNamespace is InvalidOid until and unless a TEMP namespace is set up @@ -207,16 +220,88 @@ typedef struct /* Local functions */ +static bool RelationIsVisibleExt(Oid relid, bool *is_missing); +static bool TypeIsVisibleExt(Oid typid, bool *is_missing); +static bool FunctionIsVisibleExt(Oid funcid, bool *is_missing); +static bool OperatorIsVisibleExt(Oid oprid, bool *is_missing); +static bool OpclassIsVisibleExt(Oid opcid, bool *is_missing); +static bool OpfamilyIsVisibleExt(Oid opfid, bool *is_missing); +static bool CollationIsVisibleExt(Oid collid, bool *is_missing); +static bool ConversionIsVisibleExt(Oid conid, bool *is_missing); +static bool StatisticsObjIsVisibleExt(Oid stxid, bool *is_missing); +static bool TSParserIsVisibleExt(Oid prsId, bool *is_missing); +static bool TSDictionaryIsVisibleExt(Oid dictId, bool *is_missing); +static bool TSTemplateIsVisibleExt(Oid tmplId, bool *is_missing); +static bool TSConfigIsVisibleExt(Oid cfgid, bool *is_missing); static void recomputeNamespacePath(void); static void AccessTempTableNamespace(bool force); static void InitTempTableNamespace(void); static void RemoveTempRelations(Oid tempNamespaceId); static void RemoveTempRelationsCallback(int code, Datum arg); -static void NamespaceCallback(Datum arg, int cacheid, uint32 hashvalue); +static void InvalidationCallback(Datum arg, int cacheid, uint32 hashvalue); static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, bool include_out_arguments, int pronargs, int **argnumbers); +/* + * Recomputing the namespace path can be costly when done frequently, such as + * when a function has search_path set in proconfig. Add a search path cache + * that can be used by recomputeNamespacePath(). + * + * The cache is also used to remember already-validated strings in + * check_search_path() to avoid the need to call SplitIdentifierString() + * repeatedly. + * + * The search path cache is based on a wrapper around a simplehash hash table + * (nsphash, defined below). The spcache wrapper deals with OOM while trying + * to initialize a key, optimizes repeated lookups of the same key, and also + * offers a more convenient API. + */ + + + + + +#define SH_PREFIX nsphash +#define SH_ELEMENT_TYPE SearchPathCacheEntry +#define SH_KEY_TYPE SearchPathCacheKey +#define SH_KEY key +#define SH_HASH_KEY(tb, key) spcachekey_hash(key) +#define SH_EQUAL(tb, a, b) spcachekey_equal(a, b) +#define SH_SCOPE static inline +#define SH_DECLARE +// #define SH_DEFINE +#include "lib/simplehash.h" + +/* + * We only expect a small number of unique search_path strings to be used. If + * this cache grows to an unreasonable size, reset it to avoid steady-state + * memory growth. Most likely, only a few of those entries will benefit from + * the cache, and the cache will be quickly repopulated with such entries. + */ +#define SPCACHE_RESET_THRESHOLD 256 + + + + +/* + * Create or reset search_path cache as necessary. + */ + + +/* + * Look up entry in search path cache without inserting. Returns NULL if not + * present. + */ + + +/* + * Look up or insert entry in search path cache. + * + * Initialize key safely, so that OOM does not leave an entry without a valid + * key. Caller must ensure that non-key contents are properly initialized. + */ + /* * RangeVarGetRelidExtended @@ -304,6 +389,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * RelationIsVisibleExt + * As above, but if the relation isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * TypenameGetTypid @@ -328,6 +421,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TypeIsVisibleExt + * As above, but if the type isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * FuncnameGetCandidates @@ -434,6 +535,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * FunctionIsVisibleExt + * As above, but if the function isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpernameGetOprid @@ -476,6 +585,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OperatorIsVisibleExt + * As above, but if the operator isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpclassnameGetOpcid @@ -495,6 +612,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OpclassIsVisibleExt + * As above, but if the opclass isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * OpfamilynameGetOpfid * Try to resolve an unqualified index opfamily name. @@ -513,6 +638,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * OpfamilyIsVisibleExt + * As above, but if the opfamily isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * lookup_collation * If there's a collation of the given name/namespace, and it works @@ -541,6 +674,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * CollationIsVisibleExt + * As above, but if the collation isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * ConversionGetConid @@ -559,6 +700,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * ConversionIsVisibleExt + * As above, but if the conversion isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_statistics_object_oid - find a statistics object by possibly qualified name * @@ -574,6 +723,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * StatisticsObjIsVisibleExt + * As above, but if the statistics object isn't found and is_missing is + * not NULL, then set *is_missing = true and return false instead of + * throwing an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_parser_oid - find a TS parser by possibly qualified name * @@ -589,6 +746,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSParserIsVisibleExt + * As above, but if the parser isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_dict_oid - find a TS dictionary by possibly qualified name * @@ -604,6 +769,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSDictionaryIsVisibleExt + * As above, but if the dictionary isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_template_oid - find a TS template by possibly qualified name * @@ -619,6 +792,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSTemplateIsVisibleExt + * As above, but if the template isn't found and is_missing is not NULL, + * then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * get_ts_config_oid - find a TS config by possibly qualified name * @@ -634,6 +815,14 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, */ +/* + * TSConfigIsVisibleExt + * As above, but if the configuration isn't found and is_missing is not + * NULL, then set *is_missing = true and return false instead of throwing + * an error. (Caller must initialize *is_missing = false.) + */ + + /* * DeconstructQualifiedName @@ -712,7 +901,35 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, * makeRangeVarFromNameList * Utility routine to convert a qualified-name list into RangeVar form. */ +RangeVar * +makeRangeVarFromNameList(const List *names) +{ + RangeVar *rel = makeRangeVar(NULL, NULL, -1); + + switch (list_length(names)) + { + case 1: + rel->relname = strVal(linitial(names)); + break; + case 2: + rel->schemaname = strVal(linitial(names)); + rel->relname = strVal(lsecond(names)); + break; + case 3: + rel->catalogname = strVal(linitial(names)); + rel->schemaname = strVal(lsecond(names)); + rel->relname = strVal(lthird(names)); + break; + default: + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("improper relation name (too many dotted names): %s", + NameListToString(names)))); + break; + } + return rel; +} /* * NameListToString @@ -725,7 +942,7 @@ static bool MatchNamedCall(HeapTuple proctup, int nargs, List *argnames, * but we also allow A_Star for the convenience of ColumnRef processing. */ char * -NameListToString(List *names) +NameListToString(const List *names) { StringInfoData string; ListCell *l; @@ -805,10 +1022,10 @@ NameListToString(List *names) /* - * GetTempNamespaceBackendId - if the given namespace is a temporary-table - * namespace (either my own, or another backend's), return the BackendId + * GetTempNamespaceProcNumber - if the given namespace is a temporary-table + * namespace (either my own, or another backend's), return the proc number * that owns it. Temporary-toast-table namespaces are included, too. - * If it isn't a temp namespace, return InvalidBackendId. + * If it isn't a temp namespace, return INVALID_PROC_NUMBER. */ @@ -840,8 +1057,7 @@ NameListToString(List *names) /* - * GetOverrideSearchPath - fetch current search path definition in form - * used by PushOverrideSearchPath. + * GetSearchPathMatcher - fetch current search path definition. * * The result structure is allocated in the specified memory context * (which might or might not be equal to CurrentMemoryContext); but any @@ -850,14 +1066,14 @@ NameListToString(List *names) /* - * CopyOverrideSearchPath - copy the specified OverrideSearchPath. + * CopySearchPathMatcher - copy the specified SearchPathMatcher. * * The result structure is allocated in CurrentMemoryContext. */ /* - * OverrideSearchPathMatchesCurrent - does path match current setting? + * SearchPathMatchesCurrentEnvironment - does path match current environment? * * This is tested over and over in some common code paths, and in the typical * scenario where the active search path seldom changes, it'll always succeed. @@ -867,49 +1083,44 @@ NameListToString(List *names) /* - * PushOverrideSearchPath - temporarily override the search path - * - * We allow nested overrides, hence the push/pop terminology. The GUC - * search_path variable is ignored while an override is active. - * - * It's possible that newpath->useTemp is set but there is no longer any - * active temp namespace, if the path was saved during a transaction that - * created a temp namespace and was later rolled back. In that case we just - * ignore useTemp. A plausible alternative would be to create a new temp - * namespace, but for existing callers that's not necessary because an empty - * temp namespace wouldn't affect their results anyway. + * get_collation_oid - find a collation by possibly qualified name * - * It's also worth noting that other schemas listed in newpath might not - * exist anymore either. We don't worry about this because OIDs that match - * no existing namespace will simply not produce any hits during searches. + * Note that this will only find collations that work with the current + * database's encoding. */ +Oid get_collation_oid(List *name, bool missing_ok) { return DEFAULT_COLLATION_OID; } /* - * PopOverrideSearchPath - undo a previous PushOverrideSearchPath - * - * Any push during a (sub)transaction will be popped automatically at abort. - * But it's caller error if a push isn't popped in normal control flow. + * get_conversion_oid - find a conversion by possibly qualified name */ +/* + * FindDefaultConversionProc - find default encoding conversion proc + */ + /* - * get_collation_oid - find a collation by possibly qualified name - * - * Note that this will only find collations that work with the current - * database's encoding. + * Look up namespace IDs and perform ACL checks. Return newly-allocated list. */ -Oid get_collation_oid(List *name, bool missing_ok) { return -1; } /* - * get_conversion_oid - find a conversion by possibly qualified name + * Remove duplicates, run namespace search hooks, and prepend + * implicitly-searched namespaces. Return newly-allocated list. + * + * If an object_access_hook is present, this must always be recalculated. It + * may seem that duplicate elimination is not dependent on the result of the + * hook, but if a hook returns different results on different calls for the + * same namespace ID, then it could affect the order in which that namespace + * appears in the final list. */ /* - * FindDefaultConversionProc - find default encoding conversion proc + * Retrieve search path information from the cache; or if not there, fill + * it. The returned entry is valid only until the next call to this function. */ @@ -988,7 +1199,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; } /* - * NamespaceCallback + * InvalidationCallback * Syscache inval callback function */ @@ -1027,9 +1238,7 @@ Oid get_collation_oid(List *name, bool missing_ok) { return -1; } * condition errors when a query that's scanning a catalog using an MVCC * snapshot uses one of these functions. The underlying IsVisible functions * always use an up-to-date snapshot and so might see the object as already - * gone when it's still visible to the transaction snapshot. (There is no race - * condition in the current coding because we don't accept sinval messages - * between the SearchSysCacheExists test and the subsequent lookup.) + * gone when it's still visible to the transaction snapshot. */ diff --git a/parser/src_backend_catalog_pg_proc.c b/parser/src_backend_catalog_pg_proc.c index b2f8df0b..3547b99f 100644 --- a/parser/src_backend_catalog_pg_proc.c +++ b/parser/src_backend_catalog_pg_proc.c @@ -9,7 +9,7 @@ * pg_proc.c * routines to support manipulation of the pg_proc relation * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -38,9 +38,7 @@ #include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" -#include "parser/analyze.h" #include "parser/parse_coerce.h" -#include "parser/parse_type.h" #include "pgstat.h" #include "rewrite/rewriteHandler.h" #include "tcop/pquery.h" diff --git a/parser/src_backend_commands_define.c b/parser/src_backend_commands_define.c index 57e41831..98d082c0 100644 --- a/parser/src_backend_commands_define.c +++ b/parser/src_backend_commands_define.c @@ -10,7 +10,7 @@ * Support routines for various kinds of object creation. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -45,8 +45,7 @@ #include "commands/defrem.h" #include "nodes/makefuncs.h" #include "parser/parse_type.h" -#include "parser/scansup.h" -#include "utils/builtins.h" +#include "utils/fmgrprotos.h" /* * Extract a string value (otherwise uninterpreted) from a DefElem. diff --git a/parser/src_backend_nodes_bitmapset.c b/parser/src_backend_nodes_bitmapset.c index b6c861a8..0b49baa5 100644 --- a/parser/src_backend_nodes_bitmapset.c +++ b/parser/src_backend_nodes_bitmapset.c @@ -1,12 +1,14 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - bms_copy + * - bms_is_valid_set * - bms_equal - * - bms_is_empty - * - bms_first_member * - bms_free * - bms_next_member * - bms_num_members + * - bms_add_member + * - bms_make_singleton + * - bms_is_member *-------------------------------------------------------------------- */ @@ -17,13 +19,31 @@ * * A bitmap set can represent any set of nonnegative integers, although * it is mainly intended for sets where the maximum value is not large, - * say at most a few hundred. By convention, a NULL pointer is always - * accepted by all operations to represent the empty set. (But beware - * that this is not the only representation of the empty set. Use - * bms_is_empty() in preference to testing for NULL.) - * - * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group + * say at most a few hundred. By convention, we always represent a set with + * the minimum possible number of words, i.e, there are never any trailing + * zero words. Enforcing this requires that an empty set is represented as + * NULL. Because an empty Bitmapset is represented as NULL, a non-NULL + * Bitmapset always has at least 1 Bitmapword. We can exploit this fact to + * speed up various loops over the Bitmapset's words array by using "do while" + * loops instead of "for" loops. This means the code does not waste time + * checking the loop condition before the first iteration. For Bitmapsets + * containing only a single word (likely the majority of them) this halves the + * number of loop condition checks. + * + * Callers must ensure that the set returned by functions in this file which + * adjust the members of an existing set is assigned to all pointers pointing + * to that existing set. No guarantees are made that we'll ever modify the + * existing set in-place and return it. + * + * To help find bugs caused by callers failing to record the return value of + * the function which manipulates an existing set, we support building with + * REALLOCATE_BITMAPSETS. This results in the set being reallocated each time + * the set is altered and the existing being pfreed. This is useful as if any + * references still exist to the old set, we're more likely to notice as + * any users of the old set will be accessing pfree'd memory. This option is + * only intended to be used for debugging. + * + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/nodes/bitmapset.c @@ -65,19 +85,49 @@ #define HAS_MULTIPLE_ONES(x) ((bitmapword) RIGHTMOST_ONE(x) != (x)) -/* Select appropriate bit-twiddling functions for bitmap word size */ -#if BITS_PER_BITMAPWORD == 32 -#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos32(w) -#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos32(w) -#define bmw_popcount(w) pg_popcount32(w) -#elif BITS_PER_BITMAPWORD == 64 -#define bmw_leftmost_one_pos(w) pg_leftmost_one_pos64(w) -#define bmw_rightmost_one_pos(w) pg_rightmost_one_pos64(w) -#define bmw_popcount(w) pg_popcount64(w) -#else -#error "invalid BITS_PER_BITMAPWORD" +#ifdef USE_ASSERT_CHECKING +/* + * bms_is_valid_set - for cassert builds to check for valid sets + */ +static bool +bms_is_valid_set(const Bitmapset *a) +{ + /* NULL is the correct representation of an empty set */ + if (a == NULL) + return true; + + /* check the node tag is set correctly. pfree'd pointer, maybe? */ + if (!IsA(a, Bitmapset)) + return false; + + /* trailing zero words are not allowed */ + if (a->words[a->nwords - 1] == 0) + return false; + + return true; +} #endif +#ifdef REALLOCATE_BITMAPSETS +/* + * bms_copy_and_free + * Only required in REALLOCATE_BITMAPSETS builds. Provide a simple way + * to return a freshly allocated set and pfree the original. + * + * Note: callers which accept multiple sets must be careful when calling this + * function to clone one parameter as other parameters may point to the same + * set. A good option is to call this just before returning the resulting + * set. + */ +static Bitmapset * +bms_copy_and_free(Bitmapset *a) +{ + Bitmapset *c = bms_copy(a); + + bms_free(a); + return c; +} +#endif /* * bms_copy - make a palloc'd copy of a bitmapset @@ -88,8 +138,11 @@ bms_copy(const Bitmapset *a) Bitmapset *result; size_t size; + Assert(bms_is_valid_set(a)); + if (a == NULL) return NULL; + size = BITMAPSET_SIZE(a->nwords); result = (Bitmapset *) palloc(size); memcpy(result, a, size); @@ -97,53 +150,38 @@ bms_copy(const Bitmapset *a) } /* - * bms_equal - are two bitmapsets equal? - * - * This is logical not physical equality; in particular, a NULL pointer will - * be reported as equal to a palloc'd value containing no members. + * bms_equal - are two bitmapsets equal? or both NULL? */ bool bms_equal(const Bitmapset *a, const Bitmapset *b) { - const Bitmapset *shorter; - const Bitmapset *longer; - int shortlen; - int longlen; int i; + Assert(bms_is_valid_set(a)); + Assert(bms_is_valid_set(b)); + /* Handle cases where either input is NULL */ if (a == NULL) { if (b == NULL) return true; - return bms_is_empty(b); + return false; } else if (b == NULL) - return bms_is_empty(a); - /* Identify shorter and longer input */ - if (a->nwords <= b->nwords) - { - shorter = a; - longer = b; - } - else - { - shorter = b; - longer = a; - } - /* And process */ - shortlen = shorter->nwords; - for (i = 0; i < shortlen; i++) - { - if (shorter->words[i] != longer->words[i]) - return false; - } - longlen = longer->nwords; - for (; i < longlen; i++) + return false; + + /* can't be equal if the word counts don't match */ + if (a->nwords != b->nwords) + return false; + + /* check each word matches */ + i = 0; + do { - if (longer->words[i] != 0) + if (a->words[i] != b->words[i]) return false; - } + } while (++i < a->nwords); + return true; } @@ -160,7 +198,23 @@ bms_equal(const Bitmapset *a, const Bitmapset *b) /* * bms_make_singleton - build a bitmapset containing a single member */ - +Bitmapset * +bms_make_singleton(int x) +{ + Bitmapset *result; + int wordnum, + bitnum; + + if (x < 0) + elog(ERROR, "negative bitmapset member not allowed"); + wordnum = WORDNUM(x); + bitnum = BITNUM(x); + result = (Bitmapset *) palloc0(BITMAPSET_SIZE(wordnum + 1)); + result->type = T_Bitmapset; + result->nwords = wordnum + 1; + result->words[wordnum] = ((bitmapword) 1 << bitnum); + return result; +} /* * bms_free - free a bitmapset @@ -176,23 +230,20 @@ bms_free(Bitmapset *a) /* - * These operations all make a freshly palloc'd result, - * leaving their inputs untouched + * bms_union - create and return a new set containing all members from both + * input sets. Both inputs are left unmodified. */ /* - * bms_union - set union + * bms_intersect - create and return a new set containing members which both + * input sets have in common. Both inputs are left unmodified. */ /* - * bms_intersect - set intersection - */ - - -/* - * bms_difference - set difference (ie, A without members of B) + * bms_difference - create and return a new set containing all the members of + * 'a' without the members of 'b'. */ @@ -211,7 +262,28 @@ bms_free(Bitmapset *a) /* * bms_is_member - is X a member of A? */ +bool +bms_is_member(int x, const Bitmapset *a) +{ + int wordnum, + bitnum; + + Assert(bms_is_valid_set(a)); + /* XXX better to just return false for x<0 ? */ + if (x < 0) + elog(ERROR, "negative bitmapset member not allowed"); + if (a == NULL) + return false; + + wordnum = WORDNUM(x); + bitnum = BITNUM(x); + if (wordnum >= a->nwords) + return false; + if ((a->words[wordnum] & ((bitmapword) 1 << bitnum)) != 0) + return true; + return false; +} /* * bms_member_index @@ -268,17 +340,21 @@ bms_num_members(const Bitmapset *a) int nwords; int wordnum; + Assert(bms_is_valid_set(a)); + if (a == NULL) return 0; + nwords = a->nwords; - for (wordnum = 0; wordnum < nwords; wordnum++) + wordnum = 0; + do { bitmapword w = a->words[wordnum]; /* No need to count the bits in a zero word */ if (w != 0) result += bmw_popcount(w); - } + } while (++wordnum < nwords); return result; } @@ -289,61 +365,83 @@ bms_num_members(const Bitmapset *a) */ + /* - * bms_is_empty - is a set empty? + * bms_add_member - add a specified member to set * - * This is even faster than bms_membership(). + * 'a' is recycled when possible. */ -bool -bms_is_empty(const Bitmapset *a) +Bitmapset * +bms_add_member(Bitmapset *a, int x) { - int nwords; - int wordnum; + int wordnum, + bitnum; + Assert(bms_is_valid_set(a)); + + if (x < 0) + elog(ERROR, "negative bitmapset member not allowed"); if (a == NULL) - return true; - nwords = a->nwords; - for (wordnum = 0; wordnum < nwords; wordnum++) - { - bitmapword w = a->words[wordnum]; + return bms_make_singleton(x); - if (w != 0) - return false; - } - return true; -} + wordnum = WORDNUM(x); + bitnum = BITNUM(x); + /* enlarge the set if necessary */ + if (wordnum >= a->nwords) + { + int oldnwords = a->nwords; + int i; + + a = (Bitmapset *) repalloc(a, BITMAPSET_SIZE(wordnum + 1)); + a->nwords = wordnum + 1; + /* zero out the enlarged portion */ + i = oldnwords; + do + { + a->words[i] = 0; + } while (++i < a->nwords); + } -/* - * These operations all "recycle" their non-const inputs, ie, either - * return the modified input or pfree it if it can't hold the result. - * - * These should generally be used in the style - * - * foo = bms_add_member(foo, x); - */ + a->words[wordnum] |= ((bitmapword) 1 << bitnum); +#ifdef REALLOCATE_BITMAPSETS -/* - * bms_add_member - add a specified member to set - * - * Input set is modified or recycled! - */ + /* + * There's no guarantee that the repalloc returned a new pointer, so copy + * and free unconditionally here. + */ + a = bms_copy_and_free(a); +#endif + return a; +} /* * bms_del_member - remove a specified member from set * * No error if x is not currently a member of set * - * Input set is modified in-place! + * 'a' is recycled when possible. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_add_members - like bms_union, but left input is recycled + * bms_add_members - like bms_union, but left input is recycled when possible */ +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif +/* + * bms_replace_members + * Remove all existing members from 'a' and repopulate the set with members + * from 'b', recycling 'a', when possible. + */ +#ifdef REALLOCATE_BITMAPSETS +#endif /* * bms_add_range @@ -353,64 +451,36 @@ bms_is_empty(const Bitmapset *a) * using this function will be faster when the range is large as we work at * the bitmapword level rather than at bit level. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_int_members - like bms_intersect, but left input is recycled + * bms_int_members - like bms_intersect, but left input is recycled when + * possible */ - +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_del_members - like bms_difference, but left input is recycled + * bms_del_members - delete members in 'a' that are set in 'b'. 'a' is + * recycled when possible. */ - +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* - * bms_join - like bms_union, but *both* inputs are recycled + * bms_join - like bms_union, but *either* input *may* be recycled */ - - -/* - * bms_first_member - find and remove first member of a set - * - * Returns -1 if set is empty. NB: set is destructively modified! - * - * This is intended as support for iterating through the members of a set. - * The typical pattern is - * - * while ((x = bms_first_member(inputset)) >= 0) - * process member x; - * - * CAUTION: this destroys the content of "inputset". If the set must - * not be modified, use bms_next_member instead. - */ -int -bms_first_member(Bitmapset *a) -{ - int nwords; - int wordnum; - - if (a == NULL) - return -1; - nwords = a->nwords; - for (wordnum = 0; wordnum < nwords; wordnum++) - { - bitmapword w = a->words[wordnum]; - - if (w != 0) - { - int result; - - w = RIGHTMOST_ONE(w); - a->words[wordnum] &= ~w; - - result = wordnum * BITS_PER_BITMAPWORD; - result += bmw_rightmost_one_pos(w); - return result; - } - } - return -1; -} +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif +#ifdef REALLOCATE_BITMAPSETS +#endif /* * bms_next_member - find next member of a set @@ -438,6 +508,8 @@ bms_next_member(const Bitmapset *a, int prevbit) int wordnum; bitmapword mask; + Assert(bms_is_valid_set(a)); + if (a == NULL) return -2; nwords = a->nwords; @@ -494,11 +566,6 @@ bms_next_member(const Bitmapset *a, int prevbit) /* * bms_hash_value - compute a hash key for a Bitmapset - * - * Note: we must ensure that any two bitmapsets that are bms_equal() will - * hash to the same value; in practice this means that trailing all-zero - * words must not affect the result. Hence we strip those before applying - * hash_any(). */ diff --git a/parser/src_backend_nodes_copyfuncs.c b/parser/src_backend_nodes_copyfuncs.c index 9ee90c65..c287b828 100644 --- a/parser/src_backend_nodes_copyfuncs.c +++ b/parser/src_backend_nodes_copyfuncs.c @@ -1,305 +1,10 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - copyObjectImpl - * - _copyPlannedStmt - * - _copyPlan - * - CopyPlanFields - * - _copyResult - * - _copyProjectSet - * - _copyModifyTable - * - _copyAppend - * - _copyMergeAppend - * - _copyRecursiveUnion - * - _copyBitmapAnd - * - _copyBitmapOr - * - _copyScan - * - CopyScanFields - * - _copyGather - * - _copyGatherMerge - * - _copySeqScan - * - _copySampleScan - * - _copyIndexScan - * - _copyIndexOnlyScan - * - _copyBitmapIndexScan - * - _copyBitmapHeapScan - * - _copyTidScan - * - _copyTidRangeScan - * - _copySubqueryScan - * - _copyFunctionScan - * - _copyTableFuncScan - * - _copyValuesScan - * - _copyCteScan - * - _copyNamedTuplestoreScan - * - _copyWorkTableScan - * - _copyForeignScan - * - _copyCustomScan - * - _copyJoin - * - CopyJoinFields - * - _copyNestLoop - * - _copyMergeJoin - * - _copyHashJoin - * - _copyMaterial - * - _copyMemoize - * - _copySort - * - CopySortFields - * - _copyIncrementalSort - * - _copyGroup - * - _copyAgg - * - _copyWindowAgg - * - _copyUnique - * - _copyHash - * - _copySetOp - * - _copyLockRows - * - _copyLimit - * - _copyNestLoopParam - * - _copyPlanRowMark - * - _copyPartitionPruneInfo - * - _copyPartitionedRelPruneInfo - * - _copyPartitionPruneStepOp - * - _copyPartitionPruneStepCombine - * - _copyPlanInvalItem - * - _copyAlias - * - _copyRangeVar - * - _copyTableFunc - * - _copyIntoClause - * - _copyVar * - _copyConst - * - _copyParam - * - _copyAggref - * - _copyGroupingFunc - * - _copyWindowFunc - * - _copySubscriptingRef - * - _copyFuncExpr - * - _copyNamedArgExpr - * - _copyOpExpr - * - _copyDistinctExpr - * - _copyNullIfExpr - * - _copyScalarArrayOpExpr - * - _copyBoolExpr - * - _copySubLink - * - _copySubPlan - * - _copyAlternativeSubPlan - * - _copyFieldSelect - * - _copyFieldStore - * - _copyRelabelType - * - _copyCoerceViaIO - * - _copyArrayCoerceExpr - * - _copyConvertRowtypeExpr - * - _copyCollateExpr - * - _copyCaseExpr - * - _copyCaseWhen - * - _copyCaseTestExpr - * - _copyArrayExpr - * - _copyRowExpr - * - _copyRowCompareExpr - * - _copyCoalesceExpr - * - _copyMinMaxExpr - * - _copySQLValueFunction - * - _copyXmlExpr - * - _copyNullTest - * - _copyBooleanTest - * - _copyCoerceToDomain - * - _copyCoerceToDomainValue - * - _copySetToDefault - * - _copyCurrentOfExpr - * - _copyNextValueExpr - * - _copyInferenceElem - * - _copyTargetEntry - * - _copyRangeTblRef - * - _copyJoinExpr - * - _copyFromExpr - * - _copyOnConflictExpr - * - _copyPathKey - * - _copyRestrictInfo - * - _copyPlaceHolderVar - * - _copySpecialJoinInfo - * - _copyAppendRelInfo - * - _copyPlaceHolderInfo - * - _copyInteger - * - _copyFloat - * - _copyBoolean - * - _copyString - * - _copyBitString - * - _copyExtensibleNode - * - _copyQuery - * - _copyRawStmt - * - _copyInsertStmt - * - _copyDeleteStmt - * - _copyUpdateStmt - * - _copyMergeStmt - * - _copySelectStmt - * - _copySetOperationStmt - * - _copyReturnStmt - * - _copyPLAssignStmt - * - _copyAlterTableStmt - * - _copyAlterTableCmd - * - _copyAlterCollationStmt - * - _copyAlterDomainStmt - * - _copyGrantStmt - * - _copyGrantRoleStmt - * - _copyAlterDefaultPrivilegesStmt - * - _copyDeclareCursorStmt - * - _copyClosePortalStmt - * - _copyCallStmt - * - _copyClusterStmt - * - _copyCopyStmt - * - _copyCreateStmt - * - CopyCreateStmtFields - * - _copyTableLikeClause - * - _copyDefineStmt - * - _copyDropStmt - * - _copyTruncateStmt - * - _copyCommentStmt - * - _copySecLabelStmt - * - _copyFetchStmt - * - _copyIndexStmt - * - _copyCreateStatsStmt - * - _copyAlterStatsStmt - * - _copyCreateFunctionStmt - * - _copyFunctionParameter - * - _copyAlterFunctionStmt - * - _copyDoStmt - * - _copyRenameStmt - * - _copyAlterObjectDependsStmt - * - _copyAlterObjectSchemaStmt - * - _copyAlterOwnerStmt - * - _copyAlterOperatorStmt - * - _copyAlterTypeStmt - * - _copyRuleStmt - * - _copyNotifyStmt - * - _copyListenStmt - * - _copyUnlistenStmt - * - _copyTransactionStmt - * - _copyCompositeTypeStmt - * - _copyCreateEnumStmt - * - _copyCreateRangeStmt - * - _copyAlterEnumStmt - * - _copyViewStmt - * - _copyLoadStmt - * - _copyCreateDomainStmt - * - _copyCreateOpClassStmt - * - _copyCreateOpClassItem - * - _copyCreateOpFamilyStmt - * - _copyAlterOpFamilyStmt - * - _copyCreatedbStmt - * - _copyAlterDatabaseStmt - * - _copyAlterDatabaseRefreshCollStmt - * - _copyAlterDatabaseSetStmt - * - _copyDropdbStmt - * - _copyVacuumStmt - * - _copyVacuumRelation - * - _copyExplainStmt - * - _copyCreateTableAsStmt - * - _copyRefreshMatViewStmt - * - _copyReplicaIdentityStmt - * - _copyAlterSystemStmt - * - _copyCreateSeqStmt - * - _copyAlterSeqStmt - * - _copyVariableSetStmt - * - _copyVariableShowStmt - * - _copyDiscardStmt - * - _copyCreateTableSpaceStmt - * - _copyDropTableSpaceStmt - * - _copyAlterTableSpaceOptionsStmt - * - _copyAlterTableMoveAllStmt - * - _copyCreateExtensionStmt - * - _copyAlterExtensionStmt - * - _copyAlterExtensionContentsStmt - * - _copyCreateFdwStmt - * - _copyAlterFdwStmt - * - _copyCreateForeignServerStmt - * - _copyAlterForeignServerStmt - * - _copyCreateUserMappingStmt - * - _copyAlterUserMappingStmt - * - _copyDropUserMappingStmt - * - _copyCreateForeignTableStmt - * - _copyImportForeignSchemaStmt - * - _copyCreateTransformStmt - * - _copyCreateAmStmt - * - _copyCreateTrigStmt - * - _copyCreateEventTrigStmt - * - _copyAlterEventTrigStmt - * - _copyCreatePLangStmt - * - _copyCreateRoleStmt - * - _copyAlterRoleStmt - * - _copyAlterRoleSetStmt - * - _copyDropRoleStmt - * - _copyLockStmt - * - _copyConstraintsSetStmt - * - _copyReindexStmt - * - _copyCreateSchemaStmt - * - _copyCreateConversionStmt - * - _copyCreateCastStmt - * - _copyPrepareStmt - * - _copyExecuteStmt - * - _copyDeallocateStmt - * - _copyDropOwnedStmt - * - _copyReassignOwnedStmt - * - _copyAlterTSDictionaryStmt - * - _copyAlterTSConfigurationStmt - * - _copyCreatePolicyStmt - * - _copyAlterPolicyStmt - * - _copyCreatePublicationStmt - * - _copyAlterPublicationStmt - * - _copyCreateSubscriptionStmt - * - _copyAlterSubscriptionStmt - * - _copyDropSubscriptionStmt - * - _copyA_Expr - * - _copyColumnRef - * - _copyParamRef * - _copyA_Const - * - _copyFuncCall - * - _copyA_Star - * - _copyA_Indices - * - _copyA_Indirection - * - _copyA_ArrayExpr - * - _copyResTarget - * - _copyMultiAssignRef - * - _copyTypeCast - * - _copyCollateClause - * - _copySortBy - * - _copyWindowDef - * - _copyRangeSubselect - * - _copyRangeFunction - * - _copyRangeTableSample - * - _copyRangeTableFunc - * - _copyRangeTableFuncCol - * - _copyTypeName - * - _copyIndexElem - * - _copyStatsElem - * - _copyColumnDef - * - _copyConstraint - * - _copyDefElem - * - _copyLockingClause - * - _copyRangeTblEntry - * - _copyRangeTblFunction - * - _copyTableSampleClause - * - _copyWithCheckOption - * - _copySortGroupClause - * - _copyGroupingSet - * - _copyWindowClause - * - _copyRowMarkClause - * - _copyWithClause - * - _copyInferClause - * - _copyOnConflictClause - * - _copyCTESearchClause - * - _copyCTECycleClause - * - _copyCommonTableExpr - * - _copyMergeWhenClause - * - _copyMergeAction - * - _copyObjectWithArgs - * - _copyAccessPriv - * - _copyXmlSerialize - * - _copyRoleSpec - * - _copyTriggerTransition - * - _copyPartitionElem - * - _copyPartitionSpec - * - _copyPartitionBoundSpec - * - _copyPartitionRangeDatum - * - _copyPartitionCmd - * - _copyPublicationObject - * - _copyPublicationTable - * - _copyForeignKeyCacheInfo + * - _copyBitmapset + * - _copyExtensibleNode *-------------------------------------------------------------------- */ @@ -308,15 +13,8 @@ * copyfuncs.c * Copy functions for Postgres tree nodes. * - * NOTE: we currently support copying all node types found in parse and - * plan trees. We do not support copying executor state trees; there - * is no need for that, and no point in maintaining all the code that - * would be needed. We also do not support copying Path trees, mainly - * because the circular linkages between RelOptInfo and Path nodes can't - * be handled easily in a simple depth-first traversal. * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -328,11 +26,7 @@ #include "postgres.h" #include "miscadmin.h" -#include "nodes/extensible.h" -#include "nodes/pathnodes.h" -#include "nodes/plannodes.h" #include "utils/datum.h" -#include "utils/rel.h" /* @@ -378,5946 +72,146 @@ (newnode->fldname = from->fldname) -/* **************************************************************** - * plannodes.h copy functions - * **************************************************************** - */ - -/* - * _copyPlannedStmt - */ -static PlannedStmt * -_copyPlannedStmt(const PlannedStmt *from) -{ - PlannedStmt *newnode = makeNode(PlannedStmt); - - COPY_SCALAR_FIELD(commandType); - COPY_SCALAR_FIELD(queryId); - COPY_SCALAR_FIELD(hasReturning); - COPY_SCALAR_FIELD(hasModifyingCTE); - COPY_SCALAR_FIELD(canSetTag); - COPY_SCALAR_FIELD(transientPlan); - COPY_SCALAR_FIELD(dependsOnRole); - COPY_SCALAR_FIELD(parallelModeNeeded); - COPY_SCALAR_FIELD(jitFlags); - COPY_NODE_FIELD(planTree); - COPY_NODE_FIELD(rtable); - COPY_NODE_FIELD(resultRelations); - COPY_NODE_FIELD(appendRelations); - COPY_NODE_FIELD(subplans); - COPY_BITMAPSET_FIELD(rewindPlanIDs); - COPY_NODE_FIELD(rowMarks); - COPY_NODE_FIELD(relationOids); - COPY_NODE_FIELD(invalItems); - COPY_NODE_FIELD(paramExecTypes); - COPY_NODE_FIELD(utilityStmt); - COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); - - return newnode; -} - -/* - * CopyPlanFields - * - * This function copies the fields of the Plan node. It is used by - * all the copy functions for classes which inherit from Plan. - */ -static void -CopyPlanFields(const Plan *from, Plan *newnode) -{ - COPY_SCALAR_FIELD(startup_cost); - COPY_SCALAR_FIELD(total_cost); - COPY_SCALAR_FIELD(plan_rows); - COPY_SCALAR_FIELD(plan_width); - COPY_SCALAR_FIELD(parallel_aware); - COPY_SCALAR_FIELD(parallel_safe); - COPY_SCALAR_FIELD(async_capable); - COPY_SCALAR_FIELD(plan_node_id); - COPY_NODE_FIELD(targetlist); - COPY_NODE_FIELD(qual); - COPY_NODE_FIELD(lefttree); - COPY_NODE_FIELD(righttree); - COPY_NODE_FIELD(initPlan); - COPY_BITMAPSET_FIELD(extParam); - COPY_BITMAPSET_FIELD(allParam); -} - -/* - * _copyPlan - */ -static Plan * -_copyPlan(const Plan *from) -{ - Plan *newnode = makeNode(Plan); - - /* - * copy node superclass fields - */ - CopyPlanFields(from, newnode); - - return newnode; -} - - -/* - * _copyResult - */ -static Result * -_copyResult(const Result *from) -{ - Result *newnode = makeNode(Result); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(resconstantqual); - - return newnode; -} - -/* - * _copyProjectSet - */ -static ProjectSet * -_copyProjectSet(const ProjectSet *from) -{ - ProjectSet *newnode = makeNode(ProjectSet); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - return newnode; -} - -/* - * _copyModifyTable - */ -static ModifyTable * -_copyModifyTable(const ModifyTable *from) -{ - ModifyTable *newnode = makeNode(ModifyTable); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(operation); - COPY_SCALAR_FIELD(canSetTag); - COPY_SCALAR_FIELD(nominalRelation); - COPY_SCALAR_FIELD(rootRelation); - COPY_SCALAR_FIELD(partColsUpdated); - COPY_NODE_FIELD(resultRelations); - COPY_NODE_FIELD(updateColnosLists); - COPY_NODE_FIELD(withCheckOptionLists); - COPY_NODE_FIELD(returningLists); - COPY_NODE_FIELD(fdwPrivLists); - COPY_BITMAPSET_FIELD(fdwDirectModifyPlans); - COPY_NODE_FIELD(rowMarks); - COPY_SCALAR_FIELD(epqParam); - COPY_SCALAR_FIELD(onConflictAction); - COPY_NODE_FIELD(arbiterIndexes); - COPY_NODE_FIELD(onConflictSet); - COPY_NODE_FIELD(onConflictCols); - COPY_NODE_FIELD(onConflictWhere); - COPY_SCALAR_FIELD(exclRelRTI); - COPY_NODE_FIELD(exclRelTlist); - COPY_NODE_FIELD(mergeActionLists); +#include "copyfuncs.funcs.c" - return newnode; -} /* - * _copyAppend + * Support functions for nodes with custom_copy_equal attribute */ -static Append * -_copyAppend(const Append *from) -{ - Append *newnode = makeNode(Append); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_BITMAPSET_FIELD(apprelids); - COPY_NODE_FIELD(appendplans); - COPY_SCALAR_FIELD(nasyncplans); - COPY_SCALAR_FIELD(first_partial_plan); - COPY_NODE_FIELD(part_prune_info); - - return newnode; -} -/* - * _copyMergeAppend - */ -static MergeAppend * -_copyMergeAppend(const MergeAppend *from) +static Const * +_copyConst(const Const *from) { - MergeAppend *newnode = makeNode(MergeAppend); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_BITMAPSET_FIELD(apprelids); - COPY_NODE_FIELD(mergeplans); - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); - COPY_NODE_FIELD(part_prune_info); - - return newnode; -} + Const *newnode = makeNode(Const); -/* - * _copyRecursiveUnion - */ -static RecursiveUnion * -_copyRecursiveUnion(const RecursiveUnion *from) -{ - RecursiveUnion *newnode = makeNode(RecursiveUnion); + COPY_SCALAR_FIELD(consttype); + COPY_SCALAR_FIELD(consttypmod); + COPY_SCALAR_FIELD(constcollid); + COPY_SCALAR_FIELD(constlen); - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); + if (from->constbyval || from->constisnull) + { + /* + * passed by value so just copy the datum. Also, don't try to copy + * struct when value is null! + */ + newnode->constvalue = from->constvalue; + } + else + { + /* + * passed by reference. We need a palloc'd copy. + */ + newnode->constvalue = datumCopy(from->constvalue, + from->constbyval, + from->constlen); + } - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(wtParam); - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid)); - COPY_SCALAR_FIELD(numGroups); + COPY_SCALAR_FIELD(constisnull); + COPY_SCALAR_FIELD(constbyval); + COPY_LOCATION_FIELD(location); return newnode; } -/* - * _copyBitmapAnd - */ -static BitmapAnd * -_copyBitmapAnd(const BitmapAnd *from) +static A_Const * +_copyA_Const(const A_Const *from) { - BitmapAnd *newnode = makeNode(BitmapAnd); + A_Const *newnode = makeNode(A_Const); - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); + COPY_SCALAR_FIELD(isnull); + if (!from->isnull) + { + /* This part must duplicate other _copy*() functions. */ + COPY_SCALAR_FIELD(val.node.type); + switch (nodeTag(&from->val)) + { + case T_Integer: + COPY_SCALAR_FIELD(val.ival.ival); + break; + case T_Float: + COPY_STRING_FIELD(val.fval.fval); + break; + case T_Boolean: + COPY_SCALAR_FIELD(val.boolval.boolval); + break; + case T_String: + COPY_STRING_FIELD(val.sval.sval); + break; + case T_BitString: + COPY_STRING_FIELD(val.bsval.bsval); + break; + default: + elog(ERROR, "unrecognized node type: %d", + (int) nodeTag(&from->val)); + break; + } + } - /* - * copy remainder of node - */ - COPY_NODE_FIELD(bitmapplans); + COPY_LOCATION_FIELD(location); return newnode; } -/* - * _copyBitmapOr - */ -static BitmapOr * -_copyBitmapOr(const BitmapOr *from) +static ExtensibleNode * +_copyExtensibleNode(const ExtensibleNode *from) { - BitmapOr *newnode = makeNode(BitmapOr); + ExtensibleNode *newnode; + const ExtensibleNodeMethods *methods; - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); + methods = GetExtensibleNodeMethods(from->extnodename, false); + newnode = (ExtensibleNode *) newNode(methods->node_size, + T_ExtensibleNode); + COPY_STRING_FIELD(extnodename); - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(isshared); - COPY_NODE_FIELD(bitmapplans); + /* copy the private fields */ + methods->nodeCopy(newnode, from); return newnode; } -/* - * _copyGather - */ -static Gather * -_copyGather(const Gather *from) +static Bitmapset * +_copyBitmapset(const Bitmapset *from) { - Gather *newnode = makeNode(Gather); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(num_workers); - COPY_SCALAR_FIELD(rescan_param); - COPY_SCALAR_FIELD(single_copy); - COPY_SCALAR_FIELD(invisible); - COPY_BITMAPSET_FIELD(initParam); - - return newnode; + return bms_copy(from); } -/* - * _copyGatherMerge - */ -static GatherMerge * -_copyGatherMerge(const GatherMerge *from) -{ - GatherMerge *newnode = makeNode(GatherMerge); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(num_workers); - COPY_SCALAR_FIELD(rescan_param); - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); - COPY_BITMAPSET_FIELD(initParam); - - return newnode; -} /* - * CopyScanFields + * copyObjectImpl -- implementation of copyObject(); see nodes/nodes.h * - * This function copies the fields of the Scan node. It is used by - * all the copy functions for classes which inherit from Scan. - */ -static void -CopyScanFields(const Scan *from, Scan *newnode) -{ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(scanrelid); -} - -/* - * _copyScan - */ -static Scan * -_copyScan(const Scan *from) -{ - Scan *newnode = makeNode(Scan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - return newnode; -} - -/* - * _copySeqScan - */ -static SeqScan * -_copySeqScan(const SeqScan *from) -{ - SeqScan *newnode = makeNode(SeqScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - return newnode; -} - -/* - * _copySampleScan - */ -static SampleScan * -_copySampleScan(const SampleScan *from) -{ - SampleScan *newnode = makeNode(SampleScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(tablesample); - - return newnode; -} - -/* - * _copyIndexScan - */ -static IndexScan * -_copyIndexScan(const IndexScan *from) -{ - IndexScan *newnode = makeNode(IndexScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(indexid); - COPY_NODE_FIELD(indexqual); - COPY_NODE_FIELD(indexqualorig); - COPY_NODE_FIELD(indexorderby); - COPY_NODE_FIELD(indexorderbyorig); - COPY_NODE_FIELD(indexorderbyops); - COPY_SCALAR_FIELD(indexorderdir); - - return newnode; -} - -/* - * _copyIndexOnlyScan - */ -static IndexOnlyScan * -_copyIndexOnlyScan(const IndexOnlyScan *from) -{ - IndexOnlyScan *newnode = makeNode(IndexOnlyScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(indexid); - COPY_NODE_FIELD(indexqual); - COPY_NODE_FIELD(recheckqual); - COPY_NODE_FIELD(indexorderby); - COPY_NODE_FIELD(indextlist); - COPY_SCALAR_FIELD(indexorderdir); - - return newnode; -} - -/* - * _copyBitmapIndexScan - */ -static BitmapIndexScan * -_copyBitmapIndexScan(const BitmapIndexScan *from) -{ - BitmapIndexScan *newnode = makeNode(BitmapIndexScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(indexid); - COPY_SCALAR_FIELD(isshared); - COPY_NODE_FIELD(indexqual); - COPY_NODE_FIELD(indexqualorig); - - return newnode; -} - -/* - * _copyBitmapHeapScan - */ -static BitmapHeapScan * -_copyBitmapHeapScan(const BitmapHeapScan *from) -{ - BitmapHeapScan *newnode = makeNode(BitmapHeapScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(bitmapqualorig); - - return newnode; -} - -/* - * _copyTidScan - */ -static TidScan * -_copyTidScan(const TidScan *from) -{ - TidScan *newnode = makeNode(TidScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(tidquals); - - return newnode; -} - -/* - * _copyTidRangeScan + * Create a copy of a Node tree or list. This is a "deep" copy: all + * substructure is copied too, recursively. */ -static TidRangeScan * -_copyTidRangeScan(const TidRangeScan *from) +void * +copyObjectImpl(const void *from) { - TidRangeScan *newnode = makeNode(TidRangeScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(tidrangequals); - - return newnode; -} + void *retval; -/* - * _copySubqueryScan - */ -static SubqueryScan * -_copySubqueryScan(const SubqueryScan *from) -{ - SubqueryScan *newnode = makeNode(SubqueryScan); + if (from == NULL) + return NULL; - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); + /* Guard against stack overflow due to overly complex expressions */ + check_stack_depth(); - /* - * copy remainder of node - */ - COPY_NODE_FIELD(subplan); - COPY_SCALAR_FIELD(scanstatus); + switch (nodeTag(from)) + { +#include "copyfuncs.switch.c" - return newnode; -} - -/* - * _copyFunctionScan - */ -static FunctionScan * -_copyFunctionScan(const FunctionScan *from) -{ - FunctionScan *newnode = makeNode(FunctionScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(functions); - COPY_SCALAR_FIELD(funcordinality); - - return newnode; -} - -/* - * _copyTableFuncScan - */ -static TableFuncScan * -_copyTableFuncScan(const TableFuncScan *from) -{ - TableFuncScan *newnode = makeNode(TableFuncScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(tablefunc); - - return newnode; -} - -/* - * _copyValuesScan - */ -static ValuesScan * -_copyValuesScan(const ValuesScan *from) -{ - ValuesScan *newnode = makeNode(ValuesScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(values_lists); - - return newnode; -} - -/* - * _copyCteScan - */ -static CteScan * -_copyCteScan(const CteScan *from) -{ - CteScan *newnode = makeNode(CteScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(ctePlanId); - COPY_SCALAR_FIELD(cteParam); - - return newnode; -} - -/* - * _copyNamedTuplestoreScan - */ -static NamedTuplestoreScan * -_copyNamedTuplestoreScan(const NamedTuplestoreScan *from) -{ - NamedTuplestoreScan *newnode = makeNode(NamedTuplestoreScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_STRING_FIELD(enrname); - - return newnode; -} - -/* - * _copyWorkTableScan - */ -static WorkTableScan * -_copyWorkTableScan(const WorkTableScan *from) -{ - WorkTableScan *newnode = makeNode(WorkTableScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(wtParam); - - return newnode; -} - -/* - * _copyForeignScan - */ -static ForeignScan * -_copyForeignScan(const ForeignScan *from) -{ - ForeignScan *newnode = makeNode(ForeignScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(operation); - COPY_SCALAR_FIELD(resultRelation); - COPY_SCALAR_FIELD(fs_server); - COPY_NODE_FIELD(fdw_exprs); - COPY_NODE_FIELD(fdw_private); - COPY_NODE_FIELD(fdw_scan_tlist); - COPY_NODE_FIELD(fdw_recheck_quals); - COPY_BITMAPSET_FIELD(fs_relids); - COPY_SCALAR_FIELD(fsSystemCol); - - return newnode; -} - -/* - * _copyCustomScan - */ -static CustomScan * -_copyCustomScan(const CustomScan *from) -{ - CustomScan *newnode = makeNode(CustomScan); - - /* - * copy node superclass fields - */ - CopyScanFields((const Scan *) from, (Scan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(flags); - COPY_NODE_FIELD(custom_plans); - COPY_NODE_FIELD(custom_exprs); - COPY_NODE_FIELD(custom_private); - COPY_NODE_FIELD(custom_scan_tlist); - COPY_BITMAPSET_FIELD(custom_relids); - - /* - * NOTE: The method field of CustomScan is required to be a pointer to a - * static table of callback functions. So we don't copy the table itself, - * just reference the original one. - */ - COPY_SCALAR_FIELD(methods); - - return newnode; -} - -/* - * CopyJoinFields - * - * This function copies the fields of the Join node. It is used by - * all the copy functions for classes which inherit from Join. - */ -static void -CopyJoinFields(const Join *from, Join *newnode) -{ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(jointype); - COPY_SCALAR_FIELD(inner_unique); - COPY_NODE_FIELD(joinqual); -} - - -/* - * _copyJoin - */ -static Join * -_copyJoin(const Join *from) -{ - Join *newnode = makeNode(Join); - - /* - * copy node superclass fields - */ - CopyJoinFields(from, newnode); - - return newnode; -} - - -/* - * _copyNestLoop - */ -static NestLoop * -_copyNestLoop(const NestLoop *from) -{ - NestLoop *newnode = makeNode(NestLoop); - - /* - * copy node superclass fields - */ - CopyJoinFields((const Join *) from, (Join *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(nestParams); - - return newnode; -} - - -/* - * _copyMergeJoin - */ -static MergeJoin * -_copyMergeJoin(const MergeJoin *from) -{ - MergeJoin *newnode = makeNode(MergeJoin); - int numCols; - - /* - * copy node superclass fields - */ - CopyJoinFields((const Join *) from, (Join *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(skip_mark_restore); - COPY_NODE_FIELD(mergeclauses); - numCols = list_length(from->mergeclauses); - COPY_POINTER_FIELD(mergeFamilies, numCols * sizeof(Oid)); - COPY_POINTER_FIELD(mergeCollations, numCols * sizeof(Oid)); - COPY_POINTER_FIELD(mergeStrategies, numCols * sizeof(int)); - COPY_POINTER_FIELD(mergeNullsFirst, numCols * sizeof(bool)); - - return newnode; -} - -/* - * _copyHashJoin - */ -static HashJoin * -_copyHashJoin(const HashJoin *from) -{ - HashJoin *newnode = makeNode(HashJoin); - - /* - * copy node superclass fields - */ - CopyJoinFields((const Join *) from, (Join *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(hashclauses); - COPY_NODE_FIELD(hashoperators); - COPY_NODE_FIELD(hashcollations); - COPY_NODE_FIELD(hashkeys); - - return newnode; -} - - -/* - * _copyMaterial - */ -static Material * -_copyMaterial(const Material *from) -{ - Material *newnode = makeNode(Material); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - return newnode; -} - - -/* - * _copyMemoize - */ -static Memoize * -_copyMemoize(const Memoize *from) -{ - Memoize *newnode = makeNode(Memoize); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(numKeys); - COPY_POINTER_FIELD(hashOperators, sizeof(Oid) * from->numKeys); - COPY_POINTER_FIELD(collations, sizeof(Oid) * from->numKeys); - COPY_NODE_FIELD(param_exprs); - COPY_SCALAR_FIELD(singlerow); - COPY_SCALAR_FIELD(binary_mode); - COPY_SCALAR_FIELD(est_entries); - COPY_BITMAPSET_FIELD(keyparamids); - - return newnode; -} - - -/* - * CopySortFields - * - * This function copies the fields of the Sort node. It is used by - * all the copy functions for classes which inherit from Sort. - */ -static void -CopySortFields(const Sort *from, Sort *newnode) -{ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(sortColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(sortOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(collations, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(nullsFirst, from->numCols * sizeof(bool)); -} - -/* - * _copySort - */ -static Sort * -_copySort(const Sort *from) -{ - Sort *newnode = makeNode(Sort); - - /* - * copy node superclass fields - */ - CopySortFields(from, newnode); - - return newnode; -} - - -/* - * _copyIncrementalSort - */ -static IncrementalSort * -_copyIncrementalSort(const IncrementalSort *from) -{ - IncrementalSort *newnode = makeNode(IncrementalSort); - - /* - * copy node superclass fields - */ - CopySortFields((const Sort *) from, (Sort *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(nPresortedCols); - - return newnode; -} - - -/* - * _copyGroup - */ -static Group * -_copyGroup(const Group *from) -{ - Group *newnode = makeNode(Group); - - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); - - return newnode; -} - -/* - * _copyAgg - */ -static Agg * -_copyAgg(const Agg *from) -{ - Agg *newnode = makeNode(Agg); - - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(aggstrategy); - COPY_SCALAR_FIELD(aggsplit); - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(grpColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(grpOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(grpCollations, from->numCols * sizeof(Oid)); - COPY_SCALAR_FIELD(numGroups); - COPY_SCALAR_FIELD(transitionSpace); - COPY_BITMAPSET_FIELD(aggParams); - COPY_NODE_FIELD(groupingSets); - COPY_NODE_FIELD(chain); - - return newnode; -} - -/* - * _copyWindowAgg - */ -static WindowAgg * -_copyWindowAgg(const WindowAgg *from) -{ - WindowAgg *newnode = makeNode(WindowAgg); - - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - COPY_SCALAR_FIELD(winref); - COPY_SCALAR_FIELD(partNumCols); - COPY_POINTER_FIELD(partColIdx, from->partNumCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(partOperators, from->partNumCols * sizeof(Oid)); - COPY_POINTER_FIELD(partCollations, from->partNumCols * sizeof(Oid)); - COPY_SCALAR_FIELD(ordNumCols); - COPY_POINTER_FIELD(ordColIdx, from->ordNumCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(ordOperators, from->ordNumCols * sizeof(Oid)); - COPY_POINTER_FIELD(ordCollations, from->ordNumCols * sizeof(Oid)); - COPY_SCALAR_FIELD(frameOptions); - COPY_NODE_FIELD(startOffset); - COPY_NODE_FIELD(endOffset); - COPY_NODE_FIELD(runCondition); - COPY_NODE_FIELD(runConditionOrig); - COPY_SCALAR_FIELD(startInRangeFunc); - COPY_SCALAR_FIELD(endInRangeFunc); - COPY_SCALAR_FIELD(inRangeColl); - COPY_SCALAR_FIELD(inRangeAsc); - COPY_SCALAR_FIELD(inRangeNullsFirst); - COPY_SCALAR_FIELD(topWindow); - - return newnode; -} - -/* - * _copyUnique - */ -static Unique * -_copyUnique(const Unique *from) -{ - Unique *newnode = makeNode(Unique); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(uniqColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(uniqOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(uniqCollations, from->numCols * sizeof(Oid)); - - return newnode; -} - -/* - * _copyHash - */ -static Hash * -_copyHash(const Hash *from) -{ - Hash *newnode = makeNode(Hash); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(hashkeys); - COPY_SCALAR_FIELD(skewTable); - COPY_SCALAR_FIELD(skewColumn); - COPY_SCALAR_FIELD(skewInherit); - COPY_SCALAR_FIELD(rows_total); - - return newnode; -} - -/* - * _copySetOp - */ -static SetOp * -_copySetOp(const SetOp *from) -{ - SetOp *newnode = makeNode(SetOp); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_SCALAR_FIELD(cmd); - COPY_SCALAR_FIELD(strategy); - COPY_SCALAR_FIELD(numCols); - COPY_POINTER_FIELD(dupColIdx, from->numCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(dupOperators, from->numCols * sizeof(Oid)); - COPY_POINTER_FIELD(dupCollations, from->numCols * sizeof(Oid)); - COPY_SCALAR_FIELD(flagColIdx); - COPY_SCALAR_FIELD(firstFlag); - COPY_SCALAR_FIELD(numGroups); - - return newnode; -} - -/* - * _copyLockRows - */ -static LockRows * -_copyLockRows(const LockRows *from) -{ - LockRows *newnode = makeNode(LockRows); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(rowMarks); - COPY_SCALAR_FIELD(epqParam); - - return newnode; -} - -/* - * _copyLimit - */ -static Limit * -_copyLimit(const Limit *from) -{ - Limit *newnode = makeNode(Limit); - - /* - * copy node superclass fields - */ - CopyPlanFields((const Plan *) from, (Plan *) newnode); - - /* - * copy remainder of node - */ - COPY_NODE_FIELD(limitOffset); - COPY_NODE_FIELD(limitCount); - COPY_SCALAR_FIELD(limitOption); - COPY_SCALAR_FIELD(uniqNumCols); - COPY_POINTER_FIELD(uniqColIdx, from->uniqNumCols * sizeof(AttrNumber)); - COPY_POINTER_FIELD(uniqOperators, from->uniqNumCols * sizeof(Oid)); - COPY_POINTER_FIELD(uniqCollations, from->uniqNumCols * sizeof(Oid)); - - return newnode; -} - -/* - * _copyNestLoopParam - */ -static NestLoopParam * -_copyNestLoopParam(const NestLoopParam *from) -{ - NestLoopParam *newnode = makeNode(NestLoopParam); - - COPY_SCALAR_FIELD(paramno); - COPY_NODE_FIELD(paramval); - - return newnode; -} - -/* - * _copyPlanRowMark - */ -static PlanRowMark * -_copyPlanRowMark(const PlanRowMark *from) -{ - PlanRowMark *newnode = makeNode(PlanRowMark); - - COPY_SCALAR_FIELD(rti); - COPY_SCALAR_FIELD(prti); - COPY_SCALAR_FIELD(rowmarkId); - COPY_SCALAR_FIELD(markType); - COPY_SCALAR_FIELD(allMarkTypes); - COPY_SCALAR_FIELD(strength); - COPY_SCALAR_FIELD(waitPolicy); - COPY_SCALAR_FIELD(isParent); - - return newnode; -} - -static PartitionPruneInfo * -_copyPartitionPruneInfo(const PartitionPruneInfo *from) -{ - PartitionPruneInfo *newnode = makeNode(PartitionPruneInfo); - - COPY_NODE_FIELD(prune_infos); - COPY_BITMAPSET_FIELD(other_subplans); - - return newnode; -} - -static PartitionedRelPruneInfo * -_copyPartitionedRelPruneInfo(const PartitionedRelPruneInfo *from) -{ - PartitionedRelPruneInfo *newnode = makeNode(PartitionedRelPruneInfo); - - COPY_SCALAR_FIELD(rtindex); - COPY_BITMAPSET_FIELD(present_parts); - COPY_SCALAR_FIELD(nparts); - COPY_POINTER_FIELD(subplan_map, from->nparts * sizeof(int)); - COPY_POINTER_FIELD(subpart_map, from->nparts * sizeof(int)); - COPY_POINTER_FIELD(relid_map, from->nparts * sizeof(Oid)); - COPY_NODE_FIELD(initial_pruning_steps); - COPY_NODE_FIELD(exec_pruning_steps); - COPY_BITMAPSET_FIELD(execparamids); - - return newnode; -} - -/* - * _copyPartitionPruneStepOp - */ -static PartitionPruneStepOp * -_copyPartitionPruneStepOp(const PartitionPruneStepOp *from) -{ - PartitionPruneStepOp *newnode = makeNode(PartitionPruneStepOp); - - COPY_SCALAR_FIELD(step.step_id); - COPY_SCALAR_FIELD(opstrategy); - COPY_NODE_FIELD(exprs); - COPY_NODE_FIELD(cmpfns); - COPY_BITMAPSET_FIELD(nullkeys); - - return newnode; -} - -/* - * _copyPartitionPruneStepCombine - */ -static PartitionPruneStepCombine * -_copyPartitionPruneStepCombine(const PartitionPruneStepCombine *from) -{ - PartitionPruneStepCombine *newnode = makeNode(PartitionPruneStepCombine); - - COPY_SCALAR_FIELD(step.step_id); - COPY_SCALAR_FIELD(combineOp); - COPY_NODE_FIELD(source_stepids); - - return newnode; -} - -/* - * _copyPlanInvalItem - */ -static PlanInvalItem * -_copyPlanInvalItem(const PlanInvalItem *from) -{ - PlanInvalItem *newnode = makeNode(PlanInvalItem); - - COPY_SCALAR_FIELD(cacheId); - COPY_SCALAR_FIELD(hashValue); - - return newnode; -} - -/* **************************************************************** - * primnodes.h copy functions - * **************************************************************** - */ - -/* - * _copyAlias - */ -static Alias * -_copyAlias(const Alias *from) -{ - Alias *newnode = makeNode(Alias); - - COPY_STRING_FIELD(aliasname); - COPY_NODE_FIELD(colnames); - - return newnode; -} - -/* - * _copyRangeVar - */ -static RangeVar * -_copyRangeVar(const RangeVar *from) -{ - RangeVar *newnode = makeNode(RangeVar); - - COPY_STRING_FIELD(catalogname); - COPY_STRING_FIELD(schemaname); - COPY_STRING_FIELD(relname); - COPY_SCALAR_FIELD(inh); - COPY_SCALAR_FIELD(relpersistence); - COPY_NODE_FIELD(alias); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyTableFunc - */ -static TableFunc * -_copyTableFunc(const TableFunc *from) -{ - TableFunc *newnode = makeNode(TableFunc); - - COPY_NODE_FIELD(ns_uris); - COPY_NODE_FIELD(ns_names); - COPY_NODE_FIELD(docexpr); - COPY_NODE_FIELD(rowexpr); - COPY_NODE_FIELD(colnames); - COPY_NODE_FIELD(coltypes); - COPY_NODE_FIELD(coltypmods); - COPY_NODE_FIELD(colcollations); - COPY_NODE_FIELD(colexprs); - COPY_NODE_FIELD(coldefexprs); - COPY_BITMAPSET_FIELD(notnulls); - COPY_SCALAR_FIELD(ordinalitycol); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyIntoClause - */ -static IntoClause * -_copyIntoClause(const IntoClause *from) -{ - IntoClause *newnode = makeNode(IntoClause); - - COPY_NODE_FIELD(rel); - COPY_NODE_FIELD(colNames); - COPY_STRING_FIELD(accessMethod); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(onCommit); - COPY_STRING_FIELD(tableSpaceName); - COPY_NODE_FIELD(viewQuery); - COPY_SCALAR_FIELD(skipData); - - return newnode; -} - -/* - * We don't need a _copyExpr because Expr is an abstract supertype which - * should never actually get instantiated. Also, since it has no common - * fields except NodeTag, there's no need for a helper routine to factor - * out copying the common fields... - */ - -/* - * _copyVar - */ -static Var * -_copyVar(const Var *from) -{ - Var *newnode = makeNode(Var); - - COPY_SCALAR_FIELD(varno); - COPY_SCALAR_FIELD(varattno); - COPY_SCALAR_FIELD(vartype); - COPY_SCALAR_FIELD(vartypmod); - COPY_SCALAR_FIELD(varcollid); - COPY_SCALAR_FIELD(varlevelsup); - COPY_SCALAR_FIELD(varnosyn); - COPY_SCALAR_FIELD(varattnosyn); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyConst - */ -static Const * -_copyConst(const Const *from) -{ - Const *newnode = makeNode(Const); - - COPY_SCALAR_FIELD(consttype); - COPY_SCALAR_FIELD(consttypmod); - COPY_SCALAR_FIELD(constcollid); - COPY_SCALAR_FIELD(constlen); - - if (from->constbyval || from->constisnull) - { - /* - * passed by value so just copy the datum. Also, don't try to copy - * struct when value is null! - */ - newnode->constvalue = from->constvalue; - } - else - { - /* - * passed by reference. We need a palloc'd copy. - */ - newnode->constvalue = datumCopy(from->constvalue, - from->constbyval, - from->constlen); - } - - COPY_SCALAR_FIELD(constisnull); - COPY_SCALAR_FIELD(constbyval); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyParam - */ -static Param * -_copyParam(const Param *from) -{ - Param *newnode = makeNode(Param); - - COPY_SCALAR_FIELD(paramkind); - COPY_SCALAR_FIELD(paramid); - COPY_SCALAR_FIELD(paramtype); - COPY_SCALAR_FIELD(paramtypmod); - COPY_SCALAR_FIELD(paramcollid); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyAggref - */ -static Aggref * -_copyAggref(const Aggref *from) -{ - Aggref *newnode = makeNode(Aggref); - - COPY_SCALAR_FIELD(aggfnoid); - COPY_SCALAR_FIELD(aggtype); - COPY_SCALAR_FIELD(aggcollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_SCALAR_FIELD(aggtranstype); - COPY_NODE_FIELD(aggargtypes); - COPY_NODE_FIELD(aggdirectargs); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(aggorder); - COPY_NODE_FIELD(aggdistinct); - COPY_NODE_FIELD(aggfilter); - COPY_SCALAR_FIELD(aggstar); - COPY_SCALAR_FIELD(aggvariadic); - COPY_SCALAR_FIELD(aggkind); - COPY_SCALAR_FIELD(agglevelsup); - COPY_SCALAR_FIELD(aggsplit); - COPY_SCALAR_FIELD(aggno); - COPY_SCALAR_FIELD(aggtransno); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyGroupingFunc - */ -static GroupingFunc * -_copyGroupingFunc(const GroupingFunc *from) -{ - GroupingFunc *newnode = makeNode(GroupingFunc); - - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(refs); - COPY_NODE_FIELD(cols); - COPY_SCALAR_FIELD(agglevelsup); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyWindowFunc - */ -static WindowFunc * -_copyWindowFunc(const WindowFunc *from) -{ - WindowFunc *newnode = makeNode(WindowFunc); - - COPY_SCALAR_FIELD(winfnoid); - COPY_SCALAR_FIELD(wintype); - COPY_SCALAR_FIELD(wincollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(aggfilter); - COPY_SCALAR_FIELD(winref); - COPY_SCALAR_FIELD(winstar); - COPY_SCALAR_FIELD(winagg); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copySubscriptingRef - */ -static SubscriptingRef * -_copySubscriptingRef(const SubscriptingRef *from) -{ - SubscriptingRef *newnode = makeNode(SubscriptingRef); - - COPY_SCALAR_FIELD(refcontainertype); - COPY_SCALAR_FIELD(refelemtype); - COPY_SCALAR_FIELD(refrestype); - COPY_SCALAR_FIELD(reftypmod); - COPY_SCALAR_FIELD(refcollid); - COPY_NODE_FIELD(refupperindexpr); - COPY_NODE_FIELD(reflowerindexpr); - COPY_NODE_FIELD(refexpr); - COPY_NODE_FIELD(refassgnexpr); - - return newnode; -} - -/* - * _copyFuncExpr - */ -static FuncExpr * -_copyFuncExpr(const FuncExpr *from) -{ - FuncExpr *newnode = makeNode(FuncExpr); - - COPY_SCALAR_FIELD(funcid); - COPY_SCALAR_FIELD(funcresulttype); - COPY_SCALAR_FIELD(funcretset); - COPY_SCALAR_FIELD(funcvariadic); - COPY_SCALAR_FIELD(funcformat); - COPY_SCALAR_FIELD(funccollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyNamedArgExpr * - */ -static NamedArgExpr * -_copyNamedArgExpr(const NamedArgExpr *from) -{ - NamedArgExpr *newnode = makeNode(NamedArgExpr); - - COPY_NODE_FIELD(arg); - COPY_STRING_FIELD(name); - COPY_SCALAR_FIELD(argnumber); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyOpExpr - */ -static OpExpr * -_copyOpExpr(const OpExpr *from) -{ - OpExpr *newnode = makeNode(OpExpr); - - COPY_SCALAR_FIELD(opno); - COPY_SCALAR_FIELD(opfuncid); - COPY_SCALAR_FIELD(opresulttype); - COPY_SCALAR_FIELD(opretset); - COPY_SCALAR_FIELD(opcollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyDistinctExpr (same as OpExpr) - */ -static DistinctExpr * -_copyDistinctExpr(const DistinctExpr *from) -{ - DistinctExpr *newnode = makeNode(DistinctExpr); - - COPY_SCALAR_FIELD(opno); - COPY_SCALAR_FIELD(opfuncid); - COPY_SCALAR_FIELD(opresulttype); - COPY_SCALAR_FIELD(opretset); - COPY_SCALAR_FIELD(opcollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyNullIfExpr (same as OpExpr) - */ -static NullIfExpr * -_copyNullIfExpr(const NullIfExpr *from) -{ - NullIfExpr *newnode = makeNode(NullIfExpr); - - COPY_SCALAR_FIELD(opno); - COPY_SCALAR_FIELD(opfuncid); - COPY_SCALAR_FIELD(opresulttype); - COPY_SCALAR_FIELD(opretset); - COPY_SCALAR_FIELD(opcollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyScalarArrayOpExpr - */ -static ScalarArrayOpExpr * -_copyScalarArrayOpExpr(const ScalarArrayOpExpr *from) -{ - ScalarArrayOpExpr *newnode = makeNode(ScalarArrayOpExpr); - - COPY_SCALAR_FIELD(opno); - COPY_SCALAR_FIELD(opfuncid); - COPY_SCALAR_FIELD(hashfuncid); - COPY_SCALAR_FIELD(negfuncid); - COPY_SCALAR_FIELD(useOr); - COPY_SCALAR_FIELD(inputcollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyBoolExpr - */ -static BoolExpr * -_copyBoolExpr(const BoolExpr *from) -{ - BoolExpr *newnode = makeNode(BoolExpr); - - COPY_SCALAR_FIELD(boolop); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copySubLink - */ -static SubLink * -_copySubLink(const SubLink *from) -{ - SubLink *newnode = makeNode(SubLink); - - COPY_SCALAR_FIELD(subLinkType); - COPY_SCALAR_FIELD(subLinkId); - COPY_NODE_FIELD(testexpr); - COPY_NODE_FIELD(operName); - COPY_NODE_FIELD(subselect); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copySubPlan - */ -static SubPlan * -_copySubPlan(const SubPlan *from) -{ - SubPlan *newnode = makeNode(SubPlan); - - COPY_SCALAR_FIELD(subLinkType); - COPY_NODE_FIELD(testexpr); - COPY_NODE_FIELD(paramIds); - COPY_SCALAR_FIELD(plan_id); - COPY_STRING_FIELD(plan_name); - COPY_SCALAR_FIELD(firstColType); - COPY_SCALAR_FIELD(firstColTypmod); - COPY_SCALAR_FIELD(firstColCollation); - COPY_SCALAR_FIELD(useHashTable); - COPY_SCALAR_FIELD(unknownEqFalse); - COPY_SCALAR_FIELD(parallel_safe); - COPY_NODE_FIELD(setParam); - COPY_NODE_FIELD(parParam); - COPY_NODE_FIELD(args); - COPY_SCALAR_FIELD(startup_cost); - COPY_SCALAR_FIELD(per_call_cost); - - return newnode; -} - -/* - * _copyAlternativeSubPlan - */ -static AlternativeSubPlan * -_copyAlternativeSubPlan(const AlternativeSubPlan *from) -{ - AlternativeSubPlan *newnode = makeNode(AlternativeSubPlan); - - COPY_NODE_FIELD(subplans); - - return newnode; -} - -/* - * _copyFieldSelect - */ -static FieldSelect * -_copyFieldSelect(const FieldSelect *from) -{ - FieldSelect *newnode = makeNode(FieldSelect); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(fieldnum); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(resulttypmod); - COPY_SCALAR_FIELD(resultcollid); - - return newnode; -} - -/* - * _copyFieldStore - */ -static FieldStore * -_copyFieldStore(const FieldStore *from) -{ - FieldStore *newnode = makeNode(FieldStore); - - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(newvals); - COPY_NODE_FIELD(fieldnums); - COPY_SCALAR_FIELD(resulttype); - - return newnode; -} - -/* - * _copyRelabelType - */ -static RelabelType * -_copyRelabelType(const RelabelType *from) -{ - RelabelType *newnode = makeNode(RelabelType); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(resulttypmod); - COPY_SCALAR_FIELD(resultcollid); - COPY_SCALAR_FIELD(relabelformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCoerceViaIO - */ -static CoerceViaIO * -_copyCoerceViaIO(const CoerceViaIO *from) -{ - CoerceViaIO *newnode = makeNode(CoerceViaIO); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(resultcollid); - COPY_SCALAR_FIELD(coerceformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyArrayCoerceExpr - */ -static ArrayCoerceExpr * -_copyArrayCoerceExpr(const ArrayCoerceExpr *from) -{ - ArrayCoerceExpr *newnode = makeNode(ArrayCoerceExpr); - - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(elemexpr); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(resulttypmod); - COPY_SCALAR_FIELD(resultcollid); - COPY_SCALAR_FIELD(coerceformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyConvertRowtypeExpr - */ -static ConvertRowtypeExpr * -_copyConvertRowtypeExpr(const ConvertRowtypeExpr *from) -{ - ConvertRowtypeExpr *newnode = makeNode(ConvertRowtypeExpr); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(convertformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCollateExpr - */ -static CollateExpr * -_copyCollateExpr(const CollateExpr *from) -{ - CollateExpr *newnode = makeNode(CollateExpr); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(collOid); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCaseExpr - */ -static CaseExpr * -_copyCaseExpr(const CaseExpr *from) -{ - CaseExpr *newnode = makeNode(CaseExpr); - - COPY_SCALAR_FIELD(casetype); - COPY_SCALAR_FIELD(casecollid); - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(defresult); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCaseWhen - */ -static CaseWhen * -_copyCaseWhen(const CaseWhen *from) -{ - CaseWhen *newnode = makeNode(CaseWhen); - - COPY_NODE_FIELD(expr); - COPY_NODE_FIELD(result); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCaseTestExpr - */ -static CaseTestExpr * -_copyCaseTestExpr(const CaseTestExpr *from) -{ - CaseTestExpr *newnode = makeNode(CaseTestExpr); - - COPY_SCALAR_FIELD(typeId); - COPY_SCALAR_FIELD(typeMod); - COPY_SCALAR_FIELD(collation); - - return newnode; -} - -/* - * _copyArrayExpr - */ -static ArrayExpr * -_copyArrayExpr(const ArrayExpr *from) -{ - ArrayExpr *newnode = makeNode(ArrayExpr); - - COPY_SCALAR_FIELD(array_typeid); - COPY_SCALAR_FIELD(array_collid); - COPY_SCALAR_FIELD(element_typeid); - COPY_NODE_FIELD(elements); - COPY_SCALAR_FIELD(multidims); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyRowExpr - */ -static RowExpr * -_copyRowExpr(const RowExpr *from) -{ - RowExpr *newnode = makeNode(RowExpr); - - COPY_NODE_FIELD(args); - COPY_SCALAR_FIELD(row_typeid); - COPY_SCALAR_FIELD(row_format); - COPY_NODE_FIELD(colnames); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyRowCompareExpr - */ -static RowCompareExpr * -_copyRowCompareExpr(const RowCompareExpr *from) -{ - RowCompareExpr *newnode = makeNode(RowCompareExpr); - - COPY_SCALAR_FIELD(rctype); - COPY_NODE_FIELD(opnos); - COPY_NODE_FIELD(opfamilies); - COPY_NODE_FIELD(inputcollids); - COPY_NODE_FIELD(largs); - COPY_NODE_FIELD(rargs); - - return newnode; -} - -/* - * _copyCoalesceExpr - */ -static CoalesceExpr * -_copyCoalesceExpr(const CoalesceExpr *from) -{ - CoalesceExpr *newnode = makeNode(CoalesceExpr); - - COPY_SCALAR_FIELD(coalescetype); - COPY_SCALAR_FIELD(coalescecollid); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyMinMaxExpr - */ -static MinMaxExpr * -_copyMinMaxExpr(const MinMaxExpr *from) -{ - MinMaxExpr *newnode = makeNode(MinMaxExpr); - - COPY_SCALAR_FIELD(minmaxtype); - COPY_SCALAR_FIELD(minmaxcollid); - COPY_SCALAR_FIELD(inputcollid); - COPY_SCALAR_FIELD(op); - COPY_NODE_FIELD(args); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copySQLValueFunction - */ -static SQLValueFunction * -_copySQLValueFunction(const SQLValueFunction *from) -{ - SQLValueFunction *newnode = makeNode(SQLValueFunction); - - COPY_SCALAR_FIELD(op); - COPY_SCALAR_FIELD(type); - COPY_SCALAR_FIELD(typmod); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyXmlExpr - */ -static XmlExpr * -_copyXmlExpr(const XmlExpr *from) -{ - XmlExpr *newnode = makeNode(XmlExpr); - - COPY_SCALAR_FIELD(op); - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(named_args); - COPY_NODE_FIELD(arg_names); - COPY_NODE_FIELD(args); - COPY_SCALAR_FIELD(xmloption); - COPY_SCALAR_FIELD(type); - COPY_SCALAR_FIELD(typmod); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyNullTest - */ -static NullTest * -_copyNullTest(const NullTest *from) -{ - NullTest *newnode = makeNode(NullTest); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(nulltesttype); - COPY_SCALAR_FIELD(argisrow); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyBooleanTest - */ -static BooleanTest * -_copyBooleanTest(const BooleanTest *from) -{ - BooleanTest *newnode = makeNode(BooleanTest); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(booltesttype); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCoerceToDomain - */ -static CoerceToDomain * -_copyCoerceToDomain(const CoerceToDomain *from) -{ - CoerceToDomain *newnode = makeNode(CoerceToDomain); - - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(resulttype); - COPY_SCALAR_FIELD(resulttypmod); - COPY_SCALAR_FIELD(resultcollid); - COPY_SCALAR_FIELD(coercionformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCoerceToDomainValue - */ -static CoerceToDomainValue * -_copyCoerceToDomainValue(const CoerceToDomainValue *from) -{ - CoerceToDomainValue *newnode = makeNode(CoerceToDomainValue); - - COPY_SCALAR_FIELD(typeId); - COPY_SCALAR_FIELD(typeMod); - COPY_SCALAR_FIELD(collation); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copySetToDefault - */ -static SetToDefault * -_copySetToDefault(const SetToDefault *from) -{ - SetToDefault *newnode = makeNode(SetToDefault); - - COPY_SCALAR_FIELD(typeId); - COPY_SCALAR_FIELD(typeMod); - COPY_SCALAR_FIELD(collation); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -/* - * _copyCurrentOfExpr - */ -static CurrentOfExpr * -_copyCurrentOfExpr(const CurrentOfExpr *from) -{ - CurrentOfExpr *newnode = makeNode(CurrentOfExpr); - - COPY_SCALAR_FIELD(cvarno); - COPY_STRING_FIELD(cursor_name); - COPY_SCALAR_FIELD(cursor_param); - - return newnode; -} - - /* - * _copyNextValueExpr - */ -static NextValueExpr * -_copyNextValueExpr(const NextValueExpr *from) -{ - NextValueExpr *newnode = makeNode(NextValueExpr); - - COPY_SCALAR_FIELD(seqid); - COPY_SCALAR_FIELD(typeId); - - return newnode; -} - -/* - * _copyInferenceElem - */ -static InferenceElem * -_copyInferenceElem(const InferenceElem *from) -{ - InferenceElem *newnode = makeNode(InferenceElem); - - COPY_NODE_FIELD(expr); - COPY_SCALAR_FIELD(infercollid); - COPY_SCALAR_FIELD(inferopclass); - - return newnode; -} - -/* - * _copyTargetEntry - */ -static TargetEntry * -_copyTargetEntry(const TargetEntry *from) -{ - TargetEntry *newnode = makeNode(TargetEntry); - - COPY_NODE_FIELD(expr); - COPY_SCALAR_FIELD(resno); - COPY_STRING_FIELD(resname); - COPY_SCALAR_FIELD(ressortgroupref); - COPY_SCALAR_FIELD(resorigtbl); - COPY_SCALAR_FIELD(resorigcol); - COPY_SCALAR_FIELD(resjunk); - - return newnode; -} - -/* - * _copyRangeTblRef - */ -static RangeTblRef * -_copyRangeTblRef(const RangeTblRef *from) -{ - RangeTblRef *newnode = makeNode(RangeTblRef); - - COPY_SCALAR_FIELD(rtindex); - - return newnode; -} - -/* - * _copyJoinExpr - */ -static JoinExpr * -_copyJoinExpr(const JoinExpr *from) -{ - JoinExpr *newnode = makeNode(JoinExpr); - - COPY_SCALAR_FIELD(jointype); - COPY_SCALAR_FIELD(isNatural); - COPY_NODE_FIELD(larg); - COPY_NODE_FIELD(rarg); - COPY_NODE_FIELD(usingClause); - COPY_NODE_FIELD(join_using_alias); - COPY_NODE_FIELD(quals); - COPY_NODE_FIELD(alias); - COPY_SCALAR_FIELD(rtindex); - - return newnode; -} - -/* - * _copyFromExpr - */ -static FromExpr * -_copyFromExpr(const FromExpr *from) -{ - FromExpr *newnode = makeNode(FromExpr); - - COPY_NODE_FIELD(fromlist); - COPY_NODE_FIELD(quals); - - return newnode; -} - -/* - * _copyOnConflictExpr - */ -static OnConflictExpr * -_copyOnConflictExpr(const OnConflictExpr *from) -{ - OnConflictExpr *newnode = makeNode(OnConflictExpr); - - COPY_SCALAR_FIELD(action); - COPY_NODE_FIELD(arbiterElems); - COPY_NODE_FIELD(arbiterWhere); - COPY_SCALAR_FIELD(constraint); - COPY_NODE_FIELD(onConflictSet); - COPY_NODE_FIELD(onConflictWhere); - COPY_SCALAR_FIELD(exclRelIndex); - COPY_NODE_FIELD(exclRelTlist); - - return newnode; -} - -/* **************************************************************** - * pathnodes.h copy functions - * - * We don't support copying RelOptInfo, IndexOptInfo, or Path nodes. - * There are some subsidiary structs that are useful to copy, though. - * **************************************************************** - */ - -/* - * _copyPathKey - */ -static PathKey * -_copyPathKey(const PathKey *from) -{ - PathKey *newnode = makeNode(PathKey); - - /* EquivalenceClasses are never moved, so just shallow-copy the pointer */ - COPY_SCALAR_FIELD(pk_eclass); - COPY_SCALAR_FIELD(pk_opfamily); - COPY_SCALAR_FIELD(pk_strategy); - COPY_SCALAR_FIELD(pk_nulls_first); - - return newnode; -} - -/* - * _copyRestrictInfo - */ -static RestrictInfo * -_copyRestrictInfo(const RestrictInfo *from) -{ - RestrictInfo *newnode = makeNode(RestrictInfo); - - COPY_NODE_FIELD(clause); - COPY_SCALAR_FIELD(is_pushed_down); - COPY_SCALAR_FIELD(outerjoin_delayed); - COPY_SCALAR_FIELD(can_join); - COPY_SCALAR_FIELD(pseudoconstant); - COPY_SCALAR_FIELD(leakproof); - COPY_SCALAR_FIELD(has_volatile); - COPY_SCALAR_FIELD(security_level); - COPY_BITMAPSET_FIELD(clause_relids); - COPY_BITMAPSET_FIELD(required_relids); - COPY_BITMAPSET_FIELD(outer_relids); - COPY_BITMAPSET_FIELD(nullable_relids); - COPY_BITMAPSET_FIELD(left_relids); - COPY_BITMAPSET_FIELD(right_relids); - COPY_NODE_FIELD(orclause); - /* EquivalenceClasses are never copied, so shallow-copy the pointers */ - COPY_SCALAR_FIELD(parent_ec); - COPY_SCALAR_FIELD(eval_cost); - COPY_SCALAR_FIELD(norm_selec); - COPY_SCALAR_FIELD(outer_selec); - COPY_NODE_FIELD(mergeopfamilies); - /* EquivalenceClasses are never copied, so shallow-copy the pointers */ - COPY_SCALAR_FIELD(left_ec); - COPY_SCALAR_FIELD(right_ec); - COPY_SCALAR_FIELD(left_em); - COPY_SCALAR_FIELD(right_em); - /* MergeScanSelCache isn't a Node, so hard to copy; just reset cache */ - newnode->scansel_cache = NIL; - COPY_SCALAR_FIELD(outer_is_left); - COPY_SCALAR_FIELD(hashjoinoperator); - COPY_SCALAR_FIELD(left_bucketsize); - COPY_SCALAR_FIELD(right_bucketsize); - COPY_SCALAR_FIELD(left_mcvfreq); - COPY_SCALAR_FIELD(right_mcvfreq); - COPY_SCALAR_FIELD(left_hasheqoperator); - COPY_SCALAR_FIELD(right_hasheqoperator); - - return newnode; -} - -/* - * _copyPlaceHolderVar - */ -static PlaceHolderVar * -_copyPlaceHolderVar(const PlaceHolderVar *from) -{ - PlaceHolderVar *newnode = makeNode(PlaceHolderVar); - - COPY_NODE_FIELD(phexpr); - COPY_BITMAPSET_FIELD(phrels); - COPY_SCALAR_FIELD(phid); - COPY_SCALAR_FIELD(phlevelsup); - - return newnode; -} - -/* - * _copySpecialJoinInfo - */ -static SpecialJoinInfo * -_copySpecialJoinInfo(const SpecialJoinInfo *from) -{ - SpecialJoinInfo *newnode = makeNode(SpecialJoinInfo); - - COPY_BITMAPSET_FIELD(min_lefthand); - COPY_BITMAPSET_FIELD(min_righthand); - COPY_BITMAPSET_FIELD(syn_lefthand); - COPY_BITMAPSET_FIELD(syn_righthand); - COPY_SCALAR_FIELD(jointype); - COPY_SCALAR_FIELD(lhs_strict); - COPY_SCALAR_FIELD(delay_upper_joins); - COPY_SCALAR_FIELD(semi_can_btree); - COPY_SCALAR_FIELD(semi_can_hash); - COPY_NODE_FIELD(semi_operators); - COPY_NODE_FIELD(semi_rhs_exprs); - - return newnode; -} - -/* - * _copyAppendRelInfo - */ -static AppendRelInfo * -_copyAppendRelInfo(const AppendRelInfo *from) -{ - AppendRelInfo *newnode = makeNode(AppendRelInfo); - - COPY_SCALAR_FIELD(parent_relid); - COPY_SCALAR_FIELD(child_relid); - COPY_SCALAR_FIELD(parent_reltype); - COPY_SCALAR_FIELD(child_reltype); - COPY_NODE_FIELD(translated_vars); - COPY_SCALAR_FIELD(num_child_cols); - COPY_POINTER_FIELD(parent_colnos, from->num_child_cols * sizeof(AttrNumber)); - COPY_SCALAR_FIELD(parent_reloid); - - return newnode; -} - -/* - * _copyPlaceHolderInfo - */ -static PlaceHolderInfo * -_copyPlaceHolderInfo(const PlaceHolderInfo *from) -{ - PlaceHolderInfo *newnode = makeNode(PlaceHolderInfo); - - COPY_SCALAR_FIELD(phid); - COPY_NODE_FIELD(ph_var); - COPY_BITMAPSET_FIELD(ph_eval_at); - COPY_BITMAPSET_FIELD(ph_lateral); - COPY_BITMAPSET_FIELD(ph_needed); - COPY_SCALAR_FIELD(ph_width); - - return newnode; -} - -/* **************************************************************** - * parsenodes.h copy functions - * **************************************************************** - */ - -static RangeTblEntry * -_copyRangeTblEntry(const RangeTblEntry *from) -{ - RangeTblEntry *newnode = makeNode(RangeTblEntry); - - COPY_SCALAR_FIELD(rtekind); - COPY_SCALAR_FIELD(relid); - COPY_SCALAR_FIELD(relkind); - COPY_SCALAR_FIELD(rellockmode); - COPY_NODE_FIELD(tablesample); - COPY_NODE_FIELD(subquery); - COPY_SCALAR_FIELD(security_barrier); - COPY_SCALAR_FIELD(jointype); - COPY_SCALAR_FIELD(joinmergedcols); - COPY_NODE_FIELD(joinaliasvars); - COPY_NODE_FIELD(joinleftcols); - COPY_NODE_FIELD(joinrightcols); - COPY_NODE_FIELD(join_using_alias); - COPY_NODE_FIELD(functions); - COPY_SCALAR_FIELD(funcordinality); - COPY_NODE_FIELD(tablefunc); - COPY_NODE_FIELD(values_lists); - COPY_STRING_FIELD(ctename); - COPY_SCALAR_FIELD(ctelevelsup); - COPY_SCALAR_FIELD(self_reference); - COPY_NODE_FIELD(coltypes); - COPY_NODE_FIELD(coltypmods); - COPY_NODE_FIELD(colcollations); - COPY_STRING_FIELD(enrname); - COPY_SCALAR_FIELD(enrtuples); - COPY_NODE_FIELD(alias); - COPY_NODE_FIELD(eref); - COPY_SCALAR_FIELD(lateral); - COPY_SCALAR_FIELD(inh); - COPY_SCALAR_FIELD(inFromCl); - COPY_SCALAR_FIELD(requiredPerms); - COPY_SCALAR_FIELD(checkAsUser); - COPY_BITMAPSET_FIELD(selectedCols); - COPY_BITMAPSET_FIELD(insertedCols); - COPY_BITMAPSET_FIELD(updatedCols); - COPY_BITMAPSET_FIELD(extraUpdatedCols); - COPY_NODE_FIELD(securityQuals); - - return newnode; -} - -static RangeTblFunction * -_copyRangeTblFunction(const RangeTblFunction *from) -{ - RangeTblFunction *newnode = makeNode(RangeTblFunction); - - COPY_NODE_FIELD(funcexpr); - COPY_SCALAR_FIELD(funccolcount); - COPY_NODE_FIELD(funccolnames); - COPY_NODE_FIELD(funccoltypes); - COPY_NODE_FIELD(funccoltypmods); - COPY_NODE_FIELD(funccolcollations); - COPY_BITMAPSET_FIELD(funcparams); - - return newnode; -} - -static TableSampleClause * -_copyTableSampleClause(const TableSampleClause *from) -{ - TableSampleClause *newnode = makeNode(TableSampleClause); - - COPY_SCALAR_FIELD(tsmhandler); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(repeatable); - - return newnode; -} - -static WithCheckOption * -_copyWithCheckOption(const WithCheckOption *from) -{ - WithCheckOption *newnode = makeNode(WithCheckOption); - - COPY_SCALAR_FIELD(kind); - COPY_STRING_FIELD(relname); - COPY_STRING_FIELD(polname); - COPY_NODE_FIELD(qual); - COPY_SCALAR_FIELD(cascaded); - - return newnode; -} - -static SortGroupClause * -_copySortGroupClause(const SortGroupClause *from) -{ - SortGroupClause *newnode = makeNode(SortGroupClause); - - COPY_SCALAR_FIELD(tleSortGroupRef); - COPY_SCALAR_FIELD(eqop); - COPY_SCALAR_FIELD(sortop); - COPY_SCALAR_FIELD(nulls_first); - COPY_SCALAR_FIELD(hashable); - - return newnode; -} - -static GroupingSet * -_copyGroupingSet(const GroupingSet *from) -{ - GroupingSet *newnode = makeNode(GroupingSet); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(content); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static WindowClause * -_copyWindowClause(const WindowClause *from) -{ - WindowClause *newnode = makeNode(WindowClause); - - COPY_STRING_FIELD(name); - COPY_STRING_FIELD(refname); - COPY_NODE_FIELD(partitionClause); - COPY_NODE_FIELD(orderClause); - COPY_SCALAR_FIELD(frameOptions); - COPY_NODE_FIELD(startOffset); - COPY_NODE_FIELD(endOffset); - COPY_NODE_FIELD(runCondition); - COPY_SCALAR_FIELD(startInRangeFunc); - COPY_SCALAR_FIELD(endInRangeFunc); - COPY_SCALAR_FIELD(inRangeColl); - COPY_SCALAR_FIELD(inRangeAsc); - COPY_SCALAR_FIELD(inRangeNullsFirst); - COPY_SCALAR_FIELD(winref); - COPY_SCALAR_FIELD(copiedOrder); - - return newnode; -} - -static RowMarkClause * -_copyRowMarkClause(const RowMarkClause *from) -{ - RowMarkClause *newnode = makeNode(RowMarkClause); - - COPY_SCALAR_FIELD(rti); - COPY_SCALAR_FIELD(strength); - COPY_SCALAR_FIELD(waitPolicy); - COPY_SCALAR_FIELD(pushedDown); - - return newnode; -} - -static WithClause * -_copyWithClause(const WithClause *from) -{ - WithClause *newnode = makeNode(WithClause); - - COPY_NODE_FIELD(ctes); - COPY_SCALAR_FIELD(recursive); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static InferClause * -_copyInferClause(const InferClause *from) -{ - InferClause *newnode = makeNode(InferClause); - - COPY_NODE_FIELD(indexElems); - COPY_NODE_FIELD(whereClause); - COPY_STRING_FIELD(conname); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static OnConflictClause * -_copyOnConflictClause(const OnConflictClause *from) -{ - OnConflictClause *newnode = makeNode(OnConflictClause); - - COPY_SCALAR_FIELD(action); - COPY_NODE_FIELD(infer); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(whereClause); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static CTESearchClause * -_copyCTESearchClause(const CTESearchClause *from) -{ - CTESearchClause *newnode = makeNode(CTESearchClause); - - COPY_NODE_FIELD(search_col_list); - COPY_SCALAR_FIELD(search_breadth_first); - COPY_STRING_FIELD(search_seq_column); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static CTECycleClause * -_copyCTECycleClause(const CTECycleClause *from) -{ - CTECycleClause *newnode = makeNode(CTECycleClause); - - COPY_NODE_FIELD(cycle_col_list); - COPY_STRING_FIELD(cycle_mark_column); - COPY_NODE_FIELD(cycle_mark_value); - COPY_NODE_FIELD(cycle_mark_default); - COPY_STRING_FIELD(cycle_path_column); - COPY_LOCATION_FIELD(location); - COPY_SCALAR_FIELD(cycle_mark_type); - COPY_SCALAR_FIELD(cycle_mark_typmod); - COPY_SCALAR_FIELD(cycle_mark_collation); - COPY_SCALAR_FIELD(cycle_mark_neop); - - return newnode; -} - -static CommonTableExpr * -_copyCommonTableExpr(const CommonTableExpr *from) -{ - CommonTableExpr *newnode = makeNode(CommonTableExpr); - - COPY_STRING_FIELD(ctename); - COPY_NODE_FIELD(aliascolnames); - COPY_SCALAR_FIELD(ctematerialized); - COPY_NODE_FIELD(ctequery); - COPY_NODE_FIELD(search_clause); - COPY_NODE_FIELD(cycle_clause); - COPY_LOCATION_FIELD(location); - COPY_SCALAR_FIELD(cterecursive); - COPY_SCALAR_FIELD(cterefcount); - COPY_NODE_FIELD(ctecolnames); - COPY_NODE_FIELD(ctecoltypes); - COPY_NODE_FIELD(ctecoltypmods); - COPY_NODE_FIELD(ctecolcollations); - - return newnode; -} - -static MergeWhenClause * -_copyMergeWhenClause(const MergeWhenClause *from) -{ - MergeWhenClause *newnode = makeNode(MergeWhenClause); - - COPY_SCALAR_FIELD(matched); - COPY_SCALAR_FIELD(commandType); - COPY_SCALAR_FIELD(override); - COPY_NODE_FIELD(condition); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(values); - return newnode; -} - -static MergeAction * -_copyMergeAction(const MergeAction *from) -{ - MergeAction *newnode = makeNode(MergeAction); - - COPY_SCALAR_FIELD(matched); - COPY_SCALAR_FIELD(commandType); - COPY_SCALAR_FIELD(override); - COPY_NODE_FIELD(qual); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(updateColnos); - - return newnode; -} - -static A_Expr * -_copyA_Expr(const A_Expr *from) -{ - A_Expr *newnode = makeNode(A_Expr); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(name); - COPY_NODE_FIELD(lexpr); - COPY_NODE_FIELD(rexpr); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static ColumnRef * -_copyColumnRef(const ColumnRef *from) -{ - ColumnRef *newnode = makeNode(ColumnRef); - - COPY_NODE_FIELD(fields); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static ParamRef * -_copyParamRef(const ParamRef *from) -{ - ParamRef *newnode = makeNode(ParamRef); - - COPY_SCALAR_FIELD(number); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static A_Const * -_copyA_Const(const A_Const *from) -{ - A_Const *newnode = makeNode(A_Const); - - COPY_SCALAR_FIELD(isnull); - if (!from->isnull) - { - /* This part must duplicate other _copy*() functions. */ - COPY_SCALAR_FIELD(val.node.type); - switch (nodeTag(&from->val)) - { - case T_Integer: - COPY_SCALAR_FIELD(val.ival.ival); - break; - case T_Float: - COPY_STRING_FIELD(val.fval.fval); - break; - case T_Boolean: - COPY_SCALAR_FIELD(val.boolval.boolval); - break; - case T_String: - COPY_STRING_FIELD(val.sval.sval); - break; - case T_BitString: - COPY_STRING_FIELD(val.bsval.bsval); - break; - default: - elog(ERROR, "unrecognized node type: %d", - (int) nodeTag(&from->val)); - break; - } - } - - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static FuncCall * -_copyFuncCall(const FuncCall *from) -{ - FuncCall *newnode = makeNode(FuncCall); - - COPY_NODE_FIELD(funcname); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(agg_order); - COPY_NODE_FIELD(agg_filter); - COPY_NODE_FIELD(over); - COPY_SCALAR_FIELD(agg_within_group); - COPY_SCALAR_FIELD(agg_star); - COPY_SCALAR_FIELD(agg_distinct); - COPY_SCALAR_FIELD(func_variadic); - COPY_SCALAR_FIELD(funcformat); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static A_Star * -_copyA_Star(const A_Star *from) -{ - A_Star *newnode = makeNode(A_Star); - - return newnode; -} - -static A_Indices * -_copyA_Indices(const A_Indices *from) -{ - A_Indices *newnode = makeNode(A_Indices); - - COPY_SCALAR_FIELD(is_slice); - COPY_NODE_FIELD(lidx); - COPY_NODE_FIELD(uidx); - - return newnode; -} - -static A_Indirection * -_copyA_Indirection(const A_Indirection *from) -{ - A_Indirection *newnode = makeNode(A_Indirection); - - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(indirection); - - return newnode; -} - -static A_ArrayExpr * -_copyA_ArrayExpr(const A_ArrayExpr *from) -{ - A_ArrayExpr *newnode = makeNode(A_ArrayExpr); - - COPY_NODE_FIELD(elements); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static ResTarget * -_copyResTarget(const ResTarget *from) -{ - ResTarget *newnode = makeNode(ResTarget); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(indirection); - COPY_NODE_FIELD(val); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static MultiAssignRef * -_copyMultiAssignRef(const MultiAssignRef *from) -{ - MultiAssignRef *newnode = makeNode(MultiAssignRef); - - COPY_NODE_FIELD(source); - COPY_SCALAR_FIELD(colno); - COPY_SCALAR_FIELD(ncolumns); - - return newnode; -} - -static TypeName * -_copyTypeName(const TypeName *from) -{ - TypeName *newnode = makeNode(TypeName); - - COPY_NODE_FIELD(names); - COPY_SCALAR_FIELD(typeOid); - COPY_SCALAR_FIELD(setof); - COPY_SCALAR_FIELD(pct_type); - COPY_NODE_FIELD(typmods); - COPY_SCALAR_FIELD(typemod); - COPY_NODE_FIELD(arrayBounds); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static SortBy * -_copySortBy(const SortBy *from) -{ - SortBy *newnode = makeNode(SortBy); - - COPY_NODE_FIELD(node); - COPY_SCALAR_FIELD(sortby_dir); - COPY_SCALAR_FIELD(sortby_nulls); - COPY_NODE_FIELD(useOp); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static WindowDef * -_copyWindowDef(const WindowDef *from) -{ - WindowDef *newnode = makeNode(WindowDef); - - COPY_STRING_FIELD(name); - COPY_STRING_FIELD(refname); - COPY_NODE_FIELD(partitionClause); - COPY_NODE_FIELD(orderClause); - COPY_SCALAR_FIELD(frameOptions); - COPY_NODE_FIELD(startOffset); - COPY_NODE_FIELD(endOffset); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static RangeSubselect * -_copyRangeSubselect(const RangeSubselect *from) -{ - RangeSubselect *newnode = makeNode(RangeSubselect); - - COPY_SCALAR_FIELD(lateral); - COPY_NODE_FIELD(subquery); - COPY_NODE_FIELD(alias); - - return newnode; -} - -static RangeFunction * -_copyRangeFunction(const RangeFunction *from) -{ - RangeFunction *newnode = makeNode(RangeFunction); - - COPY_SCALAR_FIELD(lateral); - COPY_SCALAR_FIELD(ordinality); - COPY_SCALAR_FIELD(is_rowsfrom); - COPY_NODE_FIELD(functions); - COPY_NODE_FIELD(alias); - COPY_NODE_FIELD(coldeflist); - - return newnode; -} - -static RangeTableSample * -_copyRangeTableSample(const RangeTableSample *from) -{ - RangeTableSample *newnode = makeNode(RangeTableSample); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(method); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(repeatable); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static RangeTableFunc * -_copyRangeTableFunc(const RangeTableFunc *from) -{ - RangeTableFunc *newnode = makeNode(RangeTableFunc); - - COPY_SCALAR_FIELD(lateral); - COPY_NODE_FIELD(docexpr); - COPY_NODE_FIELD(rowexpr); - COPY_NODE_FIELD(namespaces); - COPY_NODE_FIELD(columns); - COPY_NODE_FIELD(alias); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static RangeTableFuncCol * -_copyRangeTableFuncCol(const RangeTableFuncCol *from) -{ - RangeTableFuncCol *newnode = makeNode(RangeTableFuncCol); - - COPY_STRING_FIELD(colname); - COPY_NODE_FIELD(typeName); - COPY_SCALAR_FIELD(for_ordinality); - COPY_SCALAR_FIELD(is_not_null); - COPY_NODE_FIELD(colexpr); - COPY_NODE_FIELD(coldefexpr); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static TypeCast * -_copyTypeCast(const TypeCast *from) -{ - TypeCast *newnode = makeNode(TypeCast); - - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(typeName); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static CollateClause * -_copyCollateClause(const CollateClause *from) -{ - CollateClause *newnode = makeNode(CollateClause); - - COPY_NODE_FIELD(arg); - COPY_NODE_FIELD(collname); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static IndexElem * -_copyIndexElem(const IndexElem *from) -{ - IndexElem *newnode = makeNode(IndexElem); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(expr); - COPY_STRING_FIELD(indexcolname); - COPY_NODE_FIELD(collation); - COPY_NODE_FIELD(opclass); - COPY_NODE_FIELD(opclassopts); - COPY_SCALAR_FIELD(ordering); - COPY_SCALAR_FIELD(nulls_ordering); - - return newnode; -} - -static StatsElem * -_copyStatsElem(const StatsElem *from) -{ - StatsElem *newnode = makeNode(StatsElem); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(expr); - - return newnode; -} - -static ColumnDef * -_copyColumnDef(const ColumnDef *from) -{ - ColumnDef *newnode = makeNode(ColumnDef); - - COPY_STRING_FIELD(colname); - COPY_NODE_FIELD(typeName); - COPY_STRING_FIELD(compression); - COPY_SCALAR_FIELD(inhcount); - COPY_SCALAR_FIELD(is_local); - COPY_SCALAR_FIELD(is_not_null); - COPY_SCALAR_FIELD(is_from_type); - COPY_SCALAR_FIELD(storage); - COPY_NODE_FIELD(raw_default); - COPY_NODE_FIELD(cooked_default); - COPY_SCALAR_FIELD(identity); - COPY_NODE_FIELD(identitySequence); - COPY_SCALAR_FIELD(generated); - COPY_NODE_FIELD(collClause); - COPY_SCALAR_FIELD(collOid); - COPY_NODE_FIELD(constraints); - COPY_NODE_FIELD(fdwoptions); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static Constraint * -_copyConstraint(const Constraint *from) -{ - Constraint *newnode = makeNode(Constraint); - - COPY_SCALAR_FIELD(contype); - COPY_STRING_FIELD(conname); - COPY_SCALAR_FIELD(deferrable); - COPY_SCALAR_FIELD(initdeferred); - COPY_LOCATION_FIELD(location); - COPY_SCALAR_FIELD(is_no_inherit); - COPY_NODE_FIELD(raw_expr); - COPY_STRING_FIELD(cooked_expr); - COPY_SCALAR_FIELD(generated_when); - COPY_SCALAR_FIELD(nulls_not_distinct); - COPY_NODE_FIELD(keys); - COPY_NODE_FIELD(including); - COPY_NODE_FIELD(exclusions); - COPY_NODE_FIELD(options); - COPY_STRING_FIELD(indexname); - COPY_STRING_FIELD(indexspace); - COPY_SCALAR_FIELD(reset_default_tblspc); - COPY_STRING_FIELD(access_method); - COPY_NODE_FIELD(where_clause); - COPY_NODE_FIELD(pktable); - COPY_NODE_FIELD(fk_attrs); - COPY_NODE_FIELD(pk_attrs); - COPY_SCALAR_FIELD(fk_matchtype); - COPY_SCALAR_FIELD(fk_upd_action); - COPY_SCALAR_FIELD(fk_del_action); - COPY_NODE_FIELD(fk_del_set_cols); - COPY_NODE_FIELD(old_conpfeqop); - COPY_SCALAR_FIELD(old_pktable_oid); - COPY_SCALAR_FIELD(skip_validation); - COPY_SCALAR_FIELD(initially_valid); - - return newnode; -} - -static DefElem * -_copyDefElem(const DefElem *from) -{ - DefElem *newnode = makeNode(DefElem); - - COPY_STRING_FIELD(defnamespace); - COPY_STRING_FIELD(defname); - COPY_NODE_FIELD(arg); - COPY_SCALAR_FIELD(defaction); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static LockingClause * -_copyLockingClause(const LockingClause *from) -{ - LockingClause *newnode = makeNode(LockingClause); - - COPY_NODE_FIELD(lockedRels); - COPY_SCALAR_FIELD(strength); - COPY_SCALAR_FIELD(waitPolicy); - - return newnode; -} - -static XmlSerialize * -_copyXmlSerialize(const XmlSerialize *from) -{ - XmlSerialize *newnode = makeNode(XmlSerialize); - - COPY_SCALAR_FIELD(xmloption); - COPY_NODE_FIELD(expr); - COPY_NODE_FIELD(typeName); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static RoleSpec * -_copyRoleSpec(const RoleSpec *from) -{ - RoleSpec *newnode = makeNode(RoleSpec); - - COPY_SCALAR_FIELD(roletype); - COPY_STRING_FIELD(rolename); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static TriggerTransition * -_copyTriggerTransition(const TriggerTransition *from) -{ - TriggerTransition *newnode = makeNode(TriggerTransition); - - COPY_STRING_FIELD(name); - COPY_SCALAR_FIELD(isNew); - COPY_SCALAR_FIELD(isTable); - - return newnode; -} - -static Query * -_copyQuery(const Query *from) -{ - Query *newnode = makeNode(Query); - - COPY_SCALAR_FIELD(commandType); - COPY_SCALAR_FIELD(querySource); - COPY_SCALAR_FIELD(queryId); - COPY_SCALAR_FIELD(canSetTag); - COPY_NODE_FIELD(utilityStmt); - COPY_SCALAR_FIELD(resultRelation); - COPY_SCALAR_FIELD(hasAggs); - COPY_SCALAR_FIELD(hasWindowFuncs); - COPY_SCALAR_FIELD(hasTargetSRFs); - COPY_SCALAR_FIELD(hasSubLinks); - COPY_SCALAR_FIELD(hasDistinctOn); - COPY_SCALAR_FIELD(hasRecursive); - COPY_SCALAR_FIELD(hasModifyingCTE); - COPY_SCALAR_FIELD(hasForUpdate); - COPY_SCALAR_FIELD(hasRowSecurity); - COPY_SCALAR_FIELD(isReturn); - COPY_NODE_FIELD(cteList); - COPY_NODE_FIELD(rtable); - COPY_NODE_FIELD(jointree); - COPY_NODE_FIELD(targetList); - COPY_SCALAR_FIELD(override); - COPY_NODE_FIELD(onConflict); - COPY_NODE_FIELD(returningList); - COPY_NODE_FIELD(groupClause); - COPY_SCALAR_FIELD(groupDistinct); - COPY_NODE_FIELD(groupingSets); - COPY_NODE_FIELD(havingQual); - COPY_NODE_FIELD(windowClause); - COPY_NODE_FIELD(distinctClause); - COPY_NODE_FIELD(sortClause); - COPY_NODE_FIELD(limitOffset); - COPY_NODE_FIELD(limitCount); - COPY_SCALAR_FIELD(limitOption); - COPY_NODE_FIELD(rowMarks); - COPY_NODE_FIELD(setOperations); - COPY_NODE_FIELD(constraintDeps); - COPY_NODE_FIELD(withCheckOptions); - COPY_NODE_FIELD(mergeActionList); - COPY_SCALAR_FIELD(mergeUseOuterJoin); - COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); - - return newnode; -} - -static RawStmt * -_copyRawStmt(const RawStmt *from) -{ - RawStmt *newnode = makeNode(RawStmt); - - COPY_NODE_FIELD(stmt); - COPY_LOCATION_FIELD(stmt_location); - COPY_SCALAR_FIELD(stmt_len); - - return newnode; -} - -static InsertStmt * -_copyInsertStmt(const InsertStmt *from) -{ - InsertStmt *newnode = makeNode(InsertStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(cols); - COPY_NODE_FIELD(selectStmt); - COPY_NODE_FIELD(onConflictClause); - COPY_NODE_FIELD(returningList); - COPY_NODE_FIELD(withClause); - COPY_SCALAR_FIELD(override); - - return newnode; -} - -static DeleteStmt * -_copyDeleteStmt(const DeleteStmt *from) -{ - DeleteStmt *newnode = makeNode(DeleteStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(usingClause); - COPY_NODE_FIELD(whereClause); - COPY_NODE_FIELD(returningList); - COPY_NODE_FIELD(withClause); - - return newnode; -} - -static UpdateStmt * -_copyUpdateStmt(const UpdateStmt *from) -{ - UpdateStmt *newnode = makeNode(UpdateStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(whereClause); - COPY_NODE_FIELD(fromClause); - COPY_NODE_FIELD(returningList); - COPY_NODE_FIELD(withClause); - - return newnode; -} - -static MergeStmt * -_copyMergeStmt(const MergeStmt *from) -{ - MergeStmt *newnode = makeNode(MergeStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(sourceRelation); - COPY_NODE_FIELD(joinCondition); - COPY_NODE_FIELD(mergeWhenClauses); - COPY_NODE_FIELD(withClause); - - return newnode; -} - -static SelectStmt * -_copySelectStmt(const SelectStmt *from) -{ - SelectStmt *newnode = makeNode(SelectStmt); - - COPY_NODE_FIELD(distinctClause); - COPY_NODE_FIELD(intoClause); - COPY_NODE_FIELD(targetList); - COPY_NODE_FIELD(fromClause); - COPY_NODE_FIELD(whereClause); - COPY_NODE_FIELD(groupClause); - COPY_SCALAR_FIELD(groupDistinct); - COPY_NODE_FIELD(havingClause); - COPY_NODE_FIELD(windowClause); - COPY_NODE_FIELD(valuesLists); - COPY_NODE_FIELD(sortClause); - COPY_NODE_FIELD(limitOffset); - COPY_NODE_FIELD(limitCount); - COPY_SCALAR_FIELD(limitOption); - COPY_NODE_FIELD(lockingClause); - COPY_NODE_FIELD(withClause); - COPY_SCALAR_FIELD(op); - COPY_SCALAR_FIELD(all); - COPY_NODE_FIELD(larg); - COPY_NODE_FIELD(rarg); - - return newnode; -} - -static SetOperationStmt * -_copySetOperationStmt(const SetOperationStmt *from) -{ - SetOperationStmt *newnode = makeNode(SetOperationStmt); - - COPY_SCALAR_FIELD(op); - COPY_SCALAR_FIELD(all); - COPY_NODE_FIELD(larg); - COPY_NODE_FIELD(rarg); - COPY_NODE_FIELD(colTypes); - COPY_NODE_FIELD(colTypmods); - COPY_NODE_FIELD(colCollations); - COPY_NODE_FIELD(groupClauses); - - return newnode; -} - -static ReturnStmt * -_copyReturnStmt(const ReturnStmt *from) -{ - ReturnStmt *newnode = makeNode(ReturnStmt); - - COPY_NODE_FIELD(returnval); - - return newnode; -} - -static PLAssignStmt * -_copyPLAssignStmt(const PLAssignStmt *from) -{ - PLAssignStmt *newnode = makeNode(PLAssignStmt); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(indirection); - COPY_SCALAR_FIELD(nnames); - COPY_NODE_FIELD(val); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static AlterTableStmt * -_copyAlterTableStmt(const AlterTableStmt *from) -{ - AlterTableStmt *newnode = makeNode(AlterTableStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(cmds); - COPY_SCALAR_FIELD(objtype); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static AlterTableCmd * -_copyAlterTableCmd(const AlterTableCmd *from) -{ - AlterTableCmd *newnode = makeNode(AlterTableCmd); - - COPY_SCALAR_FIELD(subtype); - COPY_STRING_FIELD(name); - COPY_SCALAR_FIELD(num); - COPY_NODE_FIELD(newowner); - COPY_NODE_FIELD(def); - COPY_SCALAR_FIELD(behavior); - COPY_SCALAR_FIELD(missing_ok); - COPY_SCALAR_FIELD(recurse); - - return newnode; -} - -static AlterCollationStmt * -_copyAlterCollationStmt(const AlterCollationStmt *from) -{ - AlterCollationStmt *newnode = makeNode(AlterCollationStmt); - - COPY_NODE_FIELD(collname); - - return newnode; -} - -static AlterDomainStmt * -_copyAlterDomainStmt(const AlterDomainStmt *from) -{ - AlterDomainStmt *newnode = makeNode(AlterDomainStmt); - - COPY_SCALAR_FIELD(subtype); - COPY_NODE_FIELD(typeName); - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(def); - COPY_SCALAR_FIELD(behavior); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static GrantStmt * -_copyGrantStmt(const GrantStmt *from) -{ - GrantStmt *newnode = makeNode(GrantStmt); - - COPY_SCALAR_FIELD(is_grant); - COPY_SCALAR_FIELD(targtype); - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(objects); - COPY_NODE_FIELD(privileges); - COPY_NODE_FIELD(grantees); - COPY_SCALAR_FIELD(grant_option); - COPY_NODE_FIELD(grantor); - COPY_SCALAR_FIELD(behavior); - - return newnode; -} - -static ObjectWithArgs * -_copyObjectWithArgs(const ObjectWithArgs *from) -{ - ObjectWithArgs *newnode = makeNode(ObjectWithArgs); - - COPY_NODE_FIELD(objname); - COPY_NODE_FIELD(objargs); - COPY_NODE_FIELD(objfuncargs); - COPY_SCALAR_FIELD(args_unspecified); - - return newnode; -} - -static AccessPriv * -_copyAccessPriv(const AccessPriv *from) -{ - AccessPriv *newnode = makeNode(AccessPriv); - - COPY_STRING_FIELD(priv_name); - COPY_NODE_FIELD(cols); - - return newnode; -} - -static GrantRoleStmt * -_copyGrantRoleStmt(const GrantRoleStmt *from) -{ - GrantRoleStmt *newnode = makeNode(GrantRoleStmt); - - COPY_NODE_FIELD(granted_roles); - COPY_NODE_FIELD(grantee_roles); - COPY_SCALAR_FIELD(is_grant); - COPY_SCALAR_FIELD(admin_opt); - COPY_NODE_FIELD(grantor); - COPY_SCALAR_FIELD(behavior); - - return newnode; -} - -static AlterDefaultPrivilegesStmt * -_copyAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *from) -{ - AlterDefaultPrivilegesStmt *newnode = makeNode(AlterDefaultPrivilegesStmt); - - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(action); - - return newnode; -} - -static DeclareCursorStmt * -_copyDeclareCursorStmt(const DeclareCursorStmt *from) -{ - DeclareCursorStmt *newnode = makeNode(DeclareCursorStmt); - - COPY_STRING_FIELD(portalname); - COPY_SCALAR_FIELD(options); - COPY_NODE_FIELD(query); - - return newnode; -} - -static ClosePortalStmt * -_copyClosePortalStmt(const ClosePortalStmt *from) -{ - ClosePortalStmt *newnode = makeNode(ClosePortalStmt); - - COPY_STRING_FIELD(portalname); - - return newnode; -} - -static CallStmt * -_copyCallStmt(const CallStmt *from) -{ - CallStmt *newnode = makeNode(CallStmt); - - COPY_NODE_FIELD(funccall); - COPY_NODE_FIELD(funcexpr); - COPY_NODE_FIELD(outargs); - - return newnode; -} - -static ClusterStmt * -_copyClusterStmt(const ClusterStmt *from) -{ - ClusterStmt *newnode = makeNode(ClusterStmt); - - COPY_NODE_FIELD(relation); - COPY_STRING_FIELD(indexname); - COPY_NODE_FIELD(params); - - return newnode; -} - -static CopyStmt * -_copyCopyStmt(const CopyStmt *from) -{ - CopyStmt *newnode = makeNode(CopyStmt); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(query); - COPY_NODE_FIELD(attlist); - COPY_SCALAR_FIELD(is_from); - COPY_SCALAR_FIELD(is_program); - COPY_STRING_FIELD(filename); - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(whereClause); - - return newnode; -} - -/* - * CopyCreateStmtFields - * - * This function copies the fields of the CreateStmt node. It is used by - * copy functions for classes which inherit from CreateStmt. - */ -static void -CopyCreateStmtFields(const CreateStmt *from, CreateStmt *newnode) -{ - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(tableElts); - COPY_NODE_FIELD(inhRelations); - COPY_NODE_FIELD(partspec); - COPY_NODE_FIELD(partbound); - COPY_NODE_FIELD(ofTypename); - COPY_NODE_FIELD(constraints); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(oncommit); - COPY_STRING_FIELD(tablespacename); - COPY_STRING_FIELD(accessMethod); - COPY_SCALAR_FIELD(if_not_exists); -} - -static CreateStmt * -_copyCreateStmt(const CreateStmt *from) -{ - CreateStmt *newnode = makeNode(CreateStmt); - - CopyCreateStmtFields(from, newnode); - - return newnode; -} - -static TableLikeClause * -_copyTableLikeClause(const TableLikeClause *from) -{ - TableLikeClause *newnode = makeNode(TableLikeClause); - - COPY_NODE_FIELD(relation); - COPY_SCALAR_FIELD(options); - COPY_SCALAR_FIELD(relationOid); - - return newnode; -} - -static DefineStmt * -_copyDefineStmt(const DefineStmt *from) -{ - DefineStmt *newnode = makeNode(DefineStmt); - - COPY_SCALAR_FIELD(kind); - COPY_SCALAR_FIELD(oldstyle); - COPY_NODE_FIELD(defnames); - COPY_NODE_FIELD(args); - COPY_NODE_FIELD(definition); - COPY_SCALAR_FIELD(if_not_exists); - COPY_SCALAR_FIELD(replace); - - return newnode; -} - -static DropStmt * -_copyDropStmt(const DropStmt *from) -{ - DropStmt *newnode = makeNode(DropStmt); - - COPY_NODE_FIELD(objects); - COPY_SCALAR_FIELD(removeType); - COPY_SCALAR_FIELD(behavior); - COPY_SCALAR_FIELD(missing_ok); - COPY_SCALAR_FIELD(concurrent); - - return newnode; -} - -static TruncateStmt * -_copyTruncateStmt(const TruncateStmt *from) -{ - TruncateStmt *newnode = makeNode(TruncateStmt); - - COPY_NODE_FIELD(relations); - COPY_SCALAR_FIELD(restart_seqs); - COPY_SCALAR_FIELD(behavior); - - return newnode; -} - -static CommentStmt * -_copyCommentStmt(const CommentStmt *from) -{ - CommentStmt *newnode = makeNode(CommentStmt); - - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(object); - COPY_STRING_FIELD(comment); - - return newnode; -} - -static SecLabelStmt * -_copySecLabelStmt(const SecLabelStmt *from) -{ - SecLabelStmt *newnode = makeNode(SecLabelStmt); - - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(object); - COPY_STRING_FIELD(provider); - COPY_STRING_FIELD(label); - - return newnode; -} - -static FetchStmt * -_copyFetchStmt(const FetchStmt *from) -{ - FetchStmt *newnode = makeNode(FetchStmt); - - COPY_SCALAR_FIELD(direction); - COPY_SCALAR_FIELD(howMany); - COPY_STRING_FIELD(portalname); - COPY_SCALAR_FIELD(ismove); - - return newnode; -} - -static IndexStmt * -_copyIndexStmt(const IndexStmt *from) -{ - IndexStmt *newnode = makeNode(IndexStmt); - - COPY_STRING_FIELD(idxname); - COPY_NODE_FIELD(relation); - COPY_STRING_FIELD(accessMethod); - COPY_STRING_FIELD(tableSpace); - COPY_NODE_FIELD(indexParams); - COPY_NODE_FIELD(indexIncludingParams); - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(whereClause); - COPY_NODE_FIELD(excludeOpNames); - COPY_STRING_FIELD(idxcomment); - COPY_SCALAR_FIELD(indexOid); - COPY_SCALAR_FIELD(oldNode); - COPY_SCALAR_FIELD(oldCreateSubid); - COPY_SCALAR_FIELD(oldFirstRelfilenodeSubid); - COPY_SCALAR_FIELD(unique); - COPY_SCALAR_FIELD(nulls_not_distinct); - COPY_SCALAR_FIELD(primary); - COPY_SCALAR_FIELD(isconstraint); - COPY_SCALAR_FIELD(deferrable); - COPY_SCALAR_FIELD(initdeferred); - COPY_SCALAR_FIELD(transformed); - COPY_SCALAR_FIELD(concurrent); - COPY_SCALAR_FIELD(if_not_exists); - COPY_SCALAR_FIELD(reset_default_tblspc); - - return newnode; -} - -static CreateStatsStmt * -_copyCreateStatsStmt(const CreateStatsStmt *from) -{ - CreateStatsStmt *newnode = makeNode(CreateStatsStmt); - - COPY_NODE_FIELD(defnames); - COPY_NODE_FIELD(stat_types); - COPY_NODE_FIELD(exprs); - COPY_NODE_FIELD(relations); - COPY_STRING_FIELD(stxcomment); - COPY_SCALAR_FIELD(transformed); - COPY_SCALAR_FIELD(if_not_exists); - - return newnode; -} - -static AlterStatsStmt * -_copyAlterStatsStmt(const AlterStatsStmt *from) -{ - AlterStatsStmt *newnode = makeNode(AlterStatsStmt); - - COPY_NODE_FIELD(defnames); - COPY_SCALAR_FIELD(stxstattarget); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static CreateFunctionStmt * -_copyCreateFunctionStmt(const CreateFunctionStmt *from) -{ - CreateFunctionStmt *newnode = makeNode(CreateFunctionStmt); - - COPY_SCALAR_FIELD(is_procedure); - COPY_SCALAR_FIELD(replace); - COPY_NODE_FIELD(funcname); - COPY_NODE_FIELD(parameters); - COPY_NODE_FIELD(returnType); - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(sql_body); - - return newnode; -} - -static FunctionParameter * -_copyFunctionParameter(const FunctionParameter *from) -{ - FunctionParameter *newnode = makeNode(FunctionParameter); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(argType); - COPY_SCALAR_FIELD(mode); - COPY_NODE_FIELD(defexpr); - - return newnode; -} - -static AlterFunctionStmt * -_copyAlterFunctionStmt(const AlterFunctionStmt *from) -{ - AlterFunctionStmt *newnode = makeNode(AlterFunctionStmt); - - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(func); - COPY_NODE_FIELD(actions); - - return newnode; -} - -static DoStmt * -_copyDoStmt(const DoStmt *from) -{ - DoStmt *newnode = makeNode(DoStmt); - - COPY_NODE_FIELD(args); - - return newnode; -} - -static RenameStmt * -_copyRenameStmt(const RenameStmt *from) -{ - RenameStmt *newnode = makeNode(RenameStmt); - - COPY_SCALAR_FIELD(renameType); - COPY_SCALAR_FIELD(relationType); - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(object); - COPY_STRING_FIELD(subname); - COPY_STRING_FIELD(newname); - COPY_SCALAR_FIELD(behavior); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static AlterObjectDependsStmt * -_copyAlterObjectDependsStmt(const AlterObjectDependsStmt *from) -{ - AlterObjectDependsStmt *newnode = makeNode(AlterObjectDependsStmt); - - COPY_SCALAR_FIELD(objectType); - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(object); - COPY_NODE_FIELD(extname); - COPY_SCALAR_FIELD(remove); - - return newnode; -} - -static AlterObjectSchemaStmt * -_copyAlterObjectSchemaStmt(const AlterObjectSchemaStmt *from) -{ - AlterObjectSchemaStmt *newnode = makeNode(AlterObjectSchemaStmt); - - COPY_SCALAR_FIELD(objectType); - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(object); - COPY_STRING_FIELD(newschema); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static AlterOwnerStmt * -_copyAlterOwnerStmt(const AlterOwnerStmt *from) -{ - AlterOwnerStmt *newnode = makeNode(AlterOwnerStmt); - - COPY_SCALAR_FIELD(objectType); - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(object); - COPY_NODE_FIELD(newowner); - - return newnode; -} - -static AlterOperatorStmt * -_copyAlterOperatorStmt(const AlterOperatorStmt *from) -{ - AlterOperatorStmt *newnode = makeNode(AlterOperatorStmt); - - COPY_NODE_FIELD(opername); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterTypeStmt * -_copyAlterTypeStmt(const AlterTypeStmt *from) -{ - AlterTypeStmt *newnode = makeNode(AlterTypeStmt); - - COPY_NODE_FIELD(typeName); - COPY_NODE_FIELD(options); - - return newnode; -} - -static RuleStmt * -_copyRuleStmt(const RuleStmt *from) -{ - RuleStmt *newnode = makeNode(RuleStmt); - - COPY_NODE_FIELD(relation); - COPY_STRING_FIELD(rulename); - COPY_NODE_FIELD(whereClause); - COPY_SCALAR_FIELD(event); - COPY_SCALAR_FIELD(instead); - COPY_NODE_FIELD(actions); - COPY_SCALAR_FIELD(replace); - - return newnode; -} - -static NotifyStmt * -_copyNotifyStmt(const NotifyStmt *from) -{ - NotifyStmt *newnode = makeNode(NotifyStmt); - - COPY_STRING_FIELD(conditionname); - COPY_STRING_FIELD(payload); - - return newnode; -} - -static ListenStmt * -_copyListenStmt(const ListenStmt *from) -{ - ListenStmt *newnode = makeNode(ListenStmt); - - COPY_STRING_FIELD(conditionname); - - return newnode; -} - -static UnlistenStmt * -_copyUnlistenStmt(const UnlistenStmt *from) -{ - UnlistenStmt *newnode = makeNode(UnlistenStmt); - - COPY_STRING_FIELD(conditionname); - - return newnode; -} - -static TransactionStmt * -_copyTransactionStmt(const TransactionStmt *from) -{ - TransactionStmt *newnode = makeNode(TransactionStmt); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(options); - COPY_STRING_FIELD(savepoint_name); - COPY_STRING_FIELD(gid); - COPY_SCALAR_FIELD(chain); - - return newnode; -} - -static CompositeTypeStmt * -_copyCompositeTypeStmt(const CompositeTypeStmt *from) -{ - CompositeTypeStmt *newnode = makeNode(CompositeTypeStmt); - - COPY_NODE_FIELD(typevar); - COPY_NODE_FIELD(coldeflist); - - return newnode; -} - -static CreateEnumStmt * -_copyCreateEnumStmt(const CreateEnumStmt *from) -{ - CreateEnumStmt *newnode = makeNode(CreateEnumStmt); - - COPY_NODE_FIELD(typeName); - COPY_NODE_FIELD(vals); - - return newnode; -} - -static CreateRangeStmt * -_copyCreateRangeStmt(const CreateRangeStmt *from) -{ - CreateRangeStmt *newnode = makeNode(CreateRangeStmt); - - COPY_NODE_FIELD(typeName); - COPY_NODE_FIELD(params); - - return newnode; -} - -static AlterEnumStmt * -_copyAlterEnumStmt(const AlterEnumStmt *from) -{ - AlterEnumStmt *newnode = makeNode(AlterEnumStmt); - - COPY_NODE_FIELD(typeName); - COPY_STRING_FIELD(oldVal); - COPY_STRING_FIELD(newVal); - COPY_STRING_FIELD(newValNeighbor); - COPY_SCALAR_FIELD(newValIsAfter); - COPY_SCALAR_FIELD(skipIfNewValExists); - - return newnode; -} - -static ViewStmt * -_copyViewStmt(const ViewStmt *from) -{ - ViewStmt *newnode = makeNode(ViewStmt); - - COPY_NODE_FIELD(view); - COPY_NODE_FIELD(aliases); - COPY_NODE_FIELD(query); - COPY_SCALAR_FIELD(replace); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(withCheckOption); - - return newnode; -} - -static LoadStmt * -_copyLoadStmt(const LoadStmt *from) -{ - LoadStmt *newnode = makeNode(LoadStmt); - - COPY_STRING_FIELD(filename); - - return newnode; -} - -static CreateDomainStmt * -_copyCreateDomainStmt(const CreateDomainStmt *from) -{ - CreateDomainStmt *newnode = makeNode(CreateDomainStmt); - - COPY_NODE_FIELD(domainname); - COPY_NODE_FIELD(typeName); - COPY_NODE_FIELD(collClause); - COPY_NODE_FIELD(constraints); - - return newnode; -} - -static CreateOpClassStmt * -_copyCreateOpClassStmt(const CreateOpClassStmt *from) -{ - CreateOpClassStmt *newnode = makeNode(CreateOpClassStmt); - - COPY_NODE_FIELD(opclassname); - COPY_NODE_FIELD(opfamilyname); - COPY_STRING_FIELD(amname); - COPY_NODE_FIELD(datatype); - COPY_NODE_FIELD(items); - COPY_SCALAR_FIELD(isDefault); - - return newnode; -} - -static CreateOpClassItem * -_copyCreateOpClassItem(const CreateOpClassItem *from) -{ - CreateOpClassItem *newnode = makeNode(CreateOpClassItem); - - COPY_SCALAR_FIELD(itemtype); - COPY_NODE_FIELD(name); - COPY_SCALAR_FIELD(number); - COPY_NODE_FIELD(order_family); - COPY_NODE_FIELD(class_args); - COPY_NODE_FIELD(storedtype); - - return newnode; -} - -static CreateOpFamilyStmt * -_copyCreateOpFamilyStmt(const CreateOpFamilyStmt *from) -{ - CreateOpFamilyStmt *newnode = makeNode(CreateOpFamilyStmt); - - COPY_NODE_FIELD(opfamilyname); - COPY_STRING_FIELD(amname); - - return newnode; -} - -static AlterOpFamilyStmt * -_copyAlterOpFamilyStmt(const AlterOpFamilyStmt *from) -{ - AlterOpFamilyStmt *newnode = makeNode(AlterOpFamilyStmt); - - COPY_NODE_FIELD(opfamilyname); - COPY_STRING_FIELD(amname); - COPY_SCALAR_FIELD(isDrop); - COPY_NODE_FIELD(items); - - return newnode; -} - -static CreatedbStmt * -_copyCreatedbStmt(const CreatedbStmt *from) -{ - CreatedbStmt *newnode = makeNode(CreatedbStmt); - - COPY_STRING_FIELD(dbname); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterDatabaseStmt * -_copyAlterDatabaseStmt(const AlterDatabaseStmt *from) -{ - AlterDatabaseStmt *newnode = makeNode(AlterDatabaseStmt); - - COPY_STRING_FIELD(dbname); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterDatabaseRefreshCollStmt * -_copyAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *from) -{ - AlterDatabaseRefreshCollStmt *newnode = makeNode(AlterDatabaseRefreshCollStmt); - - COPY_STRING_FIELD(dbname); - - return newnode; -} - -static AlterDatabaseSetStmt * -_copyAlterDatabaseSetStmt(const AlterDatabaseSetStmt *from) -{ - AlterDatabaseSetStmt *newnode = makeNode(AlterDatabaseSetStmt); - - COPY_STRING_FIELD(dbname); - COPY_NODE_FIELD(setstmt); - - return newnode; -} - -static DropdbStmt * -_copyDropdbStmt(const DropdbStmt *from) -{ - DropdbStmt *newnode = makeNode(DropdbStmt); - - COPY_STRING_FIELD(dbname); - COPY_SCALAR_FIELD(missing_ok); - COPY_NODE_FIELD(options); - - return newnode; -} - -static VacuumStmt * -_copyVacuumStmt(const VacuumStmt *from) -{ - VacuumStmt *newnode = makeNode(VacuumStmt); - - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(rels); - COPY_SCALAR_FIELD(is_vacuumcmd); - - return newnode; -} - -static VacuumRelation * -_copyVacuumRelation(const VacuumRelation *from) -{ - VacuumRelation *newnode = makeNode(VacuumRelation); - - COPY_NODE_FIELD(relation); - COPY_SCALAR_FIELD(oid); - COPY_NODE_FIELD(va_cols); - - return newnode; -} - -static ExplainStmt * -_copyExplainStmt(const ExplainStmt *from) -{ - ExplainStmt *newnode = makeNode(ExplainStmt); - - COPY_NODE_FIELD(query); - COPY_NODE_FIELD(options); - - return newnode; -} - -static CreateTableAsStmt * -_copyCreateTableAsStmt(const CreateTableAsStmt *from) -{ - CreateTableAsStmt *newnode = makeNode(CreateTableAsStmt); - - COPY_NODE_FIELD(query); - COPY_NODE_FIELD(into); - COPY_SCALAR_FIELD(objtype); - COPY_SCALAR_FIELD(is_select_into); - COPY_SCALAR_FIELD(if_not_exists); - - return newnode; -} - -static RefreshMatViewStmt * -_copyRefreshMatViewStmt(const RefreshMatViewStmt *from) -{ - RefreshMatViewStmt *newnode = makeNode(RefreshMatViewStmt); - - COPY_SCALAR_FIELD(concurrent); - COPY_SCALAR_FIELD(skipData); - COPY_NODE_FIELD(relation); - - return newnode; -} - -static ReplicaIdentityStmt * -_copyReplicaIdentityStmt(const ReplicaIdentityStmt *from) -{ - ReplicaIdentityStmt *newnode = makeNode(ReplicaIdentityStmt); - - COPY_SCALAR_FIELD(identity_type); - COPY_STRING_FIELD(name); - - return newnode; -} - -static AlterSystemStmt * -_copyAlterSystemStmt(const AlterSystemStmt *from) -{ - AlterSystemStmt *newnode = makeNode(AlterSystemStmt); - - COPY_NODE_FIELD(setstmt); - - return newnode; -} - -static CreateSeqStmt * -_copyCreateSeqStmt(const CreateSeqStmt *from) -{ - CreateSeqStmt *newnode = makeNode(CreateSeqStmt); - - COPY_NODE_FIELD(sequence); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(ownerId); - COPY_SCALAR_FIELD(for_identity); - COPY_SCALAR_FIELD(if_not_exists); - - return newnode; -} - -static AlterSeqStmt * -_copyAlterSeqStmt(const AlterSeqStmt *from) -{ - AlterSeqStmt *newnode = makeNode(AlterSeqStmt); - - COPY_NODE_FIELD(sequence); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(for_identity); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static VariableSetStmt * -_copyVariableSetStmt(const VariableSetStmt *from) -{ - VariableSetStmt *newnode = makeNode(VariableSetStmt); - - COPY_SCALAR_FIELD(kind); - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(args); - COPY_SCALAR_FIELD(is_local); - - return newnode; -} - -static VariableShowStmt * -_copyVariableShowStmt(const VariableShowStmt *from) -{ - VariableShowStmt *newnode = makeNode(VariableShowStmt); - - COPY_STRING_FIELD(name); - - return newnode; -} - -static DiscardStmt * -_copyDiscardStmt(const DiscardStmt *from) -{ - DiscardStmt *newnode = makeNode(DiscardStmt); - - COPY_SCALAR_FIELD(target); - - return newnode; -} - -static CreateTableSpaceStmt * -_copyCreateTableSpaceStmt(const CreateTableSpaceStmt *from) -{ - CreateTableSpaceStmt *newnode = makeNode(CreateTableSpaceStmt); - - COPY_STRING_FIELD(tablespacename); - COPY_NODE_FIELD(owner); - COPY_STRING_FIELD(location); - COPY_NODE_FIELD(options); - - return newnode; -} - -static DropTableSpaceStmt * -_copyDropTableSpaceStmt(const DropTableSpaceStmt *from) -{ - DropTableSpaceStmt *newnode = makeNode(DropTableSpaceStmt); - - COPY_STRING_FIELD(tablespacename); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static AlterTableSpaceOptionsStmt * -_copyAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *from) -{ - AlterTableSpaceOptionsStmt *newnode = makeNode(AlterTableSpaceOptionsStmt); - - COPY_STRING_FIELD(tablespacename); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(isReset); - - return newnode; -} - -static AlterTableMoveAllStmt * -_copyAlterTableMoveAllStmt(const AlterTableMoveAllStmt *from) -{ - AlterTableMoveAllStmt *newnode = makeNode(AlterTableMoveAllStmt); - - COPY_STRING_FIELD(orig_tablespacename); - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(roles); - COPY_STRING_FIELD(new_tablespacename); - COPY_SCALAR_FIELD(nowait); - - return newnode; -} - -static CreateExtensionStmt * -_copyCreateExtensionStmt(const CreateExtensionStmt *from) -{ - CreateExtensionStmt *newnode = makeNode(CreateExtensionStmt); - - COPY_STRING_FIELD(extname); - COPY_SCALAR_FIELD(if_not_exists); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterExtensionStmt * -_copyAlterExtensionStmt(const AlterExtensionStmt *from) -{ - AlterExtensionStmt *newnode = makeNode(AlterExtensionStmt); - - COPY_STRING_FIELD(extname); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterExtensionContentsStmt * -_copyAlterExtensionContentsStmt(const AlterExtensionContentsStmt *from) -{ - AlterExtensionContentsStmt *newnode = makeNode(AlterExtensionContentsStmt); - - COPY_STRING_FIELD(extname); - COPY_SCALAR_FIELD(action); - COPY_SCALAR_FIELD(objtype); - COPY_NODE_FIELD(object); - - return newnode; -} - -static CreateFdwStmt * -_copyCreateFdwStmt(const CreateFdwStmt *from) -{ - CreateFdwStmt *newnode = makeNode(CreateFdwStmt); - - COPY_STRING_FIELD(fdwname); - COPY_NODE_FIELD(func_options); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterFdwStmt * -_copyAlterFdwStmt(const AlterFdwStmt *from) -{ - AlterFdwStmt *newnode = makeNode(AlterFdwStmt); - - COPY_STRING_FIELD(fdwname); - COPY_NODE_FIELD(func_options); - COPY_NODE_FIELD(options); - - return newnode; -} - -static CreateForeignServerStmt * -_copyCreateForeignServerStmt(const CreateForeignServerStmt *from) -{ - CreateForeignServerStmt *newnode = makeNode(CreateForeignServerStmt); - - COPY_STRING_FIELD(servername); - COPY_STRING_FIELD(servertype); - COPY_STRING_FIELD(version); - COPY_STRING_FIELD(fdwname); - COPY_SCALAR_FIELD(if_not_exists); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterForeignServerStmt * -_copyAlterForeignServerStmt(const AlterForeignServerStmt *from) -{ - AlterForeignServerStmt *newnode = makeNode(AlterForeignServerStmt); - - COPY_STRING_FIELD(servername); - COPY_STRING_FIELD(version); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(has_version); - - return newnode; -} - -static CreateUserMappingStmt * -_copyCreateUserMappingStmt(const CreateUserMappingStmt *from) -{ - CreateUserMappingStmt *newnode = makeNode(CreateUserMappingStmt); - - COPY_NODE_FIELD(user); - COPY_STRING_FIELD(servername); - COPY_SCALAR_FIELD(if_not_exists); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterUserMappingStmt * -_copyAlterUserMappingStmt(const AlterUserMappingStmt *from) -{ - AlterUserMappingStmt *newnode = makeNode(AlterUserMappingStmt); - - COPY_NODE_FIELD(user); - COPY_STRING_FIELD(servername); - COPY_NODE_FIELD(options); - - return newnode; -} - -static DropUserMappingStmt * -_copyDropUserMappingStmt(const DropUserMappingStmt *from) -{ - DropUserMappingStmt *newnode = makeNode(DropUserMappingStmt); - - COPY_NODE_FIELD(user); - COPY_STRING_FIELD(servername); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static CreateForeignTableStmt * -_copyCreateForeignTableStmt(const CreateForeignTableStmt *from) -{ - CreateForeignTableStmt *newnode = makeNode(CreateForeignTableStmt); - - CopyCreateStmtFields((const CreateStmt *) from, (CreateStmt *) newnode); - - COPY_STRING_FIELD(servername); - COPY_NODE_FIELD(options); - - return newnode; -} - -static ImportForeignSchemaStmt * -_copyImportForeignSchemaStmt(const ImportForeignSchemaStmt *from) -{ - ImportForeignSchemaStmt *newnode = makeNode(ImportForeignSchemaStmt); - - COPY_STRING_FIELD(server_name); - COPY_STRING_FIELD(remote_schema); - COPY_STRING_FIELD(local_schema); - COPY_SCALAR_FIELD(list_type); - COPY_NODE_FIELD(table_list); - COPY_NODE_FIELD(options); - - return newnode; -} - -static CreateTransformStmt * -_copyCreateTransformStmt(const CreateTransformStmt *from) -{ - CreateTransformStmt *newnode = makeNode(CreateTransformStmt); - - COPY_SCALAR_FIELD(replace); - COPY_NODE_FIELD(type_name); - COPY_STRING_FIELD(lang); - COPY_NODE_FIELD(fromsql); - COPY_NODE_FIELD(tosql); - - return newnode; -} - -static CreateAmStmt * -_copyCreateAmStmt(const CreateAmStmt *from) -{ - CreateAmStmt *newnode = makeNode(CreateAmStmt); - - COPY_STRING_FIELD(amname); - COPY_NODE_FIELD(handler_name); - COPY_SCALAR_FIELD(amtype); - - return newnode; -} - -static CreateTrigStmt * -_copyCreateTrigStmt(const CreateTrigStmt *from) -{ - CreateTrigStmt *newnode = makeNode(CreateTrigStmt); - - COPY_SCALAR_FIELD(replace); - COPY_SCALAR_FIELD(isconstraint); - COPY_STRING_FIELD(trigname); - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(funcname); - COPY_NODE_FIELD(args); - COPY_SCALAR_FIELD(row); - COPY_SCALAR_FIELD(timing); - COPY_SCALAR_FIELD(events); - COPY_NODE_FIELD(columns); - COPY_NODE_FIELD(whenClause); - COPY_NODE_FIELD(transitionRels); - COPY_SCALAR_FIELD(deferrable); - COPY_SCALAR_FIELD(initdeferred); - COPY_NODE_FIELD(constrrel); - - return newnode; -} - -static CreateEventTrigStmt * -_copyCreateEventTrigStmt(const CreateEventTrigStmt *from) -{ - CreateEventTrigStmt *newnode = makeNode(CreateEventTrigStmt); - - COPY_STRING_FIELD(trigname); - COPY_STRING_FIELD(eventname); - COPY_NODE_FIELD(whenclause); - COPY_NODE_FIELD(funcname); - - return newnode; -} - -static AlterEventTrigStmt * -_copyAlterEventTrigStmt(const AlterEventTrigStmt *from) -{ - AlterEventTrigStmt *newnode = makeNode(AlterEventTrigStmt); - - COPY_STRING_FIELD(trigname); - COPY_SCALAR_FIELD(tgenabled); - - return newnode; -} - -static CreatePLangStmt * -_copyCreatePLangStmt(const CreatePLangStmt *from) -{ - CreatePLangStmt *newnode = makeNode(CreatePLangStmt); - - COPY_SCALAR_FIELD(replace); - COPY_STRING_FIELD(plname); - COPY_NODE_FIELD(plhandler); - COPY_NODE_FIELD(plinline); - COPY_NODE_FIELD(plvalidator); - COPY_SCALAR_FIELD(pltrusted); - - return newnode; -} - -static CreateRoleStmt * -_copyCreateRoleStmt(const CreateRoleStmt *from) -{ - CreateRoleStmt *newnode = makeNode(CreateRoleStmt); - - COPY_SCALAR_FIELD(stmt_type); - COPY_STRING_FIELD(role); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterRoleStmt * -_copyAlterRoleStmt(const AlterRoleStmt *from) -{ - AlterRoleStmt *newnode = makeNode(AlterRoleStmt); - - COPY_NODE_FIELD(role); - COPY_NODE_FIELD(options); - COPY_SCALAR_FIELD(action); - - return newnode; -} - -static AlterRoleSetStmt * -_copyAlterRoleSetStmt(const AlterRoleSetStmt *from) -{ - AlterRoleSetStmt *newnode = makeNode(AlterRoleSetStmt); - - COPY_NODE_FIELD(role); - COPY_STRING_FIELD(database); - COPY_NODE_FIELD(setstmt); - - return newnode; -} - -static DropRoleStmt * -_copyDropRoleStmt(const DropRoleStmt *from) -{ - DropRoleStmt *newnode = makeNode(DropRoleStmt); - - COPY_NODE_FIELD(roles); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static LockStmt * -_copyLockStmt(const LockStmt *from) -{ - LockStmt *newnode = makeNode(LockStmt); - - COPY_NODE_FIELD(relations); - COPY_SCALAR_FIELD(mode); - COPY_SCALAR_FIELD(nowait); - - return newnode; -} - -static ConstraintsSetStmt * -_copyConstraintsSetStmt(const ConstraintsSetStmt *from) -{ - ConstraintsSetStmt *newnode = makeNode(ConstraintsSetStmt); - - COPY_NODE_FIELD(constraints); - COPY_SCALAR_FIELD(deferred); - - return newnode; -} - -static ReindexStmt * -_copyReindexStmt(const ReindexStmt *from) -{ - ReindexStmt *newnode = makeNode(ReindexStmt); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(relation); - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(params); - - return newnode; -} - -static CreateSchemaStmt * -_copyCreateSchemaStmt(const CreateSchemaStmt *from) -{ - CreateSchemaStmt *newnode = makeNode(CreateSchemaStmt); - - COPY_STRING_FIELD(schemaname); - COPY_NODE_FIELD(authrole); - COPY_NODE_FIELD(schemaElts); - COPY_SCALAR_FIELD(if_not_exists); - - return newnode; -} - -static CreateConversionStmt * -_copyCreateConversionStmt(const CreateConversionStmt *from) -{ - CreateConversionStmt *newnode = makeNode(CreateConversionStmt); - - COPY_NODE_FIELD(conversion_name); - COPY_STRING_FIELD(for_encoding_name); - COPY_STRING_FIELD(to_encoding_name); - COPY_NODE_FIELD(func_name); - COPY_SCALAR_FIELD(def); - - return newnode; -} - -static CreateCastStmt * -_copyCreateCastStmt(const CreateCastStmt *from) -{ - CreateCastStmt *newnode = makeNode(CreateCastStmt); - - COPY_NODE_FIELD(sourcetype); - COPY_NODE_FIELD(targettype); - COPY_NODE_FIELD(func); - COPY_SCALAR_FIELD(context); - COPY_SCALAR_FIELD(inout); - - return newnode; -} - -static PrepareStmt * -_copyPrepareStmt(const PrepareStmt *from) -{ - PrepareStmt *newnode = makeNode(PrepareStmt); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(argtypes); - COPY_NODE_FIELD(query); - - return newnode; -} - -static ExecuteStmt * -_copyExecuteStmt(const ExecuteStmt *from) -{ - ExecuteStmt *newnode = makeNode(ExecuteStmt); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(params); - - return newnode; -} - -static DeallocateStmt * -_copyDeallocateStmt(const DeallocateStmt *from) -{ - DeallocateStmt *newnode = makeNode(DeallocateStmt); - - COPY_STRING_FIELD(name); - - return newnode; -} - -static DropOwnedStmt * -_copyDropOwnedStmt(const DropOwnedStmt *from) -{ - DropOwnedStmt *newnode = makeNode(DropOwnedStmt); - - COPY_NODE_FIELD(roles); - COPY_SCALAR_FIELD(behavior); - - return newnode; -} - -static ReassignOwnedStmt * -_copyReassignOwnedStmt(const ReassignOwnedStmt *from) -{ - ReassignOwnedStmt *newnode = makeNode(ReassignOwnedStmt); - - COPY_NODE_FIELD(roles); - COPY_NODE_FIELD(newrole); - - return newnode; -} - -static AlterTSDictionaryStmt * -_copyAlterTSDictionaryStmt(const AlterTSDictionaryStmt *from) -{ - AlterTSDictionaryStmt *newnode = makeNode(AlterTSDictionaryStmt); - - COPY_NODE_FIELD(dictname); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterTSConfigurationStmt * -_copyAlterTSConfigurationStmt(const AlterTSConfigurationStmt *from) -{ - AlterTSConfigurationStmt *newnode = makeNode(AlterTSConfigurationStmt); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(cfgname); - COPY_NODE_FIELD(tokentype); - COPY_NODE_FIELD(dicts); - COPY_SCALAR_FIELD(override); - COPY_SCALAR_FIELD(replace); - COPY_SCALAR_FIELD(missing_ok); - - return newnode; -} - -static CreatePolicyStmt * -_copyCreatePolicyStmt(const CreatePolicyStmt *from) -{ - CreatePolicyStmt *newnode = makeNode(CreatePolicyStmt); - - COPY_STRING_FIELD(policy_name); - COPY_NODE_FIELD(table); - COPY_STRING_FIELD(cmd_name); - COPY_SCALAR_FIELD(permissive); - COPY_NODE_FIELD(roles); - COPY_NODE_FIELD(qual); - COPY_NODE_FIELD(with_check); - - return newnode; -} - -static AlterPolicyStmt * -_copyAlterPolicyStmt(const AlterPolicyStmt *from) -{ - AlterPolicyStmt *newnode = makeNode(AlterPolicyStmt); - - COPY_STRING_FIELD(policy_name); - COPY_NODE_FIELD(table); - COPY_NODE_FIELD(roles); - COPY_NODE_FIELD(qual); - COPY_NODE_FIELD(with_check); - - return newnode; -} - -static PartitionElem * -_copyPartitionElem(const PartitionElem *from) -{ - PartitionElem *newnode = makeNode(PartitionElem); - - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(expr); - COPY_NODE_FIELD(collation); - COPY_NODE_FIELD(opclass); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static PartitionSpec * -_copyPartitionSpec(const PartitionSpec *from) -{ - PartitionSpec *newnode = makeNode(PartitionSpec); - - COPY_STRING_FIELD(strategy); - COPY_NODE_FIELD(partParams); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static PartitionBoundSpec * -_copyPartitionBoundSpec(const PartitionBoundSpec *from) -{ - PartitionBoundSpec *newnode = makeNode(PartitionBoundSpec); - - COPY_SCALAR_FIELD(strategy); - COPY_SCALAR_FIELD(is_default); - COPY_SCALAR_FIELD(modulus); - COPY_SCALAR_FIELD(remainder); - COPY_NODE_FIELD(listdatums); - COPY_NODE_FIELD(lowerdatums); - COPY_NODE_FIELD(upperdatums); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static PartitionRangeDatum * -_copyPartitionRangeDatum(const PartitionRangeDatum *from) -{ - PartitionRangeDatum *newnode = makeNode(PartitionRangeDatum); - - COPY_SCALAR_FIELD(kind); - COPY_NODE_FIELD(value); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static PartitionCmd * -_copyPartitionCmd(const PartitionCmd *from) -{ - PartitionCmd *newnode = makeNode(PartitionCmd); - - COPY_NODE_FIELD(name); - COPY_NODE_FIELD(bound); - COPY_SCALAR_FIELD(concurrent); - - return newnode; -} - -static PublicationObjSpec * -_copyPublicationObject(const PublicationObjSpec *from) -{ - PublicationObjSpec *newnode = makeNode(PublicationObjSpec); - - COPY_SCALAR_FIELD(pubobjtype); - COPY_STRING_FIELD(name); - COPY_NODE_FIELD(pubtable); - COPY_LOCATION_FIELD(location); - - return newnode; -} - -static PublicationTable * -_copyPublicationTable(const PublicationTable *from) -{ - PublicationTable *newnode = makeNode(PublicationTable); - - COPY_NODE_FIELD(relation); - COPY_NODE_FIELD(whereClause); - COPY_NODE_FIELD(columns); - - return newnode; -} - -static CreatePublicationStmt * -_copyCreatePublicationStmt(const CreatePublicationStmt *from) -{ - CreatePublicationStmt *newnode = makeNode(CreatePublicationStmt); - - COPY_STRING_FIELD(pubname); - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(pubobjects); - COPY_SCALAR_FIELD(for_all_tables); - - return newnode; -} - -static AlterPublicationStmt * -_copyAlterPublicationStmt(const AlterPublicationStmt *from) -{ - AlterPublicationStmt *newnode = makeNode(AlterPublicationStmt); - - COPY_STRING_FIELD(pubname); - COPY_NODE_FIELD(options); - COPY_NODE_FIELD(pubobjects); - COPY_SCALAR_FIELD(for_all_tables); - COPY_SCALAR_FIELD(action); - - return newnode; -} - -static CreateSubscriptionStmt * -_copyCreateSubscriptionStmt(const CreateSubscriptionStmt *from) -{ - CreateSubscriptionStmt *newnode = makeNode(CreateSubscriptionStmt); - - COPY_STRING_FIELD(subname); - COPY_STRING_FIELD(conninfo); - COPY_NODE_FIELD(publication); - COPY_NODE_FIELD(options); - - return newnode; -} - -static AlterSubscriptionStmt * -_copyAlterSubscriptionStmt(const AlterSubscriptionStmt *from) -{ - AlterSubscriptionStmt *newnode = makeNode(AlterSubscriptionStmt); - - COPY_SCALAR_FIELD(kind); - COPY_STRING_FIELD(subname); - COPY_STRING_FIELD(conninfo); - COPY_NODE_FIELD(publication); - COPY_NODE_FIELD(options); - - return newnode; -} - -static DropSubscriptionStmt * -_copyDropSubscriptionStmt(const DropSubscriptionStmt *from) -{ - DropSubscriptionStmt *newnode = makeNode(DropSubscriptionStmt); - - COPY_STRING_FIELD(subname); - COPY_SCALAR_FIELD(missing_ok); - COPY_SCALAR_FIELD(behavior); - - return newnode; -} - -/* **************************************************************** - * extensible.h copy functions - * **************************************************************** - */ -static ExtensibleNode * -_copyExtensibleNode(const ExtensibleNode *from) -{ - ExtensibleNode *newnode; - const ExtensibleNodeMethods *methods; - - methods = GetExtensibleNodeMethods(from->extnodename, false); - newnode = (ExtensibleNode *) newNode(methods->node_size, - T_ExtensibleNode); - COPY_STRING_FIELD(extnodename); - - /* copy the private fields */ - methods->nodeCopy(newnode, from); - - return newnode; -} - -/* **************************************************************** - * value.h copy functions - * **************************************************************** - */ -static Integer * -_copyInteger(const Integer *from) -{ - Integer *newnode = makeNode(Integer); - - COPY_SCALAR_FIELD(ival); - - return newnode; -} - -static Float * -_copyFloat(const Float *from) -{ - Float *newnode = makeNode(Float); - - COPY_STRING_FIELD(fval); - - return newnode; -} - -static Boolean * -_copyBoolean(const Boolean *from) -{ - Boolean *newnode = makeNode(Boolean); - - COPY_SCALAR_FIELD(boolval); - - return newnode; -} - -static String * -_copyString(const String *from) -{ - String *newnode = makeNode(String); - - COPY_STRING_FIELD(sval); - - return newnode; -} - -static BitString * -_copyBitString(const BitString *from) -{ - BitString *newnode = makeNode(BitString); - - COPY_STRING_FIELD(bsval); - - return newnode; -} - - -static ForeignKeyCacheInfo * -_copyForeignKeyCacheInfo(const ForeignKeyCacheInfo *from) -{ - ForeignKeyCacheInfo *newnode = makeNode(ForeignKeyCacheInfo); - - COPY_SCALAR_FIELD(conoid); - COPY_SCALAR_FIELD(conrelid); - COPY_SCALAR_FIELD(confrelid); - COPY_SCALAR_FIELD(nkeys); - COPY_ARRAY_FIELD(conkey); - COPY_ARRAY_FIELD(confkey); - COPY_ARRAY_FIELD(conpfeqop); - - return newnode; -} - -/* - * copyObjectImpl -- implementation of copyObject(); see nodes/nodes.h - * - * Create a copy of a Node tree or list. This is a "deep" copy: all - * substructure is copied too, recursively. - */ -void * -copyObjectImpl(const void *from) -{ - void *retval; - - if (from == NULL) - return NULL; - - /* Guard against stack overflow due to overly complex expressions */ - check_stack_depth(); - - switch (nodeTag(from)) - { - /* - * PLAN NODES - */ - case T_PlannedStmt: - retval = _copyPlannedStmt(from); - break; - case T_Plan: - retval = _copyPlan(from); - break; - case T_Result: - retval = _copyResult(from); - break; - case T_ProjectSet: - retval = _copyProjectSet(from); - break; - case T_ModifyTable: - retval = _copyModifyTable(from); - break; - case T_Append: - retval = _copyAppend(from); - break; - case T_MergeAppend: - retval = _copyMergeAppend(from); - break; - case T_RecursiveUnion: - retval = _copyRecursiveUnion(from); - break; - case T_BitmapAnd: - retval = _copyBitmapAnd(from); - break; - case T_BitmapOr: - retval = _copyBitmapOr(from); - break; - case T_Scan: - retval = _copyScan(from); - break; - case T_Gather: - retval = _copyGather(from); - break; - case T_GatherMerge: - retval = _copyGatherMerge(from); - break; - case T_SeqScan: - retval = _copySeqScan(from); - break; - case T_SampleScan: - retval = _copySampleScan(from); - break; - case T_IndexScan: - retval = _copyIndexScan(from); - break; - case T_IndexOnlyScan: - retval = _copyIndexOnlyScan(from); - break; - case T_BitmapIndexScan: - retval = _copyBitmapIndexScan(from); - break; - case T_BitmapHeapScan: - retval = _copyBitmapHeapScan(from); - break; - case T_TidScan: - retval = _copyTidScan(from); - break; - case T_TidRangeScan: - retval = _copyTidRangeScan(from); - break; - case T_SubqueryScan: - retval = _copySubqueryScan(from); - break; - case T_FunctionScan: - retval = _copyFunctionScan(from); - break; - case T_TableFuncScan: - retval = _copyTableFuncScan(from); - break; - case T_ValuesScan: - retval = _copyValuesScan(from); - break; - case T_CteScan: - retval = _copyCteScan(from); - break; - case T_NamedTuplestoreScan: - retval = _copyNamedTuplestoreScan(from); - break; - case T_WorkTableScan: - retval = _copyWorkTableScan(from); - break; - case T_ForeignScan: - retval = _copyForeignScan(from); - break; - case T_CustomScan: - retval = _copyCustomScan(from); - break; - case T_Join: - retval = _copyJoin(from); - break; - case T_NestLoop: - retval = _copyNestLoop(from); - break; - case T_MergeJoin: - retval = _copyMergeJoin(from); - break; - case T_HashJoin: - retval = _copyHashJoin(from); - break; - case T_Material: - retval = _copyMaterial(from); - break; - case T_Memoize: - retval = _copyMemoize(from); - break; - case T_Sort: - retval = _copySort(from); - break; - case T_IncrementalSort: - retval = _copyIncrementalSort(from); - break; - case T_Group: - retval = _copyGroup(from); - break; - case T_Agg: - retval = _copyAgg(from); - break; - case T_WindowAgg: - retval = _copyWindowAgg(from); - break; - case T_Unique: - retval = _copyUnique(from); - break; - case T_Hash: - retval = _copyHash(from); - break; - case T_SetOp: - retval = _copySetOp(from); - break; - case T_LockRows: - retval = _copyLockRows(from); - break; - case T_Limit: - retval = _copyLimit(from); - break; - case T_NestLoopParam: - retval = _copyNestLoopParam(from); - break; - case T_PlanRowMark: - retval = _copyPlanRowMark(from); - break; - case T_PartitionPruneInfo: - retval = _copyPartitionPruneInfo(from); - break; - case T_PartitionedRelPruneInfo: - retval = _copyPartitionedRelPruneInfo(from); - break; - case T_PartitionPruneStepOp: - retval = _copyPartitionPruneStepOp(from); - break; - case T_PartitionPruneStepCombine: - retval = _copyPartitionPruneStepCombine(from); - break; - case T_PlanInvalItem: - retval = _copyPlanInvalItem(from); - break; - - /* - * PRIMITIVE NODES - */ - case T_Alias: - retval = _copyAlias(from); - break; - case T_RangeVar: - retval = _copyRangeVar(from); - break; - case T_TableFunc: - retval = _copyTableFunc(from); - break; - case T_IntoClause: - retval = _copyIntoClause(from); - break; - case T_Var: - retval = _copyVar(from); - break; - case T_Const: - retval = _copyConst(from); - break; - case T_Param: - retval = _copyParam(from); - break; - case T_Aggref: - retval = _copyAggref(from); - break; - case T_GroupingFunc: - retval = _copyGroupingFunc(from); - break; - case T_WindowFunc: - retval = _copyWindowFunc(from); - break; - case T_SubscriptingRef: - retval = _copySubscriptingRef(from); - break; - case T_FuncExpr: - retval = _copyFuncExpr(from); - break; - case T_NamedArgExpr: - retval = _copyNamedArgExpr(from); - break; - case T_OpExpr: - retval = _copyOpExpr(from); - break; - case T_DistinctExpr: - retval = _copyDistinctExpr(from); - break; - case T_NullIfExpr: - retval = _copyNullIfExpr(from); - break; - case T_ScalarArrayOpExpr: - retval = _copyScalarArrayOpExpr(from); - break; - case T_BoolExpr: - retval = _copyBoolExpr(from); - break; - case T_SubLink: - retval = _copySubLink(from); - break; - case T_SubPlan: - retval = _copySubPlan(from); - break; - case T_AlternativeSubPlan: - retval = _copyAlternativeSubPlan(from); - break; - case T_FieldSelect: - retval = _copyFieldSelect(from); - break; - case T_FieldStore: - retval = _copyFieldStore(from); - break; - case T_RelabelType: - retval = _copyRelabelType(from); - break; - case T_CoerceViaIO: - retval = _copyCoerceViaIO(from); - break; - case T_ArrayCoerceExpr: - retval = _copyArrayCoerceExpr(from); - break; - case T_ConvertRowtypeExpr: - retval = _copyConvertRowtypeExpr(from); - break; - case T_CollateExpr: - retval = _copyCollateExpr(from); - break; - case T_CaseExpr: - retval = _copyCaseExpr(from); - break; - case T_CaseWhen: - retval = _copyCaseWhen(from); - break; - case T_CaseTestExpr: - retval = _copyCaseTestExpr(from); - break; - case T_ArrayExpr: - retval = _copyArrayExpr(from); - break; - case T_RowExpr: - retval = _copyRowExpr(from); - break; - case T_RowCompareExpr: - retval = _copyRowCompareExpr(from); - break; - case T_CoalesceExpr: - retval = _copyCoalesceExpr(from); - break; - case T_MinMaxExpr: - retval = _copyMinMaxExpr(from); - break; - case T_SQLValueFunction: - retval = _copySQLValueFunction(from); - break; - case T_XmlExpr: - retval = _copyXmlExpr(from); - break; - case T_NullTest: - retval = _copyNullTest(from); - break; - case T_BooleanTest: - retval = _copyBooleanTest(from); - break; - case T_CoerceToDomain: - retval = _copyCoerceToDomain(from); - break; - case T_CoerceToDomainValue: - retval = _copyCoerceToDomainValue(from); - break; - case T_SetToDefault: - retval = _copySetToDefault(from); - break; - case T_CurrentOfExpr: - retval = _copyCurrentOfExpr(from); - break; - case T_NextValueExpr: - retval = _copyNextValueExpr(from); - break; - case T_InferenceElem: - retval = _copyInferenceElem(from); - break; - case T_TargetEntry: - retval = _copyTargetEntry(from); - break; - case T_RangeTblRef: - retval = _copyRangeTblRef(from); - break; - case T_JoinExpr: - retval = _copyJoinExpr(from); - break; - case T_FromExpr: - retval = _copyFromExpr(from); - break; - case T_OnConflictExpr: - retval = _copyOnConflictExpr(from); - break; - - /* - * RELATION NODES - */ - case T_PathKey: - retval = _copyPathKey(from); - break; - case T_RestrictInfo: - retval = _copyRestrictInfo(from); - break; - case T_PlaceHolderVar: - retval = _copyPlaceHolderVar(from); - break; - case T_SpecialJoinInfo: - retval = _copySpecialJoinInfo(from); - break; - case T_AppendRelInfo: - retval = _copyAppendRelInfo(from); - break; - case T_PlaceHolderInfo: - retval = _copyPlaceHolderInfo(from); - break; - - /* - * VALUE NODES - */ - case T_Integer: - retval = _copyInteger(from); - break; - case T_Float: - retval = _copyFloat(from); - break; - case T_Boolean: - retval = _copyBoolean(from); - break; - case T_String: - retval = _copyString(from); - break; - case T_BitString: - retval = _copyBitString(from); - break; - - /* - * LIST NODES - */ - case T_List: - retval = list_copy_deep(from); - break; + case T_List: + retval = list_copy_deep(from); + break; /* - * Lists of integers and OIDs don't need to be deep-copied, so we - * perform a shallow copy via list_copy() + * Lists of integers, OIDs and XIDs don't need to be deep-copied, + * so we perform a shallow copy via list_copy() */ case T_IntList: case T_OidList: + case T_XidList: retval = list_copy(from); break; - /* - * EXTENSIBLE NODES - */ - case T_ExtensibleNode: - retval = _copyExtensibleNode(from); - break; - - /* - * PARSE NODES - */ - case T_Query: - retval = _copyQuery(from); - break; - case T_RawStmt: - retval = _copyRawStmt(from); - break; - case T_InsertStmt: - retval = _copyInsertStmt(from); - break; - case T_DeleteStmt: - retval = _copyDeleteStmt(from); - break; - case T_UpdateStmt: - retval = _copyUpdateStmt(from); - break; - case T_MergeStmt: - retval = _copyMergeStmt(from); - break; - case T_SelectStmt: - retval = _copySelectStmt(from); - break; - case T_SetOperationStmt: - retval = _copySetOperationStmt(from); - break; - case T_ReturnStmt: - retval = _copyReturnStmt(from); - break; - case T_PLAssignStmt: - retval = _copyPLAssignStmt(from); - break; - case T_AlterTableStmt: - retval = _copyAlterTableStmt(from); - break; - case T_AlterTableCmd: - retval = _copyAlterTableCmd(from); - break; - case T_AlterCollationStmt: - retval = _copyAlterCollationStmt(from); - break; - case T_AlterDomainStmt: - retval = _copyAlterDomainStmt(from); - break; - case T_GrantStmt: - retval = _copyGrantStmt(from); - break; - case T_GrantRoleStmt: - retval = _copyGrantRoleStmt(from); - break; - case T_AlterDefaultPrivilegesStmt: - retval = _copyAlterDefaultPrivilegesStmt(from); - break; - case T_DeclareCursorStmt: - retval = _copyDeclareCursorStmt(from); - break; - case T_ClosePortalStmt: - retval = _copyClosePortalStmt(from); - break; - case T_CallStmt: - retval = _copyCallStmt(from); - break; - case T_ClusterStmt: - retval = _copyClusterStmt(from); - break; - case T_CopyStmt: - retval = _copyCopyStmt(from); - break; - case T_CreateStmt: - retval = _copyCreateStmt(from); - break; - case T_TableLikeClause: - retval = _copyTableLikeClause(from); - break; - case T_DefineStmt: - retval = _copyDefineStmt(from); - break; - case T_DropStmt: - retval = _copyDropStmt(from); - break; - case T_TruncateStmt: - retval = _copyTruncateStmt(from); - break; - case T_CommentStmt: - retval = _copyCommentStmt(from); - break; - case T_SecLabelStmt: - retval = _copySecLabelStmt(from); - break; - case T_FetchStmt: - retval = _copyFetchStmt(from); - break; - case T_IndexStmt: - retval = _copyIndexStmt(from); - break; - case T_CreateStatsStmt: - retval = _copyCreateStatsStmt(from); - break; - case T_AlterStatsStmt: - retval = _copyAlterStatsStmt(from); - break; - case T_CreateFunctionStmt: - retval = _copyCreateFunctionStmt(from); - break; - case T_FunctionParameter: - retval = _copyFunctionParameter(from); - break; - case T_AlterFunctionStmt: - retval = _copyAlterFunctionStmt(from); - break; - case T_DoStmt: - retval = _copyDoStmt(from); - break; - case T_RenameStmt: - retval = _copyRenameStmt(from); - break; - case T_AlterObjectDependsStmt: - retval = _copyAlterObjectDependsStmt(from); - break; - case T_AlterObjectSchemaStmt: - retval = _copyAlterObjectSchemaStmt(from); - break; - case T_AlterOwnerStmt: - retval = _copyAlterOwnerStmt(from); - break; - case T_AlterOperatorStmt: - retval = _copyAlterOperatorStmt(from); - break; - case T_AlterTypeStmt: - retval = _copyAlterTypeStmt(from); - break; - case T_RuleStmt: - retval = _copyRuleStmt(from); - break; - case T_NotifyStmt: - retval = _copyNotifyStmt(from); - break; - case T_ListenStmt: - retval = _copyListenStmt(from); - break; - case T_UnlistenStmt: - retval = _copyUnlistenStmt(from); - break; - case T_TransactionStmt: - retval = _copyTransactionStmt(from); - break; - case T_CompositeTypeStmt: - retval = _copyCompositeTypeStmt(from); - break; - case T_CreateEnumStmt: - retval = _copyCreateEnumStmt(from); - break; - case T_CreateRangeStmt: - retval = _copyCreateRangeStmt(from); - break; - case T_AlterEnumStmt: - retval = _copyAlterEnumStmt(from); - break; - case T_ViewStmt: - retval = _copyViewStmt(from); - break; - case T_LoadStmt: - retval = _copyLoadStmt(from); - break; - case T_CreateDomainStmt: - retval = _copyCreateDomainStmt(from); - break; - case T_CreateOpClassStmt: - retval = _copyCreateOpClassStmt(from); - break; - case T_CreateOpClassItem: - retval = _copyCreateOpClassItem(from); - break; - case T_CreateOpFamilyStmt: - retval = _copyCreateOpFamilyStmt(from); - break; - case T_AlterOpFamilyStmt: - retval = _copyAlterOpFamilyStmt(from); - break; - case T_CreatedbStmt: - retval = _copyCreatedbStmt(from); - break; - case T_AlterDatabaseStmt: - retval = _copyAlterDatabaseStmt(from); - break; - case T_AlterDatabaseRefreshCollStmt: - retval = _copyAlterDatabaseRefreshCollStmt(from); - break; - case T_AlterDatabaseSetStmt: - retval = _copyAlterDatabaseSetStmt(from); - break; - case T_DropdbStmt: - retval = _copyDropdbStmt(from); - break; - case T_VacuumStmt: - retval = _copyVacuumStmt(from); - break; - case T_VacuumRelation: - retval = _copyVacuumRelation(from); - break; - case T_ExplainStmt: - retval = _copyExplainStmt(from); - break; - case T_CreateTableAsStmt: - retval = _copyCreateTableAsStmt(from); - break; - case T_RefreshMatViewStmt: - retval = _copyRefreshMatViewStmt(from); - break; - case T_ReplicaIdentityStmt: - retval = _copyReplicaIdentityStmt(from); - break; - case T_AlterSystemStmt: - retval = _copyAlterSystemStmt(from); - break; - case T_CreateSeqStmt: - retval = _copyCreateSeqStmt(from); - break; - case T_AlterSeqStmt: - retval = _copyAlterSeqStmt(from); - break; - case T_VariableSetStmt: - retval = _copyVariableSetStmt(from); - break; - case T_VariableShowStmt: - retval = _copyVariableShowStmt(from); - break; - case T_DiscardStmt: - retval = _copyDiscardStmt(from); - break; - case T_CreateTableSpaceStmt: - retval = _copyCreateTableSpaceStmt(from); - break; - case T_DropTableSpaceStmt: - retval = _copyDropTableSpaceStmt(from); - break; - case T_AlterTableSpaceOptionsStmt: - retval = _copyAlterTableSpaceOptionsStmt(from); - break; - case T_AlterTableMoveAllStmt: - retval = _copyAlterTableMoveAllStmt(from); - break; - case T_CreateExtensionStmt: - retval = _copyCreateExtensionStmt(from); - break; - case T_AlterExtensionStmt: - retval = _copyAlterExtensionStmt(from); - break; - case T_AlterExtensionContentsStmt: - retval = _copyAlterExtensionContentsStmt(from); - break; - case T_CreateFdwStmt: - retval = _copyCreateFdwStmt(from); - break; - case T_AlterFdwStmt: - retval = _copyAlterFdwStmt(from); - break; - case T_CreateForeignServerStmt: - retval = _copyCreateForeignServerStmt(from); - break; - case T_AlterForeignServerStmt: - retval = _copyAlterForeignServerStmt(from); - break; - case T_CreateUserMappingStmt: - retval = _copyCreateUserMappingStmt(from); - break; - case T_AlterUserMappingStmt: - retval = _copyAlterUserMappingStmt(from); - break; - case T_DropUserMappingStmt: - retval = _copyDropUserMappingStmt(from); - break; - case T_CreateForeignTableStmt: - retval = _copyCreateForeignTableStmt(from); - break; - case T_ImportForeignSchemaStmt: - retval = _copyImportForeignSchemaStmt(from); - break; - case T_CreateTransformStmt: - retval = _copyCreateTransformStmt(from); - break; - case T_CreateAmStmt: - retval = _copyCreateAmStmt(from); - break; - case T_CreateTrigStmt: - retval = _copyCreateTrigStmt(from); - break; - case T_CreateEventTrigStmt: - retval = _copyCreateEventTrigStmt(from); - break; - case T_AlterEventTrigStmt: - retval = _copyAlterEventTrigStmt(from); - break; - case T_CreatePLangStmt: - retval = _copyCreatePLangStmt(from); - break; - case T_CreateRoleStmt: - retval = _copyCreateRoleStmt(from); - break; - case T_AlterRoleStmt: - retval = _copyAlterRoleStmt(from); - break; - case T_AlterRoleSetStmt: - retval = _copyAlterRoleSetStmt(from); - break; - case T_DropRoleStmt: - retval = _copyDropRoleStmt(from); - break; - case T_LockStmt: - retval = _copyLockStmt(from); - break; - case T_ConstraintsSetStmt: - retval = _copyConstraintsSetStmt(from); - break; - case T_ReindexStmt: - retval = _copyReindexStmt(from); - break; - case T_CheckPointStmt: - retval = (void *) makeNode(CheckPointStmt); - break; - case T_CreateSchemaStmt: - retval = _copyCreateSchemaStmt(from); - break; - case T_CreateConversionStmt: - retval = _copyCreateConversionStmt(from); - break; - case T_CreateCastStmt: - retval = _copyCreateCastStmt(from); - break; - case T_PrepareStmt: - retval = _copyPrepareStmt(from); - break; - case T_ExecuteStmt: - retval = _copyExecuteStmt(from); - break; - case T_DeallocateStmt: - retval = _copyDeallocateStmt(from); - break; - case T_DropOwnedStmt: - retval = _copyDropOwnedStmt(from); - break; - case T_ReassignOwnedStmt: - retval = _copyReassignOwnedStmt(from); - break; - case T_AlterTSDictionaryStmt: - retval = _copyAlterTSDictionaryStmt(from); - break; - case T_AlterTSConfigurationStmt: - retval = _copyAlterTSConfigurationStmt(from); - break; - case T_CreatePolicyStmt: - retval = _copyCreatePolicyStmt(from); - break; - case T_AlterPolicyStmt: - retval = _copyAlterPolicyStmt(from); - break; - case T_CreatePublicationStmt: - retval = _copyCreatePublicationStmt(from); - break; - case T_AlterPublicationStmt: - retval = _copyAlterPublicationStmt(from); - break; - case T_CreateSubscriptionStmt: - retval = _copyCreateSubscriptionStmt(from); - break; - case T_AlterSubscriptionStmt: - retval = _copyAlterSubscriptionStmt(from); - break; - case T_DropSubscriptionStmt: - retval = _copyDropSubscriptionStmt(from); - break; - case T_A_Expr: - retval = _copyA_Expr(from); - break; - case T_ColumnRef: - retval = _copyColumnRef(from); - break; - case T_ParamRef: - retval = _copyParamRef(from); - break; - case T_A_Const: - retval = _copyA_Const(from); - break; - case T_FuncCall: - retval = _copyFuncCall(from); - break; - case T_A_Star: - retval = _copyA_Star(from); - break; - case T_A_Indices: - retval = _copyA_Indices(from); - break; - case T_A_Indirection: - retval = _copyA_Indirection(from); - break; - case T_A_ArrayExpr: - retval = _copyA_ArrayExpr(from); - break; - case T_ResTarget: - retval = _copyResTarget(from); - break; - case T_MultiAssignRef: - retval = _copyMultiAssignRef(from); - break; - case T_TypeCast: - retval = _copyTypeCast(from); - break; - case T_CollateClause: - retval = _copyCollateClause(from); - break; - case T_SortBy: - retval = _copySortBy(from); - break; - case T_WindowDef: - retval = _copyWindowDef(from); - break; - case T_RangeSubselect: - retval = _copyRangeSubselect(from); - break; - case T_RangeFunction: - retval = _copyRangeFunction(from); - break; - case T_RangeTableSample: - retval = _copyRangeTableSample(from); - break; - case T_RangeTableFunc: - retval = _copyRangeTableFunc(from); - break; - case T_RangeTableFuncCol: - retval = _copyRangeTableFuncCol(from); - break; - case T_TypeName: - retval = _copyTypeName(from); - break; - case T_IndexElem: - retval = _copyIndexElem(from); - break; - case T_StatsElem: - retval = _copyStatsElem(from); - break; - case T_ColumnDef: - retval = _copyColumnDef(from); - break; - case T_Constraint: - retval = _copyConstraint(from); - break; - case T_DefElem: - retval = _copyDefElem(from); - break; - case T_LockingClause: - retval = _copyLockingClause(from); - break; - case T_RangeTblEntry: - retval = _copyRangeTblEntry(from); - break; - case T_RangeTblFunction: - retval = _copyRangeTblFunction(from); - break; - case T_TableSampleClause: - retval = _copyTableSampleClause(from); - break; - case T_WithCheckOption: - retval = _copyWithCheckOption(from); - break; - case T_SortGroupClause: - retval = _copySortGroupClause(from); - break; - case T_GroupingSet: - retval = _copyGroupingSet(from); - break; - case T_WindowClause: - retval = _copyWindowClause(from); - break; - case T_RowMarkClause: - retval = _copyRowMarkClause(from); - break; - case T_WithClause: - retval = _copyWithClause(from); - break; - case T_InferClause: - retval = _copyInferClause(from); - break; - case T_OnConflictClause: - retval = _copyOnConflictClause(from); - break; - case T_CTESearchClause: - retval = _copyCTESearchClause(from); - break; - case T_CTECycleClause: - retval = _copyCTECycleClause(from); - break; - case T_CommonTableExpr: - retval = _copyCommonTableExpr(from); - break; - case T_MergeWhenClause: - retval = _copyMergeWhenClause(from); - break; - case T_MergeAction: - retval = _copyMergeAction(from); - break; - case T_ObjectWithArgs: - retval = _copyObjectWithArgs(from); - break; - case T_AccessPriv: - retval = _copyAccessPriv(from); - break; - case T_XmlSerialize: - retval = _copyXmlSerialize(from); - break; - case T_RoleSpec: - retval = _copyRoleSpec(from); - break; - case T_TriggerTransition: - retval = _copyTriggerTransition(from); - break; - case T_PartitionElem: - retval = _copyPartitionElem(from); - break; - case T_PartitionSpec: - retval = _copyPartitionSpec(from); - break; - case T_PartitionBoundSpec: - retval = _copyPartitionBoundSpec(from); - break; - case T_PartitionRangeDatum: - retval = _copyPartitionRangeDatum(from); - break; - case T_PartitionCmd: - retval = _copyPartitionCmd(from); - break; - case T_PublicationObjSpec: - retval = _copyPublicationObject(from); - break; - case T_PublicationTable: - retval = _copyPublicationTable(from); - break; - - /* - * MISCELLANEOUS NODES - */ - case T_ForeignKeyCacheInfo: - retval = _copyForeignKeyCacheInfo(from); - break; - default: elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from)); retval = 0; /* keep compiler quiet */ diff --git a/parser/src_backend_nodes_equalfuncs.c b/parser/src_backend_nodes_equalfuncs.c index f387ad12..34da2073 100644 --- a/parser/src_backend_nodes_equalfuncs.c +++ b/parser/src_backend_nodes_equalfuncs.c @@ -1,247 +1,11 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - equal - * - _equalAlias - * - _equalRangeVar - * - _equalTableFunc - * - _equalIntoClause - * - _equalVar * - _equalConst - * - _equalParam - * - _equalAggref - * - _equalGroupingFunc - * - _equalWindowFunc - * - _equalSubscriptingRef - * - _equalFuncExpr - * - _equalNamedArgExpr - * - _equalOpExpr - * - _equalDistinctExpr - * - _equalNullIfExpr - * - _equalScalarArrayOpExpr - * - _equalBoolExpr - * - _equalSubLink - * - _equalSubPlan - * - _equalAlternativeSubPlan - * - _equalFieldSelect - * - _equalFieldStore - * - _equalRelabelType - * - _equalCoerceViaIO - * - _equalArrayCoerceExpr - * - _equalConvertRowtypeExpr - * - _equalCollateExpr - * - _equalCaseExpr - * - _equalCaseWhen - * - _equalCaseTestExpr - * - _equalArrayExpr - * - _equalRowExpr - * - _equalRowCompareExpr - * - _equalCoalesceExpr - * - _equalMinMaxExpr - * - _equalSQLValueFunction - * - _equalXmlExpr - * - _equalNullTest - * - _equalBooleanTest - * - _equalCoerceToDomain - * - _equalCoerceToDomainValue - * - _equalSetToDefault - * - _equalCurrentOfExpr - * - _equalNextValueExpr - * - _equalInferenceElem - * - _equalTargetEntry - * - _equalRangeTblRef - * - _equalFromExpr - * - _equalOnConflictExpr - * - _equalJoinExpr - * - _equalPathKey - * - _equalRestrictInfo - * - _equalPlaceHolderVar - * - _equalSpecialJoinInfo - * - _equalAppendRelInfo - * - _equalPlaceHolderInfo - * - _equalList - * - _equalInteger - * - _equalFloat - * - _equalBoolean - * - _equalString - * - _equalBitString - * - _equalExtensibleNode - * - _equalQuery - * - _equalRawStmt - * - _equalInsertStmt - * - _equalDeleteStmt - * - _equalUpdateStmt - * - _equalMergeStmt - * - _equalSelectStmt - * - _equalSetOperationStmt - * - _equalReturnStmt - * - _equalPLAssignStmt - * - _equalAlterTableStmt - * - _equalAlterTableCmd - * - _equalAlterCollationStmt - * - _equalAlterDomainStmt - * - _equalGrantStmt - * - _equalGrantRoleStmt - * - _equalAlterDefaultPrivilegesStmt - * - _equalDeclareCursorStmt - * - _equalClosePortalStmt - * - _equalCallStmt - * - _equalClusterStmt - * - _equalCopyStmt - * - _equalCreateStmt - * - _equalTableLikeClause - * - _equalDefineStmt - * - _equalDropStmt - * - _equalTruncateStmt - * - _equalCommentStmt - * - _equalSecLabelStmt - * - _equalFetchStmt - * - _equalIndexStmt - * - _equalCreateStatsStmt - * - _equalAlterStatsStmt - * - _equalCreateFunctionStmt - * - _equalFunctionParameter - * - _equalAlterFunctionStmt - * - _equalDoStmt - * - _equalRenameStmt - * - _equalAlterObjectDependsStmt - * - _equalAlterObjectSchemaStmt - * - _equalAlterOwnerStmt - * - _equalAlterOperatorStmt - * - _equalAlterTypeStmt - * - _equalRuleStmt - * - _equalNotifyStmt - * - _equalListenStmt - * - _equalUnlistenStmt - * - _equalTransactionStmt - * - _equalCompositeTypeStmt - * - _equalCreateEnumStmt - * - _equalCreateRangeStmt - * - _equalAlterEnumStmt - * - _equalViewStmt - * - _equalLoadStmt - * - _equalCreateDomainStmt - * - _equalCreateOpClassStmt - * - _equalCreateOpClassItem - * - _equalCreateOpFamilyStmt - * - _equalAlterOpFamilyStmt - * - _equalCreatedbStmt - * - _equalAlterDatabaseStmt - * - _equalAlterDatabaseRefreshCollStmt - * - _equalAlterDatabaseSetStmt - * - _equalDropdbStmt - * - _equalVacuumStmt - * - _equalVacuumRelation - * - _equalExplainStmt - * - _equalCreateTableAsStmt - * - _equalRefreshMatViewStmt - * - _equalReplicaIdentityStmt - * - _equalAlterSystemStmt - * - _equalCreateSeqStmt - * - _equalAlterSeqStmt - * - _equalVariableSetStmt - * - _equalVariableShowStmt - * - _equalDiscardStmt - * - _equalCreateTableSpaceStmt - * - _equalDropTableSpaceStmt - * - _equalAlterTableSpaceOptionsStmt - * - _equalAlterTableMoveAllStmt - * - _equalCreateExtensionStmt - * - _equalAlterExtensionStmt - * - _equalAlterExtensionContentsStmt - * - _equalCreateFdwStmt - * - _equalAlterFdwStmt - * - _equalCreateForeignServerStmt - * - _equalAlterForeignServerStmt - * - _equalCreateUserMappingStmt - * - _equalAlterUserMappingStmt - * - _equalDropUserMappingStmt - * - _equalCreateForeignTableStmt - * - _equalImportForeignSchemaStmt - * - _equalCreateTransformStmt - * - _equalCreateAmStmt - * - _equalCreateTrigStmt - * - _equalCreateEventTrigStmt - * - _equalAlterEventTrigStmt - * - _equalCreatePLangStmt - * - _equalCreateRoleStmt - * - _equalAlterRoleStmt - * - _equalAlterRoleSetStmt - * - _equalDropRoleStmt - * - _equalLockStmt - * - _equalConstraintsSetStmt - * - _equalReindexStmt - * - _equalCreateSchemaStmt - * - _equalCreateConversionStmt - * - _equalCreateCastStmt - * - _equalPrepareStmt - * - _equalExecuteStmt - * - _equalDeallocateStmt - * - _equalDropOwnedStmt - * - _equalReassignOwnedStmt - * - _equalAlterTSDictionaryStmt - * - _equalAlterTSConfigurationStmt - * - _equalCreatePolicyStmt - * - _equalAlterPolicyStmt - * - _equalCreatePublicationStmt - * - _equalAlterPublicationStmt - * - _equalCreateSubscriptionStmt - * - _equalAlterSubscriptionStmt - * - _equalDropSubscriptionStmt - * - _equalA_Expr - * - _equalColumnRef - * - _equalParamRef * - _equalA_Const - * - _equalFuncCall - * - _equalA_Star - * - _equalA_Indices - * - _equalA_Indirection - * - _equalA_ArrayExpr - * - _equalResTarget - * - _equalMultiAssignRef - * - _equalTypeCast - * - _equalCollateClause - * - _equalSortBy - * - _equalWindowDef - * - _equalRangeSubselect - * - _equalRangeFunction - * - _equalRangeTableSample - * - _equalRangeTableFunc - * - _equalRangeTableFuncCol - * - _equalTypeName - * - _equalIndexElem - * - _equalStatsElem - * - _equalColumnDef - * - _equalConstraint - * - _equalDefElem - * - _equalLockingClause - * - _equalRangeTblEntry - * - _equalRangeTblFunction - * - _equalTableSampleClause - * - _equalWithCheckOption - * - _equalSortGroupClause - * - _equalGroupingSet - * - _equalWindowClause - * - _equalRowMarkClause - * - _equalWithClause - * - _equalInferClause - * - _equalOnConflictClause - * - _equalCTESearchClause - * - _equalCTECycleClause - * - _equalCommonTableExpr - * - _equalMergeWhenClause - * - _equalMergeAction - * - _equalObjectWithArgs - * - _equalAccessPriv - * - _equalXmlSerialize - * - _equalRoleSpec - * - _equalTriggerTransition - * - _equalPartitionElem - * - _equalPartitionSpec - * - _equalPartitionBoundSpec - * - _equalPartitionRangeDatum - * - _equalPartitionCmd - * - _equalPublicationObject - * - _equalPublicationTable + * - _equalBitmapset + * - _equalExtensibleNode + * - _equalList *-------------------------------------------------------------------- */ @@ -250,22 +14,12 @@ * equalfuncs.c * Equality functions to compare node trees. * - * NOTE: we currently support comparing all node types found in parse - * trees. We do not support comparing executor state trees; there - * is no need for that, and no point in maintaining all the code that - * would be needed. We also do not support comparing Path trees, mainly - * because the circular linkages between RelOptInfo and Path nodes can't - * be handled easily in a simple depth-first traversal. - * - * Currently, in fact, equal() doesn't know how to compare Plan trees - * either. This might need to be fixed someday. - * * NOTE: it is intentional that parse location fields (in nodes that have * one) are not compared. This is because we want, for example, a variable * "x" to be considered equal() to another reference to "x" in the query. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -277,8 +31,6 @@ #include "postgres.h" #include "miscadmin.h" -#include "nodes/extensible.h" -#include "nodes/pathnodes.h" #include "utils/datum.h" @@ -344,95 +96,13 @@ ((void) 0) -/* - * Stuff from primnodes.h - */ - -static bool -_equalAlias(const Alias *a, const Alias *b) -{ - COMPARE_STRING_FIELD(aliasname); - COMPARE_NODE_FIELD(colnames); - - return true; -} - -static bool -_equalRangeVar(const RangeVar *a, const RangeVar *b) -{ - COMPARE_STRING_FIELD(catalogname); - COMPARE_STRING_FIELD(schemaname); - COMPARE_STRING_FIELD(relname); - COMPARE_SCALAR_FIELD(inh); - COMPARE_SCALAR_FIELD(relpersistence); - COMPARE_NODE_FIELD(alias); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalTableFunc(const TableFunc *a, const TableFunc *b) -{ - COMPARE_NODE_FIELD(ns_uris); - COMPARE_NODE_FIELD(ns_names); - COMPARE_NODE_FIELD(docexpr); - COMPARE_NODE_FIELD(rowexpr); - COMPARE_NODE_FIELD(colnames); - COMPARE_NODE_FIELD(coltypes); - COMPARE_NODE_FIELD(coltypmods); - COMPARE_NODE_FIELD(colcollations); - COMPARE_NODE_FIELD(colexprs); - COMPARE_NODE_FIELD(coldefexprs); - COMPARE_BITMAPSET_FIELD(notnulls); - COMPARE_SCALAR_FIELD(ordinalitycol); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalIntoClause(const IntoClause *a, const IntoClause *b) -{ - COMPARE_NODE_FIELD(rel); - COMPARE_NODE_FIELD(colNames); - COMPARE_STRING_FIELD(accessMethod); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(onCommit); - COMPARE_STRING_FIELD(tableSpaceName); - COMPARE_NODE_FIELD(viewQuery); - COMPARE_SCALAR_FIELD(skipData); +#include "equalfuncs.funcs.c" - return true; -} /* - * We don't need an _equalExpr because Expr is an abstract supertype which - * should never actually get instantiated. Also, since it has no common - * fields except NodeTag, there's no need for a helper routine to factor - * out comparing the common fields... + * Support functions for nodes with custom_copy_equal attribute */ -static bool -_equalVar(const Var *a, const Var *b) -{ - COMPARE_SCALAR_FIELD(varno); - COMPARE_SCALAR_FIELD(varattno); - COMPARE_SCALAR_FIELD(vartype); - COMPARE_SCALAR_FIELD(vartypmod); - COMPARE_SCALAR_FIELD(varcollid); - COMPARE_SCALAR_FIELD(varlevelsup); - - /* - * varnosyn/varattnosyn are intentionally ignored here, because Vars with - * different syntactic identifiers are semantically the same as long as - * their varno/varattno match. - */ - COMPARE_LOCATION_FIELD(location); - - return true; -} - static bool _equalConst(const Const *a, const Const *b) { @@ -455,3788 +125,145 @@ _equalConst(const Const *a, const Const *b) } static bool -_equalParam(const Param *a, const Param *b) -{ - COMPARE_SCALAR_FIELD(paramkind); - COMPARE_SCALAR_FIELD(paramid); - COMPARE_SCALAR_FIELD(paramtype); - COMPARE_SCALAR_FIELD(paramtypmod); - COMPARE_SCALAR_FIELD(paramcollid); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalAggref(const Aggref *a, const Aggref *b) -{ - COMPARE_SCALAR_FIELD(aggfnoid); - COMPARE_SCALAR_FIELD(aggtype); - COMPARE_SCALAR_FIELD(aggcollid); - COMPARE_SCALAR_FIELD(inputcollid); - /* ignore aggtranstype since it might not be set yet */ - COMPARE_NODE_FIELD(aggargtypes); - COMPARE_NODE_FIELD(aggdirectargs); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(aggorder); - COMPARE_NODE_FIELD(aggdistinct); - COMPARE_NODE_FIELD(aggfilter); - COMPARE_SCALAR_FIELD(aggstar); - COMPARE_SCALAR_FIELD(aggvariadic); - COMPARE_SCALAR_FIELD(aggkind); - COMPARE_SCALAR_FIELD(agglevelsup); - COMPARE_SCALAR_FIELD(aggsplit); - COMPARE_SCALAR_FIELD(aggno); - COMPARE_SCALAR_FIELD(aggtransno); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalGroupingFunc(const GroupingFunc *a, const GroupingFunc *b) +_equalExtensibleNode(const ExtensibleNode *a, const ExtensibleNode *b) { - COMPARE_NODE_FIELD(args); - - /* - * We must not compare the refs or cols field - */ - - COMPARE_SCALAR_FIELD(agglevelsup); - COMPARE_LOCATION_FIELD(location); - - return true; -} + const ExtensibleNodeMethods *methods; -static bool -_equalWindowFunc(const WindowFunc *a, const WindowFunc *b) -{ - COMPARE_SCALAR_FIELD(winfnoid); - COMPARE_SCALAR_FIELD(wintype); - COMPARE_SCALAR_FIELD(wincollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(aggfilter); - COMPARE_SCALAR_FIELD(winref); - COMPARE_SCALAR_FIELD(winstar); - COMPARE_SCALAR_FIELD(winagg); - COMPARE_LOCATION_FIELD(location); + COMPARE_STRING_FIELD(extnodename); - return true; -} + /* At this point, we know extnodename is the same for both nodes. */ + methods = GetExtensibleNodeMethods(a->extnodename, false); -static bool -_equalSubscriptingRef(const SubscriptingRef *a, const SubscriptingRef *b) -{ - COMPARE_SCALAR_FIELD(refcontainertype); - COMPARE_SCALAR_FIELD(refelemtype); - COMPARE_SCALAR_FIELD(refrestype); - COMPARE_SCALAR_FIELD(reftypmod); - COMPARE_SCALAR_FIELD(refcollid); - COMPARE_NODE_FIELD(refupperindexpr); - COMPARE_NODE_FIELD(reflowerindexpr); - COMPARE_NODE_FIELD(refexpr); - COMPARE_NODE_FIELD(refassgnexpr); + /* compare the private fields */ + if (!methods->nodeEqual(a, b)) + return false; return true; } static bool -_equalFuncExpr(const FuncExpr *a, const FuncExpr *b) +_equalA_Const(const A_Const *a, const A_Const *b) { - COMPARE_SCALAR_FIELD(funcid); - COMPARE_SCALAR_FIELD(funcresulttype); - COMPARE_SCALAR_FIELD(funcretset); - COMPARE_SCALAR_FIELD(funcvariadic); - COMPARE_COERCIONFORM_FIELD(funcformat); - COMPARE_SCALAR_FIELD(funccollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(isnull); + /* Hack for in-line val field. Also val is not valid if isnull is true */ + if (!a->isnull && + !equal(&a->val, &b->val)) + return false; COMPARE_LOCATION_FIELD(location); return true; } static bool -_equalNamedArgExpr(const NamedArgExpr *a, const NamedArgExpr *b) +_equalBitmapset(const Bitmapset *a, const Bitmapset *b) { - COMPARE_NODE_FIELD(arg); - COMPARE_STRING_FIELD(name); - COMPARE_SCALAR_FIELD(argnumber); - COMPARE_LOCATION_FIELD(location); - - return true; + return bms_equal(a, b); } +/* + * Lists are handled specially + */ static bool -_equalOpExpr(const OpExpr *a, const OpExpr *b) +_equalList(const List *a, const List *b) { - COMPARE_SCALAR_FIELD(opno); + const ListCell *item_a; + const ListCell *item_b; /* - * Special-case opfuncid: it is allowable for it to differ if one node - * contains zero and the other doesn't. This just means that the one node - * isn't as far along in the parse/plan pipeline and hasn't had the - * opfuncid cache filled yet. + * Try to reject by simple scalar checks before grovelling through all the + * list elements... */ - if (a->opfuncid != b->opfuncid && - a->opfuncid != 0 && - b->opfuncid != 0) - return false; - - COMPARE_SCALAR_FIELD(opresulttype); - COMPARE_SCALAR_FIELD(opretset); - COMPARE_SCALAR_FIELD(opcollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalDistinctExpr(const DistinctExpr *a, const DistinctExpr *b) -{ - COMPARE_SCALAR_FIELD(opno); + COMPARE_SCALAR_FIELD(type); + COMPARE_SCALAR_FIELD(length); /* - * Special-case opfuncid: it is allowable for it to differ if one node - * contains zero and the other doesn't. This just means that the one node - * isn't as far along in the parse/plan pipeline and hasn't had the - * opfuncid cache filled yet. + * We place the switch outside the loop for the sake of efficiency; this + * may not be worth doing... */ - if (a->opfuncid != b->opfuncid && - a->opfuncid != 0 && - b->opfuncid != 0) - return false; - - COMPARE_SCALAR_FIELD(opresulttype); - COMPARE_SCALAR_FIELD(opretset); - COMPARE_SCALAR_FIELD(opcollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalNullIfExpr(const NullIfExpr *a, const NullIfExpr *b) -{ - COMPARE_SCALAR_FIELD(opno); + switch (a->type) + { + case T_List: + forboth(item_a, a, item_b, b) + { + if (!equal(lfirst(item_a), lfirst(item_b))) + return false; + } + break; + case T_IntList: + forboth(item_a, a, item_b, b) + { + if (lfirst_int(item_a) != lfirst_int(item_b)) + return false; + } + break; + case T_OidList: + forboth(item_a, a, item_b, b) + { + if (lfirst_oid(item_a) != lfirst_oid(item_b)) + return false; + } + break; + case T_XidList: + forboth(item_a, a, item_b, b) + { + if (lfirst_xid(item_a) != lfirst_xid(item_b)) + return false; + } + break; + default: + elog(ERROR, "unrecognized list node type: %d", + (int) a->type); + return false; /* keep compiler quiet */ + } /* - * Special-case opfuncid: it is allowable for it to differ if one node - * contains zero and the other doesn't. This just means that the one node - * isn't as far along in the parse/plan pipeline and hasn't had the - * opfuncid cache filled yet. + * If we got here, we should have run out of elements of both lists */ - if (a->opfuncid != b->opfuncid && - a->opfuncid != 0 && - b->opfuncid != 0) - return false; - - COMPARE_SCALAR_FIELD(opresulttype); - COMPARE_SCALAR_FIELD(opretset); - COMPARE_SCALAR_FIELD(opcollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); + Assert(item_a == NULL); + Assert(item_b == NULL); return true; } -static bool -_equalScalarArrayOpExpr(const ScalarArrayOpExpr *a, const ScalarArrayOpExpr *b) + +/* + * equal + * returns whether two nodes are equal + */ +bool +equal(const void *a, const void *b) { - COMPARE_SCALAR_FIELD(opno); + bool retval; + + if (a == b) + return true; /* - * Special-case opfuncid: it is allowable for it to differ if one node - * contains zero and the other doesn't. This just means that the one node - * isn't as far along in the parse/plan pipeline and hasn't had the - * opfuncid cache filled yet. + * note that a!=b, so only one of them can be NULL */ - if (a->opfuncid != b->opfuncid && - a->opfuncid != 0 && - b->opfuncid != 0) - return false; - - /* As above, hashfuncid may differ too */ - if (a->hashfuncid != b->hashfuncid && - a->hashfuncid != 0 && - b->hashfuncid != 0) + if (a == NULL || b == NULL) return false; - /* Likewise for the negfuncid */ - if (a->negfuncid != b->negfuncid && - a->negfuncid != 0 && - b->negfuncid != 0) + /* + * are they the same type of nodes? + */ + if (nodeTag(a) != nodeTag(b)) return false; - COMPARE_SCALAR_FIELD(useOr); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalBoolExpr(const BoolExpr *a, const BoolExpr *b) -{ - COMPARE_SCALAR_FIELD(boolop); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalSubLink(const SubLink *a, const SubLink *b) -{ - COMPARE_SCALAR_FIELD(subLinkType); - COMPARE_SCALAR_FIELD(subLinkId); - COMPARE_NODE_FIELD(testexpr); - COMPARE_NODE_FIELD(operName); - COMPARE_NODE_FIELD(subselect); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalSubPlan(const SubPlan *a, const SubPlan *b) -{ - COMPARE_SCALAR_FIELD(subLinkType); - COMPARE_NODE_FIELD(testexpr); - COMPARE_NODE_FIELD(paramIds); - COMPARE_SCALAR_FIELD(plan_id); - COMPARE_STRING_FIELD(plan_name); - COMPARE_SCALAR_FIELD(firstColType); - COMPARE_SCALAR_FIELD(firstColTypmod); - COMPARE_SCALAR_FIELD(firstColCollation); - COMPARE_SCALAR_FIELD(useHashTable); - COMPARE_SCALAR_FIELD(unknownEqFalse); - COMPARE_SCALAR_FIELD(parallel_safe); - COMPARE_NODE_FIELD(setParam); - COMPARE_NODE_FIELD(parParam); - COMPARE_NODE_FIELD(args); - COMPARE_SCALAR_FIELD(startup_cost); - COMPARE_SCALAR_FIELD(per_call_cost); - - return true; -} - -static bool -_equalAlternativeSubPlan(const AlternativeSubPlan *a, const AlternativeSubPlan *b) -{ - COMPARE_NODE_FIELD(subplans); - - return true; -} - -static bool -_equalFieldSelect(const FieldSelect *a, const FieldSelect *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(fieldnum); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_SCALAR_FIELD(resulttypmod); - COMPARE_SCALAR_FIELD(resultcollid); - - return true; -} - -static bool -_equalFieldStore(const FieldStore *a, const FieldStore *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(newvals); - COMPARE_NODE_FIELD(fieldnums); - COMPARE_SCALAR_FIELD(resulttype); - - return true; -} - -static bool -_equalRelabelType(const RelabelType *a, const RelabelType *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_SCALAR_FIELD(resulttypmod); - COMPARE_SCALAR_FIELD(resultcollid); - COMPARE_COERCIONFORM_FIELD(relabelformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCoerceViaIO(const CoerceViaIO *a, const CoerceViaIO *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_SCALAR_FIELD(resultcollid); - COMPARE_COERCIONFORM_FIELD(coerceformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalArrayCoerceExpr(const ArrayCoerceExpr *a, const ArrayCoerceExpr *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(elemexpr); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_SCALAR_FIELD(resulttypmod); - COMPARE_SCALAR_FIELD(resultcollid); - COMPARE_COERCIONFORM_FIELD(coerceformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalConvertRowtypeExpr(const ConvertRowtypeExpr *a, const ConvertRowtypeExpr *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_COERCIONFORM_FIELD(convertformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCollateExpr(const CollateExpr *a, const CollateExpr *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(collOid); - COMPARE_LOCATION_FIELD(location); + /* Guard against stack overflow due to overly complex expressions */ + check_stack_depth(); - return true; -} - -static bool -_equalCaseExpr(const CaseExpr *a, const CaseExpr *b) -{ - COMPARE_SCALAR_FIELD(casetype); - COMPARE_SCALAR_FIELD(casecollid); - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(defresult); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCaseWhen(const CaseWhen *a, const CaseWhen *b) -{ - COMPARE_NODE_FIELD(expr); - COMPARE_NODE_FIELD(result); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCaseTestExpr(const CaseTestExpr *a, const CaseTestExpr *b) -{ - COMPARE_SCALAR_FIELD(typeId); - COMPARE_SCALAR_FIELD(typeMod); - COMPARE_SCALAR_FIELD(collation); - - return true; -} - -static bool -_equalArrayExpr(const ArrayExpr *a, const ArrayExpr *b) -{ - COMPARE_SCALAR_FIELD(array_typeid); - COMPARE_SCALAR_FIELD(array_collid); - COMPARE_SCALAR_FIELD(element_typeid); - COMPARE_NODE_FIELD(elements); - COMPARE_SCALAR_FIELD(multidims); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRowExpr(const RowExpr *a, const RowExpr *b) -{ - COMPARE_NODE_FIELD(args); - COMPARE_SCALAR_FIELD(row_typeid); - COMPARE_COERCIONFORM_FIELD(row_format); - COMPARE_NODE_FIELD(colnames); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRowCompareExpr(const RowCompareExpr *a, const RowCompareExpr *b) -{ - COMPARE_SCALAR_FIELD(rctype); - COMPARE_NODE_FIELD(opnos); - COMPARE_NODE_FIELD(opfamilies); - COMPARE_NODE_FIELD(inputcollids); - COMPARE_NODE_FIELD(largs); - COMPARE_NODE_FIELD(rargs); - - return true; -} - -static bool -_equalCoalesceExpr(const CoalesceExpr *a, const CoalesceExpr *b) -{ - COMPARE_SCALAR_FIELD(coalescetype); - COMPARE_SCALAR_FIELD(coalescecollid); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalMinMaxExpr(const MinMaxExpr *a, const MinMaxExpr *b) -{ - COMPARE_SCALAR_FIELD(minmaxtype); - COMPARE_SCALAR_FIELD(minmaxcollid); - COMPARE_SCALAR_FIELD(inputcollid); - COMPARE_SCALAR_FIELD(op); - COMPARE_NODE_FIELD(args); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalSQLValueFunction(const SQLValueFunction *a, const SQLValueFunction *b) -{ - COMPARE_SCALAR_FIELD(op); - COMPARE_SCALAR_FIELD(type); - COMPARE_SCALAR_FIELD(typmod); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalXmlExpr(const XmlExpr *a, const XmlExpr *b) -{ - COMPARE_SCALAR_FIELD(op); - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(named_args); - COMPARE_NODE_FIELD(arg_names); - COMPARE_NODE_FIELD(args); - COMPARE_SCALAR_FIELD(xmloption); - COMPARE_SCALAR_FIELD(type); - COMPARE_SCALAR_FIELD(typmod); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalNullTest(const NullTest *a, const NullTest *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(nulltesttype); - COMPARE_SCALAR_FIELD(argisrow); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalBooleanTest(const BooleanTest *a, const BooleanTest *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(booltesttype); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCoerceToDomain(const CoerceToDomain *a, const CoerceToDomain *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(resulttype); - COMPARE_SCALAR_FIELD(resulttypmod); - COMPARE_SCALAR_FIELD(resultcollid); - COMPARE_COERCIONFORM_FIELD(coercionformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCoerceToDomainValue(const CoerceToDomainValue *a, const CoerceToDomainValue *b) -{ - COMPARE_SCALAR_FIELD(typeId); - COMPARE_SCALAR_FIELD(typeMod); - COMPARE_SCALAR_FIELD(collation); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalSetToDefault(const SetToDefault *a, const SetToDefault *b) -{ - COMPARE_SCALAR_FIELD(typeId); - COMPARE_SCALAR_FIELD(typeMod); - COMPARE_SCALAR_FIELD(collation); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCurrentOfExpr(const CurrentOfExpr *a, const CurrentOfExpr *b) -{ - COMPARE_SCALAR_FIELD(cvarno); - COMPARE_STRING_FIELD(cursor_name); - COMPARE_SCALAR_FIELD(cursor_param); - - return true; -} - -static bool -_equalNextValueExpr(const NextValueExpr *a, const NextValueExpr *b) -{ - COMPARE_SCALAR_FIELD(seqid); - COMPARE_SCALAR_FIELD(typeId); - - return true; -} - -static bool -_equalInferenceElem(const InferenceElem *a, const InferenceElem *b) -{ - COMPARE_NODE_FIELD(expr); - COMPARE_SCALAR_FIELD(infercollid); - COMPARE_SCALAR_FIELD(inferopclass); - - return true; -} - -static bool -_equalTargetEntry(const TargetEntry *a, const TargetEntry *b) -{ - COMPARE_NODE_FIELD(expr); - COMPARE_SCALAR_FIELD(resno); - COMPARE_STRING_FIELD(resname); - COMPARE_SCALAR_FIELD(ressortgroupref); - COMPARE_SCALAR_FIELD(resorigtbl); - COMPARE_SCALAR_FIELD(resorigcol); - COMPARE_SCALAR_FIELD(resjunk); - - return true; -} - -static bool -_equalRangeTblRef(const RangeTblRef *a, const RangeTblRef *b) -{ - COMPARE_SCALAR_FIELD(rtindex); - - return true; -} - -static bool -_equalJoinExpr(const JoinExpr *a, const JoinExpr *b) -{ - COMPARE_SCALAR_FIELD(jointype); - COMPARE_SCALAR_FIELD(isNatural); - COMPARE_NODE_FIELD(larg); - COMPARE_NODE_FIELD(rarg); - COMPARE_NODE_FIELD(usingClause); - COMPARE_NODE_FIELD(join_using_alias); - COMPARE_NODE_FIELD(quals); - COMPARE_NODE_FIELD(alias); - COMPARE_SCALAR_FIELD(rtindex); - - return true; -} - -static bool -_equalFromExpr(const FromExpr *a, const FromExpr *b) -{ - COMPARE_NODE_FIELD(fromlist); - COMPARE_NODE_FIELD(quals); - - return true; -} - -static bool -_equalOnConflictExpr(const OnConflictExpr *a, const OnConflictExpr *b) -{ - COMPARE_SCALAR_FIELD(action); - COMPARE_NODE_FIELD(arbiterElems); - COMPARE_NODE_FIELD(arbiterWhere); - COMPARE_SCALAR_FIELD(constraint); - COMPARE_NODE_FIELD(onConflictSet); - COMPARE_NODE_FIELD(onConflictWhere); - COMPARE_SCALAR_FIELD(exclRelIndex); - COMPARE_NODE_FIELD(exclRelTlist); - - return true; -} - -/* - * Stuff from pathnodes.h - */ - -static bool -_equalPathKey(const PathKey *a, const PathKey *b) -{ - /* We assume pointer equality is sufficient to compare the eclasses */ - COMPARE_SCALAR_FIELD(pk_eclass); - COMPARE_SCALAR_FIELD(pk_opfamily); - COMPARE_SCALAR_FIELD(pk_strategy); - COMPARE_SCALAR_FIELD(pk_nulls_first); - - return true; -} - -static bool -_equalRestrictInfo(const RestrictInfo *a, const RestrictInfo *b) -{ - COMPARE_NODE_FIELD(clause); - COMPARE_SCALAR_FIELD(is_pushed_down); - COMPARE_SCALAR_FIELD(outerjoin_delayed); - COMPARE_SCALAR_FIELD(security_level); - COMPARE_BITMAPSET_FIELD(required_relids); - COMPARE_BITMAPSET_FIELD(outer_relids); - COMPARE_BITMAPSET_FIELD(nullable_relids); - - /* - * We ignore all the remaining fields, since they may not be set yet, and - * should be derivable from the clause anyway. - */ - - return true; -} - -static bool -_equalPlaceHolderVar(const PlaceHolderVar *a, const PlaceHolderVar *b) -{ - /* - * We intentionally do not compare phexpr. Two PlaceHolderVars with the - * same ID and levelsup should be considered equal even if the contained - * expressions have managed to mutate to different states. This will - * happen during final plan construction when there are nested PHVs, since - * the inner PHV will get replaced by a Param in some copies of the outer - * PHV. Another way in which it can happen is that initplan sublinks - * could get replaced by differently-numbered Params when sublink folding - * is done. (The end result of such a situation would be some - * unreferenced initplans, which is annoying but not really a problem.) On - * the same reasoning, there is no need to examine phrels. - * - * COMPARE_NODE_FIELD(phexpr); - * - * COMPARE_BITMAPSET_FIELD(phrels); - */ - COMPARE_SCALAR_FIELD(phid); - COMPARE_SCALAR_FIELD(phlevelsup); - - return true; -} - -static bool -_equalSpecialJoinInfo(const SpecialJoinInfo *a, const SpecialJoinInfo *b) -{ - COMPARE_BITMAPSET_FIELD(min_lefthand); - COMPARE_BITMAPSET_FIELD(min_righthand); - COMPARE_BITMAPSET_FIELD(syn_lefthand); - COMPARE_BITMAPSET_FIELD(syn_righthand); - COMPARE_SCALAR_FIELD(jointype); - COMPARE_SCALAR_FIELD(lhs_strict); - COMPARE_SCALAR_FIELD(delay_upper_joins); - COMPARE_SCALAR_FIELD(semi_can_btree); - COMPARE_SCALAR_FIELD(semi_can_hash); - COMPARE_NODE_FIELD(semi_operators); - COMPARE_NODE_FIELD(semi_rhs_exprs); - - return true; -} - -static bool -_equalAppendRelInfo(const AppendRelInfo *a, const AppendRelInfo *b) -{ - COMPARE_SCALAR_FIELD(parent_relid); - COMPARE_SCALAR_FIELD(child_relid); - COMPARE_SCALAR_FIELD(parent_reltype); - COMPARE_SCALAR_FIELD(child_reltype); - COMPARE_NODE_FIELD(translated_vars); - COMPARE_SCALAR_FIELD(num_child_cols); - COMPARE_POINTER_FIELD(parent_colnos, a->num_child_cols * sizeof(AttrNumber)); - COMPARE_SCALAR_FIELD(parent_reloid); - - return true; -} - -static bool -_equalPlaceHolderInfo(const PlaceHolderInfo *a, const PlaceHolderInfo *b) -{ - COMPARE_SCALAR_FIELD(phid); - COMPARE_NODE_FIELD(ph_var); /* should be redundant */ - COMPARE_BITMAPSET_FIELD(ph_eval_at); - COMPARE_BITMAPSET_FIELD(ph_lateral); - COMPARE_BITMAPSET_FIELD(ph_needed); - COMPARE_SCALAR_FIELD(ph_width); - - return true; -} - -/* - * Stuff from extensible.h - */ -static bool -_equalExtensibleNode(const ExtensibleNode *a, const ExtensibleNode *b) -{ - const ExtensibleNodeMethods *methods; - - COMPARE_STRING_FIELD(extnodename); - - /* At this point, we know extnodename is the same for both nodes. */ - methods = GetExtensibleNodeMethods(a->extnodename, false); - - /* compare the private fields */ - if (!methods->nodeEqual(a, b)) - return false; - - return true; -} - -/* - * Stuff from parsenodes.h - */ - -static bool -_equalQuery(const Query *a, const Query *b) -{ - COMPARE_SCALAR_FIELD(commandType); - COMPARE_SCALAR_FIELD(querySource); - /* we intentionally ignore queryId, since it might not be set */ - COMPARE_SCALAR_FIELD(canSetTag); - COMPARE_NODE_FIELD(utilityStmt); - COMPARE_SCALAR_FIELD(resultRelation); - COMPARE_SCALAR_FIELD(hasAggs); - COMPARE_SCALAR_FIELD(hasWindowFuncs); - COMPARE_SCALAR_FIELD(hasTargetSRFs); - COMPARE_SCALAR_FIELD(hasSubLinks); - COMPARE_SCALAR_FIELD(hasDistinctOn); - COMPARE_SCALAR_FIELD(hasRecursive); - COMPARE_SCALAR_FIELD(hasModifyingCTE); - COMPARE_SCALAR_FIELD(hasForUpdate); - COMPARE_SCALAR_FIELD(hasRowSecurity); - COMPARE_SCALAR_FIELD(isReturn); - COMPARE_NODE_FIELD(cteList); - COMPARE_NODE_FIELD(rtable); - COMPARE_NODE_FIELD(jointree); - COMPARE_NODE_FIELD(targetList); - COMPARE_SCALAR_FIELD(override); - COMPARE_NODE_FIELD(onConflict); - COMPARE_NODE_FIELD(returningList); - COMPARE_NODE_FIELD(groupClause); - COMPARE_SCALAR_FIELD(groupDistinct); - COMPARE_NODE_FIELD(groupingSets); - COMPARE_NODE_FIELD(havingQual); - COMPARE_NODE_FIELD(windowClause); - COMPARE_NODE_FIELD(distinctClause); - COMPARE_NODE_FIELD(sortClause); - COMPARE_NODE_FIELD(limitOffset); - COMPARE_NODE_FIELD(limitCount); - COMPARE_SCALAR_FIELD(limitOption); - COMPARE_NODE_FIELD(rowMarks); - COMPARE_NODE_FIELD(setOperations); - COMPARE_NODE_FIELD(constraintDeps); - COMPARE_NODE_FIELD(withCheckOptions); - COMPARE_NODE_FIELD(mergeActionList); - COMPARE_SCALAR_FIELD(mergeUseOuterJoin); - COMPARE_LOCATION_FIELD(stmt_location); - COMPARE_SCALAR_FIELD(stmt_len); - - return true; -} - -static bool -_equalRawStmt(const RawStmt *a, const RawStmt *b) -{ - COMPARE_NODE_FIELD(stmt); - COMPARE_LOCATION_FIELD(stmt_location); - COMPARE_SCALAR_FIELD(stmt_len); - - return true; -} - -static bool -_equalInsertStmt(const InsertStmt *a, const InsertStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(cols); - COMPARE_NODE_FIELD(selectStmt); - COMPARE_NODE_FIELD(onConflictClause); - COMPARE_NODE_FIELD(returningList); - COMPARE_NODE_FIELD(withClause); - COMPARE_SCALAR_FIELD(override); - - return true; -} - -static bool -_equalDeleteStmt(const DeleteStmt *a, const DeleteStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(usingClause); - COMPARE_NODE_FIELD(whereClause); - COMPARE_NODE_FIELD(returningList); - COMPARE_NODE_FIELD(withClause); - - return true; -} - -static bool -_equalUpdateStmt(const UpdateStmt *a, const UpdateStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(whereClause); - COMPARE_NODE_FIELD(fromClause); - COMPARE_NODE_FIELD(returningList); - COMPARE_NODE_FIELD(withClause); - - return true; -} - -static bool -_equalMergeStmt(const MergeStmt *a, const MergeStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(sourceRelation); - COMPARE_NODE_FIELD(joinCondition); - COMPARE_NODE_FIELD(mergeWhenClauses); - COMPARE_NODE_FIELD(withClause); - - return true; -} - -static bool -_equalSelectStmt(const SelectStmt *a, const SelectStmt *b) -{ - COMPARE_NODE_FIELD(distinctClause); - COMPARE_NODE_FIELD(intoClause); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(fromClause); - COMPARE_NODE_FIELD(whereClause); - COMPARE_NODE_FIELD(groupClause); - COMPARE_SCALAR_FIELD(groupDistinct); - COMPARE_NODE_FIELD(havingClause); - COMPARE_NODE_FIELD(windowClause); - COMPARE_NODE_FIELD(valuesLists); - COMPARE_NODE_FIELD(sortClause); - COMPARE_NODE_FIELD(limitOffset); - COMPARE_NODE_FIELD(limitCount); - COMPARE_SCALAR_FIELD(limitOption); - COMPARE_NODE_FIELD(lockingClause); - COMPARE_NODE_FIELD(withClause); - COMPARE_SCALAR_FIELD(op); - COMPARE_SCALAR_FIELD(all); - COMPARE_NODE_FIELD(larg); - COMPARE_NODE_FIELD(rarg); - - return true; -} - -static bool -_equalSetOperationStmt(const SetOperationStmt *a, const SetOperationStmt *b) -{ - COMPARE_SCALAR_FIELD(op); - COMPARE_SCALAR_FIELD(all); - COMPARE_NODE_FIELD(larg); - COMPARE_NODE_FIELD(rarg); - COMPARE_NODE_FIELD(colTypes); - COMPARE_NODE_FIELD(colTypmods); - COMPARE_NODE_FIELD(colCollations); - COMPARE_NODE_FIELD(groupClauses); - - return true; -} - -static bool -_equalReturnStmt(const ReturnStmt *a, const ReturnStmt *b) -{ - COMPARE_NODE_FIELD(returnval); - - return true; -} - -static bool -_equalPLAssignStmt(const PLAssignStmt *a, const PLAssignStmt *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(indirection); - COMPARE_SCALAR_FIELD(nnames); - COMPARE_NODE_FIELD(val); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalAlterTableStmt(const AlterTableStmt *a, const AlterTableStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(cmds); - COMPARE_SCALAR_FIELD(objtype); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalAlterTableCmd(const AlterTableCmd *a, const AlterTableCmd *b) -{ - COMPARE_SCALAR_FIELD(subtype); - COMPARE_STRING_FIELD(name); - COMPARE_SCALAR_FIELD(num); - COMPARE_NODE_FIELD(newowner); - COMPARE_NODE_FIELD(def); - COMPARE_SCALAR_FIELD(behavior); - COMPARE_SCALAR_FIELD(missing_ok); - COMPARE_SCALAR_FIELD(recurse); - - return true; -} - -static bool -_equalAlterCollationStmt(const AlterCollationStmt *a, const AlterCollationStmt *b) -{ - COMPARE_NODE_FIELD(collname); - - return true; -} - -static bool -_equalAlterDomainStmt(const AlterDomainStmt *a, const AlterDomainStmt *b) -{ - COMPARE_SCALAR_FIELD(subtype); - COMPARE_NODE_FIELD(typeName); - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(def); - COMPARE_SCALAR_FIELD(behavior); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalGrantStmt(const GrantStmt *a, const GrantStmt *b) -{ - COMPARE_SCALAR_FIELD(is_grant); - COMPARE_SCALAR_FIELD(targtype); - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(objects); - COMPARE_NODE_FIELD(privileges); - COMPARE_NODE_FIELD(grantees); - COMPARE_SCALAR_FIELD(grant_option); - COMPARE_NODE_FIELD(grantor); - COMPARE_SCALAR_FIELD(behavior); - - return true; -} - -static bool -_equalObjectWithArgs(const ObjectWithArgs *a, const ObjectWithArgs *b) -{ - COMPARE_NODE_FIELD(objname); - COMPARE_NODE_FIELD(objargs); - COMPARE_NODE_FIELD(objfuncargs); - COMPARE_SCALAR_FIELD(args_unspecified); - - return true; -} - -static bool -_equalAccessPriv(const AccessPriv *a, const AccessPriv *b) -{ - COMPARE_STRING_FIELD(priv_name); - COMPARE_NODE_FIELD(cols); - - return true; -} - -static bool -_equalGrantRoleStmt(const GrantRoleStmt *a, const GrantRoleStmt *b) -{ - COMPARE_NODE_FIELD(granted_roles); - COMPARE_NODE_FIELD(grantee_roles); - COMPARE_SCALAR_FIELD(is_grant); - COMPARE_SCALAR_FIELD(admin_opt); - COMPARE_NODE_FIELD(grantor); - COMPARE_SCALAR_FIELD(behavior); - - return true; -} - -static bool -_equalAlterDefaultPrivilegesStmt(const AlterDefaultPrivilegesStmt *a, const AlterDefaultPrivilegesStmt *b) -{ - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(action); - - return true; -} - -static bool -_equalDeclareCursorStmt(const DeclareCursorStmt *a, const DeclareCursorStmt *b) -{ - COMPARE_STRING_FIELD(portalname); - COMPARE_SCALAR_FIELD(options); - COMPARE_NODE_FIELD(query); - - return true; -} - -static bool -_equalClosePortalStmt(const ClosePortalStmt *a, const ClosePortalStmt *b) -{ - COMPARE_STRING_FIELD(portalname); - - return true; -} - -static bool -_equalCallStmt(const CallStmt *a, const CallStmt *b) -{ - COMPARE_NODE_FIELD(funccall); - COMPARE_NODE_FIELD(funcexpr); - COMPARE_NODE_FIELD(outargs); - - return true; -} - -static bool -_equalClusterStmt(const ClusterStmt *a, const ClusterStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_STRING_FIELD(indexname); - COMPARE_NODE_FIELD(params); - - return true; -} - -static bool -_equalCopyStmt(const CopyStmt *a, const CopyStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(query); - COMPARE_NODE_FIELD(attlist); - COMPARE_SCALAR_FIELD(is_from); - COMPARE_SCALAR_FIELD(is_program); - COMPARE_STRING_FIELD(filename); - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(whereClause); - - return true; -} - -static bool -_equalCreateStmt(const CreateStmt *a, const CreateStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(tableElts); - COMPARE_NODE_FIELD(inhRelations); - COMPARE_NODE_FIELD(partbound); - COMPARE_NODE_FIELD(partspec); - COMPARE_NODE_FIELD(ofTypename); - COMPARE_NODE_FIELD(constraints); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(oncommit); - COMPARE_STRING_FIELD(tablespacename); - COMPARE_STRING_FIELD(accessMethod); - COMPARE_SCALAR_FIELD(if_not_exists); - - return true; -} - -static bool -_equalTableLikeClause(const TableLikeClause *a, const TableLikeClause *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_SCALAR_FIELD(options); - COMPARE_SCALAR_FIELD(relationOid); - - return true; -} - -static bool -_equalDefineStmt(const DefineStmt *a, const DefineStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_SCALAR_FIELD(oldstyle); - COMPARE_NODE_FIELD(defnames); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(definition); - COMPARE_SCALAR_FIELD(if_not_exists); - COMPARE_SCALAR_FIELD(replace); - - return true; -} - -static bool -_equalDropStmt(const DropStmt *a, const DropStmt *b) -{ - COMPARE_NODE_FIELD(objects); - COMPARE_SCALAR_FIELD(removeType); - COMPARE_SCALAR_FIELD(behavior); - COMPARE_SCALAR_FIELD(missing_ok); - COMPARE_SCALAR_FIELD(concurrent); - - return true; -} - -static bool -_equalTruncateStmt(const TruncateStmt *a, const TruncateStmt *b) -{ - COMPARE_NODE_FIELD(relations); - COMPARE_SCALAR_FIELD(restart_seqs); - COMPARE_SCALAR_FIELD(behavior); - - return true; -} - -static bool -_equalCommentStmt(const CommentStmt *a, const CommentStmt *b) -{ - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(object); - COMPARE_STRING_FIELD(comment); - - return true; -} - -static bool -_equalSecLabelStmt(const SecLabelStmt *a, const SecLabelStmt *b) -{ - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(object); - COMPARE_STRING_FIELD(provider); - COMPARE_STRING_FIELD(label); - - return true; -} - -static bool -_equalFetchStmt(const FetchStmt *a, const FetchStmt *b) -{ - COMPARE_SCALAR_FIELD(direction); - COMPARE_SCALAR_FIELD(howMany); - COMPARE_STRING_FIELD(portalname); - COMPARE_SCALAR_FIELD(ismove); - - return true; -} - -static bool -_equalIndexStmt(const IndexStmt *a, const IndexStmt *b) -{ - COMPARE_STRING_FIELD(idxname); - COMPARE_NODE_FIELD(relation); - COMPARE_STRING_FIELD(accessMethod); - COMPARE_STRING_FIELD(tableSpace); - COMPARE_NODE_FIELD(indexParams); - COMPARE_NODE_FIELD(indexIncludingParams); - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(whereClause); - COMPARE_NODE_FIELD(excludeOpNames); - COMPARE_STRING_FIELD(idxcomment); - COMPARE_SCALAR_FIELD(indexOid); - COMPARE_SCALAR_FIELD(oldNode); - COMPARE_SCALAR_FIELD(oldCreateSubid); - COMPARE_SCALAR_FIELD(oldFirstRelfilenodeSubid); - COMPARE_SCALAR_FIELD(unique); - COMPARE_SCALAR_FIELD(nulls_not_distinct); - COMPARE_SCALAR_FIELD(primary); - COMPARE_SCALAR_FIELD(isconstraint); - COMPARE_SCALAR_FIELD(deferrable); - COMPARE_SCALAR_FIELD(initdeferred); - COMPARE_SCALAR_FIELD(transformed); - COMPARE_SCALAR_FIELD(concurrent); - COMPARE_SCALAR_FIELD(if_not_exists); - COMPARE_SCALAR_FIELD(reset_default_tblspc); - - return true; -} - -static bool -_equalCreateStatsStmt(const CreateStatsStmt *a, const CreateStatsStmt *b) -{ - COMPARE_NODE_FIELD(defnames); - COMPARE_NODE_FIELD(stat_types); - COMPARE_NODE_FIELD(exprs); - COMPARE_NODE_FIELD(relations); - COMPARE_STRING_FIELD(stxcomment); - COMPARE_SCALAR_FIELD(transformed); - COMPARE_SCALAR_FIELD(if_not_exists); - - return true; -} - -static bool -_equalAlterStatsStmt(const AlterStatsStmt *a, const AlterStatsStmt *b) -{ - COMPARE_NODE_FIELD(defnames); - COMPARE_SCALAR_FIELD(stxstattarget); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalCreateFunctionStmt(const CreateFunctionStmt *a, const CreateFunctionStmt *b) -{ - COMPARE_SCALAR_FIELD(is_procedure); - COMPARE_SCALAR_FIELD(replace); - COMPARE_NODE_FIELD(funcname); - COMPARE_NODE_FIELD(parameters); - COMPARE_NODE_FIELD(returnType); - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(sql_body); - - return true; -} - -static bool -_equalFunctionParameter(const FunctionParameter *a, const FunctionParameter *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(argType); - COMPARE_SCALAR_FIELD(mode); - COMPARE_NODE_FIELD(defexpr); - - return true; -} - -static bool -_equalAlterFunctionStmt(const AlterFunctionStmt *a, const AlterFunctionStmt *b) -{ - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(func); - COMPARE_NODE_FIELD(actions); - - return true; -} - -static bool -_equalDoStmt(const DoStmt *a, const DoStmt *b) -{ - COMPARE_NODE_FIELD(args); - - return true; -} - -static bool -_equalRenameStmt(const RenameStmt *a, const RenameStmt *b) -{ - COMPARE_SCALAR_FIELD(renameType); - COMPARE_SCALAR_FIELD(relationType); - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(object); - COMPARE_STRING_FIELD(subname); - COMPARE_STRING_FIELD(newname); - COMPARE_SCALAR_FIELD(behavior); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalAlterObjectDependsStmt(const AlterObjectDependsStmt *a, const AlterObjectDependsStmt *b) -{ - COMPARE_SCALAR_FIELD(objectType); - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(object); - COMPARE_NODE_FIELD(extname); - COMPARE_SCALAR_FIELD(remove); - - return true; -} - -static bool -_equalAlterObjectSchemaStmt(const AlterObjectSchemaStmt *a, const AlterObjectSchemaStmt *b) -{ - COMPARE_SCALAR_FIELD(objectType); - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(object); - COMPARE_STRING_FIELD(newschema); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalAlterOwnerStmt(const AlterOwnerStmt *a, const AlterOwnerStmt *b) -{ - COMPARE_SCALAR_FIELD(objectType); - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(object); - COMPARE_NODE_FIELD(newowner); - - return true; -} - -static bool -_equalAlterOperatorStmt(const AlterOperatorStmt *a, const AlterOperatorStmt *b) -{ - COMPARE_NODE_FIELD(opername); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterTypeStmt(const AlterTypeStmt *a, const AlterTypeStmt *b) -{ - COMPARE_NODE_FIELD(typeName); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalRuleStmt(const RuleStmt *a, const RuleStmt *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_STRING_FIELD(rulename); - COMPARE_NODE_FIELD(whereClause); - COMPARE_SCALAR_FIELD(event); - COMPARE_SCALAR_FIELD(instead); - COMPARE_NODE_FIELD(actions); - COMPARE_SCALAR_FIELD(replace); - - return true; -} - -static bool -_equalNotifyStmt(const NotifyStmt *a, const NotifyStmt *b) -{ - COMPARE_STRING_FIELD(conditionname); - COMPARE_STRING_FIELD(payload); - - return true; -} - -static bool -_equalListenStmt(const ListenStmt *a, const ListenStmt *b) -{ - COMPARE_STRING_FIELD(conditionname); - - return true; -} - -static bool -_equalUnlistenStmt(const UnlistenStmt *a, const UnlistenStmt *b) -{ - COMPARE_STRING_FIELD(conditionname); - - return true; -} - -static bool -_equalTransactionStmt(const TransactionStmt *a, const TransactionStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(options); - COMPARE_STRING_FIELD(savepoint_name); - COMPARE_STRING_FIELD(gid); - COMPARE_SCALAR_FIELD(chain); - - return true; -} - -static bool -_equalCompositeTypeStmt(const CompositeTypeStmt *a, const CompositeTypeStmt *b) -{ - COMPARE_NODE_FIELD(typevar); - COMPARE_NODE_FIELD(coldeflist); - - return true; -} - -static bool -_equalCreateEnumStmt(const CreateEnumStmt *a, const CreateEnumStmt *b) -{ - COMPARE_NODE_FIELD(typeName); - COMPARE_NODE_FIELD(vals); - - return true; -} - -static bool -_equalCreateRangeStmt(const CreateRangeStmt *a, const CreateRangeStmt *b) -{ - COMPARE_NODE_FIELD(typeName); - COMPARE_NODE_FIELD(params); - - return true; -} - -static bool -_equalAlterEnumStmt(const AlterEnumStmt *a, const AlterEnumStmt *b) -{ - COMPARE_NODE_FIELD(typeName); - COMPARE_STRING_FIELD(oldVal); - COMPARE_STRING_FIELD(newVal); - COMPARE_STRING_FIELD(newValNeighbor); - COMPARE_SCALAR_FIELD(newValIsAfter); - COMPARE_SCALAR_FIELD(skipIfNewValExists); - - return true; -} - -static bool -_equalViewStmt(const ViewStmt *a, const ViewStmt *b) -{ - COMPARE_NODE_FIELD(view); - COMPARE_NODE_FIELD(aliases); - COMPARE_NODE_FIELD(query); - COMPARE_SCALAR_FIELD(replace); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(withCheckOption); - - return true; -} - -static bool -_equalLoadStmt(const LoadStmt *a, const LoadStmt *b) -{ - COMPARE_STRING_FIELD(filename); - - return true; -} - -static bool -_equalCreateDomainStmt(const CreateDomainStmt *a, const CreateDomainStmt *b) -{ - COMPARE_NODE_FIELD(domainname); - COMPARE_NODE_FIELD(typeName); - COMPARE_NODE_FIELD(collClause); - COMPARE_NODE_FIELD(constraints); - - return true; -} - -static bool -_equalCreateOpClassStmt(const CreateOpClassStmt *a, const CreateOpClassStmt *b) -{ - COMPARE_NODE_FIELD(opclassname); - COMPARE_NODE_FIELD(opfamilyname); - COMPARE_STRING_FIELD(amname); - COMPARE_NODE_FIELD(datatype); - COMPARE_NODE_FIELD(items); - COMPARE_SCALAR_FIELD(isDefault); - - return true; -} - -static bool -_equalCreateOpClassItem(const CreateOpClassItem *a, const CreateOpClassItem *b) -{ - COMPARE_SCALAR_FIELD(itemtype); - COMPARE_NODE_FIELD(name); - COMPARE_SCALAR_FIELD(number); - COMPARE_NODE_FIELD(order_family); - COMPARE_NODE_FIELD(class_args); - COMPARE_NODE_FIELD(storedtype); - - return true; -} - -static bool -_equalCreateOpFamilyStmt(const CreateOpFamilyStmt *a, const CreateOpFamilyStmt *b) -{ - COMPARE_NODE_FIELD(opfamilyname); - COMPARE_STRING_FIELD(amname); - - return true; -} - -static bool -_equalAlterOpFamilyStmt(const AlterOpFamilyStmt *a, const AlterOpFamilyStmt *b) -{ - COMPARE_NODE_FIELD(opfamilyname); - COMPARE_STRING_FIELD(amname); - COMPARE_SCALAR_FIELD(isDrop); - COMPARE_NODE_FIELD(items); - - return true; -} - -static bool -_equalCreatedbStmt(const CreatedbStmt *a, const CreatedbStmt *b) -{ - COMPARE_STRING_FIELD(dbname); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterDatabaseStmt(const AlterDatabaseStmt *a, const AlterDatabaseStmt *b) -{ - COMPARE_STRING_FIELD(dbname); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterDatabaseRefreshCollStmt(const AlterDatabaseRefreshCollStmt *a, const AlterDatabaseRefreshCollStmt *b) -{ - COMPARE_STRING_FIELD(dbname); - - return true; -} - -static bool -_equalAlterDatabaseSetStmt(const AlterDatabaseSetStmt *a, const AlterDatabaseSetStmt *b) -{ - COMPARE_STRING_FIELD(dbname); - COMPARE_NODE_FIELD(setstmt); - - return true; -} - -static bool -_equalDropdbStmt(const DropdbStmt *a, const DropdbStmt *b) -{ - COMPARE_STRING_FIELD(dbname); - COMPARE_SCALAR_FIELD(missing_ok); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalVacuumStmt(const VacuumStmt *a, const VacuumStmt *b) -{ - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(rels); - COMPARE_SCALAR_FIELD(is_vacuumcmd); - - return true; -} - -static bool -_equalVacuumRelation(const VacuumRelation *a, const VacuumRelation *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_SCALAR_FIELD(oid); - COMPARE_NODE_FIELD(va_cols); - - return true; -} - -static bool -_equalExplainStmt(const ExplainStmt *a, const ExplainStmt *b) -{ - COMPARE_NODE_FIELD(query); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalCreateTableAsStmt(const CreateTableAsStmt *a, const CreateTableAsStmt *b) -{ - COMPARE_NODE_FIELD(query); - COMPARE_NODE_FIELD(into); - COMPARE_SCALAR_FIELD(objtype); - COMPARE_SCALAR_FIELD(is_select_into); - COMPARE_SCALAR_FIELD(if_not_exists); - - return true; -} - -static bool -_equalRefreshMatViewStmt(const RefreshMatViewStmt *a, const RefreshMatViewStmt *b) -{ - COMPARE_SCALAR_FIELD(concurrent); - COMPARE_SCALAR_FIELD(skipData); - COMPARE_NODE_FIELD(relation); - - return true; -} - -static bool -_equalReplicaIdentityStmt(const ReplicaIdentityStmt *a, const ReplicaIdentityStmt *b) -{ - COMPARE_SCALAR_FIELD(identity_type); - COMPARE_STRING_FIELD(name); - - return true; -} - -static bool -_equalAlterSystemStmt(const AlterSystemStmt *a, const AlterSystemStmt *b) -{ - COMPARE_NODE_FIELD(setstmt); - - return true; -} - - -static bool -_equalCreateSeqStmt(const CreateSeqStmt *a, const CreateSeqStmt *b) -{ - COMPARE_NODE_FIELD(sequence); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(ownerId); - COMPARE_SCALAR_FIELD(for_identity); - COMPARE_SCALAR_FIELD(if_not_exists); - - return true; -} - -static bool -_equalAlterSeqStmt(const AlterSeqStmt *a, const AlterSeqStmt *b) -{ - COMPARE_NODE_FIELD(sequence); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(for_identity); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalVariableSetStmt(const VariableSetStmt *a, const VariableSetStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(args); - COMPARE_SCALAR_FIELD(is_local); - - return true; -} - -static bool -_equalVariableShowStmt(const VariableShowStmt *a, const VariableShowStmt *b) -{ - COMPARE_STRING_FIELD(name); - - return true; -} - -static bool -_equalDiscardStmt(const DiscardStmt *a, const DiscardStmt *b) -{ - COMPARE_SCALAR_FIELD(target); - - return true; -} - -static bool -_equalCreateTableSpaceStmt(const CreateTableSpaceStmt *a, const CreateTableSpaceStmt *b) -{ - COMPARE_STRING_FIELD(tablespacename); - COMPARE_NODE_FIELD(owner); - COMPARE_STRING_FIELD(location); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalDropTableSpaceStmt(const DropTableSpaceStmt *a, const DropTableSpaceStmt *b) -{ - COMPARE_STRING_FIELD(tablespacename); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalAlterTableSpaceOptionsStmt(const AlterTableSpaceOptionsStmt *a, - const AlterTableSpaceOptionsStmt *b) -{ - COMPARE_STRING_FIELD(tablespacename); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(isReset); - - return true; -} - -static bool -_equalAlterTableMoveAllStmt(const AlterTableMoveAllStmt *a, - const AlterTableMoveAllStmt *b) -{ - COMPARE_STRING_FIELD(orig_tablespacename); - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(roles); - COMPARE_STRING_FIELD(new_tablespacename); - COMPARE_SCALAR_FIELD(nowait); - - return true; -} - -static bool -_equalCreateExtensionStmt(const CreateExtensionStmt *a, const CreateExtensionStmt *b) -{ - COMPARE_STRING_FIELD(extname); - COMPARE_SCALAR_FIELD(if_not_exists); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterExtensionStmt(const AlterExtensionStmt *a, const AlterExtensionStmt *b) -{ - COMPARE_STRING_FIELD(extname); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterExtensionContentsStmt(const AlterExtensionContentsStmt *a, const AlterExtensionContentsStmt *b) -{ - COMPARE_STRING_FIELD(extname); - COMPARE_SCALAR_FIELD(action); - COMPARE_SCALAR_FIELD(objtype); - COMPARE_NODE_FIELD(object); - - return true; -} - -static bool -_equalCreateFdwStmt(const CreateFdwStmt *a, const CreateFdwStmt *b) -{ - COMPARE_STRING_FIELD(fdwname); - COMPARE_NODE_FIELD(func_options); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterFdwStmt(const AlterFdwStmt *a, const AlterFdwStmt *b) -{ - COMPARE_STRING_FIELD(fdwname); - COMPARE_NODE_FIELD(func_options); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalCreateForeignServerStmt(const CreateForeignServerStmt *a, const CreateForeignServerStmt *b) -{ - COMPARE_STRING_FIELD(servername); - COMPARE_STRING_FIELD(servertype); - COMPARE_STRING_FIELD(version); - COMPARE_STRING_FIELD(fdwname); - COMPARE_SCALAR_FIELD(if_not_exists); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterForeignServerStmt(const AlterForeignServerStmt *a, const AlterForeignServerStmt *b) -{ - COMPARE_STRING_FIELD(servername); - COMPARE_STRING_FIELD(version); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(has_version); - - return true; -} - -static bool -_equalCreateUserMappingStmt(const CreateUserMappingStmt *a, const CreateUserMappingStmt *b) -{ - COMPARE_NODE_FIELD(user); - COMPARE_STRING_FIELD(servername); - COMPARE_SCALAR_FIELD(if_not_exists); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterUserMappingStmt(const AlterUserMappingStmt *a, const AlterUserMappingStmt *b) -{ - COMPARE_NODE_FIELD(user); - COMPARE_STRING_FIELD(servername); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalDropUserMappingStmt(const DropUserMappingStmt *a, const DropUserMappingStmt *b) -{ - COMPARE_NODE_FIELD(user); - COMPARE_STRING_FIELD(servername); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalCreateForeignTableStmt(const CreateForeignTableStmt *a, const CreateForeignTableStmt *b) -{ - if (!_equalCreateStmt(&a->base, &b->base)) - return false; - - COMPARE_STRING_FIELD(servername); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalImportForeignSchemaStmt(const ImportForeignSchemaStmt *a, const ImportForeignSchemaStmt *b) -{ - COMPARE_STRING_FIELD(server_name); - COMPARE_STRING_FIELD(remote_schema); - COMPARE_STRING_FIELD(local_schema); - COMPARE_SCALAR_FIELD(list_type); - COMPARE_NODE_FIELD(table_list); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalCreateTransformStmt(const CreateTransformStmt *a, const CreateTransformStmt *b) -{ - COMPARE_SCALAR_FIELD(replace); - COMPARE_NODE_FIELD(type_name); - COMPARE_STRING_FIELD(lang); - COMPARE_NODE_FIELD(fromsql); - COMPARE_NODE_FIELD(tosql); - - return true; -} - -static bool -_equalCreateAmStmt(const CreateAmStmt *a, const CreateAmStmt *b) -{ - COMPARE_STRING_FIELD(amname); - COMPARE_NODE_FIELD(handler_name); - COMPARE_SCALAR_FIELD(amtype); - - return true; -} - -static bool -_equalCreateTrigStmt(const CreateTrigStmt *a, const CreateTrigStmt *b) -{ - COMPARE_SCALAR_FIELD(replace); - COMPARE_SCALAR_FIELD(isconstraint); - COMPARE_STRING_FIELD(trigname); - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(funcname); - COMPARE_NODE_FIELD(args); - COMPARE_SCALAR_FIELD(row); - COMPARE_SCALAR_FIELD(timing); - COMPARE_SCALAR_FIELD(events); - COMPARE_NODE_FIELD(columns); - COMPARE_NODE_FIELD(whenClause); - COMPARE_NODE_FIELD(transitionRels); - COMPARE_SCALAR_FIELD(deferrable); - COMPARE_SCALAR_FIELD(initdeferred); - COMPARE_NODE_FIELD(constrrel); - - return true; -} - -static bool -_equalCreateEventTrigStmt(const CreateEventTrigStmt *a, const CreateEventTrigStmt *b) -{ - COMPARE_STRING_FIELD(trigname); - COMPARE_STRING_FIELD(eventname); - COMPARE_NODE_FIELD(whenclause); - COMPARE_NODE_FIELD(funcname); - - return true; -} - -static bool -_equalAlterEventTrigStmt(const AlterEventTrigStmt *a, const AlterEventTrigStmt *b) -{ - COMPARE_STRING_FIELD(trigname); - COMPARE_SCALAR_FIELD(tgenabled); - - return true; -} - -static bool -_equalCreatePLangStmt(const CreatePLangStmt *a, const CreatePLangStmt *b) -{ - COMPARE_SCALAR_FIELD(replace); - COMPARE_STRING_FIELD(plname); - COMPARE_NODE_FIELD(plhandler); - COMPARE_NODE_FIELD(plinline); - COMPARE_NODE_FIELD(plvalidator); - COMPARE_SCALAR_FIELD(pltrusted); - - return true; -} - -static bool -_equalCreateRoleStmt(const CreateRoleStmt *a, const CreateRoleStmt *b) -{ - COMPARE_SCALAR_FIELD(stmt_type); - COMPARE_STRING_FIELD(role); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterRoleStmt(const AlterRoleStmt *a, const AlterRoleStmt *b) -{ - COMPARE_NODE_FIELD(role); - COMPARE_NODE_FIELD(options); - COMPARE_SCALAR_FIELD(action); - - return true; -} - -static bool -_equalAlterRoleSetStmt(const AlterRoleSetStmt *a, const AlterRoleSetStmt *b) -{ - COMPARE_NODE_FIELD(role); - COMPARE_STRING_FIELD(database); - COMPARE_NODE_FIELD(setstmt); - - return true; -} - -static bool -_equalDropRoleStmt(const DropRoleStmt *a, const DropRoleStmt *b) -{ - COMPARE_NODE_FIELD(roles); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalLockStmt(const LockStmt *a, const LockStmt *b) -{ - COMPARE_NODE_FIELD(relations); - COMPARE_SCALAR_FIELD(mode); - COMPARE_SCALAR_FIELD(nowait); - - return true; -} - -static bool -_equalConstraintsSetStmt(const ConstraintsSetStmt *a, const ConstraintsSetStmt *b) -{ - COMPARE_NODE_FIELD(constraints); - COMPARE_SCALAR_FIELD(deferred); - - return true; -} - -static bool -_equalReindexStmt(const ReindexStmt *a, const ReindexStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(relation); - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(params); - - return true; -} - -static bool -_equalCreateSchemaStmt(const CreateSchemaStmt *a, const CreateSchemaStmt *b) -{ - COMPARE_STRING_FIELD(schemaname); - COMPARE_NODE_FIELD(authrole); - COMPARE_NODE_FIELD(schemaElts); - COMPARE_SCALAR_FIELD(if_not_exists); - - return true; -} - -static bool -_equalCreateConversionStmt(const CreateConversionStmt *a, const CreateConversionStmt *b) -{ - COMPARE_NODE_FIELD(conversion_name); - COMPARE_STRING_FIELD(for_encoding_name); - COMPARE_STRING_FIELD(to_encoding_name); - COMPARE_NODE_FIELD(func_name); - COMPARE_SCALAR_FIELD(def); - - return true; -} - -static bool -_equalCreateCastStmt(const CreateCastStmt *a, const CreateCastStmt *b) -{ - COMPARE_NODE_FIELD(sourcetype); - COMPARE_NODE_FIELD(targettype); - COMPARE_NODE_FIELD(func); - COMPARE_SCALAR_FIELD(context); - COMPARE_SCALAR_FIELD(inout); - - return true; -} - -static bool -_equalPrepareStmt(const PrepareStmt *a, const PrepareStmt *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(argtypes); - COMPARE_NODE_FIELD(query); - - return true; -} - -static bool -_equalExecuteStmt(const ExecuteStmt *a, const ExecuteStmt *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(params); - - return true; -} - -static bool -_equalDeallocateStmt(const DeallocateStmt *a, const DeallocateStmt *b) -{ - COMPARE_STRING_FIELD(name); - - return true; -} - -static bool -_equalDropOwnedStmt(const DropOwnedStmt *a, const DropOwnedStmt *b) -{ - COMPARE_NODE_FIELD(roles); - COMPARE_SCALAR_FIELD(behavior); - - return true; -} - -static bool -_equalReassignOwnedStmt(const ReassignOwnedStmt *a, const ReassignOwnedStmt *b) -{ - COMPARE_NODE_FIELD(roles); - COMPARE_NODE_FIELD(newrole); - - return true; -} - -static bool -_equalAlterTSDictionaryStmt(const AlterTSDictionaryStmt *a, const AlterTSDictionaryStmt *b) -{ - COMPARE_NODE_FIELD(dictname); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterTSConfigurationStmt(const AlterTSConfigurationStmt *a, - const AlterTSConfigurationStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(cfgname); - COMPARE_NODE_FIELD(tokentype); - COMPARE_NODE_FIELD(dicts); - COMPARE_SCALAR_FIELD(override); - COMPARE_SCALAR_FIELD(replace); - COMPARE_SCALAR_FIELD(missing_ok); - - return true; -} - -static bool -_equalPublicationObject(const PublicationObjSpec *a, - const PublicationObjSpec *b) -{ - COMPARE_SCALAR_FIELD(pubobjtype); - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(pubtable); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalPublicationTable(const PublicationTable *a, const PublicationTable *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(whereClause); - COMPARE_NODE_FIELD(columns); - - return true; -} - -static bool -_equalCreatePublicationStmt(const CreatePublicationStmt *a, - const CreatePublicationStmt *b) -{ - COMPARE_STRING_FIELD(pubname); - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(pubobjects); - COMPARE_SCALAR_FIELD(for_all_tables); - - return true; -} - -static bool -_equalAlterPublicationStmt(const AlterPublicationStmt *a, - const AlterPublicationStmt *b) -{ - COMPARE_STRING_FIELD(pubname); - COMPARE_NODE_FIELD(options); - COMPARE_NODE_FIELD(pubobjects); - COMPARE_SCALAR_FIELD(for_all_tables); - COMPARE_SCALAR_FIELD(action); - - return true; -} - -static bool -_equalCreateSubscriptionStmt(const CreateSubscriptionStmt *a, - const CreateSubscriptionStmt *b) -{ - COMPARE_STRING_FIELD(subname); - COMPARE_STRING_FIELD(conninfo); - COMPARE_NODE_FIELD(publication); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalAlterSubscriptionStmt(const AlterSubscriptionStmt *a, - const AlterSubscriptionStmt *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_STRING_FIELD(subname); - COMPARE_STRING_FIELD(conninfo); - COMPARE_NODE_FIELD(publication); - COMPARE_NODE_FIELD(options); - - return true; -} - -static bool -_equalDropSubscriptionStmt(const DropSubscriptionStmt *a, - const DropSubscriptionStmt *b) -{ - COMPARE_STRING_FIELD(subname); - COMPARE_SCALAR_FIELD(missing_ok); - COMPARE_SCALAR_FIELD(behavior); - - return true; -} - -static bool -_equalCreatePolicyStmt(const CreatePolicyStmt *a, const CreatePolicyStmt *b) -{ - COMPARE_STRING_FIELD(policy_name); - COMPARE_NODE_FIELD(table); - COMPARE_STRING_FIELD(cmd_name); - COMPARE_SCALAR_FIELD(permissive); - COMPARE_NODE_FIELD(roles); - COMPARE_NODE_FIELD(qual); - COMPARE_NODE_FIELD(with_check); - - return true; -} - -static bool -_equalAlterPolicyStmt(const AlterPolicyStmt *a, const AlterPolicyStmt *b) -{ - COMPARE_STRING_FIELD(policy_name); - COMPARE_NODE_FIELD(table); - COMPARE_NODE_FIELD(roles); - COMPARE_NODE_FIELD(qual); - COMPARE_NODE_FIELD(with_check); - - return true; -} - -static bool -_equalA_Expr(const A_Expr *a, const A_Expr *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(name); - COMPARE_NODE_FIELD(lexpr); - COMPARE_NODE_FIELD(rexpr); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalColumnRef(const ColumnRef *a, const ColumnRef *b) -{ - COMPARE_NODE_FIELD(fields); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalParamRef(const ParamRef *a, const ParamRef *b) -{ - COMPARE_SCALAR_FIELD(number); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalA_Const(const A_Const *a, const A_Const *b) -{ - /* - * Hack for in-line val field. Also val is not valid is isnull is true. - */ - if (!a->isnull && !b->isnull && - !equal(&a->val, &b->val)) - return false; - COMPARE_SCALAR_FIELD(isnull); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalFuncCall(const FuncCall *a, const FuncCall *b) -{ - COMPARE_NODE_FIELD(funcname); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(agg_order); - COMPARE_NODE_FIELD(agg_filter); - COMPARE_NODE_FIELD(over); - COMPARE_SCALAR_FIELD(agg_within_group); - COMPARE_SCALAR_FIELD(agg_star); - COMPARE_SCALAR_FIELD(agg_distinct); - COMPARE_SCALAR_FIELD(func_variadic); - COMPARE_COERCIONFORM_FIELD(funcformat); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalA_Star(const A_Star *a, const A_Star *b) -{ - return true; -} - -static bool -_equalA_Indices(const A_Indices *a, const A_Indices *b) -{ - COMPARE_SCALAR_FIELD(is_slice); - COMPARE_NODE_FIELD(lidx); - COMPARE_NODE_FIELD(uidx); - - return true; -} - -static bool -_equalA_Indirection(const A_Indirection *a, const A_Indirection *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(indirection); - - return true; -} - -static bool -_equalA_ArrayExpr(const A_ArrayExpr *a, const A_ArrayExpr *b) -{ - COMPARE_NODE_FIELD(elements); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalResTarget(const ResTarget *a, const ResTarget *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(indirection); - COMPARE_NODE_FIELD(val); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalMultiAssignRef(const MultiAssignRef *a, const MultiAssignRef *b) -{ - COMPARE_NODE_FIELD(source); - COMPARE_SCALAR_FIELD(colno); - COMPARE_SCALAR_FIELD(ncolumns); - - return true; -} - -static bool -_equalTypeName(const TypeName *a, const TypeName *b) -{ - COMPARE_NODE_FIELD(names); - COMPARE_SCALAR_FIELD(typeOid); - COMPARE_SCALAR_FIELD(setof); - COMPARE_SCALAR_FIELD(pct_type); - COMPARE_NODE_FIELD(typmods); - COMPARE_SCALAR_FIELD(typemod); - COMPARE_NODE_FIELD(arrayBounds); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalTypeCast(const TypeCast *a, const TypeCast *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(typeName); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCollateClause(const CollateClause *a, const CollateClause *b) -{ - COMPARE_NODE_FIELD(arg); - COMPARE_NODE_FIELD(collname); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalSortBy(const SortBy *a, const SortBy *b) -{ - COMPARE_NODE_FIELD(node); - COMPARE_SCALAR_FIELD(sortby_dir); - COMPARE_SCALAR_FIELD(sortby_nulls); - COMPARE_NODE_FIELD(useOp); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalWindowDef(const WindowDef *a, const WindowDef *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_STRING_FIELD(refname); - COMPARE_NODE_FIELD(partitionClause); - COMPARE_NODE_FIELD(orderClause); - COMPARE_SCALAR_FIELD(frameOptions); - COMPARE_NODE_FIELD(startOffset); - COMPARE_NODE_FIELD(endOffset); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRangeSubselect(const RangeSubselect *a, const RangeSubselect *b) -{ - COMPARE_SCALAR_FIELD(lateral); - COMPARE_NODE_FIELD(subquery); - COMPARE_NODE_FIELD(alias); - - return true; -} - -static bool -_equalRangeFunction(const RangeFunction *a, const RangeFunction *b) -{ - COMPARE_SCALAR_FIELD(lateral); - COMPARE_SCALAR_FIELD(ordinality); - COMPARE_SCALAR_FIELD(is_rowsfrom); - COMPARE_NODE_FIELD(functions); - COMPARE_NODE_FIELD(alias); - COMPARE_NODE_FIELD(coldeflist); - - return true; -} - -static bool -_equalRangeTableSample(const RangeTableSample *a, const RangeTableSample *b) -{ - COMPARE_NODE_FIELD(relation); - COMPARE_NODE_FIELD(method); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(repeatable); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRangeTableFunc(const RangeTableFunc *a, const RangeTableFunc *b) -{ - COMPARE_SCALAR_FIELD(lateral); - COMPARE_NODE_FIELD(docexpr); - COMPARE_NODE_FIELD(rowexpr); - COMPARE_NODE_FIELD(namespaces); - COMPARE_NODE_FIELD(columns); - COMPARE_NODE_FIELD(alias); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRangeTableFuncCol(const RangeTableFuncCol *a, const RangeTableFuncCol *b) -{ - COMPARE_STRING_FIELD(colname); - COMPARE_NODE_FIELD(typeName); - COMPARE_SCALAR_FIELD(for_ordinality); - COMPARE_SCALAR_FIELD(is_not_null); - COMPARE_NODE_FIELD(colexpr); - COMPARE_NODE_FIELD(coldefexpr); - COMPARE_LOCATION_FIELD(location); - - return true; -} - - -static bool -_equalIndexElem(const IndexElem *a, const IndexElem *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(expr); - COMPARE_STRING_FIELD(indexcolname); - COMPARE_NODE_FIELD(collation); - COMPARE_NODE_FIELD(opclass); - COMPARE_NODE_FIELD(opclassopts); - COMPARE_SCALAR_FIELD(ordering); - COMPARE_SCALAR_FIELD(nulls_ordering); - - return true; -} - - -static bool -_equalStatsElem(const StatsElem *a, const StatsElem *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(expr); - - return true; -} - -static bool -_equalColumnDef(const ColumnDef *a, const ColumnDef *b) -{ - COMPARE_STRING_FIELD(colname); - COMPARE_NODE_FIELD(typeName); - COMPARE_STRING_FIELD(compression); - COMPARE_SCALAR_FIELD(inhcount); - COMPARE_SCALAR_FIELD(is_local); - COMPARE_SCALAR_FIELD(is_not_null); - COMPARE_SCALAR_FIELD(is_from_type); - COMPARE_SCALAR_FIELD(storage); - COMPARE_NODE_FIELD(raw_default); - COMPARE_NODE_FIELD(cooked_default); - COMPARE_SCALAR_FIELD(identity); - COMPARE_NODE_FIELD(identitySequence); - COMPARE_SCALAR_FIELD(generated); - COMPARE_NODE_FIELD(collClause); - COMPARE_SCALAR_FIELD(collOid); - COMPARE_NODE_FIELD(constraints); - COMPARE_NODE_FIELD(fdwoptions); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalConstraint(const Constraint *a, const Constraint *b) -{ - COMPARE_SCALAR_FIELD(contype); - COMPARE_STRING_FIELD(conname); - COMPARE_SCALAR_FIELD(deferrable); - COMPARE_SCALAR_FIELD(initdeferred); - COMPARE_LOCATION_FIELD(location); - COMPARE_SCALAR_FIELD(is_no_inherit); - COMPARE_NODE_FIELD(raw_expr); - COMPARE_STRING_FIELD(cooked_expr); - COMPARE_SCALAR_FIELD(generated_when); - COMPARE_SCALAR_FIELD(nulls_not_distinct); - COMPARE_NODE_FIELD(keys); - COMPARE_NODE_FIELD(including); - COMPARE_NODE_FIELD(exclusions); - COMPARE_NODE_FIELD(options); - COMPARE_STRING_FIELD(indexname); - COMPARE_STRING_FIELD(indexspace); - COMPARE_SCALAR_FIELD(reset_default_tblspc); - COMPARE_STRING_FIELD(access_method); - COMPARE_NODE_FIELD(where_clause); - COMPARE_NODE_FIELD(pktable); - COMPARE_NODE_FIELD(fk_attrs); - COMPARE_NODE_FIELD(pk_attrs); - COMPARE_SCALAR_FIELD(fk_matchtype); - COMPARE_SCALAR_FIELD(fk_upd_action); - COMPARE_SCALAR_FIELD(fk_del_action); - COMPARE_NODE_FIELD(fk_del_set_cols); - COMPARE_NODE_FIELD(old_conpfeqop); - COMPARE_SCALAR_FIELD(old_pktable_oid); - COMPARE_SCALAR_FIELD(skip_validation); - COMPARE_SCALAR_FIELD(initially_valid); - - return true; -} - -static bool -_equalDefElem(const DefElem *a, const DefElem *b) -{ - COMPARE_STRING_FIELD(defnamespace); - COMPARE_STRING_FIELD(defname); - COMPARE_NODE_FIELD(arg); - COMPARE_SCALAR_FIELD(defaction); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalLockingClause(const LockingClause *a, const LockingClause *b) -{ - COMPARE_NODE_FIELD(lockedRels); - COMPARE_SCALAR_FIELD(strength); - COMPARE_SCALAR_FIELD(waitPolicy); - - return true; -} - -static bool -_equalRangeTblEntry(const RangeTblEntry *a, const RangeTblEntry *b) -{ - COMPARE_SCALAR_FIELD(rtekind); - COMPARE_SCALAR_FIELD(relid); - COMPARE_SCALAR_FIELD(relkind); - COMPARE_SCALAR_FIELD(rellockmode); - COMPARE_NODE_FIELD(tablesample); - COMPARE_NODE_FIELD(subquery); - COMPARE_SCALAR_FIELD(security_barrier); - COMPARE_SCALAR_FIELD(jointype); - COMPARE_SCALAR_FIELD(joinmergedcols); - COMPARE_NODE_FIELD(joinaliasvars); - COMPARE_NODE_FIELD(joinleftcols); - COMPARE_NODE_FIELD(joinrightcols); - COMPARE_NODE_FIELD(join_using_alias); - COMPARE_NODE_FIELD(functions); - COMPARE_SCALAR_FIELD(funcordinality); - COMPARE_NODE_FIELD(tablefunc); - COMPARE_NODE_FIELD(values_lists); - COMPARE_STRING_FIELD(ctename); - COMPARE_SCALAR_FIELD(ctelevelsup); - COMPARE_SCALAR_FIELD(self_reference); - COMPARE_NODE_FIELD(coltypes); - COMPARE_NODE_FIELD(coltypmods); - COMPARE_NODE_FIELD(colcollations); - COMPARE_STRING_FIELD(enrname); - COMPARE_SCALAR_FIELD(enrtuples); - COMPARE_NODE_FIELD(alias); - COMPARE_NODE_FIELD(eref); - COMPARE_SCALAR_FIELD(lateral); - COMPARE_SCALAR_FIELD(inh); - COMPARE_SCALAR_FIELD(inFromCl); - COMPARE_SCALAR_FIELD(requiredPerms); - COMPARE_SCALAR_FIELD(checkAsUser); - COMPARE_BITMAPSET_FIELD(selectedCols); - COMPARE_BITMAPSET_FIELD(insertedCols); - COMPARE_BITMAPSET_FIELD(updatedCols); - COMPARE_BITMAPSET_FIELD(extraUpdatedCols); - COMPARE_NODE_FIELD(securityQuals); - - return true; -} - -static bool -_equalRangeTblFunction(const RangeTblFunction *a, const RangeTblFunction *b) -{ - COMPARE_NODE_FIELD(funcexpr); - COMPARE_SCALAR_FIELD(funccolcount); - COMPARE_NODE_FIELD(funccolnames); - COMPARE_NODE_FIELD(funccoltypes); - COMPARE_NODE_FIELD(funccoltypmods); - COMPARE_NODE_FIELD(funccolcollations); - COMPARE_BITMAPSET_FIELD(funcparams); - - return true; -} - -static bool -_equalTableSampleClause(const TableSampleClause *a, const TableSampleClause *b) -{ - COMPARE_SCALAR_FIELD(tsmhandler); - COMPARE_NODE_FIELD(args); - COMPARE_NODE_FIELD(repeatable); - - return true; -} - -static bool -_equalWithCheckOption(const WithCheckOption *a, const WithCheckOption *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_STRING_FIELD(relname); - COMPARE_STRING_FIELD(polname); - COMPARE_NODE_FIELD(qual); - COMPARE_SCALAR_FIELD(cascaded); - - return true; -} - -static bool -_equalSortGroupClause(const SortGroupClause *a, const SortGroupClause *b) -{ - COMPARE_SCALAR_FIELD(tleSortGroupRef); - COMPARE_SCALAR_FIELD(eqop); - COMPARE_SCALAR_FIELD(sortop); - COMPARE_SCALAR_FIELD(nulls_first); - COMPARE_SCALAR_FIELD(hashable); - - return true; -} - -static bool -_equalGroupingSet(const GroupingSet *a, const GroupingSet *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(content); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalWindowClause(const WindowClause *a, const WindowClause *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_STRING_FIELD(refname); - COMPARE_NODE_FIELD(partitionClause); - COMPARE_NODE_FIELD(orderClause); - COMPARE_SCALAR_FIELD(frameOptions); - COMPARE_NODE_FIELD(startOffset); - COMPARE_NODE_FIELD(endOffset); - COMPARE_NODE_FIELD(runCondition); - COMPARE_SCALAR_FIELD(startInRangeFunc); - COMPARE_SCALAR_FIELD(endInRangeFunc); - COMPARE_SCALAR_FIELD(inRangeColl); - COMPARE_SCALAR_FIELD(inRangeAsc); - COMPARE_SCALAR_FIELD(inRangeNullsFirst); - COMPARE_SCALAR_FIELD(winref); - COMPARE_SCALAR_FIELD(copiedOrder); - - return true; -} - -static bool -_equalRowMarkClause(const RowMarkClause *a, const RowMarkClause *b) -{ - COMPARE_SCALAR_FIELD(rti); - COMPARE_SCALAR_FIELD(strength); - COMPARE_SCALAR_FIELD(waitPolicy); - COMPARE_SCALAR_FIELD(pushedDown); - - return true; -} - -static bool -_equalWithClause(const WithClause *a, const WithClause *b) -{ - COMPARE_NODE_FIELD(ctes); - COMPARE_SCALAR_FIELD(recursive); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalInferClause(const InferClause *a, const InferClause *b) -{ - COMPARE_NODE_FIELD(indexElems); - COMPARE_NODE_FIELD(whereClause); - COMPARE_STRING_FIELD(conname); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalOnConflictClause(const OnConflictClause *a, const OnConflictClause *b) -{ - COMPARE_SCALAR_FIELD(action); - COMPARE_NODE_FIELD(infer); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(whereClause); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCTESearchClause(const CTESearchClause *a, const CTESearchClause *b) -{ - COMPARE_NODE_FIELD(search_col_list); - COMPARE_SCALAR_FIELD(search_breadth_first); - COMPARE_STRING_FIELD(search_seq_column); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalCTECycleClause(const CTECycleClause *a, const CTECycleClause *b) -{ - COMPARE_NODE_FIELD(cycle_col_list); - COMPARE_STRING_FIELD(cycle_mark_column); - COMPARE_NODE_FIELD(cycle_mark_value); - COMPARE_NODE_FIELD(cycle_mark_default); - COMPARE_STRING_FIELD(cycle_path_column); - COMPARE_LOCATION_FIELD(location); - COMPARE_SCALAR_FIELD(cycle_mark_type); - COMPARE_SCALAR_FIELD(cycle_mark_typmod); - COMPARE_SCALAR_FIELD(cycle_mark_collation); - COMPARE_SCALAR_FIELD(cycle_mark_neop); - - return true; -} - -static bool -_equalCommonTableExpr(const CommonTableExpr *a, const CommonTableExpr *b) -{ - COMPARE_STRING_FIELD(ctename); - COMPARE_NODE_FIELD(aliascolnames); - COMPARE_SCALAR_FIELD(ctematerialized); - COMPARE_NODE_FIELD(ctequery); - COMPARE_NODE_FIELD(search_clause); - COMPARE_NODE_FIELD(cycle_clause); - COMPARE_LOCATION_FIELD(location); - COMPARE_SCALAR_FIELD(cterecursive); - COMPARE_SCALAR_FIELD(cterefcount); - COMPARE_NODE_FIELD(ctecolnames); - COMPARE_NODE_FIELD(ctecoltypes); - COMPARE_NODE_FIELD(ctecoltypmods); - COMPARE_NODE_FIELD(ctecolcollations); - - return true; -} - -static bool -_equalMergeWhenClause(const MergeWhenClause *a, const MergeWhenClause *b) -{ - COMPARE_SCALAR_FIELD(matched); - COMPARE_SCALAR_FIELD(commandType); - COMPARE_SCALAR_FIELD(override); - COMPARE_NODE_FIELD(condition); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(values); - - return true; -} - -static bool -_equalMergeAction(const MergeAction *a, const MergeAction *b) -{ - COMPARE_SCALAR_FIELD(matched); - COMPARE_SCALAR_FIELD(commandType); - COMPARE_SCALAR_FIELD(override); - COMPARE_NODE_FIELD(qual); - COMPARE_NODE_FIELD(targetList); - COMPARE_NODE_FIELD(updateColnos); - - return true; -} - -static bool -_equalXmlSerialize(const XmlSerialize *a, const XmlSerialize *b) -{ - COMPARE_SCALAR_FIELD(xmloption); - COMPARE_NODE_FIELD(expr); - COMPARE_NODE_FIELD(typeName); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalRoleSpec(const RoleSpec *a, const RoleSpec *b) -{ - COMPARE_SCALAR_FIELD(roletype); - COMPARE_STRING_FIELD(rolename); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalTriggerTransition(const TriggerTransition *a, const TriggerTransition *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_SCALAR_FIELD(isNew); - COMPARE_SCALAR_FIELD(isTable); - - return true; -} - -static bool -_equalPartitionElem(const PartitionElem *a, const PartitionElem *b) -{ - COMPARE_STRING_FIELD(name); - COMPARE_NODE_FIELD(expr); - COMPARE_NODE_FIELD(collation); - COMPARE_NODE_FIELD(opclass); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalPartitionSpec(const PartitionSpec *a, const PartitionSpec *b) -{ - COMPARE_STRING_FIELD(strategy); - COMPARE_NODE_FIELD(partParams); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalPartitionBoundSpec(const PartitionBoundSpec *a, const PartitionBoundSpec *b) -{ - COMPARE_SCALAR_FIELD(strategy); - COMPARE_SCALAR_FIELD(is_default); - COMPARE_SCALAR_FIELD(modulus); - COMPARE_SCALAR_FIELD(remainder); - COMPARE_NODE_FIELD(listdatums); - COMPARE_NODE_FIELD(lowerdatums); - COMPARE_NODE_FIELD(upperdatums); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalPartitionRangeDatum(const PartitionRangeDatum *a, const PartitionRangeDatum *b) -{ - COMPARE_SCALAR_FIELD(kind); - COMPARE_NODE_FIELD(value); - COMPARE_LOCATION_FIELD(location); - - return true; -} - -static bool -_equalPartitionCmd(const PartitionCmd *a, const PartitionCmd *b) -{ - COMPARE_NODE_FIELD(name); - COMPARE_NODE_FIELD(bound); - COMPARE_SCALAR_FIELD(concurrent); - - return true; -} - -/* - * Stuff from pg_list.h - */ - -static bool -_equalList(const List *a, const List *b) -{ - const ListCell *item_a; - const ListCell *item_b; - - /* - * Try to reject by simple scalar checks before grovelling through all the - * list elements... - */ - COMPARE_SCALAR_FIELD(type); - COMPARE_SCALAR_FIELD(length); - - /* - * We place the switch outside the loop for the sake of efficiency; this - * may not be worth doing... - */ - switch (a->type) - { - case T_List: - forboth(item_a, a, item_b, b) - { - if (!equal(lfirst(item_a), lfirst(item_b))) - return false; - } - break; - case T_IntList: - forboth(item_a, a, item_b, b) - { - if (lfirst_int(item_a) != lfirst_int(item_b)) - return false; - } - break; - case T_OidList: - forboth(item_a, a, item_b, b) - { - if (lfirst_oid(item_a) != lfirst_oid(item_b)) - return false; - } - break; - default: - elog(ERROR, "unrecognized list node type: %d", - (int) a->type); - return false; /* keep compiler quiet */ - } - - /* - * If we got here, we should have run out of elements of both lists - */ - Assert(item_a == NULL); - Assert(item_b == NULL); - - return true; -} - -/* - * Stuff from value.h - */ - -static bool -_equalInteger(const Integer *a, const Integer *b) -{ - COMPARE_SCALAR_FIELD(ival); - - return true; -} - -static bool -_equalFloat(const Float *a, const Float *b) -{ - COMPARE_STRING_FIELD(fval); - - return true; -} - -static bool -_equalBoolean(const Boolean *a, const Boolean *b) -{ - COMPARE_SCALAR_FIELD(boolval); - - return true; -} - -static bool -_equalString(const String *a, const String *b) -{ - COMPARE_STRING_FIELD(sval); - - return true; -} - -static bool -_equalBitString(const BitString *a, const BitString *b) -{ - COMPARE_STRING_FIELD(bsval); - - return true; -} - -/* - * equal - * returns whether two nodes are equal - */ -bool -equal(const void *a, const void *b) -{ - bool retval; - - if (a == b) - return true; - - /* - * note that a!=b, so only one of them can be NULL - */ - if (a == NULL || b == NULL) - return false; - - /* - * are they the same type of nodes? - */ - if (nodeTag(a) != nodeTag(b)) - return false; - - /* Guard against stack overflow due to overly complex expressions */ - check_stack_depth(); - - switch (nodeTag(a)) - { - /* - * PRIMITIVE NODES - */ - case T_Alias: - retval = _equalAlias(a, b); - break; - case T_RangeVar: - retval = _equalRangeVar(a, b); - break; - case T_TableFunc: - retval = _equalTableFunc(a, b); - break; - case T_IntoClause: - retval = _equalIntoClause(a, b); - break; - case T_Var: - retval = _equalVar(a, b); - break; - case T_Const: - retval = _equalConst(a, b); - break; - case T_Param: - retval = _equalParam(a, b); - break; - case T_Aggref: - retval = _equalAggref(a, b); - break; - case T_GroupingFunc: - retval = _equalGroupingFunc(a, b); - break; - case T_WindowFunc: - retval = _equalWindowFunc(a, b); - break; - case T_SubscriptingRef: - retval = _equalSubscriptingRef(a, b); - break; - case T_FuncExpr: - retval = _equalFuncExpr(a, b); - break; - case T_NamedArgExpr: - retval = _equalNamedArgExpr(a, b); - break; - case T_OpExpr: - retval = _equalOpExpr(a, b); - break; - case T_DistinctExpr: - retval = _equalDistinctExpr(a, b); - break; - case T_NullIfExpr: - retval = _equalNullIfExpr(a, b); - break; - case T_ScalarArrayOpExpr: - retval = _equalScalarArrayOpExpr(a, b); - break; - case T_BoolExpr: - retval = _equalBoolExpr(a, b); - break; - case T_SubLink: - retval = _equalSubLink(a, b); - break; - case T_SubPlan: - retval = _equalSubPlan(a, b); - break; - case T_AlternativeSubPlan: - retval = _equalAlternativeSubPlan(a, b); - break; - case T_FieldSelect: - retval = _equalFieldSelect(a, b); - break; - case T_FieldStore: - retval = _equalFieldStore(a, b); - break; - case T_RelabelType: - retval = _equalRelabelType(a, b); - break; - case T_CoerceViaIO: - retval = _equalCoerceViaIO(a, b); - break; - case T_ArrayCoerceExpr: - retval = _equalArrayCoerceExpr(a, b); - break; - case T_ConvertRowtypeExpr: - retval = _equalConvertRowtypeExpr(a, b); - break; - case T_CollateExpr: - retval = _equalCollateExpr(a, b); - break; - case T_CaseExpr: - retval = _equalCaseExpr(a, b); - break; - case T_CaseWhen: - retval = _equalCaseWhen(a, b); - break; - case T_CaseTestExpr: - retval = _equalCaseTestExpr(a, b); - break; - case T_ArrayExpr: - retval = _equalArrayExpr(a, b); - break; - case T_RowExpr: - retval = _equalRowExpr(a, b); - break; - case T_RowCompareExpr: - retval = _equalRowCompareExpr(a, b); - break; - case T_CoalesceExpr: - retval = _equalCoalesceExpr(a, b); - break; - case T_MinMaxExpr: - retval = _equalMinMaxExpr(a, b); - break; - case T_SQLValueFunction: - retval = _equalSQLValueFunction(a, b); - break; - case T_XmlExpr: - retval = _equalXmlExpr(a, b); - break; - case T_NullTest: - retval = _equalNullTest(a, b); - break; - case T_BooleanTest: - retval = _equalBooleanTest(a, b); - break; - case T_CoerceToDomain: - retval = _equalCoerceToDomain(a, b); - break; - case T_CoerceToDomainValue: - retval = _equalCoerceToDomainValue(a, b); - break; - case T_SetToDefault: - retval = _equalSetToDefault(a, b); - break; - case T_CurrentOfExpr: - retval = _equalCurrentOfExpr(a, b); - break; - case T_NextValueExpr: - retval = _equalNextValueExpr(a, b); - break; - case T_InferenceElem: - retval = _equalInferenceElem(a, b); - break; - case T_TargetEntry: - retval = _equalTargetEntry(a, b); - break; - case T_RangeTblRef: - retval = _equalRangeTblRef(a, b); - break; - case T_FromExpr: - retval = _equalFromExpr(a, b); - break; - case T_OnConflictExpr: - retval = _equalOnConflictExpr(a, b); - break; - case T_JoinExpr: - retval = _equalJoinExpr(a, b); - break; - - /* - * RELATION NODES - */ - case T_PathKey: - retval = _equalPathKey(a, b); - break; - case T_RestrictInfo: - retval = _equalRestrictInfo(a, b); - break; - case T_PlaceHolderVar: - retval = _equalPlaceHolderVar(a, b); - break; - case T_SpecialJoinInfo: - retval = _equalSpecialJoinInfo(a, b); - break; - case T_AppendRelInfo: - retval = _equalAppendRelInfo(a, b); - break; - case T_PlaceHolderInfo: - retval = _equalPlaceHolderInfo(a, b); - break; + switch (nodeTag(a)) + { +#include "equalfuncs.switch.c" case T_List: case T_IntList: case T_OidList: + case T_XidList: retval = _equalList(a, b); break; - case T_Integer: - retval = _equalInteger(a, b); - break; - case T_Float: - retval = _equalFloat(a, b); - break; - case T_Boolean: - retval = _equalBoolean(a, b); - break; - case T_String: - retval = _equalString(a, b); - break; - case T_BitString: - retval = _equalBitString(a, b); - break; - - /* - * EXTENSIBLE NODES - */ - case T_ExtensibleNode: - retval = _equalExtensibleNode(a, b); - break; - - /* - * PARSE NODES - */ - case T_Query: - retval = _equalQuery(a, b); - break; - case T_RawStmt: - retval = _equalRawStmt(a, b); - break; - case T_InsertStmt: - retval = _equalInsertStmt(a, b); - break; - case T_DeleteStmt: - retval = _equalDeleteStmt(a, b); - break; - case T_UpdateStmt: - retval = _equalUpdateStmt(a, b); - break; - case T_MergeStmt: - retval = _equalMergeStmt(a, b); - break; - case T_SelectStmt: - retval = _equalSelectStmt(a, b); - break; - case T_SetOperationStmt: - retval = _equalSetOperationStmt(a, b); - break; - case T_ReturnStmt: - retval = _equalReturnStmt(a, b); - break; - case T_PLAssignStmt: - retval = _equalPLAssignStmt(a, b); - break; - case T_AlterTableStmt: - retval = _equalAlterTableStmt(a, b); - break; - case T_AlterTableCmd: - retval = _equalAlterTableCmd(a, b); - break; - case T_AlterCollationStmt: - retval = _equalAlterCollationStmt(a, b); - break; - case T_AlterDomainStmt: - retval = _equalAlterDomainStmt(a, b); - break; - case T_GrantStmt: - retval = _equalGrantStmt(a, b); - break; - case T_GrantRoleStmt: - retval = _equalGrantRoleStmt(a, b); - break; - case T_AlterDefaultPrivilegesStmt: - retval = _equalAlterDefaultPrivilegesStmt(a, b); - break; - case T_DeclareCursorStmt: - retval = _equalDeclareCursorStmt(a, b); - break; - case T_ClosePortalStmt: - retval = _equalClosePortalStmt(a, b); - break; - case T_CallStmt: - retval = _equalCallStmt(a, b); - break; - case T_ClusterStmt: - retval = _equalClusterStmt(a, b); - break; - case T_CopyStmt: - retval = _equalCopyStmt(a, b); - break; - case T_CreateStmt: - retval = _equalCreateStmt(a, b); - break; - case T_TableLikeClause: - retval = _equalTableLikeClause(a, b); - break; - case T_DefineStmt: - retval = _equalDefineStmt(a, b); - break; - case T_DropStmt: - retval = _equalDropStmt(a, b); - break; - case T_TruncateStmt: - retval = _equalTruncateStmt(a, b); - break; - case T_CommentStmt: - retval = _equalCommentStmt(a, b); - break; - case T_SecLabelStmt: - retval = _equalSecLabelStmt(a, b); - break; - case T_FetchStmt: - retval = _equalFetchStmt(a, b); - break; - case T_IndexStmt: - retval = _equalIndexStmt(a, b); - break; - case T_CreateStatsStmt: - retval = _equalCreateStatsStmt(a, b); - break; - case T_AlterStatsStmt: - retval = _equalAlterStatsStmt(a, b); - break; - case T_CreateFunctionStmt: - retval = _equalCreateFunctionStmt(a, b); - break; - case T_FunctionParameter: - retval = _equalFunctionParameter(a, b); - break; - case T_AlterFunctionStmt: - retval = _equalAlterFunctionStmt(a, b); - break; - case T_DoStmt: - retval = _equalDoStmt(a, b); - break; - case T_RenameStmt: - retval = _equalRenameStmt(a, b); - break; - case T_AlterObjectDependsStmt: - retval = _equalAlterObjectDependsStmt(a, b); - break; - case T_AlterObjectSchemaStmt: - retval = _equalAlterObjectSchemaStmt(a, b); - break; - case T_AlterOwnerStmt: - retval = _equalAlterOwnerStmt(a, b); - break; - case T_AlterOperatorStmt: - retval = _equalAlterOperatorStmt(a, b); - break; - case T_AlterTypeStmt: - retval = _equalAlterTypeStmt(a, b); - break; - case T_RuleStmt: - retval = _equalRuleStmt(a, b); - break; - case T_NotifyStmt: - retval = _equalNotifyStmt(a, b); - break; - case T_ListenStmt: - retval = _equalListenStmt(a, b); - break; - case T_UnlistenStmt: - retval = _equalUnlistenStmt(a, b); - break; - case T_TransactionStmt: - retval = _equalTransactionStmt(a, b); - break; - case T_CompositeTypeStmt: - retval = _equalCompositeTypeStmt(a, b); - break; - case T_CreateEnumStmt: - retval = _equalCreateEnumStmt(a, b); - break; - case T_CreateRangeStmt: - retval = _equalCreateRangeStmt(a, b); - break; - case T_AlterEnumStmt: - retval = _equalAlterEnumStmt(a, b); - break; - case T_ViewStmt: - retval = _equalViewStmt(a, b); - break; - case T_LoadStmt: - retval = _equalLoadStmt(a, b); - break; - case T_CreateDomainStmt: - retval = _equalCreateDomainStmt(a, b); - break; - case T_CreateOpClassStmt: - retval = _equalCreateOpClassStmt(a, b); - break; - case T_CreateOpClassItem: - retval = _equalCreateOpClassItem(a, b); - break; - case T_CreateOpFamilyStmt: - retval = _equalCreateOpFamilyStmt(a, b); - break; - case T_AlterOpFamilyStmt: - retval = _equalAlterOpFamilyStmt(a, b); - break; - case T_CreatedbStmt: - retval = _equalCreatedbStmt(a, b); - break; - case T_AlterDatabaseStmt: - retval = _equalAlterDatabaseStmt(a, b); - break; - case T_AlterDatabaseRefreshCollStmt: - retval = _equalAlterDatabaseRefreshCollStmt(a, b); - break; - case T_AlterDatabaseSetStmt: - retval = _equalAlterDatabaseSetStmt(a, b); - break; - case T_DropdbStmt: - retval = _equalDropdbStmt(a, b); - break; - case T_VacuumStmt: - retval = _equalVacuumStmt(a, b); - break; - case T_VacuumRelation: - retval = _equalVacuumRelation(a, b); - break; - case T_ExplainStmt: - retval = _equalExplainStmt(a, b); - break; - case T_CreateTableAsStmt: - retval = _equalCreateTableAsStmt(a, b); - break; - case T_RefreshMatViewStmt: - retval = _equalRefreshMatViewStmt(a, b); - break; - case T_ReplicaIdentityStmt: - retval = _equalReplicaIdentityStmt(a, b); - break; - case T_AlterSystemStmt: - retval = _equalAlterSystemStmt(a, b); - break; - case T_CreateSeqStmt: - retval = _equalCreateSeqStmt(a, b); - break; - case T_AlterSeqStmt: - retval = _equalAlterSeqStmt(a, b); - break; - case T_VariableSetStmt: - retval = _equalVariableSetStmt(a, b); - break; - case T_VariableShowStmt: - retval = _equalVariableShowStmt(a, b); - break; - case T_DiscardStmt: - retval = _equalDiscardStmt(a, b); - break; - case T_CreateTableSpaceStmt: - retval = _equalCreateTableSpaceStmt(a, b); - break; - case T_DropTableSpaceStmt: - retval = _equalDropTableSpaceStmt(a, b); - break; - case T_AlterTableSpaceOptionsStmt: - retval = _equalAlterTableSpaceOptionsStmt(a, b); - break; - case T_AlterTableMoveAllStmt: - retval = _equalAlterTableMoveAllStmt(a, b); - break; - case T_CreateExtensionStmt: - retval = _equalCreateExtensionStmt(a, b); - break; - case T_AlterExtensionStmt: - retval = _equalAlterExtensionStmt(a, b); - break; - case T_AlterExtensionContentsStmt: - retval = _equalAlterExtensionContentsStmt(a, b); - break; - case T_CreateFdwStmt: - retval = _equalCreateFdwStmt(a, b); - break; - case T_AlterFdwStmt: - retval = _equalAlterFdwStmt(a, b); - break; - case T_CreateForeignServerStmt: - retval = _equalCreateForeignServerStmt(a, b); - break; - case T_AlterForeignServerStmt: - retval = _equalAlterForeignServerStmt(a, b); - break; - case T_CreateUserMappingStmt: - retval = _equalCreateUserMappingStmt(a, b); - break; - case T_AlterUserMappingStmt: - retval = _equalAlterUserMappingStmt(a, b); - break; - case T_DropUserMappingStmt: - retval = _equalDropUserMappingStmt(a, b); - break; - case T_CreateForeignTableStmt: - retval = _equalCreateForeignTableStmt(a, b); - break; - case T_ImportForeignSchemaStmt: - retval = _equalImportForeignSchemaStmt(a, b); - break; - case T_CreateTransformStmt: - retval = _equalCreateTransformStmt(a, b); - break; - case T_CreateAmStmt: - retval = _equalCreateAmStmt(a, b); - break; - case T_CreateTrigStmt: - retval = _equalCreateTrigStmt(a, b); - break; - case T_CreateEventTrigStmt: - retval = _equalCreateEventTrigStmt(a, b); - break; - case T_AlterEventTrigStmt: - retval = _equalAlterEventTrigStmt(a, b); - break; - case T_CreatePLangStmt: - retval = _equalCreatePLangStmt(a, b); - break; - case T_CreateRoleStmt: - retval = _equalCreateRoleStmt(a, b); - break; - case T_AlterRoleStmt: - retval = _equalAlterRoleStmt(a, b); - break; - case T_AlterRoleSetStmt: - retval = _equalAlterRoleSetStmt(a, b); - break; - case T_DropRoleStmt: - retval = _equalDropRoleStmt(a, b); - break; - case T_LockStmt: - retval = _equalLockStmt(a, b); - break; - case T_ConstraintsSetStmt: - retval = _equalConstraintsSetStmt(a, b); - break; - case T_ReindexStmt: - retval = _equalReindexStmt(a, b); - break; - case T_CheckPointStmt: - retval = true; - break; - case T_CreateSchemaStmt: - retval = _equalCreateSchemaStmt(a, b); - break; - case T_CreateConversionStmt: - retval = _equalCreateConversionStmt(a, b); - break; - case T_CreateCastStmt: - retval = _equalCreateCastStmt(a, b); - break; - case T_PrepareStmt: - retval = _equalPrepareStmt(a, b); - break; - case T_ExecuteStmt: - retval = _equalExecuteStmt(a, b); - break; - case T_DeallocateStmt: - retval = _equalDeallocateStmt(a, b); - break; - case T_DropOwnedStmt: - retval = _equalDropOwnedStmt(a, b); - break; - case T_ReassignOwnedStmt: - retval = _equalReassignOwnedStmt(a, b); - break; - case T_AlterTSDictionaryStmt: - retval = _equalAlterTSDictionaryStmt(a, b); - break; - case T_AlterTSConfigurationStmt: - retval = _equalAlterTSConfigurationStmt(a, b); - break; - case T_CreatePolicyStmt: - retval = _equalCreatePolicyStmt(a, b); - break; - case T_AlterPolicyStmt: - retval = _equalAlterPolicyStmt(a, b); - break; - case T_CreatePublicationStmt: - retval = _equalCreatePublicationStmt(a, b); - break; - case T_AlterPublicationStmt: - retval = _equalAlterPublicationStmt(a, b); - break; - case T_CreateSubscriptionStmt: - retval = _equalCreateSubscriptionStmt(a, b); - break; - case T_AlterSubscriptionStmt: - retval = _equalAlterSubscriptionStmt(a, b); - break; - case T_DropSubscriptionStmt: - retval = _equalDropSubscriptionStmt(a, b); - break; - case T_A_Expr: - retval = _equalA_Expr(a, b); - break; - case T_ColumnRef: - retval = _equalColumnRef(a, b); - break; - case T_ParamRef: - retval = _equalParamRef(a, b); - break; - case T_A_Const: - retval = _equalA_Const(a, b); - break; - case T_FuncCall: - retval = _equalFuncCall(a, b); - break; - case T_A_Star: - retval = _equalA_Star(a, b); - break; - case T_A_Indices: - retval = _equalA_Indices(a, b); - break; - case T_A_Indirection: - retval = _equalA_Indirection(a, b); - break; - case T_A_ArrayExpr: - retval = _equalA_ArrayExpr(a, b); - break; - case T_ResTarget: - retval = _equalResTarget(a, b); - break; - case T_MultiAssignRef: - retval = _equalMultiAssignRef(a, b); - break; - case T_TypeCast: - retval = _equalTypeCast(a, b); - break; - case T_CollateClause: - retval = _equalCollateClause(a, b); - break; - case T_SortBy: - retval = _equalSortBy(a, b); - break; - case T_WindowDef: - retval = _equalWindowDef(a, b); - break; - case T_RangeSubselect: - retval = _equalRangeSubselect(a, b); - break; - case T_RangeFunction: - retval = _equalRangeFunction(a, b); - break; - case T_RangeTableSample: - retval = _equalRangeTableSample(a, b); - break; - case T_RangeTableFunc: - retval = _equalRangeTableFunc(a, b); - break; - case T_RangeTableFuncCol: - retval = _equalRangeTableFuncCol(a, b); - break; - case T_TypeName: - retval = _equalTypeName(a, b); - break; - case T_IndexElem: - retval = _equalIndexElem(a, b); - break; - case T_StatsElem: - retval = _equalStatsElem(a, b); - break; - case T_ColumnDef: - retval = _equalColumnDef(a, b); - break; - case T_Constraint: - retval = _equalConstraint(a, b); - break; - case T_DefElem: - retval = _equalDefElem(a, b); - break; - case T_LockingClause: - retval = _equalLockingClause(a, b); - break; - case T_RangeTblEntry: - retval = _equalRangeTblEntry(a, b); - break; - case T_RangeTblFunction: - retval = _equalRangeTblFunction(a, b); - break; - case T_TableSampleClause: - retval = _equalTableSampleClause(a, b); - break; - case T_WithCheckOption: - retval = _equalWithCheckOption(a, b); - break; - case T_SortGroupClause: - retval = _equalSortGroupClause(a, b); - break; - case T_GroupingSet: - retval = _equalGroupingSet(a, b); - break; - case T_WindowClause: - retval = _equalWindowClause(a, b); - break; - case T_RowMarkClause: - retval = _equalRowMarkClause(a, b); - break; - case T_WithClause: - retval = _equalWithClause(a, b); - break; - case T_InferClause: - retval = _equalInferClause(a, b); - break; - case T_OnConflictClause: - retval = _equalOnConflictClause(a, b); - break; - case T_CTESearchClause: - retval = _equalCTESearchClause(a, b); - break; - case T_CTECycleClause: - retval = _equalCTECycleClause(a, b); - break; - case T_CommonTableExpr: - retval = _equalCommonTableExpr(a, b); - break; - case T_MergeWhenClause: - retval = _equalMergeWhenClause(a, b); - break; - case T_MergeAction: - retval = _equalMergeAction(a, b); - break; - case T_ObjectWithArgs: - retval = _equalObjectWithArgs(a, b); - break; - case T_AccessPriv: - retval = _equalAccessPriv(a, b); - break; - case T_XmlSerialize: - retval = _equalXmlSerialize(a, b); - break; - case T_RoleSpec: - retval = _equalRoleSpec(a, b); - break; - case T_TriggerTransition: - retval = _equalTriggerTransition(a, b); - break; - case T_PartitionElem: - retval = _equalPartitionElem(a, b); - break; - case T_PartitionSpec: - retval = _equalPartitionSpec(a, b); - break; - case T_PartitionBoundSpec: - retval = _equalPartitionBoundSpec(a, b); - break; - case T_PartitionRangeDatum: - retval = _equalPartitionRangeDatum(a, b); - break; - case T_PartitionCmd: - retval = _equalPartitionCmd(a, b); - break; - case T_PublicationObjSpec: - retval = _equalPublicationObject(a, b); - break; - case T_PublicationTable: - retval = _equalPublicationTable(a, b); - break; - default: elog(ERROR, "unrecognized node type: %d", (int) nodeTag(a)); diff --git a/parser/src_backend_nodes_extensible.c b/parser/src_backend_nodes_extensible.c index e08fd155..5ac9aac7 100644 --- a/parser/src_backend_nodes_extensible.c +++ b/parser/src_backend_nodes_extensible.c @@ -1,8 +1,6 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - GetExtensibleNodeMethods - * - GetExtensibleNodeEntry - * - extensible_node_methods *-------------------------------------------------------------------- */ @@ -18,7 +16,7 @@ * and GetExtensibleNodeMethods to get information about a previously * registered type of extensible node. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -31,7 +29,6 @@ #include "nodes/extensible.h" #include "utils/hsearch.h" -static __thread HTAB *extensible_node_methods = NULL; @@ -59,40 +56,20 @@ typedef struct /* * An internal routine to get an ExtensibleNodeEntry by the given identifier */ -static const void * -GetExtensibleNodeEntry(HTAB *htable, const char *extnodename, bool missing_ok) -{ - ExtensibleNodeEntry *entry = NULL; - - if (htable != NULL) - entry = (ExtensibleNodeEntry *) hash_search(htable, - extnodename, - HASH_FIND, NULL); - if (!entry) - { - if (missing_ok) - return NULL; - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("ExtensibleNodeMethods \"%s\" was not registered", - extnodename))); - } - - return entry->extnodemethods; -} + /* * Get the methods for a given type of extensible node. */ + const ExtensibleNodeMethods * GetExtensibleNodeMethods(const char *extnodename, bool missing_ok) { - return (const ExtensibleNodeMethods *) - GetExtensibleNodeEntry(extensible_node_methods, - extnodename, - missing_ok); + return NULL; } + + /* * Get the methods for a given name of CustomScanMethods */ diff --git a/parser/src_backend_nodes_list.c b/parser/src_backend_nodes_list.c index 7c53c40c..f9a93780 100644 --- a/parser/src_backend_nodes_list.c +++ b/parser/src_backend_nodes_list.c @@ -13,13 +13,16 @@ * - new_head_cell * - list_make3_impl * - list_make4_impl - * - list_delete_cell * - list_delete_nth_cell * - list_free * - list_free_private * - list_copy_deep * - list_copy_tail * - list_truncate + * - list_delete_last + * - list_insert_nth + * - insert_new_cell + * - list_sort *-------------------------------------------------------------------- */ @@ -31,7 +34,7 @@ * See comments in pg_list.h. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -42,6 +45,7 @@ */ #include "postgres.h" +#include "common/int.h" #include "nodes/pg_list.h" #include "port/pg_bitutils.h" #include "utils/memdebug.h" @@ -79,6 +83,7 @@ #define IsPointerList(l) ((l) == NIL || IsA((l), List)) #define IsIntegerList(l) ((l) == NIL || IsA((l), IntList)) #define IsOidList(l) ((l) == NIL || IsA((l), OidList)) +#define IsXidList(l) ((l) == NIL || IsA((l), XidList)) #ifdef USE_ASSERT_CHECKING /* @@ -96,7 +101,8 @@ check_list_invariants(const List *list) Assert(list->type == T_List || list->type == T_IntList || - list->type == T_OidList); + list->type == T_OidList || + list->type == T_XidList); } #else #define check_list_invariants(l) ((void) 0) @@ -369,6 +375,11 @@ lappend(List *list, void *datum) */ +/* + * Append a TransactionId to the specified list. See lappend() + */ + + /* * Make room for a new cell at position 'pos' (measured from 0). * The data in the cell is left undefined, and must be filled in by the @@ -376,7 +387,22 @@ lappend(List *list, void *datum) * list position, ie, 0 <= pos <= list's length. * Returns address of the new cell. */ +static ListCell * +insert_new_cell(List *list, int pos) +{ + Assert(pos >= 0 && pos <= list->length); + + /* Enlarge array if necessary */ + if (list->length >= list->max_length) + enlarge_list(list, list->length + 1); + /* Now shove the existing data over */ + if (pos < list->length) + memmove(&list->elements[pos + 1], &list->elements[pos], + (list->length - pos) * sizeof(ListCell)); + list->length++; + return &list->elements[pos]; +} /* * Insert the given datum at position 'pos' (measured from 0) in the list. @@ -385,7 +411,19 @@ lappend(List *list, void *datum) * Note that this takes time proportional to the distance to the end of the * list, since the following entries must be moved. */ - +List * +list_insert_nth(List *list, int pos, void *datum) +{ + if (list == NIL) + { + Assert(pos == 0); + return list_make1(datum); + } + Assert(IsPointerList(list)); + lfirst(insert_new_cell(list, pos)) = datum; + check_list_invariants(list); + return list; +} @@ -541,6 +579,11 @@ list_truncate(List *list, int new_size) */ +/* + * Return true iff the TransactionId 'datum' is a member of the list. + */ + + /* * Delete the n'th cell (counting from 0) in list. * @@ -623,11 +666,7 @@ list_delete_nth_cell(List *list, int n) * Note that this takes time proportional to the distance to the end of the * list, since the following entries must be moved. */ -List * -list_delete_cell(List *list, ListCell *cell) -{ - return list_delete_nth_cell(list, cell - list->elements); -} + /* * Delete the first cell in list that matches datum, if any. @@ -666,7 +705,23 @@ list_delete_cell(List *list, ListCell *cell) /* * Delete the last element of the list. */ +List * +list_delete_last(List *list) +{ + check_list_invariants(list); + if (list == NIL) + return NIL; /* would an error be better? */ + + /* list_truncate won't free list if it goes to empty, but this should */ + if (list_length(list) <= 1) + { + list_free(list); + return NIL; + } + + return list_truncate(list, list_length(list) - 1); +} /* * Delete the first N cells of the list. @@ -984,7 +1039,19 @@ list_copy_deep(const List *oldlist) * * This is based on qsort(), so it likewise has O(N log N) runtime. */ +void +list_sort(List *list, list_sort_comparator cmp) +{ + typedef int (*qsort_comparator) (const void *a, const void *b); + int len; + check_list_invariants(list); + + /* Nothing to do if there's less than two elements */ + len = list_length(list); + if (len > 1) + qsort(list->elements, len, sizeof(ListCell), (qsort_comparator) cmp); +} /* * list_sort comparator for sorting a list into ascending int order. diff --git a/parser/src_backend_nodes_makefuncs.c b/parser/src_backend_nodes_makefuncs.c index c52bef36..edd72e48 100644 --- a/parser/src_backend_nodes_makefuncs.c +++ b/parser/src_backend_nodes_makefuncs.c @@ -1,6 +1,7 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - makeDefElem + * - makeStringConst * - makeTypeNameFromNameList * - makeDefElemExtended * - makeRangeVar @@ -8,9 +9,15 @@ * - makeAlias * - makeSimpleA_Expr * - makeGroupingSet + * - makeJsonTablePathSpec + * - makeJsonFormat * - makeTypeName * - makeFuncCall * - makeA_Expr + * - makeJsonIsPredicate + * - makeJsonBehavior + * - makeJsonValueExpr + * - makeJsonKeyValue * - makeBoolExpr *-------------------------------------------------------------------- */ @@ -21,7 +28,7 @@ * creator functions for various nodes. The functions here are for the * most frequently created nodes. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -262,6 +269,22 @@ makeTypeNameFromNameList(List *names) */ +/* + * makeStringConst - + * build a A_Const node of type T_String for given string + */ +Node * +makeStringConst(char *str, int location) +{ + A_Const *n = makeNode(A_Const); + + n->val.sval.type = T_String; + n->val.sval.sval = str; + n->location = location; + + return (Node *) n; +} + /* * makeDefElem - * build a DefElem node @@ -416,3 +439,113 @@ makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols) v->va_cols = va_cols; return v; } + +/* + * makeJsonFormat - + * creates a JsonFormat node + */ +JsonFormat * +makeJsonFormat(JsonFormatType type, JsonEncoding encoding, int location) +{ + JsonFormat *jf = makeNode(JsonFormat); + + jf->format_type = type; + jf->encoding = encoding; + jf->location = location; + + return jf; +} + +/* + * makeJsonValueExpr - + * creates a JsonValueExpr node + */ +JsonValueExpr * +makeJsonValueExpr(Expr *raw_expr, Expr *formatted_expr, + JsonFormat *format) +{ + JsonValueExpr *jve = makeNode(JsonValueExpr); + + jve->raw_expr = raw_expr; + jve->formatted_expr = formatted_expr; + jve->format = format; + + return jve; +} + +/* + * makeJsonBehavior - + * creates a JsonBehavior node + */ +JsonBehavior * +makeJsonBehavior(JsonBehaviorType btype, Node *expr, int location) +{ + JsonBehavior *behavior = makeNode(JsonBehavior); + + behavior->btype = btype; + behavior->expr = expr; + behavior->location = location; + + return behavior; +} + +/* + * makeJsonKeyValue - + * creates a JsonKeyValue node + */ +Node * +makeJsonKeyValue(Node *key, Node *value) +{ + JsonKeyValue *n = makeNode(JsonKeyValue); + + n->key = (Expr *) key; + n->value = castNode(JsonValueExpr, value); + + return (Node *) n; +} + +/* + * makeJsonIsPredicate - + * creates a JsonIsPredicate node + */ +Node * +makeJsonIsPredicate(Node *expr, JsonFormat *format, JsonValueType item_type, + bool unique_keys, int location) +{ + JsonIsPredicate *n = makeNode(JsonIsPredicate); + + n->expr = expr; + n->format = format; + n->item_type = item_type; + n->unique_keys = unique_keys; + n->location = location; + + return (Node *) n; +} + +/* + * makeJsonTablePathSpec - + * Make JsonTablePathSpec node from given path string and name (if any) + */ +JsonTablePathSpec * +makeJsonTablePathSpec(char *string, char *name, int string_location, + int name_location) +{ + JsonTablePathSpec *pathspec = makeNode(JsonTablePathSpec); + + Assert(string != NULL); + pathspec->string = makeStringConst(string, string_location); + if (name != NULL) + pathspec->name = pstrdup(name); + + pathspec->name_location = name_location; + pathspec->location = string_location; + + return pathspec; +} + +/* + * makeJsonTablePath - + * Make JsonTablePath node for given path string and name + */ + diff --git a/parser/src_backend_nodes_nodeFuncs.c b/parser/src_backend_nodes_nodeFuncs.c index 2129609e..5477177c 100644 --- a/parser/src_backend_nodes_nodeFuncs.c +++ b/parser/src_backend_nodes_nodeFuncs.c @@ -2,7 +2,7 @@ * Symbols referenced in this file: * - exprLocation * - leftmostLoc - * - raw_expression_tree_walker + * - raw_expression_tree_walker_impl *-------------------------------------------------------------------- */ @@ -11,7 +11,7 @@ * nodeFuncs.c * Various general-purpose manipulations of Node trees * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -26,7 +26,6 @@ #include "catalog/pg_type.h" #include "miscadmin.h" #include "nodes/execnodes.h" -#include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "nodes/pathnodes.h" #include "utils/builtins.h" @@ -35,10 +34,12 @@ static bool expression_returns_set_walker(Node *node, void *context); static int leftmostLoc(int loc1, int loc2); static bool fix_opfuncids_walker(Node *node, void *context); -static bool planstate_walk_subplans(List *plans, bool (*walker) (), +static bool planstate_walk_subplans(List *plans, + planstate_tree_walker_callback walker, void *context); static bool planstate_walk_members(PlanState **planstates, int nplans, - bool (*walker) (), void *context); + planstate_tree_walker_callback walker, + void *context); /* @@ -219,6 +220,9 @@ exprLocation(const Node *expr) /* function name should always be the first thing */ loc = ((const WindowFunc *) expr)->location; break; + case T_MergeSupportFunc: + loc = ((const MergeSupportFunc *) expr)->location; + break; case T_SubscriptingRef: /* just use container argument's location */ loc = exprLocation((Node *) ((const SubscriptingRef *) expr)->refexpr); @@ -372,6 +376,30 @@ exprLocation(const Node *expr) exprLocation((Node *) xexpr->args)); } break; + case T_JsonFormat: + loc = ((const JsonFormat *) expr)->location; + break; + case T_JsonValueExpr: + loc = exprLocation((Node *) ((const JsonValueExpr *) expr)->raw_expr); + break; + case T_JsonConstructorExpr: + loc = ((const JsonConstructorExpr *) expr)->location; + break; + case T_JsonIsPredicate: + loc = ((const JsonIsPredicate *) expr)->location; + break; + case T_JsonExpr: + { + const JsonExpr *jsexpr = (const JsonExpr *) expr; + + /* consider both function name and leftmost arg */ + loc = leftmostLoc(jsexpr->location, + exprLocation(jsexpr->formatted_expr)); + } + break; + case T_JsonBehavior: + loc = exprLocation(((JsonBehavior *) expr)->expr); + break; case T_NullTest: { const NullTest *nexpr = (const NullTest *) expr; @@ -532,6 +560,28 @@ exprLocation(const Node *expr) case T_CommonTableExpr: loc = ((const CommonTableExpr *) expr)->location; break; + case T_JsonKeyValue: + /* just use the key's location */ + loc = exprLocation((Node *) ((const JsonKeyValue *) expr)->key); + break; + case T_JsonObjectConstructor: + loc = ((const JsonObjectConstructor *) expr)->location; + break; + case T_JsonArrayConstructor: + loc = ((const JsonArrayConstructor *) expr)->location; + break; + case T_JsonArrayQueryConstructor: + loc = ((const JsonArrayQueryConstructor *) expr)->location; + break; + case T_JsonAggConstructor: + loc = ((const JsonAggConstructor *) expr)->location; + break; + case T_JsonObjectAgg: + loc = exprLocation((Node *) ((const JsonObjectAgg *) expr)->constructor); + break; + case T_JsonArrayAgg: + loc = exprLocation((Node *) ((const JsonArrayAgg *) expr)->constructor); + break; case T_PlaceHolderVar: /* just use argument's location */ loc = exprLocation((Node *) ((const PlaceHolderVar *) expr)->phexpr); @@ -721,7 +771,9 @@ leftmostLoc(int loc1, int loc2) * uses, but may need to be revisited in future. */ - +#define WALK(n) walker((Node *) (n), context) +#define LIST_WALK(l) expression_tree_walker_impl((Node *) (l), walker, context) +#undef LIST_WALK /* * query_tree_walker --- initiate a walk of a Query's expressions @@ -887,9 +939,9 @@ leftmostLoc(int loc1, int loc2) * statements can appear in CTEs. */ bool -raw_expression_tree_walker(Node *node, - bool (*walker) (), - void *context) +raw_expression_tree_walker_impl(Node *node, + tree_walker_callback walker, + void *context) { ListCell *temp; @@ -905,6 +957,7 @@ raw_expression_tree_walker(Node *node, switch (nodeTag(node)) { + case T_JsonFormat: case T_SetToDefault: case T_CurrentOfExpr: case T_SQLValueFunction: @@ -916,23 +969,24 @@ raw_expression_tree_walker(Node *node, case T_ParamRef: case T_A_Const: case T_A_Star: + case T_MergeSupportFunc: /* primitive node types with no subnodes */ break; case T_Alias: /* we assume the colnames list isn't interesting */ break; case T_RangeVar: - return walker(((RangeVar *) node)->alias, context); + return WALK(((RangeVar *) node)->alias); case T_GroupingFunc: - return walker(((GroupingFunc *) node)->args, context); + return WALK(((GroupingFunc *) node)->args); case T_SubLink: { SubLink *sublink = (SubLink *) node; - if (walker(sublink->testexpr, context)) + if (WALK(sublink->testexpr)) return true; /* we assume the operName is not interesting */ - if (walker(sublink->subselect, context)) + if (WALK(sublink->subselect)) return true; } break; @@ -940,55 +994,175 @@ raw_expression_tree_walker(Node *node, { CaseExpr *caseexpr = (CaseExpr *) node; - if (walker(caseexpr->arg, context)) + if (WALK(caseexpr->arg)) return true; /* we assume walker doesn't care about CaseWhens, either */ foreach(temp, caseexpr->args) { CaseWhen *when = lfirst_node(CaseWhen, temp); - if (walker(when->expr, context)) + if (WALK(when->expr)) return true; - if (walker(when->result, context)) + if (WALK(when->result)) return true; } - if (walker(caseexpr->defresult, context)) + if (WALK(caseexpr->defresult)) return true; } break; case T_RowExpr: /* Assume colnames isn't interesting */ - return walker(((RowExpr *) node)->args, context); + return WALK(((RowExpr *) node)->args); case T_CoalesceExpr: - return walker(((CoalesceExpr *) node)->args, context); + return WALK(((CoalesceExpr *) node)->args); case T_MinMaxExpr: - return walker(((MinMaxExpr *) node)->args, context); + return WALK(((MinMaxExpr *) node)->args); case T_XmlExpr: { XmlExpr *xexpr = (XmlExpr *) node; - if (walker(xexpr->named_args, context)) + if (WALK(xexpr->named_args)) return true; /* we assume walker doesn't care about arg_names */ - if (walker(xexpr->args, context)) + if (WALK(xexpr->args)) return true; } break; + case T_JsonReturning: + return WALK(((JsonReturning *) node)->format); + case T_JsonValueExpr: + { + JsonValueExpr *jve = (JsonValueExpr *) node; + + if (WALK(jve->raw_expr)) + return true; + if (WALK(jve->formatted_expr)) + return true; + if (WALK(jve->format)) + return true; + } + break; + case T_JsonParseExpr: + { + JsonParseExpr *jpe = (JsonParseExpr *) node; + + if (WALK(jpe->expr)) + return true; + if (WALK(jpe->output)) + return true; + } + break; + case T_JsonScalarExpr: + { + JsonScalarExpr *jse = (JsonScalarExpr *) node; + + if (WALK(jse->expr)) + return true; + if (WALK(jse->output)) + return true; + } + break; + case T_JsonSerializeExpr: + { + JsonSerializeExpr *jse = (JsonSerializeExpr *) node; + + if (WALK(jse->expr)) + return true; + if (WALK(jse->output)) + return true; + } + break; + case T_JsonConstructorExpr: + { + JsonConstructorExpr *ctor = (JsonConstructorExpr *) node; + + if (WALK(ctor->args)) + return true; + if (WALK(ctor->func)) + return true; + if (WALK(ctor->coercion)) + return true; + if (WALK(ctor->returning)) + return true; + } + break; + case T_JsonIsPredicate: + return WALK(((JsonIsPredicate *) node)->expr); + case T_JsonArgument: + return WALK(((JsonArgument *) node)->val); + case T_JsonFuncExpr: + { + JsonFuncExpr *jfe = (JsonFuncExpr *) node; + + if (WALK(jfe->context_item)) + return true; + if (WALK(jfe->pathspec)) + return true; + if (WALK(jfe->passing)) + return true; + if (WALK(jfe->output)) + return true; + if (WALK(jfe->on_empty)) + return true; + if (WALK(jfe->on_error)) + return true; + } + break; + case T_JsonBehavior: + { + JsonBehavior *jb = (JsonBehavior *) node; + + if (WALK(jb->expr)) + return true; + } + break; + case T_JsonTable: + { + JsonTable *jt = (JsonTable *) node; + + if (WALK(jt->context_item)) + return true; + if (WALK(jt->pathspec)) + return true; + if (WALK(jt->passing)) + return true; + if (WALK(jt->columns)) + return true; + if (WALK(jt->on_error)) + return true; + } + break; + case T_JsonTableColumn: + { + JsonTableColumn *jtc = (JsonTableColumn *) node; + + if (WALK(jtc->typeName)) + return true; + if (WALK(jtc->on_empty)) + return true; + if (WALK(jtc->on_error)) + return true; + if (WALK(jtc->columns)) + return true; + } + break; + case T_JsonTablePathSpec: + return WALK(((JsonTablePathSpec *) node)->string); case T_NullTest: - return walker(((NullTest *) node)->arg, context); + return WALK(((NullTest *) node)->arg); case T_BooleanTest: - return walker(((BooleanTest *) node)->arg, context); + return WALK(((BooleanTest *) node)->arg); case T_JoinExpr: { JoinExpr *join = (JoinExpr *) node; - if (walker(join->larg, context)) + if (WALK(join->larg)) return true; - if (walker(join->rarg, context)) + if (WALK(join->rarg)) return true; - if (walker(join->quals, context)) + if (WALK(join->quals)) return true; - if (walker(join->alias, context)) + if (WALK(join->alias)) return true; /* using list is deemed uninteresting */ } @@ -997,18 +1171,18 @@ raw_expression_tree_walker(Node *node, { IntoClause *into = (IntoClause *) node; - if (walker(into->rel, context)) + if (WALK(into->rel)) return true; /* colNames, options are deemed uninteresting */ /* viewQuery should be null in raw parsetree, but check it */ - if (walker(into->viewQuery, context)) + if (WALK(into->viewQuery)) return true; } break; case T_List: foreach(temp, (List *) node) { - if (walker((Node *) lfirst(temp), context)) + if (WALK((Node *) lfirst(temp))) return true; } break; @@ -1016,17 +1190,17 @@ raw_expression_tree_walker(Node *node, { InsertStmt *stmt = (InsertStmt *) node; - if (walker(stmt->relation, context)) + if (WALK(stmt->relation)) return true; - if (walker(stmt->cols, context)) + if (WALK(stmt->cols)) return true; - if (walker(stmt->selectStmt, context)) + if (WALK(stmt->selectStmt)) return true; - if (walker(stmt->onConflictClause, context)) + if (WALK(stmt->onConflictClause)) return true; - if (walker(stmt->returningList, context)) + if (WALK(stmt->returningList)) return true; - if (walker(stmt->withClause, context)) + if (WALK(stmt->withClause)) return true; } break; @@ -1034,15 +1208,15 @@ raw_expression_tree_walker(Node *node, { DeleteStmt *stmt = (DeleteStmt *) node; - if (walker(stmt->relation, context)) + if (WALK(stmt->relation)) return true; - if (walker(stmt->usingClause, context)) + if (WALK(stmt->usingClause)) return true; - if (walker(stmt->whereClause, context)) + if (WALK(stmt->whereClause)) return true; - if (walker(stmt->returningList, context)) + if (WALK(stmt->returningList)) return true; - if (walker(stmt->withClause, context)) + if (WALK(stmt->withClause)) return true; } break; @@ -1050,17 +1224,17 @@ raw_expression_tree_walker(Node *node, { UpdateStmt *stmt = (UpdateStmt *) node; - if (walker(stmt->relation, context)) + if (WALK(stmt->relation)) return true; - if (walker(stmt->targetList, context)) + if (WALK(stmt->targetList)) return true; - if (walker(stmt->whereClause, context)) + if (WALK(stmt->whereClause)) return true; - if (walker(stmt->fromClause, context)) + if (WALK(stmt->fromClause)) return true; - if (walker(stmt->returningList, context)) + if (WALK(stmt->returningList)) return true; - if (walker(stmt->withClause, context)) + if (WALK(stmt->withClause)) return true; } break; @@ -1068,15 +1242,17 @@ raw_expression_tree_walker(Node *node, { MergeStmt *stmt = (MergeStmt *) node; - if (walker(stmt->relation, context)) + if (WALK(stmt->relation)) return true; - if (walker(stmt->sourceRelation, context)) + if (WALK(stmt->sourceRelation)) return true; - if (walker(stmt->joinCondition, context)) + if (WALK(stmt->joinCondition)) return true; - if (walker(stmt->mergeWhenClauses, context)) + if (WALK(stmt->mergeWhenClauses)) return true; - if (walker(stmt->withClause, context)) + if (WALK(stmt->returningList)) + return true; + if (WALK(stmt->withClause)) return true; } break; @@ -1084,11 +1260,11 @@ raw_expression_tree_walker(Node *node, { MergeWhenClause *mergeWhenClause = (MergeWhenClause *) node; - if (walker(mergeWhenClause->condition, context)) + if (WALK(mergeWhenClause->condition)) return true; - if (walker(mergeWhenClause->targetList, context)) + if (WALK(mergeWhenClause->targetList)) return true; - if (walker(mergeWhenClause->values, context)) + if (WALK(mergeWhenClause->values)) return true; } break; @@ -1096,37 +1272,37 @@ raw_expression_tree_walker(Node *node, { SelectStmt *stmt = (SelectStmt *) node; - if (walker(stmt->distinctClause, context)) + if (WALK(stmt->distinctClause)) return true; - if (walker(stmt->intoClause, context)) + if (WALK(stmt->intoClause)) return true; - if (walker(stmt->targetList, context)) + if (WALK(stmt->targetList)) return true; - if (walker(stmt->fromClause, context)) + if (WALK(stmt->fromClause)) return true; - if (walker(stmt->whereClause, context)) + if (WALK(stmt->whereClause)) return true; - if (walker(stmt->groupClause, context)) + if (WALK(stmt->groupClause)) return true; - if (walker(stmt->havingClause, context)) + if (WALK(stmt->havingClause)) return true; - if (walker(stmt->windowClause, context)) + if (WALK(stmt->windowClause)) return true; - if (walker(stmt->valuesLists, context)) + if (WALK(stmt->valuesLists)) return true; - if (walker(stmt->sortClause, context)) + if (WALK(stmt->sortClause)) return true; - if (walker(stmt->limitOffset, context)) + if (WALK(stmt->limitOffset)) return true; - if (walker(stmt->limitCount, context)) + if (WALK(stmt->limitCount)) return true; - if (walker(stmt->lockingClause, context)) + if (WALK(stmt->lockingClause)) return true; - if (walker(stmt->withClause, context)) + if (WALK(stmt->withClause)) return true; - if (walker(stmt->larg, context)) + if (WALK(stmt->larg)) return true; - if (walker(stmt->rarg, context)) + if (WALK(stmt->rarg)) return true; } break; @@ -1134,9 +1310,9 @@ raw_expression_tree_walker(Node *node, { PLAssignStmt *stmt = (PLAssignStmt *) node; - if (walker(stmt->indirection, context)) + if (WALK(stmt->indirection)) return true; - if (walker(stmt->val, context)) + if (WALK(stmt->val)) return true; } break; @@ -1144,9 +1320,9 @@ raw_expression_tree_walker(Node *node, { A_Expr *expr = (A_Expr *) node; - if (walker(expr->lexpr, context)) + if (WALK(expr->lexpr)) return true; - if (walker(expr->rexpr, context)) + if (WALK(expr->rexpr)) return true; /* operator name is deemed uninteresting */ } @@ -1155,7 +1331,7 @@ raw_expression_tree_walker(Node *node, { BoolExpr *expr = (BoolExpr *) node; - if (walker(expr->args, context)) + if (WALK(expr->args)) return true; } break; @@ -1166,26 +1342,26 @@ raw_expression_tree_walker(Node *node, { FuncCall *fcall = (FuncCall *) node; - if (walker(fcall->args, context)) + if (WALK(fcall->args)) return true; - if (walker(fcall->agg_order, context)) + if (WALK(fcall->agg_order)) return true; - if (walker(fcall->agg_filter, context)) + if (WALK(fcall->agg_filter)) return true; - if (walker(fcall->over, context)) + if (WALK(fcall->over)) return true; /* function name is deemed uninteresting */ } break; case T_NamedArgExpr: - return walker(((NamedArgExpr *) node)->arg, context); + return WALK(((NamedArgExpr *) node)->arg); case T_A_Indices: { A_Indices *indices = (A_Indices *) node; - if (walker(indices->lidx, context)) + if (WALK(indices->lidx)) return true; - if (walker(indices->uidx, context)) + if (WALK(indices->uidx)) return true; } break; @@ -1193,51 +1369,51 @@ raw_expression_tree_walker(Node *node, { A_Indirection *indir = (A_Indirection *) node; - if (walker(indir->arg, context)) + if (WALK(indir->arg)) return true; - if (walker(indir->indirection, context)) + if (WALK(indir->indirection)) return true; } break; case T_A_ArrayExpr: - return walker(((A_ArrayExpr *) node)->elements, context); + return WALK(((A_ArrayExpr *) node)->elements); case T_ResTarget: { ResTarget *rt = (ResTarget *) node; - if (walker(rt->indirection, context)) + if (WALK(rt->indirection)) return true; - if (walker(rt->val, context)) + if (WALK(rt->val)) return true; } break; case T_MultiAssignRef: - return walker(((MultiAssignRef *) node)->source, context); + return WALK(((MultiAssignRef *) node)->source); case T_TypeCast: { TypeCast *tc = (TypeCast *) node; - if (walker(tc->arg, context)) + if (WALK(tc->arg)) return true; - if (walker(tc->typeName, context)) + if (WALK(tc->typeName)) return true; } break; case T_CollateClause: - return walker(((CollateClause *) node)->arg, context); + return WALK(((CollateClause *) node)->arg); case T_SortBy: - return walker(((SortBy *) node)->node, context); + return WALK(((SortBy *) node)->node); case T_WindowDef: { WindowDef *wd = (WindowDef *) node; - if (walker(wd->partitionClause, context)) + if (WALK(wd->partitionClause)) return true; - if (walker(wd->orderClause, context)) + if (WALK(wd->orderClause)) return true; - if (walker(wd->startOffset, context)) + if (WALK(wd->startOffset)) return true; - if (walker(wd->endOffset, context)) + if (WALK(wd->endOffset)) return true; } break; @@ -1245,9 +1421,9 @@ raw_expression_tree_walker(Node *node, { RangeSubselect *rs = (RangeSubselect *) node; - if (walker(rs->subquery, context)) + if (WALK(rs->subquery)) return true; - if (walker(rs->alias, context)) + if (WALK(rs->alias)) return true; } break; @@ -1255,11 +1431,11 @@ raw_expression_tree_walker(Node *node, { RangeFunction *rf = (RangeFunction *) node; - if (walker(rf->functions, context)) + if (WALK(rf->functions)) return true; - if (walker(rf->alias, context)) + if (WALK(rf->alias)) return true; - if (walker(rf->coldeflist, context)) + if (WALK(rf->coldeflist)) return true; } break; @@ -1267,12 +1443,12 @@ raw_expression_tree_walker(Node *node, { RangeTableSample *rts = (RangeTableSample *) node; - if (walker(rts->relation, context)) + if (WALK(rts->relation)) return true; /* method name is deemed uninteresting */ - if (walker(rts->args, context)) + if (WALK(rts->args)) return true; - if (walker(rts->repeatable, context)) + if (WALK(rts->repeatable)) return true; } break; @@ -1280,15 +1456,15 @@ raw_expression_tree_walker(Node *node, { RangeTableFunc *rtf = (RangeTableFunc *) node; - if (walker(rtf->docexpr, context)) + if (WALK(rtf->docexpr)) return true; - if (walker(rtf->rowexpr, context)) + if (WALK(rtf->rowexpr)) return true; - if (walker(rtf->namespaces, context)) + if (WALK(rtf->namespaces)) return true; - if (walker(rtf->columns, context)) + if (WALK(rtf->columns)) return true; - if (walker(rtf->alias, context)) + if (WALK(rtf->alias)) return true; } break; @@ -1296,9 +1472,9 @@ raw_expression_tree_walker(Node *node, { RangeTableFuncCol *rtfc = (RangeTableFuncCol *) node; - if (walker(rtfc->colexpr, context)) + if (WALK(rtfc->colexpr)) return true; - if (walker(rtfc->coldefexpr, context)) + if (WALK(rtfc->coldefexpr)) return true; } break; @@ -1306,9 +1482,9 @@ raw_expression_tree_walker(Node *node, { TypeName *tn = (TypeName *) node; - if (walker(tn->typmods, context)) + if (WALK(tn->typmods)) return true; - if (walker(tn->arrayBounds, context)) + if (WALK(tn->arrayBounds)) return true; /* type name itself is deemed uninteresting */ } @@ -1317,13 +1493,11 @@ raw_expression_tree_walker(Node *node, { ColumnDef *coldef = (ColumnDef *) node; - if (walker(coldef->typeName, context)) - return true; - if (walker(coldef->compression, context)) + if (WALK(coldef->typeName)) return true; - if (walker(coldef->raw_default, context)) + if (WALK(coldef->raw_default)) return true; - if (walker(coldef->collClause, context)) + if (WALK(coldef->collClause)) return true; /* for now, constraints are ignored */ } @@ -1332,34 +1506,34 @@ raw_expression_tree_walker(Node *node, { IndexElem *indelem = (IndexElem *) node; - if (walker(indelem->expr, context)) + if (WALK(indelem->expr)) return true; /* collation and opclass names are deemed uninteresting */ } break; case T_GroupingSet: - return walker(((GroupingSet *) node)->content, context); + return WALK(((GroupingSet *) node)->content); case T_LockingClause: - return walker(((LockingClause *) node)->lockedRels, context); + return WALK(((LockingClause *) node)->lockedRels); case T_XmlSerialize: { XmlSerialize *xs = (XmlSerialize *) node; - if (walker(xs->expr, context)) + if (WALK(xs->expr)) return true; - if (walker(xs->typeName, context)) + if (WALK(xs->typeName)) return true; } break; case T_WithClause: - return walker(((WithClause *) node)->ctes, context); + return WALK(((WithClause *) node)->ctes); case T_InferClause: { InferClause *stmt = (InferClause *) node; - if (walker(stmt->indexElems, context)) + if (WALK(stmt->indexElems)) return true; - if (walker(stmt->whereClause, context)) + if (WALK(stmt->whereClause)) return true; } break; @@ -1367,17 +1541,101 @@ raw_expression_tree_walker(Node *node, { OnConflictClause *stmt = (OnConflictClause *) node; - if (walker(stmt->infer, context)) + if (WALK(stmt->infer)) return true; - if (walker(stmt->targetList, context)) + if (WALK(stmt->targetList)) return true; - if (walker(stmt->whereClause, context)) + if (WALK(stmt->whereClause)) return true; } break; case T_CommonTableExpr: /* search_clause and cycle_clause are not interesting here */ - return walker(((CommonTableExpr *) node)->ctequery, context); + return WALK(((CommonTableExpr *) node)->ctequery); + case T_JsonOutput: + { + JsonOutput *out = (JsonOutput *) node; + + if (WALK(out->typeName)) + return true; + if (WALK(out->returning)) + return true; + } + break; + case T_JsonKeyValue: + { + JsonKeyValue *jkv = (JsonKeyValue *) node; + + if (WALK(jkv->key)) + return true; + if (WALK(jkv->value)) + return true; + } + break; + case T_JsonObjectConstructor: + { + JsonObjectConstructor *joc = (JsonObjectConstructor *) node; + + if (WALK(joc->output)) + return true; + if (WALK(joc->exprs)) + return true; + } + break; + case T_JsonArrayConstructor: + { + JsonArrayConstructor *jac = (JsonArrayConstructor *) node; + + if (WALK(jac->output)) + return true; + if (WALK(jac->exprs)) + return true; + } + break; + case T_JsonAggConstructor: + { + JsonAggConstructor *ctor = (JsonAggConstructor *) node; + + if (WALK(ctor->output)) + return true; + if (WALK(ctor->agg_order)) + return true; + if (WALK(ctor->agg_filter)) + return true; + if (WALK(ctor->over)) + return true; + } + break; + case T_JsonObjectAgg: + { + JsonObjectAgg *joa = (JsonObjectAgg *) node; + + if (WALK(joa->constructor)) + return true; + if (WALK(joa->arg)) + return true; + } + break; + case T_JsonArrayAgg: + { + JsonArrayAgg *jaa = (JsonArrayAgg *) node; + + if (WALK(jaa->constructor)) + return true; + if (WALK(jaa->arg)) + return true; + } + break; + case T_JsonArrayQueryConstructor: + { + JsonArrayQueryConstructor *jaqc = (JsonArrayQueryConstructor *) node; + + if (WALK(jaqc->output)) + return true; + if (WALK(jaqc->query)) + return true; + } + break; default: elog(ERROR, "unrecognized node type: %d", (int) nodeTag(node)); @@ -1392,7 +1650,7 @@ raw_expression_tree_walker(Node *node, * The walker has already visited the current node, and so we need only * recurse into any sub-nodes it has. */ - +#define PSWALK(n) walker(n, context) /* * Walk a list of SubPlans (or initPlans, which also use SubPlan nodes). diff --git a/parser/src_backend_nodes_value.c b/parser/src_backend_nodes_value.c index 662b3d2b..c9ed6cb6 100644 --- a/parser/src_backend_nodes_value.c +++ b/parser/src_backend_nodes_value.c @@ -14,7 +14,7 @@ * implementation of value nodes * * - * Copyright (c) 2003-2022, PostgreSQL Global Development Group + * Copyright (c) 2003-2024, PostgreSQL Global Development Group * * * IDENTIFICATION diff --git a/parser/src_backend_parser_gram.c b/parser/src_backend_parser_gram.c index 41f1050e..8188645c 100644 --- a/parser/src_backend_parser_gram.c +++ b/parser/src_backend_parser_gram.c @@ -13,13 +13,13 @@ * - makeRawStmt * - updateRawStmtEnd * - makeParamRef - * - makeStringConst * - makeAConst * - makeStringConstCast * - makeIntConst * - processCASbits * - makeRangeVarFromAnyName * - SplitColQualList + * - parsePartitionStrategy * - doNegateFloat * - makeRoleSpec * - mergeTableFuncParameters @@ -154,474 +154,507 @@ SQL_COMMENT = 275, C_COMMENT = 276, ABORT_P = 277, - ABSOLUTE_P = 278, - ACCESS = 279, - ACTION = 280, - ADD_P = 281, - ADMIN = 282, - AFTER = 283, - AGGREGATE = 284, - ALL = 285, - ALSO = 286, - ALTER = 287, - ALWAYS = 288, - ANALYSE = 289, - ANALYZE = 290, - AND = 291, - ANY = 292, - ARRAY = 293, - AS = 294, - ASC = 295, - ASENSITIVE = 296, - ASSERTION = 297, - ASSIGNMENT = 298, - ASYMMETRIC = 299, - ATOMIC = 300, - AT = 301, - ATTACH = 302, - ATTRIBUTE = 303, - AUTHORIZATION = 304, - BACKWARD = 305, - BEFORE = 306, - BEGIN_P = 307, - BETWEEN = 308, - BIGINT = 309, - BINARY = 310, - BIT = 311, - BOOLEAN_P = 312, - BOTH = 313, - BREADTH = 314, - BY = 315, - CACHE = 316, - CALL = 317, - CALLED = 318, - CASCADE = 319, - CASCADED = 320, - CASE = 321, - CAST = 322, - CATALOG_P = 323, - CHAIN = 324, - CHAR_P = 325, - CHARACTER = 326, - CHARACTERISTICS = 327, - CHECK = 328, - CHECKPOINT = 329, - CLASS = 330, - CLOSE = 331, - CLUSTER = 332, - COALESCE = 333, - COLLATE = 334, - COLLATION = 335, - COLUMN = 336, - COLUMNS = 337, - COMMENT = 338, - COMMENTS = 339, - COMMIT = 340, - COMMITTED = 341, - COMPRESSION = 342, - CONCURRENTLY = 343, - CONFIGURATION = 344, - CONFLICT = 345, - CONNECTION = 346, - CONSTRAINT = 347, - CONSTRAINTS = 348, - CONTENT_P = 349, - CONTINUE_P = 350, - CONVERSION_P = 351, - COPY = 352, - COST = 353, - CREATE = 354, - CROSS = 355, - CSV = 356, - CUBE = 357, - CURRENT_P = 358, - CURRENT_CATALOG = 359, - CURRENT_DATE = 360, - CURRENT_ROLE = 361, - CURRENT_SCHEMA = 362, - CURRENT_TIME = 363, - CURRENT_TIMESTAMP = 364, - CURRENT_USER = 365, - CURSOR = 366, - CYCLE = 367, - DATA_P = 368, - DATABASE = 369, - DAY_P = 370, - DEALLOCATE = 371, - DEC = 372, - DECIMAL_P = 373, - DECLARE = 374, - DEFAULT = 375, - DEFAULTS = 376, - DEFERRABLE = 377, - DEFERRED = 378, - DEFINER = 379, - DELETE_P = 380, - DELIMITER = 381, - DELIMITERS = 382, - DEPENDS = 383, - DEPTH = 384, - DESC = 385, - DETACH = 386, - DICTIONARY = 387, - DISABLE_P = 388, - DISCARD = 389, - DISTINCT = 390, - DO = 391, - DOCUMENT_P = 392, - DOMAIN_P = 393, - DOUBLE_P = 394, - DROP = 395, - EACH = 396, - ELSE = 397, - ENABLE_P = 398, - ENCODING = 399, - ENCRYPTED = 400, - END_P = 401, - ENUM_P = 402, - ESCAPE = 403, - EVENT = 404, - EXCEPT = 405, - EXCLUDE = 406, - EXCLUDING = 407, - EXCLUSIVE = 408, - EXECUTE = 409, - EXISTS = 410, - EXPLAIN = 411, - EXPRESSION = 412, - EXTENSION = 413, - EXTERNAL = 414, - EXTRACT = 415, - FALSE_P = 416, - FAMILY = 417, - FETCH = 418, - FILTER = 419, - FINALIZE = 420, - FIRST_P = 421, - FLOAT_P = 422, - FOLLOWING = 423, - FOR = 424, - FORCE = 425, - FOREIGN = 426, - FORWARD = 427, - FREEZE = 428, - FROM = 429, - FULL = 430, - FUNCTION = 431, - FUNCTIONS = 432, - GENERATED = 433, - GLOBAL = 434, - GRANT = 435, - GRANTED = 436, - GREATEST = 437, - GROUP_P = 438, - GROUPING = 439, - GROUPS = 440, - HANDLER = 441, - HAVING = 442, - HEADER_P = 443, - HOLD = 444, - HOUR_P = 445, - IDENTITY_P = 446, - IF_P = 447, - ILIKE = 448, - IMMEDIATE = 449, - IMMUTABLE = 450, - IMPLICIT_P = 451, - IMPORT_P = 452, - IN_P = 453, - INCLUDE = 454, - INCLUDING = 455, - INCREMENT = 456, - INDEX = 457, - INDEXES = 458, - INHERIT = 459, - INHERITS = 460, - INITIALLY = 461, - INLINE_P = 462, - INNER_P = 463, - INOUT = 464, - INPUT_P = 465, - INSENSITIVE = 466, - INSERT = 467, - INSTEAD = 468, - INT_P = 469, - INTEGER = 470, - INTERSECT = 471, - INTERVAL = 472, - INTO = 473, - INVOKER = 474, - IS = 475, - ISNULL = 476, - ISOLATION = 477, - JOIN = 478, - KEY = 479, - LABEL = 480, - LANGUAGE = 481, - LARGE_P = 482, - LAST_P = 483, - LATERAL_P = 484, - LEADING = 485, - LEAKPROOF = 486, - LEAST = 487, - LEFT = 488, - LEVEL = 489, - LIKE = 490, - LIMIT = 491, - LISTEN = 492, - LOAD = 493, - LOCAL = 494, - LOCALTIME = 495, - LOCALTIMESTAMP = 496, - LOCATION = 497, - LOCK_P = 498, - LOCKED = 499, - LOGGED = 500, - MAPPING = 501, - MATCH = 502, - MATCHED = 503, - MATERIALIZED = 504, - MAXVALUE = 505, - MERGE = 506, - METHOD = 507, - MINUTE_P = 508, - MINVALUE = 509, - MODE = 510, - MONTH_P = 511, - MOVE = 512, - NAME_P = 513, - NAMES = 514, - NATIONAL = 515, - NATURAL = 516, - NCHAR = 517, - NEW = 518, - NEXT = 519, - NFC = 520, - NFD = 521, - NFKC = 522, - NFKD = 523, - NO = 524, - NONE = 525, - NORMALIZE = 526, - NORMALIZED = 527, - NOT = 528, - NOTHING = 529, - NOTIFY = 530, - NOTNULL = 531, - NOWAIT = 532, - NULL_P = 533, - NULLIF = 534, - NULLS_P = 535, - NUMERIC = 536, - OBJECT_P = 537, - OF = 538, - OFF = 539, - OFFSET = 540, - OIDS = 541, - OLD = 542, - ON = 543, - ONLY = 544, - OPERATOR = 545, - OPTION = 546, - OPTIONS = 547, - OR = 548, - ORDER = 549, - ORDINALITY = 550, - OTHERS = 551, - OUT_P = 552, - OUTER_P = 553, - OVER = 554, - OVERLAPS = 555, - OVERLAY = 556, - OVERRIDING = 557, - OWNED = 558, - OWNER = 559, - PARALLEL = 560, - PARAMETER = 561, - PARSER = 562, - PARTIAL = 563, - PARTITION = 564, - PASSING = 565, - PASSWORD = 566, - PLACING = 567, - PLANS = 568, - POLICY = 569, - POSITION = 570, - PRECEDING = 571, - PRECISION = 572, - PRESERVE = 573, - PREPARE = 574, - PREPARED = 575, - PRIMARY = 576, - PRIOR = 577, - PRIVILEGES = 578, - PROCEDURAL = 579, - PROCEDURE = 580, - PROCEDURES = 581, - PROGRAM = 582, - PUBLICATION = 583, - QUOTE = 584, - RANGE = 585, - READ = 586, - REAL = 587, - REASSIGN = 588, - RECHECK = 589, - RECURSIVE = 590, - REF_P = 591, - REFERENCES = 592, - REFERENCING = 593, - REFRESH = 594, - REINDEX = 595, - RELATIVE_P = 596, - RELEASE = 597, - RENAME = 598, - REPEATABLE = 599, - REPLACE = 600, - REPLICA = 601, - RESET = 602, - RESTART = 603, - RESTRICT = 604, - RETURN = 605, - RETURNING = 606, - RETURNS = 607, - REVOKE = 608, - RIGHT = 609, - ROLE = 610, - ROLLBACK = 611, - ROLLUP = 612, - ROUTINE = 613, - ROUTINES = 614, - ROW = 615, - ROWS = 616, - RULE = 617, - SAVEPOINT = 618, - SCHEMA = 619, - SCHEMAS = 620, - SCROLL = 621, - SEARCH = 622, - SECOND_P = 623, - SECURITY = 624, - SELECT = 625, - SEQUENCE = 626, - SEQUENCES = 627, - SERIALIZABLE = 628, - SERVER = 629, - SESSION = 630, - SESSION_USER = 631, - SET = 632, - SETS = 633, - SETOF = 634, - SHARE = 635, - SHOW = 636, - SIMILAR = 637, - SIMPLE = 638, - SKIP = 639, - SMALLINT = 640, - SNAPSHOT = 641, - SOME = 642, - SQL_P = 643, - STABLE = 644, - STANDALONE_P = 645, - START = 646, - STATEMENT = 647, - STATISTICS = 648, - STDIN = 649, - STDOUT = 650, - STORAGE = 651, - STORED = 652, - STRICT_P = 653, - STRIP_P = 654, - SUBSCRIPTION = 655, - SUBSTRING = 656, - SUPPORT = 657, - SYMMETRIC = 658, - SYSID = 659, - SYSTEM_P = 660, - TABLE = 661, - TABLES = 662, - TABLESAMPLE = 663, - TABLESPACE = 664, - TEMP = 665, - TEMPLATE = 666, - TEMPORARY = 667, - TEXT_P = 668, - THEN = 669, - TIES = 670, - TIME = 671, - TIMESTAMP = 672, - TO = 673, - TRAILING = 674, - TRANSACTION = 675, - TRANSFORM = 676, - TREAT = 677, - TRIGGER = 678, - TRIM = 679, - TRUE_P = 680, - TRUNCATE = 681, - TRUSTED = 682, - TYPE_P = 683, - TYPES_P = 684, - UESCAPE = 685, - UNBOUNDED = 686, - UNCOMMITTED = 687, - UNENCRYPTED = 688, - UNION = 689, - UNIQUE = 690, - UNKNOWN = 691, - UNLISTEN = 692, - UNLOGGED = 693, - UNTIL = 694, - UPDATE = 695, - USER = 696, - USING = 697, - VACUUM = 698, - VALID = 699, - VALIDATE = 700, - VALIDATOR = 701, - VALUE_P = 702, - VALUES = 703, - VARCHAR = 704, - VARIADIC = 705, - VARYING = 706, - VERBOSE = 707, - VERSION_P = 708, - VIEW = 709, - VIEWS = 710, - VOLATILE = 711, - WHEN = 712, - WHERE = 713, - WHITESPACE_P = 714, - WINDOW = 715, - WITH = 716, - WITHIN = 717, - WITHOUT = 718, - WORK = 719, - WRAPPER = 720, - WRITE = 721, - XML_P = 722, - XMLATTRIBUTES = 723, - XMLCONCAT = 724, - XMLELEMENT = 725, - XMLEXISTS = 726, - XMLFOREST = 727, - XMLNAMESPACES = 728, - XMLPARSE = 729, - XMLPI = 730, - XMLROOT = 731, - XMLSERIALIZE = 732, - XMLTABLE = 733, - YEAR_P = 734, - YES_P = 735, - ZONE = 736, - NOT_LA = 737, - NULLS_LA = 738, - WITH_LA = 739, - MODE_TYPE_NAME = 740, - MODE_PLPGSQL_EXPR = 741, - MODE_PLPGSQL_ASSIGN1 = 742, - MODE_PLPGSQL_ASSIGN2 = 743, - MODE_PLPGSQL_ASSIGN3 = 744, - UMINUS = 745 + ABSENT = 278, + ABSOLUTE_P = 279, + ACCESS = 280, + ACTION = 281, + ADD_P = 282, + ADMIN = 283, + AFTER = 284, + AGGREGATE = 285, + ALL = 286, + ALSO = 287, + ALTER = 288, + ALWAYS = 289, + ANALYSE = 290, + ANALYZE = 291, + AND = 292, + ANY = 293, + ARRAY = 294, + AS = 295, + ASC = 296, + ASENSITIVE = 297, + ASSERTION = 298, + ASSIGNMENT = 299, + ASYMMETRIC = 300, + ATOMIC = 301, + AT = 302, + ATTACH = 303, + ATTRIBUTE = 304, + AUTHORIZATION = 305, + BACKWARD = 306, + BEFORE = 307, + BEGIN_P = 308, + BETWEEN = 309, + BIGINT = 310, + BINARY = 311, + BIT = 312, + BOOLEAN_P = 313, + BOTH = 314, + BREADTH = 315, + BY = 316, + CACHE = 317, + CALL = 318, + CALLED = 319, + CASCADE = 320, + CASCADED = 321, + CASE = 322, + CAST = 323, + CATALOG_P = 324, + CHAIN = 325, + CHAR_P = 326, + CHARACTER = 327, + CHARACTERISTICS = 328, + CHECK = 329, + CHECKPOINT = 330, + CLASS = 331, + CLOSE = 332, + CLUSTER = 333, + COALESCE = 334, + COLLATE = 335, + COLLATION = 336, + COLUMN = 337, + COLUMNS = 338, + COMMENT = 339, + COMMENTS = 340, + COMMIT = 341, + COMMITTED = 342, + COMPRESSION = 343, + CONCURRENTLY = 344, + CONDITIONAL = 345, + CONFIGURATION = 346, + CONFLICT = 347, + CONNECTION = 348, + CONSTRAINT = 349, + CONSTRAINTS = 350, + CONTENT_P = 351, + CONTINUE_P = 352, + CONVERSION_P = 353, + COPY = 354, + COST = 355, + CREATE = 356, + CROSS = 357, + CSV = 358, + CUBE = 359, + CURRENT_P = 360, + CURRENT_CATALOG = 361, + CURRENT_DATE = 362, + CURRENT_ROLE = 363, + CURRENT_SCHEMA = 364, + CURRENT_TIME = 365, + CURRENT_TIMESTAMP = 366, + CURRENT_USER = 367, + CURSOR = 368, + CYCLE = 369, + DATA_P = 370, + DATABASE = 371, + DAY_P = 372, + DEALLOCATE = 373, + DEC = 374, + DECIMAL_P = 375, + DECLARE = 376, + DEFAULT = 377, + DEFAULTS = 378, + DEFERRABLE = 379, + DEFERRED = 380, + DEFINER = 381, + DELETE_P = 382, + DELIMITER = 383, + DELIMITERS = 384, + DEPENDS = 385, + DEPTH = 386, + DESC = 387, + DETACH = 388, + DICTIONARY = 389, + DISABLE_P = 390, + DISCARD = 391, + DISTINCT = 392, + DO = 393, + DOCUMENT_P = 394, + DOMAIN_P = 395, + DOUBLE_P = 396, + DROP = 397, + EACH = 398, + ELSE = 399, + EMPTY_P = 400, + ENABLE_P = 401, + ENCODING = 402, + ENCRYPTED = 403, + END_P = 404, + ENUM_P = 405, + ERROR_P = 406, + ESCAPE = 407, + EVENT = 408, + EXCEPT = 409, + EXCLUDE = 410, + EXCLUDING = 411, + EXCLUSIVE = 412, + EXECUTE = 413, + EXISTS = 414, + EXPLAIN = 415, + EXPRESSION = 416, + EXTENSION = 417, + EXTERNAL = 418, + EXTRACT = 419, + FALSE_P = 420, + FAMILY = 421, + FETCH = 422, + FILTER = 423, + FINALIZE = 424, + FIRST_P = 425, + FLOAT_P = 426, + FOLLOWING = 427, + FOR = 428, + FORCE = 429, + FOREIGN = 430, + FORMAT = 431, + FORWARD = 432, + FREEZE = 433, + FROM = 434, + FULL = 435, + FUNCTION = 436, + FUNCTIONS = 437, + GENERATED = 438, + GLOBAL = 439, + GRANT = 440, + GRANTED = 441, + GREATEST = 442, + GROUP_P = 443, + GROUPING = 444, + GROUPS = 445, + HANDLER = 446, + HAVING = 447, + HEADER_P = 448, + HOLD = 449, + HOUR_P = 450, + IDENTITY_P = 451, + IF_P = 452, + ILIKE = 453, + IMMEDIATE = 454, + IMMUTABLE = 455, + IMPLICIT_P = 456, + IMPORT_P = 457, + IN_P = 458, + INCLUDE = 459, + INCLUDING = 460, + INCREMENT = 461, + INDENT = 462, + INDEX = 463, + INDEXES = 464, + INHERIT = 465, + INHERITS = 466, + INITIALLY = 467, + INLINE_P = 468, + INNER_P = 469, + INOUT = 470, + INPUT_P = 471, + INSENSITIVE = 472, + INSERT = 473, + INSTEAD = 474, + INT_P = 475, + INTEGER = 476, + INTERSECT = 477, + INTERVAL = 478, + INTO = 479, + INVOKER = 480, + IS = 481, + ISNULL = 482, + ISOLATION = 483, + JOIN = 484, + JSON = 485, + JSON_ARRAY = 486, + JSON_ARRAYAGG = 487, + JSON_EXISTS = 488, + JSON_OBJECT = 489, + JSON_OBJECTAGG = 490, + JSON_QUERY = 491, + JSON_SCALAR = 492, + JSON_SERIALIZE = 493, + JSON_TABLE = 494, + JSON_VALUE = 495, + KEEP = 496, + KEY = 497, + KEYS = 498, + LABEL = 499, + LANGUAGE = 500, + LARGE_P = 501, + LAST_P = 502, + LATERAL_P = 503, + LEADING = 504, + LEAKPROOF = 505, + LEAST = 506, + LEFT = 507, + LEVEL = 508, + LIKE = 509, + LIMIT = 510, + LISTEN = 511, + LOAD = 512, + LOCAL = 513, + LOCALTIME = 514, + LOCALTIMESTAMP = 515, + LOCATION = 516, + LOCK_P = 517, + LOCKED = 518, + LOGGED = 519, + MAPPING = 520, + MATCH = 521, + MATCHED = 522, + MATERIALIZED = 523, + MAXVALUE = 524, + MERGE = 525, + MERGE_ACTION = 526, + METHOD = 527, + MINUTE_P = 528, + MINVALUE = 529, + MODE = 530, + MONTH_P = 531, + MOVE = 532, + NAME_P = 533, + NAMES = 534, + NATIONAL = 535, + NATURAL = 536, + NCHAR = 537, + NESTED = 538, + NEW = 539, + NEXT = 540, + NFC = 541, + NFD = 542, + NFKC = 543, + NFKD = 544, + NO = 545, + NONE = 546, + NORMALIZE = 547, + NORMALIZED = 548, + NOT = 549, + NOTHING = 550, + NOTIFY = 551, + NOTNULL = 552, + NOWAIT = 553, + NULL_P = 554, + NULLIF = 555, + NULLS_P = 556, + NUMERIC = 557, + OBJECT_P = 558, + OF = 559, + OFF = 560, + OFFSET = 561, + OIDS = 562, + OLD = 563, + OMIT = 564, + ON = 565, + ONLY = 566, + OPERATOR = 567, + OPTION = 568, + OPTIONS = 569, + OR = 570, + ORDER = 571, + ORDINALITY = 572, + OTHERS = 573, + OUT_P = 574, + OUTER_P = 575, + OVER = 576, + OVERLAPS = 577, + OVERLAY = 578, + OVERRIDING = 579, + OWNED = 580, + OWNER = 581, + PARALLEL = 582, + PARAMETER = 583, + PARSER = 584, + PARTIAL = 585, + PARTITION = 586, + PASSING = 587, + PASSWORD = 588, + PATH = 589, + PLACING = 590, + PLAN = 591, + PLANS = 592, + POLICY = 593, + POSITION = 594, + PRECEDING = 595, + PRECISION = 596, + PRESERVE = 597, + PREPARE = 598, + PREPARED = 599, + PRIMARY = 600, + PRIOR = 601, + PRIVILEGES = 602, + PROCEDURAL = 603, + PROCEDURE = 604, + PROCEDURES = 605, + PROGRAM = 606, + PUBLICATION = 607, + QUOTE = 608, + QUOTES = 609, + RANGE = 610, + READ = 611, + REAL = 612, + REASSIGN = 613, + RECHECK = 614, + RECURSIVE = 615, + REF_P = 616, + REFERENCES = 617, + REFERENCING = 618, + REFRESH = 619, + REINDEX = 620, + RELATIVE_P = 621, + RELEASE = 622, + RENAME = 623, + REPEATABLE = 624, + REPLACE = 625, + REPLICA = 626, + RESET = 627, + RESTART = 628, + RESTRICT = 629, + RETURN = 630, + RETURNING = 631, + RETURNS = 632, + REVOKE = 633, + RIGHT = 634, + ROLE = 635, + ROLLBACK = 636, + ROLLUP = 637, + ROUTINE = 638, + ROUTINES = 639, + ROW = 640, + ROWS = 641, + RULE = 642, + SAVEPOINT = 643, + SCALAR = 644, + SCHEMA = 645, + SCHEMAS = 646, + SCROLL = 647, + SEARCH = 648, + SECOND_P = 649, + SECURITY = 650, + SELECT = 651, + SEQUENCE = 652, + SEQUENCES = 653, + SERIALIZABLE = 654, + SERVER = 655, + SESSION = 656, + SESSION_USER = 657, + SET = 658, + SETS = 659, + SETOF = 660, + SHARE = 661, + SHOW = 662, + SIMILAR = 663, + SIMPLE = 664, + SKIP = 665, + SMALLINT = 666, + SNAPSHOT = 667, + SOME = 668, + SOURCE = 669, + SQL_P = 670, + STABLE = 671, + STANDALONE_P = 672, + START = 673, + STATEMENT = 674, + STATISTICS = 675, + STDIN = 676, + STDOUT = 677, + STORAGE = 678, + STORED = 679, + STRICT_P = 680, + STRING_P = 681, + STRIP_P = 682, + SUBSCRIPTION = 683, + SUBSTRING = 684, + SUPPORT = 685, + SYMMETRIC = 686, + SYSID = 687, + SYSTEM_P = 688, + SYSTEM_USER = 689, + TABLE = 690, + TABLES = 691, + TABLESAMPLE = 692, + TABLESPACE = 693, + TARGET = 694, + TEMP = 695, + TEMPLATE = 696, + TEMPORARY = 697, + TEXT_P = 698, + THEN = 699, + TIES = 700, + TIME = 701, + TIMESTAMP = 702, + TO = 703, + TRAILING = 704, + TRANSACTION = 705, + TRANSFORM = 706, + TREAT = 707, + TRIGGER = 708, + TRIM = 709, + TRUE_P = 710, + TRUNCATE = 711, + TRUSTED = 712, + TYPE_P = 713, + TYPES_P = 714, + UESCAPE = 715, + UNBOUNDED = 716, + UNCONDITIONAL = 717, + UNCOMMITTED = 718, + UNENCRYPTED = 719, + UNION = 720, + UNIQUE = 721, + UNKNOWN = 722, + UNLISTEN = 723, + UNLOGGED = 724, + UNTIL = 725, + UPDATE = 726, + USER = 727, + USING = 728, + VACUUM = 729, + VALID = 730, + VALIDATE = 731, + VALIDATOR = 732, + VALUE_P = 733, + VALUES = 734, + VARCHAR = 735, + VARIADIC = 736, + VARYING = 737, + VERBOSE = 738, + VERSION_P = 739, + VIEW = 740, + VIEWS = 741, + VOLATILE = 742, + WHEN = 743, + WHERE = 744, + WHITESPACE_P = 745, + WINDOW = 746, + WITH = 747, + WITHIN = 748, + WITHOUT = 749, + WORK = 750, + WRAPPER = 751, + WRITE = 752, + XML_P = 753, + XMLATTRIBUTES = 754, + XMLCONCAT = 755, + XMLELEMENT = 756, + XMLEXISTS = 757, + XMLFOREST = 758, + XMLNAMESPACES = 759, + XMLPARSE = 760, + XMLPI = 761, + XMLROOT = 762, + XMLSERIALIZE = 763, + XMLTABLE = 764, + YEAR_P = 765, + YES_P = 766, + ZONE = 767, + FORMAT_LA = 768, + NOT_LA = 769, + NULLS_LA = 770, + WITH_LA = 771, + WITHOUT_LA = 772, + MODE_TYPE_NAME = 773, + MODE_PLPGSQL_EXPR = 774, + MODE_PLPGSQL_ASSIGN1 = 775, + MODE_PLPGSQL_ASSIGN2 = 776, + MODE_PLPGSQL_ASSIGN3 = 777, + UMINUS = 778 }; #endif /* Tokens. */ @@ -645,474 +678,507 @@ #define SQL_COMMENT 275 #define C_COMMENT 276 #define ABORT_P 277 -#define ABSOLUTE_P 278 -#define ACCESS 279 -#define ACTION 280 -#define ADD_P 281 -#define ADMIN 282 -#define AFTER 283 -#define AGGREGATE 284 -#define ALL 285 -#define ALSO 286 -#define ALTER 287 -#define ALWAYS 288 -#define ANALYSE 289 -#define ANALYZE 290 -#define AND 291 -#define ANY 292 -#define ARRAY 293 -#define AS 294 -#define ASC 295 -#define ASENSITIVE 296 -#define ASSERTION 297 -#define ASSIGNMENT 298 -#define ASYMMETRIC 299 -#define ATOMIC 300 -#define AT 301 -#define ATTACH 302 -#define ATTRIBUTE 303 -#define AUTHORIZATION 304 -#define BACKWARD 305 -#define BEFORE 306 -#define BEGIN_P 307 -#define BETWEEN 308 -#define BIGINT 309 -#define BINARY 310 -#define BIT 311 -#define BOOLEAN_P 312 -#define BOTH 313 -#define BREADTH 314 -#define BY 315 -#define CACHE 316 -#define CALL 317 -#define CALLED 318 -#define CASCADE 319 -#define CASCADED 320 -#define CASE 321 -#define CAST 322 -#define CATALOG_P 323 -#define CHAIN 324 -#define CHAR_P 325 -#define CHARACTER 326 -#define CHARACTERISTICS 327 -#define CHECK 328 -#define CHECKPOINT 329 -#define CLASS 330 -#define CLOSE 331 -#define CLUSTER 332 -#define COALESCE 333 -#define COLLATE 334 -#define COLLATION 335 -#define COLUMN 336 -#define COLUMNS 337 -#define COMMENT 338 -#define COMMENTS 339 -#define COMMIT 340 -#define COMMITTED 341 -#define COMPRESSION 342 -#define CONCURRENTLY 343 -#define CONFIGURATION 344 -#define CONFLICT 345 -#define CONNECTION 346 -#define CONSTRAINT 347 -#define CONSTRAINTS 348 -#define CONTENT_P 349 -#define CONTINUE_P 350 -#define CONVERSION_P 351 -#define COPY 352 -#define COST 353 -#define CREATE 354 -#define CROSS 355 -#define CSV 356 -#define CUBE 357 -#define CURRENT_P 358 -#define CURRENT_CATALOG 359 -#define CURRENT_DATE 360 -#define CURRENT_ROLE 361 -#define CURRENT_SCHEMA 362 -#define CURRENT_TIME 363 -#define CURRENT_TIMESTAMP 364 -#define CURRENT_USER 365 -#define CURSOR 366 -#define CYCLE 367 -#define DATA_P 368 -#define DATABASE 369 -#define DAY_P 370 -#define DEALLOCATE 371 -#define DEC 372 -#define DECIMAL_P 373 -#define DECLARE 374 -#define DEFAULT 375 -#define DEFAULTS 376 -#define DEFERRABLE 377 -#define DEFERRED 378 -#define DEFINER 379 -#define DELETE_P 380 -#define DELIMITER 381 -#define DELIMITERS 382 -#define DEPENDS 383 -#define DEPTH 384 -#define DESC 385 -#define DETACH 386 -#define DICTIONARY 387 -#define DISABLE_P 388 -#define DISCARD 389 -#define DISTINCT 390 -#define DO 391 -#define DOCUMENT_P 392 -#define DOMAIN_P 393 -#define DOUBLE_P 394 -#define DROP 395 -#define EACH 396 -#define ELSE 397 -#define ENABLE_P 398 -#define ENCODING 399 -#define ENCRYPTED 400 -#define END_P 401 -#define ENUM_P 402 -#define ESCAPE 403 -#define EVENT 404 -#define EXCEPT 405 -#define EXCLUDE 406 -#define EXCLUDING 407 -#define EXCLUSIVE 408 -#define EXECUTE 409 -#define EXISTS 410 -#define EXPLAIN 411 -#define EXPRESSION 412 -#define EXTENSION 413 -#define EXTERNAL 414 -#define EXTRACT 415 -#define FALSE_P 416 -#define FAMILY 417 -#define FETCH 418 -#define FILTER 419 -#define FINALIZE 420 -#define FIRST_P 421 -#define FLOAT_P 422 -#define FOLLOWING 423 -#define FOR 424 -#define FORCE 425 -#define FOREIGN 426 -#define FORWARD 427 -#define FREEZE 428 -#define FROM 429 -#define FULL 430 -#define FUNCTION 431 -#define FUNCTIONS 432 -#define GENERATED 433 -#define GLOBAL 434 -#define GRANT 435 -#define GRANTED 436 -#define GREATEST 437 -#define GROUP_P 438 -#define GROUPING 439 -#define GROUPS 440 -#define HANDLER 441 -#define HAVING 442 -#define HEADER_P 443 -#define HOLD 444 -#define HOUR_P 445 -#define IDENTITY_P 446 -#define IF_P 447 -#define ILIKE 448 -#define IMMEDIATE 449 -#define IMMUTABLE 450 -#define IMPLICIT_P 451 -#define IMPORT_P 452 -#define IN_P 453 -#define INCLUDE 454 -#define INCLUDING 455 -#define INCREMENT 456 -#define INDEX 457 -#define INDEXES 458 -#define INHERIT 459 -#define INHERITS 460 -#define INITIALLY 461 -#define INLINE_P 462 -#define INNER_P 463 -#define INOUT 464 -#define INPUT_P 465 -#define INSENSITIVE 466 -#define INSERT 467 -#define INSTEAD 468 -#define INT_P 469 -#define INTEGER 470 -#define INTERSECT 471 -#define INTERVAL 472 -#define INTO 473 -#define INVOKER 474 -#define IS 475 -#define ISNULL 476 -#define ISOLATION 477 -#define JOIN 478 -#define KEY 479 -#define LABEL 480 -#define LANGUAGE 481 -#define LARGE_P 482 -#define LAST_P 483 -#define LATERAL_P 484 -#define LEADING 485 -#define LEAKPROOF 486 -#define LEAST 487 -#define LEFT 488 -#define LEVEL 489 -#define LIKE 490 -#define LIMIT 491 -#define LISTEN 492 -#define LOAD 493 -#define LOCAL 494 -#define LOCALTIME 495 -#define LOCALTIMESTAMP 496 -#define LOCATION 497 -#define LOCK_P 498 -#define LOCKED 499 -#define LOGGED 500 -#define MAPPING 501 -#define MATCH 502 -#define MATCHED 503 -#define MATERIALIZED 504 -#define MAXVALUE 505 -#define MERGE 506 -#define METHOD 507 -#define MINUTE_P 508 -#define MINVALUE 509 -#define MODE 510 -#define MONTH_P 511 -#define MOVE 512 -#define NAME_P 513 -#define NAMES 514 -#define NATIONAL 515 -#define NATURAL 516 -#define NCHAR 517 -#define NEW 518 -#define NEXT 519 -#define NFC 520 -#define NFD 521 -#define NFKC 522 -#define NFKD 523 -#define NO 524 -#define NONE 525 -#define NORMALIZE 526 -#define NORMALIZED 527 -#define NOT 528 -#define NOTHING 529 -#define NOTIFY 530 -#define NOTNULL 531 -#define NOWAIT 532 -#define NULL_P 533 -#define NULLIF 534 -#define NULLS_P 535 -#define NUMERIC 536 -#define OBJECT_P 537 -#define OF 538 -#define OFF 539 -#define OFFSET 540 -#define OIDS 541 -#define OLD 542 -#define ON 543 -#define ONLY 544 -#define OPERATOR 545 -#define OPTION 546 -#define OPTIONS 547 -#define OR 548 -#define ORDER 549 -#define ORDINALITY 550 -#define OTHERS 551 -#define OUT_P 552 -#define OUTER_P 553 -#define OVER 554 -#define OVERLAPS 555 -#define OVERLAY 556 -#define OVERRIDING 557 -#define OWNED 558 -#define OWNER 559 -#define PARALLEL 560 -#define PARAMETER 561 -#define PARSER 562 -#define PARTIAL 563 -#define PARTITION 564 -#define PASSING 565 -#define PASSWORD 566 -#define PLACING 567 -#define PLANS 568 -#define POLICY 569 -#define POSITION 570 -#define PRECEDING 571 -#define PRECISION 572 -#define PRESERVE 573 -#define PREPARE 574 -#define PREPARED 575 -#define PRIMARY 576 -#define PRIOR 577 -#define PRIVILEGES 578 -#define PROCEDURAL 579 -#define PROCEDURE 580 -#define PROCEDURES 581 -#define PROGRAM 582 -#define PUBLICATION 583 -#define QUOTE 584 -#define RANGE 585 -#define READ 586 -#define REAL 587 -#define REASSIGN 588 -#define RECHECK 589 -#define RECURSIVE 590 -#define REF_P 591 -#define REFERENCES 592 -#define REFERENCING 593 -#define REFRESH 594 -#define REINDEX 595 -#define RELATIVE_P 596 -#define RELEASE 597 -#define RENAME 598 -#define REPEATABLE 599 -#define REPLACE 600 -#define REPLICA 601 -#define RESET 602 -#define RESTART 603 -#define RESTRICT 604 -#define RETURN 605 -#define RETURNING 606 -#define RETURNS 607 -#define REVOKE 608 -#define RIGHT 609 -#define ROLE 610 -#define ROLLBACK 611 -#define ROLLUP 612 -#define ROUTINE 613 -#define ROUTINES 614 -#define ROW 615 -#define ROWS 616 -#define RULE 617 -#define SAVEPOINT 618 -#define SCHEMA 619 -#define SCHEMAS 620 -#define SCROLL 621 -#define SEARCH 622 -#define SECOND_P 623 -#define SECURITY 624 -#define SELECT 625 -#define SEQUENCE 626 -#define SEQUENCES 627 -#define SERIALIZABLE 628 -#define SERVER 629 -#define SESSION 630 -#define SESSION_USER 631 -#define SET 632 -#define SETS 633 -#define SETOF 634 -#define SHARE 635 -#define SHOW 636 -#define SIMILAR 637 -#define SIMPLE 638 -#define SKIP 639 -#define SMALLINT 640 -#define SNAPSHOT 641 -#define SOME 642 -#define SQL_P 643 -#define STABLE 644 -#define STANDALONE_P 645 -#define START 646 -#define STATEMENT 647 -#define STATISTICS 648 -#define STDIN 649 -#define STDOUT 650 -#define STORAGE 651 -#define STORED 652 -#define STRICT_P 653 -#define STRIP_P 654 -#define SUBSCRIPTION 655 -#define SUBSTRING 656 -#define SUPPORT 657 -#define SYMMETRIC 658 -#define SYSID 659 -#define SYSTEM_P 660 -#define TABLE 661 -#define TABLES 662 -#define TABLESAMPLE 663 -#define TABLESPACE 664 -#define TEMP 665 -#define TEMPLATE 666 -#define TEMPORARY 667 -#define TEXT_P 668 -#define THEN 669 -#define TIES 670 -#define TIME 671 -#define TIMESTAMP 672 -#define TO 673 -#define TRAILING 674 -#define TRANSACTION 675 -#define TRANSFORM 676 -#define TREAT 677 -#define TRIGGER 678 -#define TRIM 679 -#define TRUE_P 680 -#define TRUNCATE 681 -#define TRUSTED 682 -#define TYPE_P 683 -#define TYPES_P 684 -#define UESCAPE 685 -#define UNBOUNDED 686 -#define UNCOMMITTED 687 -#define UNENCRYPTED 688 -#define UNION 689 -#define UNIQUE 690 -#define UNKNOWN 691 -#define UNLISTEN 692 -#define UNLOGGED 693 -#define UNTIL 694 -#define UPDATE 695 -#define USER 696 -#define USING 697 -#define VACUUM 698 -#define VALID 699 -#define VALIDATE 700 -#define VALIDATOR 701 -#define VALUE_P 702 -#define VALUES 703 -#define VARCHAR 704 -#define VARIADIC 705 -#define VARYING 706 -#define VERBOSE 707 -#define VERSION_P 708 -#define VIEW 709 -#define VIEWS 710 -#define VOLATILE 711 -#define WHEN 712 -#define WHERE 713 -#define WHITESPACE_P 714 -#define WINDOW 715 -#define WITH 716 -#define WITHIN 717 -#define WITHOUT 718 -#define WORK 719 -#define WRAPPER 720 -#define WRITE 721 -#define XML_P 722 -#define XMLATTRIBUTES 723 -#define XMLCONCAT 724 -#define XMLELEMENT 725 -#define XMLEXISTS 726 -#define XMLFOREST 727 -#define XMLNAMESPACES 728 -#define XMLPARSE 729 -#define XMLPI 730 -#define XMLROOT 731 -#define XMLSERIALIZE 732 -#define XMLTABLE 733 -#define YEAR_P 734 -#define YES_P 735 -#define ZONE 736 -#define NOT_LA 737 -#define NULLS_LA 738 -#define WITH_LA 739 -#define MODE_TYPE_NAME 740 -#define MODE_PLPGSQL_EXPR 741 -#define MODE_PLPGSQL_ASSIGN1 742 -#define MODE_PLPGSQL_ASSIGN2 743 -#define MODE_PLPGSQL_ASSIGN3 744 -#define UMINUS 745 +#define ABSENT 278 +#define ABSOLUTE_P 279 +#define ACCESS 280 +#define ACTION 281 +#define ADD_P 282 +#define ADMIN 283 +#define AFTER 284 +#define AGGREGATE 285 +#define ALL 286 +#define ALSO 287 +#define ALTER 288 +#define ALWAYS 289 +#define ANALYSE 290 +#define ANALYZE 291 +#define AND 292 +#define ANY 293 +#define ARRAY 294 +#define AS 295 +#define ASC 296 +#define ASENSITIVE 297 +#define ASSERTION 298 +#define ASSIGNMENT 299 +#define ASYMMETRIC 300 +#define ATOMIC 301 +#define AT 302 +#define ATTACH 303 +#define ATTRIBUTE 304 +#define AUTHORIZATION 305 +#define BACKWARD 306 +#define BEFORE 307 +#define BEGIN_P 308 +#define BETWEEN 309 +#define BIGINT 310 +#define BINARY 311 +#define BIT 312 +#define BOOLEAN_P 313 +#define BOTH 314 +#define BREADTH 315 +#define BY 316 +#define CACHE 317 +#define CALL 318 +#define CALLED 319 +#define CASCADE 320 +#define CASCADED 321 +#define CASE 322 +#define CAST 323 +#define CATALOG_P 324 +#define CHAIN 325 +#define CHAR_P 326 +#define CHARACTER 327 +#define CHARACTERISTICS 328 +#define CHECK 329 +#define CHECKPOINT 330 +#define CLASS 331 +#define CLOSE 332 +#define CLUSTER 333 +#define COALESCE 334 +#define COLLATE 335 +#define COLLATION 336 +#define COLUMN 337 +#define COLUMNS 338 +#define COMMENT 339 +#define COMMENTS 340 +#define COMMIT 341 +#define COMMITTED 342 +#define COMPRESSION 343 +#define CONCURRENTLY 344 +#define CONDITIONAL 345 +#define CONFIGURATION 346 +#define CONFLICT 347 +#define CONNECTION 348 +#define CONSTRAINT 349 +#define CONSTRAINTS 350 +#define CONTENT_P 351 +#define CONTINUE_P 352 +#define CONVERSION_P 353 +#define COPY 354 +#define COST 355 +#define CREATE 356 +#define CROSS 357 +#define CSV 358 +#define CUBE 359 +#define CURRENT_P 360 +#define CURRENT_CATALOG 361 +#define CURRENT_DATE 362 +#define CURRENT_ROLE 363 +#define CURRENT_SCHEMA 364 +#define CURRENT_TIME 365 +#define CURRENT_TIMESTAMP 366 +#define CURRENT_USER 367 +#define CURSOR 368 +#define CYCLE 369 +#define DATA_P 370 +#define DATABASE 371 +#define DAY_P 372 +#define DEALLOCATE 373 +#define DEC 374 +#define DECIMAL_P 375 +#define DECLARE 376 +#define DEFAULT 377 +#define DEFAULTS 378 +#define DEFERRABLE 379 +#define DEFERRED 380 +#define DEFINER 381 +#define DELETE_P 382 +#define DELIMITER 383 +#define DELIMITERS 384 +#define DEPENDS 385 +#define DEPTH 386 +#define DESC 387 +#define DETACH 388 +#define DICTIONARY 389 +#define DISABLE_P 390 +#define DISCARD 391 +#define DISTINCT 392 +#define DO 393 +#define DOCUMENT_P 394 +#define DOMAIN_P 395 +#define DOUBLE_P 396 +#define DROP 397 +#define EACH 398 +#define ELSE 399 +#define EMPTY_P 400 +#define ENABLE_P 401 +#define ENCODING 402 +#define ENCRYPTED 403 +#define END_P 404 +#define ENUM_P 405 +#define ERROR_P 406 +#define ESCAPE 407 +#define EVENT 408 +#define EXCEPT 409 +#define EXCLUDE 410 +#define EXCLUDING 411 +#define EXCLUSIVE 412 +#define EXECUTE 413 +#define EXISTS 414 +#define EXPLAIN 415 +#define EXPRESSION 416 +#define EXTENSION 417 +#define EXTERNAL 418 +#define EXTRACT 419 +#define FALSE_P 420 +#define FAMILY 421 +#define FETCH 422 +#define FILTER 423 +#define FINALIZE 424 +#define FIRST_P 425 +#define FLOAT_P 426 +#define FOLLOWING 427 +#define FOR 428 +#define FORCE 429 +#define FOREIGN 430 +#define FORMAT 431 +#define FORWARD 432 +#define FREEZE 433 +#define FROM 434 +#define FULL 435 +#define FUNCTION 436 +#define FUNCTIONS 437 +#define GENERATED 438 +#define GLOBAL 439 +#define GRANT 440 +#define GRANTED 441 +#define GREATEST 442 +#define GROUP_P 443 +#define GROUPING 444 +#define GROUPS 445 +#define HANDLER 446 +#define HAVING 447 +#define HEADER_P 448 +#define HOLD 449 +#define HOUR_P 450 +#define IDENTITY_P 451 +#define IF_P 452 +#define ILIKE 453 +#define IMMEDIATE 454 +#define IMMUTABLE 455 +#define IMPLICIT_P 456 +#define IMPORT_P 457 +#define IN_P 458 +#define INCLUDE 459 +#define INCLUDING 460 +#define INCREMENT 461 +#define INDENT 462 +#define INDEX 463 +#define INDEXES 464 +#define INHERIT 465 +#define INHERITS 466 +#define INITIALLY 467 +#define INLINE_P 468 +#define INNER_P 469 +#define INOUT 470 +#define INPUT_P 471 +#define INSENSITIVE 472 +#define INSERT 473 +#define INSTEAD 474 +#define INT_P 475 +#define INTEGER 476 +#define INTERSECT 477 +#define INTERVAL 478 +#define INTO 479 +#define INVOKER 480 +#define IS 481 +#define ISNULL 482 +#define ISOLATION 483 +#define JOIN 484 +#define JSON 485 +#define JSON_ARRAY 486 +#define JSON_ARRAYAGG 487 +#define JSON_EXISTS 488 +#define JSON_OBJECT 489 +#define JSON_OBJECTAGG 490 +#define JSON_QUERY 491 +#define JSON_SCALAR 492 +#define JSON_SERIALIZE 493 +#define JSON_TABLE 494 +#define JSON_VALUE 495 +#define KEEP 496 +#define KEY 497 +#define KEYS 498 +#define LABEL 499 +#define LANGUAGE 500 +#define LARGE_P 501 +#define LAST_P 502 +#define LATERAL_P 503 +#define LEADING 504 +#define LEAKPROOF 505 +#define LEAST 506 +#define LEFT 507 +#define LEVEL 508 +#define LIKE 509 +#define LIMIT 510 +#define LISTEN 511 +#define LOAD 512 +#define LOCAL 513 +#define LOCALTIME 514 +#define LOCALTIMESTAMP 515 +#define LOCATION 516 +#define LOCK_P 517 +#define LOCKED 518 +#define LOGGED 519 +#define MAPPING 520 +#define MATCH 521 +#define MATCHED 522 +#define MATERIALIZED 523 +#define MAXVALUE 524 +#define MERGE 525 +#define MERGE_ACTION 526 +#define METHOD 527 +#define MINUTE_P 528 +#define MINVALUE 529 +#define MODE 530 +#define MONTH_P 531 +#define MOVE 532 +#define NAME_P 533 +#define NAMES 534 +#define NATIONAL 535 +#define NATURAL 536 +#define NCHAR 537 +#define NESTED 538 +#define NEW 539 +#define NEXT 540 +#define NFC 541 +#define NFD 542 +#define NFKC 543 +#define NFKD 544 +#define NO 545 +#define NONE 546 +#define NORMALIZE 547 +#define NORMALIZED 548 +#define NOT 549 +#define NOTHING 550 +#define NOTIFY 551 +#define NOTNULL 552 +#define NOWAIT 553 +#define NULL_P 554 +#define NULLIF 555 +#define NULLS_P 556 +#define NUMERIC 557 +#define OBJECT_P 558 +#define OF 559 +#define OFF 560 +#define OFFSET 561 +#define OIDS 562 +#define OLD 563 +#define OMIT 564 +#define ON 565 +#define ONLY 566 +#define OPERATOR 567 +#define OPTION 568 +#define OPTIONS 569 +#define OR 570 +#define ORDER 571 +#define ORDINALITY 572 +#define OTHERS 573 +#define OUT_P 574 +#define OUTER_P 575 +#define OVER 576 +#define OVERLAPS 577 +#define OVERLAY 578 +#define OVERRIDING 579 +#define OWNED 580 +#define OWNER 581 +#define PARALLEL 582 +#define PARAMETER 583 +#define PARSER 584 +#define PARTIAL 585 +#define PARTITION 586 +#define PASSING 587 +#define PASSWORD 588 +#define PATH 589 +#define PLACING 590 +#define PLAN 591 +#define PLANS 592 +#define POLICY 593 +#define POSITION 594 +#define PRECEDING 595 +#define PRECISION 596 +#define PRESERVE 597 +#define PREPARE 598 +#define PREPARED 599 +#define PRIMARY 600 +#define PRIOR 601 +#define PRIVILEGES 602 +#define PROCEDURAL 603 +#define PROCEDURE 604 +#define PROCEDURES 605 +#define PROGRAM 606 +#define PUBLICATION 607 +#define QUOTE 608 +#define QUOTES 609 +#define RANGE 610 +#define READ 611 +#define REAL 612 +#define REASSIGN 613 +#define RECHECK 614 +#define RECURSIVE 615 +#define REF_P 616 +#define REFERENCES 617 +#define REFERENCING 618 +#define REFRESH 619 +#define REINDEX 620 +#define RELATIVE_P 621 +#define RELEASE 622 +#define RENAME 623 +#define REPEATABLE 624 +#define REPLACE 625 +#define REPLICA 626 +#define RESET 627 +#define RESTART 628 +#define RESTRICT 629 +#define RETURN 630 +#define RETURNING 631 +#define RETURNS 632 +#define REVOKE 633 +#define RIGHT 634 +#define ROLE 635 +#define ROLLBACK 636 +#define ROLLUP 637 +#define ROUTINE 638 +#define ROUTINES 639 +#define ROW 640 +#define ROWS 641 +#define RULE 642 +#define SAVEPOINT 643 +#define SCALAR 644 +#define SCHEMA 645 +#define SCHEMAS 646 +#define SCROLL 647 +#define SEARCH 648 +#define SECOND_P 649 +#define SECURITY 650 +#define SELECT 651 +#define SEQUENCE 652 +#define SEQUENCES 653 +#define SERIALIZABLE 654 +#define SERVER 655 +#define SESSION 656 +#define SESSION_USER 657 +#define SET 658 +#define SETS 659 +#define SETOF 660 +#define SHARE 661 +#define SHOW 662 +#define SIMILAR 663 +#define SIMPLE 664 +#define SKIP 665 +#define SMALLINT 666 +#define SNAPSHOT 667 +#define SOME 668 +#define SOURCE 669 +#define SQL_P 670 +#define STABLE 671 +#define STANDALONE_P 672 +#define START 673 +#define STATEMENT 674 +#define STATISTICS 675 +#define STDIN 676 +#define STDOUT 677 +#define STORAGE 678 +#define STORED 679 +#define STRICT_P 680 +#define STRING_P 681 +#define STRIP_P 682 +#define SUBSCRIPTION 683 +#define SUBSTRING 684 +#define SUPPORT 685 +#define SYMMETRIC 686 +#define SYSID 687 +#define SYSTEM_P 688 +#define SYSTEM_USER 689 +#define TABLE 690 +#define TABLES 691 +#define TABLESAMPLE 692 +#define TABLESPACE 693 +#define TARGET 694 +#define TEMP 695 +#define TEMPLATE 696 +#define TEMPORARY 697 +#define TEXT_P 698 +#define THEN 699 +#define TIES 700 +#define TIME 701 +#define TIMESTAMP 702 +#define TO 703 +#define TRAILING 704 +#define TRANSACTION 705 +#define TRANSFORM 706 +#define TREAT 707 +#define TRIGGER 708 +#define TRIM 709 +#define TRUE_P 710 +#define TRUNCATE 711 +#define TRUSTED 712 +#define TYPE_P 713 +#define TYPES_P 714 +#define UESCAPE 715 +#define UNBOUNDED 716 +#define UNCONDITIONAL 717 +#define UNCOMMITTED 718 +#define UNENCRYPTED 719 +#define UNION 720 +#define UNIQUE 721 +#define UNKNOWN 722 +#define UNLISTEN 723 +#define UNLOGGED 724 +#define UNTIL 725 +#define UPDATE 726 +#define USER 727 +#define USING 728 +#define VACUUM 729 +#define VALID 730 +#define VALIDATE 731 +#define VALIDATOR 732 +#define VALUE_P 733 +#define VALUES 734 +#define VARCHAR 735 +#define VARIADIC 736 +#define VARYING 737 +#define VERBOSE 738 +#define VERSION_P 739 +#define VIEW 740 +#define VIEWS 741 +#define VOLATILE 742 +#define WHEN 743 +#define WHERE 744 +#define WHITESPACE_P 745 +#define WINDOW 746 +#define WITH 747 +#define WITHIN 748 +#define WITHOUT 749 +#define WORK 750 +#define WRAPPER 751 +#define WRITE 752 +#define XML_P 753 +#define XMLATTRIBUTES 754 +#define XMLCONCAT 755 +#define XMLELEMENT 756 +#define XMLEXISTS 757 +#define XMLFOREST 758 +#define XMLNAMESPACES 759 +#define XMLPARSE 760 +#define XMLPI 761 +#define XMLROOT 762 +#define XMLSERIALIZE 763 +#define XMLTABLE 764 +#define YEAR_P 765 +#define YES_P 766 +#define ZONE 767 +#define FORMAT_LA 768 +#define NOT_LA 769 +#define NULLS_LA 770 +#define WITH_LA 771 +#define WITHOUT_LA 772 +#define MODE_TYPE_NAME 773 +#define MODE_PLPGSQL_EXPR 774 +#define MODE_PLPGSQL_ASSIGN1 775 +#define MODE_PLPGSQL_ASSIGN2 776 +#define MODE_PLPGSQL_ASSIGN3 777 +#define UMINUS 778 @@ -1127,7 +1193,7 @@ * gram.y * POSTGRESQL BISON rules/actions * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -1176,9 +1242,9 @@ #include "catalog/pg_trigger.h" #include "commands/defrem.h" #include "commands/trigger.h" +#include "gramparse.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" -#include "parser/gramparse.h" #include "parser/parser.h" #include "storage/lmgr.h" #include "utils/date.h" @@ -1224,10 +1290,7 @@ /* * Bison doesn't allocate anything that needs to live across parser calls, * so we can easily have it use palloc instead of malloc. This prevents - * memory leaks if we error out during parsing. Note this only works with - * bison >= 2.0. However, in bison 1.875 the default is to use alloca() - * if possible, so there's not really much problem anyhow, at least if - * you're building with gcc. + * memory leaks if we error out during parsing. */ #define YYMALLOC palloc #define YYFREE pfree @@ -1294,7 +1357,6 @@ static void updateRawStmtEnd(RawStmt *rs, int end_location); static Node *makeColumnRef(char *colname, List *indirection, int location, core_yyscan_t yyscanner); static Node *makeTypeCast(Node *arg, TypeName *typename, int location); -static Node *makeStringConst(char *str, int location); static Node *makeStringConstCast(char *str, int location, TypeName *typename); static Node *makeIntConst(int val, int location); static Node *makeFloatConst(char *str, int location); @@ -1331,8 +1393,7 @@ static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args, static List *mergeTableFuncParameters(List *func_args, List *columns); static TypeName *TableFuncTypeName(List *columns); static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner); -static RangeVar *makeRangeVarFromQualifiedName(char *name, List *rels, - int location, +static RangeVar *makeRangeVarFromQualifiedName(char *name, List *namelist, int location, core_yyscan_t yyscanner); static void SplitColQualList(List *qualList, List **constraintList, CollateClause **collClause, @@ -1340,6 +1401,7 @@ static void SplitColQualList(List *qualList, static void processCASbits(int cas_bits, int location, const char *constrType, bool *deferrable, bool *initdeferred, bool *not_valid, bool *no_inherit, core_yyscan_t yyscanner); +static PartitionStrategy parsePartitionStrategy(char *strategy); static void preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner); static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); @@ -1366,7 +1428,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 237 "gram.y" +#line 233 "gram.y" { core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ @@ -1413,12 +1475,13 @@ typedef union YYSTYPE struct SelectLimit *selectlimit; SetQuantifier setquantifier; struct GroupClause *groupclause; + MergeMatchKind mergematch; MergeWhenClause *mergewhen; struct KeyActions *keyactions; struct KeyAction *keyaction; } /* Line 193 of yacc.c. */ -#line 1362 "gram.c" +#line 1425 "gram.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -1443,7 +1506,7 @@ typedef struct YYLTYPE /* Line 216 of yacc.c. */ -#line 1387 "gram.c" +#line 1450 "gram.c" #ifdef short # undef short @@ -1658,22 +1721,22 @@ union yyalloc #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 902 +#define YYFINAL 928 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 111265 +#define YYLAST 122949 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 508 +#define YYNTOKENS 541 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 688 +#define YYNNTS 728 /* YYNRULES -- Number of rules. */ -#define YYNRULES 3219 +#define YYNRULES 3421 /* YYNRULES -- Number of states. */ -#define YYNSTATES 6106 +#define YYNSTATES 6474 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 745 +#define YYMAXUTOK 778 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -1684,13 +1747,13 @@ static const yytype_uint16 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 497, 2, 2, - 502, 503, 495, 493, 506, 494, 504, 496, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 507, 505, - 490, 492, 491, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 530, 2, 2, + 535, 536, 528, 526, 539, 527, 537, 529, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 540, 538, + 523, 525, 524, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 500, 2, 501, 498, 2, 2, 2, 2, 2, + 2, 533, 2, 534, 531, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1755,7 +1818,10 @@ static const yytype_uint16 yytranslate[] = 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 499 + 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 532 }; #if YYDEBUG @@ -1776,1760 +1842,1867 @@ static const yytype_uint16 yyprhs[] = 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, - 266, 268, 270, 272, 274, 276, 278, 279, 282, 288, - 290, 292, 293, 296, 297, 300, 301, 304, 307, 310, - 314, 318, 322, 324, 328, 332, 335, 337, 339, 342, - 345, 348, 352, 356, 362, 368, 374, 375, 379, 385, - 391, 397, 403, 407, 413, 417, 423, 427, 433, 439, - 446, 448, 450, 457, 462, 472, 480, 482, 483, 486, - 487, 489, 491, 493, 495, 497, 499, 502, 506, 510, - 513, 519, 521, 525, 529, 533, 537, 539, 543, 547, - 550, 553, 556, 559, 562, 565, 569, 573, 577, 581, - 585, 587, 591, 593, 597, 599, 601, 603, 606, 609, - 612, 614, 616, 618, 620, 622, 624, 626, 628, 632, - 638, 640, 642, 644, 646, 648, 649, 651, 653, 656, - 658, 661, 665, 668, 670, 672, 675, 677, 680, 682, - 685, 689, 694, 698, 701, 706, 708, 710, 712, 714, - 716, 719, 722, 725, 728, 731, 736, 743, 748, 755, - 766, 780, 785, 792, 797, 808, 822, 827, 834, 839, - 846, 852, 860, 872, 887, 893, 901, 903, 907, 912, - 917, 922, 926, 929, 935, 939, 946, 951, 958, 965, - 971, 979, 986, 993, 999, 1005, 1012, 1018, 1028, 1033, - 1039, 1047, 1054, 1059, 1068, 1073, 1076, 1081, 1085, 1092, - 1097, 1101, 1105, 1109, 1112, 1115, 1119, 1124, 1129, 1133, - 1137, 1141, 1145, 1149, 1153, 1158, 1163, 1167, 1170, 1174, - 1177, 1180, 1184, 1189, 1193, 1196, 1199, 1203, 1208, 1213, - 1218, 1224, 1226, 1230, 1233, 1235, 1237, 1238, 1241, 1242, - 1245, 1246, 1248, 1250, 1252, 1256, 1260, 1263, 1264, 1266, - 1270, 1274, 1276, 1282, 1286, 1288, 1291, 1293, 1297, 1300, - 1304, 1311, 1318, 1329, 1331, 1334, 1336, 1340, 1345, 1347, - 1351, 1356, 1363, 1368, 1377, 1380, 1383, 1395, 1405, 1407, - 1409, 1411, 1412, 1414, 1416, 1418, 1420, 1424, 1427, 1428, - 1430, 1432, 1436, 1440, 1442, 1444, 1448, 1452, 1456, 1460, - 1465, 1469, 1472, 1474, 1475, 1479, 1480, 1482, 1483, 1485, - 1489, 1492, 1494, 1496, 1498, 1502, 1503, 1505, 1509, 1511, - 1525, 1542, 1555, 1571, 1586, 1604, 1606, 1608, 1611, 1614, - 1617, 1620, 1622, 1623, 1625, 1626, 1630, 1631, 1633, 1637, - 1639, 1643, 1645, 1647, 1649, 1651, 1653, 1659, 1662, 1667, - 1670, 1673, 1675, 1676, 1679, 1680, 1684, 1686, 1688, 1691, - 1694, 1696, 1701, 1706, 1712, 1715, 1721, 1729, 1735, 1738, - 1742, 1743, 1745, 1748, 1750, 1753, 1756, 1759, 1763, 1767, - 1771, 1772, 1774, 1776, 1778, 1780, 1782, 1784, 1786, 1788, - 1790, 1792, 1796, 1798, 1804, 1814, 1818, 1828, 1833, 1844, - 1856, 1859, 1860, 1864, 1865, 1867, 1871, 1873, 1878, 1879, - 1882, 1885, 1888, 1889, 1891, 1895, 1899, 1906, 1911, 1912, - 1914, 1916, 1919, 1922, 1923, 1927, 1931, 1934, 1936, 1938, - 1942, 1946, 1951, 1952, 1954, 1955, 1962, 1964, 1968, 1972, - 1976, 1982, 1985, 1986, 1989, 1992, 1993, 1997, 2002, 2007, - 2008, 2011, 2012, 2017, 2018, 2022, 2031, 2043, 2045, 2049, - 2051, 2053, 2057, 2064, 2073, 2081, 2092, 2099, 2102, 2106, - 2107, 2116, 2128, 2134, 2136, 2137, 2144, 2150, 2159, 2164, - 2171, 2173, 2174, 2178, 2179, 2181, 2184, 2187, 2190, 2192, - 2195, 2199, 2202, 2205, 2208, 2211, 2215, 2219, 2223, 2225, - 2229, 2231, 2232, 2234, 2237, 2240, 2242, 2244, 2248, 2255, - 2266, 2268, 2269, 2271, 2274, 2277, 2278, 2281, 2284, 2286, - 2287, 2289, 2290, 2298, 2301, 2302, 2306, 2312, 2318, 2327, - 2330, 2331, 2334, 2337, 2340, 2342, 2348, 2351, 2352, 2355, - 2362, 2369, 2376, 2387, 2394, 2401, 2408, 2418, 2428, 2435, - 2442, 2452, 2459, 2467, 2470, 2473, 2476, 2479, 2481, 2484, - 2486, 2487, 2495, 2502, 2507, 2508, 2510, 2514, 2519, 2521, - 2525, 2527, 2530, 2533, 2536, 2539, 2541, 2543, 2554, 2568, - 2571, 2572, 2575, 2578, 2580, 2581, 2587, 2592, 2597, 2609, - 2624, 2637, 2653, 2665, 2668, 2670, 2675, 2676, 2685, 2697, - 2699, 2701, 2709, 2719, 2728, 2739, 2748, 2753, 2754, 2760, - 2761, 2764, 2765, 2768, 2769, 2772, 2773, 2776, 2777, 2779, - 2781, 2783, 2785, 2787, 2796, 2798, 2800, 2818, 2840, 2842, - 2844, 2847, 2849, 2853, 2855, 2857, 2859, 2863, 2865, 2868, - 2869, 2871, 2874, 2879, 2881, 2883, 2885, 2887, 2889, 2893, - 2894, 2896, 2897, 2899, 2901, 2906, 2907, 2909, 2911, 2913, - 2917, 2918, 2920, 2922, 2924, 2926, 2929, 2930, 2931, 2934, - 2937, 2939, 2942, 2945, 2948, 2951, 2963, 2977, 2979, 2983, - 2989, 2991, 2995, 3001, 3003, 3006, 3009, 3011, 3020, 3027, - 3033, 3038, 3043, 3047, 3055, 3064, 3071, 3078, 3085, 3092, - 3099, 3104, 3112, 3118, 3127, 3131, 3133, 3137, 3141, 3143, - 3145, 3147, 3149, 3151, 3153, 3155, 3159, 3161, 3165, 3169, - 3171, 3172, 3174, 3178, 3186, 3196, 3206, 3215, 3219, 3220, - 3234, 3236, 3240, 3246, 3252, 3256, 3263, 3266, 3268, 3269, - 3272, 3273, 3276, 3281, 3282, 3284, 3285, 3292, 3301, 3310, - 3312, 3316, 3322, 3328, 3336, 3346, 3354, 3364, 3370, 3377, - 3384, 3389, 3396, 3401, 3408, 3417, 3422, 3429, 3434, 3441, - 3447, 3455, 3457, 3459, 3461, 3464, 3466, 3469, 3471, 3473, - 3475, 3479, 3483, 3487, 3491, 3493, 3495, 3497, 3499, 3501, - 3504, 3507, 3509, 3513, 3516, 3518, 3520, 3522, 3524, 3526, - 3528, 3530, 3534, 3536, 3539, 3542, 3546, 3548, 3552, 3558, - 3561, 3564, 3565, 3572, 3579, 3586, 3593, 3600, 3607, 3614, - 3621, 3630, 3640, 3649, 3656, 3663, 3673, 3683, 3693, 3701, - 3712, 3714, 3716, 3725, 3734, 3743, 3752, 3761, 3770, 3779, - 3789, 3798, 3807, 3810, 3811, 3813, 3815, 3818, 3821, 3823, - 3826, 3830, 3834, 3838, 3842, 3847, 3852, 3856, 3860, 3864, - 3869, 3874, 3878, 3883, 3888, 3890, 3892, 3894, 3895, 3904, - 3913, 3925, 3927, 3929, 3932, 3937, 3943, 3945, 3949, 3952, - 3955, 3958, 3961, 3964, 3966, 3970, 3972, 3976, 3978, 3981, - 3984, 3989, 3993, 3996, 3999, 4002, 4005, 4008, 4011, 4015, - 4018, 4021, 4024, 4027, 4033, 4039, 4045, 4051, 4057, 4059, - 4063, 4065, 4068, 4072, 4073, 4080, 4087, 4097, 4101, 4102, - 4106, 4107, 4113, 4116, 4117, 4121, 4125, 4129, 4137, 4145, - 4156, 4158, 4160, 4162, 4164, 4166, 4168, 4185, 4205, 4207, - 4208, 4210, 4211, 4213, 4214, 4217, 4218, 4220, 4224, 4229, - 4235, 4238, 4241, 4246, 4251, 4252, 4254, 4258, 4261, 4262, - 4264, 4265, 4267, 4269, 4270, 4273, 4276, 4277, 4287, 4300, - 4308, 4316, 4319, 4320, 4324, 4327, 4329, 4333, 4335, 4339, - 4342, 4344, 4346, 4349, 4353, 4356, 4358, 4362, 4366, 4370, - 4373, 4376, 4378, 4380, 4382, 4384, 4387, 4389, 4391, 4393, - 4395, 4400, 4406, 4408, 4412, 4416, 4418, 4422, 4426, 4432, - 4439, 4441, 4445, 4448, 4450, 4454, 4456, 4457, 4459, 4462, - 4467, 4473, 4475, 4477, 4479, 4481, 4485, 4489, 4492, 4495, - 4497, 4500, 4503, 4506, 4509, 4511, 4514, 4517, 4520, 4523, - 4525, 4527, 4529, 4533, 4536, 4538, 4543, 4544, 4548, 4549, - 4551, 4553, 4557, 4563, 4566, 4567, 4570, 4572, 4576, 4582, - 4588, 4594, 4596, 4599, 4601, 4602, 4607, 4614, 4619, 4626, - 4631, 4638, 4643, 4650, 4655, 4662, 4666, 4672, 4678, 4684, - 4686, 4690, 4692, 4696, 4699, 4702, 4704, 4707, 4709, 4712, - 4724, 4735, 4746, 4749, 4752, 4753, 4763, 4766, 4767, 4778, - 4790, 4802, 4808, 4814, 4823, 4828, 4833, 4841, 4849, 4851, - 4853, 4855, 4857, 4859, 4865, 4871, 4878, 4885, 4892, 4899, - 4906, 4915, 4924, 4931, 4938, 4946, 4956, 4966, 4975, 4986, - 4993, 5000, 5007, 5014, 5021, 5028, 5035, 5044, 5051, 5060, - 5067, 5076, 5084, 5094, 5101, 5110, 5118, 5128, 5137, 5148, - 5157, 5168, 5178, 5190, 5199, 5210, 5220, 5232, 5241, 5250, - 5258, 5265, 5272, 5279, 5286, 5295, 5304, 5313, 5322, 5329, - 5339, 5341, 5342, 5345, 5346, 5355, 5364, 5373, 5384, 5394, - 5403, 5405, 5406, 5413, 5420, 5427, 5434, 5441, 5448, 5455, - 5465, 5475, 5482, 5489, 5496, 5505, 5512, 5521, 5530, 5539, - 5548, 5555, 5564, 5571, 5580, 5588, 5598, 5606, 5616, 5623, - 5631, 5633, 5637, 5641, 5645, 5647, 5649, 5651, 5653, 5655, - 5663, 5670, 5677, 5684, 5691, 5698, 5705, 5713, 5721, 5728, - 5738, 5748, 5755, 5762, 5769, 5776, 5783, 5790, 5799, 5808, - 5817, 5824, 5832, 5839, 5846, 5851, 5859, 5866, 5871, 5876, - 5881, 5885, 5890, 5894, 5896, 5898, 5902, 5908, 5914, 5920, - 5926, 5935, 5941, 5947, 5954, 5962, 5970, 5978, 5983, 5988, - 5994, 5999, 6006, 6020, 6022, 6024, 6028, 6032, 6034, 6036, - 6038, 6040, 6042, 6044, 6046, 6047, 6049, 6051, 6053, 6055, - 6057, 6059, 6060, 6064, 6067, 6068, 6071, 6074, 6077, 6081, - 6085, 6089, 6093, 6096, 6100, 6103, 6109, 6114, 6118, 6122, - 6126, 6130, 6134, 6136, 6138, 6139, 6143, 6146, 6149, 6151, - 6154, 6156, 6160, 6163, 6165, 6166, 6169, 6173, 6174, 6184, - 6196, 6209, 6224, 6228, 6233, 6238, 6239, 6242, 6248, 6250, - 6251, 6253, 6256, 6260, 6264, 6268, 6270, 6273, 6275, 6277, - 6279, 6281, 6283, 6285, 6286, 6292, 6297, 6304, 6311, 6316, - 6320, 6326, 6334, 6344, 6346, 6350, 6352, 6358, 6363, 6368, - 6375, 6380, 6387, 6394, 6400, 6408, 6418, 6425, 6427, 6428, - 6435, 6447, 6459, 6471, 6485, 6495, 6507, 6509, 6511, 6522, - 6527, 6534, 6537, 6543, 6546, 6547, 6554, 6560, 6564, 6570, - 6572, 6576, 6578, 6580, 6583, 6585, 6587, 6589, 6591, 6592, - 6594, 6595, 6597, 6598, 6600, 6601, 6603, 6604, 6608, 6609, - 6612, 6614, 6618, 6620, 6621, 6624, 6629, 6633, 6639, 6641, - 6643, 6645, 6647, 6649, 6651, 6653, 6655, 6657, 6659, 6665, - 6669, 6670, 6672, 6674, 6676, 6678, 6680, 6684, 6694, 6707, - 6711, 6712, 6715, 6719, 6722, 6726, 6734, 6736, 6740, 6742, - 6747, 6752, 6760, 6763, 6765, 6767, 6769, 6773, 6776, 6785, - 6791, 6792, 6797, 6801, 6802, 6805, 6806, 6814, 6817, 6818, - 6824, 6828, 6829, 6832, 6835, 6838, 6842, 6844, 6848, 6850, - 6853, 6855, 6856, 6858, 6861, 6862, 6871, 6873, 6877, 6881, - 6887, 6890, 6892, 6896, 6906, 6908, 6911, 6917, 6923, 6930, - 6937, 6945, 6948, 6949, 6953, 6955, 6958, 6964, 6970, 6979, - 6983, 6988, 6996, 6998, 6999, 7003, 7006, 7009, 7012, 7015, - 7016, 7019, 7022, 7024, 7026, 7030, 7034, 7036, 7039, 7044, - 7049, 7052, 7056, 7062, 7068, 7070, 7072, 7082, 7092, 7094, - 7097, 7102, 7107, 7112, 7115, 7118, 7122, 7124, 7128, 7138, - 7140, 7143, 7144, 7152, 7160, 7161, 7172, 7179, 7180, 7182, - 7183, 7186, 7187, 7191, 7195, 7200, 7205, 7210, 7215, 7219, - 7222, 7224, 7226, 7227, 7229, 7231, 7232, 7234, 7240, 7242, - 7243, 7245, 7247, 7249, 7250, 7254, 7256, 7260, 7265, 7269, - 7272, 7275, 7277, 7279, 7281, 7282, 7285, 7290, 7296, 7303, - 7308, 7314, 7317, 7321, 7323, 7325, 7327, 7329, 7332, 7335, - 7337, 7339, 7341, 7343, 7345, 7347, 7352, 7353, 7355, 7359, - 7361, 7363, 7365, 7367, 7369, 7372, 7377, 7382, 7388, 7391, - 7392, 7394, 7398, 7400, 7401, 7403, 7406, 7410, 7413, 7418, - 7421, 7425, 7428, 7429, 7434, 7440, 7443, 7444, 7446, 7450, - 7453, 7457, 7460, 7464, 7467, 7471, 7474, 7478, 7480, 7485, - 7489, 7494, 7500, 7505, 7511, 7516, 7522, 7525, 7530, 7532, - 7534, 7535, 7538, 7539, 7541, 7546, 7552, 7557, 7558, 7561, - 7564, 7567, 7569, 7571, 7572, 7578, 7581, 7583, 7585, 7588, - 7591, 7596, 7598, 7602, 7604, 7607, 7611, 7618, 7623, 7624, - 7627, 7634, 7637, 7639, 7643, 7648, 7649, 7652, 7653, 7656, - 7657, 7660, 7665, 7666, 7668, 7669, 7671, 7675, 7679, 7687, - 7700, 7702, 7706, 7709, 7713, 7717, 7719, 7722, 7725, 7728, - 7731, 7733, 7735, 7739, 7743, 7746, 7749, 7753, 7759, 7766, - 7769, 7773, 7777, 7782, 7783, 7785, 7787, 7789, 7791, 7793, - 7796, 7801, 7803, 7805, 7807, 7809, 7812, 7816, 7820, 7821, - 7823, 7825, 7827, 7829, 7831, 7834, 7837, 7840, 7843, 7846, - 7848, 7852, 7853, 7855, 7857, 7859, 7861, 7867, 7870, 7872, - 7874, 7876, 7878, 7883, 7885, 7888, 7891, 7893, 7897, 7901, - 7904, 7906, 7907, 7913, 7916, 7922, 7925, 7927, 7931, 7935, - 7936, 7938, 7940, 7942, 7944, 7946, 7948, 7952, 7956, 7960, - 7964, 7968, 7972, 7976, 7977, 7979, 7984, 7986, 7990, 7994, - 8000, 8003, 8006, 8010, 8014, 8018, 8022, 8026, 8030, 8034, - 8038, 8042, 8046, 8050, 8054, 8058, 8061, 8065, 8069, 8072, - 8075, 8079, 8085, 8090, 8097, 8101, 8107, 8112, 8119, 8124, - 8131, 8137, 8145, 8149, 8152, 8157, 8160, 8164, 8168, 8173, - 8177, 8182, 8186, 8191, 8197, 8204, 8211, 8219, 8226, 8234, - 8238, 8243, 8248, 8255, 8259, 8263, 8268, 8272, 8277, 8282, - 8288, 8290, 8292, 8296, 8299, 8302, 8306, 8310, 8314, 8318, - 8322, 8326, 8330, 8334, 8338, 8342, 8346, 8350, 8354, 8357, - 8363, 8370, 8374, 8379, 8381, 8383, 8386, 8391, 8393, 8395, - 8397, 8400, 8403, 8406, 8409, 8411, 8413, 8418, 8422, 8428, - 8435, 8444, 8451, 8458, 8463, 8468, 8470, 8472, 8474, 8480, - 8482, 8484, 8489, 8491, 8496, 8498, 8503, 8505, 8510, 8512, - 8514, 8516, 8518, 8520, 8522, 8529, 8534, 8539, 8546, 8551, - 8556, 8561, 8566, 8571, 8578, 8584, 8590, 8596, 8601, 8608, - 8613, 8618, 8623, 8628, 8634, 8642, 8650, 8660, 8666, 8671, - 8678, 8684, 8692, 8700, 8708, 8711, 8715, 8719, 8723, 8728, - 8729, 8734, 8736, 8740, 8744, 8746, 8748, 8750, 8753, 8756, - 8757, 8760, 8764, 8768, 8773, 8776, 8779, 8785, 8786, 8792, - 8793, 8796, 8797, 8799, 8803, 8807, 8810, 8813, 8814, 8821, - 8823, 8824, 8828, 8829, 8833, 8837, 8841, 8842, 8844, 8849, - 8852, 8855, 8858, 8861, 8864, 8868, 8871, 8874, 8878, 8879, - 8884, 8888, 8894, 8899, 8903, 8909, 8911, 8913, 8915, 8917, - 8919, 8921, 8923, 8925, 8927, 8929, 8931, 8933, 8935, 8937, - 8939, 8941, 8943, 8945, 8950, 8952, 8957, 8959, 8964, 8966, - 8969, 8971, 8974, 8976, 8980, 8982, 8986, 8988, 8992, 8996, - 8998, 8999, 9001, 9005, 9009, 9013, 9016, 9018, 9022, 9026, - 9030, 9032, 9034, 9036, 9038, 9040, 9042, 9044, 9046, 9048, - 9050, 9052, 9054, 9062, 9068, 9072, 9078, 9084, 9088, 9092, - 9098, 9102, 9105, 9107, 9109, 9113, 9119, 9121, 9124, 9129, - 9132, 9133, 9135, 9136, 9138, 9141, 9144, 9147, 9151, 9157, - 9159, 9160, 9162, 9165, 9166, 9169, 9171, 9172, 9174, 9175, - 9177, 9181, 9185, 9188, 9190, 9192, 9194, 9198, 9200, 9203, - 9205, 9209, 9211, 9213, 9215, 9217, 9220, 9222, 9224, 9226, - 9228, 9230, 9233, 9240, 9243, 9250, 9253, 9257, 9263, 9266, - 9270, 9276, 9278, 9280, 9282, 9284, 9286, 9288, 9291, 9294, - 9296, 9298, 9300, 9302, 9304, 9306, 9310, 9321, 9326, 9328, - 9330, 9332, 9334, 9336, 9338, 9340, 9342, 9344, 9346, 9348, - 9350, 9352, 9354, 9356, 9358, 9360, 9362, 9364, 9366, 9368, - 9370, 9372, 9374, 9376, 9378, 9380, 9382, 9384, 9386, 9388, - 9390, 9392, 9394, 9396, 9398, 9400, 9402, 9404, 9406, 9408, - 9410, 9412, 9414, 9416, 9418, 9420, 9422, 9424, 9426, 9428, - 9430, 9432, 9434, 9436, 9438, 9440, 9442, 9444, 9446, 9448, - 9450, 9452, 9454, 9456, 9458, 9460, 9462, 9464, 9466, 9468, - 9470, 9472, 9474, 9476, 9478, 9480, 9482, 9484, 9486, 9488, - 9490, 9492, 9494, 9496, 9498, 9500, 9502, 9504, 9506, 9508, - 9510, 9512, 9514, 9516, 9518, 9520, 9522, 9524, 9526, 9528, - 9530, 9532, 9534, 9536, 9538, 9540, 9542, 9544, 9546, 9548, - 9550, 9552, 9554, 9556, 9558, 9560, 9562, 9564, 9566, 9568, - 9570, 9572, 9574, 9576, 9578, 9580, 9582, 9584, 9586, 9588, - 9590, 9592, 9594, 9596, 9598, 9600, 9602, 9604, 9606, 9608, - 9610, 9612, 9614, 9616, 9618, 9620, 9622, 9624, 9626, 9628, - 9630, 9632, 9634, 9636, 9638, 9640, 9642, 9644, 9646, 9648, - 9650, 9652, 9654, 9656, 9658, 9660, 9662, 9664, 9666, 9668, - 9670, 9672, 9674, 9676, 9678, 9680, 9682, 9684, 9686, 9688, - 9690, 9692, 9694, 9696, 9698, 9700, 9702, 9704, 9706, 9708, - 9710, 9712, 9714, 9716, 9718, 9720, 9722, 9724, 9726, 9728, - 9730, 9732, 9734, 9736, 9738, 9740, 9742, 9744, 9746, 9748, - 9750, 9752, 9754, 9756, 9758, 9760, 9762, 9764, 9766, 9768, - 9770, 9772, 9774, 9776, 9778, 9780, 9782, 9784, 9786, 9788, - 9790, 9792, 9794, 9796, 9798, 9800, 9802, 9804, 9806, 9808, - 9810, 9812, 9814, 9816, 9818, 9820, 9822, 9824, 9826, 9828, - 9830, 9832, 9834, 9836, 9838, 9840, 9842, 9844, 9846, 9848, - 9850, 9852, 9854, 9856, 9858, 9860, 9862, 9864, 9866, 9868, - 9870, 9872, 9874, 9876, 9878, 9880, 9882, 9884, 9886, 9888, - 9890, 9892, 9894, 9896, 9898, 9900, 9902, 9904, 9906, 9908, - 9910, 9912, 9914, 9916, 9918, 9920, 9922, 9924, 9926, 9928, - 9930, 9932, 9934, 9936, 9938, 9940, 9942, 9944, 9946, 9948, - 9950, 9952, 9954, 9956, 9958, 9960, 9962, 9964, 9966, 9968, - 9970, 9972, 9974, 9976, 9978, 9980, 9982, 9984, 9986, 9988, - 9990, 9992, 9994, 9996, 9998, 10000, 10002, 10004, 10006, 10008, - 10010, 10012, 10014, 10016, 10018, 10020, 10022, 10024, 10026, 10028, - 10030, 10032, 10034, 10036, 10038, 10040, 10042, 10044, 10046, 10048, - 10050, 10052, 10054, 10056, 10058, 10060, 10062, 10064, 10066, 10068, - 10070, 10072, 10074, 10076, 10078, 10080, 10082, 10084, 10086, 10088, - 10090, 10092, 10094, 10096, 10098, 10100, 10102, 10104, 10106, 10108, - 10110, 10112, 10114, 10116, 10118, 10120, 10122, 10124, 10126, 10128, - 10130, 10132, 10134, 10136, 10138, 10140, 10142, 10144, 10146, 10148, - 10150, 10152, 10154, 10156, 10158, 10160, 10162, 10164, 10166, 10168, - 10170, 10172, 10174, 10176, 10178, 10180, 10182, 10184, 10186, 10188, - 10190, 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, 10208, - 10210, 10212, 10214, 10216, 10218, 10220, 10222, 10224, 10226, 10228, - 10230, 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, 10248, - 10250, 10252, 10254, 10256, 10258, 10260, 10262, 10264, 10266, 10268, - 10270, 10272, 10274, 10276, 10278, 10280, 10282, 10284, 10286, 10288, - 10290, 10292, 10294, 10296, 10298, 10300, 10302, 10304, 10306, 10308, - 10310, 10312, 10314, 10316, 10318, 10320, 10322, 10324, 10326, 10328, - 10330, 10332, 10334, 10336, 10338, 10340, 10342, 10344, 10346, 10348, - 10350, 10352, 10354, 10356, 10358, 10360, 10362, 10364, 10366, 10368, - 10370, 10372, 10374, 10376, 10378, 10380, 10382, 10384, 10386, 10388, - 10390, 10392, 10394, 10396, 10398, 10400, 10402, 10404, 10406, 10408, - 10410, 10412, 10414, 10416, 10418, 10420, 10422, 10424, 10426, 10428, - 10430, 10432, 10434, 10436, 10438, 10440, 10442, 10444, 10446, 10448, - 10450, 10452, 10454, 10456, 10458, 10460, 10462, 10464, 10466, 10468, - 10470, 10472, 10474, 10476, 10478, 10480, 10482, 10484, 10486, 10488, - 10490, 10492, 10494, 10496, 10498, 10500, 10502, 10504, 10506, 10508, - 10510, 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, 10528, - 10530, 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, 10548, - 10550, 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, 10568, - 10570, 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, 10588, - 10590, 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, 10608, - 10610, 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, 10628, - 10630, 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, 10648, - 10650, 10652, 10654, 10656, 10658, 10660, 10662, 10664, 10666, 10668, - 10670, 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, 10688, - 10690, 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, 10708, - 10710, 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, 10728, - 10730, 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10748, - 10750, 10752, 10754, 10756, 10758, 10760, 10762, 10764, 10766, 10768, - 10770, 10772, 10774, 10776, 10778, 10780, 10782, 10784, 10786, 10788, - 10790, 10792, 10794, 10796, 10798, 10800, 10802, 10804, 10806, 10808, - 10810, 10812, 10814, 10816, 10818, 10820, 10822, 10824, 10826, 10828, - 10830, 10832, 10834, 10836, 10838, 10840, 10842, 10844, 10846, 10848, - 10850, 10852, 10854, 10856, 10858, 10860, 10862, 10864, 10866, 10868, - 10870, 10872, 10874, 10876, 10878, 10880, 10882, 10884, 10886, 10888, - 10890, 10892, 10894, 10896, 10898, 10900, 10902, 10904, 10906, 10908, - 10910, 10912, 10914, 10916, 10918, 10920, 10922, 10924, 10926, 10928, - 10930, 10932, 10934, 10936, 10938, 10940, 10942, 10944, 10946, 10948, - 10950, 10952, 10954, 10956, 10958, 10960, 10962, 10964, 10966, 10968, - 10970, 10972, 10974, 10976, 10978, 10980, 10982, 10984, 10986, 10988, - 10990, 10992, 10994, 10996, 10998, 11000, 11002, 11004, 11006, 11008, - 11010, 11012, 11014, 11016, 11018, 11020, 11022, 11024, 11026, 11028, - 11030, 11032, 11034, 11036, 11038, 11040, 11042, 11044, 11046, 11048, - 11050, 11052, 11054, 11056, 11058, 11060, 11062, 11064, 11066, 11068, - 11070, 11072, 11074, 11076, 11078, 11080, 11082, 11084, 11086, 11088, - 11090, 11092, 11094, 11096, 11098, 11100, 11102, 11104, 11106, 11108, - 11110, 11112, 11114, 11116, 11118, 11120, 11122, 11124, 11126, 11128 + 266, 268, 270, 272, 274, 276, 278, 279, 281, 282, + 284, 285, 287, 288, 290, 292, 293, 296, 302, 304, + 306, 307, 310, 311, 314, 315, 318, 321, 324, 328, + 332, 336, 338, 342, 346, 349, 351, 353, 356, 359, + 362, 366, 370, 376, 382, 388, 389, 393, 399, 405, + 411, 417, 421, 427, 431, 437, 441, 447, 453, 460, + 462, 464, 471, 476, 486, 494, 497, 498, 500, 502, + 504, 506, 508, 510, 513, 517, 521, 524, 530, 532, + 536, 540, 544, 548, 550, 554, 558, 561, 564, 567, + 570, 573, 576, 580, 584, 588, 592, 596, 598, 602, + 604, 608, 610, 612, 614, 617, 620, 623, 625, 627, + 629, 631, 633, 635, 637, 639, 643, 649, 651, 653, + 655, 657, 659, 660, 662, 664, 667, 669, 672, 676, + 679, 681, 683, 686, 688, 691, 693, 696, 700, 705, + 709, 712, 717, 719, 721, 723, 725, 727, 730, 733, + 736, 739, 742, 747, 754, 759, 766, 777, 791, 796, + 803, 808, 819, 833, 838, 845, 850, 857, 863, 871, + 883, 898, 904, 912, 914, 918, 923, 928, 933, 937, + 940, 946, 950, 957, 962, 969, 976, 986, 992, 1000, + 1007, 1014, 1020, 1026, 1032, 1038, 1048, 1053, 1059, 1067, + 1074, 1079, 1088, 1093, 1096, 1101, 1105, 1112, 1117, 1121, + 1125, 1129, 1132, 1135, 1139, 1144, 1149, 1153, 1157, 1161, + 1165, 1169, 1173, 1178, 1183, 1187, 1190, 1194, 1197, 1200, + 1204, 1209, 1213, 1216, 1219, 1223, 1228, 1233, 1238, 1244, + 1246, 1250, 1253, 1256, 1257, 1260, 1261, 1263, 1265, 1267, + 1271, 1275, 1278, 1279, 1281, 1285, 1289, 1291, 1297, 1301, + 1303, 1306, 1308, 1312, 1315, 1319, 1321, 1323, 1325, 1327, + 1334, 1341, 1352, 1354, 1357, 1359, 1363, 1368, 1370, 1374, + 1379, 1386, 1391, 1400, 1403, 1406, 1418, 1428, 1430, 1432, + 1434, 1435, 1437, 1439, 1441, 1443, 1447, 1450, 1451, 1453, + 1455, 1459, 1463, 1465, 1467, 1471, 1475, 1479, 1483, 1488, + 1493, 1497, 1501, 1504, 1506, 1507, 1511, 1512, 1514, 1515, + 1517, 1521, 1524, 1526, 1528, 1530, 1532, 1536, 1537, 1539, + 1543, 1545, 1559, 1576, 1589, 1605, 1620, 1638, 1640, 1642, + 1645, 1648, 1651, 1654, 1656, 1657, 1659, 1660, 1664, 1665, + 1667, 1671, 1673, 1677, 1679, 1681, 1683, 1685, 1687, 1694, + 1697, 1702, 1705, 1708, 1710, 1711, 1714, 1717, 1719, 1720, + 1723, 1724, 1728, 1730, 1732, 1735, 1738, 1740, 1745, 1750, + 1756, 1759, 1765, 1773, 1779, 1782, 1786, 1787, 1789, 1792, + 1794, 1797, 1800, 1803, 1807, 1811, 1815, 1816, 1818, 1820, + 1822, 1824, 1826, 1828, 1830, 1832, 1834, 1836, 1840, 1842, + 1848, 1858, 1862, 1872, 1877, 1888, 1900, 1904, 1906, 1912, + 1916, 1919, 1920, 1924, 1925, 1927, 1931, 1933, 1938, 1939, + 1942, 1945, 1948, 1949, 1951, 1955, 1959, 1966, 1971, 1972, + 1974, 1976, 1979, 1982, 1983, 1987, 1991, 1994, 1996, 1998, + 2002, 2006, 2011, 2012, 2014, 2015, 2022, 2024, 2028, 2032, + 2036, 2042, 2045, 2046, 2049, 2052, 2053, 2057, 2062, 2067, + 2068, 2071, 2072, 2077, 2078, 2082, 2091, 2103, 2105, 2109, + 2111, 2113, 2117, 2124, 2133, 2141, 2152, 2159, 2162, 2166, + 2167, 2176, 2188, 2194, 2196, 2197, 2204, 2210, 2219, 2224, + 2231, 2233, 2234, 2238, 2239, 2241, 2244, 2247, 2250, 2252, + 2255, 2259, 2261, 2264, 2267, 2270, 2273, 2277, 2281, 2285, + 2287, 2291, 2293, 2295, 2296, 2298, 2301, 2304, 2306, 2308, + 2312, 2319, 2330, 2332, 2333, 2335, 2338, 2341, 2342, 2345, + 2348, 2350, 2351, 2353, 2354, 2362, 2365, 2366, 2370, 2376, + 2382, 2391, 2394, 2395, 2398, 2401, 2404, 2406, 2412, 2415, + 2416, 2419, 2426, 2433, 2440, 2451, 2458, 2465, 2472, 2482, + 2492, 2499, 2506, 2516, 2523, 2531, 2534, 2537, 2540, 2543, + 2545, 2548, 2550, 2551, 2559, 2566, 2571, 2572, 2574, 2578, + 2583, 2585, 2589, 2591, 2594, 2597, 2600, 2603, 2605, 2607, + 2618, 2632, 2635, 2636, 2639, 2642, 2644, 2645, 2651, 2656, + 2661, 2673, 2688, 2701, 2717, 2729, 2732, 2734, 2739, 2740, + 2749, 2761, 2763, 2765, 2773, 2783, 2792, 2803, 2812, 2817, + 2818, 2824, 2825, 2828, 2829, 2832, 2833, 2836, 2837, 2840, + 2841, 2843, 2845, 2847, 2849, 2851, 2860, 2862, 2864, 2882, + 2904, 2906, 2908, 2911, 2913, 2917, 2919, 2921, 2923, 2927, + 2929, 2932, 2933, 2935, 2938, 2943, 2945, 2947, 2949, 2951, + 2953, 2957, 2958, 2960, 2961, 2963, 2965, 2970, 2971, 2973, + 2975, 2977, 2981, 2982, 2984, 2986, 2988, 2990, 2993, 2994, + 2995, 2998, 3001, 3003, 3006, 3009, 3012, 3015, 3027, 3041, + 3043, 3047, 3053, 3055, 3059, 3065, 3067, 3070, 3073, 3075, + 3084, 3091, 3097, 3102, 3107, 3111, 3119, 3128, 3135, 3142, + 3149, 3156, 3163, 3168, 3176, 3182, 3191, 3195, 3197, 3201, + 3205, 3207, 3209, 3211, 3213, 3215, 3217, 3219, 3223, 3225, + 3229, 3233, 3235, 3236, 3238, 3242, 3250, 3260, 3270, 3279, + 3286, 3290, 3291, 3305, 3307, 3311, 3317, 3323, 3327, 3334, + 3337, 3339, 3340, 3343, 3344, 3347, 3352, 3353, 3355, 3356, + 3363, 3372, 3381, 3383, 3387, 3393, 3399, 3407, 3417, 3425, + 3435, 3441, 3448, 3455, 3460, 3467, 3472, 3479, 3488, 3493, + 3500, 3505, 3512, 3518, 3526, 3528, 3530, 3532, 3535, 3537, + 3540, 3542, 3544, 3546, 3550, 3554, 3558, 3562, 3564, 3566, + 3568, 3570, 3572, 3575, 3578, 3580, 3584, 3587, 3589, 3591, + 3593, 3595, 3597, 3599, 3601, 3605, 3607, 3610, 3613, 3617, + 3619, 3623, 3629, 3632, 3635, 3636, 3643, 3650, 3657, 3664, + 3671, 3678, 3685, 3692, 3701, 3711, 3720, 3727, 3734, 3744, + 3754, 3764, 3772, 3783, 3785, 3787, 3796, 3805, 3814, 3823, + 3832, 3841, 3850, 3860, 3869, 3878, 3881, 3882, 3884, 3886, + 3889, 3892, 3894, 3897, 3901, 3905, 3909, 3913, 3918, 3923, + 3927, 3931, 3935, 3940, 3945, 3949, 3954, 3959, 3961, 3963, + 3965, 3966, 3975, 3984, 3996, 3998, 4000, 4003, 4008, 4014, + 4016, 4020, 4023, 4026, 4029, 4032, 4035, 4037, 4041, 4043, + 4047, 4049, 4052, 4055, 4060, 4064, 4067, 4070, 4073, 4076, + 4079, 4082, 4086, 4089, 4092, 4095, 4098, 4104, 4110, 4116, + 4122, 4128, 4130, 4134, 4136, 4139, 4143, 4144, 4150, 4158, + 4165, 4175, 4179, 4181, 4184, 4186, 4188, 4190, 4194, 4195, + 4201, 4204, 4205, 4209, 4213, 4217, 4225, 4233, 4244, 4246, + 4248, 4250, 4252, 4254, 4256, 4273, 4293, 4295, 4296, 4299, + 4300, 4302, 4306, 4311, 4317, 4320, 4323, 4328, 4333, 4334, + 4336, 4340, 4343, 4344, 4346, 4348, 4349, 4352, 4355, 4356, + 4366, 4379, 4387, 4395, 4398, 4399, 4403, 4406, 4408, 4412, + 4414, 4418, 4421, 4423, 4425, 4428, 4432, 4435, 4437, 4441, + 4445, 4449, 4452, 4455, 4457, 4459, 4461, 4463, 4466, 4468, + 4470, 4472, 4474, 4479, 4485, 4487, 4491, 4495, 4497, 4501, + 4505, 4511, 4518, 4520, 4524, 4527, 4529, 4533, 4535, 4536, + 4538, 4541, 4546, 4552, 4554, 4556, 4558, 4560, 4564, 4568, + 4571, 4574, 4576, 4579, 4582, 4585, 4588, 4590, 4593, 4596, + 4599, 4602, 4604, 4606, 4608, 4612, 4615, 4617, 4622, 4623, + 4627, 4628, 4630, 4632, 4636, 4642, 4645, 4646, 4649, 4651, + 4655, 4661, 4667, 4673, 4675, 4678, 4680, 4681, 4686, 4693, + 4698, 4705, 4710, 4717, 4722, 4729, 4734, 4741, 4745, 4751, + 4757, 4763, 4765, 4769, 4771, 4775, 4778, 4781, 4783, 4786, + 4788, 4791, 4803, 4814, 4825, 4828, 4831, 4832, 4842, 4845, + 4846, 4857, 4869, 4881, 4887, 4893, 4902, 4908, 4914, 4920, + 4922, 4924, 4926, 4928, 4932, 4933, 4939, 4945, 4952, 4959, + 4966, 4973, 4980, 4989, 4998, 5005, 5012, 5020, 5030, 5040, + 5049, 5060, 5067, 5074, 5081, 5088, 5095, 5102, 5109, 5118, + 5125, 5134, 5141, 5150, 5158, 5168, 5175, 5184, 5192, 5202, + 5211, 5222, 5231, 5242, 5252, 5264, 5273, 5284, 5294, 5306, + 5315, 5324, 5332, 5339, 5346, 5353, 5360, 5369, 5378, 5387, + 5396, 5403, 5413, 5415, 5416, 5419, 5420, 5429, 5438, 5447, + 5458, 5468, 5477, 5479, 5480, 5487, 5494, 5501, 5508, 5515, + 5522, 5529, 5539, 5549, 5556, 5563, 5570, 5579, 5586, 5595, + 5604, 5613, 5622, 5629, 5638, 5645, 5654, 5662, 5672, 5680, + 5690, 5697, 5705, 5707, 5711, 5715, 5719, 5721, 5723, 5725, + 5727, 5729, 5731, 5739, 5746, 5753, 5760, 5767, 5774, 5781, + 5789, 5797, 5804, 5814, 5824, 5831, 5838, 5845, 5852, 5859, + 5866, 5875, 5884, 5893, 5900, 5908, 5915, 5922, 5927, 5935, + 5942, 5947, 5952, 5957, 5961, 5966, 5970, 5972, 5974, 5978, + 5984, 5990, 5996, 6002, 6011, 6017, 6023, 6030, 6038, 6046, + 6054, 6059, 6064, 6070, 6075, 6082, 6096, 6098, 6100, 6104, + 6108, 6110, 6112, 6114, 6116, 6118, 6120, 6122, 6123, 6125, + 6127, 6129, 6131, 6133, 6135, 6136, 6140, 6143, 6144, 6147, + 6150, 6153, 6157, 6161, 6165, 6169, 6172, 6176, 6179, 6185, + 6190, 6194, 6198, 6202, 6206, 6210, 6212, 6214, 6215, 6219, + 6222, 6225, 6227, 6230, 6232, 6236, 6239, 6241, 6242, 6245, + 6249, 6250, 6260, 6272, 6285, 6300, 6304, 6309, 6314, 6315, + 6318, 6324, 6326, 6327, 6329, 6332, 6336, 6340, 6344, 6346, + 6349, 6351, 6353, 6355, 6357, 6359, 6361, 6362, 6368, 6373, + 6380, 6387, 6392, 6396, 6402, 6410, 6420, 6422, 6426, 6428, + 6434, 6439, 6444, 6451, 6456, 6463, 6470, 6476, 6484, 6494, + 6501, 6503, 6504, 6511, 6523, 6535, 6547, 6561, 6571, 6583, + 6585, 6587, 6598, 6605, 6610, 6615, 6618, 6624, 6627, 6628, + 6635, 6641, 6645, 6651, 6653, 6657, 6659, 6661, 6664, 6666, + 6668, 6670, 6672, 6674, 6675, 6677, 6678, 6680, 6681, 6683, + 6684, 6686, 6687, 6691, 6692, 6695, 6697, 6701, 6703, 6704, + 6707, 6712, 6716, 6722, 6724, 6726, 6728, 6730, 6732, 6734, + 6736, 6738, 6740, 6742, 6748, 6752, 6753, 6755, 6757, 6759, + 6761, 6763, 6767, 6777, 6790, 6794, 6795, 6798, 6802, 6805, + 6809, 6817, 6819, 6823, 6825, 6830, 6835, 6843, 6846, 6848, + 6850, 6852, 6856, 6859, 6868, 6874, 6875, 6880, 6884, 6885, + 6888, 6889, 6897, 6900, 6901, 6907, 6911, 6912, 6915, 6918, + 6921, 6925, 6927, 6931, 6933, 6936, 6938, 6939, 6941, 6944, + 6945, 6954, 6956, 6960, 6964, 6970, 6973, 6975, 6979, 6990, + 6992, 6995, 7000, 7005, 7010, 7016, 7022, 7025, 7031, 7035, + 7041, 7044, 7045, 7049, 7051, 7054, 7060, 7066, 7075, 7079, + 7084, 7092, 7094, 7095, 7099, 7102, 7105, 7108, 7111, 7112, + 7115, 7118, 7120, 7122, 7126, 7130, 7132, 7135, 7140, 7145, + 7148, 7152, 7158, 7164, 7166, 7168, 7178, 7188, 7190, 7193, + 7198, 7203, 7208, 7211, 7214, 7218, 7220, 7224, 7234, 7236, + 7239, 7240, 7248, 7256, 7257, 7268, 7275, 7276, 7278, 7279, + 7282, 7283, 7287, 7291, 7296, 7301, 7306, 7311, 7315, 7318, + 7320, 7322, 7323, 7325, 7327, 7328, 7330, 7336, 7338, 7339, + 7341, 7343, 7345, 7346, 7350, 7352, 7356, 7361, 7365, 7368, + 7371, 7373, 7375, 7377, 7378, 7381, 7386, 7392, 7399, 7404, + 7410, 7413, 7417, 7419, 7421, 7423, 7425, 7428, 7431, 7433, + 7435, 7437, 7439, 7441, 7443, 7448, 7449, 7451, 7455, 7457, + 7459, 7461, 7463, 7465, 7468, 7473, 7478, 7484, 7487, 7488, + 7490, 7494, 7496, 7497, 7499, 7502, 7506, 7509, 7514, 7517, + 7521, 7524, 7525, 7530, 7536, 7539, 7540, 7542, 7546, 7549, + 7553, 7556, 7560, 7563, 7567, 7570, 7574, 7576, 7581, 7584, + 7588, 7592, 7597, 7603, 7608, 7614, 7619, 7625, 7628, 7633, + 7635, 7637, 7638, 7641, 7642, 7644, 7649, 7655, 7660, 7661, + 7664, 7667, 7670, 7672, 7674, 7675, 7681, 7684, 7686, 7688, + 7691, 7694, 7699, 7701, 7705, 7707, 7710, 7714, 7721, 7726, + 7727, 7730, 7737, 7740, 7742, 7746, 7751, 7752, 7755, 7756, + 7759, 7760, 7763, 7768, 7769, 7771, 7772, 7774, 7778, 7782, + 7790, 7803, 7805, 7809, 7812, 7816, 7820, 7822, 7825, 7828, + 7831, 7834, 7836, 7839, 7841, 7845, 7849, 7852, 7866, 7869, + 7870, 7872, 7876, 7880, 7887, 7895, 7901, 7909, 7919, 7921, + 7922, 7925, 7926, 7929, 7933, 7939, 7946, 7949, 7953, 7957, + 7962, 7963, 7965, 7967, 7969, 7971, 7973, 7976, 7981, 7983, + 7985, 7987, 7989, 7991, 7993, 7996, 8000, 8004, 8005, 8007, + 8009, 8011, 8013, 8015, 8018, 8021, 8024, 8027, 8030, 8032, + 8036, 8037, 8039, 8041, 8043, 8045, 8051, 8054, 8056, 8058, + 8060, 8062, 8067, 8069, 8072, 8075, 8077, 8081, 8085, 8088, + 8090, 8091, 8097, 8100, 8106, 8109, 8111, 8115, 8119, 8120, + 8122, 8124, 8126, 8128, 8130, 8132, 8136, 8140, 8144, 8148, + 8152, 8156, 8160, 8161, 8163, 8168, 8170, 8172, 8176, 8180, + 8186, 8190, 8193, 8196, 8200, 8204, 8208, 8212, 8216, 8220, + 8224, 8228, 8232, 8236, 8240, 8244, 8248, 8251, 8255, 8259, + 8262, 8265, 8269, 8275, 8280, 8287, 8291, 8297, 8302, 8309, + 8314, 8321, 8327, 8335, 8339, 8342, 8347, 8350, 8354, 8358, + 8363, 8367, 8372, 8376, 8381, 8387, 8394, 8401, 8409, 8416, + 8424, 8428, 8433, 8438, 8445, 8449, 8453, 8458, 8462, 8467, + 8472, 8478, 8483, 8489, 8491, 8493, 8497, 8500, 8503, 8507, + 8511, 8515, 8519, 8523, 8527, 8531, 8535, 8539, 8543, 8547, + 8551, 8555, 8558, 8564, 8571, 8575, 8580, 8582, 8584, 8587, + 8592, 8594, 8596, 8598, 8601, 8604, 8607, 8610, 8612, 8614, + 8619, 8623, 8629, 8636, 8645, 8652, 8659, 8664, 8669, 8673, + 8675, 8677, 8679, 8681, 8687, 8689, 8691, 8696, 8698, 8703, + 8705, 8710, 8712, 8717, 8719, 8721, 8723, 8725, 8727, 8729, + 8731, 8738, 8743, 8748, 8755, 8760, 8765, 8770, 8775, 8780, + 8787, 8793, 8799, 8805, 8810, 8817, 8822, 8827, 8832, 8837, + 8843, 8851, 8859, 8869, 8875, 8880, 8887, 8893, 8901, 8909, + 8918, 8923, 8931, 8936, 8943, 8950, 8955, 8961, 8966, 8972, + 8976, 8988, 8997, 9007, 9010, 9014, 9018, 9022, 9027, 9028, + 9033, 9035, 9039, 9043, 9045, 9047, 9049, 9051, 9054, 9055, + 9058, 9061, 9062, 9065, 9069, 9073, 9078, 9081, 9084, 9090, + 9091, 9097, 9098, 9101, 9102, 9104, 9108, 9112, 9115, 9118, + 9119, 9126, 9128, 9129, 9133, 9134, 9138, 9142, 9146, 9147, + 9149, 9154, 9157, 9160, 9163, 9166, 9169, 9173, 9176, 9179, + 9183, 9184, 9189, 9193, 9199, 9204, 9208, 9214, 9216, 9218, + 9220, 9222, 9224, 9226, 9228, 9230, 9232, 9234, 9236, 9238, + 9240, 9242, 9244, 9246, 9248, 9250, 9255, 9257, 9262, 9264, + 9269, 9271, 9274, 9276, 9279, 9281, 9285, 9287, 9291, 9293, + 9297, 9301, 9303, 9304, 9306, 9310, 9314, 9318, 9321, 9323, + 9327, 9331, 9335, 9337, 9339, 9341, 9343, 9345, 9347, 9349, + 9351, 9353, 9355, 9357, 9359, 9367, 9373, 9377, 9383, 9389, + 9393, 9397, 9403, 9407, 9410, 9412, 9414, 9418, 9424, 9426, + 9429, 9434, 9437, 9438, 9440, 9441, 9443, 9446, 9449, 9452, + 9456, 9462, 9464, 9465, 9467, 9470, 9471, 9474, 9476, 9477, + 9480, 9481, 9483, 9487, 9491, 9494, 9498, 9501, 9505, 9510, + 9515, 9519, 9523, 9524, 9527, 9529, 9531, 9533, 9535, 9537, + 9539, 9542, 9545, 9547, 9551, 9555, 9562, 9563, 9567, 9568, + 9571, 9576, 9579, 9581, 9582, 9588, 9591, 9597, 9600, 9601, + 9605, 9606, 9608, 9611, 9614, 9617, 9620, 9624, 9627, 9631, + 9634, 9635, 9637, 9641, 9645, 9649, 9653, 9657, 9658, 9662, + 9666, 9667, 9669, 9673, 9681, 9689, 9693, 9694, 9696, 9697, + 9699, 9703, 9707, 9710, 9712, 9714, 9716, 9720, 9722, 9725, + 9727, 9731, 9733, 9735, 9737, 9739, 9742, 9744, 9746, 9748, + 9750, 9752, 9755, 9762, 9765, 9772, 9775, 9779, 9785, 9788, + 9792, 9798, 9800, 9802, 9804, 9806, 9808, 9810, 9813, 9816, + 9818, 9820, 9822, 9824, 9826, 9828, 9832, 9843, 9848, 9850, + 9852, 9854, 9856, 9858, 9860, 9862, 9864, 9866, 9868, 9870, + 9872, 9874, 9876, 9878, 9880, 9882, 9884, 9886, 9888, 9890, + 9892, 9894, 9896, 9898, 9900, 9902, 9904, 9906, 9908, 9910, + 9912, 9914, 9916, 9918, 9920, 9922, 9924, 9926, 9928, 9930, + 9932, 9934, 9936, 9938, 9940, 9942, 9944, 9946, 9948, 9950, + 9952, 9954, 9956, 9958, 9960, 9962, 9964, 9966, 9968, 9970, + 9972, 9974, 9976, 9978, 9980, 9982, 9984, 9986, 9988, 9990, + 9992, 9994, 9996, 9998, 10000, 10002, 10004, 10006, 10008, 10010, + 10012, 10014, 10016, 10018, 10020, 10022, 10024, 10026, 10028, 10030, + 10032, 10034, 10036, 10038, 10040, 10042, 10044, 10046, 10048, 10050, + 10052, 10054, 10056, 10058, 10060, 10062, 10064, 10066, 10068, 10070, + 10072, 10074, 10076, 10078, 10080, 10082, 10084, 10086, 10088, 10090, + 10092, 10094, 10096, 10098, 10100, 10102, 10104, 10106, 10108, 10110, + 10112, 10114, 10116, 10118, 10120, 10122, 10124, 10126, 10128, 10130, + 10132, 10134, 10136, 10138, 10140, 10142, 10144, 10146, 10148, 10150, + 10152, 10154, 10156, 10158, 10160, 10162, 10164, 10166, 10168, 10170, + 10172, 10174, 10176, 10178, 10180, 10182, 10184, 10186, 10188, 10190, + 10192, 10194, 10196, 10198, 10200, 10202, 10204, 10206, 10208, 10210, + 10212, 10214, 10216, 10218, 10220, 10222, 10224, 10226, 10228, 10230, + 10232, 10234, 10236, 10238, 10240, 10242, 10244, 10246, 10248, 10250, + 10252, 10254, 10256, 10258, 10260, 10262, 10264, 10266, 10268, 10270, + 10272, 10274, 10276, 10278, 10280, 10282, 10284, 10286, 10288, 10290, + 10292, 10294, 10296, 10298, 10300, 10302, 10304, 10306, 10308, 10310, + 10312, 10314, 10316, 10318, 10320, 10322, 10324, 10326, 10328, 10330, + 10332, 10334, 10336, 10338, 10340, 10342, 10344, 10346, 10348, 10350, + 10352, 10354, 10356, 10358, 10360, 10362, 10364, 10366, 10368, 10370, + 10372, 10374, 10376, 10378, 10380, 10382, 10384, 10386, 10388, 10390, + 10392, 10394, 10396, 10398, 10400, 10402, 10404, 10406, 10408, 10410, + 10412, 10414, 10416, 10418, 10420, 10422, 10424, 10426, 10428, 10430, + 10432, 10434, 10436, 10438, 10440, 10442, 10444, 10446, 10448, 10450, + 10452, 10454, 10456, 10458, 10460, 10462, 10464, 10466, 10468, 10470, + 10472, 10474, 10476, 10478, 10480, 10482, 10484, 10486, 10488, 10490, + 10492, 10494, 10496, 10498, 10500, 10502, 10504, 10506, 10508, 10510, + 10512, 10514, 10516, 10518, 10520, 10522, 10524, 10526, 10528, 10530, + 10532, 10534, 10536, 10538, 10540, 10542, 10544, 10546, 10548, 10550, + 10552, 10554, 10556, 10558, 10560, 10562, 10564, 10566, 10568, 10570, + 10572, 10574, 10576, 10578, 10580, 10582, 10584, 10586, 10588, 10590, + 10592, 10594, 10596, 10598, 10600, 10602, 10604, 10606, 10608, 10610, + 10612, 10614, 10616, 10618, 10620, 10622, 10624, 10626, 10628, 10630, + 10632, 10634, 10636, 10638, 10640, 10642, 10644, 10646, 10648, 10650, + 10652, 10654, 10656, 10658, 10660, 10662, 10664, 10666, 10668, 10670, + 10672, 10674, 10676, 10678, 10680, 10682, 10684, 10686, 10688, 10690, + 10692, 10694, 10696, 10698, 10700, 10702, 10704, 10706, 10708, 10710, + 10712, 10714, 10716, 10718, 10720, 10722, 10724, 10726, 10728, 10730, + 10732, 10734, 10736, 10738, 10740, 10742, 10744, 10746, 10748, 10750, + 10752, 10754, 10756, 10758, 10760, 10762, 10764, 10766, 10768, 10770, + 10772, 10774, 10776, 10778, 10780, 10782, 10784, 10786, 10788, 10790, + 10792, 10794, 10796, 10798, 10800, 10802, 10804, 10806, 10808, 10810, + 10812, 10814, 10816, 10818, 10820, 10822, 10824, 10826, 10828, 10830, + 10832, 10834, 10836, 10838, 10840, 10842, 10844, 10846, 10848, 10850, + 10852, 10854, 10856, 10858, 10860, 10862, 10864, 10866, 10868, 10870, + 10872, 10874, 10876, 10878, 10880, 10882, 10884, 10886, 10888, 10890, + 10892, 10894, 10896, 10898, 10900, 10902, 10904, 10906, 10908, 10910, + 10912, 10914, 10916, 10918, 10920, 10922, 10924, 10926, 10928, 10930, + 10932, 10934, 10936, 10938, 10940, 10942, 10944, 10946, 10948, 10950, + 10952, 10954, 10956, 10958, 10960, 10962, 10964, 10966, 10968, 10970, + 10972, 10974, 10976, 10978, 10980, 10982, 10984, 10986, 10988, 10990, + 10992, 10994, 10996, 10998, 11000, 11002, 11004, 11006, 11008, 11010, + 11012, 11014, 11016, 11018, 11020, 11022, 11024, 11026, 11028, 11030, + 11032, 11034, 11036, 11038, 11040, 11042, 11044, 11046, 11048, 11050, + 11052, 11054, 11056, 11058, 11060, 11062, 11064, 11066, 11068, 11070, + 11072, 11074, 11076, 11078, 11080, 11082, 11084, 11086, 11088, 11090, + 11092, 11094, 11096, 11098, 11100, 11102, 11104, 11106, 11108, 11110, + 11112, 11114, 11116, 11118, 11120, 11122, 11124, 11126, 11128, 11130, + 11132, 11134, 11136, 11138, 11140, 11142, 11144, 11146, 11148, 11150, + 11152, 11154, 11156, 11158, 11160, 11162, 11164, 11166, 11168, 11170, + 11172, 11174, 11176, 11178, 11180, 11182, 11184, 11186, 11188, 11190, + 11192, 11194, 11196, 11198, 11200, 11202, 11204, 11206, 11208, 11210, + 11212, 11214, 11216, 11218, 11220, 11222, 11224, 11226, 11228, 11230, + 11232, 11234, 11236, 11238, 11240, 11242, 11244, 11246, 11248, 11250, + 11252, 11254, 11256, 11258, 11260, 11262, 11264, 11266, 11268, 11270, + 11272, 11274, 11276, 11278, 11280, 11282, 11284, 11286, 11288, 11290, + 11292, 11294, 11296, 11298, 11300, 11302, 11304, 11306, 11308, 11310, + 11312, 11314, 11316, 11318, 11320, 11322, 11324, 11326, 11328, 11330, + 11332, 11334, 11336, 11338, 11340, 11342, 11344, 11346, 11348, 11350, + 11352, 11354, 11356, 11358, 11360, 11362, 11364, 11366, 11368, 11370, + 11372, 11374, 11376, 11378, 11380, 11382, 11384, 11386, 11388, 11390, + 11392, 11394, 11396, 11398, 11400, 11402, 11404, 11406, 11408, 11410, + 11412, 11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, + 11432, 11434, 11436, 11438, 11440, 11442, 11444, 11446, 11448, 11450, + 11452, 11454, 11456, 11458, 11460, 11462, 11464, 11466, 11468, 11470, + 11472, 11474, 11476, 11478, 11480, 11482, 11484, 11486, 11488, 11490, + 11492, 11494, 11496, 11498, 11500, 11502, 11504, 11506, 11508, 11510, + 11512, 11514, 11516, 11518, 11520, 11522, 11524, 11526, 11528, 11530, + 11532, 11534, 11536, 11538, 11540, 11542, 11544, 11546, 11548, 11550, + 11552, 11554, 11556, 11558, 11560, 11562, 11564, 11566, 11568, 11570, + 11572, 11574, 11576, 11578, 11580, 11582, 11584, 11586, 11588, 11590, + 11592, 11594, 11596, 11598, 11600, 11602, 11604, 11606, 11608, 11610, + 11612, 11614, 11616, 11618, 11620, 11622, 11624, 11626, 11628, 11630, + 11632, 11634, 11636, 11638, 11640, 11642, 11644, 11646, 11648, 11650, + 11652, 11654, 11656, 11658, 11660, 11662, 11664, 11666, 11668, 11670, + 11672, 11674, 11676, 11678, 11680, 11682, 11684, 11686, 11688, 11690, + 11692, 11694, 11696, 11698, 11700, 11702, 11704, 11706, 11708, 11710, + 11712, 11714, 11716, 11718, 11720, 11722, 11724, 11726, 11728, 11730, + 11732, 11734, 11736, 11738, 11740, 11742, 11744, 11746, 11748, 11750, + 11752, 11754, 11756, 11758, 11760, 11762, 11764, 11766, 11768, 11770, + 11772, 11774 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 509, 0, -1, 510, -1, 485, 1078, -1, 486, 1182, - -1, 487, 1183, -1, 488, 1183, -1, 489, 1183, -1, - 510, 505, 511, -1, 511, -1, 512, -1, 909, -1, - 738, -1, 929, -1, 924, -1, 925, -1, 803, -1, - 932, -1, 751, -1, 673, -1, 676, -1, 681, -1, - 694, -1, 854, -1, 526, -1, 881, -1, 883, -1, - 889, -1, 884, -1, 888, -1, 704, -1, 652, -1, - 930, -1, 555, -1, 877, -1, 574, -1, 893, -1, - 523, -1, 521, -1, 895, -1, 643, -1, 935, -1, - 934, -1, 702, -1, 941, -1, 513, -1, 553, -1, - 577, -1, 938, -1, 779, -1, 550, -1, 578, -1, - 712, -1, 644, -1, 740, -1, 867, -1, 937, -1, - 931, -1, 670, -1, 677, -1, 690, -1, 695, -1, - 822, -1, 525, -1, 647, -1, 753, -1, 760, -1, - 890, -1, 761, -1, 703, -1, 660, -1, 528, -1, - 651, -1, 593, -1, 894, -1, 640, -1, 667, -1, - 871, -1, 714, -1, 734, -1, 514, -1, 520, -1, - 699, -1, 918, -1, 962, -1, 992, -1, 741, -1, - 972, -1, 554, -1, 864, -1, 869, -1, 764, -1, - 765, -1, 766, -1, 768, -1, 896, -1, 669, -1, - 873, -1, 524, -1, 701, -1, 926, -1, 960, -1, - 955, -1, 784, -1, 788, -1, 799, -1, 696, -1, - 808, -1, 963, -1, 906, -1, 650, -1, 917, -1, - 974, -1, 984, -1, 904, -1, 957, -1, 767, -1, - 874, -1, 858, -1, 857, -1, 859, -1, 878, -1, - 789, -1, 800, -1, 897, -1, 781, -1, 996, -1, - 908, -1, 777, -1, 907, -1, 979, -1, 940, -1, - 544, -1, 532, -1, 549, -1, 915, -1, -1, 62, - 1104, -1, 99, 355, 1179, 515, 516, -1, 461, -1, - 484, -1, -1, 516, 519, -1, -1, 517, 518, -1, - -1, 311, 1177, -1, 311, 12, -1, 311, 278, -1, - 145, 311, 1177, -1, 145, 311, 12, -1, 433, 311, - 1177, -1, 204, -1, 91, 236, 1178, -1, 444, 439, - 1177, -1, 441, 1181, -1, 3, -1, 518, -1, 404, - 1176, -1, 27, 1181, -1, 355, 1181, -1, 198, 355, - 1181, -1, 198, 183, 1181, -1, 99, 441, 1179, 515, - 516, -1, 32, 355, 1180, 515, 517, -1, 32, 441, - 1180, 515, 517, -1, -1, 198, 114, 1171, -1, 32, - 355, 1180, 522, 547, -1, 32, 355, 30, 522, 547, - -1, 32, 441, 1180, 522, 547, -1, 32, 441, 30, - 522, 547, -1, 140, 355, 1181, -1, 140, 355, 192, - 155, 1181, -1, 140, 441, 1181, -1, 140, 441, 192, - 155, 1181, -1, 140, 183, 1181, -1, 140, 183, 192, - 155, 1181, -1, 99, 183, 1179, 515, 516, -1, 32, - 183, 1180, 527, 441, 1181, -1, 26, -1, 140, -1, - 99, 364, 529, 49, 1180, 530, -1, 99, 364, 1186, - 530, -1, 99, 364, 192, 273, 155, 529, 49, 1180, - 530, -1, 99, 364, 192, 273, 155, 1186, 530, -1, - 1186, -1, -1, 530, 531, -1, -1, 593, -1, 808, - -1, 651, -1, 714, -1, 788, -1, 915, -1, 377, - 533, -1, 377, 239, 533, -1, 377, 375, 533, -1, - 420, 912, -1, 375, 72, 39, 420, 912, -1, 535, - -1, 536, 418, 537, -1, 536, 492, 537, -1, 536, - 418, 120, -1, 536, 492, 120, -1, 534, -1, 536, - 174, 103, -1, 416, 481, 541, -1, 68, 1177, -1, - 364, 1177, -1, 364, 12, -1, 259, 542, -1, 355, - 543, -1, 355, 12, -1, 375, 49, 543, -1, 375, - 49, 12, -1, 375, 49, 120, -1, 467, 291, 1113, - -1, 420, 386, 1177, -1, 1186, -1, 536, 504, 1186, - -1, 538, -1, 537, 506, 538, -1, 540, -1, 658, - -1, 12, -1, 331, 432, -1, 331, 86, -1, 344, - 331, -1, 373, -1, 425, -1, 161, -1, 288, -1, - 543, -1, 1177, -1, 12, -1, 3, -1, 1097, 1177, - 1099, -1, 1097, 502, 1176, 503, 1177, -1, 658, -1, - 120, -1, 239, -1, 1177, -1, 120, -1, -1, 1188, - -1, 1177, -1, 347, 545, -1, 546, -1, 416, 481, - -1, 420, 222, 234, -1, 375, 49, -1, 536, -1, - 30, -1, 377, 533, -1, 544, -1, 377, 535, -1, - 544, -1, 381, 536, -1, 381, 416, 481, -1, 381, - 420, 222, 234, -1, 381, 375, 49, -1, 381, 30, - -1, 377, 93, 551, 552, -1, 30, -1, 1168, -1, - 123, -1, 194, -1, 74, -1, 134, 30, -1, 134, - 410, -1, 134, 412, -1, 134, 313, -1, 134, 372, - -1, 32, 406, 1055, 556, -1, 32, 406, 192, 155, - 1055, 556, -1, 32, 406, 1055, 557, -1, 32, 406, - 192, 155, 1055, 557, -1, 32, 406, 30, 198, 409, - 1171, 377, 409, 1171, 977, -1, 32, 406, 30, 198, - 409, 1171, 303, 60, 1181, 377, 409, 1171, 977, -1, - 32, 202, 1169, 556, -1, 32, 202, 192, 155, 1169, - 556, -1, 32, 202, 1169, 558, -1, 32, 202, 30, - 198, 409, 1171, 377, 409, 1171, 977, -1, 32, 202, - 30, 198, 409, 1171, 303, 60, 1181, 377, 409, 1171, - 977, -1, 32, 371, 1169, 556, -1, 32, 371, 192, - 155, 1169, 556, -1, 32, 454, 1169, 556, -1, 32, - 454, 192, 155, 1169, 556, -1, 32, 249, 454, 1169, - 556, -1, 32, 249, 454, 192, 155, 1169, 556, -1, - 32, 249, 454, 30, 198, 409, 1171, 377, 409, 1171, - 977, -1, 32, 249, 454, 30, 198, 409, 1171, 303, - 60, 1181, 377, 409, 1171, 977, -1, 32, 171, 406, - 1055, 556, -1, 32, 171, 406, 192, 155, 1055, 556, - -1, 559, -1, 556, 506, 559, -1, 47, 309, 1169, - 571, -1, 131, 309, 1169, 810, -1, 131, 309, 1169, - 165, -1, 47, 309, 1169, -1, 26, 601, -1, 26, - 192, 273, 155, 601, -1, 26, 81, 601, -1, 26, - 81, 192, 273, 155, 601, -1, 32, 879, 1186, 560, - -1, 32, 879, 1186, 140, 273, 278, -1, 32, 879, - 1186, 377, 273, 278, -1, 32, 879, 1186, 140, 157, - -1, 32, 879, 1186, 140, 157, 192, 155, -1, 32, - 879, 1186, 377, 393, 1178, -1, 32, 879, 1176, 377, - 393, 1178, -1, 32, 879, 1186, 377, 565, -1, 32, - 879, 1186, 347, 565, -1, 32, 879, 1186, 377, 396, - 1186, -1, 32, 879, 1186, 377, 603, -1, 32, 879, - 1186, 26, 178, 609, 39, 191, 654, -1, 32, 879, - 1186, 569, -1, 32, 879, 1186, 140, 191, -1, 32, - 879, 1186, 140, 191, 192, 155, -1, 140, 879, 192, - 155, 1186, 561, -1, 140, 879, 1186, 561, -1, 32, - 879, 1186, 880, 428, 1078, 562, 563, -1, 32, 879, - 1186, 684, -1, 26, 614, -1, 32, 92, 1171, 732, - -1, 445, 92, 1171, -1, 140, 92, 192, 155, 1171, - 561, -1, 140, 92, 1171, 561, -1, 377, 463, 286, - -1, 77, 288, 1171, -1, 377, 463, 77, -1, 377, - 245, -1, 377, 438, -1, 143, 423, 1171, -1, 143, - 33, 423, 1171, -1, 143, 346, 423, 1171, -1, 143, - 423, 30, -1, 143, 423, 441, -1, 133, 423, 1171, - -1, 133, 423, 30, -1, 133, 423, 441, -1, 143, - 362, 1171, -1, 143, 33, 362, 1171, -1, 143, 346, - 362, 1171, -1, 133, 362, 1171, -1, 204, 1169, -1, - 269, 204, 1169, -1, 283, 774, -1, 273, 283, -1, - 304, 418, 1180, -1, 377, 24, 252, 1171, -1, 377, - 409, 1171, -1, 377, 565, -1, 347, 565, -1, 346, - 191, 564, -1, 143, 360, 234, 369, -1, 133, 360, - 234, 369, -1, 170, 360, 234, 369, -1, 269, 170, - 360, 234, 369, -1, 684, -1, 377, 120, 1101, -1, - 140, 120, -1, 64, -1, 349, -1, -1, 79, 774, - -1, -1, 442, 1101, -1, -1, 274, -1, 175, -1, - 120, -1, 442, 202, 1171, -1, 502, 567, 503, -1, - 461, 565, -1, -1, 568, -1, 567, 506, 568, -1, - 1189, 492, 745, -1, 1189, -1, 1189, 504, 1189, 492, - 745, -1, 1189, 504, 1189, -1, 570, -1, 569, 570, - -1, 348, -1, 348, 515, 658, -1, 377, 656, -1, - 377, 178, 609, -1, 169, 448, 461, 502, 573, 503, - -1, 169, 448, 198, 502, 1139, 503, -1, 169, 448, - 174, 502, 1139, 503, 418, 502, 1139, 503, -1, 120, - -1, 1188, 1176, -1, 572, -1, 573, 506, 572, -1, - 32, 428, 774, 575, -1, 576, -1, 575, 506, 576, - -1, 26, 48, 1070, 561, -1, 140, 48, 192, 155, - 1186, 561, -1, 140, 48, 1186, 561, -1, 32, 48, - 1186, 880, 428, 1078, 562, 561, -1, 76, 993, -1, - 76, 30, -1, 97, 585, 1169, 617, 579, 580, 581, - 586, 515, 582, 1066, -1, 97, 502, 959, 503, 418, - 580, 581, 515, 582, -1, 174, -1, 418, -1, 327, - -1, -1, 1177, -1, 394, -1, 395, -1, 583, -1, - 502, 588, 503, -1, 583, 584, -1, -1, 55, -1, - 173, -1, 126, 933, 1177, -1, 278, 933, 1177, -1, - 101, -1, 188, -1, 329, 933, 1177, -1, 148, 933, - 1177, -1, 170, 329, 618, -1, 170, 329, 495, -1, - 170, 273, 278, 618, -1, 170, 278, 618, -1, 144, - 1177, -1, 55, -1, -1, 587, 127, 1177, -1, -1, - 442, -1, -1, 589, -1, 588, 506, 589, -1, 1189, - 590, -1, 540, -1, 658, -1, 495, -1, 502, 591, - 503, -1, -1, 592, -1, 591, 506, 592, -1, 540, - -1, 99, 594, 406, 1169, 502, 595, 503, 629, 630, - 634, 635, 636, 637, -1, 99, 594, 406, 192, 273, - 155, 1169, 502, 595, 503, 629, 630, 634, 635, 636, - 637, -1, 99, 594, 406, 1169, 283, 774, 596, 630, - 634, 635, 636, 637, -1, 99, 594, 406, 192, 273, - 155, 1169, 283, 774, 596, 630, 634, 635, 636, 637, - -1, 99, 594, 406, 1169, 309, 283, 1169, 596, 571, - 630, 634, 635, 636, 637, -1, 99, 594, 406, 192, - 273, 155, 1169, 309, 283, 1169, 596, 571, 630, 634, - 635, 636, 637, -1, 412, -1, 410, -1, 239, 412, - -1, 239, 410, -1, 179, 412, -1, 179, 410, -1, - 438, -1, -1, 597, -1, -1, 502, 598, 503, -1, - -1, 599, -1, 597, 506, 599, -1, 600, -1, 598, - 506, 600, -1, 601, -1, 611, -1, 614, -1, 602, - -1, 614, -1, 1186, 1078, 604, 682, 605, -1, 1186, - 605, -1, 1186, 461, 292, 605, -1, 87, 1186, -1, - 87, 120, -1, 603, -1, -1, 605, 606, -1, -1, - 92, 1171, 607, -1, 607, -1, 610, -1, 79, 774, - -1, 273, 278, -1, 278, -1, 435, 608, 851, 638, - -1, 321, 224, 851, 638, -1, 73, 502, 1101, 503, - 616, -1, 120, 1102, -1, 178, 609, 39, 191, 654, - -1, 178, 609, 39, 502, 1101, 503, 397, -1, 337, - 1169, 617, 621, 625, -1, 280, 135, -1, 280, 273, - 135, -1, -1, 33, -1, 60, 120, -1, 122, -1, - 273, 122, -1, 206, 123, -1, 206, 194, -1, 235, - 1169, 612, -1, 612, 200, 613, -1, 612, 152, 613, - -1, -1, 84, -1, 87, -1, 93, -1, 121, -1, - 191, -1, 178, -1, 203, -1, 393, -1, 396, -1, - 30, -1, 92, 1171, 615, -1, 615, -1, 73, 502, - 1101, 503, 732, -1, 435, 608, 502, 618, 503, 620, - 851, 638, 732, -1, 435, 639, 732, -1, 321, 224, - 502, 618, 503, 620, 851, 638, 732, -1, 321, 224, - 639, 732, -1, 151, 812, 502, 622, 503, 620, 851, - 638, 624, 732, -1, 171, 224, 502, 618, 503, 337, - 1169, 617, 621, 625, 732, -1, 269, 204, -1, -1, - 502, 618, 503, -1, -1, 619, -1, 618, 506, 619, - -1, 1186, -1, 199, 502, 618, 503, -1, -1, 247, - 175, -1, 247, 308, -1, 247, 383, -1, -1, 623, - -1, 622, 506, 623, -1, 815, 461, 861, -1, 815, - 461, 290, 502, 861, 503, -1, 458, 502, 1101, 503, - -1, -1, 626, -1, 627, -1, 626, 627, -1, 627, - 626, -1, -1, 288, 440, 628, -1, 288, 125, 628, - -1, 269, 25, -1, 349, -1, 64, -1, 377, 278, - 617, -1, 377, 120, 617, -1, 205, 502, 1168, 503, - -1, -1, 631, -1, -1, 309, 60, 1186, 502, 632, - 503, -1, 633, -1, 632, 506, 633, -1, 1186, 818, - 819, -1, 1106, 818, 819, -1, 502, 1101, 503, 818, - 819, -1, 442, 1171, -1, -1, 461, 565, -1, 463, - 286, -1, -1, 288, 85, 140, -1, 288, 85, 125, - 361, -1, 288, 85, 318, 361, -1, -1, 409, 1171, - -1, -1, 442, 202, 409, 1171, -1, -1, 442, 202, - 1171, -1, 99, 393, 774, 951, 288, 641, 174, 1045, - -1, 99, 393, 192, 273, 155, 774, 951, 288, 641, - 174, 1045, -1, 642, -1, 641, 506, 642, -1, 1186, - -1, 1106, -1, 502, 1101, 503, -1, 32, 393, 774, - 377, 393, 1178, -1, 32, 393, 192, 155, 774, 377, - 393, 1178, -1, 99, 594, 406, 645, 39, 996, 646, - -1, 99, 594, 406, 192, 273, 155, 645, 39, 996, - 646, -1, 1169, 617, 634, 635, 636, 637, -1, 461, - 113, -1, 461, 269, 113, -1, -1, 99, 649, 249, - 454, 648, 39, 996, 646, -1, 99, 649, 249, 454, - 192, 273, 155, 648, 39, 996, 646, -1, 1169, 617, - 634, 566, 637, -1, 438, -1, -1, 339, 249, 454, - 810, 1169, 646, -1, 99, 594, 371, 1169, 653, -1, - 99, 594, 371, 192, 273, 155, 1169, 653, -1, 32, - 371, 1169, 655, -1, 32, 371, 192, 155, 1169, 655, - -1, 655, -1, -1, 502, 655, 503, -1, -1, 656, - -1, 655, 656, -1, 39, 1080, -1, 61, 658, -1, - 112, -1, 269, 112, -1, 201, 657, 658, -1, 250, - 658, -1, 254, 658, -1, 269, 250, -1, 269, 254, - -1, 303, 60, 774, -1, 371, 258, 774, -1, 391, - 515, 658, -1, 348, -1, 348, 515, 658, -1, 60, - -1, -1, 5, -1, 493, 5, -1, 494, 5, -1, - 1178, -1, 658, -1, 659, 506, 658, -1, 99, 823, - 661, 666, 226, 1171, -1, 99, 823, 661, 666, 226, - 1171, 186, 662, 663, 665, -1, 427, -1, -1, 1171, - -1, 1171, 775, -1, 207, 662, -1, -1, 446, 662, - -1, 269, 446, -1, 664, -1, -1, 324, -1, -1, - 99, 409, 1171, 668, 242, 1177, 566, -1, 304, 1180, - -1, -1, 140, 409, 1171, -1, 140, 409, 192, 155, - 1171, -1, 99, 158, 1171, 515, 671, -1, 99, 158, - 192, 273, 155, 1171, 515, 671, -1, 671, 672, -1, - -1, 364, 1171, -1, 453, 543, -1, 174, 543, -1, - 64, -1, 32, 158, 1171, 440, 674, -1, 674, 675, - -1, -1, 418, 543, -1, 32, 158, 1171, 527, 770, - 1171, -1, 32, 158, 1171, 527, 769, 774, -1, 32, - 158, 1171, 527, 29, 839, -1, 32, 158, 1171, 527, - 67, 502, 1078, 39, 1078, 503, -1, 32, 158, 1171, - 527, 138, 1078, -1, 32, 158, 1171, 527, 176, 827, - -1, 32, 158, 1171, 527, 290, 863, -1, 32, 158, - 1171, 527, 290, 75, 774, 442, 1171, -1, 32, 158, - 1171, 527, 290, 162, 774, 442, 1171, -1, 32, 158, - 1171, 527, 325, 827, -1, 32, 158, 1171, 527, 358, - 827, -1, 32, 158, 1171, 527, 421, 169, 1078, 226, - 1171, -1, 32, 158, 1171, 527, 428, 1078, -1, 99, - 171, 113, 465, 1171, 680, 682, -1, 186, 662, -1, - 269, 186, -1, 446, 662, -1, 269, 446, -1, 678, - -1, 679, 678, -1, 679, -1, -1, 32, 171, 113, - 465, 1171, 680, 684, -1, 32, 171, 113, 465, 1171, - 679, -1, 292, 502, 683, 503, -1, -1, 687, -1, - 683, 506, 687, -1, 292, 502, 685, 503, -1, 686, - -1, 685, 506, 686, -1, 687, -1, 377, 687, -1, - 26, 687, -1, 140, 688, -1, 688, 689, -1, 1189, - -1, 1177, -1, 99, 374, 1171, 691, 693, 171, 113, - 465, 1171, 682, -1, 99, 374, 192, 273, 155, 1171, - 691, 693, 171, 113, 465, 1171, 682, -1, 428, 1177, - -1, -1, 453, 1177, -1, 453, 278, -1, 692, -1, - -1, 32, 374, 1171, 692, 684, -1, 32, 374, 1171, - 692, -1, 32, 374, 1171, 684, -1, 99, 171, 406, - 1169, 502, 595, 503, 629, 374, 1171, 682, -1, 99, - 171, 406, 192, 273, 155, 1169, 502, 595, 503, 629, - 374, 1171, 682, -1, 99, 171, 406, 1169, 309, 283, - 1169, 596, 571, 374, 1171, 682, -1, 99, 171, 406, - 192, 273, 155, 1169, 309, 283, 1169, 596, 571, 374, - 1171, 682, -1, 197, 171, 364, 1171, 698, 174, 374, - 1171, 218, 1171, 682, -1, 236, 418, -1, 150, -1, - 697, 502, 1057, 503, -1, -1, 99, 441, 246, 169, - 700, 374, 1171, 682, -1, 99, 441, 246, 192, 273, - 155, 169, 700, 374, 1171, 682, -1, 1180, -1, 441, - -1, 140, 441, 246, 169, 700, 374, 1171, -1, 140, - 441, 246, 192, 155, 169, 700, 374, 1171, -1, 32, - 441, 246, 169, 700, 374, 1171, 684, -1, 99, 314, - 1171, 288, 1169, 709, 710, 707, 705, 706, -1, 32, - 314, 1171, 288, 1169, 708, 705, 706, -1, 442, 502, - 1101, 503, -1, -1, 461, 73, 502, 1101, 503, -1, - -1, 418, 1181, -1, -1, 418, 1181, -1, -1, 39, - 3, -1, -1, 169, 711, -1, -1, 30, -1, 370, - -1, 212, -1, 440, -1, 125, -1, 99, 24, 252, - 1171, 428, 713, 186, 662, -1, 202, -1, 406, -1, - 99, 823, 423, 1171, 715, 716, 288, 1169, 718, 724, - 727, 154, 728, 1174, 502, 729, 503, -1, 99, 823, - 92, 423, 1171, 28, 716, 288, 1169, 731, 732, 169, - 141, 360, 727, 154, 728, 1174, 502, 729, 503, -1, - 51, -1, 28, -1, 213, 283, -1, 717, -1, 716, - 293, 717, -1, 212, -1, 125, -1, 440, -1, 440, - 283, 618, -1, 426, -1, 338, 719, -1, -1, 720, - -1, 719, 720, -1, 721, 722, 933, 723, -1, 263, - -1, 287, -1, 406, -1, 360, -1, 1186, -1, 169, - 725, 726, -1, -1, 141, -1, -1, 360, -1, 392, - -1, 457, 502, 1101, 503, -1, -1, 176, -1, 325, - -1, 730, -1, 729, 506, 730, -1, -1, 1176, -1, - 5, -1, 1177, -1, 1189, -1, 174, 1169, -1, -1, - -1, 732, 733, -1, 273, 122, -1, 122, -1, 206, - 194, -1, 206, 123, -1, 273, 444, -1, 269, 204, - -1, 99, 149, 423, 1171, 288, 1189, 154, 728, 1174, - 502, 503, -1, 99, 149, 423, 1171, 288, 1189, 457, - 735, 154, 728, 1174, 502, 503, -1, 736, -1, 735, - 36, 736, -1, 1186, 198, 502, 737, 503, -1, 6, - -1, 737, 506, 6, -1, 32, 149, 423, 1171, 739, - -1, 143, -1, 143, 346, -1, 143, 33, -1, 133, - -1, 99, 42, 774, 73, 502, 1101, 503, 732, -1, - 99, 823, 29, 1174, 837, 742, -1, 99, 823, 29, - 1174, 746, -1, 99, 290, 861, 742, -1, 99, 428, - 774, 742, -1, 99, 428, 774, -1, 99, 428, 774, - 39, 502, 1068, 503, -1, 99, 428, 774, 39, 147, - 502, 749, 503, -1, 99, 428, 774, 39, 330, 742, - -1, 99, 413, 367, 307, 774, 742, -1, 99, 413, - 367, 132, 774, 742, -1, 99, 413, 367, 411, 774, - 742, -1, 99, 413, 367, 89, 774, 742, -1, 99, - 80, 774, 742, -1, 99, 80, 192, 273, 155, 774, - 742, -1, 99, 80, 774, 174, 774, -1, 99, 80, - 192, 273, 155, 774, 174, 774, -1, 502, 743, 503, - -1, 744, -1, 743, 506, 744, -1, 1189, 492, 745, - -1, 1189, -1, 834, -1, 1194, -1, 1137, -1, 658, - -1, 1177, -1, 270, -1, 502, 747, 503, -1, 748, - -1, 747, 506, 748, -1, 3, 492, 745, -1, 750, - -1, -1, 1177, -1, 750, 506, 1177, -1, 32, 428, - 774, 26, 447, 752, 1177, -1, 32, 428, 774, 26, - 447, 752, 1177, 51, 1177, -1, 32, 428, 774, 26, - 447, 752, 1177, 28, 1177, -1, 32, 428, 774, 343, - 447, 1177, 418, 1177, -1, 192, 273, 155, -1, -1, - 99, 290, 75, 774, 756, 169, 428, 1078, 442, 1171, - 757, 39, 754, -1, 755, -1, 754, 506, 755, -1, - 290, 1176, 861, 758, 759, -1, 290, 1176, 863, 758, - 759, -1, 176, 1176, 827, -1, 176, 1176, 502, 1143, - 503, 827, -1, 396, 1078, -1, 120, -1, -1, 162, - 774, -1, -1, 169, 367, -1, 169, 294, 60, 774, - -1, -1, 334, -1, -1, 99, 290, 162, 774, 442, - 1171, -1, 32, 290, 162, 774, 442, 1171, 26, 754, - -1, 32, 290, 162, 774, 442, 1171, 140, 762, -1, - 763, -1, 762, 506, 763, -1, 290, 1176, 502, 1143, - 503, -1, 176, 1176, 502, 1143, 503, -1, 140, 290, - 75, 774, 442, 1171, 561, -1, 140, 290, 75, 192, - 155, 774, 442, 1171, 561, -1, 140, 290, 162, 774, - 442, 1171, 561, -1, 140, 290, 162, 192, 155, 774, - 442, 1171, 561, -1, 140, 303, 60, 1181, 561, -1, - 333, 303, 60, 1181, 418, 1180, -1, 140, 769, 192, - 155, 773, 561, -1, 140, 769, 773, 561, -1, 140, - 771, 192, 155, 1170, 561, -1, 140, 771, 1170, 561, - -1, 140, 772, 1171, 288, 774, 561, -1, 140, 772, - 192, 155, 1171, 288, 774, 561, -1, 140, 428, 776, - 561, -1, 140, 428, 192, 155, 776, 561, -1, 140, - 138, 776, 561, -1, 140, 138, 192, 155, 776, 561, - -1, 140, 202, 88, 773, 561, -1, 140, 202, 88, - 192, 155, 773, 561, -1, 406, -1, 371, -1, 454, - -1, 249, 454, -1, 202, -1, 171, 406, -1, 80, - -1, 96, -1, 393, -1, 413, 367, 307, -1, 413, - 367, 132, -1, 413, 367, 411, -1, 413, 367, 89, - -1, 771, -1, 114, -1, 355, -1, 400, -1, 409, - -1, 24, 252, -1, 149, 423, -1, 158, -1, 171, - 113, 465, -1, 666, 226, -1, 328, -1, 364, -1, - 374, -1, 314, -1, 362, -1, 423, -1, 774, -1, - 773, 506, 774, -1, 1186, -1, 1186, 775, -1, 504, - 1172, -1, 775, 504, 1172, -1, 1078, -1, 776, 506, - 1078, -1, 426, 1010, 1057, 778, 561, -1, 95, 191, - -1, 348, 191, -1, -1, 83, 288, 769, 774, 220, - 780, -1, 83, 288, 81, 774, 220, 780, -1, 83, - 288, 770, 1171, 220, 780, -1, 83, 288, 428, 1078, - 220, 780, -1, 83, 288, 138, 1078, 220, 780, -1, - 83, 288, 29, 839, 220, 780, -1, 83, 288, 176, - 827, 220, 780, -1, 83, 288, 290, 863, 220, 780, - -1, 83, 288, 92, 1171, 288, 774, 220, 780, -1, - 83, 288, 92, 1171, 288, 138, 774, 220, 780, -1, - 83, 288, 772, 1171, 288, 774, 220, 780, -1, 83, - 288, 325, 827, 220, 780, -1, 83, 288, 358, 827, - 220, 780, -1, 83, 288, 421, 169, 1078, 226, 1171, - 220, 780, -1, 83, 288, 290, 75, 774, 442, 1171, - 220, 780, -1, 83, 288, 290, 162, 774, 442, 1171, - 220, 780, -1, 83, 288, 227, 282, 658, 220, 780, - -1, 83, 288, 67, 502, 1078, 39, 1078, 503, 220, - 780, -1, 1177, -1, 278, -1, 369, 225, 782, 288, - 769, 774, 220, 783, -1, 369, 225, 782, 288, 81, - 774, 220, 783, -1, 369, 225, 782, 288, 770, 1171, - 220, 783, -1, 369, 225, 782, 288, 428, 1078, 220, - 783, -1, 369, 225, 782, 288, 138, 1078, 220, 783, - -1, 369, 225, 782, 288, 29, 839, 220, 783, -1, - 369, 225, 782, 288, 176, 827, 220, 783, -1, 369, - 225, 782, 288, 227, 282, 658, 220, 783, -1, 369, - 225, 782, 288, 325, 827, 220, 783, -1, 369, 225, - 782, 288, 358, 827, 220, 783, -1, 169, 543, -1, - -1, 1177, -1, 278, -1, 163, 785, -1, 257, 785, - -1, 993, -1, 786, 993, -1, 264, 787, 993, -1, - 322, 787, 993, -1, 166, 787, 993, -1, 228, 787, - 993, -1, 23, 1178, 787, 993, -1, 341, 1178, 787, - 993, -1, 1178, 787, 993, -1, 30, 787, 993, -1, - 172, 787, 993, -1, 172, 1178, 787, 993, -1, 172, - 30, 787, 993, -1, 50, 787, 993, -1, 50, 1178, - 787, 993, -1, 50, 30, 787, 993, -1, 174, -1, - 198, -1, 786, -1, -1, 180, 790, 288, 795, 418, - 796, 798, 802, -1, 353, 790, 288, 795, 174, 796, - 802, 561, -1, 353, 180, 291, 169, 790, 288, 795, - 174, 796, 802, 561, -1, 791, -1, 30, -1, 30, - 323, -1, 30, 502, 618, 503, -1, 30, 323, 502, - 618, 503, -1, 792, -1, 791, 506, 792, -1, 370, - 617, -1, 337, 617, -1, 99, 617, -1, 32, 405, - -1, 1186, 617, -1, 794, -1, 793, 506, 794, -1, - 1186, -1, 794, 504, 1186, -1, 1168, -1, 406, 1168, - -1, 371, 1168, -1, 171, 113, 465, 1170, -1, 171, - 374, 1170, -1, 176, 826, -1, 325, 826, -1, 358, - 826, -1, 114, 1170, -1, 138, 773, -1, 226, 1170, - -1, 227, 282, 659, -1, 306, 793, -1, 364, 1170, - -1, 409, 1170, -1, 428, 773, -1, 30, 407, 198, - 364, 1170, -1, 30, 372, 198, 364, 1170, -1, 30, - 177, 198, 364, 1170, -1, 30, 326, 198, 364, 1170, - -1, 30, 359, 198, 364, 1170, -1, 797, -1, 796, - 506, 797, -1, 1180, -1, 183, 1180, -1, 461, 180, - 291, -1, -1, 180, 791, 418, 1181, 801, 802, -1, - 353, 791, 174, 1181, 802, 561, -1, 353, 27, 291, - 169, 791, 174, 1181, 802, 561, -1, 461, 27, 291, - -1, -1, 181, 60, 1180, -1, -1, 32, 120, 323, - 804, 806, -1, 804, 805, -1, -1, 198, 364, 1170, - -1, 169, 355, 1181, -1, 169, 441, 1181, -1, 180, - 790, 288, 807, 418, 796, 798, -1, 353, 790, 288, - 807, 174, 796, 561, -1, 353, 180, 291, 169, 790, - 288, 807, 174, 796, 561, -1, 407, -1, 177, -1, - 359, -1, 372, -1, 429, -1, 365, -1, 99, 809, - 202, 810, 811, 288, 1055, 812, 502, 813, 503, 816, - 608, 566, 637, 1066, -1, 99, 809, 202, 810, 192, - 273, 155, 1171, 288, 1055, 812, 502, 813, 503, 816, - 608, 566, 637, 1066, -1, 435, -1, -1, 88, -1, - -1, 1171, -1, -1, 442, 1171, -1, -1, 815, -1, - 813, 506, 815, -1, 818, 819, 820, 821, -1, 818, - 774, 565, 820, 821, -1, 1186, 814, -1, 1106, 814, - -1, 502, 1101, 503, 814, -1, 199, 502, 817, 503, - -1, -1, 815, -1, 817, 506, 815, -1, 79, 774, - -1, -1, 774, -1, -1, 40, -1, 130, -1, -1, - 483, 166, -1, 483, 228, -1, -1, 99, 823, 176, - 1174, 828, 352, 833, 841, 847, -1, 99, 823, 176, - 1174, 828, 352, 406, 502, 853, 503, 841, 847, -1, - 99, 823, 176, 1174, 828, 841, 847, -1, 99, 823, - 325, 1174, 828, 841, 847, -1, 293, 345, -1, -1, - 502, 825, 503, -1, 502, 503, -1, 830, -1, 825, - 506, 830, -1, 827, -1, 826, 506, 827, -1, 1174, - 824, -1, 1193, -1, 1186, -1, 1186, 1162, -1, 502, - 829, 503, -1, 502, 503, -1, 835, -1, 829, 506, - 835, -1, 831, 832, 834, -1, 832, 831, 834, -1, - 832, 834, -1, 831, 834, -1, 834, -1, 198, -1, - 297, -1, 209, -1, 198, 297, -1, 450, -1, 1187, - -1, 834, -1, 1078, -1, 1187, 775, 497, 428, -1, - 379, 1187, 775, 497, 428, -1, 830, -1, 830, 120, - 1101, -1, 830, 492, 1101, -1, 830, -1, 502, 495, - 503, -1, 502, 838, 503, -1, 502, 294, 60, 838, - 503, -1, 502, 838, 294, 60, 838, 503, -1, 836, - -1, 838, 506, 836, -1, 1174, 837, -1, 839, -1, - 840, 506, 839, -1, 842, -1, -1, 844, -1, 842, - 844, -1, 63, 288, 278, 210, -1, 352, 278, 288, - 278, 210, -1, 398, -1, 195, -1, 389, -1, 456, - -1, 159, 369, 124, -1, 159, 369, 219, -1, 369, - 124, -1, 369, 219, -1, 231, -1, 273, 231, -1, - 98, 658, -1, 361, 658, -1, 402, 774, -1, 548, - -1, 305, 1186, -1, 39, 845, -1, 226, 543, -1, - 421, 850, -1, 460, -1, 843, -1, 1177, -1, 1177, - 506, 1177, -1, 350, 1101, -1, 846, -1, 52, 45, - 848, 146, -1, -1, 848, 849, 505, -1, -1, 512, - -1, 846, -1, 169, 428, 1078, -1, 850, 506, 169, - 428, 1078, -1, 461, 742, -1, -1, 832, 834, -1, - 852, -1, 853, 506, 852, -1, 32, 176, 827, 855, - 856, -1, 32, 325, 827, 855, 856, -1, 32, 358, - 827, 855, 856, -1, 843, -1, 855, 843, -1, 349, - -1, -1, 140, 176, 826, 561, -1, 140, 176, 192, - 155, 826, 561, -1, 140, 325, 826, 561, -1, 140, - 325, 192, 155, 826, 561, -1, 140, 358, 826, 561, - -1, 140, 358, 192, 155, 826, 561, -1, 140, 29, - 840, 561, -1, 140, 29, 192, 155, 840, 561, -1, - 140, 290, 862, 561, -1, 140, 290, 192, 155, 862, - 561, -1, 502, 1078, 503, -1, 502, 1078, 506, 1078, - 503, -1, 502, 270, 506, 1078, 503, -1, 502, 1078, - 506, 270, 503, -1, 1134, -1, 1186, 504, 861, -1, - 863, -1, 862, 506, 863, -1, 861, 860, -1, 136, - 865, -1, 866, -1, 865, 866, -1, 1177, -1, 226, - 543, -1, 99, 67, 502, 1078, 39, 1078, 503, 461, - 176, 827, 868, -1, 99, 67, 502, 1078, 39, 1078, - 503, 463, 176, 868, -1, 99, 67, 502, 1078, 39, - 1078, 503, 461, 209, 868, -1, 39, 196, -1, 39, - 43, -1, -1, 140, 67, 870, 502, 1078, 39, 1078, - 503, 561, -1, 192, 155, -1, -1, 99, 823, 421, - 169, 1078, 226, 1171, 502, 872, 503, -1, 174, 388, - 461, 176, 827, 506, 418, 388, 461, 176, 827, -1, - 418, 388, 461, 176, 827, 506, 174, 388, 461, 176, - 827, -1, 174, 388, 461, 176, 827, -1, 418, 388, - 461, 176, 827, -1, 140, 421, 870, 169, 1078, 226, - 1171, 561, -1, 340, 875, 810, 1169, -1, 340, 876, - 810, 1171, -1, 340, 502, 942, 503, 875, 810, 1169, - -1, 340, 502, 942, 503, 876, 810, 1171, -1, 202, - -1, 406, -1, 364, -1, 405, -1, 114, -1, 32, - 409, 1171, 377, 565, -1, 32, 409, 1171, 347, 565, - -1, 32, 29, 839, 343, 418, 1171, -1, 32, 80, - 774, 343, 418, 1171, -1, 32, 96, 774, 343, 418, - 1171, -1, 32, 114, 1171, 343, 418, 1171, -1, 32, - 138, 774, 343, 418, 1171, -1, 32, 138, 774, 343, - 92, 1171, 418, 1171, -1, 32, 171, 113, 465, 1171, - 343, 418, 1171, -1, 32, 176, 827, 343, 418, 1171, - -1, 32, 183, 1179, 343, 418, 1179, -1, 32, 666, - 226, 1171, 343, 418, 1171, -1, 32, 290, 75, 774, - 442, 1171, 343, 418, 1171, -1, 32, 290, 162, 774, - 442, 1171, 343, 418, 1171, -1, 32, 314, 1171, 288, - 1169, 343, 418, 1171, -1, 32, 314, 192, 155, 1171, - 288, 1169, 343, 418, 1171, -1, 32, 325, 827, 343, - 418, 1171, -1, 32, 328, 1171, 343, 418, 1171, -1, - 32, 358, 827, 343, 418, 1171, -1, 32, 364, 1171, - 343, 418, 1171, -1, 32, 374, 1171, 343, 418, 1171, - -1, 32, 400, 1171, 343, 418, 1171, -1, 32, 406, - 1055, 343, 418, 1171, -1, 32, 406, 192, 155, 1055, - 343, 418, 1171, -1, 32, 371, 1169, 343, 418, 1171, - -1, 32, 371, 192, 155, 1169, 343, 418, 1171, -1, - 32, 454, 1169, 343, 418, 1171, -1, 32, 454, 192, - 155, 1169, 343, 418, 1171, -1, 32, 249, 454, 1169, - 343, 418, 1171, -1, 32, 249, 454, 192, 155, 1169, - 343, 418, 1171, -1, 32, 202, 1169, 343, 418, 1171, - -1, 32, 202, 192, 155, 1169, 343, 418, 1171, -1, - 32, 171, 406, 1055, 343, 418, 1171, -1, 32, 171, - 406, 192, 155, 1055, 343, 418, 1171, -1, 32, 406, - 1055, 343, 879, 1171, 418, 1171, -1, 32, 406, 192, - 155, 1055, 343, 879, 1171, 418, 1171, -1, 32, 454, - 1169, 343, 879, 1171, 418, 1171, -1, 32, 454, 192, - 155, 1169, 343, 879, 1171, 418, 1171, -1, 32, 249, - 454, 1169, 343, 879, 1171, 418, 1171, -1, 32, 249, - 454, 192, 155, 1169, 343, 879, 1171, 418, 1171, -1, - 32, 406, 1055, 343, 92, 1171, 418, 1171, -1, 32, - 406, 192, 155, 1055, 343, 92, 1171, 418, 1171, -1, - 32, 171, 406, 1055, 343, 879, 1171, 418, 1171, -1, - 32, 171, 406, 192, 155, 1055, 343, 879, 1171, 418, - 1171, -1, 32, 362, 1171, 288, 1169, 343, 418, 1171, - -1, 32, 423, 1171, 288, 1169, 343, 418, 1171, -1, - 32, 149, 423, 1171, 343, 418, 1171, -1, 32, 355, - 1179, 343, 418, 1179, -1, 32, 441, 1179, 343, 418, - 1179, -1, 32, 409, 1171, 343, 418, 1171, -1, 32, - 393, 774, 343, 418, 1171, -1, 32, 413, 367, 307, - 774, 343, 418, 1171, -1, 32, 413, 367, 132, 774, - 343, 418, 1171, -1, 32, 413, 367, 411, 774, 343, - 418, 1171, -1, 32, 413, 367, 89, 774, 343, 418, - 1171, -1, 32, 428, 774, 343, 418, 1171, -1, 32, - 428, 774, 343, 48, 1171, 418, 1171, 561, -1, 81, - -1, -1, 377, 113, -1, -1, 32, 176, 827, 882, - 128, 288, 158, 1171, -1, 32, 325, 827, 882, 128, - 288, 158, 1171, -1, 32, 358, 827, 882, 128, 288, - 158, 1171, -1, 32, 423, 1171, 288, 1169, 882, 128, - 288, 158, 1171, -1, 32, 249, 454, 1169, 882, 128, - 288, 158, 1171, -1, 32, 202, 1169, 882, 128, 288, - 158, 1171, -1, 269, -1, -1, 32, 29, 839, 377, - 364, 1171, -1, 32, 80, 774, 377, 364, 1171, -1, - 32, 96, 774, 377, 364, 1171, -1, 32, 138, 774, - 377, 364, 1171, -1, 32, 158, 1171, 377, 364, 1171, - -1, 32, 176, 827, 377, 364, 1171, -1, 32, 290, - 863, 377, 364, 1171, -1, 32, 290, 75, 774, 442, - 1171, 377, 364, 1171, -1, 32, 290, 162, 774, 442, - 1171, 377, 364, 1171, -1, 32, 325, 827, 377, 364, - 1171, -1, 32, 358, 827, 377, 364, 1171, -1, 32, - 406, 1055, 377, 364, 1171, -1, 32, 406, 192, 155, - 1055, 377, 364, 1171, -1, 32, 393, 774, 377, 364, - 1171, -1, 32, 413, 367, 307, 774, 377, 364, 1171, - -1, 32, 413, 367, 132, 774, 377, 364, 1171, -1, - 32, 413, 367, 411, 774, 377, 364, 1171, -1, 32, - 413, 367, 89, 774, 377, 364, 1171, -1, 32, 371, - 1169, 377, 364, 1171, -1, 32, 371, 192, 155, 1169, - 377, 364, 1171, -1, 32, 454, 1169, 377, 364, 1171, - -1, 32, 454, 192, 155, 1169, 377, 364, 1171, -1, - 32, 249, 454, 1169, 377, 364, 1171, -1, 32, 249, - 454, 192, 155, 1169, 377, 364, 1171, -1, 32, 171, - 406, 1055, 377, 364, 1171, -1, 32, 171, 406, 192, - 155, 1055, 377, 364, 1171, -1, 32, 428, 774, 377, - 364, 1171, -1, 32, 290, 863, 377, 502, 885, 503, - -1, 886, -1, 885, 506, 886, -1, 1189, 492, 270, - -1, 1189, 492, 887, -1, 834, -1, 1194, -1, 1137, - -1, 658, -1, 1177, -1, 32, 428, 774, 377, 502, - 885, 503, -1, 32, 29, 839, 304, 418, 1180, -1, - 32, 80, 774, 304, 418, 1180, -1, 32, 96, 774, - 304, 418, 1180, -1, 32, 114, 1171, 304, 418, 1180, - -1, 32, 138, 774, 304, 418, 1180, -1, 32, 176, - 827, 304, 418, 1180, -1, 32, 666, 226, 1171, 304, - 418, 1180, -1, 32, 227, 282, 658, 304, 418, 1180, - -1, 32, 290, 863, 304, 418, 1180, -1, 32, 290, - 75, 774, 442, 1171, 304, 418, 1180, -1, 32, 290, - 162, 774, 442, 1171, 304, 418, 1180, -1, 32, 325, - 827, 304, 418, 1180, -1, 32, 358, 827, 304, 418, - 1180, -1, 32, 364, 1171, 304, 418, 1180, -1, 32, - 428, 774, 304, 418, 1180, -1, 32, 409, 1171, 304, - 418, 1180, -1, 32, 393, 774, 304, 418, 1180, -1, - 32, 413, 367, 132, 774, 304, 418, 1180, -1, 32, - 413, 367, 89, 774, 304, 418, 1180, -1, 32, 171, - 113, 465, 1171, 304, 418, 1180, -1, 32, 374, 1171, - 304, 418, 1180, -1, 32, 149, 423, 1171, 304, 418, - 1180, -1, 32, 328, 1171, 304, 418, 1180, -1, 32, - 400, 1171, 304, 418, 1180, -1, 99, 328, 1171, 851, - -1, 99, 328, 1171, 169, 30, 407, 851, -1, 99, - 328, 1171, 169, 892, 851, -1, 406, 1055, 617, 624, - -1, 407, 198, 364, 1186, -1, 407, 198, 364, 107, - -1, 1186, 617, 624, -1, 1186, 1162, 617, 624, -1, - 1056, 617, 624, -1, 107, -1, 891, -1, 892, 506, - 891, -1, 32, 328, 1171, 377, 742, -1, 32, 328, - 1171, 26, 892, -1, 32, 328, 1171, 377, 892, -1, - 32, 328, 1171, 140, 892, -1, 99, 400, 1171, 91, - 1177, 328, 1170, 851, -1, 32, 400, 1171, 377, 742, - -1, 32, 400, 1171, 91, 1177, -1, 32, 400, 1171, - 339, 328, 851, -1, 32, 400, 1171, 26, 328, 1170, - 851, -1, 32, 400, 1171, 140, 328, 1170, 851, -1, - 32, 400, 1171, 377, 328, 1170, 851, -1, 32, 400, - 1171, 143, -1, 32, 400, 1171, 133, -1, 32, 400, - 1171, 384, 742, -1, 140, 400, 1171, 561, -1, 140, - 400, 192, 155, 1171, 561, -1, 99, 823, 362, 1171, - 39, 288, 902, 418, 1169, 1066, 136, 903, 898, -1, - 274, -1, 900, -1, 502, 899, 503, -1, 899, 505, - 901, -1, 901, -1, 996, -1, 963, -1, 979, -1, - 972, -1, 904, -1, 900, -1, -1, 370, -1, 440, - -1, 125, -1, 212, -1, 213, -1, 31, -1, -1, - 275, 1186, 905, -1, 506, 1177, -1, -1, 237, 1186, - -1, 437, 1186, -1, 437, 495, -1, 22, 910, 914, - -1, 391, 420, 913, -1, 85, 910, 914, -1, 356, - 910, 914, -1, 363, 1186, -1, 342, 363, 1186, -1, - 342, 1186, -1, 356, 910, 418, 363, 1186, -1, 356, - 910, 418, 1186, -1, 319, 420, 1177, -1, 85, 320, - 1177, -1, 356, 320, 1177, -1, 52, 910, 913, -1, - 146, 910, 914, -1, 464, -1, 420, -1, -1, 222, - 234, 539, -1, 331, 289, -1, 331, 466, -1, 122, - -1, 273, 122, -1, 911, -1, 912, 506, 911, -1, - 912, 911, -1, 912, -1, -1, 36, 69, -1, 36, - 269, 69, -1, -1, 99, 594, 454, 1169, 617, 566, - 39, 996, 916, -1, 99, 293, 345, 594, 454, 1169, - 617, 566, 39, 996, 916, -1, 99, 594, 335, 454, - 1169, 502, 618, 503, 566, 39, 996, 916, -1, 99, - 293, 345, 594, 335, 454, 1169, 502, 618, 503, 566, - 39, 996, 916, -1, 461, 73, 291, -1, 461, 65, - 73, 291, -1, 461, 239, 73, 291, -1, -1, 238, - 1173, -1, 99, 114, 1171, 515, 919, -1, 920, -1, - -1, 921, -1, 920, 921, -1, 922, 923, 658, -1, - 922, 923, 540, -1, 922, 923, 120, -1, 3, -1, - 91, 236, -1, 144, -1, 242, -1, 304, -1, 409, - -1, 411, -1, 492, -1, -1, 32, 114, 1171, 461, - 919, -1, 32, 114, 1171, 919, -1, 32, 114, 1171, - 377, 409, 1171, -1, 32, 114, 1171, 339, 80, 453, - -1, 32, 114, 1171, 547, -1, 140, 114, 1171, -1, - 140, 114, 192, 155, 1171, -1, 140, 114, 1171, 515, - 502, 927, 503, -1, 140, 114, 192, 155, 1171, 515, - 502, 927, 503, -1, 928, -1, 927, 506, 928, -1, - 170, -1, 32, 80, 774, 339, 453, -1, 32, 405, - 377, 534, -1, 32, 405, 347, 546, -1, 99, 138, - 774, 933, 1078, 605, -1, 32, 138, 774, 560, -1, - 32, 138, 774, 140, 273, 278, -1, 32, 138, 774, - 377, 273, 278, -1, 32, 138, 774, 26, 614, -1, - 32, 138, 774, 140, 92, 1171, 561, -1, 32, 138, - 774, 140, 92, 192, 155, 1171, 561, -1, 32, 138, - 774, 445, 92, 1171, -1, 39, -1, -1, 32, 413, - 367, 132, 774, 742, -1, 32, 413, 367, 89, 774, - 26, 246, 169, 1170, 936, 773, -1, 32, 413, 367, - 89, 774, 32, 246, 169, 1170, 936, 773, -1, 32, - 413, 367, 89, 774, 32, 246, 345, 774, 936, 774, - -1, 32, 413, 367, 89, 774, 32, 246, 169, 1170, - 345, 774, 936, 774, -1, 32, 413, 367, 89, 774, - 140, 246, 169, 1170, -1, 32, 413, 367, 89, 774, - 140, 246, 192, 155, 169, 1170, -1, 461, -1, 484, - -1, 99, 756, 96, 774, 169, 1177, 418, 1177, 174, - 774, -1, 77, 948, 1169, 939, -1, 77, 502, 942, - 503, 1169, 939, -1, 77, 948, -1, 77, 948, 1171, - 288, 1169, -1, 442, 1171, -1, -1, 443, 949, 950, - 948, 947, 954, -1, 443, 502, 942, 503, 954, -1, - 943, 948, 954, -1, 943, 502, 942, 503, 954, -1, - 944, -1, 942, 506, 944, -1, 35, -1, 34, -1, - 945, 946, -1, 1188, -1, 943, -1, 540, -1, 658, - -1, -1, 943, -1, -1, 452, -1, -1, 175, -1, - -1, 173, -1, -1, 502, 1170, 503, -1, -1, 1169, - 951, -1, 952, -1, 953, 506, 952, -1, 953, -1, - -1, 156, 956, -1, 156, 943, 948, 956, -1, 156, - 452, 956, -1, 156, 502, 942, 503, 956, -1, 996, - -1, 963, -1, 979, -1, 972, -1, 984, -1, 992, - -1, 644, -1, 647, -1, 650, -1, 960, -1, 319, - 1171, 958, 39, 959, -1, 502, 1143, 503, -1, -1, - 996, -1, 963, -1, 979, -1, 972, -1, 984, -1, - 154, 1171, 961, -1, 99, 594, 406, 645, 39, 154, - 1171, 961, 646, -1, 99, 594, 406, 192, 273, 155, - 645, 39, 154, 1171, 961, 646, -1, 502, 1139, 503, - -1, -1, 116, 1171, -1, 116, 319, 1171, -1, 116, - 30, -1, 116, 319, 30, -1, 1007, 212, 218, 964, - 965, 969, 971, -1, 1169, -1, 1169, 39, 1186, -1, - 996, -1, 302, 966, 447, 996, -1, 502, 967, 503, - 996, -1, 502, 967, 503, 302, 966, 447, 996, -1, - 120, 448, -1, 441, -1, 405, -1, 968, -1, 967, - 506, 968, -1, 1186, 1163, -1, 288, 90, 970, 136, - 440, 377, 980, 1066, -1, 288, 90, 970, 136, 274, - -1, -1, 502, 813, 503, 1066, -1, 288, 92, 1171, - -1, -1, 351, 1166, -1, -1, 1007, 125, 174, 1058, - 973, 1067, 971, -1, 442, 1045, -1, -1, 243, 1010, - 1057, 975, 977, -1, 198, 976, 255, -1, -1, 24, - 380, -1, 360, 380, -1, 360, 153, -1, 380, 440, - 153, -1, 380, -1, 380, 360, 153, -1, 153, -1, - 24, 153, -1, 277, -1, -1, 277, -1, 384, 244, - -1, -1, 1007, 440, 1058, 377, 980, 1044, 1067, 971, - -1, 981, -1, 980, 506, 981, -1, 982, 492, 1101, - -1, 502, 983, 503, 492, 1101, -1, 1186, 1163, -1, - 982, -1, 983, 506, 982, -1, 1007, 251, 218, 1058, - 442, 1046, 288, 1101, 985, -1, 986, -1, 985, 986, - -1, 457, 248, 987, 414, 988, -1, 457, 248, 987, - 414, 989, -1, 457, 273, 248, 987, 414, 990, -1, - 457, 248, 987, 414, 136, 274, -1, 457, 273, 248, - 987, 414, 136, 274, -1, 36, 1101, -1, -1, 440, - 377, 980, -1, 125, -1, 212, 991, -1, 212, 302, - 966, 447, 991, -1, 212, 502, 967, 503, 991, -1, - 212, 502, 967, 503, 302, 966, 447, 991, -1, 212, - 120, 448, -1, 448, 502, 1139, 503, -1, 119, 993, - 994, 111, 995, 169, 996, -1, 1171, -1, -1, 994, - 269, 366, -1, 994, 366, -1, 994, 55, -1, 994, - 41, -1, 994, 211, -1, -1, 461, 189, -1, 463, - 189, -1, 998, -1, 997, -1, 502, 998, 503, -1, - 502, 997, 503, -1, 1000, -1, 999, 1016, -1, 999, - 1015, 1037, 1020, -1, 999, 1015, 1019, 1038, -1, 1001, - 999, -1, 1001, 999, 1016, -1, 1001, 999, 1015, 1037, - 1020, -1, 1001, 999, 1015, 1019, 1038, -1, 1000, -1, - 997, -1, 370, 1013, 1165, 1008, 1044, 1066, 1029, 1036, - 1119, -1, 370, 1012, 1166, 1008, 1044, 1066, 1029, 1036, - 1119, -1, 1043, -1, 406, 1055, -1, 999, 434, 1011, - 999, -1, 999, 216, 1011, 999, -1, 999, 150, 1011, - 999, -1, 461, 1002, -1, 484, 1002, -1, 461, 335, - 1002, -1, 1003, -1, 1002, 506, 1003, -1, 1171, 951, - 39, 1004, 502, 959, 503, 1005, 1006, -1, 249, -1, - 273, 249, -1, -1, 367, 129, 166, 60, 618, 377, - 1186, -1, 367, 59, 166, 60, 618, 377, 1186, -1, - -1, 112, 618, 377, 1186, 418, 1175, 120, 1175, 442, - 1186, -1, 112, 618, 377, 1186, 442, 1186, -1, -1, - 1001, -1, -1, 218, 1009, -1, -1, 412, 1010, 1169, - -1, 410, 1010, 1169, -1, 239, 412, 1010, 1169, -1, - 239, 410, 1010, 1169, -1, 179, 412, 1010, 1169, -1, - 179, 410, 1010, 1169, -1, 438, 1010, 1169, -1, 406, - 1169, -1, 1169, -1, 406, -1, -1, 30, -1, 135, - -1, -1, 135, -1, 135, 288, 502, 1139, 503, -1, - 30, -1, -1, 1012, -1, 1013, -1, 1016, -1, -1, - 294, 60, 1017, -1, 1018, -1, 1017, 506, 1018, -1, - 1101, 442, 1137, 821, -1, 1101, 820, 821, -1, 1021, - 1022, -1, 1022, 1021, -1, 1021, -1, 1022, -1, 1019, - -1, -1, 236, 1023, -1, 236, 1023, 506, 1024, -1, - 163, 1028, 1025, 1027, 289, -1, 163, 1028, 1025, 1027, - 461, 415, -1, 163, 1028, 1027, 289, -1, 163, 1028, - 1027, 461, 415, -1, 285, 1024, -1, 285, 1025, 1027, - -1, 1101, -1, 30, -1, 1101, -1, 1103, -1, 493, - 1026, -1, 494, 1026, -1, 1176, -1, 5, -1, 360, - -1, 361, -1, 166, -1, 264, -1, 183, 60, 1011, - 1030, -1, -1, 1031, -1, 1030, 506, 1031, -1, 1101, - -1, 1032, -1, 1034, -1, 1033, -1, 1035, -1, 502, - 503, -1, 357, 502, 1139, 503, -1, 102, 502, 1139, - 503, -1, 184, 378, 502, 1030, 503, -1, 187, 1101, - -1, -1, 1039, -1, 169, 331, 289, -1, 1037, -1, - -1, 1040, -1, 1039, 1040, -1, 1041, 1042, 978, -1, - 169, 440, -1, 169, 269, 224, 440, -1, 169, 380, - -1, 169, 224, 380, -1, 283, 1168, -1, -1, 448, - 502, 1139, 503, -1, 1043, 506, 502, 1139, 503, -1, - 174, 1045, -1, -1, 1046, -1, 1045, 506, 1046, -1, - 1055, 1049, -1, 1055, 1049, 1059, -1, 1061, 1051, -1, - 229, 1061, 1051, -1, 1071, 1049, -1, 229, 1071, 1049, - -1, 997, 1049, -1, 229, 997, 1049, -1, 1047, -1, - 502, 1047, 503, 1048, -1, 502, 1047, 503, -1, 1046, - 100, 223, 1046, -1, 1046, 1052, 223, 1046, 1054, -1, - 1046, 223, 1046, 1054, -1, 1046, 261, 1052, 223, 1046, - -1, 1046, 261, 223, 1046, -1, 39, 1186, 502, 1170, - 503, -1, 39, 1186, -1, 1186, 502, 1170, 503, -1, - 1186, -1, 1048, -1, -1, 39, 1186, -1, -1, 1048, - -1, 39, 502, 1069, 503, -1, 39, 1186, 502, 1069, - 503, -1, 1186, 502, 1069, 503, -1, -1, 175, 1053, - -1, 233, 1053, -1, 354, 1053, -1, 208, -1, 298, - -1, -1, 442, 502, 1170, 503, 1050, -1, 288, 1101, - -1, 1169, -1, 1056, -1, 1169, 495, -1, 289, 1169, - -1, 289, 502, 1169, 503, -1, 1055, -1, 1057, 506, - 1055, -1, 1055, -1, 1055, 1186, -1, 1055, 39, 1186, - -1, 408, 1174, 502, 1139, 503, 1060, -1, 344, 502, - 1101, 503, -1, -1, 1106, 1065, -1, 361, 174, 502, - 1063, 503, 1065, -1, 1106, 1064, -1, 1062, -1, 1063, - 506, 1062, -1, 39, 502, 1069, 503, -1, -1, 484, - 295, -1, -1, 458, 1101, -1, -1, 458, 1101, -1, - 458, 103, 283, 993, -1, -1, 1069, -1, -1, 1070, - -1, 1069, 506, 1070, -1, 1186, 1078, 562, -1, 478, - 502, 1103, 1115, 82, 1072, 503, -1, 478, 502, 473, - 502, 1076, 503, 506, 1103, 1115, 82, 1072, 503, -1, - 1073, -1, 1072, 506, 1073, -1, 1186, 1078, -1, 1186, - 1078, 1074, -1, 1186, 169, 295, -1, 1075, -1, 1074, - 1075, -1, 3, 1102, -1, 120, 1102, -1, 273, 278, - -1, 278, -1, 1077, -1, 1076, 506, 1077, -1, 1102, - 39, 1189, -1, 120, 1102, -1, 1080, 1079, -1, 379, - 1080, 1079, -1, 1080, 38, 500, 1176, 501, -1, 379, - 1080, 38, 500, 1176, 501, -1, 1080, 38, -1, 379, - 1080, 38, -1, 1079, 500, 501, -1, 1079, 500, 1176, - 501, -1, -1, 1082, -1, 1084, -1, 1086, -1, 1090, - -1, 1096, -1, 1097, 1099, -1, 1097, 502, 1176, 503, - -1, 1084, -1, 1087, -1, 1091, -1, 1096, -1, 1187, - 1083, -1, 1187, 775, 1083, -1, 502, 1139, 503, -1, - -1, 214, -1, 215, -1, 385, -1, 54, -1, 332, - -1, 167, 1085, -1, 139, 317, -1, 118, 1083, -1, - 117, 1083, -1, 281, 1083, -1, 57, -1, 502, 1176, - 503, -1, -1, 1088, -1, 1089, -1, 1088, -1, 1089, - -1, 56, 1095, 502, 1139, 503, -1, 56, 1095, -1, - 1092, -1, 1093, -1, 1092, -1, 1093, -1, 1094, 502, - 1176, 503, -1, 1094, -1, 71, 1095, -1, 70, 1095, - -1, 449, -1, 260, 71, 1095, -1, 260, 70, 1095, - -1, 262, 1095, -1, 451, -1, -1, 417, 502, 1176, - 503, 1098, -1, 417, 1098, -1, 416, 502, 1176, 503, - 1098, -1, 416, 1098, -1, 217, -1, 484, 416, 481, - -1, 463, 416, 481, -1, -1, 479, -1, 256, -1, - 115, -1, 190, -1, 253, -1, 1100, -1, 479, 418, - 256, -1, 115, 418, 190, -1, 115, 418, 253, -1, - 115, 418, 1100, -1, 190, 418, 253, -1, 190, 418, - 1100, -1, 253, 418, 1100, -1, -1, 368, -1, 368, - 502, 1176, 503, -1, 1103, -1, 1101, 13, 1078, -1, - 1101, 79, 774, -1, 1101, 46, 416, 481, 1101, -1, - 493, 1101, -1, 494, 1101, -1, 1101, 493, 1101, -1, - 1101, 494, 1101, -1, 1101, 495, 1101, -1, 1101, 496, - 1101, -1, 1101, 497, 1101, -1, 1101, 498, 1101, -1, - 1101, 490, 1101, -1, 1101, 491, 1101, -1, 1101, 492, - 1101, -1, 1101, 17, 1101, -1, 1101, 18, 1101, -1, - 1101, 19, 1101, -1, 1101, 1136, 1101, -1, 1136, 1101, - -1, 1101, 36, 1101, -1, 1101, 293, 1101, -1, 273, - 1101, -1, 482, 1101, -1, 1101, 235, 1101, -1, 1101, - 235, 1101, 148, 1101, -1, 1101, 482, 235, 1101, -1, - 1101, 482, 235, 1101, 148, 1101, -1, 1101, 193, 1101, - -1, 1101, 193, 1101, 148, 1101, -1, 1101, 482, 193, - 1101, -1, 1101, 482, 193, 1101, 148, 1101, -1, 1101, - 382, 418, 1101, -1, 1101, 382, 418, 1101, 148, 1101, - -1, 1101, 482, 382, 418, 1101, -1, 1101, 482, 382, - 418, 1101, 148, 1101, -1, 1101, 220, 278, -1, 1101, - 221, -1, 1101, 220, 273, 278, -1, 1101, 276, -1, - 1130, 300, 1130, -1, 1101, 220, 425, -1, 1101, 220, - 273, 425, -1, 1101, 220, 161, -1, 1101, 220, 273, - 161, -1, 1101, 220, 436, -1, 1101, 220, 273, 436, - -1, 1101, 220, 135, 174, 1101, -1, 1101, 220, 273, - 135, 174, 1101, -1, 1101, 53, 1164, 1102, 36, 1101, - -1, 1101, 482, 53, 1164, 1102, 36, 1101, -1, 1101, - 53, 403, 1102, 36, 1101, -1, 1101, 482, 53, 403, - 1102, 36, 1101, -1, 1101, 198, 1153, -1, 1101, 482, - 198, 1153, -1, 1101, 1138, 1133, 997, -1, 1101, 1138, - 1133, 502, 1101, 503, -1, 435, 608, 997, -1, 1101, - 220, 137, -1, 1101, 220, 273, 137, -1, 1101, 220, - 272, -1, 1101, 220, 1148, 272, -1, 1101, 220, 273, - 272, -1, 1101, 220, 273, 1148, 272, -1, 120, -1, - 1103, -1, 1102, 13, 1078, -1, 493, 1102, -1, 494, - 1102, -1, 1102, 493, 1102, -1, 1102, 494, 1102, -1, - 1102, 495, 1102, -1, 1102, 496, 1102, -1, 1102, 497, - 1102, -1, 1102, 498, 1102, -1, 1102, 490, 1102, -1, - 1102, 491, 1102, -1, 1102, 492, 1102, -1, 1102, 17, - 1102, -1, 1102, 18, 1102, -1, 1102, 19, 1102, -1, - 1102, 1136, 1102, -1, 1136, 1102, -1, 1102, 220, 135, - 174, 1102, -1, 1102, 220, 273, 135, 174, 1102, -1, - 1102, 220, 137, -1, 1102, 220, 273, 137, -1, 1159, - -1, 1175, -1, 12, 1163, -1, 502, 1101, 503, 1163, - -1, 1154, -1, 1105, -1, 997, -1, 997, 1162, -1, - 155, 997, -1, 38, 997, -1, 38, 1144, -1, 1131, - -1, 1132, -1, 184, 502, 1139, 503, -1, 1174, 502, - 503, -1, 1174, 502, 1140, 1015, 503, -1, 1174, 502, - 450, 1141, 1015, 503, -1, 1174, 502, 1140, 506, 450, - 1141, 1015, 503, -1, 1174, 502, 30, 1140, 1015, 503, - -1, 1174, 502, 135, 1140, 1015, 503, -1, 1174, 502, - 495, 503, -1, 1104, 1117, 1118, 1122, -1, 1107, -1, - 1104, -1, 1107, -1, 80, 169, 502, 1101, 503, -1, - 105, -1, 108, -1, 108, 502, 1176, 503, -1, 109, - -1, 109, 502, 1176, 503, -1, 240, -1, 240, 502, - 1176, 503, -1, 241, -1, 241, 502, 1176, 503, -1, - 106, -1, 110, -1, 376, -1, 441, -1, 104, -1, - 107, -1, 67, 502, 1101, 39, 1078, 503, -1, 160, - 502, 1146, 503, -1, 271, 502, 1101, 503, -1, 271, - 502, 1101, 506, 1148, 503, -1, 301, 502, 1149, 503, - -1, 301, 502, 1142, 503, -1, 315, 502, 1150, 503, - -1, 401, 502, 1151, 503, -1, 401, 502, 1142, 503, - -1, 422, 502, 1101, 39, 1078, 503, -1, 424, 502, - 58, 1152, 503, -1, 424, 502, 230, 1152, 503, -1, - 424, 502, 419, 1152, 503, -1, 424, 502, 1152, 503, - -1, 279, 502, 1101, 506, 1101, 503, -1, 78, 502, - 1139, 503, -1, 182, 502, 1139, 503, -1, 232, 502, - 1139, 503, -1, 469, 502, 1139, 503, -1, 470, 502, - 258, 1189, 503, -1, 470, 502, 258, 1189, 506, 1110, - 503, -1, 470, 502, 258, 1189, 506, 1139, 503, -1, - 470, 502, 258, 1189, 506, 1110, 506, 1139, 503, -1, - 471, 502, 1103, 1115, 503, -1, 472, 502, 1111, 503, - -1, 474, 502, 1113, 1101, 1114, 503, -1, 475, 502, - 258, 1189, 503, -1, 475, 502, 258, 1189, 506, 1101, - 503, -1, 476, 502, 1101, 506, 1108, 1109, 503, -1, - 477, 502, 1113, 1101, 39, 1080, 503, -1, 453, 1101, - -1, 453, 269, 447, -1, 506, 390, 480, -1, 506, - 390, 269, -1, 506, 390, 269, 447, -1, -1, 468, - 502, 1111, 503, -1, 1112, -1, 1111, 506, 1112, -1, - 1101, 39, 1189, -1, 1101, -1, 137, -1, 94, -1, - 318, 459, -1, 399, 459, -1, -1, 310, 1103, -1, - 310, 1103, 1116, -1, 310, 1116, 1103, -1, 310, 1116, - 1103, 1116, -1, 60, 336, -1, 60, 447, -1, 462, - 183, 502, 1016, 503, -1, -1, 164, 502, 458, 1101, - 503, -1, -1, 460, 1120, -1, -1, 1121, -1, 1120, - 506, 1121, -1, 1186, 39, 1123, -1, 299, 1123, -1, - 299, 1186, -1, -1, 502, 1124, 1125, 1015, 1126, 503, - -1, 1186, -1, -1, 309, 60, 1139, -1, -1, 330, - 1127, 1129, -1, 361, 1127, 1129, -1, 185, 1127, 1129, - -1, -1, 1128, -1, 53, 1128, 36, 1128, -1, 431, - 316, -1, 431, 168, -1, 103, 360, -1, 1101, 316, - -1, 1101, 168, -1, 151, 103, 360, -1, 151, 183, - -1, 151, 415, -1, 151, 269, 296, -1, -1, 360, - 502, 1139, 503, -1, 360, 502, 503, -1, 502, 1139, - 506, 1101, 503, -1, 360, 502, 1139, 503, -1, 360, - 502, 503, -1, 502, 1139, 506, 1101, 503, -1, 37, - -1, 387, -1, 30, -1, 10, -1, 1135, -1, 493, - -1, 494, -1, 495, -1, 496, -1, 497, -1, 498, - -1, 490, -1, 491, -1, 492, -1, 17, -1, 18, - -1, 19, -1, 10, -1, 290, 502, 861, 503, -1, - 1134, -1, 290, 502, 861, 503, -1, 1134, -1, 290, - 502, 861, 503, -1, 235, -1, 482, 235, -1, 193, - -1, 482, 193, -1, 1101, -1, 1139, 506, 1101, -1, - 1141, -1, 1140, 506, 1141, -1, 1101, -1, 832, 15, - 1101, -1, 832, 16, 1101, -1, 1140, -1, -1, 1078, - -1, 1143, 506, 1078, -1, 500, 1139, 501, -1, 500, - 1145, 501, -1, 500, 501, -1, 1144, -1, 1145, 506, - 1144, -1, 1147, 174, 1101, -1, 12, 174, 1101, -1, - 3, -1, 479, -1, 256, -1, 115, -1, 190, -1, - 253, -1, 368, -1, 1177, -1, 265, -1, 266, -1, - 267, -1, 268, -1, 1101, 312, 1101, 174, 1101, 169, - 1101, -1, 1101, 312, 1101, 174, 1101, -1, 1102, 198, - 1102, -1, 1101, 174, 1101, 169, 1101, -1, 1101, 169, - 1101, 174, 1101, -1, 1101, 174, 1101, -1, 1101, 169, - 1101, -1, 1101, 382, 1101, 148, 1101, -1, 1101, 174, - 1139, -1, 174, 1139, -1, 1139, -1, 997, -1, 502, - 1139, 503, -1, 66, 1158, 1155, 1157, 146, -1, 1156, - -1, 1155, 1156, -1, 457, 1101, 414, 1101, -1, 142, - 1101, -1, -1, 1101, -1, -1, 1186, -1, 1186, 1162, - -1, 504, 1172, -1, 504, 495, -1, 500, 1101, 501, - -1, 500, 1161, 507, 1161, 501, -1, 1101, -1, -1, - 1160, -1, 1162, 1160, -1, -1, 1163, 1160, -1, 44, - -1, -1, 1166, -1, -1, 1167, -1, 1166, 506, 1167, - -1, 1101, 39, 1189, -1, 1101, 1190, -1, 1101, -1, - 495, -1, 1169, -1, 1168, 506, 1169, -1, 1186, -1, - 1186, 1162, -1, 1171, -1, 1170, 506, 1171, -1, 1186, - -1, 1189, -1, 1177, -1, 1187, -1, 1186, 1162, -1, - 1176, -1, 5, -1, 1177, -1, 8, -1, 9, -1, - 1174, 1177, -1, 1174, 502, 1140, 1015, 503, 1177, -1, - 1174, 12, -1, 1174, 502, 1140, 1015, 503, 12, -1, - 1081, 1177, -1, 1097, 1177, 1099, -1, 1097, 502, 1176, - 503, 1177, -1, 1081, 12, -1, 1097, 12, 1099, -1, - 1097, 502, 1176, 503, 12, -1, 425, -1, 161, -1, - 278, -1, 11, -1, 6, -1, 1176, -1, 493, 1176, - -1, 494, 1176, -1, 1180, -1, 1188, -1, 106, -1, - 110, -1, 376, -1, 1180, -1, 1181, 506, 1180, -1, - 1014, 1165, 1044, 1066, 1029, 1036, 1119, 1015, 1020, 1038, - -1, 1184, 1163, 1185, 1182, -1, 1186, -1, 12, -1, - 15, -1, 492, -1, 3, -1, 1191, -1, 1192, -1, - 3, -1, 1191, -1, 1193, -1, 3, -1, 1191, -1, - 1192, -1, 1193, -1, 3, -1, 1191, -1, 1192, -1, - 1193, -1, 1194, -1, 3, -1, 1195, -1, 22, -1, - 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, - 28, -1, 29, -1, 31, -1, 32, -1, 33, -1, - 41, -1, 42, -1, 43, -1, 46, -1, 45, -1, - 47, -1, 48, -1, 50, -1, 51, -1, 52, -1, - 59, -1, 60, -1, 61, -1, 62, -1, 63, -1, - 64, -1, 65, -1, 68, -1, 69, -1, 72, -1, - 74, -1, 75, -1, 76, -1, 77, -1, 82, -1, - 83, -1, 84, -1, 85, -1, 86, -1, 87, -1, - 89, -1, 90, -1, 91, -1, 93, -1, 94, -1, - 95, -1, 96, -1, 97, -1, 98, -1, 101, -1, - 102, -1, 103, -1, 111, -1, 112, -1, 113, -1, - 114, -1, 115, -1, 116, -1, 119, -1, 121, -1, - 123, -1, 124, -1, 125, -1, 126, -1, 127, -1, - 128, -1, 129, -1, 131, -1, 132, -1, 133, -1, - 134, -1, 137, -1, 138, -1, 139, -1, 140, -1, - 141, -1, 143, -1, 144, -1, 145, -1, 147, -1, - 148, -1, 149, -1, 151, -1, 152, -1, 153, -1, - 154, -1, 156, -1, 157, -1, 158, -1, 159, -1, - 162, -1, 164, -1, 165, -1, 166, -1, 168, -1, - 170, -1, 172, -1, 176, -1, 177, -1, 178, -1, - 179, -1, 181, -1, 185, -1, 186, -1, 188, -1, - 189, -1, 190, -1, 191, -1, 192, -1, 194, -1, - 195, -1, 196, -1, 197, -1, 199, -1, 200, -1, + 542, 0, -1, 543, -1, 518, 1127, -1, 519, 1255, + -1, 520, 1256, -1, 521, 1256, -1, 522, 1256, -1, + 543, 538, 544, -1, 544, -1, 545, -1, 950, -1, + 779, -1, 970, -1, 965, -1, 966, -1, 846, -1, + 973, -1, 792, -1, 714, -1, 717, -1, 722, -1, + 735, -1, 894, -1, 563, -1, 922, -1, 924, -1, + 930, -1, 925, -1, 929, -1, 745, -1, 693, -1, + 971, -1, 591, -1, 918, -1, 611, -1, 934, -1, + 560, -1, 558, -1, 936, -1, 684, -1, 976, -1, + 975, -1, 743, -1, 982, -1, 550, -1, 589, -1, + 614, -1, 979, -1, 820, -1, 586, -1, 615, -1, + 753, -1, 685, -1, 781, -1, 907, -1, 978, -1, + 972, -1, 711, -1, 718, -1, 731, -1, 736, -1, + 862, -1, 562, -1, 688, -1, 794, -1, 801, -1, + 931, -1, 802, -1, 744, -1, 701, -1, 565, -1, + 692, -1, 630, -1, 935, -1, 681, -1, 708, -1, + 911, -1, 755, -1, 775, -1, 551, -1, 557, -1, + 740, -1, 959, -1, 1003, -1, 1035, -1, 782, -1, + 1013, -1, 590, -1, 904, -1, 909, -1, 805, -1, + 806, -1, 807, -1, 809, -1, 937, -1, 710, -1, + 913, -1, 561, -1, 742, -1, 967, -1, 1001, -1, + 996, -1, 825, -1, 829, -1, 840, -1, 737, -1, + 851, -1, 1004, -1, 947, -1, 691, -1, 958, -1, + 1015, -1, 1025, -1, 945, -1, 998, -1, 808, -1, + 914, -1, 898, -1, 897, -1, 899, -1, 919, -1, + 830, -1, 841, -1, 938, -1, 822, -1, 1039, -1, + 949, -1, 818, -1, 948, -1, 1020, -1, 981, -1, + 580, -1, 568, -1, 585, -1, 956, -1, -1, 1259, + -1, -1, 815, -1, -1, 89, -1, -1, 65, -1, + 374, -1, -1, 63, 1154, -1, 101, 380, 1252, 552, + 553, -1, 492, -1, 516, -1, -1, 553, 556, -1, + -1, 554, 555, -1, -1, 333, 1250, -1, 333, 12, + -1, 333, 299, -1, 148, 333, 1250, -1, 148, 333, + 12, -1, 464, 333, 1250, -1, 210, -1, 93, 255, + 1251, -1, 475, 470, 1250, -1, 472, 1254, -1, 3, + -1, 555, -1, 432, 1249, -1, 28, 1254, -1, 380, + 1254, -1, 203, 380, 1254, -1, 203, 188, 1254, -1, + 101, 472, 1252, 552, 553, -1, 33, 380, 1253, 552, + 554, -1, 33, 472, 1253, 552, 554, -1, -1, 203, + 116, 1244, -1, 33, 380, 1253, 559, 583, -1, 33, + 380, 31, 559, 583, -1, 33, 472, 1253, 559, 583, + -1, 33, 472, 31, 559, 583, -1, 142, 380, 1254, + -1, 142, 380, 197, 159, 1254, -1, 142, 472, 1254, + -1, 142, 472, 197, 159, 1254, -1, 142, 188, 1254, + -1, 142, 188, 197, 159, 1254, -1, 101, 188, 1252, + 552, 553, -1, 33, 188, 1253, 564, 472, 1254, -1, + 27, -1, 142, -1, 101, 390, 546, 50, 1253, 566, + -1, 101, 390, 1259, 566, -1, 101, 390, 197, 294, + 159, 546, 50, 1253, 566, -1, 101, 390, 197, 294, + 159, 1259, 566, -1, 566, 567, -1, -1, 630, -1, + 851, -1, 692, -1, 755, -1, 829, -1, 956, -1, + 403, 569, -1, 403, 258, 569, -1, 403, 401, 569, + -1, 450, 953, -1, 401, 73, 40, 450, 953, -1, + 571, -1, 572, 448, 573, -1, 572, 525, 573, -1, + 572, 448, 122, -1, 572, 525, 122, -1, 570, -1, + 572, 179, 105, -1, 446, 512, 577, -1, 69, 1250, + -1, 390, 1250, -1, 390, 12, -1, 279, 578, -1, + 380, 579, -1, 380, 12, -1, 401, 50, 579, -1, + 401, 50, 12, -1, 401, 50, 122, -1, 498, 313, + 1163, -1, 450, 412, 1250, -1, 1259, -1, 572, 537, + 1259, -1, 574, -1, 573, 539, 574, -1, 576, -1, + 699, -1, 12, -1, 356, 463, -1, 356, 87, -1, + 369, 356, -1, 399, -1, 455, -1, 165, -1, 310, + -1, 579, -1, 1250, -1, 12, -1, 3, -1, 1146, + 1250, 1148, -1, 1146, 535, 1249, 536, 1250, -1, 699, + -1, 122, -1, 258, -1, 1250, -1, 122, -1, -1, + 1261, -1, 1250, -1, 372, 581, -1, 582, -1, 446, + 512, -1, 450, 228, 253, -1, 401, 50, -1, 572, + -1, 31, -1, 403, 569, -1, 580, -1, 403, 571, + -1, 580, -1, 407, 572, -1, 407, 446, 512, -1, + 407, 450, 228, 253, -1, 407, 401, 50, -1, 407, + 31, -1, 403, 95, 587, 588, -1, 31, -1, 1241, + -1, 125, -1, 199, -1, 75, -1, 136, 31, -1, + 136, 440, -1, 136, 442, -1, 136, 337, -1, 136, + 398, -1, 33, 435, 1098, 592, -1, 33, 435, 197, + 159, 1098, 592, -1, 33, 435, 1098, 593, -1, 33, + 435, 197, 159, 1098, 593, -1, 33, 435, 31, 203, + 438, 1244, 403, 438, 1244, 1018, -1, 33, 435, 31, + 203, 438, 1244, 325, 61, 1254, 403, 438, 1244, 1018, + -1, 33, 208, 1242, 592, -1, 33, 208, 197, 159, + 1242, 592, -1, 33, 208, 1242, 594, -1, 33, 208, + 31, 203, 438, 1244, 403, 438, 1244, 1018, -1, 33, + 208, 31, 203, 438, 1244, 325, 61, 1254, 403, 438, + 1244, 1018, -1, 33, 397, 1242, 592, -1, 33, 397, + 197, 159, 1242, 592, -1, 33, 485, 1242, 592, -1, + 33, 485, 197, 159, 1242, 592, -1, 33, 268, 485, + 1242, 592, -1, 33, 268, 485, 197, 159, 1242, 592, + -1, 33, 268, 485, 31, 203, 438, 1244, 403, 438, + 1244, 1018, -1, 33, 268, 485, 31, 203, 438, 1244, + 325, 61, 1254, 403, 438, 1244, 1018, -1, 33, 175, + 435, 1098, 592, -1, 33, 175, 435, 197, 159, 1098, + 592, -1, 595, -1, 592, 539, 595, -1, 48, 331, + 1242, 608, -1, 133, 331, 1242, 548, -1, 133, 331, + 1242, 169, -1, 48, 331, 1242, -1, 27, 638, -1, + 27, 197, 294, 159, 638, -1, 27, 82, 638, -1, + 27, 82, 197, 294, 159, 638, -1, 33, 920, 1259, + 596, -1, 33, 920, 1259, 142, 294, 299, -1, 33, + 920, 1259, 403, 294, 299, -1, 33, 920, 1259, 403, + 161, 40, 535, 1151, 536, -1, 33, 920, 1259, 142, + 161, -1, 33, 920, 1259, 142, 161, 197, 159, -1, + 33, 920, 1259, 403, 420, 606, -1, 33, 920, 1249, + 403, 420, 606, -1, 33, 920, 1259, 403, 600, -1, + 33, 920, 1259, 372, 600, -1, 33, 920, 1259, 403, + 642, -1, 33, 920, 1259, 403, 640, -1, 33, 920, + 1259, 27, 183, 648, 40, 196, 695, -1, 33, 920, + 1259, 604, -1, 33, 920, 1259, 142, 196, -1, 33, + 920, 1259, 142, 196, 197, 159, -1, 142, 920, 197, + 159, 1259, 549, -1, 142, 920, 1259, 549, -1, 33, + 920, 1259, 921, 458, 1127, 597, 598, -1, 33, 920, + 1259, 725, -1, 27, 653, -1, 33, 94, 1244, 773, + -1, 476, 94, 1244, -1, 142, 94, 197, 159, 1244, + 549, -1, 142, 94, 1244, 549, -1, 403, 494, 307, + -1, 78, 310, 1244, -1, 403, 494, 78, -1, 403, + 264, -1, 403, 469, -1, 146, 453, 1244, -1, 146, + 34, 453, 1244, -1, 146, 371, 453, 1244, -1, 146, + 453, 31, -1, 146, 453, 472, -1, 135, 453, 1244, + -1, 135, 453, 31, -1, 135, 453, 472, -1, 146, + 387, 1244, -1, 146, 34, 387, 1244, -1, 146, 371, + 387, 1244, -1, 135, 387, 1244, -1, 210, 1242, -1, + 290, 210, 1242, -1, 304, 815, -1, 294, 304, -1, + 326, 448, 1253, -1, 403, 25, 272, 607, -1, 403, + 438, 1244, -1, 403, 600, -1, 372, 600, -1, 371, + 196, 599, -1, 146, 385, 253, 395, -1, 135, 385, + 253, 395, -1, 174, 385, 253, 395, -1, 290, 174, + 385, 253, 395, -1, 725, -1, 403, 122, 1151, -1, + 142, 122, -1, 80, 815, -1, -1, 473, 1151, -1, + -1, 295, -1, 180, -1, 122, -1, 473, 208, 1244, + -1, 535, 602, 536, -1, 492, 600, -1, -1, 603, + -1, 602, 539, 603, -1, 1262, 525, 786, -1, 1262, + -1, 1262, 537, 1262, 525, 786, -1, 1262, 537, 1262, + -1, 605, -1, 604, 605, -1, 373, -1, 373, 552, + 699, -1, 403, 697, -1, 403, 183, 648, -1, 1251, + -1, 122, -1, 1259, -1, 122, -1, 173, 479, 492, + 535, 610, 536, -1, 173, 479, 203, 535, 1190, 536, + -1, 173, 479, 179, 535, 1190, 536, 448, 535, 1190, + 536, -1, 122, -1, 1261, 1249, -1, 609, -1, 610, + 539, 609, -1, 33, 458, 815, 612, -1, 613, -1, + 612, 539, 613, -1, 27, 49, 1113, 549, -1, 142, + 49, 197, 159, 1259, 549, -1, 142, 49, 1259, 549, + -1, 33, 49, 1259, 921, 458, 1127, 597, 549, -1, + 77, 1036, -1, 77, 31, -1, 99, 622, 1242, 658, + 616, 617, 618, 623, 552, 619, 1109, -1, 99, 535, + 1000, 536, 448, 617, 618, 552, 619, -1, 179, -1, + 448, -1, 351, -1, -1, 1250, -1, 421, -1, 422, + -1, 620, -1, 535, 625, 536, -1, 620, 621, -1, + -1, 56, -1, 178, -1, 128, 974, 1250, -1, 299, + 974, 1250, -1, 103, -1, 193, -1, 353, 974, 1250, + -1, 152, 974, 1250, -1, 174, 353, 659, -1, 174, + 353, 528, -1, 174, 294, 299, 659, -1, 174, 294, + 299, 528, -1, 174, 299, 659, -1, 174, 299, 528, + -1, 147, 1250, -1, 56, -1, -1, 624, 129, 1250, + -1, -1, 473, -1, -1, 626, -1, 625, 539, 626, + -1, 1262, 627, -1, 576, -1, 699, -1, 528, -1, + 122, -1, 535, 628, 536, -1, -1, 629, -1, 628, + 539, 629, -1, 576, -1, 101, 631, 435, 1242, 535, + 632, 536, 670, 671, 675, 676, 677, 678, -1, 101, + 631, 435, 197, 294, 159, 1242, 535, 632, 536, 670, + 671, 675, 676, 677, 678, -1, 101, 631, 435, 1242, + 304, 815, 633, 671, 675, 676, 677, 678, -1, 101, + 631, 435, 197, 294, 159, 1242, 304, 815, 633, 671, + 675, 676, 677, 678, -1, 101, 631, 435, 1242, 331, + 304, 1242, 633, 608, 671, 675, 676, 677, 678, -1, + 101, 631, 435, 197, 294, 159, 1242, 331, 304, 1242, + 633, 608, 671, 675, 676, 677, 678, -1, 442, -1, + 440, -1, 258, 442, -1, 258, 440, -1, 184, 442, + -1, 184, 440, -1, 469, -1, -1, 634, -1, -1, + 535, 635, 536, -1, -1, 636, -1, 634, 539, 636, + -1, 637, -1, 635, 539, 637, -1, 638, -1, 650, + -1, 653, -1, 639, -1, 653, -1, 1259, 1127, 643, + 641, 723, 644, -1, 1259, 644, -1, 1259, 492, 314, + 644, -1, 88, 1259, -1, 88, 122, -1, 640, -1, + -1, 423, 1259, -1, 423, 122, -1, 642, -1, -1, + 644, 645, -1, -1, 94, 1244, 646, -1, 646, -1, + 649, -1, 80, 815, -1, 294, 299, -1, 299, -1, + 466, 647, 891, 679, -1, 345, 242, 891, 679, -1, + 74, 535, 1151, 536, 657, -1, 122, 1152, -1, 183, + 648, 40, 196, 695, -1, 183, 648, 40, 535, 1151, + 536, 424, -1, 362, 1242, 658, 662, 666, -1, 301, + 137, -1, 301, 294, 137, -1, -1, 34, -1, 61, + 122, -1, 124, -1, 294, 124, -1, 212, 125, -1, + 212, 199, -1, 254, 1242, 651, -1, 651, 205, 652, + -1, 651, 156, 652, -1, -1, 85, -1, 88, -1, + 95, -1, 123, -1, 196, -1, 183, -1, 209, -1, + 420, -1, 423, -1, 31, -1, 94, 1244, 654, -1, + 654, -1, 74, 535, 1151, 536, 773, -1, 466, 647, + 535, 659, 536, 661, 891, 679, 773, -1, 466, 680, + 773, -1, 345, 242, 535, 659, 536, 661, 891, 679, + 773, -1, 345, 242, 680, 773, -1, 155, 853, 535, + 663, 536, 661, 891, 679, 665, 773, -1, 175, 242, + 535, 659, 536, 362, 1242, 658, 662, 666, 773, -1, + 94, 1244, 656, -1, 656, -1, 74, 535, 1151, 536, + 773, -1, 294, 299, 773, -1, 290, 210, -1, -1, + 535, 659, 536, -1, -1, 660, -1, 659, 539, 660, + -1, 1259, -1, 204, 535, 659, 536, -1, -1, 266, + 180, -1, 266, 330, -1, 266, 409, -1, -1, 664, + -1, 663, 539, 664, -1, 856, 492, 901, -1, 856, + 492, 312, 535, 901, 536, -1, 489, 535, 1151, 536, + -1, -1, 667, -1, 668, -1, 667, 668, -1, 668, + 667, -1, -1, 310, 471, 669, -1, 310, 127, 669, + -1, 290, 26, -1, 374, -1, 65, -1, 403, 299, + 658, -1, 403, 122, 658, -1, 211, 535, 1241, 536, + -1, -1, 672, -1, -1, 331, 61, 1259, 535, 673, + 536, -1, 674, -1, 673, 539, 674, -1, 1259, 859, + 547, -1, 1156, 859, 547, -1, 535, 1151, 536, 859, + 547, -1, 473, 1244, -1, -1, 492, 600, -1, 494, + 307, -1, -1, 310, 86, 142, -1, 310, 86, 127, + 386, -1, 310, 86, 342, 386, -1, -1, 438, 1244, + -1, -1, 473, 208, 438, 1244, -1, -1, 473, 208, + 1244, -1, 101, 420, 547, 992, 310, 682, 179, 1088, + -1, 101, 420, 197, 294, 159, 815, 992, 310, 682, + 179, 1088, -1, 683, -1, 682, 539, 683, -1, 1259, + -1, 1156, -1, 535, 1151, 536, -1, 33, 420, 815, + 403, 420, 606, -1, 33, 420, 197, 159, 815, 403, + 420, 606, -1, 101, 631, 435, 686, 40, 1039, 687, + -1, 101, 631, 435, 197, 294, 159, 686, 40, 1039, + 687, -1, 1242, 658, 675, 676, 677, 678, -1, 492, + 115, -1, 492, 290, 115, -1, -1, 101, 690, 268, + 485, 689, 40, 1039, 687, -1, 101, 690, 268, 485, + 197, 294, 159, 689, 40, 1039, 687, -1, 1242, 658, + 675, 601, 678, -1, 469, -1, -1, 364, 268, 485, + 548, 1242, 687, -1, 101, 631, 397, 1242, 694, -1, + 101, 631, 397, 197, 294, 159, 1242, 694, -1, 33, + 397, 1242, 696, -1, 33, 397, 197, 159, 1242, 696, + -1, 696, -1, -1, 535, 696, 536, -1, -1, 697, + -1, 696, 697, -1, 40, 1129, -1, 62, 699, -1, + 114, -1, 290, 114, -1, 206, 698, 699, -1, 264, + -1, 269, 699, -1, 274, 699, -1, 290, 269, -1, + 290, 274, -1, 325, 61, 815, -1, 397, 278, 815, + -1, 418, 552, 699, -1, 373, -1, 373, 552, 699, + -1, 469, -1, 61, -1, -1, 5, -1, 526, 5, + -1, 527, 5, -1, 1251, -1, 699, -1, 700, 539, + 699, -1, 101, 863, 702, 707, 245, 1244, -1, 101, + 863, 702, 707, 245, 1244, 191, 703, 704, 706, -1, + 457, -1, -1, 1244, -1, 1244, 816, -1, 213, 703, + -1, -1, 477, 703, -1, 290, 477, -1, 705, -1, + -1, 348, -1, -1, 101, 438, 1244, 709, 261, 1250, + 601, -1, 326, 1253, -1, -1, 142, 438, 1244, -1, + 142, 438, 197, 159, 1244, -1, 101, 162, 1244, 552, + 712, -1, 101, 162, 197, 294, 159, 1244, 552, 712, + -1, 712, 713, -1, -1, 390, 1244, -1, 484, 579, + -1, 179, 579, -1, 65, -1, 33, 162, 1244, 471, + 715, -1, 715, 716, -1, -1, 448, 579, -1, 33, + 162, 1244, 564, 811, 1244, -1, 33, 162, 1244, 564, + 810, 815, -1, 33, 162, 1244, 564, 30, 879, -1, + 33, 162, 1244, 564, 68, 535, 1127, 40, 1127, 536, + -1, 33, 162, 1244, 564, 140, 1127, -1, 33, 162, + 1244, 564, 181, 867, -1, 33, 162, 1244, 564, 312, + 903, -1, 33, 162, 1244, 564, 312, 76, 815, 473, + 1244, -1, 33, 162, 1244, 564, 312, 166, 815, 473, + 1244, -1, 33, 162, 1244, 564, 349, 867, -1, 33, + 162, 1244, 564, 383, 867, -1, 33, 162, 1244, 564, + 451, 173, 1127, 245, 1244, -1, 33, 162, 1244, 564, + 458, 1127, -1, 101, 175, 115, 496, 1244, 721, 723, + -1, 191, 703, -1, 290, 191, -1, 477, 703, -1, + 290, 477, -1, 719, -1, 720, 719, -1, 720, -1, + -1, 33, 175, 115, 496, 1244, 721, 725, -1, 33, + 175, 115, 496, 1244, 720, -1, 314, 535, 724, 536, + -1, -1, 728, -1, 724, 539, 728, -1, 314, 535, + 726, 536, -1, 727, -1, 726, 539, 727, -1, 728, + -1, 403, 728, -1, 27, 728, -1, 142, 729, -1, + 729, 730, -1, 1262, -1, 1250, -1, 101, 400, 1244, + 732, 734, 175, 115, 496, 1244, 723, -1, 101, 400, + 197, 294, 159, 1244, 732, 734, 175, 115, 496, 1244, + 723, -1, 458, 1250, -1, -1, 484, 1250, -1, 484, + 299, -1, 733, -1, -1, 33, 400, 1244, 733, 725, + -1, 33, 400, 1244, 733, -1, 33, 400, 1244, 725, + -1, 101, 175, 435, 1242, 535, 632, 536, 670, 400, + 1244, 723, -1, 101, 175, 435, 197, 294, 159, 1242, + 535, 632, 536, 670, 400, 1244, 723, -1, 101, 175, + 435, 1242, 331, 304, 1242, 633, 608, 400, 1244, 723, + -1, 101, 175, 435, 197, 294, 159, 1242, 331, 304, + 1242, 633, 608, 400, 1244, 723, -1, 202, 175, 390, + 1244, 739, 179, 400, 1244, 224, 1244, 723, -1, 255, + 448, -1, 154, -1, 738, 535, 1100, 536, -1, -1, + 101, 472, 265, 173, 741, 400, 1244, 723, -1, 101, + 472, 265, 197, 294, 159, 173, 741, 400, 1244, 723, + -1, 1253, -1, 472, -1, 142, 472, 265, 173, 741, + 400, 1244, -1, 142, 472, 265, 197, 159, 173, 741, + 400, 1244, -1, 33, 472, 265, 173, 741, 400, 1244, + 725, -1, 101, 338, 1244, 310, 1242, 750, 751, 748, + 746, 747, -1, 33, 338, 1244, 310, 1242, 749, 746, + 747, -1, 473, 535, 1151, 536, -1, -1, 492, 74, + 535, 1151, 536, -1, -1, 448, 1254, -1, -1, 448, + 1254, -1, -1, 40, 3, -1, -1, 173, 752, -1, + -1, 31, -1, 396, -1, 218, -1, 471, -1, 127, + -1, 101, 25, 272, 1244, 458, 754, 191, 703, -1, + 208, -1, 435, -1, 101, 863, 453, 1244, 756, 757, + 310, 1242, 759, 765, 768, 158, 769, 1247, 535, 770, + 536, -1, 101, 863, 94, 453, 1244, 29, 757, 310, + 1242, 772, 773, 173, 143, 385, 768, 158, 769, 1247, + 535, 770, 536, -1, 52, -1, 29, -1, 219, 304, + -1, 758, -1, 757, 315, 758, -1, 218, -1, 127, + -1, 471, -1, 471, 304, 659, -1, 456, -1, 363, + 760, -1, -1, 761, -1, 760, 761, -1, 762, 763, + 974, 764, -1, 284, -1, 308, -1, 435, -1, 385, + -1, 1259, -1, 173, 766, 767, -1, -1, 143, -1, + -1, 385, -1, 419, -1, 488, 535, 1151, 536, -1, + -1, 181, -1, 349, -1, 771, -1, 770, 539, 771, + -1, -1, 1249, -1, 5, -1, 1250, -1, 1262, -1, + 179, 1242, -1, -1, -1, 773, 774, -1, 294, 124, + -1, 124, -1, 212, 199, -1, 212, 125, -1, 294, + 475, -1, 290, 210, -1, 101, 153, 453, 1244, 310, + 1262, 158, 769, 1247, 535, 536, -1, 101, 153, 453, + 1244, 310, 1262, 488, 776, 158, 769, 1247, 535, 536, + -1, 777, -1, 776, 37, 777, -1, 1259, 203, 535, + 778, 536, -1, 6, -1, 778, 539, 6, -1, 33, + 153, 453, 1244, 780, -1, 146, -1, 146, 371, -1, + 146, 34, -1, 135, -1, 101, 43, 815, 74, 535, + 1151, 536, 773, -1, 101, 863, 30, 1247, 877, 783, + -1, 101, 863, 30, 1247, 787, -1, 101, 312, 901, + 783, -1, 101, 458, 815, 783, -1, 101, 458, 815, + -1, 101, 458, 815, 40, 535, 1111, 536, -1, 101, + 458, 815, 40, 150, 535, 790, 536, -1, 101, 458, + 815, 40, 355, 783, -1, 101, 443, 393, 329, 815, + 783, -1, 101, 443, 393, 134, 815, 783, -1, 101, + 443, 393, 441, 815, 783, -1, 101, 443, 393, 91, + 815, 783, -1, 101, 81, 815, 783, -1, 101, 81, + 197, 294, 159, 815, 783, -1, 101, 81, 815, 179, + 815, -1, 101, 81, 197, 294, 159, 815, 179, 815, + -1, 535, 784, 536, -1, 785, -1, 784, 539, 785, + -1, 1262, 525, 786, -1, 1262, -1, 874, -1, 1267, + -1, 1188, -1, 699, -1, 1250, -1, 291, -1, 535, + 788, 536, -1, 789, -1, 788, 539, 789, -1, 3, + 525, 786, -1, 791, -1, -1, 1250, -1, 791, 539, + 1250, -1, 33, 458, 815, 27, 478, 793, 1250, -1, + 33, 458, 815, 27, 478, 793, 1250, 52, 1250, -1, + 33, 458, 815, 27, 478, 793, 1250, 29, 1250, -1, + 33, 458, 815, 368, 478, 1250, 448, 1250, -1, 33, + 458, 815, 142, 478, 1250, -1, 197, 294, 159, -1, + -1, 101, 312, 76, 815, 797, 173, 458, 1127, 473, + 1244, 798, 40, 795, -1, 796, -1, 795, 539, 796, + -1, 312, 1249, 901, 799, 800, -1, 312, 1249, 903, + 799, 800, -1, 181, 1249, 867, -1, 181, 1249, 535, + 1194, 536, 867, -1, 423, 1127, -1, 122, -1, -1, + 166, 815, -1, -1, 173, 393, -1, 173, 316, 61, + 815, -1, -1, 359, -1, -1, 101, 312, 166, 815, + 473, 1244, -1, 33, 312, 166, 815, 473, 1244, 27, + 795, -1, 33, 312, 166, 815, 473, 1244, 142, 803, + -1, 804, -1, 803, 539, 804, -1, 312, 1249, 535, + 1194, 536, -1, 181, 1249, 535, 1194, 536, -1, 142, + 312, 76, 815, 473, 1244, 549, -1, 142, 312, 76, + 197, 159, 815, 473, 1244, 549, -1, 142, 312, 166, + 815, 473, 1244, 549, -1, 142, 312, 166, 197, 159, + 815, 473, 1244, 549, -1, 142, 325, 61, 1254, 549, + -1, 358, 325, 61, 1254, 448, 1253, -1, 142, 810, + 197, 159, 814, 549, -1, 142, 810, 814, 549, -1, + 142, 812, 197, 159, 1243, 549, -1, 142, 812, 1243, + 549, -1, 142, 813, 1244, 310, 815, 549, -1, 142, + 813, 197, 159, 1244, 310, 815, 549, -1, 142, 458, + 817, 549, -1, 142, 458, 197, 159, 817, 549, -1, + 142, 140, 817, 549, -1, 142, 140, 197, 159, 817, + 549, -1, 142, 208, 89, 814, 549, -1, 142, 208, + 89, 197, 159, 814, 549, -1, 435, -1, 397, -1, + 485, -1, 268, 485, -1, 208, -1, 175, 435, -1, + 81, -1, 98, -1, 420, -1, 443, 393, 329, -1, + 443, 393, 134, -1, 443, 393, 441, -1, 443, 393, + 91, -1, 812, -1, 116, -1, 380, -1, 428, -1, + 438, -1, 25, 272, -1, 153, 453, -1, 162, -1, + 175, 115, 496, -1, 707, 245, -1, 352, -1, 390, + -1, 400, -1, 338, -1, 387, -1, 453, -1, 815, + -1, 814, 539, 815, -1, 1259, -1, 1259, 816, -1, + 537, 1245, -1, 816, 537, 1245, -1, 1127, -1, 817, + 539, 1127, -1, 456, 1053, 1100, 819, 549, -1, 97, + 196, -1, 373, 196, -1, -1, 84, 310, 810, 815, + 226, 821, -1, 84, 310, 82, 815, 226, 821, -1, + 84, 310, 811, 1244, 226, 821, -1, 84, 310, 458, + 1127, 226, 821, -1, 84, 310, 140, 1127, 226, 821, + -1, 84, 310, 30, 879, 226, 821, -1, 84, 310, + 181, 867, 226, 821, -1, 84, 310, 312, 903, 226, + 821, -1, 84, 310, 94, 1244, 310, 815, 226, 821, + -1, 84, 310, 94, 1244, 310, 140, 815, 226, 821, + -1, 84, 310, 813, 1244, 310, 815, 226, 821, -1, + 84, 310, 349, 867, 226, 821, -1, 84, 310, 383, + 867, 226, 821, -1, 84, 310, 451, 173, 1127, 245, + 1244, 226, 821, -1, 84, 310, 312, 76, 815, 473, + 1244, 226, 821, -1, 84, 310, 312, 166, 815, 473, + 1244, 226, 821, -1, 84, 310, 246, 303, 699, 226, + 821, -1, 84, 310, 68, 535, 1127, 40, 1127, 536, + 226, 821, -1, 1250, -1, 299, -1, 395, 244, 823, + 310, 810, 815, 226, 824, -1, 395, 244, 823, 310, + 82, 815, 226, 824, -1, 395, 244, 823, 310, 811, + 1244, 226, 824, -1, 395, 244, 823, 310, 458, 1127, + 226, 824, -1, 395, 244, 823, 310, 140, 1127, 226, + 824, -1, 395, 244, 823, 310, 30, 879, 226, 824, + -1, 395, 244, 823, 310, 181, 867, 226, 824, -1, + 395, 244, 823, 310, 246, 303, 699, 226, 824, -1, + 395, 244, 823, 310, 349, 867, 226, 824, -1, 395, + 244, 823, 310, 383, 867, 226, 824, -1, 173, 579, + -1, -1, 1250, -1, 299, -1, 167, 826, -1, 277, + 826, -1, 1036, -1, 827, 1036, -1, 285, 828, 1036, + -1, 346, 828, 1036, -1, 170, 828, 1036, -1, 247, + 828, 1036, -1, 24, 1251, 828, 1036, -1, 366, 1251, + 828, 1036, -1, 1251, 828, 1036, -1, 31, 828, 1036, + -1, 177, 828, 1036, -1, 177, 1251, 828, 1036, -1, + 177, 31, 828, 1036, -1, 51, 828, 1036, -1, 51, + 1251, 828, 1036, -1, 51, 31, 828, 1036, -1, 179, + -1, 203, -1, 827, -1, -1, 185, 831, 310, 836, + 448, 837, 839, 845, -1, 378, 831, 310, 836, 179, + 837, 845, 549, -1, 378, 185, 313, 173, 831, 310, + 836, 179, 837, 845, 549, -1, 832, -1, 31, -1, + 31, 347, -1, 31, 535, 659, 536, -1, 31, 347, + 535, 659, 536, -1, 833, -1, 832, 539, 833, -1, + 396, 658, -1, 362, 658, -1, 101, 658, -1, 33, + 433, -1, 1259, 658, -1, 835, -1, 834, 539, 835, + -1, 1259, -1, 835, 537, 1259, -1, 1241, -1, 435, + 1241, -1, 397, 1241, -1, 175, 115, 496, 1243, -1, + 175, 400, 1243, -1, 181, 866, -1, 349, 866, -1, + 383, 866, -1, 116, 1243, -1, 140, 814, -1, 245, + 1243, -1, 246, 303, 700, -1, 328, 834, -1, 390, + 1243, -1, 438, 1243, -1, 458, 814, -1, 31, 436, + 203, 390, 1243, -1, 31, 398, 203, 390, 1243, -1, + 31, 182, 203, 390, 1243, -1, 31, 350, 203, 390, + 1243, -1, 31, 384, 203, 390, 1243, -1, 838, -1, + 837, 539, 838, -1, 1253, -1, 188, 1253, -1, 492, + 185, 313, -1, -1, 185, 832, 448, 1254, 845, -1, + 185, 832, 448, 1254, 492, 842, 845, -1, 378, 832, + 179, 1254, 845, 549, -1, 378, 1259, 313, 173, 832, + 179, 1254, 845, 549, -1, 842, 539, 843, -1, 843, + -1, 1262, 844, -1, 313, -1, 455, -1, 165, -1, + 186, 61, 1253, -1, -1, 33, 122, 347, 847, 849, + -1, 847, 848, -1, -1, 203, 390, 1243, -1, 173, + 380, 1254, -1, 173, 472, 1254, -1, 185, 831, 310, + 850, 448, 837, 839, -1, 378, 831, 310, 850, 179, + 837, 549, -1, 378, 185, 313, 173, 831, 310, 850, + 179, 837, 549, -1, 436, -1, 182, -1, 384, -1, + 398, -1, 459, -1, 391, -1, 101, 852, 208, 548, + 546, 310, 1098, 853, 535, 854, 536, 857, 647, 601, + 678, 1109, -1, 101, 852, 208, 548, 197, 294, 159, + 1244, 310, 1098, 853, 535, 854, 536, 857, 647, 601, + 678, 1109, -1, 466, -1, -1, 473, 1244, -1, -1, + 856, -1, 854, 539, 856, -1, 859, 547, 860, 861, + -1, 859, 815, 600, 860, 861, -1, 1259, 855, -1, + 1156, 855, -1, 535, 1151, 536, 855, -1, 204, 535, + 858, 536, -1, -1, 856, -1, 858, 539, 856, -1, + 80, 815, -1, -1, 41, -1, 132, -1, -1, 515, + 170, -1, 515, 247, -1, -1, 101, 863, 181, 1247, + 868, 377, 873, 881, 887, -1, 101, 863, 181, 1247, + 868, 377, 435, 535, 893, 536, 881, 887, -1, 101, + 863, 181, 1247, 868, 881, 887, -1, 101, 863, 349, + 1247, 868, 881, 887, -1, 315, 370, -1, -1, 535, + 865, 536, -1, 535, 536, -1, 870, -1, 865, 539, + 870, -1, 867, -1, 866, 539, 867, -1, 1247, 864, + -1, 1266, -1, 1259, -1, 1259, 1213, -1, 535, 869, + 536, -1, 535, 536, -1, 875, -1, 869, 539, 875, + -1, 871, 872, 874, -1, 872, 871, 874, -1, 872, + 874, -1, 871, 874, -1, 874, -1, 203, -1, 319, + -1, 215, -1, 203, 319, -1, 481, -1, 1260, -1, + 874, -1, 1127, -1, 1260, 816, 530, 458, -1, 405, + 1260, 816, 530, 458, -1, 870, -1, 870, 122, 1151, + -1, 870, 525, 1151, -1, 870, -1, 535, 528, 536, + -1, 535, 878, 536, -1, 535, 316, 61, 878, 536, + -1, 535, 878, 316, 61, 878, 536, -1, 876, -1, + 878, 539, 876, -1, 1247, 877, -1, 879, -1, 880, + 539, 879, -1, 882, -1, -1, 884, -1, 882, 884, + -1, 64, 310, 299, 216, -1, 377, 299, 310, 299, + 216, -1, 425, -1, 200, -1, 416, -1, 487, -1, + 163, 395, 126, -1, 163, 395, 225, -1, 395, 126, + -1, 395, 225, -1, 250, -1, 294, 250, -1, 100, + 699, -1, 386, 699, -1, 430, 815, -1, 584, -1, + 327, 1259, -1, 40, 885, -1, 245, 579, -1, 451, + 890, -1, 491, -1, 883, -1, 1250, -1, 1250, 539, + 1250, -1, 375, 1151, -1, 886, -1, 53, 46, 888, + 149, -1, -1, 888, 889, 538, -1, -1, 545, -1, + 886, -1, 173, 458, 1127, -1, 890, 539, 173, 458, + 1127, -1, 492, 783, -1, -1, 872, 874, -1, 892, + -1, 893, 539, 892, -1, 33, 181, 867, 895, 896, + -1, 33, 349, 867, 895, 896, -1, 33, 383, 867, + 895, 896, -1, 883, -1, 895, 883, -1, 374, -1, + -1, 142, 181, 866, 549, -1, 142, 181, 197, 159, + 866, 549, -1, 142, 349, 866, 549, -1, 142, 349, + 197, 159, 866, 549, -1, 142, 383, 866, 549, -1, + 142, 383, 197, 159, 866, 549, -1, 142, 30, 880, + 549, -1, 142, 30, 197, 159, 880, 549, -1, 142, + 312, 902, 549, -1, 142, 312, 197, 159, 902, 549, + -1, 535, 1127, 536, -1, 535, 1127, 539, 1127, 536, + -1, 535, 291, 539, 1127, 536, -1, 535, 1127, 539, + 291, 536, -1, 1185, -1, 1259, 537, 901, -1, 903, + -1, 902, 539, 903, -1, 901, 900, -1, 138, 905, + -1, 906, -1, 905, 906, -1, 1250, -1, 245, 579, + -1, 101, 68, 535, 1127, 40, 1127, 536, 492, 181, + 867, 908, -1, 101, 68, 535, 1127, 40, 1127, 536, + 494, 181, 908, -1, 101, 68, 535, 1127, 40, 1127, + 536, 492, 215, 908, -1, 40, 201, -1, 40, 44, + -1, -1, 142, 68, 910, 535, 1127, 40, 1127, 536, + 549, -1, 197, 159, -1, -1, 101, 863, 451, 173, + 1127, 245, 1244, 535, 912, 536, -1, 179, 415, 492, + 181, 867, 539, 448, 415, 492, 181, 867, -1, 448, + 415, 492, 181, 867, 539, 179, 415, 492, 181, 867, + -1, 179, 415, 492, 181, 867, -1, 448, 415, 492, + 181, 867, -1, 142, 451, 910, 173, 1127, 245, 1244, + 549, -1, 365, 917, 915, 548, 1242, -1, 365, 917, + 390, 548, 1244, -1, 365, 917, 916, 548, 546, -1, + 208, -1, 435, -1, 433, -1, 116, -1, 535, 983, + 536, -1, -1, 33, 438, 1244, 403, 600, -1, 33, + 438, 1244, 372, 600, -1, 33, 30, 879, 368, 448, + 1244, -1, 33, 81, 815, 368, 448, 1244, -1, 33, + 98, 815, 368, 448, 1244, -1, 33, 116, 1244, 368, + 448, 1244, -1, 33, 140, 815, 368, 448, 1244, -1, + 33, 140, 815, 368, 94, 1244, 448, 1244, -1, 33, + 175, 115, 496, 1244, 368, 448, 1244, -1, 33, 181, + 867, 368, 448, 1244, -1, 33, 188, 1252, 368, 448, + 1252, -1, 33, 707, 245, 1244, 368, 448, 1244, -1, + 33, 312, 76, 815, 473, 1244, 368, 448, 1244, -1, + 33, 312, 166, 815, 473, 1244, 368, 448, 1244, -1, + 33, 338, 1244, 310, 1242, 368, 448, 1244, -1, 33, + 338, 197, 159, 1244, 310, 1242, 368, 448, 1244, -1, + 33, 349, 867, 368, 448, 1244, -1, 33, 352, 1244, + 368, 448, 1244, -1, 33, 383, 867, 368, 448, 1244, + -1, 33, 390, 1244, 368, 448, 1244, -1, 33, 400, + 1244, 368, 448, 1244, -1, 33, 428, 1244, 368, 448, + 1244, -1, 33, 435, 1098, 368, 448, 1244, -1, 33, + 435, 197, 159, 1098, 368, 448, 1244, -1, 33, 397, + 1242, 368, 448, 1244, -1, 33, 397, 197, 159, 1242, + 368, 448, 1244, -1, 33, 485, 1242, 368, 448, 1244, + -1, 33, 485, 197, 159, 1242, 368, 448, 1244, -1, + 33, 268, 485, 1242, 368, 448, 1244, -1, 33, 268, + 485, 197, 159, 1242, 368, 448, 1244, -1, 33, 208, + 1242, 368, 448, 1244, -1, 33, 208, 197, 159, 1242, + 368, 448, 1244, -1, 33, 175, 435, 1098, 368, 448, + 1244, -1, 33, 175, 435, 197, 159, 1098, 368, 448, + 1244, -1, 33, 435, 1098, 368, 920, 1244, 448, 1244, + -1, 33, 435, 197, 159, 1098, 368, 920, 1244, 448, + 1244, -1, 33, 485, 1242, 368, 920, 1244, 448, 1244, + -1, 33, 485, 197, 159, 1242, 368, 920, 1244, 448, + 1244, -1, 33, 268, 485, 1242, 368, 920, 1244, 448, + 1244, -1, 33, 268, 485, 197, 159, 1242, 368, 920, + 1244, 448, 1244, -1, 33, 435, 1098, 368, 94, 1244, + 448, 1244, -1, 33, 435, 197, 159, 1098, 368, 94, + 1244, 448, 1244, -1, 33, 175, 435, 1098, 368, 920, + 1244, 448, 1244, -1, 33, 175, 435, 197, 159, 1098, + 368, 920, 1244, 448, 1244, -1, 33, 387, 1244, 310, + 1242, 368, 448, 1244, -1, 33, 453, 1244, 310, 1242, + 368, 448, 1244, -1, 33, 153, 453, 1244, 368, 448, + 1244, -1, 33, 380, 1252, 368, 448, 1252, -1, 33, + 472, 1252, 368, 448, 1252, -1, 33, 438, 1244, 368, + 448, 1244, -1, 33, 420, 815, 368, 448, 1244, -1, + 33, 443, 393, 329, 815, 368, 448, 1244, -1, 33, + 443, 393, 134, 815, 368, 448, 1244, -1, 33, 443, + 393, 441, 815, 368, 448, 1244, -1, 33, 443, 393, + 91, 815, 368, 448, 1244, -1, 33, 458, 815, 368, + 448, 1244, -1, 33, 458, 815, 368, 49, 1244, 448, + 1244, 549, -1, 82, -1, -1, 403, 115, -1, -1, + 33, 181, 867, 923, 130, 310, 162, 1244, -1, 33, + 349, 867, 923, 130, 310, 162, 1244, -1, 33, 383, + 867, 923, 130, 310, 162, 1244, -1, 33, 453, 1244, + 310, 1242, 923, 130, 310, 162, 1244, -1, 33, 268, + 485, 1242, 923, 130, 310, 162, 1244, -1, 33, 208, + 1242, 923, 130, 310, 162, 1244, -1, 290, -1, -1, + 33, 30, 879, 403, 390, 1244, -1, 33, 81, 815, + 403, 390, 1244, -1, 33, 98, 815, 403, 390, 1244, + -1, 33, 140, 815, 403, 390, 1244, -1, 33, 162, + 1244, 403, 390, 1244, -1, 33, 181, 867, 403, 390, + 1244, -1, 33, 312, 903, 403, 390, 1244, -1, 33, + 312, 76, 815, 473, 1244, 403, 390, 1244, -1, 33, + 312, 166, 815, 473, 1244, 403, 390, 1244, -1, 33, + 349, 867, 403, 390, 1244, -1, 33, 383, 867, 403, + 390, 1244, -1, 33, 435, 1098, 403, 390, 1244, -1, + 33, 435, 197, 159, 1098, 403, 390, 1244, -1, 33, + 420, 815, 403, 390, 1244, -1, 33, 443, 393, 329, + 815, 403, 390, 1244, -1, 33, 443, 393, 134, 815, + 403, 390, 1244, -1, 33, 443, 393, 441, 815, 403, + 390, 1244, -1, 33, 443, 393, 91, 815, 403, 390, + 1244, -1, 33, 397, 1242, 403, 390, 1244, -1, 33, + 397, 197, 159, 1242, 403, 390, 1244, -1, 33, 485, + 1242, 403, 390, 1244, -1, 33, 485, 197, 159, 1242, + 403, 390, 1244, -1, 33, 268, 485, 1242, 403, 390, + 1244, -1, 33, 268, 485, 197, 159, 1242, 403, 390, + 1244, -1, 33, 175, 435, 1098, 403, 390, 1244, -1, + 33, 175, 435, 197, 159, 1098, 403, 390, 1244, -1, + 33, 458, 815, 403, 390, 1244, -1, 33, 312, 903, + 403, 535, 926, 536, -1, 927, -1, 926, 539, 927, + -1, 1262, 525, 291, -1, 1262, 525, 928, -1, 1262, + -1, 874, -1, 1267, -1, 1188, -1, 699, -1, 1250, + -1, 33, 458, 815, 403, 535, 926, 536, -1, 33, + 30, 879, 326, 448, 1253, -1, 33, 81, 815, 326, + 448, 1253, -1, 33, 98, 815, 326, 448, 1253, -1, + 33, 116, 1244, 326, 448, 1253, -1, 33, 140, 815, + 326, 448, 1253, -1, 33, 181, 867, 326, 448, 1253, + -1, 33, 707, 245, 1244, 326, 448, 1253, -1, 33, + 246, 303, 699, 326, 448, 1253, -1, 33, 312, 903, + 326, 448, 1253, -1, 33, 312, 76, 815, 473, 1244, + 326, 448, 1253, -1, 33, 312, 166, 815, 473, 1244, + 326, 448, 1253, -1, 33, 349, 867, 326, 448, 1253, + -1, 33, 383, 867, 326, 448, 1253, -1, 33, 390, + 1244, 326, 448, 1253, -1, 33, 458, 815, 326, 448, + 1253, -1, 33, 438, 1244, 326, 448, 1253, -1, 33, + 420, 815, 326, 448, 1253, -1, 33, 443, 393, 134, + 815, 326, 448, 1253, -1, 33, 443, 393, 91, 815, + 326, 448, 1253, -1, 33, 175, 115, 496, 1244, 326, + 448, 1253, -1, 33, 400, 1244, 326, 448, 1253, -1, + 33, 153, 453, 1244, 326, 448, 1253, -1, 33, 352, + 1244, 326, 448, 1253, -1, 33, 428, 1244, 326, 448, + 1253, -1, 101, 352, 1244, 891, -1, 101, 352, 1244, + 173, 31, 436, 891, -1, 101, 352, 1244, 173, 933, + 891, -1, 435, 1098, 658, 665, -1, 436, 203, 390, + 1259, -1, 436, 203, 390, 109, -1, 1259, 658, 665, + -1, 1259, 1213, 658, 665, -1, 1099, 658, 665, -1, + 109, -1, 932, -1, 933, 539, 932, -1, 33, 352, + 1244, 403, 783, -1, 33, 352, 1244, 27, 933, -1, + 33, 352, 1244, 403, 933, -1, 33, 352, 1244, 142, + 933, -1, 101, 428, 1244, 93, 1250, 352, 1243, 891, + -1, 33, 428, 1244, 403, 783, -1, 33, 428, 1244, + 93, 1250, -1, 33, 428, 1244, 364, 352, 891, -1, + 33, 428, 1244, 27, 352, 1243, 891, -1, 33, 428, + 1244, 142, 352, 1243, 891, -1, 33, 428, 1244, 403, + 352, 1243, 891, -1, 33, 428, 1244, 146, -1, 33, + 428, 1244, 135, -1, 33, 428, 1244, 410, 783, -1, + 142, 428, 1244, 549, -1, 142, 428, 197, 159, 1244, + 549, -1, 101, 863, 387, 1244, 40, 310, 943, 448, + 1242, 1109, 138, 944, 939, -1, 295, -1, 941, -1, + 535, 940, 536, -1, 940, 538, 942, -1, 942, -1, + 1039, -1, 1004, -1, 1020, -1, 1013, -1, 945, -1, + 941, -1, -1, 396, -1, 471, -1, 127, -1, 218, + -1, 219, -1, 32, -1, -1, 296, 1259, 946, -1, + 539, 1250, -1, -1, 256, 1259, -1, 468, 1259, -1, + 468, 528, -1, 22, 951, 955, -1, 418, 450, 954, + -1, 86, 951, 955, -1, 381, 951, 955, -1, 388, + 1259, -1, 367, 388, 1259, -1, 367, 1259, -1, 381, + 951, 448, 388, 1259, -1, 381, 951, 448, 1259, -1, + 343, 450, 1250, -1, 86, 344, 1250, -1, 381, 344, + 1250, -1, 53, 951, 954, -1, 149, 951, 955, -1, + 495, -1, 450, -1, -1, 228, 253, 575, -1, 356, + 311, -1, 356, 497, -1, 124, -1, 294, 124, -1, + 952, -1, 953, 539, 952, -1, 953, 952, -1, 953, + -1, -1, 37, 70, -1, 37, 290, 70, -1, -1, + 101, 631, 485, 1242, 658, 601, 40, 1039, 957, -1, + 101, 315, 370, 631, 485, 1242, 658, 601, 40, 1039, + 957, -1, 101, 631, 360, 485, 1242, 535, 659, 536, + 601, 40, 1039, 957, -1, 101, 315, 370, 631, 360, + 485, 1242, 535, 659, 536, 601, 40, 1039, 957, -1, + 492, 74, 313, -1, 492, 66, 74, 313, -1, 492, + 258, 74, 313, -1, -1, 257, 1246, -1, 101, 116, + 1244, 552, 960, -1, 961, -1, -1, 962, -1, 961, + 962, -1, 963, 964, 699, -1, 963, 964, 576, -1, + 963, 964, 122, -1, 3, -1, 93, 255, -1, 147, + -1, 261, -1, 326, -1, 438, -1, 441, -1, 525, + -1, -1, 33, 116, 1244, 492, 960, -1, 33, 116, + 1244, 960, -1, 33, 116, 1244, 403, 438, 1244, -1, + 33, 116, 1244, 364, 81, 484, -1, 33, 116, 1244, + 583, -1, 142, 116, 1244, -1, 142, 116, 197, 159, + 1244, -1, 142, 116, 1244, 552, 535, 968, 536, -1, + 142, 116, 197, 159, 1244, 552, 535, 968, 536, -1, + 969, -1, 968, 539, 969, -1, 174, -1, 33, 81, + 815, 364, 484, -1, 33, 433, 403, 570, -1, 33, + 433, 372, 582, -1, 101, 140, 815, 974, 1127, 644, + -1, 33, 140, 815, 596, -1, 33, 140, 815, 142, + 294, 299, -1, 33, 140, 815, 403, 294, 299, -1, + 33, 140, 815, 27, 655, -1, 33, 140, 815, 142, + 94, 1244, 549, -1, 33, 140, 815, 142, 94, 197, + 159, 1244, 549, -1, 33, 140, 815, 476, 94, 1244, + -1, 40, -1, -1, 33, 443, 393, 134, 815, 783, + -1, 33, 443, 393, 91, 815, 27, 265, 173, 1243, + 977, 814, -1, 33, 443, 393, 91, 815, 33, 265, + 173, 1243, 977, 814, -1, 33, 443, 393, 91, 815, + 33, 265, 370, 815, 977, 815, -1, 33, 443, 393, + 91, 815, 33, 265, 173, 1243, 370, 815, 977, 815, + -1, 33, 443, 393, 91, 815, 142, 265, 173, 1243, + -1, 33, 443, 393, 91, 815, 142, 265, 197, 159, + 173, 1243, -1, 492, -1, 516, -1, 101, 797, 98, + 815, 173, 1250, 448, 1250, 179, 815, -1, 78, 535, + 983, 536, 1242, 980, -1, 78, 535, 983, 536, -1, + 78, 989, 1242, 980, -1, 78, 989, -1, 78, 989, + 1244, 310, 1242, -1, 473, 1244, -1, -1, 474, 990, + 991, 989, 988, 995, -1, 474, 535, 983, 536, 995, + -1, 984, 989, 995, -1, 984, 535, 983, 536, 995, + -1, 985, -1, 983, 539, 985, -1, 36, -1, 35, + -1, 986, 987, -1, 1261, -1, 984, -1, 513, -1, + 576, -1, 699, -1, -1, 984, -1, -1, 483, -1, + -1, 180, -1, -1, 178, -1, -1, 535, 1243, 536, + -1, -1, 1242, 992, -1, 993, -1, 994, 539, 993, + -1, 994, -1, -1, 160, 997, -1, 160, 984, 989, + 997, -1, 160, 483, 997, -1, 160, 535, 983, 536, + 997, -1, 1039, -1, 1004, -1, 1020, -1, 1013, -1, + 1025, -1, 1035, -1, 685, -1, 688, -1, 691, -1, + 1001, -1, 343, 1244, 999, 40, 1000, -1, 535, 1194, + 536, -1, -1, 1039, -1, 1004, -1, 1020, -1, 1013, + -1, 1025, -1, 158, 1244, 1002, -1, 101, 631, 435, + 686, 40, 158, 1244, 1002, 687, -1, 101, 631, 435, + 197, 294, 159, 686, 40, 158, 1244, 1002, 687, -1, + 535, 1190, 536, -1, -1, 118, 1244, -1, 118, 343, + 1244, -1, 118, 31, -1, 118, 343, 31, -1, 1050, + 218, 224, 1005, 1006, 1010, 1012, -1, 1242, -1, 1242, + 40, 1259, -1, 1039, -1, 324, 1007, 478, 1039, -1, + 535, 1008, 536, 1039, -1, 535, 1008, 536, 324, 1007, + 478, 1039, -1, 122, 479, -1, 472, -1, 433, -1, + 1009, -1, 1008, 539, 1009, -1, 1259, 1214, -1, 310, + 92, 1011, 138, 471, 403, 1021, 1109, -1, 310, 92, + 1011, 138, 295, -1, -1, 535, 854, 536, 1109, -1, + 310, 94, 1244, -1, -1, 376, 1239, -1, -1, 1050, + 127, 179, 1101, 1014, 1110, 1012, -1, 473, 1088, -1, + -1, 262, 1053, 1100, 1016, 1018, -1, 203, 1017, 275, + -1, -1, 25, 406, -1, 385, 406, -1, 385, 157, + -1, 406, 471, 157, -1, 406, -1, 406, 385, 157, + -1, 157, -1, 25, 157, -1, 298, -1, -1, 298, + -1, 410, 263, -1, -1, 1050, 471, 1101, 403, 1021, + 1087, 1110, 1012, -1, 1022, -1, 1021, 539, 1022, -1, + 1023, 525, 1151, -1, 535, 1024, 536, 525, 1151, -1, + 1259, 1214, -1, 1023, -1, 1024, 539, 1023, -1, 1050, + 270, 224, 1101, 473, 1089, 310, 1151, 1026, 1012, -1, + 1027, -1, 1026, 1027, -1, 1028, 1030, 444, 1031, -1, + 1028, 1030, 444, 1032, -1, 1029, 1030, 444, 1033, -1, + 1028, 1030, 444, 138, 295, -1, 1029, 1030, 444, 138, + 295, -1, 488, 267, -1, 488, 294, 267, 61, 414, + -1, 488, 294, 267, -1, 488, 294, 267, 61, 439, + -1, 37, 1151, -1, -1, 471, 403, 1021, -1, 127, + -1, 218, 1034, -1, 218, 324, 1007, 478, 1034, -1, + 218, 535, 1008, 536, 1034, -1, 218, 535, 1008, 536, + 324, 1007, 478, 1034, -1, 218, 122, 479, -1, 479, + 535, 1190, 536, -1, 121, 1036, 1037, 113, 1038, 173, + 1039, -1, 1244, -1, -1, 1037, 290, 392, -1, 1037, + 392, -1, 1037, 56, -1, 1037, 42, -1, 1037, 217, + -1, -1, 492, 194, -1, 494, 194, -1, 1041, -1, + 1040, -1, 535, 1041, 536, -1, 535, 1040, 536, -1, + 1043, -1, 1042, 1059, -1, 1042, 1058, 1080, 1063, -1, + 1042, 1058, 1062, 1081, -1, 1044, 1042, -1, 1044, 1042, + 1059, -1, 1044, 1042, 1058, 1080, 1063, -1, 1044, 1042, + 1058, 1062, 1081, -1, 1043, -1, 1040, -1, 396, 1056, + 1238, 1051, 1087, 1109, 1072, 1079, 1170, -1, 396, 1055, + 1239, 1051, 1087, 1109, 1072, 1079, 1170, -1, 1086, -1, + 435, 1098, -1, 1042, 465, 1054, 1042, -1, 1042, 222, + 1054, 1042, -1, 1042, 154, 1054, 1042, -1, 492, 1045, + -1, 516, 1045, -1, 492, 360, 1045, -1, 1046, -1, + 1045, 539, 1046, -1, 1244, 992, 40, 1047, 535, 1000, + 536, 1048, 1049, -1, 268, -1, 294, 268, -1, -1, + 393, 131, 170, 61, 659, 403, 1259, -1, 393, 60, + 170, 61, 659, 403, 1259, -1, -1, 114, 659, 403, + 1259, 448, 1248, 122, 1248, 473, 1259, -1, 114, 659, + 403, 1259, 473, 1259, -1, -1, 1044, -1, -1, 224, + 1052, -1, -1, 442, 1053, 1242, -1, 440, 1053, 1242, + -1, 258, 442, 1053, 1242, -1, 258, 440, 1053, 1242, + -1, 184, 442, 1053, 1242, -1, 184, 440, 1053, 1242, + -1, 469, 1053, 1242, -1, 435, 1242, -1, 1242, -1, + 435, -1, -1, 31, -1, 137, -1, -1, 137, -1, + 137, 310, 535, 1190, 536, -1, 31, -1, -1, 1055, + -1, 1056, -1, 1059, -1, -1, 316, 61, 1060, -1, + 1061, -1, 1060, 539, 1061, -1, 1151, 473, 1188, 861, + -1, 1151, 860, 861, -1, 1064, 1065, -1, 1065, 1064, + -1, 1064, -1, 1065, -1, 1062, -1, -1, 255, 1066, + -1, 255, 1066, 539, 1067, -1, 167, 1071, 1068, 1070, + 311, -1, 167, 1071, 1068, 1070, 492, 445, -1, 167, + 1071, 1070, 311, -1, 167, 1071, 1070, 492, 445, -1, + 306, 1067, -1, 306, 1068, 1070, -1, 1151, -1, 31, + -1, 1151, -1, 1153, -1, 526, 1069, -1, 527, 1069, + -1, 1249, -1, 5, -1, 385, -1, 386, -1, 170, + -1, 285, -1, 188, 61, 1054, 1073, -1, -1, 1074, + -1, 1073, 539, 1074, -1, 1151, -1, 1075, -1, 1077, + -1, 1076, -1, 1078, -1, 535, 536, -1, 382, 535, + 1190, 536, -1, 104, 535, 1190, 536, -1, 189, 404, + 535, 1073, 536, -1, 192, 1151, -1, -1, 1082, -1, + 173, 356, 311, -1, 1080, -1, -1, 1083, -1, 1082, + 1083, -1, 1084, 1085, 1019, -1, 173, 471, -1, 173, + 290, 242, 471, -1, 173, 406, -1, 173, 242, 406, + -1, 304, 1241, -1, -1, 479, 535, 1190, 536, -1, + 1086, 539, 535, 1190, 536, -1, 179, 1088, -1, -1, + 1089, -1, 1088, 539, 1089, -1, 1098, 1092, -1, 1098, + 1092, 1102, -1, 1104, 1094, -1, 248, 1104, 1094, -1, + 1114, 1092, -1, 248, 1114, 1092, -1, 1040, 1092, -1, + 248, 1040, 1092, -1, 1090, -1, 535, 1090, 536, 1091, + -1, 1121, 1092, -1, 248, 1121, 1092, -1, 535, 1090, + 536, -1, 1089, 102, 229, 1089, -1, 1089, 1095, 229, + 1089, 1097, -1, 1089, 229, 1089, 1097, -1, 1089, 281, + 1095, 229, 1089, -1, 1089, 281, 229, 1089, -1, 40, + 1259, 535, 1243, 536, -1, 40, 1259, -1, 1259, 535, + 1243, 536, -1, 1259, -1, 1091, -1, -1, 40, 1259, + -1, -1, 1091, -1, 40, 535, 1112, 536, -1, 40, + 1259, 535, 1112, 536, -1, 1259, 535, 1112, 536, -1, + -1, 180, 1096, -1, 252, 1096, -1, 379, 1096, -1, + 214, -1, 320, -1, -1, 473, 535, 1243, 536, 1093, + -1, 310, 1151, -1, 1242, -1, 1099, -1, 1242, 528, + -1, 311, 1242, -1, 311, 535, 1242, 536, -1, 1098, + -1, 1100, 539, 1098, -1, 1098, -1, 1098, 1259, -1, + 1098, 40, 1259, -1, 437, 1247, 535, 1190, 536, 1103, + -1, 369, 535, 1151, 536, -1, -1, 1156, 1108, -1, + 386, 179, 535, 1106, 536, 1108, -1, 1156, 1107, -1, + 1105, -1, 1106, 539, 1105, -1, 40, 535, 1112, 536, + -1, -1, 516, 317, -1, -1, 489, 1151, -1, -1, + 489, 1151, -1, 489, 105, 304, 1036, -1, -1, 1112, + -1, -1, 1113, -1, 1112, 539, 1113, -1, 1259, 1127, + 597, -1, 509, 535, 1153, 1166, 83, 1115, 536, -1, + 509, 535, 504, 535, 1119, 536, 539, 1153, 1166, 83, + 1115, 536, -1, 1116, -1, 1115, 539, 1116, -1, 1259, + 1127, -1, 1259, 1127, 1117, -1, 1259, 173, 317, -1, + 1118, -1, 1117, 1118, -1, 3, 1152, -1, 122, 1152, + -1, 294, 299, -1, 299, -1, 334, 1152, -1, 1120, + -1, 1119, 539, 1120, -1, 1152, 40, 1262, -1, 122, + 1152, -1, 239, 535, 1224, 539, 1151, 1122, 1216, 83, + 535, 1123, 536, 1223, 536, -1, 40, 1244, -1, -1, + 1124, -1, 1123, 539, 1124, -1, 1259, 173, 317, -1, + 1259, 1127, 1126, 1219, 1227, 1222, -1, 1259, 1127, 1225, + 1126, 1219, 1227, 1222, -1, 1259, 1127, 159, 1126, 1223, + -1, 283, 1125, 1250, 83, 535, 1123, 536, -1, 283, + 1125, 1250, 40, 1244, 83, 535, 1123, 536, -1, 334, + -1, -1, 334, 1250, -1, -1, 1129, 1128, -1, 405, + 1129, 1128, -1, 1129, 39, 533, 1249, 534, -1, 405, + 1129, 39, 533, 1249, 534, -1, 1129, 39, -1, 405, + 1129, 39, -1, 1128, 533, 534, -1, 1128, 533, 1249, + 534, -1, -1, 1131, -1, 1133, -1, 1135, -1, 1139, + -1, 1145, -1, 1146, 1148, -1, 1146, 535, 1249, 536, + -1, 1150, -1, 1133, -1, 1136, -1, 1140, -1, 1145, + -1, 1150, -1, 1260, 1132, -1, 1260, 816, 1132, -1, + 535, 1190, 536, -1, -1, 220, -1, 221, -1, 411, + -1, 55, -1, 357, -1, 171, 1134, -1, 141, 341, + -1, 120, 1132, -1, 119, 1132, -1, 302, 1132, -1, + 58, -1, 535, 1249, 536, -1, -1, 1137, -1, 1138, + -1, 1137, -1, 1138, -1, 57, 1144, 535, 1190, 536, + -1, 57, 1144, -1, 1141, -1, 1142, -1, 1141, -1, + 1142, -1, 1143, 535, 1249, 536, -1, 1143, -1, 72, + 1144, -1, 71, 1144, -1, 480, -1, 280, 72, 1144, + -1, 280, 71, 1144, -1, 282, 1144, -1, 482, -1, + -1, 447, 535, 1249, 536, 1147, -1, 447, 1147, -1, + 446, 535, 1249, 536, 1147, -1, 446, 1147, -1, 223, + -1, 516, 446, 512, -1, 517, 446, 512, -1, -1, + 510, -1, 276, -1, 117, -1, 195, -1, 273, -1, + 1149, -1, 510, 448, 276, -1, 117, 448, 195, -1, + 117, 448, 273, -1, 117, 448, 1149, -1, 195, 448, + 273, -1, 195, 448, 1149, -1, 273, 448, 1149, -1, + -1, 394, -1, 394, 535, 1249, 536, -1, 230, -1, + 1153, -1, 1151, 13, 1127, -1, 1151, 80, 815, -1, + 1151, 47, 446, 512, 1151, -1, 1151, 47, 258, -1, + 526, 1151, -1, 527, 1151, -1, 1151, 526, 1151, -1, + 1151, 527, 1151, -1, 1151, 528, 1151, -1, 1151, 529, + 1151, -1, 1151, 530, 1151, -1, 1151, 531, 1151, -1, + 1151, 523, 1151, -1, 1151, 524, 1151, -1, 1151, 525, + 1151, -1, 1151, 17, 1151, -1, 1151, 18, 1151, -1, + 1151, 19, 1151, -1, 1151, 1187, 1151, -1, 1187, 1151, + -1, 1151, 37, 1151, -1, 1151, 315, 1151, -1, 294, + 1151, -1, 514, 1151, -1, 1151, 254, 1151, -1, 1151, + 254, 1151, 152, 1151, -1, 1151, 514, 254, 1151, -1, + 1151, 514, 254, 1151, 152, 1151, -1, 1151, 198, 1151, + -1, 1151, 198, 1151, 152, 1151, -1, 1151, 514, 198, + 1151, -1, 1151, 514, 198, 1151, 152, 1151, -1, 1151, + 408, 448, 1151, -1, 1151, 408, 448, 1151, 152, 1151, + -1, 1151, 514, 408, 448, 1151, -1, 1151, 514, 408, + 448, 1151, 152, 1151, -1, 1151, 226, 299, -1, 1151, + 227, -1, 1151, 226, 294, 299, -1, 1151, 297, -1, + 1181, 322, 1181, -1, 1151, 226, 455, -1, 1151, 226, + 294, 455, -1, 1151, 226, 165, -1, 1151, 226, 294, + 165, -1, 1151, 226, 467, -1, 1151, 226, 294, 467, + -1, 1151, 226, 137, 179, 1151, -1, 1151, 226, 294, + 137, 179, 1151, -1, 1151, 54, 1215, 1152, 37, 1151, + -1, 1151, 514, 54, 1215, 1152, 37, 1151, -1, 1151, + 54, 431, 1152, 37, 1151, -1, 1151, 514, 54, 431, + 1152, 37, 1151, -1, 1151, 203, 1204, -1, 1151, 514, + 203, 1204, -1, 1151, 1189, 1184, 1040, -1, 1151, 1189, + 1184, 535, 1151, 536, -1, 466, 647, 1040, -1, 1151, + 226, 139, -1, 1151, 226, 294, 139, -1, 1151, 226, + 293, -1, 1151, 226, 1199, 293, -1, 1151, 226, 294, + 293, -1, 1151, 226, 294, 1199, 293, -1, 1151, 226, + 1229, 1230, -1, 1151, 226, 294, 1229, 1230, -1, 122, + -1, 1153, -1, 1152, 13, 1127, -1, 526, 1152, -1, + 527, 1152, -1, 1152, 526, 1152, -1, 1152, 527, 1152, + -1, 1152, 528, 1152, -1, 1152, 529, 1152, -1, 1152, + 530, 1152, -1, 1152, 531, 1152, -1, 1152, 523, 1152, + -1, 1152, 524, 1152, -1, 1152, 525, 1152, -1, 1152, + 17, 1152, -1, 1152, 18, 1152, -1, 1152, 19, 1152, + -1, 1152, 1187, 1152, -1, 1187, 1152, -1, 1152, 226, + 137, 179, 1152, -1, 1152, 226, 294, 137, 179, 1152, + -1, 1152, 226, 139, -1, 1152, 226, 294, 139, -1, + 1210, -1, 1248, -1, 12, 1214, -1, 535, 1151, 536, + 1214, -1, 1205, -1, 1155, -1, 1040, -1, 1040, 1213, + -1, 159, 1040, -1, 39, 1040, -1, 39, 1195, -1, + 1182, -1, 1183, -1, 189, 535, 1190, 536, -1, 1247, + 535, 536, -1, 1247, 535, 1191, 1058, 536, -1, 1247, + 535, 481, 1192, 1058, 536, -1, 1247, 535, 1191, 539, + 481, 1192, 1058, 536, -1, 1247, 535, 31, 1191, 1058, + 536, -1, 1247, 535, 137, 1191, 1058, 536, -1, 1247, + 535, 528, 536, -1, 1154, 1168, 1169, 1173, -1, 1236, + 1169, 1173, -1, 1157, -1, 1154, -1, 1157, -1, 1236, + -1, 81, 173, 535, 1151, 536, -1, 107, -1, 110, + -1, 110, 535, 1249, 536, -1, 111, -1, 111, 535, + 1249, 536, -1, 259, -1, 259, 535, 1249, 536, -1, + 260, -1, 260, 535, 1249, 536, -1, 108, -1, 112, + -1, 402, -1, 434, -1, 472, -1, 106, -1, 109, + -1, 68, 535, 1151, 40, 1127, 536, -1, 164, 535, + 1197, 536, -1, 292, 535, 1151, 536, -1, 292, 535, + 1151, 539, 1199, 536, -1, 323, 535, 1200, 536, -1, + 323, 535, 1193, 536, -1, 339, 535, 1201, 536, -1, + 429, 535, 1202, 536, -1, 429, 535, 1193, 536, -1, + 452, 535, 1151, 40, 1127, 536, -1, 454, 535, 59, + 1203, 536, -1, 454, 535, 249, 1203, 536, -1, 454, + 535, 449, 1203, 536, -1, 454, 535, 1203, 536, -1, + 300, 535, 1151, 539, 1151, 536, -1, 79, 535, 1190, + 536, -1, 187, 535, 1190, 536, -1, 251, 535, 1190, + 536, -1, 500, 535, 1190, 536, -1, 501, 535, 278, + 1262, 536, -1, 501, 535, 278, 1262, 539, 1160, 536, + -1, 501, 535, 278, 1262, 539, 1190, 536, -1, 501, + 535, 278, 1262, 539, 1160, 539, 1190, 536, -1, 502, + 535, 1153, 1166, 536, -1, 503, 535, 1161, 536, -1, + 505, 535, 1163, 1151, 1165, 536, -1, 506, 535, 278, + 1262, 536, -1, 506, 535, 278, 1262, 539, 1151, 536, + -1, 507, 535, 1151, 539, 1158, 1159, 536, -1, 508, + 535, 1163, 1151, 40, 1129, 1164, 536, -1, 234, 535, + 1191, 536, -1, 234, 535, 1231, 1233, 1230, 1228, 536, + -1, 234, 535, 1228, 536, -1, 231, 535, 1235, 1234, + 1228, 536, -1, 231, 535, 1041, 1226, 1228, 536, -1, + 231, 535, 1228, 536, -1, 230, 535, 1224, 1230, 536, + -1, 237, 535, 1151, 536, -1, 238, 535, 1224, 1228, + 536, -1, 271, 535, 536, -1, 236, 535, 1224, 539, + 1151, 1216, 1228, 1219, 1227, 1222, 536, -1, 233, 535, + 1224, 539, 1151, 1216, 1223, 536, -1, 240, 535, 1224, + 539, 1151, 1216, 1228, 1222, 536, -1, 484, 1151, -1, + 484, 290, 478, -1, 539, 417, 511, -1, 539, 417, + 290, -1, 539, 417, 290, 478, -1, -1, 499, 535, + 1161, 536, -1, 1162, -1, 1161, 539, 1162, -1, 1151, + 40, 1262, -1, 1151, -1, 139, -1, 96, -1, 207, + -1, 290, 207, -1, -1, 342, 490, -1, 427, 490, + -1, -1, 332, 1153, -1, 332, 1153, 1167, -1, 332, + 1167, 1153, -1, 332, 1167, 1153, 1167, -1, 61, 361, + -1, 61, 478, -1, 493, 188, 535, 1059, 536, -1, + -1, 168, 535, 489, 1151, 536, -1, -1, 491, 1171, + -1, -1, 1172, -1, 1171, 539, 1172, -1, 1259, 40, + 1174, -1, 321, 1174, -1, 321, 1259, -1, -1, 535, + 1175, 1176, 1058, 1177, 536, -1, 1259, -1, -1, 331, + 61, 1190, -1, -1, 355, 1178, 1180, -1, 386, 1178, + 1180, -1, 190, 1178, 1180, -1, -1, 1179, -1, 54, + 1179, 37, 1179, -1, 461, 340, -1, 461, 172, -1, + 105, 385, -1, 1151, 340, -1, 1151, 172, -1, 155, + 105, 385, -1, 155, 188, -1, 155, 445, -1, 155, + 290, 318, -1, -1, 385, 535, 1190, 536, -1, 385, + 535, 536, -1, 535, 1190, 539, 1151, 536, -1, 385, + 535, 1190, 536, -1, 385, 535, 536, -1, 535, 1190, + 539, 1151, 536, -1, 38, -1, 413, -1, 31, -1, + 10, -1, 1186, -1, 526, -1, 527, -1, 528, -1, + 529, -1, 530, -1, 531, -1, 523, -1, 524, -1, + 525, -1, 17, -1, 18, -1, 19, -1, 10, -1, + 312, 535, 901, 536, -1, 1185, -1, 312, 535, 901, + 536, -1, 1185, -1, 312, 535, 901, 536, -1, 254, + -1, 514, 254, -1, 198, -1, 514, 198, -1, 1151, + -1, 1190, 539, 1151, -1, 1192, -1, 1191, 539, 1192, + -1, 1151, -1, 872, 15, 1151, -1, 872, 16, 1151, + -1, 1191, -1, -1, 1127, -1, 1194, 539, 1127, -1, + 533, 1190, 534, -1, 533, 1196, 534, -1, 533, 534, + -1, 1195, -1, 1196, 539, 1195, -1, 1198, 179, 1151, + -1, 12, 179, 1151, -1, 3, -1, 510, -1, 276, + -1, 117, -1, 195, -1, 273, -1, 394, -1, 1250, + -1, 286, -1, 287, -1, 288, -1, 289, -1, 1151, + 335, 1151, 179, 1151, 173, 1151, -1, 1151, 335, 1151, + 179, 1151, -1, 1152, 203, 1152, -1, 1151, 179, 1151, + 173, 1151, -1, 1151, 173, 1151, 179, 1151, -1, 1151, + 179, 1151, -1, 1151, 173, 1151, -1, 1151, 408, 1151, + 152, 1151, -1, 1151, 179, 1190, -1, 179, 1190, -1, + 1190, -1, 1040, -1, 535, 1190, 536, -1, 67, 1209, + 1206, 1208, 149, -1, 1207, -1, 1206, 1207, -1, 488, + 1151, 444, 1151, -1, 144, 1151, -1, -1, 1151, -1, + -1, 1259, -1, 1259, 1213, -1, 537, 1245, -1, 537, + 528, -1, 533, 1151, 534, -1, 533, 1212, 540, 1212, + 534, -1, 1151, -1, -1, 1211, -1, 1213, 1211, -1, + -1, 1214, 1211, -1, 45, -1, -1, 332, 1217, -1, + -1, 1218, -1, 1217, 539, 1218, -1, 1224, 40, 1262, + -1, 494, 496, -1, 494, 39, 496, -1, 492, 496, + -1, 492, 39, 496, -1, 492, 90, 39, 496, -1, + 492, 462, 39, 496, -1, 492, 90, 496, -1, 492, + 462, 496, -1, -1, 122, 1151, -1, 1221, -1, 151, + -1, 299, -1, 455, -1, 165, -1, 467, -1, 145, + 39, -1, 145, 303, -1, 145, -1, 1220, 310, 145, + -1, 1220, 310, 151, -1, 1220, 310, 145, 1220, 310, + 151, -1, -1, 1220, 310, 151, -1, -1, 1151, 1226, + -1, 513, 230, 147, 1244, -1, 513, 230, -1, 1225, + -1, -1, 241, 354, 310, 389, 426, -1, 241, 354, + -1, 309, 354, 310, 389, 426, -1, 309, 354, -1, + -1, 376, 1127, 1226, -1, -1, 230, -1, 230, 478, + -1, 230, 39, -1, 230, 303, -1, 230, 389, -1, + 492, 466, 243, -1, 492, 466, -1, 494, 466, 243, + -1, 494, 466, -1, -1, 1232, -1, 1231, 539, 1232, + -1, 1153, 478, 1224, -1, 1151, 540, 1224, -1, 299, + 310, 299, -1, 23, 310, 299, -1, -1, 299, 310, + 299, -1, 23, 310, 299, -1, -1, 1224, -1, 1235, + 539, 1224, -1, 235, 535, 1232, 1233, 1230, 1228, 536, + -1, 232, 535, 1224, 1237, 1234, 1228, 536, -1, 316, + 61, 1060, -1, -1, 1239, -1, -1, 1240, -1, 1239, + 539, 1240, -1, 1151, 40, 1262, -1, 1151, 1263, -1, + 1151, -1, 528, -1, 1242, -1, 1241, 539, 1242, -1, + 1259, -1, 1259, 1213, -1, 1244, -1, 1243, 539, 1244, + -1, 1259, -1, 1262, -1, 1250, -1, 1260, -1, 1259, + 1213, -1, 1249, -1, 5, -1, 1250, -1, 8, -1, + 9, -1, 1247, 1250, -1, 1247, 535, 1191, 1058, 536, + 1250, -1, 1247, 12, -1, 1247, 535, 1191, 1058, 536, + 12, -1, 1130, 1250, -1, 1146, 1250, 1148, -1, 1146, + 535, 1249, 536, 1250, -1, 1130, 12, -1, 1146, 12, + 1148, -1, 1146, 535, 1249, 536, 12, -1, 455, -1, + 165, -1, 299, -1, 11, -1, 6, -1, 1249, -1, + 526, 1249, -1, 527, 1249, -1, 1253, -1, 1261, -1, + 108, -1, 112, -1, 402, -1, 1253, -1, 1254, 539, + 1253, -1, 1057, 1238, 1087, 1109, 1072, 1079, 1170, 1058, + 1063, 1081, -1, 1257, 1214, 1258, 1255, -1, 1259, -1, + 12, -1, 15, -1, 525, -1, 3, -1, 1264, -1, + 1265, -1, 3, -1, 1264, -1, 1266, -1, 3, -1, + 1264, -1, 1265, -1, 1266, -1, 3, -1, 1264, -1, + 1265, -1, 1266, -1, 1267, -1, 3, -1, 1268, -1, + 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, + 27, -1, 28, -1, 29, -1, 30, -1, 32, -1, + 33, -1, 34, -1, 42, -1, 43, -1, 44, -1, + 47, -1, 46, -1, 48, -1, 49, -1, 51, -1, + 52, -1, 53, -1, 60, -1, 61, -1, 62, -1, + 63, -1, 64, -1, 65, -1, 66, -1, 69, -1, + 70, -1, 73, -1, 75, -1, 76, -1, 77, -1, + 78, -1, 83, -1, 84, -1, 85, -1, 86, -1, + 87, -1, 88, -1, 90, -1, 91, -1, 92, -1, + 93, -1, 95, -1, 96, -1, 97, -1, 98, -1, + 99, -1, 100, -1, 103, -1, 104, -1, 105, -1, + 113, -1, 114, -1, 115, -1, 116, -1, 117, -1, + 118, -1, 121, -1, 123, -1, 125, -1, 126, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, + 133, -1, 134, -1, 135, -1, 136, -1, 139, -1, + 140, -1, 141, -1, 142, -1, 143, -1, 145, -1, + 146, -1, 147, -1, 148, -1, 150, -1, 151, -1, + 152, -1, 153, -1, 155, -1, 156, -1, 157, -1, + 158, -1, 160, -1, 161, -1, 162, -1, 163, -1, + 166, -1, 168, -1, 169, -1, 170, -1, 172, -1, + 174, -1, 176, -1, 177, -1, 181, -1, 182, -1, + 183, -1, 184, -1, 186, -1, 190, -1, 191, -1, + 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, + 199, -1, 200, -1, 201, -1, 202, -1, 204, -1, + 205, -1, 206, -1, 207, -1, 208, -1, 209, -1, + 210, -1, 211, -1, 213, -1, 216, -1, 217, -1, + 218, -1, 219, -1, 225, -1, 228, -1, 241, -1, + 242, -1, 243, -1, 244, -1, 245, -1, 246, -1, + 247, -1, 250, -1, 253, -1, 256, -1, 257, -1, + 258, -1, 261, -1, 262, -1, 263, -1, 264, -1, + 265, -1, 266, -1, 267, -1, 268, -1, 269, -1, + 270, -1, 272, -1, 273, -1, 274, -1, 275, -1, + 276, -1, 277, -1, 278, -1, 279, -1, 283, -1, + 284, -1, 285, -1, 286, -1, 287, -1, 288, -1, + 289, -1, 290, -1, 293, -1, 295, -1, 296, -1, + 298, -1, 301, -1, 303, -1, 304, -1, 305, -1, + 307, -1, 308, -1, 309, -1, 312, -1, 313, -1, + 314, -1, 317, -1, 318, -1, 321, -1, 324, -1, + 325, -1, 326, -1, 327, -1, 328, -1, 329, -1, + 330, -1, 331, -1, 332, -1, 333, -1, 334, -1, + 336, -1, 337, -1, 338, -1, 340, -1, 343, -1, + 344, -1, 342, -1, 346, -1, 347, -1, 348, -1, + 349, -1, 350, -1, 351, -1, 352, -1, 353, -1, + 354, -1, 355, -1, 356, -1, 358, -1, 359, -1, + 360, -1, 361, -1, 363, -1, 364, -1, 365, -1, + 366, -1, 367, -1, 368, -1, 369, -1, 370, -1, + 371, -1, 372, -1, 373, -1, 374, -1, 375, -1, + 377, -1, 378, -1, 380, -1, 381, -1, 382, -1, + 383, -1, 384, -1, 386, -1, 387, -1, 388, -1, + 389, -1, 390, -1, 391, -1, 392, -1, 393, -1, + 394, -1, 395, -1, 397, -1, 398, -1, 399, -1, + 400, -1, 401, -1, 403, -1, 404, -1, 406, -1, + 407, -1, 409, -1, 410, -1, 412, -1, 414, -1, + 415, -1, 416, -1, 417, -1, 418, -1, 419, -1, + 420, -1, 421, -1, 422, -1, 423, -1, 424, -1, + 425, -1, 426, -1, 427, -1, 428, -1, 430, -1, + 432, -1, 433, -1, 436, -1, 438, -1, 439, -1, + 440, -1, 441, -1, 442, -1, 443, -1, 445, -1, + 450, -1, 451, -1, 453, -1, 456, -1, 457, -1, + 458, -1, 459, -1, 460, -1, 461, -1, 463, -1, + 462, -1, 464, -1, 467, -1, 468, -1, 469, -1, + 470, -1, 471, -1, 474, -1, 475, -1, 476, -1, + 477, -1, 478, -1, 482, -1, 484, -1, 485, -1, + 486, -1, 487, -1, 490, -1, 493, -1, 494, -1, + 495, -1, 496, -1, 497, -1, 498, -1, 510, -1, + 511, -1, 512, -1, 54, -1, 55, -1, 57, -1, + 58, -1, 71, -1, 72, -1, 79, -1, 119, -1, + 120, -1, 159, -1, 164, -1, 171, -1, 187, -1, + 189, -1, 215, -1, 220, -1, 221, -1, 223, -1, + 230, -1, 231, -1, 232, -1, 233, -1, 234, -1, + 235, -1, 236, -1, 237, -1, 238, -1, 239, -1, + 240, -1, 251, -1, 271, -1, 280, -1, 282, -1, + 291, -1, 292, -1, 300, -1, 302, -1, 319, -1, + 323, -1, 339, -1, 341, -1, 357, -1, 385, -1, + 405, -1, 411, -1, 429, -1, 446, -1, 447, -1, + 452, -1, 454, -1, 479, -1, 480, -1, 499, -1, + 500, -1, 501, -1, 502, -1, 503, -1, 504, -1, + 505, -1, 506, -1, 507, -1, 508, -1, 509, -1, + 50, -1, 56, -1, 81, -1, 89, -1, 102, -1, + 109, -1, 178, -1, 180, -1, 198, -1, 214, -1, + 226, -1, 227, -1, 229, -1, 252, -1, 254, -1, + 281, -1, 297, -1, 320, -1, 322, -1, 379, -1, + 408, -1, 437, -1, 483, -1, 31, -1, 35, -1, + 36, -1, 37, -1, 38, -1, 39, -1, 40, -1, + 41, -1, 45, -1, 59, -1, 67, -1, 68, -1, + 74, -1, 80, -1, 82, -1, 94, -1, 101, -1, + 106, -1, 107, -1, 108, -1, 110, -1, 111, -1, + 112, -1, 122, -1, 124, -1, 132, -1, 137, -1, + 138, -1, 144, -1, 149, -1, 154, -1, 165, -1, + 167, -1, 173, -1, 175, -1, 179, -1, 185, -1, + 188, -1, 192, -1, 203, -1, 212, -1, 222, -1, + 224, -1, 248, -1, 249, -1, 255, -1, 259, -1, + 260, -1, 294, -1, 299, -1, 306, -1, 310, -1, + 311, -1, 315, -1, 316, -1, 335, -1, 345, -1, + 362, -1, 376, -1, 396, -1, 402, -1, 413, -1, + 431, -1, 434, -1, 435, -1, 444, -1, 448, -1, + 449, -1, 455, -1, 465, -1, 466, -1, 472, -1, + 473, -1, 481, -1, 488, -1, 489, -1, 491, -1, + 492, -1, 22, -1, 23, -1, 24, -1, 25, -1, + 26, -1, 27, -1, 28, -1, 29, -1, 30, -1, + 31, -1, 32, -1, 33, -1, 34, -1, 35, -1, + 36, -1, 37, -1, 38, -1, 41, -1, 42, -1, + 43, -1, 44, -1, 45, -1, 47, -1, 46, -1, + 48, -1, 49, -1, 50, -1, 51, -1, 52, -1, + 53, -1, 54, -1, 55, -1, 56, -1, 57, -1, + 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, + 63, -1, 64, -1, 65, -1, 66, -1, 67, -1, + 68, -1, 69, -1, 70, -1, 73, -1, 74, -1, + 75, -1, 76, -1, 77, -1, 78, -1, 79, -1, + 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, + 85, -1, 86, -1, 87, -1, 88, -1, 89, -1, + 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, + 95, -1, 96, -1, 97, -1, 98, -1, 99, -1, + 100, -1, 102, -1, 103, -1, 104, -1, 105, -1, + 106, -1, 107, -1, 108, -1, 109, -1, 110, -1, + 111, -1, 112, -1, 113, -1, 114, -1, 115, -1, + 116, -1, 118, -1, 119, -1, 120, -1, 121, -1, + 122, -1, 123, -1, 124, -1, 125, -1, 126, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, + 132, -1, 133, -1, 134, -1, 135, -1, 136, -1, + 137, -1, 138, -1, 139, -1, 140, -1, 141, -1, + 142, -1, 143, -1, 144, -1, 145, -1, 146, -1, + 147, -1, 148, -1, 149, -1, 150, -1, 151, -1, + 152, -1, 153, -1, 155, -1, 156, -1, 157, -1, + 158, -1, 159, -1, 160, -1, 161, -1, 162, -1, + 163, -1, 164, -1, 165, -1, 166, -1, 169, -1, + 170, -1, 171, -1, 172, -1, 174, -1, 175, -1, + 176, -1, 177, -1, 178, -1, 180, -1, 181, -1, + 182, -1, 183, -1, 184, -1, 186, -1, 187, -1, + 189, -1, 190, -1, 191, -1, 193, -1, 194, -1, + 196, -1, 197, -1, 198, -1, 199, -1, 200, -1, 201, -1, 202, -1, 203, -1, 204, -1, 205, -1, - 207, -1, 210, -1, 211, -1, 212, -1, 213, -1, - 219, -1, 222, -1, 224, -1, 225, -1, 226, -1, - 227, -1, 228, -1, 231, -1, 234, -1, 237, -1, - 238, -1, 239, -1, 242, -1, 243, -1, 244, -1, - 245, -1, 246, -1, 247, -1, 248, -1, 249, -1, - 250, -1, 251, -1, 252, -1, 253, -1, 254, -1, - 255, -1, 256, -1, 257, -1, 258, -1, 259, -1, - 263, -1, 264, -1, 265, -1, 266, -1, 267, -1, - 268, -1, 269, -1, 272, -1, 274, -1, 275, -1, - 277, -1, 280, -1, 282, -1, 283, -1, 284, -1, - 286, -1, 287, -1, 290, -1, 291, -1, 292, -1, - 295, -1, 296, -1, 299, -1, 302, -1, 303, -1, - 304, -1, 305, -1, 306, -1, 307, -1, 308, -1, - 309, -1, 310, -1, 311, -1, 313, -1, 314, -1, - 316, -1, 319, -1, 320, -1, 318, -1, 322, -1, + 206, -1, 207, -1, 208, -1, 209, -1, 210, -1, + 211, -1, 212, -1, 213, -1, 214, -1, 215, -1, + 216, -1, 217, -1, 218, -1, 219, -1, 220, -1, + 221, -1, 223, -1, 225, -1, 226, -1, 228, -1, + 229, -1, 230, -1, 231, -1, 232, -1, 233, -1, + 234, -1, 235, -1, 236, -1, 237, -1, 238, -1, + 239, -1, 240, -1, 241, -1, 242, -1, 243, -1, + 244, -1, 245, -1, 246, -1, 247, -1, 248, -1, + 249, -1, 250, -1, 251, -1, 252, -1, 253, -1, + 254, -1, 256, -1, 257, -1, 258, -1, 259, -1, + 260, -1, 261, -1, 262, -1, 263, -1, 264, -1, + 265, -1, 266, -1, 267, -1, 268, -1, 269, -1, + 270, -1, 271, -1, 272, -1, 274, -1, 275, -1, + 277, -1, 278, -1, 279, -1, 280, -1, 281, -1, + 282, -1, 283, -1, 284, -1, 285, -1, 286, -1, + 287, -1, 288, -1, 289, -1, 290, -1, 291, -1, + 292, -1, 293, -1, 294, -1, 295, -1, 296, -1, + 298, -1, 299, -1, 300, -1, 301, -1, 302, -1, + 303, -1, 304, -1, 305, -1, 307, -1, 308, -1, + 309, -1, 311, -1, 312, -1, 313, -1, 314, -1, + 315, -1, 317, -1, 318, -1, 319, -1, 320, -1, 323, -1, 324, -1, 325, -1, 326, -1, 327, -1, - 328, -1, 329, -1, 330, -1, 331, -1, 333, -1, - 334, -1, 335, -1, 336, -1, 338, -1, 339, -1, - 340, -1, 341, -1, 342, -1, 343, -1, 344, -1, - 345, -1, 346, -1, 347, -1, 348, -1, 349, -1, - 350, -1, 352, -1, 353, -1, 355, -1, 356, -1, - 357, -1, 358, -1, 359, -1, 361, -1, 362, -1, - 363, -1, 364, -1, 365, -1, 366, -1, 367, -1, - 368, -1, 369, -1, 371, -1, 372, -1, 373, -1, - 374, -1, 375, -1, 377, -1, 378, -1, 380, -1, - 381, -1, 383, -1, 384, -1, 386, -1, 388, -1, - 389, -1, 390, -1, 391, -1, 392, -1, 393, -1, - 394, -1, 395, -1, 396, -1, 397, -1, 398, -1, - 399, -1, 400, -1, 402, -1, 404, -1, 405, -1, - 407, -1, 409, -1, 410, -1, 411, -1, 412, -1, - 413, -1, 415, -1, 420, -1, 421, -1, 423, -1, + 328, -1, 329, -1, 330, -1, 331, -1, 332, -1, + 333, -1, 334, -1, 335, -1, 336, -1, 337, -1, + 338, -1, 339, -1, 340, -1, 343, -1, 344, -1, + 342, -1, 345, -1, 346, -1, 347, -1, 348, -1, + 349, -1, 350, -1, 351, -1, 352, -1, 353, -1, + 354, -1, 355, -1, 356, -1, 357, -1, 358, -1, + 359, -1, 360, -1, 361, -1, 362, -1, 363, -1, + 364, -1, 365, -1, 366, -1, 367, -1, 368, -1, + 369, -1, 370, -1, 371, -1, 372, -1, 373, -1, + 374, -1, 375, -1, 377, -1, 378, -1, 379, -1, + 380, -1, 381, -1, 382, -1, 383, -1, 384, -1, + 385, -1, 386, -1, 387, -1, 388, -1, 389, -1, + 390, -1, 391, -1, 392, -1, 393, -1, 395, -1, + 396, -1, 397, -1, 398, -1, 399, -1, 400, -1, + 401, -1, 402, -1, 403, -1, 405, -1, 404, -1, + 406, -1, 407, -1, 408, -1, 409, -1, 410, -1, + 411, -1, 412, -1, 413, -1, 414, -1, 415, -1, + 416, -1, 417, -1, 418, -1, 419, -1, 420, -1, + 421, -1, 422, -1, 423, -1, 424, -1, 425, -1, 426, -1, 427, -1, 428, -1, 429, -1, 430, -1, - 431, -1, 432, -1, 433, -1, 436, -1, 437, -1, - 438, -1, 439, -1, 440, -1, 443, -1, 444, -1, - 445, -1, 446, -1, 447, -1, 451, -1, 453, -1, - 454, -1, 455, -1, 456, -1, 459, -1, 462, -1, - 463, -1, 464, -1, 465, -1, 466, -1, 467, -1, - 479, -1, 480, -1, 481, -1, 53, -1, 54, -1, - 56, -1, 57, -1, 70, -1, 71, -1, 78, -1, - 117, -1, 118, -1, 155, -1, 160, -1, 167, -1, - 182, -1, 184, -1, 209, -1, 214, -1, 215, -1, - 217, -1, 232, -1, 260, -1, 262, -1, 270, -1, - 271, -1, 279, -1, 281, -1, 297, -1, 301, -1, - 315, -1, 317, -1, 332, -1, 360, -1, 379, -1, - 385, -1, 401, -1, 416, -1, 417, -1, 422, -1, - 424, -1, 448, -1, 449, -1, 468, -1, 469, -1, - 470, -1, 471, -1, 472, -1, 473, -1, 474, -1, - 475, -1, 476, -1, 477, -1, 478, -1, 49, -1, - 55, -1, 80, -1, 88, -1, 100, -1, 107, -1, - 173, -1, 175, -1, 193, -1, 208, -1, 220, -1, - 221, -1, 223, -1, 233, -1, 235, -1, 261, -1, - 276, -1, 298, -1, 300, -1, 354, -1, 382, -1, - 408, -1, 452, -1, 30, -1, 34, -1, 35, -1, - 36, -1, 37, -1, 38, -1, 39, -1, 40, -1, - 44, -1, 58, -1, 66, -1, 67, -1, 73, -1, - 79, -1, 81, -1, 92, -1, 99, -1, 104, -1, - 105, -1, 106, -1, 108, -1, 109, -1, 110, -1, - 120, -1, 122, -1, 130, -1, 135, -1, 136, -1, - 142, -1, 146, -1, 150, -1, 161, -1, 163, -1, - 169, -1, 171, -1, 174, -1, 180, -1, 183, -1, - 187, -1, 198, -1, 206, -1, 216, -1, 218, -1, - 229, -1, 230, -1, 236, -1, 240, -1, 241, -1, - 273, -1, 278, -1, 285, -1, 288, -1, 289, -1, - 293, -1, 294, -1, 312, -1, 321, -1, 337, -1, - 351, -1, 370, -1, 376, -1, 387, -1, 403, -1, - 406, -1, 414, -1, 418, -1, 419, -1, 425, -1, - 434, -1, 435, -1, 441, -1, 442, -1, 450, -1, - 457, -1, 458, -1, 460, -1, 461, -1, 22, -1, - 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, - 28, -1, 29, -1, 30, -1, 31, -1, 32, -1, - 33, -1, 34, -1, 35, -1, 36, -1, 37, -1, - 40, -1, 41, -1, 42, -1, 43, -1, 44, -1, - 46, -1, 45, -1, 47, -1, 48, -1, 49, -1, - 50, -1, 51, -1, 52, -1, 53, -1, 54, -1, - 55, -1, 56, -1, 57, -1, 58, -1, 59, -1, - 60, -1, 61, -1, 62, -1, 63, -1, 64, -1, - 65, -1, 66, -1, 67, -1, 68, -1, 69, -1, - 72, -1, 73, -1, 74, -1, 75, -1, 76, -1, - 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, - 82, -1, 83, -1, 84, -1, 85, -1, 86, -1, - 87, -1, 88, -1, 89, -1, 90, -1, 91, -1, - 92, -1, 93, -1, 94, -1, 95, -1, 96, -1, - 97, -1, 98, -1, 100, -1, 101, -1, 102, -1, - 103, -1, 104, -1, 105, -1, 106, -1, 107, -1, - 108, -1, 109, -1, 110, -1, 111, -1, 112, -1, - 113, -1, 114, -1, 116, -1, 117, -1, 118, -1, - 119, -1, 120, -1, 121, -1, 122, -1, 123, -1, - 124, -1, 125, -1, 126, -1, 127, -1, 128, -1, - 129, -1, 130, -1, 131, -1, 132, -1, 133, -1, - 134, -1, 135, -1, 136, -1, 137, -1, 138, -1, - 139, -1, 140, -1, 141, -1, 142, -1, 143, -1, - 144, -1, 145, -1, 146, -1, 147, -1, 148, -1, - 149, -1, 151, -1, 152, -1, 153, -1, 154, -1, - 155, -1, 156, -1, 157, -1, 158, -1, 159, -1, - 160, -1, 161, -1, 162, -1, 165, -1, 166, -1, - 167, -1, 168, -1, 170, -1, 171, -1, 172, -1, - 173, -1, 175, -1, 176, -1, 177, -1, 178, -1, - 179, -1, 181, -1, 182, -1, 184, -1, 185, -1, - 186, -1, 188, -1, 189, -1, 191, -1, 192, -1, - 193, -1, 194, -1, 195, -1, 196, -1, 197, -1, - 198, -1, 199, -1, 200, -1, 201, -1, 202, -1, - 203, -1, 204, -1, 205, -1, 206, -1, 207, -1, - 208, -1, 209, -1, 210, -1, 211, -1, 212, -1, - 213, -1, 214, -1, 215, -1, 217, -1, 219, -1, - 220, -1, 222, -1, 223, -1, 224, -1, 225, -1, - 226, -1, 227, -1, 228, -1, 229, -1, 230, -1, - 231, -1, 232, -1, 233, -1, 234, -1, 235, -1, - 237, -1, 238, -1, 239, -1, 240, -1, 241, -1, - 242, -1, 243, -1, 244, -1, 245, -1, 246, -1, - 247, -1, 248, -1, 249, -1, 250, -1, 251, -1, - 252, -1, 254, -1, 255, -1, 257, -1, 258, -1, - 259, -1, 260, -1, 261, -1, 262, -1, 263, -1, - 264, -1, 265, -1, 266, -1, 267, -1, 268, -1, - 269, -1, 270, -1, 271, -1, 272, -1, 273, -1, - 274, -1, 275, -1, 277, -1, 278, -1, 279, -1, - 280, -1, 281, -1, 282, -1, 283, -1, 284, -1, - 286, -1, 287, -1, 289, -1, 290, -1, 291, -1, - 292, -1, 293, -1, 295, -1, 296, -1, 297, -1, - 298, -1, 301, -1, 302, -1, 303, -1, 304, -1, - 305, -1, 306, -1, 307, -1, 308, -1, 309, -1, - 310, -1, 311, -1, 312, -1, 313, -1, 314, -1, - 315, -1, 316, -1, 319, -1, 320, -1, 318, -1, - 321, -1, 322, -1, 323, -1, 324, -1, 325, -1, - 326, -1, 327, -1, 328, -1, 329, -1, 330, -1, - 331, -1, 332, -1, 333, -1, 334, -1, 335, -1, - 336, -1, 337, -1, 338, -1, 339, -1, 340, -1, - 341, -1, 342, -1, 343, -1, 344, -1, 345, -1, - 346, -1, 347, -1, 348, -1, 349, -1, 350, -1, - 352, -1, 353, -1, 354, -1, 355, -1, 356, -1, - 357, -1, 358, -1, 359, -1, 360, -1, 361, -1, - 362, -1, 363, -1, 364, -1, 365, -1, 366, -1, - 367, -1, 369, -1, 370, -1, 371, -1, 372, -1, - 373, -1, 374, -1, 375, -1, 376, -1, 377, -1, - 379, -1, 378, -1, 380, -1, 381, -1, 382, -1, - 383, -1, 384, -1, 385, -1, 386, -1, 387, -1, - 388, -1, 389, -1, 390, -1, 391, -1, 392, -1, - 393, -1, 394, -1, 395, -1, 396, -1, 397, -1, - 398, -1, 399, -1, 400, -1, 401, -1, 402, -1, - 403, -1, 404, -1, 405, -1, 406, -1, 407, -1, - 408, -1, 409, -1, 410, -1, 411, -1, 412, -1, - 413, -1, 414, -1, 415, -1, 416, -1, 417, -1, - 419, -1, 420, -1, 421, -1, 422, -1, 423, -1, - 424, -1, 425, -1, 426, -1, 427, -1, 428, -1, - 429, -1, 430, -1, 431, -1, 432, -1, 433, -1, - 435, -1, 436, -1, 437, -1, 438, -1, 439, -1, - 440, -1, 441, -1, 442, -1, 443, -1, 444, -1, - 445, -1, 446, -1, 447, -1, 448, -1, 449, -1, - 450, -1, 452, -1, 453, -1, 454, -1, 455, -1, - 456, -1, 457, -1, 459, -1, 464, -1, 465, -1, - 466, -1, 467, -1, 468, -1, 469, -1, 470, -1, - 471, -1, 472, -1, 473, -1, 474, -1, 475, -1, - 476, -1, 477, -1, 478, -1, 480, -1, 481, -1 + 431, -1, 432, -1, 433, -1, 434, -1, 435, -1, + 436, -1, 437, -1, 438, -1, 439, -1, 440, -1, + 441, -1, 442, -1, 443, -1, 444, -1, 445, -1, + 446, -1, 447, -1, 449, -1, 450, -1, 451, -1, + 452, -1, 453, -1, 454, -1, 455, -1, 456, -1, + 457, -1, 458, -1, 459, -1, 460, -1, 461, -1, + 463, -1, 462, -1, 464, -1, 466, -1, 467, -1, + 468, -1, 469, -1, 470, -1, 471, -1, 472, -1, + 473, -1, 474, -1, 475, -1, 476, -1, 477, -1, + 478, -1, 479, -1, 480, -1, 481, -1, 483, -1, + 484, -1, 485, -1, 486, -1, 487, -1, 488, -1, + 490, -1, 495, -1, 496, -1, 497, -1, 498, -1, + 499, -1, 500, -1, 501, -1, 502, -1, 503, -1, + 504, -1, 505, -1, 506, -1, 507, -1, 508, -1, + 509, -1, 511, -1, 512, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 862, 862, 867, 871, 876, 884, 892, 912, 924, - 938, 939, 943, 944, 945, 946, 947, 948, 949, 950, - 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, - 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, - 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, - 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, - 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, - 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, - 1061, 1062, 1063, 1064, 1065, 1066, 1068, 1077, 1093, 1105, - 1106, 1107, 1116, 1117, 1121, 1122, 1126, 1131, 1136, 1140, - 1150, 1160, 1168, 1172, 1176, 1181, 1185, 1233, 1235, 1239, - 1243, 1247, 1251, 1265, 1284, 1293, 1305, 1306, 1310, 1319, - 1328, 1337, 1359, 1367, 1375, 1383, 1391, 1399, 1417, 1436, - 1448, 1449, 1460, 1471, 1482, 1498, 1517, 1518, 1522, 1529, - 1537, 1538, 1539, 1540, 1541, 1542, 1556, 1563, 1570, 1580, - 1589, 1598, 1602, 1611, 1620, 1628, 1639, 1640, 1649, 1661, - 1669, 1678, 1686, 1698, 1707, 1715, 1724, 1732, 1740, 1750, - 1761, 1762, 1766, 1767, 1770, 1772, 1774, 1778, 1779, 1780, - 1781, 1785, 1786, 1787, 1793, 1805, 1809, 1813, 1817, 1834, - 1842, 1843, 1844, 1848, 1849, 1850, 1854, 1855, 1859, 1863, - 1864, 1872, 1880, 1891, 1899, 1910, 1911, 1916, 1917, 1922, - 1929, 1936, 1943, 1950, 1961, 1972, 1973, 1977, 1978, 1986, - 2002, 2009, 2016, 2023, 2030, 2050, 2060, 2070, 2080, 2090, - 2102, 2114, 2124, 2134, 2144, 2156, 2168, 2178, 2188, 2198, - 2208, 2218, 2228, 2240, 2252, 2262, 2275, 2276, 2281, 2295, - 2308, 2324, 2341, 2351, 2361, 2371, 2381, 2391, 2400, 2409, - 2418, 2428, 2438, 2454, 2464, 2474, 2484, 2494, 2511, 2521, - 2531, 2541, 2552, 2566, 2582, 2592, 2601, 2617, 2626, 2637, - 2648, 2656, 2665, 2674, 2682, 2690, 2699, 2708, 2717, 2725, - 2733, 2742, 2750, 2758, 2767, 2776, 2785, 2794, 2803, 2812, - 2823, 2831, 2840, 2849, 2858, 2867, 2876, 2885, 2893, 2901, - 2909, 2916, 2927, 2928, 2932, 2933, 2934, 2938, 2947, 2951, - 2952, 2956, 2964, 2972, 2980, 2991, 2994, 2995, 2999, 3000, - 3005, 3009, 3013, 3018, 3025, 3027, 3032, 3036, 3040, 3051, - 3059, 3112, 3125, 3139, 3151, 3158, 3162, 3176, 3189, 3190, - 3195, 3205, 3216, 3227, 3254, 3261, 3295, 3331, 3354, 3355, - 3359, 3360, 3369, 3370, 3371, 3374, 3375, 3380, 3381, 3385, - 3389, 3393, 3397, 3401, 3405, 3409, 3413, 3417, 3421, 3425, - 3429, 3433, 3442, 3446, 3450, 3454, 3458, 3459, 3464, 3468, - 3475, 3482, 3483, 3484, 3485, 3486, 3490, 3494, 3502, 3513, - 3533, 3553, 3574, 3595, 3616, 3650, 3651, 3652, 3653, 3654, - 3661, 3668, 3669, 3673, 3674, 3678, 3679, 3683, 3687, 3694, - 3698, 3705, 3706, 3707, 3711, 3712, 3715, 3738, 3757, 3779, - 3780, 3784, 3785, 3789, 3790, 3794, 3802, 3803, 3804, 3836, - 3844, 3852, 3865, 3877, 3890, 3900, 3910, 3934, 3954, 3955, - 3956, 3960, 3961, 3980, 3988, 3996, 4004, 4016, 4028, 4029, - 4030, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 4042, - 4043, 4052, 4060, 4064, 4078, 4096, 4112, 4129, 4145, 4165, - 4188, 4189, 4193, 4194, 4198, 4199, 4202, 4208, 4209, 4212, - 4216, 4224, 4229, 4235, 4236, 4240, 4245, 4252, 4253, 4257, - 4267, 4277, 4285, 4294, 4307, 4319, 4326, 4334, 4342, 4350, - 4358, 4368, 4369, 4373, 4374, 4377, 4389, 4390, 4393, 4404, - 4415, 4429, 4430, 4435, 4436, 4437, 4440, 4441, 4442, 4443, - 4446, 4447, 4450, 4451, 4454, 4472, 4485, 4507, 4508, 4511, - 4517, 4523, 4540, 4549, 4571, 4585, 4602, 4618, 4619, 4620, - 4632, 4646, 4663, 4677, 4678, 4690, 4711, 4722, 4736, 4745, - 4757, 4758, 4761, 4762, 4765, 4766, 4769, 4773, 4777, 4781, - 4785, 4789, 4793, 4797, 4801, 4805, 4809, 4814, 4818, 4822, - 4828, 4829, 4833, 4834, 4835, 4842, 4845, 4846, 4858, 4874, - 4890, 4891, 4899, 4900, 4904, 4905, 4909, 4910, 4914, 4915, - 4919, 4920, 4930, 4942, 4943, 4956, 4964, 4982, 4991, 5003, - 5006, 5010, 5014, 5018, 5025, 5037, 5048, 5051, 5055, 5068, - 5078, 5088, 5098, 5108, 5118, 5128, 5138, 5148, 5158, 5168, - 5178, 5188, 5207, 5219, 5220, 5221, 5222, 5226, 5227, 5231, - 5232, 5242, 5251, 5264, 5265, 5269, 5273, 5281, 5285, 5289, - 5296, 5300, 5305, 5310, 5317, 5324, 5329, 5339, 5352, 5368, - 5369, 5374, 5375, 5379, 5380, 5390, 5400, 5409, 5427, 5448, - 5469, 5491, 5525, 5541, 5542, 5546, 5555, 5570, 5580, 5593, - 5594, 5606, 5615, 5633, 5658, 5676, 5691, 5692, 5696, 5697, - 5701, 5702, 5706, 5707, 5711, 5725, 5729, 5730, 5734, 5735, - 5736, 5737, 5738, 5748, 5760, 5761, 5772, 5795, 5827, 5828, - 5829, 5833, 5835, 5857, 5859, 5861, 5863, 5865, 5870, 5871, - 5875, 5876, 5880, 5892, 5893, 5897, 5906, 5910, 5914, 5919, - 5929, 5930, 5934, 5935, 5939, 5940, 5944, 5945, 5949, 5950, - 5951, 5955, 5959, 5960, 5961, 5965, 5966, 5971, 5972, 5999, - 6000, 6001, 6002, 6003, 6004, 6017, 6028, 6043, 6045, 6050, - 6055, 6057, 6062, 6073, 6074, 6075, 6076, 6087, 6106, 6118, - 6131, 6142, 6153, 6165, 6174, 6182, 6190, 6200, 6210, 6220, - 6230, 6240, 6251, 6261, 6274, 6277, 6278, 6281, 6285, 6292, - 6293, 6294, 6295, 6296, 6297, 6300, 6303, 6304, 6312, 6319, - 6320, 6323, 6325, 6336, 6348, 6360, 6372, 6386, 6387, 6403, - 6419, 6420, 6424, 6437, 6448, 6457, 6467, 6477, 6478, 6481, - 6482, 6485, 6486, 6487, 6490, 6504, 6509, 6520, 6530, 6543, - 6544, 6548, 6557, 6570, 6581, 6595, 6606, 6629, 6640, 6659, - 6670, 6681, 6692, 6703, 6714, 6725, 6736, 6747, 6758, 6769, - 6780, 6795, 6796, 6797, 6798, 6799, 6800, 6801, 6802, 6803, - 6804, 6805, 6806, 6807, 6817, 6818, 6819, 6820, 6821, 6825, - 6826, 6827, 6828, 6829, 6830, 6831, 6832, 6837, 6838, 6839, - 6843, 6844, 6847, 6848, 6851, 6853, 6858, 6859, 6870, 6882, - 6883, 6884, 6894, 6903, 6912, 6921, 6930, 6939, 6948, 6957, - 6966, 6975, 6989, 6998, 7007, 7016, 7025, 7034, 7043, 7052, - 7064, 7065, 7079, 7090, 7101, 7112, 7123, 7134, 7145, 7156, - 7167, 7178, 7191, 7192, 7195, 7196, 7206, 7213, 7222, 7231, - 7240, 7249, 7258, 7267, 7276, 7285, 7294, 7303, 7312, 7321, - 7330, 7339, 7348, 7357, 7368, 7369, 7372, 7373, 7383, 7401, - 7417, 7445, 7447, 7449, 7451, 7459, 7469, 7470, 7473, 7481, - 7489, 7497, 7504, 7515, 7519, 7526, 7530, 7541, 7550, 7559, - 7568, 7577, 7586, 7595, 7604, 7613, 7622, 7631, 7640, 7649, - 7657, 7666, 7675, 7684, 7693, 7702, 7711, 7720, 7733, 7734, - 7738, 7739, 7744, 7745, 7755, 7769, 7780, 7793, 7794, 7797, - 7798, 7808, 7819, 7820, 7824, 7828, 7832, 7843, 7857, 7872, - 7890, 7891, 7892, 7893, 7894, 7895, 7907, 7939, 7974, 7975, - 7979, 7980, 7984, 7985, 7989, 7990, 7993, 7994, 7999, 8011, - 8030, 8035, 8040, 8047, 8048, 8051, 8052, 8055, 8056, 8059, - 8060, 8063, 8064, 8065, 8068, 8069, 8070, 8086, 8100, 8115, - 8129, 8146, 8147, 8150, 8151, 8155, 8156, 8160, 8161, 8166, - 8180, 8188, 8196, 8212, 8213, 8217, 8218, 8233, 8243, 8253, - 8263, 8273, 8286, 8287, 8288, 8289, 8290, 8296, 8300, 8315, - 8316, 8322, 8332, 8336, 8341, 8349, 8391, 8395, 8399, 8403, - 8411, 8412, 8416, 8428, 8429, 8434, 8435, 8440, 8441, 8448, - 8452, 8456, 8460, 8464, 8468, 8472, 8476, 8480, 8484, 8488, - 8492, 8496, 8500, 8504, 8508, 8513, 8520, 8524, 8528, 8532, - 8536, 8542, 8543, 8549, 8559, 8563, 8574, 8580, 8589, 8595, - 8596, 8600, 8601, 8605, 8606, 8609, 8622, 8626, 8641, 8650, - 8659, 8672, 8673, 8678, 8679, 8696, 8707, 8718, 8729, 8740, - 8751, 8765, 8776, 8790, 8801, 8815, 8823, 8825, 8827, 8832, - 8834, 8839, 8840, 8845, 8864, 8874, 8875, 8879, 8883, 8895, - 8907, 8919, 8933, 8934, 8935, 8939, 8952, 8953, 8963, 8976, - 8980, 8984, 8988, 8995, 9016, 9029, 9042, 9055, 9070, 9071, - 9074, 9075, 9076, 9086, 9096, 9114, 9124, 9134, 9144, 9154, - 9164, 9174, 9184, 9194, 9204, 9214, 9224, 9234, 9245, 9256, - 9266, 9276, 9286, 9296, 9306, 9316, 9327, 9338, 9349, 9360, - 9371, 9382, 9393, 9404, 9415, 9426, 9437, 9448, 9460, 9472, - 9484, 9496, 9508, 9520, 9531, 9542, 9554, 9566, 9577, 9588, - 9597, 9607, 9617, 9627, 9637, 9647, 9657, 9667, 9677, 9687, - 9702, 9703, 9706, 9707, 9717, 9727, 9737, 9747, 9758, 9768, - 9780, 9781, 9791, 9801, 9811, 9821, 9831, 9841, 9851, 9861, - 9871, 9881, 9891, 9901, 9911, 9921, 9931, 9941, 9951, 9961, - 9971, 9981, 9991, 10001, 10011, 10021, 10031, 10041, 10051, 10070, - 10080, 10081, 10084, 10086, 10092, 10093, 10094, 10095, 10096, 10108, - 10124, 10133, 10142, 10151, 10160, 10169, 10178, 10187, 10196, 10205, - 10214, 10223, 10232, 10241, 10250, 10259, 10268, 10277, 10286, 10295, - 10304, 10313, 10322, 10331, 10359, 10367, 10376, 10402, 10411, 10418, - 10424, 10451, 10462, 10471, 10479, 10481, 10503, 10511, 10521, 10531, - 10550, 10569, 10579, 10589, 10599, 10610, 10621, 10632, 10643, 10654, - 10672, 10681, 10698, 10716, 10717, 10718, 10723, 10729, 10738, 10739, - 10740, 10741, 10742, 10746, 10747, 10750, 10751, 10752, 10753, 10757, - 10758, 10759, 10771, 10782, 10783, 10786, 10796, 10803, 10823, 10832, - 10840, 10849, 10858, 10866, 10874, 10882, 10890, 10898, 10906, 10914, - 10925, 10933, 10944, 10945, 10946, 10950, 10953, 10956, 10959, 10962, - 10969, 10971, 10973, 10978, 10980, 10984, 10985, 10986, 10998, 11012, - 11026, 11045, 11067, 11068, 11069, 11070, 11080, 11097, 11108, 11109, - 11113, 11114, 11118, 11122, 11126, 11144, 11145, 11146, 11147, 11148, - 11149, 11150, 11157, 11158, 11169, 11177, 11185, 11194, 11204, 11222, - 11231, 11240, 11249, 11261, 11265, 11276, 11288, 11306, 11313, 11330, - 11344, 11354, 11363, 11372, 11382, 11394, 11406, 11417, 11418, 11429, - 11440, 11452, 11464, 11476, 11488, 11498, 11511, 11512, 11526, 11551, - 11563, 11572, 11584, 11598, 11599, 11611, 11632, 11643, 11655, 11667, - 11671, 11678, 11679, 11683, 11690, 11691, 11695, 11696, 11697, 11701, - 11702, 11706, 11707, 11710, 11711, 11714, 11715, 11719, 11720, 11724, - 11731, 11733, 11738, 11739, 11752, 11760, 11771, 11779, 11790, 11791, - 11792, 11793, 11794, 11795, 11796, 11797, 11798, 11799, 11809, 11820, - 11821, 11825, 11826, 11827, 11828, 11829, 11839, 11847, 11865, 11885, - 11886, 11896, 11903, 11910, 11917, 11934, 11952, 11956, 11964, 11970, - 11977, 11983, 11990, 11999, 12000, 12004, 12006, 12011, 12022, 12032, - 12042, 12048, 12057, 12066, 12072, 12073, 12084, 12099, 12100, 12111, - 12122, 12123, 12126, 12127, 12128, 12129, 12130, 12131, 12132, 12133, - 12136, 12137, 12141, 12142, 12143, 12154, 12173, 12174, 12178, 12183, - 12207, 12218, 12219, 12231, 12249, 12250, 12254, 12261, 12268, 12275, - 12285, 12298, 12299, 12303, 12316, 12329, 12338, 12347, 12356, 12365, - 12377, 12389, 12401, 12404, 12405, 12406, 12407, 12408, 12409, 12412, - 12413, 12414, 12462, 12463, 12467, 12468, 12483, 12484, 12491, 12499, - 12507, 12515, 12523, 12531, 12542, 12543, 12575, 12591, 12608, 12609, - 12628, 12632, 12636, 12651, 12658, 12665, 12675, 12676, 12679, 12695, - 12696, 12697, 12701, 12711, 12722, 12728, 12740, 12753, 12759, 12760, - 12764, 12776, 12784, 12789, 12794, 12799, 12804, 12812, 12820, 12825, - 12830, 12837, 12838, 12842, 12843, 12844, 12851, 12852, 12856, 12857, - 12861, 12862, 12866, 12867, 12871, 12875, 12876, 12879, 12888, 12901, - 12906, 12911, 12915, 12927, 12928, 12932, 12941, 12957, 12966, 12975, - 12984, 12996, 12999, 13004, 13005, 13013, 13033, 13034, 13036, 13041, - 13042, 13046, 13047, 13050, 13051, 13076, 13085, 13095, 13096, 13100, - 13101, 13102, 13103, 13104, 13108, 13121, 13128, 13135, 13142, 13143, - 13147, 13148, 13152, 13153, 13157, 13158, 13162, 13174, 13175, 13176, - 13177, 13181, 13182, 13192, 13199, 13218, 13219, 13223, 13224, 13230, - 13235, 13244, 13252, 13261, 13268, 13276, 13312, 13338, 13342, 13368, - 13372, 13386, 13407, 13429, 13442, 13459, 13465, 13470, 13476, 13483, - 13484, 13494, 13500, 13508, 13512, 13516, 13523, 13531, 13536, 13537, - 13538, 13539, 13543, 13544, 13559, 13563, 13571, 13578, 13585, 13592, - 13599, 13610, 13611, 13624, 13628, 13636, 13650, 13664, 13665, 13680, - 13691, 13704, 13709, 13710, 13713, 13714, 13717, 13718, 13723, 13724, - 13729, 13730, 13739, 13744, 13745, 13749, 13753, 13759, 13784, 13795, - 13809, 13810, 13814, 13828, 13885, 13899, 13901, 13906, 13908, 13910, - 13912, 13917, 13919, 13924, 13932, 13952, 13957, 13964, 13969, 13975, - 13980, 13989, 13991, 13994, 13998, 13999, 14000, 14001, 14002, 14003, - 14008, 14028, 14029, 14030, 14031, 14042, 14048, 14056, 14057, 14063, - 14068, 14073, 14078, 14083, 14088, 14093, 14098, 14104, 14110, 14116, - 14123, 14145, 14154, 14158, 14166, 14170, 14178, 14190, 14211, 14215, - 14221, 14225, 14238, 14246, 14256, 14258, 14260, 14262, 14264, 14266, - 14271, 14272, 14279, 14288, 14296, 14305, 14316, 14324, 14325, 14326, - 14330, 14332, 14334, 14336, 14338, 14340, 14342, 14347, 14352, 14358, - 14366, 14371, 14378, 14385, 14389, 14393, 14429, 14430, 14432, 14441, - 14457, 14459, 14461, 14463, 14465, 14467, 14469, 14471, 14473, 14475, - 14477, 14479, 14481, 14483, 14486, 14488, 14491, 14493, 14495, 14497, - 14500, 14505, 14514, 14519, 14528, 14533, 14542, 14547, 14557, 14566, - 14575, 14584, 14603, 14612, 14621, 14630, 14639, 14656, 14665, 14674, - 14683, 14692, 14701, 14710, 14714, 14718, 14726, 14734, 14742, 14750, - 14771, 14794, 14806, 14813, 14829, 14834, 14840, 14847, 14854, 14862, - 14870, 14896, 14898, 14900, 14902, 14904, 14906, 14908, 14910, 14912, - 14914, 14916, 14918, 14920, 14922, 14924, 14926, 14928, 14930, 14932, - 14936, 14940, 14945, 14961, 14962, 14963, 14980, 14993, 14995, 14997, - 15009, 15034, 15046, 15058, 15066, 15077, 15088, 15098, 15104, 15113, - 15123, 15133, 15146, 15156, 15187, 15223, 15234, 15235, 15242, 15249, - 15253, 15257, 15261, 15265, 15269, 15273, 15277, 15281, 15285, 15289, - 15293, 15297, 15301, 15305, 15309, 15311, 15318, 15325, 15332, 15339, - 15350, 15364, 15374, 15385, 15401, 15411, 15418, 15425, 15432, 15436, - 15444, 15453, 15462, 15466, 15470, 15474, 15478, 15482, 15491, 15495, - 15505, 15509, 15513, 15518, 15533, 15535, 15539, 15541, 15543, 15546, - 15549, 15552, 15553, 15556, 15564, 15574, 15575, 15578, 15579, 15580, - 15585, 15589, 15593, 15597, 15604, 15605, 15613, 15614, 15618, 15619, - 15627, 15628, 15632, 15633, 15638, 15647, 15649, 15664, 15667, 15695, - 15696, 15699, 15700, 15708, 15716, 15724, 15733, 15743, 15761, 15807, - 15816, 15825, 15834, 15843, 15855, 15856, 15857, 15858, 15859, 15873, - 15874, 15875, 15878, 15879, 15882, 15885, 15886, 15887, 15890, 15891, - 15894, 15895, 15896, 15897, 15898, 15899, 15900, 15901, 15902, 15903, - 15904, 15905, 15908, 15910, 15915, 15917, 15922, 15924, 15926, 15928, - 15930, 15932, 15944, 15948, 15955, 15959, 15965, 15969, 15979, 15991, - 15992, 15995, 15996, 15999, 16003, 16007, 16013, 16014, 16019, 16023, - 16033, 16034, 16035, 16036, 16037, 16038, 16039, 16040, 16044, 16045, - 16046, 16047, 16052, 16057, 16066, 16087, 16091, 16096, 16107, 16124, - 16130, 16131, 16132, 16135, 16143, 16153, 16168, 16169, 16173, 16185, - 16186, 16189, 16190, 16193, 16197, 16204, 16208, 16212, 16221, 16233, - 16234, 16238, 16239, 16243, 16244, 16247, 16248, 16258, 16259, 16263, - 16264, 16267, 16275, 16283, 16291, 16314, 16315, 16326, 16330, 16336, - 16338, 16343, 16345, 16347, 16357, 16359, 16370, 16374, 16378, 16382, - 16386, 16395, 16403, 16435, 16442, 16474, 16478, 16485, 16493, 16497, - 16503, 16510, 16514, 16518, 16524, 16525, 16527, 16528, 16529, 16533, - 16574, 16602, 16606, 16610, 16616, 16618, 16632, 16668, 16681, 16682, - 16685, 16686, 16703, 16704, 16705, 16710, 16711, 16712, 16717, 16718, - 16719, 16720, 16726, 16727, 16728, 16729, 16730, 16736, 16737, 16757, - 16758, 16759, 16760, 16761, 16762, 16763, 16764, 16765, 16766, 16767, - 16768, 16769, 16770, 16771, 16772, 16773, 16774, 16775, 16776, 16777, - 16778, 16779, 16780, 16781, 16782, 16783, 16784, 16785, 16786, 16787, - 16788, 16789, 16790, 16791, 16792, 16793, 16794, 16795, 16796, 16797, - 16798, 16799, 16800, 16801, 16802, 16803, 16804, 16805, 16806, 16807, - 16808, 16809, 16810, 16811, 16812, 16813, 16814, 16815, 16816, 16817, - 16818, 16819, 16820, 16821, 16822, 16823, 16824, 16825, 16826, 16827, - 16828, 16829, 16830, 16831, 16832, 16833, 16834, 16835, 16836, 16837, - 16838, 16839, 16840, 16841, 16842, 16843, 16844, 16845, 16846, 16847, - 16848, 16849, 16850, 16851, 16852, 16853, 16854, 16855, 16856, 16857, - 16858, 16859, 16860, 16861, 16862, 16863, 16864, 16865, 16866, 16867, - 16868, 16869, 16870, 16871, 16872, 16873, 16874, 16875, 16876, 16877, - 16878, 16879, 16880, 16881, 16882, 16883, 16884, 16885, 16886, 16887, - 16888, 16889, 16890, 16891, 16892, 16893, 16894, 16895, 16896, 16897, - 16898, 16899, 16900, 16901, 16902, 16903, 16904, 16905, 16906, 16907, - 16908, 16909, 16910, 16911, 16912, 16913, 16914, 16915, 16916, 16917, - 16918, 16919, 16920, 16921, 16922, 16923, 16924, 16925, 16926, 16927, - 16928, 16929, 16930, 16931, 16932, 16933, 16934, 16935, 16936, 16937, - 16938, 16939, 16940, 16941, 16942, 16943, 16944, 16945, 16946, 16947, - 16948, 16949, 16950, 16951, 16952, 16953, 16954, 16955, 16956, 16957, - 16958, 16959, 16960, 16961, 16962, 16963, 16964, 16965, 16966, 16967, - 16968, 16969, 16970, 16971, 16972, 16973, 16974, 16975, 16976, 16977, - 16978, 16979, 16980, 16981, 16982, 16983, 16984, 16985, 16986, 16987, - 16988, 16989, 16990, 16991, 16992, 16993, 16994, 16995, 16996, 16997, - 16998, 16999, 17000, 17001, 17002, 17003, 17004, 17005, 17006, 17007, - 17008, 17009, 17010, 17011, 17012, 17013, 17014, 17015, 17016, 17017, - 17018, 17019, 17020, 17021, 17022, 17023, 17024, 17025, 17026, 17027, - 17028, 17029, 17030, 17031, 17032, 17033, 17034, 17035, 17036, 17037, - 17038, 17039, 17040, 17041, 17042, 17043, 17044, 17045, 17046, 17047, - 17048, 17049, 17050, 17051, 17052, 17053, 17054, 17055, 17056, 17057, - 17058, 17059, 17060, 17061, 17062, 17063, 17064, 17065, 17079, 17080, - 17081, 17082, 17083, 17084, 17085, 17086, 17087, 17088, 17089, 17090, - 17091, 17092, 17093, 17094, 17095, 17096, 17097, 17098, 17099, 17100, - 17101, 17102, 17103, 17104, 17105, 17106, 17107, 17108, 17109, 17110, - 17111, 17112, 17113, 17114, 17115, 17116, 17117, 17118, 17119, 17120, - 17121, 17122, 17123, 17124, 17125, 17126, 17127, 17128, 17129, 17143, - 17144, 17145, 17146, 17147, 17148, 17149, 17150, 17151, 17152, 17153, - 17154, 17155, 17156, 17157, 17158, 17159, 17160, 17161, 17162, 17163, - 17164, 17165, 17175, 17176, 17177, 17178, 17179, 17180, 17181, 17182, - 17183, 17184, 17185, 17186, 17187, 17188, 17189, 17190, 17191, 17192, - 17193, 17194, 17195, 17196, 17197, 17198, 17199, 17200, 17201, 17202, - 17203, 17204, 17205, 17206, 17207, 17208, 17209, 17210, 17211, 17212, - 17213, 17214, 17215, 17216, 17217, 17218, 17219, 17220, 17221, 17222, - 17223, 17224, 17225, 17226, 17227, 17228, 17229, 17230, 17231, 17232, - 17233, 17234, 17235, 17236, 17237, 17238, 17239, 17240, 17241, 17242, - 17243, 17244, 17245, 17246, 17247, 17248, 17249, 17250, 17251, 17264, - 17265, 17266, 17267, 17268, 17269, 17270, 17271, 17272, 17273, 17274, - 17275, 17276, 17277, 17278, 17279, 17280, 17281, 17282, 17283, 17284, - 17285, 17286, 17287, 17288, 17289, 17290, 17291, 17292, 17293, 17294, - 17295, 17296, 17297, 17298, 17299, 17300, 17301, 17302, 17303, 17304, - 17305, 17306, 17307, 17308, 17309, 17310, 17311, 17312, 17313, 17314, - 17315, 17316, 17317, 17318, 17319, 17320, 17321, 17322, 17323, 17324, - 17325, 17326, 17327, 17328, 17329, 17330, 17331, 17332, 17333, 17334, - 17335, 17336, 17337, 17338, 17339, 17340, 17341, 17342, 17343, 17344, - 17345, 17346, 17347, 17348, 17349, 17350, 17351, 17352, 17353, 17354, - 17355, 17356, 17357, 17358, 17359, 17360, 17361, 17362, 17363, 17364, - 17365, 17366, 17367, 17368, 17369, 17370, 17371, 17372, 17373, 17374, - 17375, 17376, 17377, 17378, 17379, 17380, 17381, 17382, 17383, 17384, - 17385, 17386, 17387, 17388, 17389, 17390, 17391, 17392, 17393, 17394, - 17395, 17396, 17397, 17398, 17399, 17400, 17401, 17402, 17403, 17404, - 17405, 17406, 17407, 17408, 17409, 17410, 17411, 17412, 17413, 17414, - 17415, 17416, 17417, 17418, 17419, 17420, 17421, 17422, 17423, 17424, - 17425, 17426, 17427, 17428, 17429, 17430, 17431, 17432, 17433, 17434, - 17435, 17436, 17437, 17438, 17439, 17440, 17441, 17442, 17443, 17444, - 17445, 17446, 17447, 17448, 17449, 17450, 17451, 17452, 17453, 17454, - 17455, 17456, 17457, 17458, 17459, 17460, 17461, 17462, 17463, 17464, - 17465, 17466, 17467, 17468, 17469, 17470, 17471, 17472, 17473, 17474, - 17475, 17476, 17477, 17478, 17479, 17480, 17481, 17482, 17483, 17484, - 17485, 17486, 17487, 17488, 17489, 17490, 17491, 17492, 17493, 17494, - 17495, 17496, 17497, 17498, 17499, 17500, 17501, 17502, 17503, 17504, - 17505, 17506, 17507, 17508, 17509, 17510, 17511, 17512, 17513, 17514, - 17515, 17516, 17517, 17518, 17519, 17520, 17521, 17522, 17523, 17524, - 17525, 17526, 17527, 17528, 17529, 17530, 17531, 17532, 17533, 17534, - 17535, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544, - 17545, 17546, 17547, 17548, 17549, 17550, 17551, 17552, 17553, 17554, - 17555, 17556, 17557, 17558, 17559, 17560, 17561, 17562, 17563, 17564, - 17565, 17566, 17567, 17568, 17569, 17570, 17571, 17572, 17573, 17574, - 17575, 17576, 17577, 17578, 17579, 17580, 17581, 17582, 17583, 17584, - 17585, 17586, 17587, 17588, 17589, 17590, 17591, 17592, 17593, 17594, - 17595, 17596, 17597, 17598, 17599, 17600, 17601, 17602, 17603, 17604, - 17605, 17606, 17607, 17608, 17609, 17610, 17611, 17612, 17613, 17614, - 17615, 17616, 17617, 17618, 17619, 17620, 17621, 17622, 17623, 17624, - 17625, 17626, 17627, 17628, 17629, 17630, 17631, 17632, 17633, 17634, - 17635, 17636, 17637, 17638, 17639, 17640, 17641, 17642, 17643, 17644, - 17645, 17646, 17647, 17648, 17649, 17650, 17651, 17652, 17653, 17654, - 17655, 17656, 17657, 17658, 17659, 17660, 17661, 17662, 17663, 17664, - 17665, 17666, 17667, 17668, 17669, 17670, 17671, 17672, 17673, 17674, - 17675, 17676, 17677, 17678, 17679, 17680, 17681, 17682, 17683, 17684 + 0, 923, 923, 928, 932, 937, 945, 953, 973, 985, + 999, 1000, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, + 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, + 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, + 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, + 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, + 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, + 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1123, 1124, 1125, 1126, 1127, 1129, 1136, 1137, 1141, + 1142, 1146, 1147, 1151, 1152, 1153, 1162, 1178, 1190, 1191, + 1192, 1201, 1202, 1206, 1207, 1211, 1216, 1221, 1225, 1235, + 1245, 1253, 1257, 1261, 1266, 1270, 1318, 1320, 1324, 1328, + 1332, 1336, 1350, 1369, 1378, 1390, 1391, 1395, 1404, 1413, + 1422, 1444, 1452, 1460, 1468, 1476, 1484, 1502, 1521, 1533, + 1534, 1545, 1556, 1567, 1583, 1602, 1609, 1617, 1618, 1619, + 1620, 1621, 1622, 1636, 1643, 1650, 1660, 1669, 1678, 1682, + 1691, 1700, 1708, 1719, 1720, 1729, 1741, 1749, 1758, 1766, + 1778, 1787, 1795, 1804, 1812, 1820, 1830, 1841, 1842, 1846, + 1847, 1850, 1852, 1854, 1858, 1859, 1860, 1861, 1865, 1866, + 1867, 1873, 1885, 1889, 1893, 1897, 1914, 1922, 1923, 1924, + 1928, 1929, 1930, 1934, 1935, 1939, 1943, 1944, 1952, 1960, + 1971, 1979, 1990, 1991, 1996, 1997, 2002, 2009, 2016, 2023, + 2030, 2041, 2052, 2053, 2057, 2058, 2066, 2082, 2089, 2096, + 2103, 2110, 2130, 2140, 2150, 2160, 2170, 2182, 2194, 2204, + 2214, 2224, 2236, 2248, 2258, 2268, 2278, 2288, 2298, 2308, + 2320, 2332, 2342, 2355, 2356, 2361, 2375, 2388, 2404, 2421, + 2431, 2441, 2451, 2461, 2471, 2480, 2489, 2499, 2508, 2518, + 2528, 2544, 2554, 2564, 2574, 2584, 2601, 2611, 2621, 2631, + 2642, 2656, 2672, 2682, 2691, 2707, 2716, 2727, 2738, 2746, + 2755, 2764, 2772, 2780, 2789, 2798, 2807, 2815, 2823, 2832, + 2840, 2848, 2857, 2866, 2875, 2884, 2893, 2902, 2913, 2921, + 2930, 2939, 2948, 2957, 2966, 2975, 2983, 2991, 2999, 3006, + 3017, 3018, 3022, 3031, 3035, 3036, 3040, 3048, 3056, 3064, + 3075, 3078, 3079, 3083, 3084, 3089, 3093, 3097, 3102, 3109, + 3111, 3116, 3120, 3124, 3135, 3142, 3143, 3147, 3148, 3153, + 3206, 3219, 3233, 3245, 3252, 3256, 3270, 3283, 3284, 3289, + 3299, 3310, 3321, 3348, 3355, 3389, 3425, 3448, 3449, 3453, + 3454, 3463, 3464, 3465, 3468, 3469, 3474, 3475, 3479, 3483, + 3487, 3491, 3495, 3499, 3503, 3507, 3511, 3515, 3519, 3523, + 3527, 3531, 3535, 3544, 3548, 3552, 3556, 3560, 3561, 3566, + 3570, 3577, 3584, 3585, 3586, 3587, 3588, 3589, 3593, 3597, + 3605, 3616, 3636, 3656, 3677, 3698, 3719, 3753, 3754, 3755, + 3756, 3757, 3764, 3771, 3772, 3776, 3777, 3781, 3782, 3786, + 3790, 3797, 3801, 3808, 3809, 3810, 3814, 3815, 3818, 3842, + 3861, 3883, 3884, 3888, 3889, 3893, 3894, 3898, 3899, 3903, + 3904, 3908, 3916, 3917, 3918, 3950, 3958, 3966, 3979, 3991, + 4004, 4014, 4024, 4048, 4068, 4069, 4070, 4074, 4075, 4094, + 4102, 4110, 4118, 4130, 4142, 4143, 4144, 4148, 4149, 4150, + 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4166, 4174, 4178, + 4192, 4210, 4226, 4243, 4259, 4279, 4314, 4322, 4326, 4340, + 4356, 4357, 4361, 4362, 4366, 4367, 4370, 4376, 4377, 4380, + 4384, 4392, 4397, 4403, 4404, 4408, 4413, 4420, 4421, 4425, + 4435, 4445, 4453, 4462, 4475, 4487, 4494, 4502, 4510, 4518, + 4526, 4536, 4537, 4541, 4542, 4545, 4557, 4558, 4561, 4572, + 4583, 4597, 4598, 4603, 4604, 4605, 4608, 4609, 4610, 4611, + 4614, 4615, 4618, 4619, 4622, 4642, 4655, 4677, 4678, 4681, + 4687, 4693, 4710, 4719, 4741, 4755, 4772, 4788, 4789, 4790, + 4802, 4816, 4833, 4847, 4848, 4860, 4881, 4892, 4906, 4915, + 4927, 4928, 4931, 4932, 4935, 4936, 4939, 4943, 4947, 4951, + 4955, 4959, 4963, 4967, 4971, 4975, 4979, 4983, 4987, 4991, + 4995, 4999, 5005, 5006, 5010, 5011, 5012, 5019, 5022, 5023, + 5035, 5051, 5067, 5068, 5076, 5077, 5081, 5082, 5086, 5087, + 5091, 5092, 5096, 5097, 5107, 5119, 5120, 5133, 5141, 5159, + 5168, 5180, 5183, 5187, 5191, 5195, 5202, 5214, 5225, 5228, + 5232, 5245, 5255, 5265, 5275, 5285, 5295, 5305, 5315, 5325, + 5335, 5345, 5355, 5365, 5384, 5396, 5397, 5398, 5399, 5403, + 5404, 5408, 5409, 5419, 5428, 5441, 5442, 5446, 5450, 5458, + 5462, 5466, 5473, 5477, 5482, 5487, 5494, 5501, 5506, 5516, + 5529, 5545, 5546, 5551, 5552, 5556, 5557, 5567, 5577, 5586, + 5604, 5625, 5646, 5668, 5702, 5718, 5719, 5723, 5732, 5747, + 5757, 5770, 5771, 5783, 5792, 5810, 5835, 5853, 5868, 5869, + 5873, 5874, 5878, 5879, 5883, 5884, 5888, 5902, 5906, 5907, + 5911, 5912, 5913, 5914, 5915, 5925, 5937, 5938, 5949, 5972, + 6004, 6005, 6006, 6010, 6012, 6034, 6036, 6038, 6040, 6042, + 6047, 6048, 6052, 6053, 6057, 6069, 6070, 6074, 6083, 6087, + 6091, 6096, 6106, 6107, 6111, 6112, 6116, 6117, 6121, 6122, + 6126, 6127, 6128, 6132, 6136, 6137, 6138, 6142, 6143, 6148, + 6149, 6176, 6177, 6178, 6179, 6180, 6181, 6194, 6205, 6220, + 6222, 6227, 6232, 6234, 6239, 6250, 6251, 6252, 6253, 6264, + 6283, 6295, 6308, 6319, 6330, 6342, 6351, 6359, 6367, 6377, + 6387, 6397, 6407, 6417, 6428, 6438, 6451, 6454, 6455, 6458, + 6462, 6469, 6470, 6471, 6472, 6473, 6474, 6477, 6480, 6481, + 6489, 6496, 6497, 6500, 6502, 6513, 6525, 6537, 6549, 6561, + 6590, 6591, 6607, 6623, 6624, 6628, 6641, 6652, 6661, 6671, + 6681, 6682, 6685, 6686, 6689, 6690, 6691, 6694, 6708, 6713, + 6724, 6734, 6747, 6748, 6752, 6761, 6774, 6785, 6799, 6810, + 6833, 6844, 6863, 6874, 6885, 6896, 6907, 6918, 6929, 6940, + 6951, 6962, 6973, 6984, 6999, 7000, 7001, 7002, 7003, 7004, + 7005, 7006, 7007, 7008, 7009, 7010, 7011, 7021, 7022, 7023, + 7024, 7025, 7029, 7030, 7031, 7032, 7033, 7034, 7035, 7036, + 7041, 7042, 7043, 7047, 7048, 7051, 7052, 7055, 7057, 7062, + 7063, 7074, 7086, 7087, 7088, 7098, 7107, 7116, 7125, 7134, + 7143, 7152, 7161, 7170, 7179, 7193, 7202, 7211, 7220, 7229, + 7238, 7247, 7256, 7268, 7269, 7283, 7294, 7305, 7316, 7327, + 7338, 7349, 7360, 7371, 7382, 7395, 7396, 7399, 7400, 7410, + 7417, 7426, 7435, 7444, 7453, 7462, 7471, 7480, 7489, 7498, + 7507, 7516, 7525, 7534, 7543, 7552, 7561, 7572, 7573, 7576, + 7577, 7587, 7605, 7621, 7649, 7651, 7653, 7655, 7663, 7673, + 7674, 7677, 7685, 7693, 7701, 7708, 7719, 7723, 7730, 7734, + 7745, 7754, 7763, 7772, 7781, 7790, 7799, 7808, 7817, 7826, + 7835, 7844, 7853, 7861, 7870, 7879, 7888, 7897, 7906, 7915, + 7924, 7937, 7938, 7942, 7943, 7948, 7949, 7959, 7970, 7984, + 7996, 8014, 8015, 8019, 8026, 8027, 8028, 8031, 8032, 8042, + 8053, 8054, 8058, 8062, 8066, 8077, 8091, 8106, 8124, 8125, + 8126, 8127, 8128, 8129, 8141, 8173, 8208, 8209, 8213, 8214, + 8217, 8218, 8223, 8235, 8254, 8259, 8264, 8271, 8272, 8275, + 8276, 8279, 8280, 8284, 8285, 8286, 8289, 8290, 8291, 8307, + 8321, 8336, 8350, 8367, 8368, 8371, 8372, 8376, 8377, 8381, + 8382, 8387, 8401, 8409, 8417, 8433, 8434, 8438, 8439, 8454, + 8464, 8474, 8484, 8494, 8507, 8508, 8509, 8510, 8511, 8517, + 8521, 8536, 8537, 8543, 8553, 8557, 8562, 8570, 8612, 8616, + 8620, 8624, 8632, 8633, 8637, 8649, 8650, 8655, 8656, 8661, + 8662, 8669, 8673, 8677, 8681, 8685, 8689, 8693, 8697, 8701, + 8705, 8709, 8713, 8717, 8721, 8725, 8729, 8734, 8741, 8745, + 8749, 8753, 8757, 8763, 8764, 8770, 8780, 8784, 8795, 8801, + 8810, 8816, 8817, 8821, 8822, 8826, 8827, 8830, 8843, 8847, + 8862, 8871, 8880, 8893, 8894, 8899, 8900, 8917, 8928, 8939, + 8950, 8961, 8972, 8986, 8997, 9011, 9022, 9036, 9044, 9046, + 9048, 9053, 9055, 9060, 9061, 9066, 9085, 9095, 9096, 9100, + 9104, 9116, 9128, 9140, 9154, 9155, 9156, 9160, 9173, 9174, + 9184, 9197, 9201, 9205, 9209, 9216, 9238, 9251, 9264, 9279, + 9280, 9283, 9284, 9287, 9288, 9298, 9308, 9326, 9336, 9346, + 9356, 9366, 9376, 9386, 9396, 9406, 9416, 9426, 9436, 9446, + 9457, 9468, 9478, 9488, 9498, 9508, 9518, 9528, 9539, 9550, + 9561, 9572, 9583, 9594, 9605, 9616, 9627, 9638, 9649, 9660, + 9672, 9684, 9696, 9708, 9720, 9732, 9743, 9754, 9766, 9778, + 9789, 9800, 9809, 9819, 9829, 9839, 9849, 9859, 9869, 9879, + 9889, 9899, 9914, 9915, 9918, 9919, 9929, 9939, 9949, 9959, + 9970, 9980, 9992, 9993, 10003, 10013, 10023, 10033, 10043, 10053, + 10063, 10073, 10083, 10093, 10103, 10113, 10123, 10133, 10143, 10153, + 10163, 10173, 10183, 10193, 10203, 10213, 10223, 10233, 10243, 10253, + 10263, 10282, 10292, 10293, 10296, 10298, 10300, 10306, 10307, 10308, + 10309, 10310, 10322, 10338, 10347, 10356, 10365, 10374, 10383, 10392, + 10401, 10410, 10419, 10428, 10437, 10446, 10455, 10464, 10473, 10482, + 10491, 10500, 10509, 10518, 10527, 10536, 10545, 10573, 10581, 10590, + 10616, 10625, 10632, 10638, 10665, 10676, 10685, 10693, 10695, 10717, + 10725, 10735, 10745, 10764, 10783, 10793, 10803, 10813, 10824, 10835, + 10846, 10857, 10868, 10886, 10895, 10912, 10930, 10931, 10932, 10937, + 10943, 10952, 10953, 10954, 10955, 10956, 10960, 10961, 10964, 10965, + 10966, 10967, 10971, 10972, 10973, 10985, 10996, 10997, 11000, 11010, + 11017, 11037, 11047, 11056, 11066, 11076, 11085, 11094, 11103, 11112, + 11121, 11130, 11139, 11151, 11160, 11172, 11173, 11174, 11178, 11181, + 11184, 11187, 11190, 11197, 11199, 11201, 11206, 11208, 11212, 11213, + 11214, 11226, 11240, 11254, 11273, 11295, 11296, 11297, 11298, 11308, + 11325, 11336, 11337, 11341, 11342, 11346, 11350, 11354, 11372, 11373, + 11374, 11375, 11376, 11377, 11378, 11385, 11386, 11397, 11405, 11413, + 11422, 11432, 11450, 11459, 11468, 11477, 11489, 11493, 11504, 11516, + 11534, 11541, 11558, 11572, 11582, 11591, 11600, 11610, 11622, 11634, + 11645, 11646, 11657, 11668, 11680, 11692, 11704, 11716, 11726, 11739, + 11740, 11754, 11778, 11787, 11797, 11809, 11821, 11835, 11836, 11848, + 11869, 11880, 11892, 11904, 11908, 11915, 11916, 11920, 11927, 11928, + 11929, 11933, 11934, 11935, 11939, 11940, 11944, 11945, 11948, 11949, + 11952, 11953, 11957, 11958, 11962, 11969, 11971, 11976, 11977, 11990, + 11998, 12009, 12017, 12028, 12029, 12030, 12031, 12032, 12033, 12034, + 12035, 12036, 12037, 12047, 12058, 12059, 12063, 12064, 12065, 12066, + 12067, 12077, 12085, 12103, 12123, 12124, 12134, 12143, 12152, 12161, + 12180, 12198, 12202, 12210, 12216, 12223, 12229, 12236, 12245, 12246, + 12250, 12252, 12257, 12268, 12278, 12288, 12294, 12303, 12312, 12318, + 12319, 12330, 12345, 12346, 12357, 12368, 12369, 12372, 12373, 12374, + 12375, 12376, 12377, 12378, 12379, 12382, 12383, 12387, 12388, 12389, + 12400, 12419, 12420, 12424, 12429, 12453, 12464, 12465, 12477, 12497, + 12498, 12508, 12515, 12522, 12529, 12539, 12552, 12553, 12557, 12558, + 12562, 12563, 12567, 12580, 12593, 12602, 12611, 12620, 12629, 12641, + 12653, 12665, 12668, 12669, 12670, 12671, 12672, 12673, 12676, 12677, + 12678, 12726, 12727, 12731, 12732, 12747, 12748, 12755, 12763, 12771, + 12779, 12787, 12795, 12806, 12807, 12839, 12855, 12872, 12873, 12892, + 12896, 12900, 12915, 12922, 12929, 12939, 12940, 12943, 12959, 12960, + 12961, 12965, 12975, 12986, 12992, 13004, 13017, 13023, 13024, 13028, + 13040, 13048, 13053, 13058, 13063, 13068, 13076, 13084, 13089, 13094, + 13101, 13102, 13106, 13107, 13108, 13115, 13116, 13120, 13121, 13125, + 13126, 13130, 13131, 13135, 13139, 13140, 13143, 13152, 13165, 13170, + 13175, 13179, 13191, 13192, 13196, 13205, 13221, 13230, 13239, 13248, + 13260, 13263, 13268, 13269, 13277, 13297, 13298, 13300, 13305, 13306, + 13310, 13311, 13314, 13315, 13340, 13349, 13359, 13360, 13364, 13365, + 13366, 13367, 13368, 13372, 13385, 13392, 13399, 13406, 13407, 13411, + 13412, 13416, 13417, 13421, 13422, 13426, 13438, 13439, 13440, 13441, + 13445, 13446, 13456, 13463, 13482, 13483, 13487, 13488, 13494, 13499, + 13508, 13516, 13525, 13532, 13540, 13549, 13558, 13562, 13567, 13574, + 13603, 13607, 13621, 13642, 13664, 13677, 13694, 13700, 13705, 13711, + 13718, 13719, 13729, 13735, 13743, 13747, 13751, 13758, 13766, 13771, + 13772, 13773, 13774, 13778, 13779, 13794, 13798, 13806, 13813, 13820, + 13827, 13834, 13845, 13846, 13859, 13863, 13871, 13885, 13899, 13900, + 13915, 13926, 13939, 13944, 13945, 13948, 13949, 13952, 13953, 13958, + 13959, 13964, 13965, 13974, 13979, 13980, 13984, 13988, 13994, 14019, + 14030, 14044, 14045, 14049, 14063, 14120, 14134, 14136, 14141, 14150, + 14152, 14154, 14156, 14161, 14163, 14168, 14176, 14187, 14215, 14216, + 14220, 14222, 14227, 14236, 14256, 14276, 14294, 14306, 14321, 14322, + 14326, 14329, 14342, 14347, 14354, 14359, 14365, 14370, 14379, 14381, + 14384, 14388, 14389, 14390, 14391, 14392, 14393, 14398, 14404, 14419, + 14420, 14421, 14422, 14423, 14434, 14440, 14448, 14449, 14455, 14460, + 14465, 14470, 14475, 14480, 14485, 14490, 14496, 14502, 14508, 14515, + 14537, 14546, 14550, 14558, 14562, 14570, 14582, 14603, 14607, 14613, + 14617, 14630, 14638, 14648, 14650, 14652, 14654, 14656, 14658, 14663, + 14664, 14671, 14680, 14688, 14697, 14708, 14716, 14717, 14718, 14722, + 14724, 14726, 14728, 14730, 14732, 14734, 14739, 14744, 14750, 14758, + 14763, 14770, 14777, 14781, 14785, 14793, 14828, 14829, 14831, 14840, + 14847, 14863, 14865, 14867, 14869, 14871, 14873, 14875, 14877, 14879, + 14881, 14883, 14885, 14887, 14889, 14892, 14894, 14897, 14899, 14901, + 14903, 14906, 14911, 14920, 14925, 14934, 14939, 14948, 14953, 14963, + 14972, 14981, 14990, 15009, 15018, 15027, 15036, 15045, 15062, 15071, + 15080, 15089, 15098, 15107, 15116, 15120, 15124, 15132, 15140, 15148, + 15156, 15177, 15200, 15212, 15219, 15235, 15240, 15246, 15253, 15260, + 15268, 15276, 15293, 15312, 15338, 15340, 15342, 15344, 15346, 15348, + 15350, 15352, 15354, 15356, 15358, 15360, 15362, 15364, 15366, 15368, + 15370, 15372, 15374, 15378, 15382, 15387, 15403, 15404, 15405, 15422, + 15435, 15437, 15439, 15451, 15476, 15488, 15500, 15508, 15519, 15530, + 15540, 15546, 15555, 15565, 15575, 15588, 15598, 15629, 15665, 15675, + 15686, 15687, 15688, 15695, 15702, 15706, 15710, 15714, 15718, 15722, + 15726, 15730, 15734, 15738, 15742, 15746, 15750, 15757, 15761, 15765, + 15769, 15771, 15778, 15785, 15792, 15799, 15810, 15824, 15834, 15845, + 15861, 15871, 15878, 15885, 15892, 15896, 15904, 15913, 15922, 15926, + 15930, 15934, 15938, 15942, 15951, 15955, 15965, 15969, 15973, 15978, + 15989, 15995, 16009, 16020, 16034, 16050, 16062, 16072, 16081, 16090, + 16098, 16120, 16136, 16160, 16162, 16166, 16168, 16170, 16173, 16176, + 16179, 16180, 16183, 16191, 16201, 16202, 16205, 16206, 16207, 16210, + 16211, 16212, 16217, 16221, 16225, 16229, 16236, 16237, 16245, 16246, + 16250, 16251, 16259, 16260, 16264, 16265, 16270, 16279, 16281, 16296, + 16299, 16327, 16328, 16331, 16332, 16340, 16348, 16356, 16365, 16375, + 16393, 16439, 16448, 16457, 16466, 16475, 16487, 16488, 16489, 16490, + 16491, 16505, 16506, 16507, 16510, 16511, 16514, 16517, 16518, 16519, + 16522, 16523, 16526, 16527, 16528, 16529, 16530, 16531, 16532, 16533, + 16534, 16535, 16536, 16537, 16540, 16542, 16547, 16549, 16554, 16556, + 16558, 16560, 16562, 16564, 16576, 16580, 16587, 16591, 16597, 16601, + 16611, 16623, 16624, 16627, 16628, 16631, 16635, 16639, 16645, 16646, + 16651, 16655, 16665, 16666, 16667, 16668, 16669, 16670, 16671, 16672, + 16676, 16677, 16678, 16679, 16684, 16689, 16698, 16719, 16723, 16728, + 16739, 16756, 16762, 16763, 16764, 16767, 16775, 16785, 16800, 16801, + 16805, 16817, 16818, 16821, 16822, 16825, 16829, 16836, 16840, 16844, + 16853, 16865, 16866, 16870, 16871, 16875, 16876, 16879, 16880, 16885, + 16886, 16890, 16891, 16895, 16907, 16908, 16909, 16910, 16911, 16912, + 16913, 16914, 16915, 16919, 16921, 16926, 16927, 16928, 16929, 16930, + 16931, 16932, 16934, 16938, 16940, 16942, 16945, 16949, 16952, 16956, + 16965, 16982, 16989, 16994, 17000, 17001, 17002, 17003, 17004, 17008, + 17017, 17031, 17032, 17033, 17034, 17035, 17044, 17045, 17046, 17047, + 17048, 17052, 17054, 17064, 17067, 17073, 17074, 17075, 17079, 17080, + 17081, 17085, 17086, 17090, 17108, 17128, 17129, 17138, 17139, 17143, + 17144, 17147, 17155, 17163, 17171, 17194, 17195, 17206, 17210, 17216, + 17218, 17223, 17225, 17227, 17237, 17239, 17250, 17254, 17258, 17262, + 17266, 17275, 17283, 17315, 17322, 17354, 17358, 17365, 17373, 17377, + 17383, 17390, 17394, 17398, 17404, 17405, 17407, 17408, 17409, 17413, + 17454, 17482, 17486, 17490, 17496, 17498, 17512, 17548, 17561, 17562, + 17565, 17566, 17583, 17584, 17585, 17590, 17591, 17592, 17597, 17598, + 17599, 17600, 17606, 17607, 17608, 17609, 17610, 17616, 17617, 17637, + 17638, 17639, 17640, 17641, 17642, 17643, 17644, 17645, 17646, 17647, + 17648, 17649, 17650, 17651, 17652, 17653, 17654, 17655, 17656, 17657, + 17658, 17659, 17660, 17661, 17662, 17663, 17664, 17665, 17666, 17667, + 17668, 17669, 17670, 17671, 17672, 17673, 17674, 17675, 17676, 17677, + 17678, 17679, 17680, 17681, 17682, 17683, 17684, 17685, 17686, 17687, + 17688, 17689, 17690, 17691, 17692, 17693, 17694, 17695, 17696, 17697, + 17698, 17699, 17700, 17701, 17702, 17703, 17704, 17705, 17706, 17707, + 17708, 17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, + 17718, 17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, + 17728, 17729, 17730, 17731, 17732, 17733, 17734, 17735, 17736, 17737, + 17738, 17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746, 17747, + 17748, 17749, 17750, 17751, 17752, 17753, 17754, 17755, 17756, 17757, + 17758, 17759, 17760, 17761, 17762, 17763, 17764, 17765, 17766, 17767, + 17768, 17769, 17770, 17771, 17772, 17773, 17774, 17775, 17776, 17777, + 17778, 17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, + 17788, 17789, 17790, 17791, 17792, 17793, 17794, 17795, 17796, 17797, + 17798, 17799, 17800, 17801, 17802, 17803, 17804, 17805, 17806, 17807, + 17808, 17809, 17810, 17811, 17812, 17813, 17814, 17815, 17816, 17817, + 17818, 17819, 17820, 17821, 17822, 17823, 17824, 17825, 17826, 17827, + 17828, 17829, 17830, 17831, 17832, 17833, 17834, 17835, 17836, 17837, + 17838, 17839, 17840, 17841, 17842, 17843, 17844, 17845, 17846, 17847, + 17848, 17849, 17850, 17851, 17852, 17853, 17854, 17855, 17856, 17857, + 17858, 17859, 17860, 17861, 17862, 17863, 17864, 17865, 17866, 17867, + 17868, 17869, 17870, 17871, 17872, 17873, 17874, 17875, 17876, 17877, + 17878, 17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886, 17887, + 17888, 17889, 17890, 17891, 17892, 17893, 17894, 17895, 17896, 17897, + 17898, 17899, 17900, 17901, 17902, 17903, 17904, 17905, 17906, 17907, + 17908, 17909, 17910, 17911, 17912, 17913, 17914, 17915, 17916, 17917, + 17918, 17919, 17920, 17921, 17922, 17923, 17924, 17925, 17926, 17927, + 17928, 17929, 17930, 17931, 17932, 17933, 17934, 17935, 17936, 17937, + 17938, 17939, 17940, 17941, 17942, 17943, 17944, 17945, 17946, 17947, + 17948, 17949, 17950, 17951, 17952, 17953, 17954, 17955, 17956, 17957, + 17958, 17959, 17960, 17961, 17962, 17963, 17977, 17978, 17979, 17980, + 17981, 17982, 17983, 17984, 17985, 17986, 17987, 17988, 17989, 17990, + 17991, 17992, 17993, 17994, 17995, 17996, 17997, 17998, 17999, 18000, + 18001, 18002, 18003, 18004, 18005, 18006, 18007, 18008, 18009, 18010, + 18011, 18012, 18013, 18014, 18015, 18016, 18017, 18018, 18019, 18020, + 18021, 18022, 18023, 18024, 18025, 18026, 18027, 18028, 18029, 18030, + 18031, 18032, 18033, 18034, 18035, 18036, 18037, 18038, 18039, 18053, + 18054, 18055, 18056, 18057, 18058, 18059, 18060, 18061, 18062, 18063, + 18064, 18065, 18066, 18067, 18068, 18069, 18070, 18071, 18072, 18073, + 18074, 18075, 18085, 18086, 18087, 18088, 18089, 18090, 18091, 18092, + 18093, 18094, 18095, 18096, 18097, 18098, 18099, 18100, 18101, 18102, + 18103, 18104, 18105, 18106, 18107, 18108, 18109, 18110, 18111, 18112, + 18113, 18114, 18115, 18116, 18117, 18118, 18119, 18120, 18121, 18122, + 18123, 18124, 18125, 18126, 18127, 18128, 18129, 18130, 18131, 18132, + 18133, 18134, 18135, 18136, 18137, 18138, 18139, 18140, 18141, 18142, + 18143, 18144, 18145, 18146, 18147, 18148, 18149, 18150, 18151, 18152, + 18153, 18154, 18155, 18156, 18157, 18158, 18159, 18160, 18161, 18162, + 18175, 18176, 18177, 18178, 18179, 18180, 18181, 18182, 18183, 18184, + 18185, 18186, 18187, 18188, 18189, 18190, 18191, 18192, 18193, 18194, + 18195, 18196, 18197, 18198, 18199, 18200, 18201, 18202, 18203, 18204, + 18205, 18206, 18207, 18208, 18209, 18210, 18211, 18212, 18213, 18214, + 18215, 18216, 18217, 18218, 18219, 18220, 18221, 18222, 18223, 18224, + 18225, 18226, 18227, 18228, 18229, 18230, 18231, 18232, 18233, 18234, + 18235, 18236, 18237, 18238, 18239, 18240, 18241, 18242, 18243, 18244, + 18245, 18246, 18247, 18248, 18249, 18250, 18251, 18252, 18253, 18254, + 18255, 18256, 18257, 18258, 18259, 18260, 18261, 18262, 18263, 18264, + 18265, 18266, 18267, 18268, 18269, 18270, 18271, 18272, 18273, 18274, + 18275, 18276, 18277, 18278, 18279, 18280, 18281, 18282, 18283, 18284, + 18285, 18286, 18287, 18288, 18289, 18290, 18291, 18292, 18293, 18294, + 18295, 18296, 18297, 18298, 18299, 18300, 18301, 18302, 18303, 18304, + 18305, 18306, 18307, 18308, 18309, 18310, 18311, 18312, 18313, 18314, + 18315, 18316, 18317, 18318, 18319, 18320, 18321, 18322, 18323, 18324, + 18325, 18326, 18327, 18328, 18329, 18330, 18331, 18332, 18333, 18334, + 18335, 18336, 18337, 18338, 18339, 18340, 18341, 18342, 18343, 18344, + 18345, 18346, 18347, 18348, 18349, 18350, 18351, 18352, 18353, 18354, + 18355, 18356, 18357, 18358, 18359, 18360, 18361, 18362, 18363, 18364, + 18365, 18366, 18367, 18368, 18369, 18370, 18371, 18372, 18373, 18374, + 18375, 18376, 18377, 18378, 18379, 18380, 18381, 18382, 18383, 18384, + 18385, 18386, 18387, 18388, 18389, 18390, 18391, 18392, 18393, 18394, + 18395, 18396, 18397, 18398, 18399, 18400, 18401, 18402, 18403, 18404, + 18405, 18406, 18407, 18408, 18409, 18410, 18411, 18412, 18413, 18414, + 18415, 18416, 18417, 18418, 18419, 18420, 18421, 18422, 18423, 18424, + 18425, 18426, 18427, 18428, 18429, 18430, 18431, 18432, 18433, 18434, + 18435, 18436, 18437, 18438, 18439, 18440, 18441, 18442, 18443, 18444, + 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452, 18453, 18454, + 18455, 18456, 18457, 18458, 18459, 18460, 18461, 18462, 18463, 18464, + 18465, 18466, 18467, 18468, 18469, 18470, 18471, 18472, 18473, 18474, + 18475, 18476, 18477, 18478, 18479, 18480, 18481, 18482, 18483, 18484, + 18485, 18486, 18487, 18488, 18489, 18490, 18491, 18492, 18493, 18494, + 18495, 18496, 18497, 18498, 18499, 18500, 18501, 18502, 18503, 18504, + 18505, 18506, 18507, 18508, 18509, 18510, 18511, 18512, 18513, 18514, + 18515, 18516, 18517, 18518, 18519, 18520, 18521, 18522, 18523, 18524, + 18525, 18526, 18527, 18528, 18529, 18530, 18531, 18532, 18533, 18534, + 18535, 18536, 18537, 18538, 18539, 18540, 18541, 18542, 18543, 18544, + 18545, 18546, 18547, 18548, 18549, 18550, 18551, 18552, 18553, 18554, + 18555, 18556, 18557, 18558, 18559, 18560, 18561, 18562, 18563, 18564, + 18565, 18566, 18567, 18568, 18569, 18570, 18571, 18572, 18573, 18574, + 18575, 18576, 18577, 18578, 18579, 18580, 18581, 18582, 18583, 18584, + 18585, 18586, 18587, 18588, 18589, 18590, 18591, 18592, 18593, 18594, + 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602, 18603, 18604, + 18605, 18606, 18607, 18608, 18609, 18610, 18611, 18612, 18613, 18614, + 18615, 18616, 18617, 18618, 18619, 18620, 18621, 18622, 18623, 18624, + 18625, 18626 }; #endif @@ -3542,101 +3715,108 @@ static const char *const yytname[] = "USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "SQL_COMMENT", "C_COMMENT", "ABORT_P", - "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", - "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", - "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT", - "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", - "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", - "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED", - "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P", - "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", - "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS", - "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", - "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT", - "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST", - "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG", - "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME", - "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P", - "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", - "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", - "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC", "DETACH", - "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", - "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", - "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", - "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", - "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", - "FILTER", "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", - "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", - "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", - "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", - "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", - "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX", - "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", - "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", - "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", - "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", - "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", - "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", - "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED", - "MATERIALIZED", "MAXVALUE", "MERGE", "METHOD", "MINUTE_P", "MINVALUE", - "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", - "NCHAR", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE", + "ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", + "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", + "AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", + "ASSIGNMENT", "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", + "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", + "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", + "CALLED", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", + "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", + "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", + "COLUMNS", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION", + "CONCURRENTLY", "CONDITIONAL", "CONFIGURATION", "CONFLICT", "CONNECTION", + "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", + "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", + "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", + "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", + "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", + "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", + "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC", + "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO", + "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P", + "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ERROR_P", + "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", + "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION", "EXTERNAL", + "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FINALIZE", "FIRST_P", + "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORMAT", "FORWARD", + "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS", "GENERATED", "GLOBAL", + "GRANT", "GRANTED", "GREATEST", "GROUP_P", "GROUPING", "GROUPS", + "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", + "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", + "INCLUDE", "INCLUDING", "INCREMENT", "INDENT", "INDEX", "INDEXES", + "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT", + "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", + "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", + "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG", "JSON_EXISTS", + "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY", "JSON_SCALAR", + "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP", "KEY", "KEYS", + "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", + "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", + "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", + "LOGGED", "MAPPING", "MATCH", "MATCHED", "MATERIALIZED", "MAXVALUE", + "MERGE", "MERGE_ACTION", "METHOD", "MINUTE_P", "MINVALUE", "MODE", + "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR", + "NESTED", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF", - "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", - "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", - "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER", + "OFF", "OFFSET", "OIDS", "OLD", "OMIT", "ON", "ONLY", "OPERATOR", + "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", + "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER", "PARSER", "PARTIAL", "PARTITION", "PASSING", - "PASSWORD", "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", - "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", - "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", - "PUBLICATION", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", - "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", - "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", - "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS", - "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", - "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", - "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", - "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS", - "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT", - "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P", "START", - "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED", - "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT", - "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE", - "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", - "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", - "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", - "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", - "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", - "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES", - "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW", - "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH", - "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", + "PASSWORD", "PATH", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION", + "PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", + "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", + "PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL", + "REASSIGN", "RECHECK", "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", + "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", + "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN", + "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", + "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", + "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P", "SECURITY", + "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", + "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", + "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", + "STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", + "STDOUT", "STORAGE", "STORED", "STRICT_P", "STRING_P", "STRIP_P", + "SUBSCRIPTION", "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", + "SYSTEM_USER", "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", + "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", + "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", + "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", + "UESCAPE", "UNBOUNDED", "UNCONDITIONAL", "UNCOMMITTED", "UNENCRYPTED", + "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", + "USER", "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", + "VALUES", "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", + "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", + "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE", - "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", - "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", - "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", - "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", - "')'", "'.'", "';'", "','", "':'", "$accept", "parse_toplevel", - "stmtmulti", "toplevel_stmt", "stmt", "CallStmt", "CreateRoleStmt", - "opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem", + "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA", "NOT_LA", "NULLS_LA", + "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", + "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", + "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", + "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'", "$accept", + "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt", + "opt_single_name", "opt_qualified_name", "opt_concurrently", + "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with", + "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt", - "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaName", - "OptSchemaEltList", "schema_stmt", "VariableSetStmt", "set_rest", - "generic_set", "set_rest_more", "var_name", "var_list", "var_value", - "iso_level", "opt_boolean_or_string", "zone_value", "opt_encoding", + "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList", + "schema_stmt", "VariableSetStmt", "set_rest", "generic_set", + "set_rest_more", "var_name", "var_list", "var_value", "iso_level", + "opt_boolean_or_string", "zone_value", "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest", "generic_reset", "SetResetClause", "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode", "CheckPointStmt", "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd", "index_partition_cmd", "alter_table_cmd", "alter_column_default", - "opt_drop_behavior", "opt_collate_clause", "alter_using", - "replica_identity", "reloptions", "opt_reloptions", "reloption_list", - "reloption_elem", "alter_identity_column_option_list", - "alter_identity_column_option", "PartitionBoundSpec", + "opt_collate_clause", "alter_using", "replica_identity", "reloptions", + "opt_reloptions", "reloption_list", "reloption_elem", + "alter_identity_column_option_list", "alter_identity_column_option", + "set_statistics_value", "set_access_method_name", "PartitionBoundSpec", "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt", "copy_from", "opt_program", "copy_file_name", "copy_options", @@ -3647,18 +3827,20 @@ static const char *const yytname[] = "OptTableElementList", "OptTypedTableElementList", "TableElementList", "TypedTableElementList", "TableElement", "TypedTableElement", "columnDef", "columnOptions", "column_compression", - "opt_column_compression", "ColQualList", "ColConstraint", - "ColConstraintElem", "opt_unique_null_treatment", "generated_when", - "ConstraintAttr", "TableLikeClause", "TableLikeOptionList", - "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit", - "opt_column_list", "columnList", "columnElem", "opt_c_include", - "key_match", "ExclusionConstraintList", "ExclusionConstraintElem", - "OptWhereClause", "key_actions", "key_update", "key_delete", - "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec", - "part_params", "part_elem", "table_access_method_clause", "OptWith", - "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex", - "CreateStatsStmt", "stats_params", "stats_param", "AlterStatsStmt", - "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt", + "opt_column_compression", "column_storage", "opt_column_storage", + "ColQualList", "ColConstraint", "ColConstraintElem", + "opt_unique_null_treatment", "generated_when", "ConstraintAttr", + "TableLikeClause", "TableLikeOptionList", "TableLikeOption", + "TableConstraint", "ConstraintElem", "DomainConstraint", + "DomainConstraintElem", "opt_no_inherit", "opt_column_list", + "columnList", "columnElem", "opt_c_include", "key_match", + "ExclusionConstraintList", "ExclusionConstraintElem", "OptWhereClause", + "key_actions", "key_update", "key_delete", "key_action", "OptInherit", + "OptPartitionSpec", "PartitionSpec", "part_params", "part_elem", + "table_access_method_clause", "OptWith", "OnCommitOption", + "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt", + "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt", + "create_as_target", "opt_with_data", "CreateMatViewStmt", "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt", "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList", "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list", @@ -3708,45 +3890,46 @@ static const char *const yytname[] = "RevokeStmt", "privileges", "privilege_list", "privilege", "parameter_name_list", "parameter_name", "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt", - "RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by", - "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption", - "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique", - "opt_concurrently", "opt_index_name", "access_method_clause", - "index_params", "index_elem_options", "index_elem", "opt_include", - "index_including_params", "opt_collate", "opt_class", "opt_asc_desc", - "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args", - "func_args_list", "function_with_argtypes_list", - "function_with_argtypes", "func_args_with_defaults", - "func_args_with_defaults_list", "func_arg", "arg_class", "param_name", - "func_return", "func_type", "func_arg_with_default", "aggr_arg", - "aggr_args", "aggr_args_list", "aggregate_with_argtypes", - "aggregate_with_argtypes_list", "opt_createfunc_opt_list", - "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item", - "func_as", "ReturnStmt", "opt_routine_body", "routine_body_stmt_list", - "routine_body_stmt", "transform_type_list", "opt_definition", - "table_func_column", "table_func_column_list", "AlterFunctionStmt", - "alterfunc_opt_list", "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", - "RemoveOperStmt", "oper_argtypes", "any_operator", - "operator_with_argtypes_list", "operator_with_argtypes", "DoStmt", - "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt", "cast_context", - "DropCastStmt", "opt_if_exists", "CreateTransformStmt", + "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt", + "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt", + "DefACLOptionList", "DefACLOption", "DefACLAction", + "defacl_privilege_target", "IndexStmt", "opt_unique", + "access_method_clause", "index_params", "index_elem_options", + "index_elem", "opt_include", "index_including_params", "opt_collate", + "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt", + "opt_or_replace", "func_args", "func_args_list", + "function_with_argtypes_list", "function_with_argtypes", + "func_args_with_defaults", "func_args_with_defaults_list", "func_arg", + "arg_class", "param_name", "func_return", "func_type", + "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list", + "aggregate_with_argtypes", "aggregate_with_argtypes_list", + "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item", + "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body", + "routine_body_stmt_list", "routine_body_stmt", "transform_type_list", + "opt_definition", "table_func_column", "table_func_column_list", + "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict", + "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes", + "any_operator", "operator_with_argtypes_list", "operator_with_argtypes", + "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt", + "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt", "transform_element_list", "DropTransformStmt", "ReindexStmt", - "reindex_target_type", "reindex_target_multitable", "AlterTblSpcStmt", - "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt", - "opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt", - "operator_def_list", "operator_def_elem", "operator_def_arg", - "AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt", - "PublicationObjSpec", "pub_obj_list", "AlterPublicationStmt", - "CreateSubscriptionStmt", "AlterSubscriptionStmt", - "DropSubscriptionStmt", "RuleStmt", "RuleActionList", "RuleActionMulti", - "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead", - "NotifyStmt", "notify_payload", "ListenStmt", "UnlistenStmt", - "TransactionStmt", "TransactionStmtLegacy", "opt_transaction", - "transaction_mode_item", "transaction_mode_list", - "transaction_mode_list_or_empty", "opt_transaction_chain", "ViewStmt", - "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list", - "createdb_opt_items", "createdb_opt_item", "createdb_opt_name", - "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt", + "reindex_target_relation", "reindex_target_all", + "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column", + "opt_set_data", "AlterObjectDependsStmt", "opt_no", + "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list", + "operator_def_elem", "operator_def_arg", "AlterTypeStmt", + "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec", + "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt", + "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt", + "RuleActionList", "RuleActionMulti", "RuleActionStmt", + "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt", + "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt", + "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item", + "transaction_mode_list", "transaction_mode_list_or_empty", + "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt", + "CreatedbStmt", "createdb_opt_list", "createdb_opt_items", + "createdb_opt_item", "createdb_opt_name", "opt_equal", + "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt", "drop_option_list", "drop_option", "AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with", @@ -3763,7 +3946,8 @@ static const char *const yytname[] = "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause", "set_target", "set_target_list", "MergeStmt", "merge_when_list", - "merge_when_clause", "opt_merge_when_condition", "merge_update", + "merge_when_clause", "merge_when_tgt_matched", + "merge_when_tgt_not_matched", "opt_merge_when_condition", "merge_update", "merge_delete", "merge_insert", "merge_values_clause", "DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens", "select_clause", @@ -3790,36 +3974,50 @@ static const char *const yytname[] = "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement", "xmltable", "xmltable_column_list", "xmltable_column_el", "xmltable_column_option_list", "xmltable_column_option_el", - "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds", + "xml_namespace_list", "xml_namespace_el", "json_table", + "json_table_path_name_opt", "json_table_column_definition_list", + "json_table_column_definition", "path_opt", + "json_table_column_path_clause_opt", "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime", "ConstInterval", "opt_timezone", "opt_interval", "interval_second", - "a_expr", "b_expr", "c_expr", "func_application", "func_expr", - "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version", - "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list", - "xml_attribute_el", "document_or_content", "xml_whitespace_option", - "xmlexists_argument", "xml_passing_mech", "within_group_clause", - "filter_clause", "window_clause", "window_definition_list", - "window_definition", "over_clause", "window_specification", - "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause", - "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row", - "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp", - "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list", - "func_arg_expr", "func_arg_list_opt", "type_list", "array_expr", - "array_expr_list", "extract_list", "extract_arg", "unicode_normal_form", - "overlay_list", "position_list", "substr_list", "trim_list", "in_expr", - "case_expr", "when_clause_list", "when_clause", "case_default", - "case_arg", "columnref", "indirection_el", "opt_slice_bound", - "indirection", "opt_indirection", "opt_asymmetric", "opt_target_list", - "target_list", "target_el", "qualified_name_list", "qualified_name", - "name_list", "name", "attr_name", "file_name", "func_name", "AexprConst", - "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list", - "PLpgSQL_Expr", "PLAssignStmt", "plassign_target", "plassign_equals", - "ColId", "type_function_name", "NonReservedWord", "ColLabel", - "BareColLabel", "unreserved_keyword", "col_name_keyword", - "type_func_name_keyword", "reserved_keyword", "bare_label_keyword", 0 + "JsonType", "a_expr", "b_expr", "c_expr", "func_application", + "func_expr", "func_expr_windowless", "func_expr_common_subexpr", + "xml_root_version", "opt_xml_root_standalone", "xml_attributes", + "xml_attribute_list", "xml_attribute_el", "document_or_content", + "xml_indent_option", "xml_whitespace_option", "xmlexists_argument", + "xml_passing_mech", "within_group_clause", "filter_clause", + "window_clause", "window_definition_list", "window_definition", + "over_clause", "window_specification", "opt_existing_window_name", + "opt_partition_clause", "opt_frame_clause", "frame_extent", + "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row", + "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op", + "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr", + "func_arg_list_opt", "type_list", "array_expr", "array_expr_list", + "extract_list", "extract_arg", "unicode_normal_form", "overlay_list", + "position_list", "substr_list", "trim_list", "in_expr", "case_expr", + "when_clause_list", "when_clause", "case_default", "case_arg", + "columnref", "indirection_el", "opt_slice_bound", "indirection", + "opt_indirection", "opt_asymmetric", "json_passing_clause_opt", + "json_arguments", "json_argument", "json_wrapper_behavior", + "json_behavior", "json_behavior_type", "json_behavior_clause_opt", + "json_on_error_clause_opt", "json_value_expr", "json_format_clause", + "json_format_clause_opt", "json_quotes_clause_opt", + "json_returning_clause_opt", "json_predicate_type_constraint", + "json_key_uniqueness_constraint_opt", "json_name_and_value_list", + "json_name_and_value", "json_object_constructor_null_clause_opt", + "json_array_constructor_null_clause_opt", "json_value_expr_list", + "json_aggregate_func", "json_array_aggregate_order_by_clause_opt", + "opt_target_list", "target_list", "target_el", "qualified_name_list", + "qualified_name", "name_list", "name", "attr_name", "file_name", + "func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId", + "RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt", + "plassign_target", "plassign_equals", "ColId", "type_function_name", + "NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword", + "col_name_keyword", "type_func_name_keyword", "reserved_keyword", + "bare_label_keyword", 0 }; #endif @@ -3877,336 +4075,361 @@ static const yytype_uint16 yytoknum[] = 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 60, 62, 61, 43, 45, 42, 47, 37, 94, 745, - 91, 93, 40, 41, 46, 59, 44, 58 + 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 60, 62, 61, 43, 45, 42, 47, + 37, 94, 778, 91, 93, 40, 41, 46, 59, 44, + 58 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { - 0, 508, 509, 509, 509, 509, 509, 509, 510, 510, - 511, 511, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 512, 512, 512, - 512, 512, 512, 512, 512, 512, 512, 513, 514, 515, - 515, 515, 516, 516, 517, 517, 518, 518, 518, 518, - 518, 518, 518, 518, 518, 518, 518, 519, 519, 519, - 519, 519, 519, 520, 521, 521, 522, 522, 523, 523, - 523, 523, 524, 524, 524, 524, 524, 524, 525, 526, - 527, 527, 528, 528, 528, 528, 529, 529, 530, 530, - 531, 531, 531, 531, 531, 531, 532, 532, 532, 533, - 533, 533, 534, 534, 534, 534, 535, 535, 535, 535, - 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, - 536, 536, 537, 537, 538, 538, 538, 539, 539, 539, - 539, 540, 540, 540, 540, 541, 541, 541, 541, 541, - 541, 541, 541, 542, 542, 542, 543, 543, 544, 545, - 545, 545, 545, 546, 546, 547, 547, 548, 548, 549, - 549, 549, 549, 549, 550, 551, 551, 552, 552, 553, - 554, 554, 554, 554, 554, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 555, 555, 555, 555, 555, 555, - 555, 555, 555, 555, 555, 555, 556, 556, 557, 557, - 557, 558, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 560, 560, 561, 561, 561, 562, 562, 563, - 563, 564, 564, 564, 564, 565, 566, 566, 567, 567, - 568, 568, 568, 568, 569, 569, 570, 570, 570, 570, - 571, 571, 571, 571, 572, 573, 573, 574, 575, 575, - 576, 576, 576, 576, 577, 577, 578, 578, 579, 579, - 580, 580, 581, 581, 581, 582, 582, 583, 583, 584, - 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, - 584, 584, 585, 585, 586, 586, 587, 587, 588, 588, - 589, 590, 590, 590, 590, 590, 591, 591, 592, 593, - 593, 593, 593, 593, 593, 594, 594, 594, 594, 594, - 594, 594, 594, 595, 595, 596, 596, 597, 597, 598, - 598, 599, 599, 599, 600, 600, 601, 602, 602, 603, - 603, 604, 604, 605, 605, 606, 606, 606, 606, 607, - 607, 607, 607, 607, 607, 607, 607, 607, 608, 608, - 608, 609, 609, 610, 610, 610, 610, 611, 612, 612, - 612, 613, 613, 613, 613, 613, 613, 613, 613, 613, - 613, 614, 614, 615, 615, 615, 615, 615, 615, 615, - 616, 616, 617, 617, 618, 618, 619, 620, 620, 621, + 0, 541, 542, 542, 542, 542, 542, 542, 543, 543, + 544, 544, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, + 545, 545, 545, 545, 545, 545, 545, 546, 546, 547, + 547, 548, 548, 549, 549, 549, 550, 551, 552, 552, + 552, 553, 553, 554, 554, 555, 555, 555, 555, 555, + 555, 555, 555, 555, 555, 555, 556, 556, 556, 556, + 556, 556, 557, 558, 558, 559, 559, 560, 560, 560, + 560, 561, 561, 561, 561, 561, 561, 562, 563, 564, + 564, 565, 565, 565, 565, 566, 566, 567, 567, 567, + 567, 567, 567, 568, 568, 568, 569, 569, 569, 570, + 570, 570, 570, 571, 571, 571, 571, 571, 571, 571, + 571, 571, 571, 571, 571, 571, 571, 572, 572, 573, + 573, 574, 574, 574, 575, 575, 575, 575, 576, 576, + 576, 576, 577, 577, 577, 577, 577, 577, 577, 577, + 578, 578, 578, 579, 579, 580, 581, 581, 581, 581, + 582, 582, 583, 583, 584, 584, 585, 585, 585, 585, + 585, 586, 587, 587, 588, 588, 589, 590, 590, 590, + 590, 590, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 591, 591, 591, 591, 591, 591, 591, + 591, 591, 591, 592, 592, 593, 593, 593, 594, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 595, 595, 595, 595, 595, 595, 595, 595, 595, 595, + 596, 596, 597, 597, 598, 598, 599, 599, 599, 599, + 600, 601, 601, 602, 602, 603, 603, 603, 603, 604, + 604, 605, 605, 605, 605, 606, 606, 607, 607, 608, + 608, 608, 608, 609, 610, 610, 611, 612, 612, 613, + 613, 613, 613, 614, 614, 615, 615, 616, 616, 617, + 617, 618, 618, 618, 619, 619, 620, 620, 621, 621, + 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 622, 622, 623, 623, 624, 624, 625, - 625, 625, 625, 625, 626, 627, 628, 628, 628, 628, - 628, 629, 629, 630, 630, 631, 632, 632, 633, 633, - 633, 634, 634, 635, 635, 635, 636, 636, 636, 636, - 637, 637, 638, 638, 639, 640, 640, 641, 641, 642, - 642, 642, 643, 643, 644, 644, 645, 646, 646, 646, - 647, 647, 648, 649, 649, 650, 651, 651, 652, 652, - 653, 653, 654, 654, 655, 655, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 657, 657, 658, 658, 658, 658, 659, 659, 660, 660, - 661, 661, 662, 662, 663, 663, 664, 664, 665, 665, - 666, 666, 667, 668, 668, 669, 669, 670, 670, 671, - 671, 672, 672, 672, 672, 673, 674, 674, 675, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 677, 678, 678, 678, 678, 679, 679, 680, - 680, 681, 681, 682, 682, 683, 683, 684, 685, 685, - 686, 686, 686, 686, 687, 688, 689, 690, 690, 691, - 691, 692, 692, 693, 693, 694, 694, 694, 695, 695, - 695, 695, 696, 697, 697, 698, 698, 699, 699, 700, - 700, 701, 701, 702, 703, 704, 705, 705, 706, 706, - 707, 707, 708, 708, 709, 709, 710, 710, 711, 711, - 711, 711, 711, 712, 713, 713, 714, 714, 715, 715, - 715, 716, 716, 717, 717, 717, 717, 717, 718, 718, - 719, 719, 720, 721, 721, 722, 722, 723, 724, 724, - 725, 725, 726, 726, 727, 727, 728, 728, 729, 729, - 729, 730, 730, 730, 730, 731, 731, 732, 732, 733, - 733, 733, 733, 733, 733, 734, 734, 735, 735, 736, - 737, 737, 738, 739, 739, 739, 739, 740, 741, 741, - 741, 741, 741, 741, 741, 741, 741, 741, 741, 741, - 741, 741, 741, 741, 742, 743, 743, 744, 744, 745, - 745, 745, 745, 745, 745, 746, 747, 747, 748, 749, - 749, 750, 750, 751, 751, 751, 751, 752, 752, 753, - 754, 754, 755, 755, 755, 755, 755, 756, 756, 757, - 757, 758, 758, 758, 759, 759, 760, 761, 761, 762, - 762, 763, 763, 764, 764, 765, 765, 766, 767, 768, - 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, - 768, 769, 769, 769, 769, 769, 769, 769, 769, 769, - 769, 769, 769, 769, 770, 770, 770, 770, 770, 771, - 771, 771, 771, 771, 771, 771, 771, 772, 772, 772, - 773, 773, 774, 774, 775, 775, 776, 776, 777, 778, - 778, 778, 779, 779, 779, 779, 779, 779, 779, 779, - 779, 779, 779, 779, 779, 779, 779, 779, 779, 779, - 780, 780, 781, 781, 781, 781, 781, 781, 781, 781, - 781, 781, 782, 782, 783, 783, 784, 784, 785, 785, - 785, 785, 785, 785, 785, 785, 785, 785, 785, 785, - 785, 785, 785, 785, 786, 786, 787, 787, 788, 789, - 789, 790, 790, 790, 790, 790, 791, 791, 792, 792, - 792, 792, 792, 793, 793, 794, 794, 795, 795, 795, - 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, - 795, 795, 795, 795, 795, 795, 795, 795, 796, 796, - 797, 797, 798, 798, 799, 800, 800, 801, 801, 802, - 802, 803, 804, 804, 805, 805, 805, 806, 806, 806, - 807, 807, 807, 807, 807, 807, 808, 808, 809, 809, - 810, 810, 811, 811, 812, 812, 813, 813, 814, 814, - 815, 815, 815, 816, 816, 817, 817, 818, 818, 819, - 819, 820, 820, 820, 821, 821, 821, 822, 822, 822, - 822, 823, 823, 824, 824, 825, 825, 826, 826, 827, - 827, 827, 827, 828, 828, 829, 829, 830, 830, 830, - 830, 830, 831, 831, 831, 831, 831, 832, 833, 834, - 834, 834, 835, 835, 835, 836, 837, 837, 837, 837, - 838, 838, 839, 840, 840, 841, 841, 842, 842, 843, - 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, - 843, 843, 843, 843, 843, 843, 844, 844, 844, 844, - 844, 845, 845, 846, 847, 847, 847, 848, 848, 849, - 849, 850, 850, 851, 851, 852, 853, 853, 854, 854, - 854, 855, 855, 856, 856, 857, 857, 857, 857, 857, - 857, 858, 858, 859, 859, 860, 860, 860, 860, 861, - 861, 862, 862, 863, 864, 865, 865, 866, 866, 867, - 867, 867, 868, 868, 868, 869, 870, 870, 871, 872, - 872, 872, 872, 873, 874, 874, 874, 874, 875, 875, - 876, 876, 876, 877, 877, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 878, 878, 878, 878, 878, 878, 878, 878, 878, 878, - 879, 879, 880, 880, 881, 881, 881, 881, 881, 881, - 882, 882, 883, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 883, - 883, 883, 883, 883, 883, 883, 883, 883, 883, 884, - 885, 885, 886, 886, 887, 887, 887, 887, 887, 888, - 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, - 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, - 889, 889, 889, 889, 890, 890, 890, 891, 891, 891, - 891, 891, 891, 891, 892, 892, 893, 893, 893, 893, - 894, 895, 895, 895, 895, 895, 895, 895, 895, 895, - 896, 896, 897, 898, 898, 898, 899, 899, 900, 900, - 900, 900, 900, 901, 901, 902, 902, 902, 902, 903, - 903, 903, 904, 905, 905, 906, 907, 907, 908, 908, - 908, 908, 908, 908, 908, 908, 908, 908, 908, 908, - 909, 909, 910, 910, 910, 911, 911, 911, 911, 911, - 912, 912, 912, 913, 913, 914, 914, 914, 915, 915, - 915, 915, 916, 916, 916, 916, 917, 918, 919, 919, - 920, 920, 921, 921, 921, 922, 922, 922, 922, 922, - 922, 922, 923, 923, 924, 924, 924, 924, 925, 926, - 926, 926, 926, 927, 927, 928, 929, 930, 930, 931, + 625, 626, 627, 627, 627, 627, 627, 627, 628, 628, + 629, 630, 630, 630, 630, 630, 630, 631, 631, 631, + 631, 631, 631, 631, 631, 632, 632, 633, 633, 634, + 634, 635, 635, 636, 636, 636, 637, 637, 638, 639, + 639, 640, 640, 641, 641, 642, 642, 643, 643, 644, + 644, 645, 645, 645, 645, 646, 646, 646, 646, 646, + 646, 646, 646, 646, 647, 647, 647, 648, 648, 649, + 649, 649, 649, 650, 651, 651, 651, 652, 652, 652, + 652, 652, 652, 652, 652, 652, 652, 653, 653, 654, + 654, 654, 654, 654, 654, 654, 655, 655, 656, 656, + 657, 657, 658, 658, 659, 659, 660, 661, 661, 662, + 662, 662, 662, 663, 663, 664, 664, 665, 665, 666, + 666, 666, 666, 666, 667, 668, 669, 669, 669, 669, + 669, 670, 670, 671, 671, 672, 673, 673, 674, 674, + 674, 675, 675, 676, 676, 676, 677, 677, 677, 677, + 678, 678, 679, 679, 680, 681, 681, 682, 682, 683, + 683, 683, 684, 684, 685, 685, 686, 687, 687, 687, + 688, 688, 689, 690, 690, 691, 692, 692, 693, 693, + 694, 694, 695, 695, 696, 696, 697, 697, 697, 697, + 697, 697, 697, 697, 697, 697, 697, 697, 697, 697, + 697, 697, 698, 698, 699, 699, 699, 699, 700, 700, + 701, 701, 702, 702, 703, 703, 704, 704, 705, 705, + 706, 706, 707, 707, 708, 709, 709, 710, 710, 711, + 711, 712, 712, 713, 713, 713, 713, 714, 715, 715, + 716, 717, 717, 717, 717, 717, 717, 717, 717, 717, + 717, 717, 717, 717, 718, 719, 719, 719, 719, 720, + 720, 721, 721, 722, 722, 723, 723, 724, 724, 725, + 726, 726, 727, 727, 727, 727, 728, 729, 730, 731, + 731, 732, 732, 733, 733, 734, 734, 735, 735, 735, + 736, 736, 736, 736, 737, 738, 738, 739, 739, 740, + 740, 741, 741, 742, 742, 743, 744, 745, 746, 746, + 747, 747, 748, 748, 749, 749, 750, 750, 751, 751, + 752, 752, 752, 752, 752, 753, 754, 754, 755, 755, + 756, 756, 756, 757, 757, 758, 758, 758, 758, 758, + 759, 759, 760, 760, 761, 762, 762, 763, 763, 764, + 765, 765, 766, 766, 767, 767, 768, 768, 769, 769, + 770, 770, 770, 771, 771, 771, 771, 772, 772, 773, + 773, 774, 774, 774, 774, 774, 774, 775, 775, 776, + 776, 777, 778, 778, 779, 780, 780, 780, 780, 781, + 782, 782, 782, 782, 782, 782, 782, 782, 782, 782, + 782, 782, 782, 782, 782, 782, 783, 784, 784, 785, + 785, 786, 786, 786, 786, 786, 786, 787, 788, 788, + 789, 790, 790, 791, 791, 792, 792, 792, 792, 792, + 793, 793, 794, 795, 795, 796, 796, 796, 796, 796, + 797, 797, 798, 798, 799, 799, 799, 800, 800, 801, + 802, 802, 803, 803, 804, 804, 805, 805, 806, 806, + 807, 808, 809, 809, 809, 809, 809, 809, 809, 809, + 809, 809, 809, 809, 810, 810, 810, 810, 810, 810, + 810, 810, 810, 810, 810, 810, 810, 811, 811, 811, + 811, 811, 812, 812, 812, 812, 812, 812, 812, 812, + 813, 813, 813, 814, 814, 815, 815, 816, 816, 817, + 817, 818, 819, 819, 819, 820, 820, 820, 820, 820, + 820, 820, 820, 820, 820, 820, 820, 820, 820, 820, + 820, 820, 820, 821, 821, 822, 822, 822, 822, 822, + 822, 822, 822, 822, 822, 823, 823, 824, 824, 825, + 825, 826, 826, 826, 826, 826, 826, 826, 826, 826, + 826, 826, 826, 826, 826, 826, 826, 827, 827, 828, + 828, 829, 830, 830, 831, 831, 831, 831, 831, 832, + 832, 833, 833, 833, 833, 833, 834, 834, 835, 835, + 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, + 836, 836, 836, 836, 836, 836, 836, 836, 836, 836, + 836, 837, 837, 838, 838, 839, 839, 840, 840, 841, + 841, 842, 842, 843, 844, 844, 844, 845, 845, 846, + 847, 847, 848, 848, 848, 849, 849, 849, 850, 850, + 850, 850, 850, 850, 851, 851, 852, 852, 853, 853, + 854, 854, 855, 855, 856, 856, 856, 857, 857, 858, + 858, 859, 859, 860, 860, 860, 861, 861, 861, 862, + 862, 862, 862, 863, 863, 864, 864, 865, 865, 866, + 866, 867, 867, 867, 867, 868, 868, 869, 869, 870, + 870, 870, 870, 870, 871, 871, 871, 871, 871, 872, + 873, 874, 874, 874, 875, 875, 875, 876, 877, 877, + 877, 877, 878, 878, 879, 880, 880, 881, 881, 882, + 882, 883, 883, 883, 883, 883, 883, 883, 883, 883, + 883, 883, 883, 883, 883, 883, 883, 883, 884, 884, + 884, 884, 884, 885, 885, 886, 887, 887, 887, 888, + 888, 889, 889, 890, 890, 891, 891, 892, 893, 893, + 894, 894, 894, 895, 895, 896, 896, 897, 897, 897, + 897, 897, 897, 898, 898, 899, 899, 900, 900, 900, + 900, 901, 901, 902, 902, 903, 904, 905, 905, 906, + 906, 907, 907, 907, 908, 908, 908, 909, 910, 910, + 911, 912, 912, 912, 912, 913, 914, 914, 914, 915, + 915, 916, 916, 917, 917, 918, 918, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 919, 919, 919, 919, 919, 919, 919, 919, + 919, 919, 920, 920, 921, 921, 922, 922, 922, 922, + 922, 922, 923, 923, 924, 924, 924, 924, 924, 924, + 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, + 924, 924, 924, 924, 924, 924, 924, 924, 924, 924, + 924, 925, 926, 926, 927, 927, 927, 928, 928, 928, + 928, 928, 929, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 930, 930, 930, + 930, 930, 930, 930, 930, 930, 930, 931, 931, 931, 932, 932, 932, 932, 932, 932, 932, 933, 933, 934, - 935, 935, 935, 935, 935, 935, 936, 936, 937, 938, - 938, 938, 938, 939, 939, 940, 940, 941, 941, 942, - 942, 943, 943, 944, 945, 945, 946, 946, 946, 947, - 947, 948, 948, 949, 949, 950, 950, 951, 951, 952, - 953, 953, 954, 954, 955, 955, 955, 955, 956, 956, - 956, 956, 956, 956, 956, 956, 956, 956, 957, 958, - 958, 959, 959, 959, 959, 959, 960, 960, 960, 961, - 961, 962, 962, 962, 962, 963, 964, 964, 965, 965, - 965, 965, 965, 966, 966, 967, 967, 968, 969, 969, - 969, 970, 970, 970, 971, 971, 972, 973, 973, 974, - 975, 975, 976, 976, 976, 976, 976, 976, 976, 976, - 977, 977, 978, 978, 978, 979, 980, 980, 981, 981, - 982, 983, 983, 984, 985, 985, 986, 986, 986, 986, - 986, 987, 987, 988, 989, 990, 990, 990, 990, 990, - 991, 992, 993, 994, 994, 994, 994, 994, 994, 995, - 995, 995, 996, 996, 997, 997, 998, 998, 998, 998, - 998, 998, 998, 998, 999, 999, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1001, 1001, 1001, 1002, 1002, 1003, 1004, - 1004, 1004, 1005, 1005, 1005, 1006, 1006, 1006, 1007, 1007, - 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1010, 1010, 1011, 1011, 1011, 1012, 1012, 1013, 1013, - 1014, 1014, 1015, 1015, 1016, 1017, 1017, 1018, 1018, 1019, - 1019, 1019, 1019, 1020, 1020, 1021, 1021, 1021, 1021, 1021, - 1021, 1022, 1022, 1023, 1023, 1024, 1025, 1025, 1025, 1026, - 1026, 1027, 1027, 1028, 1028, 1029, 1029, 1030, 1030, 1031, - 1031, 1031, 1031, 1031, 1032, 1033, 1034, 1035, 1036, 1036, - 1037, 1037, 1038, 1038, 1039, 1039, 1040, 1041, 1041, 1041, - 1041, 1042, 1042, 1043, 1043, 1044, 1044, 1045, 1045, 1046, - 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1047, - 1047, 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1048, 1049, - 1049, 1050, 1050, 1051, 1051, 1051, 1051, 1051, 1052, 1052, - 1052, 1052, 1053, 1053, 1054, 1054, 1055, 1055, 1056, 1056, - 1056, 1057, 1057, 1058, 1058, 1058, 1059, 1060, 1060, 1061, - 1061, 1062, 1063, 1063, 1064, 1064, 1065, 1065, 1066, 1066, - 1067, 1067, 1067, 1068, 1068, 1069, 1069, 1070, 1071, 1071, - 1072, 1072, 1073, 1073, 1073, 1074, 1074, 1075, 1075, 1075, - 1075, 1076, 1076, 1077, 1077, 1078, 1078, 1078, 1078, 1078, - 1078, 1079, 1079, 1079, 1080, 1080, 1080, 1080, 1080, 1080, - 1080, 1081, 1081, 1081, 1081, 1082, 1082, 1083, 1083, 1084, - 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, - 1085, 1085, 1086, 1086, 1087, 1087, 1088, 1089, 1090, 1090, - 1091, 1091, 1092, 1093, 1094, 1094, 1094, 1094, 1094, 1094, - 1095, 1095, 1096, 1096, 1096, 1096, 1097, 1098, 1098, 1098, - 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, - 1099, 1099, 1099, 1099, 1100, 1100, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1103, 1103, 1103, 1103, 1103, 1103, 1103, - 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1104, 1104, 1104, - 1104, 1104, 1104, 1104, 1105, 1105, 1106, 1106, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1108, 1108, 1109, 1109, 1109, 1109, - 1110, 1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1114, - 1115, 1115, 1115, 1115, 1116, 1116, 1117, 1117, 1118, 1118, - 1119, 1119, 1120, 1120, 1121, 1122, 1122, 1122, 1123, 1124, - 1124, 1125, 1125, 1126, 1126, 1126, 1126, 1127, 1127, 1128, - 1128, 1128, 1128, 1128, 1129, 1129, 1129, 1129, 1129, 1130, - 1130, 1130, 1131, 1131, 1132, 1133, 1133, 1133, 1134, 1134, - 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, - 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138, 1138, 1138, - 1138, 1138, 1139, 1139, 1140, 1140, 1141, 1141, 1141, 1142, - 1142, 1143, 1143, 1144, 1144, 1144, 1145, 1145, 1146, 1146, - 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1148, 1148, - 1148, 1148, 1149, 1149, 1150, 1151, 1151, 1151, 1151, 1151, - 1152, 1152, 1152, 1153, 1153, 1154, 1155, 1155, 1156, 1157, - 1157, 1158, 1158, 1159, 1159, 1160, 1160, 1160, 1160, 1161, - 1161, 1162, 1162, 1163, 1163, 1164, 1164, 1165, 1165, 1166, - 1166, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169, 1170, - 1170, 1171, 1172, 1173, 1174, 1174, 1175, 1175, 1175, 1175, - 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, - 1175, 1175, 1175, 1175, 1176, 1177, 1178, 1178, 1178, 1179, - 1180, 1180, 1180, 1180, 1181, 1181, 1182, 1183, 1184, 1184, - 1185, 1185, 1186, 1186, 1186, 1187, 1187, 1187, 1188, 1188, - 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, - 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, - 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, - 1193, 1193, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195 + 934, 934, 934, 935, 936, 936, 936, 936, 936, 936, + 936, 936, 936, 937, 937, 938, 939, 939, 939, 940, + 940, 941, 941, 941, 941, 941, 942, 942, 943, 943, + 943, 943, 944, 944, 944, 945, 946, 946, 947, 948, + 948, 949, 949, 949, 949, 949, 949, 949, 949, 949, + 949, 949, 949, 950, 950, 951, 951, 951, 952, 952, + 952, 952, 952, 953, 953, 953, 954, 954, 955, 955, + 955, 956, 956, 956, 956, 957, 957, 957, 957, 958, + 959, 960, 960, 961, 961, 962, 962, 962, 963, 963, + 963, 963, 963, 963, 963, 964, 964, 965, 965, 965, + 965, 966, 967, 967, 967, 967, 968, 968, 969, 970, + 971, 971, 972, 973, 973, 973, 973, 973, 973, 973, + 974, 974, 975, 976, 976, 976, 976, 976, 976, 977, + 977, 978, 979, 979, 979, 979, 979, 980, 980, 981, + 981, 982, 982, 983, 983, 984, 984, 985, 986, 986, + 986, 987, 987, 987, 988, 988, 989, 989, 990, 990, + 991, 991, 992, 992, 993, 994, 994, 995, 995, 996, + 996, 996, 996, 997, 997, 997, 997, 997, 997, 997, + 997, 997, 997, 998, 999, 999, 1000, 1000, 1000, 1000, + 1000, 1001, 1001, 1001, 1002, 1002, 1003, 1003, 1003, 1003, + 1004, 1005, 1005, 1006, 1006, 1006, 1006, 1006, 1007, 1007, + 1008, 1008, 1009, 1010, 1010, 1010, 1011, 1011, 1011, 1012, + 1012, 1013, 1014, 1014, 1015, 1016, 1016, 1017, 1017, 1017, + 1017, 1017, 1017, 1017, 1017, 1018, 1018, 1019, 1019, 1019, + 1020, 1021, 1021, 1022, 1022, 1023, 1024, 1024, 1025, 1026, + 1026, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1029, 1029, + 1030, 1030, 1031, 1032, 1033, 1033, 1033, 1033, 1033, 1034, + 1035, 1036, 1037, 1037, 1037, 1037, 1037, 1037, 1038, 1038, + 1038, 1039, 1039, 1040, 1040, 1041, 1041, 1041, 1041, 1041, + 1041, 1041, 1041, 1042, 1042, 1043, 1043, 1043, 1043, 1043, + 1043, 1043, 1044, 1044, 1044, 1045, 1045, 1046, 1047, 1047, + 1047, 1048, 1048, 1048, 1049, 1049, 1049, 1050, 1050, 1051, + 1051, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, + 1053, 1053, 1054, 1054, 1054, 1055, 1055, 1056, 1056, 1057, + 1057, 1058, 1058, 1059, 1060, 1060, 1061, 1061, 1062, 1062, + 1062, 1062, 1063, 1063, 1064, 1064, 1064, 1064, 1064, 1064, + 1065, 1065, 1066, 1066, 1067, 1068, 1068, 1068, 1069, 1069, + 1070, 1070, 1071, 1071, 1072, 1072, 1073, 1073, 1074, 1074, + 1074, 1074, 1074, 1075, 1076, 1077, 1078, 1079, 1079, 1080, + 1080, 1081, 1081, 1082, 1082, 1083, 1084, 1084, 1084, 1084, + 1085, 1085, 1086, 1086, 1087, 1087, 1088, 1088, 1089, 1089, + 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, + 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091, 1091, 1091, + 1092, 1092, 1093, 1093, 1094, 1094, 1094, 1094, 1094, 1095, + 1095, 1095, 1095, 1096, 1096, 1097, 1097, 1098, 1098, 1099, + 1099, 1099, 1100, 1100, 1101, 1101, 1101, 1102, 1103, 1103, + 1104, 1104, 1105, 1106, 1106, 1107, 1107, 1108, 1108, 1109, + 1109, 1110, 1110, 1110, 1111, 1111, 1112, 1112, 1113, 1114, + 1114, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1118, 1118, + 1118, 1118, 1118, 1119, 1119, 1120, 1120, 1121, 1122, 1122, + 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, + 1126, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, + 1128, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, + 1130, 1130, 1130, 1130, 1131, 1131, 1132, 1132, 1133, 1133, + 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, + 1134, 1135, 1135, 1136, 1136, 1137, 1138, 1139, 1139, 1140, + 1140, 1141, 1142, 1143, 1143, 1143, 1143, 1143, 1143, 1144, + 1144, 1145, 1145, 1145, 1145, 1146, 1147, 1147, 1147, 1148, + 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, + 1148, 1148, 1148, 1149, 1149, 1150, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155, 1155, 1155, + 1156, 1156, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, + 1157, 1157, 1157, 1158, 1158, 1159, 1159, 1159, 1159, 1160, + 1161, 1161, 1162, 1162, 1163, 1163, 1164, 1164, 1164, 1165, + 1165, 1165, 1166, 1166, 1166, 1166, 1167, 1167, 1168, 1168, + 1169, 1169, 1170, 1170, 1171, 1171, 1172, 1173, 1173, 1173, + 1174, 1175, 1175, 1176, 1176, 1177, 1177, 1177, 1177, 1178, + 1178, 1179, 1179, 1179, 1179, 1179, 1180, 1180, 1180, 1180, + 1180, 1181, 1181, 1181, 1182, 1182, 1183, 1184, 1184, 1184, + 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, + 1186, 1186, 1186, 1186, 1187, 1187, 1188, 1188, 1189, 1189, + 1189, 1189, 1189, 1189, 1190, 1190, 1191, 1191, 1192, 1192, + 1192, 1193, 1193, 1194, 1194, 1195, 1195, 1195, 1196, 1196, + 1197, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, + 1199, 1199, 1199, 1199, 1200, 1200, 1201, 1202, 1202, 1202, + 1202, 1202, 1203, 1203, 1203, 1204, 1204, 1205, 1206, 1206, + 1207, 1208, 1208, 1209, 1209, 1210, 1210, 1211, 1211, 1211, + 1211, 1212, 1212, 1213, 1213, 1214, 1214, 1215, 1215, 1216, + 1216, 1217, 1217, 1218, 1219, 1219, 1219, 1219, 1219, 1219, + 1219, 1219, 1219, 1220, 1220, 1221, 1221, 1221, 1221, 1221, + 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1223, 1223, 1224, + 1225, 1225, 1226, 1226, 1227, 1227, 1227, 1227, 1227, 1228, + 1228, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230, + 1230, 1231, 1231, 1232, 1232, 1233, 1233, 1233, 1234, 1234, + 1234, 1235, 1235, 1236, 1236, 1237, 1237, 1238, 1238, 1239, + 1239, 1240, 1240, 1240, 1240, 1241, 1241, 1242, 1242, 1243, + 1243, 1244, 1245, 1246, 1247, 1247, 1248, 1248, 1248, 1248, + 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, + 1248, 1248, 1248, 1248, 1249, 1250, 1251, 1251, 1251, 1252, + 1253, 1253, 1253, 1253, 1254, 1254, 1255, 1256, 1257, 1257, + 1258, 1258, 1259, 1259, 1259, 1260, 1260, 1260, 1261, 1261, + 1261, 1261, 1262, 1262, 1262, 1262, 1262, 1263, 1263, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, + 1264, 1264, 1264, 1264, 1264, 1264, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1266, + 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, + 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, + 1266, 1266, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1268 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -4225,46 +4448,48 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 2, 5, 1, - 1, 0, 2, 0, 2, 0, 2, 2, 2, 3, - 3, 3, 1, 3, 3, 2, 1, 1, 2, 2, - 2, 3, 3, 5, 5, 5, 0, 3, 5, 5, - 5, 5, 3, 5, 3, 5, 3, 5, 5, 6, - 1, 1, 6, 4, 9, 7, 1, 0, 2, 0, - 1, 1, 1, 1, 1, 1, 2, 3, 3, 2, - 5, 1, 3, 3, 3, 3, 1, 3, 3, 2, - 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 1, 3, 1, 3, 1, 1, 1, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 5, - 1, 1, 1, 1, 1, 0, 1, 1, 2, 1, - 2, 3, 2, 1, 1, 2, 1, 2, 1, 2, - 3, 4, 3, 2, 4, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 4, 6, 4, 6, 10, - 13, 4, 6, 4, 10, 13, 4, 6, 4, 6, - 5, 7, 11, 14, 5, 7, 1, 3, 4, 4, - 4, 3, 2, 5, 3, 6, 4, 6, 6, 5, - 7, 6, 6, 5, 5, 6, 5, 9, 4, 5, - 7, 6, 4, 8, 4, 2, 4, 3, 6, 4, - 3, 3, 3, 2, 2, 3, 4, 4, 3, 3, - 3, 3, 3, 3, 4, 4, 3, 2, 3, 2, - 2, 3, 4, 3, 2, 2, 3, 4, 4, 4, - 5, 1, 3, 2, 1, 1, 0, 2, 0, 2, - 0, 1, 1, 1, 3, 3, 2, 0, 1, 3, - 3, 1, 5, 3, 1, 2, 1, 3, 2, 3, - 6, 6, 10, 1, 2, 1, 3, 4, 1, 3, - 4, 6, 4, 8, 2, 2, 11, 9, 1, 1, - 1, 0, 1, 1, 1, 1, 3, 2, 0, 1, - 1, 3, 3, 1, 1, 3, 3, 3, 3, 4, - 3, 2, 1, 0, 3, 0, 1, 0, 1, 3, - 2, 1, 1, 1, 3, 0, 1, 3, 1, 13, - 16, 12, 15, 14, 17, 1, 1, 2, 2, 2, - 2, 1, 0, 1, 0, 3, 0, 1, 3, 1, - 3, 1, 1, 1, 1, 1, 5, 2, 4, 2, - 2, 1, 0, 2, 0, 3, 1, 1, 2, 2, - 1, 4, 4, 5, 2, 5, 7, 5, 2, 3, - 0, 1, 2, 1, 2, 2, 2, 3, 3, 3, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 5, 9, 3, 9, 4, 10, 11, + 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 1, 0, 2, 5, 1, 1, + 0, 2, 0, 2, 0, 2, 2, 2, 3, 3, + 3, 1, 3, 3, 2, 1, 1, 2, 2, 2, + 3, 3, 5, 5, 5, 0, 3, 5, 5, 5, + 5, 3, 5, 3, 5, 3, 5, 5, 6, 1, + 1, 6, 4, 9, 7, 2, 0, 1, 1, 1, + 1, 1, 1, 2, 3, 3, 2, 5, 1, 3, + 3, 3, 3, 1, 3, 3, 2, 2, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 1, 3, 1, + 3, 1, 1, 1, 2, 2, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 5, 1, 1, 1, + 1, 1, 0, 1, 1, 2, 1, 2, 3, 2, + 1, 1, 2, 1, 2, 1, 2, 3, 4, 3, + 2, 4, 1, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 4, 6, 4, 6, 10, 13, 4, 6, + 4, 10, 13, 4, 6, 4, 6, 5, 7, 11, + 14, 5, 7, 1, 3, 4, 4, 4, 3, 2, + 5, 3, 6, 4, 6, 6, 9, 5, 7, 6, + 6, 5, 5, 5, 5, 9, 4, 5, 7, 6, + 4, 8, 4, 2, 4, 3, 6, 4, 3, 3, + 3, 2, 2, 3, 4, 4, 3, 3, 3, 3, + 3, 3, 4, 4, 3, 2, 3, 2, 2, 3, + 4, 3, 2, 2, 3, 4, 4, 4, 5, 1, + 3, 2, 2, 0, 2, 0, 1, 1, 1, 3, + 3, 2, 0, 1, 3, 3, 1, 5, 3, 1, + 2, 1, 3, 2, 3, 1, 1, 1, 1, 6, + 6, 10, 1, 2, 1, 3, 4, 1, 3, 4, + 6, 4, 8, 2, 2, 11, 9, 1, 1, 1, + 0, 1, 1, 1, 1, 3, 2, 0, 1, 1, + 3, 3, 1, 1, 3, 3, 3, 3, 4, 4, + 3, 3, 2, 1, 0, 3, 0, 1, 0, 1, + 3, 2, 1, 1, 1, 1, 3, 0, 1, 3, + 1, 13, 16, 12, 15, 14, 17, 1, 1, 2, + 2, 2, 2, 1, 0, 1, 0, 3, 0, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 6, 2, + 4, 2, 2, 1, 0, 2, 2, 1, 0, 2, + 0, 3, 1, 1, 2, 2, 1, 4, 4, 5, + 2, 5, 7, 5, 2, 3, 0, 1, 2, 1, + 2, 2, 2, 3, 3, 3, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 5, + 9, 3, 9, 4, 10, 11, 3, 1, 5, 3, 2, 0, 3, 0, 1, 3, 1, 4, 0, 2, 2, 2, 0, 1, 3, 3, 6, 4, 0, 1, 1, 2, 2, 0, 3, 3, 2, 1, 1, 3, @@ -4274,171 +4499,183 @@ static const yytype_uint8 yyr2[] = 1, 3, 6, 8, 7, 10, 6, 2, 3, 0, 8, 11, 5, 1, 0, 6, 5, 8, 4, 6, 1, 0, 3, 0, 1, 2, 2, 2, 1, 2, - 3, 2, 2, 2, 2, 3, 3, 3, 1, 3, - 1, 0, 1, 2, 2, 1, 1, 3, 6, 10, - 1, 0, 1, 2, 2, 0, 2, 2, 1, 0, - 1, 0, 7, 2, 0, 3, 5, 5, 8, 2, - 0, 2, 2, 2, 1, 5, 2, 0, 2, 6, - 6, 6, 10, 6, 6, 6, 9, 9, 6, 6, - 9, 6, 7, 2, 2, 2, 2, 1, 2, 1, - 0, 7, 6, 4, 0, 1, 3, 4, 1, 3, - 1, 2, 2, 2, 2, 1, 1, 10, 13, 2, - 0, 2, 2, 1, 0, 5, 4, 4, 11, 14, - 12, 15, 11, 2, 1, 4, 0, 8, 11, 1, - 1, 7, 9, 8, 10, 8, 4, 0, 5, 0, - 2, 0, 2, 0, 2, 0, 2, 0, 1, 1, - 1, 1, 1, 8, 1, 1, 17, 21, 1, 1, - 2, 1, 3, 1, 1, 1, 3, 1, 2, 0, - 1, 2, 4, 1, 1, 1, 1, 1, 3, 0, - 1, 0, 1, 1, 4, 0, 1, 1, 1, 3, - 0, 1, 1, 1, 1, 2, 0, 0, 2, 2, - 1, 2, 2, 2, 2, 11, 13, 1, 3, 5, - 1, 3, 5, 1, 2, 2, 1, 8, 6, 5, - 4, 4, 3, 7, 8, 6, 6, 6, 6, 6, - 4, 7, 5, 8, 3, 1, 3, 3, 1, 1, - 1, 1, 1, 1, 1, 3, 1, 3, 3, 1, - 0, 1, 3, 7, 9, 9, 8, 3, 0, 13, - 1, 3, 5, 5, 3, 6, 2, 1, 0, 2, - 0, 2, 4, 0, 1, 0, 6, 8, 8, 1, - 3, 5, 5, 7, 9, 7, 9, 5, 6, 6, - 4, 6, 4, 6, 8, 4, 6, 4, 6, 5, - 7, 1, 1, 1, 2, 1, 2, 1, 1, 1, - 3, 3, 3, 3, 1, 1, 1, 1, 1, 2, - 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 2, 2, 3, 1, 3, 5, 2, - 2, 0, 6, 6, 6, 6, 6, 6, 6, 6, - 8, 9, 8, 6, 6, 9, 9, 9, 7, 10, - 1, 1, 8, 8, 8, 8, 8, 8, 8, 9, - 8, 8, 2, 0, 1, 1, 2, 2, 1, 2, - 3, 3, 3, 3, 4, 4, 3, 3, 3, 4, - 4, 3, 4, 4, 1, 1, 1, 0, 8, 8, - 11, 1, 1, 2, 4, 5, 1, 3, 2, 2, - 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, - 4, 3, 2, 2, 2, 2, 2, 2, 3, 2, - 2, 2, 2, 5, 5, 5, 5, 5, 1, 3, - 1, 2, 3, 0, 6, 6, 9, 3, 0, 3, - 0, 5, 2, 0, 3, 3, 3, 7, 7, 10, - 1, 1, 1, 1, 1, 1, 16, 19, 1, 0, - 1, 0, 1, 0, 2, 0, 1, 3, 4, 5, - 2, 2, 4, 4, 0, 1, 3, 2, 0, 1, - 0, 1, 1, 0, 2, 2, 0, 9, 12, 7, - 7, 2, 0, 3, 2, 1, 3, 1, 3, 2, - 1, 1, 2, 3, 2, 1, 3, 3, 3, 2, - 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, - 4, 5, 1, 3, 3, 1, 3, 3, 5, 6, - 1, 3, 2, 1, 3, 1, 0, 1, 2, 4, - 5, 1, 1, 1, 1, 3, 3, 2, 2, 1, - 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, - 1, 1, 3, 2, 1, 4, 0, 3, 0, 1, - 1, 3, 5, 2, 0, 2, 1, 3, 5, 5, - 5, 1, 2, 1, 0, 4, 6, 4, 6, 4, - 6, 4, 6, 4, 6, 3, 5, 5, 5, 1, - 3, 1, 3, 2, 2, 1, 2, 1, 2, 11, - 10, 10, 2, 2, 0, 9, 2, 0, 10, 11, - 11, 5, 5, 8, 4, 4, 7, 7, 1, 1, - 1, 1, 1, 5, 5, 6, 6, 6, 6, 6, - 8, 8, 6, 6, 7, 9, 9, 8, 10, 6, - 6, 6, 6, 6, 6, 6, 8, 6, 8, 6, - 8, 7, 9, 6, 8, 7, 9, 8, 10, 8, - 10, 9, 11, 8, 10, 9, 11, 8, 8, 7, - 6, 6, 6, 6, 8, 8, 8, 8, 6, 9, - 1, 0, 2, 0, 8, 8, 8, 10, 9, 8, - 1, 0, 6, 6, 6, 6, 6, 6, 6, 9, - 9, 6, 6, 6, 8, 6, 8, 8, 8, 8, - 6, 8, 6, 8, 7, 9, 7, 9, 6, 7, - 1, 3, 3, 3, 1, 1, 1, 1, 1, 7, - 6, 6, 6, 6, 6, 6, 7, 7, 6, 9, - 9, 6, 6, 6, 6, 6, 6, 8, 8, 8, - 6, 7, 6, 6, 4, 7, 6, 4, 4, 4, - 3, 4, 3, 1, 1, 3, 5, 5, 5, 5, - 8, 5, 5, 6, 7, 7, 7, 4, 4, 5, - 4, 6, 13, 1, 1, 3, 3, 1, 1, 1, - 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 0, 3, 2, 0, 2, 2, 2, 3, 3, - 3, 3, 2, 3, 2, 5, 4, 3, 3, 3, - 3, 3, 1, 1, 0, 3, 2, 2, 1, 2, - 1, 3, 2, 1, 0, 2, 3, 0, 9, 11, - 12, 14, 3, 4, 4, 0, 2, 5, 1, 0, - 1, 2, 3, 3, 3, 1, 2, 1, 1, 1, - 1, 1, 1, 0, 5, 4, 6, 6, 4, 3, - 5, 7, 9, 1, 3, 1, 5, 4, 4, 6, - 4, 6, 6, 5, 7, 9, 6, 1, 0, 6, - 11, 11, 11, 13, 9, 11, 1, 1, 10, 4, - 6, 2, 5, 2, 0, 6, 5, 3, 5, 1, - 3, 1, 1, 2, 1, 1, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 0, 3, 0, 2, - 1, 3, 1, 0, 2, 4, 3, 5, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, - 0, 1, 1, 1, 1, 1, 3, 9, 12, 3, - 0, 2, 3, 2, 3, 7, 1, 3, 1, 4, - 4, 7, 2, 1, 1, 1, 3, 2, 8, 5, - 0, 4, 3, 0, 2, 0, 7, 2, 0, 5, - 3, 0, 2, 2, 2, 3, 1, 3, 1, 2, - 1, 0, 1, 2, 0, 8, 1, 3, 3, 5, - 2, 1, 3, 9, 1, 2, 5, 5, 6, 6, - 7, 2, 0, 3, 1, 2, 5, 5, 8, 3, - 4, 7, 1, 0, 3, 2, 2, 2, 2, 0, - 2, 2, 1, 1, 3, 3, 1, 2, 4, 4, - 2, 3, 5, 5, 1, 1, 9, 9, 1, 2, - 4, 4, 4, 2, 2, 3, 1, 3, 9, 1, - 2, 0, 7, 7, 0, 10, 6, 0, 1, 0, - 2, 0, 3, 3, 4, 4, 4, 4, 3, 2, - 1, 1, 0, 1, 1, 0, 1, 5, 1, 0, - 1, 1, 1, 0, 3, 1, 3, 4, 3, 2, - 2, 1, 1, 1, 0, 2, 4, 5, 6, 4, - 5, 2, 3, 1, 1, 1, 1, 2, 2, 1, - 1, 1, 1, 1, 1, 4, 0, 1, 3, 1, - 1, 1, 1, 1, 2, 4, 4, 5, 2, 0, - 1, 3, 1, 0, 1, 2, 3, 2, 4, 2, - 3, 2, 0, 4, 5, 2, 0, 1, 3, 2, - 3, 2, 3, 2, 3, 2, 3, 1, 4, 3, - 4, 5, 4, 5, 4, 5, 2, 4, 1, 1, - 0, 2, 0, 1, 4, 5, 4, 0, 2, 2, - 2, 1, 1, 0, 5, 2, 1, 1, 2, 2, - 4, 1, 3, 1, 2, 3, 6, 4, 0, 2, - 6, 2, 1, 3, 4, 0, 2, 0, 2, 0, - 2, 4, 0, 1, 0, 1, 3, 3, 7, 12, - 1, 3, 2, 3, 3, 1, 2, 2, 2, 2, - 1, 1, 3, 3, 2, 2, 3, 5, 6, 2, - 3, 3, 4, 0, 1, 1, 1, 1, 1, 2, - 4, 1, 1, 1, 1, 2, 3, 3, 0, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, - 3, 0, 1, 1, 1, 1, 5, 2, 1, 1, - 1, 1, 4, 1, 2, 2, 1, 3, 3, 2, - 1, 0, 5, 2, 5, 2, 1, 3, 3, 0, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 0, 1, 4, 1, 3, 3, 5, - 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, - 3, 5, 4, 6, 3, 5, 4, 6, 4, 6, - 5, 7, 3, 2, 4, 2, 3, 3, 4, 3, - 4, 3, 4, 5, 6, 6, 7, 6, 7, 3, - 4, 4, 6, 3, 3, 4, 3, 4, 4, 5, - 1, 1, 3, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 5, - 6, 3, 4, 1, 1, 2, 4, 1, 1, 1, - 2, 2, 2, 2, 1, 1, 4, 3, 5, 6, - 8, 6, 6, 4, 4, 1, 1, 1, 5, 1, - 1, 4, 1, 4, 1, 4, 1, 4, 1, 1, - 1, 1, 1, 1, 6, 4, 4, 6, 4, 4, - 4, 4, 4, 6, 5, 5, 5, 4, 6, 4, - 4, 4, 4, 5, 7, 7, 9, 5, 4, 6, - 5, 7, 7, 7, 2, 3, 3, 3, 4, 0, - 4, 1, 3, 3, 1, 1, 1, 2, 2, 0, - 2, 3, 3, 4, 2, 2, 5, 0, 5, 0, - 2, 0, 1, 3, 3, 2, 2, 0, 6, 1, - 0, 3, 0, 3, 3, 3, 0, 1, 4, 2, - 2, 2, 2, 2, 3, 2, 2, 3, 0, 4, - 3, 5, 4, 3, 5, 1, 1, 1, 1, 1, + 3, 1, 2, 2, 2, 2, 3, 3, 3, 1, + 3, 1, 1, 0, 1, 2, 2, 1, 1, 3, + 6, 10, 1, 0, 1, 2, 2, 0, 2, 2, + 1, 0, 1, 0, 7, 2, 0, 3, 5, 5, + 8, 2, 0, 2, 2, 2, 1, 5, 2, 0, + 2, 6, 6, 6, 10, 6, 6, 6, 9, 9, + 6, 6, 9, 6, 7, 2, 2, 2, 2, 1, + 2, 1, 0, 7, 6, 4, 0, 1, 3, 4, + 1, 3, 1, 2, 2, 2, 2, 1, 1, 10, + 13, 2, 0, 2, 2, 1, 0, 5, 4, 4, + 11, 14, 12, 15, 11, 2, 1, 4, 0, 8, + 11, 1, 1, 7, 9, 8, 10, 8, 4, 0, + 5, 0, 2, 0, 2, 0, 2, 0, 2, 0, + 1, 1, 1, 1, 1, 8, 1, 1, 17, 21, + 1, 1, 2, 1, 3, 1, 1, 1, 3, 1, + 2, 0, 1, 2, 4, 1, 1, 1, 1, 1, + 3, 0, 1, 0, 1, 1, 4, 0, 1, 1, + 1, 3, 0, 1, 1, 1, 1, 2, 0, 0, + 2, 2, 1, 2, 2, 2, 2, 11, 13, 1, + 3, 5, 1, 3, 5, 1, 2, 2, 1, 8, + 6, 5, 4, 4, 3, 7, 8, 6, 6, 6, + 6, 6, 4, 7, 5, 8, 3, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, + 3, 1, 0, 1, 3, 7, 9, 9, 8, 6, + 3, 0, 13, 1, 3, 5, 5, 3, 6, 2, + 1, 0, 2, 0, 2, 4, 0, 1, 0, 6, + 8, 8, 1, 3, 5, 5, 7, 9, 7, 9, + 5, 6, 6, 4, 6, 4, 6, 8, 4, 6, + 4, 6, 5, 7, 1, 1, 1, 2, 1, 2, + 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, + 1, 1, 2, 2, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 2, 2, 3, 1, + 3, 5, 2, 2, 0, 6, 6, 6, 6, 6, + 6, 6, 6, 8, 9, 8, 6, 6, 9, 9, + 9, 7, 10, 1, 1, 8, 8, 8, 8, 8, + 8, 8, 9, 8, 8, 2, 0, 1, 1, 2, + 2, 1, 2, 3, 3, 3, 3, 4, 4, 3, + 3, 3, 4, 4, 3, 4, 4, 1, 1, 1, + 0, 8, 8, 11, 1, 1, 2, 4, 5, 1, + 3, 2, 2, 2, 2, 2, 1, 3, 1, 3, + 1, 2, 2, 4, 3, 2, 2, 2, 2, 2, + 2, 3, 2, 2, 2, 2, 5, 5, 5, 5, + 5, 1, 3, 1, 2, 3, 0, 5, 7, 6, + 9, 3, 1, 2, 1, 1, 1, 3, 0, 5, + 2, 0, 3, 3, 3, 7, 7, 10, 1, 1, + 1, 1, 1, 1, 16, 19, 1, 0, 2, 0, + 1, 3, 4, 5, 2, 2, 4, 4, 0, 1, + 3, 2, 0, 1, 1, 0, 2, 2, 0, 9, + 12, 7, 7, 2, 0, 3, 2, 1, 3, 1, + 3, 2, 1, 1, 2, 3, 2, 1, 3, 3, + 3, 2, 2, 1, 1, 1, 1, 2, 1, 1, + 1, 1, 4, 5, 1, 3, 3, 1, 3, 3, + 5, 6, 1, 3, 2, 1, 3, 1, 0, 1, + 2, 4, 5, 1, 1, 1, 1, 3, 3, 2, + 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, + 2, 1, 1, 1, 3, 2, 1, 4, 0, 3, + 0, 1, 1, 3, 5, 2, 0, 2, 1, 3, + 5, 5, 5, 1, 2, 1, 0, 4, 6, 4, + 6, 4, 6, 4, 6, 4, 6, 3, 5, 5, + 5, 1, 3, 1, 3, 2, 2, 1, 2, 1, + 2, 11, 10, 10, 2, 2, 0, 9, 2, 0, + 10, 11, 11, 5, 5, 8, 5, 5, 5, 1, + 1, 1, 1, 3, 0, 5, 5, 6, 6, 6, + 6, 6, 8, 8, 6, 6, 7, 9, 9, 8, + 10, 6, 6, 6, 6, 6, 6, 6, 8, 6, + 8, 6, 8, 7, 9, 6, 8, 7, 9, 8, + 10, 8, 10, 9, 11, 8, 10, 9, 11, 8, + 8, 7, 6, 6, 6, 6, 8, 8, 8, 8, + 6, 9, 1, 0, 2, 0, 8, 8, 8, 10, + 9, 8, 1, 0, 6, 6, 6, 6, 6, 6, + 6, 9, 9, 6, 6, 6, 8, 6, 8, 8, + 8, 8, 6, 8, 6, 8, 7, 9, 7, 9, + 6, 7, 1, 3, 3, 3, 1, 1, 1, 1, + 1, 1, 7, 6, 6, 6, 6, 6, 6, 7, + 7, 6, 9, 9, 6, 6, 6, 6, 6, 6, + 8, 8, 8, 6, 7, 6, 6, 4, 7, 6, + 4, 4, 4, 3, 4, 3, 1, 1, 3, 5, + 5, 5, 5, 8, 5, 5, 6, 7, 7, 7, + 4, 4, 5, 4, 6, 13, 1, 1, 3, 3, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 0, 3, 2, 0, 2, 2, + 2, 3, 3, 3, 3, 2, 3, 2, 5, 4, + 3, 3, 3, 3, 3, 1, 1, 0, 3, 2, + 2, 1, 2, 1, 3, 2, 1, 0, 2, 3, + 0, 9, 11, 12, 14, 3, 4, 4, 0, 2, + 5, 1, 0, 1, 2, 3, 3, 3, 1, 2, + 1, 1, 1, 1, 1, 1, 0, 5, 4, 6, + 6, 4, 3, 5, 7, 9, 1, 3, 1, 5, + 4, 4, 6, 4, 6, 6, 5, 7, 9, 6, + 1, 0, 6, 11, 11, 11, 13, 9, 11, 1, + 1, 10, 6, 4, 4, 2, 5, 2, 0, 6, + 5, 3, 5, 1, 3, 1, 1, 2, 1, 1, + 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, + 1, 0, 3, 0, 2, 1, 3, 1, 0, 2, + 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 5, 3, 0, 1, 1, 1, 1, + 1, 3, 9, 12, 3, 0, 2, 3, 2, 3, + 7, 1, 3, 1, 4, 4, 7, 2, 1, 1, + 1, 3, 2, 8, 5, 0, 4, 3, 0, 2, + 0, 7, 2, 0, 5, 3, 0, 2, 2, 2, + 3, 1, 3, 1, 2, 1, 0, 1, 2, 0, + 8, 1, 3, 3, 5, 2, 1, 3, 10, 1, + 2, 4, 4, 4, 5, 5, 2, 5, 3, 5, + 2, 0, 3, 1, 2, 5, 5, 8, 3, 4, + 7, 1, 0, 3, 2, 2, 2, 2, 0, 2, + 2, 1, 1, 3, 3, 1, 2, 4, 4, 2, + 3, 5, 5, 1, 1, 9, 9, 1, 2, 4, + 4, 4, 2, 2, 3, 1, 3, 9, 1, 2, + 0, 7, 7, 0, 10, 6, 0, 1, 0, 2, + 0, 3, 3, 4, 4, 4, 4, 3, 2, 1, + 1, 0, 1, 1, 0, 1, 5, 1, 0, 1, + 1, 1, 0, 3, 1, 3, 4, 3, 2, 2, + 1, 1, 1, 0, 2, 4, 5, 6, 4, 5, + 2, 3, 1, 1, 1, 1, 2, 2, 1, 1, + 1, 1, 1, 1, 4, 0, 1, 3, 1, 1, + 1, 1, 1, 2, 4, 4, 5, 2, 0, 1, + 3, 1, 0, 1, 2, 3, 2, 4, 2, 3, + 2, 0, 4, 5, 2, 0, 1, 3, 2, 3, + 2, 3, 2, 3, 2, 3, 1, 4, 2, 3, + 3, 4, 5, 4, 5, 4, 5, 2, 4, 1, + 1, 0, 2, 0, 1, 4, 5, 4, 0, 2, + 2, 2, 1, 1, 0, 5, 2, 1, 1, 2, + 2, 4, 1, 3, 1, 2, 3, 6, 4, 0, + 2, 6, 2, 1, 3, 4, 0, 2, 0, 2, + 0, 2, 4, 0, 1, 0, 1, 3, 3, 7, + 12, 1, 3, 2, 3, 3, 1, 2, 2, 2, + 2, 1, 2, 1, 3, 3, 2, 13, 2, 0, + 1, 3, 3, 6, 7, 5, 7, 9, 1, 0, + 2, 0, 2, 3, 5, 6, 2, 3, 3, 4, + 0, 1, 1, 1, 1, 1, 2, 4, 1, 1, + 1, 1, 1, 1, 2, 3, 3, 0, 1, 1, + 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, + 0, 1, 1, 1, 1, 5, 2, 1, 1, 1, + 1, 4, 1, 2, 2, 1, 3, 3, 2, 1, + 0, 5, 2, 5, 2, 1, 3, 3, 0, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 3, 0, 1, 4, 1, 1, 3, 3, 5, + 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, + 2, 3, 5, 4, 6, 3, 5, 4, 6, 4, + 6, 5, 7, 3, 2, 4, 2, 3, 3, 4, + 3, 4, 3, 4, 5, 6, 6, 7, 6, 7, + 3, 4, 4, 6, 3, 3, 4, 3, 4, 4, + 5, 4, 5, 1, 1, 3, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 2, 5, 6, 3, 4, 1, 1, 2, 4, + 1, 1, 1, 2, 2, 2, 2, 1, 1, 4, + 3, 5, 6, 8, 6, 6, 4, 4, 3, 1, + 1, 1, 1, 5, 1, 1, 4, 1, 4, 1, + 4, 1, 4, 1, 1, 1, 1, 1, 1, 1, + 6, 4, 4, 6, 4, 4, 4, 4, 4, 6, + 5, 5, 5, 4, 6, 4, 4, 4, 4, 5, + 7, 7, 9, 5, 4, 6, 5, 7, 7, 8, + 4, 7, 4, 6, 6, 4, 5, 4, 5, 3, + 11, 8, 9, 2, 3, 3, 3, 4, 0, 4, + 1, 3, 3, 1, 1, 1, 1, 2, 0, 2, + 2, 0, 2, 3, 3, 4, 2, 2, 5, 0, + 5, 0, 2, 0, 1, 3, 3, 2, 2, 0, + 6, 1, 0, 3, 0, 3, 3, 3, 0, 1, + 4, 2, 2, 2, 2, 2, 3, 2, 2, 3, + 0, 4, 3, 5, 4, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 4, 1, 4, 1, 4, 1, 2, - 1, 2, 1, 3, 1, 3, 1, 3, 3, 1, - 0, 1, 3, 3, 3, 2, 1, 3, 3, 3, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 7, 5, 3, 5, 5, 3, 3, 5, - 3, 2, 1, 1, 3, 5, 1, 2, 4, 2, - 0, 1, 0, 1, 2, 2, 2, 3, 5, 1, - 0, 1, 2, 0, 2, 1, 0, 1, 0, 1, + 1, 1, 1, 1, 1, 4, 1, 4, 1, 4, + 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, + 3, 1, 0, 1, 3, 3, 3, 2, 1, 3, + 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 7, 5, 3, 5, 5, 3, + 3, 5, 3, 2, 1, 1, 3, 5, 1, 2, + 4, 2, 0, 1, 0, 1, 2, 2, 2, 3, + 5, 1, 0, 1, 2, 0, 2, 1, 0, 2, + 0, 1, 3, 3, 2, 3, 2, 3, 4, 4, + 3, 3, 0, 2, 1, 1, 1, 1, 1, 1, + 2, 2, 1, 3, 3, 6, 0, 3, 0, 2, + 4, 2, 1, 0, 5, 2, 5, 2, 0, 3, + 0, 1, 2, 2, 2, 2, 3, 2, 3, 2, + 0, 1, 3, 3, 3, 3, 3, 0, 3, 3, + 0, 1, 3, 7, 7, 3, 0, 1, 0, 1, 3, 3, 2, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 6, 2, 6, 2, 3, 5, 2, 3, @@ -4533,7 +4770,14 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -4541,12 +4785,12 @@ static const yytype_uint8 yyr2[] = means the default is an error. */ static const yytype_uint16 yydefact[] = { - 1699, 1444, 651, 1532, 1531, 1444, 0, 269, 0, 1542, - 0, 1444, 433, 1102, 0, 0, 0, 0, 651, 1444, - 0, 1699, 0, 0, 0, 0, 0, 1712, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1444, 0, 0, - 1719, 0, 0, 0, 0, 1712, 0, 1544, 0, 0, - 0, 0, 1719, 0, 0, 0, 0, 0, 2, 9, + 1728, 1467, 673, 1556, 1555, 1467, 0, 276, 0, 1567, + 0, 1467, 444, 1124, 0, 0, 0, 0, 673, 1467, + 0, 1728, 0, 0, 0, 0, 0, 1741, 0, 0, + 0, 0, 0, 1264, 0, 0, 0, 1467, 0, 0, + 1748, 0, 0, 0, 0, 1741, 0, 1569, 0, 0, + 0, 0, 1748, 0, 0, 0, 0, 0, 2, 9, 10, 45, 80, 81, 38, 37, 98, 63, 24, 71, 133, 132, 134, 50, 46, 88, 33, 35, 47, 51, 73, 75, 40, 53, 64, 110, 72, 31, 70, 76, @@ -4558,3612 +4802,3884 @@ static const yytype_uint16 yydefact[] = 117, 34, 121, 25, 26, 28, 29, 27, 67, 36, 74, 39, 95, 124, 114, 109, 129, 127, 11, 135, 111, 83, 14, 15, 100, 13, 32, 57, 17, 42, - 41, 56, 48, 131, 44, 1542, 102, 115, 101, 84, - 108, 87, 112, 130, 113, 85, 126, 1663, 1662, 1723, - 1666, 1698, 0, 1678, 1443, 1442, 1457, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1454, 2322, 2339, 2340, 2341, 2342, 2343, - 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2354, - 2353, 2355, 2356, 2699, 2357, 2358, 2359, 2648, 2649, 2700, - 2650, 2651, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, - 2368, 2652, 2653, 2369, 2370, 2371, 2372, 2373, 2654, 2701, - 2374, 2375, 2376, 2377, 2378, 2379, 2702, 2380, 2381, 2382, - 2383, 2384, 2385, 2386, 2387, 2388, 2703, 2389, 2390, 2391, - 2704, 2392, 2393, 2394, 2395, 2396, 2397, 2655, 2656, 2398, - 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, - 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, - 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2657, 2426, 2427, - 2428, 2429, 2658, 2430, 2431, 2432, 2433, 2659, 2434, 2435, - 2436, 2705, 2706, 2437, 2438, 2439, 2440, 2441, 2660, 2661, - 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2707, 2449, 2450, - 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, - 2708, 2662, 2461, 2462, 2463, 2464, 2663, 2664, 2665, 2465, - 2709, 2710, 2466, 2711, 2467, 2468, 2469, 2470, 2471, 2472, - 2666, 2712, 2473, 2713, 2474, 2475, 2476, 2477, 2478, 2479, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, - 2490, 2491, 2492, 2493, 2494, 2667, 2714, 2668, 2495, 2496, - 2497, 2498, 2499, 2500, 2501, 2669, 2670, 2502, 2503, 2504, - 2715, 2505, 2671, 2506, 2672, 2507, 2508, 2509, 2510, 2511, - 2512, 2513, 2514, 2515, 2516, 2673, 2716, 2517, 2717, 2674, - 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, - 2528, 2529, 2675, 2530, 2676, 2533, 2531, 2532, 2534, 2535, - 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2677, 2544, - 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, - 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2718, 2563, - 2564, 2565, 2566, 2567, 2678, 2568, 2569, 2570, 2571, 2572, - 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, - 2583, 2679, 2584, 2585, 2719, 2586, 2587, 2680, 2588, 2589, - 2590, 2591, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, - 2600, 2601, 2681, 2602, 2603, 2604, 2605, 2720, 2606, 2607, - 2608, 2609, 2610, 2611, 2682, 2683, 2612, 2613, 2684, 2614, - 2685, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, - 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2686, - 2687, 2633, 2721, 2634, 2635, 2636, 2637, 2638, 2639, 2640, - 2641, 2642, 2643, 2644, 2688, 2689, 2690, 2691, 2692, 2693, - 2694, 2695, 2696, 2697, 2698, 2645, 2646, 2647, 137, 0, - 0, 2284, 2323, 2324, 2327, 2322, 405, 404, 1652, 2281, - 2323, 1541, 0, 1521, 651, 0, 1457, 432, 1699, 0, - 0, 0, 0, 0, 0, 867, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, - 0, 0, 0, 456, 455, 0, 0, 1068, 461, 0, - 0, 0, 0, 0, 641, 1583, 2531, 1581, 1653, 270, - 273, 274, 271, 272, 2305, 0, 1214, 1215, 1217, 0, - 0, 1227, 907, 908, 0, 0, 0, 921, 0, 0, - 0, 905, 0, 0, 0, 927, 0, 924, 0, 0, - 928, 925, 902, 926, 909, 0, 901, 0, 0, 1227, - 929, 0, 0, 903, 0, 0, 0, 0, 1457, 1580, - 462, 1699, 0, 1564, 1565, 1566, 1542, 1554, 1567, 1559, - 1561, 1560, 1562, 1563, 1558, 2304, 2340, 997, 997, 997, - 997, 994, 995, 997, 997, 997, 2551, 0, 0, 976, - 0, 978, 2306, 997, 1002, 2348, 533, 533, 533, 0, - 1001, 1006, 533, 0, 1425, 1466, 2283, 1711, 0, 977, - 1424, 2612, 1570, 0, 0, 1242, 1238, 1240, 1241, 1239, - 0, 1071, 1071, 2570, 1434, 254, 2581, 2682, 2612, 253, - 248, 249, 220, 2344, 0, 0, 1001, 0, 1457, 1432, - 973, 1718, 1716, 0, 2268, 2367, 2383, 2476, 245, 2563, - 2571, 2581, 2682, 2612, 2644, 196, 206, 201, 0, 263, - 2581, 2682, 2612, 259, 1454, 0, 1679, 1827, 1826, 2277, - 0, 1427, 1426, 1543, 0, 1546, 0, 2546, 1683, 1686, - 1548, 1684, 2325, 1902, 1931, 1909, 1931, 1931, 1898, 1898, - 2413, 1911, 1899, 1900, 1936, 0, 1931, 1898, 1903, 0, - 1901, 1939, 1939, 1926, 3, 1883, 1884, 1885, 1886, 1912, - 1913, 1887, 1918, 1919, 1923, 1888, 1953, 1898, 2326, 1720, - 1721, 2268, 4, 2319, 5, 2263, 2318, 6, 7, 1675, - 0, 0, 1, 1699, 0, 1553, 1715, 1715, 0, 1715, - 0, 1667, 1675, 1670, 1674, 0, 0, 0, 0, 0, - 0, 1428, 0, 0, 0, 932, 0, 1469, 1053, 0, - 0, 0, 0, 0, 1311, 0, 1111, 1110, 2328, 2311, - 2312, 2313, 0, 2309, 2310, 2329, 2330, 2331, 0, 2448, - 1311, 0, 0, 2178, 2189, 2190, 2191, 2371, 2430, 2186, - 2187, 2188, 2180, 2181, 2182, 2183, 2184, 2185, 0, 0, - 1209, 2179, 0, 2448, 0, 1311, 0, 166, 0, 141, - 1311, 0, 0, 2448, 0, 0, 2448, 0, 0, 0, - 0, 0, 2448, 0, 0, 0, 0, 0, 166, 2481, - 0, 141, 2448, 0, 0, 1448, 0, 0, 0, 1450, - 1453, 1440, 0, 2260, 0, 2261, 2285, 0, 1535, 1529, - 1538, 1534, 1524, 0, 2277, 0, 0, 0, 0, 915, - 0, 0, 905, 0, 0, 0, 916, 0, 917, 918, - 0, 0, 0, 0, 914, 0, 1438, 1430, 0, 1572, - 1574, 1573, 1575, 1571, 533, 0, 0, 0, 2448, 0, - 141, 1508, 0, 2448, 141, 0, 0, 460, 459, 141, - 2309, 458, 457, 2371, 2430, 0, 1101, 0, 1184, 141, - 2448, 0, 189, 2448, 710, 2448, 1548, 0, 654, 0, - 822, 2481, 141, 0, 0, 0, 0, 0, 0, 1071, - 0, 0, 0, 0, 0, 0, 0, 640, 651, 1584, - 1582, 0, 1218, 247, 246, 1216, 919, 2448, 1143, 366, - 0, 0, 2448, 1489, 2448, 366, 936, 920, 0, 906, - 2448, 366, 1107, 2448, 2314, 176, 0, 904, 2371, 2430, - 2448, 366, 1211, 0, 2448, 366, 2448, 172, 2448, 366, - 2448, 366, 2448, 655, 0, 0, 2448, 366, 2448, 2481, - 174, 923, 2448, 366, 930, 2448, 366, 2279, 2448, 0, - 1441, 0, 1576, 0, 1556, 2686, 0, 1699, 997, 996, - 0, 997, 0, 997, 0, 997, 0, 997, 0, 0, - 0, 997, 2307, 2308, 979, 0, 1003, 0, 1011, 0, - 1010, 1009, 1008, 0, 0, 0, 1012, 0, 1831, 1611, - 0, 1422, 1437, 0, 0, 0, 1071, 0, 1070, 0, - 0, 1433, 252, 250, 0, 0, 0, 0, 0, 0, - 1439, 0, 1431, 0, 0, 0, 2287, 2289, 2290, 2192, - 2263, 0, 2649, 2650, 2651, 2252, 0, 2652, 2653, 2654, - 2701, 2082, 2069, 2078, 2083, 2070, 2072, 2079, 2655, 2656, - 2020, 2657, 2658, 2302, 2659, 2660, 2661, 2663, 2664, 2665, - 2666, 2074, 2076, 2667, 2668, 2670, 0, 2303, 2671, 2672, - 2512, 2674, 2675, 2677, 2678, 2080, 2680, 2681, 2682, 2683, - 2684, 2685, 2301, 500, 2081, 2687, 2689, 2690, 2691, 2692, - 2694, 2695, 2696, 2697, 0, 0, 0, 2274, 0, 2049, - 0, 1891, 1892, 1914, 1915, 1893, 1920, 1921, 1894, 0, - 2273, 1956, 2137, 2048, 2065, 0, 2054, 2055, 0, 2047, - 2043, 1701, 2269, 0, 2044, 2286, 2288, 2253, 1701, 2267, - 209, 265, 0, 266, 2275, 2581, 197, 244, 212, 243, - 214, 213, 211, 210, 0, 2369, 198, 0, 0, 199, - 0, 0, 0, 0, 262, 260, 0, 1429, 0, 1829, - 1828, 2278, 941, 0, 1545, 1542, 2202, 0, 1685, 0, - 0, 0, 1930, 1917, 1925, 1924, 0, 1907, 1906, 1905, - 0, 1904, 1931, 1931, 1929, 1908, 1883, 0, 0, 0, - 1935, 0, 1933, 1879, 1875, 0, 1942, 1943, 1944, 1941, - 1954, 1940, 0, 1889, 1945, 0, 1898, 1895, 1786, 0, - 1665, 1664, 8, 0, 1550, 1552, 1527, 1548, 1713, 1714, - 0, 0, 0, 0, 0, 0, 0, 0, 1773, 1731, - 1732, 1734, 1770, 1774, 1782, 0, 1671, 0, 0, 0, - 1833, 0, 0, 1455, 0, 0, 0, 0, 0, 1142, - 0, 0, 0, 0, 933, 0, 0, 0, 1475, 0, - 1477, 1478, 1479, 0, 0, 0, 1480, 1481, 1469, 256, - 1488, 1485, 1468, 1470, 1483, 0, 0, 0, 0, 0, - 0, 0, 1500, 0, 180, 181, 0, 667, 651, 0, - 2448, 0, 0, 0, 0, 1152, 1159, 1310, 0, 0, - 0, 0, 0, 0, 0, 0, 1153, 1151, 0, 1154, - 258, 1164, 1191, 1194, 0, 0, 1109, 1112, 0, 0, - 0, 0, 0, 1301, 0, 0, 0, 1301, 0, 0, - 0, 1310, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 281, 283, 296, 361, 0, 632, 0, 0, 0, - 635, 0, 2448, 1311, 0, 0, 0, 1213, 0, 0, - 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 140, 145, 0, - 0, 0, 0, 1194, 0, 0, 0, 0, 0, 0, - 0, 618, 631, 0, 0, 0, 0, 0, 628, 0, - 0, 141, 286, 608, 614, 0, 0, 0, 717, 716, - 0, 0, 0, 0, 0, 0, 1398, 0, 1397, 0, - 0, 0, 0, 0, 1498, 1497, 0, 0, 0, 0, - 0, 0, 1301, 0, 275, 277, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 397, 398, 0, 0, 0, 145, 0, 0, 1301, - 0, 288, 0, 0, 1449, 1446, 1447, 0, 1452, 0, - 0, 0, 0, 2057, 0, 2206, 1723, 2204, 2284, 2259, - 0, 2332, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, - 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, - 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2749, - 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, - 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, - 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, - 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, - 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2256, - 2255, 2282, 2333, 2334, 2335, 2336, 2262, 0, 0, 232, - 233, 231, 1536, 234, 1537, 1533, 0, 1519, 0, 0, - 0, 0, 0, 0, 0, 0, 2371, 2430, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 830, 1469, 1507, 0, 0, 0, - 660, 0, 2448, 0, 143, 868, 0, 820, 461, 0, - 0, 0, 0, 1374, 143, 0, 0, 183, 0, 0, - 714, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 821, 0, 0, 143, 0, 2448, 611, 2448, 0, - 533, 533, 0, 0, 1073, 0, 0, 0, 0, 0, - 0, 0, 0, 1657, 1656, 1659, 1658, 0, 1655, 0, - 364, 365, 0, 1201, 1226, 0, 0, 0, 0, 0, - 897, 922, 0, 0, 1195, 0, 0, 2448, 366, 2448, - 0, 2448, 0, 0, 0, 1203, 366, 0, 1197, 0, - 0, 1199, 0, 1400, 0, 913, 911, 910, 912, 0, - 0, 895, 0, 0, 0, 0, 0, 890, 0, 0, - 892, 0, 0, 0, 0, 1699, 1555, 0, 987, 0, - 991, 0, 982, 0, 988, 0, 983, 980, 981, 0, - 986, 0, 0, 534, 536, 0, 0, 2395, 2412, 0, - 2437, 2469, 2470, 2522, 2537, 2566, 2571, 2577, 0, 2606, - 2617, 0, 1017, 1048, 1007, 726, 0, 0, 1621, 1423, - 2211, 0, 1699, 0, 0, 0, 1234, 1235, 251, 221, - 0, 0, 0, 1050, 2570, 1436, 972, 651, 0, 2045, - 0, 2052, 2053, 2251, 0, 0, 0, 0, 0, 0, - 2051, 0, 0, 0, 0, 0, 0, 0, 1978, 0, - 0, 2210, 0, 0, 2210, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1979, 1960, 1961, - 2049, 2202, 0, 2050, 2298, 2295, 1953, 0, 1953, 2337, - 2192, 0, 2189, 2190, 2191, 2799, 2800, 2801, 2802, 2803, - 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, - 2814, 0, 2815, 2816, 2817, 2818, 2819, 2821, 2820, 2822, - 2823, 2824, 2825, 2826, 2827, 2266, 2829, 2830, 2831, 2832, - 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, - 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, - 2853, 2854, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, - 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, - 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2881, 2882, - 2883, 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, - 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, - 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, - 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, - 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, - 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942, - 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, - 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, - 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, - 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 1993, 2981, - 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, - 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, + 41, 56, 48, 131, 44, 1567, 102, 115, 101, 84, + 108, 87, 112, 130, 113, 85, 126, 1692, 1691, 1752, + 1695, 1727, 0, 1707, 1466, 1465, 1480, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 672, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1477, 2462, 2479, 2480, 2481, 2482, 2483, + 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, + 2495, 2494, 2496, 2497, 2869, 2498, 2499, 2500, 2806, 2807, + 2870, 2808, 2809, 2501, 2502, 2503, 2504, 2505, 2506, 2507, + 2508, 2509, 2810, 2811, 2510, 2511, 2512, 2513, 2514, 2812, + 2871, 2515, 2516, 2517, 2518, 2519, 2520, 2872, 2521, 2522, + 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2873, 2531, + 2532, 2533, 2874, 2534, 2535, 2536, 2537, 2538, 2539, 2813, + 2814, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, + 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, + 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, + 2569, 2815, 2570, 2571, 2572, 2573, 2816, 2574, 2575, 2576, + 2577, 2817, 2578, 2579, 2580, 2581, 2875, 2876, 2582, 2583, + 2584, 2585, 2586, 2818, 2819, 2587, 2588, 2589, 2590, 2591, + 2592, 2593, 2877, 2594, 2595, 2596, 2597, 2598, 2599, 2600, + 2601, 2602, 2603, 2604, 2605, 2606, 2878, 2820, 2607, 2608, + 2609, 2610, 2821, 2822, 2823, 2611, 2879, 2880, 2612, 2881, + 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, + 2834, 2613, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2835, + 2882, 2621, 2883, 2622, 2623, 2624, 2625, 2626, 2627, 2628, + 2629, 2630, 2631, 2632, 2633, 2634, 2836, 2635, 2636, 2637, + 2638, 2639, 2640, 2641, 2642, 2837, 2884, 2838, 2643, 2644, + 2645, 2646, 2647, 2648, 2649, 2650, 2839, 2840, 2651, 2652, + 2653, 2885, 2654, 2841, 2655, 2842, 2656, 2657, 2658, 2659, + 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2843, 2886, 2667, + 2887, 2844, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, + 2676, 2677, 2678, 2679, 2680, 2681, 2845, 2682, 2846, 2685, + 2683, 2684, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, + 2694, 2695, 2696, 2847, 2697, 2698, 2699, 2700, 2701, 2702, + 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, + 2713, 2714, 2715, 2888, 2716, 2717, 2718, 2719, 2720, 2848, + 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, + 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2849, 2738, 2739, + 2889, 2740, 2741, 2850, 2742, 2743, 2744, 2745, 2746, 2747, + 2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, + 2851, 2758, 2759, 2760, 2761, 2890, 2762, 2763, 2764, 2765, + 2766, 2767, 2768, 2852, 2853, 2769, 2770, 2854, 2771, 2855, + 2772, 2773, 2774, 2775, 2776, 2777, 2779, 2778, 2780, 2781, + 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2856, + 2857, 2791, 2891, 2792, 2793, 2794, 2795, 2796, 2797, 2798, + 2799, 2800, 2801, 2802, 2858, 2859, 2860, 2861, 2862, 2863, + 2864, 2865, 2866, 2867, 2868, 2803, 2804, 2805, 146, 0, + 0, 2424, 2463, 2464, 2467, 2462, 414, 413, 1681, 2421, + 2463, 1566, 0, 1545, 673, 0, 1480, 443, 1728, 0, + 0, 0, 0, 0, 0, 890, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 138, 0, + 140, 0, 0, 468, 467, 0, 0, 1096, 473, 0, + 0, 0, 0, 0, 663, 1608, 2683, 1606, 1682, 277, + 280, 281, 278, 279, 2445, 0, 1236, 1237, 1239, 0, + 0, 1249, 930, 931, 0, 0, 0, 944, 0, 0, + 0, 928, 0, 0, 0, 950, 0, 947, 0, 0, + 951, 948, 925, 949, 932, 0, 924, 0, 0, 1249, + 952, 0, 0, 926, 0, 0, 0, 0, 1480, 1605, + 474, 1728, 0, 1589, 1590, 1591, 1567, 1579, 1592, 1584, + 1586, 1585, 1587, 1588, 1583, 2444, 2481, 1020, 1020, 1020, + 1020, 1017, 1018, 1020, 1020, 1020, 2704, 0, 0, 999, + 0, 1001, 2446, 1020, 1025, 2489, 553, 553, 553, 0, + 1024, 1029, 553, 0, 1448, 1489, 2423, 1740, 0, 1000, + 1447, 2769, 1595, 0, 0, 0, 0, 2723, 1457, 261, + 2735, 2852, 2769, 260, 255, 256, 227, 0, 0, 1024, + 553, 0, 1480, 1455, 996, 1747, 1745, 0, 2408, 2508, + 2525, 2624, 252, 2716, 2725, 2735, 2852, 2769, 2802, 203, + 213, 208, 0, 270, 2735, 2852, 2769, 266, 1477, 0, + 1708, 1858, 1857, 2417, 0, 1450, 1449, 1568, 0, 1571, + 0, 2699, 1712, 1715, 1573, 1713, 2465, 1951, 1980, 1958, + 1980, 1980, 1947, 1947, 2555, 1960, 1948, 1949, 1985, 2005, + 0, 1980, 1947, 1952, 0, 1950, 1988, 1988, 1975, 3, + 1930, 1931, 1932, 1933, 1961, 1962, 1934, 1967, 1968, 1972, + 1935, 2002, 1938, 1947, 2466, 1749, 1750, 2408, 4, 2459, + 5, 2335, 2458, 6, 7, 1704, 0, 0, 1, 1728, + 0, 1578, 1744, 1744, 0, 1744, 0, 1696, 1704, 1699, + 1703, 0, 0, 0, 0, 0, 0, 1451, 0, 0, + 0, 955, 0, 1492, 1081, 0, 0, 0, 0, 0, + 1333, 0, 1133, 1132, 2468, 2451, 2452, 2453, 0, 2449, + 2450, 2469, 2470, 2471, 0, 2593, 1333, 0, 0, 2250, + 2261, 2262, 2263, 2512, 2574, 2258, 2259, 2260, 2252, 2253, + 2254, 2255, 2256, 2257, 0, 0, 1231, 2251, 0, 2593, + 0, 1333, 0, 175, 0, 150, 1333, 0, 0, 2593, + 0, 0, 2593, 0, 0, 0, 0, 0, 2593, 0, + 0, 0, 0, 0, 175, 2629, 0, 150, 2593, 0, + 0, 1471, 0, 0, 0, 1473, 1476, 1463, 0, 2332, + 0, 2333, 2425, 1560, 0, 1559, 1553, 1563, 1558, 1548, + 0, 2417, 0, 0, 0, 0, 938, 0, 0, 928, + 0, 0, 0, 939, 0, 940, 941, 0, 0, 0, + 0, 937, 0, 1461, 1453, 0, 1597, 1599, 1598, 1600, + 1596, 553, 0, 0, 0, 2593, 0, 150, 1531, 0, + 2593, 150, 0, 0, 472, 471, 150, 2449, 470, 469, + 2512, 2574, 0, 1123, 0, 1206, 150, 2593, 0, 196, + 2593, 732, 2593, 1573, 139, 0, 676, 0, 844, 2629, + 150, 0, 0, 0, 0, 0, 0, 142, 0, 0, + 0, 0, 0, 0, 0, 662, 673, 1609, 1607, 0, + 1240, 254, 253, 1238, 942, 2593, 1165, 145, 0, 0, + 2593, 1512, 2593, 145, 959, 943, 0, 929, 2593, 145, + 1129, 2593, 2454, 185, 0, 927, 2512, 2574, 2593, 145, + 1233, 0, 2593, 145, 2593, 181, 2593, 145, 2593, 145, + 2593, 677, 0, 0, 2593, 145, 2593, 2629, 183, 946, + 2593, 145, 953, 2593, 145, 2419, 2593, 0, 1464, 0, + 1601, 0, 1581, 2856, 0, 1728, 1020, 1019, 0, 1020, + 0, 1020, 0, 1020, 0, 1020, 0, 0, 0, 1020, + 2447, 2448, 1002, 0, 1026, 0, 1034, 0, 1033, 1032, + 1031, 0, 0, 0, 1035, 0, 1862, 1636, 0, 1445, + 1460, 0, 0, 0, 142, 0, 1262, 1259, 142, 1261, + 1260, 142, 142, 1456, 259, 257, 0, 0, 0, 0, + 0, 0, 1462, 0, 1454, 0, 0, 0, 2427, 2429, + 2430, 2264, 2335, 0, 2807, 2808, 2809, 2324, 0, 2810, + 2811, 2812, 2871, 2138, 2124, 2133, 2139, 2125, 2127, 2134, + 2813, 2814, 2073, 2815, 2816, 2442, 2817, 2818, 2819, 2821, + 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2830, 2831, + 2832, 2834, 2835, 2129, 2131, 2836, 2837, 2838, 2840, 0, + 2443, 2841, 2842, 2662, 2844, 2845, 2847, 2848, 2135, 2850, + 2851, 2136, 2852, 2853, 2854, 2855, 2441, 516, 2137, 2857, + 2859, 2860, 2861, 2862, 2864, 2865, 2866, 2867, 0, 0, + 0, 2414, 0, 2102, 0, 1939, 1940, 1963, 1964, 1941, + 1969, 1970, 1942, 0, 1943, 2413, 2006, 2209, 2101, 2119, + 0, 2107, 2108, 0, 2100, 2096, 2211, 1730, 2409, 0, + 2097, 2426, 2428, 2325, 1730, 2407, 216, 272, 0, 273, + 2415, 2735, 204, 251, 219, 250, 221, 220, 218, 217, + 0, 2510, 205, 0, 0, 206, 0, 0, 0, 0, + 269, 267, 0, 1452, 0, 1860, 1859, 2418, 964, 0, + 1570, 1567, 2274, 0, 1714, 0, 0, 0, 1979, 1966, + 1974, 1973, 0, 1956, 1955, 1954, 0, 1953, 1980, 1980, + 1978, 1957, 1930, 0, 0, 0, 1984, 0, 1982, 1926, + 1922, 0, 1991, 1992, 1993, 1990, 2003, 1989, 0, 1936, + 1994, 0, 1947, 1944, 1815, 0, 1694, 1693, 8, 0, + 1575, 1577, 1551, 1573, 1742, 1743, 0, 0, 0, 0, + 0, 0, 0, 0, 1802, 1760, 1761, 1763, 1799, 1803, + 1811, 0, 1700, 0, 0, 0, 1864, 0, 0, 1478, + 0, 0, 0, 0, 0, 1164, 0, 0, 0, 0, + 956, 0, 0, 0, 1498, 0, 1500, 1501, 1502, 0, + 0, 0, 1503, 1504, 1492, 263, 1511, 1508, 1491, 1493, + 1506, 0, 0, 0, 0, 0, 0, 0, 1523, 0, + 189, 190, 0, 689, 673, 0, 2593, 0, 0, 0, + 0, 1174, 1181, 1332, 0, 0, 0, 0, 0, 0, + 0, 0, 1175, 1173, 0, 1176, 265, 1186, 1213, 1216, + 0, 0, 1131, 1134, 0, 0, 0, 0, 0, 1323, + 0, 0, 0, 1323, 0, 0, 0, 1332, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 288, 290, 303, + 369, 0, 654, 0, 0, 0, 657, 0, 2593, 1333, + 0, 0, 0, 1235, 0, 0, 0, 0, 0, 0, + 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 148, 149, 154, 0, 0, 0, 0, 1216, + 0, 0, 0, 0, 0, 0, 0, 638, 653, 641, + 0, 0, 0, 0, 0, 649, 0, 0, 150, 651, + 293, 628, 634, 0, 0, 0, 739, 738, 0, 0, + 0, 0, 0, 0, 1421, 0, 1420, 0, 0, 0, + 0, 0, 1521, 1520, 0, 0, 0, 0, 0, 0, + 1323, 0, 282, 284, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 406, + 407, 0, 0, 0, 154, 0, 0, 1323, 0, 295, + 0, 0, 1472, 1469, 1470, 0, 1475, 0, 0, 0, + 0, 2110, 0, 2278, 1752, 2276, 2424, 2331, 0, 2472, + 2892, 2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, + 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, + 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, + 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, + 2932, 2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, + 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, + 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, + 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2328, 2327, + 2422, 2473, 2474, 2475, 2476, 2334, 1543, 0, 239, 240, + 238, 1561, 241, 1562, 1557, 0, 1544, 0, 0, 0, + 0, 0, 0, 0, 0, 2512, 2574, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 852, 1492, 1530, 0, 0, 0, 682, + 0, 2593, 0, 152, 891, 0, 842, 473, 0, 0, + 0, 0, 1397, 152, 0, 0, 192, 0, 0, 736, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 843, 0, 0, 152, 0, 2593, 631, 2593, 0, 553, + 553, 0, 0, 141, 138, 0, 0, 0, 0, 0, + 0, 0, 0, 1686, 1685, 1688, 1687, 0, 1684, 0, + 143, 144, 0, 1223, 1248, 0, 0, 0, 0, 0, + 920, 945, 0, 0, 1217, 0, 0, 2593, 145, 2593, + 0, 2593, 0, 0, 0, 1225, 145, 0, 1219, 0, + 0, 1221, 0, 1423, 0, 936, 934, 933, 935, 0, + 0, 918, 0, 0, 0, 0, 0, 913, 0, 0, + 915, 0, 0, 0, 0, 1728, 1580, 0, 1010, 0, + 1014, 0, 1005, 0, 1011, 0, 1006, 1003, 1004, 0, + 1009, 0, 0, 554, 556, 0, 0, 2537, 2554, 0, + 2582, 2617, 2618, 2672, 2689, 2719, 2725, 2731, 0, 2762, + 2774, 0, 1040, 1078, 1030, 748, 0, 0, 1646, 1446, + 2283, 0, 1728, 0, 0, 1263, 0, 0, 138, 258, + 228, 0, 0, 1078, 0, 2723, 1459, 995, 673, 0, + 2098, 0, 2105, 2106, 2323, 0, 0, 0, 0, 0, + 0, 2104, 0, 0, 0, 0, 2380, 0, 0, 2380, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2029, 0, 0, 2282, 0, 0, 2282, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2030, + 2011, 2012, 2102, 2274, 0, 2103, 2438, 2435, 2002, 0, + 2002, 2477, 2264, 0, 2261, 2262, 2263, 2970, 2971, 2972, + 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, + 2983, 2984, 2985, 2986, 0, 2987, 2988, 2989, 2990, 2991, + 2993, 2992, 2994, 2995, 2996, 2997, 2998, 2999, 2338, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, - 1995, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, - 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, - 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, - 3061, 3062, 3063, 3064, 3065, 3066, 3069, 3067, 3068, 3070, - 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, - 3081, 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, - 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, - 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, - 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, - 3121, 3122, 3123, 3124, 3126, 3125, 3127, 3128, 3129, 3130, - 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, - 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, - 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, + 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, + 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, + 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, + 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, + 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, + 3082, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, + 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, + 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, + 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, + 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, + 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, + 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, + 3152, 3153, 3154, 3155, 3156, 3157, 2044, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, - 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 0, - 2186, 2187, 2188, 2180, 2181, 2182, 2183, 2184, 2185, 2196, - 0, 0, 2272, 2338, 0, 2139, 0, 1975, 0, 0, - 1786, 2293, 0, 2291, 2254, 1786, 267, 268, 264, 0, - 0, 216, 217, 215, 0, 237, 236, 241, 242, 208, - 240, 0, 235, 219, 2126, 2125, 218, 207, 226, 204, - 202, 222, 224, 225, 205, 203, 261, 0, 0, 0, - 366, 1553, 1540, 0, 0, 2266, 0, 2200, 0, 0, - 2198, 0, 0, 0, 1783, 0, 1687, 0, 1691, 0, - 0, 0, 1928, 1927, 1880, 1876, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 934, - 0, 1896, 0, 1849, 2320, 2321, 2264, 1719, 1553, 0, - 1549, 1682, 1681, 1724, 1725, 1093, 1680, 1753, 1754, 0, - 0, 0, 0, 1779, 1777, 1744, 1735, 1743, 0, 0, - 1741, 0, 1745, 1956, 1772, 1669, 1729, 1730, 1733, 1668, - 0, 1775, 0, 1624, 1773, 1734, 1608, 0, 1586, 0, - 0, 1834, 0, 0, 1456, 0, 0, 0, 1122, 1124, - 0, 1123, 0, 1126, 0, 1135, 0, 0, 1121, 1140, - 0, 1129, 1127, 0, 1496, 0, 0, 0, 0, 0, - 1476, 0, 0, 0, 2606, 255, 1479, 1484, 1471, 1482, - 0, 0, 0, 0, 0, 1052, 1051, 0, 0, 1075, - 0, 0, 500, 1503, 522, 0, 363, 0, 0, 0, - 0, 0, 0, 0, 0, 816, 813, 0, 0, 812, - 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 690, 0, 1301, 0, 294, 0, 1161, - 0, 1160, 0, 1165, 0, 0, 1162, 1157, 1158, 2571, - 2581, 2612, 257, 1163, 1193, 0, 1192, 1188, 0, 1104, - 0, 1105, 0, 0, 0, 0, 0, 2422, 2448, 302, - 325, 0, 1300, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, - 0, 350, 349, 0, 0, 0, 0, 0, 355, 0, - 333, 0, 334, 0, 354, 0, 0, 0, 633, 634, - 0, 0, 0, 1301, 0, 290, 0, 0, 0, 0, - 0, 0, 0, 0, 1210, 0, 743, 0, 0, 2571, - 1189, 0, 1383, 0, 2605, 1384, 1387, 533, 0, 533, - 1389, 0, 0, 1386, 1388, 0, 0, 169, 0, 164, - 168, 0, 0, 2571, 1190, 0, 0, 0, 0, 0, - 616, 617, 630, 0, 621, 622, 619, 623, 624, 0, - 0, 0, 0, 0, 0, 0, 615, 0, 0, 712, - 711, 715, 0, 0, 0, 0, 0, 0, 1392, 0, - 0, 1184, 0, 0, 1391, 1399, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1244, 1243, 0, 0, - 0, 0, 1311, 0, 858, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 171, 730, 0, 729, 0, 165, - 170, 0, 0, 0, 0, 0, 0, 0, 0, 230, - 1445, 1451, 1723, 1723, 1723, 2063, 0, 0, 0, 0, - 1722, 2257, 2260, 1524, 1530, 1523, 1522, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 411, 408, 409, 411, 0, 0, - 0, 0, 832, 0, 835, 838, 1467, 484, 0, 0, - 657, 690, 0, 0, 464, 178, 0, 0, 0, 0, - 745, 0, 1184, 1183, 138, 187, 189, 462, 0, 188, - 190, 192, 193, 194, 191, 195, 0, 709, 713, 0, - 0, 0, 0, 653, 0, 0, 0, 0, 0, 0, - 0, 1854, 0, 0, 163, 0, 0, 606, 610, 0, - 0, 0, 0, 464, 572, 377, 2448, 0, 533, 0, - 2448, 0, 1072, 0, 819, 0, 0, 0, 1146, 1146, - 0, 0, 759, 758, 0, 0, 0, 0, 0, 0, - 1654, 366, 1144, 0, 1490, 0, 366, 937, 366, 1108, - 177, 2315, 0, 899, 0, 0, 0, 0, 366, 1212, - 887, 366, 173, 366, 366, 656, 0, 366, 175, 0, - 0, 366, 931, 366, 2280, 0, 366, 1579, 2448, 533, - 1557, 984, 993, 992, 990, 989, 985, 0, 1004, 0, - 532, 0, 0, 0, 0, 0, 1025, 1026, 0, 0, - 1022, 1027, 0, 1029, 1013, 1015, 1023, 1024, 1030, 1019, - 1018, 1031, 1032, 0, 0, 1050, 724, 0, 0, 0, - 0, 1618, 0, 1616, 0, 1832, 1620, 1609, 1569, 0, - 1568, 0, 599, 1071, 1071, 0, 0, 1001, 0, 0, - 366, 1435, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2215, 0, 2216, 0, 0, 2250, 2246, - 0, 0, 0, 0, 0, 2220, 0, 2223, 2224, 2225, - 2222, 2226, 2221, 0, 0, 2227, 0, 0, 0, 0, - 0, 0, 0, 0, 2206, 2209, 0, 0, 2678, 0, - 0, 0, 0, 2021, 0, 0, 2173, 0, 2206, 0, - 0, 0, 0, 0, 0, 0, 2202, 2242, 0, 498, - 0, 2013, 0, 0, 0, 2124, 0, 2121, 0, 0, - 0, 0, 2263, 0, 2299, 0, 2296, 1957, 1971, 1972, - 1973, 1976, 2271, 0, 2265, 0, 0, 1958, 1984, 0, - 2243, 2009, 0, 2014, 1999, 2228, 2229, 2230, 2231, 2016, - 0, 1992, 1997, 2001, 0, 1980, 0, 1977, 0, 2266, - 2201, 0, 2199, 0, 1968, 1969, 1970, 1962, 1963, 1964, - 1965, 1966, 1967, 1974, 2177, 2175, 2176, 0, 0, 0, - 2147, 0, 0, 1996, 2440, 2476, 0, 1712, 1712, 1712, - 1700, 1710, 2270, 1849, 1723, 1849, 2276, 0, 0, 1953, - 0, 1830, 939, 940, 938, 1526, 1539, 1553, 2203, 1547, - 1689, 0, 0, 0, 1897, 1910, 0, 1938, 1937, 1939, - 1939, 0, 1881, 0, 1922, 1947, 1948, 1949, 1950, 1951, - 1952, 0, 1946, 1890, 935, 0, 2568, 2698, 0, 1810, - 1785, 1787, 1797, 1810, 1817, 1810, 2066, 1847, 2067, 2277, - 0, 1756, 2317, 1528, 1551, 0, 1091, 1092, 0, 1096, - 2678, 2568, 0, 0, 0, 0, 1746, 1780, 0, 1771, - 0, 2287, 1747, 2286, 1748, 1751, 1752, 1742, 1781, 1622, - 0, 1776, 1673, 1672, 0, 1852, 0, 0, 0, 1600, - 1588, 0, 0, 1835, 0, 1786, 1626, 0, 2263, 1784, - 1350, 1245, 1312, 1125, 0, 1898, 1136, 0, 1120, 0, - 1119, 1898, 0, 1137, 0, 1898, 1351, 1246, 1313, 1352, - 1247, 1314, 1353, 1487, 1248, 1486, 1474, 1473, 1472, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 797, 2448, 366, 1501, 1354, 0, 1249, - 362, 1502, 1315, 1506, 815, 814, 0, 0, 1316, 0, - 666, 671, 0, 673, 674, 2371, 2430, 675, 678, 679, - 0, 681, 670, 669, 0, 0, 0, 0, 0, 687, - 692, 0, 0, 0, 0, 0, 0, 1155, 1156, 1355, - 1252, 0, 1317, 0, 1103, 0, 1253, 179, 0, 0, - 282, 2448, 304, 0, 482, 797, 0, 1303, 301, 331, - 0, 346, 341, 342, 340, 2448, 366, 2448, 366, 0, - 0, 0, 0, 0, 343, 338, 339, 335, 0, 0, - 348, 2343, 2414, 2582, 0, 698, 700, 0, 705, 351, - 1273, 373, 372, 371, 0, 356, 0, 378, 381, 0, - 353, 332, 330, 327, 297, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1205, 0, 1358, 1318, - 0, 1340, 0, 0, 0, 0, 737, 1361, 1259, 1321, - 0, 533, 0, 0, 548, 548, 533, 1372, 1260, 167, - 1290, 156, 0, 0, 152, 0, 0, 0, 0, 144, - 1362, 1261, 1322, 0, 0, 1363, 1262, 0, 0, 287, - 609, 620, 625, 1267, 629, 626, 1330, 627, 1370, 1263, - 0, 1366, 1293, 1325, 592, 1184, 1184, 1373, 1393, 1264, - 1184, 0, 1301, 0, 276, 278, 0, 1071, 0, 1265, - 0, 1323, 1365, 1292, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1509, 0, 0, 0, 0, 0, 0, - 366, 0, 0, 0, 1303, 2448, 366, 1364, 0, 1298, - 0, 1338, 0, 0, 399, 0, 1291, 1301, 0, 289, - 1269, 0, 1332, 0, 0, 228, 227, 229, 0, 0, - 0, 0, 2207, 2208, 0, 2205, 2058, 2259, 0, 1520, - 961, 947, 960, 0, 943, 2412, 0, 946, 948, 0, - 0, 0, 949, 953, 954, 0, 945, 942, 944, 0, - 410, 0, 0, 754, 755, 0, 0, 0, 0, 834, - 0, 0, 1499, 0, 141, 664, 0, 0, 0, 659, - 689, 694, 0, 0, 0, 0, 463, 467, 471, 472, - 473, 0, 0, 0, 0, 157, 142, 0, 876, 0, - 533, 0, 747, 1184, 1376, 0, 189, 182, 0, 0, - 710, 0, 1548, 0, 0, 587, 590, 589, 0, 377, - 829, 827, 826, 828, 850, 825, 0, 1853, 1855, 0, - 0, 0, 0, 0, 0, 599, 466, 0, 0, 536, - 0, 575, 0, 0, 0, 0, 572, 0, 0, 0, - 2325, 0, 846, 818, 0, 1114, 0, 1132, 1115, 0, - 0, 0, 0, 1169, 1176, 1145, 1170, 1147, 1176, 0, - 0, 760, 764, 763, 767, 765, 0, 761, 638, 1660, - 1661, 0, 1202, 0, 0, 1495, 0, 1493, 898, 1196, - 366, 0, 366, 0, 366, 1204, 1198, 1200, 1401, 0, - 896, 0, 0, 889, 891, 0, 893, 0, 1005, 535, - 0, 0, 0, 0, 0, 0, 1021, 636, 1028, 0, - 0, 0, 1043, 1038, 1040, 0, 1044, 723, 0, 0, - 1619, 1612, 1614, 1613, 0, 0, 1610, 2212, 888, 0, - 605, 0, 0, 0, 0, 1050, 0, 1045, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1717, 2213, - 2214, 0, 0, 0, 2247, 0, 0, 2099, 0, 2071, - 2073, 0, 2085, 0, 2100, 2056, 2101, 2075, 2077, 2086, - 0, 0, 2193, 0, 2089, 2088, 0, 2023, 2024, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2038, 2090, 2172, - 0, 0, 0, 2092, 2091, 0, 0, 2241, 0, 0, - 0, 2097, 499, 2102, 0, 0, 0, 0, 2108, 0, - 2129, 0, 0, 0, 2046, 2203, 0, 0, 0, 0, - 0, 0, 0, 0, 2015, 2000, 2018, 1994, 1998, 2002, - 0, 2017, 0, 0, 1988, 0, 0, 1986, 2010, 1982, - 0, 0, 2011, 0, 0, 0, 2064, 0, 0, 1712, - 1712, 1712, 1712, 1709, 0, 0, 0, 1756, 0, 1756, - 200, 0, 238, 223, 1525, 1690, 1699, 1916, 0, 1934, - 1932, 1877, 1882, 1955, 1810, 1817, 1810, 0, 0, 1675, - 0, 1797, 0, 1809, 1795, 1808, 0, 0, 1823, 1821, - 0, 1823, 0, 1823, 0, 1789, 0, 1813, 1791, 1808, - 1793, 0, 1839, 2278, 1848, 0, 1769, 1726, 0, 2194, - 1096, 0, 1728, 1750, 1749, 0, 1739, 0, 1778, 1736, - 1623, 1607, 0, 1605, 1592, 1594, 1593, 0, 0, 1595, - 2263, 0, 1605, 1587, 0, 1631, 0, 0, 1852, 0, - 1630, 0, 1898, 1117, 1118, 0, 1141, 0, 1055, 1056, - 0, 1054, 0, 0, 0, 521, 1074, 0, 0, 0, - 797, 0, 0, 525, 0, 1504, 0, 1371, 1289, 668, - 0, 0, 0, 0, 683, 642, 684, 686, 0, 0, - 685, 688, 691, 1301, 0, 295, 1275, 0, 1336, 1149, - 0, 0, 1106, 0, 0, 0, 0, 0, 0, 481, - 694, 326, 0, 0, 0, 0, 386, 0, 306, 318, - 384, 324, 0, 358, 0, 329, 0, 322, 344, 336, - 345, 337, 357, 359, 0, 702, 703, 701, 697, 0, - 704, 706, 0, 375, 0, 0, 0, 352, 0, 1357, - 0, 1301, 0, 291, 1271, 0, 1334, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1339, - 0, 0, 0, 0, 742, 0, 739, 0, 548, 0, - 1385, 0, 1382, 1380, 548, 0, 0, 147, 148, 146, - 0, 155, 0, 0, 0, 0, 0, 0, 1394, 1395, - 1396, 0, 0, 0, 0, 0, 0, 393, 0, 298, - 300, 299, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 400, - 368, 0, 853, 0, 0, 0, 402, 0, 0, 1349, - 0, 0, 0, 0, 0, 1356, 1254, 2061, 2062, 2059, - 1723, 2258, 0, 0, 0, 958, 0, 0, 0, 0, - 413, 414, 141, 412, 435, 0, 797, 0, 0, 831, - 836, 844, 2512, 2180, 2181, 842, 837, 839, 841, 843, - 840, 0, 0, 0, 0, 503, 0, 0, 0, 490, - 0, 0, 500, 483, 486, 487, 0, 0, 660, 663, - 661, 662, 0, 682, 0, 466, 510, 562, 0, 159, - 0, 0, 160, 158, 0, 0, 377, 744, 0, 741, - 1375, 0, 185, 0, 714, 0, 0, 0, 0, 0, - 1184, 652, 0, 849, 851, 823, 0, 694, 0, 0, - 611, 0, 533, 1580, 594, 0, 564, 466, 562, 571, - 0, 0, 579, 376, 0, 0, 599, 377, 0, 0, - 1075, 0, 845, 0, 0, 1113, 0, 0, 0, 1166, - 1171, 1167, 0, 1146, 1128, 0, 1168, 0, 0, 1174, - 1099, 1148, 1100, 1417, 1418, 1415, 1416, 0, 0, 0, - 0, 0, 0, 1651, 0, 0, 1491, 0, 900, 0, - 883, 0, 885, 366, 731, 0, 366, 0, 0, 0, - 0, 0, 0, 1020, 0, 1014, 1016, 1041, 0, 0, - 1050, 1047, 0, 0, 1617, 1615, 597, 0, 1236, 1237, - 1050, 0, 366, 1049, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2217, 0, 2249, 2245, 0, 2068, - 2219, 2218, 0, 0, 0, 2173, 0, 0, 2022, 2034, - 2035, 2036, 2234, 0, 2041, 0, 2031, 2032, 2033, 2025, - 2026, 2027, 2028, 2029, 2030, 2037, 2238, 2237, 0, 0, - 2094, 2095, 2096, 2240, 2103, 0, 2361, 2130, 0, 2107, - 2123, 2122, 0, 0, 0, 2110, 0, 0, 2119, 0, - 2174, 2300, 2297, 1959, 0, 0, 1985, 2244, 2003, 0, - 2019, 1981, 2193, 0, 0, 0, 0, 0, 1990, 0, - 0, 0, 2150, 2145, 2146, 2170, 0, 0, 0, 0, - 0, 0, 1703, 1702, 1708, 1769, 2058, 1769, 0, 0, - 1878, 1796, 1792, 1794, 0, 2693, 0, 1799, 1806, 0, - 1788, 0, 1822, 1818, 0, 1819, 0, 0, 1820, 0, - 0, 1790, 0, 1806, 0, 1846, 1715, 0, 2141, 0, - 1727, 1094, 1095, 1737, 0, 1740, 2391, 1850, 0, 1606, - 0, 0, 0, 1597, 1603, 1585, 0, 0, 0, 1627, - 1605, 1628, 1138, 0, 0, 1130, 1061, 1062, 1065, 1063, - 1060, 1064, 0, 0, 0, 797, 0, 0, 543, 0, - 1088, 1088, 0, 0, 527, 584, 0, 800, 0, 0, - 0, 798, 366, 1250, 0, 0, 0, 0, 643, 1369, - 1251, 0, 0, 0, 0, 1150, 1304, 0, 0, 1274, - 0, 303, 480, 479, 484, 0, 0, 309, 319, 0, - 314, 0, 1302, 0, 0, 0, 0, 313, 316, 388, - 0, 385, 0, 366, 366, 360, 699, 374, 379, 380, - 383, 1309, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 877, 860, 0, 0, 878, - 879, 0, 0, 0, 1207, 1208, 1206, 1341, 1342, 1347, - 1344, 1343, 1346, 1348, 1345, 0, 1257, 0, 0, 735, - 1305, 1377, 1379, 1378, 0, 1381, 153, 150, 149, 151, - 154, 1306, 1287, 1268, 1331, 593, 0, 0, 0, 1266, - 0, 1324, 0, 1283, 1277, 0, 0, 0, 0, 0, - 1368, 1297, 1329, 1367, 1295, 1327, 1294, 1326, 1296, 1328, - 1288, 0, 0, 1857, 857, 0, 0, 0, 366, 366, - 856, 733, 1270, 0, 1333, 1279, 0, 0, 0, 950, - 0, 0, 0, 952, 418, 436, 141, 0, 753, 817, - 0, 0, 833, 0, 488, 0, 494, 501, 0, 0, - 505, 506, 504, 489, 1184, 533, 1184, 786, 787, 0, - 0, 807, 0, 658, 0, 0, 464, 0, 507, 0, - 0, 468, 162, 161, 0, 0, 0, 748, 752, 750, - 749, 751, 746, 0, 737, 189, 2448, 0, 0, 0, - 0, 591, 585, 588, 1390, 824, 0, 1856, 727, 0, - 377, 607, 0, 0, 0, 464, 599, 0, 469, 474, - 475, 484, 0, 572, 563, 0, 564, 573, 574, 0, - 581, 1465, 0, 600, 581, 0, 0, 0, 848, 0, - 847, 0, 1116, 1133, 1134, 0, 0, 1176, 0, 0, - 1178, 1173, 0, 0, 766, 769, 762, 645, 366, 0, - 1494, 366, 366, 1233, 0, 894, 1035, 1036, 1037, 1034, - 1033, 637, 0, 1039, 998, 725, 0, 598, 366, 0, - 999, 975, 967, 974, 963, 966, 968, 0, 970, 971, - 965, 962, 964, 2248, 2084, 2087, 2098, 0, 2172, 2203, - 0, 0, 2042, 0, 0, 0, 2093, 2688, 0, 0, - 2134, 2135, 0, 2131, 2132, 2127, 2128, 2109, 0, 2501, - 2114, 0, 0, 0, 2007, 2005, 2004, 1989, 0, 0, - 1987, 1983, 0, 2012, 2136, 0, 2152, 2149, 2169, 2203, - 1707, 1706, 1705, 1704, 2141, 2294, 2292, 2141, 239, 1694, - 1842, 0, 1845, 0, 0, 1798, 0, 0, 1800, 0, - 0, 1802, 1804, 0, 0, 0, 0, 0, 0, 2281, - 0, 1768, 0, 1723, 0, 1738, 0, 1604, 1589, 0, - 1590, 1596, 0, 0, 0, 0, 0, 1632, 1625, 1131, - 1139, 0, 0, 0, 523, 0, 538, 0, 0, 0, - 1081, 1090, 1080, 0, 538, 538, 802, 801, 804, 799, - 803, 1505, 0, 676, 677, 680, 1276, 0, 1337, 1285, - 0, 1621, 305, 476, 312, 0, 0, 0, 307, 387, - 389, 308, 311, 315, 368, 328, 321, 0, 0, 0, - 1272, 0, 1335, 1281, 1308, 1359, 1255, 1319, 0, 0, - 866, 0, 0, 0, 0, 1360, 1256, 1320, 0, 0, - 0, 0, 0, 1621, 0, 0, 0, 0, 0, 0, - 0, 0, 1514, 0, 0, 367, 855, 854, 368, 401, - 1299, 0, 2060, 0, 951, 956, 957, 955, 0, 407, - 415, 418, 0, 0, 1224, 1224, 0, 0, 485, 502, - 0, 583, 542, 583, 0, 0, 0, 0, 0, 695, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 740, 739, 184, 0, 464, 0, 694, 0, 852, 0, - 0, 0, 599, 466, 0, 0, 1577, 465, 0, 0, - 477, 0, 575, 564, 572, 0, 0, 596, 0, 1458, - 0, 602, 0, 0, 0, 796, 1172, 0, 1186, 0, - 1127, 1097, 1181, 0, 1699, 1849, 0, 0, 0, 0, - 779, 0, 649, 1225, 1492, 884, 886, 732, 1042, 0, - 1046, 1050, 969, 2233, 2174, 2039, 0, 2236, 2235, 2239, - 0, 2104, 0, 2105, 2133, 2111, 2115, 0, 2112, 2113, - 2008, 2006, 1991, 2138, 0, 1723, 2171, 1677, 1676, 0, - 1697, 1847, 0, 0, 1841, 0, 0, 1871, 0, 0, - 0, 1807, 1825, 0, 1803, 1801, 0, 1814, 0, 1816, - 2390, 2661, 2565, 0, 1755, 1757, 1760, 1762, 1761, 1763, - 1759, 2140, 2142, 0, 1734, 2195, 1851, 0, 0, 0, - 1076, 0, 0, 1633, 1634, 1629, 1043, 0, 366, 1088, - 0, 1184, 544, 2512, 545, 1087, 1089, 1093, 0, 1184, - 1184, 672, 0, 0, 284, 0, 310, 320, 370, 382, - 0, 1621, 0, 0, 864, 873, 873, 861, 0, 0, - 880, 1258, 736, 0, 547, 0, 279, 1284, 1278, 0, - 0, 0, 1516, 1517, 0, 0, 0, 0, 0, 1307, - 366, 1280, 959, 0, 438, 445, 419, 423, 1508, 0, - 1508, 0, 420, 424, 1508, 1508, 417, 1849, 434, 1224, - 0, 1221, 1220, 531, 613, 0, 0, 492, 0, 553, - 491, 0, 808, 0, 0, 693, 0, 466, 562, 0, - 520, 511, 512, 513, 514, 516, 515, 517, 518, 519, - 509, 508, 0, 694, 870, 377, 1465, 734, 0, 0, - 707, 0, 694, 0, 1580, 595, 564, 466, 562, 470, - 484, 0, 579, 572, 575, 0, 576, 0, 580, 0, - 0, 0, 599, 1518, 1075, 0, 0, 797, 1185, 1146, - 0, 0, 1175, 1179, 1180, 0, 0, 0, 0, 1228, - 773, 774, 768, 770, 0, 781, 785, 644, 0, 0, - 648, 639, 694, 366, 0, 2040, 0, 0, 2117, 2116, - 0, 2156, 0, 0, 0, 1688, 1840, 1843, 0, 1874, - 0, 0, 0, 0, 1860, 0, 1805, 0, 0, 1815, - 0, 0, 0, 1764, 0, 0, 0, 1773, 0, 1602, - 1849, 0, 1599, 0, 1642, 0, 1635, 1057, 0, 1058, - 1082, 0, 583, 0, 1093, 1096, 533, 583, 583, 1286, - 0, 613, 0, 323, 0, 292, 1282, 0, 0, 875, - 875, 0, 0, 0, 0, 0, 0, 395, 0, 0, - 1510, 0, 1511, 1512, 1515, 403, 416, 0, 443, 0, - 441, 440, 442, 0, 431, 0, 0, 0, 0, 0, - 0, 406, 1219, 1223, 1222, 0, 493, 0, 495, 0, - 0, 539, 540, 541, 0, 497, 549, 550, 805, 0, - 810, 0, 696, 0, 0, 694, 561, 718, 0, 0, - 0, 1459, 0, 0, 586, 728, 1465, 599, 572, 0, - 564, 478, 0, 581, 575, 579, 577, 578, 0, 1462, - 0, 601, 0, 1084, 795, 0, 1176, 1187, 1182, 1177, - 1421, 0, 0, 771, 776, 775, 1508, 780, 0, 0, - 0, 647, 646, 722, 1000, 2232, 2120, 2106, 2118, 2151, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1872, - 1873, 1858, 0, 0, 1862, 1812, 1838, 0, 0, 0, - 1758, 2143, 2144, 2316, 1591, 1601, 1077, 0, 0, 0, - 1642, 0, 0, 548, 0, 1096, 1078, 542, 797, 797, - 1621, 317, 369, 0, 0, 0, 871, 874, 862, 863, - 882, 881, 738, 1621, 0, 391, 390, 0, 394, 0, - 439, 448, 0, 446, 421, 426, 0, 430, 428, 427, - 422, 425, 530, 0, 0, 0, 0, 0, 0, 551, - 0, 552, 0, 809, 0, 0, 0, 720, 869, 0, - 0, 464, 694, 1460, 1578, 575, 564, 572, 0, 0, - 566, 1088, 1088, 451, 579, 581, 1463, 1464, 0, 0, - 500, 0, 1098, 1420, 1419, 1699, 0, 0, 0, 782, - 783, 778, 0, 0, 2648, 2391, 2620, 0, 2168, 2157, - 2168, 2168, 2148, 0, 0, 0, 1844, 0, 1861, 1864, - 0, 0, 0, 1870, 1863, 1865, 0, 1824, 0, 1836, - 1766, 0, 1765, 1849, 1641, 0, 0, 366, 537, 797, - 546, 1079, 553, 526, 524, 285, 1621, 865, 0, 280, - 0, 396, 1513, 444, 0, 429, 612, 496, 582, 558, - 0, 557, 0, 555, 554, 806, 811, 0, 694, 859, - 1465, 708, 579, 572, 575, 0, 565, 0, 1090, 1090, - 581, 449, 0, 0, 377, 0, 1403, 1699, 1402, 1404, - 1412, 1409, 1411, 1410, 1408, 0, 1231, 1232, 772, 777, - 0, 0, 0, 2161, 2160, 2159, 2163, 2162, 0, 2155, - 2153, 2154, 0, 0, 0, 0, 1867, 1868, 1869, 1866, - 1811, 0, 1767, 1598, 1644, 0, 0, 1636, 1637, 0, - 1059, 528, 797, 293, 872, 0, 447, 556, 533, 533, - 694, 719, 1461, 581, 575, 579, 1088, 567, 1089, 569, - 568, 453, 1084, 1085, 0, 581, 785, 0, 1413, 1407, - 1675, 1662, 0, 0, 784, 0, 0, 0, 2165, 0, - 2166, 0, 0, 0, 0, 0, 0, 1639, 0, 0, - 0, 1638, 529, 0, 560, 559, 721, 452, 579, 581, - 1090, 500, 1083, 0, 1849, 0, 1405, 1699, 0, 0, - 790, 2158, 2164, 2167, 1693, 1692, 0, 0, 1696, 0, - 1837, 1643, 1640, 0, 0, 0, 0, 1645, 392, 581, - 450, 570, 377, 1086, 1066, 0, 1406, 0, 0, 792, - 0, 788, 791, 793, 794, 0, 0, 1859, 1649, 0, - 0, 0, 454, 581, 0, 0, 0, 756, 0, 1723, - 0, 0, 0, 0, 1849, 0, 0, 0, 789, 0, - 0, 1646, 1650, 0, 1647, 1067, 790, 1229, 1230, 0, - 1695, 0, 0, 0, 757, 1648 + 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, + 3221, 3222, 3223, 2046, 3224, 3225, 3226, 3227, 3228, 3229, + 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, + 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, + 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, + 3260, 3261, 3264, 3262, 3263, 3265, 3266, 3267, 3268, 3269, + 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, + 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, + 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, + 3300, 3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, + 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, + 3320, 3321, 3323, 3322, 3324, 3325, 3326, 3327, 3328, 3329, + 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, + 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, + 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, + 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, + 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3380, + 3379, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, + 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, + 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, + 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, + 3420, 3421, 0, 2258, 2259, 2260, 2252, 2253, 2254, 2255, + 2256, 2257, 2268, 0, 0, 2412, 2478, 0, 2211, 0, + 2026, 0, 2219, 0, 0, 1815, 2433, 0, 2431, 2326, + 1815, 274, 275, 271, 0, 0, 223, 224, 222, 0, + 244, 243, 248, 249, 215, 247, 0, 242, 226, 2195, + 2194, 225, 214, 233, 211, 209, 229, 231, 232, 212, + 210, 268, 0, 0, 0, 145, 1578, 1565, 0, 0, + 2338, 0, 2272, 0, 0, 2270, 0, 0, 0, 1812, + 0, 1716, 0, 1720, 0, 0, 0, 1977, 1976, 1927, + 1923, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 957, 0, 1945, 0, 1880, 2460, + 2461, 2336, 1748, 1578, 0, 1574, 1711, 1710, 1753, 1754, + 1115, 1709, 1782, 1783, 0, 0, 0, 0, 1808, 1806, + 1773, 1764, 1772, 0, 0, 1770, 0, 1774, 2006, 1801, + 1698, 1758, 1759, 1762, 1697, 0, 1804, 0, 1649, 1802, + 1763, 1633, 0, 1611, 0, 0, 1865, 0, 0, 1479, + 0, 0, 0, 1144, 1146, 0, 1145, 0, 1148, 0, + 1157, 0, 0, 1143, 1162, 0, 1151, 1149, 0, 1519, + 0, 0, 0, 0, 0, 1499, 0, 0, 0, 2762, + 262, 1502, 1507, 1494, 1505, 0, 0, 0, 0, 0, + 1080, 1079, 0, 0, 0, 1526, 547, 0, 371, 0, + 0, 0, 0, 0, 0, 0, 0, 838, 835, 0, + 0, 834, 0, 687, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 712, 0, 1323, 0, 301, + 0, 1183, 0, 1182, 0, 1187, 0, 0, 1184, 1179, + 1180, 2725, 2735, 2769, 264, 1185, 1215, 0, 1214, 1210, + 0, 1126, 0, 1127, 0, 0, 0, 0, 0, 0, + 0, 2566, 0, 2593, 0, 516, 309, 333, 538, 0, + 1322, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 355, 0, 0, 358, + 357, 0, 0, 0, 0, 0, 363, 0, 341, 0, + 342, 0, 362, 0, 0, 0, 655, 656, 0, 0, + 0, 1323, 0, 297, 0, 0, 0, 0, 0, 0, + 0, 0, 1232, 0, 765, 0, 0, 2725, 1211, 0, + 1406, 0, 2761, 1407, 1410, 553, 0, 553, 1412, 0, + 0, 1409, 1411, 0, 0, 178, 0, 173, 177, 0, + 0, 2725, 1212, 0, 0, 0, 0, 0, 636, 637, + 652, 0, 642, 643, 639, 644, 645, 0, 0, 0, + 0, 0, 0, 0, 635, 0, 0, 734, 733, 737, + 0, 0, 0, 0, 0, 0, 1415, 0, 0, 1206, + 0, 0, 1414, 1422, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1266, 1265, 0, 0, 0, 0, + 1333, 0, 881, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 180, 752, 0, 751, 0, 174, 179, + 0, 0, 0, 0, 0, 0, 0, 0, 237, 1468, + 1474, 1752, 1752, 1752, 2116, 0, 0, 0, 0, 1751, + 2329, 2332, 1548, 1554, 1547, 1546, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 420, 417, 418, 420, 0, 0, 0, + 0, 854, 0, 857, 860, 1490, 500, 0, 0, 679, + 712, 0, 0, 476, 187, 0, 0, 0, 0, 767, + 0, 1206, 1205, 147, 138, 196, 474, 0, 195, 197, + 199, 200, 201, 198, 202, 0, 731, 735, 0, 0, + 0, 0, 675, 0, 0, 0, 0, 0, 0, 0, + 1885, 0, 0, 172, 0, 0, 626, 630, 0, 0, + 0, 0, 476, 592, 382, 2593, 0, 553, 0, 2593, + 0, 137, 0, 841, 0, 0, 0, 1168, 1168, 0, + 0, 781, 780, 0, 0, 0, 0, 0, 0, 1683, + 145, 1166, 0, 1513, 0, 145, 960, 145, 1130, 186, + 2455, 0, 922, 0, 0, 0, 0, 145, 1234, 910, + 145, 182, 145, 145, 678, 0, 145, 184, 0, 0, + 145, 954, 145, 2420, 0, 145, 1604, 2593, 553, 1582, + 1007, 1016, 1015, 1013, 1012, 1008, 0, 1027, 0, 552, + 0, 0, 0, 0, 0, 1048, 1049, 0, 0, 1045, + 1050, 0, 1052, 1036, 1038, 1046, 1047, 1053, 1042, 1041, + 1054, 1055, 0, 0, 0, 1067, 746, 0, 0, 0, + 0, 1643, 0, 1641, 0, 1863, 1645, 1634, 1594, 0, + 1593, 0, 619, 1257, 1256, 1258, 0, 1024, 0, 145, + 0, 1458, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2287, 0, 2288, 0, 0, 2322, 2318, + 0, 0, 0, 0, 0, 2292, 0, 2295, 2296, 2297, + 2294, 2298, 2293, 0, 0, 2299, 0, 0, 2373, 2390, + 0, 2102, 2373, 2401, 0, 2400, 2406, 0, 2278, 2006, + 0, 0, 2397, 2391, 0, 2397, 0, 0, 2380, 0, + 0, 0, 0, 2179, 0, 0, 0, 2278, 2281, 0, + 0, 2848, 0, 0, 0, 0, 2074, 0, 0, 2245, + 0, 2278, 0, 0, 0, 0, 0, 0, 0, 2274, + 2314, 0, 514, 0, 2064, 0, 0, 0, 2193, 0, + 2190, 0, 0, 0, 0, 2335, 0, 2439, 0, 2436, + 2007, 2022, 2023, 2024, 2027, 2411, 2010, 0, 2337, 0, + 0, 2008, 2035, 0, 2315, 2060, 0, 2065, 2050, 2381, + 2300, 2301, 2302, 2303, 2067, 0, 2043, 2048, 2052, 0, + 2390, 2031, 0, 2028, 0, 2338, 2273, 0, 2271, 0, + 2019, 2020, 2021, 2013, 2014, 2015, 2016, 2017, 2018, 2025, + 2249, 2247, 2248, 0, 0, 2219, 0, 0, 2047, 0, + 0, 2118, 2585, 2624, 0, 1741, 1741, 1741, 1729, 1739, + 2410, 1880, 1752, 1880, 2416, 0, 0, 2002, 0, 1861, + 962, 963, 961, 1550, 1564, 1578, 2275, 1572, 1718, 0, + 0, 0, 1946, 1959, 0, 1986, 1987, 1988, 1988, 0, + 1928, 0, 1971, 1996, 1997, 1998, 1999, 2000, 2001, 0, + 1995, 1937, 958, 2824, 2833, 0, 2721, 2868, 0, 1841, + 1814, 1816, 1826, 1841, 1848, 1841, 1841, 2120, 1878, 2121, + 2122, 2417, 0, 1785, 2457, 1552, 1576, 0, 1113, 1114, + 0, 1118, 2848, 2721, 0, 0, 0, 0, 1775, 1809, + 0, 1800, 0, 2427, 1776, 2426, 1777, 1780, 1781, 1771, + 1810, 1647, 0, 1805, 1702, 1701, 0, 1883, 0, 0, + 0, 1625, 1613, 0, 0, 1866, 0, 1815, 1651, 0, + 2335, 1813, 1373, 1267, 1334, 1147, 0, 1947, 1158, 0, + 1142, 0, 1141, 1947, 0, 1159, 0, 1947, 1374, 1268, + 1335, 1375, 1269, 1336, 1376, 1510, 1270, 1509, 1497, 1496, + 1495, 0, 0, 0, 0, 0, 0, 0, 0, 819, + 2593, 145, 1524, 1377, 0, 1271, 370, 1525, 1337, 1529, + 837, 836, 0, 0, 1338, 0, 688, 693, 0, 695, + 696, 2512, 2574, 697, 700, 701, 0, 703, 692, 691, + 0, 0, 0, 0, 0, 709, 714, 0, 0, 0, + 0, 0, 0, 1177, 1178, 1378, 1274, 0, 1339, 0, + 1125, 0, 1275, 188, 0, 0, 289, 0, 2593, 311, + 0, 0, 0, 0, 0, 0, 0, 0, 819, 498, + 819, 0, 1325, 308, 339, 0, 354, 349, 350, 348, + 2593, 145, 2593, 145, 0, 0, 0, 0, 0, 351, + 346, 347, 343, 0, 0, 356, 2484, 2556, 2736, 0, + 720, 722, 0, 727, 359, 1295, 378, 377, 376, 0, + 364, 0, 383, 386, 0, 361, 340, 338, 335, 304, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1227, 0, 1381, 1340, 0, 1362, 1366, 0, 0, + 0, 759, 1384, 1281, 1343, 0, 553, 0, 0, 568, + 568, 553, 1395, 1282, 176, 1312, 165, 0, 0, 161, + 0, 0, 0, 0, 153, 1385, 1283, 1344, 0, 0, + 1386, 1284, 0, 0, 294, 629, 640, 646, 1289, 650, + 647, 1352, 648, 1393, 1285, 0, 1389, 1315, 1347, 396, + 612, 395, 1206, 1206, 1396, 1416, 1286, 1206, 0, 1323, + 0, 283, 285, 0, 142, 0, 1287, 0, 1345, 1388, + 1314, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1532, 0, 0, 0, 0, 0, 0, 145, 0, 0, + 0, 1325, 2593, 145, 879, 1387, 0, 1320, 0, 1360, + 0, 0, 0, 408, 0, 1313, 1323, 0, 296, 1291, + 0, 1354, 0, 0, 235, 234, 236, 0, 0, 0, + 0, 2279, 2280, 0, 2277, 2111, 2331, 0, 1542, 984, + 970, 983, 0, 966, 2554, 0, 969, 971, 0, 0, + 0, 972, 976, 977, 0, 968, 965, 967, 0, 419, + 0, 0, 776, 777, 0, 0, 0, 0, 856, 0, + 0, 1522, 0, 150, 686, 0, 0, 0, 681, 711, + 716, 0, 0, 0, 0, 475, 479, 483, 484, 485, + 0, 0, 0, 0, 166, 151, 0, 899, 0, 553, + 0, 769, 1206, 1399, 0, 196, 191, 0, 0, 732, + 0, 1573, 0, 0, 607, 610, 609, 0, 382, 851, + 849, 848, 850, 872, 847, 0, 1884, 1886, 0, 0, + 0, 0, 0, 0, 619, 478, 0, 0, 556, 0, + 595, 0, 0, 0, 0, 592, 0, 0, 0, 2465, + 0, 868, 840, 0, 1136, 0, 1154, 1137, 0, 0, + 0, 0, 1191, 1198, 1167, 1192, 1169, 1198, 0, 0, + 782, 786, 785, 789, 787, 0, 783, 660, 1689, 1690, + 0, 1224, 0, 0, 1518, 0, 1516, 921, 1218, 145, + 0, 145, 0, 145, 1226, 1220, 1222, 1424, 0, 919, + 0, 0, 912, 914, 0, 916, 0, 1028, 555, 0, + 0, 0, 0, 0, 0, 1044, 658, 1051, 0, 0, + 0, 1066, 1061, 1063, 0, 1078, 1072, 0, 745, 0, + 0, 1644, 1637, 1639, 1638, 0, 0, 1635, 2284, 911, + 0, 625, 0, 1078, 1069, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1746, 2285, 2286, 0, + 0, 0, 2319, 0, 0, 2155, 0, 2126, 2128, 0, + 2141, 0, 2156, 2109, 0, 2372, 2369, 0, 0, 0, + 2373, 2380, 2175, 0, 0, 0, 2380, 0, 2400, 0, + 0, 0, 2170, 2172, 0, 0, 0, 2390, 2390, 0, + 2177, 0, 0, 2157, 2130, 2132, 2142, 0, 0, 2265, + 0, 2145, 2144, 0, 2076, 2077, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2091, 2146, 2244, 0, 0, 0, + 2148, 2147, 0, 0, 2313, 0, 0, 0, 2153, 515, + 2158, 0, 0, 0, 0, 2164, 0, 2201, 0, 0, + 0, 2099, 2275, 0, 0, 0, 0, 0, 0, 0, + 2383, 2384, 2385, 2382, 0, 2066, 2051, 2069, 2045, 2049, + 2053, 0, 2390, 2068, 2071, 0, 0, 2039, 0, 0, + 2037, 2061, 2033, 0, 0, 2062, 0, 2117, 0, 0, + 0, 2222, 2217, 2218, 1741, 1741, 1741, 1741, 1738, 0, + 0, 0, 1785, 0, 1785, 207, 0, 245, 230, 1549, + 1719, 1728, 1965, 0, 1983, 1981, 1924, 1929, 2004, 0, + 1841, 1848, 1841, 1841, 0, 0, 1704, 0, 1826, 0, + 1840, 1824, 1839, 0, 0, 1854, 1852, 0, 1854, 0, + 1854, 0, 1818, 0, 1844, 1820, 1839, 1822, 1828, 0, + 1870, 2418, 1879, 0, 1798, 1755, 0, 2266, 1118, 0, + 1757, 1779, 1778, 0, 1768, 0, 1807, 1765, 1648, 1632, + 0, 1630, 1617, 1619, 1618, 0, 0, 1620, 2335, 0, + 1630, 1612, 0, 1656, 0, 0, 1883, 0, 1655, 0, + 1947, 1139, 1140, 0, 1163, 0, 1083, 1084, 0, 1082, + 0, 0, 0, 546, 549, 0, 1527, 0, 1394, 1311, + 690, 0, 0, 0, 0, 705, 664, 706, 708, 0, + 0, 707, 710, 713, 1323, 0, 302, 1297, 0, 1358, + 1171, 0, 0, 1128, 0, 0, 0, 0, 0, 1099, + 537, 1098, 0, 0, 0, 0, 819, 0, 0, 541, + 0, 497, 494, 334, 0, 0, 0, 0, 391, 0, + 313, 326, 389, 332, 0, 366, 0, 337, 0, 330, + 352, 344, 353, 345, 365, 367, 0, 724, 725, 723, + 719, 0, 726, 728, 0, 380, 0, 0, 0, 398, + 360, 397, 0, 1380, 0, 1323, 0, 298, 1293, 0, + 1356, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1361, 0, 0, 0, 0, 764, 0, + 761, 0, 568, 0, 1408, 0, 1405, 1403, 568, 0, + 0, 156, 157, 155, 0, 164, 0, 0, 0, 0, + 0, 0, 1417, 1418, 1419, 0, 0, 0, 0, 0, + 0, 402, 0, 305, 307, 306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 409, 373, 0, 875, 0, 0, 0, + 411, 0, 0, 1372, 0, 0, 0, 0, 0, 1379, + 1276, 2114, 2115, 2112, 1752, 2330, 0, 0, 0, 981, + 0, 0, 0, 0, 422, 423, 150, 421, 446, 0, + 819, 0, 0, 853, 858, 866, 2662, 2252, 2253, 864, + 859, 861, 863, 865, 862, 0, 0, 0, 0, 519, + 0, 0, 0, 506, 0, 0, 516, 499, 502, 503, + 0, 0, 682, 685, 683, 684, 0, 704, 0, 478, + 526, 582, 0, 168, 0, 0, 169, 167, 0, 0, + 382, 766, 0, 763, 1398, 0, 194, 0, 736, 0, + 0, 0, 0, 0, 1206, 674, 0, 871, 873, 845, + 0, 716, 0, 0, 631, 0, 553, 1605, 614, 0, + 584, 478, 582, 591, 0, 0, 599, 381, 0, 0, + 619, 382, 0, 0, 1099, 0, 867, 0, 0, 1135, + 0, 0, 0, 1188, 1193, 1189, 0, 1168, 1150, 0, + 1190, 0, 0, 1196, 1121, 1170, 1122, 1440, 1441, 1438, + 1439, 0, 0, 0, 0, 0, 0, 1680, 0, 0, + 1514, 0, 923, 0, 906, 0, 908, 145, 753, 0, + 145, 0, 0, 0, 0, 0, 0, 1043, 0, 1037, + 1039, 1064, 0, 0, 1078, 1077, 0, 1068, 1076, 1074, + 1075, 1073, 0, 0, 1642, 1640, 617, 0, 0, 145, + 1078, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2289, 0, 2321, 2317, 0, 2123, 2291, 2290, 2371, + 2387, 2389, 2176, 2379, 0, 0, 0, 2402, 0, 0, + 2380, 2340, 2394, 2393, 0, 0, 2392, 2380, 2380, 2340, + 2178, 2340, 0, 0, 0, 2245, 0, 0, 2075, 2087, + 2088, 2089, 2306, 0, 2094, 0, 2084, 2085, 2086, 2078, + 2079, 2080, 2081, 2082, 2083, 2090, 2310, 2309, 0, 0, + 2150, 2151, 2152, 2312, 2159, 0, 2502, 2202, 0, 2163, + 2192, 2191, 0, 0, 0, 2166, 0, 0, 2188, 0, + 2246, 2440, 2437, 2009, 0, 0, 2036, 2316, 2054, 0, + 2070, 2072, 2032, 2265, 0, 0, 0, 0, 0, 2041, + 0, 0, 2242, 0, 0, 0, 2224, 2221, 0, 0, + 0, 0, 1732, 1731, 1737, 1798, 2111, 1798, 0, 0, + 1925, 0, 1825, 1821, 1823, 1829, 0, 2863, 0, 1830, + 1837, 0, 1817, 0, 1853, 1849, 0, 1850, 0, 0, + 1851, 0, 0, 1819, 0, 1837, 0, 1877, 1744, 0, + 2213, 0, 1756, 1116, 1117, 1766, 0, 1769, 2533, 1881, + 0, 1631, 0, 0, 0, 1622, 1628, 1610, 0, 0, + 0, 1652, 1630, 1653, 1160, 0, 0, 1152, 1089, 1090, + 1093, 1091, 1088, 1092, 0, 0, 0, 819, 822, 0, + 0, 0, 820, 145, 1272, 0, 0, 0, 0, 665, + 1392, 1273, 0, 0, 0, 0, 1172, 1326, 0, 0, + 1296, 819, 0, 0, 0, 563, 0, 1112, 1112, 0, + 310, 0, 543, 604, 0, 496, 495, 0, 493, 716, + 0, 0, 317, 327, 0, 322, 0, 1324, 0, 0, + 0, 0, 321, 324, 323, 393, 0, 390, 0, 145, + 145, 368, 721, 379, 384, 385, 388, 1331, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 900, 883, 0, 0, 901, 902, 0, 0, 0, + 1229, 1230, 1228, 1363, 1364, 1370, 1367, 1365, 1369, 1371, + 1368, 0, 1279, 0, 0, 757, 1327, 1400, 1402, 1401, + 0, 1404, 162, 159, 158, 160, 163, 1328, 1309, 1290, + 1353, 613, 0, 0, 0, 1288, 0, 1346, 0, 1305, + 1299, 0, 0, 0, 0, 0, 1391, 1319, 1351, 1390, + 1317, 1349, 1316, 1348, 1318, 1350, 1310, 0, 0, 1888, + 880, 0, 0, 0, 145, 145, 878, 755, 1292, 0, + 1355, 1301, 0, 0, 0, 973, 0, 0, 0, 975, + 427, 447, 150, 0, 775, 839, 0, 0, 855, 0, + 504, 0, 510, 517, 0, 0, 521, 522, 520, 505, + 1206, 553, 1206, 808, 809, 0, 0, 829, 0, 680, + 0, 0, 476, 0, 523, 0, 0, 480, 171, 170, + 0, 0, 0, 770, 774, 772, 771, 773, 768, 0, + 759, 196, 2593, 0, 0, 0, 0, 611, 605, 608, + 1413, 846, 0, 1887, 749, 0, 382, 627, 0, 0, + 0, 476, 619, 0, 481, 486, 487, 500, 0, 592, + 583, 0, 584, 593, 594, 0, 601, 1488, 0, 620, + 601, 0, 0, 0, 870, 0, 869, 0, 1138, 1155, + 1156, 0, 0, 1198, 0, 0, 1200, 1195, 0, 0, + 788, 791, 784, 667, 145, 0, 1517, 145, 145, 1255, + 0, 917, 1058, 1059, 1060, 1057, 1056, 659, 0, 1062, + 1021, 1071, 747, 0, 618, 0, 1022, 145, 998, 990, + 997, 986, 989, 991, 0, 993, 994, 988, 985, 987, + 2320, 2140, 0, 2386, 2388, 2174, 2399, 2398, 2173, 2405, + 0, 0, 2368, 2396, 2395, 0, 0, 2380, 2380, 2143, + 2154, 0, 2244, 2275, 0, 0, 2095, 0, 0, 0, + 2149, 2858, 0, 0, 2206, 2207, 0, 2203, 2204, 2199, + 2200, 2165, 0, 2650, 2183, 0, 0, 2198, 2058, 2056, + 2055, 2040, 0, 0, 2038, 2034, 0, 2063, 2208, 2241, + 2275, 2210, 0, 1752, 1736, 1735, 1734, 1733, 2213, 2434, + 2432, 2213, 246, 1723, 0, 1873, 0, 1876, 0, 0, + 1827, 0, 0, 1831, 0, 0, 1833, 1835, 0, 0, + 0, 0, 0, 0, 2421, 0, 1797, 0, 1752, 0, + 1767, 0, 1629, 1614, 0, 1615, 1621, 0, 0, 0, + 0, 0, 1657, 1650, 1153, 1161, 0, 0, 0, 548, + 824, 823, 826, 821, 825, 1528, 0, 698, 699, 702, + 1298, 0, 1359, 1307, 0, 1646, 539, 312, 0, 558, + 0, 0, 0, 1105, 140, 1104, 0, 558, 558, 492, + 491, 500, 320, 0, 0, 0, 314, 392, 0, 394, + 315, 319, 373, 336, 329, 0, 0, 0, 1294, 0, + 1357, 1303, 1330, 1382, 1277, 1341, 0, 0, 889, 0, + 0, 0, 0, 1383, 1278, 1342, 0, 0, 0, 0, + 0, 1646, 0, 0, 0, 0, 0, 0, 0, 0, + 1537, 0, 0, 372, 877, 876, 373, 410, 1321, 0, + 2113, 0, 974, 979, 980, 978, 0, 416, 424, 427, + 0, 0, 1246, 1246, 0, 0, 501, 518, 0, 603, + 562, 603, 0, 0, 0, 0, 0, 717, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 762, 761, + 193, 0, 476, 0, 716, 0, 874, 0, 0, 0, + 619, 478, 0, 0, 1602, 477, 0, 0, 489, 0, + 595, 584, 592, 0, 0, 616, 0, 1481, 0, 622, + 0, 0, 0, 818, 1194, 0, 1208, 0, 1149, 1119, + 1203, 0, 1728, 1880, 0, 0, 0, 0, 801, 0, + 671, 1247, 1515, 907, 909, 754, 1065, 0, 1078, 1070, + 992, 2370, 2404, 2339, 2341, 0, 0, 2362, 2355, 2358, + 2356, 2357, 2359, 0, 2354, 0, 2171, 2403, 2352, 2366, + 2305, 2246, 2092, 0, 2308, 2307, 2311, 0, 2160, 0, + 2161, 2205, 2167, 2184, 0, 2168, 2196, 0, 0, 2059, + 2057, 2042, 2243, 0, 2228, 1706, 1705, 0, 1726, 1909, + 1878, 0, 0, 1872, 0, 0, 1903, 0, 0, 0, + 1838, 1856, 0, 1834, 1832, 0, 1845, 0, 1847, 2532, + 2819, 2718, 0, 1784, 1786, 1789, 1791, 1790, 1792, 1788, + 2212, 2214, 0, 1763, 2267, 1882, 0, 0, 0, 1100, + 0, 0, 1630, 1659, 1671, 1671, 1654, 1066, 0, 145, + 694, 0, 0, 291, 1112, 0, 1206, 564, 2662, 565, + 1111, 1115, 139, 0, 1206, 1206, 488, 0, 318, 328, + 0, 375, 387, 0, 1646, 0, 0, 887, 896, 896, + 884, 0, 0, 903, 1280, 758, 0, 567, 0, 286, + 1306, 1300, 0, 0, 0, 1539, 1540, 0, 0, 0, + 0, 0, 1329, 145, 1302, 982, 0, 449, 457, 428, + 432, 1531, 0, 1531, 0, 429, 433, 1531, 1531, 426, + 1880, 445, 1246, 0, 1243, 1242, 551, 633, 0, 0, + 508, 0, 573, 507, 0, 830, 0, 0, 715, 0, + 478, 582, 0, 536, 527, 528, 529, 530, 532, 531, + 533, 534, 535, 525, 524, 0, 716, 893, 382, 1488, + 756, 0, 0, 729, 0, 716, 0, 1605, 615, 584, + 478, 582, 482, 500, 0, 599, 592, 595, 0, 596, + 0, 600, 0, 0, 0, 619, 1541, 1099, 0, 0, + 819, 1207, 1168, 0, 0, 1197, 1201, 1202, 0, 0, + 0, 0, 1250, 795, 796, 790, 792, 0, 803, 807, + 666, 0, 0, 670, 661, 716, 145, 0, 0, 2353, + 2360, 2361, 0, 2181, 0, 0, 2378, 0, 0, 0, + 2093, 0, 0, 2186, 2185, 2197, 2169, 2223, 0, 0, + 0, 0, 0, 0, 0, 1717, 0, 2340, 1871, 1874, + 0, 1906, 0, 0, 0, 0, 1891, 0, 1836, 0, + 0, 1846, 0, 0, 0, 1793, 0, 0, 0, 1802, + 0, 1627, 1880, 0, 1624, 0, 1666, 0, 1658, 1660, + 0, 0, 0, 1085, 0, 1086, 1308, 0, 1106, 0, + 603, 0, 1118, 1115, 553, 603, 603, 633, 0, 0, + 331, 0, 299, 1304, 0, 0, 898, 898, 0, 0, + 0, 0, 0, 0, 404, 0, 0, 1533, 0, 1534, + 1535, 1538, 412, 425, 0, 455, 454, 0, 452, 451, + 453, 0, 442, 0, 0, 0, 0, 0, 0, 415, + 1241, 1245, 1244, 0, 509, 0, 511, 0, 0, 559, + 560, 561, 0, 513, 569, 570, 827, 0, 832, 0, + 718, 0, 0, 716, 581, 740, 0, 0, 0, 1482, + 0, 0, 606, 750, 1488, 619, 592, 0, 584, 490, + 0, 601, 595, 599, 597, 598, 0, 1485, 0, 621, + 0, 1108, 817, 0, 1198, 1209, 1204, 1199, 1444, 0, + 0, 793, 798, 797, 1531, 802, 0, 0, 0, 669, + 668, 744, 1023, 2342, 2343, 2367, 0, 0, 0, 2346, + 0, 2344, 0, 0, 2366, 0, 2182, 2304, 2189, 2162, + 2187, 2806, 2533, 2777, 0, 2240, 2229, 2240, 2240, 2220, + 0, 0, 0, 1908, 0, 0, 0, 1904, 1905, 1889, + 0, 0, 1893, 1843, 1869, 0, 0, 0, 1787, 2215, + 2216, 2456, 1616, 1626, 1101, 0, 1668, 1670, 0, 0, + 0, 1646, 0, 568, 0, 1102, 1118, 562, 819, 819, + 325, 316, 374, 0, 0, 0, 894, 897, 885, 886, + 905, 904, 760, 1646, 0, 400, 399, 0, 403, 0, + 450, 460, 0, 458, 430, 435, 0, 441, 440, 437, + 436, 431, 434, 550, 0, 0, 0, 0, 0, 0, + 571, 0, 572, 0, 831, 0, 0, 0, 742, 892, + 0, 0, 476, 716, 1483, 1603, 595, 584, 592, 0, + 0, 586, 1112, 1112, 463, 599, 601, 1486, 1487, 0, + 0, 516, 0, 1120, 1443, 1442, 1728, 0, 0, 0, + 804, 805, 800, 0, 0, 2347, 0, 2350, 0, 2351, + 2345, 2375, 2377, 0, 2363, 2364, 0, 2233, 2232, 2231, + 2235, 2234, 0, 2227, 2225, 2226, 0, 0, 0, 0, + 1875, 0, 1892, 1895, 0, 0, 0, 1901, 0, 1894, + 1896, 0, 1855, 0, 1867, 1795, 0, 1794, 1880, 0, + 1673, 0, 0, 1661, 1662, 0, 0, 1663, 145, 292, + 557, 819, 566, 1103, 573, 542, 540, 1646, 888, 0, + 287, 0, 405, 1536, 456, 0, 439, 438, 632, 512, + 602, 578, 0, 577, 0, 575, 574, 828, 833, 0, + 716, 882, 1488, 730, 599, 592, 595, 0, 585, 0, + 140, 140, 601, 461, 0, 0, 382, 0, 1426, 1728, + 1425, 1427, 1435, 1432, 1434, 1433, 1431, 0, 1253, 1254, + 794, 799, 0, 0, 2348, 2349, 0, 0, 2180, 0, + 0, 0, 2237, 0, 2238, 0, 0, 0, 0, 0, + 1898, 1899, 1900, 1902, 1897, 1842, 0, 1796, 1623, 1667, + 1669, 1664, 0, 1665, 0, 0, 0, 0, 1674, 1087, + 544, 819, 300, 895, 0, 459, 576, 553, 553, 716, + 741, 1484, 601, 595, 599, 1112, 587, 589, 588, 465, + 1108, 1109, 0, 601, 807, 0, 1436, 1430, 1704, 1691, + 0, 0, 806, 0, 0, 0, 0, 2230, 2236, 2239, + 0, 0, 0, 0, 2643, 0, 1910, 0, 0, 0, + 1672, 1678, 0, 0, 0, 545, 0, 580, 579, 743, + 464, 599, 601, 140, 516, 1107, 0, 1880, 0, 1428, + 1728, 0, 0, 812, 2374, 2376, 2365, 1722, 1721, 2005, + 0, 0, 1725, 1918, 0, 2368, 0, 0, 1921, 0, + 1868, 0, 0, 0, 401, 601, 462, 590, 382, 1110, + 1094, 0, 1429, 0, 0, 814, 0, 810, 813, 815, + 816, 0, 0, 0, 0, 1911, 1912, 1921, 0, 2352, + 1921, 1890, 1675, 1679, 0, 1676, 466, 601, 0, 0, + 0, 778, 0, 1752, 0, 0, 0, 1907, 2368, 1920, + 2378, 2352, 0, 1880, 0, 0, 0, 811, 0, 0, + 0, 0, 1915, 2366, 2378, 0, 1095, 812, 1251, 1252, + 0, 1724, 0, 0, 1913, 2366, 1677, 0, 0, 1916, + 1914, 779, 0, 1917 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 57, 58, 59, 60, 61, 62, 1588, 2975, 2829, - 3765, 3766, 63, 64, 1584, 65, 66, 67, 68, 1498, - 69, 1081, 1837, 2989, 70, 2665, 826, 827, 828, 2530, - 2531, 2920, 2532, 2519, 1348, 1783, 1520, 800, 801, 1480, - 1521, 72, 73, 1342, 2508, 74, 75, 76, 1551, 1645, - 1552, 1553, 1492, 1883, 4833, 5593, 3555, 2784, 3813, 3556, - 3557, 4199, 4200, 4289, 5607, 5608, 77, 1661, 1662, 78, - 79, 2957, 3731, 4342, 5199, 5200, 5436, 639, 4856, 4857, - 5423, 5424, 5621, 5772, 5773, 2990, 670, 3808, 4426, 3756, - 4927, 3757, 4928, 3758, 4929, 4189, 4190, 3742, 4373, 4374, - 2028, 4869, 4375, 3759, 4888, 5470, 3760, 2684, 5636, 3024, - 1955, 1953, 5371, 5449, 4687, 4688, 4262, 5645, 5646, 5647, - 5893, 4890, 4933, 4934, 5809, 5810, 3811, 4432, 4940, 5257, - 5447, 3453, 81, 3784, 3785, 82, 733, 1859, 3910, 734, - 3027, 671, 735, 2991, 87, 3017, 5638, 3018, 1614, 2843, - 4355, 3888, 88, 1108, 4164, 5282, 5530, 5531, 724, 89, - 1845, 90, 91, 2970, 3749, 92, 2701, 3470, 93, 94, - 3489, 3490, 3491, 95, 4383, 5218, 1554, 3544, 3545, 3546, - 3547, 4220, 96, 1840, 2998, 2999, 97, 98, 99, 3128, - 3129, 100, 2906, 101, 102, 103, 104, 4256, 4789, 4904, - 3586, 3772, 4399, 4902, 105, 3735, 2992, 3045, 3846, 3847, - 5280, 5522, 5523, 5524, 5696, 5928, 5526, 5698, 5831, 5700, - 4879, 6060, 6061, 5507, 4153, 4701, 107, 4880, 4881, 5651, - 108, 2699, 109, 110, 1814, 2963, 2964, 4356, 3034, 3821, - 3822, 4412, 4413, 111, 3673, 112, 4765, 4766, 672, 5659, - 5599, 5758, 113, 114, 4769, 4770, 115, 116, 117, 118, - 119, 725, 1043, 1044, 727, 1163, 1164, 3425, 1125, 120, - 2540, 121, 3711, 122, 1234, 4992, 123, 759, 1179, 1180, - 2993, 125, 769, 3147, 771, 3113, 3114, 1971, 3892, 3893, - 4500, 126, 127, 3125, 3150, 128, 1485, 2675, 2676, 4682, - 2994, 673, 1219, 3031, 3448, 5359, 5110, 5360, 5820, 5984, - 5111, 5377, 3369, 4102, 130, 674, 1526, 2740, 1131, 1132, - 3038, 3826, 2645, 2646, 1684, 4453, 2648, 3828, 2649, 1459, - 2650, 1118, 1119, 3834, 3835, 3836, 3837, 4449, 4459, 4460, - 5274, 5515, 4456, 1833, 5268, 5269, 131, 1523, 2737, 132, - 133, 134, 1567, 968, 1141, 1142, 135, 686, 687, 136, - 5441, 137, 1121, 138, 5278, 139, 140, 791, 792, 141, - 142, 2754, 4202, 143, 1524, 144, 145, 3580, 3581, 4781, - 146, 147, 148, 2815, 2816, 149, 150, 151, 152, 153, - 5918, 5987, 5988, 5989, 4467, 5825, 154, 1211, 155, 156, - 157, 158, 196, 1009, 1010, 1011, 921, 2995, 5259, 160, - 161, 1481, 1482, 1483, 1484, 2670, 162, 163, 164, 3856, - 3857, 165, 166, 167, 168, 1817, 169, 170, 5414, 171, - 172, 1787, 173, 174, 1017, 1018, 1019, 1020, 1785, 3317, - 633, 845, 1375, 1381, 1424, 1425, 1426, 176, 737, 177, - 1214, 1048, 738, 1172, 179, 739, 2627, 3399, 4117, 4118, - 4119, 4122, 5094, 4659, 740, 3395, 182, 1978, 3134, 3137, - 3391, 741, 3405, 3406, 3407, 4126, 742, 5363, 5364, 5739, - 5957, 5958, 6011, 6047, 743, 761, 1111, 3049, 744, 1309, - 188, 189, 190, 901, 848, 849, 3322, 5320, 5545, 192, - 2500, 3300, 778, 1430, 889, 890, 891, 910, 2930, 2593, - 2594, 2618, 2619, 1439, 1440, 2606, 2610, 2611, 3382, 3375, - 2599, 4096, 5344, 5345, 5346, 5347, 5348, 5349, 4648, 2614, - 2615, 1442, 1443, 1444, 2623, 193, 2583, 3350, 3351, 3352, - 4073, 4074, 5857, 4088, 4084, 4633, 5071, 3353, 837, 1209, - 1451, 4641, 5859, 3354, 5060, 5061, 5324, 4092, 3361, 4113, - 3796, 3797, 3798, 3355, 5553, 5554, 5854, 5855, 5326, 5327, - 2651, 1404, 875, 1310, 876, 1417, 1311, 1391, 878, 1312, - 1313, 1314, 881, 1315, 1316, 1317, 884, 1383, 1318, 1319, - 1400, 1413, 1414, 1376, 5328, 1321, 1322, 1323, 3357, 1324, - 4578, 5032, 5018, 3226, 3227, 2526, 4574, 3996, 4568, 2495, - 3290, 5083, 5351, 5352, 4036, 4603, 5046, 5315, 5713, 5838, - 5839, 5939, 1325, 1326, 1327, 3287, 2489, 971, 1328, 4358, - 2491, 3217, 3195, 1687, 3196, 1981, 2002, 3166, 3183, 3184, - 3264, 3197, 3205, 3210, 3218, 3251, 1329, 3168, 3169, 3935, - 2004, 1330, 1015, 1690, 1016, 1419, 3246, 1338, 1339, 1332, - 1972, 838, 5067, 1167, 1770, 775, 1333, 1334, 1335, 1336, - 1560, 942, 1134, 1135, 892, 894, 895, 2587, 629, 621, - 944, 3548, 2492, 630, 623, 624, 1775, 2493 + -1, 57, 58, 59, 60, 1108, 1113, 1914, 1933, 61, + 62, 1634, 3074, 2927, 3904, 3905, 63, 64, 1630, 65, + 66, 67, 68, 1544, 69, 1886, 3088, 70, 2760, 850, + 851, 852, 2625, 2626, 3019, 2627, 2614, 1394, 1832, 1566, + 824, 825, 1526, 1567, 72, 73, 1388, 2603, 74, 75, + 76, 1597, 1693, 1598, 1599, 1538, 5049, 5880, 3690, 2882, + 3952, 3691, 3692, 4381, 4382, 3770, 4410, 4473, 5894, 5895, + 77, 1709, 1710, 78, 79, 3056, 3870, 4526, 5437, 5438, + 5699, 669, 5072, 5073, 5686, 5687, 5909, 6082, 6083, 3089, + 700, 3947, 4610, 3895, 5143, 3896, 5144, 3897, 5145, 4938, + 4939, 4371, 4372, 3881, 4557, 4558, 2090, 5085, 4559, 3898, + 5104, 5733, 3899, 2848, 2775, 2776, 5924, 3123, 2005, 2003, + 5636, 5712, 4924, 4925, 4446, 5933, 5934, 5935, 6225, 5106, + 5149, 5150, 6120, 6121, 3950, 4616, 5156, 5495, 5710, 3648, + 81, 3923, 3924, 82, 763, 1908, 4051, 764, 3126, 701, + 765, 3090, 87, 3116, 5926, 3117, 1662, 2941, 4539, 4027, + 88, 1136, 4335, 5520, 5793, 5794, 754, 89, 1894, 90, + 91, 3069, 3888, 92, 2793, 3596, 93, 94, 3615, 3616, + 3617, 95, 4567, 5456, 1600, 3679, 3680, 3681, 3682, 4402, + 96, 1889, 3097, 3098, 97, 98, 99, 3228, 3229, 100, + 3005, 101, 102, 103, 104, 4440, 5005, 5120, 3721, 3911, + 4583, 5118, 105, 3874, 3091, 3144, 3985, 3986, 5518, 5785, + 5786, 5787, 5984, 6260, 5789, 5986, 6142, 5988, 5095, 6406, + 6407, 5770, 4324, 4902, 107, 5096, 5097, 5939, 108, 2791, + 109, 110, 1863, 3062, 3063, 4540, 3133, 3960, 3961, 4596, + 4597, 111, 3810, 112, 4981, 4982, 702, 5947, 5886, 6068, + 113, 114, 4985, 4986, 115, 116, 117, 118, 119, 755, + 1070, 1071, 757, 1191, 1192, 3557, 1153, 120, 2635, 121, + 3850, 122, 1266, 5209, 123, 789, 1207, 1208, 3092, 125, + 799, 3247, 801, 3212, 3213, 2021, 4031, 4032, 4684, 126, + 127, 4035, 4036, 4691, 3225, 128, 1531, 2770, 2771, 4894, + 3093, 703, 3642, 5618, 5363, 5619, 6131, 6322, 5364, 3501, + 4280, 130, 704, 1572, 2832, 1159, 1160, 3137, 3965, 2740, + 2741, 1732, 4637, 2743, 3967, 2744, 1505, 2745, 1146, 1147, + 3973, 3974, 3975, 3976, 4633, 4643, 4644, 5512, 5778, 4640, + 1882, 5506, 5507, 131, 1569, 2829, 132, 133, 134, 1613, + 994, 1169, 1170, 135, 716, 717, 136, 5704, 137, 1149, + 138, 5516, 139, 140, 1251, 1252, 816, 141, 142, 2852, + 4384, 143, 1570, 144, 145, 3715, 3716, 4997, 146, 147, + 148, 2913, 2914, 149, 150, 151, 152, 153, 6250, 6325, + 6326, 6327, 4651, 6136, 154, 1239, 155, 156, 157, 158, + 196, 1035, 1036, 1037, 947, 3094, 5497, 160, 161, 1527, + 1528, 1529, 1530, 2765, 162, 163, 164, 3995, 3996, 165, + 166, 167, 168, 1866, 169, 170, 5677, 171, 172, 1836, + 173, 174, 1044, 1045, 1046, 1047, 1834, 3445, 663, 869, + 1421, 1427, 1470, 1471, 1472, 176, 767, 177, 1242, 1075, + 768, 1200, 179, 769, 2722, 3531, 4295, 4296, 4297, 4300, + 5329, 4871, 770, 3527, 182, 2028, 3234, 3237, 3523, 771, + 3537, 3538, 3539, 4304, 772, 5622, 5623, 5624, 5625, 5861, + 6193, 6194, 6197, 6298, 773, 791, 1139, 3148, 774, 1353, + 188, 189, 190, 927, 872, 873, 3450, 5578, 5825, 192, + 2595, 3428, 808, 1476, 915, 916, 917, 936, 3029, 2688, + 2689, 2713, 2714, 1485, 1486, 2701, 2705, 2706, 3514, 3507, + 2694, 4274, 5603, 5604, 5605, 5606, 5607, 5608, 4860, 2709, + 2710, 1488, 1489, 1490, 2718, 193, 2678, 3480, 3481, 3482, + 4250, 4251, 6182, 4265, 4261, 4845, 5306, 3483, 861, 1237, + 1497, 4853, 6184, 3484, 5295, 5296, 5583, 4270, 3493, 4291, + 3935, 3936, 3937, 3485, 5835, 5836, 6179, 6180, 5585, 5586, + 3486, 5827, 6345, 6346, 6384, 6419, 2746, 1450, 900, 1354, + 901, 1463, 1355, 1437, 903, 1356, 1357, 1358, 906, 1359, + 1360, 1361, 909, 1429, 1362, 1363, 1446, 1459, 1460, 1364, + 1422, 5587, 1366, 1367, 1368, 3488, 1369, 4788, 5266, 5252, + 3349, 3350, 2621, 5568, 4784, 4163, 4778, 2588, 2592, 5318, + 5610, 5611, 3421, 4212, 4816, 5283, 5821, 6015, 6016, 6163, + 1370, 1371, 1372, 3413, 2582, 997, 1373, 4542, 2584, 3340, + 3318, 1735, 3319, 2031, 2053, 3266, 3283, 3284, 3389, 3320, + 3328, 3333, 3341, 3375, 1374, 3268, 3269, 4073, 2055, 1375, + 1041, 1738, 1042, 1465, 3370, 5232, 5533, 5534, 5806, 5807, + 5544, 5808, 5545, 5535, 4085, 4086, 6004, 3294, 3390, 4089, + 3302, 3303, 4107, 4096, 3295, 1376, 4098, 1384, 1385, 1378, + 2022, 862, 5302, 1195, 1819, 805, 1379, 1380, 1381, 1382, + 1606, 968, 1162, 1163, 918, 920, 921, 2682, 659, 651, + 970, 3683, 2585, 660, 653, 654, 1824, 2586 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -5539 +#define YYPACT_NINF -5911 static const int yypact[] = { - 8508, 1611, 21059, -5539, -5539, 1611, 65898, -5539, 75478, 1337, - 190, 102, 185, 19937, 75957, 84579, 416, 341, 14567, 1611, - 84579, 2369, 56318, 71167, 891, 84579, 1141, 594, 56318, 84579, - 85058, 1092, 1153, 786, 85537, 76436, 69730, 1138, 84579, 1321, - 1419, 86016, 76915, 1145, 77394, 594, 52035, 127, 1099, 86495, - 84579,108459, 1419, 77873, 77873, 77873, 1844, 1863, 1413, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, 1373, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 2097, -5539, 825, - 2493, 1417, 182, 1466, -5539, -5539, 2014, 65898, 84579, 84579, - 84579, 1776, 84579, 1635, 84579, 774, 65898, 61587, 78352, 1721, - 1772, 48101, 86974, -5539, 65898, 84579, 59192, 65898, 84579, 84579, - 87453, 84579, 87932, 84579, 1578, 73562, 84579, 1887, 84579, 84579, - 59671, 88411, 2098, 926, 236, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 1878, - 1707, -5539, 254, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 64461, 84579, 20566, 1141, 2014, -5539, 1844, 84579, - 2146, 84579, 1900, 88890, 84579, -5539, 84579, 1987, 89369, 813, - 1870, 61587, 1898, 48597, 2091, 84579, 84579, 61587, 89848, 90327, - 90806, 84579, 84579, -5539, -5539, 2087, 84579, -5539, 2234, 62066, - 1910, 2238, 2374, 2320, 1306, -5539, 78831, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, 65419, 341, -5539, -5539, 2291, - 66377, 2370, -5539, -5539, 91285,108924, 2143, -5539, 839, 66856, - 62545, 2525, 2155, 49093, 2557, -5539, 67335, -5539, 63024, 67814, - -5539, -5539, -5539, -5539, -5539, 91764, -5539, 92243, 2254, 2370, - -5539,109389, 63503, -5539, 2413, 92722, 93201, 93680, 2014, 2152, - 2051, 1386, 42763, -5539, -5539, -5539, 2176, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, 267, 866, 284, 231, - 305, -5539, -5539, 237, 239, 243, 267, 2638, 2638, -5539, - 84579, -5539, -5539, 866, 67, 2275, 2170, 2170, 2170, 2388, - 33, -5539, 2170, 2329, -5539, -5539, -5539, -5539, 77394, -5539, - 2181, 1141, 2232, 2682, 2302, -5539, -5539, -5539, -5539, -5539, - 64461, 2684, 2684, 84579, -5539, -5539, 2731, 2304, 2576, 2312, - -5539, -5539, -5539, 2511, 2519, 2540, 117, 1141, 263, -5539, - 2665, -5539, 2589, 29048, 29048, 1141, 79310, 94159, 228, 64940, - 2150, 79789, 2359, 1523, 2563, -5539, -5539, -5539, 677, -5539, - 2835, 2404, 2671, 2312, 926, 44689, -5539, -5539, 2419, 1707, - 77394, -5539, -5539, -5539, 64461, 2746, 31523, 84579, 2417, -5539, - 2422, 2417, -5539, -5539, 2484, -5539, 2484, 2484, 2428, 2428, - 2647, 2473, -5539, -5539, -5539, 2020, 2484, 2428, -5539,110319, - -5539, 10, 1830, -5539, -5539, 2943, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, 2512, -5539, 1013, 1967, -5539, -5539, - -5539, 29048, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 2499, - 2515, 1417, -5539, 11445, 64461, 84579, 1658, 1658, 2936, 1658, - 1546, 1819, -5539, 2762, -5539, 2845, 2811, 2812, 77394, 2537, - 318, -5539, 1708, 2543, 1984, 2542, 1735, 1130, -5539, 801, - 84579, 294, 2599, 80268, 5610, 2577, 1707, 2604, -5539, -5539, - -5539, -5539, 2722, 412, -5539, -5539, -5539, -5539, 2893, 2952, - 5979, 355, 80747, -5539, -5539, -5539, -5539, 84579, 84579, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 2642, 1309, - -5539, -5539, 2635, 2990, 2866, 6623, 1151, 2960, 2819, 1267, - 8638, 2879, 172, 3016, 6419, 1392, 3024, 1789, 2161, 81226, - 84579, 2982, 3026, 4344, 1726, 928, 2894, 983, 2960, 3017, - 2841, 1267, 3030, 5295, 84579, -5539, 2953, 3066, 676, -5539, - 352, -5539, 22669, 31523, 51556, -5539, 1707, 626, -5539, -5539, - 55839, -5539, 2747, 2904, 884, 65898, 2695, 84579, 84579, -5539, - 108459, 65898, -5539, 2917, 49589, 65898, -5539, 65898, -5539, -5539, - 3031,108459, 84579, 84579, -5539, 84579, -5539, -5539, 2699, -5539, - -5539, -5539, -5539, -5539, 2170, 84579, 3131,108459, 2932, 271, - 1758, 3171, 84579, 2941, 1758, 2750, 94638, -5539, -5539, 1758, - -5539, -5539, -5539, 84579, 84579, 2716, 1766, 2931, 777, 1758, - 2947, 3172, 3177, 2951, 2800, 2956, 2422, 3140, 2928, 1025, - 220, 2094, 1758, 2780, 95117, 95596, 84579, 2782, 84579, 2684, - 65898, 2814, 65898, 65898, 84579, 3072, 84579, -5539, 2918, -5539, - -5539, 989, -5539, -5539, -5539, -5539, -5539, 3089, -5539, 193, - 3091, 2745, 3093, 1600, 3094, 215, -5539, -5539, 2785, -5539, - 3096, 251, -5539, 3098, -5539, 2748, 96075, -5539, 96554, 97033, - 3100, 253, -5539, 61587, 3101, 251, 3102, 2748, 3104, 251, - 3105, 899, 3106, -5539, 1069, 3103, 3108, 215, 3114, 2126, - 2748, -5539, 3115, 261, -5539, 3116, 275, -5539, 3118, 2986, - -5539, 31523, -5539, 2869, -5539, 1099, 1330, 1386, 866, -5539, - 84579, 866, 84579, 866, 84579, 866, 84579, 866, 84579, 84579, - 84579, 866, -5539, -5539, -5539, 84579, 2775, 84579, -5539, 84579, - -5539, -5539, -5539, 72125, 61587, 72604, -5539, 84579, -5539, 195, - 1141, -5539, -5539,108459, 3239, 61587, 2684, 1752, -5539, 84579, - 84579, -5539, -5539, -5539, 3053, 84579, 3119, 3120, 72125, 61587, - -5539, 97512, -5539, 65419, 3002, 2790, -5539, -5539, -5539, -5539, - -5539, 1953, 2300, 268, 2365, 31523, 2794, 268, 268, 2795, - 3129, -5539, -5539, -5539, 315, 2797, 2801, -5539, 269, 269, - -5539, 2804, 2805, -5539, 270, 2806, 2809, 2393, 2394, 277, - 2810, 2815, 2816, 2020, 268, 2820, 31523, -5539, 2822, 269, - 2823, 2824, 2825, 2395, 2826, -5539, 2427, 2827, 332, 334, - 2832, 2834, -5539, 3033, -5539, 298, 2836, 2838, 2839, 2848, - 2849, 2853, 2854, 2856, 31523, 31523, 31523, -5539, 26568, 1707, - 2450, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 300, - 47605, -5539, 2852, -5539, -5539, 3037, -5539, -5539, 31523, -5539, - -5539, 741, -5539, 322, -5539, -5539, -5539, 1707, 3142, 2855, - -5539, -5539, 1714, 2859, -5539, 2253, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, 63982, 3277, -5539, 478, 1141, 352, - 1873, 3244, 53923, 54402, -5539, -5539, 3128, -5539, 84579, -5539, - -5539, 1707, 151, 1906, -5539, 2176, 19935, 2078, 2417, 84579, - 84579, 3325, -5539, 2864, -5539, -5539, 31523, -5539, -5539, -5539, - 2638, -5539, 2484, 2484, -5539, -5539, 3329, 2954, 2955, 2638, - -5539, 2638, -5539, 2873, 2875, 2638, 2958, 2959, 2962, -5539, - 2867, 2963, 2638, -5539, -5539, 57276, 2071, -5539, 3204, 258, - -5539, -5539, -5539, 2083, -5539, 2881, -5539, 2422, -5539, -5539, - 1417, 1417, 31523, 1417, 287, 1280, 29543, 32018, 3216, 3109, - 1797, 1463, 3220, -5539, 3112, 1546, 1819, 77394, 84579, 77394, - 97991, 3014, 31523, -5539, 3328, 2983, 2985, 3036, 52993, -5539, - 2987, 2957, 2988, 3043, 2905, 2996, 2997, 3052, -5539, 3181, - -5539, -5539, 3001, 3340, 3003, 98470, -5539, -5539, 883, -5539, - -5539, -5539, 883, -5539, 2930, 1730, 276, 304, 3005, 403, - 235, 3332, -5539, 1107, -5539, -5539, 3061, -5539, 9251, 84579, - 3271, 6253, 3141, 355, 3062, -5539, -5539, -5539, 3199, 3022, - 84579, 3027, 3154, 355, 336, 98949, -5539, -5539, 84579, -5539, - -5539, -5539, -5539, 2721, 3307, 25637, -5539, 2059, 3028, 3009, - 3035, 84579, 68772, 2175, 3133, 3163, 1826, 2270, 623, 3092, - 84579, 1956, 3173, 84579, 2965, 3039, 3040, 3263, 2966, 490, - 3363, 2967, -5539, -5539, -5539, 3331, -5539, 2453, 2461, 3157, - -5539, 3264, 3309, 7192, 3023, 3034,107064, -5539, 3057, 52, - 50085, 84579, 84579, 3059, 3060, 99428, 2721, 3351, 73083, 73083, - 3064, 3065, 44208, 3366, 1780, 3067, -5539, -5539, -5539, 1780, - 3068, 3070, 99907, 2721, 3356, 84579, 3071, 3073, 84579,110319, - 355, -5539, 3432, 355, 355, 2035, 3433, 3076, 353, 3238, - 652, 1758, 2967, 3099, -5539, 3079, 3082, 919, -5539, 3209, - 84579, 3085, 3097, 1712, 3186, 1141, -5539, 3188, -5539, 3107, - 3189, 3110, 843, 2716, -5539, -5539, 34, 3113, 77394, 3212, - 3214, 1956, 424, 877, 2967, -5539, 3111, 3122, 2966, 2966, - 84579, 84579, 84579, 84579, 84579, 208, 3470, 3482, 3123, 413, - 749, 3032, -5539, 1780, 60150, 3126, -5539, 1780, 84579, 383, - 1004, 2967, 1790, 1864, -5539, -5539, -5539, 926, -5539, 31523, - 31523, 31523, 3029, -5539, 2138, 19935, 815, -5539, 2341, 7923, - 3038, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 84579, 64461, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, 84579, -5539, 84579, 3313, - 108459, 3314, 3259, 3334, 3335, 355, 84579, 84579, 3336, 3337, - 3338,108459, 3342, 3345, 3346, 3260, 3134, 187, 3121, 3049, - 3514, 3412, 84579, 57276, -5539, 883, -5539,108459, 3282, 3419, - -5539, 84579, 3302, 661, -5539, 3456, 3135, -5539, -5539, 90, - 84579, 71646, 2716, -5539, -5539, 3425, 61587, 1323, 3426, 1141, - 3130, 3429, 3297, 1141, 61587, 3344, 84579, 84579, 84579, 84579, - 139, -5539, 60150, 3316, -5539, 84579, 3319, 3099, 3320, 3548, - 99, 2170,100386, 3427,100865, 3124, 84579, 3125, 3125, 3555, - 108459, 367, 3369, -5539, -5539, 2124, -5539, 3233, -5539, 65898, - -5539, -5539, 65898, -5539, -5539,108459, 84579, 3127,108459,108459, - -5539, -5539, 65898, 65898, -5539, 61587, 61587, 3445, 261, 3448, - 3164, 3450, 3165, 50085, 50085, -5539, 286, 65898, -5539, 61587, - 65898, -5539, 84579, -5539, 84579, -5539, -5539, -5539, -5539,108459, - 108459, -5539, 61587, 60150, 3454, 84579, 84579, -5539, 84579, 84579, - -5539, 84579, 84579, 2085,101344, 1386, -5539, 84579, -5539, 84579, - -5539, 84579, -5539, 84579, -5539, 84579, -5539, -5539, -5539, 84579, - -5539, 84579, 2093, -5539, -5539, 2095, 1331, 84579, 84579, 238, - 65898, 84579, 3330, 84579, 65898, 65898, 84579, 84579, 84579, 84579, - 84579, 3192, 2859, 1098, -5539, 1278, 495, 77394, 3339, -5539, - -5539, 2102, 1844, 973, 84579, 1398, -5539, -5539, -5539, -5539, - 72604, 71167, 3439, 130, 84579, -5539, -5539, 16184, 31523, 1707, - 28548, -5539, -5539, 19935, 3160, 31523, 31523, 3136, 2638, 2638, - -5539, 1442, 31523, 31523, 31523, 2638, 2638, 31523, 7833, 31523, - 50085, 31523, 36968, 23671, 31523, 31523, 27063, 1183, 2804, 31523, - 3362, 37952, 31523, 1873, 3364, 31523, 1873, 7833, 3601, 3601, - 2447, 9033, 3145, 1707, -5539, -5539, 1291, 2638, 1291, -5539, - 234,108459, 31523, 31523, 31523, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 31523, - -5539, 57276, -5539, -5539, -5539, -5539, -5539, -5539, 3205, -5539, - -5539, -5539, -5539, -5539, -5539, 5970, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 84579, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 27558, -5539, -5539, -5539, -5539, 3138, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 2776, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 28053, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 3146, -5539, -5539, 31523, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 3206, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 1290, - 31523, 31523, 31523, 31523, 31523, 31523, 31523, 31523, 31523, -5539, - 31523, 337, -5539, -5539, 3442, 3464, 46, 484, 81705, 29048, - 3204, -5539, 22669, -5539, 249, 3204, -5539, -5539, -5539, 84579, - 3277, -5539, -5539, -5539, 3217, -5539, -5539, -5539, -5539, -5539, - -5539, 210, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - 3147, -5539, -5539, -5539, -5539, 3147, -5539, 3139, 3452, 3461, - 899, 84579, 2521, 31523, 3205, 279, 84579, 31523, 3138, 2776, - 31523, 3146, 31523, 3206, -5539, 31523, -5539, 2108, 1601, 31523, - 2129, 3144, -5539, -5539, 3155, 2875, 3158, 3176, 3151, 3153, - 2638, 222, 3156, 885, 1248, 3268, 2638, 3402, 3159, -5539, - 57276, -5539, 39877, 3210, -5539, -5539, -5539, 1419, 84579, 84579, - -5539, 3451, -5539, 3166, -5539, 13608, 3451, -5539, -5539, 37460, - 3289, 3446, 3384, -5539, -5539, -5539, 3168, 19935, 32513, 32513, - -5539, 2391, 19935, 2400, -5539, -5539, -5539, -5539, -5539, -5539, - 1190, -5539, 84579, 153, 3216, 1463, 3234, 959, 3636, 3235, - 84579, -5539, 45170, 2147, -5539, 61587, 84579, 84579, 3381, -5539, - 3620, -5539,110319, -5539, 3178, -5539,109854,105655, -5539, -5539, - 787, -5539, 935, 61587, -5539, 84579, 84579, 61587, 84579, 84579, - -5539, 61587, 3230, 84579, 84579, -5539, -5539, -5539, -5539, -5539, - 54881, 1224, 71167, 3321, 70209, -5539, -5539, 3184, 84579, 3246, - 3465, 3466, 120, -5539, -5539,101823, -5539, 3413, 61587, 84579, - 84579, 31523, 3415, 84579, 84579, -5539, 308, 3278, 3279, -5539, - 84579, 3284, 65898, 3198,108459, 65898, 50581, 65898, 65898, 3536, - 108459, 84579, 84579, 1410, 77394, 443, 1059, 2967, 3434, -5539, - 1557, -5539, 61587, -5539, 84579, 3418, -5539, -5539, -5539, 74041, - 3665, 3343, -5539, -5539, -5539,102302, -5539, -5539, 3430, -5539, - 2163, -5539, 61587, 61587, 84579, 9891,102781, 1455, 3444, -5539, - -5539,108459, -5539, 84579, 82184, 84579, 84579, 3485, 84579, 74520, - 103260,103739, 765, 1418, 3486, 84579, 74999, 3487, -5539, 3365, - 84579, -5539, -5539, 57755, 61587, 84579, 936, 57276, -5539, 3471, - -5539, 84579, -5539, 909, -5539, 84579, 4164, 3436, -5539, -5539, - 3308, 3323, 84579, 452, 1061, 2967, 3600, 84579, 84579, 3224, - 2164, 61587, 84579, 57276, -5539, 3449, 116, 61587, 84579, 74041, - -5539, 3453, -5539, 77394, 3535, -5539, 3232, 2170, 2419, 2026, - 3232, 61587, 84579, -5539, 3232, 84579, 94159, -5539, 61587, 1317, - -5539, 61587, 84579, 74041, -5539, 3455, 3393, 61587, 84579, 8364, - -5539, -5539, -5539, 355, -5539, -5539, -5539, -5539, -5539, 84579, - 84579, 355, 84579, 84579, 355, 1263, -5539, 61587, 84579, -5539, - -5539, -5539, 3367, 61587, 84579, 84579, 267, 84579, -5539, 84579, - 61587, 3285, 84579, 84579, -5539, -5539, 84579, 4384, 84579, 84579, - 84579, 84579, 84579, 84579, 61587, 84579, -5539, -5539, 1484, 1420, - 1882, 1892, 180, 84579, 3547, 84579,104218, 61587, 84579, 84579, - 1141, 84579, 57276, 1741, -5539, -5539, 3371, -5539, 61587, 1317, - -5539, 10058, 84579, 84579, 84579, 3347, 3350, 232, 3416, -5539, - -5539, -5539, 822, 822, 3457, -5539, 31523, 31523, 30038, 3245, - -5539, -5539, 31523, 2747, -5539, -5539, -5539, 995, 3710, 995, - 104697, 995, 995, 3530, 3310, 3311, 995, 995, 995, 3528, - 995, 995, 995, 84579, 3431, -5539, -5539, 3431, 861, 31523, - 108459, 84579, -5539, 2171, -5539, 3269, -5539, -5539, 57276, 84579, - 327, 857, 3605, 3473, 69251, 2174, 3593, 84579, 3315, 84579, - 3724, 3357, 1310, -5539, 2174, 84579, -5539, 2082, 71167, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, 84579, -5539, -5539, 3602, - 84579, 40358, 3443, -5539, 1141, 2716, 2716, 2716, 2716, 3276, - 2716, 84579, 3407, 3627, 2174, 3281, 3629, -5539, 3099, 3630, - 1445, 84579, 3503, 69251, 3348, 3326, 3515, 3752, 2170, 1141, - 3521, 3507, -5539, 53458, -5539, 2716, 3768, 26102, 4233, 7122, - 3509, 3572, -5539, -5539, 3516, 842, 84579, 3612, 3613, 3635, - -5539, 193, -5539, 3766, 1600, 3637, 215, -5539, 251, -5539, - 2748, -5539, 84579, -5539, 84579, 84579, 84579, 84579, 253, -5539, - -5539, 251, 2748, 251, 899, -5539, 3582, 215, 2748, 3435, - 3641, 261, -5539, 275, -5539, 3524, 899, -5539, 3540, 2170, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 2186, -5539, 84579, - -5539, 3616, 3618, 3619, 3622, 3625, 3312, 3327, 3370, 84579, - 3352, 3312, 355, 3353, 3341, -5539, 3352, 3352, 3312, 2859, - 2859, 3312, 3327, 60629, 3805, 3660, -5539, 3424, 3349, 3669, - 203, -5539, 834, 1247, 3589, -5539, -5539, -5539, -5539,108459, - -5539, 61587, 3385, 2684, 2684, 126, 3560, 3355, 60629, 3789, - 899, -5539, 65898, 84579,108459, 65898, 3568, 65898, 65898,108459, - 84579, 84579, 2188, -5539, 1836, -5539, 1934, 31523, 476, -5539, - 15094, 2197, 31523, 3360, 3361, -5539, 3678, -5539, -5539, -5539, - -5539, -5539, -5539, 3368, 3679, -5539, 2204, 2211, 2215, 3373, - 3374, 7054, 7158, 3375, 15126, 3376, 3377, 3378, 3354, 36968, - 36968, 26568, 1143, -5539, 36968, 3380, 3567, 2216, 14030, 3387, - 3388, 16627, 30533, 31523, 30533, 30533, 16981, 3390, 3394, -5539, - 3733, -5539, 2220, 57276, 3559, 17227, 2221, -5539, 31523, 57276, - 7774, 31523, -5539, 31523, -5539, 3396, -5539, -5539, 4724, 4724, - 4724, 7833, -5539, 3389, -5539, 36968, 36968, -5539, 2786, 26568, - -5539, -5539, 3698, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - 2739, -5539, -5539, -5539, 3607, 3137, 50085, 7321, 31523, 293, - 31523, 3138, 31523, 3469, 4724, 4724, 4724, 396, 396, 313, - 313, 313, 2046, 484, -5539, -5539, -5539, 3372, 3382, 3400, - 3574, 3401, 31523, -5539, 2182, 2482, 84579, 3428, 6030, 6455, - -5539, -5539, -5539, 3210, 815, 3210, -5539, 926, 2638, 1291, - 55360, -5539, -5539, -5539, -5539, -5539, -5539, 84579, 19935, -5539, - -5539, 3655, 3403, 2225, -5539, -5539, 2638, -5539, -5539, 1852, - 1852, 3405, -5539, 3408, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, 3409, -5539, -5539, -5539, 40839, 3734, 3411, 39395, 82663, - 3414, 2132, -5539, 82663, 83142, 82663, -5539, 3437, -5539, 1707, - 31523, 3731, -5539, -5539, -5539, 31523, -5539, -5539, 1040, 3441, - 628, 1105, 2490, 2490, 2391, 1168, -5539, -5539, 3475, -5539, - 31523, 2405, -5539, 2507, -5539, -5539, -5539, -5539, 2859, -5539, - 3674, -5539, -5539, -5539, 39877, 3467, 3474, 72, 43726, 3631, - -5539, 84579, 39877, -5539, 84579, 159, -5539, 3447, -5539, -5539, - -5539, -5539, -5539, -5539,105655, 1967, -5539,109854, -5539,109854, - -5539, 1967, 3869, -5539,105655, 1879, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, 61587, - 61587, 3646, 84579, 3645, 3650, 31523, 433, 84579, 3440, 3458, - 1469, 3739, 3476, -5539, 3788, 899, -5539, -5539, 3526, -5539, - 19935, -5539, -5539, -5539, -5539, -5539, 61587, 84579, -5539, 65419, - -5539, -5539,108459, -5539, -5539, 84579, 84579, -5539, -5539, -5539, - 108459, -5539, -5539, -5539, 84579, 167, 3531, 3533, 84579, -5539, - 832, 3209, 10387, 84579, 84579, 84579, 3736, -5539, -5539, -5539, - -5539, 3670, -5539, 3794, -5539,105655, -5539, 2748, 1292, 3541, - 2967, 3680, -5539, 3816, 3885, -5539, 3596, 1179, -5539, -5539, - 3611, -5539, -5539, -5539, -5539, 3827, 899, 3828, 899, 84579, - 84579, 84579, 84579, 3617, -5539, -5539, -5539, -5539, 3621, 3753, - -5539, 57276, 57276, 57276, 2237, -5539, -5539, 1141, -5539, -5539, - -5539, -5539, -5539, -5539, 3786, -5539, 2241, -5539, 1461, 84579, - -5539, -5539, -5539, -5539, -5539, 3834, 61587, 84579, 10389, 84579, - 84579, 84579, 3706, 1846, 1465,108459, -5539,107529, -5539, -5539, - 2243, -5539, 3504, 84579, 3581, 61587, 3558, -5539, -5539, -5539, - 3845, 2170, 3643, 73083, 3550, 3550, 2032, -5539, -5539, -5539, - -5539, -5539, 3769, 3699, -5539, 1096, 3701, 61587, 3570, -5539, - -5539, -5539, -5539, 3855, 3597, -5539, -5539, 3599, 1080, 2967, - 3099, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - 3628, -5539, -5539, -5539, -5539, 1351, 1351, -5539, -5539, -5539, - 1351, 1503, 426, 1159, 2967, -5539, 348, 1690, 3604, -5539, - 3609, -5539, -5539, -5539, 3772, 3777, 3782, 3614, 3623, 3666, - 3624, 3626, 3675, -5539, 3633, 3690, 3638, 3695, 3651, 3886, - 899,108459, 3761, 1141, 3686, 3888, 899, -5539, 3653, -5539, - 3654, -5539, 2247, 4007, -5539, 84579, -5539, 454, 1253, 2967, - -5539, 3657, -5539, 61587, 84579, -5539, -5539, -5539, 31523, 3561, - 3565, 3573, 19935, 19935, 31523, -5539, -5539, 19935, 3576, -5539, - -5539, -5539, -5539,108459, -5539, 84579, 3853, -5539, -5539, 995, - 84579, 84579, -5539, -5539, -5539, 84579, -5539, -5539, -5539, 3858, - -5539, 380, 380, -5539, -5539, 3893, 9393, 3577, 292, -5539, - 57276, 46613, 2090, 422, 1758, -5539, 65419, 84579, 65419, -5539, - 857, 3791, 84579, 84579, 84579, 3578, 3579, -5539, -5539, -5539, - -5539, 61587, 1257, 61587, 2638, -5539, -5539, 3656, -5539, 84579, - 2170, 4083, 3918, 3285, -5539, 4039, 3177, 1323, 1916, 211, - 2800, 3976, 2422, 31523, 314, -5539, -5539, 1707, 84579, 3326, - -5539, -5539, -5539, -5539, 1141, -5539, 3587, 3585, -5539, 84579, - 3923, 84579, 84579, 84579, 84579, 3385, 3591, 84579, 3592,108459, - 84579, 2272, 2966, 4055, 3941, 1844, 3348, 3681, 3942, 77394, - 3606, 2256, -5539, -5539, 842, -5539, 2267, 170, -5539, 1141, - 65419,106599, 3932, -5539, 469, 7122, -5539, -5539, 469, 872, - 84579, -5539, -5539, -5539, -5539, 3819, 2065, -5539, 3917, -5539, - -5539, 1844, -5539,108459, 3603, -5539, 2271, -5539, -5539, -5539, - 261, 3662, 899, 3667, 899, -5539, -5539, -5539, -5539, 84579, - -5539, 84579, 60150, -5539, -5539, 84579, -5539, 3952, -5539, -5539, - 3744, 3746, 3747, 3748, 3749, 84579, 3312, -5539, 3608, 84579, - 84579, 61587, 1470, -5539, -5539, 3824, -5539, -5539, 77394, 3743, - -5539, -5539, -5539, -5539, 3965, 3967, -5539, -5539, -5539, 994, - -5539, 84579, 84579, 61587, 72125, 132, 61587, -5539, 3901, 3902, - 3904, 3905, 355, 3906, 3907, 3908, 3910, 3911, -5539, -5539, - -5539, 3632, 17660, 31523, -5539, 3987,108459, -5539, 9629, -5539, - -5539, 31523, -5539, 31523, -5539, -5539, -5539, -5539, -5539, -5539, - 2303, 31523, -5539, 31523, -5539, -5539, 24172, 4121, 4121, 3634, - 108459, 36968, 36968, 36968, 36968, 1453, 2823, 36968, 36968, 36968, - 36968, 36968, 36968, 36968, 36968, 36968, 36968, 212, -5539, 3835, - 31523, 31523, 31028, -5539, -5539,108459, 3639, 3390, 3640, 3644, - 31523, -5539, -5539, -5539, 2286, 38433, 3647, 57276, -5539, 31523, - 13682, 2301, 3693, 17987, 1707, 9957, 2491, 31523, 1157, 1781, - 31523, 2305, 31523, 3970, -5539, -5539, -5539, -5539, -5539, -5539, - 3867, -5539, 31523, 3648, 3333, 36968, 36968, 3847, -5539, 4314, - 31523, 26568, -5539, 3457, 3697, 45651, -5539, 24673, 3642, 594, - 594, 594, 594, -5539, 84579, 84579, 84579, 3731, 3658, 3731, - 352, 3664, -5539, -5539, -5539, -5539, 1844, -5539, 3652, -5539, - -5539, -5539, -5539, -5539, 82663, 83142, 82663, 3663, 38914, 25155, - 2132, 3668, 84579, -5539, -5539, 3672, 39877, 3926, 3859, -5539, - 39877, 3859, 1849, 3859, 3933, 3750, 46132, -5539, -5539, 3673, - -5539, 3864, -5539, 2059, 19935, 4100, 3981, -5539, 3676, -5539, - 3441, 297, -5539, -5539, -5539, 1185, -5539, 3755, -5539, -5539, - -5539, 3414, 33008, 3821, -5539, -5539, -5539, 3729, 2306, -5539, - -5539, 4087, 3821, -5539, 1644, -5539, 2317, 45170, 3467, 31523, - 1707, 2321, 1890, -5539, -5539,105655, -5539, 3751, 2748, 2748, - 2261, 3312, 4011, 2261, 9989, -5539, -5539, 41320, 84579, 84579, - -5539, 84579, 84579, 1679, 84579, -5539, 84579, -5539, -5539, -5539, - 4152, 3756, 3762, 3966, -5539, 2542, -5539, -5539, 61587, 84579, - -5539, -5539, -5539, 460, 1255, 2967, -5539, 3775, -5539, -5539, - 3984, 84579, -5539, 4135, 3790, 84579, 4042, 84579, 83621, -5539, - 3791, 1679, 3810, 4027, 1486, 2966, 353, 3270, -5539, 1793, - -5539, -5539, 3778, -5539, 84579, -5539, 84579, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, 3838, -5539, -5539, -5539, -5539, 57755, - -5539, -5539, 84579, -5539, 57276, 46613, 57276, -5539, 84579, -5539, - 1517, 465, 1303, 2967, -5539, 3792, -5539, 4051, 3793, 3796, - 3848, 869, 1221, 3797, 3799, 3857, 3719, 3720, 3721, -5539, - 57276, 47109, 3882, 84579, 2748, 3725, 3765, 84579, 3550, 84100, - -5539, 3726, -5539, -5539, 3550, 267, 2496, -5539, -5539, -5539, - 1141, 2748, 1141, 84579, 84579, 84579, 84579, 267, -5539, -5539, - -5539, 4170, 3822, 84579, 84579, 84579, 84579, -5539, 3784, -5539, - -5539, -5539, 84579, 84579, 4064, 821, 2142, 61587, 84579, 84579, - 61587, 84579, 84579, 84579, 84579, 84579, 84579, 84579, 3946, -5539, - 4156, 4081, 2315, 4124, 3815, 84579, -5539, 84579, 1141, -5539, - 3209, 84579, 84579, 84579, 84579, -5539, -5539, -5539, -5539, -5539, - 3457, -5539, 3735, 4026, 995, -5539, 4036, 4037, 4038, 995, - -5539, -5539, 1758, -5539, 492, 84579, -5539, 2399, 84579, -5539, - -5539, -5539, 3676, 2453, 2461, -5539, -5539, -5539, -5539, -5539, - -5539, 3758, 84579, 84579, 36968, -5539, 1680, 1745, 1215, -5539, - 4040, 84579, 3033, -5539, -5539, -5539, 827, 84579, -5539, -5539, - -5539, -5539, 3759, -5539, 811, 3591, -5539, 4057, 69251, 2748, - 61587, 61587, 2748, -5539,108459, 3763, 3326, -5539, 463, 3849, - -5539, 61587, 1323,105176, 3130, 3798, 3978, 10790, 39877, 40358, - 1351, -5539, 3767, 3770, -5539, -5539, 84579, 3791, 60150, 2323, - 3099, 4229, 101, 2152, -5539, 70688, 3960, 3591, 4057, -5539, - 2966, 3985, 3986, -5539, 1844, 84579, 3385, 3326, 1141, 84579, - 3246, 46613, -5539, 4270, 2226, -5539,105655, 31523, 31523, -5539, - 3771, -5539, 3773, 7122, -5539, 3850, 3774, 4234, 31523, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 3863, 3780, 84579, - 84579, 842, 84579, -5539, 3781, 3637, -5539, 3637, -5539, 84579, - -5539, 84579, -5539, 899, -5539, 3909, 899, 84579, 84579, 84579, - 84579, 84579, 84579, 3312, 355, 3341, -5539, -5539, 4105, 60629, - 3660, -5539, 2332, 84579, -5539, -5539, -5539, 4173, -5539, -5539, - 130, 4113, 899, -5539, 1005, 1005, 1005, 1005, 4068, 1005, - 1005, 1005, 1005, 1005, -5539, 31523, 19935, -5539, 3787, -5539, - 19935, 19935, 3795, 10876, 18537, -5539, 2342, 31523, -5539, 576, - 576, 576, 1951, 4115, -5539, 2764, 576, 576, 576, 498, - 498, 241, 241, 241, 4121, 212, 18686, 18845, 19267, 3800, - -5539, -5539, -5539, 3390, -5539, 33503, 1209, 4232, 37952, -5539, - -5539, -5539, 3840, 3841, 3803, -5539, 31523, 33998, 3802,110319, - 3993, -5539, -5539, 1706, 31523, 31523, 5853, -5539, 7972, 31523, - -5539, 5853, 425, 31523, 3015, 3691, 31523, 31523, 4936, 11420, - 3806, 31523,106120, -5539, -5539, -5539, 2344, 31523, 84579, 84579, - 84579, 84579, -5539, -5539, -5539, 3981, 2500, 3981, 1141, 3807, - -5539, -5539, -5539, -5539, 58234, 3809, 3559, 82663, 3811, 84579, - 2132, 39877, -5539, -5539, 2334, -5539, 39877, 4078, -5539, 39877, - 65898, -5539, 84579, 3813, 84579, -5539, 1658, 31523, 3852, 50085, - -5539, -5539, -5539, -5539, 3913, -5539, 4033, 19935, 29048, -5539, - 1844, 1989, 84579, 1707, 66, -5539, 31523, 3825, 84579, -5539, - 3821, 19935, -5539, 3891, 2352, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 3903, 71167, 4148, -5539, 31523, 2353, -5539, 3862, - 4246, 166, 2376, 2383, 1679, -5539, 2402, -5539, 1755, 4122, - 230, -5539, 899, -5539,108459, 84579, 84579, 84579, 2905, -5539, - -5539, 84579, 84579, 84579, 84579, -5539, -5539, 61587, 84579, -5539, - 84579, -5539, -5539, -5539, -5539, 267, 1680, 4138, 4141, 4058, - -5539, 355, -5539, 1680, 4059, 267, 84579, -5539, -5539, -5539, - 2119, -5539,108459, 899, 899, -5539, -5539, -5539, -5539, -5539, - 3843, -5539, 4278, 3930, 84579, 84579, 84579, 84579, 84579, 61587, - 84579, 84579, 2638, 2638,108459, 3842, -5539, 2638, 2638, 3844, - -5539, 61587, 84579, 84579, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, 3928, -5539, 31523, 4274, -5539, - -5539, -5539, -5539, -5539, 31523, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, 61587, 84579, 3931, -5539, - 3934, -5539, 206, -5539, -5539, 84579, 84579, 84579, 84579, 4196, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, 4195, 84579, -5539, -5539, 1141, 1141,108459, 899, 899, - -5539, -5539, -5539, 3936, -5539, -5539, 3856, 4136, 995, -5539, - 995, 995, 995, -5539, 3860, -5539, 1758, 4228, -5539, 1679, - 1904, 4185, -5539, 31523, -5539, 1749, 1951, -5539, 4243, 4325, - -5539, -5539, -5539, -5539, 3285, 2170, 3285, -5539, -5539, 65898, - 404, -5539, 4167, 327, 57276, 4086, 69251, 348, 320, 3870, - 3997, -5539, 2748, 2748, 3937, 84579, 4334, -5539, -5539, -5539, - -5539, -5539, -5539, 61587, 3558, -5539, 4102, 106, 4207, 84579, - 40358, -5539, 3414, -5539, -5539, -5539, 1141, -5539, -5539, 4006, - 3326, -5539, 1454, 84579, 4099, 69251, 3385, 2403, -5539, -5539, - -5539, 3922, 4326, 3348, -5539, 348, 3960, -5539, -5539, 4302, - 3980, 3929, 4355, -5539, 3980, 4222, 4109, 3896, -5539, 3606, - -5539, 84579, -5539, 19935, 19935, 1141,110784, 469,108459, 4230, - -5539, 19935, 84579, 191, 3894, 4063, -5539, 4197, 899, 2412, - -5539, 899, 899, -5539, 84579, -5539, 3312, 3312, 3312, 3312, - 3312, -5539, 4114, -5539, -5539, -5539, 4188, -5539, 899, 60629, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 1005, -5539, -5539, - -5539, -5539, -5539, 19935, -5539, -5539, -5539, 31523, -5539, 11472, - 36968, 4235, -5539, 31523, 31523, 31523, -5539, 3915, 2426, 2433, - -5539, -5539, 1209, -5539, 4232, -5539, -5539, -5539, 11611, 3964, - 19935, 4017, 3912, 3916, 5853, 5853, 7972, 5853, 31523, 31523, - 5853, 5853, 31523, -5539, -5539, 11659, 4104, -5539, -5539, 11845, - -5539, -5539, -5539, -5539, 3852, -5539, -5539, 3852, -5539, 4053, - -5539, 2438, 4379, 35978, 4340, -5539, 84579, 2443, -5539, 31523, - 3921, -5539, -5539, 39877, 2334, 3924, 2454, 84579, 2455,108459, - 34493, 19935, 84579, 3457, 3927, -5539, 84579, 2855, -5539, 72, - -5539, -5539, 4332, 41320, 4291, 19415, 31523, -5539, -5539, -5539, - -5539, 60629, 4144, 60629, 1679, 12112, 4237, 41320, 51077, 84579, - -5539, 84579, -5539, 4092, 4237, 4237, -5539, -5539, -5539, -5539, - -5539, -5539, 3945, -5539, -5539, -5539, -5539, 4021, -5539, -5539, - 30, 3339, -5539, 2090, -5539, 4410, 4296, 4298, -5539, -5539, - -5539, -5539, -5539, -5539, 4156, -5539, -5539, 46613, 61587, 84579, - -5539, 4045, -5539, -5539, -5539, -5539, -5539, -5539, 43245, 50085, - -5539, 869, 3953, 3955, 1221, -5539, -5539, -5539, 84579, 12277, - 3956, 12348, 51, 3339, 84579, 84579, 3958, 3963, 3968, 25, - 1119, 1883, 3312, 4285, 84579, -5539, -5539, -5539, 4156, -5539, - -5539, 84579, -5539, 995, -5539, -5539, -5539, -5539, 57276, -5539, - 3175, 3860, 1141, 65898, 4427, 4427, 12447, 4189, -5539, -5539, - 118, 4030, 4226, 4030, 3972, 84579, 827, 3974, 2464, -5539, - 84579, 3975, 4106, 1681, 1681, 84579, 84579, 84579, 2465, 1844, - 2748, 3765, 1323, 4324, 69251, 4368, 3791, 324, -5539, 84579, - 4443, 84579, 3385, 3591, 84579, 3982, -5539, -5539, 70688, 4191, - 2090, 84579, 2272, 3960, 3348, 1191, 84579, -5539, 969, -5539, - 1844, -5539, 84579, 77394, 41320, 4312, -5539,109854, -5539, 2466, - -5539, -5539, -5539, 4061, 20592, 3210, 4107, 4108, 3994, 1905, - 4321, 84579, 744, -5539, -5539, -5539, -5539, -5539, -5539, 84579, - -5539, 132, -5539, 19501, -5539, 3757, 36968, 19935, 19935, 19935, - 31523, -5539, 31523, -5539, -5539, -5539, -5539, 752, -5539, -5539, - 5853, 5853, 5853, -5539, 4439, 3457, -5539, -5539, -5539, 964, - 4388, 3437, 58234, 4001, -5539, 36968, 2470, -5539, 1923, 84579, - 2471, -5539, 19935, 84579, -5539, -5539, 31523, -5539, 2477, -5539, - 4002, 45, 4003, 23170, 4010, -5539, -5539, -5539, -5539, -5539, - 19935, 4012, -5539, 4469, 1463, -5539, -5539, 4066, 84579, 2479, - -5539, 125, 1961, 4065, -5539, 19935, 1470, 2261, 319, 4246, - 4018, 3285, -5539, 4019, -5539, -5539, 2966, 399, 84579, 3285, - 3285, -5539, 84579, 4116, -5539, 4335, -5539, -5539, 4088, -5539, - 860, 3339, 84579,108459, -5539, 150, 4354, -5539,108459,108459, - -5539, -5539, -5539, 31523, -5539, 4119, -5539, -5539, -5539, 31523, - 31523, 68293, -5539, -5539, 84579, 84579, 84579, 84579, 84579, -5539, - 899, -5539, -5539, 2486, -5539, 42282, -5539, -5539, 3171, 1141, - 3171, 1759, -5539, -5539, 3171, 3171, -5539, 3210, -5539, 4427, - 360, -5539, -5539, 4260, 4031, 31523, 4330, -5539, 188, 4248, - -5539, 4034, -5539, 65898, 4528, -5539, 57276, 3591, 4057, 84579, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, 2494, 3791, 4378, 3326, 3929, -5539, 84579, 4077, - -5539, 39877, 3791, 1844, 2152, -5539, 3960, 3591, 4057, -5539, - -5539, 4041, 3986, 3348, 2272, 4183, -5539, 4184, -5539, 4473, - 4256, 4478, 3385, -5539, 3246, 2517, 84579, -5539, -5539, 7122, - 110784,108459, -5539, -5539, -5539, 4047, 4417, 4094, 4095, -5539, - -5539, -5539, 1905, -5539, 1009, 4416, 4101, -5539, 4117, 84579, - -5539, -5539, 3791, 899, 31523, 3757, 2547, 2552, 4120, -5539, - 31523, 1123, 4394, 4395, 84579, -5539, -5539, -5539, 84579, 1951, - 4060, 35978, 57276, 2554, -5539,107994, -5539, 2556, 2560, -5539, - 31523, 4062, 31523, -5539, 34493, 84579, 4070, 3216, 1844, -5539, - 3210, 41320, -5539, 4198, 4532, 4328, -5539, -5539, 4400, -5539, - -5539, 84579, 4030, 50085, 399, 3441, 2170, 4030, 4030, -5539, - 84579, 4031, 31523, -5539, 4168, -5539, -5539, 2566, 1669, 4247, - 4247, 2568, 2572, 12877, 84579, 2574, 2580, -5539, 2581, 2638, - 3327, 1883, 3327, -5539, 3312, -5539, -5539, 57276, -5539, 61108, - -5539, -5539, -5539, 1141, -5539, 1141, 4304, 84579, 52514, 1141, - 1141, -5539, -5539, -5539, -5539, 4380, -5539, 3099, -5539, 12944, - 4177, -5539, -5539, -5539, 502, -5539, 4301, 4308, -5539, 4096, - -5539, 2582, -5539, 348, 4223, 3791, -5539, -5539, 84579, 4560, - 4561, -5539, 794, 84579, 3414, -5539, 3929, 3385, 3348, 348, - 3960, 2090, 41801, 3980, 2272, 3986, -5539, -5539, 4315, -5539, - 4317, -5539, 4103, 4404, -5539, 1580, 469, -5539, -5539, -5539, - 366, 4436, 4438, -5539, -5539, -5539, 3171, -5539, 140, 4118, - 4461, -5539, -5539, -5539, -5539, 19935, -5539, -5539, -5539, 3390, - 34988, 34988, 34988, 4123, 4556, 4559, 957, 2586, 37952, -5539, - -5539, -5539, 84579, 4329, 916, 4582, 4279, 2590, 34493, 2594, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, 45170, 31523, 4214, - 4532, 60629, 2596, 3550, 4126, 3441, -5539, 4226, -5539, -5539, - 3339, -5539, 19935, 84579, 65898, 4572, -5539, -5539, -5539, -5539, - -5539, -5539, -5539, 3339, 4219, -5539, -5539, 68293, -5539, 84579, - -5539, -5539, 2598, -5539, -5539, -5539, 84579, 3894, -5539, 3894, - -5539, -5539, -5539, 1559, 4242, 84579, 946, 946, 4517, -5539, - 4203, -5539, 4142, -5539, 4638, 4272, 84579, -5539, -5539, 869, - 1844, 69251, 3791, -5539, -5539, 2272, 3960, 3348, 31523, 2602, - -5539, 4246, 166, -5539, 3986, 3980, -5539, -5539, 41320, 4145, - 3033, 4508, -5539, -5539, -5539, 2177, 65898, 65898, 84579, -5539, - -5539, -5539, 31523, 827, 36473, 4290, 1170, 14110, 4500, -5539, - 4500, 4500, -5539, 84579, 84579, 84579, -5539, 3559, -5539, -5539, - 36968, 36968, 4377, -5539, 916, -5539, 84579, -5539, 4154, -5539, - -5539, 2608, -5539, 1385, 19935, 456, 4245, 319, -5539, -5539, - -5539, -5539, 4248, 1679, 1679, -5539, 3339, -5539, 84579, -5539, - 4159, -5539, -5539, -5539, 61108, 3894, -5539, -5539, -5539, -5539, - 4637, -5539, 281, -5539, -5539, -5539, -5539, 84579, 3791, 3842, - 3929, -5539, 3986, 3348, 2272, 13108, -5539, 41801, 84579, 84579, - 3980, -5539, 2609, 41320, 3326, 4303, -5539, 2385, -5539, -5539, - -5539, -5539, -5539, -5539, -5539, 448, 4160, 4162, -5539, -5539, - 13278, 65898, 4634, -5539, -5539, -5539, -5539, -5539, 829, -5539, - -5539, -5539, 981, 990, 1820, 4589, 1951, 1951, -5539, -5539, - -5539, 31523, -5539, -5539, -5539, 4398, 4297, -5539, -5539, 956, - -5539, 1679, -5539, -5539, -5539, 31523, -5539, -5539, 2170, 2170, - 3791, -5539, -5539, 3980, 2272, 3986, 4246, -5539, -5539, -5539, - -5539, -5539, 4404, -5539, 2610, 3980, 4101, 2498, -5539, -5539, - 2505, 2515, 4255, 4501, -5539, 4175, 35483, 4318, -5539, 4383, - -5539, 84579, 84579, 58713, 84579, 84579, 13531, -5539, 45170, 4411, - 142, -5539, 1679, 2615, -5539, -5539, -5539, -5539, 3986, 3980, - 84579, 3033, -5539, 41320, 3210, 4530, -5539, 2385, 4306, 4307, - 56797, -5539, -5539, -5539, -5539, -5539, 330, 4566, -5539, 2619, - -5539, 4186, -5539, 4249, 72, 4199, 84579, -5539, -5539, 3980, - -5539, -5539, 3326, -5539, -5539, 827, -5539, 4238, 4239, -5539, - 2621, -5539, -5539, -5539, -5539, 31523, 58713, -5539, -5539, 4257, - 31523, 2631, -5539, 3980, 65898, 4526, 4529, -5539, 56797, 822, - 4264, 4262, 2637, 841, 3210, 4210, 65898, 65898, -5539, 4211, - 84579, -5539, -5539, 72, -5539, -5539, 56797, -5539, -5539, 2500, - -5539, 4266, 2653, 4262, -5539, -5539 + 6451, 57, 23393, -5911, -5911, 57, 72611, -5911, 82811, 23, + 231, 122, 264, 22681, 83321, 93521, 1112, 398, 22892, 57, + 93521, 1171, 62410, 78221, 1041, 93521, 1377, 1003, 62410, 93521, + 94031, 1349, 1465, 1347, 94541, 83831, 76691, 1386, 93521, 1728, + 1909, 95051, 84341, 1414, 84851, 1003, 56826, 204, 1448, 95561, + 93521,119957, 1909, 85361, 85361, 85361, 2190, 2157, 1706, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 1750, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2605, -5911, 1074, + 2701, 1982, 1024, 1742, -5911, -5911, 2166, 72611, 93521, 93521, + 93521, 1970, 93521, 1903, 93521, 591, 72611, 68531, 85871, 2070, + 1962, 52632, 96071, -5911, 72611, 93521, 65981, 72611, 93521, 93521, + 96581, 93521, 97091, 93521, 858, 80771, 93521, 2120, 93521, 93521, + 66491, 97601, 2286, 275, 295, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2012, + 1269, -5911, 336, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 62920, 93521, 23073, 1377, 2166, -5911, 2190, 93521, + 2288, 93521, 2081, 98111, 93521, -5911, 93521, 2171, 98621, 939, + 761, 68531, 1979, 53161, 2298, 93521, 93521, 68531, 99131, 99641, + 100151, 93521, 93521, -5911, -5911, 2256, 93521, -5911, 2412, 69041, + 1951, 2428, 2610, 2574, 1027, -5911, 86381, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 72101, 398, -5911, -5911, 2518, + 73121, 2563, -5911, -5911,100661,120453, 2387, -5911, 950, 73631, + 69551, 2756, 2364, 53690, 2810, -5911, 74141, -5911, 70061, 74651, + -5911, -5911, -5911, -5911, -5911,101171, -5911,101681, 2483, 2563, + -5911,120949, 70571, -5911, 2616,102191,102701,103211, 2166, 2365, + 214, 2041, 46933, -5911, -5911, -5911, 2425, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 236, 2210, 335, 248, + 356, -5911, -5911, 252, 254, 255, 236, 2893, 2893, -5911, + 93521, -5911, -5911, 2210, 745, 2499, 2385, 2385, 2385, 2651, + 35, -5911, 2385, 2575, -5911, -5911, -5911, -5911, 84851, -5911, + 2447, 1377, 2455, 2936, 2521, 62920, 1696, 93521, -5911, -5911, + 2966, 2531, 2803, 2500, -5911, -5911, -5911, 2749, 2777, 189, + 897, 1377, 323, -5911, 2895, -5911, 2814, 31767, 31767, 1377, + 86891,103721, 288, 71591, 2588, 87401, 2601, 1575, 2806, -5911, + -5911, -5911, 1083, -5911, 3080, 2692, 2972, 2500, 275, 48989, + -5911, -5911, 2730, 1269, 84851, -5911, -5911, -5911, 62920, 3044, + 34935, 93521, 2689, -5911, 2793, 2689, -5911, -5911, 2785, -5911, + 2785, 2785, 2807, 2807, 2943, 2835, -5911, -5911, -5911, -5911, + 2809, 2785, 2807, -5911,121941, -5911, 2178, 2200, -5911, -5911, + 3259, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 2844, + -5911, 1010, -5911, 2319, -5911, -5911, -5911, 31767, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2802, 2813, 1982, -5911, 7392, + 62920, 93521, 1933, 1933, 3323, 1933, 2255, 2426, -5911, 2855, + -5911, 3210, 3167, 3169, 84851, 2859, 1441, -5911, 2127, 2860, + 2046, 2863, 2132, 1421, -5911, 276, 93521, 457, 2901, 87911, + 7983, 2866, 1269, 2867, -5911, -5911, -5911, -5911, 3035, 1638, + -5911, -5911, -5911, -5911, 3201, 3246, 7569, 391, 88421, -5911, + -5911, -5911, -5911, 93521, 93521, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 2871, 819, -5911, -5911, 2870, 3249, + 3099, 8355, 1135, 3207, 3045, 1499, 11093, 3102, 2112, 3256, + 14375, 1630, 3257, 2140, 2253, 88931, 93521, 3216, 3261, 6326, + 1887, 1175, 3111, 872, 3207, 3250, 3054, 1499, 3265, 7940, + 93521, -5911, 3173, 3304, 1329, -5911, 284, -5911, 24436, 34935, + 56316, -5911, 1269, -5911, 1446, -5911, -5911, 61900, -5911, 2959, + 3123, 990, 72611, 2900, 93521, 93521, -5911,119957, 72611, -5911, + 3134, 54219, 72611, -5911, 72611, -5911, -5911, 3267,119957, 93521, + 93521, -5911, 93521, -5911, -5911, 2905, -5911, -5911, -5911, -5911, + -5911, 2385, 93521, 3368,119957, 3149, 137, 1943, 3404, 93521, + 3151, 1943, 2951,104231, -5911, -5911, 1943, -5911, -5911, -5911, + 93521, 93521, 2913, 1954, 3140, 886, 1943, 3161, 3418, 3420, + 3187, 3024, 3194, 2793, -5911, 3396, 3168, 1522, 226, 354, + 1943, 3012,104741,105251, 93521, 3014, 93521, 3412, 72611, 3049, + 72611, 72611, 93521, 3330, 93521, -5911, 3156, -5911, -5911, 1178, + -5911, -5911, -5911, -5911, -5911, 3346, -5911, 311, 3349, 2974, + 3351, 1938, 3352, 371, -5911, -5911, 3016, -5911, 3354, 373, + -5911, 3355, -5911, 2977,105761, -5911,106271,106781, 3358, 383, + -5911, 68531, 3359, 373, 3360, 2977, 3364, 373, 3366, 1017, + 3367, -5911, 1534, 3356, 3372, 371, 3374, 2295, 2977, -5911, + 3376, 420, -5911, 3377, 424, -5911, 3378, 3228, -5911, 34935, + -5911, 3104, -5911, 1448, 2044, 2041, 2210, -5911, 93521, 2210, + 93521, 2210, 93521, 2210, 93521, 2210, 93521, 93521, 93521, 2210, + -5911, -5911, -5911, 93521, 3005, 93521, -5911, 93521, -5911, -5911, + -5911, 79241, 68531, 79751, -5911, 93521, -5911, 489, 1377, -5911, + -5911,119957, 3501, 68531, 3412, 2098, -5911, -5911, 3412, -5911, + -5911, 3412, 3412, -5911, -5911, -5911, 3289, 93521, 3370, 79241, + 68531, 3373, -5911,107291, -5911, 72101, 3235, 3015, -5911, -5911, + -5911, -5911, -5911, 2403, 2600, 256, 2614, 34935, 3017, 256, + 256, 3018, 3381, -5911, -5911, -5911, 343, 3020, 3021, -5911, + 285, 285, -5911, 3022, 3023, -5911, 287, 3027, 3030, 2647, + 2661, 292, 328, 3031, 3032, 3038, 3039, 3040, 3041, 3042, + 3043, 3046, 3047, 3048, 3051, 3052, 2809, 256, 3053, 34935, + -5911, 3055, 285, 3057, 3062, 3063, 2664, 3064, -5911, 2673, + 3065, -5911, 351, 368, 3066, 3067, -5911, 3248, -5911, 341, + 3068, 3069, 3070, 3072, 3073, 3075, 3076, 3077, 34935, 34935, + 34935, -5911, 29122, 1269, 2706, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 358, -5911, 51045, -5911, 3086, -5911, -5911, + 3225, -5911, -5911, 34935, -5911, -5911, 3391, 169, -5911, 363, + -5911, -5911, -5911, 1269, 3365, 3074, -5911, -5911, 1919, 3078, + -5911, 2318, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + 71081, 3530, -5911, 380, 1377, 284, 2181, 3475, 59860, 60370, + -5911, -5911, 3331, -5911, 93521, -5911, -5911, 1269, 209, 2121, + -5911, 2425, 21693, 2202, 2689, 93521, 93521, 3554, -5911, 3083, + -5911, -5911, 34935, -5911, -5911, -5911, 2893, -5911, 2785, 2785, + -5911, -5911, 3576, 3174, 3175, 2893, -5911, 2893, -5911, 3089, + 3090, 2893, 3171, 3176, 3177, -5911, 3091, 3179, 2893, -5911, + -5911, 63941, 2418, -5911, 3449, 458, -5911, -5911, -5911, 2245, + -5911, 3093, -5911, 2793, -5911, -5911, 1982, 1982, 34935, 1982, + 1592, 1523, 32295, 35463, 3456, 3324, 321, 1829, 3460, -5911, + 3332, 2255, 2426, 84851, 93521, 84851,107801, 3231, 34935, -5911, + 3567, 3190, 3193, 3253, 58866, -5911, 3196, 3162, 3197, 3258, + 3110, 3202, 3203, 3262, -5911, 3398, -5911, -5911, 3206, 3574, + 3208,108311, -5911, -5911, 1406, -5911, -5911, -5911, 1406, -5911, + 3133, 1606, 1381, 1624, 3211, 512, 1009, 3566, -5911, 293, + -5911, -5911, 3271, -5911, 10227, 93521, 3503, 8489, 3353, 391, + 3269, -5911, -5911, -5911, 3415, 3218, 93521, 3219, 3369, 391, + 339,108821, -5911, -5911, 93521, -5911, -5911, -5911, -5911, 7749, + 3539, 27602, -5911, 2342, 3222, 3199, 3234, 93521, 75671, 1885, + 3342, 3379, 1830, 2468, 613, 3290, 93521, 1803, 3383, 93521, + 3139, 3229, 3242, 3480, 3157, 249, 3597, 3158, -5911, -5911, + -5911, 3564, -5911, 2717, 2719, 3375, -5911, 3492, 3537, 8867, + 3226, 3227,117973, -5911, 3255, 70, 54748, 93521, 93521, 3260, + 3263,109331, 7749, 3568, 80261, 80261, 3266, 3268, 48475, 3588, + 1868, 3270, -5911, -5911, -5911, 1868, 3272, 3275,109841, 7749, + 3577, 93521, 3276, 3277, 93521,121941, 391, -5911, 3645, -5911, + 391, 391, 2238, 3648, 3278, 466, 3439, 265, 1943, -5911, + 3158, 4593, -5911, 3280, 3281, 1072, -5911, 3405, 93521, 3282, + 3283, 1955, 3380, 1377, -5911, 3382, -5911, 3287, 3386, 3291, + 733, 2913, -5911, -5911, 1691, 3303, 84851, 3411, 3413, 1803, + 471, 743, 3158, -5911, 3295, 3298, 3157, 3157, 93521, 93521, + 93521, 93521, 93521, 221, 3696, 301, 3300, 289, 1323, 3212, + -5911, 1868, 67001, 3301, -5911, 1868, 93521, 259, 895, 3158, + 2158, 2160, -5911, -5911, -5911, 275, -5911, 34935, 34935, 34935, + 3214, -5911, 2911, 21693, 127, -5911, 3059, 9295, 3213, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 93521, 62920, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, -5911, 93521, 3526,119957, + 3528, 3445, 3531, 3532, 391, 93521, 93521, 3533, 3536, 3538, + 119957, 3540, 3542, 3545, 3446, 3315, 850, 3307, 3232, 3733, + 3615, 93521, 63941, -5911, 1406, -5911,119957, 3465, 3617, -5911, + 93521, 3483, 1194, -5911, 3657, 3308, -5911, -5911, 1186, 93521, + 78731, 2913, -5911, -5911, 3621, 68531, 408, 3623, 1377, 3302, + 3625, 3477, 1377, 68531, 3524, 93521, 93521, 93521, 93521, 229, + -5911, 67001, 3494, -5911, 93521, 3495, 4593, 3496, 3751, 898, + 2385,110351, 3620, -5911,110861, 3264, 93521, 3273, 3273, 3754, + 119957, 452, 3551, -5911, -5911, 2482, -5911, 3406, -5911, 72611, + -5911, -5911, 72611, -5911, -5911,119957, 93521, 3274,119957,119957, + -5911, -5911, 72611, 72611, -5911, 68531, 68531, 3638, 420, 3641, + 3328, 3646, 3333, 54748, 54748, -5911, 469, 72611, -5911, 68531, + 72611, -5911, 93521, -5911, 93521, -5911, -5911, -5911, -5911,119957, + 119957, -5911, 68531, 67001, 3651, 93521, 93521, -5911, 93521, 93521, + -5911, 93521, 93521, 2265,111371, 2041, -5911, 93521, -5911, 93521, + -5911, 93521, -5911, 93521, -5911, 93521, -5911, -5911, -5911, 93521, + -5911, 93521, 2331, -5911, -5911, 2346, 1245, 93521, 93521, 286, + 72611, 93521, 3504, 93521, 72611, 72611, 93521, 93521, 93521, 93521, + 93521, 3371, 3078, 202, -5911, 1664, 995, 84851, 3506, -5911, + -5911, 2360, 2190, 728, 93521, -5911, 93521, 93521, 93521, -5911, + -5911, 78221, 3634, 472, 79751, 93521, -5911, -5911, 11955, 34935, + 1269, 31234, -5911, -5911, 21693, 3326, 34935, 34935, 3285, 2893, + 2893, -5911, 359, 34935, 34935, 34935, 28594, 34935, 34935, 32823, + 34935, 34935, 34935, 34935, 34935, 34935, 2893, 2893, 3286, 34935, + 3865, 34935, 54748, 34935, 40743, 25504, 34935, 34935, 29650, 300, + 3022, 34935, 3543, 41793, 34935, 2181, 3555, 34935, 2181, 3865, + 3803, 3803, 1665, 4703, 3279, 1269, -5911, -5911, 1431, 2893, + 1431, -5911, 425,119957, 34935, 34935, 34935, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 34935, -5911, 63941, -5911, -5911, -5911, -5911, -5911, + -5911, 163, -5911, -5911, -5911, -5911, -5911, -5911, 3548, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 93521, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 30178, + -5911, -5911, -5911, -5911, 3294, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2176, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 30706, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 3299, -5911, -5911, 34935, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 3384, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 1020, 34935, 34935, 34935, 34935, 34935, 34935, 34935, + 34935, 34935, -5911, 34935, 462, -5911, -5911, 3629, 3391, 793, + 573, 3305, 3515, 89441, 31767, 3449, -5911, 24436, -5911, 312, + 3449, -5911, -5911, -5911, 93521, 3530, -5911, -5911, -5911, 3388, + -5911, -5911, -5911, -5911, -5911, -5911, 253, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 3310, -5911, -5911, -5911, -5911, + 3310, -5911, 3309, 3643, 3650, 1017, 93521, 2912, 34935, 163, + 260, 93521, 34935, 3294, 2176, 34935, 3299, 34935, 3384, -5911, + 34935, -5911, 2370, 1262, 34935, 2383, 3311, -5911, -5911, 3317, + 3090, 3329, 3340, 3319, 3320, 2893, 240, 3321, 222, 197, + 3448, 2893, 3583, 3325, -5911, 63941, -5911, 43849, 3385, -5911, + -5911, -5911, 1909, 93521, 93521, -5911, 3622, -5911, 3314, -5911, + 17072, 3622, -5911, -5911, 41268, 3454, 3626, 3552, -5911, -5911, + -5911, 3334, 21693, 35991, 35991, -5911, 2715, 21693, 2722, -5911, + -5911, -5911, -5911, -5911, -5911, 1634, -5911, 93521, 182, 3456, + 1829, 3389, 1276, 3825, 3394, 93521, -5911, 49503, 2392, -5911, + 68531, 93521, 93521, 3550, -5911, 3811, -5911,121941, -5911, 3341, + -5911,121445,116981, -5911, -5911, 1233, -5911, 1068, 68531, -5911, + 93521, 93521, 68531, 93521, 93521, -5911, 68531, 3395, 93521, 93521, + -5911, -5911, -5911, -5911, -5911, 60880, 94, 78221, 3490, 77201, + -5911, -5911, 3387, 93521, 3582, -5911, -5911,111881, -5911, 3589, + 68531, 93521, 93521, 34935, 3591, 93521, 93521, -5911, 626, 3443, + 3447, -5911, 93521, 3453, 72611, 3392,119957, 72611, 55277, 72611, + 72611, 3721,119957, 93521, 93521, 1570, 84851, 348, 918, 3158, + 3604, -5911, 1558, -5911, 68531, -5911, 93521, 3594, -5911, -5911, + -5911, 81281, 3855, 3497, -5911, -5911, -5911,112391, -5911, -5911, + 3598, -5911, 2401, -5911, 68531, 68531, 93521, 9590, 3397,112901, + 93521, 721, 3665, 3616, 3669, 1384, -5911, -5911, -5911,119957, + -5911, 93521, 89951, 93521, 93521, 3660, 93521, 81791,113411,113921, + 782, 1782, 3662, 93521, 82301, 3664, -5911, 3535, 93521, -5911, + -5911, 64451, 68531, 93521, 975, 63941, -5911, 3649, -5911, 93521, + -5911, 1089, -5911, 93521, 7405, 3608, -5911, -5911, 3478, 3485, + 93521, 449, 1025, 3158, 3800, 93521, 93521, 3399, 2406, 68531, + 93521, 63941, -5911, 3627, 821, 68531, 93521, 81281, -5911, 3631, + -5911, 84851, 3728, -5911, 3400, 2385, 2730, 2304, 3400, 68531, + 93521, -5911, 3400, 93521,103721, -5911, 68531, 1102, -5911, 68531, + 93521, 81281, -5911, 3632, 3565, 68531, 93521, 16342, -5911, -5911, + -5911, 391, -5911, -5911, -5911, -5911, -5911, 93521, 93521, 391, + 93521, 93521, 391, 1681, -5911, 68531, 93521, -5911, -5911, -5911, + 3544, 68531, 93521, 93521, 302, 93521, -5911, 93521, 68531, 3451, + 93521, 93521, -5911, -5911, 93521, 7284, 93521, 93521, 93521, 93521, + 93521, 93521, 68531, 93521, -5911, -5911, 1043, 1620, 1786, 1904, + 1637, 93521, 3747, 93521,114431, 1377, 68531, 93521, 93521, 1377, + 93521, 63941, 465, -5911, -5911, 3546, -5911, 68531, 1102, -5911, + 9968, 93521, 93521, 93521, 3500, 3502, 238, 3593, -5911, -5911, + -5911, 928, 928, 3635, -5911, 34935, 34935, 33351, 3419, -5911, + -5911, 34935, 2959, -5911, -5911, -5911, 1078, 3917, 1078,114941, + 1078, 1078, 3734, 3488, 3493, 1078, 1078, 1078, 3722, 1078, + 1078, 1078, 93521, 3619, -5911, -5911, 3619, 996, 34935,119957, + 93521, -5911, 2407, -5911, 3450, -5911, -5911, 63941, 93521, 1012, + 973, 3809, 3667, 76181, 2536, 3799, 93521, 3489, 93521, 3936, + 3547, 1730, -5911, 2536, 93521, -5911, 1492, 78221, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, -5911, -5911, 3802, 93521, + 44363, 3628, -5911, 1377, 2913, 2913, 2913, 2913, 3455, 2913, + 93521, 3578, 3822, 2536, 3457, 3823, -5911, 4593, 3826, 1364, + 93521, 3680, 76181, 3513, 3499, 3694, 3949, 2385, 1377, 3700, + 3686, -5911, 59363, -5911, 2913, 3969, 28098, 4251, 5348, 3689, + 3761, -5911, -5911, 3703, 954, 93521, 3815, 3816, 3838, -5911, + 311, -5911, 3972, 1938, 3840, 371, -5911, 373, -5911, 2977, + -5911, 93521, -5911, 93521, 93521, 93521, 93521, 383, -5911, -5911, + 373, 2977, 373, 1017, -5911, 3770, 371, 2977, 3618, 3843, + 420, -5911, 424, -5911, 3707, 1017, -5911, 3725, 2385, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 2413, -5911, 93521, -5911, + 3818, 3821, 3824, 3827, 3828, 3486, 3505, 3553, 93521, 3508, + 3486, 391, 3509, 3498, -5911, 3508, 3508, 3486, 3078, 3078, + 3486, 3505, 67511, 3968, 63941, -5911, -5911, 3584, 3507, 3857, + 246, -5911, 258, 1450, 3759, -5911, -5911, -5911, -5911,119957, + -5911, 68531, 3549, -5911, -5911, -5911, 3740, 3512, 67511, 1017, + 211, -5911, 72611, 93521,119957, 72611, 3735, 72611, 72611,119957, + 93521, 93521, 2421, -5911, 2010, -5911, 2063, 34935, 492, -5911, + 18367, 2430, 34935, 3516, 3517, -5911, 3864, -5911, -5911, -5911, + -5911, -5911, -5911, 3518, 3876, -5911, 2442, 2444, 18504, 2510, + 119957, 2125, 3556, -5911, 3520, 234, 3741, 3519, 6754, 3596, + 2456, 3560, 244, -5911, 6754, 1021, 3521, 8141, 3690, 3523, + 2460, 3561, 3562, -5911, 7153, 7765, 3563, 18922, 3569, 3573, + 3575, 3580, 40743, 40743, 29122, 1571, -5911, 40743, 3585, 3749, + 2462, 17220, 3590, 3602, 19467, 33879, 34935, 33879, 33879, 19519, + 3571, 3603, -5911, 3935, -5911, 2474, 63941, 3744, 19643, 2479, + -5911, 34935, 63941, 7807, 34935, -5911, 34935, -5911, 3609, -5911, + -5911, 3946, 3946, 3946, 3865, -5911, -5911, 3570, -5911, 40743, + 40743, -5911, 3297, 29122, -5911, -5911, 3898, -5911, -5911, 257, + -5911, -5911, -5911, -5911, -5911, 2932, -5911, -5911, -5911, 3785, + 2510, 3915, 54748, 8683, 34935, 423, 34935, 3294, 34935, 3633, + 3946, 3946, 3946, 508, 508, 382, 382, 382, 2184, 573, + -5911, -5911, -5911, 3581, 3592, 3515, 3611, 34935, -5911, 3599, + 50017, -5911, 2609, 2718, 93521, 5554, 6400, 6590, -5911, -5911, + -5911, 3385, 127, 3385, -5911, 275, 2893, 1431, 61390, -5911, + -5911, -5911, -5911, -5911, -5911, 93521, 21693, -5911, -5911, 3812, + 3612, 2487, -5911, -5911, 2893, -5911, -5911, 2629, 2629, 3586, + -5911, 3624, -5911, -5911, -5911, -5911, -5911, -5911, -5911, 3614, + -5911, -5911, -5911, 3630, 3637, 44877, 3900, 3640, 43335, 90461, + 3613, 2272, -5911, 90461, 90971, 90461, 90461, -5911, 3639, -5911, + -5911, 1269, 34935, 3897, -5911, -5911, -5911, 34935, -5911, -5911, + 1214, 3587, 902, 1341, 2729, 2729, 2715, 1380, -5911, -5911, + 3682, -5911, 34935, 2778, -5911, 2784, -5911, -5911, -5911, -5911, + 3078, -5911, 3841, -5911, -5911, -5911, 43849, 3670, 3675, 84, + 47961, 3851, -5911, 93521, 43849, -5911, 93521, 446, -5911, 3642, + -5911, -5911, -5911, -5911, -5911, -5911,116981, 2319, -5911,121445, + -5911,121445, -5911, 2319, 4102, -5911,116981, 2103, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 68531, 68531, 3854, 93521, 3853, 3860, 34935, 1528, -5911, + 4017, 1017, -5911, -5911, 3730, -5911, 21693, -5911, -5911, -5911, + -5911, -5911, 68531, 93521, -5911, 72101, -5911, -5911,119957, -5911, + -5911, 93521, 93521, -5911, -5911, -5911,119957, -5911, -5911, -5911, + 93521, 218, 3731, 3732, 93521, -5911, 1462, 3405, 10002, 93521, + 93521, 93521, 3965, -5911, -5911, -5911, -5911, 3884, -5911, 4022, + -5911,116981, -5911, 2977, 1712, 3737, 3158, 34935, 3892, -5911, + 1109, 93521, 3652, 3653, 4031, 1519, 3986, 3666, -5911, 3776, + -5911, 3804, 1443, -5911, -5911, 3808, -5911, -5911, -5911, -5911, + 4047, 1017, 4049, 1017, 93521, 93521, 93521, 93521, 3814, -5911, + -5911, -5911, -5911, 3817, 3957, -5911, 63941, 63941, 63941, 2488, + -5911, -5911, 1377, -5911, -5911, -5911, -5911, -5911, -5911, 4003, + -5911, 2503, -5911, 2026, 91481, -5911, -5911, -5911, -5911, -5911, + 4054, 68531, 93521, 10621, 93521, 93521, 93521, 3907, 2151, 1231, + 119957, -5911,118469, -5911, -5911, 2505, -5911, 3693, 93521, 3771, + 68531, 3748, -5911, -5911, -5911, 4060, 2385, 3833, 80261, 3736, + 3736, 2315, -5911, -5911, -5911, -5911, -5911, 3971, 3895, -5911, + 394, 3905, 68531, 3760, -5911, -5911, -5911, -5911, 4069, 3794, + -5911, -5911, 3796, 1154, 3158, 4593, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 3829, -5911, -5911, -5911, -5911, + -5911, -5911, 1747, 1747, -5911, -5911, -5911, 1747, 1767, 481, + 1192, 3158, -5911, 389, 412, 3797, -5911, 3798, -5911, -5911, + -5911, 3985, 3990, 3991, 3813, 3819, 3869, 3820, 3830, 3870, + -5911, 3831, 3872, 3834, 3880, 3835, 4139, 1017,119957, 3977, + 1377, 3871, 4113, 1017, -5911, -5911, 3837, -5911, 3839, -5911, + 2509, 4226, 4227, -5911, 93521, -5911, 454, 1221, 3158, -5911, + 3842, -5911, 68531, 93521, -5911, -5911, -5911, 34935, 3745, 3757, + 3758, 21693, 21693, 34935, -5911, -5911, 21693, 3743, -5911, -5911, + -5911, -5911,119957, -5911, 93521, 4070, -5911, -5911, 1078, 93521, + 93521, -5911, -5911, -5911, 93521, -5911, -5911, -5911, 4072, -5911, + 594, 594, -5911, -5911, 4104, 8344, 3764, 470, -5911, 63941, + 51574, 2310, 224, 1943, -5911, 72101, 93521, 72101, -5911, 973, + 3988, 93521, 93521, 93521, 3768, 3769, -5911, -5911, -5911, -5911, + 68531, 1461, 68531, 2893, -5911, -5911, 3852, -5911, 93521, 2385, + 4306, 4138, 3451, -5911, 4262, 3420, 408, 2021, 251, 3024, + 4201, 2793, 34935, 447, -5911, -5911, 1269, 93521, 3499, -5911, + -5911, -5911, -5911, 1377, -5911, 3782, 3781, -5911, 93521, 4149, + 93521, 93521, 93521, 93521, 3549, 3789, 93521, 3790,119957, 93521, + 2626, 3157, 4285, 4171, 2190, 3513, 3883, 4173, 84851, 3810, + 2514, -5911, -5911, 954, -5911, 2519, 150, -5911, 1377, 72101, + 117477, 4160, -5911, 344, 5348, -5911, -5911, 344, 1070, 93521, + -5911, -5911, -5911, -5911, 4030, 2492, -5911, 4145, -5911, -5911, + 2190, -5911,119957, 3805, -5911, 2520, -5911, -5911, -5911, 420, + 3866, 1017, 3868, 1017, -5911, -5911, -5911, -5911, 93521, -5911, + 93521, 67001, -5911, -5911, 93521, -5911, 4178, -5911, -5911, 3952, + 3953, 3954, 3955, 3956, 93521, 3486, -5911, 3832, 93521, 93521, + 68531, 1766, -5911, -5911, 68531, 502, -5911, 1308, -5911, 84851, + 3947, -5911, -5911, -5911, -5911, 4191, 4193, -5911, -5911, -5911, + 1610, -5911, 79241, 510, -5911, 68531, 4126, 4129, 4140, 4141, + 391, 4144, 4147, 4148, 4150, 4151, -5911, -5911, -5911, 3845, + 19689, 34935, -5911, 4216,119957, -5911, 8392, -5911, -5911, 34935, + -5911, 34935, -5911, -5911, 4153, -5911, -5911, 3914, 3920, 3861, + 3556, 3690, -5911, 4071, 4077, 34935, 3690, 4338, 1152, 34935, + 34935, 34935, -5911, -5911, 4090, 4101, 34935, 2510, 2510, 34935, + -5911, 3877, 34935, -5911, -5911, -5911, -5911, 2602, 34935, -5911, + 34935, -5911, -5911, 26038, 4399, 4399, 3878,119957, 40743, 40743, + 40743, 40743, 1671, 3057, 40743, 40743, 40743, 40743, 40743, 40743, + 40743, 40743, 40743, 40743, 584, -5911, 4093, 34935, 34935, 34407, + -5911, -5911,119957, 3882, 3571, 3885, 3886, 34935, -5911, -5911, + -5911, 2525, 42307, 3887, 63941, -5911, 34935, 17773, 2537, 3932, + 20059, 1269, 8519, 2731, 34935, 2224, 4510, 34935, 2544, 34935, + -5911, -5911, -5911, -5911, 4240, -5911, -5911, -5911, -5911, -5911, + -5911, 4131, 2510, -5911, -5911, 34935, 3889, 5652, 40743, 40743, + 6145, -5911, 6867, 34935, 29122, -5911, 3635, -5911, 26572, 3888, + 34935,116471, -5911, -5911, 1003, 1003, 1003, 1003, -5911, 93521, + 93521, 93521, 3897, 3890, 3897, 284, 3894, -5911, -5911, -5911, + -5911, 2190, -5911, 3899, -5911, -5911, -5911, -5911, -5911, 34935, + 90461, 90971, 90461, 90461, 3896, 42821, 27087, 2272, 3903, 93521, + -5911, -5911, 3901, 43849, 4203, 4114, -5911, 43849, 4114, 2231, + 4114, 4206, 4011, 50531, -5911, -5911, 3918, -5911, -5911, 4123, + -5911, 2342, 21693, 4388, 4258, -5911, 3919, -5911, 3587, 1763, + -5911, -5911, -5911, 1460, -5911, 4007, -5911, -5911, -5911, 3613, + 36519, 4079, -5911, -5911, -5911, 3979, 2546, -5911, -5911, 4366, + 4079, -5911, 2275, -5911, 2550, 49503, 3670, 34935, 1269, 2552, + 2289, -5911, -5911,116981, -5911, 4001, 2977, 2977, 1544, 3486, + 4289, 1544, 9048, -5911, 1762, 93521, -5911, 93521, -5911, -5911, + -5911, 4423, 3992, 3994, 4219, -5911, 2863, -5911, -5911, 68531, + 93521, -5911, -5911, -5911, 460, 1265, 3158, -5911, 4020, -5911, + -5911, 4263, 93521, -5911, 4419, 4043, 93521, 9112, 4324, 4014, + -5911, -5911, 45391, 93521, 93521, 93521, -5911, 93521, 93521, 1762, + 91991, -5911, 4396, 1762, 4074, 4308, 1705, 3157, 466, 4192, + -5911, 1994, -5911, -5911, 4037, -5911, 93521, -5911, 93521, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 4094, -5911, -5911, -5911, + -5911, 64451, -5911, -5911, 93521, -5911, 63941, 51574, 63941, -5911, + -5911, -5911, 93521, -5911, 1788, 498, 1279, 3158, -5911, 4051, + -5911, 4335, 4052, 4055, 4112, 1352, 283, 4056, 4057, 4116, + 3973, 3974, 3975, -5911, 63941, 52103, 4146, 93521, 2977, 3978, + 4015, 93521, 3736, 92501, -5911, 3980, -5911, -5911, 3736, 236, + 2759, -5911, -5911, -5911, 1377, 2977, 1377, 93521, 93521, 93521, + 93521, 302, -5911, -5911, -5911, 4447, 4078, 93521, 93521, 93521, + 93521, -5911, 4033, -5911, -5911, -5911, 93521, 93521, 4346, 243, + 2321, 68531, 93521, 93521, 68531, 93521, 93521, 93521, 93521, 93521, + 93521, 93521, 4211, -5911, 4442, 4371, 2480, 4410, 4073, 93521, + -5911, 93521, 1377, -5911, 3405, 93521, 93521, 93521, 93521, -5911, + -5911, -5911, -5911, -5911, 3635, -5911, 3996, 4307, 1078, -5911, + 4309, 4310, 4311, 1078, -5911, -5911, 1943, -5911, 533, 93521, + -5911, 2642, 93521, -5911, -5911, -5911, 3919, 2717, 2719, -5911, + -5911, -5911, -5911, -5911, -5911, 3999, 93521, 93521, 40743, -5911, + 2464, 1991, 1611, -5911, 4296, 93521, 3248, -5911, -5911, -5911, + 1137, 93521, -5911, -5911, -5911, -5911, 4004, -5911, 1314, 3789, + -5911, 4330, 76181, 2977, 68531, 68531, 2977, -5911,119957, 4008, + 3499, -5911, 456, 4096, -5911, 68531, 408,115451, 3302, 4050, + 4238, 9242, 43849, 44363, 1747, -5911, 4016, 4012, -5911, -5911, + 93521, 3988, 67001, 2559, 4593, 4513, 1247, 2365, -5911, 77711, + 4223, 3789, 4330, -5911, 3157, 4243, 4246, -5911, 2190, 93521, + 3549, 3499, 1377, 93521, 4014, 51574, -5911, 4555, 2493, -5911, + 116981, 34935, 34935, -5911, 4021, -5911, 4026, 5348, -5911, 4105, + 4025, 4523, 34935, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 4124, 4036, 93521, 93521, 954, 93521, -5911, 4039, 3840, + -5911, 3840, -5911, 93521, -5911, 93521, -5911, 1017, -5911, 4176, + 1017, 93521, 93521, 93521, 93521, 93521, 93521, 3486, 391, 3498, + -5911, -5911, 4392, 67511, 4387, -5911, 63941, -5911, -5911, -5911, + -5911, -5911, 2566, 93521, -5911, -5911, -5911, 4464, 4401, 1017, + 472, 1122, 1122, 1122, 1122, 4356, 1122, 1122, 1122, 1122, + 1122, -5911, 34935, 21693, -5911, 4048, -5911, 21693, 21693, 4436, + 4342, 4347, -5911, -5911, 4059, 4292, 4293, -5911, 4062, 34935, + 3690, 20097, -5911, -5911, 4297, 4300, -5911, 3690, 3690, 20097, + -5911, 20097, 4064, 9641, 20298, -5911, 2570, 34935, -5911, 1835, + 1835, 1835, 3155, 4422, -5911, 3105, 1835, 1835, 1835, 560, + 560, 247, 247, 247, 4399, 584, 20453, 20707, 20877, 4066, + -5911, -5911, -5911, 3571, -5911, 37047, 93, 4543, 41793, -5911, + -5911, -5911, 4115, 4117, 4075, -5911, 34935, 37575, 4067,121941, + 4286, -5911, -5911, 1179, 34935, 34935, 2173, -5911, 10222, 34935, + -5911, -5911, 2173, 477, 34935, 4877, 5259, 34935, 34935, 7106, + 9694, 4080, -5911, 2587, 34935, 10508, 4278, -5911, 93521, 93521, + 93521, 93521, -5911, -5911, -5911, 4258, 2762, 4258, 1377, 4081, + -5911, 4083, -5911, -5911, -5911, -5911, 64961, 4084, 3744, 90461, + 4085, 93521, 2272, 43849, -5911, -5911, 2584, -5911, 43849, 4385, + -5911, 43849, 72611, -5911, 93521, 4089, 93521, -5911, 1933, 34935, + 4127, 54748, -5911, -5911, -5911, -5911, 4182, -5911, 4325, 21693, + 31767, -5911, 2190, 2438, 93521, 1269, 110, -5911, 34935, 4106, + 93521, -5911, 4079, 21693, -5911, 4174, 2589, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 4186, 78221, 4456, -5911, -5911, 1995, + 4428, 205, -5911, 1017, -5911,119957, 93521, 93521, 93521, 3110, + -5911, -5911, 93521, 93521, 93521, 93521, -5911, -5911, 68531, 93521, + -5911, -5911, 93521, 34935, 2593, -5911, 4152, 4559, 436, 2603, + -5911, 2608, 1762, -5911, 2615, -5911, -5911, 93011, -5911, 3988, + 302, 2464, 4443, 4446, 4350, -5911, 391, -5911, 4605, 2464, + 4352, 302, -5911, -5911, -5911, -5911, 2561, -5911,119957, 1017, + 1017, -5911, -5911, -5911, -5911, -5911, 4128, -5911, 4591, 4218, + 93521, 93521, 93521, 93521, 93521, 68531, 93521, 93521, 2893, 2893, + 119957, 4118, -5911, 2893, 2893, 4119, -5911, 68531, 93521, 93521, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, 4214, -5911, 34935, 4585, -5911, -5911, -5911, -5911, -5911, + 34935, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, 68531, 93521, 4215, -5911, 4220, -5911, 968, -5911, + -5911, 93521, 93521, 93521, 93521, 4505, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 4504, 93521, -5911, + -5911, 1377, 1377,119957, 1017, 1017, -5911, -5911, -5911, 4221, + -5911, -5911, 4134, 4445, 1078, -5911, 1078, 1078, 1078, -5911, + 4142, -5911, 1943, 4544, -5911, 1762, 2073, 4494, -5911, 34935, + -5911, 2126, 3155, -5911, 4556, 4640, -5911, -5911, -5911, -5911, + 3451, 2385, 3451, -5911, -5911, 72611, 438, -5911, 4479, 1012, + 63941, 4379, 76181, 389, 1257, 4154, 4284, -5911, 2977, 2977, + 4212, 93521, 4646, -5911, -5911, -5911, -5911, -5911, -5911, 68531, + 3748, -5911, 4394, 1335, 4515, 93521, 44363, -5911, 3613, -5911, + -5911, -5911, 1377, -5911, -5911, 4291, 3499, -5911, 1433, 93521, + 4389, 76181, 3549, 2639, -5911, -5911, -5911, 4202, 4634, 3513, + -5911, 389, 4223, -5911, -5911, 4611, 4260, 4207, 4660, -5911, + 4260, 4522, 4395, 4169, -5911, 3810, -5911, 93521, -5911, 21693, + 21693, 1377,122437, 344,119957, 4535, -5911, 21693, 93521, 971, + 4170, 4348, -5911, 4497, 1017, 2640, -5911, 1017, 1017, -5911, + 93521, -5911, 3486, 3486, 3486, 3486, 3486, -5911, 4402, -5911, + -5911, -5911, -5911, 4488, -5911, 67511, -5911, 1017, -5911, -5911, + -5911, -5911, -5911, -5911, 1122, -5911, -5911, -5911, -5911, -5911, + 21693, -5911, 93521, -5911, -5911, -5911, -5911, -5911, -5911, 3314, + 4181, 34935, 1808, -5911, -5911, 4183, 4188, 3690, 3690, -5911, + -5911, 34935, -5911, 10924, 40743, 4539, -5911, 34935, 34935, 34935, + -5911, 4179, 2641, 2646, -5911, -5911, 93, -5911, 4543, -5911, + -5911, -5911, 11427, 4247, 21693, 4312, 4190, 1710, 2173, 2173, + 10222, 2173, 34935, 34935, 2173, 2173, 34935, -5911, -5911, -5911, + 11925, -5911, 4669, 3635, -5911, -5911, -5911, -5911, 4127, -5911, + -5911, 4127, -5911, 4344, 34935, -5911, 2648, 4691, 39687, 4652, + -5911, 93521, 2652, -5911, 34935, 4204, -5911, -5911, 43849, 2584, + 4208, 2658, 93521, 2662,119957, 38103, 21693, 93521, 3635, 4209, + -5911, 93521, 3074, -5911, 84, -5911, -5911, 4650, 45391, 4608, + 21115, 34935, -5911, -5911, -5911, -5911, 67511, 4437, 67511, 1762, + -5911, -5911, -5911, -5911, -5911, -5911, 4213, -5911, -5911, -5911, + -5911, 4303, -5911, -5911, 50, 3506, 1762, -5911, 12062, 4548, + 45391, 55806, 93521, -5911, 93521, -5911, 4386, 4548, 4548, -5911, + -5911, -5911, -5911, 4713, 4595, 4596, -5911, -5911, 4224, -5911, + -5911, -5911, 4442, -5911, -5911, 51574, 68531, 93521, -5911, 4313, + -5911, -5911, -5911, -5911, -5911, -5911, 47447, 54748, -5911, 1352, + 4225, 4228, 283, -5911, -5911, -5911, 93521, 12165, 4229, 12884, + 1295, 3506, 93521, 93521, 4231, 4232, 4233, 1863, 1533, 2097, + 3486, 4583, 93521, -5911, -5911, -5911, 4442, -5911, -5911, 93521, + -5911, 1078, -5911, -5911, -5911, -5911, 63941, -5911, 2104, 4142, + 1377, 72611, 4718, 4718, 13769, 4463, -5911, -5911, 165, 4298, + 4507, 4298, 4235, 93521, 1137, 4239, 2663, -5911, 93521, 4241, + 4375, 1474, 1474, 93521, 93521, 93521, 2667, 2190, 2977, 4015, + 408, 4617, 76181, 4663, 3988, 455, -5911, 93521, 4739, 93521, + 3549, 3789, 93521, 4248, -5911, -5911, 77711, 4468, 2310, 93521, + 2626, 4223, 3513, 1500, 93521, -5911, 1199, -5911, 2190, -5911, + 93521, 84851, 45391, 4606, -5911,121445, -5911, 2672, -5911, -5911, + -5911, 4328, 22297, 3385, 4372, 4376, 4254, 2311, 4619, 93521, + 133, -5911, -5911, -5911, -5911, -5911, -5911, 93521, 510, -5911, + -5911, -5911, -5911, 4255, -5911, 4755, 34935, 338, -5911, -5911, + -5911, -5911, -5911, 4486, -5911, 4261, -5911, -5911, 2761, 1808, + 21569, -5911, 3879, 40743, 21693, 21693, 21693, 34935, -5911, 34935, + -5911, -5911, -5911, -5911, 948, -5911, -5911, 4597, 4264, 2173, + 2173, 2173, -5911, 34935, 976, -5911, -5911, 426, 4689, 21618, + 3639, 64961, 4270, -5911, 40743, 2674, -5911, 611, 93521, 2678, + -5911, 21693, 93521, -5911, -5911, 34935, -5911, 2687, -5911, 4272, + 744, 4274, 24970, 4271, -5911, -5911, -5911, -5911, -5911, 21693, + 4277, -5911, 4771, 1829, -5911, -5911, 4339, 93521, 2688, -5911, + 1333, 2271, 1200, -5911, 4781, 4781, 21693, 1766, 1544, 483, + -5911, 93521, 4381, -5911, 4559, 4288, 3451, -5911, 4290, -5911, + -5911, 2093, 3157, 93521, 3451, 3451, 2310, 4624, -5911, -5911, + 34935, 4351, -5911, 1418, 3506, 93521,119957, -5911, 170, 4648, + -5911,119957,119957, -5911, -5911, -5911, 34935, -5911, 4391, -5911, + -5911, -5911, 34935, 34935, 75161, -5911, -5911, 93521, 93521, 93521, + 93521, 93521, -5911, 1017, -5911, -5911, 2693, -5911, 46419, -5911, + -5911, 3404, 1377, 3404, 2045, -5911, -5911, 3404, 3404, -5911, + 3385, -5911, 4718, 403, -5911, -5911, 4536, 4299, 34935, 4623, + -5911, 1311, 4525, -5911, 4302, -5911, 72611, 4826, -5911, 63941, + 3789, 4330, 93521, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 2694, 3988, 4670, 3499, 4207, + -5911, 93521, 4343, -5911, 43849, 3988, 2190, 2365, -5911, 4223, + 3789, 4330, -5911, -5911, 4314, 4246, 3513, 2626, 4455, -5911, + 4457, -5911, 4770, 4534, 4777, 3549, -5911, 4014, 2698, 93521, + -5911, -5911, 5348,122437,119957, -5911, -5911, -5911, 4316, 4714, + 4364, 4367, -5911, -5911, -5911, 2311, -5911, 114, 4715, 4373, + -5911, 4383, 93521, -5911, -5911, 3988, 1017, 34935, 63941, 21693, + -5911, -5911, 4712, -5911, 500, 270, 1256, 4560, 4329, 34935, + 3879, 2700, 2702, 4393, -5911, -5911, -5911, 3571, 38631, 38631, + 38631, 4333, 4696, 4705, 93521, -5911, 93521, 4541, -5911, -5911, + 93521, 3155, 4340, 39687, 63941, 2704, -5911,118965, -5911, 2709, + 2724, -5911, 34935, 4345, 34935, -5911, 38103, 93521, 4349, 3456, + 2190, -5911, 3385, 45391, -5911, 4474, -5911, 4614, -5911, -5911, + 34935, 4434, 4438, -5911, 4707, -5911, -5911, 93521, -5911, 93521, + 4298, 54748, 3587, 2093, 2385, 4298, 4298, 4299, 14677, 34935, + -5911, 4450, -5911, -5911, 2732, 175, 4533, 4533, 2733, 2734, + 15235, 93521, 2739, 2744, -5911, 2746, 2893, 3505, 2097, 3505, + -5911, 3486, -5911, -5911, 63941, -5911, -5911, 68021, -5911, -5911, + -5911, 1377, -5911, 1377, 4594, 57336, 57846, 1377, 1377, -5911, + -5911, -5911, -5911, 4687, -5911, 4593, -5911, 15319, 4460, -5911, + -5911, -5911, 765, -5911, 4589, 4590, -5911, 4368, -5911, 2752, + -5911, 389, 4502, 3988, -5911, -5911, 93521, 4865, 4868, -5911, + 1374, 93521, 3613, -5911, 4207, 3549, 3513, 389, 4223, 2310, + 45905, 4260, 2626, 4246, -5911, -5911, 4598, -5911, 4599, -5911, + 4378, 4711, -5911, 2197, 344, -5911, -5911, -5911, 414, 4738, + 4741, -5911, -5911, -5911, 3404, -5911, 1841, 4390, 4762, -5911, + -5911, -5911, -5911, -5911, -5911, -5911, 4427, 291, 350, -5911, + 4430, -5911, 4573, 4574, 1808, 2624, -5911, 21693, -5911, -5911, + -5911, 40215, 4547, 268, 17949, 4778, -5911, 4778, 4778, -5911, + 4873, 4874, 1427, -5911, 4853, 2753, 41793, -5911, -5911, -5911, + 93521, 4621, 1420, 4899, 4571, 2758, 38103, 2763, -5911, -5911, + -5911, -5911, -5911, -5911, -5911, 49503, 4880, 21693, 981, 1660, + 67511, 3506, 2764, 3736, 4406, -5911, 3587, 4507, -5911, -5911, + -5911, -5911, 21693, 93521, 72611, 4882, -5911, -5911, -5911, -5911, + -5911, -5911, -5911, 3506, 4503, -5911, -5911, 75161, -5911, 93521, + -5911, -5911, 2765, -5911, -5911, -5911, 58356, -5911, 4170, -5911, + 4170, -5911, -5911, -5911, 2441, 4521, 93521, 1144, 1144, 4825, + -5911, 4482, -5911, 4418, -5911, 4949, 4558, 93521, -5911, -5911, + 1352, 2190, 76181, 3988, -5911, -5911, 2626, 4223, 3513, 34935, + 2769, -5911, 4559, 436, -5911, 4246, 4260, -5911, -5911, 45391, + 4421, 3248, 4816, -5911, -5911, -5911, 2568, 72611, 72611, 93521, + -5911, -5911, -5911, 34935, 1137, -5911, 4465, -5911, 4466, -5911, + -5911, 4653, 4654, 4429, 1808, -5911, 4930, -5911, -5911, -5911, + -5911, -5911, 1283, -5911, -5911, -5911, 93521, 93521, 93521, 4433, + -5911, 3744, -5911, -5911, 40743, 40743, 4671, -5911, 40743, 1420, + -5911, 93521, -5911, 4439, -5911, -5911, 2770, -5911, 1679, 1719, + -5911, 4676, 4569, -5911, -5911, 4678, 802, -5911, 483, -5911, + -5911, -5911, -5911, -5911, 4525, 1762, 1762, 3506, -5911, 93521, + -5911, 4440, -5911, -5911, -5911, 68021, -5911, 4170, -5911, -5911, + -5911, -5911, 4950, -5911, 313, -5911, -5911, -5911, -5911, 93521, + 3988, 4118, 4207, -5911, 4246, 3513, 2626, 15398, -5911, 45905, + 93521, 93521, 4260, -5911, 2775, 45391, 3499, 4602, -5911, 1908, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, 450, 4444, 4452, + -5911, -5911, 15995, 72611, -5911, -5911, 4592, 4600, -5911, 4668, + 39159, 4609, -5911, 4661, -5911, 1447, 1458, 1934,115961, 4910, + 3155, 3155, -5911, 3155, -5911, -5911, 34935, -5911, -5911, -5911, + -5911, -5911, 49503, -5911, 4516, 84, 4461, 93521, -5911, -5911, + 1762, -5911, -5911, -5911, 34935, -5911, -5911, 2385, 2385, 3988, + -5911, -5911, 4260, 2626, 4246, 4559, -5911, -5911, -5911, -5911, + 4711, -5911, 2776, 4260, 4373, 2738, -5911, -5911, 2757, 2813, + 4550, 4803, -5911, 4467, 4575, 4577, 4854, -5911, -5911, -5911, + 93521, 93521, 65471, 93521, 388, 2788, -5911,119461, 93521, 16662, + 4470, -5911, 4528, 34935, 2798, 1762, 2800, -5911, -5911, -5911, + -5911, 4246, 4260, 93521, 3248, -5911, 45391, 3385, 4849, -5911, + 1908, 4601, 4604, 63431, -5911, -5911, -5911, -5911, -5911, 2279, + 366, 4890, -5911, -5911, 1377, 1808,115961, 4697, 862, 2804, + -5911, 4538, 2818, 135, -5911, 4260, -5911, -5911, 3499, -5911, + -5911, 1137, -5911, 4529, 4531, -5911, 2819, -5911, -5911, -5911, + -5911, 34935, 65471, 2459, 4477, -5911, -5911, 4686, 1377, 2761, + 4686, -5911, -5911, -5911, 84, -5911, -5911, 4260, 72611, 4843, + 4844, -5911, 63431, 928, 4553, 93521, 4493, -5911, 1808, -5911, + 1256, 2761, 4551, 3385, 4496, 72611, 72611, -5911, 4509, 93521, + 4960,115961, -5911, 1808, 1256, 4538, -5911, 63431, -5911, -5911, + 2762, -5911, 4512, 2820, -5911, 1808, -5911, 2826,115961, -5911, + -5911, -5911, 2830, -5911 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -5539, -5539, -5539, 3812, -558, -5539, -5539, -958, -449, 3054, - -1132, -5539, -5539, -5539, 1347, -5539, -5539, -5539, -5539, 3776, - -5539, 1733, -2853, -5539, -5539, 134, 3732, -1362, 128, 3383, - 1415, -5539, -981, -5539, -5539, -617, 3, -5539, 3737, 311, - -5539, -5539, -5539, -5539, -5539, -5539, -5539, -5539, -811, 1851, - -5539, 1937, 1216, -922, -3407, -5539, -5539, -1482, -3692, -5539, - 514, -5539, 540, -4715, -1027, -5539, -5539, -5539, 1841, -5539, - -5539, -5539, 1788, 1016, -452, -5539, -5539, -5539, -5539, -5539, - -5539, -866, -5539, -5539, -1130, 7, -640, -2891, -4223, -5539, - -5539, 364, -493, -1475, -5539, 559, -5539, -4550, -5539, -106, - -2629, -4246, -5539, -5539, -5539, -467, -1437, 1314, -5539, -730, - -1136, 1664, -2616, -983, -5539, -340, -3495, -1104, -878, -875, - -1014, -4276, -4768, -5539, -5539, -1133, -3679, -5037, -5287, -4789, - -4583, 1325, -5539, -134, 369, -5539, 8, -3607, -3670, 13, - 344, -5539, 15, 17, -5539, 362, -808, -968, -1567, -5539, - -931, -5539, -5539, -5539, -3385, -5539, -5539, -5539, 144, -5539, - -5539, -5539, -5539, 402, -5539, -5539, -5539, -5539, -5539, -5539, - -2577, 1813, 1814, -5539, -4072, -5539, -927, -5539, 567, -3412, - 1245, -5539, -5539, 1010, 3808, 387, -5539, -5539, -5539, -5539, - -5539, -5539, -1766, -5539, -5539, -5539, -5539, -112, -437, -5539, - -5539, -5539, -5539, -5539, -5539, -5539, 18, -5539, 971, 326, - -5539, -5539, -724, -5539, -5539, -5539, -5539, -5539, -5539, -1187, - -5057, -1295, -1276, -5539, -3410, -5539, -5539, -5539, -411, -5539, - -5539, -5539, -5539, -5539, -868, -5539, 1065, -4071, -5539, -5539, - 363, -5539, -5539, -5539, -5539, -5539, -986, -347, 2991, -5539, - -581, -783, -5539, -5539, -5539, -346, -5539, -5539, -5539, -5539, - -5539, -507, -1284, 4801, 4187, -1096, 5912, -833, -578, -5539, - -5539, -5539, -2654, -5539, -5539, -4144, -5539, 4792, 2532, 386, - 19, -5539, -1, 89, 3659, -5539, 933, -1151, -3063, 325, - -543, -5539, -5539, -5539, -3034, -5539, -5539, -5539, -5539, -4015, - 21, -5539, -714, -5539, -4291, -5075, -4498, -4021, -1157, -5539, - -5391, -4162, -4299, -3991, -5539, 1840, -5539, -5539, -548, -192, - 2964, -5539, -1456, 2187, -1410, -5539, -2461, 382, 1409, 2970, - -3220, -130, 2961, -2951, -5539, -717, 1001, -5539, -436, -3740, - -5539, -5539, -5539, -2674, -673, -5539, -5539, 1560, 572, -5539, - -5539, -5539, -5539, -620, 2938, -182, -5539, -5539, 4157, -5539, - -4843, -5539, 4127, -5539, -5539, -5539, -5539, 2857, 2860, -5539, - -5539, -1443, 1173, -5539, -836, -5539, -5539, 1946, 599, -5539, - -5539, -5539, -5539, 1258, -530, -5539, -5539, -5539, -5539, -5539, - -5539, -5539, -975, -1175, -5539, -5539, -4772, -5539, -5539, -5539, - -5539, -5539, 2298, -947, -742, 4024, 747, 24, -5223, -5539, - -5539, -925, -5539, 3379, -5539, -5539, -5539, -5539, -5539, 384, - 385, -5539, -5539, -5539, -5539, -3752, -5539, -5539, -4931, -5539, - -5539, 1927, -5539, -5539, 931, 6, 3087, -5539, -5539, -5539, - -11, -5539, -5539, -1013, 2274, -5539, -2360, -5539, -586, -5539, - -5539, -1881, 26, -4273, -5539, 5, -5539, -5539, -4938, -1180, - 205, -5539, -5539, -3924, 9, -5539, -5539, -5539, -5539, -4941, - -5539, 11, -5394, 742, -3272, -5539, 1, -5539, -495, -870, - -5539, -5539, -5539, -3729, 28, 36, -5539, -5539, 4, 301, - -46, -44, -12, 2, 121, 3493, -5539, -5539, -5539, -4674, - 3537, -5539, -4, -857, 4834, 4836, -5539, -881, -158, -5539, - 1512, -704, -2549, 3459, 3462, -5539, 1501, 2283, -2425, -2431, - -5539, -1012, -845, -680, -5539, -5539, -5539, -5539, -1489, -698, - -2552, -5539, 3460, -5539, -5539, -5539, -2317, -3298, -3207, 1537, - -3224, -3117, -5539, 823, 804, -951, -187, 104, -1462, -778, - 1723, -5539, -5539, 1545, -431, -5539, -5539, -429, -3221, 766, - -5539, -4466, -2774, 1548, -1110, -826, -5539, -956, -5539, -651, - 894, 3510, -813, -5539, -5539, -788, 11796, -5539, -5539, -5539, - 12693, 13876, -5539, -5539, 14176, 14911, -5539, -589, 14965, 11704, - -779, -1910, -149, 16754, -1853, 2858, 93, -5539, -2914, -2012, - -5539, -5539, -5539, -395, 908, 612, -5539, -4486, -4346, -5539, - -5539, -2098, -5539, -657, -5539, -656, -5539, -5539, -5539, -3053, - -5436, -3047, 2415, -5539, -5539, -5539, -199, -5539, 16612, -3212, - -5539, -306, -982, -1574, 2888, -3009, -1896, -5539, -5539, -5539, - -3073, -5539, -5539, -5539, -635, 1642, -5539, -5539, 1746, -5539, - -5539, -5539, -952, 1983, -759, -1165, 1647, 4028, -766, 2421, - -782, 15836, -652, 12002, -1273, -5539, 5473, -5538, 828, 6895, - 37, -108, 6649, -598, 2331, 2818, -5539, -5539, 5134, 3814, - -572, -959, -5539, -6, 13133, 10090, -3618, -5539 + -5911, -5911, -5911, 4103, -464, -1749, -5179, -1132, 1958, -5911, + -5911, -982, 645, 3335, -1203, -5911, -5911, -5911, 1591, -5911, + -5911, -5911, -5911, 4087, -5911, -2945, -5911, -5911, 223, 4034, + -1388, 171, 3644, 1614, -5911, -1016, -5911, -5911, -623, 1, + -5911, 4042, 627, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -5911, -801, 2079, -5911, 2174, 1407, -3392, -5911, -5911, -1535, + -3795, -5911, 655, -5911, 682, -4107, -5911, -4874, -1013, -5911, + -5911, -5911, 2064, -5911, -5911, -5911, 2009, 1196, -371, -5911, + -5911, -5911, -5911, -5911, -5911, -835, -5911, -5911, -1145, 2, + -653, -2990, -4401, -5911, -5911, 503, -414, -1492, -5911, 695, + -5911, 697, -5911, -4902, -5911, -4, -2779, -2631, -5911, -5911, + -5911, -383, -1513, 1440, -5911, 1503, -5911, -742, -1182, 1884, + -2178, -973, -5911, -275, -3624, -1116, -844, -842, -1005, -4426, + -4954, -5911, -5911, -1144, -3834, -5260, -5502, -4926, -5159, 1449, + -5911, -29, 505, -5911, 3, -3703, -3803, 4, 480, -5911, + 6, 7, -5911, 497, -775, -977, -1609, -5911, -633, -5911, + -5911, -5911, -3486, -5911, -5911, -5911, 187, -5911, -5911, -5911, + -5911, 542, -5911, -5911, -5911, -5911, -5911, -5911, -2467, 2036, + 2037, -5911, -4434, -5911, -943, -5911, 708, -3539, 1435, -5911, + -5911, 1191, 4107, 526, -5911, -5911, -5911, -5911, -5911, -5911, + -1803, -5911, -5911, -5911, -5911, -3, -353, -5911, -5911, -5911, + -5911, -5911, -5911, -5911, 8, -5911, 1156, 468, -5911, -5911, + -661, -5911, -5911, -5911, -5911, -5911, -5911, -1198, -5255, -1330, + -1296, -5911, -3518, -5911, -5911, -5911, -324, -5911, -5911, -5911, + -5911, -5911, -839, -5911, 1258, -4212, -5911, -5911, 514, -5911, + -5911, -5911, -5911, -5911, -971, -257, 3284, -5911, -513, -740, + -5911, -5911, -5911, -254, -5911, -5911, -5911, -5911, -5911, -520, + -1288, 5131, 4487, -1120, 16340, -840, -588, -5911, -5911, -5911, + -2765, -5911, -5911, -4184, -5911, 5122, 2767, 575, 11, -5911, + 42, 112, 3922, -5911, 1124, -1169, -3157, 474, -468, -5911, + -5911, -5911, 476, -5911, -1964, -5911, -5911, -5911, -5911, -4170, + 12, -5911, -4445, -5264, -4682, -4216, -1157, -5911, -5697, -4543, + -4163, -5911, 2078, -5911, -5911, -478, -192, 3251, -5911, -1490, + 2424, -1435, -5911, -2570, 537, 1615, 3288, -3311, -104, 3241, + -3039, -5911, -673, 1201, -5911, -339, -3821, -5911, -5911, -5911, + -2816, -597, -5911, -5911, 1817, -1094, -5911, -5911, -5911, -5911, + -665, 3224, -184, -5911, -5911, 4462, -5911, -5021, -5911, 4431, + -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -5911, -1486, + 1368, -5911, -769, -5911, -5911, 2180, 748, -5911, -5911, -5911, + -5911, 1455, -373, -5911, -5911, -5911, -5911, -5911, -5911, -5911, + -952, -1185, -5911, -5911, -4662, -5911, -5911, -5911, -5911, -5911, + 2547, -960, -744, 4332, 1157, 13, -5422, -5911, -5911, -1151, + -5911, 3658, -5911, -5911, -5911, -5911, -5911, 529, 532, -5911, + -5911, -5911, -5911, -5286, -5911, -5911, -5082, -5911, -5911, 2162, + -5911, -5911, 1423, 5, 3393, -5911, -5911, -5911, -15, -5911, + -5911, -1029, 2511, -5911, -2414, -5911, -604, -5911, -5911, -1919, + 15, -4433, -5911, 58, -5911, -5911, -5142, -1101, 326, -5911, + -5911, -4157, 61, -5911, -5911, -5911, -5911, -5084, -5911, 72, + -4966, 892, -3387, -5911, 10, -5911, -421, -5911, -5911, -423, + -5911, -5911, -5911, -4104, 16, 31, -5911, -5911, 74, 2163, + -47, -36, -32, 21, 176, 3780, -5911, -5911, -5911, -4485, + 3856, -5911, 49, -871, 5168, 5169, -5911, -898, -136, 482, + 1717, -694, -2638, 3729, 3738, -5911, 1704, 2524, -2480, -2479, + -5911, -851, -817, -625, -5911, -5911, -5911, -5911, -1451, -687, + -2642, -5911, 3756, -5911, -5911, -5911, -2383, -3418, -3234, 1744, + -3337, -3171, -5911, 983, 977, -878, -72, 101, -1499, -789, + 1890, -5911, -5911, 1770, -335, -5911, -5911, -333, -3331, 942, + -5911, -4653, -2864, 1775, -1097, -778, -5911, -926, -5911, -579, + 1780, -5911, -4307, -1130, -5911, -3691, 576, 3844, -831, -5911, + -5911, -812, 9265, -5911, -5911, -5911, 11105, 11338, -5911, -5911, + 11988, 12269, -5911, -559, 12497, 8476, -793, -1956, 245, 12981, + 17180, -1806, -677, 317, -5911, -2920, -2369, -5911, -5911, -5911, + -300, 1092, 1055, -5911, -5911, -4688, -4489, -5911, 2671, -2150, + -5911, -587, 1846, -585, -5911, -5911, -5911, -2604, -4938, -2695, + 2675, -5911, -5911, -5911, -187, -5911, 18169, -3279, -5911, -551, + -1018, -1607, 3182, -3034, -1950, -5911, -5911, -5911, -3142, -5911, + -5911, -5911, -440, 1874, -5911, -5911, 1997, -5911, -5911, -5911, + -975, 2242, -768, -1183, 1879, -4551, -5911, -522, -4276, -5068, + -5911, -5709, -5891, -1890, -1108, -3056, -5910, -1951, 1896, -3193, + -5911, -1947, 1978, 1187, -5911, -2346, -5911, 4370, -787, 2690, + -803, 16194, -671, 10668, -1303, -5911, 235, -4225, 3541, 7082, + 29, -120, 9781, -621, 2607, 3306, -5911, -5911, -6, 9253, + -628, -874, -5911, 5256, 15755, 16120, -3738, -5911 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -2829 +#define YYTABLE_NINF -3001 static const yytype_int16 yytable[] = { - 622, 184, 191, 71, 186, 180, 175, 80, 83, 181, - 900, 183, 970, 84, 934, 85, 1613, 86, 106, 124, - 1559, 129, 975, 191, 159, 980, 178, 736, 185, 969, - 1686, 911, 1445, 1075, 1343, 805, 1200, 1201, 1202, 1782, - 1898, 840, 1206, 1666, 627, 888, 2856, 1331, 2647, 2683, - 1431, 678, 1433, 3452, 1416, 1771, 1396, 2749, 1618, 763, - 1021, 1952, 1372, 1678, 1776, 763, 2778, 922, 1112, 2741, - 1387, 1388, 3392, 1842, 1166, 1999, 3393, 1992, 1220, 1395, - 1371, 1359, 4047, 3755, 4049, 3915, 3012, 3786, 3838, 1784, - 1173, 3896, 1464, 1402, 2761, 2750, 4111, 4411, 4462, 618, - 4263, 3140, 1815, 4170, 3165, 4191, 1820, 2924, 978, 4650, - 1147, 1824, 770, 1114, 1555, 2647, 2817, 2817, 4724, 3670, - 2817, 1834, 1000, 4360, 1160, 806, 4689, 1042, 4684, 4215, - 4087, 4217, 4125, 3777, 1854, 4424, 3234, 4437, 3236, 1577, - 5064, 4070, 2579, 1157, 1594, 1174, 232, 913, 836, 4947, - 4926, 5357, 4936, 2732, 4749, 5261, 4100, 3079, 1145, 5453, - 1021, 1149, 4887, 799, 905, 1887, 2886, 2887, 5254, 3202, - 833, 851, 5222, 1612, 5133, 825, 5076, 1527, 5078, 914, - 3387, 3315, 1644, 3303, 3384, 3418, 3420, 4020, 3305, 5505, - 5384, 622, 1671, 5112, 4131, 4124, 4421, 3638, 4665, 2882, - 622, 945, 1351, 1890, 4935, 5673, 1438, 1827, 622, 1894, - 945, 622, 1441, 2732, 2712, 5492, 684, 1522, 1021, 1905, - 5253, 5023, 1851, 1908, 945, 3960, 2913, 1911, 3363, 1913, - 2732, -2433, 5406, 745, 684, 1921, 4085, -2471, 4090, -2496, - 637, 1927, -2325, -2534, 1930, 5109, 2538, 1114, -2325, 5416, - 5417, -2325, -2325, 5661, 3960, -2285, 2893, 1880, 1522, 1850, - -2326, -2285, 6043, 1522, -2178, 1371, -2326, 1384, 1385, -2326, - -2326, -2178, 1021, 2584, -1931, -1898, -1911, 1394, 745, 1880, - -1931, -1898, -1911, -1936, -2357, 3714, 3009, 3717, 3718, -1936, - 4447, 1229, 3722, 3723, 3724, 745, 3726, 3727, 3728, 920, - 3913, 187, 843, 1101, -1926, -2436, 684, 915, 3774, 5444, - -1926, 3149, 2046, 3149, 1181, 1880, 745, 1880, 3695, 5598, - 1494, -2704, 187, 3244, 1807, 1880, 2051, -2704, 684, 993, - -2704, -2704, 1021, 2582, 2501, 1185, 684, 3244, -1939, 1880, - -1939, 3464, 2501, 5863, -1939, 4918, -1939, 684, 1347, 2677, - 1880, 3108, 5119, 4166, 5092, 2691, 3900, 899, -141, 2544, - 1556, 2955, 5442, 5641, -141, 5276, 745, 3284, 2678, 2817, - 4948, 4994, 4995, 4996, 3285, 4998, 4999, 5000, 5001, 5002, - 5176, 5250, 3021, 1880, 4923, 1864, 684, 1453, 5815, 3021, - 1196, 3745, 2546, 1976, 916, 3042, 2685, 5823, 5932, 5572, - 2027, 5968, -2494, 5633, 5177, 751, 3291, 5383, 3022, 2051, - 4924, 751, 1678, 751, 2590, 3022, 2802, 751, 3043, 1776, - 5908, 5909, 635, 5561, 2686, 2978, 2520, 2679, 5405, 752, - 3389, 2533, 2533, 917, 1495, 752, 1829, 752, 1494, 3366, - 5215, 752, 2544, 5803, 6044, 1812, 679, 2680, 1114, 1507, - 5595, 1204, 1362, 2597, 970, -2197, 1771, 5675, 751, 3584, - 2727, 2898, -2197, 4651, 2752, 6037, 4348, 2586, 4287, 3010, - 1387, 1388, 5223, 1397, 1005, 2546, 1596, 4115, 634, 751, - 5135, 2515, 752, 1556, 684, 5493, 5412, 5140, 4408, 745, - 2516, 1395, 912, 4897, 1398, 2689, 5642, 2051, 5481, 2539, - 5829, 3746, 1984, 752, 970, 2752, 2677, 2752, 2692, 5413, - 1402, 3960, 1399, 4116, 2779, 1597, 2880, 4288, 4283, 3130, - 5224, 4457, 194, 3668, 2752, 4652, 1363, 5910, 6080, 3367, - 2544, 1929, 5830, 2752, 3585, 2752, 1896, 3390, 1225, 1205, - 1377, 2752, 1881, 1069, 2979, 1906, 2752, 2013, 3292, 1079, - 2043, 2598, 1495, 2667, 2803, 2728, 5634, 1896, 5216, 5969, - 6031, 1092, 3451, 2546, 1881, 5573, 195, 685, 5093, 1197, - 3358, 5643, 2719, 915, 1006, 1776, 4376, 2687, 2504, 5824, - 3044, 5954, 2726, 3901, 2679, 6020, 1239, 1454, 4898, 3960, - 6045, 1936, 5955, -2829, -2829, -2829, 5632, 2681, 2517, 2693, - 1881, 3023, 1881, 4925, 2680, 2956, 1973, 4360, 5234, 5277, - 1881, 5338, 3109, 4167, 6041, 5973, 1996, 1983, 3933, -437, - 5445, -2178, 918, 1205, 1881, 1007, 945, 5786, 2581, 844, - 5450, 1993, 1205, 4784, 1106, 1881, 1896, 5814, 4499, 1052, - 191, 3011, 1053, 1049, 6046, 945, -2494, 1050, 3131, 1051, - 2851, 945, 1566, 2854, 3465, 2894, 2762, 1977, 1384, 1385, - 916, 1114, 4448, 945, 3696, 4127, 1013, 5178, 1881, 2841, - 1014, 1496, 2844, 2845, 5120, 4899, 2779, 5972, 5304, 945, - 5769, 1231, 3245, 1008, 622, 1394, 900, 638, 6019, 888, - 2717, 3747, 2861, 622, 945, 864, 4025, 2922, 2923, 1882, - 622, 1977, 945, 622, 4896, 3970, 3971, 3972, 3973, 3974, - 3975, 2682, 3308, 3161, 2823, 888, 945, 2518, 5668, 1382, - -2494, 1889, 1813, 3332, 3286, 1177, 945, 2796, 2557, 680, - 2921, 6049, -2494, 191, 1497, 2780, -2433, 2513, -2325, 3975, - 4694, 2624, -2471, 5912, -2496, 4944, 5098, 2625, -2534, 1013, - 2585, -2285, 2795, 1014, 2681, 1446, -2326, 1893, 1013, 1904, - 757, 758, 1014, 4791, 2874, 2875, 4943, 1926, 5902, 4795, - -1931, 1386, 1390, 1813, 4340, 4341, 5931, 757, 758, -1936, - 3748, 1929, 1114, 1178, 945, 1183, 2840, 1187, 681, -2357, - 1114, 1114, 1896, 1191, 1813, 1397, 1194, 1397, 757, 758, - -1926, 2912, 2047, 2562, 2563, 2929, 2736, 622, 622, 5875, - -2436, 2488, -2197, 945, 1586, 3097, 1398, -2704, 1398, 4458, - 4409, 2690, 5879, 4360, 2502, 4499, 682, 1486, 683, 3081, - 4409, 2899, 6065, 4900, 1399, 970, 1401, 1587, 945, 1794, - 622, 4087, 2881, 1799, 4284, 1800, -141, -141, 1557, 1558, - 762, 1361, 1798, 5292, 2965, 3132, 762, 913, 1677, 2736, - 2900, 3493, 3107, 888, 2943, 1933, 3966, 5975, 2682, 4630, - 3569, 5580, 4321, 4634, 3122, 3133, 2736, 4532, 4711, 4377, - 4421, 4512, 1208, 4754, 5813, 622, 1468, 932, 918, 914, - 2966, 2485, 2486, 2487, 2488, 1789, 5956, 2780, 945, 2781, - 785, 2779, 5807, 4901, 184, 191, 71, 186, 180, 175, - 80, 83, 181, 4171, 183, 4674, 84, -1751, 85, 5850, - 86, 106, 124, 4402, 129, 684, 1065, 159, 2782, 178, - 1479, 185, 5997, 3167, 4855, 5963, 4859, 6018, 5795, 187, - 5671, 1487, 5787, 4105, 1208, 874, 1831, 4621, 3384, 4623, - 2804, 1346, 1128, 2783, 5806, 1356, 4133, 4054, 4134, 2498, - 4858, 4278, 4279, 1880, 2983, 1675, 4280, 3842, 1378, 2763, - 2973, 1557, 1558, -1898, 1469, 906, 3063, 2483, 2484, 2485, - 2486, 2487, 2488, 2764, 3070, 2765, 3561, 3902, 786, 3358, - 4816, 2711, 2777, 3972, 3973, 3974, 3975, 4463, 6074, 5743, - 777, 684, 2042, 4877, 5748, 5749, 622, 622, 1772, 1655, - 5889, 684, 5998, 5528, 945, 1656, 2853, 1650, 3484, 622, - 5486, 5538, 1450, 5542, 888, 622, 5911, 1470, 2779, 622, - 1873, 622, 187, 899, 5499, 888, 5851, 1501, 5903, 4782, - 751, 907, 5500, 3484, 1874, 4762, 2766, 2586, 1005, 2820, - 953, 888, 2824, 5920, 3843, -1898, 3551, 954, 955, 956, - 1651, 2781, 773, 3733, 752, 4335, -2829, -2829, -2829, 3970, - 3971, 3972, 3973, 3974, 3975, 3335, 5389, 4923, 5585, 3396, - 2560, 3422, 5717, 2779, 4464, 2779, 4689, 4967, 4128, -1751, - 2782, 1776, 6009, 5543, 622, 1362, 622, 622, 5999, 4400, - 1875, 3485, 684, 4924, 2779, 1488, 6069, 4506, 4267, 908, - 4912, 3552, 3242, 2901, 1846, 2783, 908, 799, 1636, 908, - 4885, 5981, 2780, 1657, -689, 1471, 3485, 3529, 1406, 1777, - 3956, 3025, 1778, 1468, 1182, 1184, 1186, 945, 3336, 1188, - 1189, 1190, 1676, 6093, 1489, 5920, 2633, 684, 1006, 1195, - 787, 5925, 4878, 1239, 2777, 6101, 3960, 1847, 1915, 4763, - 3961, 3962, 3963, 2974, 5480, 622, 4817, 1239, 6010, 1363, - 3960, 2873, -2281, 4171, 3961, 3962, 3963, 1578, 1490, 191, - 933, 1225, 5654, 2779, 6017, 3119, 3120, 2666, 3530, 5852, - 5529, 788, 789, 4584, 5853, 3562, 6024, 2859, 945, 1007, - 1876, 1916, 912, 1407, 187, 4193, 1021, 888, 5501, 945, - 3553, 5667, 5670, 5682, 3903, 5890, 1938, 5271, 1940, 1066, - 1942, 1469, 1944, 945, 1946, 1947, 1948, 945, 5240, -1898, - 6050, 1950, 5539, 4690, 5653, 1652, 3417, 5594, 1832, 622, - 2695, 2883, 4465, 5925, 6000, 1129, 1491, 2499, 1881, 2780, - 2696, 2902, 1872, 1410, 5252, 5920, 5246, 1008, 1877, 909, - 6072, 3397, 900, 4507, 5669, 4764, 1408, 3734, 3844, 1409, - 622, 3512, 3494, 3710, 1470, 5104, 3083, 2779, 3488, 2779, - 4357, 2043, 3845, 4991, 6084, 5745, 2781, 1658, 790, 6045, - 3423, 1579, 1476, 3424, 1477, 5891, 5801, 3060, 622, 622, - 622, 2982, 622, 3488, 2780, 3106, 2780, 3344, 5710, 3111, - 3056, 3072, 4466, 4886, 3118, 2782, 5495, 3121, 3219, 4194, - 3601, 2928, 622, 5892, 3078, 2780, 1659, 2779, 3698, 40, - 4098, 5496, 1848, 3358, 5845, 1100, 3358, 4872, 5934, 1653, - 2783, 3964, 3077, 3269, 3058, 1813, 3957, 3958, 945, 3090, - 3570, 3977, 5578, 5925, 3705, 1878, 945, 945, 6001, 3071, - 1660, 5945, 3073, 3965, 2542, 44, 1896, 6002, 2914, 5694, - 4454, 970, 1471, 2732, 4268, 2846, 1917, 3965, 3554, 2777, - 622, 1410, 3358, 1047, 1013, 2984, 2591, 2592, 1014, 2596, - 3358, 3141, 4008, 4009, -1752, 783, 5097, 4767, 1101, 4052, - 3193, 5657, 784, 5065, 2780, 3014, 1406, 48, 3602, 1772, - 5665, 2697, 3110, 2781, 2600, 5695, 3116, 3117, 914, 914, - 49, 914, 2987, 3495, 5068, 3571, 622, -1898, 3126, 5072, - 622, 622, 5074, 3966, 1472, -1898, 1849, 1386, -1898, 1415, - 4390, -1898, 2782, 50, 4276, 3175, 622, 3966, 684, 811, - 2698, 2856, 888, 5711, 3176, 1580, 3220, 4106, 807, 2601, - 5703, 3398, 3603, 3099, 5415, 1583, 4984, 2783, 2781, 1473, - 2781, 1544, 5219, 1474, 4653, 1170, 4988, 35, 187, 1896, - 1918, 1407, 1102, 3270, 5712, 730, 5935, 3099, 3271, 2781, - 3160, 4241, 1411, 4873, 1581, 3786, 3099, 2782, 2780, 2782, - 2780, 3338, 4957, 2988, 2600, 15, 2777, 1475, 3101, 5497, - 3654, 4768, 785, 2847, 3127, 1412, 3655, 2848, 2782, 888, - 3304, 3604, 2783, 4286, 2783, 3272, 4195, 4196, 1582, 4360, - 959, 960, 961, 962, 963, 964, 965, 966, 967, 1476, - 20, 1477, 2001, 2783, 1408, 5020, 810, 1409, 2780, 2601, - 5736, 1450, 1776, 1450, 812, 1232, 4197, 3177, 194, 3124, - 888, 2777, 2010, 2777, 1937, 834, -1752, 1939, 2781, 1941, - 2603, 1943, 5485, 1945, 762, 5494, 762, 1949, 762, 3439, - 5412, 3827, 2777, 5797, 762, 1192, 1193, 1479, 4543, 1126, - 4544, 1478, 1479, 888, 5746, 4183, 3484, 2782, 1599, 3804, - 786, 846, 195, 5413, 1896, 4242, 2686, 3904, 5241, 2040, - -2309, 2602, 4391, 1568, -166, 1126, 1410, 4323, 3314, 4713, - 1600, 1771, 2783, 2647, 3656, 1929, 1434, 2647, 3605, 4107, - 2604, 1103, 3178, 3967, 3968, 3969, 3970, 3971, 3972, 3973, - 3974, 3975, 4917, 4727, -166, 1005, 4654, 3967, 3968, 3969, - 3970, 3971, 3972, 3973, 3974, 3975, 5021, 3102, 945, 1410, - 2603, 2777, 2781, 1176, 2781, 3440, 1479, 4756, 1104, 4184, - 1479, 1601, 3273, 622, 622, 622, 5623, 4728, 5625, 3485, - 4849, 3497, 5629, 5630, 1544, 4853, 1569, 3905, 1428, 3437, - 3103, 2782, 3162, 2782, 3164, 3179, 1615, 3609, 3180, 1436, - 3171, 3059, 4697, 3104, 970, 970, 3186, 3187, 3188, 1434, - 5062, 5460, 2781, 4867, 3486, 1435, 2783, 3207, 2783, 2051, - 2604, 1217, 3069, 3222, 3660, 32, 4545, 1105, 1586, 1106, - 5901, 912, 912, 1107, 912, 1616, 4914, 5388, 3105, 3438, - 4868, 2782, 2877, 4876, 4077, 1006, 5979, 5980, 1437, 5821, - 3606, 1587, 3052, 3487, 5871, 2777, 40, 2777, 3607, 4729, - 1602, 3608, 787, 3661, 4357, 5461, 2783, 3683, 5462, 4243, - 1411, 1832, 945, 1656, 5463, 1373, 3498, 3609, 1218, 762, - 3531, 5420, 1436, 5660, 888, 2546, 4698, 40, 3657, 631, - 4780, 1239, 44, 1429, 3960, 888, 1007, 3662, 3961, 3962, - 3963, 4697, 5464, 788, 789, 2777, 4281, 1772, 4244, 1603, - 3181, 888, 1832, 1604, 5674, 40, 3593, 4585, 3558, 4078, - 4752, 970, 4361, 44, 40, 631, 5971, 3658, 2855, 1396, - 945, 1437, 5681, 1935, 48, 1423, 1778, 2506, 945, 632, - 3388, 3532, 4245, 3360, 3582, 1617, 945, 49, 762, 4699, - 3320, 44, 4079, 4700, 1008, 4290, 3488, 1929, 6051, 5465, - 44, 3659, 1606, 902, 888, 48, 5334, 4080, 4870, 4364, - 50, 3620, 5466, 622, 3321, 904, 622, 4081, 5116, 888, - 4282, 1657, 888, 888, 5467, 4698, 622, 622, 56, 945, - 945, 4127, 5983, 48, 4753, 2827, 5527, 3447, 6016, 2671, - 2830, 622, 48, 945, 622, 4082, 49, 1608, 2507, 1358, - 2672, 3451, 3621, 888, 888, 49, 945, 945, 903, 56, - 3624, 3182, 1813, 3627, 1793, 989, 5291, 4366, 2673, 50, - 1609, 4498, 4666, 1239, 3510, 1802, 3960, 191, 50, 4871, - 3961, 3962, 3963, 3582, 5828, 650, 5822, 56, 4699, 5117, - 1611, 1810, 4700, 4225, 622, 990, 56, -1075, 622, 622, - 1434, 1239, 5552, 5755, 3960, 4226, 3860, 2524, 3961, 3962, - 3963, 4149, 919, 3091, 2904, 3092, 4499, 3093, 2910, 3094, - 4357, 3095, -1722, 1052, 191, 3096, 1053, 1049, -1722, 5805, - 3146, 1050, 622, 1051, 622, 5221, 3786, 5804, 4083, 622, - 622, 3965, 6053, 951, 2647, 652, 622, 622, 622, 3743, - 2525, 622, 1455, 622, 2647, 622, 622, 622, 622, 622, - 622, 3663, 5207, 622, 4078, 622, 622, 4369, 3619, 622, - 1646, 194, 5626, 1436, 5245, 4524, 5756, 5627, 5366, 1465, - 5368, 3699, 3700, 3701, 5652, 888, 622, 622, 622, 4182, - 920, 1456, 5232, 2856, 5516, -1722, 3669, 4079, 930, 2051, - 3596, 1586, 5886, 622, 3358, 1772, 3644, 4004, 3358, 1647, - 4370, 3966, 4636, 1648, 5468, 195, 2865, 5469, 1466, 3145, - 5203, 3135, 4081, 2674, 1587, 1457, 4371, 3594, 5628, 3595, - 1392, 1393, 2544, 1621, 2915, 2647, 3854, 5685, 1114, 928, - 3689, -462, -141, 1649, -1722, 2866, 4485, 1980, 4539, 4540, - 4541, 4542, 1467, 5204, 4546, 4547, 4548, 4549, 4550, 4551, - 4552, 4553, 4554, 4555, 3705, 2546, 2769, 35, 5904, 3852, - 4330, 2817, 1622, 2916, 3858, 3358, 3859, 3790, 3791, 3792, - 3793, 4196, 3795, 3965, 5702, 3507, 3865, 2846, 2810, 3866, - 4238, 3867, 3868, 2926, 2927, 3870, 684, 2826, 1599, 3873, - 2770, 3874, 1352, 4361, 3876, 2834, 1623, 3823, 5520, 4362, - 4740, 3965, 4594, 4595, -1102, 4619, 663, 3601, 664, 4690, - 1600, 3887, 4363, 5664, 4372, 762, 2757, 1624, 2758, 4239, - 762, 762, 5521, 4690, 5194, 2917, 5195, 5196, 5197, 4285, - 5211, 3761, 5213, 4083, 1828, 2769, 622, 1013, 2918, 5574, - 4364, 1014, 4365, 3966, 40, 3635, 5631, 3636, 2561, 1586, - -462, 3640, 5985, 4240, 5974, 3664, 952, 2568, 3917, 2569, - 650, 1601, 4077, 2572, 5575, 3666, 187, 2919, 6003, 2770, - 2578, 3966, 1587, 4130, 4322, 1093, 622, -1675, 5869, 2759, - 44, 1093, 1625, 3323, 995, 1985, 2752, 5533, 1778, 3665, - -1675, 650, 6004, 1852, 3994, 3602, -1675, 2753, 4366, 3667, - 4001, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, - 1067, 1094, 1068, 187, -1069, 2847, 1853, 1094, 1460, 2848, - 652, 5089, 48, 1397, 1626, 1923, 4367, 4733, 3816, 622, - -604, 1627, 1354, 233, 1628, 49, -1902, 4078, 1071, 636, - 1072, 4818, -1902, -1675, 1398, 1397, 1095, 728, 1924, 3603, - 1602, 652, 4403, 1461, 1004, 2510, 1589, 1462, 50, 3221, - 4433, 762, 1401, -1675, 4819, 808, 1398, 3929, 5873, 5874, - 4079, 762, 2555, 4835, 5412, 1663, 56, 3778, 1667, 5735, - 4690, 2752, 6091, 4470, 6094, 4080, -1127, -1127, 4471, 40, - 6073, 1463, 2760, 4368, 1096, 4081, 4836, 5413, 4369, 1603, - 1096, -1909, 3762, 1604, 6105, 654, 4137, -1909, 3604, 2533, - 1012, 1386, -1675, 2580, 5597, 1192, 1193, 4673, 2855, 5601, - 5602, -1675, 1386, 4082, 2580, 44, 3358, 3358, 1055, -1899, - -1900, -1903, 1057, 3, 4, -1899, -1900, -1903, 5062, 2541, - 1062, 4370, 1778, 3967, 3968, 3969, 3970, 3971, 3972, 3973, - 3974, 3975, 1606, 4048, 3337, 3339, 3340, 4371, 762, 3911, - 3912, 762, 762, -1901, 4077, 3930, 1076, 48, 4676, -1901, - 3931, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, - 49, 5916, 29, 2000, 1089, 56, 684, 3886, 2788, 5961, - 2800, 663, 2044, 664, 745, 1629, 2789, 1608, 730, 1386, - 1098, 1415, 745, 50, 622, 622, 622, 622, 622, 622, - 622, 622, 622, -603, 622, 3605, 4083, 1097, 15, 668, - 1609, 56, 663, 622, 664, 4103, 622, 684, 5379, 5380, - 1630, 745, 684, 4581, 1631, -1102, 684, 970, 4797, 4078, - 1611, 4866, 5055, 3474, 4951, 3478, 3479, 667, 3250, 4471, - 1828, -2277, 1099, 20, 3477, 4372, 1013, -2278, 1199, 3763, - 1014, -1675, 1013, 4155, 1199, 1576, 1014, 622, 1632, 5422, - 1593, 622, 4079, 1116, 622, 1633, 622, 40, 3316, 622, - 4059, 4060, 6012, 622, 760, 3, 4, 4080, 5686, 1013, - 760, -2285, 1120, 1014, 4172, 4050, 1127, 4081, 3255, 3256, - 3257, 3258, 3471, 1386, 1772, 2580, 622, 3986, 3764, 3988, - 3989, 2554, 4132, 44, 2555, 3047, 2588, 3048, 3087, 1778, - 4201, 2555, 4039, 622, 4040, 4082, 3098, -1675, 3100, 3099, - 4093, 3099, 622, 622, 4205, 3138, 4207, 3606, 3139, 1137, - -1675, 3319, 3358, 1136, 1929, 3607, -1675, 1143, 3608, 3358, - 4677, 1154, 5069, 762, 3358, 48, 4678, 3358, 631, 945, - 4739, 3400, 3324, 4679, 3506, 2555, 888, 2581, 49, 1161, - 888, 888, 5953, -1674, 1776, 3228, 4023, 945, 3231, 745, - 3409, 945, 4919, 2555, 1171, 945, -1674, 4690, 5840, 5841, - 29, 50, -1674, -1675, 945, 4419, 3504, 3576, 4680, 3505, - 3577, 3441, 1199, 3444, 3739, 3356, 1203, 3740, 5867, 5917, - 1198, 4175, 945, -1675, 2938, 622, 4357, 1210, 4083, 3878, - 4681, 3928, 3099, 1207, 2555, 2949, 622, 5582, 888, 622, - 3937, 622, 622, 2555, 888, 5587, 5588, 3944, 32, -1674, - 2555, 2967, 4721, 4730, 3945, 4737, 945, 2555, 3946, 3979, - 3600, 2555, 2555, 3993, 3998, 2647, 2555, 3999, 4057, -1674, - 4712, 2555, -1675, 4430, 1213, 4431, 945, 945, 1114, 40, - 4218, -1675, 1215, 4219, 4223, 888, 4249, 4224, 4309, 4250, - 4319, 3385, 3386, 4250, 4316, 40, 1216, 4233, 5811, 4442, - -1746, -1746, 4443, 4511, 3041, -1750, -1750, 1772, 945, 4406, - 4445, 1772, 1218, 4446, 4476, 44, 5070, 4477, -1674, 3053, - 1222, 2965, 1126, 3057, 1502, 1223, 4378, -1674, 4755, 4564, - 4141, 44, 4565, 5940, 5941, 945, 2050, 1772, 1224, 2051, - 3686, 945, 1226, 6054, 4575, 5567, 5508, 4576, 4587, 4661, - 1227, 2555, 4662, 3076, 1126, 945, 1225, 48, 3492, 1503, - 4667, 731, 945, 4668, 4672, 945, 4920, 3424, 1228, 3099, - 49, 945, 2544, 48, 1233, 4985, 3173, 3174, 1977, -2829, - 1357, 4138, 4139, 3189, 3190, 5008, 49, 5048, 2555, 3250, - 2555, 945, 4159, 50, 1360, 5100, 5106, 945, 3424, 5107, - 4860, 4258, 4861, 6095, 945, 2546, 4264, -1749, -1749, 50, - 4349, 732, 897, 898, 4013, 3235, 4014, 1235, 945, 5113, - 1504, -1675, 3099, 3349, 1364, 1365, 5114, 56, -1414, 3099, - -1414, 945, 4041, 1366, 4042, 3959, 1772, 1114, 3358, 5011, - 4015, 5012, 945, 3634, 4690, 5115, 5247, 3987, 3099, 5248, - 5245, 3252, 906, 3253, 1370, 5284, 1505, 3591, 4477, 1374, - 622, 622, 622, 1379, 1380, -1723, 622, -1674, 187, 5301, - 1386, -1723, 5302, 4291, 4010, 1382, 5303, 3254, 4478, 2555, - 4480, 5321, 4482, 4011, 5322, 3237, 5331, 1013, 4937, 1929, - 1420, 1014, 1506, 622, 888, 4663, 5317, 5337, 5339, 5318, - 4416, 4416, 1772, 3921, 1389, 3923, 3924, 5455, 5475, 5509, - 5456, 3099, 5510, 5550, 5556, 1390, 5551, 1929, 907, -2829, - 5559, 1403, 5570, 4416, -2829, 5571, 4038, 4254, 4930, 5616, - 3827, 4518, 5617, 5811, 1508, 622, 1432, 5656, -1723, 4690, - 2509, 6026, 1420, 6027, 3255, 3256, 3257, 3258, 1420, 4271, - -1663, 4016, 4692, 4693, 1405, 5733, 4696, 4017, 1421, 1447, - 5683, -2829, 3918, 5571, 3805, 1239, 1510, 888, 3960, 1448, - 1449, 888, 3961, 3962, 3963, 4615, 2647, 4617, 4570, 1452, - 4396, 3255, 3256, 3257, 3258, 1458, 1415, -1723, 3259, 3260, - 5706, 5038, 2586, 3999, 3261, 5707, 908, 5721, 2555, 5725, - 5722, 3358, 1929, 5726, 1499, 1528, 2555, 970, 35, 5754, - 2734, 5760, 3139, 1512, 3139, 5761, 2551, 5764, 3139, 1525, - 2555, 3358, 1513, 5765, 5766, 5793, 2555, 5767, 5794, 5846, - 1514, 1530, 4416, 5860, 3356, 3358, 2555, 5862, 2735, 5868, - 2555, 5883, 3099, 1678, 5884, 5906, -2327, 1531, 5907, 4690, - 1516, 5952, 5982, 6022, 5564, 5571, 6023, 945, 6048, 1517, - 4502, 2555, 6067, 1518, 6077, 5722, 5054, 6078, 5057, 4379, - 4635, 4381, 4638, 888, 6083, 945, 4410, 4662, 1599, 1570, - 6092, 1776, 945, 2555, 1566, 1571, 622, 2050, 888, 622, - 2051, 622, 622, 888, 1572, 900, 6104, 5295, 1583, 6078, - 1600, 622, 1585, 4389, 4018, 4392, 622, 1595, -2829, 4099, - 2626, 1598, 2629, 4739, 1114, 4019, 1114, 1519, 2586, 1620, - 1637, 1638, 1654, 2544, 1665, 1668, 1664, 1673, 1674, 1786, - -2829, 5914, 1788, 622, 622, 622, 909, 1790, 622, 1795, - 1801, 3262, 1806, 900, 1809, 1811, 622, 622, 622, 622, - 1816, 1601, 3263, 4451, 1819, 1821, 2546, 1772, 1813, 1830, - 1835, 1836, 622, 1772, 1838, 622, -186, 622, 1839, 1841, - 5426, 1843, 1844, 4493, 1855, 3965, 1862, 1866, 4731, 622, - 622, 1870, 213, 622, 1879, 5132, 1884, 1885, 1886, 1888, - 1891, 1892, 3358, 1895, 1896, 1903, 1907, 1909, 1114, 1910, - 1912, 1914, 622, 1920, 622, 3558, 622, 4750, -2829, 1922, - 1925, 1928, 1919, 1931, 1932, 1934, 5427, 1951, 1982, 2483, - 2484, 2485, 2486, 2487, 2488, 4022, 622, 1988, 1990, 1991, - 1997, 3582, 1998, 4044, 4045, 4046, 2005, 2006, 2007, 2008, - 1602, 5428, 900, 2009, 945, 3966, 56, 2011, 2012, 1599, - 3358, 2013, 2014, 2027, 2494, 4510, 2514, 2015, 2016, 5429, - 4779, 187, 2017, 5430, 2019, 2020, 2021, 2022, 2023, 2024, - -2829, 1600, 4708, 4964, 2025, -2829, 2026, 2496, 2029, 622, - 2030, 2031, 622, 2050, 2581, 5431, 2051, 2527, 5432, 1603, - 2032, 2033, 900, 1604, 622, 2034, 2035, 4188, 2036, 622, - 2498, 2499, 2536, 5433, 2558, 2509, 2559, 2564, 2855, 2576, - 2566, 2567, -2829, 2570, 622, 2571, 2573, 2574, 2582, 2544, - 2575, 2577, 1601, 4732, 4854, 1435, -2829, 2589, 622, 2620, - 2691, 2632, 6052, 4841, 1437, 2622, 622, 2634, 3331, 3333, - 2637, 2635, 1606, 2636, 3341, 2653, 2655, 2656, 888, 2580, - 2654, 888, 2546, 888, 2657, 2658, 2659, 2660, 888, 2661, - 2662, 2663, 2669, 2688, 2694, 2700, 2714, 2551, -2607, 2718, - 2721, 2720, 2725, 945, 945, 2738, 3383, 3383, 3356, 622, - 2722, 3356, 2755, 5535, 2744, 2724, 2742, 1608, 4733, 4846, - 2743, 2756, 2767, 5434, 2776, 2785, 2771, 2774, 2775, 2787, - 945, 2790, 2791, 945, 2792, 2797, 888, 2773, 2777, 3358, - 1609, 1602, 5549, 2786, 888, 2801, 2798, 2807, 2808, 2811, - 2825, 4593, 2821, 2822, 2835, 2828, 2831, 3356, 2832, 2837, - 1611, 2838, 2842, 2849, 2850, 3356, 2852, 2857, 762, 888, - 2858, 1544, 2040, 2863, 5435, 3967, 3968, 3969, 3970, 3971, - 3972, 3973, 3974, 3975, 2867, 2864, 2869, 2871, 2895, -2829, - 1603, 2878, 2876, 2879, 1604, 2870, -2829, -2607, 2872, 2884, - 2896, -2829, 2925, 2937, 2939, 1772, 1772, 1772, 2903, 2855, - 2885, 2897, 4099, 4734, 2908, 2932, 5267, 2940, 2953, 2958, - 2040, 2959, 2954, 2960, 2941, 2942, 2946, 2947, 2948, 3358, - 945, 4973, 2950, 4981, 4975, 2951, 2952, 2961, -2829, 888, - 2968, 888, 3250, 1606, 2969, 2972, 645, 2977, -2607, 945, - 2985, 2996, 3516, 1617, 3000, 3001, 3004, 3020, 4032, 3013, - 4990, -2607, 3016, 3019, 3040, 3046, 3029, -2607, 3473, 3050, - 3062, 945, -2607, 3064, 3481, 3066, 3065, 3067, -2607, 3080, - 3123, -2607, 3112, 3148, 2051, -2607, 3136, 3167, 1608, -2829, - 3223, 3243, 3229, 2551, 3268, 3288, 3033, 3037, 3289, 3055, - 2483, 2484, 2485, 2486, 2487, 2488, 1410, 3307, 3172, 3327, - 3249, 1609, 3311, 3312, -2607, 3514, 4064, 3325, 3266, 4069, - 4536, 3233, 3313, 3310, 3329, 3326, 3330, 3328, 3342, 3334, - 3358, 1611, 3343, 4735, -2607, 888, 4736, 907, 3360, 3377, - 3378, 762, 3365, 3379, 3380, 3401, 3394, 3402, 3413, 762, - 3414, 3416, 762, 3433, 4563, 3442, 3445, 945, 3447, 3449, - 3450, 3456, 622, 3461, 762, 3349, 3466, 3467, 622, 899, - 3472, 1239, 3469, 3349, 3960, 3480, 3501, 888, 3961, 3962, - 3963, 2586, 3496, -2607, 1354, -2829, -2607, 3513, 3503, 3520, - 3533, 3538, -2607, 3559, 3565, 3539, 3566, 5039, 3572, 1358, - 3575, 4606, 3567, 3592, 1772, 888, 3614, 3583, 3593, 3672, - 945, 3590, 945, 3613, 3630, 3685, 1832, 3697, 3706, 3713, - 3719, 908, 3720, 3721, 3725, 945, 3753, 945, 3730, 5228, - 3752, 3741, 3767, 3771, 3773, 3693, 5033, 1239, 3694, 3769, - 3960, 3788, 2777, 3781, 3961, 3962, 3963, 622, 3794, -2607, - 5121, 3799, 3800, 3801, 3802, 3803, 3807, 3812, 3814, 5080, - 3810, 3815, 4892, 4893, 3818, 3819, 3824, 3839, 3840, 3841, - 5139, 3849, 3850, 888, 3851, 3853, 3358, 3855, 3869, 3871, - 3872, 4930, 3875, 3877, 3880, -2829, 3881, 3882, 1929, 4436, - 3883, 5145, 5146, 3884, 945, 888, 2483, 2484, 2485, 2486, - 2487, 2488, 3895, 1926, 777, 3885, 4976, 4977, 4978, 4979, - 4980, 3149, 3897, 3899, 3906, 3890, 3909, 888, 3914, 3916, - 3922, 3898, 3941, 3943, 3737, 4473, 3956, 2050, 1893, 3889, - 2051, 1205, -2607, 3939, 3940, 887, 945, -2170, 3992, 3995, - 4007, 3942, 4012, 4035, 4031, 4600, 3947, 3948, 3952, 4021, - 3954, 3955, 3698, 3978, 4033, 945, -2607, 4030, -2607, -2607, - 3983, 3984, 5087, 2544, 5584, 3358, 2555, 3991, 5201, 4006, - -2829, 3358, 4034, 4037, 4055, 4056, 4061, 945, 4067, 4062, - 945, 3965, 4063, 4068, 4095, 4108, 5189, 5190, 4110, 4121, - 4076, 4091, 4114, 4440, 4101, 4112, 2546, 622, -2607, 4135, - 888, -2607, -2607, -2607, 4140, 622, 4142, 622, 4143, 4129, - 762, 4151, 4147, 4154, 4156, 622, 4179, 622, 4180, 4168, - 622, 4169, 4181, 4186, 888, 622, 622, 622, 622, 4185, - 4148, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 4187, 4188, 4192, 622, 622, 622, -2829, 4152, 888, - 4203, 3966, 4204, 4206, 622, 900, 4212, 4214, 4222, 622, - 4213, 1772, 4228, 622, 4237, 4596, 4251, 5946, 5947, 4253, - 4255, 622, 1208, 4257, 622, 4265, 622, 4259, 4261, 4272, - 4266, 3358, 4270, 4273, 4308, 4274, 622, 4275, 4294, 622, - 622, 4277, 4292, 4295, 622, 622, 4099, 4293, 4296, 5084, - 4299, 622, 4297, 3907, 4311, 4608, 4609, 4610, 4611, 4302, - -2829, 4298, 4300, 4315, 4301, -2829, 5283, 3966, 3920, 5285, - 5286, 4303, 4099, 3925, 4304, 2893, 4305, 1052, 191, 4306, - 1053, 1049, 622, 4313, 4327, 1050, 5290, 1051, 4328, 4307, - 622, 4317, 4318, 4334, 622, 4324, 4329, 4331, 4339, 4345, - 4347, 4387, -2829, 4382, 4394, 4388, 4397, 4398, 4401, 4405, - 4415, 4416, 4418, 4425, 4434, 4428, 4435, 4439, 4441, 4438, - 5267, 4455, 4469, 4472, 4479, 4475, 622, 4487, 4488, 4481, - 4489, 4490, 4491, 4492, 4494, 4501, 187, 4503, 4504, 5130, - 4505, 4514, 4515, 622, 4516, 4517, 4519, 4520, 4521, 888, - 4522, 4523, 2000, 4527, 3960, -2169, 4051, 2551, 762, 4590, - 4537, 622, 4560, 4561, 4589, 5212, 4577, 4562, 4607, 4631, - 4569, 4592, 187, 4620, 4058, 4601, 4639, 4632, 4640, 4645, - 4646, 4616, 945, 5179, 5180, 4624, 5182, 4618, 4647, 3356, - 4655, 4627, 4658, 3356, 4629, 4644, 4660, 4664, 4649, 4675, - 4683, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, - 1532, 4704, 4707, 4714, 4715, 4717, 1533, 4720, 4705, 4718, - 4104, 4104, 5354, 4725, 4706, 4726, 4742, 4745, 5172, 4758, - 4757, 4759, 4761, 1772, 4760, 4771, 2856, 4772, 1772, 888, - 1772, 4773, 4774, 4775, 4776, 4785, 4788, 4787, 4794, -2829, - 4806, 4807, 4812, 4815, 4831, 4832, 4834, 4732, 4847, 5425, - 3356, 1535, 4099, 4837, 1772, 888, 4848, 3967, 3968, 3969, - 3970, 3971, 3972, 3973, 3974, 3975, 4850, 4851, 4852, 5019, - 4863, 4884, 4889, 4909, 4874, 4895, 4910, 4903, 4922, 4932, - 4915, 4938, 3829, 4949, 4939, 4956, 4916, 4955, 4958, 4960, - 4959, 4962, 4963, 4974, 4968, 4982, 4987, 4989, 4997, 5010, - 5004, 945, 5022, -2171, 945, 2613, 1502, 1536, 5005, 5025, - 5026, 5073, 4796, 5016, 1537, 5230, 5027, 1538, 5031, 5044, - 5059, 5063, 5082, 5066, 4805, 5077, 5086, 5096, 5610, 5099, - 5612, 5101, 5103, 5108, 2050, 5109, 5118, 2051, 5085, -2829, - 5136, 1503, 2040, 5137, 1539, 5147, 5138, 5141, 5148, 5149, - 2483, 2484, 2485, 2486, 2487, 2488, 5168, 5170, 5161, 5174, - 5164, 5183, 5175, 5184, 5191, 5202, 5193, 187, 622, 5192, - 2544, 5205, 5198, 5209, 5210, 5217, 4160, -2829, 1540, 5220, - 1532, 5226, 5225, 5229, 4163, 5233, 1533, 3349, 5235, 5227, - 5239, 3349, 5244, 5249, 945, 945, 5251, 5255, 888, 5256, - 5258, 1639, 1504, 2546, 5260, 945, 5262, 5263, 5264, 5273, - 3099, 5279, 622, 622, 5281, 5288, 5289, 5307, 5716, 5296, - 1532, 5306, 945, 5314, 5330, 5308, 1533, 5300, 5323, 5309, - 5319, 1535, 5329, 5333, 5358, 5330, 5336, 5361, 1505, 5378, - 5355, 1639, 5367, 1641, 5541, 888, 5370, 1542, 4941, 5382, - 888, 622, 622, 5472, 5620, 5742, 5579, 1543, 5381, 5385, - 970, 5386, 622, 5387, 5418, 5398, 1544, 5399, 5403, 3830, - 5409, 1535, 4597, 5392, 1506, 5410, 5440, 4873, 1545, 4246, - 5411, 4248, 5446, 5448, 5451, 1640, 5454, 1536, 5458, 5478, - 5459, 5479, 5483, 5490, 1537, 5488, 5506, 1538, 5374, 5511, - 5525, 5777, 5779, 945, 5622, 5517, 5518, 5519, 5615, 5540, - 5544, 3356, 3356, 5548, 5560, 5562, 1508, -2829, 5566, 887, - 1547, 1548, -2829, 5568, 1539, 1640, 5564, 1536, 5565, 622, - 5581, 5583, 5362, 5598, 1537, 5590, 5591, 1538, 5604, 5635, - 5592, 622, 5640, 5637, 5650, 887, 5644, 5648, 1510, 5395, - 5658, 1549, 5663, 5672, 5676, 5677, 5678, 5679, 1540, -2829, - 5390, 5680, 5689, 5690, 1539, 5691, 5692, 5697, 5699, 622, - 5714, 5715, 622, 5701, 5728, 4310, 5718, 5708, 5738, 762, - 622, 622, 4602, 888, 5741, 5737, 5740, 5753, 622, 622, - 35, 5757, 5776, 622, 5782, 3831, 5785, 622, 1540, 5788, - 622, 622, 4393, 5720, 1513, 622, 5790, 5796, 5792, 5799, - 5800, 622, 1514, 5819, 2551, 5818, 5816, 4332, 5817, 1550, - 2735, 5704, 5826, 1641, 5827, 5833, 5843, 1542, 622, 5844, - 5832, 5856, 1516, 5858, 5849, 622, 5842, 1543, 5865, 5870, - 622, 1517, 5878, 622, 622, 1518, 1544, 5880, 5771, 5887, - 5885, 622, 5786, 5787, 5896, 5895, 5897, 5913, 1545, 5915, - 5933, 5938, 622, 1641, 3832, 5948, 5951, 1542, 5425, 5959, - 622, 5965, 5967, 5986, 5088, 5090, 5992, 1543, 5993, 5783, - 5996, 6005, 6007, 6028, 6008, 6029, 1544, 6030, 6032, 6033, - 622, 5557, 5102, 887, 6055, 6042, 6066, 1642, 1545, 1519, - 1547, 1548, 4127, 3833, 6057, 6058, -2829, 6068, 888, 6075, - 6076, 6070, 6086, 3514, 6081, 6087, 6090, 5942, 5943, 3349, - 6045, 945, 6096, 6103, 6099, 1422, 5513, 3356, 3775, 1529, - 2909, 1643, 1635, 3564, 3356, 4053, 1634, 3642, 3645, 3356, - 1547, 1548, 3356, 4198, 2050, 187, 888, 2051, 4748, 4741, - 5881, -2829, -2829, -2829, 3684, 3732, 2535, 4474, 4344, 5437, - 762, 5770, 4891, 945, 5966, 5489, 4738, 5471, 888, 5208, - 4145, 3643, 5134, 3879, 5872, 945, 5614, 5372, 5962, 5791, - 2544, 5789, 5142, 5894, 5977, 4150, 5237, 2545, 4913, 4942, - 4883, 622, 4921, 5751, 3750, 3751, 4746, 4216, 622, 1550, - 4404, 4908, 5231, 1619, 5477, 4444, -2829, 4966, 5693, 6025, - 945, 6102, 6088, 2546, 5452, 4350, 4950, 2483, 2484, 2485, - 2486, 2487, 2488, 5899, 5397, 5600, 2976, 5759, 5400, 726, - 779, 1045, 4495, 5577, 4983, 6021, 1688, 3779, 4952, 1550, - 4528, 888, 3039, 4136, 3419, 3035, 4461, 5687, 5514, 5609, - 3051, 3068, 3143, 1115, 887, 3144, 1155, 4314, 3682, 4777, - 5919, 4260, 6056, 1114, 4538, 887, 5747, 622, 1367, 4969, - 3709, 2668, 4970, 3364, 1974, 2934, 6071, 5091, 5576, 4669, - 5866, 887, 2556, 622, 813, 2505, 814, 4097, 1772, 4559, - 3203, 4109, 3374, 5861, 5730, 4071, 4637, 5335, 4622, 3224, - 4065, 5547, 5546, 4066, 4670, 6039, 5848, 945, 5949, 2617, - 5719, 2616, 2621, 5771, 622, 5536, 2565, 4571, 5731, 970, - 5732, 3293, 3209, 4028, 3934, 3708, 4026, 2547, 3362, 1418, - 3302, 0, 2548, 0, 0, 0, 5242, 0, 0, 0, - 0, 0, 3349, 0, 0, 0, 0, 3349, 0, 0, - 3349, 0, 0, 0, 0, 5960, 2050, 0, 4099, 2051, - 888, 0, 888, 0, 0, 0, 0, 0, 0, 2550, - 970, 187, 187, 5744, 0, 0, 5394, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5396, 0, 0, - 0, 0, 2544, 945, 0, 0, 0, 0, 0, -2829, - 0, 0, 0, 0, 0, 0, 5537, 0, 0, 0, - 0, 622, 0, 3356, 622, 0, 0, 622, 622, 622, - 0, 5439, 0, 0, 2551, 2546, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, - 5558, 0, 622, 622, 0, 0, 622, 2042, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1114, 0, 0, - 0, 0, 0, 762, 0, 0, 0, 622, 0, 0, - 0, 0, 0, 622, 0, 0, 0, 622, 0, 0, - 0, 6064, 0, 888, 622, 0, 0, 0, 0, 762, - 0, 0, 0, 6079, 5042, 0, 0, 622, 0, 0, - 622, 0, 0, 762, 0, 945, 0, 945, 0, 0, - 0, 622, 0, 5605, 5606, 762, 2553, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 6064, - 0, 0, 5356, 0, 0, 0, 0, 0, 0, -2829, - 0, 0, 0, 0, -2829, 0, 0, 6064, 0, 0, - 620, 888, 945, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 622, 0, 0, 0, 0, 772, 0, 774, - 0, 0, 0, 780, 0, 0, 3356, 0, 794, 802, - 772, -2829, 809, 0, 0, 802, 802, 0, 839, 0, - 842, 1192, 1193, 0, 0, 0, 3356, 896, 896, 896, - 0, 0, 1772, 0, 0, 5609, 0, 622, 6089, 0, - 3356, 0, 0, 0, 0, 0, 2479, 0, 0, 0, - 0, 0, 0, 0, -2829, -2829, -2829, 2483, 2484, 2485, - 2486, 2487, 2488, 187, 0, 0, 2551, 0, 0, 0, - 0, 0, 0, 5476, 5709, 0, 0, 0, 6014, 6015, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5727, 0, 5729, 0, 622, 0, - 0, 888, 0, 0, 5502, 0, 0, 0, 0, 762, - 0, 0, 2652, 0, 0, 184, 191, 71, 186, 180, - 175, 80, 83, 181, 0, 183, 0, 84, 4894, 85, - 622, 86, 106, 124, 622, 129, 622, 900, 159, 0, - 178, 0, 185, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1114, 0, 0, 0, 622, 0, -2829, 622, - 0, 1532, 762, 0, 0, 0, 0, 1533, 0, 0, - 622, 620, 925, 925, 0, 0, 925, 622, 0, 2652, - 936, 0, 839, 0, 0, 972, 0, 0, 936, 0, - 0, 936, 0, 0, 839, 0, 925, 3356, 0, 839, - 0, 0, 0, 925, 0, 839, 0, 5504, 0, 0, - 0, 0, 1535, 0, 3349, 0, 0, 0, 0, 0, - 887, 0, 0, 0, 970, 0, 0, 888, 0, 0, - 0, 0, 888, 888, 0, 0, 0, 622, 0, 0, - 0, 0, 0, 622, 622, 945, 0, 0, 0, 0, - 0, 0, 0, 887, 0, 3356, 0, 0, -2829, 945, - 0, 0, 0, 0, 0, 0, 0, 0, 1536, 2483, - 2484, 2485, 2486, 2487, 2488, 1537, 0, 0, 1538, 622, - 0, 0, 0, 0, 0, 0, 0, 622, 0, 0, - 1772, 0, 0, 0, 0, 0, 0, 3376, 0, 0, - 0, 0, 0, 0, 0, 1539, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 622, 0, 0, 0, 619, - 0, 0, 0, 0, 0, 0, 0, 5666, 0, 0, - 0, 0, 0, 1688, 1688, 1688, 0, 0, 0, 1540, - 0, 0, 0, 0, 888, 888, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 622, 0, - 187, 0, 0, 0, 622, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 622, 1772, 0, 0, 888, - 0, 0, 0, 762, 622, 0, 622, 0, 622, 762, - 0, 187, 5877, 762, 1641, 622, 0, 0, 1542, 0, - 0, 0, 5734, 0, 3356, 187, 0, 0, 1543, 0, - 0, 0, 0, 0, 0, 0, 622, 1544, 0, 0, - 5158, 5159, 0, 0, 0, 5162, 5163, 0, 5122, 1545, - 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, - 0, 1772, 0, 945, 0, 887, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 887, 0, 0, 5926, 5927, 5144, 0, 1669, 0, - 0, 1547, 1548, 0, 2040, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5160, 6013, - 0, 0, 0, 0, 3356, 0, 622, 0, 0, 0, - 923, 0, 1670, 1502, 0, 0, 0, 0, 0, 935, - 0, 0, 0, 0, 887, 0, 0, 935, 0, 0, - 935, 0, 0, 0, 0, 0, 0, 0, 0, 887, - 0, 0, 887, 887, 622, 622, 622, 0, 1503, 0, - 0, 0, 622, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 622, 0, 0, 0, 0, 0, 0, 0, - 0, 5188, 622, 887, 887, 945, 0, 0, 0, 0, - 1550, 0, 0, 0, 0, 0, 0, 0, 622, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 945, 0, 0, 6082, 3356, 0, 1024, 0, 1504, - 0, 0, 0, 839, 0, 925, 0, 925, 0, 0, - 925, 0, 3349, 0, 187, 0, 0, 972, 0, 0, - 0, 0, 1082, 0, 925, 0, 0, 0, 0, 0, - 925, 0, 622, 0, 5900, 1505, 0, 0, 0, 0, - 0, 0, 622, 0, 0, 0, 0, 0, 0, 0, - 622, 622, 0, 0, 620, 0, 622, 191, 622, 5924, - 5921, 0, 0, 936, 5922, 1688, 5923, 972, 1688, 0, - 936, 1506, 0, 936, 622, 622, 0, 0, 0, 0, - 0, 0, 5272, 0, 0, 0, 0, 0, 0, 925, - 0, 0, 0, 2050, 0, 887, 2051, 0, 0, 187, - 0, 5991, 0, 0, 0, 0, 0, 0, 945, 1507, - 0, 0, 0, 1508, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 6097, 6098, 0, 0, 0, 2544, - 0, 622, 0, 0, 0, 0, -2829, 622, 0, 0, - 0, 3356, 839, 0, 1509, 1510, 0, 0, 0, 191, - 0, 5924, 5921, 0, 0, 622, 5922, 1221, 5923, 0, - 0, 0, 2546, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 622, 0, 1337, 1337, 0, - 839, 802, 0, 1511, 0, 802, 0, 35, 0, 622, - 0, 0, 1512, 0, 0, 0, 0, 0, 0, 839, - -2828, 1513, 0, 4310, 839, 762, 0, 0, 0, 1514, - 1337, 0, 0, 0, 0, 0, 0, 1515, 0, 0, - 622, 0, 0, 0, 0, 0, 0, 622, 0, 1516, - 3356, 0, 0, 0, 0, 1532, 3356, 0, 1517, 0, - 0, 1533, 1518, 0, 3244, 0, 0, 622, 0, 0, - 0, 0, 0, 0, 1772, 1337, 1534, 0, 0, 191, - -2609, 5924, 5921, 0, 0, 0, 5922, 0, 5923, 839, - 0, 0, 0, 0, 0, 0, -2829, 0, 0, 0, - 0, -2829, 839, 0, 0, 0, 1535, 3203, 3203, 622, - 622, 0, 3203, 0, 622, 0, 1519, 839, 622, -2828, - 0, 0, 1772, 0, 0, 0, 0, 0, 0, 0, - 622, 622, 0, 0, 0, 0, 839, 0, -2829, 0, - 1772, 925, 925, 0, 0, 0, 0, 0, 0, 0, - 0, 187, 0, 3203, 3203, 0, 0, 0, 0, 0, - 924, 926, 1536, 0, 929, 0, 3356, 0, 0, 1537, - -2828, 0, 1538, 802, 802, 0, 187, 0, 0, -2609, - 0, 0, 0, -2828, 987, 0, 0, 0, 0, -2828, - 0, 997, 0, 2551, -2828, 0, 1337, 1337, 0, 1539, - -2828, 0, 0, -2828, 0, 0, 0, -2828, 0, 620, - 0, 925, 0, 923, 0, 936, 0, 0, 972, 936, - 0, 936, 935, 0, 0, 0, 925, 0, 0, 935, - -2609, 0, 935, 1540, 0, 0, -2828, 0, -2828, 0, - 0, 0, 0, -2609, 0, 0, 0, 0, 0, -2609, - 839, 0, 0, 0, -2609, 0, -2828, 925, 925, 0, - -2609, 0, 0, -2609, 0, 0, 0, -2609, 5990, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 839, 839, - 839, 0, 925, 0, 620, -2829, 620, 620, 0, 0, - 0, 0, 0, 0, 0, 0, -2609, 0, 1541, 0, - 0, 0, 1542, 762, 0, -2828, 0, 0, -2828, 0, - 0, 0, 1543, 0, -2828, 0, -2609, 0, 0, 0, - 925, 1544, 925, 925, 0, 0, 0, 0, 0, 1532, - 0, 0, 0, 1545, 0, 1533, 0, 1980, 0, 0, - 0, 0, 1980, 1980, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1337, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -2609, 1688, 0, -2609, 0, - 0, -2828, 1546, 0, -2609, 1547, 1548, 0, 187, 0, - 1535, 1954, 0, 1954, 0, -2829, 0, 839, 0, 772, - 0, 0, 0, 0, 0, 0, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 839, 0, 0, 1549, 0, 0, 1989, - 0, 0, 839, 0, 0, 1995, 0, 0, 0, 0, - 0, 0, 0, 3245, 0, 0, 0, 0, 0, 1337, - 0, -2609, 0, 0, 0, 0, 1536, 0, 0, 0, - 0, 0, 0, 1537, 0, 0, 1538, 0, 0, 0, - 0, 0, 0, 0, -2828, 5688, 0, 0, 0, 0, - 1337, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1539, 1550, 0, 0, 0, -2828, 0, - -2828, -2828, 0, 0, 0, 0, 777, 5768, 1337, 1337, - 1337, 0, 1337, 0, 0, 1532, 0, 0, 0, 5724, - 0, 1533, 0, 0, 0, -2625, 3415, 1540, 1599, 0, - 2652, 3421, 1337, 0, -2609, 0, 0, 0, 0, 0, - 0, 0, 0, -2828, 0, -2828, -2828, 0, 0, 0, - 1600, 0, 0, 0, 0, 0, 0, 0, -2609, 0, - -2609, -2609, 0, 0, 0, 0, 1535, 0, 923, 0, - 0, 0, 839, 0, 935, 0, 0, 0, 935, 0, - 935, 0, 0, 0, 0, 0, 0, 0, 887, 0, - 1337, 0, 1641, 0, 887, 0, 1542, 0, 0, 0, - -2609, 1601, 0, -2609, -2609, -2609, 1543, 0, 0, 0, - 0, 0, 0, 0, 0, 1544, 0, 0, 0, 0, - 0, 0, 1536, 1056, -2625, 1059, 0, 1545, 1061, 1537, - 0, 0, 1538, 0, 0, 887, 1337, 0, 0, 0, - 1337, 1337, 1086, 1865, 0, 1867, 1868, 0, 1090, 0, - 0, 839, 839, 839, 2631, 0, 1337, 0, 0, 1539, - 0, 0, 0, 0, 0, 0, 2715, 0, 0, 1547, - 1548, 0, 0, 0, 0, -2625, 0, 0, 0, 802, - 0, 0, 0, 0, 0, 0, 0, 0, -2625, 0, - 1602, 0, 0, 1540, -2625, 0, 0, 0, 0, -2625, - 2716, 0, 0, 0, 0, -2625, 0, 0, -2625, 0, - 0, 0, -2625, 0, 2723, 0, 0, 0, 0, 802, - 0, 0, 925, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 839, 2751, 0, 0, 1603, - 0, -2625, 0, 1604, 839, 0, 0, 925, 0, 0, - 0, 0, 0, 0, 0, 0, 1502, 0, 1605, 0, - 0, -2625, 1542, 0, 0, 0, 0, 0, 1550, 0, - 0, 0, 1543, 0, 972, 0, 839, 0, 0, 802, - 0, 1544, 2819, 2819, 0, 0, 2819, 0, 0, 0, - 0, 1503, 1606, 1545, 0, 0, 802, 0, 0, 839, - 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, - -2625, 0, 1688, -2625, 0, 0, 0, 0, 0, -2625, - 0, 0, 0, 0, 925, 0, 0, 0, 0, 0, - 0, 0, 1607, 0, 0, 1547, 1548, 1608, 0, 0, - 0, 0, 839, 0, 887, 0, 0, 0, 0, 0, - 0, 0, 1504, 0, 925, 925, 925, 925, 839, 0, - 1609, 0, 0, 0, 0, 0, 1610, 0, 0, 0, - 0, 0, 839, 0, 0, 0, -2625, 0, 0, 0, - 1611, 0, 0, 1337, 1337, 1337, 0, 0, 1505, 3203, - 3203, 3203, 3203, 0, 0, 3203, 3203, 3203, 3203, 3203, - 3203, 3203, 3203, 3203, 3203, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2652, 0, 0, - 0, 2652, 0, 4567, 1506, 0, 943, 0, 6062, 0, - 0, 777, 0, 0, 1550, 979, 0, 0, 0, 1564, - 1565, 0, 0, 0, 0, 0, 0, 0, 0, 1001, - 0, 0, 0, 3203, 3203, 0, 0, 0, 0, -2625, - 0, 0, 1507, 0, 0, 0, 1508, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 6062, 0, 0, 0, - 0, 839, 688, -2625, 0, -2625, -2625, 0, 0, 0, - 0, 776, 839, 0, 6062, 0, 4626, 1573, 1510, 0, - 925, 925, 0, 0, 0, 0, 0, 0, 0, 1791, - 0, 0, 0, 0, 0, 0, 925, 0, 0, 0, - 0, 0, 0, 887, 1803, -2625, 0, 0, -2625, -2625, - -2625, 0, 0, 0, 839, 2819, 1574, 0, 887, 0, - 35, 0, 0, 887, 0, 1512, 0, 0, 0, 0, - 925, 925, 925, 925, 1513, 1825, 1826, 0, 0, 839, - 0, 0, 1514, 0, 0, 0, 839, 0, 0, 0, - 1575, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1863, 0, 1516, 620, 0, 0, 620, 0, 0, 0, - 0, 1517, 0, 0, 0, 1518, 936, 936, 0, 0, + 650, 71, 80, 83, 84, 175, 85, 86, 106, 926, + 184, 124, 129, 159, 960, 178, 185, 802, 1102, 804, + 1734, 191, 1001, 810, 996, 1006, 766, 995, 818, 826, + 830, 1831, 833, 1661, 1048, 826, 826, 1389, 863, 657, + 866, 1491, 191, 2002, 1948, 1714, 708, 922, 922, 922, + 1377, 793, 2954, 937, 1228, 1229, 1230, 793, 180, 2876, + 1234, 181, 1477, 1442, 1479, 2847, 3647, 1825, 1666, 2742, + 1433, 1434, 183, 1462, 186, 1418, 1726, 3524, 828, 3249, + 1441, 2833, 3525, 3894, 1891, 1194, 2846, 1142, 1234, 2050, + 2042, 4053, 1140, 948, 864, 1417, 1004, 2859, 3111, 3977, + 4222, 3265, 4224, 1405, 1448, 1864, 4447, 1201, 4289, 1869, + 1026, 1510, 2034, 3240, 1873, 4862, 2036, 1175, 3301, 2037, + 2038, 4621, 3023, 3305, 1883, 2915, 2915, 3807, 4341, 2915, + 4369, 1188, 4373, 4595, 1048, 800, 2742, 4397, 1903, 4399, + 3916, 4608, 4544, 4877, 1069, 860, 4926, 4264, 829, 4303, + 5299, 4896, 3357, 3775, 3359, 939, 4646, 1202, 2674, 940, + 931, 2984, 2985, 1185, 5543, 3130, 1820, 5134, 5103, 1937, + 3178, 3550, 3552, 2824, 5142, 3289, 3293, 3296, 3297, 5163, + 3925, 3306, 5616, 3308, 3309, 5641, 5152, 1048, 5237, 232, + 5238, 650, 951, 951, 1573, 4965, 951, 4194, 5492, 5716, + 962, 5311, 863, 5313, 2980, 998, 823, 1601, 962, 1660, + 5151, 962, 3431, 857, 863, 1142, 951, 3433, 1692, 863, + 1397, 4278, 3443, 951, 3516, 863, 875, 3519, 1719, 5460, + 5755, 3012, 1623, 2824, 5499, 4309, 4091, 1640, 5768, 4605, + 1048, 649, 1484, 4191, 4247, 5488, 5365, 775, -2577, 1487, + 2824, 775, -2619, 5961, -2645, -2686, 2804, 4093, 1173, 714, + 4127, 1177, -1980, 1876, 849, 3913, 1899, 4104, -1980, 3495, + 2991, 5633, 4631, 3853, 2877, 3856, 3857, 5491, 3325, 1900, + 3861, 3862, 3863, 1417, 3865, 3866, 3867, 1568, 5257, 3245, + 2877, -1947, 5713, -1960, 714, 6153, 4180, -1947, -1985, -1960, + 4302, -2465, 1048, 1532, -1985, 3368, 2633, -2465, 3489, 6000, + -2465, -2465, 4262, 775, 4267, 4268, 1861, 5949, -2425, 1423, + 667, 1430, 1431, 648, -2425, 3834, 1019, 5669, 1568, 5343, + 6146, 3490, 1440, 1568, -2005, -2498, 5679, 5680, 2997, 1856, + -2005, 2850, -2466, 5885, 1605, 1129, 775, -1975, -2466, -2874, + 2994, -2466, -2466, -1975, 5021, -2874, -2581, -1988, -2874, -2874, + 946, 5707, 3275, -1988, 714, 714, 1209, 775, 1260, 714, + 2108, 3276, 714, 2762, -1988, 2596, 1930, 5800, 2596, 3108, + -1988, 2915, 4560, 2610, 867, 1602, 714, 1213, 3223, 6148, + 4055, 775, 2611, 2593, -1919, 2113, 1602, 4641, 680, 1031, + 714, 3207, 775, 4041, 714, 5911, 4451, 5913, 1031, 4337, + 1393, 5917, 5918, 5164, 1833, 4043, 5032, 3463, 1533, 1142, + 5327, 3366, 5705, 5791, 3769, 6240, 6241, 781, 2787, 2639, + 2850, 781, 949, 781, 781, 6307, 1930, 3342, 1930, 2788, + 6158, 961, 1825, 934, 2685, 1726, 6134, 5921, 1930, 961, + 1878, 782, 961, 5632, 5254, 782, -2250, 782, 782, 6424, + 2900, 6126, 2641, -2250, 4983, 2819, 665, -2642, 3368, 5646, + 3466, -150, 682, 2679, 3571, 5453, 3277, -150, 1433, 1434, + 3521, 3141, -624, 1232, 1540, 1930, 5822, 5113, 1480, 1930, + 2681, 6065, 3821, 3410, 6414, 3464, 996, 5963, 1704, 5982, + 3411, 1913, 2612, 1032, 3142, 5371, 661, 194, -2269, 3086, + 1441, 4471, 1032, 2878, 781, -2269, 5362, 4293, 5211, 5212, + 5213, 2113, 5215, 5216, 5217, 5218, 5219, 1901, 2908, 2878, + 6453, 2850, 6114, 4094, 1930, 781, 2850, 5756, 782, 5996, + 1448, 664, 2850, 4105, 6465, 2932, 996, 6452, 1930, 5983, + 1956, 1902, 195, 2850, 3278, 2639, 4294, 5823, 662, 782, + 4181, 1096, 4472, 2850, 2820, 2978, 3572, 1106, 6066, 1033, + 5882, 5255, 194, 4127, 1233, 4467, 1482, 941, 1033, 1120, + 2850, 4474, 2634, 5114, 3109, 2105, 2113, 1820, 2641, 1946, + 5997, 1456, 3522, 3087, 3343, 4984, 5454, 4127, 1825, 1541, + 714, 1986, 1534, 888, 5922, 2901, 2781, 3822, 6159, 3367, + 5792, 2023, 6308, 5033, 6296, 2599, 1456, 195, 6363, 2789, + 2639, 1271, 2033, 6242, 4127, 2677, 4592, 899, 4128, 4129, + 4130, 1034, 3279, 6135, 5744, 3280, 4071, 1142, 2613, 2043, + 1034, 5801, 2047, 715, 1535, 5328, 4182, 2860, 1983, 4532, + 2676, 5834, 4042, 2641, 693, 2951, 694, 1051, 3223, 5597, + 3590, 2790, -448, 863, 4044, 951, 3027, 951, 942, 4544, + 951, 3143, 1862, 2949, 5115, 4632, 2952, 998, 1079, 1536, + 5344, 5920, 1109, 698, 951, 1931, 3208, 2879, 3223, 191, + 951, 3369, 2026, 4452, 3224, 4338, 3223, 5000, 6139, 2992, + 5708, 3835, 6125, 2879, 1134, 1612, 958, 3011, 2594, 3021, + 3022, 6053, 4561, 3065, 650, 926, 6058, 6059, 2880, 4642, + 1430, 1431, 6383, 962, 2959, 5333, 1076, 998, 1233, 1077, + 962, 3489, 6312, 962, 2880, 4183, -2642, 2998, 1428, 868, + 1078, 1946, 1080, 2881, 6464, 1931, 2809, 1931, 2027, 951, + 1233, 1205, 1537, 3281, 3490, 2652, 6470, 1931, 1440, 2881, + 3261, 1862, 787, 788, 3110, 3020, 6001, 2999, 2877, 5561, + 2615, 1263, 1142, 4095, 3460, 2628, 2628, 2608, 4142, 2995, + 1142, 1142, 191, 4106, 2875, 5112, -2577, 6147, 3436, 2921, + -2619, -1980, -2645, -2686, 1931, 5956, 3619, 2719, 1931, 668, + 2875, 2104, 863, 1492, 2720, 1206, 2708, 1211, 2893, 1215, + 6311, 1253, 6362, -2642, 2938, 1219, 6079, 5159, 5007, 3196, + 1432, 1222, 1436, 1725, 5011, -2642, 5160, -1985, 787, 788, + -2465, 1383, 1383, 5372, 863, 826, 3028, 4132, -2250, 826, + 2894, 2972, 2973, 1931, 5381, 1039, 6149, -2425, 4932, 1040, + 1932, 5959, 5116, 863, 4198, 3180, 6234, 1931, 863, 6395, + 1542, 787, 788, 2065, 1383, 6244, 1843, 1443, 1444, 3282, + 1848, -2466, 1849, -2498, 996, 3412, -1975, 1847, -2874, 2657, + 2658, 2655, 787, 788, 1443, 1444, 1445, 4544, 3206, 6263, + -2269, 939, 6097, 2109, -2581, 940, 2828, 3704, 2597, 1703, + 3221, 6411, 4505, 1447, 4264, 1704, 1603, 1604, 4912, 1236, + 1939, 1383, 1943, 2581, 4737, 4738, 2811, 1603, 1604, 2979, + 2877, 944, 1954, 4133, 6294, 863, 2818, 5117, 1543, 4468, + 71, 80, 83, 84, 175, 85, 86, 106, 863, 184, + 124, 129, 159, 2877, 178, 185, 4970, 2728, 1838, 2828, + 191, 2902, 5868, 863, 1525, 949, 4462, 4463, 1632, 1976, + 2782, 4464, 5998, 1979, 961, 1236, 2828, 6199, 4605, 1039, + 4586, 961, 863, 1040, 961, 4742, 6314, 951, 951, 4311, + 3267, 4312, 1633, 2680, 2861, 4305, 4593, 180, 3064, 6210, + 181, 1039, -150, -150, 4593, 1040, 5999, 3591, 2862, 4801, + 2863, 183, 4886, 186, 6118, 1862, 5071, 2878, 1946, 826, + 826, 1946, 5075, 2939, 1705, 4524, 4525, 2942, 2943, 4842, + 3230, 6417, 4683, 4846, 2803, 3516, 959, 4283, 2027, 3054, + 5530, 4229, 1383, 1383, 4723, 6124, 2578, 2579, 2580, 2581, + 5743, 4686, 3082, 5074, 4104, 1496, 650, 1424, 951, 4683, + 2877, 3300, 962, 6361, 1092, 998, 962, 1128, 962, 1880, + 1547, 6317, 6318, 951, 1392, 1156, 2864, 6106, 1402, 4832, + 3791, 4834, 4835, 6156, 3395, 2681, 3792, 3884, 714, 6188, + 5749, 3981, 1930, 6117, 714, 2971, 6269, 863, 4139, 4140, + 4141, 4142, 1224, 4519, 951, 951, 4584, 3686, 5872, 2576, + 2577, 2578, 2579, 2580, 2581, 3736, 3489, -1947, 6190, 3489, + 4137, 4138, 4139, 4140, 4141, 4142, 863, 863, 863, 6191, + 951, 1129, 650, 6302, 650, 650, 6295, 1452, 714, 3490, + 1825, 2783, 3490, 2981, 4134, 4135, 4136, 4137, 4138, 4139, + 4140, 4141, 4142, 709, 4926, 1614, 6428, 5414, 5843, 4342, + 5514, 941, 3231, 6352, 4306, 3687, 4998, 3489, 951, 2878, + 951, 951, 1624, 6235, 3610, 3489, 5818, 3696, 3124, 3664, + 5183, 5415, 3982, 5652, 5128, 4093, 3241, 6025, 3416, 2877, + 3490, 2879, 2878, 2838, 6397, 3793, 823, 1684, 3490, 3719, + -1947, 3885, 2113, 1383, 3641, 3737, 6418, 4647, 1706, 1048, + 6243, 1094, 3120, 1095, 3872, 1453, 3, 4, 1130, 6221, + 1261, 3042, 2880, -1780, 3218, 3219, 803, 2877, 3396, 2004, + 1923, 2004, 1615, 3397, 979, 863, 191, 802, 932, 3121, + 1015, 980, 981, 982, 1924, 3665, 6098, 2881, 5813, 1988, + 1707, 1990, 942, 1992, 934, 1994, 2877, 1996, 1997, 1998, + 3738, 2040, 2918, 863, 2000, 2922, -1099, 2046, 4425, 2641, + 3365, 1016, 1407, 3611, 4359, 5762, 1698, 1946, 1862, 3720, + 3688, 1383, 760, 5763, 3398, 1708, 6024, 1625, 2875, 2064, + 1225, 6296, 6442, 1454, 2842, 3013, 1455, 949, 4648, 2878, + 2877, 1925, 15, 961, 943, 5942, 933, 961, 3055, 961, + -2421, 1154, 5945, 2784, 2877, 926, 3549, 3182, 3621, 1699, + 4541, 5953, 3739, 1383, 5955, 5490, 6319, 5543, 5093, 5941, + 4105, 3620, 5970, 1922, 3159, 5958, 6350, 1154, 3417, 20, + 6056, 5819, 6337, 2879, 2105, 3914, 3205, 6297, 3171, 5484, + 3210, 5478, 1383, 1383, 1383, 3217, 1383, 3639, 3220, 5957, + 3155, 3177, 5509, 1210, 1212, 1214, 2879, 4111, 1216, 1217, + 1218, 5991, 5820, 1915, 2880, 1917, 1918, 1383, 1223, 3794, + 5543, 2957, 3472, 4426, 1093, 4084, 1131, 3849, 1881, 5339, + 3232, 3189, 3176, 714, -1947, 1157, 6360, 2880, 6271, 2881, + 934, 1931, 3299, 3299, -1780, 1926, 3697, 6367, 3528, 2785, + 4638, 3233, 3886, 5356, 1456, 3705, 2637, 3326, 863, 1514, + 3983, 3795, 2881, 5461, 1132, 3706, 3347, 3316, 2878, 5515, + 3844, 5208, 4342, 6174, 1514, 3984, 1383, 3200, 3399, 996, + 2875, 3873, 1227, 3122, 6222, 3740, 6396, 4123, 807, 2824, + 2686, 2687, 4927, 2691, 940, 940, 3796, 940, 3689, 710, + 3614, 4094, 6192, 2875, 2844, 2772, 2878, 5764, 5864, 5814, + 5416, 1626, 5462, 2879, 3157, 5858, 4649, 3837, 1927, 6426, + 4375, 6272, 1383, 4688, 6252, 2773, 1383, 1383, 1133, 3170, + 1134, 4227, 3172, 6279, 1135, 2878, 5094, 863, 863, 863, + 2726, 5929, 1383, 5332, 2880, 944, 3887, 6002, 3262, 1515, + 3264, 6443, 5300, 1627, 1700, 5723, 3271, 3081, 2954, 6108, + 711, 1499, 3286, 3287, 1515, 826, 4124, 4125, 6223, 2881, + 1457, 4144, 3943, 1039, 3310, 3072, 4276, 1040, 3260, 2878, + 3448, 1408, 3209, 4978, 3330, 32, 3215, 3216, 1628, 935, + 3345, 4650, 6175, 2878, 4460, 1458, 3077, 6224, 1452, 3554, + 2815, 5139, 712, 1516, 713, 826, 3449, 4427, 951, 5724, + 2875, 5457, 5725, 4175, 4176, 6003, 3741, 40, 1516, 5726, + 1928, 863, 2849, 6273, 3742, 2845, 4870, 3743, 5140, 3432, + 863, 1271, 4470, 951, 4127, 4376, -1124, 6252, 4128, 4129, + 4130, 5479, 2879, -1947, 1496, 3201, 1496, 5727, 5173, 4428, + 3529, -1947, 2772, 1432, -1947, 1461, 44, -1947, 1409, 5303, + 998, 4507, 863, 1895, 5307, 826, 1701, 5309, 2917, 2917, + 1257, 4689, 2917, 2880, 1825, 1965, 1453, 5758, 5854, 3202, + 2879, 1525, 826, 1842, 4429, 863, 1525, 6044, 863, 3120, + 1723, 5930, 5759, 3203, 1851, 5101, 3966, 4544, 2881, 4574, + 48, 6257, -1781, 3610, 761, 4914, 1896, 5728, 5757, 2879, + 1859, 2880, 951, 49, 4979, 1540, 3121, 1517, 1966, 4972, + 5729, 3078, 40, 3925, 813, 2774, 680, 5748, 5139, 6233, + 863, 3204, 1517, 5730, 3623, 2089, 2881, 50, 5621, 2875, + 2880, 4284, 951, 951, 951, 951, 863, 2742, 5668, 1031, + -1097, 2742, 1629, 2879, 1454, 5140, 762, 1455, 6252, 6055, + 863, 44, 1525, 3000, 6176, 2881, 1525, 2879, 2777, 6177, + 5931, 1383, 1383, 1383, 3744, 4696, 4888, 2875, 6274, 3073, + 831, 1500, 2761, 814, 2880, 5088, 5133, 985, 986, 987, + 988, 989, 990, 991, 992, 993, 2778, 1518, 2880, 3569, + 682, 3158, 3611, 5065, 6178, 48, 2875, 1590, 5069, 2881, + 40, 3610, 2692, 4690, 6257, 2695, 996, 996, 49, 3555, + 3168, 4865, 3556, 2881, 4131, 4980, -711, 5092, 5130, 2766, + 1541, 1987, 5141, 3624, 1989, 1519, 1991, 2975, 1993, 1520, + 1995, 2767, 50, 35, 1999, 2944, 6310, 4132, 6195, 44, + 2875, 1820, 1039, 1032, 5855, 3744, 1040, 684, 4753, 2768, + 4754, 3530, 1246, 2696, 2875, 4377, 4378, 2030, 3226, -1704, + 863, 5881, 2774, 1074, 1521, 1456, 1724, 2778, 3151, 40, + 6168, 863, -1704, -1781, 1946, 4045, 194, 4541, -1704, 951, + 951, 4575, 5760, 48, 1522, 1271, 4379, 1523, 4127, 5102, + 6340, 1897, -3001, -3001, -3001, 951, 49, 3646, 3001, 1522, + 3611, 6341, 1523, 1967, 858, 4996, 4942, -2449, 44, 1033, + 5472, -175, 4285, 863, 2917, 6359, 2695, 2693, 6196, 2697, + 50, 195, 815, 4133, 3489, 6257, 4898, -1704, 3489, 951, + 951, 951, 951, 6203, 5731, 996, 3612, 5732, 863, 56, + 4697, 4943, -175, 5678, 1247, 863, 1442, 3490, 3131, 6112, + 5089, 3490, 48, 1524, 3520, 1198, 5297, 5566, 2779, 3227, + -1704, 4046, 5962, 650, 2696, 49, 650, 1553, 4889, 2698, + 5536, 1034, 693, 4863, 694, 4890, 962, 962, 3613, 3614, + 835, 1457, 4891, 5948, 1590, -1124, 3797, 998, 998, 50, + 2945, 962, 4866, 5537, 962, 2946, 1663, 1946, 697, 5538, + 3755, 1877, 5969, 1898, 1474, 4755, 3198, 2850, 56, 951, + 951, -1704, 834, 5539, 4899, 1968, 951, 2867, 863, 2851, + 4892, -1704, 1826, 870, 2769, 1827, 3198, 1404, 3798, 1264, + 5651, 1632, 3646, 3489, 2699, 2004, 1480, 3198, 1664, 4944, + 5567, 3693, 951, 4893, 962, 3805, 191, 3214, 962, 962, + 4864, 863, 863, 2868, 951, 1633, 3490, 3508, 3190, 3292, + 3191, 863, 3192, 3799, 3193, 5675, 3194, 3717, 863, 6321, + 3195, 863, 3131, 5790, 5683, 802, 3636, 4354, 802, 3251, + 2698, 3999, 1079, 1383, 2601, 1383, 836, 3614, 5528, 5676, + 1383, 1383, 4900, 191, 4365, 4541, 4901, 1383, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, + 1475, 4687, 1979, 1383, 5593, 1383, 998, 1383, 1383, 1383, + 1383, 1383, 1383, 3246, 1482, 1383, 1248, 1383, 1383, 4699, + 1076, 1383, 4465, 1077, 4134, 4135, 4136, 4137, 4138, 4139, + 4140, 4141, 4142, 3451, 1078, 2699, 1080, 5540, 1383, 1383, + 1383, 2742, 5459, 4968, 1665, 4355, 5086, 6381, 2602, 4711, + 5340, 2742, 6116, 3838, 3839, 3840, 1383, 3717, 3235, 1249, + -1704, 1250, 3570, 6289, 3498, 1483, 3754, 1142, 680, 1408, + 4724, 4353, 760, 6440, 6463, 4728, 2954, 4133, 3800, 3731, + 6399, 5483, 6115, 6133, 3801, 1862, 3250, 928, 6290, 4736, + 5689, 6472, 15, 187, 949, 6454, 951, 949, 3492, 3666, + 4466, 3993, 4171, 3729, 3781, 3730, 5470, 961, 961, 5627, + 5940, 5629, 5779, 2112, 187, 1204, 2113, 6434, 2898, 3802, + 5087, 4969, 961, 3882, 5341, 961, 2742, 2113, 1039, 20, + 4545, 1466, 1040, 946, 29, 4727, 3925, 5690, 4669, 3828, + 4732, 4733, 682, 1694, 3633, 2855, 1409, 2856, 4305, 925, + 2639, 3806, 1881, 3489, 3489, 3499, 6140, -3001, 1257, 2915, + 3844, 2639, 5691, 661, 1271, 3667, 4514, 4127, 1245, 1881, + 35, 4128, 4129, 4130, 929, 961, 3490, 3490, 4548, 961, + 961, 5692, 5973, 2641, 5441, 1695, 5693, 2925, 4682, 1696, + 6141, 4794, 2928, 5541, 2641, 3929, 3930, 3931, 3932, 3728, + 3934, 2924, 3803, 1383, 5449, 5542, 5451, 2619, 5694, -1704, + 1672, 945, 5695, 2857, 6236, 930, 1979, 6422, 5442, 6425, + 1697, 1419, -1704, 4469, 3772, 3962, 3773, 5696, -1704, 5432, + 3777, 5433, 5434, 5435, 40, 4683, 5990, 3804, 3756, 4550, + 5373, 1121, 4829, 3376, -474, 3377, 3759, 954, 5379, 3762, + 2620, 4898, 4749, 4750, 4751, 4752, 5952, 1383, 4756, 4757, + 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 3003, 5914, + 4506, 3378, 3009, 44, 5915, 2963, 1673, -1704, 1122, 4831, + 4037, 6466, 2944, 1469, 938, 5675, 956, 4308, -3001, -3001, + -3001, 4137, 4138, 4139, 4140, 4141, 4142, 4378, 1400, 5919, + 6132, -3001, 1506, 977, 4254, 2964, -3001, 4254, 40, 5676, + -1704, 1121, 6342, 1383, 4545, 3955, 1123, 48, 1674, 781, + 4546, 2605, 4805, 4806, 693, 1675, 694, 4956, 5916, 1676, + 49, 6313, 1979, 5697, 4547, 32, 3379, 6343, 4927, 4899, + 1507, 4255, 2867, 782, 1508, 3037, 4617, 44, 1122, 1098, + 5445, 1099, 1480, 1877, 50, 4553, 3048, -3001, 1481, 6201, + 1632, -1704, 4548, 3917, 4549, 1632, 1124, 40, 1642, -474, + 4927, -1704, 3066, 56, -1437, 4256, -1437, 978, 2868, 1509, + 4132, 6323, 4255, 1501, 1633, 4255, 4587, 5698, 1511, 1633, + 4848, 48, 3380, 3381, 3382, 3383, 1669, 3489, 1973, 3384, + 3385, 4554, 4161, -150, 3489, 3386, 44, 4422, 4168, 3489, + 1643, 1645, 3489, 4258, 3014, 2646, 4256, 4900, 4555, 4256, + 3490, 4901, 1974, 4550, 5034, 1502, 3140, 3490, 5083, 6435, + 1512, 4257, 3490, 1646, 4257, 3490, 1124, 2945, 1670, 5051, + 1482, 3152, 2946, 1021, 1154, 3156, 3016, 56, 5035, 4423, + 48, 6043, 4551, 2105, 4258, 5084, 3015, 4258, 3083, 3017, + 1503, 1030, 5052, 49, 4223, 1513, 4133, 4025, 5856, 3736, + 6205, 6206, 6436, 1671, 4067, 3175, 1154, 1038, 3113, 2650, + 2850, 4407, 233, 4259, 4424, 1647, 4259, 50, 666, 3018, + 1082, 1483, 2858, 4408, 3900, 5857, 758, 1383, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 56, 1383, 4026, 1677, + 1985, -3001, 4927, 1827, 832, 4878, 40, 863, 1383, 5675, + -1704, 1383, 4556, -1751, 714, 5783, 1635, 4068, 863, -1751, + 1398, 1645, 4069, 6427, 4552, 3600, -1951, 3604, 3605, 4553, + 4260, 996, -1951, 5676, 3603, 1711, 1084, 1678, 1715, 5784, + -1958, 1679, 5884, 1646, 1089, 44, -1958, 5888, 5889, 3737, + 863, 3387, 1383, 4315, 2035, 951, 1383, 1827, 1432, 1383, + 2675, 1383, 3444, 3388, 1383, 3326, 3326, 1648, 1383, 1117, + 3326, 4260, 4475, -1948, 4260, 4554, 1680, 2636, 1039, -1948, + 1827, 5297, 1040, 1681, 4234, 4235, 5685, -1949, 1103, 48, + -1952, 3491, 4555, -1949, 4343, 1647, -1952, 863, 863, -1950, + -623, -1751, 49, 6300, 3738, -1950, 4254, -3001, 1383, 3360, + 3597, 4225, 3326, 3326, 1443, 1444, 1125, 1383, 1383, 2576, + 2577, 2578, 2579, 2580, 2581, 1649, 50, 4310, 1126, 4383, + 1650, 863, 714, 1445, 3632, 1651, 1443, 1444, 2106, 3535, + 5200, 3540, 2886, 4271, 2887, 56, 6438, 4196, 775, 6441, + 775, 2953, -1751, 5974, 4281, 1447, 5207, 714, 2649, 3901, + 775, 2650, 5082, 4791, 4949, 2676, 3739, 4134, 4135, 4136, + 4137, 4138, 4139, 4140, 4141, 4142, 1825, 3489, 4603, -1704, + 1148, 802, 5324, 802, 4255, 714, 1653, 1648, 714, 6154, + 4955, 5013, -1704, 4126, 5289, 6155, 4556, 1383, -1704, 5230, + 3490, 2683, 1127, 6355, 1827, 4154, 5235, 5236, 650, 790, + 1144, 962, 998, 962, 962, 790, 3532, 951, 4256, 5135, + 863, 3186, 4654, 5167, 2650, 2628, 3735, 4655, 4655, 3573, + 1142, 3576, -2824, 4257, 1655, 4541, -2824, 4346, 1622, 4885, + 5870, 826, 4178, 1639, 1432, 1649, 2675, -1704, 5875, 5876, + 1650, 187, -2417, 2849, 40, 1651, 4258, 1039, 1656, 1227, + 1155, 1040, 4945, -2418, 4952, 1164, 3652, 863, 1039, 1165, + 1227, 2953, 1040, 3663, 1432, -1703, 1461, 6288, 4913, 1658, + -1704, 1189, 863, 6248, 29, 4259, 4209, 3197, -1703, 3740, + 3198, 1171, 4930, 44, -1703, 1039, 1182, -2425, 2742, 1040, + 1438, 1439, 3199, 4698, 863, 3198, 1653, 3825, 3380, 3381, + 3382, 3383, 4590, 6198, 5304, 4153, 3238, 4155, 4156, 3239, + 1199, 4562, 4417, 4319, 775, 863, 3447, 3618, 661, 1979, + 1659, -1704, 649, 3465, 3467, 3468, 3902, 48, 826, 3452, + 1227, -1704, 2650, -1703, 187, 925, 3025, 3026, 3541, 4971, + 49, 2650, 1226, 4927, 1655, 5771, 2051, 3630, 56, 3489, + 3631, 951, 3711, 3878, 951, 3712, 3879, 3, 4, 4017, + 4316, 4317, 3198, 1432, 50, 2675, -1703, 4066, 1656, 3489, + 2650, 1231, 3490, 4260, 40, 1235, 4075, 1142, 3903, 2650, + 863, 863, 4330, 56, 3146, 5849, 3147, 6218, 4082, 1658, + 4083, 2650, 3490, 2650, 4442, 3808, 1238, 3811, 3813, 4448, + 1241, 3489, 4102, 3771, 3487, 3837, 4113, 1243, 4146, 2650, + 3741, 2650, 4087, 44, 4088, 3064, 1244, -1703, 3742, 932, + 4160, 3743, 3726, 2650, 3490, 4165, 1254, -1703, 4166, 1383, + 1383, 1383, -1752, 4232, 4400, 1383, 2650, 4401, -1752, 949, + 1659, 1256, 961, 951, 961, 961, 6400, 1257, 4533, 4405, + 6122, 4433, 4406, 1255, 4434, 4503, 951, 48, 4434, 4214, + 4626, 4215, 1383, 4627, 951, 4629, 4660, 5305, 4630, 4661, + 49, 4774, 1258, 4059, 4775, 4061, 4062, 2849, 1265, 4184, + -1704, 4185, 863, 4785, -1149, -1149, 4786, 933, 3915, 5153, + 4797, 802, 4873, 2650, 50, 4874, 4879, 1259, 4884, 4880, + 938, 3556, 187, 951, 3926, 5136, 5146, 4186, 3198, 4438, + 3517, 3518, 5202, 6249, 3808, 2027, 5242, -1775, -1775, 2650, + -1752, 1940, 6456, 1403, 951, 4875, 3948, 1944, 4614, 1406, + 4615, 4455, 5483, 5279, 1267, 5335, 2650, 1955, 3556, 5359, + 1410, 1958, 5360, 3489, 5076, 1961, 5077, 1963, 5575, 5366, + 3966, 5576, 3198, 1971, 5367, 1443, 1444, 3198, 4056, 1977, + 3351, 5368, 1980, 3354, 3198, 951, 3490, 951, 4216, 951, + 4217, -1752, 3379, -1779, -1779, 1271, -1703, 4580, 4127, -1778, + -1778, 934, 4128, 4129, 4130, 5485, 5522, 5558, 5486, 4661, + 5559, 4929, 5560, 4931, 5580, 2650, 4934, 5581, 5590, 5644, + 5645, 1979, 2004, 3944, 5596, 2742, 2681, 4600, 5598, 5718, + 1412, 4600, 5719, 5738, 1411, 996, 3198, 6041, 5772, 4927, + 5832, 5773, 3489, 5833, 5838, 6017, 6018, 1979, 3380, 3381, + 3382, 3383, 1420, 5841, 5852, 4187, 4600, 5853, 1425, 5903, + 5944, 4188, 5904, 2604, 5971, 3490, 6008, 5853, 6009, 4166, + 6029, 2650, 5245, 6030, 5246, 6033, 650, 951, 1979, 962, + 4692, 962, 962, 5804, 951, 5805, 4594, 1142, 1416, 1142, + 6034, 1383, 4563, 2650, 4565, 1726, 1383, 1428, 6064, 6070, + 6071, 3239, 3239, 3239, 6369, 6074, 6370, 926, 2650, 4573, + 6075, 4576, 6076, 2650, 1435, 6077, 5548, 5549, 6104, 6170, + 4780, 6105, 4600, 1466, 6185, -1692, 1825, 2650, 1449, 6187, + 6200, 6214, 2650, 3198, 6215, 6238, 6287, 2112, 6239, 5846, + 2113, 6320, 6365, 4277, 5853, 6366, 1383, 1383, 1383, 6122, + 935, 1383, 6164, 6165, 6385, 4927, 926, 6386, 1426, 1383, + 1383, 1383, 1383, 2681, 6393, 649, 6394, 4874, 1466, 2650, + 6421, 1142, 1432, 6030, 2639, 1383, 4635, 4955, 1383, 1467, + 1383, -3001, 6246, 4677, 6423, 6431, 6469, 2650, 6432, 6386, + 923, 924, 6471, 1383, 1383, 6432, 6473, 1383, 187, 6386, + 1436, 4825, 3599, 4827, 5288, 3489, 5291, 2641, 3607, 1451, + 4847, 4132, 4850, 2721, 1478, 2724, 998, 4189, 1383, 1493, + 1383, 1494, 1383, 1495, 1498, 1504, 4946, 1545, 3490, 4190, + 1461, 1571, -2467, 1574, 1576, 1577, 1612, 1616, 1617, 1618, + 1629, 1383, 1641, 1631, 4213, 1644, 1668, 3487, 863, 1685, + 1686, 1702, 1713, 1712, 1716, 3649, 1721, 4705, 1722, 3299, + 5357, 926, 1835, 1837, 4700, 1839, 2052, 1844, 5552, 863, + 1850, 1855, 1858, 1860, 1865, 1868, 4927, 1870, 1862, 4177, + 1879, 3326, 3326, 3326, 3326, 1884, 2061, 3326, 3326, 3326, + 3326, 3326, 3326, 3326, 3326, 3326, 3326, 4133, 1885, 650, + -137, 5180, 3491, 4252, 4219, 4220, 4221, 4252, 4266, 4252, + 4252, 1887, 1888, 926, 3489, 4777, 1383, 949, 1890, 1892, + 961, 1383, 961, 961, 1893, -3001, 4909, 1904, 2676, 1911, + -3001, 1913, 1916, 1920, 213, 1929, 1383, 3490, 1934, 1935, + 1936, 1938, 1941, 1942, 1945, 2102, 1946, 1953, 1957, 1959, + 3491, 3326, 3326, 1960, 4298, 1962, 1964, 4301, 3491, 1969, + 3540, 1970, 3693, 1972, 4966, 1975, 1978, 1981, 1982, 1984, + 2001, 2032, 2039, 2041, 5070, 2048, 2044, 2589, -3000, 2089, + 2049, -3001, 2056, 2057, 2058, 2059, 2060, 56, 2062, 2591, + 3717, 5057, 2063, 792, 5796, 2064, 2066, 2067, 4838, 792, + 2609, 1383, 4746, 2068, 2069, 2070, 2071, 2072, 2073, 2587, + 2622, 2074, 2075, 2076, 2631, 6398, 2077, 2078, 2079, 2593, + 2081, 3489, 2082, 3368, 2653, 951, 951, 2083, 2084, 2085, + 2086, 2087, 2088, 2091, 2092, 2093, 4773, 2094, 2095, 2646, + 2096, 2097, 2098, 2594, 3490, 2659, 5062, 2604, 2654, 2668, + 2661, 2662, 2665, 2666, 2669, 2670, 2671, 2672, 2677, 1481, + 1483, 1383, 2684, 2715, 2727, 3876, 2717, 2729, 2730, 938, + 938, 2731, 938, 2732, 2748, 2750, 2749, 2675, 2751, -3000, + 2752, 2753, 2754, 2755, 2756, 2757, 2758, 4813, 2764, 2780, + 2786, 2792, 2806, 2810, 2812, 2813, 2814, 2816, 2817, 2830, + 2834, 2835, 2836, 2853, 2871, 2865, 2874, 2872, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 2869, 4411, 2854, + 2873, 2883, 2875, 4277, 2885, 2889, 2890, 2884, 2909, 2895, + 2896, 2888, -3000, 2899, 2923, -3001, 2940, 2933, 2905, 2947, + 649, 2906, 863, 649, 2919, -3000, 2920, 2950, 2926, 1590, + 2929, -3000, 2917, 2930, 2935, 2936, 2948, -3000, 2955, 2956, + 2961, 2962, 2965, -3000, 2967, 2968, -3000, 5505, 2969, 2970, + -3000, 2974, 2976, 2982, 2977, 2993, 2983, 5810, 2996, 3007, + 3024, 3002, 3036, 3031, 3038, 3039, 3052, 3040, 3041, 3045, + 3489, 649, 3046, 3053, 3047, 3057, 3049, 3058, 3050, 649, + -3000, 3051, -3000, 3059, 3060, 3067, 3068, 3071, 5831, 675, + 3084, 3076, 3095, 3490, 3099, 3103, 1665, 3100, 3112, 3115, + 3118, 3119, 3487, 3128, 3139, 3487, 3145, 3161, 3149, 3132, + 3163, 3164, 4995, -3000, 3236, 3165, 3166, 3211, 3136, 3154, + 3179, -3001, 4037, 3248, 3267, 4048, 2113, 3414, 3356, 3222, + 3272, 3346, 3313, 2576, 2577, 2578, 2579, 2580, 2581, 3373, + 4058, 1383, 3394, 3352, 3392, 4063, 3420, 1383, 3435, 3440, + 3419, 3455, 1456, 3487, 933, 3439, 3441, 3453, 951, 3438, + 3454, 3487, 3456, 3497, -3000, 3457, 3458, 3462, -3000, 3470, + 3509, 3471, 3526, 3511, -3000, 3533, 4090, 3534, 3510, 3545, + 3489, 3326, 3546, 3512, 3492, 2112, 3489, 3548, 2113, 3565, + 3574, 3579, 2114, 2115, 2116, 863, 863, 863, 3582, 1271, + 3587, 3592, 4127, 3490, 3606, 3593, 4128, 4129, 4130, 3490, + 2681, 3595, 863, 3622, 3627, 1400, 3162, 3643, 3629, 1404, + 3644, 3645, 2639, 3655, 3169, 3668, 1383, 3673, 3700, 2640, + 3674, 3694, 3577, 3702, -3000, 2112, 3701, 3598, 2113, 5466, + 3707, 3727, 3637, 3749, 2004, 863, 863, 3718, 3710, 3728, + 863, 3725, 3748, 1881, 3809, 2641, 3824, 3765, 3832, 3836, + 3833, 934, 863, 5108, 5109, 3845, 2112, 3852, 5267, 2113, + 3858, 3859, 2639, -3001, -3001, -3001, 3860, 3864, 3891, -3001, + 3869, 3892, 3906, 5146, 3908, 3880, 3910, 3920, 3938, 3369, + 3927, 3939, 3941, 3912, 3946, 3942, 3949, 5315, 3953, 3954, + 3933, 3951, 3940, 2639, 3957, 2641, 3958, 3489, 3963, 3978, + 2640, 5192, 5193, 5194, 5195, 5196, 3979, 3980, 951, 3988, + 3989, 3990, 3992, -3000, 3994, 4008, 4011, 4014, 4010, 4016, + 3490, 4019, 3214, 4680, 4020, 1979, 2641, 4021, 4620, 4034, + 4022, 4023, 4038, 863, 4047, 4029, 4040, -3000, 4060, -3000, + -3000, 4050, 4039, 4079, 1976, 5197, 863, 1943, 4028, 4024, + 4052, 1233, 4077, 4078, 4080, 4081, 4092, 4097, 4099, 4624, + 4109, -3000, 4112, 2642, 4657, 1383, 3290, 4195, 2643, 4084, + 4811, -2242, 4159, 1383, 4101, 1383, 4162, 4179, 4193, 4244, + 4230, 4203, 4174, 5322, -3000, 4273, -3000, -3000, 4210, 1383, + 5439, 2644, 2306, 1383, 1383, 1383, 4103, 4114, 4115, 4119, + 1383, 5258, 4279, 1383, 4288, -3001, 1383, 5873, 3837, 4121, + 2650, 4122, 1383, -3001, 1383, 4123, 4204, 1383, -3001, 2645, + 4236, 4145, 1383, 1383, 1383, 1383, 4150, 4206, 1383, 1383, + 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 4151, 4158, + 1236, 1383, 1383, 1383, 2642, 4173, 4208, 4231, 187, 2643, + 4238, 1383, 4253, 4286, 4292, 4269, 1383, 926, 4237, 4290, + 1383, 4299, 2373, 4313, 4318, 2065, 4320, 4307, 1383, -3001, + 4321, 1383, 4239, 1383, 4331, 4245, 4325, 2646, 4327, 4339, + 4340, 4350, 4334, 4351, 4352, 4356, 4358, 4362, 4363, 1383, + 4364, 4133, 1383, 1383, 4367, 187, 5319, 1383, 1383, 4370, + 2645, 4368, 1383, 4385, 1383, 4817, 4386, 4374, 4388, 4394, + 4396, 4404, 4395, 863, 863, 863, 4412, 4421, 4435, 4437, + 4277, 4439, 4441, 4443, 5253, 4445, 4449, 2646, 4450, 3291, + 4456, 4457, 1645, 1383, 4252, 4266, 4252, 4252, 4454, 1383, + 4252, 1079, 4458, 4840, 4459, 4476, 4477, 3491, 4277, 4461, + 4478, 3491, 191, 3344, 1646, 4479, 4480, 4855, 2646, 4483, + 4486, 4481, 4488, 4818, 4819, 4820, 4821, 4482, 4484, 4492, + 4490, 4495, 4499, 2648, 4497, 2991, 2994, 4515, 4485, 4487, + 4937, 4511, 4489, 4491, 1383, 4501, 4430, 4502, 4432, 1076, + 4508, 3968, 1077, 4512, 4513, 4529, 4518, 5354, 4523, 3540, + 4531, 1383, 4566, 1078, 4571, 1080, 1647, 4947, 4572, 4581, + 4578, 4582, 4585, 5377, 2783, 1548, 4589, 792, 4599, 792, + 4600, 792, 4602, -3001, 4609, 4618, 4612, 792, 1220, 1221, + 4619, 4622, 4623, 4639, 4653, 4625, 4656, 4671, 5505, 4663, + 4659, 4665, 4672, 4673, 4674, 4675, 4676, 4693, 4694, 5450, + 4695, 1549, 4701, 4948, 2648, 4702, 4928, 2004, 2849, 2004, + 5417, 5418, 2004, 5420, 4936, 4714, 4703, 4704, 6280, 6281, + 4706, 4678, 6283, 4707, 4708, 4949, 4709, 4710, 2051, 2572, + 4720, 4725, 4960, 4719, 4494, 5574, 4721, 4726, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 4722, 1648, 4729, + 4734, 5410, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, + 4142, 4735, 4127, 4740, 1550, -2241, 4787, 4747, 4770, 4799, + 5613, 4771, 4772, 4779, 4800, 4803, 4826, 4814, 4516, -3001, + 4828, 4836, 4843, 4830, 4844, 4851, 4841, 5009, 4277, 4839, + 4857, 2576, 2577, 2578, 2579, 2580, 2581, 3374, 4852, 4858, + 4859, 1551, 4867, 4856, 4861, 4870, 1649, 4872, 4876, 4887, + 2572, 1650, 4895, 4905, 4908, 4906, 1651, 4907, 4915, -3001, + -3001, -3001, 2576, 2577, 2578, 2579, 2580, 2581, 5012, 4916, + 4918, 4919, 2953, 4922, 4937, 2954, 4950, 3641, 649, 4961, + 3771, 4941, 649, 5054, 4940, 4958, 3969, 4974, 5468, 4973, + 4975, 1552, 4977, 4976, 4987, 4988, 4989, 5004, 5022, 4990, + 4991, 4992, 5028, 5003, 5001, 5010, 5023, 1653, 792, 5031, + 1271, 5047, 5048, 4127, 3649, 4947, 951, 4128, 4129, 4130, + 5050, 5053, 5063, 5064, 5079, 5066, 5067, 5068, 5090, 5100, + 951, 5105, 1383, 5111, 5119, 1554, 5125, 4795, 5126, 863, + 5154, 5132, 5131, 5138, 5148, 5098, 5155, 5897, 5165, 5899, + 5171, 5172, 5688, 5174, 5175, 1655, 2849, 3326, 4658, 5176, + 3487, 5179, 5178, 3223, 3487, 5184, 5190, 5198, 1556, 5204, + 5205, 863, 5214, 5222, 5221, 5223, 3491, 3926, 792, 1656, + 5224, 5226, 5227, 3442, 3808, 5225, 5233, 649, 5228, 5234, + 5239, 5244, 5250, 5147, 5256, 5259, 5265, 5260, -2243, 5282, + 1658, 5261, 4951, 863, 5308, 4370, 5278, 5293, 5317, 5298, + 5301, 3326, 5294, 35, 5312, 1383, 1383, 5320, 3970, 5321, + 5589, 5331, 5334, 1645, 5336, 5338, 1383, 1559, 5342, 5362, + 5374, 5589, 6022, 5375, 5361, 5378, 1560, 2004, 863, 5376, + 4715, 5380, 5386, 5385, 2827, 1646, 5387, 5399, 5402, 5408, + 5735, 1659, 5406, 5412, 5421, 863, 5422, 1562, 5413, 5429, + 5430, 5431, 5908, 5440, 996, 5443, 1563, 5436, 5447, 3487, + 5448, 1564, 5455, 5458, 5464, 5465, 5467, 6052, 5471, 5463, + 5473, 5477, 5157, 5482, 5487, 5489, 5639, 5493, 5494, 5496, + 5498, 5500, 3971, 4748, 5502, 5501, 1383, 1647, 5511, 3198, + 5519, 5517, 5527, 2112, 5557, 5526, 2113, 5532, 5553, 5546, + 2114, 2115, 2116, 1383, 5547, 5563, 5565, 2875, 4769, 5564, + 5573, 5582, 5658, 6088, 6090, 5588, 4132, 5577, 1565, 5592, + 2638, 1383, 3972, 5595, 5617, 5614, 5620, 5628, 5643, 5630, + 2639, 5631, 5635, 5647, 5648, 5649, 5681, 2640, 5703, 5650, + 5661, 5655, 5089, 5662, 5666, 5653, 5672, 5673, 5674, 1383, + 5714, 5709, 1383, 5711, 5717, 5722, 5741, 5721, 5742, 5746, + 1383, 1383, 5753, 2641, 5751, 5769, 5774, 5780, 1383, 1383, + 5782, 5781, 5788, 1383, 5797, 5798, 5802, 5803, 1383, 1648, + 5816, 1383, 1383, 5824, 5815, 5830, 3374, 5842, 1383, 5844, + 5846, 5848, 863, 863, 863, 863, 5847, 5850, 5860, 5867, + 5877, 5885, 4133, 5869, 5879, 5871, 5923, 649, 649, 5891, + 650, 5928, 5938, 4252, 5925, 5932, 5946, 3491, 5936, 5951, + 3479, 5964, 3491, 5965, 5966, 3491, 650, 5967, 3808, 5960, + 5314, 5968, 5978, 1383, 5977, 998, 5979, 1649, 5985, 5980, + 5989, 5987, 1650, 5995, 1383, 6006, 6020, 1651, 4298, 6019, + 6005, 6010, 1383, 5231, 3540, 6021, 3326, 6045, 6048, 6026, + 6036, 6046, 6049, 2953, 4211, 187, 6050, 1271, 6063, 802, + 4127, 6081, 6067, 6086, 4128, 4129, 4130, 6093, 6096, 6099, + 6101, 2642, 6107, 6103, 6217, 6110, 2643, 3326, 6111, 3487, + 3487, 6127, 6128, 6129, 5272, 6130, 2849, 1383, 1653, 6137, + 6144, 5839, 6138, 6145, 5994, 6143, 6150, 6151, 6152, 2644, + 2306, 5370, 6157, 6162, 6166, 6167, 6169, 5337, 6173, 6181, + 6183, 6189, 6202, 6209, 792, 6219, 5323, 5325, 6094, 792, + 792, 6211, 6097, 6098, 6227, 6228, 6245, 2645, 6229, 6247, + 6028, 6264, 6265, 6266, 6267, 6268, 1655, 6270, 6278, 3771, + 6282, 6291, 6292, 6293, 6286, 6304, 6306, 2656, 6336, 6339, + 3771, 6334, 6372, 6330, 6275, 6276, 2663, 6324, 2664, 6335, + 1656, 6331, 2667, 6348, 6338, 6351, 6353, 1383, 6371, 2673, + 2373, 6374, 6373, 6375, 1383, 6376, 6391, 6401, 5812, 4305, + 5901, 1658, 6412, 6437, 6416, 2646, 6403, 6296, 2647, 6404, + 6418, 6429, 5817, 6430, 6445, 6446, 6449, 951, 6451, 6455, + 5688, 6457, 1468, 4134, 4135, 4136, 4137, 4138, 4139, 4140, + 4141, 4142, 951, 6462, 5840, 6460, 5896, 6468, 5776, 3008, + 1683, 2104, 4228, 2630, 3782, 5910, 1575, 1682, 3699, 4380, + 1142, 4964, 1659, 4957, 6212, 3871, 3823, 4528, 5700, 6080, + 6305, 649, 5752, 1383, 4953, 5107, 4954, 5446, 649, 5734, + 4360, 4323, 4018, 649, 6204, 5637, 649, 5310, 6301, 650, + 792, 6102, 6100, 6226, 4366, 6316, 2849, 5475, 5129, 5158, + 792, 5137, 6060, 4132, 5099, 2004, 3889, 3890, 3991, 4962, + 4588, 2648, 4398, 3997, 5124, 3998, 5740, 5469, 1667, 4628, + 3926, 5892, 5893, 5182, 5981, 4004, 6368, 6467, 4005, 5715, + 4006, 4007, 6057, 951, 4009, 3948, 6447, 4534, 4012, 6231, + 4013, 5166, 5660, 4015, 1220, 1221, 5887, 6069, 5663, 756, + 809, 1072, 4679, 3487, 5110, 2024, 3326, 5199, 3075, 5863, + 3487, 863, 5201, 6364, 3918, 3487, 3551, 5168, 3487, 3138, + 3150, 4314, 863, 5777, 996, 4645, 5975, 3167, 1143, 4498, + 1183, 3820, 4993, 4444, 6251, 6402, 2763, 792, 5185, 4133, + 1413, 792, 792, 5186, 3848, 3496, 6354, 4881, 4277, 6081, + 5326, 5859, 5862, 3134, 5657, 2651, 6054, 4054, 837, 838, + 996, 5229, 5480, 5659, 4275, 2712, 4287, 2572, 3506, 6186, + 3033, 6038, 4248, 2711, 4833, 1383, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 1383, 4849, 5594, 1383, 3355, + 2600, 1383, 1383, 1383, 2716, 4241, 5829, 5828, 4882, 5702, + 4242, 6389, 6172, 6284, 6027, 4243, 6415, 5811, 4781, 3415, + 6039, 4207, 652, 6040, 3418, 4072, 1383, 1383, 3332, 1271, + 1383, 4201, 4127, 3847, 4199, 5993, 4128, 4129, 4130, 1142, + 6420, 4192, 187, 4108, 3430, 4730, 2660, 1464, 1383, 3494, + 0, 6035, 1383, 6037, 0, 0, 5273, 0, 1383, 0, + 0, 0, 3491, 0, 0, 0, 5314, 914, 0, 1383, + 0, 5612, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4928, 0, 0, 1383, 0, 0, 0, 0, + 5452, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6171, + 0, 0, 5615, 0, 4928, 998, 951, 0, 951, 0, + 0, 649, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 792, 0, 0, 3968, 0, + 962, 998, 0, 6433, 0, 0, 0, 0, 0, 0, + 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 0, + 0, 0, 1548, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 0, 0, + 0, 0, 0, 3487, 0, 0, 0, 5098, 1549, 5896, + 0, 0, 863, 652, 0, 0, 0, 863, 0, 0, + 0, 0, 652, 971, 0, 0, 2849, 0, 0, 0, + 652, 0, 971, 652, 0, 0, 863, 0, 0, 0, + 5147, 5346, 0, 5754, 0, 4132, 971, 2102, 0, 0, + 0, 0, 0, 0, 951, 863, 4928, 3326, 3326, 6410, + 0, 3326, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1550, 0, 71, 80, 83, 84, 175, 85, 86, + 106, 0, 184, 124, 129, 159, 0, 178, 185, 0, + 1383, 0, 0, 191, 5382, 6448, 2102, 0, 0, 4326, + 0, 5739, 0, 649, 0, 0, 0, 1383, 1551, 0, + 0, 1383, 0, 1383, -2764, 926, 5398, 0, 6410, 0, + 3374, 0, 0, 649, 0, 6357, 6358, 1383, 0, 0, + 180, 4133, 5765, 181, 0, 650, 4205, 0, 1383, 0, + 0, 0, 5837, 6410, 183, 0, 186, 1142, 0, 1383, + 0, 0, 0, 3969, 0, 649, 1383, 0, 1552, 0, + 3273, 3274, 5767, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3311, 3312, 4387, + 0, 4389, 0, 0, 0, 3487, 0, 0, 0, 5426, + 0, 961, 0, 0, 0, 0, 0, 863, 4240, 0, + 0, 4246, 1554, 0, 1383, 3487, 0, 0, 0, 0, + 3358, 0, 0, 0, 0, -2764, 0, 0, 0, 0, + 1383, 0, 2112, 0, 0, 2113, 1383, 1383, 0, 0, + 0, 951, 951, 951, 951, 1556, 961, 3487, 0, 0, + 0, 0, 0, 0, 996, 0, 0, 0, 0, 3479, + 0, 0, 0, 925, 0, 0, 0, 3479, 0, 2639, + 0, 0, 1383, 0, 0, 0, -3001, 0, -2764, 0, + 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 35, -2764, 0, 0, 0, 1558, 0, -2764, 0, 0, + 0, 0, 2641, -2764, 1559, 863, 0, 649, 3491, -2764, + 0, 0, -2764, 1560, 0, 0, -2764, 0, 0, 0, + 5510, 2827, 0, 6356, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 863, 1562, 4493, 0, 0, 0, 0, + 0, 4500, 0, 1563, 0, 0, -2764, 0, 1564, 0, + 0, 0, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, + 4142, 1383, 0, 0, 0, 0, 0, 0, 0, 3971, + 0, 0, 6392, 1383, 4804, 0, 0, 0, 0, -2764, + 0, 0, 1383, 1383, 1383, 0, 649, 0, 2004, 3487, + 5954, 0, 0, 0, 3808, 0, 0, 1383, 0, 0, + 0, 0, 0, 0, 0, 1565, 1383, 0, 1383, 3972, + 1383, 5612, 0, 0, 0, 0, 0, 4928, 0, 0, + -3001, 0, 0, 0, 1383, -3001, 0, 0, 0, 0, + -2764, 0, 0, 2004, -2764, 998, 0, 0, 0, 0, + -2764, 0, 6208, 1383, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4494, 0, 0, 0, 0, 0, 0, 0, 3487, 0, + 0, 0, 0, 0, 0, 0, -3001, 0, 0, 2004, + 2004, 0, 0, 0, 0, 0, 0, 0, 971, 0, + 0, 0, 0, 0, 6042, 0, 0, 0, 0, 0, + -2764, 0, 0, 0, 0, 0, 0, 971, 0, 0, + 951, 0, 0, 971, 0, 6258, 6259, 0, 0, 0, + 0, 5937, 0, 0, 6123, 971, 0, 4662, 0, 4664, + 0, 4666, 0, 0, 2646, 0, 0, 0, 0, 0, + 0, 971, 0, 0, 0, 0, 652, 0, 0, 649, + 0, 914, 0, 0, 0, 652, 971, 0, 0, 807, + 0, 0, 652, 0, 971, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1383, 0, 914, 971, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 971, -2764, + 1383, 0, 0, 0, 5837, 0, 0, 0, 0, 0, + 1383, 0, 0, 0, 0, 0, 0, 0, 0, 3540, + 0, 0, 0, -2764, 0, -2764, -2764, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 962, 0, + -3001, 3487, 0, 0, 0, 0, 0, -2764, 0, 0, + 0, 971, 0, 951, 0, 0, 0, 0, 0, 0, + 2004, 0, 0, 0, 0, 0, 0, -2764, 649, 0, + -2764, -2764, -2764, 652, 652, 0, 0, 0, 0, 971, + 0, 0, 0, 0, 0, 0, 2849, 0, 0, 0, + 0, 0, 0, 1383, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 4928, 971, 0, 652, 0, 0, 0, + 0, 962, 962, 6261, 0, 0, 0, 1383, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 914, 0, 0, 187, 0, 2112, 0, 191, 2113, 0, + 2004, 2004, 6277, 0, 0, 0, -3001, 0, 1383, 1383, + 3487, 0, 1383, 652, 0, 6285, 0, 0, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 6232, 971, 0, 0, 0, + 0, 0, 2639, 0, 6253, 649, 0, 6254, 0, -3001, + 0, 0, 6329, 951, 0, 0, 3459, 3461, 6255, 0, + 6256, 0, 3469, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 2030, 6123, 951, 951, 0, 2030, 2030, 4928, + 0, 0, 0, 0, 3515, 3515, 0, 0, 0, 0, + 0, 0, 0, 6458, 6459, 0, 0, 650, 0, 0, + 0, 0, 0, 0, 1383, 0, 0, 0, 0, 0, + 191, 0, 6347, 0, 0, 0, 0, 3487, 0, 0, + 1383, 0, 0, 0, 0, 0, 3540, 0, 0, 0, + 0, 4298, 0, 0, 652, 652, 1821, 4807, 1383, 961, + 0, 0, 0, 971, 0, 0, 792, 6253, 652, 0, + 6254, 0, 0, 914, 652, 0, 0, 0, 652, 0, + 652, 6255, 0, 6256, 914, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6377, 6378, 650, 6382, 0, 0, + 914, 0, 5837, -3001, 0, 0, 0, 1383, -3001, 0, + 5976, 0, 0, 1578, 0, 0, 0, 951, 0, 1579, + 4928, 0, 0, 0, 649, 0, 0, 2102, 0, 0, + 0, 0, 961, 961, 1687, 0, 0, 0, 0, 0, + 6347, 0, 0, 0, 652, 0, 652, 652, 0, 0, + 0, 191, 0, 3651, 187, 0, 0, 0, 0, -3001, + -2766, 0, 0, 0, 1581, 1383, 650, 0, 0, 0, + 0, 0, 0, 6032, 0, 0, 3479, 0, 0, 0, + 3479, 0, 650, 0, 0, 0, 0, 971, 6253, 0, + 0, 6254, 0, 0, 0, 0, 0, 0, 0, 962, + 962, 0, 6255, 6461, 6256, 6347, 3487, 0, 0, 0, + 0, -136, 0, 0, 0, 652, 0, 2646, 0, 1688, + 0, 1582, 6347, 0, 0, 0, 0, 0, 1583, 0, + 0, 0, 1584, 1, 649, 0, 0, 0, 0, 0, + 649, 0, 792, 0, 2, 0, 3, 4, 971, 0, + 792, 0, 0, 792, 0, 0, 0, 914, 6333, 971, + 1585, -2766, 0, 0, 5, 792, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 971, 0, 0, 0, + 0, 971, 0, 0, 0, 0, 7, 0, 8, 9, + 0, 0, 0, 652, 0, 10, 1586, 11, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 0, 13, -3001, -2766, 0, 3487, 0, 0, 0, + 0, 0, 3487, 0, 0, 0, 0, -2766, 0, 14, + 0, 0, 15, -2766, 0, 652, 0, 6380, 0, -2766, + 0, 0, 0, 0, 0, -2766, 0, 16, -2766, 17, + -2783, 0, -2766, 18, 0, 0, 0, 0, 0, 0, + 19, 649, 0, 0, 652, 652, 652, 0, 652, 20, + 0, 21, 0, 0, 0, 0, 1689, 0, 22, 0, + 1588, 0, -2766, 0, 0, 5189, 0, 0, 5191, 652, + 1589, 0, 0, 0, 0, 0, 23, 0, 0, 0, + 1590, 0, 0, 0, 0, 0, 0, 6380, 0, 0, + 0, 0, 1591, 24, 0, -2766, 971, 5206, 0, -3001, + 0, 0, 0, 6444, 971, 971, 0, 0, 0, 0, + 0, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 961, 961, 0, 3487, 0, 0, 0, 0, 652, 0, + 0, -2783, 0, 0, 1690, 0, 0, 1593, 1594, 0, + 0, 0, 0, 0, 0, 0, -2766, 25, 26, 0, + -2766, 0, 0, 27, 0, 0, -2766, 1821, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 28, 1691, + 0, 0, 0, 0, 652, 0, 0, 0, 652, 652, + 0, 0, 0, 0, -2783, 0, 0, 29, 0, 0, + 0, 0, 792, 0, 652, 3479, 0, -2783, 0, 0, + 914, 0, 0, -2783, 2112, 0, 0, 2113, 0, -2783, + 0, 2114, 2115, 2116, 0, -2783, -2766, 0, -2783, 0, + 0, 187, -2783, 0, 0, 0, 0, 0, 0, 0, + 0, 2638, 0, 0, 30, 0, 0, 0, 0, 0, + 0, 2639, 1596, 0, 0, 0, 0, 0, 2640, 31, + 0, 0, -2783, 0, 0, 32, 33, 0, 34, 0, + 0, 0, 0, 35, 0, 0, 0, 914, 0, 36, + 0, 0, 37, 0, 2641, 807, 0, 0, 0, 38, + 0, 0, 0, 0, 0, -2783, 39, 40, 0, 0, + 0, 0, 0, 0, 41, 0, 0, 0, 42, 0, + 0, 5345, 0, 0, 0, -2766, 0, 0, 914, 43, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 0, 0, 0, 0, 44, 0, 0, -2766, + 0, -2766, -2766, 0, 0, 0, -2783, 0, 0, 0, + -2783, 914, 0, 0, 0, 0, -2783, 45, 0, 0, + 0, 0, 0, -2766, 2639, 0, 0, 5383, 5384, 46, + 0, -3001, 0, 6388, 0, 47, 0, 0, 0, 0, + 48, 0, 0, -2766, 0, 0, -2766, -2766, -2766, 0, + 0, 0, 0, 49, 0, 0, 0, 2641, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 0, 0, 0, 0, 0, 0, -2783, 50, 971, 51, + 52, 53, 54, 55, 0, 0, 0, 4226, 0, 792, + 2644, 2306, 0, 652, 652, 652, 56, 0, 0, -136, + 0, 0, 0, 0, 0, 4233, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3479, 0, 2645, 0, + 0, 3479, 5427, 5428, 3479, 0, 0, 0, 0, 4808, + 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 187, 187, 0, 0, 0, + 0, 0, 0, 0, 0, 4282, 4282, 0, 0, 0, + 0, 2373, 0, 0, 0, -2783, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -3001, 2646, 0, 0, 2647, + -3001, 0, 0, 0, 0, 0, 0, 0, 0, -2783, + 0, -2783, -2783, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 914, 0, 0, 0, 718, + 0, 0, 0, -2783, 0, 0, 914, 0, 806, 0, + 0, 0, 0, 0, 0, 0, 2112, 0, 1821, 2113, + 0, -3001, 914, -2783, 0, 0, -2783, -2783, -2783, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 5521, 0, 0, 5523, 5524, 0, 0, 971, + 0, 0, 0, 2639, 0, 0, 0, 971, 0, 0, + -3001, 0, 2648, 2112, 0, 5529, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 914, 0, 0, 2646, + 0, 0, 0, 0, 0, 652, 2641, 0, 652, 0, + 2638, 914, 0, 0, 914, 914, 0, 0, 652, 652, + 2639, 971, 971, 0, 0, 0, 0, 2640, 0, 0, + 0, 0, 0, 652, 0, 971, 652, 0, 0, 0, + 0, 0, 0, 0, 0, 914, 914, 0, 971, 971, + 0, 0, 0, 2641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5276, 0, + 0, 0, 0, 0, 0, 0, 652, 0, 2572, 0, + 652, 652, 0, 0, 0, -3001, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 0, 0, 0, 0, 4100, 0, 0, 0, 0, 0, + 0, 187, 0, 0, -3001, 652, 0, 652, 0, -3001, + 0, 1578, 652, 652, 0, 0, 0, 1579, 0, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 652, 652, 1687, 0, 0, 652, 0, 652, 0, 652, + 652, 652, 652, 652, 652, 0, 0, 652, 0, 652, + 652, 2642, 0, 652, 0, 0, 2643, 0, 0, 0, + -3001, 0, 1581, 0, 0, 0, 0, 0, 0, 914, + 652, 652, 652, 0, 0, 0, 0, 0, 0, 2644, + 2306, -3001, 0, 0, 0, 0, 0, 0, 652, 0, + 1821, 0, -136, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 1688, 2646, 1582, + 0, 792, 0, 0, 0, 2, 1583, 3, 4, 0, + 1584, 0, 1578, 0, 0, 0, 0, 0, 1579, 0, + 0, 0, 0, 0, 4577, 5, 0, 0, 0, 0, + 2373, 0, 0, 0, 0, 6, 0, 0, 1585, 0, + 0, 0, 0, 0, 0, 2646, 0, 7, 2647, 8, + 9, 3479, 0, 0, 0, 0, 10, 0, 11, 0, + 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, + 0, 12, 0, 13, 1586, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 14, 0, 0, 15, -3001, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, + 17, 0, 0, 0, 18, 652, 0, 0, 0, 0, + 1582, 19, 0, 0, 0, 0, 0, 1583, 0, 0, + 20, 1584, 21, 0, 0, 0, 0, 0, 0, 22, + 0, 2648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1689, 0, 0, 23, 1588, 1585, + 0, 0, 0, 0, 0, 0, 0, 5865, 1589, 652, + 0, 0, 0, 0, 24, 0, 1578, 0, 1590, 0, + 0, 792, 1579, 0, 0, 0, 0, 0, 0, 0, + 1591, 0, 0, 0, 0, 1586, 0, 1580, 0, 0, + -3001, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 187, 0, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, + 0, 5902, 0, 0, 0, 652, 0, 1581, 25, 26, + 0, 0, 3779, 0, 27, 1593, 1594, 0, 0, 0, + 0, 187, 0, 0, 0, 0, 0, 2572, 0, 28, + 0, 0, 0, 0, 0, 187, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 3780, 29, 4116, + 0, 0, 4117, 0, 0, 1689, 0, 0, 0, 1588, + 0, 0, 0, 0, 1582, 0, 0, 0, 0, 1589, + 0, 1583, 0, 0, 0, 1584, 0, 0, 0, 1590, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1591, 0, 0, 0, 30, 0, 0, 0, 0, + 0, 0, 0, 1585, 0, 0, 0, 1073, 0, 0, + 31, 0, 0, 0, 5992, 0, 32, 33, 0, 34, + 1596, 0, 0, 0, 35, 2102, 0, 0, 0, 0, + 36, 0, 0, 37, 0, 2112, 1593, 1594, 2113, 1586, + 38, 0, 2114, 2115, 2116, 0, 0, 39, 40, 0, + 0, 0, 0, 0, 0, 41, 0, 1141, 718, 42, + 0, 0, 2638, 0, 0, 0, 0, 0, 1595, 0, + 43, 0, 2639, 1548, 0, 0, 0, 2112, 0, 2640, + 2113, 0, 0, 0, 2114, 2115, 2116, 44, 0, 652, + 652, 652, 652, 652, 652, 652, 652, 652, 0, 652, + 0, 0, 0, 0, 2638, 2641, 0, 0, 45, 1549, + 652, 0, 0, 652, 2639, 0, 0, 0, 0, 1587, + 46, 2640, 0, 1588, 0, 0, 47, 0, 0, 0, + 0, 48, 0, 1589, 0, 0, 0, 0, 0, 0, + 0, 1596, 0, 1590, 49, 0, 0, 2641, 0, 0, + 0, 0, 0, 1240, 652, 1591, 0, 0, 652, 0, + 0, 652, 0, 652, 0, 0, 652, 3479, 50, 187, + 652, 0, 1550, 1262, 0, 0, 0, 0, 0, 0, + 0, 1386, 0, 0, 1395, 1141, 1399, 56, 0, 0, + -136, 1821, 0, 652, 0, 0, 0, 1592, 0, 0, + 1593, 1594, 0, 0, 0, 0, 0, 0, 792, 1551, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 652, + 652, 0, 0, 2642, 0, 0, 0, 1578, 2643, 0, + 0, 0, 1595, 1579, 0, 0, 792, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, + 792, 2644, 2306, 914, 0, 0, 0, 914, 914, 1552, + 0, 0, 792, 0, 971, 2642, 0, 0, 971, 0, + 2643, 0, 971, 187, 0, 0, 0, 0, 1581, 2645, + 0, 971, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2644, 2306, 0, 971, 0, 0, 652, + 0, 0, 0, 1554, 0, 1596, 0, 1548, 0, 0, + 652, 0, 914, 652, 0, 652, 652, 0, 914, 0, + 0, 2645, 2373, 0, 0, 0, 0, 0, 0, 0, + 971, 0, 0, 0, 0, 1582, 1556, 2646, 1220, 1221, + 2647, 0, 1583, 1549, 0, 0, 1584, 0, 0, 0, + 971, 971, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 914, 0, 0, 0, 0, + 0, 0, 0, 0, 1585, 0, 0, 0, 0, 2646, + 0, 35, 2647, 2826, 0, 0, 1558, 1821, 971, 1141, + 0, 1821, 0, 0, 0, 1559, 0, 0, 0, 0, + 0, 0, 0, 0, 1560, 0, 1550, 0, 0, 0, + 1586, 2112, 2827, 0, 2113, 971, 6299, 1821, 2114, 2115, + 2116, 971, 0, 0, 0, 1562, 792, 0, 0, 0, + 0, 0, 0, 2648, 1563, 971, 0, 0, 2638, 1564, + 0, 0, 971, 1551, 0, 971, 0, 0, 2639, 0, + 0, 971, 0, 0, 0, 2640, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 0, 0, 0, 2648, 0, 971, 0, 792, + 0, 2641, 0, 0, 971, 0, 0, 0, 0, 0, + 1689, 0, 0, 1552, 1588, 0, 1565, 0, 971, 0, + 0, 0, 0, 0, 1589, 0, 0, 0, 0, 0, + 0, 0, 971, 0, 1590, 0, 0, 1821, 0, 0, + 0, 0, 0, 971, 0, 0, 1591, 0, 0, 0, + 0, 0, 0, 1553, 187, 0, 0, 1554, 0, 2572, + 0, 652, 652, 652, 0, 0, 0, 652, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 187, + 0, 0, 0, 0, 4118, 0, 0, 0, 1717, 1555, + 1556, 1593, 1594, 0, 652, 914, 0, 0, 0, 0, + 2029, 2572, 0, 1821, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2642, + 0, 0, 0, 1718, 2643, 0, 4169, 1141, 0, 0, + 0, 1557, 0, 0, 2112, 35, 652, 2113, 0, 0, + 1558, 2114, 2115, 2116, 0, 0, 0, 2644, 2306, 1559, + 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, + 0, 2638, 0, 0, 0, 0, 1561, 0, 914, 0, + 0, 2639, 914, 0, 0, 2645, 0, 0, 2640, 1562, + 0, 0, 2112, 0, 0, 2113, 0, 0, 1563, 2114, + 2115, 2116, 6328, 1564, 0, 0, 1596, 0, 0, 1548, + 0, 0, 0, 0, 2641, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 2107, 0, 2373, 2639, + 0, 0, 0, 0, 0, 2110, 2640, 0, 0, 0, + 0, 0, 0, 2646, 0, 1549, 2647, 0, 0, 0, + 0, 2598, 0, 0, 0, 0, 0, 0, 0, 0, + 1565, 0, 2641, 0, 0, 0, 0, 0, 971, 0, + 1821, 792, 1141, 0, 0, 2617, 2618, 792, 0, 0, + 1141, 1141, 792, 0, 0, 914, 0, 971, 0, 0, + 0, 0, 0, 0, 971, 0, 0, 0, 652, 0, + 914, 652, 0, 652, 652, 914, 1578, 0, 1550, 5396, + 5397, 0, 1579, 652, 5400, 5401, 0, 911, 652, 2112, + 0, 0, 2113, 187, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 2642, 0, 0, 0, 914, 2643, 0, 2648, + 0, 0, 0, 0, 0, 1551, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 1581, 0, 0, + 2644, 2306, 0, 2640, 0, 0, 0, 0, 652, 652, + 652, 0, 0, 652, 0, 0, 0, 0, 0, 0, + 2642, 652, 652, 652, 652, 2643, 0, 0, 2645, 2641, + 0, 0, 1821, 0, 0, 1552, 0, 652, 1821, 0, + 652, 0, 652, 0, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 0, 1582, 652, 652, 0, 0, 652, + 0, 1583, 0, 0, 0, 1584, 0, 0, 0, 0, + 0, 2373, 0, 0, 0, 1553, 2645, 0, 0, 1554, + 652, 0, 652, 0, 652, 2572, 2646, 0, 0, 2647, + 0, 0, 0, 1585, 2573, 2574, 2575, 2576, 2577, 2578, + 2579, 2580, 2581, 652, 0, 0, 0, 4110, 0, 0, + 0, 1619, 1556, 0, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 2112, 971, 0, 2113, 0, 0, 1586, + 2114, 2115, 2116, 0, 2646, 0, 0, 2647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 2638, 0, 2643, 1620, 0, 0, 0, 35, 0, 0, + 2639, 652, 1558, 0, 652, 0, 0, 2640, 0, 0, + 0, 1559, 0, 0, 0, 2644, 2306, 2958, 652, 0, + 1560, 0, 2648, 652, 0, 2966, 0, 0, 1621, 0, + 0, 0, 0, 2641, 0, 0, 0, 0, 652, 0, + 0, 1562, 0, 2645, 0, 0, 0, 0, 0, 1689, + 1563, 0, 652, 1588, 0, 1564, 0, 0, 0, 0, + 652, 0, 0, 1589, 0, 0, 0, 0, 0, 0, + 2648, 0, 914, 1590, 0, 914, 0, 914, 0, 0, + 0, 0, 914, 0, 0, 1591, 2373, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 971, 971, 0, + 0, 2646, 0, 652, 2647, 0, 0, 0, 0, 0, + 0, 0, 1565, 0, 0, 0, 0, 0, 971, 0, + 0, 971, 0, 0, 914, 0, 0, 2807, 2572, 0, + 1593, 1594, 914, 0, 0, 0, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 4530, 2642, 0, 0, 0, 0, 2643, 914, 0, 0, + 0, 0, 2808, 652, 1578, 0, 0, 0, 0, 0, + 1579, 0, 0, 0, 0, 0, 2572, 0, 0, 2644, + 2306, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 792, 2648, 4716, 0, + 0, 0, 1821, 1821, 1821, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 0, 1581, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 971, 0, 0, + 0, 0, 0, 0, 0, 1596, 914, 0, 914, 0, + 3096, 0, 0, 0, 3101, 0, 971, 0, 0, 0, + 2373, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2646, 0, 0, 971, 0, + 0, 0, 1582, 0, 0, 0, 0, 0, 0, 1583, + 0, 0, 0, 1584, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 1585, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 4790, 0, 0, 2112, 0, + 0, 2113, 0, 0, 914, 2114, 2115, 2116, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1586, 0, 0, + 0, 0, 0, 0, 0, 2638, 0, 0, 971, 0, + 0, 2648, 0, 652, 0, 2639, 0, 0, 0, 652, + 0, 0, 2640, 0, 0, 0, 0, 0, 914, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2112, 0, 0, 2113, 0, 0, 2641, 2114, + 2115, 2116, 0, 0, 0, 1821, 914, 0, 0, 0, + 0, 971, 0, 971, 3285, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 971, 1587, 971, 2639, + 0, 1588, 0, 0, 0, 0, 2640, 0, 0, 0, + 0, 1589, 0, 0, 0, 0, 0, 0, 652, 0, + 0, 1590, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2641, 1591, 0, 0, 0, 2572, 0, 0, + 0, 911, 0, 0, 914, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 971, 914, 911, 0, 792, + 0, 0, 0, 0, 0, 2891, 0, 0, 1593, 1594, + 0, 0, 0, 0, 0, 0, 2642, 0, 914, 0, + 0, 2643, 2112, 0, 0, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 971, 0, 0, + 2892, 0, 0, 0, 2644, 2306, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 2639, + 971, 0, 0, 0, 0, 0, 2640, 0, 0, 0, + 0, 0, 2645, 0, 913, 2112, 0, 0, 2113, 0, + 2642, 971, 2114, 2115, 2116, 2643, 902, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 0, 652, 0, 0, + 914, 0, 2638, 0, 0, 652, 0, 652, 2644, 2306, + 0, 0, 2639, 1596, 0, 2373, 0, 0, 0, 2640, + 0, 652, 0, 0, 0, 652, 652, 652, 0, 0, + 2646, 0, 652, 2647, 0, 652, 2645, 0, 652, 0, + 911, 0, 0, 0, 652, 2641, 652, 0, 0, 652, + 0, 0, 0, 914, 652, 652, 652, 652, 0, 0, + 652, 652, 652, 652, 652, 652, 652, 652, 652, 652, + 0, 0, 0, 652, 652, 652, 0, 0, 914, 2373, + 0, 0, 0, 652, 0, 0, 0, 0, 652, 0, + 1821, 0, 652, 0, 2646, 0, 0, 2647, 0, 0, + 652, 0, 0, 652, 0, 652, 0, 6078, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0, + 0, 652, 0, 0, 652, 652, 2648, 0, 0, 652, + 652, 0, 0, 0, 652, 0, 652, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 652, 2645, 0, 2643, 0, + 0, 652, 0, 0, 0, 0, 0, 0, 0, 652, + 0, 0, 0, 652, 0, 0, 0, 0, 0, 0, + 2648, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 911, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 0, 911, 0, 652, 0, 0, 2645, + 0, 0, 0, 0, 2646, 0, 0, 2647, 0, 0, + 911, 0, 2572, 652, 0, 0, 0, 0, 0, 914, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 4897, 0, 0, 0, 0, 0, + 0, 0, 2373, 0, 0, 971, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 1578, 652, 0, + 0, 0, 0, 1579, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 0, 0, 4921, 0, + 2648, 2112, 0, 0, 2113, 0, 0, 1821, 2114, 2115, + 2116, 0, 1821, 914, 1821, 0, 0, 0, 1581, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2638, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2639, 0, + 1821, 914, 0, 0, 0, 2640, 0, 0, 3437, 0, + 0, 0, 0, 2648, 2112, 0, 0, 2113, 0, 0, + 0, 2114, 2115, 2116, 0, 0, 0, 911, 0, 0, + 0, 2641, 0, 0, 0, 1582, 0, 0, 0, 0, + 0, 2638, 1583, 0, 0, 0, 1584, 971, 0, 0, + 971, 2639, 0, 0, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 1585, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 2641, 0, 0, 0, 5127, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1586, 0, 0, 0, 652, 0, 0, 0, 0, 2572, + 0, 0, 0, 0, 0, 0, 0, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 3030, + 971, 971, 0, 0, 914, 0, 0, 0, 0, 2642, + 0, 971, 0, 0, 2643, 0, 0, 1141, 652, 652, + 0, 0, 0, 0, 0, 0, 0, 0, 971, 0, + 0, 0, 0, 0, 0, 0, 0, 2644, 2306, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2616, + 1689, 914, 0, 0, 1588, 0, 914, 652, 652, 0, + 0, 0, 2642, 0, 1589, 2645, 0, 2643, 652, 0, + 0, 0, 0, 1399, 1590, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6408, 0, 1591, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2373, 971, + 0, 0, 1821, 0, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 2646, 0, 0, 2647, 0, 3635, 0, + 0, 1593, 1594, 0, 0, 0, 0, 0, 652, 0, + 0, 0, 0, 6408, 0, 0, 0, 0, 913, 0, + 911, 0, 0, 0, 0, 652, 0, 0, 969, 1399, + 902, 2373, 0, 1595, 0, 1578, 0, 1005, 6408, 0, + 0, 1579, 0, 652, 913, 0, 2646, 0, 0, 2647, + 0, 1027, 0, 1399, 0, 0, 902, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, + 0, 652, 0, 0, 652, 1579, 0, 0, 0, 0, + 0, 0, 652, 652, 0, 914, 1581, 911, 0, 2648, + 652, 652, 0, 0, 0, 652, 0, 0, 0, 0, + 652, 0, 0, 652, 652, 0, 1596, 0, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 3814, 0, 0, + 1581, 3818, 0, 0, 0, 0, 0, 0, 911, 0, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 652, + 0, 0, 2648, 1582, 652, 0, 0, 652, 652, 0, + 1583, 0, 0, 0, 1584, 652, 0, 0, 3851, 0, + 3851, 911, 3851, 3851, 0, 0, 652, 3851, 3851, 3851, + 0, 3851, 3851, 3851, 652, 0, 0, 1582, 0, 0, + 0, 0, 1585, 0, 1583, 0, 0, 913, 1584, 0, + 0, 0, 0, 0, 0, 2572, 0, 0, 0, 902, + 0, 914, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, + 2579, 2580, 2581, 0, 971, 0, 1585, 5240, 1586, 652, + 0, 0, 0, 0, 0, 3928, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2572, 0, + 3956, 0, 1586, 0, 914, 0, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, + 5277, 971, 2112, 0, 0, 2113, 914, 0, 0, 2114, + 2115, 2116, 0, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 719, 0, 0, 0, 0, 2794, 1689, 652, + 0, 0, 1588, 0, 0, 0, 652, 0, 0, 2639, + 0, 0, 1589, 0, 0, 0, 2640, 0, 971, 0, + 0, 0, 1590, 0, 0, 0, 0, 0, 0, 0, + 0, 1736, 1689, 0, 1591, 2795, 1588, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 1589, 0, 722, 914, + 913, 0, 0, 0, 0, 911, 1590, 0, 0, 0, + 0, 913, 902, 0, 0, 723, 911, 0, 1591, 0, + 0, 0, 0, 902, 0, 652, 3826, 913, 0, 1593, + 1594, 0, 911, 1056, 0, 0, 0, 0, 0, 902, + 0, 652, 0, 0, 0, 0, 1821, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2796, 0, 0, + 4344, 3827, 0, 1593, 1594, 971, 0, 0, 0, 0, + 726, 0, 652, 0, 0, 0, 0, 0, 0, 727, + 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, + 0, 0, 728, 0, 0, 4345, 0, 0, 2797, 0, + 0, 911, 0, 0, 911, 911, 0, 0, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 914, 0, + 914, 0, 0, 0, 0, 1059, 0, 0, 0, 0, + 0, 0, 0, 0, 1596, 911, 911, 0, -3001, -3001, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 971, 1097, 0, 0, 0, 0, 0, 1097, 0, + 0, 0, 0, 0, 0, 0, 2645, 0, 1596, 0, + 1097, 0, 0, 0, 0, 0, 0, 652, 0, 0, + 0, 0, 0, 0, 913, 732, 0, 652, 0, 0, + 652, 0, 0, 652, 652, 652, 902, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2112, -3001, + 1141, 2113, 0, 0, 0, 2114, 2115, 2116, 652, 652, + 0, 0, 652, 0, 2646, 0, 0, 0, 0, 2798, + 0, 0, 0, 0, 0, 2638, 0, 0, 0, 0, + 652, 0, 0, 0, 652, 2639, 0, 0, 0, 0, + 652, 0, 2640, 0, 652, 0, 0, 0, 0, 0, + 914, 652, 0, 0, 0, 213, 2799, 0, 0, 737, + 0, 0, 0, 0, 652, 0, 0, 652, 2641, 911, + 0, 0, 971, 0, 971, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1063, 0, 0, + 2800, 0, 0, 0, 0, 0, 652, 741, 0, 0, + 0, 0, 0, 0, 742, 0, 0, 743, 0, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 914, 971, 0, 0, 0, 0, 744, 1578, 0, + 0, 0, 652, 0, 1579, 1065, 0, 0, 0, 0, + 0, 0, 746, 0, 0, 1066, 0, 0, 0, 0, + 748, 0, 0, 0, 0, 0, 658, 1141, 2801, 0, + 0, 0, 707, 658, 0, 2802, 0, 0, 759, 0, + 658, 0, 1821, 0, 0, 0, 658, 652, 812, 1581, + 0, 0, 0, 0, 0, 0, 2642, 0, 0, 0, + 0, 2643, 753, 0, 0, 0, 0, 874, 874, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2644, 2306, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 1582, 2747, 652, 0, + 0, 914, 2645, 1583, 4403, 0, 0, 1584, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 0, 0, 1585, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2373, 0, 0, 0, 652, + 0, 0, 0, 652, 0, 652, 0, 0, 0, 0, + 2646, 0, 4453, 2647, 2747, 0, 0, 0, 0, 652, + 0, 1586, 0, 0, 0, 0, 902, 652, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 652, 0, 0, 0, 0, 0, 0, 652, 0, + 0, 0, 0, 0, 0, 913, 0, 0, 953, 0, + 0, 0, 957, 0, 0, 0, 0, 902, 0, 0, + 1000, 0, 0, 1002, 0, 0, 1007, 1008, 0, 1011, + 0, 1014, 4496, 0, 1020, 0, 1022, 0, 913, 0, + 0, 0, 0, 0, 0, 0, 652, 0, 0, 0, + 902, 1689, 914, 0, 0, 1588, 2648, 914, 914, 0, + 0, 0, 652, 0, 0, 1589, 0, 0, 652, 652, + 971, 0, 0, 0, 2112, 1590, 0, 2113, 0, 0, + 3851, 2114, 2115, 2116, 971, 0, 0, 1591, 0, 0, + 0, 0, 4527, 4527, 0, 0, 0, 0, 0, 0, + 0, 2638, 4543, 0, 652, 0, 0, 1141, 0, 1141, + 0, 2639, 652, 0, 0, 1821, 0, 0, 2640, 0, + 1736, 1736, 1736, 0, 0, 0, 0, 0, 0, 4415, + 0, 0, 1593, 1594, 0, 0, 0, 0, 0, 0, + 652, 0, 0, 0, 2641, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4598, 0, 0, 0, 0, + 0, 0, 2572, 0, 4416, 0, 0, 0, 0, 914, + 914, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 5281, 0, 0, 0, 0, 0, + 4634, 1141, 0, 652, 1821, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 652, 652, 652, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 652, + 1821, 0, 913, 914, 0, 0, 0, 1596, 652, 0, + 652, 0, 652, 913, 902, 0, 0, 0, 0, 652, + 0, 0, 0, 0, 0, 902, 652, 0, 0, 913, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 0, 902, 0, 0, 0, 652, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 904, 1548, 0, 0, + 1821, 0, 0, 971, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 913, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 0, 0, 902, 0, 0, 913, 0, + 0, 913, 913, 1549, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 902, 902, 0, 0, 0, 0, 0, + 0, 0, 0, 911, 0, 0, 652, 911, 911, 0, + 0, 2373, 913, 913, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 902, 902, 2646, 0, 0, 2647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4792, 1550, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 652, 0, 0, + 0, 0, 911, 0, 0, 0, 0, 0, 911, 0, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 1551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 652, 0, 1736, 0, 0, 911, 0, 0, 0, 0, + 0, 1050, 2648, 971, 0, 0, 1736, 0, 0, 1736, + 0, 0, 1087, 1552, 0, 0, 1091, 0, 0, 0, + 0, 0, 0, 1104, 1105, 0, 0, 1111, 0, 1115, + 1116, 0, 0, 0, 0, 0, 913, 0, 0, 0, + 0, 0, 0, 0, 1138, 652, 0, 0, 902, 0, + 0, 0, 0, 1553, 0, 652, 0, 1554, 0, 905, + 0, 0, 1151, 652, 652, 0, 0, 0, 0, 652, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1179, 0, 1181, 0, 0, 0, 1636, + 1556, 0, 0, 0, 0, 1197, 0, 0, 0, 0, + 652, 652, 0, 0, 652, 0, 0, 2112, 2572, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 658, 0, + 5551, 1637, 0, 0, 2638, 35, 0, 0, 0, 0, + 1558, 971, 0, 0, 2639, 0, 0, 0, 0, 1559, + 0, 2640, 0, 0, 0, 0, 0, 0, 1560, 4543, + 0, 0, 0, 3006, 0, 652, 1638, 0, 0, 0, + 0, 652, 0, 0, 0, 0, 0, 2641, 0, 1562, + 0, 0, 0, 0, 0, 0, 0, 4999, 1563, 652, + 0, 0, 0, 1564, 0, 0, 652, 0, 0, 0, + 0, 0, 5014, 0, 0, 911, 5015, 0, 5016, 874, + 0, 0, 652, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 652, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1565, 0, 0, 0, 5056, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 652, 0, + 3851, 0, 0, 914, 0, 3851, 0, 0, 911, 652, + 0, 0, 911, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 652, 0, 1539, 2642, 0, 0, 0, 1821, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3085, 652, 652, 0, + 0, 0, 0, 0, 3102, 0, 0, 0, 0, 0, + 0, 2645, 3006, 0, 652, 0, 0, 0, 1821, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, + 0, 652, 652, 0, 5161, 0, 0, 4543, 0, 0, + 0, 0, 0, 1821, 0, 911, 0, 0, 0, 0, + 0, 0, 0, 1841, 2373, 0, 0, 3160, 0, 0, + 911, 0, 0, 0, 0, 911, 0, 0, 1853, 2646, + 1854, 0, 2647, 0, 0, 0, 0, 0, 0, 0, + 1857, 0, 0, 0, 3006, 0, 0, 1867, 0, 0, + 0, 0, 0, 0, 0, 0, 911, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5210, 5210, 5210, 5210, 0, 5210, 5210, + 5210, 5210, 5210, 0, 0, 0, 0, 0, 0, 0, + 1919, 0, 1921, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 904, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1736, 0, 0, 0, 0, 0, 904, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 658, 0, 658, 0, + 658, 0, 658, 0, 658, 658, 658, 0, 0, 0, + 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2025, 0, 0, 0, 0, 5290, 0, + 5292, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 2572, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 2638, 5562, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 0, 0, 0, 0, 0, 0, 2640, + 719, 0, 0, 0, 0, 3252, 0, 0, 0, 0, + 3547, 0, 0, 0, 2747, 3553, 0, 0, 0, 904, + 0, 0, 902, 0, 0, 2641, 902, 902, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 911, 0, 0, 911, 0, 911, 0, 0, + 0, 0, 911, 0, 0, 0, 722, 3253, 0, 907, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 913, + 0, 0, 0, 723, 0, 913, 0, 0, 0, 0, + 0, 902, 0, 905, 0, 0, 0, 902, 0, 0, + 0, 1056, 2112, 0, 911, 2113, 0, 0, 0, 2114, + 2115, 2116, 911, 0, 0, 0, 0, 0, 0, 905, + 0, 0, 0, 874, 0, 3254, 0, 0, 0, 2638, + 0, 0, 913, 0, 0, 0, 0, 911, 726, 2639, + 0, 0, 0, 0, 902, 0, 2640, 727, 0, 0, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 728, 0, 0, 5424, 5425, 0, 3255, 0, 0, 0, + 0, 0, 2641, 0, 0, 0, 3851, 0, 3851, 3851, + 3851, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 904, 1059, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 904, 0, 2112, 0, 0, 2113, 2645, + 0, 0, 2114, 2115, 2116, 0, 911, 0, 911, 904, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3256, 2638, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 2805, 5476, 0, 0, 0, 0, 2640, + 0, 0, 2373, 732, 0, 0, 0, 0, 0, 0, + 0, 0, 905, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 5504, 0, 0, 0, 0, 0, 0, + 2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1736, 0, 0, 0, 911, 2903, 0, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 5210, 0, 0, 0, + 0, 0, 0, 213, 3257, 0, 0, 737, 0, 0, + 0, 0, 913, 0, 0, 0, 2645, 0, 0, 0, + 908, 0, 0, 0, 902, 0, 0, 0, 911, 0, + 0, 0, 0, 2648, 0, 1063, 0, 0, 3258, 0, + 0, 0, 0, 0, 0, 741, 904, 0, 0, 0, + 0, 0, 742, 0, 0, 743, 911, 0, 0, 2373, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 0, 0, 0, 0, 2646, 744, 0, 2647, 0, 0, + 0, 0, 0, 1065, 0, 2747, 0, 0, 0, 2747, + 746, 2644, 2306, 1066, 0, 905, 0, 902, 748, 0, + 0, 902, 0, 0, 0, 0, 905, 0, 0, 0, + 0, 0, 0, 3259, 0, 0, 0, 0, 0, 2645, + 0, 0, 905, 0, 911, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2572, + 753, 0, 0, 0, 0, 0, 911, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 0, 5572, 2373, 0, 0, 0, 0, 4543, 911, 0, + 2648, 0, 0, 0, 0, 0, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 913, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3034, 902, 0, 0, 913, 0, 0, + 0, 3542, 913, 3851, 0, 0, 0, 0, 0, 902, + 0, 0, 5701, 0, 902, 0, 0, 0, 0, 3558, + 0, 0, 0, 3561, 0, 0, 0, 3564, 3070, 0, + 0, 0, 0, 913, 0, 0, 0, 0, 910, 0, + 911, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 3583, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2648, 0, 0, 2572, 0, 0, 905, + 0, 0, 0, 0, 3135, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 3625, 0, 0, 5634, 0, + 0, 0, 0, 911, 3153, 0, 0, 0, 0, 904, + 0, 0, 0, 0, 0, 1097, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 911, 0, + 3173, 0, 3174, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3183, 0, 3184, + 0, 0, 0, 3684, 0, 658, 0, 658, 0, 658, + 0, 658, 0, 658, 0, 0, 0, 658, 0, 0, + 0, 0, 0, 0, 0, 0, 904, 0, 0, 2572, + 3713, 0, 0, 0, 0, 0, 3722, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 3732, 5665, 0, 0, 3243, 0, 0, 1097, 0, 0, + 3745, 0, 0, 907, 0, 0, 3750, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3763, 0, 0, 907, + 0, 0, 3766, 0, 0, 0, 0, 0, 0, 3774, + 904, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3789, 0, 0, 0, 0, 0, 0, + 1141, 0, 0, 0, 5912, 0, 0, 3815, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1097, 911, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2747, + 0, 0, 3553, 0, 3553, 0, 0, 0, 0, 2747, + 0, 902, 0, 0, 902, 0, 902, 0, 0, 0, + 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 905, 0, 0, 0, 0, 0, 0, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 913, + 0, 0, 0, 902, 0, 0, 0, 0, 0, 0, + 0, 902, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 911, 2747, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2112, 0, 902, 2113, 0, 0, + 0, 2114, 2115, 2116, 0, 0, 0, 0, 0, 905, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2639, 0, 0, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 905, 0, 0, 0, 0, 904, 0, 0, 0, 0, + 0, 0, 0, 913, 2641, 913, 0, 0, 0, 0, + 0, 904, 0, 0, 0, 902, 0, 902, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 0, 0, 1141, + 0, 0, 0, 6084, 908, 6085, 0, 0, 0, 6091, + 6092, 0, 0, 4033, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 908, 0, 4049, 0, 0, 904, 0, 0, 0, 4033, + 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, + 904, 0, 0, 904, 904, 907, 0, 0, 0, 0, + 0, 0, 0, 0, 911, 0, 907, 0, 0, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 902, 904, 904, 0, 0, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 1736, 0, 0, 0, 0, 0, 1736, 0, 0, 0, + 0, 911, 0, 0, 0, 913, 911, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 902, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3553, 0, 0, 0, 0, 2645, 0, + 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 0, + 0, 2373, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 2646, 0, 0, 2647, + 0, 913, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 0, 0, 902, 0, 0, 0, 0, 904, 0, + 0, 0, 910, 3553, 0, 0, 0, 0, 0, 907, + 0, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 913, 0, 0, 910, 0, + 0, 0, 0, 0, 0, 0, 0, 902, 905, 0, + 0, 0, 0, 0, 0, 911, 0, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 905, 905, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2648, 0, 0, 0, 0, 1141, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 913, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4328, 0, 0, 0, 0, 0, 0, + 913, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 910, 902, 0, 0, 0, 0, 0, 2572, 3543, + 3544, 0, 0, 0, 0, 913, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 902, 3559, 3560, + 5667, 3562, 3563, 0, 0, 0, 3566, 3567, 0, 0, + 0, 0, 0, 0, 911, 0, 0, 0, 0, 0, + 0, 3578, 0, 0, 0, 3581, 0, 0, 0, 3584, + 3585, 905, 0, 3588, 3589, 6409, 911, 0, 0, 0, + 3594, 0, 2598, 0, 0, 0, 6413, 0, 0, 0, + 0, 0, 3609, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4413, 0, 3626, 0, 0, 0, 0, 3628, + 0, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 6439, 0, 0, 0, 3634, 0, 0, 0, 3640, 0, + 908, 0, 0, 0, 6409, 0, 0, 0, 0, 3650, + 0, 0, 3654, 0, 3656, 3659, 3661, 0, 0, 911, + 0, 3669, 3672, 0, 0, 0, 0, 0, 0, 6409, + 0, 3685, 5290, 0, 0, 0, 0, 3695, 0, 0, + 0, 3698, 0, 0, 910, 0, 0, 0, 0, 907, + 0, 0, 0, 3708, 3709, 910, 2747, 0, 3714, 0, + 0, 0, 0, 0, 3723, 3724, 0, 0, 902, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 3733, 0, + 0, 3734, 0, 0, 0, 0, 0, 0, 3746, 3747, + 907, 0, 0, 0, 3751, 0, 0, 0, 0, 0, + 0, 0, 0, 4509, 0, 0, 3758, 0, 0, 3761, + 0, 0, 0, 0, 3764, 0, 0, 0, 0, 0, + 3767, 3768, 0, 907, 0, 0, 0, 0, 3776, 0, + 0, 0, 3778, 0, 0, 0, 3785, 3786, 3787, 3788, + 911, 3790, 0, 0, 0, 0, 0, 0, 0, 0, + 3553, 0, 0, 0, 0, 3816, 3817, 0, 3819, 0, + 0, 0, 902, 0, 0, 0, 0, 0, 0, 3829, + 3830, 3831, 0, 0, 0, 0, 0, 0, 3553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 0, 912, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 912, 0, 0, 0, 3883, 0, 910, 0, + 0, 0, 0, 0, 3907, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3919, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 911, 0, 3006, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0, + 0, 4681, 0, 3987, 0, 4685, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 907, 0, 0, + 0, 913, 4001, 0, 4003, 0, 0, 0, 907, 0, + 908, 0, 904, 902, 0, 0, 904, 904, 0, 2641, + 0, 0, 0, 0, 907, 0, 0, 0, 0, 0, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 3553, 0, + 0, 908, 0, 2747, 0, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 902, 0, 0, 0, 0, + 0, 904, 0, 0, 0, 0, 0, 904, 907, 0, + 0, 0, 0, 0, 908, 0, 0, 0, 0, 0, + 0, 0, 0, 907, 0, 0, 907, 907, 0, 4065, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 0, 907, 907, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 0, 0, 0, + 0, 911, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2644, 2306, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 912, 0, + 0, 0, 913, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 902, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 2373, 0, 910, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 0, 905, + 905, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 907, 0, 0, 0, 0, 0, 0, 908, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, + 4910, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 911, 0, 905, 908, 0, 911, 911, 0, + 905, 0, 910, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 913, 0, + 0, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 902, 0, 0, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 908, 0, 0, 908, 908, 0, + 0, 913, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 912, 902, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 913, 0, 0, 0, 904, 908, 908, + 0, 904, 0, 0, 0, 902, 0, 0, 0, 0, + 911, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4329, 5036, 0, 0, 5039, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4336, 0, + 0, 0, 4336, 2572, 0, 0, 0, 4347, 4348, 4349, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 5706, 913, 0, 0, 4361, + 0, 0, 0, 911, 0, 0, 0, 0, 902, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4390, 4391, 4392, 4393, 910, 0, 0, 0, + 0, 0, 0, 0, 904, 0, 0, 910, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 0, 910, 904, 0, 5121, 0, 0, 0, + 4414, 0, 4418, 4419, 4420, 0, 0, 0, 0, 0, + 0, 0, 908, 3006, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 0, 905, 0, 0, + 0, 0, 1578, 0, 0, 0, 0, 0, 1579, 0, + 0, 0, 0, 0, 0, 1645, 0, 910, 0, 0, + 0, 0, 0, 0, 0, 5508, 0, 913, 0, 0, + 0, 0, 910, 0, 0, 910, 910, 1646, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1581, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 4033, 0, 910, 910, 0, 0, + 905, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 0, 1647, + 0, 0, 4504, 0, 0, 0, 0, 0, 0, 0, + 0, 4510, 0, 0, 0, 0, 0, 0, 0, 0, + 1582, 0, 0, 0, 0, 0, 0, 1583, 0, 0, + 0, 1584, 0, 0, 0, 0, 0, 4520, 4521, 0, + 0, 0, 4522, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1585, + 0, 0, 912, 0, 4564, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 913, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 905, 0, 902, + 0, 1648, 0, 0, 0, 1586, 0, 0, 0, 0, + 0, 0, 905, 912, 0, 0, 0, 905, 0, 0, + 0, 0, 0, 0, 0, 0, 4601, 0, 0, 0, + 910, 4607, 0, 0, 0, 0, 0, 4613, 0, 0, + 0, 0, 0, 0, 0, 0, 912, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3553, 1649, + 0, 0, 0, 0, 1650, 0, 0, 4652, 0, 1651, + 902, 904, 0, 0, 904, 0, 904, 0, 0, 0, + 0, 904, 0, 0, 0, 1652, 0, 0, 0, 1588, + 0, 0, 0, 0, 0, 0, 4667, 0, 4668, 1589, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 1590, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 1653, 1591, 0, 904, 0, 0, 0, 0, 0, 0, + 0, 904, 0, 0, 2638, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2639, 907, 0, 0, 0, 907, + 907, 2640, 0, 0, 0, 0, 904, 0, 0, 0, + 0, 0, 0, 1654, 0, 0, 1593, 1594, 1655, 0, + 0, 0, 0, 0, 0, 0, 5393, 2641, 3553, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5403, 0, + 902, 0, 1656, 0, 0, 0, 0, 0, 1657, 0, + 0, 0, 0, 0, 907, 0, 0, 0, 0, 0, + 907, 0, 0, 1658, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 0, 904, 0, 0, + 912, 0, 0, 911, 0, 0, 0, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 907, 0, 0, + 0, 0, 0, 0, 1659, 0, 0, 912, 0, 0, + 0, 1596, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 905, 0, 0, 905, 0, 905, + 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 0, 912, 0, 2644, 2306, 0, 0, 0, 0, 913, + 0, 0, 0, 904, 913, 913, 912, 0, 0, 912, + 912, 902, 0, 0, 0, 0, 902, 902, 0, 0, + 0, 2645, 0, 0, 0, 0, 905, 0, 0, 0, + 0, 0, 0, 0, 905, 0, 0, 0, 0, 0, + 912, 912, 0, 0, 0, 0, 0, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 905, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 904, 4033, 0, 0, 2646, + 0, 0, 2647, 4903, 0, 4904, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 0, 4911, 0, + 908, 908, 0, 0, 0, 0, 0, 0, 0, 0, + 4917, 0, 0, 0, 4920, 0, 5508, 913, 0, 0, + 0, 0, 0, 0, 0, 4933, 0, 0, 0, 902, + 0, 0, 0, 0, 0, 0, 0, 907, 905, 0, + 905, 0, 0, 904, 4959, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 0, 908, 4963, 0, 0, 904, 0, 0, 0, 0, + 4967, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 913, 0, 0, 0, 912, 0, 0, 904, 0, 0, + 0, 0, 902, 0, 0, 5002, 0, 0, 0, 5006, + 0, 0, 0, 0, 0, 0, 0, 4033, 908, 4033, + 907, 0, 0, 0, 907, 5017, 5018, 5019, 5020, 0, + 0, 0, 0, 0, 0, 5024, 5025, 5026, 5027, 0, + 0, 0, 0, 0, 5029, 5030, 905, 0, 0, 0, + 5037, 5038, 0, 5040, 5041, 5042, 5043, 5044, 5045, 5046, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5055, + 0, 0, 0, 5058, 5059, 5060, 5061, 0, 0, 904, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 905, 2572, 0, 0, 0, 0, 0, 4336, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 0, 6061, 0, 5081, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 0, 0, 907, 0, 0, + 0, 0, 904, 0, 910, 0, 0, 0, 910, 910, + 0, 0, 907, 0, 0, 2112, 0, 907, 2113, 0, + 0, 0, 2114, 2115, 2116, 0, 0, 904, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 907, 0, + 0, 0, 2639, 0, 0, 0, 905, 0, 0, 2640, + 0, 5162, 0, 910, 0, 0, 0, 0, 0, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 0, 4336, 0, 0, 0, 908, 2112, + 905, 5187, 2113, 5188, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 0, 910, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 0, 0, + 0, 5203, 0, 0, 0, 0, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2641, + 0, 908, 0, 0, 0, 908, 0, 0, 2112, 0, + 0, 2113, 905, 0, 0, 2114, 2115, 2116, 904, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 2638, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 2639, 0, 0, 0, 0, + 0, 0, 2640, 0, 0, 0, 0, 0, 0, 0, + 0, 2644, 2306, 0, 0, 905, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2641, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645, + 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, + 0, 0, 904, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 908, 0, 0, 0, 0, 908, 0, + 0, 0, 2373, 0, 907, 0, 0, 907, 0, 907, + 904, 0, 0, 0, 907, 2644, 2306, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 910, 0, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2645, 5347, 5348, 5349, 0, 0, 0, + 5350, 5351, 5352, 5353, 0, 0, 907, 5355, 0, 0, + 0, 0, 0, 0, 907, 0, 2642, 0, 0, 0, + 913, 2643, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 902, 0, 0, 0, 2373, 0, 0, 907, + 0, 0, 0, 0, 2644, 2306, 0, 0, 0, 910, + 0, 2646, 0, 910, 2647, 0, 0, 0, 5388, 5389, + 5390, 5391, 5392, 2648, 5394, 5395, 0, 0, 0, 0, + 0, 905, 2645, 0, 0, 0, 5404, 5405, 0, 0, + 0, 0, 0, 0, 1736, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 904, 0, 0, 0, 0, 0, 0, + 0, 5411, 0, 0, 0, 2373, 0, 0, 907, 0, + 907, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2646, 0, 0, 2647, 0, 0, 0, 0, 912, 0, + 0, 0, 912, 912, 0, 0, 0, 2648, 0, 0, + 904, 0, 0, 0, 0, 904, 910, 0, 0, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 0, 2572, + 0, 910, 0, 0, 0, 0, 910, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, + 0, 6072, 0, 905, 0, 0, 0, 912, 0, 0, + 0, 0, 0, 912, 0, 0, 0, 910, 0, 0, + 0, 0, 0, 5474, 0, 0, 907, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2648, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 908, 0, + 908, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 912, 4033, 0, 2572, 0, 0, 0, 0, 0, 0, + 907, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 6095, 0, 0, 5525, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 907, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5531, 0, 0, 0, 904, 0, 0, 0, 0, 0, + 908, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2572, 0, 0, 0, 905, 0, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 6315, 0, 907, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 907, 0, + 0, 0, 972, 905, 0, 0, 0, 0, 905, 0, + 0, 972, 0, 0, 0, 0, 0, 0, 0, 908, + 907, 908, 0, 0, 0, 972, 0, 0, 0, 658, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 904, 0, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 0, 0, + 912, 0, 2639, 910, 0, 0, 910, 0, 910, 2640, + 0, 0, 0, 910, 0, 5654, 0, 0, 0, 0, + 0, 0, 907, 904, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5664, 2641, 0, 908, 0, 0, + 5670, 5671, 0, 0, 0, 904, 0, 0, 0, 0, + 5682, 0, 0, 0, 0, 910, 0, 5684, 0, 0, + 0, 0, 0, 910, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 912, 0, 907, 0, 912, 0, 0, + 0, 908, 0, 0, 0, 0, 0, 905, 910, 0, + 0, 0, 5736, 5737, 0, 0, 0, 0, 0, 0, + 907, 0, 0, 0, 0, 5745, 0, 5747, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 0, 904, 0, + 0, 0, 5761, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4336, 0, 0, + 0, 0, 0, 2642, 0, 5795, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 0, 0, 910, 0, 910, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, + 912, 2644, 2306, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 912, 0, 0, 0, 908, + 912, 0, 0, 905, 0, 0, 0, 0, 0, 2645, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 908, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 0, 0, 0, 5851, 0, 0, 0, 0, + 0, 0, 2373, 0, 0, 0, 905, 0, 0, 5866, + 0, 907, 0, 0, 0, 910, 0, 2646, 0, 0, + 2647, 0, 0, 0, 0, 0, 0, 0, 905, 0, + 0, 0, 0, 5883, 0, 0, 963, 973, 0, 0, + 0, 0, 0, 0, 963, 0, 973, 963, 0, 0, + 0, 0, 0, 908, 0, 0, 0, 0, 0, 910, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1578, + 0, 0, 0, 0, 0, 1579, 0, 910, 0, 0, + 0, 0, 1645, 0, 0, 0, 0, 0, 0, 0, + 5943, 905, 0, 0, 0, 907, 908, 0, 0, 0, + 0, 0, 976, 2648, 1646, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1010, 0, 0, 972, 0, 904, + 1581, 908, 0, 907, 0, 1029, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 0, 0, + 0, 0, 972, 0, 0, 910, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 1647, 0, 0, 0, + 4336, 0, 0, 0, 0, 0, 0, 910, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 1582, 0, 0, + 0, 0, 0, 0, 1583, 972, 0, 0, 1584, 910, + 904, 0, 0, 972, 6023, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 2572, + 0, 0, 905, 0, 0, 0, 1585, 972, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 912, 0, 0, + 912, 6332, 912, 0, 0, 6051, 0, 912, 950, 952, + 0, 0, 955, 0, 0, 0, 0, 0, 1648, 0, + 0, 0, 1586, 0, 0, 0, 0, 0, 0, 6073, + 0, 0, 1013, 0, 0, 0, 907, 0, 0, 1023, + 972, 910, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 908, 0, 0, 0, 0, 912, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 972, 0, + 0, 0, 0, 0, 0, 0, 1649, 0, 0, 0, + 904, 1650, 912, 907, 0, 0, 1651, 0, 907, 6113, + 0, 0, 0, 972, 910, 0, 0, 0, 0, 0, + 0, 0, 1652, 0, 0, 0, 1588, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1589, 0, 0, 910, + 0, 0, 905, 0, 0, 0, 1590, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1653, 1591, 0, + 0, 0, 2112, 0, 0, 2113, 908, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 972, 0, 0, 0, 0, + 0, 912, 0, 912, 0, 0, 0, 0, 0, 2638, + 0, 0, 0, 0, 908, 0, 0, 0, 0, 2639, + 3752, 0, 0, 1593, 1594, 1655, 2640, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 0, 0, 0, + 0, 6207, 0, 0, 0, 0, 0, 0, 0, 1656, + 0, 0, 2641, 0, 0, 3753, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1658, 904, 0, 0, 6220, 0, 904, 904, 0, 0, + 0, 0, 0, 0, 0, 6230, 0, 907, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 1822, 0, 0, 0, 0, + 0, 973, 972, 0, 0, 0, 0, 973, 0, 0, + 910, 1659, 0, 0, 0, 0, 0, 0, 1596, 973, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 912, 0, 973, 0, 0, 0, 0, + 0, 0, 0, 905, 0, 0, 0, 908, 0, 963, + 973, 0, 0, 0, 0, 0, 963, 1049, 973, 963, + 2642, 912, 0, 1081, 0, 2643, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 904, + 0, 0, 973, 0, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 907, 908, 0, 0, 6309, 0, 908, + 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 0, 912, + 0, 0, 910, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 904, 0, 0, 0, 907, 0, 0, 0, + 0, 912, 0, 0, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 973, 0, 0, 0, 0, 907, 0, + 0, 0, 0, 912, 2646, 0, 0, 2647, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 973, 0, + 0, 0, 0, 0, 905, 0, 0, 0, 972, 905, + 905, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1083, 0, 1086, 0, 972, 1088, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1114, 0, 0, 0, 1390, 0, 1118, 0, 0, 0, + 0, 907, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 1415, 0, 912, 0, 0, 908, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2648, 0, 0, 0, 0, 910, 0, 0, 0, 0, + 0, 0, 2112, 0, 0, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 6450, 0, 0, 0, 0, 912, 2638, + 0, 0, 905, 3498, 0, 0, 0, 0, 0, 2639, + 0, 0, 910, 0, 0, 1473, 2640, 910, 0, 0, + 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2641, 0, 0, 972, 0, 0, 0, 0, + 1823, 0, 907, 972, 972, 0, 0, 973, 0, 0, + 0, 0, 1609, 0, 908, 905, 2572, 0, 963, 0, + 0, 0, 963, 0, 963, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 0, 0, 6390, 0, + 0, 0, 0, 0, 3499, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1822, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, + 2112, 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 908, + 0, 0, 0, 0, 0, 0, 0, 2638, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2639, 0, 0, + 2642, 0, 0, 0, 2640, 2643, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 910, 1872, 0, 0, + 0, 973, 0, 0, 912, 0, 0, 0, 2644, 2306, + 2641, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1906, 1909, 1910, 0, + 0, 0, 908, 1610, 1611, 0, 2645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 973, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 2646, 973, 0, 2647, 912, 0, + 0, 0, 0, 4147, 1840, 0, 0, 0, 0, 4148, + 0, 0, 910, 0, 0, 0, 0, 0, 0, 1852, + 0, 0, 0, 0, 0, 0, 912, 0, 2642, 0, + 0, 0, 0, 2643, 0, 1390, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1874, 1875, 0, 908, 0, 0, 2644, 2306, 0, 0, + 0, 0, 904, 1390, 0, 910, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1912, 972, 0, 0, + 0, 0, 0, 0, 2645, 0, 0, 910, 0, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1950, 1952, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2373, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 973, 973, + 0, 0, 2646, 0, 0, 2647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3500, 0, 0, 0, 0, + 910, 0, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1823, 972, 908, 0, 0, 2572, 0, 0, 0, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 912, 0, 2632, 0, + 0, 912, 0, 0, 0, 0, 0, 1822, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4149, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 907, 0, 0, 0, 972, 907, + 907, 0, 0, 0, 908, 0, 972, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 905, 0, 0, 2723, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 972, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, 972, 0, - 0, 936, 0, 0, 936, 0, 0, 0, 0, 0, - 1900, 1902, 0, 0, 0, 0, 0, 0, 0, 925, - 925, 0, 0, 0, 2050, 0, 925, 2051, 839, 0, - 0, 2052, 2053, 2054, 0, 0, 0, 0, 0, 1519, - 0, 0, 0, 0, 0, 1954, 0, 0, 0, 0, - 2543, 0, 925, 0, 936, 0, 0, 3115, 936, 936, - 2544, 839, 839, 0, 925, 0, 0, 2545, 0, 0, - 0, 839, 0, 0, 0, 0, 0, 0, 839, 0, - 0, 0, 0, 0, 772, 772, 0, 0, 3151, 0, - 0, 0, 1337, 2546, 1337, 0, 0, 0, 0, 1337, - 1337, 0, 0, 0, 0, 0, 1337, 1337, 1337, 0, - 0, 1337, 0, 1337, 972, 1337, 1337, 1337, 1337, 1337, - 1337, 3829, 0, 1337, 0, 1337, 1337, 0, 2050, 1337, - 0, 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, - 0, 0, 0, 0, 0, 1502, 1337, 1337, 1337, 0, - 0, 0, 0, 0, 2543, 0, 0, 0, 0, 0, - 0, 0, 0, 1337, 2544, 0, 0, 0, 0, 0, - 0, 2545, 0, 0, 0, 0, 0, 0, 1532, 0, - 1503, 0, 3203, 0, 1533, 0, 0, 0, 2652, 0, - 0, 3421, 0, 3421, 0, 0, 0, 2546, 2652, 0, - 0, 0, 0, 925, 0, 0, 0, 2547, 0, 0, - 0, 0, 2548, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1535, - 0, 0, 0, 0, 2549, 2238, 0, 0, 0, 0, - 0, 1504, 0, 0, 0, 0, 887, 0, 0, 2550, - 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, - 1070, 0, 0, 0, 0, 0, 1070, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1505, 1070, 2652, - 0, 0, 0, 0, 0, 1536, 0, 0, 0, 0, - 2290, 2050, 1537, 0, 2051, 1538, 0, 0, 2052, 2053, - 2054, 0, 0, 0, 2551, 0, 1337, 2552, 3830, 0, - 0, 2547, 923, 1506, 0, 923, 2548, 2543, 0, 0, - 0, 0, 1539, 0, 0, 935, 935, 2544, 0, 0, - 0, 0, 0, 0, 2545, 0, 0, 0, 2549, 2238, - 935, 0, 0, 935, 0, 0, 1337, 0, 0, 887, - 0, 887, 0, 2550, 0, 1508, 1540, 0, 0, 0, - 2546, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5024, 1510, 0, 0, - 2733, 0, 0, 935, 2290, 0, 2553, 935, 935, 1337, - 0, 0, 0, 0, 0, 0, 0, 0, 2551, 0, - 0, 2552, 0, 0, 0, 2772, 0, 0, 0, 0, - 0, 1541, 0, 0, 0, 1542, 0, 0, 0, 35, - 0, 0, 0, 0, 1512, 1543, 0, 0, 0, 0, - 0, 0, 0, 1513, 1544, 887, 0, 0, 0, 0, - 0, 1514, 0, 0, 0, 0, 1545, 0, 0, 2735, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1516, 1688, 0, 2547, 0, 0, 0, 1688, 2548, - 1517, 0, 0, 0, 1518, 0, 0, 887, 0, 0, - 1046, 0, 2862, 0, 0, 2793, 2479, 0, 1547, 1548, - 2553, 2549, 2238, 3832, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 0, 0, 3421, 2550, 3949, 0, 0, - 3950, 0, 2888, 2889, 2890, 2891, 0, 0, 0, 2794, - 0, 0, 0, 0, 0, 0, 0, 0, 1519, 0, - 1113, 688, 3833, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2290, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2551, 0, 0, 1337, 1337, 1337, 1337, 1337, 1337, - 1337, 1337, 1337, 887, 1337, 0, 0, 0, 0, 0, - 0, 0, 839, 1337, 0, 0, 1337, 1550, 0, 0, - 2479, 0, 0, 839, 0, 3421, 0, 0, 2480, 2481, - 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, - 0, 0, 0, 0, 3951, 0, 0, 887, 0, 0, - 0, 0, 0, 0, 0, 839, 1212, 1337, 0, 0, - 925, 1337, 0, 0, 1337, 0, 1337, 0, 0, 1337, - 0, 0, 0, 1337, 0, 0, 0, 0, 0, 0, - 0, 0, 1230, 2553, 0, 0, 0, 0, 2944, 2945, - 1340, 0, 0, 1349, 1113, 1353, 3359, 0, 0, 0, - 0, 0, 839, 839, 2962, 0, 0, 0, 0, 0, - 0, 0, 0, 1337, 0, 0, 0, 0, 0, 0, - 0, 0, 1337, 1337, 0, 0, 0, 0, 0, 0, - 887, 0, 0, 0, 0, 0, 839, 0, 3005, 3006, - 3007, 3008, 0, 0, 3403, 0, 3408, 0, 0, 0, - 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2050, 0, 0, 2051, 0, 0, - 0, 2052, 2053, 2054, 0, 0, 0, 0, 0, 887, - 0, 0, 0, 2479, 0, 0, 772, 0, 772, 0, - 2543, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 2544, 0, 0, 0, 0, 1337, 0, 2545, 0, 0, - 0, 0, 0, 0, 0, 0, 620, 0, 3082, 936, - 972, 936, 936, 2050, 3086, 925, 2051, 0, 839, 0, - 2052, 2053, 2054, 2546, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3203, 802, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544, - 2751, 0, 0, 0, 0, 0, 2545, 0, 3517, 839, - 0, 0, 0, 0, 0, 3528, 0, 0, 0, 0, - 0, 0, 0, 0, 839, 0, 0, 0, 0, 0, - 0, 0, 2546, 0, 0, 1113, 0, 0, 0, 0, - 0, 3203, 0, 0, 0, 0, 839, 0, 0, 0, - 0, 0, 0, 2050, 0, 0, 2051, 0, 0, 0, - 2052, 2053, 2054, 0, 0, 0, 0, 839, 0, 2652, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2543, - 802, 0, 0, 0, 0, 0, 0, 2547, 0, 2544, - 0, 0, 2548, 0, 0, 0, 2545, 0, 0, 0, - 0, 0, 2050, 925, 0, 2051, 925, 0, 0, 2052, - 2053, 2054, 0, 0, 2549, 2238, 0, 0, 0, 0, - 0, 0, 2546, 0, 0, 0, 0, 0, 0, 2550, - 0, 0, 839, 839, 0, 0, 0, 0, 2544, 0, - 0, 3247, 0, 0, 0, 2545, 2547, 3671, 0, 3674, - 3676, 2548, 0, 0, 0, 0, 0, 0, 0, 3421, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2290, 2546, 0, 2549, 2238, 619, 0, 0, 0, 0, - 1337, 1337, 1337, 0, 2551, 3421, 1337, 2552, 2550, 0, - 0, 0, 0, 0, 925, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 925, 0, 0, - 0, 0, 0, 1337, 0, 925, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1979, 0, 0, 2751, 2290, - 0, 0, 0, 839, 0, 0, 2547, 0, 0, 3776, - 0, 2548, 772, 2551, 0, 0, 0, 0, 1113, 0, - 0, 0, 0, 0, 925, 3787, 0, 0, 0, 0, - 0, 0, 0, 2549, 2238, 3671, 0, 0, 0, 0, - 0, 0, 0, 0, 3203, 925, 2553, 3809, 2550, 0, - 0, 0, 0, 0, 0, 2547, 0, 0, 0, 0, - 2548, 0, 0, 0, 0, 923, 0, 0, 935, 0, - 935, 935, 0, 3203, 0, 0, 0, 0, 0, 0, - 0, 0, -2829, -2829, 0, 0, 925, 0, 925, 2290, - 925, 0, 0, 0, 0, 2045, 0, 2550, 887, 0, - 0, 0, 0, 2551, 2048, 2553, 2552, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2503, 0, - 0, 0, 0, 1954, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -2829, 1113, - 0, 0, 2522, 2523, 0, 3421, 2479, 1113, 1113, 0, - 2652, 0, 2551, 0, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 0, 0, 0, 0, 0, 0, 0, - 4002, 0, 0, 0, 0, 0, 620, 925, 0, 936, - 0, 936, 936, 0, 925, 0, 0, 0, 0, 0, - 0, 1337, 0, 0, 0, 2553, 1337, 0, 0, 0, - 0, 0, 0, 2907, 0, 2479, 0, 0, 0, 0, - 0, 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 1337, 1337, 1337, 0, 0, 1337, 0, - 0, 0, 0, 0, 0, 0, 1337, 1337, 1337, 1337, - 0, 0, 0, 0, 2553, 0, 0, 0, 0, 0, - 0, 0, 1337, 0, 0, 1337, 0, 1337, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, - 1337, 0, 0, 1337, 0, 0, 0, 0, 0, 0, - 1532, 0, 0, 887, 0, 0, 1533, 0, 0, 0, - 972, 0, 1337, 1599, 1337, 2479, 1337, 0, 0, 3203, - 0, 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 0, 2931, 1600, 1337, 0, 0, 0, - 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1535, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 839, 0, 0, 2479, 0, 0, 0, 3247, 0, - 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, - 2488, 0, 0, 0, 619, 0, 1601, 0, 0, 620, - 0, 0, 3359, 4075, 0, 2986, 0, 4075, 4089, 4075, - 0, 0, 0, 3003, 1337, 0, 0, 1536, 0, 1337, - 0, 2907, 0, 0, 1537, 0, 0, 1538, -136, 0, - 0, 0, 2860, 0, 1337, 0, 0, 0, 887, 0, - 2868, 0, 0, 0, 0, 0, 0, 0, 3359, 0, - 1, 0, 4120, 0, 1539, 4123, 3359, 0, 3408, 0, - 2, 0, 3, 4, 0, 3061, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, - 5, 0, 0, 0, 0, 1602, 0, 0, 1540, 0, - 6, 0, 2907, 0, 0, 0, 5847, 0, 887, 1337, - 0, 0, 7, 0, 8, 9, 0, 0, 0, 0, + 0, 0, 0, 0, 2572, 0, 0, 0, 0, 0, + 0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, + 2580, 2581, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 907, 0, 0, 0, 0, 0, 0, 0, + 912, 2837, 0, 0, 908, 0, 0, 0, 0, 0, + 2866, 0, 0, 2112, 0, 0, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 910, 2904, 0, 0, 0, 0, 0, 2916, 2916, + 2639, 0, 2916, 0, 0, 907, 0, 2640, 0, 0, + 0, 0, 973, 0, 0, 2934, 0, 0, 2937, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 910, 0, 0, 0, 912, 0, 0, 1822, + 0, 0, 0, 0, 0, 0, 2990, 0, 0, 0, + 0, 0, 0, 0, 2825, 0, 0, 0, 0, 0, + 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 908, 0, 0, 0, 2870, + 908, 908, 0, 0, 0, 0, 0, 0, 0, 912, + 0, 0, 0, 0, 0, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 912, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 1823, 0, 0, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 2644, + 2306, 0, 910, 2640, 0, 973, 0, 0, 2960, 0, + 0, 0, 0, 973, 0, 0, 0, 1365, 1365, 0, + 3032, 973, 0, 0, 0, 0, 0, 2645, 0, 2641, + 0, 3035, 0, 0, 912, 0, 0, 0, 2986, 2987, + 2988, 2989, 0, 908, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 963, 963, 0, 973, 973, 0, 0, 0, + 2373, 0, 0, 3079, 2916, 0, 0, 963, 0, 973, + 963, 0, 0, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 973, 973, 0, 0, 0, 1365, 3114, 0, + 0, 0, 0, 0, 0, 3127, 908, 0, 0, 0, + 0, 0, 0, 0, 0, 4782, 0, 0, 0, 0, + 0, 6160, 0, 0, 0, 0, 0, 0, 0, 0, + 963, 0, 0, 0, 963, 963, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 910, 0, 912, 0, 0, 910, 910, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2644, 2306, 0, 3188, 0, + 0, 2648, 0, 0, 0, 3043, 3044, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4783, 3061, 0, 2645, 0, 0, 0, 0, 0, 0, + 0, 1390, 1390, 0, 0, 0, 0, 0, 1733, 1737, + 0, 0, 0, 0, 0, 0, 0, 0, 3242, 0, + 0, 3244, 0, 0, 0, 3104, 3105, 3106, 3107, 0, + 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, + 0, 0, 0, 0, 1823, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 910, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2572, 0, 6161, + 0, 0, 0, 0, 0, 912, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3181, 0, 0, 0, + 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 910, 907, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 912, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2638, 0, 0, 4074, 0, 0, + 0, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 0, 0, 0, 0, 0, 0, 0, + 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2054, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 972, 912, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2080, + 0, 0, 0, 972, 0, 0, 0, 972, 0, 0, + 0, 972, 3371, 0, 2112, 0, 0, 2113, 0, 0, + 972, 2114, 2115, 2116, 0, 0, 0, 0, 2099, 2100, + 2101, 0, 2103, 0, 0, 972, 0, 0, 0, 0, + 0, 2638, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2639, 0, 2590, 0, 0, 0, 0, 2640, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 972, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2641, 0, 0, 0, 0, 972, + 972, 0, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, + 0, 2645, 0, 0, 0, 0, 1822, 972, 0, 0, + 1822, 0, 0, 0, 0, 0, 0, 912, 0, 0, + 0, 0, 912, 912, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 1822, 0, 2690, 0, + 972, 0, 2702, 2707, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 972, 0, 0, 0, 0, 2646, + 0, 972, 2647, 0, 972, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0, + 972, 0, 0, 0, 0, 0, 972, 0, 0, 0, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 2644, 2306, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 972, 0, 0, 0, 912, 1822, 0, 2645, 0, + 0, 0, 972, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3429, 0, 0, + 0, 0, 0, 0, 0, 1823, 0, 0, 3434, 0, + 0, 2373, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2646, 0, 912, 2647, + 0, 0, 1822, 0, 0, 0, 0, 0, 0, 0, + 1473, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 910, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, + 0, 0, 973, 0, 0, 0, 973, 1473, 1473, 0, + 0, 2572, 0, 0, 0, 973, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 973, 0, 0, 0, 0, 0, 0, 1733, 1733, 1733, + 0, 1390, 2648, 0, 0, 0, 0, 963, 0, 963, + 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2112, 0, 973, 2113, 0, 0, 0, 2114, + 2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 973, 973, 0, 0, 0, 2638, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639, + 0, 0, 0, 0, 0, 0, 2640, 972, 0, 1822, + 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1823, 973, 0, 0, 1823, 972, 0, 0, 0, + 0, 0, 2641, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4084, 2572, 973, + 0, 1823, 0, 0, 0, 973, 0, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 973, + 0, 0, 0, 0, 0, 0, 973, 3653, 0, 973, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 3675, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 973, 0, 0, 3703, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1822, 973, 0, 0, 0, 0, 1822, 0, 0, + 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, + 2642, 1823, 0, 0, 0, 2643, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3608, 0, 0, 0, 0, 2644, 2306, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3783, 3784, 0, 0, 0, 0, 2645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1823, 0, 0, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2646, 0, 3270, 2647, 0, 0, + 0, 0, 0, 0, 0, 3288, 3288, 3288, 3288, 3298, + 3304, 3288, 3307, 3288, 3288, 0, 0, 4120, 0, 3314, + 0, 3315, 0, 3317, 0, 0, 3331, 3334, 3339, 0, + 0, 0, 3909, 0, 3348, 0, 0, 3353, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3757, 0, 0, + 3760, 0, 0, 0, 3361, 3362, 3363, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3364, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 972, 912, 0, + 2648, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 1823, 0, 0, 972, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 973, 0, 0, 0, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 963, 0, 963, 963, 3855, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3868, 0, 0, 0, 0, 0, 0, 0, + 3877, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1822, 1822, 1822, 0, 0, 2572, 0, 0, 3921, + 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, + 2578, 2579, 2580, 2581, 0, 0, 972, 0, 0, 3372, + 3945, 0, 0, 0, 0, 0, 1823, 0, 0, 0, + 0, 0, 1823, 0, 0, 972, 0, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 0, 0, 4000, 2638, 4002, 0, 4152, 0, 0, + 0, 0, 0, 3391, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 2583, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 2638, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 3393, + 0, 0, 0, 2640, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 2583, 0, 4057, 0, 0, 0, 0, 0, 2641, + 4064, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 4218, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1822, 0, 0, 0, 0, 1473, + 972, 0, 972, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2112, 0, 972, 2113, 972, 0, 0, + 2114, 2115, 2116, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 4164, 0, 0, 0, 0, 0, 0, + 2639, 973, 973, 2644, 2306, 0, 0, 2640, 4157, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 973, 0, 0, 973, 0, 2642, 0, 0, + 0, 2645, 2643, 2641, 972, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 2644, 2306, 0, 0, 0, + 0, 0, 0, 3400, 3401, 3402, 3403, 3404, 3405, 3406, + 3407, 3408, 0, 3409, 2373, 0, 972, 0, 0, 2641, + 0, 0, 0, 2645, 1365, 0, 0, 1733, 0, 2646, + 0, 0, 2647, 0, 0, 972, 0, 0, 0, 972, + 0, 0, 0, 0, 0, 0, 1823, 1823, 1823, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 2373, 0, 3364, 0, + 0, 973, 3372, 0, 0, 3391, 0, 3393, 0, 0, + 3446, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 973, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 0, 0, 0, 0, 2644, + 2306, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 2100, 2101, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 2583, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 4436, 0, 0, 2644, 2306, 0, 0, 1822, + 0, 0, 2916, 0, 0, 0, 0, 2648, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2373, 4332, 4333, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 973, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 0, 3586, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2572, 0, 0, 0, 0, 2373, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 1823, + 0, 2646, 0, 0, 2647, 973, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 2648, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, + 0, 0, 0, 0, 0, 4568, 4569, 4570, 0, 973, + 0, 0, 0, 0, 972, 0, 2638, 2648, 0, 4789, + 0, 0, 4579, 0, 0, 0, 2639, 2112, 0, 0, + 2113, 0, 0, 2640, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 973, 0, 4712, 2638, 4604, 4606, 0, 0, 2641, + 4611, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 973, 2640, 0, 0, 973, 0, 1822, 2572, 0, 0, + 0, 1822, 0, 1822, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 973, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1822, + 0, 0, 0, 0, 4517, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 3841, 3842, 1733, 0, 0, + 0, 3846, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 2583, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 972, 0, 3875, 972, + 0, 0, 0, 0, 0, 0, 1390, 0, 0, 2583, + 0, 0, 0, 3327, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 0, 0, 0, 0, 0, 2583, 2583, + 2583, 0, 2583, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1823, 2644, 2306, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 2112, 0, + 0, 2113, 0, 2645, 0, 2114, 2115, 2116, 0, 0, + 0, 0, 0, 2644, 2306, 0, 0, 0, 0, 972, + 972, 0, 0, 0, 0, 2638, 0, 0, 0, 0, + 972, 0, 0, 0, 0, 2639, 0, 0, 0, 0, + 0, 2645, 2640, 0, 4670, 0, 2373, 972, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 2641, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, + 0, 0, 2647, 4822, 4823, 4824, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5231, + 0, 0, 0, 0, 0, 0, 0, 0, 972, 0, + 0, 1822, 0, 0, 0, 0, 0, 4070, 0, 0, + 0, 0, 4076, 0, 0, 0, 0, 0, 0, 973, + 0, 0, 0, 2112, 0, 0, 2113, 2648, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 5241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 0, 0, 0, 2642, 0, 0, 0, + 2639, 2643, 0, 0, 2103, 2648, 0, 2640, 0, 0, + 0, 0, 0, 0, 0, 3339, 0, 3339, 3339, 0, + 0, 1823, 0, 0, 2644, 2306, 1823, 0, 1823, 0, + 0, 4167, 0, 2641, 4170, 0, 4172, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2645, 0, 1823, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 4197, 0, 4200, 0, 4202, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 0, 0, 0, 0, 2373, 0, 0, 0, 0, + 0, 973, 0, 0, 973, 0, 0, 0, 0, 0, + 2646, 2572, 0, 2647, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 5247, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4272, 972, 0, 0, 0, 2690, 0, 2644, + 2306, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2707, 0, 973, 973, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 2648, 2645, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2112, 0, 0, + 2113, 0, 973, 0, 2114, 2115, 2116, 0, 0, 0, + 972, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 972, 0, 2638, 0, 0, 0, 0, 5091, + 2373, 0, 0, 0, 2639, 0, 0, 4322, 0, 2583, + 0, 2640, 0, 0, 0, 2646, 0, 0, 2647, 0, + 0, 0, 0, 0, 0, 0, 0, 972, 0, 0, + 0, 5123, 0, 0, 0, 0, 0, 2641, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 973, 0, 0, 1823, 0, 0, 0, + 0, 0, 2572, 3127, 0, 0, 0, 4357, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 5181, 0, + 0, 0, 0, 0, 0, 1822, 0, 0, 0, 2583, + 0, 2648, 0, 0, 0, 3188, 0, 0, 0, 0, + 0, 2583, 5078, 0, 972, 0, 2583, 0, 0, 0, + 5248, 0, 0, 0, 0, 0, 5080, 2112, 0, 0, + 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 2638, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2639, 0, 0, 0, 0, 0, + 0, 2640, 0, 2644, 2306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2641, 0, 0, + 972, 2645, 0, 0, 0, 0, 0, 2572, 0, 0, + 0, 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 5284, 5285, 5286, 5287, 0, 1733, 0, 2646, + 0, 0, 2647, 1733, 0, 0, 0, 0, 0, 5249, + 0, 0, 0, 0, 0, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2642, 0, 0, 0, 0, + 2643, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 972, 0, 972, 0, 973, 0, 0, 0, 0, + 0, 0, 4591, 2644, 2306, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 2648, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 2645, 2114, 2115, 2116, 0, 0, 0, 0, 0, + 0, 972, 973, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2638, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2639, 0, 0, 0, 0, 0, 0, 2640, + 0, 0, 0, 0, 2373, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646, + 0, 1822, 2647, 0, 0, 2641, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1823, 2572, 0, 0, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 973, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4713, 0, 0, 0, 0, 0, 0, 0, 4717, + 0, 4718, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3288, 0, 0, 0, 4731, + 3288, 3288, 0, 0, 0, 2648, 3304, 0, 0, 4739, + 0, 0, 4741, 0, 0, 0, 0, 0, 4743, 0, + 4744, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0, + 0, 0, 0, 0, 0, 973, 0, 4766, 4767, 4768, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2644, 2306, 0, 0, 0, 3348, 0, 0, 0, + 0, 0, 0, 0, 4793, 0, 0, 4796, 0, 4798, + 0, 5503, 0, 0, 0, 0, 0, 0, 0, 2645, + 0, 0, 5513, 5419, 0, 4802, 0, 0, 0, 0, + 0, 0, 0, 4809, 4810, 0, 0, 0, 5423, 0, + 4815, 2572, 0, 0, 0, 0, 0, 0, 0, 0, + 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, + 0, 0, 2373, 0, 0, 0, 0, 0, 0, 3288, + 0, 0, 0, 0, 0, 0, 0, 2646, 0, 972, + 2647, 0, 0, 0, 0, 0, 0, 0, 0, 2583, + 0, 0, 0, 972, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 973, 2583, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, + 4869, 0, 0, 2583, 1822, 0, 2583, 0, 0, 5481, + 0, 0, 0, 2583, 2583, 0, 2583, 4883, 0, 0, + 0, 3327, 3327, 0, 4143, 0, 3327, 0, 0, 0, + 2583, 0, 0, 2583, 0, 0, 973, 0, 2583, 0, + 0, 0, 0, 0, 0, 0, 963, 2583, 0, 0, + 0, 0, 2583, 2648, 0, 0, 0, 0, 0, 0, + 2583, 2583, 2583, 2583, 0, 0, 0, 0, 3327, 3327, + 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1822, 0, 0, 1823, 0, 0, 0, + 2583, 963, 2583, 0, 0, 0, 0, 0, 0, 2583, + 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2583, 2112, + 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 1822, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5621, 0, 0, 2638, 0, 0, 0, + 0, 0, 0, 0, 0, 2583, 2639, 0, 0, 0, + 0, 0, 0, 2640, 0, 0, 0, 0, 2112, 2572, + 0, 2113, 0, 0, 0, 2114, 2115, 2116, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 2641, + 0, 0, 5720, 0, 0, 2638, 0, 1390, 5826, 1822, + 0, 0, 972, 0, 0, 2639, 0, 0, 0, 0, + 0, 0, 2640, 0, 0, 0, 5750, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2641, 0, + 0, 0, 5640, 2112, 5642, 0, 2113, 0, 0, 0, + 2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2638, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2639, 0, 5809, 0, 0, 0, 0, 2640, 0, 0, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2642, 0, 0, + 0, 0, 2643, 2641, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 973, 2644, 2306, 0, 0, 0, + 0, 0, 0, 0, 0, 972, 0, 0, 973, 0, + 0, 5169, 5170, 0, 0, 0, 2642, 0, 0, 0, + 0, 2643, 5177, 2645, 0, 0, 0, 0, 0, 0, + 0, 0, 972, 0, 0, 0, 0, 5874, 0, 1823, + 5766, 0, 0, 0, 2644, 2306, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2373, 0, 0, 0, + 0, 0, 2645, 0, 0, 0, 0, 0, 0, 0, + 0, 2646, 0, 0, 2647, 0, 0, 0, 0, 0, + 0, 2642, 5220, 0, 0, 0, 2643, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690, + 0, 0, 0, 0, 0, 2373, 0, 0, 1823, 2644, + 2306, 0, 0, 0, 0, 0, 0, 5243, 0, 0, + 2646, 0, 0, 2647, 0, 5950, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2645, 0, 0, + 0, 0, 0, 0, 1823, 0, 0, 0, 0, 0, + 0, 0, 0, 5972, 0, 0, 5262, 5264, 0, 0, + 972, 0, 0, 0, 5268, 5269, 0, 2648, 0, 5270, + 0, 0, 0, 0, 5271, 0, 0, 5274, 5275, 0, + 2373, 0, 0, 0, 5280, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0, + 2583, 2583, 0, 0, 0, 2583, 0, 0, 5898, 0, + 5900, 0, 0, 0, 1823, 0, 2648, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5316, + 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, + 1365, 0, 0, 0, 0, 0, 0, 0, 5330, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2572, 0, 0, 0, 0, 0, 0, + 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 2648, 0, 5358, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1822, 0, + 0, 0, 2572, 0, 0, 0, 0, 0, 0, 0, + 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 973, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 5407, 963, 0, 0, 1822, 0, 0, + 5409, 0, 0, 0, 0, 0, 0, 973, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2572, 0, 0, + 0, 0, 1822, 0, 0, 0, 2573, 2574, 2575, 2576, + 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 963, 963, 5444, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 6109, 0, 0, 0, + 0, 0, 0, 4143, 4143, 0, 0, 3327, 3327, 3327, + 3327, 0, 0, 3327, 3327, 3327, 3327, 3327, 3327, 3327, + 3327, 3327, 3327, 4143, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2, 0, 3, 4, 0, 973, 2583, 0, 0, 2583, + 0, 2583, 0, 0, 4143, 4143, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 0, 0, 0, 0, 0, 2583, 3327, 3327, 2583, + 0, 2583, 7, 0, 8, 9, 0, 0, 0, 0, 0, 10, 0, 11, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 0, 13, 0, 925, - 925, 0, 0, 0, 1603, 0, 0, 0, 1604, 0, - 0, 0, 0, 3482, 14, 923, 0, 15, 935, 0, - 935, 935, 0, 1605, 0, 0, 0, 1542, 0, 0, - 0, 0, 16, 0, 17, 0, 0, 1543, 18, 0, - 0, 887, 0, 0, 19, 0, 1544, 0, 0, 0, - 0, 0, 20, 0, 21, 0, 0, 1606, 1545, 0, - 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1502, 0, 0, 0, 24, 0, 3617, 3203, 3203, - 1547, 1548, 1608, 0, 0, 0, 0, 839, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2819, 0, 0, - 0, 0, 0, 0, 2997, 1609, 1503, 0, 3002, 0, - 0, 3618, 0, 0, 0, 25, 26, 0, 0, 0, - 0, 27, 0, 0, 0, 1611, 0, 0, 0, 0, - 0, 3622, 0, 0, 3625, 28, 0, 0, 0, 0, - 5270, 0, 887, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12, 0, 13, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3288, 0, 0, 0, 14, 0, 0, 15, 6213, + 0, 5550, 0, 0, 0, 0, 0, 5554, 5555, 5556, + 0, 0, 0, 16, 0, 17, 0, 0, 0, 18, + 0, 2583, 0, 0, 0, 0, 5775, 0, 0, 0, + 0, 0, 5569, 5570, 0, 20, 5571, 21, 0, 0, + 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5579, 0, 0, 0, 0, 0, + 0, 0, 23, 0, 5591, 0, 0, 0, 0, 0, + 0, 2583, 0, 1823, 0, 5609, 0, 0, 0, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5626, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 6303, + 0, 0, 1823, 25, 26, 0, 0, 0, 0, 27, + 0, 0, 0, 0, 0, 963, 963, 0, 0, 0, + 0, 0, 0, 0, 28, 0, 0, 1823, 0, 0, + 1114, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1504, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550, - 0, 0, 0, 0, 0, 0, 0, 0, 619, 0, - 0, 619, 0, 0, 0, 0, 0, 30, 0, 0, - 0, 0, 1337, 1505, 0, 0, 0, 0, 1337, 0, - 0, 31, 0, 0, 0, 0, 0, 32, 33, 925, - 34, 0, 3716, 0, 0, 35, 0, 0, 0, 0, - 0, 36, 0, 0, 37, 3729, 0, 619, 0, 1506, - 0, 38, 0, 3738, 0, 619, 0, 39, 40, 0, - 0, 0, 0, 0, 0, 41, 839, 839, 839, 42, - 0, 0, 0, 887, 0, 0, 0, 0, 0, 43, - 0, 0, 0, 839, 0, 0, 3185, 1507, 0, 0, - 0, 1508, 3782, 0, 44, 0, 0, 1337, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3806, 45, 1954, 839, 839, 0, 0, - 0, 839, 1590, 1510, 0, 46, 0, 0, 0, 0, - 0, 47, 0, 839, 0, 0, 48, 0, 0, 0, - 0, 3421, 0, 0, 0, 0, 0, 0, 0, 49, - 0, 0, 0, 0, 0, 0, 3861, 0, 3863, 0, - 0, 1591, 0, 0, 0, 35, 0, 0, 0, 0, - 1512, 0, 50, 51, 52, 53, 54, 55, 0, 1513, - 0, 0, 0, 0, 0, 0, 0, 1514, 0, 925, - 56, 0, 0, -136, 0, 1592, 0, 0, 0, 0, - 0, 0, 0, 3115, 4496, 0, 0, 1516, 0, 0, - 0, 0, 839, 0, 0, 0, 1517, 0, 0, 0, - 1518, 0, 0, 2050, 0, 839, 2051, 0, 839, 0, - 2052, 2053, 2054, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3919, 0, 1337, 0, 2543, - 0, 0, 3926, 0, 0, 1337, 0, 1337, 0, 2544, - 0, 3421, 0, 0, 0, 1337, 2545, 1337, 0, 0, - 1337, 0, 0, 0, 1519, 1337, 1337, 1337, 1337, 0, - 0, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, - 1337, 0, 2546, 0, 1337, 1337, 1337, 0, 0, 0, - 0, 0, 0, 0, 1337, 0, 0, 0, 0, 1337, - 0, 0, 0, 1337, 0, 0, 0, 0, 0, 0, - 0, 1337, 0, 0, 1337, 0, 1337, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1337, 0, 0, 1337, - 1337, 0, 0, 0, 1337, 1337, 0, 0, 0, 4604, - 0, 1337, 0, 0, 0, 0, 0, 0, 839, 839, - 839, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4075, 4089, - 4075, 0, 1337, 4075, 0, 0, 4628, 887, 0, 0, - 3359, 0, 887, 887, 3359, 0, 0, 0, 0, 0, - 4643, 0, 0, 0, 0, 0, 2547, 0, 0, 0, - 0, 2548, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1337, 0, 0, 0, - 0, 0, 0, 2549, 2238, 0, 0, 0, 0, 0, - 0, 3408, 0, 1337, 0, 0, 0, 0, 2550, 0, - 0, 0, 0, 0, 0, 689, 0, 0, 0, 0, - 2702, 4691, 1954, 1954, 3410, 0, 1954, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3426, 0, 0, 0, 3429, 0, 0, 2290, - 3432, 0, 0, 0, 0, 0, 0, 0, 2703, 0, - 0, 2751, 4723, 2551, 5270, 887, 2552, 0, 0, 0, - 0, 692, 0, 0, 0, 0, 0, 3457, 0, 0, - 4744, 0, 0, 0, 0, 0, 0, 693, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1029, 0, 0, 0, 887, - 0, 3499, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4161, 4162, 2704, - 0, 1070, 0, 4793, 0, 0, 0, 0, 0, 0, - 696, 0, 0, 2050, 0, 0, 2051, 0, 0, 697, - 2052, 2053, 2054, 0, 0, 2553, 3309, 0, 0, 0, - 0, 0, 698, 3549, 0, 0, 0, 2705, 0, 2543, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544, - 0, 0, 0, 0, 0, 0, 2545, 0, 0, 4838, - 3578, 0, 0, 1032, 0, 0, 3587, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3597, 0, 2546, 0, 0, 0, 0, 1070, 0, 0, - 3610, 0, 925, 0, 0, 0, 3615, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 925, 0, 1337, 0, - 702, 0, 0, 0, 0, 839, 3628, 0, 0, 0, - 0, 4882, 3631, 0, 0, 2479, 0, 0, 0, 3637, - 0, 0, 2751, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 3652, 0, 0, 3232, 839, 0, 0, - 0, 2706, 3359, 3787, 0, 0, 3677, 0, 0, 619, - 3671, 0, 0, 619, 0, 0, 0, 1070, 0, 4931, - 0, 0, 0, 0, 0, 1113, 0, 0, 0, 839, - 0, 0, 0, 0, 0, 213, 2707, 0, 0, 707, - 0, 1337, 1337, 0, 0, 0, 2547, 0, 0, 0, - 0, 2548, 1337, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1954, 839, 0, 1036, 0, 0, 2708, - 0, 0, 0, 2549, 2238, 711, 0, 0, 0, 0, - 619, 839, 712, 0, 1353, 713, 0, 4333, 2550, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2050, - 0, 0, 2051, 0, 714, 0, 2052, 2053, 2054, 0, - 0, 1038, 0, 0, 0, 0, 0, 716, 0, 1337, - 1039, 0, 0, 0, 718, 2543, 0, 0, 0, 2290, - 0, 1337, 2709, 0, 0, 2544, 0, 0, 0, 2710, - 0, 0, 2545, 2551, 0, 0, 2552, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, - 0, 0, 1337, 0, 1353, 723, 0, 0, 2546, 0, - 1337, 1337, 0, 0, 0, 0, 0, 0, 1337, 1337, - 0, 0, 0, 1337, 0, 0, 0, 1337, 1353, 0, - 1337, 1337, 0, 0, 0, 1337, 5047, 0, 0, 0, - 0, 1337, 839, 839, 839, 839, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 620, 0, - 0, 4075, 0, 0, 0, 3359, 0, 0, 0, 0, - 3359, 0, 3894, 3359, 620, 2553, 3671, 0, 5079, 0, - 0, 1337, 0, 972, 0, 0, 0, 4486, 0, 0, - 3908, 0, 1337, 0, 0, 3680, 4120, 3894, 0, 0, - 1337, 0, 3408, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 772, 0, 0, - 1337, 0, 2547, 0, 0, 0, 0, 2548, 0, 0, - 0, 0, 3712, 0, 3712, 0, 3712, 3712, 0, 0, - 0, 3712, 3712, 3712, 0, 3712, 3712, 3712, 0, 2549, - 2238, 0, 0, 0, 2751, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2550, 0, 0, 0, 0, 0, - 5143, 0, 0, 0, 0, 2479, 0, 0, 0, 1688, - 0, 619, 619, 2480, 2481, 2482, 2483, 2484, 2485, 2486, - 2487, 2488, 0, 0, 0, 0, 4346, 0, 0, 3789, - 0, 0, 0, 0, 0, 2290, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1532, 0, 2551, - 0, 1337, 2552, 1533, 3817, 0, 0, 0, 1337, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 925, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 925, 2050, 1535, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2543, 0, 0, 0, 1337, 0, 2050, - 0, 0, 2051, 2544, 0, 0, 2052, 2053, 2054, 0, - 2545, 2553, 0, 620, 0, 0, 0, 0, 0, 0, - 2751, 0, 0, 0, 1536, 2543, 0, 0, 0, 1954, - 0, 1537, 0, 0, 1538, 2544, 2546, 0, 0, 0, - 0, 0, 2545, 0, 3787, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 925, 0, 3809, - 0, 1539, 0, 0, 0, 0, 0, 0, 2546, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1532, 839, 0, 0, 0, 0, - 1533, 0, 0, 0, 0, 1540, 839, 619, 0, 0, - 0, 0, 0, 0, 619, 0, 0, 0, 0, 619, - 0, 2479, 619, 5075, 0, 4157, 0, 0, 0, 2480, - 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, - 0, 0, 4529, 0, 0, 1535, 0, 0, 0, 0, - 0, 1337, 0, 0, 1337, 0, 0, 1337, 1337, 1337, - 2547, 0, 0, 0, 0, 2548, 0, 0, 0, 0, - 1641, 0, 0, 0, 1542, 0, 0, 0, 0, 0, - 0, 0, 1337, 1337, 1543, 0, 1337, 2549, 2238, 0, - 0, 0, 2547, 1544, 0, 0, 0, 2548, 0, 0, - 0, 1536, 2550, 0, 0, 1545, 0, 1337, 1537, 0, - 0, 1538, 0, 1337, 0, 1113, 0, 3359, 0, 2549, - 2238, 5079, 0, 0, 1337, 4229, 5353, 0, 0, 0, - 0, 0, 0, 0, 2550, 0, 0, 4691, 1539, 0, - 1337, 0, 0, 2290, 3509, 0, 0, 1547, 1548, 0, - 0, 4691, 972, 925, 0, 925, 0, 2551, 0, 0, - 2552, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4862, 0, 1540, 0, 0, 2290, 0, 0, 1549, 0, - 0, 0, 0, 0, 4864, 0, 0, 0, 0, 2551, - 0, 0, 2552, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 936, 972, 0, 0, 937, 947, 0, 0, - 0, 0, 0, 0, 937, 0, 947, 937, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 947, 0, 0, 0, 0, 0, 0, 1641, 0, 0, - 0, 1542, 0, 0, 0, 0, 1550, 936, 0, 2553, - 0, 1543, 4325, 0, 0, 0, 0, 0, 0, 4882, - 1544, 0, 5214, 0, 839, 0, 0, 0, 0, 839, - 0, 0, 1545, 0, 1113, 0, 0, 0, 2751, 0, - 0, 2553, 0, 0, 0, 0, 0, 0, 839, 0, - 0, 0, 4931, 619, 0, 5491, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 925, 839, 4691, 0, - 0, 3687, 0, 0, 1547, 1548, 0, 0, 0, 0, - 0, 0, 0, 1532, 0, 1532, 0, 0, 0, 1533, - 0, 1533, 0, 0, 0, 0, 0, 0, 0, 0, - 1337, 0, 0, 0, 1337, 3688, 1337, 0, 0, 2479, - 0, 0, 4221, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 620, 0, 0, 1337, - 4580, 0, 0, 5555, 1535, 0, 1535, 0, 0, 0, - 1337, 2479, 0, 0, 0, 0, 0, 1337, 0, 2480, - 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, - 0, 0, 4685, 0, 0, 0, 0, 0, 0, 0, - 4269, 0, 0, 1550, 0, 0, 0, 0, 0, 0, - 0, 0, 839, 0, 0, 0, 0, 0, 0, 0, - 1536, 2907, 1536, 0, 0, 0, 0, 1537, 0, 1537, - 1538, 0, 1538, 0, 0, 0, 0, 1337, 0, 0, - 4497, 0, 0, 1337, 1337, 0, 619, 0, 925, 925, - 925, 925, 0, 0, 0, 0, 0, 1539, 0, 1539, - 0, 0, 0, 0, 0, 4513, 619, 0, 4312, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, - 619, 0, 0, 0, 0, 0, 0, 620, 0, 0, - 0, 1540, 0, 1540, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 839, 0, 3712, 3359, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4343, 4343, 0, 0, - 0, 935, 0, 0, 0, 0, 4359, 0, 0, 0, - 839, 1113, 0, 1113, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1641, 0, 1641, 0, - 1542, 0, 1542, 0, 0, 0, 0, 0, 1337, 0, - 1543, 0, 1543, 0, 1337, 0, 935, 0, 1954, 1544, - 0, 1544, 3671, 0, 0, 1337, 0, 0, 0, 4414, - 0, 1545, 0, 1545, 1337, 0, 1337, 0, 1337, 5353, - 0, 0, 0, 0, 0, 4691, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1954, 0, 972, 0, 0, - 0, 0, 947, 0, 4450, 1113, 1337, 0, 0, 5181, - 4173, 0, 4231, 1547, 1548, 1547, 1548, 619, 0, 0, - 0, 947, 0, 0, 5185, 0, 0, 947, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, - 0, 1954, 1954, 0, 4174, 0, 4232, 0, 0, 0, - 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 937, - 947, 0, 925, 0, 0, 619, 937, 0, 947, 937, - 2050, 0, 0, 2051, 0, 0, 5812, 2052, 2053, 2054, - 0, 0, 947, 0, 0, 0, 0, 4709, 0, 0, - 0, 0, 947, 0, 0, 0, 2543, 0, 0, 0, - 0, 0, 1550, 0, 1550, 5243, 2544, 0, 0, 0, - 0, 0, 0, 2545, 1337, 1337, 1337, 0, 0, 0, - 0, 0, 1337, 0, 0, 0, 5555, 0, 0, 0, - 0, 0, 1337, 0, 0, 0, 0, 0, 0, 2546, - 0, 3408, 1337, 0, 0, 0, 0, 0, 0, 0, - 947, 0, 0, 0, 0, 0, 2050, 0, 936, 2051, - 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, 0, - 0, 4582, 0, 925, 0, 0, 0, 0, 0, 947, - 1954, 0, 2543, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2544, 0, 0, 0, 5649, 0, 0, 2545, - 0, 0, 0, 0, 947, 2751, 0, 0, 0, 0, - 0, 0, 1337, 0, 0, 0, 4820, 0, 0, 4823, - 0, 0, 4691, 0, 619, 2546, 0, 0, 0, 0, - 936, 936, 5929, 0, 0, 0, 1337, 0, 1337, 0, - 0, 0, 0, 0, 0, 0, 0, 1954, 1954, 5944, - 0, 0, 0, 2547, 1337, 1337, 0, 0, 2548, 0, - 5950, 0, 0, 0, 947, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2549, 2238, 925, 0, 0, 0, 0, 0, 0, 0, - 0, 5375, 0, 5376, 0, 2550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5812, 925, 925, 619, 0, 0, 4691, 0, 0, - 4905, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 620, 2290, 2907, 0, 2547, - 0, 0, 0, 0, 2548, 0, 0, 0, 0, 0, - 2551, 0, 0, 2552, 0, 1337, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2549, 2238, 0, 1337, - 0, 0, 0, 0, 1774, 0, 0, 0, 0, 0, - 947, 2550, 0, 0, 0, 0, 0, 0, 0, 0, - 4359, 937, 0, 0, 0, 937, 0, 937, 0, 0, - 1337, 0, 0, 0, 0, 6034, 6035, 620, 6038, 5555, - 0, 0, 3408, 0, 0, 619, 4783, 0, 3894, 0, - 0, 0, 2290, 0, 925, 0, 0, 4691, 0, 0, - 0, 4798, 0, 0, 0, 4799, 2551, 4800, 0, 2552, - 0, 0, 2553, 0, 5503, 0, 0, 0, 0, 0, - 4120, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1337, - 620, 0, 0, 0, 1337, 0, 0, 0, 620, 0, - 0, 0, 0, 4840, 0, 0, 0, 0, 0, 0, - 936, 936, 0, 0, 6100, 0, 0, 935, 0, 3712, - 0, 0, 0, 947, 3712, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2553, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2479, 0, 0, 0, 0, 0, 0, 0, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, - 0, 619, 0, 4911, 947, 0, 0, 0, 0, 935, - 935, 0, 0, 0, 0, 947, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, - 0, 0, 0, 947, 0, 0, 0, 5611, 0, 5613, - 0, 0, 0, 4945, 0, 0, 4359, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2479, 0, - 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, - 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 0, 5006, - 619, 0, 0, 0, 0, 0, 619, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5995, 0, 0, 0, 5155, 4993, - 4993, 4993, 4993, 0, 4993, 4993, 4993, 4993, 4993, 0, - 5165, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, 2054, - 0, 0, 0, 0, 947, -136, 0, 0, 0, 0, - 0, 0, 947, 947, 0, 0, 2543, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2544, 1, 0, 0, - 0, 0, 0, 2545, 0, 0, 6036, 2, 0, 3, - 4, 0, 2050, 0, 0, 2051, 0, 0, 0, 2052, - 2053, 2054, 0, 0, 0, 0, 619, 5, 0, 2546, - 0, 0, 0, 0, 0, 1774, 0, 6, 2543, 0, - 0, 5056, 0, 5058, 0, 0, 0, 0, 2544, 7, - 0, 8, 9, 0, 0, 2545, 0, 0, 10, 0, - 11, 0, 0, 0, 0, 0, 0, 0, 0, 6036, - 0, 0, 12, 0, 13, 0, 0, 6085, 0, 0, - 0, 2546, 0, 0, 0, 0, 0, 0, 0, 935, - 935, 14, 0, 0, 15, 0, 0, 0, 0, 0, - 5798, 0, 0, 0, 0, 0, 0, 0, 0, 16, - 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, - 0, 19, 0, 0, 0, 0, 0, 0, 0, 20, - 0, 21, 0, 0, 0, 0, 0, 0, 22, 0, - 0, 0, 0, 2547, 0, 0, 0, 0, 2548, 0, - 0, 2050, 0, 0, 2051, 23, 0, 0, 2052, 2053, - 2054, 0, 0, 0, 0, 0, 0, 0, 3894, 0, - 2549, 2238, 24, 0, 0, 0, 0, 2543, 0, 0, - 0, 0, 0, 0, 0, 2550, 0, 2544, 0, 0, - 0, 0, 0, 0, 2545, 2547, 0, 0, 0, 2050, - 2548, 0, 2051, 0, 0, 0, 2052, 2053, 2054, 0, - 0, 5882, 25, 26, 0, 0, 0, 0, 27, 0, - 2546, 0, 2549, 2238, 0, 2543, 2290, 0, 0, 0, - 0, 0, 28, 0, 0, 2544, 0, 2550, 0, 0, - 2551, 0, 2545, 2552, 0, 0, 0, 0, 0, 0, - 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5186, 5187, 0, 0, 0, 0, 0, 0, 2546, 0, - 0, 0, 0, 3712, 0, 3712, 3712, 3712, 2290, 0, - 3894, 0, 3894, 0, 947, 886, 0, 0, 0, 0, - 0, 0, 2551, 0, 30, 2552, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, - 0, 0, 0, 0, 32, 33, 0, 34, 0, 0, - 5964, 0, 35, 0, 0, 0, 0, 0, 36, 0, - 0, 37, 2553, 0, 2547, 0, 0, 0, 38, 2548, - 0, 5238, 0, 0, 39, 40, 0, 0, 0, 0, - 5978, 5978, 41, 0, 0, 0, 42, 0, 0, 0, - 0, 2549, 2238, 0, 0, 0, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2550, 877, 0, 0, - 5266, 44, 2547, 0, 2553, 2050, 0, 2548, 2051, 0, - 0, 0, 2052, 2053, 2054, 0, 0, 0, 947, 0, - 0, 45, 0, 0, 0, 0, 0, 0, 0, 2549, - 2238, 2543, 46, 0, 0, 0, 0, 2290, 47, 0, - 0, 2544, 4993, 48, 2550, 0, 0, 0, 2545, 0, - 0, 2551, 2479, 1774, 2552, 0, 49, 0, 0, 0, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, - 0, 0, 0, 5043, 2546, 0, 947, 0, 0, 50, - 0, 0, 5978, 0, 947, 2290, 0, 0, 0, 0, - 0, 0, 947, 0, 0, 0, 0, 56, 0, 2551, - -136, 0, 2552, 0, 2479, 0, 0, 0, 0, 0, - 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, - 2488, 0, 0, 0, 0, 5294, 0, 0, 0, 0, - 0, 0, 937, 937, 0, 947, 947, 0, 0, 0, - 0, 0, 0, 2553, 0, 0, 0, 937, 0, 947, - 937, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 628, 0, 947, 947, 0, 0, 677, 628, 0, 0, - 0, 0, 729, 0, 628, 0, 0, 0, 0, 0, - 628, 0, 782, 0, 0, 0, 0, 0, 2547, 0, - 0, 2553, 4359, 2548, 0, 0, 0, 0, 0, 0, - 937, 850, 850, 0, 937, 937, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2549, 2238, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2550, 0, 0, 0, 0, 0, 0, 0, 3712, 0, - 0, 0, 0, 2479, 0, 0, 0, 5438, 0, 0, - 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 0, 0, 0, 0, 5305, 0, 0, 0, 0, 0, - 0, 2290, 2050, 0, 0, 2051, 0, 0, 0, 2052, - 2053, 2054, 0, 0, 0, 2551, 0, 0, 2552, 0, - 0, 2479, 0, 0, 0, 0, 0, 0, 2543, 2480, - 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2544, 0, - 0, 1774, 5313, 0, 0, 2545, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2546, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 927, 0, 0, 0, 931, 0, 0, 0, - 0, 0, 0, 0, 974, 0, 0, 976, 0, 0, - 981, 982, 0, 985, 0, 988, 0, 2553, 994, 0, - 996, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, - 0, 0, 0, 0, 0, 2547, 0, 0, 0, 0, - 2548, 0, 0, 2543, 0, 0, 0, 0, 0, 0, - 1113, 0, 0, 2544, 5624, 0, 0, 2479, 0, 0, - 2545, 0, 2549, 2238, 0, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 2487, 2488, 0, 0, 0, 2550, 5316, 0, - 0, 0, 0, 0, 0, 0, 2546, 0, 2050, 0, - 0, 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2543, 0, 0, 0, 2290, 0, - 3894, 0, 0, 0, 2544, 0, 0, 0, 0, 886, - 0, 2545, 2551, 0, 0, 2552, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 886, 0, 2546, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, - 2547, 0, 0, 0, 0, 2548, 0, 0, 0, 0, - 0, 0, 0, 2543, 0, 0, 0, 0, 0, 0, - 0, 877, 0, 2544, 2553, 0, 0, 2549, 2238, 0, - 2545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2550, 0, 1113, 0, 0, 877, 5774, 0, - 5775, 0, 0, 0, 5780, 5781, 2546, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2547, 0, 0, 0, 0, 2548, 0, 0, 0, - 0, 0, 0, 2290, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2551, 2549, 2238, - 2552, 0, 0, 886, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2550, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2479, 0, 0, 0, 0, 0, - 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, - 2488, 0, 0, 0, 0, 5369, 0, 0, 0, 0, - 0, 0, 0, 0, 2290, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1023, 0, 0, 2551, 0, - 2547, 2552, 0, 0, 0, 2548, 1060, 0, 0, 0, - 1064, 0, 0, 0, 0, 0, 0, 1077, 1078, 2553, - 0, 1084, 0, 1087, 1088, 877, 0, 2549, 2238, 0, - 1774, 0, 0, 0, 0, 0, 0, 0, 1110, 0, - 0, 0, 2550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1123, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1151, 0, 1153, - 0, 0, 0, 2290, 0, 947, 0, 0, 0, 1169, - 2553, 0, 0, 0, 886, 0, 0, 2551, 0, 0, - 2552, 0, 0, 947, 879, 886, 0, 947, 0, 0, - 0, 947, 0, 0, 0, 0, 0, 0, 0, 2479, - 947, 886, 628, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 947, 1113, - 5402, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 937, 0, 937, 937, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 947, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 877, 0, 0, 2553, - 2479, 0, 947, 947, 0, 0, 0, 877, 2480, 2481, - 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 850, - 0, 5404, 0, 877, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1774, 947, 0, 0, 1774, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, - 2051, 947, 0, 1774, 2052, 2053, 2054, 947, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 947, 0, 2543, 0, 0, 0, 886, 947, 0, - 0, 947, 0, 2544, 0, 6063, 0, 947, 0, 2479, - 2545, 2503, 1493, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 947, 0, 0, - 5443, 0, 0, 947, 2050, 0, 2546, 2051, 0, 0, - 947, 2052, 2053, 2054, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6063, 947, 0, 0, 0, 0, 0, - 2543, 0, 0, 0, 0, 0, 0, 947, 0, 0, - 2544, 6063, 1774, 0, 5056, 0, 0, 2545, 947, 0, - 0, 0, 0, 0, 0, 0, 1672, 0, 0, 877, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2546, 0, 0, 0, 0, 0, 0, - 1792, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1804, 0, 1805, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1808, 1774, 0, - 0, 2521, 0, 0, 1818, 0, 0, 0, 0, 0, - 2547, 0, 0, 0, 0, 2548, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2549, 2238, 0, - 0, 0, 0, 0, 0, 0, 1869, 0, 1871, 0, - 0, 0, 2550, 0, 0, 0, 0, 0, 2050, 0, - 0, 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2547, 0, 0, - 0, 0, 2548, 0, 2543, 0, 0, 0, 0, 0, - 0, 0, 0, 2290, 2544, 0, 0, 0, 0, 0, - 0, 2545, 886, 0, 2549, 2238, 0, 2551, 0, 0, - 2552, 0, 0, 0, 0, 0, 0, 0, 0, 2550, - 0, 0, 628, 0, 628, 0, 628, 2546, 628, 0, - 628, 628, 628, 0, 0, 0, 0, 628, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1975, - 0, 0, 0, 947, 0, 0, 0, 0, 0, 0, - 2290, 0, 1987, 0, 0, 0, 0, 0, 0, 886, - 0, 947, 0, 0, 2551, 0, 0, 2552, 947, 0, - 0, 0, 0, 0, 0, 937, 0, 937, 937, 0, - 0, 0, 0, 0, 877, 0, 0, 0, 0, 2553, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 886, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2050, 0, - 0, 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, - 0, 2547, 0, 886, 0, 0, 2548, 0, 0, 0, - 0, 0, 0, 1774, 2543, 0, 0, 0, 0, 1774, - 0, 877, 0, 0, 2544, 0, 2553, 0, 2549, 2238, - 0, 2545, 0, 0, 0, 0, 0, 0, 0, 0, - 946, 0, 0, 2550, 0, 0, 0, 0, 0, 946, - 0, 0, 0, 0, 0, 0, 0, 2546, 0, 2479, - 0, 0, 877, 946, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 0, - 5762, 850, 0, 0, 2290, 0, 0, 0, 879, 0, - 0, 0, 0, 0, 0, 877, 0, 0, 2551, 0, - 947, 2552, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 879, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2479, 0, 0, 0, - 0, 0, 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 0, 0, 0, 0, 5784, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2547, 0, 0, 0, 0, 2548, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2553, 0, 0, 0, 886, 0, 0, 0, 2549, 2238, - 0, 2713, 0, 0, 0, 886, 0, 0, 0, 0, - 0, 0, 0, 2550, 0, 0, 0, 0, 0, 0, - 0, 886, 0, 0, 0, 0, 0, 0, 0, 947, - 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, - 2054, 0, 0, 0, 2290, 0, 947, 0, 0, 947, - 0, 0, 879, 0, 0, 0, 0, 2543, 2551, 0, - 0, 2552, 0, 2805, 886, 0, 0, 2544, 0, 0, - 0, 0, 0, 0, 2545, 0, 877, 0, 0, 886, - 2479, 0, 886, 886, 0, 0, 0, 877, 2480, 2481, - 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, - 2546, 5976, 0, 877, 0, 0, 0, 0, 2050, 0, - 0, 2051, 0, 886, 886, 2052, 2053, 2054, 0, 0, - 0, 1774, 1774, 1774, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2543, 0, 0, 0, 3366, 0, - 0, 0, 0, 0, 2544, 0, 947, 0, 0, 0, - 2553, 2545, 0, 0, 0, 0, 877, 0, 0, 0, - 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, - 0, 877, 0, 0, 877, 877, 0, 2546, 0, 0, - 0, 0, 2050, 0, 0, 2051, 0, 947, 0, 2052, - 2053, 2054, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 877, 877, 0, 2543, 0, - 0, 0, 0, 879, 2547, 0, 0, 0, 2544, 2548, - 0, 0, 0, 0, 879, 2545, 0, 0, 3367, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 879, 2549, 2238, 0, 0, 886, 0, 0, 0, 0, - 2479, 2546, 0, 0, 0, 946, 2550, 0, 2480, 2481, - 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, - 0, 5994, 0, 947, 946, 0, 0, 0, 2935, 0, - 946, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2547, 946, 0, 0, 0, 2548, 2290, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 946, 0, - 0, 2551, 0, 2971, 2552, 0, 0, 0, 2549, 2238, - 1774, 0, 0, 946, 0, 0, 947, 0, 947, 0, - 0, 946, 0, 2550, 0, 0, 0, 877, 0, 0, - 0, 947, 0, 947, 0, 946, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 946, 3032, 0, 3036, 0, - 0, 0, 0, 0, 0, 2547, 0, 0, 0, 0, - 2548, 0, 0, 0, 2290, 0, 0, 0, 3054, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2551, 0, - 0, 2552, 2549, 2238, 0, 0, 879, 0, 0, 0, - 0, 0, 0, 2553, 3074, 0, 3075, 2550, 0, 0, - 947, 0, 0, 946, 0, 0, 0, 880, 0, 0, - 0, 3084, 0, 3085, 0, 0, 0, 0, 0, 628, - 0, 628, 0, 628, 0, 628, 0, 628, 0, 0, - 0, 628, 946, 0, 0, 0, 0, 0, 2290, 0, - 0, 0, 947, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2551, 0, 0, 2552, 0, 946, 0, 0, - 0, 947, 0, 0, 0, 0, 0, 0, 0, 0, - 2553, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4572, 0, 0, 947, 0, 0, 947, 0, 0, 0, - 0, 0, 0, 2479, 0, 0, 0, 0, 0, 0, - 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 0, 0, 0, 0, 6040, 0, 0, 946, 0, 0, - 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, 2054, - 3368, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2553, 0, 2543, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2544, 0, 0, 0, - 0, 4573, 0, 2545, 0, 0, 0, 1774, 0, 0, - 2479, 0, 0, 0, 0, 0, 0, 0, 2480, 2481, - 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 2546, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, 2054, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2543, 1773, 0, 0, - 0, 879, 0, 946, 0, 0, 2544, 0, 0, 0, - 0, 0, 0, 2545, 2479, 0, 0, 0, 0, 0, - 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, - 2488, 0, 0, 0, 0, 0, 0, 0, 0, 2546, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3980, - 0, 0, 0, 0, 3981, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, - 0, 0, 0, 2547, 0, 0, 0, 882, 2548, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2549, 2238, 0, 0, 0, 0, 0, 0, 947, 879, - 0, 0, 0, 0, 0, 2550, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 946, 0, 5936, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 879, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2547, 0, 0, 2290, 0, 2548, 1774, - 0, 0, 0, 0, 1774, 0, 1774, 0, 0, 0, - 2551, 0, 0, 2552, 0, 0, 0, 0, 0, 0, - 2549, 2238, 0, 0, 0, 0, 0, 946, 0, 0, - 1774, 0, 0, 0, 0, 2550, 886, 0, 946, 0, - 886, 886, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 946, 0, 0, 0, 946, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2290, 947, 0, 0, - 947, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2551, 0, 0, 2552, 0, 0, 0, 0, 886, 0, - 0, 0, 3982, 0, 886, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5937, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 877, 877, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 886, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 947, 947, 0, 879, 0, 0, 0, 946, 0, 0, - 0, 947, 2553, 0, 879, 946, 946, 0, 0, 0, - 877, 0, 0, 0, 0, 0, 877, 0, 947, 0, - 879, 0, 2479, 0, 0, 0, 0, 0, 0, 0, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 877, 1773, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, - 0, 880, 0, 0, 0, 0, 0, 0, 879, 0, - 0, 879, 879, 0, 0, 0, 0, 0, 0, 947, - 0, 689, 2479, 0, 0, 0, 690, 880, 0, 0, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, - 0, 0, 879, 879, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 691, 0, 0, 0, 3411, 3412, - 0, 0, 0, 0, 0, 0, 0, 692, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3427, 3428, 0, - 3430, 3431, 0, 693, 886, 3434, 3435, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3446, 694, 0, 0, 0, 0, 0, 3455, 0, 0, - 0, 3458, 3459, 0, 0, 3462, 3463, 0, 0, 0, - 0, 0, 3468, 0, 0, 695, 0, 0, 0, 0, - 0, 0, 0, 0, 3483, 0, 696, 0, 0, 0, - 0, 0, 0, 0, 0, 697, 3500, 0, 0, 0, - 0, 3502, 0, 0, 0, 0, 0, 886, 698, 0, - 0, 886, 0, 699, 879, 880, 3508, 0, 0, 0, - 700, 0, 0, 0, 0, 3515, 877, 0, 3519, 0, - 3521, 3524, 3526, 0, 0, 0, 0, 3534, 3537, 701, - 0, 0, 0, 0, 0, 0, 0, 3550, 0, 0, - 0, 0, 0, 3560, 0, 0, 0, 3563, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 946, 0, 3573, - 3574, 0, 0, 0, 3579, 0, 0, 947, 0, 0, - 3588, 3589, 0, 0, 0, 0, 702, 0, 0, 0, - 0, 0, 0, 0, 3598, 0, 0, 3599, 0, 877, - 0, 0, 0, 877, 3611, 3612, 0, 0, 0, 0, - 3616, 0, 0, 886, 0, 0, 0, 0, 0, 947, - 0, 0, 3623, 0, 0, 3626, 0, 703, 886, 0, - 3629, 947, 0, 886, 0, 0, 3632, 3633, 0, 0, - 704, 882, 0, 0, 3639, 0, 0, 0, 3641, 0, - 0, 705, 3648, 3649, 3650, 3651, 0, 3653, 0, 0, - 0, 213, 706, 0, 0, 707, 947, 882, 0, 0, - 3678, 3679, 0, 3681, 0, 0, 880, 0, 0, 0, - 0, 946, 0, 0, 3690, 3691, 3692, 880, 0, 0, - 0, 0, 708, 0, 0, 709, 0, 0, 0, 710, - 0, 711, 0, 880, 0, 877, 0, 0, 712, 0, - 0, 713, 0, 0, 0, 0, 1773, 0, 0, 0, - 877, 0, 0, 0, 0, 877, 0, 0, 0, 0, - 714, 0, 883, 0, 0, 0, 0, 715, 0, 946, - 0, 3744, 0, 716, 1774, 0, 717, 946, 0, 3768, - 718, 0, 0, 0, 0, 946, 0, 0, 719, 0, - 720, 0, 0, 947, 0, 721, 0, 0, 3780, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 722, 0, - 0, 0, 0, 0, 0, 0, 885, 0, 0, 0, - 0, 723, 0, 0, 0, 0, 0, 0, 946, 946, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 946, 0, 0, 882, 0, 0, 3848, 0, - 0, 0, 0, 0, 0, 946, 946, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3862, 0, 3864, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2050, 0, 0, 2051, 0, 0, - 0, 2052, 2053, 2054, 0, 0, 0, 0, 886, 0, - 0, 886, 0, 886, 0, 0, 0, 0, 886, 0, - 2543, 0, 0, 3936, 0, 0, 2050, 0, 0, 2051, - 2544, 0, 0, 2052, 2053, 2054, 0, 2545, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2543, 3927, 0, 0, 0, 0, 0, 0, - 0, 0, 2544, 2546, 0, 0, 886, 0, 0, 2545, - 0, 0, 0, 0, 886, 0, 0, 0, 0, 0, - 0, 947, 0, 947, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1773, 2546, 882, 0, 0, 886, - 877, 0, 0, 877, 0, 877, 0, 882, 0, 0, - 877, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 882, 0, 0, 0, 0, 947, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 937, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 0, 0, 0, 0, 877, 0, 0, 886, - 0, 886, 0, 0, 0, 0, 0, 2547, 1774, 0, - 0, 0, 2548, 937, 0, 0, 0, 0, 0, 0, - 0, 877, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2549, 2238, 0, 0, 0, 2547, - 0, 0, 0, 0, 2548, 0, 0, 0, 0, 2550, - 0, 0, 0, 0, 880, 879, 0, 0, 0, 879, - 879, 0, 0, 0, 0, 0, 2549, 2238, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2550, 0, 0, 0, 0, 0, 0, 0, 0, - 2290, 877, 0, 877, 0, 886, 0, 0, 0, 0, - 0, 0, 0, 0, 2551, 0, 0, 2552, 0, 882, - 0, 0, 0, 0, 0, 0, 0, 879, 0, 0, - 0, 880, 2290, 879, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2551, 886, 0, 2552, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3953, 0, - 0, 0, 880, 0, 879, 886, 0, 0, 0, 4146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 877, 0, 4158, - 0, 0, 0, 0, 0, 880, 2553, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4165, 0, 0, 0, - 4165, 0, 0, 0, 0, 4176, 4177, 4178, 0, 0, - 0, 947, 0, 0, 0, 0, 0, 0, 2553, 877, - 0, 0, 0, 886, 0, 947, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4208, 4209, 4210, 4211, 886, 0, 877, 0, 0, - 0, 0, 0, 0, 0, 0, 1774, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 4227, 0, 0, 0, 0, 0, 0, 0, 4230, - 0, 4234, 4235, 4236, 0, 0, 2479, 0, 0, 0, - 0, 0, 0, 0, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 877, 883, 0, 2479, 0, - 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, - 2484, 2485, 2486, 2487, 2488, 0, 0, 877, 0, 0, - 0, 0, 883, 0, 882, 0, 0, 0, 0, 0, - 886, 0, 1774, 0, 0, 0, 0, 0, 0, 877, - 0, 0, 0, 879, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 886, 0, 880, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, - 0, 0, 0, 0, 0, 0, 885, 4320, 0, 886, - 0, 0, 0, 880, 0, 0, 4326, 0, 0, 0, - 0, 882, 0, 0, 0, 0, 0, 1774, 0, 947, - 0, 0, 0, 1773, 0, 0, 0, 0, 0, 0, - 0, 0, 4336, 4337, 0, 0, 879, 4338, 0, 0, - 879, 0, 877, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 0, 880, 0, 0, 4380, - 0, 0, 0, 0, 0, 0, 877, 0, 0, 0, - 0, 880, 0, 0, 880, 880, 0, 0, 946, 0, - 0, 0, 0, 0, 0, 882, 0, 0, 0, 0, - 883, 877, 0, 0, 0, 0, 946, 0, 0, 0, - 946, 0, 0, 0, 946, 880, 880, 0, 0, 0, - 0, 4417, 0, 946, 0, 0, 4423, 0, 0, 0, - 0, 0, 4429, 0, 0, 0, 0, 0, 0, 0, - 0, 946, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 947, 879, 0, 885, 0, 0, 0, 0, 886, - 0, 0, 4468, 0, 937, 0, 0, 879, 0, 0, - 0, 0, 879, 0, 0, 946, 0, 947, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4483, 0, 4484, 0, 946, 946, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1773, 946, 0, 0, - 1773, 0, 0, 0, 4509, 0, 937, 937, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 886, - 0, 877, 0, 0, 946, 0, 1773, 0, 0, 0, - 946, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 883, 0, 946, 886, 0, 0, 0, 0, - 0, 946, 0, 0, 946, 0, 882, 0, 883, 0, - 946, 0, 0, 0, 947, 0, 0, 882, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 946, 0, 0, 882, 0, 885, 946, 0, 0, 0, - 0, 0, 0, 946, 0, 0, 885, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 946, 0, 0, - 0, 877, 885, 0, 0, 0, 0, 0, 0, 0, - 946, 0, 0, 0, 0, 1773, 0, 0, 0, 0, - 0, 946, 0, 0, 950, 0, 882, 877, 0, 0, - 0, 0, 0, 0, 0, 0, 984, 0, 0, 0, - 0, 882, 0, 0, 882, 882, 0, 1003, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 882, 882, 0, 886, 0, - 0, 1773, 0, 0, 0, 0, 0, 879, 0, 0, - 879, 0, 879, 0, 0, 0, 0, 879, 0, 0, - 1774, 0, 0, 0, 883, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 886, 0, 0, 0, 0, - 886, 0, 0, 4695, 0, 0, 4702, 0, 4703, 0, - 0, 0, 0, 0, 0, 879, 0, 0, 1774, 0, - 0, 4710, 0, 879, 0, 0, 937, 937, 885, 0, - 0, 0, 0, 4716, 0, 0, 1774, 4719, 0, 0, - 877, 0, 0, 0, 0, 0, 0, 0, 879, 0, - 0, 0, 0, 0, 0, 0, 4743, 0, 689, 0, - 0, 0, 0, 3152, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4747, 0, 0, 882, 0, 0, - 4751, 0, 0, 0, 0, 0, 0, 877, 0, 0, - 0, 0, 877, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4786, 946, 0, 0, 4790, - 0, 0, 0, 0, 692, 3153, 0, 0, 879, 0, - 879, 0, 0, 0, 946, 4801, 4802, 4803, 4804, 0, - 693, 946, 0, 886, 0, 4808, 4809, 4810, 4811, 0, - 0, 0, 0, 0, 4813, 4814, 0, 0, 1029, 0, - 4821, 4822, 0, 4824, 4825, 4826, 4827, 4828, 4829, 4830, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4839, - 0, 0, 3154, 4842, 4843, 4844, 4845, 0, 0, 0, - 0, 0, 0, 696, 0, 0, 0, 0, 0, 0, - 0, 0, 697, 0, 0, 0, 0, 4165, 0, 0, - 0, 0, 0, 0, 0, 698, 1773, 0, 0, 0, - 3155, 0, 1773, 0, 879, 4865, 0, 0, 0, 883, - 0, 0, 0, 0, 0, 877, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 879, 0, 886, 0, - 0, 3156, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 885, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 702, 879, 0, 883, 0, 0, 0, - 0, 4946, 0, 946, 0, 0, 886, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 886, 1022, - 0, 0, 0, 0, 4165, 1054, 0, 883, 0, 0, - 0, 4971, 0, 4972, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 877, 0, 879, 0, 0, 4986, 0, 0, 213, 3157, - 883, 0, 707, 0, 0, 0, 0, 0, 880, 0, - 0, 0, 880, 880, 879, 0, 0, 0, 0, 0, - 0, 885, 0, 0, 0, 0, 0, 0, 877, 1036, - 0, 886, 3158, 0, 0, 0, 879, 0, 711, 0, - 0, 0, 0, 0, 0, 712, 0, 0, 713, 0, - 877, 0, 0, 0, 885, 0, 0, 0, 0, 0, - 0, 0, 946, 946, 0, 0, 0, 714, 0, 0, - 880, 0, 0, 0, 1038, 0, 880, 0, 0, 0, - 716, 0, 0, 1039, 0, 0, 0, 718, 0, 946, - 0, 0, 946, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3159, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 879, - 0, 0, 0, 877, 0, 0, 0, 2050, 723, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, - 0, 0, 1344, 879, 0, 0, 0, 0, 0, 0, - 0, 0, 886, 2543, 0, 0, 3985, 0, 0, 0, - 0, 1369, 0, 2544, 1773, 1773, 1773, 0, 879, 0, - 2545, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 946, - 0, 883, 0, 0, 0, 0, 2546, 5123, 5124, 5125, - 0, 0, 883, 5126, 5127, 5128, 5129, 0, 946, 0, - 5131, 0, 0, 0, 0, 0, 0, 0, 883, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 946, 1427, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 877, 885, 5150, 5151, 5152, 5153, - 5154, 0, 5156, 5157, 0, 0, 885, 0, 0, 0, - 0, 0, 0, 0, 5166, 5167, 0, 0, 0, 0, - 0, 883, 885, 886, 0, 0, 0, 0, 1563, 0, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 883, - 883, 0, 0, 0, 0, 0, 0, 0, 0, 5173, - 0, 0, 0, 0, 0, 0, 0, 0, 882, 0, - 2547, 0, 882, 882, 0, 2548, 946, 0, 879, 0, - 883, 883, 0, 0, 0, 885, 880, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2549, 2238, 0, - 885, 886, 0, 885, 885, 0, 0, 0, 0, 0, - 0, 0, 2550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1773, 0, 877, 0, 0, 0, 946, - 882, 946, 0, 0, 885, 885, 882, 0, 0, 0, - 0, 0, 0, 0, 946, 0, 946, 0, 0, 0, - 0, 0, 1823, 2290, 0, 0, 0, 0, 0, 880, - 0, 5236, 0, 880, 0, 0, 0, 2551, 879, 0, - 2552, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 1857, 1860, 1861, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 877, 879, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 883, 946, 0, 0, 0, 0, 0, 0, - 0, 886, 0, 0, 0, 0, 5287, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, - 2054, 0, 0, 0, 0, 946, 0, 0, 0, 2553, - 0, 0, 0, 0, 0, 880, 885, 2543, 0, 0, - 0, 0, 0, 0, 946, 0, 0, 2544, 0, 0, - 880, 0, 0, 0, 2545, 880, 0, 0, 0, 1344, - 0, 0, 0, 0, 0, 0, 946, 0, 0, 946, - 0, 0, 0, 0, 0, 1986, 0, 0, 0, 0, - 2546, 0, 0, 877, 1344, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 879, 628, 0, - 0, 0, 0, 0, 0, 0, 0, 886, 0, 0, - 0, 0, 886, 886, 0, 0, 0, 0, 0, 2479, - 0, 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 0, - 1773, 0, 0, 0, 879, 0, 882, 0, 0, 879, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5391, 0, 0, 0, 3990, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5401, 0, 0, 0, 2547, 0, 5407, 5408, 0, 2548, - 0, 0, 0, 0, 0, 0, 5419, 0, 0, 877, - 0, 0, 0, 5421, 877, 877, 0, 0, 0, 0, - 0, 2549, 2238, 0, 2537, 0, 0, 0, 0, 882, - 0, 0, 0, 882, 0, 886, 2550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5473, 5474, - 0, 0, 0, 0, 0, 0, 0, 2050, 0, 0, - 2051, 5482, 0, 5484, 2052, 2053, 2054, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2290, 5498, 886, - 0, 0, 0, 2543, 0, 0, 3997, 0, 0, 0, - 0, 2551, 879, 2544, 2552, 0, 0, 0, 0, 0, - 2545, 0, 0, 4165, 2628, 0, 0, 0, 0, 0, - 880, 5532, 0, 880, 0, 880, 0, 0, 0, 0, - 880, 946, 0, 0, 0, 0, 2546, 877, 0, 0, - 0, 0, 0, 0, 0, 882, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 882, 0, 0, 0, 0, 882, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 880, 0, - 0, 877, 1773, 0, 0, 0, 880, 1773, 0, 1773, - 5569, 0, 0, 2553, 0, 0, 0, 2745, 0, 0, - 0, 0, 0, 0, 0, 0, 2768, 0, 0, 0, - 0, 880, 0, 1773, 5589, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5596, 0, 0, 879, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2806, 0, - 0, 0, 0, 0, 2818, 2818, 0, 0, 2818, 0, - 2547, 0, 0, 0, 0, 2548, 0, 0, 0, 0, - 946, 2836, 0, 946, 2839, 879, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2549, 2238, 0, - 0, 880, 0, 880, 0, 0, 0, 879, 0, 0, - 0, 5655, 2550, 2479, 0, 0, 0, 0, 0, 0, - 0, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2892, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2290, 2911, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2551, 0, 0, - 2552, 0, 0, 946, 946, 0, 0, 0, 0, 0, - 879, 4165, 0, 0, 946, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, - 0, 946, 0, 883, 0, 0, 0, 883, 883, 0, - 0, 0, 0, 0, 0, 0, 0, 1320, 1320, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, - 882, 0, 5750, 882, 0, 882, 0, 0, 0, 0, - 882, 0, 0, 0, 0, 0, 5763, 885, 0, 2553, - 0, 885, 885, 2933, 0, 883, 0, 880, 0, 0, - 0, 883, 0, 0, 2936, 0, 0, 0, 0, 0, - 0, 0, 946, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1320, 0, 0, 882, 0, - 0, 879, 0, 0, 0, 0, 882, 0, 0, 0, - 0, 0, 883, 0, 0, 5802, 2980, 2818, 0, 885, - 2050, 0, 0, 2051, 0, 885, 0, 2052, 2053, 2054, - 0, 882, 0, 0, 0, 880, 0, 0, 0, 0, - 0, 3015, 0, 0, 0, 0, 2543, 0, 3028, 0, - 0, 0, 0, 0, 0, 0, 2544, 880, 0, 2479, - 0, 0, 0, 2545, 0, 0, 885, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 880, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 882, 0, 5876, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1685, 1689, 0, 0, - 3089, 0, 879, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5888, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5898, 0, - 0, 0, 0, 1344, 1344, 0, 0, 0, 0, 0, - 0, 0, 880, 0, 0, 0, 0, 0, 0, 0, - 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 880, 0, 0, 0, - 879, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 946, 0, 0, 2547, 0, 0, 0, 0, 2548, 0, - 0, 880, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 2549, 2238, 0, 0, 0, 0, 0, 0, 0, 882, - 0, 0, 946, 0, 0, 2550, 0, 0, 0, 5970, - 0, 0, 0, 0, 946, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 882, 0, 0, - 0, 0, 0, 0, 0, 885, 0, 0, 0, 0, - 0, 0, 2490, 0, 0, 0, 2290, 0, 0, 946, - 0, 0, 0, 0, 883, 0, 0, 0, 883, 0, - 2551, 0, 0, 2552, 0, 0, 0, 0, 0, 0, - 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 882, 0, 0, 2490, 0, - 0, 0, 0, 0, 0, 0, 0, 2050, 885, 2003, - 2051, 0, 885, 0, 2052, 2053, 2054, 882, 0, 0, - 0, 880, 0, 0, 0, 0, 0, 1773, 0, 0, - 0, 0, 0, 2543, 0, 0, 4579, 0, 0, 882, - 2018, 0, 0, 2544, 0, 0, 946, 0, 0, 0, - 2545, 0, 2553, 0, 0, 0, 0, 0, 0, 0, - 883, 0, 0, 0, 0, 0, 0, 0, 2037, 2038, - 2039, 0, 2041, 0, 0, 883, 2546, 0, 0, 0, - 883, 0, 0, 0, 4525, 0, 0, 0, 0, 0, - 0, 0, 2497, 0, 0, 0, 879, 0, 0, 0, - 0, 879, 879, 0, 0, 0, 0, 0, 0, 0, - 0, 880, 0, 0, 885, 0, 0, 0, 0, 0, - 0, 0, 882, 0, 0, 0, 0, 0, 0, 885, - 0, 0, 946, 0, 885, 0, 0, 880, 0, 0, - 0, 0, 0, 0, 0, 0, 882, 0, 0, 0, - 0, 0, 2479, 0, 0, 0, 0, 0, 0, 0, - 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 0, - 0, 882, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2547, 0, 0, 0, 0, 2548, 2595, 0, 0, 0, - 2607, 2612, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 879, 0, 0, 2549, 2238, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2550, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 946, 0, 946, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 879, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2290, 0, 0, 0, 0, 0, 0, - 880, 0, 0, 0, 0, 0, 0, 2551, 0, 0, - 2552, 946, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, - 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 0, 0, 0, 0, 880, 0, 0, - 0, 0, 880, 0, 0, 883, 0, 0, 883, 0, - 883, 1773, 0, 0, 3301, 883, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3306, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2553, - 0, 0, 0, 0, 0, 0, 0, 1427, 0, 885, - 0, 0, 885, 883, 885, 0, 0, 0, 0, 885, - 0, 883, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 882, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 0, - 0, 0, 0, 0, 1427, 1427, 0, 882, 0, 0, - 0, 0, 0, 1685, 1685, 1685, 0, 885, 0, 0, - 0, 0, 0, 0, 0, 885, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 880, 0, 0, 1344, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2479, - 885, 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 883, 0, 883, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 885, 0, 946, 0, 0, 2050, 0, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 946, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 882, 0, 0, 2543, 0, 0, 0, 0, 0, 0, - 880, 0, 883, 2544, 0, 0, 0, 0, 0, 1773, - 2545, 3518, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3540, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 2546, 882, 880, 0, - 0, 0, 882, 0, 883, 0, 0, 0, 3568, 0, - 2490, 0, 0, 0, 3204, 0, 885, 0, 0, 0, - 880, 0, 0, 0, 0, 0, 0, 0, 0, 2490, - 2490, 2490, 883, 2490, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 885, 0, - 0, 0, 0, 0, 0, 1773, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2050, 0, 0, 2051, - 0, 0, 0, 2052, 2053, 2054, 885, 0, 0, 0, - 0, 5007, 0, 880, 3646, 3647, 0, 0, 0, 0, - 883, 0, 2543, 0, 0, 0, 0, 0, 0, 0, - 2547, 0, 2544, 0, 0, 2548, 0, 0, 0, 2545, - 0, 0, 883, 0, 0, 0, 0, 0, 0, 0, - 1773, 0, 946, 0, 0, 882, 0, 2549, 2238, 3170, - 0, 0, 0, 0, 883, 2546, 0, 0, 0, 0, - 0, 3191, 2550, 3192, 885, 3194, 0, 0, 3208, 3211, - 3216, 0, 0, 0, 0, 0, 3225, 0, 0, 3230, - 0, 0, 0, 0, 0, 0, 885, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3238, 3239, 3240, 0, - 0, 0, 0, 2290, 0, 3770, 0, 0, 885, 0, - 0, 0, 0, 3241, 0, 0, 0, 2551, 0, 0, - 2552, 0, 0, 0, 880, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 883, 0, 0, - 0, 0, 0, 0, 0, 2050, 0, 0, 2051, 0, - 5013, 0, 2052, 2053, 2054, 0, 0, 0, 0, 0, - 0, 883, 0, 0, 946, 0, 0, 0, 0, 2547, - 882, 2543, 0, 0, 2548, 0, 0, 0, 0, 0, - 0, 2544, 0, 0, 0, 0, 883, 0, 2545, 0, - 946, 885, 0, 0, 0, 0, 2549, 2238, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 882, 2553, - 0, 2550, 0, 0, 2546, 885, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 882, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 880, 0, 0, 0, 0, - 0, 0, 2290, 0, 0, 0, 3248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2551, 0, 0, 2552, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3265, 0, 0, 0, - 0, 0, 0, 882, 5014, 0, 0, 946, 0, 2479, - 0, 0, 0, 880, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 2547, 0, - 0, 0, 0, 2548, 0, 0, 883, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3267, - 0, 0, 0, 0, 0, 2549, 2238, 0, 2553, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2550, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 0, 0, 0, 0, 2490, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2290, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4043, 0, 882, 2551, 883, 0, 2552, 0, - 0, 0, 0, 880, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1427, 0, 0, 0, 0, 0, 0, - 0, 0, 883, 1773, 0, 0, 0, 0, 2479, 0, - 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, - 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, - 0, 1773, 0, 0, 0, 0, 885, 0, 0, 2490, - 0, 0, 0, 0, 2490, 0, 0, 2553, 0, 1773, - 0, 0, 0, 0, 3274, 3275, 3276, 3277, 3278, 3279, - 3280, 3281, 3282, 0, 3283, 0, 0, 0, 0, 0, - 0, 0, 0, 1320, 0, 882, 1685, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 880, - 0, 0, 0, 0, 880, 880, 0, 2050, 0, 0, - 2051, 0, 0, 0, 2052, 2053, 2054, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3241, 0, 0, - 0, 3248, 0, 2543, 3265, 883, 3267, 0, 0, 3318, - 0, 0, 0, 2544, 0, 0, 0, 0, 0, 0, - 2545, 0, 0, 882, 0, 0, 0, 2479, 0, 0, - 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 2487, 2488, 0, 0, 2546, 0, 0, 0, - 0, 0, 883, 0, 0, 0, 0, 883, 0, 885, - 0, 0, 2038, 2039, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 880, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 885, 0, 0, 0, - 0, 885, 0, 0, 0, 5015, 0, 0, 0, 4252, - 0, 0, 0, 0, 0, 2050, 0, 0, 2051, 2818, - 0, 880, 2052, 2053, 2054, 0, 0, 0, 0, 0, - 0, 0, 0, 882, 0, 3460, 0, 0, 0, 0, - 0, 2543, 0, 0, 0, 0, 0, 0, 0, 0, - 2547, 2544, 0, 0, 0, 2548, 0, 0, 2545, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2549, 2238, 0, - 883, 0, 0, 0, 2546, 0, 0, 0, 0, 0, - 0, 0, 2550, 0, 0, 0, 0, 0, 0, 0, - 0, 2050, 0, 0, 2051, 0, 0, 0, 2052, 2053, - 2054, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2543, 0, 0, - 0, 0, 0, 2290, 885, 0, 0, 2544, 0, 0, - 0, 0, 0, 0, 2545, 0, 0, 2551, 0, 0, - 2552, 0, 0, 0, 0, 0, 0, 0, 0, 882, - 0, 0, 0, 0, 882, 882, 0, 0, 0, 0, - 2546, 0, 0, 0, 0, 0, 0, 0, 4384, 4385, - 4386, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4395, 0, 0, 2547, 0, - 0, 0, 0, 2548, 0, 883, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2549, 2238, 0, 4420, 4422, - 0, 0, 0, 4427, 0, 0, 0, 0, 0, 2553, - 2550, 0, 0, 883, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 885, - 5534, 0, 0, 0, 0, 883, 0, 0, 0, 0, - 3702, 3703, 1685, 0, 0, 0, 3707, 882, 0, 0, - 0, 2290, 0, 0, 2547, 0, 0, 0, 0, 2548, - 0, 0, 0, 0, 0, 2551, 0, 885, 2552, 0, - 0, 0, 0, 3736, 0, 0, 0, 0, 0, 0, - 0, 2549, 2238, 0, 0, 0, 0, 0, 0, 885, - 0, 882, 0, 0, 0, 0, 2550, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4508, 883, 2479, - 1344, 0, 0, 0, 0, 0, 0, 2480, 2481, 2482, - 2483, 2484, 2485, 2486, 2487, 2488, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2290, 0, 0, - 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, - 0, 2551, 0, 0, 2552, 0, 0, 2553, 0, 0, - 0, 0, 885, 2490, 2490, 0, 2490, 0, 0, 0, - 0, 3204, 3204, 0, 3976, 0, 3204, 0, 0, 0, - 2490, 0, 0, 2490, 0, 0, 0, 0, 2490, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, - 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, - 2490, 2490, 2490, 2490, 0, 0, 0, 3204, 3204, 0, - 2490, 0, 0, 0, 0, 0, 0, 0, 0, 883, - 0, 0, 5362, 0, 0, 0, 0, 2490, 0, 2490, - 4612, 4613, 4614, 2553, 0, 0, 2490, 2490, 2490, 2490, - 2490, 2490, 2490, 2490, 2490, 2490, 0, 2479, 0, 0, - 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 2487, 2488, 0, 0, 0, 0, 0, 0, - 0, 3932, 0, 885, 0, 0, 3938, 0, 0, 0, - 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2050, 0, 0, 2051, 0, - 0, 0, 2052, 2053, 2054, 2041, 0, 0, 0, 0, - 0, 640, 0, 0, 0, 0, 3216, 0, 3216, 3216, - 0, 2543, 0, 0, 0, 0, 0, 0, 0, 641, - 0, 2544, 4000, 2479, 0, 4003, 0, 4005, 2545, 0, - 883, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, - 0, 0, 0, 0, 642, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2546, 0, 0, 643, 0, 0, - 0, 0, 4024, 0, 4027, 0, 4029, 0, 0, 0, - 0, 0, 0, -868, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 885, 0, 0, 0, 0, 0, - 0, 644, 0, 0, 0, 0, 0, 645, 883, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2490, 0, 0, 646, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 647, 0, 0, 0, - 0, 0, 0, 0, 0, 648, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 649, 0, - 0, 0, 885, 0, 4094, 0, 650, 0, 0, 2595, - 651, 0, 0, 0, 0, 0, 0, 0, 2547, 0, - 0, 0, 0, 2548, 2612, 0, 0, 0, 0, -1069, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2549, 2238, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2550, 0, 0, 0, 0, 0, 652, 0, 883, 0, - 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4144, - 0, 0, 0, 0, 0, 0, 0, 4875, 0, 0, - 0, 2290, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2551, 0, 653, 2552, 0, - 654, 0, 885, 0, 0, 0, 0, 0, 0, 4907, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 655, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, - 0, 3028, -462, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 657, 0, 0, 0, 0, 0, 0, 0, - 0, 658, 0, 0, 883, 0, 4965, 0, -462, 883, - 883, 659, 0, 0, 2490, 2490, 0, 2553, 0, 2490, - 0, 0, 0, 3089, 0, 0, 0, 0, 0, 0, - 660, 0, 0, 0, 0, 0, 0, 661, 0, 0, - 0, 0, 0, -462, 0, 0, 662, 663, 2490, 664, - 665, 0, 0, 0, 0, 0, 0, 0, 885, 0, - 0, 0, 0, 885, 885, 666, 0, 0, 0, 0, - 0, 0, 667, 0, 0, 668, 0, 0, 669, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -462, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2479, 0, 0, - 0, 0, 883, 0, 0, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 2487, 2488, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5050, 5051, 5052, 5053, 0, 0, - 0, 0, 1685, 0, 0, 0, 0, 0, 1685, 0, - 0, 0, 0, 0, 0, 0, 883, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 885, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 885, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 4407, 0, 0, - 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, - 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3976, - 3976, 0, 0, 3204, 3204, 3204, 3204, 0, 0, 3204, - 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3976, - 689, 0, 0, 0, 0, 1025, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2490, 0, 1, 2490, 0, 2490, 0, 0, - 3976, 3976, 0, 0, 2, 0, 3, 4, 0, 0, - 0, 0, 0, 1026, 0, 0, 2490, 3204, 3204, 2490, - 0, 2490, 0, 0, 0, 0, 692, 1027, 0, 0, - 0, 0, 0, 0, 6, 0, 0, 0, 1028, 0, - 0, 0, 693, 0, 0, 0, 7, 0, 8, 9, - 0, 0, 0, 0, 0, 10, 0, 11, 0, 0, - 1029, 0, 0, 0, 0, 0, 0, 4526, 0, 12, - 0, 13, 0, 0, 0, 4530, 0, 4531, 0, 0, - 0, 0, 0, 0, 1030, 4533, 2490, 4534, 14, 0, - 0, 15, 0, 0, 0, 696, 0, 0, 0, 0, - 0, 0, 0, 0, 697, 0, 16, 0, 17, 0, - 0, 0, 18, 0, 4556, 4557, 4558, 698, 5512, 0, - 0, 0, 1031, 0, 0, 0, 20, 0, 21, 0, - 0, 0, 0, 3225, 0, 22, 2490, 0, 0, 0, - 0, 4583, 0, 0, 4586, 0, 4588, 0, 1032, 0, - 0, 0, 23, 0, 0, 0, 4591, 0, 0, 0, - 0, 0, 0, 0, 4598, 4599, 0, 5265, 0, 24, - 0, 0, 0, 1033, 0, 0, 0, 0, 5275, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 702, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 26, 0, 0, 0, 0, 27, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 0, 0, 0, 0, 1034, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4657, 29, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 705, 0, 0, 4671, 0, 0, 0, 0, 0, 0, - 213, 1035, 0, 0, 707, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1036, 0, 0, 1037, 31, 0, 0, 710, 0, - 711, 32, 33, 0, 34, 0, 0, 712, 0, 35, - 713, 0, 4458, 0, 0, 36, 0, 0, 37, 0, - 0, 0, 0, 0, 0, 38, 0, 0, 0, 714, - 0, 39, 40, 0, 0, 0, 1038, 0, 0, 41, - 0, 0, 716, 42, 0, 1039, 3204, 0, 0, 718, - 0, 0, 0, 43, 0, 0, 0, 1040, 0, 720, - 0, 0, 0, 0, 1041, 0, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 45, 2490, - 723, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, - 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 49, 0, 0, 5457, 0, 0, 0, - 0, 1344, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 5487, 0, 0, 0, 0, 0, 0, 0, 197, 0, - 0, 0, 0, 0, 56, 0, 0, -136, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2490, 198, - 0, 0, 2490, 2490, 0, 2490, 2490, 0, 0, 0, - 0, 3976, 3976, 3976, 3976, 199, 0, 0, 3976, 3976, - 3976, 3976, 3976, 3976, 3976, 3976, 3976, 3976, 2490, 2490, - 2490, 0, 0, 200, 0, 0, 0, 0, 0, 201, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 0, 202, 2490, 0, - 2490, 4953, 4954, 2490, 0, 0, 3976, 3976, 203, 0, - 2490, 2490, 4961, 0, 5586, 0, 0, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 208, 0, 0, 0, 0, 0, 0, 0, 2490, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5003, - 0, 0, 0, 2490, 0, 0, 209, 0, 0, 0, - 0, 5009, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, - 0, 0, 0, 0, 5662, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5028, 5030, 0, 0, 0, 0, 0, 0, 5034, 5035, - 0, 0, 5684, 5036, 0, 0, 0, 5037, 0, 211, - 5040, 5041, 0, 0, 0, 5045, 0, 0, 0, 0, - 0, 5049, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 213, 214, 0, 0, 215, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5081, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1320, 0, 216, 0, 0, 217, 0, 0, - 5095, 218, 0, 219, 0, 0, 0, 0, 0, 0, - 220, 0, 0, 221, 0, 0, 0, 0, 0, 0, - 5105, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 222, 0, 0, 0, 0, 0, 0, 223, - 0, 0, 0, 0, 224, 225, 0, 0, 226, 0, - 0, 0, 227, 0, 0, 0, 0, 0, 3976, 0, - 0, 0, 228, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5169, 0, 0, 0, 0, 0, 0, 5171, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 2490, 0, 0, 0, - 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 0, 5206, 0, 0, - 0, 2490, 3204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2490, 0, 2490, 0, 0, 0, 2490, 2490, 2490, 2490, - 0, 0, 2490, 2490, 0, 0, 0, 2490, 0, 0, - 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3204, 0, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, + 0, 32, 33, 0, 34, 0, 0, 0, 0, 35, + 0, 0, 4642, 0, 0, 36, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 39, 40, 0, 0, 0, 0, 0, 0, + 41, 0, 0, 1114, 42, 0, 670, 0, 0, 0, + 0, 0, 0, 0, 0, 43, 5799, 3327, 0, 0, + 0, 0, 0, 0, 671, 0, 0, 0, 0, 0, + 0, 0, 44, 0, 0, 0, 0, 3348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 672, + 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, + 2583, 0, 673, 0, 0, 46, 0, 0, 0, 0, + 0, 47, 0, 0, 0, 0, 48, 0, 0, -891, + 0, 0, 2103, 0, 0, 0, 0, 0, 0, 49, + 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, + 0, 0, 0, 675, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, + 0, 676, 0, 0, 0, 0, 0, 0, 0, 0, + 5878, 0, 56, 0, 677, -136, 0, 0, 0, 0, + 0, 0, 0, 678, 0, 0, 5890, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, + 0, 0, 0, 0, 0, 680, 0, 0, 0, 681, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2583, 0, 0, 0, 2583, 2583, 5927, -1097, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 2583, 0, 0, 0, 0, 0, 0, 0, 2583, 0, + 2583, 0, 2583, 2583, 0, 0, 0, 719, 4143, 4143, + 4143, 4143, 720, 0, 0, 4143, 4143, 4143, 4143, 4143, + 4143, 4143, 4143, 4143, 4143, 2583, 2583, 2583, 0, 682, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -624, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 721, 0, 2583, 0, 0, 2583, 0, 2583, 0, 0, + 0, 2583, 0, 722, 4143, 4143, 0, 3288, 2583, 2583, + 0, 0, 0, 0, 2583, 0, 0, 0, 0, 6007, + 723, 0, 0, 683, 0, 0, 684, 0, 6014, 6014, + 6014, 0, 0, 0, 0, 0, 0, 0, 724, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 685, + 0, 0, 0, 0, 0, 0, 5609, 0, 0, 0, + 0, 0, 725, 686, 0, 0, 0, 0, 2583, 0, + 6047, -474, 0, 0, 0, 726, 0, 0, 0, 0, + 0, 0, 2583, 0, 727, 0, 0, 0, 0, 6062, + 0, 687, 0, 0, 0, 0, 0, 728, 0, 0, + 0, 688, 0, 729, 0, 0, 0, 0, -474, 0, + 730, 689, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 719, 0, + 731, 690, 0, 1052, 0, 0, 0, 0, 0, 691, + 0, 0, 0, 0, 0, 0, -474, 0, 0, 692, + 0, 693, 0, 694, 695, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 696, + 0, 1053, 0, 0, 0, 0, 0, 697, 0, 0, + 698, 0, 0, 699, 722, 1054, 0, 0, 0, 0, + 732, 0, 0, 0, 0, 0, -474, 1055, 0, 0, + 0, 723, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1056, + 0, 6014, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 733, 0, 0, 0, 0, 0, + 0, 0, 0, 1057, 0, 0, 5609, 734, 0, 0, + 0, 0, 0, 0, 0, 0, 726, 0, 0, 0, + 735, 0, 0, 0, 0, 727, 0, 0, 0, 0, + 213, 736, 0, 0, 737, 0, 0, 0, 728, 0, + 0, 4143, 0, 0, 1058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, + 0, 0, 738, 0, 0, 739, 0, 0, 0, 740, + 0, 1059, 741, 0, 0, 0, 0, 0, 0, 742, + 0, 0, 743, 0, 0, 0, 0, 0, 0, 6237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 744, 0, 0, 0, 0, 0, 0, 1060, + 745, 0, 0, 6262, 0, 0, 0, 746, 0, 0, + 747, 0, 0, 0, 0, 748, 0, 0, 2583, 2583, + 0, 732, 0, 749, 0, 750, 2583, 0, 0, 0, + 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 752, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, + 0, 0, 0, 0, 0, 1061, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 735, 2583, 3327, 0, 0, 0, 0, 0, 0, + 0, 213, 1062, 197, 0, 737, 0, 0, 0, 0, + 0, 2583, 0, 2583, 0, 0, 0, 2583, 2583, 2583, + 2583, 0, 0, 2583, 2583, 0, 0, 0, 0, 2583, + 6014, 0, 0, 1063, 0, 0, 1064, 0, 0, 0, + 740, 0, 0, 741, 0, 0, 6349, 3327, 0, 0, + 742, 0, 0, 743, 198, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, + 0, 199, 0, 744, 0, 0, 0, 0, 0, 2583, + 0, 1065, 0, 0, 0, 0, 0, 0, 746, 200, + 0, 1066, 0, 0, 0, 201, 748, 0, 0, 0, + 0, 0, 0, 0, 1067, 0, 750, 2583, 0, 0, + 0, 1068, 0, 202, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 204, 0, 0, 753, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, + 0, 0, 0, 0, 206, 0, 2583, 0, 2583, 0, + 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1733, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 5293, 0, 0, 0, 0, 0, 5297, 5298, 5299, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2490, 0, 2490, 0, 0, 0, 0, 0, 0, - 0, 0, 5310, 5311, 0, 0, 5312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2490, 0, - 0, 0, 0, 5332, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 5350, 0, 0, 0, 0, 0, + 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 211, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, + 0, 4143, 3327, 2583, 2583, 2583, 0, 0, 0, 0, + 0, 212, 0, 0, 0, 0, 0, 0, 2583, 2583, + 2583, 213, 214, 0, 0, 215, 0, 0, 2583, 0, + 0, 0, 0, 3327, 0, 0, 4143, 0, 0, 0, + 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 216, 0, 0, 217, 0, 2583, 0, + 218, 0, 0, 219, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 221, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, + 0, 223, 0, 0, 0, 0, 224, 0, 225, 0, + 0, 226, 0, 0, 0, 0, 227, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, + 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 230, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 0, 3976, 3204, 2490, - 2490, 2490, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2490, 2490, 2490, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3204, 0, 0, - 3976, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2583, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 4143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4143, 0, 3327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3976, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5603, 0, 0, - 0, 3976, 0, 3204, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, + 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 5705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 5350, 0, + 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -8171,14623 +8687,15505 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2490, + 0, 0, 0, 3327, 3327, 0, 0, 3327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3204, 3204, 5837, 5837, 5837, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, - 0, 0, 5350, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 5864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2490, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3976, 3976, - 0, 0, 5905, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 5930, 0, 5837, 0, + 0, 0, 0, 0, 0, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2490, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 234, 0, 1236, 684, 0, 1237, 1238, 1239, - 745, 1240, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 1679, - 243, 244, 245, 0, 0, 6006, 0, 1241, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, - 264, 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, - 1248, 273, 0, 274, 275, 276, 277, 1249, 0, 1250, - 5837, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 301, 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 1680, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 1685, - 333, 334, 335, 336, 1261, 338, 339, 340, 341, 1262, - 1263, 343, 0, 344, 345, 346, 1264, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 1265, 0, 1266, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, - 383, 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 1270, 401, 402, 403, 0, 404, 405, 406, 1271, - 1272, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 1273, - 426, 1274, 428, 429, 430, 431, 432, 433, 434, 435, - 1275, 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, - 1279, 445, 446, 447, 0, 448, 449, 0, 0, 1280, - 451, 452, 0, 0, 453, 454, 455, 456, 457, 458, - 1281, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 1282, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 1283, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 1284, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 1285, 529, 530, 531, 532, - 533, 534, 535, 536, 1286, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 1287, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 1288, 1289, 0, 0, 566, - 567, 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 1293, 579, 580, 581, 582, 583, - 1294, 0, 584, 585, 586, 587, 588, 589, 1295, 1681, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 1296, 1297, - 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, - 617, 1304, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1305, 1306, 1682, 0, 0, 0, 0, 0, - 0, 1308, 1683, 234, 0, 1236, 684, 0, 1237, 1238, - 1239, 745, 1240, 0, 0, 0, 0, 0, 0, 0, + 0, 2583, 0, 0, 0, 0, 0, 0, 0, 234, + 0, 1268, 714, 0, 1269, 1270, 1271, 775, 1272, 4143, + 4143, 0, 4143, 0, 0, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 1727, 244, 245, + 246, 0, 0, 0, 0, 1273, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, + 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, + 0, 275, 276, 277, 278, 1281, 0, 1282, 2583, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, + 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 1728, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 1293, 342, 343, 344, 345, + 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 1297, 0, 1298, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, + 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 1312, 420, 421, + 422, 0, 423, 424, 425, 1313, 1314, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 1315, 437, 438, + 439, 440, 441, 442, 443, 444, 1316, 446, 1317, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 1318, 458, + 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 1323, 473, + 474, 0, 0, 475, 476, 477, 478, 479, 480, 1324, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 1326, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 1327, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 1328, 555, + 556, 557, 558, 559, 560, 561, 562, 1329, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 1330, 581, 0, 582, 583, + 1331, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, + 1335, 1336, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 1337, 609, 610, 611, 612, 613, 1338, 0, + 614, 615, 616, 617, 618, 619, 1339, 1729, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, + 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, + 1348, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1349, 1350, 1730, 0, 0, 0, 0, 0, + 0, 1352, 1731, 234, 0, 1268, 714, 0, 1269, 1270, + 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 1241, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 1242, 259, 1243, 1244, 0, 262, - 263, 264, 265, 266, 267, 268, 1245, 1246, 269, 270, - 1247, 1248, 273, 0, 274, 275, 276, 277, 1249, 0, - 1250, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 301, 302, 303, 304, 305, 306, 1258, 1259, 309, - 1260, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 860, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 1261, 338, 339, 340, 341, - 1262, 1263, 343, 0, 344, 345, 346, 1264, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 1265, 0, 1266, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 1267, 1268, 0, 1269, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 1270, 401, 402, 403, 0, 404, 405, 406, - 1271, 1272, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 1273, 426, 1274, 428, 429, 430, 431, 432, 433, 434, - 435, 1275, 437, 1276, 438, 439, 440, 441, 1277, 1278, - 443, 1279, 445, 446, 447, 0, 448, 449, 0, 0, - 1280, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 1281, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 1282, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 1283, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 1284, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 40, 524, 525, 526, 527, 528, 1285, 529, 530, 531, - 532, 533, 534, 535, 536, 1286, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 1287, 553, 0, 554, 555, 44, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 1288, 1289, 0, 0, - 566, 567, 1290, 569, 1291, 1292, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 1293, 579, 580, 581, 582, - 583, 1294, 0, 584, 585, 586, 587, 588, 1175, 1295, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 49, 598, 599, 600, 601, 602, 603, 604, 1296, - 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, 615, - 616, 617, 1304, 0, 50, 0, 0, 0, 0, 0, - 0, 0, 0, 1305, 1306, 0, 0, 0, 0, 0, - 0, 0, 1308, 5563, 234, 0, 1236, 684, 0, 1237, - 1238, 1239, 745, 1240, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 1241, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 1242, 259, 1243, 1244, 0, - 262, 263, 264, 265, 266, 267, 268, 1245, 1246, 269, - 270, 1247, 1248, 273, 0, 274, 275, 276, 277, 1249, - 0, 1250, 0, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 296, 297, 298, 299, 1251, 1252, 1253, 1254, 1255, - 1256, 1257, 301, 302, 303, 304, 305, 306, 1258, 1259, - 309, 1260, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 860, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 1261, 338, 339, 340, - 341, 1262, 1263, 343, 0, 344, 345, 346, 1264, 348, - 0, 349, 0, 350, 351, 0, 352, 353, 354, 355, - 356, 0, 357, 1265, 0, 1266, 360, 361, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 380, - 381, 382, 383, 384, 385, 1267, 1268, 0, 1269, 0, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 0, 399, 1270, 401, 402, 403, 0, 404, 405, - 406, 1271, 1272, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 1273, 426, 1274, 428, 429, 430, 431, 432, 433, - 434, 435, 1275, 437, 1276, 438, 439, 440, 441, 1277, - 1278, 443, 1279, 445, 446, 447, 0, 448, 449, 0, - 0, 1280, 451, 452, 0, 0, 453, 454, 455, 456, - 457, 458, 1281, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 1282, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 1283, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 508, 509, 510, 511, 512, - 513, 1284, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 1285, 529, 530, - 531, 532, 533, 534, 535, 536, 1286, 538, 0, 539, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 1273, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, + 263, 264, 265, 266, 267, 268, 269, 1277, 1278, 270, + 271, 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, + 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, + 1291, 311, 1292, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 884, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 1293, + 342, 343, 344, 345, 1294, 1295, 347, 0, 348, 349, + 350, 1296, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 1297, 0, 1298, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, 399, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, + 1311, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 1312, 420, 421, 422, 0, 423, 424, 425, 1313, + 1314, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 1315, 437, 438, 439, 440, 441, 442, 443, 444, + 1316, 446, 1317, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, + 1321, 464, 1322, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 1323, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 1324, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 1325, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 1326, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 1327, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 40, 550, 551, 552, + 553, 554, 1328, 555, 556, 557, 558, 559, 560, 561, + 562, 1329, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 1330, + 581, 0, 582, 583, 1331, 44, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 1332, 1333, 0, 0, + 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 1337, 609, 610, 611, + 612, 613, 1338, 0, 614, 615, 616, 617, 618, 1203, + 1339, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 49, 628, 629, 630, 631, 632, 633, 634, + 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, + 645, 646, 647, 0, 1348, 0, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1349, 1350, 0, 0, + 0, 0, 0, 0, 0, 1352, 5845, 234, 0, 1268, + 714, 0, 1269, 1270, 1271, 775, 1272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 0, 531, 532, 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 1287, 553, 0, 554, 555, 0, 556, 557, - 558, 559, 560, 561, 562, 0, 563, 1288, 1289, 0, - 0, 566, 567, 1290, 569, 1291, 1292, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 1293, 579, 580, 581, - 582, 583, 1294, 0, 584, 585, 586, 587, 588, 589, - 1295, 0, 591, 592, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, - 615, 616, 617, 1304, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1305, 1306, 0, 0, 0, 0, - 0, 0, 0, 1308, 3206, 234, 0, 1236, 684, 0, - 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, 0, + 0, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 0, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 619, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 0, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 0, 0, 0, 0, 1352, + 3329, 234, 0, 1268, 714, 0, 1269, 1270, 1271, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 1273, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 1292, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 1323, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 1327, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 1337, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 1348, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1349, 1350, 0, 0, 0, 0, + 0, 0, 0, 1352, 4745, 234, 0, 1268, 714, 0, + 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 1241, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 1242, 259, 1243, 1244, - 0, 262, 263, 264, 265, 266, 267, 268, 1245, 1246, - 269, 270, 1247, 1248, 273, 0, 274, 275, 276, 277, - 1249, 0, 1250, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, 1254, - 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, 1258, - 1259, 309, 1260, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 860, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 1261, 338, 339, - 340, 341, 1262, 1263, 343, 0, 344, 345, 346, 1264, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 1265, 0, 1266, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 1267, 1268, 0, 1269, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 1270, 401, 402, 403, 0, 404, - 405, 406, 1271, 1272, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 1273, 426, 1274, 428, 429, 430, 431, 432, - 433, 434, 435, 1275, 437, 1276, 438, 439, 440, 441, - 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, 449, - 0, 0, 1280, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 1281, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 1282, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 1283, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 1284, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 1285, 529, - 530, 531, 532, 533, 534, 535, 536, 1286, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 1287, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 1288, 1289, - 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 1293, 579, 580, - 581, 582, 583, 1294, 0, 584, 585, 586, 587, 588, - 589, 1295, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, - 614, 615, 616, 617, 1304, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1305, 1306, 0, 0, 0, - 0, 0, 0, 0, 1308, 4535, 234, 0, 1236, 684, - 0, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 625, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 0, 0, 0, 0, 1308, 4605, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 4072, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, -1810, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - -1810, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, -1810, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, -1810, 394, - 395, 396, 397, 398, 0, 0, 399, 400, -1810, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, -1810, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 1274, 260, 1275, + 1276, 0, 263, 264, 265, 266, 267, 268, 269, 1277, + 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, 277, + 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, + 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, + 348, 349, 350, 1296, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 1297, + 0, 1298, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, + 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, + 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 409, 1311, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 1312, 420, 421, 422, 0, 423, 424, + 425, 1313, 1314, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 1315, 437, 438, 439, 440, 441, 442, + 443, 444, 1316, 446, 1317, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 1318, 458, 1319, 459, 460, 461, + 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 1323, 473, 474, 0, 0, 475, + 476, 477, 478, 479, 480, 1324, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 1326, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 1327, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 1328, 555, 556, 557, 558, 559, + 560, 561, 562, 1329, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 1330, 581, 0, 582, 583, 1331, 0, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 1332, 1333, + 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 1337, 609, + 610, 611, 612, 613, 1338, 0, 614, 615, 616, 617, + 618, 619, 1339, 0, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, + 1347, 644, 645, 646, 647, 0, 1348, 0, 0, 0, + 655, 0, 0, 0, 0, 0, 0, 0, 1349, 1350, + 0, 0, 0, 0, 0, 0, 0, 1352, 4812, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 4249, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, + 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, + 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, -1841, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, -1841, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, -1841, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, -1841, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, -1841, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, -1841, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, -1810, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 0, 0, 0, - 852, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1420, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 853, 259, 854, 855, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 856, 857, 273, - 0, 274, 275, 276, 277, 0, 0, 279, 0, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 296, 297, 298, - 299, 0, 0, 0, 300, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 858, 859, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 860, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 0, 338, 339, 340, 341, 0, 0, 343, - 0, 344, 345, 346, 861, 348, 0, 349, 0, 350, - 351, 0, 352, 353, 354, 355, 356, 0, 357, 0, - 0, 0, 360, 361, 0, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 2638, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 380, 2639, 382, 383, 384, - 385, 862, 863, 0, 864, 0, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 0, 399, 0, - 401, 402, 403, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 865, 426, 866, - 428, 429, 430, 431, 432, 433, 434, 0, 0, 437, - 0, 438, 439, 440, 441, 0, 0, 443, 867, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 2641, 456, 457, 458, 0, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 0, 473, 0, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 868, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 508, 509, 510, 511, 512, 513, 0, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 2642, 532, 533, 534, - 535, 536, 870, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 0, 553, - 0, 554, 555, 0, 556, 557, 558, 559, 560, 561, - 562, 0, 563, 871, 872, 0, 0, 566, 567, 0, - 569, 0, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 0, 873, 2643, 591, 592, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 852, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 615, 616, 617, 0, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, -1841, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 876, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1466, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 0, 877, 260, 878, + 879, 0, 263, 264, 265, 266, 267, 268, 269, 0, + 0, 270, 271, 880, 881, 274, 0, 275, 276, 277, + 278, 0, 0, 280, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 0, 0, + 0, 302, 0, 0, 0, 303, 304, 305, 306, 307, + 308, 882, 883, 311, 0, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 0, 342, 343, 344, 345, 0, 0, 347, 0, + 348, 349, 350, 885, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 0, + 0, 0, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 2733, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 2734, 388, 389, + 390, 391, 886, 887, 0, 888, 0, 395, 396, 397, + 398, 399, 889, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 0, 420, 421, 422, 0, 423, 424, + 425, 0, 0, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 0, 437, 438, 439, 440, 441, 442, + 443, 444, 890, 446, 891, 448, 449, 450, 451, 452, + 453, 454, 455, 0, 0, 458, 0, 459, 460, 461, + 462, 0, 0, 464, 892, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 472, 473, 474, 0, 0, 475, + 476, 2736, 478, 479, 480, 0, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 0, 497, 0, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 893, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 0, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 0, 555, 556, 2737, 558, 559, + 560, 561, 562, 895, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 0, 581, 0, 582, 583, 0, 0, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 896, 897, + 0, 0, 595, 596, 0, 598, 0, 0, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 0, 609, + 610, 611, 612, 613, 0, 0, 614, 615, 616, 617, + 618, 0, 898, 2738, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 876, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 645, 646, 647, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 0, 2831, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 0, 877, 260, 878, 879, 0, 263, 264, + 265, 266, 267, 268, 269, 0, 0, 270, 271, 880, + 881, 274, 0, 275, 276, 277, 278, 0, 0, 280, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 0, 0, 0, 302, 0, 0, + 0, 303, 304, 305, 306, 307, 308, 882, 883, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 0, 342, 343, + 344, 345, 0, 0, 347, 0, 348, 349, 350, 885, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 0, 0, 0, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 2733, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 2734, 388, 389, 390, 391, 886, 887, + 0, 888, 0, 395, 396, 397, 398, 399, 889, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 0, + 420, 421, 422, 0, 423, 424, 425, 0, 0, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 0, + 437, 438, 439, 440, 441, 442, 443, 444, 890, 446, + 891, 448, 449, 450, 451, 452, 453, 454, 455, 0, + 0, 458, 0, 459, 460, 461, 462, 0, 0, 464, + 892, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 2736, 478, 479, + 480, 0, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 0, 497, 0, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 893, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 0, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 0, 555, 556, 2737, 558, 559, 560, 561, 562, 895, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 0, 581, 0, + 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 896, 897, 0, 0, 595, 596, + 0, 598, 0, 0, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 0, 0, 614, 615, 616, 617, 618, 0, 898, 2738, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 234, 0, 1268, + 714, 0, 1269, 1270, 1271, 775, 1272, 0, 645, 646, + 647, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 3964, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 3290, 531, 532, 533, 534, 535, 536, 537, 538, 1327, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 40, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 44, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 1203, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 49, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, 1352, + 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 2739, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 853, 259, 854, 855, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 856, 857, 273, 0, 274, 275, 276, 277, - 0, 0, 279, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 0, 0, 0, 300, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 858, - 859, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 860, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 0, 338, 339, - 340, 341, 0, 0, 343, 0, 344, 345, 346, 861, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 0, 0, 0, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 2638, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 2639, 382, 383, 384, 385, 862, 863, 0, 864, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 0, 401, 402, 403, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 865, 426, 866, 428, 429, 430, 431, 432, - 433, 434, 0, 0, 437, 0, 438, 439, 440, 441, - 0, 0, 443, 867, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 2641, - 456, 457, 458, 0, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 0, 473, 0, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 868, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 0, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 2642, 532, 533, 534, 535, 536, 870, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 0, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 871, 872, - 0, 0, 566, 567, 0, 569, 0, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 0, 873, 2643, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 0, 234, 0, 1236, 684, 0, 1237, 1238, 1239, 745, - 1240, 615, 616, 617, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 3825, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 40, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 44, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 1175, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 49, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 3212, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 3213, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 3214, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 3215, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, -2200, 243, - 244, 245, 0, 0, 0, -2200, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, -2200, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, -2198, 243, 244, 245, 0, 0, 0, - -2198, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - -2198, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 0, 0, 2000, 3163, - 1308, 234, 0, 1236, 684, 0, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 1307, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 2605, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 3704, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 3213, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 3268, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 1273, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 254, 255, 256, 257, 258, 1274, 260, 1275, + 1276, 0, 263, 264, 265, 266, 267, 268, 269, 1277, + 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, 277, + 278, 1281, 0, 1282, 0, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 298, 299, 300, 301, 1283, 1284, + 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, + 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 884, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, + 348, 349, 350, 1296, 352, 0, 353, 0, 354, 355, + 356, 0, 357, 358, 359, 360, 361, 0, 362, 1297, + 0, 1298, 365, 366, 0, 367, 368, 369, 370, 371, + 372, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 386, 387, 388, 389, + 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, + 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 409, 1311, 411, 412, 413, 414, 415, 416, 417, + 0, 0, 418, 1312, 420, 421, 422, 0, 423, 424, + 425, 1313, 1314, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 1315, 437, 438, 439, 440, 441, 442, + 443, 444, 1316, 446, 1317, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 1318, 458, 1319, 459, 460, 461, + 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 1323, 473, 474, 0, 0, 475, + 476, 477, 478, 479, 480, 1324, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 1325, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 1326, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 533, 534, 535, 536, 537, 538, 1327, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 40, 550, + 551, 552, 553, 554, 1328, 555, 556, 557, 558, 559, + 560, 561, 562, 1329, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 1330, 581, 0, 582, 583, 1331, 44, 584, 585, + 586, 587, 588, 589, 590, 591, 0, 592, 1332, 1333, + 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 1337, 609, + 610, 611, 612, 613, 1338, 0, 614, 615, 616, 617, + 618, 1203, 1339, 0, 621, 622, 623, 624, 625, 626, + 0, 0, 627, 0, 49, 628, 629, 630, 631, 632, + 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, + 1347, 644, 645, 646, 647, 0, 1348, 0, 50, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1349, 1350, + 0, 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, + 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 1273, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, 3335, + 263, 264, 265, 266, 267, 268, 269, 1277, 1278, 270, + 271, 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, + 0, 1282, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, + 1291, 311, 1292, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 884, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 1293, + 342, 343, 344, 345, 1294, 1295, 347, 0, 348, 349, + 350, 1296, 352, 0, 353, 0, 354, 355, 356, 3336, + 357, 358, 359, 360, 361, 0, 362, 1297, 0, 1298, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, 399, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, + 1311, 411, 412, 413, 414, 415, 416, 417, 0, 3337, + 418, 1312, 420, 421, 422, 0, 423, 424, 425, 1313, + 1314, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 1315, 437, 438, 439, 440, 441, 442, 443, 444, + 1316, 446, 1317, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, + 1321, 464, 1322, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 1323, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 1324, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 1325, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 1326, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 1327, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 1328, 555, 556, 557, 558, 559, 560, 561, + 562, 1329, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 1330, + 581, 0, 582, 583, 1331, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 1332, 1333, 0, 3338, + 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 1337, 609, 610, 611, + 612, 613, 1338, 0, 614, 615, 616, 617, 618, 619, + 1339, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, + 645, 646, 647, 0, 1348, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1349, 1350, 0, 0, + 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, -2272, + 244, 245, 246, 0, 0, 0, -2272, 1273, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 1292, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 1323, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 1327, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, -2272, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 1337, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 1348, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1349, 1350, 0, 0, 0, 234, + 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, -2270, 244, 245, + 246, 0, 0, 0, -2270, 1273, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, + 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, + 0, 275, 276, 277, 278, 1281, 0, 1282, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, + 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 1293, 342, 343, 344, 345, + 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 1297, 0, 1298, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, + 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, + 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 1312, 420, 421, + 422, 0, 423, 424, 425, 1313, 1314, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 1315, 437, 438, + 439, 440, 441, 442, 443, 444, 1316, 446, 1317, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 1318, 458, + 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 1323, 473, + 474, 0, 0, 475, 476, 477, 478, 479, 480, 1324, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 1325, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 1326, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 1327, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 1328, 555, + 556, 557, 558, 559, 560, 561, 562, 1329, 564, -2270, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 1330, 581, 0, 582, 583, + 1331, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, + 1335, 1336, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 1337, 609, 610, 611, 612, 613, 1338, 0, + 614, 615, 616, 617, 618, 619, 1339, 0, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, + 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, + 1348, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, + 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 0, 244, 245, 246, 0, + 0, 0, 0, 1273, 0, 0, 247, 248, 249, 0, + 250, 251, 252, 253, 254, 255, 256, 257, 258, 1274, + 260, 1275, 1276, 0, 263, 264, 265, 266, 267, 268, + 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, + 276, 277, 278, 1281, 0, 1282, 0, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 0, 292, + 293, 294, 295, 296, 297, 0, 298, 299, 300, 301, + 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, + 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, + 314, 315, 316, 317, 318, 319, 0, 320, 321, 322, + 323, 0, 0, 324, 325, 884, 327, 328, 0, 329, + 330, 331, 332, 0, 333, 334, 335, 336, 0, 337, + 338, 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, + 347, 0, 348, 349, 350, 1296, 352, 0, 353, 0, + 354, 355, 356, 0, 357, 358, 359, 360, 361, 0, + 362, 1297, 0, 1298, 365, 366, 0, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 0, 377, 378, + 379, 380, 381, 382, 383, 384, 0, 385, 386, 387, + 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, + 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, + 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, + 416, 417, 0, 0, 418, 1312, 420, 421, 422, 0, + 423, 424, 425, 1313, 1314, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 1315, 437, 438, 439, 440, + 441, 442, 443, 444, 1316, 446, 1317, 448, 449, 450, + 451, 452, 453, 454, 455, 456, 1318, 458, 1319, 459, + 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, + 0, 469, 470, 471, 0, 0, 1323, 473, 474, 0, + 0, 475, 476, 477, 478, 479, 480, 1324, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, + 493, 494, 495, 1325, 497, 498, 499, 500, 501, 0, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 1326, 514, 515, 516, 517, 0, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 0, 531, 532, 533, 534, 535, 536, 537, 538, 1327, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 0, 550, 551, 552, 553, 554, 1328, 555, 556, 557, + 558, 559, 560, 561, 562, 1329, 564, 0, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 1330, 581, 0, 582, 583, 1331, 0, + 584, 585, 586, 587, 588, 589, 590, 591, 0, 592, + 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 0, + 1337, 609, 610, 611, 612, 613, 1338, 0, 614, 615, + 616, 617, 618, 619, 1339, 0, 621, 622, 623, 624, + 625, 626, 0, 0, 627, 0, 0, 628, 629, 630, + 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, + 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1349, 1350, 0, 0, 0, 0, 0, 2051, 3263, 1352, + 234, 0, 1268, 714, 0, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 1351, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 2700, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2608, 2609, 0, 0, 0, 234, 0, 3381, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 3290, + 531, 532, 533, 534, 535, 536, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, + 1350, 0, 0, 0, 234, 0, 1268, 714, 1352, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 3843, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 3336, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 3394, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 0, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 4656, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2703, + 2704, 0, 0, 0, 234, 0, 3513, 714, 1352, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 4868, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 1292, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 1319, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 1327, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 1337, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 5251, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 1348, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1349, 1350, 0, 0, 0, 234, 0, + 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 396, 397, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 5263, 456, 1318, 458, 1319, + 459, 460, 461, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 1348, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 5017, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 5029, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 5599, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 1292, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 5600, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 1319, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 5601, 537, 538, 1327, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 1337, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 1348, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1349, + 1350, 0, 0, 0, 234, 0, 1268, 714, 5602, 1269, + 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 6011, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 6012, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 1292, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 1319, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 1323, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 1327, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 6013, 606, 607, 608, 0, 1337, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 1348, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1349, 1350, 0, + 0, 0, 234, 0, 1268, 714, 1352, 1269, 1270, 1271, + 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 1273, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, + 264, 265, 266, 267, 268, 269, 1277, 1278, 270, 271, + 1279, 1280, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 6012, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, + 311, 1292, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 1293, 342, + 343, 344, 345, 1294, 1295, 347, 0, 348, 349, 350, + 1296, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 1298, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 1299, + 1300, 0, 1301, 0, 395, 396, 397, 398, 399, 1302, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 1316, + 446, 1317, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 1319, 459, 460, 461, 462, 1320, 1321, + 464, 1322, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 1323, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 1326, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 1327, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 1329, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 1332, 1333, 0, 0, 595, + 596, 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, + 6013, 606, 607, 608, 0, 1337, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 1339, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, + 646, 647, 0, 1348, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1349, 1350, 0, 0, 0, + 234, 0, 1268, 714, 1352, 1269, 1270, 1271, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 5584, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 1323, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 3321, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 3322, 3323, 0, 0, 0, 234, 0, + 1268, 714, 3324, 1269, 1270, 1271, 775, 1272, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 1273, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, -3001, + 1274, 260, 1275, 1276, 0, 263, 264, 265, 266, 267, + 268, 269, 1277, 1278, 270, 271, 1279, 1280, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 6012, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 1290, 1291, 311, 1292, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 1293, 342, 343, 344, 345, 1294, + 1295, 347, 0, 348, 349, 350, 1296, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 1298, 365, 366, 0, 367, 368, + 369, 370, 371, -3001, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 1299, 1300, 0, 1301, 0, + 395, 0, 0, 398, 399, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, -3001, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 1316, 446, 1317, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 1319, + 459, 460, 0, 462, 1320, 1321, 464, 1322, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 1323, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 1326, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 1327, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, -3001, 561, 562, 1329, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 1332, 1333, 0, 0, 595, 596, 1334, 598, 1335, + 1336, 600, 601, 602, 603, 604, 6013, 606, 607, 608, + 0, 1337, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 1339, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, -3001, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1349, 1350, 0, 0, 0, 234, 0, 1268, 714, + 1352, 1269, 1270, 1271, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 5340, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 5341, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 5342, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 5343, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 5834, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 5835, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 1260, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 1276, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 1284, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 5836, - 577, 578, 0, 1293, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 1304, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1305, 1306, 0, 0, 0, 234, 0, 1236, 684, - 1308, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 1323, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 3321, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3322, + 3323, 234, 0, 1268, 714, 0, 1269, 1270, 3324, 775, + 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 1273, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 254, 255, + 256, 257, 258, 1274, 260, 1275, 1276, 0, 263, 264, + 265, 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, + 1280, 274, 0, 275, 276, 277, 278, 1281, 0, 1282, + 0, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, + 1289, 303, 304, 305, 306, 307, 308, 1290, 1291, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 884, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 1293, 342, 343, + 344, 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, + 352, 0, 353, 0, 354, 355, 356, 0, 357, 358, + 359, 360, 361, 0, 362, 1297, 0, 1298, 365, 366, + 0, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 386, 387, 388, 389, 390, 391, 1299, 1300, + 0, 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 1312, + 420, 421, 422, 0, 423, 424, 425, 1313, 1314, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 1315, + 437, 438, 439, 440, 441, 442, 443, 444, 1316, 446, + 1317, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 1318, 458, 0, 459, 460, 461, 462, 1320, 1321, 464, + 1322, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 477, 478, 479, + 480, 1324, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 1325, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 1326, 514, 515, 516, 517, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 533, 534, 535, + 536, 537, 538, 3502, 3503, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 1328, 555, 556, 557, 558, 559, 560, 561, 562, 1329, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 1330, 581, 0, + 582, 583, 1331, 0, 584, 585, 586, 587, 588, 589, + 590, 591, 0, 592, 1332, 1333, 0, 0, 595, 596, + 1334, 598, 1335, 1336, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 1338, 0, 614, 615, 616, 617, 618, 619, 1339, 0, + 621, 622, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 1340, 1341, + 1342, 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3504, 3505, 234, 0, 1268, 714, + 0, 1269, 1270, 3324, 775, 1272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 5835, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 5836, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 1304, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 5325, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 1273, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 1274, 260, + 1275, 1276, 0, 263, 264, 265, 266, 267, 268, 269, + 1277, 1278, 270, 271, 1279, 1280, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 1290, 1291, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 1293, 342, 343, 344, 345, 1294, 1295, 347, + 0, 348, 349, 350, 1296, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 1298, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 1299, 1300, 0, 1301, 0, 395, 396, + 397, 398, 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 1316, 446, 1317, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 1320, 1321, 464, 1322, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 1326, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 3321, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 1329, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 1332, + 1333, 0, 0, 595, 596, 1334, 598, 1335, 1336, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 1339, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 234, 0, 1268, 714, 0, 1269, 1270, 0, 775, 1272, + 0, 0, 0, 0, 0, 0, 0, 0, 3324, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 1273, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 1274, 260, 1275, 1276, 0, 263, 4776, 265, + 266, 267, 268, 269, 1277, 1278, 270, 271, 1279, 1280, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 1290, 1291, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 1293, 342, 343, 344, + 345, 1294, 1295, 347, 0, 348, 349, 350, 1296, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 1298, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 1299, 1300, 0, + 1301, 0, 395, 396, 397, 398, 399, 1302, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 409, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 1316, 446, 1317, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 1320, 1321, 464, 1322, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 1326, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 3321, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 1329, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 1332, 1333, 0, 0, 595, 596, 1334, + 598, 1335, 1336, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 1339, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 644, 645, 646, 647, + 0, 0, 0, 0, 234, 0, 1268, 714, 0, 1269, + 1270, 0, 775, 1272, 0, 0, 0, 0, 0, 0, + 0, 0, 3324, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 1273, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 1277, 1278, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 1293, 342, 343, 344, 345, 1294, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 1298, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 1320, 1321, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 3321, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 1334, 598, 1335, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 4837, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3324, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 1278, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 1294, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 396, 397, 398, 399, 3473, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 3474, 1311, 411, 412, 413, 414, + 415, 416, 417, 3475, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 0, + 459, 460, 461, 462, 0, 1321, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 859, 472, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 3476, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 40, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 44, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 1334, 598, 1335, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 1203, 620, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 49, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 3477, 645, 646, 647, 0, 0, + 0, 50, 234, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 3478, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 1278, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 1281, 0, + 1282, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 1294, 0, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 1297, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 396, 397, 398, 399, 3473, + 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 3474, 1311, + 411, 412, 413, 414, 415, 416, 417, 3475, 0, 418, + 1312, 420, 421, 422, 0, 423, 424, 425, 1313, 1314, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 1315, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 1318, 458, 0, 459, 460, 461, 462, 0, 1321, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 859, 472, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 1324, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 1325, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 3476, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 1328, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 1330, 581, + 0, 582, 583, 1331, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 1334, 598, 1335, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 1338, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 1340, + 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, 3477, 645, + 646, 647, 0, 0, 0, 0, 234, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3478, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 1278, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 1281, 0, 1282, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 1294, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 1297, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 396, + 397, 398, 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 409, 1311, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 1312, 420, 421, 422, 0, 423, + 424, 425, 1313, 1314, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 1315, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 1318, 458, 0, 459, 460, + 461, 462, 0, 1321, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 1324, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 1325, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 1328, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 1330, 581, 0, 582, 583, 1331, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 1334, 598, 1335, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 1338, 0, 614, 615, 616, + 617, 618, 619, 620, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, + 1346, 1347, 644, 645, 646, 647, 0, 0, 0, 0, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3922, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 1278, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 1281, 0, 1282, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 1294, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 1297, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 396, 397, 398, 399, 3473, 1303, 1304, + 1305, 1306, 1307, 1308, 1309, 1310, 3474, 1311, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 1312, 420, + 421, 422, 0, 423, 424, 425, 1313, 1314, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 1315, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 1318, + 458, 0, 459, 460, 461, 462, 0, 1321, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 1324, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 1325, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 3476, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 1328, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 1330, 581, 0, 582, + 583, 1331, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 1334, + 598, 1335, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 1338, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 1340, 1341, 1342, + 1343, 639, 1344, 1345, 1346, 1347, 3477, 645, 646, 647, + 0, 0, 0, 0, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 1278, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 1294, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 0, 1321, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 1334, 598, 1335, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 0, 0, 0, 0, 234, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 4923, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 1278, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 1281, 0, 1282, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 1294, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 1297, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 396, 397, 398, 399, 3473, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1310, 409, 1311, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 1312, 420, 421, 422, + 0, 423, 424, 425, 1313, 1314, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 1315, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 1318, 458, 0, + 459, 460, 461, 462, 0, 1321, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 477, 478, 479, 480, 1324, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 1325, 497, 498, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 1328, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 1330, 581, 0, 582, 583, 1331, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 1334, 598, 1335, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 1338, 0, 614, + 615, 616, 617, 618, 619, 620, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 1340, 1341, 1342, 1343, 639, + 1344, 1345, 1346, 1347, 644, 645, 646, 647, 0, 0, + 0, 0, 964, 0, 1602, 714, 0, 0, 0, 0, + 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6119, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 279, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 5905, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 1828, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 396, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 461, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 1829, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 560, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 1830, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 964, 0, 0, 0, + 0, 0, 0, 0, 0, 1603, 1604, 5906, 0, 0, + 0, 0, 0, 0, 5907, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 3, 4, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 279, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 0, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 3198, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3199, 3200, 0, 0, 0, 234, 0, 1236, 684, - 3201, 1237, 1238, 1239, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, -2829, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 5835, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 1260, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, -2829, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 0, 0, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, -2829, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 1276, 438, 439, 0, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 1280, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, + 417, 0, 0, 418, 419, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 0, 459, 460, + 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 40, + 550, 551, 552, 553, 554, 0, 555, 556, 557, 558, + 559, 560, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 0, 582, 583, 0, 44, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 597, 598, 599, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 1203, 620, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 49, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 1043, 0, 0, 50, + 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 258, 259, 260, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 396, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 461, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, + 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5656, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 40, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 44, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 1203, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 49, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 50, 655, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 0, 255, 256, 257, 258, + 259, 0, 261, 262, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 272, 273, 274, 0, + 275, 276, 277, 278, 279, 0, 0, 0, 281, 282, + 283, 284, 285, 286, 0, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 0, 299, 300, + 301, 0, 0, 0, 2910, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 326, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 0, 347, 0, 348, 349, 350, 351, 352, 0, 353, + 0, 354, 355, 0, 0, 0, 358, 359, 360, 361, + 0, 362, 363, 0, 364, 365, 366, 0, 367, 368, + 369, 370, 371, 0, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 0, + 387, 388, 389, 390, 391, 392, 393, 0, 394, 0, + 395, 0, 0, 398, 0, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 419, 0, 421, 0, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 443, 444, 445, 0, 447, 448, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 0, + 459, 460, 0, 462, 0, 463, 464, 465, 466, 467, + 468, 0, 469, 470, 471, 0, 859, 472, 473, 474, + 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 1284, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, -2829, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 5836, 577, 578, 0, 1293, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, -2829, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1305, 1306, 0, 0, - 0, 234, 0, 1236, 684, 1308, 1237, 1238, 1239, 745, - 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 1241, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 1242, 259, 1243, 1244, 0, 262, 263, 264, - 265, 266, 267, 268, 1245, 1246, 269, 270, 1247, 1248, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 1258, 1259, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 1261, 338, 339, 340, 341, 1262, 1263, - 343, 0, 344, 345, 346, 1264, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 1266, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 1267, 1268, 0, 1269, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 1273, 426, - 1274, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 0, 438, 439, 440, 441, 1277, 1278, 443, 1279, - 445, 446, 447, 0, 448, 449, 0, 0, 1280, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 1283, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 3198, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 1286, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 1288, 1289, 0, 0, 566, 567, - 1290, 569, 1291, 1292, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 1295, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3199, 3200, 234, 0, 1236, 684, 0, 1237, 1238, - 3201, 745, 1240, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 1241, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 1242, 259, 1243, 1244, 0, 262, - 263, 264, 265, 266, 267, 268, 1245, 1246, 269, 270, - 1247, 1248, 273, 0, 274, 275, 276, 277, 1249, 0, - 1250, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 301, 302, 303, 304, 305, 306, 1258, 1259, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 860, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 1261, 338, 339, 340, 341, - 1262, 1263, 343, 0, 344, 345, 346, 1264, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 1265, 0, 1266, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 1267, 1268, 0, 1269, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 1270, 401, 402, 403, 0, 404, 405, 406, - 1271, 1272, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 1273, 426, 1274, 428, 429, 430, 431, 432, 433, 434, - 435, 1275, 437, 0, 438, 439, 440, 441, 1277, 1278, - 443, 1279, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 1281, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 1282, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 1283, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 3370, 3371, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 1285, 529, 530, 531, - 532, 533, 534, 535, 536, 1286, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 1287, 553, 0, 554, 555, 0, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 1288, 1289, 0, 0, - 566, 567, 1290, 569, 1291, 1292, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 1294, 0, 584, 585, 586, 587, 588, 589, 1295, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 1296, - 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, 615, - 616, 617, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3372, 3373, 234, 0, 1236, 684, 0, - 1237, 1238, 3201, 745, 1240, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 1241, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 1242, 259, 1243, 1244, - 0, 262, 263, 264, 265, 266, 267, 268, 1245, 1246, - 269, 270, 1247, 1248, 273, 0, 274, 275, 276, 277, - 1249, 0, 1250, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, 1254, - 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, 1258, - 1259, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 860, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 1261, 338, 339, - 340, 341, 1262, 1263, 343, 0, 344, 345, 346, 1264, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 1265, 0, 1266, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 1267, 1268, 0, 1269, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 1270, 401, 402, 403, 0, 404, - 405, 406, 1271, 1272, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 1273, 426, 1274, 428, 429, 430, 431, 432, - 433, 434, 435, 1275, 437, 0, 438, 439, 440, 441, - 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 1281, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 1282, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 1283, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 3198, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 1285, 529, - 530, 531, 532, 533, 534, 535, 536, 1286, 538, 0, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 513, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 1287, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 1288, 1289, - 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 1294, 0, 584, 585, 586, 587, 588, - 589, 1295, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, - 614, 615, 616, 617, 0, 0, 234, 0, 1236, 684, - 0, 1237, 1238, 0, 745, 1240, 0, 0, 0, 0, - 0, 0, 0, 0, 3201, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 1241, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 4566, 264, 265, 266, 267, 268, 1245, - 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 1249, 0, 1250, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 1251, 1252, 1253, - 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 1261, 338, - 339, 340, 341, 1262, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 1265, 0, 1266, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 1270, 401, 402, 403, 0, - 404, 405, 406, 1271, 1272, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 1275, 437, 0, 438, 439, 440, - 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 1281, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 1282, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 3198, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 1285, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 1287, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 1294, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, - 1303, 614, 615, 616, 617, 0, 0, 234, 0, 1236, - 684, 0, 1237, 1238, 0, 745, 1240, 0, 0, 0, - 0, 0, 0, 0, 0, 3201, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 1241, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 1242, 259, - 1243, 1244, 0, 262, 263, 264, 265, 266, 267, 268, - 1245, 1246, 269, 270, 1247, 1248, 273, 0, 274, 275, - 276, 277, 1249, 0, 1250, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 1251, 1252, - 1253, 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, - 306, 1258, 1259, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 860, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 1261, - 338, 339, 340, 341, 1262, 1263, 343, 0, 344, 345, - 346, 1264, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 1265, 0, 1266, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 381, 382, 383, 384, 385, 1267, 1268, - 0, 1269, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 1270, 401, 402, 403, - 0, 404, 405, 406, 1271, 1272, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 1273, 426, 1274, 428, 429, 430, - 431, 432, 433, 434, 435, 1275, 437, 0, 438, 439, - 440, 441, 1277, 1278, 443, 1279, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 456, 457, 458, 1281, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 1282, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 1283, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 3198, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 1285, 529, 530, 531, 532, 533, 534, 535, 536, 1286, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 1287, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 1288, 1289, 0, 0, 566, 567, 1290, 569, 1291, 1292, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 1294, 0, 584, 585, 586, - 587, 588, 589, 1295, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 1296, 1297, 1298, 1299, 4625, 1300, 1301, - 1302, 1303, 614, 615, 616, 617, 0, 0, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3201, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 1246, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 1249, 0, 1250, 0, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 296, 297, 298, 299, 1251, - 1252, 1253, 1254, 1255, 1256, 1257, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 1262, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 351, 0, - 352, 353, 354, 355, 356, 0, 357, 1265, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 3345, 0, 399, 1270, 401, 402, - 403, 0, 404, 405, 406, 1271, 1272, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 1275, 437, 0, 438, - 439, 440, 441, 0, 1278, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 835, 450, 451, 452, 0, 0, - 453, 454, 455, 456, 457, 458, 1281, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 1282, 473, 474, 475, 476, 477, 0, 478, 479, 480, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 557, 558, 559, 0, 561, 562, 563, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 580, 581, 0, 582, 583, 0, + 2911, 2912, 0, 586, 587, 588, 589, 590, 591, 0, + 592, 593, 594, 0, 0, 595, 596, 597, 598, 599, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 619, 620, 0, 621, 0, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, + 640, 641, 642, 643, 644, 645, 646, 647, 0, 0, + 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1862, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, + 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 272, 273, 274, 0, 275, 276, 277, 278, 279, 0, + 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 0, 299, 300, 301, 0, 0, 0, 0, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 0, 347, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 0, 0, 0, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 0, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 0, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 0, 0, 398, 0, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 0, 421, 0, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 0, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 0, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 0, + 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 0, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 0, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 0, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 0, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 655, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1414, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 0, 255, 256, 257, 258, 259, 0, + 261, 262, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 272, 273, 274, 0, 275, 276, + 277, 278, 279, 0, 0, 0, 281, 282, 283, 284, + 285, 286, 0, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 0, 299, 300, 301, 0, + 0, 0, 0, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 326, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 0, 347, + 0, 348, 349, 350, 351, 352, 0, 353, 0, 354, + 355, 0, 0, 0, 358, 359, 360, 361, 0, 362, + 363, 0, 364, 365, 366, 0, 367, 368, 369, 370, + 371, 0, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 0, 387, 388, + 389, 390, 391, 392, 393, 0, 394, 0, 395, 0, + 0, 398, 0, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 419, 0, 421, 0, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 0, 447, 448, 449, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 0, 459, 460, + 0, 462, 0, 463, 464, 465, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 0, 534, 535, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 557, 558, + 559, 0, 561, 562, 563, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 580, 581, 0, 582, 583, 0, 0, 584, + 0, 586, 587, 588, 589, 590, 591, 0, 592, 593, + 594, 0, 0, 595, 596, 597, 598, 599, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 619, 620, 0, 621, 0, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 0, 0, 0, 0, + 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3536, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, + 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 276, 277, 278, 279, 0, 0, 0, + 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 0, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 347, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, 0, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 0, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, 0, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 0, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 0, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 3346, 516, 517, 518, - 519, 520, 521, 522, 523, 40, 524, 525, 526, 527, - 528, 1285, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 1287, 553, 0, 554, - 555, 44, 556, 557, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 1290, 569, 1291, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 1294, 0, 584, 585, - 586, 587, 588, 1175, 590, 0, 591, 592, 593, 594, - 595, 596, 0, 0, 597, 0, 49, 598, 599, 600, - 601, 602, 603, 604, 1296, 1297, 1298, 1299, 609, 1300, - 1301, 1302, 1303, 3347, 615, 616, 617, 0, 0, 50, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3348, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 1246, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 1249, 0, 1250, 0, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 296, 297, 298, - 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 1262, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 351, 0, 352, 353, 354, 355, 356, 0, 357, 1265, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 3345, 0, 399, 1270, - 401, 402, 403, 0, 404, 405, 406, 1271, 1272, 407, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 0, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 4211, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 0, 2111, 0, + 0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0, + 0, 0, 2114, 2115, 2116, 0, 4854, 2117, 2118, 2119, + 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, + 2130, 2131, 2132, 2133, 0, 2134, 2135, 2136, 2137, 2138, + 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, + 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, + 2159, 2160, 2161, 2162, 2163, 2164, 0, 0, 2165, 2166, + 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, + 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, + 2187, 2188, 2189, 2190, 2191, 2192, 0, 2193, 2194, 2195, + 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, + 2206, 2207, 0, 2208, 2209, 2210, 2211, 2212, 2213, 2214, + 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, + 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, + 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 0, + 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, + 2254, 2255, 0, 0, 2256, 2257, 2258, 2259, 0, 2260, + 2261, 2262, 2263, 2264, 0, 2265, 2266, 2267, 2268, 2269, + 0, 2270, 2271, 0, 2272, 2273, 2274, 0, 2275, 2276, + 0, 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, + 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, + 2296, 2297, 2298, 2299, 2300, 2301, 2302, 0, 2303, 0, + 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, + 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, + 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, + 0, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, + 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 0, 2351, + 2352, 0, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, + 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, + 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, + 2381, 0, 2382, 2383, 2384, 0, 2385, 2386, 2387, 2388, + 2389, 0, 2390, 2391, 2392, 2393, 0, 0, 2394, 2395, + 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, + 2406, 2407, 2408, 2409, 2410, 2411, 0, 2412, 2413, 2414, + 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, + 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, + 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444, + 2445, 0, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, + 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 0, + 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, + 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, + 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, + 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, + 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, + 2513, 2514, 2515, 0, 2516, 2517, 2518, 2519, 2520, 2521, + 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, + 0, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, + 2541, 2542, 2543, 2544, 2545, 2546, 2547, 0, 2548, 2549, + 2550, 2551, 2552, 2553, 0, 2554, 0, 0, 0, 0, + 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, + 2565, 2566, 2567, 2568, 2569, 0, 2570, 2571, 0, 2572, + 0, 0, 0, 0, 0, 0, 0, 0, 2573, 2574, + 2575, 2576, 2577, 2578, 2579, 2580, 2581, 876, 0, 1602, + 714, 0, 0, 0, 979, 775, 0, 0, 0, 0, + 0, 980, 981, 982, 0, 0, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 1740, 244, 245, 246, 1741, + 1742, 1743, 1744, 1745, 1746, 1747, 247, 248, 249, 1748, + 250, 251, 252, 253, 254, 255, 256, 257, 0, 877, + 260, 878, 879, 1749, 263, 264, 265, 266, 267, 268, + 269, 1750, 1751, 270, 271, 880, 881, 274, 1752, 275, + 276, 277, 278, 0, 1753, 280, 1754, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 1755, 292, + 293, 294, 295, 296, 297, 1756, 298, 299, 300, 301, + 1757, 1758, 1759, 302, 1760, 1761, 1762, 303, 304, 305, + 306, 307, 308, 882, 883, 311, 1763, 312, 1764, 313, + 314, 315, 316, 317, 318, 319, 1765, 320, 321, 322, + 323, 1766, 1767, 324, 325, 884, 327, 328, 1768, 329, + 330, 331, 332, 1769, 333, 334, 335, 336, 1770, 337, + 338, 339, 340, 0, 342, 343, 344, 345, 0, 1771, + 347, 1772, 348, 349, 350, 885, 352, 1773, 353, 1774, + 354, 355, 356, 1775, 357, 358, 359, 360, 361, 1776, + 362, 0, 1777, 0, 365, 366, 1778, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 376, 1779, 377, 378, + 379, 380, 381, 382, 383, 384, 1780, 385, 386, 0, + 388, 389, 390, 391, 886, 887, 1781, 888, 1782, 395, + 396, 397, 398, 399, 889, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 411, 412, 413, 414, 415, + 416, 417, 1783, 1784, 418, 0, 420, 421, 422, 1785, + 423, 424, 425, 1786, 1787, 426, 427, 428, 429, 430, + 431, 432, 433, 434, 435, 0, 437, 438, 439, 440, + 441, 442, 443, 444, 890, 446, 891, 448, 449, 450, + 451, 452, 453, 454, 455, 4535, 0, 458, 1788, 459, + 460, 461, 462, 1789, 0, 464, 892, 466, 467, 468, + 1790, 469, 470, 471, 1791, 1792, 4536, 473, 474, 1793, + 1794, 475, 476, 0, 478, 479, 480, 0, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 1795, + 493, 494, 495, 0, 497, 0, 499, 500, 501, 1796, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, 893, 514, 515, 516, 517, 1797, 518, 519, 520, + 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, + 1798, 531, 532, 533, 534, 535, 536, 537, 538, 0, + 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, + 1799, 550, 551, 552, 553, 554, 1800, 555, 556, 2737, + 558, 559, 560, 561, 562, 895, 564, 1801, 565, 566, + 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, + 577, 578, 579, 0, 581, 1802, 582, 583, 1803, 1804, + 584, 585, 586, 587, 588, 589, 590, 591, 1805, 592, + 896, 897, 1806, 1807, 595, 596, 0, 598, 0, 1808, + 600, 601, 602, 603, 604, 605, 606, 607, 608, 1809, + 1810, 609, 610, 611, 612, 613, 1811, 1812, 614, 615, + 616, 617, 618, 0, 898, 1813, 621, 622, 623, 624, + 625, 626, 1814, 1815, 627, 1816, 1817, 628, 629, 630, + 631, 632, 633, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 645, 646, 647, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 985, 986, 987, + 4537, 4538, 990, 991, 992, 993, 876, 0, 1602, 714, + 0, 0, 0, 979, 775, 0, 0, 0, 0, 0, + 980, 981, 982, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 1740, 244, 245, 246, 1741, 1742, + 1743, 1744, 1745, 1746, 1747, 247, 248, 249, 1748, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 1749, 263, 264, 265, 266, 267, 268, 269, + 1750, 1751, 270, 271, 880, 881, 274, 1752, 275, 276, + 277, 278, 0, 1753, 280, 1754, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 1755, 292, 293, + 294, 295, 296, 297, 1756, 298, 299, 300, 301, 1757, + 1758, 1759, 302, 1760, 1761, 1762, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 1763, 312, 1764, 313, 314, + 315, 316, 317, 318, 319, 1765, 320, 321, 322, 323, + 1766, 1767, 324, 325, 884, 327, 328, 1768, 329, 330, + 331, 332, 1769, 333, 334, 335, 336, 1770, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 1771, 347, + 1772, 348, 349, 350, 885, 352, 1773, 353, 1774, 354, + 355, 356, 1775, 357, 358, 359, 360, 361, 1776, 362, + 0, 1777, 0, 365, 366, 1778, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 1779, 377, 378, 379, + 380, 381, 382, 383, 384, 1780, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 1781, 888, 1782, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 1783, 1784, 418, 0, 420, 421, 422, 1785, 423, + 424, 425, 1786, 1787, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 4994, 0, 458, 1788, 459, 460, + 461, 462, 1789, 0, 464, 892, 466, 467, 468, 1790, + 469, 470, 471, 1791, 1792, 4536, 473, 474, 1793, 1794, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 1795, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 1796, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 1797, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 1798, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 1799, + 550, 551, 552, 553, 554, 1800, 555, 556, 2737, 558, + 559, 560, 561, 562, 895, 564, 1801, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 1802, 582, 583, 1803, 1804, 584, + 585, 586, 587, 588, 589, 590, 591, 1805, 592, 896, + 897, 1806, 1807, 595, 596, 0, 598, 0, 1808, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 1809, 1810, + 609, 610, 611, 612, 613, 1811, 1812, 614, 615, 616, + 617, 618, 0, 898, 1813, 621, 622, 623, 624, 625, + 626, 1814, 1815, 627, 1816, 1817, 628, 629, 630, 631, + 632, 633, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 985, 986, 987, 4537, + 4538, 990, 991, 992, 993, 655, 0, 0, 0, 0, + 0, 0, 979, 0, 0, 0, 0, 0, 0, 980, + 981, 982, 0, 0, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 244, 245, 246, 0, 0, 0, + 0, 0, 0, 0, 247, 248, 249, 0, 250, 251, + 252, 253, 0, 255, 256, 257, 258, 259, 0, 261, + 262, 0, 263, 264, 265, 266, 267, 268, 269, 0, + 0, 270, 271, 272, 273, 274, 0, 275, 983, 277, + 278, 279, 0, 0, 0, 281, 282, 283, 284, 285, + 286, 0, 288, 289, 290, 291, 0, 292, 293, 294, + 295, 296, 297, 0, 0, 299, 300, 301, 0, 0, + 0, 0, 0, 0, 0, 303, 304, 305, 306, 307, + 308, 309, 310, 311, 0, 312, 0, 313, 314, 315, + 316, 317, 318, 319, 0, 320, 321, 322, 323, 0, + 0, 324, 325, 326, 327, 328, 0, 329, 330, 331, + 332, 0, 333, 334, 335, 336, 0, 337, 338, 339, + 340, 341, 342, 343, 344, 345, 346, 0, 984, 0, + 348, 349, 350, 351, 352, 0, 353, 0, 354, 355, + 0, 0, 0, 358, 359, 360, 361, 0, 362, 363, + 0, 364, 365, 366, 0, 367, 368, 369, 370, 371, + 0, 373, 374, 375, 376, 0, 377, 378, 379, 380, + 381, 382, 383, 384, 0, 385, 0, 387, 388, 389, + 390, 391, 392, 393, 0, 394, 0, 395, 0, 0, + 398, 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 1275, 437, - 0, 438, 439, 440, 441, 0, 1278, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 835, 450, 451, 452, - 0, 0, 453, 454, 455, 456, 457, 458, 1281, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 1282, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 3346, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 1285, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 1287, 553, - 0, 554, 555, 0, 556, 557, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 1290, - 569, 1291, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 1294, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, 1299, - 609, 1300, 1301, 1302, 1303, 3347, 615, 616, 617, 0, - 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3348, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 1246, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 1249, 0, 1250, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 1262, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 1265, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 1270, 401, 402, 403, 0, 404, 405, 406, 1271, 1272, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 1275, - 437, 0, 438, 439, 440, 441, 0, 1278, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 1281, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 1282, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 0, 0, 418, 419, 0, 421, 0, 0, 423, 424, + 425, 0, 0, 426, 427, 428, 429, 430, 431, 432, + 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, + 443, 444, 445, 0, 447, 448, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 0, 459, 460, 0, + 462, 0, 463, 464, 465, 466, 467, 468, 0, 469, + 470, 471, 0, 0, 472, 473, 474, 0, 0, 475, + 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 0, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, + 514, 515, 516, 517, 0, 518, 519, 520, 521, 522, + 523, 524, 525, 526, 527, 528, 529, 530, 0, 531, + 532, 0, 534, 535, 536, 537, 538, 539, 540, 541, + 542, 543, 544, 545, 546, 547, 548, 549, 0, 550, + 551, 552, 553, 554, 0, 555, 556, 557, 558, 559, + 0, 561, 562, 563, 564, 0, 565, 566, 567, 568, + 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, + 579, 580, 581, 0, 582, 583, 0, 0, 584, 0, + 586, 587, 588, 589, 590, 591, 0, 592, 593, 594, + 0, 0, 595, 596, 597, 598, 599, 0, 600, 601, + 602, 603, 604, 605, 606, 607, 608, 0, 0, 609, + 610, 611, 612, 613, 0, 0, 614, 615, 616, 617, + 618, 619, 620, 0, 621, 0, 623, 624, 625, 626, + 0, 0, 627, 0, 0, 628, 629, 630, 631, 632, + 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, + 643, 644, 645, 646, 647, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 985, 986, 987, 988, 989, + 990, 991, 992, 993, 655, 0, 0, 0, 0, 0, + 0, 979, 0, 0, 0, 0, 0, 0, 980, 981, + 982, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 1100, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 1101, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 985, 986, 987, 988, 989, 990, + 991, 992, 993, 655, 0, 0, 0, 0, 0, 0, + 979, 0, 0, 0, 0, 0, 0, 980, 981, 982, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 0, 255, 256, 257, 258, 259, 0, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 1166, 277, 278, 279, + 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 0, 299, 300, 301, 0, 0, 0, 0, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 1167, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 0, 0, + 0, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 1168, 0, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 0, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 0, 0, 398, 0, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 0, 421, 0, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 0, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 0, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 1285, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 1287, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 1290, 569, 1291, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 1294, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 1296, 1297, 1298, - 1299, 609, 1300, 1301, 1302, 1303, 614, 615, 616, 617, - 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3783, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 1246, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 1249, 0, 1250, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 1262, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 1265, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 1270, 401, 402, 403, 0, 404, 405, 406, 1271, - 1272, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 0, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 0, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 0, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 0, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 985, 986, 987, 988, 989, 990, 991, + 992, 993, 655, 0, 0, 0, 0, 0, 0, 979, + 0, 0, 0, 0, 0, 0, 980, 981, 982, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 0, + 255, 256, 257, 258, 259, 0, 261, 262, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 272, 273, 274, 0, 275, 1845, 277, 278, 279, 0, + 0, 0, 281, 282, 283, 284, 285, 286, 0, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 0, 299, 300, 301, 0, 0, 0, 0, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 309, 310, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 326, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 341, 342, + 343, 344, 345, 346, 0, 1846, 0, 348, 349, 350, + 351, 352, 0, 353, 0, 354, 355, 0, 0, 0, + 358, 359, 360, 361, 0, 362, 363, 0, 364, 365, + 366, 0, 367, 368, 369, 370, 371, 0, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 0, 387, 388, 389, 390, 391, 392, + 393, 0, 394, 0, 395, 0, 0, 398, 0, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 419, 0, 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 1275, 437, 0, 438, 439, 440, 441, 0, 1278, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 456, 457, 458, - 1281, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 1282, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 3346, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 1285, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 1287, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 1290, 569, 1291, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 1294, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 1296, 1297, - 1298, 1299, 609, 1300, 1301, 1302, 1303, 3347, 615, 616, - 617, 0, 0, 234, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 56, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 1246, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 1249, 0, - 1250, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 1251, 1252, 1253, 1254, 1255, 1256, - 1257, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 1262, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 1265, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 1270, 401, 402, 403, 0, 404, 405, 406, - 1271, 1272, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 1275, 437, 0, 438, 439, 440, 441, 0, 1278, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 1281, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 1282, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 1285, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 1287, 553, 0, 554, 555, 0, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 1290, 569, 1291, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 1294, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 1296, - 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, 615, - 616, 617, 0, 0, 234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4686, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 1246, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 1249, - 0, 1250, 0, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 296, 297, 298, 299, 1251, 1252, 1253, 1254, 1255, - 1256, 1257, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 1262, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 351, 0, 352, 353, 354, 355, - 356, 0, 357, 1265, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 0, 399, 1270, 401, 402, 403, 0, 404, 405, - 406, 1271, 1272, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 1275, 437, 0, 438, 439, 440, 441, 0, - 1278, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 456, - 457, 458, 1281, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 1282, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 1285, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 1287, 553, 0, 554, 555, 0, 556, 557, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 1290, 569, 1291, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 1294, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 592, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 1296, 1297, 1298, 1299, 609, 1300, 1301, 1302, 1303, 614, - 615, 616, 617, 0, 0, 938, 0, 1556, 684, 0, - 0, 0, 0, 745, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 5808, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 279, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 0, 0, 0, 300, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 1779, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 401, 402, 403, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 440, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 1780, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 1781, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 0, 0, 938, 0, 0, 0, - 0, 0, 0, 0, 0, 1557, 1558, 5618, 0, 0, - 0, 0, 0, 0, 5619, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 3, 4, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 0, - 300, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 440, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 40, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 44, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 1175, 590, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 49, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 0, 0, 50, 234, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 279, 0, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 296, 297, 298, 299, 0, - 0, 0, 300, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 351, 0, - 352, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 401, 402, - 403, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 440, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 557, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 0, 0, 625, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 5393, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 40, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 44, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 1175, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 49, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 0, 0, - 50, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 2812, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 835, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 2813, 2814, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 0, 0, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1813, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 0, 0, 625, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1368, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 0, 0, 625, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3404, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 0, 0, 625, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4602, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 0, 0, 852, 0, 1556, 684, - 0, 0, 0, 953, 745, 0, 0, 0, 0, 0, - 954, 955, 956, 0, 4642, 235, 236, 237, 238, 239, - 240, 241, 242, 1692, 243, 244, 245, 1693, 1694, 1695, - 1696, 1697, 1698, 1699, 246, 247, 248, 1700, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 853, 259, 854, - 855, 1701, 262, 263, 264, 265, 266, 267, 268, 1702, - 1703, 269, 270, 856, 857, 273, 1704, 274, 275, 276, - 277, 0, 1705, 279, 1706, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 1707, 290, 291, 292, 293, - 294, 295, 1708, 296, 297, 298, 299, 1709, 1710, 1711, - 300, 1712, 1713, 1714, 301, 302, 303, 304, 305, 306, - 858, 859, 309, 1715, 310, 1716, 311, 312, 313, 314, - 315, 316, 317, 1717, 318, 319, 320, 321, 1718, 1719, - 322, 323, 860, 325, 326, 1720, 327, 328, 329, 1721, - 330, 331, 332, 1722, 333, 334, 335, 336, 0, 338, - 339, 340, 341, 0, 1723, 343, 1724, 344, 345, 346, - 861, 348, 1725, 349, 1726, 350, 351, 1727, 352, 353, - 354, 355, 356, 1728, 357, 0, 1729, 0, 360, 361, - 1730, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 1731, 372, 373, 374, 375, 376, 377, 378, 1732, - 379, 380, 0, 382, 383, 384, 385, 862, 863, 1733, - 864, 1734, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 1735, 1736, 399, 0, 401, 402, 403, 1737, - 404, 405, 406, 1738, 1739, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 865, 426, 866, 428, 429, 430, 431, - 432, 433, 434, 4351, 0, 437, 1740, 438, 439, 440, - 441, 1741, 0, 443, 867, 445, 446, 447, 1742, 448, - 449, 1743, 1744, 4352, 451, 452, 1745, 1746, 453, 454, - 0, 456, 457, 458, 0, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 1747, 470, 471, 0, 473, - 0, 475, 476, 477, 1748, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 868, 489, 490, 491, 492, - 1749, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 1750, 506, 507, 508, 509, 510, - 511, 512, 513, 0, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 1751, 524, 525, 526, 527, 528, 1752, - 529, 530, 2642, 532, 533, 534, 535, 536, 870, 538, - 1753, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 0, 553, 1754, 554, 555, 1755, - 556, 557, 558, 559, 560, 561, 562, 1756, 563, 871, - 872, 1757, 1758, 566, 567, 0, 569, 0, 1759, 571, - 572, 573, 574, 575, 576, 577, 578, 1760, 1761, 579, - 580, 581, 582, 583, 1762, 1763, 584, 585, 586, 587, - 588, 0, 873, 1764, 591, 592, 593, 594, 595, 596, - 1765, 1766, 597, 1767, 1768, 598, 599, 600, 601, 602, - 603, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 615, 616, 617, 0, 0, 0, 0, 0, - 0, 0, 0, 959, 960, 961, 4353, 4354, 964, 965, - 966, 967, 852, 0, 1556, 684, 0, 0, 0, 953, - 745, 0, 0, 0, 0, 0, 954, 955, 956, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 1692, - 243, 244, 245, 1693, 1694, 1695, 1696, 1697, 1698, 1699, - 246, 247, 248, 1700, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 1701, 262, 263, - 264, 265, 266, 267, 268, 1702, 1703, 269, 270, 856, - 857, 273, 1704, 274, 275, 276, 277, 0, 1705, 279, - 1706, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 1707, 290, 291, 292, 293, 294, 295, 1708, 296, - 297, 298, 299, 1709, 1710, 1711, 300, 1712, 1713, 1714, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 1715, - 310, 1716, 311, 312, 313, 314, 315, 316, 317, 1717, - 318, 319, 320, 321, 1718, 1719, 322, 323, 860, 325, - 326, 1720, 327, 328, 329, 1721, 330, 331, 332, 1722, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 1723, 343, 1724, 344, 345, 346, 861, 348, 1725, 349, - 1726, 350, 351, 1727, 352, 353, 354, 355, 356, 1728, - 357, 0, 1729, 0, 360, 361, 1730, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 1731, 372, 373, - 374, 375, 376, 377, 378, 1732, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 1733, 864, 1734, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 1735, 1736, - 399, 0, 401, 402, 403, 1737, 404, 405, 406, 1738, - 1739, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 4778, - 0, 437, 1740, 438, 439, 440, 441, 1741, 0, 443, - 867, 445, 446, 447, 1742, 448, 449, 1743, 1744, 4352, - 451, 452, 1745, 1746, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 1747, 470, 471, 0, 473, 0, 475, 476, 477, - 1748, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 1749, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 1750, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 1751, - 524, 525, 526, 527, 528, 1752, 529, 530, 2642, 532, - 533, 534, 535, 536, 870, 538, 1753, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 1754, 554, 555, 1755, 556, 557, 558, 559, - 560, 561, 562, 1756, 563, 871, 872, 1757, 1758, 566, - 567, 0, 569, 0, 1759, 571, 572, 573, 574, 575, - 576, 577, 578, 1760, 1761, 579, 580, 581, 582, 583, - 1762, 1763, 584, 585, 586, 587, 588, 0, 873, 1764, - 591, 592, 593, 594, 595, 596, 1765, 1766, 597, 1767, - 1768, 598, 599, 600, 601, 602, 603, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 0, 0, 0, 959, - 960, 961, 4353, 4354, 964, 965, 966, 967, 2049, 0, - 0, 0, 0, 0, 0, 2050, 0, 0, 2051, 0, - 0, 0, 2052, 2053, 2054, 0, 0, 2055, 2056, 2057, - 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, - 2068, 2069, 2070, 0, 2071, 2072, 2073, 2074, 2075, 2076, - 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, - 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, - 2097, 2098, 2099, 2100, 2101, 0, 0, 2102, 2103, 2104, - 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, - 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, - 2125, 2126, 2127, 2128, 0, 2129, 2130, 2131, 2132, 2133, - 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143, - 0, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, - 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, - 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, - 2173, 2174, 2175, 2176, 2177, 0, 2178, 2179, 2180, 2181, - 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 0, 0, - 2190, 2191, 2192, 2193, 0, 2194, 2195, 2196, 2197, 0, - 2198, 2199, 2200, 2201, 2202, 0, 2203, 2204, 0, 2205, - 2206, 2207, 0, 2208, 2209, 0, 2210, 2211, 2212, 2213, - 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, - 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, - 2234, 0, 2235, 0, 2236, 2237, 2238, 2239, 2240, 2241, - 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, - 2252, 0, 2253, 2254, 2255, 2256, 2257, 2258, 2259, 2260, - 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, 0, 2269, - 2270, 0, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, - 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, - 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, - 0, 2299, 2300, 0, 2301, 2302, 2303, 2304, 2305, 0, - 2306, 2307, 2308, 2309, 0, 0, 2310, 2311, 2312, 2313, - 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, - 2324, 2325, 0, 2326, 2327, 2328, 2329, 2330, 2331, 2332, - 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, - 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, - 2353, 2354, 2355, 2356, 2357, 2358, 0, 2359, 2360, 2361, - 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, - 2372, 2373, 2374, 0, 2375, 2376, 2377, 2378, 2379, 2380, - 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, - 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, - 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, - 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, - 2421, 2422, 2423, 0, 2424, 2425, 2426, 2427, 2428, 2429, - 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 0, - 2439, 2440, 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, - 2449, 2450, 2451, 2452, 2453, 2454, 0, 2455, 2456, 2457, - 2458, 2459, 2460, 0, 2461, 0, 0, 0, 0, 2462, - 2463, 2464, 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472, - 2473, 2474, 2475, 2476, 0, 2477, 2478, 2479, 0, 0, - 0, 0, 0, 0, 0, 2480, 2481, 2482, 2483, 2484, - 2485, 2486, 2487, 2488, 625, 0, 0, 0, 0, 0, - 0, 953, 0, 0, 0, 0, 0, 0, 954, 955, - 956, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 957, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 958, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 0, 0, 0, 0, 0, 0, 0, - 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, - 625, 0, 0, 0, 0, 0, 0, 953, 0, 0, - 0, 0, 0, 0, 954, 955, 956, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 1073, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 1074, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 0, - 0, 0, 0, 0, 0, 0, 0, 959, 960, 961, - 962, 963, 964, 965, 966, 967, 625, 0, 0, 0, - 0, 0, 0, 953, 0, 0, 0, 0, 0, 0, - 954, 955, 956, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 1138, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 1139, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 1140, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 0, 0, 0, 0, 0, - 0, 0, 0, 959, 960, 961, 962, 963, 964, 965, - 966, 967, 625, 0, 0, 0, 0, 0, 0, 953, - 0, 0, 0, 0, 0, 0, 954, 955, 956, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 1796, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 1797, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 0, 0, 0, 0, 0, 0, 0, 0, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 625, 0, - 0, 0, 0, 0, 0, 953, 0, 0, 0, 0, - 0, 0, 954, 955, 956, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 0, 0, 0, - 0, 0, 0, 0, 0, 959, 960, 961, 962, 963, - 964, 965, 966, 967, 625, 0, 0, 0, 0, 0, - 0, 953, 0, 0, 0, 0, 0, 0, 954, 955, - 956, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 3475, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 3476, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 0, 0, 0, 0, 0, 0, 0, - 0, 959, 960, 961, 962, 963, 964, 965, 966, 967, - 625, 0, 0, 0, 0, 0, 0, 953, 0, 0, - 0, 0, 0, 0, 954, 955, 956, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 5373, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 0, 447, 448, 449, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 0, 459, 460, 0, 462, 0, 463, + 464, 465, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 477, 0, + 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 1691, - 0, 0, 0, 0, 0, 0, 0, 959, 960, 961, - 962, 963, 964, 965, 966, 967, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 1692, 243, 244, 245, - 1693, 1694, 1695, 1696, 1697, 1698, 1699, 246, 247, 248, - 1700, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 1701, 262, 263, 264, 265, 266, - 267, 268, 1702, 1703, 269, 270, 271, 272, 273, 1704, - 274, 275, 276, 277, 278, 1705, 279, 1706, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 1707, 290, - 291, 292, 293, 294, 295, 1708, 296, 297, 298, 299, - 1709, 1710, 1711, 300, 1712, 1713, 1714, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 1715, 310, 1716, 311, - 312, 313, 314, 315, 316, 317, 1717, 318, 319, 320, - 321, 1718, 1719, 322, 323, 324, 325, 326, 1720, 327, - 328, 329, 1721, 330, 331, 332, 1722, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 1723, 343, 1724, - 344, 345, 346, 347, 348, 1725, 349, 1726, 350, 351, - 1727, 352, 353, 354, 355, 356, 1728, 357, 358, 1729, - 359, 360, 361, 1730, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 1731, 372, 373, 374, 375, 376, - 377, 378, 1732, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 1733, 388, 1734, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 1735, 1736, 399, 400, 401, - 402, 403, 1737, 404, 405, 406, 1738, 1739, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 1740, - 438, 439, 440, 441, 1741, 442, 443, 444, 445, 446, - 447, 1742, 448, 449, 1743, 1744, 450, 451, 452, 1745, - 1746, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 1747, 470, - 471, 472, 473, 474, 475, 476, 477, 1748, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 1749, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 1750, 506, 507, + 498, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 0, 534, + 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 557, 558, 559, 0, 561, 562, + 563, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, + 0, 582, 583, 0, 0, 584, 0, 586, 587, 588, + 589, 590, 591, 0, 592, 593, 594, 0, 0, 595, + 596, 597, 598, 599, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 619, 620, + 0, 621, 0, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 634, 635, + 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, + 646, 647, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 985, 986, 987, 988, 989, 990, 991, 992, + 993, 655, 0, 0, 0, 0, 0, 0, 979, 0, + 0, 0, 0, 0, 0, 980, 981, 982, 0, 0, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 244, 245, 246, 0, 0, 0, 0, 0, 0, 0, + 247, 248, 249, 0, 250, 251, 252, 253, 0, 255, + 256, 257, 258, 259, 0, 261, 262, 0, 263, 264, + 265, 266, 267, 268, 269, 0, 0, 270, 271, 272, + 273, 274, 0, 275, 276, 277, 278, 279, 0, 0, + 0, 281, 282, 283, 284, 285, 286, 0, 288, 289, + 290, 291, 0, 292, 293, 294, 295, 296, 297, 0, + 0, 299, 300, 301, 0, 0, 0, 0, 0, 0, + 0, 303, 304, 305, 306, 307, 308, 309, 310, 311, + 0, 312, 0, 313, 314, 315, 316, 317, 318, 319, + 0, 320, 321, 322, 323, 0, 0, 324, 325, 326, + 327, 328, 0, 329, 330, 331, 332, 0, 333, 334, + 335, 336, 0, 337, 338, 339, 340, 341, 342, 343, + 344, 345, 346, 0, 347, 0, 348, 349, 350, 351, + 352, 0, 353, 0, 354, 355, 0, 0, 0, 358, + 359, 360, 361, 0, 362, 363, 0, 364, 365, 366, + 0, 367, 368, 369, 370, 371, 0, 373, 374, 375, + 376, 0, 377, 378, 379, 380, 381, 382, 383, 384, + 0, 385, 0, 387, 388, 389, 390, 391, 392, 393, + 0, 394, 0, 395, 0, 0, 398, 0, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 0, 0, 418, 419, + 0, 421, 0, 0, 423, 424, 425, 0, 0, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 445, 0, + 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 0, 459, 460, 0, 462, 0, 463, 464, + 465, 466, 467, 468, 0, 469, 470, 471, 0, 0, + 472, 473, 474, 0, 0, 475, 476, 477, 0, 479, + 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 1751, 524, 525, 526, - 527, 528, 1752, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 1753, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 1754, - 554, 555, 1755, 556, 557, 558, 559, 560, 561, 562, - 1756, 563, 564, 565, 1757, 1758, 566, 567, 568, 569, - 570, 1759, 571, 572, 573, 574, 575, 576, 577, 578, - 1760, 1761, 579, 580, 581, 582, 583, 1762, 1763, 584, - 585, 586, 587, 588, 589, 590, 1764, 591, 592, 593, - 594, 595, 596, 1765, 1766, 597, 1767, 1768, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1769, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, + 0, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 0, 531, 532, 0, 534, 535, + 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, + 546, 547, 548, 549, 0, 550, 551, 552, 553, 554, + 0, 555, 556, 557, 558, 559, 0, 561, 562, 563, + 564, 0, 565, 566, 567, 568, 569, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 579, 580, 581, 0, + 582, 583, 0, 0, 584, 0, 586, 587, 588, 589, + 590, 591, 0, 592, 593, 594, 0, 0, 595, 596, + 597, 598, 599, 0, 600, 601, 602, 603, 604, 605, + 606, 607, 608, 0, 0, 609, 610, 611, 612, 613, + 0, 0, 614, 615, 616, 617, 618, 619, 620, 0, + 621, 0, 623, 624, 625, 626, 0, 0, 627, 0, + 0, 628, 629, 630, 631, 632, 633, 634, 635, 636, + 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, + 647, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 655, 0, 0, 0, 0, 0, 0, 979, 0, 0, + 0, 0, 0, 0, 980, 981, 982, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 0, 255, 256, + 257, 258, 259, 0, 261, 262, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 272, 273, + 274, 0, 275, 3601, 277, 278, 279, 0, 0, 0, + 281, 282, 283, 284, 285, 286, 0, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 0, + 299, 300, 301, 0, 0, 0, 0, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 309, 310, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 341, 342, 343, 344, + 345, 346, 0, 3602, 0, 348, 349, 350, 351, 352, + 0, 353, 0, 354, 355, 0, 0, 0, 358, 359, + 360, 361, 0, 362, 363, 0, 364, 365, 366, 0, + 367, 368, 369, 370, 371, 0, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 0, 387, 388, 389, 390, 391, 392, 393, 0, + 394, 0, 395, 0, 0, 398, 0, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 419, 0, + 421, 0, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 0, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 0, 459, 460, 0, 462, 0, 463, 464, 465, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 841, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 366, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 0, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 557, 558, 559, 0, 561, 562, 563, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 580, 581, 0, 582, + 583, 0, 0, 584, 0, 586, 587, 588, 589, 590, + 591, 0, 592, 593, 594, 0, 0, 595, 596, 597, + 598, 599, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 619, 620, 0, 621, + 0, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, + 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 985, 986, 987, 988, 989, 990, 991, 992, 993, 655, + 0, 0, 0, 0, 0, 0, 979, 0, 0, 0, + 0, 0, 0, 980, 981, 982, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 5638, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 852, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 5778, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 1739, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 985, + 986, 987, 988, 989, 990, 991, 992, 993, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 1740, 244, 245, + 246, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 247, 248, + 249, 1748, 250, 251, 252, 253, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 1749, 263, 264, 265, 266, + 267, 268, 269, 1750, 1751, 270, 271, 272, 273, 274, + 1752, 275, 276, 277, 278, 279, 1753, 280, 1754, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 1755, 292, 293, 294, 295, 296, 297, 1756, 298, 299, + 300, 301, 1757, 1758, 1759, 302, 1760, 1761, 1762, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 1763, 312, + 1764, 313, 314, 315, 316, 317, 318, 319, 1765, 320, + 321, 322, 323, 1766, 1767, 324, 325, 326, 327, 328, + 1768, 329, 330, 331, 332, 1769, 333, 334, 335, 336, + 1770, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 1771, 347, 1772, 348, 349, 350, 351, 352, 1773, + 353, 1774, 354, 355, 356, 1775, 357, 358, 359, 360, + 361, 1776, 362, 363, 1777, 364, 365, 366, 1778, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 1779, + 377, 378, 379, 380, 381, 382, 383, 384, 1780, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 1781, 394, + 1782, 395, 396, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 1783, 1784, 418, 419, 420, 421, + 422, 1785, 423, 424, 425, 1786, 1787, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 1788, 459, 460, 461, 462, 1789, 463, 464, 465, 466, + 467, 468, 1790, 469, 470, 471, 1791, 1792, 472, 473, + 474, 1793, 1794, 475, 476, 477, 478, 479, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 1795, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 1796, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 1797, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 1798, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 1799, 550, 551, 552, 553, 554, 1800, 555, + 556, 557, 558, 559, 560, 561, 562, 563, 564, 1801, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 1802, 582, 583, + 1803, 1804, 584, 585, 586, 587, 588, 589, 590, 591, + 1805, 592, 593, 594, 1806, 1807, 595, 596, 597, 598, + 599, 1808, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 1809, 1810, 609, 610, 611, 612, 613, 1811, 1812, + 614, 615, 616, 617, 618, 619, 620, 1813, 621, 622, + 623, 624, 625, 626, 1814, 1815, 627, 1816, 1817, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1818, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 865, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6087, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 655, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6089, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 0, 255, 256, 257, + 258, 259, 0, 261, 262, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 272, 273, 274, + 0, 275, 276, 277, 278, 279, 0, 0, 0, 281, + 282, 283, 284, 285, 286, 0, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 0, 299, + 300, 301, 0, 0, 0, 0, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 309, 310, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 326, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 341, 342, 343, 344, 345, + 346, 0, 347, 0, 348, 349, 350, 351, 352, 0, + 353, 0, 354, 355, 0, 0, 0, 358, 359, 360, + 361, 0, 362, 363, 0, 364, 365, 366, 0, 367, + 368, 369, 370, 371, 0, 373, 374, 375, 376, 0, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 0, 387, 388, 389, 390, 391, 392, 393, 0, 394, + 0, 395, 0, 0, 398, 0, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 419, 0, 421, + 0, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 0, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 0, 459, 460, 0, 462, 0, 463, 464, 465, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 0, 475, 476, 477, 0, 479, 0, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 0, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 557, 558, 559, 0, 561, 562, 563, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 0, 582, 583, + 0, 0, 584, 0, 586, 587, 588, 589, 590, 591, + 0, 592, 593, 594, 0, 0, 595, 596, 597, 598, + 599, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 619, 620, 0, 621, 0, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, + 639, 640, 641, 642, 643, 644, 645, 646, 647, 876, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6216, 0, 0, 0, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 244, 245, + 246, 0, 0, 0, 0, 0, 0, 0, 247, 248, + 249, 0, 250, 251, 252, 253, 254, 255, 256, 257, + 0, 877, 260, 878, 879, 0, 263, 264, 265, 266, + 267, 268, 269, 0, 0, 270, 271, 880, 881, 274, + 0, 275, 276, 277, 278, 0, 0, 280, 0, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 0, 292, 293, 294, 295, 296, 297, 0, 298, 299, + 300, 301, 0, 0, 0, 302, 0, 0, 0, 303, + 304, 305, 306, 307, 308, 882, 883, 311, 0, 312, + 0, 313, 314, 315, 316, 317, 318, 319, 0, 320, + 321, 322, 323, 0, 0, 324, 325, 884, 327, 328, + 0, 329, 330, 331, 332, 0, 333, 334, 335, 336, + 0, 337, 338, 339, 340, 0, 342, 343, 344, 345, + 0, 0, 347, 0, 348, 349, 350, 885, 352, 0, + 353, 0, 354, 355, 356, 0, 357, 358, 359, 360, + 361, 0, 362, 0, 0, 0, 365, 366, 0, 367, + 368, 369, 370, 371, 372, 373, 374, 375, 376, 2733, + 377, 378, 379, 380, 381, 382, 383, 384, 0, 385, + 386, 2734, 388, 389, 390, 391, 886, 887, 0, 888, + 0, 395, 396, 397, 398, 399, 889, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 411, 412, 413, + 414, 415, 416, 417, 0, 0, 418, 0, 420, 421, + 422, 0, 423, 424, 425, 0, 0, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 0, 437, 438, + 439, 440, 441, 442, 443, 444, 890, 446, 891, 448, + 449, 450, 451, 452, 453, 454, 455, 0, 0, 458, + 0, 459, 460, 461, 462, 0, 0, 464, 892, 466, + 467, 468, 0, 469, 470, 471, 0, 0, 472, 473, + 474, 0, 2735, 475, 476, 2736, 478, 479, 480, 0, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 0, 493, 494, 495, 0, 497, 0, 499, 500, + 501, 0, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 893, 514, 515, 516, 517, 0, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, + 529, 530, 0, 531, 532, 533, 534, 535, 536, 537, + 538, 0, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 0, 550, 551, 552, 553, 554, 0, 555, + 556, 2737, 558, 559, 560, 561, 562, 895, 564, 0, + 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, + 575, 576, 577, 578, 579, 0, 581, 0, 582, 583, + 0, 0, 584, 585, 586, 587, 588, 589, 590, 591, + 0, 592, 896, 897, 0, 0, 595, 596, 0, 598, + 0, 0, 600, 601, 602, 603, 604, 605, 606, 607, + 608, 0, 0, 609, 610, 611, 612, 613, 0, 0, + 614, 615, 616, 617, 618, 0, 898, 2738, 621, 622, + 623, 624, 625, 626, 0, 0, 627, 0, 0, 628, + 629, 630, 631, 632, 633, 0, 3959, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 853, 259, 854, - 855, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 856, 857, 273, 0, 274, 275, 276, - 277, 0, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 0, - 300, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 858, 859, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 0, 338, - 339, 340, 341, 0, 0, 343, 0, 344, 345, 346, - 861, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 0, 0, 0, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 2638, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 2639, 382, 383, 384, 385, 862, 863, 0, - 864, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 0, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 865, 426, 866, 428, 429, 430, 431, - 432, 433, 434, 0, 0, 437, 0, 438, 439, 440, - 441, 0, 0, 443, 867, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 2640, 453, 454, - 2641, 456, 457, 458, 0, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 0, 473, - 0, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 868, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 0, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 2642, 532, 533, 534, 535, 536, 870, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 0, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 871, - 872, 0, 0, 566, 567, 0, 569, 0, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 0, 873, 2643, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 3820, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 615, 616, 617, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 2644, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 853, 259, 854, 855, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 856, 857, - 273, 0, 274, 275, 276, 277, 0, 0, 279, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 0, 0, 0, 300, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 858, 859, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 860, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 0, 338, 339, 340, 341, 0, 0, - 343, 0, 344, 345, 346, 861, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 0, 0, 0, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 2638, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 2639, 382, 383, - 384, 385, 862, 863, 0, 864, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 0, 401, 402, 403, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 865, 426, - 866, 428, 429, 430, 431, 432, 433, 434, 0, 0, - 437, 0, 438, 439, 440, 441, 0, 0, 443, 867, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 2640, 453, 454, 2641, 456, 457, 458, 0, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 0, 473, 0, 475, 476, 477, 0, + 240, 241, 242, 243, 2739, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, + 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 2733, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 2734, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 0, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 2735, + 475, 476, 2736, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 2737, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 2738, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 0, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 645, 646, 647, 0, 0, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 2739, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 2624, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 868, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 0, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 2642, 532, 533, - 534, 535, 536, 870, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 0, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 871, 872, 0, 0, 566, 567, - 0, 569, 0, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 0, 873, 2643, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 938, 0, 1556, 684, - 0, 0, 0, 0, 745, 2528, 0, 615, 616, 617, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 2644, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 0, - 300, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 2529, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 1779, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 440, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 1780, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 1781, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 938, 0, 1556, 684, 0, - 0, 0, 0, 745, 2528, 0, 1557, 1558, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 279, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 0, 0, 0, 300, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 2534, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 1779, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 401, 402, 403, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 440, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 1780, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 1781, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 938, 0, 1556, 684, 0, 0, - 0, 0, 745, 0, 0, 1557, 1558, 0, 0, 0, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 2629, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 3568, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 2623, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 1602, 714, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 1828, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 1829, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 1830, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, + 0, 775, 0, 0, 0, 0, 1603, 1604, 0, 0, + 0, 0, 235, 236, 776, 238, 239, 240, 241, 242, + 243, 777, 244, 245, 246, 0, 0, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 0, 778, 256, 257, 258, 259, 0, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 0, 0, 281, 282, 283, 284, 285, 286, 0, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 0, 299, 300, 301, 0, 0, 0, 0, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 347, 0, 348, 349, + 779, 351, 352, 0, 353, 0, 354, 780, 0, 781, + 0, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 0, 373, + 374, 375, 376, 782, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 0, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 0, 0, 398, 0, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 783, 0, 0, + 418, 419, 0, 421, 0, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 0, 447, 448, 449, 784, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 0, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 785, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 786, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 0, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 0, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 0, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 0, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 964, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 787, 788, 0, 0, + 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 0, 244, 245, 246, 3, 4, 0, 0, 0, + 0, 0, 247, 248, 249, 0, 250, 251, 252, 253, + 254, 255, 256, 257, 258, 259, 260, 261, 262, 0, + 263, 264, 265, 266, 267, 268, 269, 0, 0, 270, + 271, 272, 273, 274, 0, 275, 276, 277, 278, 279, + 0, 280, 0, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 0, 292, 293, 294, 295, 296, + 297, 0, 298, 299, 300, 301, 0, 0, 0, 302, + 0, 0, 0, 303, 304, 305, 306, 307, 308, 309, + 310, 311, 0, 312, 0, 313, 314, 315, 316, 317, + 318, 319, 0, 320, 321, 322, 323, 0, 0, 324, + 325, 326, 327, 328, 0, 329, 330, 331, 332, 0, + 333, 334, 335, 336, 0, 337, 338, 339, 340, 341, + 342, 343, 344, 345, 346, 0, 347, 0, 348, 349, + 350, 351, 352, 0, 353, 0, 354, 355, 356, 0, + 357, 358, 359, 360, 361, 0, 362, 363, 0, 364, + 365, 366, 0, 367, 368, 369, 370, 371, 372, 373, + 374, 375, 376, 0, 377, 378, 379, 380, 381, 382, + 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 0, 394, 0, 395, 396, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, 414, 415, 416, 417, 0, 0, + 418, 419, 420, 421, 422, 0, 423, 424, 425, 0, + 0, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 0, 459, 460, 461, 462, 0, + 463, 464, 465, 466, 467, 468, 0, 469, 470, 471, + 0, 0, 472, 473, 474, 0, 0, 475, 476, 477, + 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 0, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, + 516, 517, 0, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 0, 531, 532, 533, + 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, + 544, 545, 546, 547, 548, 549, 0, 550, 551, 552, + 553, 554, 0, 555, 556, 557, 558, 559, 560, 561, + 562, 563, 564, 0, 565, 566, 567, 568, 569, 570, + 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, + 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, + 588, 589, 590, 591, 0, 592, 593, 594, 0, 0, + 595, 596, 597, 598, 599, 0, 600, 601, 602, 603, + 604, 605, 606, 607, 608, 0, 0, 609, 610, 611, + 612, 613, 0, 0, 614, 615, 616, 617, 618, 619, + 620, 0, 621, 622, 623, 624, 625, 626, 0, 0, + 627, 0, 0, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 1043, 1739, 0, 6405, 714, 0, 0, + 0, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 327, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 1739, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 327, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 1739, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 3676, 241, + 242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744, + 1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751, + 270, 271, 272, 273, 274, 1752, 275, 276, 277, 278, + 279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 1755, 292, 293, 294, 295, + 296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759, + 302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316, + 317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767, + 324, 325, 326, 3677, 328, 1768, 329, 330, 331, 332, + 1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348, + 349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356, + 1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777, + 364, 365, 366, 1778, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 1779, 377, 378, 379, 380, 381, + 382, 383, 384, 1780, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 1783, + 1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425, + 1786, 1787, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 1788, 459, 460, 461, 462, + 1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470, + 471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 1795, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 1796, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 1797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 1798, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 1799, 550, 551, + 552, 553, 554, 1800, 3678, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 1801, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586, + 587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806, + 1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610, + 611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618, + 619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814, + 1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 1278, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 1281, 0, 1282, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 1283, 1284, 1285, + 1286, 1287, 1288, 1289, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 1294, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 1297, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 3473, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, + 409, 1311, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 1312, 420, 421, 422, 0, 423, 424, 425, + 1313, 1314, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 1315, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 1318, 458, 0, 459, 460, 461, 462, + 0, 1321, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 1324, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 1325, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 1328, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 1330, 581, 0, 582, 583, 1331, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 1334, 598, 1335, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 1338, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 1340, 1341, 1342, 1343, 639, 1344, 1345, 1346, 1347, + 644, 645, 646, 647, 234, 0, 1268, 714, 0, 1269, + 1270, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 1274, 260, 1275, 1276, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 1279, 1280, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 1290, 1291, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1295, 347, 0, 348, + 349, 350, 1296, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 1299, 1300, 0, 1301, 0, 395, 396, 397, 398, + 399, 6379, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 1316, 446, 1317, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 1320, 463, 464, 1322, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1326, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 1329, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 1332, 1333, 0, + 0, 595, 596, 597, 598, 599, 1336, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 1339, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1003, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1024, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1025, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3004, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 4030, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 1828, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 1829, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 1830, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1119, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1161, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1174, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 965, + 302, 0, 0, 966, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1186, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 1187, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 967, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 2606, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 2607, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 1396, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 714, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1145, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1158, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1172, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 234, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1176, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 964, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 461, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 560, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 2839, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 2843, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 3893, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 827, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 3575, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 2838, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 2840, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 2841, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2842, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 2844, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 2845, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 794, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3080, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 2910, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2911, 2912, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 2006, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 2007, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 2008, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 2009, 354, 355, 0, + 0, 0, 2010, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 2011, 2012, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 2013, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 2014, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 2015, 538, 539, 540, 541, 542, + 543, 2016, 545, 546, 547, 548, 549, 0, 2017, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2018, 584, 0, 2019, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 2020, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 795, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 796, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 797, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 798, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 2910, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 2911, 2912, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 279, 0, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 296, 297, 298, 299, 0, 0, 0, 300, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 3436, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 1779, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 351, 0, 352, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 401, 402, 403, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 440, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 1780, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 557, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 1781, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 592, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 938, 0, 1556, 684, 0, 0, 0, - 0, 745, 2528, 0, 1557, 1558, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 279, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 0, 0, 0, 300, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 1779, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 401, 402, 403, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 440, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 1780, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 1781, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 938, 0, 1556, 684, 0, 0, 0, 0, - 745, 0, 0, 1557, 1558, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 1779, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 440, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 1780, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 242, 243, 1017, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1018, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 1781, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 745, - 0, 0, 1557, 1558, 0, 0, 0, 0, 0, 0, - 235, 746, 237, 238, 239, 240, 241, 242, 747, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 748, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 749, 347, 348, 0, 349, 0, - 750, 0, 751, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 752, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 753, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 754, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 755, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 756, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 1691, 0, 6059, 684, 0, 0, 0, 0, 745, 0, - 0, 757, 758, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 1692, 243, 244, - 245, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 246, 247, - 248, 1700, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 1701, 262, 263, 264, 265, - 266, 267, 268, 1702, 1703, 269, 270, 271, 272, 273, - 1704, 274, 275, 276, 277, 278, 1705, 279, 1706, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 1707, - 290, 291, 292, 293, 294, 295, 1708, 296, 297, 298, - 299, 1709, 1710, 1711, 300, 1712, 1713, 1714, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 1715, 310, 1716, - 311, 312, 313, 314, 315, 316, 317, 1717, 318, 319, - 320, 321, 1718, 1719, 322, 323, 324, 325, 326, 1720, - 327, 328, 329, 1721, 330, 331, 332, 1722, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 1723, 343, - 1724, 344, 345, 346, 347, 348, 1725, 349, 1726, 350, - 351, 1727, 352, 353, 354, 355, 356, 1728, 357, 358, - 1729, 359, 360, 361, 1730, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 1731, 372, 373, 374, 375, - 376, 377, 378, 1732, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 1733, 388, 1734, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 1735, 1736, 399, 400, - 401, 402, 403, 1737, 404, 405, 406, 1738, 1739, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 1740, 438, 439, 440, 441, 1741, 442, 443, 444, 445, - 446, 447, 1742, 448, 449, 1743, 1744, 450, 451, 452, - 1745, 1746, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 1747, - 470, 471, 472, 473, 474, 475, 476, 477, 1748, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 1749, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 1750, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 1751, 524, 525, - 526, 527, 528, 1752, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 1753, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 1754, 554, 555, 1755, 556, 557, 558, 559, 560, 561, - 562, 1756, 563, 564, 565, 1757, 1758, 566, 567, 568, - 569, 570, 1759, 571, 572, 573, 574, 575, 576, 577, - 578, 1760, 1761, 579, 580, 581, 582, 583, 1762, 1763, - 584, 585, 586, 587, 588, 589, 590, 1764, 591, 592, - 593, 594, 595, 596, 1765, 1766, 597, 1767, 1768, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 1691, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 714, 0, 0, + 0, 0, 0, 1398, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 1692, 243, 244, 245, - 1693, 1694, 1695, 1696, 1697, 1698, 1699, 246, 247, 248, - 1700, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 1701, 262, 263, 264, 265, 266, - 267, 268, 1702, 1703, 269, 270, 271, 272, 273, 1704, - 274, 275, 276, 277, 278, 1705, 279, 1706, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 1707, 290, - 291, 292, 293, 294, 295, 1708, 296, 297, 298, 299, - 1709, 1710, 1711, 300, 1712, 1713, 1714, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 1715, 310, 1716, 311, - 312, 313, 314, 315, 316, 317, 1717, 318, 319, 320, - 321, 1718, 1719, 322, 323, 324, 325, 326, 1720, 327, - 328, 329, 1721, 330, 331, 332, 1722, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 1723, 343, 1724, - 344, 345, 346, 347, 348, 1725, 349, 1726, 350, 351, - 1727, 352, 353, 354, 355, 356, 1728, 357, 358, 1729, - 359, 360, 361, 1730, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 1731, 372, 373, 374, 375, 376, - 377, 378, 1732, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 1733, 388, 1734, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 1735, 1736, 399, 400, 401, - 402, 403, 1737, 404, 405, 406, 1738, 1739, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 1740, - 438, 439, 440, 441, 1741, 442, 443, 444, 445, 446, - 447, 1742, 448, 449, 1743, 1744, 450, 451, 452, 1745, - 1746, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 1747, 470, - 471, 472, 473, 474, 475, 476, 477, 1748, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 1749, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 1750, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 1751, 524, 525, 526, - 527, 528, 1752, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 1753, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 1754, - 554, 555, 1755, 556, 557, 558, 559, 560, 561, 562, - 1756, 563, 564, 565, 1757, 1758, 566, 567, 568, 569, - 570, 1759, 571, 572, 573, 574, 575, 576, 577, 578, - 1760, 1761, 579, 580, 581, 582, 583, 1762, 1763, 584, - 585, 586, 587, 588, 589, 590, 1764, 591, 592, 593, - 594, 595, 596, 1765, 1766, 597, 1767, 1768, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 1691, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3657, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3658, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 3541, 240, 241, 242, 1692, 243, 244, 245, 1693, - 1694, 1695, 1696, 1697, 1698, 1699, 246, 247, 248, 1700, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 1701, 262, 263, 264, 265, 266, 267, - 268, 1702, 1703, 269, 270, 271, 272, 273, 1704, 274, - 275, 276, 277, 278, 1705, 279, 1706, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 1707, 290, 291, - 292, 293, 294, 295, 1708, 296, 297, 298, 299, 1709, - 1710, 1711, 300, 1712, 1713, 1714, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 1715, 310, 1716, 311, 312, - 313, 314, 315, 316, 317, 1717, 318, 319, 320, 321, - 1718, 1719, 322, 323, 324, 3542, 326, 1720, 327, 328, - 329, 1721, 330, 331, 332, 1722, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 1723, 343, 1724, 344, - 345, 346, 347, 348, 1725, 349, 1726, 350, 351, 1727, - 352, 353, 354, 355, 356, 1728, 357, 358, 1729, 359, - 360, 361, 1730, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 1731, 372, 373, 374, 375, 376, 377, - 378, 1732, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 1733, 388, 1734, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 1735, 1736, 399, 400, 401, 402, - 403, 1737, 404, 405, 406, 1738, 1739, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 1740, 438, - 439, 440, 441, 1741, 442, 443, 444, 445, 446, 447, - 1742, 448, 449, 1743, 1744, 450, 451, 452, 1745, 1746, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 1747, 470, 471, - 472, 473, 474, 475, 476, 477, 1748, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 1749, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 1750, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 1751, 524, 525, 526, 527, - 528, 1752, 3543, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 1753, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 1754, 554, - 555, 1755, 556, 557, 558, 559, 560, 561, 562, 1756, - 563, 564, 565, 1757, 1758, 566, 567, 568, 569, 570, - 1759, 571, 572, 573, 574, 575, 576, 577, 578, 1760, - 1761, 579, 580, 581, 582, 583, 1762, 1763, 584, 585, - 586, 587, 588, 589, 590, 1764, 591, 592, 593, 594, - 595, 596, 1765, 1766, 597, 1767, 1768, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 234, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 3670, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 3671, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 1246, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 1249, 0, 1250, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 1251, 1252, - 1253, 1254, 1255, 1256, 1257, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 1262, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 1265, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 1270, 401, 402, 403, - 0, 404, 405, 406, 1271, 1272, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 1275, 437, 0, 438, 439, - 440, 441, 0, 1278, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 456, 457, 458, 1281, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 1282, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 1285, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 1287, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 1290, 569, 1291, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 1294, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 1296, 1297, 1298, 1299, 609, 1300, 1301, - 1302, 1303, 614, 615, 616, 617, 234, 0, 1236, 684, - 0, 1237, 1238, 0, 745, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 1242, 259, 1243, - 1244, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 1247, 1248, 273, 0, 274, 275, 276, - 277, 278, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 0, - 300, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 1258, 1259, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 860, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 1263, 343, 0, 344, 345, 346, - 1264, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 1267, 1268, 0, - 1269, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 1273, 426, 1274, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 440, - 441, 1277, 442, 443, 1279, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 1283, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 534, 535, 536, 1286, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 1288, - 1289, 0, 0, 566, 567, 568, 569, 570, 1292, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 1295, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 938, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 656, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 977, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 279, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 0, 0, 939, 300, - 0, 0, 940, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 401, 402, 403, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 440, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 941, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 938, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 705, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 706, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 998, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 279, 0, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 296, 297, 298, 299, 0, 0, 939, 300, 0, - 0, 940, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 351, 0, 352, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 401, 402, 403, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 999, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 440, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 941, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 557, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 592, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 938, 0, 0, 0, 0, 0, 0, + 242, 243, 819, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 820, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 821, 594, 0, + 0, 822, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 279, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 0, 0, 939, 300, 0, 0, - 940, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 401, 402, 403, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 440, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 941, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 2905, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 938, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 939, 300, 0, 0, 940, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 358, 3891, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 440, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 853, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 941, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 938, 0, 0, 684, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 279, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 0, 0, 0, 300, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 1779, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 401, 402, 403, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 440, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 1780, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 1781, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 938, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 279, 0, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 296, 297, 298, - 299, 0, 0, 939, 300, 0, 0, 940, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 351, 0, 352, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 367, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 401, 402, 403, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 440, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 941, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 557, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 938, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 854, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 855, 594, 0, + 0, 856, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 279, 0, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 296, 297, 298, 299, - 0, 0, 939, 300, 0, 0, 940, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 351, - 0, 352, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 401, - 402, 403, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 1091, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 440, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 941, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 557, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 938, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 919, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 279, 0, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 296, 297, 298, 299, 0, - 0, 939, 300, 0, 0, 940, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 351, 0, - 352, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 1133, 367, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 401, 402, - 403, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 440, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 941, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 557, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 938, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 974, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 975, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 939, 300, 0, 0, 940, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 1146, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 440, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 941, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 938, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1137, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 939, - 300, 0, 0, 940, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 1158, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 1159, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 440, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 941, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 938, 0, 0, 684, 0, - 0, 0, 0, 0, 2511, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 279, 0, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 296, 297, 298, 299, 0, 0, 0, 300, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 2512, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 351, 0, 352, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 401, 402, 403, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 440, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 508, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 534, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 557, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 592, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 938, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1387, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 3, 4, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 279, 0, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 296, 297, 298, 299, 0, 0, 0, 300, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 351, 0, 352, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 401, 402, 403, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 440, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 456, - 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 534, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 557, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 592, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 938, 0, 0, 684, 0, 0, 0, - 0, 0, 1350, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 279, 0, 280, 281, 282, 283, 284, 285, 286, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 296, 297, 298, 299, 0, 0, 0, 300, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 351, 0, 352, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 380, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 401, 402, 403, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 440, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 534, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 557, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 592, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 938, 0, 0, 684, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 440, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 456, 457, 458, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 1400, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 1401, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 279, 0, - 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 296, 297, - 298, 299, 0, 0, 0, 300, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 351, 0, 352, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 401, 402, 403, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 440, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 557, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 592, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 279, 0, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 296, 297, 298, - 299, 0, 0, 0, 300, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 351, 0, 352, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 1117, - 367, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 401, 402, 403, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 440, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 534, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 557, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 592, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 234, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 279, 0, 280, 281, - 282, 283, 284, 285, 286, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 296, 297, 298, 299, - 0, 0, 0, 300, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 351, - 0, 352, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 1130, 367, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 380, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 401, - 402, 403, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 440, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 456, 457, 458, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 534, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 557, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 592, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 234, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1546, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 859, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 279, 0, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 296, 297, 298, 299, 0, - 0, 0, 300, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 351, 0, - 352, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 1144, 367, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 401, 402, - 403, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 440, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 508, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 534, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 557, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 592, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 234, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 1607, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1608, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 1148, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 440, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 534, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 938, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 819, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 279, 0, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 296, 297, 298, 299, 0, 0, 0, - 300, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 351, 0, 352, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 380, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 401, 402, 403, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 440, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 508, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 557, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 592, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 3422, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 3423, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 3424, 584, 0, 586, + 587, 3425, 589, 3426, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 3427, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 775, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 4249, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 4263, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 4409, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 4935, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 5008, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 2677, 274, 275, 276, 277, - 278, 0, 0, 2746, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 2678, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 2747, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 2680, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 2748, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 2681, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 2682, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 5369, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 2677, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 2678, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 2747, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 2680, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 3754, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 2681, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 2682, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 803, 241, 242, - 764, 243, 765, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 766, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 804, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 767, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 768, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 764, - 243, 765, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 766, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 3443, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 767, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 768, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 2677, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 2678, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 2747, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 2680, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 2681, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 2682, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 764, 243, 765, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 766, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 767, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 768, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 2981, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 2812, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 835, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 2813, 2814, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 811, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 1956, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 1957, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 1958, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 1959, 350, 0, 0, - 0, 1960, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 1961, 1962, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 1963, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 1964, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 1965, 513, 514, 515, 516, 517, 1966, - 519, 520, 521, 522, 523, 0, 1967, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 1968, 556, 0, 1969, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 1970, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 817, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 765, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 766, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 366, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 767, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 768, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 840, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 841, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 845, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 2812, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 835, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 2813, - 2814, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 871, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 991, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 992, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 835, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 684, 0, 0, - 0, 0, 0, 1352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 999, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 3522, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 3523, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 3535, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1009, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 3536, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 626, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 675, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 676, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 795, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 796, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 797, 565, 0, 0, 798, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1012, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 829, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 830, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 831, 565, 0, 0, 832, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1028, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 366, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 835, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, - 0, 0, 0, 0, 0, 893, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1085, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 948, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 949, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1090, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 1109, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1107, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 1341, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 1354, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 815, 270, 271, - 272, 1355, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 818, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1110, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 819, 510, 511, 512, 513, 514, - 515, 516, 517, 820, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 1345, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 822, 565, 0, 0, 823, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 824, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 1500, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 835, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 1561, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 1562, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 795, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1112, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 3294, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 3295, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 3296, 556, 0, 558, 3297, 560, 3298, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 3299, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, - 0, 0, 0, 0, 0, 745, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 366, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1150, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 4072, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 366, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1178, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 4086, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1180, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 4722, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1190, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 4792, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1193, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 781, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 793, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 815, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 816, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 366, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 817, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 818, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 819, 510, 511, 512, 513, 514, 515, 516, 517, - 820, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 821, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 822, 565, 0, 0, 823, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 824, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1196, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 366, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 847, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 973, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1871, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 983, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1905, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 986, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1907, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1947, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 1002, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1949, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 1058, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 1063, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 1951, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 1080, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 1083, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 1085, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 2045, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 1122, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 2725, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 0, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 1150, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 1391, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 2759, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 847, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 1152, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2821, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 1162, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2907, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 1165, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 2931, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 1168, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 815, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 818, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3125, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 819, 510, 511, 512, 513, 514, - 515, 516, 517, 820, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 1345, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 822, 565, 0, 0, 823, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 824, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 1822, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 1856, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 1858, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3129, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 1897, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3187, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 1899, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3580, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 1901, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 839, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 842, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 843, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 844, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 2822, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 846, 594, 0, + 0, 2823, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 848, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 269, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 509, 510, 511, - 512, 513, 514, 515, 516, 1994, 518, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 528, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 564, 565, - 0, 0, 566, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 603, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3638, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 2630, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 366, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 0, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3660, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 815, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 818, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 819, 510, 511, 512, 513, - 514, 515, 516, 517, 820, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 1345, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 2664, - 559, 560, 561, 562, 0, 563, 822, 565, 0, 0, - 823, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, - 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 824, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 815, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 366, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 818, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3662, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 819, 510, 511, 512, 513, 514, - 515, 516, 517, 2729, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 2730, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 822, 565, 0, 0, 2731, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 824, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 815, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 366, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 818, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 819, 510, 511, 512, 513, 514, 515, - 516, 517, 2809, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 2730, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 822, 565, 0, 0, 2731, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 824, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 815, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 323, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 818, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 819, 510, 511, 512, 513, 514, 515, 516, - 517, 2833, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 2730, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 822, 565, 0, 0, 2731, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 824, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 3026, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 625, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 3812, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 0, 254, 255, 256, 257, 258, - 0, 260, 261, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 271, 272, 273, 0, 274, - 275, 276, 277, 278, 0, 0, 0, 280, 281, 282, - 283, 284, 285, 0, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 0, 297, 298, 299, 0, - 0, 0, 0, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 324, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 0, 343, 0, 344, - 345, 346, 347, 348, 0, 349, 0, 350, 0, 0, - 0, 353, 354, 355, 356, 0, 357, 358, 0, 359, - 360, 361, 0, 362, 363, 364, 365, 3030, 0, 368, - 369, 370, 371, 0, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 0, 381, 382, 383, 384, 385, 386, - 387, 0, 388, 0, 389, 0, 0, 392, 0, 394, - 395, 396, 397, 398, 0, 0, 399, 400, 0, 402, - 0, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 425, 0, 427, 428, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 0, 438, - 439, 0, 441, 0, 442, 443, 444, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 455, 0, 457, 0, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 472, 473, 474, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 0, - 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 531, 532, 533, 0, 535, 536, - 537, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 0, 556, 0, 558, 559, 560, 561, 562, 0, - 563, 564, 565, 0, 0, 566, 567, 568, 569, 570, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 589, 590, 0, 591, 0, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, - 611, 612, 613, 614, 615, 616, 617, 625, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 3854, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 0, 254, 255, 256, 257, 258, 0, - 260, 261, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 271, 272, 273, 0, 274, 275, - 276, 277, 278, 0, 0, 0, 280, 281, 282, 283, - 284, 285, 0, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 0, 297, 298, 299, 0, 0, - 0, 0, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 0, 343, 0, 344, 345, - 346, 347, 348, 0, 349, 0, 350, 0, 0, 0, - 353, 354, 355, 356, 0, 357, 358, 0, 359, 360, - 361, 0, 362, 363, 364, 365, 3088, 0, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 0, 381, 382, 383, 384, 385, 386, 387, - 0, 388, 0, 389, 0, 0, 392, 0, 394, 395, - 396, 397, 398, 0, 0, 399, 400, 0, 402, 0, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 425, 0, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 0, 438, 439, - 0, 441, 0, 442, 443, 444, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 455, 0, 457, 0, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 472, - 473, 474, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 0, 509, - 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 531, 532, 533, 0, 535, 536, 537, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 0, 556, 0, 558, 559, 560, 561, 562, 0, 563, - 564, 565, 0, 0, 566, 567, 568, 569, 570, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 589, 590, 0, 591, 0, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, - 612, 613, 614, 615, 616, 617, 625, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 5122, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, - 240, 241, 242, 0, 243, 244, 245, 0, 0, 0, - 0, 0, 0, 0, 246, 247, 248, 0, 249, 250, - 251, 252, 0, 254, 255, 256, 257, 258, 0, 260, - 261, 0, 262, 263, 264, 265, 266, 267, 268, 0, - 0, 269, 270, 271, 272, 273, 0, 274, 275, 276, - 277, 278, 0, 0, 0, 280, 281, 282, 283, 284, - 285, 0, 287, 288, 289, 0, 290, 291, 292, 293, - 294, 295, 0, 0, 297, 298, 299, 0, 0, 0, - 0, 0, 0, 0, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 0, 310, 0, 311, 312, 313, 314, - 315, 316, 317, 0, 318, 319, 320, 321, 0, 0, - 322, 323, 324, 325, 326, 0, 327, 328, 329, 0, - 330, 331, 332, 0, 333, 334, 335, 336, 337, 338, - 339, 340, 341, 342, 0, 343, 0, 344, 345, 346, - 347, 348, 0, 349, 0, 350, 0, 0, 0, 353, - 354, 355, 356, 0, 357, 358, 0, 359, 360, 361, - 0, 362, 363, 364, 365, 3454, 0, 368, 369, 370, - 371, 0, 372, 373, 374, 375, 376, 377, 378, 0, - 379, 0, 381, 382, 383, 384, 385, 386, 387, 0, - 388, 0, 389, 0, 0, 392, 0, 394, 395, 396, - 397, 398, 0, 0, 399, 400, 0, 402, 0, 0, - 404, 405, 406, 0, 0, 407, 408, 409, 410, 411, - 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, - 422, 423, 424, 425, 0, 427, 428, 429, 430, 431, - 432, 433, 434, 435, 436, 437, 0, 438, 439, 0, - 441, 0, 442, 443, 444, 445, 446, 447, 0, 448, - 449, 0, 0, 450, 451, 452, 0, 0, 453, 454, - 455, 0, 457, 0, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 0, 470, 471, 472, 473, - 474, 475, 476, 477, 0, 478, 479, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 0, 493, 494, 495, 496, 497, 498, 499, 500, 501, - 502, 503, 504, 505, 0, 506, 507, 0, 509, 510, - 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, - 521, 522, 523, 0, 524, 525, 526, 527, 528, 0, - 529, 530, 531, 532, 533, 0, 535, 536, 537, 538, - 0, 539, 540, 541, 542, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 0, - 556, 0, 558, 559, 560, 561, 562, 0, 563, 564, - 565, 0, 0, 566, 567, 568, 569, 570, 0, 571, - 572, 573, 574, 575, 576, 577, 578, 0, 0, 579, - 580, 581, 582, 583, 0, 0, 584, 585, 586, 587, - 588, 589, 590, 0, 591, 0, 593, 594, 595, 596, - 0, 0, 597, 0, 0, 598, 599, 600, 601, 602, - 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, - 613, 614, 615, 616, 617, 625, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 365, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 6344, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, - 241, 242, 0, 243, 244, 245, 0, 0, 0, 0, - 0, 0, 0, 246, 247, 248, 0, 249, 250, 251, - 252, 0, 254, 255, 256, 257, 258, 0, 260, 261, - 0, 262, 263, 264, 265, 266, 267, 268, 0, 0, - 815, 270, 271, 272, 273, 0, 274, 275, 276, 277, - 278, 0, 0, 0, 280, 281, 282, 283, 284, 285, - 0, 287, 288, 289, 0, 290, 291, 292, 293, 294, - 295, 0, 0, 297, 298, 299, 0, 0, 0, 0, - 0, 0, 0, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 0, 310, 0, 311, 312, 313, 314, 315, - 316, 317, 0, 318, 319, 320, 321, 0, 0, 322, - 323, 324, 325, 326, 0, 327, 328, 329, 0, 330, - 331, 332, 0, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 0, 343, 0, 344, 345, 346, 347, - 348, 0, 349, 0, 350, 0, 0, 0, 353, 354, - 355, 356, 0, 357, 358, 0, 359, 360, 361, 0, - 362, 363, 364, 365, 366, 0, 368, 369, 370, 371, - 0, 372, 373, 374, 375, 376, 377, 378, 0, 379, - 0, 381, 382, 383, 384, 385, 386, 387, 0, 388, - 0, 389, 0, 0, 392, 0, 394, 395, 396, 397, - 398, 0, 0, 399, 400, 0, 402, 0, 0, 404, - 405, 406, 0, 0, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 818, 425, 0, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 0, 438, 439, 0, 441, - 0, 442, 443, 444, 445, 446, 447, 0, 448, 449, - 0, 0, 450, 451, 452, 0, 0, 453, 454, 455, - 0, 457, 0, 459, 460, 461, 462, 463, 464, 465, - 466, 467, 468, 469, 0, 470, 471, 472, 473, 474, - 475, 476, 477, 0, 478, 479, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 504, 505, 0, 506, 507, 0, 819, 510, 511, - 512, 513, 514, 515, 516, 517, 820, 519, 520, 521, - 522, 523, 0, 524, 525, 526, 527, 2730, 0, 529, - 530, 531, 532, 533, 0, 535, 536, 537, 538, 0, - 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 551, 552, 553, 0, 554, 555, 0, 556, - 0, 558, 559, 560, 561, 562, 0, 563, 822, 565, - 0, 0, 2731, 567, 568, 569, 570, 0, 571, 572, - 573, 574, 575, 576, 577, 578, 0, 0, 579, 580, - 581, 582, 583, 0, 0, 584, 585, 586, 587, 588, - 589, 590, 0, 591, 0, 593, 594, 595, 596, 0, - 0, 597, 0, 0, 598, 599, 600, 601, 602, 824, - 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, - 614, 615, 616, 617, 625, 0, 0, 0, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 0, 255, 256, 257, 258, 259, 0, 261, 262, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 272, 273, 274, 0, 275, 276, 277, 278, + 279, 0, 0, 0, 281, 282, 283, 284, 285, 286, + 0, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 0, 299, 300, 301, 0, 0, 0, + 0, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 326, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 341, 342, 343, 344, 345, 346, 0, 347, 0, 348, + 349, 350, 351, 352, 0, 353, 0, 354, 355, 0, + 0, 0, 358, 359, 360, 361, 0, 362, 363, 0, + 364, 0, 366, 0, 367, 368, 369, 370, 371, 0, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 0, 387, 388, 389, 390, + 391, 392, 393, 0, 394, 0, 395, 0, 0, 398, + 0, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 419, 0, 421, 0, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, + 444, 445, 0, 447, 448, 449, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 0, 459, 460, 0, 462, + 0, 463, 464, 465, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 477, 0, 479, 0, 481, 482, 483, 484, 485, 486, + 487, 488, 0, 490, 491, 492, 0, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 0, 512, 513, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 0, 534, 535, 536, 537, 538, 539, 0, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 557, 558, 559, 0, + 561, 562, 563, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 580, 581, 0, 582, 583, 0, 0, 584, 0, 586, + 587, 588, 589, 590, 591, 0, 592, 593, 594, 0, + 0, 595, 596, 597, 598, 599, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 619, 620, 0, 621, 0, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 646, 647, 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, - 242, 0, 243, 244, 245, 0, 0, 0, 0, 0, - 0, 0, 246, 247, 248, 0, 249, 250, 251, 252, - 0, 254, 255, 256, 257, 258, 0, 260, 261, 0, - 262, 263, 264, 265, 266, 267, 268, 0, 0, 269, - 270, 271, 272, 273, 0, 274, 275, 276, 277, 278, - 0, 0, 0, 280, 281, 282, 283, 284, 285, 0, - 287, 288, 289, 0, 290, 291, 292, 293, 294, 295, - 0, 0, 297, 298, 299, 0, 0, 0, 0, 0, - 0, 0, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 0, 310, 0, 311, 312, 313, 314, 315, 316, - 317, 0, 318, 319, 320, 321, 0, 0, 322, 323, - 324, 325, 326, 0, 327, 328, 329, 0, 330, 331, - 332, 0, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 0, 343, 0, 344, 345, 346, 347, 348, - 0, 349, 0, 350, 0, 0, 0, 353, 354, 355, - 356, 0, 357, 358, 0, 359, 360, 361, 0, 362, - 363, 364, 365, 3511, 0, 368, 369, 370, 371, 0, - 372, 373, 374, 375, 376, 377, 378, 0, 379, 0, - 381, 382, 383, 384, 385, 386, 387, 0, 388, 0, - 389, 0, 0, 392, 0, 394, 395, 396, 397, 398, - 0, 0, 399, 400, 0, 402, 0, 0, 404, 405, - 406, 0, 0, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 0, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 0, 438, 439, 0, 441, 0, - 442, 443, 444, 445, 446, 447, 0, 448, 449, 0, - 0, 450, 451, 452, 0, 0, 453, 454, 455, 0, - 457, 0, 459, 460, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 0, 470, 471, 472, 473, 474, 475, - 476, 477, 0, 478, 479, 480, 481, 482, 483, 484, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 2733, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 2734, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 2736, 478, 479, 480, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 2737, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 2738, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 877, 260, 878, 879, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 880, 881, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 882, 883, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 885, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 886, 887, 0, + 888, 0, 395, 396, 397, 398, 399, 889, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 890, 446, 891, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 2817, 0, 464, 892, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 893, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 2737, 558, 559, 560, 561, 562, 895, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, + 583, 0, 4636, 584, 585, 586, 587, 588, 589, 590, + 591, 0, 592, 896, 897, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 898, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 876, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, + 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 371, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 2897, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, - 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, - 504, 505, 0, 506, 507, 0, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 0, 524, 525, 526, 527, 528, 0, 529, 530, - 531, 532, 533, 0, 535, 536, 537, 538, 0, 539, - 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 0, 556, 0, - 558, 559, 560, 561, 562, 0, 563, 564, 565, 0, - 0, 566, 567, 568, 569, 570, 0, 571, 572, 573, - 574, 575, 576, 577, 578, 0, 0, 579, 580, 581, - 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, - 590, 0, 591, 0, 593, 594, 595, 596, 0, 0, - 597, 0, 0, 598, 599, 600, 601, 602, 603, 604, - 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, - 615, 616, 617, 625, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 360, 361, 0, 362, 363, - 364, 365, 3525, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 894, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 876, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 0, 877, 260, 878, 879, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 880, 881, 274, 0, 275, 276, 277, 278, 0, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 882, 883, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 0, 342, + 343, 344, 345, 0, 0, 347, 0, 348, 349, 350, + 885, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 0, 0, 0, 365, + 366, 0, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 0, 388, 389, 390, 391, 886, + 887, 0, 888, 0, 395, 396, 397, 398, 399, 889, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 0, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 0, 437, 438, 439, 440, 441, 442, 443, 444, 890, + 446, 891, 448, 449, 450, 451, 452, 453, 454, 455, + 4431, 0, 458, 0, 459, 460, 461, 462, 0, 0, + 464, 892, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 0, 478, + 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 0, 497, + 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 893, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 0, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 894, 558, 559, 560, 561, 562, + 895, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 0, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 896, 897, 0, 0, 595, + 596, 0, 598, 0, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 0, 898, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 876, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 646, 647, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 0, + 877, 260, 878, 879, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 880, 881, 274, 0, + 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 0, 0, 0, 302, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 882, 883, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 0, 342, 343, 344, 345, 0, + 0, 347, 0, 348, 349, 350, 885, 352, 6031, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 0, 0, 0, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 0, 388, 389, 390, 391, 886, 887, 0, 888, 0, + 395, 396, 397, 398, 399, 889, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 0, 420, 421, 422, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 0, 437, 438, 439, + 440, 441, 442, 443, 444, 890, 446, 891, 448, 449, + 450, 451, 452, 453, 454, 455, 0, 0, 458, 0, + 459, 460, 461, 462, 0, 0, 464, 892, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 0, 478, 479, 480, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 893, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 894, 558, 559, 560, 561, 562, 895, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 896, 897, 0, 0, 595, 596, 0, 598, 0, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 0, 898, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 876, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 646, 647, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 6387, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 0, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 0, 478, 479, 480, 0, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 894, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 877, 260, 878, 879, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 880, 881, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 882, 883, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 884, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 885, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 886, 887, 0, + 888, 0, 395, 396, 397, 398, 399, 889, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 890, 446, 891, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 0, 0, 464, 892, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 893, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 894, 558, 559, 560, 561, 562, 895, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 625, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 0, 254, - 255, 256, 257, 258, 0, 260, 261, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 271, - 272, 273, 0, 274, 275, 276, 277, 278, 0, 0, - 0, 280, 281, 282, 283, 284, 285, 0, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 0, - 297, 298, 299, 0, 0, 0, 0, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 324, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 0, 343, 0, 344, 345, 346, 347, 348, 0, 349, - 0, 350, 0, 0, 0, 353, 354, 355, 356, 0, - 357, 358, 0, 359, 360, 361, 0, 362, 363, 364, - 365, 3527, 0, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 0, 381, 382, - 383, 384, 385, 386, 387, 0, 388, 0, 389, 0, - 0, 392, 0, 394, 395, 396, 397, 398, 0, 0, - 399, 400, 0, 402, 0, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 0, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 0, 438, 439, 0, 441, 0, 442, 443, - 444, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 455, 0, 457, 0, - 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 472, 473, 474, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, + 591, 0, 592, 896, 897, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 898, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 876, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647, + 0, 0, 0, 0, 0, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 244, 245, 246, 0, 0, + 0, 0, 0, 0, 0, 247, 248, 249, 0, 250, + 251, 252, 253, 254, 255, 256, 257, 0, 877, 260, + 878, 879, 0, 263, 264, 265, 266, 267, 268, 269, + 0, 0, 270, 271, 880, 881, 274, 0, 275, 276, + 277, 278, 0, 0, 280, 0, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 0, 292, 293, + 294, 295, 296, 297, 0, 298, 299, 300, 301, 0, + 0, 0, 302, 0, 0, 0, 303, 304, 305, 306, + 307, 308, 882, 883, 311, 0, 312, 0, 313, 314, + 315, 316, 317, 318, 319, 0, 320, 321, 322, 323, + 0, 0, 324, 325, 884, 327, 328, 0, 329, 330, + 331, 332, 0, 333, 334, 335, 336, 0, 337, 338, + 339, 340, 0, 342, 343, 344, 345, 0, 0, 347, + 0, 348, 349, 350, 885, 352, 0, 353, 0, 354, + 355, 356, 0, 357, 358, 359, 360, 361, 0, 362, + 0, 0, 0, 365, 366, 0, 367, 368, 369, 370, + 1152, 372, 373, 374, 375, 376, 0, 377, 378, 379, + 380, 381, 382, 383, 384, 0, 385, 386, 0, 388, + 389, 390, 391, 886, 887, 0, 888, 0, 395, 396, + 397, 398, 399, 889, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 411, 412, 413, 414, 415, 416, + 417, 0, 0, 418, 0, 420, 421, 422, 0, 423, + 424, 425, 0, 0, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 0, 437, 438, 439, 440, 441, + 442, 443, 444, 890, 446, 891, 448, 449, 450, 451, + 452, 453, 454, 455, 0, 0, 458, 0, 459, 460, + 461, 462, 0, 0, 464, 892, 466, 467, 468, 0, + 469, 470, 471, 0, 0, 472, 473, 474, 0, 0, + 475, 476, 0, 478, 479, 480, 0, 482, 483, 484, + 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, + 494, 495, 0, 497, 0, 499, 500, 501, 0, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 893, 514, 515, 516, 517, 0, 518, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 529, 530, 0, + 531, 532, 533, 534, 535, 536, 537, 538, 0, 540, + 541, 542, 543, 544, 545, 546, 547, 548, 549, 0, + 550, 551, 552, 553, 554, 0, 555, 556, 894, 558, + 559, 560, 561, 562, 895, 564, 0, 565, 566, 567, + 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, + 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, + 585, 586, 587, 588, 589, 590, 591, 0, 592, 896, + 897, 0, 0, 595, 596, 0, 598, 0, 0, 600, + 601, 602, 603, 604, 605, 606, 607, 608, 0, 0, + 609, 610, 611, 612, 613, 0, 0, 614, 615, 616, + 617, 618, 0, 898, 0, 621, 622, 623, 624, 625, + 626, 0, 0, 627, 0, 0, 628, 629, 630, 631, + 632, 633, 876, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 646, 647, 0, 0, 0, 0, + 0, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 244, 245, 246, 0, 0, 0, 0, 0, 0, + 0, 247, 248, 249, 0, 250, 251, 252, 253, 254, + 255, 256, 257, 0, 877, 260, 878, 879, 0, 263, + 264, 265, 266, 267, 268, 269, 0, 0, 270, 271, + 880, 881, 274, 0, 275, 276, 277, 278, 0, 0, + 280, 0, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 0, 292, 293, 294, 295, 296, 297, + 0, 298, 299, 300, 301, 0, 0, 0, 302, 0, + 0, 0, 303, 304, 305, 306, 307, 308, 882, 883, + 311, 0, 312, 0, 313, 314, 315, 316, 317, 318, + 319, 0, 320, 321, 322, 323, 0, 0, 324, 325, + 884, 327, 328, 0, 329, 330, 331, 332, 0, 333, + 334, 335, 336, 0, 337, 338, 339, 340, 0, 342, + 343, 344, 345, 0, 0, 347, 0, 348, 349, 350, + 885, 352, 0, 353, 0, 354, 355, 356, 0, 357, + 358, 359, 360, 361, 0, 362, 0, 0, 0, 365, + 366, 0, 367, 368, 369, 370, 1184, 372, 373, 374, + 375, 376, 0, 377, 378, 379, 380, 381, 382, 383, + 384, 0, 385, 386, 0, 388, 389, 390, 391, 886, + 887, 0, 888, 0, 395, 396, 397, 398, 399, 889, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 411, 412, 413, 414, 415, 416, 417, 0, 0, 418, + 0, 420, 421, 422, 0, 423, 424, 425, 0, 0, + 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, + 0, 437, 438, 439, 440, 441, 442, 443, 444, 890, + 446, 891, 448, 449, 450, 451, 452, 453, 454, 455, + 0, 0, 458, 0, 459, 460, 461, 462, 0, 0, + 464, 892, 466, 467, 468, 0, 469, 470, 471, 0, + 0, 472, 473, 474, 0, 0, 475, 476, 0, 478, + 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 0, 493, 494, 495, 0, 497, + 0, 499, 500, 501, 0, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 893, 514, 515, 516, + 517, 0, 518, 519, 520, 521, 522, 523, 524, 525, + 526, 527, 528, 529, 530, 0, 531, 532, 533, 534, + 535, 536, 537, 538, 0, 540, 541, 542, 543, 544, + 545, 546, 547, 548, 549, 0, 550, 551, 552, 553, + 554, 0, 555, 556, 894, 558, 559, 560, 561, 562, + 895, 564, 0, 565, 566, 567, 568, 569, 570, 571, + 572, 573, 574, 575, 576, 577, 578, 579, 0, 581, + 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, + 589, 590, 591, 0, 592, 896, 897, 0, 0, 595, + 596, 0, 598, 0, 0, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 0, 0, 609, 610, 611, 612, + 613, 0, 0, 614, 615, 616, 617, 618, 0, 898, + 0, 621, 622, 623, 624, 625, 626, 0, 0, 627, + 0, 0, 628, 629, 630, 631, 632, 633, 876, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 645, + 646, 647, 0, 0, 0, 0, 0, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 0, 244, 245, 246, + 0, 0, 0, 0, 0, 0, 0, 247, 248, 249, + 0, 250, 251, 252, 253, 254, 255, 256, 257, 0, + 877, 260, 878, 879, 0, 263, 264, 265, 266, 267, + 268, 269, 0, 0, 270, 271, 880, 881, 274, 0, + 275, 276, 277, 278, 0, 0, 280, 0, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 0, + 292, 293, 294, 295, 296, 297, 0, 298, 299, 300, + 301, 0, 0, 0, 302, 0, 0, 0, 303, 304, + 305, 306, 307, 308, 882, 883, 311, 0, 312, 0, + 313, 314, 315, 316, 317, 318, 319, 0, 320, 321, + 322, 323, 0, 0, 324, 325, 884, 327, 328, 0, + 329, 330, 331, 332, 0, 333, 334, 335, 336, 0, + 337, 338, 339, 340, 0, 342, 343, 344, 345, 0, + 0, 347, 0, 348, 349, 350, 885, 352, 0, 353, + 0, 354, 355, 356, 0, 357, 358, 359, 360, 361, + 0, 362, 0, 0, 0, 365, 366, 0, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 0, 377, + 378, 379, 380, 381, 382, 383, 384, 0, 385, 386, + 0, 388, 389, 390, 391, 886, 887, 0, 888, 0, + 395, 396, 397, 398, 399, 889, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 411, 412, 413, 414, + 415, 416, 417, 0, 0, 418, 0, 420, 421, 422, + 0, 423, 424, 425, 0, 0, 426, 427, 428, 429, + 430, 431, 432, 433, 434, 435, 0, 437, 438, 439, + 440, 441, 442, 443, 444, 890, 446, 891, 448, 449, + 450, 451, 452, 453, 454, 455, 0, 0, 458, 0, + 459, 460, 461, 462, 0, 0, 464, 892, 466, 467, + 468, 0, 469, 470, 471, 0, 0, 472, 473, 474, + 0, 0, 475, 476, 0, 478, 479, 480, 0, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, + 0, 493, 494, 495, 0, 497, 0, 499, 500, 501, + 0, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, 893, 514, 515, 516, 517, 0, 518, 519, + 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, + 530, 0, 531, 532, 533, 534, 535, 536, 537, 538, + 0, 540, 541, 542, 543, 544, 545, 546, 547, 548, + 549, 0, 550, 551, 552, 553, 554, 0, 555, 556, + 2737, 558, 559, 560, 561, 562, 895, 564, 0, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, + 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, + 0, 584, 585, 586, 587, 588, 589, 590, 591, 0, + 592, 896, 897, 0, 0, 595, 596, 0, 598, 0, + 0, 600, 601, 602, 603, 604, 605, 606, 607, 608, + 0, 0, 609, 610, 611, 612, 613, 0, 0, 614, + 615, 616, 617, 618, 0, 898, 0, 621, 622, 623, + 624, 625, 626, 0, 0, 627, 0, 0, 628, 629, + 630, 631, 632, 633, 876, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 646, 647, 0, 0, + 0, 0, 0, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 244, 245, 246, 0, 0, 0, 0, + 0, 0, 0, 247, 248, 249, 0, 250, 251, 252, + 253, 254, 255, 256, 257, 0, 877, 260, 878, 879, + 0, 263, 264, 265, 266, 267, 268, 269, 0, 0, + 270, 271, 880, 881, 274, 0, 275, 276, 277, 278, + 0, 0, 280, 0, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 0, 292, 293, 294, 295, + 296, 297, 0, 298, 299, 300, 301, 0, 0, 0, + 302, 0, 0, 0, 303, 304, 305, 306, 307, 308, + 882, 883, 311, 0, 312, 0, 313, 314, 315, 316, + 317, 318, 319, 0, 320, 321, 322, 323, 0, 0, + 324, 325, 884, 327, 328, 0, 329, 330, 331, 332, + 0, 333, 334, 335, 336, 0, 337, 338, 339, 340, + 0, 342, 343, 344, 345, 0, 0, 347, 0, 348, + 349, 350, 885, 352, 0, 353, 0, 354, 355, 356, + 0, 357, 358, 359, 360, 361, 0, 362, 0, 0, + 0, 365, 366, 0, 367, 368, 369, 370, 371, 372, + 373, 374, 375, 376, 0, 377, 378, 379, 380, 381, + 382, 383, 384, 0, 385, 386, 0, 388, 389, 390, + 391, 886, 887, 0, 888, 0, 395, 396, 397, 398, + 399, 889, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 411, 412, 413, 414, 415, 416, 417, 0, + 0, 418, 0, 420, 421, 422, 0, 423, 424, 425, + 0, 0, 426, 427, 428, 429, 430, 431, 432, 433, + 434, 435, 0, 437, 438, 439, 440, 441, 442, 443, + 444, 890, 446, 891, 448, 449, 450, 451, 452, 453, + 454, 455, 0, 0, 458, 0, 459, 460, 461, 462, + 0, 0, 464, 892, 466, 467, 468, 0, 469, 470, + 471, 0, 0, 472, 473, 474, 0, 0, 475, 476, + 0, 478, 479, 480, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 0, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 531, 532, - 533, 0, 535, 536, 537, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 0, 556, 0, 558, 559, - 560, 561, 562, 0, 563, 564, 565, 0, 0, 566, - 567, 568, 569, 570, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 589, 590, 0, - 591, 0, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, - 617, 625, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 235, 236, 237, 238, 239, 240, 241, 242, 0, 243, - 244, 245, 0, 0, 0, 0, 0, 0, 0, 246, - 247, 248, 0, 249, 250, 251, 252, 0, 254, 255, - 256, 257, 258, 0, 260, 261, 0, 262, 263, 264, - 265, 266, 267, 268, 0, 0, 269, 270, 271, 272, - 273, 0, 274, 275, 276, 277, 278, 0, 0, 0, - 280, 281, 282, 283, 284, 285, 0, 287, 288, 289, - 0, 290, 291, 292, 293, 294, 295, 0, 0, 297, - 298, 299, 0, 0, 0, 0, 0, 0, 0, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 0, 310, - 0, 311, 312, 313, 314, 315, 316, 317, 0, 318, - 319, 320, 321, 0, 0, 322, 323, 324, 325, 326, - 0, 327, 328, 329, 0, 330, 331, 332, 0, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, - 343, 0, 344, 345, 346, 347, 348, 0, 349, 0, - 350, 0, 0, 0, 353, 354, 355, 356, 0, 357, - 358, 0, 359, 360, 361, 0, 362, 363, 364, 365, - 3675, 0, 368, 369, 370, 371, 0, 372, 373, 374, - 375, 376, 377, 378, 0, 379, 0, 381, 382, 383, - 384, 385, 386, 387, 0, 388, 0, 389, 0, 0, - 392, 0, 394, 395, 396, 397, 398, 0, 0, 399, - 400, 0, 402, 0, 0, 404, 405, 406, 0, 0, - 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, 422, 423, 424, 425, 0, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, - 437, 0, 438, 439, 0, 441, 0, 442, 443, 444, - 445, 446, 447, 0, 448, 449, 0, 0, 450, 451, - 452, 0, 0, 453, 454, 455, 0, 457, 0, 459, - 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 0, 470, 471, 472, 473, 474, 475, 476, 477, 0, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 489, 490, 491, 492, 0, 493, 494, 495, 496, - 497, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 506, 507, 0, 509, 510, 511, 512, 513, 514, 515, - 516, 517, 518, 519, 520, 521, 522, 523, 0, 524, - 525, 526, 527, 528, 0, 529, 530, 531, 532, 533, - 0, 535, 536, 537, 538, 0, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 0, 554, 555, 0, 556, 0, 558, 559, 560, - 561, 562, 0, 563, 564, 565, 0, 0, 566, 567, - 568, 569, 570, 0, 571, 572, 573, 574, 575, 576, - 577, 578, 0, 0, 579, 580, 581, 582, 583, 0, - 0, 584, 585, 586, 587, 588, 589, 590, 0, 591, - 0, 593, 594, 595, 596, 0, 0, 597, 0, 0, - 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, - 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, - 625, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, - 236, 237, 238, 239, 240, 241, 242, 0, 243, 244, - 245, 0, 0, 0, 0, 0, 0, 0, 246, 247, - 248, 0, 249, 250, 251, 252, 0, 254, 255, 256, - 257, 258, 0, 260, 261, 0, 262, 263, 264, 265, - 266, 267, 268, 0, 0, 269, 270, 271, 272, 273, - 0, 274, 275, 276, 277, 278, 0, 0, 0, 280, - 281, 282, 283, 284, 285, 0, 287, 288, 289, 0, - 290, 291, 292, 293, 294, 295, 0, 0, 297, 298, - 299, 0, 0, 0, 0, 0, 0, 0, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 0, 310, 0, - 311, 312, 313, 314, 315, 316, 317, 0, 318, 319, - 320, 321, 0, 0, 322, 3715, 324, 325, 326, 0, - 327, 328, 329, 0, 330, 331, 332, 0, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 0, 343, - 0, 344, 345, 346, 347, 348, 0, 349, 0, 350, - 0, 0, 0, 353, 354, 355, 356, 0, 357, 358, - 0, 359, 360, 361, 0, 362, 363, 364, 365, 366, - 0, 368, 369, 370, 371, 0, 372, 373, 374, 375, - 376, 377, 378, 0, 379, 0, 381, 382, 383, 384, - 385, 386, 387, 0, 388, 0, 389, 0, 0, 392, - 0, 394, 395, 396, 397, 398, 0, 0, 399, 400, - 0, 402, 0, 0, 404, 405, 406, 0, 0, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - 418, 419, 420, 421, 422, 423, 424, 425, 0, 427, - 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, - 0, 438, 439, 0, 441, 0, 442, 443, 444, 445, - 446, 447, 0, 448, 449, 0, 0, 450, 451, 452, - 0, 0, 453, 454, 455, 0, 457, 0, 459, 460, - 461, 462, 463, 464, 465, 466, 467, 468, 469, 0, - 470, 471, 472, 473, 474, 475, 476, 477, 0, 478, - 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, 491, 492, 0, 493, 494, 495, 496, 497, - 498, 499, 500, 501, 502, 503, 504, 505, 0, 506, - 507, 0, 509, 510, 511, 512, 513, 514, 515, 516, - 517, 518, 519, 520, 521, 522, 523, 0, 524, 525, - 526, 527, 528, 0, 529, 530, 531, 532, 533, 0, - 535, 536, 537, 538, 0, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 0, 556, 0, 558, 559, 560, 561, - 562, 0, 563, 564, 565, 0, 0, 566, 567, 568, - 569, 570, 0, 571, 572, 573, 574, 575, 576, 577, - 578, 0, 0, 579, 580, 581, 582, 583, 0, 0, - 584, 585, 586, 587, 588, 589, 590, 0, 591, 0, - 593, 594, 595, 596, 0, 0, 597, 0, 0, 598, - 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, - 609, 610, 611, 612, 613, 614, 615, 616, 617, 625, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, - 237, 238, 239, 240, 241, 242, 0, 243, 244, 245, - 0, 0, 0, 0, 0, 0, 0, 246, 247, 248, - 0, 249, 250, 251, 252, 0, 254, 255, 256, 257, - 258, 0, 260, 261, 0, 262, 263, 264, 265, 266, - 267, 268, 0, 0, 269, 270, 271, 272, 273, 0, - 274, 275, 276, 277, 278, 0, 0, 0, 280, 281, - 282, 283, 284, 285, 0, 287, 288, 289, 0, 290, - 291, 292, 293, 294, 295, 0, 0, 297, 298, 299, - 0, 0, 0, 0, 0, 0, 0, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 0, 310, 0, 311, - 312, 313, 314, 315, 316, 317, 0, 318, 319, 320, - 321, 0, 0, 322, 323, 324, 325, 326, 0, 327, - 328, 329, 0, 330, 331, 332, 0, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 0, 343, 0, - 344, 345, 346, 347, 348, 0, 349, 0, 350, 0, - 0, 0, 353, 354, 355, 356, 0, 357, 358, 0, - 359, 360, 361, 0, 362, 363, 364, 365, 4906, 0, - 368, 369, 370, 371, 0, 372, 373, 374, 375, 376, - 377, 378, 0, 379, 0, 381, 382, 383, 384, 385, - 386, 387, 0, 388, 0, 389, 0, 0, 392, 0, - 394, 395, 396, 397, 398, 0, 0, 399, 400, 0, - 402, 0, 0, 404, 405, 406, 0, 0, 407, 408, - 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, - 419, 420, 421, 422, 423, 424, 425, 0, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 436, 437, 0, - 438, 439, 0, 441, 0, 442, 443, 444, 445, 446, - 447, 0, 448, 449, 0, 0, 450, 451, 452, 0, - 0, 453, 454, 455, 0, 457, 0, 459, 460, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 0, 470, - 471, 472, 473, 474, 475, 476, 477, 0, 478, 479, - 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, - 490, 491, 492, 0, 493, 494, 495, 496, 497, 498, - 499, 500, 501, 502, 503, 504, 505, 0, 506, 507, - 0, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 0, 524, 525, 526, - 527, 528, 0, 529, 530, 531, 532, 533, 0, 535, - 536, 537, 538, 0, 539, 540, 541, 542, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 0, 556, 0, 558, 559, 560, 561, 562, - 0, 563, 564, 565, 0, 0, 566, 567, 568, 569, - 570, 0, 571, 572, 573, 574, 575, 576, 577, 578, - 0, 0, 579, 580, 581, 582, 583, 0, 0, 584, - 585, 586, 587, 588, 589, 590, 0, 591, 0, 593, - 594, 595, 596, 0, 0, 597, 0, 0, 598, 599, - 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, - 610, 611, 612, 613, 614, 615, 616, 617, 852, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 235, 236, 237, - 238, 239, 240, 241, 242, 0, 243, 244, 245, 0, - 0, 0, 0, 0, 0, 0, 246, 247, 248, 0, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 853, - 259, 854, 855, 0, 262, 263, 264, 265, 266, 267, - 268, 0, 0, 269, 270, 856, 857, 273, 0, 274, - 275, 276, 277, 0, 0, 279, 0, 280, 281, 282, - 283, 284, 285, 286, 287, 288, 289, 0, 290, 291, - 292, 293, 294, 295, 0, 296, 297, 298, 299, 0, - 0, 0, 300, 0, 0, 0, 301, 302, 303, 304, - 305, 306, 858, 859, 309, 0, 310, 0, 311, 312, - 313, 314, 315, 316, 317, 0, 318, 319, 320, 321, - 0, 0, 322, 323, 860, 325, 326, 0, 327, 328, - 329, 0, 330, 331, 332, 0, 333, 334, 335, 336, - 0, 338, 339, 340, 341, 0, 0, 343, 0, 344, - 345, 346, 861, 348, 0, 349, 0, 350, 351, 0, - 352, 353, 354, 355, 356, 0, 357, 0, 0, 0, - 360, 361, 0, 362, 363, 364, 365, 366, 367, 368, - 369, 370, 371, 2638, 372, 373, 374, 375, 376, 377, - 378, 0, 379, 380, 2639, 382, 383, 384, 385, 862, - 863, 0, 864, 0, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 0, 0, 399, 0, 401, 402, - 403, 0, 404, 405, 406, 0, 0, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, - 420, 421, 422, 423, 424, 865, 426, 866, 428, 429, - 430, 431, 432, 433, 434, 0, 0, 437, 0, 438, - 439, 440, 441, 0, 0, 443, 867, 445, 446, 447, - 0, 448, 449, 0, 0, 450, 451, 452, 0, 0, - 453, 454, 2641, 456, 457, 458, 0, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 0, 470, 471, - 0, 473, 0, 475, 476, 477, 0, 478, 479, 480, - 481, 482, 483, 484, 485, 486, 487, 868, 489, 490, - 491, 492, 0, 493, 494, 495, 496, 497, 498, 499, - 500, 501, 502, 503, 504, 505, 0, 506, 507, 508, - 509, 510, 511, 512, 513, 0, 515, 516, 517, 518, - 519, 520, 521, 522, 523, 0, 524, 525, 526, 527, - 528, 0, 529, 530, 2642, 532, 533, 534, 535, 536, - 870, 538, 0, 539, 540, 541, 542, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 0, 553, 0, 554, - 555, 0, 556, 557, 558, 559, 560, 561, 562, 0, - 563, 871, 872, 0, 0, 566, 567, 0, 569, 0, - 0, 571, 572, 573, 574, 575, 576, 577, 578, 0, - 0, 579, 580, 581, 582, 583, 0, 0, 584, 585, - 586, 587, 588, 0, 873, 2643, 591, 592, 593, 594, - 595, 596, 0, 0, 597, 0, 0, 598, 599, 600, - 601, 602, 603, 625, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 615, 616, 617, 0, 0, 0, - 0, 0, 235, 236, 237, 238, 239, 240, 241, 242, - 0, 243, 244, 245, 0, 0, 0, 0, 0, 0, - 0, 246, 247, 248, 0, 249, 250, 251, 252, 0, - 254, 255, 256, 257, 258, 0, 260, 261, 0, 262, - 263, 264, 265, 266, 267, 268, 0, 0, 269, 270, - 271, 272, 273, 0, 274, 275, 276, 277, 278, 0, - 0, 0, 280, 281, 282, 283, 284, 285, 0, 287, - 288, 289, 0, 290, 291, 292, 293, 294, 295, 0, - 0, 297, 298, 299, 0, 0, 0, 0, 0, 0, - 0, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 0, 310, 0, 311, 312, 313, 314, 315, 316, 317, - 0, 318, 319, 320, 321, 0, 0, 322, 323, 324, - 325, 326, 0, 327, 328, 329, 0, 330, 331, 332, - 0, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 0, 343, 0, 344, 345, 346, 347, 348, 0, - 349, 0, 350, 0, 0, 0, 353, 354, 355, 356, - 0, 357, 358, 0, 359, 0, 361, 0, 362, 363, - 364, 365, 366, 0, 368, 369, 370, 371, 0, 372, - 373, 374, 375, 376, 377, 378, 0, 379, 0, 381, - 382, 383, 384, 385, 386, 387, 0, 388, 0, 389, - 0, 0, 392, 0, 394, 395, 396, 397, 398, 0, - 0, 399, 400, 0, 402, 0, 0, 404, 405, 406, - 0, 0, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 0, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 0, 438, 439, 0, 441, 0, 442, - 443, 444, 445, 446, 447, 0, 448, 449, 0, 0, - 450, 451, 452, 0, 0, 453, 454, 455, 0, 457, - 0, 459, 460, 461, 462, 463, 464, 465, 466, 0, - 468, 469, 0, 470, 471, 472, 473, 474, 475, 476, - 477, 0, 478, 479, 480, 481, 482, 483, 484, 485, - 0, 487, 488, 489, 490, 491, 492, 0, 493, 494, - 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, - 505, 0, 506, 507, 0, 509, 510, 511, 512, 513, - 514, 0, 516, 517, 518, 519, 520, 521, 522, 523, - 0, 524, 525, 526, 527, 528, 0, 529, 530, 531, - 532, 533, 0, 535, 536, 537, 538, 0, 539, 540, - 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 0, 556, 0, 558, - 559, 560, 561, 562, 0, 563, 564, 565, 0, 0, - 566, 567, 568, 569, 570, 0, 571, 572, 573, 574, - 575, 576, 577, 578, 0, 0, 579, 580, 581, 582, + 0, 497, 0, 499, 500, 501, 0, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 893, 514, + 515, 516, 517, 0, 518, 519, 520, 521, 522, 523, + 524, 525, 526, 527, 528, 529, 530, 0, 531, 532, + 533, 534, 535, 536, 537, 538, 0, 540, 541, 542, + 543, 544, 545, 546, 547, 548, 549, 0, 550, 551, + 552, 553, 554, 0, 555, 556, 0, 558, 559, 560, + 561, 562, 895, 564, 0, 565, 566, 567, 568, 569, + 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, + 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, + 587, 588, 589, 590, 591, 0, 592, 896, 897, 0, + 0, 595, 596, 0, 598, 0, 0, 600, 601, 602, + 603, 604, 605, 606, 607, 608, 0, 0, 609, 610, + 611, 612, 613, 0, 0, 614, 615, 616, 617, 618, + 0, 898, 0, 621, 622, 623, 624, 625, 626, 0, + 0, 627, 0, 0, 628, 629, 630, 631, 632, 633, + 876, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 645, 646, 647, 0, 0, 0, 0, 0, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 244, + 245, 246, 0, 0, 0, 0, 0, 0, 0, 247, + 248, 249, 0, 250, 251, 252, 253, 254, 255, 256, + 257, 0, 0, 260, 0, 0, 0, 263, 264, 265, + 266, 267, 268, 269, 0, 0, 270, 271, 0, 0, + 274, 0, 275, 276, 277, 278, 0, 0, 280, 0, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 0, 292, 293, 294, 295, 296, 297, 0, 298, + 299, 300, 301, 0, 0, 0, 302, 0, 0, 0, + 303, 304, 305, 306, 307, 308, 0, 0, 311, 0, + 312, 0, 313, 314, 315, 316, 317, 318, 319, 0, + 320, 321, 322, 323, 0, 0, 324, 325, 326, 327, + 328, 0, 329, 330, 331, 332, 0, 333, 334, 335, + 336, 0, 337, 338, 339, 340, 0, 342, 343, 344, + 345, 0, 0, 347, 0, 348, 349, 350, 0, 352, + 0, 353, 0, 354, 355, 356, 0, 357, 358, 359, + 360, 361, 0, 362, 0, 0, 0, 365, 366, 0, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, + 0, 377, 378, 379, 380, 381, 382, 383, 384, 0, + 385, 386, 0, 388, 389, 390, 391, 0, 0, 0, + 0, 0, 395, 396, 397, 398, 399, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 411, 412, + 413, 414, 415, 416, 417, 0, 0, 418, 0, 420, + 421, 422, 0, 423, 424, 425, 0, 0, 426, 427, + 428, 429, 430, 431, 432, 433, 434, 435, 0, 437, + 438, 439, 440, 441, 442, 443, 444, 0, 446, 0, + 448, 449, 450, 451, 452, 453, 454, 455, 0, 0, + 458, 0, 459, 460, 461, 462, 0, 0, 464, 0, + 466, 467, 468, 0, 469, 470, 471, 0, 0, 472, + 473, 474, 0, 0, 475, 476, 0, 478, 479, 480, + 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, + 491, 492, 0, 493, 494, 495, 0, 497, 0, 499, + 500, 501, 0, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 0, 514, 515, 516, 517, 0, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 0, 531, 532, 533, 534, 535, 536, + 537, 538, 0, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 0, 550, 551, 552, 553, 554, 0, + 555, 556, 0, 558, 559, 560, 561, 562, 0, 564, + 0, 565, 566, 567, 568, 569, 570, 571, 572, 573, + 574, 575, 576, 577, 578, 579, 0, 581, 0, 582, 583, 0, 0, 584, 585, 586, 587, 588, 589, 590, - 0, 591, 0, 593, 594, 595, 596, 0, 0, 597, - 0, 0, 598, 599, 600, 601, 602, 603, 604, 605, - 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, - 616, 617, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 856, - 857, 273, 0, 274, 275, 276, 277, 0, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 0, 343, 0, 344, 345, 346, 861, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 0, 0, 0, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 0, 864, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 0, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 0, - 0, 437, 0, 438, 439, 440, 441, 2725, 0, 443, - 867, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 0, 473, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 2642, 532, - 533, 534, 535, 536, 870, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 0, 554, 555, 4452, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 871, 872, 0, 0, 566, - 567, 0, 569, 0, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 0, 873, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 852, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 853, 259, - 854, 855, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 856, 857, 273, 0, 274, 275, - 276, 277, 0, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 858, 859, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 860, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 0, - 338, 339, 340, 341, 0, 0, 343, 0, 344, 345, - 346, 861, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 0, 0, 0, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 0, 382, 383, 384, 385, 862, 863, - 0, 864, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 0, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 865, 426, 866, 428, 429, 430, - 431, 432, 433, 434, 2799, 0, 437, 0, 438, 439, - 440, 441, 0, 0, 443, 867, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 0, 456, 457, 458, 0, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 0, - 473, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 868, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 869, 532, 533, 534, 535, 536, 870, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 871, 872, 0, 0, 566, 567, 0, 569, 0, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 0, 873, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 615, 616, 617, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 856, - 857, 273, 0, 274, 275, 276, 277, 0, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 0, 343, 0, 344, 345, 346, 861, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 0, 0, 0, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 0, 864, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 0, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 4247, - 0, 437, 0, 438, 439, 440, 441, 0, 0, 443, - 867, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 0, 473, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 869, 532, - 533, 534, 535, 536, 870, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 871, 872, 0, 0, 566, - 567, 0, 569, 0, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 0, 873, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 852, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 853, 259, - 854, 855, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 856, 857, 273, 0, 274, 275, - 276, 277, 0, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 858, 859, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 860, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 0, - 338, 339, 340, 341, 0, 0, 343, 0, 344, 345, - 346, 861, 348, 5723, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 0, 0, 0, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 0, 382, 383, 384, 385, 862, 863, - 0, 864, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 0, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 865, 426, 866, 428, 429, 430, - 431, 432, 433, 434, 0, 0, 437, 0, 438, 439, - 440, 441, 0, 0, 443, 867, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 0, 456, 457, 458, 0, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 0, - 473, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 868, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 869, 532, 533, 534, 535, 536, 870, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 871, 872, 0, 0, 566, 567, 0, 569, 0, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 0, 873, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 615, 616, 617, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 856, - 857, 273, 0, 274, 275, 276, 277, 0, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 0, 343, 0, 344, 345, 346, 861, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 0, 0, 0, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 0, 864, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 0, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 0, - 0, 437, 0, 438, 439, 440, 441, 0, 0, 443, - 867, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 0, 473, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 869, 532, - 533, 534, 535, 536, 870, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 871, 872, 0, 0, 566, - 567, 0, 569, 0, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 0, 873, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 852, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 853, 259, - 854, 855, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 856, 857, 273, 0, 274, 275, - 276, 277, 0, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 858, 859, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 860, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 0, - 338, 339, 340, 341, 0, 0, 343, 0, 344, 345, - 346, 861, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 0, 0, 0, 360, - 361, 0, 362, 363, 364, 365, 1124, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 0, 382, 383, 384, 385, 862, 863, - 0, 864, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 0, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 865, 426, 866, 428, 429, 430, - 431, 432, 433, 434, 0, 0, 437, 0, 438, 439, - 440, 441, 0, 0, 443, 867, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 0, 456, 457, 458, 0, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 0, - 473, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 868, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 869, 532, 533, 534, 535, 536, 870, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 871, 872, 0, 0, 566, 567, 0, 569, 0, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 0, 873, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 615, 616, 617, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 856, - 857, 273, 0, 274, 275, 276, 277, 0, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 0, 343, 0, 344, 345, 346, 861, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 0, 0, 0, 360, 361, 0, 362, 363, 364, - 365, 1156, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 0, 864, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 0, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 0, - 0, 437, 0, 438, 439, 440, 441, 0, 0, 443, - 867, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 0, 473, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 869, 532, - 533, 534, 535, 536, 870, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 871, 872, 0, 0, 566, - 567, 0, 569, 0, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 0, 873, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 852, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 853, 259, - 854, 855, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 856, 857, 273, 0, 274, 275, - 276, 277, 0, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 858, 859, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 860, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 0, - 338, 339, 340, 341, 0, 0, 343, 0, 344, 345, - 346, 861, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 0, 0, 0, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 0, 382, 383, 384, 385, 862, 863, - 0, 864, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 0, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 865, 426, 866, 428, 429, 430, - 431, 432, 433, 434, 0, 0, 437, 0, 438, 439, - 440, 441, 0, 0, 443, 867, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 0, 456, 457, 458, 0, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 0, - 473, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 868, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 2642, 532, 533, 534, 535, 536, 870, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 871, 872, 0, 0, 566, 567, 0, 569, 0, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 0, 873, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 852, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 615, 616, 617, 0, 0, 0, 0, - 0, 235, 236, 237, 238, 239, 240, 241, 242, 0, - 243, 244, 245, 0, 0, 0, 0, 0, 0, 0, - 246, 247, 248, 0, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 853, 259, 854, 855, 0, 262, 263, - 264, 265, 266, 267, 268, 0, 0, 269, 270, 856, - 857, 273, 0, 274, 275, 276, 277, 0, 0, 279, - 0, 280, 281, 282, 283, 284, 285, 286, 287, 288, - 289, 0, 290, 291, 292, 293, 294, 295, 0, 296, - 297, 298, 299, 0, 0, 0, 300, 0, 0, 0, - 301, 302, 303, 304, 305, 306, 858, 859, 309, 0, - 310, 0, 311, 312, 313, 314, 315, 316, 317, 0, - 318, 319, 320, 321, 0, 0, 322, 323, 860, 325, - 326, 0, 327, 328, 329, 0, 330, 331, 332, 0, - 333, 334, 335, 336, 0, 338, 339, 340, 341, 0, - 0, 343, 0, 344, 345, 346, 861, 348, 0, 349, - 0, 350, 351, 0, 352, 353, 354, 355, 356, 0, - 357, 0, 0, 0, 360, 361, 0, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 0, 372, 373, - 374, 375, 376, 377, 378, 0, 379, 380, 0, 382, - 383, 384, 385, 862, 863, 0, 864, 0, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 0, 0, - 399, 0, 401, 402, 403, 0, 404, 405, 406, 0, - 0, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 865, - 426, 866, 428, 429, 430, 431, 432, 433, 434, 0, - 0, 437, 0, 438, 439, 440, 441, 0, 0, 443, - 867, 445, 446, 447, 0, 448, 449, 0, 0, 450, - 451, 452, 0, 0, 453, 454, 0, 456, 457, 458, - 0, 460, 461, 462, 463, 464, 465, 466, 467, 468, - 469, 0, 470, 471, 0, 473, 0, 475, 476, 477, - 0, 478, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 868, 489, 490, 491, 492, 0, 493, 494, 495, - 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, - 0, 506, 507, 508, 509, 510, 511, 512, 513, 0, - 515, 516, 517, 518, 519, 520, 521, 522, 523, 0, - 524, 525, 526, 527, 528, 0, 529, 530, 0, 532, - 533, 534, 535, 536, 870, 538, 0, 539, 540, 541, - 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 0, 553, 0, 554, 555, 0, 556, 557, 558, 559, - 560, 561, 562, 0, 563, 871, 872, 0, 0, 566, - 567, 0, 569, 0, 0, 571, 572, 573, 574, 575, - 576, 577, 578, 0, 0, 579, 580, 581, 582, 583, - 0, 0, 584, 585, 586, 587, 588, 0, 873, 0, - 591, 592, 593, 594, 595, 596, 0, 0, 597, 0, - 0, 598, 599, 600, 601, 602, 603, 852, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 615, 616, - 617, 0, 0, 0, 0, 0, 235, 236, 237, 238, - 239, 240, 241, 242, 0, 243, 244, 245, 0, 0, - 0, 0, 0, 0, 0, 246, 247, 248, 0, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 259, - 0, 0, 0, 262, 263, 264, 265, 266, 267, 268, - 0, 0, 269, 270, 0, 0, 273, 0, 274, 275, - 276, 277, 0, 0, 279, 0, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 0, 290, 291, 292, - 293, 294, 295, 0, 296, 297, 298, 299, 0, 0, - 0, 300, 0, 0, 0, 301, 302, 303, 304, 305, - 306, 0, 0, 309, 0, 310, 0, 311, 312, 313, - 314, 315, 316, 317, 0, 318, 319, 320, 321, 0, - 0, 322, 323, 324, 325, 326, 0, 327, 328, 329, - 0, 330, 331, 332, 0, 333, 334, 335, 336, 0, - 338, 339, 340, 341, 0, 0, 343, 0, 344, 345, - 346, 0, 348, 0, 349, 0, 350, 351, 0, 352, - 353, 354, 355, 356, 0, 357, 0, 0, 0, 360, - 361, 0, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 0, 372, 373, 374, 375, 376, 377, 378, - 0, 379, 380, 0, 382, 383, 384, 385, 0, 0, - 0, 0, 0, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 0, 0, 399, 0, 401, 402, 403, - 0, 404, 405, 406, 0, 0, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, 422, 423, 424, 0, 426, 0, 428, 429, 430, - 431, 432, 433, 434, 0, 0, 437, 0, 438, 439, - 440, 441, 0, 0, 443, 0, 445, 446, 447, 0, - 448, 449, 0, 0, 450, 451, 452, 0, 0, 453, - 454, 0, 456, 457, 458, 0, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 0, 470, 471, 0, - 473, 0, 475, 476, 477, 0, 478, 479, 480, 481, - 482, 483, 484, 485, 486, 487, 0, 489, 490, 491, - 492, 0, 493, 494, 495, 496, 497, 498, 499, 500, - 501, 502, 503, 504, 505, 0, 506, 507, 508, 509, - 510, 511, 512, 513, 0, 515, 516, 517, 518, 519, - 520, 521, 522, 523, 0, 524, 525, 526, 527, 528, - 0, 529, 530, 0, 532, 533, 534, 535, 536, 0, - 538, 0, 539, 540, 541, 542, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 0, 553, 0, 554, 555, - 0, 556, 557, 558, 559, 560, 561, 562, 0, 563, - 0, 0, 0, 0, 566, 567, 0, 569, 0, 0, - 571, 572, 573, 574, 575, 576, 577, 578, 0, 0, - 579, 580, 581, 582, 583, 0, 0, 584, 585, 586, - 587, 588, 0, 0, 0, 591, 592, 593, 594, 595, - 596, 0, 0, 597, 0, 0, 598, 599, 600, 601, - 602, 603, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 615, 616, 617 + 591, 0, 592, 0, 0, 0, 0, 595, 596, 0, + 598, 0, 0, 600, 601, 602, 603, 604, 605, 606, + 607, 608, 0, 0, 609, 610, 611, 612, 613, 0, + 0, 614, 615, 616, 617, 618, 0, 0, 0, 621, + 622, 623, 624, 625, 626, 0, 0, 627, 0, 0, + 628, 629, 630, 631, 632, 633, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 645, 646, 647 }; static const yytype_int16 yycheck[] = { - 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 211, 0, 206, 0, 984, 0, 0, 0, - 951, 0, 214, 21, 0, 217, 0, 21, 0, 211, - 1012, 189, 913, 653, 816, 36, 766, 767, 768, 1020, - 1136, 45, 772, 1001, 8, 51, 1613, 813, 1458, 1486, - 907, 15, 909, 2682, 887, 1014, 869, 1532, 985, 22, - 632, 1197, 840, 1010, 1016, 28, 1548, 197, 685, 1525, - 858, 859, 2624, 1086, 726, 1240, 2625, 1228, 792, 867, - 839, 823, 3303, 2974, 3305, 3148, 1852, 3001, 3039, 1020, - 730, 3125, 925, 872, 1537, 1532, 3394, 3789, 3838, 6, - 3595, 1982, 1060, 3488, 2000, 3515, 1064, 1681, 216, 4100, - 708, 1069, 23, 685, 950, 1525, 1578, 1579, 4190, 2893, - 1582, 1079, 230, 3741, 722, 36, 4147, 634, 4143, 3541, - 3354, 3543, 3404, 2986, 1092, 3805, 2046, 3816, 2048, 975, - 4626, 3348, 1415, 721, 980, 731, 2, 191, 44, 4440, - 4423, 5089, 4428, 1515, 4225, 4944, 3368, 1923, 706, 5216, - 732, 709, 4385, 35, 175, 1123, 1648, 1649, 4936, 2022, - 42, 50, 4887, 984, 4724, 41, 4642, 936, 4644, 191, - 2611, 2541, 993, 2500, 2609, 2646, 2647, 3260, 2505, 5264, - 5131, 197, 1003, 4691, 3414, 3402, 3803, 2871, 4122, 1642, - 206, 207, 819, 1125, 4427, 5492, 910, 1075, 214, 1131, - 216, 217, 910, 1575, 1498, 5252, 6, 934, 790, 1141, - 4935, 4567, 1090, 1145, 230, 13, 1669, 1149, 2588, 1151, - 1592, 0, 5173, 11, 6, 1157, 3353, 0, 3355, 0, - 55, 1163, 6, 0, 1166, 79, 95, 819, 12, 5180, - 5181, 15, 16, 5476, 13, 6, 48, 64, 975, 39, - 6, 12, 120, 980, 30, 1024, 12, 856, 857, 15, - 16, 37, 844, 15, 6, 6, 6, 866, 11, 64, - 12, 12, 12, 6, 0, 2939, 147, 2941, 2942, 12, - 120, 174, 2946, 2947, 2948, 11, 2950, 2951, 2952, 36, - 174, 0, 175, 92, 6, 0, 6, 125, 2982, 191, - 12, 181, 12, 181, 30, 64, 11, 64, 86, 169, - 26, 6, 21, 44, 1054, 64, 13, 12, 6, 225, - 15, 16, 904, 174, 12, 30, 6, 44, 6, 64, - 6, 33, 12, 5737, 12, 4417, 12, 6, 120, 73, - 64, 113, 122, 186, 288, 120, 153, 56, 5, 46, - 5, 174, 5205, 175, 11, 174, 11, 30, 92, 1831, - 4441, 4515, 4516, 4517, 37, 4519, 4520, 4521, 4522, 4523, - 174, 4931, 283, 64, 283, 1099, 6, 69, 5675, 283, - 323, 64, 79, 198, 212, 28, 92, 31, 5834, 274, - 280, 120, 174, 43, 198, 174, 360, 377, 309, 13, - 309, 174, 1359, 174, 1427, 309, 364, 174, 51, 1371, - 5811, 5812, 320, 378, 120, 335, 1357, 151, 377, 198, - 277, 1362, 1363, 251, 140, 198, 1076, 198, 26, 40, - 36, 198, 46, 5666, 302, 174, 30, 171, 1020, 269, - 5391, 418, 418, 166, 653, 30, 1415, 5494, 174, 343, - 124, 48, 37, 166, 81, 6003, 174, 1419, 120, 330, - 1258, 1259, 152, 463, 122, 79, 304, 405, 288, 174, - 4726, 3, 198, 5, 6, 5253, 461, 4733, 174, 11, - 12, 1279, 191, 30, 484, 92, 308, 13, 174, 348, - 360, 174, 1216, 198, 703, 81, 73, 81, 273, 484, - 1289, 13, 502, 441, 24, 343, 92, 169, 92, 24, - 200, 52, 420, 343, 81, 228, 492, 5814, 6066, 130, - 46, 506, 392, 81, 418, 81, 506, 384, 504, 506, - 846, 81, 349, 651, 454, 1143, 81, 502, 502, 657, - 1309, 264, 140, 1478, 502, 219, 196, 506, 154, 278, - 5996, 669, 442, 79, 349, 440, 464, 226, 502, 502, - 2582, 383, 1503, 125, 222, 1527, 154, 273, 1337, 213, - 213, 125, 1513, 380, 151, 5976, 10, 269, 125, 13, - 448, 1177, 136, 17, 18, 19, 5439, 321, 120, 364, - 349, 502, 349, 502, 171, 418, 1204, 4225, 502, 418, - 349, 5077, 374, 446, 6008, 5902, 1233, 1215, 142, 127, - 502, 387, 440, 506, 349, 273, 632, 125, 1416, 502, - 5213, 1229, 506, 4251, 423, 349, 506, 5674, 506, 638, - 638, 502, 638, 638, 502, 651, 418, 638, 153, 638, - 1608, 657, 502, 1611, 346, 447, 33, 506, 1247, 1248, - 212, 1233, 492, 669, 432, 506, 500, 461, 349, 1600, - 504, 377, 1603, 1604, 444, 212, 24, 5900, 5024, 685, - 5611, 418, 403, 331, 690, 1274, 732, 502, 5975, 695, - 1501, 364, 1619, 699, 700, 217, 403, 1679, 1680, 506, - 706, 506, 708, 709, 4396, 493, 494, 495, 496, 497, - 498, 435, 502, 1997, 1582, 721, 722, 239, 5486, 451, - 492, 506, 502, 501, 387, 736, 732, 1563, 1380, 313, - 1677, 6018, 504, 731, 440, 245, 505, 1354, 502, 498, - 4150, 1445, 505, 5818, 505, 4437, 4670, 1445, 505, 500, - 492, 502, 1563, 504, 321, 913, 502, 506, 500, 506, - 493, 494, 504, 4258, 1632, 1633, 4436, 506, 5805, 4264, - 502, 502, 502, 502, 394, 395, 5833, 493, 494, 502, - 453, 506, 1354, 746, 790, 748, 1599, 750, 372, 505, - 1362, 1363, 506, 756, 502, 463, 760, 463, 493, 494, - 502, 418, 502, 1392, 1393, 1686, 1523, 813, 814, 5750, - 505, 498, 387, 819, 461, 1951, 484, 502, 484, 350, - 506, 418, 5763, 4441, 502, 506, 410, 26, 412, 1925, - 506, 418, 502, 370, 502, 1034, 502, 484, 844, 1031, - 846, 4065, 418, 1035, 418, 1037, 493, 494, 493, 494, - 22, 174, 1034, 4997, 1813, 360, 28, 901, 506, 1576, - 447, 418, 1958, 869, 1795, 1171, 290, 5904, 435, 4076, - 418, 5369, 418, 4080, 1970, 380, 1593, 3950, 418, 457, - 4487, 3915, 778, 418, 5673, 891, 3, 113, 440, 901, - 1815, 495, 496, 497, 498, 1025, 440, 245, 904, 409, - 114, 24, 5670, 440, 903, 903, 903, 903, 903, 903, - 903, 903, 903, 3490, 903, 4135, 903, 289, 903, 3, - 903, 903, 903, 3776, 903, 6, 113, 903, 438, 903, - 927, 903, 103, 457, 442, 5876, 4346, 5974, 5653, 638, - 5490, 140, 440, 3374, 840, 51, 169, 4064, 3373, 4066, - 1570, 817, 113, 463, 5669, 821, 3417, 3317, 3419, 218, - 4345, 3635, 3636, 64, 1832, 289, 3640, 125, 847, 346, - 309, 493, 494, 38, 91, 150, 1898, 493, 494, 495, - 496, 497, 498, 360, 1906, 362, 77, 153, 202, 3001, - 169, 1498, 502, 495, 496, 497, 498, 125, 6055, 5582, - 406, 6, 1308, 176, 5587, 5588, 1012, 1013, 1014, 26, - 64, 6, 183, 269, 1020, 32, 364, 89, 186, 1025, - 5243, 269, 918, 59, 1030, 1031, 5815, 144, 24, 1035, - 41, 1037, 731, 732, 65, 1041, 120, 933, 5806, 4251, - 174, 216, 73, 186, 55, 176, 423, 1999, 122, 1579, - 10, 1057, 1582, 5825, 212, 120, 120, 17, 18, 19, - 132, 409, 171, 202, 198, 3719, 490, 491, 492, 493, - 494, 495, 496, 497, 498, 190, 5147, 283, 5377, 120, - 1386, 294, 5548, 24, 212, 24, 5107, 4472, 3405, 461, - 438, 2043, 136, 129, 1100, 418, 1102, 1103, 269, 3773, - 111, 269, 6, 309, 24, 304, 6044, 113, 12, 294, - 4408, 175, 2071, 364, 89, 463, 294, 989, 990, 294, - 309, 5910, 245, 140, 292, 242, 269, 362, 115, 503, - 502, 1861, 506, 3, 748, 749, 750, 1143, 253, 753, - 754, 755, 466, 302, 343, 5917, 1452, 6, 222, 763, - 364, 5825, 325, 10, 502, 6093, 13, 132, 89, 290, - 17, 18, 19, 502, 5236, 1171, 345, 10, 212, 492, - 13, 328, 288, 3750, 17, 18, 19, 26, 377, 1177, - 406, 504, 5458, 24, 5973, 1967, 1968, 304, 423, 273, - 446, 405, 406, 36, 278, 286, 5985, 278, 1204, 273, - 211, 132, 901, 190, 903, 26, 1778, 1213, 239, 1215, - 274, 5484, 5488, 5504, 380, 269, 1180, 4957, 1182, 406, - 1184, 91, 1186, 1229, 1188, 1189, 1190, 1233, 4920, 294, - 6019, 1195, 480, 4147, 5457, 307, 2646, 377, 461, 1245, - 133, 364, 370, 5917, 415, 406, 445, 506, 349, 245, - 143, 502, 1108, 368, 4933, 6027, 4926, 331, 269, 434, - 6049, 302, 1308, 269, 5487, 396, 253, 406, 426, 256, - 1276, 2746, 2715, 278, 144, 4685, 1928, 24, 446, 24, - 3741, 2040, 440, 278, 6073, 5584, 409, 304, 502, 448, - 503, 140, 409, 506, 411, 349, 502, 1895, 1304, 1305, - 1306, 1831, 1308, 446, 245, 1957, 245, 2580, 185, 1961, - 1888, 1909, 440, 502, 1966, 438, 125, 1969, 135, 140, - 3, 506, 1328, 377, 1922, 245, 343, 24, 506, 370, - 290, 140, 307, 3345, 377, 29, 3348, 122, 168, 411, - 463, 198, 1920, 53, 1892, 502, 3199, 3200, 1354, 1935, - 2793, 3204, 5367, 6027, 2928, 366, 1362, 1363, 377, 1907, - 377, 5847, 1910, 220, 1375, 406, 506, 377, 364, 360, - 3831, 1570, 242, 2735, 278, 112, 307, 220, 442, 502, - 1386, 368, 3394, 636, 500, 1834, 1430, 1431, 504, 1433, - 3402, 418, 3245, 3246, 289, 303, 4668, 176, 92, 3309, - 2020, 5473, 249, 4627, 245, 1854, 115, 448, 91, 1415, - 5482, 304, 1960, 409, 224, 406, 1964, 1965, 1430, 1431, - 461, 1433, 99, 364, 4631, 364, 1432, 492, 150, 4636, - 1436, 1437, 4639, 290, 304, 500, 411, 502, 503, 504, - 183, 506, 438, 484, 364, 3, 1452, 290, 6, 30, - 343, 3018, 1458, 330, 12, 304, 273, 289, 320, 269, - 5532, 502, 145, 506, 345, 198, 4500, 463, 409, 339, - 409, 292, 4884, 343, 289, 728, 4510, 347, 1177, 506, - 411, 190, 176, 193, 361, 99, 316, 506, 198, 409, - 1997, 26, 479, 278, 343, 4409, 506, 438, 245, 438, - 245, 253, 4453, 180, 224, 119, 502, 377, 177, 318, - 26, 290, 114, 250, 236, 502, 32, 254, 438, 1525, - 2502, 204, 463, 364, 463, 235, 347, 348, 377, 5147, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 409, - 154, 411, 1241, 463, 253, 336, 225, 256, 245, 269, - 5571, 1447, 2504, 1449, 135, 808, 377, 115, 420, 461, - 1566, 502, 1261, 502, 1178, 420, 461, 1181, 409, 1183, - 380, 1185, 5242, 1187, 746, 5254, 748, 1191, 750, 355, - 461, 3037, 502, 5655, 756, 757, 758, 1584, 135, 695, - 137, 461, 1589, 1599, 5585, 303, 186, 438, 39, 154, - 202, 502, 464, 484, 506, 140, 120, 360, 154, 1308, - 343, 331, 355, 304, 347, 721, 368, 364, 2540, 364, - 61, 2580, 463, 3033, 140, 506, 163, 3037, 311, 461, - 440, 325, 190, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 4416, 157, 377, 122, 461, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 447, 326, 1664, 368, - 380, 502, 409, 732, 409, 441, 1663, 364, 362, 377, - 1667, 112, 382, 1679, 1680, 1681, 5428, 191, 5430, 269, - 4334, 124, 5434, 5435, 292, 4339, 377, 440, 30, 2670, - 359, 438, 1998, 438, 2000, 253, 304, 2829, 256, 236, - 2006, 1893, 122, 372, 1903, 1904, 2012, 2013, 2014, 163, - 4624, 30, 409, 33, 304, 169, 463, 2023, 463, 13, - 440, 790, 1904, 2029, 304, 339, 273, 421, 461, 423, - 5802, 1430, 1431, 427, 1433, 343, 4410, 5144, 407, 2670, - 60, 438, 1638, 4372, 100, 222, 5908, 5909, 285, 169, - 433, 484, 1882, 343, 5745, 502, 370, 502, 441, 273, - 201, 444, 364, 343, 4225, 84, 463, 26, 87, 304, - 479, 461, 1778, 32, 93, 844, 219, 2909, 88, 951, - 362, 5188, 236, 5475, 1790, 79, 206, 370, 304, 452, - 4251, 10, 406, 135, 13, 1801, 273, 377, 17, 18, - 19, 122, 121, 405, 406, 502, 303, 1813, 343, 250, - 368, 1817, 461, 254, 5493, 370, 506, 36, 2777, 175, - 303, 2020, 73, 406, 370, 452, 5898, 343, 269, 2642, - 1836, 285, 5502, 503, 448, 904, 506, 123, 1844, 502, - 2622, 423, 377, 458, 2803, 453, 1852, 461, 1020, 269, - 249, 406, 208, 273, 331, 165, 446, 506, 6020, 178, - 406, 377, 303, 0, 1870, 448, 5073, 223, 123, 120, - 484, 2839, 191, 1879, 273, 502, 1882, 233, 123, 1885, - 377, 140, 1888, 1889, 203, 206, 1892, 1893, 502, 1895, - 1896, 506, 5913, 448, 377, 1584, 5281, 442, 5970, 169, - 1589, 1907, 448, 1909, 1910, 261, 461, 348, 194, 386, - 180, 442, 2843, 1919, 1920, 461, 1922, 1923, 505, 502, - 2851, 479, 502, 2854, 1030, 347, 4989, 178, 198, 484, - 371, 461, 288, 10, 2745, 1041, 13, 1935, 484, 194, - 17, 18, 19, 2902, 5696, 179, 5686, 502, 269, 194, - 391, 1057, 273, 492, 1960, 377, 502, 502, 1964, 1965, - 163, 10, 39, 294, 13, 504, 3062, 94, 17, 18, - 19, 502, 506, 1937, 1663, 1939, 506, 1941, 1667, 1943, - 4441, 1945, 163, 1982, 1982, 1949, 1982, 1982, 169, 5668, - 1991, 1982, 1998, 1982, 2000, 4886, 4910, 5667, 354, 2005, - 2006, 220, 6023, 282, 3414, 239, 2012, 2013, 2014, 2968, - 137, 2017, 304, 2019, 3424, 2021, 2022, 2023, 2024, 2025, - 2026, 2889, 273, 2029, 175, 2031, 2032, 278, 2839, 2035, - 304, 420, 273, 236, 4925, 3931, 367, 278, 5101, 304, - 5103, 2922, 2923, 2924, 5456, 2051, 2052, 2053, 2054, 3505, - 36, 343, 4905, 3620, 5275, 236, 2892, 208, 423, 13, - 2819, 461, 503, 2069, 4076, 2071, 2877, 3232, 4080, 343, - 321, 290, 223, 347, 393, 464, 364, 396, 343, 1990, - 176, 1977, 233, 353, 484, 377, 337, 2817, 329, 2819, - 70, 71, 46, 304, 304, 3505, 3054, 5507, 2670, 323, - 2911, 335, 502, 377, 285, 393, 3872, 1213, 3961, 3962, - 3963, 3964, 377, 209, 3967, 3968, 3969, 3970, 3971, 3972, - 3973, 3974, 3975, 3976, 3698, 79, 170, 347, 5807, 3051, - 3704, 3593, 343, 343, 3056, 4147, 3058, 3005, 3006, 3007, - 3008, 348, 3010, 220, 5529, 2743, 3068, 112, 1576, 3071, - 304, 3073, 3074, 15, 16, 3077, 6, 377, 39, 3081, - 204, 3083, 12, 73, 3086, 1593, 377, 3035, 263, 79, - 377, 220, 4025, 4026, 92, 4056, 410, 3, 412, 5093, - 61, 3112, 92, 5481, 435, 1357, 360, 26, 362, 343, - 1362, 1363, 287, 5107, 4848, 331, 4850, 4851, 4852, 3642, - 4874, 27, 4876, 354, 438, 170, 2212, 500, 344, 248, - 120, 504, 122, 290, 370, 2867, 5437, 2869, 1390, 461, - 454, 2873, 5914, 377, 5903, 343, 454, 1399, 3150, 1401, - 179, 112, 100, 1405, 273, 343, 1935, 373, 418, 204, - 1412, 290, 484, 3408, 3687, 335, 2252, 150, 5743, 423, - 406, 335, 91, 2559, 367, 503, 81, 5291, 506, 377, - 163, 179, 442, 169, 3223, 91, 169, 92, 178, 377, - 3229, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 410, 371, 412, 1982, 202, 250, 192, 371, 304, 254, - 239, 302, 448, 463, 133, 169, 206, 178, 3028, 2305, - 249, 140, 49, 5, 143, 461, 6, 175, 410, 11, - 412, 169, 12, 216, 484, 463, 406, 19, 192, 145, - 201, 239, 406, 339, 226, 72, 979, 343, 484, 2028, - 3812, 1503, 502, 236, 192, 37, 484, 501, 5748, 5749, - 208, 1513, 506, 28, 461, 998, 502, 2987, 1001, 5570, - 5264, 81, 6081, 288, 6083, 223, 15, 16, 293, 370, - 6052, 377, 92, 273, 454, 233, 51, 484, 278, 250, - 454, 6, 198, 254, 6103, 293, 497, 12, 204, 3310, - 502, 502, 285, 504, 5393, 1557, 1558, 497, 269, 5398, - 5399, 294, 502, 261, 504, 406, 4408, 4409, 252, 6, - 6, 6, 502, 34, 35, 12, 12, 12, 5322, 503, - 423, 321, 506, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 303, 3304, 2573, 2574, 2575, 337, 1600, 3143, - 3144, 1603, 1604, 6, 100, 501, 345, 448, 177, 12, - 506, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 461, 274, 275, 500, 367, 502, 6, 3109, 5, 5869, - 1566, 410, 12, 412, 11, 304, 5, 348, 99, 502, - 96, 504, 11, 484, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 249, 2490, 311, 354, 249, 119, 438, - 371, 502, 410, 2499, 412, 5, 2502, 6, 5114, 5115, - 339, 11, 6, 12, 343, 423, 6, 2706, 12, 175, - 391, 4364, 12, 2705, 288, 2707, 2708, 435, 2217, 293, - 438, 495, 202, 154, 2706, 435, 500, 495, 502, 355, - 504, 434, 500, 3455, 502, 975, 504, 2543, 377, 5193, - 980, 2547, 208, 252, 2550, 384, 2552, 370, 2542, 2555, - 3329, 3330, 5962, 2559, 22, 34, 35, 223, 5509, 500, - 28, 502, 192, 504, 3491, 3307, 423, 233, 265, 266, - 267, 268, 2702, 502, 2580, 504, 2582, 3212, 404, 3214, - 3215, 503, 3415, 406, 506, 461, 503, 463, 503, 506, - 3517, 506, 410, 2599, 412, 261, 503, 150, 503, 506, - 3359, 506, 2608, 2609, 3526, 503, 3528, 433, 506, 454, - 163, 503, 4624, 88, 506, 441, 169, 60, 444, 4631, - 359, 367, 288, 1795, 4636, 448, 365, 4639, 452, 2635, - 4197, 2627, 503, 372, 2742, 506, 2642, 3425, 461, 226, - 2646, 2647, 5863, 150, 3596, 2033, 3266, 2653, 2036, 11, - 503, 2657, 4418, 506, 502, 2661, 163, 5571, 5711, 5712, - 275, 484, 169, 216, 2670, 3801, 503, 503, 407, 506, - 506, 2672, 502, 2674, 503, 2582, 288, 506, 5741, 502, - 405, 3492, 2688, 236, 1790, 2691, 5147, 506, 354, 503, - 429, 503, 506, 364, 506, 1801, 2702, 5371, 2704, 2705, - 503, 2707, 2708, 506, 2710, 5379, 5380, 503, 339, 216, - 506, 1817, 4187, 4195, 503, 4197, 2722, 506, 503, 503, - 2828, 506, 506, 503, 503, 4135, 506, 506, 503, 236, - 4173, 506, 285, 461, 502, 463, 2742, 2743, 3310, 370, - 503, 294, 60, 506, 503, 2751, 503, 506, 3670, 506, - 503, 360, 361, 506, 3676, 370, 454, 3568, 5672, 503, - 360, 361, 506, 3914, 1870, 360, 361, 2773, 2774, 3782, - 503, 2777, 88, 506, 503, 406, 442, 506, 285, 1885, - 49, 3740, 1888, 1889, 63, 481, 3744, 294, 4231, 503, - 3442, 406, 506, 5840, 5841, 2801, 10, 2803, 222, 13, - 2908, 2807, 291, 6024, 503, 5354, 5267, 506, 503, 503, - 291, 506, 506, 1919, 1920, 2821, 504, 448, 2714, 98, - 503, 452, 2828, 506, 503, 2831, 503, 506, 288, 506, - 461, 2837, 46, 448, 169, 503, 2008, 2009, 506, 53, - 481, 3439, 3440, 2015, 2016, 503, 461, 503, 506, 2548, - 506, 2857, 3469, 484, 291, 503, 503, 2863, 506, 506, - 461, 3591, 463, 6084, 2870, 79, 3596, 360, 361, 484, - 3738, 502, 54, 55, 135, 2047, 137, 288, 2884, 503, - 159, 434, 506, 2582, 49, 481, 503, 502, 503, 506, - 505, 2897, 410, 222, 412, 3201, 2902, 3469, 4910, 135, - 161, 137, 2908, 2866, 5818, 503, 503, 3213, 506, 506, - 5801, 135, 150, 137, 495, 503, 195, 2813, 506, 173, - 2926, 2927, 2928, 506, 502, 163, 2932, 434, 2627, 503, - 502, 169, 506, 3647, 148, 451, 503, 161, 3860, 506, - 3862, 503, 3864, 3249, 506, 2051, 503, 500, 4430, 506, - 503, 504, 231, 2959, 2960, 4120, 5054, 503, 503, 5057, - 506, 506, 2968, 3155, 317, 3157, 3158, 503, 503, 503, - 506, 506, 506, 503, 503, 502, 506, 506, 216, 193, - 503, 38, 503, 506, 198, 506, 3292, 3585, 4425, 503, - 4446, 3922, 506, 5907, 273, 3001, 60, 503, 236, 5913, - 506, 503, 503, 505, 265, 266, 267, 268, 503, 3607, - 505, 272, 4148, 4149, 502, 5567, 4152, 278, 503, 174, - 503, 235, 3152, 506, 3020, 10, 305, 3033, 13, 218, - 218, 3037, 17, 18, 19, 4047, 4446, 4049, 3997, 502, - 3770, 265, 266, 267, 268, 502, 504, 285, 272, 273, - 503, 36, 4004, 506, 278, 503, 294, 503, 506, 503, - 506, 5073, 506, 503, 465, 343, 506, 3266, 347, 503, - 349, 503, 506, 352, 506, 503, 290, 503, 506, 502, - 506, 5093, 361, 503, 503, 503, 506, 506, 506, 503, - 369, 198, 506, 503, 3001, 5107, 506, 503, 377, 503, - 506, 503, 506, 4050, 506, 503, 502, 155, 506, 6023, - 389, 503, 503, 503, 506, 506, 506, 3123, 503, 398, - 3898, 506, 503, 402, 503, 506, 4615, 506, 4617, 3746, - 4081, 3748, 4083, 3139, 503, 3141, 3788, 506, 39, 504, - 503, 4093, 3148, 506, 502, 155, 3152, 10, 3154, 3155, - 13, 3157, 3158, 3159, 288, 3201, 503, 5010, 198, 506, - 61, 3167, 343, 3761, 425, 3763, 3172, 288, 382, 3368, - 1447, 155, 1449, 4740, 3746, 436, 3748, 456, 4130, 155, - 198, 155, 288, 46, 343, 155, 169, 234, 122, 442, - 53, 5820, 288, 3199, 3200, 3201, 434, 502, 3204, 282, - 169, 425, 503, 3249, 73, 273, 3212, 3213, 3214, 3215, - 39, 112, 436, 3830, 273, 465, 79, 3223, 502, 288, - 273, 49, 3228, 3229, 273, 3231, 49, 3233, 428, 273, - 55, 91, 304, 3885, 454, 220, 454, 423, 4196, 3245, - 3246, 169, 324, 3249, 155, 4720, 155, 502, 155, 155, - 465, 155, 5264, 155, 506, 155, 155, 155, 3830, 155, - 155, 155, 3268, 155, 3270, 4224, 3272, 4226, 482, 155, - 155, 155, 169, 155, 288, 406, 101, 502, 39, 493, - 494, 495, 496, 497, 498, 148, 3292, 234, 169, 169, - 288, 4250, 502, 3297, 3298, 3299, 502, 502, 169, 502, - 201, 126, 3348, 502, 3310, 290, 502, 502, 502, 39, - 5322, 502, 502, 280, 462, 3913, 39, 502, 502, 144, - 4251, 3020, 502, 148, 502, 502, 502, 502, 502, 502, - 193, 61, 4165, 4469, 502, 198, 502, 300, 502, 3345, - 502, 502, 3348, 10, 4132, 170, 13, 103, 173, 250, - 502, 502, 3398, 254, 3360, 502, 502, 87, 502, 3365, - 218, 506, 234, 188, 39, 506, 502, 38, 269, 502, - 416, 416, 235, 500, 3380, 500, 418, 418, 174, 46, - 418, 418, 112, 113, 4342, 169, 53, 506, 3394, 169, - 120, 377, 6021, 4320, 285, 283, 3402, 69, 2570, 2571, - 364, 418, 303, 418, 2576, 418, 418, 364, 3414, 504, - 453, 3417, 79, 3419, 418, 418, 364, 236, 3424, 418, - 80, 418, 492, 418, 92, 364, 155, 290, 0, 288, - 231, 369, 278, 3439, 3440, 128, 2608, 2609, 3345, 3445, - 418, 3348, 309, 5296, 409, 418, 418, 348, 178, 4330, - 441, 288, 360, 278, 191, 92, 283, 418, 418, 128, - 3466, 304, 198, 3469, 155, 442, 3472, 502, 502, 5481, - 371, 201, 5325, 506, 3480, 418, 442, 418, 418, 128, - 114, 148, 418, 418, 128, 418, 418, 3394, 418, 418, - 391, 418, 60, 60, 418, 3402, 258, 418, 2670, 3505, - 418, 292, 3201, 418, 329, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 328, 418, 328, 328, 48, 382, - 250, 309, 409, 309, 254, 418, 193, 99, 418, 418, - 48, 198, 503, 220, 220, 3541, 3542, 3543, 506, 269, - 418, 418, 3741, 273, 418, 507, 4956, 288, 288, 428, - 3249, 502, 418, 39, 220, 220, 220, 220, 220, 5571, - 3566, 4483, 220, 4494, 4486, 220, 220, 155, 235, 3575, - 288, 3577, 3271, 303, 155, 273, 120, 442, 150, 3585, - 155, 155, 2754, 453, 155, 288, 242, 39, 3287, 273, - 4512, 163, 273, 273, 39, 226, 169, 169, 2704, 366, - 155, 3607, 174, 155, 2710, 155, 442, 442, 180, 155, - 418, 183, 282, 174, 13, 187, 277, 457, 348, 482, - 258, 416, 258, 290, 418, 183, 502, 502, 164, 502, - 493, 494, 495, 496, 497, 498, 368, 420, 502, 481, - 502, 371, 503, 191, 216, 2751, 3345, 503, 502, 3348, - 3956, 506, 191, 506, 503, 500, 503, 481, 256, 503, - 5672, 391, 503, 393, 236, 3671, 396, 216, 458, 380, - 224, 2843, 506, 289, 506, 39, 442, 442, 297, 2851, - 60, 503, 2854, 453, 3990, 364, 502, 3693, 442, 224, - 224, 278, 3698, 278, 2866, 3394, 418, 418, 3704, 3398, - 502, 10, 418, 3402, 13, 169, 288, 3713, 17, 18, - 19, 4663, 278, 285, 49, 382, 288, 273, 288, 234, - 234, 234, 294, 252, 288, 360, 418, 36, 128, 386, - 506, 4037, 409, 198, 3740, 3741, 343, 288, 506, 192, - 3746, 288, 3748, 288, 377, 374, 461, 331, 503, 39, - 220, 294, 442, 442, 226, 3761, 283, 3763, 327, 4895, - 155, 492, 169, 39, 407, 418, 4579, 10, 418, 454, - 13, 328, 502, 171, 17, 18, 19, 3783, 502, 351, - 4702, 374, 155, 502, 155, 155, 283, 461, 273, 4646, - 442, 39, 4390, 4391, 273, 288, 28, 288, 226, 283, - 4731, 189, 189, 3809, 169, 39, 5818, 170, 226, 374, - 169, 5248, 288, 273, 198, 482, 198, 198, 506, 3815, - 198, 4743, 4744, 198, 3830, 3831, 493, 494, 495, 496, - 497, 498, 27, 506, 406, 465, 4488, 4489, 4490, 4491, - 4492, 181, 418, 174, 255, 504, 461, 3853, 288, 60, - 282, 502, 174, 174, 2960, 3851, 502, 10, 506, 506, - 13, 506, 434, 503, 503, 51, 3872, 300, 135, 310, - 481, 503, 174, 299, 502, 4033, 503, 503, 503, 272, - 503, 503, 506, 503, 502, 3891, 458, 418, 460, 461, - 503, 503, 4658, 46, 5376, 5907, 506, 503, 4856, 503, - 53, 5913, 502, 502, 249, 502, 501, 3913, 174, 501, - 3916, 220, 503, 502, 183, 440, 4838, 4839, 244, 288, - 506, 484, 448, 3819, 483, 458, 79, 3933, 500, 60, - 3936, 503, 504, 505, 288, 3941, 291, 3943, 288, 492, - 3112, 202, 502, 155, 418, 3951, 210, 3953, 278, 418, - 3956, 418, 158, 273, 3960, 3961, 3962, 3963, 3964, 418, - 502, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, - 3976, 155, 87, 377, 3980, 3981, 3982, 220, 502, 3985, - 369, 290, 155, 155, 3990, 4031, 369, 234, 202, 3995, - 369, 3997, 158, 3999, 288, 148, 492, 5850, 5851, 418, - 442, 4007, 3898, 158, 4010, 236, 4012, 364, 458, 439, - 311, 6023, 311, 158, 128, 418, 4022, 418, 246, 4025, - 4026, 393, 418, 246, 4030, 4031, 4225, 418, 246, 4649, - 364, 4037, 418, 3139, 273, 4039, 4040, 4041, 4042, 364, - 193, 418, 418, 155, 418, 198, 4968, 290, 3154, 4971, - 4972, 418, 4251, 3159, 364, 48, 418, 4056, 4056, 364, - 4056, 4056, 4068, 377, 503, 4056, 4988, 4056, 503, 418, - 4076, 418, 418, 220, 4080, 418, 503, 501, 220, 186, - 503, 503, 235, 292, 428, 506, 3, 169, 49, 113, - 503, 506, 169, 502, 39, 503, 155, 155, 492, 418, - 5510, 169, 283, 186, 442, 502, 4112, 155, 364, 442, - 364, 364, 364, 364, 506, 291, 3815, 374, 153, 4717, - 153, 220, 220, 4129, 220, 220, 220, 220, 220, 4135, - 220, 220, 500, 146, 13, 300, 3308, 290, 3310, 272, - 506, 4147, 503, 503, 174, 4875, 453, 503, 506, 223, - 503, 503, 3851, 501, 3326, 458, 223, 298, 408, 295, - 60, 503, 4168, 4815, 4816, 502, 4818, 503, 187, 4076, - 415, 503, 351, 4080, 502, 502, 447, 90, 502, 428, - 169, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 26, 39, 226, 418, 210, 60, 32, 155, 442, 409, - 3372, 3373, 5083, 393, 442, 178, 428, 369, 4806, 158, - 418, 418, 364, 4219, 418, 418, 5783, 418, 4224, 4225, - 4226, 364, 503, 503, 503, 343, 461, 502, 502, 382, - 60, 409, 448, 169, 288, 79, 155, 113, 503, 5198, - 4147, 77, 4441, 428, 4250, 4251, 220, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 220, 220, 220, 4565, - 502, 502, 205, 465, 224, 502, 288, 418, 39, 309, - 503, 286, 39, 3, 288, 502, 506, 506, 428, 45, - 506, 418, 502, 374, 503, 180, 113, 174, 220, 174, - 503, 4297, 60, 300, 4300, 1437, 63, 133, 503, 459, - 459, 223, 4265, 503, 140, 4903, 503, 143, 506, 503, - 503, 502, 460, 502, 4277, 502, 283, 492, 5414, 428, - 5416, 418, 174, 461, 10, 79, 204, 13, 415, 482, - 192, 98, 4031, 192, 170, 492, 278, 278, 60, 409, - 493, 494, 495, 496, 497, 498, 418, 73, 506, 418, - 506, 155, 418, 158, 418, 127, 220, 4056, 4364, 503, - 46, 176, 502, 120, 39, 198, 3472, 53, 204, 283, - 26, 374, 502, 39, 3480, 273, 32, 4076, 171, 442, - 374, 4080, 283, 461, 4390, 4391, 60, 85, 4394, 409, - 461, 47, 159, 79, 39, 4401, 174, 288, 502, 169, - 506, 338, 4408, 4409, 207, 291, 218, 390, 5544, 174, - 26, 447, 4418, 309, 5066, 503, 32, 502, 39, 503, - 367, 77, 82, 502, 92, 5077, 502, 136, 195, 337, - 503, 47, 288, 269, 5315, 4441, 199, 273, 4434, 418, - 4446, 4447, 4448, 5225, 5425, 5581, 5368, 283, 503, 39, - 4649, 155, 4458, 155, 169, 502, 292, 502, 502, 226, - 502, 77, 148, 418, 231, 502, 39, 278, 304, 3575, - 502, 3577, 442, 247, 502, 131, 502, 133, 503, 155, - 374, 113, 39, 292, 140, 503, 174, 143, 5108, 428, - 169, 5627, 5628, 4499, 5425, 388, 388, 503, 5420, 60, - 112, 4408, 4409, 502, 502, 502, 273, 193, 39, 695, - 346, 347, 198, 447, 170, 131, 506, 133, 506, 4525, - 502, 502, 457, 169, 140, 409, 191, 143, 409, 269, - 442, 4537, 202, 502, 6, 721, 288, 503, 305, 5159, - 162, 377, 465, 502, 361, 361, 73, 291, 204, 235, - 5148, 73, 505, 136, 170, 461, 461, 141, 457, 4565, - 166, 166, 4568, 446, 502, 3671, 506, 447, 36, 3741, - 4576, 4577, 502, 4579, 174, 377, 248, 409, 4584, 4585, - 347, 334, 278, 4589, 204, 352, 409, 4593, 204, 288, - 4596, 4597, 3764, 5552, 361, 4601, 288, 374, 502, 39, - 39, 4607, 369, 199, 290, 502, 291, 3713, 291, 445, - 377, 5533, 176, 269, 176, 154, 60, 273, 4624, 60, - 502, 39, 389, 344, 295, 4631, 503, 283, 414, 503, - 4636, 398, 60, 4639, 4640, 402, 292, 418, 5619, 397, - 5776, 4647, 125, 440, 6, 503, 374, 502, 304, 141, - 360, 151, 4658, 269, 421, 278, 502, 273, 5617, 414, - 4666, 502, 25, 360, 4660, 4661, 506, 283, 506, 5637, - 36, 82, 274, 418, 377, 174, 292, 502, 360, 296, - 4686, 5333, 4683, 869, 154, 274, 120, 343, 304, 456, - 346, 347, 506, 460, 388, 388, 382, 448, 4704, 461, - 461, 502, 176, 3809, 447, 176, 442, 5843, 5844, 4408, - 448, 4717, 502, 447, 503, 903, 5274, 4624, 2985, 943, - 1666, 377, 990, 2786, 4631, 3310, 989, 343, 2877, 4636, - 346, 347, 4639, 3517, 10, 4434, 4742, 13, 4224, 4199, - 5767, 17, 18, 19, 2903, 2957, 1363, 3853, 3732, 5201, - 3922, 5617, 4388, 4759, 5884, 5248, 4197, 5224, 4764, 4865, - 3446, 377, 4725, 3099, 5747, 4771, 5418, 5107, 5872, 5647, - 46, 5646, 4735, 5787, 5907, 3450, 4910, 53, 4409, 4435, - 4378, 4787, 4420, 5591, 2971, 2971, 4219, 3542, 4794, 445, - 3780, 4404, 4904, 985, 5231, 3824, 482, 4471, 5522, 5986, - 4806, 6096, 6078, 79, 5215, 3740, 4443, 493, 494, 495, - 496, 497, 498, 5799, 5161, 5396, 1825, 5600, 5164, 18, - 28, 634, 3889, 5366, 4499, 5982, 1012, 2987, 4446, 445, - 3936, 4837, 1868, 3424, 2647, 1865, 3835, 5510, 5274, 5411, - 1879, 1903, 1985, 686, 1030, 1985, 719, 3674, 2902, 4250, - 5825, 3593, 6027, 5425, 3960, 1041, 5586, 4863, 834, 4475, - 2933, 1482, 4477, 2589, 1205, 1778, 6046, 4662, 5363, 4127, - 5740, 1057, 1379, 4879, 40, 1338, 40, 3365, 4884, 3985, - 2022, 3380, 2599, 5728, 5564, 3348, 4082, 5074, 4065, 2031, - 3345, 5322, 5321, 3345, 4128, 6005, 5722, 4903, 5854, 1440, - 5551, 1439, 1442, 5884, 4910, 5300, 1396, 3999, 5565, 5108, - 5566, 2496, 2024, 3271, 3168, 2932, 3269, 193, 2587, 891, - 2499, -1, 198, -1, -1, -1, 4922, -1, -1, -1, - -1, -1, 4631, -1, -1, -1, -1, 4636, -1, -1, - 4639, -1, -1, -1, -1, 5867, 10, -1, 5147, 13, - 4956, -1, 4958, -1, -1, -1, -1, -1, -1, 235, - 5159, 4660, 4661, 5583, -1, -1, 5158, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5159, -1, -1, - -1, -1, 46, 4989, -1, -1, -1, -1, -1, 53, - -1, -1, -1, -1, -1, -1, 5302, -1, -1, -1, - -1, 5007, -1, 4910, 5010, -1, -1, 5013, 5014, 5015, - -1, 5203, -1, -1, 290, 79, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1213, -1, -1, - 5336, -1, 5038, 5039, -1, -1, 5042, 5343, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5619, -1, -1, - -1, -1, -1, 4225, -1, -1, -1, 5063, -1, -1, - -1, -1, -1, 5069, -1, -1, -1, 5073, -1, -1, - -1, 6030, -1, 5079, 5080, -1, -1, -1, -1, 4251, - -1, -1, -1, 6065, 148, -1, -1, 5093, -1, -1, - 5096, -1, -1, 4265, -1, 5101, -1, 5103, -1, -1, - -1, 5107, -1, 5409, 5410, 4277, 382, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 6078, - -1, -1, 5086, -1, -1, -1, -1, -1, -1, 193, - -1, -1, -1, -1, 198, -1, -1, 6096, -1, -1, - 6, 5147, 5148, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5158, -1, -1, -1, -1, 23, -1, 25, - -1, -1, -1, 29, -1, -1, 5073, -1, 34, 35, - 36, 235, 38, -1, -1, 41, 42, -1, 44, -1, - 46, 4353, 4354, -1, -1, -1, 5093, 53, 54, 55, - -1, -1, 5198, -1, -1, 5767, -1, 5203, 6079, -1, - 5107, -1, -1, -1, -1, -1, 482, -1, -1, -1, - -1, -1, -1, -1, 490, 491, 492, 493, 494, 495, - 496, 497, 498, 4922, -1, -1, 290, -1, -1, -1, - -1, -1, -1, 5229, 5540, -1, -1, -1, 5968, 5969, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5560, -1, 5562, -1, 5264, -1, - -1, 5267, -1, -1, 5260, -1, -1, -1, -1, 4441, - -1, -1, 1458, -1, -1, 5274, 5274, 5274, 5274, 5274, - 5274, 5274, 5274, 5274, -1, 5274, -1, 5274, 4394, 5274, - 5296, 5274, 5274, 5274, 5300, 5274, 5302, 5343, 5274, -1, - 5274, -1, 5274, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5884, -1, -1, -1, 5322, -1, 382, 5325, - -1, 26, 4494, -1, -1, -1, -1, 32, -1, -1, - 5336, 197, 198, 199, -1, -1, 202, 5343, -1, 1525, - 206, -1, 208, -1, -1, 211, -1, -1, 214, -1, - -1, 217, -1, -1, 220, -1, 222, 5264, -1, 225, - -1, -1, -1, 229, -1, 231, -1, 5263, -1, -1, - -1, -1, 77, -1, 5073, -1, -1, -1, -1, -1, - 1566, -1, -1, -1, 5583, -1, -1, 5393, -1, -1, - -1, -1, 5398, 5399, -1, -1, -1, 5403, -1, -1, - -1, -1, -1, 5409, 5410, 5411, -1, -1, -1, -1, - -1, -1, -1, 1599, -1, 5322, -1, -1, 482, 5425, - -1, -1, -1, -1, -1, -1, -1, -1, 133, 493, - 494, 495, 496, 497, 498, 140, -1, -1, 143, 5445, - -1, -1, -1, -1, -1, -1, -1, 5453, -1, -1, - 5456, -1, -1, -1, -1, -1, -1, 2599, -1, -1, - -1, -1, -1, -1, -1, 170, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5481, -1, -1, -1, 6, - -1, -1, -1, -1, -1, -1, -1, 5483, -1, -1, - -1, -1, -1, 1679, 1680, 1681, -1, -1, -1, 204, - -1, -1, -1, -1, 5510, 5511, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5534, -1, - 5229, -1, -1, -1, 5540, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5551, 5552, -1, -1, 5555, - -1, -1, -1, 4725, 5560, -1, 5562, -1, 5564, 4731, - -1, 5260, 5754, 4735, 269, 5571, -1, -1, 273, -1, - -1, -1, 5568, -1, 5481, 5274, -1, -1, 283, -1, - -1, -1, -1, -1, -1, -1, 5592, 292, -1, -1, - 4762, 4763, -1, -1, -1, 4767, 4768, -1, 4704, 304, - -1, -1, -1, -1, 1790, -1, -1, -1, -1, -1, - -1, 5617, -1, 5619, -1, 1801, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1817, -1, -1, 5826, 5827, 4742, -1, 343, -1, - -1, 346, 347, -1, 5343, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4764, 5965, - -1, -1, -1, -1, 5571, -1, 5672, -1, -1, -1, - 197, -1, 377, 63, -1, -1, -1, -1, -1, 206, - -1, -1, -1, -1, 1870, -1, -1, 214, -1, -1, - 217, -1, -1, -1, -1, -1, -1, -1, -1, 1885, - -1, -1, 1888, 1889, 5710, 5711, 5712, -1, 98, -1, - -1, -1, 5718, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5728, -1, -1, -1, -1, -1, -1, -1, - -1, 4837, 5738, 1919, 1920, 5741, -1, -1, -1, -1, - 445, -1, -1, -1, -1, -1, -1, -1, 5754, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5767, -1, -1, 6070, 5672, -1, 633, -1, 159, - -1, -1, -1, 639, -1, 641, -1, 643, -1, -1, - 646, -1, 5481, -1, 5483, -1, -1, 653, -1, -1, - -1, -1, 658, -1, 660, -1, -1, -1, -1, -1, - 666, -1, 5808, -1, 5800, 195, -1, -1, -1, -1, - -1, -1, 5818, -1, -1, -1, -1, -1, -1, -1, - 5826, 5827, -1, -1, 690, -1, 5832, 5825, 5834, 5825, - 5825, -1, -1, 699, 5825, 2021, 5825, 703, 2024, -1, - 706, 231, -1, 709, 5850, 5851, -1, -1, -1, -1, - -1, -1, 4958, -1, -1, -1, -1, -1, -1, 725, - -1, -1, -1, 10, -1, 2051, 13, -1, -1, 5568, - -1, 5917, -1, -1, -1, -1, -1, -1, 5884, 269, - -1, -1, -1, 273, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 6086, 6087, -1, -1, -1, 46, - -1, 5907, -1, -1, -1, -1, 53, 5913, -1, -1, - -1, 5818, 778, -1, 304, 305, -1, -1, -1, 5917, - -1, 5917, 5917, -1, -1, 5931, 5917, 793, 5917, -1, - -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5951, -1, 813, 814, -1, - 816, 817, -1, 343, -1, 821, -1, 347, -1, 5965, - -1, -1, 352, -1, -1, -1, -1, -1, -1, 835, - 0, 361, -1, 5079, 840, 5147, -1, -1, -1, 369, - 846, -1, -1, -1, -1, -1, -1, 377, -1, -1, - 5996, -1, -1, -1, -1, -1, -1, 6003, -1, 389, - 5907, -1, -1, -1, -1, 26, 5913, -1, 398, -1, - -1, 32, 402, -1, 44, -1, -1, 6023, -1, -1, - -1, -1, -1, -1, 6030, 891, 47, -1, -1, 6027, - 0, 6027, 6027, -1, -1, -1, 6027, -1, 6027, 905, - -1, -1, -1, -1, -1, -1, 193, -1, -1, -1, - -1, 198, 918, -1, -1, -1, 77, 3199, 3200, 6065, - 6066, -1, 3204, -1, 6070, -1, 456, 933, 6074, 99, - -1, -1, 6078, -1, -1, -1, -1, -1, -1, -1, - 6086, 6087, -1, -1, -1, -1, 952, -1, 235, -1, - 6096, 957, 958, -1, -1, -1, -1, -1, -1, -1, - -1, 5800, -1, 3245, 3246, -1, -1, -1, -1, -1, - 198, 199, 133, -1, 202, -1, 6023, -1, -1, 140, - 150, -1, 143, 989, 990, -1, 5825, -1, -1, 99, - -1, -1, -1, 163, 222, -1, -1, -1, -1, 169, - -1, 229, -1, 290, 174, -1, 1012, 1013, -1, 170, - 180, -1, -1, 183, -1, -1, -1, 187, -1, 1025, - -1, 1027, -1, 690, -1, 1031, -1, -1, 1034, 1035, - -1, 1037, 699, -1, -1, -1, 1042, -1, -1, 706, - 150, -1, 709, 204, -1, -1, 216, -1, 218, -1, - -1, -1, -1, 163, -1, -1, -1, -1, -1, 169, - 1066, -1, -1, -1, 174, -1, 236, 1073, 1074, -1, - 180, -1, -1, 183, -1, -1, -1, 187, 5917, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1094, 1095, - 1096, -1, 1098, -1, 1100, 382, 1102, 1103, -1, -1, - -1, -1, -1, -1, -1, -1, 216, -1, 269, -1, - -1, -1, 273, 5425, -1, 285, -1, -1, 288, -1, - -1, -1, 283, -1, 294, -1, 236, -1, -1, -1, - 1136, 292, 1138, 1139, -1, -1, -1, -1, -1, 26, - -1, -1, -1, 304, -1, 32, -1, 5393, -1, -1, - -1, -1, 5398, 5399, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1171, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 285, 2502, -1, 288, -1, - -1, 351, 343, -1, 294, 346, 347, -1, 6027, -1, - 77, 1197, -1, 1199, -1, 482, -1, 1203, -1, 1205, - -1, -1, -1, -1, -1, -1, 493, 494, 495, 496, - 497, 498, -1, 1219, -1, -1, 377, -1, -1, 1225, - -1, -1, 1228, -1, -1, 1231, -1, -1, -1, -1, - -1, -1, -1, 403, -1, -1, -1, -1, -1, 1245, - -1, 351, -1, -1, -1, -1, 133, -1, -1, -1, - -1, -1, -1, 140, -1, -1, 143, -1, -1, -1, - -1, -1, -1, -1, 434, 5511, -1, -1, -1, -1, - 1276, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 170, 445, -1, -1, -1, 458, -1, - 460, 461, -1, -1, -1, -1, 406, 5609, 1304, 1305, - 1306, -1, 1308, -1, -1, 26, -1, -1, -1, 5555, - -1, 32, -1, -1, -1, 0, 2642, 204, 39, -1, - 2646, 2647, 1328, -1, 434, -1, -1, -1, -1, -1, - -1, -1, -1, 503, -1, 505, 506, -1, -1, -1, - 61, -1, -1, -1, -1, -1, -1, -1, 458, -1, - 460, 461, -1, -1, -1, -1, 77, -1, 1025, -1, - -1, -1, 1368, -1, 1031, -1, -1, -1, 1035, -1, - 1037, -1, -1, -1, -1, -1, -1, -1, 2704, -1, - 1386, -1, 269, -1, 2710, -1, 273, -1, -1, -1, - 500, 112, -1, 503, 504, 505, 283, -1, -1, -1, - -1, -1, -1, -1, -1, 292, -1, -1, -1, -1, - -1, -1, 133, 641, 99, 643, -1, 304, 646, 140, - -1, -1, 143, -1, -1, 2751, 1432, -1, -1, -1, - 1436, 1437, 660, 1100, -1, 1102, 1103, -1, 666, -1, - -1, 1447, 1448, 1449, 1450, -1, 1452, -1, -1, 170, - -1, -1, -1, -1, -1, -1, 343, -1, -1, 346, - 347, -1, -1, -1, -1, 150, -1, -1, -1, 1475, - -1, -1, -1, -1, -1, -1, -1, -1, 163, -1, - 201, -1, -1, 204, 169, -1, -1, -1, -1, 174, - 377, -1, -1, -1, -1, 180, -1, -1, 183, -1, - -1, -1, 187, -1, 1510, -1, -1, -1, -1, 1515, - -1, -1, 1518, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1531, 1532, -1, -1, 250, - -1, 216, -1, 254, 1540, -1, -1, 1543, -1, -1, - -1, -1, -1, -1, -1, -1, 63, -1, 269, -1, - -1, 236, 273, -1, -1, -1, -1, -1, 445, -1, - -1, -1, 283, -1, 1570, -1, 1572, -1, -1, 1575, - -1, 292, 1578, 1579, -1, -1, 1582, -1, -1, -1, - -1, 98, 303, 304, -1, -1, 1592, -1, -1, 1595, - -1, -1, 1598, -1, -1, -1, -1, -1, -1, -1, - 285, -1, 2928, 288, -1, -1, -1, -1, -1, 294, - -1, -1, -1, -1, 1620, -1, -1, -1, -1, -1, - -1, -1, 343, -1, -1, 346, 347, 348, -1, -1, - -1, -1, 1638, -1, 2960, -1, -1, -1, -1, -1, - -1, -1, 159, -1, 1650, 1651, 1652, 1653, 1654, -1, - 371, -1, -1, -1, -1, -1, 377, -1, -1, -1, - -1, -1, 1668, -1, -1, -1, 351, -1, -1, -1, - 391, -1, -1, 1679, 1680, 1681, -1, -1, 195, 3961, - 3962, 3963, 3964, -1, -1, 3967, 3968, 3969, 3970, 3971, - 3972, 3973, 3974, 3975, 3976, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3033, -1, -1, - -1, 3037, -1, 3995, 231, -1, 207, -1, 6030, -1, - -1, 406, -1, -1, 445, 216, -1, -1, -1, 957, - 958, -1, -1, -1, -1, -1, -1, -1, -1, 230, - -1, -1, -1, 4025, 4026, -1, -1, -1, -1, 434, - -1, -1, 269, -1, -1, -1, 273, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 6078, -1, -1, -1, - -1, 1777, 17, 458, -1, 460, 461, -1, -1, -1, - -1, 26, 1788, -1, 6096, -1, 4068, 304, 305, -1, - 1796, 1797, -1, -1, -1, -1, -1, -1, -1, 1027, - -1, -1, -1, -1, -1, -1, 1812, -1, -1, -1, - -1, -1, -1, 3139, 1042, 500, -1, -1, 503, 504, - 505, -1, -1, -1, 1830, 1831, 343, -1, 3154, -1, - 347, -1, -1, 3159, -1, 352, -1, -1, -1, -1, - 1846, 1847, 1848, 1849, 361, 1073, 1074, -1, -1, 1855, - -1, -1, 369, -1, -1, -1, 1862, -1, -1, -1, - 377, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1098, -1, 389, 1879, -1, -1, 1882, -1, -1, -1, - -1, 398, -1, -1, -1, 402, 1892, 1893, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1903, 1904, -1, - -1, 1907, -1, -1, 1910, -1, -1, -1, -1, -1, - 1138, 1139, -1, -1, -1, -1, -1, -1, -1, 1925, - 1926, -1, -1, -1, 10, -1, 1932, 13, 1934, -1, - -1, 17, 18, 19, -1, -1, -1, -1, -1, 456, - -1, -1, -1, -1, -1, 1951, -1, -1, -1, -1, - 36, -1, 1958, -1, 1960, -1, -1, 1963, 1964, 1965, - 46, 1967, 1968, -1, 1970, -1, -1, 53, -1, -1, - -1, 1977, -1, -1, -1, -1, -1, -1, 1984, -1, - -1, -1, -1, -1, 1990, 1991, -1, -1, 1994, -1, - -1, -1, 1998, 79, 2000, -1, -1, -1, -1, 2005, - 2006, -1, -1, -1, -1, -1, 2012, 2013, 2014, -1, - -1, 2017, -1, 2019, 2020, 2021, 2022, 2023, 2024, 2025, - 2026, 39, -1, 2029, -1, 2031, 2032, -1, 10, 2035, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - -1, -1, -1, -1, -1, 63, 2052, 2053, 2054, -1, - -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, - -1, -1, -1, 2069, 46, -1, -1, -1, -1, -1, - -1, 53, -1, -1, -1, -1, -1, -1, 26, -1, - 98, -1, 4364, -1, 32, -1, -1, -1, 3414, -1, - -1, 3417, -1, 3419, -1, -1, -1, 79, 3424, -1, - -1, -1, -1, 2109, -1, -1, -1, 193, -1, -1, - -1, -1, 198, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, - -1, -1, -1, -1, 220, 221, -1, -1, -1, -1, - -1, 159, -1, -1, -1, -1, 3472, -1, -1, 235, - -1, -1, -1, -1, 3480, -1, -1, -1, -1, -1, - 651, -1, -1, -1, -1, -1, 657, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 195, 669, 3505, - -1, -1, -1, -1, -1, 133, -1, -1, -1, -1, - 276, 10, 140, -1, 13, 143, -1, -1, 17, 18, - 19, -1, -1, -1, 290, -1, 2212, 293, 226, -1, - -1, 193, 1879, 231, -1, 1882, 198, 36, -1, -1, - -1, -1, 170, -1, -1, 1892, 1893, 46, -1, -1, - -1, -1, -1, -1, 53, -1, -1, -1, 220, 221, - 1907, -1, -1, 1910, -1, -1, 2252, -1, -1, 3575, - -1, 3577, -1, 235, -1, 273, 204, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4568, 305, -1, -1, - 1518, -1, -1, 1960, 276, -1, 382, 1964, 1965, 2305, - -1, -1, -1, -1, -1, -1, -1, -1, 290, -1, - -1, 293, -1, -1, -1, 1543, -1, -1, -1, -1, - -1, 269, -1, -1, -1, 273, -1, -1, -1, 347, - -1, -1, -1, -1, 352, 283, -1, -1, -1, -1, - -1, -1, -1, 361, 292, 3671, -1, -1, -1, -1, - -1, 369, -1, -1, -1, -1, 304, -1, -1, 377, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 389, 3698, -1, 193, -1, -1, -1, 3704, 198, - 398, -1, -1, -1, 402, -1, -1, 3713, -1, -1, - 635, -1, 1620, -1, -1, 343, 482, -1, 346, 347, - 382, 220, 221, 421, 490, 491, 492, 493, 494, 495, - 496, 497, 498, -1, -1, 3741, 235, 503, -1, -1, - 506, -1, 1650, 1651, 1652, 1653, -1, -1, -1, 377, - -1, -1, -1, -1, -1, -1, -1, -1, 456, -1, - 685, 686, 460, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 290, -1, -1, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, 3809, 2490, -1, -1, -1, -1, -1, - -1, -1, 2498, 2499, -1, -1, 2502, 445, -1, -1, - 482, -1, -1, 2509, -1, 3831, -1, -1, 490, 491, - 492, 493, 494, 495, 496, 497, 498, -1, -1, -1, - -1, -1, -1, -1, 506, -1, -1, 3853, -1, -1, - -1, -1, -1, -1, -1, 2541, 781, 2543, -1, -1, - 2546, 2547, -1, -1, 2550, -1, 2552, -1, -1, 2555, - -1, -1, -1, 2559, -1, -1, -1, -1, -1, -1, - -1, -1, 807, 382, -1, -1, -1, -1, 1796, 1797, - 815, -1, -1, 818, 819, 820, 2582, -1, -1, -1, - -1, -1, 2588, 2589, 1812, -1, -1, -1, -1, -1, - -1, -1, -1, 2599, -1, -1, -1, -1, -1, -1, - -1, -1, 2608, 2609, -1, -1, -1, -1, -1, -1, - 3936, -1, -1, -1, -1, -1, 2622, -1, 1846, 1847, - 1848, 1849, -1, -1, 2630, -1, 2632, -1, -1, -1, - -1, -1, -1, -1, 3960, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, - -1, 17, 18, 19, -1, -1, -1, -1, -1, 3985, - -1, -1, -1, 482, -1, -1, 2672, -1, 2674, -1, - 36, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 46, -1, -1, -1, -1, 2691, -1, 53, -1, -1, - -1, -1, -1, -1, -1, -1, 2702, -1, 1926, 2705, - 2706, 2707, 2708, 10, 1932, 2711, 13, -1, 2714, -1, - 17, 18, 19, 79, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5010, 2735, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, - 2746, -1, -1, -1, -1, -1, 53, -1, 2754, 2755, - -1, -1, -1, -1, -1, 2761, -1, -1, -1, -1, - -1, -1, -1, -1, 2770, -1, -1, -1, -1, -1, - -1, -1, 79, -1, -1, 1020, -1, -1, -1, -1, - -1, 5063, -1, -1, -1, -1, 2792, -1, -1, -1, - -1, -1, -1, 10, -1, -1, 13, -1, -1, -1, - 17, 18, 19, -1, -1, -1, -1, 2813, -1, 4135, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, - 2826, -1, -1, -1, -1, -1, -1, 193, -1, 46, - -1, -1, 198, -1, -1, -1, 53, -1, -1, -1, - -1, -1, 10, 2849, -1, 13, 2852, -1, -1, 17, - 18, 19, -1, -1, 220, 221, -1, -1, -1, -1, - -1, -1, 79, -1, -1, -1, -1, -1, -1, 235, - -1, -1, 2878, 2879, -1, -1, -1, -1, 46, -1, - -1, 2109, -1, -1, -1, 53, 193, 2893, -1, 2895, - 2896, 198, -1, -1, -1, -1, -1, -1, -1, 4225, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 276, 79, -1, 220, 221, 2582, -1, -1, -1, -1, - 2926, 2927, 2928, -1, 290, 4251, 2932, 293, 235, -1, - -1, -1, -1, -1, 2940, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2953, -1, -1, - -1, -1, -1, 2959, -1, 2961, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1210, -1, -1, 2974, 276, - -1, -1, -1, 2979, -1, -1, 193, -1, -1, 2985, - -1, 198, 2988, 290, -1, -1, -1, -1, 1233, -1, - -1, -1, -1, -1, 3000, 3001, -1, -1, -1, -1, - -1, -1, -1, 220, 221, 3011, -1, -1, -1, -1, - -1, -1, -1, -1, 5296, 3021, 382, 3023, 235, -1, - -1, -1, -1, -1, -1, 193, -1, -1, -1, -1, - 198, -1, -1, -1, -1, 2702, -1, -1, 2705, -1, - 2707, 2708, -1, 5325, -1, -1, -1, -1, -1, -1, - -1, -1, 220, 221, -1, -1, 3062, -1, 3064, 276, - 3066, -1, -1, -1, -1, 1310, -1, 235, 4394, -1, - -1, -1, -1, 290, 1319, 382, 293, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1333, -1, - -1, -1, -1, 3099, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 276, 1354, - -1, -1, 1357, 1358, -1, 4441, 482, 1362, 1363, -1, - 4446, -1, 290, -1, 490, 491, 492, 493, 494, 495, - 496, 497, 498, -1, -1, -1, -1, -1, -1, -1, - 506, -1, -1, -1, -1, -1, 3152, 3153, -1, 3155, - -1, 3157, 3158, -1, 3160, -1, -1, -1, -1, -1, - -1, 3167, -1, -1, -1, 382, 3172, -1, -1, -1, - -1, -1, -1, 1664, -1, 482, -1, -1, -1, -1, - -1, -1, -1, 490, 491, 492, 493, 494, 495, 496, - 497, 498, -1, 3199, 3200, 3201, -1, -1, 3204, -1, - -1, -1, -1, -1, -1, -1, 3212, 3213, 3214, 3215, - -1, -1, -1, -1, 382, -1, -1, -1, -1, -1, - -1, -1, 3228, -1, -1, 3231, -1, 3233, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3245, - 3246, -1, -1, 3249, -1, -1, -1, -1, -1, -1, - 26, -1, -1, 4579, -1, -1, 32, -1, -1, -1, - 3266, -1, 3268, 39, 3270, 482, 3272, -1, -1, 5551, - -1, -1, -1, 490, 491, 492, 493, 494, 495, 496, - 497, 498, -1, -1, 501, 61, 3292, -1, -1, -1, - 3296, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3317, -1, -1, 482, -1, -1, -1, 2546, -1, - -1, -1, 490, 491, 492, 493, 494, 495, 496, 497, - 498, -1, -1, -1, 3001, -1, 112, -1, -1, 3345, - -1, -1, 3348, 3349, -1, 1836, -1, 3353, 3354, 3355, - -1, -1, -1, 1844, 3360, -1, -1, 133, -1, 3365, - -1, 1852, -1, -1, 140, -1, -1, 143, 0, -1, - -1, -1, 1617, -1, 3380, -1, -1, -1, 4704, -1, - 1625, -1, -1, -1, -1, -1, -1, -1, 3394, -1, - 22, -1, 3398, -1, 170, 3401, 3402, -1, 3404, -1, - 32, -1, 34, 35, -1, 1896, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4742, -1, -1, -1, - 52, -1, -1, -1, -1, 201, -1, -1, 204, -1, - 62, -1, 1923, -1, -1, -1, 5718, -1, 4764, 3445, - -1, -1, 74, -1, 76, 77, -1, -1, -1, -1, - -1, 83, -1, 85, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 97, -1, 99, -1, 3475, - 3476, -1, -1, -1, 250, -1, -1, -1, 254, -1, - -1, -1, -1, 2711, 116, 3152, -1, 119, 3155, -1, - 3157, 3158, -1, 269, -1, -1, -1, 273, -1, -1, - -1, -1, 134, -1, 136, -1, -1, 283, 140, -1, - -1, 4837, -1, -1, 146, -1, 292, -1, -1, -1, - -1, -1, 154, -1, 156, -1, -1, 303, 304, -1, - -1, 163, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 63, -1, -1, -1, 197, -1, 343, 5850, 5851, - 346, 347, 348, -1, -1, -1, -1, 3583, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3593, -1, -1, - -1, -1, -1, -1, 1839, 371, 98, -1, 1843, -1, - -1, 377, -1, -1, -1, 237, 238, -1, -1, -1, - -1, 243, -1, -1, -1, 391, -1, -1, -1, -1, - -1, 2849, -1, -1, 2852, 257, -1, -1, -1, -1, - 4956, -1, 4958, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 275, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 159, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 445, - -1, -1, -1, -1, -1, -1, -1, -1, 3345, -1, - -1, 3348, -1, -1, -1, -1, -1, 319, -1, -1, - -1, -1, 3698, 195, -1, -1, -1, -1, 3704, -1, - -1, 333, -1, -1, -1, -1, -1, 339, 340, 3715, - 342, -1, 2940, -1, -1, 347, -1, -1, -1, -1, - -1, 353, -1, -1, 356, 2953, -1, 3394, -1, 231, - -1, 363, -1, 2961, -1, 3402, -1, 369, 370, -1, - -1, -1, -1, -1, -1, 377, 3752, 3753, 3754, 381, - -1, -1, -1, 5079, -1, -1, -1, -1, -1, 391, - -1, -1, -1, 3769, -1, -1, 2011, 269, -1, -1, - -1, 273, 3000, -1, 406, -1, -1, 3783, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3021, 426, 3801, 3802, 3803, -1, -1, - -1, 3807, 304, 305, -1, 437, -1, -1, -1, -1, - -1, 443, -1, 3819, -1, -1, 448, -1, -1, -1, - -1, 5147, -1, -1, -1, -1, -1, -1, -1, 461, - -1, -1, -1, -1, -1, -1, 3064, -1, 3066, -1, - -1, 343, -1, -1, -1, 347, -1, -1, -1, -1, - 352, -1, 484, 485, 486, 487, 488, 489, -1, 361, - -1, -1, -1, -1, -1, -1, -1, 369, -1, 3875, - 502, -1, -1, 505, -1, 377, -1, -1, -1, -1, - -1, -1, -1, 3889, 3890, -1, -1, 389, -1, -1, - -1, -1, 3898, -1, -1, -1, 398, -1, -1, -1, - 402, -1, -1, 10, -1, 3911, 13, -1, 3914, -1, - 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3153, -1, 3933, -1, 36, - -1, -1, 3160, -1, -1, 3941, -1, 3943, -1, 46, - -1, 5267, -1, -1, -1, 3951, 53, 3953, -1, -1, - 3956, -1, -1, -1, 456, 3961, 3962, 3963, 3964, -1, - -1, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, - 3976, -1, 79, -1, 3980, 3981, 3982, -1, -1, -1, - -1, -1, -1, -1, 3990, -1, -1, -1, -1, 3995, - -1, -1, -1, 3999, -1, -1, -1, -1, -1, -1, - -1, 4007, -1, -1, 4010, -1, 4012, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4022, -1, -1, 4025, - 4026, -1, -1, -1, 4030, 4031, -1, -1, -1, 4035, - -1, 4037, -1, -1, -1, -1, -1, -1, 4044, 4045, - 4046, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4064, 4065, - 4066, -1, 4068, 4069, -1, -1, 4072, 5393, -1, -1, - 4076, -1, 5398, 5399, 4080, -1, -1, -1, -1, -1, - 4086, -1, -1, -1, -1, -1, 193, -1, -1, -1, - -1, 198, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4112, -1, -1, -1, - -1, -1, -1, 220, 221, -1, -1, -1, -1, -1, - -1, 4127, -1, 4129, -1, -1, -1, -1, 235, -1, - -1, -1, -1, -1, -1, 24, -1, -1, -1, -1, - 29, 4147, 4148, 4149, 2635, -1, 4152, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2653, -1, -1, -1, 2657, -1, -1, 276, - 2661, -1, -1, -1, -1, -1, -1, -1, 67, -1, - -1, 4187, 4188, 290, 5510, 5511, 293, -1, -1, -1, - -1, 80, -1, -1, -1, -1, -1, 2688, -1, -1, - 4206, -1, -1, -1, -1, -1, -1, 96, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 114, -1, -1, -1, 5555, - -1, 2722, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3475, 3476, 138, - -1, 2742, -1, 4259, -1, -1, -1, -1, -1, -1, - 149, -1, -1, 10, -1, -1, 13, -1, -1, 158, - 17, 18, 19, -1, -1, 382, 2521, -1, -1, -1, - -1, -1, 171, 2774, -1, -1, -1, 176, -1, 36, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, - -1, -1, -1, -1, -1, -1, 53, -1, -1, 4315, - 2801, -1, -1, 202, -1, -1, 2807, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2821, -1, 79, -1, -1, -1, -1, 2828, -1, -1, - 2831, -1, 4348, -1, -1, -1, 2837, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4362, -1, 4364, -1, - 249, -1, -1, -1, -1, 4371, 2857, -1, -1, -1, - -1, 4377, 2863, -1, -1, 482, -1, -1, -1, 2870, - -1, -1, 4388, 490, 491, 492, 493, 494, 495, 496, - 497, 498, -1, 2884, -1, -1, 503, 4403, -1, -1, - -1, 290, 4408, 4409, -1, -1, 2897, -1, -1, 4076, - 4416, -1, -1, 4080, -1, -1, -1, 2908, -1, 4425, - -1, -1, -1, -1, -1, 2670, -1, -1, -1, 4435, - -1, -1, -1, -1, -1, 324, 325, -1, -1, 328, - -1, 4447, 4448, -1, -1, -1, 193, -1, -1, -1, - -1, 198, 4458, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4469, 4470, -1, 355, -1, -1, 358, - -1, -1, -1, 220, 221, 364, -1, -1, -1, -1, - 4147, 4487, 371, -1, 2729, 374, -1, 3715, 235, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, - -1, -1, 13, -1, 393, -1, 17, 18, 19, -1, - -1, 400, -1, -1, -1, -1, -1, 406, -1, 4525, - 409, -1, -1, -1, 413, 36, -1, -1, -1, 276, - -1, 4537, 421, -1, -1, 46, -1, -1, -1, 428, - -1, -1, 53, 290, -1, -1, 293, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4565, - -1, -1, 4568, -1, 2809, 454, -1, -1, 79, -1, - 4576, 4577, -1, -1, -1, -1, -1, -1, 4584, 4585, - -1, -1, -1, 4589, -1, -1, -1, 4593, 2833, -1, - 4596, 4597, -1, -1, -1, 4601, 4602, -1, -1, -1, - -1, 4607, 4608, 4609, 4610, 4611, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4624, -1, - -1, 4627, -1, -1, -1, 4631, -1, -1, -1, -1, - 4636, -1, 3123, 4639, 4640, 382, 4642, -1, 4644, -1, - -1, 4647, -1, 4649, -1, -1, -1, 3875, -1, -1, - 3141, -1, 4658, -1, -1, 2900, 4662, 3148, -1, -1, - 4666, -1, 4668, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4683, -1, -1, - 4686, -1, 193, -1, -1, -1, -1, 198, -1, -1, - -1, -1, 2937, -1, 2939, -1, 2941, 2942, -1, -1, - -1, 2946, 2947, 2948, -1, 2950, 2951, 2952, -1, 220, - 221, -1, -1, -1, 4720, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 235, -1, -1, -1, -1, -1, - 4736, -1, -1, -1, -1, 482, -1, -1, -1, 6065, - -1, 4408, 4409, 490, 491, 492, 493, 494, 495, 496, - 497, 498, -1, -1, -1, -1, 503, -1, -1, 3004, - -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 26, -1, 290, - -1, 4787, 293, 32, 3029, -1, -1, -1, 4794, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4817, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4832, 10, 77, -1, + 6, 0, 0, 0, 0, 0, 0, 0, 0, 56, + 0, 0, 0, 0, 206, 0, 0, 23, 683, 25, + 1038, 0, 214, 29, 211, 217, 21, 211, 34, 35, + 36, 1047, 38, 1010, 662, 41, 42, 840, 44, 8, + 46, 939, 21, 1225, 1164, 1027, 15, 53, 54, 55, + 837, 22, 1661, 189, 796, 797, 798, 28, 0, 1594, + 802, 0, 933, 894, 935, 1578, 2845, 1042, 1011, 1504, + 882, 883, 0, 913, 0, 864, 1036, 2719, 36, 2043, + 892, 1571, 2720, 3073, 1113, 756, 1578, 715, 830, 1272, + 1259, 3248, 715, 197, 45, 863, 216, 1583, 1901, 3138, + 3431, 2051, 3433, 847, 897, 1087, 3730, 760, 3526, 1091, + 230, 951, 1244, 2032, 1096, 4278, 1248, 738, 2069, 1251, + 1252, 3955, 1729, 2070, 1106, 1624, 1625, 2991, 3614, 1628, + 3648, 752, 3650, 3928, 762, 23, 1571, 3676, 1120, 3678, + 3085, 3944, 3880, 4300, 664, 44, 4362, 3484, 36, 3536, + 4838, 4321, 2108, 2969, 2110, 191, 3977, 761, 1461, 191, + 175, 1696, 1697, 751, 5232, 1914, 1040, 4601, 4569, 1151, + 1973, 2741, 2742, 1561, 4607, 2065, 2066, 2067, 2068, 4624, + 3100, 2071, 5324, 2073, 2074, 5364, 4612, 815, 4739, 2, + 4741, 197, 198, 199, 962, 4407, 202, 3390, 5152, 5454, + 206, 4854, 208, 4856, 1690, 211, 35, 976, 214, 1010, + 4611, 217, 2595, 42, 220, 843, 222, 2600, 1019, 225, + 843, 3500, 2636, 229, 2704, 231, 50, 2706, 1029, 5103, + 5490, 1717, 1001, 1621, 5160, 3546, 3292, 1006, 5502, 3942, + 868, 6, 936, 3385, 3478, 5147, 4928, 11, 0, 936, + 1638, 11, 0, 5755, 0, 0, 1544, 23, 736, 6, + 13, 739, 6, 1102, 41, 3081, 40, 23, 12, 2683, + 49, 5355, 122, 3038, 25, 3040, 3041, 5151, 2084, 1118, + 3045, 3046, 3047, 1051, 3049, 3050, 3051, 960, 4777, 2038, + 25, 6, 5451, 6, 6, 6004, 39, 12, 6, 12, + 3534, 6, 930, 27, 12, 45, 97, 12, 2677, 39, + 15, 16, 3483, 11, 3485, 3486, 179, 5739, 6, 870, + 56, 880, 881, 6, 12, 87, 225, 5411, 1001, 124, + 39, 2677, 891, 1006, 6, 0, 5418, 5419, 49, 1081, + 12, 82, 6, 173, 977, 94, 11, 6, 12, 6, + 49, 15, 16, 12, 4461, 12, 0, 6, 15, 16, + 37, 196, 3, 12, 6, 6, 31, 11, 179, 6, + 12, 12, 6, 1524, 6, 12, 65, 39, 12, 150, + 12, 1880, 158, 3, 180, 5, 6, 31, 186, 39, + 179, 11, 12, 224, 6, 13, 5, 53, 184, 124, + 6, 115, 11, 157, 6, 5691, 12, 5693, 124, 191, + 122, 5697, 5698, 4625, 1047, 157, 173, 195, 142, 1047, + 310, 258, 5443, 290, 122, 6122, 6123, 179, 135, 47, + 82, 179, 197, 179, 179, 122, 65, 137, 65, 146, + 172, 206, 1417, 316, 1473, 1405, 32, 44, 65, 214, + 1103, 203, 217, 403, 361, 203, 31, 203, 203, 324, + 390, 5963, 80, 38, 181, 126, 344, 179, 45, 5371, + 273, 5, 258, 15, 380, 37, 117, 11, 1290, 1291, + 298, 29, 268, 448, 27, 65, 60, 31, 167, 65, + 1465, 316, 27, 31, 6385, 273, 683, 5757, 33, 385, + 38, 89, 122, 228, 52, 4939, 483, 450, 31, 101, + 1322, 122, 228, 264, 179, 38, 80, 433, 4702, 4703, + 4704, 13, 4706, 4707, 4708, 4709, 4710, 173, 1622, 264, + 6440, 82, 5954, 299, 65, 179, 82, 5491, 203, 39, + 1333, 310, 82, 299, 6454, 1639, 733, 6438, 65, 435, + 1171, 197, 495, 82, 195, 47, 472, 131, 535, 203, + 303, 681, 173, 82, 225, 94, 472, 687, 393, 294, + 5654, 478, 450, 13, 539, 94, 255, 127, 294, 699, + 82, 169, 373, 127, 355, 1353, 13, 1461, 80, 539, + 90, 394, 410, 185, 294, 312, 158, 13, 1573, 142, + 6, 1205, 326, 223, 201, 535, 94, 142, 340, 446, + 477, 1232, 299, 370, 479, 1383, 394, 495, 6315, 326, + 47, 10, 1243, 6125, 13, 179, 179, 51, 17, 18, + 19, 356, 273, 219, 179, 276, 144, 1265, 258, 1260, + 356, 303, 1265, 245, 368, 535, 389, 34, 1199, 179, + 1462, 40, 406, 80, 440, 390, 442, 663, 186, 5312, + 34, 368, 129, 669, 406, 671, 539, 673, 218, 4407, + 676, 219, 535, 1655, 218, 525, 1658, 683, 668, 403, + 475, 5702, 688, 469, 690, 374, 400, 438, 186, 668, + 696, 431, 203, 299, 492, 477, 186, 4435, 5984, 478, + 535, 463, 5962, 438, 453, 535, 115, 448, 539, 1727, + 1728, 5870, 488, 1864, 720, 762, 5875, 5876, 469, 375, + 1279, 1280, 334, 729, 1667, 4882, 668, 733, 539, 668, + 736, 3100, 6234, 739, 469, 478, 448, 448, 482, 535, + 668, 539, 668, 494, 6453, 374, 1547, 374, 539, 755, + 539, 766, 476, 394, 3100, 1426, 6465, 374, 1317, 494, + 2048, 535, 526, 527, 535, 1725, 496, 478, 25, 5258, + 1403, 448, 1400, 539, 534, 1408, 1409, 1400, 531, 478, + 1408, 1409, 761, 539, 535, 4580, 538, 496, 535, 1628, + 538, 535, 538, 538, 374, 5749, 448, 1491, 374, 535, + 535, 1352, 808, 939, 1491, 776, 1483, 778, 1609, 780, + 6232, 817, 6314, 525, 1645, 786, 5898, 4620, 4442, 2001, + 535, 790, 535, 539, 4448, 537, 4621, 535, 526, 527, + 535, 837, 838, 4940, 840, 841, 1734, 226, 413, 845, + 1609, 1680, 1681, 374, 4951, 533, 496, 535, 4366, 537, + 539, 5753, 396, 859, 431, 1975, 6116, 374, 864, 6361, + 403, 526, 527, 535, 870, 6129, 1058, 516, 517, 510, + 1062, 535, 1064, 538, 1061, 413, 535, 1061, 535, 1438, + 1439, 1432, 526, 527, 516, 517, 535, 4625, 2008, 6144, + 413, 927, 127, 535, 538, 927, 1569, 448, 535, 27, + 2020, 535, 448, 535, 4241, 33, 526, 527, 448, 808, + 539, 917, 539, 531, 4107, 4108, 1549, 526, 527, 448, + 25, 471, 539, 312, 122, 931, 1559, 471, 471, 448, + 929, 929, 929, 929, 929, 929, 929, 929, 944, 929, + 929, 929, 929, 25, 929, 929, 448, 1498, 1052, 1622, + 929, 1616, 5634, 959, 953, 720, 3772, 3773, 492, 539, + 448, 3777, 462, 539, 729, 864, 1639, 6051, 4671, 533, + 3915, 736, 978, 537, 739, 4117, 6236, 983, 984, 3549, + 488, 3551, 516, 525, 371, 539, 539, 929, 1862, 6073, + 929, 533, 526, 527, 539, 537, 496, 371, 385, 4192, + 387, 929, 4313, 929, 5958, 535, 473, 264, 539, 1015, + 1016, 539, 4530, 1646, 142, 421, 422, 1650, 1651, 4253, + 25, 159, 539, 4257, 1544, 3505, 435, 3506, 539, 179, + 5214, 3445, 1038, 1039, 4090, 5961, 528, 529, 530, 531, + 5474, 539, 1881, 4529, 23, 944, 1052, 871, 1054, 539, + 25, 2069, 1058, 6313, 115, 1061, 1062, 30, 1064, 173, + 959, 6240, 6241, 1069, 841, 115, 453, 5941, 845, 4240, + 27, 4242, 4243, 6011, 54, 2050, 33, 65, 6, 6045, + 5481, 127, 65, 5957, 6, 352, 6154, 1093, 528, 529, + 530, 531, 347, 3858, 1100, 1101, 3912, 122, 5641, 526, + 527, 528, 529, 530, 531, 3, 3475, 39, 127, 3478, + 526, 527, 528, 529, 530, 531, 1122, 1123, 1124, 138, + 1126, 94, 1128, 6207, 1130, 1131, 324, 117, 6, 3475, + 2105, 122, 3478, 390, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 31, 5360, 326, 6401, 179, 404, 3616, + 179, 127, 157, 6295, 3537, 180, 4435, 3526, 1164, 264, + 1166, 1167, 27, 6117, 191, 3534, 190, 78, 1910, 387, + 4656, 203, 218, 5385, 4592, 23, 448, 5830, 385, 25, + 3526, 438, 264, 74, 6363, 142, 1015, 1016, 3534, 368, + 122, 179, 13, 1199, 473, 93, 334, 127, 326, 1827, + 6126, 440, 304, 442, 208, 195, 35, 36, 181, 65, + 313, 1844, 469, 311, 2017, 2018, 175, 25, 198, 1225, + 42, 1227, 403, 203, 10, 1231, 1205, 1233, 154, 331, + 372, 17, 18, 19, 56, 453, 471, 494, 290, 1208, + 368, 1210, 218, 1212, 316, 1214, 25, 1216, 1217, 1218, + 148, 1257, 1625, 1259, 1223, 1628, 535, 1263, 27, 80, + 2134, 403, 179, 290, 155, 66, 91, 539, 535, 448, + 295, 1277, 101, 74, 254, 403, 5827, 142, 535, 535, + 535, 479, 6424, 273, 175, 390, 276, 1052, 218, 264, + 25, 113, 121, 1058, 270, 5721, 222, 1062, 448, 1064, + 310, 725, 5736, 294, 25, 1352, 2741, 1978, 390, 134, + 3880, 5745, 210, 1319, 5747, 5149, 6242, 6385, 181, 5720, + 299, 2807, 5767, 1136, 1945, 5751, 6292, 751, 535, 158, + 5873, 355, 6270, 438, 2102, 3084, 2007, 535, 1959, 5142, + 2011, 5136, 1348, 1349, 1350, 2016, 1352, 2839, 2019, 5750, + 1938, 1972, 5173, 778, 779, 780, 438, 3308, 783, 784, + 785, 5795, 386, 1128, 469, 1130, 1131, 1373, 793, 326, + 6438, 299, 2675, 142, 435, 513, 349, 299, 492, 4897, + 385, 1985, 1970, 6, 316, 435, 6312, 469, 105, 494, + 316, 374, 2069, 2070, 492, 217, 307, 6323, 122, 390, + 3970, 406, 390, 4921, 394, 2891, 1421, 2084, 1414, 3, + 456, 368, 494, 156, 387, 390, 2093, 2082, 264, 448, + 3027, 299, 3889, 3, 3, 471, 1432, 182, 408, 1616, + 535, 435, 535, 535, 290, 333, 6362, 535, 435, 2827, + 1476, 1477, 4362, 1479, 1476, 1477, 403, 1479, 473, 337, + 477, 299, 471, 535, 345, 74, 264, 258, 5628, 511, + 492, 326, 205, 438, 1942, 5622, 396, 539, 290, 6395, + 27, 188, 1478, 165, 6136, 94, 1482, 1483, 451, 1957, + 453, 3437, 1960, 6171, 457, 264, 349, 1493, 1494, 1495, + 1496, 180, 1498, 4880, 469, 471, 484, 241, 2049, 93, + 2051, 6427, 4839, 368, 329, 31, 2057, 1880, 3117, 5943, + 398, 70, 2063, 2064, 93, 1521, 3322, 3323, 374, 494, + 510, 3327, 158, 533, 2075, 331, 312, 537, 2048, 264, + 268, 448, 2010, 181, 2085, 364, 2014, 2015, 403, 465, + 2091, 471, 122, 264, 390, 535, 360, 403, 117, 316, + 1556, 304, 440, 147, 442, 1561, 294, 326, 1564, 85, + 535, 5100, 88, 3369, 3370, 309, 464, 396, 147, 95, + 392, 1577, 1578, 290, 472, 466, 376, 475, 331, 2597, + 1586, 10, 390, 1589, 13, 142, 94, 6249, 17, 18, + 19, 158, 438, 525, 1493, 350, 1495, 123, 4637, 368, + 324, 533, 74, 535, 536, 537, 435, 539, 525, 4843, + 1616, 390, 1618, 91, 4848, 1621, 441, 4851, 1624, 1625, + 537, 313, 1628, 469, 2599, 91, 195, 127, 295, 384, + 438, 1630, 1638, 1057, 403, 1641, 1635, 5853, 1644, 304, + 311, 330, 142, 398, 1068, 331, 3136, 5385, 494, 188, + 479, 6136, 311, 191, 483, 390, 134, 183, 5492, 438, + 1084, 469, 1668, 492, 312, 27, 331, 261, 134, 390, + 196, 485, 396, 4593, 325, 294, 184, 5480, 304, 6113, + 1686, 436, 261, 209, 126, 301, 494, 516, 488, 535, + 469, 311, 1698, 1699, 1700, 1701, 1702, 3132, 403, 124, + 208, 3136, 203, 438, 273, 331, 535, 276, 6370, 5872, + 1716, 435, 1711, 390, 294, 494, 1715, 438, 94, 299, + 409, 1727, 1728, 1729, 2927, 115, 182, 535, 445, 535, + 344, 290, 326, 268, 469, 124, 4600, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 122, 326, 469, 2765, + 258, 1943, 290, 4518, 334, 479, 535, 314, 4523, 494, + 396, 191, 170, 455, 6249, 242, 1953, 1954, 492, 536, + 1954, 311, 539, 494, 203, 423, 314, 4556, 4594, 173, + 142, 1206, 535, 225, 1209, 364, 1211, 1686, 1213, 368, + 1215, 185, 516, 372, 1219, 114, 6230, 226, 138, 435, + 535, 2675, 533, 228, 471, 3008, 537, 315, 137, 203, + 139, 535, 116, 290, 535, 372, 373, 1241, 154, 154, + 1826, 403, 294, 666, 403, 394, 497, 122, 1932, 396, + 403, 1837, 167, 492, 539, 385, 450, 4407, 173, 1845, + 1846, 380, 342, 479, 438, 10, 403, 441, 13, 535, + 403, 329, 17, 18, 19, 1861, 492, 473, 535, 438, + 290, 403, 441, 329, 450, 4435, 161, 368, 435, 294, + 535, 372, 492, 1879, 1880, 6309, 242, 285, 218, 356, + 516, 495, 535, 312, 4253, 6370, 124, 222, 4257, 1895, + 1896, 1897, 1898, 6056, 420, 2082, 326, 423, 1904, 535, + 290, 196, 403, 370, 208, 1911, 2737, 4253, 1914, 535, + 299, 4257, 479, 492, 2717, 758, 4836, 207, 294, 255, + 255, 471, 5756, 1929, 290, 492, 1932, 290, 384, 406, + 122, 356, 440, 170, 442, 391, 1942, 1943, 368, 477, + 31, 510, 398, 5738, 314, 453, 326, 1953, 1954, 516, + 269, 1957, 492, 145, 1960, 274, 326, 539, 466, 151, + 2937, 469, 5765, 441, 31, 294, 539, 82, 535, 1975, + 1976, 306, 244, 165, 212, 441, 1982, 174, 1984, 94, + 436, 316, 536, 535, 378, 539, 539, 412, 368, 832, + 5382, 492, 473, 4362, 471, 2001, 167, 539, 368, 294, + 290, 2875, 2008, 459, 2010, 368, 1985, 2013, 2014, 2015, + 247, 2017, 2018, 210, 2020, 516, 4362, 2694, 1987, 2066, + 1989, 2027, 1991, 403, 1993, 492, 1995, 2901, 2034, 6245, + 1999, 2037, 2038, 5519, 5426, 2041, 2837, 325, 2044, 2045, + 406, 3161, 2032, 2049, 125, 2051, 137, 477, 5205, 516, + 2056, 2057, 290, 2032, 535, 4625, 294, 2063, 2064, 2065, + 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, + 137, 4035, 539, 2079, 5308, 2081, 2082, 2083, 2084, 2085, + 2086, 2087, 2088, 2041, 255, 2091, 390, 2093, 2094, 4053, + 2032, 2097, 325, 2032, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 2654, 2032, 471, 2032, 299, 2114, 2115, + 2116, 3546, 5102, 325, 484, 403, 125, 6342, 199, 4069, + 125, 3556, 5956, 3021, 3022, 3023, 2132, 3001, 2027, 433, + 465, 435, 2765, 414, 41, 306, 2937, 2765, 184, 448, + 4091, 3631, 101, 6419, 6451, 4096, 3755, 312, 2987, 2917, + 6366, 5141, 5955, 5974, 368, 535, 2044, 0, 439, 4106, + 56, 6468, 121, 0, 1929, 6441, 2172, 1932, 489, 387, + 403, 3153, 3355, 2915, 2975, 2917, 5121, 1942, 1943, 5336, + 5719, 5338, 5513, 10, 21, 762, 13, 6412, 1612, 403, + 199, 403, 1957, 3067, 199, 1960, 3631, 13, 533, 158, + 74, 536, 537, 37, 296, 4095, 5126, 103, 4011, 3010, + 4100, 4101, 258, 326, 2835, 385, 525, 387, 539, 56, + 47, 2990, 492, 4592, 4593, 132, 385, 54, 537, 3728, + 3837, 47, 128, 483, 10, 453, 3843, 13, 815, 492, + 372, 17, 18, 19, 538, 2010, 4592, 4593, 122, 2014, + 2015, 147, 5770, 80, 181, 368, 152, 1630, 492, 372, + 419, 37, 1635, 455, 80, 3104, 3105, 3106, 3107, 539, + 3109, 403, 368, 2279, 5090, 467, 5092, 96, 174, 154, + 27, 539, 178, 453, 6118, 535, 539, 6391, 215, 6393, + 403, 868, 167, 3779, 2965, 3134, 2967, 193, 173, 5064, + 2971, 5066, 5067, 5068, 396, 539, 5792, 403, 2941, 183, + 4941, 360, 4231, 137, 360, 139, 2949, 347, 4949, 2952, + 139, 124, 4128, 4129, 4130, 4131, 5744, 2333, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 1711, 294, + 3826, 165, 1715, 435, 299, 390, 93, 222, 397, 4239, + 3224, 6455, 114, 930, 191, 492, 453, 3540, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 373, 50, 5700, + 173, 198, 326, 303, 102, 420, 203, 102, 396, 516, + 255, 360, 448, 2389, 74, 3127, 435, 479, 135, 179, + 80, 73, 4198, 4199, 440, 142, 442, 403, 353, 146, + 492, 6235, 539, 299, 94, 364, 230, 473, 5328, 212, + 364, 180, 174, 203, 368, 1839, 3951, 435, 397, 440, + 294, 442, 167, 469, 516, 299, 1850, 254, 173, 6053, + 492, 306, 122, 3086, 124, 492, 485, 396, 326, 485, + 5360, 316, 1866, 535, 536, 214, 538, 485, 210, 403, + 226, 6246, 180, 326, 516, 180, 435, 353, 326, 516, + 229, 479, 286, 287, 288, 289, 326, 4836, 173, 293, + 294, 345, 3346, 535, 4843, 299, 435, 326, 3352, 4848, + 368, 40, 4851, 252, 326, 312, 214, 290, 362, 214, + 4836, 294, 197, 183, 173, 368, 1920, 4843, 34, 40, + 368, 229, 4848, 62, 229, 4851, 485, 269, 368, 29, + 255, 1935, 274, 393, 1938, 1939, 356, 535, 197, 368, + 479, 5852, 212, 3291, 252, 61, 368, 252, 1883, 369, + 403, 245, 52, 492, 3432, 403, 312, 3208, 267, 3, + 6058, 6059, 83, 403, 534, 1969, 1970, 535, 1903, 539, + 82, 525, 5, 281, 403, 114, 281, 516, 11, 399, + 272, 306, 94, 537, 28, 294, 19, 2573, 2574, 2575, + 2576, 2577, 2578, 2579, 2580, 2581, 535, 2583, 3211, 326, + 536, 408, 5502, 539, 37, 310, 396, 2593, 2594, 492, + 465, 2597, 466, 167, 6, 284, 1005, 534, 2604, 173, + 12, 40, 539, 6398, 294, 2797, 6, 2799, 2800, 299, + 379, 2798, 12, 516, 2798, 1024, 535, 364, 1027, 308, + 6, 368, 5656, 62, 453, 435, 12, 5661, 5662, 93, + 2636, 455, 2638, 530, 536, 2641, 2642, 539, 535, 2645, + 537, 2647, 2637, 467, 2650, 3322, 3323, 206, 2654, 393, + 3327, 379, 3784, 6, 379, 345, 403, 536, 533, 12, + 539, 5581, 537, 410, 3457, 3458, 5431, 6, 370, 479, + 6, 2677, 362, 12, 3617, 114, 12, 2683, 2684, 6, + 268, 255, 492, 6201, 148, 12, 102, 514, 2694, 2113, + 2794, 3435, 3369, 3370, 516, 517, 268, 2703, 2704, 526, + 527, 528, 529, 530, 531, 264, 516, 3547, 98, 3652, + 269, 2717, 6, 535, 2834, 274, 516, 517, 12, 2725, + 4684, 2727, 5, 3491, 5, 535, 6417, 3392, 11, 6420, + 11, 290, 306, 5772, 5, 535, 4700, 6, 536, 203, + 11, 539, 4548, 12, 183, 3557, 210, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 3731, 5126, 3940, 154, + 197, 2767, 324, 2769, 180, 6, 325, 206, 6, 145, + 4379, 12, 167, 3324, 12, 151, 466, 2783, 173, 4730, + 5126, 536, 208, 6301, 539, 3336, 4737, 4738, 2794, 22, + 272, 2797, 2798, 2799, 2800, 28, 2722, 2803, 214, 4602, + 2806, 536, 310, 310, 539, 3438, 2926, 315, 315, 2767, + 3438, 2769, 533, 229, 373, 5385, 537, 3618, 1001, 530, + 5636, 2827, 3373, 1006, 535, 264, 537, 222, 5644, 5645, + 269, 668, 528, 2839, 396, 274, 252, 533, 397, 535, + 453, 537, 4377, 528, 4379, 89, 2852, 2853, 533, 485, + 535, 290, 537, 2859, 535, 154, 537, 6188, 4344, 418, + 255, 245, 2868, 295, 296, 281, 3417, 536, 167, 333, + 539, 61, 4364, 435, 173, 533, 393, 535, 4313, 537, + 71, 72, 536, 4052, 2890, 539, 325, 3007, 286, 287, + 288, 289, 3921, 6050, 310, 3335, 536, 3337, 3338, 539, + 535, 3883, 3703, 3574, 11, 2911, 536, 2806, 483, 539, + 469, 306, 2677, 2668, 2669, 2670, 380, 479, 2924, 536, + 535, 316, 539, 222, 761, 762, 15, 16, 536, 4415, + 492, 539, 433, 5853, 373, 5505, 533, 536, 535, 5308, + 539, 2947, 536, 536, 2950, 539, 539, 35, 36, 536, + 3571, 3572, 539, 535, 516, 537, 255, 536, 397, 5328, + 539, 310, 5308, 379, 396, 390, 536, 3595, 432, 539, + 2976, 2977, 3595, 535, 492, 5613, 494, 536, 536, 418, + 536, 539, 5328, 539, 3726, 2991, 539, 2993, 2994, 3731, + 535, 5360, 536, 2964, 2677, 539, 536, 61, 536, 539, + 464, 539, 492, 435, 494, 3879, 485, 306, 472, 154, + 536, 475, 2911, 539, 5360, 536, 50, 316, 539, 3025, + 3026, 3027, 167, 536, 536, 3031, 539, 539, 173, 2794, + 469, 228, 2797, 3039, 2799, 2800, 6367, 537, 3877, 536, + 5960, 536, 539, 512, 539, 536, 3052, 479, 539, 440, + 536, 442, 3058, 539, 3060, 536, 536, 473, 539, 539, + 492, 536, 313, 3255, 539, 3257, 3258, 3073, 173, 137, + 465, 139, 3078, 536, 15, 16, 539, 222, 3084, 4614, + 536, 3087, 536, 539, 516, 539, 536, 310, 536, 539, + 927, 539, 929, 3099, 3100, 536, 4609, 165, 539, 3720, + 385, 386, 536, 535, 3110, 539, 536, 385, 386, 539, + 255, 1153, 6443, 512, 3120, 4298, 3122, 1159, 492, 313, + 494, 3742, 6112, 536, 310, 536, 539, 1169, 539, 536, + 50, 1173, 539, 5502, 492, 1177, 494, 1179, 5288, 536, + 4630, 5291, 539, 1185, 536, 516, 517, 539, 3252, 1191, + 2095, 536, 1194, 2098, 539, 3161, 5502, 3163, 440, 3165, + 442, 306, 230, 385, 386, 10, 465, 3909, 13, 385, + 386, 316, 17, 18, 19, 536, 536, 536, 539, 539, + 539, 4363, 536, 4365, 536, 539, 4368, 539, 536, 5367, + 5368, 539, 3198, 3119, 536, 4630, 4171, 539, 536, 536, + 228, 539, 539, 536, 512, 3392, 539, 5849, 536, 6129, + 536, 539, 5581, 539, 536, 5819, 5820, 539, 286, 287, + 288, 289, 178, 536, 536, 293, 539, 539, 539, 536, + 536, 299, 539, 539, 536, 5581, 536, 539, 536, 539, + 536, 539, 137, 539, 139, 536, 3252, 3253, 539, 3255, + 4039, 3257, 3258, 492, 3260, 494, 3927, 3885, 528, 3887, + 536, 3267, 3885, 539, 3887, 4225, 3272, 482, 536, 536, + 536, 539, 539, 539, 536, 536, 538, 3324, 539, 3900, + 536, 3902, 536, 539, 341, 539, 5237, 5238, 536, 536, + 4164, 539, 539, 536, 536, 538, 4271, 539, 39, 536, + 536, 536, 539, 539, 539, 536, 536, 10, 539, 539, + 13, 536, 536, 3500, 539, 539, 3322, 3323, 3324, 6239, + 465, 3327, 6017, 6018, 536, 6245, 3373, 539, 535, 3335, + 3336, 3337, 3338, 4308, 536, 3100, 536, 539, 536, 539, + 536, 3969, 535, 539, 47, 3351, 3969, 4956, 3354, 536, + 3356, 54, 6131, 4024, 536, 536, 536, 539, 539, 539, + 54, 55, 536, 3369, 3370, 539, 536, 3373, 1205, 539, + 535, 4222, 2796, 4224, 4825, 5744, 4827, 80, 2802, 535, + 4258, 226, 4260, 1493, 61, 1495, 3392, 455, 3394, 179, + 3396, 224, 3398, 224, 535, 535, 4378, 496, 5744, 467, + 537, 535, 535, 368, 203, 159, 535, 537, 159, 310, + 203, 3417, 310, 368, 3420, 159, 159, 3100, 3424, 203, + 159, 310, 368, 173, 159, 2849, 253, 4060, 124, 4106, + 4922, 3478, 473, 310, 4055, 535, 1273, 303, 5244, 3445, + 173, 536, 74, 294, 40, 294, 6366, 496, 535, 152, + 310, 4128, 4129, 4130, 4131, 294, 1293, 4134, 4135, 4136, + 4137, 4138, 4139, 4140, 4141, 4142, 4143, 312, 50, 3475, + 50, 4653, 3478, 3479, 3425, 3426, 3427, 3483, 3484, 3485, + 3486, 294, 458, 3530, 5853, 4162, 3492, 3252, 294, 93, + 3255, 3497, 3257, 3258, 326, 198, 4336, 485, 4310, 485, + 203, 89, 453, 173, 348, 159, 3512, 5853, 159, 535, + 159, 159, 496, 159, 159, 1352, 539, 159, 159, 159, + 3526, 4198, 4199, 159, 3530, 159, 159, 3533, 3534, 173, + 3536, 159, 4406, 159, 4408, 159, 159, 159, 310, 435, + 535, 40, 253, 173, 4526, 310, 173, 322, 0, 301, + 535, 254, 535, 535, 173, 535, 535, 535, 535, 168, + 4434, 4504, 535, 22, 5528, 535, 535, 535, 4245, 28, + 40, 3577, 4123, 535, 535, 535, 535, 535, 535, 493, + 105, 535, 535, 535, 253, 6364, 535, 535, 535, 224, + 535, 5960, 535, 45, 40, 3601, 3602, 535, 535, 535, + 535, 535, 535, 535, 535, 535, 4157, 535, 535, 312, + 535, 535, 535, 539, 5960, 39, 4514, 539, 535, 448, + 446, 446, 533, 533, 448, 448, 535, 448, 179, 173, + 306, 3637, 539, 173, 403, 3059, 304, 70, 448, 1476, + 1477, 448, 1479, 390, 448, 448, 484, 537, 390, 101, + 448, 448, 390, 255, 448, 81, 448, 4208, 525, 448, + 94, 390, 159, 310, 395, 250, 448, 448, 299, 130, + 448, 472, 438, 331, 535, 385, 196, 448, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 304, 3694, 310, + 448, 94, 535, 3880, 130, 203, 159, 539, 130, 473, + 473, 326, 154, 448, 116, 408, 61, 130, 448, 61, + 3475, 448, 3718, 3478, 448, 167, 448, 278, 448, 314, + 448, 173, 3728, 448, 448, 448, 448, 179, 448, 448, + 448, 448, 352, 185, 352, 448, 188, 5172, 352, 448, + 192, 438, 331, 448, 331, 49, 448, 5553, 448, 448, + 536, 539, 226, 540, 226, 310, 310, 226, 226, 226, + 6129, 3526, 226, 448, 226, 458, 226, 535, 226, 3534, + 222, 226, 224, 40, 159, 310, 159, 294, 5584, 122, + 159, 473, 159, 6129, 159, 261, 484, 310, 294, 294, + 294, 40, 3475, 173, 40, 3478, 245, 159, 392, 535, + 159, 473, 4435, 255, 298, 159, 473, 303, 535, 535, + 159, 514, 4686, 179, 488, 3239, 13, 188, 539, 448, + 535, 278, 536, 526, 527, 528, 529, 530, 531, 535, + 3254, 3837, 448, 278, 535, 3259, 321, 3843, 450, 196, + 535, 512, 394, 3526, 222, 536, 196, 536, 3854, 539, + 533, 3534, 512, 539, 306, 536, 536, 536, 310, 276, + 406, 536, 473, 311, 316, 40, 3290, 473, 242, 319, + 6239, 4548, 61, 539, 489, 10, 6245, 536, 13, 484, + 390, 299, 17, 18, 19, 3891, 3892, 3893, 299, 10, + 299, 448, 13, 6239, 173, 448, 17, 18, 19, 6245, + 4875, 448, 3908, 299, 310, 50, 1948, 242, 310, 412, + 294, 242, 47, 253, 1956, 253, 3922, 253, 310, 54, + 385, 272, 535, 438, 376, 10, 448, 535, 13, 5111, + 130, 203, 535, 368, 3940, 3941, 3942, 310, 539, 539, + 3946, 310, 310, 492, 197, 80, 400, 403, 448, 356, + 448, 316, 3958, 4574, 4575, 536, 10, 40, 4789, 13, + 226, 473, 47, 17, 18, 19, 473, 245, 159, 54, + 351, 304, 173, 5486, 485, 525, 40, 175, 400, 431, + 352, 159, 159, 436, 304, 159, 473, 4858, 294, 40, + 535, 492, 535, 47, 294, 80, 310, 6366, 29, 310, + 54, 4672, 4673, 4674, 4675, 4676, 245, 304, 4014, 194, + 194, 173, 40, 465, 174, 245, 173, 310, 400, 294, + 6366, 203, 4028, 4029, 203, 539, 80, 203, 3954, 61, + 203, 203, 448, 4039, 275, 537, 179, 489, 303, 491, + 492, 492, 535, 179, 539, 4678, 4052, 539, 539, 496, + 310, 539, 536, 536, 536, 179, 536, 316, 539, 3958, + 539, 513, 539, 198, 3990, 4071, 376, 152, 203, 513, + 4206, 322, 137, 4079, 478, 4081, 332, 179, 293, 179, + 268, 448, 512, 4870, 536, 188, 538, 539, 489, 4095, + 5072, 226, 227, 4099, 4100, 4101, 536, 536, 536, 536, + 4106, 4778, 515, 4109, 263, 226, 4112, 5642, 539, 536, + 539, 536, 4118, 198, 4120, 535, 535, 4123, 203, 254, + 534, 536, 4128, 4129, 4130, 4131, 536, 535, 4134, 4135, + 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 536, 536, + 4039, 4147, 4148, 4149, 198, 536, 535, 535, 1985, 203, + 536, 4157, 539, 471, 479, 516, 4162, 4204, 534, 489, + 4166, 310, 297, 61, 310, 535, 313, 525, 4174, 254, + 310, 4177, 535, 4179, 3598, 535, 159, 312, 448, 448, + 448, 216, 3606, 299, 162, 448, 294, 535, 535, 4195, + 159, 312, 4198, 4199, 208, 2032, 4861, 4203, 4204, 423, + 254, 535, 4208, 395, 4210, 4211, 159, 403, 159, 395, + 253, 208, 395, 4219, 4220, 4221, 162, 310, 525, 448, + 4407, 473, 162, 390, 4775, 489, 255, 312, 333, 2066, + 470, 162, 40, 4239, 4240, 4241, 4242, 4243, 333, 4245, + 4246, 4231, 448, 4249, 448, 448, 448, 4253, 4435, 420, + 265, 4257, 4231, 2090, 62, 265, 265, 4263, 312, 390, + 390, 448, 390, 4214, 4215, 4216, 4217, 448, 448, 130, + 390, 294, 159, 408, 403, 49, 49, 534, 448, 448, + 88, 536, 448, 448, 4290, 448, 3710, 448, 3712, 4231, + 448, 40, 4231, 536, 536, 191, 226, 4918, 226, 4305, + 536, 4307, 314, 4231, 536, 4231, 114, 115, 539, 3, + 458, 173, 50, 4946, 122, 64, 115, 776, 536, 778, + 539, 780, 173, 408, 535, 40, 536, 786, 787, 788, + 159, 448, 159, 173, 304, 525, 191, 159, 5773, 473, + 535, 473, 390, 390, 390, 390, 390, 400, 157, 5091, + 157, 100, 226, 161, 408, 226, 4362, 4363, 4364, 4365, + 5031, 5032, 4368, 5034, 4370, 149, 226, 226, 6174, 6175, + 226, 539, 6178, 226, 226, 183, 226, 226, 533, 514, + 466, 310, 4388, 230, 3808, 5283, 466, 310, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 536, 206, 61, + 310, 5022, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 310, 13, 536, 163, 322, 484, 539, 536, 179, + 5318, 536, 536, 536, 293, 536, 536, 539, 3852, 514, + 536, 535, 229, 534, 320, 229, 535, 4443, 4625, 536, + 317, 526, 527, 528, 529, 530, 531, 2284, 437, 61, + 192, 200, 445, 535, 535, 376, 264, 478, 92, 458, + 514, 269, 173, 40, 245, 473, 274, 473, 448, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 4449, 216, + 61, 438, 290, 159, 88, 6094, 294, 473, 4253, 395, + 4461, 183, 4257, 4499, 420, 458, 245, 162, 5119, 448, + 448, 250, 390, 448, 448, 448, 390, 492, 61, 536, + 536, 536, 479, 535, 368, 535, 438, 325, 977, 173, + 10, 310, 80, 13, 3948, 115, 4532, 17, 18, 19, + 159, 458, 536, 226, 535, 226, 226, 226, 242, 535, + 4546, 211, 4548, 535, 448, 294, 496, 37, 310, 4555, + 307, 539, 536, 40, 331, 4561, 310, 5677, 3, 5679, + 539, 535, 5436, 458, 539, 373, 4572, 5244, 3992, 46, + 4253, 535, 448, 186, 4257, 536, 400, 185, 327, 115, + 179, 4587, 226, 147, 536, 243, 4592, 4593, 1047, 397, + 243, 299, 299, 2635, 4600, 536, 299, 4362, 536, 299, + 536, 179, 536, 4609, 61, 490, 539, 490, 322, 331, + 418, 536, 420, 4619, 229, 423, 536, 536, 491, 535, + 535, 5298, 539, 372, 535, 4631, 4632, 445, 377, 304, + 5301, 525, 458, 40, 448, 179, 4642, 386, 210, 80, + 197, 5312, 5824, 197, 492, 40, 395, 4653, 4654, 299, + 4074, 299, 61, 525, 403, 62, 438, 539, 539, 74, + 5463, 469, 448, 448, 159, 4671, 162, 416, 448, 448, + 536, 226, 5688, 129, 4861, 181, 425, 535, 122, 4362, + 40, 430, 203, 304, 400, 473, 40, 5869, 294, 535, + 175, 400, 4618, 304, 492, 61, 5361, 86, 438, 492, + 40, 179, 451, 4127, 535, 310, 4712, 114, 173, 539, + 213, 363, 224, 10, 535, 313, 13, 536, 179, 536, + 17, 18, 19, 4729, 536, 478, 536, 535, 4152, 417, + 61, 40, 5397, 5915, 5916, 83, 226, 393, 487, 535, + 37, 4747, 491, 535, 94, 536, 138, 310, 362, 536, + 47, 448, 204, 40, 159, 159, 173, 54, 40, 535, + 535, 448, 299, 535, 535, 5386, 535, 535, 535, 4775, + 535, 473, 4778, 266, 535, 400, 159, 536, 115, 40, + 4786, 4787, 314, 80, 536, 179, 458, 415, 4794, 4795, + 536, 415, 173, 4799, 539, 40, 310, 536, 4804, 206, + 536, 4807, 4808, 114, 207, 535, 2643, 535, 4814, 535, + 539, 40, 4818, 4819, 4820, 4821, 539, 478, 37, 438, + 196, 173, 312, 535, 473, 535, 290, 4592, 4593, 438, + 4836, 208, 6, 4839, 535, 310, 166, 4843, 536, 496, + 2677, 386, 4848, 386, 74, 4851, 4852, 313, 4854, 535, + 4856, 74, 138, 4859, 538, 4861, 492, 264, 143, 492, + 477, 488, 269, 151, 4870, 536, 170, 274, 4874, 536, + 310, 478, 4878, 332, 4880, 170, 5553, 403, 444, 539, + 535, 267, 444, 290, 535, 2722, 179, 10, 438, 4895, + 13, 5907, 359, 299, 17, 18, 19, 210, 438, 310, + 310, 198, 400, 535, 6086, 40, 203, 5584, 40, 4592, + 4593, 313, 313, 535, 37, 204, 4922, 4923, 325, 181, + 158, 5592, 181, 496, 5798, 535, 496, 354, 354, 226, + 227, 4937, 385, 155, 61, 61, 83, 4895, 317, 40, + 369, 61, 536, 61, 1403, 424, 4872, 4873, 5925, 1408, + 1409, 448, 127, 471, 536, 6, 535, 254, 400, 143, + 5834, 496, 496, 310, 310, 536, 373, 37, 535, 4940, + 299, 295, 403, 295, 535, 535, 26, 1436, 310, 318, + 4951, 389, 179, 539, 6166, 6167, 1445, 385, 1447, 389, + 397, 539, 1451, 83, 385, 479, 535, 5003, 448, 1458, + 297, 426, 535, 426, 5010, 151, 478, 158, 5559, 539, + 5681, 418, 122, 536, 317, 312, 415, 479, 315, 415, + 334, 492, 5573, 492, 181, 181, 473, 5033, 535, 478, + 5904, 535, 929, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 5048, 83, 5595, 536, 5674, 535, 5512, 1714, + 1016, 5602, 3438, 1409, 2975, 5688, 969, 1015, 2884, 3652, + 5688, 4406, 469, 4381, 6077, 3056, 3002, 3871, 5439, 5904, + 6215, 4836, 5486, 5079, 4379, 4572, 4379, 5081, 4843, 5462, + 3640, 3578, 3198, 4848, 6057, 5360, 4851, 4852, 6204, 5095, + 1549, 5935, 5934, 6098, 3645, 6239, 5102, 5126, 4593, 4619, + 1559, 4604, 5877, 226, 4562, 5111, 3070, 3070, 3150, 4401, + 3919, 408, 3677, 3155, 4588, 3157, 5469, 5120, 1011, 3963, + 5126, 5672, 5673, 4655, 5785, 3167, 6324, 6457, 3170, 5453, + 3172, 3173, 5874, 5139, 3176, 5141, 6432, 3879, 3180, 6110, + 3182, 4627, 5399, 3185, 1603, 1604, 5659, 5887, 5402, 18, + 28, 664, 4028, 4836, 4578, 1233, 5833, 4683, 1874, 5627, + 4843, 5167, 4686, 6320, 3086, 4848, 2742, 4630, 4851, 1918, + 1929, 3556, 5178, 5512, 5361, 3974, 5773, 1953, 716, 3811, + 749, 3001, 4434, 3728, 6136, 6370, 1528, 1646, 4659, 312, + 858, 1650, 1651, 4661, 3032, 2684, 6297, 4305, 5385, 6215, + 4874, 5622, 5625, 1915, 5396, 1425, 5871, 3249, 40, 40, + 5397, 4729, 5138, 5397, 3497, 1486, 3512, 514, 2694, 6036, + 1827, 5846, 3478, 1485, 4241, 5231, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 5241, 4259, 5309, 5244, 536, + 1384, 5247, 5248, 5249, 1488, 3475, 5581, 5580, 4306, 5441, + 3475, 6348, 6030, 6179, 5833, 3475, 6386, 5557, 4166, 2588, + 5847, 3415, 6, 5848, 2589, 3268, 5272, 5273, 2086, 10, + 5276, 3397, 13, 3031, 3395, 5797, 17, 18, 19, 5907, + 6388, 3385, 3119, 3305, 2594, 4098, 1442, 917, 5294, 2682, + -1, 5842, 5298, 5844, -1, -1, 37, -1, 5304, -1, + -1, -1, 5308, -1, -1, -1, 5312, 51, -1, 5315, + -1, 5317, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5328, -1, -1, 5331, -1, -1, -1, -1, + 5095, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6026, + -1, -1, 5321, -1, 5360, 5361, 5362, -1, 5364, -1, + -1, 5126, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1844, -1, -1, 40, -1, + 5396, 5397, -1, 6411, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 64, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5441, -1, -1, -1, -1, + -1, -1, -1, 5126, -1, -1, -1, 5453, 100, 6077, + -1, -1, 5458, 197, -1, -1, -1, 5463, -1, -1, + -1, -1, 206, 207, -1, -1, 5472, -1, -1, -1, + 214, -1, 216, 217, -1, -1, 5482, -1, -1, -1, + 5486, 4905, -1, 5489, -1, 226, 230, 3324, -1, -1, + -1, -1, -1, -1, 5500, 5501, 5502, 6174, 6175, 6373, + -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 163, -1, 5512, 5512, 5512, 5512, 5512, 5512, 5512, + 5512, -1, 5512, 5512, 5512, 5512, -1, 5512, 5512, -1, + 5536, -1, -1, 5512, 4958, 6433, 3373, -1, -1, 3581, + -1, 5467, -1, 5308, -1, -1, -1, 5553, 200, -1, + -1, 5557, -1, 5559, 0, 5602, 4980, -1, 6432, -1, + 3397, -1, -1, 5328, -1, 6307, 6308, 5573, -1, -1, + 5512, 312, 5498, 5512, -1, 5581, 3413, -1, 5584, -1, + -1, -1, 5588, 6457, 5512, -1, 5512, 6215, -1, 5595, + -1, -1, -1, 245, -1, 5360, 5602, -1, 250, -1, + 2059, 2060, 5501, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2076, 2077, 3661, + -1, 3663, -1, -1, -1, 5308, -1, -1, -1, 5053, + -1, 5396, -1, -1, -1, -1, -1, 5643, 3475, -1, + -1, 3478, 294, -1, 5650, 5328, -1, -1, -1, -1, + 2109, -1, -1, -1, -1, 101, -1, -1, -1, -1, + 5666, -1, 10, -1, -1, 13, 5672, 5673, -1, -1, + -1, 5677, 5678, 5679, 5680, 327, 5441, 5360, -1, -1, + -1, -1, -1, -1, 5871, -1, -1, -1, -1, 3526, + -1, -1, -1, 3530, -1, -1, -1, 3534, -1, 47, + -1, -1, 5708, -1, -1, -1, 54, -1, 154, -1, + 5716, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 372, 167, -1, -1, -1, 377, -1, 173, -1, -1, + -1, -1, 80, 179, 386, 5741, -1, 5502, 5744, 185, + -1, -1, 188, 395, -1, -1, 192, -1, -1, -1, + 5174, 403, -1, 6304, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5769, 416, 3807, -1, -1, -1, -1, + -1, 3813, -1, 425, -1, -1, 222, -1, 430, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 5797, -1, -1, -1, -1, -1, -1, -1, 451, + -1, -1, 6353, 5809, 152, -1, -1, -1, -1, 255, + -1, -1, 5818, 5819, 5820, -1, 5581, -1, 5824, 5502, + 5746, -1, -1, -1, 5830, -1, -1, 5833, -1, -1, + -1, -1, -1, -1, -1, 487, 5842, -1, 5844, 491, + 5846, 5847, -1, -1, -1, -1, -1, 5853, -1, -1, + 198, -1, -1, -1, 5860, 203, -1, -1, -1, -1, + 306, -1, -1, 5869, 310, 5871, -1, -1, -1, -1, + 316, -1, 6064, 5879, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5314, -1, -1, -1, -1, -1, -1, -1, 5581, -1, + -1, -1, -1, -1, -1, -1, 254, -1, -1, 5915, + 5916, -1, -1, -1, -1, -1, -1, -1, 662, -1, + -1, -1, -1, -1, 5850, -1, -1, -1, -1, -1, + 376, -1, -1, -1, -1, -1, -1, 681, -1, -1, + 5946, -1, -1, 687, -1, 6137, 6138, -1, -1, -1, + -1, 5716, -1, -1, 5960, 699, -1, 3999, -1, 4001, + -1, 4003, -1, -1, 312, -1, -1, -1, -1, -1, + -1, 715, -1, -1, -1, -1, 720, -1, -1, 5744, + -1, 725, -1, -1, -1, 729, 730, -1, -1, 435, + -1, -1, 736, -1, 738, 739, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6011, -1, 751, 752, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 762, 465, + 6026, -1, -1, -1, 6030, -1, -1, -1, -1, -1, + 6036, -1, -1, -1, -1, -1, -1, -1, -1, 6045, + -1, -1, -1, 489, -1, 491, 492, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6064, -1, + 408, 5744, -1, -1, -1, -1, -1, 513, -1, -1, + -1, 815, -1, 6079, -1, -1, -1, -1, -1, -1, + 6086, -1, -1, -1, -1, -1, -1, 533, 5853, -1, + 536, 537, 538, 837, 838, -1, -1, -1, -1, 843, + -1, -1, -1, -1, -1, -1, 6112, -1, -1, -1, + -1, -1, -1, 6119, -1, -1, -1, 3954, -1, -1, + -1, -1, -1, 6129, 868, -1, 870, -1, -1, -1, + -1, 6137, 6138, 6139, -1, -1, -1, 6143, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 894, -1, -1, 3990, -1, 10, -1, 6136, 13, -1, + 6166, 6167, 6168, -1, -1, -1, 514, -1, 6174, 6175, + 5853, -1, 6178, 917, -1, 6181, -1, -1, 526, 527, + 528, 529, 530, 531, -1, 6111, 930, -1, -1, -1, + -1, -1, 47, -1, 6136, 5960, -1, 6136, -1, 54, + -1, -1, 6249, 6209, -1, -1, 2665, 2666, 6136, -1, + 6136, -1, 2671, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, 5656, 6239, 6240, 6241, -1, 5661, 5662, 6245, + -1, -1, -1, -1, 2703, 2704, -1, -1, -1, -1, + -1, -1, -1, 6445, 6446, -1, -1, 6263, -1, -1, + -1, -1, -1, -1, 6270, -1, -1, -1, -1, -1, + 6249, -1, 6278, -1, -1, -1, -1, 5960, -1, -1, + 6286, -1, -1, -1, -1, -1, 6292, -1, -1, -1, + -1, 6297, -1, -1, 1038, 1039, 1040, 152, 6304, 6064, + -1, -1, -1, 1047, -1, -1, 2765, 6249, 1052, -1, + 6249, -1, -1, 1057, 1058, -1, -1, -1, 1062, -1, + 1064, 6249, -1, 6249, 1068, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6340, 6341, 6342, 6343, -1, -1, + 1084, -1, 6348, 198, -1, -1, -1, 6353, 203, -1, + 5774, -1, -1, 27, -1, -1, -1, 6363, -1, 33, + 6366, -1, -1, -1, 6129, -1, -1, 4204, -1, -1, + -1, -1, 6137, 6138, 48, -1, -1, -1, -1, -1, + 6386, -1, -1, -1, 1128, -1, 1130, 1131, -1, -1, + -1, 6370, -1, 2852, 4231, -1, -1, -1, -1, 254, + 0, -1, -1, -1, 78, 6411, 6412, -1, -1, -1, + -1, -1, -1, 5837, -1, -1, 4253, -1, -1, -1, + 4257, -1, 6428, -1, -1, -1, -1, 1171, 6370, -1, + -1, 6370, -1, -1, -1, -1, -1, -1, -1, 6445, + 6446, -1, 6370, 6449, 6370, 6451, 6129, -1, -1, -1, + -1, 0, -1, -1, -1, 1199, -1, 312, -1, 133, + -1, 135, 6468, -1, -1, -1, -1, -1, 142, -1, + -1, -1, 146, 22, 6239, -1, -1, -1, -1, -1, + 6245, -1, 2941, -1, 33, -1, 35, 36, 1232, -1, + 2949, -1, -1, 2952, -1, -1, -1, 1241, 6263, 1243, + 174, 101, -1, -1, 53, 2964, -1, -1, -1, -1, + -1, -1, -1, -1, 63, -1, 1260, -1, -1, -1, + -1, 1265, -1, -1, -1, -1, 75, -1, 77, 78, + -1, -1, -1, 1277, -1, 84, 210, 86, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 99, -1, 101, 408, 154, -1, 6239, -1, -1, -1, + -1, -1, 6245, -1, -1, -1, -1, 167, -1, 118, + -1, -1, 121, 173, -1, 1319, -1, 6342, -1, 179, + -1, -1, -1, -1, -1, 185, -1, 136, 188, 138, + 0, -1, 192, 142, -1, -1, -1, -1, -1, -1, + 149, 6366, -1, -1, 1348, 1349, 1350, -1, 1352, 158, + -1, 160, -1, -1, -1, -1, 290, -1, 167, -1, + 294, -1, 222, -1, -1, 4667, -1, -1, 4670, 1373, + 304, -1, -1, -1, -1, -1, 185, -1, -1, -1, + 314, -1, -1, -1, -1, -1, -1, 6412, -1, -1, + -1, -1, 326, 202, -1, 255, 1400, 4699, -1, 514, + -1, -1, -1, 6428, 1408, 1409, -1, -1, -1, -1, + -1, 526, 527, 528, 529, 530, 531, -1, -1, -1, + 6445, 6446, -1, 6366, -1, -1, -1, -1, 1432, -1, + -1, 101, -1, -1, 368, -1, -1, 371, 372, -1, + -1, -1, -1, -1, -1, -1, 306, 256, 257, -1, + 310, -1, -1, 262, -1, -1, 316, 1461, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 277, 403, + -1, -1, -1, -1, 1478, -1, -1, -1, 1482, 1483, + -1, -1, -1, -1, 154, -1, -1, 296, -1, -1, + -1, -1, 3211, -1, 1498, 4592, -1, 167, -1, -1, + 1504, -1, -1, 173, 10, -1, -1, 13, -1, 179, + -1, 17, 18, 19, -1, 185, 376, -1, 188, -1, + -1, 4618, 192, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, 343, -1, -1, -1, -1, -1, + -1, 47, 476, -1, -1, -1, -1, -1, 54, 358, + -1, -1, 222, -1, -1, 364, 365, -1, 367, -1, + -1, -1, -1, 372, -1, -1, -1, 1571, -1, 378, + -1, -1, 381, -1, 80, 435, -1, -1, -1, 388, + -1, -1, -1, -1, -1, 255, 395, 396, -1, -1, + -1, -1, -1, -1, 403, -1, -1, -1, 407, -1, + -1, 4903, -1, -1, -1, 465, -1, -1, 1612, 418, + -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, + 13, -1, -1, -1, -1, -1, 435, -1, -1, 489, + -1, 491, 492, -1, -1, -1, 306, -1, -1, -1, + 310, 1645, -1, -1, -1, -1, 316, 456, -1, -1, + -1, -1, -1, 513, 47, -1, -1, 4959, 4960, 468, + -1, 54, -1, 6347, -1, 474, -1, -1, -1, -1, + 479, -1, -1, 533, -1, -1, 536, 537, 538, -1, + -1, -1, -1, 492, -1, -1, -1, 80, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + -1, -1, -1, -1, -1, -1, 376, 516, 1712, 518, + 519, 520, 521, 522, -1, -1, -1, 3436, -1, 3438, + 226, 227, -1, 1727, 1728, 1729, 535, -1, -1, 538, + -1, -1, -1, -1, -1, 3454, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4843, -1, 254, -1, + -1, 4848, 5054, 5055, 4851, -1, -1, -1, -1, 152, + -1, -1, -1, -1, -1, 435, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4872, 4873, -1, -1, -1, + -1, -1, -1, -1, -1, 3504, 3505, -1, -1, -1, + -1, 297, -1, -1, -1, 465, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, 312, -1, -1, 315, + 203, -1, -1, -1, -1, -1, -1, -1, -1, 489, + -1, 491, 492, 1827, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1839, -1, -1, -1, 17, + -1, -1, -1, 513, -1, -1, 1850, -1, 26, -1, + -1, -1, -1, -1, -1, -1, 10, -1, 1862, 13, + -1, 254, 1866, 533, -1, -1, 536, 537, 538, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1885, 5184, -1, -1, 5187, 5188, -1, -1, 1893, + -1, -1, -1, 47, -1, -1, -1, 1901, -1, -1, + 54, -1, 408, 10, -1, 5207, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, 1920, -1, -1, 312, + -1, -1, -1, -1, -1, 1929, 80, -1, 1932, -1, + 37, 1935, -1, -1, 1938, 1939, -1, -1, 1942, 1943, + 47, 1945, 1946, -1, -1, -1, -1, 54, -1, -1, + -1, -1, -1, 1957, -1, 1959, 1960, -1, -1, -1, + -1, -1, -1, -1, -1, 1969, 1970, -1, 1972, 1973, + -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 152, -1, + -1, -1, -1, -1, -1, -1, 2010, -1, 514, -1, + 2014, 2015, -1, -1, -1, 408, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + -1, -1, -1, -1, 540, -1, -1, -1, -1, -1, + -1, 5138, -1, -1, 198, 2049, -1, 2051, -1, 203, + -1, 27, 2056, 2057, -1, -1, -1, 33, -1, 2063, + 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, + 2074, 2075, 48, -1, -1, 2079, -1, 2081, -1, 2083, + 2084, 2085, 2086, 2087, 2088, -1, -1, 2091, -1, 2093, + 2094, 198, -1, 2097, -1, -1, 203, -1, -1, -1, + 254, -1, 78, -1, -1, -1, -1, -1, -1, 2113, + 2114, 2115, 2116, -1, -1, -1, -1, -1, -1, 226, + 227, 514, -1, -1, -1, -1, -1, -1, 2132, -1, + 2134, -1, 0, 526, 527, 528, 529, 530, 531, -1, + -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, + -1, -1, -1, -1, 22, -1, -1, 133, 312, 135, + -1, 3880, -1, -1, -1, 33, 142, 35, 36, -1, + 146, -1, 27, -1, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, 3903, 53, -1, -1, -1, -1, + 297, -1, -1, -1, -1, 63, -1, -1, 174, -1, + -1, -1, -1, -1, -1, 312, -1, 75, 315, 77, + 78, 5308, -1, -1, -1, -1, 84, -1, 86, -1, + -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, + -1, 99, -1, 101, 210, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 118, -1, -1, 121, 408, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, + 138, -1, -1, -1, 142, 2279, -1, -1, -1, -1, + 135, 149, -1, -1, -1, -1, -1, 142, -1, -1, + 158, 146, 160, -1, -1, -1, -1, -1, -1, 167, + -1, 408, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 290, -1, -1, 185, 294, 174, + -1, -1, -1, -1, -1, -1, -1, 5629, 304, 2333, + -1, -1, -1, -1, 202, -1, 27, -1, 314, -1, + -1, 4060, 33, -1, -1, -1, -1, -1, -1, -1, + 326, -1, -1, -1, -1, 210, -1, 48, -1, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5467, -1, 526, 527, 528, 529, 530, 531, -1, -1, + -1, 5683, -1, -1, -1, 2389, -1, 78, 256, 257, + -1, -1, 368, -1, 262, 371, 372, -1, -1, -1, + -1, 5498, -1, -1, -1, -1, -1, 514, -1, 277, + -1, -1, -1, -1, -1, 5512, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, 403, 296, 536, + -1, -1, 539, -1, -1, 290, -1, -1, -1, 294, + -1, -1, -1, -1, 135, -1, -1, -1, -1, 304, + -1, 142, -1, -1, -1, 146, -1, -1, -1, 314, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 326, -1, -1, -1, 343, -1, -1, -1, -1, + -1, -1, -1, 174, -1, -1, -1, 665, -1, -1, + 358, -1, -1, -1, 5796, -1, 364, 365, -1, 367, + 476, -1, -1, -1, 372, 5602, -1, -1, -1, -1, + 378, -1, -1, 381, -1, 10, 371, 372, 13, 210, + 388, -1, 17, 18, 19, -1, -1, 395, 396, -1, + -1, -1, -1, -1, -1, 403, -1, 715, 716, 407, + -1, -1, 37, -1, -1, -1, -1, -1, 403, -1, + 418, -1, 47, 64, -1, -1, -1, 10, -1, 54, + 13, -1, -1, -1, 17, 18, 19, 435, -1, 2573, + 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, -1, 2583, + -1, -1, -1, -1, 37, 80, -1, -1, 456, 100, + 2594, -1, -1, 2597, 47, -1, -1, -1, -1, 290, + 468, 54, -1, 294, -1, -1, 474, -1, -1, -1, + -1, 479, -1, 304, -1, -1, -1, -1, -1, -1, + -1, 476, -1, 314, 492, -1, -1, 80, -1, -1, + -1, -1, -1, 811, 2638, 326, -1, -1, 2642, -1, + -1, 2645, -1, 2647, -1, -1, 2650, 5744, 516, 5746, + 2654, -1, 163, 831, -1, -1, -1, -1, -1, -1, + -1, 839, -1, -1, 842, 843, 844, 535, -1, -1, + 538, 2675, -1, 2677, -1, -1, -1, 368, -1, -1, + 371, 372, -1, -1, -1, -1, -1, -1, 4407, 200, + 2694, -1, -1, -1, -1, -1, -1, -1, -1, 2703, + 2704, -1, -1, 198, -1, -1, -1, 27, 203, -1, + -1, -1, 403, 33, -1, -1, 4435, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2730, -1, -1, -1, + 4449, 226, 227, 2737, -1, -1, -1, 2741, 2742, 250, + -1, -1, 4461, -1, 2748, 198, -1, -1, 2752, -1, + 203, -1, 2756, 5850, -1, -1, -1, -1, 78, 254, + -1, 2765, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 226, 227, -1, 2780, -1, -1, 2783, + -1, -1, -1, 294, -1, 476, -1, 64, -1, -1, + 2794, -1, 2796, 2797, -1, 2799, 2800, -1, 2802, -1, + -1, 254, 297, -1, -1, -1, -1, -1, -1, -1, + 2814, -1, -1, -1, -1, 135, 327, 312, 4537, 4538, + 315, -1, 142, 100, -1, -1, 146, -1, -1, -1, + 2834, 2835, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 297, 2849, -1, -1, -1, -1, + -1, -1, -1, -1, 174, -1, -1, -1, -1, 312, + -1, 372, 315, 374, -1, -1, 377, 2871, 2872, 1047, + -1, 2875, -1, -1, -1, 386, -1, -1, -1, -1, + -1, -1, -1, -1, 395, -1, 163, -1, -1, -1, + 210, 10, 403, -1, 13, 2899, 6198, 2901, 17, 18, + 19, 2905, -1, -1, -1, 416, 4625, -1, -1, -1, + -1, -1, -1, 408, 425, 2919, -1, -1, 37, 430, + -1, -1, 2926, 200, -1, 2929, -1, -1, 47, -1, + -1, 2935, -1, -1, -1, 54, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2955, -1, -1, -1, 408, -1, 2961, -1, 4678, + -1, 80, -1, -1, 2968, -1, -1, -1, -1, -1, + 290, -1, -1, 250, 294, -1, 487, -1, 2982, -1, + -1, -1, -1, -1, 304, -1, -1, -1, -1, -1, + -1, -1, 2996, -1, 314, -1, -1, 3001, -1, -1, + -1, -1, -1, 3007, -1, -1, 326, -1, -1, -1, + -1, -1, -1, 290, 6111, -1, -1, 294, -1, 514, + -1, 3025, 3026, 3027, -1, -1, -1, 3031, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 6136, + -1, -1, -1, -1, 539, -1, -1, -1, 368, 326, + 327, 371, 372, -1, 3058, 3059, -1, -1, -1, -1, + 1238, 514, -1, 3067, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 198, + -1, -1, -1, 403, 203, -1, 539, 1265, -1, -1, + -1, 368, -1, -1, 10, 372, 3100, 13, -1, -1, + 377, 17, 18, 19, -1, -1, -1, 226, 227, 386, + -1, -1, -1, -1, -1, -1, -1, -1, 395, -1, + -1, 37, -1, -1, -1, -1, 403, -1, 3132, -1, + -1, 47, 3136, -1, -1, 254, -1, -1, 54, 416, + -1, -1, 10, -1, -1, 13, -1, -1, 425, 17, + 18, 19, 6249, 430, -1, -1, 476, -1, -1, 64, + -1, -1, -1, -1, 80, -1, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 1354, -1, 297, 47, + -1, -1, -1, -1, -1, 1363, 54, -1, -1, -1, + -1, -1, -1, 312, -1, 100, 315, -1, -1, -1, + -1, 1379, -1, -1, -1, -1, -1, -1, -1, -1, + 487, -1, 80, -1, -1, -1, -1, -1, 3222, -1, + 3224, 4940, 1400, -1, -1, 1403, 1404, 4946, -1, -1, + 1408, 1409, 4951, -1, -1, 3239, -1, 3241, -1, -1, + -1, -1, -1, -1, 3248, -1, -1, -1, 3252, -1, + 3254, 3255, -1, 3257, 3258, 3259, 27, -1, 163, 4978, + 4979, -1, 33, 3267, 4983, 4984, -1, 51, 3272, 10, + -1, -1, 13, 6370, -1, -1, 17, 18, 19, -1, + -1, -1, 198, -1, -1, -1, 3290, 203, -1, 408, + -1, -1, -1, -1, -1, 200, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, 78, -1, -1, + 226, 227, -1, 54, -1, -1, -1, -1, 3322, 3323, + 3324, -1, -1, 3327, -1, -1, -1, -1, -1, -1, + 198, 3335, 3336, 3337, 3338, 203, -1, -1, 254, 80, + -1, -1, 3346, -1, -1, 250, -1, 3351, 3352, -1, + 3354, -1, 3356, -1, -1, -1, -1, -1, 226, 227, + -1, -1, -1, -1, 135, 3369, 3370, -1, -1, 3373, + -1, 142, -1, -1, -1, 146, -1, -1, -1, -1, + -1, 297, -1, -1, -1, 290, 254, -1, -1, 294, + 3394, -1, 3396, -1, 3398, 514, 312, -1, -1, 315, + -1, -1, -1, 174, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 3417, -1, -1, -1, 536, -1, -1, + -1, 326, 327, -1, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 10, 3438, -1, 13, -1, -1, 210, + 17, 18, 19, -1, 312, -1, -1, 315, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + 37, -1, 203, 368, -1, -1, -1, 372, -1, -1, + 47, 3475, 377, -1, 3478, -1, -1, 54, -1, -1, + -1, 386, -1, -1, -1, 226, 227, 1665, 3492, -1, + 395, -1, 408, 3497, -1, 1673, -1, -1, 403, -1, + -1, -1, -1, 80, -1, -1, -1, -1, 3512, -1, + -1, 416, -1, 254, -1, -1, -1, -1, -1, 290, + 425, -1, 3526, 294, -1, 430, -1, -1, -1, -1, + 3534, -1, -1, 304, -1, -1, -1, -1, -1, -1, + 408, -1, 3546, 314, -1, 3549, -1, 3551, -1, -1, + -1, -1, 3556, -1, -1, 326, 297, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3571, 3572, -1, + -1, 312, -1, 3577, 315, -1, -1, -1, -1, -1, + -1, -1, 487, -1, -1, -1, -1, -1, 3592, -1, + -1, 3595, -1, -1, 3598, -1, -1, 368, 514, -1, + 371, 372, 3606, -1, -1, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + 536, 198, -1, -1, -1, -1, 203, 3631, -1, -1, + -1, -1, 403, 3637, 27, -1, -1, -1, -1, -1, + 33, -1, -1, -1, -1, -1, 514, -1, -1, 226, + 227, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 5385, 408, 536, -1, + -1, -1, 3676, 3677, 3678, -1, -1, 254, -1, -1, + -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3701, -1, -1, + -1, -1, -1, -1, -1, 476, 3710, -1, 3712, -1, + 1888, -1, -1, -1, 1892, -1, 3720, -1, -1, -1, + 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, 3742, -1, + -1, -1, 135, -1, -1, -1, -1, -1, -1, 142, + -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, 174, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, -1, -1, 10, -1, + -1, 13, -1, -1, 3808, 17, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 210, -1, -1, + -1, -1, -1, -1, -1, 37, -1, -1, 3832, -1, + -1, 408, -1, 3837, -1, 47, -1, -1, -1, 3843, + -1, -1, 54, -1, -1, -1, -1, -1, 3852, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, -1, 80, 17, + 18, 19, -1, -1, -1, 3879, 3880, -1, -1, -1, + -1, 3885, -1, 3887, 2062, -1, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 3900, 290, 3902, 47, + -1, 294, -1, -1, -1, -1, 54, -1, -1, -1, + -1, 304, -1, -1, -1, -1, -1, -1, 3922, -1, + -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, 326, -1, -1, -1, 514, -1, -1, + -1, 725, -1, -1, 3948, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3969, 3970, 751, -1, 5688, + -1, -1, -1, -1, -1, 368, -1, -1, 371, 372, + -1, -1, -1, -1, -1, -1, 198, -1, 3992, -1, + -1, 203, 10, -1, -1, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, 4011, -1, -1, + 403, -1, -1, -1, 226, 227, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, 4030, -1, -1, 47, + 4034, -1, -1, -1, -1, -1, 54, -1, -1, -1, + -1, -1, 254, -1, 51, 10, -1, -1, 13, -1, + 198, 4055, 17, 18, 19, 203, 51, -1, -1, -1, + -1, -1, 80, -1, -1, -1, -1, 4071, -1, -1, + 4074, -1, 37, -1, -1, 4079, -1, 4081, 226, 227, + -1, -1, 47, 476, -1, 297, -1, -1, -1, 54, + -1, 4095, -1, -1, -1, 4099, 4100, 4101, -1, -1, + 312, -1, 4106, 315, -1, 4109, 254, -1, 4112, -1, + 894, -1, -1, -1, 4118, 80, 4120, -1, -1, 4123, + -1, -1, -1, 4127, 4128, 4129, 4130, 4131, -1, -1, + 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, + -1, -1, -1, 4147, 4148, 4149, -1, -1, 4152, 297, + -1, -1, -1, 4157, -1, -1, -1, -1, 4162, -1, + 4164, -1, 4166, -1, 312, -1, -1, 315, -1, -1, + 4174, -1, -1, 4177, -1, 4179, -1, 5896, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, -1, -1, + -1, 4195, -1, -1, 4198, 4199, 408, -1, -1, 4203, + 4204, -1, -1, -1, 4208, -1, 4210, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, 4239, 254, -1, 203, -1, + -1, 4245, -1, -1, -1, -1, -1, -1, -1, 4253, + -1, -1, -1, 4257, -1, -1, -1, -1, -1, -1, + 408, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1057, -1, -1, -1, -1, -1, 297, + -1, -1, -1, -1, 1068, -1, 4290, -1, -1, 254, + -1, -1, -1, -1, 312, -1, -1, 315, -1, -1, + 1084, -1, 514, 4307, -1, -1, -1, -1, -1, 4313, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, -1, -1, -1, -1, + -1, -1, 297, -1, -1, 4339, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, 27, 4362, -1, + -1, -1, -1, 33, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, -1, -1, 536, -1, + 408, 10, -1, -1, 13, -1, -1, 4401, 17, 18, + 19, -1, 4406, 4407, 4408, -1, -1, -1, 78, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, + 4434, 4435, -1, -1, -1, 54, -1, -1, 2616, -1, + -1, -1, -1, 408, 10, -1, -1, 13, -1, -1, + -1, 17, 18, 19, -1, -1, -1, 1241, -1, -1, + -1, 80, -1, -1, -1, 135, -1, -1, -1, -1, + -1, 37, 142, -1, -1, -1, 146, 4481, -1, -1, + 4484, 47, -1, -1, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, 174, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 80, -1, -1, -1, 536, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 210, -1, -1, -1, 4548, -1, -1, -1, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 534, + 4574, 4575, -1, -1, 4578, -1, -1, -1, -1, 198, + -1, 4585, -1, -1, 203, -1, -1, 2765, 4592, 4593, + -1, -1, -1, -1, -1, -1, -1, -1, 4602, -1, + -1, -1, -1, -1, -1, -1, -1, 226, 227, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1403, + 290, 4625, -1, -1, 294, -1, 4630, 4631, 4632, -1, + -1, -1, 198, -1, 304, 254, -1, 203, 4642, -1, + -1, -1, -1, 2821, 314, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6373, -1, 326, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 297, 4683, + -1, -1, 4686, -1, -1, -1, -1, -1, 254, -1, + -1, -1, -1, 312, -1, -1, 315, -1, 368, -1, + -1, 371, 372, -1, -1, -1, -1, -1, 4712, -1, + -1, -1, -1, 6432, -1, -1, -1, -1, 725, -1, + 1504, -1, -1, -1, -1, 4729, -1, -1, 207, 2907, + 725, 297, -1, 403, -1, 27, -1, 216, 6457, -1, + -1, 33, -1, 4747, 751, -1, 312, -1, -1, 315, + -1, 230, -1, 2931, -1, -1, 751, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, 4775, -1, -1, 4778, 33, -1, -1, -1, -1, + -1, -1, 4786, 4787, -1, 4789, 78, 1571, -1, 408, + 4794, 4795, -1, -1, -1, 4799, -1, -1, -1, -1, + 4804, -1, -1, 4807, 4808, -1, 476, -1, -1, -1, + 4814, -1, -1, -1, -1, -1, -1, 2995, -1, -1, + 78, 2999, -1, -1, -1, -1, -1, -1, 1612, -1, + -1, -1, 4836, -1, -1, -1, -1, -1, -1, 4843, + -1, -1, 408, 135, 4848, -1, -1, 4851, 4852, -1, + 142, -1, -1, -1, 146, 4859, -1, -1, 3036, -1, + 3038, 1645, 3040, 3041, -1, -1, 4870, 3045, 3046, 3047, + -1, 3049, 3050, 3051, 4878, -1, -1, 135, -1, -1, + -1, -1, 174, -1, 142, -1, -1, 894, 146, -1, + -1, -1, -1, -1, -1, 514, -1, -1, -1, 894, + -1, 4905, -1, -1, 523, 524, 525, 526, 527, 528, + 529, 530, 531, -1, 4918, -1, 174, 536, 210, 4923, + -1, -1, -1, -1, -1, 3103, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 514, -1, + 3128, -1, 210, -1, 4958, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, -1, + 536, 4975, 10, -1, -1, 13, 4980, -1, -1, 17, + 18, 19, -1, 4987, -1, -1, -1, -1, -1, -1, + -1, -1, 25, -1, -1, -1, -1, 30, 290, 5003, + -1, -1, 294, -1, -1, -1, 5010, -1, -1, 47, + -1, -1, 304, -1, -1, -1, 54, -1, 5022, -1, + -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, + -1, 1038, 290, -1, 326, 68, 294, -1, -1, -1, + -1, -1, 80, -1, -1, -1, 304, -1, 81, 5053, + 1057, -1, -1, -1, -1, 1839, 314, -1, -1, -1, + -1, 1068, 1057, -1, -1, 98, 1850, -1, 326, -1, + -1, -1, -1, 1068, -1, 5079, 368, 1084, -1, 371, + 372, -1, 1866, 116, -1, -1, -1, -1, -1, 1084, + -1, 5095, -1, -1, -1, -1, 5100, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, + 368, 403, -1, 371, 372, 5119, -1, -1, -1, -1, + 153, -1, 5126, -1, -1, -1, -1, -1, -1, 162, + -1, -1, -1, -1, -1, -1, 1920, -1, -1, -1, + -1, -1, 175, -1, -1, 403, -1, -1, 181, -1, + -1, 1935, -1, -1, 1938, 1939, -1, -1, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, 5172, -1, + 5174, -1, -1, -1, -1, 208, -1, -1, -1, -1, + -1, -1, -1, -1, 476, 1969, 1970, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5205, 681, -1, -1, -1, -1, -1, 687, -1, + -1, -1, -1, -1, -1, -1, 254, -1, 476, -1, + 699, -1, -1, -1, -1, -1, -1, 5231, -1, -1, + -1, -1, -1, -1, 1241, 268, -1, 5241, -1, -1, + 5244, -1, -1, 5247, 5248, 5249, 1241, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 10, 297, + 3438, 13, -1, -1, -1, 17, 18, 19, 5272, 5273, + -1, -1, 5276, -1, 312, -1, -1, -1, -1, 312, + -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, + 5294, -1, -1, -1, 5298, 47, -1, -1, -1, -1, + 5304, -1, 54, -1, 5308, -1, -1, -1, -1, -1, + 5314, 5315, -1, -1, -1, 348, 349, -1, -1, 352, + -1, -1, -1, -1, 5328, -1, -1, 5331, 80, 2113, + -1, -1, 5336, -1, 5338, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 380, -1, -1, + 383, -1, -1, -1, -1, -1, 5360, 390, -1, -1, + -1, -1, -1, -1, 397, -1, -1, 400, -1, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5385, 5386, -1, -1, -1, -1, 420, 27, -1, + -1, -1, 5396, -1, 33, 428, -1, -1, -1, -1, + -1, -1, 435, -1, -1, 438, -1, -1, -1, -1, + 443, -1, -1, -1, -1, -1, 8, 3595, 451, -1, + -1, -1, 14, 15, -1, 458, -1, -1, 20, -1, + 22, -1, 5436, -1, -1, -1, 28, 5441, 30, 78, + -1, -1, -1, -1, -1, -1, 198, -1, -1, -1, + -1, 203, 485, -1, -1, -1, -1, 49, 50, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 226, 227, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 135, 1504, 5502, -1, + -1, 5505, 254, 142, 3682, -1, -1, 146, -1, 1504, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5536, -1, -1, 174, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 297, -1, -1, -1, 5553, + -1, -1, -1, 5557, -1, 5559, -1, -1, -1, -1, + 312, -1, 3740, 315, 1571, -1, -1, -1, -1, 5573, + -1, 210, -1, -1, -1, -1, 1571, 5581, -1, -1, + 5584, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5595, -1, -1, -1, -1, -1, -1, 5602, -1, + -1, -1, -1, -1, -1, 1612, -1, -1, 200, -1, + -1, -1, 204, -1, -1, -1, -1, 1612, -1, -1, + 212, -1, -1, 215, -1, -1, 218, 219, -1, 221, + -1, 223, 3810, -1, 226, -1, 228, -1, 1645, -1, + -1, -1, -1, -1, -1, -1, 5650, -1, -1, -1, + 1645, 290, 5656, -1, -1, 294, 408, 5661, 5662, -1, + -1, -1, 5666, -1, -1, 304, -1, -1, 5672, 5673, + 5674, -1, -1, -1, 10, 314, -1, 13, -1, -1, + 3858, 17, 18, 19, 5688, -1, -1, 326, -1, -1, + -1, -1, 3870, 3871, -1, -1, -1, -1, -1, -1, + -1, 37, 3880, -1, 5708, -1, -1, 3885, -1, 3887, + -1, 47, 5716, -1, -1, 5719, -1, -1, 54, -1, + 1727, 1728, 1729, -1, -1, -1, -1, -1, -1, 368, + -1, -1, 371, 372, -1, -1, -1, -1, -1, -1, + 5744, -1, -1, -1, 80, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3933, -1, -1, -1, -1, + -1, -1, 514, -1, 403, -1, -1, -1, -1, 5773, + 5774, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, -1, -1, -1, -1, + 3968, 3969, -1, 5797, 5798, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5809, -1, -1, -1, -1, + -1, -1, -1, -1, 5818, 5819, 5820, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5833, + 5834, -1, 1839, 5837, -1, -1, -1, 476, 5842, -1, + 5844, -1, 5846, 1850, 1839, -1, -1, -1, -1, 5853, + -1, -1, -1, -1, -1, 1850, 5860, -1, -1, 1866, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + -1, 1866, -1, -1, -1, 5879, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 226, 227, -1, -1, -1, -1, 51, 64, -1, -1, + 5904, -1, -1, 5907, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1920, -1, -1, -1, -1, 254, -1, + -1, -1, -1, -1, -1, 1920, -1, -1, 1935, -1, + -1, 1938, 1939, 100, -1, -1, -1, -1, -1, -1, + 1935, -1, -1, 1938, 1939, -1, -1, -1, -1, -1, + -1, -1, -1, 2737, -1, -1, 5960, 2741, 2742, -1, + -1, 297, 1969, 1970, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1969, 1970, 312, -1, -1, 315, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4173, 163, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 6011, -1, -1, + -1, -1, 2796, -1, -1, -1, -1, -1, 2802, -1, + -1, -1, 6026, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6036, 200, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6050, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6064, -1, 2069, -1, -1, 2849, -1, -1, -1, -1, + -1, 663, 408, 6077, -1, -1, 2083, -1, -1, 2086, + -1, -1, 674, 250, -1, -1, 678, -1, -1, -1, + -1, -1, -1, 685, 686, -1, -1, 689, -1, 691, + 692, -1, -1, -1, -1, -1, 2113, -1, -1, -1, + -1, -1, -1, -1, 706, 6119, -1, -1, 2113, -1, + -1, -1, -1, 290, -1, 6129, -1, 294, -1, 51, + -1, -1, 724, 6137, 6138, -1, -1, -1, -1, 6143, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 745, -1, 747, -1, -1, -1, 326, + 327, -1, -1, -1, -1, 757, -1, -1, -1, -1, + 6174, 6175, -1, -1, 6178, -1, -1, 10, 514, -1, + 13, -1, -1, -1, 17, 18, 19, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, 790, -1, + 536, 368, -1, -1, 37, 372, -1, -1, -1, -1, + 377, 6215, -1, -1, 47, -1, -1, -1, -1, 386, + -1, 54, -1, -1, -1, -1, -1, -1, 395, 4407, + -1, -1, -1, 1712, -1, 6239, 403, -1, -1, -1, + -1, 6245, -1, -1, -1, -1, -1, 80, -1, 416, + -1, -1, -1, -1, -1, -1, -1, 4435, 425, 6263, + -1, -1, -1, 430, -1, -1, 6270, -1, -1, -1, + -1, -1, 4450, -1, -1, 3059, 4454, -1, 4456, 871, + -1, -1, 6286, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6304, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 487, -1, -1, -1, 4502, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6342, -1, + 4518, -1, -1, 6347, -1, 4523, -1, -1, 3132, 6353, + -1, -1, 3136, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6366, -1, 956, 198, -1, -1, -1, 6373, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 226, 227, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1885, 6411, 6412, -1, + -1, -1, -1, -1, 1893, -1, -1, -1, -1, -1, + -1, 254, 1901, -1, 6428, -1, -1, -1, 6432, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1030, -1, + -1, 6445, 6446, -1, 4622, -1, -1, 4625, -1, -1, + -1, -1, -1, 6457, -1, 3239, -1, -1, -1, -1, + -1, -1, -1, 1055, 297, -1, -1, 1946, -1, -1, + 3254, -1, -1, -1, -1, 3259, -1, -1, 1070, 312, + 1072, -1, 315, -1, -1, -1, -1, -1, -1, -1, + 1082, -1, -1, -1, 1973, -1, -1, 1089, -1, -1, + -1, -1, -1, -1, -1, -1, 3290, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4701, 4702, 4703, 4704, -1, 4706, 4707, + 4708, 4709, 4710, -1, -1, -1, -1, -1, -1, -1, + 1132, -1, 1134, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 725, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2597, -1, -1, -1, -1, -1, 751, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1208, -1, 1210, -1, + 1212, -1, 1214, -1, 1216, 1217, 1218, -1, -1, -1, + -1, 1223, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1235, -1, -1, -1, -1, 4826, -1, + 4828, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, 514, 17, 18, 19, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 37, 536, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, 54, + 25, -1, -1, -1, -1, 30, -1, -1, -1, -1, + 2737, -1, -1, -1, 2741, 2742, -1, -1, -1, 894, + -1, -1, 2737, -1, -1, 80, 2741, 2742, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3546, -1, -1, 3549, -1, 3551, -1, -1, + -1, -1, 3556, -1, -1, -1, 81, 82, -1, 51, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 2796, + -1, -1, -1, 98, -1, 2802, -1, -1, -1, -1, + -1, 2796, -1, 725, -1, -1, -1, 2802, -1, -1, + -1, 116, 10, -1, 3598, 13, -1, -1, -1, 17, + 18, 19, 3606, -1, -1, -1, -1, -1, -1, 751, + -1, -1, -1, 1425, -1, 140, -1, -1, -1, 37, + -1, -1, 2849, -1, -1, -1, -1, 3631, 153, 47, + -1, -1, -1, -1, 2849, -1, 54, 162, -1, -1, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + 175, -1, -1, 5051, 5052, -1, 181, -1, -1, -1, + -1, -1, 80, -1, -1, -1, 5064, -1, 5066, 5067, + 5068, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1057, 208, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1068, -1, 10, -1, -1, 13, 254, + -1, -1, 17, 18, 19, -1, 3710, -1, 3712, 1084, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 246, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 47, 1545, 5132, -1, -1, -1, -1, 54, + -1, -1, 297, 268, -1, -1, -1, -1, -1, -1, + -1, -1, 894, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, 5171, -1, -1, -1, -1, -1, -1, + 198, -1, -1, -1, -1, 203, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3027, -1, -1, -1, 3808, 1617, -1, -1, 226, 227, + -1, -1, -1, -1, -1, -1, 5214, -1, -1, -1, + -1, -1, -1, 348, 349, -1, -1, 352, -1, -1, + -1, -1, 3059, -1, -1, -1, 254, -1, -1, -1, + 51, -1, -1, -1, 3059, -1, -1, -1, 3852, -1, + -1, -1, -1, 408, -1, 380, -1, -1, 383, -1, + -1, -1, -1, -1, -1, 390, 1241, -1, -1, -1, + -1, -1, 397, -1, -1, 400, 3880, -1, -1, 297, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + -1, -1, -1, -1, 312, 420, -1, 315, -1, -1, + -1, -1, -1, 428, -1, 3132, -1, -1, -1, 3136, + 435, 226, 227, 438, -1, 1057, -1, 3132, 443, -1, + -1, 3136, -1, -1, -1, -1, 1068, -1, -1, -1, + -1, -1, -1, 458, -1, -1, -1, -1, -1, 254, + -1, -1, 1084, -1, 3948, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 514, + 485, -1, -1, -1, -1, -1, 3970, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + -1, 536, 297, -1, -1, -1, -1, 5385, 3992, -1, + 408, -1, -1, -1, -1, -1, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3239, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1835, 3239, -1, -1, 3254, -1, -1, + -1, 2730, 3259, 5431, -1, -1, -1, -1, -1, 3254, + -1, -1, 5440, -1, 3259, -1, -1, -1, -1, 2748, + -1, -1, -1, 2752, -1, -1, -1, 2756, 1870, -1, + -1, -1, -1, 3290, -1, -1, -1, -1, 51, -1, + 4074, -1, -1, -1, -1, 3290, -1, -1, -1, -1, + -1, 2780, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 408, -1, -1, 514, -1, -1, 1241, + -1, -1, -1, -1, 1916, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, 2814, -1, -1, 536, -1, + -1, -1, -1, 4127, 1936, -1, -1, -1, -1, 1504, + -1, -1, -1, -1, -1, 2834, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4152, -1, + 1962, -1, 1964, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1979, -1, 1981, + -1, -1, -1, 2872, -1, 1987, -1, 1989, -1, 1991, + -1, 1993, -1, 1995, -1, -1, -1, 1999, -1, -1, + -1, -1, -1, -1, -1, -1, 1571, -1, -1, 514, + 2899, -1, -1, -1, -1, -1, 2905, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + 2919, 536, -1, -1, 2036, -1, -1, 2926, -1, -1, + 2929, -1, -1, 725, -1, -1, 2935, 1612, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2955, -1, -1, 751, + -1, -1, 2961, -1, -1, -1, -1, -1, -1, 2968, + 1645, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2982, -1, -1, -1, -1, -1, -1, + 5688, -1, -1, -1, 5692, -1, -1, 2996, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3007, 4313, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3546, + -1, -1, 3549, -1, 3551, -1, -1, -1, -1, 3556, + -1, 3546, -1, -1, 3549, -1, 3551, -1, -1, -1, + -1, 3556, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1504, -1, -1, -1, -1, -1, -1, -1, + -1, 3598, -1, -1, -1, -1, -1, -1, -1, 3606, + -1, -1, -1, 3598, -1, -1, -1, -1, -1, -1, + -1, 3606, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 894, 4407, 3631, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 10, -1, 3631, 13, -1, -1, + -1, 17, 18, 19, -1, -1, -1, -1, -1, 1571, + -1, 4435, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, -1, -1, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, 1839, -1, -1, -1, -1, -1, + 1612, -1, -1, -1, -1, 1850, -1, -1, -1, -1, + -1, -1, -1, 3710, 80, 3712, -1, -1, -1, -1, + -1, 1866, -1, -1, -1, 3710, -1, 3712, -1, -1, + -1, -1, -1, 1645, -1, -1, -1, -1, -1, 5907, + -1, -1, -1, 5911, 725, 5913, -1, -1, -1, 5917, + 5918, -1, -1, 3222, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 751, -1, 3241, -1, -1, 1920, -1, -1, -1, 3248, + -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, + 1935, -1, -1, 1938, 1939, 1057, -1, -1, -1, -1, + -1, -1, -1, -1, 4578, -1, 1068, -1, -1, -1, + -1, 3808, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1084, 3808, 1969, 1970, -1, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + 3837, -1, -1, -1, -1, -1, 3843, -1, -1, -1, + -1, 4625, -1, -1, -1, 3852, 4630, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, 3852, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3880, -1, -1, -1, -1, 254, -1, + -1, -1, -1, -1, -1, 3880, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 894, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1839, -1, -1, + -1, 297, -1, -1, -1, -1, -1, -1, 1850, -1, + -1, -1, -1, -1, -1, -1, 312, -1, -1, 315, + -1, 3948, -1, -1, 1866, -1, -1, -1, -1, -1, + -1, -1, -1, 3948, -1, -1, -1, -1, 2113, -1, + -1, -1, 725, 3970, -1, -1, -1, -1, -1, 1241, + -1, -1, -1, -1, -1, 3970, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3992, -1, -1, 751, -1, + -1, -1, -1, -1, -1, -1, -1, 3992, 1920, -1, + -1, -1, -1, -1, -1, 4789, -1, -1, -1, -1, + -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 408, -1, -1, -1, -1, 6215, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1969, 1970, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1057, 4074, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1068, -1, 4074, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1084, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3592, -1, -1, -1, -1, -1, -1, + 4127, 4905, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 894, 4127, -1, -1, -1, -1, -1, 514, 2731, + 2732, -1, -1, -1, -1, 4152, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, 4152, 2750, 2751, + 536, 2753, 2754, -1, -1, -1, 2758, 2759, -1, -1, + -1, -1, -1, -1, 4958, -1, -1, -1, -1, -1, + -1, 2773, -1, -1, -1, 2777, -1, -1, -1, 2781, + 2782, 2113, -1, 2785, 2786, 6373, 4980, -1, -1, -1, + 2792, -1, 6380, -1, -1, -1, 6384, -1, -1, -1, + -1, -1, 2804, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3701, -1, 2816, -1, -1, -1, -1, 2821, + -1, -1, 1504, -1, -1, -1, -1, -1, -1, -1, + 6418, -1, -1, -1, 2836, -1, -1, -1, 2840, -1, + 1241, -1, -1, -1, 6432, -1, -1, -1, -1, 2851, + -1, -1, 2854, -1, 2856, 2857, 2858, -1, -1, 5053, + -1, 2863, 2864, -1, -1, -1, -1, -1, -1, 6457, + -1, 2873, 6460, -1, -1, -1, -1, 2879, -1, -1, + -1, 2883, -1, -1, 1057, -1, -1, -1, -1, 1571, + -1, -1, -1, 2895, 2896, 1068, 4313, -1, 2900, -1, + -1, -1, -1, -1, 2906, 2907, -1, -1, 4313, -1, + -1, 1084, -1, -1, -1, -1, -1, -1, 2920, -1, + -1, 2923, -1, -1, -1, -1, -1, -1, 2930, 2931, + 1612, -1, -1, -1, 2936, -1, -1, -1, -1, -1, + -1, -1, -1, 3832, -1, -1, 2948, -1, -1, 2951, + -1, -1, -1, -1, 2956, -1, -1, -1, -1, -1, + 2962, 2963, -1, 1645, -1, -1, -1, -1, 2970, -1, + -1, -1, 2974, -1, -1, -1, 2978, 2979, 2980, 2981, + 5174, 2983, -1, -1, -1, -1, -1, -1, -1, -1, + 4407, -1, -1, -1, -1, 2997, 2998, -1, 3000, -1, + -1, -1, 4407, -1, -1, -1, -1, -1, -1, 3011, + 3012, 3013, -1, -1, -1, -1, -1, -1, 4435, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4435, -1, -1, -1, -1, -1, 725, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 751, -1, -1, -1, 3068, -1, 1241, -1, + -1, -1, -1, -1, 3076, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3095, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1504, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + 5314, -1, 4011, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + -1, 4030, -1, 3145, -1, 4034, 47, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, 1839, -1, -1, + -1, 4578, 3164, -1, 3166, -1, -1, -1, 1850, -1, + 1571, -1, 2737, 4578, -1, -1, 2741, 2742, -1, 80, + -1, -1, -1, -1, 1866, -1, -1, -1, -1, -1, + -1, 5385, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 894, -1, -1, 4625, -1, + -1, 1612, -1, 4630, -1, -1, -1, -1, -1, -1, + 4625, -1, -1, -1, -1, 4630, -1, -1, -1, -1, + -1, 2796, -1, -1, -1, -1, -1, 2802, 1920, -1, + -1, -1, -1, -1, 1645, -1, -1, -1, -1, -1, + -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, 3261, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2849, -1, -1, 1969, 1970, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, + -1, 5505, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 226, 227, -1, -1, -1, + -1, 1504, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1057, -1, + -1, -1, 4789, -1, -1, -1, -1, -1, -1, 1068, + -1, -1, -1, -1, 4789, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1084, 297, -1, 1571, -1, + -1, -1, -1, -1, -1, 2737, -1, -1, -1, 2741, + 2742, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2113, -1, -1, -1, -1, -1, -1, 1839, 1612, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1850, + 4339, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5656, -1, 2796, 1866, -1, 5661, 5662, -1, + 2802, -1, 1645, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4905, -1, + -1, -1, -1, -1, 3059, -1, -1, -1, -1, -1, + 4905, -1, -1, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2849, -1, 1920, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1935, -1, -1, 1938, 1939, -1, + -1, 4958, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1241, 4958, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4980, -1, -1, -1, 3132, 1969, 1970, + -1, 3136, -1, -1, -1, 4980, -1, -1, -1, -1, + 5774, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3593, 4481, -1, -1, 4484, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3610, -1, + -1, -1, 3614, 514, -1, -1, -1, 3619, 3620, 3621, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, 5053, -1, -1, 3641, + -1, -1, -1, 5837, -1, -1, -1, -1, 5053, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3664, 3665, 3666, 3667, 1839, -1, -1, -1, + -1, -1, -1, -1, 3239, -1, -1, 1850, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3254, + -1, -1, -1, 1866, 3259, -1, 4585, -1, -1, -1, + 3702, -1, 3704, 3705, 3706, -1, -1, -1, -1, -1, + -1, -1, 2113, 4602, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3290, -1, 3059, -1, -1, + -1, -1, 27, -1, -1, -1, -1, -1, 33, -1, + -1, -1, -1, -1, -1, 40, -1, 1920, -1, -1, + -1, -1, -1, -1, -1, 5172, -1, 5174, -1, -1, + -1, -1, 1935, -1, -1, 1938, 1939, 62, -1, 5174, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4683, -1, 1969, 1970, -1, -1, + 3132, -1, -1, -1, 3136, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1504, -1, -1, -1, 114, + -1, -1, 3824, -1, -1, -1, -1, -1, -1, -1, + -1, 3833, -1, -1, -1, -1, -1, -1, -1, -1, + 135, -1, -1, -1, -1, -1, -1, 142, -1, -1, + -1, 146, -1, -1, -1, -1, -1, 3859, 3860, -1, + -1, -1, 3864, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, + -1, -1, 1571, -1, 3886, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5314, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3239, -1, 5314, + -1, 206, -1, -1, -1, 210, -1, -1, -1, -1, + -1, -1, 3254, 1612, -1, -1, -1, 3259, -1, -1, + -1, -1, -1, -1, -1, -1, 3938, -1, -1, -1, + 2113, 3943, -1, -1, -1, -1, -1, 3949, -1, -1, + -1, -1, -1, -1, -1, -1, 1645, -1, 3290, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5385, 264, + -1, -1, -1, -1, 269, -1, -1, 3979, -1, 274, + 5385, 3546, -1, -1, 3549, -1, 3551, -1, -1, -1, + -1, 3556, -1, -1, -1, 290, -1, -1, -1, 294, + -1, -1, -1, -1, -1, -1, 4008, -1, 4010, 304, + -1, -1, -1, -1, -1, -1, -1, 10, -1, 314, 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, + 325, 326, -1, 3598, -1, -1, -1, -1, -1, -1, + -1, 3606, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, 2737, -1, -1, -1, 2741, + 2742, 54, -1, -1, -1, -1, 3631, -1, -1, -1, + -1, -1, -1, 368, -1, -1, 371, 372, 373, -1, + -1, -1, -1, -1, -1, -1, 4975, 80, 5505, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4987, -1, + 5505, -1, 397, -1, -1, -1, -1, -1, 403, -1, + -1, -1, -1, -1, 2796, -1, -1, -1, -1, -1, + 2802, -1, -1, 418, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3710, -1, 3712, -1, -1, + 1839, -1, -1, 6347, -1, -1, -1, -1, -1, -1, + -1, 1850, -1, -1, -1, -1, -1, 2849, -1, -1, + -1, -1, -1, -1, 469, -1, -1, 1866, -1, -1, + -1, 476, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, 3546, -1, -1, 3549, -1, 3551, + -1, -1, -1, -1, 3556, -1, -1, -1, -1, -1, + -1, 1920, -1, 226, 227, -1, -1, -1, -1, 5656, + -1, -1, -1, 3808, 5661, 5662, 1935, -1, -1, 1938, + 1939, 5656, -1, -1, -1, -1, 5661, 5662, -1, -1, + -1, 254, -1, -1, -1, -1, 3598, -1, -1, -1, + -1, -1, -1, -1, 3606, -1, -1, -1, -1, -1, + 1969, 1970, -1, -1, -1, -1, -1, 3852, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 3631, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3880, 5205, -1, -1, 312, + -1, -1, 315, 4325, -1, 4327, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 2737, -1, 4340, -1, + 2741, 2742, -1, -1, -1, -1, -1, -1, -1, -1, + 4352, -1, -1, -1, 4356, -1, 5773, 5774, -1, -1, + -1, -1, -1, -1, -1, 4367, -1, -1, -1, 5774, + -1, -1, -1, -1, -1, -1, -1, 3059, 3710, -1, + 3712, -1, -1, 3948, 4386, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2796, -1, -1, -1, -1, + -1, 2802, 4404, -1, -1, 3970, -1, -1, -1, -1, + 4412, -1, -1, -1, -1, 408, -1, -1, -1, -1, + 5837, -1, -1, -1, 2113, -1, -1, 3992, -1, -1, + -1, -1, 5837, -1, -1, 4437, -1, -1, -1, 4441, + -1, -1, -1, -1, -1, -1, -1, 5336, 2849, 5338, + 3132, -1, -1, -1, 3136, 4457, 4458, 4459, 4460, -1, + -1, -1, -1, -1, -1, 4467, 4468, 4469, 4470, -1, + -1, -1, -1, -1, 4476, 4477, 3808, -1, -1, -1, + 4482, 4483, -1, 4485, 4486, 4487, 4488, 4489, 4490, 4491, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4501, + -1, -1, -1, 4505, 4506, 4507, 4508, -1, -1, 4074, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3852, 514, -1, -1, -1, -1, -1, 4529, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, -1, 536, -1, 4547, -1, -1, 3880, -1, + -1, -1, -1, -1, -1, -1, -1, 3239, -1, -1, + -1, -1, 4127, -1, 2737, -1, -1, -1, 2741, 2742, + -1, -1, 3254, -1, -1, 10, -1, 3259, 13, -1, + -1, -1, 17, 18, 19, -1, -1, 4152, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, 3290, -1, + -1, -1, 47, -1, -1, -1, 3948, -1, -1, 54, + -1, 4623, -1, 2796, -1, -1, -1, -1, -1, 2802, + -1, -1, -1, -1, -1, -1, -1, -1, 3970, -1, + -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, -1, 4656, -1, -1, -1, 3059, 10, + 3992, 4663, 13, 4665, -1, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, -1, 2849, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, + -1, 4693, -1, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, + -1, 3132, -1, -1, -1, 3136, -1, -1, 10, -1, + -1, 13, 4074, -1, -1, 17, 18, 19, 4313, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, 37, -1, -1, 203, -1, + -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, + -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, + -1, 226, 227, -1, -1, 4127, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 254, + 4152, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3239, -1, + -1, -1, 4407, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 3254, -1, -1, -1, -1, 3259, -1, + -1, -1, 297, -1, 3546, -1, -1, 3549, -1, 3551, + 4435, -1, -1, -1, 3556, 226, 227, 312, -1, -1, + 315, -1, -1, -1, -1, -1, 3059, -1, -1, 3290, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 254, 4906, 4907, 4908, -1, -1, -1, + 4912, 4913, 4914, 4915, -1, -1, 3598, 4919, -1, -1, + -1, -1, -1, -1, 3606, -1, 198, -1, -1, -1, + 6347, 203, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 6347, -1, -1, -1, 297, -1, -1, 3631, + -1, -1, -1, -1, 226, 227, -1, -1, -1, 3132, + -1, 312, -1, 3136, 315, -1, -1, -1, 4970, 4971, + 4972, 4973, 4974, 408, 4976, 4977, -1, -1, -1, -1, + -1, 4313, 254, -1, -1, -1, 4988, 4989, -1, -1, + -1, -1, -1, -1, 6411, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4578, -1, -1, -1, -1, -1, -1, + -1, 5023, -1, -1, -1, 297, -1, -1, 3710, -1, + 3712, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 312, -1, -1, 315, -1, -1, -1, -1, 2737, -1, + -1, -1, 2741, 2742, -1, -1, -1, 408, -1, -1, + 4625, -1, -1, -1, -1, 4630, 3239, -1, -1, -1, + -1, -1, -1, -1, -1, 4407, -1, -1, -1, 514, + -1, 3254, -1, -1, -1, -1, 3259, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, -1, + -1, 536, -1, 4435, -1, -1, -1, 2796, -1, -1, + -1, -1, -1, 2802, -1, -1, -1, 3290, -1, -1, + -1, -1, -1, 5125, -1, -1, 3808, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 408, -1, -1, -1, + -1, -1, -1, -1, -1, 3546, -1, -1, 3549, -1, + 3551, -1, -1, -1, -1, 3556, -1, -1, -1, -1, + 2849, 6050, -1, 514, -1, -1, -1, -1, -1, -1, + 3852, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 536, -1, -1, 5190, -1, + -1, -1, -1, -1, -1, -1, -1, 3598, 3880, -1, + -1, -1, -1, -1, -1, 3606, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5222, -1, -1, -1, 4789, -1, -1, -1, -1, -1, + 3631, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 514, -1, -1, -1, 4578, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, 536, -1, 3948, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3970, -1, + -1, -1, 207, 4625, -1, -1, -1, -1, 4630, -1, + -1, 216, -1, -1, -1, -1, -1, -1, -1, 3710, + 3992, 3712, -1, -1, -1, 230, -1, -1, -1, 5321, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 36, -1, -1, -1, 4863, -1, 10, - -1, -1, 13, 46, -1, -1, 17, 18, 19, -1, - 53, 382, -1, 4879, -1, -1, -1, -1, -1, -1, - 4886, -1, -1, -1, 133, 36, -1, -1, -1, 4895, - -1, 140, -1, -1, 143, 46, 79, -1, -1, -1, - -1, -1, 53, -1, 4910, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4923, -1, 4925, - -1, 170, -1, -1, -1, -1, -1, -1, 79, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 26, 4951, -1, -1, -1, -1, - 32, -1, -1, -1, -1, 204, 4962, 4624, -1, -1, - -1, -1, -1, -1, 4631, -1, -1, -1, -1, 4636, - -1, 482, 4639, 4640, -1, 3466, -1, -1, -1, 490, - 491, 492, 493, 494, 495, 496, 497, 498, -1, -1, - -1, -1, 503, -1, -1, 77, -1, -1, -1, -1, - -1, 5007, -1, -1, 5010, -1, -1, 5013, 5014, 5015, - 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, - 269, -1, -1, -1, 273, -1, -1, -1, -1, -1, - -1, -1, 5038, 5039, 283, -1, 5042, 220, 221, -1, - -1, -1, 193, 292, -1, -1, -1, 198, -1, -1, - -1, 133, 235, -1, -1, 304, -1, 5063, 140, -1, - -1, 143, -1, 5069, -1, 3310, -1, 5073, -1, 220, - 221, 5077, -1, -1, 5080, 3566, 5082, -1, -1, -1, - -1, -1, -1, -1, 235, -1, -1, 5093, 170, -1, - 5096, -1, -1, 276, 343, -1, -1, 346, 347, -1, - -1, 5107, 5108, 5109, -1, 5111, -1, 290, -1, -1, - 293, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4348, -1, 204, -1, -1, 276, -1, -1, 377, -1, - -1, -1, -1, -1, 4362, -1, -1, -1, -1, 290, - -1, -1, 293, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5158, 5159, -1, -1, 206, 207, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + 4905, -1, 17, 18, 19, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + 3059, -1, 47, 3546, -1, -1, 3549, -1, 3551, 54, + -1, -1, -1, 3556, -1, 5387, -1, -1, -1, -1, + -1, -1, 4074, 4958, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5406, 80, -1, 3808, -1, -1, + 5412, 5413, -1, -1, -1, 4980, -1, -1, -1, -1, + 5422, -1, -1, -1, -1, 3598, -1, 5429, -1, -1, + -1, -1, -1, 3606, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3132, -1, 4127, -1, 3136, -1, -1, + -1, 3852, -1, -1, -1, -1, -1, 4789, 3631, -1, + -1, -1, 5464, 5465, -1, -1, -1, -1, -1, -1, + 4152, -1, -1, -1, -1, 5477, -1, 5479, -1, 3880, + -1, -1, -1, -1, -1, -1, -1, -1, 5053, -1, + -1, -1, 5494, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5519, -1, -1, + -1, -1, -1, 198, -1, 5527, -1, -1, 203, -1, + -1, -1, -1, -1, -1, -1, -1, 3710, -1, 3712, + -1, -1, -1, -1, -1, -1, -1, 3948, -1, -1, + 3239, 226, 227, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 3254, -1, -1, -1, 3970, + 3259, -1, -1, 4905, -1, -1, -1, -1, -1, 254, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3992, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3290, -1, -1, -1, -1, -1, -1, -1, 5174, + -1, -1, -1, -1, -1, 5617, -1, -1, -1, -1, + -1, -1, 297, -1, -1, -1, 4958, -1, -1, 5631, + -1, 4313, -1, -1, -1, 3808, -1, 312, -1, -1, + 315, -1, -1, -1, -1, -1, -1, -1, 4980, -1, + -1, -1, -1, 5655, -1, -1, 206, 207, -1, -1, -1, -1, -1, -1, 214, -1, 216, 217, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 230, -1, -1, -1, -1, -1, -1, 269, -1, -1, - -1, 273, -1, -1, -1, -1, 445, 5203, -1, 382, - -1, 283, 3693, -1, -1, -1, -1, -1, -1, 5215, - 292, -1, 4879, -1, 5220, -1, -1, -1, -1, 5225, - -1, -1, 304, -1, 3469, -1, -1, -1, 5234, -1, - -1, 382, -1, -1, -1, -1, -1, -1, 5244, -1, - -1, -1, 5248, 4910, -1, 5251, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5262, 5263, 5264, -1, - -1, 343, -1, -1, 346, 347, -1, -1, -1, -1, - -1, -1, -1, 26, -1, 26, -1, -1, -1, 32, - -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, - 5296, -1, -1, -1, 5300, 377, 5302, -1, -1, 482, - -1, -1, 3547, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 5322, -1, -1, 5325, - 503, -1, -1, 5329, 77, -1, 77, -1, -1, -1, - 5336, 482, -1, -1, -1, -1, -1, 5343, -1, 490, - 491, 492, 493, 494, 495, 496, 497, 498, -1, -1, - -1, -1, 503, -1, -1, -1, -1, -1, -1, -1, - 3605, -1, -1, 445, -1, -1, -1, -1, -1, -1, - -1, -1, 5378, -1, -1, -1, -1, -1, -1, -1, - 133, 3872, 133, -1, -1, -1, -1, 140, -1, 140, - 143, -1, 143, -1, -1, -1, -1, 5403, -1, -1, - 3891, -1, -1, 5409, 5410, -1, 5073, -1, 5414, 5415, - 5416, 5417, -1, -1, -1, -1, -1, 170, -1, 170, - -1, -1, -1, -1, -1, 3916, 5093, -1, 3673, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5445, - 5107, -1, -1, -1, -1, -1, -1, 5453, -1, -1, - -1, 204, -1, 204, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5478, -1, 3719, 5481, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3731, 3732, -1, -1, - -1, 5158, -1, -1, -1, -1, 3741, -1, -1, -1, - 5506, 3746, -1, 3748, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 269, -1, 269, -1, - 273, -1, 273, -1, -1, -1, -1, -1, 5534, -1, - 283, -1, 283, -1, 5540, -1, 5203, -1, 5544, 292, - -1, 292, 5548, -1, -1, 5551, -1, -1, -1, 3794, - -1, 304, -1, 304, 5560, -1, 5562, -1, 5564, 5565, - -1, -1, -1, -1, -1, 5571, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5581, -1, 5583, -1, -1, - -1, -1, 632, -1, 3829, 3830, 5592, -1, -1, 4817, - 343, -1, 343, 346, 347, 346, 347, 5264, -1, -1, - -1, 651, -1, -1, 4832, -1, -1, 657, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 669, - -1, 5627, 5628, -1, 377, -1, 377, -1, -1, -1, - -1, -1, -1, -1, -1, 685, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 699, - 700, -1, 5658, -1, -1, 5322, 706, -1, 708, 709, - 10, -1, -1, 13, -1, -1, 5672, 17, 18, 19, - -1, -1, 722, -1, -1, -1, -1, 4168, -1, -1, - -1, -1, 732, -1, -1, -1, 36, -1, -1, -1, - -1, -1, 445, -1, 445, 4923, 46, -1, -1, -1, - -1, -1, -1, 53, 5710, 5711, 5712, -1, -1, -1, - -1, -1, 5718, -1, -1, -1, 5722, -1, -1, -1, - -1, -1, 5728, -1, -1, -1, -1, -1, -1, 79, - -1, 5737, 5738, -1, -1, -1, -1, -1, -1, -1, - 790, -1, -1, -1, -1, -1, 10, -1, 5754, 13, - -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, - -1, 4006, -1, 5769, -1, -1, -1, -1, -1, 819, - 5776, -1, 36, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 46, -1, -1, -1, 5453, -1, -1, 53, - -1, -1, -1, -1, 844, 5801, -1, -1, -1, -1, - -1, -1, 5808, -1, -1, -1, 4297, -1, -1, 4300, - -1, -1, 5818, -1, 5481, 79, -1, -1, -1, -1, - 5826, 5827, 5828, -1, -1, -1, 5832, -1, 5834, -1, - -1, -1, -1, -1, -1, -1, -1, 5843, 5844, 5845, - -1, -1, -1, 193, 5850, 5851, -1, -1, 198, -1, - 5856, -1, -1, -1, 904, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 220, 221, 5878, -1, -1, -1, -1, -1, -1, -1, - -1, 5109, -1, 5111, -1, 235, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5907, 5908, 5909, 5571, -1, -1, 5913, -1, -1, - 4401, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5931, 276, 4418, -1, 193, - -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, - 290, -1, -1, 293, -1, 5951, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 220, 221, -1, 5965, - -1, -1, -1, -1, 1014, -1, -1, -1, -1, -1, - 1020, 235, -1, -1, -1, -1, -1, -1, -1, -1, - 4225, 1031, -1, -1, -1, 1035, -1, 1037, -1, -1, - 5996, -1, -1, -1, -1, 6001, 6002, 6003, 6004, 6005, - -1, -1, 6008, -1, -1, 5672, 4251, -1, 4499, -1, - -1, -1, 276, -1, 6020, -1, -1, 6023, -1, -1, - -1, 4266, -1, -1, -1, 4270, 290, 4272, -1, 293, - -1, -1, 382, -1, 5262, -1, -1, -1, -1, -1, - 6046, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 6065, - 6066, -1, -1, -1, 6070, -1, -1, -1, 6074, -1, - -1, -1, -1, 4318, -1, -1, -1, -1, -1, -1, - 6086, 6087, -1, -1, 6090, -1, -1, 5754, -1, 4334, - -1, -1, -1, 1143, 4339, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 382, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 482, -1, -1, -1, -1, -1, -1, -1, - 490, 491, 492, 493, 494, 495, 496, 497, 498, -1, - -1, 5818, -1, 503, 1204, -1, -1, -1, -1, 5826, - 5827, -1, -1, -1, -1, 1215, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1229, - -1, -1, -1, 1233, -1, -1, -1, 5415, -1, 5417, - -1, -1, -1, 4438, -1, -1, 4441, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 482, -1, - -1, -1, -1, -1, -1, -1, 490, 491, 492, 493, - 494, 495, 496, 497, 498, -1, -1, -1, -1, 503, - 5907, -1, -1, -1, -1, -1, 5913, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5931, -1, -1, -1, 4759, 4514, - 4515, 4516, 4517, -1, 4519, 4520, 4521, 4522, 4523, -1, - 4771, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4074, -1, -1, -1, -1, -1, 3852, + 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, + -1, -1, -1, -1, -1, 33, -1, 3880, -1, -1, + -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, + 5722, 5053, -1, -1, -1, 4407, 4127, -1, -1, -1, + -1, -1, 208, 408, 62, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 220, -1, -1, 662, -1, 5314, + 78, 4152, -1, 4435, -1, 231, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 681, -1, -1, -1, + -1, -1, 687, -1, -1, 3948, -1, -1, -1, -1, + -1, -1, -1, -1, 699, -1, 114, -1, -1, -1, + 5792, -1, -1, -1, -1, -1, -1, 3970, -1, -1, + 715, -1, -1, -1, -1, -1, -1, 135, -1, -1, + -1, -1, -1, -1, 142, 730, -1, -1, 146, 3992, + 5385, -1, -1, 738, 5826, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 752, -1, 514, + -1, -1, 5174, -1, -1, -1, 174, 762, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 3546, -1, -1, + 3549, 536, 3551, -1, -1, 5867, -1, 3556, 198, 199, + -1, -1, 202, -1, -1, -1, -1, -1, 206, -1, + -1, -1, 210, -1, -1, -1, -1, -1, -1, 5891, + -1, -1, 222, -1, -1, -1, 4578, -1, -1, 229, + 815, 4074, -1, -1, -1, -1, -1, -1, -1, 3598, + -1, -1, 4313, -1, -1, -1, -1, 3606, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 843, -1, + -1, -1, -1, -1, -1, -1, 264, -1, -1, -1, + 5505, 269, 3631, 4625, -1, -1, 274, -1, 4630, 5951, + -1, -1, -1, 868, 4127, -1, -1, -1, -1, -1, + -1, -1, 290, -1, -1, -1, 294, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 304, -1, -1, 4152, + -1, -1, 5314, -1, -1, -1, 314, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 325, 326, -1, + -1, -1, 10, -1, -1, 13, 4407, -1, -1, 17, + 18, 19, -1, -1, -1, 930, -1, -1, -1, -1, + -1, 3710, -1, 3712, -1, -1, -1, -1, -1, 37, + -1, -1, -1, -1, 4435, -1, -1, -1, -1, 47, + 368, -1, -1, 371, 372, 373, 54, -1, -1, -1, + -1, -1, -1, 5385, -1, -1, -1, -1, -1, -1, + -1, 6063, -1, -1, -1, -1, -1, -1, -1, 397, + -1, -1, 80, -1, -1, 403, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 418, 5656, -1, -1, 6096, -1, 5661, 5662, -1, -1, + -1, -1, -1, -1, -1, 6107, -1, 4789, -1, -1, + -1, -1, 662, -1, -1, -1, -1, -1, -1, 3808, + -1, -1, -1, -1, -1, 1040, -1, -1, -1, -1, + -1, 681, 1047, -1, -1, -1, -1, 687, -1, -1, + 4313, 469, -1, -1, -1, -1, -1, -1, 476, 699, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 3852, -1, 715, -1, -1, -1, -1, + -1, -1, -1, 5505, -1, -1, -1, 4578, -1, 729, + 730, -1, -1, -1, -1, -1, 736, 663, 738, 739, + 198, 3880, -1, 669, -1, 203, -1, -1, -1, -1, + -1, -1, 752, -1, -1, -1, -1, -1, -1, 5774, + -1, -1, 762, -1, -1, -1, -1, -1, 226, 227, + -1, -1, -1, 4905, 4625, -1, -1, 6229, -1, 4630, + -1, -1, -1, -1, 4407, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1171, -1, -1, 3948, + -1, -1, 4435, -1, -1, 815, -1, -1, -1, -1, + -1, -1, 5837, -1, -1, -1, 4958, -1, -1, -1, + -1, 3970, -1, -1, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 843, -1, -1, -1, -1, 4980, -1, + -1, -1, -1, 3992, 312, -1, -1, 315, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1232, 868, -1, + -1, -1, -1, -1, 5656, -1, -1, -1, 1243, 5661, + 5662, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 671, -1, 673, -1, 1260, 676, -1, -1, -1, + 1265, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 690, -1, -1, -1, 840, -1, 696, -1, -1, -1, + -1, 5053, -1, -1, -1, -1, -1, -1, -1, -1, + 930, -1, -1, 859, -1, 4074, -1, -1, 4789, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 408, -1, -1, -1, -1, 4578, -1, -1, -1, -1, + -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 6435, -1, -1, -1, -1, 4127, 37, + -1, -1, 5774, 41, -1, -1, -1, -1, -1, 47, + -1, -1, 4625, -1, -1, 931, 54, 4630, -1, -1, + -1, -1, -1, 4152, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 80, -1, -1, 1400, -1, -1, -1, -1, + 1040, -1, 5174, 1408, 1409, -1, -1, 1047, -1, -1, + -1, -1, 978, -1, 4905, 5837, 514, -1, 1058, -1, + -1, -1, 1062, -1, 1064, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, -1, -1, 536, -1, + -1, -1, -1, -1, 132, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1461, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 4958, -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, - -1, -1, -1, -1, 1354, 0, -1, -1, -1, -1, - -1, -1, 1362, 1363, -1, -1, 36, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 46, 22, -1, -1, - -1, -1, -1, 53, -1, -1, 6003, 32, -1, 34, - 35, -1, 10, -1, -1, 13, -1, -1, -1, 17, - 18, 19, -1, -1, -1, -1, 6023, 52, -1, 79, - -1, -1, -1, -1, -1, 1415, -1, 62, 36, -1, - -1, 4616, -1, 4618, -1, -1, -1, -1, 46, 74, - -1, 76, 77, -1, -1, 53, -1, -1, 83, -1, - 85, -1, -1, -1, -1, -1, -1, -1, -1, 6066, - -1, -1, 97, -1, 99, -1, -1, 6074, -1, -1, - -1, 79, -1, -1, -1, -1, -1, -1, -1, 6086, - 6087, 116, -1, -1, 119, -1, -1, -1, -1, -1, - 5658, -1, -1, -1, -1, -1, -1, -1, -1, 134, - -1, 136, -1, -1, -1, 140, -1, -1, -1, -1, - -1, 146, -1, -1, -1, -1, -1, -1, -1, 154, - -1, 156, -1, -1, -1, -1, -1, -1, 163, -1, - -1, -1, -1, 193, -1, -1, -1, -1, 198, -1, - -1, 10, -1, -1, 13, 180, -1, -1, 17, 18, - 19, -1, -1, -1, -1, -1, -1, -1, 4989, -1, - 220, 221, 197, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, -1, -1, 235, -1, 46, -1, -1, - -1, -1, -1, -1, 53, 193, -1, -1, -1, 10, - 198, -1, 13, -1, -1, -1, 17, 18, 19, -1, - -1, 5769, 237, 238, -1, -1, -1, -1, 243, -1, - 79, -1, 220, 221, -1, 36, 276, -1, -1, -1, - -1, -1, 257, -1, -1, 46, -1, 235, -1, -1, - 290, -1, 53, 293, -1, -1, -1, -1, -1, -1, - 275, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4835, 4836, -1, -1, -1, -1, -1, -1, 79, -1, - -1, -1, -1, 4848, -1, 4850, 4851, 4852, 276, -1, - 5101, -1, 5103, -1, 1664, 51, -1, -1, -1, -1, - -1, -1, 290, -1, 319, 293, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 333, -1, - -1, -1, -1, -1, 339, 340, -1, 342, -1, -1, - 5878, -1, 347, -1, -1, -1, -1, -1, 353, -1, - -1, 356, 382, -1, 193, -1, -1, -1, 363, 198, - -1, 4916, -1, -1, 369, 370, -1, -1, -1, -1, - 5908, 5909, 377, -1, -1, -1, 381, -1, -1, -1, - -1, 220, 221, -1, -1, -1, 391, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 235, 51, -1, -1, - 4955, 406, 193, -1, 382, 10, -1, 198, 13, -1, - -1, -1, 17, 18, 19, -1, -1, -1, 1778, -1, - -1, 426, -1, -1, -1, -1, -1, -1, -1, 220, - 221, 36, 437, -1, -1, -1, -1, 276, 443, -1, - -1, 46, 4997, 448, 235, -1, -1, -1, 53, -1, - -1, 290, 482, 1813, 293, -1, 461, -1, -1, -1, - 490, 491, 492, 493, 494, 495, 496, 497, 498, -1, - -1, -1, -1, 503, 79, -1, 1836, -1, -1, 484, - -1, -1, 6020, -1, 1844, 276, -1, -1, -1, -1, - -1, -1, 1852, -1, -1, -1, -1, 502, -1, 290, - 505, -1, 293, -1, 482, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, 493, 494, 495, 496, 497, - 498, -1, -1, -1, -1, 503, -1, -1, -1, -1, - -1, -1, 1892, 1893, -1, 1895, 1896, -1, -1, -1, - -1, -1, -1, 382, -1, -1, -1, 1907, -1, 1909, - 1910, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, -1, 1922, 1923, -1, -1, 14, 15, -1, -1, - -1, -1, 20, -1, 22, -1, -1, -1, -1, -1, - 28, -1, 30, -1, -1, -1, -1, -1, 193, -1, - -1, 382, 5147, 198, -1, -1, -1, -1, -1, -1, - 1960, 49, 50, -1, 1964, 1965, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 220, 221, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 235, -1, -1, -1, -1, -1, -1, -1, 5193, -1, - -1, -1, -1, 482, -1, -1, -1, 5202, -1, -1, - -1, 490, 491, 492, 493, 494, 495, 496, 497, 498, - -1, -1, -1, -1, 503, -1, -1, -1, -1, -1, - -1, 276, 10, -1, -1, 13, -1, -1, -1, 17, - 18, 19, -1, -1, -1, 290, -1, -1, 293, -1, - -1, 482, -1, -1, -1, -1, -1, -1, 36, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 46, -1, - -1, 2071, 503, -1, -1, 53, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 200, -1, -1, -1, 204, -1, -1, -1, - -1, -1, -1, -1, 212, -1, -1, 215, -1, -1, - 218, 219, -1, 221, -1, 223, -1, 382, 226, -1, - 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, - 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, 193, -1, -1, -1, -1, - 198, -1, -1, 36, -1, -1, -1, -1, -1, -1, - 5425, -1, -1, 46, 5429, -1, -1, 482, -1, -1, - 53, -1, 220, 221, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, -1, -1, -1, 235, 503, -1, - -1, -1, -1, -1, -1, -1, 79, -1, 10, -1, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4980, + -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, + 198, -1, -1, -1, 54, 203, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4789, 1093, -1, -1, + -1, 1171, -1, -1, 4313, -1, -1, -1, 226, 227, + 80, -1, 5314, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1122, 1123, 1124, -1, + -1, -1, 5053, 983, 984, -1, 254, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1232, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1243, -1, -1, -1, -1, -1, 297, + -1, -1, -1, 5385, -1, -1, -1, -1, -1, -1, + 1260, -1, -1, -1, 312, 1265, -1, 315, 4407, -1, + -1, -1, -1, 173, 1054, -1, -1, -1, -1, 179, + -1, -1, 4905, -1, -1, -1, -1, -1, -1, 1069, + -1, -1, -1, -1, -1, -1, 4435, -1, 198, -1, + -1, -1, -1, 203, -1, 1231, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1100, 1101, -1, 5174, -1, -1, 226, 227, -1, -1, + -1, -1, 6347, 1259, -1, 4958, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1126, 1712, -1, -1, + -1, -1, -1, -1, 254, -1, -1, 4980, -1, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5505, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1166, 1167, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 297, -1, -1, + 1400, -1, -1, -1, -1, -1, -1, -1, 1408, 1409, + -1, -1, 312, -1, -1, 315, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 473, -1, -1, -1, -1, + 5053, -1, -1, -1, -1, -1, -1, -1, -1, 4578, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 1461, 1827, 5314, -1, -1, 514, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 4625, -1, 1414, -1, + -1, 4630, -1, -1, -1, -1, -1, 1862, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 408, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1885, -1, -1, -1, 5656, -1, -1, -1, 1893, 5661, + 5662, -1, -1, -1, 5385, -1, 1901, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5174, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 6347, -1, -1, 1494, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1945, 1946, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1959, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 1972, 1973, -1, + -1, -1, -1, -1, 514, -1, -1, -1, -1, -1, + -1, -1, -1, 523, 524, 525, 526, 527, 528, 529, + 530, 531, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5774, -1, -1, -1, -1, -1, -1, -1, + 4789, 1577, -1, -1, 5505, -1, -1, -1, -1, -1, + 1586, -1, -1, 10, -1, -1, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 36, -1, -1, -1, 276, -1, - 5741, -1, -1, -1, 46, -1, -1, -1, -1, 695, - -1, 53, 290, -1, -1, 293, -1, -1, -1, -1, + 37, 5314, 1618, -1, -1, -1, -1, -1, 1624, 1625, + 47, -1, 1628, -1, -1, 5837, -1, 54, -1, -1, + -1, -1, 1712, -1, -1, 1641, -1, -1, 1644, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 721, -1, 79, -1, -1, + -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 5385, -1, -1, -1, 4905, -1, -1, 2134, + -1, -1, -1, -1, -1, -1, 1702, -1, -1, -1, + -1, -1, -1, -1, 1564, -1, -1, -1, -1, -1, + 1716, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5656, -1, -1, -1, 1589, + 5661, 5662, -1, -1, -1, -1, -1, -1, -1, 4958, + -1, -1, -1, -1, -1, -1, -1, 1827, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, + -1, 4980, 13, -1, -1, -1, 17, 18, 19, -1, + -1, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, 1862, -1, -1, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, 226, + 227, -1, 5505, 54, -1, 1885, -1, -1, 1668, -1, + -1, -1, -1, 1893, -1, -1, -1, 837, 838, -1, + 1826, 1901, -1, -1, -1, -1, -1, 254, -1, 80, + -1, 1837, -1, -1, 5053, -1, -1, -1, 1698, 1699, + 1700, 1701, -1, 5774, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 1942, 1943, -1, 1945, 1946, -1, -1, -1, + 297, -1, -1, 1879, 1880, -1, -1, 1957, -1, 1959, + 1960, -1, -1, -1, -1, 312, -1, -1, 315, -1, + -1, -1, 1972, 1973, -1, -1, -1, 917, 1904, -1, + -1, -1, -1, -1, -1, 1911, 5837, -1, -1, -1, + -1, -1, -1, -1, -1, 342, -1, -1, -1, -1, + -1, 172, -1, -1, -1, -1, -1, -1, -1, -1, + 2010, -1, -1, -1, 2014, 2015, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 5656, -1, 5174, -1, -1, 5661, 5662, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 226, 227, -1, 1984, -1, + -1, 408, -1, -1, -1, 1845, 1846, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 427, 1861, -1, 254, -1, -1, -1, -1, -1, -1, + -1, 2017, 2018, -1, -1, -1, -1, -1, 1038, 1039, + -1, -1, -1, -1, -1, -1, -1, -1, 2034, -1, + -1, 2037, -1, -1, -1, 1895, 1896, 1897, 1898, -1, + -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, + -1, -1, -1, -1, 2134, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, 5774, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 514, -1, 340, + -1, -1, -1, -1, -1, 5314, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 1976, -1, -1, -1, + -1, -1, 1982, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5837, 6347, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, 5385, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - -1, 695, -1, 46, 382, -1, -1, 220, 221, -1, - 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 235, -1, 5619, -1, -1, 721, 5623, -1, - 5625, -1, -1, -1, 5629, 5630, 79, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, - -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 290, 220, 221, - 293, -1, -1, 869, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 235, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 482, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, 493, 494, 495, 496, 497, - 498, -1, -1, -1, -1, 503, -1, -1, -1, -1, - -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 633, -1, -1, 290, -1, - 193, 293, -1, -1, -1, 198, 644, -1, -1, -1, - 648, -1, -1, -1, -1, -1, -1, 655, 656, 382, - -1, 659, -1, 661, 662, 869, -1, 220, 221, -1, - 2580, -1, -1, -1, -1, -1, -1, -1, 676, -1, - -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 694, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 715, -1, 717, - -1, -1, -1, 276, -1, 2635, -1, -1, -1, 727, - 382, -1, -1, -1, 1030, -1, -1, 290, -1, -1, - 293, -1, -1, 2653, 51, 1041, -1, 2657, -1, -1, - -1, 2661, -1, -1, -1, -1, -1, -1, -1, 482, - 2670, 1057, 760, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, 2688, 5884, - 503, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2705, -1, 2707, 2708, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2722, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1030, -1, -1, 382, - 482, -1, 2742, 2743, -1, -1, -1, 1041, 490, 491, - 492, 493, 494, 495, 496, 497, 498, -1, -1, 847, - -1, 503, -1, 1057, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2773, 2774, -1, -1, 2777, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, - 13, 2801, -1, 2803, 17, 18, 19, 2807, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2821, -1, 36, -1, -1, -1, 1213, 2828, -1, - -1, 2831, -1, 46, -1, 6030, -1, 2837, -1, 482, - 53, 6036, 930, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, 2857, -1, -1, - 503, -1, -1, 2863, 10, -1, 79, 13, -1, -1, - 2870, 17, 18, 19, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 6078, 2884, -1, -1, -1, -1, -1, - 36, -1, -1, -1, -1, -1, -1, 2897, -1, -1, - 46, 6096, 2902, -1, 6099, -1, -1, 53, 2908, -1, - -1, -1, -1, -1, -1, -1, 1004, -1, -1, 1213, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, - 1028, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1043, -1, 1045, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1055, 2968, -1, - -1, 1357, -1, -1, 1062, -1, -1, -1, -1, -1, - 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 220, 221, -1, - -1, -1, -1, -1, -1, -1, 1104, -1, 1106, -1, - -1, -1, 235, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 193, -1, -1, - -1, -1, 198, -1, 36, -1, -1, -1, -1, -1, - -1, -1, -1, 276, 46, -1, -1, -1, -1, -1, - -1, 53, 1458, -1, 220, 221, -1, 290, -1, -1, - 293, -1, -1, -1, -1, -1, -1, -1, -1, 235, - -1, -1, 1180, -1, 1182, -1, 1184, 79, 1186, -1, - 1188, 1189, 1190, -1, -1, -1, -1, 1195, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1207, - -1, -1, -1, 3123, -1, -1, -1, -1, -1, -1, - 276, -1, 1220, -1, -1, -1, -1, -1, -1, 1525, - -1, 3141, -1, -1, 290, -1, -1, 293, 3148, -1, - -1, -1, -1, -1, -1, 3155, -1, 3157, 3158, -1, - -1, -1, -1, -1, 1458, -1, -1, -1, -1, 382, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1566, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, - -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, - -1, 193, -1, 1599, -1, -1, 198, -1, -1, -1, - -1, -1, -1, 3223, 36, -1, -1, -1, -1, 3229, - -1, 1525, -1, -1, 46, -1, 382, -1, 220, 221, - -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, - 207, -1, -1, 235, -1, -1, -1, -1, -1, 216, - -1, -1, -1, -1, -1, -1, -1, 79, -1, 482, - -1, -1, 1566, 230, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, -1, -1, - 503, 1379, -1, -1, 276, -1, -1, -1, 695, -1, - -1, -1, -1, -1, -1, 1599, -1, -1, 290, -1, - 3310, 293, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 721, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 482, -1, -1, -1, - -1, -1, -1, -1, 490, 491, 492, 493, 494, 495, - 496, 497, 498, -1, -1, -1, -1, 503, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 382, -1, -1, -1, 1790, -1, -1, -1, 220, 221, - -1, 1499, -1, -1, -1, 1801, -1, -1, -1, -1, - -1, -1, -1, 235, -1, -1, -1, -1, -1, -1, - -1, 1817, -1, -1, -1, -1, -1, -1, -1, 3439, - 3440, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, - 19, -1, -1, -1, 276, -1, 3466, -1, -1, 3469, - -1, -1, 869, -1, -1, -1, -1, 36, 290, -1, - -1, 293, -1, 1571, 1870, -1, -1, 46, -1, -1, - -1, -1, -1, -1, 53, -1, 1790, -1, -1, 1885, - 482, -1, 1888, 1889, -1, -1, -1, 1801, 490, 491, - 492, 493, 494, 495, 496, 497, 498, -1, -1, -1, - 79, 503, -1, 1817, -1, -1, -1, -1, 10, -1, - -1, 13, -1, 1919, 1920, 17, 18, 19, -1, -1, - -1, 3541, 3542, 3543, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 36, -1, -1, -1, 40, -1, - -1, -1, -1, -1, 46, -1, 3566, -1, -1, -1, - 382, 53, -1, -1, -1, -1, 1870, -1, -1, -1, - -1, -1, -1, -1, -1, 3585, -1, -1, -1, -1, - -1, 1885, -1, -1, 1888, 1889, -1, 79, -1, -1, - -1, -1, 10, -1, -1, 13, -1, 3607, -1, 17, - 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1919, 1920, -1, 36, -1, - -1, -1, -1, 1030, 193, -1, -1, -1, 46, 198, - -1, -1, -1, -1, 1041, 53, -1, -1, 130, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1057, 220, 221, -1, -1, 2051, -1, -1, -1, -1, - 482, 79, -1, -1, -1, 632, 235, -1, 490, 491, - 492, 493, 494, 495, 496, 497, 498, -1, -1, -1, - -1, 503, -1, 3693, 651, -1, -1, -1, 1786, -1, - 657, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 193, 669, -1, -1, -1, 198, 276, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 685, -1, - -1, 290, -1, 1821, 293, -1, -1, -1, 220, 221, - 3740, -1, -1, 700, -1, -1, 3746, -1, 3748, -1, - -1, 708, -1, 235, -1, -1, -1, 2051, -1, -1, - -1, 3761, -1, 3763, -1, 722, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 732, 1864, -1, 1866, -1, - -1, -1, -1, -1, -1, 193, -1, -1, -1, -1, - 198, -1, -1, -1, 276, -1, -1, -1, 1886, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 290, -1, - -1, 293, 220, 221, -1, -1, 1213, -1, -1, -1, - -1, -1, -1, 382, 1912, -1, 1914, 235, -1, -1, - 3830, -1, -1, 790, -1, -1, -1, 51, -1, -1, - -1, 1929, -1, 1931, -1, -1, -1, -1, -1, 1937, - -1, 1939, -1, 1941, -1, 1943, -1, 1945, -1, -1, - -1, 1949, 819, -1, -1, -1, -1, -1, 276, -1, - -1, -1, 3872, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 290, -1, -1, 293, -1, 844, -1, -1, - -1, 3891, -1, -1, -1, -1, -1, -1, -1, -1, - 382, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 318, -1, -1, 3913, -1, -1, 3916, -1, -1, -1, - -1, -1, -1, 482, -1, -1, -1, -1, -1, -1, - -1, 490, 491, 492, 493, 494, 495, 496, 497, 498, - -1, -1, -1, -1, 503, -1, -1, 904, -1, -1, - 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, - 442, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 382, -1, 36, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, - -1, 399, -1, 53, -1, -1, -1, 3997, -1, -1, - 482, -1, -1, -1, -1, -1, -1, -1, 490, 491, - 492, 493, 494, 495, 496, 497, 498, -1, -1, 79, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 36, 1014, -1, -1, - -1, 1458, -1, 1020, -1, -1, 46, -1, -1, -1, - -1, -1, -1, 53, 482, -1, -1, -1, -1, -1, - -1, -1, 490, 491, 492, 493, 494, 495, 496, 497, - 498, -1, -1, -1, -1, -1, -1, -1, -1, 79, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 169, - -1, -1, -1, -1, 174, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1525, -1, - -1, -1, -1, 193, -1, -1, -1, 51, 198, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 220, 221, -1, -1, -1, -1, -1, -1, 4168, 1566, - -1, -1, -1, -1, -1, 235, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1143, -1, 168, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1599, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 193, -1, -1, 276, -1, 198, 4219, - -1, -1, -1, -1, 4224, -1, 4226, -1, -1, -1, - 290, -1, -1, 293, -1, -1, -1, -1, -1, -1, - 220, 221, -1, -1, -1, -1, -1, 1204, -1, -1, - 4250, -1, -1, -1, -1, 235, 2642, -1, 1215, -1, - 2646, 2647, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1229, -1, -1, -1, 1233, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 276, 4297, -1, -1, - 4300, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 290, -1, -1, 293, -1, -1, -1, -1, 2704, -1, - -1, -1, 382, -1, 2710, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 316, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2642, -1, - -1, -1, 2646, 2647, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2751, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4390, 4391, -1, 1790, -1, -1, -1, 1354, -1, -1, - -1, 4401, 382, -1, 1801, 1362, 1363, -1, -1, -1, - 2704, -1, -1, -1, -1, -1, 2710, -1, 4418, -1, - 1817, -1, 482, -1, -1, -1, -1, -1, -1, -1, - 490, 491, 492, 493, 494, 495, 496, 497, 498, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2751, 1415, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1870, -1, -1, -1, -1, -1, -1, - -1, 695, -1, -1, -1, -1, -1, -1, 1885, -1, - -1, 1888, 1889, -1, -1, -1, -1, -1, -1, 4499, - -1, 24, 482, -1, -1, -1, 29, 721, -1, -1, - 490, 491, 492, 493, 494, 495, 496, 497, 498, -1, - -1, -1, 1919, 1920, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 67, -1, -1, -1, 2636, 2637, + -1, -1, -1, -1, 37, -1, -1, 40, -1, -1, + -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, + 2675, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2655, 2656, -1, - 2658, 2659, -1, 96, 2960, 2663, 2664, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2678, 114, -1, -1, -1, -1, -1, 2685, -1, -1, - -1, 2689, 2690, -1, -1, 2693, 2694, -1, -1, -1, - -1, -1, 2700, -1, -1, 138, -1, -1, -1, -1, - -1, -1, -1, -1, 2712, -1, 149, -1, -1, -1, - -1, -1, -1, -1, -1, 158, 2724, -1, -1, -1, - -1, 2729, -1, -1, -1, -1, -1, 3033, 171, -1, - -1, 3037, -1, 176, 2051, 869, 2744, -1, -1, -1, - 183, -1, -1, -1, -1, 2753, 2960, -1, 2756, -1, - 2758, 2759, 2760, -1, -1, -1, -1, 2765, 2766, 202, - -1, -1, -1, -1, -1, -1, -1, 2775, -1, -1, - -1, -1, -1, 2781, -1, -1, -1, 2785, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1664, -1, 2797, - 2798, -1, -1, -1, 2802, -1, -1, 4717, -1, -1, - 2808, 2809, -1, -1, -1, -1, 249, -1, -1, -1, - -1, -1, -1, -1, 2822, -1, -1, 2825, -1, 3033, - -1, -1, -1, 3037, 2832, 2833, -1, -1, -1, -1, - 2838, -1, -1, 3139, -1, -1, -1, -1, -1, 4759, - -1, -1, 2850, -1, -1, 2853, -1, 290, 3154, -1, - 2858, 4771, -1, 3159, -1, -1, 2864, 2865, -1, -1, - 303, 695, -1, -1, 2872, -1, -1, -1, 2876, -1, - -1, 314, 2880, 2881, 2882, 2883, -1, 2885, -1, -1, - -1, 324, 325, -1, -1, 328, 4806, 721, -1, -1, - 2898, 2899, -1, 2901, -1, -1, 1030, -1, -1, -1, - -1, 1778, -1, -1, 2912, 2913, 2914, 1041, -1, -1, - -1, -1, 355, -1, -1, 358, -1, -1, -1, 362, - -1, 364, -1, 1057, -1, 3139, -1, -1, 371, -1, - -1, 374, -1, -1, -1, -1, 1813, -1, -1, -1, - 3154, -1, -1, -1, -1, 3159, -1, -1, -1, -1, - 393, -1, 51, -1, -1, -1, -1, 400, -1, 1836, - -1, 2969, -1, 406, 4884, -1, 409, 1844, -1, 2977, - 413, -1, -1, -1, -1, 1852, -1, -1, 421, -1, - 423, -1, -1, 4903, -1, 428, -1, -1, 2996, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 441, -1, - -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, - -1, 454, -1, -1, -1, -1, -1, -1, 1895, 1896, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1909, -1, -1, 869, -1, -1, 3046, -1, - -1, -1, -1, -1, -1, 1922, 1923, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3065, -1, 3067, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4989, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1213, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 10, -1, -1, 13, -1, -1, - -1, 17, 18, 19, -1, -1, -1, -1, 3414, -1, - -1, 3417, -1, 3419, -1, -1, -1, -1, 3424, -1, - 36, -1, -1, 39, -1, -1, 10, -1, -1, 13, - 46, -1, -1, 17, 18, 19, -1, 53, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 36, 3161, -1, -1, -1, -1, -1, -1, - -1, -1, 46, 79, -1, -1, 3472, -1, -1, 53, - -1, -1, -1, -1, 3480, -1, -1, -1, -1, -1, - -1, 5101, -1, 5103, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2071, 79, 1030, -1, -1, 3505, - 3414, -1, -1, 3417, -1, 3419, -1, 1041, -1, -1, - 3424, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1057, -1, -1, -1, -1, 5148, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5158, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3472, -1, - -1, -1, -1, -1, -1, -1, 3480, -1, -1, 3575, - -1, 3577, -1, -1, -1, -1, -1, 193, 5198, -1, - -1, -1, 198, 5203, -1, -1, -1, -1, -1, -1, - -1, 3505, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 220, 221, -1, -1, -1, 193, - -1, -1, -1, -1, 198, -1, -1, -1, -1, 235, - -1, -1, -1, -1, 1458, 2642, -1, -1, -1, 2646, - 2647, -1, -1, -1, -1, -1, 220, 221, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 235, -1, -1, -1, -1, -1, -1, -1, -1, - 276, 3575, -1, 3577, -1, 3671, -1, -1, -1, -1, - -1, -1, -1, -1, 290, -1, -1, 293, -1, 1213, - -1, -1, -1, -1, -1, -1, -1, 2704, -1, -1, - -1, 1525, 276, 2710, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 290, 3713, -1, 293, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 312, -1, - -1, -1, 1566, -1, 2751, 3741, -1, -1, -1, 3447, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3671, -1, 3467, - -1, -1, -1, -1, -1, 1599, 382, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3484, -1, -1, -1, - 3488, -1, -1, -1, -1, 3493, 3494, 3495, -1, -1, - -1, 5411, -1, -1, -1, -1, -1, -1, 382, 3713, - -1, -1, -1, 3809, -1, 5425, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3529, 3530, 3531, 3532, 3831, -1, 3741, -1, -1, - -1, -1, -1, -1, -1, -1, 5456, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3853, -1, -1, - -1, 3559, -1, -1, -1, -1, -1, -1, -1, 3567, - -1, 3569, 3570, 3571, -1, -1, 482, -1, -1, -1, - -1, -1, -1, -1, 490, 491, 492, 493, 494, 495, - 496, 497, 498, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3809, 695, -1, 482, -1, - -1, -1, -1, -1, -1, -1, 490, 491, 492, 493, - 494, 495, 496, 497, 498, -1, -1, 3831, -1, -1, - -1, -1, 721, -1, 1458, -1, -1, -1, -1, -1, - 3936, -1, 5552, -1, -1, -1, -1, -1, -1, 3853, - -1, -1, -1, 2960, -1, -1, -1, -1, -1, -1, - 695, -1, -1, -1, 3960, -1, 1790, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1801, -1, -1, - -1, -1, -1, -1, -1, -1, 721, 3685, -1, 3985, - -1, -1, -1, 1817, -1, -1, 3694, -1, -1, -1, - -1, 1525, -1, -1, -1, -1, -1, 5617, -1, 5619, - -1, -1, -1, 2580, -1, -1, -1, -1, -1, -1, - -1, -1, 3720, 3721, -1, -1, 3033, 3725, -1, -1, - 3037, -1, 3936, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1566, -1, -1, -1, 1870, -1, -1, 3747, - -1, -1, -1, -1, -1, -1, 3960, -1, -1, -1, - -1, 1885, -1, -1, 1888, 1889, -1, -1, 2635, -1, - -1, -1, -1, -1, -1, 1599, -1, -1, -1, -1, - 869, 3985, -1, -1, -1, -1, 2653, -1, -1, -1, - 2657, -1, -1, -1, 2661, 1919, 1920, -1, -1, -1, - -1, 3799, -1, 2670, -1, -1, 3804, -1, -1, -1, - -1, -1, 3810, -1, -1, -1, -1, -1, -1, -1, - -1, 2688, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5741, 3139, -1, 869, -1, -1, -1, -1, 4135, - -1, -1, 3840, -1, 5754, -1, -1, 3154, -1, -1, - -1, -1, 3159, -1, -1, 2722, -1, 5767, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3869, -1, 3871, -1, 2742, 2743, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2773, 2774, -1, -1, - 2777, -1, -1, -1, 3912, -1, 5826, 5827, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2051, -1, 4225, - -1, 4135, -1, -1, 2801, -1, 2803, -1, -1, -1, - 2807, 1030, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1041, -1, 2821, 4251, -1, -1, -1, -1, - -1, 2828, -1, -1, 2831, -1, 1790, -1, 1057, -1, - 2837, -1, -1, -1, 5884, -1, -1, 1801, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2857, -1, -1, 1817, -1, 1030, 2863, -1, -1, -1, - -1, -1, -1, 2870, -1, -1, 1041, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2884, -1, -1, - -1, 4225, 1057, -1, -1, -1, -1, -1, -1, -1, - 2897, -1, -1, -1, -1, 2902, -1, -1, -1, -1, - -1, 2908, -1, -1, 208, -1, 1870, 4251, -1, -1, - -1, -1, -1, -1, -1, -1, 220, -1, -1, -1, - -1, 1885, -1, -1, 1888, 1889, -1, 231, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1919, 1920, -1, 4394, -1, - -1, 2968, -1, -1, -1, -1, -1, 3414, -1, -1, - 3417, -1, 3419, -1, -1, -1, -1, 3424, -1, -1, - 6030, -1, -1, -1, 1213, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4441, -1, -1, -1, -1, - 4446, -1, -1, 4151, -1, -1, 4154, -1, 4156, -1, - -1, -1, -1, -1, -1, 3472, -1, -1, 6078, -1, - -1, 4169, -1, 3480, -1, -1, 6086, 6087, 1213, -1, - -1, -1, -1, 4181, -1, -1, 6096, 4185, -1, -1, - 4394, -1, -1, -1, -1, -1, -1, -1, 3505, -1, - -1, -1, -1, -1, -1, -1, 4204, -1, 24, -1, - -1, -1, -1, 29, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4222, -1, -1, 2051, -1, -1, - 4228, -1, -1, -1, -1, -1, -1, 4441, -1, -1, - -1, -1, 4446, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4253, 3123, -1, -1, 4257, - -1, -1, -1, -1, 80, 81, -1, -1, 3575, -1, - 3577, -1, -1, -1, 3141, 4273, 4274, 4275, 4276, -1, - 96, 3148, -1, 4579, -1, 4283, 4284, 4285, 4286, -1, - -1, -1, -1, -1, 4292, 4293, -1, -1, 114, -1, - 4298, 4299, -1, 4301, 4302, 4303, 4304, 4305, 4306, 4307, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4317, - -1, -1, 138, 4321, 4322, 4323, 4324, -1, -1, -1, - -1, -1, -1, 149, -1, -1, -1, -1, -1, -1, - -1, -1, 158, -1, -1, -1, -1, 4345, -1, -1, - -1, -1, -1, -1, -1, 171, 3223, -1, -1, -1, - 176, -1, 3229, -1, 3671, 4363, -1, -1, -1, 1458, - -1, -1, -1, -1, -1, 4579, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 202, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3713, -1, 4704, -1, - -1, 227, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1458, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 249, 3741, -1, 1525, -1, -1, -1, - -1, 4439, -1, 3310, -1, -1, 4742, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4764, 633, - -1, -1, -1, -1, 4472, 639, -1, 1566, -1, -1, - -1, 4479, -1, 4481, -1, -1, -1, -1, -1, -1, - 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4704, -1, 3809, -1, -1, 4503, -1, -1, 324, 325, - 1599, -1, 328, -1, -1, -1, -1, -1, 2642, -1, - -1, -1, 2646, 2647, 3831, -1, -1, -1, -1, -1, - -1, 1566, -1, -1, -1, -1, -1, -1, 4742, 355, - -1, 4837, 358, -1, -1, -1, 3853, -1, 364, -1, - -1, -1, -1, -1, -1, 371, -1, -1, 374, -1, - 4764, -1, -1, -1, 1599, -1, -1, -1, -1, -1, - -1, -1, 3439, 3440, -1, -1, -1, 393, -1, -1, - 2704, -1, -1, -1, 400, -1, 2710, -1, -1, -1, - 406, -1, -1, 409, -1, -1, -1, 413, -1, 3466, - -1, -1, 3469, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 428, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2751, -1, 3936, - -1, -1, -1, 4837, -1, -1, -1, 10, 454, -1, + -1, -1, -1, -1, -1, -1, -1, 1277, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 2730, 5505, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 1319, + -1, -1, -1, 2748, -1, -1, -1, 2752, -1, -1, + -1, 2756, 2172, -1, 10, -1, -1, 13, -1, -1, + 2765, 17, 18, 19, -1, -1, -1, -1, 1348, 1349, + 1350, -1, 1352, -1, -1, 2780, -1, -1, -1, -1, + -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 47, -1, 1373, -1, -1, -1, -1, 54, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, 2814, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 80, -1, -1, -1, -1, 2834, + 2835, -1, -1, 226, 227, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6347, -1, -1, -1, + -1, 254, -1, -1, -1, -1, 2871, 2872, -1, -1, + 2875, -1, -1, -1, -1, -1, -1, 5656, -1, -1, + -1, -1, 5661, 5662, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2899, -1, 2901, -1, 1478, -1, + 2905, -1, 1482, 1483, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2919, -1, -1, -1, -1, 312, + -1, 2926, 315, -1, 2929, -1, -1, -1, -1, -1, + 2935, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 198, -1, -1, -1, -1, 203, -1, -1, + 2955, -1, -1, -1, -1, -1, 2961, -1, -1, -1, + -1, -1, -1, 2968, -1, -1, -1, -1, -1, -1, + 226, 227, -1, -1, -1, -1, -1, 2982, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2996, -1, -1, -1, 5774, 3001, -1, 254, -1, + -1, -1, 3007, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2593, -1, -1, + -1, -1, -1, -1, -1, 2675, -1, -1, 2604, -1, + -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 312, -1, 5837, 315, + -1, -1, 3067, -1, -1, -1, -1, -1, -1, -1, + 2636, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 6347, -1, -1, -1, -1, -1, + 2730, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 2748, -1, + -1, -1, 2752, -1, -1, -1, 2756, 2683, 2684, -1, + -1, 514, -1, -1, -1, 2765, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + 2780, -1, -1, -1, -1, -1, -1, 1727, 1728, 1729, + -1, 2717, 408, -1, -1, -1, -1, 2797, -1, 2799, + 2800, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 10, -1, 2814, 13, -1, -1, -1, 17, + 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 2834, 2835, -1, -1, -1, 37, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, + -1, -1, -1, -1, -1, -1, 54, 3222, -1, 3224, + -1, 2641, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 2871, 2872, -1, -1, 2875, 3241, -1, -1, -1, + -1, -1, 80, 3248, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 513, 514, 2899, + -1, 2901, -1, -1, -1, 2905, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, -1, -1, -1, 2919, + -1, -1, -1, -1, -1, -1, 2926, 2853, -1, 2929, + -1, -1, -1, -1, -1, 2935, -1, -1, -1, -1, + -1, -1, 2868, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 2955, -1, -1, -1, -1, + -1, 2961, -1, -1, 2890, -1, -1, -1, 2968, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3346, 2982, -1, -1, -1, -1, 3352, -1, -1, + -1, -1, -1, -1, -1, -1, 2996, -1, -1, -1, + 198, 3001, -1, -1, -1, 203, -1, 3007, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 2803, -1, -1, -1, -1, 226, 227, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2976, 2977, -1, -1, -1, -1, 254, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3067, -1, -1, + -1, -1, -1, 3438, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 297, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 312, -1, 2056, 315, -1, -1, + -1, -1, -1, -1, -1, 2065, 2066, 2067, 2068, 2069, + 2070, 2071, 2072, 2073, 2074, -1, -1, 335, -1, 2079, + -1, 2081, -1, 2083, -1, -1, 2086, 2087, 2088, -1, + -1, -1, 3078, -1, 2094, -1, -1, 2097, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 2947, -1, -1, + 2950, -1, -1, -1, 2114, 2115, 2116, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 2132, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 3571, 3572, 6347, -1, + 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3222, -1, 3224, -1, -1, 3592, -1, -1, + 3595, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3241, -1, -1, -1, -1, -1, -1, 3248, -1, + -1, -1, -1, -1, -1, 3255, -1, 3257, 3258, 3039, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3052, -1, -1, -1, -1, -1, -1, -1, + 3060, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 3676, 3677, 3678, -1, -1, 514, -1, -1, 3099, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, -1, -1, 3701, -1, -1, 2279, + 3120, -1, -1, -1, -1, -1, 3346, -1, -1, -1, + -1, -1, 3352, -1, -1, 3720, -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, 816, 3960, -1, -1, -1, -1, -1, -1, - -1, -1, 4958, 36, -1, -1, 39, -1, -1, -1, - -1, 835, -1, 46, 3541, 3542, 3543, -1, 3985, -1, - 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3566, - -1, 1790, -1, -1, -1, -1, 79, 4705, 4706, 4707, - -1, -1, 1801, 4711, 4712, 4713, 4714, -1, 3585, -1, - 4718, -1, -1, -1, -1, -1, -1, -1, 1817, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3607, 905, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4958, 1790, 4754, 4755, 4756, 4757, - 4758, -1, 4760, 4761, -1, -1, 1801, -1, -1, -1, - -1, -1, -1, -1, 4772, 4773, -1, -1, -1, -1, - -1, 1870, 1817, 5079, -1, -1, -1, -1, 952, -1, - -1, -1, -1, -1, -1, -1, 1885, -1, -1, 1888, - 1889, -1, -1, -1, -1, -1, -1, -1, -1, 4807, - -1, -1, -1, -1, -1, -1, -1, -1, 2642, -1, - 193, -1, 2646, 2647, -1, 198, 3693, -1, 4135, -1, - 1919, 1920, -1, -1, -1, 1870, 2960, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 220, 221, -1, - 1885, 5147, -1, 1888, 1889, -1, -1, -1, -1, -1, - -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3740, -1, 5079, -1, -1, -1, 3746, - 2704, 3748, -1, -1, 1919, 1920, 2710, -1, -1, -1, - -1, -1, -1, -1, 3761, -1, 3763, -1, -1, -1, - -1, -1, 1066, 276, -1, -1, -1, -1, -1, 3033, - -1, 4909, -1, 3037, -1, -1, -1, 290, 4225, -1, - 293, -1, -1, -1, -1, -1, -1, 2751, -1, -1, - 1094, 1095, 1096, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5147, 4251, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2051, 3830, -1, -1, -1, -1, -1, -1, - -1, 5267, -1, -1, -1, -1, 4974, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, - 19, -1, -1, -1, -1, 3872, -1, -1, -1, 382, - -1, -1, -1, -1, -1, 3139, 2051, 36, -1, -1, - -1, -1, -1, -1, 3891, -1, -1, 46, -1, -1, - 3154, -1, -1, -1, 53, 3159, -1, -1, -1, 1203, - -1, -1, -1, -1, -1, -1, 3913, -1, -1, 3916, - -1, -1, -1, -1, -1, 1219, -1, -1, -1, -1, - 79, -1, -1, 5267, 1228, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 4394, 5086, -1, - -1, -1, -1, -1, -1, -1, -1, 5393, -1, -1, - -1, -1, 5398, 5399, -1, -1, -1, -1, -1, 482, - -1, -1, -1, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, -1, -1, - 3997, -1, -1, -1, 4441, -1, 2960, -1, -1, 4446, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5149, -1, -1, -1, 174, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5168, -1, -1, -1, 193, -1, 5174, 5175, -1, 198, - -1, -1, -1, -1, -1, -1, 5184, -1, -1, 5393, - -1, -1, -1, 5191, 5398, 5399, -1, -1, -1, -1, - -1, 220, 221, -1, 1368, -1, -1, -1, -1, 3033, - -1, -1, -1, 3037, -1, 5511, 235, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5226, 5227, + -1, -1, -1, -1, -1, -1, -1, 3742, -1, -1, + -1, -1, -1, 3163, 37, 3165, -1, 40, -1, -1, + -1, -1, -1, 2333, 47, -1, -1, -1, -1, -1, + -1, 54, -1, -1, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, 1365, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, 37, -1, 3438, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, 2389, + -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 3832, -1, -1, + -1, 1422, -1, 3253, -1, -1, -1, -1, -1, 80, + 3260, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3424, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 3879, -1, -1, -1, -1, 3445, + 3885, -1, 3887, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 10, -1, 3900, 13, 3902, -1, -1, + 17, 18, 19, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, 40, -1, -1, -1, -1, -1, -1, + 47, 3571, 3572, 226, 227, -1, -1, 54, 179, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + -1, -1, 3592, -1, -1, 3595, -1, 198, -1, -1, + -1, 254, 203, 80, 3969, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, + -1, -1, -1, 54, -1, 226, 227, -1, -1, -1, + -1, -1, -1, 2573, 2574, 2575, 2576, 2577, 2578, 2579, + 2580, 2581, -1, 2583, 297, -1, 4011, -1, -1, 80, + -1, -1, -1, 254, 2594, -1, -1, 2597, -1, 312, + -1, -1, 315, -1, -1, 4030, -1, -1, -1, 4034, + -1, -1, -1, -1, -1, -1, 3676, 3677, 3678, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4055, -1, -1, -1, -1, -1, 297, -1, 2638, -1, + -1, 3701, 2642, -1, -1, 2645, -1, 2647, -1, -1, + 2650, 312, -1, -1, 315, -1, -1, -1, -1, -1, + 3720, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3742, -1, -1, -1, -1, -1, -1, 226, + 227, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, 2703, 2704, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, 254, -1, -1, + -1, -1, 1733, -1, -1, -1, 1737, -1, -1, -1, + -1, -1, 3718, -1, -1, 226, 227, -1, -1, 4164, + -1, -1, 3728, -1, -1, -1, -1, 408, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 297, 3601, 3602, 254, -1, -1, -1, -1, -1, -1, + -1, -1, 3832, -1, -1, 312, -1, -1, 315, -1, + -1, -1, -1, 2783, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 514, -1, -1, -1, -1, 297, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 3879, + -1, 312, -1, -1, 315, 3885, -1, 3887, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3900, -1, 3902, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 408, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, + -1, -1, -1, -1, -1, 3891, 3892, 3893, -1, 3969, + -1, -1, -1, -1, 4339, -1, 37, 408, -1, 40, + -1, -1, 3908, -1, -1, -1, 47, 10, -1, -1, + 13, -1, -1, 54, 17, 18, 19, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4011, -1, 444, 37, 3941, 3942, -1, -1, 80, + 3946, -1, -1, -1, 47, -1, -1, -1, -1, -1, + 4030, 54, -1, -1, 4034, -1, 4401, 514, -1, -1, + -1, 4406, -1, 4408, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 4055, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4434, + -1, -1, -1, -1, 3854, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, 3025, 3026, 3027, -1, -1, + -1, 3031, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, 2054, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4481, -1, 3058, 4484, + -1, -1, -1, -1, -1, -1, 4052, -1, -1, 2080, + -1, -1, -1, 2084, -1, -1, -1, 198, -1, -1, + -1, -1, 203, -1, -1, -1, -1, -1, 2099, 2100, + 2101, -1, 2103, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 4164, 226, 227, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, 10, -1, + -1, 13, -1, 254, -1, 17, 18, 19, -1, -1, + -1, -1, -1, 226, 227, -1, -1, -1, -1, 4574, + 4575, -1, -1, -1, -1, 37, -1, -1, -1, -1, + 4585, -1, -1, -1, -1, 47, -1, -1, -1, -1, + -1, 254, 54, -1, 4014, -1, 297, 4602, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, 80, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, + -1, -1, 315, 4219, 4220, 4221, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 332, + -1, -1, -1, -1, -1, -1, -1, -1, 4683, -1, + -1, 4686, -1, -1, -1, -1, -1, 3267, -1, -1, + -1, -1, 3272, -1, -1, -1, -1, -1, -1, 4339, + -1, -1, -1, 10, -1, -1, 13, 408, -1, -1, + 17, 18, 19, -1, -1, -1, -1, 179, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 37, -1, -1, -1, -1, -1, 198, -1, -1, -1, + 47, 203, -1, -1, 3324, 408, -1, 54, -1, -1, + -1, -1, -1, -1, -1, 3335, -1, 3337, 3338, -1, + -1, 4401, -1, -1, 226, 227, 4406, -1, 4408, -1, + -1, 3351, -1, 80, 3354, -1, 3356, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 254, -1, 4434, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, 3394, -1, 3396, -1, 3398, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, -1, -1, -1, -1, 297, -1, -1, -1, -1, + -1, 4481, -1, -1, 4484, -1, -1, -1, -1, -1, + 312, 514, -1, 315, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 179, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 198, -1, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3492, 4918, -1, -1, -1, 3497, -1, 226, + 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 3512, -1, 4574, 4575, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4585, 408, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, - 13, 5239, -1, 5241, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 276, 5256, 5555, - -1, -1, -1, 36, -1, -1, 39, -1, -1, -1, - -1, 290, 4579, 46, 293, -1, -1, -1, -1, -1, - 53, -1, -1, 5281, 1448, -1, -1, -1, -1, -1, - 3414, 5289, -1, 3417, -1, 3419, -1, -1, -1, -1, - 3424, 4168, -1, -1, -1, -1, 79, 5511, -1, -1, - -1, -1, -1, -1, -1, 3139, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3154, -1, -1, -1, -1, 3159, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3472, -1, - -1, 5555, 4219, -1, -1, -1, 3480, 4224, -1, 4226, - 5358, -1, -1, 382, -1, -1, -1, 1531, -1, -1, - -1, -1, -1, -1, -1, -1, 1540, -1, -1, -1, - -1, 3505, -1, 4250, 5382, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5392, -1, -1, 4704, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1572, -1, - -1, -1, -1, -1, 1578, 1579, -1, -1, 1582, -1, - 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, - 4297, 1595, -1, 4300, 1598, 4742, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 220, 221, -1, - -1, 3575, -1, 3577, -1, -1, -1, 4764, -1, -1, - -1, 5459, 235, 482, -1, -1, -1, -1, -1, -1, - -1, 490, 491, 492, 493, 494, 495, 496, 497, 498, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1654, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 276, 1668, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 290, -1, -1, - 293, -1, -1, 4390, 4391, -1, -1, -1, -1, -1, - 4837, 5529, -1, -1, 4401, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3671, -1, -1, - -1, 4418, -1, 2642, -1, -1, -1, 2646, 2647, -1, - -1, -1, -1, -1, -1, -1, -1, 813, 814, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3713, - 3414, -1, 5590, 3417, -1, 3419, -1, -1, -1, -1, - 3424, -1, -1, -1, -1, -1, 5604, 2642, -1, 382, - -1, 2646, 2647, 1777, -1, 2704, -1, 3741, -1, -1, - -1, 2710, -1, -1, 1788, -1, -1, -1, -1, -1, - -1, -1, 4499, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 891, -1, -1, 3472, -1, - -1, 4958, -1, -1, -1, -1, 3480, -1, -1, -1, - -1, -1, 2751, -1, -1, 5663, 1830, 1831, -1, 2704, - 10, -1, -1, 13, -1, 2710, -1, 17, 18, 19, - -1, 3505, -1, -1, -1, 3809, -1, -1, -1, -1, - -1, 1855, -1, -1, -1, -1, 36, -1, 1862, -1, - -1, -1, -1, -1, -1, -1, 46, 3831, -1, 482, - -1, -1, -1, 53, -1, -1, 2751, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, -1, 3853, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3575, -1, 3577, -1, 5753, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1012, 1013, -1, -1, - 1934, -1, 5079, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5785, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5796, -1, - -1, -1, -1, 1967, 1968, -1, -1, -1, -1, -1, - -1, -1, 3936, -1, -1, -1, -1, -1, -1, -1, - 1984, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3960, -1, -1, -1, - 5147, -1, -1, -1, -1, -1, -1, 3671, -1, -1, - 4717, -1, -1, 193, -1, -1, -1, -1, 198, -1, - -1, 3985, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2960, -1, -1, -1, -1, -1, -1, -1, -1, - 220, 221, -1, -1, -1, -1, -1, -1, -1, 3713, - -1, -1, 4759, -1, -1, 235, -1, -1, -1, 5897, - -1, -1, -1, -1, 4771, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3741, -1, -1, - -1, -1, -1, -1, -1, 2960, -1, -1, -1, -1, - -1, -1, 1320, -1, -1, -1, 276, -1, -1, 4806, - -1, -1, -1, -1, 3033, -1, -1, -1, 3037, -1, - 290, -1, -1, 293, -1, -1, -1, -1, -1, -1, - 5267, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3809, -1, -1, 1376, -1, - -1, -1, -1, -1, -1, -1, -1, 10, 3033, 1245, - 13, -1, 3037, -1, 17, 18, 19, 3831, -1, -1, - -1, 4135, -1, -1, -1, -1, -1, 4884, -1, -1, - -1, -1, -1, 36, -1, -1, 39, -1, -1, 3853, - 1276, -1, -1, 46, -1, -1, 4903, -1, -1, -1, - 53, -1, 382, -1, -1, -1, -1, -1, -1, -1, - 3139, -1, -1, -1, -1, -1, -1, -1, 1304, 1305, - 1306, -1, 1308, -1, -1, 3154, 79, -1, -1, -1, - 3159, -1, -1, -1, 414, -1, -1, -1, -1, -1, - -1, -1, 1328, -1, -1, -1, 5393, -1, -1, -1, - -1, 5398, 5399, -1, -1, -1, -1, -1, -1, -1, - -1, 4225, -1, -1, 3139, -1, -1, -1, -1, -1, - -1, -1, 3936, -1, -1, -1, -1, -1, -1, 3154, - -1, -1, 4989, -1, 3159, -1, -1, 4251, -1, -1, - -1, -1, -1, -1, -1, -1, 3960, -1, -1, -1, - -1, -1, 482, -1, -1, -1, -1, -1, -1, -1, - 490, 491, 492, 493, 494, 495, 496, 497, 498, -1, - -1, 3985, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 193, -1, -1, -1, -1, 198, 1432, -1, -1, -1, - 1436, 1437, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5511, -1, -1, 220, 221, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5101, -1, 5103, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5555, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, - 4394, -1, -1, -1, -1, -1, -1, 290, -1, -1, - 293, 5148, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1685, -1, -1, - -1, 1689, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4135, -1, -1, -1, -1, -1, 4441, -1, -1, - -1, -1, 4446, -1, -1, 3414, -1, -1, 3417, -1, - 3419, 5198, -1, -1, 2498, 3424, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2509, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 382, - -1, -1, -1, -1, -1, -1, -1, 2541, -1, 3414, - -1, -1, 3417, 3472, 3419, -1, -1, -1, -1, 3424, - -1, 3480, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 3505, -1, -1, -1, - -1, -1, -1, -1, 2588, 2589, -1, 4251, -1, -1, - -1, -1, -1, 1679, 1680, 1681, -1, 3472, -1, -1, - -1, -1, -1, -1, -1, 3480, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4579, -1, -1, 2622, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 482, - 3505, -1, -1, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 3575, -1, 3577, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3575, -1, 3577, -1, 5411, -1, -1, 10, -1, -1, - 13, -1, -1, -1, 17, 18, 19, -1, 5425, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4394, -1, -1, 36, -1, -1, -1, -1, -1, -1, - 4704, -1, 3671, 46, -1, -1, -1, -1, -1, 5456, - 53, 2755, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2770, -1, -1, -1, - -1, -1, -1, -1, -1, 2003, 79, 4441, 4742, -1, - -1, -1, 4446, -1, 3713, -1, -1, -1, 2792, -1, - 2018, -1, -1, -1, 2022, -1, 3671, -1, -1, -1, - 4764, -1, -1, -1, -1, -1, -1, -1, -1, 2037, - 2038, 2039, 3741, 2041, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 3713, -1, - -1, -1, -1, -1, -1, 5552, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 10, -1, -1, 13, - -1, -1, -1, 17, 18, 19, 3741, -1, -1, -1, - -1, 174, -1, 4837, 2878, 2879, -1, -1, -1, -1, - 3809, -1, 36, -1, -1, -1, -1, -1, -1, -1, - 193, -1, 46, -1, -1, 198, -1, -1, -1, 53, - -1, -1, 3831, -1, -1, -1, -1, -1, -1, -1, - 5617, -1, 5619, -1, -1, 4579, -1, 220, 221, 2005, - -1, -1, -1, -1, 3853, 79, -1, -1, -1, -1, - -1, 2017, 235, 2019, 3809, 2021, -1, -1, 2024, 2025, - 2026, -1, -1, -1, -1, -1, 2032, -1, -1, 2035, - -1, -1, -1, -1, -1, -1, 3831, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2052, 2053, 2054, -1, - -1, -1, -1, 276, -1, 2979, -1, -1, 3853, -1, - -1, -1, -1, 2069, -1, -1, -1, 290, -1, -1, - 293, -1, -1, -1, 4958, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3936, -1, -1, - -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, - 174, -1, 17, 18, 19, -1, -1, -1, -1, -1, - -1, 3960, -1, -1, 5741, -1, -1, -1, -1, 193, - 4704, 36, -1, -1, 198, -1, -1, -1, -1, -1, - -1, 46, -1, -1, -1, -1, 3985, -1, 53, -1, - 5767, 3936, -1, -1, -1, -1, 220, 221, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4742, 382, - -1, 235, -1, -1, 79, 3960, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4764, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 3985, -1, -1, -1, -1, 5079, -1, -1, -1, -1, - -1, -1, 276, -1, -1, -1, 2212, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 290, -1, -1, 293, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2252, -1, -1, -1, - -1, -1, -1, 4837, 169, -1, -1, 5884, -1, 482, - -1, -1, -1, 5147, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, 193, -1, - -1, -1, -1, 198, -1, -1, 4135, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2305, - -1, -1, -1, -1, -1, 220, 221, -1, 382, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 235, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4135, -1, -1, -1, -1, -1, -1, -1, -1, 2497, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3296, -1, 4958, 290, 4225, -1, 293, -1, - -1, -1, -1, 5267, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 3317, -1, -1, -1, -1, -1, -1, - -1, -1, 4251, 6030, -1, -1, -1, -1, 482, -1, - -1, -1, -1, -1, -1, -1, 490, 491, 492, 493, - 494, 495, 496, 497, 498, -1, -1, -1, -1, -1, - 4225, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2595, -1, -1, - -1, 6078, -1, -1, -1, -1, 4251, -1, -1, 2607, - -1, -1, -1, -1, 2612, -1, -1, 382, -1, 6096, - -1, -1, -1, -1, 2480, 2481, 2482, 2483, 2484, 2485, - 2486, 2487, 2488, -1, 2490, -1, -1, -1, -1, -1, - -1, -1, -1, 2499, -1, 5079, 2502, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5393, - -1, -1, -1, -1, 5398, 5399, -1, 10, -1, -1, + 13, -1, 4602, -1, 17, 18, 19, -1, -1, -1, + 4975, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4987, -1, 37, -1, -1, -1, -1, 4555, + 297, -1, -1, -1, 47, -1, -1, 3577, -1, 2590, + -1, 54, -1, -1, -1, 312, -1, -1, 315, -1, + -1, -1, -1, -1, -1, -1, -1, 5022, -1, -1, + -1, 4587, -1, -1, -1, -1, -1, 80, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 4683, -1, -1, 4686, -1, -1, -1, + -1, -1, 514, 4619, -1, -1, -1, 3637, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 4654, -1, + -1, -1, -1, -1, -1, 5100, -1, -1, -1, 2690, + -1, 408, -1, -1, -1, 4671, -1, -1, -1, -1, + -1, 2702, 4532, -1, 5119, -1, 2707, -1, -1, -1, + 173, -1, -1, -1, -1, -1, 4546, 10, -1, -1, 13, -1, -1, -1, 17, 18, 19, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2543, -1, -1, - -1, 2547, -1, 36, 2550, 4394, 2552, -1, -1, 2555, - -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, - 53, -1, -1, 5147, -1, -1, -1, 482, -1, -1, - -1, -1, -1, -1, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, -1, -1, 79, -1, -1, -1, - -1, -1, 4441, -1, -1, -1, -1, 4446, -1, 4394, - -1, -1, 2608, 2609, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5511, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4441, -1, -1, -1, - -1, 4446, -1, -1, -1, 148, -1, -1, -1, 3583, - -1, -1, -1, -1, -1, 10, -1, -1, 13, 3593, - -1, 5555, 17, 18, 19, -1, -1, -1, -1, -1, - -1, -1, -1, 5267, -1, 2691, -1, -1, -1, -1, - -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, - 193, 46, -1, -1, -1, 198, -1, -1, 53, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 220, 221, -1, - 4579, -1, -1, -1, 79, -1, -1, -1, -1, -1, - -1, -1, 235, -1, -1, -1, -1, -1, -1, -1, - -1, 10, -1, -1, 13, -1, -1, -1, 17, 18, - 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, - -1, -1, -1, 276, 4579, -1, -1, 46, -1, -1, - -1, -1, -1, -1, 53, -1, -1, 290, -1, -1, - 293, -1, -1, -1, -1, -1, -1, -1, -1, 5393, - -1, -1, -1, -1, 5398, 5399, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, -1, -1, 3752, 3753, - 3754, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3769, -1, -1, 193, -1, - -1, -1, -1, 198, -1, 4704, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 220, 221, -1, 3802, 3803, - -1, -1, -1, 3807, -1, -1, -1, -1, -1, 382, - 235, -1, -1, 4742, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4704, - 169, -1, -1, -1, -1, 4764, -1, -1, -1, -1, - 2926, 2927, 2928, -1, -1, -1, 2932, 5511, -1, -1, - -1, 276, -1, -1, 193, -1, -1, -1, -1, 198, - -1, -1, -1, -1, -1, 290, -1, 4742, 293, -1, - -1, -1, -1, 2959, -1, -1, -1, -1, -1, -1, - -1, 220, 221, -1, -1, -1, -1, -1, -1, 4764, - -1, 5555, -1, -1, -1, -1, 235, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3911, 4837, 482, - 3914, -1, -1, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, - -1, -1, 3170, -1, -1, -1, -1, -1, -1, -1, - -1, 290, -1, -1, 293, -1, -1, 382, -1, -1, - -1, -1, 4837, 3191, 3192, -1, 3194, -1, -1, -1, - -1, 3199, 3200, -1, 3202, -1, 3204, -1, -1, -1, - 3208, -1, -1, 3211, -1, -1, -1, -1, 3216, -1, - -1, -1, -1, -1, -1, -1, -1, 3225, -1, -1, - -1, -1, 3230, -1, -1, -1, -1, -1, -1, -1, - 3238, 3239, 3240, 3241, -1, -1, -1, 3245, 3246, -1, - 3248, -1, -1, -1, -1, -1, -1, -1, -1, 4958, - -1, -1, 457, -1, -1, -1, -1, 3265, -1, 3267, - 4044, 4045, 4046, 382, -1, -1, 3274, 3275, 3276, 3277, - 3278, 3279, 3280, 3281, 3282, 3283, -1, 482, -1, -1, - -1, -1, -1, -1, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, -1, -1, -1, -1, -1, -1, - -1, 3167, -1, 4958, -1, -1, 3172, -1, -1, -1, - 3318, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, - -1, -1, 17, 18, 19, 3201, -1, -1, -1, -1, - -1, 24, -1, -1, -1, -1, 3212, -1, 3214, 3215, - -1, 36, -1, -1, -1, -1, -1, -1, -1, 42, - -1, 46, 3228, 482, -1, 3231, -1, 3233, 53, -1, - 5079, 490, 491, 492, 493, 494, 495, 496, 497, 498, - -1, -1, -1, -1, 67, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 79, -1, -1, 80, -1, -1, - -1, -1, 3268, -1, 3270, -1, 3272, -1, -1, -1, - -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5079, -1, -1, -1, -1, -1, - -1, 114, -1, -1, -1, -1, -1, 120, 5147, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3460, -1, -1, 138, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 149, -1, -1, -1, - -1, -1, -1, -1, -1, 158, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 171, -1, - -1, -1, 5147, -1, 3360, -1, 179, -1, -1, 3365, - 183, -1, -1, -1, -1, -1, -1, -1, 193, -1, - -1, -1, -1, 198, 3380, -1, -1, -1, -1, 202, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 220, 221, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 235, -1, -1, -1, -1, -1, 239, -1, 5267, -1, - -1, -1, -1, -1, -1, -1, 249, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3445, - -1, -1, -1, -1, -1, -1, -1, 4371, -1, -1, - -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 290, -1, 290, 293, -1, - 293, -1, 5267, -1, -1, -1, -1, -1, -1, 4403, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 314, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 328, -1, -1, -1, -1, - -1, 4435, 335, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 355, -1, -1, -1, -1, -1, -1, -1, - -1, 364, -1, -1, 5393, -1, 4470, -1, 371, 5398, - 5399, 374, -1, -1, 3702, 3703, -1, 382, -1, 3707, - -1, -1, -1, 4487, -1, -1, -1, -1, -1, -1, - 393, -1, -1, -1, -1, -1, -1, 400, -1, -1, - -1, -1, -1, 406, -1, -1, 409, 410, 3736, 412, - 413, -1, -1, -1, -1, -1, -1, -1, 5393, -1, - -1, -1, -1, 5398, 5399, 428, -1, -1, -1, -1, - -1, -1, 435, -1, -1, 438, -1, -1, 441, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 454, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 482, -1, -1, - -1, -1, 5511, -1, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 4608, 4609, 4610, 4611, -1, -1, - -1, -1, 3698, -1, -1, -1, -1, -1, 3704, -1, - -1, -1, -1, -1, -1, -1, 5555, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5511, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5555, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3783, -1, -1, - -1, -1, -1, -1, 3932, -1, -1, -1, -1, -1, - 3938, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 3957, - 3958, -1, -1, 3961, 3962, 3963, 3964, -1, -1, 3967, - 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, - 24, -1, -1, -1, -1, 29, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4000, -1, 22, 4003, -1, 4005, -1, -1, - 4008, 4009, -1, -1, 32, -1, 34, 35, -1, -1, - -1, -1, -1, 67, -1, -1, 4024, 4025, 4026, 4027, - -1, 4029, -1, -1, -1, -1, 80, 81, -1, -1, - -1, -1, -1, -1, 62, -1, -1, -1, 92, -1, - -1, -1, 96, -1, -1, -1, 74, -1, 76, 77, - -1, -1, -1, -1, -1, 83, -1, 85, -1, -1, - 114, -1, -1, -1, -1, -1, -1, 3933, -1, 97, - -1, 99, -1, -1, -1, 3941, -1, 3943, -1, -1, - -1, -1, -1, -1, 138, 3951, 4094, 3953, 116, -1, - -1, 119, -1, -1, -1, 149, -1, -1, -1, -1, - -1, -1, -1, -1, 158, -1, 134, -1, 136, -1, - -1, -1, 140, -1, 3980, 3981, 3982, 171, 146, -1, - -1, -1, 176, -1, -1, -1, 154, -1, 156, -1, - -1, -1, -1, 3999, -1, 163, 4144, -1, -1, -1, - -1, 4007, -1, -1, 4010, -1, 4012, -1, 202, -1, - -1, -1, 180, -1, -1, -1, 4022, -1, -1, -1, - -1, -1, -1, -1, 4030, 4031, -1, 4951, -1, 197, - -1, -1, -1, 227, -1, -1, -1, -1, 4962, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 249, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, - 238, -1, -1, -1, -1, 243, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, - -1, -1, -1, -1, -1, -1, 290, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 4112, 275, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 314, -1, -1, 4129, -1, -1, -1, -1, -1, -1, - 324, 325, -1, -1, 328, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 319, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 355, -1, -1, 358, 333, -1, -1, 362, -1, - 364, 339, 340, -1, 342, -1, -1, 371, -1, 347, - 374, -1, 350, -1, -1, 353, -1, -1, 356, -1, - -1, -1, -1, -1, -1, 363, -1, -1, -1, 393, - -1, 369, 370, -1, -1, -1, 400, -1, -1, 377, - -1, -1, 406, 381, -1, 409, 4364, -1, -1, 413, - -1, -1, -1, 391, -1, -1, -1, 421, -1, 423, - -1, -1, -1, -1, 428, -1, -1, -1, 406, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 426, 4407, - 454, -1, -1, -1, -1, -1, -1, -1, -1, 437, - -1, -1, -1, -1, -1, 443, -1, -1, -1, -1, - 448, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 461, -1, -1, 5220, -1, -1, -1, - -1, 5225, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 484, -1, -1, -1, - 5244, -1, -1, -1, -1, -1, -1, -1, 29, -1, - -1, -1, -1, -1, 502, -1, -1, 505, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4526, 80, - -1, -1, 4530, 4531, -1, 4533, 4534, -1, -1, -1, - -1, 4539, 4540, 4541, 4542, 96, -1, -1, 4546, 4547, - 4548, 4549, 4550, 4551, 4552, 4553, 4554, 4555, 4556, 4557, - 4558, -1, -1, 114, -1, -1, -1, -1, -1, 120, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4583, -1, 138, 4586, -1, - 4588, 4447, 4448, 4591, -1, -1, 4594, 4595, 149, -1, - 4598, 4599, 4458, -1, 5378, -1, -1, 158, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 171, -1, -1, -1, -1, 176, -1, -1, -1, -1, - -1, -1, 183, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 202, -1, -1, -1, -1, -1, -1, -1, 4657, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 4525, - -1, -1, -1, 4671, -1, -1, 227, -1, -1, -1, - -1, 4537, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 249, -1, - -1, -1, -1, -1, 5478, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 4576, 4577, -1, -1, -1, -1, -1, -1, 4584, 4585, - -1, -1, 5506, 4589, -1, -1, -1, 4593, -1, 290, - 4596, 4597, -1, -1, -1, 4601, -1, -1, -1, -1, - -1, 4607, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 324, 325, -1, -1, 328, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4647, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4658, -1, 355, -1, -1, 358, -1, -1, - 4666, 362, -1, 364, -1, -1, -1, -1, -1, -1, - 371, -1, -1, 374, -1, -1, -1, -1, -1, -1, - 4686, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 393, -1, -1, -1, -1, -1, -1, 400, - -1, -1, -1, -1, 405, 406, -1, -1, 409, -1, - -1, -1, 413, -1, -1, -1, -1, -1, 4866, -1, - -1, -1, 423, -1, -1, -1, -1, 428, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 441, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 454, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 4787, -1, -1, -1, -1, -1, -1, 4794, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 4953, 4954, -1, -1, -1, - -1, -1, -1, 4961, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, 37, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, -1, -1, -1, -1, -1, + -1, 54, -1, 226, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5003, -1, 4863, -1, -1, - -1, 5009, 5010, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5028, -1, 5030, -1, -1, -1, 5034, 5035, 5036, 5037, - -1, -1, 5040, 5041, -1, -1, -1, 5045, -1, -1, - -1, 5049, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5063, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, + 5205, 254, -1, -1, -1, -1, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 5081, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5095, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5105, -1, -1, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, 4818, 4819, 4820, 4821, -1, 3837, -1, 312, + -1, -1, 315, 3843, -1, -1, -1, -1, -1, 152, + -1, -1, -1, -1, -1, -1, -1, -1, 4918, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 198, -1, -1, -1, -1, + 203, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5336, -1, 5338, -1, 4975, -1, -1, -1, -1, + -1, -1, 3922, 226, 227, -1, -1, 4987, -1, -1, + -1, -1, -1, -1, -1, 408, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, 254, 17, 18, 19, -1, -1, -1, -1, -1, + -1, 5386, 5022, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 47, -1, -1, -1, -1, -1, -1, 54, + -1, -1, -1, -1, 297, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 312, + -1, 5436, 315, -1, -1, 80, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5100, 514, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 5119, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 4071, -1, -1, -1, -1, -1, -1, -1, 4079, + -1, 4081, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 4095, -1, -1, -1, 4099, + 4100, 4101, -1, -1, -1, 408, 4106, -1, -1, 4109, + -1, -1, 4112, -1, -1, -1, -1, -1, 4118, -1, + 4120, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 198, -1, -1, -1, -1, 203, -1, + -1, -1, -1, -1, -1, 5205, -1, 4147, 4148, 4149, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 226, 227, -1, -1, -1, 4166, -1, -1, -1, + -1, -1, -1, -1, 4174, -1, -1, 4177, -1, 4179, + -1, 5167, -1, -1, -1, -1, -1, -1, -1, 254, + -1, -1, 5178, 5033, -1, 4195, -1, -1, -1, -1, + -1, -1, -1, 4203, 4204, -1, -1, -1, 5048, -1, + 4210, 514, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, -1, + -1, -1, 297, -1, -1, -1, -1, -1, -1, 4239, + -1, -1, -1, -1, -1, -1, -1, 312, -1, 5674, + 315, -1, -1, -1, -1, -1, -1, -1, -1, 3270, + -1, -1, -1, 5688, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5336, 3288, 5338, -1, + -1, -1, -1, -1, -1, -1, -1, 3298, -1, -1, + 4290, -1, -1, 3304, 5719, -1, 3307, -1, -1, 5139, + -1, -1, -1, 3314, 3315, -1, 3317, 4307, -1, -1, + -1, 3322, 3323, -1, 3325, -1, 3327, -1, -1, -1, + 3331, -1, -1, 3334, -1, -1, 5386, -1, 3339, -1, + -1, -1, -1, -1, -1, -1, 5396, 3348, -1, -1, + -1, -1, 3353, 408, -1, -1, -1, -1, -1, -1, + 3361, 3362, 3363, 3364, -1, -1, -1, -1, 3369, 3370, + -1, 3372, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5798, -1, -1, 5436, -1, -1, -1, + 3391, 5441, 3393, -1, -1, -1, -1, -1, -1, 3400, + 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 10, + -1, -1, 13, -1, -1, -1, 17, 18, 19, 5834, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 488, -1, -1, 37, -1, -1, -1, + -1, -1, -1, -1, -1, 3446, 47, -1, -1, -1, + -1, -1, -1, 54, -1, -1, -1, -1, 10, 514, + -1, 13, -1, -1, -1, 17, 18, 19, 523, 524, + 525, 526, 527, 528, 529, 530, 531, -1, -1, 80, + -1, -1, 5458, -1, -1, 37, -1, 5463, 40, 5904, + -1, -1, 5907, -1, -1, 47, -1, -1, -1, -1, + -1, -1, 54, -1, -1, -1, 5482, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, + -1, -1, 5362, 10, 5364, -1, 13, -1, -1, -1, + 17, 18, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5007, -1, -1, -1, -1, -1, 5013, 5014, 5015, + 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 47, -1, 173, -1, -1, -1, -1, 54, -1, -1, + -1, -1, -1, -1, -1, 3586, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 198, -1, -1, + -1, -1, 203, 80, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5674, 226, 227, -1, -1, -1, + -1, -1, -1, -1, -1, 6050, -1, -1, 5688, -1, + -1, 4631, 4632, -1, -1, -1, 198, -1, -1, -1, + -1, 203, 4642, 254, -1, -1, -1, -1, -1, -1, + -1, -1, 6077, -1, -1, -1, -1, 5643, -1, 5719, + 5500, -1, -1, -1, 226, 227, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 297, -1, -1, -1, + -1, -1, 254, -1, -1, -1, -1, -1, -1, -1, + -1, 312, -1, -1, 315, -1, -1, -1, -1, -1, + -1, 198, 4712, -1, -1, -1, 203, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4729, + -1, -1, -1, -1, -1, 297, -1, -1, 5798, 226, + 227, -1, -1, -1, -1, -1, -1, 4747, -1, -1, + 312, -1, -1, 315, -1, 5741, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 254, -1, -1, + -1, -1, -1, -1, 5834, -1, -1, -1, -1, -1, + -1, -1, -1, 5769, -1, -1, 4786, 4787, -1, -1, + 6215, -1, -1, -1, 4794, 4795, -1, 408, -1, 4799, + -1, -1, -1, -1, 4804, -1, -1, 4807, 4808, -1, + 297, -1, -1, -1, 4814, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, 315, -1, + 3841, 3842, -1, -1, -1, 3846, -1, -1, 5678, -1, + 5680, -1, -1, -1, 5904, -1, 408, 5907, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4859, + -1, -1, -1, -1, 3875, -1, -1, -1, -1, -1, + 4870, -1, -1, -1, -1, -1, -1, -1, 4878, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 408, -1, 4923, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 6373, -1, + -1, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6050, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5003, 6064, -1, -1, 6432, -1, -1, + 5010, -1, -1, -1, -1, -1, -1, 6077, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 514, -1, -1, + -1, -1, 6457, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 4070, + -1, -1, -1, -1, -1, 4076, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 6137, 6138, 5079, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5946, -1, -1, -1, + -1, -1, -1, 4124, 4125, -1, -1, 4128, 4129, 4130, + 4131, -1, -1, 4134, 4135, 4136, 4137, 4138, 4139, 4140, + 4141, 4142, 4143, 4144, -1, -1, -1, -1, -1, 22, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 33, -1, 35, 36, -1, 6215, 4167, -1, -1, 4170, + -1, 4172, -1, -1, 4175, 4176, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 63, -1, -1, -1, -1, -1, 4197, 4198, 4199, 4200, + -1, 4202, 75, -1, 77, 78, -1, -1, -1, -1, + -1, 84, -1, 86, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 99, -1, 101, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5231, -1, -1, -1, 118, -1, -1, 121, 6079, + -1, 5241, -1, -1, -1, -1, -1, 5247, 5248, 5249, + -1, -1, -1, 136, -1, 138, -1, -1, -1, 142, + -1, 4272, -1, -1, -1, -1, 149, -1, -1, -1, + -1, -1, 5272, 5273, -1, 158, 5276, 160, -1, -1, + -1, -1, -1, -1, 167, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 5294, -1, -1, -1, -1, -1, + -1, -1, 185, -1, 5304, -1, -1, -1, -1, -1, + -1, 4322, -1, 6373, -1, 5315, -1, -1, -1, 202, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 5331, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 4357, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 6209, + -1, -1, 6432, 256, 257, -1, -1, -1, -1, 262, + -1, -1, -1, -1, -1, 6445, 6446, -1, -1, -1, + -1, -1, -1, -1, 277, -1, -1, 6457, -1, -1, + 6240, 6241, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 296, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 343, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 358, -1, -1, -1, -1, + -1, 364, 365, -1, 367, -1, -1, -1, -1, 372, + -1, -1, 375, -1, -1, 378, -1, -1, 381, -1, + -1, -1, -1, -1, -1, 388, -1, -1, -1, -1, + -1, -1, 395, 396, -1, -1, -1, -1, -1, -1, + 403, -1, -1, 6363, 407, -1, 25, -1, -1, -1, + -1, -1, -1, -1, -1, 418, 5536, 4548, -1, -1, + -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, + -1, -1, 435, -1, -1, -1, -1, 5557, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, + -1, -1, -1, 456, -1, -1, -1, -1, -1, -1, + 4591, -1, 81, -1, -1, 468, -1, -1, -1, -1, + -1, 474, -1, -1, -1, -1, 479, -1, -1, 98, + -1, -1, 5602, -1, -1, -1, -1, -1, -1, 492, + -1, -1, -1, -1, -1, -1, -1, 116, -1, -1, + -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 516, -1, -1, -1, -1, -1, -1, + -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, + 5650, -1, 535, -1, 153, 538, -1, -1, -1, -1, + -1, -1, -1, 162, -1, -1, 5666, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, + -1, -1, -1, -1, -1, 184, -1, -1, -1, 188, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 4713, -1, -1, -1, 4717, 4718, 5708, 208, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4731, -1, -1, -1, -1, -1, -1, -1, 4739, -1, + 4741, -1, 4743, 4744, -1, -1, -1, 25, 4749, 4750, + 4751, 4752, 30, -1, -1, 4756, 4757, 4758, 4759, 4760, + 4761, 4762, 4763, 4764, 4765, 4766, 4767, 4768, -1, 258, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 68, -1, 4793, -1, -1, 4796, -1, 4798, -1, -1, + -1, 4802, -1, 81, 4805, 4806, -1, 5797, 4809, 4810, + -1, -1, -1, -1, 4815, -1, -1, -1, -1, 5809, + 98, -1, -1, 312, -1, -1, 315, -1, 5818, 5819, + 5820, -1, -1, -1, -1, -1, -1, -1, 116, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 338, + -1, -1, -1, -1, -1, -1, 5846, -1, -1, -1, + -1, -1, 140, 352, -1, -1, -1, -1, 4869, -1, + 5860, 360, -1, -1, -1, 153, -1, -1, -1, -1, + -1, -1, 4883, -1, 162, -1, -1, -1, -1, 5879, + -1, 380, -1, -1, -1, -1, -1, 175, -1, -1, + -1, 390, -1, 181, -1, -1, -1, -1, 397, -1, + 188, 400, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, + 208, 420, -1, 30, -1, -1, -1, -1, -1, 428, + -1, -1, -1, -1, -1, -1, 435, -1, -1, 438, + -1, 440, -1, 442, 443, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 458, + -1, 68, -1, -1, -1, -1, -1, 466, -1, -1, + 469, -1, -1, 472, 81, 82, -1, -1, -1, -1, + 268, -1, -1, -1, -1, -1, 485, 94, -1, -1, + -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, + -1, 6011, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 312, -1, -1, -1, -1, -1, + -1, -1, -1, 140, -1, -1, 6036, 325, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, + 338, -1, -1, -1, -1, 162, -1, -1, -1, -1, + 348, 349, -1, -1, 352, -1, -1, -1, 175, -1, + -1, 5082, -1, -1, 181, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5169, -1, 5171, -1, -1, -1, -1, -1, -1, - -1, -1, 5038, 5039, -1, -1, 5042, -1, -1, -1, + -1, -1, 380, -1, -1, 383, -1, -1, -1, 387, + -1, 208, 390, -1, -1, -1, -1, -1, -1, 397, + -1, -1, 400, -1, -1, -1, -1, -1, -1, 6119, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5206, -1, - -1, -1, -1, 5069, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5080, -1, -1, -1, -1, -1, + -1, -1, 420, -1, -1, -1, -1, -1, -1, 246, + 428, -1, -1, 6143, -1, -1, -1, 435, -1, -1, + 438, -1, -1, -1, -1, 443, -1, -1, 5169, 5170, + -1, 268, -1, 451, -1, 453, 5177, -1, -1, -1, + 458, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 472, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, -1, 5220, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 5096, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 338, 5243, 5244, -1, -1, -1, -1, -1, -1, + -1, 348, 349, 30, -1, 352, -1, -1, -1, -1, + -1, 5262, -1, 5264, -1, -1, -1, 5268, 5269, 5270, + 5271, -1, -1, 5274, 5275, -1, -1, -1, -1, 5280, + 6270, -1, -1, 380, -1, -1, 383, -1, -1, -1, + 387, -1, -1, 390, -1, -1, 6286, 5298, -1, -1, + 397, -1, -1, 400, 81, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 5316, -1, -1, -1, -1, + -1, 98, -1, 420, -1, -1, -1, -1, -1, 5330, + -1, 428, -1, -1, -1, -1, -1, -1, 435, 116, + -1, 438, -1, -1, -1, 122, 443, -1, -1, -1, + -1, -1, -1, -1, 451, -1, 453, 5358, -1, -1, + -1, 458, -1, 140, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 485, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 175, -1, + -1, -1, -1, -1, 181, -1, 5407, -1, 5409, -1, + -1, 188, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6411, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 208, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 5444, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5293, -1, 5295, 5296, 5297, - 5298, 5299, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5310, 5311, 5312, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5325, -1, -1, - 5328, -1, -1, -1, 5332, -1, -1, -1, -1, -1, + -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5350, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5365, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 312, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5550, + -1, 5552, 5553, 5554, 5555, 5556, -1, -1, -1, -1, + -1, 338, -1, -1, -1, -1, -1, -1, 5569, 5570, + 5571, 348, 349, -1, -1, 352, -1, -1, 5579, -1, + -1, -1, -1, 5584, -1, -1, 5587, -1, -1, -1, + 5591, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 380, -1, -1, 383, -1, 5609, -1, + 387, -1, -1, 390, -1, -1, -1, -1, -1, -1, + 397, -1, -1, 400, -1, 5626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 420, -1, -1, -1, -1, -1, -1, + -1, 428, -1, -1, -1, -1, 433, -1, 435, -1, + -1, 438, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 453, -1, -1, -1, + -1, 458, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 472, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 485, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5300, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5343, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5799, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5831, -1, 5833, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5535, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5403, -1, -1, - -1, 5549, -1, 5551, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5445, + -1, -1, -1, -1, -1, -1, -1, 5878, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 5890, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 5603, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 5927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5639, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5534, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5705, 5564, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5592, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6007, -1, -1, -1, + -1, -1, -1, 6014, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 5752, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6047, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 6062, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 5837, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5850, 5851, 5710, 5711, 5712, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5864, -1, -1, -1, - -1, -1, 5728, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5738, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 5905, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5930, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 5946, 5947, - -1, -1, 5808, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 5832, -1, 5834, -1, + -1, -1, -1, 6174, 6175, -1, -1, 6178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 6006, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 6237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 3, -1, 5, 6, -1, 8, 9, 10, - 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, -1, -1, 5951, -1, 38, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, 80, - 5996, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, 6065, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, -1, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, -1, 435, 436, 437, 438, 439, 440, - 441, -1, 443, 444, 445, 446, 447, 448, 449, 450, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 482, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 493, 494, 495, -1, -1, -1, -1, -1, - -1, 502, 503, 3, -1, 5, 6, -1, 8, 9, + -1, 6262, -1, -1, -1, -1, -1, -1, -1, 3, + -1, 5, 6, -1, 8, 9, 10, 11, 12, 6280, + 6281, -1, 6283, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, -1, 39, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, 81, 6349, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, 252, 253, + 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, 466, 467, 468, 469, 470, 471, 472, -1, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, 528, -1, -1, -1, -1, -1, + -1, 535, 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, 38, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, + 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 120, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, -1, 435, 436, 437, 438, 439, - 440, 441, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, 461, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 482, -1, 484, -1, -1, -1, -1, -1, - -1, -1, -1, 493, 494, -1, -1, -1, -1, -1, - -1, -1, 502, 503, 3, -1, 5, 6, -1, 8, - 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, 38, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, 80, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, 173, -1, 175, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, 208, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, -1, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, 408, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, -1, 435, 436, 437, 438, - 439, 440, 441, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, 452, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 482, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 493, 494, -1, -1, -1, -1, - -1, -1, -1, 502, 503, 3, -1, 5, 6, -1, + 430, -1, 432, 433, 434, 435, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, + 470, 471, 472, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, 492, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, 514, -1, 516, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, -1, -1, -1, 535, 536, 3, -1, 5, + 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, + 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, -1, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, -1, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, -1, -1, -1, -1, 535, + 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, + 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, + 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, + -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, -1, -1, -1, + -1, -1, -1, 535, 536, 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - 38, -1, -1, 41, 42, 43, -1, 45, 46, 47, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, 104, 105, 106, 107, + 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, + 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, -1, 435, 436, 437, - 438, 439, 440, 441, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 482, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 493, 494, -1, -1, -1, - -1, -1, -1, -1, 502, 503, 3, -1, 5, 6, - -1, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, 3, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, -1, -1, -1, -1, 502, 503, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, 39, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, 223, 224, - 225, 226, 227, 228, -1, -1, 231, 232, 233, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, -1, -1, -1, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 503, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, 49, 50, 51, 52, - -1, 54, 55, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, -1, -1, 80, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, - 103, -1, -1, -1, 107, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, -1, 156, 157, 158, 159, -1, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - 173, -1, 175, 176, 177, 178, 179, -1, 181, -1, - -1, -1, 185, 186, -1, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, -1, 207, 208, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, -1, -1, 231, -1, - 233, 234, 235, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, -1, -1, 272, - -1, 274, 275, 276, 277, -1, -1, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, 298, 299, 300, -1, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, -1, 316, -1, 318, 319, 320, -1, 322, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, 434, -1, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, + 468, 469, 470, 471, 472, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, 514, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, -1, -1, -1, -1, -1, -1, 535, 536, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, 40, -1, 42, + 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, 354, 355, 356, 357, 358, 359, -1, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, -1, 402, - -1, 404, 405, -1, 407, 408, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, -1, - 423, -1, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, -1, 449, 450, 451, 452, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 479, 480, 481, -1, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 536, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, + 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, + 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, + -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, -1, -1, 81, -1, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, -1, -1, + -1, 109, -1, -1, -1, 113, 114, 115, 116, 117, + 118, 119, 120, 121, -1, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, -1, 160, 161, 162, 163, -1, -1, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, + -1, -1, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, + 228, 229, 230, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, -1, 252, 253, 254, -1, 256, 257, + 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, -1, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, -1, -1, 293, -1, 295, 296, 297, + 298, -1, -1, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, -1, 340, -1, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, -1, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, + 398, 399, 400, 401, -1, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, -1, 430, -1, 432, 433, -1, -1, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, -1, 453, -1, -1, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, -1, 467, + 468, 469, 470, 471, -1, -1, 474, 475, 476, 477, + 478, -1, 480, 481, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 510, 511, 512, -1, -1, -1, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, 536, -1, + 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, + 52, 53, -1, 55, 56, 57, 58, -1, 60, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, -1, 75, 76, 77, 78, -1, -1, 81, + -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, + 102, 103, 104, 105, -1, -1, -1, 109, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, -1, 160, 161, + 162, 163, -1, -1, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, -1, -1, -1, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, -1, + 252, 253, 254, -1, 256, 257, 258, -1, -1, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, -1, + 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 287, 288, 289, 290, -1, + -1, 293, -1, 295, 296, 297, 298, -1, -1, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, + 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, -1, 340, -1, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, + 382, 383, 384, -1, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + -1, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, -1, 430, -1, + 432, 433, -1, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + -1, 453, -1, -1, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + -1, -1, 474, 475, 476, 477, 478, -1, 480, 481, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 3, -1, 5, + 6, -1, 8, 9, 10, 11, 12, -1, 510, 511, + 512, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, 39, 536, -1, 42, 43, 44, -1, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, + 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, 492, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + 516, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, 3, -1, 5, 6, 535, + 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - 503, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, -1, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - -1, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, -1, -1, -1, 107, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, -1, 156, 157, - 158, 159, -1, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, -1, -1, -1, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, -1, 233, 234, 235, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, -1, 81, -1, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + 198, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, 214, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, 226, 227, + 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, -1, -1, 272, -1, 274, 275, 276, 277, - -1, -1, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, -1, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, -1, 316, -1, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, -1, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, -1, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, -1, 423, -1, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - -1, 449, 450, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - -1, 3, -1, 5, 6, -1, 8, 9, 10, 11, - 12, 479, 480, 481, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, 503, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, 406, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, 461, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, 484, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, 174, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, 230, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, 419, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, + 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, 434, 435, 436, 437, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, 466, 467, + 468, 469, 470, 471, 472, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, 483, 484, 485, 486, 487, + -1, -1, 490, -1, 492, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, 514, -1, 516, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 526, 527, + -1, -1, -1, 3, -1, 5, 6, 535, 8, 9, + 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, 39, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, + 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, + 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, 179, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, 249, + 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, + 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, 434, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, 449, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, 466, 467, 468, 469, + 470, 471, 472, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, 514, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, -1, -1, -1, 37, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, + 32, 33, 34, -1, -1, -1, 38, 39, -1, -1, + 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, + 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, + -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + 122, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, -1, -1, -1, - 37, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, -1, -1, 500, 501, - 502, 3, -1, 5, 6, -1, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, 495, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, 450, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, 466, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, 514, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, -1, -1, -1, 3, + -1, 5, 6, 535, 8, 9, 10, 11, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, -1, -1, -1, 38, 39, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, 81, -1, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, 252, 253, + 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, 402, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + 434, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, 466, 467, 468, 469, 470, 471, 472, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, -1, + 514, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 526, 527, -1, -1, -1, 3, -1, 5, + 6, 535, 8, 9, 10, 11, 12, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, -1, 32, 33, 34, -1, + -1, -1, -1, 39, -1, -1, 42, 43, 44, -1, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, + 76, 77, 78, 79, -1, 81, -1, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, -1, 95, + 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, -1, 125, + 126, 127, 128, 129, 130, 131, -1, 133, 134, 135, + 136, -1, -1, 139, 140, 141, 142, 143, -1, 145, + 146, 147, 148, -1, 150, 151, 152, 153, -1, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, + 166, -1, 168, 169, 170, 171, 172, -1, 174, -1, + 176, 177, 178, -1, 180, 181, 182, 183, 184, -1, + 186, 187, -1, 189, 190, 191, -1, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, -1, 204, 205, + 206, 207, 208, 209, 210, 211, -1, 213, 214, 215, + 216, 217, 218, 219, 220, 221, -1, 223, -1, 225, + 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, + 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, + 246, 247, -1, -1, 250, 251, 252, 253, 254, -1, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, + 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, + -1, 307, 308, 309, -1, -1, 312, 313, 314, -1, + -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, -1, + 336, 337, 338, 339, 340, 341, 342, 343, 344, -1, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + -1, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, -1, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, -1, 432, 433, 434, -1, + 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, + 446, 447, -1, -1, 450, 451, 452, 453, 454, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, -1, + 466, 467, 468, 469, 470, 471, 472, -1, 474, 475, + 476, 477, 478, 479, 480, -1, 482, 483, 484, 485, + 486, 487, -1, -1, 490, -1, -1, 493, 494, 495, + 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 510, 511, 512, -1, 514, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 526, 527, -1, -1, -1, -1, -1, 533, 534, 535, + 3, -1, 5, 6, -1, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, 528, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, 174, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, 418, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, 179, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, 448, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, 466, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, 514, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, 122, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, 466, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, 514, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, -1, -1, -1, 3, -1, 5, 6, 535, 8, + 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, 514, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 526, 527, -1, + -1, -1, 3, -1, 5, 6, 535, 8, 9, 10, + 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, 39, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, 466, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, 514, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, -1, -1, -1, + 3, -1, 5, 6, 535, 8, 9, 10, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 526, 527, -1, -1, -1, 3, -1, + 5, 6, 535, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, 39, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, -1, -1, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, -1, 298, 299, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 526, 527, -1, -1, -1, 3, -1, 5, 6, + 535, 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 526, + 527, 3, -1, 5, 6, -1, 8, 9, 535, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, 39, -1, -1, + 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, + 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, + -1, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, 178, -1, 180, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, 198, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, 214, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, -1, 295, 296, 297, 298, 299, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, 434, -1, 436, 437, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + 472, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, 483, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 526, 527, 3, -1, 5, 6, + -1, 8, 9, 535, 11, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, 299, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, 455, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + 3, -1, 5, 6, -1, 8, 9, -1, 11, 12, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, 39, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, 165, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, 299, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, 5, 6, -1, 8, + 9, -1, 11, 12, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + 39, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, 248, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, 297, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, 492, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, 516, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, 68, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, + 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, 297, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + 311, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, 434, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, 472, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, 68, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, -1, -1, -1, 3, -1, 5, 6, - 502, 8, 9, 10, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, 273, 274, 275, -1, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, 435, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 482, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 493, 494, -1, -1, - -1, 3, -1, 5, 6, 502, 8, 9, 10, 11, - 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, 38, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 493, 494, 3, -1, 5, 6, -1, 8, 9, - 502, 11, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, 38, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, 276, 277, 278, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, 441, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 493, 494, 3, -1, 5, 6, -1, - 8, 9, 502, 11, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - 38, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, - 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, 441, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, -1, -1, 3, -1, 5, 6, - -1, 8, 9, -1, 11, 12, -1, -1, -1, -1, - -1, -1, -1, -1, 502, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, 38, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, 441, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, -1, -1, 3, -1, 5, - 6, -1, 8, 9, -1, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, 502, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, 441, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, -1, -1, 3, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 502, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, 67, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, 80, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, -1, 231, 232, 233, 234, - 235, -1, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, 276, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, 289, 290, 291, 292, -1, -1, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, 441, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, - 455, 456, -1, -1, 459, -1, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, -1, -1, 484, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, 434, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, 472, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 502, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, 67, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, 80, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, 68, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - 173, -1, 175, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, 208, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, -1, 231, 232, - 233, 234, 235, -1, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, 276, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, 289, 290, 291, 292, - -1, -1, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, 408, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, 441, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, 452, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, - -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 502, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, 67, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, 240, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, 276, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, 441, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 502, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, 67, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, -1, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, 276, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - 441, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, -1, -1, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 502, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, 67, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, 276, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, 441, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, -1, -1, 3, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 502, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, 67, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, 80, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, 402, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, 434, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, 472, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, 173, -1, 175, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, 208, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, -1, 237, 238, - 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, 276, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, 408, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, 441, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, 452, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, -1, -1, 3, -1, 5, 6, -1, - -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 502, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, -1, -1, -1, 107, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, 276, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - 288, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, -1, -1, 3, -1, -1, -1, - -1, -1, -1, -1, -1, 493, 494, 495, -1, -1, - -1, -1, -1, -1, 502, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, 34, 35, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, 68, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, 252, 253, 254, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, 297, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, 319, 320, 321, 322, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, 434, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, 472, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, -1, 3, -1, 5, 6, -1, -1, -1, -1, + 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, 252, 253, 254, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, 297, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, 310, + -1, 312, 313, 314, -1, -1, 317, 318, 319, 320, + 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, 526, 527, 528, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, 35, 36, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + 297, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, 406, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, 461, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, -1, -1, 484, 3, -1, + 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, -1, 435, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, 492, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, -1, -1, 516, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, 297, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, 516, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, -1, 51, 52, 53, 54, + 55, -1, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, 79, -1, -1, -1, 83, 84, + 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, -1, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, -1, -1, -1, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + 195, 196, 197, -1, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, -1, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, -1, -1, 228, -1, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, 251, -1, 253, -1, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, -1, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, -1, + 295, 296, -1, 298, -1, 300, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + -1, -1, 317, 318, 319, -1, 321, -1, 323, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, -1, 380, 381, 382, 383, 384, + 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, -1, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, 432, 433, -1, + 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, 452, 453, 454, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, 479, 480, -1, 482, -1, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, -1, -1, + -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 502, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, + 535, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, + 51, 52, 53, 54, 55, -1, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, -1, 103, 104, 105, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, -1, -1, -1, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, -1, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, -1, -1, 228, -1, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, -1, 253, -1, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, -1, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, -1, + 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, -1, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, -1, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, + -1, 432, 433, -1, -1, 436, -1, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, -1, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 535, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, -1, 51, 52, 53, 54, 55, -1, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, 79, -1, -1, -1, 83, 84, 85, 86, + 87, 88, -1, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, -1, 103, 104, 105, -1, + -1, -1, -1, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, 159, 160, 161, 162, 163, 164, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, -1, -1, -1, 181, 182, 183, 184, -1, 186, + 187, -1, 189, 190, 191, -1, 193, 194, 195, 196, + 197, -1, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, -1, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, -1, + -1, 228, -1, 230, 231, 232, 233, 234, 235, 236, + 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, 251, -1, 253, -1, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, + 277, 278, 279, 280, -1, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, 292, 293, -1, 295, 296, + -1, 298, -1, 300, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, 319, -1, 321, -1, 323, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, 339, 340, 341, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, -1, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, -1, 432, 433, -1, -1, 436, + -1, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, 452, 453, 454, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, 479, 480, -1, 482, -1, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, -1, -1, -1, -1, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 535, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, -1, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, -1, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, -1, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, -1, 230, 231, 232, + 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, 251, -1, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, + 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, + 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, -1, 380, 381, 382, + 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 535, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, 3, -1, + -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, + -1, -1, 17, 18, 19, -1, 535, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, -1, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, 80, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, -1, - -1, -1, 107, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, -1, 237, 238, 239, -1, -1, 242, 243, 244, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, -1, -1, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, -1, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149, 150, 151, 152, 153, -1, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, -1, -1, 169, 170, 171, 172, -1, 174, + 175, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, 187, -1, 189, 190, 191, -1, 193, 194, + -1, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, + 215, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, + -1, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, 276, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, + 275, -1, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, + 305, -1, 307, 308, 309, -1, 311, 312, 313, 314, + 315, -1, 317, 318, 319, 320, -1, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, + 335, 336, 337, 338, 339, 340, -1, 342, 343, 344, + 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, 408, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, -1, -1, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 502, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, 406, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, -1, -1, - 484, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 502, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, 107, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, 289, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, 406, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 502, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, -1, -1, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 502, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, -1, -1, 3, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 502, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, -1, -1, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 502, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, -1, -1, 3, -1, 5, 6, + 385, 386, 387, 388, 389, 390, 391, 392, 393, -1, + 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, -1, 483, 484, + 485, 486, 487, 488, -1, 490, -1, -1, -1, -1, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, -1, 511, 512, -1, 514, + -1, -1, -1, -1, -1, -1, -1, -1, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 3, -1, 5, + 6, -1, -1, -1, 10, 11, -1, -1, -1, -1, + -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, -1, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, -1, 80, 81, 82, 83, 84, 85, + 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, + 156, 157, 158, -1, 160, 161, 162, 163, -1, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, + 186, -1, 188, -1, 190, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, -1, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 229, 230, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 241, 242, 243, 244, 245, + 246, 247, 248, 249, 250, -1, 252, 253, 254, 255, + 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, + 266, 267, 268, 269, 270, -1, 272, 273, 274, 275, + 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, + 286, 287, 288, 289, 290, 291, -1, 293, 294, 295, + 296, 297, 298, 299, -1, 301, 302, 303, 304, 305, + 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, + 316, 317, 318, -1, 320, 321, 322, -1, 324, 325, + 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, + 336, 337, 338, -1, 340, -1, 342, 343, 344, 345, + 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, + 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, + 376, 377, 378, 379, 380, 381, 382, 383, 384, -1, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, + 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, + 426, 427, 428, -1, 430, 431, 432, 433, 434, 435, + 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 448, 449, 450, 451, -1, 453, -1, 455, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, + 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, + 476, 477, 478, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, + 496, 497, 498, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 510, 511, 512, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 523, 524, 525, + 526, 527, 528, 529, 530, 531, 3, -1, 5, 6, -1, -1, -1, 10, 11, -1, -1, -1, -1, -1, - 17, 18, 19, -1, 502, 22, 23, 24, 25, 26, + 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, 55, 56, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, -1, 79, 80, 81, 82, 83, 84, 85, 86, + 77, 78, -1, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 148, 149, 150, 151, 152, 153, 154, -1, 156, - 157, 158, 159, -1, 161, 162, 163, 164, 165, 166, + 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 181, -1, 183, -1, 185, 186, - 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, + 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, + -1, 188, -1, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, + 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, 229, 230, 231, -1, 233, 234, 235, 236, - 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, 248, 249, 250, -1, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - 277, 278, -1, 280, 281, 282, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - -1, 298, 299, 300, -1, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, -1, 316, - -1, 318, 319, 320, 321, 322, 323, 324, 325, 326, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, -1, 293, 294, 295, 296, + 297, 298, 299, -1, 301, 302, 303, 304, 305, 306, + 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 337, 338, -1, 340, -1, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, 363, 364, 365, 366, + 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, 403, 404, 405, 406, + 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, - 417, 418, 419, 420, 421, -1, 423, -1, 425, 426, - 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, - 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, + 447, 448, 449, 450, 451, -1, 453, -1, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, - 467, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 479, 480, 481, -1, -1, -1, -1, -1, - -1, -1, -1, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 3, -1, 5, 6, -1, -1, -1, 10, - 11, -1, -1, -1, -1, -1, 17, 18, 19, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, -1, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, - 181, -1, 183, -1, 185, 186, 187, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, -1, 233, 234, 235, 236, 237, 238, 239, 240, - 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, 277, 278, -1, 280, - 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, - 291, 292, 293, 294, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, -1, 316, -1, 318, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, 403, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, - 421, -1, 423, -1, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, - 441, 442, 443, 444, 445, 446, 447, -1, 449, 450, - 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, - 461, 462, 463, 464, 465, 466, 467, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, -1, -1, -1, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 3, -1, - -1, -1, -1, -1, -1, 10, -1, -1, 13, -1, - -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, -1, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, -1, -1, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - -1, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, -1, -1, - 165, 166, 167, 168, -1, 170, 171, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, -1, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, -1, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, -1, 254, - 255, -1, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, 289, 290, 291, 292, 293, -1, - 295, 296, 297, 298, -1, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, -1, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, -1, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, -1, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, -1, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, -1, 452, 453, 454, - 455, 456, 457, -1, 459, -1, -1, -1, -1, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, -1, 480, 481, 482, -1, -1, - -1, -1, -1, -1, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, - -1, 10, -1, -1, -1, -1, -1, -1, 17, 18, - 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, -1, -1, -1, -1, -1, -1, -1, - -1, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, - -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, -1, - -1, -1, -1, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 3, -1, -1, -1, - -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, - 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, -1, -1, -1, -1, -1, - -1, -1, -1, 490, 491, 492, 493, 494, 495, 496, - 497, 498, 3, -1, -1, -1, -1, -1, -1, 10, - -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, -1, -1, -1, -1, -1, -1, -1, -1, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 3, -1, - -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, - -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, -1, -1, -1, - -1, -1, -1, -1, -1, 490, 491, 492, 493, 494, - 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, + 477, 478, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, + 497, 498, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 3, -1, -1, -1, -1, + -1, -1, 10, -1, -1, -1, -1, -1, -1, 17, + 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, + 28, 29, 30, -1, 32, 33, 34, -1, -1, -1, + -1, -1, -1, -1, 42, 43, 44, -1, 46, 47, + 48, 49, -1, 51, 52, 53, 54, 55, -1, 57, + 58, -1, 60, 61, 62, 63, 64, 65, 66, -1, + -1, 69, 70, 71, 72, 73, -1, 75, 76, 77, + 78, 79, -1, -1, -1, 83, 84, 85, 86, 87, + 88, -1, 90, 91, 92, 93, -1, 95, 96, 97, + 98, 99, 100, -1, -1, 103, 104, 105, -1, -1, + -1, -1, -1, -1, -1, 113, 114, 115, 116, 117, + 118, 119, 120, 121, -1, 123, -1, 125, 126, 127, + 128, 129, 130, 131, -1, 133, 134, 135, 136, -1, + -1, 139, 140, 141, 142, 143, -1, 145, 146, 147, + 148, -1, 150, 151, 152, 153, -1, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, -1, 166, -1, + 168, 169, 170, 171, 172, -1, 174, -1, 176, 177, + -1, -1, -1, 181, 182, 183, 184, -1, 186, 187, + -1, 189, 190, 191, -1, 193, 194, 195, 196, 197, + -1, 199, 200, 201, 202, -1, 204, 205, 206, 207, + 208, 209, 210, 211, -1, 213, -1, 215, 216, 217, + 218, 219, 220, 221, -1, 223, -1, 225, -1, -1, + 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, + -1, -1, 250, 251, -1, 253, -1, -1, 256, 257, + 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 280, -1, 282, 283, 284, 285, 286, 287, + 288, 289, 290, 291, 292, 293, -1, 295, 296, -1, + 298, -1, 300, 301, 302, 303, 304, 305, -1, 307, + 308, 309, -1, -1, 312, 313, 314, -1, -1, 317, + 318, 319, -1, 321, -1, 323, 324, 325, 326, 327, + 328, 329, 330, 331, 332, 333, 334, -1, 336, 337, + 338, 339, 340, 341, 342, 343, 344, -1, 346, 347, + 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, + 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, + 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, + 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, + 388, 389, 390, 391, 392, 393, 394, 395, -1, 397, + 398, 399, 400, 401, -1, 403, 404, 405, 406, 407, + -1, 409, 410, 411, 412, -1, 414, 415, 416, 417, + 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, -1, 432, 433, -1, -1, 436, -1, + 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, + -1, -1, 450, 451, 452, 453, 454, -1, 456, 457, + 458, 459, 460, 461, 462, 463, 464, -1, -1, 467, + 468, 469, 470, 471, -1, -1, 474, 475, 476, 477, + 478, 479, 480, -1, 482, -1, 484, 485, 486, 487, + -1, -1, 490, -1, -1, 493, 494, 495, 496, 497, + 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, -1, -1, -1, -1, -1, -1, -1, - -1, 490, 491, 492, 493, 494, 495, 496, 497, 498, - 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, - -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, - -1, -1, -1, -1, -1, -1, -1, 490, 491, 492, - 493, 494, 495, 496, 497, 498, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, - 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, - 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, - 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, - 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, - 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 495, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 495, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 495, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, -1, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, -1, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, -1, 156, - 157, 158, 159, -1, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, -1, -1, -1, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, -1, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, -1, -1, 272, -1, 274, 275, 276, - 277, -1, -1, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, 294, 295, 296, - 297, 298, 299, 300, -1, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, -1, 316, - -1, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, -1, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, -1, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, -1, 423, -1, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, -1, 449, 450, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 479, 480, 481, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 495, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, -1, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, -1, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, -1, -1, -1, 107, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, -1, 156, 157, 158, 159, -1, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - -1, -1, -1, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - -1, 233, 234, 235, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, -1, -1, - 272, -1, 274, 275, 276, 277, -1, -1, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, 294, 295, 296, 297, 298, 299, 300, -1, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, -1, 316, -1, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, -1, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, -1, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - -1, 423, -1, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, -1, 449, 450, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 3, -1, 5, 6, - -1, -1, -1, -1, 11, 12, -1, 479, 480, 481, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, 495, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, 120, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, 288, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, 5, 6, -1, - -1, -1, -1, 11, 12, -1, 493, 494, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, -1, -1, -1, 107, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, 276, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - 288, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, 5, 6, -1, -1, - -1, -1, 11, -1, -1, 493, 494, -1, -1, -1, - -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, 80, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, 100, 101, 102, 103, -1, -1, -1, 107, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, 173, -1, 175, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, 208, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, 276, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, - -1, 290, 291, 292, -1, -1, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, 408, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, 452, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, 5, 6, -1, -1, -1, - -1, 11, 12, -1, 493, 494, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 3, -1, -1, -1, -1, -1, -1, + 10, -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, -1, -1, -1, 107, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, 276, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, -1, 103, 104, 105, -1, -1, -1, -1, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, -1, -1, + -1, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, -1, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, -1, -1, 228, -1, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, -1, 253, -1, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, -1, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, -1, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, -1, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, 5, 6, -1, -1, -1, -1, - 11, -1, -1, 493, 494, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 430, -1, 432, 433, -1, -1, 436, -1, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, -1, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 3, -1, -1, -1, -1, -1, -1, 10, + -1, -1, -1, -1, -1, -1, 17, 18, 19, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, + 51, 52, 53, 54, 55, -1, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, + -1, -1, 83, 84, 85, 86, 87, 88, -1, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, -1, 103, 104, 105, -1, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, -1, -1, -1, + 181, 182, 183, 184, -1, 186, 187, -1, 189, 190, + 191, -1, 193, 194, 195, 196, 197, -1, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, -1, 215, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, -1, -1, 228, -1, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + 251, -1, 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, 276, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, - 291, 292, -1, -1, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, + 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, + -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, -1, 295, 296, -1, 298, -1, 300, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, 319, -1, + 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, + 341, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, -1, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, -1, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, 11, - -1, -1, 493, 494, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, 174, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, 198, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, + -1, 432, 433, -1, -1, 436, -1, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, 452, 453, 454, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, 479, 480, + -1, 482, -1, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 499, 500, + 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, + 511, 512, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 523, 524, 525, 526, 527, 528, 529, 530, + 531, 3, -1, -1, -1, -1, -1, -1, 10, -1, + -1, -1, -1, -1, -1, 17, 18, 19, -1, -1, + 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, + 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, + 42, 43, 44, -1, 46, 47, 48, 49, -1, 51, + 52, 53, 54, 55, -1, 57, 58, -1, 60, 61, + 62, 63, 64, 65, 66, -1, -1, 69, 70, 71, + 72, 73, -1, 75, 76, 77, 78, 79, -1, -1, + -1, 83, 84, 85, 86, 87, 88, -1, 90, 91, + 92, 93, -1, 95, 96, 97, 98, 99, 100, -1, + -1, 103, 104, 105, -1, -1, -1, -1, -1, -1, + -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, + -1, 123, -1, 125, 126, 127, 128, 129, 130, 131, + -1, 133, 134, 135, 136, -1, -1, 139, 140, 141, + 142, 143, -1, 145, 146, 147, 148, -1, 150, 151, + 152, 153, -1, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, -1, 166, -1, 168, 169, 170, 171, + 172, -1, 174, -1, 176, 177, -1, -1, -1, 181, + 182, 183, 184, -1, 186, 187, -1, 189, 190, 191, + -1, 193, 194, 195, 196, 197, -1, 199, 200, 201, + 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, + -1, 213, -1, 215, 216, 217, 218, 219, 220, 221, + -1, 223, -1, 225, -1, -1, 228, -1, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, + 242, 243, 244, 245, 246, 247, -1, -1, 250, 251, + -1, 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, 5, 6, -1, -1, -1, -1, 11, -1, - -1, 493, 494, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, - 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, + 272, 273, 274, 275, 276, 277, 278, 279, 280, -1, + 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, + 292, 293, -1, 295, 296, -1, 298, -1, 300, 301, + 302, 303, 304, 305, -1, 307, 308, 309, -1, -1, + 312, 313, 314, -1, -1, 317, 318, 319, -1, 321, + -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, + 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, + 342, 343, 344, -1, 346, 347, 348, 349, 350, 351, + 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, + -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, + 372, 373, 374, 375, -1, 377, 378, -1, 380, 381, + 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, + 392, 393, 394, 395, -1, 397, 398, 399, 400, 401, + -1, 403, 404, 405, 406, 407, -1, 409, 410, 411, + 412, -1, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, -1, + 432, 433, -1, -1, 436, -1, 438, 439, 440, 441, + 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, + 452, 453, 454, -1, 456, 457, 458, 459, 460, 461, + 462, 463, 464, -1, -1, 467, 468, 469, 470, 471, + -1, -1, 474, 475, 476, 477, 478, 479, 480, -1, + 482, -1, 484, 485, 486, 487, -1, -1, 490, -1, + -1, 493, 494, 495, 496, 497, 498, 499, 500, 501, + 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, + 512, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 523, 524, 525, 526, 527, 528, 529, 530, 531, + 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, + -1, -1, -1, -1, 17, 18, 19, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, + 53, 54, 55, -1, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, 79, -1, -1, -1, + 83, 84, 85, 86, 87, 88, -1, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, -1, + 103, 104, 105, -1, -1, -1, -1, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, 159, 160, 161, 162, + 163, 164, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, -1, -1, -1, 181, 182, + 183, 184, -1, 186, 187, -1, 189, 190, 191, -1, + 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, -1, 215, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, + 243, 244, 245, 246, 247, -1, -1, 250, 251, -1, + 253, -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 273, 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, - 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 293, -1, 295, 296, -1, 298, -1, 300, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, + 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, + 373, 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, - 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, -1, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, -1, 432, + 433, -1, -1, 436, -1, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, + 453, 454, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, 479, 480, -1, 482, + -1, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, + 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 523, 524, 525, 526, 527, 528, 529, 530, 531, 3, + -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, + -1, -1, -1, 17, 18, 19, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 523, + 524, 525, 526, 527, 528, 529, 530, 531, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, @@ -22833,5975 +24231,7276 @@ static const yytype_int16 yycheck[] = 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, + 54, 55, -1, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, 79, -1, -1, -1, 83, + 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, -1, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, 159, 160, 161, 162, 163, + 164, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, -1, -1, -1, 181, 182, 183, + 184, -1, 186, 187, -1, 189, 190, 191, -1, 193, + 194, 195, 196, 197, -1, 199, 200, 201, 202, -1, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + -1, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, -1, -1, 228, -1, 230, 231, 232, 233, + 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, 251, -1, 253, + -1, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, + 274, 275, 276, 277, 278, 279, 280, -1, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + -1, 295, 296, -1, 298, -1, 300, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, -1, 317, 318, 319, -1, 321, -1, 323, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, -1, 380, 381, 382, 383, + 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, -1, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, -1, 432, 433, + -1, -1, 436, -1, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, + 454, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, 479, 480, -1, 482, -1, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 505, 506, 507, 508, 509, 510, 511, 512, 3, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 528, -1, -1, -1, 22, 23, + 24, 25, 26, 27, 28, 29, 30, -1, 32, 33, + 34, -1, -1, -1, -1, -1, -1, -1, 42, 43, + 44, -1, 46, 47, 48, 49, 50, 51, 52, 53, + -1, 55, 56, 57, 58, -1, 60, 61, 62, 63, + 64, 65, 66, -1, -1, 69, 70, 71, 72, 73, + -1, 75, 76, 77, 78, -1, -1, 81, -1, 83, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + -1, 95, 96, 97, 98, 99, 100, -1, 102, 103, + 104, 105, -1, -1, -1, 109, -1, -1, -1, 113, + 114, 115, 116, 117, 118, 119, 120, 121, -1, 123, + -1, 125, 126, 127, 128, 129, 130, 131, -1, 133, + 134, 135, 136, -1, -1, 139, 140, 141, 142, 143, + -1, 145, 146, 147, 148, -1, 150, 151, 152, 153, + -1, 155, 156, 157, 158, -1, 160, 161, 162, 163, + -1, -1, 166, -1, 168, 169, 170, 171, 172, -1, + 174, -1, 176, 177, 178, -1, 180, 181, 182, 183, + 184, -1, 186, -1, -1, -1, 190, 191, -1, 193, + 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, + 204, 205, 206, 207, 208, 209, 210, 211, -1, 213, + 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, + -1, 225, 226, 227, 228, 229, 230, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 241, 242, 243, + 244, 245, 246, 247, -1, -1, 250, -1, 252, 253, + 254, -1, 256, 257, 258, -1, -1, 261, 262, 263, + 264, 265, 266, 267, 268, 269, 270, -1, 272, 273, + 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, -1, -1, 293, + -1, 295, 296, 297, 298, -1, -1, 301, 302, 303, + 304, 305, -1, 307, 308, 309, -1, -1, 312, 313, + 314, -1, 316, 317, 318, 319, 320, 321, 322, -1, + 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, + 334, -1, 336, 337, 338, -1, 340, -1, 342, 343, + 344, -1, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, -1, 363, + 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, + 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, + 384, -1, 386, 387, 388, 389, 390, 391, 392, 393, + 394, 395, -1, 397, 398, 399, 400, 401, -1, 403, + 404, 405, 406, 407, 408, 409, 410, 411, 412, -1, + 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, + 424, 425, 426, 427, 428, -1, 430, -1, 432, 433, + -1, -1, 436, 437, 438, 439, 440, 441, 442, 443, + -1, 445, 446, 447, -1, -1, 450, 451, -1, 453, + -1, -1, 456, 457, 458, 459, 460, 461, 462, 463, + 464, -1, -1, 467, 468, 469, 470, 471, -1, -1, + 474, 475, 476, 477, 478, -1, 480, 481, 482, 483, + 484, 485, 486, 487, -1, -1, 490, -1, -1, 493, + 494, 495, 496, 497, 498, -1, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 510, 511, 512, -1, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 528, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, 215, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, -1, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, 316, + 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, 481, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, -1, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, 510, 511, 512, -1, -1, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 528, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, 12, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, 5, 6, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + 310, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, + -1, 11, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, -1, -1, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + -1, 51, 52, 53, 54, 55, -1, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, -1, -1, 83, 84, 85, 86, 87, 88, -1, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, -1, 103, 104, 105, -1, -1, -1, -1, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, -1, 179, + -1, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, -1, 199, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, -1, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, -1, -1, 228, -1, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, -1, 253, -1, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, -1, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, -1, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + -1, 321, -1, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, -1, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, -1, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, -1, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, -1, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 526, 527, -1, -1, + -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, + 30, -1, 32, 33, 34, 35, 36, -1, -1, -1, + -1, -1, 42, 43, 44, -1, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, 57, 58, -1, + 60, 61, 62, 63, 64, 65, 66, -1, -1, 69, + 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, + -1, 81, -1, 83, 84, 85, 86, 87, 88, 89, + 90, 91, 92, 93, -1, 95, 96, 97, 98, 99, + 100, -1, 102, 103, 104, 105, -1, -1, -1, 109, + -1, -1, -1, 113, 114, 115, 116, 117, 118, 119, + 120, 121, -1, 123, -1, 125, 126, 127, 128, 129, + 130, 131, -1, 133, 134, 135, 136, -1, -1, 139, + 140, 141, 142, 143, -1, 145, 146, 147, 148, -1, + 150, 151, 152, 153, -1, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, -1, 166, -1, 168, 169, + 170, 171, 172, -1, 174, -1, 176, 177, 178, -1, + 180, 181, 182, 183, 184, -1, 186, 187, -1, 189, + 190, 191, -1, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, + 210, 211, -1, 213, 214, 215, 216, 217, 218, 219, + 220, 221, -1, 223, -1, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, -1, -1, + 250, 251, 252, 253, 254, -1, 256, 257, 258, -1, + -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, + 290, 291, 292, 293, -1, 295, 296, 297, 298, -1, + 300, 301, 302, 303, 304, 305, -1, 307, 308, 309, + -1, -1, 312, 313, 314, -1, -1, 317, 318, 319, + 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, + 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, + 340, 341, 342, 343, 344, -1, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, -1, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, + 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, + 390, 391, 392, 393, 394, 395, -1, 397, 398, 399, + 400, 401, -1, 403, 404, 405, 406, 407, 408, 409, + 410, 411, 412, -1, 414, 415, 416, 417, 418, 419, + 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, -1, 432, 433, -1, -1, 436, 437, 438, 439, + 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, + 450, 451, 452, 453, 454, -1, 456, 457, 458, 459, + 460, 461, 462, 463, 464, -1, -1, 467, 468, 469, + 470, 471, -1, -1, 474, 475, 476, 477, 478, 479, + 480, -1, 482, 483, 484, 485, 486, 487, -1, -1, + 490, -1, -1, 493, 494, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 510, 511, 512, 513, 3, -1, 5, 6, -1, -1, + -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, - 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, - 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, - 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, + 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, + 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, 68, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, 434, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, 5, 6, -1, 8, + 9, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, 165, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, 310, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, 108, + 109, -1, -1, 112, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, 67, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - -1, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - 276, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, 441, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, 5, 6, - -1, 8, 9, -1, 11, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, 425, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, -1, -1, 106, 107, - -1, -1, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, 276, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, 80, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, 100, 101, 102, 103, -1, -1, 106, 107, -1, - -1, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, 173, -1, 175, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, 208, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, 276, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, 297, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, 185, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, 376, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, 408, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, 452, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, -1, -1, 106, 107, -1, -1, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, 276, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, 441, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, 106, 107, -1, -1, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, 182, 183, 184, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, 276, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, 6, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, -1, -1, -1, 107, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, 276, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, 80, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, - 103, -1, -1, 106, 107, -1, -1, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - 173, -1, 175, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, 208, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, 276, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, 408, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, 452, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, 185, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, 80, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, 100, 101, 102, 103, - -1, -1, 106, 107, -1, -1, 110, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, 173, - -1, 175, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, 208, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, 276, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, 408, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, 452, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, 466, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, 80, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, -1, - -1, 106, 107, -1, -1, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, 276, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, 408, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - 106, 107, -1, -1, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - 276, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, 106, - 107, -1, -1, 110, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, 6, -1, - -1, -1, -1, -1, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, 80, -1, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, 100, 101, 102, 103, -1, -1, -1, 107, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 120, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, 173, -1, 175, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - 208, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, 276, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - 408, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, 452, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, 175, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, 34, 35, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, 80, -1, 82, 83, 84, 85, 86, 87, 88, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, 100, 101, 102, 103, -1, -1, -1, 107, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, 173, -1, 175, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, 208, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, 276, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, 298, - 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, 101, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, 382, 383, 384, 385, 386, -1, 388, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, 408, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, 452, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, 6, -1, -1, -1, - -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, 49, - 50, 51, 52, 53, 54, 55, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - 80, -1, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - 100, 101, 102, 103, -1, -1, -1, 107, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, 173, -1, 175, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, 208, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, 276, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, 298, 299, - 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, 354, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, 408, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, 452, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, 6, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, 276, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, 298, 299, 300, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, 80, -1, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, 100, 101, - 102, 103, -1, -1, -1, 107, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, 173, -1, 175, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, 193, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, 208, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, 220, 221, - 222, 223, 224, 225, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, 276, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - 382, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, 408, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - 452, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, 80, -1, 82, - 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, 100, 101, 102, - 103, -1, -1, -1, 107, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - 173, -1, 175, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, 208, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, 276, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, 298, 299, 300, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, 408, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, 452, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, 80, -1, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, 100, 101, 102, 103, - -1, -1, -1, 107, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, 173, - -1, 175, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, 208, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, 276, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, 298, 299, 300, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, 408, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, 452, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, 80, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, -1, - -1, -1, 107, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, 276, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, 408, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, 452, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, 6, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, 472, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - 276, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, 311, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, 80, -1, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, 100, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, 173, -1, 175, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, 193, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, 208, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, 220, 221, 222, 223, 224, 225, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, 276, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, 354, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, 408, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, 452, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, -1, -1, 81, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, 171, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, 435, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, 171, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, 235, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, 435, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, 435, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, 99, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - 180, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, 99, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, 180, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, 171, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, 321, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, 435, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, 99, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, 107, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, 289, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, 406, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, 171, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, 406, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, 99, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - 107, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, 289, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, 406, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, 289, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, 6, -1, -1, - -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, 441, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - 441, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, 289, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, - -1, -1, -1, -1, -1, 12, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, 289, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, 406, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, - -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, 39, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, 39, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, 120, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, 107, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, -1, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - 39, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, -1, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, -1, 50, 51, 52, 53, 54, - -1, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, 78, -1, -1, -1, 82, 83, 84, - 85, 86, 87, -1, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, -1, 101, 102, 103, -1, - -1, -1, -1, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - 155, 156, 157, 158, 159, 160, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, -1, -1, - -1, 176, 177, 178, 179, -1, 181, 182, -1, 184, - 185, 186, -1, 188, 189, 190, 191, 192, -1, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - 205, -1, 207, -1, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, -1, -1, 222, -1, 224, - 225, 226, 227, 228, -1, -1, 231, 232, -1, 234, - -1, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, -1, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, -1, 274, - 275, -1, 277, -1, 279, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, -1, 299, -1, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - 315, 316, 317, 318, 319, 320, -1, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, -1, - 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, - 375, -1, 377, 378, 379, 380, 381, -1, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 402, -1, 404, - 405, -1, 407, -1, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, 422, 423, 424, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, 448, 449, -1, 451, -1, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 3, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, -1, 50, 51, 52, 53, 54, -1, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, 78, -1, -1, -1, 82, 83, 84, 85, - 86, 87, -1, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, -1, 101, 102, 103, -1, -1, - -1, -1, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, -1, -1, -1, - 176, 177, 178, 179, -1, 181, 182, -1, 184, 185, - 186, -1, 188, 189, 190, 191, 192, -1, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, -1, 209, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, -1, -1, 222, -1, 224, 225, - 226, 227, 228, -1, -1, 231, 232, -1, 234, -1, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, -1, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, -1, 274, 275, - -1, 277, -1, 279, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, 297, -1, 299, -1, 301, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, 315, - 316, 317, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, -1, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, -1, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, 401, 402, -1, 404, 405, - -1, 407, -1, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, 422, 423, 424, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, 448, 449, -1, 451, -1, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, - 476, 477, 478, 479, 480, 481, 3, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, - 27, 28, 29, -1, 31, 32, 33, -1, -1, -1, - -1, -1, -1, -1, 41, 42, 43, -1, 45, 46, - 47, 48, -1, 50, 51, 52, 53, 54, -1, 56, - 57, -1, 59, 60, 61, 62, 63, 64, 65, -1, - -1, 68, 69, 70, 71, 72, -1, 74, 75, 76, - 77, 78, -1, -1, -1, 82, 83, 84, 85, 86, - 87, -1, 89, 90, 91, -1, 93, 94, 95, 96, - 97, 98, -1, -1, 101, 102, 103, -1, -1, -1, - -1, -1, -1, -1, 111, 112, 113, 114, 115, 116, - 117, 118, 119, -1, 121, -1, 123, 124, 125, 126, - 127, 128, 129, -1, 131, 132, 133, 134, -1, -1, - 137, 138, 139, 140, 141, -1, 143, 144, 145, -1, - 147, 148, 149, -1, 151, 152, 153, 154, 155, 156, - 157, 158, 159, 160, -1, 162, -1, 164, 165, 166, - 167, 168, -1, 170, -1, 172, -1, -1, -1, 176, - 177, 178, 179, -1, 181, 182, -1, 184, 185, 186, - -1, 188, 189, 190, 191, 192, -1, 194, 195, 196, - 197, -1, 199, 200, 201, 202, 203, 204, 205, -1, - 207, -1, 209, 210, 211, 212, 213, 214, 215, -1, - 217, -1, 219, -1, -1, 222, -1, 224, 225, 226, - 227, 228, -1, -1, 231, 232, -1, 234, -1, -1, - 237, 238, 239, -1, -1, 242, 243, 244, 245, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 257, 258, 259, 260, -1, 262, 263, 264, 265, 266, - 267, 268, 269, 270, 271, 272, -1, 274, 275, -1, - 277, -1, 279, 280, 281, 282, 283, 284, -1, 286, - 287, -1, -1, 290, 291, 292, -1, -1, 295, 296, - 297, -1, 299, -1, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, -1, 313, 314, 315, 316, - 317, 318, 319, 320, -1, 322, 323, 324, 325, 326, - 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, - -1, 338, 339, 340, 341, 342, 343, 344, 345, 346, - 347, 348, 349, 350, -1, 352, 353, -1, 355, 356, - 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, - 367, 368, 369, -1, 371, 372, 373, 374, 375, -1, - 377, 378, 379, 380, 381, -1, 383, 384, 385, 386, - -1, 388, 389, 390, 391, 392, 393, 394, 395, 396, - 397, 398, 399, 400, 401, 402, -1, 404, 405, -1, - 407, -1, 409, 410, 411, 412, 413, -1, 415, 416, - 417, -1, -1, 420, 421, 422, 423, 424, -1, 426, - 427, 428, 429, 430, 431, 432, 433, -1, -1, 436, - 437, 438, 439, 440, -1, -1, 443, 444, 445, 446, - 447, 448, 449, -1, 451, -1, 453, 454, 455, 456, - -1, -1, 459, -1, -1, 462, 463, 464, 465, 466, - 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, - 477, 478, 479, 480, 481, 3, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, - 28, 29, -1, 31, 32, 33, -1, -1, -1, -1, - -1, -1, -1, 41, 42, 43, -1, 45, 46, 47, - 48, -1, 50, 51, 52, 53, 54, -1, 56, 57, - -1, 59, 60, 61, 62, 63, 64, 65, -1, -1, - 68, 69, 70, 71, 72, -1, 74, 75, 76, 77, - 78, -1, -1, -1, 82, 83, 84, 85, 86, 87, - -1, 89, 90, 91, -1, 93, 94, 95, 96, 97, - 98, -1, -1, 101, 102, 103, -1, -1, -1, -1, - -1, -1, -1, 111, 112, 113, 114, 115, 116, 117, - 118, 119, -1, 121, -1, 123, 124, 125, 126, 127, - 128, 129, -1, 131, 132, 133, 134, -1, -1, 137, - 138, 139, 140, 141, -1, 143, 144, 145, -1, 147, - 148, 149, -1, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, -1, 162, -1, 164, 165, 166, 167, - 168, -1, 170, -1, 172, -1, -1, -1, 176, 177, - 178, 179, -1, 181, 182, -1, 184, 185, 186, -1, - 188, 189, 190, 191, 192, -1, 194, 195, 196, 197, - -1, 199, 200, 201, 202, 203, 204, 205, -1, 207, - -1, 209, 210, 211, 212, 213, 214, 215, -1, 217, - -1, 219, -1, -1, 222, -1, 224, 225, 226, 227, - 228, -1, -1, 231, 232, -1, 234, -1, -1, 237, - 238, 239, -1, -1, 242, 243, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, - 258, 259, 260, -1, 262, 263, 264, 265, 266, 267, - 268, 269, 270, 271, 272, -1, 274, 275, -1, 277, - -1, 279, 280, 281, 282, 283, 284, -1, 286, 287, - -1, -1, 290, 291, 292, -1, -1, 295, 296, 297, - -1, 299, -1, 301, 302, 303, 304, 305, 306, 307, - 308, 309, 310, 311, -1, 313, 314, 315, 316, 317, - 318, 319, 320, -1, 322, 323, 324, 325, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, -1, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, - 348, 349, 350, -1, 352, 353, -1, 355, 356, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, -1, 371, 372, 373, 374, 375, -1, 377, - 378, 379, 380, 381, -1, 383, 384, 385, 386, -1, - 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 398, 399, 400, 401, 402, -1, 404, 405, -1, 407, - -1, 409, 410, 411, 412, 413, -1, 415, 416, 417, - -1, -1, 420, 421, 422, 423, 424, -1, 426, 427, - 428, 429, 430, 431, 432, 433, -1, -1, 436, 437, - 438, 439, 440, -1, -1, 443, 444, 445, 446, 447, - 448, 449, -1, 451, -1, 453, 454, 455, 456, -1, - -1, 459, -1, -1, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 479, 480, 481, 3, -1, -1, -1, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, - 29, -1, 31, 32, 33, -1, -1, -1, -1, -1, - -1, -1, 41, 42, 43, -1, 45, 46, 47, 48, - -1, 50, 51, 52, 53, 54, -1, 56, 57, -1, - 59, 60, 61, 62, 63, 64, 65, -1, -1, 68, - 69, 70, 71, 72, -1, 74, 75, 76, 77, 78, - -1, -1, -1, 82, 83, 84, 85, 86, 87, -1, - 89, 90, 91, -1, 93, 94, 95, 96, 97, 98, - -1, -1, 101, 102, 103, -1, -1, -1, -1, -1, - -1, -1, 111, 112, 113, 114, 115, 116, 117, 118, - 119, -1, 121, -1, 123, 124, 125, 126, 127, 128, - 129, -1, 131, 132, 133, 134, -1, -1, 137, 138, - 139, 140, 141, -1, 143, 144, 145, -1, 147, 148, - 149, -1, 151, 152, 153, 154, 155, 156, 157, 158, - 159, 160, -1, 162, -1, 164, 165, 166, 167, 168, - -1, 170, -1, 172, -1, -1, -1, 176, 177, 178, - 179, -1, 181, 182, -1, 184, 185, 186, -1, 188, - 189, 190, 191, 192, -1, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, 205, -1, 207, -1, - 209, 210, 211, 212, 213, 214, 215, -1, 217, -1, - 219, -1, -1, 222, -1, 224, 225, 226, 227, 228, - -1, -1, 231, 232, -1, 234, -1, -1, 237, 238, - 239, -1, -1, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, - 259, 260, -1, 262, 263, 264, 265, 266, 267, 268, - 269, 270, 271, 272, -1, 274, 275, -1, 277, -1, - 279, 280, 281, 282, 283, 284, -1, 286, 287, -1, - -1, 290, 291, 292, -1, -1, 295, 296, 297, -1, - 299, -1, 301, 302, 303, 304, 305, 306, 307, 308, - 309, 310, 311, -1, 313, 314, 315, 316, 317, 318, - 319, 320, -1, 322, 323, 324, 325, 326, 327, 328, - 329, 330, 331, 332, 333, 334, 335, 336, -1, 338, - 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, - 349, 350, -1, 352, 353, -1, 355, 356, 357, 358, - 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, - 369, -1, 371, 372, 373, 374, 375, -1, 377, 378, - 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, -1, 404, 405, -1, 407, -1, - 409, 410, 411, 412, 413, -1, 415, 416, 417, -1, - -1, 420, 421, 422, 423, 424, -1, 426, 427, 428, - 429, 430, 431, 432, 433, -1, -1, 436, 437, 438, - 439, 440, -1, -1, 443, 444, 445, 446, 447, 448, - 449, -1, 451, -1, 453, 454, 455, 456, -1, -1, - 459, -1, -1, 462, 463, 464, 465, 466, 467, 468, - 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, - 479, 480, 481, 3, -1, -1, -1, -1, -1, -1, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, 185, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, 309, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - 330, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, -1, 50, - 51, 52, 53, 54, -1, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, 78, -1, -1, - -1, 82, 83, 84, 85, 86, 87, -1, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, -1, - 101, 102, 103, -1, -1, -1, -1, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, -1, -1, -1, 176, 177, 178, 179, -1, - 181, 182, -1, 184, 185, 186, -1, 188, 189, 190, - 191, 192, -1, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, -1, 209, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, -1, - -1, 222, -1, 224, 225, 226, 227, 228, -1, -1, - 231, 232, -1, 234, -1, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - -1, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, -1, 274, 275, -1, 277, -1, 279, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, 297, -1, 299, -1, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, 315, 316, 317, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, -1, 355, 356, 357, 358, 359, 360, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - 401, 402, -1, 404, 405, -1, 407, -1, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, 422, 423, 424, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, 448, 449, -1, - 451, -1, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 468, 469, 470, - 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, - 481, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 22, 23, 24, 25, 26, 27, 28, 29, -1, 31, - 32, 33, -1, -1, -1, -1, -1, -1, -1, 41, - 42, 43, -1, 45, 46, 47, 48, -1, 50, 51, - 52, 53, 54, -1, 56, 57, -1, 59, 60, 61, - 62, 63, 64, 65, -1, -1, 68, 69, 70, 71, - 72, -1, 74, 75, 76, 77, 78, -1, -1, -1, - 82, 83, 84, 85, 86, 87, -1, 89, 90, 91, - -1, 93, 94, 95, 96, 97, 98, -1, -1, 101, - 102, 103, -1, -1, -1, -1, -1, -1, -1, 111, - 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, - -1, 123, 124, 125, 126, 127, 128, 129, -1, 131, - 132, 133, 134, -1, -1, 137, 138, 139, 140, 141, - -1, 143, 144, 145, -1, 147, 148, 149, -1, 151, - 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, - 162, -1, 164, 165, 166, 167, 168, -1, 170, -1, - 172, -1, -1, -1, 176, 177, 178, 179, -1, 181, - 182, -1, 184, 185, 186, -1, 188, 189, 190, 191, - 192, -1, 194, 195, 196, 197, -1, 199, 200, 201, - 202, 203, 204, 205, -1, 207, -1, 209, 210, 211, - 212, 213, 214, 215, -1, 217, -1, 219, -1, -1, - 222, -1, 224, 225, 226, 227, 228, -1, -1, 231, - 232, -1, 234, -1, -1, 237, 238, 239, -1, -1, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, -1, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, -1, 274, 275, -1, 277, -1, 279, 280, 281, - 282, 283, 284, -1, 286, 287, -1, -1, 290, 291, - 292, -1, -1, 295, 296, 297, -1, 299, -1, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - -1, 313, 314, 315, 316, 317, 318, 319, 320, -1, - 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, -1, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, -1, - 352, 353, -1, 355, 356, 357, 358, 359, 360, 361, - 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, - 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, - -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, - 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, - 402, -1, 404, 405, -1, 407, -1, 409, 410, 411, - 412, 413, -1, 415, 416, 417, -1, -1, 420, 421, - 422, 423, 424, -1, 426, 427, 428, 429, 430, 431, - 432, 433, -1, -1, 436, 437, 438, 439, 440, -1, - -1, 443, 444, 445, 446, 447, 448, 449, -1, 451, - -1, 453, 454, 455, 456, -1, -1, 459, -1, -1, - 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, - 23, 24, 25, 26, 27, 28, 29, -1, 31, 32, - 33, -1, -1, -1, -1, -1, -1, -1, 41, 42, - 43, -1, 45, 46, 47, 48, -1, 50, 51, 52, - 53, 54, -1, 56, 57, -1, 59, 60, 61, 62, - 63, 64, 65, -1, -1, 68, 69, 70, 71, 72, - -1, 74, 75, 76, 77, 78, -1, -1, -1, 82, - 83, 84, 85, 86, 87, -1, 89, 90, 91, -1, - 93, 94, 95, 96, 97, 98, -1, -1, 101, 102, - 103, -1, -1, -1, -1, -1, -1, -1, 111, 112, - 113, 114, 115, 116, 117, 118, 119, -1, 121, -1, - 123, 124, 125, 126, 127, 128, 129, -1, 131, 132, - 133, 134, -1, -1, 137, 138, 139, 140, 141, -1, - 143, 144, 145, -1, 147, 148, 149, -1, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, - -1, 164, 165, 166, 167, 168, -1, 170, -1, 172, - -1, -1, -1, 176, 177, 178, 179, -1, 181, 182, - -1, 184, 185, 186, -1, 188, 189, 190, 191, 192, - -1, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, 205, -1, 207, -1, 209, 210, 211, 212, - 213, 214, 215, -1, 217, -1, 219, -1, -1, 222, - -1, 224, 225, 226, 227, 228, -1, -1, 231, 232, - -1, 234, -1, -1, 237, 238, 239, -1, -1, 242, - 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 257, 258, 259, 260, -1, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, - -1, 274, 275, -1, 277, -1, 279, 280, 281, 282, - 283, 284, -1, 286, 287, -1, -1, 290, 291, 292, - -1, -1, 295, 296, 297, -1, 299, -1, 301, 302, - 303, 304, 305, 306, 307, 308, 309, 310, 311, -1, - 313, 314, 315, 316, 317, 318, 319, 320, -1, 322, - 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, - 333, 334, 335, 336, -1, 338, 339, 340, 341, 342, - 343, 344, 345, 346, 347, 348, 349, 350, -1, 352, - 353, -1, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, - 373, 374, 375, -1, 377, 378, 379, 380, 381, -1, - 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - -1, 404, 405, -1, 407, -1, 409, 410, 411, 412, - 413, -1, 415, 416, 417, -1, -1, 420, 421, 422, - 423, 424, -1, 426, 427, 428, 429, 430, 431, 432, - 433, -1, -1, 436, 437, 438, 439, 440, -1, -1, - 443, 444, 445, 446, 447, 448, 449, -1, 451, -1, - 453, 454, 455, 456, -1, -1, 459, -1, -1, 462, - 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, - 473, 474, 475, 476, 477, 478, 479, 480, 481, 3, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, 190, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, 26, 27, 28, 29, -1, 31, 32, 33, - -1, -1, -1, -1, -1, -1, -1, 41, 42, 43, - -1, 45, 46, 47, 48, -1, 50, 51, 52, 53, - 54, -1, 56, 57, -1, 59, 60, 61, 62, 63, - 64, 65, -1, -1, 68, 69, 70, 71, 72, -1, - 74, 75, 76, 77, 78, -1, -1, -1, 82, 83, - 84, 85, 86, 87, -1, 89, 90, 91, -1, 93, - 94, 95, 96, 97, 98, -1, -1, 101, 102, 103, - -1, -1, -1, -1, -1, -1, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, -1, 121, -1, 123, - 124, 125, 126, 127, 128, 129, -1, 131, 132, 133, - 134, -1, -1, 137, 138, 139, 140, 141, -1, 143, - 144, 145, -1, 147, 148, 149, -1, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, -1, 162, -1, - 164, 165, 166, 167, 168, -1, 170, -1, 172, -1, - -1, -1, 176, 177, 178, 179, -1, 181, 182, -1, - 184, 185, 186, -1, 188, 189, 190, 191, 192, -1, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 204, 205, -1, 207, -1, 209, 210, 211, 212, 213, - 214, 215, -1, 217, -1, 219, -1, -1, 222, -1, - 224, 225, 226, 227, 228, -1, -1, 231, 232, -1, - 234, -1, -1, 237, 238, 239, -1, -1, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 257, 258, 259, 260, -1, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 271, 272, -1, - 274, 275, -1, 277, -1, 279, 280, 281, 282, 283, - 284, -1, 286, 287, -1, -1, 290, 291, 292, -1, - -1, 295, 296, 297, -1, 299, -1, 301, 302, 303, - 304, 305, 306, 307, 308, 309, 310, 311, -1, 313, - 314, 315, 316, 317, 318, 319, 320, -1, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, -1, 338, 339, 340, 341, 342, 343, - 344, 345, 346, 347, 348, 349, 350, -1, 352, 353, - -1, 355, 356, 357, 358, 359, 360, 361, 362, 363, - 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, - 374, 375, -1, 377, 378, 379, 380, 381, -1, 383, - 384, 385, 386, -1, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, - 404, 405, -1, 407, -1, 409, 410, 411, 412, 413, - -1, 415, 416, 417, -1, -1, 420, 421, 422, 423, - 424, -1, 426, 427, 428, 429, 430, 431, 432, 433, - -1, -1, 436, 437, 438, 439, 440, -1, -1, 443, - 444, 445, 446, 447, 448, 449, -1, 451, -1, 453, - 454, 455, 456, -1, -1, 459, -1, -1, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 3, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, -1, 51, 52, 53, 54, 55, -1, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, 84, 85, 86, 87, 88, + -1, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, -1, 103, 104, 105, -1, -1, -1, + -1, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + 159, 160, 161, 162, 163, 164, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, -1, + -1, -1, 181, 182, 183, 184, -1, 186, 187, -1, + 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, -1, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, -1, -1, 228, + -1, 230, 231, 232, 233, 234, 235, 236, 237, 238, + 239, 240, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, 251, -1, 253, -1, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, + 279, 280, -1, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, -1, 295, 296, -1, 298, + -1, 300, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, -1, 321, -1, 323, 324, 325, 326, 327, 328, + 329, 330, -1, 332, 333, 334, -1, 336, 337, 338, + 339, 340, 341, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, -1, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + -1, 380, 381, 382, 383, 384, 385, -1, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, -1, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -1, 432, 433, -1, -1, 436, -1, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, 452, 453, 454, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + 479, 480, -1, 482, -1, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, 23, 24, - 25, 26, 27, 28, 29, -1, 31, 32, 33, -1, - -1, -1, -1, -1, -1, -1, 41, 42, 43, -1, - 45, 46, 47, 48, 49, 50, 51, 52, -1, 54, - 55, 56, 57, -1, 59, 60, 61, 62, 63, 64, - 65, -1, -1, 68, 69, 70, 71, 72, -1, 74, - 75, 76, 77, -1, -1, 80, -1, 82, 83, 84, - 85, 86, 87, 88, 89, 90, 91, -1, 93, 94, - 95, 96, 97, 98, -1, 100, 101, 102, 103, -1, - -1, -1, 107, -1, -1, -1, 111, 112, 113, 114, - 115, 116, 117, 118, 119, -1, 121, -1, 123, 124, - 125, 126, 127, 128, 129, -1, 131, 132, 133, 134, - -1, -1, 137, 138, 139, 140, 141, -1, 143, 144, - 145, -1, 147, 148, 149, -1, 151, 152, 153, 154, - -1, 156, 157, 158, 159, -1, -1, 162, -1, 164, - 165, 166, 167, 168, -1, 170, -1, 172, 173, -1, - 175, 176, 177, 178, 179, -1, 181, -1, -1, -1, - 185, 186, -1, 188, 189, 190, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, - 215, -1, 217, -1, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, -1, -1, 231, -1, 233, 234, - 235, -1, 237, 238, 239, -1, -1, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, -1, -1, 272, -1, 274, - 275, 276, 277, -1, -1, 280, 281, 282, 283, 284, - -1, 286, 287, -1, -1, 290, 291, 292, -1, -1, - 295, 296, 297, 298, 299, 300, -1, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, -1, 313, 314, - -1, 316, -1, 318, 319, 320, -1, 322, 323, 324, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, 215, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, 481, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, 299, -1, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, 435, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, -1, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, 291, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, -1, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, -1, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, -1, 160, + 161, 162, 163, -1, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, -1, -1, -1, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, -1, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + -1, 252, 253, 254, -1, 256, 257, 258, -1, -1, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, -1, 293, -1, 295, 296, 297, 298, -1, -1, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, -1, 320, + 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, -1, 340, + -1, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, + 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, + 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, -1, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, -1, 453, -1, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, + 511, 512, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, -1, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, -1, 160, 161, 162, 163, -1, + -1, 166, -1, 168, 169, 170, 171, 172, 173, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, -1, -1, -1, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + -1, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, -1, 252, 253, 254, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, -1, -1, 293, -1, + 295, 296, 297, 298, -1, -1, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, -1, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, -1, 352, 353, 354, - 355, 356, 357, 358, 359, -1, 361, 362, 363, 364, - 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, + -1, 336, 337, 338, -1, 340, -1, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, -1, 388, 389, 390, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, -1, 402, -1, 404, - 405, -1, 407, 408, 409, 410, 411, 412, 413, -1, - 415, 416, 417, -1, -1, 420, 421, -1, 423, -1, - -1, 426, 427, 428, 429, 430, 431, 432, 433, -1, - -1, 436, 437, 438, 439, 440, -1, -1, 443, 444, - 445, 446, 447, -1, 449, 450, 451, 452, 453, 454, - 455, 456, -1, -1, 459, -1, -1, 462, 463, 464, - 465, 466, 467, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 479, 480, 481, -1, -1, -1, - -1, -1, 22, 23, 24, 25, 26, 27, 28, 29, - -1, 31, 32, 33, -1, -1, -1, -1, -1, -1, - -1, 41, 42, 43, -1, 45, 46, 47, 48, -1, - 50, 51, 52, 53, 54, -1, 56, 57, -1, 59, - 60, 61, 62, 63, 64, 65, -1, -1, 68, 69, - 70, 71, 72, -1, 74, 75, 76, 77, 78, -1, - -1, -1, 82, 83, 84, 85, 86, 87, -1, 89, - 90, 91, -1, 93, 94, 95, 96, 97, 98, -1, - -1, 101, 102, 103, -1, -1, -1, -1, -1, -1, - -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, - -1, 121, -1, 123, 124, 125, 126, 127, 128, 129, - -1, 131, 132, 133, 134, -1, -1, 137, 138, 139, - 140, 141, -1, 143, 144, 145, -1, 147, 148, 149, - -1, 151, 152, 153, 154, 155, 156, 157, 158, 159, - 160, -1, 162, -1, 164, 165, 166, 167, 168, -1, - 170, -1, 172, -1, -1, -1, 176, 177, 178, 179, - -1, 181, 182, -1, 184, -1, 186, -1, 188, 189, - 190, 191, 192, -1, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, 204, 205, -1, 207, -1, 209, - 210, 211, 212, 213, 214, 215, -1, 217, -1, 219, - -1, -1, 222, -1, 224, 225, 226, 227, 228, -1, - -1, 231, 232, -1, 234, -1, -1, 237, 238, 239, - -1, -1, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, - 260, -1, 262, 263, 264, 265, 266, 267, 268, 269, - 270, 271, 272, -1, 274, 275, -1, 277, -1, 279, - 280, 281, 282, 283, 284, -1, 286, 287, -1, -1, - 290, 291, 292, -1, -1, 295, 296, 297, -1, 299, - -1, 301, 302, 303, 304, 305, 306, 307, 308, -1, - 310, 311, -1, 313, 314, 315, 316, 317, 318, 319, - 320, -1, 322, 323, 324, 325, 326, 327, 328, 329, - -1, 331, 332, 333, 334, 335, 336, -1, 338, 339, - 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, - 350, -1, 352, 353, -1, 355, 356, 357, 358, 359, - 360, -1, 362, 363, 364, 365, 366, 367, 368, 369, - -1, 371, 372, 373, 374, 375, -1, 377, 378, 379, - 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, - 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, - 400, 401, 402, -1, 404, 405, -1, 407, -1, 409, - 410, 411, 412, 413, -1, 415, 416, 417, -1, -1, - 420, 421, 422, 423, 424, -1, 426, 427, 428, 429, - 430, 431, 432, 433, -1, -1, 436, 437, 438, 439, - 440, -1, -1, 443, 444, 445, 446, 447, 448, 449, - -1, 451, -1, 453, 454, 455, 456, -1, -1, 459, - -1, -1, 462, 463, 464, 465, 466, 467, 468, 469, - 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, - 480, 481, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, -1, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, -1, -1, -1, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, -1, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, -1, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - -1, 272, -1, 274, 275, 276, 277, 278, -1, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, -1, 316, -1, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, -1, 404, 405, 406, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, -1, 423, -1, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, -1, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, -1, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, -1, - 156, 157, 158, 159, -1, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, -1, -1, -1, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, -1, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, -1, 272, -1, 274, 275, - 276, 277, -1, -1, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, -1, 298, 299, 300, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, -1, - 316, -1, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, -1, 423, -1, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, -1, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 479, 480, 481, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, -1, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, -1, -1, -1, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, -1, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, -1, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, -1, 432, 433, -1, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, -1, 453, -1, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 510, 511, 512, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, 173, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, -1, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, 405, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, 55, 56, 57, 58, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, 71, 72, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, 119, 120, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, 171, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, + 223, -1, 225, 226, 227, 228, 229, 230, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, -1, -1, 301, 302, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, 357, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, 446, 447, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, 480, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, 3, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512, + -1, -1, -1, -1, -1, 22, 23, 24, 25, 26, + 27, 28, 29, 30, -1, 32, 33, 34, -1, -1, + -1, -1, -1, -1, -1, 42, 43, 44, -1, 46, + 47, 48, 49, 50, 51, 52, 53, -1, 55, 56, + 57, 58, -1, 60, 61, 62, 63, 64, 65, 66, + -1, -1, 69, 70, 71, 72, 73, -1, 75, 76, + 77, 78, -1, -1, 81, -1, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 92, 93, -1, 95, 96, + 97, 98, 99, 100, -1, 102, 103, 104, 105, -1, + -1, -1, 109, -1, -1, -1, 113, 114, 115, 116, + 117, 118, 119, 120, 121, -1, 123, -1, 125, 126, + 127, 128, 129, 130, 131, -1, 133, 134, 135, 136, + -1, -1, 139, 140, 141, 142, 143, -1, 145, 146, + 147, 148, -1, 150, 151, 152, 153, -1, 155, 156, + 157, 158, -1, 160, 161, 162, 163, -1, -1, 166, + -1, 168, 169, 170, 171, 172, -1, 174, -1, 176, + 177, 178, -1, 180, 181, 182, 183, 184, -1, 186, + -1, -1, -1, 190, 191, -1, 193, 194, 195, 196, + 197, 198, 199, 200, 201, 202, -1, 204, 205, 206, + 207, 208, 209, 210, 211, -1, 213, 214, -1, 216, + 217, 218, 219, 220, 221, -1, 223, -1, 225, 226, + 227, 228, 229, 230, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 241, 242, 243, 244, 245, 246, + 247, -1, -1, 250, -1, 252, 253, 254, -1, 256, + 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, + 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, + 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, + 287, 288, 289, 290, -1, -1, 293, -1, 295, 296, + 297, 298, -1, -1, 301, 302, 303, 304, 305, -1, + 307, 308, 309, -1, -1, 312, 313, 314, -1, -1, + 317, 318, -1, 320, 321, 322, -1, 324, 325, 326, + 327, 328, 329, 330, 331, 332, 333, 334, -1, 336, + 337, 338, -1, 340, -1, 342, 343, 344, -1, 346, + 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, + 357, 358, 359, 360, 361, -1, 363, 364, 365, 366, + 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, + 377, 378, 379, 380, 381, 382, 383, 384, -1, 386, + 387, 388, 389, 390, 391, 392, 393, 394, 395, -1, + 397, 398, 399, 400, 401, -1, 403, 404, 405, 406, + 407, 408, 409, 410, 411, 412, -1, 414, 415, 416, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, -1, 430, -1, 432, 433, -1, -1, 436, + 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, + 447, -1, -1, 450, 451, -1, 453, -1, -1, 456, + 457, 458, 459, 460, 461, 462, 463, 464, -1, -1, + 467, 468, 469, 470, 471, -1, -1, 474, 475, 476, + 477, 478, -1, 480, -1, 482, 483, 484, 485, 486, + 487, -1, -1, 490, -1, -1, 493, 494, 495, 496, + 497, 498, 3, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 510, 511, 512, -1, -1, -1, -1, + -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, + -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, + -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, + 51, 52, 53, -1, 55, 56, 57, 58, -1, 60, + 61, 62, 63, 64, 65, 66, -1, -1, 69, 70, + 71, 72, 73, -1, 75, 76, 77, 78, -1, -1, + 81, -1, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, -1, 95, 96, 97, 98, 99, 100, + -1, 102, 103, 104, 105, -1, -1, -1, 109, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, -1, 123, -1, 125, 126, 127, 128, 129, 130, + 131, -1, 133, 134, 135, 136, -1, -1, 139, 140, + 141, 142, 143, -1, 145, 146, 147, 148, -1, 150, + 151, 152, 153, -1, 155, 156, 157, 158, -1, 160, + 161, 162, 163, -1, -1, 166, -1, 168, 169, 170, + 171, 172, -1, 174, -1, 176, 177, 178, -1, 180, + 181, 182, 183, 184, -1, 186, -1, -1, -1, 190, + 191, -1, 193, 194, 195, 196, 197, 198, 199, 200, + 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, + 211, -1, 213, 214, -1, 216, 217, 218, 219, 220, + 221, -1, 223, -1, 225, 226, 227, 228, 229, 230, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 241, 242, 243, 244, 245, 246, 247, -1, -1, 250, + -1, 252, 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - -1, 272, -1, 274, 275, 276, 277, -1, -1, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, -1, 316, -1, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, -1, 423, -1, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, -1, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, -1, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, -1, - 156, 157, 158, 159, -1, -1, 162, -1, 164, 165, - 166, 167, 168, 169, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, -1, -1, -1, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, -1, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, -1, 272, -1, 274, 275, - 276, 277, -1, -1, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, -1, 298, 299, 300, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, -1, - 316, -1, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, -1, 423, -1, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, -1, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 479, 480, 481, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, -1, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, -1, -1, -1, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, -1, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, -1, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - -1, 272, -1, 274, 275, 276, 277, -1, -1, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, -1, 316, -1, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, -1, 423, -1, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, -1, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, -1, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, -1, - 156, 157, 158, 159, -1, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, -1, -1, -1, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, -1, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, -1, 272, -1, 274, 275, - 276, 277, -1, -1, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, -1, 298, 299, 300, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, -1, - 316, -1, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, -1, 423, -1, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, -1, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 479, 480, 481, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, -1, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, -1, -1, -1, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, -1, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, -1, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - -1, 272, -1, 274, 275, 276, 277, -1, -1, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, -1, 316, -1, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, + -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, + 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, + -1, -1, 293, -1, 295, 296, 297, 298, -1, -1, + 301, 302, 303, 304, 305, -1, 307, 308, 309, -1, + -1, 312, 313, 314, -1, -1, 317, 318, -1, 320, + 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, + 331, 332, 333, 334, -1, 336, 337, 338, -1, 340, + -1, 342, 343, 344, -1, 346, 347, 348, 349, 350, + 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, + 361, -1, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, 379, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, -1, 423, -1, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, -1, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, 54, 55, - 56, 57, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, 70, 71, 72, -1, 74, 75, - 76, 77, -1, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, 117, 118, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, -1, - 156, 157, 158, 159, -1, -1, 162, -1, 164, 165, - 166, 167, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, -1, -1, -1, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, -1, 210, 211, 212, 213, 214, 215, - -1, 217, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, -1, -1, 272, -1, 274, 275, - 276, 277, -1, -1, 280, 281, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, -1, 298, 299, 300, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, -1, - 316, -1, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, 379, 380, 381, 382, 383, 384, 385, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - 416, 417, -1, -1, 420, 421, -1, 423, -1, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, -1, 449, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, 3, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 479, 480, 481, -1, -1, -1, -1, - -1, 22, 23, 24, 25, 26, 27, 28, 29, -1, - 31, 32, 33, -1, -1, -1, -1, -1, -1, -1, - 41, 42, 43, -1, 45, 46, 47, 48, 49, 50, - 51, 52, -1, 54, 55, 56, 57, -1, 59, 60, - 61, 62, 63, 64, 65, -1, -1, 68, 69, 70, - 71, 72, -1, 74, 75, 76, 77, -1, -1, 80, - -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, -1, 93, 94, 95, 96, 97, 98, -1, 100, - 101, 102, 103, -1, -1, -1, 107, -1, -1, -1, - 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, - 121, -1, 123, 124, 125, 126, 127, 128, 129, -1, - 131, 132, 133, 134, -1, -1, 137, 138, 139, 140, - 141, -1, 143, 144, 145, -1, 147, 148, 149, -1, - 151, 152, 153, 154, -1, 156, 157, 158, 159, -1, - -1, 162, -1, 164, 165, 166, 167, 168, -1, 170, - -1, 172, 173, -1, 175, 176, 177, 178, 179, -1, - 181, -1, -1, -1, 185, 186, -1, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, -1, 199, 200, - 201, 202, 203, 204, 205, -1, 207, 208, -1, 210, - 211, 212, 213, 214, 215, -1, 217, -1, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, -1, -1, - 231, -1, 233, 234, 235, -1, 237, 238, 239, -1, - -1, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, -1, - -1, 272, -1, 274, 275, 276, 277, -1, -1, 280, - 281, 282, 283, 284, -1, 286, 287, -1, -1, 290, - 291, 292, -1, -1, 295, 296, -1, 298, 299, 300, - -1, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, -1, 313, 314, -1, 316, -1, 318, 319, 320, - -1, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, -1, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - -1, 352, 353, 354, 355, 356, 357, 358, 359, -1, - 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, - 371, 372, 373, 374, 375, -1, 377, 378, -1, 380, - 381, 382, 383, 384, 385, 386, -1, 388, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, - -1, 402, -1, 404, 405, -1, 407, 408, 409, 410, - 411, 412, 413, -1, 415, 416, 417, -1, -1, 420, - 421, -1, 423, -1, -1, 426, 427, 428, 429, 430, - 431, 432, 433, -1, -1, 436, 437, 438, 439, 440, - -1, -1, 443, 444, 445, 446, 447, -1, 449, -1, - 451, 452, 453, 454, 455, 456, -1, -1, 459, -1, - -1, 462, 463, 464, 465, 466, 467, 3, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 479, 480, - 481, -1, -1, -1, -1, -1, 22, 23, 24, 25, - 26, 27, 28, 29, -1, 31, 32, 33, -1, -1, - -1, -1, -1, -1, -1, 41, 42, 43, -1, 45, - 46, 47, 48, 49, 50, 51, 52, -1, -1, 55, - -1, -1, -1, 59, 60, 61, 62, 63, 64, 65, - -1, -1, 68, 69, -1, -1, 72, -1, 74, 75, - 76, 77, -1, -1, 80, -1, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, -1, 93, 94, 95, - 96, 97, 98, -1, 100, 101, 102, 103, -1, -1, - -1, 107, -1, -1, -1, 111, 112, 113, 114, 115, - 116, -1, -1, 119, -1, 121, -1, 123, 124, 125, - 126, 127, 128, 129, -1, 131, 132, 133, 134, -1, - -1, 137, 138, 139, 140, 141, -1, 143, 144, 145, - -1, 147, 148, 149, -1, 151, 152, 153, 154, -1, - 156, 157, 158, 159, -1, -1, 162, -1, 164, 165, - 166, -1, 168, -1, 170, -1, 172, 173, -1, 175, - 176, 177, 178, 179, -1, 181, -1, -1, -1, 185, - 186, -1, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, 205, - -1, 207, 208, -1, 210, 211, 212, 213, -1, -1, - -1, -1, -1, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, -1, -1, 231, -1, 233, 234, 235, - -1, 237, 238, 239, -1, -1, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, -1, 261, -1, 263, 264, 265, - 266, 267, 268, 269, -1, -1, 272, -1, 274, 275, - 276, 277, -1, -1, 280, -1, 282, 283, 284, -1, - 286, 287, -1, -1, 290, 291, 292, -1, -1, 295, - 296, -1, 298, 299, 300, -1, 302, 303, 304, 305, - 306, 307, 308, 309, 310, 311, -1, 313, 314, -1, - 316, -1, 318, 319, 320, -1, 322, 323, 324, 325, - 326, 327, 328, 329, 330, 331, -1, 333, 334, 335, - 336, -1, 338, 339, 340, 341, 342, 343, 344, 345, - 346, 347, 348, 349, 350, -1, 352, 353, 354, 355, - 356, 357, 358, 359, -1, 361, 362, 363, 364, 365, - 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, - -1, 377, 378, -1, 380, 381, 382, 383, 384, -1, - 386, -1, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 398, 399, 400, -1, 402, -1, 404, 405, - -1, 407, 408, 409, 410, 411, 412, 413, -1, 415, - -1, -1, -1, -1, 420, 421, -1, 423, -1, -1, - 426, 427, 428, 429, 430, 431, 432, 433, -1, -1, - 436, 437, 438, 439, 440, -1, -1, 443, 444, 445, - 446, 447, -1, -1, -1, 451, 452, 453, 454, 455, - 456, -1, -1, 459, -1, -1, 462, 463, 464, 465, - 466, 467, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 479, 480, 481 + 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, + 391, 392, 393, 394, 395, -1, 397, 398, 399, 400, + 401, -1, 403, 404, 405, 406, 407, 408, 409, 410, + 411, 412, -1, 414, 415, 416, 417, 418, 419, 420, + 421, 422, 423, 424, 425, 426, 427, 428, -1, 430, + -1, 432, 433, -1, -1, 436, 437, 438, 439, 440, + 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, + 451, -1, 453, -1, -1, 456, 457, 458, 459, 460, + 461, 462, 463, 464, -1, -1, 467, 468, 469, 470, + 471, -1, -1, 474, 475, 476, 477, 478, -1, 480, + -1, 482, 483, 484, 485, 486, 487, -1, -1, 490, + -1, -1, 493, 494, 495, 496, 497, 498, 3, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 510, + 511, 512, -1, -1, -1, -1, -1, 22, 23, 24, + 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, + -1, -1, -1, -1, -1, -1, -1, 42, 43, 44, + -1, 46, 47, 48, 49, 50, 51, 52, 53, -1, + 55, 56, 57, 58, -1, 60, 61, 62, 63, 64, + 65, 66, -1, -1, 69, 70, 71, 72, 73, -1, + 75, 76, 77, 78, -1, -1, 81, -1, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, -1, + 95, 96, 97, 98, 99, 100, -1, 102, 103, 104, + 105, -1, -1, -1, 109, -1, -1, -1, 113, 114, + 115, 116, 117, 118, 119, 120, 121, -1, 123, -1, + 125, 126, 127, 128, 129, 130, 131, -1, 133, 134, + 135, 136, -1, -1, 139, 140, 141, 142, 143, -1, + 145, 146, 147, 148, -1, 150, 151, 152, 153, -1, + 155, 156, 157, 158, -1, 160, 161, 162, 163, -1, + -1, 166, -1, 168, 169, 170, 171, 172, -1, 174, + -1, 176, 177, 178, -1, 180, 181, 182, 183, 184, + -1, 186, -1, -1, -1, 190, 191, -1, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 202, -1, 204, + 205, 206, 207, 208, 209, 210, 211, -1, 213, 214, + -1, 216, 217, 218, 219, 220, 221, -1, 223, -1, + 225, 226, 227, 228, 229, 230, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 241, 242, 243, 244, + 245, 246, 247, -1, -1, 250, -1, 252, 253, 254, + -1, 256, 257, 258, -1, -1, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, -1, -1, 293, -1, + 295, 296, 297, 298, -1, -1, 301, 302, 303, 304, + 305, -1, 307, 308, 309, -1, -1, 312, 313, 314, + -1, -1, 317, 318, -1, 320, 321, 322, -1, 324, + 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, + -1, 336, 337, 338, -1, 340, -1, 342, 343, 344, + -1, 346, 347, 348, 349, 350, 351, 352, 353, 354, + 355, 356, 357, 358, 359, 360, 361, -1, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, -1, 377, 378, 379, 380, 381, 382, 383, 384, + -1, 386, 387, 388, 389, 390, 391, 392, 393, 394, + 395, -1, 397, 398, 399, 400, 401, -1, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, -1, 414, + 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, -1, 430, -1, 432, 433, -1, + -1, 436, 437, 438, 439, 440, 441, 442, 443, -1, + 445, 446, 447, -1, -1, 450, 451, -1, 453, -1, + -1, 456, 457, 458, 459, 460, 461, 462, 463, 464, + -1, -1, 467, 468, 469, 470, 471, -1, -1, 474, + 475, 476, 477, 478, -1, 480, -1, 482, 483, 484, + 485, 486, 487, -1, -1, 490, -1, -1, 493, 494, + 495, 496, 497, 498, 3, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 510, 511, 512, -1, -1, + -1, -1, -1, 22, 23, 24, 25, 26, 27, 28, + 29, 30, -1, 32, 33, 34, -1, -1, -1, -1, + -1, -1, -1, 42, 43, 44, -1, 46, 47, 48, + 49, 50, 51, 52, 53, -1, 55, 56, 57, 58, + -1, 60, 61, 62, 63, 64, 65, 66, -1, -1, + 69, 70, 71, 72, 73, -1, 75, 76, 77, 78, + -1, -1, 81, -1, 83, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, -1, 95, 96, 97, 98, + 99, 100, -1, 102, 103, 104, 105, -1, -1, -1, + 109, -1, -1, -1, 113, 114, 115, 116, 117, 118, + 119, 120, 121, -1, 123, -1, 125, 126, 127, 128, + 129, 130, 131, -1, 133, 134, 135, 136, -1, -1, + 139, 140, 141, 142, 143, -1, 145, 146, 147, 148, + -1, 150, 151, 152, 153, -1, 155, 156, 157, 158, + -1, 160, 161, 162, 163, -1, -1, 166, -1, 168, + 169, 170, 171, 172, -1, 174, -1, 176, 177, 178, + -1, 180, 181, 182, 183, 184, -1, 186, -1, -1, + -1, 190, 191, -1, 193, 194, 195, 196, 197, 198, + 199, 200, 201, 202, -1, 204, 205, 206, 207, 208, + 209, 210, 211, -1, 213, 214, -1, 216, 217, 218, + 219, 220, 221, -1, 223, -1, 225, 226, 227, 228, + 229, 230, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 241, 242, 243, 244, 245, 246, 247, -1, + -1, 250, -1, 252, 253, 254, -1, 256, 257, 258, + -1, -1, 261, 262, 263, 264, 265, 266, 267, 268, + 269, 270, -1, 272, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, -1, -1, 293, -1, 295, 296, 297, 298, + -1, -1, 301, 302, 303, 304, 305, -1, 307, 308, + 309, -1, -1, 312, 313, 314, -1, -1, 317, 318, + -1, 320, 321, 322, -1, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, -1, 336, 337, 338, + -1, 340, -1, 342, 343, 344, -1, 346, 347, 348, + 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, + 359, 360, 361, -1, 363, 364, 365, 366, 367, 368, + 369, 370, 371, 372, 373, 374, 375, -1, 377, 378, + 379, 380, 381, 382, 383, 384, -1, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, -1, 397, 398, + 399, 400, 401, -1, 403, 404, -1, 406, 407, 408, + 409, 410, 411, 412, -1, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + -1, 430, -1, 432, 433, -1, -1, 436, 437, 438, + 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, + -1, 450, 451, -1, 453, -1, -1, 456, 457, 458, + 459, 460, 461, 462, 463, 464, -1, -1, 467, 468, + 469, 470, 471, -1, -1, 474, 475, 476, 477, 478, + -1, 480, -1, 482, 483, 484, 485, 486, 487, -1, + -1, 490, -1, -1, 493, 494, 495, 496, 497, 498, + 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 510, 511, 512, -1, -1, -1, -1, -1, 22, + 23, 24, 25, 26, 27, 28, 29, 30, -1, 32, + 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, + 43, 44, -1, 46, 47, 48, 49, 50, 51, 52, + 53, -1, -1, 56, -1, -1, -1, 60, 61, 62, + 63, 64, 65, 66, -1, -1, 69, 70, -1, -1, + 73, -1, 75, 76, 77, 78, -1, -1, 81, -1, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, -1, 95, 96, 97, 98, 99, 100, -1, 102, + 103, 104, 105, -1, -1, -1, 109, -1, -1, -1, + 113, 114, 115, 116, 117, 118, -1, -1, 121, -1, + 123, -1, 125, 126, 127, 128, 129, 130, 131, -1, + 133, 134, 135, 136, -1, -1, 139, 140, 141, 142, + 143, -1, 145, 146, 147, 148, -1, 150, 151, 152, + 153, -1, 155, 156, 157, 158, -1, 160, 161, 162, + 163, -1, -1, 166, -1, 168, 169, 170, -1, 172, + -1, 174, -1, 176, 177, 178, -1, 180, 181, 182, + 183, 184, -1, 186, -1, -1, -1, 190, 191, -1, + 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, + -1, 204, 205, 206, 207, 208, 209, 210, 211, -1, + 213, 214, -1, 216, 217, 218, 219, -1, -1, -1, + -1, -1, 225, 226, 227, 228, 229, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 241, 242, + 243, 244, 245, 246, 247, -1, -1, 250, -1, 252, + 253, 254, -1, 256, 257, 258, -1, -1, 261, 262, + 263, 264, 265, 266, 267, 268, 269, 270, -1, 272, + 273, 274, 275, 276, 277, 278, 279, -1, 281, -1, + 283, 284, 285, 286, 287, 288, 289, 290, -1, -1, + 293, -1, 295, 296, 297, 298, -1, -1, 301, -1, + 303, 304, 305, -1, 307, 308, 309, -1, -1, 312, + 313, 314, -1, -1, 317, 318, -1, 320, 321, 322, + -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, -1, 336, 337, 338, -1, 340, -1, 342, + 343, 344, -1, 346, 347, 348, 349, 350, 351, 352, + 353, 354, 355, 356, -1, 358, 359, 360, 361, -1, + 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, + 373, 374, 375, -1, 377, 378, 379, 380, 381, 382, + 383, 384, -1, 386, 387, 388, 389, 390, 391, 392, + 393, 394, 395, -1, 397, 398, 399, 400, 401, -1, + 403, 404, -1, 406, 407, 408, 409, 410, -1, 412, + -1, 414, 415, 416, 417, 418, 419, 420, 421, 422, + 423, 424, 425, 426, 427, 428, -1, 430, -1, 432, + 433, -1, -1, 436, 437, 438, 439, 440, 441, 442, + 443, -1, 445, -1, -1, -1, -1, 450, 451, -1, + 453, -1, -1, 456, 457, 458, 459, 460, 461, 462, + 463, 464, -1, -1, 467, 468, 469, 470, 471, -1, + -1, 474, 475, 476, 477, 478, -1, -1, -1, 482, + 483, 484, 485, 486, 487, -1, -1, 490, -1, -1, + 493, 494, 495, 496, 497, 498, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 510, 511, 512 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { - 0, 22, 32, 34, 35, 52, 62, 74, 76, 77, - 83, 85, 97, 99, 116, 119, 134, 136, 140, 146, - 154, 156, 163, 180, 197, 237, 238, 243, 257, 275, - 319, 333, 339, 340, 342, 347, 353, 356, 363, 369, - 370, 377, 381, 391, 406, 426, 437, 443, 448, 461, - 484, 485, 486, 487, 488, 489, 502, 509, 510, 511, - 512, 513, 514, 520, 521, 523, 524, 525, 526, 528, - 532, 544, 549, 550, 553, 554, 555, 574, 577, 578, - 593, 640, 643, 644, 647, 650, 651, 652, 660, 667, - 669, 670, 673, 676, 677, 681, 690, 694, 695, 696, - 699, 701, 702, 703, 704, 712, 714, 734, 738, 740, - 741, 751, 753, 760, 761, 764, 765, 766, 767, 768, - 777, 779, 781, 784, 788, 789, 799, 800, 803, 808, - 822, 854, 857, 858, 859, 864, 867, 869, 871, 873, - 874, 877, 878, 881, 883, 884, 888, 889, 890, 893, - 894, 895, 896, 897, 904, 906, 907, 908, 909, 915, - 917, 918, 924, 925, 926, 929, 930, 931, 932, 934, - 935, 937, 938, 940, 941, 943, 955, 957, 960, 962, - 963, 972, 974, 979, 984, 992, 996, 997, 998, 999, - 1000, 1001, 1007, 1043, 420, 464, 910, 29, 80, 96, - 114, 120, 138, 149, 158, 171, 176, 183, 202, 227, - 249, 290, 314, 324, 325, 328, 355, 358, 362, 364, - 371, 374, 393, 400, 405, 406, 409, 413, 423, 428, - 441, 454, 666, 910, 3, 22, 23, 24, 25, 26, - 27, 28, 29, 31, 32, 33, 41, 42, 43, 45, + 0, 22, 33, 35, 36, 53, 63, 75, 77, 78, + 84, 86, 99, 101, 118, 121, 136, 138, 142, 149, + 158, 160, 167, 185, 202, 256, 257, 262, 277, 296, + 343, 358, 364, 365, 367, 372, 378, 381, 388, 395, + 396, 403, 407, 418, 435, 456, 468, 474, 479, 492, + 516, 518, 519, 520, 521, 522, 535, 542, 543, 544, + 545, 550, 551, 557, 558, 560, 561, 562, 563, 565, + 568, 580, 585, 586, 589, 590, 591, 611, 614, 615, + 630, 681, 684, 685, 688, 691, 692, 693, 701, 708, + 710, 711, 714, 717, 718, 722, 731, 735, 736, 737, + 740, 742, 743, 744, 745, 753, 755, 775, 779, 781, + 782, 792, 794, 801, 802, 805, 806, 807, 808, 809, + 818, 820, 822, 825, 829, 830, 840, 841, 846, 851, + 862, 894, 897, 898, 899, 904, 907, 909, 911, 913, + 914, 918, 919, 922, 924, 925, 929, 930, 931, 934, + 935, 936, 937, 938, 945, 947, 948, 949, 950, 956, + 958, 959, 965, 966, 967, 970, 971, 972, 973, 975, + 976, 978, 979, 981, 982, 984, 996, 998, 1001, 1003, + 1004, 1013, 1015, 1020, 1025, 1035, 1039, 1040, 1041, 1042, + 1043, 1044, 1050, 1086, 450, 495, 951, 30, 81, 98, + 116, 122, 140, 153, 162, 175, 181, 188, 208, 246, + 268, 312, 338, 348, 349, 352, 380, 383, 387, 390, + 397, 400, 420, 428, 433, 435, 438, 443, 453, 458, + 472, 485, 707, 951, 3, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 32, 33, 34, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 59, 60, 61, 62, 63, 64, 65, 68, - 69, 70, 71, 72, 74, 75, 76, 77, 78, 80, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 93, 94, 95, 96, 97, 98, 100, 101, 102, 103, - 107, 111, 112, 113, 114, 115, 116, 117, 118, 119, - 121, 123, 124, 125, 126, 127, 128, 129, 131, 132, - 133, 134, 137, 138, 139, 140, 141, 143, 144, 145, - 147, 148, 149, 151, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 162, 164, 165, 166, 167, 168, 170, - 172, 173, 175, 176, 177, 178, 179, 181, 182, 184, - 185, 186, 188, 189, 190, 191, 192, 193, 194, 195, - 196, 197, 199, 200, 201, 202, 203, 204, 205, 207, - 208, 209, 210, 211, 212, 213, 214, 215, 217, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 231, - 232, 233, 234, 235, 237, 238, 239, 242, 243, 244, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, - 276, 277, 279, 280, 281, 282, 283, 284, 286, 287, - 290, 291, 292, 295, 296, 297, 298, 299, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, - 313, 314, 315, 316, 317, 318, 319, 320, 322, 323, - 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, - 334, 335, 336, 338, 339, 340, 341, 342, 343, 344, - 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, - 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, - 366, 367, 368, 369, 371, 372, 373, 374, 375, 377, - 378, 379, 380, 381, 382, 383, 384, 385, 386, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, - 399, 400, 401, 402, 404, 405, 407, 408, 409, 410, - 411, 412, 413, 415, 416, 417, 420, 421, 422, 423, - 424, 426, 427, 428, 429, 430, 431, 432, 433, 436, - 437, 438, 439, 440, 443, 444, 445, 446, 447, 448, - 449, 451, 452, 453, 454, 455, 456, 459, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 1104, 1174, - 1186, 1187, 1191, 1192, 1193, 3, 30, 993, 1171, 1186, - 1191, 452, 502, 948, 288, 320, 910, 55, 502, 585, - 24, 42, 67, 80, 114, 120, 138, 149, 158, 171, - 179, 183, 239, 290, 293, 314, 328, 355, 364, 374, - 393, 400, 409, 410, 412, 413, 428, 435, 438, 441, - 594, 649, 756, 809, 823, 30, 319, 1171, 993, 30, - 313, 372, 410, 412, 6, 226, 865, 866, 1177, 24, - 29, 67, 80, 96, 114, 138, 149, 158, 171, 176, - 183, 202, 249, 290, 303, 314, 325, 328, 355, 358, - 362, 364, 371, 374, 393, 400, 406, 409, 413, 421, - 423, 428, 441, 454, 666, 769, 771, 772, 910, 1171, - 99, 452, 502, 644, 647, 650, 943, 956, 960, 963, - 972, 979, 984, 992, 996, 11, 23, 30, 50, 166, - 172, 174, 198, 228, 264, 322, 341, 493, 494, 785, - 786, 993, 1176, 1178, 30, 32, 99, 337, 370, 790, - 791, 792, 1186, 171, 1186, 1173, 1177, 406, 1010, 785, - 1186, 420, 1171, 303, 249, 114, 202, 364, 405, 406, - 502, 875, 876, 363, 1186, 30, 375, 416, 420, 536, - 545, 546, 1186, 27, 180, 790, 791, 320, 910, 1186, - 225, 30, 135, 1012, 1013, 68, 93, 239, 259, 355, - 364, 375, 416, 420, 467, 533, 534, 535, 536, 30, - 375, 416, 420, 536, 420, 289, 1055, 1056, 1169, 1186, - 1010, 495, 1186, 175, 502, 949, 502, 335, 1002, 1003, - 1171, 1002, 3, 54, 56, 57, 70, 71, 117, 118, - 139, 167, 214, 215, 217, 260, 262, 281, 332, 379, - 385, 416, 417, 449, 1078, 1080, 1082, 1084, 1086, 1088, - 1089, 1090, 1092, 1093, 1094, 1096, 1097, 1187, 1191, 1012, - 1013, 1014, 1182, 12, 1183, 1184, 1186, 1183, 1183, 997, - 998, 1001, 0, 505, 502, 948, 150, 216, 294, 434, - 1015, 1016, 997, 999, 1000, 125, 212, 251, 440, 506, - 36, 914, 839, 1174, 774, 1186, 774, 1171, 323, 774, - 423, 1171, 113, 406, 827, 1174, 1186, 1193, 3, 106, - 110, 376, 1179, 1180, 1188, 1191, 1192, 1193, 30, 192, - 1169, 282, 454, 10, 17, 18, 19, 75, 162, 490, - 491, 492, 493, 494, 495, 496, 497, 498, 861, 863, - 1134, 1135, 1186, 192, 1171, 827, 1171, 30, 1179, 1180, - 827, 1171, 1171, 192, 1169, 1171, 192, 774, 1171, 347, - 377, 30, 192, 1055, 1171, 367, 1171, 774, 30, 246, - 1179, 1180, 192, 1169, 226, 122, 222, 273, 331, 911, - 912, 913, 502, 500, 504, 1160, 1162, 942, 943, 944, - 945, 1188, 1169, 1171, 1186, 29, 67, 81, 92, 114, - 138, 176, 202, 227, 290, 325, 355, 358, 400, 409, - 421, 428, 769, 770, 771, 772, 1177, 914, 959, 963, - 972, 979, 984, 996, 1169, 252, 774, 502, 192, 774, - 1171, 774, 423, 192, 1171, 113, 406, 410, 412, 1179, - 1180, 410, 412, 75, 162, 861, 345, 1171, 1171, 1179, - 192, 529, 1186, 192, 1171, 192, 774, 1171, 1171, 367, - 774, 246, 1179, 335, 371, 406, 454, 249, 96, 202, - 29, 92, 176, 325, 362, 421, 423, 427, 661, 30, - 1171, 994, 543, 1177, 1188, 866, 252, 192, 839, 840, - 192, 870, 192, 1171, 192, 776, 1078, 423, 113, 406, - 192, 826, 827, 192, 1180, 1181, 88, 454, 75, 162, - 192, 862, 863, 60, 192, 826, 192, 1181, 192, 826, - 192, 1171, 192, 1171, 367, 870, 192, 776, 192, 246, - 1181, 226, 192, 773, 774, 192, 1170, 1171, 192, 1171, - 914, 502, 961, 594, 956, 448, 942, 948, 1178, 786, - 787, 30, 787, 1178, 787, 30, 787, 1178, 787, 787, - 787, 1178, 1176, 1176, 993, 787, 323, 502, 405, 502, - 617, 617, 617, 288, 418, 506, 617, 364, 1055, 1057, - 506, 905, 1177, 502, 958, 60, 454, 942, 88, 810, - 810, 1186, 49, 481, 222, 504, 291, 291, 288, 174, - 1177, 418, 914, 169, 782, 288, 5, 8, 9, 10, - 12, 38, 54, 56, 57, 66, 67, 70, 71, 78, - 80, 104, 105, 106, 107, 108, 109, 110, 117, 118, - 120, 155, 160, 161, 167, 182, 184, 214, 215, 217, - 232, 240, 241, 260, 262, 271, 273, 278, 279, 281, - 290, 301, 315, 332, 360, 376, 385, 401, 416, 417, - 422, 424, 425, 435, 441, 449, 469, 470, 471, 472, - 474, 475, 476, 477, 482, 493, 494, 495, 502, 997, - 1081, 1084, 1087, 1088, 1089, 1091, 1092, 1093, 1096, 1097, - 1101, 1103, 1104, 1105, 1107, 1130, 1131, 1132, 1136, 1154, - 1159, 1166, 1167, 1174, 1175, 1176, 1177, 1186, 1165, 1166, - 1177, 30, 551, 1168, 1169, 375, 533, 120, 542, 1177, - 12, 543, 12, 1177, 49, 72, 533, 481, 386, 912, - 291, 174, 418, 492, 49, 481, 222, 913, 502, 1169, - 495, 1162, 1057, 942, 173, 950, 1101, 1139, 1002, 506, - 502, 951, 451, 1095, 1095, 1095, 502, 1083, 1083, 317, - 502, 1085, 70, 71, 1095, 1083, 1080, 463, 484, 502, - 1098, 502, 1098, 38, 1079, 502, 115, 190, 253, 256, - 368, 479, 502, 1099, 1100, 504, 775, 1083, 1165, 1163, - 503, 503, 511, 942, 952, 953, 954, 1169, 30, 135, - 1011, 1011, 60, 1011, 163, 169, 236, 285, 1019, 1021, - 1022, 1037, 1039, 1040, 1041, 1015, 1016, 174, 218, 218, - 1055, 1058, 502, 69, 269, 304, 343, 377, 502, 837, - 304, 339, 343, 377, 775, 304, 343, 377, 3, 91, - 144, 242, 304, 339, 343, 377, 409, 411, 461, 544, - 547, 919, 920, 921, 922, 804, 26, 140, 304, 343, - 377, 445, 560, 1171, 26, 140, 377, 440, 527, 465, - 192, 1055, 63, 98, 159, 195, 231, 269, 273, 304, - 305, 343, 352, 361, 369, 377, 389, 398, 402, 456, - 544, 548, 843, 855, 882, 502, 824, 1162, 343, 527, - 198, 155, 26, 32, 47, 77, 133, 140, 143, 170, - 204, 269, 273, 283, 292, 304, 343, 346, 347, 377, - 445, 556, 558, 559, 684, 882, 5, 493, 494, 658, - 1178, 30, 192, 1169, 774, 774, 502, 860, 304, 377, - 504, 155, 288, 304, 343, 377, 855, 882, 26, 140, - 304, 343, 377, 198, 522, 343, 461, 484, 515, 522, - 304, 343, 377, 855, 882, 288, 304, 343, 155, 39, - 61, 112, 201, 250, 254, 269, 303, 343, 348, 371, - 377, 391, 556, 655, 656, 304, 343, 453, 684, 692, - 155, 304, 343, 377, 26, 91, 133, 140, 143, 304, - 339, 343, 377, 384, 546, 534, 536, 198, 155, 47, - 131, 269, 343, 377, 556, 557, 304, 343, 347, 377, - 89, 132, 307, 411, 288, 26, 32, 140, 304, 343, - 377, 575, 576, 522, 169, 343, 515, 522, 155, 343, - 377, 556, 1171, 234, 122, 289, 466, 506, 911, 30, - 135, 450, 495, 503, 832, 1101, 1140, 1141, 1187, 1101, - 1161, 3, 30, 34, 35, 36, 37, 38, 39, 40, - 44, 58, 66, 67, 73, 79, 81, 92, 99, 104, - 105, 106, 108, 109, 110, 120, 122, 130, 135, 136, - 142, 146, 150, 161, 163, 169, 171, 174, 180, 183, - 187, 198, 206, 216, 218, 229, 230, 236, 240, 241, - 273, 278, 285, 288, 289, 293, 294, 312, 321, 337, - 351, 370, 376, 387, 403, 406, 414, 418, 419, 425, - 434, 435, 441, 442, 450, 457, 458, 460, 461, 495, - 1172, 1189, 1191, 1192, 1193, 1194, 1160, 503, 506, 161, - 288, 425, 540, 543, 658, 946, 442, 939, 288, 839, - 502, 774, 1171, 1078, 827, 282, 75, 162, 863, 827, - 827, 169, 1078, 774, 1171, 1171, 503, 617, 1171, 73, - 1078, 273, 174, 502, 742, 515, 39, 933, 1171, 273, - 515, 465, 192, 1169, 515, 774, 774, 742, 438, 594, - 288, 169, 461, 851, 515, 273, 49, 530, 273, 428, - 691, 273, 951, 91, 304, 668, 89, 132, 307, 411, - 39, 742, 169, 192, 515, 454, 192, 1169, 192, 645, - 1169, 1169, 454, 774, 810, 1174, 423, 1174, 1174, 1171, - 169, 1171, 666, 41, 55, 111, 211, 269, 366, 155, - 64, 349, 506, 561, 155, 502, 155, 515, 155, 506, - 561, 465, 155, 506, 561, 155, 506, 192, 773, 192, - 774, 192, 774, 155, 506, 561, 1181, 155, 561, 155, - 155, 561, 155, 561, 155, 89, 132, 307, 411, 169, - 155, 561, 155, 169, 192, 155, 506, 561, 155, 506, - 561, 155, 288, 1139, 406, 503, 956, 787, 993, 787, - 993, 787, 993, 787, 993, 787, 993, 993, 993, 787, - 993, 502, 618, 619, 1186, 618, 30, 114, 138, 171, - 176, 226, 227, 306, 325, 358, 364, 371, 406, 409, - 428, 795, 1168, 1181, 792, 1171, 198, 506, 975, 1177, - 1078, 1143, 39, 1181, 810, 503, 1169, 1171, 234, 1186, - 169, 169, 795, 1181, 363, 1186, 543, 288, 502, 1163, - 500, 997, 1144, 1101, 1158, 502, 502, 169, 502, 502, - 997, 502, 502, 502, 502, 502, 502, 502, 1101, 502, - 502, 502, 502, 502, 502, 502, 502, 280, 608, 502, - 502, 502, 502, 502, 502, 502, 502, 1101, 1101, 1101, - 997, 1101, 1139, 1162, 12, 1177, 12, 502, 1177, 3, - 10, 13, 17, 18, 19, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, - 68, 69, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 165, 166, 167, 168, 170, 171, 172, 173, 175, 176, - 177, 178, 179, 181, 182, 184, 185, 186, 188, 189, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 217, 219, 220, 221, 222, - 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, - 233, 234, 235, 237, 238, 239, 240, 241, 242, 243, - 244, 245, 246, 247, 248, 249, 250, 251, 252, 254, - 255, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 286, - 287, 289, 290, 291, 292, 293, 295, 296, 297, 298, - 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, - 311, 312, 313, 314, 315, 316, 318, 319, 320, 321, + 56, 57, 58, 60, 61, 62, 63, 64, 65, 66, + 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, + 81, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 95, 96, 97, 98, 99, 100, 102, 103, + 104, 105, 109, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, + 133, 134, 135, 136, 139, 140, 141, 142, 143, 145, + 146, 147, 148, 150, 151, 152, 153, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 166, 168, 169, + 170, 171, 172, 174, 176, 177, 178, 180, 181, 182, + 183, 184, 186, 187, 189, 190, 191, 193, 194, 195, + 196, 197, 198, 199, 200, 201, 202, 204, 205, 206, + 207, 208, 209, 210, 211, 213, 214, 215, 216, 217, + 218, 219, 220, 221, 223, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, 250, 251, + 252, 253, 254, 256, 257, 258, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 295, + 296, 297, 298, 300, 301, 302, 303, 304, 305, 307, + 308, 309, 312, 313, 314, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, - 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, - 342, 343, 344, 345, 346, 347, 348, 349, 350, 352, - 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 369, 370, 371, 372, 373, - 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, - 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - 414, 415, 416, 417, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 435, - 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, - 446, 447, 448, 449, 450, 452, 453, 454, 455, 456, - 457, 459, 464, 465, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 480, 481, 482, - 490, 491, 492, 493, 494, 495, 496, 497, 498, 1134, - 1136, 1138, 1190, 1195, 462, 1117, 300, 1101, 218, 506, - 1008, 12, 502, 1177, 1162, 1008, 123, 194, 552, 506, - 72, 12, 120, 543, 39, 3, 12, 120, 239, 541, - 658, 1097, 1177, 1177, 94, 137, 1113, 103, 12, 120, - 537, 538, 540, 658, 120, 537, 234, 1169, 95, 348, - 778, 503, 948, 36, 46, 53, 79, 193, 198, 220, - 235, 290, 293, 382, 503, 506, 1003, 1170, 39, 502, - 1139, 1176, 1095, 1095, 38, 1079, 416, 416, 1176, 1176, - 500, 500, 1176, 418, 418, 418, 502, 418, 1176, 1172, - 504, 1083, 174, 1044, 15, 492, 1160, 1185, 503, 506, - 951, 999, 999, 1017, 1018, 1101, 999, 166, 264, 1028, - 224, 269, 331, 380, 440, 30, 1023, 1101, 493, 494, - 1024, 1025, 1101, 1103, 1037, 1038, 1022, 1021, 1019, 1020, - 169, 1040, 283, 1042, 1019, 1037, 1058, 964, 1169, 1058, - 39, 1186, 377, 1139, 69, 418, 418, 364, 198, 209, - 294, 297, 379, 450, 495, 830, 831, 832, 834, 836, - 838, 1078, 1187, 418, 453, 418, 364, 418, 418, 364, - 236, 418, 80, 418, 409, 533, 304, 919, 921, 492, - 923, 169, 180, 198, 353, 805, 806, 73, 92, 151, - 171, 321, 435, 614, 615, 92, 120, 273, 418, 92, - 418, 120, 273, 364, 92, 133, 143, 304, 343, 739, - 364, 674, 29, 67, 138, 176, 290, 325, 358, 421, - 428, 769, 770, 1171, 155, 343, 377, 556, 288, 658, - 369, 231, 418, 1186, 418, 278, 658, 124, 219, 364, - 375, 420, 535, 774, 349, 377, 843, 856, 128, 503, - 825, 830, 418, 441, 409, 1169, 81, 151, 192, 601, - 614, 1186, 81, 92, 879, 309, 288, 360, 362, 423, - 92, 879, 33, 346, 360, 362, 423, 360, 1169, 170, - 204, 283, 774, 502, 418, 418, 191, 502, 565, 24, - 245, 409, 438, 463, 565, 92, 506, 128, 5, 5, - 304, 198, 155, 343, 377, 556, 882, 442, 442, 270, - 1078, 418, 364, 502, 861, 1171, 1169, 418, 418, 364, - 856, 128, 107, 406, 407, 891, 892, 1056, 1169, 1186, - 892, 418, 418, 742, 892, 114, 377, 547, 418, 517, - 547, 418, 418, 364, 856, 128, 1169, 418, 418, 1169, - 1080, 658, 60, 657, 658, 658, 112, 250, 254, 60, - 418, 515, 258, 364, 515, 269, 656, 418, 418, 278, - 1177, 684, 774, 418, 418, 364, 393, 328, 1177, 328, - 418, 328, 418, 328, 742, 742, 409, 1055, 309, 309, - 92, 418, 879, 364, 418, 418, 565, 565, 774, 774, - 774, 774, 1169, 48, 447, 48, 48, 418, 48, 418, - 447, 364, 502, 506, 547, 441, 700, 1180, 418, 517, - 547, 1169, 418, 879, 364, 304, 343, 331, 344, 373, - 539, 911, 1140, 1140, 1141, 503, 15, 16, 506, 1015, - 1016, 501, 507, 1169, 944, 1171, 1169, 220, 1078, 220, - 288, 220, 220, 658, 774, 774, 220, 220, 220, 1078, - 220, 220, 220, 288, 418, 174, 418, 579, 428, 502, - 39, 155, 774, 743, 744, 1189, 919, 1078, 288, 155, - 671, 1171, 273, 309, 502, 516, 756, 442, 335, 454, - 1169, 30, 892, 742, 516, 155, 1180, 99, 180, 531, - 593, 651, 714, 788, 808, 915, 155, 1177, 692, 693, - 155, 288, 1177, 1180, 242, 774, 774, 774, 774, 147, - 330, 502, 700, 273, 516, 1169, 273, 653, 655, 273, - 39, 283, 309, 502, 617, 617, 192, 648, 1169, 169, - 192, 811, 1171, 502, 746, 837, 1171, 502, 828, 828, - 39, 1078, 28, 51, 213, 715, 226, 461, 463, 995, - 366, 840, 839, 1078, 1171, 502, 776, 1078, 826, 827, - 1181, 1180, 155, 561, 155, 442, 155, 442, 862, 863, - 561, 826, 1181, 826, 1171, 1171, 1078, 776, 1181, 700, - 155, 773, 774, 1170, 1171, 1171, 774, 503, 192, 1169, - 956, 993, 993, 993, 993, 993, 993, 618, 503, 506, - 503, 177, 326, 359, 372, 407, 1170, 773, 113, 374, - 826, 1170, 282, 793, 794, 1186, 826, 826, 1170, 1168, - 1168, 1170, 773, 418, 461, 801, 150, 236, 697, 698, - 24, 153, 360, 380, 976, 1055, 277, 977, 503, 506, - 959, 418, 1169, 875, 876, 791, 790, 791, 174, 181, - 802, 1186, 29, 81, 138, 176, 227, 325, 358, 428, - 769, 770, 1139, 501, 1139, 1144, 1145, 457, 1155, 1156, - 1101, 1139, 502, 1176, 1176, 3, 12, 115, 190, 253, - 256, 368, 479, 1146, 1147, 1177, 1139, 1139, 1139, 1176, - 1176, 1101, 1101, 861, 1101, 1140, 1142, 1149, 360, 493, - 494, 502, 1102, 1103, 1136, 1150, 503, 1139, 1101, 1142, - 1151, 1101, 58, 174, 230, 419, 1101, 1139, 1152, 135, - 273, 997, 1139, 258, 1103, 1101, 1111, 1112, 1113, 258, - 1101, 1113, 503, 506, 1099, 1176, 1099, 1078, 1101, 1101, - 1101, 1101, 1189, 416, 44, 403, 1164, 774, 1101, 502, - 997, 1153, 135, 137, 161, 265, 266, 267, 268, 272, - 273, 278, 425, 436, 1148, 1101, 502, 1101, 418, 53, - 193, 198, 235, 382, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 30, 37, 387, 1133, 183, 164, - 1118, 360, 502, 1130, 179, 239, 406, 410, 412, 438, - 1009, 1169, 1167, 1044, 1140, 1044, 1169, 420, 502, 1177, - 506, 503, 191, 191, 561, 954, 943, 947, 1101, 503, - 249, 273, 1004, 1139, 503, 503, 500, 481, 481, 503, - 503, 1176, 501, 1176, 503, 190, 253, 1100, 253, 1100, - 1100, 1176, 256, 503, 1172, 229, 361, 478, 502, 997, - 1045, 1046, 1047, 1055, 1061, 1071, 1104, 1106, 1107, 1186, - 458, 1066, 1182, 954, 952, 506, 40, 130, 442, 820, - 360, 361, 493, 494, 1025, 1027, 1103, 380, 224, 289, - 506, 5, 1026, 1176, 1026, 360, 361, 1027, 1168, 277, - 384, 978, 1038, 1020, 442, 973, 120, 302, 502, 965, - 996, 39, 442, 1186, 502, 980, 981, 982, 1186, 503, - 1180, 1171, 1171, 297, 60, 1187, 503, 832, 834, 831, - 834, 1187, 294, 503, 506, 775, 1180, 1171, 1171, 1180, - 1171, 1171, 1180, 453, 1171, 1171, 120, 540, 658, 355, - 441, 790, 364, 180, 790, 502, 1171, 442, 812, 224, - 224, 442, 608, 639, 192, 1171, 278, 1180, 1171, 1171, - 1101, 278, 1171, 1171, 33, 346, 418, 418, 1171, 418, - 675, 839, 502, 1078, 827, 75, 162, 863, 827, 827, - 169, 1078, 774, 1171, 186, 269, 304, 343, 446, 678, - 679, 680, 1055, 418, 879, 364, 278, 124, 219, 1180, - 1171, 288, 1171, 288, 503, 506, 1179, 1181, 1171, 343, - 556, 192, 601, 273, 1078, 1171, 1176, 1186, 1169, 1171, - 234, 1171, 30, 441, 1171, 192, 1171, 192, 1186, 362, - 423, 362, 423, 234, 1171, 30, 441, 1171, 234, 360, - 1169, 26, 140, 377, 685, 686, 687, 688, 1189, 1180, - 1171, 120, 175, 274, 442, 564, 567, 568, 1189, 252, - 1171, 77, 286, 1171, 559, 288, 418, 409, 1169, 418, - 879, 364, 128, 1171, 1171, 506, 503, 506, 1180, 1171, - 885, 886, 1189, 288, 343, 418, 708, 1180, 1171, 1171, - 288, 1055, 198, 506, 617, 617, 1162, 1180, 1171, 1171, - 1179, 3, 91, 145, 204, 311, 433, 441, 444, 518, - 1180, 1171, 1171, 288, 343, 1180, 1171, 343, 377, 556, - 655, 658, 774, 1171, 658, 774, 1171, 658, 1180, 1171, - 377, 1180, 1171, 1171, 1178, 1170, 1170, 1180, 851, 1171, - 1170, 1171, 343, 377, 556, 557, 1169, 1169, 1171, 1171, - 1171, 1171, 1180, 1171, 26, 32, 140, 304, 343, 377, - 304, 343, 377, 742, 343, 377, 343, 377, 343, 882, - 1070, 1186, 192, 752, 1186, 192, 1186, 1180, 1171, 1171, - 1177, 1171, 885, 26, 576, 374, 1179, 343, 377, 556, - 1171, 1171, 1171, 418, 418, 86, 432, 331, 506, 1015, - 1015, 1015, 1101, 1101, 450, 1141, 503, 1101, 1161, 939, - 278, 780, 1177, 39, 780, 138, 774, 780, 780, 220, - 442, 442, 780, 780, 780, 226, 780, 780, 780, 774, - 327, 580, 580, 202, 406, 713, 1101, 1078, 774, 503, - 506, 492, 605, 1189, 1171, 64, 174, 364, 453, 672, - 679, 680, 155, 283, 235, 595, 597, 599, 601, 611, - 614, 27, 198, 355, 404, 518, 519, 169, 1171, 454, - 1169, 39, 709, 407, 851, 529, 1186, 530, 594, 823, - 1171, 171, 774, 502, 641, 642, 1106, 1186, 328, 1177, - 742, 742, 742, 742, 502, 742, 1068, 1069, 1070, 374, - 155, 502, 155, 155, 154, 996, 774, 283, 595, 1186, - 442, 634, 461, 566, 273, 39, 617, 1177, 273, 288, - 3, 747, 748, 742, 28, 503, 829, 830, 835, 39, - 226, 352, 421, 460, 841, 842, 843, 844, 841, 288, - 226, 283, 125, 212, 426, 440, 716, 717, 1171, 189, - 189, 169, 561, 39, 515, 170, 927, 928, 561, 561, - 773, 774, 1171, 774, 1171, 561, 561, 561, 561, 226, - 561, 374, 169, 561, 561, 288, 561, 273, 503, 619, - 198, 198, 198, 198, 198, 465, 1170, 658, 659, 506, - 504, 183, 796, 797, 1180, 27, 802, 418, 502, 174, - 153, 380, 153, 380, 360, 440, 255, 1078, 1180, 461, - 646, 810, 810, 174, 288, 796, 60, 561, 839, 774, - 1078, 827, 282, 827, 827, 1078, 774, 1171, 503, 501, - 501, 506, 1101, 142, 1156, 1157, 39, 503, 1101, 503, - 503, 174, 503, 174, 503, 503, 503, 503, 503, 503, - 506, 506, 503, 312, 503, 503, 502, 1102, 1102, 1139, - 13, 17, 18, 19, 198, 220, 290, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 1136, 1102, 503, 503, - 169, 174, 382, 503, 503, 39, 1152, 1139, 1152, 1152, - 174, 503, 135, 503, 1189, 310, 1115, 39, 503, 506, - 1101, 1189, 506, 1101, 1163, 1101, 503, 481, 1102, 1102, - 148, 1139, 174, 135, 137, 161, 272, 278, 425, 436, - 1148, 272, 148, 861, 1101, 403, 1164, 1101, 1153, 1101, - 418, 502, 997, 502, 502, 299, 1122, 502, 1139, 410, - 412, 410, 412, 1169, 1010, 1010, 1010, 1066, 1015, 1066, - 912, 1176, 1099, 538, 954, 249, 502, 503, 1176, 1098, - 1098, 501, 501, 503, 997, 1061, 1071, 174, 502, 997, - 1046, 1047, 39, 1048, 1049, 1186, 506, 100, 175, 208, - 223, 233, 261, 354, 1052, 1049, 39, 1048, 1051, 1186, - 1049, 484, 1065, 1162, 1101, 183, 1029, 1018, 290, 1134, - 1137, 483, 821, 5, 1176, 1027, 289, 461, 440, 1024, - 244, 1045, 458, 1067, 448, 405, 441, 966, 967, 968, - 1186, 288, 969, 1186, 1046, 982, 983, 506, 1044, 492, - 1163, 838, 775, 834, 834, 60, 836, 497, 1181, 1181, - 288, 1170, 291, 288, 1101, 615, 1171, 502, 502, 502, - 639, 202, 502, 732, 155, 561, 418, 1180, 1171, 543, - 1078, 774, 774, 1078, 662, 1171, 186, 446, 418, 418, - 662, 678, 684, 343, 377, 556, 1171, 1171, 1171, 210, - 278, 158, 830, 303, 377, 418, 273, 155, 87, 603, - 604, 732, 377, 26, 140, 347, 348, 377, 560, 569, - 570, 684, 880, 369, 155, 561, 155, 561, 1171, 1171, - 1171, 1171, 369, 369, 234, 687, 688, 687, 503, 506, - 689, 1177, 202, 503, 506, 492, 504, 1171, 158, 1180, - 1171, 343, 377, 556, 1171, 1171, 1171, 288, 304, 343, - 377, 26, 140, 304, 343, 377, 1078, 270, 1078, 503, - 506, 492, 1169, 418, 1181, 442, 705, 158, 617, 364, - 891, 458, 624, 624, 617, 236, 311, 12, 278, 1177, - 311, 1181, 439, 158, 418, 418, 364, 393, 851, 851, - 851, 303, 377, 92, 418, 879, 364, 120, 169, 571, - 165, 810, 418, 418, 246, 246, 246, 418, 418, 364, - 418, 418, 364, 418, 364, 418, 364, 418, 128, 561, - 1078, 273, 1177, 377, 880, 155, 561, 418, 418, 503, - 1171, 418, 879, 364, 418, 1180, 1171, 503, 503, 503, - 1141, 501, 1078, 774, 220, 780, 1171, 1171, 1171, 220, - 394, 395, 581, 1177, 581, 186, 503, 503, 174, 742, - 744, 270, 290, 493, 494, 658, 745, 834, 1137, 1177, - 1194, 73, 79, 92, 120, 122, 178, 206, 273, 278, - 321, 337, 435, 606, 607, 610, 154, 457, 515, 543, - 1171, 543, 292, 682, 1169, 1169, 1169, 503, 506, 1181, - 183, 355, 1181, 1176, 428, 1169, 617, 3, 169, 710, - 851, 49, 530, 406, 691, 113, 951, 1101, 174, 506, - 1170, 566, 749, 750, 1177, 503, 506, 1171, 169, 618, - 1169, 645, 1169, 1171, 646, 502, 596, 1169, 503, 1171, - 461, 463, 635, 565, 39, 155, 996, 634, 418, 155, - 1055, 492, 503, 506, 716, 503, 506, 120, 492, 845, - 1177, 543, 406, 833, 834, 169, 850, 52, 350, 846, - 847, 844, 847, 125, 212, 370, 440, 902, 1171, 283, - 288, 293, 186, 996, 1078, 502, 503, 506, 561, 442, - 561, 442, 561, 1171, 1171, 700, 774, 155, 364, 364, - 364, 364, 364, 1170, 506, 794, 1186, 1180, 461, 506, - 798, 291, 1057, 374, 153, 153, 113, 269, 1169, 1171, - 1181, 795, 802, 1180, 220, 220, 220, 220, 658, 220, - 220, 220, 220, 220, 1144, 414, 1101, 146, 1078, 503, - 1101, 1101, 1148, 1101, 1101, 503, 1139, 506, 1078, 1102, - 1102, 1102, 1102, 135, 137, 273, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 1102, 1102, 1101, 1101, 1101, 1078, - 503, 503, 503, 1139, 503, 506, 60, 1103, 1116, 503, - 1189, 1112, 318, 399, 1114, 503, 506, 453, 1108, 39, - 503, 12, 1177, 1101, 36, 36, 1101, 503, 1101, 174, - 272, 1101, 503, 148, 1102, 1102, 148, 148, 1101, 1101, - 1016, 458, 502, 1123, 1186, 503, 1139, 506, 1010, 1010, - 1010, 1010, 1169, 1169, 1169, 1029, 503, 1029, 503, 959, - 501, 1049, 1051, 1049, 502, 473, 1103, 503, 1186, 502, - 1046, 223, 298, 1053, 1046, 1053, 223, 1052, 1053, 223, - 408, 1059, 502, 1186, 502, 295, 60, 187, 1036, 502, - 821, 166, 228, 289, 461, 415, 103, 1101, 351, 971, - 447, 503, 506, 1163, 90, 971, 288, 503, 506, 981, - 1067, 1101, 503, 497, 838, 428, 177, 359, 365, 372, - 407, 429, 807, 169, 807, 503, 502, 622, 623, 815, - 1106, 1186, 618, 618, 732, 1171, 618, 122, 206, 269, - 273, 733, 1171, 1171, 39, 442, 442, 226, 775, 1180, - 1171, 418, 879, 364, 418, 210, 1171, 60, 409, 1171, - 155, 601, 120, 1186, 682, 393, 178, 157, 191, 273, - 565, 515, 113, 178, 273, 393, 396, 565, 603, 656, - 377, 570, 428, 1171, 1186, 369, 686, 1171, 568, 745, - 1189, 1171, 303, 377, 418, 879, 364, 418, 158, 418, - 418, 364, 176, 290, 396, 754, 755, 176, 290, 762, - 763, 418, 418, 364, 503, 503, 503, 886, 270, 658, - 834, 887, 1137, 1177, 1194, 343, 1171, 502, 461, 706, - 1171, 624, 107, 1186, 502, 624, 1178, 12, 1177, 1177, - 1177, 1171, 1171, 1171, 1171, 1178, 60, 409, 1171, 1171, - 1171, 1171, 448, 1171, 1171, 169, 169, 345, 169, 192, - 1180, 1171, 1171, 1180, 1171, 1171, 1171, 1171, 1171, 1171, - 1171, 288, 79, 562, 155, 28, 51, 428, 1186, 1171, - 1177, 684, 1171, 1171, 1171, 1171, 1015, 503, 220, 780, - 220, 220, 220, 780, 515, 442, 586, 587, 662, 732, - 461, 463, 774, 502, 774, 1171, 1102, 33, 60, 609, - 123, 194, 122, 278, 224, 1169, 608, 176, 325, 728, - 735, 736, 1186, 671, 502, 309, 502, 596, 612, 205, - 629, 599, 1181, 1181, 1078, 502, 566, 30, 125, 212, - 370, 440, 711, 418, 707, 1180, 192, 1169, 693, 465, - 288, 503, 1045, 642, 851, 503, 506, 1070, 682, 700, - 503, 653, 39, 283, 309, 502, 961, 598, 600, 602, - 614, 1186, 309, 630, 631, 596, 629, 565, 286, 288, - 636, 996, 648, 646, 566, 1177, 1171, 812, 745, 3, - 748, 288, 835, 1101, 1101, 506, 502, 841, 428, 506, - 45, 1101, 418, 502, 618, 1169, 717, 662, 503, 927, - 928, 1171, 1171, 561, 374, 561, 1170, 1170, 1170, 1170, - 1170, 658, 180, 797, 802, 503, 1171, 113, 802, 174, - 561, 278, 783, 1177, 783, 783, 783, 220, 783, 783, - 783, 783, 783, 1101, 503, 503, 503, 174, 503, 1101, - 174, 135, 137, 174, 169, 148, 503, 468, 1110, 1139, - 336, 447, 60, 1116, 1103, 459, 459, 503, 1101, 269, - 1101, 506, 1109, 1080, 1101, 1101, 1101, 1101, 36, 36, - 1101, 1101, 148, 503, 503, 1101, 1124, 1186, 503, 1101, - 1169, 1169, 1169, 1169, 1036, 12, 1177, 1036, 1177, 503, - 1062, 1063, 1106, 502, 1115, 1048, 502, 1170, 1046, 288, - 442, 1054, 1046, 223, 1046, 1174, 1069, 502, 1069, 1186, - 1011, 1101, 460, 1119, 861, 415, 283, 1166, 996, 302, - 996, 968, 288, 502, 970, 1101, 492, 982, 971, 428, - 503, 418, 790, 174, 732, 1101, 503, 506, 461, 79, - 814, 818, 814, 503, 503, 503, 123, 194, 204, 122, - 444, 561, 1078, 1171, 1171, 1171, 1171, 1171, 1171, 1171, - 1181, 1171, 601, 605, 1178, 609, 192, 192, 278, 658, - 609, 278, 1178, 1186, 1078, 561, 561, 492, 60, 409, - 1171, 1171, 1171, 1171, 1171, 1180, 1171, 1171, 1176, 1176, - 1078, 506, 1176, 1176, 506, 1180, 1171, 1171, 418, 1101, - 73, 1101, 1181, 1171, 418, 418, 174, 198, 461, 1170, - 1170, 774, 1170, 155, 158, 774, 1177, 1177, 1078, 561, - 561, 418, 503, 220, 780, 780, 780, 780, 502, 582, - 583, 515, 127, 176, 209, 176, 1101, 273, 607, 120, - 39, 851, 617, 851, 1174, 36, 154, 198, 683, 687, - 283, 595, 571, 152, 200, 502, 374, 442, 618, 39, - 1181, 705, 530, 273, 502, 171, 1171, 641, 1177, 374, - 566, 154, 996, 774, 283, 595, 646, 503, 506, 461, - 605, 60, 634, 571, 630, 85, 409, 637, 461, 916, - 39, 637, 174, 288, 502, 1169, 1177, 832, 852, 853, - 1187, 847, 1078, 169, 848, 1169, 174, 418, 872, 338, - 718, 207, 663, 561, 503, 561, 561, 1171, 291, 218, - 561, 796, 783, 1101, 503, 1102, 174, 1101, 1101, 1101, - 502, 503, 506, 503, 1116, 503, 447, 390, 503, 503, - 1101, 1101, 1101, 503, 309, 1125, 503, 1119, 1119, 367, - 1005, 503, 506, 39, 1064, 120, 1076, 1077, 1102, 82, - 1170, 503, 1101, 502, 1046, 1054, 502, 503, 1069, 503, - 102, 184, 357, 502, 1030, 1031, 1032, 1033, 1034, 1035, - 1101, 1120, 1121, 1186, 1015, 503, 993, 966, 92, 813, - 815, 136, 457, 985, 986, 1101, 796, 288, 796, 503, - 199, 620, 623, 290, 861, 774, 774, 819, 337, 620, - 620, 503, 418, 377, 977, 39, 155, 155, 562, 745, - 1181, 1171, 418, 502, 827, 861, 863, 755, 502, 502, - 763, 1171, 503, 502, 503, 377, 977, 1171, 1171, 502, - 502, 502, 461, 484, 936, 345, 936, 936, 169, 1171, - 562, 1171, 780, 588, 589, 1189, 55, 101, 126, 144, - 148, 170, 173, 188, 278, 329, 584, 582, 1177, 827, - 39, 868, 868, 503, 191, 502, 442, 638, 247, 621, - 638, 502, 736, 728, 502, 503, 506, 1169, 503, 374, - 30, 84, 87, 93, 121, 178, 191, 203, 393, 396, - 613, 613, 1168, 1171, 1171, 503, 996, 706, 155, 113, - 682, 174, 1171, 39, 1171, 646, 596, 1169, 503, 600, - 292, 1186, 635, 630, 634, 125, 140, 318, 1171, 65, - 73, 239, 996, 774, 1055, 813, 174, 731, 834, 503, - 506, 428, 146, 512, 846, 849, 1066, 388, 388, 503, - 263, 287, 719, 720, 721, 169, 724, 662, 269, 446, - 664, 665, 1171, 802, 169, 1102, 1111, 1139, 269, 480, - 60, 1015, 59, 129, 112, 1006, 1065, 1062, 502, 1102, - 503, 506, 39, 1072, 1073, 1186, 503, 1170, 1139, 503, - 502, 378, 502, 503, 506, 506, 39, 1020, 447, 1171, - 503, 506, 274, 440, 248, 273, 986, 798, 807, 561, - 814, 502, 851, 502, 565, 820, 1169, 851, 851, 1171, - 409, 191, 442, 563, 377, 977, 1171, 1143, 169, 758, - 758, 1143, 1143, 1101, 409, 1139, 1139, 572, 573, 1188, - 773, 774, 773, 774, 1170, 561, 503, 506, 495, 502, - 540, 590, 658, 933, 1177, 933, 273, 278, 329, 933, - 933, 1066, 868, 43, 196, 269, 616, 502, 654, 1101, - 202, 175, 308, 383, 288, 625, 626, 627, 503, 1174, - 6, 737, 687, 596, 629, 1171, 503, 682, 162, 757, - 566, 916, 1169, 465, 1045, 682, 996, 961, 630, 596, - 629, 605, 502, 636, 634, 635, 361, 361, 73, 291, - 73, 646, 812, 503, 1169, 732, 841, 852, 1078, 505, - 136, 461, 461, 720, 360, 406, 722, 141, 725, 457, - 727, 446, 662, 682, 561, 1101, 503, 503, 447, 1139, - 185, 330, 361, 1126, 166, 166, 618, 1069, 506, 1077, - 1189, 503, 506, 169, 1078, 503, 503, 1139, 502, 1139, - 1031, 1121, 1123, 1038, 996, 1066, 815, 377, 36, 987, - 248, 174, 618, 638, 861, 820, 821, 617, 638, 638, - 1171, 654, 1101, 409, 503, 294, 367, 334, 759, 759, - 503, 503, 503, 1171, 503, 503, 503, 506, 1176, 936, - 589, 540, 591, 592, 1177, 1177, 278, 618, 495, 618, - 1177, 1177, 204, 655, 503, 409, 125, 440, 288, 627, - 288, 626, 502, 503, 506, 571, 374, 682, 774, 39, - 39, 502, 1171, 916, 646, 634, 571, 630, 502, 632, - 633, 1106, 1186, 637, 635, 636, 291, 291, 502, 199, - 816, 169, 847, 31, 213, 903, 176, 176, 933, 360, - 392, 726, 502, 154, 53, 103, 431, 1101, 1127, 1128, - 1127, 1127, 503, 60, 60, 377, 503, 1103, 1073, 295, - 3, 120, 273, 278, 1074, 1075, 39, 1050, 344, 1060, - 503, 1030, 503, 980, 1101, 414, 987, 796, 503, 624, - 503, 821, 621, 732, 732, 977, 1171, 827, 60, 977, - 418, 572, 774, 503, 506, 618, 503, 397, 1171, 64, - 269, 349, 377, 628, 628, 503, 6, 374, 1171, 754, - 996, 682, 635, 630, 634, 1101, 503, 506, 818, 818, - 636, 637, 813, 502, 608, 141, 274, 502, 898, 900, - 904, 963, 972, 979, 996, 1007, 827, 827, 723, 1186, - 1101, 728, 1128, 360, 168, 316, 168, 316, 151, 1129, - 1129, 1129, 618, 618, 1186, 1115, 1102, 1102, 278, 1075, - 1186, 502, 503, 1066, 125, 136, 440, 988, 989, 414, - 561, 732, 625, 977, 774, 502, 592, 25, 120, 278, - 1171, 682, 916, 636, 634, 635, 503, 633, 774, 819, - 819, 637, 503, 815, 817, 566, 360, 899, 900, 901, - 997, 998, 506, 506, 503, 1174, 36, 103, 183, 269, - 415, 377, 377, 418, 442, 82, 1101, 274, 377, 136, - 212, 990, 732, 1139, 617, 617, 682, 637, 635, 636, - 818, 816, 503, 506, 637, 727, 503, 505, 418, 174, - 502, 1128, 360, 296, 1186, 1186, 1174, 1175, 1186, 1072, - 503, 980, 274, 120, 302, 448, 502, 991, 503, 636, - 637, 819, 608, 815, 1066, 154, 901, 388, 388, 5, - 729, 730, 1176, 1177, 1189, 502, 120, 503, 448, 966, - 502, 967, 637, 566, 728, 461, 461, 503, 506, 1140, - 1175, 447, 1139, 503, 637, 1174, 176, 176, 730, 1015, - 442, 991, 503, 302, 991, 1066, 502, 827, 827, 503, - 1186, 966, 729, 447, 503, 991 + 332, 333, 334, 336, 337, 338, 339, 340, 341, 342, + 343, 344, 346, 347, 348, 349, 350, 351, 352, 353, + 354, 355, 356, 357, 358, 359, 360, 361, 363, 364, + 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, + 375, 377, 378, 379, 380, 381, 382, 383, 384, 385, + 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, + 397, 398, 399, 400, 401, 403, 404, 405, 406, 407, + 408, 409, 410, 411, 412, 414, 415, 416, 417, 418, + 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 432, 433, 436, 437, 438, 439, 440, 441, + 442, 443, 445, 446, 447, 450, 451, 452, 453, 454, + 456, 457, 458, 459, 460, 461, 462, 463, 464, 467, + 468, 469, 470, 471, 474, 475, 476, 477, 478, 479, + 480, 482, 483, 484, 485, 486, 487, 490, 493, 494, + 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, + 505, 506, 507, 508, 509, 510, 511, 512, 1154, 1247, + 1259, 1260, 1264, 1265, 1266, 3, 31, 1036, 1244, 1259, + 1264, 483, 535, 989, 310, 344, 951, 56, 535, 622, + 25, 43, 68, 81, 116, 122, 140, 153, 162, 175, + 184, 188, 258, 312, 315, 338, 352, 380, 390, 400, + 420, 428, 438, 440, 442, 443, 458, 466, 469, 472, + 631, 690, 797, 852, 863, 31, 343, 1244, 1036, 31, + 337, 398, 440, 442, 6, 245, 905, 906, 1250, 25, + 30, 68, 81, 98, 116, 140, 153, 162, 175, 181, + 188, 208, 268, 312, 325, 338, 349, 352, 380, 383, + 387, 390, 397, 400, 420, 428, 435, 438, 443, 451, + 453, 458, 472, 485, 707, 810, 812, 813, 951, 1244, + 101, 483, 535, 685, 688, 691, 984, 997, 1001, 1004, + 1013, 1020, 1025, 1035, 1039, 11, 24, 31, 51, 170, + 177, 179, 203, 247, 285, 346, 366, 526, 527, 826, + 827, 1036, 1249, 1251, 31, 33, 101, 362, 396, 831, + 832, 833, 1259, 175, 1259, 1246, 1250, 435, 1053, 826, + 1259, 450, 1244, 325, 268, 535, 917, 388, 1259, 31, + 401, 446, 450, 572, 581, 582, 1259, 185, 831, 832, + 1259, 344, 951, 1259, 244, 31, 137, 1055, 1056, 69, + 95, 258, 279, 380, 390, 401, 446, 450, 498, 569, + 570, 571, 572, 31, 401, 446, 450, 572, 450, 311, + 1098, 1099, 1242, 1259, 1053, 528, 1259, 180, 535, 990, + 535, 360, 1045, 1046, 1244, 1045, 3, 55, 57, 58, + 71, 72, 119, 120, 141, 171, 220, 221, 223, 230, + 280, 282, 302, 357, 405, 411, 446, 447, 480, 1127, + 1129, 1131, 1133, 1135, 1137, 1138, 1139, 1141, 1142, 1143, + 1145, 1146, 1150, 1260, 1264, 1055, 1056, 1057, 1255, 12, + 1256, 1257, 1259, 1256, 1256, 1040, 1041, 1044, 0, 538, + 535, 989, 154, 222, 316, 465, 1058, 1059, 1040, 1042, + 1043, 127, 218, 270, 471, 539, 37, 955, 879, 1247, + 815, 1259, 815, 1244, 347, 815, 453, 1244, 115, 435, + 867, 1247, 1259, 1266, 3, 108, 112, 402, 1252, 1253, + 1261, 1264, 1265, 1266, 31, 197, 1242, 303, 485, 10, + 17, 18, 19, 76, 166, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 901, 903, 1185, 1186, 1259, 197, + 1244, 867, 1244, 31, 1252, 1253, 867, 1244, 1244, 197, + 1242, 1244, 197, 815, 1244, 372, 403, 31, 197, 1098, + 1244, 393, 1244, 815, 31, 265, 1252, 1253, 197, 1242, + 245, 124, 228, 294, 356, 952, 953, 954, 535, 533, + 537, 1211, 1213, 513, 983, 984, 985, 986, 1261, 1242, + 1244, 1259, 30, 68, 82, 94, 116, 140, 181, 208, + 246, 312, 349, 380, 383, 428, 438, 451, 458, 810, + 811, 812, 813, 1250, 955, 1000, 1004, 1013, 1020, 1025, + 1039, 1242, 272, 815, 535, 197, 815, 1244, 815, 453, + 197, 1244, 115, 435, 440, 442, 1252, 1253, 440, 442, + 76, 166, 901, 370, 1244, 1244, 1252, 197, 546, 1259, + 197, 1244, 197, 547, 815, 1244, 1244, 393, 815, 265, + 1252, 360, 397, 435, 485, 268, 98, 208, 30, 94, + 181, 349, 387, 451, 453, 457, 702, 31, 1244, 1037, + 579, 1250, 1261, 906, 272, 197, 879, 880, 197, 910, + 197, 1244, 197, 817, 1127, 453, 115, 435, 197, 866, + 867, 197, 1253, 1254, 89, 485, 76, 166, 197, 902, + 903, 61, 197, 866, 197, 1254, 197, 866, 197, 1244, + 197, 1244, 393, 910, 197, 817, 197, 265, 1254, 245, + 197, 814, 815, 197, 1243, 1244, 197, 1244, 955, 535, + 1002, 631, 997, 479, 983, 989, 1251, 827, 828, 31, + 828, 1251, 828, 31, 828, 1251, 828, 828, 828, 1251, + 1249, 1249, 1036, 828, 347, 535, 433, 535, 658, 658, + 658, 310, 448, 539, 658, 390, 1098, 1100, 539, 946, + 1250, 535, 999, 61, 485, 983, 116, 208, 390, 433, + 435, 915, 916, 1259, 50, 512, 228, 537, 313, 310, + 179, 313, 1250, 448, 955, 173, 823, 310, 5, 8, + 9, 10, 12, 39, 55, 57, 58, 67, 68, 71, + 72, 79, 81, 106, 107, 108, 109, 110, 111, 112, + 119, 120, 122, 159, 164, 165, 171, 187, 189, 220, + 221, 223, 230, 231, 232, 233, 234, 235, 236, 237, + 238, 240, 251, 259, 260, 271, 280, 282, 292, 294, + 299, 300, 302, 312, 323, 339, 357, 385, 402, 411, + 429, 434, 446, 447, 452, 454, 455, 466, 472, 480, + 500, 501, 502, 503, 505, 506, 507, 508, 514, 526, + 527, 528, 535, 1040, 1130, 1133, 1136, 1137, 1138, 1140, + 1141, 1142, 1145, 1146, 1150, 1151, 1153, 1154, 1155, 1157, + 1181, 1182, 1183, 1187, 1205, 1210, 1236, 1239, 1240, 1247, + 1248, 1249, 1250, 1259, 1238, 1239, 1250, 31, 587, 1241, + 1242, 401, 569, 122, 578, 1250, 12, 579, 12, 1250, + 50, 73, 569, 512, 412, 953, 313, 179, 448, 525, + 50, 512, 228, 954, 535, 1242, 528, 1213, 1100, 983, + 178, 991, 1151, 1190, 1045, 539, 535, 992, 482, 1144, + 1144, 1144, 535, 1132, 1132, 341, 535, 1134, 71, 72, + 1144, 1132, 1129, 516, 517, 535, 1147, 535, 1147, 39, + 1128, 535, 117, 195, 273, 276, 394, 510, 535, 1148, + 1149, 537, 816, 1132, 1238, 1214, 536, 536, 544, 983, + 993, 994, 995, 1242, 31, 137, 1054, 1054, 61, 1054, + 167, 173, 255, 306, 1062, 1064, 1065, 1080, 1082, 1083, + 1084, 1058, 1059, 179, 224, 224, 1098, 1101, 535, 70, + 290, 326, 368, 403, 535, 877, 326, 364, 368, 403, + 816, 326, 368, 403, 3, 93, 147, 261, 326, 364, + 368, 403, 438, 441, 492, 580, 583, 960, 961, 962, + 963, 847, 27, 142, 326, 368, 403, 476, 596, 1244, + 27, 142, 403, 471, 564, 496, 197, 1098, 64, 100, + 163, 200, 250, 290, 294, 326, 327, 368, 377, 386, + 395, 403, 416, 425, 430, 487, 580, 584, 883, 895, + 923, 535, 864, 1213, 368, 564, 203, 159, 27, 33, + 48, 78, 135, 142, 146, 174, 210, 290, 294, 304, + 314, 326, 368, 371, 372, 403, 476, 592, 594, 595, + 725, 923, 5, 526, 527, 699, 1251, 31, 197, 1242, + 815, 815, 535, 900, 326, 403, 537, 159, 310, 326, + 368, 403, 895, 923, 27, 142, 326, 368, 403, 203, + 559, 368, 492, 516, 552, 559, 326, 368, 403, 895, + 923, 310, 326, 368, 159, 40, 62, 114, 206, 264, + 269, 274, 290, 325, 368, 373, 397, 403, 418, 469, + 592, 696, 697, 326, 368, 484, 725, 733, 159, 326, + 368, 403, 27, 93, 135, 142, 146, 326, 364, 368, + 403, 410, 582, 570, 572, 203, 159, 48, 133, 290, + 368, 403, 592, 593, 326, 368, 372, 403, 91, 134, + 329, 441, 310, 27, 33, 142, 326, 368, 403, 612, + 613, 559, 173, 368, 552, 559, 159, 368, 403, 592, + 1244, 253, 124, 311, 497, 539, 952, 31, 137, 481, + 528, 536, 872, 1151, 1191, 1192, 1260, 1151, 1212, 3, + 31, 35, 36, 37, 38, 39, 40, 41, 45, 59, + 67, 68, 74, 80, 82, 94, 101, 106, 107, 108, + 110, 111, 112, 122, 124, 132, 137, 138, 144, 149, + 154, 165, 167, 173, 175, 179, 185, 188, 192, 203, + 212, 222, 224, 248, 249, 255, 259, 260, 294, 299, + 306, 310, 311, 315, 316, 335, 345, 362, 376, 396, + 402, 413, 431, 434, 435, 444, 448, 449, 455, 465, + 466, 472, 473, 481, 488, 489, 491, 492, 528, 1245, + 1262, 1264, 1265, 1266, 1267, 1211, 536, 539, 165, 310, + 455, 576, 579, 699, 987, 473, 980, 310, 879, 535, + 815, 1244, 1127, 867, 303, 76, 166, 903, 867, 867, + 173, 1127, 815, 1244, 1244, 536, 658, 1244, 74, 1127, + 294, 179, 535, 783, 552, 40, 974, 1244, 294, 552, + 496, 197, 1242, 552, 815, 815, 783, 469, 631, 310, + 173, 492, 891, 552, 294, 50, 566, 294, 458, 732, + 294, 992, 93, 326, 709, 91, 134, 329, 441, 40, + 783, 173, 197, 552, 485, 197, 1242, 197, 686, 1242, + 1242, 485, 815, 89, 548, 1247, 453, 1247, 1247, 1244, + 173, 1244, 707, 42, 56, 113, 217, 290, 392, 159, + 65, 374, 539, 549, 159, 535, 159, 552, 159, 539, + 549, 496, 159, 539, 549, 159, 539, 197, 814, 197, + 815, 197, 815, 159, 539, 549, 1254, 159, 549, 159, + 159, 549, 159, 549, 159, 91, 134, 329, 441, 173, + 159, 549, 159, 173, 197, 159, 539, 549, 159, 539, + 549, 159, 310, 1190, 435, 536, 997, 828, 1036, 828, + 1036, 828, 1036, 828, 1036, 828, 1036, 1036, 1036, 828, + 1036, 535, 659, 660, 1259, 659, 31, 116, 140, 175, + 181, 245, 246, 328, 349, 383, 390, 397, 435, 438, + 458, 836, 1241, 1254, 833, 1244, 203, 539, 1016, 1250, + 1127, 1194, 40, 1254, 548, 536, 548, 548, 548, 253, + 1259, 173, 836, 1254, 173, 388, 1259, 579, 310, 535, + 1214, 533, 1040, 1195, 1151, 1209, 535, 535, 173, 535, + 535, 1040, 535, 535, 535, 535, 535, 535, 535, 535, + 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, + 1151, 535, 535, 535, 535, 535, 535, 535, 535, 301, + 647, 535, 535, 535, 535, 535, 535, 535, 535, 1151, + 1151, 1151, 1040, 1151, 1190, 1213, 12, 1250, 12, 535, + 1250, 3, 10, 13, 17, 18, 19, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 150, 151, 152, 153, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 169, 170, 171, 172, + 174, 175, 176, 177, 178, 180, 181, 182, 183, 184, + 186, 187, 189, 190, 191, 193, 194, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 221, 223, 225, 226, 227, 228, 229, 230, + 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, + 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 253, 254, 256, 257, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, + 272, 274, 275, 277, 278, 279, 280, 281, 282, 283, + 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, + 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, + 304, 305, 307, 308, 309, 311, 312, 313, 314, 315, + 317, 318, 319, 320, 323, 324, 325, 326, 327, 328, + 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, + 339, 340, 342, 343, 344, 345, 346, 347, 348, 349, + 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, + 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, + 370, 371, 372, 373, 374, 375, 377, 378, 379, 380, + 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, + 391, 392, 393, 395, 396, 397, 398, 399, 400, 401, + 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, + 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, + 442, 443, 444, 445, 446, 447, 449, 450, 451, 452, + 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, + 463, 464, 466, 467, 468, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 483, 484, + 485, 486, 487, 488, 490, 495, 496, 497, 498, 499, + 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, + 511, 512, 514, 523, 524, 525, 526, 527, 528, 529, + 530, 531, 1185, 1187, 1189, 1263, 1268, 493, 1168, 322, + 1151, 168, 1169, 224, 539, 1051, 12, 535, 1250, 1213, + 1051, 125, 199, 588, 539, 73, 12, 122, 579, 40, + 3, 12, 122, 258, 577, 699, 1146, 1250, 1250, 96, + 139, 1163, 105, 12, 122, 573, 574, 576, 699, 122, + 573, 253, 1242, 97, 373, 819, 536, 989, 37, 47, + 54, 80, 198, 203, 226, 254, 312, 315, 408, 536, + 539, 1046, 1243, 40, 535, 1190, 1249, 1144, 1144, 39, + 1128, 446, 446, 1249, 1249, 533, 533, 1249, 448, 448, + 448, 535, 448, 1249, 1245, 537, 1132, 179, 1087, 15, + 525, 1211, 1258, 536, 539, 992, 1042, 1042, 1060, 1061, + 1151, 1042, 170, 285, 1071, 242, 290, 356, 406, 471, + 31, 1066, 1151, 526, 527, 1067, 1068, 1151, 1153, 1080, + 1081, 1065, 1064, 1062, 1063, 173, 1083, 304, 1085, 1062, + 1080, 1101, 1005, 1242, 1101, 40, 1259, 403, 1190, 70, + 448, 448, 390, 203, 215, 316, 319, 405, 481, 528, + 870, 871, 872, 874, 876, 878, 1127, 1260, 448, 484, + 448, 390, 448, 448, 390, 255, 448, 81, 448, 438, + 569, 326, 960, 962, 525, 964, 173, 185, 203, 378, + 848, 849, 74, 94, 294, 655, 656, 94, 122, 294, + 448, 94, 448, 122, 294, 390, 94, 135, 146, 326, + 368, 780, 390, 715, 30, 68, 140, 181, 312, 349, + 383, 451, 458, 810, 811, 1244, 159, 368, 403, 592, + 310, 699, 395, 250, 448, 1259, 448, 299, 699, 126, + 225, 390, 401, 450, 571, 815, 374, 403, 883, 896, + 130, 536, 865, 870, 448, 472, 438, 1242, 74, 82, + 94, 155, 175, 197, 345, 466, 638, 653, 654, 1259, + 82, 94, 920, 331, 310, 385, 387, 453, 94, 920, + 34, 371, 385, 387, 453, 385, 1242, 174, 210, 304, + 815, 535, 448, 448, 196, 535, 600, 25, 264, 438, + 469, 494, 600, 94, 539, 130, 5, 5, 326, 203, + 159, 368, 403, 592, 923, 473, 473, 291, 1127, 448, + 390, 535, 901, 1244, 1242, 448, 448, 390, 896, 130, + 109, 435, 436, 932, 933, 1099, 1242, 1259, 933, 448, + 448, 783, 933, 116, 403, 583, 448, 554, 583, 448, + 448, 390, 896, 130, 1242, 448, 448, 1242, 1129, 699, + 61, 698, 699, 699, 114, 269, 274, 61, 448, 552, + 278, 390, 552, 290, 697, 448, 448, 299, 1250, 725, + 815, 448, 448, 390, 420, 352, 1250, 352, 448, 352, + 448, 352, 783, 783, 438, 1098, 331, 331, 94, 448, + 920, 390, 448, 448, 600, 600, 815, 815, 815, 815, + 1242, 49, 478, 49, 49, 478, 448, 49, 448, 478, + 390, 535, 539, 583, 472, 741, 1253, 448, 554, 583, + 1242, 448, 920, 390, 326, 368, 356, 369, 399, 575, + 952, 1191, 1191, 1192, 536, 15, 16, 539, 1058, 1059, + 534, 540, 1242, 985, 1244, 1242, 226, 1127, 226, 310, + 226, 226, 699, 815, 815, 226, 226, 226, 1127, 226, + 226, 226, 310, 448, 179, 448, 616, 458, 535, 40, + 159, 815, 784, 785, 1262, 960, 1127, 310, 159, 712, + 1244, 294, 331, 535, 553, 797, 473, 360, 485, 1242, + 31, 933, 783, 553, 159, 1253, 101, 185, 567, 630, + 692, 755, 829, 851, 956, 159, 1250, 733, 734, 159, + 310, 1250, 1253, 261, 815, 815, 815, 815, 150, 355, + 535, 741, 294, 553, 1242, 294, 694, 696, 294, 40, + 304, 331, 535, 658, 658, 197, 689, 1242, 173, 197, + 546, 1259, 535, 787, 877, 1244, 535, 868, 868, 40, + 1127, 29, 52, 219, 756, 245, 492, 494, 1038, 392, + 880, 879, 1127, 1244, 535, 817, 1127, 866, 867, 1254, + 1253, 159, 549, 159, 473, 159, 473, 902, 903, 549, + 866, 1254, 866, 1244, 1244, 1127, 817, 1254, 741, 159, + 814, 815, 1243, 1244, 1244, 815, 536, 197, 1242, 997, + 1036, 1036, 1036, 1036, 1036, 1036, 659, 536, 539, 536, + 182, 350, 384, 398, 436, 1243, 814, 115, 400, 866, + 1243, 303, 834, 835, 1259, 866, 866, 1243, 1241, 1241, + 1243, 814, 448, 186, 492, 845, 154, 255, 738, 739, + 25, 157, 385, 406, 1017, 1098, 298, 1018, 536, 539, + 1000, 448, 1242, 1244, 1242, 546, 831, 832, 179, 845, + 832, 1259, 30, 82, 140, 181, 246, 349, 383, 458, + 810, 811, 1190, 534, 1190, 1195, 1196, 488, 1206, 1207, + 1151, 1190, 535, 1249, 1249, 3, 12, 117, 195, 273, + 276, 394, 510, 1197, 1198, 1250, 1190, 1190, 1151, 1224, + 376, 1040, 1041, 1224, 1228, 1235, 1224, 1224, 1151, 1153, + 1191, 1228, 1231, 1232, 1151, 1232, 1224, 1151, 1224, 1224, + 1190, 1249, 1249, 536, 1151, 1151, 901, 1151, 1191, 1193, + 1200, 385, 526, 527, 535, 1152, 1153, 1187, 1201, 536, + 1190, 1151, 1193, 1202, 1151, 59, 179, 249, 449, 1151, + 1190, 1203, 137, 294, 1040, 1190, 278, 1153, 1151, 1161, + 1162, 1163, 278, 1151, 1163, 536, 539, 1148, 1249, 1148, + 1127, 1151, 1151, 1151, 1151, 1262, 258, 446, 45, 431, + 1215, 815, 1151, 535, 1040, 1204, 137, 139, 165, 230, + 286, 287, 288, 289, 293, 294, 299, 455, 467, 1199, + 1229, 1151, 535, 1151, 448, 54, 198, 203, 254, 408, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 31, 38, 413, 1184, 188, 1169, 385, 535, 1181, 535, + 321, 1173, 184, 258, 435, 440, 442, 469, 1052, 1242, + 1240, 1087, 1191, 1087, 1242, 450, 535, 1250, 539, 536, + 196, 196, 549, 995, 984, 988, 1151, 536, 268, 294, + 1047, 1190, 536, 536, 533, 512, 512, 536, 536, 1249, + 534, 1249, 536, 195, 273, 1149, 273, 1149, 1149, 1249, + 276, 536, 1245, 230, 239, 248, 386, 509, 535, 1040, + 1088, 1089, 1090, 1098, 1104, 1114, 1121, 1154, 1156, 1157, + 1236, 1259, 489, 1109, 1255, 995, 993, 539, 41, 132, + 473, 860, 385, 386, 526, 527, 1068, 1070, 1153, 406, + 242, 311, 539, 5, 1069, 1249, 1069, 385, 386, 1070, + 1241, 298, 410, 1019, 1081, 1063, 473, 1014, 122, 324, + 535, 1006, 1039, 40, 473, 1259, 535, 1021, 1022, 1023, + 1259, 536, 1253, 1244, 1244, 319, 61, 1260, 536, 872, + 874, 871, 874, 1260, 316, 536, 539, 816, 1253, 1244, + 1244, 1253, 1244, 1244, 1253, 484, 1244, 1244, 122, 576, + 699, 380, 472, 831, 390, 185, 831, 535, 1244, 299, + 197, 1244, 299, 1253, 1244, 1244, 1151, 299, 1244, 1244, + 34, 371, 448, 448, 1244, 448, 716, 879, 535, 1127, + 867, 76, 166, 903, 867, 867, 173, 1127, 815, 1244, + 191, 290, 326, 368, 477, 719, 720, 721, 1098, 448, + 920, 390, 299, 126, 225, 1253, 1244, 310, 1244, 310, + 536, 539, 1252, 1254, 1244, 368, 592, 535, 197, 638, + 1244, 473, 853, 242, 294, 242, 473, 647, 680, 1127, + 1244, 1249, 1259, 1242, 1244, 253, 1244, 31, 472, 1244, + 197, 1244, 197, 1259, 387, 453, 387, 453, 253, 1244, + 31, 472, 1244, 253, 385, 1242, 27, 142, 403, 726, + 727, 728, 729, 1262, 1253, 1244, 122, 180, 295, 473, + 599, 602, 603, 1262, 272, 1244, 78, 307, 1244, 595, + 310, 448, 438, 1242, 448, 920, 390, 130, 1244, 1244, + 539, 536, 539, 1253, 1244, 926, 927, 1262, 310, 368, + 448, 749, 1253, 1244, 1244, 310, 1098, 203, 539, 658, + 658, 1213, 1253, 1244, 1244, 1252, 3, 93, 148, 210, + 333, 464, 472, 475, 555, 1253, 1244, 1244, 310, 368, + 1253, 1244, 368, 403, 592, 696, 699, 815, 1244, 699, + 815, 1244, 699, 1253, 1244, 403, 1253, 1244, 1244, 122, + 606, 1251, 1243, 1243, 1253, 891, 1244, 1243, 1244, 368, + 403, 592, 593, 1242, 1242, 1244, 1244, 1244, 1244, 1253, + 1244, 27, 33, 142, 326, 368, 403, 326, 368, 403, + 783, 368, 403, 368, 403, 368, 923, 1113, 1259, 197, + 793, 1259, 197, 1259, 1250, 1253, 1244, 1244, 1250, 1244, + 926, 27, 142, 613, 400, 1252, 368, 403, 592, 1244, + 1244, 1244, 448, 448, 87, 463, 356, 539, 1058, 1058, + 1058, 1151, 1151, 481, 1192, 536, 1151, 1212, 980, 299, + 821, 1250, 40, 821, 140, 815, 821, 821, 226, 473, + 473, 821, 821, 821, 245, 821, 821, 821, 815, 351, + 617, 617, 208, 435, 754, 1151, 1127, 815, 536, 539, + 525, 644, 1262, 1244, 65, 179, 390, 484, 713, 720, + 721, 159, 304, 254, 632, 634, 636, 638, 650, 653, + 28, 203, 380, 432, 555, 556, 173, 1244, 485, 1242, + 40, 750, 436, 891, 546, 1259, 566, 631, 863, 1244, + 175, 815, 535, 682, 683, 1156, 1259, 352, 1250, 783, + 783, 783, 783, 535, 783, 1111, 1112, 1113, 400, 159, + 535, 159, 159, 158, 1039, 815, 304, 632, 1259, 473, + 675, 492, 601, 294, 40, 658, 1250, 294, 310, 3, + 788, 789, 783, 29, 536, 869, 870, 875, 40, 245, + 377, 451, 491, 881, 882, 883, 884, 881, 310, 245, + 304, 127, 218, 456, 471, 757, 758, 1244, 194, 194, + 173, 549, 40, 552, 174, 968, 969, 549, 549, 814, + 815, 1244, 815, 1244, 549, 549, 549, 549, 245, 549, + 400, 173, 549, 549, 310, 549, 294, 536, 660, 203, + 203, 203, 203, 203, 496, 1243, 699, 700, 539, 537, + 188, 837, 838, 1253, 61, 842, 843, 1262, 448, 535, + 179, 157, 406, 157, 406, 385, 471, 275, 1127, 1253, + 492, 687, 310, 837, 549, 179, 879, 815, 1127, 867, + 303, 867, 867, 1127, 815, 1244, 536, 534, 534, 539, + 1151, 144, 1207, 1208, 40, 536, 1151, 536, 536, 179, + 536, 179, 536, 536, 513, 1225, 1226, 492, 494, 1230, + 1127, 1226, 536, 23, 299, 539, 1234, 316, 1237, 539, + 540, 478, 536, 536, 23, 299, 539, 1233, 1233, 539, + 536, 1228, 539, 536, 536, 536, 536, 539, 539, 536, + 335, 536, 536, 535, 1152, 1152, 1190, 13, 17, 18, + 19, 203, 226, 312, 523, 524, 525, 526, 527, 528, + 529, 530, 531, 1187, 1152, 536, 536, 173, 179, 408, + 536, 536, 40, 1203, 1190, 1203, 1203, 179, 536, 137, + 536, 1262, 332, 1166, 40, 536, 539, 1151, 1262, 539, + 1151, 1214, 1151, 536, 512, 1152, 1152, 152, 1190, 179, + 39, 303, 389, 478, 137, 139, 165, 293, 299, 455, + 467, 1199, 1229, 293, 1230, 152, 901, 1151, 431, 1215, + 1151, 1204, 1151, 448, 535, 1040, 535, 1173, 535, 1190, + 489, 535, 1174, 1259, 440, 442, 440, 442, 1242, 1053, + 1053, 1053, 1109, 1058, 1109, 953, 1249, 1148, 574, 995, + 268, 535, 536, 1249, 1147, 1147, 534, 534, 536, 535, + 1040, 1104, 1114, 1121, 179, 535, 1040, 1089, 1090, 40, + 1091, 1092, 1259, 539, 102, 180, 214, 229, 252, 281, + 379, 1095, 1092, 40, 1091, 1094, 1259, 1092, 1092, 516, + 1108, 1213, 1151, 188, 1072, 1061, 312, 1185, 1188, 515, + 861, 5, 1249, 1070, 311, 492, 471, 1067, 263, 1088, + 489, 1110, 479, 433, 472, 1007, 1008, 1009, 1259, 310, + 1010, 1259, 1089, 1023, 1024, 539, 1087, 525, 1214, 878, + 816, 874, 874, 61, 876, 530, 1254, 1254, 310, 1243, + 313, 310, 1151, 656, 773, 159, 549, 448, 1253, 1244, + 579, 1127, 815, 815, 1127, 703, 1244, 191, 477, 448, + 448, 703, 719, 725, 368, 403, 592, 1244, 1244, 1244, + 216, 299, 162, 870, 325, 403, 448, 1151, 294, 155, + 654, 1244, 535, 535, 159, 535, 680, 208, 535, 773, + 423, 642, 643, 773, 403, 27, 142, 372, 373, 403, + 596, 604, 605, 725, 921, 395, 159, 549, 159, 549, + 1244, 1244, 1244, 1244, 395, 395, 253, 728, 729, 728, + 536, 539, 730, 1250, 208, 536, 539, 525, 537, 122, + 607, 1259, 162, 1253, 1244, 368, 403, 592, 1244, 1244, + 1244, 310, 326, 368, 403, 27, 142, 326, 368, 403, + 1127, 291, 1127, 536, 539, 525, 1242, 448, 1254, 473, + 746, 162, 658, 390, 932, 489, 665, 665, 658, 255, + 333, 12, 299, 1250, 333, 1254, 470, 162, 448, 448, + 390, 420, 891, 891, 891, 325, 403, 94, 448, 920, + 390, 122, 173, 608, 169, 548, 448, 448, 265, 265, + 265, 448, 448, 390, 448, 448, 390, 448, 390, 448, + 390, 448, 130, 549, 1127, 294, 1250, 403, 921, 159, + 549, 448, 448, 536, 1244, 448, 920, 390, 448, 1253, + 1244, 536, 536, 536, 1192, 534, 1127, 815, 226, 821, + 1244, 1244, 1244, 226, 421, 422, 618, 1250, 618, 191, + 536, 536, 179, 783, 785, 291, 312, 526, 527, 699, + 786, 874, 1188, 1250, 1267, 74, 80, 94, 122, 124, + 183, 212, 294, 299, 345, 362, 466, 645, 646, 649, + 158, 488, 552, 579, 1244, 579, 314, 723, 1242, 1242, + 1242, 536, 539, 1254, 188, 380, 1254, 1249, 458, 1242, + 658, 3, 173, 751, 891, 50, 566, 435, 732, 115, + 992, 1151, 179, 539, 1243, 601, 790, 791, 1250, 536, + 539, 1244, 173, 659, 1242, 686, 1242, 1244, 687, 535, + 633, 1242, 536, 1244, 492, 494, 676, 600, 40, 159, + 1039, 675, 448, 159, 1098, 525, 536, 539, 757, 536, + 539, 122, 525, 885, 1250, 579, 435, 873, 874, 173, + 890, 53, 375, 886, 887, 884, 887, 127, 218, 396, + 471, 943, 1244, 304, 310, 315, 191, 1039, 1127, 535, + 536, 539, 549, 473, 549, 473, 549, 1244, 1244, 741, + 815, 159, 390, 390, 390, 390, 390, 1243, 539, 835, + 1259, 1253, 492, 539, 839, 1253, 539, 845, 165, 313, + 455, 844, 1100, 400, 157, 157, 115, 290, 836, 845, + 1254, 226, 226, 226, 226, 699, 226, 226, 226, 226, + 226, 1195, 444, 1151, 149, 1127, 536, 1151, 1151, 230, + 466, 466, 536, 1226, 1228, 310, 310, 1224, 1228, 61, + 1234, 1151, 1224, 1224, 310, 310, 1232, 1230, 1230, 1151, + 536, 1151, 1199, 1151, 1151, 536, 1190, 539, 1127, 1152, + 1152, 1152, 1152, 137, 139, 294, 1152, 1152, 1152, 1152, + 1152, 1152, 1152, 1152, 1152, 1152, 1151, 1151, 1151, 1127, + 536, 536, 536, 1190, 536, 539, 61, 1153, 1167, 536, + 1262, 1162, 342, 427, 1165, 536, 539, 484, 1158, 40, + 536, 12, 1250, 1151, 37, 37, 1151, 536, 1151, 179, + 293, 1230, 1151, 536, 152, 1152, 1152, 152, 152, 1151, + 1151, 1059, 536, 1190, 539, 1151, 1175, 1259, 1053, 1053, + 1053, 1053, 1242, 1242, 1242, 1072, 536, 1072, 536, 1000, + 534, 1224, 1092, 1094, 1092, 1092, 535, 504, 1153, 536, + 1259, 535, 1089, 229, 320, 1096, 1089, 1096, 229, 1095, + 1096, 229, 437, 1102, 535, 1259, 535, 317, 61, 192, + 1079, 535, 861, 170, 247, 311, 492, 445, 105, 1151, + 376, 1012, 478, 536, 539, 1214, 92, 1012, 310, 536, + 539, 1022, 1110, 1151, 536, 530, 878, 458, 182, 384, + 391, 398, 436, 459, 850, 173, 850, 536, 124, 212, + 290, 294, 774, 1244, 1244, 40, 473, 473, 245, 816, + 1253, 1244, 448, 920, 390, 448, 216, 1244, 61, 438, + 1244, 536, 159, 535, 663, 664, 856, 1156, 1259, 659, + 638, 659, 773, 1244, 659, 122, 1259, 88, 640, 641, + 420, 183, 161, 196, 294, 600, 552, 115, 161, 183, + 294, 420, 600, 640, 642, 697, 403, 605, 458, 1244, + 1259, 395, 727, 1244, 603, 786, 1262, 1244, 325, 403, + 448, 920, 390, 448, 162, 448, 448, 390, 181, 312, + 423, 795, 796, 181, 312, 803, 804, 448, 448, 390, + 536, 536, 536, 927, 291, 699, 874, 928, 1188, 1250, + 1267, 368, 1244, 535, 492, 747, 1244, 665, 109, 1259, + 535, 665, 1251, 12, 1250, 1250, 1250, 1244, 1244, 1244, + 1244, 606, 61, 438, 1244, 1244, 1244, 1244, 479, 1244, + 1244, 173, 173, 370, 173, 197, 1253, 1244, 1244, 1253, + 1244, 1244, 1244, 1244, 1244, 1244, 1244, 310, 80, 597, + 159, 29, 52, 458, 1259, 1244, 1250, 725, 1244, 1244, + 1244, 1244, 1058, 536, 226, 821, 226, 226, 226, 821, + 552, 473, 623, 624, 703, 773, 492, 494, 815, 535, + 815, 1244, 1152, 34, 61, 648, 125, 199, 124, 299, + 242, 1242, 647, 181, 349, 769, 776, 777, 1259, 712, + 535, 331, 535, 633, 651, 211, 670, 636, 1254, 1254, + 1127, 535, 601, 31, 127, 218, 396, 471, 752, 448, + 748, 1253, 197, 1242, 734, 496, 310, 536, 1088, 683, + 891, 536, 539, 1113, 723, 741, 536, 694, 40, 304, + 331, 535, 1002, 635, 637, 639, 653, 1259, 331, 671, + 672, 633, 670, 600, 307, 310, 677, 1039, 689, 687, + 601, 1250, 1244, 853, 786, 3, 789, 310, 875, 1151, + 1151, 539, 535, 881, 458, 539, 46, 1151, 448, 535, + 659, 1242, 758, 703, 536, 968, 969, 1244, 1244, 549, + 400, 549, 1243, 1243, 1243, 1243, 1243, 699, 185, 838, + 845, 843, 536, 1244, 115, 179, 549, 845, 299, 824, + 1250, 824, 824, 824, 226, 824, 824, 824, 824, 824, + 1151, 536, 147, 243, 243, 536, 299, 299, 536, 1060, + 1228, 332, 1216, 299, 299, 1228, 1228, 1216, 1216, 536, + 536, 179, 536, 1151, 179, 137, 139, 179, 173, 152, + 536, 499, 1160, 1190, 361, 478, 61, 1167, 1153, 490, + 490, 536, 1151, 290, 1151, 539, 1159, 1129, 1151, 1151, + 1151, 1151, 37, 37, 1151, 1151, 152, 536, 536, 536, + 1151, 536, 331, 1176, 1242, 1242, 1242, 1242, 1079, 12, + 1250, 1079, 1250, 536, 539, 1105, 1106, 1156, 535, 1166, + 1091, 535, 1243, 1089, 310, 473, 1097, 1089, 229, 1089, + 1247, 1112, 535, 1112, 1259, 1054, 1151, 491, 1170, 901, + 445, 304, 1239, 1039, 324, 1039, 1009, 310, 535, 1011, + 1151, 525, 1023, 1012, 458, 536, 448, 831, 179, 773, + 125, 199, 210, 124, 475, 549, 1127, 1244, 1244, 1244, + 1244, 1244, 1244, 1244, 1254, 1244, 773, 638, 1151, 536, + 539, 492, 80, 855, 859, 855, 536, 536, 536, 122, + 1259, 723, 606, 648, 197, 197, 299, 699, 40, 648, + 299, 606, 1127, 549, 549, 525, 61, 438, 1244, 1244, + 1244, 1244, 1244, 1253, 1244, 1244, 1249, 1249, 1127, 539, + 1249, 1249, 539, 1253, 1244, 1244, 448, 1151, 74, 1151, + 1254, 1244, 448, 448, 179, 203, 492, 1243, 1243, 815, + 1243, 159, 162, 815, 1250, 1250, 1127, 549, 549, 448, + 536, 226, 821, 821, 821, 821, 535, 619, 620, 552, + 129, 181, 215, 181, 1151, 294, 646, 122, 40, 891, + 658, 891, 1247, 37, 158, 203, 724, 728, 304, 632, + 608, 156, 205, 535, 400, 473, 659, 40, 1254, 746, + 566, 294, 535, 175, 1244, 682, 1250, 400, 601, 158, + 1039, 815, 304, 632, 687, 536, 539, 492, 644, 61, + 675, 608, 671, 86, 438, 678, 492, 957, 40, 678, + 179, 310, 535, 1242, 1250, 872, 892, 893, 1260, 887, + 1127, 173, 888, 1242, 179, 448, 912, 363, 759, 213, + 704, 549, 536, 549, 549, 1244, 313, 224, 837, 549, + 824, 1244, 536, 1217, 1218, 1224, 122, 145, 151, 165, + 299, 455, 467, 1220, 1221, 1223, 536, 536, 1228, 1228, + 1151, 536, 1152, 179, 1151, 1151, 1151, 535, 536, 539, + 536, 1167, 536, 478, 417, 536, 207, 290, 1164, 1151, + 1151, 1151, 536, 61, 1058, 1170, 1170, 393, 1048, 1151, + 536, 539, 40, 1107, 122, 1119, 1120, 1152, 83, 1243, + 536, 1151, 535, 1089, 1097, 535, 536, 1112, 536, 104, + 189, 382, 535, 1073, 1074, 1075, 1076, 1077, 1078, 1151, + 1171, 1172, 1259, 1058, 536, 1036, 1007, 94, 854, 856, + 138, 488, 1026, 1027, 1028, 1029, 1151, 837, 310, 837, + 536, 448, 403, 1018, 536, 204, 661, 664, 312, 901, + 815, 547, 815, 362, 661, 661, 644, 40, 159, 159, + 535, 597, 786, 1254, 1244, 448, 535, 867, 901, 903, + 796, 535, 535, 804, 1244, 536, 535, 536, 403, 1018, + 1244, 1244, 535, 535, 535, 492, 516, 977, 370, 977, + 977, 173, 1244, 597, 1244, 821, 625, 626, 1262, 56, + 103, 128, 147, 152, 174, 178, 193, 299, 353, 621, + 619, 1250, 867, 40, 908, 908, 536, 196, 535, 473, + 679, 266, 662, 679, 535, 777, 769, 535, 536, 539, + 1242, 536, 400, 31, 85, 88, 95, 123, 183, 196, + 209, 420, 423, 652, 652, 1241, 1244, 1244, 536, 1039, + 747, 159, 115, 723, 179, 1244, 40, 1244, 687, 633, + 1242, 536, 637, 314, 1259, 676, 671, 675, 127, 142, + 342, 1244, 66, 74, 258, 1039, 815, 1098, 854, 179, + 772, 874, 536, 539, 458, 149, 545, 886, 889, 1109, + 415, 415, 536, 284, 308, 760, 761, 762, 173, 765, + 703, 290, 477, 705, 706, 1244, 845, 539, 40, 1151, + 39, 303, 310, 536, 492, 494, 1219, 1220, 1222, 173, + 1152, 1161, 1190, 290, 511, 207, 536, 1190, 190, 355, + 386, 1177, 60, 131, 114, 1049, 40, 1122, 1108, 1105, + 535, 1152, 536, 539, 40, 1115, 1116, 1259, 536, 1243, + 1190, 536, 535, 404, 535, 536, 539, 539, 40, 1063, + 478, 1244, 536, 539, 295, 471, 267, 294, 1012, 1027, + 37, 1030, 1030, 839, 850, 549, 1244, 438, 855, 535, + 891, 535, 860, 600, 1242, 891, 891, 196, 1151, 473, + 598, 403, 1018, 1244, 1194, 173, 799, 799, 1194, 1194, + 1151, 438, 1190, 1190, 609, 610, 1261, 814, 815, 814, + 815, 1243, 549, 536, 539, 122, 528, 535, 576, 627, + 699, 974, 1250, 974, 294, 299, 353, 974, 974, 1109, + 908, 44, 201, 290, 657, 535, 695, 1151, 208, 180, + 330, 409, 310, 666, 667, 668, 536, 1247, 6, 778, + 728, 633, 670, 1244, 536, 723, 166, 798, 601, 957, + 1242, 496, 1088, 723, 1039, 1002, 671, 633, 670, 644, + 535, 677, 675, 676, 386, 386, 74, 313, 74, 687, + 853, 536, 1242, 773, 881, 892, 1127, 538, 138, 492, + 492, 761, 385, 435, 763, 143, 766, 488, 768, 477, + 703, 723, 549, 1218, 1262, 151, 39, 90, 462, 496, + 39, 496, 241, 309, 1227, 310, 536, 1151, 536, 536, + 478, 54, 105, 461, 1151, 1178, 1179, 1178, 1178, 536, + 170, 170, 659, 1244, 1216, 1112, 539, 1120, 1262, 536, + 539, 173, 1127, 536, 536, 1190, 535, 1190, 1074, 1172, + 1174, 1081, 1039, 1109, 856, 403, 267, 1151, 444, 444, + 179, 1244, 659, 679, 901, 861, 860, 658, 679, 679, + 695, 536, 1151, 438, 536, 316, 393, 359, 800, 800, + 536, 536, 536, 1244, 536, 536, 536, 539, 1249, 977, + 626, 576, 628, 629, 1250, 1250, 299, 528, 659, 528, + 659, 1250, 1250, 210, 696, 536, 438, 127, 471, 310, + 668, 310, 667, 535, 536, 539, 608, 400, 723, 815, + 40, 40, 535, 1244, 957, 687, 675, 608, 671, 535, + 673, 674, 1156, 1259, 678, 676, 677, 313, 313, 535, + 204, 857, 173, 887, 32, 219, 944, 181, 181, 974, + 385, 419, 767, 535, 158, 496, 39, 496, 39, 496, + 496, 354, 354, 1222, 145, 151, 1179, 385, 172, 340, + 172, 340, 155, 1180, 1180, 1180, 61, 61, 403, 83, + 536, 1153, 1116, 317, 3, 122, 294, 299, 334, 1117, + 1118, 40, 1093, 369, 1103, 536, 1073, 536, 1021, 61, + 127, 138, 471, 1031, 1032, 138, 218, 1033, 837, 1018, + 536, 665, 536, 861, 662, 773, 773, 1244, 867, 61, + 1018, 448, 609, 815, 536, 539, 528, 659, 536, 424, + 1244, 65, 290, 374, 403, 669, 669, 536, 6, 400, + 1244, 795, 1039, 723, 676, 671, 675, 1151, 536, 539, + 859, 859, 677, 678, 854, 535, 647, 143, 295, 535, + 939, 941, 945, 1004, 1013, 1020, 1039, 1050, 867, 867, + 764, 1259, 1151, 769, 496, 496, 310, 310, 536, 1220, + 37, 105, 188, 290, 445, 659, 659, 1259, 535, 1166, + 1152, 1152, 299, 1152, 1118, 1259, 535, 536, 1109, 414, + 439, 295, 403, 295, 122, 324, 479, 535, 1034, 549, + 773, 666, 1018, 815, 535, 629, 26, 122, 299, 1244, + 723, 957, 677, 675, 676, 536, 674, 547, 547, 678, + 536, 856, 858, 601, 385, 940, 941, 942, 1040, 1041, + 539, 539, 536, 1247, 389, 389, 310, 1179, 385, 318, + 403, 403, 448, 473, 283, 1123, 1124, 1259, 83, 1151, + 1021, 479, 1007, 535, 1008, 773, 1190, 658, 658, 723, + 678, 676, 677, 859, 857, 536, 539, 678, 768, 536, + 538, 448, 179, 535, 426, 426, 151, 1259, 1259, 230, + 1247, 1248, 1259, 334, 1125, 536, 539, 173, 1127, 1115, + 536, 478, 1190, 536, 536, 677, 678, 547, 647, 856, + 1109, 158, 942, 415, 415, 5, 770, 771, 1249, 1250, + 1262, 535, 122, 1250, 1223, 1124, 317, 159, 334, 1126, + 1225, 536, 1034, 536, 324, 1034, 678, 601, 769, 492, + 492, 536, 539, 1191, 1248, 40, 83, 536, 1126, 1250, + 1219, 1126, 1007, 678, 1247, 181, 181, 771, 1058, 473, + 1244, 535, 1223, 1227, 1219, 478, 1109, 535, 867, 867, + 536, 1259, 83, 1123, 1222, 1227, 1034, 770, 535, 536, + 1222, 536, 1123, 536 }; #define yyerrok (yyerrstatus = 0) @@ -29644,7 +32343,7 @@ YYLTYPE yylloc; switch (yyn) { case 2: -#line 863 "gram.y" +#line 924 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list); (void) yynerrs; /* suppress compiler warning */ @@ -29652,14 +32351,14 @@ YYLTYPE yylloc; break; case 3: -#line 868 "gram.y" +#line 929 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[(2) - (2)].typnam)); ;} break; case 4: -#line 872 "gram.y" +#line 933 "gram.y" { pg_yyget_extra(yyscanner)->parsetree = list_make1(makeRawStmt((yyvsp[(2) - (2)].node), 0)); @@ -29667,7 +32366,7 @@ YYLTYPE yylloc; break; case 5: -#line 877 "gram.y" +#line 938 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -29678,7 +32377,7 @@ YYLTYPE yylloc; break; case 6: -#line 885 "gram.y" +#line 946 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -29689,7 +32388,7 @@ YYLTYPE yylloc; break; case 7: -#line 893 "gram.y" +#line 954 "gram.y" { PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node); @@ -29700,7 +32399,7 @@ YYLTYPE yylloc; break; case 8: -#line 913 "gram.y" +#line 974 "gram.y" { if ((yyvsp[(1) - (3)].list) != NIL) { @@ -29715,7 +32414,7 @@ YYLTYPE yylloc; break; case 9: -#line 925 "gram.y" +#line 986 "gram.y" { if ((yyvsp[(1) - (1)].node) != NULL) (yyval.list) = list_make1(makeRawStmt((yyvsp[(1) - (1)].node), 0)); @@ -29725,12 +32424,57 @@ YYLTYPE yylloc; break; case 136: -#line 1068 "gram.y" +#line 1129 "gram.y" { (yyval.node) = NULL; ;} break; case 137: -#line 1078 "gram.y" +#line 1136 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + break; + + case 138: +#line 1137 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 139: +#line 1141 "gram.y" + { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + break; + + case 140: +#line 1142 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 141: +#line 1146 "gram.y" + { (yyval.boolean) = true; ;} + break; + + case 142: +#line 1147 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 143: +#line 1151 "gram.y" + { (yyval.dbehavior) = DROP_CASCADE; ;} + break; + + case 144: +#line 1152 "gram.y" + { (yyval.dbehavior) = DROP_RESTRICT; ;} + break; + + case 145: +#line 1153 "gram.y" + { (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;} + break; + + case 146: +#line 1163 "gram.y" { CallStmt *n = makeNode(CallStmt); @@ -29739,8 +32483,8 @@ YYLTYPE yylloc; ;} break; - case 138: -#line 1094 "gram.y" + case 147: +#line 1179 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -29751,51 +32495,51 @@ YYLTYPE yylloc; ;} break; - case 142: -#line 1116 "gram.y" + case 151: +#line 1201 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 143: -#line 1117 "gram.y" + case 152: +#line 1202 "gram.y" { (yyval.list) = NIL; ;} break; - case 144: -#line 1121 "gram.y" + case 153: +#line 1206 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 145: -#line 1122 "gram.y" + case 154: +#line 1207 "gram.y" { (yyval.list) = NIL; ;} break; - case 146: -#line 1127 "gram.y" + case 155: +#line 1212 "gram.y" { (yyval.defelt) = makeDefElem("password", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 147: -#line 1132 "gram.y" + case 156: +#line 1217 "gram.y" { (yyval.defelt) = makeDefElem("password", (Node *)makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 148: -#line 1137 "gram.y" + case 157: +#line 1222 "gram.y" { (yyval.defelt) = makeDefElem("password", NULL, (yylsp[(1) - (2)])); ;} break; - case 149: -#line 1141 "gram.y" + case 158: +#line 1226 "gram.y" { /* * These days, passwords are always stored in encrypted @@ -29807,8 +32551,8 @@ YYLTYPE yylloc; ;} break; - case 150: -#line 1151 "gram.y" + case 159: +#line 1236 "gram.y" { /* * These days, passwords are always stored in encrypted @@ -29820,8 +32564,8 @@ YYLTYPE yylloc; ;} break; - case 151: -#line 1161 "gram.y" + case 160: +#line 1246 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -29831,36 +32575,36 @@ YYLTYPE yylloc; ;} break; - case 152: -#line 1169 "gram.y" + case 161: +#line 1254 "gram.y" { (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 153: -#line 1173 "gram.y" + case 162: +#line 1258 "gram.y" { (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)])); ;} break; - case 154: -#line 1177 "gram.y" + case 163: +#line 1262 "gram.y" { (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 155: -#line 1182 "gram.y" + case 164: +#line 1267 "gram.y" { (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 156: -#line 1186 "gram.y" + case 165: +#line 1271 "gram.y" { /* * We handle identifiers that aren't parser keywords with @@ -29907,48 +32651,48 @@ YYLTYPE yylloc; ;} break; - case 157: -#line 1233 "gram.y" + case 166: +#line 1318 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; - case 158: -#line 1236 "gram.y" + case 167: +#line 1321 "gram.y" { (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)])); ;} break; - case 159: -#line 1240 "gram.y" + case 168: +#line 1325 "gram.y" { (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 160: -#line 1244 "gram.y" + case 169: +#line 1329 "gram.y" { (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 161: -#line 1248 "gram.y" + case 170: +#line 1333 "gram.y" { (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 162: -#line 1252 "gram.y" + case 171: +#line 1337 "gram.y" { (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 163: -#line 1266 "gram.y" + case 172: +#line 1351 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -29959,8 +32703,8 @@ YYLTYPE yylloc; ;} break; - case 164: -#line 1285 "gram.y" + case 173: +#line 1370 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -29971,8 +32715,8 @@ YYLTYPE yylloc; ;} break; - case 165: -#line 1294 "gram.y" + case 174: +#line 1379 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -29983,18 +32727,18 @@ YYLTYPE yylloc; ;} break; - case 166: -#line 1305 "gram.y" + case 175: +#line 1390 "gram.y" { (yyval.str) = NULL; ;} break; - case 167: -#line 1306 "gram.y" + case 176: +#line 1391 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].str); ;} break; - case 168: -#line 1311 "gram.y" + case 177: +#line 1396 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -30005,8 +32749,8 @@ YYLTYPE yylloc; ;} break; - case 169: -#line 1320 "gram.y" + case 178: +#line 1405 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -30017,8 +32761,8 @@ YYLTYPE yylloc; ;} break; - case 170: -#line 1329 "gram.y" + case 179: +#line 1414 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -30029,8 +32773,8 @@ YYLTYPE yylloc; ;} break; - case 171: -#line 1338 "gram.y" + case 180: +#line 1423 "gram.y" { AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt); @@ -30041,8 +32785,8 @@ YYLTYPE yylloc; ;} break; - case 172: -#line 1360 "gram.y" + case 181: +#line 1445 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30052,8 +32796,8 @@ YYLTYPE yylloc; ;} break; - case 173: -#line 1368 "gram.y" + case 182: +#line 1453 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30063,8 +32807,8 @@ YYLTYPE yylloc; ;} break; - case 174: -#line 1376 "gram.y" + case 183: +#line 1461 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30074,8 +32818,8 @@ YYLTYPE yylloc; ;} break; - case 175: -#line 1384 "gram.y" + case 184: +#line 1469 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30085,8 +32829,8 @@ YYLTYPE yylloc; ;} break; - case 176: -#line 1392 "gram.y" + case 185: +#line 1477 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30096,8 +32840,8 @@ YYLTYPE yylloc; ;} break; - case 177: -#line 1400 "gram.y" + case 186: +#line 1485 "gram.y" { DropRoleStmt *n = makeNode(DropRoleStmt); @@ -30107,8 +32851,8 @@ YYLTYPE yylloc; ;} break; - case 178: -#line 1418 "gram.y" + case 187: +#line 1503 "gram.y" { CreateRoleStmt *n = makeNode(CreateRoleStmt); @@ -30119,8 +32863,8 @@ YYLTYPE yylloc; ;} break; - case 179: -#line 1437 "gram.y" + case 188: +#line 1522 "gram.y" { AlterRoleStmt *n = makeNode(AlterRoleStmt); @@ -30132,18 +32876,18 @@ YYLTYPE yylloc; ;} break; - case 180: -#line 1448 "gram.y" + case 189: +#line 1533 "gram.y" { (yyval.ival) = +1; ;} break; - case 181: -#line 1449 "gram.y" + case 190: +#line 1534 "gram.y" { (yyval.ival) = -1; ;} break; - case 182: -#line 1461 "gram.y" + case 191: +#line 1546 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -30156,8 +32900,8 @@ YYLTYPE yylloc; ;} break; - case 183: -#line 1472 "gram.y" + case 192: +#line 1557 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -30170,8 +32914,8 @@ YYLTYPE yylloc; ;} break; - case 184: -#line 1483 "gram.y" + case 193: +#line 1568 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -30189,8 +32933,8 @@ YYLTYPE yylloc; ;} break; - case 185: -#line 1499 "gram.y" + case 194: +#line 1584 "gram.y" { CreateSchemaStmt *n = makeNode(CreateSchemaStmt); @@ -30208,18 +32952,8 @@ YYLTYPE yylloc; ;} break; - case 186: -#line 1517 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} - break; - - case 187: -#line 1518 "gram.y" - { (yyval.str) = NULL; ;} - break; - - case 188: -#line 1523 "gram.y" + case 195: +#line 1603 "gram.y" { if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */ (yyloc) = (yylsp[(2) - (2)]); @@ -30227,13 +32961,13 @@ YYLTYPE yylloc; ;} break; - case 189: -#line 1529 "gram.y" + case 196: +#line 1609 "gram.y" { (yyval.list) = NIL; ;} break; - case 196: -#line 1557 "gram.y" + case 203: +#line 1637 "gram.y" { VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt); @@ -30242,8 +32976,8 @@ YYLTYPE yylloc; ;} break; - case 197: -#line 1564 "gram.y" + case 204: +#line 1644 "gram.y" { VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); @@ -30252,8 +32986,8 @@ YYLTYPE yylloc; ;} break; - case 198: -#line 1571 "gram.y" + case 205: +#line 1651 "gram.y" { VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt); @@ -30262,8 +32996,8 @@ YYLTYPE yylloc; ;} break; - case 199: -#line 1581 "gram.y" + case 206: +#line 1661 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30274,8 +33008,8 @@ YYLTYPE yylloc; ;} break; - case 200: -#line 1590 "gram.y" + case 207: +#line 1670 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30286,8 +33020,8 @@ YYLTYPE yylloc; ;} break; - case 202: -#line 1603 "gram.y" + case 209: +#line 1683 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30298,8 +33032,8 @@ YYLTYPE yylloc; ;} break; - case 203: -#line 1612 "gram.y" + case 210: +#line 1692 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30310,8 +33044,8 @@ YYLTYPE yylloc; ;} break; - case 204: -#line 1621 "gram.y" + case 211: +#line 1701 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30321,8 +33055,8 @@ YYLTYPE yylloc; ;} break; - case 205: -#line 1629 "gram.y" + case 212: +#line 1709 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30332,13 +33066,13 @@ YYLTYPE yylloc; ;} break; - case 206: -#line 1639 "gram.y" + case 213: +#line 1719 "gram.y" {(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;} break; - case 207: -#line 1641 "gram.y" + case 214: +#line 1721 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30348,8 +33082,8 @@ YYLTYPE yylloc; ;} break; - case 208: -#line 1650 "gram.y" + case 215: +#line 1730 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30363,8 +33097,8 @@ YYLTYPE yylloc; ;} break; - case 209: -#line 1662 "gram.y" + case 216: +#line 1742 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -30374,8 +33108,8 @@ YYLTYPE yylloc; ;} break; - case 210: -#line 1670 "gram.y" + case 217: +#line 1750 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30386,8 +33120,8 @@ YYLTYPE yylloc; ;} break; - case 211: -#line 1679 "gram.y" + case 218: +#line 1759 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -30397,8 +33131,8 @@ YYLTYPE yylloc; ;} break; - case 212: -#line 1687 "gram.y" + case 219: +#line 1767 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30412,8 +33146,8 @@ YYLTYPE yylloc; ;} break; - case 213: -#line 1699 "gram.y" + case 220: +#line 1779 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30424,8 +33158,8 @@ YYLTYPE yylloc; ;} break; - case 214: -#line 1708 "gram.y" + case 221: +#line 1788 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -30435,8 +33169,8 @@ YYLTYPE yylloc; ;} break; - case 215: -#line 1716 "gram.y" + case 222: +#line 1796 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30447,8 +33181,8 @@ YYLTYPE yylloc; ;} break; - case 216: -#line 1725 "gram.y" + case 223: +#line 1805 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); n->kind = VAR_SET_VALUE; @@ -30458,8 +33192,8 @@ YYLTYPE yylloc; ;} break; - case 217: -#line 1733 "gram.y" + case 224: +#line 1813 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30469,8 +33203,8 @@ YYLTYPE yylloc; ;} break; - case 218: -#line 1741 "gram.y" + case 225: +#line 1821 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30481,8 +33215,8 @@ YYLTYPE yylloc; ;} break; - case 219: -#line 1751 "gram.y" + case 226: +#line 1831 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30493,104 +33227,104 @@ YYLTYPE yylloc; ;} break; - case 220: -#line 1761 "gram.y" + case 227: +#line 1841 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 221: -#line 1763 "gram.y" + case 228: +#line 1843 "gram.y" { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;} break; - case 222: -#line 1766 "gram.y" + case 229: +#line 1846 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 223: -#line 1767 "gram.y" + case 230: +#line 1847 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 224: -#line 1771 "gram.y" + case 231: +#line 1851 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 225: -#line 1773 "gram.y" + case 232: +#line 1853 "gram.y" { (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;} break; - case 226: -#line 1775 "gram.y" + case 233: +#line 1855 "gram.y" { (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; - case 227: -#line 1778 "gram.y" + case 234: +#line 1858 "gram.y" { (yyval.str) = "read uncommitted"; ;} break; - case 228: -#line 1779 "gram.y" + case 235: +#line 1859 "gram.y" { (yyval.str) = "read committed"; ;} break; - case 229: -#line 1780 "gram.y" + case 236: +#line 1860 "gram.y" { (yyval.str) = "repeatable read"; ;} break; - case 230: -#line 1781 "gram.y" + case 237: +#line 1861 "gram.y" { (yyval.str) = "serializable"; ;} break; - case 231: -#line 1785 "gram.y" + case 238: +#line 1865 "gram.y" { (yyval.str) = "true"; ;} break; - case 232: -#line 1786 "gram.y" + case 239: +#line 1866 "gram.y" { (yyval.str) = "false"; ;} break; - case 233: -#line 1787 "gram.y" + case 240: +#line 1867 "gram.y" { (yyval.str) = "on"; ;} break; - case 234: -#line 1793 "gram.y" + case 241: +#line 1873 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 235: -#line 1806 "gram.y" + case 242: +#line 1886 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 236: -#line 1810 "gram.y" + case 243: +#line 1890 "gram.y" { (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; - case 237: -#line 1814 "gram.y" + case 244: +#line 1894 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 238: -#line 1818 "gram.y" + case 245: +#line 1898 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); @@ -30609,8 +33343,8 @@ YYLTYPE yylloc; ;} break; - case 239: -#line 1835 "gram.y" + case 246: +#line 1915 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); @@ -30620,58 +33354,58 @@ YYLTYPE yylloc; ;} break; - case 240: -#line 1842 "gram.y" + case 247: +#line 1922 "gram.y" { (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;} break; - case 241: -#line 1843 "gram.y" + case 248: +#line 1923 "gram.y" { (yyval.node) = NULL; ;} break; - case 242: -#line 1844 "gram.y" + case 249: +#line 1924 "gram.y" { (yyval.node) = NULL; ;} break; - case 243: -#line 1848 "gram.y" + case 250: +#line 1928 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 244: -#line 1849 "gram.y" + case 251: +#line 1929 "gram.y" { (yyval.str) = NULL; ;} break; - case 245: -#line 1850 "gram.y" + case 252: +#line 1930 "gram.y" { (yyval.str) = NULL; ;} break; - case 246: -#line 1854 "gram.y" + case 253: +#line 1934 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 247: -#line 1855 "gram.y" + case 254: +#line 1935 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 248: -#line 1859 "gram.y" + case 255: +#line 1939 "gram.y" { (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;} break; - case 249: -#line 1863 "gram.y" + case 256: +#line 1943 "gram.y" { (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;} break; - case 250: -#line 1865 "gram.y" + case 257: +#line 1945 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30681,8 +33415,8 @@ YYLTYPE yylloc; ;} break; - case 251: -#line 1873 "gram.y" + case 258: +#line 1953 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30692,8 +33426,8 @@ YYLTYPE yylloc; ;} break; - case 252: -#line 1881 "gram.y" + case 259: +#line 1961 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30703,8 +33437,8 @@ YYLTYPE yylloc; ;} break; - case 253: -#line 1892 "gram.y" + case 260: +#line 1972 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30714,8 +33448,8 @@ YYLTYPE yylloc; ;} break; - case 254: -#line 1900 "gram.y" + case 261: +#line 1980 "gram.y" { VariableSetStmt *n = makeNode(VariableSetStmt); @@ -30724,28 +33458,28 @@ YYLTYPE yylloc; ;} break; - case 255: -#line 1910 "gram.y" + case 262: +#line 1990 "gram.y" { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;} break; - case 256: -#line 1911 "gram.y" + case 263: +#line 1991 "gram.y" { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;} break; - case 257: -#line 1916 "gram.y" + case 264: +#line 1996 "gram.y" { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;} break; - case 258: -#line 1917 "gram.y" + case 265: +#line 1997 "gram.y" { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;} break; - case 259: -#line 1923 "gram.y" + case 266: +#line 2003 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -30754,8 +33488,8 @@ YYLTYPE yylloc; ;} break; - case 260: -#line 1930 "gram.y" + case 267: +#line 2010 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -30764,8 +33498,8 @@ YYLTYPE yylloc; ;} break; - case 261: -#line 1937 "gram.y" + case 268: +#line 2017 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -30774,8 +33508,8 @@ YYLTYPE yylloc; ;} break; - case 262: -#line 1944 "gram.y" + case 269: +#line 2024 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -30784,8 +33518,8 @@ YYLTYPE yylloc; ;} break; - case 263: -#line 1951 "gram.y" + case 270: +#line 2031 "gram.y" { VariableShowStmt *n = makeNode(VariableShowStmt); @@ -30794,8 +33528,8 @@ YYLTYPE yylloc; ;} break; - case 264: -#line 1962 "gram.y" + case 271: +#line 2042 "gram.y" { ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt); @@ -30805,28 +33539,28 @@ YYLTYPE yylloc; ;} break; - case 265: -#line 1972 "gram.y" + case 272: +#line 2052 "gram.y" { (yyval.list) = NIL; ;} break; - case 266: -#line 1973 "gram.y" + case 273: +#line 2053 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 267: -#line 1977 "gram.y" + case 274: +#line 2057 "gram.y" { (yyval.boolean) = true; ;} break; - case 268: -#line 1978 "gram.y" + case 275: +#line 2058 "gram.y" { (yyval.boolean) = false; ;} break; - case 269: -#line 1987 "gram.y" + case 276: +#line 2067 "gram.y" { CheckPointStmt *n = makeNode(CheckPointStmt); @@ -30834,8 +33568,8 @@ YYLTYPE yylloc; ;} break; - case 270: -#line 2003 "gram.y" + case 277: +#line 2083 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -30844,8 +33578,8 @@ YYLTYPE yylloc; ;} break; - case 271: -#line 2010 "gram.y" + case 278: +#line 2090 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -30854,8 +33588,8 @@ YYLTYPE yylloc; ;} break; - case 272: -#line 2017 "gram.y" + case 279: +#line 2097 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -30864,8 +33598,8 @@ YYLTYPE yylloc; ;} break; - case 273: -#line 2024 "gram.y" + case 280: +#line 2104 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -30874,8 +33608,8 @@ YYLTYPE yylloc; ;} break; - case 274: -#line 2031 "gram.y" + case 281: +#line 2111 "gram.y" { DiscardStmt *n = makeNode(DiscardStmt); @@ -30884,8 +33618,8 @@ YYLTYPE yylloc; ;} break; - case 275: -#line 2051 "gram.y" + case 282: +#line 2131 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30897,8 +33631,8 @@ YYLTYPE yylloc; ;} break; - case 276: -#line 2061 "gram.y" + case 283: +#line 2141 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30910,8 +33644,8 @@ YYLTYPE yylloc; ;} break; - case 277: -#line 2071 "gram.y" + case 284: +#line 2151 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30923,8 +33657,8 @@ YYLTYPE yylloc; ;} break; - case 278: -#line 2081 "gram.y" + case 285: +#line 2161 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30936,8 +33670,8 @@ YYLTYPE yylloc; ;} break; - case 279: -#line 2091 "gram.y" + case 286: +#line 2171 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -30951,8 +33685,8 @@ YYLTYPE yylloc; ;} break; - case 280: -#line 2103 "gram.y" + case 287: +#line 2183 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -30966,8 +33700,8 @@ YYLTYPE yylloc; ;} break; - case 281: -#line 2115 "gram.y" + case 288: +#line 2195 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30979,8 +33713,8 @@ YYLTYPE yylloc; ;} break; - case 282: -#line 2125 "gram.y" + case 289: +#line 2205 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -30992,8 +33726,8 @@ YYLTYPE yylloc; ;} break; - case 283: -#line 2135 "gram.y" + case 290: +#line 2215 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31005,8 +33739,8 @@ YYLTYPE yylloc; ;} break; - case 284: -#line 2145 "gram.y" + case 291: +#line 2225 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -31020,8 +33754,8 @@ YYLTYPE yylloc; ;} break; - case 285: -#line 2157 "gram.y" + case 292: +#line 2237 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -31035,8 +33769,8 @@ YYLTYPE yylloc; ;} break; - case 286: -#line 2169 "gram.y" + case 293: +#line 2249 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31048,8 +33782,8 @@ YYLTYPE yylloc; ;} break; - case 287: -#line 2179 "gram.y" + case 294: +#line 2259 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31061,8 +33795,8 @@ YYLTYPE yylloc; ;} break; - case 288: -#line 2189 "gram.y" + case 295: +#line 2269 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31074,8 +33808,8 @@ YYLTYPE yylloc; ;} break; - case 289: -#line 2199 "gram.y" + case 296: +#line 2279 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31087,8 +33821,8 @@ YYLTYPE yylloc; ;} break; - case 290: -#line 2209 "gram.y" + case 297: +#line 2289 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31100,8 +33834,8 @@ YYLTYPE yylloc; ;} break; - case 291: -#line 2219 "gram.y" + case 298: +#line 2299 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31113,8 +33847,8 @@ YYLTYPE yylloc; ;} break; - case 292: -#line 2229 "gram.y" + case 299: +#line 2309 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -31128,8 +33862,8 @@ YYLTYPE yylloc; ;} break; - case 293: -#line 2241 "gram.y" + case 300: +#line 2321 "gram.y" { AlterTableMoveAllStmt *n = makeNode(AlterTableMoveAllStmt); @@ -31143,8 +33877,8 @@ YYLTYPE yylloc; ;} break; - case 294: -#line 2253 "gram.y" + case 301: +#line 2333 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31156,8 +33890,8 @@ YYLTYPE yylloc; ;} break; - case 295: -#line 2263 "gram.y" + case 302: +#line 2343 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -31169,18 +33903,18 @@ YYLTYPE yylloc; ;} break; - case 296: -#line 2275 "gram.y" + case 303: +#line 2355 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 297: -#line 2276 "gram.y" + case 304: +#line 2356 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 298: -#line 2282 "gram.y" + case 305: +#line 2362 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -31195,8 +33929,8 @@ YYLTYPE yylloc; ;} break; - case 299: -#line 2296 "gram.y" + case 306: +#line 2376 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -31211,8 +33945,8 @@ YYLTYPE yylloc; ;} break; - case 300: -#line 2309 "gram.y" + case 307: +#line 2389 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -31226,8 +33960,8 @@ YYLTYPE yylloc; ;} break; - case 301: -#line 2325 "gram.y" + case 308: +#line 2405 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); PartitionCmd *cmd = makeNode(PartitionCmd); @@ -31242,8 +33976,8 @@ YYLTYPE yylloc; ;} break; - case 302: -#line 2342 "gram.y" + case 309: +#line 2422 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31254,8 +33988,8 @@ YYLTYPE yylloc; ;} break; - case 303: -#line 2352 "gram.y" + case 310: +#line 2432 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31266,8 +34000,8 @@ YYLTYPE yylloc; ;} break; - case 304: -#line 2362 "gram.y" + case 311: +#line 2442 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31278,8 +34012,8 @@ YYLTYPE yylloc; ;} break; - case 305: -#line 2372 "gram.y" + case 312: +#line 2452 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31290,8 +34024,8 @@ YYLTYPE yylloc; ;} break; - case 306: -#line 2382 "gram.y" + case 313: +#line 2462 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31302,8 +34036,8 @@ YYLTYPE yylloc; ;} break; - case 307: -#line 2392 "gram.y" + case 314: +#line 2472 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31313,8 +34047,8 @@ YYLTYPE yylloc; ;} break; - case 308: -#line 2401 "gram.y" + case 315: +#line 2481 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31324,8 +34058,20 @@ YYLTYPE yylloc; ;} break; - case 309: -#line 2410 "gram.y" + case 316: +#line 2490 "gram.y" + { + AlterTableCmd *n = makeNode(AlterTableCmd); + + n->subtype = AT_SetExpression; + n->name = (yyvsp[(3) - (9)].str); + n->def = (yyvsp[(8) - (9)].node); + (yyval.node) = (Node *) n; + ;} + break; + + case 317: +#line 2500 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31335,8 +34081,8 @@ YYLTYPE yylloc; ;} break; - case 310: -#line 2419 "gram.y" + case 318: +#line 2509 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31347,20 +34093,20 @@ YYLTYPE yylloc; ;} break; - case 311: -#line 2429 "gram.y" + case 319: +#line 2519 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetStatistics; n->name = (yyvsp[(3) - (6)].str); - n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival)); + n->def = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 312: -#line 2439 "gram.y" + case 320: +#line 2529 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31372,13 +34118,13 @@ YYLTYPE yylloc; n->subtype = AT_SetStatistics; n->num = (int16) (yyvsp[(3) - (6)].ival); - n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival)); + n->def = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 313: -#line 2455 "gram.y" + case 321: +#line 2545 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31389,8 +34135,8 @@ YYLTYPE yylloc; ;} break; - case 314: -#line 2465 "gram.y" + case 322: +#line 2555 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31401,20 +34147,20 @@ YYLTYPE yylloc; ;} break; - case 315: -#line 2475 "gram.y" + case 323: +#line 2565 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); n->subtype = AT_SetStorage; - n->name = (yyvsp[(3) - (6)].str); - n->def = (Node *) makeString((yyvsp[(6) - (6)].str)); + n->name = (yyvsp[(3) - (5)].str); + n->def = (Node *) makeString((yyvsp[(5) - (5)].str)); (yyval.node) = (Node *) n; ;} break; - case 316: -#line 2485 "gram.y" + case 324: +#line 2575 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31425,8 +34171,8 @@ YYLTYPE yylloc; ;} break; - case 317: -#line 2495 "gram.y" + case 325: +#line 2585 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); Constraint *c = makeNode(Constraint); @@ -31444,8 +34190,8 @@ YYLTYPE yylloc; ;} break; - case 318: -#line 2512 "gram.y" + case 326: +#line 2602 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31456,8 +34202,8 @@ YYLTYPE yylloc; ;} break; - case 319: -#line 2522 "gram.y" + case 327: +#line 2612 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31468,8 +34214,8 @@ YYLTYPE yylloc; ;} break; - case 320: -#line 2532 "gram.y" + case 328: +#line 2622 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31480,8 +34226,8 @@ YYLTYPE yylloc; ;} break; - case 321: -#line 2542 "gram.y" + case 329: +#line 2632 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31493,8 +34239,8 @@ YYLTYPE yylloc; ;} break; - case 322: -#line 2553 "gram.y" + case 330: +#line 2643 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31506,8 +34252,8 @@ YYLTYPE yylloc; ;} break; - case 323: -#line 2567 "gram.y" + case 331: +#line 2657 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); ColumnDef *def = makeNode(ColumnDef); @@ -31524,8 +34270,8 @@ YYLTYPE yylloc; ;} break; - case 324: -#line 2583 "gram.y" + case 332: +#line 2673 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31536,8 +34282,8 @@ YYLTYPE yylloc; ;} break; - case 325: -#line 2593 "gram.y" + case 333: +#line 2683 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31547,8 +34293,8 @@ YYLTYPE yylloc; ;} break; - case 326: -#line 2602 "gram.y" + case 334: +#line 2692 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); Constraint *c = makeNode(Constraint); @@ -31557,7 +34303,7 @@ YYLTYPE yylloc; n->def = (Node *) c; c->contype = CONSTR_FOREIGN; /* others not supported, yet */ c->conname = (yyvsp[(3) - (4)].str); - processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement", + processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "FOREIGN KEY", &c->deferrable, &c->initdeferred, NULL, NULL, yyscanner); @@ -31565,8 +34311,8 @@ YYLTYPE yylloc; ;} break; - case 327: -#line 2618 "gram.y" + case 335: +#line 2708 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31576,8 +34322,8 @@ YYLTYPE yylloc; ;} break; - case 328: -#line 2627 "gram.y" + case 336: +#line 2717 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31589,8 +34335,8 @@ YYLTYPE yylloc; ;} break; - case 329: -#line 2638 "gram.y" + case 337: +#line 2728 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31602,8 +34348,8 @@ YYLTYPE yylloc; ;} break; - case 330: -#line 2649 "gram.y" + case 338: +#line 2739 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31612,8 +34358,8 @@ YYLTYPE yylloc; ;} break; - case 331: -#line 2657 "gram.y" + case 339: +#line 2747 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31623,8 +34369,8 @@ YYLTYPE yylloc; ;} break; - case 332: -#line 2666 "gram.y" + case 340: +#line 2756 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31634,8 +34380,8 @@ YYLTYPE yylloc; ;} break; - case 333: -#line 2675 "gram.y" + case 341: +#line 2765 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31644,8 +34390,8 @@ YYLTYPE yylloc; ;} break; - case 334: -#line 2683 "gram.y" + case 342: +#line 2773 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31654,8 +34400,8 @@ YYLTYPE yylloc; ;} break; - case 335: -#line 2691 "gram.y" + case 343: +#line 2781 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31665,8 +34411,8 @@ YYLTYPE yylloc; ;} break; - case 336: -#line 2700 "gram.y" + case 344: +#line 2790 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31676,8 +34422,8 @@ YYLTYPE yylloc; ;} break; - case 337: -#line 2709 "gram.y" + case 345: +#line 2799 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31687,8 +34433,8 @@ YYLTYPE yylloc; ;} break; - case 338: -#line 2718 "gram.y" + case 346: +#line 2808 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31697,8 +34443,8 @@ YYLTYPE yylloc; ;} break; - case 339: -#line 2726 "gram.y" + case 347: +#line 2816 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31707,8 +34453,8 @@ YYLTYPE yylloc; ;} break; - case 340: -#line 2734 "gram.y" + case 348: +#line 2824 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31718,8 +34464,8 @@ YYLTYPE yylloc; ;} break; - case 341: -#line 2743 "gram.y" + case 349: +#line 2833 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31728,8 +34474,8 @@ YYLTYPE yylloc; ;} break; - case 342: -#line 2751 "gram.y" + case 350: +#line 2841 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31738,8 +34484,8 @@ YYLTYPE yylloc; ;} break; - case 343: -#line 2759 "gram.y" + case 351: +#line 2849 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31749,8 +34495,8 @@ YYLTYPE yylloc; ;} break; - case 344: -#line 2768 "gram.y" + case 352: +#line 2858 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31760,8 +34506,8 @@ YYLTYPE yylloc; ;} break; - case 345: -#line 2777 "gram.y" + case 353: +#line 2867 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31771,8 +34517,8 @@ YYLTYPE yylloc; ;} break; - case 346: -#line 2786 "gram.y" + case 354: +#line 2876 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31782,8 +34528,8 @@ YYLTYPE yylloc; ;} break; - case 347: -#line 2795 "gram.y" + case 355: +#line 2885 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31793,8 +34539,8 @@ YYLTYPE yylloc; ;} break; - case 348: -#line 2804 "gram.y" + case 356: +#line 2894 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31804,8 +34550,8 @@ YYLTYPE yylloc; ;} break; - case 349: -#line 2813 "gram.y" + case 357: +#line 2903 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list)); @@ -31817,8 +34563,8 @@ YYLTYPE yylloc; ;} break; - case 350: -#line 2824 "gram.y" + case 358: +#line 2914 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31827,8 +34573,8 @@ YYLTYPE yylloc; ;} break; - case 351: -#line 2832 "gram.y" + case 359: +#line 2922 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31838,8 +34584,8 @@ YYLTYPE yylloc; ;} break; - case 352: -#line 2841 "gram.y" + case 360: +#line 2931 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31849,8 +34595,8 @@ YYLTYPE yylloc; ;} break; - case 353: -#line 2850 "gram.y" + case 361: +#line 2940 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31860,8 +34606,8 @@ YYLTYPE yylloc; ;} break; - case 354: -#line 2859 "gram.y" + case 362: +#line 2949 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31871,8 +34617,8 @@ YYLTYPE yylloc; ;} break; - case 355: -#line 2868 "gram.y" + case 363: +#line 2958 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31882,8 +34628,8 @@ YYLTYPE yylloc; ;} break; - case 356: -#line 2877 "gram.y" + case 364: +#line 2967 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31893,8 +34639,8 @@ YYLTYPE yylloc; ;} break; - case 357: -#line 2886 "gram.y" + case 365: +#line 2976 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31903,8 +34649,8 @@ YYLTYPE yylloc; ;} break; - case 358: -#line 2894 "gram.y" + case 366: +#line 2984 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31913,8 +34659,8 @@ YYLTYPE yylloc; ;} break; - case 359: -#line 2902 "gram.y" + case 367: +#line 2992 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31923,8 +34669,8 @@ YYLTYPE yylloc; ;} break; - case 360: -#line 2910 "gram.y" + case 368: +#line 3000 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31933,8 +34679,8 @@ YYLTYPE yylloc; ;} break; - case 361: -#line 2917 "gram.y" + case 369: +#line 3007 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -31944,33 +34690,18 @@ YYLTYPE yylloc; ;} break; - case 362: -#line 2927 "gram.y" + case 370: +#line 3017 "gram.y" { (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; - case 363: -#line 2928 "gram.y" + case 371: +#line 3018 "gram.y" { (yyval.node) = NULL; ;} break; - case 364: -#line 2932 "gram.y" - { (yyval.dbehavior) = DROP_CASCADE; ;} - break; - - case 365: -#line 2933 "gram.y" - { (yyval.dbehavior) = DROP_RESTRICT; ;} - break; - - case 366: -#line 2934 "gram.y" - { (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;} - break; - - case 367: -#line 2939 "gram.y" + case 372: +#line 3023 "gram.y" { CollateClause *n = makeNode(CollateClause); @@ -31981,23 +34712,23 @@ YYLTYPE yylloc; ;} break; - case 368: -#line 2947 "gram.y" + case 373: +#line 3031 "gram.y" { (yyval.node) = NULL; ;} break; - case 369: -#line 2951 "gram.y" + case 374: +#line 3035 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 370: -#line 2952 "gram.y" + case 375: +#line 3036 "gram.y" { (yyval.node) = NULL; ;} break; - case 371: -#line 2957 "gram.y" + case 376: +#line 3041 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -32007,8 +34738,8 @@ YYLTYPE yylloc; ;} break; - case 372: -#line 2965 "gram.y" + case 377: +#line 3049 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -32018,8 +34749,8 @@ YYLTYPE yylloc; ;} break; - case 373: -#line 2973 "gram.y" + case 378: +#line 3057 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -32029,8 +34760,8 @@ YYLTYPE yylloc; ;} break; - case 374: -#line 2981 "gram.y" + case 379: +#line 3065 "gram.y" { ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt); @@ -32040,86 +34771,86 @@ YYLTYPE yylloc; ;} break; - case 375: -#line 2991 "gram.y" + case 380: +#line 3075 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 376: -#line 2994 "gram.y" + case 381: +#line 3078 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 377: -#line 2995 "gram.y" + case 382: +#line 3079 "gram.y" { (yyval.list) = NIL; ;} break; - case 378: -#line 2999 "gram.y" + case 383: +#line 3083 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 379: -#line 3000 "gram.y" + case 384: +#line 3084 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 380: -#line 3006 "gram.y" + case 385: +#line 3090 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 381: -#line 3010 "gram.y" + case 386: +#line 3094 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} break; - case 382: -#line 3014 "gram.y" + case 387: +#line 3098 "gram.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node), DEFELEM_UNSPEC, (yylsp[(1) - (5)])); ;} break; - case 383: -#line 3019 "gram.y" + case 388: +#line 3103 "gram.y" { (yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)])); ;} break; - case 384: -#line 3026 "gram.y" + case 389: +#line 3110 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 385: -#line 3028 "gram.y" + case 390: +#line 3112 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 386: -#line 3033 "gram.y" + case 391: +#line 3117 "gram.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)])); ;} break; - case 387: -#line 3037 "gram.y" + case 392: +#line 3121 "gram.y" { (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 388: -#line 3041 "gram.y" + case 393: +#line 3125 "gram.y" { if (strcmp((yyvsp[(2) - (2)].defelt)->defname, "as") == 0 || strcmp((yyvsp[(2) - (2)].defelt)->defname, "restart") == 0 || @@ -32132,15 +34863,35 @@ YYLTYPE yylloc; ;} break; - case 389: -#line 3052 "gram.y" + case 394: +#line 3136 "gram.y" { (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)])); ;} break; - case 390: -#line 3060 "gram.y" + case 395: +#line 3142 "gram.y" + { (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;} + break; + + case 396: +#line 3143 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 397: +#line 3147 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + break; + + case 398: +#line 3148 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 399: +#line 3154 "gram.y" { ListCell *lc; PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -32193,8 +34944,8 @@ YYLTYPE yylloc; ;} break; - case 391: -#line 3113 "gram.y" + case 400: +#line 3207 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -32207,8 +34958,8 @@ YYLTYPE yylloc; ;} break; - case 392: -#line 3126 "gram.y" + case 401: +#line 3220 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -32222,8 +34973,8 @@ YYLTYPE yylloc; ;} break; - case 393: -#line 3140 "gram.y" + case 402: +#line 3234 "gram.y" { PartitionBoundSpec *n = makeNode(PartitionBoundSpec); @@ -32234,29 +34985,29 @@ YYLTYPE yylloc; ;} break; - case 394: -#line 3152 "gram.y" + case 403: +#line 3246 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)])); ;} break; - case 395: -#line 3159 "gram.y" + case 404: +#line 3253 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 396: -#line 3163 "gram.y" + case 405: +#line 3257 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 397: -#line 3177 "gram.y" + case 406: +#line 3271 "gram.y" { AlterTableStmt *n = makeNode(AlterTableStmt); @@ -32268,18 +35019,18 @@ YYLTYPE yylloc; ;} break; - case 398: -#line 3189 "gram.y" + case 407: +#line 3283 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 399: -#line 3190 "gram.y" + case 408: +#line 3284 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 400: -#line 3196 "gram.y" + case 409: +#line 3290 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32290,8 +35041,8 @@ YYLTYPE yylloc; ;} break; - case 401: -#line 3206 "gram.y" + case 410: +#line 3300 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32303,8 +35054,8 @@ YYLTYPE yylloc; ;} break; - case 402: -#line 3217 "gram.y" + case 411: +#line 3311 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); @@ -32316,8 +35067,8 @@ YYLTYPE yylloc; ;} break; - case 403: -#line 3228 "gram.y" + case 412: +#line 3322 "gram.y" { AlterTableCmd *n = makeNode(AlterTableCmd); ColumnDef *def = makeNode(ColumnDef); @@ -32335,8 +35086,8 @@ YYLTYPE yylloc; ;} break; - case 404: -#line 3255 "gram.y" + case 413: +#line 3349 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); @@ -32345,8 +35096,8 @@ YYLTYPE yylloc; ;} break; - case 405: -#line 3262 "gram.y" + case 414: +#line 3356 "gram.y" { ClosePortalStmt *n = makeNode(ClosePortalStmt); @@ -32355,8 +35106,8 @@ YYLTYPE yylloc; ;} break; - case 406: -#line 3298 "gram.y" + case 415: +#line 3392 "gram.y" { CopyStmt *n = makeNode(CopyStmt); @@ -32392,8 +35143,8 @@ YYLTYPE yylloc; ;} break; - case 407: -#line 3332 "gram.y" + case 416: +#line 3426 "gram.y" { CopyStmt *n = makeNode(CopyStmt); @@ -32415,243 +35166,262 @@ YYLTYPE yylloc; ;} break; - case 408: -#line 3354 "gram.y" + case 417: +#line 3448 "gram.y" { (yyval.boolean) = true; ;} break; - case 409: -#line 3355 "gram.y" + case 418: +#line 3449 "gram.y" { (yyval.boolean) = false; ;} break; - case 410: -#line 3359 "gram.y" + case 419: +#line 3453 "gram.y" { (yyval.boolean) = true; ;} break; - case 411: -#line 3360 "gram.y" + case 420: +#line 3454 "gram.y" { (yyval.boolean) = false; ;} break; - case 412: -#line 3369 "gram.y" + case 421: +#line 3463 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 413: -#line 3370 "gram.y" + case 422: +#line 3464 "gram.y" { (yyval.str) = NULL; ;} break; - case 414: -#line 3371 "gram.y" + case 423: +#line 3465 "gram.y" { (yyval.str) = NULL; ;} break; - case 415: -#line 3374 "gram.y" + case 424: +#line 3468 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 416: -#line 3375 "gram.y" + case 425: +#line 3469 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 417: -#line 3380 "gram.y" + case 426: +#line 3474 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 418: -#line 3381 "gram.y" + case 427: +#line 3475 "gram.y" { (yyval.list) = NIL; ;} break; - case 419: -#line 3386 "gram.y" + case 428: +#line 3480 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)])); ;} break; - case 420: -#line 3390 "gram.y" + case 429: +#line 3484 "gram.y" { (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 421: -#line 3394 "gram.y" + case 430: +#line 3488 "gram.y" { (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 422: -#line 3398 "gram.y" + case 431: +#line 3492 "gram.y" { (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 423: -#line 3402 "gram.y" + case 432: +#line 3496 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[(1) - (1)])); ;} break; - case 424: -#line 3406 "gram.y" + case 433: +#line 3500 "gram.y" { (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 425: -#line 3410 "gram.y" + case 434: +#line 3504 "gram.y" { (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 426: -#line 3414 "gram.y" + case 435: +#line 3508 "gram.y" { (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 427: -#line 3418 "gram.y" + case 436: +#line 3512 "gram.y" { (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 428: -#line 3422 "gram.y" + case 437: +#line 3516 "gram.y" { (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[(1) - (3)])); ;} break; - case 429: -#line 3426 "gram.y" + case 438: +#line 3520 "gram.y" { (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[(4) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 430: -#line 3430 "gram.y" + case 439: +#line 3524 "gram.y" + { + (yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[(1) - (4)])); + ;} + break; + + case 440: +#line 3528 "gram.y" { (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 431: -#line 3434 "gram.y" + case 441: +#line 3532 "gram.y" + { + (yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[(1) - (3)])); + ;} + break; + + case 442: +#line 3536 "gram.y" { (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 432: -#line 3443 "gram.y" + case 443: +#line 3545 "gram.y" { (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)])); ;} break; - case 433: -#line 3446 "gram.y" + case 444: +#line 3548 "gram.y" { (yyval.defelt) = NULL; ;} break; - case 434: -#line 3451 "gram.y" + case 445: +#line 3553 "gram.y" { (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(2) - (3)])); ;} break; - case 435: -#line 3454 "gram.y" + case 446: +#line 3556 "gram.y" { (yyval.defelt) = NULL; ;} break; - case 438: -#line 3465 "gram.y" + case 449: +#line 3567 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 439: -#line 3469 "gram.y" + case 450: +#line 3571 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 440: -#line 3476 "gram.y" + case 451: +#line 3578 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 441: -#line 3482 "gram.y" + case 452: +#line 3584 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 442: -#line 3483 "gram.y" + case 453: +#line 3585 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 443: -#line 3484 "gram.y" + case 454: +#line 3586 "gram.y" { (yyval.node) = (Node *) makeNode(A_Star); ;} break; - case 444: -#line 3485 "gram.y" + case 455: +#line 3587 "gram.y" + { (yyval.node) = (Node *) makeString("default"); ;} + break; + + case 456: +#line 3588 "gram.y" { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;} break; - case 445: -#line 3486 "gram.y" + case 457: +#line 3589 "gram.y" { (yyval.node) = NULL; ;} break; - case 446: -#line 3491 "gram.y" + case 458: +#line 3594 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 447: -#line 3495 "gram.y" + case 459: +#line 3598 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 448: -#line 3502 "gram.y" + case 460: +#line 3605 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 449: -#line 3516 "gram.y" + case 461: +#line 3619 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32671,8 +35441,8 @@ YYLTYPE yylloc; ;} break; - case 450: -#line 3536 "gram.y" + case 462: +#line 3639 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32692,8 +35462,8 @@ YYLTYPE yylloc; ;} break; - case 451: -#line 3556 "gram.y" + case 463: +#line 3659 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32714,8 +35484,8 @@ YYLTYPE yylloc; ;} break; - case 452: -#line 3577 "gram.y" + case 464: +#line 3680 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32736,8 +35506,8 @@ YYLTYPE yylloc; ;} break; - case 453: -#line 3598 "gram.y" + case 465: +#line 3701 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32758,8 +35528,8 @@ YYLTYPE yylloc; ;} break; - case 454: -#line 3619 "gram.y" + case 466: +#line 3722 "gram.y" { CreateStmt *n = makeNode(CreateStmt); @@ -32780,28 +35550,28 @@ YYLTYPE yylloc; ;} break; - case 455: -#line 3650 "gram.y" + case 467: +#line 3753 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 456: -#line 3651 "gram.y" + case 468: +#line 3754 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 457: -#line 3652 "gram.y" + case 469: +#line 3755 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 458: -#line 3653 "gram.y" + case 470: +#line 3756 "gram.y" { (yyval.ival) = RELPERSISTENCE_TEMP; ;} break; - case 459: -#line 3655 "gram.y" + case 471: +#line 3758 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -32810,8 +35580,8 @@ YYLTYPE yylloc; ;} break; - case 460: -#line 3662 "gram.y" + case 472: +#line 3765 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -32820,97 +35590,98 @@ YYLTYPE yylloc; ;} break; - case 461: -#line 3668 "gram.y" + case 473: +#line 3771 "gram.y" { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;} break; - case 462: -#line 3669 "gram.y" + case 474: +#line 3772 "gram.y" { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;} break; - case 463: -#line 3673 "gram.y" + case 475: +#line 3776 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 464: -#line 3674 "gram.y" + case 476: +#line 3777 "gram.y" { (yyval.list) = NIL; ;} break; - case 465: -#line 3678 "gram.y" + case 477: +#line 3781 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 466: -#line 3679 "gram.y" + case 478: +#line 3782 "gram.y" { (yyval.list) = NIL; ;} break; - case 467: -#line 3684 "gram.y" + case 479: +#line 3787 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 468: -#line 3688 "gram.y" + case 480: +#line 3791 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 469: -#line 3695 "gram.y" + case 481: +#line 3798 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 470: -#line 3699 "gram.y" + case 482: +#line 3802 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 471: -#line 3705 "gram.y" + case 483: +#line 3808 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 472: -#line 3706 "gram.y" + case 484: +#line 3809 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 473: -#line 3707 "gram.y" + case 485: +#line 3810 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 474: -#line 3711 "gram.y" + case 486: +#line 3814 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 475: -#line 3712 "gram.y" + case 487: +#line 3815 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 476: -#line 3716 "gram.y" + case 488: +#line 3819 "gram.y" { ColumnDef *n = makeNode(ColumnDef); - n->colname = (yyvsp[(1) - (5)].str); - n->typeName = (yyvsp[(2) - (5)].typnam); - n->compression = (yyvsp[(3) - (5)].str); + n->colname = (yyvsp[(1) - (6)].str); + n->typeName = (yyvsp[(2) - (6)].typnam); + n->storage_name = (yyvsp[(3) - (6)].str); + n->compression = (yyvsp[(4) - (6)].str); n->inhcount = 0; n->is_local = true; n->is_not_null = false; @@ -32919,16 +35690,16 @@ YYLTYPE yylloc; n->raw_default = NULL; n->cooked_default = NULL; n->collOid = InvalidOid; - n->fdwoptions = (yyvsp[(4) - (5)].list); - SplitColQualList((yyvsp[(5) - (5)].list), &n->constraints, &n->collClause, + n->fdwoptions = (yyvsp[(5) - (6)].list); + SplitColQualList((yyvsp[(6) - (6)].list), &n->constraints, &n->collClause, yyscanner); - n->location = (yylsp[(1) - (5)]); + n->location = (yylsp[(1) - (6)]); (yyval.node) = (Node *) n; ;} break; - case 477: -#line 3739 "gram.y" + case 489: +#line 3843 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -32949,8 +35720,8 @@ YYLTYPE yylloc; ;} break; - case 478: -#line 3758 "gram.y" + case 490: +#line 3862 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -32971,38 +35742,58 @@ YYLTYPE yylloc; ;} break; - case 479: -#line 3779 "gram.y" + case 491: +#line 3883 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 480: -#line 3780 "gram.y" + case 492: +#line 3884 "gram.y" { (yyval.str) = pstrdup("default"); ;} break; - case 481: -#line 3784 "gram.y" + case 493: +#line 3888 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 482: -#line 3785 "gram.y" + case 494: +#line 3889 "gram.y" { (yyval.str) = NULL; ;} break; - case 483: -#line 3789 "gram.y" + case 495: +#line 3893 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].str); ;} + break; + + case 496: +#line 3894 "gram.y" + { (yyval.str) = pstrdup("default"); ;} + break; + + case 497: +#line 3898 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + break; + + case 498: +#line 3899 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 499: +#line 3903 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 484: -#line 3790 "gram.y" + case 500: +#line 3904 "gram.y" { (yyval.list) = NIL; ;} break; - case 485: -#line 3795 "gram.y" + case 501: +#line 3909 "gram.y" { Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); @@ -33012,18 +35803,18 @@ YYLTYPE yylloc; ;} break; - case 486: -#line 3802 "gram.y" + case 502: +#line 3916 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 487: -#line 3803 "gram.y" + case 503: +#line 3917 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 488: -#line 3805 "gram.y" + case 504: +#line 3919 "gram.y" { /* * Note: the CollateClause is momentarily included in @@ -33039,8 +35830,8 @@ YYLTYPE yylloc; ;} break; - case 489: -#line 3837 "gram.y" + case 505: +#line 3951 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33050,8 +35841,8 @@ YYLTYPE yylloc; ;} break; - case 490: -#line 3845 "gram.y" + case 506: +#line 3959 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33061,8 +35852,8 @@ YYLTYPE yylloc; ;} break; - case 491: -#line 3853 "gram.y" + case 507: +#line 3967 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33077,8 +35868,8 @@ YYLTYPE yylloc; ;} break; - case 492: -#line 3866 "gram.y" + case 508: +#line 3980 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33092,8 +35883,8 @@ YYLTYPE yylloc; ;} break; - case 493: -#line 3878 "gram.y" + case 509: +#line 3992 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33108,8 +35899,8 @@ YYLTYPE yylloc; ;} break; - case 494: -#line 3891 "gram.y" + case 510: +#line 4005 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33121,8 +35912,8 @@ YYLTYPE yylloc; ;} break; - case 495: -#line 3901 "gram.y" + case 511: +#line 4015 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33134,8 +35925,8 @@ YYLTYPE yylloc; ;} break; - case 496: -#line 3911 "gram.y" + case 512: +#line 4025 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33161,8 +35952,8 @@ YYLTYPE yylloc; ;} break; - case 497: -#line 3935 "gram.y" + case 513: +#line 4049 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33181,33 +35972,33 @@ YYLTYPE yylloc; ;} break; - case 498: -#line 3954 "gram.y" + case 514: +#line 4068 "gram.y" { (yyval.boolean) = true; ;} break; - case 499: -#line 3955 "gram.y" + case 515: +#line 4069 "gram.y" { (yyval.boolean) = false; ;} break; - case 500: -#line 3956 "gram.y" + case 516: +#line 4070 "gram.y" { (yyval.boolean) = true; ;} break; - case 501: -#line 3960 "gram.y" + case 517: +#line 4074 "gram.y" { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; ;} break; - case 502: -#line 3961 "gram.y" + case 518: +#line 4075 "gram.y" { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; ;} break; - case 503: -#line 3981 "gram.y" + case 519: +#line 4095 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33217,8 +36008,8 @@ YYLTYPE yylloc; ;} break; - case 504: -#line 3989 "gram.y" + case 520: +#line 4103 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33228,8 +36019,8 @@ YYLTYPE yylloc; ;} break; - case 505: -#line 3997 "gram.y" + case 521: +#line 4111 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33239,8 +36030,8 @@ YYLTYPE yylloc; ;} break; - case 506: -#line 4005 "gram.y" + case 522: +#line 4119 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33250,8 +36041,8 @@ YYLTYPE yylloc; ;} break; - case 507: -#line 4017 "gram.y" + case 523: +#line 4131 "gram.y" { TableLikeClause *n = makeNode(TableLikeClause); @@ -33262,73 +36053,73 @@ YYLTYPE yylloc; ;} break; - case 508: -#line 4028 "gram.y" + case 524: +#line 4142 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;} break; - case 509: -#line 4029 "gram.y" + case 525: +#line 4143 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;} break; - case 510: -#line 4030 "gram.y" + case 526: +#line 4144 "gram.y" { (yyval.ival) = 0; ;} break; - case 511: -#line 4034 "gram.y" + case 527: +#line 4148 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;} break; - case 512: -#line 4035 "gram.y" + case 528: +#line 4149 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; ;} break; - case 513: -#line 4036 "gram.y" + case 529: +#line 4150 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;} break; - case 514: -#line 4037 "gram.y" + case 530: +#line 4151 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;} break; - case 515: -#line 4038 "gram.y" + case 531: +#line 4152 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; ;} break; - case 516: -#line 4039 "gram.y" + case 532: +#line 4153 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; ;} break; - case 517: -#line 4040 "gram.y" + case 533: +#line 4154 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;} break; - case 518: -#line 4041 "gram.y" + case 534: +#line 4155 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; ;} break; - case 519: -#line 4042 "gram.y" + case 535: +#line 4156 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;} break; - case 520: -#line 4043 "gram.y" + case 536: +#line 4157 "gram.y" { (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;} break; - case 521: -#line 4053 "gram.y" + case 537: +#line 4167 "gram.y" { Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); @@ -33338,13 +36129,13 @@ YYLTYPE yylloc; ;} break; - case 522: -#line 4060 "gram.y" + case 538: +#line 4174 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 523: -#line 4065 "gram.y" + case 539: +#line 4179 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33360,8 +36151,8 @@ YYLTYPE yylloc; ;} break; - case 524: -#line 4080 "gram.y" + case 540: +#line 4194 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33380,8 +36171,8 @@ YYLTYPE yylloc; ;} break; - case 525: -#line 4097 "gram.y" + case 541: +#line 4211 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33399,8 +36190,8 @@ YYLTYPE yylloc; ;} break; - case 526: -#line 4114 "gram.y" + case 542: +#line 4228 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33418,8 +36209,8 @@ YYLTYPE yylloc; ;} break; - case 527: -#line 4130 "gram.y" + case 543: +#line 4244 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33437,8 +36228,8 @@ YYLTYPE yylloc; ;} break; - case 528: -#line 4148 "gram.y" + case 544: +#line 4262 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33457,9 +36248,9 @@ YYLTYPE yylloc; (yyval.node) = (Node *) n; ;} break; - - case 529: -#line 4167 "gram.y" + + case 545: +#line 4281 "gram.y" { Constraint *n = makeNode(Constraint); @@ -33481,62 +36272,112 @@ YYLTYPE yylloc; ;} break; - case 530: -#line 4188 "gram.y" + case 546: +#line 4315 "gram.y" + { + Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node)); + + n->conname = (yyvsp[(2) - (3)].str); + n->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 547: +#line 4322 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 548: +#line 4327 "gram.y" + { + Constraint *n = makeNode(Constraint); + + n->contype = CONSTR_CHECK; + n->location = (yylsp[(1) - (5)]); + n->raw_expr = (yyvsp[(3) - (5)].node); + n->cooked_expr = NULL; + processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK", + NULL, NULL, &n->skip_validation, + &n->is_no_inherit, yyscanner); + n->initially_valid = !n->skip_validation; + (yyval.node) = (Node *) n; + ;} + break; + + case 549: +#line 4341 "gram.y" + { + Constraint *n = makeNode(Constraint); + + n->contype = CONSTR_NOTNULL; + n->location = (yylsp[(1) - (3)]); + n->keys = list_make1(makeString("value")); + /* no NOT VALID support yet */ + processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "NOT NULL", + NULL, NULL, NULL, + &n->is_no_inherit, yyscanner); + n->initially_valid = true; + (yyval.node) = (Node *) n; + ;} + break; + + case 550: +#line 4356 "gram.y" { (yyval.boolean) = true; ;} break; - case 531: -#line 4189 "gram.y" + case 551: +#line 4357 "gram.y" { (yyval.boolean) = false; ;} break; - case 532: -#line 4193 "gram.y" + case 552: +#line 4361 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 533: -#line 4194 "gram.y" + case 553: +#line 4362 "gram.y" { (yyval.list) = NIL; ;} break; - case 534: -#line 4198 "gram.y" + case 554: +#line 4366 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 535: -#line 4199 "gram.y" + case 555: +#line 4367 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 536: -#line 4203 "gram.y" + case 556: +#line 4371 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 537: -#line 4208 "gram.y" + case 557: +#line 4376 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 538: -#line 4209 "gram.y" + case 558: +#line 4377 "gram.y" { (yyval.list) = NIL; ;} break; - case 539: -#line 4213 "gram.y" + case 559: +#line 4381 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_FULL; ;} break; - case 540: -#line 4217 "gram.y" + case 560: +#line 4385 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -33546,56 +36387,56 @@ YYLTYPE yylloc; ;} break; - case 541: -#line 4225 "gram.y" + case 561: +#line 4393 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_SIMPLE; ;} break; - case 542: -#line 4229 "gram.y" + case 562: +#line 4397 "gram.y" { (yyval.ival) = FKCONSTR_MATCH_SIMPLE; ;} break; - case 543: -#line 4235 "gram.y" + case 563: +#line 4403 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 544: -#line 4237 "gram.y" + case 564: +#line 4405 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 545: -#line 4241 "gram.y" + case 565: +#line 4409 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list)); ;} break; - case 546: -#line 4246 "gram.y" + case 566: +#line 4414 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list)); ;} break; - case 547: -#line 4252 "gram.y" + case 567: +#line 4420 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 548: -#line 4253 "gram.y" + case 568: +#line 4421 "gram.y" { (yyval.node) = NULL; ;} break; - case 549: -#line 4258 "gram.y" + case 569: +#line 4426 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -33607,8 +36448,8 @@ YYLTYPE yylloc; ;} break; - case 550: -#line 4268 "gram.y" + case 570: +#line 4436 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -33620,8 +36461,8 @@ YYLTYPE yylloc; ;} break; - case 551: -#line 4278 "gram.y" + case 571: +#line 4446 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -33631,8 +36472,8 @@ YYLTYPE yylloc; ;} break; - case 552: -#line 4286 "gram.y" + case 572: +#line 4454 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -33642,8 +36483,8 @@ YYLTYPE yylloc; ;} break; - case 553: -#line 4294 "gram.y" + case 573: +#line 4462 "gram.y" { KeyActions *n = palloc(sizeof(KeyActions)); @@ -33657,8 +36498,8 @@ YYLTYPE yylloc; ;} break; - case 554: -#line 4308 "gram.y" + case 574: +#line 4476 "gram.y" { if (((yyvsp[(3) - (3)].keyaction))->cols) ereport(ERROR, @@ -33670,15 +36511,15 @@ YYLTYPE yylloc; ;} break; - case 555: -#line 4320 "gram.y" + case 575: +#line 4488 "gram.y" { (yyval.keyaction) = (yyvsp[(3) - (3)].keyaction); ;} break; - case 556: -#line 4327 "gram.y" + case 576: +#line 4495 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -33688,8 +36529,8 @@ YYLTYPE yylloc; ;} break; - case 557: -#line 4335 "gram.y" + case 577: +#line 4503 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -33699,8 +36540,8 @@ YYLTYPE yylloc; ;} break; - case 558: -#line 4343 "gram.y" + case 578: +#line 4511 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -33710,8 +36551,8 @@ YYLTYPE yylloc; ;} break; - case 559: -#line 4351 "gram.y" + case 579: +#line 4519 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -33721,8 +36562,8 @@ YYLTYPE yylloc; ;} break; - case 560: -#line 4359 "gram.y" + case 580: +#line 4527 "gram.y" { KeyAction *n = palloc(sizeof(KeyAction)); @@ -33732,32 +36573,32 @@ YYLTYPE yylloc; ;} break; - case 561: -#line 4368 "gram.y" + case 581: +#line 4536 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 562: -#line 4369 "gram.y" + case 582: +#line 4537 "gram.y" { (yyval.list) = NIL; ;} break; - case 563: -#line 4373 "gram.y" + case 583: +#line 4541 "gram.y" { (yyval.partspec) = (yyvsp[(1) - (1)].partspec); ;} break; - case 564: -#line 4374 "gram.y" + case 584: +#line 4542 "gram.y" { (yyval.partspec) = NULL; ;} break; - case 565: -#line 4378 "gram.y" + case 585: +#line 4546 "gram.y" { PartitionSpec *n = makeNode(PartitionSpec); - n->strategy = (yyvsp[(3) - (6)].str); + n->strategy = parsePartitionStrategy((yyvsp[(3) - (6)].str)); n->partParams = (yyvsp[(5) - (6)].list); n->location = (yylsp[(1) - (6)]); @@ -33765,18 +36606,18 @@ YYLTYPE yylloc; ;} break; - case 566: -#line 4389 "gram.y" + case 586: +#line 4557 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].partelem)); ;} break; - case 567: -#line 4390 "gram.y" + case 587: +#line 4558 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].partelem)); ;} break; - case 568: -#line 4394 "gram.y" + case 588: +#line 4562 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -33789,8 +36630,8 @@ YYLTYPE yylloc; ;} break; - case 569: -#line 4405 "gram.y" + case 589: +#line 4573 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -33803,8 +36644,8 @@ YYLTYPE yylloc; ;} break; - case 570: -#line 4416 "gram.y" + case 590: +#line 4584 "gram.y" { PartitionElem *n = makeNode(PartitionElem); @@ -33817,78 +36658,78 @@ YYLTYPE yylloc; ;} break; - case 571: -#line 4429 "gram.y" + case 591: +#line 4597 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 572: -#line 4430 "gram.y" + case 592: +#line 4598 "gram.y" { (yyval.str) = NULL; ;} break; - case 573: -#line 4435 "gram.y" + case 593: +#line 4603 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 574: -#line 4436 "gram.y" + case 594: +#line 4604 "gram.y" { (yyval.list) = NIL; ;} break; - case 575: -#line 4437 "gram.y" + case 595: +#line 4605 "gram.y" { (yyval.list) = NIL; ;} break; - case 576: -#line 4440 "gram.y" + case 596: +#line 4608 "gram.y" { (yyval.oncommit) = ONCOMMIT_DROP; ;} break; - case 577: -#line 4441 "gram.y" + case 597: +#line 4609 "gram.y" { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;} break; - case 578: -#line 4442 "gram.y" + case 598: +#line 4610 "gram.y" { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;} break; - case 579: -#line 4443 "gram.y" + case 599: +#line 4611 "gram.y" { (yyval.oncommit) = ONCOMMIT_NOOP; ;} break; - case 580: -#line 4446 "gram.y" + case 600: +#line 4614 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 581: -#line 4447 "gram.y" + case 601: +#line 4615 "gram.y" { (yyval.str) = NULL; ;} break; - case 582: -#line 4450 "gram.y" + case 602: +#line 4618 "gram.y" { (yyval.str) = (yyvsp[(4) - (4)].str); ;} break; - case 583: -#line 4451 "gram.y" + case 603: +#line 4619 "gram.y" { (yyval.str) = NULL; ;} break; - case 584: -#line 4454 "gram.y" + case 604: +#line 4622 "gram.y" { (yyval.str) = (yyvsp[(3) - (3)].str); ;} break; - case 585: -#line 4474 "gram.y" + case 605: +#line 4644 "gram.y" { CreateStatsStmt *n = makeNode(CreateStatsStmt); @@ -33902,8 +36743,8 @@ YYLTYPE yylloc; ;} break; - case 586: -#line 4487 "gram.y" + case 606: +#line 4657 "gram.y" { CreateStatsStmt *n = makeNode(CreateStatsStmt); @@ -33917,18 +36758,18 @@ YYLTYPE yylloc; ;} break; - case 587: -#line 4507 "gram.y" + case 607: +#line 4677 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].selem)); ;} break; - case 588: -#line 4508 "gram.y" + case 608: +#line 4678 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].selem)); ;} break; - case 589: -#line 4512 "gram.y" + case 609: +#line 4682 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = (yyvsp[(1) - (1)].str); @@ -33936,8 +36777,8 @@ YYLTYPE yylloc; ;} break; - case 590: -#line 4518 "gram.y" + case 610: +#line 4688 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = NULL; @@ -33945,8 +36786,8 @@ YYLTYPE yylloc; ;} break; - case 591: -#line 4524 "gram.y" + case 611: +#line 4694 "gram.y" { (yyval.selem) = makeNode(StatsElem); (yyval.selem)->name = NULL; @@ -33954,32 +36795,32 @@ YYLTYPE yylloc; ;} break; - case 592: -#line 4541 "gram.y" + case 612: +#line 4711 "gram.y" { AlterStatsStmt *n = makeNode(AlterStatsStmt); n->defnames = (yyvsp[(3) - (6)].list); n->missing_ok = false; - n->stxstattarget = (yyvsp[(6) - (6)].ival); + n->stxstattarget = (yyvsp[(6) - (6)].node); (yyval.node) = (Node *) n; ;} break; - case 593: -#line 4550 "gram.y" + case 613: +#line 4720 "gram.y" { AlterStatsStmt *n = makeNode(AlterStatsStmt); n->defnames = (yyvsp[(5) - (8)].list); n->missing_ok = true; - n->stxstattarget = (yyvsp[(8) - (8)].ival); + n->stxstattarget = (yyvsp[(8) - (8)].node); (yyval.node) = (Node *) n; ;} break; - case 594: -#line 4572 "gram.y" + case 614: +#line 4742 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -33995,8 +36836,8 @@ YYLTYPE yylloc; ;} break; - case 595: -#line 4586 "gram.y" + case 615: +#line 4756 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -34012,8 +36853,8 @@ YYLTYPE yylloc; ;} break; - case 596: -#line 4604 "gram.y" + case 616: +#line 4774 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(1) - (6)].range); @@ -34027,23 +36868,23 @@ YYLTYPE yylloc; ;} break; - case 597: -#line 4618 "gram.y" + case 617: +#line 4788 "gram.y" { (yyval.boolean) = true; ;} break; - case 598: -#line 4619 "gram.y" + case 618: +#line 4789 "gram.y" { (yyval.boolean) = false; ;} break; - case 599: -#line 4620 "gram.y" + case 619: +#line 4790 "gram.y" { (yyval.boolean) = true; ;} break; - case 600: -#line 4633 "gram.y" + case 620: +#line 4803 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -34059,8 +36900,8 @@ YYLTYPE yylloc; ;} break; - case 601: -#line 4647 "gram.y" + case 621: +#line 4817 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); @@ -34076,8 +36917,8 @@ YYLTYPE yylloc; ;} break; - case 602: -#line 4664 "gram.y" + case 622: +#line 4834 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(1) - (5)].range); @@ -34091,18 +36932,18 @@ YYLTYPE yylloc; ;} break; - case 603: -#line 4677 "gram.y" + case 623: +#line 4847 "gram.y" { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;} break; - case 604: -#line 4678 "gram.y" + case 624: +#line 4848 "gram.y" { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;} break; - case 605: -#line 4691 "gram.y" + case 625: +#line 4861 "gram.y" { RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt); @@ -34113,8 +36954,8 @@ YYLTYPE yylloc; ;} break; - case 606: -#line 4712 "gram.y" + case 626: +#line 4882 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); @@ -34127,8 +36968,8 @@ YYLTYPE yylloc; ;} break; - case 607: -#line 4723 "gram.y" + case 627: +#line 4893 "gram.y" { CreateSeqStmt *n = makeNode(CreateSeqStmt); @@ -34141,8 +36982,8 @@ YYLTYPE yylloc; ;} break; - case 608: -#line 4737 "gram.y" + case 628: +#line 4907 "gram.y" { AlterSeqStmt *n = makeNode(AlterSeqStmt); @@ -34153,8 +36994,8 @@ YYLTYPE yylloc; ;} break; - case 609: -#line 4746 "gram.y" + case 629: +#line 4916 "gram.y" { AlterSeqStmt *n = makeNode(AlterSeqStmt); @@ -34165,147 +37006,160 @@ YYLTYPE yylloc; ;} break; - case 610: -#line 4757 "gram.y" + case 630: +#line 4927 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 611: -#line 4758 "gram.y" + case 631: +#line 4928 "gram.y" { (yyval.list) = NIL; ;} break; - case 612: -#line 4761 "gram.y" + case 632: +#line 4931 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 613: -#line 4762 "gram.y" + case 633: +#line 4932 "gram.y" { (yyval.list) = NIL; ;} break; - case 614: -#line 4765 "gram.y" + case 634: +#line 4935 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 615: -#line 4766 "gram.y" + case 635: +#line 4936 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 616: -#line 4770 "gram.y" + case 636: +#line 4940 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].typnam), (yylsp[(1) - (2)])); ;} break; - case 617: -#line 4774 "gram.y" + case 637: +#line 4944 "gram.y" { (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 618: -#line 4778 "gram.y" + case 638: +#line 4948 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 619: -#line 4782 "gram.y" + case 639: +#line 4952 "gram.y" { (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 620: -#line 4786 "gram.y" + case 640: +#line 4956 "gram.y" + { + (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); + ;} + break; + + case 641: +#line 4960 "gram.y" { - (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); + (yyval.defelt) = makeDefElem("logged", NULL, (yylsp[(1) - (1)])); ;} break; - case 621: -#line 4790 "gram.y" + case 642: +#line 4964 "gram.y" { (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 622: -#line 4794 "gram.y" + case 643: +#line 4968 "gram.y" { (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 623: -#line 4798 "gram.y" + case 644: +#line 4972 "gram.y" { (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[(1) - (2)])); ;} break; - case 624: -#line 4802 "gram.y" + case 645: +#line 4976 "gram.y" { (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[(1) - (2)])); ;} break; - case 625: -#line 4806 "gram.y" + case 646: +#line 4980 "gram.y" { (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 626: -#line 4810 "gram.y" + case 647: +#line 4984 "gram.y" { - /* not documented, only used by pg_dump */ (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 627: -#line 4815 "gram.y" + case 648: +#line 4988 "gram.y" { (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 628: -#line 4819 "gram.y" + case 649: +#line 4992 "gram.y" { (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)])); ;} break; - case 629: -#line 4823 "gram.y" + case 650: +#line 4996 "gram.y" { (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 632: -#line 4833 "gram.y" + case 651: +#line 5000 "gram.y" + { + (yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[(1) - (1)])); + ;} + break; + + case 654: +#line 5010 "gram.y" { (yyval.node) = (Node *) makeFloat((yyvsp[(1) - (1)].str)); ;} break; - case 633: -#line 4834 "gram.y" + case 655: +#line 5011 "gram.y" { (yyval.node) = (Node *) makeFloat((yyvsp[(2) - (2)].str)); ;} break; - case 634: -#line 4836 "gram.y" + case 656: +#line 5013 "gram.y" { Float *f = makeFloat((yyvsp[(2) - (2)].str)); @@ -34314,23 +37168,23 @@ YYLTYPE yylloc; ;} break; - case 635: -#line 4842 "gram.y" + case 657: +#line 5019 "gram.y" { (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;} break; - case 636: -#line 4845 "gram.y" + case 658: +#line 5022 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 637: -#line 4846 "gram.y" + case 659: +#line 5023 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 638: -#line 4859 "gram.y" + case 660: +#line 5036 "gram.y" { /* * We now interpret parameterless CREATE LANGUAGE as @@ -34348,8 +37202,8 @@ YYLTYPE yylloc; ;} break; - case 639: -#line 4876 "gram.y" + case 661: +#line 5053 "gram.y" { CreatePLangStmt *n = makeNode(CreatePLangStmt); @@ -34363,58 +37217,58 @@ YYLTYPE yylloc; ;} break; - case 640: -#line 4890 "gram.y" + case 662: +#line 5067 "gram.y" { (yyval.boolean) = true; ;} break; - case 641: -#line 4891 "gram.y" + case 663: +#line 5068 "gram.y" { (yyval.boolean) = false; ;} break; - case 642: -#line 4899 "gram.y" + case 664: +#line 5076 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 643: -#line 4900 "gram.y" + case 665: +#line 5077 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;} break; - case 644: -#line 4904 "gram.y" + case 666: +#line 5081 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 645: -#line 4905 "gram.y" + case 667: +#line 5082 "gram.y" { (yyval.list) = NIL; ;} break; - case 646: -#line 4909 "gram.y" + case 668: +#line 5086 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 647: -#line 4910 "gram.y" + case 669: +#line 5087 "gram.y" { (yyval.list) = NIL; ;} break; - case 648: -#line 4914 "gram.y" + case 670: +#line 5091 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 649: -#line 4915 "gram.y" + case 671: +#line 5092 "gram.y" { (yyval.list) = NIL; ;} break; - case 652: -#line 4931 "gram.y" + case 674: +#line 5108 "gram.y" { CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt); @@ -34426,18 +37280,18 @@ YYLTYPE yylloc; ;} break; - case 653: -#line 4942 "gram.y" + case 675: +#line 5119 "gram.y" { (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;} break; - case 654: -#line 4943 "gram.y" + case 676: +#line 5120 "gram.y" { (yyval.rolespec) = NULL; ;} break; - case 655: -#line 4957 "gram.y" + case 677: +#line 5134 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); @@ -34447,8 +37301,8 @@ YYLTYPE yylloc; ;} break; - case 656: -#line 4965 "gram.y" + case 678: +#line 5142 "gram.y" { DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt); @@ -34458,8 +37312,8 @@ YYLTYPE yylloc; ;} break; - case 657: -#line 4983 "gram.y" + case 679: +#line 5160 "gram.y" { CreateExtensionStmt *n = makeNode(CreateExtensionStmt); @@ -34470,8 +37324,8 @@ YYLTYPE yylloc; ;} break; - case 658: -#line 4992 "gram.y" + case 680: +#line 5169 "gram.y" { CreateExtensionStmt *n = makeNode(CreateExtensionStmt); @@ -34482,32 +37336,32 @@ YYLTYPE yylloc; ;} break; - case 659: -#line 5004 "gram.y" + case 681: +#line 5181 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 660: -#line 5006 "gram.y" + case 682: +#line 5183 "gram.y" { (yyval.list) = NIL; ;} break; - case 661: -#line 5011 "gram.y" + case 683: +#line 5188 "gram.y" { (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 662: -#line 5015 "gram.y" + case 684: +#line 5192 "gram.y" { (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 663: -#line 5019 "gram.y" + case 685: +#line 5196 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -34516,15 +37370,15 @@ YYLTYPE yylloc; ;} break; - case 664: -#line 5026 "gram.y" + case 686: +#line 5203 "gram.y" { (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 665: -#line 5038 "gram.y" + case 687: +#line 5215 "gram.y" { AlterExtensionStmt *n = makeNode(AlterExtensionStmt); @@ -34534,25 +37388,25 @@ YYLTYPE yylloc; ;} break; - case 666: -#line 5049 "gram.y" + case 688: +#line 5226 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 667: -#line 5051 "gram.y" + case 689: +#line 5228 "gram.y" { (yyval.list) = NIL; ;} break; - case 668: -#line 5056 "gram.y" + case 690: +#line 5233 "gram.y" { (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 669: -#line 5069 "gram.y" + case 691: +#line 5246 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34564,8 +37418,8 @@ YYLTYPE yylloc; ;} break; - case 670: -#line 5079 "gram.y" + case 692: +#line 5256 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34577,8 +37431,8 @@ YYLTYPE yylloc; ;} break; - case 671: -#line 5089 "gram.y" + case 693: +#line 5266 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34590,8 +37444,8 @@ YYLTYPE yylloc; ;} break; - case 672: -#line 5099 "gram.y" + case 694: +#line 5276 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34603,8 +37457,8 @@ YYLTYPE yylloc; ;} break; - case 673: -#line 5109 "gram.y" + case 695: +#line 5286 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34616,8 +37470,8 @@ YYLTYPE yylloc; ;} break; - case 674: -#line 5119 "gram.y" + case 696: +#line 5296 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34629,8 +37483,8 @@ YYLTYPE yylloc; ;} break; - case 675: -#line 5129 "gram.y" + case 697: +#line 5306 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34642,8 +37496,8 @@ YYLTYPE yylloc; ;} break; - case 676: -#line 5139 "gram.y" + case 698: +#line 5316 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34655,8 +37509,8 @@ YYLTYPE yylloc; ;} break; - case 677: -#line 5149 "gram.y" + case 699: +#line 5326 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34668,8 +37522,8 @@ YYLTYPE yylloc; ;} break; - case 678: -#line 5159 "gram.y" + case 700: +#line 5336 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34681,8 +37535,8 @@ YYLTYPE yylloc; ;} break; - case 679: -#line 5169 "gram.y" + case 701: +#line 5346 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34694,8 +37548,8 @@ YYLTYPE yylloc; ;} break; - case 680: -#line 5179 "gram.y" + case 702: +#line 5356 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34707,8 +37561,8 @@ YYLTYPE yylloc; ;} break; - case 681: -#line 5189 "gram.y" + case 703: +#line 5366 "gram.y" { AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt); @@ -34720,8 +37574,8 @@ YYLTYPE yylloc; ;} break; - case 682: -#line 5208 "gram.y" + case 704: +#line 5385 "gram.y" { CreateFdwStmt *n = makeNode(CreateFdwStmt); @@ -34732,48 +37586,48 @@ YYLTYPE yylloc; ;} break; - case 683: -#line 5219 "gram.y" + case 705: +#line 5396 "gram.y" { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 684: -#line 5220 "gram.y" + case 706: +#line 5397 "gram.y" { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[(1) - (2)])); ;} break; - case 685: -#line 5221 "gram.y" + case 707: +#line 5398 "gram.y" { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 686: -#line 5222 "gram.y" + case 708: +#line 5399 "gram.y" { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[(1) - (2)])); ;} break; - case 687: -#line 5226 "gram.y" + case 709: +#line 5403 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 688: -#line 5227 "gram.y" + case 710: +#line 5404 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 689: -#line 5231 "gram.y" + case 711: +#line 5408 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 690: -#line 5232 "gram.y" + case 712: +#line 5409 "gram.y" { (yyval.list) = NIL; ;} break; - case 691: -#line 5243 "gram.y" + case 713: +#line 5420 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); @@ -34784,8 +37638,8 @@ YYLTYPE yylloc; ;} break; - case 692: -#line 5252 "gram.y" + case 714: +#line 5429 "gram.y" { AlterFdwStmt *n = makeNode(AlterFdwStmt); @@ -34796,98 +37650,98 @@ YYLTYPE yylloc; ;} break; - case 693: -#line 5264 "gram.y" + case 715: +#line 5441 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 694: -#line 5265 "gram.y" + case 716: +#line 5442 "gram.y" { (yyval.list) = NIL; ;} break; - case 695: -#line 5270 "gram.y" + case 717: +#line 5447 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 696: -#line 5274 "gram.y" + case 718: +#line 5451 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 697: -#line 5281 "gram.y" + case 719: +#line 5458 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 698: -#line 5286 "gram.y" + case 720: +#line 5463 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 699: -#line 5290 "gram.y" + case 721: +#line 5467 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 700: -#line 5297 "gram.y" + case 722: +#line 5474 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; - case 701: -#line 5301 "gram.y" + case 723: +#line 5478 "gram.y" { (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_SET; ;} break; - case 702: -#line 5306 "gram.y" + case 724: +#line 5483 "gram.y" { (yyval.defelt) = (yyvsp[(2) - (2)].defelt); (yyval.defelt)->defaction = DEFELEM_ADD; ;} break; - case 703: -#line 5311 "gram.y" + case 725: +#line 5488 "gram.y" { (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)])); ;} break; - case 704: -#line 5318 "gram.y" + case 726: +#line 5495 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 705: -#line 5324 "gram.y" + case 727: +#line 5501 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 706: -#line 5329 "gram.y" + case 728: +#line 5506 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 707: -#line 5341 "gram.y" + case 729: +#line 5518 "gram.y" { CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt); @@ -34901,8 +37755,8 @@ YYLTYPE yylloc; ;} break; - case 708: -#line 5354 "gram.y" + case 730: +#line 5531 "gram.y" { CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt); @@ -34916,38 +37770,38 @@ YYLTYPE yylloc; ;} break; - case 709: -#line 5368 "gram.y" + case 731: +#line 5545 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 710: -#line 5369 "gram.y" + case 732: +#line 5546 "gram.y" { (yyval.str) = NULL; ;} break; - case 711: -#line 5374 "gram.y" + case 733: +#line 5551 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 712: -#line 5375 "gram.y" + case 734: +#line 5552 "gram.y" { (yyval.str) = NULL; ;} break; - case 713: -#line 5379 "gram.y" + case 735: +#line 5556 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 714: -#line 5380 "gram.y" + case 736: +#line 5557 "gram.y" { (yyval.str) = NULL; ;} break; - case 715: -#line 5391 "gram.y" + case 737: +#line 5568 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -34959,8 +37813,8 @@ YYLTYPE yylloc; ;} break; - case 716: -#line 5401 "gram.y" + case 738: +#line 5578 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -34971,8 +37825,8 @@ YYLTYPE yylloc; ;} break; - case 717: -#line 5410 "gram.y" + case 739: +#line 5587 "gram.y" { AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt); @@ -34982,8 +37836,8 @@ YYLTYPE yylloc; ;} break; - case 718: -#line 5430 "gram.y" + case 740: +#line 5607 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -35004,8 +37858,8 @@ YYLTYPE yylloc; ;} break; - case 719: -#line 5451 "gram.y" + case 741: +#line 5628 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -35026,8 +37880,8 @@ YYLTYPE yylloc; ;} break; - case 720: -#line 5472 "gram.y" + case 742: +#line 5649 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -35049,8 +37903,8 @@ YYLTYPE yylloc; ;} break; - case 721: -#line 5494 "gram.y" + case 743: +#line 5671 "gram.y" { CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt); @@ -35072,8 +37926,8 @@ YYLTYPE yylloc; ;} break; - case 722: -#line 5527 "gram.y" + case 744: +#line 5704 "gram.y" { ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt); @@ -35087,18 +37941,18 @@ YYLTYPE yylloc; ;} break; - case 723: -#line 5541 "gram.y" + case 745: +#line 5718 "gram.y" { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;} break; - case 724: -#line 5542 "gram.y" + case 746: +#line 5719 "gram.y" { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;} break; - case 725: -#line 5547 "gram.y" + case 747: +#line 5724 "gram.y" { ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual)); @@ -35108,8 +37962,8 @@ YYLTYPE yylloc; ;} break; - case 726: -#line 5555 "gram.y" + case 748: +#line 5732 "gram.y" { ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual)); n->type = FDW_IMPORT_SCHEMA_ALL; @@ -35118,8 +37972,8 @@ YYLTYPE yylloc; ;} break; - case 727: -#line 5571 "gram.y" + case 749: +#line 5748 "gram.y" { CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt); @@ -35131,8 +37985,8 @@ YYLTYPE yylloc; ;} break; - case 728: -#line 5581 "gram.y" + case 750: +#line 5758 "gram.y" { CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt); @@ -35144,18 +37998,18 @@ YYLTYPE yylloc; ;} break; - case 729: -#line 5593 "gram.y" + case 751: +#line 5770 "gram.y" { (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;} break; - case 730: -#line 5594 "gram.y" + case 752: +#line 5771 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;} break; - case 731: -#line 5607 "gram.y" + case 753: +#line 5784 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); @@ -35166,8 +38020,8 @@ YYLTYPE yylloc; ;} break; - case 732: -#line 5616 "gram.y" + case 754: +#line 5793 "gram.y" { DropUserMappingStmt *n = makeNode(DropUserMappingStmt); @@ -35178,8 +38032,8 @@ YYLTYPE yylloc; ;} break; - case 733: -#line 5634 "gram.y" + case 755: +#line 5811 "gram.y" { AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt); @@ -35190,8 +38044,8 @@ YYLTYPE yylloc; ;} break; - case 734: -#line 5661 "gram.y" + case 756: +#line 5838 "gram.y" { CreatePolicyStmt *n = makeNode(CreatePolicyStmt); @@ -35206,8 +38060,8 @@ YYLTYPE yylloc; ;} break; - case 735: -#line 5678 "gram.y" + case 757: +#line 5855 "gram.y" { AlterPolicyStmt *n = makeNode(AlterPolicyStmt); @@ -35220,48 +38074,48 @@ YYLTYPE yylloc; ;} break; - case 736: -#line 5691 "gram.y" + case 758: +#line 5868 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 737: -#line 5692 "gram.y" + case 759: +#line 5869 "gram.y" { (yyval.node) = NULL; ;} break; - case 738: -#line 5696 "gram.y" + case 760: +#line 5873 "gram.y" { (yyval.node) = (yyvsp[(4) - (5)].node); ;} break; - case 739: -#line 5697 "gram.y" + case 761: +#line 5874 "gram.y" { (yyval.node) = NULL; ;} break; - case 740: -#line 5701 "gram.y" + case 762: +#line 5878 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 741: -#line 5702 "gram.y" + case 763: +#line 5879 "gram.y" { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;} break; - case 742: -#line 5706 "gram.y" + case 764: +#line 5883 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 743: -#line 5707 "gram.y" + case 765: +#line 5884 "gram.y" { (yyval.list) = NULL; ;} break; - case 744: -#line 5712 "gram.y" + case 766: +#line 5889 "gram.y" { if (strcmp((yyvsp[(2) - (2)].str), "permissive") == 0) (yyval.boolean) = true; @@ -35277,48 +38131,48 @@ YYLTYPE yylloc; ;} break; - case 745: -#line 5725 "gram.y" + case 767: +#line 5902 "gram.y" { (yyval.boolean) = true; ;} break; - case 746: -#line 5729 "gram.y" + case 768: +#line 5906 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 747: -#line 5730 "gram.y" + case 769: +#line 5907 "gram.y" { (yyval.str) = "all"; ;} break; - case 748: -#line 5734 "gram.y" + case 770: +#line 5911 "gram.y" { (yyval.str) = "all"; ;} break; - case 749: -#line 5735 "gram.y" + case 771: +#line 5912 "gram.y" { (yyval.str) = "select"; ;} break; - case 750: -#line 5736 "gram.y" + case 772: +#line 5913 "gram.y" { (yyval.str) = "insert"; ;} break; - case 751: -#line 5737 "gram.y" + case 773: +#line 5914 "gram.y" { (yyval.str) = "update"; ;} break; - case 752: -#line 5738 "gram.y" + case 774: +#line 5915 "gram.y" { (yyval.str) = "delete"; ;} break; - case 753: -#line 5749 "gram.y" + case 775: +#line 5926 "gram.y" { CreateAmStmt *n = makeNode(CreateAmStmt); @@ -35329,18 +38183,18 @@ YYLTYPE yylloc; ;} break; - case 754: -#line 5760 "gram.y" + case 776: +#line 5937 "gram.y" { (yyval.chr) = AMTYPE_INDEX; ;} break; - case 755: -#line 5761 "gram.y" + case 777: +#line 5938 "gram.y" { (yyval.chr) = AMTYPE_TABLE; ;} break; - case 756: -#line 5775 "gram.y" + case 778: +#line 5952 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); @@ -35363,8 +38217,8 @@ YYLTYPE yylloc; ;} break; - case 757: -#line 5799 "gram.y" + case 779: +#line 5976 "gram.y" { CreateTrigStmt *n = makeNode(CreateTrigStmt); @@ -35392,28 +38246,28 @@ YYLTYPE yylloc; ;} break; - case 758: -#line 5827 "gram.y" + case 780: +#line 6004 "gram.y" { (yyval.ival) = TRIGGER_TYPE_BEFORE; ;} break; - case 759: -#line 5828 "gram.y" + case 781: +#line 6005 "gram.y" { (yyval.ival) = TRIGGER_TYPE_AFTER; ;} break; - case 760: -#line 5829 "gram.y" + case 782: +#line 6006 "gram.y" { (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;} break; - case 761: -#line 5834 "gram.y" + case 783: +#line 6011 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 762: -#line 5836 "gram.y" + case 784: +#line 6013 "gram.y" { int events1 = intVal(linitial((yyvsp[(1) - (3)].list))); int events2 = intVal(linitial((yyvsp[(3) - (3)].list))); @@ -35434,53 +38288,53 @@ YYLTYPE yylloc; ;} break; - case 763: -#line 5858 "gram.y" + case 785: +#line 6035 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;} break; - case 764: -#line 5860 "gram.y" + case 786: +#line 6037 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;} break; - case 765: -#line 5862 "gram.y" + case 787: +#line 6039 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;} break; - case 766: -#line 5864 "gram.y" + case 788: +#line 6041 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;} break; - case 767: -#line 5866 "gram.y" + case 789: +#line 6043 "gram.y" { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;} break; - case 768: -#line 5870 "gram.y" + case 790: +#line 6047 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 769: -#line 5871 "gram.y" + case 791: +#line 6048 "gram.y" { (yyval.list) = NIL; ;} break; - case 770: -#line 5875 "gram.y" + case 792: +#line 6052 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 771: -#line 5876 "gram.y" + case 793: +#line 6053 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 772: -#line 5881 "gram.y" + case 794: +#line 6058 "gram.y" { TriggerTransition *n = makeNode(TriggerTransition); @@ -35491,40 +38345,40 @@ YYLTYPE yylloc; ;} break; - case 773: -#line 5892 "gram.y" + case 795: +#line 6069 "gram.y" { (yyval.boolean) = true; ;} break; - case 774: -#line 5893 "gram.y" + case 796: +#line 6070 "gram.y" { (yyval.boolean) = false; ;} break; - case 775: -#line 5897 "gram.y" + case 797: +#line 6074 "gram.y" { (yyval.boolean) = true; ;} break; - case 776: -#line 5906 "gram.y" + case 798: +#line 6083 "gram.y" { (yyval.boolean) = false; ;} break; - case 777: -#line 5910 "gram.y" + case 799: +#line 6087 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 778: -#line 5915 "gram.y" + case 800: +#line 6092 "gram.y" { (yyval.boolean) = (yyvsp[(3) - (3)].boolean); ;} break; - case 779: -#line 5919 "gram.y" + case 801: +#line 6096 "gram.y" { /* * If ROW/STATEMENT not specified, default to @@ -35534,80 +38388,80 @@ YYLTYPE yylloc; ;} break; - case 782: -#line 5934 "gram.y" + case 804: +#line 6111 "gram.y" { (yyval.boolean) = true; ;} break; - case 783: -#line 5935 "gram.y" + case 805: +#line 6112 "gram.y" { (yyval.boolean) = false; ;} break; - case 784: -#line 5939 "gram.y" + case 806: +#line 6116 "gram.y" { (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 785: -#line 5940 "gram.y" + case 807: +#line 6117 "gram.y" { (yyval.node) = NULL; ;} break; - case 788: -#line 5949 "gram.y" + case 810: +#line 6126 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 789: -#line 5950 "gram.y" + case 811: +#line 6127 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 790: -#line 5951 "gram.y" + case 812: +#line 6128 "gram.y" { (yyval.list) = NIL; ;} break; - case 791: -#line 5956 "gram.y" + case 813: +#line 6133 "gram.y" { (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[(1) - (1)].ival))); ;} break; - case 792: -#line 5959 "gram.y" + case 814: +#line 6136 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 793: -#line 5960 "gram.y" + case 815: +#line 6137 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 794: -#line 5961 "gram.y" + case 816: +#line 6138 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 795: -#line 5965 "gram.y" + case 817: +#line 6142 "gram.y" { (yyval.range) = (yyvsp[(2) - (2)].range); ;} break; - case 796: -#line 5966 "gram.y" + case 818: +#line 6143 "gram.y" { (yyval.range) = NULL; ;} break; - case 797: -#line 5971 "gram.y" + case 819: +#line 6148 "gram.y" { (yyval.ival) = 0; ;} break; - case 798: -#line 5973 "gram.y" + case 820: +#line 6150 "gram.y" { /* * We must complain about conflicting options. @@ -35633,38 +38487,38 @@ YYLTYPE yylloc; ;} break; - case 799: -#line 5999 "gram.y" + case 821: +#line 6176 "gram.y" { (yyval.ival) = CAS_NOT_DEFERRABLE; ;} break; - case 800: -#line 6000 "gram.y" + case 822: +#line 6177 "gram.y" { (yyval.ival) = CAS_DEFERRABLE; ;} break; - case 801: -#line 6001 "gram.y" + case 823: +#line 6178 "gram.y" { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;} break; - case 802: -#line 6002 "gram.y" + case 824: +#line 6179 "gram.y" { (yyval.ival) = CAS_INITIALLY_DEFERRED; ;} break; - case 803: -#line 6003 "gram.y" + case 825: +#line 6180 "gram.y" { (yyval.ival) = CAS_NOT_VALID; ;} break; - case 804: -#line 6004 "gram.y" + case 826: +#line 6181 "gram.y" { (yyval.ival) = CAS_NO_INHERIT; ;} break; - case 805: -#line 6019 "gram.y" + case 827: +#line 6196 "gram.y" { CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt); @@ -35676,8 +38530,8 @@ YYLTYPE yylloc; ;} break; - case 806: -#line 6031 "gram.y" + case 828: +#line 6208 "gram.y" { CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt); @@ -35689,33 +38543,33 @@ YYLTYPE yylloc; ;} break; - case 807: -#line 6044 "gram.y" + case 829: +#line 6221 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 808: -#line 6046 "gram.y" + case 830: +#line 6223 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 809: -#line 6051 "gram.y" + case 831: +#line 6228 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;} break; - case 810: -#line 6056 "gram.y" + case 832: +#line 6233 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 811: -#line 6058 "gram.y" + case 833: +#line 6235 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 812: -#line 6063 "gram.y" + case 834: +#line 6240 "gram.y" { AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt); @@ -35725,28 +38579,28 @@ YYLTYPE yylloc; ;} break; - case 813: -#line 6073 "gram.y" + case 835: +#line 6250 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;} break; - case 814: -#line 6074 "gram.y" + case 836: +#line 6251 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;} break; - case 815: -#line 6075 "gram.y" + case 837: +#line 6252 "gram.y" { (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;} break; - case 816: -#line 6076 "gram.y" + case 838: +#line 6253 "gram.y" { (yyval.chr) = TRIGGER_DISABLED; ;} break; - case 817: -#line 6088 "gram.y" + case 839: +#line 6265 "gram.y" { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -35756,8 +38610,8 @@ YYLTYPE yylloc; ;} break; - case 818: -#line 6107 "gram.y" + case 840: +#line 6284 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35771,8 +38625,8 @@ YYLTYPE yylloc; ;} break; - case 819: -#line 6119 "gram.y" + case 841: +#line 6296 "gram.y" { /* old-style (pre-8.2) syntax for CREATE AGGREGATE */ DefineStmt *n = makeNode(DefineStmt); @@ -35787,8 +38641,8 @@ YYLTYPE yylloc; ;} break; - case 820: -#line 6132 "gram.y" + case 842: +#line 6309 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35801,8 +38655,8 @@ YYLTYPE yylloc; ;} break; - case 821: -#line 6143 "gram.y" + case 843: +#line 6320 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35815,8 +38669,8 @@ YYLTYPE yylloc; ;} break; - case 822: -#line 6154 "gram.y" + case 844: +#line 6331 "gram.y" { /* Shell type (identified by lack of definition) */ DefineStmt *n = makeNode(DefineStmt); @@ -35830,8 +38684,8 @@ YYLTYPE yylloc; ;} break; - case 823: -#line 6166 "gram.y" + case 845: +#line 6343 "gram.y" { CompositeTypeStmt *n = makeNode(CompositeTypeStmt); @@ -35842,8 +38696,8 @@ YYLTYPE yylloc; ;} break; - case 824: -#line 6175 "gram.y" + case 846: +#line 6352 "gram.y" { CreateEnumStmt *n = makeNode(CreateEnumStmt); @@ -35853,8 +38707,8 @@ YYLTYPE yylloc; ;} break; - case 825: -#line 6183 "gram.y" + case 847: +#line 6360 "gram.y" { CreateRangeStmt *n = makeNode(CreateRangeStmt); @@ -35864,8 +38718,8 @@ YYLTYPE yylloc; ;} break; - case 826: -#line 6191 "gram.y" + case 848: +#line 6368 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35877,8 +38731,8 @@ YYLTYPE yylloc; ;} break; - case 827: -#line 6201 "gram.y" + case 849: +#line 6378 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35890,8 +38744,8 @@ YYLTYPE yylloc; ;} break; - case 828: -#line 6211 "gram.y" + case 850: +#line 6388 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35903,8 +38757,8 @@ YYLTYPE yylloc; ;} break; - case 829: -#line 6221 "gram.y" + case 851: +#line 6398 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35916,8 +38770,8 @@ YYLTYPE yylloc; ;} break; - case 830: -#line 6231 "gram.y" + case 852: +#line 6408 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35929,8 +38783,8 @@ YYLTYPE yylloc; ;} break; - case 831: -#line 6241 "gram.y" + case 853: +#line 6418 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35943,8 +38797,8 @@ YYLTYPE yylloc; ;} break; - case 832: -#line 6252 "gram.y" + case 854: +#line 6429 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35956,8 +38810,8 @@ YYLTYPE yylloc; ;} break; - case 833: -#line 6262 "gram.y" + case 855: +#line 6439 "gram.y" { DefineStmt *n = makeNode(DefineStmt); @@ -35970,109 +38824,109 @@ YYLTYPE yylloc; ;} break; - case 834: -#line 6274 "gram.y" + case 856: +#line 6451 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 835: -#line 6277 "gram.y" + case 857: +#line 6454 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 836: -#line 6278 "gram.y" + case 858: +#line 6455 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 837: -#line 6282 "gram.y" + case 859: +#line 6459 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 838: -#line 6286 "gram.y" + case 860: +#line 6463 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} break; - case 839: -#line 6292 "gram.y" + case 861: +#line 6469 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;} break; - case 840: -#line 6293 "gram.y" + case 862: +#line 6470 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 841: -#line 6294 "gram.y" + case 863: +#line 6471 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;} break; - case 842: -#line 6295 "gram.y" + case 864: +#line 6472 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 843: -#line 6296 "gram.y" + case 865: +#line 6473 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 844: -#line 6297 "gram.y" + case 866: +#line 6474 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 845: -#line 6300 "gram.y" + case 867: +#line 6477 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 846: -#line 6303 "gram.y" + case 868: +#line 6480 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 847: -#line 6304 "gram.y" + case 869: +#line 6481 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 848: -#line 6313 "gram.y" + case 870: +#line 6490 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 849: -#line 6319 "gram.y" + case 871: +#line 6496 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 850: -#line 6320 "gram.y" + case 872: +#line 6497 "gram.y" { (yyval.list) = NIL; ;} break; - case 851: -#line 6324 "gram.y" + case 873: +#line 6501 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 852: -#line 6326 "gram.y" + case 874: +#line 6503 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 853: -#line 6337 "gram.y" + case 875: +#line 6514 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -36086,8 +38940,8 @@ YYLTYPE yylloc; ;} break; - case 854: -#line 6349 "gram.y" + case 876: +#line 6526 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -36101,8 +38955,8 @@ YYLTYPE yylloc; ;} break; - case 855: -#line 6361 "gram.y" + case 877: +#line 6538 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -36116,8 +38970,8 @@ YYLTYPE yylloc; ;} break; - case 856: -#line 6373 "gram.y" + case 878: +#line 6550 "gram.y" { AlterEnumStmt *n = makeNode(AlterEnumStmt); @@ -36131,18 +38985,48 @@ YYLTYPE yylloc; ;} break; - case 857: -#line 6386 "gram.y" + case 879: +#line 6562 "gram.y" + { + /* + * The following problems must be solved before this can be + * implemented: + * + * - There must be no instance of the target value in + * any table. + * + * - The value must not appear in any catalog metadata, + * such as stored view expressions or column defaults. + * + * - The value must not appear in any non-leaf page of a + * btree (and similar issues with other index types). + * This is problematic because a value could persist + * there long after it's gone from user-visible data. + * + * - Concurrent sessions must not be able to insert the + * value while the preceding conditions are being checked. + * + * - Possibly more... + */ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("dropping an enum value is not implemented"), + parser_errposition((yylsp[(4) - (6)])))); + ;} + break; + + case 880: +#line 6590 "gram.y" { (yyval.boolean) = true; ;} break; - case 858: -#line 6387 "gram.y" + case 881: +#line 6591 "gram.y" { (yyval.boolean) = false; ;} break; - case 859: -#line 6405 "gram.y" + case 882: +#line 6609 "gram.y" { CreateOpClassStmt *n = makeNode(CreateOpClassStmt); @@ -36156,18 +39040,18 @@ YYLTYPE yylloc; ;} break; - case 860: -#line 6419 "gram.y" + case 883: +#line 6623 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 861: -#line 6420 "gram.y" + case 884: +#line 6624 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 862: -#line 6425 "gram.y" + case 885: +#line 6629 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); ObjectWithArgs *owa = makeNode(ObjectWithArgs); @@ -36182,8 +39066,8 @@ YYLTYPE yylloc; ;} break; - case 863: -#line 6439 "gram.y" + case 886: +#line 6643 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36195,8 +39079,8 @@ YYLTYPE yylloc; ;} break; - case 864: -#line 6449 "gram.y" + case 887: +#line 6653 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36207,8 +39091,8 @@ YYLTYPE yylloc; ;} break; - case 865: -#line 6458 "gram.y" + case 888: +#line 6662 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36220,8 +39104,8 @@ YYLTYPE yylloc; ;} break; - case 866: -#line 6468 "gram.y" + case 889: +#line 6672 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36231,43 +39115,43 @@ YYLTYPE yylloc; ;} break; - case 867: -#line 6477 "gram.y" + case 890: +#line 6681 "gram.y" { (yyval.boolean) = true; ;} break; - case 868: -#line 6478 "gram.y" + case 891: +#line 6682 "gram.y" { (yyval.boolean) = false; ;} break; - case 869: -#line 6481 "gram.y" + case 892: +#line 6685 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 870: -#line 6482 "gram.y" + case 893: +#line 6686 "gram.y" { (yyval.list) = NIL; ;} break; - case 871: -#line 6485 "gram.y" + case 894: +#line 6689 "gram.y" { (yyval.list) = NIL; ;} break; - case 872: -#line 6486 "gram.y" + case 895: +#line 6690 "gram.y" { (yyval.list) = (yyvsp[(4) - (4)].list); ;} break; - case 873: -#line 6487 "gram.y" + case 896: +#line 6691 "gram.y" { (yyval.list) = NIL; ;} break; - case 874: -#line 6491 "gram.y" + case 897: +#line 6695 "gram.y" { /* * RECHECK no longer does anything in opclass definitions, @@ -36283,13 +39167,13 @@ YYLTYPE yylloc; ;} break; - case 875: -#line 6504 "gram.y" + case 898: +#line 6708 "gram.y" { (yyval.boolean) = false; ;} break; - case 876: -#line 6510 "gram.y" + case 899: +#line 6714 "gram.y" { CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt); @@ -36299,8 +39183,8 @@ YYLTYPE yylloc; ;} break; - case 877: -#line 6521 "gram.y" + case 900: +#line 6725 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); @@ -36312,8 +39196,8 @@ YYLTYPE yylloc; ;} break; - case 878: -#line 6531 "gram.y" + case 901: +#line 6735 "gram.y" { AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt); @@ -36325,18 +39209,18 @@ YYLTYPE yylloc; ;} break; - case 879: -#line 6543 "gram.y" + case 902: +#line 6747 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 880: -#line 6544 "gram.y" + case 903: +#line 6748 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 881: -#line 6549 "gram.y" + case 904: +#line 6753 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36347,8 +39231,8 @@ YYLTYPE yylloc; ;} break; - case 882: -#line 6558 "gram.y" + case 905: +#line 6762 "gram.y" { CreateOpClassItem *n = makeNode(CreateOpClassItem); @@ -36359,8 +39243,8 @@ YYLTYPE yylloc; ;} break; - case 883: -#line 6571 "gram.y" + case 906: +#line 6775 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36373,8 +39257,8 @@ YYLTYPE yylloc; ;} break; - case 884: -#line 6582 "gram.y" + case 907: +#line 6786 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36387,8 +39271,8 @@ YYLTYPE yylloc; ;} break; - case 885: -#line 6596 "gram.y" + case 908: +#line 6800 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36401,8 +39285,8 @@ YYLTYPE yylloc; ;} break; - case 886: -#line 6607 "gram.y" + case 909: +#line 6811 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36415,8 +39299,8 @@ YYLTYPE yylloc; ;} break; - case 887: -#line 6630 "gram.y" + case 910: +#line 6834 "gram.y" { DropOwnedStmt *n = makeNode(DropOwnedStmt); @@ -36426,8 +39310,8 @@ YYLTYPE yylloc; ;} break; - case 888: -#line 6641 "gram.y" + case 911: +#line 6845 "gram.y" { ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt); @@ -36437,8 +39321,8 @@ YYLTYPE yylloc; ;} break; - case 889: -#line 6660 "gram.y" + case 912: +#line 6864 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36451,8 +39335,8 @@ YYLTYPE yylloc; ;} break; - case 890: -#line 6671 "gram.y" + case 913: +#line 6875 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36465,8 +39349,8 @@ YYLTYPE yylloc; ;} break; - case 891: -#line 6682 "gram.y" + case 914: +#line 6886 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36479,8 +39363,8 @@ YYLTYPE yylloc; ;} break; - case 892: -#line 6693 "gram.y" + case 915: +#line 6897 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36493,8 +39377,8 @@ YYLTYPE yylloc; ;} break; - case 893: -#line 6704 "gram.y" + case 916: +#line 6908 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36507,8 +39391,8 @@ YYLTYPE yylloc; ;} break; - case 894: -#line 6715 "gram.y" + case 917: +#line 6919 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36521,8 +39405,8 @@ YYLTYPE yylloc; ;} break; - case 895: -#line 6726 "gram.y" + case 918: +#line 6930 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36535,8 +39419,8 @@ YYLTYPE yylloc; ;} break; - case 896: -#line 6737 "gram.y" + case 919: +#line 6941 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36549,8 +39433,8 @@ YYLTYPE yylloc; ;} break; - case 897: -#line 6748 "gram.y" + case 920: +#line 6952 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36563,8 +39447,8 @@ YYLTYPE yylloc; ;} break; - case 898: -#line 6759 "gram.y" + case 921: +#line 6963 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36577,8 +39461,8 @@ YYLTYPE yylloc; ;} break; - case 899: -#line 6770 "gram.y" + case 922: +#line 6974 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36591,8 +39475,8 @@ YYLTYPE yylloc; ;} break; - case 900: -#line 6781 "gram.y" + case 923: +#line 6985 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -36605,193 +39489,193 @@ YYLTYPE yylloc; ;} break; - case 901: -#line 6795 "gram.y" + case 924: +#line 6999 "gram.y" { (yyval.objtype) = OBJECT_TABLE; ;} break; - case 902: -#line 6796 "gram.y" + case 925: +#line 7000 "gram.y" { (yyval.objtype) = OBJECT_SEQUENCE; ;} break; - case 903: -#line 6797 "gram.y" + case 926: +#line 7001 "gram.y" { (yyval.objtype) = OBJECT_VIEW; ;} break; - case 904: -#line 6798 "gram.y" + case 927: +#line 7002 "gram.y" { (yyval.objtype) = OBJECT_MATVIEW; ;} break; - case 905: -#line 6799 "gram.y" + case 928: +#line 7003 "gram.y" { (yyval.objtype) = OBJECT_INDEX; ;} break; - case 906: -#line 6800 "gram.y" + case 929: +#line 7004 "gram.y" { (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;} break; - case 907: -#line 6801 "gram.y" + case 930: +#line 7005 "gram.y" { (yyval.objtype) = OBJECT_COLLATION; ;} break; - case 908: -#line 6802 "gram.y" + case 931: +#line 7006 "gram.y" { (yyval.objtype) = OBJECT_CONVERSION; ;} break; - case 909: -#line 6803 "gram.y" + case 932: +#line 7007 "gram.y" { (yyval.objtype) = OBJECT_STATISTIC_EXT; ;} break; - case 910: -#line 6804 "gram.y" + case 933: +#line 7008 "gram.y" { (yyval.objtype) = OBJECT_TSPARSER; ;} break; - case 911: -#line 6805 "gram.y" + case 934: +#line 7009 "gram.y" { (yyval.objtype) = OBJECT_TSDICTIONARY; ;} break; - case 912: -#line 6806 "gram.y" + case 935: +#line 7010 "gram.y" { (yyval.objtype) = OBJECT_TSTEMPLATE; ;} break; - case 913: -#line 6807 "gram.y" + case 936: +#line 7011 "gram.y" { (yyval.objtype) = OBJECT_TSCONFIGURATION; ;} break; - case 914: -#line 6817 "gram.y" + case 937: +#line 7021 "gram.y" { (yyval.objtype) = (yyvsp[(1) - (1)].objtype); ;} break; - case 915: -#line 6818 "gram.y" + case 938: +#line 7022 "gram.y" { (yyval.objtype) = OBJECT_DATABASE; ;} break; - case 916: -#line 6819 "gram.y" + case 939: +#line 7023 "gram.y" { (yyval.objtype) = OBJECT_ROLE; ;} break; - case 917: -#line 6820 "gram.y" + case 940: +#line 7024 "gram.y" { (yyval.objtype) = OBJECT_SUBSCRIPTION; ;} break; - case 918: -#line 6821 "gram.y" + case 941: +#line 7025 "gram.y" { (yyval.objtype) = OBJECT_TABLESPACE; ;} break; - case 919: -#line 6825 "gram.y" + case 942: +#line 7029 "gram.y" { (yyval.objtype) = OBJECT_ACCESS_METHOD; ;} break; - case 920: -#line 6826 "gram.y" + case 943: +#line 7030 "gram.y" { (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;} break; - case 921: -#line 6827 "gram.y" + case 944: +#line 7031 "gram.y" { (yyval.objtype) = OBJECT_EXTENSION; ;} break; - case 922: -#line 6828 "gram.y" + case 945: +#line 7032 "gram.y" { (yyval.objtype) = OBJECT_FDW; ;} break; - case 923: -#line 6829 "gram.y" + case 946: +#line 7033 "gram.y" { (yyval.objtype) = OBJECT_LANGUAGE; ;} break; - case 924: -#line 6830 "gram.y" + case 947: +#line 7034 "gram.y" { (yyval.objtype) = OBJECT_PUBLICATION; ;} break; - case 925: -#line 6831 "gram.y" + case 948: +#line 7035 "gram.y" { (yyval.objtype) = OBJECT_SCHEMA; ;} break; - case 926: -#line 6832 "gram.y" + case 949: +#line 7036 "gram.y" { (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;} break; - case 927: -#line 6837 "gram.y" + case 950: +#line 7041 "gram.y" { (yyval.objtype) = OBJECT_POLICY; ;} break; - case 928: -#line 6838 "gram.y" + case 951: +#line 7042 "gram.y" { (yyval.objtype) = OBJECT_RULE; ;} break; - case 929: -#line 6839 "gram.y" + case 952: +#line 7043 "gram.y" { (yyval.objtype) = OBJECT_TRIGGER; ;} break; - case 930: -#line 6843 "gram.y" + case 953: +#line 7047 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 931: -#line 6844 "gram.y" + case 954: +#line 7048 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 932: -#line 6847 "gram.y" + case 955: +#line 7051 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 933: -#line 6848 "gram.y" + case 956: +#line 7052 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;} break; - case 934: -#line 6852 "gram.y" + case 957: +#line 7056 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;} break; - case 935: -#line 6854 "gram.y" + case 958: +#line 7058 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 936: -#line 6858 "gram.y" + case 959: +#line 7062 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;} break; - case 937: -#line 6859 "gram.y" + case 960: +#line 7063 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;} break; - case 938: -#line 6871 "gram.y" + case 961: +#line 7075 "gram.y" { TruncateStmt *n = makeNode(TruncateStmt); @@ -36802,23 +39686,23 @@ YYLTYPE yylloc; ;} break; - case 939: -#line 6882 "gram.y" + case 962: +#line 7086 "gram.y" { (yyval.boolean) = false; ;} break; - case 940: -#line 6883 "gram.y" + case 963: +#line 7087 "gram.y" { (yyval.boolean) = true; ;} break; - case 941: -#line 6884 "gram.y" + case 964: +#line 7088 "gram.y" { (yyval.boolean) = false; ;} break; - case 942: -#line 6895 "gram.y" + case 965: +#line 7099 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36829,8 +39713,8 @@ YYLTYPE yylloc; ;} break; - case 943: -#line 6904 "gram.y" + case 966: +#line 7108 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36841,8 +39725,8 @@ YYLTYPE yylloc; ;} break; - case 944: -#line 6913 "gram.y" + case 967: +#line 7117 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36853,8 +39737,8 @@ YYLTYPE yylloc; ;} break; - case 945: -#line 6922 "gram.y" + case 968: +#line 7126 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36865,8 +39749,8 @@ YYLTYPE yylloc; ;} break; - case 946: -#line 6931 "gram.y" + case 969: +#line 7135 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36877,8 +39761,8 @@ YYLTYPE yylloc; ;} break; - case 947: -#line 6940 "gram.y" + case 970: +#line 7144 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36889,8 +39773,8 @@ YYLTYPE yylloc; ;} break; - case 948: -#line 6949 "gram.y" + case 971: +#line 7153 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36901,8 +39785,8 @@ YYLTYPE yylloc; ;} break; - case 949: -#line 6958 "gram.y" + case 972: +#line 7162 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36913,8 +39797,8 @@ YYLTYPE yylloc; ;} break; - case 950: -#line 6967 "gram.y" + case 973: +#line 7171 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36925,8 +39809,8 @@ YYLTYPE yylloc; ;} break; - case 951: -#line 6976 "gram.y" + case 974: +#line 7180 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36942,8 +39826,8 @@ YYLTYPE yylloc; ;} break; - case 952: -#line 6990 "gram.y" + case 975: +#line 7194 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36954,8 +39838,8 @@ YYLTYPE yylloc; ;} break; - case 953: -#line 6999 "gram.y" + case 976: +#line 7203 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36966,8 +39850,8 @@ YYLTYPE yylloc; ;} break; - case 954: -#line 7008 "gram.y" + case 977: +#line 7212 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36978,8 +39862,8 @@ YYLTYPE yylloc; ;} break; - case 955: -#line 7017 "gram.y" + case 978: +#line 7221 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -36990,8 +39874,8 @@ YYLTYPE yylloc; ;} break; - case 956: -#line 7026 "gram.y" + case 979: +#line 7230 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37002,8 +39886,8 @@ YYLTYPE yylloc; ;} break; - case 957: -#line 7035 "gram.y" + case 980: +#line 7239 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37014,8 +39898,8 @@ YYLTYPE yylloc; ;} break; - case 958: -#line 7044 "gram.y" + case 981: +#line 7248 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37026,8 +39910,8 @@ YYLTYPE yylloc; ;} break; - case 959: -#line 7053 "gram.y" + case 982: +#line 7257 "gram.y" { CommentStmt *n = makeNode(CommentStmt); @@ -37038,18 +39922,18 @@ YYLTYPE yylloc; ;} break; - case 960: -#line 7064 "gram.y" + case 983: +#line 7268 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 961: -#line 7065 "gram.y" + case 984: +#line 7269 "gram.y" { (yyval.str) = NULL; ;} break; - case 962: -#line 7081 "gram.y" + case 985: +#line 7285 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37061,8 +39945,8 @@ YYLTYPE yylloc; ;} break; - case 963: -#line 7092 "gram.y" + case 986: +#line 7296 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37074,8 +39958,8 @@ YYLTYPE yylloc; ;} break; - case 964: -#line 7103 "gram.y" + case 987: +#line 7307 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37087,8 +39971,8 @@ YYLTYPE yylloc; ;} break; - case 965: -#line 7114 "gram.y" + case 988: +#line 7318 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37100,8 +39984,8 @@ YYLTYPE yylloc; ;} break; - case 966: -#line 7125 "gram.y" + case 989: +#line 7329 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37113,8 +39997,8 @@ YYLTYPE yylloc; ;} break; - case 967: -#line 7136 "gram.y" + case 990: +#line 7340 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37126,8 +40010,8 @@ YYLTYPE yylloc; ;} break; - case 968: -#line 7147 "gram.y" + case 991: +#line 7351 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37139,8 +40023,8 @@ YYLTYPE yylloc; ;} break; - case 969: -#line 7158 "gram.y" + case 992: +#line 7362 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37152,8 +40036,8 @@ YYLTYPE yylloc; ;} break; - case 970: -#line 7169 "gram.y" + case 993: +#line 7373 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37165,8 +40049,8 @@ YYLTYPE yylloc; ;} break; - case 971: -#line 7180 "gram.y" + case 994: +#line 7384 "gram.y" { SecLabelStmt *n = makeNode(SecLabelStmt); @@ -37178,28 +40062,28 @@ YYLTYPE yylloc; ;} break; - case 972: -#line 7191 "gram.y" + case 995: +#line 7395 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 973: -#line 7192 "gram.y" + case 996: +#line 7396 "gram.y" { (yyval.str) = NULL; ;} break; - case 974: -#line 7195 "gram.y" + case 997: +#line 7399 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 975: -#line 7196 "gram.y" + case 998: +#line 7400 "gram.y" { (yyval.str) = NULL; ;} break; - case 976: -#line 7207 "gram.y" + case 999: +#line 7411 "gram.y" { FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node); @@ -37208,8 +40092,8 @@ YYLTYPE yylloc; ;} break; - case 977: -#line 7214 "gram.y" + case 1000: +#line 7418 "gram.y" { FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node); @@ -37218,8 +40102,8 @@ YYLTYPE yylloc; ;} break; - case 978: -#line 7223 "gram.y" + case 1001: +#line 7427 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37230,8 +40114,8 @@ YYLTYPE yylloc; ;} break; - case 979: -#line 7232 "gram.y" + case 1002: +#line 7436 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37242,8 +40126,8 @@ YYLTYPE yylloc; ;} break; - case 980: -#line 7241 "gram.y" + case 1003: +#line 7445 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37254,8 +40138,8 @@ YYLTYPE yylloc; ;} break; - case 981: -#line 7250 "gram.y" + case 1004: +#line 7454 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37266,8 +40150,8 @@ YYLTYPE yylloc; ;} break; - case 982: -#line 7259 "gram.y" + case 1005: +#line 7463 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37278,8 +40162,8 @@ YYLTYPE yylloc; ;} break; - case 983: -#line 7268 "gram.y" + case 1006: +#line 7472 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37290,8 +40174,8 @@ YYLTYPE yylloc; ;} break; - case 984: -#line 7277 "gram.y" + case 1007: +#line 7481 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37302,8 +40186,8 @@ YYLTYPE yylloc; ;} break; - case 985: -#line 7286 "gram.y" + case 1008: +#line 7490 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37314,8 +40198,8 @@ YYLTYPE yylloc; ;} break; - case 986: -#line 7295 "gram.y" + case 1009: +#line 7499 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37326,8 +40210,8 @@ YYLTYPE yylloc; ;} break; - case 987: -#line 7304 "gram.y" + case 1010: +#line 7508 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37338,8 +40222,8 @@ YYLTYPE yylloc; ;} break; - case 988: -#line 7313 "gram.y" + case 1011: +#line 7517 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37350,8 +40234,8 @@ YYLTYPE yylloc; ;} break; - case 989: -#line 7322 "gram.y" + case 1012: +#line 7526 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37362,8 +40246,8 @@ YYLTYPE yylloc; ;} break; - case 990: -#line 7331 "gram.y" + case 1013: +#line 7535 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37374,8 +40258,8 @@ YYLTYPE yylloc; ;} break; - case 991: -#line 7340 "gram.y" + case 1014: +#line 7544 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37386,8 +40270,8 @@ YYLTYPE yylloc; ;} break; - case 992: -#line 7349 "gram.y" + case 1015: +#line 7553 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37398,8 +40282,8 @@ YYLTYPE yylloc; ;} break; - case 993: -#line 7358 "gram.y" + case 1016: +#line 7562 "gram.y" { FetchStmt *n = makeNode(FetchStmt); @@ -37410,8 +40294,8 @@ YYLTYPE yylloc; ;} break; - case 998: -#line 7385 "gram.y" + case 1021: +#line 7589 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -37427,8 +40311,8 @@ YYLTYPE yylloc; ;} break; - case 999: -#line 7403 "gram.y" + case 1022: +#line 7607 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -37445,8 +40329,8 @@ YYLTYPE yylloc; ;} break; - case 1000: -#line 7419 "gram.y" + case 1023: +#line 7623 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -37463,23 +40347,23 @@ YYLTYPE yylloc; ;} break; - case 1001: -#line 7446 "gram.y" + case 1024: +#line 7650 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1002: -#line 7448 "gram.y" + case 1025: +#line 7652 "gram.y" { (yyval.list) = NIL; ;} break; - case 1003: -#line 7450 "gram.y" + case 1026: +#line 7654 "gram.y" { (yyval.list) = NIL; ;} break; - case 1004: -#line 7452 "gram.y" + case 1027: +#line 7656 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37489,8 +40373,8 @@ YYLTYPE yylloc; ;} break; - case 1005: -#line 7460 "gram.y" + case 1028: +#line 7664 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37500,18 +40384,18 @@ YYLTYPE yylloc; ;} break; - case 1006: -#line 7469 "gram.y" + case 1029: +#line 7673 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;} break; - case 1007: -#line 7470 "gram.y" + case 1030: +#line 7674 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;} break; - case 1008: -#line 7474 "gram.y" + case 1031: +#line 7678 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37521,8 +40405,8 @@ YYLTYPE yylloc; ;} break; - case 1009: -#line 7482 "gram.y" + case 1032: +#line 7686 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37532,8 +40416,8 @@ YYLTYPE yylloc; ;} break; - case 1010: -#line 7490 "gram.y" + case 1033: +#line 7694 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37543,8 +40427,8 @@ YYLTYPE yylloc; ;} break; - case 1011: -#line 7498 "gram.y" + case 1034: +#line 7702 "gram.y" { AccessPriv *n = makeNode(AccessPriv); n->priv_name = pstrdup("alter system"); @@ -37553,8 +40437,8 @@ YYLTYPE yylloc; ;} break; - case 1012: -#line 7505 "gram.y" + case 1035: +#line 7709 "gram.y" { AccessPriv *n = makeNode(AccessPriv); @@ -37564,36 +40448,36 @@ YYLTYPE yylloc; ;} break; - case 1013: -#line 7516 "gram.y" + case 1036: +#line 7720 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1014: -#line 7520 "gram.y" + case 1037: +#line 7724 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 1015: -#line 7527 "gram.y" + case 1038: +#line 7731 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1016: -#line 7531 "gram.y" + case 1039: +#line 7735 "gram.y" { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;} break; - case 1017: -#line 7542 "gram.y" + case 1040: +#line 7746 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37604,8 +40488,8 @@ YYLTYPE yylloc; ;} break; - case 1018: -#line 7551 "gram.y" + case 1041: +#line 7755 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37616,8 +40500,8 @@ YYLTYPE yylloc; ;} break; - case 1019: -#line 7560 "gram.y" + case 1042: +#line 7764 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37628,8 +40512,8 @@ YYLTYPE yylloc; ;} break; - case 1020: -#line 7569 "gram.y" + case 1043: +#line 7773 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37640,8 +40524,8 @@ YYLTYPE yylloc; ;} break; - case 1021: -#line 7578 "gram.y" + case 1044: +#line 7782 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37652,8 +40536,8 @@ YYLTYPE yylloc; ;} break; - case 1022: -#line 7587 "gram.y" + case 1045: +#line 7791 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37664,8 +40548,8 @@ YYLTYPE yylloc; ;} break; - case 1023: -#line 7596 "gram.y" + case 1046: +#line 7800 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37676,8 +40560,8 @@ YYLTYPE yylloc; ;} break; - case 1024: -#line 7605 "gram.y" + case 1047: +#line 7809 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37688,8 +40572,8 @@ YYLTYPE yylloc; ;} break; - case 1025: -#line 7614 "gram.y" + case 1048: +#line 7818 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37700,8 +40584,8 @@ YYLTYPE yylloc; ;} break; - case 1026: -#line 7623 "gram.y" + case 1049: +#line 7827 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37712,8 +40596,8 @@ YYLTYPE yylloc; ;} break; - case 1027: -#line 7632 "gram.y" + case 1050: +#line 7836 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37724,8 +40608,8 @@ YYLTYPE yylloc; ;} break; - case 1028: -#line 7641 "gram.y" + case 1051: +#line 7845 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37736,8 +40620,8 @@ YYLTYPE yylloc; ;} break; - case 1029: -#line 7650 "gram.y" + case 1052: +#line 7854 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); n->targtype = ACL_TARGET_OBJECT; @@ -37747,8 +40631,8 @@ YYLTYPE yylloc; ;} break; - case 1030: -#line 7658 "gram.y" + case 1053: +#line 7862 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37759,8 +40643,8 @@ YYLTYPE yylloc; ;} break; - case 1031: -#line 7667 "gram.y" + case 1054: +#line 7871 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37771,8 +40655,8 @@ YYLTYPE yylloc; ;} break; - case 1032: -#line 7676 "gram.y" + case 1055: +#line 7880 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37783,8 +40667,8 @@ YYLTYPE yylloc; ;} break; - case 1033: -#line 7685 "gram.y" + case 1056: +#line 7889 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37795,8 +40679,8 @@ YYLTYPE yylloc; ;} break; - case 1034: -#line 7694 "gram.y" + case 1057: +#line 7898 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37807,8 +40691,8 @@ YYLTYPE yylloc; ;} break; - case 1035: -#line 7703 "gram.y" + case 1058: +#line 7907 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37819,8 +40703,8 @@ YYLTYPE yylloc; ;} break; - case 1036: -#line 7712 "gram.y" + case 1059: +#line 7916 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37831,8 +40715,8 @@ YYLTYPE yylloc; ;} break; - case 1037: -#line 7721 "gram.y" + case 1060: +#line 7925 "gram.y" { PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget)); @@ -37843,100 +40727,141 @@ YYLTYPE yylloc; ;} break; - case 1038: -#line 7733 "gram.y" + case 1061: +#line 7937 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;} break; - case 1039: -#line 7734 "gram.y" + case 1062: +#line 7938 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;} break; - case 1040: -#line 7738 "gram.y" + case 1063: +#line 7942 "gram.y" { (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;} break; - case 1041: -#line 7739 "gram.y" + case 1064: +#line 7943 "gram.y" { (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;} break; - case 1042: -#line 7744 "gram.y" + case 1065: +#line 7948 "gram.y" { (yyval.boolean) = true; ;} break; - case 1043: -#line 7745 "gram.y" + case 1066: +#line 7949 "gram.y" { (yyval.boolean) = false; ;} break; - case 1044: -#line 7756 "gram.y" + case 1067: +#line 7960 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); n->is_grant = true; - n->granted_roles = (yyvsp[(2) - (6)].list); - n->grantee_roles = (yyvsp[(4) - (6)].list); - n->admin_opt = (yyvsp[(5) - (6)].boolean); - n->grantor = (yyvsp[(6) - (6)].rolespec); + n->granted_roles = (yyvsp[(2) - (5)].list); + n->grantee_roles = (yyvsp[(4) - (5)].list); + n->opt = NIL; + n->grantor = (yyvsp[(5) - (5)].rolespec); (yyval.node) = (Node *) n; ;} break; - case 1045: -#line 7770 "gram.y" + case 1068: +#line 7971 "gram.y" + { + GrantRoleStmt *n = makeNode(GrantRoleStmt); + + n->is_grant = true; + n->granted_roles = (yyvsp[(2) - (7)].list); + n->grantee_roles = (yyvsp[(4) - (7)].list); + n->opt = (yyvsp[(6) - (7)].list); + n->grantor = (yyvsp[(7) - (7)].rolespec); + (yyval.node) = (Node *) n; + ;} + break; + + case 1069: +#line 7985 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); n->is_grant = false; - n->admin_opt = false; + n->opt = NIL; n->granted_roles = (yyvsp[(2) - (6)].list); n->grantee_roles = (yyvsp[(4) - (6)].list); + n->grantor = (yyvsp[(5) - (6)].rolespec); n->behavior = (yyvsp[(6) - (6)].dbehavior); (yyval.node) = (Node *) n; ;} break; - case 1046: -#line 7781 "gram.y" + case 1070: +#line 7997 "gram.y" { GrantRoleStmt *n = makeNode(GrantRoleStmt); + DefElem *opt; + opt = makeDefElem(pstrdup((yyvsp[(2) - (9)].str)), + (Node *) makeBoolean(false), (yylsp[(2) - (9)])); n->is_grant = false; - n->admin_opt = true; + n->opt = list_make1(opt); n->granted_roles = (yyvsp[(5) - (9)].list); n->grantee_roles = (yyvsp[(7) - (9)].list); + n->grantor = (yyvsp[(8) - (9)].rolespec); n->behavior = (yyvsp[(9) - (9)].dbehavior); (yyval.node) = (Node *) n; ;} break; - case 1047: -#line 7793 "gram.y" - { (yyval.boolean) = true; ;} + case 1071: +#line 8014 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1048: -#line 7794 "gram.y" - { (yyval.boolean) = false; ;} + case 1072: +#line 8015 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1049: -#line 7797 "gram.y" + case 1073: +#line 8020 "gram.y" + { + (yyval.defelt) = makeDefElem(pstrdup((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); + ;} + break; + + case 1074: +#line 8026 "gram.y" + { (yyval.node) = (Node *) makeBoolean(true); ;} + break; + + case 1075: +#line 8027 "gram.y" + { (yyval.node) = (Node *) makeBoolean(true); ;} + break; + + case 1076: +#line 8028 "gram.y" + { (yyval.node) = (Node *) makeBoolean(false); ;} + break; + + case 1077: +#line 8031 "gram.y" { (yyval.rolespec) = (yyvsp[(3) - (3)].rolespec); ;} break; - case 1050: -#line 7798 "gram.y" + case 1078: +#line 8032 "gram.y" { (yyval.rolespec) = NULL; ;} break; - case 1051: -#line 7809 "gram.y" + case 1079: +#line 8043 "gram.y" { AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt); @@ -37946,39 +40871,39 @@ YYLTYPE yylloc; ;} break; - case 1052: -#line 7819 "gram.y" + case 1080: +#line 8053 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1053: -#line 7820 "gram.y" + case 1081: +#line 8054 "gram.y" { (yyval.list) = NIL; ;} break; - case 1054: -#line 7825 "gram.y" + case 1082: +#line 8059 "gram.y" { (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1055: -#line 7829 "gram.y" + case 1083: +#line 8063 "gram.y" { (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1056: -#line 7833 "gram.y" + case 1084: +#line 8067 "gram.y" { (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 1057: -#line 7845 "gram.y" + case 1085: +#line 8079 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -37993,8 +40918,8 @@ YYLTYPE yylloc; ;} break; - case 1058: -#line 7859 "gram.y" + case 1086: +#line 8093 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -38010,8 +40935,8 @@ YYLTYPE yylloc; ;} break; - case 1059: -#line 7874 "gram.y" + case 1087: +#line 8108 "gram.y" { GrantStmt *n = makeNode(GrantStmt); @@ -38027,38 +40952,38 @@ YYLTYPE yylloc; ;} break; - case 1060: -#line 7890 "gram.y" + case 1088: +#line 8124 "gram.y" { (yyval.ival) = OBJECT_TABLE; ;} break; - case 1061: -#line 7891 "gram.y" + case 1089: +#line 8125 "gram.y" { (yyval.ival) = OBJECT_FUNCTION; ;} break; - case 1062: -#line 7892 "gram.y" + case 1090: +#line 8126 "gram.y" { (yyval.ival) = OBJECT_FUNCTION; ;} break; - case 1063: -#line 7893 "gram.y" + case 1091: +#line 8127 "gram.y" { (yyval.ival) = OBJECT_SEQUENCE; ;} break; - case 1064: -#line 7894 "gram.y" + case 1092: +#line 8128 "gram.y" { (yyval.ival) = OBJECT_TYPE; ;} break; - case 1065: -#line 7895 "gram.y" + case 1093: +#line 8129 "gram.y" { (yyval.ival) = OBJECT_SCHEMA; ;} break; - case 1066: -#line 7910 "gram.y" + case 1094: +#line 8144 "gram.y" { IndexStmt *n = makeNode(IndexStmt); @@ -38076,9 +41001,9 @@ YYLTYPE yylloc; n->excludeOpNames = NIL; n->idxcomment = NULL; n->indexOid = InvalidOid; - n->oldNode = InvalidOid; + n->oldNumber = InvalidRelFileNumber; n->oldCreateSubid = InvalidSubTransactionId; - n->oldFirstRelfilenodeSubid = InvalidSubTransactionId; + n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId; n->primary = false; n->isconstraint = false; n->deferrable = false; @@ -38090,8 +41015,8 @@ YYLTYPE yylloc; ;} break; - case 1067: -#line 7942 "gram.y" + case 1095: +#line 8176 "gram.y" { IndexStmt *n = makeNode(IndexStmt); @@ -38109,9 +41034,9 @@ YYLTYPE yylloc; n->excludeOpNames = NIL; n->idxcomment = NULL; n->indexOid = InvalidOid; - n->oldNode = InvalidOid; + n->oldNumber = InvalidRelFileNumber; n->oldCreateSubid = InvalidSubTransactionId; - n->oldFirstRelfilenodeSubid = InvalidSubTransactionId; + n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId; n->primary = false; n->isconstraint = false; n->deferrable = false; @@ -38123,58 +41048,38 @@ YYLTYPE yylloc; ;} break; - case 1068: -#line 7974 "gram.y" - { (yyval.boolean) = true; ;} - break; - - case 1069: -#line 7975 "gram.y" - { (yyval.boolean) = false; ;} - break; - - case 1070: -#line 7979 "gram.y" + case 1096: +#line 8208 "gram.y" { (yyval.boolean) = true; ;} break; - case 1071: -#line 7980 "gram.y" + case 1097: +#line 8209 "gram.y" { (yyval.boolean) = false; ;} break; - case 1072: -#line 7984 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} - break; - - case 1073: -#line 7985 "gram.y" - { (yyval.str) = NULL; ;} - break; - - case 1074: -#line 7989 "gram.y" + case 1098: +#line 8213 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1075: -#line 7990 "gram.y" + case 1099: +#line 8214 "gram.y" { (yyval.str) = DEFAULT_INDEX_TYPE; ;} break; - case 1076: -#line 7993 "gram.y" + case 1100: +#line 8217 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;} break; - case 1077: -#line 7994 "gram.y" + case 1101: +#line 8218 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;} break; - case 1078: -#line 8000 "gram.y" + case 1102: +#line 8224 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; @@ -38188,8 +41093,8 @@ YYLTYPE yylloc; ;} break; - case 1079: -#line 8012 "gram.y" + case 1103: +#line 8236 "gram.y" { (yyval.ielem) = makeNode(IndexElem); (yyval.ielem)->name = NULL; @@ -38203,102 +41108,92 @@ YYLTYPE yylloc; ;} break; - case 1080: -#line 8031 "gram.y" + case 1104: +#line 8255 "gram.y" { (yyval.ielem) = (yyvsp[(2) - (2)].ielem); (yyval.ielem)->name = (yyvsp[(1) - (2)].str); ;} break; - case 1081: -#line 8036 "gram.y" + case 1105: +#line 8260 "gram.y" { (yyval.ielem) = (yyvsp[(2) - (2)].ielem); (yyval.ielem)->expr = (yyvsp[(1) - (2)].node); ;} break; - case 1082: -#line 8041 "gram.y" + case 1106: +#line 8265 "gram.y" { (yyval.ielem) = (yyvsp[(4) - (4)].ielem); (yyval.ielem)->expr = (yyvsp[(2) - (4)].node); ;} break; - case 1083: -#line 8047 "gram.y" + case 1107: +#line 8271 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1084: -#line 8048 "gram.y" + case 1108: +#line 8272 "gram.y" { (yyval.list) = NIL; ;} break; - case 1085: -#line 8051 "gram.y" + case 1109: +#line 8275 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;} break; - case 1086: -#line 8052 "gram.y" + case 1110: +#line 8276 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;} break; - case 1087: -#line 8055 "gram.y" + case 1111: +#line 8279 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1088: -#line 8056 "gram.y" - { (yyval.list) = NIL; ;} - break; - - case 1089: -#line 8059 "gram.y" - { (yyval.list) = (yyvsp[(1) - (1)].list); ;} - break; - - case 1090: -#line 8060 "gram.y" + case 1112: +#line 8280 "gram.y" { (yyval.list) = NIL; ;} break; - case 1091: -#line 8063 "gram.y" + case 1113: +#line 8284 "gram.y" { (yyval.ival) = SORTBY_ASC; ;} break; - case 1092: -#line 8064 "gram.y" + case 1114: +#line 8285 "gram.y" { (yyval.ival) = SORTBY_DESC; ;} break; - case 1093: -#line 8065 "gram.y" + case 1115: +#line 8286 "gram.y" { (yyval.ival) = SORTBY_DEFAULT; ;} break; - case 1094: -#line 8068 "gram.y" + case 1116: +#line 8289 "gram.y" { (yyval.ival) = SORTBY_NULLS_FIRST; ;} break; - case 1095: -#line 8069 "gram.y" + case 1117: +#line 8290 "gram.y" { (yyval.ival) = SORTBY_NULLS_LAST; ;} break; - case 1096: -#line 8070 "gram.y" + case 1118: +#line 8291 "gram.y" { (yyval.ival) = SORTBY_NULLS_DEFAULT; ;} break; - case 1097: -#line 8088 "gram.y" + case 1119: +#line 8309 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -38313,8 +41208,8 @@ YYLTYPE yylloc; ;} break; - case 1098: -#line 8102 "gram.y" + case 1120: +#line 8323 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -38330,8 +41225,8 @@ YYLTYPE yylloc; ;} break; - case 1099: -#line 8117 "gram.y" + case 1121: +#line 8338 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -38346,8 +41241,8 @@ YYLTYPE yylloc; ;} break; - case 1100: -#line 8131 "gram.y" + case 1122: +#line 8352 "gram.y" { CreateFunctionStmt *n = makeNode(CreateFunctionStmt); @@ -38362,48 +41257,48 @@ YYLTYPE yylloc; ;} break; - case 1101: -#line 8146 "gram.y" + case 1123: +#line 8367 "gram.y" { (yyval.boolean) = true; ;} break; - case 1102: -#line 8147 "gram.y" + case 1124: +#line 8368 "gram.y" { (yyval.boolean) = false; ;} break; - case 1103: -#line 8150 "gram.y" + case 1125: +#line 8371 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1104: -#line 8151 "gram.y" + case 1126: +#line 8372 "gram.y" { (yyval.list) = NIL; ;} break; - case 1105: -#line 8155 "gram.y" + case 1127: +#line 8376 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1106: -#line 8156 "gram.y" + case 1128: +#line 8377 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1107: -#line 8160 "gram.y" + case 1129: +#line 8381 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1108: -#line 8162 "gram.y" + case 1130: +#line 8383 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1109: -#line 8167 "gram.y" + case 1131: +#line 8388 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -38414,8 +41309,8 @@ YYLTYPE yylloc; ;} break; - case 1110: -#line 8181 "gram.y" + case 1132: +#line 8402 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -38425,8 +41320,8 @@ YYLTYPE yylloc; ;} break; - case 1111: -#line 8189 "gram.y" + case 1133: +#line 8410 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -38436,8 +41331,8 @@ YYLTYPE yylloc; ;} break; - case 1112: -#line 8197 "gram.y" + case 1134: +#line 8418 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -38448,28 +41343,28 @@ YYLTYPE yylloc; ;} break; - case 1113: -#line 8212 "gram.y" + case 1135: +#line 8433 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1114: -#line 8213 "gram.y" + case 1136: +#line 8434 "gram.y" { (yyval.list) = NIL; ;} break; - case 1115: -#line 8217 "gram.y" + case 1137: +#line 8438 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1116: -#line 8219 "gram.y" + case 1138: +#line 8440 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1117: -#line 8234 "gram.y" + case 1139: +#line 8455 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38481,8 +41376,8 @@ YYLTYPE yylloc; ;} break; - case 1118: -#line 8244 "gram.y" + case 1140: +#line 8465 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38494,8 +41389,8 @@ YYLTYPE yylloc; ;} break; - case 1119: -#line 8254 "gram.y" + case 1141: +#line 8475 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38507,8 +41402,8 @@ YYLTYPE yylloc; ;} break; - case 1120: -#line 8264 "gram.y" + case 1142: +#line 8485 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38520,8 +41415,8 @@ YYLTYPE yylloc; ;} break; - case 1121: -#line 8274 "gram.y" + case 1143: +#line 8495 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38533,33 +41428,33 @@ YYLTYPE yylloc; ;} break; - case 1122: -#line 8286 "gram.y" + case 1144: +#line 8507 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_IN; ;} break; - case 1123: -#line 8287 "gram.y" + case 1145: +#line 8508 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;} break; - case 1124: -#line 8288 "gram.y" + case 1146: +#line 8509 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;} break; - case 1125: -#line 8289 "gram.y" + case 1147: +#line 8510 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;} break; - case 1126: -#line 8290 "gram.y" + case 1148: +#line 8511 "gram.y" { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;} break; - case 1128: -#line 8301 "gram.y" + case 1150: +#line 8522 "gram.y" { /* We can catch over-specified results here if we want to, * but for now better to silently swallow typmod, etc. @@ -38569,13 +41464,13 @@ YYLTYPE yylloc; ;} break; - case 1129: -#line 8315 "gram.y" + case 1151: +#line 8536 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1130: -#line 8317 "gram.y" + case 1152: +#line 8538 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list))); (yyval.typnam)->pct_type = true; @@ -38583,8 +41478,8 @@ YYLTYPE yylloc; ;} break; - case 1131: -#line 8323 "gram.y" + case 1153: +#line 8544 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list))); (yyval.typnam)->pct_type = true; @@ -38593,31 +41488,31 @@ YYLTYPE yylloc; ;} break; - case 1132: -#line 8333 "gram.y" + case 1154: +#line 8554 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (1)].fun_param); ;} break; - case 1133: -#line 8337 "gram.y" + case 1155: +#line 8558 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); ;} break; - case 1134: -#line 8342 "gram.y" + case 1156: +#line 8563 "gram.y" { (yyval.fun_param) = (yyvsp[(1) - (3)].fun_param); (yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node); ;} break; - case 1135: -#line 8350 "gram.y" + case 1157: +#line 8571 "gram.y" { if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_DEFAULT || (yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN || @@ -38630,47 +41525,47 @@ YYLTYPE yylloc; ;} break; - case 1136: -#line 8392 "gram.y" + case 1158: +#line 8613 "gram.y" { (yyval.list) = list_make2(NIL, makeInteger(-1)); ;} break; - case 1137: -#line 8396 "gram.y" + case 1159: +#line 8617 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1)); ;} break; - case 1138: -#line 8400 "gram.y" + case 1160: +#line 8621 "gram.y" { (yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0)); ;} break; - case 1139: -#line 8404 "gram.y" + case 1161: +#line 8625 "gram.y" { /* this is the only case requiring consistency checking */ (yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner); ;} break; - case 1140: -#line 8411 "gram.y" + case 1162: +#line 8632 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1141: -#line 8412 "gram.y" + case 1163: +#line 8633 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1142: -#line 8417 "gram.y" + case 1164: +#line 8638 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -38681,200 +41576,200 @@ YYLTYPE yylloc; ;} break; - case 1143: -#line 8428 "gram.y" + case 1165: +#line 8649 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1144: -#line 8430 "gram.y" + case 1166: +#line 8651 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1146: -#line 8435 "gram.y" + case 1168: +#line 8656 "gram.y" { (yyval.list) = NIL; ;} break; - case 1147: -#line 8440 "gram.y" + case 1169: +#line 8661 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1148: -#line 8441 "gram.y" + case 1170: +#line 8662 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1149: -#line 8449 "gram.y" + case 1171: +#line 8670 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[(1) - (4)])); ;} break; - case 1150: -#line 8453 "gram.y" + case 1172: +#line 8674 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (5)])); ;} break; - case 1151: -#line 8457 "gram.y" + case 1173: +#line 8678 "gram.y" { (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1152: -#line 8461 "gram.y" + case 1174: +#line 8682 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[(1) - (1)])); ;} break; - case 1153: -#line 8465 "gram.y" + case 1175: +#line 8686 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[(1) - (1)])); ;} break; - case 1154: -#line 8469 "gram.y" + case 1176: +#line 8690 "gram.y" { (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[(1) - (1)])); ;} break; - case 1155: -#line 8473 "gram.y" + case 1177: +#line 8694 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (3)])); ;} break; - case 1156: -#line 8477 "gram.y" + case 1178: +#line 8698 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (3)])); ;} break; - case 1157: -#line 8481 "gram.y" + case 1179: +#line 8702 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;} break; - case 1158: -#line 8485 "gram.y" + case 1180: +#line 8706 "gram.y" { (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 1159: -#line 8489 "gram.y" + case 1181: +#line 8710 "gram.y" { (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1160: -#line 8493 "gram.y" + case 1182: +#line 8714 "gram.y" { (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[(1) - (2)])); ;} break; - case 1161: -#line 8497 "gram.y" + case 1183: +#line 8718 "gram.y" { (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1162: -#line 8501 "gram.y" + case 1184: +#line 8722 "gram.y" { (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1163: -#line 8505 "gram.y" + case 1185: +#line 8726 "gram.y" { (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1164: -#line 8509 "gram.y" + case 1186: +#line 8730 "gram.y" { /* we abuse the normal content of a DefElem here */ (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[(1) - (1)].vsetstmt), (yylsp[(1) - (1)])); ;} break; - case 1165: -#line 8514 "gram.y" + case 1187: +#line 8735 "gram.y" { (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1166: -#line 8521 "gram.y" + case 1188: +#line 8742 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1167: -#line 8525 "gram.y" + case 1189: +#line 8746 "gram.y" { (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1168: -#line 8529 "gram.y" + case 1190: +#line 8750 "gram.y" { (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;} break; - case 1169: -#line 8533 "gram.y" + case 1191: +#line 8754 "gram.y" { (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[(1) - (1)])); ;} break; - case 1170: -#line 8537 "gram.y" + case 1192: +#line 8758 "gram.y" { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;} break; - case 1171: -#line 8542 "gram.y" + case 1193: +#line 8763 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1172: -#line 8544 "gram.y" + case 1194: +#line 8765 "gram.y" { (yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 1173: -#line 8550 "gram.y" + case 1195: +#line 8771 "gram.y" { ReturnStmt *r = makeNode(ReturnStmt); @@ -38883,15 +41778,15 @@ YYLTYPE yylloc; ;} break; - case 1174: -#line 8560 "gram.y" + case 1196: +#line 8781 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1175: -#line 8564 "gram.y" + case 1197: +#line 8785 "gram.y" { /* * A compound statement is stored as a single-item list @@ -38903,15 +41798,15 @@ YYLTYPE yylloc; ;} break; - case 1176: -#line 8574 "gram.y" + case 1198: +#line 8795 "gram.y" { (yyval.node) = NULL; ;} break; - case 1177: -#line 8581 "gram.y" + case 1199: +#line 8802 "gram.y" { /* As in stmtmulti, discard empty statements */ if ((yyvsp[(2) - (3)].node) != NULL) @@ -38921,35 +41816,35 @@ YYLTYPE yylloc; ;} break; - case 1178: -#line 8589 "gram.y" + case 1200: +#line 8810 "gram.y" { (yyval.list) = NIL; ;} break; - case 1181: -#line 8600 "gram.y" + case 1203: +#line 8821 "gram.y" { (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;} break; - case 1182: -#line 8601 "gram.y" + case 1204: +#line 8822 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;} break; - case 1183: -#line 8605 "gram.y" + case 1205: +#line 8826 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1184: -#line 8606 "gram.y" + case 1206: +#line 8827 "gram.y" { (yyval.list) = NIL; ;} break; - case 1185: -#line 8610 "gram.y" + case 1207: +#line 8831 "gram.y" { FunctionParameter *n = makeNode(FunctionParameter); @@ -38961,22 +41856,22 @@ YYLTYPE yylloc; ;} break; - case 1186: -#line 8623 "gram.y" + case 1208: +#line 8844 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;} break; - case 1187: -#line 8627 "gram.y" + case 1209: +#line 8848 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;} break; - case 1188: -#line 8642 "gram.y" + case 1210: +#line 8863 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -38987,8 +41882,8 @@ YYLTYPE yylloc; ;} break; - case 1189: -#line 8651 "gram.y" + case 1211: +#line 8872 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -38999,8 +41894,8 @@ YYLTYPE yylloc; ;} break; - case 1190: -#line 8660 "gram.y" + case 1212: +#line 8881 "gram.y" { AlterFunctionStmt *n = makeNode(AlterFunctionStmt); @@ -39011,18 +41906,18 @@ YYLTYPE yylloc; ;} break; - case 1191: -#line 8672 "gram.y" + case 1213: +#line 8893 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1192: -#line 8673 "gram.y" + case 1214: +#line 8894 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1195: -#line 8697 "gram.y" + case 1217: +#line 8918 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39035,8 +41930,8 @@ YYLTYPE yylloc; ;} break; - case 1196: -#line 8708 "gram.y" + case 1218: +#line 8929 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39049,8 +41944,8 @@ YYLTYPE yylloc; ;} break; - case 1197: -#line 8719 "gram.y" + case 1219: +#line 8940 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39063,8 +41958,8 @@ YYLTYPE yylloc; ;} break; - case 1198: -#line 8730 "gram.y" + case 1220: +#line 8951 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39077,8 +41972,8 @@ YYLTYPE yylloc; ;} break; - case 1199: -#line 8741 "gram.y" + case 1221: +#line 8962 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39091,8 +41986,8 @@ YYLTYPE yylloc; ;} break; - case 1200: -#line 8752 "gram.y" + case 1222: +#line 8973 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39105,8 +42000,8 @@ YYLTYPE yylloc; ;} break; - case 1201: -#line 8766 "gram.y" + case 1223: +#line 8987 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39119,8 +42014,8 @@ YYLTYPE yylloc; ;} break; - case 1202: -#line 8777 "gram.y" + case 1224: +#line 8998 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39133,8 +42028,8 @@ YYLTYPE yylloc; ;} break; - case 1203: -#line 8791 "gram.y" + case 1225: +#line 9012 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39147,8 +42042,8 @@ YYLTYPE yylloc; ;} break; - case 1204: -#line 8802 "gram.y" + case 1226: +#line 9023 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39161,8 +42056,8 @@ YYLTYPE yylloc; ;} break; - case 1205: -#line 8816 "gram.y" + case 1227: +#line 9037 "gram.y" { ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), @@ -39172,43 +42067,43 @@ YYLTYPE yylloc; ;} break; - case 1206: -#line 8824 "gram.y" + case 1228: +#line 9045 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;} break; - case 1207: -#line 8826 "gram.y" + case 1229: +#line 9047 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;} break; - case 1208: -#line 8828 "gram.y" + case 1230: +#line 9049 "gram.y" { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;} break; - case 1209: -#line 8833 "gram.y" + case 1231: +#line 9054 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 1210: -#line 8835 "gram.y" + case 1232: +#line 9056 "gram.y" { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;} break; - case 1211: -#line 8839 "gram.y" + case 1233: +#line 9060 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;} break; - case 1212: -#line 8841 "gram.y" + case 1234: +#line 9062 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;} break; - case 1213: -#line 8846 "gram.y" + case 1235: +#line 9067 "gram.y" { ObjectWithArgs *n = makeNode(ObjectWithArgs); @@ -39218,8 +42113,8 @@ YYLTYPE yylloc; ;} break; - case 1214: -#line 8865 "gram.y" + case 1236: +#line 9086 "gram.y" { DoStmt *n = makeNode(DoStmt); @@ -39228,32 +42123,32 @@ YYLTYPE yylloc; ;} break; - case 1215: -#line 8874 "gram.y" + case 1237: +#line 9095 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1216: -#line 8875 "gram.y" + case 1238: +#line 9096 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1217: -#line 8880 "gram.y" + case 1239: +#line 9101 "gram.y" { (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[(1) - (1)].str)), (yylsp[(1) - (1)])); ;} break; - case 1218: -#line 8884 "gram.y" + case 1240: +#line 9105 "gram.y" { (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)])); ;} break; - case 1219: -#line 8897 "gram.y" + case 1241: +#line 9118 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -39266,8 +42161,8 @@ YYLTYPE yylloc; ;} break; - case 1220: -#line 8909 "gram.y" + case 1242: +#line 9130 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -39280,8 +42175,8 @@ YYLTYPE yylloc; ;} break; - case 1221: -#line 8921 "gram.y" + case 1243: +#line 9142 "gram.y" { CreateCastStmt *n = makeNode(CreateCastStmt); @@ -39294,23 +42189,23 @@ YYLTYPE yylloc; ;} break; - case 1222: -#line 8933 "gram.y" + case 1244: +#line 9154 "gram.y" { (yyval.ival) = COERCION_IMPLICIT; ;} break; - case 1223: -#line 8934 "gram.y" + case 1245: +#line 9155 "gram.y" { (yyval.ival) = COERCION_ASSIGNMENT; ;} break; - case 1224: -#line 8935 "gram.y" + case 1246: +#line 9156 "gram.y" { (yyval.ival) = COERCION_EXPLICIT; ;} break; - case 1225: -#line 8940 "gram.y" + case 1247: +#line 9161 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39323,18 +42218,18 @@ YYLTYPE yylloc; ;} break; - case 1226: -#line 8952 "gram.y" + case 1248: +#line 9173 "gram.y" { (yyval.boolean) = true; ;} break; - case 1227: -#line 8953 "gram.y" + case 1249: +#line 9174 "gram.y" { (yyval.boolean) = false; ;} break; - case 1228: -#line 8964 "gram.y" + case 1250: +#line 9185 "gram.y" { CreateTransformStmt *n = makeNode(CreateTransformStmt); @@ -39347,36 +42242,36 @@ YYLTYPE yylloc; ;} break; - case 1229: -#line 8977 "gram.y" + case 1251: +#line 9198 "gram.y" { (yyval.list) = list_make2((yyvsp[(5) - (11)].objwithargs), (yyvsp[(11) - (11)].objwithargs)); ;} break; - case 1230: -#line 8981 "gram.y" + case 1252: +#line 9202 "gram.y" { (yyval.list) = list_make2((yyvsp[(11) - (11)].objwithargs), (yyvsp[(5) - (11)].objwithargs)); ;} break; - case 1231: -#line 8985 "gram.y" + case 1253: +#line 9206 "gram.y" { (yyval.list) = list_make2((yyvsp[(5) - (5)].objwithargs), NULL); ;} break; - case 1232: -#line 8989 "gram.y" + case 1254: +#line 9210 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].objwithargs)); ;} break; - case 1233: -#line 8996 "gram.y" + case 1255: +#line 9217 "gram.y" { DropStmt *n = makeNode(DropStmt); @@ -39388,97 +42283,86 @@ YYLTYPE yylloc; ;} break; - case 1234: -#line 9017 "gram.y" + case 1256: +#line 9239 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); - n->kind = (yyvsp[(2) - (4)].ival); - n->relation = (yyvsp[(4) - (4)].range); + n->kind = (yyvsp[(3) - (5)].ival); + n->relation = (yyvsp[(5) - (5)].range); n->name = NULL; - n->params = NIL; - if ((yyvsp[(3) - (4)].boolean)) + n->params = (yyvsp[(2) - (5)].list); + if ((yyvsp[(4) - (5)].boolean)) n->params = lappend(n->params, - makeDefElem("concurrently", NULL, (yylsp[(3) - (4)]))); + makeDefElem("concurrently", NULL, (yylsp[(4) - (5)]))); (yyval.node) = (Node *) n; ;} break; - case 1235: -#line 9030 "gram.y" + case 1257: +#line 9252 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); - n->kind = (yyvsp[(2) - (4)].ival); - n->name = (yyvsp[(4) - (4)].str); + n->kind = REINDEX_OBJECT_SCHEMA; n->relation = NULL; - n->params = NIL; - if ((yyvsp[(3) - (4)].boolean)) - n->params = lappend(n->params, - makeDefElem("concurrently", NULL, (yylsp[(3) - (4)]))); - (yyval.node) = (Node *) n; - ;} - break; - - case 1236: -#line 9043 "gram.y" - { - ReindexStmt *n = makeNode(ReindexStmt); - - n->kind = (yyvsp[(5) - (7)].ival); - n->relation = (yyvsp[(7) - (7)].range); - n->name = NULL; - n->params = (yyvsp[(3) - (7)].list); - if ((yyvsp[(6) - (7)].boolean)) + n->name = (yyvsp[(5) - (5)].str); + n->params = (yyvsp[(2) - (5)].list); + if ((yyvsp[(4) - (5)].boolean)) n->params = lappend(n->params, - makeDefElem("concurrently", NULL, (yylsp[(6) - (7)]))); + makeDefElem("concurrently", NULL, (yylsp[(4) - (5)]))); (yyval.node) = (Node *) n; ;} break; - case 1237: -#line 9056 "gram.y" + case 1258: +#line 9265 "gram.y" { ReindexStmt *n = makeNode(ReindexStmt); - n->kind = (yyvsp[(5) - (7)].ival); - n->name = (yyvsp[(7) - (7)].str); + n->kind = (yyvsp[(3) - (5)].ival); n->relation = NULL; - n->params = (yyvsp[(3) - (7)].list); - if ((yyvsp[(6) - (7)].boolean)) + n->name = (yyvsp[(5) - (5)].str); + n->params = (yyvsp[(2) - (5)].list); + if ((yyvsp[(4) - (5)].boolean)) n->params = lappend(n->params, - makeDefElem("concurrently", NULL, (yylsp[(6) - (7)]))); + makeDefElem("concurrently", NULL, (yylsp[(4) - (5)]))); (yyval.node) = (Node *) n; ;} break; - case 1238: -#line 9070 "gram.y" + case 1259: +#line 9279 "gram.y" { (yyval.ival) = REINDEX_OBJECT_INDEX; ;} break; - case 1239: -#line 9071 "gram.y" + case 1260: +#line 9280 "gram.y" { (yyval.ival) = REINDEX_OBJECT_TABLE; ;} break; - case 1240: -#line 9074 "gram.y" - { (yyval.ival) = REINDEX_OBJECT_SCHEMA; ;} - break; - - case 1241: -#line 9075 "gram.y" + case 1261: +#line 9283 "gram.y" { (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;} break; - case 1242: -#line 9076 "gram.y" + case 1262: +#line 9284 "gram.y" { (yyval.ival) = REINDEX_OBJECT_DATABASE; ;} break; - case 1243: -#line 9087 "gram.y" + case 1263: +#line 9287 "gram.y" + { (yyval.list) = (yyvsp[(2) - (3)].list); ;} + break; + + case 1264: +#line 9288 "gram.y" + { (yyval.list) = NULL; ;} + break; + + case 1265: +#line 9299 "gram.y" { AlterTableSpaceOptionsStmt *n = makeNode(AlterTableSpaceOptionsStmt); @@ -39490,8 +42374,8 @@ YYLTYPE yylloc; ;} break; - case 1244: -#line 9097 "gram.y" + case 1266: +#line 9309 "gram.y" { AlterTableSpaceOptionsStmt *n = makeNode(AlterTableSpaceOptionsStmt); @@ -39503,8 +42387,8 @@ YYLTYPE yylloc; ;} break; - case 1245: -#line 9115 "gram.y" + case 1267: +#line 9327 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39516,8 +42400,8 @@ YYLTYPE yylloc; ;} break; - case 1246: -#line 9125 "gram.y" + case 1268: +#line 9337 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39529,8 +42413,8 @@ YYLTYPE yylloc; ;} break; - case 1247: -#line 9135 "gram.y" + case 1269: +#line 9347 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39542,8 +42426,8 @@ YYLTYPE yylloc; ;} break; - case 1248: -#line 9145 "gram.y" + case 1270: +#line 9357 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39555,8 +42439,8 @@ YYLTYPE yylloc; ;} break; - case 1249: -#line 9155 "gram.y" + case 1271: +#line 9367 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39568,8 +42452,8 @@ YYLTYPE yylloc; ;} break; - case 1250: -#line 9165 "gram.y" + case 1272: +#line 9377 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39581,8 +42465,8 @@ YYLTYPE yylloc; ;} break; - case 1251: -#line 9175 "gram.y" + case 1273: +#line 9387 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39594,8 +42478,8 @@ YYLTYPE yylloc; ;} break; - case 1252: -#line 9185 "gram.y" + case 1274: +#line 9397 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39607,8 +42491,8 @@ YYLTYPE yylloc; ;} break; - case 1253: -#line 9195 "gram.y" + case 1275: +#line 9407 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39620,8 +42504,8 @@ YYLTYPE yylloc; ;} break; - case 1254: -#line 9205 "gram.y" + case 1276: +#line 9417 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39633,8 +42517,8 @@ YYLTYPE yylloc; ;} break; - case 1255: -#line 9215 "gram.y" + case 1277: +#line 9427 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39646,8 +42530,8 @@ YYLTYPE yylloc; ;} break; - case 1256: -#line 9225 "gram.y" + case 1278: +#line 9437 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39659,8 +42543,8 @@ YYLTYPE yylloc; ;} break; - case 1257: -#line 9235 "gram.y" + case 1279: +#line 9447 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39673,8 +42557,8 @@ YYLTYPE yylloc; ;} break; - case 1258: -#line 9246 "gram.y" + case 1280: +#line 9458 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39687,8 +42571,8 @@ YYLTYPE yylloc; ;} break; - case 1259: -#line 9257 "gram.y" + case 1281: +#line 9469 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39700,8 +42584,8 @@ YYLTYPE yylloc; ;} break; - case 1260: -#line 9267 "gram.y" + case 1282: +#line 9479 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39713,8 +42597,8 @@ YYLTYPE yylloc; ;} break; - case 1261: -#line 9277 "gram.y" + case 1283: +#line 9489 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39726,8 +42610,8 @@ YYLTYPE yylloc; ;} break; - case 1262: -#line 9287 "gram.y" + case 1284: +#line 9499 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39739,8 +42623,8 @@ YYLTYPE yylloc; ;} break; - case 1263: -#line 9297 "gram.y" + case 1285: +#line 9509 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39752,8 +42636,8 @@ YYLTYPE yylloc; ;} break; - case 1264: -#line 9307 "gram.y" + case 1286: +#line 9519 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39765,8 +42649,8 @@ YYLTYPE yylloc; ;} break; - case 1265: -#line 9317 "gram.y" + case 1287: +#line 9529 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39779,8 +42663,8 @@ YYLTYPE yylloc; ;} break; - case 1266: -#line 9328 "gram.y" + case 1288: +#line 9540 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39793,8 +42677,8 @@ YYLTYPE yylloc; ;} break; - case 1267: -#line 9339 "gram.y" + case 1289: +#line 9551 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39807,8 +42691,8 @@ YYLTYPE yylloc; ;} break; - case 1268: -#line 9350 "gram.y" + case 1290: +#line 9562 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39821,8 +42705,8 @@ YYLTYPE yylloc; ;} break; - case 1269: -#line 9361 "gram.y" + case 1291: +#line 9573 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39835,8 +42719,8 @@ YYLTYPE yylloc; ;} break; - case 1270: -#line 9372 "gram.y" + case 1292: +#line 9584 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39849,8 +42733,8 @@ YYLTYPE yylloc; ;} break; - case 1271: -#line 9383 "gram.y" + case 1293: +#line 9595 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39863,8 +42747,8 @@ YYLTYPE yylloc; ;} break; - case 1272: -#line 9394 "gram.y" + case 1294: +#line 9606 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39877,8 +42761,8 @@ YYLTYPE yylloc; ;} break; - case 1273: -#line 9405 "gram.y" + case 1295: +#line 9617 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39891,8 +42775,8 @@ YYLTYPE yylloc; ;} break; - case 1274: -#line 9416 "gram.y" + case 1296: +#line 9628 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39905,8 +42789,8 @@ YYLTYPE yylloc; ;} break; - case 1275: -#line 9427 "gram.y" + case 1297: +#line 9639 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39919,8 +42803,8 @@ YYLTYPE yylloc; ;} break; - case 1276: -#line 9438 "gram.y" + case 1298: +#line 9650 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39933,8 +42817,8 @@ YYLTYPE yylloc; ;} break; - case 1277: -#line 9449 "gram.y" + case 1299: +#line 9661 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39948,8 +42832,8 @@ YYLTYPE yylloc; ;} break; - case 1278: -#line 9461 "gram.y" + case 1300: +#line 9673 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39963,8 +42847,8 @@ YYLTYPE yylloc; ;} break; - case 1279: -#line 9473 "gram.y" + case 1301: +#line 9685 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39978,8 +42862,8 @@ YYLTYPE yylloc; ;} break; - case 1280: -#line 9485 "gram.y" + case 1302: +#line 9697 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -39993,8 +42877,8 @@ YYLTYPE yylloc; ;} break; - case 1281: -#line 9497 "gram.y" + case 1303: +#line 9709 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40008,8 +42892,8 @@ YYLTYPE yylloc; ;} break; - case 1282: -#line 9509 "gram.y" + case 1304: +#line 9721 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40023,8 +42907,8 @@ YYLTYPE yylloc; ;} break; - case 1283: -#line 9521 "gram.y" + case 1305: +#line 9733 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40037,8 +42921,8 @@ YYLTYPE yylloc; ;} break; - case 1284: -#line 9532 "gram.y" + case 1306: +#line 9744 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40051,8 +42935,8 @@ YYLTYPE yylloc; ;} break; - case 1285: -#line 9543 "gram.y" + case 1307: +#line 9755 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40066,8 +42950,8 @@ YYLTYPE yylloc; ;} break; - case 1286: -#line 9555 "gram.y" + case 1308: +#line 9767 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40081,8 +42965,8 @@ YYLTYPE yylloc; ;} break; - case 1287: -#line 9567 "gram.y" + case 1309: +#line 9779 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40095,8 +42979,8 @@ YYLTYPE yylloc; ;} break; - case 1288: -#line 9578 "gram.y" + case 1310: +#line 9790 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40109,8 +42993,8 @@ YYLTYPE yylloc; ;} break; - case 1289: -#line 9589 "gram.y" + case 1311: +#line 9801 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40121,8 +43005,8 @@ YYLTYPE yylloc; ;} break; - case 1290: -#line 9598 "gram.y" + case 1312: +#line 9810 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40134,8 +43018,8 @@ YYLTYPE yylloc; ;} break; - case 1291: -#line 9608 "gram.y" + case 1313: +#line 9820 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40147,8 +43031,8 @@ YYLTYPE yylloc; ;} break; - case 1292: -#line 9618 "gram.y" + case 1314: +#line 9830 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40160,8 +43044,8 @@ YYLTYPE yylloc; ;} break; - case 1293: -#line 9628 "gram.y" + case 1315: +#line 9840 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40173,8 +43057,8 @@ YYLTYPE yylloc; ;} break; - case 1294: -#line 9638 "gram.y" + case 1316: +#line 9850 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40186,8 +43070,8 @@ YYLTYPE yylloc; ;} break; - case 1295: -#line 9648 "gram.y" + case 1317: +#line 9860 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40199,8 +43083,8 @@ YYLTYPE yylloc; ;} break; - case 1296: -#line 9658 "gram.y" + case 1318: +#line 9870 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40212,8 +43096,8 @@ YYLTYPE yylloc; ;} break; - case 1297: -#line 9668 "gram.y" + case 1319: +#line 9880 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40225,8 +43109,8 @@ YYLTYPE yylloc; ;} break; - case 1298: -#line 9678 "gram.y" + case 1320: +#line 9890 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40238,8 +43122,8 @@ YYLTYPE yylloc; ;} break; - case 1299: -#line 9688 "gram.y" + case 1321: +#line 9900 "gram.y" { RenameStmt *n = makeNode(RenameStmt); @@ -40254,18 +43138,18 @@ YYLTYPE yylloc; ;} break; - case 1302: -#line 9706 "gram.y" + case 1324: +#line 9918 "gram.y" { (yyval.ival) = 1; ;} break; - case 1303: -#line 9707 "gram.y" + case 1325: +#line 9919 "gram.y" { (yyval.ival) = 0; ;} break; - case 1304: -#line 9718 "gram.y" + case 1326: +#line 9930 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40277,8 +43161,8 @@ YYLTYPE yylloc; ;} break; - case 1305: -#line 9728 "gram.y" + case 1327: +#line 9940 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40290,8 +43174,8 @@ YYLTYPE yylloc; ;} break; - case 1306: -#line 9738 "gram.y" + case 1328: +#line 9950 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40303,8 +43187,8 @@ YYLTYPE yylloc; ;} break; - case 1307: -#line 9748 "gram.y" + case 1329: +#line 9960 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40317,8 +43201,8 @@ YYLTYPE yylloc; ;} break; - case 1308: -#line 9759 "gram.y" + case 1330: +#line 9971 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40330,8 +43214,8 @@ YYLTYPE yylloc; ;} break; - case 1309: -#line 9769 "gram.y" + case 1331: +#line 9981 "gram.y" { AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt); @@ -40343,18 +43227,18 @@ YYLTYPE yylloc; ;} break; - case 1310: -#line 9780 "gram.y" + case 1332: +#line 9992 "gram.y" { (yyval.boolean) = true; ;} break; - case 1311: -#line 9781 "gram.y" + case 1333: +#line 9993 "gram.y" { (yyval.boolean) = false; ;} break; - case 1312: -#line 9792 "gram.y" + case 1334: +#line 10004 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40366,8 +43250,8 @@ YYLTYPE yylloc; ;} break; - case 1313: -#line 9802 "gram.y" + case 1335: +#line 10014 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40379,8 +43263,8 @@ YYLTYPE yylloc; ;} break; - case 1314: -#line 9812 "gram.y" + case 1336: +#line 10024 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40392,8 +43276,8 @@ YYLTYPE yylloc; ;} break; - case 1315: -#line 9822 "gram.y" + case 1337: +#line 10034 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40405,8 +43289,8 @@ YYLTYPE yylloc; ;} break; - case 1316: -#line 9832 "gram.y" + case 1338: +#line 10044 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40418,8 +43302,8 @@ YYLTYPE yylloc; ;} break; - case 1317: -#line 9842 "gram.y" + case 1339: +#line 10054 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40431,8 +43315,8 @@ YYLTYPE yylloc; ;} break; - case 1318: -#line 9852 "gram.y" + case 1340: +#line 10064 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40444,8 +43328,8 @@ YYLTYPE yylloc; ;} break; - case 1319: -#line 9862 "gram.y" + case 1341: +#line 10074 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40457,8 +43341,8 @@ YYLTYPE yylloc; ;} break; - case 1320: -#line 9872 "gram.y" + case 1342: +#line 10084 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40470,8 +43354,8 @@ YYLTYPE yylloc; ;} break; - case 1321: -#line 9882 "gram.y" + case 1343: +#line 10094 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40483,8 +43367,8 @@ YYLTYPE yylloc; ;} break; - case 1322: -#line 9892 "gram.y" + case 1344: +#line 10104 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40496,8 +43380,8 @@ YYLTYPE yylloc; ;} break; - case 1323: -#line 9902 "gram.y" + case 1345: +#line 10114 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40509,8 +43393,8 @@ YYLTYPE yylloc; ;} break; - case 1324: -#line 9912 "gram.y" + case 1346: +#line 10124 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40522,8 +43406,8 @@ YYLTYPE yylloc; ;} break; - case 1325: -#line 9922 "gram.y" + case 1347: +#line 10134 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40535,8 +43419,8 @@ YYLTYPE yylloc; ;} break; - case 1326: -#line 9932 "gram.y" + case 1348: +#line 10144 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40548,8 +43432,8 @@ YYLTYPE yylloc; ;} break; - case 1327: -#line 9942 "gram.y" + case 1349: +#line 10154 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40561,8 +43445,8 @@ YYLTYPE yylloc; ;} break; - case 1328: -#line 9952 "gram.y" + case 1350: +#line 10164 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40574,8 +43458,8 @@ YYLTYPE yylloc; ;} break; - case 1329: -#line 9962 "gram.y" + case 1351: +#line 10174 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40587,8 +43471,8 @@ YYLTYPE yylloc; ;} break; - case 1330: -#line 9972 "gram.y" + case 1352: +#line 10184 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40600,8 +43484,8 @@ YYLTYPE yylloc; ;} break; - case 1331: -#line 9982 "gram.y" + case 1353: +#line 10194 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40613,8 +43497,8 @@ YYLTYPE yylloc; ;} break; - case 1332: -#line 9992 "gram.y" + case 1354: +#line 10204 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40626,8 +43510,8 @@ YYLTYPE yylloc; ;} break; - case 1333: -#line 10002 "gram.y" + case 1355: +#line 10214 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40639,8 +43523,8 @@ YYLTYPE yylloc; ;} break; - case 1334: -#line 10012 "gram.y" + case 1356: +#line 10224 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40652,8 +43536,8 @@ YYLTYPE yylloc; ;} break; - case 1335: -#line 10022 "gram.y" + case 1357: +#line 10234 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40665,8 +43549,8 @@ YYLTYPE yylloc; ;} break; - case 1336: -#line 10032 "gram.y" + case 1358: +#line 10244 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40678,8 +43562,8 @@ YYLTYPE yylloc; ;} break; - case 1337: -#line 10042 "gram.y" + case 1359: +#line 10254 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40691,8 +43575,8 @@ YYLTYPE yylloc; ;} break; - case 1338: -#line 10052 "gram.y" + case 1360: +#line 10264 "gram.y" { AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt); @@ -40704,8 +43588,8 @@ YYLTYPE yylloc; ;} break; - case 1339: -#line 10071 "gram.y" + case 1361: +#line 10283 "gram.y" { AlterOperatorStmt *n = makeNode(AlterOperatorStmt); @@ -40715,53 +43599,58 @@ YYLTYPE yylloc; ;} break; - case 1340: -#line 10080 "gram.y" + case 1362: +#line 10292 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1341: -#line 10081 "gram.y" + case 1363: +#line 10293 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1342: -#line 10085 "gram.y" + case 1364: +#line 10297 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;} break; - case 1343: -#line 10087 "gram.y" + case 1365: +#line 10299 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 1344: -#line 10092 "gram.y" + case 1366: +#line 10301 "gram.y" + { (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;} + break; + + case 1367: +#line 10306 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;} break; - case 1345: -#line 10093 "gram.y" + case 1368: +#line 10307 "gram.y" { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;} break; - case 1346: -#line 10094 "gram.y" + case 1369: +#line 10308 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;} break; - case 1347: -#line 10095 "gram.y" + case 1370: +#line 10309 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 1348: -#line 10096 "gram.y" + case 1371: +#line 10310 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 1349: -#line 10109 "gram.y" + case 1372: +#line 10323 "gram.y" { AlterTypeStmt *n = makeNode(AlterTypeStmt); @@ -40771,8 +43660,8 @@ YYLTYPE yylloc; ;} break; - case 1350: -#line 10125 "gram.y" + case 1373: +#line 10339 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40783,8 +43672,8 @@ YYLTYPE yylloc; ;} break; - case 1351: -#line 10134 "gram.y" + case 1374: +#line 10348 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40795,8 +43684,8 @@ YYLTYPE yylloc; ;} break; - case 1352: -#line 10143 "gram.y" + case 1375: +#line 10357 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40807,8 +43696,8 @@ YYLTYPE yylloc; ;} break; - case 1353: -#line 10152 "gram.y" + case 1376: +#line 10366 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40819,8 +43708,8 @@ YYLTYPE yylloc; ;} break; - case 1354: -#line 10161 "gram.y" + case 1377: +#line 10375 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40831,8 +43720,8 @@ YYLTYPE yylloc; ;} break; - case 1355: -#line 10170 "gram.y" + case 1378: +#line 10384 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40843,8 +43732,8 @@ YYLTYPE yylloc; ;} break; - case 1356: -#line 10179 "gram.y" + case 1379: +#line 10393 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40855,8 +43744,8 @@ YYLTYPE yylloc; ;} break; - case 1357: -#line 10188 "gram.y" + case 1380: +#line 10402 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40867,8 +43756,8 @@ YYLTYPE yylloc; ;} break; - case 1358: -#line 10197 "gram.y" + case 1381: +#line 10411 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40879,8 +43768,8 @@ YYLTYPE yylloc; ;} break; - case 1359: -#line 10206 "gram.y" + case 1382: +#line 10420 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40891,8 +43780,8 @@ YYLTYPE yylloc; ;} break; - case 1360: -#line 10215 "gram.y" + case 1383: +#line 10429 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40903,8 +43792,8 @@ YYLTYPE yylloc; ;} break; - case 1361: -#line 10224 "gram.y" + case 1384: +#line 10438 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40915,8 +43804,8 @@ YYLTYPE yylloc; ;} break; - case 1362: -#line 10233 "gram.y" + case 1385: +#line 10447 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40927,8 +43816,8 @@ YYLTYPE yylloc; ;} break; - case 1363: -#line 10242 "gram.y" + case 1386: +#line 10456 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40939,8 +43828,8 @@ YYLTYPE yylloc; ;} break; - case 1364: -#line 10251 "gram.y" + case 1387: +#line 10465 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40951,8 +43840,8 @@ YYLTYPE yylloc; ;} break; - case 1365: -#line 10260 "gram.y" + case 1388: +#line 10474 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40963,8 +43852,8 @@ YYLTYPE yylloc; ;} break; - case 1366: -#line 10269 "gram.y" + case 1389: +#line 10483 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40975,8 +43864,8 @@ YYLTYPE yylloc; ;} break; - case 1367: -#line 10278 "gram.y" + case 1390: +#line 10492 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40987,8 +43876,8 @@ YYLTYPE yylloc; ;} break; - case 1368: -#line 10287 "gram.y" + case 1391: +#line 10501 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -40999,8 +43888,8 @@ YYLTYPE yylloc; ;} break; - case 1369: -#line 10296 "gram.y" + case 1392: +#line 10510 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41011,8 +43900,8 @@ YYLTYPE yylloc; ;} break; - case 1370: -#line 10305 "gram.y" + case 1393: +#line 10519 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41023,8 +43912,8 @@ YYLTYPE yylloc; ;} break; - case 1371: -#line 10314 "gram.y" + case 1394: +#line 10528 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41035,8 +43924,8 @@ YYLTYPE yylloc; ;} break; - case 1372: -#line 10323 "gram.y" + case 1395: +#line 10537 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41047,8 +43936,8 @@ YYLTYPE yylloc; ;} break; - case 1373: -#line 10332 "gram.y" + case 1396: +#line 10546 "gram.y" { AlterOwnerStmt *n = makeNode(AlterOwnerStmt); @@ -41059,8 +43948,8 @@ YYLTYPE yylloc; ;} break; - case 1374: -#line 10360 "gram.y" + case 1397: +#line 10574 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -41070,8 +43959,8 @@ YYLTYPE yylloc; ;} break; - case 1375: -#line 10368 "gram.y" + case 1398: +#line 10582 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -41082,8 +43971,8 @@ YYLTYPE yylloc; ;} break; - case 1376: -#line 10377 "gram.y" + case 1399: +#line 10591 "gram.y" { CreatePublicationStmt *n = makeNode(CreatePublicationStmt); @@ -41095,8 +43984,8 @@ YYLTYPE yylloc; ;} break; - case 1377: -#line 10403 "gram.y" + case 1400: +#line 10617 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE; @@ -41107,8 +43996,8 @@ YYLTYPE yylloc; ;} break; - case 1378: -#line 10412 "gram.y" + case 1401: +#line 10626 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA; @@ -41117,8 +44006,8 @@ YYLTYPE yylloc; ;} break; - case 1379: -#line 10419 "gram.y" + case 1402: +#line 10633 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA; @@ -41126,8 +44015,8 @@ YYLTYPE yylloc; ;} break; - case 1380: -#line 10425 "gram.y" + case 1403: +#line 10639 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -41156,8 +44045,8 @@ YYLTYPE yylloc; ;} break; - case 1381: -#line 10452 "gram.y" + case 1404: +#line 10666 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -41169,8 +44058,8 @@ YYLTYPE yylloc; ;} break; - case 1382: -#line 10463 "gram.y" + case 1405: +#line 10677 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -41181,8 +44070,8 @@ YYLTYPE yylloc; ;} break; - case 1383: -#line 10472 "gram.y" + case 1406: +#line 10686 "gram.y" { (yyval.publicationobjectspec) = makeNode(PublicationObjSpec); (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION; @@ -41190,18 +44079,18 @@ YYLTYPE yylloc; ;} break; - case 1384: -#line 10480 "gram.y" + case 1407: +#line 10694 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].publicationobjectspec)); ;} break; - case 1385: -#line 10482 "gram.y" + case 1408: +#line 10696 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].publicationobjectspec)); ;} break; - case 1386: -#line 10504 "gram.y" + case 1409: +#line 10718 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -41211,8 +44100,8 @@ YYLTYPE yylloc; ;} break; - case 1387: -#line 10512 "gram.y" + case 1410: +#line 10726 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -41224,8 +44113,8 @@ YYLTYPE yylloc; ;} break; - case 1388: -#line 10522 "gram.y" + case 1411: +#line 10736 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -41237,8 +44126,8 @@ YYLTYPE yylloc; ;} break; - case 1389: -#line 10532 "gram.y" + case 1412: +#line 10746 "gram.y" { AlterPublicationStmt *n = makeNode(AlterPublicationStmt); @@ -41250,8 +44139,8 @@ YYLTYPE yylloc; ;} break; - case 1390: -#line 10551 "gram.y" + case 1413: +#line 10765 "gram.y" { CreateSubscriptionStmt *n = makeNode(CreateSubscriptionStmt); @@ -41263,8 +44152,8 @@ YYLTYPE yylloc; ;} break; - case 1391: -#line 10570 "gram.y" + case 1414: +#line 10784 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41276,8 +44165,8 @@ YYLTYPE yylloc; ;} break; - case 1392: -#line 10580 "gram.y" + case 1415: +#line 10794 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41289,8 +44178,8 @@ YYLTYPE yylloc; ;} break; - case 1393: -#line 10590 "gram.y" + case 1416: +#line 10804 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41302,8 +44191,8 @@ YYLTYPE yylloc; ;} break; - case 1394: -#line 10600 "gram.y" + case 1417: +#line 10814 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41316,8 +44205,8 @@ YYLTYPE yylloc; ;} break; - case 1395: -#line 10611 "gram.y" + case 1418: +#line 10825 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41330,8 +44219,8 @@ YYLTYPE yylloc; ;} break; - case 1396: -#line 10622 "gram.y" + case 1419: +#line 10836 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41344,8 +44233,8 @@ YYLTYPE yylloc; ;} break; - case 1397: -#line 10633 "gram.y" + case 1420: +#line 10847 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41358,8 +44247,8 @@ YYLTYPE yylloc; ;} break; - case 1398: -#line 10644 "gram.y" + case 1421: +#line 10858 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41372,8 +44261,8 @@ YYLTYPE yylloc; ;} break; - case 1399: -#line 10655 "gram.y" + case 1422: +#line 10869 "gram.y" { AlterSubscriptionStmt *n = makeNode(AlterSubscriptionStmt); @@ -41385,8 +44274,8 @@ YYLTYPE yylloc; ;} break; - case 1400: -#line 10673 "gram.y" + case 1423: +#line 10887 "gram.y" { DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt); @@ -41397,8 +44286,8 @@ YYLTYPE yylloc; ;} break; - case 1401: -#line 10682 "gram.y" + case 1424: +#line 10896 "gram.y" { DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt); @@ -41409,8 +44298,8 @@ YYLTYPE yylloc; ;} break; - case 1402: -#line 10701 "gram.y" + case 1425: +#line 10915 "gram.y" { RuleStmt *n = makeNode(RuleStmt); @@ -41425,23 +44314,23 @@ YYLTYPE yylloc; ;} break; - case 1403: -#line 10716 "gram.y" + case 1426: +#line 10930 "gram.y" { (yyval.list) = NIL; ;} break; - case 1404: -#line 10717 "gram.y" + case 1427: +#line 10931 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1405: -#line 10718 "gram.y" + case 1428: +#line 10932 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1406: -#line 10724 "gram.y" + case 1429: +#line 10938 "gram.y" { if ((yyvsp[(3) - (3)].node) != NULL) (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); else @@ -41449,8 +44338,8 @@ YYLTYPE yylloc; ;} break; - case 1407: -#line 10730 "gram.y" + case 1430: +#line 10944 "gram.y" { if ((yyvsp[(1) - (1)].node) != NULL) (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); else @@ -41458,53 +44347,53 @@ YYLTYPE yylloc; ;} break; - case 1413: -#line 10746 "gram.y" + case 1436: +#line 10960 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1414: -#line 10747 "gram.y" + case 1437: +#line 10961 "gram.y" { (yyval.node) = NULL; ;} break; - case 1415: -#line 10750 "gram.y" + case 1438: +#line 10964 "gram.y" { (yyval.ival) = CMD_SELECT; ;} break; - case 1416: -#line 10751 "gram.y" + case 1439: +#line 10965 "gram.y" { (yyval.ival) = CMD_UPDATE; ;} break; - case 1417: -#line 10752 "gram.y" + case 1440: +#line 10966 "gram.y" { (yyval.ival) = CMD_DELETE; ;} break; - case 1418: -#line 10753 "gram.y" + case 1441: +#line 10967 "gram.y" { (yyval.ival) = CMD_INSERT; ;} break; - case 1419: -#line 10757 "gram.y" + case 1442: +#line 10971 "gram.y" { (yyval.boolean) = true; ;} break; - case 1420: -#line 10758 "gram.y" + case 1443: +#line 10972 "gram.y" { (yyval.boolean) = false; ;} break; - case 1421: -#line 10759 "gram.y" + case 1444: +#line 10973 "gram.y" { (yyval.boolean) = false; ;} break; - case 1422: -#line 10772 "gram.y" + case 1445: +#line 10986 "gram.y" { NotifyStmt *n = makeNode(NotifyStmt); @@ -41514,18 +44403,18 @@ YYLTYPE yylloc; ;} break; - case 1423: -#line 10782 "gram.y" + case 1446: +#line 10996 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1424: -#line 10783 "gram.y" + case 1447: +#line 10997 "gram.y" { (yyval.str) = NULL; ;} break; - case 1425: -#line 10787 "gram.y" + case 1448: +#line 11001 "gram.y" { ListenStmt *n = makeNode(ListenStmt); @@ -41534,8 +44423,8 @@ YYLTYPE yylloc; ;} break; - case 1426: -#line 10797 "gram.y" + case 1449: +#line 11011 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); @@ -41544,8 +44433,8 @@ YYLTYPE yylloc; ;} break; - case 1427: -#line 10804 "gram.y" + case 1450: +#line 11018 "gram.y" { UnlistenStmt *n = makeNode(UnlistenStmt); @@ -41554,231 +44443,245 @@ YYLTYPE yylloc; ;} break; - case 1428: -#line 10824 "gram.y" + case 1451: +#line 11038 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1429: -#line 10833 "gram.y" + case 1452: +#line 11048 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_START; n->options = (yyvsp[(3) - (3)].list); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1430: -#line 10841 "gram.y" + case 1453: +#line 11057 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1431: -#line 10850 "gram.y" + case 1454: +#line 11067 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1432: -#line 10859 "gram.y" + case 1455: +#line 11077 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_SAVEPOINT; n->savepoint_name = (yyvsp[(2) - (2)].str); + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1433: -#line 10867 "gram.y" + case 1456: +#line 11086 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->savepoint_name = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1434: -#line 10875 "gram.y" + case 1457: +#line 11095 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_RELEASE; n->savepoint_name = (yyvsp[(2) - (2)].str); + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1435: -#line 10883 "gram.y" + case 1458: +#line 11104 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->savepoint_name = (yyvsp[(5) - (5)].str); + n->location = (yylsp[(5) - (5)]); (yyval.node) = (Node *) n; ;} break; - case 1436: -#line 10891 "gram.y" + case 1459: +#line 11113 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_TO; n->savepoint_name = (yyvsp[(4) - (4)].str); + n->location = (yylsp[(4) - (4)]); (yyval.node) = (Node *) n; ;} break; - case 1437: -#line 10899 "gram.y" + case 1460: +#line 11122 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_PREPARE; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1438: -#line 10907 "gram.y" + case 1461: +#line 11131 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT_PREPARED; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1439: -#line 10915 "gram.y" + case 1462: +#line 11140 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_ROLLBACK_PREPARED; n->gid = (yyvsp[(3) - (3)].str); + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1440: -#line 10926 "gram.y" + case 1463: +#line 11152 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_BEGIN; n->options = (yyvsp[(3) - (3)].list); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1441: -#line 10934 "gram.y" + case 1464: +#line 11161 "gram.y" { TransactionStmt *n = makeNode(TransactionStmt); n->kind = TRANS_STMT_COMMIT; n->options = NIL; n->chain = (yyvsp[(3) - (3)].boolean); + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1445: -#line 10951 "gram.y" + case 1468: +#line 11179 "gram.y" { (yyval.defelt) = makeDefElem("transaction_isolation", makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])), (yylsp[(1) - (3)])); ;} break; - case 1446: -#line 10954 "gram.y" + case 1469: +#line 11182 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", makeIntConst(true, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1447: -#line 10957 "gram.y" + case 1470: +#line 11185 "gram.y" { (yyval.defelt) = makeDefElem("transaction_read_only", makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1448: -#line 10960 "gram.y" + case 1471: +#line 11188 "gram.y" { (yyval.defelt) = makeDefElem("transaction_deferrable", makeIntConst(true, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); ;} break; - case 1449: -#line 10963 "gram.y" + case 1472: +#line 11191 "gram.y" { (yyval.defelt) = makeDefElem("transaction_deferrable", makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;} break; - case 1450: -#line 10970 "gram.y" + case 1473: +#line 11198 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1451: -#line 10972 "gram.y" + case 1474: +#line 11200 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1452: -#line 10974 "gram.y" + case 1475: +#line 11202 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1454: -#line 10980 "gram.y" + case 1477: +#line 11208 "gram.y" { (yyval.list) = NIL; ;} break; - case 1455: -#line 10984 "gram.y" + case 1478: +#line 11212 "gram.y" { (yyval.boolean) = true; ;} break; - case 1456: -#line 10985 "gram.y" + case 1479: +#line 11213 "gram.y" { (yyval.boolean) = false; ;} break; - case 1457: -#line 10986 "gram.y" + case 1480: +#line 11214 "gram.y" { (yyval.boolean) = false; ;} break; - case 1458: -#line 11000 "gram.y" + case 1481: +#line 11228 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -41793,8 +44696,8 @@ YYLTYPE yylloc; ;} break; - case 1459: -#line 11014 "gram.y" + case 1482: +#line 11242 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -41809,8 +44712,8 @@ YYLTYPE yylloc; ;} break; - case 1460: -#line 11028 "gram.y" + case 1483: +#line 11256 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -41830,8 +44733,8 @@ YYLTYPE yylloc; ;} break; - case 1461: -#line 11047 "gram.y" + case 1484: +#line 11275 "gram.y" { ViewStmt *n = makeNode(ViewStmt); @@ -41851,28 +44754,28 @@ YYLTYPE yylloc; ;} break; - case 1462: -#line 11067 "gram.y" + case 1485: +#line 11295 "gram.y" { (yyval.ival) = CASCADED_CHECK_OPTION; ;} break; - case 1463: -#line 11068 "gram.y" + case 1486: +#line 11296 "gram.y" { (yyval.ival) = CASCADED_CHECK_OPTION; ;} break; - case 1464: -#line 11069 "gram.y" + case 1487: +#line 11297 "gram.y" { (yyval.ival) = LOCAL_CHECK_OPTION; ;} break; - case 1465: -#line 11070 "gram.y" + case 1488: +#line 11298 "gram.y" { (yyval.ival) = NO_CHECK_OPTION; ;} break; - case 1466: -#line 11081 "gram.y" + case 1489: +#line 11309 "gram.y" { LoadStmt *n = makeNode(LoadStmt); @@ -41881,8 +44784,8 @@ YYLTYPE yylloc; ;} break; - case 1467: -#line 11098 "gram.y" + case 1490: +#line 11326 "gram.y" { CreatedbStmt *n = makeNode(CreatedbStmt); @@ -41892,84 +44795,84 @@ YYLTYPE yylloc; ;} break; - case 1468: -#line 11108 "gram.y" + case 1491: +#line 11336 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1469: -#line 11109 "gram.y" + case 1492: +#line 11337 "gram.y" { (yyval.list) = NIL; ;} break; - case 1470: -#line 11113 "gram.y" + case 1493: +#line 11341 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1471: -#line 11114 "gram.y" + case 1494: +#line 11342 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1472: -#line 11119 "gram.y" + case 1495: +#line 11347 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;} break; - case 1473: -#line 11123 "gram.y" + case 1496: +#line 11351 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)])); ;} break; - case 1474: -#line 11127 "gram.y" + case 1497: +#line 11355 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;} break; - case 1475: -#line 11144 "gram.y" + case 1498: +#line 11372 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1476: -#line 11145 "gram.y" + case 1499: +#line 11373 "gram.y" { (yyval.str) = pstrdup("connection_limit"); ;} break; - case 1477: -#line 11146 "gram.y" + case 1500: +#line 11374 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1478: -#line 11147 "gram.y" + case 1501: +#line 11375 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1479: -#line 11148 "gram.y" + case 1502: +#line 11376 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1480: -#line 11149 "gram.y" + case 1503: +#line 11377 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1481: -#line 11150 "gram.y" + case 1504: +#line 11378 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 1484: -#line 11170 "gram.y" + case 1507: +#line 11398 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -41979,8 +44882,8 @@ YYLTYPE yylloc; ;} break; - case 1485: -#line 11178 "gram.y" + case 1508: +#line 11406 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -41990,8 +44893,8 @@ YYLTYPE yylloc; ;} break; - case 1486: -#line 11186 "gram.y" + case 1509: +#line 11414 "gram.y" { AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt); @@ -42002,8 +44905,8 @@ YYLTYPE yylloc; ;} break; - case 1487: -#line 11195 "gram.y" + case 1510: +#line 11423 "gram.y" { AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt); @@ -42012,8 +44915,8 @@ YYLTYPE yylloc; ;} break; - case 1488: -#line 11205 "gram.y" + case 1511: +#line 11433 "gram.y" { AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt); @@ -42023,8 +44926,8 @@ YYLTYPE yylloc; ;} break; - case 1489: -#line 11223 "gram.y" + case 1512: +#line 11451 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -42035,8 +44938,8 @@ YYLTYPE yylloc; ;} break; - case 1490: -#line 11232 "gram.y" + case 1513: +#line 11460 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -42047,8 +44950,8 @@ YYLTYPE yylloc; ;} break; - case 1491: -#line 11241 "gram.y" + case 1514: +#line 11469 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -42059,8 +44962,8 @@ YYLTYPE yylloc; ;} break; - case 1492: -#line 11250 "gram.y" + case 1515: +#line 11478 "gram.y" { DropdbStmt *n = makeNode(DropdbStmt); @@ -42071,29 +44974,29 @@ YYLTYPE yylloc; ;} break; - case 1493: -#line 11262 "gram.y" + case 1516: +#line 11490 "gram.y" { (yyval.list) = list_make1((Node *) (yyvsp[(1) - (1)].defelt)); ;} break; - case 1494: -#line 11266 "gram.y" + case 1517: +#line 11494 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (Node *) (yyvsp[(3) - (3)].defelt)); ;} break; - case 1495: -#line 11277 "gram.y" + case 1518: +#line 11505 "gram.y" { (yyval.defelt) = makeDefElem("force", NULL, (yylsp[(1) - (1)])); ;} break; - case 1496: -#line 11289 "gram.y" + case 1519: +#line 11517 "gram.y" { AlterCollationStmt *n = makeNode(AlterCollationStmt); @@ -42102,8 +45005,8 @@ YYLTYPE yylloc; ;} break; - case 1497: -#line 11307 "gram.y" + case 1520: +#line 11535 "gram.y" { AlterSystemStmt *n = makeNode(AlterSystemStmt); @@ -42112,8 +45015,8 @@ YYLTYPE yylloc; ;} break; - case 1498: -#line 11314 "gram.y" + case 1521: +#line 11542 "gram.y" { AlterSystemStmt *n = makeNode(AlterSystemStmt); @@ -42122,8 +45025,8 @@ YYLTYPE yylloc; ;} break; - case 1499: -#line 11331 "gram.y" + case 1522: +#line 11559 "gram.y" { CreateDomainStmt *n = makeNode(CreateDomainStmt); @@ -42135,8 +45038,8 @@ YYLTYPE yylloc; ;} break; - case 1500: -#line 11345 "gram.y" + case 1523: +#line 11573 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42147,8 +45050,8 @@ YYLTYPE yylloc; ;} break; - case 1501: -#line 11355 "gram.y" + case 1524: +#line 11583 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42158,8 +45061,8 @@ YYLTYPE yylloc; ;} break; - case 1502: -#line 11364 "gram.y" + case 1525: +#line 11592 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42169,8 +45072,8 @@ YYLTYPE yylloc; ;} break; - case 1503: -#line 11373 "gram.y" + case 1526: +#line 11601 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42181,8 +45084,8 @@ YYLTYPE yylloc; ;} break; - case 1504: -#line 11383 "gram.y" + case 1527: +#line 11611 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42195,8 +45098,8 @@ YYLTYPE yylloc; ;} break; - case 1505: -#line 11395 "gram.y" + case 1528: +#line 11623 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42209,8 +45112,8 @@ YYLTYPE yylloc; ;} break; - case 1506: -#line 11407 "gram.y" + case 1529: +#line 11635 "gram.y" { AlterDomainStmt *n = makeNode(AlterDomainStmt); @@ -42221,8 +45124,8 @@ YYLTYPE yylloc; ;} break; - case 1509: -#line 11430 "gram.y" + case 1532: +#line 11658 "gram.y" { AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt); @@ -42232,8 +45135,8 @@ YYLTYPE yylloc; ;} break; - case 1510: -#line 11441 "gram.y" + case 1533: +#line 11669 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42247,8 +45150,8 @@ YYLTYPE yylloc; ;} break; - case 1511: -#line 11453 "gram.y" + case 1534: +#line 11681 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42262,8 +45165,8 @@ YYLTYPE yylloc; ;} break; - case 1512: -#line 11465 "gram.y" + case 1535: +#line 11693 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42277,8 +45180,8 @@ YYLTYPE yylloc; ;} break; - case 1513: -#line 11477 "gram.y" + case 1536: +#line 11705 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42292,8 +45195,8 @@ YYLTYPE yylloc; ;} break; - case 1514: -#line 11489 "gram.y" + case 1537: +#line 11717 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42305,8 +45208,8 @@ YYLTYPE yylloc; ;} break; - case 1515: -#line 11499 "gram.y" + case 1538: +#line 11727 "gram.y" { AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt); @@ -42318,8 +45221,8 @@ YYLTYPE yylloc; ;} break; - case 1518: -#line 11528 "gram.y" + case 1541: +#line 11756 "gram.y" { CreateConversionStmt *n = makeNode(CreateConversionStmt); @@ -42332,34 +45235,46 @@ YYLTYPE yylloc; ;} break; - case 1519: -#line 11552 "gram.y" + case 1542: +#line 11779 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[(3) - (4)].range); - n->indexname = (yyvsp[(4) - (4)].str); - n->params = NIL; - if ((yyvsp[(2) - (4)].boolean)) - n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (4)]))); + n->relation = (yyvsp[(5) - (6)].range); + n->indexname = (yyvsp[(6) - (6)].str); + n->params = (yyvsp[(3) - (6)].list); (yyval.node) = (Node *) n; ;} break; - case 1520: -#line 11564 "gram.y" + case 1543: +#line 11788 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); - n->relation = (yyvsp[(5) - (6)].range); - n->indexname = (yyvsp[(6) - (6)].str); - n->params = (yyvsp[(3) - (6)].list); + n->relation = NULL; + n->indexname = NULL; + n->params = (yyvsp[(3) - (4)].list); (yyval.node) = (Node *) n; ;} break; - case 1521: -#line 11573 "gram.y" + case 1544: +#line 11798 "gram.y" + { + ClusterStmt *n = makeNode(ClusterStmt); + + n->relation = (yyvsp[(3) - (4)].range); + n->indexname = (yyvsp[(4) - (4)].str); + n->params = NIL; + if ((yyvsp[(2) - (4)].boolean)) + n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (4)]))); + (yyval.node) = (Node *) n; + ;} + break; + + case 1545: +#line 11810 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); @@ -42372,8 +45287,8 @@ YYLTYPE yylloc; ;} break; - case 1522: -#line 11585 "gram.y" + case 1546: +#line 11822 "gram.y" { ClusterStmt *n = makeNode(ClusterStmt); @@ -42386,18 +45301,18 @@ YYLTYPE yylloc; ;} break; - case 1523: -#line 11598 "gram.y" + case 1547: +#line 11835 "gram.y" { (yyval.str) = (yyvsp[(2) - (2)].str); ;} break; - case 1524: -#line 11599 "gram.y" + case 1548: +#line 11836 "gram.y" { (yyval.str) = NULL; ;} break; - case 1525: -#line 11612 "gram.y" + case 1549: +#line 11849 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -42420,8 +45335,8 @@ YYLTYPE yylloc; ;} break; - case 1526: -#line 11633 "gram.y" + case 1550: +#line 11870 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -42432,8 +45347,8 @@ YYLTYPE yylloc; ;} break; - case 1527: -#line 11644 "gram.y" + case 1551: +#line 11881 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -42447,8 +45362,8 @@ YYLTYPE yylloc; ;} break; - case 1528: -#line 11656 "gram.y" + case 1552: +#line 11893 "gram.y" { VacuumStmt *n = makeNode(VacuumStmt); @@ -42459,131 +45374,136 @@ YYLTYPE yylloc; ;} break; - case 1529: -#line 11668 "gram.y" + case 1553: +#line 11905 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1530: -#line 11672 "gram.y" + case 1554: +#line 11909 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;} break; - case 1533: -#line 11684 "gram.y" + case 1557: +#line 11921 "gram.y" { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1534: -#line 11690 "gram.y" + case 1558: +#line 11927 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1535: -#line 11691 "gram.y" + case 1559: +#line 11928 "gram.y" { (yyval.str) = "analyze"; ;} break; - case 1536: -#line 11695 "gram.y" + case 1560: +#line 11929 "gram.y" + { (yyval.str) = "format"; ;} + break; + + case 1561: +#line 11933 "gram.y" { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;} break; - case 1537: -#line 11696 "gram.y" + case 1562: +#line 11934 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;} break; - case 1538: -#line 11697 "gram.y" + case 1563: +#line 11935 "gram.y" { (yyval.node) = NULL; ;} break; - case 1539: -#line 11701 "gram.y" + case 1564: +#line 11939 "gram.y" { (yyval.boolean) = true; ;} break; - case 1540: -#line 11702 "gram.y" + case 1565: +#line 11940 "gram.y" { (yyval.boolean) = false; ;} break; - case 1541: -#line 11706 "gram.y" + case 1566: +#line 11944 "gram.y" { (yyval.boolean) = true; ;} break; - case 1542: -#line 11707 "gram.y" + case 1567: +#line 11945 "gram.y" { (yyval.boolean) = false; ;} break; - case 1543: -#line 11710 "gram.y" + case 1568: +#line 11948 "gram.y" { (yyval.boolean) = true; ;} break; - case 1544: -#line 11711 "gram.y" + case 1569: +#line 11949 "gram.y" { (yyval.boolean) = false; ;} break; - case 1545: -#line 11714 "gram.y" + case 1570: +#line 11952 "gram.y" { (yyval.boolean) = true; ;} break; - case 1546: -#line 11715 "gram.y" + case 1571: +#line 11953 "gram.y" { (yyval.boolean) = false; ;} break; - case 1547: -#line 11719 "gram.y" + case 1572: +#line 11957 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1548: -#line 11720 "gram.y" + case 1573: +#line 11958 "gram.y" { (yyval.list) = NIL; ;} break; - case 1549: -#line 11725 "gram.y" + case 1574: +#line 11963 "gram.y" { (yyval.node) = (Node *) makeVacuumRelation((yyvsp[(1) - (2)].range), InvalidOid, (yyvsp[(2) - (2)].list)); ;} break; - case 1550: -#line 11732 "gram.y" + case 1575: +#line 11970 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1551: -#line 11734 "gram.y" + case 1576: +#line 11972 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1552: -#line 11738 "gram.y" + case 1577: +#line 11976 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1553: -#line 11739 "gram.y" + case 1578: +#line 11977 "gram.y" { (yyval.list) = NIL; ;} break; - case 1554: -#line 11753 "gram.y" + case 1579: +#line 11991 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -42593,8 +45513,8 @@ YYLTYPE yylloc; ;} break; - case 1555: -#line 11761 "gram.y" + case 1580: +#line 11999 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -42607,8 +45527,8 @@ YYLTYPE yylloc; ;} break; - case 1556: -#line 11772 "gram.y" + case 1581: +#line 12010 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -42618,8 +45538,8 @@ YYLTYPE yylloc; ;} break; - case 1557: -#line 11780 "gram.y" + case 1582: +#line 12018 "gram.y" { ExplainStmt *n = makeNode(ExplainStmt); @@ -42629,8 +45549,8 @@ YYLTYPE yylloc; ;} break; - case 1568: -#line 11810 "gram.y" + case 1593: +#line 12048 "gram.y" { PrepareStmt *n = makeNode(PrepareStmt); @@ -42641,18 +45561,18 @@ YYLTYPE yylloc; ;} break; - case 1569: -#line 11820 "gram.y" + case 1594: +#line 12058 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1570: -#line 11821 "gram.y" + case 1595: +#line 12059 "gram.y" { (yyval.list) = NIL; ;} break; - case 1576: -#line 11840 "gram.y" + case 1601: +#line 12078 "gram.y" { ExecuteStmt *n = makeNode(ExecuteStmt); @@ -42662,8 +45582,8 @@ YYLTYPE yylloc; ;} break; - case 1577: -#line 11849 "gram.y" + case 1602: +#line 12087 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); ExecuteStmt *n = makeNode(ExecuteStmt); @@ -42682,8 +45602,8 @@ YYLTYPE yylloc; ;} break; - case 1578: -#line 11867 "gram.y" + case 1603: +#line 12105 "gram.y" { CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt); ExecuteStmt *n = makeNode(ExecuteStmt); @@ -42702,58 +45622,66 @@ YYLTYPE yylloc; ;} break; - case 1579: -#line 11885 "gram.y" + case 1604: +#line 12123 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1580: -#line 11886 "gram.y" + case 1605: +#line 12124 "gram.y" { (yyval.list) = NIL; ;} break; - case 1581: -#line 11897 "gram.y" + case 1606: +#line 12135 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = (yyvsp[(2) - (2)].str); + n->isall = false; + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1582: -#line 11904 "gram.y" + case 1607: +#line 12144 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = (yyvsp[(3) - (3)].str); + n->isall = false; + n->location = (yylsp[(3) - (3)]); (yyval.node) = (Node *) n; ;} break; - case 1583: -#line 11911 "gram.y" + case 1608: +#line 12153 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = NULL; + n->isall = true; + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1584: -#line 11918 "gram.y" + case 1609: +#line 12162 "gram.y" { DeallocateStmt *n = makeNode(DeallocateStmt); n->name = NULL; + n->isall = true; + n->location = -1; (yyval.node) = (Node *) n; ;} break; - case 1585: -#line 11936 "gram.y" + case 1610: +#line 12182 "gram.y" { (yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range); (yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict); @@ -42763,23 +45691,23 @@ YYLTYPE yylloc; ;} break; - case 1586: -#line 11953 "gram.y" + case 1611: +#line 12199 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1587: -#line 11957 "gram.y" + case 1612: +#line 12203 "gram.y" { (yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL); (yyval.range) = (yyvsp[(1) - (3)].range); ;} break; - case 1588: -#line 11965 "gram.y" + case 1613: +#line 12211 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -42787,8 +45715,8 @@ YYLTYPE yylloc; ;} break; - case 1589: -#line 11971 "gram.y" + case 1614: +#line 12217 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -42797,8 +45725,8 @@ YYLTYPE yylloc; ;} break; - case 1590: -#line 11978 "gram.y" + case 1615: +#line 12224 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = (yyvsp[(2) - (4)].list); @@ -42806,8 +45734,8 @@ YYLTYPE yylloc; ;} break; - case 1591: -#line 11984 "gram.y" + case 1616: +#line 12230 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = (yyvsp[(2) - (7)].list); @@ -42816,8 +45744,8 @@ YYLTYPE yylloc; ;} break; - case 1592: -#line 11991 "gram.y" + case 1617: +#line 12237 "gram.y" { (yyval.istmt) = makeNode(InsertStmt); (yyval.istmt)->cols = NIL; @@ -42825,28 +45753,28 @@ YYLTYPE yylloc; ;} break; - case 1593: -#line 11999 "gram.y" + case 1618: +#line 12245 "gram.y" { (yyval.ival) = OVERRIDING_USER_VALUE; ;} break; - case 1594: -#line 12000 "gram.y" + case 1619: +#line 12246 "gram.y" { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; ;} break; - case 1595: -#line 12005 "gram.y" + case 1620: +#line 12251 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1596: -#line 12007 "gram.y" + case 1621: +#line 12253 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 1597: -#line 12012 "gram.y" + case 1622: +#line 12258 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(1) - (2)].str); @@ -42856,8 +45784,8 @@ YYLTYPE yylloc; ;} break; - case 1598: -#line 12023 "gram.y" + case 1623: +#line 12269 "gram.y" { (yyval.onconflict) = makeNode(OnConflictClause); (yyval.onconflict)->action = ONCONFLICT_UPDATE; @@ -42868,8 +45796,8 @@ YYLTYPE yylloc; ;} break; - case 1599: -#line 12033 "gram.y" + case 1624: +#line 12279 "gram.y" { (yyval.onconflict) = makeNode(OnConflictClause); (yyval.onconflict)->action = ONCONFLICT_NOTHING; @@ -42880,15 +45808,15 @@ YYLTYPE yylloc; ;} break; - case 1600: -#line 12042 "gram.y" + case 1625: +#line 12288 "gram.y" { (yyval.onconflict) = NULL; ;} break; - case 1601: -#line 12049 "gram.y" + case 1626: +#line 12295 "gram.y" { (yyval.infer) = makeNode(InferClause); (yyval.infer)->indexElems = (yyvsp[(2) - (4)].list); @@ -42898,8 +45826,8 @@ YYLTYPE yylloc; ;} break; - case 1602: -#line 12058 "gram.y" + case 1627: +#line 12304 "gram.y" { (yyval.infer) = makeNode(InferClause); (yyval.infer)->indexElems = NIL; @@ -42909,25 +45837,25 @@ YYLTYPE yylloc; ;} break; - case 1603: -#line 12066 "gram.y" + case 1628: +#line 12312 "gram.y" { (yyval.infer) = NULL; ;} break; - case 1604: -#line 12072 "gram.y" + case 1629: +#line 12318 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1605: -#line 12073 "gram.y" + case 1630: +#line 12319 "gram.y" { (yyval.list) = NIL; ;} break; - case 1606: -#line 12086 "gram.y" + case 1631: +#line 12332 "gram.y" { DeleteStmt *n = makeNode(DeleteStmt); @@ -42940,18 +45868,18 @@ YYLTYPE yylloc; ;} break; - case 1607: -#line 12099 "gram.y" + case 1632: +#line 12345 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1608: -#line 12100 "gram.y" + case 1633: +#line 12346 "gram.y" { (yyval.list) = NIL; ;} break; - case 1609: -#line 12112 "gram.y" + case 1634: +#line 12358 "gram.y" { LockStmt *n = makeNode(LockStmt); @@ -42962,83 +45890,83 @@ YYLTYPE yylloc; ;} break; - case 1610: -#line 12122 "gram.y" + case 1635: +#line 12368 "gram.y" { (yyval.ival) = (yyvsp[(2) - (3)].ival); ;} break; - case 1611: -#line 12123 "gram.y" + case 1636: +#line 12369 "gram.y" { (yyval.ival) = AccessExclusiveLock; ;} break; - case 1612: -#line 12126 "gram.y" + case 1637: +#line 12372 "gram.y" { (yyval.ival) = AccessShareLock; ;} break; - case 1613: -#line 12127 "gram.y" + case 1638: +#line 12373 "gram.y" { (yyval.ival) = RowShareLock; ;} break; - case 1614: -#line 12128 "gram.y" + case 1639: +#line 12374 "gram.y" { (yyval.ival) = RowExclusiveLock; ;} break; - case 1615: -#line 12129 "gram.y" + case 1640: +#line 12375 "gram.y" { (yyval.ival) = ShareUpdateExclusiveLock; ;} break; - case 1616: -#line 12130 "gram.y" + case 1641: +#line 12376 "gram.y" { (yyval.ival) = ShareLock; ;} break; - case 1617: -#line 12131 "gram.y" + case 1642: +#line 12377 "gram.y" { (yyval.ival) = ShareRowExclusiveLock; ;} break; - case 1618: -#line 12132 "gram.y" + case 1643: +#line 12378 "gram.y" { (yyval.ival) = ExclusiveLock; ;} break; - case 1619: -#line 12133 "gram.y" + case 1644: +#line 12379 "gram.y" { (yyval.ival) = AccessExclusiveLock; ;} break; - case 1620: -#line 12136 "gram.y" + case 1645: +#line 12382 "gram.y" { (yyval.boolean) = true; ;} break; - case 1621: -#line 12137 "gram.y" + case 1646: +#line 12383 "gram.y" { (yyval.boolean) = false; ;} break; - case 1622: -#line 12141 "gram.y" + case 1647: +#line 12387 "gram.y" { (yyval.ival) = LockWaitError; ;} break; - case 1623: -#line 12142 "gram.y" + case 1648: +#line 12388 "gram.y" { (yyval.ival) = LockWaitSkip; ;} break; - case 1624: -#line 12143 "gram.y" + case 1649: +#line 12389 "gram.y" { (yyval.ival) = LockWaitBlock; ;} break; - case 1625: -#line 12159 "gram.y" + case 1650: +#line 12405 "gram.y" { UpdateStmt *n = makeNode(UpdateStmt); @@ -43052,26 +45980,26 @@ YYLTYPE yylloc; ;} break; - case 1626: -#line 12173 "gram.y" + case 1651: +#line 12419 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1627: -#line 12174 "gram.y" + case 1652: +#line 12420 "gram.y" { (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;} break; - case 1628: -#line 12179 "gram.y" + case 1653: +#line 12425 "gram.y" { (yyvsp[(1) - (3)].target)->val = (Node *) (yyvsp[(3) - (3)].node); (yyval.list) = list_make1((yyvsp[(1) - (3)].target)); ;} break; - case 1629: -#line 12184 "gram.y" + case 1654: +#line 12430 "gram.y" { int ncolumns = list_length((yyvsp[(2) - (5)].list)); int i = 1; @@ -43094,8 +46022,8 @@ YYLTYPE yylloc; ;} break; - case 1630: -#line 12208 "gram.y" + case 1655: +#line 12454 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(1) - (2)].str); @@ -43105,109 +46033,130 @@ YYLTYPE yylloc; ;} break; - case 1631: -#line 12218 "gram.y" + case 1656: +#line 12464 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1632: -#line 12219 "gram.y" + case 1657: +#line 12465 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;} break; - case 1633: -#line 12235 "gram.y" + case 1658: +#line 12482 "gram.y" { MergeStmt *m = makeNode(MergeStmt); - m->withClause = (yyvsp[(1) - (9)].with); - m->relation = (yyvsp[(4) - (9)].range); - m->sourceRelation = (yyvsp[(6) - (9)].node); - m->joinCondition = (yyvsp[(8) - (9)].node); - m->mergeWhenClauses = (yyvsp[(9) - (9)].list); + m->withClause = (yyvsp[(1) - (10)].with); + m->relation = (yyvsp[(4) - (10)].range); + m->sourceRelation = (yyvsp[(6) - (10)].node); + m->joinCondition = (yyvsp[(8) - (10)].node); + m->mergeWhenClauses = (yyvsp[(9) - (10)].list); + m->returningList = (yyvsp[(10) - (10)].list); (yyval.node) = (Node *) m; ;} break; - case 1634: -#line 12249 "gram.y" + case 1659: +#line 12497 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1635: -#line 12250 "gram.y" + case 1660: +#line 12498 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list),(yyvsp[(2) - (2)].node)); ;} break; - case 1636: -#line 12255 "gram.y" + case 1661: +#line 12509 "gram.y" { - (yyvsp[(5) - (5)].mergewhen)->matched = true; - (yyvsp[(5) - (5)].mergewhen)->condition = (yyvsp[(3) - (5)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(5) - (5)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1637: -#line 12262 "gram.y" + case 1662: +#line 12516 "gram.y" { - (yyvsp[(5) - (5)].mergewhen)->matched = true; - (yyvsp[(5) - (5)].mergewhen)->condition = (yyvsp[(3) - (5)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(5) - (5)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1638: -#line 12269 "gram.y" + case 1663: +#line 12523 "gram.y" { - (yyvsp[(6) - (6)].mergewhen)->matched = false; - (yyvsp[(6) - (6)].mergewhen)->condition = (yyvsp[(4) - (6)].node); + (yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch); + (yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node); - (yyval.node) = (Node *) (yyvsp[(6) - (6)].mergewhen); + (yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen); ;} break; - case 1639: -#line 12276 "gram.y" + case 1664: +#line 12530 "gram.y" { MergeWhenClause *m = makeNode(MergeWhenClause); - m->matched = true; + m->matchKind = (yyvsp[(1) - (5)].mergematch); m->commandType = CMD_NOTHING; - m->condition = (yyvsp[(3) - (6)].node); + m->condition = (yyvsp[(2) - (5)].node); (yyval.node) = (Node *) m; ;} break; - case 1640: -#line 12286 "gram.y" + case 1665: +#line 12540 "gram.y" { MergeWhenClause *m = makeNode(MergeWhenClause); - m->matched = false; + m->matchKind = (yyvsp[(1) - (5)].mergematch); m->commandType = CMD_NOTHING; - m->condition = (yyvsp[(4) - (7)].node); + m->condition = (yyvsp[(2) - (5)].node); (yyval.node) = (Node *) m; ;} break; - case 1641: -#line 12298 "gram.y" + case 1666: +#line 12552 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_MATCHED; ;} + break; + + case 1667: +#line 12553 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; ;} + break; + + case 1668: +#line 12557 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;} + break; + + case 1669: +#line 12558 "gram.y" + { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;} + break; + + case 1670: +#line 12562 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1642: -#line 12299 "gram.y" + case 1671: +#line 12563 "gram.y" { (yyval.node) = NULL; ;} break; - case 1643: -#line 12304 "gram.y" + case 1672: +#line 12568 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_UPDATE; @@ -43219,8 +46168,8 @@ YYLTYPE yylloc; ;} break; - case 1644: -#line 12317 "gram.y" + case 1673: +#line 12581 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_DELETE; @@ -43232,8 +46181,8 @@ YYLTYPE yylloc; ;} break; - case 1645: -#line 12330 "gram.y" + case 1674: +#line 12594 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -43244,8 +46193,8 @@ YYLTYPE yylloc; ;} break; - case 1646: -#line 12339 "gram.y" + case 1675: +#line 12603 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -43256,8 +46205,8 @@ YYLTYPE yylloc; ;} break; - case 1647: -#line 12348 "gram.y" + case 1676: +#line 12612 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -43268,8 +46217,8 @@ YYLTYPE yylloc; ;} break; - case 1648: -#line 12357 "gram.y" + case 1677: +#line 12621 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -43280,8 +46229,8 @@ YYLTYPE yylloc; ;} break; - case 1649: -#line 12366 "gram.y" + case 1678: +#line 12630 "gram.y" { MergeWhenClause *n = makeNode(MergeWhenClause); n->commandType = CMD_INSERT; @@ -43292,15 +46241,15 @@ YYLTYPE yylloc; ;} break; - case 1650: -#line 12378 "gram.y" + case 1679: +#line 12642 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1651: -#line 12390 "gram.y" + case 1680: +#line 12654 "gram.y" { DeclareCursorStmt *n = makeNode(DeclareCursorStmt); @@ -43312,73 +46261,73 @@ YYLTYPE yylloc; ;} break; - case 1652: -#line 12401 "gram.y" + case 1681: +#line 12665 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 1653: -#line 12404 "gram.y" + case 1682: +#line 12668 "gram.y" { (yyval.ival) = 0; ;} break; - case 1654: -#line 12405 "gram.y" + case 1683: +#line 12669 "gram.y" { (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;} break; - case 1655: -#line 12406 "gram.y" + case 1684: +#line 12670 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;} break; - case 1656: -#line 12407 "gram.y" + case 1685: +#line 12671 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;} break; - case 1657: -#line 12408 "gram.y" + case 1686: +#line 12672 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_ASENSITIVE; ;} break; - case 1658: -#line 12409 "gram.y" + case 1687: +#line 12673 "gram.y" { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;} break; - case 1659: -#line 12412 "gram.y" + case 1688: +#line 12676 "gram.y" { (yyval.ival) = 0; ;} break; - case 1660: -#line 12413 "gram.y" + case 1689: +#line 12677 "gram.y" { (yyval.ival) = CURSOR_OPT_HOLD; ;} break; - case 1661: -#line 12414 "gram.y" + case 1690: +#line 12678 "gram.y" { (yyval.ival) = 0; ;} break; - case 1664: -#line 12467 "gram.y" + case 1693: +#line 12731 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1665: -#line 12468 "gram.y" + case 1694: +#line 12732 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1666: -#line 12483 "gram.y" + case 1695: +#line 12747 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1667: -#line 12485 "gram.y" + case 1696: +#line 12749 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL, NULL, NULL, @@ -43387,8 +46336,8 @@ YYLTYPE yylloc; ;} break; - case 1668: -#line 12492 "gram.y" + case 1697: +#line 12756 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].selectlimit), @@ -43398,8 +46347,8 @@ YYLTYPE yylloc; ;} break; - case 1669: -#line 12500 "gram.y" + case 1698: +#line 12764 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list), (yyvsp[(3) - (4)].selectlimit), @@ -43409,8 +46358,8 @@ YYLTYPE yylloc; ;} break; - case 1670: -#line 12508 "gram.y" + case 1699: +#line 12772 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL, NULL, @@ -43420,8 +46369,8 @@ YYLTYPE yylloc; ;} break; - case 1671: -#line 12516 "gram.y" + case 1700: +#line 12780 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL, NULL, @@ -43431,8 +46380,8 @@ YYLTYPE yylloc; ;} break; - case 1672: -#line 12524 "gram.y" + case 1701: +#line 12788 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list), (yyvsp[(5) - (5)].selectlimit), @@ -43442,8 +46391,8 @@ YYLTYPE yylloc; ;} break; - case 1673: -#line 12532 "gram.y" + case 1702: +#line 12796 "gram.y" { insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list), (yyvsp[(4) - (5)].selectlimit), @@ -43453,18 +46402,18 @@ YYLTYPE yylloc; ;} break; - case 1674: -#line 12542 "gram.y" + case 1703: +#line 12806 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1675: -#line 12543 "gram.y" + case 1704: +#line 12807 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1676: -#line 12578 "gram.y" + case 1705: +#line 12842 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -43480,8 +46429,8 @@ YYLTYPE yylloc; ;} break; - case 1677: -#line 12594 "gram.y" + case 1706: +#line 12858 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -43498,13 +46447,13 @@ YYLTYPE yylloc; ;} break; - case 1678: -#line 12608 "gram.y" + case 1707: +#line 12872 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1679: -#line 12610 "gram.y" + case 1708: +#line 12874 "gram.y" { /* same as SELECT * FROM relation_expr */ ColumnRef *cr = makeNode(ColumnRef); @@ -43525,29 +46474,29 @@ YYLTYPE yylloc; ;} break; - case 1680: -#line 12629 "gram.y" + case 1709: +#line 12893 "gram.y" { (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1681: -#line 12633 "gram.y" + case 1710: +#line 12897 "gram.y" { (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1682: -#line 12637 "gram.y" + case 1711: +#line 12901 "gram.y" { (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node)); ;} break; - case 1683: -#line 12652 "gram.y" + case 1712: +#line 12916 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(2) - (2)].list); @@ -43556,8 +46505,8 @@ YYLTYPE yylloc; ;} break; - case 1684: -#line 12659 "gram.y" + case 1713: +#line 12923 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(2) - (2)].list); @@ -43566,8 +46515,8 @@ YYLTYPE yylloc; ;} break; - case 1685: -#line 12666 "gram.y" + case 1714: +#line 12930 "gram.y" { (yyval.with) = makeNode(WithClause); (yyval.with)->ctes = (yyvsp[(3) - (3)].list); @@ -43576,18 +46525,18 @@ YYLTYPE yylloc; ;} break; - case 1686: -#line 12675 "gram.y" + case 1715: +#line 12939 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1687: -#line 12676 "gram.y" + case 1716: +#line 12940 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1688: -#line 12680 "gram.y" + case 1717: +#line 12944 "gram.y" { CommonTableExpr *n = makeNode(CommonTableExpr); @@ -43602,23 +46551,23 @@ YYLTYPE yylloc; ;} break; - case 1689: -#line 12695 "gram.y" + case 1718: +#line 12959 "gram.y" { (yyval.ival) = CTEMaterializeAlways; ;} break; - case 1690: -#line 12696 "gram.y" + case 1719: +#line 12960 "gram.y" { (yyval.ival) = CTEMaterializeNever; ;} break; - case 1691: -#line 12697 "gram.y" + case 1720: +#line 12961 "gram.y" { (yyval.ival) = CTEMaterializeDefault; ;} break; - case 1692: -#line 12702 "gram.y" + case 1721: +#line 12966 "gram.y" { CTESearchClause *n = makeNode(CTESearchClause); @@ -43630,8 +46579,8 @@ YYLTYPE yylloc; ;} break; - case 1693: -#line 12712 "gram.y" + case 1722: +#line 12976 "gram.y" { CTESearchClause *n = makeNode(CTESearchClause); @@ -43643,15 +46592,15 @@ YYLTYPE yylloc; ;} break; - case 1694: -#line 12722 "gram.y" + case 1723: +#line 12986 "gram.y" { (yyval.node) = NULL; ;} break; - case 1695: -#line 12729 "gram.y" + case 1724: +#line 12993 "gram.y" { CTECycleClause *n = makeNode(CTECycleClause); @@ -43665,8 +46614,8 @@ YYLTYPE yylloc; ;} break; - case 1696: -#line 12741 "gram.y" + case 1725: +#line 13005 "gram.y" { CTECycleClause *n = makeNode(CTECycleClause); @@ -43680,25 +46629,25 @@ YYLTYPE yylloc; ;} break; - case 1697: -#line 12753 "gram.y" + case 1726: +#line 13017 "gram.y" { (yyval.node) = NULL; ;} break; - case 1698: -#line 12759 "gram.y" + case 1727: +#line 13023 "gram.y" { (yyval.with) = (yyvsp[(1) - (1)].with); ;} break; - case 1699: -#line 12760 "gram.y" + case 1728: +#line 13024 "gram.y" { (yyval.with) = NULL; ;} break; - case 1700: -#line 12765 "gram.y" + case 1729: +#line 13029 "gram.y" { (yyval.into) = makeNode(IntoClause); (yyval.into)->rel = (yyvsp[(2) - (2)].range); @@ -43711,45 +46660,45 @@ YYLTYPE yylloc; ;} break; - case 1701: -#line 12776 "gram.y" + case 1730: +#line 13040 "gram.y" { (yyval.into) = NULL; ;} break; - case 1702: -#line 12785 "gram.y" + case 1731: +#line 13049 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1703: -#line 12790 "gram.y" + case 1732: +#line 13054 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1704: -#line 12795 "gram.y" + case 1733: +#line 13059 "gram.y" { (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1705: -#line 12800 "gram.y" + case 1734: +#line 13064 "gram.y" { (yyval.range) = (yyvsp[(4) - (4)].range); (yyval.range)->relpersistence = RELPERSISTENCE_TEMP; ;} break; - case 1706: -#line 12805 "gram.y" + case 1735: +#line 13069 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -43759,8 +46708,8 @@ YYLTYPE yylloc; ;} break; - case 1707: -#line 12813 "gram.y" + case 1736: +#line 13077 "gram.y" { ereport(WARNING, (errmsg("GLOBAL is deprecated in temporary table creation"), @@ -43770,92 +46719,92 @@ YYLTYPE yylloc; ;} break; - case 1708: -#line 12821 "gram.y" + case 1737: +#line 13085 "gram.y" { (yyval.range) = (yyvsp[(3) - (3)].range); (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED; ;} break; - case 1709: -#line 12826 "gram.y" + case 1738: +#line 13090 "gram.y" { (yyval.range) = (yyvsp[(2) - (2)].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; ;} break; - case 1710: -#line 12831 "gram.y" + case 1739: +#line 13095 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT; ;} break; - case 1713: -#line 12842 "gram.y" + case 1742: +#line 13106 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_ALL; ;} break; - case 1714: -#line 12843 "gram.y" + case 1743: +#line 13107 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; ;} break; - case 1715: -#line 12844 "gram.y" + case 1744: +#line 13108 "gram.y" { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; ;} break; - case 1716: -#line 12851 "gram.y" + case 1745: +#line 13115 "gram.y" { (yyval.list) = list_make1(NIL); ;} break; - case 1717: -#line 12852 "gram.y" + case 1746: +#line 13116 "gram.y" { (yyval.list) = (yyvsp[(4) - (5)].list); ;} break; - case 1720: -#line 12861 "gram.y" + case 1749: +#line 13125 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1721: -#line 12862 "gram.y" + case 1750: +#line 13126 "gram.y" { (yyval.list) = NIL; ;} break; - case 1722: -#line 12866 "gram.y" + case 1751: +#line 13130 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1723: -#line 12867 "gram.y" + case 1752: +#line 13131 "gram.y" { (yyval.list) = NIL; ;} break; - case 1724: -#line 12871 "gram.y" + case 1753: +#line 13135 "gram.y" { (yyval.list) = (yyvsp[(3) - (3)].list); ;} break; - case 1725: -#line 12875 "gram.y" + case 1754: +#line 13139 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;} break; - case 1726: -#line 12876 "gram.y" + case 1755: +#line 13140 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;} break; - case 1727: -#line 12880 "gram.y" + case 1756: +#line 13144 "gram.y" { (yyval.sortby) = makeNode(SortBy); (yyval.sortby)->node = (yyvsp[(1) - (4)].node); @@ -43866,8 +46815,8 @@ YYLTYPE yylloc; ;} break; - case 1728: -#line 12889 "gram.y" + case 1757: +#line 13153 "gram.y" { (yyval.sortby) = makeNode(SortBy); (yyval.sortby)->node = (yyvsp[(1) - (3)].node); @@ -43878,31 +46827,31 @@ YYLTYPE yylloc; ;} break; - case 1729: -#line 12902 "gram.y" + case 1758: +#line 13166 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (2)].selectlimit); ((yyval.selectlimit))->limitOffset = (yyvsp[(2) - (2)].node); ;} break; - case 1730: -#line 12907 "gram.y" + case 1759: +#line 13171 "gram.y" { (yyval.selectlimit) = (yyvsp[(2) - (2)].selectlimit); ((yyval.selectlimit))->limitOffset = (yyvsp[(1) - (2)].node); ;} break; - case 1731: -#line 12912 "gram.y" + case 1760: +#line 13176 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;} break; - case 1732: -#line 12916 "gram.y" + case 1761: +#line 13180 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43913,18 +46862,18 @@ YYLTYPE yylloc; ;} break; - case 1733: -#line 12927 "gram.y" + case 1762: +#line 13191 "gram.y" { (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;} break; - case 1734: -#line 12928 "gram.y" + case 1763: +#line 13192 "gram.y" { (yyval.selectlimit) = NULL; ;} break; - case 1735: -#line 12933 "gram.y" + case 1764: +#line 13197 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43935,8 +46884,8 @@ YYLTYPE yylloc; ;} break; - case 1736: -#line 12942 "gram.y" + case 1765: +#line 13206 "gram.y" { /* Disabled because it was too confusing, bjm 2002-02-18 */ ereport(ERROR, @@ -43947,8 +46896,8 @@ YYLTYPE yylloc; ;} break; - case 1737: -#line 12958 "gram.y" + case 1766: +#line 13222 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43959,8 +46908,8 @@ YYLTYPE yylloc; ;} break; - case 1738: -#line 12967 "gram.y" + case 1767: +#line 13231 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43971,8 +46920,8 @@ YYLTYPE yylloc; ;} break; - case 1739: -#line 12976 "gram.y" + case 1768: +#line 13240 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43983,8 +46932,8 @@ YYLTYPE yylloc; ;} break; - case 1740: -#line 12985 "gram.y" + case 1769: +#line 13249 "gram.y" { SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit)); @@ -43995,81 +46944,81 @@ YYLTYPE yylloc; ;} break; - case 1741: -#line 12997 "gram.y" + case 1770: +#line 13261 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1742: -#line 13000 "gram.y" + case 1771: +#line 13264 "gram.y" { (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 1743: -#line 13004 "gram.y" + case 1772: +#line 13268 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1744: -#line 13006 "gram.y" + case 1773: +#line 13270 "gram.y" { /* LIMIT ALL is represented as a NULL constant */ (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); ;} break; - case 1745: -#line 13013 "gram.y" + case 1774: +#line 13277 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1746: -#line 13033 "gram.y" + case 1775: +#line 13297 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1747: -#line 13035 "gram.y" + case 1776: +#line 13299 "gram.y" { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1748: -#line 13037 "gram.y" + case 1777: +#line 13301 "gram.y" { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1749: -#line 13041 "gram.y" + case 1778: +#line 13305 "gram.y" { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival),(yylsp[(1) - (1)])); ;} break; - case 1750: -#line 13042 "gram.y" + case 1779: +#line 13306 "gram.y" { (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str),(yylsp[(1) - (1)])); ;} break; - case 1751: -#line 13046 "gram.y" + case 1780: +#line 13310 "gram.y" { (yyval.ival) = 0; ;} break; - case 1752: -#line 13047 "gram.y" + case 1781: +#line 13311 "gram.y" { (yyval.ival) = 0; ;} break; - case 1753: -#line 13050 "gram.y" + case 1782: +#line 13314 "gram.y" { (yyval.ival) = 0; ;} break; - case 1754: -#line 13051 "gram.y" + case 1783: +#line 13315 "gram.y" { (yyval.ival) = 0; ;} break; - case 1755: -#line 13077 "gram.y" + case 1784: +#line 13341 "gram.y" { GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause)); @@ -44079,8 +47028,8 @@ YYLTYPE yylloc; ;} break; - case 1756: -#line 13085 "gram.y" + case 1785: +#line 13349 "gram.y" { GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause)); @@ -44090,111 +47039,111 @@ YYLTYPE yylloc; ;} break; - case 1757: -#line 13095 "gram.y" + case 1786: +#line 13359 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1758: -#line 13096 "gram.y" + case 1787: +#line 13360 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;} break; - case 1759: -#line 13100 "gram.y" + case 1788: +#line 13364 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1760: -#line 13101 "gram.y" + case 1789: +#line 13365 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1761: -#line 13102 "gram.y" + case 1790: +#line 13366 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1762: -#line 13103 "gram.y" + case 1791: +#line 13367 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1763: -#line 13104 "gram.y" + case 1792: +#line 13368 "gram.y" { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 1764: -#line 13109 "gram.y" + case 1793: +#line 13373 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)])); ;} break; - case 1765: -#line 13122 "gram.y" + case 1794: +#line 13386 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 1766: -#line 13129 "gram.y" + case 1795: +#line 13393 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 1767: -#line 13136 "gram.y" + case 1796: +#line 13400 "gram.y" { (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;} break; - case 1768: -#line 13142 "gram.y" + case 1797: +#line 13406 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1769: -#line 13143 "gram.y" + case 1798: +#line 13407 "gram.y" { (yyval.node) = NULL; ;} break; - case 1770: -#line 13147 "gram.y" + case 1799: +#line 13411 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1771: -#line 13148 "gram.y" + case 1800: +#line 13412 "gram.y" { (yyval.list) = NIL; ;} break; - case 1772: -#line 13152 "gram.y" + case 1801: +#line 13416 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1773: -#line 13153 "gram.y" + case 1802: +#line 13417 "gram.y" { (yyval.list) = NIL; ;} break; - case 1774: -#line 13157 "gram.y" + case 1803: +#line 13421 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1775: -#line 13158 "gram.y" + case 1804: +#line 13422 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 1776: -#line 13163 "gram.y" + case 1805: +#line 13427 "gram.y" { LockingClause *n = makeNode(LockingClause); @@ -44205,38 +47154,38 @@ YYLTYPE yylloc; ;} break; - case 1777: -#line 13174 "gram.y" + case 1806: +#line 13438 "gram.y" { (yyval.ival) = LCS_FORUPDATE; ;} break; - case 1778: -#line 13175 "gram.y" + case 1807: +#line 13439 "gram.y" { (yyval.ival) = LCS_FORNOKEYUPDATE; ;} break; - case 1779: -#line 13176 "gram.y" + case 1808: +#line 13440 "gram.y" { (yyval.ival) = LCS_FORSHARE; ;} break; - case 1780: -#line 13177 "gram.y" + case 1809: +#line 13441 "gram.y" { (yyval.ival) = LCS_FORKEYSHARE; ;} break; - case 1781: -#line 13181 "gram.y" + case 1810: +#line 13445 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1782: -#line 13182 "gram.y" + case 1811: +#line 13446 "gram.y" { (yyval.list) = NIL; ;} break; - case 1783: -#line 13193 "gram.y" + case 1812: +#line 13457 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -44245,8 +47194,8 @@ YYLTYPE yylloc; ;} break; - case 1784: -#line 13200 "gram.y" + case 1813: +#line 13464 "gram.y" { SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (5)].node); @@ -44255,36 +47204,36 @@ YYLTYPE yylloc; ;} break; - case 1785: -#line 13218 "gram.y" + case 1814: +#line 13482 "gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 1786: -#line 13219 "gram.y" + case 1815: +#line 13483 "gram.y" { (yyval.list) = NIL; ;} break; - case 1787: -#line 13223 "gram.y" + case 1816: +#line 13487 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1788: -#line 13224 "gram.y" + case 1817: +#line 13488 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1789: -#line 13231 "gram.y" + case 1818: +#line 13495 "gram.y" { (yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias); (yyval.node) = (Node *) (yyvsp[(1) - (2)].range); ;} break; - case 1790: -#line 13236 "gram.y" + case 1819: +#line 13500 "gram.y" { RangeTableSample *n = (RangeTableSample *) (yyvsp[(3) - (3)].node); @@ -44295,8 +47244,8 @@ YYLTYPE yylloc; ;} break; - case 1791: -#line 13245 "gram.y" + case 1820: +#line 13509 "gram.y" { RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node); @@ -44306,8 +47255,8 @@ YYLTYPE yylloc; ;} break; - case 1792: -#line 13253 "gram.y" + case 1821: +#line 13517 "gram.y" { RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node); @@ -44318,8 +47267,8 @@ YYLTYPE yylloc; ;} break; - case 1793: -#line 13262 "gram.y" + case 1822: +#line 13526 "gram.y" { RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(1) - (2)].node); @@ -44328,8 +47277,8 @@ YYLTYPE yylloc; ;} break; - case 1794: -#line 13269 "gram.y" + case 1823: +#line 13533 "gram.y" { RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(2) - (3)].node); @@ -44339,98 +47288,75 @@ YYLTYPE yylloc; ;} break; - case 1795: -#line 13277 "gram.y" + case 1824: +#line 13541 "gram.y" { RangeSubselect *n = makeNode(RangeSubselect); n->lateral = false; n->subquery = (yyvsp[(1) - (2)].node); n->alias = (yyvsp[(2) - (2)].alias); - /* - * The SQL spec does not permit a subselect - * () without an alias clause, - * so we don't either. This avoids the problem - * of needing to invent a unique refname for it. - * That could be surmounted if there's sufficient - * popular demand, but for now let's just implement - * the spec and see if anyone complains. - * However, it does seem like a good idea to emit - * an error message that's better than "syntax error". - */ - if ((yyvsp[(2) - (2)].alias) == NULL) - { - if (IsA((yyvsp[(1) - (2)].node), SelectStmt) && - ((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("VALUES in FROM must have an alias"), - errhint("For example, FROM (VALUES ...) [AS] foo."), - parser_errposition((yylsp[(1) - (2)])))); - else - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("subquery in FROM must have an alias"), - errhint("For example, FROM (SELECT ...) [AS] foo."), - parser_errposition((yylsp[(1) - (2)])))); - } (yyval.node) = (Node *) n; ;} break; - case 1796: -#line 13313 "gram.y" + case 1825: +#line 13550 "gram.y" { RangeSubselect *n = makeNode(RangeSubselect); n->lateral = true; n->subquery = (yyvsp[(2) - (3)].node); n->alias = (yyvsp[(3) - (3)].alias); - /* same comment as above */ - if ((yyvsp[(3) - (3)].alias) == NULL) - { - if (IsA((yyvsp[(2) - (3)].node), SelectStmt) && - ((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("VALUES in FROM must have an alias"), - errhint("For example, FROM (VALUES ...) [AS] foo."), - parser_errposition((yylsp[(2) - (3)])))); - else - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("subquery in FROM must have an alias"), - errhint("For example, FROM (SELECT ...) [AS] foo."), - parser_errposition((yylsp[(2) - (3)])))); - } (yyval.node) = (Node *) n; ;} break; - case 1797: -#line 13339 "gram.y" + case 1826: +#line 13559 "gram.y" { (yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr); ;} break; - case 1798: -#line 13343 "gram.y" + case 1827: +#line 13563 "gram.y" { (yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias); (yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr); ;} break; - case 1799: -#line 13369 "gram.y" + case 1828: +#line 13568 "gram.y" + { + JsonTable *jt = castNode(JsonTable, (yyvsp[(1) - (2)].node)); + + jt->alias = (yyvsp[(2) - (2)].alias); + (yyval.node) = (Node *) jt; + ;} + break; + + case 1829: +#line 13575 "gram.y" + { + JsonTable *jt = castNode(JsonTable, (yyvsp[(2) - (3)].node)); + + jt->alias = (yyvsp[(3) - (3)].alias); + jt->lateral = true; + (yyval.node) = (Node *) jt; + ;} + break; + + case 1830: +#line 13604 "gram.y" { (yyval.jexpr) = (yyvsp[(2) - (3)].jexpr); ;} break; - case 1800: -#line 13373 "gram.y" + case 1831: +#line 13608 "gram.y" { /* CROSS JOIN is same as unqualified inner join */ JoinExpr *n = makeNode(JoinExpr); @@ -44446,8 +47372,8 @@ YYLTYPE yylloc; ;} break; - case 1801: -#line 13387 "gram.y" + case 1832: +#line 13622 "gram.y" { JoinExpr *n = makeNode(JoinExpr); @@ -44470,8 +47396,8 @@ YYLTYPE yylloc; ;} break; - case 1802: -#line 13408 "gram.y" + case 1833: +#line 13643 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); @@ -44495,8 +47421,8 @@ YYLTYPE yylloc; ;} break; - case 1803: -#line 13430 "gram.y" + case 1834: +#line 13665 "gram.y" { JoinExpr *n = makeNode(JoinExpr); @@ -44511,8 +47437,8 @@ YYLTYPE yylloc; ;} break; - case 1804: -#line 13443 "gram.y" + case 1835: +#line 13678 "gram.y" { /* letting join_type reduce to empty doesn't work */ JoinExpr *n = makeNode(JoinExpr); @@ -44528,8 +47454,8 @@ YYLTYPE yylloc; ;} break; - case 1805: -#line 13460 "gram.y" + case 1836: +#line 13695 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (5)].str); @@ -44537,16 +47463,16 @@ YYLTYPE yylloc; ;} break; - case 1806: -#line 13466 "gram.y" + case 1837: +#line 13701 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str); ;} break; - case 1807: -#line 13471 "gram.y" + case 1838: +#line 13706 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(1) - (4)].str); @@ -44554,26 +47480,26 @@ YYLTYPE yylloc; ;} break; - case 1808: -#line 13477 "gram.y" + case 1839: +#line 13712 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(1) - (1)].str); ;} break; - case 1809: -#line 13483 "gram.y" + case 1840: +#line 13718 "gram.y" { (yyval.alias) = (yyvsp[(1) - (1)].alias); ;} break; - case 1810: -#line 13484 "gram.y" + case 1841: +#line 13719 "gram.y" { (yyval.alias) = NULL; ;} break; - case 1811: -#line 13495 "gram.y" + case 1842: +#line 13730 "gram.y" { (yyval.alias) = makeNode(Alias); (yyval.alias)->aliasname = (yyvsp[(2) - (2)].str); @@ -44581,27 +47507,27 @@ YYLTYPE yylloc; ;} break; - case 1812: -#line 13500 "gram.y" + case 1843: +#line 13735 "gram.y" { (yyval.alias) = NULL; ;} break; - case 1813: -#line 13509 "gram.y" + case 1844: +#line 13744 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL); ;} break; - case 1814: -#line 13513 "gram.y" + case 1845: +#line 13748 "gram.y" { (yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list)); ;} break; - case 1815: -#line 13517 "gram.y" + case 1846: +#line 13752 "gram.y" { Alias *a = makeNode(Alias); @@ -44610,8 +47536,8 @@ YYLTYPE yylloc; ;} break; - case 1816: -#line 13524 "gram.y" + case 1847: +#line 13759 "gram.y" { Alias *a = makeNode(Alias); @@ -44620,49 +47546,49 @@ YYLTYPE yylloc; ;} break; - case 1817: -#line 13531 "gram.y" + case 1848: +#line 13766 "gram.y" { (yyval.list) = list_make2(NULL, NIL); ;} break; - case 1818: -#line 13536 "gram.y" + case 1849: +#line 13771 "gram.y" { (yyval.jtype) = JOIN_FULL; ;} break; - case 1819: -#line 13537 "gram.y" + case 1850: +#line 13772 "gram.y" { (yyval.jtype) = JOIN_LEFT; ;} break; - case 1820: -#line 13538 "gram.y" + case 1851: +#line 13773 "gram.y" { (yyval.jtype) = JOIN_RIGHT; ;} break; - case 1821: -#line 13539 "gram.y" + case 1852: +#line 13774 "gram.y" { (yyval.jtype) = JOIN_INNER; ;} break; - case 1824: -#line 13560 "gram.y" + case 1855: +#line 13795 "gram.y" { (yyval.node) = (Node *) list_make2((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].alias)); ;} break; - case 1825: -#line 13564 "gram.y" + case 1856: +#line 13799 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1826: -#line 13572 "gram.y" + case 1857: +#line 13807 "gram.y" { /* inheritance query, implicitly */ (yyval.range) = (yyvsp[(1) - (1)].range); @@ -44671,15 +47597,15 @@ YYLTYPE yylloc; ;} break; - case 1827: -#line 13579 "gram.y" + case 1858: +#line 13814 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1828: -#line 13586 "gram.y" + case 1859: +#line 13821 "gram.y" { /* inheritance query, explicitly */ (yyval.range) = (yyvsp[(1) - (2)].range); @@ -44688,8 +47614,8 @@ YYLTYPE yylloc; ;} break; - case 1829: -#line 13593 "gram.y" + case 1860: +#line 13828 "gram.y" { /* no inheritance */ (yyval.range) = (yyvsp[(2) - (2)].range); @@ -44698,8 +47624,8 @@ YYLTYPE yylloc; ;} break; - case 1830: -#line 13600 "gram.y" + case 1861: +#line 13835 "gram.y" { /* no inheritance, SQL99-style syntax */ (yyval.range) = (yyvsp[(3) - (4)].range); @@ -44708,25 +47634,25 @@ YYLTYPE yylloc; ;} break; - case 1831: -#line 13610 "gram.y" + case 1862: +#line 13845 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;} break; - case 1832: -#line 13611 "gram.y" + case 1863: +#line 13846 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;} break; - case 1833: -#line 13625 "gram.y" + case 1864: +#line 13860 "gram.y" { (yyval.range) = (yyvsp[(1) - (1)].range); ;} break; - case 1834: -#line 13629 "gram.y" + case 1865: +#line 13864 "gram.y" { Alias *alias = makeNode(Alias); @@ -44736,8 +47662,8 @@ YYLTYPE yylloc; ;} break; - case 1835: -#line 13637 "gram.y" + case 1866: +#line 13872 "gram.y" { Alias *alias = makeNode(Alias); @@ -44747,8 +47673,8 @@ YYLTYPE yylloc; ;} break; - case 1836: -#line 13651 "gram.y" + case 1867: +#line 13886 "gram.y" { RangeTableSample *n = makeNode(RangeTableSample); @@ -44761,18 +47687,18 @@ YYLTYPE yylloc; ;} break; - case 1837: -#line 13664 "gram.y" + case 1868: +#line 13899 "gram.y" { (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;} break; - case 1838: -#line 13665 "gram.y" + case 1869: +#line 13900 "gram.y" { (yyval.node) = NULL; ;} break; - case 1839: -#line 13681 "gram.y" + case 1870: +#line 13916 "gram.y" { RangeFunction *n = makeNode(RangeFunction); @@ -44785,8 +47711,8 @@ YYLTYPE yylloc; ;} break; - case 1840: -#line 13692 "gram.y" + case 1871: +#line 13927 "gram.y" { RangeFunction *n = makeNode(RangeFunction); @@ -44799,58 +47725,58 @@ YYLTYPE yylloc; ;} break; - case 1841: -#line 13705 "gram.y" + case 1872: +#line 13940 "gram.y" { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;} break; - case 1842: -#line 13709 "gram.y" + case 1873: +#line 13944 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;} break; - case 1843: -#line 13710 "gram.y" + case 1874: +#line 13945 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;} break; - case 1844: -#line 13713 "gram.y" + case 1875: +#line 13948 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 1845: -#line 13714 "gram.y" + case 1876: +#line 13949 "gram.y" { (yyval.list) = NIL; ;} break; - case 1846: -#line 13717 "gram.y" + case 1877: +#line 13952 "gram.y" { (yyval.boolean) = true; ;} break; - case 1847: -#line 13718 "gram.y" + case 1878: +#line 13953 "gram.y" { (yyval.boolean) = false; ;} break; - case 1848: -#line 13723 "gram.y" + case 1879: +#line 13958 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1849: -#line 13724 "gram.y" + case 1880: +#line 13959 "gram.y" { (yyval.node) = NULL; ;} break; - case 1850: -#line 13729 "gram.y" + case 1881: +#line 13964 "gram.y" { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 1851: -#line 13731 "gram.y" + case 1882: +#line 13966 "gram.y" { CurrentOfExpr *n = makeNode(CurrentOfExpr); @@ -44861,37 +47787,37 @@ YYLTYPE yylloc; ;} break; - case 1852: -#line 13739 "gram.y" + case 1883: +#line 13974 "gram.y" { (yyval.node) = NULL; ;} break; - case 1853: -#line 13744 "gram.y" + case 1884: +#line 13979 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 1854: -#line 13745 "gram.y" + case 1885: +#line 13980 "gram.y" { (yyval.list) = NIL; ;} break; - case 1855: -#line 13750 "gram.y" + case 1886: +#line 13985 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1856: -#line 13754 "gram.y" + case 1887: +#line 13989 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1857: -#line 13760 "gram.y" + case 1888: +#line 13995 "gram.y" { ColumnDef *n = makeNode(ColumnDef); @@ -44912,8 +47838,8 @@ YYLTYPE yylloc; ;} break; - case 1858: -#line 13785 "gram.y" + case 1889: +#line 14020 "gram.y" { RangeTableFunc *n = makeNode(RangeTableFunc); @@ -44926,8 +47852,8 @@ YYLTYPE yylloc; ;} break; - case 1859: -#line 13797 "gram.y" + case 1890: +#line 14032 "gram.y" { RangeTableFunc *n = makeNode(RangeTableFunc); @@ -44940,18 +47866,18 @@ YYLTYPE yylloc; ;} break; - case 1860: -#line 13809 "gram.y" + case 1891: +#line 14044 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 1861: -#line 13810 "gram.y" + case 1892: +#line 14045 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 1862: -#line 13815 "gram.y" + case 1893: +#line 14050 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); @@ -44967,8 +47893,8 @@ YYLTYPE yylloc; ;} break; - case 1863: -#line 13829 "gram.y" + case 1894: +#line 14064 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); ListCell *option; @@ -45004,7 +47930,7 @@ YYLTYPE yylloc; parser_errposition(defel->location))); fc->colexpr = defel->arg; } - else if (strcmp(defel->defname, "is_not_null") == 0) + else if (strcmp(defel->defname, "__pg__is_not_null") == 0) { if (nullability_seen) ereport(ERROR, @@ -45027,8 +47953,8 @@ YYLTYPE yylloc; ;} break; - case 1864: -#line 13886 "gram.y" + case 1895: +#line 14121 "gram.y" { RangeTableFuncCol *fc = makeNode(RangeTableFuncCol); @@ -45041,48 +47967,60 @@ YYLTYPE yylloc; ;} break; - case 1865: -#line 13900 "gram.y" + case 1896: +#line 14135 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;} break; - case 1866: -#line 13902 "gram.y" + case 1897: +#line 14137 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;} break; - case 1867: -#line 13907 "gram.y" - { (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 1898: +#line 14142 "gram.y" + { + if (strcmp((yyvsp[(1) - (2)].str), "__pg__is_not_null") == 0) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("option name \"%s\" cannot be used in XMLTABLE", (yyvsp[(1) - (2)].str)), + parser_errposition((yylsp[(1) - (2)])))); + (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); + ;} break; - case 1868: -#line 13909 "gram.y" + case 1899: +#line 14151 "gram.y" { (yyval.defelt) = makeDefElem("default", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1869: -#line 13911 "gram.y" - { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;} + case 1900: +#line 14153 "gram.y" + { (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;} break; - case 1870: -#line 13913 "gram.y" - { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(false), (yylsp[(1) - (1)])); ;} + case 1901: +#line 14155 "gram.y" + { (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(false), (yylsp[(1) - (1)])); ;} break; - case 1871: -#line 13918 "gram.y" + case 1902: +#line 14157 "gram.y" + { (yyval.defelt) = makeDefElem("path", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 1903: +#line 14162 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 1872: -#line 13920 "gram.y" + case 1904: +#line 14164 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 1873: -#line 13925 "gram.y" + case 1905: +#line 14169 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(3) - (3)].str); @@ -45092,8 +48030,8 @@ YYLTYPE yylloc; ;} break; - case 1874: -#line 13933 "gram.y" + case 1906: +#line 14177 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; @@ -45103,16 +48041,166 @@ YYLTYPE yylloc; ;} break; - case 1875: -#line 13953 "gram.y" + case 1907: +#line 14193 "gram.y" + { + JsonTable *n = makeNode(JsonTable); + char *pathstring; + + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (13)].node); + if (!IsA((yyvsp[(5) - (13)].node), A_Const) || + castNode(A_Const, (yyvsp[(5) - (13)].node))->val.node.type != T_String) + ereport(ERROR, + errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("only string constants are supported in JSON_TABLE path specification"), + parser_errposition((yylsp[(5) - (13)]))); + pathstring = castNode(A_Const, (yyvsp[(5) - (13)].node))->val.sval.sval; + n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[(6) - (13)].str), (yylsp[(5) - (13)]), (yylsp[(6) - (13)])); + n->passing = (yyvsp[(7) - (13)].list); + n->columns = (yyvsp[(10) - (13)].list); + n->on_error = (JsonBehavior *) (yyvsp[(12) - (13)].node); + n->location = (yylsp[(1) - (13)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1908: +#line 14215 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].str); ;} + break; + + case 1909: +#line 14216 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 1910: +#line 14221 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + break; + + case 1911: +#line 14223 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} + break; + + case 1912: +#line 14228 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_FOR_ORDINALITY; + n->name = (yyvsp[(1) - (3)].str); + n->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1913: +#line 14241 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_REGULAR; + n->name = (yyvsp[(1) - (6)].str); + n->typeName = (yyvsp[(2) - (6)].typnam); + n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + n->pathspec = (JsonTablePathSpec *) (yyvsp[(3) - (6)].node); + n->wrapper = (yyvsp[(4) - (6)].ival); + n->quotes = (yyvsp[(5) - (6)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(6) - (6)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(6) - (6)].list)); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1914: +#line 14261 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_FORMATTED; + n->name = (yyvsp[(1) - (7)].str); + n->typeName = (yyvsp[(2) - (7)].typnam); + n->format = (JsonFormat *) (yyvsp[(3) - (7)].node); + n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (7)].node); + n->wrapper = (yyvsp[(5) - (7)].ival); + n->quotes = (yyvsp[(6) - (7)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(7) - (7)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(7) - (7)].list)); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1915: +#line 14279 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_EXISTS; + n->name = (yyvsp[(1) - (5)].str); + n->typeName = (yyvsp[(2) - (5)].typnam); + n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + n->wrapper = JSW_NONE; + n->quotes = JS_QUOTES_UNSPEC; + n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (5)].node); + n->on_empty = NULL; + n->on_error = (JsonBehavior *) (yyvsp[(5) - (5)].node); + n->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1916: +#line 14296 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_NESTED; + n->pathspec = (JsonTablePathSpec *) + makeJsonTablePathSpec((yyvsp[(3) - (7)].str), NULL, (yylsp[(3) - (7)]), -1); + n->columns = (yyvsp[(6) - (7)].list); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1917: +#line 14308 "gram.y" + { + JsonTableColumn *n = makeNode(JsonTableColumn); + + n->coltype = JTC_NESTED; + n->pathspec = (JsonTablePathSpec *) + makeJsonTablePathSpec((yyvsp[(3) - (9)].str), (yyvsp[(5) - (9)].str), (yylsp[(3) - (9)]), (yylsp[(5) - (9)])); + n->columns = (yyvsp[(8) - (9)].list); + n->location = (yylsp[(1) - (9)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 1920: +#line 14327 "gram.y" + { (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[(2) - (2)].str), NULL, (yylsp[(2) - (2)]), -1); ;} + break; + + case 1921: +#line 14329 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 1922: +#line 14343 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list); ;} break; - case 1876: -#line 13958 "gram.y" + case 1923: +#line 14348 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (3)].typnam); (yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list); @@ -45120,16 +48208,16 @@ YYLTYPE yylloc; ;} break; - case 1877: -#line 13965 "gram.y" + case 1924: +#line 14355 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (5)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival))); ;} break; - case 1878: -#line 13970 "gram.y" + case 1925: +#line 14360 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (6)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival))); @@ -45137,16 +48225,16 @@ YYLTYPE yylloc; ;} break; - case 1879: -#line 13976 "gram.y" + case 1926: +#line 14366 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); ;} break; - case 1880: -#line 13981 "gram.y" + case 1927: +#line 14371 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (3)].typnam); (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1)); @@ -45154,56 +48242,56 @@ YYLTYPE yylloc; ;} break; - case 1881: -#line 13990 "gram.y" + case 1928: +#line 14380 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;} break; - case 1882: -#line 13992 "gram.y" + case 1929: +#line 14382 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;} break; - case 1883: -#line 13994 "gram.y" + case 1930: +#line 14384 "gram.y" { (yyval.list) = NIL; ;} break; - case 1884: -#line 13998 "gram.y" + case 1931: +#line 14388 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1885: -#line 13999 "gram.y" + case 1932: +#line 14389 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1886: -#line 14000 "gram.y" + case 1933: +#line 14390 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1887: -#line 14001 "gram.y" + case 1934: +#line 14391 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1888: -#line 14002 "gram.y" + case 1935: +#line 14392 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1889: -#line 14004 "gram.y" + case 1936: +#line 14394 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (2)].typnam); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); ;} break; - case 1890: -#line 14009 "gram.y" + case 1937: +#line 14399 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (4)].typnam); (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), @@ -45211,28 +48299,38 @@ YYLTYPE yylloc; ;} break; - case 1891: -#line 14028 "gram.y" + case 1938: +#line 14404 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1892: -#line 14029 "gram.y" + case 1939: +#line 14419 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1893: -#line 14030 "gram.y" + case 1940: +#line 14420 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1894: -#line 14031 "gram.y" + case 1941: +#line 14421 "gram.y" + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} + break; + + case 1942: +#line 14422 "gram.y" + { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} + break; + + case 1943: +#line 14423 "gram.y" { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;} break; - case 1895: -#line 14043 "gram.y" + case 1944: +#line 14435 "gram.y" { (yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str)); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -45240,8 +48338,8 @@ YYLTYPE yylloc; ;} break; - case 1896: -#line 14049 "gram.y" + case 1945: +#line 14441 "gram.y" { (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list))); (yyval.typnam)->typmods = (yyvsp[(3) - (3)].list); @@ -45249,74 +48347,74 @@ YYLTYPE yylloc; ;} break; - case 1897: -#line 14056 "gram.y" + case 1946: +#line 14448 "gram.y" { (yyval.list) = (yyvsp[(2) - (3)].list); ;} break; - case 1898: -#line 14057 "gram.y" + case 1947: +#line 14449 "gram.y" { (yyval.list) = NIL; ;} break; - case 1899: -#line 14064 "gram.y" + case 1948: +#line 14456 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1900: -#line 14069 "gram.y" + case 1949: +#line 14461 "gram.y" { (yyval.typnam) = SystemTypeName("int4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1901: -#line 14074 "gram.y" + case 1950: +#line 14466 "gram.y" { (yyval.typnam) = SystemTypeName("int2"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1902: -#line 14079 "gram.y" + case 1951: +#line 14471 "gram.y" { (yyval.typnam) = SystemTypeName("int8"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1903: -#line 14084 "gram.y" + case 1952: +#line 14476 "gram.y" { (yyval.typnam) = SystemTypeName("float4"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1904: -#line 14089 "gram.y" + case 1953: +#line 14481 "gram.y" { (yyval.typnam) = (yyvsp[(2) - (2)].typnam); (yyval.typnam)->location = (yylsp[(1) - (2)]); ;} break; - case 1905: -#line 14094 "gram.y" + case 1954: +#line 14486 "gram.y" { (yyval.typnam) = SystemTypeName("float8"); (yyval.typnam)->location = (yylsp[(1) - (2)]); ;} break; - case 1906: -#line 14099 "gram.y" + case 1955: +#line 14491 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -45324,8 +48422,8 @@ YYLTYPE yylloc; ;} break; - case 1907: -#line 14105 "gram.y" + case 1956: +#line 14497 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -45333,8 +48431,8 @@ YYLTYPE yylloc; ;} break; - case 1908: -#line 14111 "gram.y" + case 1957: +#line 14503 "gram.y" { (yyval.typnam) = SystemTypeName("numeric"); (yyval.typnam)->typmods = (yyvsp[(2) - (2)].list); @@ -45342,16 +48440,16 @@ YYLTYPE yylloc; ;} break; - case 1909: -#line 14117 "gram.y" + case 1958: +#line 14509 "gram.y" { (yyval.typnam) = SystemTypeName("bool"); (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1910: -#line 14124 "gram.y" + case 1959: +#line 14516 "gram.y" { /* * Check FLOAT() precision limits assuming IEEE floating @@ -45374,2899 +48472,3555 @@ YYLTYPE yylloc; ;} break; - case 1911: -#line 14145 "gram.y" + case 1960: +#line 14537 "gram.y" + { + (yyval.typnam) = SystemTypeName("float8"); + ;} + break; + + case 1961: +#line 14547 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1962: +#line 14551 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1963: +#line 14559 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1964: +#line 14563 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.typnam)->typmods = NIL; + ;} + break; + + case 1965: +#line 14571 "gram.y" + { + char *typname; + + typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit"; + (yyval.typnam) = SystemTypeName(typname); + (yyval.typnam)->typmods = (yyvsp[(4) - (5)].list); + (yyval.typnam)->location = (yylsp[(1) - (5)]); + ;} + break; + + case 1966: +#line 14583 "gram.y" + { + /* bit defaults to bit(1), varbit to no limit */ + if ((yyvsp[(2) - (2)].boolean)) + { + (yyval.typnam) = SystemTypeName("varbit"); + } + else + { + (yyval.typnam) = SystemTypeName("bit"); + (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); + } + (yyval.typnam)->location = (yylsp[(1) - (2)]); + ;} + break; + + case 1967: +#line 14604 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1968: +#line 14608 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1969: +#line 14614 "gram.y" + { + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + ;} + break; + + case 1970: +#line 14618 "gram.y" + { + /* Length was not specified so allow to be unrestricted. + * This handles problems with fixed-length (bpchar) strings + * which in column definitions must default to a length + * of one, but should not be constrained if the length + * was not specified. + */ + (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.typnam)->typmods = NIL; + ;} + break; + + case 1971: +#line 14631 "gram.y" + { + (yyval.typnam) = SystemTypeName((yyvsp[(1) - (4)].str)); + (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); + (yyval.typnam)->location = (yylsp[(1) - (4)]); + ;} + break; + + case 1972: +#line 14639 "gram.y" + { + (yyval.typnam) = SystemTypeName((yyvsp[(1) - (1)].str)); + /* char defaults to char(1), varchar to no limit */ + if (strcmp((yyvsp[(1) - (1)].str), "bpchar") == 0) + (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); + (yyval.typnam)->location = (yylsp[(1) - (1)]); + ;} + break; + + case 1973: +#line 14649 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + break; + + case 1974: +#line 14651 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + break; + + case 1975: +#line 14653 "gram.y" + { (yyval.str) = "varchar"; ;} + break; + + case 1976: +#line 14655 "gram.y" + { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} + break; + + case 1977: +#line 14657 "gram.y" + { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} + break; + + case 1978: +#line 14659 "gram.y" + { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + break; + + case 1979: +#line 14663 "gram.y" + { (yyval.boolean) = true; ;} + break; + + case 1980: +#line 14664 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 1981: +#line 14672 "gram.y" + { + if ((yyvsp[(5) - (5)].boolean)) + (yyval.typnam) = SystemTypeName("timestamptz"); + else + (yyval.typnam) = SystemTypeName("timestamp"); + (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); + (yyval.typnam)->location = (yylsp[(1) - (5)]); + ;} + break; + + case 1982: +#line 14681 "gram.y" + { + if ((yyvsp[(2) - (2)].boolean)) + (yyval.typnam) = SystemTypeName("timestamptz"); + else + (yyval.typnam) = SystemTypeName("timestamp"); + (yyval.typnam)->location = (yylsp[(1) - (2)]); + ;} + break; + + case 1983: +#line 14689 "gram.y" + { + if ((yyvsp[(5) - (5)].boolean)) + (yyval.typnam) = SystemTypeName("timetz"); + else + (yyval.typnam) = SystemTypeName("time"); + (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); + (yyval.typnam)->location = (yylsp[(1) - (5)]); + ;} + break; + + case 1984: +#line 14698 "gram.y" + { + if ((yyvsp[(2) - (2)].boolean)) + (yyval.typnam) = SystemTypeName("timetz"); + else + (yyval.typnam) = SystemTypeName("time"); + (yyval.typnam)->location = (yylsp[(1) - (2)]); + ;} + break; + + case 1985: +#line 14709 "gram.y" + { + (yyval.typnam) = SystemTypeName("interval"); + (yyval.typnam)->location = (yylsp[(1) - (1)]); + ;} + break; + + case 1986: +#line 14716 "gram.y" + { (yyval.boolean) = true; ;} + break; + + case 1987: +#line 14717 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 1988: +#line 14718 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 1989: +#line 14723 "gram.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;} + break; + + case 1990: +#line 14725 "gram.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;} + break; + + case 1991: +#line 14727 "gram.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;} + break; + + case 1992: +#line 14729 "gram.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;} + break; + + case 1993: +#line 14731 "gram.y" + { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;} + break; + + case 1994: +#line 14733 "gram.y" + { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + break; + + case 1995: +#line 14735 "gram.y" { - (yyval.typnam) = SystemTypeName("float8"); + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | + INTERVAL_MASK(MONTH), (yylsp[(1) - (3)]))); ;} break; - case 1912: -#line 14155 "gram.y" + case 1996: +#line 14740 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | + INTERVAL_MASK(HOUR), (yylsp[(1) - (3)]))); ;} break; - case 1913: -#line 14159 "gram.y" + case 1997: +#line 14745 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | + INTERVAL_MASK(HOUR) | + INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); ;} break; - case 1914: -#line 14167 "gram.y" + case 1998: +#line 14751 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.list) = (yyvsp[(3) - (3)].list); + linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) | + INTERVAL_MASK(HOUR) | + INTERVAL_MASK(MINUTE) | + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); ;} break; - case 1915: -#line 14171 "gram.y" + case 1999: +#line 14759 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); - (yyval.typnam)->typmods = NIL; + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | + INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); ;} break; - case 1916: -#line 14179 "gram.y" + case 2000: +#line 14764 "gram.y" { - char *typname; - - typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit"; - (yyval.typnam) = SystemTypeName(typname); - (yyval.typnam)->typmods = (yyvsp[(4) - (5)].list); - (yyval.typnam)->location = (yylsp[(1) - (5)]); + (yyval.list) = (yyvsp[(3) - (3)].list); + linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) | + INTERVAL_MASK(MINUTE) | + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); ;} break; - case 1917: -#line 14191 "gram.y" + case 2001: +#line 14771 "gram.y" { - /* bit defaults to bit(1), varbit to no limit */ - if ((yyvsp[(2) - (2)].boolean)) - { - (yyval.typnam) = SystemTypeName("varbit"); - } - else - { - (yyval.typnam) = SystemTypeName("bit"); - (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); - } - (yyval.typnam)->location = (yylsp[(1) - (2)]); + (yyval.list) = (yyvsp[(3) - (3)].list); + linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) | + INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); ;} break; - case 1918: -#line 14212 "gram.y" + case 2002: +#line 14777 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2003: +#line 14782 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)]))); ;} break; - case 1919: -#line 14216 "gram.y" + case 2004: +#line 14786 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])), + makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); ;} break; - case 1920: -#line 14222 "gram.y" + case 2005: +#line 14794 "gram.y" { - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); + (yyval.typnam) = SystemTypeName("json"); + (yyval.typnam)->location = (yylsp[(1) - (1)]); ;} break; - case 1921: -#line 14226 "gram.y" + case 2006: +#line 14828 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 2007: +#line 14830 "gram.y" + { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} + break; + + case 2008: +#line 14832 "gram.y" { - /* Length was not specified so allow to be unrestricted. - * This handles problems with fixed-length (bpchar) strings - * which in column definitions must default to a length - * of one, but should not be constrained if the length - * was not specified. - */ - (yyval.typnam) = (yyvsp[(1) - (1)].typnam); - (yyval.typnam)->typmods = NIL; + CollateClause *n = makeNode(CollateClause); + + n->arg = (yyvsp[(1) - (3)].node); + n->collname = (yyvsp[(3) - (3)].list); + n->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) n; ;} break; - case 1922: -#line 14239 "gram.y" + case 2009: +#line 14841 "gram.y" { - (yyval.typnam) = SystemTypeName((yyvsp[(1) - (4)].str)); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); - (yyval.typnam)->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"), + list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(2) - (5)])); ;} break; - case 1923: -#line 14247 "gram.y" + case 2010: +#line 14848 "gram.y" { - (yyval.typnam) = SystemTypeName((yyvsp[(1) - (1)].str)); - /* char defaults to char(1), varchar to no limit */ - if (strcmp((yyvsp[(1) - (1)].str), "bpchar") == 0) - (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1)); - (yyval.typnam)->location = (yylsp[(1) - (1)]); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"), + list_make1((yyvsp[(1) - (3)].node)), + COERCE_SQL_SYNTAX, + -1); ;} break; - case 1924: -#line 14257 "gram.y" - { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + case 2011: +#line 14864 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1925: -#line 14259 "gram.y" - { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + case 2012: +#line 14866 "gram.y" + { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1926: -#line 14261 "gram.y" - { (yyval.str) = "varchar"; ;} + case 2013: +#line 14868 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1927: -#line 14263 "gram.y" - { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} + case 2014: +#line 14870 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1928: -#line 14265 "gram.y" - { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;} + case 2015: +#line 14872 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1929: -#line 14267 "gram.y" - { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;} + case 2016: +#line 14874 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1930: -#line 14271 "gram.y" - { (yyval.boolean) = true; ;} + case 2017: +#line 14876 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1931: -#line 14272 "gram.y" - { (yyval.boolean) = false; ;} + case 2018: +#line 14878 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1932: -#line 14280 "gram.y" - { - if ((yyvsp[(5) - (5)].boolean)) - (yyval.typnam) = SystemTypeName("timestamptz"); - else - (yyval.typnam) = SystemTypeName("timestamp"); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); - (yyval.typnam)->location = (yylsp[(1) - (5)]); - ;} + case 2019: +#line 14880 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1933: -#line 14289 "gram.y" - { - if ((yyvsp[(2) - (2)].boolean)) - (yyval.typnam) = SystemTypeName("timestamptz"); - else - (yyval.typnam) = SystemTypeName("timestamp"); - (yyval.typnam)->location = (yylsp[(1) - (2)]); - ;} + case 2020: +#line 14882 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1934: -#line 14297 "gram.y" - { - if ((yyvsp[(5) - (5)].boolean)) - (yyval.typnam) = SystemTypeName("timetz"); - else - (yyval.typnam) = SystemTypeName("time"); - (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)]))); - (yyval.typnam)->location = (yylsp[(1) - (5)]); - ;} + case 2021: +#line 14884 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1935: -#line 14306 "gram.y" - { - if ((yyvsp[(2) - (2)].boolean)) - (yyval.typnam) = SystemTypeName("timetz"); - else - (yyval.typnam) = SystemTypeName("time"); - (yyval.typnam)->location = (yylsp[(1) - (2)]); - ;} + case 2022: +#line 14886 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1936: -#line 14317 "gram.y" - { - (yyval.typnam) = SystemTypeName("interval"); - (yyval.typnam)->location = (yylsp[(1) - (1)]); - ;} + case 2023: +#line 14888 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1937: -#line 14324 "gram.y" - { (yyval.boolean) = true; ;} + case 2024: +#line 14890 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1938: -#line 14325 "gram.y" - { (yyval.boolean) = false; ;} + case 2025: +#line 14893 "gram.y" + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1939: -#line 14326 "gram.y" - { (yyval.boolean) = false; ;} + case 2026: +#line 14895 "gram.y" + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1940: -#line 14331 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;} + case 2027: +#line 14898 "gram.y" + { (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1941: -#line 14333 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;} + case 2028: +#line 14900 "gram.y" + { (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1942: -#line 14335 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;} + case 2029: +#line 14902 "gram.y" + { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 1943: -#line 14337 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;} + case 2030: +#line 14904 "gram.y" + { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 2031: +#line 14907 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~", + (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); + ;} + break; + + case 2032: +#line 14912 "gram.y" + { + FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), + list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (5)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~", + (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); + ;} break; - case 1944: -#line 14339 "gram.y" - { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;} + case 2033: +#line 14921 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~", + (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); + ;} break; - case 1945: -#line 14341 "gram.y" - { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + case 2034: +#line 14926 "gram.y" + { + FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), + list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (6)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~", + (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); + ;} break; - case 1946: -#line 14343 "gram.y" + case 2035: +#line 14935 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) | - INTERVAL_MASK(MONTH), (yylsp[(1) - (3)]))); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*", + (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1947: -#line 14348 "gram.y" + case 2036: +#line 14940 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | - INTERVAL_MASK(HOUR), (yylsp[(1) - (3)]))); + FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), + list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (5)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*", + (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); ;} break; - case 1948: -#line 14353 "gram.y" + case 2037: +#line 14949 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) | - INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*", + (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); ;} break; - case 1949: -#line 14359 "gram.y" + case 2038: +#line 14954 "gram.y" { - (yyval.list) = (yyvsp[(3) - (3)].list); - linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) | - INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); + FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), + list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (6)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*", + (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); ;} break; - case 1950: -#line 14367 "gram.y" + case 2039: +#line 14964 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)]))); + FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), + list_make1((yyvsp[(4) - (4)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (4)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~", + (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)])); ;} break; - case 1951: -#line 14372 "gram.y" + case 2040: +#line 14973 "gram.y" { - (yyval.list) = (yyvsp[(3) - (3)].list); - linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) | - INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); + FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), + list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (6)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~", + (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); ;} break; - case 1952: -#line 14379 "gram.y" + case 2041: +#line 14982 "gram.y" { - (yyval.list) = (yyvsp[(3) - (3)].list); - linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) | - INTERVAL_MASK(SECOND), (yylsp[(1) - (3)])); + FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), + list_make1((yyvsp[(5) - (5)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (5)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~", + (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); ;} break; - case 1953: -#line 14385 "gram.y" - { (yyval.list) = NIL; ;} + case 2042: +#line 14991 "gram.y" + { + FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), + list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(2) - (7)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~", + (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)])); + ;} break; - case 1954: -#line 14390 "gram.y" + case 2043: +#line 15010 "gram.y" { - (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)]))); + NullTest *n = makeNode(NullTest); + + n->arg = (Expr *) (yyvsp[(1) - (3)].node); + n->nulltesttype = IS_NULL; + n->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) n; ;} break; - case 1955: -#line 14394 "gram.y" + case 2044: +#line 15019 "gram.y" { - (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])), - makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)]))); + NullTest *n = makeNode(NullTest); + + n->arg = (Expr *) (yyvsp[(1) - (2)].node); + n->nulltesttype = IS_NULL; + n->location = (yylsp[(2) - (2)]); + (yyval.node) = (Node *) n; ;} break; - case 1956: -#line 14429 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} - break; + case 2045: +#line 15028 "gram.y" + { + NullTest *n = makeNode(NullTest); - case 1957: -#line 14431 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} + n->arg = (Expr *) (yyvsp[(1) - (4)].node); + n->nulltesttype = IS_NOT_NULL; + n->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) n; + ;} break; - case 1958: -#line 14433 "gram.y" + case 2046: +#line 15037 "gram.y" { - CollateClause *n = makeNode(CollateClause); + NullTest *n = makeNode(NullTest); - n->arg = (yyvsp[(1) - (3)].node); - n->collname = (yyvsp[(3) - (3)].list); - n->location = (yylsp[(2) - (3)]); + n->arg = (Expr *) (yyvsp[(1) - (2)].node); + n->nulltesttype = IS_NOT_NULL; + n->location = (yylsp[(2) - (2)]); (yyval.node) = (Node *) n; ;} break; - case 1959: -#line 14442 "gram.y" + case 2047: +#line 15046 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"), - list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)), + if (list_length((yyvsp[(1) - (3)].list)) != 2) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("wrong number of parameters on left side of OVERLAPS expression"), + parser_errposition((yylsp[(1) - (3)])))); + if (list_length((yyvsp[(3) - (3)].list)) != 2) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("wrong number of parameters on right side of OVERLAPS expression"), + parser_errposition((yylsp[(3) - (3)])))); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"), + list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)), COERCE_SQL_SYNTAX, - (yylsp[(2) - (5)])); + (yylsp[(2) - (3)])); ;} break; - case 1960: -#line 14458 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} - break; + case 2048: +#line 15063 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); - case 1961: -#line 14460 "gram.y" - { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + b->arg = (Expr *) (yyvsp[(1) - (3)].node); + b->booltesttype = IS_TRUE; + b->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) b; + ;} break; - case 1962: -#line 14462 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} - break; + case 2049: +#line 15072 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); - case 1963: -#line 14464 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + b->arg = (Expr *) (yyvsp[(1) - (4)].node); + b->booltesttype = IS_NOT_TRUE; + b->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) b; + ;} break; - case 1964: -#line 14466 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} - break; + case 2050: +#line 15081 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); - case 1965: -#line 14468 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + b->arg = (Expr *) (yyvsp[(1) - (3)].node); + b->booltesttype = IS_FALSE; + b->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) b; + ;} break; - case 1966: -#line 14470 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2051: +#line 15090 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); + + b->arg = (Expr *) (yyvsp[(1) - (4)].node); + b->booltesttype = IS_NOT_FALSE; + b->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) b; + ;} break; - case 1967: -#line 14472 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2052: +#line 15099 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); + + b->arg = (Expr *) (yyvsp[(1) - (3)].node); + b->booltesttype = IS_UNKNOWN; + b->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) b; + ;} break; - case 1968: -#line 14474 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2053: +#line 15108 "gram.y" + { + BooleanTest *b = makeNode(BooleanTest); + + b->arg = (Expr *) (yyvsp[(1) - (4)].node); + b->booltesttype = IS_NOT_UNKNOWN; + b->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) b; + ;} break; - case 1969: -#line 14476 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2054: +#line 15117 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); + ;} break; - case 1970: -#line 14478 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2055: +#line 15121 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); + ;} break; - case 1971: -#line 14480 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2056: +#line 15125 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN, + "BETWEEN", + (yyvsp[(1) - (6)].node), + (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), + (yylsp[(2) - (6)])); + ;} break; - case 1972: -#line 14482 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2057: +#line 15133 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN, + "NOT BETWEEN", + (yyvsp[(1) - (7)].node), + (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), + (yylsp[(2) - (7)])); + ;} break; - case 1973: -#line 14484 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2058: +#line 15141 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM, + "BETWEEN SYMMETRIC", + (yyvsp[(1) - (6)].node), + (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), + (yylsp[(2) - (6)])); + ;} break; - case 1974: -#line 14487 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2059: +#line 15149 "gram.y" + { + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM, + "NOT BETWEEN SYMMETRIC", + (yyvsp[(1) - (7)].node), + (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), + (yylsp[(2) - (7)])); + ;} break; - case 1975: -#line 14489 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} - break; + case 2060: +#line 15157 "gram.y" + { + /* in_expr returns a SubLink or a list of a_exprs */ + if (IsA((yyvsp[(3) - (3)].node), SubLink)) + { + /* generate foo = ANY (subquery) */ + SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node); - case 1976: -#line 14492 "gram.y" - { (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + n->subLinkType = ANY_SUBLINK; + n->subLinkId = 0; + n->testexpr = (yyvsp[(1) - (3)].node); + n->operName = NIL; /* show it's IN not = ANY */ + n->location = (yylsp[(2) - (3)]); + (yyval.node) = (Node *) n; + } + else + { + /* generate scalar IN expression */ + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); + } + ;} break; - case 1977: -#line 14494 "gram.y" - { (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2061: +#line 15178 "gram.y" + { + /* in_expr returns a SubLink or a list of a_exprs */ + if (IsA((yyvsp[(4) - (4)].node), SubLink)) + { + /* generate NOT (foo = ANY (subquery)) */ + /* Make an = ANY node */ + SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node); + + n->subLinkType = ANY_SUBLINK; + n->subLinkId = 0; + n->testexpr = (yyvsp[(1) - (4)].node); + n->operName = NIL; /* show it's IN not = ANY */ + n->location = (yylsp[(2) - (4)]); + /* Stick a NOT on top; must have same parse location */ + (yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)])); + } + else + { + /* generate scalar NOT IN expression */ + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); + } + ;} break; - case 1978: -#line 14496 "gram.y" - { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 2062: +#line 15201 "gram.y" + { + SubLink *n = makeNode(SubLink); + + n->subLinkType = (yyvsp[(3) - (4)].ival); + n->subLinkId = 0; + n->testexpr = (yyvsp[(1) - (4)].node); + n->operName = (yyvsp[(2) - (4)].list); + n->subselect = (yyvsp[(4) - (4)].node); + n->location = (yylsp[(2) - (4)]); + (yyval.node) = (Node *) n; + ;} break; - case 1979: -#line 14498 "gram.y" - { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 2063: +#line 15213 "gram.y" + { + if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK) + (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); + else + (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); + ;} break; - case 1980: -#line 14501 "gram.y" + case 2064: +#line 15220 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~", - (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); + /* Not sure how to get rid of the parentheses + * but there are lots of shift/reduce errors without them. + * + * Should be able to implement this by plopping the entire + * select into a node, then transforming the target expressions + * from whatever they are into count(*), and testing the + * entire result equal to one. + * But, will probably implement a separate node in the executor. + */ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("UNIQUE predicate is not yet implemented"), + parser_errposition((yylsp[(1) - (3)])))); ;} break; - case 1981: -#line 14506 "gram.y" + case 2065: +#line 15236 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), - list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (5)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~", - (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); + (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, + list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); ;} break; - case 1982: -#line 14515 "gram.y" + case 2066: +#line 15241 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~", - (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); + (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, + list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), + (yylsp[(2) - (4)])); ;} break; - case 1983: -#line 14520 "gram.y" + case 2067: +#line 15247 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), - list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (6)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~", - (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), + list_make1((yyvsp[(1) - (3)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(2) - (3)])); ;} break; - case 1984: -#line 14529 "gram.y" + case 2068: +#line 15254 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*", - (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), + list_make2((yyvsp[(1) - (4)].node), makeStringConst((yyvsp[(3) - (4)].str), (yylsp[(3) - (4)]))), + COERCE_SQL_SYNTAX, + (yylsp[(2) - (4)])); ;} break; - case 1985: -#line 14534 "gram.y" + case 2069: +#line 15261 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), - list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (5)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*", - (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); + (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), + list_make1((yyvsp[(1) - (4)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(2) - (4)])), + (yylsp[(2) - (4)])); ;} break; - case 1986: -#line 14543 "gram.y" + case 2070: +#line 15269 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*", - (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); + (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), + list_make2((yyvsp[(1) - (5)].node), makeStringConst((yyvsp[(4) - (5)].str), (yylsp[(4) - (5)]))), + COERCE_SQL_SYNTAX, + (yylsp[(2) - (5)])), + (yylsp[(2) - (5)])); ;} break; - case 1987: -#line 14548 "gram.y" + case 2071: +#line 15278 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("like_escape"), - list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (6)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*", - (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); + JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + + (yyval.node) = makeJsonIsPredicate((yyvsp[(1) - (4)].node), format, (yyvsp[(3) - (4)].ival), (yyvsp[(4) - (4)].boolean), (yylsp[(1) - (4)])); ;} break; - case 1988: -#line 14558 "gram.y" + case 2072: +#line 15296 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), - list_make1((yyvsp[(4) - (4)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (4)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~", - (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)])); + JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); + + (yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[(1) - (5)].node), format, (yyvsp[(4) - (5)].ival), (yyvsp[(5) - (5)].boolean), (yylsp[(1) - (5)])), (yylsp[(1) - (5)])); ;} break; - case 1989: -#line 14567 "gram.y" + case 2073: +#line 15313 "gram.y" { - FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), - list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (6)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~", - (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)])); + /* + * The SQL spec only allows DEFAULT in "contextually typed + * expressions", but for us, it's easier to allow it in + * any a_expr and then throw error during parse analysis + * if it's in an inappropriate context. This way also + * lets us say something smarter than "syntax error". + */ + SetToDefault *n = makeNode(SetToDefault); + + /* parse analysis will fill in the rest */ + n->location = (yylsp[(1) - (1)]); + (yyval.node) = (Node *) n; ;} break; - case 1990: -#line 14576 "gram.y" - { - FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), - list_make1((yyvsp[(5) - (5)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (5)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~", - (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)])); - ;} + case 2074: +#line 15339 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; + + case 2075: +#line 15341 "gram.y" + { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} + break; + + case 2076: +#line 15343 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 2077: +#line 15345 "gram.y" + { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 2078: +#line 15347 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; + + case 2079: +#line 15349 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; + + case 2080: +#line 15351 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; + + case 2081: +#line 15353 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1991: -#line 14585 "gram.y" - { - FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"), - list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(2) - (7)])); - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~", - (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)])); - ;} + case 2082: +#line 15355 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1992: -#line 14604 "gram.y" - { - NullTest *n = makeNode(NullTest); + case 2083: +#line 15357 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; - n->arg = (Expr *) (yyvsp[(1) - (3)].node); - n->nulltesttype = IS_NULL; - n->location = (yylsp[(2) - (3)]); - (yyval.node) = (Node *) n; - ;} + case 2084: +#line 15359 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1993: -#line 14613 "gram.y" - { - NullTest *n = makeNode(NullTest); + case 2085: +#line 15361 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; - n->arg = (Expr *) (yyvsp[(1) - (2)].node); - n->nulltesttype = IS_NULL; - n->location = (yylsp[(2) - (2)]); - (yyval.node) = (Node *) n; - ;} + case 2086: +#line 15363 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1994: -#line 14622 "gram.y" - { - NullTest *n = makeNode(NullTest); + case 2087: +#line 15365 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; - n->arg = (Expr *) (yyvsp[(1) - (4)].node); - n->nulltesttype = IS_NOT_NULL; - n->location = (yylsp[(2) - (4)]); - (yyval.node) = (Node *) n; - ;} + case 2088: +#line 15367 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1995: -#line 14631 "gram.y" - { - NullTest *n = makeNode(NullTest); + case 2089: +#line 15369 "gram.y" + { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + break; - n->arg = (Expr *) (yyvsp[(1) - (2)].node); - n->nulltesttype = IS_NOT_NULL; - n->location = (yylsp[(2) - (2)]); - (yyval.node) = (Node *) n; - ;} + case 2090: +#line 15371 "gram.y" + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} break; - case 1996: -#line 14640 "gram.y" + case 2091: +#line 15373 "gram.y" + { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + break; + + case 2092: +#line 15375 "gram.y" { - if (list_length((yyvsp[(1) - (3)].list)) != 2) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("wrong number of parameters on left side of OVERLAPS expression"), - parser_errposition((yylsp[(1) - (3)])))); - if (list_length((yyvsp[(3) - (3)].list)) != 2) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("wrong number of parameters on right side of OVERLAPS expression"), - parser_errposition((yylsp[(3) - (3)])))); - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"), - list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)), - COERCE_SQL_SYNTAX, - (yylsp[(2) - (3)])); + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); ;} break; - case 1997: -#line 14657 "gram.y" + case 2093: +#line 15379 "gram.y" { - BooleanTest *b = makeNode(BooleanTest); - - b->arg = (Expr *) (yyvsp[(1) - (3)].node); - b->booltesttype = IS_TRUE; - b->location = (yylsp[(2) - (3)]); - (yyval.node) = (Node *) b; + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); ;} break; - case 1998: -#line 14666 "gram.y" + case 2094: +#line 15383 "gram.y" { - BooleanTest *b = makeNode(BooleanTest); - - b->arg = (Expr *) (yyvsp[(1) - (4)].node); - b->booltesttype = IS_NOT_TRUE; - b->location = (yylsp[(2) - (4)]); - (yyval.node) = (Node *) b; + (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, + list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); ;} break; - case 1999: -#line 14675 "gram.y" + case 2095: +#line 15388 "gram.y" { - BooleanTest *b = makeNode(BooleanTest); - - b->arg = (Expr *) (yyvsp[(1) - (3)].node); - b->booltesttype = IS_FALSE; - b->location = (yylsp[(2) - (3)]); - (yyval.node) = (Node *) b; + (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, + list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), + (yylsp[(2) - (4)])); ;} break; - case 2000: -#line 14684 "gram.y" - { - BooleanTest *b = makeNode(BooleanTest); + case 2096: +#line 15403 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + break; - b->arg = (Expr *) (yyvsp[(1) - (4)].node); - b->booltesttype = IS_NOT_FALSE; - b->location = (yylsp[(2) - (4)]); - (yyval.node) = (Node *) b; - ;} + case 2097: +#line 15404 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2001: -#line 14693 "gram.y" + case 2098: +#line 15406 "gram.y" { - BooleanTest *b = makeNode(BooleanTest); + ParamRef *p = makeNode(ParamRef); - b->arg = (Expr *) (yyvsp[(1) - (3)].node); - b->booltesttype = IS_UNKNOWN; - b->location = (yylsp[(2) - (3)]); - (yyval.node) = (Node *) b; + p->number = (yyvsp[(1) - (2)].ival); + p->location = (yylsp[(1) - (2)]); + if ((yyvsp[(2) - (2)].list)) + { + A_Indirection *n = makeNode(A_Indirection); + + n->arg = (Node *) p; + n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner); + (yyval.node) = (Node *) n; + } + else + (yyval.node) = (Node *) p; ;} break; - case 2002: -#line 14702 "gram.y" + case 2099: +#line 15423 "gram.y" { - BooleanTest *b = makeNode(BooleanTest); + if ((yyvsp[(4) - (4)].list)) + { + A_Indirection *n = makeNode(A_Indirection); - b->arg = (Expr *) (yyvsp[(1) - (4)].node); - b->booltesttype = IS_NOT_UNKNOWN; - b->location = (yylsp[(2) - (4)]); - (yyval.node) = (Node *) b; + n->arg = (yyvsp[(2) - (4)].node); + n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner); + (yyval.node) = (Node *) n; + } + else + (yyval.node) = (yyvsp[(2) - (4)].node); ;} break; - case 2003: -#line 14711 "gram.y" - { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); - ;} + case 2100: +#line 15436 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2004: -#line 14715 "gram.y" - { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); - ;} + case 2101: +#line 15438 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2005: -#line 14719 "gram.y" + case 2102: +#line 15440 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN, - "BETWEEN", - (yyvsp[(1) - (6)].node), - (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), - (yylsp[(2) - (6)])); + SubLink *n = makeNode(SubLink); + + n->subLinkType = EXPR_SUBLINK; + n->subLinkId = 0; + n->testexpr = NULL; + n->operName = NIL; + n->subselect = (yyvsp[(1) - (1)].node); + n->location = (yylsp[(1) - (1)]); + (yyval.node) = (Node *) n; ;} break; - case 2006: -#line 14727 "gram.y" + case 2103: +#line 15452 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN, - "NOT BETWEEN", - (yyvsp[(1) - (7)].node), - (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), - (yylsp[(2) - (7)])); + /* + * Because the select_with_parens nonterminal is designed + * to "eat" as many levels of parens as possible, the + * '(' a_expr ')' opt_indirection production above will + * fail to match a sub-SELECT with indirection decoration; + * the sub-SELECT won't be regarded as an a_expr as long + * as there are parens around it. To support applying + * subscripting or field selection to a sub-SELECT result, + * we need this redundant-looking production. + */ + SubLink *n = makeNode(SubLink); + A_Indirection *a = makeNode(A_Indirection); + + n->subLinkType = EXPR_SUBLINK; + n->subLinkId = 0; + n->testexpr = NULL; + n->operName = NIL; + n->subselect = (yyvsp[(1) - (2)].node); + n->location = (yylsp[(1) - (2)]); + a->arg = (Node *) n; + a->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner); + (yyval.node) = (Node *) a; ;} break; - case 2007: -#line 14735 "gram.y" + case 2104: +#line 15477 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM, - "BETWEEN SYMMETRIC", - (yyvsp[(1) - (6)].node), - (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)), - (yylsp[(2) - (6)])); + SubLink *n = makeNode(SubLink); + + n->subLinkType = EXISTS_SUBLINK; + n->subLinkId = 0; + n->testexpr = NULL; + n->operName = NIL; + n->subselect = (yyvsp[(2) - (2)].node); + n->location = (yylsp[(1) - (2)]); + (yyval.node) = (Node *) n; ;} break; - case 2008: -#line 14743 "gram.y" + case 2105: +#line 15489 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM, - "NOT BETWEEN SYMMETRIC", - (yyvsp[(1) - (7)].node), - (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)), - (yylsp[(2) - (7)])); + SubLink *n = makeNode(SubLink); + + n->subLinkType = ARRAY_SUBLINK; + n->subLinkId = 0; + n->testexpr = NULL; + n->operName = NIL; + n->subselect = (yyvsp[(2) - (2)].node); + n->location = (yylsp[(1) - (2)]); + (yyval.node) = (Node *) n; ;} break; - case 2009: -#line 14751 "gram.y" + case 2106: +#line 15501 "gram.y" { - /* in_expr returns a SubLink or a list of a_exprs */ - if (IsA((yyvsp[(3) - (3)].node), SubLink)) - { - /* generate foo = ANY (subquery) */ - SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node); + A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[(2) - (2)].node)); - n->subLinkType = ANY_SUBLINK; - n->subLinkId = 0; - n->testexpr = (yyvsp[(1) - (3)].node); - n->operName = NIL; /* show it's IN not = ANY */ - n->location = (yylsp[(2) - (3)]); - (yyval.node) = (Node *) n; - } - else - { - /* generate scalar IN expression */ - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); - } + /* point outermost A_ArrayExpr to the ARRAY keyword */ + n->location = (yylsp[(1) - (2)]); + (yyval.node) = (Node *) n; ;} break; - case 2010: -#line 14772 "gram.y" + case 2107: +#line 15509 "gram.y" { - /* in_expr returns a SubLink or a list of a_exprs */ - if (IsA((yyvsp[(4) - (4)].node), SubLink)) - { - /* generate NOT (foo = ANY (subquery)) */ - /* Make an = ANY node */ - SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node); + RowExpr *r = makeNode(RowExpr); - n->subLinkType = ANY_SUBLINK; - n->subLinkId = 0; - n->testexpr = (yyvsp[(1) - (4)].node); - n->operName = NIL; /* show it's IN not = ANY */ - n->location = (yylsp[(2) - (4)]); - /* Stick a NOT on top; must have same parse location */ - (yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)])); - } - else - { - /* generate scalar NOT IN expression */ - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)])); - } + r->args = (yyvsp[(1) - (1)].list); + r->row_typeid = InvalidOid; /* not analyzed yet */ + r->colnames = NIL; /* to be filled in during analysis */ + r->row_format = COERCE_EXPLICIT_CALL; /* abuse */ + r->location = (yylsp[(1) - (1)]); + (yyval.node) = (Node *) r; ;} break; - case 2011: -#line 14795 "gram.y" + case 2108: +#line 15520 "gram.y" { - SubLink *n = makeNode(SubLink); + RowExpr *r = makeNode(RowExpr); - n->subLinkType = (yyvsp[(3) - (4)].ival); - n->subLinkId = 0; - n->testexpr = (yyvsp[(1) - (4)].node); - n->operName = (yyvsp[(2) - (4)].list); - n->subselect = (yyvsp[(4) - (4)].node); - n->location = (yylsp[(2) - (4)]); - (yyval.node) = (Node *) n; + r->args = (yyvsp[(1) - (1)].list); + r->row_typeid = InvalidOid; /* not analyzed yet */ + r->colnames = NIL; /* to be filled in during analysis */ + r->row_format = COERCE_IMPLICIT_CAST; /* abuse */ + r->location = (yylsp[(1) - (1)]); + (yyval.node) = (Node *) r; ;} break; - case 2012: -#line 14807 "gram.y" + case 2109: +#line 15531 "gram.y" { - if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK) - (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); - else - (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)])); - ;} + GroupingFunc *g = makeNode(GroupingFunc); + + g->args = (yyvsp[(3) - (4)].list); + g->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) g; + ;} break; - case 2013: -#line 14814 "gram.y" + case 2110: +#line 15541 "gram.y" { - /* Not sure how to get rid of the parentheses - * but there are lots of shift/reduce errors without them. - * - * Should be able to implement this by plopping the entire - * select into a node, then transforming the target expressions - * from whatever they are into count(*), and testing the - * entire result equal to one. - * But, will probably implement a separate node in the executor. - */ - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("UNIQUE predicate is not yet implemented"), - parser_errposition((yylsp[(1) - (3)])))); + (yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (3)])); ;} break; - case 2014: -#line 14830 "gram.y" + case 2111: +#line 15547 "gram.y" { - (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); + FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (5)])); + + n->agg_order = (yyvsp[(4) - (5)].list); + (yyval.node) = (Node *) n; ;} break; - case 2015: -#line 14835 "gram.y" + case 2112: +#line 15556 "gram.y" { - (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), - (yylsp[(2) - (4)])); + FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (6)])); + + n->func_variadic = true; + n->agg_order = (yyvsp[(5) - (6)].list); + (yyval.node) = (Node *) n; ;} break; - case 2016: -#line 14841 "gram.y" + case 2113: +#line 15566 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), - list_make1((yyvsp[(1) - (3)].node)), - COERCE_SQL_SYNTAX, - (yylsp[(2) - (3)])); + FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (8)])); + + n->func_variadic = true; + n->agg_order = (yyvsp[(7) - (8)].list); + (yyval.node) = (Node *) n; ;} break; - case 2017: -#line 14848 "gram.y" + case 2114: +#line 15576 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), - list_make2((yyvsp[(1) - (4)].node), makeStringConst((yyvsp[(3) - (4)].str), (yylsp[(3) - (4)]))), - COERCE_SQL_SYNTAX, - (yylsp[(2) - (4)])); + FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (6)])); + + n->agg_order = (yyvsp[(5) - (6)].list); + /* Ideally we'd mark the FuncCall node to indicate + * "must be an aggregate", but there's no provision + * for that in FuncCall at the moment. + */ + (yyval.node) = (Node *) n; ;} break; - case 2018: -#line 14855 "gram.y" + case 2115: +#line 15589 "gram.y" { - (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), - list_make1((yyvsp[(1) - (4)].node)), - COERCE_SQL_SYNTAX, - (yylsp[(2) - (4)])), - (yylsp[(2) - (4)])); + FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (6)])); + + n->agg_order = (yyvsp[(5) - (6)].list); + n->agg_distinct = true; + (yyval.node) = (Node *) n; ;} break; - case 2019: -#line 14863 "gram.y" + case 2116: +#line 15599 "gram.y" { - (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), - list_make2((yyvsp[(1) - (5)].node), makeStringConst((yyvsp[(4) - (5)].str), (yylsp[(4) - (5)]))), - COERCE_SQL_SYNTAX, - (yylsp[(2) - (5)])), - (yylsp[(2) - (5)])); + /* + * We consider AGGREGATE(*) to invoke a parameterless + * aggregate. This does the right thing for COUNT(*), + * and there are no other aggregates in SQL that accept + * '*' as parameter. + * + * The FuncCall node is also marked agg_star = true, + * so that later processing can detect what the argument + * really was. + */ + FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (4)])); + + n->agg_star = true; + (yyval.node) = (Node *) n; ;} break; - case 2020: -#line 14871 "gram.y" + case 2117: +#line 15630 "gram.y" { + FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node); + /* - * The SQL spec only allows DEFAULT in "contextually typed - * expressions", but for us, it's easier to allow it in - * any a_expr and then throw error during parse analysis - * if it's in an inappropriate context. This way also - * lets us say something smarter than "syntax error". + * The order clause for WITHIN GROUP and the one for + * plain-aggregate ORDER BY share a field, so we have to + * check here that at most one is present. We also check + * for DISTINCT and VARIADIC here to give a better error + * location. Other consistency checks are deferred to + * parse analysis. */ - SetToDefault *n = makeNode(SetToDefault); - - /* parse analysis will fill in the rest */ - n->location = (yylsp[(1) - (1)]); + if ((yyvsp[(2) - (4)].list) != NIL) + { + if (n->agg_order != NIL) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"), + parser_errposition((yylsp[(2) - (4)])))); + if (n->agg_distinct) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("cannot use DISTINCT with WITHIN GROUP"), + parser_errposition((yylsp[(2) - (4)])))); + if (n->func_variadic) + ereport(ERROR, + (errcode(ERRCODE_SYNTAX_ERROR), + errmsg("cannot use VARIADIC with WITHIN GROUP"), + parser_errposition((yylsp[(2) - (4)])))); + n->agg_order = (yyvsp[(2) - (4)].list); + n->agg_within_group = true; + } + n->agg_filter = (yyvsp[(3) - (4)].node); + n->over = (yyvsp[(4) - (4)].windef); (yyval.node) = (Node *) n; ;} break; - case 2021: -#line 14897 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} - break; + case 2118: +#line 15666 "gram.y" + { + JsonAggConstructor *n = IsA((yyvsp[(1) - (3)].node), JsonObjectAgg) ? + ((JsonObjectAgg *) (yyvsp[(1) - (3)].node))->constructor : + ((JsonArrayAgg *) (yyvsp[(1) - (3)].node))->constructor; - case 2022: -#line 14899 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;} + n->agg_filter = (yyvsp[(2) - (3)].node); + n->over = (yyvsp[(3) - (3)].windef); + (yyval.node) = (Node *) (yyvsp[(1) - (3)].node); + ;} break; - case 2023: -#line 14901 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 2119: +#line 15676 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2024: -#line 14903 "gram.y" - { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 2120: +#line 15686 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2025: -#line 14905 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2121: +#line 15687 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2026: -#line 14907 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2122: +#line 15688 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2027: -#line 14909 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2123: +#line 15696 "gram.y" + { + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"), + list_make1((yyvsp[(4) - (5)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (5)])); + ;} break; - case 2028: -#line 14911 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2124: +#line 15703 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)])); + ;} break; - case 2029: -#line 14913 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2125: +#line 15707 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)])); + ;} break; - case 2030: -#line 14915 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2126: +#line 15711 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + ;} break; - case 2031: -#line 14917 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2127: +#line 15715 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)])); + ;} break; - case 2032: -#line 14919 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2128: +#line 15719 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + ;} break; - case 2033: -#line 14921 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2129: +#line 15723 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)])); + ;} break; - case 2034: -#line 14923 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2130: +#line 15727 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + ;} break; - case 2035: -#line 14925 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2131: +#line 15731 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)])); + ;} break; - case 2036: -#line 14927 "gram.y" - { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2132: +#line 15735 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + ;} break; - case 2037: -#line 14929 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;} + case 2133: +#line 15739 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)])); + ;} break; - case 2038: -#line 14931 "gram.y" - { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} + case 2134: +#line 15743 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)])); + ;} break; - case 2039: -#line 14933 "gram.y" + case 2135: +#line 15747 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)])); + (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)])); ;} break; - case 2040: -#line 14937 "gram.y" + case 2136: +#line 15751 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"), + NIL, + COERCE_SQL_SYNTAX, + (yylsp[(1) - (1)])); ;} break; - case 2041: -#line 14941 "gram.y" + case 2137: +#line 15758 "gram.y" { - (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)])); + (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)])); ;} break; - case 2042: -#line 14946 "gram.y" + case 2138: +#line 15762 "gram.y" { - (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL, - list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), - (yylsp[(2) - (4)])); + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)])); ;} break; - case 2043: -#line 14961 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2139: +#line 15766 "gram.y" + { + (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)])); + ;} break; - case 2044: -#line 14962 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2140: +#line 15770 "gram.y" + { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;} break; - case 2045: -#line 14964 "gram.y" + case 2141: +#line 15772 "gram.y" { - ParamRef *p = makeNode(ParamRef); - - p->number = (yyvsp[(1) - (2)].ival); - p->location = (yylsp[(1) - (2)]); - if ((yyvsp[(2) - (2)].list)) - { - A_Indirection *n = makeNode(A_Indirection); - - n->arg = (Node *) p; - n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner); - (yyval.node) = (Node *) n; - } - else - (yyval.node) = (Node *) p; + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"), + (yyvsp[(3) - (4)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); ;} break; - case 2046: -#line 14981 "gram.y" + case 2142: +#line 15779 "gram.y" { - if ((yyvsp[(4) - (4)].list)) - { - A_Indirection *n = makeNode(A_Indirection); + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), + list_make1((yyvsp[(3) - (4)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); + ;} + break; - n->arg = (yyvsp[(2) - (4)].node); - n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner); - (yyval.node) = (Node *) n; - } - else - (yyval.node) = (yyvsp[(2) - (4)].node); + case 2143: +#line 15786 "gram.y" + { + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), + list_make2((yyvsp[(3) - (6)].node), makeStringConst((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]))), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (6)])); ;} break; - case 2047: -#line 14994 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2144: +#line 15793 "gram.y" + { + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), + (yyvsp[(3) - (4)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); + ;} break; - case 2048: -#line 14996 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2145: +#line 15800 "gram.y" + { + /* + * allow functions named overlay() to be called without + * special syntax + */ + (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")), + (yyvsp[(3) - (4)].list), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (4)])); + ;} break; - case 2049: -#line 14998 "gram.y" + case 2146: +#line 15811 "gram.y" { - SubLink *n = makeNode(SubLink); + /* + * position(A in B) is converted to position(B, A) + * + * We deliberately don't offer a "plain syntax" option + * for position(), because the reversal of the arguments + * creates too much risk of confusion. + */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), + (yyvsp[(3) - (4)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); + ;} + break; - n->subLinkType = EXPR_SUBLINK; - n->subLinkId = 0; - n->testexpr = NULL; - n->operName = NIL; - n->subselect = (yyvsp[(1) - (1)].node); - n->location = (yylsp[(1) - (1)]); - (yyval.node) = (Node *) n; + case 2147: +#line 15825 "gram.y" + { + /* substring(A from B for C) is converted to + * substring(A, B, C) - thomas 2000-11-28 + */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), + (yyvsp[(3) - (4)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); ;} break; - case 2050: -#line 15010 "gram.y" + case 2148: +#line 15835 "gram.y" { /* - * Because the select_with_parens nonterminal is designed - * to "eat" as many levels of parens as possible, the - * '(' a_expr ')' opt_indirection production above will - * fail to match a sub-SELECT with indirection decoration; - * the sub-SELECT won't be regarded as an a_expr as long - * as there are parens around it. To support applying - * subscripting or field selection to a sub-SELECT result, - * we need this redundant-looking production. + * allow functions named substring() to be called without + * special syntax */ - SubLink *n = makeNode(SubLink); - A_Indirection *a = makeNode(A_Indirection); + (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")), + (yyvsp[(3) - (4)].list), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (4)])); + ;} + break; - n->subLinkType = EXPR_SUBLINK; - n->subLinkId = 0; - n->testexpr = NULL; - n->operName = NIL; - n->subselect = (yyvsp[(1) - (2)].node); - n->location = (yylsp[(1) - (2)]); - a->arg = (Node *) n; - a->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner); - (yyval.node) = (Node *) a; + case 2149: +#line 15846 "gram.y" + { + /* TREAT(expr AS target) converts expr of a particular type to target, + * which is defined to be a subtype of the original expression. + * In SQL99, this is intended for use with structured UDTs, + * but let's make this a generally useful form allowing stronger + * coercions than are handled by implicit casting. + * + * Convert SystemTypeName() to SystemFuncName() even though + * at the moment they result in the same thing. + */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[(5) - (6)].typnam)->names))), + list_make1((yyvsp[(3) - (6)].node)), + COERCE_EXPLICIT_CALL, + (yylsp[(1) - (6)])); ;} break; - case 2051: -#line 15035 "gram.y" + case 2150: +#line 15862 "gram.y" { - SubLink *n = makeNode(SubLink); - - n->subLinkType = EXISTS_SUBLINK; - n->subLinkId = 0; - n->testexpr = NULL; - n->operName = NIL; - n->subselect = (yyvsp[(2) - (2)].node); - n->location = (yylsp[(1) - (2)]); - (yyval.node) = (Node *) n; + /* various trim expressions are defined in SQL + * - thomas 1997-07-19 + */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), + (yyvsp[(4) - (5)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (5)])); ;} break; - case 2052: -#line 15047 "gram.y" + case 2151: +#line 15872 "gram.y" { - SubLink *n = makeNode(SubLink); - - n->subLinkType = ARRAY_SUBLINK; - n->subLinkId = 0; - n->testexpr = NULL; - n->operName = NIL; - n->subselect = (yyvsp[(2) - (2)].node); - n->location = (yylsp[(1) - (2)]); - (yyval.node) = (Node *) n; + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), + (yyvsp[(4) - (5)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (5)])); ;} break; - case 2053: -#line 15059 "gram.y" + case 2152: +#line 15879 "gram.y" { - A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[(2) - (2)].node)); - - /* point outermost A_ArrayExpr to the ARRAY keyword */ - n->location = (yylsp[(1) - (2)]); - (yyval.node) = (Node *) n; + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), + (yyvsp[(4) - (5)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (5)])); ;} break; - case 2054: -#line 15067 "gram.y" + case 2153: +#line 15886 "gram.y" { - RowExpr *r = makeNode(RowExpr); - - r->args = (yyvsp[(1) - (1)].list); - r->row_typeid = InvalidOid; /* not analyzed yet */ - r->colnames = NIL; /* to be filled in during analysis */ - r->row_format = COERCE_EXPLICIT_CALL; /* abuse */ - r->location = (yylsp[(1) - (1)]); - (yyval.node) = (Node *) r; + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), + (yyvsp[(3) - (4)].list), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (4)])); ;} break; - case 2055: -#line 15078 "gram.y" + case 2154: +#line 15893 "gram.y" { - RowExpr *r = makeNode(RowExpr); - - r->args = (yyvsp[(1) - (1)].list); - r->row_typeid = InvalidOid; /* not analyzed yet */ - r->colnames = NIL; /* to be filled in during analysis */ - r->row_format = COERCE_IMPLICIT_CAST; /* abuse */ - r->location = (yylsp[(1) - (1)]); - (yyval.node) = (Node *) r; + (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)])); ;} break; - case 2056: -#line 15089 "gram.y" + case 2155: +#line 15897 "gram.y" { - GroupingFunc *g = makeNode(GroupingFunc); + CoalesceExpr *c = makeNode(CoalesceExpr); - g->args = (yyvsp[(3) - (4)].list); - g->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) g; - ;} + c->args = (yyvsp[(3) - (4)].list); + c->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) c; + ;} break; - case 2057: -#line 15099 "gram.y" + case 2156: +#line 15905 "gram.y" { - (yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (3)])); + MinMaxExpr *v = makeNode(MinMaxExpr); + + v->args = (yyvsp[(3) - (4)].list); + v->op = IS_GREATEST; + v->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) v; ;} break; - case 2058: -#line 15105 "gram.y" + case 2157: +#line 15914 "gram.y" { - FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (5)])); + MinMaxExpr *v = makeNode(MinMaxExpr); - n->agg_order = (yyvsp[(4) - (5)].list); - (yyval.node) = (Node *) n; + v->args = (yyvsp[(3) - (4)].list); + v->op = IS_LEAST; + v->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) v; ;} break; - case 2059: -#line 15114 "gram.y" + case 2158: +#line 15923 "gram.y" { - FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (6)])); - - n->func_variadic = true; - n->agg_order = (yyvsp[(5) - (6)].list); - (yyval.node) = (Node *) n; + (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); ;} break; - case 2060: -#line 15124 "gram.y" + case 2159: +#line 15927 "gram.y" { - FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (8)])); - - n->func_variadic = true; - n->agg_order = (yyvsp[(7) - (8)].list); - (yyval.node) = (Node *) n; + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)])); ;} break; - case 2061: -#line 15134 "gram.y" + case 2160: +#line 15931 "gram.y" { - FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (6)])); - - n->agg_order = (yyvsp[(5) - (6)].list); - /* Ideally we'd mark the FuncCall node to indicate - * "must be an aggregate", but there's no provision - * for that in FuncCall at the moment. - */ - (yyval.node) = (Node *) n; + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)])); ;} break; - case 2062: -#line 15147 "gram.y" + case 2161: +#line 15935 "gram.y" { - FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (6)])); - - n->agg_order = (yyvsp[(5) - (6)].list); - n->agg_distinct = true; - (yyval.node) = (Node *) n; + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)])); ;} break; - case 2063: -#line 15157 "gram.y" + case 2162: +#line 15939 "gram.y" { - /* - * We consider AGGREGATE(*) to invoke a parameterless - * aggregate. This does the right thing for COUNT(*), - * and there are no other aggregates in SQL that accept - * '*' as parameter. - * - * The FuncCall node is also marked agg_star = true, - * so that later processing can detect what the argument - * really was. - */ - FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (4)])); - - n->agg_star = true; - (yyval.node) = (Node *) n; + (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)])); ;} break; - case 2064: -#line 15188 "gram.y" + case 2163: +#line 15943 "gram.y" { - FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node); - - /* - * The order clause for WITHIN GROUP and the one for - * plain-aggregate ORDER BY share a field, so we have to - * check here that at most one is present. We also check - * for DISTINCT and VARIADIC here to give a better error - * location. Other consistency checks are deferred to - * parse analysis. - */ - if ((yyvsp[(2) - (4)].list) != NIL) - { - if (n->agg_order != NIL) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"), - parser_errposition((yylsp[(2) - (4)])))); - if (n->agg_distinct) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot use DISTINCT with WITHIN GROUP"), - parser_errposition((yylsp[(2) - (4)])))); - if (n->func_variadic) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot use VARIADIC with WITHIN GROUP"), - parser_errposition((yylsp[(2) - (4)])))); - n->agg_order = (yyvsp[(2) - (4)].list); - n->agg_within_group = true; - } - n->agg_filter = (yyvsp[(3) - (4)].node); - n->over = (yyvsp[(4) - (4)].windef); - (yyval.node) = (Node *) n; + /* xmlexists(A PASSING [BY REF] B [BY REF]) is + * converted to xmlexists(A, B)*/ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), + list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), + COERCE_SQL_SYNTAX, + (yylsp[(1) - (5)])); ;} break; - case 2065: -#line 15224 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2164: +#line 15952 "gram.y" + { + (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)])); + ;} break; - case 2066: -#line 15234 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} - break; + case 2165: +#line 15956 "gram.y" + { + XmlExpr *x = (XmlExpr *) + makeXmlExpr(IS_XMLPARSE, NULL, NIL, + list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)), + (yylsp[(1) - (6)])); - case 2067: -#line 15235 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + x->xmloption = (yyvsp[(3) - (6)].ival); + (yyval.node) = (Node *) x; + ;} break; - case 2068: -#line 15243 "gram.y" + case 2166: +#line 15966 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"), - list_make1((yyvsp[(4) - (5)].node)), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (5)])); + (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)])); ;} break; - case 2069: -#line 15250 "gram.y" + case 2167: +#line 15970 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)])); + (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); ;} break; - case 2070: -#line 15254 "gram.y" + case 2168: +#line 15974 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)])); + (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL, + list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); ;} break; - case 2071: -#line 15258 "gram.y" + case 2169: +#line 15979 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + XmlSerialize *n = makeNode(XmlSerialize); + + n->xmloption = (yyvsp[(3) - (8)].ival); + n->expr = (yyvsp[(4) - (8)].node); + n->typeName = (yyvsp[(6) - (8)].typnam); + n->indent = (yyvsp[(7) - (8)].boolean); + n->location = (yylsp[(1) - (8)]); + (yyval.node) = (Node *) n; ;} break; - case 2072: -#line 15262 "gram.y" + case 2170: +#line 15990 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)])); + /* Support for legacy (non-standard) json_object() */ + (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"), + (yyvsp[(3) - (4)].list), COERCE_EXPLICIT_CALL, (yylsp[(1) - (4)])); ;} break; - case 2073: -#line 15266 "gram.y" + case 2171: +#line 15999 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + + n->exprs = (yyvsp[(3) - (7)].list); + n->absent_on_null = (yyvsp[(4) - (7)].boolean); + n->unique = (yyvsp[(5) - (7)].boolean); + n->output = (JsonOutput *) (yyvsp[(6) - (7)].node); + n->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; ;} break; - case 2074: -#line 15270 "gram.y" + case 2172: +#line 16010 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)])); + JsonObjectConstructor *n = makeNode(JsonObjectConstructor); + + n->exprs = NULL; + n->absent_on_null = false; + n->unique = false; + n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; ;} break; - case 2075: -#line 15274 "gram.y" + case 2173: +#line 16025 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + JsonArrayConstructor *n = makeNode(JsonArrayConstructor); + + n->exprs = (yyvsp[(3) - (6)].list); + n->absent_on_null = (yyvsp[(4) - (6)].boolean); + n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; ;} break; - case 2076: -#line 15278 "gram.y" + case 2174: +#line 16040 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)])); + JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor); + + n->query = (yyvsp[(3) - (6)].node); + n->format = (JsonFormat *) (yyvsp[(4) - (6)].node); + n->absent_on_null = true; /* XXX */ + n->output = (JsonOutput *) (yyvsp[(5) - (6)].node); + n->location = (yylsp[(1) - (6)]); + (yyval.node) = (Node *) n; ;} break; - case 2077: -#line 15282 "gram.y" + case 2175: +#line 16053 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)])); + JsonArrayConstructor *n = makeNode(JsonArrayConstructor); + + n->exprs = NIL; + n->absent_on_null = true; + n->output = (JsonOutput *) (yyvsp[(3) - (4)].node); + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; ;} break; - case 2078: -#line 15286 "gram.y" + case 2176: +#line 16063 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)])); + JsonParseExpr *n = makeNode(JsonParseExpr); + + n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node); + n->unique_keys = (yyvsp[(4) - (5)].boolean); + n->output = NULL; + n->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) n; ;} break; - case 2079: -#line 15290 "gram.y" + case 2177: +#line 16073 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)])); + JsonScalarExpr *n = makeNode(JsonScalarExpr); + + n->expr = (Expr *) (yyvsp[(3) - (4)].node); + n->output = NULL; + n->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) n; ;} break; - case 2080: -#line 15294 "gram.y" + case 2178: +#line 16082 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)])); + JsonSerializeExpr *n = makeNode(JsonSerializeExpr); + + n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node); + n->output = (JsonOutput *) (yyvsp[(4) - (5)].node); + n->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) n; ;} break; - case 2081: -#line 15298 "gram.y" + case 2179: +#line 16091 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)])); + MergeSupportFunc *m = makeNode(MergeSupportFunc); + + m->msftype = TEXTOID; + m->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) m; ;} break; - case 2082: -#line 15302 "gram.y" + case 2180: +#line 16105 "gram.y" + { + JsonFuncExpr *n = makeNode(JsonFuncExpr); + + n->op = JSON_QUERY_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (11)].node); + n->pathspec = (yyvsp[(5) - (11)].node); + n->passing = (yyvsp[(6) - (11)].list); + n->output = (JsonOutput *) (yyvsp[(7) - (11)].node); + n->wrapper = (yyvsp[(8) - (11)].ival); + n->quotes = (yyvsp[(9) - (11)].ival); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(10) - (11)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(10) - (11)].list)); + n->location = (yylsp[(1) - (11)]); + (yyval.node) = (Node *) n; + ;} + break; + + case 2181: +#line 16124 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)])); + JsonFuncExpr *n = makeNode(JsonFuncExpr); + + n->op = JSON_EXISTS_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (8)].node); + n->pathspec = (yyvsp[(5) - (8)].node); + n->passing = (yyvsp[(6) - (8)].list); + n->output = NULL; + n->on_error = (JsonBehavior *) (yyvsp[(7) - (8)].node); + n->location = (yylsp[(1) - (8)]); + (yyval.node) = (Node *) n; ;} break; - case 2083: -#line 15306 "gram.y" + case 2182: +#line 16141 "gram.y" { - (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)])); + JsonFuncExpr *n = makeNode(JsonFuncExpr); + + n->op = JSON_VALUE_OP; + n->context_item = (JsonValueExpr *) (yyvsp[(3) - (9)].node); + n->pathspec = (yyvsp[(5) - (9)].node); + n->passing = (yyvsp[(6) - (9)].list); + n->output = (JsonOutput *) (yyvsp[(7) - (9)].node); + n->on_empty = (JsonBehavior *) linitial((yyvsp[(8) - (9)].list)); + n->on_error = (JsonBehavior *) lsecond((yyvsp[(8) - (9)].list)); + n->location = (yylsp[(1) - (9)]); + (yyval.node) = (Node *) n; ;} break; - case 2084: -#line 15310 "gram.y" - { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;} + case 2183: +#line 16161 "gram.y" + { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2085: -#line 15312 "gram.y" - { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"), - (yyvsp[(3) - (4)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); - ;} + case 2184: +#line 16163 "gram.y" + { (yyval.node) = makeNullAConst(-1); ;} break; - case 2086: -#line 15319 "gram.y" - { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), - list_make1((yyvsp[(3) - (4)].node)), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); - ;} + case 2185: +#line 16167 "gram.y" + { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;} break; - case 2087: -#line 15326 "gram.y" - { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), - list_make2((yyvsp[(3) - (6)].node), makeStringConst((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]))), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (6)])); - ;} + case 2186: +#line 16169 "gram.y" + { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;} break; - case 2088: -#line 15333 "gram.y" - { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), - (yyvsp[(3) - (4)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); - ;} + case 2187: +#line 16171 "gram.y" + { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;} break; - case 2089: -#line 15340 "gram.y" - { - /* - * allow functions named overlay() to be called without - * special syntax - */ - (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")), - (yyvsp[(3) - (4)].list), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (4)])); - ;} + case 2188: +#line 16173 "gram.y" + { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;} break; - case 2090: -#line 15351 "gram.y" - { - /* - * position(A in B) is converted to position(B, A) - * - * We deliberately don't offer a "plain syntax" option - * for position(), because the reversal of the arguments - * creates too much risk of confusion. - */ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), - (yyvsp[(3) - (4)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); - ;} + case 2189: +#line 16176 "gram.y" + { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2091: -#line 15365 "gram.y" - { - /* substring(A from B for C) is converted to - * substring(A, B, C) - thomas 2000-11-28 - */ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), - (yyvsp[(3) - (4)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); - ;} + case 2190: +#line 16179 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 2092: -#line 15375 "gram.y" - { - /* - * allow functions named substring() to be called without - * special syntax - */ - (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")), - (yyvsp[(3) - (4)].list), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (4)])); - ;} + case 2191: +#line 16180 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 2093: -#line 15386 "gram.y" + case 2192: +#line 16184 "gram.y" { - /* TREAT(expr AS target) converts expr of a particular type to target, - * which is defined to be a subtype of the original expression. - * In SQL99, this is intended for use with structured UDTs, - * but let's make this a generally useful form allowing stronger - * coercions than are handled by implicit casting. - * - * Convert SystemTypeName() to SystemFuncName() even though - * at the moment they result in the same thing. - */ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[(5) - (6)].typnam)->names))), - list_make1((yyvsp[(3) - (6)].node)), - COERCE_EXPLICIT_CALL, - (yylsp[(1) - (6)])); + (yyval.target) = makeNode(ResTarget); + (yyval.target)->name = (yyvsp[(3) - (3)].str); + (yyval.target)->indirection = NIL; + (yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node); + (yyval.target)->location = (yylsp[(1) - (3)]); ;} break; - case 2094: -#line 15402 "gram.y" + case 2193: +#line 16192 "gram.y" { - /* various trim expressions are defined in SQL - * - thomas 1997-07-19 - */ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), - (yyvsp[(4) - (5)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (5)])); + (yyval.target) = makeNode(ResTarget); + (yyval.target)->name = NULL; + (yyval.target)->indirection = NIL; + (yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node); + (yyval.target)->location = (yylsp[(1) - (1)]); ;} break; - case 2095: -#line 15412 "gram.y" + case 2194: +#line 16201 "gram.y" + { (yyval.ival) = XMLOPTION_DOCUMENT; ;} + break; + + case 2195: +#line 16202 "gram.y" + { (yyval.ival) = XMLOPTION_CONTENT; ;} + break; + + case 2196: +#line 16205 "gram.y" + { (yyval.boolean) = true; ;} + break; + + case 2197: +#line 16206 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 2198: +#line 16207 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 2199: +#line 16210 "gram.y" + { (yyval.boolean) = true; ;} + break; + + case 2200: +#line 16211 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 2201: +#line 16212 "gram.y" + { (yyval.boolean) = false; ;} + break; + + case 2202: +#line 16218 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), - (yyvsp[(4) - (5)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (5)])); + (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2096: -#line 15419 "gram.y" + case 2203: +#line 16222 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), - (yyvsp[(4) - (5)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (5)])); + (yyval.node) = (yyvsp[(2) - (3)].node); ;} break; - case 2097: -#line 15426 "gram.y" + case 2204: +#line 16226 "gram.y" { - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), - (yyvsp[(3) - (4)].list), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (4)])); + (yyval.node) = (yyvsp[(3) - (3)].node); ;} break; - case 2098: -#line 15433 "gram.y" + case 2205: +#line 16230 "gram.y" { - (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)])); + (yyval.node) = (yyvsp[(3) - (4)].node); ;} break; - case 2099: -#line 15437 "gram.y" + case 2208: +#line 16245 "gram.y" + { (yyval.list) = (yyvsp[(4) - (5)].list); ;} + break; + + case 2209: +#line 16246 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2210: +#line 16250 "gram.y" + { (yyval.node) = (yyvsp[(4) - (5)].node); ;} + break; + + case 2211: +#line 16251 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 2212: +#line 16259 "gram.y" + { (yyval.list) = (yyvsp[(2) - (2)].list); ;} + break; + + case 2213: +#line 16260 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2214: +#line 16264 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;} + break; + + case 2215: +#line 16266 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;} + break; + + case 2216: +#line 16271 "gram.y" { - CoalesceExpr *c = makeNode(CoalesceExpr); + WindowDef *n = (yyvsp[(3) - (3)].windef); - c->args = (yyvsp[(3) - (4)].list); - c->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) c; + n->name = (yyvsp[(1) - (3)].str); + (yyval.windef) = n; ;} break; - case 2100: -#line 15445 "gram.y" + case 2217: +#line 16280 "gram.y" + { (yyval.windef) = (yyvsp[(2) - (2)].windef); ;} + break; + + case 2218: +#line 16282 "gram.y" { - MinMaxExpr *v = makeNode(MinMaxExpr); + WindowDef *n = makeNode(WindowDef); - v->args = (yyvsp[(3) - (4)].list); - v->op = IS_GREATEST; - v->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) v; + n->name = (yyvsp[(2) - (2)].str); + n->refname = NULL; + n->partitionClause = NIL; + n->orderClause = NIL; + n->frameOptions = FRAMEOPTION_DEFAULTS; + n->startOffset = NULL; + n->endOffset = NULL; + n->location = (yylsp[(2) - (2)]); + (yyval.windef) = n; ;} break; - case 2101: -#line 15454 "gram.y" + case 2219: +#line 16296 "gram.y" + { (yyval.windef) = NULL; ;} + break; + + case 2220: +#line 16301 "gram.y" { - MinMaxExpr *v = makeNode(MinMaxExpr); + WindowDef *n = makeNode(WindowDef); - v->args = (yyvsp[(3) - (4)].list); - v->op = IS_LEAST; - v->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) v; + n->name = NULL; + n->refname = (yyvsp[(2) - (6)].str); + n->partitionClause = (yyvsp[(3) - (6)].list); + n->orderClause = (yyvsp[(4) - (6)].list); + /* copy relevant fields of opt_frame_clause */ + n->frameOptions = (yyvsp[(5) - (6)].windef)->frameOptions; + n->startOffset = (yyvsp[(5) - (6)].windef)->startOffset; + n->endOffset = (yyvsp[(5) - (6)].windef)->endOffset; + n->location = (yylsp[(1) - (6)]); + (yyval.windef) = n; ;} break; - case 2102: -#line 15463 "gram.y" + case 2221: +#line 16327 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + break; + + case 2222: +#line 16328 "gram.y" + { (yyval.str) = NULL; ;} + break; + + case 2223: +#line 16331 "gram.y" + { (yyval.list) = (yyvsp[(3) - (3)].list); ;} + break; + + case 2224: +#line 16332 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2225: +#line 16341 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)])); + WindowDef *n = (yyvsp[(2) - (3)].windef); + + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE; + n->frameOptions |= (yyvsp[(3) - (3)].ival); + (yyval.windef) = n; ;} break; - case 2103: -#line 15467 "gram.y" + case 2226: +#line 16349 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)])); + WindowDef *n = (yyvsp[(2) - (3)].windef); + + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS; + n->frameOptions |= (yyvsp[(3) - (3)].ival); + (yyval.windef) = n; ;} break; - case 2104: -#line 15471 "gram.y" + case 2227: +#line 16357 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)])); + WindowDef *n = (yyvsp[(2) - (3)].windef); + + n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS; + n->frameOptions |= (yyvsp[(3) - (3)].ival); + (yyval.windef) = n; ;} break; - case 2105: -#line 15475 "gram.y" + case 2228: +#line 16365 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)])); + WindowDef *n = makeNode(WindowDef); + + n->frameOptions = FRAMEOPTION_DEFAULTS; + n->startOffset = NULL; + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2106: -#line 15479 "gram.y" + case 2229: +#line 16376 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)])); + WindowDef *n = (yyvsp[(1) - (1)].windef); + + /* reject invalid cases */ + if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame start cannot be UNBOUNDED FOLLOWING"), + parser_errposition((yylsp[(1) - (1)])))); + if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame starting from following row cannot end with current row"), + parser_errposition((yylsp[(1) - (1)])))); + n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW; + (yyval.windef) = n; ;} break; - case 2107: -#line 15483 "gram.y" + case 2230: +#line 16394 "gram.y" { - /* xmlexists(A PASSING [BY REF] B [BY REF]) is - * converted to xmlexists(A, B)*/ - (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), - list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), - COERCE_SQL_SYNTAX, - (yylsp[(1) - (5)])); + WindowDef *n1 = (yyvsp[(2) - (4)].windef); + WindowDef *n2 = (yyvsp[(4) - (4)].windef); + + /* form merged options */ + int frameOptions = n1->frameOptions; + /* shift converts START_ options to END_ options */ + frameOptions |= n2->frameOptions << 1; + frameOptions |= FRAMEOPTION_BETWEEN; + /* reject invalid cases */ + if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame start cannot be UNBOUNDED FOLLOWING"), + parser_errposition((yylsp[(2) - (4)])))); + if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame end cannot be UNBOUNDED PRECEDING"), + parser_errposition((yylsp[(4) - (4)])))); + if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) && + (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING)) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame starting from current row cannot have preceding rows"), + parser_errposition((yylsp[(4) - (4)])))); + if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) && + (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING | + FRAMEOPTION_END_CURRENT_ROW))) + ereport(ERROR, + (errcode(ERRCODE_WINDOWING_ERROR), + errmsg("frame starting from following row cannot have preceding rows"), + parser_errposition((yylsp[(4) - (4)])))); + n1->frameOptions = frameOptions; + n1->endOffset = n2->startOffset; + (yyval.windef) = n1; ;} break; - case 2108: -#line 15492 "gram.y" + case 2231: +#line 16440 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)])); + WindowDef *n = makeNode(WindowDef); + + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING; + n->startOffset = NULL; + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2109: -#line 15496 "gram.y" + case 2232: +#line 16449 "gram.y" { - XmlExpr *x = (XmlExpr *) - makeXmlExpr(IS_XMLPARSE, NULL, NIL, - list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)), - (yylsp[(1) - (6)])); + WindowDef *n = makeNode(WindowDef); - x->xmloption = (yyvsp[(3) - (6)].ival); - (yyval.node) = (Node *) x; + n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING; + n->startOffset = NULL; + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2110: -#line 15506 "gram.y" + case 2233: +#line 16458 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)])); + WindowDef *n = makeNode(WindowDef); + + n->frameOptions = FRAMEOPTION_START_CURRENT_ROW; + n->startOffset = NULL; + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2111: -#line 15510 "gram.y" + case 2234: +#line 16467 "gram.y" { - (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); - ;} - break; + WindowDef *n = makeNode(WindowDef); - case 2112: -#line 15514 "gram.y" - { - (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL, - list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)])); + n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING; + n->startOffset = (yyvsp[(1) - (2)].node); + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2113: -#line 15519 "gram.y" + case 2235: +#line 16476 "gram.y" { - XmlSerialize *n = makeNode(XmlSerialize); + WindowDef *n = makeNode(WindowDef); - n->xmloption = (yyvsp[(3) - (7)].ival); - n->expr = (yyvsp[(4) - (7)].node); - n->typeName = (yyvsp[(6) - (7)].typnam); - n->location = (yylsp[(1) - (7)]); - (yyval.node) = (Node *) n; + n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING; + n->startOffset = (yyvsp[(1) - (2)].node); + n->endOffset = NULL; + (yyval.windef) = n; ;} break; - case 2114: -#line 15534 "gram.y" - { (yyval.node) = (yyvsp[(2) - (2)].node); ;} - break; - - case 2115: -#line 15536 "gram.y" - { (yyval.node) = makeNullAConst(-1); ;} + case 2236: +#line 16487 "gram.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;} break; - case 2116: -#line 15540 "gram.y" - { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;} + case 2237: +#line 16488 "gram.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;} break; - case 2117: -#line 15542 "gram.y" - { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;} + case 2238: +#line 16489 "gram.y" + { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;} break; - case 2118: -#line 15544 "gram.y" - { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;} + case 2239: +#line 16490 "gram.y" + { (yyval.ival) = 0; ;} break; - case 2119: -#line 15546 "gram.y" - { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;} + case 2240: +#line 16491 "gram.y" + { (yyval.ival) = 0; ;} break; - case 2120: -#line 15549 "gram.y" + case 2241: +#line 16505 "gram.y" { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2121: -#line 15552 "gram.y" - { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} + case 2242: +#line 16506 "gram.y" + { (yyval.list) = NIL; ;} break; - case 2122: -#line 15553 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} + case 2243: +#line 16507 "gram.y" + { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} break; - case 2123: -#line 15557 "gram.y" - { - (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = (yyvsp[(3) - (3)].str); - (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node); - (yyval.target)->location = (yylsp[(1) - (3)]); - ;} + case 2244: +#line 16510 "gram.y" + { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2124: -#line 15565 "gram.y" - { - (yyval.target) = makeNode(ResTarget); - (yyval.target)->name = NULL; - (yyval.target)->indirection = NIL; - (yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node); - (yyval.target)->location = (yylsp[(1) - (1)]); - ;} + case 2245: +#line 16511 "gram.y" + { (yyval.list) = NIL; ;} break; - case 2125: -#line 15574 "gram.y" - { (yyval.ival) = XMLOPTION_DOCUMENT; ;} + case 2246: +#line 16514 "gram.y" + { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} break; - case 2126: -#line 15575 "gram.y" - { (yyval.ival) = XMLOPTION_CONTENT; ;} + case 2247: +#line 16517 "gram.y" + { (yyval.ival) = ANY_SUBLINK; ;} break; - case 2127: -#line 15578 "gram.y" - { (yyval.boolean) = true; ;} + case 2248: +#line 16518 "gram.y" + { (yyval.ival) = ANY_SUBLINK; ;} break; - case 2128: -#line 15579 "gram.y" - { (yyval.boolean) = false; ;} + case 2249: +#line 16519 "gram.y" + { (yyval.ival) = ALL_SUBLINK; ;} break; - case 2129: -#line 15580 "gram.y" - { (yyval.boolean) = false; ;} + case 2250: +#line 16522 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2130: -#line 15586 "gram.y" - { - (yyval.node) = (yyvsp[(2) - (2)].node); - ;} + case 2251: +#line 16523 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2131: -#line 15590 "gram.y" - { - (yyval.node) = (yyvsp[(2) - (3)].node); - ;} + case 2252: +#line 16526 "gram.y" + { (yyval.str) = "+"; ;} break; - case 2132: -#line 15594 "gram.y" - { - (yyval.node) = (yyvsp[(3) - (3)].node); - ;} + case 2253: +#line 16527 "gram.y" + { (yyval.str) = "-"; ;} break; - case 2133: -#line 15598 "gram.y" - { - (yyval.node) = (yyvsp[(3) - (4)].node); - ;} + case 2254: +#line 16528 "gram.y" + { (yyval.str) = "*"; ;} break; - case 2136: -#line 15613 "gram.y" - { (yyval.list) = (yyvsp[(4) - (5)].list); ;} + case 2255: +#line 16529 "gram.y" + { (yyval.str) = "/"; ;} break; - case 2137: -#line 15614 "gram.y" - { (yyval.list) = NIL; ;} + case 2256: +#line 16530 "gram.y" + { (yyval.str) = "%"; ;} break; - case 2138: -#line 15618 "gram.y" - { (yyval.node) = (yyvsp[(4) - (5)].node); ;} + case 2257: +#line 16531 "gram.y" + { (yyval.str) = "^"; ;} break; - case 2139: -#line 15619 "gram.y" - { (yyval.node) = NULL; ;} + case 2258: +#line 16532 "gram.y" + { (yyval.str) = "<"; ;} break; - case 2140: -#line 15627 "gram.y" - { (yyval.list) = (yyvsp[(2) - (2)].list); ;} + case 2259: +#line 16533 "gram.y" + { (yyval.str) = ">"; ;} break; - case 2141: -#line 15628 "gram.y" - { (yyval.list) = NIL; ;} + case 2260: +#line 16534 "gram.y" + { (yyval.str) = "="; ;} break; - case 2142: -#line 15632 "gram.y" - { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;} + case 2261: +#line 16535 "gram.y" + { (yyval.str) = "<="; ;} break; - case 2143: -#line 15634 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;} + case 2262: +#line 16536 "gram.y" + { (yyval.str) = ">="; ;} break; - case 2144: -#line 15639 "gram.y" - { - WindowDef *n = (yyvsp[(3) - (3)].windef); + case 2263: +#line 16537 "gram.y" + { (yyval.str) = "<>"; ;} + break; - n->name = (yyvsp[(1) - (3)].str); - (yyval.windef) = n; - ;} + case 2264: +#line 16541 "gram.y" + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2145: -#line 15648 "gram.y" - { (yyval.windef) = (yyvsp[(2) - (2)].windef); ;} + case 2265: +#line 16543 "gram.y" + { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2146: -#line 15650 "gram.y" - { - WindowDef *n = makeNode(WindowDef); + case 2266: +#line 16548 "gram.y" + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} + break; - n->name = (yyvsp[(2) - (2)].str); - n->refname = NULL; - n->partitionClause = NIL; - n->orderClause = NIL; - n->frameOptions = FRAMEOPTION_DEFAULTS; - n->startOffset = NULL; - n->endOffset = NULL; - n->location = (yylsp[(2) - (2)]); - (yyval.windef) = n; - ;} + case 2267: +#line 16550 "gram.y" + { (yyval.list) = (yyvsp[(3) - (4)].list); ;} break; - case 2147: -#line 15664 "gram.y" - { (yyval.windef) = NULL; ;} + case 2268: +#line 16555 "gram.y" + { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2148: -#line 15669 "gram.y" - { - WindowDef *n = makeNode(WindowDef); + case 2269: +#line 16557 "gram.y" + { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + break; - n->name = NULL; - n->refname = (yyvsp[(2) - (6)].str); - n->partitionClause = (yyvsp[(3) - (6)].list); - n->orderClause = (yyvsp[(4) - (6)].list); - /* copy relevant fields of opt_frame_clause */ - n->frameOptions = (yyvsp[(5) - (6)].windef)->frameOptions; - n->startOffset = (yyvsp[(5) - (6)].windef)->startOffset; - n->endOffset = (yyvsp[(5) - (6)].windef)->endOffset; - n->location = (yylsp[(1) - (6)]); - (yyval.windef) = n; - ;} + case 2270: +#line 16559 "gram.y" + { (yyval.list) = list_make1(makeString("~~")); ;} break; - case 2149: -#line 15695 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + case 2271: +#line 16561 "gram.y" + { (yyval.list) = list_make1(makeString("!~~")); ;} break; - case 2150: -#line 15696 "gram.y" - { (yyval.str) = NULL; ;} + case 2272: +#line 16563 "gram.y" + { (yyval.list) = list_make1(makeString("~~*")); ;} break; - case 2151: -#line 15699 "gram.y" - { (yyval.list) = (yyvsp[(3) - (3)].list); ;} + case 2273: +#line 16565 "gram.y" + { (yyval.list) = list_make1(makeString("!~~*")); ;} break; - case 2152: -#line 15700 "gram.y" - { (yyval.list) = NIL; ;} + case 2274: +#line 16577 "gram.y" + { + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); + ;} break; - case 2153: -#line 15709 "gram.y" + case 2275: +#line 16581 "gram.y" { - WindowDef *n = (yyvsp[(2) - (3)].windef); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); + ;} + break; - n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE; - n->frameOptions |= (yyvsp[(3) - (3)].ival); - (yyval.windef) = n; + case 2276: +#line 16588 "gram.y" + { + (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2154: -#line 15717 "gram.y" + case 2277: +#line 16592 "gram.y" { - WindowDef *n = (yyvsp[(2) - (3)].windef); + (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); + ;} + break; - n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS; - n->frameOptions |= (yyvsp[(3) - (3)].ival); - (yyval.windef) = n; + case 2278: +#line 16598 "gram.y" + { + (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2155: -#line 15725 "gram.y" + case 2279: +#line 16602 "gram.y" { - WindowDef *n = (yyvsp[(2) - (3)].windef); + NamedArgExpr *na = makeNode(NamedArgExpr); - n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS; - n->frameOptions |= (yyvsp[(3) - (3)].ival); - (yyval.windef) = n; + na->name = (yyvsp[(1) - (3)].str); + na->arg = (Expr *) (yyvsp[(3) - (3)].node); + na->argnumber = -1; /* until determined */ + na->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) na; ;} break; - case 2156: -#line 15733 "gram.y" + case 2280: +#line 16612 "gram.y" { - WindowDef *n = makeNode(WindowDef); + NamedArgExpr *na = makeNode(NamedArgExpr); - n->frameOptions = FRAMEOPTION_DEFAULTS; - n->startOffset = NULL; - n->endOffset = NULL; - (yyval.windef) = n; + na->name = (yyvsp[(1) - (3)].str); + na->arg = (Expr *) (yyvsp[(3) - (3)].node); + na->argnumber = -1; /* until determined */ + na->location = (yylsp[(1) - (3)]); + (yyval.node) = (Node *) na; ;} break; - case 2157: -#line 15744 "gram.y" - { - WindowDef *n = (yyvsp[(1) - (1)].windef); + case 2281: +#line 16623 "gram.y" + { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + break; - /* reject invalid cases */ - if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame start cannot be UNBOUNDED FOLLOWING"), - parser_errposition((yylsp[(1) - (1)])))); - if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame starting from following row cannot end with current row"), - parser_errposition((yylsp[(1) - (1)])))); - n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW; - (yyval.windef) = n; - ;} + case 2282: +#line 16624 "gram.y" + { (yyval.list) = NIL; ;} break; - case 2158: -#line 15762 "gram.y" - { - WindowDef *n1 = (yyvsp[(2) - (4)].windef); - WindowDef *n2 = (yyvsp[(4) - (4)].windef); + case 2283: +#line 16627 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;} + break; - /* form merged options */ - int frameOptions = n1->frameOptions; - /* shift converts START_ options to END_ options */ - frameOptions |= n2->frameOptions << 1; - frameOptions |= FRAMEOPTION_BETWEEN; - /* reject invalid cases */ - if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame start cannot be UNBOUNDED FOLLOWING"), - parser_errposition((yylsp[(2) - (4)])))); - if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame end cannot be UNBOUNDED PRECEDING"), - parser_errposition((yylsp[(4) - (4)])))); - if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) && - (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING)) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame starting from current row cannot have preceding rows"), - parser_errposition((yylsp[(4) - (4)])))); - if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) && - (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING | - FRAMEOPTION_END_CURRENT_ROW))) - ereport(ERROR, - (errcode(ERRCODE_WINDOWING_ERROR), - errmsg("frame starting from following row cannot have preceding rows"), - parser_errposition((yylsp[(4) - (4)])))); - n1->frameOptions = frameOptions; - n1->endOffset = n2->startOffset; - (yyval.windef) = n1; - ;} + case 2284: +#line 16628 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;} break; - case 2159: -#line 15808 "gram.y" + case 2285: +#line 16632 "gram.y" { - WindowDef *n = makeNode(WindowDef); - - n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING; - n->startOffset = NULL; - n->endOffset = NULL; - (yyval.windef) = n; + (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 2160: -#line 15817 "gram.y" + case 2286: +#line 16636 "gram.y" { - WindowDef *n = makeNode(WindowDef); - - n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING; - n->startOffset = NULL; - n->endOffset = NULL; - (yyval.windef) = n; + (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); ;} break; - case 2161: -#line 15826 "gram.y" + case 2287: +#line 16640 "gram.y" { - WindowDef *n = makeNode(WindowDef); - - n->frameOptions = FRAMEOPTION_START_CURRENT_ROW; - n->startOffset = NULL; - n->endOffset = NULL; - (yyval.windef) = n; + (yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)])); ;} break; - case 2162: -#line 15835 "gram.y" - { - WindowDef *n = makeNode(WindowDef); + case 2288: +#line 16645 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + break; - n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING; - n->startOffset = (yyvsp[(1) - (2)].node); - n->endOffset = NULL; - (yyval.windef) = n; - ;} + case 2289: +#line 16646 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2163: -#line 15844 "gram.y" + case 2290: +#line 16652 "gram.y" { - WindowDef *n = makeNode(WindowDef); - - n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING; - n->startOffset = (yyvsp[(1) - (2)].node); - n->endOffset = NULL; - (yyval.windef) = n; + (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); ;} break; - case 2164: -#line 15855 "gram.y" - { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;} + case 2291: +#line 16656 "gram.y" + { + (yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); + ;} break; - case 2165: -#line 15856 "gram.y" - { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;} + case 2292: +#line 16665 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2166: -#line 15857 "gram.y" - { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;} + case 2293: +#line 16666 "gram.y" + { (yyval.str) = "year"; ;} break; - case 2167: -#line 15858 "gram.y" - { (yyval.ival) = 0; ;} + case 2294: +#line 16667 "gram.y" + { (yyval.str) = "month"; ;} break; - case 2168: -#line 15859 "gram.y" - { (yyval.ival) = 0; ;} + case 2295: +#line 16668 "gram.y" + { (yyval.str) = "day"; ;} break; - case 2169: -#line 15873 "gram.y" - { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + case 2296: +#line 16669 "gram.y" + { (yyval.str) = "hour"; ;} break; - case 2170: -#line 15874 "gram.y" - { (yyval.list) = NIL; ;} + case 2297: +#line 16670 "gram.y" + { (yyval.str) = "minute"; ;} break; - case 2171: -#line 15875 "gram.y" - { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} + case 2298: +#line 16671 "gram.y" + { (yyval.str) = "second"; ;} break; - case 2172: -#line 15878 "gram.y" - { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + case 2299: +#line 16672 "gram.y" + { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2173: -#line 15879 "gram.y" - { (yyval.list) = NIL; ;} + case 2300: +#line 16676 "gram.y" + { (yyval.str) = "NFC"; ;} break; - case 2174: -#line 15882 "gram.y" - { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;} + case 2301: +#line 16677 "gram.y" + { (yyval.str) = "NFD"; ;} break; - case 2175: -#line 15885 "gram.y" - { (yyval.ival) = ANY_SUBLINK; ;} + case 2302: +#line 16678 "gram.y" + { (yyval.str) = "NFKC"; ;} break; - case 2176: -#line 15886 "gram.y" - { (yyval.ival) = ANY_SUBLINK; ;} + case 2303: +#line 16679 "gram.y" + { (yyval.str) = "NFKD"; ;} break; - case 2177: -#line 15887 "gram.y" - { (yyval.ival) = ALL_SUBLINK; ;} + case 2304: +#line 16685 "gram.y" + { + /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */ + (yyval.list) = list_make4((yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); + ;} break; - case 2178: -#line 15890 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + case 2305: +#line 16690 "gram.y" + { + /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */ + (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); + ;} break; - case 2179: -#line 15891 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + case 2306: +#line 16698 "gram.y" + { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;} break; - case 2180: -#line 15894 "gram.y" - { (yyval.str) = "+"; ;} + case 2307: +#line 16720 "gram.y" + { + (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); + ;} break; - case 2181: -#line 15895 "gram.y" - { (yyval.str) = "-"; ;} + case 2308: +#line 16724 "gram.y" + { + /* not legal per SQL, but might as well allow it */ + (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); + ;} break; - case 2182: -#line 15896 "gram.y" - { (yyval.str) = "*"; ;} + case 2309: +#line 16729 "gram.y" + { + /* + * Because we aren't restricting data types here, this + * syntax can end up resolving to textregexsubstr(). + * We've historically allowed that to happen, so continue + * to accept it. However, ruleutils.c will reverse-list + * such a call in regular function call syntax. + */ + (yyval.list) = list_make2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); + ;} break; - case 2183: -#line 15897 "gram.y" - { (yyval.str) = "/"; ;} - break; + case 2310: +#line 16740 "gram.y" + { + /* not legal per SQL */ - case 2184: -#line 15898 "gram.y" - { (yyval.str) = "%"; ;} + /* + * Since there are no cases where this syntax allows + * a textual FOR value, we forcibly cast the argument + * to int4. The possible matches in pg_proc are + * substring(text,int4) and substring(text,text), + * and we don't want the parser to choose the latter, + * which it is likely to do if the second argument + * is unknown or doesn't have an implicit cast to int4. + */ + (yyval.list) = list_make3((yyvsp[(1) - (3)].node), makeIntConst(1, -1), + makeTypeCast((yyvsp[(3) - (3)].node), + SystemTypeName("int4"), -1)); + ;} break; - case 2185: -#line 15899 "gram.y" - { (yyval.str) = "^"; ;} + case 2311: +#line 16757 "gram.y" + { + (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); + ;} break; - case 2186: -#line 15900 "gram.y" - { (yyval.str) = "<"; ;} + case 2312: +#line 16762 "gram.y" + { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;} break; - case 2187: -#line 15901 "gram.y" - { (yyval.str) = ">"; ;} + case 2313: +#line 16763 "gram.y" + { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 2188: -#line 15902 "gram.y" - { (yyval.str) = "="; ;} + case 2314: +#line 16764 "gram.y" + { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 2189: -#line 15903 "gram.y" - { (yyval.str) = "<="; ;} - break; + case 2315: +#line 16768 "gram.y" + { + SubLink *n = makeNode(SubLink); - case 2190: -#line 15904 "gram.y" - { (yyval.str) = ">="; ;} + n->subselect = (yyvsp[(1) - (1)].node); + /* other fields will be filled later */ + (yyval.node) = (Node *) n; + ;} break; - case 2191: -#line 15905 "gram.y" - { (yyval.str) = "<>"; ;} + case 2316: +#line 16775 "gram.y" + { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;} break; - case 2192: -#line 15909 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} - break; + case 2317: +#line 16786 "gram.y" + { + CaseExpr *c = makeNode(CaseExpr); - case 2193: -#line 15911 "gram.y" - { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + c->casetype = InvalidOid; /* not analyzed yet */ + c->arg = (Expr *) (yyvsp[(2) - (5)].node); + c->args = (yyvsp[(3) - (5)].list); + c->defresult = (Expr *) (yyvsp[(4) - (5)].node); + c->location = (yylsp[(1) - (5)]); + (yyval.node) = (Node *) c; + ;} break; - case 2194: -#line 15916 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} + case 2318: +#line 16800 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2195: -#line 15918 "gram.y" - { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + case 2319: +#line 16801 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 2196: -#line 15923 "gram.y" - { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} - break; + case 2320: +#line 16806 "gram.y" + { + CaseWhen *w = makeNode(CaseWhen); - case 2197: -#line 15925 "gram.y" - { (yyval.list) = (yyvsp[(3) - (4)].list); ;} + w->expr = (Expr *) (yyvsp[(2) - (4)].node); + w->result = (Expr *) (yyvsp[(4) - (4)].node); + w->location = (yylsp[(1) - (4)]); + (yyval.node) = (Node *) w; + ;} break; - case 2198: -#line 15927 "gram.y" - { (yyval.list) = list_make1(makeString("~~")); ;} + case 2321: +#line 16817 "gram.y" + { (yyval.node) = (yyvsp[(2) - (2)].node); ;} break; - case 2199: -#line 15929 "gram.y" - { (yyval.list) = list_make1(makeString("!~~")); ;} + case 2322: +#line 16818 "gram.y" + { (yyval.node) = NULL; ;} break; - case 2200: -#line 15931 "gram.y" - { (yyval.list) = list_make1(makeString("~~*")); ;} + case 2323: +#line 16821 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2201: -#line 15933 "gram.y" - { (yyval.list) = list_make1(makeString("!~~*")); ;} + case 2324: +#line 16822 "gram.y" + { (yyval.node) = NULL; ;} break; - case 2202: -#line 15945 "gram.y" + case 2325: +#line 16826 "gram.y" { - (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); + (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner); ;} break; - case 2203: -#line 15949 "gram.y" + case 2326: +#line 16830 "gram.y" { - (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); + (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); ;} break; - case 2204: -#line 15956 "gram.y" + case 2327: +#line 16837 "gram.y" { - (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); + (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str)); ;} break; - case 2205: -#line 15960 "gram.y" + case 2328: +#line 16841 "gram.y" { - (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); + (yyval.node) = (Node *) makeNode(A_Star); ;} break; - case 2206: -#line 15966 "gram.y" + case 2329: +#line 16845 "gram.y" { - (yyval.node) = (yyvsp[(1) - (1)].node); + A_Indices *ai = makeNode(A_Indices); + + ai->is_slice = false; + ai->lidx = NULL; + ai->uidx = (yyvsp[(2) - (3)].node); + (yyval.node) = (Node *) ai; ;} break; - case 2207: -#line 15970 "gram.y" + case 2330: +#line 16854 "gram.y" { - NamedArgExpr *na = makeNode(NamedArgExpr); + A_Indices *ai = makeNode(A_Indices); - na->name = (yyvsp[(1) - (3)].str); - na->arg = (Expr *) (yyvsp[(3) - (3)].node); - na->argnumber = -1; /* until determined */ - na->location = (yylsp[(1) - (3)]); - (yyval.node) = (Node *) na; + ai->is_slice = true; + ai->lidx = (yyvsp[(2) - (5)].node); + ai->uidx = (yyvsp[(4) - (5)].node); + (yyval.node) = (Node *) ai; ;} break; - case 2208: -#line 15980 "gram.y" - { - NamedArgExpr *na = makeNode(NamedArgExpr); - - na->name = (yyvsp[(1) - (3)].str); - na->arg = (Expr *) (yyvsp[(3) - (3)].node); - na->argnumber = -1; /* until determined */ - na->location = (yylsp[(1) - (3)]); - (yyval.node) = (Node *) na; - ;} + case 2331: +#line 16865 "gram.y" + { (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2209: -#line 15991 "gram.y" - { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + case 2332: +#line 16866 "gram.y" + { (yyval.node) = NULL; ;} break; - case 2210: -#line 15992 "gram.y" - { (yyval.list) = NIL; ;} + case 2333: +#line 16870 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2211: -#line 15995 "gram.y" - { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;} + case 2334: +#line 16871 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 2212: -#line 15996 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;} + case 2335: +#line 16875 "gram.y" + { (yyval.list) = NIL; ;} break; - case 2213: -#line 16000 "gram.y" - { - (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); - ;} + case 2336: +#line 16876 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} break; - case 2214: -#line 16004 "gram.y" - { - (yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)])); - ;} + case 2339: +#line 16885 "gram.y" + { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; - case 2215: -#line 16008 "gram.y" - { - (yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)])); - ;} + case 2340: +#line 16886 "gram.y" + { (yyval.list) = NIL; ;} break; - case 2216: -#line 16013 "gram.y" + case 2341: +#line 16890 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2217: -#line 16014 "gram.y" + case 2342: +#line 16891 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2218: -#line 16020 "gram.y" + case 2343: +#line 16896 "gram.y" { - (yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); - ;} + JsonArgument *n = makeNode(JsonArgument); + + n->val = (JsonValueExpr *) (yyvsp[(1) - (3)].node); + n->name = (yyvsp[(3) - (3)].str); + (yyval.node) = (Node *) n; + ;} break; - case 2219: -#line 16024 "gram.y" - { - (yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node)); - ;} + case 2344: +#line 16907 "gram.y" + { (yyval.ival) = JSW_NONE; ;} break; - case 2220: -#line 16033 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + case 2345: +#line 16908 "gram.y" + { (yyval.ival) = JSW_NONE; ;} break; - case 2221: -#line 16034 "gram.y" - { (yyval.str) = "year"; ;} + case 2346: +#line 16909 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} break; - case 2222: -#line 16035 "gram.y" - { (yyval.str) = "month"; ;} + case 2347: +#line 16910 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} break; - case 2223: -#line 16036 "gram.y" - { (yyval.str) = "day"; ;} + case 2348: +#line 16911 "gram.y" + { (yyval.ival) = JSW_CONDITIONAL; ;} break; - case 2224: -#line 16037 "gram.y" - { (yyval.str) = "hour"; ;} + case 2349: +#line 16912 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} break; - case 2225: -#line 16038 "gram.y" - { (yyval.str) = "minute"; ;} + case 2350: +#line 16913 "gram.y" + { (yyval.ival) = JSW_CONDITIONAL; ;} break; - case 2226: -#line 16039 "gram.y" - { (yyval.str) = "second"; ;} + case 2351: +#line 16914 "gram.y" + { (yyval.ival) = JSW_UNCONDITIONAL; ;} break; - case 2227: -#line 16040 "gram.y" - { (yyval.str) = (yyvsp[(1) - (1)].str); ;} + case 2352: +#line 16915 "gram.y" + { (yyval.ival) = JSW_UNSPEC; ;} break; - case 2228: -#line 16044 "gram.y" - { (yyval.str) = "NFC"; ;} + case 2353: +#line 16920 "gram.y" + { (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;} break; - case 2229: -#line 16045 "gram.y" - { (yyval.str) = "NFD"; ;} + case 2354: +#line 16922 "gram.y" + { (yyval.node) = (Node *) makeJsonBehavior((yyvsp[(1) - (1)].ival), NULL, (yylsp[(1) - (1)])); ;} break; - case 2230: -#line 16046 "gram.y" - { (yyval.str) = "NFKC"; ;} + case 2355: +#line 16926 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_ERROR; ;} break; - case 2231: -#line 16047 "gram.y" - { (yyval.str) = "NFKD"; ;} + case 2356: +#line 16927 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_NULL; ;} break; - case 2232: -#line 16053 "gram.y" - { - /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */ - (yyval.list) = list_make4((yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); - ;} + case 2357: +#line 16928 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_TRUE; ;} break; - case 2233: -#line 16058 "gram.y" - { - /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */ - (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); - ;} + case 2358: +#line 16929 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_FALSE; ;} break; - case 2234: -#line 16066 "gram.y" - { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;} + case 2359: +#line 16930 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; ;} break; - case 2235: -#line 16088 "gram.y" + case 2360: +#line 16931 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;} + break; + + case 2361: +#line 16932 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; ;} + break; + + case 2362: +#line 16934 "gram.y" + { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;} + break; + + case 2363: +#line 16939 "gram.y" + { (yyval.list) = list_make2((yyvsp[(1) - (3)].node), NULL); ;} + break; + + case 2364: +#line 16941 "gram.y" + { (yyval.list) = list_make2(NULL, (yyvsp[(1) - (3)].node)); ;} + break; + + case 2365: +#line 16943 "gram.y" + { (yyval.list) = list_make2((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node)); ;} + break; + + case 2366: +#line 16945 "gram.y" + { (yyval.list) = list_make2(NULL, NULL); ;} + break; + + case 2367: +#line 16950 "gram.y" + { (yyval.node) = (yyvsp[(1) - (3)].node); ;} + break; + + case 2368: +#line 16952 "gram.y" + { (yyval.node) = NULL; ;} + break; + + case 2369: +#line 16957 "gram.y" { - (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); - ;} + /* formatted_expr will be set during parse-analysis. */ + (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[(1) - (2)].node), NULL, + castNode(JsonFormat, (yyvsp[(2) - (2)].node))); + ;} break; - case 2236: -#line 16092 "gram.y" + case 2370: +#line 16966 "gram.y" { - /* not legal per SQL, but might as well allow it */ - (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node)); + int encoding; + + if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf8")) + encoding = JS_ENC_UTF8; + else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf16")) + encoding = JS_ENC_UTF16; + else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf32")) + encoding = JS_ENC_UTF32; + else + ereport(ERROR, + errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("unrecognized JSON encoding: %s", (yyvsp[(4) - (4)].str))); + + (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[(1) - (4)])); ;} break; - case 2237: -#line 16097 "gram.y" + case 2371: +#line 16983 "gram.y" { - /* - * Because we aren't restricting data types here, this - * syntax can end up resolving to textregexsubstr(). - * We've historically allowed that to happen, so continue - * to accept it. However, ruleutils.c will reverse-list - * such a call in regular function call syntax. - */ - (yyval.list) = list_make2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); + (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[(1) - (2)])); ;} break; - case 2238: -#line 16108 "gram.y" + case 2372: +#line 16990 "gram.y" { - /* not legal per SQL */ - - /* - * Since there are no cases where this syntax allows - * a textual FOR value, we forcibly cast the argument - * to int4. The possible matches in pg_proc are - * substring(text,int4) and substring(text,text), - * and we don't want the parser to choose the latter, - * which it is likely to do if the second argument - * is unknown or doesn't have an implicit cast to int4. - */ - (yyval.list) = list_make3((yyvsp[(1) - (3)].node), makeIntConst(1, -1), - makeTypeCast((yyvsp[(3) - (3)].node), - SystemTypeName("int4"), -1)); + (yyval.node) = (yyvsp[(1) - (1)].node); ;} break; - case 2239: -#line 16125 "gram.y" + case 2373: +#line 16994 "gram.y" { - (yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)); + (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1); ;} break; - case 2240: -#line 16130 "gram.y" - { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;} + case 2374: +#line 17000 "gram.y" + { (yyval.ival) = JS_QUOTES_KEEP; ;} break; - case 2241: -#line 16131 "gram.y" - { (yyval.list) = (yyvsp[(2) - (2)].list); ;} + case 2375: +#line 17001 "gram.y" + { (yyval.ival) = JS_QUOTES_KEEP; ;} break; - case 2242: -#line 16132 "gram.y" - { (yyval.list) = (yyvsp[(1) - (1)].list); ;} + case 2376: +#line 17002 "gram.y" + { (yyval.ival) = JS_QUOTES_OMIT; ;} break; - case 2243: -#line 16136 "gram.y" + case 2377: +#line 17003 "gram.y" + { (yyval.ival) = JS_QUOTES_OMIT; ;} + break; + + case 2378: +#line 17004 "gram.y" + { (yyval.ival) = JS_QUOTES_UNSPEC; ;} + break; + + case 2379: +#line 17009 "gram.y" { - SubLink *n = makeNode(SubLink); + JsonOutput *n = makeNode(JsonOutput); - n->subselect = (yyvsp[(1) - (1)].node); - /* other fields will be filled later */ + n->typeName = (yyvsp[(2) - (3)].typnam); + n->returning = makeNode(JsonReturning); + n->returning->format = (JsonFormat *) (yyvsp[(3) - (3)].node); (yyval.node) = (Node *) n; ;} break; - case 2244: -#line 16143 "gram.y" - { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;} + case 2380: +#line 17017 "gram.y" + { (yyval.node) = NULL; ;} break; - case 2245: -#line 16154 "gram.y" - { - CaseExpr *c = makeNode(CaseExpr); + case 2381: +#line 17031 "gram.y" + { (yyval.ival) = JS_TYPE_ANY; ;} + break; - c->casetype = InvalidOid; /* not analyzed yet */ - c->arg = (Expr *) (yyvsp[(2) - (5)].node); - c->args = (yyvsp[(3) - (5)].list); - c->defresult = (Expr *) (yyvsp[(4) - (5)].node); - c->location = (yylsp[(1) - (5)]); - (yyval.node) = (Node *) c; - ;} + case 2382: +#line 17032 "gram.y" + { (yyval.ival) = JS_TYPE_ANY; ;} break; - case 2246: -#line 16168 "gram.y" - { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} + case 2383: +#line 17033 "gram.y" + { (yyval.ival) = JS_TYPE_ARRAY; ;} break; - case 2247: -#line 16169 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + case 2384: +#line 17034 "gram.y" + { (yyval.ival) = JS_TYPE_OBJECT; ;} break; - case 2248: -#line 16174 "gram.y" - { - CaseWhen *w = makeNode(CaseWhen); + case 2385: +#line 17035 "gram.y" + { (yyval.ival) = JS_TYPE_SCALAR; ;} + break; - w->expr = (Expr *) (yyvsp[(2) - (4)].node); - w->result = (Expr *) (yyvsp[(4) - (4)].node); - w->location = (yylsp[(1) - (4)]); - (yyval.node) = (Node *) w; - ;} + case 2386: +#line 17044 "gram.y" + { (yyval.boolean) = true; ;} break; - case 2249: -#line 16185 "gram.y" - { (yyval.node) = (yyvsp[(2) - (2)].node); ;} + case 2387: +#line 17045 "gram.y" + { (yyval.boolean) = true; ;} break; - case 2250: -#line 16186 "gram.y" - { (yyval.node) = NULL; ;} + case 2388: +#line 17046 "gram.y" + { (yyval.boolean) = false; ;} break; - case 2251: -#line 16189 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2389: +#line 17047 "gram.y" + { (yyval.boolean) = false; ;} break; - case 2252: -#line 16190 "gram.y" - { (yyval.node) = NULL; ;} + case 2390: +#line 17048 "gram.y" + { (yyval.boolean) = false; ;} break; - case 2253: -#line 16194 "gram.y" - { - (yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner); - ;} + case 2391: +#line 17053 "gram.y" + { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2254: -#line 16198 "gram.y" - { - (yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); - ;} + case 2392: +#line 17055 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;} break; - case 2255: -#line 16205 "gram.y" - { - (yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str)); - ;} + case 2393: +#line 17065 "gram.y" + { (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; - case 2256: -#line 16209 "gram.y" - { - (yyval.node) = (Node *) makeNode(A_Star); - ;} + case 2394: +#line 17068 "gram.y" + { (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;} break; - case 2257: -#line 16213 "gram.y" - { - A_Indices *ai = makeNode(A_Indices); + case 2395: +#line 17073 "gram.y" + { (yyval.boolean) = false; ;} + break; - ai->is_slice = false; - ai->lidx = NULL; - ai->uidx = (yyvsp[(2) - (3)].node); - (yyval.node) = (Node *) ai; - ;} + case 2396: +#line 17074 "gram.y" + { (yyval.boolean) = true; ;} break; - case 2258: -#line 16222 "gram.y" - { - A_Indices *ai = makeNode(A_Indices); + case 2397: +#line 17075 "gram.y" + { (yyval.boolean) = false; ;} + break; - ai->is_slice = true; - ai->lidx = (yyvsp[(2) - (5)].node); - ai->uidx = (yyvsp[(4) - (5)].node); - (yyval.node) = (Node *) ai; - ;} + case 2398: +#line 17079 "gram.y" + { (yyval.boolean) = false; ;} break; - case 2259: -#line 16233 "gram.y" - { (yyval.node) = (yyvsp[(1) - (1)].node); ;} + case 2399: +#line 17080 "gram.y" + { (yyval.boolean) = true; ;} break; - case 2260: -#line 16234 "gram.y" - { (yyval.node) = NULL; ;} + case 2400: +#line 17081 "gram.y" + { (yyval.boolean) = true; ;} break; - case 2261: -#line 16238 "gram.y" + case 2401: +#line 17085 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;} break; - case 2262: -#line 16239 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + case 2402: +#line 17086 "gram.y" + { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));;} break; - case 2263: -#line 16243 "gram.y" - { (yyval.list) = NIL; ;} + case 2403: +#line 17096 "gram.y" + { + JsonObjectAgg *n = makeNode(JsonObjectAgg); + + n->arg = (JsonKeyValue *) (yyvsp[(3) - (7)].node); + n->absent_on_null = (yyvsp[(4) - (7)].boolean); + n->unique = (yyvsp[(5) - (7)].boolean); + n->constructor = makeNode(JsonAggConstructor); + n->constructor->output = (JsonOutput *) (yyvsp[(6) - (7)].node); + n->constructor->agg_order = NULL; + n->constructor->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} break; - case 2264: -#line 16244 "gram.y" - { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;} + case 2404: +#line 17114 "gram.y" + { + JsonArrayAgg *n = makeNode(JsonArrayAgg); + + n->arg = (JsonValueExpr *) (yyvsp[(3) - (7)].node); + n->absent_on_null = (yyvsp[(5) - (7)].boolean); + n->constructor = makeNode(JsonAggConstructor); + n->constructor->agg_order = (yyvsp[(4) - (7)].list); + n->constructor->output = (JsonOutput *) (yyvsp[(6) - (7)].node); + n->constructor->location = (yylsp[(1) - (7)]); + (yyval.node) = (Node *) n; + ;} break; - case 2267: -#line 16258 "gram.y" + case 2405: +#line 17128 "gram.y" + { (yyval.list) = (yyvsp[(3) - (3)].list); ;} + break; + + case 2406: +#line 17129 "gram.y" + { (yyval.list) = NIL; ;} + break; + + case 2407: +#line 17138 "gram.y" { (yyval.list) = (yyvsp[(1) - (1)].list); ;} break; - case 2268: -#line 16259 "gram.y" + case 2408: +#line 17139 "gram.y" { (yyval.list) = NIL; ;} break; - case 2269: -#line 16263 "gram.y" + case 2409: +#line 17143 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;} break; - case 2270: -#line 16264 "gram.y" + case 2410: +#line 17144 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;} break; - case 2271: -#line 16268 "gram.y" + case 2411: +#line 17148 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(3) - (3)].str); @@ -48276,8 +52030,8 @@ YYLTYPE yylloc; ;} break; - case 2272: -#line 16276 "gram.y" + case 2412: +#line 17156 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = (yyvsp[(2) - (2)].str); @@ -48287,8 +52041,8 @@ YYLTYPE yylloc; ;} break; - case 2273: -#line 16284 "gram.y" + case 2413: +#line 17164 "gram.y" { (yyval.target) = makeNode(ResTarget); (yyval.target)->name = NULL; @@ -48298,8 +52052,8 @@ YYLTYPE yylloc; ;} break; - case 2274: -#line 16292 "gram.y" + case 2414: +#line 17172 "gram.y" { ColumnRef *n = makeNode(ColumnRef); @@ -48314,98 +52068,98 @@ YYLTYPE yylloc; ;} break; - case 2275: -#line 16314 "gram.y" + case 2415: +#line 17194 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;} break; - case 2276: -#line 16315 "gram.y" + case 2416: +#line 17195 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;} break; - case 2277: -#line 16327 "gram.y" + case 2417: +#line 17207 "gram.y" { (yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2278: -#line 16331 "gram.y" + case 2418: +#line 17211 "gram.y" { (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner); ;} break; - case 2279: -#line 16337 "gram.y" + case 2419: +#line 17217 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2280: -#line 16339 "gram.y" + case 2420: +#line 17219 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;} break; - case 2281: -#line 16343 "gram.y" + case 2421: +#line 17223 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2282: -#line 16345 "gram.y" + case 2422: +#line 17225 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2283: -#line 16347 "gram.y" + case 2423: +#line 17227 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2284: -#line 16358 "gram.y" + case 2424: +#line 17238 "gram.y" { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;} break; - case 2285: -#line 16360 "gram.y" + case 2425: +#line 17240 "gram.y" { (yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)), yyscanner); ;} break; - case 2286: -#line 16371 "gram.y" + case 2426: +#line 17251 "gram.y" { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;} break; - case 2287: -#line 16375 "gram.y" + case 2427: +#line 17255 "gram.y" { (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2288: -#line 16379 "gram.y" + case 2428: +#line 17259 "gram.y" { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2289: -#line 16383 "gram.y" + case 2429: +#line 17263 "gram.y" { (yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;} break; - case 2290: -#line 16387 "gram.y" + case 2430: +#line 17267 "gram.y" { /* This is a bit constant per SQL99: * Without Feature F511, "BIT data type", @@ -48416,8 +52170,8 @@ YYLTYPE yylloc; ;} break; - case 2291: -#line 16396 "gram.y" + case 2431: +#line 17276 "gram.y" { /* generic type 'literal' syntax */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list)); @@ -48427,8 +52181,8 @@ YYLTYPE yylloc; ;} break; - case 2292: -#line 16404 "gram.y" + case 2432: +#line 17284 "gram.y" { /* generic syntax with a type modifier */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list)); @@ -48462,8 +52216,8 @@ YYLTYPE yylloc; ;} break; - case 2293: -#line 16436 "gram.y" + case 2433: +#line 17316 "gram.y" { /* generic type 'literal' syntax */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list)); @@ -48472,8 +52226,8 @@ YYLTYPE yylloc; ;} break; - case 2294: -#line 16443 "gram.y" + case 2434: +#line 17323 "gram.y" { /* generic syntax with a type modifier */ TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list)); @@ -48507,15 +52261,15 @@ YYLTYPE yylloc; ;} break; - case 2295: -#line 16475 "gram.y" + case 2435: +#line 17355 "gram.y" { (yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam)); ;} break; - case 2296: -#line 16479 "gram.y" + case 2436: +#line 17359 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); @@ -48524,8 +52278,8 @@ YYLTYPE yylloc; ;} break; - case 2297: -#line 16486 "gram.y" + case 2437: +#line 17366 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); @@ -48535,15 +52289,15 @@ YYLTYPE yylloc; ;} break; - case 2298: -#line 16494 "gram.y" + case 2438: +#line 17374 "gram.y" { (yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam)); ;} break; - case 2299: -#line 16498 "gram.y" + case 2439: +#line 17378 "gram.y" { TypeName *t = (yyvsp[(1) - (3)].typnam); t->typmods = (yyvsp[(3) - (3)].list); @@ -48551,8 +52305,8 @@ YYLTYPE yylloc; ;} break; - case 2300: -#line 16504 "gram.y" + case 2440: +#line 17384 "gram.y" { TypeName *t = (yyvsp[(1) - (5)].typnam); t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1), @@ -48561,54 +52315,54 @@ YYLTYPE yylloc; ;} break; - case 2301: -#line 16511 "gram.y" + case 2441: +#line 17391 "gram.y" { (yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)])); ;} break; - case 2302: -#line 16515 "gram.y" + case 2442: +#line 17395 "gram.y" { (yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)])); ;} break; - case 2303: -#line 16519 "gram.y" + case 2443: +#line 17399 "gram.y" { (yyval.node) = makeNullAConst((yylsp[(1) - (1)])); ;} break; - case 2304: -#line 16524 "gram.y" + case 2444: +#line 17404 "gram.y" { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;} break; - case 2305: -#line 16525 "gram.y" + case 2445: +#line 17405 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2306: -#line 16527 "gram.y" + case 2446: +#line 17407 "gram.y" { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;} break; - case 2307: -#line 16528 "gram.y" + case 2447: +#line 17408 "gram.y" { (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;} break; - case 2308: -#line 16529 "gram.y" + case 2448: +#line 17409 "gram.y" { (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;} break; - case 2309: -#line 16534 "gram.y" + case 2449: +#line 17414 "gram.y" { RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].rolespec); @@ -48649,8 +52403,8 @@ YYLTYPE yylloc; ;} break; - case 2310: -#line 16575 "gram.y" + case 2450: +#line 17455 "gram.y" { /* * "public" and "none" are not keywords, but they must @@ -48680,39 +52434,39 @@ YYLTYPE yylloc; ;} break; - case 2311: -#line 16603 "gram.y" + case 2451: +#line 17483 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[(1) - (1)])); ;} break; - case 2312: -#line 16607 "gram.y" + case 2452: +#line 17487 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;} break; - case 2313: -#line 16611 "gram.y" + case 2453: +#line 17491 "gram.y" { (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)])); ;} break; - case 2314: -#line 16617 "gram.y" + case 2454: +#line 17497 "gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;} break; - case 2315: -#line 16619 "gram.y" + case 2455: +#line 17499 "gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;} break; - case 2316: -#line 16636 "gram.y" + case 2456: +#line 17516 "gram.y" { SelectStmt *n = makeNode(SelectStmt); @@ -48741,8 +52495,8 @@ YYLTYPE yylloc; ;} break; - case 2317: -#line 16669 "gram.y" + case 2457: +#line 17549 "gram.y" { PLAssignStmt *n = makeNode(PLAssignStmt); @@ -48755,104 +52509,104 @@ YYLTYPE yylloc; ;} break; - case 2318: -#line 16681 "gram.y" + case 2458: +#line 17561 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2319: -#line 16682 "gram.y" + case 2459: +#line 17562 "gram.y" { (yyval.str) = psprintf("$%d", (yyvsp[(1) - (1)].ival)); ;} break; - case 2322: -#line 16703 "gram.y" + case 2462: +#line 17583 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2323: -#line 16704 "gram.y" + case 2463: +#line 17584 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2324: -#line 16705 "gram.y" + case 2464: +#line 17585 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2325: -#line 16710 "gram.y" + case 2465: +#line 17590 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2326: -#line 16711 "gram.y" + case 2466: +#line 17591 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2327: -#line 16712 "gram.y" + case 2467: +#line 17592 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2328: -#line 16717 "gram.y" + case 2468: +#line 17597 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2329: -#line 16718 "gram.y" + case 2469: +#line 17598 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2330: -#line 16719 "gram.y" + case 2470: +#line 17599 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2331: -#line 16720 "gram.y" + case 2471: +#line 17600 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2332: -#line 16726 "gram.y" + case 2472: +#line 17606 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2333: -#line 16727 "gram.y" + case 2473: +#line 17607 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2334: -#line 16728 "gram.y" + case 2474: +#line 17608 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2335: -#line 16729 "gram.y" + case 2475: +#line 17609 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2336: -#line 16730 "gram.y" + case 2476: +#line 17610 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; - case 2337: -#line 16736 "gram.y" + case 2477: +#line 17616 "gram.y" { (yyval.str) = (yyvsp[(1) - (1)].str); ;} break; - case 2338: -#line 16737 "gram.y" + case 2478: +#line 17617 "gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; /* Line 1267 of yacc.c. */ -#line 48796 "gram.c" +#line 52550 "gram.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -49072,7 +52826,7 @@ YYLTYPE yylloc; } -#line 17687 "gram.y" +#line 18629 "gram.y" /* @@ -49176,18 +52930,6 @@ makeTypeCast(Node *arg, TypeName *typename, int location) return (Node *) n; } -static Node * -makeStringConst(char *str, int location) -{ - A_Const *n = makeNode(A_Const); - - n->val.sval.type = T_String; - n->val.sval.sval = str; - n->location = location; - - return (Node *) n; -} - static Node * makeStringConstCast(char *str, int location, TypeName *typename) { @@ -49486,7 +53228,7 @@ insertSelectOptions(SelectStmt *stmt, parser_errposition(exprLocation(limitClause->limitCount)))); stmt->limitCount = limitClause->limitCount; } - if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT) + if (limitClause) { if (stmt->limitOption) ereport(ERROR, @@ -49927,6 +53669,28 @@ processCASbits(int cas_bits, int location, const char *constrType, } } +/* + * Parse a user-supplied partition strategy string into parse node + * PartitionStrategy representation, or die trying. + */ +static PartitionStrategy +parsePartitionStrategy(char *strategy) +{ + if (pg_strcasecmp(strategy, "list") == 0) + return PARTITION_STRATEGY_LIST; + else if (pg_strcasecmp(strategy, "range") == 0) + return PARTITION_STRATEGY_RANGE; + else if (pg_strcasecmp(strategy, "hash") == 0) + return PARTITION_STRATEGY_HASH; + + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("unrecognized partitioning strategy \"%s\"", + strategy))); + return PARTITION_STRATEGY_LIST; /* keep compiler quiet */ + +} + /* * Process pubobjspec_list to check for errors in any of the objects and * convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType. @@ -49962,7 +53726,7 @@ preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner) if (!pubobj->name && !pubobj->pubtable) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid table name at or near"), + errmsg("invalid table name"), parser_errposition(pubobj->location)); if (pubobj->name) @@ -50004,7 +53768,7 @@ preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner) else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid schema name at or near"), + errmsg("invalid schema name"), parser_errposition(pubobj->location)); } diff --git a/parser/src_backend_parser_parser.c b/parser/src_backend_parser_parser.c index 304d1d42..6e8e9d98 100644 --- a/parser/src_backend_parser_parser.c +++ b/parser/src_backend_parser_parser.c @@ -22,7 +22,7 @@ * analyze.c and related files. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -33,8 +33,8 @@ #include "postgres.h" +#include "gramparse.h" #include "mb/pg_wchar.h" -#include "parser/gramparse.h" #include "parser/parser.h" #include "parser/scansup.h" @@ -68,12 +68,12 @@ raw_parser(const char *str, RawParseMode mode) { /* this array is indexed by RawParseMode enum */ static const int mode_token[] = { - 0, /* RAW_PARSE_DEFAULT */ - MODE_TYPE_NAME, /* RAW_PARSE_TYPE_NAME */ - MODE_PLPGSQL_EXPR, /* RAW_PARSE_PLPGSQL_EXPR */ - MODE_PLPGSQL_ASSIGN1, /* RAW_PARSE_PLPGSQL_ASSIGN1 */ - MODE_PLPGSQL_ASSIGN2, /* RAW_PARSE_PLPGSQL_ASSIGN2 */ - MODE_PLPGSQL_ASSIGN3 /* RAW_PARSE_PLPGSQL_ASSIGN3 */ + [RAW_PARSE_DEFAULT] = 0, + [RAW_PARSE_TYPE_NAME] = MODE_TYPE_NAME, + [RAW_PARSE_PLPGSQL_EXPR] = MODE_PLPGSQL_EXPR, + [RAW_PARSE_PLPGSQL_ASSIGN1] = MODE_PLPGSQL_ASSIGN1, + [RAW_PARSE_PLPGSQL_ASSIGN2] = MODE_PLPGSQL_ASSIGN2, + [RAW_PARSE_PLPGSQL_ASSIGN3] = MODE_PLPGSQL_ASSIGN3, }; yyextra.have_lookahead = true; @@ -149,6 +149,9 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) */ switch (cur_token) { + case FORMAT: + cur_token_length = 6; + break; case NOT: cur_token_length = 3; break; @@ -162,6 +165,9 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) case USCONST: cur_token_length = strlen(yyextra->core_yy_extra.scanbuf + *llocp); break; + case WITHOUT: + cur_token_length = 7; + break; case SQL_COMMENT: case C_COMMENT: return base_yylex(lvalp, llocp, yyscanner); @@ -203,6 +209,16 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) /* Replace cur_token if needed, based on lookahead */ switch (cur_token) { + case FORMAT: + /* Replace FORMAT by FORMAT_LA if it's followed by JSON */ + switch (next_token) + { + case JSON: + cur_token = FORMAT_LA; + break; + } + break; + case NOT: /* Replace NOT by NOT_LA if it's followed by BETWEEN, IN, etc */ switch (next_token) @@ -239,6 +255,16 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) } break; + case WITHOUT: + /* Replace WITHOUT by WITHOUT_LA if it's followed by TIME */ + switch (next_token) + { + case TIME: + cur_token = WITHOUT_LA; + break; + } + break; + case UIDENT: case USCONST: /* Look ahead for UESCAPE */ diff --git a/parser/src_backend_parser_scan.c b/parser/src_backend_parser_scan.c index d7b84243..4777635d 100644 --- a/parser/src_backend_parser_scan.c +++ b/parser/src_backend_parser_scan.c @@ -67,7 +67,7 @@ * Postgres 9.2, this check is made automatically by the Makefile.) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -81,13 +81,15 @@ #include #include "common/string.h" -#include "parser/gramparse.h" +#include "gramparse.h" +#include "nodes/miscnodes.h" #include "parser/parser.h" /* only needed for GUC variables */ #include "parser/scansup.h" #include "port/pg_bitutils.h" #include "mb/pg_wchar.h" +#include "utils/builtins.h" -#line 45 "scan.c" +#line 47 "scan.c" #define YY_INT_ALIGNED short int @@ -661,18 +663,18 @@ static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner ); yyg->yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yyg->yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 65 -#define YY_END_OF_BUFFER 66 +#define YY_NUM_RULES 73 +#define YY_END_OF_BUFFER 74 struct yy_trans_info { - flex_int16_t yy_verify; - flex_int16_t yy_nxt; + flex_int32_t yy_verify; + flex_int32_t yy_nxt; }; -static const struct yy_trans_info yy_transition[17678] = +static const struct yy_trans_info yy_transition[33677] = { - { 0, 0 }, { 0,17422 }, { 0, 0 }, { 0,17420 }, { 1,6192 }, + { 0, 0 }, { 0,33421 }, { 0, 0 }, { 0,33419 }, { 1,6192 }, { 2,6192 }, { 3,6192 }, { 4,6192 }, { 5,6192 }, { 6,6192 }, - { 7,6192 }, { 8,6192 }, { 9,6194 }, { 10,6199 }, { 11,6192 }, + { 7,6192 }, { 8,6192 }, { 9,6194 }, { 10,6199 }, { 11,6194 }, { 12,6194 }, { 13,6194 }, { 14,6192 }, { 15,6192 }, { 16,6192 }, { 17,6192 }, { 18,6192 }, { 19,6192 }, { 20,6192 }, { 21,6192 }, { 22,6192 }, { 23,6192 }, { 24,6192 }, { 25,6192 }, { 26,6192 }, @@ -681,55 +683,55 @@ static const struct yy_trans_info yy_transition[17678] = { 37,6564 }, { 38,6241 }, { 39,6214 }, { 40,6216 }, { 41,6216 }, { 42,6564 }, { 43,6564 }, { 44,6216 }, { 45,6575 }, { 46,6594 }, - { 47,6665 }, { 48,6667 }, { 49,6667 }, { 50,6667 }, { 51,6667 }, - { 52,6667 }, { 53,6667 }, { 54,6667 }, { 55,6667 }, { 56,6667 }, - { 57,6667 }, { 58,6219 }, { 59,6216 }, { 60,6732 }, { 61,6743 }, - { 62,6810 }, { 63,6241 }, { 64,6241 }, { 65,6842 }, { 66,7099 }, - { 67,6842 }, { 68,6842 }, { 69,7356 }, { 70,6842 }, { 71,6842 }, - { 72,6842 }, { 73,6842 }, { 74,6842 }, { 75,6842 }, { 76,6842 }, - { 77,6842 }, { 78,7613 }, { 79,6842 }, { 80,6842 }, { 81,6842 }, - { 82,6842 }, { 83,6842 }, { 84,6842 }, { 85,7870 }, { 86,6842 }, - { 87,6842 }, { 88,8127 }, { 89,6842 }, { 90,6842 }, { 91,6216 }, - { 92,6192 }, { 93,6216 }, { 94,6564 }, { 95,6842 }, { 96,6241 }, - - { 97,6842 }, { 98,7099 }, { 99,6842 }, { 100,6842 }, { 101,7356 }, - { 102,6842 }, { 103,6842 }, { 104,6842 }, { 105,6842 }, { 106,6842 }, - { 107,6842 }, { 108,6842 }, { 109,6842 }, { 110,7613 }, { 111,6842 }, - { 112,6842 }, { 113,6842 }, { 114,6842 }, { 115,6842 }, { 116,6842 }, - { 117,7870 }, { 118,6842 }, { 119,6842 }, { 120,8127 }, { 121,6842 }, - { 122,6842 }, { 123,6192 }, { 124,6241 }, { 125,6192 }, { 126,6241 }, - { 127,6192 }, { 128,6842 }, { 129,6842 }, { 130,6842 }, { 131,6842 }, - { 132,6842 }, { 133,6842 }, { 134,6842 }, { 135,6842 }, { 136,6842 }, - { 137,6842 }, { 138,6842 }, { 139,6842 }, { 140,6842 }, { 141,6842 }, - { 142,6842 }, { 143,6842 }, { 144,6842 }, { 145,6842 }, { 146,6842 }, - - { 147,6842 }, { 148,6842 }, { 149,6842 }, { 150,6842 }, { 151,6842 }, - { 152,6842 }, { 153,6842 }, { 154,6842 }, { 155,6842 }, { 156,6842 }, - { 157,6842 }, { 158,6842 }, { 159,6842 }, { 160,6842 }, { 161,6842 }, - { 162,6842 }, { 163,6842 }, { 164,6842 }, { 165,6842 }, { 166,6842 }, - { 167,6842 }, { 168,6842 }, { 169,6842 }, { 170,6842 }, { 171,6842 }, - { 172,6842 }, { 173,6842 }, { 174,6842 }, { 175,6842 }, { 176,6842 }, - { 177,6842 }, { 178,6842 }, { 179,6842 }, { 180,6842 }, { 181,6842 }, - { 182,6842 }, { 183,6842 }, { 184,6842 }, { 185,6842 }, { 186,6842 }, - { 187,6842 }, { 188,6842 }, { 189,6842 }, { 190,6842 }, { 191,6842 }, - { 192,6842 }, { 193,6842 }, { 194,6842 }, { 195,6842 }, { 196,6842 }, - - { 197,6842 }, { 198,6842 }, { 199,6842 }, { 200,6842 }, { 201,6842 }, - { 202,6842 }, { 203,6842 }, { 204,6842 }, { 205,6842 }, { 206,6842 }, - { 207,6842 }, { 208,6842 }, { 209,6842 }, { 210,6842 }, { 211,6842 }, - { 212,6842 }, { 213,6842 }, { 214,6842 }, { 215,6842 }, { 216,6842 }, - { 217,6842 }, { 218,6842 }, { 219,6842 }, { 220,6842 }, { 221,6842 }, - { 222,6842 }, { 223,6842 }, { 224,6842 }, { 225,6842 }, { 226,6842 }, - { 227,6842 }, { 228,6842 }, { 229,6842 }, { 230,6842 }, { 231,6842 }, - { 232,6842 }, { 233,6842 }, { 234,6842 }, { 235,6842 }, { 236,6842 }, - { 237,6842 }, { 238,6842 }, { 239,6842 }, { 240,6842 }, { 241,6842 }, - { 242,6842 }, { 243,6842 }, { 244,6842 }, { 245,6842 }, { 246,6842 }, - - { 247,6842 }, { 248,6842 }, { 249,6842 }, { 250,6842 }, { 251,6842 }, - { 252,6842 }, { 253,6842 }, { 254,6842 }, { 255,6842 }, { 256,6192 }, - { 0, 0 }, { 0,17162 }, { 1,5934 }, { 2,5934 }, { 3,5934 }, + { 47,6665 }, { 48,6697 }, { 49,6954 }, { 50,6954 }, { 51,6954 }, + { 52,6954 }, { 53,6954 }, { 54,6954 }, { 55,6954 }, { 56,6954 }, + { 57,6954 }, { 58,6219 }, { 59,6216 }, { 60,7211 }, { 61,7222 }, + { 62,7289 }, { 63,6241 }, { 64,6241 }, { 65,7321 }, { 66,7578 }, + { 67,7321 }, { 68,7321 }, { 69,7835 }, { 70,7321 }, { 71,7321 }, + { 72,7321 }, { 73,7321 }, { 74,7321 }, { 75,7321 }, { 76,7321 }, + { 77,7321 }, { 78,8092 }, { 79,7321 }, { 80,7321 }, { 81,7321 }, + { 82,7321 }, { 83,7321 }, { 84,7321 }, { 85,8349 }, { 86,7321 }, + { 87,7321 }, { 88,8606 }, { 89,7321 }, { 90,7321 }, { 91,6216 }, + { 92,6192 }, { 93,6216 }, { 94,6564 }, { 95,7321 }, { 96,6241 }, + + { 97,7321 }, { 98,7578 }, { 99,7321 }, { 100,7321 }, { 101,7835 }, + { 102,7321 }, { 103,7321 }, { 104,7321 }, { 105,7321 }, { 106,7321 }, + { 107,7321 }, { 108,7321 }, { 109,7321 }, { 110,8092 }, { 111,7321 }, + { 112,7321 }, { 113,7321 }, { 114,7321 }, { 115,7321 }, { 116,7321 }, + { 117,8349 }, { 118,7321 }, { 119,7321 }, { 120,8606 }, { 121,7321 }, + { 122,7321 }, { 123,6192 }, { 124,6241 }, { 125,6192 }, { 126,6241 }, + { 127,6192 }, { 128,7321 }, { 129,7321 }, { 130,7321 }, { 131,7321 }, + { 132,7321 }, { 133,7321 }, { 134,7321 }, { 135,7321 }, { 136,7321 }, + { 137,7321 }, { 138,7321 }, { 139,7321 }, { 140,7321 }, { 141,7321 }, + { 142,7321 }, { 143,7321 }, { 144,7321 }, { 145,7321 }, { 146,7321 }, + + { 147,7321 }, { 148,7321 }, { 149,7321 }, { 150,7321 }, { 151,7321 }, + { 152,7321 }, { 153,7321 }, { 154,7321 }, { 155,7321 }, { 156,7321 }, + { 157,7321 }, { 158,7321 }, { 159,7321 }, { 160,7321 }, { 161,7321 }, + { 162,7321 }, { 163,7321 }, { 164,7321 }, { 165,7321 }, { 166,7321 }, + { 167,7321 }, { 168,7321 }, { 169,7321 }, { 170,7321 }, { 171,7321 }, + { 172,7321 }, { 173,7321 }, { 174,7321 }, { 175,7321 }, { 176,7321 }, + { 177,7321 }, { 178,7321 }, { 179,7321 }, { 180,7321 }, { 181,7321 }, + { 182,7321 }, { 183,7321 }, { 184,7321 }, { 185,7321 }, { 186,7321 }, + { 187,7321 }, { 188,7321 }, { 189,7321 }, { 190,7321 }, { 191,7321 }, + { 192,7321 }, { 193,7321 }, { 194,7321 }, { 195,7321 }, { 196,7321 }, + + { 197,7321 }, { 198,7321 }, { 199,7321 }, { 200,7321 }, { 201,7321 }, + { 202,7321 }, { 203,7321 }, { 204,7321 }, { 205,7321 }, { 206,7321 }, + { 207,7321 }, { 208,7321 }, { 209,7321 }, { 210,7321 }, { 211,7321 }, + { 212,7321 }, { 213,7321 }, { 214,7321 }, { 215,7321 }, { 216,7321 }, + { 217,7321 }, { 218,7321 }, { 219,7321 }, { 220,7321 }, { 221,7321 }, + { 222,7321 }, { 223,7321 }, { 224,7321 }, { 225,7321 }, { 226,7321 }, + { 227,7321 }, { 228,7321 }, { 229,7321 }, { 230,7321 }, { 231,7321 }, + { 232,7321 }, { 233,7321 }, { 234,7321 }, { 235,7321 }, { 236,7321 }, + { 237,7321 }, { 238,7321 }, { 239,7321 }, { 240,7321 }, { 241,7321 }, + { 242,7321 }, { 243,7321 }, { 244,7321 }, { 245,7321 }, { 246,7321 }, + + { 247,7321 }, { 248,7321 }, { 249,7321 }, { 250,7321 }, { 251,7321 }, + { 252,7321 }, { 253,7321 }, { 254,7321 }, { 255,7321 }, { 256,6192 }, + { 0, 0 }, { 0,33161 }, { 1,5934 }, { 2,5934 }, { 3,5934 }, { 4,5934 }, { 5,5934 }, { 6,5934 }, { 7,5934 }, { 8,5934 }, - { 9,5936 }, { 10,5941 }, { 11,5934 }, { 12,5936 }, { 13,5936 }, + { 9,5936 }, { 10,5941 }, { 11,5936 }, { 12,5936 }, { 13,5936 }, { 14,5934 }, { 15,5934 }, { 16,5934 }, { 17,5934 }, { 18,5934 }, { 19,5934 }, { 20,5934 }, { 21,5934 }, { 22,5934 }, { 23,5934 }, { 24,5934 }, { 25,5934 }, { 26,5934 }, { 27,5934 }, { 28,5934 }, @@ -737,628 +739,628 @@ static const struct yy_trans_info yy_transition[17678] = { 34,5938 }, { 35,5983 }, { 36,6049 }, { 37,6306 }, { 38,5983 }, { 39,5956 }, { 40,5958 }, { 41,5958 }, { 42,6306 }, { 43,6306 }, - { 44,5958 }, { 45,6317 }, { 46,6336 }, { 47,6407 }, { 48,6409 }, - { 49,6409 }, { 50,6409 }, { 51,6409 }, { 52,6409 }, { 53,6409 }, - { 54,6409 }, { 55,6409 }, { 56,6409 }, { 57,6409 }, { 58,5961 }, - { 59,5958 }, { 60,6474 }, { 61,6485 }, { 62,6552 }, { 63,5983 }, - { 64,5983 }, { 65,6584 }, { 66,6841 }, { 67,6584 }, { 68,6584 }, - { 69,7098 }, { 70,6584 }, { 71,6584 }, { 72,6584 }, { 73,6584 }, - { 74,6584 }, { 75,6584 }, { 76,6584 }, { 77,6584 }, { 78,7355 }, - { 79,6584 }, { 80,6584 }, { 81,6584 }, { 82,6584 }, { 83,6584 }, - { 84,6584 }, { 85,7612 }, { 86,6584 }, { 87,6584 }, { 88,7869 }, - - { 89,6584 }, { 90,6584 }, { 91,5958 }, { 92,5934 }, { 93,5958 }, - { 94,6306 }, { 95,6584 }, { 96,5983 }, { 97,6584 }, { 98,6841 }, - { 99,6584 }, { 100,6584 }, { 101,7098 }, { 102,6584 }, { 103,6584 }, - { 104,6584 }, { 105,6584 }, { 106,6584 }, { 107,6584 }, { 108,6584 }, - { 109,6584 }, { 110,7355 }, { 111,6584 }, { 112,6584 }, { 113,6584 }, - { 114,6584 }, { 115,6584 }, { 116,6584 }, { 117,7612 }, { 118,6584 }, - { 119,6584 }, { 120,7869 }, { 121,6584 }, { 122,6584 }, { 123,5934 }, - { 124,5983 }, { 125,5934 }, { 126,5983 }, { 127,5934 }, { 128,6584 }, - { 129,6584 }, { 130,6584 }, { 131,6584 }, { 132,6584 }, { 133,6584 }, - { 134,6584 }, { 135,6584 }, { 136,6584 }, { 137,6584 }, { 138,6584 }, - - { 139,6584 }, { 140,6584 }, { 141,6584 }, { 142,6584 }, { 143,6584 }, - { 144,6584 }, { 145,6584 }, { 146,6584 }, { 147,6584 }, { 148,6584 }, - { 149,6584 }, { 150,6584 }, { 151,6584 }, { 152,6584 }, { 153,6584 }, - { 154,6584 }, { 155,6584 }, { 156,6584 }, { 157,6584 }, { 158,6584 }, - { 159,6584 }, { 160,6584 }, { 161,6584 }, { 162,6584 }, { 163,6584 }, - { 164,6584 }, { 165,6584 }, { 166,6584 }, { 167,6584 }, { 168,6584 }, - { 169,6584 }, { 170,6584 }, { 171,6584 }, { 172,6584 }, { 173,6584 }, - { 174,6584 }, { 175,6584 }, { 176,6584 }, { 177,6584 }, { 178,6584 }, - { 179,6584 }, { 180,6584 }, { 181,6584 }, { 182,6584 }, { 183,6584 }, - { 184,6584 }, { 185,6584 }, { 186,6584 }, { 187,6584 }, { 188,6584 }, - - { 189,6584 }, { 190,6584 }, { 191,6584 }, { 192,6584 }, { 193,6584 }, - { 194,6584 }, { 195,6584 }, { 196,6584 }, { 197,6584 }, { 198,6584 }, - { 199,6584 }, { 200,6584 }, { 201,6584 }, { 202,6584 }, { 203,6584 }, - { 204,6584 }, { 205,6584 }, { 206,6584 }, { 207,6584 }, { 208,6584 }, - { 209,6584 }, { 210,6584 }, { 211,6584 }, { 212,6584 }, { 213,6584 }, - { 214,6584 }, { 215,6584 }, { 216,6584 }, { 217,6584 }, { 218,6584 }, - { 219,6584 }, { 220,6584 }, { 221,6584 }, { 222,6584 }, { 223,6584 }, - { 224,6584 }, { 225,6584 }, { 226,6584 }, { 227,6584 }, { 228,6584 }, - { 229,6584 }, { 230,6584 }, { 231,6584 }, { 232,6584 }, { 233,6584 }, - { 234,6584 }, { 235,6584 }, { 236,6584 }, { 237,6584 }, { 238,6584 }, - - { 239,6584 }, { 240,6584 }, { 241,6584 }, { 242,6584 }, { 243,6584 }, - { 244,6584 }, { 245,6584 }, { 246,6584 }, { 247,6584 }, { 248,6584 }, - { 249,6584 }, { 250,6584 }, { 251,6584 }, { 252,6584 }, { 253,6584 }, - { 254,6584 }, { 255,6584 }, { 256,5934 }, { 0, 11 }, { 0,16904 }, - { 1,7868 }, { 2,7868 }, { 3,7868 }, { 4,7868 }, { 5,7868 }, - { 6,7868 }, { 7,7868 }, { 8,7868 }, { 9,7868 }, { 10,7868 }, - { 11,7868 }, { 12,7868 }, { 13,7868 }, { 14,7868 }, { 15,7868 }, - { 16,7868 }, { 17,7868 }, { 18,7868 }, { 19,7868 }, { 20,7868 }, - { 21,7868 }, { 22,7868 }, { 23,7868 }, { 24,7868 }, { 25,7868 }, - { 26,7868 }, { 27,7868 }, { 28,7868 }, { 29,7868 }, { 30,7868 }, - - { 31,7868 }, { 32,7868 }, { 33,7868 }, { 34,7868 }, { 35,7868 }, - { 36,7868 }, { 37,7868 }, { 38,7868 }, { 39,5705 }, { 40,7868 }, - { 41,7868 }, { 42,7868 }, { 43,7868 }, { 44,7868 }, { 45,7868 }, - { 46,7868 }, { 47,7868 }, { 48,7868 }, { 49,7868 }, { 50,7868 }, - { 51,7868 }, { 52,7868 }, { 53,7868 }, { 54,7868 }, { 55,7868 }, - { 56,7868 }, { 57,7868 }, { 58,7868 }, { 59,7868 }, { 60,7868 }, - { 61,7868 }, { 62,7868 }, { 63,7868 }, { 64,7868 }, { 65,7868 }, - { 66,7868 }, { 67,7868 }, { 68,7868 }, { 69,7868 }, { 70,7868 }, - { 71,7868 }, { 72,7868 }, { 73,7868 }, { 74,7868 }, { 75,7868 }, - { 76,7868 }, { 77,7868 }, { 78,7868 }, { 79,7868 }, { 80,7868 }, - - { 81,7868 }, { 82,7868 }, { 83,7868 }, { 84,7868 }, { 85,7868 }, - { 86,7868 }, { 87,7868 }, { 88,7868 }, { 89,7868 }, { 90,7868 }, - { 91,7868 }, { 92,7868 }, { 93,7868 }, { 94,7868 }, { 95,7868 }, - { 96,7868 }, { 97,7868 }, { 98,7868 }, { 99,7868 }, { 100,7868 }, - { 101,7868 }, { 102,7868 }, { 103,7868 }, { 104,7868 }, { 105,7868 }, - { 106,7868 }, { 107,7868 }, { 108,7868 }, { 109,7868 }, { 110,7868 }, - { 111,7868 }, { 112,7868 }, { 113,7868 }, { 114,7868 }, { 115,7868 }, - { 116,7868 }, { 117,7868 }, { 118,7868 }, { 119,7868 }, { 120,7868 }, - { 121,7868 }, { 122,7868 }, { 123,7868 }, { 124,7868 }, { 125,7868 }, - { 126,7868 }, { 127,7868 }, { 128,7868 }, { 129,7868 }, { 130,7868 }, - - { 131,7868 }, { 132,7868 }, { 133,7868 }, { 134,7868 }, { 135,7868 }, - { 136,7868 }, { 137,7868 }, { 138,7868 }, { 139,7868 }, { 140,7868 }, - { 141,7868 }, { 142,7868 }, { 143,7868 }, { 144,7868 }, { 145,7868 }, - { 146,7868 }, { 147,7868 }, { 148,7868 }, { 149,7868 }, { 150,7868 }, - { 151,7868 }, { 152,7868 }, { 153,7868 }, { 154,7868 }, { 155,7868 }, - { 156,7868 }, { 157,7868 }, { 158,7868 }, { 159,7868 }, { 160,7868 }, - { 161,7868 }, { 162,7868 }, { 163,7868 }, { 164,7868 }, { 165,7868 }, - { 166,7868 }, { 167,7868 }, { 168,7868 }, { 169,7868 }, { 170,7868 }, - { 171,7868 }, { 172,7868 }, { 173,7868 }, { 174,7868 }, { 175,7868 }, - { 176,7868 }, { 177,7868 }, { 178,7868 }, { 179,7868 }, { 180,7868 }, - - { 181,7868 }, { 182,7868 }, { 183,7868 }, { 184,7868 }, { 185,7868 }, - { 186,7868 }, { 187,7868 }, { 188,7868 }, { 189,7868 }, { 190,7868 }, - { 191,7868 }, { 192,7868 }, { 193,7868 }, { 194,7868 }, { 195,7868 }, - { 196,7868 }, { 197,7868 }, { 198,7868 }, { 199,7868 }, { 200,7868 }, - { 201,7868 }, { 202,7868 }, { 203,7868 }, { 204,7868 }, { 205,7868 }, - { 206,7868 }, { 207,7868 }, { 208,7868 }, { 209,7868 }, { 210,7868 }, - { 211,7868 }, { 212,7868 }, { 213,7868 }, { 214,7868 }, { 215,7868 }, - { 216,7868 }, { 217,7868 }, { 218,7868 }, { 219,7868 }, { 220,7868 }, - { 221,7868 }, { 222,7868 }, { 223,7868 }, { 224,7868 }, { 225,7868 }, - { 226,7868 }, { 227,7868 }, { 228,7868 }, { 229,7868 }, { 230,7868 }, - - { 231,7868 }, { 232,7868 }, { 233,7868 }, { 234,7868 }, { 235,7868 }, - { 236,7868 }, { 237,7868 }, { 238,7868 }, { 239,7868 }, { 240,7868 }, - { 241,7868 }, { 242,7868 }, { 243,7868 }, { 244,7868 }, { 245,7868 }, - { 246,7868 }, { 247,7868 }, { 248,7868 }, { 249,7868 }, { 250,7868 }, - { 251,7868 }, { 252,7868 }, { 253,7868 }, { 254,7868 }, { 255,7868 }, - { 256,7868 }, { 0, 11 }, { 0,16646 }, { 1,7610 }, { 2,7610 }, - { 3,7610 }, { 4,7610 }, { 5,7610 }, { 6,7610 }, { 7,7610 }, - { 8,7610 }, { 9,7610 }, { 10,7610 }, { 11,7610 }, { 12,7610 }, - { 13,7610 }, { 14,7610 }, { 15,7610 }, { 16,7610 }, { 17,7610 }, - { 18,7610 }, { 19,7610 }, { 20,7610 }, { 21,7610 }, { 22,7610 }, - - { 23,7610 }, { 24,7610 }, { 25,7610 }, { 26,7610 }, { 27,7610 }, - { 28,7610 }, { 29,7610 }, { 30,7610 }, { 31,7610 }, { 32,7610 }, - { 33,7610 }, { 34,7610 }, { 35,7610 }, { 36,7610 }, { 37,7610 }, - { 38,7610 }, { 39,5447 }, { 40,7610 }, { 41,7610 }, { 42,7610 }, - { 43,7610 }, { 44,7610 }, { 45,7610 }, { 46,7610 }, { 47,7610 }, - { 48,7610 }, { 49,7610 }, { 50,7610 }, { 51,7610 }, { 52,7610 }, - { 53,7610 }, { 54,7610 }, { 55,7610 }, { 56,7610 }, { 57,7610 }, - { 58,7610 }, { 59,7610 }, { 60,7610 }, { 61,7610 }, { 62,7610 }, - { 63,7610 }, { 64,7610 }, { 65,7610 }, { 66,7610 }, { 67,7610 }, - { 68,7610 }, { 69,7610 }, { 70,7610 }, { 71,7610 }, { 72,7610 }, - - { 73,7610 }, { 74,7610 }, { 75,7610 }, { 76,7610 }, { 77,7610 }, - { 78,7610 }, { 79,7610 }, { 80,7610 }, { 81,7610 }, { 82,7610 }, - { 83,7610 }, { 84,7610 }, { 85,7610 }, { 86,7610 }, { 87,7610 }, - { 88,7610 }, { 89,7610 }, { 90,7610 }, { 91,7610 }, { 92,7610 }, - { 93,7610 }, { 94,7610 }, { 95,7610 }, { 96,7610 }, { 97,7610 }, - { 98,7610 }, { 99,7610 }, { 100,7610 }, { 101,7610 }, { 102,7610 }, - { 103,7610 }, { 104,7610 }, { 105,7610 }, { 106,7610 }, { 107,7610 }, - { 108,7610 }, { 109,7610 }, { 110,7610 }, { 111,7610 }, { 112,7610 }, - { 113,7610 }, { 114,7610 }, { 115,7610 }, { 116,7610 }, { 117,7610 }, - { 118,7610 }, { 119,7610 }, { 120,7610 }, { 121,7610 }, { 122,7610 }, - - { 123,7610 }, { 124,7610 }, { 125,7610 }, { 126,7610 }, { 127,7610 }, - { 128,7610 }, { 129,7610 }, { 130,7610 }, { 131,7610 }, { 132,7610 }, - { 133,7610 }, { 134,7610 }, { 135,7610 }, { 136,7610 }, { 137,7610 }, - { 138,7610 }, { 139,7610 }, { 140,7610 }, { 141,7610 }, { 142,7610 }, - { 143,7610 }, { 144,7610 }, { 145,7610 }, { 146,7610 }, { 147,7610 }, - { 148,7610 }, { 149,7610 }, { 150,7610 }, { 151,7610 }, { 152,7610 }, - { 153,7610 }, { 154,7610 }, { 155,7610 }, { 156,7610 }, { 157,7610 }, - { 158,7610 }, { 159,7610 }, { 160,7610 }, { 161,7610 }, { 162,7610 }, - { 163,7610 }, { 164,7610 }, { 165,7610 }, { 166,7610 }, { 167,7610 }, - { 168,7610 }, { 169,7610 }, { 170,7610 }, { 171,7610 }, { 172,7610 }, - - { 173,7610 }, { 174,7610 }, { 175,7610 }, { 176,7610 }, { 177,7610 }, - { 178,7610 }, { 179,7610 }, { 180,7610 }, { 181,7610 }, { 182,7610 }, - { 183,7610 }, { 184,7610 }, { 185,7610 }, { 186,7610 }, { 187,7610 }, - { 188,7610 }, { 189,7610 }, { 190,7610 }, { 191,7610 }, { 192,7610 }, - { 193,7610 }, { 194,7610 }, { 195,7610 }, { 196,7610 }, { 197,7610 }, - { 198,7610 }, { 199,7610 }, { 200,7610 }, { 201,7610 }, { 202,7610 }, - { 203,7610 }, { 204,7610 }, { 205,7610 }, { 206,7610 }, { 207,7610 }, - { 208,7610 }, { 209,7610 }, { 210,7610 }, { 211,7610 }, { 212,7610 }, - { 213,7610 }, { 214,7610 }, { 215,7610 }, { 216,7610 }, { 217,7610 }, - { 218,7610 }, { 219,7610 }, { 220,7610 }, { 221,7610 }, { 222,7610 }, - - { 223,7610 }, { 224,7610 }, { 225,7610 }, { 226,7610 }, { 227,7610 }, - { 228,7610 }, { 229,7610 }, { 230,7610 }, { 231,7610 }, { 232,7610 }, - { 233,7610 }, { 234,7610 }, { 235,7610 }, { 236,7610 }, { 237,7610 }, - { 238,7610 }, { 239,7610 }, { 240,7610 }, { 241,7610 }, { 242,7610 }, - { 243,7610 }, { 244,7610 }, { 245,7610 }, { 246,7610 }, { 247,7610 }, - { 248,7610 }, { 249,7610 }, { 250,7610 }, { 251,7610 }, { 252,7610 }, - { 253,7610 }, { 254,7610 }, { 255,7610 }, { 256,7610 }, { 0, 0 }, - { 0,16388 }, { 1,7610 }, { 2,7610 }, { 3,7610 }, { 4,7610 }, - { 5,7610 }, { 6,7610 }, { 7,7610 }, { 8,7610 }, { 9,7610 }, - { 10,7610 }, { 11,7610 }, { 12,7610 }, { 13,7610 }, { 14,7610 }, - - { 15,7610 }, { 16,7610 }, { 17,7610 }, { 18,7610 }, { 19,7610 }, - { 20,7610 }, { 21,7610 }, { 22,7610 }, { 23,7610 }, { 24,7610 }, - { 25,7610 }, { 26,7610 }, { 27,7610 }, { 28,7610 }, { 29,7610 }, - { 30,7610 }, { 31,7610 }, { 32,7610 }, { 33,7868 }, { 34,7610 }, - { 35,7868 }, { 36,7610 }, { 37,7868 }, { 38,7868 }, { 39,7610 }, - { 40,7610 }, { 41,7610 }, { 42,5192 }, { 43,7868 }, { 44,7610 }, - { 45,7868 }, { 46,7610 }, { 47,5196 }, { 48,7610 }, { 49,7610 }, - { 50,7610 }, { 51,7610 }, { 52,7610 }, { 53,7610 }, { 54,7610 }, - { 55,7610 }, { 56,7610 }, { 57,7610 }, { 58,7610 }, { 59,7610 }, - { 60,7868 }, { 61,7868 }, { 62,7868 }, { 63,7868 }, { 64,7868 }, - - { 65,7610 }, { 66,7610 }, { 67,7610 }, { 68,7610 }, { 69,7610 }, - { 70,7610 }, { 71,7610 }, { 72,7610 }, { 73,7610 }, { 74,7610 }, - { 75,7610 }, { 76,7610 }, { 77,7610 }, { 78,7610 }, { 79,7610 }, - { 80,7610 }, { 81,7610 }, { 82,7610 }, { 83,7610 }, { 84,7610 }, - { 85,7610 }, { 86,7610 }, { 87,7610 }, { 88,7610 }, { 89,7610 }, - { 90,7610 }, { 91,7610 }, { 92,7610 }, { 93,7610 }, { 94,7868 }, - { 95,7610 }, { 96,7868 }, { 97,7610 }, { 98,7610 }, { 99,7610 }, - { 100,7610 }, { 101,7610 }, { 102,7610 }, { 103,7610 }, { 104,7610 }, - { 105,7610 }, { 106,7610 }, { 107,7610 }, { 108,7610 }, { 109,7610 }, - { 110,7610 }, { 111,7610 }, { 112,7610 }, { 113,7610 }, { 114,7610 }, - - { 115,7610 }, { 116,7610 }, { 117,7610 }, { 118,7610 }, { 119,7610 }, - { 120,7610 }, { 121,7610 }, { 122,7610 }, { 123,7610 }, { 124,7868 }, - { 125,7610 }, { 126,7868 }, { 127,7610 }, { 128,7610 }, { 129,7610 }, - { 130,7610 }, { 131,7610 }, { 132,7610 }, { 133,7610 }, { 134,7610 }, - { 135,7610 }, { 136,7610 }, { 137,7610 }, { 138,7610 }, { 139,7610 }, - { 140,7610 }, { 141,7610 }, { 142,7610 }, { 143,7610 }, { 144,7610 }, - { 145,7610 }, { 146,7610 }, { 147,7610 }, { 148,7610 }, { 149,7610 }, - { 150,7610 }, { 151,7610 }, { 152,7610 }, { 153,7610 }, { 154,7610 }, - { 155,7610 }, { 156,7610 }, { 157,7610 }, { 158,7610 }, { 159,7610 }, - { 160,7610 }, { 161,7610 }, { 162,7610 }, { 163,7610 }, { 164,7610 }, - - { 165,7610 }, { 166,7610 }, { 167,7610 }, { 168,7610 }, { 169,7610 }, - { 170,7610 }, { 171,7610 }, { 172,7610 }, { 173,7610 }, { 174,7610 }, - { 175,7610 }, { 176,7610 }, { 177,7610 }, { 178,7610 }, { 179,7610 }, - { 180,7610 }, { 181,7610 }, { 182,7610 }, { 183,7610 }, { 184,7610 }, - { 185,7610 }, { 186,7610 }, { 187,7610 }, { 188,7610 }, { 189,7610 }, - { 190,7610 }, { 191,7610 }, { 192,7610 }, { 193,7610 }, { 194,7610 }, - { 195,7610 }, { 196,7610 }, { 197,7610 }, { 198,7610 }, { 199,7610 }, - { 200,7610 }, { 201,7610 }, { 202,7610 }, { 203,7610 }, { 204,7610 }, - { 205,7610 }, { 206,7610 }, { 207,7610 }, { 208,7610 }, { 209,7610 }, - { 210,7610 }, { 211,7610 }, { 212,7610 }, { 213,7610 }, { 214,7610 }, - - { 215,7610 }, { 216,7610 }, { 217,7610 }, { 218,7610 }, { 219,7610 }, - { 220,7610 }, { 221,7610 }, { 222,7610 }, { 223,7610 }, { 224,7610 }, - { 225,7610 }, { 226,7610 }, { 227,7610 }, { 228,7610 }, { 229,7610 }, - { 230,7610 }, { 231,7610 }, { 232,7610 }, { 233,7610 }, { 234,7610 }, - { 235,7610 }, { 236,7610 }, { 237,7610 }, { 238,7610 }, { 239,7610 }, - { 240,7610 }, { 241,7610 }, { 242,7610 }, { 243,7610 }, { 244,7610 }, - { 245,7610 }, { 246,7610 }, { 247,7610 }, { 248,7610 }, { 249,7610 }, - { 250,7610 }, { 251,7610 }, { 252,7610 }, { 253,7610 }, { 254,7610 }, - { 255,7610 }, { 256,7610 }, { 0, 0 }, { 0,16130 }, { 1,7352 }, - { 2,7352 }, { 3,7352 }, { 4,7352 }, { 5,7352 }, { 6,7352 }, - - { 7,7352 }, { 8,7352 }, { 9,7352 }, { 10,7352 }, { 11,7352 }, - { 12,7352 }, { 13,7352 }, { 14,7352 }, { 15,7352 }, { 16,7352 }, - { 17,7352 }, { 18,7352 }, { 19,7352 }, { 20,7352 }, { 21,7352 }, - { 22,7352 }, { 23,7352 }, { 24,7352 }, { 25,7352 }, { 26,7352 }, - { 27,7352 }, { 28,7352 }, { 29,7352 }, { 30,7352 }, { 31,7352 }, - { 32,7352 }, { 33,7610 }, { 34,7352 }, { 35,7610 }, { 36,7352 }, - { 37,7610 }, { 38,7610 }, { 39,7352 }, { 40,7352 }, { 41,7352 }, - { 42,4934 }, { 43,7610 }, { 44,7352 }, { 45,7610 }, { 46,7352 }, - { 47,4938 }, { 48,7352 }, { 49,7352 }, { 50,7352 }, { 51,7352 }, - { 52,7352 }, { 53,7352 }, { 54,7352 }, { 55,7352 }, { 56,7352 }, - - { 57,7352 }, { 58,7352 }, { 59,7352 }, { 60,7610 }, { 61,7610 }, - { 62,7610 }, { 63,7610 }, { 64,7610 }, { 65,7352 }, { 66,7352 }, - { 67,7352 }, { 68,7352 }, { 69,7352 }, { 70,7352 }, { 71,7352 }, - { 72,7352 }, { 73,7352 }, { 74,7352 }, { 75,7352 }, { 76,7352 }, - { 77,7352 }, { 78,7352 }, { 79,7352 }, { 80,7352 }, { 81,7352 }, - { 82,7352 }, { 83,7352 }, { 84,7352 }, { 85,7352 }, { 86,7352 }, - { 87,7352 }, { 88,7352 }, { 89,7352 }, { 90,7352 }, { 91,7352 }, - { 92,7352 }, { 93,7352 }, { 94,7610 }, { 95,7352 }, { 96,7610 }, - { 97,7352 }, { 98,7352 }, { 99,7352 }, { 100,7352 }, { 101,7352 }, - { 102,7352 }, { 103,7352 }, { 104,7352 }, { 105,7352 }, { 106,7352 }, - - { 107,7352 }, { 108,7352 }, { 109,7352 }, { 110,7352 }, { 111,7352 }, - { 112,7352 }, { 113,7352 }, { 114,7352 }, { 115,7352 }, { 116,7352 }, - { 117,7352 }, { 118,7352 }, { 119,7352 }, { 120,7352 }, { 121,7352 }, - { 122,7352 }, { 123,7352 }, { 124,7610 }, { 125,7352 }, { 126,7610 }, - { 127,7352 }, { 128,7352 }, { 129,7352 }, { 130,7352 }, { 131,7352 }, - { 132,7352 }, { 133,7352 }, { 134,7352 }, { 135,7352 }, { 136,7352 }, - { 137,7352 }, { 138,7352 }, { 139,7352 }, { 140,7352 }, { 141,7352 }, - { 142,7352 }, { 143,7352 }, { 144,7352 }, { 145,7352 }, { 146,7352 }, - { 147,7352 }, { 148,7352 }, { 149,7352 }, { 150,7352 }, { 151,7352 }, - { 152,7352 }, { 153,7352 }, { 154,7352 }, { 155,7352 }, { 156,7352 }, - - { 157,7352 }, { 158,7352 }, { 159,7352 }, { 160,7352 }, { 161,7352 }, - { 162,7352 }, { 163,7352 }, { 164,7352 }, { 165,7352 }, { 166,7352 }, - { 167,7352 }, { 168,7352 }, { 169,7352 }, { 170,7352 }, { 171,7352 }, - { 172,7352 }, { 173,7352 }, { 174,7352 }, { 175,7352 }, { 176,7352 }, - { 177,7352 }, { 178,7352 }, { 179,7352 }, { 180,7352 }, { 181,7352 }, - { 182,7352 }, { 183,7352 }, { 184,7352 }, { 185,7352 }, { 186,7352 }, - { 187,7352 }, { 188,7352 }, { 189,7352 }, { 190,7352 }, { 191,7352 }, - { 192,7352 }, { 193,7352 }, { 194,7352 }, { 195,7352 }, { 196,7352 }, - { 197,7352 }, { 198,7352 }, { 199,7352 }, { 200,7352 }, { 201,7352 }, - { 202,7352 }, { 203,7352 }, { 204,7352 }, { 205,7352 }, { 206,7352 }, - - { 207,7352 }, { 208,7352 }, { 209,7352 }, { 210,7352 }, { 211,7352 }, - { 212,7352 }, { 213,7352 }, { 214,7352 }, { 215,7352 }, { 216,7352 }, - { 217,7352 }, { 218,7352 }, { 219,7352 }, { 220,7352 }, { 221,7352 }, - { 222,7352 }, { 223,7352 }, { 224,7352 }, { 225,7352 }, { 226,7352 }, - { 227,7352 }, { 228,7352 }, { 229,7352 }, { 230,7352 }, { 231,7352 }, - { 232,7352 }, { 233,7352 }, { 234,7352 }, { 235,7352 }, { 236,7352 }, - { 237,7352 }, { 238,7352 }, { 239,7352 }, { 240,7352 }, { 241,7352 }, - { 242,7352 }, { 243,7352 }, { 244,7352 }, { 245,7352 }, { 246,7352 }, - { 247,7352 }, { 248,7352 }, { 249,7352 }, { 250,7352 }, { 251,7352 }, - { 252,7352 }, { 253,7352 }, { 254,7352 }, { 255,7352 }, { 256,7352 }, - - { 0, 0 }, { 0,15872 }, { 1,7610 }, { 2,7610 }, { 3,7610 }, - { 4,7610 }, { 5,7610 }, { 6,7610 }, { 7,7610 }, { 8,7610 }, - { 9,7610 }, { 10,7610 }, { 11,7610 }, { 12,7610 }, { 13,7610 }, - { 14,7610 }, { 15,7610 }, { 16,7610 }, { 17,7610 }, { 18,7610 }, - { 19,7610 }, { 20,7610 }, { 21,7610 }, { 22,7610 }, { 23,7610 }, - { 24,7610 }, { 25,7610 }, { 26,7610 }, { 27,7610 }, { 28,7610 }, - { 29,7610 }, { 30,7610 }, { 31,7610 }, { 32,7610 }, { 33,7610 }, - { 34,4685 }, { 35,7610 }, { 36,7610 }, { 37,7610 }, { 38,7610 }, - { 39,7610 }, { 40,7610 }, { 41,7610 }, { 42,7610 }, { 43,7610 }, - { 44,7610 }, { 45,7610 }, { 46,7610 }, { 47,7610 }, { 48,7610 }, - - { 49,7610 }, { 50,7610 }, { 51,7610 }, { 52,7610 }, { 53,7610 }, - { 54,7610 }, { 55,7610 }, { 56,7610 }, { 57,7610 }, { 58,7610 }, - { 59,7610 }, { 60,7610 }, { 61,7610 }, { 62,7610 }, { 63,7610 }, - { 64,7610 }, { 65,7610 }, { 66,7610 }, { 67,7610 }, { 68,7610 }, - { 69,7610 }, { 70,7610 }, { 71,7610 }, { 72,7610 }, { 73,7610 }, - { 74,7610 }, { 75,7610 }, { 76,7610 }, { 77,7610 }, { 78,7610 }, - { 79,7610 }, { 80,7610 }, { 81,7610 }, { 82,7610 }, { 83,7610 }, - { 84,7610 }, { 85,7610 }, { 86,7610 }, { 87,7610 }, { 88,7610 }, - { 89,7610 }, { 90,7610 }, { 91,7610 }, { 92,7610 }, { 93,7610 }, - { 94,7610 }, { 95,7610 }, { 96,7610 }, { 97,7610 }, { 98,7610 }, - - { 99,7610 }, { 100,7610 }, { 101,7610 }, { 102,7610 }, { 103,7610 }, - { 104,7610 }, { 105,7610 }, { 106,7610 }, { 107,7610 }, { 108,7610 }, - { 109,7610 }, { 110,7610 }, { 111,7610 }, { 112,7610 }, { 113,7610 }, - { 114,7610 }, { 115,7610 }, { 116,7610 }, { 117,7610 }, { 118,7610 }, - { 119,7610 }, { 120,7610 }, { 121,7610 }, { 122,7610 }, { 123,7610 }, - { 124,7610 }, { 125,7610 }, { 126,7610 }, { 127,7610 }, { 128,7610 }, - { 129,7610 }, { 130,7610 }, { 131,7610 }, { 132,7610 }, { 133,7610 }, - { 134,7610 }, { 135,7610 }, { 136,7610 }, { 137,7610 }, { 138,7610 }, - { 139,7610 }, { 140,7610 }, { 141,7610 }, { 142,7610 }, { 143,7610 }, - { 144,7610 }, { 145,7610 }, { 146,7610 }, { 147,7610 }, { 148,7610 }, - - { 149,7610 }, { 150,7610 }, { 151,7610 }, { 152,7610 }, { 153,7610 }, - { 154,7610 }, { 155,7610 }, { 156,7610 }, { 157,7610 }, { 158,7610 }, - { 159,7610 }, { 160,7610 }, { 161,7610 }, { 162,7610 }, { 163,7610 }, - { 164,7610 }, { 165,7610 }, { 166,7610 }, { 167,7610 }, { 168,7610 }, - { 169,7610 }, { 170,7610 }, { 171,7610 }, { 172,7610 }, { 173,7610 }, - { 174,7610 }, { 175,7610 }, { 176,7610 }, { 177,7610 }, { 178,7610 }, - { 179,7610 }, { 180,7610 }, { 181,7610 }, { 182,7610 }, { 183,7610 }, - { 184,7610 }, { 185,7610 }, { 186,7610 }, { 187,7610 }, { 188,7610 }, - { 189,7610 }, { 190,7610 }, { 191,7610 }, { 192,7610 }, { 193,7610 }, - { 194,7610 }, { 195,7610 }, { 196,7610 }, { 197,7610 }, { 198,7610 }, - - { 199,7610 }, { 200,7610 }, { 201,7610 }, { 202,7610 }, { 203,7610 }, - { 204,7610 }, { 205,7610 }, { 206,7610 }, { 207,7610 }, { 208,7610 }, - { 209,7610 }, { 210,7610 }, { 211,7610 }, { 212,7610 }, { 213,7610 }, - { 214,7610 }, { 215,7610 }, { 216,7610 }, { 217,7610 }, { 218,7610 }, - { 219,7610 }, { 220,7610 }, { 221,7610 }, { 222,7610 }, { 223,7610 }, - { 224,7610 }, { 225,7610 }, { 226,7610 }, { 227,7610 }, { 228,7610 }, - { 229,7610 }, { 230,7610 }, { 231,7610 }, { 232,7610 }, { 233,7610 }, - { 234,7610 }, { 235,7610 }, { 236,7610 }, { 237,7610 }, { 238,7610 }, - { 239,7610 }, { 240,7610 }, { 241,7610 }, { 242,7610 }, { 243,7610 }, - { 244,7610 }, { 245,7610 }, { 246,7610 }, { 247,7610 }, { 248,7610 }, - - { 249,7610 }, { 250,7610 }, { 251,7610 }, { 252,7610 }, { 253,7610 }, - { 254,7610 }, { 255,7610 }, { 256,7610 }, { 0, 0 }, { 0,15614 }, - { 1,7352 }, { 2,7352 }, { 3,7352 }, { 4,7352 }, { 5,7352 }, - { 6,7352 }, { 7,7352 }, { 8,7352 }, { 9,7352 }, { 10,7352 }, - { 11,7352 }, { 12,7352 }, { 13,7352 }, { 14,7352 }, { 15,7352 }, - { 16,7352 }, { 17,7352 }, { 18,7352 }, { 19,7352 }, { 20,7352 }, - { 21,7352 }, { 22,7352 }, { 23,7352 }, { 24,7352 }, { 25,7352 }, - { 26,7352 }, { 27,7352 }, { 28,7352 }, { 29,7352 }, { 30,7352 }, - { 31,7352 }, { 32,7352 }, { 33,7352 }, { 34,4427 }, { 35,7352 }, - { 36,7352 }, { 37,7352 }, { 38,7352 }, { 39,7352 }, { 40,7352 }, - - { 41,7352 }, { 42,7352 }, { 43,7352 }, { 44,7352 }, { 45,7352 }, - { 46,7352 }, { 47,7352 }, { 48,7352 }, { 49,7352 }, { 50,7352 }, - { 51,7352 }, { 52,7352 }, { 53,7352 }, { 54,7352 }, { 55,7352 }, - { 56,7352 }, { 57,7352 }, { 58,7352 }, { 59,7352 }, { 60,7352 }, - { 61,7352 }, { 62,7352 }, { 63,7352 }, { 64,7352 }, { 65,7352 }, - { 66,7352 }, { 67,7352 }, { 68,7352 }, { 69,7352 }, { 70,7352 }, - { 71,7352 }, { 72,7352 }, { 73,7352 }, { 74,7352 }, { 75,7352 }, - { 76,7352 }, { 77,7352 }, { 78,7352 }, { 79,7352 }, { 80,7352 }, - { 81,7352 }, { 82,7352 }, { 83,7352 }, { 84,7352 }, { 85,7352 }, - { 86,7352 }, { 87,7352 }, { 88,7352 }, { 89,7352 }, { 90,7352 }, - - { 91,7352 }, { 92,7352 }, { 93,7352 }, { 94,7352 }, { 95,7352 }, - { 96,7352 }, { 97,7352 }, { 98,7352 }, { 99,7352 }, { 100,7352 }, - { 101,7352 }, { 102,7352 }, { 103,7352 }, { 104,7352 }, { 105,7352 }, - { 106,7352 }, { 107,7352 }, { 108,7352 }, { 109,7352 }, { 110,7352 }, - { 111,7352 }, { 112,7352 }, { 113,7352 }, { 114,7352 }, { 115,7352 }, - { 116,7352 }, { 117,7352 }, { 118,7352 }, { 119,7352 }, { 120,7352 }, - { 121,7352 }, { 122,7352 }, { 123,7352 }, { 124,7352 }, { 125,7352 }, - { 126,7352 }, { 127,7352 }, { 128,7352 }, { 129,7352 }, { 130,7352 }, - { 131,7352 }, { 132,7352 }, { 133,7352 }, { 134,7352 }, { 135,7352 }, - { 136,7352 }, { 137,7352 }, { 138,7352 }, { 139,7352 }, { 140,7352 }, - - { 141,7352 }, { 142,7352 }, { 143,7352 }, { 144,7352 }, { 145,7352 }, - { 146,7352 }, { 147,7352 }, { 148,7352 }, { 149,7352 }, { 150,7352 }, - { 151,7352 }, { 152,7352 }, { 153,7352 }, { 154,7352 }, { 155,7352 }, - { 156,7352 }, { 157,7352 }, { 158,7352 }, { 159,7352 }, { 160,7352 }, - { 161,7352 }, { 162,7352 }, { 163,7352 }, { 164,7352 }, { 165,7352 }, - { 166,7352 }, { 167,7352 }, { 168,7352 }, { 169,7352 }, { 170,7352 }, - { 171,7352 }, { 172,7352 }, { 173,7352 }, { 174,7352 }, { 175,7352 }, - { 176,7352 }, { 177,7352 }, { 178,7352 }, { 179,7352 }, { 180,7352 }, - { 181,7352 }, { 182,7352 }, { 183,7352 }, { 184,7352 }, { 185,7352 }, - { 186,7352 }, { 187,7352 }, { 188,7352 }, { 189,7352 }, { 190,7352 }, - - { 191,7352 }, { 192,7352 }, { 193,7352 }, { 194,7352 }, { 195,7352 }, - { 196,7352 }, { 197,7352 }, { 198,7352 }, { 199,7352 }, { 200,7352 }, - { 201,7352 }, { 202,7352 }, { 203,7352 }, { 204,7352 }, { 205,7352 }, - { 206,7352 }, { 207,7352 }, { 208,7352 }, { 209,7352 }, { 210,7352 }, - { 211,7352 }, { 212,7352 }, { 213,7352 }, { 214,7352 }, { 215,7352 }, - { 216,7352 }, { 217,7352 }, { 218,7352 }, { 219,7352 }, { 220,7352 }, - { 221,7352 }, { 222,7352 }, { 223,7352 }, { 224,7352 }, { 225,7352 }, - { 226,7352 }, { 227,7352 }, { 228,7352 }, { 229,7352 }, { 230,7352 }, - { 231,7352 }, { 232,7352 }, { 233,7352 }, { 234,7352 }, { 235,7352 }, - { 236,7352 }, { 237,7352 }, { 238,7352 }, { 239,7352 }, { 240,7352 }, - - { 241,7352 }, { 242,7352 }, { 243,7352 }, { 244,7352 }, { 245,7352 }, - { 246,7352 }, { 247,7352 }, { 248,7352 }, { 249,7352 }, { 250,7352 }, - { 251,7352 }, { 252,7352 }, { 253,7352 }, { 254,7352 }, { 255,7352 }, - { 256,7352 }, { 0, 10 }, { 0,15356 }, { 1,7352 }, { 2,7352 }, - { 3,7352 }, { 4,7352 }, { 5,7352 }, { 6,7352 }, { 7,7352 }, - { 8,7352 }, { 9,7352 }, { 10,7352 }, { 11,7352 }, { 12,7352 }, - { 13,7352 }, { 14,7352 }, { 15,7352 }, { 16,7352 }, { 17,7352 }, - { 18,7352 }, { 19,7352 }, { 20,7352 }, { 21,7352 }, { 22,7352 }, - { 23,7352 }, { 24,7352 }, { 25,7352 }, { 26,7352 }, { 27,7352 }, - { 28,7352 }, { 29,7352 }, { 30,7352 }, { 31,7352 }, { 32,7352 }, - - { 33,7352 }, { 34,7352 }, { 35,7352 }, { 36,7352 }, { 37,7352 }, - { 38,7352 }, { 39,4157 }, { 40,7352 }, { 41,7352 }, { 42,7352 }, - { 43,7352 }, { 44,7352 }, { 45,7352 }, { 46,7352 }, { 47,7352 }, - { 48,7352 }, { 49,7352 }, { 50,7352 }, { 51,7352 }, { 52,7352 }, - { 53,7352 }, { 54,7352 }, { 55,7352 }, { 56,7352 }, { 57,7352 }, - { 58,7352 }, { 59,7352 }, { 60,7352 }, { 61,7352 }, { 62,7352 }, - { 63,7352 }, { 64,7352 }, { 65,7352 }, { 66,7352 }, { 67,7352 }, - { 68,7352 }, { 69,7352 }, { 70,7352 }, { 71,7352 }, { 72,7352 }, - { 73,7352 }, { 74,7352 }, { 75,7352 }, { 76,7352 }, { 77,7352 }, - { 78,7352 }, { 79,7352 }, { 80,7352 }, { 81,7352 }, { 82,7352 }, - - { 83,7352 }, { 84,7352 }, { 85,7352 }, { 86,7352 }, { 87,7352 }, - { 88,7352 }, { 89,7352 }, { 90,7352 }, { 91,7352 }, { 92,7352 }, - { 93,7352 }, { 94,7352 }, { 95,7352 }, { 96,7352 }, { 97,7352 }, - { 98,7352 }, { 99,7352 }, { 100,7352 }, { 101,7352 }, { 102,7352 }, - { 103,7352 }, { 104,7352 }, { 105,7352 }, { 106,7352 }, { 107,7352 }, - { 108,7352 }, { 109,7352 }, { 110,7352 }, { 111,7352 }, { 112,7352 }, - { 113,7352 }, { 114,7352 }, { 115,7352 }, { 116,7352 }, { 117,7352 }, - { 118,7352 }, { 119,7352 }, { 120,7352 }, { 121,7352 }, { 122,7352 }, - { 123,7352 }, { 124,7352 }, { 125,7352 }, { 126,7352 }, { 127,7352 }, - { 128,7352 }, { 129,7352 }, { 130,7352 }, { 131,7352 }, { 132,7352 }, - - { 133,7352 }, { 134,7352 }, { 135,7352 }, { 136,7352 }, { 137,7352 }, - { 138,7352 }, { 139,7352 }, { 140,7352 }, { 141,7352 }, { 142,7352 }, - { 143,7352 }, { 144,7352 }, { 145,7352 }, { 146,7352 }, { 147,7352 }, - { 148,7352 }, { 149,7352 }, { 150,7352 }, { 151,7352 }, { 152,7352 }, - { 153,7352 }, { 154,7352 }, { 155,7352 }, { 156,7352 }, { 157,7352 }, - { 158,7352 }, { 159,7352 }, { 160,7352 }, { 161,7352 }, { 162,7352 }, - { 163,7352 }, { 164,7352 }, { 165,7352 }, { 166,7352 }, { 167,7352 }, - { 168,7352 }, { 169,7352 }, { 170,7352 }, { 171,7352 }, { 172,7352 }, - { 173,7352 }, { 174,7352 }, { 175,7352 }, { 176,7352 }, { 177,7352 }, - { 178,7352 }, { 179,7352 }, { 180,7352 }, { 181,7352 }, { 182,7352 }, - - { 183,7352 }, { 184,7352 }, { 185,7352 }, { 186,7352 }, { 187,7352 }, - { 188,7352 }, { 189,7352 }, { 190,7352 }, { 191,7352 }, { 192,7352 }, - { 193,7352 }, { 194,7352 }, { 195,7352 }, { 196,7352 }, { 197,7352 }, - { 198,7352 }, { 199,7352 }, { 200,7352 }, { 201,7352 }, { 202,7352 }, - { 203,7352 }, { 204,7352 }, { 205,7352 }, { 206,7352 }, { 207,7352 }, - { 208,7352 }, { 209,7352 }, { 210,7352 }, { 211,7352 }, { 212,7352 }, - { 213,7352 }, { 214,7352 }, { 215,7352 }, { 216,7352 }, { 217,7352 }, - { 218,7352 }, { 219,7352 }, { 220,7352 }, { 221,7352 }, { 222,7352 }, - { 223,7352 }, { 224,7352 }, { 225,7352 }, { 226,7352 }, { 227,7352 }, - { 228,7352 }, { 229,7352 }, { 230,7352 }, { 231,7352 }, { 232,7352 }, - - { 233,7352 }, { 234,7352 }, { 235,7352 }, { 236,7352 }, { 237,7352 }, - { 238,7352 }, { 239,7352 }, { 240,7352 }, { 241,7352 }, { 242,7352 }, - { 243,7352 }, { 244,7352 }, { 245,7352 }, { 246,7352 }, { 247,7352 }, - { 248,7352 }, { 249,7352 }, { 250,7352 }, { 251,7352 }, { 252,7352 }, - { 253,7352 }, { 254,7352 }, { 255,7352 }, { 256,7352 }, { 0, 10 }, - { 0,15098 }, { 1,7094 }, { 2,7094 }, { 3,7094 }, { 4,7094 }, - { 5,7094 }, { 6,7094 }, { 7,7094 }, { 8,7094 }, { 9,7094 }, - { 10,7094 }, { 11,7094 }, { 12,7094 }, { 13,7094 }, { 14,7094 }, - { 15,7094 }, { 16,7094 }, { 17,7094 }, { 18,7094 }, { 19,7094 }, - { 20,7094 }, { 21,7094 }, { 22,7094 }, { 23,7094 }, { 24,7094 }, - - { 25,7094 }, { 26,7094 }, { 27,7094 }, { 28,7094 }, { 29,7094 }, - { 30,7094 }, { 31,7094 }, { 32,7094 }, { 33,7094 }, { 34,7094 }, - { 35,7094 }, { 36,7094 }, { 37,7094 }, { 38,7094 }, { 39,3899 }, - { 40,7094 }, { 41,7094 }, { 42,7094 }, { 43,7094 }, { 44,7094 }, - { 45,7094 }, { 46,7094 }, { 47,7094 }, { 48,7094 }, { 49,7094 }, - { 50,7094 }, { 51,7094 }, { 52,7094 }, { 53,7094 }, { 54,7094 }, - { 55,7094 }, { 56,7094 }, { 57,7094 }, { 58,7094 }, { 59,7094 }, - { 60,7094 }, { 61,7094 }, { 62,7094 }, { 63,7094 }, { 64,7094 }, - { 65,7094 }, { 66,7094 }, { 67,7094 }, { 68,7094 }, { 69,7094 }, - { 70,7094 }, { 71,7094 }, { 72,7094 }, { 73,7094 }, { 74,7094 }, - - { 75,7094 }, { 76,7094 }, { 77,7094 }, { 78,7094 }, { 79,7094 }, - { 80,7094 }, { 81,7094 }, { 82,7094 }, { 83,7094 }, { 84,7094 }, - { 85,7094 }, { 86,7094 }, { 87,7094 }, { 88,7094 }, { 89,7094 }, - { 90,7094 }, { 91,7094 }, { 92,7094 }, { 93,7094 }, { 94,7094 }, - { 95,7094 }, { 96,7094 }, { 97,7094 }, { 98,7094 }, { 99,7094 }, - { 100,7094 }, { 101,7094 }, { 102,7094 }, { 103,7094 }, { 104,7094 }, - { 105,7094 }, { 106,7094 }, { 107,7094 }, { 108,7094 }, { 109,7094 }, - { 110,7094 }, { 111,7094 }, { 112,7094 }, { 113,7094 }, { 114,7094 }, - { 115,7094 }, { 116,7094 }, { 117,7094 }, { 118,7094 }, { 119,7094 }, - { 120,7094 }, { 121,7094 }, { 122,7094 }, { 123,7094 }, { 124,7094 }, - - { 125,7094 }, { 126,7094 }, { 127,7094 }, { 128,7094 }, { 129,7094 }, - { 130,7094 }, { 131,7094 }, { 132,7094 }, { 133,7094 }, { 134,7094 }, - { 135,7094 }, { 136,7094 }, { 137,7094 }, { 138,7094 }, { 139,7094 }, - { 140,7094 }, { 141,7094 }, { 142,7094 }, { 143,7094 }, { 144,7094 }, - { 145,7094 }, { 146,7094 }, { 147,7094 }, { 148,7094 }, { 149,7094 }, - { 150,7094 }, { 151,7094 }, { 152,7094 }, { 153,7094 }, { 154,7094 }, - { 155,7094 }, { 156,7094 }, { 157,7094 }, { 158,7094 }, { 159,7094 }, - { 160,7094 }, { 161,7094 }, { 162,7094 }, { 163,7094 }, { 164,7094 }, - { 165,7094 }, { 166,7094 }, { 167,7094 }, { 168,7094 }, { 169,7094 }, - { 170,7094 }, { 171,7094 }, { 172,7094 }, { 173,7094 }, { 174,7094 }, - - { 175,7094 }, { 176,7094 }, { 177,7094 }, { 178,7094 }, { 179,7094 }, - { 180,7094 }, { 181,7094 }, { 182,7094 }, { 183,7094 }, { 184,7094 }, - { 185,7094 }, { 186,7094 }, { 187,7094 }, { 188,7094 }, { 189,7094 }, - { 190,7094 }, { 191,7094 }, { 192,7094 }, { 193,7094 }, { 194,7094 }, - { 195,7094 }, { 196,7094 }, { 197,7094 }, { 198,7094 }, { 199,7094 }, - { 200,7094 }, { 201,7094 }, { 202,7094 }, { 203,7094 }, { 204,7094 }, - { 205,7094 }, { 206,7094 }, { 207,7094 }, { 208,7094 }, { 209,7094 }, - { 210,7094 }, { 211,7094 }, { 212,7094 }, { 213,7094 }, { 214,7094 }, - { 215,7094 }, { 216,7094 }, { 217,7094 }, { 218,7094 }, { 219,7094 }, - { 220,7094 }, { 221,7094 }, { 222,7094 }, { 223,7094 }, { 224,7094 }, - - { 225,7094 }, { 226,7094 }, { 227,7094 }, { 228,7094 }, { 229,7094 }, - { 230,7094 }, { 231,7094 }, { 232,7094 }, { 233,7094 }, { 234,7094 }, - { 235,7094 }, { 236,7094 }, { 237,7094 }, { 238,7094 }, { 239,7094 }, - { 240,7094 }, { 241,7094 }, { 242,7094 }, { 243,7094 }, { 244,7094 }, - { 245,7094 }, { 246,7094 }, { 247,7094 }, { 248,7094 }, { 249,7094 }, - { 250,7094 }, { 251,7094 }, { 252,7094 }, { 253,7094 }, { 254,7094 }, - { 255,7094 }, { 256,7094 }, { 0, 0 }, { 0,14840 }, { 1,7094 }, - { 2,7094 }, { 3,7094 }, { 4,7094 }, { 5,7094 }, { 6,7094 }, - { 7,7094 }, { 8,7094 }, { 9,7094 }, { 10,7094 }, { 11,7094 }, - { 12,7094 }, { 13,7094 }, { 14,7094 }, { 15,7094 }, { 16,7094 }, - - { 17,7094 }, { 18,7094 }, { 19,7094 }, { 20,7094 }, { 21,7094 }, - { 22,7094 }, { 23,7094 }, { 24,7094 }, { 25,7094 }, { 26,7094 }, - { 27,7094 }, { 28,7094 }, { 29,7094 }, { 30,7094 }, { 31,7094 }, - { 32,7094 }, { 33,7094 }, { 34,7094 }, { 35,7094 }, { 36,7094 }, - { 37,7094 }, { 38,7094 }, { 39,3670 }, { 40,7094 }, { 41,7094 }, - { 42,7094 }, { 43,7094 }, { 44,7094 }, { 45,7094 }, { 46,7094 }, - { 47,7094 }, { 48,7094 }, { 49,7094 }, { 50,7094 }, { 51,7094 }, - { 52,7094 }, { 53,7094 }, { 54,7094 }, { 55,7094 }, { 56,7094 }, - { 57,7094 }, { 58,7094 }, { 59,7094 }, { 60,7094 }, { 61,7094 }, - { 62,7094 }, { 63,7094 }, { 64,7094 }, { 65,7094 }, { 66,7094 }, - - { 67,7094 }, { 68,7094 }, { 69,7094 }, { 70,7094 }, { 71,7094 }, - { 72,7094 }, { 73,7094 }, { 74,7094 }, { 75,7094 }, { 76,7094 }, - { 77,7094 }, { 78,7094 }, { 79,7094 }, { 80,7094 }, { 81,7094 }, - { 82,7094 }, { 83,7094 }, { 84,7094 }, { 85,7094 }, { 86,7094 }, - { 87,7094 }, { 88,7094 }, { 89,7094 }, { 90,7094 }, { 91,7094 }, - { 92,7094 }, { 93,7094 }, { 94,7094 }, { 95,7094 }, { 96,7094 }, - { 97,7094 }, { 98,7094 }, { 99,7094 }, { 100,7094 }, { 101,7094 }, - { 102,7094 }, { 103,7094 }, { 104,7094 }, { 105,7094 }, { 106,7094 }, - { 107,7094 }, { 108,7094 }, { 109,7094 }, { 110,7094 }, { 111,7094 }, - { 112,7094 }, { 113,7094 }, { 114,7094 }, { 115,7094 }, { 116,7094 }, - - { 117,7094 }, { 118,7094 }, { 119,7094 }, { 120,7094 }, { 121,7094 }, - { 122,7094 }, { 123,7094 }, { 124,7094 }, { 125,7094 }, { 126,7094 }, - { 127,7094 }, { 128,7094 }, { 129,7094 }, { 130,7094 }, { 131,7094 }, - { 132,7094 }, { 133,7094 }, { 134,7094 }, { 135,7094 }, { 136,7094 }, - { 137,7094 }, { 138,7094 }, { 139,7094 }, { 140,7094 }, { 141,7094 }, - { 142,7094 }, { 143,7094 }, { 144,7094 }, { 145,7094 }, { 146,7094 }, - { 147,7094 }, { 148,7094 }, { 149,7094 }, { 150,7094 }, { 151,7094 }, - { 152,7094 }, { 153,7094 }, { 154,7094 }, { 155,7094 }, { 156,7094 }, - { 157,7094 }, { 158,7094 }, { 159,7094 }, { 160,7094 }, { 161,7094 }, - { 162,7094 }, { 163,7094 }, { 164,7094 }, { 165,7094 }, { 166,7094 }, - - { 167,7094 }, { 168,7094 }, { 169,7094 }, { 170,7094 }, { 171,7094 }, - { 172,7094 }, { 173,7094 }, { 174,7094 }, { 175,7094 }, { 176,7094 }, - { 177,7094 }, { 178,7094 }, { 179,7094 }, { 180,7094 }, { 181,7094 }, - { 182,7094 }, { 183,7094 }, { 184,7094 }, { 185,7094 }, { 186,7094 }, - { 187,7094 }, { 188,7094 }, { 189,7094 }, { 190,7094 }, { 191,7094 }, - { 192,7094 }, { 193,7094 }, { 194,7094 }, { 195,7094 }, { 196,7094 }, - { 197,7094 }, { 198,7094 }, { 199,7094 }, { 200,7094 }, { 201,7094 }, - { 202,7094 }, { 203,7094 }, { 204,7094 }, { 205,7094 }, { 206,7094 }, - { 207,7094 }, { 208,7094 }, { 209,7094 }, { 210,7094 }, { 211,7094 }, - { 212,7094 }, { 213,7094 }, { 214,7094 }, { 215,7094 }, { 216,7094 }, - - { 217,7094 }, { 218,7094 }, { 219,7094 }, { 220,7094 }, { 221,7094 }, - { 222,7094 }, { 223,7094 }, { 224,7094 }, { 225,7094 }, { 226,7094 }, - { 227,7094 }, { 228,7094 }, { 229,7094 }, { 230,7094 }, { 231,7094 }, - { 232,7094 }, { 233,7094 }, { 234,7094 }, { 235,7094 }, { 236,7094 }, - { 237,7094 }, { 238,7094 }, { 239,7094 }, { 240,7094 }, { 241,7094 }, - { 242,7094 }, { 243,7094 }, { 244,7094 }, { 245,7094 }, { 246,7094 }, - { 247,7094 }, { 248,7094 }, { 249,7094 }, { 250,7094 }, { 251,7094 }, - { 252,7094 }, { 253,7094 }, { 254,7094 }, { 255,7094 }, { 256,7094 }, - { 0, 0 }, { 0,14582 }, { 1,6836 }, { 2,6836 }, { 3,6836 }, - { 4,6836 }, { 5,6836 }, { 6,6836 }, { 7,6836 }, { 8,6836 }, - - { 9,6836 }, { 10,6836 }, { 11,6836 }, { 12,6836 }, { 13,6836 }, - { 14,6836 }, { 15,6836 }, { 16,6836 }, { 17,6836 }, { 18,6836 }, - { 19,6836 }, { 20,6836 }, { 21,6836 }, { 22,6836 }, { 23,6836 }, - { 24,6836 }, { 25,6836 }, { 26,6836 }, { 27,6836 }, { 28,6836 }, - { 29,6836 }, { 30,6836 }, { 31,6836 }, { 32,6836 }, { 33,6836 }, - { 34,6836 }, { 35,6836 }, { 36,6836 }, { 37,6836 }, { 38,6836 }, - { 39,3412 }, { 40,6836 }, { 41,6836 }, { 42,6836 }, { 43,6836 }, - { 44,6836 }, { 45,6836 }, { 46,6836 }, { 47,6836 }, { 48,6836 }, - { 49,6836 }, { 50,6836 }, { 51,6836 }, { 52,6836 }, { 53,6836 }, - { 54,6836 }, { 55,6836 }, { 56,6836 }, { 57,6836 }, { 58,6836 }, - - { 59,6836 }, { 60,6836 }, { 61,6836 }, { 62,6836 }, { 63,6836 }, - { 64,6836 }, { 65,6836 }, { 66,6836 }, { 67,6836 }, { 68,6836 }, - { 69,6836 }, { 70,6836 }, { 71,6836 }, { 72,6836 }, { 73,6836 }, - { 74,6836 }, { 75,6836 }, { 76,6836 }, { 77,6836 }, { 78,6836 }, - { 79,6836 }, { 80,6836 }, { 81,6836 }, { 82,6836 }, { 83,6836 }, - { 84,6836 }, { 85,6836 }, { 86,6836 }, { 87,6836 }, { 88,6836 }, - { 89,6836 }, { 90,6836 }, { 91,6836 }, { 92,6836 }, { 93,6836 }, - { 94,6836 }, { 95,6836 }, { 96,6836 }, { 97,6836 }, { 98,6836 }, - { 99,6836 }, { 100,6836 }, { 101,6836 }, { 102,6836 }, { 103,6836 }, - { 104,6836 }, { 105,6836 }, { 106,6836 }, { 107,6836 }, { 108,6836 }, - - { 109,6836 }, { 110,6836 }, { 111,6836 }, { 112,6836 }, { 113,6836 }, - { 114,6836 }, { 115,6836 }, { 116,6836 }, { 117,6836 }, { 118,6836 }, - { 119,6836 }, { 120,6836 }, { 121,6836 }, { 122,6836 }, { 123,6836 }, - { 124,6836 }, { 125,6836 }, { 126,6836 }, { 127,6836 }, { 128,6836 }, - { 129,6836 }, { 130,6836 }, { 131,6836 }, { 132,6836 }, { 133,6836 }, - { 134,6836 }, { 135,6836 }, { 136,6836 }, { 137,6836 }, { 138,6836 }, - { 139,6836 }, { 140,6836 }, { 141,6836 }, { 142,6836 }, { 143,6836 }, - { 144,6836 }, { 145,6836 }, { 146,6836 }, { 147,6836 }, { 148,6836 }, - { 149,6836 }, { 150,6836 }, { 151,6836 }, { 152,6836 }, { 153,6836 }, - { 154,6836 }, { 155,6836 }, { 156,6836 }, { 157,6836 }, { 158,6836 }, - - { 159,6836 }, { 160,6836 }, { 161,6836 }, { 162,6836 }, { 163,6836 }, - { 164,6836 }, { 165,6836 }, { 166,6836 }, { 167,6836 }, { 168,6836 }, - { 169,6836 }, { 170,6836 }, { 171,6836 }, { 172,6836 }, { 173,6836 }, - { 174,6836 }, { 175,6836 }, { 176,6836 }, { 177,6836 }, { 178,6836 }, - { 179,6836 }, { 180,6836 }, { 181,6836 }, { 182,6836 }, { 183,6836 }, - { 184,6836 }, { 185,6836 }, { 186,6836 }, { 187,6836 }, { 188,6836 }, - { 189,6836 }, { 190,6836 }, { 191,6836 }, { 192,6836 }, { 193,6836 }, - { 194,6836 }, { 195,6836 }, { 196,6836 }, { 197,6836 }, { 198,6836 }, - { 199,6836 }, { 200,6836 }, { 201,6836 }, { 202,6836 }, { 203,6836 }, - { 204,6836 }, { 205,6836 }, { 206,6836 }, { 207,6836 }, { 208,6836 }, - - { 209,6836 }, { 210,6836 }, { 211,6836 }, { 212,6836 }, { 213,6836 }, - { 214,6836 }, { 215,6836 }, { 216,6836 }, { 217,6836 }, { 218,6836 }, - { 219,6836 }, { 220,6836 }, { 221,6836 }, { 222,6836 }, { 223,6836 }, - { 224,6836 }, { 225,6836 }, { 226,6836 }, { 227,6836 }, { 228,6836 }, - { 229,6836 }, { 230,6836 }, { 231,6836 }, { 232,6836 }, { 233,6836 }, - { 234,6836 }, { 235,6836 }, { 236,6836 }, { 237,6836 }, { 238,6836 }, - { 239,6836 }, { 240,6836 }, { 241,6836 }, { 242,6836 }, { 243,6836 }, - { 244,6836 }, { 245,6836 }, { 246,6836 }, { 247,6836 }, { 248,6836 }, - { 249,6836 }, { 250,6836 }, { 251,6836 }, { 252,6836 }, { 253,6836 }, - { 254,6836 }, { 255,6836 }, { 256,6836 }, { 0, 19 }, { 0,14324 }, + { 44,5958 }, { 45,6317 }, { 46,6336 }, { 47,6407 }, { 48,6439 }, + { 49,6696 }, { 50,6696 }, { 51,6696 }, { 52,6696 }, { 53,6696 }, + { 54,6696 }, { 55,6696 }, { 56,6696 }, { 57,6696 }, { 58,5961 }, + { 59,5958 }, { 60,6953 }, { 61,6964 }, { 62,7031 }, { 63,5983 }, + { 64,5983 }, { 65,7063 }, { 66,7320 }, { 67,7063 }, { 68,7063 }, + { 69,7577 }, { 70,7063 }, { 71,7063 }, { 72,7063 }, { 73,7063 }, + { 74,7063 }, { 75,7063 }, { 76,7063 }, { 77,7063 }, { 78,7834 }, + { 79,7063 }, { 80,7063 }, { 81,7063 }, { 82,7063 }, { 83,7063 }, + { 84,7063 }, { 85,8091 }, { 86,7063 }, { 87,7063 }, { 88,8348 }, + + { 89,7063 }, { 90,7063 }, { 91,5958 }, { 92,5934 }, { 93,5958 }, + { 94,6306 }, { 95,7063 }, { 96,5983 }, { 97,7063 }, { 98,7320 }, + { 99,7063 }, { 100,7063 }, { 101,7577 }, { 102,7063 }, { 103,7063 }, + { 104,7063 }, { 105,7063 }, { 106,7063 }, { 107,7063 }, { 108,7063 }, + { 109,7063 }, { 110,7834 }, { 111,7063 }, { 112,7063 }, { 113,7063 }, + { 114,7063 }, { 115,7063 }, { 116,7063 }, { 117,8091 }, { 118,7063 }, + { 119,7063 }, { 120,8348 }, { 121,7063 }, { 122,7063 }, { 123,5934 }, + { 124,5983 }, { 125,5934 }, { 126,5983 }, { 127,5934 }, { 128,7063 }, + { 129,7063 }, { 130,7063 }, { 131,7063 }, { 132,7063 }, { 133,7063 }, + { 134,7063 }, { 135,7063 }, { 136,7063 }, { 137,7063 }, { 138,7063 }, + + { 139,7063 }, { 140,7063 }, { 141,7063 }, { 142,7063 }, { 143,7063 }, + { 144,7063 }, { 145,7063 }, { 146,7063 }, { 147,7063 }, { 148,7063 }, + { 149,7063 }, { 150,7063 }, { 151,7063 }, { 152,7063 }, { 153,7063 }, + { 154,7063 }, { 155,7063 }, { 156,7063 }, { 157,7063 }, { 158,7063 }, + { 159,7063 }, { 160,7063 }, { 161,7063 }, { 162,7063 }, { 163,7063 }, + { 164,7063 }, { 165,7063 }, { 166,7063 }, { 167,7063 }, { 168,7063 }, + { 169,7063 }, { 170,7063 }, { 171,7063 }, { 172,7063 }, { 173,7063 }, + { 174,7063 }, { 175,7063 }, { 176,7063 }, { 177,7063 }, { 178,7063 }, + { 179,7063 }, { 180,7063 }, { 181,7063 }, { 182,7063 }, { 183,7063 }, + { 184,7063 }, { 185,7063 }, { 186,7063 }, { 187,7063 }, { 188,7063 }, + + { 189,7063 }, { 190,7063 }, { 191,7063 }, { 192,7063 }, { 193,7063 }, + { 194,7063 }, { 195,7063 }, { 196,7063 }, { 197,7063 }, { 198,7063 }, + { 199,7063 }, { 200,7063 }, { 201,7063 }, { 202,7063 }, { 203,7063 }, + { 204,7063 }, { 205,7063 }, { 206,7063 }, { 207,7063 }, { 208,7063 }, + { 209,7063 }, { 210,7063 }, { 211,7063 }, { 212,7063 }, { 213,7063 }, + { 214,7063 }, { 215,7063 }, { 216,7063 }, { 217,7063 }, { 218,7063 }, + { 219,7063 }, { 220,7063 }, { 221,7063 }, { 222,7063 }, { 223,7063 }, + { 224,7063 }, { 225,7063 }, { 226,7063 }, { 227,7063 }, { 228,7063 }, + { 229,7063 }, { 230,7063 }, { 231,7063 }, { 232,7063 }, { 233,7063 }, + { 234,7063 }, { 235,7063 }, { 236,7063 }, { 237,7063 }, { 238,7063 }, + + { 239,7063 }, { 240,7063 }, { 241,7063 }, { 242,7063 }, { 243,7063 }, + { 244,7063 }, { 245,7063 }, { 246,7063 }, { 247,7063 }, { 248,7063 }, + { 249,7063 }, { 250,7063 }, { 251,7063 }, { 252,7063 }, { 253,7063 }, + { 254,7063 }, { 255,7063 }, { 256,5934 }, { 0, 11 }, { 0,32903 }, + { 1,8347 }, { 2,8347 }, { 3,8347 }, { 4,8347 }, { 5,8347 }, + { 6,8347 }, { 7,8347 }, { 8,8347 }, { 9,8347 }, { 10,8347 }, + { 11,8347 }, { 12,8347 }, { 13,8347 }, { 14,8347 }, { 15,8347 }, + { 16,8347 }, { 17,8347 }, { 18,8347 }, { 19,8347 }, { 20,8347 }, + { 21,8347 }, { 22,8347 }, { 23,8347 }, { 24,8347 }, { 25,8347 }, + { 26,8347 }, { 27,8347 }, { 28,8347 }, { 29,8347 }, { 30,8347 }, + + { 31,8347 }, { 32,8347 }, { 33,8347 }, { 34,8347 }, { 35,8347 }, + { 36,8347 }, { 37,8347 }, { 38,8347 }, { 39,5705 }, { 40,8347 }, + { 41,8347 }, { 42,8347 }, { 43,8347 }, { 44,8347 }, { 45,8347 }, + { 46,8347 }, { 47,8347 }, { 48,8347 }, { 49,8347 }, { 50,8347 }, + { 51,8347 }, { 52,8347 }, { 53,8347 }, { 54,8347 }, { 55,8347 }, + { 56,8347 }, { 57,8347 }, { 58,8347 }, { 59,8347 }, { 60,8347 }, + { 61,8347 }, { 62,8347 }, { 63,8347 }, { 64,8347 }, { 65,8347 }, + { 66,8347 }, { 67,8347 }, { 68,8347 }, { 69,8347 }, { 70,8347 }, + { 71,8347 }, { 72,8347 }, { 73,8347 }, { 74,8347 }, { 75,8347 }, + { 76,8347 }, { 77,8347 }, { 78,8347 }, { 79,8347 }, { 80,8347 }, + + { 81,8347 }, { 82,8347 }, { 83,8347 }, { 84,8347 }, { 85,8347 }, + { 86,8347 }, { 87,8347 }, { 88,8347 }, { 89,8347 }, { 90,8347 }, + { 91,8347 }, { 92,8347 }, { 93,8347 }, { 94,8347 }, { 95,8347 }, + { 96,8347 }, { 97,8347 }, { 98,8347 }, { 99,8347 }, { 100,8347 }, + { 101,8347 }, { 102,8347 }, { 103,8347 }, { 104,8347 }, { 105,8347 }, + { 106,8347 }, { 107,8347 }, { 108,8347 }, { 109,8347 }, { 110,8347 }, + { 111,8347 }, { 112,8347 }, { 113,8347 }, { 114,8347 }, { 115,8347 }, + { 116,8347 }, { 117,8347 }, { 118,8347 }, { 119,8347 }, { 120,8347 }, + { 121,8347 }, { 122,8347 }, { 123,8347 }, { 124,8347 }, { 125,8347 }, + { 126,8347 }, { 127,8347 }, { 128,8347 }, { 129,8347 }, { 130,8347 }, + + { 131,8347 }, { 132,8347 }, { 133,8347 }, { 134,8347 }, { 135,8347 }, + { 136,8347 }, { 137,8347 }, { 138,8347 }, { 139,8347 }, { 140,8347 }, + { 141,8347 }, { 142,8347 }, { 143,8347 }, { 144,8347 }, { 145,8347 }, + { 146,8347 }, { 147,8347 }, { 148,8347 }, { 149,8347 }, { 150,8347 }, + { 151,8347 }, { 152,8347 }, { 153,8347 }, { 154,8347 }, { 155,8347 }, + { 156,8347 }, { 157,8347 }, { 158,8347 }, { 159,8347 }, { 160,8347 }, + { 161,8347 }, { 162,8347 }, { 163,8347 }, { 164,8347 }, { 165,8347 }, + { 166,8347 }, { 167,8347 }, { 168,8347 }, { 169,8347 }, { 170,8347 }, + { 171,8347 }, { 172,8347 }, { 173,8347 }, { 174,8347 }, { 175,8347 }, + { 176,8347 }, { 177,8347 }, { 178,8347 }, { 179,8347 }, { 180,8347 }, + + { 181,8347 }, { 182,8347 }, { 183,8347 }, { 184,8347 }, { 185,8347 }, + { 186,8347 }, { 187,8347 }, { 188,8347 }, { 189,8347 }, { 190,8347 }, + { 191,8347 }, { 192,8347 }, { 193,8347 }, { 194,8347 }, { 195,8347 }, + { 196,8347 }, { 197,8347 }, { 198,8347 }, { 199,8347 }, { 200,8347 }, + { 201,8347 }, { 202,8347 }, { 203,8347 }, { 204,8347 }, { 205,8347 }, + { 206,8347 }, { 207,8347 }, { 208,8347 }, { 209,8347 }, { 210,8347 }, + { 211,8347 }, { 212,8347 }, { 213,8347 }, { 214,8347 }, { 215,8347 }, + { 216,8347 }, { 217,8347 }, { 218,8347 }, { 219,8347 }, { 220,8347 }, + { 221,8347 }, { 222,8347 }, { 223,8347 }, { 224,8347 }, { 225,8347 }, + { 226,8347 }, { 227,8347 }, { 228,8347 }, { 229,8347 }, { 230,8347 }, + + { 231,8347 }, { 232,8347 }, { 233,8347 }, { 234,8347 }, { 235,8347 }, + { 236,8347 }, { 237,8347 }, { 238,8347 }, { 239,8347 }, { 240,8347 }, + { 241,8347 }, { 242,8347 }, { 243,8347 }, { 244,8347 }, { 245,8347 }, + { 246,8347 }, { 247,8347 }, { 248,8347 }, { 249,8347 }, { 250,8347 }, + { 251,8347 }, { 252,8347 }, { 253,8347 }, { 254,8347 }, { 255,8347 }, + { 256,8347 }, { 0, 11 }, { 0,32645 }, { 1,8089 }, { 2,8089 }, + { 3,8089 }, { 4,8089 }, { 5,8089 }, { 6,8089 }, { 7,8089 }, + { 8,8089 }, { 9,8089 }, { 10,8089 }, { 11,8089 }, { 12,8089 }, + { 13,8089 }, { 14,8089 }, { 15,8089 }, { 16,8089 }, { 17,8089 }, + { 18,8089 }, { 19,8089 }, { 20,8089 }, { 21,8089 }, { 22,8089 }, + + { 23,8089 }, { 24,8089 }, { 25,8089 }, { 26,8089 }, { 27,8089 }, + { 28,8089 }, { 29,8089 }, { 30,8089 }, { 31,8089 }, { 32,8089 }, + { 33,8089 }, { 34,8089 }, { 35,8089 }, { 36,8089 }, { 37,8089 }, + { 38,8089 }, { 39,5447 }, { 40,8089 }, { 41,8089 }, { 42,8089 }, + { 43,8089 }, { 44,8089 }, { 45,8089 }, { 46,8089 }, { 47,8089 }, + { 48,8089 }, { 49,8089 }, { 50,8089 }, { 51,8089 }, { 52,8089 }, + { 53,8089 }, { 54,8089 }, { 55,8089 }, { 56,8089 }, { 57,8089 }, + { 58,8089 }, { 59,8089 }, { 60,8089 }, { 61,8089 }, { 62,8089 }, + { 63,8089 }, { 64,8089 }, { 65,8089 }, { 66,8089 }, { 67,8089 }, + { 68,8089 }, { 69,8089 }, { 70,8089 }, { 71,8089 }, { 72,8089 }, + + { 73,8089 }, { 74,8089 }, { 75,8089 }, { 76,8089 }, { 77,8089 }, + { 78,8089 }, { 79,8089 }, { 80,8089 }, { 81,8089 }, { 82,8089 }, + { 83,8089 }, { 84,8089 }, { 85,8089 }, { 86,8089 }, { 87,8089 }, + { 88,8089 }, { 89,8089 }, { 90,8089 }, { 91,8089 }, { 92,8089 }, + { 93,8089 }, { 94,8089 }, { 95,8089 }, { 96,8089 }, { 97,8089 }, + { 98,8089 }, { 99,8089 }, { 100,8089 }, { 101,8089 }, { 102,8089 }, + { 103,8089 }, { 104,8089 }, { 105,8089 }, { 106,8089 }, { 107,8089 }, + { 108,8089 }, { 109,8089 }, { 110,8089 }, { 111,8089 }, { 112,8089 }, + { 113,8089 }, { 114,8089 }, { 115,8089 }, { 116,8089 }, { 117,8089 }, + { 118,8089 }, { 119,8089 }, { 120,8089 }, { 121,8089 }, { 122,8089 }, + + { 123,8089 }, { 124,8089 }, { 125,8089 }, { 126,8089 }, { 127,8089 }, + { 128,8089 }, { 129,8089 }, { 130,8089 }, { 131,8089 }, { 132,8089 }, + { 133,8089 }, { 134,8089 }, { 135,8089 }, { 136,8089 }, { 137,8089 }, + { 138,8089 }, { 139,8089 }, { 140,8089 }, { 141,8089 }, { 142,8089 }, + { 143,8089 }, { 144,8089 }, { 145,8089 }, { 146,8089 }, { 147,8089 }, + { 148,8089 }, { 149,8089 }, { 150,8089 }, { 151,8089 }, { 152,8089 }, + { 153,8089 }, { 154,8089 }, { 155,8089 }, { 156,8089 }, { 157,8089 }, + { 158,8089 }, { 159,8089 }, { 160,8089 }, { 161,8089 }, { 162,8089 }, + { 163,8089 }, { 164,8089 }, { 165,8089 }, { 166,8089 }, { 167,8089 }, + { 168,8089 }, { 169,8089 }, { 170,8089 }, { 171,8089 }, { 172,8089 }, + + { 173,8089 }, { 174,8089 }, { 175,8089 }, { 176,8089 }, { 177,8089 }, + { 178,8089 }, { 179,8089 }, { 180,8089 }, { 181,8089 }, { 182,8089 }, + { 183,8089 }, { 184,8089 }, { 185,8089 }, { 186,8089 }, { 187,8089 }, + { 188,8089 }, { 189,8089 }, { 190,8089 }, { 191,8089 }, { 192,8089 }, + { 193,8089 }, { 194,8089 }, { 195,8089 }, { 196,8089 }, { 197,8089 }, + { 198,8089 }, { 199,8089 }, { 200,8089 }, { 201,8089 }, { 202,8089 }, + { 203,8089 }, { 204,8089 }, { 205,8089 }, { 206,8089 }, { 207,8089 }, + { 208,8089 }, { 209,8089 }, { 210,8089 }, { 211,8089 }, { 212,8089 }, + { 213,8089 }, { 214,8089 }, { 215,8089 }, { 216,8089 }, { 217,8089 }, + { 218,8089 }, { 219,8089 }, { 220,8089 }, { 221,8089 }, { 222,8089 }, + + { 223,8089 }, { 224,8089 }, { 225,8089 }, { 226,8089 }, { 227,8089 }, + { 228,8089 }, { 229,8089 }, { 230,8089 }, { 231,8089 }, { 232,8089 }, + { 233,8089 }, { 234,8089 }, { 235,8089 }, { 236,8089 }, { 237,8089 }, + { 238,8089 }, { 239,8089 }, { 240,8089 }, { 241,8089 }, { 242,8089 }, + { 243,8089 }, { 244,8089 }, { 245,8089 }, { 246,8089 }, { 247,8089 }, + { 248,8089 }, { 249,8089 }, { 250,8089 }, { 251,8089 }, { 252,8089 }, + { 253,8089 }, { 254,8089 }, { 255,8089 }, { 256,8089 }, { 0, 0 }, + { 0,32387 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, { 4,8089 }, + { 5,8089 }, { 6,8089 }, { 7,8089 }, { 8,8089 }, { 9,8089 }, + { 10,8089 }, { 11,8089 }, { 12,8089 }, { 13,8089 }, { 14,8089 }, + + { 15,8089 }, { 16,8089 }, { 17,8089 }, { 18,8089 }, { 19,8089 }, + { 20,8089 }, { 21,8089 }, { 22,8089 }, { 23,8089 }, { 24,8089 }, + { 25,8089 }, { 26,8089 }, { 27,8089 }, { 28,8089 }, { 29,8089 }, + { 30,8089 }, { 31,8089 }, { 32,8089 }, { 33,8347 }, { 34,8089 }, + { 35,8347 }, { 36,8089 }, { 37,8347 }, { 38,8347 }, { 39,8089 }, + { 40,8089 }, { 41,8089 }, { 42,5192 }, { 43,8347 }, { 44,8089 }, + { 45,8347 }, { 46,8089 }, { 47,5196 }, { 48,8089 }, { 49,8089 }, + { 50,8089 }, { 51,8089 }, { 52,8089 }, { 53,8089 }, { 54,8089 }, + { 55,8089 }, { 56,8089 }, { 57,8089 }, { 58,8089 }, { 59,8089 }, + { 60,8347 }, { 61,8347 }, { 62,8347 }, { 63,8347 }, { 64,8347 }, + + { 65,8089 }, { 66,8089 }, { 67,8089 }, { 68,8089 }, { 69,8089 }, + { 70,8089 }, { 71,8089 }, { 72,8089 }, { 73,8089 }, { 74,8089 }, + { 75,8089 }, { 76,8089 }, { 77,8089 }, { 78,8089 }, { 79,8089 }, + { 80,8089 }, { 81,8089 }, { 82,8089 }, { 83,8089 }, { 84,8089 }, + { 85,8089 }, { 86,8089 }, { 87,8089 }, { 88,8089 }, { 89,8089 }, + { 90,8089 }, { 91,8089 }, { 92,8089 }, { 93,8089 }, { 94,8347 }, + { 95,8089 }, { 96,8347 }, { 97,8089 }, { 98,8089 }, { 99,8089 }, + { 100,8089 }, { 101,8089 }, { 102,8089 }, { 103,8089 }, { 104,8089 }, + { 105,8089 }, { 106,8089 }, { 107,8089 }, { 108,8089 }, { 109,8089 }, + { 110,8089 }, { 111,8089 }, { 112,8089 }, { 113,8089 }, { 114,8089 }, + + { 115,8089 }, { 116,8089 }, { 117,8089 }, { 118,8089 }, { 119,8089 }, + { 120,8089 }, { 121,8089 }, { 122,8089 }, { 123,8089 }, { 124,8347 }, + { 125,8089 }, { 126,8347 }, { 127,8089 }, { 128,8089 }, { 129,8089 }, + { 130,8089 }, { 131,8089 }, { 132,8089 }, { 133,8089 }, { 134,8089 }, + { 135,8089 }, { 136,8089 }, { 137,8089 }, { 138,8089 }, { 139,8089 }, + { 140,8089 }, { 141,8089 }, { 142,8089 }, { 143,8089 }, { 144,8089 }, + { 145,8089 }, { 146,8089 }, { 147,8089 }, { 148,8089 }, { 149,8089 }, + { 150,8089 }, { 151,8089 }, { 152,8089 }, { 153,8089 }, { 154,8089 }, + { 155,8089 }, { 156,8089 }, { 157,8089 }, { 158,8089 }, { 159,8089 }, + { 160,8089 }, { 161,8089 }, { 162,8089 }, { 163,8089 }, { 164,8089 }, + + { 165,8089 }, { 166,8089 }, { 167,8089 }, { 168,8089 }, { 169,8089 }, + { 170,8089 }, { 171,8089 }, { 172,8089 }, { 173,8089 }, { 174,8089 }, + { 175,8089 }, { 176,8089 }, { 177,8089 }, { 178,8089 }, { 179,8089 }, + { 180,8089 }, { 181,8089 }, { 182,8089 }, { 183,8089 }, { 184,8089 }, + { 185,8089 }, { 186,8089 }, { 187,8089 }, { 188,8089 }, { 189,8089 }, + { 190,8089 }, { 191,8089 }, { 192,8089 }, { 193,8089 }, { 194,8089 }, + { 195,8089 }, { 196,8089 }, { 197,8089 }, { 198,8089 }, { 199,8089 }, + { 200,8089 }, { 201,8089 }, { 202,8089 }, { 203,8089 }, { 204,8089 }, + { 205,8089 }, { 206,8089 }, { 207,8089 }, { 208,8089 }, { 209,8089 }, + { 210,8089 }, { 211,8089 }, { 212,8089 }, { 213,8089 }, { 214,8089 }, + + { 215,8089 }, { 216,8089 }, { 217,8089 }, { 218,8089 }, { 219,8089 }, + { 220,8089 }, { 221,8089 }, { 222,8089 }, { 223,8089 }, { 224,8089 }, + { 225,8089 }, { 226,8089 }, { 227,8089 }, { 228,8089 }, { 229,8089 }, + { 230,8089 }, { 231,8089 }, { 232,8089 }, { 233,8089 }, { 234,8089 }, + { 235,8089 }, { 236,8089 }, { 237,8089 }, { 238,8089 }, { 239,8089 }, + { 240,8089 }, { 241,8089 }, { 242,8089 }, { 243,8089 }, { 244,8089 }, + { 245,8089 }, { 246,8089 }, { 247,8089 }, { 248,8089 }, { 249,8089 }, + { 250,8089 }, { 251,8089 }, { 252,8089 }, { 253,8089 }, { 254,8089 }, + { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,32129 }, { 1,7831 }, + { 2,7831 }, { 3,7831 }, { 4,7831 }, { 5,7831 }, { 6,7831 }, + + { 7,7831 }, { 8,7831 }, { 9,7831 }, { 10,7831 }, { 11,7831 }, + { 12,7831 }, { 13,7831 }, { 14,7831 }, { 15,7831 }, { 16,7831 }, + { 17,7831 }, { 18,7831 }, { 19,7831 }, { 20,7831 }, { 21,7831 }, + { 22,7831 }, { 23,7831 }, { 24,7831 }, { 25,7831 }, { 26,7831 }, + { 27,7831 }, { 28,7831 }, { 29,7831 }, { 30,7831 }, { 31,7831 }, + { 32,7831 }, { 33,8089 }, { 34,7831 }, { 35,8089 }, { 36,7831 }, + { 37,8089 }, { 38,8089 }, { 39,7831 }, { 40,7831 }, { 41,7831 }, + { 42,4934 }, { 43,8089 }, { 44,7831 }, { 45,8089 }, { 46,7831 }, + { 47,4938 }, { 48,7831 }, { 49,7831 }, { 50,7831 }, { 51,7831 }, + { 52,7831 }, { 53,7831 }, { 54,7831 }, { 55,7831 }, { 56,7831 }, + + { 57,7831 }, { 58,7831 }, { 59,7831 }, { 60,8089 }, { 61,8089 }, + { 62,8089 }, { 63,8089 }, { 64,8089 }, { 65,7831 }, { 66,7831 }, + { 67,7831 }, { 68,7831 }, { 69,7831 }, { 70,7831 }, { 71,7831 }, + { 72,7831 }, { 73,7831 }, { 74,7831 }, { 75,7831 }, { 76,7831 }, + { 77,7831 }, { 78,7831 }, { 79,7831 }, { 80,7831 }, { 81,7831 }, + { 82,7831 }, { 83,7831 }, { 84,7831 }, { 85,7831 }, { 86,7831 }, + { 87,7831 }, { 88,7831 }, { 89,7831 }, { 90,7831 }, { 91,7831 }, + { 92,7831 }, { 93,7831 }, { 94,8089 }, { 95,7831 }, { 96,8089 }, + { 97,7831 }, { 98,7831 }, { 99,7831 }, { 100,7831 }, { 101,7831 }, + { 102,7831 }, { 103,7831 }, { 104,7831 }, { 105,7831 }, { 106,7831 }, + + { 107,7831 }, { 108,7831 }, { 109,7831 }, { 110,7831 }, { 111,7831 }, + { 112,7831 }, { 113,7831 }, { 114,7831 }, { 115,7831 }, { 116,7831 }, + { 117,7831 }, { 118,7831 }, { 119,7831 }, { 120,7831 }, { 121,7831 }, + { 122,7831 }, { 123,7831 }, { 124,8089 }, { 125,7831 }, { 126,8089 }, + { 127,7831 }, { 128,7831 }, { 129,7831 }, { 130,7831 }, { 131,7831 }, + { 132,7831 }, { 133,7831 }, { 134,7831 }, { 135,7831 }, { 136,7831 }, + { 137,7831 }, { 138,7831 }, { 139,7831 }, { 140,7831 }, { 141,7831 }, + { 142,7831 }, { 143,7831 }, { 144,7831 }, { 145,7831 }, { 146,7831 }, + { 147,7831 }, { 148,7831 }, { 149,7831 }, { 150,7831 }, { 151,7831 }, + { 152,7831 }, { 153,7831 }, { 154,7831 }, { 155,7831 }, { 156,7831 }, + + { 157,7831 }, { 158,7831 }, { 159,7831 }, { 160,7831 }, { 161,7831 }, + { 162,7831 }, { 163,7831 }, { 164,7831 }, { 165,7831 }, { 166,7831 }, + { 167,7831 }, { 168,7831 }, { 169,7831 }, { 170,7831 }, { 171,7831 }, + { 172,7831 }, { 173,7831 }, { 174,7831 }, { 175,7831 }, { 176,7831 }, + { 177,7831 }, { 178,7831 }, { 179,7831 }, { 180,7831 }, { 181,7831 }, + { 182,7831 }, { 183,7831 }, { 184,7831 }, { 185,7831 }, { 186,7831 }, + { 187,7831 }, { 188,7831 }, { 189,7831 }, { 190,7831 }, { 191,7831 }, + { 192,7831 }, { 193,7831 }, { 194,7831 }, { 195,7831 }, { 196,7831 }, + { 197,7831 }, { 198,7831 }, { 199,7831 }, { 200,7831 }, { 201,7831 }, + { 202,7831 }, { 203,7831 }, { 204,7831 }, { 205,7831 }, { 206,7831 }, + + { 207,7831 }, { 208,7831 }, { 209,7831 }, { 210,7831 }, { 211,7831 }, + { 212,7831 }, { 213,7831 }, { 214,7831 }, { 215,7831 }, { 216,7831 }, + { 217,7831 }, { 218,7831 }, { 219,7831 }, { 220,7831 }, { 221,7831 }, + { 222,7831 }, { 223,7831 }, { 224,7831 }, { 225,7831 }, { 226,7831 }, + { 227,7831 }, { 228,7831 }, { 229,7831 }, { 230,7831 }, { 231,7831 }, + { 232,7831 }, { 233,7831 }, { 234,7831 }, { 235,7831 }, { 236,7831 }, + { 237,7831 }, { 238,7831 }, { 239,7831 }, { 240,7831 }, { 241,7831 }, + { 242,7831 }, { 243,7831 }, { 244,7831 }, { 245,7831 }, { 246,7831 }, + { 247,7831 }, { 248,7831 }, { 249,7831 }, { 250,7831 }, { 251,7831 }, + { 252,7831 }, { 253,7831 }, { 254,7831 }, { 255,7831 }, { 256,7831 }, + + { 0, 0 }, { 0,31871 }, { 1,8089 }, { 2,8089 }, { 3,8089 }, + { 4,8089 }, { 5,8089 }, { 6,8089 }, { 7,8089 }, { 8,8089 }, + { 9,8089 }, { 10,8089 }, { 11,8089 }, { 12,8089 }, { 13,8089 }, + { 14,8089 }, { 15,8089 }, { 16,8089 }, { 17,8089 }, { 18,8089 }, + { 19,8089 }, { 20,8089 }, { 21,8089 }, { 22,8089 }, { 23,8089 }, + { 24,8089 }, { 25,8089 }, { 26,8089 }, { 27,8089 }, { 28,8089 }, + { 29,8089 }, { 30,8089 }, { 31,8089 }, { 32,8089 }, { 33,8089 }, + { 34,4685 }, { 35,8089 }, { 36,8089 }, { 37,8089 }, { 38,8089 }, + { 39,8089 }, { 40,8089 }, { 41,8089 }, { 42,8089 }, { 43,8089 }, + { 44,8089 }, { 45,8089 }, { 46,8089 }, { 47,8089 }, { 48,8089 }, + + { 49,8089 }, { 50,8089 }, { 51,8089 }, { 52,8089 }, { 53,8089 }, + { 54,8089 }, { 55,8089 }, { 56,8089 }, { 57,8089 }, { 58,8089 }, + { 59,8089 }, { 60,8089 }, { 61,8089 }, { 62,8089 }, { 63,8089 }, + { 64,8089 }, { 65,8089 }, { 66,8089 }, { 67,8089 }, { 68,8089 }, + { 69,8089 }, { 70,8089 }, { 71,8089 }, { 72,8089 }, { 73,8089 }, + { 74,8089 }, { 75,8089 }, { 76,8089 }, { 77,8089 }, { 78,8089 }, + { 79,8089 }, { 80,8089 }, { 81,8089 }, { 82,8089 }, { 83,8089 }, + { 84,8089 }, { 85,8089 }, { 86,8089 }, { 87,8089 }, { 88,8089 }, + { 89,8089 }, { 90,8089 }, { 91,8089 }, { 92,8089 }, { 93,8089 }, + { 94,8089 }, { 95,8089 }, { 96,8089 }, { 97,8089 }, { 98,8089 }, + + { 99,8089 }, { 100,8089 }, { 101,8089 }, { 102,8089 }, { 103,8089 }, + { 104,8089 }, { 105,8089 }, { 106,8089 }, { 107,8089 }, { 108,8089 }, + { 109,8089 }, { 110,8089 }, { 111,8089 }, { 112,8089 }, { 113,8089 }, + { 114,8089 }, { 115,8089 }, { 116,8089 }, { 117,8089 }, { 118,8089 }, + { 119,8089 }, { 120,8089 }, { 121,8089 }, { 122,8089 }, { 123,8089 }, + { 124,8089 }, { 125,8089 }, { 126,8089 }, { 127,8089 }, { 128,8089 }, + { 129,8089 }, { 130,8089 }, { 131,8089 }, { 132,8089 }, { 133,8089 }, + { 134,8089 }, { 135,8089 }, { 136,8089 }, { 137,8089 }, { 138,8089 }, + { 139,8089 }, { 140,8089 }, { 141,8089 }, { 142,8089 }, { 143,8089 }, + { 144,8089 }, { 145,8089 }, { 146,8089 }, { 147,8089 }, { 148,8089 }, + + { 149,8089 }, { 150,8089 }, { 151,8089 }, { 152,8089 }, { 153,8089 }, + { 154,8089 }, { 155,8089 }, { 156,8089 }, { 157,8089 }, { 158,8089 }, + { 159,8089 }, { 160,8089 }, { 161,8089 }, { 162,8089 }, { 163,8089 }, + { 164,8089 }, { 165,8089 }, { 166,8089 }, { 167,8089 }, { 168,8089 }, + { 169,8089 }, { 170,8089 }, { 171,8089 }, { 172,8089 }, { 173,8089 }, + { 174,8089 }, { 175,8089 }, { 176,8089 }, { 177,8089 }, { 178,8089 }, + { 179,8089 }, { 180,8089 }, { 181,8089 }, { 182,8089 }, { 183,8089 }, + { 184,8089 }, { 185,8089 }, { 186,8089 }, { 187,8089 }, { 188,8089 }, + { 189,8089 }, { 190,8089 }, { 191,8089 }, { 192,8089 }, { 193,8089 }, + { 194,8089 }, { 195,8089 }, { 196,8089 }, { 197,8089 }, { 198,8089 }, + + { 199,8089 }, { 200,8089 }, { 201,8089 }, { 202,8089 }, { 203,8089 }, + { 204,8089 }, { 205,8089 }, { 206,8089 }, { 207,8089 }, { 208,8089 }, + { 209,8089 }, { 210,8089 }, { 211,8089 }, { 212,8089 }, { 213,8089 }, + { 214,8089 }, { 215,8089 }, { 216,8089 }, { 217,8089 }, { 218,8089 }, + { 219,8089 }, { 220,8089 }, { 221,8089 }, { 222,8089 }, { 223,8089 }, + { 224,8089 }, { 225,8089 }, { 226,8089 }, { 227,8089 }, { 228,8089 }, + { 229,8089 }, { 230,8089 }, { 231,8089 }, { 232,8089 }, { 233,8089 }, + { 234,8089 }, { 235,8089 }, { 236,8089 }, { 237,8089 }, { 238,8089 }, + { 239,8089 }, { 240,8089 }, { 241,8089 }, { 242,8089 }, { 243,8089 }, + { 244,8089 }, { 245,8089 }, { 246,8089 }, { 247,8089 }, { 248,8089 }, + + { 249,8089 }, { 250,8089 }, { 251,8089 }, { 252,8089 }, { 253,8089 }, + { 254,8089 }, { 255,8089 }, { 256,8089 }, { 0, 0 }, { 0,31613 }, + { 1,7831 }, { 2,7831 }, { 3,7831 }, { 4,7831 }, { 5,7831 }, + { 6,7831 }, { 7,7831 }, { 8,7831 }, { 9,7831 }, { 10,7831 }, + { 11,7831 }, { 12,7831 }, { 13,7831 }, { 14,7831 }, { 15,7831 }, + { 16,7831 }, { 17,7831 }, { 18,7831 }, { 19,7831 }, { 20,7831 }, + { 21,7831 }, { 22,7831 }, { 23,7831 }, { 24,7831 }, { 25,7831 }, + { 26,7831 }, { 27,7831 }, { 28,7831 }, { 29,7831 }, { 30,7831 }, + { 31,7831 }, { 32,7831 }, { 33,7831 }, { 34,4427 }, { 35,7831 }, + { 36,7831 }, { 37,7831 }, { 38,7831 }, { 39,7831 }, { 40,7831 }, + + { 41,7831 }, { 42,7831 }, { 43,7831 }, { 44,7831 }, { 45,7831 }, + { 46,7831 }, { 47,7831 }, { 48,7831 }, { 49,7831 }, { 50,7831 }, + { 51,7831 }, { 52,7831 }, { 53,7831 }, { 54,7831 }, { 55,7831 }, + { 56,7831 }, { 57,7831 }, { 58,7831 }, { 59,7831 }, { 60,7831 }, + { 61,7831 }, { 62,7831 }, { 63,7831 }, { 64,7831 }, { 65,7831 }, + { 66,7831 }, { 67,7831 }, { 68,7831 }, { 69,7831 }, { 70,7831 }, + { 71,7831 }, { 72,7831 }, { 73,7831 }, { 74,7831 }, { 75,7831 }, + { 76,7831 }, { 77,7831 }, { 78,7831 }, { 79,7831 }, { 80,7831 }, + { 81,7831 }, { 82,7831 }, { 83,7831 }, { 84,7831 }, { 85,7831 }, + { 86,7831 }, { 87,7831 }, { 88,7831 }, { 89,7831 }, { 90,7831 }, + + { 91,7831 }, { 92,7831 }, { 93,7831 }, { 94,7831 }, { 95,7831 }, + { 96,7831 }, { 97,7831 }, { 98,7831 }, { 99,7831 }, { 100,7831 }, + { 101,7831 }, { 102,7831 }, { 103,7831 }, { 104,7831 }, { 105,7831 }, + { 106,7831 }, { 107,7831 }, { 108,7831 }, { 109,7831 }, { 110,7831 }, + { 111,7831 }, { 112,7831 }, { 113,7831 }, { 114,7831 }, { 115,7831 }, + { 116,7831 }, { 117,7831 }, { 118,7831 }, { 119,7831 }, { 120,7831 }, + { 121,7831 }, { 122,7831 }, { 123,7831 }, { 124,7831 }, { 125,7831 }, + { 126,7831 }, { 127,7831 }, { 128,7831 }, { 129,7831 }, { 130,7831 }, + { 131,7831 }, { 132,7831 }, { 133,7831 }, { 134,7831 }, { 135,7831 }, + { 136,7831 }, { 137,7831 }, { 138,7831 }, { 139,7831 }, { 140,7831 }, + + { 141,7831 }, { 142,7831 }, { 143,7831 }, { 144,7831 }, { 145,7831 }, + { 146,7831 }, { 147,7831 }, { 148,7831 }, { 149,7831 }, { 150,7831 }, + { 151,7831 }, { 152,7831 }, { 153,7831 }, { 154,7831 }, { 155,7831 }, + { 156,7831 }, { 157,7831 }, { 158,7831 }, { 159,7831 }, { 160,7831 }, + { 161,7831 }, { 162,7831 }, { 163,7831 }, { 164,7831 }, { 165,7831 }, + { 166,7831 }, { 167,7831 }, { 168,7831 }, { 169,7831 }, { 170,7831 }, + { 171,7831 }, { 172,7831 }, { 173,7831 }, { 174,7831 }, { 175,7831 }, + { 176,7831 }, { 177,7831 }, { 178,7831 }, { 179,7831 }, { 180,7831 }, + { 181,7831 }, { 182,7831 }, { 183,7831 }, { 184,7831 }, { 185,7831 }, + { 186,7831 }, { 187,7831 }, { 188,7831 }, { 189,7831 }, { 190,7831 }, + + { 191,7831 }, { 192,7831 }, { 193,7831 }, { 194,7831 }, { 195,7831 }, + { 196,7831 }, { 197,7831 }, { 198,7831 }, { 199,7831 }, { 200,7831 }, + { 201,7831 }, { 202,7831 }, { 203,7831 }, { 204,7831 }, { 205,7831 }, + { 206,7831 }, { 207,7831 }, { 208,7831 }, { 209,7831 }, { 210,7831 }, + { 211,7831 }, { 212,7831 }, { 213,7831 }, { 214,7831 }, { 215,7831 }, + { 216,7831 }, { 217,7831 }, { 218,7831 }, { 219,7831 }, { 220,7831 }, + { 221,7831 }, { 222,7831 }, { 223,7831 }, { 224,7831 }, { 225,7831 }, + { 226,7831 }, { 227,7831 }, { 228,7831 }, { 229,7831 }, { 230,7831 }, + { 231,7831 }, { 232,7831 }, { 233,7831 }, { 234,7831 }, { 235,7831 }, + { 236,7831 }, { 237,7831 }, { 238,7831 }, { 239,7831 }, { 240,7831 }, + + { 241,7831 }, { 242,7831 }, { 243,7831 }, { 244,7831 }, { 245,7831 }, + { 246,7831 }, { 247,7831 }, { 248,7831 }, { 249,7831 }, { 250,7831 }, + { 251,7831 }, { 252,7831 }, { 253,7831 }, { 254,7831 }, { 255,7831 }, + { 256,7831 }, { 0, 10 }, { 0,31355 }, { 1,7831 }, { 2,7831 }, + { 3,7831 }, { 4,7831 }, { 5,7831 }, { 6,7831 }, { 7,7831 }, + { 8,7831 }, { 9,7831 }, { 10,7831 }, { 11,7831 }, { 12,7831 }, + { 13,7831 }, { 14,7831 }, { 15,7831 }, { 16,7831 }, { 17,7831 }, + { 18,7831 }, { 19,7831 }, { 20,7831 }, { 21,7831 }, { 22,7831 }, + { 23,7831 }, { 24,7831 }, { 25,7831 }, { 26,7831 }, { 27,7831 }, + { 28,7831 }, { 29,7831 }, { 30,7831 }, { 31,7831 }, { 32,7831 }, + + { 33,7831 }, { 34,7831 }, { 35,7831 }, { 36,7831 }, { 37,7831 }, + { 38,7831 }, { 39,4157 }, { 40,7831 }, { 41,7831 }, { 42,7831 }, + { 43,7831 }, { 44,7831 }, { 45,7831 }, { 46,7831 }, { 47,7831 }, + { 48,7831 }, { 49,7831 }, { 50,7831 }, { 51,7831 }, { 52,7831 }, + { 53,7831 }, { 54,7831 }, { 55,7831 }, { 56,7831 }, { 57,7831 }, + { 58,7831 }, { 59,7831 }, { 60,7831 }, { 61,7831 }, { 62,7831 }, + { 63,7831 }, { 64,7831 }, { 65,7831 }, { 66,7831 }, { 67,7831 }, + { 68,7831 }, { 69,7831 }, { 70,7831 }, { 71,7831 }, { 72,7831 }, + { 73,7831 }, { 74,7831 }, { 75,7831 }, { 76,7831 }, { 77,7831 }, + { 78,7831 }, { 79,7831 }, { 80,7831 }, { 81,7831 }, { 82,7831 }, + + { 83,7831 }, { 84,7831 }, { 85,7831 }, { 86,7831 }, { 87,7831 }, + { 88,7831 }, { 89,7831 }, { 90,7831 }, { 91,7831 }, { 92,7831 }, + { 93,7831 }, { 94,7831 }, { 95,7831 }, { 96,7831 }, { 97,7831 }, + { 98,7831 }, { 99,7831 }, { 100,7831 }, { 101,7831 }, { 102,7831 }, + { 103,7831 }, { 104,7831 }, { 105,7831 }, { 106,7831 }, { 107,7831 }, + { 108,7831 }, { 109,7831 }, { 110,7831 }, { 111,7831 }, { 112,7831 }, + { 113,7831 }, { 114,7831 }, { 115,7831 }, { 116,7831 }, { 117,7831 }, + { 118,7831 }, { 119,7831 }, { 120,7831 }, { 121,7831 }, { 122,7831 }, + { 123,7831 }, { 124,7831 }, { 125,7831 }, { 126,7831 }, { 127,7831 }, + { 128,7831 }, { 129,7831 }, { 130,7831 }, { 131,7831 }, { 132,7831 }, + + { 133,7831 }, { 134,7831 }, { 135,7831 }, { 136,7831 }, { 137,7831 }, + { 138,7831 }, { 139,7831 }, { 140,7831 }, { 141,7831 }, { 142,7831 }, + { 143,7831 }, { 144,7831 }, { 145,7831 }, { 146,7831 }, { 147,7831 }, + { 148,7831 }, { 149,7831 }, { 150,7831 }, { 151,7831 }, { 152,7831 }, + { 153,7831 }, { 154,7831 }, { 155,7831 }, { 156,7831 }, { 157,7831 }, + { 158,7831 }, { 159,7831 }, { 160,7831 }, { 161,7831 }, { 162,7831 }, + { 163,7831 }, { 164,7831 }, { 165,7831 }, { 166,7831 }, { 167,7831 }, + { 168,7831 }, { 169,7831 }, { 170,7831 }, { 171,7831 }, { 172,7831 }, + { 173,7831 }, { 174,7831 }, { 175,7831 }, { 176,7831 }, { 177,7831 }, + { 178,7831 }, { 179,7831 }, { 180,7831 }, { 181,7831 }, { 182,7831 }, + + { 183,7831 }, { 184,7831 }, { 185,7831 }, { 186,7831 }, { 187,7831 }, + { 188,7831 }, { 189,7831 }, { 190,7831 }, { 191,7831 }, { 192,7831 }, + { 193,7831 }, { 194,7831 }, { 195,7831 }, { 196,7831 }, { 197,7831 }, + { 198,7831 }, { 199,7831 }, { 200,7831 }, { 201,7831 }, { 202,7831 }, + { 203,7831 }, { 204,7831 }, { 205,7831 }, { 206,7831 }, { 207,7831 }, + { 208,7831 }, { 209,7831 }, { 210,7831 }, { 211,7831 }, { 212,7831 }, + { 213,7831 }, { 214,7831 }, { 215,7831 }, { 216,7831 }, { 217,7831 }, + { 218,7831 }, { 219,7831 }, { 220,7831 }, { 221,7831 }, { 222,7831 }, + { 223,7831 }, { 224,7831 }, { 225,7831 }, { 226,7831 }, { 227,7831 }, + { 228,7831 }, { 229,7831 }, { 230,7831 }, { 231,7831 }, { 232,7831 }, + + { 233,7831 }, { 234,7831 }, { 235,7831 }, { 236,7831 }, { 237,7831 }, + { 238,7831 }, { 239,7831 }, { 240,7831 }, { 241,7831 }, { 242,7831 }, + { 243,7831 }, { 244,7831 }, { 245,7831 }, { 246,7831 }, { 247,7831 }, + { 248,7831 }, { 249,7831 }, { 250,7831 }, { 251,7831 }, { 252,7831 }, + { 253,7831 }, { 254,7831 }, { 255,7831 }, { 256,7831 }, { 0, 10 }, + { 0,31097 }, { 1,7573 }, { 2,7573 }, { 3,7573 }, { 4,7573 }, + { 5,7573 }, { 6,7573 }, { 7,7573 }, { 8,7573 }, { 9,7573 }, + { 10,7573 }, { 11,7573 }, { 12,7573 }, { 13,7573 }, { 14,7573 }, + { 15,7573 }, { 16,7573 }, { 17,7573 }, { 18,7573 }, { 19,7573 }, + { 20,7573 }, { 21,7573 }, { 22,7573 }, { 23,7573 }, { 24,7573 }, + + { 25,7573 }, { 26,7573 }, { 27,7573 }, { 28,7573 }, { 29,7573 }, + { 30,7573 }, { 31,7573 }, { 32,7573 }, { 33,7573 }, { 34,7573 }, + { 35,7573 }, { 36,7573 }, { 37,7573 }, { 38,7573 }, { 39,3899 }, + { 40,7573 }, { 41,7573 }, { 42,7573 }, { 43,7573 }, { 44,7573 }, + { 45,7573 }, { 46,7573 }, { 47,7573 }, { 48,7573 }, { 49,7573 }, + { 50,7573 }, { 51,7573 }, { 52,7573 }, { 53,7573 }, { 54,7573 }, + { 55,7573 }, { 56,7573 }, { 57,7573 }, { 58,7573 }, { 59,7573 }, + { 60,7573 }, { 61,7573 }, { 62,7573 }, { 63,7573 }, { 64,7573 }, + { 65,7573 }, { 66,7573 }, { 67,7573 }, { 68,7573 }, { 69,7573 }, + { 70,7573 }, { 71,7573 }, { 72,7573 }, { 73,7573 }, { 74,7573 }, + + { 75,7573 }, { 76,7573 }, { 77,7573 }, { 78,7573 }, { 79,7573 }, + { 80,7573 }, { 81,7573 }, { 82,7573 }, { 83,7573 }, { 84,7573 }, + { 85,7573 }, { 86,7573 }, { 87,7573 }, { 88,7573 }, { 89,7573 }, + { 90,7573 }, { 91,7573 }, { 92,7573 }, { 93,7573 }, { 94,7573 }, + { 95,7573 }, { 96,7573 }, { 97,7573 }, { 98,7573 }, { 99,7573 }, + { 100,7573 }, { 101,7573 }, { 102,7573 }, { 103,7573 }, { 104,7573 }, + { 105,7573 }, { 106,7573 }, { 107,7573 }, { 108,7573 }, { 109,7573 }, + { 110,7573 }, { 111,7573 }, { 112,7573 }, { 113,7573 }, { 114,7573 }, + { 115,7573 }, { 116,7573 }, { 117,7573 }, { 118,7573 }, { 119,7573 }, + { 120,7573 }, { 121,7573 }, { 122,7573 }, { 123,7573 }, { 124,7573 }, + + { 125,7573 }, { 126,7573 }, { 127,7573 }, { 128,7573 }, { 129,7573 }, + { 130,7573 }, { 131,7573 }, { 132,7573 }, { 133,7573 }, { 134,7573 }, + { 135,7573 }, { 136,7573 }, { 137,7573 }, { 138,7573 }, { 139,7573 }, + { 140,7573 }, { 141,7573 }, { 142,7573 }, { 143,7573 }, { 144,7573 }, + { 145,7573 }, { 146,7573 }, { 147,7573 }, { 148,7573 }, { 149,7573 }, + { 150,7573 }, { 151,7573 }, { 152,7573 }, { 153,7573 }, { 154,7573 }, + { 155,7573 }, { 156,7573 }, { 157,7573 }, { 158,7573 }, { 159,7573 }, + { 160,7573 }, { 161,7573 }, { 162,7573 }, { 163,7573 }, { 164,7573 }, + { 165,7573 }, { 166,7573 }, { 167,7573 }, { 168,7573 }, { 169,7573 }, + { 170,7573 }, { 171,7573 }, { 172,7573 }, { 173,7573 }, { 174,7573 }, + + { 175,7573 }, { 176,7573 }, { 177,7573 }, { 178,7573 }, { 179,7573 }, + { 180,7573 }, { 181,7573 }, { 182,7573 }, { 183,7573 }, { 184,7573 }, + { 185,7573 }, { 186,7573 }, { 187,7573 }, { 188,7573 }, { 189,7573 }, + { 190,7573 }, { 191,7573 }, { 192,7573 }, { 193,7573 }, { 194,7573 }, + { 195,7573 }, { 196,7573 }, { 197,7573 }, { 198,7573 }, { 199,7573 }, + { 200,7573 }, { 201,7573 }, { 202,7573 }, { 203,7573 }, { 204,7573 }, + { 205,7573 }, { 206,7573 }, { 207,7573 }, { 208,7573 }, { 209,7573 }, + { 210,7573 }, { 211,7573 }, { 212,7573 }, { 213,7573 }, { 214,7573 }, + { 215,7573 }, { 216,7573 }, { 217,7573 }, { 218,7573 }, { 219,7573 }, + { 220,7573 }, { 221,7573 }, { 222,7573 }, { 223,7573 }, { 224,7573 }, + + { 225,7573 }, { 226,7573 }, { 227,7573 }, { 228,7573 }, { 229,7573 }, + { 230,7573 }, { 231,7573 }, { 232,7573 }, { 233,7573 }, { 234,7573 }, + { 235,7573 }, { 236,7573 }, { 237,7573 }, { 238,7573 }, { 239,7573 }, + { 240,7573 }, { 241,7573 }, { 242,7573 }, { 243,7573 }, { 244,7573 }, + { 245,7573 }, { 246,7573 }, { 247,7573 }, { 248,7573 }, { 249,7573 }, + { 250,7573 }, { 251,7573 }, { 252,7573 }, { 253,7573 }, { 254,7573 }, + { 255,7573 }, { 256,7573 }, { 0, 0 }, { 0,30839 }, { 1,7573 }, + { 2,7573 }, { 3,7573 }, { 4,7573 }, { 5,7573 }, { 6,7573 }, + { 7,7573 }, { 8,7573 }, { 9,7573 }, { 10,7573 }, { 11,7573 }, + { 12,7573 }, { 13,7573 }, { 14,7573 }, { 15,7573 }, { 16,7573 }, + + { 17,7573 }, { 18,7573 }, { 19,7573 }, { 20,7573 }, { 21,7573 }, + { 22,7573 }, { 23,7573 }, { 24,7573 }, { 25,7573 }, { 26,7573 }, + { 27,7573 }, { 28,7573 }, { 29,7573 }, { 30,7573 }, { 31,7573 }, + { 32,7573 }, { 33,7573 }, { 34,7573 }, { 35,7573 }, { 36,7573 }, + { 37,7573 }, { 38,7573 }, { 39,3670 }, { 40,7573 }, { 41,7573 }, + { 42,7573 }, { 43,7573 }, { 44,7573 }, { 45,7573 }, { 46,7573 }, + { 47,7573 }, { 48,7573 }, { 49,7573 }, { 50,7573 }, { 51,7573 }, + { 52,7573 }, { 53,7573 }, { 54,7573 }, { 55,7573 }, { 56,7573 }, + { 57,7573 }, { 58,7573 }, { 59,7573 }, { 60,7573 }, { 61,7573 }, + { 62,7573 }, { 63,7573 }, { 64,7573 }, { 65,7573 }, { 66,7573 }, + + { 67,7573 }, { 68,7573 }, { 69,7573 }, { 70,7573 }, { 71,7573 }, + { 72,7573 }, { 73,7573 }, { 74,7573 }, { 75,7573 }, { 76,7573 }, + { 77,7573 }, { 78,7573 }, { 79,7573 }, { 80,7573 }, { 81,7573 }, + { 82,7573 }, { 83,7573 }, { 84,7573 }, { 85,7573 }, { 86,7573 }, + { 87,7573 }, { 88,7573 }, { 89,7573 }, { 90,7573 }, { 91,7573 }, + { 92,7573 }, { 93,7573 }, { 94,7573 }, { 95,7573 }, { 96,7573 }, + { 97,7573 }, { 98,7573 }, { 99,7573 }, { 100,7573 }, { 101,7573 }, + { 102,7573 }, { 103,7573 }, { 104,7573 }, { 105,7573 }, { 106,7573 }, + { 107,7573 }, { 108,7573 }, { 109,7573 }, { 110,7573 }, { 111,7573 }, + { 112,7573 }, { 113,7573 }, { 114,7573 }, { 115,7573 }, { 116,7573 }, + + { 117,7573 }, { 118,7573 }, { 119,7573 }, { 120,7573 }, { 121,7573 }, + { 122,7573 }, { 123,7573 }, { 124,7573 }, { 125,7573 }, { 126,7573 }, + { 127,7573 }, { 128,7573 }, { 129,7573 }, { 130,7573 }, { 131,7573 }, + { 132,7573 }, { 133,7573 }, { 134,7573 }, { 135,7573 }, { 136,7573 }, + { 137,7573 }, { 138,7573 }, { 139,7573 }, { 140,7573 }, { 141,7573 }, + { 142,7573 }, { 143,7573 }, { 144,7573 }, { 145,7573 }, { 146,7573 }, + { 147,7573 }, { 148,7573 }, { 149,7573 }, { 150,7573 }, { 151,7573 }, + { 152,7573 }, { 153,7573 }, { 154,7573 }, { 155,7573 }, { 156,7573 }, + { 157,7573 }, { 158,7573 }, { 159,7573 }, { 160,7573 }, { 161,7573 }, + { 162,7573 }, { 163,7573 }, { 164,7573 }, { 165,7573 }, { 166,7573 }, + + { 167,7573 }, { 168,7573 }, { 169,7573 }, { 170,7573 }, { 171,7573 }, + { 172,7573 }, { 173,7573 }, { 174,7573 }, { 175,7573 }, { 176,7573 }, + { 177,7573 }, { 178,7573 }, { 179,7573 }, { 180,7573 }, { 181,7573 }, + { 182,7573 }, { 183,7573 }, { 184,7573 }, { 185,7573 }, { 186,7573 }, + { 187,7573 }, { 188,7573 }, { 189,7573 }, { 190,7573 }, { 191,7573 }, + { 192,7573 }, { 193,7573 }, { 194,7573 }, { 195,7573 }, { 196,7573 }, + { 197,7573 }, { 198,7573 }, { 199,7573 }, { 200,7573 }, { 201,7573 }, + { 202,7573 }, { 203,7573 }, { 204,7573 }, { 205,7573 }, { 206,7573 }, + { 207,7573 }, { 208,7573 }, { 209,7573 }, { 210,7573 }, { 211,7573 }, + { 212,7573 }, { 213,7573 }, { 214,7573 }, { 215,7573 }, { 216,7573 }, + + { 217,7573 }, { 218,7573 }, { 219,7573 }, { 220,7573 }, { 221,7573 }, + { 222,7573 }, { 223,7573 }, { 224,7573 }, { 225,7573 }, { 226,7573 }, + { 227,7573 }, { 228,7573 }, { 229,7573 }, { 230,7573 }, { 231,7573 }, + { 232,7573 }, { 233,7573 }, { 234,7573 }, { 235,7573 }, { 236,7573 }, + { 237,7573 }, { 238,7573 }, { 239,7573 }, { 240,7573 }, { 241,7573 }, + { 242,7573 }, { 243,7573 }, { 244,7573 }, { 245,7573 }, { 246,7573 }, + { 247,7573 }, { 248,7573 }, { 249,7573 }, { 250,7573 }, { 251,7573 }, + { 252,7573 }, { 253,7573 }, { 254,7573 }, { 255,7573 }, { 256,7573 }, + { 0, 0 }, { 0,30581 }, { 1,7315 }, { 2,7315 }, { 3,7315 }, + { 4,7315 }, { 5,7315 }, { 6,7315 }, { 7,7315 }, { 8,7315 }, + + { 9,7315 }, { 10,7315 }, { 11,7315 }, { 12,7315 }, { 13,7315 }, + { 14,7315 }, { 15,7315 }, { 16,7315 }, { 17,7315 }, { 18,7315 }, + { 19,7315 }, { 20,7315 }, { 21,7315 }, { 22,7315 }, { 23,7315 }, + { 24,7315 }, { 25,7315 }, { 26,7315 }, { 27,7315 }, { 28,7315 }, + { 29,7315 }, { 30,7315 }, { 31,7315 }, { 32,7315 }, { 33,7315 }, + { 34,7315 }, { 35,7315 }, { 36,7315 }, { 37,7315 }, { 38,7315 }, + { 39,3412 }, { 40,7315 }, { 41,7315 }, { 42,7315 }, { 43,7315 }, + { 44,7315 }, { 45,7315 }, { 46,7315 }, { 47,7315 }, { 48,7315 }, + { 49,7315 }, { 50,7315 }, { 51,7315 }, { 52,7315 }, { 53,7315 }, + { 54,7315 }, { 55,7315 }, { 56,7315 }, { 57,7315 }, { 58,7315 }, + + { 59,7315 }, { 60,7315 }, { 61,7315 }, { 62,7315 }, { 63,7315 }, + { 64,7315 }, { 65,7315 }, { 66,7315 }, { 67,7315 }, { 68,7315 }, + { 69,7315 }, { 70,7315 }, { 71,7315 }, { 72,7315 }, { 73,7315 }, + { 74,7315 }, { 75,7315 }, { 76,7315 }, { 77,7315 }, { 78,7315 }, + { 79,7315 }, { 80,7315 }, { 81,7315 }, { 82,7315 }, { 83,7315 }, + { 84,7315 }, { 85,7315 }, { 86,7315 }, { 87,7315 }, { 88,7315 }, + { 89,7315 }, { 90,7315 }, { 91,7315 }, { 92,7315 }, { 93,7315 }, + { 94,7315 }, { 95,7315 }, { 96,7315 }, { 97,7315 }, { 98,7315 }, + { 99,7315 }, { 100,7315 }, { 101,7315 }, { 102,7315 }, { 103,7315 }, + { 104,7315 }, { 105,7315 }, { 106,7315 }, { 107,7315 }, { 108,7315 }, + + { 109,7315 }, { 110,7315 }, { 111,7315 }, { 112,7315 }, { 113,7315 }, + { 114,7315 }, { 115,7315 }, { 116,7315 }, { 117,7315 }, { 118,7315 }, + { 119,7315 }, { 120,7315 }, { 121,7315 }, { 122,7315 }, { 123,7315 }, + { 124,7315 }, { 125,7315 }, { 126,7315 }, { 127,7315 }, { 128,7315 }, + { 129,7315 }, { 130,7315 }, { 131,7315 }, { 132,7315 }, { 133,7315 }, + { 134,7315 }, { 135,7315 }, { 136,7315 }, { 137,7315 }, { 138,7315 }, + { 139,7315 }, { 140,7315 }, { 141,7315 }, { 142,7315 }, { 143,7315 }, + { 144,7315 }, { 145,7315 }, { 146,7315 }, { 147,7315 }, { 148,7315 }, + { 149,7315 }, { 150,7315 }, { 151,7315 }, { 152,7315 }, { 153,7315 }, + { 154,7315 }, { 155,7315 }, { 156,7315 }, { 157,7315 }, { 158,7315 }, + + { 159,7315 }, { 160,7315 }, { 161,7315 }, { 162,7315 }, { 163,7315 }, + { 164,7315 }, { 165,7315 }, { 166,7315 }, { 167,7315 }, { 168,7315 }, + { 169,7315 }, { 170,7315 }, { 171,7315 }, { 172,7315 }, { 173,7315 }, + { 174,7315 }, { 175,7315 }, { 176,7315 }, { 177,7315 }, { 178,7315 }, + { 179,7315 }, { 180,7315 }, { 181,7315 }, { 182,7315 }, { 183,7315 }, + { 184,7315 }, { 185,7315 }, { 186,7315 }, { 187,7315 }, { 188,7315 }, + { 189,7315 }, { 190,7315 }, { 191,7315 }, { 192,7315 }, { 193,7315 }, + { 194,7315 }, { 195,7315 }, { 196,7315 }, { 197,7315 }, { 198,7315 }, + { 199,7315 }, { 200,7315 }, { 201,7315 }, { 202,7315 }, { 203,7315 }, + { 204,7315 }, { 205,7315 }, { 206,7315 }, { 207,7315 }, { 208,7315 }, + + { 209,7315 }, { 210,7315 }, { 211,7315 }, { 212,7315 }, { 213,7315 }, + { 214,7315 }, { 215,7315 }, { 216,7315 }, { 217,7315 }, { 218,7315 }, + { 219,7315 }, { 220,7315 }, { 221,7315 }, { 222,7315 }, { 223,7315 }, + { 224,7315 }, { 225,7315 }, { 226,7315 }, { 227,7315 }, { 228,7315 }, + { 229,7315 }, { 230,7315 }, { 231,7315 }, { 232,7315 }, { 233,7315 }, + { 234,7315 }, { 235,7315 }, { 236,7315 }, { 237,7315 }, { 238,7315 }, + { 239,7315 }, { 240,7315 }, { 241,7315 }, { 242,7315 }, { 243,7315 }, + { 244,7315 }, { 245,7315 }, { 246,7315 }, { 247,7315 }, { 248,7315 }, + { 249,7315 }, { 250,7315 }, { 251,7315 }, { 252,7315 }, { 253,7315 }, + { 254,7315 }, { 255,7315 }, { 256,7315 }, { 0, 19 }, { 0,30323 }, { 1,3156 }, { 2,3156 }, { 3,3156 }, { 4,3156 }, { 5,3156 }, - { 6,3156 }, { 7,3156 }, { 8,3156 }, { 9,6836 }, { 10,6841 }, - { 11,3156 }, { 12,6836 }, { 13,6857 }, { 14,3156 }, { 15,3156 }, + { 6,3156 }, { 7,3156 }, { 8,3156 }, { 9,7315 }, { 10,7320 }, + { 11,7315 }, { 12,7315 }, { 13,7344 }, { 14,3156 }, { 15,3156 }, { 16,3156 }, { 17,3156 }, { 18,3156 }, { 19,3156 }, { 20,3156 }, { 21,3156 }, { 22,3156 }, { 23,3156 }, { 24,3156 }, { 25,3156 }, { 26,3156 }, { 27,3156 }, { 28,3156 }, { 29,3156 }, { 30,3156 }, - { 31,3156 }, { 32,6836 }, { 33,3156 }, { 34,3156 }, { 35,3156 }, + { 31,3156 }, { 32,7315 }, { 33,3156 }, { 34,3156 }, { 35,3156 }, { 36,3156 }, { 37,3156 }, { 38,3156 }, { 39,3156 }, { 40,3156 }, { 41,3156 }, { 42,3156 }, { 43,3156 }, { 44,3156 }, { 45,3158 }, { 46,3156 }, { 47,3156 }, { 48,3156 }, { 49,3156 }, { 50,3156 }, @@ -1408,13 +1410,13 @@ static const struct yy_trans_info yy_transition[17678] = { 246,3156 }, { 247,3156 }, { 248,3156 }, { 249,3156 }, { 250,3156 }, { 251,3156 }, { 252,3156 }, { 253,3156 }, { 254,3156 }, { 255,3156 }, - { 256,3156 }, { 0, 19 }, { 0,14066 }, { 1,2898 }, { 2,2898 }, + { 256,3156 }, { 0, 19 }, { 0,30065 }, { 1,2898 }, { 2,2898 }, { 3,2898 }, { 4,2898 }, { 5,2898 }, { 6,2898 }, { 7,2898 }, - { 8,2898 }, { 9,6578 }, { 10,6583 }, { 11,2898 }, { 12,6578 }, - { 13,6599 }, { 14,2898 }, { 15,2898 }, { 16,2898 }, { 17,2898 }, + { 8,2898 }, { 9,7057 }, { 10,7062 }, { 11,7057 }, { 12,7057 }, + { 13,7086 }, { 14,2898 }, { 15,2898 }, { 16,2898 }, { 17,2898 }, { 18,2898 }, { 19,2898 }, { 20,2898 }, { 21,2898 }, { 22,2898 }, { 23,2898 }, { 24,2898 }, { 25,2898 }, { 26,2898 }, { 27,2898 }, - { 28,2898 }, { 29,2898 }, { 30,2898 }, { 31,2898 }, { 32,6578 }, + { 28,2898 }, { 29,2898 }, { 30,2898 }, { 31,2898 }, { 32,7057 }, { 33,2898 }, { 34,2898 }, { 35,2898 }, { 36,2898 }, { 37,2898 }, { 38,2898 }, { 39,2898 }, { 40,2898 }, { 41,2898 }, { 42,2898 }, @@ -1465,460 +1467,460 @@ static const struct yy_trans_info yy_transition[17678] = { 243,2898 }, { 244,2898 }, { 245,2898 }, { 246,2898 }, { 247,2898 }, { 248,2898 }, { 249,2898 }, { 250,2898 }, { 251,2898 }, { 252,2898 }, { 253,2898 }, { 254,2898 }, { 255,2898 }, { 256,2898 }, { 0, 0 }, - { 0,13808 }, { 1,6388 }, { 2,6388 }, { 3,6388 }, { 4,6388 }, - { 5,6388 }, { 6,6388 }, { 7,6388 }, { 8,6388 }, { 9,6388 }, - { 10,6646 }, { 11,6388 }, { 12,6388 }, { 13,6388 }, { 14,6388 }, - { 15,6388 }, { 16,6388 }, { 17,6388 }, { 18,6388 }, { 19,6388 }, - { 20,6388 }, { 21,6388 }, { 22,6388 }, { 23,6388 }, { 24,6388 }, - { 25,6388 }, { 26,6388 }, { 27,6388 }, { 28,6388 }, { 29,6388 }, - { 30,6388 }, { 31,6388 }, { 32,6388 }, { 33,6388 }, { 34,6388 }, - - { 35,6388 }, { 36,6388 }, { 37,6388 }, { 38,6388 }, { 39,2645 }, - { 40,6388 }, { 41,6388 }, { 42,6388 }, { 43,6388 }, { 44,6388 }, - { 45,6388 }, { 46,6388 }, { 47,6388 }, { 48,6388 }, { 49,6388 }, - { 50,6388 }, { 51,6388 }, { 52,6388 }, { 53,6388 }, { 54,6388 }, - { 55,6388 }, { 56,6388 }, { 57,6388 }, { 58,6388 }, { 59,6388 }, - { 60,6388 }, { 61,6388 }, { 62,6388 }, { 63,6388 }, { 64,6388 }, - { 65,6388 }, { 66,6388 }, { 67,6388 }, { 68,6388 }, { 69,6388 }, - { 70,6388 }, { 71,6388 }, { 72,6388 }, { 73,6388 }, { 74,6388 }, - { 75,6388 }, { 76,6388 }, { 77,6388 }, { 78,6388 }, { 79,6388 }, - { 80,6388 }, { 81,6388 }, { 82,6388 }, { 83,6388 }, { 84,6388 }, - - { 85,6388 }, { 86,6388 }, { 87,6388 }, { 88,6388 }, { 89,6388 }, - { 90,6388 }, { 91,6388 }, { 92,6904 }, { 93,6388 }, { 94,6388 }, - { 95,6388 }, { 96,6388 }, { 97,6388 }, { 98,6388 }, { 99,6388 }, - { 100,6388 }, { 101,6388 }, { 102,6388 }, { 103,6388 }, { 104,6388 }, - { 105,6388 }, { 106,6388 }, { 107,6388 }, { 108,6388 }, { 109,6388 }, - { 110,6388 }, { 111,6388 }, { 112,6388 }, { 113,6388 }, { 114,6388 }, - { 115,6388 }, { 116,6388 }, { 117,6388 }, { 118,6388 }, { 119,6388 }, - { 120,6388 }, { 121,6388 }, { 122,6388 }, { 123,6388 }, { 124,6388 }, - { 125,6388 }, { 126,6388 }, { 127,6388 }, { 128,6388 }, { 129,6388 }, - { 130,6388 }, { 131,6388 }, { 132,6388 }, { 133,6388 }, { 134,6388 }, - - { 135,6388 }, { 136,6388 }, { 137,6388 }, { 138,6388 }, { 139,6388 }, - { 140,6388 }, { 141,6388 }, { 142,6388 }, { 143,6388 }, { 144,6388 }, - { 145,6388 }, { 146,6388 }, { 147,6388 }, { 148,6388 }, { 149,6388 }, - { 150,6388 }, { 151,6388 }, { 152,6388 }, { 153,6388 }, { 154,6388 }, - { 155,6388 }, { 156,6388 }, { 157,6388 }, { 158,6388 }, { 159,6388 }, - { 160,6388 }, { 161,6388 }, { 162,6388 }, { 163,6388 }, { 164,6388 }, - { 165,6388 }, { 166,6388 }, { 167,6388 }, { 168,6388 }, { 169,6388 }, - { 170,6388 }, { 171,6388 }, { 172,6388 }, { 173,6388 }, { 174,6388 }, - { 175,6388 }, { 176,6388 }, { 177,6388 }, { 178,6388 }, { 179,6388 }, - { 180,6388 }, { 181,6388 }, { 182,6388 }, { 183,6388 }, { 184,6388 }, - - { 185,6388 }, { 186,6388 }, { 187,6388 }, { 188,6388 }, { 189,6388 }, - { 190,6388 }, { 191,6388 }, { 192,6388 }, { 193,6388 }, { 194,6388 }, - { 195,6388 }, { 196,6388 }, { 197,6388 }, { 198,6388 }, { 199,6388 }, - { 200,6388 }, { 201,6388 }, { 202,6388 }, { 203,6388 }, { 204,6388 }, - { 205,6388 }, { 206,6388 }, { 207,6388 }, { 208,6388 }, { 209,6388 }, - { 210,6388 }, { 211,6388 }, { 212,6388 }, { 213,6388 }, { 214,6388 }, - { 215,6388 }, { 216,6388 }, { 217,6388 }, { 218,6388 }, { 219,6388 }, - { 220,6388 }, { 221,6388 }, { 222,6388 }, { 223,6388 }, { 224,6388 }, - { 225,6388 }, { 226,6388 }, { 227,6388 }, { 228,6388 }, { 229,6388 }, - { 230,6388 }, { 231,6388 }, { 232,6388 }, { 233,6388 }, { 234,6388 }, - - { 235,6388 }, { 236,6388 }, { 237,6388 }, { 238,6388 }, { 239,6388 }, - { 240,6388 }, { 241,6388 }, { 242,6388 }, { 243,6388 }, { 244,6388 }, - { 245,6388 }, { 246,6388 }, { 247,6388 }, { 248,6388 }, { 249,6388 }, - { 250,6388 }, { 251,6388 }, { 252,6388 }, { 253,6388 }, { 254,6388 }, - { 255,6388 }, { 256,6388 }, { 0, 0 }, { 0,13550 }, { 1,6130 }, - { 2,6130 }, { 3,6130 }, { 4,6130 }, { 5,6130 }, { 6,6130 }, - { 7,6130 }, { 8,6130 }, { 9,6130 }, { 10,6388 }, { 11,6130 }, - { 12,6130 }, { 13,6130 }, { 14,6130 }, { 15,6130 }, { 16,6130 }, - { 17,6130 }, { 18,6130 }, { 19,6130 }, { 20,6130 }, { 21,6130 }, - { 22,6130 }, { 23,6130 }, { 24,6130 }, { 25,6130 }, { 26,6130 }, - - { 27,6130 }, { 28,6130 }, { 29,6130 }, { 30,6130 }, { 31,6130 }, - { 32,6130 }, { 33,6130 }, { 34,6130 }, { 35,6130 }, { 36,6130 }, - { 37,6130 }, { 38,6130 }, { 39,2387 }, { 40,6130 }, { 41,6130 }, - { 42,6130 }, { 43,6130 }, { 44,6130 }, { 45,6130 }, { 46,6130 }, - { 47,6130 }, { 48,6130 }, { 49,6130 }, { 50,6130 }, { 51,6130 }, - { 52,6130 }, { 53,6130 }, { 54,6130 }, { 55,6130 }, { 56,6130 }, - { 57,6130 }, { 58,6130 }, { 59,6130 }, { 60,6130 }, { 61,6130 }, - { 62,6130 }, { 63,6130 }, { 64,6130 }, { 65,6130 }, { 66,6130 }, - { 67,6130 }, { 68,6130 }, { 69,6130 }, { 70,6130 }, { 71,6130 }, - { 72,6130 }, { 73,6130 }, { 74,6130 }, { 75,6130 }, { 76,6130 }, - - { 77,6130 }, { 78,6130 }, { 79,6130 }, { 80,6130 }, { 81,6130 }, - { 82,6130 }, { 83,6130 }, { 84,6130 }, { 85,6130 }, { 86,6130 }, - { 87,6130 }, { 88,6130 }, { 89,6130 }, { 90,6130 }, { 91,6130 }, - { 92,6646 }, { 93,6130 }, { 94,6130 }, { 95,6130 }, { 96,6130 }, - { 97,6130 }, { 98,6130 }, { 99,6130 }, { 100,6130 }, { 101,6130 }, - { 102,6130 }, { 103,6130 }, { 104,6130 }, { 105,6130 }, { 106,6130 }, - { 107,6130 }, { 108,6130 }, { 109,6130 }, { 110,6130 }, { 111,6130 }, - { 112,6130 }, { 113,6130 }, { 114,6130 }, { 115,6130 }, { 116,6130 }, - { 117,6130 }, { 118,6130 }, { 119,6130 }, { 120,6130 }, { 121,6130 }, - { 122,6130 }, { 123,6130 }, { 124,6130 }, { 125,6130 }, { 126,6130 }, - - { 127,6130 }, { 128,6130 }, { 129,6130 }, { 130,6130 }, { 131,6130 }, - { 132,6130 }, { 133,6130 }, { 134,6130 }, { 135,6130 }, { 136,6130 }, - { 137,6130 }, { 138,6130 }, { 139,6130 }, { 140,6130 }, { 141,6130 }, - { 142,6130 }, { 143,6130 }, { 144,6130 }, { 145,6130 }, { 146,6130 }, - { 147,6130 }, { 148,6130 }, { 149,6130 }, { 150,6130 }, { 151,6130 }, - { 152,6130 }, { 153,6130 }, { 154,6130 }, { 155,6130 }, { 156,6130 }, - { 157,6130 }, { 158,6130 }, { 159,6130 }, { 160,6130 }, { 161,6130 }, - { 162,6130 }, { 163,6130 }, { 164,6130 }, { 165,6130 }, { 166,6130 }, - { 167,6130 }, { 168,6130 }, { 169,6130 }, { 170,6130 }, { 171,6130 }, - { 172,6130 }, { 173,6130 }, { 174,6130 }, { 175,6130 }, { 176,6130 }, - - { 177,6130 }, { 178,6130 }, { 179,6130 }, { 180,6130 }, { 181,6130 }, - { 182,6130 }, { 183,6130 }, { 184,6130 }, { 185,6130 }, { 186,6130 }, - { 187,6130 }, { 188,6130 }, { 189,6130 }, { 190,6130 }, { 191,6130 }, - { 192,6130 }, { 193,6130 }, { 194,6130 }, { 195,6130 }, { 196,6130 }, - { 197,6130 }, { 198,6130 }, { 199,6130 }, { 200,6130 }, { 201,6130 }, - { 202,6130 }, { 203,6130 }, { 204,6130 }, { 205,6130 }, { 206,6130 }, - { 207,6130 }, { 208,6130 }, { 209,6130 }, { 210,6130 }, { 211,6130 }, - { 212,6130 }, { 213,6130 }, { 214,6130 }, { 215,6130 }, { 216,6130 }, - { 217,6130 }, { 218,6130 }, { 219,6130 }, { 220,6130 }, { 221,6130 }, - { 222,6130 }, { 223,6130 }, { 224,6130 }, { 225,6130 }, { 226,6130 }, - - { 227,6130 }, { 228,6130 }, { 229,6130 }, { 230,6130 }, { 231,6130 }, - { 232,6130 }, { 233,6130 }, { 234,6130 }, { 235,6130 }, { 236,6130 }, - { 237,6130 }, { 238,6130 }, { 239,6130 }, { 240,6130 }, { 241,6130 }, - { 242,6130 }, { 243,6130 }, { 244,6130 }, { 245,6130 }, { 246,6130 }, - { 247,6130 }, { 248,6130 }, { 249,6130 }, { 250,6130 }, { 251,6130 }, - { 252,6130 }, { 253,6130 }, { 254,6130 }, { 255,6130 }, { 256,6130 }, - { 0, 0 }, { 0,13292 }, { 1,6646 }, { 2,6646 }, { 3,6646 }, - { 4,6646 }, { 5,6646 }, { 6,6646 }, { 7,6646 }, { 8,6646 }, - { 9,6646 }, { 10,6904 }, { 11,6646 }, { 12,6646 }, { 13,6646 }, - { 14,6646 }, { 15,6646 }, { 16,6646 }, { 17,6646 }, { 18,6646 }, - - { 19,6646 }, { 20,6646 }, { 21,6646 }, { 22,6646 }, { 23,6646 }, - { 24,6646 }, { 25,6646 }, { 26,6646 }, { 27,6646 }, { 28,6646 }, - { 29,6646 }, { 30,6646 }, { 31,6646 }, { 32,6646 }, { 33,6646 }, - { 34,6646 }, { 35,6646 }, { 36,7162 }, { 37,6646 }, { 38,6646 }, - { 39,6646 }, { 40,6646 }, { 41,6646 }, { 42,6646 }, { 43,6646 }, - { 44,6646 }, { 45,6646 }, { 46,6646 }, { 47,6646 }, { 48,6646 }, - { 49,6646 }, { 50,6646 }, { 51,6646 }, { 52,6646 }, { 53,6646 }, - { 54,6646 }, { 55,6646 }, { 56,6646 }, { 57,6646 }, { 58,6646 }, - { 59,6646 }, { 60,6646 }, { 61,6646 }, { 62,6646 }, { 63,6646 }, - { 64,6646 }, { 65,6646 }, { 66,6646 }, { 67,6646 }, { 68,6646 }, - - { 69,6646 }, { 70,6646 }, { 71,6646 }, { 72,6646 }, { 73,6646 }, - { 74,6646 }, { 75,6646 }, { 76,6646 }, { 77,6646 }, { 78,6646 }, - { 79,6646 }, { 80,6646 }, { 81,6646 }, { 82,6646 }, { 83,6646 }, - { 84,6646 }, { 85,6646 }, { 86,6646 }, { 87,6646 }, { 88,6646 }, - { 89,6646 }, { 90,6646 }, { 91,6646 }, { 92,6646 }, { 93,6646 }, - { 94,6646 }, { 95,6646 }, { 96,6646 }, { 97,6646 }, { 98,6646 }, - { 99,6646 }, { 100,6646 }, { 101,6646 }, { 102,6646 }, { 103,6646 }, - { 104,6646 }, { 105,6646 }, { 106,6646 }, { 107,6646 }, { 108,6646 }, - { 109,6646 }, { 110,6646 }, { 111,6646 }, { 112,6646 }, { 113,6646 }, - { 114,6646 }, { 115,6646 }, { 116,6646 }, { 117,6646 }, { 118,6646 }, - - { 119,6646 }, { 120,6646 }, { 121,6646 }, { 122,6646 }, { 123,6646 }, - { 124,6646 }, { 125,6646 }, { 126,6646 }, { 127,6646 }, { 128,6646 }, - { 129,6646 }, { 130,6646 }, { 131,6646 }, { 132,6646 }, { 133,6646 }, - { 134,6646 }, { 135,6646 }, { 136,6646 }, { 137,6646 }, { 138,6646 }, - { 139,6646 }, { 140,6646 }, { 141,6646 }, { 142,6646 }, { 143,6646 }, - { 144,6646 }, { 145,6646 }, { 146,6646 }, { 147,6646 }, { 148,6646 }, - { 149,6646 }, { 150,6646 }, { 151,6646 }, { 152,6646 }, { 153,6646 }, - { 154,6646 }, { 155,6646 }, { 156,6646 }, { 157,6646 }, { 158,6646 }, - { 159,6646 }, { 160,6646 }, { 161,6646 }, { 162,6646 }, { 163,6646 }, - { 164,6646 }, { 165,6646 }, { 166,6646 }, { 167,6646 }, { 168,6646 }, - - { 169,6646 }, { 170,6646 }, { 171,6646 }, { 172,6646 }, { 173,6646 }, - { 174,6646 }, { 175,6646 }, { 176,6646 }, { 177,6646 }, { 178,6646 }, - { 179,6646 }, { 180,6646 }, { 181,6646 }, { 182,6646 }, { 183,6646 }, - { 184,6646 }, { 185,6646 }, { 186,6646 }, { 187,6646 }, { 188,6646 }, - { 189,6646 }, { 190,6646 }, { 191,6646 }, { 192,6646 }, { 193,6646 }, - { 194,6646 }, { 195,6646 }, { 196,6646 }, { 197,6646 }, { 198,6646 }, - { 199,6646 }, { 200,6646 }, { 201,6646 }, { 202,6646 }, { 203,6646 }, - { 204,6646 }, { 205,6646 }, { 206,6646 }, { 207,6646 }, { 208,6646 }, - { 209,6646 }, { 210,6646 }, { 211,6646 }, { 212,6646 }, { 213,6646 }, - { 214,6646 }, { 215,6646 }, { 216,6646 }, { 217,6646 }, { 218,6646 }, - - { 219,6646 }, { 220,6646 }, { 221,6646 }, { 222,6646 }, { 223,6646 }, - { 224,6646 }, { 225,6646 }, { 226,6646 }, { 227,6646 }, { 228,6646 }, - { 229,6646 }, { 230,6646 }, { 231,6646 }, { 232,6646 }, { 233,6646 }, - { 234,6646 }, { 235,6646 }, { 236,6646 }, { 237,6646 }, { 238,6646 }, - { 239,6646 }, { 240,6646 }, { 241,6646 }, { 242,6646 }, { 243,6646 }, - { 244,6646 }, { 245,6646 }, { 246,6646 }, { 247,6646 }, { 248,6646 }, - { 249,6646 }, { 250,6646 }, { 251,6646 }, { 252,6646 }, { 253,6646 }, - { 254,6646 }, { 255,6646 }, { 256,6646 }, { 0, 0 }, { 0,13034 }, - { 1,6388 }, { 2,6388 }, { 3,6388 }, { 4,6388 }, { 5,6388 }, - { 6,6388 }, { 7,6388 }, { 8,6388 }, { 9,6388 }, { 10,6646 }, - - { 11,6388 }, { 12,6388 }, { 13,6388 }, { 14,6388 }, { 15,6388 }, - { 16,6388 }, { 17,6388 }, { 18,6388 }, { 19,6388 }, { 20,6388 }, - { 21,6388 }, { 22,6388 }, { 23,6388 }, { 24,6388 }, { 25,6388 }, - { 26,6388 }, { 27,6388 }, { 28,6388 }, { 29,6388 }, { 30,6388 }, - { 31,6388 }, { 32,6388 }, { 33,6388 }, { 34,6388 }, { 35,6388 }, - { 36,6904 }, { 37,6388 }, { 38,6388 }, { 39,6388 }, { 40,6388 }, - { 41,6388 }, { 42,6388 }, { 43,6388 }, { 44,6388 }, { 45,6388 }, - { 46,6388 }, { 47,6388 }, { 48,6388 }, { 49,6388 }, { 50,6388 }, - { 51,6388 }, { 52,6388 }, { 53,6388 }, { 54,6388 }, { 55,6388 }, - { 56,6388 }, { 57,6388 }, { 58,6388 }, { 59,6388 }, { 60,6388 }, - - { 61,6388 }, { 62,6388 }, { 63,6388 }, { 64,6388 }, { 65,6388 }, - { 66,6388 }, { 67,6388 }, { 68,6388 }, { 69,6388 }, { 70,6388 }, - { 71,6388 }, { 72,6388 }, { 73,6388 }, { 74,6388 }, { 75,6388 }, - { 76,6388 }, { 77,6388 }, { 78,6388 }, { 79,6388 }, { 80,6388 }, - { 81,6388 }, { 82,6388 }, { 83,6388 }, { 84,6388 }, { 85,6388 }, - { 86,6388 }, { 87,6388 }, { 88,6388 }, { 89,6388 }, { 90,6388 }, - { 91,6388 }, { 92,6388 }, { 93,6388 }, { 94,6388 }, { 95,6388 }, - { 96,6388 }, { 97,6388 }, { 98,6388 }, { 99,6388 }, { 100,6388 }, - { 101,6388 }, { 102,6388 }, { 103,6388 }, { 104,6388 }, { 105,6388 }, - { 106,6388 }, { 107,6388 }, { 108,6388 }, { 109,6388 }, { 110,6388 }, - - { 111,6388 }, { 112,6388 }, { 113,6388 }, { 114,6388 }, { 115,6388 }, - { 116,6388 }, { 117,6388 }, { 118,6388 }, { 119,6388 }, { 120,6388 }, - { 121,6388 }, { 122,6388 }, { 123,6388 }, { 124,6388 }, { 125,6388 }, - { 126,6388 }, { 127,6388 }, { 128,6388 }, { 129,6388 }, { 130,6388 }, - { 131,6388 }, { 132,6388 }, { 133,6388 }, { 134,6388 }, { 135,6388 }, - { 136,6388 }, { 137,6388 }, { 138,6388 }, { 139,6388 }, { 140,6388 }, - { 141,6388 }, { 142,6388 }, { 143,6388 }, { 144,6388 }, { 145,6388 }, - { 146,6388 }, { 147,6388 }, { 148,6388 }, { 149,6388 }, { 150,6388 }, - { 151,6388 }, { 152,6388 }, { 153,6388 }, { 154,6388 }, { 155,6388 }, - { 156,6388 }, { 157,6388 }, { 158,6388 }, { 159,6388 }, { 160,6388 }, - - { 161,6388 }, { 162,6388 }, { 163,6388 }, { 164,6388 }, { 165,6388 }, - { 166,6388 }, { 167,6388 }, { 168,6388 }, { 169,6388 }, { 170,6388 }, - { 171,6388 }, { 172,6388 }, { 173,6388 }, { 174,6388 }, { 175,6388 }, - { 176,6388 }, { 177,6388 }, { 178,6388 }, { 179,6388 }, { 180,6388 }, - { 181,6388 }, { 182,6388 }, { 183,6388 }, { 184,6388 }, { 185,6388 }, - { 186,6388 }, { 187,6388 }, { 188,6388 }, { 189,6388 }, { 190,6388 }, - { 191,6388 }, { 192,6388 }, { 193,6388 }, { 194,6388 }, { 195,6388 }, - { 196,6388 }, { 197,6388 }, { 198,6388 }, { 199,6388 }, { 200,6388 }, - { 201,6388 }, { 202,6388 }, { 203,6388 }, { 204,6388 }, { 205,6388 }, - { 206,6388 }, { 207,6388 }, { 208,6388 }, { 209,6388 }, { 210,6388 }, - - { 211,6388 }, { 212,6388 }, { 213,6388 }, { 214,6388 }, { 215,6388 }, - { 216,6388 }, { 217,6388 }, { 218,6388 }, { 219,6388 }, { 220,6388 }, - { 221,6388 }, { 222,6388 }, { 223,6388 }, { 224,6388 }, { 225,6388 }, - { 226,6388 }, { 227,6388 }, { 228,6388 }, { 229,6388 }, { 230,6388 }, - { 231,6388 }, { 232,6388 }, { 233,6388 }, { 234,6388 }, { 235,6388 }, - { 236,6388 }, { 237,6388 }, { 238,6388 }, { 239,6388 }, { 240,6388 }, - { 241,6388 }, { 242,6388 }, { 243,6388 }, { 244,6388 }, { 245,6388 }, - { 246,6388 }, { 247,6388 }, { 248,6388 }, { 249,6388 }, { 250,6388 }, - { 251,6388 }, { 252,6388 }, { 253,6388 }, { 254,6388 }, { 255,6388 }, - { 256,6388 }, { 0, 0 }, { 0,12776 }, { 1,4514 }, { 2,4514 }, - - { 3,4514 }, { 4,4514 }, { 5,4514 }, { 6,4514 }, { 7,4514 }, - { 8,4514 }, { 9,4514 }, { 10,4514 }, { 11,4514 }, { 12,4514 }, - { 13,4514 }, { 14,4514 }, { 15,4514 }, { 16,4514 }, { 17,4514 }, - { 18,4514 }, { 19,4514 }, { 20,4514 }, { 21,4514 }, { 22,4514 }, - { 23,4514 }, { 24,4514 }, { 25,4514 }, { 26,4514 }, { 27,4514 }, - { 28,4514 }, { 29,4514 }, { 30,4514 }, { 31,4514 }, { 32,4514 }, - { 33,4514 }, { 34,1615 }, { 35,4514 }, { 36,4514 }, { 37,4514 }, - { 38,4514 }, { 39,4514 }, { 40,4514 }, { 41,4514 }, { 42,4514 }, - { 43,4514 }, { 44,4514 }, { 45,4514 }, { 46,4514 }, { 47,4514 }, - { 48,4514 }, { 49,4514 }, { 50,4514 }, { 51,4514 }, { 52,4514 }, - - { 53,4514 }, { 54,4514 }, { 55,4514 }, { 56,4514 }, { 57,4514 }, - { 58,4514 }, { 59,4514 }, { 60,4514 }, { 61,4514 }, { 62,4514 }, - { 63,4514 }, { 64,4514 }, { 65,4514 }, { 66,4514 }, { 67,4514 }, - { 68,4514 }, { 69,4514 }, { 70,4514 }, { 71,4514 }, { 72,4514 }, - { 73,4514 }, { 74,4514 }, { 75,4514 }, { 76,4514 }, { 77,4514 }, - { 78,4514 }, { 79,4514 }, { 80,4514 }, { 81,4514 }, { 82,4514 }, - { 83,4514 }, { 84,4514 }, { 85,4514 }, { 86,4514 }, { 87,4514 }, - { 88,4514 }, { 89,4514 }, { 90,4514 }, { 91,4514 }, { 92,4514 }, - { 93,4514 }, { 94,4514 }, { 95,4514 }, { 96,4514 }, { 97,4514 }, - { 98,4514 }, { 99,4514 }, { 100,4514 }, { 101,4514 }, { 102,4514 }, - - { 103,4514 }, { 104,4514 }, { 105,4514 }, { 106,4514 }, { 107,4514 }, - { 108,4514 }, { 109,4514 }, { 110,4514 }, { 111,4514 }, { 112,4514 }, - { 113,4514 }, { 114,4514 }, { 115,4514 }, { 116,4514 }, { 117,4514 }, - { 118,4514 }, { 119,4514 }, { 120,4514 }, { 121,4514 }, { 122,4514 }, - { 123,4514 }, { 124,4514 }, { 125,4514 }, { 126,4514 }, { 127,4514 }, - { 128,4514 }, { 129,4514 }, { 130,4514 }, { 131,4514 }, { 132,4514 }, - { 133,4514 }, { 134,4514 }, { 135,4514 }, { 136,4514 }, { 137,4514 }, - { 138,4514 }, { 139,4514 }, { 140,4514 }, { 141,4514 }, { 142,4514 }, - { 143,4514 }, { 144,4514 }, { 145,4514 }, { 146,4514 }, { 147,4514 }, - { 148,4514 }, { 149,4514 }, { 150,4514 }, { 151,4514 }, { 152,4514 }, - - { 153,4514 }, { 154,4514 }, { 155,4514 }, { 156,4514 }, { 157,4514 }, - { 158,4514 }, { 159,4514 }, { 160,4514 }, { 161,4514 }, { 162,4514 }, - { 163,4514 }, { 164,4514 }, { 165,4514 }, { 166,4514 }, { 167,4514 }, - { 168,4514 }, { 169,4514 }, { 170,4514 }, { 171,4514 }, { 172,4514 }, - { 173,4514 }, { 174,4514 }, { 175,4514 }, { 176,4514 }, { 177,4514 }, - { 178,4514 }, { 179,4514 }, { 180,4514 }, { 181,4514 }, { 182,4514 }, - { 183,4514 }, { 184,4514 }, { 185,4514 }, { 186,4514 }, { 187,4514 }, - { 188,4514 }, { 189,4514 }, { 190,4514 }, { 191,4514 }, { 192,4514 }, - { 193,4514 }, { 194,4514 }, { 195,4514 }, { 196,4514 }, { 197,4514 }, - { 198,4514 }, { 199,4514 }, { 200,4514 }, { 201,4514 }, { 202,4514 }, - - { 203,4514 }, { 204,4514 }, { 205,4514 }, { 206,4514 }, { 207,4514 }, - { 208,4514 }, { 209,4514 }, { 210,4514 }, { 211,4514 }, { 212,4514 }, - { 213,4514 }, { 214,4514 }, { 215,4514 }, { 216,4514 }, { 217,4514 }, - { 218,4514 }, { 219,4514 }, { 220,4514 }, { 221,4514 }, { 222,4514 }, - { 223,4514 }, { 224,4514 }, { 225,4514 }, { 226,4514 }, { 227,4514 }, - { 228,4514 }, { 229,4514 }, { 230,4514 }, { 231,4514 }, { 232,4514 }, - { 233,4514 }, { 234,4514 }, { 235,4514 }, { 236,4514 }, { 237,4514 }, - { 238,4514 }, { 239,4514 }, { 240,4514 }, { 241,4514 }, { 242,4514 }, - { 243,4514 }, { 244,4514 }, { 245,4514 }, { 246,4514 }, { 247,4514 }, - { 248,4514 }, { 249,4514 }, { 250,4514 }, { 251,4514 }, { 252,4514 }, - - { 253,4514 }, { 254,4514 }, { 255,4514 }, { 256,4514 }, { 0, 0 }, - { 0,12518 }, { 1,4256 }, { 2,4256 }, { 3,4256 }, { 4,4256 }, - { 5,4256 }, { 6,4256 }, { 7,4256 }, { 8,4256 }, { 9,4256 }, - { 10,4256 }, { 11,4256 }, { 12,4256 }, { 13,4256 }, { 14,4256 }, - { 15,4256 }, { 16,4256 }, { 17,4256 }, { 18,4256 }, { 19,4256 }, - { 20,4256 }, { 21,4256 }, { 22,4256 }, { 23,4256 }, { 24,4256 }, - { 25,4256 }, { 26,4256 }, { 27,4256 }, { 28,4256 }, { 29,4256 }, - { 30,4256 }, { 31,4256 }, { 32,4256 }, { 33,4256 }, { 34,1357 }, - { 35,4256 }, { 36,4256 }, { 37,4256 }, { 38,4256 }, { 39,4256 }, - { 40,4256 }, { 41,4256 }, { 42,4256 }, { 43,4256 }, { 44,4256 }, - - { 45,4256 }, { 46,4256 }, { 47,4256 }, { 48,4256 }, { 49,4256 }, - { 50,4256 }, { 51,4256 }, { 52,4256 }, { 53,4256 }, { 54,4256 }, - { 55,4256 }, { 56,4256 }, { 57,4256 }, { 58,4256 }, { 59,4256 }, - { 60,4256 }, { 61,4256 }, { 62,4256 }, { 63,4256 }, { 64,4256 }, - { 65,4256 }, { 66,4256 }, { 67,4256 }, { 68,4256 }, { 69,4256 }, - { 70,4256 }, { 71,4256 }, { 72,4256 }, { 73,4256 }, { 74,4256 }, - { 75,4256 }, { 76,4256 }, { 77,4256 }, { 78,4256 }, { 79,4256 }, - { 80,4256 }, { 81,4256 }, { 82,4256 }, { 83,4256 }, { 84,4256 }, - { 85,4256 }, { 86,4256 }, { 87,4256 }, { 88,4256 }, { 89,4256 }, - { 90,4256 }, { 91,4256 }, { 92,4256 }, { 93,4256 }, { 94,4256 }, - - { 95,4256 }, { 96,4256 }, { 97,4256 }, { 98,4256 }, { 99,4256 }, - { 100,4256 }, { 101,4256 }, { 102,4256 }, { 103,4256 }, { 104,4256 }, - { 105,4256 }, { 106,4256 }, { 107,4256 }, { 108,4256 }, { 109,4256 }, - { 110,4256 }, { 111,4256 }, { 112,4256 }, { 113,4256 }, { 114,4256 }, - { 115,4256 }, { 116,4256 }, { 117,4256 }, { 118,4256 }, { 119,4256 }, - { 120,4256 }, { 121,4256 }, { 122,4256 }, { 123,4256 }, { 124,4256 }, - { 125,4256 }, { 126,4256 }, { 127,4256 }, { 128,4256 }, { 129,4256 }, - { 130,4256 }, { 131,4256 }, { 132,4256 }, { 133,4256 }, { 134,4256 }, - { 135,4256 }, { 136,4256 }, { 137,4256 }, { 138,4256 }, { 139,4256 }, - { 140,4256 }, { 141,4256 }, { 142,4256 }, { 143,4256 }, { 144,4256 }, - - { 145,4256 }, { 146,4256 }, { 147,4256 }, { 148,4256 }, { 149,4256 }, - { 150,4256 }, { 151,4256 }, { 152,4256 }, { 153,4256 }, { 154,4256 }, - { 155,4256 }, { 156,4256 }, { 157,4256 }, { 158,4256 }, { 159,4256 }, - { 160,4256 }, { 161,4256 }, { 162,4256 }, { 163,4256 }, { 164,4256 }, - { 165,4256 }, { 166,4256 }, { 167,4256 }, { 168,4256 }, { 169,4256 }, - { 170,4256 }, { 171,4256 }, { 172,4256 }, { 173,4256 }, { 174,4256 }, - { 175,4256 }, { 176,4256 }, { 177,4256 }, { 178,4256 }, { 179,4256 }, - { 180,4256 }, { 181,4256 }, { 182,4256 }, { 183,4256 }, { 184,4256 }, - { 185,4256 }, { 186,4256 }, { 187,4256 }, { 188,4256 }, { 189,4256 }, - { 190,4256 }, { 191,4256 }, { 192,4256 }, { 193,4256 }, { 194,4256 }, - - { 195,4256 }, { 196,4256 }, { 197,4256 }, { 198,4256 }, { 199,4256 }, - { 200,4256 }, { 201,4256 }, { 202,4256 }, { 203,4256 }, { 204,4256 }, - { 205,4256 }, { 206,4256 }, { 207,4256 }, { 208,4256 }, { 209,4256 }, - { 210,4256 }, { 211,4256 }, { 212,4256 }, { 213,4256 }, { 214,4256 }, - { 215,4256 }, { 216,4256 }, { 217,4256 }, { 218,4256 }, { 219,4256 }, - { 220,4256 }, { 221,4256 }, { 222,4256 }, { 223,4256 }, { 224,4256 }, - { 225,4256 }, { 226,4256 }, { 227,4256 }, { 228,4256 }, { 229,4256 }, - { 230,4256 }, { 231,4256 }, { 232,4256 }, { 233,4256 }, { 234,4256 }, - { 235,4256 }, { 236,4256 }, { 237,4256 }, { 238,4256 }, { 239,4256 }, - { 240,4256 }, { 241,4256 }, { 242,4256 }, { 243,4256 }, { 244,4256 }, - - { 245,4256 }, { 246,4256 }, { 247,4256 }, { 248,4256 }, { 249,4256 }, - { 250,4256 }, { 251,4256 }, { 252,4256 }, { 253,4256 }, { 254,4256 }, - { 255,4256 }, { 256,4256 }, { 0, 0 }, { 0,12260 }, { 1,4514 }, - { 2,4514 }, { 3,4514 }, { 4,4514 }, { 5,4514 }, { 6,4514 }, - { 7,4514 }, { 8,4514 }, { 9,4514 }, { 10,4514 }, { 11,4514 }, - { 12,4514 }, { 13,4514 }, { 14,4514 }, { 15,4514 }, { 16,4514 }, - { 17,4514 }, { 18,4514 }, { 19,4514 }, { 20,4514 }, { 21,4514 }, - { 22,4514 }, { 23,4514 }, { 24,4514 }, { 25,4514 }, { 26,4514 }, - { 27,4514 }, { 28,4514 }, { 29,4514 }, { 30,4514 }, { 31,4514 }, - { 32,4514 }, { 33,4514 }, { 34,4514 }, { 35,4514 }, { 36,4514 }, - - { 37,4514 }, { 38,4514 }, { 39,1090 }, { 40,4514 }, { 41,4514 }, - { 42,4514 }, { 43,4514 }, { 44,4514 }, { 45,4514 }, { 46,4514 }, - { 47,4514 }, { 48,4514 }, { 49,4514 }, { 50,4514 }, { 51,4514 }, - { 52,4514 }, { 53,4514 }, { 54,4514 }, { 55,4514 }, { 56,4514 }, - { 57,4514 }, { 58,4514 }, { 59,4514 }, { 60,4514 }, { 61,4514 }, - { 62,4514 }, { 63,4514 }, { 64,4514 }, { 65,4514 }, { 66,4514 }, - { 67,4514 }, { 68,4514 }, { 69,4514 }, { 70,4514 }, { 71,4514 }, - { 72,4514 }, { 73,4514 }, { 74,4514 }, { 75,4514 }, { 76,4514 }, - { 77,4514 }, { 78,4514 }, { 79,4514 }, { 80,4514 }, { 81,4514 }, - { 82,4514 }, { 83,4514 }, { 84,4514 }, { 85,4514 }, { 86,4514 }, - - { 87,4514 }, { 88,4514 }, { 89,4514 }, { 90,4514 }, { 91,4514 }, - { 92,4514 }, { 93,4514 }, { 94,4514 }, { 95,4514 }, { 96,4514 }, - { 97,4514 }, { 98,4514 }, { 99,4514 }, { 100,4514 }, { 101,4514 }, - { 102,4514 }, { 103,4514 }, { 104,4514 }, { 105,4514 }, { 106,4514 }, - { 107,4514 }, { 108,4514 }, { 109,4514 }, { 110,4514 }, { 111,4514 }, - { 112,4514 }, { 113,4514 }, { 114,4514 }, { 115,4514 }, { 116,4514 }, - { 117,4514 }, { 118,4514 }, { 119,4514 }, { 120,4514 }, { 121,4514 }, - { 122,4514 }, { 123,4514 }, { 124,4514 }, { 125,4514 }, { 126,4514 }, - { 127,4514 }, { 128,4514 }, { 129,4514 }, { 130,4514 }, { 131,4514 }, - { 132,4514 }, { 133,4514 }, { 134,4514 }, { 135,4514 }, { 136,4514 }, - - { 137,4514 }, { 138,4514 }, { 139,4514 }, { 140,4514 }, { 141,4514 }, - { 142,4514 }, { 143,4514 }, { 144,4514 }, { 145,4514 }, { 146,4514 }, - { 147,4514 }, { 148,4514 }, { 149,4514 }, { 150,4514 }, { 151,4514 }, - { 152,4514 }, { 153,4514 }, { 154,4514 }, { 155,4514 }, { 156,4514 }, - { 157,4514 }, { 158,4514 }, { 159,4514 }, { 160,4514 }, { 161,4514 }, - { 162,4514 }, { 163,4514 }, { 164,4514 }, { 165,4514 }, { 166,4514 }, - { 167,4514 }, { 168,4514 }, { 169,4514 }, { 170,4514 }, { 171,4514 }, - { 172,4514 }, { 173,4514 }, { 174,4514 }, { 175,4514 }, { 176,4514 }, - { 177,4514 }, { 178,4514 }, { 179,4514 }, { 180,4514 }, { 181,4514 }, - { 182,4514 }, { 183,4514 }, { 184,4514 }, { 185,4514 }, { 186,4514 }, - - { 187,4514 }, { 188,4514 }, { 189,4514 }, { 190,4514 }, { 191,4514 }, - { 192,4514 }, { 193,4514 }, { 194,4514 }, { 195,4514 }, { 196,4514 }, - { 197,4514 }, { 198,4514 }, { 199,4514 }, { 200,4514 }, { 201,4514 }, - { 202,4514 }, { 203,4514 }, { 204,4514 }, { 205,4514 }, { 206,4514 }, - { 207,4514 }, { 208,4514 }, { 209,4514 }, { 210,4514 }, { 211,4514 }, - { 212,4514 }, { 213,4514 }, { 214,4514 }, { 215,4514 }, { 216,4514 }, - { 217,4514 }, { 218,4514 }, { 219,4514 }, { 220,4514 }, { 221,4514 }, - { 222,4514 }, { 223,4514 }, { 224,4514 }, { 225,4514 }, { 226,4514 }, - { 227,4514 }, { 228,4514 }, { 229,4514 }, { 230,4514 }, { 231,4514 }, - { 232,4514 }, { 233,4514 }, { 234,4514 }, { 235,4514 }, { 236,4514 }, - - { 237,4514 }, { 238,4514 }, { 239,4514 }, { 240,4514 }, { 241,4514 }, - { 242,4514 }, { 243,4514 }, { 244,4514 }, { 245,4514 }, { 246,4514 }, - { 247,4514 }, { 248,4514 }, { 249,4514 }, { 250,4514 }, { 251,4514 }, - { 252,4514 }, { 253,4514 }, { 254,4514 }, { 255,4514 }, { 256,4514 }, - { 0, 0 }, { 0,12002 }, { 1,4256 }, { 2,4256 }, { 3,4256 }, - { 4,4256 }, { 5,4256 }, { 6,4256 }, { 7,4256 }, { 8,4256 }, - { 9,4256 }, { 10,4256 }, { 11,4256 }, { 12,4256 }, { 13,4256 }, - { 14,4256 }, { 15,4256 }, { 16,4256 }, { 17,4256 }, { 18,4256 }, - { 19,4256 }, { 20,4256 }, { 21,4256 }, { 22,4256 }, { 23,4256 }, - { 24,4256 }, { 25,4256 }, { 26,4256 }, { 27,4256 }, { 28,4256 }, - - { 29,4256 }, { 30,4256 }, { 31,4256 }, { 32,4256 }, { 33,4256 }, - { 34,4256 }, { 35,4256 }, { 36,4256 }, { 37,4256 }, { 38,4256 }, - { 39, 832 }, { 40,4256 }, { 41,4256 }, { 42,4256 }, { 43,4256 }, - { 44,4256 }, { 45,4256 }, { 46,4256 }, { 47,4256 }, { 48,4256 }, - { 49,4256 }, { 50,4256 }, { 51,4256 }, { 52,4256 }, { 53,4256 }, - { 54,4256 }, { 55,4256 }, { 56,4256 }, { 57,4256 }, { 58,4256 }, - { 59,4256 }, { 60,4256 }, { 61,4256 }, { 62,4256 }, { 63,4256 }, - { 64,4256 }, { 65,4256 }, { 66,4256 }, { 67,4256 }, { 68,4256 }, - { 69,4256 }, { 70,4256 }, { 71,4256 }, { 72,4256 }, { 73,4256 }, - { 74,4256 }, { 75,4256 }, { 76,4256 }, { 77,4256 }, { 78,4256 }, - - { 79,4256 }, { 80,4256 }, { 81,4256 }, { 82,4256 }, { 83,4256 }, - { 84,4256 }, { 85,4256 }, { 86,4256 }, { 87,4256 }, { 88,4256 }, - { 89,4256 }, { 90,4256 }, { 91,4256 }, { 92,4256 }, { 93,4256 }, - { 94,4256 }, { 95,4256 }, { 96,4256 }, { 97,4256 }, { 98,4256 }, - { 99,4256 }, { 100,4256 }, { 101,4256 }, { 102,4256 }, { 103,4256 }, - { 104,4256 }, { 105,4256 }, { 106,4256 }, { 107,4256 }, { 108,4256 }, - { 109,4256 }, { 110,4256 }, { 111,4256 }, { 112,4256 }, { 113,4256 }, - { 114,4256 }, { 115,4256 }, { 116,4256 }, { 117,4256 }, { 118,4256 }, - { 119,4256 }, { 120,4256 }, { 121,4256 }, { 122,4256 }, { 123,4256 }, - { 124,4256 }, { 125,4256 }, { 126,4256 }, { 127,4256 }, { 128,4256 }, - - { 129,4256 }, { 130,4256 }, { 131,4256 }, { 132,4256 }, { 133,4256 }, - { 134,4256 }, { 135,4256 }, { 136,4256 }, { 137,4256 }, { 138,4256 }, - { 139,4256 }, { 140,4256 }, { 141,4256 }, { 142,4256 }, { 143,4256 }, - { 144,4256 }, { 145,4256 }, { 146,4256 }, { 147,4256 }, { 148,4256 }, - { 149,4256 }, { 150,4256 }, { 151,4256 }, { 152,4256 }, { 153,4256 }, - { 154,4256 }, { 155,4256 }, { 156,4256 }, { 157,4256 }, { 158,4256 }, - { 159,4256 }, { 160,4256 }, { 161,4256 }, { 162,4256 }, { 163,4256 }, - { 164,4256 }, { 165,4256 }, { 166,4256 }, { 167,4256 }, { 168,4256 }, - { 169,4256 }, { 170,4256 }, { 171,4256 }, { 172,4256 }, { 173,4256 }, - { 174,4256 }, { 175,4256 }, { 176,4256 }, { 177,4256 }, { 178,4256 }, - - { 179,4256 }, { 180,4256 }, { 181,4256 }, { 182,4256 }, { 183,4256 }, - { 184,4256 }, { 185,4256 }, { 186,4256 }, { 187,4256 }, { 188,4256 }, - { 189,4256 }, { 190,4256 }, { 191,4256 }, { 192,4256 }, { 193,4256 }, - { 194,4256 }, { 195,4256 }, { 196,4256 }, { 197,4256 }, { 198,4256 }, - { 199,4256 }, { 200,4256 }, { 201,4256 }, { 202,4256 }, { 203,4256 }, - { 204,4256 }, { 205,4256 }, { 206,4256 }, { 207,4256 }, { 208,4256 }, - { 209,4256 }, { 210,4256 }, { 211,4256 }, { 212,4256 }, { 213,4256 }, - { 214,4256 }, { 215,4256 }, { 216,4256 }, { 217,4256 }, { 218,4256 }, - { 219,4256 }, { 220,4256 }, { 221,4256 }, { 222,4256 }, { 223,4256 }, - { 224,4256 }, { 225,4256 }, { 226,4256 }, { 227,4256 }, { 228,4256 }, - - { 229,4256 }, { 230,4256 }, { 231,4256 }, { 232,4256 }, { 233,4256 }, - { 234,4256 }, { 235,4256 }, { 236,4256 }, { 237,4256 }, { 238,4256 }, - { 239,4256 }, { 240,4256 }, { 241,4256 }, { 242,4256 }, { 243,4256 }, - { 244,4256 }, { 245,4256 }, { 246,4256 }, { 247,4256 }, { 248,4256 }, - { 249,4256 }, { 250,4256 }, { 251,4256 }, { 252,4256 }, { 253,4256 }, - { 254,4256 }, { 255,4256 }, { 256,4256 }, { 0, 0 }, { 0,11744 }, + { 0,29807 }, { 1,6875 }, { 2,6875 }, { 3,6875 }, { 4,6875 }, + { 5,6875 }, { 6,6875 }, { 7,6875 }, { 8,6875 }, { 9,6875 }, + { 10,7133 }, { 11,6875 }, { 12,6875 }, { 13,6875 }, { 14,6875 }, + { 15,6875 }, { 16,6875 }, { 17,6875 }, { 18,6875 }, { 19,6875 }, + { 20,6875 }, { 21,6875 }, { 22,6875 }, { 23,6875 }, { 24,6875 }, + { 25,6875 }, { 26,6875 }, { 27,6875 }, { 28,6875 }, { 29,6875 }, + { 30,6875 }, { 31,6875 }, { 32,6875 }, { 33,6875 }, { 34,6875 }, + + { 35,6875 }, { 36,6875 }, { 37,6875 }, { 38,6875 }, { 39,2645 }, + { 40,6875 }, { 41,6875 }, { 42,6875 }, { 43,6875 }, { 44,6875 }, + { 45,6875 }, { 46,6875 }, { 47,6875 }, { 48,6875 }, { 49,6875 }, + { 50,6875 }, { 51,6875 }, { 52,6875 }, { 53,6875 }, { 54,6875 }, + { 55,6875 }, { 56,6875 }, { 57,6875 }, { 58,6875 }, { 59,6875 }, + { 60,6875 }, { 61,6875 }, { 62,6875 }, { 63,6875 }, { 64,6875 }, + { 65,6875 }, { 66,6875 }, { 67,6875 }, { 68,6875 }, { 69,6875 }, + { 70,6875 }, { 71,6875 }, { 72,6875 }, { 73,6875 }, { 74,6875 }, + { 75,6875 }, { 76,6875 }, { 77,6875 }, { 78,6875 }, { 79,6875 }, + { 80,6875 }, { 81,6875 }, { 82,6875 }, { 83,6875 }, { 84,6875 }, + + { 85,6875 }, { 86,6875 }, { 87,6875 }, { 88,6875 }, { 89,6875 }, + { 90,6875 }, { 91,6875 }, { 92,7391 }, { 93,6875 }, { 94,6875 }, + { 95,6875 }, { 96,6875 }, { 97,6875 }, { 98,6875 }, { 99,6875 }, + { 100,6875 }, { 101,6875 }, { 102,6875 }, { 103,6875 }, { 104,6875 }, + { 105,6875 }, { 106,6875 }, { 107,6875 }, { 108,6875 }, { 109,6875 }, + { 110,6875 }, { 111,6875 }, { 112,6875 }, { 113,6875 }, { 114,6875 }, + { 115,6875 }, { 116,6875 }, { 117,6875 }, { 118,6875 }, { 119,6875 }, + { 120,6875 }, { 121,6875 }, { 122,6875 }, { 123,6875 }, { 124,6875 }, + { 125,6875 }, { 126,6875 }, { 127,6875 }, { 128,6875 }, { 129,6875 }, + { 130,6875 }, { 131,6875 }, { 132,6875 }, { 133,6875 }, { 134,6875 }, + + { 135,6875 }, { 136,6875 }, { 137,6875 }, { 138,6875 }, { 139,6875 }, + { 140,6875 }, { 141,6875 }, { 142,6875 }, { 143,6875 }, { 144,6875 }, + { 145,6875 }, { 146,6875 }, { 147,6875 }, { 148,6875 }, { 149,6875 }, + { 150,6875 }, { 151,6875 }, { 152,6875 }, { 153,6875 }, { 154,6875 }, + { 155,6875 }, { 156,6875 }, { 157,6875 }, { 158,6875 }, { 159,6875 }, + { 160,6875 }, { 161,6875 }, { 162,6875 }, { 163,6875 }, { 164,6875 }, + { 165,6875 }, { 166,6875 }, { 167,6875 }, { 168,6875 }, { 169,6875 }, + { 170,6875 }, { 171,6875 }, { 172,6875 }, { 173,6875 }, { 174,6875 }, + { 175,6875 }, { 176,6875 }, { 177,6875 }, { 178,6875 }, { 179,6875 }, + { 180,6875 }, { 181,6875 }, { 182,6875 }, { 183,6875 }, { 184,6875 }, + + { 185,6875 }, { 186,6875 }, { 187,6875 }, { 188,6875 }, { 189,6875 }, + { 190,6875 }, { 191,6875 }, { 192,6875 }, { 193,6875 }, { 194,6875 }, + { 195,6875 }, { 196,6875 }, { 197,6875 }, { 198,6875 }, { 199,6875 }, + { 200,6875 }, { 201,6875 }, { 202,6875 }, { 203,6875 }, { 204,6875 }, + { 205,6875 }, { 206,6875 }, { 207,6875 }, { 208,6875 }, { 209,6875 }, + { 210,6875 }, { 211,6875 }, { 212,6875 }, { 213,6875 }, { 214,6875 }, + { 215,6875 }, { 216,6875 }, { 217,6875 }, { 218,6875 }, { 219,6875 }, + { 220,6875 }, { 221,6875 }, { 222,6875 }, { 223,6875 }, { 224,6875 }, + { 225,6875 }, { 226,6875 }, { 227,6875 }, { 228,6875 }, { 229,6875 }, + { 230,6875 }, { 231,6875 }, { 232,6875 }, { 233,6875 }, { 234,6875 }, + + { 235,6875 }, { 236,6875 }, { 237,6875 }, { 238,6875 }, { 239,6875 }, + { 240,6875 }, { 241,6875 }, { 242,6875 }, { 243,6875 }, { 244,6875 }, + { 245,6875 }, { 246,6875 }, { 247,6875 }, { 248,6875 }, { 249,6875 }, + { 250,6875 }, { 251,6875 }, { 252,6875 }, { 253,6875 }, { 254,6875 }, + { 255,6875 }, { 256,6875 }, { 0, 0 }, { 0,29549 }, { 1,6617 }, + { 2,6617 }, { 3,6617 }, { 4,6617 }, { 5,6617 }, { 6,6617 }, + { 7,6617 }, { 8,6617 }, { 9,6617 }, { 10,6875 }, { 11,6617 }, + { 12,6617 }, { 13,6617 }, { 14,6617 }, { 15,6617 }, { 16,6617 }, + { 17,6617 }, { 18,6617 }, { 19,6617 }, { 20,6617 }, { 21,6617 }, + { 22,6617 }, { 23,6617 }, { 24,6617 }, { 25,6617 }, { 26,6617 }, + + { 27,6617 }, { 28,6617 }, { 29,6617 }, { 30,6617 }, { 31,6617 }, + { 32,6617 }, { 33,6617 }, { 34,6617 }, { 35,6617 }, { 36,6617 }, + { 37,6617 }, { 38,6617 }, { 39,2387 }, { 40,6617 }, { 41,6617 }, + { 42,6617 }, { 43,6617 }, { 44,6617 }, { 45,6617 }, { 46,6617 }, + { 47,6617 }, { 48,6617 }, { 49,6617 }, { 50,6617 }, { 51,6617 }, + { 52,6617 }, { 53,6617 }, { 54,6617 }, { 55,6617 }, { 56,6617 }, + { 57,6617 }, { 58,6617 }, { 59,6617 }, { 60,6617 }, { 61,6617 }, + { 62,6617 }, { 63,6617 }, { 64,6617 }, { 65,6617 }, { 66,6617 }, + { 67,6617 }, { 68,6617 }, { 69,6617 }, { 70,6617 }, { 71,6617 }, + { 72,6617 }, { 73,6617 }, { 74,6617 }, { 75,6617 }, { 76,6617 }, + + { 77,6617 }, { 78,6617 }, { 79,6617 }, { 80,6617 }, { 81,6617 }, + { 82,6617 }, { 83,6617 }, { 84,6617 }, { 85,6617 }, { 86,6617 }, + { 87,6617 }, { 88,6617 }, { 89,6617 }, { 90,6617 }, { 91,6617 }, + { 92,7133 }, { 93,6617 }, { 94,6617 }, { 95,6617 }, { 96,6617 }, + { 97,6617 }, { 98,6617 }, { 99,6617 }, { 100,6617 }, { 101,6617 }, + { 102,6617 }, { 103,6617 }, { 104,6617 }, { 105,6617 }, { 106,6617 }, + { 107,6617 }, { 108,6617 }, { 109,6617 }, { 110,6617 }, { 111,6617 }, + { 112,6617 }, { 113,6617 }, { 114,6617 }, { 115,6617 }, { 116,6617 }, + { 117,6617 }, { 118,6617 }, { 119,6617 }, { 120,6617 }, { 121,6617 }, + { 122,6617 }, { 123,6617 }, { 124,6617 }, { 125,6617 }, { 126,6617 }, + + { 127,6617 }, { 128,6617 }, { 129,6617 }, { 130,6617 }, { 131,6617 }, + { 132,6617 }, { 133,6617 }, { 134,6617 }, { 135,6617 }, { 136,6617 }, + { 137,6617 }, { 138,6617 }, { 139,6617 }, { 140,6617 }, { 141,6617 }, + { 142,6617 }, { 143,6617 }, { 144,6617 }, { 145,6617 }, { 146,6617 }, + { 147,6617 }, { 148,6617 }, { 149,6617 }, { 150,6617 }, { 151,6617 }, + { 152,6617 }, { 153,6617 }, { 154,6617 }, { 155,6617 }, { 156,6617 }, + { 157,6617 }, { 158,6617 }, { 159,6617 }, { 160,6617 }, { 161,6617 }, + { 162,6617 }, { 163,6617 }, { 164,6617 }, { 165,6617 }, { 166,6617 }, + { 167,6617 }, { 168,6617 }, { 169,6617 }, { 170,6617 }, { 171,6617 }, + { 172,6617 }, { 173,6617 }, { 174,6617 }, { 175,6617 }, { 176,6617 }, + + { 177,6617 }, { 178,6617 }, { 179,6617 }, { 180,6617 }, { 181,6617 }, + { 182,6617 }, { 183,6617 }, { 184,6617 }, { 185,6617 }, { 186,6617 }, + { 187,6617 }, { 188,6617 }, { 189,6617 }, { 190,6617 }, { 191,6617 }, + { 192,6617 }, { 193,6617 }, { 194,6617 }, { 195,6617 }, { 196,6617 }, + { 197,6617 }, { 198,6617 }, { 199,6617 }, { 200,6617 }, { 201,6617 }, + { 202,6617 }, { 203,6617 }, { 204,6617 }, { 205,6617 }, { 206,6617 }, + { 207,6617 }, { 208,6617 }, { 209,6617 }, { 210,6617 }, { 211,6617 }, + { 212,6617 }, { 213,6617 }, { 214,6617 }, { 215,6617 }, { 216,6617 }, + { 217,6617 }, { 218,6617 }, { 219,6617 }, { 220,6617 }, { 221,6617 }, + { 222,6617 }, { 223,6617 }, { 224,6617 }, { 225,6617 }, { 226,6617 }, + + { 227,6617 }, { 228,6617 }, { 229,6617 }, { 230,6617 }, { 231,6617 }, + { 232,6617 }, { 233,6617 }, { 234,6617 }, { 235,6617 }, { 236,6617 }, + { 237,6617 }, { 238,6617 }, { 239,6617 }, { 240,6617 }, { 241,6617 }, + { 242,6617 }, { 243,6617 }, { 244,6617 }, { 245,6617 }, { 246,6617 }, + { 247,6617 }, { 248,6617 }, { 249,6617 }, { 250,6617 }, { 251,6617 }, + { 252,6617 }, { 253,6617 }, { 254,6617 }, { 255,6617 }, { 256,6617 }, + { 0, 0 }, { 0,29291 }, { 1,7133 }, { 2,7133 }, { 3,7133 }, + { 4,7133 }, { 5,7133 }, { 6,7133 }, { 7,7133 }, { 8,7133 }, + { 9,7133 }, { 10,7391 }, { 11,7133 }, { 12,7133 }, { 13,7133 }, + { 14,7133 }, { 15,7133 }, { 16,7133 }, { 17,7133 }, { 18,7133 }, + + { 19,7133 }, { 20,7133 }, { 21,7133 }, { 22,7133 }, { 23,7133 }, + { 24,7133 }, { 25,7133 }, { 26,7133 }, { 27,7133 }, { 28,7133 }, + { 29,7133 }, { 30,7133 }, { 31,7133 }, { 32,7133 }, { 33,7133 }, + { 34,7133 }, { 35,7133 }, { 36,7649 }, { 37,7133 }, { 38,7133 }, + { 39,7133 }, { 40,7133 }, { 41,7133 }, { 42,7133 }, { 43,7133 }, + { 44,7133 }, { 45,7133 }, { 46,7133 }, { 47,7133 }, { 48,7133 }, + { 49,7133 }, { 50,7133 }, { 51,7133 }, { 52,7133 }, { 53,7133 }, + { 54,7133 }, { 55,7133 }, { 56,7133 }, { 57,7133 }, { 58,7133 }, + { 59,7133 }, { 60,7133 }, { 61,7133 }, { 62,7133 }, { 63,7133 }, + { 64,7133 }, { 65,7133 }, { 66,7133 }, { 67,7133 }, { 68,7133 }, + + { 69,7133 }, { 70,7133 }, { 71,7133 }, { 72,7133 }, { 73,7133 }, + { 74,7133 }, { 75,7133 }, { 76,7133 }, { 77,7133 }, { 78,7133 }, + { 79,7133 }, { 80,7133 }, { 81,7133 }, { 82,7133 }, { 83,7133 }, + { 84,7133 }, { 85,7133 }, { 86,7133 }, { 87,7133 }, { 88,7133 }, + { 89,7133 }, { 90,7133 }, { 91,7133 }, { 92,7133 }, { 93,7133 }, + { 94,7133 }, { 95,7133 }, { 96,7133 }, { 97,7133 }, { 98,7133 }, + { 99,7133 }, { 100,7133 }, { 101,7133 }, { 102,7133 }, { 103,7133 }, + { 104,7133 }, { 105,7133 }, { 106,7133 }, { 107,7133 }, { 108,7133 }, + { 109,7133 }, { 110,7133 }, { 111,7133 }, { 112,7133 }, { 113,7133 }, + { 114,7133 }, { 115,7133 }, { 116,7133 }, { 117,7133 }, { 118,7133 }, + + { 119,7133 }, { 120,7133 }, { 121,7133 }, { 122,7133 }, { 123,7133 }, + { 124,7133 }, { 125,7133 }, { 126,7133 }, { 127,7133 }, { 128,7133 }, + { 129,7133 }, { 130,7133 }, { 131,7133 }, { 132,7133 }, { 133,7133 }, + { 134,7133 }, { 135,7133 }, { 136,7133 }, { 137,7133 }, { 138,7133 }, + { 139,7133 }, { 140,7133 }, { 141,7133 }, { 142,7133 }, { 143,7133 }, + { 144,7133 }, { 145,7133 }, { 146,7133 }, { 147,7133 }, { 148,7133 }, + { 149,7133 }, { 150,7133 }, { 151,7133 }, { 152,7133 }, { 153,7133 }, + { 154,7133 }, { 155,7133 }, { 156,7133 }, { 157,7133 }, { 158,7133 }, + { 159,7133 }, { 160,7133 }, { 161,7133 }, { 162,7133 }, { 163,7133 }, + { 164,7133 }, { 165,7133 }, { 166,7133 }, { 167,7133 }, { 168,7133 }, + + { 169,7133 }, { 170,7133 }, { 171,7133 }, { 172,7133 }, { 173,7133 }, + { 174,7133 }, { 175,7133 }, { 176,7133 }, { 177,7133 }, { 178,7133 }, + { 179,7133 }, { 180,7133 }, { 181,7133 }, { 182,7133 }, { 183,7133 }, + { 184,7133 }, { 185,7133 }, { 186,7133 }, { 187,7133 }, { 188,7133 }, + { 189,7133 }, { 190,7133 }, { 191,7133 }, { 192,7133 }, { 193,7133 }, + { 194,7133 }, { 195,7133 }, { 196,7133 }, { 197,7133 }, { 198,7133 }, + { 199,7133 }, { 200,7133 }, { 201,7133 }, { 202,7133 }, { 203,7133 }, + { 204,7133 }, { 205,7133 }, { 206,7133 }, { 207,7133 }, { 208,7133 }, + { 209,7133 }, { 210,7133 }, { 211,7133 }, { 212,7133 }, { 213,7133 }, + { 214,7133 }, { 215,7133 }, { 216,7133 }, { 217,7133 }, { 218,7133 }, + + { 219,7133 }, { 220,7133 }, { 221,7133 }, { 222,7133 }, { 223,7133 }, + { 224,7133 }, { 225,7133 }, { 226,7133 }, { 227,7133 }, { 228,7133 }, + { 229,7133 }, { 230,7133 }, { 231,7133 }, { 232,7133 }, { 233,7133 }, + { 234,7133 }, { 235,7133 }, { 236,7133 }, { 237,7133 }, { 238,7133 }, + { 239,7133 }, { 240,7133 }, { 241,7133 }, { 242,7133 }, { 243,7133 }, + { 244,7133 }, { 245,7133 }, { 246,7133 }, { 247,7133 }, { 248,7133 }, + { 249,7133 }, { 250,7133 }, { 251,7133 }, { 252,7133 }, { 253,7133 }, + { 254,7133 }, { 255,7133 }, { 256,7133 }, { 0, 0 }, { 0,29033 }, + { 1,6875 }, { 2,6875 }, { 3,6875 }, { 4,6875 }, { 5,6875 }, + { 6,6875 }, { 7,6875 }, { 8,6875 }, { 9,6875 }, { 10,7133 }, + + { 11,6875 }, { 12,6875 }, { 13,6875 }, { 14,6875 }, { 15,6875 }, + { 16,6875 }, { 17,6875 }, { 18,6875 }, { 19,6875 }, { 20,6875 }, + { 21,6875 }, { 22,6875 }, { 23,6875 }, { 24,6875 }, { 25,6875 }, + { 26,6875 }, { 27,6875 }, { 28,6875 }, { 29,6875 }, { 30,6875 }, + { 31,6875 }, { 32,6875 }, { 33,6875 }, { 34,6875 }, { 35,6875 }, + { 36,7391 }, { 37,6875 }, { 38,6875 }, { 39,6875 }, { 40,6875 }, + { 41,6875 }, { 42,6875 }, { 43,6875 }, { 44,6875 }, { 45,6875 }, + { 46,6875 }, { 47,6875 }, { 48,6875 }, { 49,6875 }, { 50,6875 }, + { 51,6875 }, { 52,6875 }, { 53,6875 }, { 54,6875 }, { 55,6875 }, + { 56,6875 }, { 57,6875 }, { 58,6875 }, { 59,6875 }, { 60,6875 }, + + { 61,6875 }, { 62,6875 }, { 63,6875 }, { 64,6875 }, { 65,6875 }, + { 66,6875 }, { 67,6875 }, { 68,6875 }, { 69,6875 }, { 70,6875 }, + { 71,6875 }, { 72,6875 }, { 73,6875 }, { 74,6875 }, { 75,6875 }, + { 76,6875 }, { 77,6875 }, { 78,6875 }, { 79,6875 }, { 80,6875 }, + { 81,6875 }, { 82,6875 }, { 83,6875 }, { 84,6875 }, { 85,6875 }, + { 86,6875 }, { 87,6875 }, { 88,6875 }, { 89,6875 }, { 90,6875 }, + { 91,6875 }, { 92,6875 }, { 93,6875 }, { 94,6875 }, { 95,6875 }, + { 96,6875 }, { 97,6875 }, { 98,6875 }, { 99,6875 }, { 100,6875 }, + { 101,6875 }, { 102,6875 }, { 103,6875 }, { 104,6875 }, { 105,6875 }, + { 106,6875 }, { 107,6875 }, { 108,6875 }, { 109,6875 }, { 110,6875 }, + + { 111,6875 }, { 112,6875 }, { 113,6875 }, { 114,6875 }, { 115,6875 }, + { 116,6875 }, { 117,6875 }, { 118,6875 }, { 119,6875 }, { 120,6875 }, + { 121,6875 }, { 122,6875 }, { 123,6875 }, { 124,6875 }, { 125,6875 }, + { 126,6875 }, { 127,6875 }, { 128,6875 }, { 129,6875 }, { 130,6875 }, + { 131,6875 }, { 132,6875 }, { 133,6875 }, { 134,6875 }, { 135,6875 }, + { 136,6875 }, { 137,6875 }, { 138,6875 }, { 139,6875 }, { 140,6875 }, + { 141,6875 }, { 142,6875 }, { 143,6875 }, { 144,6875 }, { 145,6875 }, + { 146,6875 }, { 147,6875 }, { 148,6875 }, { 149,6875 }, { 150,6875 }, + { 151,6875 }, { 152,6875 }, { 153,6875 }, { 154,6875 }, { 155,6875 }, + { 156,6875 }, { 157,6875 }, { 158,6875 }, { 159,6875 }, { 160,6875 }, + + { 161,6875 }, { 162,6875 }, { 163,6875 }, { 164,6875 }, { 165,6875 }, + { 166,6875 }, { 167,6875 }, { 168,6875 }, { 169,6875 }, { 170,6875 }, + { 171,6875 }, { 172,6875 }, { 173,6875 }, { 174,6875 }, { 175,6875 }, + { 176,6875 }, { 177,6875 }, { 178,6875 }, { 179,6875 }, { 180,6875 }, + { 181,6875 }, { 182,6875 }, { 183,6875 }, { 184,6875 }, { 185,6875 }, + { 186,6875 }, { 187,6875 }, { 188,6875 }, { 189,6875 }, { 190,6875 }, + { 191,6875 }, { 192,6875 }, { 193,6875 }, { 194,6875 }, { 195,6875 }, + { 196,6875 }, { 197,6875 }, { 198,6875 }, { 199,6875 }, { 200,6875 }, + { 201,6875 }, { 202,6875 }, { 203,6875 }, { 204,6875 }, { 205,6875 }, + { 206,6875 }, { 207,6875 }, { 208,6875 }, { 209,6875 }, { 210,6875 }, + + { 211,6875 }, { 212,6875 }, { 213,6875 }, { 214,6875 }, { 215,6875 }, + { 216,6875 }, { 217,6875 }, { 218,6875 }, { 219,6875 }, { 220,6875 }, + { 221,6875 }, { 222,6875 }, { 223,6875 }, { 224,6875 }, { 225,6875 }, + { 226,6875 }, { 227,6875 }, { 228,6875 }, { 229,6875 }, { 230,6875 }, + { 231,6875 }, { 232,6875 }, { 233,6875 }, { 234,6875 }, { 235,6875 }, + { 236,6875 }, { 237,6875 }, { 238,6875 }, { 239,6875 }, { 240,6875 }, + { 241,6875 }, { 242,6875 }, { 243,6875 }, { 244,6875 }, { 245,6875 }, + { 246,6875 }, { 247,6875 }, { 248,6875 }, { 249,6875 }, { 250,6875 }, + { 251,6875 }, { 252,6875 }, { 253,6875 }, { 254,6875 }, { 255,6875 }, + { 256,6875 }, { 0, 0 }, { 0,28775 }, { 1,4993 }, { 2,4993 }, + + { 3,4993 }, { 4,4993 }, { 5,4993 }, { 6,4993 }, { 7,4993 }, + { 8,4993 }, { 9,4993 }, { 10,4993 }, { 11,4993 }, { 12,4993 }, + { 13,4993 }, { 14,4993 }, { 15,4993 }, { 16,4993 }, { 17,4993 }, + { 18,4993 }, { 19,4993 }, { 20,4993 }, { 21,4993 }, { 22,4993 }, + { 23,4993 }, { 24,4993 }, { 25,4993 }, { 26,4993 }, { 27,4993 }, + { 28,4993 }, { 29,4993 }, { 30,4993 }, { 31,4993 }, { 32,4993 }, + { 33,4993 }, { 34,1615 }, { 35,4993 }, { 36,4993 }, { 37,4993 }, + { 38,4993 }, { 39,4993 }, { 40,4993 }, { 41,4993 }, { 42,4993 }, + { 43,4993 }, { 44,4993 }, { 45,4993 }, { 46,4993 }, { 47,4993 }, + { 48,4993 }, { 49,4993 }, { 50,4993 }, { 51,4993 }, { 52,4993 }, + + { 53,4993 }, { 54,4993 }, { 55,4993 }, { 56,4993 }, { 57,4993 }, + { 58,4993 }, { 59,4993 }, { 60,4993 }, { 61,4993 }, { 62,4993 }, + { 63,4993 }, { 64,4993 }, { 65,4993 }, { 66,4993 }, { 67,4993 }, + { 68,4993 }, { 69,4993 }, { 70,4993 }, { 71,4993 }, { 72,4993 }, + { 73,4993 }, { 74,4993 }, { 75,4993 }, { 76,4993 }, { 77,4993 }, + { 78,4993 }, { 79,4993 }, { 80,4993 }, { 81,4993 }, { 82,4993 }, + { 83,4993 }, { 84,4993 }, { 85,4993 }, { 86,4993 }, { 87,4993 }, + { 88,4993 }, { 89,4993 }, { 90,4993 }, { 91,4993 }, { 92,4993 }, + { 93,4993 }, { 94,4993 }, { 95,4993 }, { 96,4993 }, { 97,4993 }, + { 98,4993 }, { 99,4993 }, { 100,4993 }, { 101,4993 }, { 102,4993 }, + + { 103,4993 }, { 104,4993 }, { 105,4993 }, { 106,4993 }, { 107,4993 }, + { 108,4993 }, { 109,4993 }, { 110,4993 }, { 111,4993 }, { 112,4993 }, + { 113,4993 }, { 114,4993 }, { 115,4993 }, { 116,4993 }, { 117,4993 }, + { 118,4993 }, { 119,4993 }, { 120,4993 }, { 121,4993 }, { 122,4993 }, + { 123,4993 }, { 124,4993 }, { 125,4993 }, { 126,4993 }, { 127,4993 }, + { 128,4993 }, { 129,4993 }, { 130,4993 }, { 131,4993 }, { 132,4993 }, + { 133,4993 }, { 134,4993 }, { 135,4993 }, { 136,4993 }, { 137,4993 }, + { 138,4993 }, { 139,4993 }, { 140,4993 }, { 141,4993 }, { 142,4993 }, + { 143,4993 }, { 144,4993 }, { 145,4993 }, { 146,4993 }, { 147,4993 }, + { 148,4993 }, { 149,4993 }, { 150,4993 }, { 151,4993 }, { 152,4993 }, + + { 153,4993 }, { 154,4993 }, { 155,4993 }, { 156,4993 }, { 157,4993 }, + { 158,4993 }, { 159,4993 }, { 160,4993 }, { 161,4993 }, { 162,4993 }, + { 163,4993 }, { 164,4993 }, { 165,4993 }, { 166,4993 }, { 167,4993 }, + { 168,4993 }, { 169,4993 }, { 170,4993 }, { 171,4993 }, { 172,4993 }, + { 173,4993 }, { 174,4993 }, { 175,4993 }, { 176,4993 }, { 177,4993 }, + { 178,4993 }, { 179,4993 }, { 180,4993 }, { 181,4993 }, { 182,4993 }, + { 183,4993 }, { 184,4993 }, { 185,4993 }, { 186,4993 }, { 187,4993 }, + { 188,4993 }, { 189,4993 }, { 190,4993 }, { 191,4993 }, { 192,4993 }, + { 193,4993 }, { 194,4993 }, { 195,4993 }, { 196,4993 }, { 197,4993 }, + { 198,4993 }, { 199,4993 }, { 200,4993 }, { 201,4993 }, { 202,4993 }, + + { 203,4993 }, { 204,4993 }, { 205,4993 }, { 206,4993 }, { 207,4993 }, + { 208,4993 }, { 209,4993 }, { 210,4993 }, { 211,4993 }, { 212,4993 }, + { 213,4993 }, { 214,4993 }, { 215,4993 }, { 216,4993 }, { 217,4993 }, + { 218,4993 }, { 219,4993 }, { 220,4993 }, { 221,4993 }, { 222,4993 }, + { 223,4993 }, { 224,4993 }, { 225,4993 }, { 226,4993 }, { 227,4993 }, + { 228,4993 }, { 229,4993 }, { 230,4993 }, { 231,4993 }, { 232,4993 }, + { 233,4993 }, { 234,4993 }, { 235,4993 }, { 236,4993 }, { 237,4993 }, + { 238,4993 }, { 239,4993 }, { 240,4993 }, { 241,4993 }, { 242,4993 }, + { 243,4993 }, { 244,4993 }, { 245,4993 }, { 246,4993 }, { 247,4993 }, + { 248,4993 }, { 249,4993 }, { 250,4993 }, { 251,4993 }, { 252,4993 }, + + { 253,4993 }, { 254,4993 }, { 255,4993 }, { 256,4993 }, { 0, 0 }, + { 0,28517 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, { 4,4735 }, + { 5,4735 }, { 6,4735 }, { 7,4735 }, { 8,4735 }, { 9,4735 }, + { 10,4735 }, { 11,4735 }, { 12,4735 }, { 13,4735 }, { 14,4735 }, + { 15,4735 }, { 16,4735 }, { 17,4735 }, { 18,4735 }, { 19,4735 }, + { 20,4735 }, { 21,4735 }, { 22,4735 }, { 23,4735 }, { 24,4735 }, + { 25,4735 }, { 26,4735 }, { 27,4735 }, { 28,4735 }, { 29,4735 }, + { 30,4735 }, { 31,4735 }, { 32,4735 }, { 33,4735 }, { 34,1357 }, + { 35,4735 }, { 36,4735 }, { 37,4735 }, { 38,4735 }, { 39,4735 }, + { 40,4735 }, { 41,4735 }, { 42,4735 }, { 43,4735 }, { 44,4735 }, + + { 45,4735 }, { 46,4735 }, { 47,4735 }, { 48,4735 }, { 49,4735 }, + { 50,4735 }, { 51,4735 }, { 52,4735 }, { 53,4735 }, { 54,4735 }, + { 55,4735 }, { 56,4735 }, { 57,4735 }, { 58,4735 }, { 59,4735 }, + { 60,4735 }, { 61,4735 }, { 62,4735 }, { 63,4735 }, { 64,4735 }, + { 65,4735 }, { 66,4735 }, { 67,4735 }, { 68,4735 }, { 69,4735 }, + { 70,4735 }, { 71,4735 }, { 72,4735 }, { 73,4735 }, { 74,4735 }, + { 75,4735 }, { 76,4735 }, { 77,4735 }, { 78,4735 }, { 79,4735 }, + { 80,4735 }, { 81,4735 }, { 82,4735 }, { 83,4735 }, { 84,4735 }, + { 85,4735 }, { 86,4735 }, { 87,4735 }, { 88,4735 }, { 89,4735 }, + { 90,4735 }, { 91,4735 }, { 92,4735 }, { 93,4735 }, { 94,4735 }, + + { 95,4735 }, { 96,4735 }, { 97,4735 }, { 98,4735 }, { 99,4735 }, + { 100,4735 }, { 101,4735 }, { 102,4735 }, { 103,4735 }, { 104,4735 }, + { 105,4735 }, { 106,4735 }, { 107,4735 }, { 108,4735 }, { 109,4735 }, + { 110,4735 }, { 111,4735 }, { 112,4735 }, { 113,4735 }, { 114,4735 }, + { 115,4735 }, { 116,4735 }, { 117,4735 }, { 118,4735 }, { 119,4735 }, + { 120,4735 }, { 121,4735 }, { 122,4735 }, { 123,4735 }, { 124,4735 }, + { 125,4735 }, { 126,4735 }, { 127,4735 }, { 128,4735 }, { 129,4735 }, + { 130,4735 }, { 131,4735 }, { 132,4735 }, { 133,4735 }, { 134,4735 }, + { 135,4735 }, { 136,4735 }, { 137,4735 }, { 138,4735 }, { 139,4735 }, + { 140,4735 }, { 141,4735 }, { 142,4735 }, { 143,4735 }, { 144,4735 }, + + { 145,4735 }, { 146,4735 }, { 147,4735 }, { 148,4735 }, { 149,4735 }, + { 150,4735 }, { 151,4735 }, { 152,4735 }, { 153,4735 }, { 154,4735 }, + { 155,4735 }, { 156,4735 }, { 157,4735 }, { 158,4735 }, { 159,4735 }, + { 160,4735 }, { 161,4735 }, { 162,4735 }, { 163,4735 }, { 164,4735 }, + { 165,4735 }, { 166,4735 }, { 167,4735 }, { 168,4735 }, { 169,4735 }, + { 170,4735 }, { 171,4735 }, { 172,4735 }, { 173,4735 }, { 174,4735 }, + { 175,4735 }, { 176,4735 }, { 177,4735 }, { 178,4735 }, { 179,4735 }, + { 180,4735 }, { 181,4735 }, { 182,4735 }, { 183,4735 }, { 184,4735 }, + { 185,4735 }, { 186,4735 }, { 187,4735 }, { 188,4735 }, { 189,4735 }, + { 190,4735 }, { 191,4735 }, { 192,4735 }, { 193,4735 }, { 194,4735 }, + + { 195,4735 }, { 196,4735 }, { 197,4735 }, { 198,4735 }, { 199,4735 }, + { 200,4735 }, { 201,4735 }, { 202,4735 }, { 203,4735 }, { 204,4735 }, + { 205,4735 }, { 206,4735 }, { 207,4735 }, { 208,4735 }, { 209,4735 }, + { 210,4735 }, { 211,4735 }, { 212,4735 }, { 213,4735 }, { 214,4735 }, + { 215,4735 }, { 216,4735 }, { 217,4735 }, { 218,4735 }, { 219,4735 }, + { 220,4735 }, { 221,4735 }, { 222,4735 }, { 223,4735 }, { 224,4735 }, + { 225,4735 }, { 226,4735 }, { 227,4735 }, { 228,4735 }, { 229,4735 }, + { 230,4735 }, { 231,4735 }, { 232,4735 }, { 233,4735 }, { 234,4735 }, + { 235,4735 }, { 236,4735 }, { 237,4735 }, { 238,4735 }, { 239,4735 }, + { 240,4735 }, { 241,4735 }, { 242,4735 }, { 243,4735 }, { 244,4735 }, + + { 245,4735 }, { 246,4735 }, { 247,4735 }, { 248,4735 }, { 249,4735 }, + { 250,4735 }, { 251,4735 }, { 252,4735 }, { 253,4735 }, { 254,4735 }, + { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,28259 }, { 1,4993 }, + { 2,4993 }, { 3,4993 }, { 4,4993 }, { 5,4993 }, { 6,4993 }, + { 7,4993 }, { 8,4993 }, { 9,4993 }, { 10,4993 }, { 11,4993 }, + { 12,4993 }, { 13,4993 }, { 14,4993 }, { 15,4993 }, { 16,4993 }, + { 17,4993 }, { 18,4993 }, { 19,4993 }, { 20,4993 }, { 21,4993 }, + { 22,4993 }, { 23,4993 }, { 24,4993 }, { 25,4993 }, { 26,4993 }, + { 27,4993 }, { 28,4993 }, { 29,4993 }, { 30,4993 }, { 31,4993 }, + { 32,4993 }, { 33,4993 }, { 34,4993 }, { 35,4993 }, { 36,4993 }, + + { 37,4993 }, { 38,4993 }, { 39,1090 }, { 40,4993 }, { 41,4993 }, + { 42,4993 }, { 43,4993 }, { 44,4993 }, { 45,4993 }, { 46,4993 }, + { 47,4993 }, { 48,4993 }, { 49,4993 }, { 50,4993 }, { 51,4993 }, + { 52,4993 }, { 53,4993 }, { 54,4993 }, { 55,4993 }, { 56,4993 }, + { 57,4993 }, { 58,4993 }, { 59,4993 }, { 60,4993 }, { 61,4993 }, + { 62,4993 }, { 63,4993 }, { 64,4993 }, { 65,4993 }, { 66,4993 }, + { 67,4993 }, { 68,4993 }, { 69,4993 }, { 70,4993 }, { 71,4993 }, + { 72,4993 }, { 73,4993 }, { 74,4993 }, { 75,4993 }, { 76,4993 }, + { 77,4993 }, { 78,4993 }, { 79,4993 }, { 80,4993 }, { 81,4993 }, + { 82,4993 }, { 83,4993 }, { 84,4993 }, { 85,4993 }, { 86,4993 }, + + { 87,4993 }, { 88,4993 }, { 89,4993 }, { 90,4993 }, { 91,4993 }, + { 92,4993 }, { 93,4993 }, { 94,4993 }, { 95,4993 }, { 96,4993 }, + { 97,4993 }, { 98,4993 }, { 99,4993 }, { 100,4993 }, { 101,4993 }, + { 102,4993 }, { 103,4993 }, { 104,4993 }, { 105,4993 }, { 106,4993 }, + { 107,4993 }, { 108,4993 }, { 109,4993 }, { 110,4993 }, { 111,4993 }, + { 112,4993 }, { 113,4993 }, { 114,4993 }, { 115,4993 }, { 116,4993 }, + { 117,4993 }, { 118,4993 }, { 119,4993 }, { 120,4993 }, { 121,4993 }, + { 122,4993 }, { 123,4993 }, { 124,4993 }, { 125,4993 }, { 126,4993 }, + { 127,4993 }, { 128,4993 }, { 129,4993 }, { 130,4993 }, { 131,4993 }, + { 132,4993 }, { 133,4993 }, { 134,4993 }, { 135,4993 }, { 136,4993 }, + + { 137,4993 }, { 138,4993 }, { 139,4993 }, { 140,4993 }, { 141,4993 }, + { 142,4993 }, { 143,4993 }, { 144,4993 }, { 145,4993 }, { 146,4993 }, + { 147,4993 }, { 148,4993 }, { 149,4993 }, { 150,4993 }, { 151,4993 }, + { 152,4993 }, { 153,4993 }, { 154,4993 }, { 155,4993 }, { 156,4993 }, + { 157,4993 }, { 158,4993 }, { 159,4993 }, { 160,4993 }, { 161,4993 }, + { 162,4993 }, { 163,4993 }, { 164,4993 }, { 165,4993 }, { 166,4993 }, + { 167,4993 }, { 168,4993 }, { 169,4993 }, { 170,4993 }, { 171,4993 }, + { 172,4993 }, { 173,4993 }, { 174,4993 }, { 175,4993 }, { 176,4993 }, + { 177,4993 }, { 178,4993 }, { 179,4993 }, { 180,4993 }, { 181,4993 }, + { 182,4993 }, { 183,4993 }, { 184,4993 }, { 185,4993 }, { 186,4993 }, + + { 187,4993 }, { 188,4993 }, { 189,4993 }, { 190,4993 }, { 191,4993 }, + { 192,4993 }, { 193,4993 }, { 194,4993 }, { 195,4993 }, { 196,4993 }, + { 197,4993 }, { 198,4993 }, { 199,4993 }, { 200,4993 }, { 201,4993 }, + { 202,4993 }, { 203,4993 }, { 204,4993 }, { 205,4993 }, { 206,4993 }, + { 207,4993 }, { 208,4993 }, { 209,4993 }, { 210,4993 }, { 211,4993 }, + { 212,4993 }, { 213,4993 }, { 214,4993 }, { 215,4993 }, { 216,4993 }, + { 217,4993 }, { 218,4993 }, { 219,4993 }, { 220,4993 }, { 221,4993 }, + { 222,4993 }, { 223,4993 }, { 224,4993 }, { 225,4993 }, { 226,4993 }, + { 227,4993 }, { 228,4993 }, { 229,4993 }, { 230,4993 }, { 231,4993 }, + { 232,4993 }, { 233,4993 }, { 234,4993 }, { 235,4993 }, { 236,4993 }, + + { 237,4993 }, { 238,4993 }, { 239,4993 }, { 240,4993 }, { 241,4993 }, + { 242,4993 }, { 243,4993 }, { 244,4993 }, { 245,4993 }, { 246,4993 }, + { 247,4993 }, { 248,4993 }, { 249,4993 }, { 250,4993 }, { 251,4993 }, + { 252,4993 }, { 253,4993 }, { 254,4993 }, { 255,4993 }, { 256,4993 }, + { 0, 0 }, { 0,28001 }, { 1,4735 }, { 2,4735 }, { 3,4735 }, + { 4,4735 }, { 5,4735 }, { 6,4735 }, { 7,4735 }, { 8,4735 }, + { 9,4735 }, { 10,4735 }, { 11,4735 }, { 12,4735 }, { 13,4735 }, + { 14,4735 }, { 15,4735 }, { 16,4735 }, { 17,4735 }, { 18,4735 }, + { 19,4735 }, { 20,4735 }, { 21,4735 }, { 22,4735 }, { 23,4735 }, + { 24,4735 }, { 25,4735 }, { 26,4735 }, { 27,4735 }, { 28,4735 }, + + { 29,4735 }, { 30,4735 }, { 31,4735 }, { 32,4735 }, { 33,4735 }, + { 34,4735 }, { 35,4735 }, { 36,4735 }, { 37,4735 }, { 38,4735 }, + { 39, 832 }, { 40,4735 }, { 41,4735 }, { 42,4735 }, { 43,4735 }, + { 44,4735 }, { 45,4735 }, { 46,4735 }, { 47,4735 }, { 48,4735 }, + { 49,4735 }, { 50,4735 }, { 51,4735 }, { 52,4735 }, { 53,4735 }, + { 54,4735 }, { 55,4735 }, { 56,4735 }, { 57,4735 }, { 58,4735 }, + { 59,4735 }, { 60,4735 }, { 61,4735 }, { 62,4735 }, { 63,4735 }, + { 64,4735 }, { 65,4735 }, { 66,4735 }, { 67,4735 }, { 68,4735 }, + { 69,4735 }, { 70,4735 }, { 71,4735 }, { 72,4735 }, { 73,4735 }, + { 74,4735 }, { 75,4735 }, { 76,4735 }, { 77,4735 }, { 78,4735 }, + + { 79,4735 }, { 80,4735 }, { 81,4735 }, { 82,4735 }, { 83,4735 }, + { 84,4735 }, { 85,4735 }, { 86,4735 }, { 87,4735 }, { 88,4735 }, + { 89,4735 }, { 90,4735 }, { 91,4735 }, { 92,4735 }, { 93,4735 }, + { 94,4735 }, { 95,4735 }, { 96,4735 }, { 97,4735 }, { 98,4735 }, + { 99,4735 }, { 100,4735 }, { 101,4735 }, { 102,4735 }, { 103,4735 }, + { 104,4735 }, { 105,4735 }, { 106,4735 }, { 107,4735 }, { 108,4735 }, + { 109,4735 }, { 110,4735 }, { 111,4735 }, { 112,4735 }, { 113,4735 }, + { 114,4735 }, { 115,4735 }, { 116,4735 }, { 117,4735 }, { 118,4735 }, + { 119,4735 }, { 120,4735 }, { 121,4735 }, { 122,4735 }, { 123,4735 }, + { 124,4735 }, { 125,4735 }, { 126,4735 }, { 127,4735 }, { 128,4735 }, + + { 129,4735 }, { 130,4735 }, { 131,4735 }, { 132,4735 }, { 133,4735 }, + { 134,4735 }, { 135,4735 }, { 136,4735 }, { 137,4735 }, { 138,4735 }, + { 139,4735 }, { 140,4735 }, { 141,4735 }, { 142,4735 }, { 143,4735 }, + { 144,4735 }, { 145,4735 }, { 146,4735 }, { 147,4735 }, { 148,4735 }, + { 149,4735 }, { 150,4735 }, { 151,4735 }, { 152,4735 }, { 153,4735 }, + { 154,4735 }, { 155,4735 }, { 156,4735 }, { 157,4735 }, { 158,4735 }, + { 159,4735 }, { 160,4735 }, { 161,4735 }, { 162,4735 }, { 163,4735 }, + { 164,4735 }, { 165,4735 }, { 166,4735 }, { 167,4735 }, { 168,4735 }, + { 169,4735 }, { 170,4735 }, { 171,4735 }, { 172,4735 }, { 173,4735 }, + { 174,4735 }, { 175,4735 }, { 176,4735 }, { 177,4735 }, { 178,4735 }, + + { 179,4735 }, { 180,4735 }, { 181,4735 }, { 182,4735 }, { 183,4735 }, + { 184,4735 }, { 185,4735 }, { 186,4735 }, { 187,4735 }, { 188,4735 }, + { 189,4735 }, { 190,4735 }, { 191,4735 }, { 192,4735 }, { 193,4735 }, + { 194,4735 }, { 195,4735 }, { 196,4735 }, { 197,4735 }, { 198,4735 }, + { 199,4735 }, { 200,4735 }, { 201,4735 }, { 202,4735 }, { 203,4735 }, + { 204,4735 }, { 205,4735 }, { 206,4735 }, { 207,4735 }, { 208,4735 }, + { 209,4735 }, { 210,4735 }, { 211,4735 }, { 212,4735 }, { 213,4735 }, + { 214,4735 }, { 215,4735 }, { 216,4735 }, { 217,4735 }, { 218,4735 }, + { 219,4735 }, { 220,4735 }, { 221,4735 }, { 222,4735 }, { 223,4735 }, + { 224,4735 }, { 225,4735 }, { 226,4735 }, { 227,4735 }, { 228,4735 }, + + { 229,4735 }, { 230,4735 }, { 231,4735 }, { 232,4735 }, { 233,4735 }, + { 234,4735 }, { 235,4735 }, { 236,4735 }, { 237,4735 }, { 238,4735 }, + { 239,4735 }, { 240,4735 }, { 241,4735 }, { 242,4735 }, { 243,4735 }, + { 244,4735 }, { 245,4735 }, { 246,4735 }, { 247,4735 }, { 248,4735 }, + { 249,4735 }, { 250,4735 }, { 251,4735 }, { 252,4735 }, { 253,4735 }, + { 254,4735 }, { 255,4735 }, { 256,4735 }, { 0, 0 }, { 0,27743 }, { 1, 593 }, { 2, 593 }, { 3, 593 }, { 4, 593 }, { 5, 593 }, { 6, 593 }, { 7, 593 }, { 8, 593 }, { 9, 593 }, { 10, 597 }, { 11, 593 }, { 12, 593 }, { 13, 593 }, { 14, 593 }, { 15, 593 }, @@ -1975,7 +1977,7 @@ static const struct yy_trans_info yy_transition[17678] = { 241, 593 }, { 242, 593 }, { 243, 593 }, { 244, 593 }, { 245, 593 }, { 246, 593 }, { 247, 593 }, { 248, 593 }, { 249, 593 }, { 250, 593 }, { 251, 593 }, { 252, 593 }, { 253, 593 }, { 254, 593 }, { 255, 593 }, - { 256, 593 }, { 0, 0 }, { 0,11486 }, { 1, 335 }, { 2, 335 }, + { 256, 593 }, { 0, 0 }, { 0,27485 }, { 1, 335 }, { 2, 335 }, { 3, 335 }, { 4, 335 }, { 5, 335 }, { 6, 335 }, { 7, 335 }, { 8, 335 }, { 9, 335 }, { 10, 339 }, { 11, 335 }, { 12, 335 }, @@ -2031,1751 +2033,3643 @@ static const struct yy_trans_info yy_transition[17678] = { 238, 335 }, { 239, 335 }, { 240, 335 }, { 241, 335 }, { 242, 335 }, { 243, 335 }, { 244, 335 }, { 245, 335 }, { 246, 335 }, { 247, 335 }, { 248, 335 }, { 249, 335 }, { 250, 335 }, { 251, 335 }, { 252, 335 }, - { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 64 }, - { 0,11228 }, { 0, 1 }, { 0,11226 }, { 0, 39 }, { 0,11224 }, - - { 0, 0 }, { 0, 1 }, { 0,11221 }, { 0, 55 }, { 0,11219 }, - { 0, 0 }, { 9,5098 }, { 10,5098 }, { 0, 0 }, { 12,5098 }, - { 13,5098 }, { 9,5093 }, { 10,5093 }, { 0, 0 }, { 12,5093 }, - { 13,5093 }, { 0, 14 }, { 0,11206 }, { 0, 54 }, { 0,11204 }, - { 0, 0 }, { 0, 54 }, { 0,11201 }, { 0, 17 }, { 0,11199 }, - { 0, 0 }, { 0, 7 }, { 0,11196 }, { 0, 0 }, { 32,5098 }, - { 0, 7 }, { 0,11192 }, { 0, 0 }, { 0, 0 }, { 32,5093 }, - { 0, 41 }, { 0,11187 }, { 33,5346 }, { 0, 0 }, { 35,5346 }, - { 0, 0 }, { 37,5346 }, { 38,5346 }, { 0, 55 }, { 0,11179 }, - { 0, 0 }, { 42,5346 }, { 43,5346 }, { 0, 0 }, { 45,5346 }, - - { 0, 0 }, { 47,5346 }, { 0, 17 }, { 0,11170 }, { 0, 20 }, - { 0,11168 }, { 0, 19 }, { 0,11166 }, { 0, 0 }, { 0, 17 }, - { 0,11163 }, { 0, 42 }, { 0,11161 }, { 0, 0 }, { 60,5346 }, - { 61,5357 }, { 62,5346 }, { 63,5346 }, { 64,5346 }, { 42, 348 }, - { 34, 346 }, { 0, 26 }, { 0,11151 }, { 42,7050 }, { 47, 353 }, - { 0, 27 }, { 0,11147 }, { 33,5306 }, { 0, 0 }, { 35,5306 }, - { 58, 100 }, { 37,5306 }, { 38,5306 }, { 61, 102 }, { 0, 0 }, - { 0, 0 }, { 42,5306 }, { 43,5306 }, { 0, 0 }, { 45,5306 }, - { 0, 0 }, { 47,5306 }, { 39, 331 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 34, 320 }, { 0, 0 }, { 94,5346 }, { 39, 324 }, - - { 96,5346 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5306 }, - { 61,5306 }, { 62,5306 }, { 63,5306 }, { 64,5306 }, { 0, 64 }, - { 0,11113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 26 }, { 0,11107 }, { 0, 33 }, { 0,11105 }, { 0, 47 }, - { 0,11103 }, { 0, 46 }, { 0,11101 }, { 0, 48 }, { 0,11099 }, - { 0, 9 }, { 0,11097 }, { 0, 0 }, { 124,5346 }, { 0, 0 }, - { 126,5346 }, { 0, 15 }, { 0,11091 }, { 0, 13 }, { 0,11089 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,5306 }, { 0, 0 }, - { 96,5306 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 253, 335 }, { 254, 335 }, { 255, 335 }, { 256, 335 }, { 0, 72 }, + { 0,27227 }, { 0, 1 }, { 0,27225 }, { 0, 39 }, { 0,27223 }, + + { 0, 0 }, { 0, 1 }, { 0,27220 }, { 0, 55 }, { 0,27218 }, + { 0, 0 }, { 9,5585 }, { 10,5585 }, { 11,5585 }, { 12,5585 }, + { 13,5585 }, { 9,5580 }, { 10,5580 }, { 11,5580 }, { 12,5580 }, + { 13,5580 }, { 0, 14 }, { 0,27205 }, { 0, 54 }, { 0,27203 }, + { 0, 0 }, { 0, 54 }, { 0,27200 }, { 0, 17 }, { 0,27198 }, + { 0, 0 }, { 0, 7 }, { 0,27195 }, { 0, 0 }, { 32,5585 }, + { 0, 7 }, { 0,27191 }, { 0, 0 }, { 0, 0 }, { 32,5580 }, + { 0, 41 }, { 0,27186 }, { 33,5833 }, { 0, 0 }, { 35,5833 }, + { 0, 0 }, { 37,5833 }, { 38,5833 }, { 0, 55 }, { 0,27178 }, + { 0, 0 }, { 42,5833 }, { 43,5833 }, { 0, 0 }, { 45,5833 }, + + { 0, 0 }, { 47,5833 }, { 0, 17 }, { 0,27169 }, { 0, 20 }, + { 0,27167 }, { 0, 19 }, { 0,27165 }, { 0, 0 }, { 0, 17 }, + { 0,27162 }, { 0, 42 }, { 0,27160 }, { 0, 0 }, { 60,5833 }, + { 61,5844 }, { 62,5833 }, { 63,5833 }, { 64,5833 }, { 42, 348 }, + { 34, 346 }, { 0, 26 }, { 0,27150 }, { 42,9714 }, { 47, 353 }, + { 0, 27 }, { 0,27146 }, { 33,5793 }, { 0, 0 }, { 35,5793 }, + { 58, 100 }, { 37,5793 }, { 38,5793 }, { 61, 102 }, { 0, 0 }, + { 0, 0 }, { 42,5793 }, { 43,5793 }, { 0, 0 }, { 45,5793 }, + { 0, 0 }, { 47,5793 }, { 39, 331 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 34, 320 }, { 0, 0 }, { 94,5833 }, { 39, 324 }, + + { 96,5833 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5793 }, + { 61,5793 }, { 62,5793 }, { 63,5793 }, { 64,5793 }, { 0, 72 }, + { 0,27112 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 26 }, { 0,27106 }, { 0, 33 }, { 0,27104 }, { 0, 47 }, + { 0,27102 }, { 0, 46 }, { 0,27100 }, { 0, 48 }, { 0,27098 }, + { 0, 9 }, { 0,27096 }, { 0, 0 }, { 124,5833 }, { 0, 0 }, + { 126,5833 }, { 0, 15 }, { 0,27090 }, { 0, 13 }, { 0,27088 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,5793 }, { 0, 0 }, + { 96,5793 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36, 8 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5268 }, { 49,5268 }, - { 50,5268 }, { 51,5268 }, { 52,5268 }, { 53,5268 }, { 54,5268 }, - { 55,5268 }, { 56,5268 }, { 57,5268 }, { 124,5306 }, { 0, 0 }, - { 126,5306 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,5331 }, { 66,5331 }, { 67,5331 }, { 68,5331 }, { 69,5331 }, - { 70,5331 }, { 71,5331 }, { 72,5331 }, { 73,5331 }, { 74,5331 }, - { 75,5331 }, { 76,5331 }, { 77,5331 }, { 78,5331 }, { 79,5331 }, - { 80,5331 }, { 81,5331 }, { 82,5331 }, { 83,5331 }, { 84,5331 }, - { 85,5331 }, { 86,5331 }, { 87,5331 }, { 88,5331 }, { 89,5331 }, - - { 90,5331 }, { 85,8881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,5331 }, { 0, 0 }, { 97,5331 }, { 98,5331 }, { 99,5331 }, - { 100,5331 }, { 101,5331 }, { 102,5331 }, { 103,5331 }, { 104,5331 }, - { 105,5331 }, { 106,5331 }, { 107,5331 }, { 108,5331 }, { 109,5331 }, - { 110,5331 }, { 111,5331 }, { 112,5331 }, { 113,5331 }, { 114,5331 }, - { 115,5331 }, { 116,5331 }, { 117,5331 }, { 118,5331 }, { 119,5331 }, - { 120,5331 }, { 121,5331 }, { 122,5331 }, { 117,8904 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5331 }, { 129,5331 }, - { 130,5331 }, { 131,5331 }, { 132,5331 }, { 133,5331 }, { 134,5331 }, - { 135,5331 }, { 136,5331 }, { 137,5331 }, { 138,5331 }, { 139,5331 }, - - { 140,5331 }, { 141,5331 }, { 142,5331 }, { 143,5331 }, { 144,5331 }, - { 145,5331 }, { 146,5331 }, { 147,5331 }, { 148,5331 }, { 149,5331 }, - { 150,5331 }, { 151,5331 }, { 152,5331 }, { 153,5331 }, { 154,5331 }, - { 155,5331 }, { 156,5331 }, { 157,5331 }, { 158,5331 }, { 159,5331 }, - { 160,5331 }, { 161,5331 }, { 162,5331 }, { 163,5331 }, { 164,5331 }, - { 165,5331 }, { 166,5331 }, { 167,5331 }, { 168,5331 }, { 169,5331 }, - { 170,5331 }, { 171,5331 }, { 172,5331 }, { 173,5331 }, { 174,5331 }, - { 175,5331 }, { 176,5331 }, { 177,5331 }, { 178,5331 }, { 179,5331 }, - { 180,5331 }, { 181,5331 }, { 182,5331 }, { 183,5331 }, { 184,5331 }, - { 185,5331 }, { 186,5331 }, { 187,5331 }, { 188,5331 }, { 189,5331 }, - - { 190,5331 }, { 191,5331 }, { 192,5331 }, { 193,5331 }, { 194,5331 }, - { 195,5331 }, { 196,5331 }, { 197,5331 }, { 198,5331 }, { 199,5331 }, - { 200,5331 }, { 201,5331 }, { 202,5331 }, { 203,5331 }, { 204,5331 }, - { 205,5331 }, { 206,5331 }, { 207,5331 }, { 208,5331 }, { 209,5331 }, - { 210,5331 }, { 211,5331 }, { 212,5331 }, { 213,5331 }, { 214,5331 }, - { 215,5331 }, { 216,5331 }, { 217,5331 }, { 218,5331 }, { 219,5331 }, - { 220,5331 }, { 221,5331 }, { 222,5331 }, { 223,5331 }, { 224,5331 }, - { 225,5331 }, { 226,5331 }, { 227,5331 }, { 228,5331 }, { 229,5331 }, - { 230,5331 }, { 231,5331 }, { 232,5331 }, { 233,5331 }, { 234,5331 }, - { 235,5331 }, { 236,5331 }, { 237,5331 }, { 238,5331 }, { 239,5331 }, - - { 240,5331 }, { 241,5331 }, { 242,5331 }, { 243,5331 }, { 244,5331 }, - { 245,5331 }, { 246,5331 }, { 247,5331 }, { 248,5331 }, { 249,5331 }, - { 250,5331 }, { 251,5331 }, { 252,5331 }, { 253,5331 }, { 254,5331 }, - { 255,5331 }, { 0, 54 }, { 0,10856 }, { 0, 45 }, { 0,10854 }, - { 0, 12 }, { 0,10852 }, { 0, 0 }, { 0, 0 }, { 0, 8 }, - { 0,10848 }, { 0, 0 }, { 0, 54 }, { 0,10845 }, { 0, 5 }, - { 0,10843 }, { 0, 43 }, { 0,10841 }, { 0, 21 }, { 0,10839 }, - { 0, 19 }, { 0,10837 }, { 0, 18 }, { 0,10835 }, { 0, 29 }, - { 0,10833 }, { 0, 35 }, { 0,10831 }, { 0, 59 }, { 0,10829 }, - { 0, 0 }, { 0, 54 }, { 0,10826 }, { 0, 40 }, { 0,10824 }, - - { 33,4983 }, { 0, 0 }, { 35,4983 }, { 34, 30 }, { 37,4983 }, - { 38,4983 }, { 0, 16 }, { 0,10816 }, { 39, 38 }, { 42,4983 }, - { 43,4983 }, { 33,4972 }, { 45,4983 }, { 35,4972 }, { 47,4983 }, - { 37,4972 }, { 38,4972 }, { 42, 0 }, { 0, 30 }, { 0,10804 }, - { 42,4972 }, { 43,4972 }, { 47, 5 }, { 45,5320 }, { 0, 0 }, - { 47,4972 }, { 0, 0 }, { 60,4983 }, { 61,4983 }, { 62,4983 }, - { 63,4983 }, { 64,4983 }, { 0, 31 }, { 0,10790 }, { 0, 24 }, - { 0,10788 }, { 0, 25 }, { 0,10786 }, { 60,4972 }, { 61,4972 }, - { 62,4972 }, { 63,4972 }, { 64,4972 }, { 46,-277 }, { 0, 0 }, - { 48,5559 }, { 49,5559 }, { 50,5559 }, { 51,5559 }, { 52,5559 }, - - { 53,5559 }, { 54,5559 }, { 55,5559 }, { 56,5559 }, { 57,5559 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 94,4983 }, { 0, 0 }, { 96,4983 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,10755 }, { 0, 57 }, - { 0,10753 }, { 0, 0 }, { 94,4972 }, { 0, 0 }, { 96,4972 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 124,4983 }, { 0, 0 }, { 126,4983 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 33,4882 }, { 124,4972 }, { 35,4882 }, { 126,4972 }, - { 37,4882 }, { 38,4882 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 42,5513 }, { 43,4882 }, { 0, 0 }, { 45,4882 }, { 0, 0 }, - { 47,4882 }, { 46,5513 }, { 0, 0 }, { 48,5577 }, { 49,5577 }, - { 50,5577 }, { 51,5577 }, { 52,5577 }, { 53,5577 }, { 54,5577 }, - { 55,5577 }, { 56,5577 }, { 57,5577 }, { 60,4882 }, { 61,4882 }, - { 62,4882 }, { 63,4882 }, { 64,4882 }, { 0, 0 }, { 0, 54 }, - { 0,10688 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69,5599 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 54 }, { 0,10677 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 94,4882 }, { 0, 0 }, { 96,4882 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,4815 }, { 0, 0 }, - { 35,4815 }, { 101,5599 }, { 37,4815 }, { 38,4815 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42,4815 }, { 43,4815 }, { 33,4804 }, - { 45,4815 }, { 35,4804 }, { 47,4815 }, { 37,4804 }, { 38,4804 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,4804 }, { 43,4804 }, - { 0, 0 }, { 45,4804 }, { 124,4882 }, { 47,4804 }, { 126,4882 }, - { 60,4815 }, { 61,5574 }, { 62,5615 }, { 63,4815 }, { 64,4815 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 60,4804 }, { 61,4804 }, { 62,5671 }, { 63,4804 }, - { 64,4804 }, { 0, 0 }, { 0, 54 }, { 0,10610 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4815 }, - { 0, 0 }, { 96,4815 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94,4804 }, { 0, 0 }, { 96,4804 }, { 0, 0 }, { 0, 63 }, - { 0,10578 }, { 33,4737 }, { 0, 0 }, { 35,4737 }, { 0, 0 }, - - { 37,4737 }, { 38,4737 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 42,4737 }, { 43,4737 }, { 0, 0 }, { 45,4737 }, { 124,4815 }, - { 47,4737 }, { 126,4815 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 124,4804 }, { 0, 0 }, { 126,4804 }, { 60,4737 }, { 61,5615 }, - { 62,4737 }, { 63,4737 }, { 64,4737 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 36,5663 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5663 }, { 49,5663 }, - { 50,5663 }, { 51,5663 }, { 52,5663 }, { 53,5663 }, { 54,5663 }, - - { 55,5663 }, { 56,5663 }, { 57,5663 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 94,4737 }, { 0, 0 }, { 96,4737 }, - { 65,5663 }, { 66,5663 }, { 67,5663 }, { 68,5663 }, { 69,5663 }, - { 70,5663 }, { 71,5663 }, { 72,5663 }, { 73,5663 }, { 74,5663 }, - { 75,5663 }, { 76,5663 }, { 77,5663 }, { 78,5663 }, { 79,5663 }, - { 80,5663 }, { 81,5663 }, { 82,5663 }, { 83,5663 }, { 84,5663 }, - { 85,5663 }, { 86,5663 }, { 87,5663 }, { 88,5663 }, { 89,5663 }, - { 90,5663 }, { 0, 0 }, { 124,4737 }, { 0, 0 }, { 126,4737 }, - { 95,5663 }, { 0, 0 }, { 97,5663 }, { 98,5663 }, { 99,5663 }, - { 100,5663 }, { 101,5663 }, { 102,5663 }, { 103,5663 }, { 104,5663 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5755 }, { 49,5755 }, + { 50,5755 }, { 51,5755 }, { 52,5755 }, { 53,5755 }, { 54,5755 }, + { 55,5755 }, { 56,5755 }, { 57,5755 }, { 124,5793 }, { 0, 0 }, + { 126,5793 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,5818 }, { 66,5818 }, { 67,5818 }, { 68,5818 }, { 69,5818 }, + { 70,5818 }, { 71,5818 }, { 72,5818 }, { 73,5818 }, { 74,5818 }, + { 75,5818 }, { 76,5818 }, { 77,5818 }, { 78,5818 }, { 79,5818 }, + { 80,5818 }, { 81,5818 }, { 82,5818 }, { 83,5818 }, { 84,5818 }, + { 85,5818 }, { 86,5818 }, { 87,5818 }, { 88,5818 }, { 89,5818 }, + + { 90,5818 }, { 85,11553 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,5818 }, { 0, 0 }, { 97,5818 }, { 98,5818 }, { 99,5818 }, + { 100,5818 }, { 101,5818 }, { 102,5818 }, { 103,5818 }, { 104,5818 }, + { 105,5818 }, { 106,5818 }, { 107,5818 }, { 108,5818 }, { 109,5818 }, + { 110,5818 }, { 111,5818 }, { 112,5818 }, { 113,5818 }, { 114,5818 }, + { 115,5818 }, { 116,5818 }, { 117,5818 }, { 118,5818 }, { 119,5818 }, + { 120,5818 }, { 121,5818 }, { 122,5818 }, { 117,11576 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5818 }, { 129,5818 }, + { 130,5818 }, { 131,5818 }, { 132,5818 }, { 133,5818 }, { 134,5818 }, + { 135,5818 }, { 136,5818 }, { 137,5818 }, { 138,5818 }, { 139,5818 }, + + { 140,5818 }, { 141,5818 }, { 142,5818 }, { 143,5818 }, { 144,5818 }, + { 145,5818 }, { 146,5818 }, { 147,5818 }, { 148,5818 }, { 149,5818 }, + { 150,5818 }, { 151,5818 }, { 152,5818 }, { 153,5818 }, { 154,5818 }, + { 155,5818 }, { 156,5818 }, { 157,5818 }, { 158,5818 }, { 159,5818 }, + { 160,5818 }, { 161,5818 }, { 162,5818 }, { 163,5818 }, { 164,5818 }, + { 165,5818 }, { 166,5818 }, { 167,5818 }, { 168,5818 }, { 169,5818 }, + { 170,5818 }, { 171,5818 }, { 172,5818 }, { 173,5818 }, { 174,5818 }, + { 175,5818 }, { 176,5818 }, { 177,5818 }, { 178,5818 }, { 179,5818 }, + { 180,5818 }, { 181,5818 }, { 182,5818 }, { 183,5818 }, { 184,5818 }, + { 185,5818 }, { 186,5818 }, { 187,5818 }, { 188,5818 }, { 189,5818 }, + + { 190,5818 }, { 191,5818 }, { 192,5818 }, { 193,5818 }, { 194,5818 }, + { 195,5818 }, { 196,5818 }, { 197,5818 }, { 198,5818 }, { 199,5818 }, + { 200,5818 }, { 201,5818 }, { 202,5818 }, { 203,5818 }, { 204,5818 }, + { 205,5818 }, { 206,5818 }, { 207,5818 }, { 208,5818 }, { 209,5818 }, + { 210,5818 }, { 211,5818 }, { 212,5818 }, { 213,5818 }, { 214,5818 }, + { 215,5818 }, { 216,5818 }, { 217,5818 }, { 218,5818 }, { 219,5818 }, + { 220,5818 }, { 221,5818 }, { 222,5818 }, { 223,5818 }, { 224,5818 }, + { 225,5818 }, { 226,5818 }, { 227,5818 }, { 228,5818 }, { 229,5818 }, + { 230,5818 }, { 231,5818 }, { 232,5818 }, { 233,5818 }, { 234,5818 }, + { 235,5818 }, { 236,5818 }, { 237,5818 }, { 238,5818 }, { 239,5818 }, + + { 240,5818 }, { 241,5818 }, { 242,5818 }, { 243,5818 }, { 244,5818 }, + { 245,5818 }, { 246,5818 }, { 247,5818 }, { 248,5818 }, { 249,5818 }, + { 250,5818 }, { 251,5818 }, { 252,5818 }, { 253,5818 }, { 254,5818 }, + { 255,5818 }, { 0, 54 }, { 0,26855 }, { 0, 45 }, { 0,26853 }, + { 0, 12 }, { 0,26851 }, { 0, 0 }, { 0, 0 }, { 0, 8 }, + { 0,26847 }, { 0, 0 }, { 0, 54 }, { 0,26844 }, { 0, 5 }, + { 0,26842 }, { 0, 43 }, { 0,26840 }, { 0, 21 }, { 0,26838 }, + { 0, 19 }, { 0,26836 }, { 0, 18 }, { 0,26834 }, { 0, 29 }, + { 0,26832 }, { 0, 35 }, { 0,26830 }, { 0, 65 }, { 0,26828 }, + { 0, 0 }, { 0, 54 }, { 0,26825 }, { 0, 40 }, { 0,26823 }, + + { 33,5470 }, { 0, 0 }, { 35,5470 }, { 34, 30 }, { 37,5470 }, + { 38,5470 }, { 0, 16 }, { 0,26815 }, { 39, 38 }, { 42,5470 }, + { 43,5470 }, { 33,5459 }, { 45,5470 }, { 35,5459 }, { 47,5470 }, + { 37,5459 }, { 38,5459 }, { 42, 0 }, { 0, 30 }, { 0,26803 }, + { 42,5459 }, { 43,5459 }, { 47, 5 }, { 45,5807 }, { 0, 0 }, + { 47,5459 }, { 0, 0 }, { 60,5470 }, { 61,5470 }, { 62,5470 }, + { 63,5470 }, { 64,5470 }, { 0, 31 }, { 0,26789 }, { 0, 24 }, + { 0,26787 }, { 0, 25 }, { 0,26785 }, { 60,5459 }, { 61,5459 }, + { 62,5459 }, { 63,5459 }, { 64,5459 }, { 46,-277 }, { 0, 0 }, + { 48,6046 }, { 49,6046 }, { 50,6046 }, { 51,6046 }, { 52,6046 }, + + { 53,6046 }, { 54,6046 }, { 55,6046 }, { 56,6046 }, { 57,6046 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94,5470 }, { 0, 0 }, { 96,5470 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 54 }, { 0,26754 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,5459 }, { 0, 0 }, { 96,5459 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 124,5470 }, { 0, 0 }, { 126,5470 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 57 }, + + { 0,26722 }, { 33,5369 }, { 124,5459 }, { 35,5369 }, { 126,5459 }, + { 37,5369 }, { 38,5369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42,6232 }, { 43,5369 }, { 0, 0 }, { 45,5369 }, { 0, 0 }, + { 47,5369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,5369 }, { 61,5369 }, + { 62,5369 }, { 63,5369 }, { 64,5369 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 46,6232 }, { 0, 0 }, { 48,6489 }, { 49,6489 }, + + { 50,6489 }, { 51,6489 }, { 52,6489 }, { 53,6489 }, { 54,6489 }, + { 55,6489 }, { 56,6489 }, { 57,6489 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,5369 }, { 0, 0 }, { 96,5369 }, + { 65,6746 }, { 66,7003 }, { 67,6746 }, { 68,6746 }, { 69,7260 }, + { 70,6746 }, { 71,6746 }, { 72,6746 }, { 73,6746 }, { 74,6746 }, + { 75,6746 }, { 76,6746 }, { 77,6746 }, { 78,6746 }, { 79,7517 }, + { 80,6746 }, { 81,6746 }, { 82,6746 }, { 83,6746 }, { 84,6746 }, + { 85,6746 }, { 86,6746 }, { 87,6746 }, { 88,7774 }, { 89,6746 }, + { 90,6746 }, { 0, 0 }, { 124,5369 }, { 0, 0 }, { 126,5369 }, + { 95,8031 }, { 0, 0 }, { 97,6746 }, { 98,7003 }, { 99,6746 }, + + { 100,6746 }, { 101,7260 }, { 102,6746 }, { 103,6746 }, { 104,6746 }, + { 105,6746 }, { 106,6746 }, { 107,6746 }, { 108,6746 }, { 109,6746 }, + { 110,6746 }, { 111,7517 }, { 112,6746 }, { 113,6746 }, { 114,6746 }, + { 115,6746 }, { 116,6746 }, { 117,6746 }, { 118,6746 }, { 119,6746 }, + { 120,7774 }, { 121,6746 }, { 122,6746 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6746 }, { 129,6746 }, + { 130,6746 }, { 131,6746 }, { 132,6746 }, { 133,6746 }, { 134,6746 }, + { 135,6746 }, { 136,6746 }, { 137,6746 }, { 138,6746 }, { 139,6746 }, + { 140,6746 }, { 141,6746 }, { 142,6746 }, { 143,6746 }, { 144,6746 }, + { 145,6746 }, { 146,6746 }, { 147,6746 }, { 148,6746 }, { 149,6746 }, + + { 150,6746 }, { 151,6746 }, { 152,6746 }, { 153,6746 }, { 154,6746 }, + { 155,6746 }, { 156,6746 }, { 157,6746 }, { 158,6746 }, { 159,6746 }, + { 160,6746 }, { 161,6746 }, { 162,6746 }, { 163,6746 }, { 164,6746 }, + { 165,6746 }, { 166,6746 }, { 167,6746 }, { 168,6746 }, { 169,6746 }, + { 170,6746 }, { 171,6746 }, { 172,6746 }, { 173,6746 }, { 174,6746 }, + { 175,6746 }, { 176,6746 }, { 177,6746 }, { 178,6746 }, { 179,6746 }, + { 180,6746 }, { 181,6746 }, { 182,6746 }, { 183,6746 }, { 184,6746 }, + { 185,6746 }, { 186,6746 }, { 187,6746 }, { 188,6746 }, { 189,6746 }, + { 190,6746 }, { 191,6746 }, { 192,6746 }, { 193,6746 }, { 194,6746 }, + { 195,6746 }, { 196,6746 }, { 197,6746 }, { 198,6746 }, { 199,6746 }, + + { 200,6746 }, { 201,6746 }, { 202,6746 }, { 203,6746 }, { 204,6746 }, + { 205,6746 }, { 206,6746 }, { 207,6746 }, { 208,6746 }, { 209,6746 }, + { 210,6746 }, { 211,6746 }, { 212,6746 }, { 213,6746 }, { 214,6746 }, + { 215,6746 }, { 216,6746 }, { 217,6746 }, { 218,6746 }, { 219,6746 }, + { 220,6746 }, { 221,6746 }, { 222,6746 }, { 223,6746 }, { 224,6746 }, + { 225,6746 }, { 226,6746 }, { 227,6746 }, { 228,6746 }, { 229,6746 }, + { 230,6746 }, { 231,6746 }, { 232,6746 }, { 233,6746 }, { 234,6746 }, + { 235,6746 }, { 236,6746 }, { 237,6746 }, { 238,6746 }, { 239,6746 }, + { 240,6746 }, { 241,6746 }, { 242,6746 }, { 243,6746 }, { 244,6746 }, + { 245,6746 }, { 246,6746 }, { 247,6746 }, { 248,6746 }, { 249,6746 }, + + { 250,6746 }, { 251,6746 }, { 252,6746 }, { 253,6746 }, { 254,6746 }, + { 255,6746 }, { 0, 57 }, { 0,26465 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,5975 }, { 0, 0 }, + { 48,6232 }, { 49,6232 }, { 50,6232 }, { 51,6232 }, { 52,6232 }, + { 53,6232 }, { 54,6232 }, { 55,6232 }, { 56,6232 }, { 57,6232 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,6489 }, { 66,6489 }, { 67,6489 }, + { 68,6489 }, { 69,7003 }, { 70,6489 }, { 71,6489 }, { 72,6489 }, + { 73,6489 }, { 74,6489 }, { 75,6489 }, { 76,6489 }, { 77,6489 }, + { 78,6489 }, { 79,6489 }, { 80,6489 }, { 81,6489 }, { 82,6489 }, + { 83,6489 }, { 84,6489 }, { 85,6489 }, { 86,6489 }, { 87,6489 }, + { 88,6489 }, { 89,6489 }, { 90,6489 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 95,7774 }, { 0, 0 }, { 97,6489 }, + { 98,6489 }, { 99,6489 }, { 100,6489 }, { 101,7003 }, { 102,6489 }, + { 103,6489 }, { 104,6489 }, { 105,6489 }, { 106,6489 }, { 107,6489 }, + { 108,6489 }, { 109,6489 }, { 110,6489 }, { 111,6489 }, { 112,6489 }, + { 113,6489 }, { 114,6489 }, { 115,6489 }, { 116,6489 }, { 117,6489 }, + { 118,6489 }, { 119,6489 }, { 120,6489 }, { 121,6489 }, { 122,6489 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6489 }, { 129,6489 }, { 130,6489 }, { 131,6489 }, { 132,6489 }, + { 133,6489 }, { 134,6489 }, { 135,6489 }, { 136,6489 }, { 137,6489 }, + { 138,6489 }, { 139,6489 }, { 140,6489 }, { 141,6489 }, { 142,6489 }, + + { 143,6489 }, { 144,6489 }, { 145,6489 }, { 146,6489 }, { 147,6489 }, + { 148,6489 }, { 149,6489 }, { 150,6489 }, { 151,6489 }, { 152,6489 }, + { 153,6489 }, { 154,6489 }, { 155,6489 }, { 156,6489 }, { 157,6489 }, + { 158,6489 }, { 159,6489 }, { 160,6489 }, { 161,6489 }, { 162,6489 }, + { 163,6489 }, { 164,6489 }, { 165,6489 }, { 166,6489 }, { 167,6489 }, + { 168,6489 }, { 169,6489 }, { 170,6489 }, { 171,6489 }, { 172,6489 }, + { 173,6489 }, { 174,6489 }, { 175,6489 }, { 176,6489 }, { 177,6489 }, + { 178,6489 }, { 179,6489 }, { 180,6489 }, { 181,6489 }, { 182,6489 }, + { 183,6489 }, { 184,6489 }, { 185,6489 }, { 186,6489 }, { 187,6489 }, + { 188,6489 }, { 189,6489 }, { 190,6489 }, { 191,6489 }, { 192,6489 }, + + { 193,6489 }, { 194,6489 }, { 195,6489 }, { 196,6489 }, { 197,6489 }, + { 198,6489 }, { 199,6489 }, { 200,6489 }, { 201,6489 }, { 202,6489 }, + { 203,6489 }, { 204,6489 }, { 205,6489 }, { 206,6489 }, { 207,6489 }, + { 208,6489 }, { 209,6489 }, { 210,6489 }, { 211,6489 }, { 212,6489 }, + { 213,6489 }, { 214,6489 }, { 215,6489 }, { 216,6489 }, { 217,6489 }, + { 218,6489 }, { 219,6489 }, { 220,6489 }, { 221,6489 }, { 222,6489 }, + { 223,6489 }, { 224,6489 }, { 225,6489 }, { 226,6489 }, { 227,6489 }, + { 228,6489 }, { 229,6489 }, { 230,6489 }, { 231,6489 }, { 232,6489 }, + { 233,6489 }, { 234,6489 }, { 235,6489 }, { 236,6489 }, { 237,6489 }, + { 238,6489 }, { 239,6489 }, { 240,6489 }, { 241,6489 }, { 242,6489 }, + + { 243,6489 }, { 244,6489 }, { 245,6489 }, { 246,6489 }, { 247,6489 }, + { 248,6489 }, { 249,6489 }, { 250,6489 }, { 251,6489 }, { 252,6489 }, + { 253,6489 }, { 254,6489 }, { 255,6489 }, { 0, 54 }, { 0,26208 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 54 }, + { 0,26197 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 33,4823 }, { 0, 0 }, { 35,4823 }, + + { 0, 0 }, { 37,4823 }, { 38,4823 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42,4823 }, { 43,4823 }, { 33,4812 }, { 45,4823 }, + { 35,4812 }, { 47,4823 }, { 37,4812 }, { 38,4812 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,4812 }, { 43,4812 }, { 0, 0 }, + { 45,4812 }, { 0, 0 }, { 47,4812 }, { 0, 0 }, { 60,4823 }, + { 61,7774 }, { 62,7785 }, { 63,4823 }, { 64,4823 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 60,4812 }, { 61,4812 }, { 62,7841 }, { 63,4812 }, { 64,4812 }, + { 0, 0 }, { 0, 54 }, { 0,26130 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4823 }, { 0, 0 }, + { 96,4823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,4812 }, + { 0, 0 }, { 96,4812 }, { 0, 0 }, { 0, 71 }, { 0,26098 }, + { 33,4745 }, { 0, 0 }, { 35,4745 }, { 0, 0 }, { 37,4745 }, + { 38,4745 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,4745 }, + { 43,4745 }, { 0, 0 }, { 45,4745 }, { 124,4823 }, { 47,4745 }, + { 126,4823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,4812 }, + + { 0, 0 }, { 126,4812 }, { 60,4745 }, { 61,7814 }, { 62,4745 }, + { 63,4745 }, { 64,4745 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,7848 }, { 49,7848 }, { 50,7848 }, + { 51,7848 }, { 52,7848 }, { 53,7848 }, { 54,7848 }, { 55,7848 }, + { 56,7848 }, { 57,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94,4745 }, { 0, 0 }, { 96,4745 }, { 65,7848 }, + { 66,7848 }, { 67,7848 }, { 68,7848 }, { 69,7848 }, { 70,7848 }, + { 71,7848 }, { 72,7848 }, { 73,7848 }, { 74,7848 }, { 75,7848 }, + + { 76,7848 }, { 77,7848 }, { 78,7848 }, { 79,7848 }, { 80,7848 }, + { 81,7848 }, { 82,7848 }, { 83,7848 }, { 84,7848 }, { 85,7848 }, + { 86,7848 }, { 87,7848 }, { 88,7848 }, { 89,7848 }, { 90,7848 }, + { 0, 0 }, { 124,4745 }, { 0, 0 }, { 126,4745 }, { 95,7848 }, + { 0, 0 }, { 97,7848 }, { 98,7848 }, { 99,7848 }, { 100,7848 }, + { 101,7848 }, { 102,7848 }, { 103,7848 }, { 104,7848 }, { 105,7848 }, + { 106,7848 }, { 107,7848 }, { 108,7848 }, { 109,7848 }, { 110,7848 }, + { 111,7848 }, { 112,7848 }, { 113,7848 }, { 114,7848 }, { 115,7848 }, + { 116,7848 }, { 117,7848 }, { 118,7848 }, { 119,7848 }, { 120,7848 }, + { 121,7848 }, { 122,7848 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128,7848 }, { 129,7848 }, { 130,7848 }, + { 131,7848 }, { 132,7848 }, { 133,7848 }, { 134,7848 }, { 135,7848 }, + { 136,7848 }, { 137,7848 }, { 138,7848 }, { 139,7848 }, { 140,7848 }, + { 141,7848 }, { 142,7848 }, { 143,7848 }, { 144,7848 }, { 145,7848 }, + { 146,7848 }, { 147,7848 }, { 148,7848 }, { 149,7848 }, { 150,7848 }, + { 151,7848 }, { 152,7848 }, { 153,7848 }, { 154,7848 }, { 155,7848 }, + { 156,7848 }, { 157,7848 }, { 158,7848 }, { 159,7848 }, { 160,7848 }, + { 161,7848 }, { 162,7848 }, { 163,7848 }, { 164,7848 }, { 165,7848 }, + { 166,7848 }, { 167,7848 }, { 168,7848 }, { 169,7848 }, { 170,7848 }, + { 171,7848 }, { 172,7848 }, { 173,7848 }, { 174,7848 }, { 175,7848 }, + + { 176,7848 }, { 177,7848 }, { 178,7848 }, { 179,7848 }, { 180,7848 }, + { 181,7848 }, { 182,7848 }, { 183,7848 }, { 184,7848 }, { 185,7848 }, + { 186,7848 }, { 187,7848 }, { 188,7848 }, { 189,7848 }, { 190,7848 }, + { 191,7848 }, { 192,7848 }, { 193,7848 }, { 194,7848 }, { 195,7848 }, + { 196,7848 }, { 197,7848 }, { 198,7848 }, { 199,7848 }, { 200,7848 }, + { 201,7848 }, { 202,7848 }, { 203,7848 }, { 204,7848 }, { 205,7848 }, + { 206,7848 }, { 207,7848 }, { 208,7848 }, { 209,7848 }, { 210,7848 }, + { 211,7848 }, { 212,7848 }, { 213,7848 }, { 214,7848 }, { 215,7848 }, + { 216,7848 }, { 217,7848 }, { 218,7848 }, { 219,7848 }, { 220,7848 }, + { 221,7848 }, { 222,7848 }, { 223,7848 }, { 224,7848 }, { 225,7848 }, + + { 226,7848 }, { 227,7848 }, { 228,7848 }, { 229,7848 }, { 230,7848 }, + { 231,7848 }, { 232,7848 }, { 233,7848 }, { 234,7848 }, { 235,7848 }, + { 236,7848 }, { 237,7848 }, { 238,7848 }, { 239,7848 }, { 240,7848 }, + { 241,7848 }, { 242,7848 }, { 243,7848 }, { 244,7848 }, { 245,7848 }, + { 246,7848 }, { 247,7848 }, { 248,7848 }, { 249,7848 }, { 250,7848 }, + { 251,7848 }, { 252,7848 }, { 253,7848 }, { 254,7848 }, { 255,7848 }, + { 0, 71 }, { 0,25841 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,7591 }, { 0, 0 }, { 0, 0 }, + { 39,-1255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7591 }, + { 49,7591 }, { 50,7591 }, { 51,7591 }, { 52,7591 }, { 53,7591 }, + { 54,7591 }, { 55,7591 }, { 56,7591 }, { 57,7591 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,7591 }, { 66,7591 }, { 67,7591 }, { 68,7591 }, + + { 69,7591 }, { 70,7591 }, { 71,7591 }, { 72,7591 }, { 73,7591 }, + { 74,7591 }, { 75,7591 }, { 76,7591 }, { 77,7591 }, { 78,7591 }, + { 79,7591 }, { 80,7591 }, { 81,7591 }, { 82,7591 }, { 83,7591 }, + { 84,7591 }, { 85,7591 }, { 86,7591 }, { 87,7591 }, { 88,7591 }, + { 89,7591 }, { 90,7591 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,7591 }, { 0, 0 }, { 97,7591 }, { 98,7591 }, + { 99,7591 }, { 100,7591 }, { 101,7591 }, { 102,7591 }, { 103,7591 }, + { 104,7591 }, { 105,7591 }, { 106,7591 }, { 107,7591 }, { 108,7591 }, + { 109,7591 }, { 110,7591 }, { 111,7591 }, { 112,7591 }, { 113,7591 }, + { 114,7591 }, { 115,7591 }, { 116,7591 }, { 117,7591 }, { 118,7591 }, + + { 119,7591 }, { 120,7591 }, { 121,7591 }, { 122,7591 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,7591 }, + { 129,7591 }, { 130,7591 }, { 131,7591 }, { 132,7591 }, { 133,7591 }, + { 134,7591 }, { 135,7591 }, { 136,7591 }, { 137,7591 }, { 138,7591 }, + { 139,7591 }, { 140,7591 }, { 141,7591 }, { 142,7591 }, { 143,7591 }, + { 144,7591 }, { 145,7591 }, { 146,7591 }, { 147,7591 }, { 148,7591 }, + { 149,7591 }, { 150,7591 }, { 151,7591 }, { 152,7591 }, { 153,7591 }, + { 154,7591 }, { 155,7591 }, { 156,7591 }, { 157,7591 }, { 158,7591 }, + { 159,7591 }, { 160,7591 }, { 161,7591 }, { 162,7591 }, { 163,7591 }, + { 164,7591 }, { 165,7591 }, { 166,7591 }, { 167,7591 }, { 168,7591 }, + + { 169,7591 }, { 170,7591 }, { 171,7591 }, { 172,7591 }, { 173,7591 }, + { 174,7591 }, { 175,7591 }, { 176,7591 }, { 177,7591 }, { 178,7591 }, + { 179,7591 }, { 180,7591 }, { 181,7591 }, { 182,7591 }, { 183,7591 }, + { 184,7591 }, { 185,7591 }, { 186,7591 }, { 187,7591 }, { 188,7591 }, + { 189,7591 }, { 190,7591 }, { 191,7591 }, { 192,7591 }, { 193,7591 }, + { 194,7591 }, { 195,7591 }, { 196,7591 }, { 197,7591 }, { 198,7591 }, + { 199,7591 }, { 200,7591 }, { 201,7591 }, { 202,7591 }, { 203,7591 }, + { 204,7591 }, { 205,7591 }, { 206,7591 }, { 207,7591 }, { 208,7591 }, + { 209,7591 }, { 210,7591 }, { 211,7591 }, { 212,7591 }, { 213,7591 }, + { 214,7591 }, { 215,7591 }, { 216,7591 }, { 217,7591 }, { 218,7591 }, + + { 219,7591 }, { 220,7591 }, { 221,7591 }, { 222,7591 }, { 223,7591 }, + { 224,7591 }, { 225,7591 }, { 226,7591 }, { 227,7591 }, { 228,7591 }, + { 229,7591 }, { 230,7591 }, { 231,7591 }, { 232,7591 }, { 233,7591 }, + { 234,7591 }, { 235,7591 }, { 236,7591 }, { 237,7591 }, { 238,7591 }, + { 239,7591 }, { 240,7591 }, { 241,7591 }, { 242,7591 }, { 243,7591 }, + { 244,7591 }, { 245,7591 }, { 246,7591 }, { 247,7591 }, { 248,7591 }, + { 249,7591 }, { 250,7591 }, { 251,7591 }, { 252,7591 }, { 253,7591 }, + { 254,7591 }, { 255,7591 }, { 0, 71 }, { 0,25584 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,7334 }, + { 0, 0 }, { 0, 0 }, { 39,-1506 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,7334 }, { 49,7334 }, { 50,7334 }, { 51,7334 }, + { 52,7334 }, { 53,7334 }, { 54,7334 }, { 55,7334 }, { 56,7334 }, + { 57,7334 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,7334 }, { 66,7334 }, + { 67,7334 }, { 68,7334 }, { 69,7334 }, { 70,7334 }, { 71,7334 }, + { 72,7334 }, { 73,7334 }, { 74,7334 }, { 75,7334 }, { 76,7334 }, + { 77,7334 }, { 78,7334 }, { 79,7334 }, { 80,7334 }, { 81,7334 }, + { 82,7334 }, { 83,7334 }, { 84,7334 }, { 85,7334 }, { 86,7334 }, + { 87,7334 }, { 88,7334 }, { 89,7334 }, { 90,7334 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,7334 }, { 0, 0 }, + { 97,7334 }, { 98,7334 }, { 99,7334 }, { 100,7334 }, { 101,7334 }, + { 102,7334 }, { 103,7334 }, { 104,7334 }, { 105,7334 }, { 106,7334 }, + { 107,7334 }, { 108,7334 }, { 109,7334 }, { 110,7334 }, { 111,7334 }, + + { 112,7334 }, { 113,7334 }, { 114,7334 }, { 115,7334 }, { 116,7334 }, + { 117,7334 }, { 118,7334 }, { 119,7334 }, { 120,7334 }, { 121,7334 }, + { 122,7334 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,7334 }, { 129,7334 }, { 130,7334 }, { 131,7334 }, + { 132,7334 }, { 133,7334 }, { 134,7334 }, { 135,7334 }, { 136,7334 }, + { 137,7334 }, { 138,7334 }, { 139,7334 }, { 140,7334 }, { 141,7334 }, + { 142,7334 }, { 143,7334 }, { 144,7334 }, { 145,7334 }, { 146,7334 }, + { 147,7334 }, { 148,7334 }, { 149,7334 }, { 150,7334 }, { 151,7334 }, + { 152,7334 }, { 153,7334 }, { 154,7334 }, { 155,7334 }, { 156,7334 }, + { 157,7334 }, { 158,7334 }, { 159,7334 }, { 160,7334 }, { 161,7334 }, + + { 162,7334 }, { 163,7334 }, { 164,7334 }, { 165,7334 }, { 166,7334 }, + { 167,7334 }, { 168,7334 }, { 169,7334 }, { 170,7334 }, { 171,7334 }, + { 172,7334 }, { 173,7334 }, { 174,7334 }, { 175,7334 }, { 176,7334 }, + { 177,7334 }, { 178,7334 }, { 179,7334 }, { 180,7334 }, { 181,7334 }, + { 182,7334 }, { 183,7334 }, { 184,7334 }, { 185,7334 }, { 186,7334 }, + { 187,7334 }, { 188,7334 }, { 189,7334 }, { 190,7334 }, { 191,7334 }, + { 192,7334 }, { 193,7334 }, { 194,7334 }, { 195,7334 }, { 196,7334 }, + { 197,7334 }, { 198,7334 }, { 199,7334 }, { 200,7334 }, { 201,7334 }, + { 202,7334 }, { 203,7334 }, { 204,7334 }, { 205,7334 }, { 206,7334 }, + { 207,7334 }, { 208,7334 }, { 209,7334 }, { 210,7334 }, { 211,7334 }, + + { 212,7334 }, { 213,7334 }, { 214,7334 }, { 215,7334 }, { 216,7334 }, + { 217,7334 }, { 218,7334 }, { 219,7334 }, { 220,7334 }, { 221,7334 }, + { 222,7334 }, { 223,7334 }, { 224,7334 }, { 225,7334 }, { 226,7334 }, + { 227,7334 }, { 228,7334 }, { 229,7334 }, { 230,7334 }, { 231,7334 }, + { 232,7334 }, { 233,7334 }, { 234,7334 }, { 235,7334 }, { 236,7334 }, + { 237,7334 }, { 238,7334 }, { 239,7334 }, { 240,7334 }, { 241,7334 }, + { 242,7334 }, { 243,7334 }, { 244,7334 }, { 245,7334 }, { 246,7334 }, + { 247,7334 }, { 248,7334 }, { 249,7334 }, { 250,7334 }, { 251,7334 }, + { 252,7334 }, { 253,7334 }, { 254,7334 }, { 255,7334 }, { 0, 71 }, + { 0,25327 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,7077 }, { 0, 0 }, { 0, 0 }, { 39,-1761 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7077 }, { 49,7077 }, + { 50,7077 }, { 51,7077 }, { 52,7077 }, { 53,7077 }, { 54,7077 }, + + { 55,7077 }, { 56,7077 }, { 57,7077 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,7077 }, { 66,7077 }, { 67,7077 }, { 68,7077 }, { 69,7077 }, + { 70,7077 }, { 71,7077 }, { 72,7077 }, { 73,7077 }, { 74,7077 }, + { 75,7077 }, { 76,7077 }, { 77,7077 }, { 78,7077 }, { 79,7077 }, + { 80,7077 }, { 81,7077 }, { 82,7077 }, { 83,7077 }, { 84,7077 }, + { 85,7077 }, { 86,7077 }, { 87,7077 }, { 88,7077 }, { 89,7077 }, + { 90,7077 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,7077 }, { 0, 0 }, { 97,7077 }, { 98,7077 }, { 99,7077 }, + { 100,7077 }, { 101,7077 }, { 102,7077 }, { 103,7077 }, { 104,7077 }, - { 105,5663 }, { 106,5663 }, { 107,5663 }, { 108,5663 }, { 109,5663 }, - { 110,5663 }, { 111,5663 }, { 112,5663 }, { 113,5663 }, { 114,5663 }, - { 115,5663 }, { 116,5663 }, { 117,5663 }, { 118,5663 }, { 119,5663 }, - { 120,5663 }, { 121,5663 }, { 122,5663 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5663 }, { 129,5663 }, - { 130,5663 }, { 131,5663 }, { 132,5663 }, { 133,5663 }, { 134,5663 }, - { 135,5663 }, { 136,5663 }, { 137,5663 }, { 138,5663 }, { 139,5663 }, - { 140,5663 }, { 141,5663 }, { 142,5663 }, { 143,5663 }, { 144,5663 }, - { 145,5663 }, { 146,5663 }, { 147,5663 }, { 148,5663 }, { 149,5663 }, - { 150,5663 }, { 151,5663 }, { 152,5663 }, { 153,5663 }, { 154,5663 }, + { 105,7077 }, { 106,7077 }, { 107,7077 }, { 108,7077 }, { 109,7077 }, + { 110,7077 }, { 111,7077 }, { 112,7077 }, { 113,7077 }, { 114,7077 }, + { 115,7077 }, { 116,7077 }, { 117,7077 }, { 118,7077 }, { 119,7077 }, + { 120,7077 }, { 121,7077 }, { 122,7077 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,7077 }, { 129,7077 }, + { 130,7077 }, { 131,7077 }, { 132,7077 }, { 133,7077 }, { 134,7077 }, + { 135,7077 }, { 136,7077 }, { 137,7077 }, { 138,7077 }, { 139,7077 }, + { 140,7077 }, { 141,7077 }, { 142,7077 }, { 143,7077 }, { 144,7077 }, + { 145,7077 }, { 146,7077 }, { 147,7077 }, { 148,7077 }, { 149,7077 }, + { 150,7077 }, { 151,7077 }, { 152,7077 }, { 153,7077 }, { 154,7077 }, - { 155,5663 }, { 156,5663 }, { 157,5663 }, { 158,5663 }, { 159,5663 }, - { 160,5663 }, { 161,5663 }, { 162,5663 }, { 163,5663 }, { 164,5663 }, - { 165,5663 }, { 166,5663 }, { 167,5663 }, { 168,5663 }, { 169,5663 }, - { 170,5663 }, { 171,5663 }, { 172,5663 }, { 173,5663 }, { 174,5663 }, - { 175,5663 }, { 176,5663 }, { 177,5663 }, { 178,5663 }, { 179,5663 }, - { 180,5663 }, { 181,5663 }, { 182,5663 }, { 183,5663 }, { 184,5663 }, - { 185,5663 }, { 186,5663 }, { 187,5663 }, { 188,5663 }, { 189,5663 }, - { 190,5663 }, { 191,5663 }, { 192,5663 }, { 193,5663 }, { 194,5663 }, - { 195,5663 }, { 196,5663 }, { 197,5663 }, { 198,5663 }, { 199,5663 }, - { 200,5663 }, { 201,5663 }, { 202,5663 }, { 203,5663 }, { 204,5663 }, + { 155,7077 }, { 156,7077 }, { 157,7077 }, { 158,7077 }, { 159,7077 }, + { 160,7077 }, { 161,7077 }, { 162,7077 }, { 163,7077 }, { 164,7077 }, + { 165,7077 }, { 166,7077 }, { 167,7077 }, { 168,7077 }, { 169,7077 }, + { 170,7077 }, { 171,7077 }, { 172,7077 }, { 173,7077 }, { 174,7077 }, + { 175,7077 }, { 176,7077 }, { 177,7077 }, { 178,7077 }, { 179,7077 }, + { 180,7077 }, { 181,7077 }, { 182,7077 }, { 183,7077 }, { 184,7077 }, + { 185,7077 }, { 186,7077 }, { 187,7077 }, { 188,7077 }, { 189,7077 }, + { 190,7077 }, { 191,7077 }, { 192,7077 }, { 193,7077 }, { 194,7077 }, + { 195,7077 }, { 196,7077 }, { 197,7077 }, { 198,7077 }, { 199,7077 }, + { 200,7077 }, { 201,7077 }, { 202,7077 }, { 203,7077 }, { 204,7077 }, - { 205,5663 }, { 206,5663 }, { 207,5663 }, { 208,5663 }, { 209,5663 }, - { 210,5663 }, { 211,5663 }, { 212,5663 }, { 213,5663 }, { 214,5663 }, - { 215,5663 }, { 216,5663 }, { 217,5663 }, { 218,5663 }, { 219,5663 }, - { 220,5663 }, { 221,5663 }, { 222,5663 }, { 223,5663 }, { 224,5663 }, - { 225,5663 }, { 226,5663 }, { 227,5663 }, { 228,5663 }, { 229,5663 }, - { 230,5663 }, { 231,5663 }, { 232,5663 }, { 233,5663 }, { 234,5663 }, - { 235,5663 }, { 236,5663 }, { 237,5663 }, { 238,5663 }, { 239,5663 }, - { 240,5663 }, { 241,5663 }, { 242,5663 }, { 243,5663 }, { 244,5663 }, - { 245,5663 }, { 246,5663 }, { 247,5663 }, { 248,5663 }, { 249,5663 }, - { 250,5663 }, { 251,5663 }, { 252,5663 }, { 253,5663 }, { 254,5663 }, - - { 255,5663 }, { 0, 63 }, { 0,10321 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,5406 }, { 0, 0 }, - { 0, 0 }, { 39,-776 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 48,5406 }, { 49,5406 }, { 50,5406 }, { 51,5406 }, { 52,5406 }, - { 53,5406 }, { 54,5406 }, { 55,5406 }, { 56,5406 }, { 57,5406 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,5406 }, { 66,5406 }, { 67,5406 }, - { 68,5406 }, { 69,5406 }, { 70,5406 }, { 71,5406 }, { 72,5406 }, - { 73,5406 }, { 74,5406 }, { 75,5406 }, { 76,5406 }, { 77,5406 }, - { 78,5406 }, { 79,5406 }, { 80,5406 }, { 81,5406 }, { 82,5406 }, - { 83,5406 }, { 84,5406 }, { 85,5406 }, { 86,5406 }, { 87,5406 }, - { 88,5406 }, { 89,5406 }, { 90,5406 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 95,5406 }, { 0, 0 }, { 97,5406 }, - - { 98,5406 }, { 99,5406 }, { 100,5406 }, { 101,5406 }, { 102,5406 }, - { 103,5406 }, { 104,5406 }, { 105,5406 }, { 106,5406 }, { 107,5406 }, - { 108,5406 }, { 109,5406 }, { 110,5406 }, { 111,5406 }, { 112,5406 }, - { 113,5406 }, { 114,5406 }, { 115,5406 }, { 116,5406 }, { 117,5406 }, - { 118,5406 }, { 119,5406 }, { 120,5406 }, { 121,5406 }, { 122,5406 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 128,5406 }, { 129,5406 }, { 130,5406 }, { 131,5406 }, { 132,5406 }, - { 133,5406 }, { 134,5406 }, { 135,5406 }, { 136,5406 }, { 137,5406 }, - { 138,5406 }, { 139,5406 }, { 140,5406 }, { 141,5406 }, { 142,5406 }, - { 143,5406 }, { 144,5406 }, { 145,5406 }, { 146,5406 }, { 147,5406 }, - - { 148,5406 }, { 149,5406 }, { 150,5406 }, { 151,5406 }, { 152,5406 }, - { 153,5406 }, { 154,5406 }, { 155,5406 }, { 156,5406 }, { 157,5406 }, - { 158,5406 }, { 159,5406 }, { 160,5406 }, { 161,5406 }, { 162,5406 }, - { 163,5406 }, { 164,5406 }, { 165,5406 }, { 166,5406 }, { 167,5406 }, - { 168,5406 }, { 169,5406 }, { 170,5406 }, { 171,5406 }, { 172,5406 }, - { 173,5406 }, { 174,5406 }, { 175,5406 }, { 176,5406 }, { 177,5406 }, - { 178,5406 }, { 179,5406 }, { 180,5406 }, { 181,5406 }, { 182,5406 }, - { 183,5406 }, { 184,5406 }, { 185,5406 }, { 186,5406 }, { 187,5406 }, - { 188,5406 }, { 189,5406 }, { 190,5406 }, { 191,5406 }, { 192,5406 }, - { 193,5406 }, { 194,5406 }, { 195,5406 }, { 196,5406 }, { 197,5406 }, - - { 198,5406 }, { 199,5406 }, { 200,5406 }, { 201,5406 }, { 202,5406 }, - { 203,5406 }, { 204,5406 }, { 205,5406 }, { 206,5406 }, { 207,5406 }, - { 208,5406 }, { 209,5406 }, { 210,5406 }, { 211,5406 }, { 212,5406 }, - { 213,5406 }, { 214,5406 }, { 215,5406 }, { 216,5406 }, { 217,5406 }, - { 218,5406 }, { 219,5406 }, { 220,5406 }, { 221,5406 }, { 222,5406 }, - { 223,5406 }, { 224,5406 }, { 225,5406 }, { 226,5406 }, { 227,5406 }, - { 228,5406 }, { 229,5406 }, { 230,5406 }, { 231,5406 }, { 232,5406 }, - { 233,5406 }, { 234,5406 }, { 235,5406 }, { 236,5406 }, { 237,5406 }, - { 238,5406 }, { 239,5406 }, { 240,5406 }, { 241,5406 }, { 242,5406 }, - { 243,5406 }, { 244,5406 }, { 245,5406 }, { 246,5406 }, { 247,5406 }, - - { 248,5406 }, { 249,5406 }, { 250,5406 }, { 251,5406 }, { 252,5406 }, - { 253,5406 }, { 254,5406 }, { 255,5406 }, { 0, 63 }, { 0,10064 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 36,5149 }, { 0, 0 }, { 0, 0 }, { 39,-1027 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,5149 }, { 49,5149 }, { 50,5149 }, - { 51,5149 }, { 52,5149 }, { 53,5149 }, { 54,5149 }, { 55,5149 }, - { 56,5149 }, { 57,5149 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5149 }, - { 66,5149 }, { 67,5149 }, { 68,5149 }, { 69,5149 }, { 70,5149 }, - { 71,5149 }, { 72,5149 }, { 73,5149 }, { 74,5149 }, { 75,5149 }, - { 76,5149 }, { 77,5149 }, { 78,5149 }, { 79,5149 }, { 80,5149 }, - { 81,5149 }, { 82,5149 }, { 83,5149 }, { 84,5149 }, { 85,5149 }, - { 86,5149 }, { 87,5149 }, { 88,5149 }, { 89,5149 }, { 90,5149 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5149 }, - { 0, 0 }, { 97,5149 }, { 98,5149 }, { 99,5149 }, { 100,5149 }, - { 101,5149 }, { 102,5149 }, { 103,5149 }, { 104,5149 }, { 105,5149 }, - { 106,5149 }, { 107,5149 }, { 108,5149 }, { 109,5149 }, { 110,5149 }, - { 111,5149 }, { 112,5149 }, { 113,5149 }, { 114,5149 }, { 115,5149 }, - { 116,5149 }, { 117,5149 }, { 118,5149 }, { 119,5149 }, { 120,5149 }, - { 121,5149 }, { 122,5149 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 128,5149 }, { 129,5149 }, { 130,5149 }, - { 131,5149 }, { 132,5149 }, { 133,5149 }, { 134,5149 }, { 135,5149 }, - { 136,5149 }, { 137,5149 }, { 138,5149 }, { 139,5149 }, { 140,5149 }, - - { 141,5149 }, { 142,5149 }, { 143,5149 }, { 144,5149 }, { 145,5149 }, - { 146,5149 }, { 147,5149 }, { 148,5149 }, { 149,5149 }, { 150,5149 }, - { 151,5149 }, { 152,5149 }, { 153,5149 }, { 154,5149 }, { 155,5149 }, - { 156,5149 }, { 157,5149 }, { 158,5149 }, { 159,5149 }, { 160,5149 }, - { 161,5149 }, { 162,5149 }, { 163,5149 }, { 164,5149 }, { 165,5149 }, - { 166,5149 }, { 167,5149 }, { 168,5149 }, { 169,5149 }, { 170,5149 }, - { 171,5149 }, { 172,5149 }, { 173,5149 }, { 174,5149 }, { 175,5149 }, - { 176,5149 }, { 177,5149 }, { 178,5149 }, { 179,5149 }, { 180,5149 }, - { 181,5149 }, { 182,5149 }, { 183,5149 }, { 184,5149 }, { 185,5149 }, - { 186,5149 }, { 187,5149 }, { 188,5149 }, { 189,5149 }, { 190,5149 }, - - { 191,5149 }, { 192,5149 }, { 193,5149 }, { 194,5149 }, { 195,5149 }, - { 196,5149 }, { 197,5149 }, { 198,5149 }, { 199,5149 }, { 200,5149 }, - { 201,5149 }, { 202,5149 }, { 203,5149 }, { 204,5149 }, { 205,5149 }, - { 206,5149 }, { 207,5149 }, { 208,5149 }, { 209,5149 }, { 210,5149 }, - { 211,5149 }, { 212,5149 }, { 213,5149 }, { 214,5149 }, { 215,5149 }, - { 216,5149 }, { 217,5149 }, { 218,5149 }, { 219,5149 }, { 220,5149 }, - { 221,5149 }, { 222,5149 }, { 223,5149 }, { 224,5149 }, { 225,5149 }, - { 226,5149 }, { 227,5149 }, { 228,5149 }, { 229,5149 }, { 230,5149 }, - { 231,5149 }, { 232,5149 }, { 233,5149 }, { 234,5149 }, { 235,5149 }, - { 236,5149 }, { 237,5149 }, { 238,5149 }, { 239,5149 }, { 240,5149 }, - - { 241,5149 }, { 242,5149 }, { 243,5149 }, { 244,5149 }, { 245,5149 }, - { 246,5149 }, { 247,5149 }, { 248,5149 }, { 249,5149 }, { 250,5149 }, - { 251,5149 }, { 252,5149 }, { 253,5149 }, { 254,5149 }, { 255,5149 }, - { 0, 63 }, { 0,9807 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 36,4892 }, { 0, 0 }, { 0, 0 }, - { 39,-1282 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4892 }, - { 49,4892 }, { 50,4892 }, { 51,4892 }, { 52,4892 }, { 53,4892 }, - { 54,4892 }, { 55,4892 }, { 56,4892 }, { 57,4892 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,4892 }, { 66,4892 }, { 67,4892 }, { 68,4892 }, - { 69,4892 }, { 70,4892 }, { 71,4892 }, { 72,4892 }, { 73,4892 }, - { 74,4892 }, { 75,4892 }, { 76,4892 }, { 77,4892 }, { 78,4892 }, - { 79,4892 }, { 80,4892 }, { 81,4892 }, { 82,4892 }, { 83,4892 }, - - { 84,4892 }, { 85,4892 }, { 86,4892 }, { 87,4892 }, { 88,4892 }, - { 89,4892 }, { 90,4892 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95,4892 }, { 0, 0 }, { 97,4892 }, { 98,4892 }, - { 99,4892 }, { 100,4892 }, { 101,4892 }, { 102,4892 }, { 103,4892 }, - { 104,4892 }, { 105,4892 }, { 106,4892 }, { 107,4892 }, { 108,4892 }, - { 109,4892 }, { 110,4892 }, { 111,4892 }, { 112,4892 }, { 113,4892 }, - { 114,4892 }, { 115,4892 }, { 116,4892 }, { 117,4892 }, { 118,4892 }, - { 119,4892 }, { 120,4892 }, { 121,4892 }, { 122,4892 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4892 }, - { 129,4892 }, { 130,4892 }, { 131,4892 }, { 132,4892 }, { 133,4892 }, - - { 134,4892 }, { 135,4892 }, { 136,4892 }, { 137,4892 }, { 138,4892 }, - { 139,4892 }, { 140,4892 }, { 141,4892 }, { 142,4892 }, { 143,4892 }, - { 144,4892 }, { 145,4892 }, { 146,4892 }, { 147,4892 }, { 148,4892 }, - { 149,4892 }, { 150,4892 }, { 151,4892 }, { 152,4892 }, { 153,4892 }, - { 154,4892 }, { 155,4892 }, { 156,4892 }, { 157,4892 }, { 158,4892 }, - { 159,4892 }, { 160,4892 }, { 161,4892 }, { 162,4892 }, { 163,4892 }, - { 164,4892 }, { 165,4892 }, { 166,4892 }, { 167,4892 }, { 168,4892 }, - { 169,4892 }, { 170,4892 }, { 171,4892 }, { 172,4892 }, { 173,4892 }, - { 174,4892 }, { 175,4892 }, { 176,4892 }, { 177,4892 }, { 178,4892 }, - { 179,4892 }, { 180,4892 }, { 181,4892 }, { 182,4892 }, { 183,4892 }, - - { 184,4892 }, { 185,4892 }, { 186,4892 }, { 187,4892 }, { 188,4892 }, - { 189,4892 }, { 190,4892 }, { 191,4892 }, { 192,4892 }, { 193,4892 }, - { 194,4892 }, { 195,4892 }, { 196,4892 }, { 197,4892 }, { 198,4892 }, - { 199,4892 }, { 200,4892 }, { 201,4892 }, { 202,4892 }, { 203,4892 }, - { 204,4892 }, { 205,4892 }, { 206,4892 }, { 207,4892 }, { 208,4892 }, - { 209,4892 }, { 210,4892 }, { 211,4892 }, { 212,4892 }, { 213,4892 }, - { 214,4892 }, { 215,4892 }, { 216,4892 }, { 217,4892 }, { 218,4892 }, - { 219,4892 }, { 220,4892 }, { 221,4892 }, { 222,4892 }, { 223,4892 }, - { 224,4892 }, { 225,4892 }, { 226,4892 }, { 227,4892 }, { 228,4892 }, - { 229,4892 }, { 230,4892 }, { 231,4892 }, { 232,4892 }, { 233,4892 }, - - { 234,4892 }, { 235,4892 }, { 236,4892 }, { 237,4892 }, { 238,4892 }, - { 239,4892 }, { 240,4892 }, { 241,4892 }, { 242,4892 }, { 243,4892 }, - { 244,4892 }, { 245,4892 }, { 246,4892 }, { 247,4892 }, { 248,4892 }, - { 249,4892 }, { 250,4892 }, { 251,4892 }, { 252,4892 }, { 253,4892 }, - { 254,4892 }, { 255,4892 }, { 0, 63 }, { 0,9550 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,4635 }, - { 0, 0 }, { 38,-1304 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48,4635 }, { 49,4635 }, { 50,4635 }, { 51,4635 }, - { 52,4635 }, { 53,4635 }, { 54,4635 }, { 55,4635 }, { 56,4635 }, - { 57,4635 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4635 }, { 66,4635 }, - { 67,4635 }, { 68,4635 }, { 69,4635 }, { 70,4635 }, { 71,4635 }, - { 72,4635 }, { 73,4635 }, { 74,4635 }, { 75,4635 }, { 76,4635 }, - - { 77,4635 }, { 78,4635 }, { 79,4635 }, { 80,4635 }, { 81,4635 }, - { 82,4635 }, { 83,4635 }, { 84,4635 }, { 85,4635 }, { 86,4635 }, - { 87,4635 }, { 88,4635 }, { 89,4635 }, { 90,4635 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4635 }, { 0, 0 }, - { 97,4635 }, { 98,4635 }, { 99,4635 }, { 100,4635 }, { 101,4635 }, - { 102,4635 }, { 103,4635 }, { 104,4635 }, { 105,4635 }, { 106,4635 }, - { 107,4635 }, { 108,4635 }, { 109,4635 }, { 110,4635 }, { 111,4635 }, - { 112,4635 }, { 113,4635 }, { 114,4635 }, { 115,4635 }, { 116,4635 }, - { 117,4635 }, { 118,4635 }, { 119,4635 }, { 120,4635 }, { 121,4635 }, - { 122,4635 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 128,4635 }, { 129,4635 }, { 130,4635 }, { 131,4635 }, - { 132,4635 }, { 133,4635 }, { 134,4635 }, { 135,4635 }, { 136,4635 }, - { 137,4635 }, { 138,4635 }, { 139,4635 }, { 140,4635 }, { 141,4635 }, - { 142,4635 }, { 143,4635 }, { 144,4635 }, { 145,4635 }, { 146,4635 }, - { 147,4635 }, { 148,4635 }, { 149,4635 }, { 150,4635 }, { 151,4635 }, - { 152,4635 }, { 153,4635 }, { 154,4635 }, { 155,4635 }, { 156,4635 }, - { 157,4635 }, { 158,4635 }, { 159,4635 }, { 160,4635 }, { 161,4635 }, - { 162,4635 }, { 163,4635 }, { 164,4635 }, { 165,4635 }, { 166,4635 }, - { 167,4635 }, { 168,4635 }, { 169,4635 }, { 170,4635 }, { 171,4635 }, - { 172,4635 }, { 173,4635 }, { 174,4635 }, { 175,4635 }, { 176,4635 }, - - { 177,4635 }, { 178,4635 }, { 179,4635 }, { 180,4635 }, { 181,4635 }, - { 182,4635 }, { 183,4635 }, { 184,4635 }, { 185,4635 }, { 186,4635 }, - { 187,4635 }, { 188,4635 }, { 189,4635 }, { 190,4635 }, { 191,4635 }, - { 192,4635 }, { 193,4635 }, { 194,4635 }, { 195,4635 }, { 196,4635 }, - { 197,4635 }, { 198,4635 }, { 199,4635 }, { 200,4635 }, { 201,4635 }, - { 202,4635 }, { 203,4635 }, { 204,4635 }, { 205,4635 }, { 206,4635 }, - { 207,4635 }, { 208,4635 }, { 209,4635 }, { 210,4635 }, { 211,4635 }, - { 212,4635 }, { 213,4635 }, { 214,4635 }, { 215,4635 }, { 216,4635 }, - { 217,4635 }, { 218,4635 }, { 219,4635 }, { 220,4635 }, { 221,4635 }, - { 222,4635 }, { 223,4635 }, { 224,4635 }, { 225,4635 }, { 226,4635 }, - - { 227,4635 }, { 228,4635 }, { 229,4635 }, { 230,4635 }, { 231,4635 }, - { 232,4635 }, { 233,4635 }, { 234,4635 }, { 235,4635 }, { 236,4635 }, - { 237,4635 }, { 238,4635 }, { 239,4635 }, { 240,4635 }, { 241,4635 }, - { 242,4635 }, { 243,4635 }, { 244,4635 }, { 245,4635 }, { 246,4635 }, - { 247,4635 }, { 248,4635 }, { 249,4635 }, { 250,4635 }, { 251,4635 }, - { 252,4635 }, { 253,4635 }, { 254,4635 }, { 255,4635 }, { 0, 63 }, - { 0,9293 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 36,4378 }, { 0, 0 }, { 0, 0 }, { 39,-1559 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4378 }, { 49,4378 }, - { 50,4378 }, { 51,4378 }, { 52,4378 }, { 53,4378 }, { 54,4378 }, - { 55,4378 }, { 56,4378 }, { 57,4378 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,4378 }, { 66,4378 }, { 67,4378 }, { 68,4378 }, { 69,4378 }, - - { 70,4378 }, { 71,4378 }, { 72,4378 }, { 73,4378 }, { 74,4378 }, - { 75,4378 }, { 76,4378 }, { 77,4378 }, { 78,4378 }, { 79,4378 }, - { 80,4378 }, { 81,4378 }, { 82,4378 }, { 83,4378 }, { 84,4378 }, - { 85,4378 }, { 86,4378 }, { 87,4378 }, { 88,4378 }, { 89,4378 }, - { 90,4378 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,4378 }, { 0, 0 }, { 97,4378 }, { 98,4378 }, { 99,4378 }, - { 100,4378 }, { 101,4378 }, { 102,4378 }, { 103,4378 }, { 104,4378 }, - { 105,4378 }, { 106,4378 }, { 107,4378 }, { 108,4378 }, { 109,4378 }, - { 110,4378 }, { 111,4378 }, { 112,4378 }, { 113,4378 }, { 114,4378 }, - { 115,4378 }, { 116,4378 }, { 117,4378 }, { 118,4378 }, { 119,4378 }, - - { 120,4378 }, { 121,4378 }, { 122,4378 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4378 }, { 129,4378 }, - { 130,4378 }, { 131,4378 }, { 132,4378 }, { 133,4378 }, { 134,4378 }, - { 135,4378 }, { 136,4378 }, { 137,4378 }, { 138,4378 }, { 139,4378 }, - { 140,4378 }, { 141,4378 }, { 142,4378 }, { 143,4378 }, { 144,4378 }, - { 145,4378 }, { 146,4378 }, { 147,4378 }, { 148,4378 }, { 149,4378 }, - { 150,4378 }, { 151,4378 }, { 152,4378 }, { 153,4378 }, { 154,4378 }, - { 155,4378 }, { 156,4378 }, { 157,4378 }, { 158,4378 }, { 159,4378 }, - { 160,4378 }, { 161,4378 }, { 162,4378 }, { 163,4378 }, { 164,4378 }, - { 165,4378 }, { 166,4378 }, { 167,4378 }, { 168,4378 }, { 169,4378 }, - - { 170,4378 }, { 171,4378 }, { 172,4378 }, { 173,4378 }, { 174,4378 }, - { 175,4378 }, { 176,4378 }, { 177,4378 }, { 178,4378 }, { 179,4378 }, - { 180,4378 }, { 181,4378 }, { 182,4378 }, { 183,4378 }, { 184,4378 }, - { 185,4378 }, { 186,4378 }, { 187,4378 }, { 188,4378 }, { 189,4378 }, - { 190,4378 }, { 191,4378 }, { 192,4378 }, { 193,4378 }, { 194,4378 }, - { 195,4378 }, { 196,4378 }, { 197,4378 }, { 198,4378 }, { 199,4378 }, - { 200,4378 }, { 201,4378 }, { 202,4378 }, { 203,4378 }, { 204,4378 }, - { 205,4378 }, { 206,4378 }, { 207,4378 }, { 208,4378 }, { 209,4378 }, - { 210,4378 }, { 211,4378 }, { 212,4378 }, { 213,4378 }, { 214,4378 }, - { 215,4378 }, { 216,4378 }, { 217,4378 }, { 218,4378 }, { 219,4378 }, - - { 220,4378 }, { 221,4378 }, { 222,4378 }, { 223,4378 }, { 224,4378 }, - { 225,4378 }, { 226,4378 }, { 227,4378 }, { 228,4378 }, { 229,4378 }, - { 230,4378 }, { 231,4378 }, { 232,4378 }, { 233,4378 }, { 234,4378 }, - { 235,4378 }, { 236,4378 }, { 237,4378 }, { 238,4378 }, { 239,4378 }, - { 240,4378 }, { 241,4378 }, { 242,4378 }, { 243,4378 }, { 244,4378 }, - { 245,4378 }, { 246,4378 }, { 247,4378 }, { 248,4378 }, { 249,4378 }, - { 250,4378 }, { 251,4378 }, { 252,4378 }, { 253,4378 }, { 254,4378 }, - { 255,4378 }, { 0, 11 }, { 0,9036 }, { 1,4378 }, { 2,4378 }, - { 3,4378 }, { 4,4378 }, { 5,4378 }, { 6,4378 }, { 7,4378 }, - { 8,4378 }, { 9,4378 }, { 10,4378 }, { 11,4378 }, { 12,4378 }, - - { 13,4378 }, { 14,4378 }, { 15,4378 }, { 16,4378 }, { 17,4378 }, - { 18,4378 }, { 19,4378 }, { 20,4378 }, { 21,4378 }, { 22,4378 }, - { 23,4378 }, { 24,4378 }, { 25,4378 }, { 26,4378 }, { 27,4378 }, - { 28,4378 }, { 29,4378 }, { 30,4378 }, { 31,4378 }, { 32,4378 }, - { 33,4378 }, { 34,4378 }, { 35,4378 }, { 36,4378 }, { 37,4378 }, - { 38,4378 }, { 0, 0 }, { 40,4378 }, { 41,4378 }, { 42,4378 }, - { 43,4378 }, { 44,4378 }, { 45,4378 }, { 46,4378 }, { 47,4378 }, - { 48,4378 }, { 49,4378 }, { 50,4378 }, { 51,4378 }, { 52,4378 }, - { 53,4378 }, { 54,4378 }, { 55,4378 }, { 56,4378 }, { 57,4378 }, - { 58,4378 }, { 59,4378 }, { 60,4378 }, { 61,4378 }, { 62,4378 }, - - { 63,4378 }, { 64,4378 }, { 65,4378 }, { 66,4378 }, { 67,4378 }, - { 68,4378 }, { 69,4378 }, { 70,4378 }, { 71,4378 }, { 72,4378 }, - { 73,4378 }, { 74,4378 }, { 75,4378 }, { 76,4378 }, { 77,4378 }, - { 78,4378 }, { 79,4378 }, { 80,4378 }, { 81,4378 }, { 82,4378 }, - { 83,4378 }, { 84,4378 }, { 85,4378 }, { 86,4378 }, { 87,4378 }, - { 88,4378 }, { 89,4378 }, { 90,4378 }, { 91,4378 }, { 92,4378 }, - { 93,4378 }, { 94,4378 }, { 95,4378 }, { 96,4378 }, { 97,4378 }, - { 98,4378 }, { 99,4378 }, { 100,4378 }, { 101,4378 }, { 102,4378 }, - { 103,4378 }, { 104,4378 }, { 105,4378 }, { 106,4378 }, { 107,4378 }, - { 108,4378 }, { 109,4378 }, { 110,4378 }, { 111,4378 }, { 112,4378 }, - - { 113,4378 }, { 114,4378 }, { 115,4378 }, { 116,4378 }, { 117,4378 }, - { 118,4378 }, { 119,4378 }, { 120,4378 }, { 121,4378 }, { 122,4378 }, - { 123,4378 }, { 124,4378 }, { 125,4378 }, { 126,4378 }, { 127,4378 }, - { 128,4378 }, { 129,4378 }, { 130,4378 }, { 131,4378 }, { 132,4378 }, - { 133,4378 }, { 134,4378 }, { 135,4378 }, { 136,4378 }, { 137,4378 }, - { 138,4378 }, { 139,4378 }, { 140,4378 }, { 141,4378 }, { 142,4378 }, - { 143,4378 }, { 144,4378 }, { 145,4378 }, { 146,4378 }, { 147,4378 }, - { 148,4378 }, { 149,4378 }, { 150,4378 }, { 151,4378 }, { 152,4378 }, - { 153,4378 }, { 154,4378 }, { 155,4378 }, { 156,4378 }, { 157,4378 }, - { 158,4378 }, { 159,4378 }, { 160,4378 }, { 161,4378 }, { 162,4378 }, - - { 163,4378 }, { 164,4378 }, { 165,4378 }, { 166,4378 }, { 167,4378 }, - { 168,4378 }, { 169,4378 }, { 170,4378 }, { 171,4378 }, { 172,4378 }, - { 173,4378 }, { 174,4378 }, { 175,4378 }, { 176,4378 }, { 177,4378 }, - { 178,4378 }, { 179,4378 }, { 180,4378 }, { 181,4378 }, { 182,4378 }, - { 183,4378 }, { 184,4378 }, { 185,4378 }, { 186,4378 }, { 187,4378 }, - { 188,4378 }, { 189,4378 }, { 190,4378 }, { 191,4378 }, { 192,4378 }, - { 193,4378 }, { 194,4378 }, { 195,4378 }, { 196,4378 }, { 197,4378 }, - { 198,4378 }, { 199,4378 }, { 200,4378 }, { 201,4378 }, { 202,4378 }, - { 203,4378 }, { 204,4378 }, { 205,4378 }, { 206,4378 }, { 207,4378 }, - { 208,4378 }, { 209,4378 }, { 210,4378 }, { 211,4378 }, { 212,4378 }, - - { 213,4378 }, { 214,4378 }, { 215,4378 }, { 216,4378 }, { 217,4378 }, - { 218,4378 }, { 219,4378 }, { 220,4378 }, { 221,4378 }, { 222,4378 }, - { 223,4378 }, { 224,4378 }, { 225,4378 }, { 226,4378 }, { 227,4378 }, - { 228,4378 }, { 229,4378 }, { 230,4378 }, { 231,4378 }, { 232,4378 }, - { 233,4378 }, { 234,4378 }, { 235,4378 }, { 236,4378 }, { 237,4378 }, - { 238,4378 }, { 239,4378 }, { 240,4378 }, { 241,4378 }, { 242,4378 }, - { 243,4378 }, { 244,4378 }, { 245,4378 }, { 246,4378 }, { 247,4378 }, - { 248,4378 }, { 249,4378 }, { 250,4378 }, { 251,4378 }, { 252,4378 }, - { 253,4378 }, { 254,4378 }, { 255,4378 }, { 256,4378 }, { 0, 6 }, - { 0,8778 }, { 1,4378 }, { 2,4378 }, { 3,4378 }, { 4,4378 }, - - { 5,4378 }, { 6,4378 }, { 7,4378 }, { 8,4378 }, { 9,4378 }, - { 10,4378 }, { 11,4378 }, { 12,4378 }, { 13,4378 }, { 14,4378 }, - { 15,4378 }, { 16,4378 }, { 17,4378 }, { 18,4378 }, { 19,4378 }, - { 20,4378 }, { 21,4378 }, { 22,4378 }, { 23,4378 }, { 24,4378 }, - { 25,4378 }, { 26,4378 }, { 27,4378 }, { 28,4378 }, { 29,4378 }, - { 30,4378 }, { 31,4378 }, { 32,4378 }, { 33,4378 }, { 34,4378 }, - { 35,4378 }, { 36,4378 }, { 37,4378 }, { 38,4378 }, { 39,4378 }, - { 40,4378 }, { 41,4378 }, { 0, 0 }, { 43,4378 }, { 44,4378 }, - { 45,4378 }, { 46,4378 }, { 0, 0 }, { 48,4378 }, { 49,4378 }, - { 50,4378 }, { 51,4378 }, { 52,4378 }, { 53,4378 }, { 54,4378 }, - - { 55,4378 }, { 56,4378 }, { 57,4378 }, { 58,4378 }, { 59,4378 }, - { 60,4378 }, { 61,4378 }, { 62,4378 }, { 63,4378 }, { 64,4378 }, - { 65,4378 }, { 66,4378 }, { 67,4378 }, { 68,4378 }, { 69,4378 }, - { 70,4378 }, { 71,4378 }, { 72,4378 }, { 73,4378 }, { 74,4378 }, - { 75,4378 }, { 76,4378 }, { 77,4378 }, { 78,4378 }, { 79,4378 }, - { 80,4378 }, { 81,4378 }, { 82,4378 }, { 83,4378 }, { 84,4378 }, - { 85,4378 }, { 86,4378 }, { 87,4378 }, { 88,4378 }, { 89,4378 }, - { 90,4378 }, { 91,4378 }, { 92,4378 }, { 93,4378 }, { 94,4378 }, - { 95,4378 }, { 96,4378 }, { 97,4378 }, { 98,4378 }, { 99,4378 }, - { 100,4378 }, { 101,4378 }, { 102,4378 }, { 103,4378 }, { 104,4378 }, - - { 105,4378 }, { 106,4378 }, { 107,4378 }, { 108,4378 }, { 109,4378 }, - { 110,4378 }, { 111,4378 }, { 112,4378 }, { 113,4378 }, { 114,4378 }, - { 115,4378 }, { 116,4378 }, { 117,4378 }, { 118,4378 }, { 119,4378 }, - { 120,4378 }, { 121,4378 }, { 122,4378 }, { 123,4378 }, { 124,4378 }, - { 125,4378 }, { 126,4378 }, { 127,4378 }, { 128,4378 }, { 129,4378 }, - { 130,4378 }, { 131,4378 }, { 132,4378 }, { 133,4378 }, { 134,4378 }, - { 135,4378 }, { 136,4378 }, { 137,4378 }, { 138,4378 }, { 139,4378 }, - { 140,4378 }, { 141,4378 }, { 142,4378 }, { 143,4378 }, { 144,4378 }, - { 145,4378 }, { 146,4378 }, { 147,4378 }, { 148,4378 }, { 149,4378 }, - { 150,4378 }, { 151,4378 }, { 152,4378 }, { 153,4378 }, { 154,4378 }, - - { 155,4378 }, { 156,4378 }, { 157,4378 }, { 158,4378 }, { 159,4378 }, - { 160,4378 }, { 161,4378 }, { 162,4378 }, { 163,4378 }, { 164,4378 }, - { 165,4378 }, { 166,4378 }, { 167,4378 }, { 168,4378 }, { 169,4378 }, - { 170,4378 }, { 171,4378 }, { 172,4378 }, { 173,4378 }, { 174,4378 }, - { 175,4378 }, { 176,4378 }, { 177,4378 }, { 178,4378 }, { 179,4378 }, - { 180,4378 }, { 181,4378 }, { 182,4378 }, { 183,4378 }, { 184,4378 }, - { 185,4378 }, { 186,4378 }, { 187,4378 }, { 188,4378 }, { 189,4378 }, - { 190,4378 }, { 191,4378 }, { 192,4378 }, { 193,4378 }, { 194,4378 }, - { 195,4378 }, { 196,4378 }, { 197,4378 }, { 198,4378 }, { 199,4378 }, - { 200,4378 }, { 201,4378 }, { 202,4378 }, { 203,4378 }, { 204,4378 }, - - { 205,4378 }, { 206,4378 }, { 207,4378 }, { 208,4378 }, { 209,4378 }, - { 210,4378 }, { 211,4378 }, { 212,4378 }, { 213,4378 }, { 214,4378 }, - { 215,4378 }, { 216,4378 }, { 217,4378 }, { 218,4378 }, { 219,4378 }, - { 220,4378 }, { 221,4378 }, { 222,4378 }, { 223,4378 }, { 224,4378 }, - { 225,4378 }, { 226,4378 }, { 227,4378 }, { 228,4378 }, { 229,4378 }, - { 230,4378 }, { 231,4378 }, { 232,4378 }, { 233,4378 }, { 234,4378 }, - { 235,4378 }, { 236,4378 }, { 237,4378 }, { 238,4378 }, { 239,4378 }, - { 240,4378 }, { 241,4378 }, { 242,4378 }, { 243,4378 }, { 244,4378 }, - { 245,4378 }, { 246,4378 }, { 247,4378 }, { 248,4378 }, { 249,4378 }, - { 250,4378 }, { 251,4378 }, { 252,4378 }, { 253,4378 }, { 254,4378 }, - - { 255,4378 }, { 256,4378 }, { 0, 6 }, { 0,8520 }, { 1,4120 }, - { 2,4120 }, { 3,4120 }, { 4,4120 }, { 5,4120 }, { 6,4120 }, - { 7,4120 }, { 8,4120 }, { 9,4120 }, { 10,4120 }, { 11,4120 }, - { 12,4120 }, { 13,4120 }, { 14,4120 }, { 15,4120 }, { 16,4120 }, - { 17,4120 }, { 18,4120 }, { 19,4120 }, { 20,4120 }, { 21,4120 }, - { 22,4120 }, { 23,4120 }, { 24,4120 }, { 25,4120 }, { 26,4120 }, - { 27,4120 }, { 28,4120 }, { 29,4120 }, { 30,4120 }, { 31,4120 }, - { 32,4120 }, { 33,4120 }, { 34,4120 }, { 35,4120 }, { 36,4120 }, - { 37,4120 }, { 38,4120 }, { 39,4120 }, { 40,4120 }, { 41,4120 }, - { 0, 0 }, { 43,4120 }, { 44,4120 }, { 45,4120 }, { 46,4120 }, - - { 0, 0 }, { 48,4120 }, { 49,4120 }, { 50,4120 }, { 51,4120 }, - { 52,4120 }, { 53,4120 }, { 54,4120 }, { 55,4120 }, { 56,4120 }, - { 57,4120 }, { 58,4120 }, { 59,4120 }, { 60,4120 }, { 61,4120 }, - { 62,4120 }, { 63,4120 }, { 64,4120 }, { 65,4120 }, { 66,4120 }, - { 67,4120 }, { 68,4120 }, { 69,4120 }, { 70,4120 }, { 71,4120 }, - { 72,4120 }, { 73,4120 }, { 74,4120 }, { 75,4120 }, { 76,4120 }, - { 77,4120 }, { 78,4120 }, { 79,4120 }, { 80,4120 }, { 81,4120 }, - { 82,4120 }, { 83,4120 }, { 84,4120 }, { 85,4120 }, { 86,4120 }, - { 87,4120 }, { 88,4120 }, { 89,4120 }, { 90,4120 }, { 91,4120 }, - { 92,4120 }, { 93,4120 }, { 94,4120 }, { 95,4120 }, { 96,4120 }, - - { 97,4120 }, { 98,4120 }, { 99,4120 }, { 100,4120 }, { 101,4120 }, - { 102,4120 }, { 103,4120 }, { 104,4120 }, { 105,4120 }, { 106,4120 }, - { 107,4120 }, { 108,4120 }, { 109,4120 }, { 110,4120 }, { 111,4120 }, - { 112,4120 }, { 113,4120 }, { 114,4120 }, { 115,4120 }, { 116,4120 }, - { 117,4120 }, { 118,4120 }, { 119,4120 }, { 120,4120 }, { 121,4120 }, - { 122,4120 }, { 123,4120 }, { 124,4120 }, { 125,4120 }, { 126,4120 }, - { 127,4120 }, { 128,4120 }, { 129,4120 }, { 130,4120 }, { 131,4120 }, - { 132,4120 }, { 133,4120 }, { 134,4120 }, { 135,4120 }, { 136,4120 }, - { 137,4120 }, { 138,4120 }, { 139,4120 }, { 140,4120 }, { 141,4120 }, - { 142,4120 }, { 143,4120 }, { 144,4120 }, { 145,4120 }, { 146,4120 }, - - { 147,4120 }, { 148,4120 }, { 149,4120 }, { 150,4120 }, { 151,4120 }, - { 152,4120 }, { 153,4120 }, { 154,4120 }, { 155,4120 }, { 156,4120 }, - { 157,4120 }, { 158,4120 }, { 159,4120 }, { 160,4120 }, { 161,4120 }, - { 162,4120 }, { 163,4120 }, { 164,4120 }, { 165,4120 }, { 166,4120 }, - { 167,4120 }, { 168,4120 }, { 169,4120 }, { 170,4120 }, { 171,4120 }, - { 172,4120 }, { 173,4120 }, { 174,4120 }, { 175,4120 }, { 176,4120 }, - { 177,4120 }, { 178,4120 }, { 179,4120 }, { 180,4120 }, { 181,4120 }, - { 182,4120 }, { 183,4120 }, { 184,4120 }, { 185,4120 }, { 186,4120 }, - { 187,4120 }, { 188,4120 }, { 189,4120 }, { 190,4120 }, { 191,4120 }, - { 192,4120 }, { 193,4120 }, { 194,4120 }, { 195,4120 }, { 196,4120 }, - - { 197,4120 }, { 198,4120 }, { 199,4120 }, { 200,4120 }, { 201,4120 }, - { 202,4120 }, { 203,4120 }, { 204,4120 }, { 205,4120 }, { 206,4120 }, - { 207,4120 }, { 208,4120 }, { 209,4120 }, { 210,4120 }, { 211,4120 }, - { 212,4120 }, { 213,4120 }, { 214,4120 }, { 215,4120 }, { 216,4120 }, - { 217,4120 }, { 218,4120 }, { 219,4120 }, { 220,4120 }, { 221,4120 }, - { 222,4120 }, { 223,4120 }, { 224,4120 }, { 225,4120 }, { 226,4120 }, - { 227,4120 }, { 228,4120 }, { 229,4120 }, { 230,4120 }, { 231,4120 }, - { 232,4120 }, { 233,4120 }, { 234,4120 }, { 235,4120 }, { 236,4120 }, - { 237,4120 }, { 238,4120 }, { 239,4120 }, { 240,4120 }, { 241,4120 }, - { 242,4120 }, { 243,4120 }, { 244,4120 }, { 245,4120 }, { 246,4120 }, - - { 247,4120 }, { 248,4120 }, { 249,4120 }, { 250,4120 }, { 251,4120 }, - { 252,4120 }, { 253,4120 }, { 254,4120 }, { 255,4120 }, { 256,4120 }, - { 0, 44 }, { 0,8262 }, { 1,4248 }, { 2,4248 }, { 3,4248 }, - { 4,4248 }, { 5,4248 }, { 6,4248 }, { 7,4248 }, { 8,4248 }, - { 9,4248 }, { 10,4248 }, { 11,4248 }, { 12,4248 }, { 13,4248 }, - { 14,4248 }, { 15,4248 }, { 16,4248 }, { 17,4248 }, { 18,4248 }, - { 19,4248 }, { 20,4248 }, { 21,4248 }, { 22,4248 }, { 23,4248 }, - { 24,4248 }, { 25,4248 }, { 26,4248 }, { 27,4248 }, { 28,4248 }, - { 29,4248 }, { 30,4248 }, { 31,4248 }, { 32,4248 }, { 33,4248 }, - { 0, 0 }, { 35,4248 }, { 36,4248 }, { 37,4248 }, { 38,4248 }, - - { 39,4248 }, { 40,4248 }, { 41,4248 }, { 42,4248 }, { 43,4248 }, - { 44,4248 }, { 45,4248 }, { 46,4248 }, { 47,4248 }, { 48,4248 }, - { 49,4248 }, { 50,4248 }, { 51,4248 }, { 52,4248 }, { 53,4248 }, - { 54,4248 }, { 55,4248 }, { 56,4248 }, { 57,4248 }, { 58,4248 }, - { 59,4248 }, { 60,4248 }, { 61,4248 }, { 62,4248 }, { 63,4248 }, - { 64,4248 }, { 65,4248 }, { 66,4248 }, { 67,4248 }, { 68,4248 }, - { 69,4248 }, { 70,4248 }, { 71,4248 }, { 72,4248 }, { 73,4248 }, - { 74,4248 }, { 75,4248 }, { 76,4248 }, { 77,4248 }, { 78,4248 }, - { 79,4248 }, { 80,4248 }, { 81,4248 }, { 82,4248 }, { 83,4248 }, - { 84,4248 }, { 85,4248 }, { 86,4248 }, { 87,4248 }, { 88,4248 }, - - { 89,4248 }, { 90,4248 }, { 91,4248 }, { 92,4248 }, { 93,4248 }, - { 94,4248 }, { 95,4248 }, { 96,4248 }, { 97,4248 }, { 98,4248 }, - { 99,4248 }, { 100,4248 }, { 101,4248 }, { 102,4248 }, { 103,4248 }, - { 104,4248 }, { 105,4248 }, { 106,4248 }, { 107,4248 }, { 108,4248 }, - { 109,4248 }, { 110,4248 }, { 111,4248 }, { 112,4248 }, { 113,4248 }, - { 114,4248 }, { 115,4248 }, { 116,4248 }, { 117,4248 }, { 118,4248 }, - { 119,4248 }, { 120,4248 }, { 121,4248 }, { 122,4248 }, { 123,4248 }, - { 124,4248 }, { 125,4248 }, { 126,4248 }, { 127,4248 }, { 128,4248 }, - { 129,4248 }, { 130,4248 }, { 131,4248 }, { 132,4248 }, { 133,4248 }, - { 134,4248 }, { 135,4248 }, { 136,4248 }, { 137,4248 }, { 138,4248 }, - - { 139,4248 }, { 140,4248 }, { 141,4248 }, { 142,4248 }, { 143,4248 }, - { 144,4248 }, { 145,4248 }, { 146,4248 }, { 147,4248 }, { 148,4248 }, - { 149,4248 }, { 150,4248 }, { 151,4248 }, { 152,4248 }, { 153,4248 }, - { 154,4248 }, { 155,4248 }, { 156,4248 }, { 157,4248 }, { 158,4248 }, - { 159,4248 }, { 160,4248 }, { 161,4248 }, { 162,4248 }, { 163,4248 }, - { 164,4248 }, { 165,4248 }, { 166,4248 }, { 167,4248 }, { 168,4248 }, - { 169,4248 }, { 170,4248 }, { 171,4248 }, { 172,4248 }, { 173,4248 }, - { 174,4248 }, { 175,4248 }, { 176,4248 }, { 177,4248 }, { 178,4248 }, - { 179,4248 }, { 180,4248 }, { 181,4248 }, { 182,4248 }, { 183,4248 }, - { 184,4248 }, { 185,4248 }, { 186,4248 }, { 187,4248 }, { 188,4248 }, - - { 189,4248 }, { 190,4248 }, { 191,4248 }, { 192,4248 }, { 193,4248 }, - { 194,4248 }, { 195,4248 }, { 196,4248 }, { 197,4248 }, { 198,4248 }, - { 199,4248 }, { 200,4248 }, { 201,4248 }, { 202,4248 }, { 203,4248 }, - { 204,4248 }, { 205,4248 }, { 206,4248 }, { 207,4248 }, { 208,4248 }, - { 209,4248 }, { 210,4248 }, { 211,4248 }, { 212,4248 }, { 213,4248 }, - { 214,4248 }, { 215,4248 }, { 216,4248 }, { 217,4248 }, { 218,4248 }, - { 219,4248 }, { 220,4248 }, { 221,4248 }, { 222,4248 }, { 223,4248 }, - { 224,4248 }, { 225,4248 }, { 226,4248 }, { 227,4248 }, { 228,4248 }, - { 229,4248 }, { 230,4248 }, { 231,4248 }, { 232,4248 }, { 233,4248 }, - { 234,4248 }, { 235,4248 }, { 236,4248 }, { 237,4248 }, { 238,4248 }, - - { 239,4248 }, { 240,4248 }, { 241,4248 }, { 242,4248 }, { 243,4248 }, - { 244,4248 }, { 245,4248 }, { 246,4248 }, { 247,4248 }, { 248,4248 }, - { 249,4248 }, { 250,4248 }, { 251,4248 }, { 252,4248 }, { 253,4248 }, - { 254,4248 }, { 255,4248 }, { 256,4248 }, { 0, 10 }, { 0,8004 }, - { 1,4248 }, { 2,4248 }, { 3,4248 }, { 4,4248 }, { 5,4248 }, - { 6,4248 }, { 7,4248 }, { 8,4248 }, { 9,4248 }, { 10,4248 }, - { 11,4248 }, { 12,4248 }, { 13,4248 }, { 14,4248 }, { 15,4248 }, - { 16,4248 }, { 17,4248 }, { 18,4248 }, { 19,4248 }, { 20,4248 }, - { 21,4248 }, { 22,4248 }, { 23,4248 }, { 24,4248 }, { 25,4248 }, - { 26,4248 }, { 27,4248 }, { 28,4248 }, { 29,4248 }, { 30,4248 }, - - { 31,4248 }, { 32,4248 }, { 33,4248 }, { 34,4248 }, { 35,4248 }, - { 36,4248 }, { 37,4248 }, { 38,4248 }, { 0, 0 }, { 40,4248 }, - { 41,4248 }, { 42,4248 }, { 43,4248 }, { 44,4248 }, { 45,4248 }, - { 46,4248 }, { 47,4248 }, { 48,4248 }, { 49,4248 }, { 50,4248 }, - { 51,4248 }, { 52,4248 }, { 53,4248 }, { 54,4248 }, { 55,4248 }, - { 56,4248 }, { 57,4248 }, { 58,4248 }, { 59,4248 }, { 60,4248 }, - { 61,4248 }, { 62,4248 }, { 63,4248 }, { 64,4248 }, { 65,4248 }, - { 66,4248 }, { 67,4248 }, { 68,4248 }, { 69,4248 }, { 70,4248 }, - { 71,4248 }, { 72,4248 }, { 73,4248 }, { 74,4248 }, { 75,4248 }, - { 76,4248 }, { 77,4248 }, { 78,4248 }, { 79,4248 }, { 80,4248 }, - - { 81,4248 }, { 82,4248 }, { 83,4248 }, { 84,4248 }, { 85,4248 }, - { 86,4248 }, { 87,4248 }, { 88,4248 }, { 89,4248 }, { 90,4248 }, - { 91,4248 }, { 92,4248 }, { 93,4248 }, { 94,4248 }, { 95,4248 }, - { 96,4248 }, { 97,4248 }, { 98,4248 }, { 99,4248 }, { 100,4248 }, - { 101,4248 }, { 102,4248 }, { 103,4248 }, { 104,4248 }, { 105,4248 }, - { 106,4248 }, { 107,4248 }, { 108,4248 }, { 109,4248 }, { 110,4248 }, - { 111,4248 }, { 112,4248 }, { 113,4248 }, { 114,4248 }, { 115,4248 }, - { 116,4248 }, { 117,4248 }, { 118,4248 }, { 119,4248 }, { 120,4248 }, - { 121,4248 }, { 122,4248 }, { 123,4248 }, { 124,4248 }, { 125,4248 }, - { 126,4248 }, { 127,4248 }, { 128,4248 }, { 129,4248 }, { 130,4248 }, - - { 131,4248 }, { 132,4248 }, { 133,4248 }, { 134,4248 }, { 135,4248 }, - { 136,4248 }, { 137,4248 }, { 138,4248 }, { 139,4248 }, { 140,4248 }, - { 141,4248 }, { 142,4248 }, { 143,4248 }, { 144,4248 }, { 145,4248 }, - { 146,4248 }, { 147,4248 }, { 148,4248 }, { 149,4248 }, { 150,4248 }, - { 151,4248 }, { 152,4248 }, { 153,4248 }, { 154,4248 }, { 155,4248 }, - { 156,4248 }, { 157,4248 }, { 158,4248 }, { 159,4248 }, { 160,4248 }, - { 161,4248 }, { 162,4248 }, { 163,4248 }, { 164,4248 }, { 165,4248 }, - { 166,4248 }, { 167,4248 }, { 168,4248 }, { 169,4248 }, { 170,4248 }, - { 171,4248 }, { 172,4248 }, { 173,4248 }, { 174,4248 }, { 175,4248 }, - { 176,4248 }, { 177,4248 }, { 178,4248 }, { 179,4248 }, { 180,4248 }, - - { 181,4248 }, { 182,4248 }, { 183,4248 }, { 184,4248 }, { 185,4248 }, - { 186,4248 }, { 187,4248 }, { 188,4248 }, { 189,4248 }, { 190,4248 }, - { 191,4248 }, { 192,4248 }, { 193,4248 }, { 194,4248 }, { 195,4248 }, - { 196,4248 }, { 197,4248 }, { 198,4248 }, { 199,4248 }, { 200,4248 }, - { 201,4248 }, { 202,4248 }, { 203,4248 }, { 204,4248 }, { 205,4248 }, - { 206,4248 }, { 207,4248 }, { 208,4248 }, { 209,4248 }, { 210,4248 }, - { 211,4248 }, { 212,4248 }, { 213,4248 }, { 214,4248 }, { 215,4248 }, - { 216,4248 }, { 217,4248 }, { 218,4248 }, { 219,4248 }, { 220,4248 }, - { 221,4248 }, { 222,4248 }, { 223,4248 }, { 224,4248 }, { 225,4248 }, - { 226,4248 }, { 227,4248 }, { 228,4248 }, { 229,4248 }, { 230,4248 }, - - { 231,4248 }, { 232,4248 }, { 233,4248 }, { 234,4248 }, { 235,4248 }, - { 236,4248 }, { 237,4248 }, { 238,4248 }, { 239,4248 }, { 240,4248 }, - { 241,4248 }, { 242,4248 }, { 243,4248 }, { 244,4248 }, { 245,4248 }, - { 246,4248 }, { 247,4248 }, { 248,4248 }, { 249,4248 }, { 250,4248 }, - { 251,4248 }, { 252,4248 }, { 253,4248 }, { 254,4248 }, { 255,4248 }, - { 256,4248 }, { 0, 22 }, { 0,7746 }, { 1,4248 }, { 2,4248 }, - { 3,4248 }, { 4,4248 }, { 5,4248 }, { 6,4248 }, { 7,4248 }, - { 8,4248 }, { 9,4248 }, { 10,4248 }, { 11,4248 }, { 12,4248 }, - { 13,4248 }, { 14,4248 }, { 15,4248 }, { 16,4248 }, { 17,4248 }, - { 18,4248 }, { 19,4248 }, { 20,4248 }, { 21,4248 }, { 22,4248 }, - - { 23,4248 }, { 24,4248 }, { 25,4248 }, { 26,4248 }, { 27,4248 }, - { 28,4248 }, { 29,4248 }, { 30,4248 }, { 31,4248 }, { 32,4248 }, - { 33,4248 }, { 34,4248 }, { 35,4248 }, { 36,4248 }, { 37,4248 }, - { 38,4248 }, { 0, 0 }, { 40,4248 }, { 41,4248 }, { 42,4248 }, - { 43,4248 }, { 44,4248 }, { 45,4248 }, { 46,4248 }, { 47,4248 }, - { 48,4248 }, { 49,4248 }, { 50,4248 }, { 51,4248 }, { 52,4248 }, - { 53,4248 }, { 54,4248 }, { 55,4248 }, { 56,4248 }, { 57,4248 }, - { 58,4248 }, { 59,4248 }, { 60,4248 }, { 61,4248 }, { 62,4248 }, - { 63,4248 }, { 64,4248 }, { 65,4248 }, { 66,4248 }, { 67,4248 }, - { 68,4248 }, { 69,4248 }, { 70,4248 }, { 71,4248 }, { 72,4248 }, - - { 73,4248 }, { 74,4248 }, { 75,4248 }, { 76,4248 }, { 77,4248 }, - { 78,4248 }, { 79,4248 }, { 80,4248 }, { 81,4248 }, { 82,4248 }, - { 83,4248 }, { 84,4248 }, { 85,4248 }, { 86,4248 }, { 87,4248 }, - { 88,4248 }, { 89,4248 }, { 90,4248 }, { 91,4248 }, { 92,4248 }, - { 93,4248 }, { 94,4248 }, { 95,4248 }, { 96,4248 }, { 97,4248 }, - { 98,4248 }, { 99,4248 }, { 100,4248 }, { 101,4248 }, { 102,4248 }, - { 103,4248 }, { 104,4248 }, { 105,4248 }, { 106,4248 }, { 107,4248 }, - { 108,4248 }, { 109,4248 }, { 110,4248 }, { 111,4248 }, { 112,4248 }, - { 113,4248 }, { 114,4248 }, { 115,4248 }, { 116,4248 }, { 117,4248 }, - { 118,4248 }, { 119,4248 }, { 120,4248 }, { 121,4248 }, { 122,4248 }, - - { 123,4248 }, { 124,4248 }, { 125,4248 }, { 126,4248 }, { 127,4248 }, - { 128,4248 }, { 129,4248 }, { 130,4248 }, { 131,4248 }, { 132,4248 }, - { 133,4248 }, { 134,4248 }, { 135,4248 }, { 136,4248 }, { 137,4248 }, - { 138,4248 }, { 139,4248 }, { 140,4248 }, { 141,4248 }, { 142,4248 }, - { 143,4248 }, { 144,4248 }, { 145,4248 }, { 146,4248 }, { 147,4248 }, - { 148,4248 }, { 149,4248 }, { 150,4248 }, { 151,4248 }, { 152,4248 }, - { 153,4248 }, { 154,4248 }, { 155,4248 }, { 156,4248 }, { 157,4248 }, - { 158,4248 }, { 159,4248 }, { 160,4248 }, { 161,4248 }, { 162,4248 }, - { 163,4248 }, { 164,4248 }, { 165,4248 }, { 166,4248 }, { 167,4248 }, - { 168,4248 }, { 169,4248 }, { 170,4248 }, { 171,4248 }, { 172,4248 }, - - { 173,4248 }, { 174,4248 }, { 175,4248 }, { 176,4248 }, { 177,4248 }, - { 178,4248 }, { 179,4248 }, { 180,4248 }, { 181,4248 }, { 182,4248 }, - { 183,4248 }, { 184,4248 }, { 185,4248 }, { 186,4248 }, { 187,4248 }, - { 188,4248 }, { 189,4248 }, { 190,4248 }, { 191,4248 }, { 192,4248 }, - { 193,4248 }, { 194,4248 }, { 195,4248 }, { 196,4248 }, { 197,4248 }, - { 198,4248 }, { 199,4248 }, { 200,4248 }, { 201,4248 }, { 202,4248 }, - { 203,4248 }, { 204,4248 }, { 205,4248 }, { 206,4248 }, { 207,4248 }, - { 208,4248 }, { 209,4248 }, { 210,4248 }, { 211,4248 }, { 212,4248 }, - { 213,4248 }, { 214,4248 }, { 215,4248 }, { 216,4248 }, { 217,4248 }, - { 218,4248 }, { 219,4248 }, { 220,4248 }, { 221,4248 }, { 222,4248 }, - - { 223,4248 }, { 224,4248 }, { 225,4248 }, { 226,4248 }, { 227,4248 }, - { 228,4248 }, { 229,4248 }, { 230,4248 }, { 231,4248 }, { 232,4248 }, - { 233,4248 }, { 234,4248 }, { 235,4248 }, { 236,4248 }, { 237,4248 }, - { 238,4248 }, { 239,4248 }, { 240,4248 }, { 241,4248 }, { 242,4248 }, - { 243,4248 }, { 244,4248 }, { 245,4248 }, { 246,4248 }, { 247,4248 }, - { 248,4248 }, { 249,4248 }, { 250,4248 }, { 251,4248 }, { 252,4248 }, - { 253,4248 }, { 254,4248 }, { 255,4248 }, { 256,4248 }, { 0, 19 }, - { 0,7488 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 19 }, - { 0,7483 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,4248 }, - { 10,4253 }, { 0, 0 }, { 12,4248 }, { 13,4253 }, { 9,4264 }, - - { 10,4264 }, { 0, 0 }, { 12,4264 }, { 13,4264 }, { 0, 0 }, - { 0, 19 }, { 0,7467 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 9,4248 }, { 10,4248 }, { 32,4248 }, { 12,4248 }, { 13,4248 }, - { 0, 0 }, { 0, 0 }, { 32,4264 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-3352 }, - { 45,-3349 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 45,-3354 }, { 0, 0 }, { 0, 0 }, { 32,4248 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 39,-3368 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 45,-3370 }, { 0, 23 }, { 0,7420 }, { 1,4248 }, - { 2,4248 }, { 3,4248 }, { 4,4248 }, { 5,4248 }, { 6,4248 }, - { 7,4248 }, { 8,4248 }, { 9,4248 }, { 10,4248 }, { 11,4248 }, - { 12,4248 }, { 13,4248 }, { 14,4248 }, { 15,4248 }, { 16,4248 }, - { 17,4248 }, { 18,4248 }, { 19,4248 }, { 20,4248 }, { 21,4248 }, - { 22,4248 }, { 23,4248 }, { 24,4248 }, { 25,4248 }, { 26,4248 }, - { 27,4248 }, { 28,4248 }, { 29,4248 }, { 30,4248 }, { 31,4248 }, - { 32,4248 }, { 33,4248 }, { 34,4248 }, { 35,4248 }, { 36,4248 }, - { 37,4248 }, { 38,4248 }, { 0, 0 }, { 40,4248 }, { 41,4248 }, - { 42,4248 }, { 43,4248 }, { 44,4248 }, { 45,4248 }, { 46,4248 }, - - { 47,4248 }, { 48,4248 }, { 49,4248 }, { 50,4248 }, { 51,4248 }, - { 52,4248 }, { 53,4248 }, { 54,4248 }, { 55,4248 }, { 56,4248 }, - { 57,4248 }, { 58,4248 }, { 59,4248 }, { 60,4248 }, { 61,4248 }, - { 62,4248 }, { 63,4248 }, { 64,4248 }, { 65,4248 }, { 66,4248 }, - { 67,4248 }, { 68,4248 }, { 69,4248 }, { 70,4248 }, { 71,4248 }, - { 72,4248 }, { 73,4248 }, { 74,4248 }, { 75,4248 }, { 76,4248 }, - { 77,4248 }, { 78,4248 }, { 79,4248 }, { 80,4248 }, { 81,4248 }, - { 82,4248 }, { 83,4248 }, { 84,4248 }, { 85,4248 }, { 86,4248 }, - { 87,4248 }, { 88,4248 }, { 89,4248 }, { 90,4248 }, { 91,4248 }, - { 0, 0 }, { 93,4248 }, { 94,4248 }, { 95,4248 }, { 96,4248 }, - - { 97,4248 }, { 98,4248 }, { 99,4248 }, { 100,4248 }, { 101,4248 }, - { 102,4248 }, { 103,4248 }, { 104,4248 }, { 105,4248 }, { 106,4248 }, - { 107,4248 }, { 108,4248 }, { 109,4248 }, { 110,4248 }, { 111,4248 }, - { 112,4248 }, { 113,4248 }, { 114,4248 }, { 115,4248 }, { 116,4248 }, - { 117,4248 }, { 118,4248 }, { 119,4248 }, { 120,4248 }, { 121,4248 }, - { 122,4248 }, { 123,4248 }, { 124,4248 }, { 125,4248 }, { 126,4248 }, - { 127,4248 }, { 128,4248 }, { 129,4248 }, { 130,4248 }, { 131,4248 }, - { 132,4248 }, { 133,4248 }, { 134,4248 }, { 135,4248 }, { 136,4248 }, - { 137,4248 }, { 138,4248 }, { 139,4248 }, { 140,4248 }, { 141,4248 }, - { 142,4248 }, { 143,4248 }, { 144,4248 }, { 145,4248 }, { 146,4248 }, - - { 147,4248 }, { 148,4248 }, { 149,4248 }, { 150,4248 }, { 151,4248 }, - { 152,4248 }, { 153,4248 }, { 154,4248 }, { 155,4248 }, { 156,4248 }, - { 157,4248 }, { 158,4248 }, { 159,4248 }, { 160,4248 }, { 161,4248 }, - { 162,4248 }, { 163,4248 }, { 164,4248 }, { 165,4248 }, { 166,4248 }, - { 167,4248 }, { 168,4248 }, { 169,4248 }, { 170,4248 }, { 171,4248 }, - { 172,4248 }, { 173,4248 }, { 174,4248 }, { 175,4248 }, { 176,4248 }, - { 177,4248 }, { 178,4248 }, { 179,4248 }, { 180,4248 }, { 181,4248 }, - { 182,4248 }, { 183,4248 }, { 184,4248 }, { 185,4248 }, { 186,4248 }, - { 187,4248 }, { 188,4248 }, { 189,4248 }, { 190,4248 }, { 191,4248 }, - { 192,4248 }, { 193,4248 }, { 194,4248 }, { 195,4248 }, { 196,4248 }, - - { 197,4248 }, { 198,4248 }, { 199,4248 }, { 200,4248 }, { 201,4248 }, - { 202,4248 }, { 203,4248 }, { 204,4248 }, { 205,4248 }, { 206,4248 }, - { 207,4248 }, { 208,4248 }, { 209,4248 }, { 210,4248 }, { 211,4248 }, - { 212,4248 }, { 213,4248 }, { 214,4248 }, { 215,4248 }, { 216,4248 }, - { 217,4248 }, { 218,4248 }, { 219,4248 }, { 220,4248 }, { 221,4248 }, - { 222,4248 }, { 223,4248 }, { 224,4248 }, { 225,4248 }, { 226,4248 }, - { 227,4248 }, { 228,4248 }, { 229,4248 }, { 230,4248 }, { 231,4248 }, - { 232,4248 }, { 233,4248 }, { 234,4248 }, { 235,4248 }, { 236,4248 }, - { 237,4248 }, { 238,4248 }, { 239,4248 }, { 240,4248 }, { 241,4248 }, - { 242,4248 }, { 243,4248 }, { 244,4248 }, { 245,4248 }, { 246,4248 }, - - { 247,4248 }, { 248,4248 }, { 249,4248 }, { 250,4248 }, { 251,4248 }, - { 252,4248 }, { 253,4248 }, { 254,4248 }, { 255,4248 }, { 256,4248 }, - { 0, 23 }, { 0,7162 }, { 1,3990 }, { 2,3990 }, { 3,3990 }, - { 4,3990 }, { 5,3990 }, { 6,3990 }, { 7,3990 }, { 8,3990 }, - { 9,3990 }, { 10,3990 }, { 11,3990 }, { 12,3990 }, { 13,3990 }, - { 14,3990 }, { 15,3990 }, { 16,3990 }, { 17,3990 }, { 18,3990 }, - { 19,3990 }, { 20,3990 }, { 21,3990 }, { 22,3990 }, { 23,3990 }, - { 24,3990 }, { 25,3990 }, { 26,3990 }, { 27,3990 }, { 28,3990 }, - { 29,3990 }, { 30,3990 }, { 31,3990 }, { 32,3990 }, { 33,3990 }, - { 34,3990 }, { 35,3990 }, { 36,3990 }, { 37,3990 }, { 38,3990 }, - - { 0, 0 }, { 40,3990 }, { 41,3990 }, { 42,3990 }, { 43,3990 }, - { 44,3990 }, { 45,3990 }, { 46,3990 }, { 47,3990 }, { 48,3990 }, - { 49,3990 }, { 50,3990 }, { 51,3990 }, { 52,3990 }, { 53,3990 }, - { 54,3990 }, { 55,3990 }, { 56,3990 }, { 57,3990 }, { 58,3990 }, - { 59,3990 }, { 60,3990 }, { 61,3990 }, { 62,3990 }, { 63,3990 }, - { 64,3990 }, { 65,3990 }, { 66,3990 }, { 67,3990 }, { 68,3990 }, - { 69,3990 }, { 70,3990 }, { 71,3990 }, { 72,3990 }, { 73,3990 }, - { 74,3990 }, { 75,3990 }, { 76,3990 }, { 77,3990 }, { 78,3990 }, - { 79,3990 }, { 80,3990 }, { 81,3990 }, { 82,3990 }, { 83,3990 }, - { 84,3990 }, { 85,3990 }, { 86,3990 }, { 87,3990 }, { 88,3990 }, - - { 89,3990 }, { 90,3990 }, { 91,3990 }, { 0, 0 }, { 93,3990 }, - { 94,3990 }, { 95,3990 }, { 96,3990 }, { 97,3990 }, { 98,3990 }, - { 99,3990 }, { 100,3990 }, { 101,3990 }, { 102,3990 }, { 103,3990 }, - { 104,3990 }, { 105,3990 }, { 106,3990 }, { 107,3990 }, { 108,3990 }, - { 109,3990 }, { 110,3990 }, { 111,3990 }, { 112,3990 }, { 113,3990 }, - { 114,3990 }, { 115,3990 }, { 116,3990 }, { 117,3990 }, { 118,3990 }, - { 119,3990 }, { 120,3990 }, { 121,3990 }, { 122,3990 }, { 123,3990 }, - { 124,3990 }, { 125,3990 }, { 126,3990 }, { 127,3990 }, { 128,3990 }, - { 129,3990 }, { 130,3990 }, { 131,3990 }, { 132,3990 }, { 133,3990 }, - { 134,3990 }, { 135,3990 }, { 136,3990 }, { 137,3990 }, { 138,3990 }, - - { 139,3990 }, { 140,3990 }, { 141,3990 }, { 142,3990 }, { 143,3990 }, - { 144,3990 }, { 145,3990 }, { 146,3990 }, { 147,3990 }, { 148,3990 }, - { 149,3990 }, { 150,3990 }, { 151,3990 }, { 152,3990 }, { 153,3990 }, - { 154,3990 }, { 155,3990 }, { 156,3990 }, { 157,3990 }, { 158,3990 }, - { 159,3990 }, { 160,3990 }, { 161,3990 }, { 162,3990 }, { 163,3990 }, - { 164,3990 }, { 165,3990 }, { 166,3990 }, { 167,3990 }, { 168,3990 }, - { 169,3990 }, { 170,3990 }, { 171,3990 }, { 172,3990 }, { 173,3990 }, - { 174,3990 }, { 175,3990 }, { 176,3990 }, { 177,3990 }, { 178,3990 }, - { 179,3990 }, { 180,3990 }, { 181,3990 }, { 182,3990 }, { 183,3990 }, - { 184,3990 }, { 185,3990 }, { 186,3990 }, { 187,3990 }, { 188,3990 }, - - { 189,3990 }, { 190,3990 }, { 191,3990 }, { 192,3990 }, { 193,3990 }, - { 194,3990 }, { 195,3990 }, { 196,3990 }, { 197,3990 }, { 198,3990 }, - { 199,3990 }, { 200,3990 }, { 201,3990 }, { 202,3990 }, { 203,3990 }, - { 204,3990 }, { 205,3990 }, { 206,3990 }, { 207,3990 }, { 208,3990 }, - { 209,3990 }, { 210,3990 }, { 211,3990 }, { 212,3990 }, { 213,3990 }, - { 214,3990 }, { 215,3990 }, { 216,3990 }, { 217,3990 }, { 218,3990 }, - { 219,3990 }, { 220,3990 }, { 221,3990 }, { 222,3990 }, { 223,3990 }, - { 224,3990 }, { 225,3990 }, { 226,3990 }, { 227,3990 }, { 228,3990 }, - { 229,3990 }, { 230,3990 }, { 231,3990 }, { 232,3990 }, { 233,3990 }, - { 234,3990 }, { 235,3990 }, { 236,3990 }, { 237,3990 }, { 238,3990 }, - - { 239,3990 }, { 240,3990 }, { 241,3990 }, { 242,3990 }, { 243,3990 }, - { 244,3990 }, { 245,3990 }, { 246,3990 }, { 247,3990 }, { 248,3990 }, - { 249,3990 }, { 250,3990 }, { 251,3990 }, { 252,3990 }, { 253,3990 }, - { 254,3990 }, { 255,3990 }, { 256,3990 }, { 0, 32 }, { 0,6904 }, - { 1,-3929 }, { 2,-3929 }, { 3,-3929 }, { 4,-3929 }, { 5,-3929 }, - { 6,-3929 }, { 7,-3929 }, { 8,-3929 }, { 9,-3929 }, { 10,-3929 }, - { 11,-3929 }, { 12,-3929 }, { 13,-3929 }, { 14,-3929 }, { 15,-3929 }, - { 16,-3929 }, { 17,-3929 }, { 18,-3929 }, { 19,-3929 }, { 20,-3929 }, - { 21,-3929 }, { 22,-3929 }, { 23,-3929 }, { 24,-3929 }, { 25,-3929 }, - { 26,-3929 }, { 27,-3929 }, { 28,-3929 }, { 29,-3929 }, { 30,-3929 }, - - { 31,-3929 }, { 32,-3929 }, { 33,-3929 }, { 34,-3929 }, { 35,-3929 }, - { 36,-3929 }, { 37,-3929 }, { 38,-3929 }, { 39,-3929 }, { 40,-3929 }, - { 41,-3929 }, { 42,-3929 }, { 43,-3929 }, { 44,-3929 }, { 45,-3929 }, - { 46,-3929 }, { 47,-3929 }, { 48,3990 }, { 49,3990 }, { 50,3990 }, - { 51,3990 }, { 52,3990 }, { 53,3990 }, { 54,3990 }, { 55,3990 }, - { 56,-3929 }, { 57,-3929 }, { 58,-3929 }, { 59,-3929 }, { 60,-3929 }, - { 61,-3929 }, { 62,-3929 }, { 63,-3929 }, { 64,-3929 }, { 65,-3929 }, - { 66,-3929 }, { 67,-3929 }, { 68,-3929 }, { 69,-3929 }, { 70,-3929 }, - { 71,-3929 }, { 72,-3929 }, { 73,-3929 }, { 74,-3929 }, { 75,-3929 }, - { 76,-3929 }, { 77,-3929 }, { 78,-3929 }, { 79,-3929 }, { 80,-3929 }, - - { 81,-3929 }, { 82,-3929 }, { 83,-3929 }, { 84,-3929 }, { 85,3998 }, - { 86,-3929 }, { 87,-3929 }, { 88,-3929 }, { 89,-3929 }, { 90,-3929 }, - { 91,-3929 }, { 92,-3929 }, { 93,-3929 }, { 94,-3929 }, { 95,-3929 }, - { 96,-3929 }, { 97,-3929 }, { 98,-3929 }, { 99,-3929 }, { 100,-3929 }, - { 101,-3929 }, { 102,-3929 }, { 103,-3929 }, { 104,-3929 }, { 105,-3929 }, - { 106,-3929 }, { 107,-3929 }, { 108,-3929 }, { 109,-3929 }, { 110,-3929 }, - { 111,-3929 }, { 112,-3929 }, { 113,-3929 }, { 114,-3929 }, { 115,-3929 }, - { 116,-3929 }, { 117,4021 }, { 118,-3929 }, { 119,-3929 }, { 120,4059 }, - { 121,-3929 }, { 122,-3929 }, { 123,-3929 }, { 124,-3929 }, { 125,-3929 }, - { 126,-3929 }, { 127,-3929 }, { 128,-3929 }, { 129,-3929 }, { 130,-3929 }, - - { 131,-3929 }, { 132,-3929 }, { 133,-3929 }, { 134,-3929 }, { 135,-3929 }, - { 136,-3929 }, { 137,-3929 }, { 138,-3929 }, { 139,-3929 }, { 140,-3929 }, - { 141,-3929 }, { 142,-3929 }, { 143,-3929 }, { 144,-3929 }, { 145,-3929 }, - { 146,-3929 }, { 147,-3929 }, { 148,-3929 }, { 149,-3929 }, { 150,-3929 }, - { 151,-3929 }, { 152,-3929 }, { 153,-3929 }, { 154,-3929 }, { 155,-3929 }, - { 156,-3929 }, { 157,-3929 }, { 158,-3929 }, { 159,-3929 }, { 160,-3929 }, - { 161,-3929 }, { 162,-3929 }, { 163,-3929 }, { 164,-3929 }, { 165,-3929 }, - { 166,-3929 }, { 167,-3929 }, { 168,-3929 }, { 169,-3929 }, { 170,-3929 }, - { 171,-3929 }, { 172,-3929 }, { 173,-3929 }, { 174,-3929 }, { 175,-3929 }, - { 176,-3929 }, { 177,-3929 }, { 178,-3929 }, { 179,-3929 }, { 180,-3929 }, - - { 181,-3929 }, { 182,-3929 }, { 183,-3929 }, { 184,-3929 }, { 185,-3929 }, - { 186,-3929 }, { 187,-3929 }, { 188,-3929 }, { 189,-3929 }, { 190,-3929 }, - { 191,-3929 }, { 192,-3929 }, { 193,-3929 }, { 194,-3929 }, { 195,-3929 }, - { 196,-3929 }, { 197,-3929 }, { 198,-3929 }, { 199,-3929 }, { 200,-3929 }, - { 201,-3929 }, { 202,-3929 }, { 203,-3929 }, { 204,-3929 }, { 205,-3929 }, - { 206,-3929 }, { 207,-3929 }, { 208,-3929 }, { 209,-3929 }, { 210,-3929 }, - { 211,-3929 }, { 212,-3929 }, { 213,-3929 }, { 214,-3929 }, { 215,-3929 }, - { 216,-3929 }, { 217,-3929 }, { 218,-3929 }, { 219,-3929 }, { 220,-3929 }, - { 221,-3929 }, { 222,-3929 }, { 223,-3929 }, { 224,-3929 }, { 225,-3929 }, - { 226,-3929 }, { 227,-3929 }, { 228,-3929 }, { 229,-3929 }, { 230,-3929 }, - - { 231,-3929 }, { 232,-3929 }, { 233,-3929 }, { 234,-3929 }, { 235,-3929 }, - { 236,-3929 }, { 237,-3929 }, { 238,-3929 }, { 239,-3929 }, { 240,-3929 }, - { 241,-3929 }, { 242,-3929 }, { 243,-3929 }, { 244,-3929 }, { 245,-3929 }, - { 246,-3929 }, { 247,-3929 }, { 248,-3929 }, { 249,-3929 }, { 250,-3929 }, - { 251,-3929 }, { 252,-3929 }, { 253,-3929 }, { 254,-3929 }, { 255,-3929 }, - { 256,-3929 }, { 0, 36 }, { 0,6646 }, { 1,3905 }, { 2,3905 }, - { 3,3905 }, { 4,3905 }, { 5,3905 }, { 6,3905 }, { 7,3905 }, - { 8,3905 }, { 9,3905 }, { 10,3905 }, { 11,3905 }, { 12,3905 }, - { 13,3905 }, { 14,3905 }, { 15,3905 }, { 16,3905 }, { 17,3905 }, - { 18,3905 }, { 19,3905 }, { 20,3905 }, { 21,3905 }, { 22,3905 }, - - { 23,3905 }, { 24,3905 }, { 25,3905 }, { 26,3905 }, { 27,3905 }, - { 28,3905 }, { 29,3905 }, { 30,3905 }, { 31,3905 }, { 32,3905 }, - { 33,3905 }, { 34,3905 }, { 35,3905 }, { 0, 0 }, { 37,3905 }, - { 38,3905 }, { 39,3905 }, { 40,3905 }, { 41,3905 }, { 42,3905 }, - { 43,3905 }, { 44,3905 }, { 45,3905 }, { 46,3905 }, { 47,3905 }, - { 48,3905 }, { 49,3905 }, { 50,3905 }, { 51,3905 }, { 52,3905 }, - { 53,3905 }, { 54,3905 }, { 55,3905 }, { 56,3905 }, { 57,3905 }, - { 58,3905 }, { 59,3905 }, { 60,3905 }, { 61,3905 }, { 62,3905 }, - { 63,3905 }, { 64,3905 }, { 65,3905 }, { 66,3905 }, { 67,3905 }, - { 68,3905 }, { 69,3905 }, { 70,3905 }, { 71,3905 }, { 72,3905 }, - - { 73,3905 }, { 74,3905 }, { 75,3905 }, { 76,3905 }, { 77,3905 }, - { 78,3905 }, { 79,3905 }, { 80,3905 }, { 81,3905 }, { 82,3905 }, - { 83,3905 }, { 84,3905 }, { 85,3905 }, { 86,3905 }, { 87,3905 }, - { 88,3905 }, { 89,3905 }, { 90,3905 }, { 91,3905 }, { 92,3905 }, - { 93,3905 }, { 94,3905 }, { 95,3905 }, { 96,3905 }, { 97,3905 }, - { 98,3905 }, { 99,3905 }, { 100,3905 }, { 101,3905 }, { 102,3905 }, - { 103,3905 }, { 104,3905 }, { 105,3905 }, { 106,3905 }, { 107,3905 }, - { 108,3905 }, { 109,3905 }, { 110,3905 }, { 111,3905 }, { 112,3905 }, - { 113,3905 }, { 114,3905 }, { 115,3905 }, { 116,3905 }, { 117,3905 }, - { 118,3905 }, { 119,3905 }, { 120,3905 }, { 121,3905 }, { 122,3905 }, - - { 123,3905 }, { 124,3905 }, { 125,3905 }, { 126,3905 }, { 127,3905 }, - { 128,3905 }, { 129,3905 }, { 130,3905 }, { 131,3905 }, { 132,3905 }, - { 133,3905 }, { 134,3905 }, { 135,3905 }, { 136,3905 }, { 137,3905 }, - { 138,3905 }, { 139,3905 }, { 140,3905 }, { 141,3905 }, { 142,3905 }, - { 143,3905 }, { 144,3905 }, { 145,3905 }, { 146,3905 }, { 147,3905 }, - { 148,3905 }, { 149,3905 }, { 150,3905 }, { 151,3905 }, { 152,3905 }, - { 153,3905 }, { 154,3905 }, { 155,3905 }, { 156,3905 }, { 157,3905 }, - { 158,3905 }, { 159,3905 }, { 160,3905 }, { 161,3905 }, { 162,3905 }, - { 163,3905 }, { 164,3905 }, { 165,3905 }, { 166,3905 }, { 167,3905 }, - { 168,3905 }, { 169,3905 }, { 170,3905 }, { 171,3905 }, { 172,3905 }, - - { 173,3905 }, { 174,3905 }, { 175,3905 }, { 176,3905 }, { 177,3905 }, - { 178,3905 }, { 179,3905 }, { 180,3905 }, { 181,3905 }, { 182,3905 }, - { 183,3905 }, { 184,3905 }, { 185,3905 }, { 186,3905 }, { 187,3905 }, - { 188,3905 }, { 189,3905 }, { 190,3905 }, { 191,3905 }, { 192,3905 }, - { 193,3905 }, { 194,3905 }, { 195,3905 }, { 196,3905 }, { 197,3905 }, - { 198,3905 }, { 199,3905 }, { 200,3905 }, { 201,3905 }, { 202,3905 }, - { 203,3905 }, { 204,3905 }, { 205,3905 }, { 206,3905 }, { 207,3905 }, - { 208,3905 }, { 209,3905 }, { 210,3905 }, { 211,3905 }, { 212,3905 }, - { 213,3905 }, { 214,3905 }, { 215,3905 }, { 216,3905 }, { 217,3905 }, - { 218,3905 }, { 219,3905 }, { 220,3905 }, { 221,3905 }, { 222,3905 }, - - { 223,3905 }, { 224,3905 }, { 225,3905 }, { 226,3905 }, { 227,3905 }, - { 228,3905 }, { 229,3905 }, { 230,3905 }, { 231,3905 }, { 232,3905 }, - { 233,3905 }, { 234,3905 }, { 235,3905 }, { 236,3905 }, { 237,3905 }, - { 238,3905 }, { 239,3905 }, { 240,3905 }, { 241,3905 }, { 242,3905 }, - { 243,3905 }, { 244,3905 }, { 245,3905 }, { 246,3905 }, { 247,3905 }, - { 248,3905 }, { 249,3905 }, { 250,3905 }, { 251,3905 }, { 252,3905 }, - { 253,3905 }, { 254,3905 }, { 255,3905 }, { 256,3905 }, { 0, 36 }, - { 0,6388 }, { 1,3647 }, { 2,3647 }, { 3,3647 }, { 4,3647 }, - { 5,3647 }, { 6,3647 }, { 7,3647 }, { 8,3647 }, { 9,3647 }, - { 10,3647 }, { 11,3647 }, { 12,3647 }, { 13,3647 }, { 14,3647 }, - - { 15,3647 }, { 16,3647 }, { 17,3647 }, { 18,3647 }, { 19,3647 }, - { 20,3647 }, { 21,3647 }, { 22,3647 }, { 23,3647 }, { 24,3647 }, - { 25,3647 }, { 26,3647 }, { 27,3647 }, { 28,3647 }, { 29,3647 }, - { 30,3647 }, { 31,3647 }, { 32,3647 }, { 33,3647 }, { 34,3647 }, - { 35,3647 }, { 0, 0 }, { 37,3647 }, { 38,3647 }, { 39,3647 }, - { 40,3647 }, { 41,3647 }, { 42,3647 }, { 43,3647 }, { 44,3647 }, - { 45,3647 }, { 46,3647 }, { 47,3647 }, { 48,3647 }, { 49,3647 }, - { 50,3647 }, { 51,3647 }, { 52,3647 }, { 53,3647 }, { 54,3647 }, - { 55,3647 }, { 56,3647 }, { 57,3647 }, { 58,3647 }, { 59,3647 }, - { 60,3647 }, { 61,3647 }, { 62,3647 }, { 63,3647 }, { 64,3647 }, - - { 65,3647 }, { 66,3647 }, { 67,3647 }, { 68,3647 }, { 69,3647 }, - { 70,3647 }, { 71,3647 }, { 72,3647 }, { 73,3647 }, { 74,3647 }, - { 75,3647 }, { 76,3647 }, { 77,3647 }, { 78,3647 }, { 79,3647 }, - { 80,3647 }, { 81,3647 }, { 82,3647 }, { 83,3647 }, { 84,3647 }, - { 85,3647 }, { 86,3647 }, { 87,3647 }, { 88,3647 }, { 89,3647 }, - { 90,3647 }, { 91,3647 }, { 92,3647 }, { 93,3647 }, { 94,3647 }, - { 95,3647 }, { 96,3647 }, { 97,3647 }, { 98,3647 }, { 99,3647 }, - { 100,3647 }, { 101,3647 }, { 102,3647 }, { 103,3647 }, { 104,3647 }, - { 105,3647 }, { 106,3647 }, { 107,3647 }, { 108,3647 }, { 109,3647 }, - { 110,3647 }, { 111,3647 }, { 112,3647 }, { 113,3647 }, { 114,3647 }, - - { 115,3647 }, { 116,3647 }, { 117,3647 }, { 118,3647 }, { 119,3647 }, - { 120,3647 }, { 121,3647 }, { 122,3647 }, { 123,3647 }, { 124,3647 }, - { 125,3647 }, { 126,3647 }, { 127,3647 }, { 128,3647 }, { 129,3647 }, - { 130,3647 }, { 131,3647 }, { 132,3647 }, { 133,3647 }, { 134,3647 }, - { 135,3647 }, { 136,3647 }, { 137,3647 }, { 138,3647 }, { 139,3647 }, - { 140,3647 }, { 141,3647 }, { 142,3647 }, { 143,3647 }, { 144,3647 }, - { 145,3647 }, { 146,3647 }, { 147,3647 }, { 148,3647 }, { 149,3647 }, - { 150,3647 }, { 151,3647 }, { 152,3647 }, { 153,3647 }, { 154,3647 }, - { 155,3647 }, { 156,3647 }, { 157,3647 }, { 158,3647 }, { 159,3647 }, - { 160,3647 }, { 161,3647 }, { 162,3647 }, { 163,3647 }, { 164,3647 }, - - { 165,3647 }, { 166,3647 }, { 167,3647 }, { 168,3647 }, { 169,3647 }, - { 170,3647 }, { 171,3647 }, { 172,3647 }, { 173,3647 }, { 174,3647 }, - { 175,3647 }, { 176,3647 }, { 177,3647 }, { 178,3647 }, { 179,3647 }, - { 180,3647 }, { 181,3647 }, { 182,3647 }, { 183,3647 }, { 184,3647 }, - { 185,3647 }, { 186,3647 }, { 187,3647 }, { 188,3647 }, { 189,3647 }, - { 190,3647 }, { 191,3647 }, { 192,3647 }, { 193,3647 }, { 194,3647 }, - { 195,3647 }, { 196,3647 }, { 197,3647 }, { 198,3647 }, { 199,3647 }, - { 200,3647 }, { 201,3647 }, { 202,3647 }, { 203,3647 }, { 204,3647 }, - { 205,3647 }, { 206,3647 }, { 207,3647 }, { 208,3647 }, { 209,3647 }, - { 210,3647 }, { 211,3647 }, { 212,3647 }, { 213,3647 }, { 214,3647 }, - - { 215,3647 }, { 216,3647 }, { 217,3647 }, { 218,3647 }, { 219,3647 }, - { 220,3647 }, { 221,3647 }, { 222,3647 }, { 223,3647 }, { 224,3647 }, - { 225,3647 }, { 226,3647 }, { 227,3647 }, { 228,3647 }, { 229,3647 }, - { 230,3647 }, { 231,3647 }, { 232,3647 }, { 233,3647 }, { 234,3647 }, - { 235,3647 }, { 236,3647 }, { 237,3647 }, { 238,3647 }, { 239,3647 }, - { 240,3647 }, { 241,3647 }, { 242,3647 }, { 243,3647 }, { 244,3647 }, - { 245,3647 }, { 246,3647 }, { 247,3647 }, { 248,3647 }, { 249,3647 }, - { 250,3647 }, { 251,3647 }, { 252,3647 }, { 253,3647 }, { 254,3647 }, - { 255,3647 }, { 256,3647 }, { 0, 38 }, { 0,6130 }, { 0, 1 }, - { 0,6128 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, - { 10, 0 }, { 0, 0 }, { 12, 0 }, { 13, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, { 36,-4701 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3647 }, { 66,3647 }, - { 67,3647 }, { 68,3647 }, { 69,3647 }, { 70,3647 }, { 71,3647 }, - { 72,3647 }, { 73,3647 }, { 74,3647 }, { 75,3647 }, { 76,3647 }, - { 77,3647 }, { 78,3647 }, { 79,3647 }, { 80,3647 }, { 81,3647 }, - { 82,3647 }, { 83,3647 }, { 84,3647 }, { 85,3647 }, { 86,3647 }, - { 87,3647 }, { 88,3647 }, { 89,3647 }, { 90,3647 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3647 }, { 0, 0 }, - { 97,3647 }, { 98,3647 }, { 99,3647 }, { 100,3647 }, { 101,3647 }, - { 102,3647 }, { 103,3647 }, { 104,3647 }, { 105,3647 }, { 106,3647 }, - - { 107,3647 }, { 108,3647 }, { 109,3647 }, { 110,3647 }, { 111,3647 }, - { 112,3647 }, { 113,3647 }, { 114,3647 }, { 115,3647 }, { 116,3647 }, - { 117,3647 }, { 118,3647 }, { 119,3647 }, { 120,3647 }, { 121,3647 }, - { 122,3647 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128,3647 }, { 129,3647 }, { 130,3647 }, { 131,3647 }, - { 132,3647 }, { 133,3647 }, { 134,3647 }, { 135,3647 }, { 136,3647 }, - { 137,3647 }, { 138,3647 }, { 139,3647 }, { 140,3647 }, { 141,3647 }, - { 142,3647 }, { 143,3647 }, { 144,3647 }, { 145,3647 }, { 146,3647 }, - { 147,3647 }, { 148,3647 }, { 149,3647 }, { 150,3647 }, { 151,3647 }, - { 152,3647 }, { 153,3647 }, { 154,3647 }, { 155,3647 }, { 156,3647 }, - - { 157,3647 }, { 158,3647 }, { 159,3647 }, { 160,3647 }, { 161,3647 }, - { 162,3647 }, { 163,3647 }, { 164,3647 }, { 165,3647 }, { 166,3647 }, - { 167,3647 }, { 168,3647 }, { 169,3647 }, { 170,3647 }, { 171,3647 }, - { 172,3647 }, { 173,3647 }, { 174,3647 }, { 175,3647 }, { 176,3647 }, - { 177,3647 }, { 178,3647 }, { 179,3647 }, { 180,3647 }, { 181,3647 }, - { 182,3647 }, { 183,3647 }, { 184,3647 }, { 185,3647 }, { 186,3647 }, - { 187,3647 }, { 188,3647 }, { 189,3647 }, { 190,3647 }, { 191,3647 }, - { 192,3647 }, { 193,3647 }, { 194,3647 }, { 195,3647 }, { 196,3647 }, - { 197,3647 }, { 198,3647 }, { 199,3647 }, { 200,3647 }, { 201,3647 }, - { 202,3647 }, { 203,3647 }, { 204,3647 }, { 205,3647 }, { 206,3647 }, - - { 207,3647 }, { 208,3647 }, { 209,3647 }, { 210,3647 }, { 211,3647 }, - { 212,3647 }, { 213,3647 }, { 214,3647 }, { 215,3647 }, { 216,3647 }, - { 217,3647 }, { 218,3647 }, { 219,3647 }, { 220,3647 }, { 221,3647 }, - { 222,3647 }, { 223,3647 }, { 224,3647 }, { 225,3647 }, { 226,3647 }, - { 227,3647 }, { 228,3647 }, { 229,3647 }, { 230,3647 }, { 231,3647 }, - { 232,3647 }, { 233,3647 }, { 234,3647 }, { 235,3647 }, { 236,3647 }, - { 237,3647 }, { 238,3647 }, { 239,3647 }, { 240,3647 }, { 241,3647 }, - { 242,3647 }, { 243,3647 }, { 244,3647 }, { 245,3647 }, { 246,3647 }, - { 247,3647 }, { 248,3647 }, { 249,3647 }, { 250,3647 }, { 251,3647 }, - { 252,3647 }, { 253,3647 }, { 254,3647 }, { 255,3647 }, { 0, 55 }, - - { 0,5873 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 53 }, { 0,5862 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 56 }, { 0,5845 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33, 0 }, { 0, 0 }, - { 35, 0 }, { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42, 0 }, { 43, 0 }, { 33, -11 }, - { 45, 0 }, { 35, -11 }, { 47, 0 }, { 37, -11 }, { 38, -11 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, -11 }, { 43, -11 }, - { 0, 0 }, { 45, -11 }, { 0, 0 }, { 47, -11 }, { 0, 0 }, - { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 60, -11 }, { 61, -11 }, { 62, -11 }, { 63, -11 }, - { 64, -11 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 34 }, { 0,5782 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, - { 0, 0 }, { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94, -11 }, { 0, 0 }, { 96, -11 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, - { 0, 0 }, { 126, 0 }, { 36,-5323 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 124, -11 }, { 0, 0 }, { 126, -11 }, { 0, 0 }, { 48,3638 }, - { 49,3638 }, { 50,3638 }, { 51,3638 }, { 52,3638 }, { 53,3638 }, - { 54,3638 }, { 55,3638 }, { 56,3638 }, { 57,3638 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65,3638 }, { 66,3638 }, { 67,3638 }, { 68,3638 }, - { 69,3638 }, { 70,3638 }, { 71,3638 }, { 72,3638 }, { 73,3638 }, - { 74,3638 }, { 75,3638 }, { 76,3638 }, { 77,3638 }, { 78,3638 }, - { 79,3638 }, { 80,3638 }, { 81,3638 }, { 82,3638 }, { 83,3638 }, - { 84,3638 }, { 85,3638 }, { 86,3638 }, { 87,3638 }, { 88,3638 }, - { 89,3638 }, { 90,3638 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 95,3638 }, { 0, 0 }, { 97,3638 }, { 98,3638 }, - { 99,3638 }, { 100,3638 }, { 101,3638 }, { 102,3638 }, { 103,3638 }, - { 104,3638 }, { 105,3638 }, { 106,3638 }, { 107,3638 }, { 108,3638 }, - - { 109,3638 }, { 110,3638 }, { 111,3638 }, { 112,3638 }, { 113,3638 }, - { 114,3638 }, { 115,3638 }, { 116,3638 }, { 117,3638 }, { 118,3638 }, - { 119,3638 }, { 120,3638 }, { 121,3638 }, { 122,3638 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3638 }, - { 129,3638 }, { 130,3638 }, { 131,3638 }, { 132,3638 }, { 133,3638 }, - { 134,3638 }, { 135,3638 }, { 136,3638 }, { 137,3638 }, { 138,3638 }, - { 139,3638 }, { 140,3638 }, { 141,3638 }, { 142,3638 }, { 143,3638 }, - { 144,3638 }, { 145,3638 }, { 146,3638 }, { 147,3638 }, { 148,3638 }, - { 149,3638 }, { 150,3638 }, { 151,3638 }, { 152,3638 }, { 153,3638 }, - { 154,3638 }, { 155,3638 }, { 156,3638 }, { 157,3638 }, { 158,3638 }, - - { 159,3638 }, { 160,3638 }, { 161,3638 }, { 162,3638 }, { 163,3638 }, - { 164,3638 }, { 165,3638 }, { 166,3638 }, { 167,3638 }, { 168,3638 }, - { 169,3638 }, { 170,3638 }, { 171,3638 }, { 172,3638 }, { 173,3638 }, - { 174,3638 }, { 175,3638 }, { 176,3638 }, { 177,3638 }, { 178,3638 }, - { 179,3638 }, { 180,3638 }, { 181,3638 }, { 182,3638 }, { 183,3638 }, - { 184,3638 }, { 185,3638 }, { 186,3638 }, { 187,3638 }, { 188,3638 }, - { 189,3638 }, { 190,3638 }, { 191,3638 }, { 192,3638 }, { 193,3638 }, - { 194,3638 }, { 195,3638 }, { 196,3638 }, { 197,3638 }, { 198,3638 }, - { 199,3638 }, { 200,3638 }, { 201,3638 }, { 202,3638 }, { 203,3638 }, - { 204,3638 }, { 205,3638 }, { 206,3638 }, { 207,3638 }, { 208,3638 }, - - { 209,3638 }, { 210,3638 }, { 211,3638 }, { 212,3638 }, { 213,3638 }, - { 214,3638 }, { 215,3638 }, { 216,3638 }, { 217,3638 }, { 218,3638 }, - { 219,3638 }, { 220,3638 }, { 221,3638 }, { 222,3638 }, { 223,3638 }, - { 224,3638 }, { 225,3638 }, { 226,3638 }, { 227,3638 }, { 228,3638 }, - { 229,3638 }, { 230,3638 }, { 231,3638 }, { 232,3638 }, { 233,3638 }, - { 234,3638 }, { 235,3638 }, { 236,3638 }, { 237,3638 }, { 238,3638 }, - { 239,3638 }, { 240,3638 }, { 241,3638 }, { 242,3638 }, { 243,3638 }, - { 244,3638 }, { 245,3638 }, { 246,3638 }, { 247,3638 }, { 248,3638 }, - { 249,3638 }, { 250,3638 }, { 251,3638 }, { 252,3638 }, { 253,3638 }, - { 254,3638 }, { 255,3638 }, { 0, 2 }, { 0,5525 }, { 1,3638 }, - - { 2,3638 }, { 3,3638 }, { 4,3638 }, { 5,3638 }, { 6,3638 }, - { 7,3638 }, { 8,3638 }, { 9,3638 }, { 0, 0 }, { 11,3638 }, - { 12,3638 }, { 0, 0 }, { 14,3638 }, { 15,3638 }, { 16,3638 }, - { 17,3638 }, { 18,3638 }, { 19,3638 }, { 20,3638 }, { 21,3638 }, - { 22,3638 }, { 23,3638 }, { 24,3638 }, { 25,3638 }, { 26,3638 }, - { 27,3638 }, { 28,3638 }, { 29,3638 }, { 30,3638 }, { 31,3638 }, - { 32,3638 }, { 33,3896 }, { 34,3638 }, { 35,3896 }, { 36,3638 }, - { 37,3896 }, { 38,3896 }, { 39,3638 }, { 40,3638 }, { 41,3638 }, - { 42,3896 }, { 43,3896 }, { 44,3638 }, { 45,3896 }, { 46,3638 }, - { 47,3896 }, { 48,3638 }, { 49,3638 }, { 50,3638 }, { 51,3638 }, - - { 52,3638 }, { 53,3638 }, { 54,3638 }, { 55,3638 }, { 56,3638 }, - { 57,3638 }, { 58,3638 }, { 59,3638 }, { 60,3896 }, { 61,3896 }, - { 62,3896 }, { 63,3896 }, { 64,3896 }, { 65,3638 }, { 66,3638 }, - { 67,3638 }, { 68,3638 }, { 69,3638 }, { 70,3638 }, { 71,3638 }, - { 72,3638 }, { 73,3638 }, { 74,3638 }, { 75,3638 }, { 76,3638 }, - { 77,3638 }, { 78,3638 }, { 79,3638 }, { 80,3638 }, { 81,3638 }, - { 82,3638 }, { 83,3638 }, { 84,3638 }, { 85,3638 }, { 86,3638 }, - { 87,3638 }, { 88,3638 }, { 89,3638 }, { 90,3638 }, { 91,3638 }, - { 92,3638 }, { 93,3638 }, { 94,3896 }, { 95,3638 }, { 96,3896 }, - { 97,3638 }, { 98,3638 }, { 99,3638 }, { 100,3638 }, { 101,3638 }, - - { 102,3638 }, { 103,3638 }, { 104,3638 }, { 105,3638 }, { 106,3638 }, - { 107,3638 }, { 108,3638 }, { 109,3638 }, { 110,3638 }, { 111,3638 }, - { 112,3638 }, { 113,3638 }, { 114,3638 }, { 115,3638 }, { 116,3638 }, - { 117,3638 }, { 118,3638 }, { 119,3638 }, { 120,3638 }, { 121,3638 }, - { 122,3638 }, { 123,3638 }, { 124,3896 }, { 125,3638 }, { 126,3896 }, - { 127,3638 }, { 128,3638 }, { 129,3638 }, { 130,3638 }, { 131,3638 }, - { 132,3638 }, { 133,3638 }, { 134,3638 }, { 135,3638 }, { 136,3638 }, - { 137,3638 }, { 138,3638 }, { 139,3638 }, { 140,3638 }, { 141,3638 }, - { 142,3638 }, { 143,3638 }, { 144,3638 }, { 145,3638 }, { 146,3638 }, - { 147,3638 }, { 148,3638 }, { 149,3638 }, { 150,3638 }, { 151,3638 }, - - { 152,3638 }, { 153,3638 }, { 154,3638 }, { 155,3638 }, { 156,3638 }, - { 157,3638 }, { 158,3638 }, { 159,3638 }, { 160,3638 }, { 161,3638 }, - { 162,3638 }, { 163,3638 }, { 164,3638 }, { 165,3638 }, { 166,3638 }, - { 167,3638 }, { 168,3638 }, { 169,3638 }, { 170,3638 }, { 171,3638 }, - { 172,3638 }, { 173,3638 }, { 174,3638 }, { 175,3638 }, { 176,3638 }, - { 177,3638 }, { 178,3638 }, { 179,3638 }, { 180,3638 }, { 181,3638 }, - { 182,3638 }, { 183,3638 }, { 184,3638 }, { 185,3638 }, { 186,3638 }, - { 187,3638 }, { 188,3638 }, { 189,3638 }, { 190,3638 }, { 191,3638 }, - { 192,3638 }, { 193,3638 }, { 194,3638 }, { 195,3638 }, { 196,3638 }, - { 197,3638 }, { 198,3638 }, { 199,3638 }, { 200,3638 }, { 201,3638 }, - - { 202,3638 }, { 203,3638 }, { 204,3638 }, { 205,3638 }, { 206,3638 }, - { 207,3638 }, { 208,3638 }, { 209,3638 }, { 210,3638 }, { 211,3638 }, - { 212,3638 }, { 213,3638 }, { 214,3638 }, { 215,3638 }, { 216,3638 }, - { 217,3638 }, { 218,3638 }, { 219,3638 }, { 220,3638 }, { 221,3638 }, - { 222,3638 }, { 223,3638 }, { 224,3638 }, { 225,3638 }, { 226,3638 }, - { 227,3638 }, { 228,3638 }, { 229,3638 }, { 230,3638 }, { 231,3638 }, - { 232,3638 }, { 233,3638 }, { 234,3638 }, { 235,3638 }, { 236,3638 }, - { 237,3638 }, { 238,3638 }, { 239,3638 }, { 240,3638 }, { 241,3638 }, - { 242,3638 }, { 243,3638 }, { 244,3638 }, { 245,3638 }, { 246,3638 }, - { 247,3638 }, { 248,3638 }, { 249,3638 }, { 250,3638 }, { 251,3638 }, - - { 252,3638 }, { 253,3638 }, { 254,3638 }, { 255,3638 }, { 256,3638 }, - { 0, 58 }, { 0,5267 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 3 }, { 0,5242 }, { 0, 58 }, { 0,5240 }, { 0, 0 }, + { 205,7077 }, { 206,7077 }, { 207,7077 }, { 208,7077 }, { 209,7077 }, + { 210,7077 }, { 211,7077 }, { 212,7077 }, { 213,7077 }, { 214,7077 }, + { 215,7077 }, { 216,7077 }, { 217,7077 }, { 218,7077 }, { 219,7077 }, + { 220,7077 }, { 221,7077 }, { 222,7077 }, { 223,7077 }, { 224,7077 }, + { 225,7077 }, { 226,7077 }, { 227,7077 }, { 228,7077 }, { 229,7077 }, + { 230,7077 }, { 231,7077 }, { 232,7077 }, { 233,7077 }, { 234,7077 }, + { 235,7077 }, { 236,7077 }, { 237,7077 }, { 238,7077 }, { 239,7077 }, + { 240,7077 }, { 241,7077 }, { 242,7077 }, { 243,7077 }, { 244,7077 }, + { 245,7077 }, { 246,7077 }, { 247,7077 }, { 248,7077 }, { 249,7077 }, + { 250,7077 }, { 251,7077 }, { 252,7077 }, { 253,7077 }, { 254,7077 }, + + { 255,7077 }, { 0, 71 }, { 0,25070 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,6820 }, { 0, 0 }, + { 38,-1783 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 48,6820 }, { 49,6820 }, { 50,6820 }, { 51,6820 }, { 52,6820 }, + { 53,6820 }, { 54,6820 }, { 55,6820 }, { 56,6820 }, { 57,6820 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,6820 }, { 66,6820 }, { 67,6820 }, + { 68,6820 }, { 69,6820 }, { 70,6820 }, { 71,6820 }, { 72,6820 }, + { 73,6820 }, { 74,6820 }, { 75,6820 }, { 76,6820 }, { 77,6820 }, + { 78,6820 }, { 79,6820 }, { 80,6820 }, { 81,6820 }, { 82,6820 }, + { 83,6820 }, { 84,6820 }, { 85,6820 }, { 86,6820 }, { 87,6820 }, + { 88,6820 }, { 89,6820 }, { 90,6820 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,6820 }, { 0, 0 }, { 97,6820 }, + + { 98,6820 }, { 99,6820 }, { 100,6820 }, { 101,6820 }, { 102,6820 }, + { 103,6820 }, { 104,6820 }, { 105,6820 }, { 106,6820 }, { 107,6820 }, + { 108,6820 }, { 109,6820 }, { 110,6820 }, { 111,6820 }, { 112,6820 }, + { 113,6820 }, { 114,6820 }, { 115,6820 }, { 116,6820 }, { 117,6820 }, + { 118,6820 }, { 119,6820 }, { 120,6820 }, { 121,6820 }, { 122,6820 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6820 }, { 129,6820 }, { 130,6820 }, { 131,6820 }, { 132,6820 }, + { 133,6820 }, { 134,6820 }, { 135,6820 }, { 136,6820 }, { 137,6820 }, + { 138,6820 }, { 139,6820 }, { 140,6820 }, { 141,6820 }, { 142,6820 }, + { 143,6820 }, { 144,6820 }, { 145,6820 }, { 146,6820 }, { 147,6820 }, + + { 148,6820 }, { 149,6820 }, { 150,6820 }, { 151,6820 }, { 152,6820 }, + { 153,6820 }, { 154,6820 }, { 155,6820 }, { 156,6820 }, { 157,6820 }, + { 158,6820 }, { 159,6820 }, { 160,6820 }, { 161,6820 }, { 162,6820 }, + { 163,6820 }, { 164,6820 }, { 165,6820 }, { 166,6820 }, { 167,6820 }, + { 168,6820 }, { 169,6820 }, { 170,6820 }, { 171,6820 }, { 172,6820 }, + { 173,6820 }, { 174,6820 }, { 175,6820 }, { 176,6820 }, { 177,6820 }, + { 178,6820 }, { 179,6820 }, { 180,6820 }, { 181,6820 }, { 182,6820 }, + { 183,6820 }, { 184,6820 }, { 185,6820 }, { 186,6820 }, { 187,6820 }, + { 188,6820 }, { 189,6820 }, { 190,6820 }, { 191,6820 }, { 192,6820 }, + { 193,6820 }, { 194,6820 }, { 195,6820 }, { 196,6820 }, { 197,6820 }, + + { 198,6820 }, { 199,6820 }, { 200,6820 }, { 201,6820 }, { 202,6820 }, + { 203,6820 }, { 204,6820 }, { 205,6820 }, { 206,6820 }, { 207,6820 }, + { 208,6820 }, { 209,6820 }, { 210,6820 }, { 211,6820 }, { 212,6820 }, + { 213,6820 }, { 214,6820 }, { 215,6820 }, { 216,6820 }, { 217,6820 }, + { 218,6820 }, { 219,6820 }, { 220,6820 }, { 221,6820 }, { 222,6820 }, + { 223,6820 }, { 224,6820 }, { 225,6820 }, { 226,6820 }, { 227,6820 }, + { 228,6820 }, { 229,6820 }, { 230,6820 }, { 231,6820 }, { 232,6820 }, + { 233,6820 }, { 234,6820 }, { 235,6820 }, { 236,6820 }, { 237,6820 }, + { 238,6820 }, { 239,6820 }, { 240,6820 }, { 241,6820 }, { 242,6820 }, + { 243,6820 }, { 244,6820 }, { 245,6820 }, { 246,6820 }, { 247,6820 }, + + { 248,6820 }, { 249,6820 }, { 250,6820 }, { 251,6820 }, { 252,6820 }, + { 253,6820 }, { 254,6820 }, { 255,6820 }, { 0, 71 }, { 0,24813 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,6563 }, { 0, 0 }, { 0, 0 }, { 39,-2038 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,6563 }, { 49,6563 }, { 50,6563 }, + { 51,6563 }, { 52,6563 }, { 53,6563 }, { 54,6563 }, { 55,6563 }, + { 56,6563 }, { 57,6563 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6563 }, + { 66,6563 }, { 67,6563 }, { 68,6563 }, { 69,6563 }, { 70,6563 }, + { 71,6563 }, { 72,6563 }, { 73,6563 }, { 74,6563 }, { 75,6563 }, + { 76,6563 }, { 77,6563 }, { 78,6563 }, { 79,6563 }, { 80,6563 }, + { 81,6563 }, { 82,6563 }, { 83,6563 }, { 84,6563 }, { 85,6563 }, + { 86,6563 }, { 87,6563 }, { 88,6563 }, { 89,6563 }, { 90,6563 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6563 }, + { 0, 0 }, { 97,6563 }, { 98,6563 }, { 99,6563 }, { 100,6563 }, + { 101,6563 }, { 102,6563 }, { 103,6563 }, { 104,6563 }, { 105,6563 }, + { 106,6563 }, { 107,6563 }, { 108,6563 }, { 109,6563 }, { 110,6563 }, + { 111,6563 }, { 112,6563 }, { 113,6563 }, { 114,6563 }, { 115,6563 }, + { 116,6563 }, { 117,6563 }, { 118,6563 }, { 119,6563 }, { 120,6563 }, + { 121,6563 }, { 122,6563 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,6563 }, { 129,6563 }, { 130,6563 }, + { 131,6563 }, { 132,6563 }, { 133,6563 }, { 134,6563 }, { 135,6563 }, + { 136,6563 }, { 137,6563 }, { 138,6563 }, { 139,6563 }, { 140,6563 }, + + { 141,6563 }, { 142,6563 }, { 143,6563 }, { 144,6563 }, { 145,6563 }, + { 146,6563 }, { 147,6563 }, { 148,6563 }, { 149,6563 }, { 150,6563 }, + { 151,6563 }, { 152,6563 }, { 153,6563 }, { 154,6563 }, { 155,6563 }, + { 156,6563 }, { 157,6563 }, { 158,6563 }, { 159,6563 }, { 160,6563 }, + { 161,6563 }, { 162,6563 }, { 163,6563 }, { 164,6563 }, { 165,6563 }, + { 166,6563 }, { 167,6563 }, { 168,6563 }, { 169,6563 }, { 170,6563 }, + { 171,6563 }, { 172,6563 }, { 173,6563 }, { 174,6563 }, { 175,6563 }, + { 176,6563 }, { 177,6563 }, { 178,6563 }, { 179,6563 }, { 180,6563 }, + { 181,6563 }, { 182,6563 }, { 183,6563 }, { 184,6563 }, { 185,6563 }, + { 186,6563 }, { 187,6563 }, { 188,6563 }, { 189,6563 }, { 190,6563 }, + + { 191,6563 }, { 192,6563 }, { 193,6563 }, { 194,6563 }, { 195,6563 }, + { 196,6563 }, { 197,6563 }, { 198,6563 }, { 199,6563 }, { 200,6563 }, + { 201,6563 }, { 202,6563 }, { 203,6563 }, { 204,6563 }, { 205,6563 }, + { 206,6563 }, { 207,6563 }, { 208,6563 }, { 209,6563 }, { 210,6563 }, + { 211,6563 }, { 212,6563 }, { 213,6563 }, { 214,6563 }, { 215,6563 }, + { 216,6563 }, { 217,6563 }, { 218,6563 }, { 219,6563 }, { 220,6563 }, + { 221,6563 }, { 222,6563 }, { 223,6563 }, { 224,6563 }, { 225,6563 }, + { 226,6563 }, { 227,6563 }, { 228,6563 }, { 229,6563 }, { 230,6563 }, + { 231,6563 }, { 232,6563 }, { 233,6563 }, { 234,6563 }, { 235,6563 }, + { 236,6563 }, { 237,6563 }, { 238,6563 }, { 239,6563 }, { 240,6563 }, + + { 241,6563 }, { 242,6563 }, { 243,6563 }, { 244,6563 }, { 245,6563 }, + { 246,6563 }, { 247,6563 }, { 248,6563 }, { 249,6563 }, { 250,6563 }, + { 251,6563 }, { 252,6563 }, { 253,6563 }, { 254,6563 }, { 255,6563 }, + { 0, 11 }, { 0,24556 }, { 1,6563 }, { 2,6563 }, { 3,6563 }, + { 4,6563 }, { 5,6563 }, { 6,6563 }, { 7,6563 }, { 8,6563 }, + { 9,6563 }, { 10,6563 }, { 11,6563 }, { 12,6563 }, { 13,6563 }, + { 14,6563 }, { 15,6563 }, { 16,6563 }, { 17,6563 }, { 18,6563 }, + { 19,6563 }, { 20,6563 }, { 21,6563 }, { 22,6563 }, { 23,6563 }, + { 24,6563 }, { 25,6563 }, { 26,6563 }, { 27,6563 }, { 28,6563 }, + { 29,6563 }, { 30,6563 }, { 31,6563 }, { 32,6563 }, { 33,6563 }, + + { 34,6563 }, { 35,6563 }, { 36,6563 }, { 37,6563 }, { 38,6563 }, + { 0, 0 }, { 40,6563 }, { 41,6563 }, { 42,6563 }, { 43,6563 }, + { 44,6563 }, { 45,6563 }, { 46,6563 }, { 47,6563 }, { 48,6563 }, + { 49,6563 }, { 50,6563 }, { 51,6563 }, { 52,6563 }, { 53,6563 }, + { 54,6563 }, { 55,6563 }, { 56,6563 }, { 57,6563 }, { 58,6563 }, + { 59,6563 }, { 60,6563 }, { 61,6563 }, { 62,6563 }, { 63,6563 }, + { 64,6563 }, { 65,6563 }, { 66,6563 }, { 67,6563 }, { 68,6563 }, + { 69,6563 }, { 70,6563 }, { 71,6563 }, { 72,6563 }, { 73,6563 }, + { 74,6563 }, { 75,6563 }, { 76,6563 }, { 77,6563 }, { 78,6563 }, + { 79,6563 }, { 80,6563 }, { 81,6563 }, { 82,6563 }, { 83,6563 }, + + { 84,6563 }, { 85,6563 }, { 86,6563 }, { 87,6563 }, { 88,6563 }, + { 89,6563 }, { 90,6563 }, { 91,6563 }, { 92,6563 }, { 93,6563 }, + { 94,6563 }, { 95,6563 }, { 96,6563 }, { 97,6563 }, { 98,6563 }, + { 99,6563 }, { 100,6563 }, { 101,6563 }, { 102,6563 }, { 103,6563 }, + { 104,6563 }, { 105,6563 }, { 106,6563 }, { 107,6563 }, { 108,6563 }, + { 109,6563 }, { 110,6563 }, { 111,6563 }, { 112,6563 }, { 113,6563 }, + { 114,6563 }, { 115,6563 }, { 116,6563 }, { 117,6563 }, { 118,6563 }, + { 119,6563 }, { 120,6563 }, { 121,6563 }, { 122,6563 }, { 123,6563 }, + { 124,6563 }, { 125,6563 }, { 126,6563 }, { 127,6563 }, { 128,6563 }, + { 129,6563 }, { 130,6563 }, { 131,6563 }, { 132,6563 }, { 133,6563 }, + + { 134,6563 }, { 135,6563 }, { 136,6563 }, { 137,6563 }, { 138,6563 }, + { 139,6563 }, { 140,6563 }, { 141,6563 }, { 142,6563 }, { 143,6563 }, + { 144,6563 }, { 145,6563 }, { 146,6563 }, { 147,6563 }, { 148,6563 }, + { 149,6563 }, { 150,6563 }, { 151,6563 }, { 152,6563 }, { 153,6563 }, + { 154,6563 }, { 155,6563 }, { 156,6563 }, { 157,6563 }, { 158,6563 }, + { 159,6563 }, { 160,6563 }, { 161,6563 }, { 162,6563 }, { 163,6563 }, + { 164,6563 }, { 165,6563 }, { 166,6563 }, { 167,6563 }, { 168,6563 }, + { 169,6563 }, { 170,6563 }, { 171,6563 }, { 172,6563 }, { 173,6563 }, + { 174,6563 }, { 175,6563 }, { 176,6563 }, { 177,6563 }, { 178,6563 }, + { 179,6563 }, { 180,6563 }, { 181,6563 }, { 182,6563 }, { 183,6563 }, + + { 184,6563 }, { 185,6563 }, { 186,6563 }, { 187,6563 }, { 188,6563 }, + { 189,6563 }, { 190,6563 }, { 191,6563 }, { 192,6563 }, { 193,6563 }, + { 194,6563 }, { 195,6563 }, { 196,6563 }, { 197,6563 }, { 198,6563 }, + { 199,6563 }, { 200,6563 }, { 201,6563 }, { 202,6563 }, { 203,6563 }, + { 204,6563 }, { 205,6563 }, { 206,6563 }, { 207,6563 }, { 208,6563 }, + { 209,6563 }, { 210,6563 }, { 211,6563 }, { 212,6563 }, { 213,6563 }, + { 214,6563 }, { 215,6563 }, { 216,6563 }, { 217,6563 }, { 218,6563 }, + { 219,6563 }, { 220,6563 }, { 221,6563 }, { 222,6563 }, { 223,6563 }, + { 224,6563 }, { 225,6563 }, { 226,6563 }, { 227,6563 }, { 228,6563 }, + { 229,6563 }, { 230,6563 }, { 231,6563 }, { 232,6563 }, { 233,6563 }, + + { 234,6563 }, { 235,6563 }, { 236,6563 }, { 237,6563 }, { 238,6563 }, + { 239,6563 }, { 240,6563 }, { 241,6563 }, { 242,6563 }, { 243,6563 }, + { 244,6563 }, { 245,6563 }, { 246,6563 }, { 247,6563 }, { 248,6563 }, + { 249,6563 }, { 250,6563 }, { 251,6563 }, { 252,6563 }, { 253,6563 }, + { 254,6563 }, { 255,6563 }, { 256,6563 }, { 0, 6 }, { 0,24298 }, + { 1,6563 }, { 2,6563 }, { 3,6563 }, { 4,6563 }, { 5,6563 }, + { 6,6563 }, { 7,6563 }, { 8,6563 }, { 9,6563 }, { 10,6563 }, + { 11,6563 }, { 12,6563 }, { 13,6563 }, { 14,6563 }, { 15,6563 }, + { 16,6563 }, { 17,6563 }, { 18,6563 }, { 19,6563 }, { 20,6563 }, + { 21,6563 }, { 22,6563 }, { 23,6563 }, { 24,6563 }, { 25,6563 }, + + { 26,6563 }, { 27,6563 }, { 28,6563 }, { 29,6563 }, { 30,6563 }, + { 31,6563 }, { 32,6563 }, { 33,6563 }, { 34,6563 }, { 35,6563 }, + { 36,6563 }, { 37,6563 }, { 38,6563 }, { 39,6563 }, { 40,6563 }, + { 41,6563 }, { 0, 0 }, { 43,6563 }, { 44,6563 }, { 45,6563 }, + { 46,6563 }, { 0, 0 }, { 48,6563 }, { 49,6563 }, { 50,6563 }, + { 51,6563 }, { 52,6563 }, { 53,6563 }, { 54,6563 }, { 55,6563 }, + { 56,6563 }, { 57,6563 }, { 58,6563 }, { 59,6563 }, { 60,6563 }, + { 61,6563 }, { 62,6563 }, { 63,6563 }, { 64,6563 }, { 65,6563 }, + { 66,6563 }, { 67,6563 }, { 68,6563 }, { 69,6563 }, { 70,6563 }, + { 71,6563 }, { 72,6563 }, { 73,6563 }, { 74,6563 }, { 75,6563 }, + + { 76,6563 }, { 77,6563 }, { 78,6563 }, { 79,6563 }, { 80,6563 }, + { 81,6563 }, { 82,6563 }, { 83,6563 }, { 84,6563 }, { 85,6563 }, + { 86,6563 }, { 87,6563 }, { 88,6563 }, { 89,6563 }, { 90,6563 }, + { 91,6563 }, { 92,6563 }, { 93,6563 }, { 94,6563 }, { 95,6563 }, + { 96,6563 }, { 97,6563 }, { 98,6563 }, { 99,6563 }, { 100,6563 }, + { 101,6563 }, { 102,6563 }, { 103,6563 }, { 104,6563 }, { 105,6563 }, + { 106,6563 }, { 107,6563 }, { 108,6563 }, { 109,6563 }, { 110,6563 }, + { 111,6563 }, { 112,6563 }, { 113,6563 }, { 114,6563 }, { 115,6563 }, + { 116,6563 }, { 117,6563 }, { 118,6563 }, { 119,6563 }, { 120,6563 }, + { 121,6563 }, { 122,6563 }, { 123,6563 }, { 124,6563 }, { 125,6563 }, + + { 126,6563 }, { 127,6563 }, { 128,6563 }, { 129,6563 }, { 130,6563 }, + { 131,6563 }, { 132,6563 }, { 133,6563 }, { 134,6563 }, { 135,6563 }, + { 136,6563 }, { 137,6563 }, { 138,6563 }, { 139,6563 }, { 140,6563 }, + { 141,6563 }, { 142,6563 }, { 143,6563 }, { 144,6563 }, { 145,6563 }, + { 146,6563 }, { 147,6563 }, { 148,6563 }, { 149,6563 }, { 150,6563 }, + { 151,6563 }, { 152,6563 }, { 153,6563 }, { 154,6563 }, { 155,6563 }, + { 156,6563 }, { 157,6563 }, { 158,6563 }, { 159,6563 }, { 160,6563 }, + { 161,6563 }, { 162,6563 }, { 163,6563 }, { 164,6563 }, { 165,6563 }, + { 166,6563 }, { 167,6563 }, { 168,6563 }, { 169,6563 }, { 170,6563 }, + { 171,6563 }, { 172,6563 }, { 173,6563 }, { 174,6563 }, { 175,6563 }, + + { 176,6563 }, { 177,6563 }, { 178,6563 }, { 179,6563 }, { 180,6563 }, + { 181,6563 }, { 182,6563 }, { 183,6563 }, { 184,6563 }, { 185,6563 }, + { 186,6563 }, { 187,6563 }, { 188,6563 }, { 189,6563 }, { 190,6563 }, + { 191,6563 }, { 192,6563 }, { 193,6563 }, { 194,6563 }, { 195,6563 }, + { 196,6563 }, { 197,6563 }, { 198,6563 }, { 199,6563 }, { 200,6563 }, + { 201,6563 }, { 202,6563 }, { 203,6563 }, { 204,6563 }, { 205,6563 }, + { 206,6563 }, { 207,6563 }, { 208,6563 }, { 209,6563 }, { 210,6563 }, + { 211,6563 }, { 212,6563 }, { 213,6563 }, { 214,6563 }, { 215,6563 }, + { 216,6563 }, { 217,6563 }, { 218,6563 }, { 219,6563 }, { 220,6563 }, + { 221,6563 }, { 222,6563 }, { 223,6563 }, { 224,6563 }, { 225,6563 }, + + { 226,6563 }, { 227,6563 }, { 228,6563 }, { 229,6563 }, { 230,6563 }, + { 231,6563 }, { 232,6563 }, { 233,6563 }, { 234,6563 }, { 235,6563 }, + { 236,6563 }, { 237,6563 }, { 238,6563 }, { 239,6563 }, { 240,6563 }, + { 241,6563 }, { 242,6563 }, { 243,6563 }, { 244,6563 }, { 245,6563 }, + { 246,6563 }, { 247,6563 }, { 248,6563 }, { 249,6563 }, { 250,6563 }, + { 251,6563 }, { 252,6563 }, { 253,6563 }, { 254,6563 }, { 255,6563 }, + { 256,6563 }, { 0, 6 }, { 0,24040 }, { 1,6305 }, { 2,6305 }, + { 3,6305 }, { 4,6305 }, { 5,6305 }, { 6,6305 }, { 7,6305 }, + { 8,6305 }, { 9,6305 }, { 10,6305 }, { 11,6305 }, { 12,6305 }, + { 13,6305 }, { 14,6305 }, { 15,6305 }, { 16,6305 }, { 17,6305 }, + + { 18,6305 }, { 19,6305 }, { 20,6305 }, { 21,6305 }, { 22,6305 }, + { 23,6305 }, { 24,6305 }, { 25,6305 }, { 26,6305 }, { 27,6305 }, + { 28,6305 }, { 29,6305 }, { 30,6305 }, { 31,6305 }, { 32,6305 }, + { 33,6305 }, { 34,6305 }, { 35,6305 }, { 36,6305 }, { 37,6305 }, + { 38,6305 }, { 39,6305 }, { 40,6305 }, { 41,6305 }, { 0, 0 }, + { 43,6305 }, { 44,6305 }, { 45,6305 }, { 46,6305 }, { 0, 0 }, + { 48,6305 }, { 49,6305 }, { 50,6305 }, { 51,6305 }, { 52,6305 }, + { 53,6305 }, { 54,6305 }, { 55,6305 }, { 56,6305 }, { 57,6305 }, + { 58,6305 }, { 59,6305 }, { 60,6305 }, { 61,6305 }, { 62,6305 }, + { 63,6305 }, { 64,6305 }, { 65,6305 }, { 66,6305 }, { 67,6305 }, + + { 68,6305 }, { 69,6305 }, { 70,6305 }, { 71,6305 }, { 72,6305 }, + { 73,6305 }, { 74,6305 }, { 75,6305 }, { 76,6305 }, { 77,6305 }, + { 78,6305 }, { 79,6305 }, { 80,6305 }, { 81,6305 }, { 82,6305 }, + { 83,6305 }, { 84,6305 }, { 85,6305 }, { 86,6305 }, { 87,6305 }, + { 88,6305 }, { 89,6305 }, { 90,6305 }, { 91,6305 }, { 92,6305 }, + { 93,6305 }, { 94,6305 }, { 95,6305 }, { 96,6305 }, { 97,6305 }, + { 98,6305 }, { 99,6305 }, { 100,6305 }, { 101,6305 }, { 102,6305 }, + { 103,6305 }, { 104,6305 }, { 105,6305 }, { 106,6305 }, { 107,6305 }, + { 108,6305 }, { 109,6305 }, { 110,6305 }, { 111,6305 }, { 112,6305 }, + { 113,6305 }, { 114,6305 }, { 115,6305 }, { 116,6305 }, { 117,6305 }, + + { 118,6305 }, { 119,6305 }, { 120,6305 }, { 121,6305 }, { 122,6305 }, + { 123,6305 }, { 124,6305 }, { 125,6305 }, { 126,6305 }, { 127,6305 }, + { 128,6305 }, { 129,6305 }, { 130,6305 }, { 131,6305 }, { 132,6305 }, + { 133,6305 }, { 134,6305 }, { 135,6305 }, { 136,6305 }, { 137,6305 }, + { 138,6305 }, { 139,6305 }, { 140,6305 }, { 141,6305 }, { 142,6305 }, + { 143,6305 }, { 144,6305 }, { 145,6305 }, { 146,6305 }, { 147,6305 }, + { 148,6305 }, { 149,6305 }, { 150,6305 }, { 151,6305 }, { 152,6305 }, + { 153,6305 }, { 154,6305 }, { 155,6305 }, { 156,6305 }, { 157,6305 }, + { 158,6305 }, { 159,6305 }, { 160,6305 }, { 161,6305 }, { 162,6305 }, + { 163,6305 }, { 164,6305 }, { 165,6305 }, { 166,6305 }, { 167,6305 }, + + { 168,6305 }, { 169,6305 }, { 170,6305 }, { 171,6305 }, { 172,6305 }, + { 173,6305 }, { 174,6305 }, { 175,6305 }, { 176,6305 }, { 177,6305 }, + { 178,6305 }, { 179,6305 }, { 180,6305 }, { 181,6305 }, { 182,6305 }, + { 183,6305 }, { 184,6305 }, { 185,6305 }, { 186,6305 }, { 187,6305 }, + { 188,6305 }, { 189,6305 }, { 190,6305 }, { 191,6305 }, { 192,6305 }, + { 193,6305 }, { 194,6305 }, { 195,6305 }, { 196,6305 }, { 197,6305 }, + { 198,6305 }, { 199,6305 }, { 200,6305 }, { 201,6305 }, { 202,6305 }, + { 203,6305 }, { 204,6305 }, { 205,6305 }, { 206,6305 }, { 207,6305 }, + { 208,6305 }, { 209,6305 }, { 210,6305 }, { 211,6305 }, { 212,6305 }, + { 213,6305 }, { 214,6305 }, { 215,6305 }, { 216,6305 }, { 217,6305 }, + + { 218,6305 }, { 219,6305 }, { 220,6305 }, { 221,6305 }, { 222,6305 }, + { 223,6305 }, { 224,6305 }, { 225,6305 }, { 226,6305 }, { 227,6305 }, + { 228,6305 }, { 229,6305 }, { 230,6305 }, { 231,6305 }, { 232,6305 }, + { 233,6305 }, { 234,6305 }, { 235,6305 }, { 236,6305 }, { 237,6305 }, + { 238,6305 }, { 239,6305 }, { 240,6305 }, { 241,6305 }, { 242,6305 }, + { 243,6305 }, { 244,6305 }, { 245,6305 }, { 246,6305 }, { 247,6305 }, + { 248,6305 }, { 249,6305 }, { 250,6305 }, { 251,6305 }, { 252,6305 }, + { 253,6305 }, { 254,6305 }, { 255,6305 }, { 256,6305 }, { 0, 44 }, + { 0,23782 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, { 4,6433 }, + { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, { 9,6433 }, + + { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, { 14,6433 }, + { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, { 19,6433 }, + { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, { 24,6433 }, + { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, { 29,6433 }, + { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, { 0, 0 }, + { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, { 39,6433 }, + { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, { 44,6433 }, + { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, { 49,6433 }, + { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, { 54,6433 }, + { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, { 59,6433 }, + + { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, { 64,6433 }, + { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, { 69,6433 }, + { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, { 74,6433 }, + { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, { 79,6433 }, + { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, { 84,6433 }, + { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, { 89,6433 }, + { 90,6433 }, { 91,6433 }, { 92,6433 }, { 93,6433 }, { 94,6433 }, + { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, { 99,6433 }, + { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, { 104,6433 }, + { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, { 109,6433 }, + + { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, { 114,6433 }, + { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, { 119,6433 }, + { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, { 124,6433 }, + { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, { 129,6433 }, + { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, { 134,6433 }, + { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, { 139,6433 }, + { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, { 144,6433 }, + { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, { 149,6433 }, + { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, { 154,6433 }, + { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, { 159,6433 }, + + { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, { 164,6433 }, + { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, { 169,6433 }, + { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, { 174,6433 }, + { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, { 179,6433 }, + { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, { 184,6433 }, + { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, { 189,6433 }, + { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, { 194,6433 }, + { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, { 199,6433 }, + { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, { 204,6433 }, + { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, { 209,6433 }, + + { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, { 214,6433 }, + { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, { 219,6433 }, + { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, { 224,6433 }, + { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, { 229,6433 }, + { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, { 234,6433 }, + { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, { 239,6433 }, + { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, { 244,6433 }, + { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, { 249,6433 }, + { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, { 254,6433 }, + { 255,6433 }, { 256,6433 }, { 0, 10 }, { 0,23524 }, { 1,6433 }, + + { 2,6433 }, { 3,6433 }, { 4,6433 }, { 5,6433 }, { 6,6433 }, + { 7,6433 }, { 8,6433 }, { 9,6433 }, { 10,6433 }, { 11,6433 }, + { 12,6433 }, { 13,6433 }, { 14,6433 }, { 15,6433 }, { 16,6433 }, + { 17,6433 }, { 18,6433 }, { 19,6433 }, { 20,6433 }, { 21,6433 }, + { 22,6433 }, { 23,6433 }, { 24,6433 }, { 25,6433 }, { 26,6433 }, + { 27,6433 }, { 28,6433 }, { 29,6433 }, { 30,6433 }, { 31,6433 }, + { 32,6433 }, { 33,6433 }, { 34,6433 }, { 35,6433 }, { 36,6433 }, + { 37,6433 }, { 38,6433 }, { 0, 0 }, { 40,6433 }, { 41,6433 }, + { 42,6433 }, { 43,6433 }, { 44,6433 }, { 45,6433 }, { 46,6433 }, + { 47,6433 }, { 48,6433 }, { 49,6433 }, { 50,6433 }, { 51,6433 }, + + { 52,6433 }, { 53,6433 }, { 54,6433 }, { 55,6433 }, { 56,6433 }, + { 57,6433 }, { 58,6433 }, { 59,6433 }, { 60,6433 }, { 61,6433 }, + { 62,6433 }, { 63,6433 }, { 64,6433 }, { 65,6433 }, { 66,6433 }, + { 67,6433 }, { 68,6433 }, { 69,6433 }, { 70,6433 }, { 71,6433 }, + { 72,6433 }, { 73,6433 }, { 74,6433 }, { 75,6433 }, { 76,6433 }, + { 77,6433 }, { 78,6433 }, { 79,6433 }, { 80,6433 }, { 81,6433 }, + { 82,6433 }, { 83,6433 }, { 84,6433 }, { 85,6433 }, { 86,6433 }, + { 87,6433 }, { 88,6433 }, { 89,6433 }, { 90,6433 }, { 91,6433 }, + { 92,6433 }, { 93,6433 }, { 94,6433 }, { 95,6433 }, { 96,6433 }, + { 97,6433 }, { 98,6433 }, { 99,6433 }, { 100,6433 }, { 101,6433 }, + + { 102,6433 }, { 103,6433 }, { 104,6433 }, { 105,6433 }, { 106,6433 }, + { 107,6433 }, { 108,6433 }, { 109,6433 }, { 110,6433 }, { 111,6433 }, + { 112,6433 }, { 113,6433 }, { 114,6433 }, { 115,6433 }, { 116,6433 }, + { 117,6433 }, { 118,6433 }, { 119,6433 }, { 120,6433 }, { 121,6433 }, + { 122,6433 }, { 123,6433 }, { 124,6433 }, { 125,6433 }, { 126,6433 }, + { 127,6433 }, { 128,6433 }, { 129,6433 }, { 130,6433 }, { 131,6433 }, + { 132,6433 }, { 133,6433 }, { 134,6433 }, { 135,6433 }, { 136,6433 }, + { 137,6433 }, { 138,6433 }, { 139,6433 }, { 140,6433 }, { 141,6433 }, + { 142,6433 }, { 143,6433 }, { 144,6433 }, { 145,6433 }, { 146,6433 }, + { 147,6433 }, { 148,6433 }, { 149,6433 }, { 150,6433 }, { 151,6433 }, + + { 152,6433 }, { 153,6433 }, { 154,6433 }, { 155,6433 }, { 156,6433 }, + { 157,6433 }, { 158,6433 }, { 159,6433 }, { 160,6433 }, { 161,6433 }, + { 162,6433 }, { 163,6433 }, { 164,6433 }, { 165,6433 }, { 166,6433 }, + { 167,6433 }, { 168,6433 }, { 169,6433 }, { 170,6433 }, { 171,6433 }, + { 172,6433 }, { 173,6433 }, { 174,6433 }, { 175,6433 }, { 176,6433 }, + { 177,6433 }, { 178,6433 }, { 179,6433 }, { 180,6433 }, { 181,6433 }, + { 182,6433 }, { 183,6433 }, { 184,6433 }, { 185,6433 }, { 186,6433 }, + { 187,6433 }, { 188,6433 }, { 189,6433 }, { 190,6433 }, { 191,6433 }, + { 192,6433 }, { 193,6433 }, { 194,6433 }, { 195,6433 }, { 196,6433 }, + { 197,6433 }, { 198,6433 }, { 199,6433 }, { 200,6433 }, { 201,6433 }, + + { 202,6433 }, { 203,6433 }, { 204,6433 }, { 205,6433 }, { 206,6433 }, + { 207,6433 }, { 208,6433 }, { 209,6433 }, { 210,6433 }, { 211,6433 }, + { 212,6433 }, { 213,6433 }, { 214,6433 }, { 215,6433 }, { 216,6433 }, + { 217,6433 }, { 218,6433 }, { 219,6433 }, { 220,6433 }, { 221,6433 }, + { 222,6433 }, { 223,6433 }, { 224,6433 }, { 225,6433 }, { 226,6433 }, + { 227,6433 }, { 228,6433 }, { 229,6433 }, { 230,6433 }, { 231,6433 }, + { 232,6433 }, { 233,6433 }, { 234,6433 }, { 235,6433 }, { 236,6433 }, + { 237,6433 }, { 238,6433 }, { 239,6433 }, { 240,6433 }, { 241,6433 }, + { 242,6433 }, { 243,6433 }, { 244,6433 }, { 245,6433 }, { 246,6433 }, + { 247,6433 }, { 248,6433 }, { 249,6433 }, { 250,6433 }, { 251,6433 }, + + { 252,6433 }, { 253,6433 }, { 254,6433 }, { 255,6433 }, { 256,6433 }, + { 0, 22 }, { 0,23266 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, + { 4,6433 }, { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, + { 9,6433 }, { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, + { 14,6433 }, { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, + { 19,6433 }, { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, + { 24,6433 }, { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, + { 29,6433 }, { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, + { 34,6433 }, { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, + { 0, 0 }, { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, + + { 44,6433 }, { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, + { 49,6433 }, { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, + { 54,6433 }, { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, + { 59,6433 }, { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, + { 64,6433 }, { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, + { 69,6433 }, { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, + { 74,6433 }, { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, + { 79,6433 }, { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, + { 84,6433 }, { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, + { 89,6433 }, { 90,6433 }, { 91,6433 }, { 92,6433 }, { 93,6433 }, + + { 94,6433 }, { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, + { 99,6433 }, { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, + { 104,6433 }, { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, + { 109,6433 }, { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, + { 114,6433 }, { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, + { 119,6433 }, { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, + { 124,6433 }, { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, + { 129,6433 }, { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, + { 134,6433 }, { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, + { 139,6433 }, { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, + + { 144,6433 }, { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, + { 149,6433 }, { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, + { 154,6433 }, { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, + { 159,6433 }, { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, + { 164,6433 }, { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, + { 169,6433 }, { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, + { 174,6433 }, { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, + { 179,6433 }, { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, + { 184,6433 }, { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, + { 189,6433 }, { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, + + { 194,6433 }, { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, + { 199,6433 }, { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, + { 204,6433 }, { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, + { 209,6433 }, { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, + { 214,6433 }, { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, + { 219,6433 }, { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, + { 224,6433 }, { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, + { 229,6433 }, { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, + { 234,6433 }, { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, + { 239,6433 }, { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, + + { 244,6433 }, { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, + { 249,6433 }, { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, + { 254,6433 }, { 255,6433 }, { 256,6433 }, { 0, 19 }, { 0,23008 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,23003 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9,6433 }, { 10,6438 }, + { 11,6433 }, { 12,6433 }, { 13,6438 }, { 9,6457 }, { 10,6457 }, + { 11,6457 }, { 12,6457 }, { 13,6457 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,22979 }, { 0, 0 }, + { 0, 0 }, { 32,6433 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 32,6457 }, { 9,6433 }, { 10,6433 }, { 11,6433 }, + { 12,6433 }, { 13,6433 }, { 0, 0 }, { 39,-3831 }, { 45,-3828 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3833 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 32,6433 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 39,-3855 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-3857 }, { 0, 23 }, + { 0,22932 }, { 1,6433 }, { 2,6433 }, { 3,6433 }, { 4,6433 }, + { 5,6433 }, { 6,6433 }, { 7,6433 }, { 8,6433 }, { 9,6433 }, + + { 10,6433 }, { 11,6433 }, { 12,6433 }, { 13,6433 }, { 14,6433 }, + { 15,6433 }, { 16,6433 }, { 17,6433 }, { 18,6433 }, { 19,6433 }, + { 20,6433 }, { 21,6433 }, { 22,6433 }, { 23,6433 }, { 24,6433 }, + { 25,6433 }, { 26,6433 }, { 27,6433 }, { 28,6433 }, { 29,6433 }, + { 30,6433 }, { 31,6433 }, { 32,6433 }, { 33,6433 }, { 34,6433 }, + { 35,6433 }, { 36,6433 }, { 37,6433 }, { 38,6433 }, { 0, 0 }, + { 40,6433 }, { 41,6433 }, { 42,6433 }, { 43,6433 }, { 44,6433 }, + { 45,6433 }, { 46,6433 }, { 47,6433 }, { 48,6433 }, { 49,6433 }, + { 50,6433 }, { 51,6433 }, { 52,6433 }, { 53,6433 }, { 54,6433 }, + { 55,6433 }, { 56,6433 }, { 57,6433 }, { 58,6433 }, { 59,6433 }, + + { 60,6433 }, { 61,6433 }, { 62,6433 }, { 63,6433 }, { 64,6433 }, + { 65,6433 }, { 66,6433 }, { 67,6433 }, { 68,6433 }, { 69,6433 }, + { 70,6433 }, { 71,6433 }, { 72,6433 }, { 73,6433 }, { 74,6433 }, + { 75,6433 }, { 76,6433 }, { 77,6433 }, { 78,6433 }, { 79,6433 }, + { 80,6433 }, { 81,6433 }, { 82,6433 }, { 83,6433 }, { 84,6433 }, + { 85,6433 }, { 86,6433 }, { 87,6433 }, { 88,6433 }, { 89,6433 }, + { 90,6433 }, { 91,6433 }, { 0, 0 }, { 93,6433 }, { 94,6433 }, + { 95,6433 }, { 96,6433 }, { 97,6433 }, { 98,6433 }, { 99,6433 }, + { 100,6433 }, { 101,6433 }, { 102,6433 }, { 103,6433 }, { 104,6433 }, + { 105,6433 }, { 106,6433 }, { 107,6433 }, { 108,6433 }, { 109,6433 }, + + { 110,6433 }, { 111,6433 }, { 112,6433 }, { 113,6433 }, { 114,6433 }, + { 115,6433 }, { 116,6433 }, { 117,6433 }, { 118,6433 }, { 119,6433 }, + { 120,6433 }, { 121,6433 }, { 122,6433 }, { 123,6433 }, { 124,6433 }, + { 125,6433 }, { 126,6433 }, { 127,6433 }, { 128,6433 }, { 129,6433 }, + { 130,6433 }, { 131,6433 }, { 132,6433 }, { 133,6433 }, { 134,6433 }, + { 135,6433 }, { 136,6433 }, { 137,6433 }, { 138,6433 }, { 139,6433 }, + { 140,6433 }, { 141,6433 }, { 142,6433 }, { 143,6433 }, { 144,6433 }, + { 145,6433 }, { 146,6433 }, { 147,6433 }, { 148,6433 }, { 149,6433 }, + { 150,6433 }, { 151,6433 }, { 152,6433 }, { 153,6433 }, { 154,6433 }, + { 155,6433 }, { 156,6433 }, { 157,6433 }, { 158,6433 }, { 159,6433 }, + + { 160,6433 }, { 161,6433 }, { 162,6433 }, { 163,6433 }, { 164,6433 }, + { 165,6433 }, { 166,6433 }, { 167,6433 }, { 168,6433 }, { 169,6433 }, + { 170,6433 }, { 171,6433 }, { 172,6433 }, { 173,6433 }, { 174,6433 }, + { 175,6433 }, { 176,6433 }, { 177,6433 }, { 178,6433 }, { 179,6433 }, + { 180,6433 }, { 181,6433 }, { 182,6433 }, { 183,6433 }, { 184,6433 }, + { 185,6433 }, { 186,6433 }, { 187,6433 }, { 188,6433 }, { 189,6433 }, + { 190,6433 }, { 191,6433 }, { 192,6433 }, { 193,6433 }, { 194,6433 }, + { 195,6433 }, { 196,6433 }, { 197,6433 }, { 198,6433 }, { 199,6433 }, + { 200,6433 }, { 201,6433 }, { 202,6433 }, { 203,6433 }, { 204,6433 }, + { 205,6433 }, { 206,6433 }, { 207,6433 }, { 208,6433 }, { 209,6433 }, + + { 210,6433 }, { 211,6433 }, { 212,6433 }, { 213,6433 }, { 214,6433 }, + { 215,6433 }, { 216,6433 }, { 217,6433 }, { 218,6433 }, { 219,6433 }, + { 220,6433 }, { 221,6433 }, { 222,6433 }, { 223,6433 }, { 224,6433 }, + { 225,6433 }, { 226,6433 }, { 227,6433 }, { 228,6433 }, { 229,6433 }, + { 230,6433 }, { 231,6433 }, { 232,6433 }, { 233,6433 }, { 234,6433 }, + { 235,6433 }, { 236,6433 }, { 237,6433 }, { 238,6433 }, { 239,6433 }, + { 240,6433 }, { 241,6433 }, { 242,6433 }, { 243,6433 }, { 244,6433 }, + { 245,6433 }, { 246,6433 }, { 247,6433 }, { 248,6433 }, { 249,6433 }, + { 250,6433 }, { 251,6433 }, { 252,6433 }, { 253,6433 }, { 254,6433 }, + { 255,6433 }, { 256,6433 }, { 0, 23 }, { 0,22674 }, { 1,6175 }, + + { 2,6175 }, { 3,6175 }, { 4,6175 }, { 5,6175 }, { 6,6175 }, + { 7,6175 }, { 8,6175 }, { 9,6175 }, { 10,6175 }, { 11,6175 }, + { 12,6175 }, { 13,6175 }, { 14,6175 }, { 15,6175 }, { 16,6175 }, + { 17,6175 }, { 18,6175 }, { 19,6175 }, { 20,6175 }, { 21,6175 }, + { 22,6175 }, { 23,6175 }, { 24,6175 }, { 25,6175 }, { 26,6175 }, + { 27,6175 }, { 28,6175 }, { 29,6175 }, { 30,6175 }, { 31,6175 }, + { 32,6175 }, { 33,6175 }, { 34,6175 }, { 35,6175 }, { 36,6175 }, + { 37,6175 }, { 38,6175 }, { 0, 0 }, { 40,6175 }, { 41,6175 }, + { 42,6175 }, { 43,6175 }, { 44,6175 }, { 45,6175 }, { 46,6175 }, + { 47,6175 }, { 48,6175 }, { 49,6175 }, { 50,6175 }, { 51,6175 }, + + { 52,6175 }, { 53,6175 }, { 54,6175 }, { 55,6175 }, { 56,6175 }, + { 57,6175 }, { 58,6175 }, { 59,6175 }, { 60,6175 }, { 61,6175 }, + { 62,6175 }, { 63,6175 }, { 64,6175 }, { 65,6175 }, { 66,6175 }, + { 67,6175 }, { 68,6175 }, { 69,6175 }, { 70,6175 }, { 71,6175 }, + { 72,6175 }, { 73,6175 }, { 74,6175 }, { 75,6175 }, { 76,6175 }, + { 77,6175 }, { 78,6175 }, { 79,6175 }, { 80,6175 }, { 81,6175 }, + { 82,6175 }, { 83,6175 }, { 84,6175 }, { 85,6175 }, { 86,6175 }, + { 87,6175 }, { 88,6175 }, { 89,6175 }, { 90,6175 }, { 91,6175 }, + { 0, 0 }, { 93,6175 }, { 94,6175 }, { 95,6175 }, { 96,6175 }, + { 97,6175 }, { 98,6175 }, { 99,6175 }, { 100,6175 }, { 101,6175 }, + + { 102,6175 }, { 103,6175 }, { 104,6175 }, { 105,6175 }, { 106,6175 }, + { 107,6175 }, { 108,6175 }, { 109,6175 }, { 110,6175 }, { 111,6175 }, + { 112,6175 }, { 113,6175 }, { 114,6175 }, { 115,6175 }, { 116,6175 }, + { 117,6175 }, { 118,6175 }, { 119,6175 }, { 120,6175 }, { 121,6175 }, + { 122,6175 }, { 123,6175 }, { 124,6175 }, { 125,6175 }, { 126,6175 }, + { 127,6175 }, { 128,6175 }, { 129,6175 }, { 130,6175 }, { 131,6175 }, + { 132,6175 }, { 133,6175 }, { 134,6175 }, { 135,6175 }, { 136,6175 }, + { 137,6175 }, { 138,6175 }, { 139,6175 }, { 140,6175 }, { 141,6175 }, + { 142,6175 }, { 143,6175 }, { 144,6175 }, { 145,6175 }, { 146,6175 }, + { 147,6175 }, { 148,6175 }, { 149,6175 }, { 150,6175 }, { 151,6175 }, + + { 152,6175 }, { 153,6175 }, { 154,6175 }, { 155,6175 }, { 156,6175 }, + { 157,6175 }, { 158,6175 }, { 159,6175 }, { 160,6175 }, { 161,6175 }, + { 162,6175 }, { 163,6175 }, { 164,6175 }, { 165,6175 }, { 166,6175 }, + { 167,6175 }, { 168,6175 }, { 169,6175 }, { 170,6175 }, { 171,6175 }, + { 172,6175 }, { 173,6175 }, { 174,6175 }, { 175,6175 }, { 176,6175 }, + { 177,6175 }, { 178,6175 }, { 179,6175 }, { 180,6175 }, { 181,6175 }, + { 182,6175 }, { 183,6175 }, { 184,6175 }, { 185,6175 }, { 186,6175 }, + { 187,6175 }, { 188,6175 }, { 189,6175 }, { 190,6175 }, { 191,6175 }, + { 192,6175 }, { 193,6175 }, { 194,6175 }, { 195,6175 }, { 196,6175 }, + { 197,6175 }, { 198,6175 }, { 199,6175 }, { 200,6175 }, { 201,6175 }, + + { 202,6175 }, { 203,6175 }, { 204,6175 }, { 205,6175 }, { 206,6175 }, + { 207,6175 }, { 208,6175 }, { 209,6175 }, { 210,6175 }, { 211,6175 }, + { 212,6175 }, { 213,6175 }, { 214,6175 }, { 215,6175 }, { 216,6175 }, + { 217,6175 }, { 218,6175 }, { 219,6175 }, { 220,6175 }, { 221,6175 }, + { 222,6175 }, { 223,6175 }, { 224,6175 }, { 225,6175 }, { 226,6175 }, + { 227,6175 }, { 228,6175 }, { 229,6175 }, { 230,6175 }, { 231,6175 }, + { 232,6175 }, { 233,6175 }, { 234,6175 }, { 235,6175 }, { 236,6175 }, + { 237,6175 }, { 238,6175 }, { 239,6175 }, { 240,6175 }, { 241,6175 }, + { 242,6175 }, { 243,6175 }, { 244,6175 }, { 245,6175 }, { 246,6175 }, + { 247,6175 }, { 248,6175 }, { 249,6175 }, { 250,6175 }, { 251,6175 }, + + { 252,6175 }, { 253,6175 }, { 254,6175 }, { 255,6175 }, { 256,6175 }, + { 0, 32 }, { 0,22416 }, { 1,-4416 }, { 2,-4416 }, { 3,-4416 }, + { 4,-4416 }, { 5,-4416 }, { 6,-4416 }, { 7,-4416 }, { 8,-4416 }, + { 9,-4416 }, { 10,-4416 }, { 11,-4416 }, { 12,-4416 }, { 13,-4416 }, + { 14,-4416 }, { 15,-4416 }, { 16,-4416 }, { 17,-4416 }, { 18,-4416 }, + { 19,-4416 }, { 20,-4416 }, { 21,-4416 }, { 22,-4416 }, { 23,-4416 }, + { 24,-4416 }, { 25,-4416 }, { 26,-4416 }, { 27,-4416 }, { 28,-4416 }, + { 29,-4416 }, { 30,-4416 }, { 31,-4416 }, { 32,-4416 }, { 33,-4416 }, + { 34,-4416 }, { 35,-4416 }, { 36,-4416 }, { 37,-4416 }, { 38,-4416 }, + { 39,-4416 }, { 40,-4416 }, { 41,-4416 }, { 42,-4416 }, { 43,-4416 }, + + { 44,-4416 }, { 45,-4416 }, { 46,-4416 }, { 47,-4416 }, { 48,6175 }, + { 49,6175 }, { 50,6175 }, { 51,6175 }, { 52,6175 }, { 53,6175 }, + { 54,6175 }, { 55,6175 }, { 56,-4416 }, { 57,-4416 }, { 58,-4416 }, + { 59,-4416 }, { 60,-4416 }, { 61,-4416 }, { 62,-4416 }, { 63,-4416 }, + { 64,-4416 }, { 65,-4416 }, { 66,-4416 }, { 67,-4416 }, { 68,-4416 }, + { 69,-4416 }, { 70,-4416 }, { 71,-4416 }, { 72,-4416 }, { 73,-4416 }, + { 74,-4416 }, { 75,-4416 }, { 76,-4416 }, { 77,-4416 }, { 78,-4416 }, + { 79,-4416 }, { 80,-4416 }, { 81,-4416 }, { 82,-4416 }, { 83,-4416 }, + { 84,-4416 }, { 85,6183 }, { 86,-4416 }, { 87,-4416 }, { 88,-4416 }, + { 89,-4416 }, { 90,-4416 }, { 91,-4416 }, { 92,-4416 }, { 93,-4416 }, + + { 94,-4416 }, { 95,-4416 }, { 96,-4416 }, { 97,-4416 }, { 98,-4416 }, + { 99,-4416 }, { 100,-4416 }, { 101,-4416 }, { 102,-4416 }, { 103,-4416 }, + { 104,-4416 }, { 105,-4416 }, { 106,-4416 }, { 107,-4416 }, { 108,-4416 }, + { 109,-4416 }, { 110,-4416 }, { 111,-4416 }, { 112,-4416 }, { 113,-4416 }, + { 114,-4416 }, { 115,-4416 }, { 116,-4416 }, { 117,6206 }, { 118,-4416 }, + { 119,-4416 }, { 120,6244 }, { 121,-4416 }, { 122,-4416 }, { 123,-4416 }, + { 124,-4416 }, { 125,-4416 }, { 126,-4416 }, { 127,-4416 }, { 128,-4416 }, + { 129,-4416 }, { 130,-4416 }, { 131,-4416 }, { 132,-4416 }, { 133,-4416 }, + { 134,-4416 }, { 135,-4416 }, { 136,-4416 }, { 137,-4416 }, { 138,-4416 }, + { 139,-4416 }, { 140,-4416 }, { 141,-4416 }, { 142,-4416 }, { 143,-4416 }, + + { 144,-4416 }, { 145,-4416 }, { 146,-4416 }, { 147,-4416 }, { 148,-4416 }, + { 149,-4416 }, { 150,-4416 }, { 151,-4416 }, { 152,-4416 }, { 153,-4416 }, + { 154,-4416 }, { 155,-4416 }, { 156,-4416 }, { 157,-4416 }, { 158,-4416 }, + { 159,-4416 }, { 160,-4416 }, { 161,-4416 }, { 162,-4416 }, { 163,-4416 }, + { 164,-4416 }, { 165,-4416 }, { 166,-4416 }, { 167,-4416 }, { 168,-4416 }, + { 169,-4416 }, { 170,-4416 }, { 171,-4416 }, { 172,-4416 }, { 173,-4416 }, + { 174,-4416 }, { 175,-4416 }, { 176,-4416 }, { 177,-4416 }, { 178,-4416 }, + { 179,-4416 }, { 180,-4416 }, { 181,-4416 }, { 182,-4416 }, { 183,-4416 }, + { 184,-4416 }, { 185,-4416 }, { 186,-4416 }, { 187,-4416 }, { 188,-4416 }, + { 189,-4416 }, { 190,-4416 }, { 191,-4416 }, { 192,-4416 }, { 193,-4416 }, + + { 194,-4416 }, { 195,-4416 }, { 196,-4416 }, { 197,-4416 }, { 198,-4416 }, + { 199,-4416 }, { 200,-4416 }, { 201,-4416 }, { 202,-4416 }, { 203,-4416 }, + { 204,-4416 }, { 205,-4416 }, { 206,-4416 }, { 207,-4416 }, { 208,-4416 }, + { 209,-4416 }, { 210,-4416 }, { 211,-4416 }, { 212,-4416 }, { 213,-4416 }, + { 214,-4416 }, { 215,-4416 }, { 216,-4416 }, { 217,-4416 }, { 218,-4416 }, + { 219,-4416 }, { 220,-4416 }, { 221,-4416 }, { 222,-4416 }, { 223,-4416 }, + { 224,-4416 }, { 225,-4416 }, { 226,-4416 }, { 227,-4416 }, { 228,-4416 }, + { 229,-4416 }, { 230,-4416 }, { 231,-4416 }, { 232,-4416 }, { 233,-4416 }, + { 234,-4416 }, { 235,-4416 }, { 236,-4416 }, { 237,-4416 }, { 238,-4416 }, + { 239,-4416 }, { 240,-4416 }, { 241,-4416 }, { 242,-4416 }, { 243,-4416 }, + + { 244,-4416 }, { 245,-4416 }, { 246,-4416 }, { 247,-4416 }, { 248,-4416 }, + { 249,-4416 }, { 250,-4416 }, { 251,-4416 }, { 252,-4416 }, { 253,-4416 }, + { 254,-4416 }, { 255,-4416 }, { 256,-4416 }, { 0, 36 }, { 0,22158 }, + { 1,6090 }, { 2,6090 }, { 3,6090 }, { 4,6090 }, { 5,6090 }, + { 6,6090 }, { 7,6090 }, { 8,6090 }, { 9,6090 }, { 10,6090 }, + { 11,6090 }, { 12,6090 }, { 13,6090 }, { 14,6090 }, { 15,6090 }, + { 16,6090 }, { 17,6090 }, { 18,6090 }, { 19,6090 }, { 20,6090 }, + { 21,6090 }, { 22,6090 }, { 23,6090 }, { 24,6090 }, { 25,6090 }, + { 26,6090 }, { 27,6090 }, { 28,6090 }, { 29,6090 }, { 30,6090 }, + { 31,6090 }, { 32,6090 }, { 33,6090 }, { 34,6090 }, { 35,6090 }, + + { 0, 0 }, { 37,6090 }, { 38,6090 }, { 39,6090 }, { 40,6090 }, + { 41,6090 }, { 42,6090 }, { 43,6090 }, { 44,6090 }, { 45,6090 }, + { 46,6090 }, { 47,6090 }, { 48,6090 }, { 49,6090 }, { 50,6090 }, + { 51,6090 }, { 52,6090 }, { 53,6090 }, { 54,6090 }, { 55,6090 }, + { 56,6090 }, { 57,6090 }, { 58,6090 }, { 59,6090 }, { 60,6090 }, + { 61,6090 }, { 62,6090 }, { 63,6090 }, { 64,6090 }, { 65,6090 }, + { 66,6090 }, { 67,6090 }, { 68,6090 }, { 69,6090 }, { 70,6090 }, + { 71,6090 }, { 72,6090 }, { 73,6090 }, { 74,6090 }, { 75,6090 }, + { 76,6090 }, { 77,6090 }, { 78,6090 }, { 79,6090 }, { 80,6090 }, + { 81,6090 }, { 82,6090 }, { 83,6090 }, { 84,6090 }, { 85,6090 }, + + { 86,6090 }, { 87,6090 }, { 88,6090 }, { 89,6090 }, { 90,6090 }, + { 91,6090 }, { 92,6090 }, { 93,6090 }, { 94,6090 }, { 95,6090 }, + { 96,6090 }, { 97,6090 }, { 98,6090 }, { 99,6090 }, { 100,6090 }, + { 101,6090 }, { 102,6090 }, { 103,6090 }, { 104,6090 }, { 105,6090 }, + { 106,6090 }, { 107,6090 }, { 108,6090 }, { 109,6090 }, { 110,6090 }, + { 111,6090 }, { 112,6090 }, { 113,6090 }, { 114,6090 }, { 115,6090 }, + { 116,6090 }, { 117,6090 }, { 118,6090 }, { 119,6090 }, { 120,6090 }, + { 121,6090 }, { 122,6090 }, { 123,6090 }, { 124,6090 }, { 125,6090 }, + { 126,6090 }, { 127,6090 }, { 128,6090 }, { 129,6090 }, { 130,6090 }, + { 131,6090 }, { 132,6090 }, { 133,6090 }, { 134,6090 }, { 135,6090 }, + + { 136,6090 }, { 137,6090 }, { 138,6090 }, { 139,6090 }, { 140,6090 }, + { 141,6090 }, { 142,6090 }, { 143,6090 }, { 144,6090 }, { 145,6090 }, + { 146,6090 }, { 147,6090 }, { 148,6090 }, { 149,6090 }, { 150,6090 }, + { 151,6090 }, { 152,6090 }, { 153,6090 }, { 154,6090 }, { 155,6090 }, + { 156,6090 }, { 157,6090 }, { 158,6090 }, { 159,6090 }, { 160,6090 }, + { 161,6090 }, { 162,6090 }, { 163,6090 }, { 164,6090 }, { 165,6090 }, + { 166,6090 }, { 167,6090 }, { 168,6090 }, { 169,6090 }, { 170,6090 }, + { 171,6090 }, { 172,6090 }, { 173,6090 }, { 174,6090 }, { 175,6090 }, + { 176,6090 }, { 177,6090 }, { 178,6090 }, { 179,6090 }, { 180,6090 }, + { 181,6090 }, { 182,6090 }, { 183,6090 }, { 184,6090 }, { 185,6090 }, + + { 186,6090 }, { 187,6090 }, { 188,6090 }, { 189,6090 }, { 190,6090 }, + { 191,6090 }, { 192,6090 }, { 193,6090 }, { 194,6090 }, { 195,6090 }, + { 196,6090 }, { 197,6090 }, { 198,6090 }, { 199,6090 }, { 200,6090 }, + { 201,6090 }, { 202,6090 }, { 203,6090 }, { 204,6090 }, { 205,6090 }, + { 206,6090 }, { 207,6090 }, { 208,6090 }, { 209,6090 }, { 210,6090 }, + { 211,6090 }, { 212,6090 }, { 213,6090 }, { 214,6090 }, { 215,6090 }, + { 216,6090 }, { 217,6090 }, { 218,6090 }, { 219,6090 }, { 220,6090 }, + { 221,6090 }, { 222,6090 }, { 223,6090 }, { 224,6090 }, { 225,6090 }, + { 226,6090 }, { 227,6090 }, { 228,6090 }, { 229,6090 }, { 230,6090 }, + { 231,6090 }, { 232,6090 }, { 233,6090 }, { 234,6090 }, { 235,6090 }, + + { 236,6090 }, { 237,6090 }, { 238,6090 }, { 239,6090 }, { 240,6090 }, + { 241,6090 }, { 242,6090 }, { 243,6090 }, { 244,6090 }, { 245,6090 }, + { 246,6090 }, { 247,6090 }, { 248,6090 }, { 249,6090 }, { 250,6090 }, + { 251,6090 }, { 252,6090 }, { 253,6090 }, { 254,6090 }, { 255,6090 }, + { 256,6090 }, { 0, 36 }, { 0,21900 }, { 1,5832 }, { 2,5832 }, + { 3,5832 }, { 4,5832 }, { 5,5832 }, { 6,5832 }, { 7,5832 }, + { 8,5832 }, { 9,5832 }, { 10,5832 }, { 11,5832 }, { 12,5832 }, + { 13,5832 }, { 14,5832 }, { 15,5832 }, { 16,5832 }, { 17,5832 }, + { 18,5832 }, { 19,5832 }, { 20,5832 }, { 21,5832 }, { 22,5832 }, + { 23,5832 }, { 24,5832 }, { 25,5832 }, { 26,5832 }, { 27,5832 }, + + { 28,5832 }, { 29,5832 }, { 30,5832 }, { 31,5832 }, { 32,5832 }, + { 33,5832 }, { 34,5832 }, { 35,5832 }, { 0, 0 }, { 37,5832 }, + { 38,5832 }, { 39,5832 }, { 40,5832 }, { 41,5832 }, { 42,5832 }, + { 43,5832 }, { 44,5832 }, { 45,5832 }, { 46,5832 }, { 47,5832 }, + { 48,5832 }, { 49,5832 }, { 50,5832 }, { 51,5832 }, { 52,5832 }, + { 53,5832 }, { 54,5832 }, { 55,5832 }, { 56,5832 }, { 57,5832 }, + { 58,5832 }, { 59,5832 }, { 60,5832 }, { 61,5832 }, { 62,5832 }, + { 63,5832 }, { 64,5832 }, { 65,5832 }, { 66,5832 }, { 67,5832 }, + { 68,5832 }, { 69,5832 }, { 70,5832 }, { 71,5832 }, { 72,5832 }, + { 73,5832 }, { 74,5832 }, { 75,5832 }, { 76,5832 }, { 77,5832 }, + + { 78,5832 }, { 79,5832 }, { 80,5832 }, { 81,5832 }, { 82,5832 }, + { 83,5832 }, { 84,5832 }, { 85,5832 }, { 86,5832 }, { 87,5832 }, + { 88,5832 }, { 89,5832 }, { 90,5832 }, { 91,5832 }, { 92,5832 }, + { 93,5832 }, { 94,5832 }, { 95,5832 }, { 96,5832 }, { 97,5832 }, + { 98,5832 }, { 99,5832 }, { 100,5832 }, { 101,5832 }, { 102,5832 }, + { 103,5832 }, { 104,5832 }, { 105,5832 }, { 106,5832 }, { 107,5832 }, + { 108,5832 }, { 109,5832 }, { 110,5832 }, { 111,5832 }, { 112,5832 }, + { 113,5832 }, { 114,5832 }, { 115,5832 }, { 116,5832 }, { 117,5832 }, + { 118,5832 }, { 119,5832 }, { 120,5832 }, { 121,5832 }, { 122,5832 }, + { 123,5832 }, { 124,5832 }, { 125,5832 }, { 126,5832 }, { 127,5832 }, + + { 128,5832 }, { 129,5832 }, { 130,5832 }, { 131,5832 }, { 132,5832 }, + { 133,5832 }, { 134,5832 }, { 135,5832 }, { 136,5832 }, { 137,5832 }, + { 138,5832 }, { 139,5832 }, { 140,5832 }, { 141,5832 }, { 142,5832 }, + { 143,5832 }, { 144,5832 }, { 145,5832 }, { 146,5832 }, { 147,5832 }, + { 148,5832 }, { 149,5832 }, { 150,5832 }, { 151,5832 }, { 152,5832 }, + { 153,5832 }, { 154,5832 }, { 155,5832 }, { 156,5832 }, { 157,5832 }, + { 158,5832 }, { 159,5832 }, { 160,5832 }, { 161,5832 }, { 162,5832 }, + { 163,5832 }, { 164,5832 }, { 165,5832 }, { 166,5832 }, { 167,5832 }, + { 168,5832 }, { 169,5832 }, { 170,5832 }, { 171,5832 }, { 172,5832 }, + { 173,5832 }, { 174,5832 }, { 175,5832 }, { 176,5832 }, { 177,5832 }, + + { 178,5832 }, { 179,5832 }, { 180,5832 }, { 181,5832 }, { 182,5832 }, + { 183,5832 }, { 184,5832 }, { 185,5832 }, { 186,5832 }, { 187,5832 }, + { 188,5832 }, { 189,5832 }, { 190,5832 }, { 191,5832 }, { 192,5832 }, + { 193,5832 }, { 194,5832 }, { 195,5832 }, { 196,5832 }, { 197,5832 }, + { 198,5832 }, { 199,5832 }, { 200,5832 }, { 201,5832 }, { 202,5832 }, + { 203,5832 }, { 204,5832 }, { 205,5832 }, { 206,5832 }, { 207,5832 }, + { 208,5832 }, { 209,5832 }, { 210,5832 }, { 211,5832 }, { 212,5832 }, + { 213,5832 }, { 214,5832 }, { 215,5832 }, { 216,5832 }, { 217,5832 }, + { 218,5832 }, { 219,5832 }, { 220,5832 }, { 221,5832 }, { 222,5832 }, + { 223,5832 }, { 224,5832 }, { 225,5832 }, { 226,5832 }, { 227,5832 }, + + { 228,5832 }, { 229,5832 }, { 230,5832 }, { 231,5832 }, { 232,5832 }, + { 233,5832 }, { 234,5832 }, { 235,5832 }, { 236,5832 }, { 237,5832 }, + { 238,5832 }, { 239,5832 }, { 240,5832 }, { 241,5832 }, { 242,5832 }, + { 243,5832 }, { 244,5832 }, { 245,5832 }, { 246,5832 }, { 247,5832 }, + { 248,5832 }, { 249,5832 }, { 250,5832 }, { 251,5832 }, { 252,5832 }, + { 253,5832 }, { 254,5832 }, { 255,5832 }, { 256,5832 }, { 0, 38 }, + { 0,21642 }, { 0, 1 }, { 0,21640 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, + { 13, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, + { 0, 0 }, { 36,-5188 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,5832 }, { 66,5832 }, { 67,5832 }, { 68,5832 }, { 69,5832 }, + + { 70,5832 }, { 71,5832 }, { 72,5832 }, { 73,5832 }, { 74,5832 }, + { 75,5832 }, { 76,5832 }, { 77,5832 }, { 78,5832 }, { 79,5832 }, + { 80,5832 }, { 81,5832 }, { 82,5832 }, { 83,5832 }, { 84,5832 }, + { 85,5832 }, { 86,5832 }, { 87,5832 }, { 88,5832 }, { 89,5832 }, + { 90,5832 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,5832 }, { 0, 0 }, { 97,5832 }, { 98,5832 }, { 99,5832 }, + { 100,5832 }, { 101,5832 }, { 102,5832 }, { 103,5832 }, { 104,5832 }, + { 105,5832 }, { 106,5832 }, { 107,5832 }, { 108,5832 }, { 109,5832 }, + { 110,5832 }, { 111,5832 }, { 112,5832 }, { 113,5832 }, { 114,5832 }, + { 115,5832 }, { 116,5832 }, { 117,5832 }, { 118,5832 }, { 119,5832 }, + + { 120,5832 }, { 121,5832 }, { 122,5832 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5832 }, { 129,5832 }, + { 130,5832 }, { 131,5832 }, { 132,5832 }, { 133,5832 }, { 134,5832 }, + { 135,5832 }, { 136,5832 }, { 137,5832 }, { 138,5832 }, { 139,5832 }, + { 140,5832 }, { 141,5832 }, { 142,5832 }, { 143,5832 }, { 144,5832 }, + { 145,5832 }, { 146,5832 }, { 147,5832 }, { 148,5832 }, { 149,5832 }, + { 150,5832 }, { 151,5832 }, { 152,5832 }, { 153,5832 }, { 154,5832 }, + { 155,5832 }, { 156,5832 }, { 157,5832 }, { 158,5832 }, { 159,5832 }, + { 160,5832 }, { 161,5832 }, { 162,5832 }, { 163,5832 }, { 164,5832 }, + { 165,5832 }, { 166,5832 }, { 167,5832 }, { 168,5832 }, { 169,5832 }, + + { 170,5832 }, { 171,5832 }, { 172,5832 }, { 173,5832 }, { 174,5832 }, + { 175,5832 }, { 176,5832 }, { 177,5832 }, { 178,5832 }, { 179,5832 }, + { 180,5832 }, { 181,5832 }, { 182,5832 }, { 183,5832 }, { 184,5832 }, + { 185,5832 }, { 186,5832 }, { 187,5832 }, { 188,5832 }, { 189,5832 }, + { 190,5832 }, { 191,5832 }, { 192,5832 }, { 193,5832 }, { 194,5832 }, + { 195,5832 }, { 196,5832 }, { 197,5832 }, { 198,5832 }, { 199,5832 }, + { 200,5832 }, { 201,5832 }, { 202,5832 }, { 203,5832 }, { 204,5832 }, + { 205,5832 }, { 206,5832 }, { 207,5832 }, { 208,5832 }, { 209,5832 }, + { 210,5832 }, { 211,5832 }, { 212,5832 }, { 213,5832 }, { 214,5832 }, + { 215,5832 }, { 216,5832 }, { 217,5832 }, { 218,5832 }, { 219,5832 }, + + { 220,5832 }, { 221,5832 }, { 222,5832 }, { 223,5832 }, { 224,5832 }, + { 225,5832 }, { 226,5832 }, { 227,5832 }, { 228,5832 }, { 229,5832 }, + { 230,5832 }, { 231,5832 }, { 232,5832 }, { 233,5832 }, { 234,5832 }, + { 235,5832 }, { 236,5832 }, { 237,5832 }, { 238,5832 }, { 239,5832 }, + { 240,5832 }, { 241,5832 }, { 242,5832 }, { 243,5832 }, { 244,5832 }, + { 245,5832 }, { 246,5832 }, { 247,5832 }, { 248,5832 }, { 249,5832 }, + { 250,5832 }, { 251,5832 }, { 252,5832 }, { 253,5832 }, { 254,5832 }, + { 255,5832 }, { 0, 55 }, { 0,21385 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 53 }, { 0,21374 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 56 }, + { 0,21357 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, + { 43, 0 }, { 33, -11 }, { 45, 0 }, { 35, -11 }, { 47, 0 }, + { 37, -11 }, { 38, -11 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42, -11 }, { 43, -11 }, { 0, 0 }, { 45, -11 }, { 0, 0 }, + { 47, -11 }, { 0, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + + { 63, 0 }, { 64, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60, -11 }, { 61, -11 }, + { 62, -11 }, { 63, -11 }, { 64, -11 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 34 }, { 0,21294 }, { 0, 0 }, + { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94, -11 }, { 0, 0 }, { 96, -11 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, { 36,-5810 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 124, -11 }, { 0, 0 }, { 126, -11 }, + { 0, 0 }, { 48,5823 }, { 49,5823 }, { 50,5823 }, { 51,5823 }, + { 52,5823 }, { 53,5823 }, { 54,5823 }, { 55,5823 }, { 56,5823 }, + { 57,5823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5823 }, { 66,5823 }, + { 67,5823 }, { 68,5823 }, { 69,5823 }, { 70,5823 }, { 71,5823 }, + + { 72,5823 }, { 73,5823 }, { 74,5823 }, { 75,5823 }, { 76,5823 }, + { 77,5823 }, { 78,5823 }, { 79,5823 }, { 80,5823 }, { 81,5823 }, + { 82,5823 }, { 83,5823 }, { 84,5823 }, { 85,5823 }, { 86,5823 }, + { 87,5823 }, { 88,5823 }, { 89,5823 }, { 90,5823 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,5823 }, { 0, 0 }, + { 97,5823 }, { 98,5823 }, { 99,5823 }, { 100,5823 }, { 101,5823 }, + { 102,5823 }, { 103,5823 }, { 104,5823 }, { 105,5823 }, { 106,5823 }, + { 107,5823 }, { 108,5823 }, { 109,5823 }, { 110,5823 }, { 111,5823 }, + { 112,5823 }, { 113,5823 }, { 114,5823 }, { 115,5823 }, { 116,5823 }, + { 117,5823 }, { 118,5823 }, { 119,5823 }, { 120,5823 }, { 121,5823 }, + + { 122,5823 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,5823 }, { 129,5823 }, { 130,5823 }, { 131,5823 }, + { 132,5823 }, { 133,5823 }, { 134,5823 }, { 135,5823 }, { 136,5823 }, + { 137,5823 }, { 138,5823 }, { 139,5823 }, { 140,5823 }, { 141,5823 }, + { 142,5823 }, { 143,5823 }, { 144,5823 }, { 145,5823 }, { 146,5823 }, + { 147,5823 }, { 148,5823 }, { 149,5823 }, { 150,5823 }, { 151,5823 }, + { 152,5823 }, { 153,5823 }, { 154,5823 }, { 155,5823 }, { 156,5823 }, + { 157,5823 }, { 158,5823 }, { 159,5823 }, { 160,5823 }, { 161,5823 }, + { 162,5823 }, { 163,5823 }, { 164,5823 }, { 165,5823 }, { 166,5823 }, + { 167,5823 }, { 168,5823 }, { 169,5823 }, { 170,5823 }, { 171,5823 }, + + { 172,5823 }, { 173,5823 }, { 174,5823 }, { 175,5823 }, { 176,5823 }, + { 177,5823 }, { 178,5823 }, { 179,5823 }, { 180,5823 }, { 181,5823 }, + { 182,5823 }, { 183,5823 }, { 184,5823 }, { 185,5823 }, { 186,5823 }, + { 187,5823 }, { 188,5823 }, { 189,5823 }, { 190,5823 }, { 191,5823 }, + { 192,5823 }, { 193,5823 }, { 194,5823 }, { 195,5823 }, { 196,5823 }, + { 197,5823 }, { 198,5823 }, { 199,5823 }, { 200,5823 }, { 201,5823 }, + { 202,5823 }, { 203,5823 }, { 204,5823 }, { 205,5823 }, { 206,5823 }, + { 207,5823 }, { 208,5823 }, { 209,5823 }, { 210,5823 }, { 211,5823 }, + { 212,5823 }, { 213,5823 }, { 214,5823 }, { 215,5823 }, { 216,5823 }, + { 217,5823 }, { 218,5823 }, { 219,5823 }, { 220,5823 }, { 221,5823 }, + + { 222,5823 }, { 223,5823 }, { 224,5823 }, { 225,5823 }, { 226,5823 }, + { 227,5823 }, { 228,5823 }, { 229,5823 }, { 230,5823 }, { 231,5823 }, + { 232,5823 }, { 233,5823 }, { 234,5823 }, { 235,5823 }, { 236,5823 }, + { 237,5823 }, { 238,5823 }, { 239,5823 }, { 240,5823 }, { 241,5823 }, + { 242,5823 }, { 243,5823 }, { 244,5823 }, { 245,5823 }, { 246,5823 }, + { 247,5823 }, { 248,5823 }, { 249,5823 }, { 250,5823 }, { 251,5823 }, + { 252,5823 }, { 253,5823 }, { 254,5823 }, { 255,5823 }, { 0, 2 }, + { 0,21037 }, { 1,5823 }, { 2,5823 }, { 3,5823 }, { 4,5823 }, + { 5,5823 }, { 6,5823 }, { 7,5823 }, { 8,5823 }, { 9,5823 }, + { 0, 0 }, { 11,5823 }, { 12,5823 }, { 0, 0 }, { 14,5823 }, + + { 15,5823 }, { 16,5823 }, { 17,5823 }, { 18,5823 }, { 19,5823 }, + { 20,5823 }, { 21,5823 }, { 22,5823 }, { 23,5823 }, { 24,5823 }, + { 25,5823 }, { 26,5823 }, { 27,5823 }, { 28,5823 }, { 29,5823 }, + { 30,5823 }, { 31,5823 }, { 32,5823 }, { 33,6081 }, { 34,5823 }, + { 35,6081 }, { 36,5823 }, { 37,6081 }, { 38,6081 }, { 39,5823 }, + { 40,5823 }, { 41,5823 }, { 42,6081 }, { 43,6081 }, { 44,5823 }, + { 45,6081 }, { 46,5823 }, { 47,6081 }, { 48,5823 }, { 49,5823 }, + { 50,5823 }, { 51,5823 }, { 52,5823 }, { 53,5823 }, { 54,5823 }, + { 55,5823 }, { 56,5823 }, { 57,5823 }, { 58,5823 }, { 59,5823 }, + { 60,6081 }, { 61,6081 }, { 62,6081 }, { 63,6081 }, { 64,6081 }, + + { 65,5823 }, { 66,5823 }, { 67,5823 }, { 68,5823 }, { 69,5823 }, + { 70,5823 }, { 71,5823 }, { 72,5823 }, { 73,5823 }, { 74,5823 }, + { 75,5823 }, { 76,5823 }, { 77,5823 }, { 78,5823 }, { 79,5823 }, + { 80,5823 }, { 81,5823 }, { 82,5823 }, { 83,5823 }, { 84,5823 }, + { 85,5823 }, { 86,5823 }, { 87,5823 }, { 88,5823 }, { 89,5823 }, + { 90,5823 }, { 91,5823 }, { 92,5823 }, { 93,5823 }, { 94,6081 }, + { 95,5823 }, { 96,6081 }, { 97,5823 }, { 98,5823 }, { 99,5823 }, + { 100,5823 }, { 101,5823 }, { 102,5823 }, { 103,5823 }, { 104,5823 }, + { 105,5823 }, { 106,5823 }, { 107,5823 }, { 108,5823 }, { 109,5823 }, + { 110,5823 }, { 111,5823 }, { 112,5823 }, { 113,5823 }, { 114,5823 }, + + { 115,5823 }, { 116,5823 }, { 117,5823 }, { 118,5823 }, { 119,5823 }, + { 120,5823 }, { 121,5823 }, { 122,5823 }, { 123,5823 }, { 124,6081 }, + { 125,5823 }, { 126,6081 }, { 127,5823 }, { 128,5823 }, { 129,5823 }, + { 130,5823 }, { 131,5823 }, { 132,5823 }, { 133,5823 }, { 134,5823 }, + { 135,5823 }, { 136,5823 }, { 137,5823 }, { 138,5823 }, { 139,5823 }, + { 140,5823 }, { 141,5823 }, { 142,5823 }, { 143,5823 }, { 144,5823 }, + { 145,5823 }, { 146,5823 }, { 147,5823 }, { 148,5823 }, { 149,5823 }, + { 150,5823 }, { 151,5823 }, { 152,5823 }, { 153,5823 }, { 154,5823 }, + { 155,5823 }, { 156,5823 }, { 157,5823 }, { 158,5823 }, { 159,5823 }, + { 160,5823 }, { 161,5823 }, { 162,5823 }, { 163,5823 }, { 164,5823 }, + + { 165,5823 }, { 166,5823 }, { 167,5823 }, { 168,5823 }, { 169,5823 }, + { 170,5823 }, { 171,5823 }, { 172,5823 }, { 173,5823 }, { 174,5823 }, + { 175,5823 }, { 176,5823 }, { 177,5823 }, { 178,5823 }, { 179,5823 }, + { 180,5823 }, { 181,5823 }, { 182,5823 }, { 183,5823 }, { 184,5823 }, + { 185,5823 }, { 186,5823 }, { 187,5823 }, { 188,5823 }, { 189,5823 }, + { 190,5823 }, { 191,5823 }, { 192,5823 }, { 193,5823 }, { 194,5823 }, + { 195,5823 }, { 196,5823 }, { 197,5823 }, { 198,5823 }, { 199,5823 }, + { 200,5823 }, { 201,5823 }, { 202,5823 }, { 203,5823 }, { 204,5823 }, + { 205,5823 }, { 206,5823 }, { 207,5823 }, { 208,5823 }, { 209,5823 }, + { 210,5823 }, { 211,5823 }, { 212,5823 }, { 213,5823 }, { 214,5823 }, + + { 215,5823 }, { 216,5823 }, { 217,5823 }, { 218,5823 }, { 219,5823 }, + { 220,5823 }, { 221,5823 }, { 222,5823 }, { 223,5823 }, { 224,5823 }, + { 225,5823 }, { 226,5823 }, { 227,5823 }, { 228,5823 }, { 229,5823 }, + { 230,5823 }, { 231,5823 }, { 232,5823 }, { 233,5823 }, { 234,5823 }, + { 235,5823 }, { 236,5823 }, { 237,5823 }, { 238,5823 }, { 239,5823 }, + { 240,5823 }, { 241,5823 }, { 242,5823 }, { 243,5823 }, { 244,5823 }, + { 245,5823 }, { 246,5823 }, { 247,5823 }, { 248,5823 }, { 249,5823 }, + { 250,5823 }, { 251,5823 }, { 252,5823 }, { 253,5823 }, { 254,5823 }, + { 255,5823 }, { 256,5823 }, { 0, 64 }, { 0,20779 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,6081 }, { 49,6081 }, { 50,6081 }, { 51,6081 }, + { 52,6081 }, { 53,6081 }, { 54,6081 }, { 55,6081 }, { 56,6081 }, + + { 57,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6338 }, { 66,6338 }, + { 67,6338 }, { 68,6338 }, { 69,6595 }, { 70,6338 }, { 71,6338 }, + { 72,6338 }, { 73,6338 }, { 74,6338 }, { 75,6338 }, { 76,6338 }, + { 77,6338 }, { 78,6338 }, { 79,6338 }, { 80,6338 }, { 81,6338 }, + { 82,6338 }, { 83,6338 }, { 84,6338 }, { 85,6338 }, { 86,6338 }, + { 87,6338 }, { 88,6338 }, { 89,6338 }, { 90,6338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6852 }, { 0, 0 }, + { 97,6338 }, { 98,6338 }, { 99,6338 }, { 100,6338 }, { 101,6595 }, + { 102,6338 }, { 103,6338 }, { 104,6338 }, { 105,6338 }, { 106,6338 }, + + { 107,6338 }, { 108,6338 }, { 109,6338 }, { 110,6338 }, { 111,6338 }, + { 112,6338 }, { 113,6338 }, { 114,6338 }, { 115,6338 }, { 116,6338 }, + { 117,6338 }, { 118,6338 }, { 119,6338 }, { 120,6338 }, { 121,6338 }, + { 122,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,6338 }, { 129,6338 }, { 130,6338 }, { 131,6338 }, + { 132,6338 }, { 133,6338 }, { 134,6338 }, { 135,6338 }, { 136,6338 }, + { 137,6338 }, { 138,6338 }, { 139,6338 }, { 140,6338 }, { 141,6338 }, + { 142,6338 }, { 143,6338 }, { 144,6338 }, { 145,6338 }, { 146,6338 }, + { 147,6338 }, { 148,6338 }, { 149,6338 }, { 150,6338 }, { 151,6338 }, + { 152,6338 }, { 153,6338 }, { 154,6338 }, { 155,6338 }, { 156,6338 }, + + { 157,6338 }, { 158,6338 }, { 159,6338 }, { 160,6338 }, { 161,6338 }, + { 162,6338 }, { 163,6338 }, { 164,6338 }, { 165,6338 }, { 166,6338 }, + { 167,6338 }, { 168,6338 }, { 169,6338 }, { 170,6338 }, { 171,6338 }, + { 172,6338 }, { 173,6338 }, { 174,6338 }, { 175,6338 }, { 176,6338 }, + { 177,6338 }, { 178,6338 }, { 179,6338 }, { 180,6338 }, { 181,6338 }, + { 182,6338 }, { 183,6338 }, { 184,6338 }, { 185,6338 }, { 186,6338 }, + { 187,6338 }, { 188,6338 }, { 189,6338 }, { 190,6338 }, { 191,6338 }, + { 192,6338 }, { 193,6338 }, { 194,6338 }, { 195,6338 }, { 196,6338 }, + { 197,6338 }, { 198,6338 }, { 199,6338 }, { 200,6338 }, { 201,6338 }, + { 202,6338 }, { 203,6338 }, { 204,6338 }, { 205,6338 }, { 206,6338 }, + + { 207,6338 }, { 208,6338 }, { 209,6338 }, { 210,6338 }, { 211,6338 }, + { 212,6338 }, { 213,6338 }, { 214,6338 }, { 215,6338 }, { 216,6338 }, + { 217,6338 }, { 218,6338 }, { 219,6338 }, { 220,6338 }, { 221,6338 }, + { 222,6338 }, { 223,6338 }, { 224,6338 }, { 225,6338 }, { 226,6338 }, + { 227,6338 }, { 228,6338 }, { 229,6338 }, { 230,6338 }, { 231,6338 }, + { 232,6338 }, { 233,6338 }, { 234,6338 }, { 235,6338 }, { 236,6338 }, + { 237,6338 }, { 238,6338 }, { 239,6338 }, { 240,6338 }, { 241,6338 }, + { 242,6338 }, { 243,6338 }, { 244,6338 }, { 245,6338 }, { 246,6338 }, + { 247,6338 }, { 248,6338 }, { 249,6338 }, { 250,6338 }, { 251,6338 }, + { 252,6338 }, { 253,6338 }, { 254,6338 }, { 255,6338 }, { 0, 3 }, + + { 0,20522 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, - { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 33,3871 }, - { 0, 0 }, { 35,3871 }, { 0, 0 }, { 37,3871 }, { 38,3871 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,3871 }, { 43,3871 }, - { 69, 113 }, { 45,3871 }, { 0, 0 }, { 47,3871 }, { 46,-5589 }, - { 0, 0 }, { 48,3871 }, { 49,3871 }, { 50,3871 }, { 51,3871 }, - { 52,3871 }, { 53,3871 }, { 54,3871 }, { 55,3871 }, { 56,3871 }, - { 57,3871 }, { 60,3871 }, { 61,3871 }, { 62,3871 }, { 63,3871 }, - { 64,3871 }, { 0, 57 }, { 0,5176 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 69, 86 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 101, 113 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 61 }, { 0,5154 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94,3871 }, { 0, 0 }, { 96,3871 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 101, 86 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46, -64 }, { 0, 0 }, - { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 0, 0 }, { 0, 64 }, { 0,20490 }, { 33,6852 }, { 0, 0 }, + { 35,6852 }, { 0, 0 }, { 37,6852 }, { 38,6852 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,6852 }, { 43,6852 }, { 0, 0 }, + { 45,6852 }, { 0, 0 }, { 47,6852 }, { 0, 0 }, { 0, 0 }, - { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, - { 124,3871 }, { 0, 0 }, { 126,3871 }, { 0, 50 }, { 0,5114 }, - { 0, 0 }, { 0, 0 }, { 43,3807 }, { 0, 0 }, { 45,3807 }, - { 0, 0 }, { 69, 22 }, { 48,3849 }, { 49,3849 }, { 50,3849 }, - { 51,3849 }, { 52,3849 }, { 53,3849 }, { 54,3849 }, { 55,3849 }, - { 56,3849 }, { 57,3849 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 33,-759 }, { 0, 0 }, { 35,-759 }, - { 0, 0 }, { 37,-759 }, { 38,-759 }, { 101, 22 }, { 0, 52 }, - - { 0,5073 }, { 42,-759 }, { 43,-759 }, { 0, 0 }, { 45,-759 }, - { 0, 0 }, { 47,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 60,6852 }, { 61,6852 }, { 62,6852 }, { 63,6852 }, { 64,6852 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,-759 }, - { 61,-759 }, { 62,-759 }, { 63,-759 }, { 64,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-800 }, { 0, 0 }, - { 35,-800 }, { 0, 0 }, { 37,-800 }, { 38,-800 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 42,-800 }, { 43,-800 }, { 0, 0 }, - { 45,-800 }, { 0, 0 }, { 47,-800 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,-6338 }, { 0, 0 }, + { 48,6852 }, { 49,6852 }, { 50,6852 }, { 51,6852 }, { 52,6852 }, + { 53,6852 }, { 54,6852 }, { 55,6852 }, { 56,6852 }, { 57,6852 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,6852 }, + { 0, 0 }, { 96,6852 }, { 65,6049 }, { 66,6049 }, { 67,6049 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-759 }, { 0, 0 }, - { 96,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 60,-800 }, { 61,-800 }, { 62,-800 }, { 63,-800 }, { 64,-800 }, - { 0, 0 }, { 0, 49 }, { 0,5006 }, { 0, 0 }, { 0, 0 }, + { 68,6049 }, { 69,6306 }, { 70,6049 }, { 71,6049 }, { 72,6049 }, + { 73,6049 }, { 74,6049 }, { 75,6049 }, { 76,6049 }, { 77,6049 }, + { 78,6049 }, { 79,6049 }, { 80,6049 }, { 81,6049 }, { 82,6049 }, + { 83,6049 }, { 84,6049 }, { 85,6049 }, { 86,6049 }, { 87,6049 }, + { 88,6049 }, { 89,6049 }, { 90,6049 }, { 0, 0 }, { 124,6852 }, + { 0, 0 }, { 126,6852 }, { 95,6049 }, { 0, 0 }, { 97,6049 }, + { 98,6049 }, { 99,6049 }, { 100,6049 }, { 101,6306 }, { 102,6049 }, + { 103,6049 }, { 104,6049 }, { 105,6049 }, { 106,6049 }, { 107,6049 }, + { 108,6049 }, { 109,6049 }, { 110,6049 }, { 111,6049 }, { 112,6049 }, + { 113,6049 }, { 114,6049 }, { 115,6049 }, { 116,6049 }, { 117,6049 }, + + { 118,6049 }, { 119,6049 }, { 120,6049 }, { 121,6049 }, { 122,6049 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 51 }, { 0,4995 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,-759 }, { 0, 0 }, - { 126,-759 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-800 }, - { 0, 0 }, { 96,-800 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,6049 }, { 129,6049 }, { 130,6049 }, { 131,6049 }, { 132,6049 }, + { 133,6049 }, { 134,6049 }, { 135,6049 }, { 136,6049 }, { 137,6049 }, + { 138,6049 }, { 139,6049 }, { 140,6049 }, { 141,6049 }, { 142,6049 }, + { 143,6049 }, { 144,6049 }, { 145,6049 }, { 146,6049 }, { 147,6049 }, + { 148,6049 }, { 149,6049 }, { 150,6049 }, { 151,6049 }, { 152,6049 }, + { 153,6049 }, { 154,6049 }, { 155,6049 }, { 156,6049 }, { 157,6049 }, + { 158,6049 }, { 159,6049 }, { 160,6049 }, { 161,6049 }, { 162,6049 }, + { 163,6049 }, { 164,6049 }, { 165,6049 }, { 166,6049 }, { 167,6049 }, + + { 168,6049 }, { 169,6049 }, { 170,6049 }, { 171,6049 }, { 172,6049 }, + { 173,6049 }, { 174,6049 }, { 175,6049 }, { 176,6049 }, { 177,6049 }, + { 178,6049 }, { 179,6049 }, { 180,6049 }, { 181,6049 }, { 182,6049 }, + { 183,6049 }, { 184,6049 }, { 185,6049 }, { 186,6049 }, { 187,6049 }, + { 188,6049 }, { 189,6049 }, { 190,6049 }, { 191,6049 }, { 192,6049 }, + { 193,6049 }, { 194,6049 }, { 195,6049 }, { 196,6049 }, { 197,6049 }, + { 198,6049 }, { 199,6049 }, { 200,6049 }, { 201,6049 }, { 202,6049 }, + { 203,6049 }, { 204,6049 }, { 205,6049 }, { 206,6049 }, { 207,6049 }, + { 208,6049 }, { 209,6049 }, { 210,6049 }, { 211,6049 }, { 212,6049 }, + { 213,6049 }, { 214,6049 }, { 215,6049 }, { 216,6049 }, { 217,6049 }, - { 33,-867 }, { 0, 0 }, { 35,-867 }, { 0, 0 }, { 37,-867 }, - { 38,-867 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,-867 }, - { 43,-867 }, { 33,-878 }, { 45,-867 }, { 35,-878 }, { 47,-867 }, - { 37,-878 }, { 38,-878 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 42,-878 }, { 43,-878 }, { 0, 0 }, { 45,-878 }, { 124,-800 }, - { 47,-878 }, { 126,-800 }, { 60,-867 }, { 61,-867 }, { 62,-867 }, - { 63,-867 }, { 64,-867 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,-878 }, { 61,-878 }, - { 62,-878 }, { 63,-878 }, { 64,-878 }, { 0, 0 }, { 0, 0 }, + { 218,6049 }, { 219,6049 }, { 220,6049 }, { 221,6049 }, { 222,6049 }, + { 223,6049 }, { 224,6049 }, { 225,6049 }, { 226,6049 }, { 227,6049 }, + { 228,6049 }, { 229,6049 }, { 230,6049 }, { 231,6049 }, { 232,6049 }, + { 233,6049 }, { 234,6049 }, { 235,6049 }, { 236,6049 }, { 237,6049 }, + { 238,6049 }, { 239,6049 }, { 240,6049 }, { 241,6049 }, { 242,6049 }, + { 243,6049 }, { 244,6049 }, { 245,6049 }, { 246,6049 }, { 247,6049 }, + { 248,6049 }, { 249,6049 }, { 250,6049 }, { 251,6049 }, { 252,6049 }, + { 253,6049 }, { 254,6049 }, { 255,6049 }, { 0, 57 }, { 0,20233 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 63 }, { 0,4915 }, { 0, 0 }, - { 0, 0 }, { 94,-867 }, { 0, 0 }, { 96,-867 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 94,-878 }, { 0, 0 }, { 96,-878 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 124,-867 }, { 0, 0 }, { 126,-867 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 46,-257 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 124,-878 }, { 0, 0 }, { 126,-878 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, - { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, - { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, - { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, - { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, - { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, + { 66, 257 }, { 67, 257 }, { 68, 257 }, { 69, 771 }, { 70, 257 }, + { 71, 257 }, { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, + { 76, 257 }, { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, + { 81, 257 }, { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, + { 86, 257 }, { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1542 }, + { 0, 0 }, { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, + { 101, 771 }, { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, + { 106, 257 }, { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, + + { 111, 257 }, { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, + { 116, 257 }, { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, + { 121, 257 }, { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, + { 131, 257 }, { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, + { 136, 257 }, { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, + { 141, 257 }, { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, + { 146, 257 }, { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, + { 151, 257 }, { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, + { 156, 257 }, { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, + + { 161, 257 }, { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, + { 166, 257 }, { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, + { 171, 257 }, { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, + { 176, 257 }, { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, + { 181, 257 }, { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, + { 186, 257 }, { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, + { 191, 257 }, { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, + { 196, 257 }, { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, + { 201, 257 }, { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, + { 206, 257 }, { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, + + { 211, 257 }, { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, + { 216, 257 }, { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, + { 221, 257 }, { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, + { 226, 257 }, { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, + { 231, 257 }, { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, + { 236, 257 }, { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, + { 241, 257 }, { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, + { 246, 257 }, { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, + { 251, 257 }, { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, + { 0, 68 }, { 0,19976 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,6595 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,6595 }, + { 49,6595 }, { 50,6595 }, { 51,6595 }, { 52,6595 }, { 53,6595 }, + + { 54,6595 }, { 55,6595 }, { 56,6595 }, { 57,6595 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,6595 }, { 66,6595 }, { 67,6595 }, { 68,6595 }, + { 69,6595 }, { 70,6595 }, { 71,6595 }, { 72,6595 }, { 73,6595 }, + { 74,6595 }, { 75,6595 }, { 76,6595 }, { 77,6595 }, { 78,6595 }, + { 79,6595 }, { 80,6595 }, { 81,6595 }, { 82,6595 }, { 83,6595 }, + { 84,6595 }, { 85,6595 }, { 86,6595 }, { 87,6595 }, { 88,6595 }, + { 89,6595 }, { 90,6595 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,6595 }, { 0, 0 }, { 97,6595 }, { 98,6595 }, + { 99,6595 }, { 100,6595 }, { 101,6595 }, { 102,6595 }, { 103,6595 }, + + { 104,6595 }, { 105,6595 }, { 106,6595 }, { 107,6595 }, { 108,6595 }, + { 109,6595 }, { 110,6595 }, { 111,6595 }, { 112,6595 }, { 113,6595 }, + { 114,6595 }, { 115,6595 }, { 116,6595 }, { 117,6595 }, { 118,6595 }, + { 119,6595 }, { 120,6595 }, { 121,6595 }, { 122,6595 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6595 }, + { 129,6595 }, { 130,6595 }, { 131,6595 }, { 132,6595 }, { 133,6595 }, + { 134,6595 }, { 135,6595 }, { 136,6595 }, { 137,6595 }, { 138,6595 }, + { 139,6595 }, { 140,6595 }, { 141,6595 }, { 142,6595 }, { 143,6595 }, + { 144,6595 }, { 145,6595 }, { 146,6595 }, { 147,6595 }, { 148,6595 }, + { 149,6595 }, { 150,6595 }, { 151,6595 }, { 152,6595 }, { 153,6595 }, + + { 154,6595 }, { 155,6595 }, { 156,6595 }, { 157,6595 }, { 158,6595 }, + { 159,6595 }, { 160,6595 }, { 161,6595 }, { 162,6595 }, { 163,6595 }, + { 164,6595 }, { 165,6595 }, { 166,6595 }, { 167,6595 }, { 168,6595 }, + { 169,6595 }, { 170,6595 }, { 171,6595 }, { 172,6595 }, { 173,6595 }, + { 174,6595 }, { 175,6595 }, { 176,6595 }, { 177,6595 }, { 178,6595 }, + { 179,6595 }, { 180,6595 }, { 181,6595 }, { 182,6595 }, { 183,6595 }, + { 184,6595 }, { 185,6595 }, { 186,6595 }, { 187,6595 }, { 188,6595 }, + { 189,6595 }, { 190,6595 }, { 191,6595 }, { 192,6595 }, { 193,6595 }, + { 194,6595 }, { 195,6595 }, { 196,6595 }, { 197,6595 }, { 198,6595 }, + { 199,6595 }, { 200,6595 }, { 201,6595 }, { 202,6595 }, { 203,6595 }, + + { 204,6595 }, { 205,6595 }, { 206,6595 }, { 207,6595 }, { 208,6595 }, + { 209,6595 }, { 210,6595 }, { 211,6595 }, { 212,6595 }, { 213,6595 }, + { 214,6595 }, { 215,6595 }, { 216,6595 }, { 217,6595 }, { 218,6595 }, + { 219,6595 }, { 220,6595 }, { 221,6595 }, { 222,6595 }, { 223,6595 }, + { 224,6595 }, { 225,6595 }, { 226,6595 }, { 227,6595 }, { 228,6595 }, + { 229,6595 }, { 230,6595 }, { 231,6595 }, { 232,6595 }, { 233,6595 }, + { 234,6595 }, { 235,6595 }, { 236,6595 }, { 237,6595 }, { 238,6595 }, + { 239,6595 }, { 240,6595 }, { 241,6595 }, { 242,6595 }, { 243,6595 }, + { 244,6595 }, { 245,6595 }, { 246,6595 }, { 247,6595 }, { 248,6595 }, + { 249,6595 }, { 250,6595 }, { 251,6595 }, { 252,6595 }, { 253,6595 }, + + { 254,6595 }, { 255,6595 }, { 0, 63 }, { 0,19719 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,6338 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 48,6595 }, { 49,6595 }, { 50,6338 }, { 51,6338 }, + { 52,6338 }, { 53,6338 }, { 54,6338 }, { 55,6338 }, { 56,6338 }, + { 57,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,6338 }, { 66,6338 }, + { 67,6338 }, { 68,6338 }, { 69,6338 }, { 70,6338 }, { 71,6338 }, + { 72,6338 }, { 73,6338 }, { 74,6338 }, { 75,6338 }, { 76,6338 }, + { 77,6338 }, { 78,6338 }, { 79,6338 }, { 80,6338 }, { 81,6338 }, + { 82,6338 }, { 83,6338 }, { 84,6338 }, { 85,6338 }, { 86,6338 }, + { 87,6338 }, { 88,6338 }, { 89,6338 }, { 90,6338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,6852 }, { 0, 0 }, + + { 97,6338 }, { 98,6338 }, { 99,6338 }, { 100,6338 }, { 101,6338 }, + { 102,6338 }, { 103,6338 }, { 104,6338 }, { 105,6338 }, { 106,6338 }, + { 107,6338 }, { 108,6338 }, { 109,6338 }, { 110,6338 }, { 111,6338 }, + { 112,6338 }, { 113,6338 }, { 114,6338 }, { 115,6338 }, { 116,6338 }, + { 117,6338 }, { 118,6338 }, { 119,6338 }, { 120,6338 }, { 121,6338 }, + { 122,6338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,6338 }, { 129,6338 }, { 130,6338 }, { 131,6338 }, + { 132,6338 }, { 133,6338 }, { 134,6338 }, { 135,6338 }, { 136,6338 }, + { 137,6338 }, { 138,6338 }, { 139,6338 }, { 140,6338 }, { 141,6338 }, + { 142,6338 }, { 143,6338 }, { 144,6338 }, { 145,6338 }, { 146,6338 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, - { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, - { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, - { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, - { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, - { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, - { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, - { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, - { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 147,6338 }, { 148,6338 }, { 149,6338 }, { 150,6338 }, { 151,6338 }, + { 152,6338 }, { 153,6338 }, { 154,6338 }, { 155,6338 }, { 156,6338 }, + { 157,6338 }, { 158,6338 }, { 159,6338 }, { 160,6338 }, { 161,6338 }, + { 162,6338 }, { 163,6338 }, { 164,6338 }, { 165,6338 }, { 166,6338 }, + { 167,6338 }, { 168,6338 }, { 169,6338 }, { 170,6338 }, { 171,6338 }, + { 172,6338 }, { 173,6338 }, { 174,6338 }, { 175,6338 }, { 176,6338 }, + { 177,6338 }, { 178,6338 }, { 179,6338 }, { 180,6338 }, { 181,6338 }, + { 182,6338 }, { 183,6338 }, { 184,6338 }, { 185,6338 }, { 186,6338 }, + { 187,6338 }, { 188,6338 }, { 189,6338 }, { 190,6338 }, { 191,6338 }, + { 192,6338 }, { 193,6338 }, { 194,6338 }, { 195,6338 }, { 196,6338 }, - { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, - { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, - { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, - { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, - { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, - { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, - { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, - { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, - { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, - { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 197,6338 }, { 198,6338 }, { 199,6338 }, { 200,6338 }, { 201,6338 }, + { 202,6338 }, { 203,6338 }, { 204,6338 }, { 205,6338 }, { 206,6338 }, + { 207,6338 }, { 208,6338 }, { 209,6338 }, { 210,6338 }, { 211,6338 }, + { 212,6338 }, { 213,6338 }, { 214,6338 }, { 215,6338 }, { 216,6338 }, + { 217,6338 }, { 218,6338 }, { 219,6338 }, { 220,6338 }, { 221,6338 }, + { 222,6338 }, { 223,6338 }, { 224,6338 }, { 225,6338 }, { 226,6338 }, + { 227,6338 }, { 228,6338 }, { 229,6338 }, { 230,6338 }, { 231,6338 }, + { 232,6338 }, { 233,6338 }, { 234,6338 }, { 235,6338 }, { 236,6338 }, + { 237,6338 }, { 238,6338 }, { 239,6338 }, { 240,6338 }, { 241,6338 }, + { 242,6338 }, { 243,6338 }, { 244,6338 }, { 245,6338 }, { 246,6338 }, + + { 247,6338 }, { 248,6338 }, { 249,6338 }, { 250,6338 }, { 251,6338 }, + { 252,6338 }, { 253,6338 }, { 254,6338 }, { 255,6338 }, { 0, 68 }, + { 0,19462 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,6852 }, { 0, 0 }, + { 45,6852 }, { 0, 0 }, { 0, 0 }, { 48,6862 }, { 49,6862 }, + { 50,6862 }, { 51,6862 }, { 52,6862 }, { 53,6862 }, { 54,6862 }, + { 55,6862 }, { 56,6862 }, { 57,6862 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,6081 }, { 66,6081 }, { 67,6081 }, { 68,6081 }, { 69,6081 }, + { 70,6081 }, { 71,6081 }, { 72,6081 }, { 73,6081 }, { 74,6081 }, + { 75,6081 }, { 76,6081 }, { 77,6081 }, { 78,6081 }, { 79,6081 }, + { 80,6081 }, { 81,6081 }, { 82,6081 }, { 83,6081 }, { 84,6081 }, + { 85,6081 }, { 86,6081 }, { 87,6081 }, { 88,6081 }, { 89,6081 }, - { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, - { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, - { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, - { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, - { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, - { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, - { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, - { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, - { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, - { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 90,6081 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,6081 }, { 0, 0 }, { 97,6081 }, { 98,6081 }, { 99,6081 }, + { 100,6081 }, { 101,6081 }, { 102,6081 }, { 103,6081 }, { 104,6081 }, + { 105,6081 }, { 106,6081 }, { 107,6081 }, { 108,6081 }, { 109,6081 }, + { 110,6081 }, { 111,6081 }, { 112,6081 }, { 113,6081 }, { 114,6081 }, + { 115,6081 }, { 116,6081 }, { 117,6081 }, { 118,6081 }, { 119,6081 }, + { 120,6081 }, { 121,6081 }, { 122,6081 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,6081 }, { 129,6081 }, + { 130,6081 }, { 131,6081 }, { 132,6081 }, { 133,6081 }, { 134,6081 }, + { 135,6081 }, { 136,6081 }, { 137,6081 }, { 138,6081 }, { 139,6081 }, - { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, - { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, - { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 11 }, - { 0,4658 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, - { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, - { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, - { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, - { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, - { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, - { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, - - { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, - { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, - { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, - { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, - { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, - { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, - { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, - { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, - { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, + { 140,6081 }, { 141,6081 }, { 142,6081 }, { 143,6081 }, { 144,6081 }, + { 145,6081 }, { 146,6081 }, { 147,6081 }, { 148,6081 }, { 149,6081 }, + { 150,6081 }, { 151,6081 }, { 152,6081 }, { 153,6081 }, { 154,6081 }, + { 155,6081 }, { 156,6081 }, { 157,6081 }, { 158,6081 }, { 159,6081 }, + { 160,6081 }, { 161,6081 }, { 162,6081 }, { 163,6081 }, { 164,6081 }, + { 165,6081 }, { 166,6081 }, { 167,6081 }, { 168,6081 }, { 169,6081 }, + { 170,6081 }, { 171,6081 }, { 172,6081 }, { 173,6081 }, { 174,6081 }, + { 175,6081 }, { 176,6081 }, { 177,6081 }, { 178,6081 }, { 179,6081 }, + { 180,6081 }, { 181,6081 }, { 182,6081 }, { 183,6081 }, { 184,6081 }, + { 185,6081 }, { 186,6081 }, { 187,6081 }, { 188,6081 }, { 189,6081 }, - { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, - { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, - { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, - { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, - { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, - { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, - { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, - { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, - { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, - { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, + { 190,6081 }, { 191,6081 }, { 192,6081 }, { 193,6081 }, { 194,6081 }, + { 195,6081 }, { 196,6081 }, { 197,6081 }, { 198,6081 }, { 199,6081 }, + { 200,6081 }, { 201,6081 }, { 202,6081 }, { 203,6081 }, { 204,6081 }, + { 205,6081 }, { 206,6081 }, { 207,6081 }, { 208,6081 }, { 209,6081 }, + { 210,6081 }, { 211,6081 }, { 212,6081 }, { 213,6081 }, { 214,6081 }, + { 215,6081 }, { 216,6081 }, { 217,6081 }, { 218,6081 }, { 219,6081 }, + { 220,6081 }, { 221,6081 }, { 222,6081 }, { 223,6081 }, { 224,6081 }, + { 225,6081 }, { 226,6081 }, { 227,6081 }, { 228,6081 }, { 229,6081 }, + { 230,6081 }, { 231,6081 }, { 232,6081 }, { 233,6081 }, { 234,6081 }, + { 235,6081 }, { 236,6081 }, { 237,6081 }, { 238,6081 }, { 239,6081 }, + + { 240,6081 }, { 241,6081 }, { 242,6081 }, { 243,6081 }, { 244,6081 }, + { 245,6081 }, { 246,6081 }, { 247,6081 }, { 248,6081 }, { 249,6081 }, + { 250,6081 }, { 251,6081 }, { 252,6081 }, { 253,6081 }, { 254,6081 }, + { 255,6081 }, { 0, 62 }, { 0,19205 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,5824 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,6862 }, { 49,6862 }, { 50,6862 }, { 51,6862 }, { 52,6862 }, + { 53,6862 }, { 54,6862 }, { 55,6862 }, { 56,5824 }, { 57,5824 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5824 }, { 66,5824 }, { 67,5824 }, + { 68,5824 }, { 69,5824 }, { 70,5824 }, { 71,5824 }, { 72,5824 }, + { 73,5824 }, { 74,5824 }, { 75,5824 }, { 76,5824 }, { 77,5824 }, + { 78,5824 }, { 79,5824 }, { 80,5824 }, { 81,5824 }, { 82,5824 }, + + { 83,5824 }, { 84,5824 }, { 85,5824 }, { 86,5824 }, { 87,5824 }, + { 88,5824 }, { 89,5824 }, { 90,5824 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,7119 }, { 0, 0 }, { 97,5824 }, + { 98,5824 }, { 99,5824 }, { 100,5824 }, { 101,5824 }, { 102,5824 }, + { 103,5824 }, { 104,5824 }, { 105,5824 }, { 106,5824 }, { 107,5824 }, + { 108,5824 }, { 109,5824 }, { 110,5824 }, { 111,5824 }, { 112,5824 }, + { 113,5824 }, { 114,5824 }, { 115,5824 }, { 116,5824 }, { 117,5824 }, + { 118,5824 }, { 119,5824 }, { 120,5824 }, { 121,5824 }, { 122,5824 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,5824 }, { 129,5824 }, { 130,5824 }, { 131,5824 }, { 132,5824 }, - { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, - { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, - { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, - { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, - { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, - { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, - { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, - { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, - { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, - { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, + { 133,5824 }, { 134,5824 }, { 135,5824 }, { 136,5824 }, { 137,5824 }, + { 138,5824 }, { 139,5824 }, { 140,5824 }, { 141,5824 }, { 142,5824 }, + { 143,5824 }, { 144,5824 }, { 145,5824 }, { 146,5824 }, { 147,5824 }, + { 148,5824 }, { 149,5824 }, { 150,5824 }, { 151,5824 }, { 152,5824 }, + { 153,5824 }, { 154,5824 }, { 155,5824 }, { 156,5824 }, { 157,5824 }, + { 158,5824 }, { 159,5824 }, { 160,5824 }, { 161,5824 }, { 162,5824 }, + { 163,5824 }, { 164,5824 }, { 165,5824 }, { 166,5824 }, { 167,5824 }, + { 168,5824 }, { 169,5824 }, { 170,5824 }, { 171,5824 }, { 172,5824 }, + { 173,5824 }, { 174,5824 }, { 175,5824 }, { 176,5824 }, { 177,5824 }, + { 178,5824 }, { 179,5824 }, { 180,5824 }, { 181,5824 }, { 182,5824 }, - { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, - { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, - { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, - { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, - { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, - { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, - { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, - { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, - { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, - { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, + { 183,5824 }, { 184,5824 }, { 185,5824 }, { 186,5824 }, { 187,5824 }, + { 188,5824 }, { 189,5824 }, { 190,5824 }, { 191,5824 }, { 192,5824 }, + { 193,5824 }, { 194,5824 }, { 195,5824 }, { 196,5824 }, { 197,5824 }, + { 198,5824 }, { 199,5824 }, { 200,5824 }, { 201,5824 }, { 202,5824 }, + { 203,5824 }, { 204,5824 }, { 205,5824 }, { 206,5824 }, { 207,5824 }, + { 208,5824 }, { 209,5824 }, { 210,5824 }, { 211,5824 }, { 212,5824 }, + { 213,5824 }, { 214,5824 }, { 215,5824 }, { 216,5824 }, { 217,5824 }, + { 218,5824 }, { 219,5824 }, { 220,5824 }, { 221,5824 }, { 222,5824 }, + { 223,5824 }, { 224,5824 }, { 225,5824 }, { 226,5824 }, { 227,5824 }, + { 228,5824 }, { 229,5824 }, { 230,5824 }, { 231,5824 }, { 232,5824 }, + + { 233,5824 }, { 234,5824 }, { 235,5824 }, { 236,5824 }, { 237,5824 }, + { 238,5824 }, { 239,5824 }, { 240,5824 }, { 241,5824 }, { 242,5824 }, + { 243,5824 }, { 244,5824 }, { 245,5824 }, { 246,5824 }, { 247,5824 }, + { 248,5824 }, { 249,5824 }, { 250,5824 }, { 251,5824 }, { 252,5824 }, + { 253,5824 }, { 254,5824 }, { 255,5824 }, { 0, 61 }, { 0,18948 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,5567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,7119 }, { 49,7119 }, { 50,7119 }, + { 51,7119 }, { 52,7119 }, { 53,7119 }, { 54,7119 }, { 55,7119 }, + { 56,7119 }, { 57,7119 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,7119 }, + { 66,7119 }, { 67,7119 }, { 68,7119 }, { 69,7119 }, { 70,7119 }, + { 71,5567 }, { 72,5567 }, { 73,5567 }, { 74,5567 }, { 75,5567 }, + + { 76,5567 }, { 77,5567 }, { 78,5567 }, { 79,5567 }, { 80,5567 }, + { 81,5567 }, { 82,5567 }, { 83,5567 }, { 84,5567 }, { 85,5567 }, + { 86,5567 }, { 87,5567 }, { 88,5567 }, { 89,5567 }, { 90,5567 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,7376 }, + { 0, 0 }, { 97,7119 }, { 98,7119 }, { 99,7119 }, { 100,7119 }, + { 101,7119 }, { 102,7119 }, { 103,5567 }, { 104,5567 }, { 105,5567 }, + { 106,5567 }, { 107,5567 }, { 108,5567 }, { 109,5567 }, { 110,5567 }, + { 111,5567 }, { 112,5567 }, { 113,5567 }, { 114,5567 }, { 115,5567 }, + { 116,5567 }, { 117,5567 }, { 118,5567 }, { 119,5567 }, { 120,5567 }, + { 121,5567 }, { 122,5567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, - { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, - { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, - { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, - { 255, 0 }, { 256, 0 }, { 0, 6 }, { 0,4400 }, { 1, 0 }, - { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, - { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, - { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, - { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, - { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 0, 0 }, { 0, 0 }, { 128,5567 }, { 129,5567 }, { 130,5567 }, + { 131,5567 }, { 132,5567 }, { 133,5567 }, { 134,5567 }, { 135,5567 }, + { 136,5567 }, { 137,5567 }, { 138,5567 }, { 139,5567 }, { 140,5567 }, + { 141,5567 }, { 142,5567 }, { 143,5567 }, { 144,5567 }, { 145,5567 }, + { 146,5567 }, { 147,5567 }, { 148,5567 }, { 149,5567 }, { 150,5567 }, + { 151,5567 }, { 152,5567 }, { 153,5567 }, { 154,5567 }, { 155,5567 }, + { 156,5567 }, { 157,5567 }, { 158,5567 }, { 159,5567 }, { 160,5567 }, + { 161,5567 }, { 162,5567 }, { 163,5567 }, { 164,5567 }, { 165,5567 }, + { 166,5567 }, { 167,5567 }, { 168,5567 }, { 169,5567 }, { 170,5567 }, + { 171,5567 }, { 172,5567 }, { 173,5567 }, { 174,5567 }, { 175,5567 }, - { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, - { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, - { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, - { 0, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, - { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, - { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, - { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 176,5567 }, { 177,5567 }, { 178,5567 }, { 179,5567 }, { 180,5567 }, + { 181,5567 }, { 182,5567 }, { 183,5567 }, { 184,5567 }, { 185,5567 }, + { 186,5567 }, { 187,5567 }, { 188,5567 }, { 189,5567 }, { 190,5567 }, + { 191,5567 }, { 192,5567 }, { 193,5567 }, { 194,5567 }, { 195,5567 }, + { 196,5567 }, { 197,5567 }, { 198,5567 }, { 199,5567 }, { 200,5567 }, + { 201,5567 }, { 202,5567 }, { 203,5567 }, { 204,5567 }, { 205,5567 }, + { 206,5567 }, { 207,5567 }, { 208,5567 }, { 209,5567 }, { 210,5567 }, + { 211,5567 }, { 212,5567 }, { 213,5567 }, { 214,5567 }, { 215,5567 }, + { 216,5567 }, { 217,5567 }, { 218,5567 }, { 219,5567 }, { 220,5567 }, + { 221,5567 }, { 222,5567 }, { 223,5567 }, { 224,5567 }, { 225,5567 }, + + { 226,5567 }, { 227,5567 }, { 228,5567 }, { 229,5567 }, { 230,5567 }, + { 231,5567 }, { 232,5567 }, { 233,5567 }, { 234,5567 }, { 235,5567 }, + { 236,5567 }, { 237,5567 }, { 238,5567 }, { 239,5567 }, { 240,5567 }, + { 241,5567 }, { 242,5567 }, { 243,5567 }, { 244,5567 }, { 245,5567 }, + { 246,5567 }, { 247,5567 }, { 248,5567 }, { 249,5567 }, { 250,5567 }, + { 251,5567 }, { 252,5567 }, { 253,5567 }, { 254,5567 }, { 255,5567 }, + { 0, 68 }, { 0,18691 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, - { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, - { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, - { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, - { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, - { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, - { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, - { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, - { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, - { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,5310 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,7376 }, + { 49,7376 }, { 50,7376 }, { 51,7376 }, { 52,7376 }, { 53,7376 }, + { 54,7376 }, { 55,7376 }, { 56,7376 }, { 57,7376 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,5310 }, { 66,5310 }, { 67,5310 }, { 68,5310 }, - { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, - { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, - { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, - { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, - { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, - { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, - { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, - { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, - { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, - { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 69,5310 }, { 70,5310 }, { 71,5310 }, { 72,5310 }, { 73,5310 }, + { 74,5310 }, { 75,5310 }, { 76,5310 }, { 77,5310 }, { 78,5310 }, + { 79,5310 }, { 80,5310 }, { 81,5310 }, { 82,5310 }, { 83,5310 }, + { 84,5310 }, { 85,5310 }, { 86,5310 }, { 87,5310 }, { 88,5310 }, + { 89,5310 }, { 90,5310 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,5310 }, { 0, 0 }, { 97,5310 }, { 98,5310 }, + { 99,5310 }, { 100,5310 }, { 101,5310 }, { 102,5310 }, { 103,5310 }, + { 104,5310 }, { 105,5310 }, { 106,5310 }, { 107,5310 }, { 108,5310 }, + { 109,5310 }, { 110,5310 }, { 111,5310 }, { 112,5310 }, { 113,5310 }, + { 114,5310 }, { 115,5310 }, { 116,5310 }, { 117,5310 }, { 118,5310 }, - { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, - { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, - { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, - { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, - { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, - { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, - { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, - { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, - { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, - { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 119,5310 }, { 120,5310 }, { 121,5310 }, { 122,5310 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,5310 }, + { 129,5310 }, { 130,5310 }, { 131,5310 }, { 132,5310 }, { 133,5310 }, + { 134,5310 }, { 135,5310 }, { 136,5310 }, { 137,5310 }, { 138,5310 }, + { 139,5310 }, { 140,5310 }, { 141,5310 }, { 142,5310 }, { 143,5310 }, + { 144,5310 }, { 145,5310 }, { 146,5310 }, { 147,5310 }, { 148,5310 }, + { 149,5310 }, { 150,5310 }, { 151,5310 }, { 152,5310 }, { 153,5310 }, + { 154,5310 }, { 155,5310 }, { 156,5310 }, { 157,5310 }, { 158,5310 }, + { 159,5310 }, { 160,5310 }, { 161,5310 }, { 162,5310 }, { 163,5310 }, + { 164,5310 }, { 165,5310 }, { 166,5310 }, { 167,5310 }, { 168,5310 }, - { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, - { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, - { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, - { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, - { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, - { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, - { 0, 4 }, { 0,4142 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 169,5310 }, { 170,5310 }, { 171,5310 }, { 172,5310 }, { 173,5310 }, + { 174,5310 }, { 175,5310 }, { 176,5310 }, { 177,5310 }, { 178,5310 }, + { 179,5310 }, { 180,5310 }, { 181,5310 }, { 182,5310 }, { 183,5310 }, + { 184,5310 }, { 185,5310 }, { 186,5310 }, { 187,5310 }, { 188,5310 }, + { 189,5310 }, { 190,5310 }, { 191,5310 }, { 192,5310 }, { 193,5310 }, + { 194,5310 }, { 195,5310 }, { 196,5310 }, { 197,5310 }, { 198,5310 }, + { 199,5310 }, { 200,5310 }, { 201,5310 }, { 202,5310 }, { 203,5310 }, + { 204,5310 }, { 205,5310 }, { 206,5310 }, { 207,5310 }, { 208,5310 }, + { 209,5310 }, { 210,5310 }, { 211,5310 }, { 212,5310 }, { 213,5310 }, + { 214,5310 }, { 215,5310 }, { 216,5310 }, { 217,5310 }, { 218,5310 }, + + { 219,5310 }, { 220,5310 }, { 221,5310 }, { 222,5310 }, { 223,5310 }, + { 224,5310 }, { 225,5310 }, { 226,5310 }, { 227,5310 }, { 228,5310 }, + { 229,5310 }, { 230,5310 }, { 231,5310 }, { 232,5310 }, { 233,5310 }, + { 234,5310 }, { 235,5310 }, { 236,5310 }, { 237,5310 }, { 238,5310 }, + { 239,5310 }, { 240,5310 }, { 241,5310 }, { 242,5310 }, { 243,5310 }, + { 244,5310 }, { 245,5310 }, { 246,5310 }, { 247,5310 }, { 248,5310 }, + { 249,5310 }, { 250,5310 }, { 251,5310 }, { 252,5310 }, { 253,5310 }, + { 254,5310 }, { 255,5310 }, { 0, 50 }, { 0,18434 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 52 }, { 0,18423 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,2863 }, - { 0, 0 }, { 35,2863 }, { 0, 0 }, { 37,2863 }, { 38,2863 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,2863 }, { 43,2863 }, - { 0, 0 }, { 45,2863 }, { 0, 0 }, { 47,2863 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 60,2863 }, { 61,2863 }, { 62,2863 }, { 63,2863 }, - { 64,2863 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 33,-2951 }, { 0, 0 }, { 35,-2951 }, { 0, 0 }, + { 37,-2951 }, { 38,-2951 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 42,-2951 }, { 43,-2951 }, { 33,-2962 }, { 45,-2951 }, { 35,-2962 }, + { 47,-2951 }, { 37,-2962 }, { 38,-2962 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42,-2962 }, { 43,-2962 }, { 0, 0 }, { 45,-2962 }, + { 0, 0 }, { 47,-2962 }, { 0, 0 }, { 60,-2951 }, { 61,-2951 }, + { 62,-2951 }, { 63,-2951 }, { 64,-2951 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60,-2962 }, + { 61,-2962 }, { 62,-2962 }, { 63,-2962 }, { 64,-2962 }, { 0, 0 }, + { 0, 49 }, { 0,18356 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 94,-2951 }, { 0, 0 }, { 96,-2951 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,-2962 }, { 0, 0 }, + { 96,-2962 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-3029 }, + + { 0, 0 }, { 35,-3029 }, { 0, 0 }, { 37,-3029 }, { 38,-3029 }, + { 0, 51 }, { 0,18316 }, { 0, 0 }, { 42,-3029 }, { 43,-3029 }, + { 0, 0 }, { 45,-3029 }, { 124,-2951 }, { 47,-3029 }, { 126,-2951 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,-2962 }, { 0, 0 }, + { 126,-2962 }, { 60,-3029 }, { 61,-3029 }, { 62,-3029 }, { 63,-3029 }, + { 64,-3029 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,-3069 }, + { 0, 0 }, { 35,-3069 }, { 0, 0 }, { 37,-3069 }, { 38,-3069 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42,-3069 }, { 43,-3069 }, + + { 0, 0 }, { 45,-3069 }, { 0, 0 }, { 47,-3069 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 94,-3029 }, { 0, 0 }, { 96,-3029 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 60,-3069 }, { 61,-3069 }, { 62,-3069 }, { 63,-3069 }, + { 64,-3069 }, { 0, 71 }, { 0,18250 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 94,2863 }, { 0, 0 }, { 96,2863 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 124,-3029 }, { 0, 0 }, { 126,-3029 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 94,-3069 }, { 0, 0 }, { 96,-3069 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 124,-3069 }, { 0, 0 }, { 126,-3069 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, + { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, + { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, + { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, + { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, + { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, + { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, + { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 124,2863 }, { 0, 0 }, { 126,2863 }, { 0, 44 }, { 0,4014 }, + + { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, + { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, + { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, + { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, + { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, + { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, + { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, + { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, + { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, + + { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, + { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, + { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, + { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, + { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, + { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, + { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, + { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, + { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, + + { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, + { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, + { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, + { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, + { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 11 }, { 0,17993 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, - { 31, 0 }, { 32, 0 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, - { 36, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, - + { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, - { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, - { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, - { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, - { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, - { 256, 0 }, { 0, 10 }, { 0,3756 }, { 1, 0 }, { 2, 0 }, + { 256, 0 }, { 0, 6 }, { 0,17735 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, + { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, - { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, - { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, - { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, + { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, { 0, 0 }, + { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, - { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, + { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, - { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, + { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, - { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, + { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, - { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, - { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, - { 0,3498 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, - { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, - { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, - { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, - { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, - - { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, - { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, - { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, - { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, - { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, - { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, - { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, - { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, - { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, - { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 4 }, + { 0,17477 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, - { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, - { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, - { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, - { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, - { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, - { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, - { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, - { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, - { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 33,6419 }, { 0, 0 }, + { 35,6419 }, { 0, 0 }, { 37,6419 }, { 38,6419 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 42,6419 }, { 43,6419 }, { 0, 0 }, + { 45,6419 }, { 0, 0 }, { 47,6419 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, - { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, - { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, - { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, - { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, - { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, - { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, - { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, - { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, - { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 60,6419 }, { 61,6419 }, { 62,6419 }, { 63,6419 }, { 64,6419 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94,6419 }, + { 0, 0 }, { 96,6419 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, - { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, - { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, - { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124,6419 }, + { 0, 0 }, { 126,6419 }, { 0, 44 }, { 0,17349 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 10 }, { 0,17091 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, + { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, + { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, + { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, + + { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, + { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, + { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, + { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, + { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, + { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, + { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, + { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, + { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 22 }, { 0,16833 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, + + { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 36, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 19 }, { 0,16575 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 19 }, { 0,16570 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 9, 0 }, { 10, 5 }, { 11, 0 }, { 12, 0 }, + { 13, 5 }, { 9, 24 }, { 10, 24 }, { 11, 24 }, { 12, 24 }, + { 13, 24 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 19 }, { 0,16546 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 24 }, + { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, + { 0, 0 }, { 39,-10264 }, { 45,-10261 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 45,-10266 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 32, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 39,-10288 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 45,-10290 }, { 0, 23 }, { 0,16499 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, + { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 0, 0 }, { 40, 0 }, { 41, 0 }, + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + { 0, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 30 }, { 0,16241 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,16233 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0,16210 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5185 }, + { 49,5185 }, { 50,5185 }, { 51,5185 }, { 52,5185 }, { 53,5185 }, + { 54,5185 }, { 55,5185 }, { 48,5192 }, { 49,5192 }, { 50,5192 }, + { 51,5192 }, { 52,5192 }, { 53,5192 }, { 54,5192 }, { 55,5192 }, + { 56,5192 }, { 57,5192 }, { 0, 0 }, { 0, 0 }, { 0, 29 }, + + { 0,16172 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,5192 }, + { 66,5192 }, { 67,5192 }, { 68,5192 }, { 69,5192 }, { 70,5192 }, + { 48,5231 }, { 49,5231 }, { 50,5231 }, { 51,5231 }, { 52,5231 }, + { 53,5231 }, { 54,5231 }, { 55,5231 }, { 56,5231 }, { 57,5231 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,5231 }, { 66,5231 }, { 67,5231 }, + { 68,5231 }, { 69,5231 }, { 70,5231 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,5192 }, { 98,5192 }, { 99,5192 }, { 100,5192 }, + { 101,5192 }, { 102,5192 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,5216 }, { 49,5216 }, + + { 50,5216 }, { 51,5216 }, { 52,5216 }, { 53,5216 }, { 54,5216 }, + { 55,5216 }, { 56,5216 }, { 57,5216 }, { 0, 0 }, { 97,5231 }, + { 98,5231 }, { 99,5231 }, { 100,5231 }, { 101,5231 }, { 102,5231 }, + { 65,5216 }, { 66,5216 }, { 67,5216 }, { 68,5216 }, { 69,5216 }, + { 70,5216 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,5216 }, { 98,5216 }, { 99,5216 }, + + { 100,5216 }, { 101,5216 }, { 102,5216 }, { 0, 36 }, { 0,16068 }, + { 1, 0 }, { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, + { 6, 0 }, { 7, 0 }, { 8, 0 }, { 9, 0 }, { 10, 0 }, + { 11, 0 }, { 12, 0 }, { 13, 0 }, { 14, 0 }, { 15, 0 }, + { 16, 0 }, { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, + { 21, 0 }, { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, + { 26, 0 }, { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, + { 31, 0 }, { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, + { 0, 0 }, { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, + { 41, 0 }, { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, + + { 46, 0 }, { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 91, 0 }, { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, + + { 96, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, + { 126, 0 }, { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 256, 0 }, { 0, 37 }, { 0,15810 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-11020 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4913 }, { 49,4913 }, { 50,4913 }, { 51,4913 }, { 52,4913 }, + { 53,4913 }, { 54,4913 }, { 55,4913 }, { 56,4913 }, { 57,4913 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4913 }, { 66,4913 }, { 67,4913 }, + { 68,4913 }, { 69,4913 }, { 70,4913 }, { 71,4913 }, { 72,4913 }, + { 73,4913 }, { 74,4913 }, { 75,4913 }, { 76,4913 }, { 77,4913 }, + { 78,4913 }, { 79,4913 }, { 80,4913 }, { 81,4913 }, { 82,4913 }, + { 83,4913 }, { 84,4913 }, { 85,4913 }, { 86,4913 }, { 87,4913 }, + + { 88,4913 }, { 89,4913 }, { 90,4913 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4913 }, { 0, 0 }, { 97,4913 }, + { 98,4913 }, { 99,4913 }, { 100,4913 }, { 101,4913 }, { 102,4913 }, + { 103,4913 }, { 104,4913 }, { 105,4913 }, { 106,4913 }, { 107,4913 }, + { 108,4913 }, { 109,4913 }, { 110,4913 }, { 111,4913 }, { 112,4913 }, + { 113,4913 }, { 114,4913 }, { 115,4913 }, { 116,4913 }, { 117,4913 }, + { 118,4913 }, { 119,4913 }, { 120,4913 }, { 121,4913 }, { 122,4913 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,4913 }, { 129,4913 }, { 130,4913 }, { 131,4913 }, { 132,4913 }, + { 133,4913 }, { 134,4913 }, { 135,4913 }, { 136,4913 }, { 137,4913 }, + + { 138,4913 }, { 139,4913 }, { 140,4913 }, { 141,4913 }, { 142,4913 }, + { 143,4913 }, { 144,4913 }, { 145,4913 }, { 146,4913 }, { 147,4913 }, + { 148,4913 }, { 149,4913 }, { 150,4913 }, { 151,4913 }, { 152,4913 }, + { 153,4913 }, { 154,4913 }, { 155,4913 }, { 156,4913 }, { 157,4913 }, + { 158,4913 }, { 159,4913 }, { 160,4913 }, { 161,4913 }, { 162,4913 }, + { 163,4913 }, { 164,4913 }, { 165,4913 }, { 166,4913 }, { 167,4913 }, + { 168,4913 }, { 169,4913 }, { 170,4913 }, { 171,4913 }, { 172,4913 }, + { 173,4913 }, { 174,4913 }, { 175,4913 }, { 176,4913 }, { 177,4913 }, + { 178,4913 }, { 179,4913 }, { 180,4913 }, { 181,4913 }, { 182,4913 }, + { 183,4913 }, { 184,4913 }, { 185,4913 }, { 186,4913 }, { 187,4913 }, + + { 188,4913 }, { 189,4913 }, { 190,4913 }, { 191,4913 }, { 192,4913 }, + { 193,4913 }, { 194,4913 }, { 195,4913 }, { 196,4913 }, { 197,4913 }, + { 198,4913 }, { 199,4913 }, { 200,4913 }, { 201,4913 }, { 202,4913 }, + { 203,4913 }, { 204,4913 }, { 205,4913 }, { 206,4913 }, { 207,4913 }, + { 208,4913 }, { 209,4913 }, { 210,4913 }, { 211,4913 }, { 212,4913 }, + { 213,4913 }, { 214,4913 }, { 215,4913 }, { 216,4913 }, { 217,4913 }, + { 218,4913 }, { 219,4913 }, { 220,4913 }, { 221,4913 }, { 222,4913 }, + { 223,4913 }, { 224,4913 }, { 225,4913 }, { 226,4913 }, { 227,4913 }, + { 228,4913 }, { 229,4913 }, { 230,4913 }, { 231,4913 }, { 232,4913 }, + { 233,4913 }, { 234,4913 }, { 235,4913 }, { 236,4913 }, { 237,4913 }, + + { 238,4913 }, { 239,4913 }, { 240,4913 }, { 241,4913 }, { 242,4913 }, + { 243,4913 }, { 244,4913 }, { 245,4913 }, { 246,4913 }, { 247,4913 }, + { 248,4913 }, { 249,4913 }, { 250,4913 }, { 251,4913 }, { 252,4913 }, + { 253,4913 }, { 254,4913 }, { 255,4913 }, { 0, 28 }, { 0,15553 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0,15530 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,4913 }, { 49,4913 }, { 50,4913 }, + { 51,4913 }, { 52,4913 }, { 53,4913 }, { 54,4913 }, { 55,4913 }, + { 56,4913 }, { 57,4913 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4913 }, + { 66,4913 }, { 67,4913 }, { 68,4913 }, { 69,4913 }, { 70,4913 }, + { 48,4913 }, { 49,4913 }, { 50,4913 }, { 51,4913 }, { 52,4913 }, + { 53,4913 }, { 54,4913 }, { 55,4913 }, { 56,4913 }, { 57,4913 }, + + { 0, 34 }, { 0,15471 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4913 }, { 66,4913 }, { 67,4913 }, + { 68,4913 }, { 69,4913 }, { 70,4913 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,4913 }, { 98,4913 }, { 99,4913 }, { 100,4913 }, + { 101,4913 }, { 102,4913 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-11633 }, { 0, 0 }, { 97,4913 }, + { 98,4913 }, { 99,4913 }, { 100,4913 }, { 101,4913 }, { 102,4913 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, + + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 0, 2 }, { 0,15214 }, { 1, 0 }, + { 2, 0 }, { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, + { 7, 0 }, { 8, 0 }, { 9, 0 }, { 0, 0 }, { 11, 0 }, + { 12, 0 }, { 0, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, + { 17, 0 }, { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, + { 22, 0 }, { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, + { 27, 0 }, { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, + { 32, 0 }, { 33, 0 }, { 34, 0 }, { 35, 0 }, { 36, 0 }, + { 37, 0 }, { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, + + { 42, 0 }, { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, + { 47, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, + { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, + { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, + { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, + { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, + + { 92, 0 }, { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, + { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, + { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, + { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, + { 122, 0 }, { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, + { 127, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, + { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, + + { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, + { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, + { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, + { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, + { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, + { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, + { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, + { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, + { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, + + { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, + { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, + { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, + { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, + { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, + { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, + { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, + { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, + { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, + + { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, + { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, + { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, + { 0, 2 }, { 0,14956 }, { 1,-258 }, { 2,-258 }, { 3,-258 }, + { 4,-258 }, { 5,-258 }, { 6,-258 }, { 7,-258 }, { 8,-258 }, + { 9,-258 }, { 0, 0 }, { 11,-258 }, { 12,-258 }, { 0, 0 }, + { 14,-258 }, { 15,-258 }, { 16,-258 }, { 17,-258 }, { 18,-258 }, + { 19,-258 }, { 20,-258 }, { 21,-258 }, { 22,-258 }, { 23,-258 }, + { 24,-258 }, { 25,-258 }, { 26,-258 }, { 27,-258 }, { 28,-258 }, + { 29,-258 }, { 30,-258 }, { 31,-258 }, { 32,-258 }, { 33, 0 }, + + { 34,-258 }, { 35, 0 }, { 36,-258 }, { 37, 0 }, { 38, 0 }, + { 39,-258 }, { 40,-258 }, { 41,-258 }, { 42, 0 }, { 43, 0 }, + { 44,-258 }, { 45, 0 }, { 46,-258 }, { 47, 0 }, { 48,-258 }, + { 49,-258 }, { 50,-258 }, { 51,-258 }, { 52,-258 }, { 53,-258 }, + { 54,-258 }, { 55,-258 }, { 56,-258 }, { 57,-258 }, { 58,-258 }, + { 59,-258 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, + { 64, 0 }, { 65,-258 }, { 66,-258 }, { 67,-258 }, { 68,-258 }, + { 69,-258 }, { 70,-258 }, { 71,-258 }, { 72,-258 }, { 73,-258 }, + { 74,-258 }, { 75,-258 }, { 76,-258 }, { 77,-258 }, { 78,-258 }, + { 79,-258 }, { 80,-258 }, { 81,-258 }, { 82,-258 }, { 83,-258 }, + + { 84,-258 }, { 85,-258 }, { 86,-258 }, { 87,-258 }, { 88,-258 }, + { 89,-258 }, { 90,-258 }, { 91,-258 }, { 92,-258 }, { 93,-258 }, + { 94, 0 }, { 95,-258 }, { 96, 0 }, { 97,-258 }, { 98,-258 }, + { 99,-258 }, { 100,-258 }, { 101,-258 }, { 102,-258 }, { 103,-258 }, + { 104,-258 }, { 105,-258 }, { 106,-258 }, { 107,-258 }, { 108,-258 }, + { 109,-258 }, { 110,-258 }, { 111,-258 }, { 112,-258 }, { 113,-258 }, + { 114,-258 }, { 115,-258 }, { 116,-258 }, { 117,-258 }, { 118,-258 }, + { 119,-258 }, { 120,-258 }, { 121,-258 }, { 122,-258 }, { 123,-258 }, + { 124, 0 }, { 125,-258 }, { 126, 0 }, { 127,-258 }, { 128,-258 }, + { 129,-258 }, { 130,-258 }, { 131,-258 }, { 132,-258 }, { 133,-258 }, + + { 134,-258 }, { 135,-258 }, { 136,-258 }, { 137,-258 }, { 138,-258 }, + { 139,-258 }, { 140,-258 }, { 141,-258 }, { 142,-258 }, { 143,-258 }, + { 144,-258 }, { 145,-258 }, { 146,-258 }, { 147,-258 }, { 148,-258 }, + { 149,-258 }, { 150,-258 }, { 151,-258 }, { 152,-258 }, { 153,-258 }, + { 154,-258 }, { 155,-258 }, { 156,-258 }, { 157,-258 }, { 158,-258 }, + { 159,-258 }, { 160,-258 }, { 161,-258 }, { 162,-258 }, { 163,-258 }, + { 164,-258 }, { 165,-258 }, { 166,-258 }, { 167,-258 }, { 168,-258 }, + { 169,-258 }, { 170,-258 }, { 171,-258 }, { 172,-258 }, { 173,-258 }, + { 174,-258 }, { 175,-258 }, { 176,-258 }, { 177,-258 }, { 178,-258 }, + { 179,-258 }, { 180,-258 }, { 181,-258 }, { 182,-258 }, { 183,-258 }, + + { 184,-258 }, { 185,-258 }, { 186,-258 }, { 187,-258 }, { 188,-258 }, + { 189,-258 }, { 190,-258 }, { 191,-258 }, { 192,-258 }, { 193,-258 }, + { 194,-258 }, { 195,-258 }, { 196,-258 }, { 197,-258 }, { 198,-258 }, + { 199,-258 }, { 200,-258 }, { 201,-258 }, { 202,-258 }, { 203,-258 }, + { 204,-258 }, { 205,-258 }, { 206,-258 }, { 207,-258 }, { 208,-258 }, + { 209,-258 }, { 210,-258 }, { 211,-258 }, { 212,-258 }, { 213,-258 }, + { 214,-258 }, { 215,-258 }, { 216,-258 }, { 217,-258 }, { 218,-258 }, + { 219,-258 }, { 220,-258 }, { 221,-258 }, { 222,-258 }, { 223,-258 }, + { 224,-258 }, { 225,-258 }, { 226,-258 }, { 227,-258 }, { 228,-258 }, + { 229,-258 }, { 230,-258 }, { 231,-258 }, { 232,-258 }, { 233,-258 }, + + { 234,-258 }, { 235,-258 }, { 236,-258 }, { 237,-258 }, { 238,-258 }, + { 239,-258 }, { 240,-258 }, { 241,-258 }, { 242,-258 }, { 243,-258 }, + { 244,-258 }, { 245,-258 }, { 246,-258 }, { 247,-258 }, { 248,-258 }, + { 249,-258 }, { 250,-258 }, { 251,-258 }, { 252,-258 }, { 253,-258 }, + { 254,-258 }, { 255,-258 }, { 256,-258 }, { 0, 64 }, { 0,14698 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, + { 66, 257 }, { 67, 257 }, { 68, 257 }, { 69, 514 }, { 70, 257 }, + { 71, 257 }, { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, + + { 76, 257 }, { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, + { 81, 257 }, { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, + { 86, 257 }, { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 771 }, + { 0, 0 }, { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, + { 101, 514 }, { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, + { 106, 257 }, { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, + { 111, 257 }, { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, + { 116, 257 }, { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, + { 121, 257 }, { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, + { 131, 257 }, { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, + { 136, 257 }, { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, + { 141, 257 }, { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, + { 146, 257 }, { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, + { 151, 257 }, { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, + { 156, 257 }, { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, + { 161, 257 }, { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, + { 166, 257 }, { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, + { 171, 257 }, { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, + + { 176, 257 }, { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, + { 181, 257 }, { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, + { 186, 257 }, { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, + { 191, 257 }, { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, + { 196, 257 }, { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, + { 201, 257 }, { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, + { 206, 257 }, { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, + { 211, 257 }, { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, + { 216, 257 }, { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, + { 221, 257 }, { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, + + { 226, 257 }, { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, + { 231, 257 }, { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, + { 236, 257 }, { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, + { 241, 257 }, { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, + { 246, 257 }, { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, + { 251, 257 }, { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, + { 0, 69 }, { 0,14441 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,3883 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3883 }, + { 49,3883 }, { 50,3883 }, { 51,3883 }, { 52,3883 }, { 53,3883 }, + { 54,3883 }, { 55,3883 }, { 56,3883 }, { 57,3883 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,3883 }, { 66,3883 }, { 67,3883 }, { 68,3883 }, + + { 69,3883 }, { 70,3883 }, { 71,3883 }, { 72,3883 }, { 73,3883 }, + { 74,3883 }, { 75,3883 }, { 76,3883 }, { 77,3883 }, { 78,3883 }, + { 79,3883 }, { 80,3883 }, { 81,3883 }, { 82,3883 }, { 83,3883 }, + { 84,3883 }, { 85,3883 }, { 86,3883 }, { 87,3883 }, { 88,3883 }, + { 89,3883 }, { 90,3883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,3883 }, { 0, 0 }, { 97,3883 }, { 98,3883 }, + { 99,3883 }, { 100,3883 }, { 101,3883 }, { 102,3883 }, { 103,3883 }, + { 104,3883 }, { 105,3883 }, { 106,3883 }, { 107,3883 }, { 108,3883 }, + { 109,3883 }, { 110,3883 }, { 111,3883 }, { 112,3883 }, { 113,3883 }, + { 114,3883 }, { 115,3883 }, { 116,3883 }, { 117,3883 }, { 118,3883 }, + + { 119,3883 }, { 120,3883 }, { 121,3883 }, { 122,3883 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3883 }, + { 129,3883 }, { 130,3883 }, { 131,3883 }, { 132,3883 }, { 133,3883 }, + { 134,3883 }, { 135,3883 }, { 136,3883 }, { 137,3883 }, { 138,3883 }, + { 139,3883 }, { 140,3883 }, { 141,3883 }, { 142,3883 }, { 143,3883 }, + { 144,3883 }, { 145,3883 }, { 146,3883 }, { 147,3883 }, { 148,3883 }, + { 149,3883 }, { 150,3883 }, { 151,3883 }, { 152,3883 }, { 153,3883 }, + { 154,3883 }, { 155,3883 }, { 156,3883 }, { 157,3883 }, { 158,3883 }, + { 159,3883 }, { 160,3883 }, { 161,3883 }, { 162,3883 }, { 163,3883 }, + { 164,3883 }, { 165,3883 }, { 166,3883 }, { 167,3883 }, { 168,3883 }, + + { 169,3883 }, { 170,3883 }, { 171,3883 }, { 172,3883 }, { 173,3883 }, + { 174,3883 }, { 175,3883 }, { 176,3883 }, { 177,3883 }, { 178,3883 }, + { 179,3883 }, { 180,3883 }, { 181,3883 }, { 182,3883 }, { 183,3883 }, + { 184,3883 }, { 185,3883 }, { 186,3883 }, { 187,3883 }, { 188,3883 }, + { 189,3883 }, { 190,3883 }, { 191,3883 }, { 192,3883 }, { 193,3883 }, + { 194,3883 }, { 195,3883 }, { 196,3883 }, { 197,3883 }, { 198,3883 }, + { 199,3883 }, { 200,3883 }, { 201,3883 }, { 202,3883 }, { 203,3883 }, + { 204,3883 }, { 205,3883 }, { 206,3883 }, { 207,3883 }, { 208,3883 }, + { 209,3883 }, { 210,3883 }, { 211,3883 }, { 212,3883 }, { 213,3883 }, + { 214,3883 }, { 215,3883 }, { 216,3883 }, { 217,3883 }, { 218,3883 }, + + { 219,3883 }, { 220,3883 }, { 221,3883 }, { 222,3883 }, { 223,3883 }, + { 224,3883 }, { 225,3883 }, { 226,3883 }, { 227,3883 }, { 228,3883 }, + { 229,3883 }, { 230,3883 }, { 231,3883 }, { 232,3883 }, { 233,3883 }, + { 234,3883 }, { 235,3883 }, { 236,3883 }, { 237,3883 }, { 238,3883 }, + { 239,3883 }, { 240,3883 }, { 241,3883 }, { 242,3883 }, { 243,3883 }, + { 244,3883 }, { 245,3883 }, { 246,3883 }, { 247,3883 }, { 248,3883 }, + { 249,3883 }, { 250,3883 }, { 251,3883 }, { 252,3883 }, { 253,3883 }, + { 254,3883 }, { 255,3883 }, { 0, 69 }, { 0,14184 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,3626 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 43,1574 }, { 0, 0 }, { 45,1574 }, { 0, 0 }, + { 0, 0 }, { 48,3883 }, { 49,3883 }, { 50,3883 }, { 51,3883 }, + { 52,3883 }, { 53,3883 }, { 54,3883 }, { 55,3883 }, { 56,3883 }, + { 57,3883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3626 }, { 66,3626 }, + { 67,3626 }, { 68,3626 }, { 69,3626 }, { 70,3626 }, { 71,3626 }, + { 72,3626 }, { 73,3626 }, { 74,3626 }, { 75,3626 }, { 76,3626 }, + { 77,3626 }, { 78,3626 }, { 79,3626 }, { 80,3626 }, { 81,3626 }, + { 82,3626 }, { 83,3626 }, { 84,3626 }, { 85,3626 }, { 86,3626 }, + { 87,3626 }, { 88,3626 }, { 89,3626 }, { 90,3626 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3626 }, { 0, 0 }, + { 97,3626 }, { 98,3626 }, { 99,3626 }, { 100,3626 }, { 101,3626 }, + { 102,3626 }, { 103,3626 }, { 104,3626 }, { 105,3626 }, { 106,3626 }, + { 107,3626 }, { 108,3626 }, { 109,3626 }, { 110,3626 }, { 111,3626 }, + + { 112,3626 }, { 113,3626 }, { 114,3626 }, { 115,3626 }, { 116,3626 }, + { 117,3626 }, { 118,3626 }, { 119,3626 }, { 120,3626 }, { 121,3626 }, + { 122,3626 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,3626 }, { 129,3626 }, { 130,3626 }, { 131,3626 }, + { 132,3626 }, { 133,3626 }, { 134,3626 }, { 135,3626 }, { 136,3626 }, + { 137,3626 }, { 138,3626 }, { 139,3626 }, { 140,3626 }, { 141,3626 }, + { 142,3626 }, { 143,3626 }, { 144,3626 }, { 145,3626 }, { 146,3626 }, + { 147,3626 }, { 148,3626 }, { 149,3626 }, { 150,3626 }, { 151,3626 }, + { 152,3626 }, { 153,3626 }, { 154,3626 }, { 155,3626 }, { 156,3626 }, + { 157,3626 }, { 158,3626 }, { 159,3626 }, { 160,3626 }, { 161,3626 }, + + { 162,3626 }, { 163,3626 }, { 164,3626 }, { 165,3626 }, { 166,3626 }, + { 167,3626 }, { 168,3626 }, { 169,3626 }, { 170,3626 }, { 171,3626 }, + { 172,3626 }, { 173,3626 }, { 174,3626 }, { 175,3626 }, { 176,3626 }, + { 177,3626 }, { 178,3626 }, { 179,3626 }, { 180,3626 }, { 181,3626 }, + { 182,3626 }, { 183,3626 }, { 184,3626 }, { 185,3626 }, { 186,3626 }, + { 187,3626 }, { 188,3626 }, { 189,3626 }, { 190,3626 }, { 191,3626 }, + { 192,3626 }, { 193,3626 }, { 194,3626 }, { 195,3626 }, { 196,3626 }, + { 197,3626 }, { 198,3626 }, { 199,3626 }, { 200,3626 }, { 201,3626 }, + { 202,3626 }, { 203,3626 }, { 204,3626 }, { 205,3626 }, { 206,3626 }, + { 207,3626 }, { 208,3626 }, { 209,3626 }, { 210,3626 }, { 211,3626 }, + + { 212,3626 }, { 213,3626 }, { 214,3626 }, { 215,3626 }, { 216,3626 }, + { 217,3626 }, { 218,3626 }, { 219,3626 }, { 220,3626 }, { 221,3626 }, + { 222,3626 }, { 223,3626 }, { 224,3626 }, { 225,3626 }, { 226,3626 }, + { 227,3626 }, { 228,3626 }, { 229,3626 }, { 230,3626 }, { 231,3626 }, + { 232,3626 }, { 233,3626 }, { 234,3626 }, { 235,3626 }, { 236,3626 }, + { 237,3626 }, { 238,3626 }, { 239,3626 }, { 240,3626 }, { 241,3626 }, + { 242,3626 }, { 243,3626 }, { 244,3626 }, { 245,3626 }, { 246,3626 }, + { 247,3626 }, { 248,3626 }, { 249,3626 }, { 250,3626 }, { 251,3626 }, + { 252,3626 }, { 253,3626 }, { 254,3626 }, { 255,3626 }, { 0, 69 }, + { 0,13927 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,3369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3883 }, { 49,3883 }, + { 50,3883 }, { 51,3883 }, { 52,3883 }, { 53,3883 }, { 54,3883 }, + + { 55,3883 }, { 56,3883 }, { 57,3883 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,3369 }, { 66,3369 }, { 67,3369 }, { 68,3369 }, { 69,3369 }, + { 70,3369 }, { 71,3369 }, { 72,3369 }, { 73,3369 }, { 74,3369 }, + { 75,3369 }, { 76,3369 }, { 77,3369 }, { 78,3369 }, { 79,3369 }, + { 80,3369 }, { 81,3369 }, { 82,3369 }, { 83,3369 }, { 84,3369 }, + { 85,3369 }, { 86,3369 }, { 87,3369 }, { 88,3369 }, { 89,3369 }, + { 90,3369 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,3369 }, { 0, 0 }, { 97,3369 }, { 98,3369 }, { 99,3369 }, + { 100,3369 }, { 101,3369 }, { 102,3369 }, { 103,3369 }, { 104,3369 }, + + { 105,3369 }, { 106,3369 }, { 107,3369 }, { 108,3369 }, { 109,3369 }, + { 110,3369 }, { 111,3369 }, { 112,3369 }, { 113,3369 }, { 114,3369 }, + { 115,3369 }, { 116,3369 }, { 117,3369 }, { 118,3369 }, { 119,3369 }, + { 120,3369 }, { 121,3369 }, { 122,3369 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3369 }, { 129,3369 }, + { 130,3369 }, { 131,3369 }, { 132,3369 }, { 133,3369 }, { 134,3369 }, + { 135,3369 }, { 136,3369 }, { 137,3369 }, { 138,3369 }, { 139,3369 }, + { 140,3369 }, { 141,3369 }, { 142,3369 }, { 143,3369 }, { 144,3369 }, + { 145,3369 }, { 146,3369 }, { 147,3369 }, { 148,3369 }, { 149,3369 }, + { 150,3369 }, { 151,3369 }, { 152,3369 }, { 153,3369 }, { 154,3369 }, + + { 155,3369 }, { 156,3369 }, { 157,3369 }, { 158,3369 }, { 159,3369 }, + { 160,3369 }, { 161,3369 }, { 162,3369 }, { 163,3369 }, { 164,3369 }, + { 165,3369 }, { 166,3369 }, { 167,3369 }, { 168,3369 }, { 169,3369 }, + { 170,3369 }, { 171,3369 }, { 172,3369 }, { 173,3369 }, { 174,3369 }, + { 175,3369 }, { 176,3369 }, { 177,3369 }, { 178,3369 }, { 179,3369 }, + { 180,3369 }, { 181,3369 }, { 182,3369 }, { 183,3369 }, { 184,3369 }, + { 185,3369 }, { 186,3369 }, { 187,3369 }, { 188,3369 }, { 189,3369 }, + { 190,3369 }, { 191,3369 }, { 192,3369 }, { 193,3369 }, { 194,3369 }, + { 195,3369 }, { 196,3369 }, { 197,3369 }, { 198,3369 }, { 199,3369 }, + { 200,3369 }, { 201,3369 }, { 202,3369 }, { 203,3369 }, { 204,3369 }, + + { 205,3369 }, { 206,3369 }, { 207,3369 }, { 208,3369 }, { 209,3369 }, + { 210,3369 }, { 211,3369 }, { 212,3369 }, { 213,3369 }, { 214,3369 }, + { 215,3369 }, { 216,3369 }, { 217,3369 }, { 218,3369 }, { 219,3369 }, + { 220,3369 }, { 221,3369 }, { 222,3369 }, { 223,3369 }, { 224,3369 }, + { 225,3369 }, { 226,3369 }, { 227,3369 }, { 228,3369 }, { 229,3369 }, + { 230,3369 }, { 231,3369 }, { 232,3369 }, { 233,3369 }, { 234,3369 }, + { 235,3369 }, { 236,3369 }, { 237,3369 }, { 238,3369 }, { 239,3369 }, + { 240,3369 }, { 241,3369 }, { 242,3369 }, { 243,3369 }, { 244,3369 }, + { 245,3369 }, { 246,3369 }, { 247,3369 }, { 248,3369 }, { 249,3369 }, + { 250,3369 }, { 251,3369 }, { 252,3369 }, { 253,3369 }, { 254,3369 }, + + { 255,3369 }, { 0, 3 }, { 0,13670 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 64 }, { 0,13638 }, + { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, + { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, + { 43, 0 }, { 0, 0 }, { 45, 0 }, { 0, 0 }, { 47, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, + { 63, 0 }, { 64, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,3851 }, { 49,3851 }, { 50,3851 }, + { 51,3851 }, { 52,3851 }, { 53,3851 }, { 54,3851 }, { 55,3851 }, + { 56,3851 }, { 57,3851 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 65,-803 }, + + { 66,-803 }, { 67,-803 }, { 68,-803 }, { 69,-546 }, { 70,-803 }, + { 71,-803 }, { 72,-803 }, { 73,-803 }, { 74,-803 }, { 75,-803 }, + { 76,-803 }, { 77,-803 }, { 78,-803 }, { 79,-803 }, { 80,-803 }, + { 81,-803 }, { 82,-803 }, { 83,-803 }, { 84,-803 }, { 85,-803 }, + { 86,-803 }, { 87,-803 }, { 88,-803 }, { 89,-803 }, { 90,-803 }, + { 0, 0 }, { 124, 0 }, { 0, 0 }, { 126, 0 }, { 95,4108 }, + { 0, 0 }, { 97,-803 }, { 98,-803 }, { 99,-803 }, { 100,-803 }, + { 101,-546 }, { 102,-803 }, { 103,-803 }, { 104,-803 }, { 105,-803 }, + { 106,-803 }, { 107,-803 }, { 108,-803 }, { 109,-803 }, { 110,-803 }, + { 111,-803 }, { 112,-803 }, { 113,-803 }, { 114,-803 }, { 115,-803 }, + + { 116,-803 }, { 117,-803 }, { 118,-803 }, { 119,-803 }, { 120,-803 }, + { 121,-803 }, { 122,-803 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-803 }, { 129,-803 }, { 130,-803 }, + { 131,-803 }, { 132,-803 }, { 133,-803 }, { 134,-803 }, { 135,-803 }, + { 136,-803 }, { 137,-803 }, { 138,-803 }, { 139,-803 }, { 140,-803 }, + { 141,-803 }, { 142,-803 }, { 143,-803 }, { 144,-803 }, { 145,-803 }, + { 146,-803 }, { 147,-803 }, { 148,-803 }, { 149,-803 }, { 150,-803 }, + { 151,-803 }, { 152,-803 }, { 153,-803 }, { 154,-803 }, { 155,-803 }, + { 156,-803 }, { 157,-803 }, { 158,-803 }, { 159,-803 }, { 160,-803 }, + { 161,-803 }, { 162,-803 }, { 163,-803 }, { 164,-803 }, { 165,-803 }, + + { 166,-803 }, { 167,-803 }, { 168,-803 }, { 169,-803 }, { 170,-803 }, + { 171,-803 }, { 172,-803 }, { 173,-803 }, { 174,-803 }, { 175,-803 }, + { 176,-803 }, { 177,-803 }, { 178,-803 }, { 179,-803 }, { 180,-803 }, + { 181,-803 }, { 182,-803 }, { 183,-803 }, { 184,-803 }, { 185,-803 }, + { 186,-803 }, { 187,-803 }, { 188,-803 }, { 189,-803 }, { 190,-803 }, + { 191,-803 }, { 192,-803 }, { 193,-803 }, { 194,-803 }, { 195,-803 }, + { 196,-803 }, { 197,-803 }, { 198,-803 }, { 199,-803 }, { 200,-803 }, + { 201,-803 }, { 202,-803 }, { 203,-803 }, { 204,-803 }, { 205,-803 }, + { 206,-803 }, { 207,-803 }, { 208,-803 }, { 209,-803 }, { 210,-803 }, + { 211,-803 }, { 212,-803 }, { 213,-803 }, { 214,-803 }, { 215,-803 }, + + { 216,-803 }, { 217,-803 }, { 218,-803 }, { 219,-803 }, { 220,-803 }, + { 221,-803 }, { 222,-803 }, { 223,-803 }, { 224,-803 }, { 225,-803 }, + { 226,-803 }, { 227,-803 }, { 228,-803 }, { 229,-803 }, { 230,-803 }, + { 231,-803 }, { 232,-803 }, { 233,-803 }, { 234,-803 }, { 235,-803 }, + { 236,-803 }, { 237,-803 }, { 238,-803 }, { 239,-803 }, { 240,-803 }, + { 241,-803 }, { 242,-803 }, { 243,-803 }, { 244,-803 }, { 245,-803 }, + { 246,-803 }, { 247,-803 }, { 248,-803 }, { 249,-803 }, { 250,-803 }, + { 251,-803 }, { 252,-803 }, { 253,-803 }, { 254,-803 }, { 255,-803 }, + { 0, 68 }, { 0,13381 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, + { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, + { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, + { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, + { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, + { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, + { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, + { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, + + { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, + { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, + { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, + { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, + { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, + { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, + { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, + + { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, + { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, + { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, + { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, + { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, + { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, + { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, + { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, + + { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, + { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, + { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, + { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, + { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, + { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, + { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, + { 254, 0 }, { 255, 0 }, { 0, 60 }, { 0,13124 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50,-257 }, { 51,-257 }, + + { 52,-257 }, { 53,-257 }, { 54,-257 }, { 55,-257 }, { 56,-257 }, + { 57,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-257 }, { 66,-257 }, + { 67,-257 }, { 68,-257 }, { 69,-257 }, { 70,-257 }, { 71,-257 }, + { 72,-257 }, { 73,-257 }, { 74,-257 }, { 75,-257 }, { 76,-257 }, + { 77,-257 }, { 78,-257 }, { 79,-257 }, { 80,-257 }, { 81,-257 }, + { 82,-257 }, { 83,-257 }, { 84,-257 }, { 85,-257 }, { 86,-257 }, + { 87,-257 }, { 88,-257 }, { 89,-257 }, { 90,-257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,3851 }, { 0, 0 }, + { 97,-257 }, { 98,-257 }, { 99,-257 }, { 100,-257 }, { 101,-257 }, + + { 102,-257 }, { 103,-257 }, { 104,-257 }, { 105,-257 }, { 106,-257 }, + { 107,-257 }, { 108,-257 }, { 109,-257 }, { 110,-257 }, { 111,-257 }, + { 112,-257 }, { 113,-257 }, { 114,-257 }, { 115,-257 }, { 116,-257 }, + { 117,-257 }, { 118,-257 }, { 119,-257 }, { 120,-257 }, { 121,-257 }, + { 122,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-257 }, { 129,-257 }, { 130,-257 }, { 131,-257 }, + { 132,-257 }, { 133,-257 }, { 134,-257 }, { 135,-257 }, { 136,-257 }, + { 137,-257 }, { 138,-257 }, { 139,-257 }, { 140,-257 }, { 141,-257 }, + { 142,-257 }, { 143,-257 }, { 144,-257 }, { 145,-257 }, { 146,-257 }, + { 147,-257 }, { 148,-257 }, { 149,-257 }, { 150,-257 }, { 151,-257 }, + + { 152,-257 }, { 153,-257 }, { 154,-257 }, { 155,-257 }, { 156,-257 }, + { 157,-257 }, { 158,-257 }, { 159,-257 }, { 160,-257 }, { 161,-257 }, + { 162,-257 }, { 163,-257 }, { 164,-257 }, { 165,-257 }, { 166,-257 }, + { 167,-257 }, { 168,-257 }, { 169,-257 }, { 170,-257 }, { 171,-257 }, + { 172,-257 }, { 173,-257 }, { 174,-257 }, { 175,-257 }, { 176,-257 }, + { 177,-257 }, { 178,-257 }, { 179,-257 }, { 180,-257 }, { 181,-257 }, + { 182,-257 }, { 183,-257 }, { 184,-257 }, { 185,-257 }, { 186,-257 }, + { 187,-257 }, { 188,-257 }, { 189,-257 }, { 190,-257 }, { 191,-257 }, + { 192,-257 }, { 193,-257 }, { 194,-257 }, { 195,-257 }, { 196,-257 }, + { 197,-257 }, { 198,-257 }, { 199,-257 }, { 200,-257 }, { 201,-257 }, + + { 202,-257 }, { 203,-257 }, { 204,-257 }, { 205,-257 }, { 206,-257 }, + { 207,-257 }, { 208,-257 }, { 209,-257 }, { 210,-257 }, { 211,-257 }, + { 212,-257 }, { 213,-257 }, { 214,-257 }, { 215,-257 }, { 216,-257 }, + { 217,-257 }, { 218,-257 }, { 219,-257 }, { 220,-257 }, { 221,-257 }, + { 222,-257 }, { 223,-257 }, { 224,-257 }, { 225,-257 }, { 226,-257 }, + { 227,-257 }, { 228,-257 }, { 229,-257 }, { 230,-257 }, { 231,-257 }, + { 232,-257 }, { 233,-257 }, { 234,-257 }, { 235,-257 }, { 236,-257 }, + { 237,-257 }, { 238,-257 }, { 239,-257 }, { 240,-257 }, { 241,-257 }, + { 242,-257 }, { 243,-257 }, { 244,-257 }, { 245,-257 }, { 246,-257 }, + { 247,-257 }, { 248,-257 }, { 249,-257 }, { 250,-257 }, { 251,-257 }, + + { 252,-257 }, { 253,-257 }, { 254,-257 }, { 255,-257 }, { 0, 63 }, + { 0,12867 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-514 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, + { 50,-514 }, { 51,-514 }, { 52,-514 }, { 53,-514 }, { 54,-514 }, + { 55,-514 }, { 56,-514 }, { 57,-514 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-514 }, { 66,-514 }, { 67,-514 }, { 68,-514 }, { 69,-514 }, + { 70,-514 }, { 71,-514 }, { 72,-514 }, { 73,-514 }, { 74,-514 }, + { 75,-514 }, { 76,-514 }, { 77,-514 }, { 78,-514 }, { 79,-514 }, + { 80,-514 }, { 81,-514 }, { 82,-514 }, { 83,-514 }, { 84,-514 }, + { 85,-514 }, { 86,-514 }, { 87,-514 }, { 88,-514 }, { 89,-514 }, + { 90,-514 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 95,-514 }, { 0, 0 }, { 97,-514 }, { 98,-514 }, { 99,-514 }, + { 100,-514 }, { 101,-514 }, { 102,-514 }, { 103,-514 }, { 104,-514 }, + { 105,-514 }, { 106,-514 }, { 107,-514 }, { 108,-514 }, { 109,-514 }, + { 110,-514 }, { 111,-514 }, { 112,-514 }, { 113,-514 }, { 114,-514 }, + { 115,-514 }, { 116,-514 }, { 117,-514 }, { 118,-514 }, { 119,-514 }, + { 120,-514 }, { 121,-514 }, { 122,-514 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-514 }, { 129,-514 }, + { 130,-514 }, { 131,-514 }, { 132,-514 }, { 133,-514 }, { 134,-514 }, + { 135,-514 }, { 136,-514 }, { 137,-514 }, { 138,-514 }, { 139,-514 }, + { 140,-514 }, { 141,-514 }, { 142,-514 }, { 143,-514 }, { 144,-514 }, + + { 145,-514 }, { 146,-514 }, { 147,-514 }, { 148,-514 }, { 149,-514 }, + { 150,-514 }, { 151,-514 }, { 152,-514 }, { 153,-514 }, { 154,-514 }, + { 155,-514 }, { 156,-514 }, { 157,-514 }, { 158,-514 }, { 159,-514 }, + { 160,-514 }, { 161,-514 }, { 162,-514 }, { 163,-514 }, { 164,-514 }, + { 165,-514 }, { 166,-514 }, { 167,-514 }, { 168,-514 }, { 169,-514 }, + { 170,-514 }, { 171,-514 }, { 172,-514 }, { 173,-514 }, { 174,-514 }, + { 175,-514 }, { 176,-514 }, { 177,-514 }, { 178,-514 }, { 179,-514 }, + { 180,-514 }, { 181,-514 }, { 182,-514 }, { 183,-514 }, { 184,-514 }, + { 185,-514 }, { 186,-514 }, { 187,-514 }, { 188,-514 }, { 189,-514 }, + { 190,-514 }, { 191,-514 }, { 192,-514 }, { 193,-514 }, { 194,-514 }, + + { 195,-514 }, { 196,-514 }, { 197,-514 }, { 198,-514 }, { 199,-514 }, + { 200,-514 }, { 201,-514 }, { 202,-514 }, { 203,-514 }, { 204,-514 }, + { 205,-514 }, { 206,-514 }, { 207,-514 }, { 208,-514 }, { 209,-514 }, + { 210,-514 }, { 211,-514 }, { 212,-514 }, { 213,-514 }, { 214,-514 }, + { 215,-514 }, { 216,-514 }, { 217,-514 }, { 218,-514 }, { 219,-514 }, + { 220,-514 }, { 221,-514 }, { 222,-514 }, { 223,-514 }, { 224,-514 }, + { 225,-514 }, { 226,-514 }, { 227,-514 }, { 228,-514 }, { 229,-514 }, + { 230,-514 }, { 231,-514 }, { 232,-514 }, { 233,-514 }, { 234,-514 }, + { 235,-514 }, { 236,-514 }, { 237,-514 }, { 238,-514 }, { 239,-514 }, + { 240,-514 }, { 241,-514 }, { 242,-514 }, { 243,-514 }, { 244,-514 }, + + { 245,-514 }, { 246,-514 }, { 247,-514 }, { 248,-514 }, { 249,-514 }, + { 250,-514 }, { 251,-514 }, { 252,-514 }, { 253,-514 }, { 254,-514 }, + { 255,-514 }, { 0, 67 }, { 0,12610 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 66 }, { 0,12600 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-781 }, { 0, 0 }, + { 48,3594 }, { 49,3594 }, { 50,3594 }, { 51,3594 }, { 52,3594 }, + { 53,3594 }, { 54,3594 }, { 55,3594 }, { 56,3594 }, { 57,3594 }, + { 48,3841 }, { 49,3841 }, { 50,3841 }, { 51,3841 }, { 52,3841 }, + { 53,3841 }, { 54,3841 }, { 55,3841 }, { 56,3841 }, { 57,3841 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4098 }, { 66,4098 }, { 67,4098 }, + { 68,4098 }, { 69,4098 }, { 70,4098 }, { 71,4098 }, { 72,4098 }, + { 73,4098 }, { 74,4098 }, { 75,4098 }, { 76,4098 }, { 77,4098 }, + + { 78,4098 }, { 79,4098 }, { 80,4098 }, { 81,4098 }, { 82,4098 }, + { 83,4098 }, { 84,4098 }, { 85,4098 }, { 86,4098 }, { 87,4098 }, + { 88,4098 }, { 89,4098 }, { 90,4098 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4355 }, { 0, 0 }, { 97,4098 }, + { 98,4098 }, { 99,4098 }, { 100,4098 }, { 101,4098 }, { 102,4098 }, + { 103,4098 }, { 104,4098 }, { 105,4098 }, { 106,4098 }, { 107,4098 }, + { 108,4098 }, { 109,4098 }, { 110,4098 }, { 111,4098 }, { 112,4098 }, + { 113,4098 }, { 114,4098 }, { 115,4098 }, { 116,4098 }, { 117,4098 }, + { 118,4098 }, { 119,4098 }, { 120,4098 }, { 121,4098 }, { 122,4098 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 128,4098 }, { 129,4098 }, { 130,4098 }, { 131,4098 }, { 132,4098 }, + { 133,4098 }, { 134,4098 }, { 135,4098 }, { 136,4098 }, { 137,4098 }, + { 138,4098 }, { 139,4098 }, { 140,4098 }, { 141,4098 }, { 142,4098 }, + { 143,4098 }, { 144,4098 }, { 145,4098 }, { 146,4098 }, { 147,4098 }, + { 148,4098 }, { 149,4098 }, { 150,4098 }, { 151,4098 }, { 152,4098 }, + { 153,4098 }, { 154,4098 }, { 155,4098 }, { 156,4098 }, { 157,4098 }, + { 158,4098 }, { 159,4098 }, { 160,4098 }, { 161,4098 }, { 162,4098 }, + { 163,4098 }, { 164,4098 }, { 165,4098 }, { 166,4098 }, { 167,4098 }, + { 168,4098 }, { 169,4098 }, { 170,4098 }, { 171,4098 }, { 172,4098 }, + { 173,4098 }, { 174,4098 }, { 175,4098 }, { 176,4098 }, { 177,4098 }, + + { 178,4098 }, { 179,4098 }, { 180,4098 }, { 181,4098 }, { 182,4098 }, + { 183,4098 }, { 184,4098 }, { 185,4098 }, { 186,4098 }, { 187,4098 }, + { 188,4098 }, { 189,4098 }, { 190,4098 }, { 191,4098 }, { 192,4098 }, + { 193,4098 }, { 194,4098 }, { 195,4098 }, { 196,4098 }, { 197,4098 }, + { 198,4098 }, { 199,4098 }, { 200,4098 }, { 201,4098 }, { 202,4098 }, + { 203,4098 }, { 204,4098 }, { 205,4098 }, { 206,4098 }, { 207,4098 }, + { 208,4098 }, { 209,4098 }, { 210,4098 }, { 211,4098 }, { 212,4098 }, + { 213,4098 }, { 214,4098 }, { 215,4098 }, { 216,4098 }, { 217,4098 }, + { 218,4098 }, { 219,4098 }, { 220,4098 }, { 221,4098 }, { 222,4098 }, + { 223,4098 }, { 224,4098 }, { 225,4098 }, { 226,4098 }, { 227,4098 }, + + { 228,4098 }, { 229,4098 }, { 230,4098 }, { 231,4098 }, { 232,4098 }, + { 233,4098 }, { 234,4098 }, { 235,4098 }, { 236,4098 }, { 237,4098 }, + { 238,4098 }, { 239,4098 }, { 240,4098 }, { 241,4098 }, { 242,4098 }, + { 243,4098 }, { 244,4098 }, { 245,4098 }, { 246,4098 }, { 247,4098 }, + { 248,4098 }, { 249,4098 }, { 250,4098 }, { 251,4098 }, { 252,4098 }, + { 253,4098 }, { 254,4098 }, { 255,4098 }, { 0, 59 }, { 0,12343 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56,-1038 }, { 57,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1038 }, + { 66,-1038 }, { 67,-1038 }, { 68,-1038 }, { 69,-1038 }, { 70,-1038 }, + + { 71,-1038 }, { 72,-1038 }, { 73,-1038 }, { 74,-1038 }, { 75,-1038 }, + { 76,-1038 }, { 77,-1038 }, { 78,-1038 }, { 79,-1038 }, { 80,-1038 }, + { 81,-1038 }, { 82,-1038 }, { 83,-1038 }, { 84,-1038 }, { 85,-1038 }, + { 86,-1038 }, { 87,-1038 }, { 88,-1038 }, { 89,-1038 }, { 90,-1038 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4355 }, + { 0, 0 }, { 97,-1038 }, { 98,-1038 }, { 99,-1038 }, { 100,-1038 }, + { 101,-1038 }, { 102,-1038 }, { 103,-1038 }, { 104,-1038 }, { 105,-1038 }, + { 106,-1038 }, { 107,-1038 }, { 108,-1038 }, { 109,-1038 }, { 110,-1038 }, + { 111,-1038 }, { 112,-1038 }, { 113,-1038 }, { 114,-1038 }, { 115,-1038 }, + { 116,-1038 }, { 117,-1038 }, { 118,-1038 }, { 119,-1038 }, { 120,-1038 }, + + { 121,-1038 }, { 122,-1038 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-1038 }, { 129,-1038 }, { 130,-1038 }, + { 131,-1038 }, { 132,-1038 }, { 133,-1038 }, { 134,-1038 }, { 135,-1038 }, + { 136,-1038 }, { 137,-1038 }, { 138,-1038 }, { 139,-1038 }, { 140,-1038 }, + { 141,-1038 }, { 142,-1038 }, { 143,-1038 }, { 144,-1038 }, { 145,-1038 }, + { 146,-1038 }, { 147,-1038 }, { 148,-1038 }, { 149,-1038 }, { 150,-1038 }, + { 151,-1038 }, { 152,-1038 }, { 153,-1038 }, { 154,-1038 }, { 155,-1038 }, + { 156,-1038 }, { 157,-1038 }, { 158,-1038 }, { 159,-1038 }, { 160,-1038 }, + { 161,-1038 }, { 162,-1038 }, { 163,-1038 }, { 164,-1038 }, { 165,-1038 }, + { 166,-1038 }, { 167,-1038 }, { 168,-1038 }, { 169,-1038 }, { 170,-1038 }, + + { 171,-1038 }, { 172,-1038 }, { 173,-1038 }, { 174,-1038 }, { 175,-1038 }, + { 176,-1038 }, { 177,-1038 }, { 178,-1038 }, { 179,-1038 }, { 180,-1038 }, + { 181,-1038 }, { 182,-1038 }, { 183,-1038 }, { 184,-1038 }, { 185,-1038 }, + { 186,-1038 }, { 187,-1038 }, { 188,-1038 }, { 189,-1038 }, { 190,-1038 }, + { 191,-1038 }, { 192,-1038 }, { 193,-1038 }, { 194,-1038 }, { 195,-1038 }, + { 196,-1038 }, { 197,-1038 }, { 198,-1038 }, { 199,-1038 }, { 200,-1038 }, + { 201,-1038 }, { 202,-1038 }, { 203,-1038 }, { 204,-1038 }, { 205,-1038 }, + { 206,-1038 }, { 207,-1038 }, { 208,-1038 }, { 209,-1038 }, { 210,-1038 }, + { 211,-1038 }, { 212,-1038 }, { 213,-1038 }, { 214,-1038 }, { 215,-1038 }, + { 216,-1038 }, { 217,-1038 }, { 218,-1038 }, { 219,-1038 }, { 220,-1038 }, + + { 221,-1038 }, { 222,-1038 }, { 223,-1038 }, { 224,-1038 }, { 225,-1038 }, + { 226,-1038 }, { 227,-1038 }, { 228,-1038 }, { 229,-1038 }, { 230,-1038 }, + { 231,-1038 }, { 232,-1038 }, { 233,-1038 }, { 234,-1038 }, { 235,-1038 }, + { 236,-1038 }, { 237,-1038 }, { 238,-1038 }, { 239,-1038 }, { 240,-1038 }, + { 241,-1038 }, { 242,-1038 }, { 243,-1038 }, { 244,-1038 }, { 245,-1038 }, + { 246,-1038 }, { 247,-1038 }, { 248,-1038 }, { 249,-1038 }, { 250,-1038 }, + { 251,-1038 }, { 252,-1038 }, { 253,-1038 }, { 254,-1038 }, { 255,-1038 }, + { 0, 62 }, { 0,12086 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-1295 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, + { 49,-257 }, { 50,-257 }, { 51,-257 }, { 52,-257 }, { 53,-257 }, + { 54,-257 }, { 55,-257 }, { 56,-1295 }, { 57,-1295 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 65,-1295 }, { 66,-1295 }, { 67,-1295 }, { 68,-1295 }, + { 69,-1295 }, { 70,-1295 }, { 71,-1295 }, { 72,-1295 }, { 73,-1295 }, + { 74,-1295 }, { 75,-1295 }, { 76,-1295 }, { 77,-1295 }, { 78,-1295 }, + { 79,-1295 }, { 80,-1295 }, { 81,-1295 }, { 82,-1295 }, { 83,-1295 }, + { 84,-1295 }, { 85,-1295 }, { 86,-1295 }, { 87,-1295 }, { 88,-1295 }, + { 89,-1295 }, { 90,-1295 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-1295 }, { 0, 0 }, { 97,-1295 }, { 98,-1295 }, + { 99,-1295 }, { 100,-1295 }, { 101,-1295 }, { 102,-1295 }, { 103,-1295 }, + { 104,-1295 }, { 105,-1295 }, { 106,-1295 }, { 107,-1295 }, { 108,-1295 }, + { 109,-1295 }, { 110,-1295 }, { 111,-1295 }, { 112,-1295 }, { 113,-1295 }, + + { 114,-1295 }, { 115,-1295 }, { 116,-1295 }, { 117,-1295 }, { 118,-1295 }, + { 119,-1295 }, { 120,-1295 }, { 121,-1295 }, { 122,-1295 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1295 }, + { 129,-1295 }, { 130,-1295 }, { 131,-1295 }, { 132,-1295 }, { 133,-1295 }, + { 134,-1295 }, { 135,-1295 }, { 136,-1295 }, { 137,-1295 }, { 138,-1295 }, + { 139,-1295 }, { 140,-1295 }, { 141,-1295 }, { 142,-1295 }, { 143,-1295 }, + { 144,-1295 }, { 145,-1295 }, { 146,-1295 }, { 147,-1295 }, { 148,-1295 }, + { 149,-1295 }, { 150,-1295 }, { 151,-1295 }, { 152,-1295 }, { 153,-1295 }, + { 154,-1295 }, { 155,-1295 }, { 156,-1295 }, { 157,-1295 }, { 158,-1295 }, + { 159,-1295 }, { 160,-1295 }, { 161,-1295 }, { 162,-1295 }, { 163,-1295 }, + + { 164,-1295 }, { 165,-1295 }, { 166,-1295 }, { 167,-1295 }, { 168,-1295 }, + { 169,-1295 }, { 170,-1295 }, { 171,-1295 }, { 172,-1295 }, { 173,-1295 }, + { 174,-1295 }, { 175,-1295 }, { 176,-1295 }, { 177,-1295 }, { 178,-1295 }, + { 179,-1295 }, { 180,-1295 }, { 181,-1295 }, { 182,-1295 }, { 183,-1295 }, + { 184,-1295 }, { 185,-1295 }, { 186,-1295 }, { 187,-1295 }, { 188,-1295 }, + { 189,-1295 }, { 190,-1295 }, { 191,-1295 }, { 192,-1295 }, { 193,-1295 }, + { 194,-1295 }, { 195,-1295 }, { 196,-1295 }, { 197,-1295 }, { 198,-1295 }, + { 199,-1295 }, { 200,-1295 }, { 201,-1295 }, { 202,-1295 }, { 203,-1295 }, + { 204,-1295 }, { 205,-1295 }, { 206,-1295 }, { 207,-1295 }, { 208,-1295 }, + { 209,-1295 }, { 210,-1295 }, { 211,-1295 }, { 212,-1295 }, { 213,-1295 }, + + { 214,-1295 }, { 215,-1295 }, { 216,-1295 }, { 217,-1295 }, { 218,-1295 }, + { 219,-1295 }, { 220,-1295 }, { 221,-1295 }, { 222,-1295 }, { 223,-1295 }, + { 224,-1295 }, { 225,-1295 }, { 226,-1295 }, { 227,-1295 }, { 228,-1295 }, + { 229,-1295 }, { 230,-1295 }, { 231,-1295 }, { 232,-1295 }, { 233,-1295 }, + { 234,-1295 }, { 235,-1295 }, { 236,-1295 }, { 237,-1295 }, { 238,-1295 }, + { 239,-1295 }, { 240,-1295 }, { 241,-1295 }, { 242,-1295 }, { 243,-1295 }, + { 244,-1295 }, { 245,-1295 }, { 246,-1295 }, { 247,-1295 }, { 248,-1295 }, + { 249,-1295 }, { 250,-1295 }, { 251,-1295 }, { 252,-1295 }, { 253,-1295 }, + { 254,-1295 }, { 255,-1295 }, { 0, 58 }, { 0,11829 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-1552 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, + { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71,-1552 }, + { 72,-1552 }, { 73,-1552 }, { 74,-1552 }, { 75,-1552 }, { 76,-1552 }, + { 77,-1552 }, { 78,-1552 }, { 79,-1552 }, { 80,-1552 }, { 81,-1552 }, + { 82,-1552 }, { 83,-1552 }, { 84,-1552 }, { 85,-1552 }, { 86,-1552 }, + { 87,-1552 }, { 88,-1552 }, { 89,-1552 }, { 90,-1552 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4098 }, { 0, 0 }, + { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, + { 102, 0 }, { 103,-1552 }, { 104,-1552 }, { 105,-1552 }, { 106,-1552 }, + + { 107,-1552 }, { 108,-1552 }, { 109,-1552 }, { 110,-1552 }, { 111,-1552 }, + { 112,-1552 }, { 113,-1552 }, { 114,-1552 }, { 115,-1552 }, { 116,-1552 }, + { 117,-1552 }, { 118,-1552 }, { 119,-1552 }, { 120,-1552 }, { 121,-1552 }, + { 122,-1552 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-1552 }, { 129,-1552 }, { 130,-1552 }, { 131,-1552 }, + { 132,-1552 }, { 133,-1552 }, { 134,-1552 }, { 135,-1552 }, { 136,-1552 }, + { 137,-1552 }, { 138,-1552 }, { 139,-1552 }, { 140,-1552 }, { 141,-1552 }, + { 142,-1552 }, { 143,-1552 }, { 144,-1552 }, { 145,-1552 }, { 146,-1552 }, + { 147,-1552 }, { 148,-1552 }, { 149,-1552 }, { 150,-1552 }, { 151,-1552 }, + { 152,-1552 }, { 153,-1552 }, { 154,-1552 }, { 155,-1552 }, { 156,-1552 }, + + { 157,-1552 }, { 158,-1552 }, { 159,-1552 }, { 160,-1552 }, { 161,-1552 }, + { 162,-1552 }, { 163,-1552 }, { 164,-1552 }, { 165,-1552 }, { 166,-1552 }, + { 167,-1552 }, { 168,-1552 }, { 169,-1552 }, { 170,-1552 }, { 171,-1552 }, + { 172,-1552 }, { 173,-1552 }, { 174,-1552 }, { 175,-1552 }, { 176,-1552 }, + { 177,-1552 }, { 178,-1552 }, { 179,-1552 }, { 180,-1552 }, { 181,-1552 }, + { 182,-1552 }, { 183,-1552 }, { 184,-1552 }, { 185,-1552 }, { 186,-1552 }, + { 187,-1552 }, { 188,-1552 }, { 189,-1552 }, { 190,-1552 }, { 191,-1552 }, + { 192,-1552 }, { 193,-1552 }, { 194,-1552 }, { 195,-1552 }, { 196,-1552 }, + { 197,-1552 }, { 198,-1552 }, { 199,-1552 }, { 200,-1552 }, { 201,-1552 }, + { 202,-1552 }, { 203,-1552 }, { 204,-1552 }, { 205,-1552 }, { 206,-1552 }, + + { 207,-1552 }, { 208,-1552 }, { 209,-1552 }, { 210,-1552 }, { 211,-1552 }, + { 212,-1552 }, { 213,-1552 }, { 214,-1552 }, { 215,-1552 }, { 216,-1552 }, + { 217,-1552 }, { 218,-1552 }, { 219,-1552 }, { 220,-1552 }, { 221,-1552 }, + { 222,-1552 }, { 223,-1552 }, { 224,-1552 }, { 225,-1552 }, { 226,-1552 }, + { 227,-1552 }, { 228,-1552 }, { 229,-1552 }, { 230,-1552 }, { 231,-1552 }, + { 232,-1552 }, { 233,-1552 }, { 234,-1552 }, { 235,-1552 }, { 236,-1552 }, + { 237,-1552 }, { 238,-1552 }, { 239,-1552 }, { 240,-1552 }, { 241,-1552 }, + { 242,-1552 }, { 243,-1552 }, { 244,-1552 }, { 245,-1552 }, { 246,-1552 }, + { 247,-1552 }, { 248,-1552 }, { 249,-1552 }, { 250,-1552 }, { 251,-1552 }, + { 252,-1552 }, { 253,-1552 }, { 254,-1552 }, { 255,-1552 }, { 0, 61 }, + + { 0,11572 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-1809 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-257 }, { 49,-257 }, + + { 50,-257 }, { 51,-257 }, { 52,-257 }, { 53,-257 }, { 54,-257 }, + { 55,-257 }, { 56,-257 }, { 57,-257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-257 }, { 66,-257 }, { 67,-257 }, { 68,-257 }, { 69,-257 }, + { 70,-257 }, { 71,-1809 }, { 72,-1809 }, { 73,-1809 }, { 74,-1809 }, + { 75,-1809 }, { 76,-1809 }, { 77,-1809 }, { 78,-1809 }, { 79,-1809 }, + { 80,-1809 }, { 81,-1809 }, { 82,-1809 }, { 83,-1809 }, { 84,-1809 }, + { 85,-1809 }, { 86,-1809 }, { 87,-1809 }, { 88,-1809 }, { 89,-1809 }, + { 90,-1809 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-1809 }, { 0, 0 }, { 97,-257 }, { 98,-257 }, { 99,-257 }, + + { 100,-257 }, { 101,-257 }, { 102,-257 }, { 103,-1809 }, { 104,-1809 }, + { 105,-1809 }, { 106,-1809 }, { 107,-1809 }, { 108,-1809 }, { 109,-1809 }, + { 110,-1809 }, { 111,-1809 }, { 112,-1809 }, { 113,-1809 }, { 114,-1809 }, + { 115,-1809 }, { 116,-1809 }, { 117,-1809 }, { 118,-1809 }, { 119,-1809 }, + { 120,-1809 }, { 121,-1809 }, { 122,-1809 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1809 }, { 129,-1809 }, + { 130,-1809 }, { 131,-1809 }, { 132,-1809 }, { 133,-1809 }, { 134,-1809 }, + { 135,-1809 }, { 136,-1809 }, { 137,-1809 }, { 138,-1809 }, { 139,-1809 }, + { 140,-1809 }, { 141,-1809 }, { 142,-1809 }, { 143,-1809 }, { 144,-1809 }, + { 145,-1809 }, { 146,-1809 }, { 147,-1809 }, { 148,-1809 }, { 149,-1809 }, + + { 150,-1809 }, { 151,-1809 }, { 152,-1809 }, { 153,-1809 }, { 154,-1809 }, + { 155,-1809 }, { 156,-1809 }, { 157,-1809 }, { 158,-1809 }, { 159,-1809 }, + { 160,-1809 }, { 161,-1809 }, { 162,-1809 }, { 163,-1809 }, { 164,-1809 }, + { 165,-1809 }, { 166,-1809 }, { 167,-1809 }, { 168,-1809 }, { 169,-1809 }, + { 170,-1809 }, { 171,-1809 }, { 172,-1809 }, { 173,-1809 }, { 174,-1809 }, + { 175,-1809 }, { 176,-1809 }, { 177,-1809 }, { 178,-1809 }, { 179,-1809 }, + { 180,-1809 }, { 181,-1809 }, { 182,-1809 }, { 183,-1809 }, { 184,-1809 }, + { 185,-1809 }, { 186,-1809 }, { 187,-1809 }, { 188,-1809 }, { 189,-1809 }, + { 190,-1809 }, { 191,-1809 }, { 192,-1809 }, { 193,-1809 }, { 194,-1809 }, + { 195,-1809 }, { 196,-1809 }, { 197,-1809 }, { 198,-1809 }, { 199,-1809 }, + + { 200,-1809 }, { 201,-1809 }, { 202,-1809 }, { 203,-1809 }, { 204,-1809 }, + { 205,-1809 }, { 206,-1809 }, { 207,-1809 }, { 208,-1809 }, { 209,-1809 }, + { 210,-1809 }, { 211,-1809 }, { 212,-1809 }, { 213,-1809 }, { 214,-1809 }, + { 215,-1809 }, { 216,-1809 }, { 217,-1809 }, { 218,-1809 }, { 219,-1809 }, + { 220,-1809 }, { 221,-1809 }, { 222,-1809 }, { 223,-1809 }, { 224,-1809 }, + { 225,-1809 }, { 226,-1809 }, { 227,-1809 }, { 228,-1809 }, { 229,-1809 }, + { 230,-1809 }, { 231,-1809 }, { 232,-1809 }, { 233,-1809 }, { 234,-1809 }, + { 235,-1809 }, { 236,-1809 }, { 237,-1809 }, { 238,-1809 }, { 239,-1809 }, + { 240,-1809 }, { 241,-1809 }, { 242,-1809 }, { 243,-1809 }, { 244,-1809 }, + { 245,-1809 }, { 246,-1809 }, { 247,-1809 }, { 248,-1809 }, { 249,-1809 }, + + { 250,-1809 }, { 251,-1809 }, { 252,-1809 }, { 253,-1809 }, { 254,-1809 }, + { 255,-1809 }, { 0, 57 }, { 0,11315 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-2066 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 46,-9175 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3841 }, { 66,3841 }, { 67,3841 }, + { 68,3841 }, { 69,4098 }, { 70,3841 }, { 71,3841 }, { 72,3841 }, + { 73,3841 }, { 74,3841 }, { 75,3841 }, { 76,3841 }, { 77,3841 }, + { 78,3841 }, { 79,3841 }, { 80,3841 }, { 81,3841 }, { 82,3841 }, + { 83,3841 }, { 84,3841 }, { 85,3841 }, { 86,3841 }, { 87,3841 }, + { 88,3841 }, { 89,3841 }, { 90,3841 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 95,4355 }, { 0, 0 }, { 97,3841 }, + { 98,3841 }, { 99,3841 }, { 100,3841 }, { 101,4098 }, { 102,3841 }, + { 103,3841 }, { 104,3841 }, { 105,3841 }, { 106,3841 }, { 107,3841 }, + { 108,3841 }, { 109,3841 }, { 110,3841 }, { 111,3841 }, { 112,3841 }, + { 113,3841 }, { 114,3841 }, { 115,3841 }, { 116,3841 }, { 117,3841 }, + { 118,3841 }, { 119,3841 }, { 120,3841 }, { 121,3841 }, { 122,3841 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,3841 }, { 129,3841 }, { 130,3841 }, { 131,3841 }, { 132,3841 }, + { 133,3841 }, { 134,3841 }, { 135,3841 }, { 136,3841 }, { 137,3841 }, + { 138,3841 }, { 139,3841 }, { 140,3841 }, { 141,3841 }, { 142,3841 }, + + { 143,3841 }, { 144,3841 }, { 145,3841 }, { 146,3841 }, { 147,3841 }, + { 148,3841 }, { 149,3841 }, { 150,3841 }, { 151,3841 }, { 152,3841 }, + { 153,3841 }, { 154,3841 }, { 155,3841 }, { 156,3841 }, { 157,3841 }, + { 158,3841 }, { 159,3841 }, { 160,3841 }, { 161,3841 }, { 162,3841 }, + { 163,3841 }, { 164,3841 }, { 165,3841 }, { 166,3841 }, { 167,3841 }, + { 168,3841 }, { 169,3841 }, { 170,3841 }, { 171,3841 }, { 172,3841 }, + { 173,3841 }, { 174,3841 }, { 175,3841 }, { 176,3841 }, { 177,3841 }, + { 178,3841 }, { 179,3841 }, { 180,3841 }, { 181,3841 }, { 182,3841 }, + { 183,3841 }, { 184,3841 }, { 185,3841 }, { 186,3841 }, { 187,3841 }, + { 188,3841 }, { 189,3841 }, { 190,3841 }, { 191,3841 }, { 192,3841 }, + + { 193,3841 }, { 194,3841 }, { 195,3841 }, { 196,3841 }, { 197,3841 }, + { 198,3841 }, { 199,3841 }, { 200,3841 }, { 201,3841 }, { 202,3841 }, + { 203,3841 }, { 204,3841 }, { 205,3841 }, { 206,3841 }, { 207,3841 }, + { 208,3841 }, { 209,3841 }, { 210,3841 }, { 211,3841 }, { 212,3841 }, + { 213,3841 }, { 214,3841 }, { 215,3841 }, { 216,3841 }, { 217,3841 }, + { 218,3841 }, { 219,3841 }, { 220,3841 }, { 221,3841 }, { 222,3841 }, + { 223,3841 }, { 224,3841 }, { 225,3841 }, { 226,3841 }, { 227,3841 }, + { 228,3841 }, { 229,3841 }, { 230,3841 }, { 231,3841 }, { 232,3841 }, + { 233,3841 }, { 234,3841 }, { 235,3841 }, { 236,3841 }, { 237,3841 }, + { 238,3841 }, { 239,3841 }, { 240,3841 }, { 241,3841 }, { 242,3841 }, + + { 243,3841 }, { 244,3841 }, { 245,3841 }, { 246,3841 }, { 247,3841 }, + { 248,3841 }, { 249,3841 }, { 250,3841 }, { 251,3841 }, { 252,3841 }, + { 253,3841 }, { 254,3841 }, { 255,3841 }, { 0, 4 }, { 0,11058 }, + { 0, 30 }, { 0,11056 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 28 }, { 0,11041 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 33, 0 }, { 0, 0 }, { 35, 0 }, + + { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, + { 0, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 48,-15747 }, + { 49,-15747 }, { 50,-15747 }, { 51,-15747 }, { 52,-15747 }, { 53,-15747 }, + { 54,-15747 }, { 55,-15747 }, { 0, 0 }, { 0, 0 }, { 60, 0 }, + { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 48,4338 }, + { 49,4338 }, { 50,4338 }, { 51,4338 }, { 52,4338 }, { 53,4338 }, + { 54,4338 }, { 55,4338 }, { 56,4338 }, { 57,4338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,10979 }, { 0, 0 }, + { 0, 0 }, { 65,4338 }, { 66,4338 }, { 67,4338 }, { 68,4338 }, + + { 69,4338 }, { 70,4338 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, + { 96, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 31 }, { 0,10956 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,4338 }, { 98,4338 }, + { 99,4338 }, { 100,4338 }, { 101,4338 }, { 102,4338 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, { 0, 0 }, + { 126, 0 }, { 48,4299 }, { 49,4299 }, { 50,4299 }, { 51,4299 }, + { 52,4299 }, { 53,4299 }, { 54,4299 }, { 55,4299 }, { 56,4299 }, + + { 57,4299 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4299 }, { 66,4299 }, + { 67,4299 }, { 68,4299 }, { 69,4299 }, { 70,4299 }, { 48,-15833 }, + { 49,-15833 }, { 50,-15833 }, { 51,-15833 }, { 52,-15833 }, { 53,-15833 }, + { 54,-15833 }, { 55,-15833 }, { 56,-15833 }, { 57,-15833 }, { 0, 37 }, + { 0,10897 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-15833 }, { 66,-15833 }, { 67,-15833 }, { 68,-15833 }, + { 69,-15833 }, { 70,-15833 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,4299 }, { 98,4299 }, { 99,4299 }, { 100,4299 }, { 101,4299 }, + { 102,4299 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-15933 }, { 0, 0 }, { 97,-15833 }, { 98,-15833 }, + { 99,-15833 }, { 100,-15833 }, { 101,-15833 }, { 102,-15833 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, + { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, + + { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, + { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, + { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, + { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, + { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, + { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, + { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, + { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, + { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, + { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, + { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, + { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, + { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, + { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, + { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, + { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, + { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, + { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, + + { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, + { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, + { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, + { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, @@ -3783,151 +5677,1504 @@ static const struct yy_trans_info yy_transition[17678] = { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, - { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, - { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, - { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, - { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, - { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, - { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, - { 255, 0 }, { 256, 0 }, { 0, 19 }, { 0,3240 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 19 }, { 0,3235 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 5 }, { 0, 0 }, - { 12, 0 }, { 13, 5 }, { 9, 16 }, { 10, 16 }, { 0, 0 }, - - { 12, 16 }, { 13, 16 }, { 0, 0 }, { 0, 19 }, { 0,3219 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 9, 0 }, { 10, 0 }, - { 32, 0 }, { 12, 0 }, { 13, 0 }, { 0, 0 }, { 0, 0 }, - { 32, 16 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 39,-7600 }, { 45,-7597 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-7602 }, { 0, 0 }, - { 0, 0 }, { 32, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 39,-7616 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 45,-7618 }, - - { 0, 23 }, { 0,3172 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, - { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, - { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, { 13, 0 }, - { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, - { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, - { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, - { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, - { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, - { 0, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, - { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, + { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, + { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, + { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, + { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, + { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, + { 255, 0 }, { 0, 28 }, { 0,10640 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, + { 0,10617 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,3998 }, { 49,3998 }, { 50,3998 }, { 51,3998 }, { 52,3998 }, + { 53,3998 }, { 54,3998 }, { 55,3998 }, { 56,3998 }, { 57,3998 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3998 }, { 66,3998 }, { 67,3998 }, + + { 68,3998 }, { 69,3998 }, { 70,3998 }, { 48,3998 }, { 49,3998 }, + { 50,3998 }, { 51,3998 }, { 52,3998 }, { 53,3998 }, { 54,3998 }, + { 55,3998 }, { 56,3998 }, { 57,3998 }, { 0, 69 }, { 0,10558 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,3998 }, { 66,3998 }, { 67,3998 }, { 68,3998 }, { 69,3998 }, + { 70,3998 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,3998 }, + { 98,3998 }, { 99,3998 }, { 100,3998 }, { 101,3998 }, { 102,3998 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 36, 0 }, { 0, 0 }, { 97,3998 }, { 98,3998 }, { 99,3998 }, + { 100,3998 }, { 101,3998 }, { 102,3998 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, + { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, + { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, + { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, + { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, + + { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, + { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, + { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, + { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, + { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, + { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, + { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, + + { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, + { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, + { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, + { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, + { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, + { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, + { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, + { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, + { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, - { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, - { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, - { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, - { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, - { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, - { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, - { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, - { 89, 0 }, { 90, 0 }, { 91, 0 }, { 0, 0 }, { 93, 0 }, - { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, + { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, + { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, + { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, + { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, + { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, + { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, + { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, + { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, + { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, - { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, - { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, - { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, - { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, - { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, - { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, - { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, - { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, - { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, - { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, + { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, + { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, + { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, + { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, + { 0, 66 }, { 0,10301 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, - { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, - { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, - { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, - { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, - { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, - { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, - { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, - { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, - { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3741 }, + { 49,3741 }, { 50,3741 }, { 51,3741 }, { 52,3741 }, { 53,3741 }, + { 54,3741 }, { 55,3741 }, { 56,3741 }, { 57,3741 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,3998 }, { 66,3998 }, { 67,3998 }, { 68,3998 }, + { 69,3998 }, { 70,3998 }, { 71,3998 }, { 72,3998 }, { 73,3998 }, + { 74,3998 }, { 75,3998 }, { 76,3998 }, { 77,3998 }, { 78,3998 }, - { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, - { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, - { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, - { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, - { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, - { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, - { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, - { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, - { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, - { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, + { 79,3998 }, { 80,3998 }, { 81,3998 }, { 82,3998 }, { 83,3998 }, + { 84,3998 }, { 85,3998 }, { 86,3998 }, { 87,3998 }, { 88,3998 }, + { 89,3998 }, { 90,3998 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,4255 }, { 0, 0 }, { 97,3998 }, { 98,3998 }, + { 99,3998 }, { 100,3998 }, { 101,3998 }, { 102,3998 }, { 103,3998 }, + { 104,3998 }, { 105,3998 }, { 106,3998 }, { 107,3998 }, { 108,3998 }, + { 109,3998 }, { 110,3998 }, { 111,3998 }, { 112,3998 }, { 113,3998 }, + { 114,3998 }, { 115,3998 }, { 116,3998 }, { 117,3998 }, { 118,3998 }, + { 119,3998 }, { 120,3998 }, { 121,3998 }, { 122,3998 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,3998 }, - { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, - { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 30 }, { 0,2914 }, + { 129,3998 }, { 130,3998 }, { 131,3998 }, { 132,3998 }, { 133,3998 }, + { 134,3998 }, { 135,3998 }, { 136,3998 }, { 137,3998 }, { 138,3998 }, + { 139,3998 }, { 140,3998 }, { 141,3998 }, { 142,3998 }, { 143,3998 }, + { 144,3998 }, { 145,3998 }, { 146,3998 }, { 147,3998 }, { 148,3998 }, + { 149,3998 }, { 150,3998 }, { 151,3998 }, { 152,3998 }, { 153,3998 }, + { 154,3998 }, { 155,3998 }, { 156,3998 }, { 157,3998 }, { 158,3998 }, + { 159,3998 }, { 160,3998 }, { 161,3998 }, { 162,3998 }, { 163,3998 }, + { 164,3998 }, { 165,3998 }, { 166,3998 }, { 167,3998 }, { 168,3998 }, + { 169,3998 }, { 170,3998 }, { 171,3998 }, { 172,3998 }, { 173,3998 }, + { 174,3998 }, { 175,3998 }, { 176,3998 }, { 177,3998 }, { 178,3998 }, + + { 179,3998 }, { 180,3998 }, { 181,3998 }, { 182,3998 }, { 183,3998 }, + { 184,3998 }, { 185,3998 }, { 186,3998 }, { 187,3998 }, { 188,3998 }, + { 189,3998 }, { 190,3998 }, { 191,3998 }, { 192,3998 }, { 193,3998 }, + { 194,3998 }, { 195,3998 }, { 196,3998 }, { 197,3998 }, { 198,3998 }, + { 199,3998 }, { 200,3998 }, { 201,3998 }, { 202,3998 }, { 203,3998 }, + { 204,3998 }, { 205,3998 }, { 206,3998 }, { 207,3998 }, { 208,3998 }, + { 209,3998 }, { 210,3998 }, { 211,3998 }, { 212,3998 }, { 213,3998 }, + { 214,3998 }, { 215,3998 }, { 216,3998 }, { 217,3998 }, { 218,3998 }, + { 219,3998 }, { 220,3998 }, { 221,3998 }, { 222,3998 }, { 223,3998 }, + { 224,3998 }, { 225,3998 }, { 226,3998 }, { 227,3998 }, { 228,3998 }, + + { 229,3998 }, { 230,3998 }, { 231,3998 }, { 232,3998 }, { 233,3998 }, + { 234,3998 }, { 235,3998 }, { 236,3998 }, { 237,3998 }, { 238,3998 }, + { 239,3998 }, { 240,3998 }, { 241,3998 }, { 242,3998 }, { 243,3998 }, + { 244,3998 }, { 245,3998 }, { 246,3998 }, { 247,3998 }, { 248,3998 }, + { 249,3998 }, { 250,3998 }, { 251,3998 }, { 252,3998 }, { 253,3998 }, + { 254,3998 }, { 255,3998 }, { 0, 64 }, { 0,10044 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 28 }, { 0,2906 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, - { 0,2883 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-514 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,4255 }, { 66,4255 }, + { 67,4255 }, { 68,4255 }, { 69,4512 }, { 70,4255 }, { 71,4255 }, + + { 72,4255 }, { 73,4255 }, { 74,4255 }, { 75,4255 }, { 76,4255 }, + { 77,4255 }, { 78,4255 }, { 79,4255 }, { 80,4255 }, { 81,4255 }, + { 82,4255 }, { 83,4255 }, { 84,4255 }, { 85,4255 }, { 86,4255 }, + { 87,4255 }, { 88,4255 }, { 89,4255 }, { 90,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,4769 }, { 0, 0 }, + { 97,4255 }, { 98,4255 }, { 99,4255 }, { 100,4255 }, { 101,4512 }, + { 102,4255 }, { 103,4255 }, { 104,4255 }, { 105,4255 }, { 106,4255 }, + { 107,4255 }, { 108,4255 }, { 109,4255 }, { 110,4255 }, { 111,4255 }, + { 112,4255 }, { 113,4255 }, { 114,4255 }, { 115,4255 }, { 116,4255 }, + { 117,4255 }, { 118,4255 }, { 119,4255 }, { 120,4255 }, { 121,4255 }, + + { 122,4255 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,4255 }, { 129,4255 }, { 130,4255 }, { 131,4255 }, + { 132,4255 }, { 133,4255 }, { 134,4255 }, { 135,4255 }, { 136,4255 }, + { 137,4255 }, { 138,4255 }, { 139,4255 }, { 140,4255 }, { 141,4255 }, + { 142,4255 }, { 143,4255 }, { 144,4255 }, { 145,4255 }, { 146,4255 }, + { 147,4255 }, { 148,4255 }, { 149,4255 }, { 150,4255 }, { 151,4255 }, + { 152,4255 }, { 153,4255 }, { 154,4255 }, { 155,4255 }, { 156,4255 }, + { 157,4255 }, { 158,4255 }, { 159,4255 }, { 160,4255 }, { 161,4255 }, + { 162,4255 }, { 163,4255 }, { 164,4255 }, { 165,4255 }, { 166,4255 }, + { 167,4255 }, { 168,4255 }, { 169,4255 }, { 170,4255 }, { 171,4255 }, + + { 172,4255 }, { 173,4255 }, { 174,4255 }, { 175,4255 }, { 176,4255 }, + { 177,4255 }, { 178,4255 }, { 179,4255 }, { 180,4255 }, { 181,4255 }, + { 182,4255 }, { 183,4255 }, { 184,4255 }, { 185,4255 }, { 186,4255 }, + { 187,4255 }, { 188,4255 }, { 189,4255 }, { 190,4255 }, { 191,4255 }, + { 192,4255 }, { 193,4255 }, { 194,4255 }, { 195,4255 }, { 196,4255 }, + { 197,4255 }, { 198,4255 }, { 199,4255 }, { 200,4255 }, { 201,4255 }, + { 202,4255 }, { 203,4255 }, { 204,4255 }, { 205,4255 }, { 206,4255 }, + { 207,4255 }, { 208,4255 }, { 209,4255 }, { 210,4255 }, { 211,4255 }, + { 212,4255 }, { 213,4255 }, { 214,4255 }, { 215,4255 }, { 216,4255 }, + { 217,4255 }, { 218,4255 }, { 219,4255 }, { 220,4255 }, { 221,4255 }, + { 222,4255 }, { 223,4255 }, { 224,4255 }, { 225,4255 }, { 226,4255 }, + { 227,4255 }, { 228,4255 }, { 229,4255 }, { 230,4255 }, { 231,4255 }, + { 232,4255 }, { 233,4255 }, { 234,4255 }, { 235,4255 }, { 236,4255 }, + { 237,4255 }, { 238,4255 }, { 239,4255 }, { 240,4255 }, { 241,4255 }, + { 242,4255 }, { 243,4255 }, { 244,4255 }, { 245,4255 }, { 246,4255 }, + { 247,4255 }, { 248,4255 }, { 249,4255 }, { 250,4255 }, { 251,4255 }, + { 252,4255 }, { 253,4255 }, { 254,4255 }, { 255,4255 }, { 0, 64 }, + { 0,9787 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48,1652 }, { 49,1652 }, { 50,1652 }, - { 51,1652 }, { 52,1652 }, { 53,1652 }, { 54,1652 }, { 55,1652 }, - { 48,1676 }, { 49,1676 }, { 50,1676 }, { 51,1676 }, { 52,1676 }, - { 53,1676 }, { 54,1676 }, { 55,1676 }, { 56,1676 }, { 57,1676 }, - { 0, 0 }, { 0, 0 }, { 0, 29 }, { 0,2845 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,1676 }, { 66,1676 }, { 67,1676 }, - { 68,1676 }, { 69,1676 }, { 70,1676 }, { 48,1691 }, { 49,1691 }, - { 50,1691 }, { 51,1691 }, { 52,1691 }, { 53,1691 }, { 54,1691 }, - { 55,1691 }, { 56,1691 }, { 57,1691 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,1691 }, { 66,1691 }, { 67,1691 }, { 68,1691 }, { 69,1691 }, - { 70,1691 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1676 }, - { 98,1676 }, { 99,1676 }, { 100,1676 }, { 101,1676 }, { 102,1676 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48,1676 }, { 49,1676 }, { 50,1676 }, { 51,1676 }, - { 52,1676 }, { 53,1676 }, { 54,1676 }, { 55,1676 }, { 56,1676 }, - { 57,1676 }, { 0, 0 }, { 97,1691 }, { 98,1691 }, { 99,1691 }, - { 100,1691 }, { 101,1691 }, { 102,1691 }, { 65,1676 }, { 66,1676 }, - { 67,1676 }, { 68,1676 }, { 69,1676 }, { 70,1676 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 65,-4654 }, { 66,-4654 }, { 67,-4654 }, { 68,-4654 }, { 69,-4397 }, + { 70,-4654 }, { 71,-4654 }, { 72,-4654 }, { 73,-4654 }, { 74,-4654 }, + { 75,-4654 }, { 76,-4654 }, { 77,-4654 }, { 78,-4654 }, { 79,-4654 }, + { 80,-4654 }, { 81,-4654 }, { 82,-4654 }, { 83,-4654 }, { 84,-4654 }, + { 85,-4654 }, { 86,-4654 }, { 87,-4654 }, { 88,-4654 }, { 89,-4654 }, + { 90,-4654 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95, 257 }, { 0, 0 }, { 97,-4654 }, { 98,-4654 }, { 99,-4654 }, + { 100,-4654 }, { 101,-4397 }, { 102,-4654 }, { 103,-4654 }, { 104,-4654 }, + { 105,-4654 }, { 106,-4654 }, { 107,-4654 }, { 108,-4654 }, { 109,-4654 }, + { 110,-4654 }, { 111,-4654 }, { 112,-4654 }, { 113,-4654 }, { 114,-4654 }, + + { 115,-4654 }, { 116,-4654 }, { 117,-4654 }, { 118,-4654 }, { 119,-4654 }, + { 120,-4654 }, { 121,-4654 }, { 122,-4654 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-4654 }, { 129,-4654 }, + { 130,-4654 }, { 131,-4654 }, { 132,-4654 }, { 133,-4654 }, { 134,-4654 }, + { 135,-4654 }, { 136,-4654 }, { 137,-4654 }, { 138,-4654 }, { 139,-4654 }, + { 140,-4654 }, { 141,-4654 }, { 142,-4654 }, { 143,-4654 }, { 144,-4654 }, + { 145,-4654 }, { 146,-4654 }, { 147,-4654 }, { 148,-4654 }, { 149,-4654 }, + { 150,-4654 }, { 151,-4654 }, { 152,-4654 }, { 153,-4654 }, { 154,-4654 }, + { 155,-4654 }, { 156,-4654 }, { 157,-4654 }, { 158,-4654 }, { 159,-4654 }, + { 160,-4654 }, { 161,-4654 }, { 162,-4654 }, { 163,-4654 }, { 164,-4654 }, + + { 165,-4654 }, { 166,-4654 }, { 167,-4654 }, { 168,-4654 }, { 169,-4654 }, + { 170,-4654 }, { 171,-4654 }, { 172,-4654 }, { 173,-4654 }, { 174,-4654 }, + { 175,-4654 }, { 176,-4654 }, { 177,-4654 }, { 178,-4654 }, { 179,-4654 }, + { 180,-4654 }, { 181,-4654 }, { 182,-4654 }, { 183,-4654 }, { 184,-4654 }, + { 185,-4654 }, { 186,-4654 }, { 187,-4654 }, { 188,-4654 }, { 189,-4654 }, + { 190,-4654 }, { 191,-4654 }, { 192,-4654 }, { 193,-4654 }, { 194,-4654 }, + { 195,-4654 }, { 196,-4654 }, { 197,-4654 }, { 198,-4654 }, { 199,-4654 }, + { 200,-4654 }, { 201,-4654 }, { 202,-4654 }, { 203,-4654 }, { 204,-4654 }, + { 205,-4654 }, { 206,-4654 }, { 207,-4654 }, { 208,-4654 }, { 209,-4654 }, + { 210,-4654 }, { 211,-4654 }, { 212,-4654 }, { 213,-4654 }, { 214,-4654 }, + + { 215,-4654 }, { 216,-4654 }, { 217,-4654 }, { 218,-4654 }, { 219,-4654 }, + { 220,-4654 }, { 221,-4654 }, { 222,-4654 }, { 223,-4654 }, { 224,-4654 }, + { 225,-4654 }, { 226,-4654 }, { 227,-4654 }, { 228,-4654 }, { 229,-4654 }, + { 230,-4654 }, { 231,-4654 }, { 232,-4654 }, { 233,-4654 }, { 234,-4654 }, + { 235,-4654 }, { 236,-4654 }, { 237,-4654 }, { 238,-4654 }, { 239,-4654 }, + { 240,-4654 }, { 241,-4654 }, { 242,-4654 }, { 243,-4654 }, { 244,-4654 }, + { 245,-4654 }, { 246,-4654 }, { 247,-4654 }, { 248,-4654 }, { 249,-4654 }, + { 250,-4654 }, { 251,-4654 }, { 252,-4654 }, { 253,-4654 }, { 254,-4654 }, + { 255,-4654 }, { 0, 69 }, { 0,9530 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-1028 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4512 }, { 49,4512 }, { 50,4512 }, { 51,4512 }, { 52,4512 }, + { 53,4512 }, { 54,4512 }, { 55,4512 }, { 56,4512 }, { 57,4512 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-1028 }, { 66,-1028 }, { 67,-1028 }, + { 68,-1028 }, { 69,-1028 }, { 70,-1028 }, { 71,-1028 }, { 72,-1028 }, + { 73,-1028 }, { 74,-1028 }, { 75,-1028 }, { 76,-1028 }, { 77,-1028 }, + { 78,-1028 }, { 79,-1028 }, { 80,-1028 }, { 81,-1028 }, { 82,-1028 }, + { 83,-1028 }, { 84,-1028 }, { 85,-1028 }, { 86,-1028 }, { 87,-1028 }, + { 88,-1028 }, { 89,-1028 }, { 90,-1028 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-1028 }, { 0, 0 }, { 97,-1028 }, + { 98,-1028 }, { 99,-1028 }, { 100,-1028 }, { 101,-1028 }, { 102,-1028 }, + { 103,-1028 }, { 104,-1028 }, { 105,-1028 }, { 106,-1028 }, { 107,-1028 }, + + { 108,-1028 }, { 109,-1028 }, { 110,-1028 }, { 111,-1028 }, { 112,-1028 }, + { 113,-1028 }, { 114,-1028 }, { 115,-1028 }, { 116,-1028 }, { 117,-1028 }, + { 118,-1028 }, { 119,-1028 }, { 120,-1028 }, { 121,-1028 }, { 122,-1028 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-1028 }, { 129,-1028 }, { 130,-1028 }, { 131,-1028 }, { 132,-1028 }, + { 133,-1028 }, { 134,-1028 }, { 135,-1028 }, { 136,-1028 }, { 137,-1028 }, + { 138,-1028 }, { 139,-1028 }, { 140,-1028 }, { 141,-1028 }, { 142,-1028 }, + { 143,-1028 }, { 144,-1028 }, { 145,-1028 }, { 146,-1028 }, { 147,-1028 }, + { 148,-1028 }, { 149,-1028 }, { 150,-1028 }, { 151,-1028 }, { 152,-1028 }, + { 153,-1028 }, { 154,-1028 }, { 155,-1028 }, { 156,-1028 }, { 157,-1028 }, + + { 158,-1028 }, { 159,-1028 }, { 160,-1028 }, { 161,-1028 }, { 162,-1028 }, + { 163,-1028 }, { 164,-1028 }, { 165,-1028 }, { 166,-1028 }, { 167,-1028 }, + { 168,-1028 }, { 169,-1028 }, { 170,-1028 }, { 171,-1028 }, { 172,-1028 }, + { 173,-1028 }, { 174,-1028 }, { 175,-1028 }, { 176,-1028 }, { 177,-1028 }, + { 178,-1028 }, { 179,-1028 }, { 180,-1028 }, { 181,-1028 }, { 182,-1028 }, + { 183,-1028 }, { 184,-1028 }, { 185,-1028 }, { 186,-1028 }, { 187,-1028 }, + { 188,-1028 }, { 189,-1028 }, { 190,-1028 }, { 191,-1028 }, { 192,-1028 }, + { 193,-1028 }, { 194,-1028 }, { 195,-1028 }, { 196,-1028 }, { 197,-1028 }, + { 198,-1028 }, { 199,-1028 }, { 200,-1028 }, { 201,-1028 }, { 202,-1028 }, + { 203,-1028 }, { 204,-1028 }, { 205,-1028 }, { 206,-1028 }, { 207,-1028 }, + + { 208,-1028 }, { 209,-1028 }, { 210,-1028 }, { 211,-1028 }, { 212,-1028 }, + { 213,-1028 }, { 214,-1028 }, { 215,-1028 }, { 216,-1028 }, { 217,-1028 }, + { 218,-1028 }, { 219,-1028 }, { 220,-1028 }, { 221,-1028 }, { 222,-1028 }, + { 223,-1028 }, { 224,-1028 }, { 225,-1028 }, { 226,-1028 }, { 227,-1028 }, + { 228,-1028 }, { 229,-1028 }, { 230,-1028 }, { 231,-1028 }, { 232,-1028 }, + { 233,-1028 }, { 234,-1028 }, { 235,-1028 }, { 236,-1028 }, { 237,-1028 }, + { 238,-1028 }, { 239,-1028 }, { 240,-1028 }, { 241,-1028 }, { 242,-1028 }, + { 243,-1028 }, { 244,-1028 }, { 245,-1028 }, { 246,-1028 }, { 247,-1028 }, + { 248,-1028 }, { 249,-1028 }, { 250,-1028 }, { 251,-1028 }, { 252,-1028 }, + { 253,-1028 }, { 254,-1028 }, { 255,-1028 }, { 0, 68 }, { 0,9273 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-3851 }, { 49,-3851 }, { 50,-4108 }, + + { 51,-4108 }, { 52,-4108 }, { 53,-4108 }, { 54,-4108 }, { 55,-4108 }, + { 56,-4108 }, { 57,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-4108 }, + { 66,-4108 }, { 67,-4108 }, { 68,-4108 }, { 69,-4108 }, { 70,-4108 }, + { 71,-4108 }, { 72,-4108 }, { 73,-4108 }, { 74,-4108 }, { 75,-4108 }, + { 76,-4108 }, { 77,-4108 }, { 78,-4108 }, { 79,-4108 }, { 80,-4108 }, + { 81,-4108 }, { 82,-4108 }, { 83,-4108 }, { 84,-4108 }, { 85,-4108 }, + { 86,-4108 }, { 87,-4108 }, { 88,-4108 }, { 89,-4108 }, { 90,-4108 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-4108 }, + { 0, 0 }, { 97,-4108 }, { 98,-4108 }, { 99,-4108 }, { 100,-4108 }, + + { 101,-4108 }, { 102,-4108 }, { 103,-4108 }, { 104,-4108 }, { 105,-4108 }, + { 106,-4108 }, { 107,-4108 }, { 108,-4108 }, { 109,-4108 }, { 110,-4108 }, + { 111,-4108 }, { 112,-4108 }, { 113,-4108 }, { 114,-4108 }, { 115,-4108 }, + { 116,-4108 }, { 117,-4108 }, { 118,-4108 }, { 119,-4108 }, { 120,-4108 }, + { 121,-4108 }, { 122,-4108 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-4108 }, { 129,-4108 }, { 130,-4108 }, + { 131,-4108 }, { 132,-4108 }, { 133,-4108 }, { 134,-4108 }, { 135,-4108 }, + { 136,-4108 }, { 137,-4108 }, { 138,-4108 }, { 139,-4108 }, { 140,-4108 }, + { 141,-4108 }, { 142,-4108 }, { 143,-4108 }, { 144,-4108 }, { 145,-4108 }, + { 146,-4108 }, { 147,-4108 }, { 148,-4108 }, { 149,-4108 }, { 150,-4108 }, + { 151,-4108 }, { 152,-4108 }, { 153,-4108 }, { 154,-4108 }, { 155,-4108 }, + { 156,-4108 }, { 157,-4108 }, { 158,-4108 }, { 159,-4108 }, { 160,-4108 }, + { 161,-4108 }, { 162,-4108 }, { 163,-4108 }, { 164,-4108 }, { 165,-4108 }, + { 166,-4108 }, { 167,-4108 }, { 168,-4108 }, { 169,-4108 }, { 170,-4108 }, + { 171,-4108 }, { 172,-4108 }, { 173,-4108 }, { 174,-4108 }, { 175,-4108 }, + { 176,-4108 }, { 177,-4108 }, { 178,-4108 }, { 179,-4108 }, { 180,-4108 }, + { 181,-4108 }, { 182,-4108 }, { 183,-4108 }, { 184,-4108 }, { 185,-4108 }, + { 186,-4108 }, { 187,-4108 }, { 188,-4108 }, { 189,-4108 }, { 190,-4108 }, + { 191,-4108 }, { 192,-4108 }, { 193,-4108 }, { 194,-4108 }, { 195,-4108 }, + { 196,-4108 }, { 197,-4108 }, { 198,-4108 }, { 199,-4108 }, { 200,-4108 }, + + { 201,-4108 }, { 202,-4108 }, { 203,-4108 }, { 204,-4108 }, { 205,-4108 }, + { 206,-4108 }, { 207,-4108 }, { 208,-4108 }, { 209,-4108 }, { 210,-4108 }, + { 211,-4108 }, { 212,-4108 }, { 213,-4108 }, { 214,-4108 }, { 215,-4108 }, + { 216,-4108 }, { 217,-4108 }, { 218,-4108 }, { 219,-4108 }, { 220,-4108 }, + { 221,-4108 }, { 222,-4108 }, { 223,-4108 }, { 224,-4108 }, { 225,-4108 }, + { 226,-4108 }, { 227,-4108 }, { 228,-4108 }, { 229,-4108 }, { 230,-4108 }, + { 231,-4108 }, { 232,-4108 }, { 233,-4108 }, { 234,-4108 }, { 235,-4108 }, + { 236,-4108 }, { 237,-4108 }, { 238,-4108 }, { 239,-4108 }, { 240,-4108 }, + { 241,-4108 }, { 242,-4108 }, { 243,-4108 }, { 244,-4108 }, { 245,-4108 }, + { 246,-4108 }, { 247,-4108 }, { 248,-4108 }, { 249,-4108 }, { 250,-4108 }, + + { 251,-4108 }, { 252,-4108 }, { 253,-4108 }, { 254,-4108 }, { 255,-4108 }, + { 0, 66 }, { 0,9016 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 97,1676 }, { 98,1676 }, { 99,1676 }, { 100,1676 }, { 101,1676 }, - { 102,1676 }, { 0, 36 }, { 0,2741 }, { 1, 0 }, { 2, 0 }, - { 3, 0 }, { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, - { 8, 0 }, { 9, 0 }, { 10, 0 }, { 11, 0 }, { 12, 0 }, - { 13, 0 }, { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, - { 18, 0 }, { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, - { 23, 0 }, { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, - { 28, 0 }, { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, - { 33, 0 }, { 34, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, - { 38, 0 }, { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, - { 43, 0 }, { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4255 }, + { 49,4255 }, { 50,4255 }, { 51,4255 }, { 52,4255 }, { 53,4255 }, + { 54,4255 }, { 55,4255 }, { 56,4255 }, { 57,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,4512 }, { 66,4512 }, { 67,4512 }, { 68,4512 }, + { 69,4512 }, { 70,4512 }, { 71,4512 }, { 72,4512 }, { 73,4512 }, + { 74,4512 }, { 75,4512 }, { 76,4512 }, { 77,4512 }, { 78,4512 }, + { 79,4512 }, { 80,4512 }, { 81,4512 }, { 82,4512 }, { 83,4512 }, + { 84,4512 }, { 85,4512 }, { 86,4512 }, { 87,4512 }, { 88,4512 }, + { 89,4512 }, { 90,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 95,4769 }, { 0, 0 }, { 97,4512 }, { 98,4512 }, + { 99,4512 }, { 100,4512 }, { 101,4512 }, { 102,4512 }, { 103,4512 }, + { 104,4512 }, { 105,4512 }, { 106,4512 }, { 107,4512 }, { 108,4512 }, + { 109,4512 }, { 110,4512 }, { 111,4512 }, { 112,4512 }, { 113,4512 }, + { 114,4512 }, { 115,4512 }, { 116,4512 }, { 117,4512 }, { 118,4512 }, + { 119,4512 }, { 120,4512 }, { 121,4512 }, { 122,4512 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4512 }, + { 129,4512 }, { 130,4512 }, { 131,4512 }, { 132,4512 }, { 133,4512 }, + { 134,4512 }, { 135,4512 }, { 136,4512 }, { 137,4512 }, { 138,4512 }, + { 139,4512 }, { 140,4512 }, { 141,4512 }, { 142,4512 }, { 143,4512 }, + + { 144,4512 }, { 145,4512 }, { 146,4512 }, { 147,4512 }, { 148,4512 }, + { 149,4512 }, { 150,4512 }, { 151,4512 }, { 152,4512 }, { 153,4512 }, + { 154,4512 }, { 155,4512 }, { 156,4512 }, { 157,4512 }, { 158,4512 }, + { 159,4512 }, { 160,4512 }, { 161,4512 }, { 162,4512 }, { 163,4512 }, + { 164,4512 }, { 165,4512 }, { 166,4512 }, { 167,4512 }, { 168,4512 }, + { 169,4512 }, { 170,4512 }, { 171,4512 }, { 172,4512 }, { 173,4512 }, + { 174,4512 }, { 175,4512 }, { 176,4512 }, { 177,4512 }, { 178,4512 }, + { 179,4512 }, { 180,4512 }, { 181,4512 }, { 182,4512 }, { 183,4512 }, + { 184,4512 }, { 185,4512 }, { 186,4512 }, { 187,4512 }, { 188,4512 }, + { 189,4512 }, { 190,4512 }, { 191,4512 }, { 192,4512 }, { 193,4512 }, + + { 194,4512 }, { 195,4512 }, { 196,4512 }, { 197,4512 }, { 198,4512 }, + { 199,4512 }, { 200,4512 }, { 201,4512 }, { 202,4512 }, { 203,4512 }, + { 204,4512 }, { 205,4512 }, { 206,4512 }, { 207,4512 }, { 208,4512 }, + { 209,4512 }, { 210,4512 }, { 211,4512 }, { 212,4512 }, { 213,4512 }, + { 214,4512 }, { 215,4512 }, { 216,4512 }, { 217,4512 }, { 218,4512 }, + { 219,4512 }, { 220,4512 }, { 221,4512 }, { 222,4512 }, { 223,4512 }, + { 224,4512 }, { 225,4512 }, { 226,4512 }, { 227,4512 }, { 228,4512 }, + { 229,4512 }, { 230,4512 }, { 231,4512 }, { 232,4512 }, { 233,4512 }, + { 234,4512 }, { 235,4512 }, { 236,4512 }, { 237,4512 }, { 238,4512 }, + { 239,4512 }, { 240,4512 }, { 241,4512 }, { 242,4512 }, { 243,4512 }, + + { 244,4512 }, { 245,4512 }, { 246,4512 }, { 247,4512 }, { 248,4512 }, + { 249,4512 }, { 250,4512 }, { 251,4512 }, { 252,4512 }, { 253,4512 }, + { 254,4512 }, { 255,4512 }, { 0, 66 }, { 0,8759 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-4622 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, + { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, + { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 257 }, { 66, 257 }, + { 67, 257 }, { 68, 257 }, { 69, 257 }, { 70, 257 }, { 71, 257 }, + { 72, 257 }, { 73, 257 }, { 74, 257 }, { 75, 257 }, { 76, 257 }, + { 77, 257 }, { 78, 257 }, { 79, 257 }, { 80, 257 }, { 81, 257 }, + { 82, 257 }, { 83, 257 }, { 84, 257 }, { 85, 257 }, { 86, 257 }, + + { 87, 257 }, { 88, 257 }, { 89, 257 }, { 90, 257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 514 }, { 0, 0 }, + { 97, 257 }, { 98, 257 }, { 99, 257 }, { 100, 257 }, { 101, 257 }, + { 102, 257 }, { 103, 257 }, { 104, 257 }, { 105, 257 }, { 106, 257 }, + { 107, 257 }, { 108, 257 }, { 109, 257 }, { 110, 257 }, { 111, 257 }, + { 112, 257 }, { 113, 257 }, { 114, 257 }, { 115, 257 }, { 116, 257 }, + { 117, 257 }, { 118, 257 }, { 119, 257 }, { 120, 257 }, { 121, 257 }, + { 122, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128, 257 }, { 129, 257 }, { 130, 257 }, { 131, 257 }, + { 132, 257 }, { 133, 257 }, { 134, 257 }, { 135, 257 }, { 136, 257 }, + + { 137, 257 }, { 138, 257 }, { 139, 257 }, { 140, 257 }, { 141, 257 }, + { 142, 257 }, { 143, 257 }, { 144, 257 }, { 145, 257 }, { 146, 257 }, + { 147, 257 }, { 148, 257 }, { 149, 257 }, { 150, 257 }, { 151, 257 }, + { 152, 257 }, { 153, 257 }, { 154, 257 }, { 155, 257 }, { 156, 257 }, + { 157, 257 }, { 158, 257 }, { 159, 257 }, { 160, 257 }, { 161, 257 }, + { 162, 257 }, { 163, 257 }, { 164, 257 }, { 165, 257 }, { 166, 257 }, + { 167, 257 }, { 168, 257 }, { 169, 257 }, { 170, 257 }, { 171, 257 }, + { 172, 257 }, { 173, 257 }, { 174, 257 }, { 175, 257 }, { 176, 257 }, + { 177, 257 }, { 178, 257 }, { 179, 257 }, { 180, 257 }, { 181, 257 }, + { 182, 257 }, { 183, 257 }, { 184, 257 }, { 185, 257 }, { 186, 257 }, + + { 187, 257 }, { 188, 257 }, { 189, 257 }, { 190, 257 }, { 191, 257 }, + { 192, 257 }, { 193, 257 }, { 194, 257 }, { 195, 257 }, { 196, 257 }, + { 197, 257 }, { 198, 257 }, { 199, 257 }, { 200, 257 }, { 201, 257 }, + { 202, 257 }, { 203, 257 }, { 204, 257 }, { 205, 257 }, { 206, 257 }, + { 207, 257 }, { 208, 257 }, { 209, 257 }, { 210, 257 }, { 211, 257 }, + { 212, 257 }, { 213, 257 }, { 214, 257 }, { 215, 257 }, { 216, 257 }, + { 217, 257 }, { 218, 257 }, { 219, 257 }, { 220, 257 }, { 221, 257 }, + { 222, 257 }, { 223, 257 }, { 224, 257 }, { 225, 257 }, { 226, 257 }, + { 227, 257 }, { 228, 257 }, { 229, 257 }, { 230, 257 }, { 231, 257 }, + { 232, 257 }, { 233, 257 }, { 234, 257 }, { 235, 257 }, { 236, 257 }, + + { 237, 257 }, { 238, 257 }, { 239, 257 }, { 240, 257 }, { 241, 257 }, + { 242, 257 }, { 243, 257 }, { 244, 257 }, { 245, 257 }, { 246, 257 }, + { 247, 257 }, { 248, 257 }, { 249, 257 }, { 250, 257 }, { 251, 257 }, + { 252, 257 }, { 253, 257 }, { 254, 257 }, { 255, 257 }, { 0, 68 }, + { 0,8502 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,4512 }, { 49,4512 }, + { 50,4512 }, { 51,4512 }, { 52,4512 }, { 53,4512 }, { 54,4512 }, + { 55,4512 }, { 56,4512 }, { 57,4512 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,4512 }, { 66,4512 }, { 67,4512 }, { 68,4512 }, { 69,4512 }, + { 70,4512 }, { 71,4512 }, { 72,4512 }, { 73,4512 }, { 74,4512 }, + { 75,4512 }, { 76,4512 }, { 77,4512 }, { 78,4512 }, { 79,4512 }, + + { 80,4512 }, { 81,4512 }, { 82,4512 }, { 83,4512 }, { 84,4512 }, + { 85,4512 }, { 86,4512 }, { 87,4512 }, { 88,4512 }, { 89,4512 }, + { 90,4512 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,4512 }, { 0, 0 }, { 97,4512 }, { 98,4512 }, { 99,4512 }, + { 100,4512 }, { 101,4512 }, { 102,4512 }, { 103,4512 }, { 104,4512 }, + { 105,4512 }, { 106,4512 }, { 107,4512 }, { 108,4512 }, { 109,4512 }, + { 110,4512 }, { 111,4512 }, { 112,4512 }, { 113,4512 }, { 114,4512 }, + { 115,4512 }, { 116,4512 }, { 117,4512 }, { 118,4512 }, { 119,4512 }, + { 120,4512 }, { 121,4512 }, { 122,4512 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,4512 }, { 129,4512 }, + + { 130,4512 }, { 131,4512 }, { 132,4512 }, { 133,4512 }, { 134,4512 }, + { 135,4512 }, { 136,4512 }, { 137,4512 }, { 138,4512 }, { 139,4512 }, + { 140,4512 }, { 141,4512 }, { 142,4512 }, { 143,4512 }, { 144,4512 }, + { 145,4512 }, { 146,4512 }, { 147,4512 }, { 148,4512 }, { 149,4512 }, + { 150,4512 }, { 151,4512 }, { 152,4512 }, { 153,4512 }, { 154,4512 }, + { 155,4512 }, { 156,4512 }, { 157,4512 }, { 158,4512 }, { 159,4512 }, + { 160,4512 }, { 161,4512 }, { 162,4512 }, { 163,4512 }, { 164,4512 }, + { 165,4512 }, { 166,4512 }, { 167,4512 }, { 168,4512 }, { 169,4512 }, + { 170,4512 }, { 171,4512 }, { 172,4512 }, { 173,4512 }, { 174,4512 }, + { 175,4512 }, { 176,4512 }, { 177,4512 }, { 178,4512 }, { 179,4512 }, + + { 180,4512 }, { 181,4512 }, { 182,4512 }, { 183,4512 }, { 184,4512 }, + { 185,4512 }, { 186,4512 }, { 187,4512 }, { 188,4512 }, { 189,4512 }, + { 190,4512 }, { 191,4512 }, { 192,4512 }, { 193,4512 }, { 194,4512 }, + { 195,4512 }, { 196,4512 }, { 197,4512 }, { 198,4512 }, { 199,4512 }, + { 200,4512 }, { 201,4512 }, { 202,4512 }, { 203,4512 }, { 204,4512 }, + { 205,4512 }, { 206,4512 }, { 207,4512 }, { 208,4512 }, { 209,4512 }, + { 210,4512 }, { 211,4512 }, { 212,4512 }, { 213,4512 }, { 214,4512 }, + { 215,4512 }, { 216,4512 }, { 217,4512 }, { 218,4512 }, { 219,4512 }, + { 220,4512 }, { 221,4512 }, { 222,4512 }, { 223,4512 }, { 224,4512 }, + { 225,4512 }, { 226,4512 }, { 227,4512 }, { 228,4512 }, { 229,4512 }, + + { 230,4512 }, { 231,4512 }, { 232,4512 }, { 233,4512 }, { 234,4512 }, + { 235,4512 }, { 236,4512 }, { 237,4512 }, { 238,4512 }, { 239,4512 }, + { 240,4512 }, { 241,4512 }, { 242,4512 }, { 243,4512 }, { 244,4512 }, + { 245,4512 }, { 246,4512 }, { 247,4512 }, { 248,4512 }, { 249,4512 }, + { 250,4512 }, { 251,4512 }, { 252,4512 }, { 253,4512 }, { 254,4512 }, + { 255,4512 }, { 0, 68 }, { 0,8245 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,4255 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,4512 }, { 49,4512 }, { 50,4512 }, { 51,4512 }, { 52,4512 }, + { 53,4512 }, { 54,4512 }, { 55,4512 }, { 56,4512 }, { 57,4512 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,4255 }, { 66,4255 }, { 67,4255 }, + { 68,4255 }, { 69,4255 }, { 70,4255 }, { 71,4255 }, { 72,4255 }, + + { 73,4255 }, { 74,4255 }, { 75,4255 }, { 76,4255 }, { 77,4255 }, + { 78,4255 }, { 79,4255 }, { 80,4255 }, { 81,4255 }, { 82,4255 }, + { 83,4255 }, { 84,4255 }, { 85,4255 }, { 86,4255 }, { 87,4255 }, + { 88,4255 }, { 89,4255 }, { 90,4255 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,4255 }, { 0, 0 }, { 97,4255 }, + { 98,4255 }, { 99,4255 }, { 100,4255 }, { 101,4255 }, { 102,4255 }, + { 103,4255 }, { 104,4255 }, { 105,4255 }, { 106,4255 }, { 107,4255 }, + { 108,4255 }, { 109,4255 }, { 110,4255 }, { 111,4255 }, { 112,4255 }, + { 113,4255 }, { 114,4255 }, { 115,4255 }, { 116,4255 }, { 117,4255 }, + { 118,4255 }, { 119,4255 }, { 120,4255 }, { 121,4255 }, { 122,4255 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,4255 }, { 129,4255 }, { 130,4255 }, { 131,4255 }, { 132,4255 }, + { 133,4255 }, { 134,4255 }, { 135,4255 }, { 136,4255 }, { 137,4255 }, + { 138,4255 }, { 139,4255 }, { 140,4255 }, { 141,4255 }, { 142,4255 }, + { 143,4255 }, { 144,4255 }, { 145,4255 }, { 146,4255 }, { 147,4255 }, + { 148,4255 }, { 149,4255 }, { 150,4255 }, { 151,4255 }, { 152,4255 }, + { 153,4255 }, { 154,4255 }, { 155,4255 }, { 156,4255 }, { 157,4255 }, + { 158,4255 }, { 159,4255 }, { 160,4255 }, { 161,4255 }, { 162,4255 }, + { 163,4255 }, { 164,4255 }, { 165,4255 }, { 166,4255 }, { 167,4255 }, + { 168,4255 }, { 169,4255 }, { 170,4255 }, { 171,4255 }, { 172,4255 }, + + { 173,4255 }, { 174,4255 }, { 175,4255 }, { 176,4255 }, { 177,4255 }, + { 178,4255 }, { 179,4255 }, { 180,4255 }, { 181,4255 }, { 182,4255 }, + { 183,4255 }, { 184,4255 }, { 185,4255 }, { 186,4255 }, { 187,4255 }, + { 188,4255 }, { 189,4255 }, { 190,4255 }, { 191,4255 }, { 192,4255 }, + { 193,4255 }, { 194,4255 }, { 195,4255 }, { 196,4255 }, { 197,4255 }, + { 198,4255 }, { 199,4255 }, { 200,4255 }, { 201,4255 }, { 202,4255 }, + { 203,4255 }, { 204,4255 }, { 205,4255 }, { 206,4255 }, { 207,4255 }, + { 208,4255 }, { 209,4255 }, { 210,4255 }, { 211,4255 }, { 212,4255 }, + { 213,4255 }, { 214,4255 }, { 215,4255 }, { 216,4255 }, { 217,4255 }, + { 218,4255 }, { 219,4255 }, { 220,4255 }, { 221,4255 }, { 222,4255 }, + + { 223,4255 }, { 224,4255 }, { 225,4255 }, { 226,4255 }, { 227,4255 }, + { 228,4255 }, { 229,4255 }, { 230,4255 }, { 231,4255 }, { 232,4255 }, + { 233,4255 }, { 234,4255 }, { 235,4255 }, { 236,4255 }, { 237,4255 }, + { 238,4255 }, { 239,4255 }, { 240,4255 }, { 241,4255 }, { 242,4255 }, + { 243,4255 }, { 244,4255 }, { 245,4255 }, { 246,4255 }, { 247,4255 }, + { 248,4255 }, { 249,4255 }, { 250,4255 }, { 251,4255 }, { 252,4255 }, + { 253,4255 }, { 254,4255 }, { 255,4255 }, { 0, 68 }, { 0,7988 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-4355 }, { 49,-4355 }, { 50,-4355 }, + { 51,-4355 }, { 52,-4355 }, { 53,-4355 }, { 54,-4355 }, { 55,-4355 }, + { 56,-5393 }, { 57,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-5393 }, + + { 66,-5393 }, { 67,-5393 }, { 68,-5393 }, { 69,-5393 }, { 70,-5393 }, + { 71,-5393 }, { 72,-5393 }, { 73,-5393 }, { 74,-5393 }, { 75,-5393 }, + { 76,-5393 }, { 77,-5393 }, { 78,-5393 }, { 79,-5393 }, { 80,-5393 }, + { 81,-5393 }, { 82,-5393 }, { 83,-5393 }, { 84,-5393 }, { 85,-5393 }, + { 86,-5393 }, { 87,-5393 }, { 88,-5393 }, { 89,-5393 }, { 90,-5393 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-5393 }, + { 0, 0 }, { 97,-5393 }, { 98,-5393 }, { 99,-5393 }, { 100,-5393 }, + { 101,-5393 }, { 102,-5393 }, { 103,-5393 }, { 104,-5393 }, { 105,-5393 }, + { 106,-5393 }, { 107,-5393 }, { 108,-5393 }, { 109,-5393 }, { 110,-5393 }, + { 111,-5393 }, { 112,-5393 }, { 113,-5393 }, { 114,-5393 }, { 115,-5393 }, + + { 116,-5393 }, { 117,-5393 }, { 118,-5393 }, { 119,-5393 }, { 120,-5393 }, + { 121,-5393 }, { 122,-5393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-5393 }, { 129,-5393 }, { 130,-5393 }, + { 131,-5393 }, { 132,-5393 }, { 133,-5393 }, { 134,-5393 }, { 135,-5393 }, + { 136,-5393 }, { 137,-5393 }, { 138,-5393 }, { 139,-5393 }, { 140,-5393 }, + { 141,-5393 }, { 142,-5393 }, { 143,-5393 }, { 144,-5393 }, { 145,-5393 }, + { 146,-5393 }, { 147,-5393 }, { 148,-5393 }, { 149,-5393 }, { 150,-5393 }, + { 151,-5393 }, { 152,-5393 }, { 153,-5393 }, { 154,-5393 }, { 155,-5393 }, + { 156,-5393 }, { 157,-5393 }, { 158,-5393 }, { 159,-5393 }, { 160,-5393 }, + { 161,-5393 }, { 162,-5393 }, { 163,-5393 }, { 164,-5393 }, { 165,-5393 }, + + { 166,-5393 }, { 167,-5393 }, { 168,-5393 }, { 169,-5393 }, { 170,-5393 }, + { 171,-5393 }, { 172,-5393 }, { 173,-5393 }, { 174,-5393 }, { 175,-5393 }, + { 176,-5393 }, { 177,-5393 }, { 178,-5393 }, { 179,-5393 }, { 180,-5393 }, + { 181,-5393 }, { 182,-5393 }, { 183,-5393 }, { 184,-5393 }, { 185,-5393 }, + { 186,-5393 }, { 187,-5393 }, { 188,-5393 }, { 189,-5393 }, { 190,-5393 }, + { 191,-5393 }, { 192,-5393 }, { 193,-5393 }, { 194,-5393 }, { 195,-5393 }, + { 196,-5393 }, { 197,-5393 }, { 198,-5393 }, { 199,-5393 }, { 200,-5393 }, + { 201,-5393 }, { 202,-5393 }, { 203,-5393 }, { 204,-5393 }, { 205,-5393 }, + { 206,-5393 }, { 207,-5393 }, { 208,-5393 }, { 209,-5393 }, { 210,-5393 }, + { 211,-5393 }, { 212,-5393 }, { 213,-5393 }, { 214,-5393 }, { 215,-5393 }, + + { 216,-5393 }, { 217,-5393 }, { 218,-5393 }, { 219,-5393 }, { 220,-5393 }, + { 221,-5393 }, { 222,-5393 }, { 223,-5393 }, { 224,-5393 }, { 225,-5393 }, + { 226,-5393 }, { 227,-5393 }, { 228,-5393 }, { 229,-5393 }, { 230,-5393 }, + { 231,-5393 }, { 232,-5393 }, { 233,-5393 }, { 234,-5393 }, { 235,-5393 }, + { 236,-5393 }, { 237,-5393 }, { 238,-5393 }, { 239,-5393 }, { 240,-5393 }, + { 241,-5393 }, { 242,-5393 }, { 243,-5393 }, { 244,-5393 }, { 245,-5393 }, + { 246,-5393 }, { 247,-5393 }, { 248,-5393 }, { 249,-5393 }, { 250,-5393 }, + { 251,-5393 }, { 252,-5393 }, { 253,-5393 }, { 254,-5393 }, { 255,-5393 }, + { 0, 68 }, { 0,7731 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-5650 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-4098 }, + { 49,-4098 }, { 50,-4098 }, { 51,-4098 }, { 52,-4098 }, { 53,-4098 }, + { 54,-4098 }, { 55,-4098 }, { 56,-4098 }, { 57,-4098 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-4098 }, { 66,-4098 }, { 67,-4098 }, { 68,-4098 }, + { 69,-4098 }, { 70,-4098 }, { 71,-5650 }, { 72,-5650 }, { 73,-5650 }, + { 74,-5650 }, { 75,-5650 }, { 76,-5650 }, { 77,-5650 }, { 78,-5650 }, + { 79,-5650 }, { 80,-5650 }, { 81,-5650 }, { 82,-5650 }, { 83,-5650 }, + { 84,-5650 }, { 85,-5650 }, { 86,-5650 }, { 87,-5650 }, { 88,-5650 }, + { 89,-5650 }, { 90,-5650 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-5650 }, { 0, 0 }, { 97,-4098 }, { 98,-4098 }, + { 99,-4098 }, { 100,-4098 }, { 101,-4098 }, { 102,-4098 }, { 103,-5650 }, + { 104,-5650 }, { 105,-5650 }, { 106,-5650 }, { 107,-5650 }, { 108,-5650 }, + + { 109,-5650 }, { 110,-5650 }, { 111,-5650 }, { 112,-5650 }, { 113,-5650 }, + { 114,-5650 }, { 115,-5650 }, { 116,-5650 }, { 117,-5650 }, { 118,-5650 }, + { 119,-5650 }, { 120,-5650 }, { 121,-5650 }, { 122,-5650 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-5650 }, + { 129,-5650 }, { 130,-5650 }, { 131,-5650 }, { 132,-5650 }, { 133,-5650 }, + { 134,-5650 }, { 135,-5650 }, { 136,-5650 }, { 137,-5650 }, { 138,-5650 }, + { 139,-5650 }, { 140,-5650 }, { 141,-5650 }, { 142,-5650 }, { 143,-5650 }, + { 144,-5650 }, { 145,-5650 }, { 146,-5650 }, { 147,-5650 }, { 148,-5650 }, + { 149,-5650 }, { 150,-5650 }, { 151,-5650 }, { 152,-5650 }, { 153,-5650 }, + { 154,-5650 }, { 155,-5650 }, { 156,-5650 }, { 157,-5650 }, { 158,-5650 }, + + { 159,-5650 }, { 160,-5650 }, { 161,-5650 }, { 162,-5650 }, { 163,-5650 }, + { 164,-5650 }, { 165,-5650 }, { 166,-5650 }, { 167,-5650 }, { 168,-5650 }, + { 169,-5650 }, { 170,-5650 }, { 171,-5650 }, { 172,-5650 }, { 173,-5650 }, + { 174,-5650 }, { 175,-5650 }, { 176,-5650 }, { 177,-5650 }, { 178,-5650 }, + { 179,-5650 }, { 180,-5650 }, { 181,-5650 }, { 182,-5650 }, { 183,-5650 }, + { 184,-5650 }, { 185,-5650 }, { 186,-5650 }, { 187,-5650 }, { 188,-5650 }, + { 189,-5650 }, { 190,-5650 }, { 191,-5650 }, { 192,-5650 }, { 193,-5650 }, + { 194,-5650 }, { 195,-5650 }, { 196,-5650 }, { 197,-5650 }, { 198,-5650 }, + { 199,-5650 }, { 200,-5650 }, { 201,-5650 }, { 202,-5650 }, { 203,-5650 }, + { 204,-5650 }, { 205,-5650 }, { 206,-5650 }, { 207,-5650 }, { 208,-5650 }, + + { 209,-5650 }, { 210,-5650 }, { 211,-5650 }, { 212,-5650 }, { 213,-5650 }, + { 214,-5650 }, { 215,-5650 }, { 216,-5650 }, { 217,-5650 }, { 218,-5650 }, + { 219,-5650 }, { 220,-5650 }, { 221,-5650 }, { 222,-5650 }, { 223,-5650 }, + { 224,-5650 }, { 225,-5650 }, { 226,-5650 }, { 227,-5650 }, { 228,-5650 }, + { 229,-5650 }, { 230,-5650 }, { 231,-5650 }, { 232,-5650 }, { 233,-5650 }, + { 234,-5650 }, { 235,-5650 }, { 236,-5650 }, { 237,-5650 }, { 238,-5650 }, + { 239,-5650 }, { 240,-5650 }, { 241,-5650 }, { 242,-5650 }, { 243,-5650 }, + { 244,-5650 }, { 245,-5650 }, { 246,-5650 }, { 247,-5650 }, { 248,-5650 }, + { 249,-5650 }, { 250,-5650 }, { 251,-5650 }, { 252,-5650 }, { 253,-5650 }, + { 254,-5650 }, { 255,-5650 }, { 0, 68 }, { 0,7474 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-5907 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,-5907 }, { 49,-5907 }, { 50,-5907 }, { 51,-5907 }, + + { 52,-5907 }, { 53,-5907 }, { 54,-5907 }, { 55,-5907 }, { 56,-5907 }, + { 57,-5907 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-5907 }, { 66,-5907 }, + { 67,-5907 }, { 68,-5907 }, { 69,-5907 }, { 70,-5907 }, { 71,-5907 }, + { 72,-5907 }, { 73,-5907 }, { 74,-5907 }, { 75,-5907 }, { 76,-5907 }, + { 77,-5907 }, { 78,-5907 }, { 79,-5907 }, { 80,-5907 }, { 81,-5907 }, + { 82,-5907 }, { 83,-5907 }, { 84,-5907 }, { 85,-5907 }, { 86,-5907 }, + { 87,-5907 }, { 88,-5907 }, { 89,-5907 }, { 90,-5907 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-5907 }, { 0, 0 }, + { 97,-5907 }, { 98,-5907 }, { 99,-5907 }, { 100,-5907 }, { 101,-5907 }, + + { 102,-5907 }, { 103,-5907 }, { 104,-5907 }, { 105,-5907 }, { 106,-5907 }, + { 107,-5907 }, { 108,-5907 }, { 109,-5907 }, { 110,-5907 }, { 111,-5907 }, + { 112,-5907 }, { 113,-5907 }, { 114,-5907 }, { 115,-5907 }, { 116,-5907 }, + { 117,-5907 }, { 118,-5907 }, { 119,-5907 }, { 120,-5907 }, { 121,-5907 }, + { 122,-5907 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-5907 }, { 129,-5907 }, { 130,-5907 }, { 131,-5907 }, + { 132,-5907 }, { 133,-5907 }, { 134,-5907 }, { 135,-5907 }, { 136,-5907 }, + { 137,-5907 }, { 138,-5907 }, { 139,-5907 }, { 140,-5907 }, { 141,-5907 }, + { 142,-5907 }, { 143,-5907 }, { 144,-5907 }, { 145,-5907 }, { 146,-5907 }, + { 147,-5907 }, { 148,-5907 }, { 149,-5907 }, { 150,-5907 }, { 151,-5907 }, + + { 152,-5907 }, { 153,-5907 }, { 154,-5907 }, { 155,-5907 }, { 156,-5907 }, + { 157,-5907 }, { 158,-5907 }, { 159,-5907 }, { 160,-5907 }, { 161,-5907 }, + { 162,-5907 }, { 163,-5907 }, { 164,-5907 }, { 165,-5907 }, { 166,-5907 }, + { 167,-5907 }, { 168,-5907 }, { 169,-5907 }, { 170,-5907 }, { 171,-5907 }, + { 172,-5907 }, { 173,-5907 }, { 174,-5907 }, { 175,-5907 }, { 176,-5907 }, + { 177,-5907 }, { 178,-5907 }, { 179,-5907 }, { 180,-5907 }, { 181,-5907 }, + { 182,-5907 }, { 183,-5907 }, { 184,-5907 }, { 185,-5907 }, { 186,-5907 }, + { 187,-5907 }, { 188,-5907 }, { 189,-5907 }, { 190,-5907 }, { 191,-5907 }, + { 192,-5907 }, { 193,-5907 }, { 194,-5907 }, { 195,-5907 }, { 196,-5907 }, + { 197,-5907 }, { 198,-5907 }, { 199,-5907 }, { 200,-5907 }, { 201,-5907 }, + + { 202,-5907 }, { 203,-5907 }, { 204,-5907 }, { 205,-5907 }, { 206,-5907 }, + { 207,-5907 }, { 208,-5907 }, { 209,-5907 }, { 210,-5907 }, { 211,-5907 }, + { 212,-5907 }, { 213,-5907 }, { 214,-5907 }, { 215,-5907 }, { 216,-5907 }, + { 217,-5907 }, { 218,-5907 }, { 219,-5907 }, { 220,-5907 }, { 221,-5907 }, + { 222,-5907 }, { 223,-5907 }, { 224,-5907 }, { 225,-5907 }, { 226,-5907 }, + { 227,-5907 }, { 228,-5907 }, { 229,-5907 }, { 230,-5907 }, { 231,-5907 }, + { 232,-5907 }, { 233,-5907 }, { 234,-5907 }, { 235,-5907 }, { 236,-5907 }, + { 237,-5907 }, { 238,-5907 }, { 239,-5907 }, { 240,-5907 }, { 241,-5907 }, + { 242,-5907 }, { 243,-5907 }, { 244,-5907 }, { 245,-5907 }, { 246,-5907 }, + { 247,-5907 }, { 248,-5907 }, { 249,-5907 }, { 250,-5907 }, { 251,-5907 }, + + { 252,-5907 }, { 253,-5907 }, { 254,-5907 }, { 255,-5907 }, { 0, 68 }, + { 0,7217 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-6164 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,-5393 }, { 0, 0 }, + + { 45,-5393 }, { 0, 0 }, { 0, 0 }, { 48,-5383 }, { 49,-5383 }, + { 50,-5383 }, { 51,-5383 }, { 52,-5383 }, { 53,-5383 }, { 54,-5383 }, + { 55,-5383 }, { 56,-5383 }, { 57,-5383 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-6164 }, { 66,-6164 }, { 67,-6164 }, { 68,-6164 }, { 69,-6164 }, + { 70,-6164 }, { 71,-6164 }, { 72,-6164 }, { 73,-6164 }, { 74,-6164 }, + { 75,-6164 }, { 76,-6164 }, { 77,-6164 }, { 78,-6164 }, { 79,-6164 }, + { 80,-6164 }, { 81,-6164 }, { 82,-6164 }, { 83,-6164 }, { 84,-6164 }, + { 85,-6164 }, { 86,-6164 }, { 87,-6164 }, { 88,-6164 }, { 89,-6164 }, + { 90,-6164 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 95,-6164 }, { 0, 0 }, { 97,-6164 }, { 98,-6164 }, { 99,-6164 }, + { 100,-6164 }, { 101,-6164 }, { 102,-6164 }, { 103,-6164 }, { 104,-6164 }, + { 105,-6164 }, { 106,-6164 }, { 107,-6164 }, { 108,-6164 }, { 109,-6164 }, + { 110,-6164 }, { 111,-6164 }, { 112,-6164 }, { 113,-6164 }, { 114,-6164 }, + { 115,-6164 }, { 116,-6164 }, { 117,-6164 }, { 118,-6164 }, { 119,-6164 }, + { 120,-6164 }, { 121,-6164 }, { 122,-6164 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-6164 }, { 129,-6164 }, + { 130,-6164 }, { 131,-6164 }, { 132,-6164 }, { 133,-6164 }, { 134,-6164 }, + { 135,-6164 }, { 136,-6164 }, { 137,-6164 }, { 138,-6164 }, { 139,-6164 }, + { 140,-6164 }, { 141,-6164 }, { 142,-6164 }, { 143,-6164 }, { 144,-6164 }, + + { 145,-6164 }, { 146,-6164 }, { 147,-6164 }, { 148,-6164 }, { 149,-6164 }, + { 150,-6164 }, { 151,-6164 }, { 152,-6164 }, { 153,-6164 }, { 154,-6164 }, + { 155,-6164 }, { 156,-6164 }, { 157,-6164 }, { 158,-6164 }, { 159,-6164 }, + { 160,-6164 }, { 161,-6164 }, { 162,-6164 }, { 163,-6164 }, { 164,-6164 }, + { 165,-6164 }, { 166,-6164 }, { 167,-6164 }, { 168,-6164 }, { 169,-6164 }, + { 170,-6164 }, { 171,-6164 }, { 172,-6164 }, { 173,-6164 }, { 174,-6164 }, + { 175,-6164 }, { 176,-6164 }, { 177,-6164 }, { 178,-6164 }, { 179,-6164 }, + { 180,-6164 }, { 181,-6164 }, { 182,-6164 }, { 183,-6164 }, { 184,-6164 }, + { 185,-6164 }, { 186,-6164 }, { 187,-6164 }, { 188,-6164 }, { 189,-6164 }, + { 190,-6164 }, { 191,-6164 }, { 192,-6164 }, { 193,-6164 }, { 194,-6164 }, + + { 195,-6164 }, { 196,-6164 }, { 197,-6164 }, { 198,-6164 }, { 199,-6164 }, + { 200,-6164 }, { 201,-6164 }, { 202,-6164 }, { 203,-6164 }, { 204,-6164 }, + { 205,-6164 }, { 206,-6164 }, { 207,-6164 }, { 208,-6164 }, { 209,-6164 }, + { 210,-6164 }, { 211,-6164 }, { 212,-6164 }, { 213,-6164 }, { 214,-6164 }, + { 215,-6164 }, { 216,-6164 }, { 217,-6164 }, { 218,-6164 }, { 219,-6164 }, + { 220,-6164 }, { 221,-6164 }, { 222,-6164 }, { 223,-6164 }, { 224,-6164 }, + { 225,-6164 }, { 226,-6164 }, { 227,-6164 }, { 228,-6164 }, { 229,-6164 }, + { 230,-6164 }, { 231,-6164 }, { 232,-6164 }, { 233,-6164 }, { 234,-6164 }, + { 235,-6164 }, { 236,-6164 }, { 237,-6164 }, { 238,-6164 }, { 239,-6164 }, + { 240,-6164 }, { 241,-6164 }, { 242,-6164 }, { 243,-6164 }, { 244,-6164 }, + + { 245,-6164 }, { 246,-6164 }, { 247,-6164 }, { 248,-6164 }, { 249,-6164 }, + { 250,-6164 }, { 251,-6164 }, { 252,-6164 }, { 253,-6164 }, { 254,-6164 }, + { 255,-6164 }, { 0, 68 }, { 0,6960 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-6421 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-4355 }, { 49,-4355 }, { 50,-4355 }, { 51,-4355 }, { 52,-4355 }, + { 53,-4355 }, { 54,-4355 }, { 55,-4355 }, { 56,-4355 }, { 57,-4355 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-6421 }, { 66,-6421 }, { 67,-6421 }, + { 68,-6421 }, { 69,-6421 }, { 70,-6421 }, { 71,-6421 }, { 72,-6421 }, + { 73,-6421 }, { 74,-6421 }, { 75,-6421 }, { 76,-6421 }, { 77,-6421 }, + { 78,-6421 }, { 79,-6421 }, { 80,-6421 }, { 81,-6421 }, { 82,-6421 }, + { 83,-6421 }, { 84,-6421 }, { 85,-6421 }, { 86,-6421 }, { 87,-6421 }, + + { 88,-6421 }, { 89,-6421 }, { 90,-6421 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-6421 }, { 0, 0 }, { 97,-6421 }, + { 98,-6421 }, { 99,-6421 }, { 100,-6421 }, { 101,-6421 }, { 102,-6421 }, + { 103,-6421 }, { 104,-6421 }, { 105,-6421 }, { 106,-6421 }, { 107,-6421 }, + { 108,-6421 }, { 109,-6421 }, { 110,-6421 }, { 111,-6421 }, { 112,-6421 }, + { 113,-6421 }, { 114,-6421 }, { 115,-6421 }, { 116,-6421 }, { 117,-6421 }, + { 118,-6421 }, { 119,-6421 }, { 120,-6421 }, { 121,-6421 }, { 122,-6421 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-6421 }, { 129,-6421 }, { 130,-6421 }, { 131,-6421 }, { 132,-6421 }, + { 133,-6421 }, { 134,-6421 }, { 135,-6421 }, { 136,-6421 }, { 137,-6421 }, + + { 138,-6421 }, { 139,-6421 }, { 140,-6421 }, { 141,-6421 }, { 142,-6421 }, + { 143,-6421 }, { 144,-6421 }, { 145,-6421 }, { 146,-6421 }, { 147,-6421 }, + { 148,-6421 }, { 149,-6421 }, { 150,-6421 }, { 151,-6421 }, { 152,-6421 }, + { 153,-6421 }, { 154,-6421 }, { 155,-6421 }, { 156,-6421 }, { 157,-6421 }, + { 158,-6421 }, { 159,-6421 }, { 160,-6421 }, { 161,-6421 }, { 162,-6421 }, + { 163,-6421 }, { 164,-6421 }, { 165,-6421 }, { 166,-6421 }, { 167,-6421 }, + { 168,-6421 }, { 169,-6421 }, { 170,-6421 }, { 171,-6421 }, { 172,-6421 }, + { 173,-6421 }, { 174,-6421 }, { 175,-6421 }, { 176,-6421 }, { 177,-6421 }, + { 178,-6421 }, { 179,-6421 }, { 180,-6421 }, { 181,-6421 }, { 182,-6421 }, + { 183,-6421 }, { 184,-6421 }, { 185,-6421 }, { 186,-6421 }, { 187,-6421 }, + + { 188,-6421 }, { 189,-6421 }, { 190,-6421 }, { 191,-6421 }, { 192,-6421 }, + { 193,-6421 }, { 194,-6421 }, { 195,-6421 }, { 196,-6421 }, { 197,-6421 }, + { 198,-6421 }, { 199,-6421 }, { 200,-6421 }, { 201,-6421 }, { 202,-6421 }, + { 203,-6421 }, { 204,-6421 }, { 205,-6421 }, { 206,-6421 }, { 207,-6421 }, + { 208,-6421 }, { 209,-6421 }, { 210,-6421 }, { 211,-6421 }, { 212,-6421 }, + { 213,-6421 }, { 214,-6421 }, { 215,-6421 }, { 216,-6421 }, { 217,-6421 }, + { 218,-6421 }, { 219,-6421 }, { 220,-6421 }, { 221,-6421 }, { 222,-6421 }, + { 223,-6421 }, { 224,-6421 }, { 225,-6421 }, { 226,-6421 }, { 227,-6421 }, + { 228,-6421 }, { 229,-6421 }, { 230,-6421 }, { 231,-6421 }, { 232,-6421 }, + { 233,-6421 }, { 234,-6421 }, { 235,-6421 }, { 236,-6421 }, { 237,-6421 }, + + { 238,-6421 }, { 239,-6421 }, { 240,-6421 }, { 241,-6421 }, { 242,-6421 }, + { 243,-6421 }, { 244,-6421 }, { 245,-6421 }, { 246,-6421 }, { 247,-6421 }, + { 248,-6421 }, { 249,-6421 }, { 250,-6421 }, { 251,-6421 }, { 252,-6421 }, + { 253,-6421 }, { 254,-6421 }, { 255,-6421 }, { 0, 28 }, { 0,6703 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0,6680 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,3227 }, { 49,3227 }, { 50,3227 }, + { 51,3227 }, { 52,3227 }, { 53,3227 }, { 54,3227 }, { 55,3227 }, + { 56,3227 }, { 57,3227 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, + { 0,6642 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3227 }, + { 66,3227 }, { 67,3227 }, { 68,3227 }, { 69,3227 }, { 70,3227 }, + { 48,3227 }, { 49,3227 }, { 50,3227 }, { 51,3227 }, { 52,3227 }, + { 53,3227 }, { 54,3227 }, { 55,3227 }, { 56,3227 }, { 57,3227 }, + + { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,6619 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,3227 }, { 66,3227 }, { 67,3227 }, + { 68,3227 }, { 69,3227 }, { 70,3227 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,3227 }, { 98,3227 }, { 99,3227 }, { 100,3227 }, + { 101,3227 }, { 102,3227 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,3227 }, { 49,3227 }, + { 50,3227 }, { 51,3227 }, { 52,3227 }, { 53,3227 }, { 54,3227 }, + { 55,3227 }, { 56,3227 }, { 57,3227 }, { 0, 0 }, { 97,3227 }, + { 98,3227 }, { 99,3227 }, { 100,3227 }, { 101,3227 }, { 102,3227 }, + { 65,3227 }, { 66,3227 }, { 67,3227 }, { 68,3227 }, { 69,3227 }, + + { 70,3227 }, { 48,3227 }, { 49,3227 }, { 50,3227 }, { 51,3227 }, + { 52,3227 }, { 53,3227 }, { 54,3227 }, { 55,3227 }, { 56,3227 }, + { 57,3227 }, { 0, 66 }, { 0,6560 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,3227 }, { 66,3227 }, + { 67,3227 }, { 68,3227 }, { 69,3227 }, { 70,3227 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 97,3227 }, { 98,3227 }, { 99,3227 }, + { 100,3227 }, { 101,3227 }, { 102,3227 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-3998 }, { 0, 0 }, + + { 97,3227 }, { 98,3227 }, { 99,3227 }, { 100,3227 }, { 101,3227 }, + { 102,3227 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, - { 58, 0 }, { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, - { 63, 0 }, { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 257 }, { 66, 257 }, { 67, 257 }, + { 68, 257 }, { 69, 257 }, { 70, 257 }, { 71, 257 }, { 72, 257 }, + { 73, 257 }, { 74, 257 }, { 75, 257 }, { 76, 257 }, { 77, 257 }, + { 78, 257 }, { 79, 257 }, { 80, 257 }, { 81, 257 }, { 82, 257 }, + { 83, 257 }, { 84, 257 }, { 85, 257 }, { 86, 257 }, { 87, 257 }, + + { 88, 257 }, { 89, 257 }, { 90, 257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 514 }, { 0, 0 }, { 97, 257 }, + { 98, 257 }, { 99, 257 }, { 100, 257 }, { 101, 257 }, { 102, 257 }, + { 103, 257 }, { 104, 257 }, { 105, 257 }, { 106, 257 }, { 107, 257 }, + { 108, 257 }, { 109, 257 }, { 110, 257 }, { 111, 257 }, { 112, 257 }, + { 113, 257 }, { 114, 257 }, { 115, 257 }, { 116, 257 }, { 117, 257 }, + { 118, 257 }, { 119, 257 }, { 120, 257 }, { 121, 257 }, { 122, 257 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128, 257 }, { 129, 257 }, { 130, 257 }, { 131, 257 }, { 132, 257 }, + { 133, 257 }, { 134, 257 }, { 135, 257 }, { 136, 257 }, { 137, 257 }, + + { 138, 257 }, { 139, 257 }, { 140, 257 }, { 141, 257 }, { 142, 257 }, + { 143, 257 }, { 144, 257 }, { 145, 257 }, { 146, 257 }, { 147, 257 }, + { 148, 257 }, { 149, 257 }, { 150, 257 }, { 151, 257 }, { 152, 257 }, + { 153, 257 }, { 154, 257 }, { 155, 257 }, { 156, 257 }, { 157, 257 }, + { 158, 257 }, { 159, 257 }, { 160, 257 }, { 161, 257 }, { 162, 257 }, + { 163, 257 }, { 164, 257 }, { 165, 257 }, { 166, 257 }, { 167, 257 }, + { 168, 257 }, { 169, 257 }, { 170, 257 }, { 171, 257 }, { 172, 257 }, + { 173, 257 }, { 174, 257 }, { 175, 257 }, { 176, 257 }, { 177, 257 }, + { 178, 257 }, { 179, 257 }, { 180, 257 }, { 181, 257 }, { 182, 257 }, + { 183, 257 }, { 184, 257 }, { 185, 257 }, { 186, 257 }, { 187, 257 }, + + { 188, 257 }, { 189, 257 }, { 190, 257 }, { 191, 257 }, { 192, 257 }, + { 193, 257 }, { 194, 257 }, { 195, 257 }, { 196, 257 }, { 197, 257 }, + { 198, 257 }, { 199, 257 }, { 200, 257 }, { 201, 257 }, { 202, 257 }, + { 203, 257 }, { 204, 257 }, { 205, 257 }, { 206, 257 }, { 207, 257 }, + { 208, 257 }, { 209, 257 }, { 210, 257 }, { 211, 257 }, { 212, 257 }, + { 213, 257 }, { 214, 257 }, { 215, 257 }, { 216, 257 }, { 217, 257 }, + { 218, 257 }, { 219, 257 }, { 220, 257 }, { 221, 257 }, { 222, 257 }, + { 223, 257 }, { 224, 257 }, { 225, 257 }, { 226, 257 }, { 227, 257 }, + { 228, 257 }, { 229, 257 }, { 230, 257 }, { 231, 257 }, { 232, 257 }, + { 233, 257 }, { 234, 257 }, { 235, 257 }, { 236, 257 }, { 237, 257 }, + + { 238, 257 }, { 239, 257 }, { 240, 257 }, { 241, 257 }, { 242, 257 }, + { 243, 257 }, { 244, 257 }, { 245, 257 }, { 246, 257 }, { 247, 257 }, + { 248, 257 }, { 249, 257 }, { 250, 257 }, { 251, 257 }, { 252, 257 }, + { 253, 257 }, { 254, 257 }, { 255, 257 }, { 0, 69 }, { 0,6303 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,2970 }, { 49,2970 }, { 50,2970 }, + { 51,2970 }, { 52,2970 }, { 53,2970 }, { 54,2970 }, { 55,2970 }, + { 56,2970 }, { 57,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,2970 }, + { 66,2970 }, { 67,2970 }, { 68,2970 }, { 69,2970 }, { 70,2970 }, + { 71,2970 }, { 72,2970 }, { 73,2970 }, { 74,2970 }, { 75,2970 }, + { 76,2970 }, { 77,2970 }, { 78,2970 }, { 79,2970 }, { 80,2970 }, + + { 81,2970 }, { 82,2970 }, { 83,2970 }, { 84,2970 }, { 85,2970 }, + { 86,2970 }, { 87,2970 }, { 88,2970 }, { 89,2970 }, { 90,2970 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2970 }, + { 0, 0 }, { 97,2970 }, { 98,2970 }, { 99,2970 }, { 100,2970 }, + { 101,2970 }, { 102,2970 }, { 103,2970 }, { 104,2970 }, { 105,2970 }, + { 106,2970 }, { 107,2970 }, { 108,2970 }, { 109,2970 }, { 110,2970 }, + { 111,2970 }, { 112,2970 }, { 113,2970 }, { 114,2970 }, { 115,2970 }, + { 116,2970 }, { 117,2970 }, { 118,2970 }, { 119,2970 }, { 120,2970 }, + { 121,2970 }, { 122,2970 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,2970 }, { 129,2970 }, { 130,2970 }, + + { 131,2970 }, { 132,2970 }, { 133,2970 }, { 134,2970 }, { 135,2970 }, + { 136,2970 }, { 137,2970 }, { 138,2970 }, { 139,2970 }, { 140,2970 }, + { 141,2970 }, { 142,2970 }, { 143,2970 }, { 144,2970 }, { 145,2970 }, + { 146,2970 }, { 147,2970 }, { 148,2970 }, { 149,2970 }, { 150,2970 }, + { 151,2970 }, { 152,2970 }, { 153,2970 }, { 154,2970 }, { 155,2970 }, + { 156,2970 }, { 157,2970 }, { 158,2970 }, { 159,2970 }, { 160,2970 }, + { 161,2970 }, { 162,2970 }, { 163,2970 }, { 164,2970 }, { 165,2970 }, + { 166,2970 }, { 167,2970 }, { 168,2970 }, { 169,2970 }, { 170,2970 }, + { 171,2970 }, { 172,2970 }, { 173,2970 }, { 174,2970 }, { 175,2970 }, + { 176,2970 }, { 177,2970 }, { 178,2970 }, { 179,2970 }, { 180,2970 }, + + { 181,2970 }, { 182,2970 }, { 183,2970 }, { 184,2970 }, { 185,2970 }, + { 186,2970 }, { 187,2970 }, { 188,2970 }, { 189,2970 }, { 190,2970 }, + { 191,2970 }, { 192,2970 }, { 193,2970 }, { 194,2970 }, { 195,2970 }, + { 196,2970 }, { 197,2970 }, { 198,2970 }, { 199,2970 }, { 200,2970 }, + { 201,2970 }, { 202,2970 }, { 203,2970 }, { 204,2970 }, { 205,2970 }, + { 206,2970 }, { 207,2970 }, { 208,2970 }, { 209,2970 }, { 210,2970 }, + { 211,2970 }, { 212,2970 }, { 213,2970 }, { 214,2970 }, { 215,2970 }, + { 216,2970 }, { 217,2970 }, { 218,2970 }, { 219,2970 }, { 220,2970 }, + { 221,2970 }, { 222,2970 }, { 223,2970 }, { 224,2970 }, { 225,2970 }, + { 226,2970 }, { 227,2970 }, { 228,2970 }, { 229,2970 }, { 230,2970 }, + + { 231,2970 }, { 232,2970 }, { 233,2970 }, { 234,2970 }, { 235,2970 }, + { 236,2970 }, { 237,2970 }, { 238,2970 }, { 239,2970 }, { 240,2970 }, + { 241,2970 }, { 242,2970 }, { 243,2970 }, { 244,2970 }, { 245,2970 }, + { 246,2970 }, { 247,2970 }, { 248,2970 }, { 249,2970 }, { 250,2970 }, + { 251,2970 }, { 252,2970 }, { 253,2970 }, { 254,2970 }, { 255,2970 }, + { 0, 69 }, { 0,6046 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,2713 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,2970 }, + { 49,2970 }, { 50,2970 }, { 51,2970 }, { 52,2970 }, { 53,2970 }, + { 54,2970 }, { 55,2970 }, { 56,2970 }, { 57,2970 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,2713 }, { 66,2713 }, { 67,2713 }, { 68,2713 }, + { 69,2713 }, { 70,2713 }, { 71,2713 }, { 72,2713 }, { 73,2713 }, + + { 74,2713 }, { 75,2713 }, { 76,2713 }, { 77,2713 }, { 78,2713 }, + { 79,2713 }, { 80,2713 }, { 81,2713 }, { 82,2713 }, { 83,2713 }, + { 84,2713 }, { 85,2713 }, { 86,2713 }, { 87,2713 }, { 88,2713 }, + { 89,2713 }, { 90,2713 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,2713 }, { 0, 0 }, { 97,2713 }, { 98,2713 }, + { 99,2713 }, { 100,2713 }, { 101,2713 }, { 102,2713 }, { 103,2713 }, + { 104,2713 }, { 105,2713 }, { 106,2713 }, { 107,2713 }, { 108,2713 }, + { 109,2713 }, { 110,2713 }, { 111,2713 }, { 112,2713 }, { 113,2713 }, + { 114,2713 }, { 115,2713 }, { 116,2713 }, { 117,2713 }, { 118,2713 }, + { 119,2713 }, { 120,2713 }, { 121,2713 }, { 122,2713 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,2713 }, + { 129,2713 }, { 130,2713 }, { 131,2713 }, { 132,2713 }, { 133,2713 }, + { 134,2713 }, { 135,2713 }, { 136,2713 }, { 137,2713 }, { 138,2713 }, + { 139,2713 }, { 140,2713 }, { 141,2713 }, { 142,2713 }, { 143,2713 }, + { 144,2713 }, { 145,2713 }, { 146,2713 }, { 147,2713 }, { 148,2713 }, + { 149,2713 }, { 150,2713 }, { 151,2713 }, { 152,2713 }, { 153,2713 }, + { 154,2713 }, { 155,2713 }, { 156,2713 }, { 157,2713 }, { 158,2713 }, + { 159,2713 }, { 160,2713 }, { 161,2713 }, { 162,2713 }, { 163,2713 }, + { 164,2713 }, { 165,2713 }, { 166,2713 }, { 167,2713 }, { 168,2713 }, + { 169,2713 }, { 170,2713 }, { 171,2713 }, { 172,2713 }, { 173,2713 }, + + { 174,2713 }, { 175,2713 }, { 176,2713 }, { 177,2713 }, { 178,2713 }, + { 179,2713 }, { 180,2713 }, { 181,2713 }, { 182,2713 }, { 183,2713 }, + { 184,2713 }, { 185,2713 }, { 186,2713 }, { 187,2713 }, { 188,2713 }, + { 189,2713 }, { 190,2713 }, { 191,2713 }, { 192,2713 }, { 193,2713 }, + { 194,2713 }, { 195,2713 }, { 196,2713 }, { 197,2713 }, { 198,2713 }, + { 199,2713 }, { 200,2713 }, { 201,2713 }, { 202,2713 }, { 203,2713 }, + { 204,2713 }, { 205,2713 }, { 206,2713 }, { 207,2713 }, { 208,2713 }, + { 209,2713 }, { 210,2713 }, { 211,2713 }, { 212,2713 }, { 213,2713 }, + { 214,2713 }, { 215,2713 }, { 216,2713 }, { 217,2713 }, { 218,2713 }, + { 219,2713 }, { 220,2713 }, { 221,2713 }, { 222,2713 }, { 223,2713 }, + + { 224,2713 }, { 225,2713 }, { 226,2713 }, { 227,2713 }, { 228,2713 }, + { 229,2713 }, { 230,2713 }, { 231,2713 }, { 232,2713 }, { 233,2713 }, + { 234,2713 }, { 235,2713 }, { 236,2713 }, { 237,2713 }, { 238,2713 }, + { 239,2713 }, { 240,2713 }, { 241,2713 }, { 242,2713 }, { 243,2713 }, + { 244,2713 }, { 245,2713 }, { 246,2713 }, { 247,2713 }, { 248,2713 }, + { 249,2713 }, { 250,2713 }, { 251,2713 }, { 252,2713 }, { 253,2713 }, + { 254,2713 }, { 255,2713 }, { 0, 69 }, { 0,5789 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-4769 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,-4769 }, { 49,-4769 }, { 50,-4769 }, { 51,-4769 }, + { 52,-4769 }, { 53,-4769 }, { 54,-4769 }, { 55,-4769 }, { 56,-4769 }, + { 57,-4769 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-4769 }, { 66,-4769 }, + + { 67,-4769 }, { 68,-4769 }, { 69,-4769 }, { 70,-4769 }, { 71,-4769 }, + { 72,-4769 }, { 73,-4769 }, { 74,-4769 }, { 75,-4769 }, { 76,-4769 }, + { 77,-4769 }, { 78,-4769 }, { 79,-4769 }, { 80,-4769 }, { 81,-4769 }, + { 82,-4769 }, { 83,-4769 }, { 84,-4769 }, { 85,-4769 }, { 86,-4769 }, + { 87,-4769 }, { 88,-4769 }, { 89,-4769 }, { 90,-4769 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-4769 }, { 0, 0 }, + { 97,-4769 }, { 98,-4769 }, { 99,-4769 }, { 100,-4769 }, { 101,-4769 }, + { 102,-4769 }, { 103,-4769 }, { 104,-4769 }, { 105,-4769 }, { 106,-4769 }, + { 107,-4769 }, { 108,-4769 }, { 109,-4769 }, { 110,-4769 }, { 111,-4769 }, + { 112,-4769 }, { 113,-4769 }, { 114,-4769 }, { 115,-4769 }, { 116,-4769 }, + + { 117,-4769 }, { 118,-4769 }, { 119,-4769 }, { 120,-4769 }, { 121,-4769 }, + { 122,-4769 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-4769 }, { 129,-4769 }, { 130,-4769 }, { 131,-4769 }, + { 132,-4769 }, { 133,-4769 }, { 134,-4769 }, { 135,-4769 }, { 136,-4769 }, + { 137,-4769 }, { 138,-4769 }, { 139,-4769 }, { 140,-4769 }, { 141,-4769 }, + { 142,-4769 }, { 143,-4769 }, { 144,-4769 }, { 145,-4769 }, { 146,-4769 }, + { 147,-4769 }, { 148,-4769 }, { 149,-4769 }, { 150,-4769 }, { 151,-4769 }, + { 152,-4769 }, { 153,-4769 }, { 154,-4769 }, { 155,-4769 }, { 156,-4769 }, + { 157,-4769 }, { 158,-4769 }, { 159,-4769 }, { 160,-4769 }, { 161,-4769 }, + { 162,-4769 }, { 163,-4769 }, { 164,-4769 }, { 165,-4769 }, { 166,-4769 }, + + { 167,-4769 }, { 168,-4769 }, { 169,-4769 }, { 170,-4769 }, { 171,-4769 }, + { 172,-4769 }, { 173,-4769 }, { 174,-4769 }, { 175,-4769 }, { 176,-4769 }, + { 177,-4769 }, { 178,-4769 }, { 179,-4769 }, { 180,-4769 }, { 181,-4769 }, + { 182,-4769 }, { 183,-4769 }, { 184,-4769 }, { 185,-4769 }, { 186,-4769 }, + { 187,-4769 }, { 188,-4769 }, { 189,-4769 }, { 190,-4769 }, { 191,-4769 }, + { 192,-4769 }, { 193,-4769 }, { 194,-4769 }, { 195,-4769 }, { 196,-4769 }, + { 197,-4769 }, { 198,-4769 }, { 199,-4769 }, { 200,-4769 }, { 201,-4769 }, + { 202,-4769 }, { 203,-4769 }, { 204,-4769 }, { 205,-4769 }, { 206,-4769 }, + { 207,-4769 }, { 208,-4769 }, { 209,-4769 }, { 210,-4769 }, { 211,-4769 }, + { 212,-4769 }, { 213,-4769 }, { 214,-4769 }, { 215,-4769 }, { 216,-4769 }, + + { 217,-4769 }, { 218,-4769 }, { 219,-4769 }, { 220,-4769 }, { 221,-4769 }, + { 222,-4769 }, { 223,-4769 }, { 224,-4769 }, { 225,-4769 }, { 226,-4769 }, + { 227,-4769 }, { 228,-4769 }, { 229,-4769 }, { 230,-4769 }, { 231,-4769 }, + { 232,-4769 }, { 233,-4769 }, { 234,-4769 }, { 235,-4769 }, { 236,-4769 }, + { 237,-4769 }, { 238,-4769 }, { 239,-4769 }, { 240,-4769 }, { 241,-4769 }, + { 242,-4769 }, { 243,-4769 }, { 244,-4769 }, { 245,-4769 }, { 246,-4769 }, + { 247,-4769 }, { 248,-4769 }, { 249,-4769 }, { 250,-4769 }, { 251,-4769 }, + { 252,-4769 }, { 253,-4769 }, { 254,-4769 }, { 255,-4769 }, { 0, 69 }, + { 0,5532 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-5026 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 43,-7078 }, { 0, 0 }, + { 45,-7078 }, { 0, 0 }, { 0, 0 }, { 48,-4769 }, { 49,-4769 }, + { 50,-4769 }, { 51,-4769 }, { 52,-4769 }, { 53,-4769 }, { 54,-4769 }, + { 55,-4769 }, { 56,-4769 }, { 57,-4769 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-5026 }, { 66,-5026 }, { 67,-5026 }, { 68,-5026 }, { 69,-5026 }, + { 70,-5026 }, { 71,-5026 }, { 72,-5026 }, { 73,-5026 }, { 74,-5026 }, + { 75,-5026 }, { 76,-5026 }, { 77,-5026 }, { 78,-5026 }, { 79,-5026 }, + { 80,-5026 }, { 81,-5026 }, { 82,-5026 }, { 83,-5026 }, { 84,-5026 }, + { 85,-5026 }, { 86,-5026 }, { 87,-5026 }, { 88,-5026 }, { 89,-5026 }, + { 90,-5026 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-5026 }, { 0, 0 }, { 97,-5026 }, { 98,-5026 }, { 99,-5026 }, + { 100,-5026 }, { 101,-5026 }, { 102,-5026 }, { 103,-5026 }, { 104,-5026 }, + { 105,-5026 }, { 106,-5026 }, { 107,-5026 }, { 108,-5026 }, { 109,-5026 }, + + { 110,-5026 }, { 111,-5026 }, { 112,-5026 }, { 113,-5026 }, { 114,-5026 }, + { 115,-5026 }, { 116,-5026 }, { 117,-5026 }, { 118,-5026 }, { 119,-5026 }, + { 120,-5026 }, { 121,-5026 }, { 122,-5026 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-5026 }, { 129,-5026 }, + { 130,-5026 }, { 131,-5026 }, { 132,-5026 }, { 133,-5026 }, { 134,-5026 }, + { 135,-5026 }, { 136,-5026 }, { 137,-5026 }, { 138,-5026 }, { 139,-5026 }, + { 140,-5026 }, { 141,-5026 }, { 142,-5026 }, { 143,-5026 }, { 144,-5026 }, + { 145,-5026 }, { 146,-5026 }, { 147,-5026 }, { 148,-5026 }, { 149,-5026 }, + { 150,-5026 }, { 151,-5026 }, { 152,-5026 }, { 153,-5026 }, { 154,-5026 }, + { 155,-5026 }, { 156,-5026 }, { 157,-5026 }, { 158,-5026 }, { 159,-5026 }, + + { 160,-5026 }, { 161,-5026 }, { 162,-5026 }, { 163,-5026 }, { 164,-5026 }, + { 165,-5026 }, { 166,-5026 }, { 167,-5026 }, { 168,-5026 }, { 169,-5026 }, + { 170,-5026 }, { 171,-5026 }, { 172,-5026 }, { 173,-5026 }, { 174,-5026 }, + { 175,-5026 }, { 176,-5026 }, { 177,-5026 }, { 178,-5026 }, { 179,-5026 }, + { 180,-5026 }, { 181,-5026 }, { 182,-5026 }, { 183,-5026 }, { 184,-5026 }, + { 185,-5026 }, { 186,-5026 }, { 187,-5026 }, { 188,-5026 }, { 189,-5026 }, + { 190,-5026 }, { 191,-5026 }, { 192,-5026 }, { 193,-5026 }, { 194,-5026 }, + { 195,-5026 }, { 196,-5026 }, { 197,-5026 }, { 198,-5026 }, { 199,-5026 }, + { 200,-5026 }, { 201,-5026 }, { 202,-5026 }, { 203,-5026 }, { 204,-5026 }, + { 205,-5026 }, { 206,-5026 }, { 207,-5026 }, { 208,-5026 }, { 209,-5026 }, + + { 210,-5026 }, { 211,-5026 }, { 212,-5026 }, { 213,-5026 }, { 214,-5026 }, + { 215,-5026 }, { 216,-5026 }, { 217,-5026 }, { 218,-5026 }, { 219,-5026 }, + { 220,-5026 }, { 221,-5026 }, { 222,-5026 }, { 223,-5026 }, { 224,-5026 }, + { 225,-5026 }, { 226,-5026 }, { 227,-5026 }, { 228,-5026 }, { 229,-5026 }, + { 230,-5026 }, { 231,-5026 }, { 232,-5026 }, { 233,-5026 }, { 234,-5026 }, + { 235,-5026 }, { 236,-5026 }, { 237,-5026 }, { 238,-5026 }, { 239,-5026 }, + { 240,-5026 }, { 241,-5026 }, { 242,-5026 }, { 243,-5026 }, { 244,-5026 }, + { 245,-5026 }, { 246,-5026 }, { 247,-5026 }, { 248,-5026 }, { 249,-5026 }, + { 250,-5026 }, { 251,-5026 }, { 252,-5026 }, { 253,-5026 }, { 254,-5026 }, + { 255,-5026 }, { 0, 69 }, { 0,5275 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-5283 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-4769 }, { 49,-4769 }, { 50,-4769 }, { 51,-4769 }, { 52,-4769 }, + + { 53,-4769 }, { 54,-4769 }, { 55,-4769 }, { 56,-4769 }, { 57,-4769 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-5283 }, { 66,-5283 }, { 67,-5283 }, + { 68,-5283 }, { 69,-5283 }, { 70,-5283 }, { 71,-5283 }, { 72,-5283 }, + { 73,-5283 }, { 74,-5283 }, { 75,-5283 }, { 76,-5283 }, { 77,-5283 }, + { 78,-5283 }, { 79,-5283 }, { 80,-5283 }, { 81,-5283 }, { 82,-5283 }, + { 83,-5283 }, { 84,-5283 }, { 85,-5283 }, { 86,-5283 }, { 87,-5283 }, + { 88,-5283 }, { 89,-5283 }, { 90,-5283 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-5283 }, { 0, 0 }, { 97,-5283 }, + { 98,-5283 }, { 99,-5283 }, { 100,-5283 }, { 101,-5283 }, { 102,-5283 }, + + { 103,-5283 }, { 104,-5283 }, { 105,-5283 }, { 106,-5283 }, { 107,-5283 }, + { 108,-5283 }, { 109,-5283 }, { 110,-5283 }, { 111,-5283 }, { 112,-5283 }, + { 113,-5283 }, { 114,-5283 }, { 115,-5283 }, { 116,-5283 }, { 117,-5283 }, + { 118,-5283 }, { 119,-5283 }, { 120,-5283 }, { 121,-5283 }, { 122,-5283 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,-5283 }, { 129,-5283 }, { 130,-5283 }, { 131,-5283 }, { 132,-5283 }, + { 133,-5283 }, { 134,-5283 }, { 135,-5283 }, { 136,-5283 }, { 137,-5283 }, + { 138,-5283 }, { 139,-5283 }, { 140,-5283 }, { 141,-5283 }, { 142,-5283 }, + { 143,-5283 }, { 144,-5283 }, { 145,-5283 }, { 146,-5283 }, { 147,-5283 }, + { 148,-5283 }, { 149,-5283 }, { 150,-5283 }, { 151,-5283 }, { 152,-5283 }, + + { 153,-5283 }, { 154,-5283 }, { 155,-5283 }, { 156,-5283 }, { 157,-5283 }, + { 158,-5283 }, { 159,-5283 }, { 160,-5283 }, { 161,-5283 }, { 162,-5283 }, + { 163,-5283 }, { 164,-5283 }, { 165,-5283 }, { 166,-5283 }, { 167,-5283 }, + { 168,-5283 }, { 169,-5283 }, { 170,-5283 }, { 171,-5283 }, { 172,-5283 }, + { 173,-5283 }, { 174,-5283 }, { 175,-5283 }, { 176,-5283 }, { 177,-5283 }, + { 178,-5283 }, { 179,-5283 }, { 180,-5283 }, { 181,-5283 }, { 182,-5283 }, + { 183,-5283 }, { 184,-5283 }, { 185,-5283 }, { 186,-5283 }, { 187,-5283 }, + { 188,-5283 }, { 189,-5283 }, { 190,-5283 }, { 191,-5283 }, { 192,-5283 }, + { 193,-5283 }, { 194,-5283 }, { 195,-5283 }, { 196,-5283 }, { 197,-5283 }, + { 198,-5283 }, { 199,-5283 }, { 200,-5283 }, { 201,-5283 }, { 202,-5283 }, + + { 203,-5283 }, { 204,-5283 }, { 205,-5283 }, { 206,-5283 }, { 207,-5283 }, + { 208,-5283 }, { 209,-5283 }, { 210,-5283 }, { 211,-5283 }, { 212,-5283 }, + { 213,-5283 }, { 214,-5283 }, { 215,-5283 }, { 216,-5283 }, { 217,-5283 }, + { 218,-5283 }, { 219,-5283 }, { 220,-5283 }, { 221,-5283 }, { 222,-5283 }, + { 223,-5283 }, { 224,-5283 }, { 225,-5283 }, { 226,-5283 }, { 227,-5283 }, + { 228,-5283 }, { 229,-5283 }, { 230,-5283 }, { 231,-5283 }, { 232,-5283 }, + { 233,-5283 }, { 234,-5283 }, { 235,-5283 }, { 236,-5283 }, { 237,-5283 }, + { 238,-5283 }, { 239,-5283 }, { 240,-5283 }, { 241,-5283 }, { 242,-5283 }, + { 243,-5283 }, { 244,-5283 }, { 245,-5283 }, { 246,-5283 }, { 247,-5283 }, + { 248,-5283 }, { 249,-5283 }, { 250,-5283 }, { 251,-5283 }, { 252,-5283 }, + + { 253,-5283 }, { 254,-5283 }, { 255,-5283 }, { 0, 64 }, { 0,5018 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-5540 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-771 }, + { 66,-771 }, { 67,-771 }, { 68,-771 }, { 69,-514 }, { 70,-771 }, + { 71,-771 }, { 72,-771 }, { 73,-771 }, { 74,-771 }, { 75,-771 }, + { 76,-771 }, { 77,-771 }, { 78,-771 }, { 79,-771 }, { 80,-771 }, + { 81,-771 }, { 82,-771 }, { 83,-771 }, { 84,-771 }, { 85,-771 }, + { 86,-771 }, { 87,-771 }, { 88,-771 }, { 89,-771 }, { 90,-771 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,2199 }, + + { 0, 0 }, { 97,-771 }, { 98,-771 }, { 99,-771 }, { 100,-771 }, + { 101,-514 }, { 102,-771 }, { 103,-771 }, { 104,-771 }, { 105,-771 }, + { 106,-771 }, { 107,-771 }, { 108,-771 }, { 109,-771 }, { 110,-771 }, + { 111,-771 }, { 112,-771 }, { 113,-771 }, { 114,-771 }, { 115,-771 }, + { 116,-771 }, { 117,-771 }, { 118,-771 }, { 119,-771 }, { 120,-771 }, + { 121,-771 }, { 122,-771 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-771 }, { 129,-771 }, { 130,-771 }, + { 131,-771 }, { 132,-771 }, { 133,-771 }, { 134,-771 }, { 135,-771 }, + { 136,-771 }, { 137,-771 }, { 138,-771 }, { 139,-771 }, { 140,-771 }, + { 141,-771 }, { 142,-771 }, { 143,-771 }, { 144,-771 }, { 145,-771 }, + + { 146,-771 }, { 147,-771 }, { 148,-771 }, { 149,-771 }, { 150,-771 }, + { 151,-771 }, { 152,-771 }, { 153,-771 }, { 154,-771 }, { 155,-771 }, + { 156,-771 }, { 157,-771 }, { 158,-771 }, { 159,-771 }, { 160,-771 }, + { 161,-771 }, { 162,-771 }, { 163,-771 }, { 164,-771 }, { 165,-771 }, + { 166,-771 }, { 167,-771 }, { 168,-771 }, { 169,-771 }, { 170,-771 }, + { 171,-771 }, { 172,-771 }, { 173,-771 }, { 174,-771 }, { 175,-771 }, + { 176,-771 }, { 177,-771 }, { 178,-771 }, { 179,-771 }, { 180,-771 }, + { 181,-771 }, { 182,-771 }, { 183,-771 }, { 184,-771 }, { 185,-771 }, + { 186,-771 }, { 187,-771 }, { 188,-771 }, { 189,-771 }, { 190,-771 }, + { 191,-771 }, { 192,-771 }, { 193,-771 }, { 194,-771 }, { 195,-771 }, + + { 196,-771 }, { 197,-771 }, { 198,-771 }, { 199,-771 }, { 200,-771 }, + { 201,-771 }, { 202,-771 }, { 203,-771 }, { 204,-771 }, { 205,-771 }, + { 206,-771 }, { 207,-771 }, { 208,-771 }, { 209,-771 }, { 210,-771 }, + { 211,-771 }, { 212,-771 }, { 213,-771 }, { 214,-771 }, { 215,-771 }, + { 216,-771 }, { 217,-771 }, { 218,-771 }, { 219,-771 }, { 220,-771 }, + { 221,-771 }, { 222,-771 }, { 223,-771 }, { 224,-771 }, { 225,-771 }, + { 226,-771 }, { 227,-771 }, { 228,-771 }, { 229,-771 }, { 230,-771 }, + { 231,-771 }, { 232,-771 }, { 233,-771 }, { 234,-771 }, { 235,-771 }, + { 236,-771 }, { 237,-771 }, { 238,-771 }, { 239,-771 }, { 240,-771 }, + { 241,-771 }, { 242,-771 }, { 243,-771 }, { 244,-771 }, { 245,-771 }, + + { 246,-771 }, { 247,-771 }, { 248,-771 }, { 249,-771 }, { 250,-771 }, + { 251,-771 }, { 252,-771 }, { 253,-771 }, { 254,-771 }, { 255,-771 }, + { 0, 66 }, { 0,4761 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, + { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 257 }, { 66, 257 }, { 67, 257 }, { 68, 257 }, + { 69, 257 }, { 70, 257 }, { 71, 257 }, { 72, 257 }, { 73, 257 }, + { 74, 257 }, { 75, 257 }, { 76, 257 }, { 77, 257 }, { 78, 257 }, + { 79, 257 }, { 80, 257 }, { 81, 257 }, { 82, 257 }, { 83, 257 }, + { 84, 257 }, { 85, 257 }, { 86, 257 }, { 87, 257 }, { 88, 257 }, + + { 89, 257 }, { 90, 257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95, 514 }, { 0, 0 }, { 97, 257 }, { 98, 257 }, + { 99, 257 }, { 100, 257 }, { 101, 257 }, { 102, 257 }, { 103, 257 }, + { 104, 257 }, { 105, 257 }, { 106, 257 }, { 107, 257 }, { 108, 257 }, + { 109, 257 }, { 110, 257 }, { 111, 257 }, { 112, 257 }, { 113, 257 }, + { 114, 257 }, { 115, 257 }, { 116, 257 }, { 117, 257 }, { 118, 257 }, + { 119, 257 }, { 120, 257 }, { 121, 257 }, { 122, 257 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 257 }, + { 129, 257 }, { 130, 257 }, { 131, 257 }, { 132, 257 }, { 133, 257 }, + { 134, 257 }, { 135, 257 }, { 136, 257 }, { 137, 257 }, { 138, 257 }, + + { 139, 257 }, { 140, 257 }, { 141, 257 }, { 142, 257 }, { 143, 257 }, + { 144, 257 }, { 145, 257 }, { 146, 257 }, { 147, 257 }, { 148, 257 }, + { 149, 257 }, { 150, 257 }, { 151, 257 }, { 152, 257 }, { 153, 257 }, + { 154, 257 }, { 155, 257 }, { 156, 257 }, { 157, 257 }, { 158, 257 }, + { 159, 257 }, { 160, 257 }, { 161, 257 }, { 162, 257 }, { 163, 257 }, + { 164, 257 }, { 165, 257 }, { 166, 257 }, { 167, 257 }, { 168, 257 }, + { 169, 257 }, { 170, 257 }, { 171, 257 }, { 172, 257 }, { 173, 257 }, + { 174, 257 }, { 175, 257 }, { 176, 257 }, { 177, 257 }, { 178, 257 }, + { 179, 257 }, { 180, 257 }, { 181, 257 }, { 182, 257 }, { 183, 257 }, + { 184, 257 }, { 185, 257 }, { 186, 257 }, { 187, 257 }, { 188, 257 }, + + { 189, 257 }, { 190, 257 }, { 191, 257 }, { 192, 257 }, { 193, 257 }, + { 194, 257 }, { 195, 257 }, { 196, 257 }, { 197, 257 }, { 198, 257 }, + { 199, 257 }, { 200, 257 }, { 201, 257 }, { 202, 257 }, { 203, 257 }, + { 204, 257 }, { 205, 257 }, { 206, 257 }, { 207, 257 }, { 208, 257 }, + { 209, 257 }, { 210, 257 }, { 211, 257 }, { 212, 257 }, { 213, 257 }, + { 214, 257 }, { 215, 257 }, { 216, 257 }, { 217, 257 }, { 218, 257 }, + { 219, 257 }, { 220, 257 }, { 221, 257 }, { 222, 257 }, { 223, 257 }, + { 224, 257 }, { 225, 257 }, { 226, 257 }, { 227, 257 }, { 228, 257 }, + { 229, 257 }, { 230, 257 }, { 231, 257 }, { 232, 257 }, { 233, 257 }, + { 234, 257 }, { 235, 257 }, { 236, 257 }, { 237, 257 }, { 238, 257 }, + + { 239, 257 }, { 240, 257 }, { 241, 257 }, { 242, 257 }, { 243, 257 }, + { 244, 257 }, { 245, 257 }, { 246, 257 }, { 247, 257 }, { 248, 257 }, + { 249, 257 }, { 250, 257 }, { 251, 257 }, { 252, 257 }, { 253, 257 }, + { 254, 257 }, { 255, 257 }, { 0, 70 }, { 0,4504 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,1942 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,1942 }, { 49,1942 }, { 50,1942 }, { 51,1942 }, + { 52,1942 }, { 53,1942 }, { 54,1942 }, { 55,1942 }, { 56,1942 }, + { 57,1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1942 }, { 66,1942 }, + { 67,1942 }, { 68,1942 }, { 69,1942 }, { 70,1942 }, { 71,1942 }, + { 72,1942 }, { 73,1942 }, { 74,1942 }, { 75,1942 }, { 76,1942 }, + { 77,1942 }, { 78,1942 }, { 79,1942 }, { 80,1942 }, { 81,1942 }, + + { 82,1942 }, { 83,1942 }, { 84,1942 }, { 85,1942 }, { 86,1942 }, + { 87,1942 }, { 88,1942 }, { 89,1942 }, { 90,1942 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1942 }, { 0, 0 }, + { 97,1942 }, { 98,1942 }, { 99,1942 }, { 100,1942 }, { 101,1942 }, + { 102,1942 }, { 103,1942 }, { 104,1942 }, { 105,1942 }, { 106,1942 }, + { 107,1942 }, { 108,1942 }, { 109,1942 }, { 110,1942 }, { 111,1942 }, + { 112,1942 }, { 113,1942 }, { 114,1942 }, { 115,1942 }, { 116,1942 }, + { 117,1942 }, { 118,1942 }, { 119,1942 }, { 120,1942 }, { 121,1942 }, + { 122,1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,1942 }, { 129,1942 }, { 130,1942 }, { 131,1942 }, + + { 132,1942 }, { 133,1942 }, { 134,1942 }, { 135,1942 }, { 136,1942 }, + { 137,1942 }, { 138,1942 }, { 139,1942 }, { 140,1942 }, { 141,1942 }, + { 142,1942 }, { 143,1942 }, { 144,1942 }, { 145,1942 }, { 146,1942 }, + { 147,1942 }, { 148,1942 }, { 149,1942 }, { 150,1942 }, { 151,1942 }, + { 152,1942 }, { 153,1942 }, { 154,1942 }, { 155,1942 }, { 156,1942 }, + { 157,1942 }, { 158,1942 }, { 159,1942 }, { 160,1942 }, { 161,1942 }, + { 162,1942 }, { 163,1942 }, { 164,1942 }, { 165,1942 }, { 166,1942 }, + { 167,1942 }, { 168,1942 }, { 169,1942 }, { 170,1942 }, { 171,1942 }, + { 172,1942 }, { 173,1942 }, { 174,1942 }, { 175,1942 }, { 176,1942 }, + { 177,1942 }, { 178,1942 }, { 179,1942 }, { 180,1942 }, { 181,1942 }, + + { 182,1942 }, { 183,1942 }, { 184,1942 }, { 185,1942 }, { 186,1942 }, + { 187,1942 }, { 188,1942 }, { 189,1942 }, { 190,1942 }, { 191,1942 }, + { 192,1942 }, { 193,1942 }, { 194,1942 }, { 195,1942 }, { 196,1942 }, + { 197,1942 }, { 198,1942 }, { 199,1942 }, { 200,1942 }, { 201,1942 }, + { 202,1942 }, { 203,1942 }, { 204,1942 }, { 205,1942 }, { 206,1942 }, + { 207,1942 }, { 208,1942 }, { 209,1942 }, { 210,1942 }, { 211,1942 }, + { 212,1942 }, { 213,1942 }, { 214,1942 }, { 215,1942 }, { 216,1942 }, + { 217,1942 }, { 218,1942 }, { 219,1942 }, { 220,1942 }, { 221,1942 }, + { 222,1942 }, { 223,1942 }, { 224,1942 }, { 225,1942 }, { 226,1942 }, + { 227,1942 }, { 228,1942 }, { 229,1942 }, { 230,1942 }, { 231,1942 }, + + { 232,1942 }, { 233,1942 }, { 234,1942 }, { 235,1942 }, { 236,1942 }, + { 237,1942 }, { 238,1942 }, { 239,1942 }, { 240,1942 }, { 241,1942 }, + { 242,1942 }, { 243,1942 }, { 244,1942 }, { 245,1942 }, { 246,1942 }, + { 247,1942 }, { 248,1942 }, { 249,1942 }, { 250,1942 }, { 251,1942 }, + { 252,1942 }, { 253,1942 }, { 254,1942 }, { 255,1942 }, { 0, 70 }, + { 0,4247 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1942 }, { 49,1942 }, + { 50,1942 }, { 51,1942 }, { 52,1942 }, { 53,1942 }, { 54,1942 }, + { 55,1942 }, { 56,1942 }, { 57,1942 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,1685 }, { 66,1685 }, { 67,1685 }, { 68,1685 }, { 69,1685 }, + { 70,1685 }, { 71,1685 }, { 72,1685 }, { 73,1685 }, { 74,1685 }, + + { 75,1685 }, { 76,1685 }, { 77,1685 }, { 78,1685 }, { 79,1685 }, + { 80,1685 }, { 81,1685 }, { 82,1685 }, { 83,1685 }, { 84,1685 }, + { 85,1685 }, { 86,1685 }, { 87,1685 }, { 88,1685 }, { 89,1685 }, + { 90,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,1685 }, { 0, 0 }, { 97,1685 }, { 98,1685 }, { 99,1685 }, + { 100,1685 }, { 101,1685 }, { 102,1685 }, { 103,1685 }, { 104,1685 }, + { 105,1685 }, { 106,1685 }, { 107,1685 }, { 108,1685 }, { 109,1685 }, + { 110,1685 }, { 111,1685 }, { 112,1685 }, { 113,1685 }, { 114,1685 }, + { 115,1685 }, { 116,1685 }, { 117,1685 }, { 118,1685 }, { 119,1685 }, + { 120,1685 }, { 121,1685 }, { 122,1685 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,1685 }, { 129,1685 }, + { 130,1685 }, { 131,1685 }, { 132,1685 }, { 133,1685 }, { 134,1685 }, + { 135,1685 }, { 136,1685 }, { 137,1685 }, { 138,1685 }, { 139,1685 }, + { 140,1685 }, { 141,1685 }, { 142,1685 }, { 143,1685 }, { 144,1685 }, + { 145,1685 }, { 146,1685 }, { 147,1685 }, { 148,1685 }, { 149,1685 }, + { 150,1685 }, { 151,1685 }, { 152,1685 }, { 153,1685 }, { 154,1685 }, + { 155,1685 }, { 156,1685 }, { 157,1685 }, { 158,1685 }, { 159,1685 }, + { 160,1685 }, { 161,1685 }, { 162,1685 }, { 163,1685 }, { 164,1685 }, + { 165,1685 }, { 166,1685 }, { 167,1685 }, { 168,1685 }, { 169,1685 }, + { 170,1685 }, { 171,1685 }, { 172,1685 }, { 173,1685 }, { 174,1685 }, + + { 175,1685 }, { 176,1685 }, { 177,1685 }, { 178,1685 }, { 179,1685 }, + { 180,1685 }, { 181,1685 }, { 182,1685 }, { 183,1685 }, { 184,1685 }, + { 185,1685 }, { 186,1685 }, { 187,1685 }, { 188,1685 }, { 189,1685 }, + { 190,1685 }, { 191,1685 }, { 192,1685 }, { 193,1685 }, { 194,1685 }, + { 195,1685 }, { 196,1685 }, { 197,1685 }, { 198,1685 }, { 199,1685 }, + { 200,1685 }, { 201,1685 }, { 202,1685 }, { 203,1685 }, { 204,1685 }, + { 205,1685 }, { 206,1685 }, { 207,1685 }, { 208,1685 }, { 209,1685 }, + { 210,1685 }, { 211,1685 }, { 212,1685 }, { 213,1685 }, { 214,1685 }, + { 215,1685 }, { 216,1685 }, { 217,1685 }, { 218,1685 }, { 219,1685 }, + { 220,1685 }, { 221,1685 }, { 222,1685 }, { 223,1685 }, { 224,1685 }, + + { 225,1685 }, { 226,1685 }, { 227,1685 }, { 228,1685 }, { 229,1685 }, + { 230,1685 }, { 231,1685 }, { 232,1685 }, { 233,1685 }, { 234,1685 }, + { 235,1685 }, { 236,1685 }, { 237,1685 }, { 238,1685 }, { 239,1685 }, + { 240,1685 }, { 241,1685 }, { 242,1685 }, { 243,1685 }, { 244,1685 }, + { 245,1685 }, { 246,1685 }, { 247,1685 }, { 248,1685 }, { 249,1685 }, + { 250,1685 }, { 251,1685 }, { 252,1685 }, { 253,1685 }, { 254,1685 }, + { 255,1685 }, { 0, 68 }, { 0,3990 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, - { 88, 0 }, { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, - { 93, 0 }, { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, + { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, - { 123, 0 }, { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, @@ -3955,98 +7202,111 @@ static const struct yy_trans_info yy_transition[17678] = { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, - { 253, 0 }, { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 37 }, - { 0,2483 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - + { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 66 }, { 0,3733 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 36,-8348 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1373 }, { 49,1373 }, - { 50,1373 }, { 51,1373 }, { 52,1373 }, { 53,1373 }, { 54,1373 }, - { 55,1373 }, { 56,1373 }, { 57,1373 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,1373 }, { 66,1373 }, { 67,1373 }, { 68,1373 }, { 69,1373 }, - { 70,1373 }, { 71,1373 }, { 72,1373 }, { 73,1373 }, { 74,1373 }, - { 75,1373 }, { 76,1373 }, { 77,1373 }, { 78,1373 }, { 79,1373 }, - { 80,1373 }, { 81,1373 }, { 82,1373 }, { 83,1373 }, { 84,1373 }, - { 85,1373 }, { 86,1373 }, { 87,1373 }, { 88,1373 }, { 89,1373 }, - { 90,1373 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 95,1373 }, { 0, 0 }, { 97,1373 }, { 98,1373 }, { 99,1373 }, - { 100,1373 }, { 101,1373 }, { 102,1373 }, { 103,1373 }, { 104,1373 }, - { 105,1373 }, { 106,1373 }, { 107,1373 }, { 108,1373 }, { 109,1373 }, - - { 110,1373 }, { 111,1373 }, { 112,1373 }, { 113,1373 }, { 114,1373 }, - { 115,1373 }, { 116,1373 }, { 117,1373 }, { 118,1373 }, { 119,1373 }, - { 120,1373 }, { 121,1373 }, { 122,1373 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,1373 }, { 129,1373 }, - { 130,1373 }, { 131,1373 }, { 132,1373 }, { 133,1373 }, { 134,1373 }, - { 135,1373 }, { 136,1373 }, { 137,1373 }, { 138,1373 }, { 139,1373 }, - { 140,1373 }, { 141,1373 }, { 142,1373 }, { 143,1373 }, { 144,1373 }, - { 145,1373 }, { 146,1373 }, { 147,1373 }, { 148,1373 }, { 149,1373 }, - { 150,1373 }, { 151,1373 }, { 152,1373 }, { 153,1373 }, { 154,1373 }, - { 155,1373 }, { 156,1373 }, { 157,1373 }, { 158,1373 }, { 159,1373 }, - - { 160,1373 }, { 161,1373 }, { 162,1373 }, { 163,1373 }, { 164,1373 }, - { 165,1373 }, { 166,1373 }, { 167,1373 }, { 168,1373 }, { 169,1373 }, - { 170,1373 }, { 171,1373 }, { 172,1373 }, { 173,1373 }, { 174,1373 }, - { 175,1373 }, { 176,1373 }, { 177,1373 }, { 178,1373 }, { 179,1373 }, - { 180,1373 }, { 181,1373 }, { 182,1373 }, { 183,1373 }, { 184,1373 }, - { 185,1373 }, { 186,1373 }, { 187,1373 }, { 188,1373 }, { 189,1373 }, - { 190,1373 }, { 191,1373 }, { 192,1373 }, { 193,1373 }, { 194,1373 }, - { 195,1373 }, { 196,1373 }, { 197,1373 }, { 198,1373 }, { 199,1373 }, - { 200,1373 }, { 201,1373 }, { 202,1373 }, { 203,1373 }, { 204,1373 }, - { 205,1373 }, { 206,1373 }, { 207,1373 }, { 208,1373 }, { 209,1373 }, - { 210,1373 }, { 211,1373 }, { 212,1373 }, { 213,1373 }, { 214,1373 }, - { 215,1373 }, { 216,1373 }, { 217,1373 }, { 218,1373 }, { 219,1373 }, - { 220,1373 }, { 221,1373 }, { 222,1373 }, { 223,1373 }, { 224,1373 }, - { 225,1373 }, { 226,1373 }, { 227,1373 }, { 228,1373 }, { 229,1373 }, - { 230,1373 }, { 231,1373 }, { 232,1373 }, { 233,1373 }, { 234,1373 }, - { 235,1373 }, { 236,1373 }, { 237,1373 }, { 238,1373 }, { 239,1373 }, - { 240,1373 }, { 241,1373 }, { 242,1373 }, { 243,1373 }, { 244,1373 }, - { 245,1373 }, { 246,1373 }, { 247,1373 }, { 248,1373 }, { 249,1373 }, - { 250,1373 }, { 251,1373 }, { 252,1373 }, { 253,1373 }, { 254,1373 }, - { 255,1373 }, { 0, 28 }, { 0,2226 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, - { 0,2203 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,1373 }, { 49,1373 }, { 50,1373 }, { 51,1373 }, { 52,1373 }, - - { 53,1373 }, { 54,1373 }, { 55,1373 }, { 56,1373 }, { 57,1373 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,1373 }, { 66,1373 }, { 67,1373 }, - { 68,1373 }, { 69,1373 }, { 70,1373 }, { 48,1373 }, { 49,1373 }, - { 50,1373 }, { 51,1373 }, { 52,1373 }, { 53,1373 }, { 54,1373 }, - { 55,1373 }, { 56,1373 }, { 57,1373 }, { 0, 34 }, { 0,2144 }, + { 36,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,1373 }, { 66,1373 }, { 67,1373 }, { 68,1373 }, { 69,1373 }, - { 70,1373 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1373 }, - { 98,1373 }, { 99,1373 }, { 100,1373 }, { 101,1373 }, { 102,1373 }, + { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, + { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, + { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 36,-8961 }, { 0, 0 }, { 97,1373 }, { 98,1373 }, { 99,1373 }, - { 100,1373 }, { 101,1373 }, { 102,1373 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1685 }, + { 66,1685 }, { 67,1685 }, { 68,1685 }, { 69,1685 }, { 70,1685 }, + { 71,1685 }, { 72,1685 }, { 73,1685 }, { 74,1685 }, { 75,1685 }, + { 76,1685 }, { 77,1685 }, { 78,1685 }, { 79,1685 }, { 80,1685 }, + { 81,1685 }, { 82,1685 }, { 83,1685 }, { 84,1685 }, { 85,1685 }, + { 86,1685 }, { 87,1685 }, { 88,1685 }, { 89,1685 }, { 90,1685 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,1942 }, + { 0, 0 }, { 97,1685 }, { 98,1685 }, { 99,1685 }, { 100,1685 }, + { 101,1685 }, { 102,1685 }, { 103,1685 }, { 104,1685 }, { 105,1685 }, + { 106,1685 }, { 107,1685 }, { 108,1685 }, { 109,1685 }, { 110,1685 }, + + { 111,1685 }, { 112,1685 }, { 113,1685 }, { 114,1685 }, { 115,1685 }, + { 116,1685 }, { 117,1685 }, { 118,1685 }, { 119,1685 }, { 120,1685 }, + { 121,1685 }, { 122,1685 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,1685 }, { 129,1685 }, { 130,1685 }, + { 131,1685 }, { 132,1685 }, { 133,1685 }, { 134,1685 }, { 135,1685 }, + { 136,1685 }, { 137,1685 }, { 138,1685 }, { 139,1685 }, { 140,1685 }, + { 141,1685 }, { 142,1685 }, { 143,1685 }, { 144,1685 }, { 145,1685 }, + { 146,1685 }, { 147,1685 }, { 148,1685 }, { 149,1685 }, { 150,1685 }, + { 151,1685 }, { 152,1685 }, { 153,1685 }, { 154,1685 }, { 155,1685 }, + { 156,1685 }, { 157,1685 }, { 158,1685 }, { 159,1685 }, { 160,1685 }, + + { 161,1685 }, { 162,1685 }, { 163,1685 }, { 164,1685 }, { 165,1685 }, + { 166,1685 }, { 167,1685 }, { 168,1685 }, { 169,1685 }, { 170,1685 }, + { 171,1685 }, { 172,1685 }, { 173,1685 }, { 174,1685 }, { 175,1685 }, + { 176,1685 }, { 177,1685 }, { 178,1685 }, { 179,1685 }, { 180,1685 }, + { 181,1685 }, { 182,1685 }, { 183,1685 }, { 184,1685 }, { 185,1685 }, + { 186,1685 }, { 187,1685 }, { 188,1685 }, { 189,1685 }, { 190,1685 }, + { 191,1685 }, { 192,1685 }, { 193,1685 }, { 194,1685 }, { 195,1685 }, + { 196,1685 }, { 197,1685 }, { 198,1685 }, { 199,1685 }, { 200,1685 }, + { 201,1685 }, { 202,1685 }, { 203,1685 }, { 204,1685 }, { 205,1685 }, + { 206,1685 }, { 207,1685 }, { 208,1685 }, { 209,1685 }, { 210,1685 }, + + { 211,1685 }, { 212,1685 }, { 213,1685 }, { 214,1685 }, { 215,1685 }, + { 216,1685 }, { 217,1685 }, { 218,1685 }, { 219,1685 }, { 220,1685 }, + { 221,1685 }, { 222,1685 }, { 223,1685 }, { 224,1685 }, { 225,1685 }, + { 226,1685 }, { 227,1685 }, { 228,1685 }, { 229,1685 }, { 230,1685 }, + { 231,1685 }, { 232,1685 }, { 233,1685 }, { 234,1685 }, { 235,1685 }, + { 236,1685 }, { 237,1685 }, { 238,1685 }, { 239,1685 }, { 240,1685 }, + { 241,1685 }, { 242,1685 }, { 243,1685 }, { 244,1685 }, { 245,1685 }, + { 246,1685 }, { 247,1685 }, { 248,1685 }, { 249,1685 }, { 250,1685 }, + { 251,1685 }, { 252,1685 }, { 253,1685 }, { 254,1685 }, { 255,1685 }, + { 0, 28 }, { 0,3476 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0,3453 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,1942 }, + { 49,1942 }, { 50,1942 }, { 51,1942 }, { 52,1942 }, { 53,1942 }, + + { 54,1942 }, { 55,1942 }, { 56,1942 }, { 57,1942 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0,3415 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1942 }, { 66,1942 }, { 67,1942 }, { 68,1942 }, + { 69,1942 }, { 70,1942 }, { 48,-23334 }, { 49,-23334 }, { 50,-23334 }, + { 51,-23334 }, { 52,-23334 }, { 53,-23334 }, { 54,-23334 }, { 55,-23334 }, + { 56,-23334 }, { 57,-23334 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, + { 0,3392 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-23334 }, + { 66,-23334 }, { 67,-23334 }, { 68,-23334 }, { 69,-23334 }, { 70,-23334 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1942 }, { 98,1942 }, + { 99,1942 }, { 100,1942 }, { 101,1942 }, { 102,1942 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,1904 }, { 49,1904 }, { 50,1904 }, { 51,1904 }, { 52,1904 }, + { 53,1904 }, { 54,1904 }, { 55,1904 }, { 56,1904 }, { 57,1904 }, + { 0, 0 }, { 97,-23334 }, { 98,-23334 }, { 99,-23334 }, { 100,-23334 }, + { 101,-23334 }, { 102,-23334 }, { 65,1904 }, { 66,1904 }, { 67,1904 }, + { 68,1904 }, { 69,1904 }, { 70,1904 }, { 48,-23393 }, { 49,-23393 }, + { 50,-23393 }, { 51,-23393 }, { 52,-23393 }, { 53,-23393 }, { 54,-23393 }, + { 55,-23393 }, { 56,-23393 }, { 57,-23393 }, { 0, 69 }, { 0,3333 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-23393 }, { 66,-23393 }, { 67,-23393 }, { 68,-23393 }, { 69,-23393 }, + + { 70,-23393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,1904 }, + { 98,1904 }, { 99,1904 }, { 100,1904 }, { 101,1904 }, { 102,1904 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36, 0 }, { 0, 0 }, { 97,-23393 }, { 98,-23393 }, { 99,-23393 }, + { 100,-23393 }, { 101,-23393 }, { 102,-23393 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, - { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, @@ -4055,9 +7315,9 @@ static const struct yy_trans_info yy_transition[17678] = { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, + { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, - { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, @@ -4066,9 +7326,9 @@ static const struct yy_trans_info yy_transition[17678] = { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, + { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, - { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, @@ -4077,9 +7337,9 @@ static const struct yy_trans_info yy_transition[17678] = { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, + { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, - { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, @@ -4087,388 +7347,650 @@ static const struct yy_trans_info yy_transition[17678] = { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, - { 0, 2 }, { 0,1887 }, { 1, 0 }, { 2, 0 }, { 3, 0 }, - { 4, 0 }, { 5, 0 }, { 6, 0 }, { 7, 0 }, { 8, 0 }, - { 9, 0 }, { 0, 0 }, { 11, 0 }, { 12, 0 }, { 0, 0 }, + { 0, 66 }, { 0,3076 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 14, 0 }, { 15, 0 }, { 16, 0 }, { 17, 0 }, { 18, 0 }, - { 19, 0 }, { 20, 0 }, { 21, 0 }, { 22, 0 }, { 23, 0 }, - { 24, 0 }, { 25, 0 }, { 26, 0 }, { 27, 0 }, { 28, 0 }, - { 29, 0 }, { 30, 0 }, { 31, 0 }, { 32, 0 }, { 33, 0 }, - { 34, 0 }, { 35, 0 }, { 36, 0 }, { 37, 0 }, { 38, 0 }, - { 39, 0 }, { 40, 0 }, { 41, 0 }, { 42, 0 }, { 43, 0 }, - { 44, 0 }, { 45, 0 }, { 46, 0 }, { 47, 0 }, { 48, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, - { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 58, 0 }, - { 59, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, { 63, 0 }, - { 64, 0 }, { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, - { 69, 0 }, { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, - { 74, 0 }, { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, - { 79, 0 }, { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, - { 84, 0 }, { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, - { 89, 0 }, { 90, 0 }, { 91, 0 }, { 92, 0 }, { 93, 0 }, - { 94, 0 }, { 95, 0 }, { 96, 0 }, { 97, 0 }, { 98, 0 }, - { 99, 0 }, { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, - { 104, 0 }, { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, - { 109, 0 }, { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, + { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1624 }, { 66,1624 }, { 67,1624 }, { 68,1624 }, + { 69,1624 }, { 70,1624 }, { 71,1624 }, { 72,1624 }, { 73,1624 }, + { 74,1624 }, { 75,1624 }, { 76,1624 }, { 77,1624 }, { 78,1624 }, + { 79,1624 }, { 80,1624 }, { 81,1624 }, { 82,1624 }, { 83,1624 }, + { 84,1624 }, { 85,1624 }, { 86,1624 }, { 87,1624 }, { 88,1624 }, + { 89,1624 }, { 90,1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,1881 }, { 0, 0 }, { 97,1624 }, { 98,1624 }, + { 99,1624 }, { 100,1624 }, { 101,1624 }, { 102,1624 }, { 103,1624 }, + + { 104,1624 }, { 105,1624 }, { 106,1624 }, { 107,1624 }, { 108,1624 }, + { 109,1624 }, { 110,1624 }, { 111,1624 }, { 112,1624 }, { 113,1624 }, + { 114,1624 }, { 115,1624 }, { 116,1624 }, { 117,1624 }, { 118,1624 }, + { 119,1624 }, { 120,1624 }, { 121,1624 }, { 122,1624 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,1624 }, + { 129,1624 }, { 130,1624 }, { 131,1624 }, { 132,1624 }, { 133,1624 }, + { 134,1624 }, { 135,1624 }, { 136,1624 }, { 137,1624 }, { 138,1624 }, + { 139,1624 }, { 140,1624 }, { 141,1624 }, { 142,1624 }, { 143,1624 }, + { 144,1624 }, { 145,1624 }, { 146,1624 }, { 147,1624 }, { 148,1624 }, + { 149,1624 }, { 150,1624 }, { 151,1624 }, { 152,1624 }, { 153,1624 }, + + { 154,1624 }, { 155,1624 }, { 156,1624 }, { 157,1624 }, { 158,1624 }, + { 159,1624 }, { 160,1624 }, { 161,1624 }, { 162,1624 }, { 163,1624 }, + { 164,1624 }, { 165,1624 }, { 166,1624 }, { 167,1624 }, { 168,1624 }, + { 169,1624 }, { 170,1624 }, { 171,1624 }, { 172,1624 }, { 173,1624 }, + { 174,1624 }, { 175,1624 }, { 176,1624 }, { 177,1624 }, { 178,1624 }, + { 179,1624 }, { 180,1624 }, { 181,1624 }, { 182,1624 }, { 183,1624 }, + { 184,1624 }, { 185,1624 }, { 186,1624 }, { 187,1624 }, { 188,1624 }, + { 189,1624 }, { 190,1624 }, { 191,1624 }, { 192,1624 }, { 193,1624 }, + { 194,1624 }, { 195,1624 }, { 196,1624 }, { 197,1624 }, { 198,1624 }, + { 199,1624 }, { 200,1624 }, { 201,1624 }, { 202,1624 }, { 203,1624 }, + + { 204,1624 }, { 205,1624 }, { 206,1624 }, { 207,1624 }, { 208,1624 }, + { 209,1624 }, { 210,1624 }, { 211,1624 }, { 212,1624 }, { 213,1624 }, + { 214,1624 }, { 215,1624 }, { 216,1624 }, { 217,1624 }, { 218,1624 }, + { 219,1624 }, { 220,1624 }, { 221,1624 }, { 222,1624 }, { 223,1624 }, + { 224,1624 }, { 225,1624 }, { 226,1624 }, { 227,1624 }, { 228,1624 }, + { 229,1624 }, { 230,1624 }, { 231,1624 }, { 232,1624 }, { 233,1624 }, + { 234,1624 }, { 235,1624 }, { 236,1624 }, { 237,1624 }, { 238,1624 }, + { 239,1624 }, { 240,1624 }, { 241,1624 }, { 242,1624 }, { 243,1624 }, + { 244,1624 }, { 245,1624 }, { 246,1624 }, { 247,1624 }, { 248,1624 }, + { 249,1624 }, { 250,1624 }, { 251,1624 }, { 252,1624 }, { 253,1624 }, + + { 254,1624 }, { 255,1624 }, { 0, 69 }, { 0,2819 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-7739 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 48,-2199 }, { 49,-2199 }, { 50,-2199 }, { 51,-2199 }, + { 52,-2199 }, { 53,-2199 }, { 54,-2199 }, { 55,-2199 }, { 56,-2199 }, + { 57,-2199 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-7739 }, { 66,-7739 }, + { 67,-7739 }, { 68,-7739 }, { 69,-7739 }, { 70,-7739 }, { 71,-7739 }, + { 72,-7739 }, { 73,-7739 }, { 74,-7739 }, { 75,-7739 }, { 76,-7739 }, + { 77,-7739 }, { 78,-7739 }, { 79,-7739 }, { 80,-7739 }, { 81,-7739 }, + { 82,-7739 }, { 83,-7739 }, { 84,-7739 }, { 85,-7739 }, { 86,-7739 }, + { 87,-7739 }, { 88,-7739 }, { 89,-7739 }, { 90,-7739 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-7739 }, { 0, 0 }, + + { 97,-7739 }, { 98,-7739 }, { 99,-7739 }, { 100,-7739 }, { 101,-7739 }, + { 102,-7739 }, { 103,-7739 }, { 104,-7739 }, { 105,-7739 }, { 106,-7739 }, + { 107,-7739 }, { 108,-7739 }, { 109,-7739 }, { 110,-7739 }, { 111,-7739 }, + { 112,-7739 }, { 113,-7739 }, { 114,-7739 }, { 115,-7739 }, { 116,-7739 }, + { 117,-7739 }, { 118,-7739 }, { 119,-7739 }, { 120,-7739 }, { 121,-7739 }, + { 122,-7739 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 128,-7739 }, { 129,-7739 }, { 130,-7739 }, { 131,-7739 }, + { 132,-7739 }, { 133,-7739 }, { 134,-7739 }, { 135,-7739 }, { 136,-7739 }, + { 137,-7739 }, { 138,-7739 }, { 139,-7739 }, { 140,-7739 }, { 141,-7739 }, + { 142,-7739 }, { 143,-7739 }, { 144,-7739 }, { 145,-7739 }, { 146,-7739 }, + + { 147,-7739 }, { 148,-7739 }, { 149,-7739 }, { 150,-7739 }, { 151,-7739 }, + { 152,-7739 }, { 153,-7739 }, { 154,-7739 }, { 155,-7739 }, { 156,-7739 }, + { 157,-7739 }, { 158,-7739 }, { 159,-7739 }, { 160,-7739 }, { 161,-7739 }, + { 162,-7739 }, { 163,-7739 }, { 164,-7739 }, { 165,-7739 }, { 166,-7739 }, + { 167,-7739 }, { 168,-7739 }, { 169,-7739 }, { 170,-7739 }, { 171,-7739 }, + { 172,-7739 }, { 173,-7739 }, { 174,-7739 }, { 175,-7739 }, { 176,-7739 }, + { 177,-7739 }, { 178,-7739 }, { 179,-7739 }, { 180,-7739 }, { 181,-7739 }, + { 182,-7739 }, { 183,-7739 }, { 184,-7739 }, { 185,-7739 }, { 186,-7739 }, + { 187,-7739 }, { 188,-7739 }, { 189,-7739 }, { 190,-7739 }, { 191,-7739 }, + { 192,-7739 }, { 193,-7739 }, { 194,-7739 }, { 195,-7739 }, { 196,-7739 }, + + { 197,-7739 }, { 198,-7739 }, { 199,-7739 }, { 200,-7739 }, { 201,-7739 }, + { 202,-7739 }, { 203,-7739 }, { 204,-7739 }, { 205,-7739 }, { 206,-7739 }, + { 207,-7739 }, { 208,-7739 }, { 209,-7739 }, { 210,-7739 }, { 211,-7739 }, + { 212,-7739 }, { 213,-7739 }, { 214,-7739 }, { 215,-7739 }, { 216,-7739 }, + { 217,-7739 }, { 218,-7739 }, { 219,-7739 }, { 220,-7739 }, { 221,-7739 }, + { 222,-7739 }, { 223,-7739 }, { 224,-7739 }, { 225,-7739 }, { 226,-7739 }, + { 227,-7739 }, { 228,-7739 }, { 229,-7739 }, { 230,-7739 }, { 231,-7739 }, + { 232,-7739 }, { 233,-7739 }, { 234,-7739 }, { 235,-7739 }, { 236,-7739 }, + { 237,-7739 }, { 238,-7739 }, { 239,-7739 }, { 240,-7739 }, { 241,-7739 }, + { 242,-7739 }, { 243,-7739 }, { 244,-7739 }, { 245,-7739 }, { 246,-7739 }, + + { 247,-7739 }, { 248,-7739 }, { 249,-7739 }, { 250,-7739 }, { 251,-7739 }, + { 252,-7739 }, { 253,-7739 }, { 254,-7739 }, { 255,-7739 }, { 0, 70 }, + { 0,2562 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 114, 0 }, { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, - { 119, 0 }, { 120, 0 }, { 121, 0 }, { 122, 0 }, { 123, 0 }, - { 124, 0 }, { 125, 0 }, { 126, 0 }, { 127, 0 }, { 128, 0 }, - { 129, 0 }, { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, - { 134, 0 }, { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, - { 139, 0 }, { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, - { 144, 0 }, { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, - { 149, 0 }, { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, - { 154, 0 }, { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, - { 159, 0 }, { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, + { 50, 0 }, { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, + { 55, 0 }, { 56, 0 }, { 57, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65, 0 }, { 66, 0 }, { 67, 0 }, { 68, 0 }, { 69, 0 }, + { 70, 0 }, { 71, 0 }, { 72, 0 }, { 73, 0 }, { 74, 0 }, + { 75, 0 }, { 76, 0 }, { 77, 0 }, { 78, 0 }, { 79, 0 }, + { 80, 0 }, { 81, 0 }, { 82, 0 }, { 83, 0 }, { 84, 0 }, + { 85, 0 }, { 86, 0 }, { 87, 0 }, { 88, 0 }, { 89, 0 }, - { 164, 0 }, { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, - { 169, 0 }, { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, - { 174, 0 }, { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, - { 179, 0 }, { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, - { 184, 0 }, { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, - { 189, 0 }, { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, - { 194, 0 }, { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, - { 199, 0 }, { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, - { 204, 0 }, { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, - { 209, 0 }, { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, + { 90, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95, 0 }, { 0, 0 }, { 97, 0 }, { 98, 0 }, { 99, 0 }, + { 100, 0 }, { 101, 0 }, { 102, 0 }, { 103, 0 }, { 104, 0 }, + { 105, 0 }, { 106, 0 }, { 107, 0 }, { 108, 0 }, { 109, 0 }, + { 110, 0 }, { 111, 0 }, { 112, 0 }, { 113, 0 }, { 114, 0 }, + { 115, 0 }, { 116, 0 }, { 117, 0 }, { 118, 0 }, { 119, 0 }, + { 120, 0 }, { 121, 0 }, { 122, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128, 0 }, { 129, 0 }, + { 130, 0 }, { 131, 0 }, { 132, 0 }, { 133, 0 }, { 134, 0 }, + { 135, 0 }, { 136, 0 }, { 137, 0 }, { 138, 0 }, { 139, 0 }, - { 214, 0 }, { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, - { 219, 0 }, { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, - { 224, 0 }, { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, - { 229, 0 }, { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, - { 234, 0 }, { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, - { 239, 0 }, { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, - { 244, 0 }, { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, - { 249, 0 }, { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, - { 254, 0 }, { 255, 0 }, { 256, 0 }, { 0, 2 }, { 0,1629 }, - { 1,-258 }, { 2,-258 }, { 3,-258 }, { 4,-258 }, { 5,-258 }, - - { 6,-258 }, { 7,-258 }, { 8,-258 }, { 9,-258 }, { 0, 0 }, - { 11,-258 }, { 12,-258 }, { 0, 0 }, { 14,-258 }, { 15,-258 }, - { 16,-258 }, { 17,-258 }, { 18,-258 }, { 19,-258 }, { 20,-258 }, - { 21,-258 }, { 22,-258 }, { 23,-258 }, { 24,-258 }, { 25,-258 }, - { 26,-258 }, { 27,-258 }, { 28,-258 }, { 29,-258 }, { 30,-258 }, - { 31,-258 }, { 32,-258 }, { 33, 0 }, { 34,-258 }, { 35, 0 }, - { 36,-258 }, { 37, 0 }, { 38, 0 }, { 39,-258 }, { 40,-258 }, - { 41,-258 }, { 42, 0 }, { 43, 0 }, { 44,-258 }, { 45, 0 }, - { 46,-258 }, { 47, 0 }, { 48,-258 }, { 49,-258 }, { 50,-258 }, - { 51,-258 }, { 52,-258 }, { 53,-258 }, { 54,-258 }, { 55,-258 }, - - { 56,-258 }, { 57,-258 }, { 58,-258 }, { 59,-258 }, { 60, 0 }, - { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 65,-258 }, - { 66,-258 }, { 67,-258 }, { 68,-258 }, { 69,-258 }, { 70,-258 }, - { 71,-258 }, { 72,-258 }, { 73,-258 }, { 74,-258 }, { 75,-258 }, - { 76,-258 }, { 77,-258 }, { 78,-258 }, { 79,-258 }, { 80,-258 }, - { 81,-258 }, { 82,-258 }, { 83,-258 }, { 84,-258 }, { 85,-258 }, - { 86,-258 }, { 87,-258 }, { 88,-258 }, { 89,-258 }, { 90,-258 }, - { 91,-258 }, { 92,-258 }, { 93,-258 }, { 94, 0 }, { 95,-258 }, - { 96, 0 }, { 97,-258 }, { 98,-258 }, { 99,-258 }, { 100,-258 }, - { 101,-258 }, { 102,-258 }, { 103,-258 }, { 104,-258 }, { 105,-258 }, - - { 106,-258 }, { 107,-258 }, { 108,-258 }, { 109,-258 }, { 110,-258 }, - { 111,-258 }, { 112,-258 }, { 113,-258 }, { 114,-258 }, { 115,-258 }, - { 116,-258 }, { 117,-258 }, { 118,-258 }, { 119,-258 }, { 120,-258 }, - { 121,-258 }, { 122,-258 }, { 123,-258 }, { 124, 0 }, { 125,-258 }, - { 126, 0 }, { 127,-258 }, { 128,-258 }, { 129,-258 }, { 130,-258 }, - { 131,-258 }, { 132,-258 }, { 133,-258 }, { 134,-258 }, { 135,-258 }, - { 136,-258 }, { 137,-258 }, { 138,-258 }, { 139,-258 }, { 140,-258 }, - { 141,-258 }, { 142,-258 }, { 143,-258 }, { 144,-258 }, { 145,-258 }, - { 146,-258 }, { 147,-258 }, { 148,-258 }, { 149,-258 }, { 150,-258 }, - { 151,-258 }, { 152,-258 }, { 153,-258 }, { 154,-258 }, { 155,-258 }, - - { 156,-258 }, { 157,-258 }, { 158,-258 }, { 159,-258 }, { 160,-258 }, - { 161,-258 }, { 162,-258 }, { 163,-258 }, { 164,-258 }, { 165,-258 }, - { 166,-258 }, { 167,-258 }, { 168,-258 }, { 169,-258 }, { 170,-258 }, - { 171,-258 }, { 172,-258 }, { 173,-258 }, { 174,-258 }, { 175,-258 }, - { 176,-258 }, { 177,-258 }, { 178,-258 }, { 179,-258 }, { 180,-258 }, - { 181,-258 }, { 182,-258 }, { 183,-258 }, { 184,-258 }, { 185,-258 }, - { 186,-258 }, { 187,-258 }, { 188,-258 }, { 189,-258 }, { 190,-258 }, - { 191,-258 }, { 192,-258 }, { 193,-258 }, { 194,-258 }, { 195,-258 }, - { 196,-258 }, { 197,-258 }, { 198,-258 }, { 199,-258 }, { 200,-258 }, - { 201,-258 }, { 202,-258 }, { 203,-258 }, { 204,-258 }, { 205,-258 }, - - { 206,-258 }, { 207,-258 }, { 208,-258 }, { 209,-258 }, { 210,-258 }, - { 211,-258 }, { 212,-258 }, { 213,-258 }, { 214,-258 }, { 215,-258 }, - { 216,-258 }, { 217,-258 }, { 218,-258 }, { 219,-258 }, { 220,-258 }, - { 221,-258 }, { 222,-258 }, { 223,-258 }, { 224,-258 }, { 225,-258 }, - { 226,-258 }, { 227,-258 }, { 228,-258 }, { 229,-258 }, { 230,-258 }, - { 231,-258 }, { 232,-258 }, { 233,-258 }, { 234,-258 }, { 235,-258 }, - { 236,-258 }, { 237,-258 }, { 238,-258 }, { 239,-258 }, { 240,-258 }, - { 241,-258 }, { 242,-258 }, { 243,-258 }, { 244,-258 }, { 245,-258 }, - { 246,-258 }, { 247,-258 }, { 248,-258 }, { 249,-258 }, { 250,-258 }, - { 251,-258 }, { 252,-258 }, { 253,-258 }, { 254,-258 }, { 255,-258 }, - - { 256,-258 }, { 0, 3 }, { 0,1371 }, { 0, 58 }, { 0,1369 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 62 }, { 0,1347 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 33, 0 }, { 0, 0 }, { 35, 0 }, { 0, 0 }, { 37, 0 }, - { 38, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 42, 0 }, - { 43, 0 }, { 0, 0 }, { 45, 0 }, { 0, 0 }, { 47, 0 }, + { 140, 0 }, { 141, 0 }, { 142, 0 }, { 143, 0 }, { 144, 0 }, + { 145, 0 }, { 146, 0 }, { 147, 0 }, { 148, 0 }, { 149, 0 }, + { 150, 0 }, { 151, 0 }, { 152, 0 }, { 153, 0 }, { 154, 0 }, + { 155, 0 }, { 156, 0 }, { 157, 0 }, { 158, 0 }, { 159, 0 }, + { 160, 0 }, { 161, 0 }, { 162, 0 }, { 163, 0 }, { 164, 0 }, + { 165, 0 }, { 166, 0 }, { 167, 0 }, { 168, 0 }, { 169, 0 }, + { 170, 0 }, { 171, 0 }, { 172, 0 }, { 173, 0 }, { 174, 0 }, + { 175, 0 }, { 176, 0 }, { 177, 0 }, { 178, 0 }, { 179, 0 }, + { 180, 0 }, { 181, 0 }, { 182, 0 }, { 183, 0 }, { 184, 0 }, + { 185, 0 }, { 186, 0 }, { 187, 0 }, { 188, 0 }, { 189, 0 }, - { 0, 0 }, { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, - { 51, 0 }, { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, - { 56, 0 }, { 57, 0 }, { 60, 0 }, { 61, 0 }, { 62, 0 }, - { 63, 0 }, { 64, 0 }, { 0, 60 }, { 0,1305 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 69,-3785 }, { 48, 42 }, - { 49, 42 }, { 50, 42 }, { 51, 42 }, { 52, 42 }, { 53, 42 }, - { 54, 42 }, { 55, 42 }, { 56, 42 }, { 57, 42 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 4 }, { 0,1279 }, - { 0, 0 }, { 94, 0 }, { 0, 0 }, { 96, 0 }, { 0, 0 }, + { 190, 0 }, { 191, 0 }, { 192, 0 }, { 193, 0 }, { 194, 0 }, + { 195, 0 }, { 196, 0 }, { 197, 0 }, { 198, 0 }, { 199, 0 }, + { 200, 0 }, { 201, 0 }, { 202, 0 }, { 203, 0 }, { 204, 0 }, + { 205, 0 }, { 206, 0 }, { 207, 0 }, { 208, 0 }, { 209, 0 }, + { 210, 0 }, { 211, 0 }, { 212, 0 }, { 213, 0 }, { 214, 0 }, + { 215, 0 }, { 216, 0 }, { 217, 0 }, { 218, 0 }, { 219, 0 }, + { 220, 0 }, { 221, 0 }, { 222, 0 }, { 223, 0 }, { 224, 0 }, + { 225, 0 }, { 226, 0 }, { 227, 0 }, { 228, 0 }, { 229, 0 }, + { 230, 0 }, { 231, 0 }, { 232, 0 }, { 233, 0 }, { 234, 0 }, + { 235, 0 }, { 236, 0 }, { 237, 0 }, { 238, 0 }, { 239, 0 }, + { 240, 0 }, { 241, 0 }, { 242, 0 }, { 243, 0 }, { 244, 0 }, + { 245, 0 }, { 246, 0 }, { 247, 0 }, { 248, 0 }, { 249, 0 }, + { 250, 0 }, { 251, 0 }, { 252, 0 }, { 253, 0 }, { 254, 0 }, + { 255, 0 }, { 0, 66 }, { 0,2305 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 101,-3785 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 30 }, { 0,1262 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 124, 0 }, { 33, 0 }, { 126, 0 }, { 35, 0 }, - { 0, 0 }, { 37, 0 }, { 38, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 42, 0 }, { 43, 0 }, { 0, 0 }, { 45, 0 }, - { 0, 0 }, { 47, 0 }, { 0, 28 }, { 0,1230 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 60, 0 }, - { 61, 0 }, { 62, 0 }, { 63, 0 }, { 64, 0 }, { 48,-9542 }, - { 49,-9542 }, { 50,-9542 }, { 51,-9542 }, { 52,-9542 }, { 53,-9542 }, - { 54,-9542 }, { 55,-9542 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-257 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 28 }, { 0,1192 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 94, 0 }, { 0, 0 }, - { 96, 0 }, { 48, 438 }, { 49, 438 }, { 50, 438 }, { 51, 438 }, - { 52, 438 }, { 53, 438 }, { 54, 438 }, { 55, 438 }, { 56, 438 }, + { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, { 52, 0 }, + { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, { 57, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,1367 }, { 66,1367 }, { 67,1367 }, + { 68,1367 }, { 69,1367 }, { 70,1367 }, { 71,1367 }, { 72,1367 }, + { 73,1367 }, { 74,1367 }, { 75,1367 }, { 76,1367 }, { 77,1367 }, + { 78,1367 }, { 79,1367 }, { 80,1367 }, { 81,1367 }, { 82,1367 }, + + { 83,1367 }, { 84,1367 }, { 85,1367 }, { 86,1367 }, { 87,1367 }, + { 88,1367 }, { 89,1367 }, { 90,1367 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,1624 }, { 0, 0 }, { 97,1367 }, + { 98,1367 }, { 99,1367 }, { 100,1367 }, { 101,1367 }, { 102,1367 }, + { 103,1367 }, { 104,1367 }, { 105,1367 }, { 106,1367 }, { 107,1367 }, + { 108,1367 }, { 109,1367 }, { 110,1367 }, { 111,1367 }, { 112,1367 }, + { 113,1367 }, { 114,1367 }, { 115,1367 }, { 116,1367 }, { 117,1367 }, + { 118,1367 }, { 119,1367 }, { 120,1367 }, { 121,1367 }, { 122,1367 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 128,1367 }, { 129,1367 }, { 130,1367 }, { 131,1367 }, { 132,1367 }, - { 57, 438 }, { 0, 0 }, { 0, 0 }, { 0, 31 }, { 0,1169 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 438 }, { 66, 438 }, - { 67, 438 }, { 68, 438 }, { 69, 438 }, { 70, 438 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 124, 0 }, { 0, 0 }, - { 126, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 423 }, - { 49, 423 }, { 50, 423 }, { 51, 423 }, { 52, 423 }, { 53, 423 }, - { 54, 423 }, { 55, 423 }, { 56, 423 }, { 57, 423 }, { 0, 0 }, - { 97, 438 }, { 98, 438 }, { 99, 438 }, { 100, 438 }, { 101, 438 }, - { 102, 438 }, { 65, 423 }, { 66, 423 }, { 67, 423 }, { 68, 423 }, - - { 69, 423 }, { 70, 423 }, { 48,-9621 }, { 49,-9621 }, { 50,-9621 }, - { 51,-9621 }, { 52,-9621 }, { 53,-9621 }, { 54,-9621 }, { 55,-9621 }, - { 56,-9621 }, { 57,-9621 }, { 0, 37 }, { 0,1110 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-9621 }, - { 66,-9621 }, { 67,-9621 }, { 68,-9621 }, { 69,-9621 }, { 70,-9621 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 423 }, { 98, 423 }, - { 99, 423 }, { 100, 423 }, { 101, 423 }, { 102, 423 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-9721 }, - - { 0, 0 }, { 97,-9621 }, { 98,-9621 }, { 99,-9621 }, { 100,-9621 }, - { 101,-9621 }, { 102,-9621 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 0 }, { 49, 0 }, { 50, 0 }, { 51, 0 }, - { 52, 0 }, { 53, 0 }, { 54, 0 }, { 55, 0 }, { 56, 0 }, - { 57, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 0 }, { 66, 0 }, - { 67, 0 }, { 68, 0 }, { 69, 0 }, { 70, 0 }, { 71, 0 }, - { 72, 0 }, { 73, 0 }, { 74, 0 }, { 75, 0 }, { 76, 0 }, - { 77, 0 }, { 78, 0 }, { 79, 0 }, { 80, 0 }, { 81, 0 }, - { 82, 0 }, { 83, 0 }, { 84, 0 }, { 85, 0 }, { 86, 0 }, + { 133,1367 }, { 134,1367 }, { 135,1367 }, { 136,1367 }, { 137,1367 }, + { 138,1367 }, { 139,1367 }, { 140,1367 }, { 141,1367 }, { 142,1367 }, + { 143,1367 }, { 144,1367 }, { 145,1367 }, { 146,1367 }, { 147,1367 }, + { 148,1367 }, { 149,1367 }, { 150,1367 }, { 151,1367 }, { 152,1367 }, + { 153,1367 }, { 154,1367 }, { 155,1367 }, { 156,1367 }, { 157,1367 }, + { 158,1367 }, { 159,1367 }, { 160,1367 }, { 161,1367 }, { 162,1367 }, + { 163,1367 }, { 164,1367 }, { 165,1367 }, { 166,1367 }, { 167,1367 }, + { 168,1367 }, { 169,1367 }, { 170,1367 }, { 171,1367 }, { 172,1367 }, + { 173,1367 }, { 174,1367 }, { 175,1367 }, { 176,1367 }, { 177,1367 }, + { 178,1367 }, { 179,1367 }, { 180,1367 }, { 181,1367 }, { 182,1367 }, + + { 183,1367 }, { 184,1367 }, { 185,1367 }, { 186,1367 }, { 187,1367 }, + { 188,1367 }, { 189,1367 }, { 190,1367 }, { 191,1367 }, { 192,1367 }, + { 193,1367 }, { 194,1367 }, { 195,1367 }, { 196,1367 }, { 197,1367 }, + { 198,1367 }, { 199,1367 }, { 200,1367 }, { 201,1367 }, { 202,1367 }, + { 203,1367 }, { 204,1367 }, { 205,1367 }, { 206,1367 }, { 207,1367 }, + { 208,1367 }, { 209,1367 }, { 210,1367 }, { 211,1367 }, { 212,1367 }, + { 213,1367 }, { 214,1367 }, { 215,1367 }, { 216,1367 }, { 217,1367 }, + { 218,1367 }, { 219,1367 }, { 220,1367 }, { 221,1367 }, { 222,1367 }, + { 223,1367 }, { 224,1367 }, { 225,1367 }, { 226,1367 }, { 227,1367 }, + { 228,1367 }, { 229,1367 }, { 230,1367 }, { 231,1367 }, { 232,1367 }, + + { 233,1367 }, { 234,1367 }, { 235,1367 }, { 236,1367 }, { 237,1367 }, + { 238,1367 }, { 239,1367 }, { 240,1367 }, { 241,1367 }, { 242,1367 }, + { 243,1367 }, { 244,1367 }, { 245,1367 }, { 246,1367 }, { 247,1367 }, + { 248,1367 }, { 249,1367 }, { 250,1367 }, { 251,1367 }, { 252,1367 }, + { 253,1367 }, { 254,1367 }, { 255,1367 }, { 0, 68 }, { 0,2048 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-1942 }, { 49,-1942 }, { 50,-1942 }, + { 51,-1942 }, { 52,-1942 }, { 53,-1942 }, { 54,-1942 }, { 55,-1942 }, + { 56,-1942 }, { 57,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1942 }, + { 66,-1942 }, { 67,-1942 }, { 68,-1942 }, { 69,-1942 }, { 70,-1942 }, + { 71,-1942 }, { 72,-1942 }, { 73,-1942 }, { 74,-1942 }, { 75,-1942 }, + + { 76,-1942 }, { 77,-1942 }, { 78,-1942 }, { 79,-1942 }, { 80,-1942 }, + { 81,-1942 }, { 82,-1942 }, { 83,-1942 }, { 84,-1942 }, { 85,-1942 }, + { 86,-1942 }, { 87,-1942 }, { 88,-1942 }, { 89,-1942 }, { 90,-1942 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-1942 }, + { 0, 0 }, { 97,-1942 }, { 98,-1942 }, { 99,-1942 }, { 100,-1942 }, + { 101,-1942 }, { 102,-1942 }, { 103,-1942 }, { 104,-1942 }, { 105,-1942 }, + { 106,-1942 }, { 107,-1942 }, { 108,-1942 }, { 109,-1942 }, { 110,-1942 }, + { 111,-1942 }, { 112,-1942 }, { 113,-1942 }, { 114,-1942 }, { 115,-1942 }, + { 116,-1942 }, { 117,-1942 }, { 118,-1942 }, { 119,-1942 }, { 120,-1942 }, + { 121,-1942 }, { 122,-1942 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 128,-1942 }, { 129,-1942 }, { 130,-1942 }, + { 131,-1942 }, { 132,-1942 }, { 133,-1942 }, { 134,-1942 }, { 135,-1942 }, + { 136,-1942 }, { 137,-1942 }, { 138,-1942 }, { 139,-1942 }, { 140,-1942 }, + { 141,-1942 }, { 142,-1942 }, { 143,-1942 }, { 144,-1942 }, { 145,-1942 }, + { 146,-1942 }, { 147,-1942 }, { 148,-1942 }, { 149,-1942 }, { 150,-1942 }, + { 151,-1942 }, { 152,-1942 }, { 153,-1942 }, { 154,-1942 }, { 155,-1942 }, + { 156,-1942 }, { 157,-1942 }, { 158,-1942 }, { 159,-1942 }, { 160,-1942 }, + { 161,-1942 }, { 162,-1942 }, { 163,-1942 }, { 164,-1942 }, { 165,-1942 }, + { 166,-1942 }, { 167,-1942 }, { 168,-1942 }, { 169,-1942 }, { 170,-1942 }, + { 171,-1942 }, { 172,-1942 }, { 173,-1942 }, { 174,-1942 }, { 175,-1942 }, - { 87, 0 }, { 88, 0 }, { 89, 0 }, { 90, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95, 0 }, { 0, 0 }, - { 97, 0 }, { 98, 0 }, { 99, 0 }, { 100, 0 }, { 101, 0 }, - { 102, 0 }, { 103, 0 }, { 104, 0 }, { 105, 0 }, { 106, 0 }, - { 107, 0 }, { 108, 0 }, { 109, 0 }, { 110, 0 }, { 111, 0 }, - { 112, 0 }, { 113, 0 }, { 114, 0 }, { 115, 0 }, { 116, 0 }, - { 117, 0 }, { 118, 0 }, { 119, 0 }, { 120, 0 }, { 121, 0 }, - { 122, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 128, 0 }, { 129, 0 }, { 130, 0 }, { 131, 0 }, - { 132, 0 }, { 133, 0 }, { 134, 0 }, { 135, 0 }, { 136, 0 }, + { 176,-1942 }, { 177,-1942 }, { 178,-1942 }, { 179,-1942 }, { 180,-1942 }, + { 181,-1942 }, { 182,-1942 }, { 183,-1942 }, { 184,-1942 }, { 185,-1942 }, + { 186,-1942 }, { 187,-1942 }, { 188,-1942 }, { 189,-1942 }, { 190,-1942 }, + { 191,-1942 }, { 192,-1942 }, { 193,-1942 }, { 194,-1942 }, { 195,-1942 }, + { 196,-1942 }, { 197,-1942 }, { 198,-1942 }, { 199,-1942 }, { 200,-1942 }, + { 201,-1942 }, { 202,-1942 }, { 203,-1942 }, { 204,-1942 }, { 205,-1942 }, + { 206,-1942 }, { 207,-1942 }, { 208,-1942 }, { 209,-1942 }, { 210,-1942 }, + { 211,-1942 }, { 212,-1942 }, { 213,-1942 }, { 214,-1942 }, { 215,-1942 }, + { 216,-1942 }, { 217,-1942 }, { 218,-1942 }, { 219,-1942 }, { 220,-1942 }, + { 221,-1942 }, { 222,-1942 }, { 223,-1942 }, { 224,-1942 }, { 225,-1942 }, + + { 226,-1942 }, { 227,-1942 }, { 228,-1942 }, { 229,-1942 }, { 230,-1942 }, + { 231,-1942 }, { 232,-1942 }, { 233,-1942 }, { 234,-1942 }, { 235,-1942 }, + { 236,-1942 }, { 237,-1942 }, { 238,-1942 }, { 239,-1942 }, { 240,-1942 }, + { 241,-1942 }, { 242,-1942 }, { 243,-1942 }, { 244,-1942 }, { 245,-1942 }, + { 246,-1942 }, { 247,-1942 }, { 248,-1942 }, { 249,-1942 }, { 250,-1942 }, + { 251,-1942 }, { 252,-1942 }, { 253,-1942 }, { 254,-1942 }, { 255,-1942 }, + { 0, 68 }, { 0,1791 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-2199 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1942 }, + { 49,-1942 }, { 50,-1942 }, { 51,-1942 }, { 52,-1942 }, { 53,-1942 }, + { 54,-1942 }, { 55,-1942 }, { 56,-1942 }, { 57,-1942 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-2199 }, { 66,-2199 }, { 67,-2199 }, { 68,-2199 }, + + { 69,-2199 }, { 70,-2199 }, { 71,-2199 }, { 72,-2199 }, { 73,-2199 }, + { 74,-2199 }, { 75,-2199 }, { 76,-2199 }, { 77,-2199 }, { 78,-2199 }, + { 79,-2199 }, { 80,-2199 }, { 81,-2199 }, { 82,-2199 }, { 83,-2199 }, + { 84,-2199 }, { 85,-2199 }, { 86,-2199 }, { 87,-2199 }, { 88,-2199 }, + { 89,-2199 }, { 90,-2199 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-2199 }, { 0, 0 }, { 97,-2199 }, { 98,-2199 }, + { 99,-2199 }, { 100,-2199 }, { 101,-2199 }, { 102,-2199 }, { 103,-2199 }, + { 104,-2199 }, { 105,-2199 }, { 106,-2199 }, { 107,-2199 }, { 108,-2199 }, + { 109,-2199 }, { 110,-2199 }, { 111,-2199 }, { 112,-2199 }, { 113,-2199 }, + { 114,-2199 }, { 115,-2199 }, { 116,-2199 }, { 117,-2199 }, { 118,-2199 }, + + { 119,-2199 }, { 120,-2199 }, { 121,-2199 }, { 122,-2199 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-2199 }, + { 129,-2199 }, { 130,-2199 }, { 131,-2199 }, { 132,-2199 }, { 133,-2199 }, + { 134,-2199 }, { 135,-2199 }, { 136,-2199 }, { 137,-2199 }, { 138,-2199 }, + { 139,-2199 }, { 140,-2199 }, { 141,-2199 }, { 142,-2199 }, { 143,-2199 }, + { 144,-2199 }, { 145,-2199 }, { 146,-2199 }, { 147,-2199 }, { 148,-2199 }, + { 149,-2199 }, { 150,-2199 }, { 151,-2199 }, { 152,-2199 }, { 153,-2199 }, + { 154,-2199 }, { 155,-2199 }, { 156,-2199 }, { 157,-2199 }, { 158,-2199 }, + { 159,-2199 }, { 160,-2199 }, { 161,-2199 }, { 162,-2199 }, { 163,-2199 }, + { 164,-2199 }, { 165,-2199 }, { 166,-2199 }, { 167,-2199 }, { 168,-2199 }, - { 137, 0 }, { 138, 0 }, { 139, 0 }, { 140, 0 }, { 141, 0 }, - { 142, 0 }, { 143, 0 }, { 144, 0 }, { 145, 0 }, { 146, 0 }, - { 147, 0 }, { 148, 0 }, { 149, 0 }, { 150, 0 }, { 151, 0 }, - { 152, 0 }, { 153, 0 }, { 154, 0 }, { 155, 0 }, { 156, 0 }, - { 157, 0 }, { 158, 0 }, { 159, 0 }, { 160, 0 }, { 161, 0 }, - { 162, 0 }, { 163, 0 }, { 164, 0 }, { 165, 0 }, { 166, 0 }, - { 167, 0 }, { 168, 0 }, { 169, 0 }, { 170, 0 }, { 171, 0 }, - { 172, 0 }, { 173, 0 }, { 174, 0 }, { 175, 0 }, { 176, 0 }, - { 177, 0 }, { 178, 0 }, { 179, 0 }, { 180, 0 }, { 181, 0 }, - { 182, 0 }, { 183, 0 }, { 184, 0 }, { 185, 0 }, { 186, 0 }, + { 169,-2199 }, { 170,-2199 }, { 171,-2199 }, { 172,-2199 }, { 173,-2199 }, + { 174,-2199 }, { 175,-2199 }, { 176,-2199 }, { 177,-2199 }, { 178,-2199 }, + { 179,-2199 }, { 180,-2199 }, { 181,-2199 }, { 182,-2199 }, { 183,-2199 }, + { 184,-2199 }, { 185,-2199 }, { 186,-2199 }, { 187,-2199 }, { 188,-2199 }, + { 189,-2199 }, { 190,-2199 }, { 191,-2199 }, { 192,-2199 }, { 193,-2199 }, + { 194,-2199 }, { 195,-2199 }, { 196,-2199 }, { 197,-2199 }, { 198,-2199 }, + { 199,-2199 }, { 200,-2199 }, { 201,-2199 }, { 202,-2199 }, { 203,-2199 }, + { 204,-2199 }, { 205,-2199 }, { 206,-2199 }, { 207,-2199 }, { 208,-2199 }, + { 209,-2199 }, { 210,-2199 }, { 211,-2199 }, { 212,-2199 }, { 213,-2199 }, + { 214,-2199 }, { 215,-2199 }, { 216,-2199 }, { 217,-2199 }, { 218,-2199 }, - { 187, 0 }, { 188, 0 }, { 189, 0 }, { 190, 0 }, { 191, 0 }, - { 192, 0 }, { 193, 0 }, { 194, 0 }, { 195, 0 }, { 196, 0 }, - { 197, 0 }, { 198, 0 }, { 199, 0 }, { 200, 0 }, { 201, 0 }, - { 202, 0 }, { 203, 0 }, { 204, 0 }, { 205, 0 }, { 206, 0 }, - { 207, 0 }, { 208, 0 }, { 209, 0 }, { 210, 0 }, { 211, 0 }, - { 212, 0 }, { 213, 0 }, { 214, 0 }, { 215, 0 }, { 216, 0 }, - { 217, 0 }, { 218, 0 }, { 219, 0 }, { 220, 0 }, { 221, 0 }, - { 222, 0 }, { 223, 0 }, { 224, 0 }, { 225, 0 }, { 226, 0 }, - { 227, 0 }, { 228, 0 }, { 229, 0 }, { 230, 0 }, { 231, 0 }, - { 232, 0 }, { 233, 0 }, { 234, 0 }, { 235, 0 }, { 236, 0 }, + { 219,-2199 }, { 220,-2199 }, { 221,-2199 }, { 222,-2199 }, { 223,-2199 }, + { 224,-2199 }, { 225,-2199 }, { 226,-2199 }, { 227,-2199 }, { 228,-2199 }, + { 229,-2199 }, { 230,-2199 }, { 231,-2199 }, { 232,-2199 }, { 233,-2199 }, + { 234,-2199 }, { 235,-2199 }, { 236,-2199 }, { 237,-2199 }, { 238,-2199 }, + { 239,-2199 }, { 240,-2199 }, { 241,-2199 }, { 242,-2199 }, { 243,-2199 }, + { 244,-2199 }, { 245,-2199 }, { 246,-2199 }, { 247,-2199 }, { 248,-2199 }, + { 249,-2199 }, { 250,-2199 }, { 251,-2199 }, { 252,-2199 }, { 253,-2199 }, + { 254,-2199 }, { 255,-2199 }, { 0, 28 }, { 0,1534 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 28 }, { 0,1511 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48,1110 }, { 49,1110 }, { 50,1110 }, { 51,1110 }, + { 52,1110 }, { 53,1110 }, { 54,1110 }, { 55,1110 }, { 56,1110 }, + { 57,1110 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,1110 }, { 66,1110 }, + { 67,1110 }, { 68,1110 }, { 69,1110 }, { 70,1110 }, { 48,1110 }, + { 49,1110 }, { 50,1110 }, { 51,1110 }, { 52,1110 }, { 53,1110 }, + { 54,1110 }, { 55,1110 }, { 56,1110 }, { 57,1110 }, { 0, 69 }, + { 0,1452 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,1110 }, { 66,1110 }, { 67,1110 }, { 68,1110 }, + { 69,1110 }, { 70,1110 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97,1110 }, { 98,1110 }, { 99,1110 }, { 100,1110 }, { 101,1110 }, + { 102,1110 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 36,-1881 }, { 0, 0 }, { 97,1110 }, { 98,1110 }, + { 99,1110 }, { 100,1110 }, { 101,1110 }, { 102,1110 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1881 }, { 49,-1881 }, + { 50,-1881 }, { 51,-1881 }, { 52,-1881 }, { 53,-1881 }, { 54,-1881 }, + { 55,-1881 }, { 56,-1881 }, { 57,-1881 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 65,-1881 }, { 66,-1881 }, { 67,-1881 }, { 68,-1881 }, { 69,-1881 }, + { 70,-1881 }, { 71,-1881 }, { 72,-1881 }, { 73,-1881 }, { 74,-1881 }, + { 75,-1881 }, { 76,-1881 }, { 77,-1881 }, { 78,-1881 }, { 79,-1881 }, - { 237, 0 }, { 238, 0 }, { 239, 0 }, { 240, 0 }, { 241, 0 }, - { 242, 0 }, { 243, 0 }, { 244, 0 }, { 245, 0 }, { 246, 0 }, - { 247, 0 }, { 248, 0 }, { 249, 0 }, { 250, 0 }, { 251, 0 }, - { 252, 0 }, { 253, 0 }, { 254, 0 }, { 255, 0 }, { 0, 28 }, - { 0, 853 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 830 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 143 }, { 49, 143 }, - { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, { 54, 143 }, - { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 0 }, { 0, 0 }, - { 0, 28 }, { 0, 792 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, { 69, 143 }, - { 70, 143 }, { 48, 143 }, { 49, 143 }, { 50, 143 }, { 51, 143 }, - { 52, 143 }, { 53, 143 }, { 54, 143 }, { 55, 143 }, { 56, 143 }, - - { 57, 143 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 769 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 143 }, { 66, 143 }, - { 67, 143 }, { 68, 143 }, { 69, 143 }, { 70, 143 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 97, 143 }, { 98, 143 }, { 99, 143 }, - { 100, 143 }, { 101, 143 }, { 102, 143 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 143 }, - { 49, 143 }, { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, - { 54, 143 }, { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 0 }, - { 97, 143 }, { 98, 143 }, { 99, 143 }, { 100, 143 }, { 101, 143 }, - { 102, 143 }, { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, - - { 69, 143 }, { 70, 143 }, { 48, 143 }, { 49, 143 }, { 50, 143 }, - { 51, 143 }, { 52, 143 }, { 53, 143 }, { 54, 143 }, { 55, 143 }, - { 56, 143 }, { 57, 143 }, { 0, 28 }, { 0, 710 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 143 }, - { 66, 143 }, { 67, 143 }, { 68, 143 }, { 69, 143 }, { 70, 143 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 143 }, { 98, 143 }, - { 99, 143 }, { 100, 143 }, { 101, 143 }, { 102, 143 }, { 0, 0 }, - { 0, 28 }, { 0, 687 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 97, 143 }, { 98, 143 }, { 99, 143 }, { 100, 143 }, - { 101, 143 }, { 102, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 48, 143 }, { 49, 143 }, { 50, 143 }, { 51, 143 }, - { 52, 143 }, { 53, 143 }, { 54, 143 }, { 55, 143 }, { 56, 143 }, - { 57, 143 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 649 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 143 }, { 66, 143 }, - { 67, 143 }, { 68, 143 }, { 69, 143 }, { 70, 143 }, { 48, 143 }, - { 49, 143 }, { 50, 143 }, { 51, 143 }, { 52, 143 }, { 53, 143 }, - { 54, 143 }, { 55, 143 }, { 56, 143 }, { 57, 143 }, { 0, 0 }, - { 0, 0 }, { 0, 28 }, { 0, 626 }, { 0, 0 }, { 0, 0 }, - - { 0, 0 }, { 65, 143 }, { 66, 143 }, { 67, 143 }, { 68, 143 }, - { 69, 143 }, { 70, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 97, 143 }, { 98, 143 }, { 99, 143 }, { 100, 143 }, { 101, 143 }, - { 102, 143 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48, 143 }, { 49, 143 }, { 50, 143 }, - { 51, 143 }, { 52, 143 }, { 53, 143 }, { 54, 143 }, { 55, 143 }, - { 56, 143 }, { 57, 143 }, { 0, 0 }, { 97, 143 }, { 98, 143 }, - { 99, 143 }, { 100, 143 }, { 101, 143 }, { 102, 143 }, { 65, 143 }, - { 66, 143 }, { 67, 143 }, { 68, 143 }, { 69, 143 }, { 70, 143 }, - { 48,-10162 }, { 49,-10162 }, { 50,-10162 }, { 51,-10162 }, { 52,-10162 }, - - { 53,-10162 }, { 54,-10162 }, { 55,-10162 }, { 56,-10162 }, { 57,-10162 }, - { 0, 28 }, { 0, 567 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,-10162 }, { 66,-10162 }, { 67,-10162 }, - { 68,-10162 }, { 69,-10162 }, { 70,-10162 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 97, 143 }, { 98, 143 }, { 99, 143 }, { 100, 143 }, - { 101, 143 }, { 102, 143 }, { 0, 0 }, { 0, 28 }, { 0, 544 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-10162 }, - { 98,-10162 }, { 99,-10162 }, { 100,-10162 }, { 101,-10162 }, { 102,-10162 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 84 }, - { 49, 84 }, { 50, 84 }, { 51, 84 }, { 52, 84 }, { 53, 84 }, - { 54, 84 }, { 55, 84 }, { 56, 84 }, { 57, 84 }, { 0, 0 }, - { 0, 0 }, { 0, 28 }, { 0, 506 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 65, 84 }, { 66, 84 }, { 67, 84 }, { 68, 84 }, - { 69, 84 }, { 70, 84 }, { 48,-10242 }, { 49,-10242 }, { 50,-10242 }, - { 51,-10242 }, { 52,-10242 }, { 53,-10242 }, { 54,-10242 }, { 55,-10242 }, - { 56,-10242 }, { 57,-10242 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, - { 0, 483 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-10242 }, - { 66,-10242 }, { 67,-10242 }, { 68,-10242 }, { 69,-10242 }, { 70,-10242 }, - - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 84 }, { 98, 84 }, - { 99, 84 }, { 100, 84 }, { 101, 84 }, { 102, 84 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48, 82 }, { 49, 82 }, { 50, 82 }, { 51, 82 }, { 52, 82 }, - { 53, 82 }, { 54, 82 }, { 55, 82 }, { 56, 82 }, { 57, 82 }, - { 0, 0 }, { 97,-10242 }, { 98,-10242 }, { 99,-10242 }, { 100,-10242 }, - { 101,-10242 }, { 102,-10242 }, { 65, 82 }, { 66, 82 }, { 67, 82 }, - { 68, 82 }, { 69, 82 }, { 70, 82 }, { 48, 82 }, { 49, 82 }, - { 50, 82 }, { 51, 82 }, { 52, 82 }, { 53, 82 }, { 54, 82 }, - { 55, 82 }, { 56, 82 }, { 57, 82 }, { 0, 28 }, { 0, 424 }, + { 80,-1881 }, { 81,-1881 }, { 82,-1881 }, { 83,-1881 }, { 84,-1881 }, + { 85,-1881 }, { 86,-1881 }, { 87,-1881 }, { 88,-1881 }, { 89,-1881 }, + { 90,-1881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 95,-1881 }, { 0, 0 }, { 97,-1881 }, { 98,-1881 }, { 99,-1881 }, + { 100,-1881 }, { 101,-1881 }, { 102,-1881 }, { 103,-1881 }, { 104,-1881 }, + { 105,-1881 }, { 106,-1881 }, { 107,-1881 }, { 108,-1881 }, { 109,-1881 }, + { 110,-1881 }, { 111,-1881 }, { 112,-1881 }, { 113,-1881 }, { 114,-1881 }, + { 115,-1881 }, { 116,-1881 }, { 117,-1881 }, { 118,-1881 }, { 119,-1881 }, + { 120,-1881 }, { 121,-1881 }, { 122,-1881 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1881 }, { 129,-1881 }, + + { 130,-1881 }, { 131,-1881 }, { 132,-1881 }, { 133,-1881 }, { 134,-1881 }, + { 135,-1881 }, { 136,-1881 }, { 137,-1881 }, { 138,-1881 }, { 139,-1881 }, + { 140,-1881 }, { 141,-1881 }, { 142,-1881 }, { 143,-1881 }, { 144,-1881 }, + { 145,-1881 }, { 146,-1881 }, { 147,-1881 }, { 148,-1881 }, { 149,-1881 }, + { 150,-1881 }, { 151,-1881 }, { 152,-1881 }, { 153,-1881 }, { 154,-1881 }, + { 155,-1881 }, { 156,-1881 }, { 157,-1881 }, { 158,-1881 }, { 159,-1881 }, + { 160,-1881 }, { 161,-1881 }, { 162,-1881 }, { 163,-1881 }, { 164,-1881 }, + { 165,-1881 }, { 166,-1881 }, { 167,-1881 }, { 168,-1881 }, { 169,-1881 }, + { 170,-1881 }, { 171,-1881 }, { 172,-1881 }, { 173,-1881 }, { 174,-1881 }, + { 175,-1881 }, { 176,-1881 }, { 177,-1881 }, { 178,-1881 }, { 179,-1881 }, + + { 180,-1881 }, { 181,-1881 }, { 182,-1881 }, { 183,-1881 }, { 184,-1881 }, + { 185,-1881 }, { 186,-1881 }, { 187,-1881 }, { 188,-1881 }, { 189,-1881 }, + { 190,-1881 }, { 191,-1881 }, { 192,-1881 }, { 193,-1881 }, { 194,-1881 }, + { 195,-1881 }, { 196,-1881 }, { 197,-1881 }, { 198,-1881 }, { 199,-1881 }, + { 200,-1881 }, { 201,-1881 }, { 202,-1881 }, { 203,-1881 }, { 204,-1881 }, + { 205,-1881 }, { 206,-1881 }, { 207,-1881 }, { 208,-1881 }, { 209,-1881 }, + { 210,-1881 }, { 211,-1881 }, { 212,-1881 }, { 213,-1881 }, { 214,-1881 }, + { 215,-1881 }, { 216,-1881 }, { 217,-1881 }, { 218,-1881 }, { 219,-1881 }, + { 220,-1881 }, { 221,-1881 }, { 222,-1881 }, { 223,-1881 }, { 224,-1881 }, + { 225,-1881 }, { 226,-1881 }, { 227,-1881 }, { 228,-1881 }, { 229,-1881 }, + + { 230,-1881 }, { 231,-1881 }, { 232,-1881 }, { 233,-1881 }, { 234,-1881 }, + { 235,-1881 }, { 236,-1881 }, { 237,-1881 }, { 238,-1881 }, { 239,-1881 }, + { 240,-1881 }, { 241,-1881 }, { 242,-1881 }, { 243,-1881 }, { 244,-1881 }, + { 245,-1881 }, { 246,-1881 }, { 247,-1881 }, { 248,-1881 }, { 249,-1881 }, + { 250,-1881 }, { 251,-1881 }, { 252,-1881 }, { 253,-1881 }, { 254,-1881 }, + { 255,-1881 }, { 0, 69 }, { 0,1195 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 36,-2138 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 48,-1881 }, { 49,-1881 }, { 50,-1881 }, { 51,-1881 }, { 52,-1881 }, + { 53,-1881 }, { 54,-1881 }, { 55,-1881 }, { 56,-1881 }, { 57,-1881 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65,-2138 }, { 66,-2138 }, { 67,-2138 }, + { 68,-2138 }, { 69,-2138 }, { 70,-2138 }, { 71,-2138 }, { 72,-2138 }, + + { 73,-2138 }, { 74,-2138 }, { 75,-2138 }, { 76,-2138 }, { 77,-2138 }, + { 78,-2138 }, { 79,-2138 }, { 80,-2138 }, { 81,-2138 }, { 82,-2138 }, + { 83,-2138 }, { 84,-2138 }, { 85,-2138 }, { 86,-2138 }, { 87,-2138 }, + { 88,-2138 }, { 89,-2138 }, { 90,-2138 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 95,-2138 }, { 0, 0 }, { 97,-2138 }, + { 98,-2138 }, { 99,-2138 }, { 100,-2138 }, { 101,-2138 }, { 102,-2138 }, + { 103,-2138 }, { 104,-2138 }, { 105,-2138 }, { 106,-2138 }, { 107,-2138 }, + { 108,-2138 }, { 109,-2138 }, { 110,-2138 }, { 111,-2138 }, { 112,-2138 }, + { 113,-2138 }, { 114,-2138 }, { 115,-2138 }, { 116,-2138 }, { 117,-2138 }, + { 118,-2138 }, { 119,-2138 }, { 120,-2138 }, { 121,-2138 }, { 122,-2138 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65, 82 }, { 66, 82 }, { 67, 82 }, { 68, 82 }, { 69, 82 }, - { 70, 82 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 82 }, - { 98, 82 }, { 99, 82 }, { 100, 82 }, { 101, 82 }, { 102, 82 }, - { 0, 0 }, { 0, 28 }, { 0, 401 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 97, 82 }, { 98, 82 }, { 99, 82 }, - { 100, 82 }, { 101, 82 }, { 102, 82 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 48, 61 }, { 49, 61 }, { 50, 61 }, + { 128,-2138 }, { 129,-2138 }, { 130,-2138 }, { 131,-2138 }, { 132,-2138 }, + { 133,-2138 }, { 134,-2138 }, { 135,-2138 }, { 136,-2138 }, { 137,-2138 }, + { 138,-2138 }, { 139,-2138 }, { 140,-2138 }, { 141,-2138 }, { 142,-2138 }, + { 143,-2138 }, { 144,-2138 }, { 145,-2138 }, { 146,-2138 }, { 147,-2138 }, + { 148,-2138 }, { 149,-2138 }, { 150,-2138 }, { 151,-2138 }, { 152,-2138 }, + { 153,-2138 }, { 154,-2138 }, { 155,-2138 }, { 156,-2138 }, { 157,-2138 }, + { 158,-2138 }, { 159,-2138 }, { 160,-2138 }, { 161,-2138 }, { 162,-2138 }, + { 163,-2138 }, { 164,-2138 }, { 165,-2138 }, { 166,-2138 }, { 167,-2138 }, + { 168,-2138 }, { 169,-2138 }, { 170,-2138 }, { 171,-2138 }, { 172,-2138 }, + + { 173,-2138 }, { 174,-2138 }, { 175,-2138 }, { 176,-2138 }, { 177,-2138 }, + { 178,-2138 }, { 179,-2138 }, { 180,-2138 }, { 181,-2138 }, { 182,-2138 }, + { 183,-2138 }, { 184,-2138 }, { 185,-2138 }, { 186,-2138 }, { 187,-2138 }, + { 188,-2138 }, { 189,-2138 }, { 190,-2138 }, { 191,-2138 }, { 192,-2138 }, + { 193,-2138 }, { 194,-2138 }, { 195,-2138 }, { 196,-2138 }, { 197,-2138 }, + { 198,-2138 }, { 199,-2138 }, { 200,-2138 }, { 201,-2138 }, { 202,-2138 }, + { 203,-2138 }, { 204,-2138 }, { 205,-2138 }, { 206,-2138 }, { 207,-2138 }, + { 208,-2138 }, { 209,-2138 }, { 210,-2138 }, { 211,-2138 }, { 212,-2138 }, + { 213,-2138 }, { 214,-2138 }, { 215,-2138 }, { 216,-2138 }, { 217,-2138 }, + { 218,-2138 }, { 219,-2138 }, { 220,-2138 }, { 221,-2138 }, { 222,-2138 }, + + { 223,-2138 }, { 224,-2138 }, { 225,-2138 }, { 226,-2138 }, { 227,-2138 }, + { 228,-2138 }, { 229,-2138 }, { 230,-2138 }, { 231,-2138 }, { 232,-2138 }, + { 233,-2138 }, { 234,-2138 }, { 235,-2138 }, { 236,-2138 }, { 237,-2138 }, + { 238,-2138 }, { 239,-2138 }, { 240,-2138 }, { 241,-2138 }, { 242,-2138 }, + { 243,-2138 }, { 244,-2138 }, { 245,-2138 }, { 246,-2138 }, { 247,-2138 }, + { 248,-2138 }, { 249,-2138 }, { 250,-2138 }, { 251,-2138 }, { 252,-2138 }, + { 253,-2138 }, { 254,-2138 }, { 255,-2138 }, { 0, 70 }, { 0, 938 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 36,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48,-1624 }, { 49,-1624 }, { 50,-1624 }, + { 51,-1624 }, { 52,-1624 }, { 53,-1624 }, { 54,-1624 }, { 55,-1624 }, + { 56,-1624 }, { 57,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-1624 }, + + { 66,-1624 }, { 67,-1624 }, { 68,-1624 }, { 69,-1624 }, { 70,-1624 }, + { 71,-1624 }, { 72,-1624 }, { 73,-1624 }, { 74,-1624 }, { 75,-1624 }, + { 76,-1624 }, { 77,-1624 }, { 78,-1624 }, { 79,-1624 }, { 80,-1624 }, + { 81,-1624 }, { 82,-1624 }, { 83,-1624 }, { 84,-1624 }, { 85,-1624 }, + { 86,-1624 }, { 87,-1624 }, { 88,-1624 }, { 89,-1624 }, { 90,-1624 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 95,-1624 }, + { 0, 0 }, { 97,-1624 }, { 98,-1624 }, { 99,-1624 }, { 100,-1624 }, + { 101,-1624 }, { 102,-1624 }, { 103,-1624 }, { 104,-1624 }, { 105,-1624 }, + { 106,-1624 }, { 107,-1624 }, { 108,-1624 }, { 109,-1624 }, { 110,-1624 }, + { 111,-1624 }, { 112,-1624 }, { 113,-1624 }, { 114,-1624 }, { 115,-1624 }, + + { 116,-1624 }, { 117,-1624 }, { 118,-1624 }, { 119,-1624 }, { 120,-1624 }, + { 121,-1624 }, { 122,-1624 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 128,-1624 }, { 129,-1624 }, { 130,-1624 }, + { 131,-1624 }, { 132,-1624 }, { 133,-1624 }, { 134,-1624 }, { 135,-1624 }, + { 136,-1624 }, { 137,-1624 }, { 138,-1624 }, { 139,-1624 }, { 140,-1624 }, + { 141,-1624 }, { 142,-1624 }, { 143,-1624 }, { 144,-1624 }, { 145,-1624 }, + { 146,-1624 }, { 147,-1624 }, { 148,-1624 }, { 149,-1624 }, { 150,-1624 }, + { 151,-1624 }, { 152,-1624 }, { 153,-1624 }, { 154,-1624 }, { 155,-1624 }, + { 156,-1624 }, { 157,-1624 }, { 158,-1624 }, { 159,-1624 }, { 160,-1624 }, + { 161,-1624 }, { 162,-1624 }, { 163,-1624 }, { 164,-1624 }, { 165,-1624 }, - { 51, 61 }, { 52, 61 }, { 53, 61 }, { 54, 61 }, { 55, 61 }, - { 56, 61 }, { 57, 61 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, - { 0, 363 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 61 }, - { 66, 61 }, { 67, 61 }, { 68, 61 }, { 69, 61 }, { 70, 61 }, - { 48, 61 }, { 49, 61 }, { 50, 61 }, { 51, 61 }, { 52, 61 }, - { 53, 61 }, { 54, 61 }, { 55, 61 }, { 56, 61 }, { 57, 61 }, - { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 340 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65, 61 }, { 66, 61 }, { 67, 61 }, - { 68, 61 }, { 69, 61 }, { 70, 61 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 97, 61 }, { 98, 61 }, { 99, 61 }, { 100, 61 }, + { 166,-1624 }, { 167,-1624 }, { 168,-1624 }, { 169,-1624 }, { 170,-1624 }, + { 171,-1624 }, { 172,-1624 }, { 173,-1624 }, { 174,-1624 }, { 175,-1624 }, + { 176,-1624 }, { 177,-1624 }, { 178,-1624 }, { 179,-1624 }, { 180,-1624 }, + { 181,-1624 }, { 182,-1624 }, { 183,-1624 }, { 184,-1624 }, { 185,-1624 }, + { 186,-1624 }, { 187,-1624 }, { 188,-1624 }, { 189,-1624 }, { 190,-1624 }, + { 191,-1624 }, { 192,-1624 }, { 193,-1624 }, { 194,-1624 }, { 195,-1624 }, + { 196,-1624 }, { 197,-1624 }, { 198,-1624 }, { 199,-1624 }, { 200,-1624 }, + { 201,-1624 }, { 202,-1624 }, { 203,-1624 }, { 204,-1624 }, { 205,-1624 }, + { 206,-1624 }, { 207,-1624 }, { 208,-1624 }, { 209,-1624 }, { 210,-1624 }, + { 211,-1624 }, { 212,-1624 }, { 213,-1624 }, { 214,-1624 }, { 215,-1624 }, - { 101, 61 }, { 102, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48, 82 }, { 49, 82 }, - { 50, 82 }, { 51, 82 }, { 52, 82 }, { 53, 82 }, { 54, 82 }, - { 55, 82 }, { 56, 82 }, { 57, 82 }, { 0, 0 }, { 97, 61 }, - { 98, 61 }, { 99, 61 }, { 100, 61 }, { 101, 61 }, { 102, 61 }, - { 65, 82 }, { 66, 82 }, { 67, 82 }, { 68, 82 }, { 69, 82 }, - { 70, 82 }, { 48, 82 }, { 49, 82 }, { 50, 82 }, { 51, 82 }, - { 52, 82 }, { 53, 82 }, { 54, 82 }, { 55, 82 }, { 56, 82 }, - { 57, 82 }, { 0, 28 }, { 0, 281 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 82 }, { 66, 82 }, + { 216,-1624 }, { 217,-1624 }, { 218,-1624 }, { 219,-1624 }, { 220,-1624 }, + { 221,-1624 }, { 222,-1624 }, { 223,-1624 }, { 224,-1624 }, { 225,-1624 }, + { 226,-1624 }, { 227,-1624 }, { 228,-1624 }, { 229,-1624 }, { 230,-1624 }, + { 231,-1624 }, { 232,-1624 }, { 233,-1624 }, { 234,-1624 }, { 235,-1624 }, + { 236,-1624 }, { 237,-1624 }, { 238,-1624 }, { 239,-1624 }, { 240,-1624 }, + { 241,-1624 }, { 242,-1624 }, { 243,-1624 }, { 244,-1624 }, { 245,-1624 }, + { 246,-1624 }, { 247,-1624 }, { 248,-1624 }, { 249,-1624 }, { 250,-1624 }, + { 251,-1624 }, { 252,-1624 }, { 253,-1624 }, { 254,-1624 }, { 255,-1624 }, + { 0, 70 }, { 0, 681 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 36,-1881 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-1624 }, + { 49,-1624 }, { 50,-1624 }, { 51,-1624 }, { 52,-1624 }, { 53,-1624 }, + { 54,-1624 }, { 55,-1624 }, { 56,-1624 }, { 57,-1624 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65,-1881 }, { 66,-1881 }, { 67,-1881 }, { 68,-1881 }, + { 69,-1881 }, { 70,-1881 }, { 71,-1881 }, { 72,-1881 }, { 73,-1881 }, + { 74,-1881 }, { 75,-1881 }, { 76,-1881 }, { 77,-1881 }, { 78,-1881 }, + { 79,-1881 }, { 80,-1881 }, { 81,-1881 }, { 82,-1881 }, { 83,-1881 }, + { 84,-1881 }, { 85,-1881 }, { 86,-1881 }, { 87,-1881 }, { 88,-1881 }, + { 89,-1881 }, { 90,-1881 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 95,-1881 }, { 0, 0 }, { 97,-1881 }, { 98,-1881 }, + { 99,-1881 }, { 100,-1881 }, { 101,-1881 }, { 102,-1881 }, { 103,-1881 }, + { 104,-1881 }, { 105,-1881 }, { 106,-1881 }, { 107,-1881 }, { 108,-1881 }, + + { 109,-1881 }, { 110,-1881 }, { 111,-1881 }, { 112,-1881 }, { 113,-1881 }, + { 114,-1881 }, { 115,-1881 }, { 116,-1881 }, { 117,-1881 }, { 118,-1881 }, + { 119,-1881 }, { 120,-1881 }, { 121,-1881 }, { 122,-1881 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 128,-1881 }, + { 129,-1881 }, { 130,-1881 }, { 131,-1881 }, { 132,-1881 }, { 133,-1881 }, + { 134,-1881 }, { 135,-1881 }, { 136,-1881 }, { 137,-1881 }, { 138,-1881 }, + { 139,-1881 }, { 140,-1881 }, { 141,-1881 }, { 142,-1881 }, { 143,-1881 }, + { 144,-1881 }, { 145,-1881 }, { 146,-1881 }, { 147,-1881 }, { 148,-1881 }, + { 149,-1881 }, { 150,-1881 }, { 151,-1881 }, { 152,-1881 }, { 153,-1881 }, + { 154,-1881 }, { 155,-1881 }, { 156,-1881 }, { 157,-1881 }, { 158,-1881 }, + + { 159,-1881 }, { 160,-1881 }, { 161,-1881 }, { 162,-1881 }, { 163,-1881 }, + { 164,-1881 }, { 165,-1881 }, { 166,-1881 }, { 167,-1881 }, { 168,-1881 }, + { 169,-1881 }, { 170,-1881 }, { 171,-1881 }, { 172,-1881 }, { 173,-1881 }, + { 174,-1881 }, { 175,-1881 }, { 176,-1881 }, { 177,-1881 }, { 178,-1881 }, + { 179,-1881 }, { 180,-1881 }, { 181,-1881 }, { 182,-1881 }, { 183,-1881 }, + { 184,-1881 }, { 185,-1881 }, { 186,-1881 }, { 187,-1881 }, { 188,-1881 }, + { 189,-1881 }, { 190,-1881 }, { 191,-1881 }, { 192,-1881 }, { 193,-1881 }, + { 194,-1881 }, { 195,-1881 }, { 196,-1881 }, { 197,-1881 }, { 198,-1881 }, + { 199,-1881 }, { 200,-1881 }, { 201,-1881 }, { 202,-1881 }, { 203,-1881 }, + { 204,-1881 }, { 205,-1881 }, { 206,-1881 }, { 207,-1881 }, { 208,-1881 }, + + { 209,-1881 }, { 210,-1881 }, { 211,-1881 }, { 212,-1881 }, { 213,-1881 }, + { 214,-1881 }, { 215,-1881 }, { 216,-1881 }, { 217,-1881 }, { 218,-1881 }, + { 219,-1881 }, { 220,-1881 }, { 221,-1881 }, { 222,-1881 }, { 223,-1881 }, + { 224,-1881 }, { 225,-1881 }, { 226,-1881 }, { 227,-1881 }, { 228,-1881 }, + { 229,-1881 }, { 230,-1881 }, { 231,-1881 }, { 232,-1881 }, { 233,-1881 }, + { 234,-1881 }, { 235,-1881 }, { 236,-1881 }, { 237,-1881 }, { 238,-1881 }, + { 239,-1881 }, { 240,-1881 }, { 241,-1881 }, { 242,-1881 }, { 243,-1881 }, + { 244,-1881 }, { 245,-1881 }, { 246,-1881 }, { 247,-1881 }, { 248,-1881 }, + { 249,-1881 }, { 250,-1881 }, { 251,-1881 }, { 252,-1881 }, { 253,-1881 }, + { 254,-1881 }, { 255,-1881 }, { 0, 28 }, { 0, 424 }, { 0, 0 }, + + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 28 }, { 0, 401 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 48, 61 }, { 49, 61 }, { 50, 61 }, { 51, 61 }, + + { 52, 61 }, { 53, 61 }, { 54, 61 }, { 55, 61 }, { 56, 61 }, + { 57, 61 }, { 0, 0 }, { 0, 0 }, { 0, 28 }, { 0, 363 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65, 61 }, { 66, 61 }, + { 67, 61 }, { 68, 61 }, { 69, 61 }, { 70, 61 }, { 48, 61 }, + { 49, 61 }, { 50, 61 }, { 51, 61 }, { 52, 61 }, { 53, 61 }, + { 54, 61 }, { 55, 61 }, { 56, 61 }, { 57, 61 }, { 0, 0 }, + { 0, 0 }, { 0, 28 }, { 0, 340 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 65, 61 }, { 66, 61 }, { 67, 61 }, { 68, 61 }, + { 69, 61 }, { 70, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 97, 61 }, { 98, 61 }, { 99, 61 }, { 100, 61 }, { 101, 61 }, + + { 102, 61 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 48, 82 }, { 49, 82 }, { 50, 82 }, + { 51, 82 }, { 52, 82 }, { 53, 82 }, { 54, 82 }, { 55, 82 }, + { 56, 82 }, { 57, 82 }, { 0, 0 }, { 97, 61 }, { 98, 61 }, + { 99, 61 }, { 100, 61 }, { 101, 61 }, { 102, 61 }, { 65, 82 }, + { 66, 82 }, { 67, 82 }, { 68, 82 }, { 69, 82 }, { 70, 82 }, + { 48, 82 }, { 49, 82 }, { 50, 82 }, { 51, 82 }, { 52, 82 }, + { 53, 82 }, { 54, 82 }, { 55, 82 }, { 56, 82 }, { 57, 82 }, + { 0, 28 }, { 0, 281 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 65, 82 }, { 66, 82 }, { 67, 82 }, - { 67, 82 }, { 68, 82 }, { 69, 82 }, { 70, 82 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 97, 82 }, { 98, 82 }, { 99, 82 }, - { 100, 82 }, { 101, 82 }, { 102, 82 }, { 0, 0 }, { 0, 28 }, - { 0, 258 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 68, 82 }, { 69, 82 }, { 70, 82 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97, 82 }, { 98, 82 }, { 99, 82 }, { 100, 82 }, + { 101, 82 }, { 102, 82 }, { 0, 0 }, { 0, 28 }, { 0, 258 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 97, 82 }, { 98, 82 }, { 99, 82 }, { 100, 82 }, { 101, 82 }, - { 102, 82 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 48,-10507 }, { 49,-10507 }, { 50,-10507 }, { 51,-10507 }, { 52,-10507 }, - { 53,-10507 }, { 54,-10507 }, { 55,-10507 }, { 56,-10507 }, { 57,-10507 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97, 82 }, + { 98, 82 }, { 99, 82 }, { 100, 82 }, { 101, 82 }, { 102, 82 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 48,-26506 }, + { 49,-26506 }, { 50,-26506 }, { 51,-26506 }, { 52,-26506 }, { 53,-26506 }, + { 54,-26506 }, { 55,-26506 }, { 56,-26506 }, { 57,-26506 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 65,-10507 }, { 66,-10507 }, { 67,-10507 }, - { 68,-10507 }, { 69,-10507 }, { 70,-10507 }, { 48,-10528 }, { 49,-10528 }, - { 50,-10528 }, { 51,-10528 }, { 52,-10528 }, { 53,-10528 }, { 54,-10528 }, - { 55,-10528 }, { 56,-10528 }, { 57,-10528 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 65,-10528 }, { 66,-10528 }, { 67,-10528 }, { 68,-10528 }, { 69,-10528 }, - { 70,-10528 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-10507 }, - { 98,-10507 }, { 99,-10507 }, { 100,-10507 }, { 101,-10507 }, { 102,-10507 }, + { 0, 0 }, { 65,-26506 }, { 66,-26506 }, { 67,-26506 }, { 68,-26506 }, + { 69,-26506 }, { 70,-26506 }, { 48,-26527 }, { 49,-26527 }, { 50,-26527 }, + { 51,-26527 }, { 52,-26527 }, { 53,-26527 }, { 54,-26527 }, { 55,-26527 }, + { 56,-26527 }, { 57,-26527 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 65,-26527 }, + { 66,-26527 }, { 67,-26527 }, { 68,-26527 }, { 69,-26527 }, { 70,-26527 }, + { 0, 0 }, { 0, 0 }, { 0, 0 }, { 97,-26506 }, { 98,-26506 }, + { 99,-26506 }, { 100,-26506 }, { 101,-26506 }, { 102,-26506 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 97,-10528 }, { 98,-10528 }, { 99,-10528 }, - { 100,-10528 }, { 101,-10528 }, { 102,-10528 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 97,-26527 }, { 98,-26527 }, { 99,-26527 }, { 100,-26527 }, + { 101,-26527 }, { 102,-26527 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, @@ -4502,7 +8024,7 @@ static const struct yy_trans_info yy_transition[17678] = { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, - { 0, 0 }, { 0, 0 }, { 257, 66 }, { 1, 0 }, }; + { 0, 0 }, { 257, 74 }, { 1, 0 }, }; static __thread const struct yy_trans_info *yy_start_state_list[25] = { @@ -4544,7 +8066,7 @@ static __thread const struct yy_trans_info *yy_start_state_list[25] = #define YY_RESTORE_YY_MORE_OFFSET #line 1 "scan.l" -#line 47 "scan.l" +#line 49 "scan.l" /* LCOV_EXCL_START */ @@ -4628,7 +8150,7 @@ static void addlit(char *ytext, int yleng, core_yyscan_t yyscanner); static void addlitchar(unsigned char ychar, core_yyscan_t yyscanner); static char *litbufdup(core_yyscan_t yyscanner); static unsigned char unescape_single_char(unsigned char c, core_yyscan_t yyscanner); -static int process_integer_literal(const char *token, YYSTYPE *lval); +static int process_integer_literal(const char *token, YYSTYPE *lval, int base); static void addunicode(pg_wchar c, yyscan_t yyscanner); #define yyerror(msg) scanner_yyerror(msg, yyscanner) @@ -4647,7 +8169,7 @@ static void check_escape_warning(core_yyscan_t yyscanner); extern int core_yyget_column(yyscan_t yyscanner); extern void core_yyset_column(int column_no, yyscan_t yyscanner); -#line 4601 "scan.c" +#line 8123 "scan.c" #define YY_NO_INPUT 1 /* * OK, here is a short description of lex/flex rules behavior. @@ -4688,7 +8210,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * versions of Postgres failed to recognize -- as a comment if the input * did not end with a newline. * - * XXX perhaps \f (formfeed) should be treated as a newline as well? + * non_newline_space tracks all the other space characters except newlines. * * XXX if you change the set of whitespace characters, fix scanner_isspace() * to agree. @@ -4780,11 +8302,29 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * Unary minus is not part of a number here. Instead we pass it separately to * the parser, and there it gets coerced via doNegate(). * - * {decimalfail} is used because we would like "1..10" to lex as 1, dot_dot, 10. + * {numericfail} is used because we would like "1..10" to lex as 1, dot_dot, 10. * - * {realfail1} and {realfail2} are added to prevent the need for scanner + * {realfail} is added to prevent the need for scanner * backup when the {real} rule fails to match completely. */ +/* Positional parameters don't accept underscores. */ +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ /* * Dollar quoted strings are totally opaque, and no escaping is done on them. * Other quoted strings must allow some special characters such as single-quote @@ -4797,7 +8337,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner); * Note that xcstart must appear before operator, as explained above! * Also whitespace (comment) must appear before operator. */ -#line 4751 "scan.c" +#line 8291 "scan.c" #define INITIAL 0 #define xb 1 @@ -5090,10 +8630,10 @@ YY_DECL } { -#line 419 "scan.l" +#line 454 "scan.l" -#line 5047 "scan.c" +#line 8587 "scan.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -5133,14 +8673,14 @@ YY_DECL case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 421 "scan.l" +#line 456 "scan.l" { /* ignore */ } YY_BREAK case 2: YY_RULE_SETUP -#line 425 "scan.l" +#line 460 "scan.l" { SET_YYLLOC(); return SQL_COMMENT; @@ -5148,7 +8688,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 430 "scan.l" +#line 465 "scan.l" { /* Set location in case of syntax error in comment */ SET_YYLLOC(); @@ -5161,7 +8701,7 @@ YY_RULE_SETUP case 4: YY_RULE_SETUP -#line 440 "scan.l" +#line 475 "scan.l" { (yyextra->xcdepth)++; /* Put back any characters past slash-star; see above */ @@ -5170,7 +8710,7 @@ YY_RULE_SETUP YY_BREAK case 5: YY_RULE_SETUP -#line 446 "scan.l" +#line 481 "scan.l" { if (yyextra->xcdepth <= 0) { @@ -5185,27 +8725,27 @@ YY_RULE_SETUP case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 457 "scan.l" +#line 492 "scan.l" { /* ignore */ } YY_BREAK case 7: YY_RULE_SETUP -#line 461 "scan.l" +#line 496 "scan.l" { /* ignore */ } YY_BREAK case 8: YY_RULE_SETUP -#line 465 "scan.l" +#line 500 "scan.l" { /* ignore */ } YY_BREAK case YY_STATE_EOF(xc): -#line 469 "scan.l" +#line 504 "scan.l" { yyerror("unterminated /* comment"); } @@ -5213,7 +8753,7 @@ case YY_STATE_EOF(xc): /* */ case 9: YY_RULE_SETUP -#line 474 "scan.l" +#line 509 "scan.l" { /* Binary bit type. * At some point we should simply pass the string @@ -5229,22 +8769,22 @@ YY_RULE_SETUP YY_BREAK case 10: /* rule 10 can match eol */ -#line 487 "scan.l" +#line 522 "scan.l" case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 487 "scan.l" +#line 522 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case YY_STATE_EOF(xb): -#line 490 "scan.l" +#line 525 "scan.l" { yyerror("unterminated bit string literal"); } YY_BREAK case 12: YY_RULE_SETUP -#line 492 "scan.l" +#line 527 "scan.l" { /* Hexadecimal bit type. * At some point we should simply pass the string @@ -5259,12 +8799,12 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(xh): -#line 504 "scan.l" +#line 539 "scan.l" { yyerror("unterminated hexadecimal string literal"); } YY_BREAK case 13: YY_RULE_SETUP -#line 506 "scan.l" +#line 541 "scan.l" { /* National character. * We will pass this along as a normal character string, @@ -5294,7 +8834,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 533 "scan.l" +#line 568 "scan.l" { yyextra->warn_on_first_escape = true; yyextra->saw_non_ascii = false; @@ -5308,7 +8848,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 543 "scan.l" +#line 578 "scan.l" { yyextra->warn_on_first_escape = false; yyextra->saw_non_ascii = false; @@ -5319,14 +8859,14 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 550 "scan.l" +#line 585 "scan.l" { SET_YYLLOC(); if (!yyextra->standard_conforming_strings) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("unsafe use of string constant with Unicode escapes"), - errdetail("String constants with Unicode escapes cannot be used when standard_conforming_strings is off."), + errdetail("String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off."), lexer_errposition())); BEGIN(xus); startlit(); @@ -5334,7 +8874,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 562 "scan.l" +#line 597 "scan.l" { /* * When we are scanning a quoted string and see an end @@ -5351,7 +8891,7 @@ YY_RULE_SETUP case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 574 "scan.l" +#line 609 "scan.l" { /* * Found a quote continuation, so return to the in-quote @@ -5363,13 +8903,13 @@ YY_RULE_SETUP YY_BREAK case 19: /* rule 19 can match eol */ -#line 583 "scan.l" +#line 618 "scan.l" case 20: /* rule 20 can match eol */ -#line 584 "scan.l" +#line 619 "scan.l" YY_RULE_SETUP case YY_STATE_EOF(xqs): -#line 584 "scan.l" +#line 619 "scan.l" { /* * Failed to see a quote continuation. Throw back @@ -5413,7 +8953,7 @@ case YY_STATE_EOF(xqs): YY_BREAK case 21: YY_RULE_SETUP -#line 625 "scan.l" +#line 660 "scan.l" { addlitchar('\'', yyscanner); } @@ -5421,7 +8961,7 @@ YY_RULE_SETUP case 22: /* rule 22 can match eol */ YY_RULE_SETUP -#line 628 "scan.l" +#line 663 "scan.l" { addlit(yytext, yyleng, yyscanner); } @@ -5429,14 +8969,14 @@ YY_RULE_SETUP case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 631 "scan.l" +#line 666 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 24: YY_RULE_SETUP -#line 634 "scan.l" +#line 669 "scan.l" { pg_wchar c = strtoul(yytext + 2, NULL, 16); @@ -5468,7 +9008,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 662 "scan.l" +#line 697 "scan.l" { pg_wchar c = strtoul(yytext + 2, NULL, 16); @@ -5491,13 +9031,13 @@ YY_RULE_SETUP } YY_BREAK case 26: -#line 683 "scan.l" +#line 718 "scan.l" case 27: /* rule 27 can match eol */ -#line 684 "scan.l" +#line 719 "scan.l" YY_RULE_SETUP case YY_STATE_EOF(xeu): -#line 684 "scan.l" +#line 719 "scan.l" { /* Set the error cursor to point at missing esc seq */ SET_YYLLOC(); @@ -5506,7 +9046,7 @@ case YY_STATE_EOF(xeu): YY_BREAK case 28: YY_RULE_SETUP -#line 689 "scan.l" +#line 724 "scan.l" { /* Set the error cursor to point at malformed esc seq */ SET_YYLLOC(); @@ -5520,7 +9060,7 @@ YY_RULE_SETUP case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 698 "scan.l" +#line 733 "scan.l" { if (yytext[1] == '\'') { @@ -5540,7 +9080,7 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 714 "scan.l" +#line 749 "scan.l" { unsigned char c = strtoul(yytext + 1, NULL, 8); @@ -5552,7 +9092,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 722 "scan.l" +#line 757 "scan.l" { unsigned char c = strtoul(yytext + 2, NULL, 16); @@ -5564,7 +9104,7 @@ YY_RULE_SETUP YY_BREAK case 32: YY_RULE_SETUP -#line 730 "scan.l" +#line 765 "scan.l" { /* This is only needed for \ just before EOF */ addlitchar(yytext[0], yyscanner); @@ -5573,12 +9113,12 @@ YY_RULE_SETUP case YY_STATE_EOF(xq): case YY_STATE_EOF(xe): case YY_STATE_EOF(xus): -#line 734 "scan.l" +#line 769 "scan.l" { yyerror("unterminated quoted string"); } YY_BREAK case 33: YY_RULE_SETUP -#line 736 "scan.l" +#line 771 "scan.l" { SET_YYLLOC(); yyextra->dolqstart = pstrdup(yytext); @@ -5588,7 +9128,7 @@ YY_RULE_SETUP YY_BREAK case 34: YY_RULE_SETUP -#line 742 "scan.l" +#line 777 "scan.l" { SET_YYLLOC(); /* throw back all but the initial "$" */ @@ -5599,7 +9139,7 @@ YY_RULE_SETUP YY_BREAK case 35: YY_RULE_SETUP -#line 749 "scan.l" +#line 784 "scan.l" { if (strcmp(yytext, yyextra->dolqstart) == 0) { @@ -5625,33 +9165,33 @@ YY_RULE_SETUP case 36: /* rule 36 can match eol */ YY_RULE_SETUP -#line 770 "scan.l" +#line 805 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 37: YY_RULE_SETUP -#line 773 "scan.l" +#line 808 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case 38: YY_RULE_SETUP -#line 776 "scan.l" +#line 811 "scan.l" { /* This is only needed for $ inside the quoted text */ addlitchar(yytext[0], yyscanner); } YY_BREAK case YY_STATE_EOF(xdolq): -#line 780 "scan.l" +#line 815 "scan.l" { yyerror("unterminated dollar-quoted string"); } YY_BREAK case 39: YY_RULE_SETUP -#line 782 "scan.l" +#line 817 "scan.l" { SET_YYLLOC(); BEGIN(xd); @@ -5660,7 +9200,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 787 "scan.l" +#line 822 "scan.l" { SET_YYLLOC(); BEGIN(xui); @@ -5669,7 +9209,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 792 "scan.l" +#line 827 "scan.l" { char *ident; @@ -5686,7 +9226,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 805 "scan.l" +#line 840 "scan.l" { BEGIN(INITIAL); if (yyextra->literallen == 0) @@ -5699,7 +9239,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 814 "scan.l" +#line 849 "scan.l" { addlitchar('"', yyscanner); } @@ -5707,19 +9247,19 @@ YY_RULE_SETUP case 44: /* rule 44 can match eol */ YY_RULE_SETUP -#line 817 "scan.l" +#line 852 "scan.l" { addlit(yytext, yyleng, yyscanner); } YY_BREAK case YY_STATE_EOF(xd): case YY_STATE_EOF(xui): -#line 820 "scan.l" +#line 855 "scan.l" { yyerror("unterminated quoted identifier"); } YY_BREAK case 45: YY_RULE_SETUP -#line 822 "scan.l" +#line 857 "scan.l" { char *ident; @@ -5735,7 +9275,7 @@ YY_RULE_SETUP YY_BREAK case 46: YY_RULE_SETUP -#line 835 "scan.l" +#line 870 "scan.l" { SET_YYLLOC(); return TYPECAST; @@ -5743,7 +9283,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 840 "scan.l" +#line 875 "scan.l" { SET_YYLLOC(); return DOT_DOT; @@ -5751,7 +9291,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 845 "scan.l" +#line 880 "scan.l" { SET_YYLLOC(); return COLON_EQUALS; @@ -5759,7 +9299,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 850 "scan.l" +#line 885 "scan.l" { SET_YYLLOC(); return EQUALS_GREATER; @@ -5767,7 +9307,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 855 "scan.l" +#line 890 "scan.l" { SET_YYLLOC(); return LESS_EQUALS; @@ -5775,7 +9315,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 860 "scan.l" +#line 895 "scan.l" { SET_YYLLOC(); return GREATER_EQUALS; @@ -5783,7 +9323,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 865 "scan.l" +#line 900 "scan.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ SET_YYLLOC(); @@ -5792,7 +9332,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 871 "scan.l" +#line 906 "scan.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ SET_YYLLOC(); @@ -5801,7 +9341,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 877 "scan.l" +#line 912 "scan.l" { SET_YYLLOC(); return yytext[0]; @@ -5809,7 +9349,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 882 "scan.l" +#line 917 "scan.l" { /* * Check for embedded slash-star or dash-dash; those @@ -5920,7 +9460,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 990 "scan.l" +#line 1025 "scan.l" { SET_YYLLOC(); yylval->ival = atol(yytext + 1); @@ -5929,66 +9469,123 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 996 "scan.l" +#line 1031 "scan.l" { SET_YYLLOC(); - return process_integer_literal(yytext, yylval); + return process_integer_literal(yytext, yylval, 10); } YY_BREAK case 58: YY_RULE_SETUP -#line 1000 "scan.l" +#line 1035 "scan.l" +{ + SET_YYLLOC(); + return process_integer_literal(yytext, yylval, 16); + } + YY_BREAK +case 59: +YY_RULE_SETUP +#line 1039 "scan.l" +{ + SET_YYLLOC(); + return process_integer_literal(yytext, yylval, 8); + } + YY_BREAK +case 60: +YY_RULE_SETUP +#line 1043 "scan.l" +{ + SET_YYLLOC(); + return process_integer_literal(yytext, yylval, 2); + } + YY_BREAK +case 61: +YY_RULE_SETUP +#line 1047 "scan.l" +{ + SET_YYLLOC(); + yyerror("invalid hexadecimal integer"); + } + YY_BREAK +case 62: +YY_RULE_SETUP +#line 1051 "scan.l" +{ + SET_YYLLOC(); + yyerror("invalid octal integer"); + } + YY_BREAK +case 63: +YY_RULE_SETUP +#line 1055 "scan.l" +{ + SET_YYLLOC(); + yyerror("invalid binary integer"); + } + YY_BREAK +case 64: +YY_RULE_SETUP +#line 1059 "scan.l" { SET_YYLLOC(); yylval->str = pstrdup(yytext); return FCONST; } YY_BREAK -case 59: +case 65: YY_RULE_SETUP -#line 1005 "scan.l" +#line 1064 "scan.l" { /* throw back the .., and treat as integer */ yyless(yyleng - 2); SET_YYLLOC(); - return process_integer_literal(yytext, yylval); + return process_integer_literal(yytext, yylval, 10); } YY_BREAK -case 60: +case 66: YY_RULE_SETUP -#line 1011 "scan.l" +#line 1070 "scan.l" { SET_YYLLOC(); yylval->str = pstrdup(yytext); return FCONST; } YY_BREAK -case 61: +case 67: YY_RULE_SETUP -#line 1016 "scan.l" +#line 1075 "scan.l" { - /* - * throw back the [Ee], and figure out whether what - * remains is an {integer} or {decimal}. - */ - yyless(yyleng - 1); SET_YYLLOC(); - return process_integer_literal(yytext, yylval); + yyerror("trailing junk after numeric literal"); } YY_BREAK -case 62: +case 68: YY_RULE_SETUP -#line 1025 "scan.l" +#line 1079 "scan.l" { - /* throw back the [Ee][+-], and proceed as above */ - yyless(yyleng - 2); SET_YYLLOC(); - return process_integer_literal(yytext, yylval); + yyerror("trailing junk after numeric literal"); } YY_BREAK -case 63: +case 69: +YY_RULE_SETUP +#line 1083 "scan.l" +{ + SET_YYLLOC(); + yyerror("trailing junk after numeric literal"); + } + YY_BREAK +case 70: +YY_RULE_SETUP +#line 1087 "scan.l" +{ + SET_YYLLOC(); + yyerror("trailing junk after numeric literal"); + } + YY_BREAK +case 71: YY_RULE_SETUP -#line 1033 "scan.l" +#line 1093 "scan.l" { int kwnum; char *ident; @@ -6015,27 +9612,27 @@ YY_RULE_SETUP return IDENT; } YY_BREAK -case 64: +case 72: YY_RULE_SETUP -#line 1059 "scan.l" +#line 1119 "scan.l" { SET_YYLLOC(); return yytext[0]; } YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1064 "scan.l" +#line 1124 "scan.l" { SET_YYLLOC(); yyterminate(); } YY_BREAK -case 65: +case 73: YY_RULE_SETUP -#line 1069 "scan.l" +#line 1129 "scan.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 5989 "scan.c" +#line 9586 "scan.c" case YY_END_OF_BUFFER: { @@ -6915,7 +10512,7 @@ static int yy_flex_strlen (const char * s , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 1069 "scan.l" +#line 1129 "scan.l" /* LCOV_EXCL_STOP */ @@ -7167,18 +10764,17 @@ litbufdup(core_yyscan_t yyscanner) } /* - * Process {integer}. Note this will also do the right thing with {decimal}, - * ie digits and a decimal point. + * Process {decinteger}, {hexinteger}, etc. Note this will also do the right + * thing with {numeric}, ie digits and a decimal point. */ static int -process_integer_literal(const char *token, YYSTYPE *lval) +process_integer_literal(const char *token, YYSTYPE *lval, int base) { - int val; - char *endptr; + ErrorSaveContext escontext = {T_ErrorSaveContext}; + int32 val; - errno = 0; - val = strtoint(token, &endptr, 10); - if (*endptr != '\0' || errno == ERANGE) + val = pg_strtoint32_safe(token, (Node *) &escontext); + if (escontext.error_occurred) { /* integer too large (or contains decimal pt), treat it as a float */ lval->str = pstrdup(token); @@ -7222,6 +10818,8 @@ unescape_single_char(unsigned char c, core_yyscan_t yyscanner) return '\r'; case 't': return '\t'; + case 'v': + return '\v'; default: /* check for backslash followed by non-7-bit-ASCII */ if (c == '\0' || IS_HIGHBIT_SET(c)) diff --git a/parser/src_backend_parser_scansup.c b/parser/src_backend_parser_scansup.c index d07bd4b2..4d359669 100644 --- a/parser/src_backend_parser_scansup.c +++ b/parser/src_backend_parser_scansup.c @@ -12,7 +12,7 @@ * scansup.c * scanner support routines used by the core lexer * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -130,6 +130,7 @@ scanner_isspace(char ch) ch == '\t' || ch == '\n' || ch == '\r' || + ch == '\v' || ch == '\f') return true; return false; diff --git a/parser/src_backend_postmaster_postmaster.c b/parser/src_backend_postmaster_postmaster.c deleted file mode 100644 index 896c4227..00000000 --- a/parser/src_backend_postmaster_postmaster.c +++ /dev/null @@ -1,2201 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - ClientAuthInProgress - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * postmaster.c - * This program acts as a clearing house for requests to the - * POSTGRES system. Frontend programs send a startup message - * to the Postmaster and the postmaster uses the info in the - * message to setup a backend process. - * - * The postmaster also manages system-wide operations such as - * startup and shutdown. The postmaster itself doesn't do those - * operations, mind you --- it just forks off a subprocess to do them - * at the right times. It also takes care of resetting the system - * if a backend crashes. - * - * The postmaster process creates the shared memory and semaphore - * pools during startup, but as a rule does not touch them itself. - * In particular, it is not a member of the PGPROC array of backends - * and so it cannot participate in lock-manager operations. Keeping - * the postmaster away from shared memory operations makes it simpler - * and more reliable. The postmaster is almost always able to recover - * from crashes of individual backends by resetting shared memory; - * if it did much with shared memory then it would be prone to crashing - * along with the backends. - * - * When a request message is received, we now fork() immediately. - * The child process performs authentication of the request, and - * then becomes a backend if successful. This allows the auth code - * to be written in a simple single-threaded style (as opposed to the - * crufty "poor man's multitasking" code that used to be needed). - * More importantly, it ensures that blockages in non-multithreaded - * libraries like SSL or PAM cannot cause denial of service to other - * clients. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/postmaster/postmaster.c - * - * NOTES - * - * Initialization: - * The Postmaster sets up shared memory data structures - * for the backends. - * - * Synchronization: - * The Postmaster shares memory with the backends but should avoid - * touching shared memory, so as not to become stuck if a crashing - * backend screws up locks or shared memory. Likewise, the Postmaster - * should never block on messages from frontend clients. - * - * Garbage Collection: - * The Postmaster cleans up after backends if they have an emergency - * exit and/or core dump. - * - * Error Reporting: - * Use write_stderr() only for reporting "interactive" errors - * (essentially, bogus arguments on the command line). Once the - * postmaster is launched, use ereport(). - * - *------------------------------------------------------------------------- - */ - -#include "postgres.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_SYS_SELECT_H -#include -#endif - -#ifdef USE_BONJOUR -#include -#endif - -#ifdef USE_SYSTEMD -#include -#endif - -#ifdef HAVE_PTHREAD_IS_THREADED_NP -#include -#endif - -#include "access/transam.h" -#include "access/xlog.h" -#include "access/xlogrecovery.h" -#include "catalog/pg_control.h" -#include "common/file_perm.h" -#include "common/ip.h" -#include "common/pg_prng.h" -#include "common/string.h" -#include "lib/ilist.h" -#include "libpq/auth.h" -#include "libpq/libpq.h" -#include "libpq/pqformat.h" -#include "libpq/pqsignal.h" -#include "pg_getopt.h" -#include "pgstat.h" -#include "port/pg_bswap.h" -#include "postmaster/autovacuum.h" -#include "postmaster/auxprocess.h" -#include "postmaster/bgworker_internals.h" -#include "postmaster/fork_process.h" -#include "postmaster/interrupt.h" -#include "postmaster/pgarch.h" -#include "postmaster/postmaster.h" -#include "postmaster/syslogger.h" -#include "replication/logicallauncher.h" -#include "replication/walsender.h" -#include "storage/fd.h" -#include "storage/ipc.h" -#include "storage/pg_shmem.h" -#include "storage/pmsignal.h" -#include "storage/proc.h" -#include "tcop/tcopprot.h" -#include "utils/builtins.h" -#include "utils/datetime.h" -#include "utils/memutils.h" -#include "utils/pidfile.h" -#include "utils/ps_status.h" -#include "utils/queryjumble.h" -#include "utils/timeout.h" -#include "utils/timestamp.h" -#include "utils/varlena.h" - -#ifdef EXEC_BACKEND -#include "storage/spin.h" -#endif - - -/* - * Possible types of a backend. Beyond being the possible bkend_type values in - * struct bkend, these are OR-able request flag bits for SignalSomeChildren() - * and CountChildren(). - */ -#define BACKEND_TYPE_NORMAL 0x0001 /* normal backend */ -#define BACKEND_TYPE_AUTOVAC 0x0002 /* autovacuum worker process */ -#define BACKEND_TYPE_WALSND 0x0004 /* walsender process */ -#define BACKEND_TYPE_BGWORKER 0x0008 /* bgworker process */ -#define BACKEND_TYPE_ALL 0x000F /* OR of all the above */ - -/* - * List of active backends (or child processes anyway; we don't actually - * know whether a given child has become a backend or is still in the - * authorization phase). This is used mainly to keep track of how many - * children we have and send them appropriate signals when necessary. - * - * As shown in the above set of backend types, this list includes not only - * "normal" client sessions, but also autovacuum workers, walsenders, and - * background workers. (Note that at the time of launch, walsenders are - * labeled BACKEND_TYPE_NORMAL; we relabel them to BACKEND_TYPE_WALSND - * upon noticing they've changed their PMChildFlags entry. Hence that check - * must be done before any operation that needs to distinguish walsenders - * from normal backends.) - * - * Also, "dead_end" children are in it: these are children launched just for - * the purpose of sending a friendly rejection message to a would-be client. - * We must track them because they are attached to shared memory, but we know - * they will never become live backends. dead_end children are not assigned a - * PMChildSlot. dead_end children have bkend_type NORMAL. - * - * "Special" children such as the startup, bgwriter and autovacuum launcher - * tasks are not in this list. They are tracked via StartupPID and other - * pid_t variables below. (Thus, there can't be more than one of any given - * "special" child process type. We use BackendList entries for any child - * process there can be more than one of.) - */ -typedef struct bkend -{ - pid_t pid; /* process id of backend */ - int32 cancel_key; /* cancel key for cancels for this backend */ - int child_slot; /* PMChildSlot for this backend, if any */ - int bkend_type; /* child process flavor, see above */ - bool dead_end; /* is it going to send an error and quit? */ - bool bgworker_notify; /* gets bgworker start/stop notifications */ - dlist_node elem; /* list link in BackendList */ -} Backend; - - - -#ifdef EXEC_BACKEND -static Backend *ShmemBackendArray; -#endif - - - - - -/* The socket number we are listening for connections on */ - - -/* The directory names for Unix socket(s) */ - - -/* The TCP listen address(es) */ - - -/* - * ReservedBackends is the number of backends reserved for superuser use. - * This number is taken out of the pool size given by MaxConnections so - * number of backend slots available to non-superusers is - * (MaxConnections - ReservedBackends). Note what this really means is - * "if there are <= ReservedBackends connections available, only superusers - * can make new connections" --- pre-existing superuser connections don't - * count against the limit. - */ - - -/* The socket(s) we're listening to. */ -#define MAXLISTEN 64 - - -/* - * These globals control the behavior of the postmaster in case some - * backend dumps core. Normally, it kills all peers of the dead backend - * and reinitializes shared memory. By specifying -s or -n, we can have - * the postmaster stop (rather than kill) peers and not reinitialize - * shared data structures. (Reinit is currently dead code, though.) - */ - - - -/* still more option variables */ - - - - - - /* for ps display and logging */ - - - - - - - - -/* PIDs of special child processes; 0 when not running */ - - - - - - - - - -/* Startup process's status */ -typedef enum -{ - STARTUP_NOT_RUNNING, - STARTUP_RUNNING, - STARTUP_SIGNALED, /* we sent it a SIGQUIT or SIGKILL */ - STARTUP_CRASHED -} StartupStatusEnum; - - - -/* Startup/shutdown state */ -#define NoShutdown 0 -#define SmartShutdown 1 -#define FastShutdown 2 -#define ImmediateShutdown 3 - - - - /* T if recovering from backend crash */ - -/* - * We use a simple state machine to control startup, shutdown, and - * crash recovery (which is rather like shutdown followed by startup). - * - * After doing all the postmaster initialization work, we enter PM_STARTUP - * state and the startup process is launched. The startup process begins by - * reading the control file and other preliminary initialization steps. - * In a normal startup, or after crash recovery, the startup process exits - * with exit code 0 and we switch to PM_RUN state. However, archive recovery - * is handled specially since it takes much longer and we would like to support - * hot standby during archive recovery. - * - * When the startup process is ready to start archive recovery, it signals the - * postmaster, and we switch to PM_RECOVERY state. The background writer and - * checkpointer are launched, while the startup process continues applying WAL. - * If Hot Standby is enabled, then, after reaching a consistent point in WAL - * redo, startup process signals us again, and we switch to PM_HOT_STANDBY - * state and begin accepting connections to perform read-only queries. When - * archive recovery is finished, the startup process exits with exit code 0 - * and we switch to PM_RUN state. - * - * Normal child backends can only be launched when we are in PM_RUN or - * PM_HOT_STANDBY state. (connsAllowed can also restrict launching.) - * In other states we handle connection requests by launching "dead_end" - * child processes, which will simply send the client an error message and - * quit. (We track these in the BackendList so that we can know when they - * are all gone; this is important because they're still connected to shared - * memory, and would interfere with an attempt to destroy the shmem segment, - * possibly leading to SHMALL failure when we try to make a new one.) - * In PM_WAIT_DEAD_END state we are waiting for all the dead_end children - * to drain out of the system, and therefore stop accepting connection - * requests at all until the last existing child has quit (which hopefully - * will not be very long). - * - * Notice that this state variable does not distinguish *why* we entered - * states later than PM_RUN --- Shutdown and FatalError must be consulted - * to find that out. FatalError is never true in PM_RECOVERY, PM_HOT_STANDBY, - * or PM_RUN states, nor in PM_SHUTDOWN states (because we don't enter those - * states when trying to recover from a crash). It can be true in PM_STARTUP - * state, because we don't clear it until we've successfully started WAL redo. - */ -typedef enum -{ - PM_INIT, /* postmaster starting */ - PM_STARTUP, /* waiting for startup subprocess */ - PM_RECOVERY, /* in archive recovery mode */ - PM_HOT_STANDBY, /* in hot standby mode */ - PM_RUN, /* normal "database is alive" state */ - PM_STOP_BACKENDS, /* need to stop remaining backends */ - PM_WAIT_BACKENDS, /* waiting for live backends to exit */ - PM_SHUTDOWN, /* waiting for checkpointer to do shutdown - * ckpt */ - PM_SHUTDOWN_2, /* waiting for archiver and walsenders to - * finish */ - PM_WAIT_DEAD_END, /* waiting for dead_end children to exit */ - PM_NO_CHILDREN /* all important children have exited */ -} PMState; - - - -/* - * While performing a "smart shutdown", we restrict new connections but stay - * in PM_RUN or PM_HOT_STANDBY state until all the client backends are gone. - * connsAllowed is a sub-state indicator showing the active restriction. - * It is of no interest unless pmState is PM_RUN or PM_HOT_STANDBY. - */ - - -/* Start time of SIGKILL timeout during immediate shutdown or child crash */ -/* Zero means timeout is not running */ - - -/* Length of said timeout */ -#define SIGKILL_CHILDREN_AFTER_SECS 5 - - /* T if we've reached PM_RUN */ - -__thread bool ClientAuthInProgress = false; - /* T during new-client - * authentication */ - - /* stderr redirected for syslogger? */ - -/* received START_AUTOVAC_LAUNCHER signal */ - - -/* the launcher needs to be signaled to communicate some condition */ - - -/* received START_WALRECEIVER signal */ - - -/* set when there's a worker that needs to be started up */ - - - -#ifdef USE_SSL -/* Set when and if SSL has been initialized properly */ -static bool LoadedSSL = false; -#endif - -#ifdef USE_BONJOUR -static DNSServiceRef bonjour_sdref = NULL; -#endif - -/* - * postmaster.c - function prototypes - */ -static void CloseServerPorts(int status, Datum arg); -static void unlink_external_pid_file(int status, Datum arg); -static void getInstallationPaths(const char *argv0); -static void checkControlFile(void); -static Port *ConnCreate(int serverFd); -static void ConnFree(Port *port); -static void reset_shared(void); -static void SIGHUP_handler(SIGNAL_ARGS); -static void pmdie(SIGNAL_ARGS); -static void reaper(SIGNAL_ARGS); -static void sigusr1_handler(SIGNAL_ARGS); -static void process_startup_packet_die(SIGNAL_ARGS); -static void dummy_handler(SIGNAL_ARGS); -static void StartupPacketTimeoutHandler(void); -static void CleanupBackend(int pid, int exitstatus); -static bool CleanupBackgroundWorker(int pid, int exitstatus); -static void HandleChildCrash(int pid, int exitstatus, const char *procname); -static void LogChildExit(int lev, const char *procname, - int pid, int exitstatus); -static void PostmasterStateMachine(void); -static void BackendInitialize(Port *port); -static void BackendRun(Port *port) pg_attribute_noreturn(); -static void ExitPostmaster(int status) pg_attribute_noreturn(); -static int ServerLoop(void); -static int BackendStartup(Port *port); -static int ProcessStartupPacket(Port *port, bool ssl_done, bool gss_done); -static void SendNegotiateProtocolVersion(List *unrecognized_protocol_options); -static void processCancelRequest(Port *port, void *pkt); -static int initMasks(fd_set *rmask); -static void report_fork_failure_to_client(Port *port, int errnum); -static CAC_state canAcceptConnections(int backend_type); -static bool RandomCancelKey(int32 *cancel_key); -static void signal_child(pid_t pid, int signal); -static bool SignalSomeChildren(int signal, int targets); -static void TerminateChildren(int signal); - -#define SignalChildren(sig) SignalSomeChildren(sig, BACKEND_TYPE_ALL) - -static int CountChildren(int target); -static bool assign_backendlist_entry(RegisteredBgWorker *rw); -static void maybe_start_bgworkers(void); -static bool CreateOptsFile(int argc, char *argv[], char *fullprogname); -static pid_t StartChildProcess(AuxProcType type); -static void StartAutovacuumWorker(void); -static void MaybeStartWalReceiver(void); -static void InitPostmasterDeathWatchHandle(void); - -/* - * Archiver is allowed to start up at the current postmaster state? - * - * If WAL archiving is enabled always, we are allowed to start archiver - * even during recovery. - */ -#define PgArchStartupAllowed() \ - (((XLogArchivingActive() && pmState == PM_RUN) || \ - (XLogArchivingAlways() && \ - (pmState == PM_RECOVERY || pmState == PM_HOT_STANDBY))) && \ - PgArchCanRestart()) - -#ifdef EXEC_BACKEND - -#ifdef WIN32 -#define WNOHANG 0 /* ignored, so any integer value will do */ - -static pid_t waitpid(pid_t pid, int *exitstatus, int options); -static void WINAPI pgwin32_deadchild_callback(PVOID lpParameter, BOOLEAN TimerOrWaitFired); - -static HANDLE win32ChildQueue; - -typedef struct -{ - HANDLE waitHandle; - HANDLE procHandle; - DWORD procId; -} win32_deadchild_waitinfo; -#endif /* WIN32 */ - -static pid_t backend_forkexec(Port *port); -static pid_t internal_forkexec(int argc, char *argv[], Port *port); - -/* Type for a socket that can be inherited to a client process */ -#ifdef WIN32 -typedef struct -{ - SOCKET origsocket; /* Original socket value, or PGINVALID_SOCKET - * if not a socket */ - WSAPROTOCOL_INFO wsainfo; -} InheritableSocket; -#else -typedef int InheritableSocket; -#endif - -/* - * Structure contains all variables passed to exec:ed backends - */ -typedef struct -{ - Port port; - InheritableSocket portsocket; - char DataDir[MAXPGPATH]; - pgsocket ListenSocket[MAXLISTEN]; - int32 MyCancelKey; - int MyPMChildSlot; -#ifndef WIN32 - unsigned long UsedShmemSegID; -#else - void *ShmemProtectiveRegion; - HANDLE UsedShmemSegID; -#endif - void *UsedShmemSegAddr; - slock_t *ShmemLock; - VariableCache ShmemVariableCache; - Backend *ShmemBackendArray; -#ifndef HAVE_SPINLOCKS - PGSemaphore *SpinlockSemaArray; -#endif - int NamedLWLockTrancheRequests; - NamedLWLockTranche *NamedLWLockTrancheArray; - LWLockPadded *MainLWLockArray; - slock_t *ProcStructLock; - PROC_HDR *ProcGlobal; - PGPROC *AuxiliaryProcs; - PGPROC *PreparedXactProcs; - PMSignalData *PMSignalState; - pid_t PostmasterPid; - TimestampTz PgStartTime; - TimestampTz PgReloadTime; - pg_time_t first_syslogger_file_time; - bool redirection_done; - bool IsBinaryUpgrade; - bool query_id_enabled; - int max_safe_fds; - int MaxBackends; -#ifdef WIN32 - HANDLE PostmasterHandle; - HANDLE initial_signal_pipe; - HANDLE syslogPipe[2]; -#else - int postmaster_alive_fds[2]; - int syslogPipe[2]; -#endif - char my_exec_path[MAXPGPATH]; - char pkglib_path[MAXPGPATH]; -} BackendParameters; - -static void read_backend_variables(char *id, Port *port); -static void restore_backend_variables(BackendParameters *param, Port *port); - -#ifndef WIN32 -static bool save_backend_variables(BackendParameters *param, Port *port); -#else -static bool save_backend_variables(BackendParameters *param, Port *port, - HANDLE childProcess, pid_t childPid); -#endif - -static void ShmemBackendArrayAdd(Backend *bn); -static void ShmemBackendArrayRemove(Backend *bn); -#endif /* EXEC_BACKEND */ - -#define StartupDataBase() StartChildProcess(StartupProcess) -#define StartArchiver() StartChildProcess(ArchiverProcess) -#define StartBackgroundWriter() StartChildProcess(BgWriterProcess) -#define StartCheckpointer() StartChildProcess(CheckpointerProcess) -#define StartWalWriter() StartChildProcess(WalWriterProcess) -#define StartWalReceiver() StartChildProcess(WalReceiverProcess) - -/* Macros to check exit status of a child process */ -#define EXIT_STATUS_0(st) ((st) == 0) -#define EXIT_STATUS_1(st) (WIFEXITED(st) && WEXITSTATUS(st) == 1) -#define EXIT_STATUS_3(st) (WIFEXITED(st) && WEXITSTATUS(st) == 3) - -#ifndef WIN32 -/* - * File descriptors for pipe used to monitor if postmaster is alive. - * First is POSTMASTER_FD_WATCH, second is POSTMASTER_FD_OWN. - */ - -#else -/* Process handle of postmaster used for the same purpose on Windows */ -HANDLE PostmasterHandle; -#endif - -/* - * Postmaster main entry point - */ -#ifdef WIN32 -#endif -#ifdef SIGURG -#endif -#ifdef SIGTTIN -#endif -#ifdef SIGTTOU -#endif -#ifdef SIGXFSZ -#endif -#ifdef HAVE_INT_OPTRESET -#endif -#ifdef USE_SSL -#endif -#ifdef WIN32 -#endif -#ifdef EXEC_BACKEND -#endif -#ifdef USE_BONJOUR -#endif -#ifdef HAVE_UNIX_SOCKETS -#endif -#ifdef HAVE_PTHREAD_IS_THREADED_NP -#endif - - -/* - * on_proc_exit callback to close server's listen sockets - */ - - -/* - * on_proc_exit callback to delete external_pid_file - */ - - - -/* - * Compute and check the directory paths to files that are part of the - * installation (as deduced from the postgres executable's own location) - */ -#ifdef EXEC_BACKEND -#endif - -/* - * Check that pg_control exists in the correct location in the data directory. - * - * No attempt is made to validate the contents of pg_control here. This is - * just a sanity check to see if we are looking at a real data directory. - */ - - -/* - * Determine how long should we let ServerLoop sleep. - * - * In normal conditions we wait at most one minute, to ensure that the other - * background tasks handled by ServerLoop get done even when no requests are - * arriving. However, if there are background workers waiting to be started, - * we don't actually sleep so that they are quickly serviced. Other exception - * cases are as shown in the code. - */ - - -/* - * Main idle loop of postmaster - * - * NB: Needs to be called with signals blocked - */ -#ifdef HAVE_PTHREAD_IS_THREADED_NP -#endif - -/* - * Initialise the masks for select() for the ports we are listening on. - * Return the number of sockets to listen on. - */ - - - -/* - * Read a client's startup packet and do something according to it. - * - * Returns STATUS_OK or STATUS_ERROR, or might call ereport(FATAL) and - * not return at all. - * - * (Note that ereport(FATAL) stuff is sent to the client, so only use it - * if that's what you want. Return STATUS_ERROR if you don't want to - * send anything to the client, which would typically be appropriate - * if we detect a communications failure.) - * - * Set ssl_done and/or gss_done when negotiation of an encrypted layer - * (currently, TLS or GSSAPI) is completed. A successful negotiation of either - * encryption layer sets both flags, but a rejected negotiation sets only the - * flag for that layer, since the client may wish to try the other one. We - * should make no assumption here about the order in which the client may make - * requests. - */ -#ifdef USE_SSL -#else -#endif -#ifdef USE_SSL -#endif -#ifdef ENABLE_GSS -#endif -#ifdef ENABLE_GSS -#endif - -/* - * Send a NegotiateProtocolVersion to the client. This lets the client know - * that they have requested a newer minor protocol version than we are able - * to speak. We'll speak the highest version we know about; the client can, - * of course, abandon the connection if that's a problem. - * - * We also include in the response a list of protocol options we didn't - * understand. This allows clients to include optional parameters that might - * be present either in newer protocol versions or third-party protocol - * extensions without fear of having to reconnect if those options are not - * understood, while at the same time making certain that the client is aware - * of which options were actually accepted. - */ - - -/* - * The client has sent a cancel request packet, not a normal - * start-a-new-connection packet. Perform the necessary processing. - * Nothing is sent back to the client. - */ -#ifndef EXEC_BACKEND -#else -#endif -#ifndef EXEC_BACKEND -#else -#endif -#ifndef EXEC_BACKEND /* make GNU Emacs 26.1 see brace balance */ -#else -#endif - -/* - * canAcceptConnections --- check to see if database state allows connections - * of the specified type. backend_type can be BACKEND_TYPE_NORMAL, - * BACKEND_TYPE_AUTOVAC, or BACKEND_TYPE_BGWORKER. (Note that we don't yet - * know whether a NORMAL connection might turn into a walsender.) - */ - - - -/* - * ConnCreate -- create a local connection data structure - * - * Returns NULL on failure, other than out-of-memory which is fatal. - */ - - - -/* - * ConnFree -- free a local connection data structure - * - * Caller has already closed the socket if any, so there's not much - * to do here. - */ - - - -/* - * ClosePostmasterPorts -- close all the postmaster's open sockets - * - * This is called during child process startup to release file descriptors - * that are not needed by that child process. The postmaster still has - * them open, of course. - * - * Note: we pass am_syslogger as a boolean because we don't want to set - * the global variable yet when this is called. - */ -#ifndef WIN32 -#endif -#ifndef WIN32 -#else -#endif -#ifdef USE_BONJOUR -#endif - - -/* - * InitProcessGlobals -- set MyProcPid, MyStartTime[stamp], random seeds - * - * Called early in the postmaster and every backend. - */ -#ifndef WIN32 -#endif - - -/* - * reset_shared -- reset shared memory and semaphores - */ - - - -/* - * SIGHUP -- reread config files, and tell children to do same - */ -#ifdef WIN32 -#endif -#ifdef USE_SSL -#endif -#ifdef EXEC_BACKEND -#endif -#ifdef WIN32 -#endif - - -/* - * pmdie -- signal handler for processing various postmaster signals. - */ -#ifdef WIN32 -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef WIN32 -#endif - -/* - * Reaper -- signal handler to cleanup after a child process dies. - */ -#ifdef WIN32 -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef WIN32 -#endif - -/* - * Scan the bgworkers list and see if the given PID (which has just stopped - * or crashed) is in it. Handle its shutdown if so, and return true. If not a - * bgworker, return false. - * - * This is heavily based on CleanupBackend. One important difference is that - * we don't know yet that the dying process is a bgworker, so we must be silent - * until we're sure it is. - */ -#ifdef WIN32 -#endif -#ifdef EXEC_BACKEND -#endif - -/* - * CleanupBackend -- cleanup after terminated backend. - * - * Remove all local state associated with backend. - * - * If you change this, see also CleanupBackgroundWorker. - */ -#ifdef WIN32 -#endif -#ifdef EXEC_BACKEND -#endif - -/* - * HandleChildCrash -- cleanup after failed backend, bgwriter, checkpointer, - * walwriter, autovacuum, archiver or background worker. - * - * The objectives here are to clean up our local state about the child - * process, and to signal all other remaining children to quickdie. - */ -#ifdef EXEC_BACKEND -#endif -#ifdef EXEC_BACKEND -#endif - -/* - * Log the death of a child process. - */ -#if defined(WIN32) -#else -#endif - -/* - * Advance the postmaster's state machine and take actions as appropriate - * - * This is common code for pmdie(), reaper() and sigusr1_handler(), which - * receive the signals that might mean we need to change state. - */ - - - -/* - * Send a signal to a postmaster child process - * - * On systems that have setsid(), each child process sets itself up as a - * process group leader. For signals that are generally interpreted in the - * appropriate fashion, we signal the entire process group not just the - * direct child process. This allows us to, for example, SIGQUIT a blocked - * archive_recovery script, or SIGINT a script being run by a backend via - * system(). - * - * There is a race condition for recently-forked children: they might not - * have executed setsid() yet. So we signal the child directly as well as - * the group. We assume such a child will handle the signal before trying - * to spawn any grandchild processes. We also assume that signaling the - * child twice will not cause any problems. - */ -#ifdef HAVE_SETSID -#endif - -/* - * Send a signal to the targeted children (but NOT special children; - * dead_end children are never signaled, either). - */ - - -/* - * Send a termination signal to children. This considers all of our children - * processes, except syslogger and dead_end backends. - */ - - -/* - * BackendStartup -- start backend process - * - * returns: STATUS_ERROR if the fork failed, STATUS_OK otherwise. - * - * Note: if you change this code, also consider StartAutovacuumWorker. - */ -#ifdef EXEC_BACKEND -#else /* !EXEC_BACKEND */ -#endif /* EXEC_BACKEND */ -#ifdef EXEC_BACKEND -#endif - -/* - * Try to report backend fork() failure to client before we close the - * connection. Since we do not care to risk blocking the postmaster on - * this connection, we set the connection to non-blocking and try only once. - * - * This is grungy special-purpose code; we cannot use backend libpq since - * it's not up and running. - */ - - - -/* - * BackendInitialize -- initialize an interactive (postmaster-child) - * backend process, and collect the client's startup packet. - * - * returns: nothing. Will not return at all if there's any failure. - * - * Note: this code does not depend on having any access to shared memory. - * Indeed, our approach to SIGTERM/timeout handling *requires* that - * shared memory not have been touched yet; see comments within. - * In the EXEC_BACKEND case, we are physically attached to shared memory - * but have not yet set up most of our local pointers to shmem structures. - */ - - - -/* - * BackendRun -- set up the backend's argument list and invoke PostgresMain() - * - * returns: - * Doesn't return at all. - */ - - - -#ifdef EXEC_BACKEND - -/* - * postmaster_forkexec -- fork and exec a postmaster subprocess - * - * The caller must have set up the argv array already, except for argv[2] - * which will be filled with the name of the temp variable file. - * - * Returns the child process PID, or -1 on fork failure (a suitable error - * message has been logged on failure). - * - * All uses of this routine will dispatch to SubPostmasterMain in the - * child process. - */ -pid_t -postmaster_forkexec(int argc, char *argv[]) -{ - Port port; - - /* This entry point passes dummy values for the Port variables */ - memset(&port, 0, sizeof(port)); - return internal_forkexec(argc, argv, &port); -} - -/* - * backend_forkexec -- fork/exec off a backend process - * - * Some operating systems (WIN32) don't have fork() so we have to simulate - * it by storing parameters that need to be passed to the child and - * then create a new child process. - * - * returns the pid of the fork/exec'd process, or -1 on failure - */ -static pid_t -backend_forkexec(Port *port) -{ - char *av[4]; - int ac = 0; - - av[ac++] = "postgres"; - av[ac++] = "--forkbackend"; - av[ac++] = NULL; /* filled in by internal_forkexec */ - - av[ac] = NULL; - Assert(ac < lengthof(av)); - - return internal_forkexec(ac, av, port); -} - -#ifndef WIN32 - -/* - * internal_forkexec non-win32 implementation - * - * - writes out backend variables to the parameter file - * - fork():s, and then exec():s the child process - */ -static pid_t -internal_forkexec(int argc, char *argv[], Port *port) -{ - static unsigned long tmpBackendFileNum = 0; - pid_t pid; - char tmpfilename[MAXPGPATH]; - BackendParameters param; - FILE *fp; - - if (!save_backend_variables(¶m, port)) - return -1; /* log made by save_backend_variables */ - - /* Calculate name for temp file */ - snprintf(tmpfilename, MAXPGPATH, "%s/%s.backend_var.%d.%lu", - PG_TEMP_FILES_DIR, PG_TEMP_FILE_PREFIX, - MyProcPid, ++tmpBackendFileNum); - - /* Open file */ - fp = AllocateFile(tmpfilename, PG_BINARY_W); - if (!fp) - { - /* - * As in OpenTemporaryFileInTablespace, try to make the temp-file - * directory, ignoring errors. - */ - (void) MakePGDirectory(PG_TEMP_FILES_DIR); - - fp = AllocateFile(tmpfilename, PG_BINARY_W); - if (!fp) - { - ereport(LOG, - (errcode_for_file_access(), - errmsg("could not create file \"%s\": %m", - tmpfilename))); - return -1; - } - } - - if (fwrite(¶m, sizeof(param), 1, fp) != 1) - { - ereport(LOG, - (errcode_for_file_access(), - errmsg("could not write to file \"%s\": %m", tmpfilename))); - FreeFile(fp); - return -1; - } - - /* Release file */ - if (FreeFile(fp)) - { - ereport(LOG, - (errcode_for_file_access(), - errmsg("could not write to file \"%s\": %m", tmpfilename))); - return -1; - } - - /* Make sure caller set up argv properly */ - Assert(argc >= 3); - Assert(argv[argc] == NULL); - Assert(strncmp(argv[1], "--fork", 6) == 0); - Assert(argv[2] == NULL); - - /* Insert temp file name after --fork argument */ - argv[2] = tmpfilename; - - /* Fire off execv in child */ - if ((pid = fork_process()) == 0) - { - if (execv(postgres_exec_path, argv) < 0) - { - ereport(LOG, - (errmsg("could not execute server process \"%s\": %m", - postgres_exec_path))); - /* We're already in the child process here, can't return */ - exit(1); - } - } - - return pid; /* Parent returns pid, or -1 on fork failure */ -} -#else /* WIN32 */ - -/* - * internal_forkexec win32 implementation - * - * - starts backend using CreateProcess(), in suspended state - * - writes out backend variables to the parameter file - * - during this, duplicates handles and sockets required for - * inheritance into the new process - * - resumes execution of the new process once the backend parameter - * file is complete. - */ -static pid_t -internal_forkexec(int argc, char *argv[], Port *port) -{ - int retry_count = 0; - STARTUPINFO si; - PROCESS_INFORMATION pi; - int i; - int j; - char cmdLine[MAXPGPATH * 2]; - HANDLE paramHandle; - BackendParameters *param; - SECURITY_ATTRIBUTES sa; - char paramHandleStr[32]; - win32_deadchild_waitinfo *childinfo; - - /* Make sure caller set up argv properly */ - Assert(argc >= 3); - Assert(argv[argc] == NULL); - Assert(strncmp(argv[1], "--fork", 6) == 0); - Assert(argv[2] == NULL); - - /* Resume here if we need to retry */ -retry: - - /* Set up shared memory for parameter passing */ - ZeroMemory(&sa, sizeof(sa)); - sa.nLength = sizeof(sa); - sa.bInheritHandle = TRUE; - paramHandle = CreateFileMapping(INVALID_HANDLE_VALUE, - &sa, - PAGE_READWRITE, - 0, - sizeof(BackendParameters), - NULL); - if (paramHandle == INVALID_HANDLE_VALUE) - { - ereport(LOG, - (errmsg("could not create backend parameter file mapping: error code %lu", - GetLastError()))); - return -1; - } - - param = MapViewOfFile(paramHandle, FILE_MAP_WRITE, 0, 0, sizeof(BackendParameters)); - if (!param) - { - ereport(LOG, - (errmsg("could not map backend parameter memory: error code %lu", - GetLastError()))); - CloseHandle(paramHandle); - return -1; - } - - /* Insert temp file name after --fork argument */ -#ifdef _WIN64 - sprintf(paramHandleStr, "%llu", (LONG_PTR) paramHandle); -#else - sprintf(paramHandleStr, "%lu", (DWORD) paramHandle); -#endif - argv[2] = paramHandleStr; - - /* Format the cmd line */ - cmdLine[sizeof(cmdLine) - 1] = '\0'; - cmdLine[sizeof(cmdLine) - 2] = '\0'; - snprintf(cmdLine, sizeof(cmdLine) - 1, "\"%s\"", postgres_exec_path); - i = 0; - while (argv[++i] != NULL) - { - j = strlen(cmdLine); - snprintf(cmdLine + j, sizeof(cmdLine) - 1 - j, " \"%s\"", argv[i]); - } - if (cmdLine[sizeof(cmdLine) - 2] != '\0') - { - ereport(LOG, - (errmsg("subprocess command line too long"))); - UnmapViewOfFile(param); - CloseHandle(paramHandle); - return -1; - } - - memset(&pi, 0, sizeof(pi)); - memset(&si, 0, sizeof(si)); - si.cb = sizeof(si); - - /* - * Create the subprocess in a suspended state. This will be resumed later, - * once we have written out the parameter file. - */ - if (!CreateProcess(NULL, cmdLine, NULL, NULL, TRUE, CREATE_SUSPENDED, - NULL, NULL, &si, &pi)) - { - ereport(LOG, - (errmsg("CreateProcess() call failed: %m (error code %lu)", - GetLastError()))); - UnmapViewOfFile(param); - CloseHandle(paramHandle); - return -1; - } - - if (!save_backend_variables(param, port, pi.hProcess, pi.dwProcessId)) - { - /* - * log made by save_backend_variables, but we have to clean up the - * mess with the half-started process - */ - if (!TerminateProcess(pi.hProcess, 255)) - ereport(LOG, - (errmsg_internal("could not terminate unstarted process: error code %lu", - GetLastError()))); - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - UnmapViewOfFile(param); - CloseHandle(paramHandle); - return -1; /* log made by save_backend_variables */ - } - - /* Drop the parameter shared memory that is now inherited to the backend */ - if (!UnmapViewOfFile(param)) - ereport(LOG, - (errmsg("could not unmap view of backend parameter file: error code %lu", - GetLastError()))); - if (!CloseHandle(paramHandle)) - ereport(LOG, - (errmsg("could not close handle to backend parameter file: error code %lu", - GetLastError()))); - - /* - * Reserve the memory region used by our main shared memory segment before - * we resume the child process. Normally this should succeed, but if ASLR - * is active then it might sometimes fail due to the stack or heap having - * gotten mapped into that range. In that case, just terminate the - * process and retry. - */ - if (!pgwin32_ReserveSharedMemoryRegion(pi.hProcess)) - { - /* pgwin32_ReserveSharedMemoryRegion already made a log entry */ - if (!TerminateProcess(pi.hProcess, 255)) - ereport(LOG, - (errmsg_internal("could not terminate process that failed to reserve memory: error code %lu", - GetLastError()))); - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - if (++retry_count < 100) - goto retry; - ereport(LOG, - (errmsg("giving up after too many tries to reserve shared memory"), - errhint("This might be caused by ASLR or antivirus software."))); - return -1; - } - - /* - * Now that the backend variables are written out, we start the child - * thread so it can start initializing while we set up the rest of the - * parent state. - */ - if (ResumeThread(pi.hThread) == -1) - { - if (!TerminateProcess(pi.hProcess, 255)) - { - ereport(LOG, - (errmsg_internal("could not terminate unstartable process: error code %lu", - GetLastError()))); - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - return -1; - } - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - ereport(LOG, - (errmsg_internal("could not resume thread of unstarted process: error code %lu", - GetLastError()))); - return -1; - } - - /* - * Queue a waiter to signal when this child dies. The wait will be handled - * automatically by an operating system thread pool. - * - * Note: use malloc instead of palloc, since it needs to be thread-safe. - * Struct will be free():d from the callback function that runs on a - * different thread. - */ - childinfo = malloc(sizeof(win32_deadchild_waitinfo)); - if (!childinfo) - ereport(FATAL, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"))); - - childinfo->procHandle = pi.hProcess; - childinfo->procId = pi.dwProcessId; - - if (!RegisterWaitForSingleObject(&childinfo->waitHandle, - pi.hProcess, - pgwin32_deadchild_callback, - childinfo, - INFINITE, - WT_EXECUTEONLYONCE | WT_EXECUTEINWAITTHREAD)) - ereport(FATAL, - (errmsg_internal("could not register process for wait: error code %lu", - GetLastError()))); - - /* Don't close pi.hProcess here - the wait thread needs access to it */ - - CloseHandle(pi.hThread); - - return pi.dwProcessId; -} -#endif /* WIN32 */ - - -/* - * SubPostmasterMain -- Get the fork/exec'd process into a state equivalent - * to what it would be if we'd simply forked on Unix, and then - * dispatch to the appropriate place. - * - * The first two command line arguments are expected to be "--forkFOO" - * (where FOO indicates which postmaster child we are to become), and - * the name of a variables file that we can read to load data that would - * have been inherited by fork() on Unix. Remaining arguments go to the - * subprocess FooMain() routine. - */ -void -SubPostmasterMain(int argc, char *argv[]) -{ - Port port; - - /* In EXEC_BACKEND case we will not have inherited these settings */ - IsPostmasterEnvironment = true; - whereToSendOutput = DestNone; - - /* Setup essential subsystems (to ensure elog() behaves sanely) */ - InitializeGUCOptions(); - - /* Check we got appropriate args */ - if (argc < 3) - elog(FATAL, "invalid subpostmaster invocation"); - - /* Read in the variables file */ - memset(&port, 0, sizeof(Port)); - read_backend_variables(argv[2], &port); - - /* Close the postmaster's sockets (as soon as we know them) */ - ClosePostmasterPorts(strcmp(argv[1], "--forklog") == 0); - - /* Setup as postmaster child */ - InitPostmasterChild(); - - /* - * If appropriate, physically re-attach to shared memory segment. We want - * to do this before going any further to ensure that we can attach at the - * same address the postmaster used. On the other hand, if we choose not - * to re-attach, we may have other cleanup to do. - * - * If testing EXEC_BACKEND on Linux, you should run this as root before - * starting the postmaster: - * - * sysctl -w kernel.randomize_va_space=0 - * - * This prevents using randomized stack and code addresses that cause the - * child process's memory map to be different from the parent's, making it - * sometimes impossible to attach to shared memory at the desired address. - * Return the setting to its old value (usually '1' or '2') when finished. - */ - if (strcmp(argv[1], "--forkbackend") == 0 || - strcmp(argv[1], "--forkavlauncher") == 0 || - strcmp(argv[1], "--forkavworker") == 0 || - strcmp(argv[1], "--forkaux") == 0 || - strncmp(argv[1], "--forkbgworker=", 15) == 0) - PGSharedMemoryReAttach(); - else - PGSharedMemoryNoReAttach(); - - /* autovacuum needs this set before calling InitProcess */ - if (strcmp(argv[1], "--forkavlauncher") == 0) - AutovacuumLauncherIAm(); - if (strcmp(argv[1], "--forkavworker") == 0) - AutovacuumWorkerIAm(); - - /* Read in remaining GUC variables */ - read_nondefault_variables(); - - /* - * Check that the data directory looks valid, which will also check the - * privileges on the data directory and update our umask and file/group - * variables for creating files later. Note: this should really be done - * before we create any files or directories. - */ - checkDataDir(); - - /* - * (re-)read control file, as it contains config. The postmaster will - * already have read this, but this process doesn't know about that. - */ - LocalProcessControlFile(false); - - /* - * Reload any libraries that were preloaded by the postmaster. Since we - * exec'd this process, those libraries didn't come along with us; but we - * should load them into all child processes to be consistent with the - * non-EXEC_BACKEND behavior. - */ - process_shared_preload_libraries(); - - /* Run backend or appropriate child */ - if (strcmp(argv[1], "--forkbackend") == 0) - { - Assert(argc == 3); /* shouldn't be any more args */ - - /* - * Need to reinitialize the SSL library in the backend, since the - * context structures contain function pointers and cannot be passed - * through the parameter file. - * - * If for some reason reload fails (maybe the user installed broken - * key files), soldier on without SSL; that's better than all - * connections becoming impossible. - * - * XXX should we do this in all child processes? For the moment it's - * enough to do it in backend children. - */ -#ifdef USE_SSL - if (EnableSSL) - { - if (secure_initialize(false) == 0) - LoadedSSL = true; - else - ereport(LOG, - (errmsg("SSL configuration could not be loaded in child process"))); - } -#endif - - /* - * Perform additional initialization and collect startup packet. - * - * We want to do this before InitProcess() for a couple of reasons: 1. - * so that we aren't eating up a PGPROC slot while waiting on the - * client. 2. so that if InitProcess() fails due to being out of - * PGPROC slots, we have already initialized libpq and are able to - * report the error to the client. - */ - BackendInitialize(&port); - - /* Restore basic shared memory pointers */ - InitShmemAccess(UsedShmemSegAddr); - - /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ - InitProcess(); - - /* Attach process to shared data structures */ - CreateSharedMemoryAndSemaphores(); - - /* And run the backend */ - BackendRun(&port); /* does not return */ - } - if (strcmp(argv[1], "--forkaux") == 0) - { - AuxProcType auxtype; - - Assert(argc == 4); - - /* Restore basic shared memory pointers */ - InitShmemAccess(UsedShmemSegAddr); - - /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ - InitAuxiliaryProcess(); - - /* Attach process to shared data structures */ - CreateSharedMemoryAndSemaphores(); - - auxtype = atoi(argv[3]); - AuxiliaryProcessMain(auxtype); /* does not return */ - } - if (strcmp(argv[1], "--forkavlauncher") == 0) - { - /* Restore basic shared memory pointers */ - InitShmemAccess(UsedShmemSegAddr); - - /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ - InitProcess(); - - /* Attach process to shared data structures */ - CreateSharedMemoryAndSemaphores(); - - AutoVacLauncherMain(argc - 2, argv + 2); /* does not return */ - } - if (strcmp(argv[1], "--forkavworker") == 0) - { - /* Restore basic shared memory pointers */ - InitShmemAccess(UsedShmemSegAddr); - - /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ - InitProcess(); - - /* Attach process to shared data structures */ - CreateSharedMemoryAndSemaphores(); - - AutoVacWorkerMain(argc - 2, argv + 2); /* does not return */ - } - if (strncmp(argv[1], "--forkbgworker=", 15) == 0) - { - int shmem_slot; - - /* do this as early as possible; in particular, before InitProcess() */ - IsBackgroundWorker = true; - - /* Restore basic shared memory pointers */ - InitShmemAccess(UsedShmemSegAddr); - - /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */ - InitProcess(); - - /* Attach process to shared data structures */ - CreateSharedMemoryAndSemaphores(); - - /* Fetch MyBgworkerEntry from shared memory */ - shmem_slot = atoi(argv[1] + 15); - MyBgworkerEntry = BackgroundWorkerEntry(shmem_slot); - - StartBackgroundWorker(); - } - if (strcmp(argv[1], "--forklog") == 0) - { - /* Do not want to attach to shared memory */ - - SysLoggerMain(argc, argv); /* does not return */ - } - - abort(); /* shouldn't get here */ -} -#endif /* EXEC_BACKEND */ - - -/* - * ExitPostmaster -- cleanup - * - * Do NOT call exit() directly --- always go through here! - */ -#ifdef HAVE_PTHREAD_IS_THREADED_NP -#endif - -/* - * sigusr1_handler - handle signal conditions from child processes - */ -#ifdef WIN32 -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef USE_SYSTEMD -#endif -#ifdef WIN32 -#endif - -/* - * SIGTERM while processing startup packet. - * - * Running proc_exit() from a signal handler would be quite unsafe. - * However, since we have not yet touched shared memory, we can just - * pull the plug and exit without running any atexit handlers. - * - * One might be tempted to try to send a message, or log one, indicating - * why we are disconnecting. However, that would be quite unsafe in itself. - * Also, it seems undesirable to provide clues about the database's state - * to a client that has not yet completed authentication, or even sent us - * a startup packet. - */ - - -/* - * Dummy signal handler - * - * We use this for signals that we don't actually use in the postmaster, - * but we do use in backends. If we were to SIG_IGN such signals in the - * postmaster, then a newly started backend might drop a signal that arrives - * before it's able to reconfigure its signal processing. (See notes in - * tcop/postgres.c.) - */ - - -/* - * Timeout while processing startup packet. - * As for process_startup_packet_die(), we exit via _exit(1). - */ - - - -/* - * Generate a random cancel key. - */ - - -/* - * Count up number of child processes of specified types (dead_end children - * are always excluded). - */ - - - -/* - * StartChildProcess -- start an auxiliary process for the postmaster - * - * "type" determines what kind of child will be started. All child types - * initially go to AuxiliaryProcessMain, which will handle common setup. - * - * Return value of StartChildProcess is subprocess' PID, or 0 if failed - * to start subprocess. - */ -#ifdef EXEC_BACKEND -#else /* !EXEC_BACKEND */ -#endif /* EXEC_BACKEND */ - -/* - * StartAutovacuumWorker - * Start an autovac worker process. - * - * This function is here because it enters the resulting PID into the - * postmaster's private backends list. - * - * NB -- this code very roughly matches BackendStartup. - */ -#ifdef EXEC_BACKEND -#endif - -/* - * MaybeStartWalReceiver - * Start the WAL receiver process, if not running and our state allows. - * - * Note: if WalReceiverPID is already nonzero, it might seem that we should - * clear WalReceiverRequested. However, there's a race condition if the - * walreceiver terminates and the startup process immediately requests a new - * one: it's quite possible to get the signal for the request before reaping - * the dead walreceiver process. Better to risk launching an extra - * walreceiver than to miss launching one we need. (The walreceiver code - * has logic to recognize that it should go away if not needed.) - */ - - - -/* - * Create the opts file - */ -#define OPTS_FILE "postmaster.opts" - - -/* - * MaxLivePostmasterChildren - * - * This reports the number of entries needed in per-child-process arrays - * (the PMChildFlags array, and if EXEC_BACKEND the ShmemBackendArray). - * These arrays include regular backends, autovac workers, walsenders - * and background workers, but not special children nor dead_end children. - * This allows the arrays to have a fixed maximum size, to wit the same - * too-many-children limit enforced by canAcceptConnections(). The exact value - * isn't too critical as long as it's more than MaxBackends. - */ - - -/* - * Connect background worker to a database. - */ - - -/* - * Connect background worker to a database using OIDs. - */ - - -/* - * Block/unblock signals in a background worker - */ - - - - -#ifdef EXEC_BACKEND -static pid_t -bgworker_forkexec(int shmem_slot) -{ - char *av[10]; - int ac = 0; - char forkav[MAXPGPATH]; - - snprintf(forkav, MAXPGPATH, "--forkbgworker=%d", shmem_slot); - - av[ac++] = "postgres"; - av[ac++] = forkav; - av[ac++] = NULL; /* filled in by postmaster_forkexec */ - av[ac] = NULL; - - Assert(ac < lengthof(av)); - - return postmaster_forkexec(ac, av); -} -#endif - -/* - * Start a new bgworker. - * Starting time conditions must have been checked already. - * - * Returns true on success, false on failure. - * In either case, update the RegisteredBgWorker's state appropriately. - * - * This code is heavily based on autovacuum.c, q.v. - */ -#ifdef EXEC_BACKEND -#else -#endif -#ifndef EXEC_BACKEND -#endif -#ifdef EXEC_BACKEND -#endif - -/* - * Does the current postmaster state require starting a worker with the - * specified start_time? - */ - - -/* - * Allocate the Backend struct for a connected background worker, but don't - * add it to the list of backends just yet. - * - * On failure, return false without changing any worker state. - * - * Some info from the Backend is copied into the passed rw. - */ - - -/* - * If the time is right, start background worker(s). - * - * As a side effect, the bgworker control variables are set or reset - * depending on whether more workers may need to be started. - * - * We limit the number of workers started per call, to avoid consuming the - * postmaster's attention for too long when many such requests are pending. - * As long as StartWorkerNeeded is true, ServerLoop will not block and will - * call this function again after dealing with any other issues. - */ -#define MAX_BGWORKERS_TO_LAUNCH 100 - -/* - * When a backend asks to be notified about worker state changes, we - * set a flag in its backend entry. The background worker machinery needs - * to know when such backends exit. - */ - - -#ifdef EXEC_BACKEND - -/* - * The following need to be available to the save/restore_backend_variables - * functions. They are marked NON_EXEC_STATIC in their home modules. - */ -extern slock_t *ShmemLock; -extern slock_t *ProcStructLock; -extern PGPROC *AuxiliaryProcs; -extern PMSignalData *PMSignalState; -extern pg_time_t first_syslogger_file_time; - -#ifndef WIN32 -#define write_inheritable_socket(dest, src, childpid) ((*(dest) = (src)), true) -#define read_inheritable_socket(dest, src) (*(dest) = *(src)) -#else -static bool write_duplicated_handle(HANDLE *dest, HANDLE src, HANDLE child); -static bool write_inheritable_socket(InheritableSocket *dest, SOCKET src, - pid_t childPid); -static void read_inheritable_socket(SOCKET *dest, InheritableSocket *src); -#endif - - -/* Save critical backend variables into the BackendParameters struct */ -#ifndef WIN32 -static bool -save_backend_variables(BackendParameters *param, Port *port) -#else -static bool -save_backend_variables(BackendParameters *param, Port *port, - HANDLE childProcess, pid_t childPid) -#endif -{ - memcpy(¶m->port, port, sizeof(Port)); - if (!write_inheritable_socket(¶m->portsocket, port->sock, childPid)) - return false; - - strlcpy(param->DataDir, DataDir, MAXPGPATH); - - memcpy(¶m->ListenSocket, &ListenSocket, sizeof(ListenSocket)); - - param->MyCancelKey = MyCancelKey; - param->MyPMChildSlot = MyPMChildSlot; - -#ifdef WIN32 - param->ShmemProtectiveRegion = ShmemProtectiveRegion; -#endif - param->UsedShmemSegID = UsedShmemSegID; - param->UsedShmemSegAddr = UsedShmemSegAddr; - - param->ShmemLock = ShmemLock; - param->ShmemVariableCache = ShmemVariableCache; - param->ShmemBackendArray = ShmemBackendArray; - -#ifndef HAVE_SPINLOCKS - param->SpinlockSemaArray = SpinlockSemaArray; -#endif - param->NamedLWLockTrancheRequests = NamedLWLockTrancheRequests; - param->NamedLWLockTrancheArray = NamedLWLockTrancheArray; - param->MainLWLockArray = MainLWLockArray; - param->ProcStructLock = ProcStructLock; - param->ProcGlobal = ProcGlobal; - param->AuxiliaryProcs = AuxiliaryProcs; - param->PreparedXactProcs = PreparedXactProcs; - param->PMSignalState = PMSignalState; - - param->PostmasterPid = PostmasterPid; - param->PgStartTime = PgStartTime; - param->PgReloadTime = PgReloadTime; - param->first_syslogger_file_time = first_syslogger_file_time; - - param->redirection_done = redirection_done; - param->IsBinaryUpgrade = IsBinaryUpgrade; - param->query_id_enabled = query_id_enabled; - param->max_safe_fds = max_safe_fds; - - param->MaxBackends = MaxBackends; - -#ifdef WIN32 - param->PostmasterHandle = PostmasterHandle; - if (!write_duplicated_handle(¶m->initial_signal_pipe, - pgwin32_create_signal_listener(childPid), - childProcess)) - return false; -#else - memcpy(¶m->postmaster_alive_fds, &postmaster_alive_fds, - sizeof(postmaster_alive_fds)); -#endif - - memcpy(¶m->syslogPipe, &syslogPipe, sizeof(syslogPipe)); - - strlcpy(param->my_exec_path, my_exec_path, MAXPGPATH); - - strlcpy(param->pkglib_path, pkglib_path, MAXPGPATH); - - return true; -} - - -#ifdef WIN32 -/* - * Duplicate a handle for usage in a child process, and write the child - * process instance of the handle to the parameter file. - */ -static bool -write_duplicated_handle(HANDLE *dest, HANDLE src, HANDLE childProcess) -{ - HANDLE hChild = INVALID_HANDLE_VALUE; - - if (!DuplicateHandle(GetCurrentProcess(), - src, - childProcess, - &hChild, - 0, - TRUE, - DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS)) - { - ereport(LOG, - (errmsg_internal("could not duplicate handle to be written to backend parameter file: error code %lu", - GetLastError()))); - return false; - } - - *dest = hChild; - return true; -} - -/* - * Duplicate a socket for usage in a child process, and write the resulting - * structure to the parameter file. - * This is required because a number of LSPs (Layered Service Providers) very - * common on Windows (antivirus, firewalls, download managers etc) break - * straight socket inheritance. - */ -static bool -write_inheritable_socket(InheritableSocket *dest, SOCKET src, pid_t childpid) -{ - dest->origsocket = src; - if (src != 0 && src != PGINVALID_SOCKET) - { - /* Actual socket */ - if (WSADuplicateSocket(src, childpid, &dest->wsainfo) != 0) - { - ereport(LOG, - (errmsg("could not duplicate socket %d for use in backend: error code %d", - (int) src, WSAGetLastError()))); - return false; - } - } - return true; -} - -/* - * Read a duplicate socket structure back, and get the socket descriptor. - */ -static void -read_inheritable_socket(SOCKET *dest, InheritableSocket *src) -{ - SOCKET s; - - if (src->origsocket == PGINVALID_SOCKET || src->origsocket == 0) - { - /* Not a real socket! */ - *dest = src->origsocket; - } - else - { - /* Actual socket, so create from structure */ - s = WSASocket(FROM_PROTOCOL_INFO, - FROM_PROTOCOL_INFO, - FROM_PROTOCOL_INFO, - &src->wsainfo, - 0, - 0); - if (s == INVALID_SOCKET) - { - write_stderr("could not create inherited socket: error code %d\n", - WSAGetLastError()); - exit(1); - } - *dest = s; - - /* - * To make sure we don't get two references to the same socket, close - * the original one. (This would happen when inheritance actually - * works.. - */ - closesocket(src->origsocket); - } -} -#endif - -static void -read_backend_variables(char *id, Port *port) -{ - BackendParameters param; - -#ifndef WIN32 - /* Non-win32 implementation reads from file */ - FILE *fp; - - /* Open file */ - fp = AllocateFile(id, PG_BINARY_R); - if (!fp) - { - write_stderr("could not open backend variables file \"%s\": %s\n", - id, strerror(errno)); - exit(1); - } - - if (fread(¶m, sizeof(param), 1, fp) != 1) - { - write_stderr("could not read from backend variables file \"%s\": %s\n", - id, strerror(errno)); - exit(1); - } - - /* Release file */ - FreeFile(fp); - if (unlink(id) != 0) - { - write_stderr("could not remove file \"%s\": %s\n", - id, strerror(errno)); - exit(1); - } -#else - /* Win32 version uses mapped file */ - HANDLE paramHandle; - BackendParameters *paramp; - -#ifdef _WIN64 - paramHandle = (HANDLE) _atoi64(id); -#else - paramHandle = (HANDLE) atol(id); -#endif - paramp = MapViewOfFile(paramHandle, FILE_MAP_READ, 0, 0, 0); - if (!paramp) - { - write_stderr("could not map view of backend variables: error code %lu\n", - GetLastError()); - exit(1); - } - - memcpy(¶m, paramp, sizeof(BackendParameters)); - - if (!UnmapViewOfFile(paramp)) - { - write_stderr("could not unmap view of backend variables: error code %lu\n", - GetLastError()); - exit(1); - } - - if (!CloseHandle(paramHandle)) - { - write_stderr("could not close handle to backend parameter variables: error code %lu\n", - GetLastError()); - exit(1); - } -#endif - - restore_backend_variables(¶m, port); -} - -/* Restore critical backend variables from the BackendParameters struct */ -static void -restore_backend_variables(BackendParameters *param, Port *port) -{ - memcpy(port, ¶m->port, sizeof(Port)); - read_inheritable_socket(&port->sock, ¶m->portsocket); - - SetDataDir(param->DataDir); - - memcpy(&ListenSocket, ¶m->ListenSocket, sizeof(ListenSocket)); - - MyCancelKey = param->MyCancelKey; - MyPMChildSlot = param->MyPMChildSlot; - -#ifdef WIN32 - ShmemProtectiveRegion = param->ShmemProtectiveRegion; -#endif - UsedShmemSegID = param->UsedShmemSegID; - UsedShmemSegAddr = param->UsedShmemSegAddr; - - ShmemLock = param->ShmemLock; - ShmemVariableCache = param->ShmemVariableCache; - ShmemBackendArray = param->ShmemBackendArray; - -#ifndef HAVE_SPINLOCKS - SpinlockSemaArray = param->SpinlockSemaArray; -#endif - NamedLWLockTrancheRequests = param->NamedLWLockTrancheRequests; - NamedLWLockTrancheArray = param->NamedLWLockTrancheArray; - MainLWLockArray = param->MainLWLockArray; - ProcStructLock = param->ProcStructLock; - ProcGlobal = param->ProcGlobal; - AuxiliaryProcs = param->AuxiliaryProcs; - PreparedXactProcs = param->PreparedXactProcs; - PMSignalState = param->PMSignalState; - - PostmasterPid = param->PostmasterPid; - PgStartTime = param->PgStartTime; - PgReloadTime = param->PgReloadTime; - first_syslogger_file_time = param->first_syslogger_file_time; - - redirection_done = param->redirection_done; - IsBinaryUpgrade = param->IsBinaryUpgrade; - query_id_enabled = param->query_id_enabled; - max_safe_fds = param->max_safe_fds; - - MaxBackends = param->MaxBackends; - -#ifdef WIN32 - PostmasterHandle = param->PostmasterHandle; - pgwin32_initial_signal_pipe = param->initial_signal_pipe; -#else - memcpy(&postmaster_alive_fds, ¶m->postmaster_alive_fds, - sizeof(postmaster_alive_fds)); -#endif - - memcpy(&syslogPipe, ¶m->syslogPipe, sizeof(syslogPipe)); - - strlcpy(my_exec_path, param->my_exec_path, MAXPGPATH); - - strlcpy(pkglib_path, param->pkglib_path, MAXPGPATH); - - /* - * We need to restore fd.c's counts of externally-opened FDs; to avoid - * confusion, be sure to do this after restoring max_safe_fds. (Note: - * BackendInitialize will handle this for port->sock.) - */ -#ifndef WIN32 - if (postmaster_alive_fds[0] >= 0) - ReserveExternalFD(); - if (postmaster_alive_fds[1] >= 0) - ReserveExternalFD(); -#endif -} - - -Size -ShmemBackendArraySize(void) -{ - return mul_size(MaxLivePostmasterChildren(), sizeof(Backend)); -} - -void -ShmemBackendArrayAllocation(void) -{ - Size size = ShmemBackendArraySize(); - - ShmemBackendArray = (Backend *) ShmemAlloc(size); - /* Mark all slots as empty */ - memset(ShmemBackendArray, 0, size); -} - -static void -ShmemBackendArrayAdd(Backend *bn) -{ - /* The array slot corresponding to my PMChildSlot should be free */ - int i = bn->child_slot - 1; - - Assert(ShmemBackendArray[i].pid == 0); - ShmemBackendArray[i] = *bn; -} - -static void -ShmemBackendArrayRemove(Backend *bn) -{ - int i = bn->child_slot - 1; - - Assert(ShmemBackendArray[i].pid == bn->pid); - /* Mark the slot as empty */ - ShmemBackendArray[i].pid = 0; -} -#endif /* EXEC_BACKEND */ - - -#ifdef WIN32 - -/* - * Subset implementation of waitpid() for Windows. We assume pid is -1 - * (that is, check all child processes) and options is WNOHANG (don't wait). - */ -static pid_t -waitpid(pid_t pid, int *exitstatus, int options) -{ - DWORD dwd; - ULONG_PTR key; - OVERLAPPED *ovl; - - /* - * Check if there are any dead children. If there are, return the pid of - * the first one that died. - */ - if (GetQueuedCompletionStatus(win32ChildQueue, &dwd, &key, &ovl, 0)) - { - *exitstatus = (int) key; - return dwd; - } - - return -1; -} - -/* - * Note! Code below executes on a thread pool! All operations must - * be thread safe! Note that elog() and friends must *not* be used. - */ -static void WINAPI -pgwin32_deadchild_callback(PVOID lpParameter, BOOLEAN TimerOrWaitFired) -{ - win32_deadchild_waitinfo *childinfo = (win32_deadchild_waitinfo *) lpParameter; - DWORD exitcode; - - if (TimerOrWaitFired) - return; /* timeout. Should never happen, since we use - * INFINITE as timeout value. */ - - /* - * Remove handle from wait - required even though it's set to wait only - * once - */ - UnregisterWaitEx(childinfo->waitHandle, NULL); - - if (!GetExitCodeProcess(childinfo->procHandle, &exitcode)) - { - /* - * Should never happen. Inform user and set a fixed exitcode. - */ - write_stderr("could not read exit code for process\n"); - exitcode = 255; - } - - if (!PostQueuedCompletionStatus(win32ChildQueue, childinfo->procId, (ULONG_PTR) exitcode, NULL)) - write_stderr("could not post child completion status\n"); - - /* - * Handle is per-process, so we close it here instead of in the - * originating thread - */ - CloseHandle(childinfo->procHandle); - - /* - * Free struct that was allocated before the call to - * RegisterWaitForSingleObject() - */ - free(childinfo); - - /* Queue SIGCHLD signal */ - pg_queue_signal(SIGCHLD); -} -#endif /* WIN32 */ - -/* - * Initialize one and only handle for monitoring postmaster death. - * - * Called once in the postmaster, so that child processes can subsequently - * monitor if their parent is dead. - */ -#ifndef WIN32 -#else -#endif /* WIN32 */ diff --git a/parser/src_backend_storage_ipc_ipc.c b/parser/src_backend_storage_ipc_ipc.c index 09703912..28e168bb 100644 --- a/parser/src_backend_storage_ipc_ipc.c +++ b/parser/src_backend_storage_ipc_ipc.c @@ -15,7 +15,7 @@ * exit-time cleanup for either a postmaster or a backend. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_backend_storage_lmgr_s_lock.c b/parser/src_backend_storage_lmgr_s_lock.c deleted file mode 100644 index 16518ef3..00000000 --- a/parser/src_backend_storage_lmgr_s_lock.c +++ /dev/null @@ -1,371 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - s_lock - * - perform_spin_delay - * - spins_per_delay - * - s_lock_stuck - * - finish_spin_delay - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * s_lock.c - * Hardware-dependent implementation of spinlocks. - * - * When waiting for a contended spinlock we loop tightly for awhile, then - * delay using pg_usleep() and try again. Preferably, "awhile" should be a - * small multiple of the maximum time we expect a spinlock to be held. 100 - * iterations seems about right as an initial guess. However, on a - * uniprocessor the loop is a waste of cycles, while in a multi-CPU scenario - * it's usually better to spin a bit longer than to call the kernel, so we try - * to adapt the spin loop count depending on whether we seem to be in a - * uniprocessor or multiprocessor. - * - * Note: you might think MIN_SPINS_PER_DELAY should be just 1, but you'd - * be wrong; there are platforms where that can result in a "stuck - * spinlock" failure. This has been seen particularly on Alphas; it seems - * that the first TAS after returning from kernel space will always fail - * on that hardware. - * - * Once we do decide to block, we use randomly increasing pg_usleep() - * delays. The first delay is 1 msec, then the delay randomly increases to - * about one second, after which we reset to 1 msec and start again. The - * idea here is that in the presence of heavy contention we need to - * increase the delay, else the spinlock holder may never get to run and - * release the lock. (Consider situation where spinlock holder has been - * nice'd down in priority by the scheduler --- it will not get scheduled - * until all would-be acquirers are sleeping, so if we always use a 1-msec - * sleep, there is a real possibility of starvation.) But we can't just - * clamp the delay to an upper bound, else it would take a long time to - * make a reasonable number of tries. - * - * We time out and declare error after NUM_DELAYS delays (thus, exactly - * that many tries). With the given settings, this will usually take 2 or - * so minutes. It seems better to fix the total number of tries (and thus - * the probability of unintended failure) than to fix the total time - * spent. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/storage/lmgr/s_lock.c - * - *------------------------------------------------------------------------- - */ -#include "postgres.h" - -#include -#include - -#include "common/pg_prng.h" -#include "port/atomics.h" -#include "storage/s_lock.h" - -#define MIN_SPINS_PER_DELAY 10 -#define MAX_SPINS_PER_DELAY 1000 -#define NUM_DELAYS 1000 -#define MIN_DELAY_USEC 1000L -#define MAX_DELAY_USEC 1000000L - - - - -static __thread int spins_per_delay = DEFAULT_SPINS_PER_DELAY; - - - -/* - * s_lock_stuck() - complain about a stuck spinlock - */ -static void -s_lock_stuck(const char *file, int line, const char *func) -{ - if (!func) - func = "(unknown)"; -#if defined(S_LOCK_TEST) - fprintf(stderr, - "\nStuck spinlock detected at %s, %s:%d.\n", - func, file, line); - exit(1); -#else - elog(PANIC, "stuck spinlock detected at %s, %s:%d", - func, file, line); -#endif -} - -/* - * s_lock(lock) - platform-independent portion of waiting for a spinlock. - */ -int -s_lock(volatile slock_t *lock, const char *file, int line, const char *func) -{ - SpinDelayStatus delayStatus; - - init_spin_delay(&delayStatus, file, line, func); - - while (TAS_SPIN(lock)) - { - perform_spin_delay(&delayStatus); - } - - finish_spin_delay(&delayStatus); - - return delayStatus.delays; -} - -#ifdef USE_DEFAULT_S_UNLOCK -void -s_unlock(volatile slock_t *lock) -{ -#ifdef TAS_ACTIVE_WORD - /* HP's PA-RISC */ - *TAS_ACTIVE_WORD(lock) = -1; -#else - *lock = 0; -#endif -} -#endif - -/* - * Wait while spinning on a contended spinlock. - */ -void -perform_spin_delay(SpinDelayStatus *status) -{ - /* CPU-specific delay each time through the loop */ - SPIN_DELAY(); - - /* Block the process every spins_per_delay tries */ - if (++(status->spins) >= spins_per_delay) - { - if (++(status->delays) > NUM_DELAYS) - s_lock_stuck(status->file, status->line, status->func); - - if (status->cur_delay == 0) /* first time to delay? */ - status->cur_delay = MIN_DELAY_USEC; - - pg_usleep(status->cur_delay); - -#if defined(S_LOCK_TEST) - fprintf(stdout, "*"); - fflush(stdout); -#endif - - /* increase delay by a random fraction between 1X and 2X */ - status->cur_delay += (int) (status->cur_delay * - pg_prng_double(&pg_global_prng_state) + 0.5); - /* wrap back to minimum delay when max is exceeded */ - if (status->cur_delay > MAX_DELAY_USEC) - status->cur_delay = MIN_DELAY_USEC; - - status->spins = 0; - } -} - -/* - * After acquiring a spinlock, update estimates about how long to loop. - * - * If we were able to acquire the lock without delaying, it's a good - * indication we are in a multiprocessor. If we had to delay, it's a sign - * (but not a sure thing) that we are in a uniprocessor. Hence, we - * decrement spins_per_delay slowly when we had to delay, and increase it - * rapidly when we didn't. It's expected that spins_per_delay will - * converge to the minimum value on a uniprocessor and to the maximum - * value on a multiprocessor. - * - * Note: spins_per_delay is local within our current process. We want to - * average these observations across multiple backends, since it's - * relatively rare for this function to even get entered, and so a single - * backend might not live long enough to converge on a good value. That - * is handled by the two routines below. - */ -void -finish_spin_delay(SpinDelayStatus *status) -{ - if (status->cur_delay == 0) - { - /* we never had to delay */ - if (spins_per_delay < MAX_SPINS_PER_DELAY) - spins_per_delay = Min(spins_per_delay + 100, MAX_SPINS_PER_DELAY); - } - else - { - if (spins_per_delay > MIN_SPINS_PER_DELAY) - spins_per_delay = Max(spins_per_delay - 1, MIN_SPINS_PER_DELAY); - } -} - -/* - * Set local copy of spins_per_delay during backend startup. - * - * NB: this has to be pretty fast as it is called while holding a spinlock - */ - - -/* - * Update shared estimate of spins_per_delay during backend exit. - * - * NB: this has to be pretty fast as it is called while holding a spinlock - */ - - - -/* - * Various TAS implementations that cannot live in s_lock.h as no inline - * definition exists (yet). - * In the future, get rid of tas.[cso] and fold it into this file. - * - * If you change something here, you will likely need to modify s_lock.h too, - * because the definitions for these are split between this file and s_lock.h. - */ - - -#ifdef HAVE_SPINLOCKS /* skip spinlocks if requested */ - - -#if defined(__GNUC__) - -/* - * All the gcc flavors that are not inlined - */ - - -/* - * Note: all the if-tests here probably ought to be testing gcc version - * rather than platform, but I don't have adequate info to know what to - * write. Ideally we'd flush all this in favor of the inline version. - */ -#if defined(__m68k__) && !defined(__linux__) -/* really means: extern int tas(slock_t* **lock); */ -static void -tas_dummy() -{ - __asm__ __volatile__( -#if (defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__ELF__) -/* no underscore for label and % for registers */ - "\ -.global tas \n\ -tas: \n\ - movel %sp@(0x4),%a0 \n\ - tas %a0@ \n\ - beq _success \n\ - moveq #-128,%d0 \n\ - rts \n\ -_success: \n\ - moveq #0,%d0 \n\ - rts \n" -#else - "\ -.global _tas \n\ -_tas: \n\ - movel sp@(0x4),a0 \n\ - tas a0@ \n\ - beq _success \n\ - moveq #-128,d0 \n\ - rts \n\ -_success: \n\ - moveq #0,d0 \n\ - rts \n" -#endif /* (__NetBSD__ || __OpenBSD__) && __ELF__ */ - ); -} -#endif /* __m68k__ && !__linux__ */ -#endif /* not __GNUC__ */ -#endif /* HAVE_SPINLOCKS */ - - - -/*****************************************************************************/ -#if defined(S_LOCK_TEST) - -/* - * test program for verifying a port's spinlock support. - */ - -struct test_lock_struct -{ - char pad1; - slock_t lock; - char pad2; -}; - -volatile struct test_lock_struct test_lock; - -int -main() -{ - pg_prng_seed(&pg_global_prng_state, (uint64) time(NULL)); - - test_lock.pad1 = test_lock.pad2 = 0x44; - - S_INIT_LOCK(&test_lock.lock); - - if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) - { - printf("S_LOCK_TEST: failed, declared datatype is wrong size\n"); - return 1; - } - - if (!S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not initialized\n"); - return 1; - } - - S_LOCK(&test_lock.lock); - - if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) - { - printf("S_LOCK_TEST: failed, declared datatype is wrong size\n"); - return 1; - } - - if (S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not locked\n"); - return 1; - } - - S_UNLOCK(&test_lock.lock); - - if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) - { - printf("S_LOCK_TEST: failed, declared datatype is wrong size\n"); - return 1; - } - - if (!S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not unlocked\n"); - return 1; - } - - S_LOCK(&test_lock.lock); - - if (test_lock.pad1 != 0x44 || test_lock.pad2 != 0x44) - { - printf("S_LOCK_TEST: failed, declared datatype is wrong size\n"); - return 1; - } - - if (S_LOCK_FREE(&test_lock.lock)) - { - printf("S_LOCK_TEST: failed, lock not re-locked\n"); - return 1; - } - - printf("S_LOCK_TEST: this will print %d stars and then\n", NUM_DELAYS); - printf(" exit with a 'stuck spinlock' message\n"); - printf(" if S_LOCK() and TAS() are working.\n"); - fflush(stdout); - - s_lock(&test_lock.lock, __FILE__, __LINE__, PG_FUNCNAME_MACRO); - - printf("S_LOCK_TEST: failed, lock not locked\n"); - return 1; -} - -#endif /* S_LOCK_TEST */ diff --git a/parser/src_backend_tcop_postgres.c b/parser/src_backend_tcop_postgres.c index 2ed5bad3..1af69bd7 100644 --- a/parser/src_backend_tcop_postgres.c +++ b/parser/src_backend_tcop_postgres.c @@ -1,12 +1,12 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: * - debug_query_string - * - whereToSendOutput - * - ProcessInterrupts - * - check_stack_depth * - stack_is_too_deep * - stack_base_ptr * - max_stack_depth_bytes + * - whereToSendOutput + * - ProcessInterrupts + * - check_stack_depth * - max_stack_depth *-------------------------------------------------------------------- */ @@ -16,7 +16,7 @@ * postgres.c * POSTGRES C Backend Interface * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -36,17 +36,12 @@ #include #include #include +#include #include -#ifdef HAVE_SYS_SELECT_H -#include -#endif -#ifdef HAVE_SYS_RESOURCE_H #include -#include -#endif -#ifndef HAVE_GETRUSAGE -#include "rusagestub.h" +#ifdef USE_VALGRIND +#include #endif #include "access/parallel.h" @@ -54,6 +49,7 @@ #include "access/xact.h" #include "catalog/pg_type.h" #include "commands/async.h" +#include "commands/event_trigger.h" #include "commands/prepare.h" #include "common/pg_prng.h" #include "jit/jit.h" @@ -88,12 +84,15 @@ #include "tcop/pquery.h" #include "tcop/tcopprot.h" #include "tcop/utility.h" +#include "utils/guc_hooks.h" +#include "utils/injection_point.h" #include "utils/lsyscache.h" #include "utils/memutils.h" #include "utils/ps_status.h" #include "utils/snapmgr.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/varlena.h" /* ---------------- * global variables @@ -121,6 +120,9 @@ __thread int max_stack_depth = 100; /* Time between checks that the client is still connected. */ +/* flags for non-system relation kinds to restrict use */ + + /* ---------------- * private typedefs etc * ---------------- @@ -150,13 +152,6 @@ static __thread long max_stack_depth_bytes = 100 * 1024L; static __thread char *stack_base_ptr = NULL; -/* - * On IA64 we also have to remember the register stack base. - */ -#if defined(__ia64__) || defined(__ia64) -static char *register_stack_base_ptr = NULL; -#endif - /* * Flag to keep track of whether we have started a transaction. * For extended query protocol this has to be remembered across messages. @@ -193,7 +188,6 @@ static char *register_stack_base_ptr = NULL; - /* reused buffer to pass to SendRowDescriptionMessage() */ @@ -211,7 +205,6 @@ static bool check_log_statement(List *stmt_list); static int errdetail_execute(List *raw_parsetree_list); static int errdetail_params(ParamListInfo params); static int errdetail_abort(void); -static int errdetail_recovery_conflict(void); static void bind_param_error_callback(void *arg); static void start_xact_command(void); static void finish_xact_command(void); @@ -224,6 +217,36 @@ static void enable_statement_timeout(void); static void disable_statement_timeout(void); +/* ---------------------------------------------------------------- + * infrastructure for valgrind debugging + * ---------------------------------------------------------------- + */ +#ifdef USE_VALGRIND +/* This variable should be set at the top of the main loop. */ +static unsigned int old_valgrind_error_count; + +/* + * If Valgrind detected any errors since old_valgrind_error_count was updated, + * report the current query as the cause. This should be called at the end + * of message processing. + */ +static void +valgrind_report_error_query(const char *query) +{ + unsigned int valgrind_error_count = VALGRIND_COUNT_ERRORS; + + if (unlikely(valgrind_error_count != old_valgrind_error_count) && + query != NULL) + VALGRIND_PRINTF("Valgrind detected %u error(s) during execution of \"%s\"\n", + valgrind_error_count - old_valgrind_error_count, + query); +} + +#else /* !USE_VALGRIND */ +#define valgrind_report_error_query(query) ((void) 0) +#endif /* USE_VALGRIND */ + + /* ---------------------------------------------------------------- * routines to obtain user input * ---------------------------------------------------------------- @@ -305,6 +328,8 @@ static void disable_statement_timeout(void); */ #ifdef COPY_PARSE_PLAN_TREES #endif +#ifdef WRITE_READ_PARSE_PLAN_TREES +#endif /* * Given a raw parsetree (gram.y output), and optionally information about @@ -535,10 +560,18 @@ static void disable_statement_timeout(void); /* - * RecoveryConflictInterrupt: out-of-line portion of recovery conflict - * handling following receipt of SIGUSR1. Designed to be similar to die() - * and StatementCancelHandler(). Called only by a normal user backend - * that begins a transaction during recovery. + * Tell the next CHECK_FOR_INTERRUPTS() to check for a particular type of + * recovery conflict. Runs in a SIGUSR1 handler. + */ + + +/* + * Check one individual conflict reason. + */ + + +/* + * Check each possible recovery conflict reason. */ @@ -558,45 +591,6 @@ static void disable_statement_timeout(void); void ProcessInterrupts(void) {} - -/* - * IA64-specific code to fetch the AR.BSP register for stack depth checks. - * - * We currently support gcc, icc, and HP-UX's native compiler here. - * - * Note: while icc accepts gcc asm blocks on x86[_64], this is not true on - * ia64 (at least not in icc versions before 12.x). So we have to carry a - * separate implementation for it. - */ -#if defined(__ia64__) || defined(__ia64) - -#if defined(__hpux) && !defined(__GNUC__) && !defined(__INTEL_COMPILER) -/* Assume it's HP-UX native compiler */ -#include -#define ia64_get_bsp() ((char *) (_Asm_mov_from_ar(_AREG_BSP, _NO_FENCE))) -#elif defined(__INTEL_COMPILER) -/* icc */ -#include -#define ia64_get_bsp() ((char *) __getReg(_IA64_REG_AR_BSP)) -#else -/* gcc */ -static __inline__ char * -ia64_get_bsp(void) -{ - char *ret; - - /* the ;; is a "stop", seems to be required before fetching BSP */ - __asm__ __volatile__( - ";;\n" - " mov %0=ar.bsp \n" -: "=r"(ret)); - - return ret; -} -#endif -#endif /* IA64 */ - - /* * set_stack_base: set up reference point for stack depth checking * @@ -604,14 +598,9 @@ ia64_get_bsp(void) */ #ifndef HAVE__BUILTIN_FRAME_ADDRESS #endif -#if defined(__ia64__) || defined(__ia64) -#else -#endif #ifdef HAVE__BUILTIN_FRAME_ADDRESS #else #endif -#if defined(__ia64__) || defined(__ia64) -#endif /* * restore_stack_base: restore reference point for stack depth checking @@ -622,9 +611,7 @@ ia64_get_bsp(void) * the main thread's stack, so it sets the base pointer before the call, and * restores it afterwards. */ -#if defined(__ia64__) || defined(__ia64) -#else -#endif + /* * check_stack_depth/stack_is_too_deep: check for excessively deep recursion @@ -680,22 +667,6 @@ stack_is_too_deep(void) stack_base_ptr != NULL) return true; - /* - * On IA64 there is a separate "register" stack that requires its own - * independent check. For this, we have to measure the change in the - * "BSP" pointer from PostgresMain to here. Logic is just as above, - * except that we know IA64's register stack grows up. - * - * Note we assume that the same max_stack_depth applies to both stacks. - */ -#if defined(__ia64__) || defined(__ia64) - stack_depth = (long) (ia64_get_bsp() - register_stack_base_ptr); - - if (stack_depth > max_stack_depth_bytes && - register_stack_base_ptr != NULL) - return true; -#endif /* IA64 */ - return false; } @@ -705,6 +676,40 @@ stack_is_too_deep(void) /* GUC assign hook for max_stack_depth */ +/* + * GUC check_hook for client_connection_check_interval + */ + + +/* + * GUC check_hook for log_parser_stats, log_planner_stats, log_executor_stats + * + * This function and check_log_stats interact to prevent their variables from + * being set in a disallowed combination. This is a hack that doesn't really + * work right; for example it might fail while applying pg_db_role_setting + * values even though the final state would have been acceptable. However, + * since these variables are legacy settings with little production usage, + * we tolerate that. + */ + + +/* + * GUC check_hook for log_statement_stats + */ + + +/* GUC assign hook for transaction_timeout */ + + +/* + * GUC check_hook for restrict_nonsystem_relation_kind + */ + + +/* + * GUC assign_hook for restrict_nonsystem_relation_kind + */ + /* * set_debug_options --- apply "-d N" command line option @@ -769,7 +774,8 @@ stack_is_too_deep(void) * if reasonably possible. * ---------------------------------------------------------------- */ - +#ifdef USE_VALGRIND +#endif /* * Throw an error if we're a WAL sender process. @@ -786,11 +792,8 @@ stack_is_too_deep(void) * * Return -1 if unknown */ -#if defined(HAVE_GETRLIMIT) && defined(RLIMIT_STACK) -#else /* no getrlimit */ -#if defined(WIN32) || defined(__CYGWIN__) -#else /* not windows ... give up */ -#endif +#if defined(HAVE_GETRLIMIT) +#else #endif @@ -799,11 +802,11 @@ stack_is_too_deep(void) -#if defined(HAVE_GETRUSAGE) +#ifndef WIN32 #if defined(__darwin__) #else #endif -#endif /* HAVE_GETRUSAGE */ +#endif /* !WIN32 */ /* * on_proc_exit handler to log end of session diff --git a/parser/src_backend_utils_activity_pgstat_database.c b/parser/src_backend_utils_activity_pgstat_database.c index e6ce060f..315d637e 100644 --- a/parser/src_backend_utils_activity_pgstat_database.c +++ b/parser/src_backend_utils_activity_pgstat_database.c @@ -14,7 +14,7 @@ * storage implementation and the details about individual types of * statistics. * - * Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Copyright (c) 2001-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/backend/utils/activity/pgstat_database.c @@ -23,9 +23,9 @@ #include "postgres.h" +#include "storage/procsignal.h" #include "utils/pgstat_internal.h" #include "utils/timestamp.h" -#include "storage/procsignal.h" static bool pgstat_should_report_connstat(void); @@ -130,8 +130,8 @@ __thread SessionEndType pgStatSessionEndCause = DISCONNECT_NORMAL; /* * Flush out pending stats for the entry * - * If nowait is true, this function returns false if lock could not - * immediately acquired, otherwise true is returned. + * If nowait is true and the lock could not be immediately acquired, returns + * false without flushing the entry. Otherwise returns true. */ #define PGSTAT_ACCUM_DBCOUNT(item) \ (sharedent)->stats.item += (pendingent)->item diff --git a/parser/src_backend_utils_adt_datum.c b/parser/src_backend_utils_adt_datum.c index 853ef924..dbe92a9e 100644 --- a/parser/src_backend_utils_adt_datum.c +++ b/parser/src_backend_utils_adt_datum.c @@ -11,7 +11,7 @@ * datum.c * POSTGRES Datum (abstract data type) manipulation routines. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -53,9 +53,9 @@ #include "access/detoast.h" #include "common/hashfn.h" #include "fmgr.h" -#include "utils/builtins.h" #include "utils/datum.h" #include "utils/expandeddatum.h" +#include "utils/fmgrprotos.h" /*------------------------------------------------------------------------- diff --git a/parser/src_backend_utils_adt_expandeddatum.c b/parser/src_backend_utils_adt_expandeddatum.c index f4c8fcd2..632ce2f7 100644 --- a/parser/src_backend_utils_adt_expandeddatum.c +++ b/parser/src_backend_utils_adt_expandeddatum.c @@ -11,7 +11,7 @@ * expandeddatum.c * Support functions for "expanded" value representations. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_backend_utils_adt_format_type.c b/parser/src_backend_utils_adt_format_type.c index db7a7412..e5c30e00 100644 --- a/parser/src_backend_utils_adt_format_type.c +++ b/parser/src_backend_utils_adt_format_type.c @@ -10,7 +10,7 @@ * Display type names "nicely". * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION diff --git a/parser/src_backend_utils_adt_numutils.c b/parser/src_backend_utils_adt_numutils.c new file mode 100644 index 00000000..60733b86 --- /dev/null +++ b/parser/src_backend_utils_adt_numutils.c @@ -0,0 +1,488 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - pg_strtoint32_safe + * - hexlookup + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * numutils.c + * utility functions for I/O of built-in numeric types. + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * + * IDENTIFICATION + * src/backend/utils/adt/numutils.c + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include +#include +#include + +#include "port/pg_bitutils.h" +#include "utils/builtins.h" + +/* + * A table of all two-digit numbers. This is used to speed up decimal digit + * generation by copying pairs of digits into the final output. + */ + + +/* + * Adapted from http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog10 + */ + + + + +static const int8 hexlookup[128] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, +}; + +/* + * Convert input string to a signed 16 bit integer. Input strings may be + * expressed in base-10, hexadecimal, octal, or binary format, all of which + * can be prefixed by an optional sign character, either '+' (the default) or + * '-' for negative numbers. Hex strings are recognized by the digits being + * prefixed by 0x or 0X while octal strings are recognized by the 0o or 0O + * prefix. The binary representation is recognized by the 0b or 0B prefix. + * + * Allows any number of leading or trailing whitespace characters. Digits may + * optionally be separated by a single underscore character. These can only + * come between digits and not before or after the digits. Underscores have + * no effect on the return value and are supported only to assist in improving + * the human readability of the input strings. + * + * pg_strtoint16() will throw ereport() upon bad input format or overflow; + * while pg_strtoint16_safe() instead returns such complaints in *escontext, + * if it's an ErrorSaveContext. +* + * NB: Accumulate input as an unsigned number, to deal with two's complement + * representation of the most negative number, which can't be represented as a + * signed positive number. + */ + + + + +/* + * Convert input string to a signed 32 bit integer. Input strings may be + * expressed in base-10, hexadecimal, octal, or binary format, all of which + * can be prefixed by an optional sign character, either '+' (the default) or + * '-' for negative numbers. Hex strings are recognized by the digits being + * prefixed by 0x or 0X while octal strings are recognized by the 0o or 0O + * prefix. The binary representation is recognized by the 0b or 0B prefix. + * + * Allows any number of leading or trailing whitespace characters. Digits may + * optionally be separated by a single underscore character. These can only + * come between digits and not before or after the digits. Underscores have + * no effect on the return value and are supported only to assist in improving + * the human readability of the input strings. + * + * pg_strtoint32() will throw ereport() upon bad input format or overflow; + * while pg_strtoint32_safe() instead returns such complaints in *escontext, + * if it's an ErrorSaveContext. + * + * NB: Accumulate input as an unsigned number, to deal with two's complement + * representation of the most negative number, which can't be represented as a + * signed positive number. + */ + + +int32 +pg_strtoint32_safe(const char *s, Node *escontext) +{ + const char *ptr = s; + const char *firstdigit; + uint32 tmp = 0; + bool neg = false; + unsigned char digit; + + /* + * The majority of cases are likely to be base-10 digits without any + * underscore separator characters. We'll first try to parse the string + * with the assumption that's the case and only fallback on a slower + * implementation which handles hex, octal and binary strings and + * underscores if the fastpath version cannot parse the string. + */ + + /* leave it up to the slow path to look for leading spaces */ + + if (*ptr == '-') + { + ptr++; + neg = true; + } + + /* a leading '+' is uncommon so leave that for the slow path */ + + /* process the first digit */ + digit = (*ptr - '0'); + + /* + * Exploit unsigned arithmetic to save having to check both the upper and + * lower bounds of the digit. + */ + if (likely(digit < 10)) + { + ptr++; + tmp = digit; + } + else + { + /* we need at least one digit */ + goto slow; + } + + /* process remaining digits */ + for (;;) + { + digit = (*ptr - '0'); + + if (digit >= 10) + break; + + ptr++; + + if (unlikely(tmp > -(PG_INT32_MIN / 10))) + goto out_of_range; + + tmp = tmp * 10 + digit; + } + + /* when the string does not end in a digit, let the slow path handle it */ + if (unlikely(*ptr != '\0')) + goto slow; + + if (neg) + { + /* check the negative equivalent will fit without overflowing */ + if (unlikely(tmp > (uint32) (-(PG_INT32_MIN + 1)) + 1)) + goto out_of_range; + return -((int32) tmp); + } + + if (unlikely(tmp > PG_INT32_MAX)) + goto out_of_range; + + return (int32) tmp; + +slow: + tmp = 0; + ptr = s; + /* no need to reset neg */ + + /* skip leading spaces */ + while (isspace((unsigned char) *ptr)) + ptr++; + + /* handle sign */ + if (*ptr == '-') + { + ptr++; + neg = true; + } + else if (*ptr == '+') + ptr++; + + /* process digits */ + if (ptr[0] == '0' && (ptr[1] == 'x' || ptr[1] == 'X')) + { + firstdigit = ptr += 2; + + for (;;) + { + if (isxdigit((unsigned char) *ptr)) + { + if (unlikely(tmp > -(PG_INT32_MIN / 16))) + goto out_of_range; + + tmp = tmp * 16 + hexlookup[(unsigned char) *ptr++]; + } + else if (*ptr == '_') + { + /* underscore must be followed by more digits */ + ptr++; + if (*ptr == '\0' || !isxdigit((unsigned char) *ptr)) + goto invalid_syntax; + } + else + break; + } + } + else if (ptr[0] == '0' && (ptr[1] == 'o' || ptr[1] == 'O')) + { + firstdigit = ptr += 2; + + for (;;) + { + if (*ptr >= '0' && *ptr <= '7') + { + if (unlikely(tmp > -(PG_INT32_MIN / 8))) + goto out_of_range; + + tmp = tmp * 8 + (*ptr++ - '0'); + } + else if (*ptr == '_') + { + /* underscore must be followed by more digits */ + ptr++; + if (*ptr == '\0' || *ptr < '0' || *ptr > '7') + goto invalid_syntax; + } + else + break; + } + } + else if (ptr[0] == '0' && (ptr[1] == 'b' || ptr[1] == 'B')) + { + firstdigit = ptr += 2; + + for (;;) + { + if (*ptr >= '0' && *ptr <= '1') + { + if (unlikely(tmp > -(PG_INT32_MIN / 2))) + goto out_of_range; + + tmp = tmp * 2 + (*ptr++ - '0'); + } + else if (*ptr == '_') + { + /* underscore must be followed by more digits */ + ptr++; + if (*ptr == '\0' || *ptr < '0' || *ptr > '1') + goto invalid_syntax; + } + else + break; + } + } + else + { + firstdigit = ptr; + + for (;;) + { + if (*ptr >= '0' && *ptr <= '9') + { + if (unlikely(tmp > -(PG_INT32_MIN / 10))) + goto out_of_range; + + tmp = tmp * 10 + (*ptr++ - '0'); + } + else if (*ptr == '_') + { + /* underscore may not be first */ + if (unlikely(ptr == firstdigit)) + goto invalid_syntax; + /* and it must be followed by more digits */ + ptr++; + if (*ptr == '\0' || !isdigit((unsigned char) *ptr)) + goto invalid_syntax; + } + else + break; + } + } + + /* require at least one digit */ + if (unlikely(ptr == firstdigit)) + goto invalid_syntax; + + /* allow trailing whitespace, but not other trailing chars */ + while (isspace((unsigned char) *ptr)) + ptr++; + + if (unlikely(*ptr != '\0')) + goto invalid_syntax; + + if (neg) + { + /* check the negative equivalent will fit without overflowing */ + if (tmp > (uint32) (-(PG_INT32_MIN + 1)) + 1) + goto out_of_range; + return -((int32) tmp); + } + + if (tmp > PG_INT32_MAX) + goto out_of_range; + + return (int32) tmp; + +out_of_range: + ereturn(escontext, 0, + (errcode(ERRCODE_NUMERIC_VALUE_OUT_OF_RANGE), + errmsg("value \"%s\" is out of range for type %s", + s, "integer"))); + +invalid_syntax: + ereturn(escontext, 0, + (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), + errmsg("invalid input syntax for type %s: \"%s\"", + "integer", s))); +} + +/* + * Convert input string to a signed 64 bit integer. Input strings may be + * expressed in base-10, hexadecimal, octal, or binary format, all of which + * can be prefixed by an optional sign character, either '+' (the default) or + * '-' for negative numbers. Hex strings are recognized by the digits being + * prefixed by 0x or 0X while octal strings are recognized by the 0o or 0O + * prefix. The binary representation is recognized by the 0b or 0B prefix. + * + * Allows any number of leading or trailing whitespace characters. Digits may + * optionally be separated by a single underscore character. These can only + * come between digits and not before or after the digits. Underscores have + * no effect on the return value and are supported only to assist in improving + * the human readability of the input strings. + * + * pg_strtoint64() will throw ereport() upon bad input format or overflow; + * while pg_strtoint64_safe() instead returns such complaints in *escontext, + * if it's an ErrorSaveContext. + * + * NB: Accumulate input as an unsigned number, to deal with two's complement + * representation of the most negative number, which can't be represented as a + * signed positive number. + */ + + + + +/* + * Convert input string to an unsigned 32 bit integer. + * + * Allows any number of leading or trailing whitespace characters. + * + * If endloc isn't NULL, store a pointer to the rest of the string there, + * so that caller can parse the rest. Otherwise, it's an error if anything + * but whitespace follows. + * + * typname is what is reported in error messages. + * + * If escontext points to an ErrorSaveContext node, that is filled instead + * of throwing an error; the caller must check SOFT_ERROR_OCCURRED() + * to detect errors. + */ +#if PG_UINT32_MAX != ULONG_MAX +#endif + +/* + * Convert input string to an unsigned 64 bit integer. + * + * Allows any number of leading or trailing whitespace characters. + * + * If endloc isn't NULL, store a pointer to the rest of the string there, + * so that caller can parse the rest. Otherwise, it's an error if anything + * but whitespace follows. + * + * typname is what is reported in error messages. + * + * If escontext points to an ErrorSaveContext node, that is filled instead + * of throwing an error; the caller must check SOFT_ERROR_OCCURRED() + * to detect errors. + */ + + +/* + * pg_itoa: converts a signed 16-bit integer to its string representation + * and returns strlen(a). + * + * Caller must ensure that 'a' points to enough memory to hold the result + * (at least 7 bytes, counting a leading sign and trailing NUL). + * + * It doesn't seem worth implementing this separately. + */ + + +/* + * pg_ultoa_n: converts an unsigned 32-bit integer to its string representation, + * not NUL-terminated, and returns the length of that string representation + * + * Caller must ensure that 'a' points to enough memory to hold the result (at + * least 10 bytes) + */ + + +/* + * pg_ltoa: converts a signed 32-bit integer to its string representation and + * returns strlen(a). + * + * It is the caller's responsibility to ensure that a is at least 12 bytes long, + * which is enough room to hold a minus sign, a maximally long int32, and the + * above terminating NUL. + */ + + +/* + * Get the decimal representation, not NUL-terminated, and return the length of + * same. Caller must ensure that a points to at least MAXINT8LEN bytes. + */ + + +/* + * pg_lltoa: converts a signed 64-bit integer to its string representation and + * returns strlen(a). + * + * Caller must ensure that 'a' points to enough memory to hold the result + * (at least MAXINT8LEN + 1 bytes, counting a leading sign and trailing NUL). + */ + + + +/* + * pg_ultostr_zeropad + * Converts 'value' into a decimal string representation stored at 'str'. + * 'minwidth' specifies the minimum width of the result; any extra space + * is filled up by prefixing the number with zeros. + * + * Returns the ending address of the string result (the last character written + * plus 1). Note that no NUL terminator is written. + * + * The intended use-case for this function is to build strings that contain + * multiple individual numbers, for example: + * + * str = pg_ultostr_zeropad(str, hours, 2); + * *str++ = ':'; + * str = pg_ultostr_zeropad(str, mins, 2); + * *str++ = ':'; + * str = pg_ultostr_zeropad(str, secs, 2); + * *str = '\0'; + * + * Note: Caller must ensure that 'str' points to enough memory to hold the + * result. + */ + + +/* + * pg_ultostr + * Converts 'value' into a decimal string representation stored at 'str'. + * + * Returns the ending address of the string result (the last character written + * plus 1). Note that no NUL terminator is written. + * + * The intended use-case for this function is to build strings that contain + * multiple individual numbers, for example: + * + * str = pg_ultostr(str, a); + * *str++ = ' '; + * str = pg_ultostr(str, b); + * *str = '\0'; + * + * Note: Caller must ensure that 'str' points to enough memory to hold the + * result. + */ + diff --git a/parser/src_backend_utils_adt_ruleutils.c b/parser/src_backend_utils_adt_ruleutils.c index c0974812..1b754921 100644 --- a/parser/src_backend_utils_adt_ruleutils.c +++ b/parser/src_backend_utils_adt_ruleutils.c @@ -2,6 +2,7 @@ * Symbols referenced in this file: * - quote_identifier * - quote_all_identifiers + * - quote_qualified_identifier *-------------------------------------------------------------------- */ @@ -11,7 +12,7 @@ * Functions to convert stored expressions/querytrees back to * source text * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -29,7 +30,6 @@ #include "access/amapi.h" #include "access/htup_details.h" #include "access/relation.h" -#include "access/sysattr.h" #include "access/table.h" #include "catalog/pg_aggregate.h" #include "catalog/pg_am.h" @@ -58,7 +58,6 @@ #include "optimizer/optimizer.h" #include "parser/parse_agg.h" #include "parser/parse_func.h" -#include "parser/parse_node.h" #include "parser/parse_oper.h" #include "parser/parse_relation.h" #include "parser/parser.h" @@ -122,14 +121,16 @@ typedef struct { StringInfo buf; /* output buffer to append to */ List *namespaces; /* List of deparse_namespace nodes */ + TupleDesc resultDesc; /* if top level of a view, the view's tupdesc */ + List *targetList; /* Current query level's SELECT targetlist */ List *windowClause; /* Current query level's WINDOW clause */ - List *windowTList; /* targetlist for resolving WINDOW clause */ int prettyFlags; /* enabling of pretty-print functions */ int wrapColumn; /* max line length, or -1 for no limit */ int indentLevel; /* current indent level for pretty-print */ bool varprefix; /* true to print prefixes on Vars */ - ParseExprKind special_exprkind; /* set only for exprkinds needing special - * handling */ + bool colNamesVisible; /* do we care about output column names? */ + bool inGroupBy; /* deparsing GROUP BY clause? */ + bool varInOrderBy; /* deparsing simple Var in ORDER BY? */ Bitmapset *appendparents; /* if not null, map child Vars of these relids * back to the parent rel */ } deparse_context; @@ -360,8 +361,7 @@ static char *pg_get_partkeydef_worker(Oid relid, int prettyFlags, bool attrsOnly, bool missing_ok); static char *pg_get_constraintdef_worker(Oid constraintId, bool fullCommand, int prettyFlags, bool missing_ok); -static text *pg_get_expr_worker(text *expr, Oid relid, const char *relname, - int prettyFlags); +static text *pg_get_expr_worker(text *expr, Oid relid, int prettyFlags); static int print_function_arguments(StringInfo buf, HeapTuple proctup, bool print_table_args, bool print_defaults); static void print_function_rettype(StringInfo buf, HeapTuple proctup); @@ -408,25 +408,19 @@ static void get_query_def(Query *query, StringInfo buf, List *parentnamespace, int prettyFlags, int wrapColumn, int startIndent); static void get_values_def(List *values_lists, deparse_context *context); static void get_with_clause(Query *query, deparse_context *context); -static void get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_select_query_def(Query *query, deparse_context *context); +static void get_insert_query_def(Query *query, deparse_context *context); +static void get_update_query_def(Query *query, deparse_context *context); static void get_update_query_targetlist_def(Query *query, List *targetList, deparse_context *context, RangeTblEntry *rte); -static void get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_delete_query_def(Query *query, deparse_context *context); +static void get_merge_query_def(Query *query, deparse_context *context); static void get_utility_query_def(Query *query, deparse_context *context); -static void get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); +static void get_basic_select_query(Query *query, deparse_context *context); +static void get_target_list(List *targetList, deparse_context *context); static void get_setop_query(Node *setOp, Query *query, - deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); + deparse_context *context); static Node *get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, deparse_context *context); @@ -445,6 +439,10 @@ static void resolve_special_varno(Node *node, deparse_context *context, rsv_callback callback, void *callback_arg); static Node *find_param_referent(Param *param, deparse_context *context, deparse_namespace **dpns_p, ListCell **ancestor_cell_p); +static SubPlan *find_param_generator(Param *param, deparse_context *context, + int *column_p); +static SubPlan *find_param_generator_initplan(Param *param, Plan *plan, + int *column_p); static void get_parameter(Param *param, deparse_context *context); static const char *get_simple_binary_op_name(OpExpr *expr); static bool isSimpleNode(Node *node, Node *parentNode, int prettyFlags); @@ -465,9 +463,15 @@ static void get_func_expr(FuncExpr *expr, deparse_context *context, bool showimplicit); static void get_agg_expr(Aggref *aggref, deparse_context *context, Aggref *original_aggref); +static void get_agg_expr_helper(Aggref *aggref, deparse_context *context, + Aggref *original_aggref, const char *funcname, + const char *options, bool is_json_objectagg); static void get_agg_combine_expr(Node *node, deparse_context *context, void *callback_arg); static void get_windowfunc_expr(WindowFunc *wfunc, deparse_context *context); +static void get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, + const char *funcname, const char *options, + bool is_json_objectagg); static bool get_func_sql_syntax(FuncExpr *expr, deparse_context *context); static void get_coercion_expr(Node *arg, deparse_context *context, Oid resulttype, int32 resulttypmod, @@ -475,6 +479,17 @@ static void get_coercion_expr(Node *arg, deparse_context *context, static void get_const_expr(Const *constval, deparse_context *context, int showtype); static void get_const_collation(Const *constval, deparse_context *context); +static void get_json_format(JsonFormat *format, StringInfo buf); +static void get_json_returning(JsonReturning *returning, StringInfo buf, + bool json_format_by_default); +static void get_json_constructor(JsonConstructorExpr *ctor, + deparse_context *context, bool showimplicit); +static void get_json_constructor_options(JsonConstructorExpr *ctor, + StringInfo buf); +static void get_json_agg_constructor(JsonConstructorExpr *ctor, + deparse_context *context, + const char *funcname, + bool is_json_objectagg); static void simple_quote_literal(StringInfo buf, const char *val); static void get_sublink_expr(SubLink *sublink, deparse_context *context); static void get_tablefunc(TableFunc *tf, deparse_context *context, @@ -483,6 +498,8 @@ static void get_from_clause(Query *query, const char *prefix, deparse_context *context); static void get_from_clause_item(Node *jtnode, Query *query, deparse_context *context); +static void get_rte_alias(RangeTblEntry *rte, int varno, bool use_as, + deparse_context *context); static void get_column_alias_list(deparse_columns *colinfo, deparse_context *context); static void get_from_clause_coldeflist(RangeTblFunction *rtfunc, @@ -500,13 +517,22 @@ static char *generate_qualified_relation_name(Oid relid); static char *generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind); + bool inGroupBy); static char *generate_operator_name(Oid operid, Oid arg1, Oid arg2); static void add_cast_to(StringInfo buf, Oid typid); static char *generate_qualified_type_name(Oid typid); static text *string_to_text(char *str); static char *flatten_reloptions(Oid relid); static void get_reloptions(StringInfo buf, Datum reloptions); +static void get_json_path_spec(Node *path_spec, deparse_context *context, + bool showimplicit); +static void get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, + deparse_context *context, + bool showimplicit); +static void get_json_table_nested_columns(TableFunc *tf, JsonTablePlan *plan, + deparse_context *context, + bool showimplicit, + bool needcomma); #define only_marker(rte) ((rte)->inh ? "" : "ONLY ") @@ -584,6 +610,9 @@ static void get_reloptions(StringInfo buf, Datum reloptions); /* Internal version that just reports the key-column definitions */ +/* Internal version, extensible with flags to control its behavior */ + + /* * Internal workhorse to decompile an index definition. * @@ -637,7 +666,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions); * * Returns the partition key specification, ie, the following: * - * PARTITION BY { RANGE | LIST | HASH } (column opt_collation opt_opclass [, ...]) + * { RANGE | LIST | HASH } (column opt_collation opt_opclass [, ...]) */ @@ -705,6 +734,11 @@ static void get_reloptions(StringInfo buf, Datum reloptions); * partial indexes, column default expressions, etc. We also support * Var-free expressions, for which the OID can be InvalidOid. * + * If the OID is nonzero but not actually valid, don't throw an error, + * just return NULL. This is a bit questionable, but it's what we've + * done historically, and it can help avoid unwanted failures when + * examining catalog entries for just-deleted relations. + * * We expect this function to work, or throw a reasonably clean error, * for any node tree that can appear in a catalog pg_node_tree column. * Query trees, such as those appearing in pg_rewrite.ev_action, are @@ -744,8 +778,8 @@ static void get_reloptions(StringInfo buf, Datum reloptions); * * Note: if you change the output format of this function, be careful not * to break psql's rules (in \ef and \sf) for identifying the start of the - * function body. To wit: the function body starts on a line that begins - * with "AS ", and no preceding line will look like that. + * function body. To wit: the function body starts on a line that begins with + * "AS ", "BEGIN ", or "RETURN ", and no preceding line will look like that. */ @@ -1147,9 +1181,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions); /* ---------- * get_target_list - Parse back a SELECT target list * - * This is also used for RETURNING lists in INSERT/UPDATE/DELETE. - * - * resultDesc and colNamesVisible are as for get_query_def() + * This is also used for RETURNING lists in INSERT/UPDATE/DELETE/MERGE. * ---------- */ @@ -1214,6 +1246,13 @@ static void get_reloptions(StringInfo buf, Datum reloptions); +/* ---------- + * get_merge_query_def - Parse back a MERGE parsetree + * ---------- + */ + + + /* ---------- * get_utility_query_def - Parse back a UTILITY parsetree * ---------- @@ -1286,6 +1325,20 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ +/* + * Try to find a subplan/initplan that emits the value for a PARAM_EXEC Param. + * + * If successful, return the generating subplan/initplan and set *column_p + * to the subplan's 0-based output column number. + * Otherwise, return NULL. + */ + + +/* + * Subroutine for find_param_generator: search one Plan node's initplans + */ + + /* * Display a Param appropriately. */ @@ -1339,6 +1392,15 @@ static void get_reloptions(StringInfo buf, Datum reloptions); + +/* + * get_json_expr_options + * + * Parse back common options for JSON_QUERY, JSON_VALUE, JSON_EXISTS and + * JSON_TABLE columns. + */ + + /* ---------- * get_rule_expr - Parse back an expression * @@ -1413,6 +1475,12 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ +/* + * get_agg_expr_helper - subroutine for get_agg_expr and + * get_json_agg_constructor + */ + + /* * This is a helper function for get_agg_expr(). It's used when we deparse * a combining Aggref; resolve_special_varno locates the corresponding partial @@ -1425,6 +1493,13 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ + +/* + * get_windowfunc_expr_helper - subroutine for get_windowfunc_expr and + * get_json_agg_constructor + */ + + /* * get_func_sql_syntax - Parse back a SQL-syntax function call * @@ -1463,6 +1538,36 @@ static void get_reloptions(StringInfo buf, Datum reloptions); */ +/* + * get_json_path_spec - Parse back a JSON path specification + */ + + +/* + * get_json_format - Parse back a JsonFormat node + */ + + +/* + * get_json_returning - Parse back a JsonReturning structure + */ + + +/* + * get_json_constructor - Parse back a JsonConstructorExpr node + */ + + +/* + * Append options, if any, to the JSON constructor being deparsed + */ + + +/* + * get_json_agg_constructor - Parse back an aggregate JsonConstructorExpr node + */ + + /* * simple_quote_literal - Format a string as a SQL literal, append to buf */ @@ -1476,6 +1581,28 @@ static void get_reloptions(StringInfo buf, Datum reloptions); +/* ---------- + * get_xmltable - Parse back a XMLTABLE function + * ---------- + */ + + +/* + * get_json_table_nested_columns - Parse back nested JSON_TABLE columns + */ + + +/* + * get_json_table_columns - Parse back JSON_TABLE columns + */ + + +/* ---------- + * get_json_table - Parse back a JSON_TABLE function + * ---------- + */ + + /* ---------- * get_tablefunc - Parse back a table function * ---------- @@ -1494,6 +1621,13 @@ static void get_reloptions(StringInfo buf, Datum reloptions); +/* + * get_rte_alias - print the relation's alias, if needed + * + * If printed, the alias is preceded by a space, or by " AS " if use_as is true. + */ + + /* * get_column_alias_list - print column alias list for an RTE * @@ -1533,7 +1667,7 @@ static void get_reloptions(StringInfo buf, Datum reloptions); /* * generate_opclass_name - * Compute the name to display for a opclass specified by OID + * Compute the name to display for an opclass specified by OID * * The result includes all necessary quoting and schema-prefixing. */ @@ -1644,7 +1778,18 @@ quote_identifier(const char *ident) * Return a name of the form qualifier.ident, or just ident if qualifier * is NULL, quoting each component if necessary. The result is palloc'd. */ +char * +quote_qualified_identifier(const char *qualifier, + const char *ident) +{ + StringInfoData buf; + initStringInfo(&buf); + if (qualifier) + appendStringInfo(&buf, "%s.", quote_identifier(qualifier)); + appendStringInfoString(&buf, quote_identifier(ident)); + return buf.data; +} /* * get_relation_name @@ -1688,6 +1833,8 @@ quote_identifier(const char *ident) * the output. For non-FuncExpr cases, has_variadic should be false and * use_variadic_p can be NULL. * + * inGroupBy must be true if we're deparsing a GROUP BY clause. + * * The result includes all necessary quoting and schema-prefixing. */ diff --git a/parser/src_backend_utils_error_assert.c b/parser/src_backend_utils_error_assert.c index 1533e5e6..61788949 100644 --- a/parser/src_backend_utils_error_assert.c +++ b/parser/src_backend_utils_error_assert.c @@ -9,7 +9,7 @@ * assert.c * Assert support code. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -34,20 +34,17 @@ */ void ExceptionalCondition(const char *conditionName, - const char *errorType, const char *fileName, int lineNumber) { /* Report the failure on stderr (or local equivalent) */ if (!PointerIsValid(conditionName) - || !PointerIsValid(fileName) - || !PointerIsValid(errorType)) + || !PointerIsValid(fileName)) write_stderr("TRAP: ExceptionalCondition: bad arguments in PID %d\n", (int) getpid()); else - write_stderr("TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n", - errorType, conditionName, - fileName, lineNumber, (int) getpid()); + write_stderr("TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n", + conditionName, fileName, lineNumber, (int) getpid()); /* Usually this shouldn't be needed, but make sure the msg went out */ fflush(stderr); diff --git a/parser/src_backend_utils_error_elog.c b/parser/src_backend_utils_error_elog.c index 6dfd560b..49b7311a 100644 --- a/parser/src_backend_utils_error_elog.c +++ b/parser/src_backend_utils_error_elog.c @@ -4,7 +4,6 @@ * - errstart * - PG_exception_stack * - write_stderr - * - err_gettext * - in_error_recursion_trouble * - error_context_stack * - errordata_stack_depth @@ -13,6 +12,8 @@ * - is_log_level_output * - should_output_to_client * - recursion_depth + * - get_error_stack_entry + * - set_stack_entry_domain * - errmsg_internal * - errcode * - errmsg @@ -23,11 +24,19 @@ * - pg_re_throw * - EmitErrorReport * - emit_log_hook + * - saved_timeval_set + * - formatted_log_time * - send_message_to_server_log * - send_message_to_frontend + * - pgwin32_dispatch_queued_signals + * - set_stack_entry_location * - matches_backtrace_functions + * - backtrace_function_list * - set_backtrace + * - FreeErrorDataContents * - geterrcode + * - errsave_start + * - errsave_finish * - errhint * - errposition * - internalerrposition @@ -38,6 +47,9 @@ * - errcontext_msg * - CopyErrorData * - FlushErrorState + * - pg_signal_queue + * - pg_signal_mask + * - pgwin32_dispatch_queued_signals *-------------------------------------------------------------------- */ @@ -86,7 +98,7 @@ * overflow.) * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -109,12 +121,12 @@ #include #endif -#include "access/transam.h" #include "access/xact.h" #include "libpq/libpq.h" #include "libpq/pqformat.h" #include "mb/pg_wchar.h" #include "miscadmin.h" +#include "nodes/miscnodes.h" #include "pgstat.h" #include "postmaster/bgworker.h" #include "postmaster/postmaster.h" @@ -122,9 +134,10 @@ #include "storage/ipc.h" #include "storage/proc.h" #include "tcop/tcopprot.h" -#include "utils/guc.h" +#include "utils/guc_hooks.h" #include "utils/memutils.h" #include "utils/ps_status.h" +#include "utils/varlena.h" /* In this module, access gettext() via err_gettext() */ @@ -159,6 +172,10 @@ __thread emit_log_hook_type emit_log_hook = NULL; +/* Processed form of backtrace_functions GUC */ +static __thread char *backtrace_function_list; + + #ifdef HAVE_SYSLOG /* @@ -199,13 +216,15 @@ static __thread int recursion_depth = 0; /* * Saved timeval and buffers for formatted timestamps that might be used by - * both log_line_prefix and csv logs. + * log_line_prefix, csv logs and JSON logs. */ +static __thread bool saved_timeval_set = false; #define FORMATTED_TS_LEN 128 +static __thread char formatted_log_time[FORMATTED_TS_LEN]; @@ -221,10 +240,17 @@ static __thread int recursion_depth = 0; static const char *err_gettext(const char *str) pg_attribute_format_arg(1); +static ErrorData *get_error_stack_entry(void); +static void set_stack_entry_domain(ErrorData *edata, const char *domain); +static void set_stack_entry_location(ErrorData *edata, + const char *filename, int lineno, + const char *funcname); +static bool matches_backtrace_functions(const char *funcname); static pg_noinline void set_backtrace(ErrorData *edata, int num_skip); static void set_errdata_field(MemoryContextData *cxt, char **ptr, const char *str); +static void FreeErrorDataContents(ErrorData *edata); static void write_console(const char *line, int len); -static const char *process_log_prefix_padding(const char *p, int *padding); +static const char *process_log_prefix_padding(const char *p, int *ppadding); static void log_line_prefix(StringInfo buf, ErrorData *edata); static void send_message_to_server_log(ErrorData *edata); static void send_message_to_frontend(ErrorData *edata); @@ -282,24 +308,8 @@ should_output_to_server(int elevel) /* * should_output_to_client --- should message of given elevel go to the client? */ -static inline bool -should_output_to_client(int elevel) -{ - if (whereToSendOutput == DestRemote && elevel != LOG_SERVER_ONLY) - { - /* - * client_min_messages is honored only after we complete the - * authentication handshake. This is required both for security - * reasons and because many clients can't handle NOTICE messages - * during authentication. - */ - if (ClientAuthInProgress) - return (elevel >= ERROR); - else - return (elevel >= client_min_messages || elevel == INFO); - } - return false; -} +static inline bool should_output_to_client(int elevel) { return false; } + /* @@ -332,18 +342,9 @@ in_error_recursion_trouble(void) * message, since there's a significant probability that that's exactly * what's causing the recursion. */ -static inline const char * -err_gettext(const char *str) -{ #ifdef ENABLE_NLS - if (in_error_recursion_trouble()) - return str; - else - return gettext(str); #else - return str; #endif -} /* * errstart_cold @@ -468,27 +469,13 @@ errstart(int elevel, const char *domain) debug_query_string = NULL; } } - if (++errordata_stack_depth >= ERRORDATA_STACK_SIZE) - { - /* - * Wups, stack not big enough. We treat this as a PANIC condition - * because it suggests an infinite loop of errors during error - * recovery. - */ - errordata_stack_depth = -1; /* make room on stack */ - ereport(PANIC, (errmsg_internal("ERRORDATA_STACK_SIZE exceeded"))); - } /* Initialize data for this error frame */ - edata = &errordata[errordata_stack_depth]; - MemSet(edata, 0, sizeof(ErrorData)); + edata = get_error_stack_entry(); edata->elevel = elevel; edata->output_to_server = output_to_server; edata->output_to_client = output_to_client; - /* the default text domain is the backend's */ - edata->domain = domain ? domain : PG_TEXTDOMAIN("postgres"); - /* initialize context_domain the same way (see set_errcontext_domain()) */ - edata->context_domain = edata->domain; + set_stack_entry_domain(edata, domain); /* Select default errcode based on elevel */ if (elevel >= ERROR) edata->sqlerrcode = ERRCODE_INTERNAL_ERROR; @@ -496,8 +483,6 @@ errstart(int elevel, const char *domain) edata->sqlerrcode = ERRCODE_WARNING; else edata->sqlerrcode = ERRCODE_SUCCESSFUL_COMPLETION; - /* errno is saved here so that error parameter eval can't change it */ - edata->saved_errno = errno; /* * Any allocations for this error state level should go into ErrorContext @@ -508,32 +493,6 @@ errstart(int elevel, const char *domain) return true; } -/* - * Checks whether the given funcname matches backtrace_functions; see - * check_backtrace_functions. - */ -static bool -matches_backtrace_functions(const char *funcname) -{ - char *p; - - if (!backtrace_symbol_list || funcname == NULL || funcname[0] == '\0') - return false; - - p = backtrace_symbol_list; - for (;;) - { - if (*p == '\0') /* end of backtrace_symbol_list */ - break; - - if (strcmp(funcname, p) == 0) - return true; - p += strlen(p) + 1; - } - - return false; -} - /* * errfinish --- end an error-reporting cycle * @@ -554,23 +513,7 @@ errfinish(const char *filename, int lineno, const char *funcname) CHECK_STACK_DEPTH(); /* Save the last few bits of error state into the stack entry */ - if (filename) - { - const char *slash; - - /* keep only base name, useful especially for vpath builds */ - slash = strrchr(filename, '/'); - if (slash) - filename = slash + 1; - /* Some Windows compilers use backslashes in __FILE__ strings */ - slash = strrchr(filename, '\\'); - if (slash) - filename = slash + 1; - } - - edata->filename = filename; - edata->lineno = lineno; - edata->funcname = funcname; + set_stack_entry_location(edata, filename, lineno, funcname); elevel = edata->elevel; @@ -580,6 +523,7 @@ errfinish(const char *filename, int lineno, const char *funcname) */ oldcontext = MemoryContextSwitchTo(ErrorContext); + /* Collect backtrace, if enabled and we didn't already */ if (!edata->backtrace && edata->funcname && backtrace_functions && @@ -630,31 +574,7 @@ errfinish(const char *filename, int lineno, const char *funcname) EmitErrorReport(); /* Now free up subsidiary data attached to stack entry, and release it */ - if (edata->message) - pfree(edata->message); - if (edata->detail) - pfree(edata->detail); - if (edata->detail_log) - pfree(edata->detail_log); - if (edata->hint) - pfree(edata->hint); - if (edata->context) - pfree(edata->context); - if (edata->backtrace) - pfree(edata->backtrace); - if (edata->schema_name) - pfree(edata->schema_name); - if (edata->table_name) - pfree(edata->table_name); - if (edata->column_name) - pfree(edata->column_name); - if (edata->datatype_name) - pfree(edata->datatype_name); - if (edata->constraint_name) - pfree(edata->constraint_name); - if (edata->internalquery) - pfree(edata->internalquery); - + FreeErrorDataContents(edata); errordata_stack_depth--; /* Exit error-handling context */ @@ -681,8 +601,7 @@ errfinish(const char *filename, int lineno, const char *funcname) * Any other code you might be tempted to add here should probably be * in an on_proc_exit or on_shmem_exit callback instead. */ - fflush(stdout); - fflush(stderr); + fflush(NULL); /* * Let the cumulative stats system know. Only mark the session as @@ -708,8 +627,7 @@ errfinish(const char *filename, int lineno, const char *funcname) * XXX: what if we are *in* the postmaster? abort() won't kill our * children... */ - fflush(stdout); - fflush(stderr); + fflush(NULL); abort(); } @@ -722,6 +640,242 @@ errfinish(const char *filename, int lineno, const char *funcname) } +/* + * errsave_start --- begin a "soft" error-reporting cycle + * + * If "context" isn't an ErrorSaveContext node, this behaves as + * errstart(ERROR, domain), and the errsave() macro ends up acting + * exactly like ereport(ERROR, ...). + * + * If "context" is an ErrorSaveContext node, but the node creator only wants + * notification of the fact of a soft error without any details, we just set + * the error_occurred flag in the ErrorSaveContext node and return false, + * which will cause us to skip the remaining error processing steps. + * + * Otherwise, create and initialize error stack entry and return true. + * Subsequently, errmsg() and perhaps other routines will be called to further + * populate the stack entry. Finally, errsave_finish() will be called to + * tidy up. + */ +bool +errsave_start(struct Node *context, const char *domain) +{ + ErrorSaveContext *escontext; + ErrorData *edata; + + /* + * Do we have a context for soft error reporting? If not, just punt to + * errstart(). + */ + if (context == NULL || !IsA(context, ErrorSaveContext)) + return errstart(ERROR, domain); + + /* Report that a soft error was detected */ + escontext = (ErrorSaveContext *) context; + escontext->error_occurred = true; + + /* Nothing else to do if caller wants no further details */ + if (!escontext->details_wanted) + return false; + + /* + * Okay, crank up a stack entry to store the info in. + */ + + recursion_depth++; + + /* Initialize data for this error frame */ + edata = get_error_stack_entry(); + edata->elevel = LOG; /* signal all is well to errsave_finish */ + set_stack_entry_domain(edata, domain); + /* Select default errcode based on the assumed elevel of ERROR */ + edata->sqlerrcode = ERRCODE_INTERNAL_ERROR; + + /* + * Any allocations for this error state level should go into the caller's + * context. We don't need to pollute ErrorContext, or even require it to + * exist, in this code path. + */ + edata->assoc_context = CurrentMemoryContext; + + recursion_depth--; + return true; +} + +/* + * errsave_finish --- end a "soft" error-reporting cycle + * + * If errsave_start() decided this was a regular error, behave as + * errfinish(). Otherwise, package up the error details and save + * them in the ErrorSaveContext node. + */ +void +errsave_finish(struct Node *context, const char *filename, int lineno, + const char *funcname) +{ + ErrorSaveContext *escontext = (ErrorSaveContext *) context; + ErrorData *edata = &errordata[errordata_stack_depth]; + + /* verify stack depth before accessing *edata */ + CHECK_STACK_DEPTH(); + + /* + * If errsave_start punted to errstart, then elevel will be ERROR or + * perhaps even PANIC. Punt likewise to errfinish. + */ + if (edata->elevel >= ERROR) + { + errfinish(filename, lineno, funcname); + pg_unreachable(); + } + + /* + * Else, we should package up the stack entry contents and deliver them to + * the caller. + */ + recursion_depth++; + + /* Save the last few bits of error state into the stack entry */ + set_stack_entry_location(edata, filename, lineno, funcname); + + /* Replace the LOG value that errsave_start inserted */ + edata->elevel = ERROR; + + /* + * We skip calling backtrace and context functions, which are more likely + * to cause trouble than provide useful context; they might act on the + * assumption that a transaction abort is about to occur. + */ + + /* + * Make a copy of the error info for the caller. All the subsidiary + * strings are already in the caller's context, so it's sufficient to + * flat-copy the stack entry. + */ + escontext->error_data = palloc_object(ErrorData); + memcpy(escontext->error_data, edata, sizeof(ErrorData)); + + /* Exit error-handling context */ + errordata_stack_depth--; + recursion_depth--; +} + + +/* + * get_error_stack_entry --- allocate and initialize a new stack entry + * + * The entry should be freed, when we're done with it, by calling + * FreeErrorDataContents() and then decrementing errordata_stack_depth. + * + * Returning the entry's address is just a notational convenience, + * since it had better be errordata[errordata_stack_depth]. + * + * Although the error stack is not large, we don't expect to run out of space. + * Using more than one entry implies a new error report during error recovery, + * which is possible but already suggests we're in trouble. If we exhaust the + * stack, almost certainly we are in an infinite loop of errors during error + * recovery, so we give up and PANIC. + * + * (Note that this is distinct from the recursion_depth checks, which + * guard against recursion while handling a single stack entry.) + */ +static ErrorData * +get_error_stack_entry(void) +{ + ErrorData *edata; + + /* Allocate error frame */ + errordata_stack_depth++; + if (unlikely(errordata_stack_depth >= ERRORDATA_STACK_SIZE)) + { + /* Wups, stack not big enough */ + errordata_stack_depth = -1; /* make room on stack */ + ereport(PANIC, (errmsg_internal("ERRORDATA_STACK_SIZE exceeded"))); + } + + /* Initialize error frame to all zeroes/NULLs */ + edata = &errordata[errordata_stack_depth]; + memset(edata, 0, sizeof(ErrorData)); + + /* Save errno immediately to ensure error parameter eval can't change it */ + edata->saved_errno = errno; + + return edata; +} + +/* + * set_stack_entry_domain --- fill in the internationalization domain + */ +static void +set_stack_entry_domain(ErrorData *edata, const char *domain) +{ + /* the default text domain is the backend's */ + edata->domain = domain ? domain : PG_TEXTDOMAIN("postgres"); + /* initialize context_domain the same way (see set_errcontext_domain()) */ + edata->context_domain = edata->domain; +} + +/* + * set_stack_entry_location --- fill in code-location details + * + * Store the values of __FILE__, __LINE__, and __func__ from the call site. + * We make an effort to normalize __FILE__, since compilers are inconsistent + * about how much of the path they'll include, and we'd prefer that the + * behavior not depend on that (especially, that it not vary with build path). + */ +static void +set_stack_entry_location(ErrorData *edata, + const char *filename, int lineno, + const char *funcname) +{ + if (filename) + { + const char *slash; + + /* keep only base name, useful especially for vpath builds */ + slash = strrchr(filename, '/'); + if (slash) + filename = slash + 1; + /* Some Windows compilers use backslashes in __FILE__ strings */ + slash = strrchr(filename, '\\'); + if (slash) + filename = slash + 1; + } + + edata->filename = filename; + edata->lineno = lineno; + edata->funcname = funcname; +} + +/* + * matches_backtrace_functions --- checks whether the given funcname matches + * backtrace_functions + * + * See check_backtrace_functions. + */ +static bool +matches_backtrace_functions(const char *funcname) +{ + const char *p; + + if (!backtrace_function_list || funcname == NULL || funcname[0] == '\0') + return false; + + p = backtrace_function_list; + for (;;) + { + if (*p == '\0') /* end of backtrace_function_list */ + break; + + if (strcmp(funcname, p) == 0) + return true; + p += strlen(p) + 1; + } + + return false; +} + + /* * errcode --- add SQLSTATE error code to the current error * @@ -752,8 +906,6 @@ errcode(int sqlerrcode) */ #ifdef EROFS #endif -#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */ -#endif /* * errcode_for_socket_access --- add SQLSTATE error code to the current error @@ -1214,6 +1366,14 @@ geterrcode(void) return edata->sqlerrcode; } +/* + * geterrlevel --- return the currently set error level + * + * This is only intended for use in error callback subroutines, since there + * is no other place outside elog.c where the concept is meaningful. + */ + + /* * geterrposition --- return the currently set error position (0 if none) * @@ -1292,6 +1452,14 @@ EmitErrorReport(void) CHECK_STACK_DEPTH(); oldcontext = MemoryContextSwitchTo(edata->assoc_context); + /* + * Reset the formatted timestamp fields before emitting any logs. This + * includes all the log destinations and emit_log_hook, as the latter + * could use log_line_prefix or the formatted timestamps. + */ + saved_timeval_set = false; + formatted_log_time[0] = '\0'; + /* * Call hook before sending message to log. The hook function is allowed * to turn off edata->output_to_server, so we must recheck that afterward. @@ -1351,7 +1519,21 @@ CopyErrorData(void) newedata = (ErrorData *) palloc(sizeof(ErrorData)); memcpy(newedata, edata, sizeof(ErrorData)); - /* Make copies of separately-allocated fields */ + /* + * Make copies of separately-allocated strings. Note that we copy even + * theoretically-constant strings such as filename. This is because those + * could point into JIT-created code segments that might get unloaded at + * transaction cleanup. In some cases we need the copied ErrorData to + * survive transaction boundaries, so we'd better copy those strings too. + */ + if (newedata->filename) + newedata->filename = pstrdup(newedata->filename); + if (newedata->funcname) + newedata->funcname = pstrdup(newedata->funcname); + if (newedata->domain) + newedata->domain = pstrdup(newedata->domain); + if (newedata->context_domain) + newedata->context_domain = pstrdup(newedata->context_domain); if (newedata->message) newedata->message = pstrdup(newedata->message); if (newedata->detail) @@ -1364,6 +1546,8 @@ CopyErrorData(void) newedata->context = pstrdup(newedata->context); if (newedata->backtrace) newedata->backtrace = pstrdup(newedata->backtrace); + if (newedata->message_id) + newedata->message_id = pstrdup(newedata->message_id); if (newedata->schema_name) newedata->schema_name = pstrdup(newedata->schema_name); if (newedata->table_name) @@ -1391,6 +1575,40 @@ CopyErrorData(void) */ +/* + * FreeErrorDataContents --- free the subsidiary data of an ErrorData. + * + * This can be used on either an error stack entry or a copied ErrorData. + */ +static void +FreeErrorDataContents(ErrorData *edata) +{ + if (edata->message) + pfree(edata->message); + if (edata->detail) + pfree(edata->detail); + if (edata->detail_log) + pfree(edata->detail_log); + if (edata->hint) + pfree(edata->hint); + if (edata->context) + pfree(edata->context); + if (edata->backtrace) + pfree(edata->backtrace); + if (edata->schema_name) + pfree(edata->schema_name); + if (edata->table_name) + pfree(edata->table_name); + if (edata->column_name) + pfree(edata->column_name); + if (edata->datatype_name) + pfree(edata->datatype_name); + if (edata->constraint_name) + pfree(edata->constraint_name); + if (edata->internalquery) + pfree(edata->internalquery); +} + /* * FlushErrorState --- flush the error state after error recovery * @@ -1411,7 +1629,7 @@ FlushErrorState(void) errordata_stack_depth = -1; recursion_depth = 0; /* Delete all data in ErrorContext */ - MemoryContextResetAndDeleteChildren(ErrorContext); + MemoryContextReset(ErrorContext); } /* @@ -1479,8 +1697,7 @@ pg_re_throw(void) } /* Doesn't return ... */ - ExceptionalCondition("pg_re_throw tried to return", "FailedAssertion", - __FILE__, __LINE__); + ExceptionalCondition("pg_re_throw tried to return", __FILE__, __LINE__); } @@ -1504,13 +1721,49 @@ pg_re_throw(void) +/* + * GUC check_hook for backtrace_functions + * + * We split the input string, where commas separate function names + * and certain whitespace chars are ignored, into a \0-separated (and + * \0\0-terminated) list of function names. This formulation allows + * easy scanning when an error is thrown while avoiding the use of + * non-reentrant strtok(), as well as keeping the output data in a + * single palloc() chunk. + */ + + +/* + * GUC assign_hook for backtrace_functions + */ + + +/* + * GUC check_hook for log_destination + */ #ifdef HAVE_SYSLOG +#endif +#ifdef WIN32 +#endif /* - * Set or update the parameters for syslog logging + * GUC assign_hook for log_destination */ +/* + * GUC assign_hook for syslog_ident + */ +#ifdef HAVE_SYSLOG +#endif + +/* + * GUC assign_hook for syslog_facility + */ +#ifdef HAVE_SYSLOG +#endif + +#ifdef HAVE_SYSLOG /* * Write a message line to syslog @@ -1524,108 +1777,12 @@ pg_re_throw(void) * interfaces (e.g. CreateFileA()) expect string arguments in this encoding. * Every process in a given system will find the same value at all times. */ -static int -GetACPEncoding(void) -{ - static int encoding = -2; - if (encoding == -2) - encoding = pg_codepage_to_encoding(GetACP()); - - return encoding; -} /* * Write a message line to the windows event log */ -static void -write_eventlog(int level, const char *line, int len) -{ - WCHAR *utf16; - int eventlevel = EVENTLOG_ERROR_TYPE; - static HANDLE evtHandle = INVALID_HANDLE_VALUE; - - if (evtHandle == INVALID_HANDLE_VALUE) - { - evtHandle = RegisterEventSource(NULL, - event_source ? event_source : DEFAULT_EVENT_SOURCE); - if (evtHandle == NULL) - { - evtHandle = INVALID_HANDLE_VALUE; - return; - } - } - - switch (level) - { - case DEBUG5: - case DEBUG4: - case DEBUG3: - case DEBUG2: - case DEBUG1: - case LOG: - case LOG_SERVER_ONLY: - case INFO: - case NOTICE: - eventlevel = EVENTLOG_INFORMATION_TYPE; - break; - case WARNING: - case WARNING_CLIENT_ONLY: - eventlevel = EVENTLOG_WARNING_TYPE; - break; - case ERROR: - case FATAL: - case PANIC: - default: - eventlevel = EVENTLOG_ERROR_TYPE; - break; - } - /* - * If message character encoding matches the encoding expected by - * ReportEventA(), call it to avoid the hazards of conversion. Otherwise, - * try to convert the message to UTF16 and write it with ReportEventW(). - * Fall back on ReportEventA() if conversion failed. - * - * Since we palloc the structure required for conversion, also fall - * through to writing unconverted if we have not yet set up - * CurrentMemoryContext. - * - * Also verify that we are not on our way into error recursion trouble due - * to error messages thrown deep inside pgwin32_message_to_UTF16(). - */ - if (!in_error_recursion_trouble() && - CurrentMemoryContext != NULL && - GetMessageEncoding() != GetACPEncoding()) - { - utf16 = pgwin32_message_to_UTF16(line, len, NULL); - if (utf16) - { - ReportEventW(evtHandle, - eventlevel, - 0, - 0, /* All events are Id 0 */ - NULL, - 1, - 0, - (LPCWSTR *) &utf16, - NULL); - /* XXX Try ReportEventA() when ReportEventW() fails? */ - - pfree(utf16); - return; - } - } - ReportEventA(evtHandle, - eventlevel, - 0, - 0, /* All events are Id 0 */ - NULL, - 1, - 0, - &line, - NULL); -} #endif /* WIN32 */ #ifdef WIN32 @@ -1677,7 +1834,12 @@ write_eventlog(int level, const char *line, int len) /* - * Format tag info for log lines; append to the provided buffer. + * Format log status information using Log_line_prefix. + */ + + +/* + * Format log status info; append to the provided buffer. */ @@ -1765,57 +1927,33 @@ static void send_message_to_frontend(ErrorData *edata) {} * not available). Used before ereport/elog can be used * safely (memory context, GUC load etc) */ + void write_stderr(const char *fmt,...) { - va_list ap; - -#ifdef WIN32 - char errbuf[2048]; /* Arbitrary size? */ -#endif - - fmt = _(fmt); - + va_list ap; va_start(ap, fmt); -#ifndef WIN32 - /* On Unix, we just fprintf to stderr */ vfprintf(stderr, fmt, ap); fflush(stderr); -#else - vsnprintf(errbuf, sizeof(errbuf), fmt, ap); - - /* - * On Win32, we print to stderr if running on a console, or write to - * eventlog if running as a service - */ - if (pgwin32_is_service()) /* Running as a service */ - { - write_eventlog(ERROR, errbuf, strlen(errbuf)); - } - else - { - /* Not running as service, write to stderr */ - write_console(errbuf, strlen(errbuf)); - fflush(stderr); - } -#endif va_end(ap); } + + /* - * Adjust the level of a recovery-related message per trace_recovery_messages. - * - * The argument is the default log level of the message, eg, DEBUG2. (This - * should only be applied to DEBUGn log messages, otherwise it's a no-op.) - * If the level is >= trace_recovery_messages, we return LOG, causing the - * message to be logged unconditionally (for most settings of - * log_min_messages). Otherwise, we return the argument unchanged. - * The message will then be shown based on the setting of log_min_messages. - * - * Intention is to keep this for at least the whole of the 9.0 production - * release, so we can more easily diagnose production problems in the field. - * It should go away eventually, though, because it's an ugly and - * hard-to-explain kluge. + * Write errors to stderr (or by equal means when stderr is + * not available) - va_list version */ +#ifdef WIN32 +#endif +#ifndef WIN32 +#else +#endif +#ifdef WIN32 +__thread volatile int pg_signal_queue; +__thread int pg_signal_mask; + +void pgwin32_dispatch_queued_signals(void) {} +#endif diff --git a/parser/src_backend_utils_fmgr_fmgr.c b/parser/src_backend_utils_fmgr_fmgr.c index 88db8236..55267248 100644 --- a/parser/src_backend_utils_fmgr_fmgr.c +++ b/parser/src_backend_utils_fmgr_fmgr.c @@ -9,7 +9,7 @@ * fmgr.c * The Postgres function manager. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -29,6 +29,7 @@ #include "lib/stringinfo.h" #include "miscadmin.h" #include "nodes/makefuncs.h" +#include "nodes/miscnodes.h" #include "nodes/nodeFuncs.h" #include "pgstat.h" #include "utils/acl.h" @@ -209,7 +210,9 @@ struct fmgr_security_definer_cache { FmgrInfo flinfo; /* lookup info for target function */ Oid userid; /* userid to set, or InvalidOid */ - ArrayType *proconfig; /* GUC values to set, or NULL */ + List *configNames; /* GUC names to set, or NIL */ + List *configHandles; /* GUC handles to set, or NIL */ + List *configValues; /* GUC values to set, or NIL */ Datum arg; /* passthrough argument for plugin modules */ }; @@ -366,6 +369,37 @@ FunctionCall6Coll(FmgrInfo *flinfo, Oid collation, Datum arg1, Datum arg2, */ +/* + * Call a previously-looked-up datatype input function, with non-exception + * handling of "soft" errors. + * + * This is basically like InputFunctionCall, but the converted Datum is + * returned into *result while the function result is true for success or + * false for failure. Also, the caller may pass an ErrorSaveContext node. + * (We declare that as "fmNodePtr" to avoid including nodes.h in fmgr.h.) + * + * If escontext points to an ErrorSaveContext, any "soft" errors detected by + * the input function will be reported by filling the escontext struct and + * returning false. (The caller can choose to test SOFT_ERROR_OCCURRED(), + * but checking the function result instead is usually cheaper.) + * + * If escontext does not point to an ErrorSaveContext, errors are reported + * via ereport(ERROR), so that there is no functional difference from + * InputFunctionCall; the result will always be true if control returns. + */ + + +/* + * Call a directly-named datatype input function, with non-exception + * handling of "soft" errors. + * + * This is like InputFunctionCallSafe, except that it is given a direct + * pointer to the C function to call. We assume that that function is + * strict. Also, the function cannot be one that needs to + * look at FmgrInfo, since there won't be any. + */ + + /* * Call a previously-looked-up datatype output function. * diff --git a/parser/src_backend_utils_hash_dynahash.c b/parser/src_backend_utils_hash_dynahash.c deleted file mode 100644 index 453767e9..00000000 --- a/parser/src_backend_utils_hash_dynahash.c +++ /dev/null @@ -1,1116 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - hash_search - * - hash_search_with_hash_value - * - has_seq_scans - * - num_seq_scans - * - seq_scan_tables - * - expand_table - * - dir_realloc - * - CurrentDynaHashCxt - * - seg_alloc - * - calc_bucket - * - hash_corrupted - * - DynaHashAlloc - * - get_hash_entry - * - element_alloc - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * dynahash.c - * dynamic chained hash tables - * - * dynahash.c supports both local-to-a-backend hash tables and hash tables in - * shared memory. For shared hash tables, it is the caller's responsibility - * to provide appropriate access interlocking. The simplest convention is - * that a single LWLock protects the whole hash table. Searches (HASH_FIND or - * hash_seq_search) need only shared lock, but any update requires exclusive - * lock. For heavily-used shared tables, the single-lock approach creates a - * concurrency bottleneck, so we also support "partitioned" locking wherein - * there are multiple LWLocks guarding distinct subsets of the table. To use - * a hash table in partitioned mode, the HASH_PARTITION flag must be given - * to hash_create. This prevents any attempt to split buckets on-the-fly. - * Therefore, each hash bucket chain operates independently, and no fields - * of the hash header change after init except nentries and freeList. - * (A partitioned table uses multiple copies of those fields, guarded by - * spinlocks, for additional concurrency.) - * This lets any subset of the hash buckets be treated as a separately - * lockable partition. We expect callers to use the low-order bits of a - * lookup key's hash value as a partition number --- this will work because - * of the way calc_bucket() maps hash values to bucket numbers. - * - * For hash tables in shared memory, the memory allocator function should - * match malloc's semantics of returning NULL on failure. For hash tables - * in local memory, we typically use palloc() which will throw error on - * failure. The code in this file has to cope with both cases. - * - * dynahash.c provides support for these types of lookup keys: - * - * 1. Null-terminated C strings (truncated if necessary to fit in keysize), - * compared as though by strcmp(). This is selected by specifying the - * HASH_STRINGS flag to hash_create. - * - * 2. Arbitrary binary data of size keysize, compared as though by memcmp(). - * (Caller must ensure there are no undefined padding bits in the keys!) - * This is selected by specifying the HASH_BLOBS flag to hash_create. - * - * 3. More complex key behavior can be selected by specifying user-supplied - * hashing, comparison, and/or key-copying functions. At least a hashing - * function must be supplied; comparison defaults to memcmp() and key copying - * to memcpy() when a user-defined hashing function is selected. - * - * Compared to simplehash, dynahash has the following benefits: - * - * - It supports partitioning, which is useful for shared memory access using - * locks. - * - Shared memory hashes are allocated in a fixed size area at startup and - * are discoverable by name from other processes. - * - Because entries don't need to be moved in the case of hash conflicts, - * dynahash has better performance for large entries. - * - Guarantees stable pointers to entries. - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/utils/hash/dynahash.c - * - *------------------------------------------------------------------------- - */ - -/* - * Original comments: - * - * Dynamic hashing, after CACM April 1988 pp 446-457, by Per-Ake Larson. - * Coded into C, with minor code improvements, and with hsearch(3) interface, - * by ejp@ausmelb.oz, Jul 26, 1988: 13:16; - * also, hcreate/hdestroy routines added to simulate hsearch(3). - * - * These routines simulate hsearch(3) and family, with the important - * difference that the hash table is dynamic - can grow indefinitely - * beyond its original size (as supplied to hcreate()). - * - * Performance appears to be comparable to that of hsearch(3). - * The 'source-code' options referred to in hsearch(3)'s 'man' page - * are not implemented; otherwise functionality is identical. - * - * Compilation controls: - * HASH_DEBUG controls some informative traces, mainly for debugging. - * HASH_STATISTICS causes HashAccesses and HashCollisions to be maintained; - * when combined with HASH_DEBUG, these are displayed by hdestroy(). - * - * Problems & fixes to ejp@ausmelb.oz. WARNING: relies on pre-processor - * concatenation property, in probably unnecessary code 'optimization'. - * - * Modified margo@postgres.berkeley.edu February 1990 - * added multiple table interface - * Modified by sullivan@postgres.berkeley.edu April 1990 - * changed ctl structure for shared memory - */ - -#include "postgres.h" - -#include - -#include "access/xact.h" -#include "common/hashfn.h" -#include "port/pg_bitutils.h" -#include "storage/shmem.h" -#include "storage/spin.h" -#include "utils/dynahash.h" -#include "utils/memutils.h" - - -/* - * Constants - * - * A hash table has a top-level "directory", each of whose entries points - * to a "segment" of ssize bucket headers. The maximum number of hash - * buckets is thus dsize * ssize (but dsize may be expansible). Of course, - * the number of records in the table can be larger, but we don't want a - * whole lot of records per bucket or performance goes down. - * - * In a hash table allocated in shared memory, the directory cannot be - * expanded because it must stay at a fixed address. The directory size - * should be selected using hash_select_dirsize (and you'd better have - * a good idea of the maximum number of entries!). For non-shared hash - * tables, the initial directory size can be left at the default. - */ -#define DEF_SEGSIZE 256 -#define DEF_SEGSIZE_SHIFT 8 /* must be log2(DEF_SEGSIZE) */ -#define DEF_DIRSIZE 256 - -/* Number of freelists to be used for a partitioned hash table. */ -#define NUM_FREELISTS 32 - -/* A hash bucket is a linked list of HASHELEMENTs */ -typedef HASHELEMENT *HASHBUCKET; - -/* A hash segment is an array of bucket headers */ -typedef HASHBUCKET *HASHSEGMENT; - -/* - * Per-freelist data. - * - * In a partitioned hash table, each freelist is associated with a specific - * set of hashcodes, as determined by the FREELIST_IDX() macro below. - * nentries tracks the number of live hashtable entries having those hashcodes - * (NOT the number of entries in the freelist, as you might expect). - * - * The coverage of a freelist might be more or less than one partition, so it - * needs its own lock rather than relying on caller locking. Relying on that - * wouldn't work even if the coverage was the same, because of the occasional - * need to "borrow" entries from another freelist; see get_hash_entry(). - * - * Using an array of FreeListData instead of separate arrays of mutexes, - * nentries and freeLists helps to reduce sharing of cache lines between - * different mutexes. - */ -typedef struct -{ - slock_t mutex; /* spinlock for this freelist */ - long nentries; /* number of entries in associated buckets */ - HASHELEMENT *freeList; /* chain of free elements */ -} FreeListData; - -/* - * Header structure for a hash table --- contains all changeable info - * - * In a shared-memory hash table, the HASHHDR is in shared memory, while - * each backend has a local HTAB struct. For a non-shared table, there isn't - * any functional difference between HASHHDR and HTAB, but we separate them - * anyway to share code between shared and non-shared tables. - */ -struct HASHHDR -{ - /* - * The freelist can become a point of contention in high-concurrency hash - * tables, so we use an array of freelists, each with its own mutex and - * nentries count, instead of just a single one. Although the freelists - * normally operate independently, we will scavenge entries from freelists - * other than a hashcode's default freelist when necessary. - * - * If the hash table is not partitioned, only freeList[0] is used and its - * spinlock is not used at all; callers' locking is assumed sufficient. - */ - FreeListData freeList[NUM_FREELISTS]; - - /* These fields can change, but not in a partitioned table */ - /* Also, dsize can't change in a shared table, even if unpartitioned */ - long dsize; /* directory size */ - long nsegs; /* number of allocated segments (<= dsize) */ - uint32 max_bucket; /* ID of maximum bucket in use */ - uint32 high_mask; /* mask to modulo into entire table */ - uint32 low_mask; /* mask to modulo into lower half of table */ - - /* These fields are fixed at hashtable creation */ - Size keysize; /* hash key length in bytes */ - Size entrysize; /* total user element size in bytes */ - long num_partitions; /* # partitions (must be power of 2), or 0 */ - long max_dsize; /* 'dsize' limit if directory is fixed size */ - long ssize; /* segment size --- must be power of 2 */ - int sshift; /* segment shift = log2(ssize) */ - int nelem_alloc; /* number of entries to allocate at once */ - -#ifdef HASH_STATISTICS - - /* - * Count statistics here. NB: stats code doesn't bother with mutex, so - * counts could be corrupted a bit in a partitioned table. - */ - long accesses; - long collisions; -#endif -}; - -#define IS_PARTITIONED(hctl) ((hctl)->num_partitions != 0) - -#define FREELIST_IDX(hctl, hashcode) \ - (IS_PARTITIONED(hctl) ? (hashcode) % NUM_FREELISTS : 0) - -/* - * Top control structure for a hashtable --- in a shared table, each backend - * has its own copy (OK since no fields change at runtime) - */ -struct HTAB -{ - HASHHDR *hctl; /* => shared control information */ - HASHSEGMENT *dir; /* directory of segment starts */ - HashValueFunc hash; /* hash function */ - HashCompareFunc match; /* key comparison function */ - HashCopyFunc keycopy; /* key copying function */ - HashAllocFunc alloc; /* memory allocator */ - MemoryContext hcxt; /* memory context if default allocator used */ - char *tabname; /* table name (for error messages) */ - bool isshared; /* true if table is in shared memory */ - bool isfixed; /* if true, don't enlarge */ - - /* freezing a shared table isn't allowed, so we can keep state here */ - bool frozen; /* true = no more inserts allowed */ - - /* We keep local copies of these fixed values to reduce contention */ - Size keysize; /* hash key length in bytes */ - long ssize; /* segment size --- must be power of 2 */ - int sshift; /* segment shift = log2(ssize) */ -}; - -/* - * Key (also entry) part of a HASHELEMENT - */ -#define ELEMENTKEY(helem) (((char *)(helem)) + MAXALIGN(sizeof(HASHELEMENT))) - -/* - * Obtain element pointer given pointer to key - */ -#define ELEMENT_FROM_KEY(key) \ - ((HASHELEMENT *) (((char *) (key)) - MAXALIGN(sizeof(HASHELEMENT)))) - -/* - * Fast MOD arithmetic, assuming that y is a power of 2 ! - */ -#define MOD(x,y) ((x) & ((y)-1)) - -#ifdef HASH_STATISTICS -static long hash_accesses, - hash_collisions, - hash_expansions; -#endif - -/* - * Private function prototypes - */ -static void *DynaHashAlloc(Size size); -static HASHSEGMENT seg_alloc(HTAB *hashp); -static bool element_alloc(HTAB *hashp, int nelem, int freelist_idx); -static bool dir_realloc(HTAB *hashp); -static bool expand_table(HTAB *hashp); -static HASHBUCKET get_hash_entry(HTAB *hashp, int freelist_idx); -static void hdefault(HTAB *hashp); -static int choose_nelem_alloc(Size entrysize); -static bool init_htab(HTAB *hashp, long nelem); -static void hash_corrupted(HTAB *hashp); -static long next_pow2_long(long num); -static int next_pow2_int(long num); -static void register_seq_scan(HTAB *hashp); -static void deregister_seq_scan(HTAB *hashp); -static bool has_seq_scans(HTAB *hashp); - - -/* - * memory allocation support - */ -static __thread MemoryContext CurrentDynaHashCxt = NULL; - - -static void * -DynaHashAlloc(Size size) -{ - Assert(MemoryContextIsValid(CurrentDynaHashCxt)); - return MemoryContextAlloc(CurrentDynaHashCxt, size); -} - - -/* - * HashCompareFunc for string keys - * - * Because we copy keys with strlcpy(), they will be truncated at keysize-1 - * bytes, so we can only compare that many ... hence strncmp is almost but - * not quite the right thing. - */ - - - -/************************** CREATE ROUTINES **********************/ - -/* - * hash_create -- create a new dynamic hash table - * - * tabname: a name for the table (for debugging purposes) - * nelem: maximum number of elements expected - * *info: additional table parameters, as indicated by flags - * flags: bitmask indicating which parameters to take from *info - * - * The flags value *must* include HASH_ELEM. (Formerly, this was nominally - * optional, but the default keysize and entrysize values were useless.) - * The flags value must also include exactly one of HASH_STRINGS, HASH_BLOBS, - * or HASH_FUNCTION, to define the key hashing semantics (C strings, - * binary blobs, or custom, respectively). Callers specifying a custom - * hash function will likely also want to use HASH_COMPARE, and perhaps - * also HASH_KEYCOPY, to control key comparison and copying. - * Another often-used flag is HASH_CONTEXT, to allocate the hash table - * under info->hcxt rather than under TopMemoryContext; the default - * behavior is only suitable for session-lifespan hash tables. - * Other flags bits are special-purpose and seldom used, except for those - * associated with shared-memory hash tables, for which see ShmemInitHash(). - * - * Fields in *info are read only when the associated flags bit is set. - * It is not necessary to initialize other fields of *info. - * Neither tabname nor *info need persist after the hash_create() call. - * - * Note: It is deprecated for callers of hash_create() to explicitly specify - * string_hash, tag_hash, uint32_hash, or oid_hash. Just set HASH_STRINGS or - * HASH_BLOBS. Use HASH_FUNCTION only when you want something other than - * one of these. - * - * Note: for a shared-memory hashtable, nelem needs to be a pretty good - * estimate, since we can't expand the table on the fly. But an unshared - * hashtable can be expanded on-the-fly, so it's better for nelem to be - * on the small side and let the table grow if it's exceeded. An overly - * large nelem will penalize hash_seq_search speed without buying much. - */ - - -/* - * Set default HASHHDR parameters. - */ -#ifdef HASH_STATISTICS -#endif - -/* - * Given the user-specified entry size, choose nelem_alloc, ie, how many - * elements to add to the hash table when we need more. - */ - - -/* - * Compute derived fields of hctl and build the initial directory/segment - * arrays - */ -#ifdef HASH_DEBUG -#endif - -/* - * Estimate the space needed for a hashtable containing the given number - * of entries of given size. - * NOTE: this is used to estimate the footprint of hashtables in shared - * memory; therefore it does not count HTAB which is in local memory. - * NB: assumes that all hash structure parameters have default values! - */ - - -/* - * Select an appropriate directory size for a hashtable with the given - * maximum number of entries. - * This is only needed for hashtables in shared memory, whose directories - * cannot be expanded dynamically. - * NB: assumes that all hash structure parameters have default values! - * - * XXX this had better agree with the behavior of init_htab()... - */ - - -/* - * Compute the required initial memory allocation for a shared-memory - * hashtable with the given parameters. We need space for the HASHHDR - * and for the (non expansible) directory. - */ - - - -/********************** DESTROY ROUTINES ************************/ - - - -#ifdef HASH_STATISTICS -#endif - -/*******************************SEARCH ROUTINES *****************************/ - - -/* - * get_hash_value -- exported routine to calculate a key's hash value - * - * We export this because for partitioned tables, callers need to compute - * the partition number (from the low-order bits of the hash value) before - * searching. - */ - - -/* Convert a hash value to a bucket number */ -static inline uint32 -calc_bucket(HASHHDR *hctl, uint32 hash_val) -{ - uint32 bucket; - - bucket = hash_val & hctl->high_mask; - if (bucket > hctl->max_bucket) - bucket = bucket & hctl->low_mask; - - return bucket; -} - -/* - * hash_search -- look up key in table and perform action - * hash_search_with_hash_value -- same, with key's hash value already computed - * - * action is one of: - * HASH_FIND: look up key in table - * HASH_ENTER: look up key in table, creating entry if not present - * HASH_ENTER_NULL: same, but return NULL if out of memory - * HASH_REMOVE: look up key in table, remove entry if present - * - * Return value is a pointer to the element found/entered/removed if any, - * or NULL if no match was found. (NB: in the case of the REMOVE action, - * the result is a dangling pointer that shouldn't be dereferenced!) - * - * HASH_ENTER will normally ereport a generic "out of memory" error if - * it is unable to create a new entry. The HASH_ENTER_NULL operation is - * the same except it will return NULL if out of memory. Note that - * HASH_ENTER_NULL cannot be used with the default palloc-based allocator, - * since palloc internally ereports on out-of-memory. - * - * If foundPtr isn't NULL, then *foundPtr is set true if we found an - * existing entry in the table, false otherwise. This is needed in the - * HASH_ENTER case, but is redundant with the return value otherwise. - * - * For hash_search_with_hash_value, the hashvalue parameter must have been - * calculated with get_hash_value(). - */ -void * -hash_search(HTAB *hashp, - const void *keyPtr, - HASHACTION action, - bool *foundPtr) -{ - return hash_search_with_hash_value(hashp, - keyPtr, - hashp->hash(keyPtr, hashp->keysize), - action, - foundPtr); -} - -void * -hash_search_with_hash_value(HTAB *hashp, - const void *keyPtr, - uint32 hashvalue, - HASHACTION action, - bool *foundPtr) -{ - HASHHDR *hctl = hashp->hctl; - int freelist_idx = FREELIST_IDX(hctl, hashvalue); - Size keysize; - uint32 bucket; - long segment_num; - long segment_ndx; - HASHSEGMENT segp; - HASHBUCKET currBucket; - HASHBUCKET *prevBucketPtr; - HashCompareFunc match; - -#ifdef HASH_STATISTICS - hash_accesses++; - hctl->accesses++; -#endif - - /* - * If inserting, check if it is time to split a bucket. - * - * NOTE: failure to expand table is not a fatal error, it just means we - * have to run at higher fill factor than we wanted. However, if we're - * using the palloc allocator then it will throw error anyway on - * out-of-memory, so we must do this before modifying the table. - */ - if (action == HASH_ENTER || action == HASH_ENTER_NULL) - { - /* - * Can't split if running in partitioned mode, nor if frozen, nor if - * table is the subject of any active hash_seq_search scans. - */ - if (hctl->freeList[0].nentries > (long) hctl->max_bucket && - !IS_PARTITIONED(hctl) && !hashp->frozen && - !has_seq_scans(hashp)) - (void) expand_table(hashp); - } - - /* - * Do the initial lookup - */ - bucket = calc_bucket(hctl, hashvalue); - - segment_num = bucket >> hashp->sshift; - segment_ndx = MOD(bucket, hashp->ssize); - - segp = hashp->dir[segment_num]; - - if (segp == NULL) - hash_corrupted(hashp); - - prevBucketPtr = &segp[segment_ndx]; - currBucket = *prevBucketPtr; - - /* - * Follow collision chain looking for matching key - */ - match = hashp->match; /* save one fetch in inner loop */ - keysize = hashp->keysize; /* ditto */ - - while (currBucket != NULL) - { - if (currBucket->hashvalue == hashvalue && - match(ELEMENTKEY(currBucket), keyPtr, keysize) == 0) - break; - prevBucketPtr = &(currBucket->link); - currBucket = *prevBucketPtr; -#ifdef HASH_STATISTICS - hash_collisions++; - hctl->collisions++; -#endif - } - - if (foundPtr) - *foundPtr = (bool) (currBucket != NULL); - - /* - * OK, now what? - */ - switch (action) - { - case HASH_FIND: - if (currBucket != NULL) - return (void *) ELEMENTKEY(currBucket); - return NULL; - - case HASH_REMOVE: - if (currBucket != NULL) - { - /* if partitioned, must lock to touch nentries and freeList */ - if (IS_PARTITIONED(hctl)) - SpinLockAcquire(&(hctl->freeList[freelist_idx].mutex)); - - /* delete the record from the appropriate nentries counter. */ - Assert(hctl->freeList[freelist_idx].nentries > 0); - hctl->freeList[freelist_idx].nentries--; - - /* remove record from hash bucket's chain. */ - *prevBucketPtr = currBucket->link; - - /* add the record to the appropriate freelist. */ - currBucket->link = hctl->freeList[freelist_idx].freeList; - hctl->freeList[freelist_idx].freeList = currBucket; - - if (IS_PARTITIONED(hctl)) - SpinLockRelease(&hctl->freeList[freelist_idx].mutex); - - /* - * better hope the caller is synchronizing access to this - * element, because someone else is going to reuse it the next - * time something is added to the table - */ - return (void *) ELEMENTKEY(currBucket); - } - return NULL; - - case HASH_ENTER_NULL: - /* ENTER_NULL does not work with palloc-based allocator */ - Assert(hashp->alloc != DynaHashAlloc); - /* FALL THRU */ - - case HASH_ENTER: - /* Return existing element if found, else create one */ - if (currBucket != NULL) - return (void *) ELEMENTKEY(currBucket); - - /* disallow inserts if frozen */ - if (hashp->frozen) - elog(ERROR, "cannot insert into frozen hashtable \"%s\"", - hashp->tabname); - - currBucket = get_hash_entry(hashp, freelist_idx); - if (currBucket == NULL) - { - /* out of memory */ - if (action == HASH_ENTER_NULL) - return NULL; - /* report a generic message */ - if (hashp->isshared) - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of shared memory"))); - else - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"))); - } - - /* link into hashbucket chain */ - *prevBucketPtr = currBucket; - currBucket->link = NULL; - - /* copy key into record */ - currBucket->hashvalue = hashvalue; - hashp->keycopy(ELEMENTKEY(currBucket), keyPtr, keysize); - - /* - * Caller is expected to fill the data field on return. DO NOT - * insert any code that could possibly throw error here, as doing - * so would leave the table entry incomplete and hence corrupt the - * caller's data structure. - */ - - return (void *) ELEMENTKEY(currBucket); - } - - elog(ERROR, "unrecognized hash action code: %d", (int) action); - - return NULL; /* keep compiler quiet */ -} - -/* - * hash_update_hash_key -- change the hash key of an existing table entry - * - * This is equivalent to removing the entry, making a new entry, and copying - * over its data, except that the entry never goes to the table's freelist. - * Therefore this cannot suffer an out-of-memory failure, even if there are - * other processes operating in other partitions of the hashtable. - * - * Returns true if successful, false if the requested new hash key is already - * present. Throws error if the specified entry pointer isn't actually a - * table member. - * - * NB: currently, there is no special case for old and new hash keys being - * identical, which means we'll report false for that situation. This is - * preferable for existing uses. - * - * NB: for a partitioned hashtable, caller must hold lock on both relevant - * partitions, if the new hash key would belong to a different partition. - */ -#ifdef HASH_STATISTICS -#endif -#ifdef HASH_STATISTICS -#endif - -/* - * Allocate a new hashtable entry if possible; return NULL if out of memory. - * (Or, if the underlying space allocator throws error for out-of-memory, - * we won't return at all.) - */ -static HASHBUCKET -get_hash_entry(HTAB *hashp, int freelist_idx) -{ - HASHHDR *hctl = hashp->hctl; - HASHBUCKET newElement; - - for (;;) - { - /* if partitioned, must lock to touch nentries and freeList */ - if (IS_PARTITIONED(hctl)) - SpinLockAcquire(&hctl->freeList[freelist_idx].mutex); - - /* try to get an entry from the freelist */ - newElement = hctl->freeList[freelist_idx].freeList; - - if (newElement != NULL) - break; - - if (IS_PARTITIONED(hctl)) - SpinLockRelease(&hctl->freeList[freelist_idx].mutex); - - /* - * No free elements in this freelist. In a partitioned table, there - * might be entries in other freelists, but to reduce contention we - * prefer to first try to get another chunk of buckets from the main - * shmem allocator. If that fails, though, we *MUST* root through all - * the other freelists before giving up. There are multiple callers - * that assume that they can allocate every element in the initially - * requested table size, or that deleting an element guarantees they - * can insert a new element, even if shared memory is entirely full. - * Failing because the needed element is in a different freelist is - * not acceptable. - */ - if (!element_alloc(hashp, hctl->nelem_alloc, freelist_idx)) - { - int borrow_from_idx; - - if (!IS_PARTITIONED(hctl)) - return NULL; /* out of memory */ - - /* try to borrow element from another freelist */ - borrow_from_idx = freelist_idx; - for (;;) - { - borrow_from_idx = (borrow_from_idx + 1) % NUM_FREELISTS; - if (borrow_from_idx == freelist_idx) - break; /* examined all freelists, fail */ - - SpinLockAcquire(&(hctl->freeList[borrow_from_idx].mutex)); - newElement = hctl->freeList[borrow_from_idx].freeList; - - if (newElement != NULL) - { - hctl->freeList[borrow_from_idx].freeList = newElement->link; - SpinLockRelease(&(hctl->freeList[borrow_from_idx].mutex)); - - /* careful: count the new element in its proper freelist */ - SpinLockAcquire(&hctl->freeList[freelist_idx].mutex); - hctl->freeList[freelist_idx].nentries++; - SpinLockRelease(&hctl->freeList[freelist_idx].mutex); - - return newElement; - } - - SpinLockRelease(&(hctl->freeList[borrow_from_idx].mutex)); - } - - /* no elements available to borrow either, so out of memory */ - return NULL; - } - } - - /* remove entry from freelist, bump nentries */ - hctl->freeList[freelist_idx].freeList = newElement->link; - hctl->freeList[freelist_idx].nentries++; - - if (IS_PARTITIONED(hctl)) - SpinLockRelease(&hctl->freeList[freelist_idx].mutex); - - return newElement; -} - -/* - * hash_get_num_entries -- get the number of entries in a hashtable - */ - - -/* - * hash_seq_init/_search/_term - * Sequentially search through hash table and return - * all the elements one by one, return NULL when no more. - * - * hash_seq_term should be called if and only if the scan is abandoned before - * completion; if hash_seq_search returns NULL then it has already done the - * end-of-scan cleanup. - * - * NOTE: caller may delete the returned element before continuing the scan. - * However, deleting any other element while the scan is in progress is - * UNDEFINED (it might be the one that curIndex is pointing at!). Also, - * if elements are added to the table while the scan is in progress, it is - * unspecified whether they will be visited by the scan or not. - * - * NOTE: it is possible to use hash_seq_init/hash_seq_search without any - * worry about hash_seq_term cleanup, if the hashtable is first locked against - * further insertions by calling hash_freeze. - * - * NOTE: to use this with a partitioned hashtable, caller had better hold - * at least shared lock on all partitions of the table throughout the scan! - * We can cope with insertions or deletions by our own backend, but *not* - * with concurrent insertions or deletions by another. - */ - - - - - - -/* - * hash_freeze - * Freeze a hashtable against future insertions (deletions are - * still allowed) - * - * The reason for doing this is that by preventing any more bucket splits, - * we no longer need to worry about registering hash_seq_search scans, - * and thus caller need not be careful about ensuring hash_seq_term gets - * called at the right times. - * - * Multiple calls to hash_freeze() are allowed, but you can't freeze a table - * with active scans (since hash_seq_term would then do the wrong thing). - */ - - - -/********************************* UTILITIES ************************/ - -/* - * Expand the table by adding one more hash bucket. - */ -static bool -expand_table(HTAB *hashp) -{ - HASHHDR *hctl = hashp->hctl; - HASHSEGMENT old_seg, - new_seg; - long old_bucket, - new_bucket; - long new_segnum, - new_segndx; - long old_segnum, - old_segndx; - HASHBUCKET *oldlink, - *newlink; - HASHBUCKET currElement, - nextElement; - - Assert(!IS_PARTITIONED(hctl)); - -#ifdef HASH_STATISTICS - hash_expansions++; -#endif - - new_bucket = hctl->max_bucket + 1; - new_segnum = new_bucket >> hashp->sshift; - new_segndx = MOD(new_bucket, hashp->ssize); - - if (new_segnum >= hctl->nsegs) - { - /* Allocate new segment if necessary -- could fail if dir full */ - if (new_segnum >= hctl->dsize) - if (!dir_realloc(hashp)) - return false; - if (!(hashp->dir[new_segnum] = seg_alloc(hashp))) - return false; - hctl->nsegs++; - } - - /* OK, we created a new bucket */ - hctl->max_bucket++; - - /* - * *Before* changing masks, find old bucket corresponding to same hash - * values; values in that bucket may need to be relocated to new bucket. - * Note that new_bucket is certainly larger than low_mask at this point, - * so we can skip the first step of the regular hash mask calc. - */ - old_bucket = (new_bucket & hctl->low_mask); - - /* - * If we crossed a power of 2, readjust masks. - */ - if ((uint32) new_bucket > hctl->high_mask) - { - hctl->low_mask = hctl->high_mask; - hctl->high_mask = (uint32) new_bucket | hctl->low_mask; - } - - /* - * Relocate records to the new bucket. NOTE: because of the way the hash - * masking is done in calc_bucket, only one old bucket can need to be - * split at this point. With a different way of reducing the hash value, - * that might not be true! - */ - old_segnum = old_bucket >> hashp->sshift; - old_segndx = MOD(old_bucket, hashp->ssize); - - old_seg = hashp->dir[old_segnum]; - new_seg = hashp->dir[new_segnum]; - - oldlink = &old_seg[old_segndx]; - newlink = &new_seg[new_segndx]; - - for (currElement = *oldlink; - currElement != NULL; - currElement = nextElement) - { - nextElement = currElement->link; - if ((long) calc_bucket(hctl, currElement->hashvalue) == old_bucket) - { - *oldlink = currElement; - oldlink = &currElement->link; - } - else - { - *newlink = currElement; - newlink = &currElement->link; - } - } - /* don't forget to terminate the rebuilt hash chains... */ - *oldlink = NULL; - *newlink = NULL; - - return true; -} - - -static bool -dir_realloc(HTAB *hashp) -{ - HASHSEGMENT *p; - HASHSEGMENT *old_p; - long new_dsize; - long old_dirsize; - long new_dirsize; - - if (hashp->hctl->max_dsize != NO_MAX_DSIZE) - return false; - - /* Reallocate directory */ - new_dsize = hashp->hctl->dsize << 1; - old_dirsize = hashp->hctl->dsize * sizeof(HASHSEGMENT); - new_dirsize = new_dsize * sizeof(HASHSEGMENT); - - old_p = hashp->dir; - CurrentDynaHashCxt = hashp->hcxt; - p = (HASHSEGMENT *) hashp->alloc((Size) new_dirsize); - - if (p != NULL) - { - memcpy(p, old_p, old_dirsize); - MemSet(((char *) p) + old_dirsize, 0, new_dirsize - old_dirsize); - hashp->dir = p; - hashp->hctl->dsize = new_dsize; - - /* XXX assume the allocator is palloc, so we know how to free */ - Assert(hashp->alloc == DynaHashAlloc); - pfree(old_p); - - return true; - } - - return false; -} - - -static HASHSEGMENT -seg_alloc(HTAB *hashp) -{ - HASHSEGMENT segp; - - CurrentDynaHashCxt = hashp->hcxt; - segp = (HASHSEGMENT) hashp->alloc(sizeof(HASHBUCKET) * hashp->ssize); - - if (!segp) - return NULL; - - MemSet(segp, 0, sizeof(HASHBUCKET) * hashp->ssize); - - return segp; -} - -/* - * allocate some new elements and link them into the indicated free list - */ -static bool -element_alloc(HTAB *hashp, int nelem, int freelist_idx) -{ - HASHHDR *hctl = hashp->hctl; - Size elementSize; - HASHELEMENT *firstElement; - HASHELEMENT *tmpElement; - HASHELEMENT *prevElement; - int i; - - if (hashp->isfixed) - return false; - - /* Each element has a HASHELEMENT header plus user data. */ - elementSize = MAXALIGN(sizeof(HASHELEMENT)) + MAXALIGN(hctl->entrysize); - - CurrentDynaHashCxt = hashp->hcxt; - firstElement = (HASHELEMENT *) hashp->alloc(nelem * elementSize); - - if (!firstElement) - return false; - - /* prepare to link all the new entries into the freelist */ - prevElement = NULL; - tmpElement = firstElement; - for (i = 0; i < nelem; i++) - { - tmpElement->link = prevElement; - prevElement = tmpElement; - tmpElement = (HASHELEMENT *) (((char *) tmpElement) + elementSize); - } - - /* if partitioned, must lock to touch freeList */ - if (IS_PARTITIONED(hctl)) - SpinLockAcquire(&hctl->freeList[freelist_idx].mutex); - - /* freelist could be nonempty if two backends did this concurrently */ - firstElement->link = hctl->freeList[freelist_idx].freeList; - hctl->freeList[freelist_idx].freeList = prevElement; - - if (IS_PARTITIONED(hctl)) - SpinLockRelease(&hctl->freeList[freelist_idx].mutex); - - return true; -} - -/* complain when we have detected a corrupted hashtable */ -static void -hash_corrupted(HTAB *hashp) -{ - /* - * If the corruption is in a shared hashtable, we'd better force a - * systemwide restart. Otherwise, just shut down this one backend. - */ - if (hashp->isshared) - elog(PANIC, "hash table \"%s\" corrupted", hashp->tabname); - else - elog(FATAL, "hash table \"%s\" corrupted", hashp->tabname); -} - -/* calculate ceil(log base 2) of num */ -#if SIZEOF_LONG < 8 -#else -#endif - -/* calculate first power of 2 >= num, bounded to what will fit in a long */ - - -/* calculate first power of 2 >= num, bounded to what will fit in an int */ - - - -/************************* SEQ SCAN TRACKING ************************/ - -/* - * We track active hash_seq_search scans here. The need for this mechanism - * comes from the fact that a scan will get confused if a bucket split occurs - * while it's in progress: it might visit entries twice, or even miss some - * entirely (if it's partway through the same bucket that splits). Hence - * we want to inhibit bucket splits if there are any active scans on the - * table being inserted into. This is a fairly rare case in current usage, - * so just postponing the split until the next insertion seems sufficient. - * - * Given present usages of the function, only a few scans are likely to be - * open concurrently; so a finite-size stack of open scans seems sufficient, - * and we don't worry that linear search is too slow. Note that we do - * allow multiple scans of the same hashtable to be open concurrently. - * - * This mechanism can support concurrent scan and insertion in a shared - * hashtable if it's the same backend doing both. It would fail otherwise, - * but locking reasons seem to preclude any such scenario anyway, so we don't - * worry. - * - * This arrangement is reasonably robust if a transient hashtable is deleted - * without notifying us. The absolute worst case is we might inhibit splits - * in another table created later at exactly the same address. We will give - * a warning at transaction end for reference leaks, so any bugs leading to - * lack of notification should be easy to catch. - */ - -#define MAX_SEQ_SCANS 100 - -static __thread HTAB *seq_scan_tables[MAX_SEQ_SCANS]; - /* tables being scanned */ - /* subtransaction nest level */ -static __thread int num_seq_scans = 0; - - - -/* Register a table as having an active hash_seq_search scan */ - - -/* Deregister an active scan */ - - -/* Check if a table has any active scan */ -static bool -has_seq_scans(HTAB *hashp) -{ - int i; - - for (i = 0; i < num_seq_scans; i++) - { - if (seq_scan_tables[i] == hashp) - return true; - } - return false; -} - -/* Clean up any open scans at end of transaction */ - - -/* Clean up any open scans at end of subtransaction */ - diff --git a/parser/src_backend_utils_init_globals.c b/parser/src_backend_utils_init_globals.c index 653a7c12..35dcabcf 100644 --- a/parser/src_backend_utils_init_globals.c +++ b/parser/src_backend_utils_init_globals.c @@ -13,7 +13,7 @@ * globals.c * global variable declarations * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -32,7 +32,7 @@ #include "libpq/libpq-be.h" #include "libpq/pqcomm.h" #include "miscadmin.h" -#include "storage/backendid.h" +#include "storage/procnumber.h" @@ -48,6 +48,7 @@ __thread volatile sig_atomic_t InterruptPending = false; + __thread volatile uint32 InterruptHoldoffCount = 0; __thread volatile uint32 QueryCancelHoldoffCount = 0; @@ -62,6 +63,7 @@ __thread volatile uint32 CritSectionCount = 0; + /* * MyLatch points to the latch that should be used for signal handling by the * current process. It will either point to a process local latch if the @@ -91,7 +93,7 @@ __thread volatile uint32 CritSectionCount = 0; /* full path to lib directory */ #ifdef EXEC_BACKEND -char postgres_exec_path[MAXPGPATH]; /* full path to backend */ + /* full path to backend */ /* note: currently this is not valid in backend processes */ #endif @@ -104,6 +106,8 @@ char postgres_exec_path[MAXPGPATH]; /* full path to backend */ + + /* * DatabasePath is the path (relative to DataDir) of my database's * primary directory, ie, its directory in the default tablespace. @@ -127,7 +131,6 @@ char postgres_exec_path[MAXPGPATH]; /* full path to backend */ - __thread bool ExitOnAnyError = false; @@ -154,7 +157,10 @@ __thread bool ExitOnAnyError = false; - /* GUC parameters for vacuum */ +/* GUC parameters for vacuum */ + + + @@ -166,3 +172,12 @@ __thread bool ExitOnAnyError = false; /* working state for vacuum */ + +/* configurable SLRU buffer sizes */ + + + + + + + diff --git a/parser/src_backend_utils_mb_mbutils.c b/parser/src_backend_utils_mb_mbutils.c index 728171cf..2485cd56 100644 --- a/parser/src_backend_utils_mb_mbutils.c +++ b/parser/src_backend_utils_mb_mbutils.c @@ -17,6 +17,10 @@ * - pg_mbstrlen_with_len * - pg_mblen * - SetDatabaseEncoding + * - pg_mbcharcliplen + * - pg_mbstrlen + * - GetMessageEncoding + * - MessageEncoding *-------------------------------------------------------------------- */ @@ -45,7 +49,7 @@ * the result is validly encoded according to the destination encoding. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -59,9 +63,9 @@ #include "access/xact.h" #include "catalog/namespace.h" #include "mb/pg_wchar.h" -#include "utils/builtins.h" +#include "utils/fmgrprotos.h" #include "utils/memutils.h" -#include "utils/syscache.h" +#include "varatt.h" /* * We maintain a simple linked list caching the fmgr lookup info for the @@ -104,6 +108,7 @@ static __thread const pg_enc2name *ClientEncoding = &pg_enc2name_tbl[PG_SQL_ASCI static __thread const pg_enc2name *DatabaseEncoding = &pg_enc2name_tbl[PG_SQL_ASCII]; +static __thread const pg_enc2name *MessageEncoding = &pg_enc2name_tbl[PG_SQL_ASCII]; /* @@ -184,7 +189,7 @@ pg_get_client_encoding(void) * * The output is null-terminated. * - * If destlen < srclen * MAX_CONVERSION_LENGTH + 1, the converted output + * If destlen < srclen * MAX_CONVERSION_INPUT_LENGTH + 1, the converted output * wouldn't necessarily fit in the output buffer, and the function will not * convert the whole input. * @@ -339,12 +344,20 @@ pg_unicode_to_server(pg_wchar c, unsigned char *s) FunctionCall6(Utf8ToServerConvProc, Int32GetDatum(PG_UTF8), Int32GetDatum(server_encoding), - CStringGetDatum(c_as_utf8), - CStringGetDatum(s), + CStringGetDatum((char *) c_as_utf8), + CStringGetDatum((char *) s), Int32GetDatum(c_as_utf8_len), BoolGetDatum(false)); } +/* + * Convert a single Unicode code point into a string in the server encoding. + * + * Same as pg_unicode_to_server(), except that we don't throw errors, + * but simply return false on conversion failure. + */ + + /* convert a multibyte string to a wchar */ @@ -375,7 +388,22 @@ pg_mblen(const char *mbstr) /* returns the length (counted in wchars) of a multibyte string */ +int +pg_mbstrlen(const char *mbstr) +{ + int len = 0; + /* optimization for single byte encoding */ + if (pg_database_encoding_max_length() == 1) + return strlen(mbstr); + + while (*mbstr) + { + mbstr += pg_mblen(mbstr); + len++; + } + return len; +} /* returns the length (counted in wchars) of a multibyte string * (not necessarily NULL terminated) @@ -414,7 +442,7 @@ pg_mbcliplen(const char *mbstr, int len, int limit) } /* - * pg_mbcliplen with specified encoding + * pg_mbcliplen with specified encoding; string must be valid in encoding */ int pg_encoding_mbcliplen(int encoding, const char *mbstr, @@ -448,7 +476,29 @@ pg_encoding_mbcliplen(int encoding, const char *mbstr, * Similar to pg_mbcliplen except the limit parameter specifies the * character length, not the byte length. */ +int +pg_mbcharcliplen(const char *mbstr, int len, int limit) +{ + int clen = 0; + int nch = 0; + int l; + /* optimization for single byte encoding */ + if (pg_database_encoding_max_length() == 1) + return cliplen(mbstr, len, limit); + + while (len > 0 && *mbstr) + { + l = pg_mblen(mbstr); + nch++; + if (nch > limit) + break; + clen += l; + len -= l; + mbstr += l; + } + return clen; +} /* mbcliplen for any single-byte encoding */ static int @@ -484,24 +534,18 @@ static bool raw_pg_bind_textdomain_codeset(const char *domainname, int encoding) { bool elog_ok = (CurrentMemoryContext != NULL); - int i; - for (i = 0; pg_enc2gettext_tbl[i].name != NULL; i++) - { - if (pg_enc2gettext_tbl[i].encoding == encoding) - { - if (bind_textdomain_codeset(domainname, - pg_enc2gettext_tbl[i].name) != NULL) - return true; + if (!PG_VALID_ENCODING(encoding) || pg_enc2gettext_tbl[encoding] == NULL) + return false; - if (elog_ok) - elog(LOG, "bind_textdomain_codeset failed"); - else - write_stderr("bind_textdomain_codeset failed"); + if (bind_textdomain_codeset(domainname, + pg_enc2gettext_tbl[encoding]) != NULL) + return true; - break; - } - } + if (elog_ok) + elog(LOG, "bind_textdomain_codeset failed"); + else + write_stderr("bind_textdomain_codeset failed"); return false; } @@ -586,7 +630,11 @@ GetDatabaseEncodingName(void) * not attached to a database, and under a database encoding lacking iconv * support (MULE_INTERNAL). */ - +int +GetMessageEncoding(void) +{ + return MessageEncoding->encoding; +} /* @@ -717,12 +765,12 @@ pg_verify_mbstr(int encoding, const char *mbstr, int len, bool noError) * report_invalid_encoding: complain about invalid multibyte character * * note: len is remaining length of string, not length of character; - * len must be greater than zero, as we always examine the first byte. + * len must be greater than zero (or we'd neglect initializing "buf"). */ void report_invalid_encoding(int encoding, const char *mbstr, int len) { - int l = pg_encoding_mblen(encoding, mbstr); + int l = pg_encoding_mblen_or_incomplete(encoding, mbstr, len); char buf[8 * 5 + 1]; char *p = buf; int j, @@ -749,7 +797,7 @@ report_invalid_encoding(int encoding, const char *mbstr, int len) * report_untranslatable_char: complain about untranslatable character * * note: len is remaining length of string, not length of character; - * len must be greater than zero, as we always examine the first byte. + * len must be greater than zero (or we'd neglect initializing "buf"). */ @@ -761,68 +809,6 @@ report_invalid_encoding(int encoding, const char *mbstr, int len) * null. Returns NULL iff failed. Before MessageEncoding initialization, "str" * should be ASCII-only; this will function as though MessageEncoding is UTF8. */ -WCHAR * -pgwin32_message_to_UTF16(const char *str, int len, int *utf16len) -{ - int msgenc = GetMessageEncoding(); - WCHAR *utf16; - int dstlen; - UINT codepage; - if (msgenc == PG_SQL_ASCII) - /* No conversion is possible, and SQL_ASCII is never utf16. */ - return NULL; - - codepage = pg_enc2name_tbl[msgenc].codepage; - - /* - * Use MultiByteToWideChar directly if there is a corresponding codepage, - * or double conversion through UTF8 if not. Double conversion is needed, - * for example, in an ENCODING=LATIN8, LC_CTYPE=C database. - */ - if (codepage != 0) - { - utf16 = (WCHAR *) palloc(sizeof(WCHAR) * (len + 1)); - dstlen = MultiByteToWideChar(codepage, 0, str, len, utf16, len); - utf16[dstlen] = (WCHAR) 0; - } - else - { - char *utf8; - - /* - * XXX pg_do_encoding_conversion() requires a transaction. In the - * absence of one, hope for the input to be valid UTF8. - */ - if (IsTransactionState()) - { - utf8 = (char *) pg_do_encoding_conversion((unsigned char *) str, - len, - msgenc, - PG_UTF8); - if (utf8 != str) - len = strlen(utf8); - } - else - utf8 = (char *) str; - - utf16 = (WCHAR *) palloc(sizeof(WCHAR) * (len + 1)); - dstlen = MultiByteToWideChar(CP_UTF8, 0, utf8, len, utf16, len); - utf16[dstlen] = (WCHAR) 0; - - if (utf8 != str) - pfree(utf8); - } - - if (dstlen == 0 && len > 0) - { - pfree(utf16); - return NULL; /* error */ - } - - if (utf16len) - *utf16len = dstlen; - return utf16; -} #endif /* WIN32 */ diff --git a/parser/src_backend_utils_misc_guc.c b/parser/src_backend_utils_misc_guc.c deleted file mode 100644 index c24a2d3f..00000000 --- a/parser/src_backend_utils_misc_guc.c +++ /dev/null @@ -1,1993 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - log_min_messages - * - client_min_messages - * - backtrace_functions - * - backtrace_symbol_list - * - check_function_bodies - *-------------------------------------------------------------------- - */ - -/*-------------------------------------------------------------------- - * guc.c - * - * Support for grand unified configuration scheme, including SET - * command, configuration file, and command line options. - * See src/backend/utils/misc/README for more information. - * - * - * Copyright (c) 2000-2022, PostgreSQL Global Development Group - * Written by Peter Eisentraut . - * - * IDENTIFICATION - * src/backend/utils/misc/guc.c - * - *-------------------------------------------------------------------- - */ -#include "postgres.h" - -#include -#include -#include -#include -#ifdef HAVE_POLL_H -#include -#endif -#ifndef WIN32 -#include -#endif -#include -#ifdef HAVE_SYSLOG -#include -#endif -#include - -#include "access/commit_ts.h" -#include "access/gin.h" -#include "access/rmgr.h" -#include "access/tableam.h" -#include "access/toast_compression.h" -#include "access/transam.h" -#include "access/twophase.h" -#include "access/xact.h" -#include "access/xlog_internal.h" -#include "access/xlogprefetcher.h" -#include "access/xlogrecovery.h" -#include "catalog/namespace.h" -#include "catalog/objectaccess.h" -#include "catalog/pg_authid.h" -#include "catalog/pg_parameter_acl.h" -#include "catalog/storage.h" -#include "commands/async.h" -#include "commands/prepare.h" -#include "commands/tablespace.h" -#include "commands/trigger.h" -#include "commands/user.h" -#include "commands/vacuum.h" -#include "commands/variable.h" -#include "common/string.h" -#include "funcapi.h" -#include "jit/jit.h" -#include "libpq/auth.h" -#include "libpq/libpq.h" -#include "libpq/pqformat.h" -#include "miscadmin.h" -#include "optimizer/cost.h" -#include "optimizer/geqo.h" -#include "optimizer/optimizer.h" -#include "optimizer/paths.h" -#include "optimizer/planmain.h" -#include "parser/parse_expr.h" -#include "parser/parse_type.h" -#include "parser/parser.h" -#include "parser/scansup.h" -#include "pgstat.h" -#include "postmaster/autovacuum.h" -#include "postmaster/bgworker_internals.h" -#include "postmaster/bgwriter.h" -#include "postmaster/postmaster.h" -#include "postmaster/startup.h" -#include "postmaster/syslogger.h" -#include "postmaster/walwriter.h" -#include "replication/logicallauncher.h" -#include "replication/reorderbuffer.h" -#include "replication/slot.h" -#include "replication/syncrep.h" -#include "replication/walreceiver.h" -#include "replication/walsender.h" -#include "storage/bufmgr.h" -#include "storage/dsm_impl.h" -#include "storage/fd.h" -#include "storage/large_object.h" -#include "storage/pg_shmem.h" -#include "storage/predicate.h" -#include "storage/proc.h" -#include "storage/standby.h" -#include "tcop/tcopprot.h" -#include "tsearch/ts_cache.h" -#include "utils/acl.h" -#include "utils/backend_status.h" -#include "utils/builtins.h" -#include "utils/bytea.h" -#include "utils/float.h" -#include "utils/guc_tables.h" -#include "utils/memutils.h" -#include "utils/pg_locale.h" -#include "utils/pg_lsn.h" -#include "utils/plancache.h" -#include "utils/portal.h" -#include "utils/ps_status.h" -#include "utils/queryjumble.h" -#include "utils/rls.h" -#include "utils/snapmgr.h" -#include "utils/tzparser.h" -#include "utils/inval.h" -#include "utils/varlena.h" -#include "utils/xml.h" - -#ifndef PG_KRB_SRVTAB -#define PG_KRB_SRVTAB "" -#endif - -#define CONFIG_FILENAME "postgresql.conf" -#define HBA_FILENAME "pg_hba.conf" -#define IDENT_FILENAME "pg_ident.conf" - -#ifdef EXEC_BACKEND -#define CONFIG_EXEC_PARAMS "global/config_exec_params" -#define CONFIG_EXEC_PARAMS_NEW "global/config_exec_params.new" -#endif - -/* - * Precision with which REAL type guc values are to be printed for GUC - * serialization. - */ -#define REALTYPE_PRECISION 17 - -/* XXX these should appear in other modules' header files */ -extern bool Log_disconnections; -extern int CommitDelay; -extern int CommitSiblings; -extern char *default_tablespace; -extern char *temp_tablespaces; -extern bool ignore_checksum_failure; -extern bool ignore_invalid_pages; -extern bool synchronize_seqscans; - -#ifdef TRACE_SYNCSCAN -extern bool trace_syncscan; -#endif -#ifdef DEBUG_BOUNDED_SORT -extern bool optimize_bounded_sort; -#endif - - - - - -/* global variables for check hook support */ - - - - -static void do_serialize(char **destptr, Size *maxbytes, const char *fmt,...) pg_attribute_printf(3, 4); - -static void set_config_sourcefile(const char *name, char *sourcefile, - int sourceline); -static bool call_bool_check_hook(struct config_bool *conf, bool *newval, - void **extra, GucSource source, int elevel); -static bool call_int_check_hook(struct config_int *conf, int *newval, - void **extra, GucSource source, int elevel); -static bool call_real_check_hook(struct config_real *conf, double *newval, - void **extra, GucSource source, int elevel); -static bool call_string_check_hook(struct config_string *conf, char **newval, - void **extra, GucSource source, int elevel); -static bool call_enum_check_hook(struct config_enum *conf, int *newval, - void **extra, GucSource source, int elevel); - -static bool check_log_destination(char **newval, void **extra, GucSource source); -static void assign_log_destination(const char *newval, void *extra); - -static bool check_wal_consistency_checking(char **newval, void **extra, - GucSource source); -static void assign_wal_consistency_checking(const char *newval, void *extra); - -#ifdef HAVE_SYSLOG - -#else -static int syslog_facility = 0; -#endif - -static void assign_syslog_facility(int newval, void *extra); -static void assign_syslog_ident(const char *newval, void *extra); -static void assign_session_replication_role(int newval, void *extra); -static bool check_temp_buffers(int *newval, void **extra, GucSource source); -static bool check_bonjour(bool *newval, void **extra, GucSource source); -static bool check_ssl(bool *newval, void **extra, GucSource source); -static bool check_stage_log_stats(bool *newval, void **extra, GucSource source); -static bool check_log_stats(bool *newval, void **extra, GucSource source); -static bool check_canonical_path(char **newval, void **extra, GucSource source); -static bool check_timezone_abbreviations(char **newval, void **extra, GucSource source); -static void assign_timezone_abbreviations(const char *newval, void *extra); -static void pg_timezone_abbrev_initialize(void); -static const char *show_archive_command(void); -static void assign_tcp_keepalives_idle(int newval, void *extra); -static void assign_tcp_keepalives_interval(int newval, void *extra); -static void assign_tcp_keepalives_count(int newval, void *extra); -static void assign_tcp_user_timeout(int newval, void *extra); -static const char *show_tcp_keepalives_idle(void); -static const char *show_tcp_keepalives_interval(void); -static const char *show_tcp_keepalives_count(void); -static const char *show_tcp_user_timeout(void); -static bool check_maxconnections(int *newval, void **extra, GucSource source); -static bool check_max_worker_processes(int *newval, void **extra, GucSource source); -static bool check_autovacuum_max_workers(int *newval, void **extra, GucSource source); -static bool check_max_wal_senders(int *newval, void **extra, GucSource source); -static bool check_autovacuum_work_mem(int *newval, void **extra, GucSource source); -static bool check_effective_io_concurrency(int *newval, void **extra, GucSource source); -static bool check_maintenance_io_concurrency(int *newval, void **extra, GucSource source); -static bool check_huge_page_size(int *newval, void **extra, GucSource source); -static bool check_client_connection_check_interval(int *newval, void **extra, GucSource source); -static void assign_maintenance_io_concurrency(int newval, void *extra); -static bool check_application_name(char **newval, void **extra, GucSource source); -static void assign_application_name(const char *newval, void *extra); -static bool check_cluster_name(char **newval, void **extra, GucSource source); -static const char *show_unix_socket_permissions(void); -static const char *show_log_file_mode(void); -static const char *show_data_directory_mode(void); -static const char *show_in_hot_standby(void); -static bool check_backtrace_functions(char **newval, void **extra, GucSource source); -static void assign_backtrace_functions(const char *newval, void *extra); -static bool check_recovery_target_timeline(char **newval, void **extra, GucSource source); -static void assign_recovery_target_timeline(const char *newval, void *extra); -static bool check_recovery_target(char **newval, void **extra, GucSource source); -static void assign_recovery_target(const char *newval, void *extra); -static bool check_recovery_target_xid(char **newval, void **extra, GucSource source); -static void assign_recovery_target_xid(const char *newval, void *extra); -static bool check_recovery_target_time(char **newval, void **extra, GucSource source); -static void assign_recovery_target_time(const char *newval, void *extra); -static bool check_recovery_target_name(char **newval, void **extra, GucSource source); -static void assign_recovery_target_name(const char *newval, void *extra); -static bool check_recovery_target_lsn(char **newval, void **extra, GucSource source); -static void assign_recovery_target_lsn(const char *newval, void *extra); -static bool check_primary_slot_name(char **newval, void **extra, GucSource source); -static bool check_default_with_oids(bool *newval, void **extra, GucSource source); - -/* Private functions in guc-file.l that need to be called from guc.c */ -static ConfigVariable *ProcessConfigFileInternal(GucContext context, - bool applySettings, int elevel); - -/* - * Track whether there were any deferred checks for custom resource managers - * specified in wal_consistency_checking. - */ - - -/* - * Options for enum values defined in this module. - * - * NOTE! Option values may not contain double quotes! - */ - - - -StaticAssertDecl(lengthof(bytea_output_options) == (BYTEA_OUTPUT_HEX + 2), - "array length mismatch"); - -/* - * We have different sets for client and server message level options because - * they sort slightly different (see "log" level), and because "fatal"/"panic" - * aren't sensible for client_min_messages. - */ - - - - - - -StaticAssertDecl(lengthof(intervalstyle_options) == (INTSTYLE_ISO_8601 + 2), - "array length mismatch"); - - - -StaticAssertDecl(lengthof(log_error_verbosity_options) == (PGERROR_VERBOSE + 2), - "array length mismatch"); - - - -StaticAssertDecl(lengthof(log_statement_options) == (LOGSTMT_ALL + 2), - "array length mismatch"); - - - - - -StaticAssertDecl(lengthof(session_replication_role_options) == (SESSION_REPLICATION_ROLE_LOCAL + 2), - "array length mismatch"); - -#ifdef HAVE_SYSLOG -#else -#endif - - - -StaticAssertDecl(lengthof(track_function_options) == (TRACK_FUNC_ALL + 2), - "array length mismatch"); - - - -StaticAssertDecl(lengthof(stats_fetch_consistency) == (PGSTAT_FETCH_CONSISTENCY_SNAPSHOT + 2), - "array length mismatch"); - - - -StaticAssertDecl(lengthof(xmlbinary_options) == (XMLBINARY_HEX + 2), - "array length mismatch"); - - - -StaticAssertDecl(lengthof(xmloption_options) == (XMLOPTION_CONTENT + 2), - "array length mismatch"); - -/* - * Although only "on", "off", and "safe_encoding" are documented, we - * accept all the likely variants of "on" and "off". - */ - - -/* - * Although only "on", "off", and "auto" are documented, we accept - * all the likely variants of "on" and "off". - */ - - -/* - * Although only "on", "off", and "partition" are documented, we - * accept all the likely variants of "on" and "off". - */ - - -/* - * Although only "on", "off", "remote_apply", "remote_write", and "local" are - * documented, we accept all the likely variants of "on" and "off". - */ - - -/* - * Although only "on", "off", "try" are documented, we accept all the likely - * variants of "on" and "off". - */ - - - - - - - - - - - - -StaticAssertDecl(lengthof(ssl_protocol_versions_info) == (PG_TLS1_3_VERSION + 2), - "array length mismatch"); - -#ifdef HAVE_SYNCFS -#endif - -#ifndef WIN32 -#endif -#ifndef EXEC_BACKEND -#endif -#ifdef WIN32 -#endif - -#ifdef USE_LZ4 -#endif - -#ifdef USE_LZ4 -#endif -#ifdef USE_ZSTD -#endif - -/* - * Options for enum values stored in other modules - */ -extern const struct config_enum_entry wal_level_options[]; -extern const struct config_enum_entry archive_mode_options[]; -extern const struct config_enum_entry recovery_target_action_options[]; -extern const struct config_enum_entry sync_method_options[]; -extern const struct config_enum_entry dynamic_shared_memory_options[]; - -/* - * GUC option variables that are exported from this module - */ - - - - - - - - - - /* this is sort of all three above - * together */ - - - - -__thread bool check_function_bodies = true; - - -/* - * This GUC exists solely for backward compatibility, check its definition for - * details. - */ - - - - -__thread int log_min_messages = WARNING; - -__thread int client_min_messages = NOTICE; - - - - - - - - - -__thread char *backtrace_functions; - -__thread char *backtrace_symbol_list; - - - - - - - - - - - - - - - - - - - - - -/* - * SSL renegotiation was been removed in PostgreSQL 9.5, but we tolerate it - * being set to zero (meaning never renegotiate) for backward compatibility. - * This avoids breaking compatibility with clients that have never supported - * renegotiation and therefore always try to zero it. - */ - - -/* - * This really belongs in pg_shmem.c, but is defined here so that it doesn't - * need to be duplicated in all the different implementations of pg_shmem.c. - */ - - - -/* - * These variables are all dummies that don't do anything, except in some - * cases provide the value for SHOW to display. The real state is elsewhere - * and is kept in sync by assign_hooks. - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* should be static, but commands/variable.c needs to get at this */ - - - -/* - * Displayable names for context types (enum GucContext) - * - * Note: these strings are deliberately not localized. - */ - - -StaticAssertDecl(lengthof(GucContext_Names) == (PGC_USERSET + 1), - "array length mismatch"); - -/* - * Displayable names for source types (enum GucSource) - * - * Note: these strings are deliberately not localized. - */ - - -StaticAssertDecl(lengthof(GucSource_Names) == (PGC_S_SESSION + 1), - "array length mismatch"); - -/* - * Displayable names for the groupings defined in enum config_group - */ - - -StaticAssertDecl(lengthof(config_group_names) == (DEVELOPER_OPTIONS + 2), - "array length mismatch"); - -/* - * Displayable names for GUC variable types (enum config_type) - * - * Note: these strings are deliberately not localized. - */ - - -StaticAssertDecl(lengthof(config_type_names) == (PGC_ENUM + 1), - "array length mismatch"); - -/* - * Unit conversion tables. - * - * There are two tables, one for memory units, and another for time units. - * For each supported conversion from one unit to another, we have an entry - * in the table. - * - * To keep things simple, and to avoid possible roundoff error, - * conversions are never chained. There needs to be a direct conversion - * between all units (of the same type). - * - * The conversions for each base unit must be kept in order from greatest to - * smallest human-friendly unit; convert_xxx_from_base_unit() rely on that. - * (The order of the base-unit groups does not matter.) - */ -#define MAX_UNIT_LEN 3 /* length of longest recognized unit string */ - -typedef struct -{ - char unit[MAX_UNIT_LEN + 1]; /* unit, as a string, like "kB" or - * "min" */ - int base_unit; /* GUC_UNIT_XXX */ - double multiplier; /* Factor for converting unit -> base_unit */ -} unit_conversion; - -/* Ensure that the constants in the tables don't overflow or underflow */ -#if BLCKSZ < 1024 || BLCKSZ > (1024*1024) -#error BLCKSZ must be between 1KB and 1MB -#endif -#if XLOG_BLCKSZ < 1024 || XLOG_BLCKSZ > (1024*1024) -#error XLOG_BLCKSZ must be between 1KB and 1MB -#endif - - - - - - - - - -/* - * Contents of GUC tables - * - * See src/backend/utils/misc/README for design notes. - * - * TO ADD AN OPTION: - * - * 1. Declare a global variable of type bool, int, double, or char* - * and make use of it. - * - * 2. Decide at what times it's safe to set the option. See guc.h for - * details. - * - * 3. Decide on a name, a default value, upper and lower bounds (if - * applicable), etc. - * - * 4. Add a record below. - * - * 5. Add it to src/backend/utils/misc/postgresql.conf.sample, if - * appropriate. - * - * 6. Don't forget to document the option (at least in config.sgml). - * - * 7. If it's a new GUC_LIST_QUOTE option, you must add it to - * variable_is_guc_list_quote() in src/bin/pg_dump/dumputils.c. - */ - - -/******** option records follow ********/ - -#ifdef USE_ASSERT_CHECKING -#else -#endif -#ifdef BTREE_BUILD_STATS -#endif -#ifdef WIN32 -#else -#endif -#ifdef LOCK_DEBUG -#endif -#ifdef TRACE_SORT -#endif -#ifdef TRACE_SYNCSCAN -#endif -#ifdef DEBUG_BOUNDED_SORT -#endif -#ifdef WAL_DEBUG -#endif - - -#ifdef LOCK_DEBUG -#endif -#ifdef USE_PREFETCH -#else -#endif -#ifdef USE_PREFETCH -#else -#endif -#ifdef DISCARD_CACHES_ENABLED -#if defined(CLOBBER_CACHE_RECURSIVELY) -#else -#endif -#else /* not DISCARD_CACHES_ENABLED */ -#endif /* not DISCARD_CACHES_ENABLED */ - - - - - -#ifdef HAVE_UNIX_SOCKETS -#else -#endif -#ifdef USE_SSL -#else -#endif -#ifdef USE_OPENSSL -#else -#endif -#ifdef USE_SSL -#else -#endif - - -#ifdef HAVE_SYSLOG -#else -#endif - -/******** end of options list ********/ - - -/* - * To allow continued support of obsolete names for GUC variables, we apply - * the following mappings to any unrecognized name. Note that an old name - * should be mapped to a new one only if the new variable has very similar - * semantics to the old. - */ - - - -/* - * Actual lookup of variables is done through this single, sorted array. - */ - - -/* Current number of variables contained in the vector */ - - -/* Vector capacity */ - - - - /* true if need to do commit/abort work */ - - /* true to enable GUC_REPORT */ - - /* true if any GUC_REPORT reports are needed */ - - /* 1 when in main transaction */ - - -static int guc_var_compare(const void *a, const void *b); -static int guc_name_compare(const char *namea, const char *nameb); -static void InitializeGUCOptionsFromEnvironment(void); -static void InitializeOneGUCOption(struct config_generic *gconf); -static void push_old_value(struct config_generic *gconf, GucAction action); -static void ReportGUCOption(struct config_generic *record); -static void reapply_stacked_values(struct config_generic *variable, - struct config_string *pHolder, - GucStack *stack, - const char *curvalue, - GucContext curscontext, GucSource cursource, - Oid cursrole); -static void ShowGUCConfigOption(const char *name, DestReceiver *dest); -static void ShowAllGUCConfig(DestReceiver *dest); -static char *_ShowOption(struct config_generic *record, bool use_units); -static bool validate_option_array_item(const char *name, const char *value, - bool skipIfNoPermissions); -static void write_auto_conf_file(int fd, const char *filename, ConfigVariable *head_p); -static void replace_auto_config_value(ConfigVariable **head_p, ConfigVariable **tail_p, - const char *name, const char *value); - - -/* - * Some infrastructure for checking malloc/strdup/realloc calls - */ - - - - - - - -/* - * Detect whether strval is referenced anywhere in a GUC string item - */ - - -/* - * Support for assigning to a field of a string GUC item. Free the prior - * value if it's not referenced anywhere else in the item (including stacked - * states). - */ - - -/* - * Detect whether an "extra" struct is referenced anywhere in a GUC item - */ - - -/* - * Support for assigning to an "extra" field of a GUC item. Free the prior - * value if it's not referenced anywhere else in the item (including stacked - * states). - */ - - -/* - * Support for copying a variable's active value into a stack entry. - * The "extra" field associated with the active value is copied, too. - * - * NB: be sure stringval and extra fields of a new stack entry are - * initialized to NULL before this is used, else we'll try to free() them. - */ - - -/* - * Support for discarding a no-longer-needed value in a stack entry. - * The "extra" field associated with the stack entry is cleared, too. - */ - - - -/* - * Fetch the sorted array pointer (exported for help_config.c's use ONLY) - */ - - - -/* - * Build the sorted array. This is split out so that it could be - * re-executed after startup (e.g., we could allow loadable modules to - * add vars, and then we'd need to re-sort). - */ - - -/* - * Add a new GUC variable to the list of known variables. The - * list is expanded if needed. - */ - - -/* - * Decide whether a proposed custom variable name is allowed. - * - * It must be two or more identifiers separated by dots, where the rules - * for what is an identifier agree with scan.l. (If you change this rule, - * adjust the errdetail in find_option().) - */ - - -/* - * Create and add a placeholder variable for a custom variable name. - */ - - -/* - * Look up option "name". If it exists, return a pointer to its record. - * Otherwise, if create_placeholders is true and name is a valid-looking - * custom variable name, we'll create and return a placeholder record. - * Otherwise, if skip_errors is true, then we silently return NULL for - * an unrecognized or invalid name. Otherwise, the error is reported at - * error level elevel (and we return NULL if that's less than ERROR). - * - * Note: internal errors, primarily out-of-memory, draw an elevel-level - * report and NULL return regardless of skip_errors. Hence, callers must - * handle a NULL return whenever elevel < ERROR, but they should not need - * to emit any additional error message. (In practice, internal errors - * can only happen when create_placeholders is true, so callers passing - * false need not think terribly hard about this.) - */ - - - -/* - * comparator for qsorting and bsearching guc_variables array - */ - - -/* - * the bare comparison function for GUC names - */ - - - -/* - * Convert a GUC name to the form that should be used in pg_parameter_acl. - * - * We need to canonicalize entries since, for example, case should not be - * significant. In addition, we apply the map_old_guc_names[] mapping so that - * any obsolete names will be converted when stored in a new PG version. - * Note however that this function does not verify legality of the name. - * - * The result is a palloc'd string. - */ - - -/* - * Check whether we should allow creation of a pg_parameter_acl entry - * for the given name. (This can be applied either before or after - * canonicalizing it.) - */ - - - -/* - * Initialize GUC options during program startup. - * - * Note that we cannot read the config file yet, since we have not yet - * processed command-line switches. - */ - - -/* - * If any custom resource managers were specified in the - * wal_consistency_checking GUC, processing was deferred. Now that - * shared_preload_libraries have been loaded, process wal_consistency_checking - * again. - */ - - -/* - * Assign any GUC values that can come from the server's environment. - * - * This is called from InitializeGUCOptions, and also from ProcessConfigFile - * to deal with the possibility that a setting has been removed from - * postgresql.conf and should now get a value from the environment. - * (The latter is a kludge that should probably go away someday; if so, - * fold this back into InitializeGUCOptions.) - */ - - -/* - * Initialize one GUC option variable to its compiled-in default. - * - * Note: the reason for calling check_hooks is not that we think the boot_val - * might fail, but that the hooks might wish to compute an "extra" struct. - */ - - - -/* - * Select the configuration files and data directory to be used, and - * do the initial read of postgresql.conf. - * - * This is called after processing command-line switches. - * userDoption is the -D switch value if any (NULL if unspecified). - * progname is just for use in error messages. - * - * Returns true on success; on failure, prints a suitable error message - * to stderr and returns false. - */ - - - -/* - * Reset all options to their saved default values (implements RESET ALL) - */ - - - -/* - * push_old_value - * Push previous state during transactional assignment to a GUC variable. - */ - - - -/* - * Do GUC processing at main transaction start. - */ - - -/* - * Enter a new nesting level for GUC values. This is called at subtransaction - * start, and when entering a function that has proconfig settings, and in - * some other places where we want to set GUC variables transiently. - * NOTE we must not risk error here, else subtransaction start will be unhappy. - */ - - -/* - * Do GUC processing at transaction or subtransaction commit or abort, or - * when exiting a function that has proconfig settings, or when undoing a - * transient assignment to some GUC variables. (The name is thus a bit of - * a misnomer; perhaps it should be ExitGUCNestLevel or some such.) - * During abort, we discard all GUC settings that were applied at nesting - * levels >= nestLevel. nestLevel == 1 corresponds to the main transaction. - */ - - - -/* - * Start up automatic reporting of changes to variables marked GUC_REPORT. - * This is executed at completion of backend startup. - */ - - -/* - * ReportChangedGUCOptions: report recently-changed GUC_REPORT variables - * - * This is called just before we wait for a new client query. - * - * By handling things this way, we ensure that a ParameterStatus message - * is sent at most once per variable per query, even if the variable - * changed multiple times within the query. That's quite possible when - * using features such as function SET clauses. Function SET clauses - * also tend to cause values to change intraquery but eventually revert - * to their prevailing values; ReportGUCOption is responsible for avoiding - * redundant reports in such cases. - */ - - -/* - * ReportGUCOption: if appropriate, transmit option value to frontend - * - * We need not transmit the value if it's the same as what we last - * transmitted. However, clear the NEEDS_REPORT flag in any case. - */ - - -/* - * Convert a value from one of the human-friendly units ("kB", "min" etc.) - * to the given base unit. 'value' and 'unit' are the input value and unit - * to convert from (there can be trailing spaces in the unit string). - * The converted value is stored in *base_value. - * It's caller's responsibility to round off the converted value as necessary - * and check for out-of-range. - * - * Returns true on success, false if the input unit is not recognized. - */ - - -/* - * Convert an integer value in some base unit to a human-friendly unit. - * - * The output unit is chosen so that it's the greatest unit that can represent - * the value without loss. For example, if the base unit is GUC_UNIT_KB, 1024 - * is converted to 1 MB, but 1025 is represented as 1025 kB. - */ - - -/* - * Convert a floating-point value in some base unit to a human-friendly unit. - * - * Same as above, except we have to do the math a bit differently, and - * there's a possibility that we don't find any exact divisor. - */ - - -/* - * Return the name of a GUC's base unit (e.g. "ms") given its flags. - * Return NULL if the GUC is unitless. - */ - - - -/* - * Try to parse value as an integer. The accepted formats are the - * usual decimal, octal, or hexadecimal formats, as well as floating-point - * formats (which will be rounded to integer after any units conversion). - * Optionally, the value can be followed by a unit name if "flags" indicates - * a unit is allowed. - * - * If the string parses okay, return true, else false. - * If okay and result is not NULL, return the value in *result. - * If not okay and hintmsg is not NULL, *hintmsg is set to a suitable - * HINT message, or NULL if no hint provided. - */ - - -/* - * Try to parse value as a floating point number in the usual format. - * Optionally, the value can be followed by a unit name if "flags" indicates - * a unit is allowed. - * - * If the string parses okay, return true, else false. - * If okay and result is not NULL, return the value in *result. - * If not okay and hintmsg is not NULL, *hintmsg is set to a suitable - * HINT message, or NULL if no hint provided. - */ - - - -/* - * Lookup the name for an enum option with the selected value. - * Should only ever be called with known-valid values, so throws - * an elog(ERROR) if the enum option is not found. - * - * The returned string is a pointer to static data and not - * allocated for modification. - */ - - - -/* - * Lookup the value for an enum option with the selected name - * (case-insensitive). - * If the enum option is found, sets the retval value and returns - * true. If it's not found, return false and retval is set to 0. - */ - - - -/* - * Return a list of all available options for an enum, excluding - * hidden ones, separated by the given separator. - * If prefix is non-NULL, it is added before the first enum value. - * If suffix is non-NULL, it is added to the end of the string. - */ - - -/* - * Parse and validate a proposed value for the specified configuration - * parameter. - * - * This does built-in checks (such as range limits for an integer parameter) - * and also calls any check hook the parameter may have. - * - * record: GUC variable's info record - * name: variable name (should match the record of course) - * value: proposed value, as a string - * source: identifies source of value (check hooks may need this) - * elevel: level to log any error reports at - * newval: on success, converted parameter value is returned here - * newextra: on success, receives any "extra" data returned by check hook - * (caller must initialize *newextra to NULL) - * - * Returns true if OK, false if not (or throws error, if elevel >= ERROR) - */ - - - -/* - * set_config_option: sets option `name' to given value. - * - * The value should be a string, which will be parsed and converted to - * the appropriate data type. The context and source parameters indicate - * in which context this function is being called, so that it can apply the - * access restrictions properly. - * - * If value is NULL, set the option to its default value (normally the - * reset_val, but if source == PGC_S_DEFAULT we instead use the boot_val). - * - * action indicates whether to set the value globally in the session, locally - * to the current top transaction, or just for the duration of a function call. - * - * If changeVal is false then don't really set the option but do all - * the checks to see if it would work. - * - * elevel should normally be passed as zero, allowing this function to make - * its standard choice of ereport level. However some callers need to be - * able to override that choice; they should pass the ereport level to use. - * - * is_reload should be true only when called from read_nondefault_variables() - * or RestoreGUCState(), where we are trying to load some other process's - * GUC settings into a new process. - * - * Return value: - * +1: the value is valid and was successfully applied. - * 0: the name or value is invalid (but see below). - * -1: the value was not applied because of context, priority, or changeVal. - * - * If there is an error (non-existing option, invalid value) then an - * ereport(ERROR) is thrown *unless* this is called for a source for which - * we don't want an ERROR (currently, those are defaults, the config file, - * and per-database or per-user settings, as well as callers who specify - * a less-than-ERROR elevel). In those cases we write a suitable error - * message via ereport() and return 0. - * - * See also SetConfigOption for an external interface. - */ - - -/* - * set_config_option_ext: sets option `name' to given value. - * - * This API adds the ability to explicitly specify which role OID - * is considered to be setting the value. Most external callers can use - * set_config_option() and let it determine that based on the GucSource, - * but there are a few that are supplying a value that was determined - * in some special way and need to override the decision. Also, when - * restoring a previously-assigned value, it's important to supply the - * same role OID that set the value originally; so all guc.c callers - * that are doing that type of thing need to call this directly. - * - * Generally, srole should be GetUserId() when the source is a SQL operation, - * or BOOTSTRAP_SUPERUSERID if the source is a config file or similar. - */ -#define newval (newval_union.boolval) -#undef newval -#define newval (newval_union.intval) -#undef newval -#define newval (newval_union.realval) -#undef newval -#define newval (newval_union.stringval) -#undef newval -#define newval (newval_union.enumval) -#undef newval - - -/* - * Set the fields for source file and line number the setting came from. - */ - - -/* - * Set a config option to the given value. - * - * See also set_config_option; this is just the wrapper to be called from - * outside GUC. (This function should be used when possible, because its API - * is more stable than set_config_option's.) - * - * Note: there is no support here for setting source file/line, as it - * is currently not needed. - */ - - - - -/* - * Fetch the current value of the option `name', as a string. - * - * If the option doesn't exist, return NULL if missing_ok is true (NOTE that - * this cannot be distinguished from a string variable with a NULL value!), - * otherwise throw an ereport and don't return. - * - * If restrict_privileged is true, we also enforce that only superusers and - * members of the pg_read_all_settings role can see GUC_SUPERUSER_ONLY - * variables. This should only be passed as true in user-driven calls. - * - * The string is *not* allocated for modification and is really only - * valid until the next call to configuration related functions. - */ - - -/* - * Get the RESET value associated with the given option. - * - * Note: this is not re-entrant, due to use of static result buffer; - * not to mention that a string variable could have its reset_val changed. - * Beware of assuming the result value is good for very long. - */ - - -/* - * Get the GUC flags associated with the given option. - * - * If the option doesn't exist, return 0 if missing_ok is true, - * otherwise throw an ereport and don't return. - */ - - - -/* - * flatten_set_variable_args - * Given a parsenode List as emitted by the grammar for SET, - * convert to the flat string representation used by GUC. - * - * We need to be told the name of the variable the args are for, because - * the flattening rules vary (ugh). - * - * The result is NULL if args is NIL (i.e., SET ... TO DEFAULT), otherwise - * a palloc'd string. - */ - - -/* - * Write updated configuration parameter values into a temporary file. - * This function traverses the list of parameters and quotes the string - * values before writing them. - */ - - -/* - * Update the given list of configuration parameters, adding, replacing - * or deleting the entry for item "name" (delete if "value" == NULL). - */ - - - -/* - * Execute ALTER SYSTEM statement. - * - * Read the old PG_AUTOCONF_FILENAME file, merge in the new variable value, - * and write out an updated file. If the command is ALTER SYSTEM RESET ALL, - * we can skip reading the old file and just write an empty file. - * - * An LWLock is used to serialize updates of the configuration file. - * - * In case of an error, we leave the original automatic - * configuration file (PG_AUTOCONF_FILENAME) intact. - */ - - -/* - * SET command - */ - - -/* - * Get the value to assign for a VariableSetStmt, or NULL if it's RESET. - * The result is palloc'd. - * - * This is exported for use by actions such as ALTER ROLE SET. - */ - - -/* - * SetPGVariable - SET command exported as an easily-C-callable function. - * - * This provides access to SET TO value, as well as SET TO DEFAULT (expressed - * by passing args == NIL), but not SET FROM CURRENT functionality. - */ - - -/* - * SET command wrapped as a SQL callable function. - */ - - - -/* - * Common code for DefineCustomXXXVariable subroutines: allocate the - * new variable's config struct and fill in generic fields. - */ - - -/* - * Common code for DefineCustomXXXVariable subroutines: insert the new - * variable into the GUC variable array, replacing any placeholder. - */ - - -/* - * Recursive subroutine for define_custom_variable: reapply non-reset values - * - * We recurse so that the values are applied in the same order as originally. - * At each recursion level, apply the upper-level value (passed in) in the - * fashion implied by the stack entry. - */ - - -/* - * Functions for extensions to call to define their custom GUC variables. - */ - - - - - - - - - - -/* - * Mark the given GUC prefix as "reserved". - * - * This deletes any existing placeholders matching the prefix, - * and then prevents new ones from being created. - * Extensions should call this after they've defined all of their custom - * GUCs, to help catch misspelled config-file entries. - */ - - - -/* - * SHOW command - */ - - - - - -/* - * SHOW command - */ - - -/* - * SHOW ALL command - */ - - -/* - * Return an array of modified GUC options to show in EXPLAIN. - * - * We only report options related to query planning (marked with GUC_EXPLAIN), - * with values different from their built-in defaults. - */ - - -/* - * Return GUC variable value by name; optionally return canonical form of - * name. If the GUC is unset, then throw an error unless missing_ok is true, - * in which case return NULL. Return value is palloc'd (but *varname isn't). - */ - - -/* - * Return some of the flags associated to the specified GUC in the shape of - * a text array, and NULL if it does not exist. An empty array is returned - * if the GUC exists without any meaningful flags to show. - */ -#define MAX_GUC_FLAGS 5 - -/* - * Return GUC variable value by variable number; optionally return canonical - * form of name. Return value is palloc'd. - */ - - -/* - * Return the total number of GUC variables - */ - - -/* - * show_config_by_name - equiv to SHOW X command but implemented as - * a function. - */ - - -/* - * show_config_by_name_missing_ok - equiv to SHOW X command but implemented as - * a function. If X does not exist, suppress the error and just return NULL - * if missing_ok is true. - */ - - -/* - * show_all_settings - equiv to SHOW ALL command but implemented as - * a Table Function. - */ -#define NUM_PG_SETTINGS_ATTS 17 - - - -/* - * show_all_file_settings - * - * Returns a table of all parameter settings in all configuration files - * which includes the config file pathname, the line number, a sequence number - * indicating the order in which the settings were encountered, the parameter - * name and value, a bool showing if the value could be applied, and possibly - * an associated error message. (For problems such as syntax errors, the - * parameter name/value might be NULL.) - * - * Note: no filtering is done here, instead we depend on the GRANT system - * to prevent unprivileged users from accessing this function or the view - * built on top of it. - */ -#define NUM_PG_FILE_SETTINGS_ATTS 7 - - - - -#ifdef EXEC_BACKEND - -/* - * These routines dump out all non-default GUC options into a binary - * file that is read by all exec'ed backends. The format is: - * - * variable name, string, null terminated - * variable value, string, null terminated - * variable sourcefile, string, null terminated (empty if none) - * variable sourceline, integer - * variable source, integer - * variable scontext, integer -* variable srole, OID - */ -static void -write_one_nondefault_variable(FILE *fp, struct config_generic *gconf) -{ - if (gconf->source == PGC_S_DEFAULT) - return; - - fprintf(fp, "%s", gconf->name); - fputc(0, fp); - - switch (gconf->vartype) - { - case PGC_BOOL: - { - struct config_bool *conf = (struct config_bool *) gconf; - - if (*conf->variable) - fprintf(fp, "true"); - else - fprintf(fp, "false"); - } - break; - - case PGC_INT: - { - struct config_int *conf = (struct config_int *) gconf; - - fprintf(fp, "%d", *conf->variable); - } - break; - - case PGC_REAL: - { - struct config_real *conf = (struct config_real *) gconf; - - fprintf(fp, "%.17g", *conf->variable); - } - break; - - case PGC_STRING: - { - struct config_string *conf = (struct config_string *) gconf; - - fprintf(fp, "%s", *conf->variable); - } - break; - - case PGC_ENUM: - { - struct config_enum *conf = (struct config_enum *) gconf; - - fprintf(fp, "%s", - config_enum_lookup_by_value(conf, *conf->variable)); - } - break; - } - - fputc(0, fp); - - if (gconf->sourcefile) - fprintf(fp, "%s", gconf->sourcefile); - fputc(0, fp); - - fwrite(&gconf->sourceline, 1, sizeof(gconf->sourceline), fp); - fwrite(&gconf->source, 1, sizeof(gconf->source), fp); - fwrite(&gconf->scontext, 1, sizeof(gconf->scontext), fp); - fwrite(&gconf->srole, 1, sizeof(gconf->srole), fp); -} - -void -write_nondefault_variables(GucContext context) -{ - int elevel; - FILE *fp; - int i; - - Assert(context == PGC_POSTMASTER || context == PGC_SIGHUP); - - elevel = (context == PGC_SIGHUP) ? LOG : ERROR; - - /* - * Open file - */ - fp = AllocateFile(CONFIG_EXEC_PARAMS_NEW, "w"); - if (!fp) - { - ereport(elevel, - (errcode_for_file_access(), - errmsg("could not write to file \"%s\": %m", - CONFIG_EXEC_PARAMS_NEW))); - return; - } - - for (i = 0; i < num_guc_variables; i++) - { - write_one_nondefault_variable(fp, guc_variables[i]); - } - - if (FreeFile(fp)) - { - ereport(elevel, - (errcode_for_file_access(), - errmsg("could not write to file \"%s\": %m", - CONFIG_EXEC_PARAMS_NEW))); - return; - } - - /* - * Put new file in place. This could delay on Win32, but we don't hold - * any exclusive locks. - */ - rename(CONFIG_EXEC_PARAMS_NEW, CONFIG_EXEC_PARAMS); -} - - -/* - * Read string, including null byte from file - * - * Return NULL on EOF and nothing read - */ -static char * -read_string_with_null(FILE *fp) -{ - int i = 0, - ch, - maxlen = 256; - char *str = NULL; - - do - { - if ((ch = fgetc(fp)) == EOF) - { - if (i == 0) - return NULL; - else - elog(FATAL, "invalid format of exec config params file"); - } - if (i == 0) - str = guc_malloc(FATAL, maxlen); - else if (i == maxlen) - str = guc_realloc(FATAL, str, maxlen *= 2); - str[i++] = ch; - } while (ch != 0); - - return str; -} - - -/* - * This routine loads a previous postmaster dump of its non-default - * settings. - */ -void -read_nondefault_variables(void) -{ - FILE *fp; - char *varname, - *varvalue, - *varsourcefile; - int varsourceline; - GucSource varsource; - GucContext varscontext; - Oid varsrole; - - /* - * Open file - */ - fp = AllocateFile(CONFIG_EXEC_PARAMS, "r"); - if (!fp) - { - /* File not found is fine */ - if (errno != ENOENT) - ereport(FATAL, - (errcode_for_file_access(), - errmsg("could not read from file \"%s\": %m", - CONFIG_EXEC_PARAMS))); - return; - } - - for (;;) - { - struct config_generic *record; - - if ((varname = read_string_with_null(fp)) == NULL) - break; - - if ((record = find_option(varname, true, false, FATAL)) == NULL) - elog(FATAL, "failed to locate variable \"%s\" in exec config params file", varname); - - if ((varvalue = read_string_with_null(fp)) == NULL) - elog(FATAL, "invalid format of exec config params file"); - if ((varsourcefile = read_string_with_null(fp)) == NULL) - elog(FATAL, "invalid format of exec config params file"); - if (fread(&varsourceline, 1, sizeof(varsourceline), fp) != sizeof(varsourceline)) - elog(FATAL, "invalid format of exec config params file"); - if (fread(&varsource, 1, sizeof(varsource), fp) != sizeof(varsource)) - elog(FATAL, "invalid format of exec config params file"); - if (fread(&varscontext, 1, sizeof(varscontext), fp) != sizeof(varscontext)) - elog(FATAL, "invalid format of exec config params file"); - if (fread(&varsrole, 1, sizeof(varsrole), fp) != sizeof(varsrole)) - elog(FATAL, "invalid format of exec config params file"); - - (void) set_config_option_ext(varname, varvalue, - varscontext, varsource, varsrole, - GUC_ACTION_SET, true, 0, true); - if (varsourcefile[0]) - set_config_sourcefile(varname, varsourcefile, varsourceline); - - free(varname); - free(varvalue); - free(varsourcefile); - } - - FreeFile(fp); -} -#endif /* EXEC_BACKEND */ - -/* - * can_skip_gucvar: - * Decide whether SerializeGUCState can skip sending this GUC variable, - * or whether RestoreGUCState can skip resetting this GUC to default. - * - * It is somewhat magical and fragile that the same test works for both cases. - * Realize in particular that we are very likely selecting different sets of - * GUCs on the leader and worker sides! Be sure you've understood the - * comments here and in RestoreGUCState thoroughly before changing this. - */ - - -/* - * estimate_variable_size: - * Compute space needed for dumping the given GUC variable. - * - * It's OK to overestimate, but not to underestimate. - */ - - -/* - * EstimateGUCStateSpace: - * Returns the size needed to store the GUC state for the current process - */ - - -/* - * do_serialize: - * Copies the formatted string into the destination. Moves ahead the - * destination pointer, and decrements the maxbytes by that many bytes. If - * maxbytes is not sufficient to copy the string, error out. - */ - - -/* Binary copy version of do_serialize() */ - - -/* - * serialize_variable: - * Dumps name, value and other information of a GUC variable into destptr. - */ - - -/* - * SerializeGUCState: - * Dumps the complete GUC state onto the memory location at start_address. - */ - - -/* - * read_gucstate: - * Actually it does not read anything, just returns the srcptr. But it does - * move the srcptr past the terminating zero byte, so that the caller is ready - * to read the next string. - */ - - -/* Binary read version of read_gucstate(). Copies into dest */ - - -/* - * Callback used to add a context message when reporting errors that occur - * while trying to restore GUCs in parallel workers. - */ - - -/* - * RestoreGUCState: - * Reads the GUC state at the specified address and sets this process's - * GUCs to match. - * - * Note that this provides the worker with only a very shallow view of the - * leader's GUC state: we'll know about the currently active values, but not - * about stacked or reset values. That's fine since the worker is just - * executing one part of a query, within which the active values won't change - * and the stacked values are invisible. - */ - - -/* - * A little "long argument" simulation, although not quite GNU - * compliant. Takes a string of the form "some-option=some value" and - * returns name = "some_option" and value = "some value" in malloc'ed - * storage. Note that '-' is converted to '_' in the option name. If - * there is no '=' in the input string then value will be NULL. - */ - - - -/* - * Handle options fetched from pg_db_role_setting.setconfig, - * pg_proc.proconfig, etc. Caller must specify proper context/source/action. - * - * The array parameter must be an array of TEXT (it must not be NULL). - */ - - - -/* - * Add an entry to an option array. The array parameter may be NULL - * to indicate the current table entry is NULL. - */ - - - -/* - * Delete an entry from an option array. The array parameter may be NULL - * to indicate the current table entry is NULL. Also, if the return value - * is NULL then a null should be stored. - */ - - - -/* - * Given a GUC array, delete all settings from it that our permission - * level allows: if superuser, delete them all; if regular user, only - * those that are PGC_USERSET or we have permission to set - */ - - -/* - * Validate a proposed option setting for GUCArrayAdd/Delete/Reset. - * - * name is the option name. value is the proposed value for the Add case, - * or NULL for the Delete/Reset cases. If skipIfNoPermissions is true, it's - * not an error to have no permissions to set the option. - * - * Returns true if OK, false if skipIfNoPermissions is true and user does not - * have permission to change this option (all other error cases result in an - * error being thrown). - */ - - - -/* - * Called by check_hooks that want to override the normal - * ERRCODE_INVALID_PARAMETER_VALUE SQLSTATE for check hook failures. - * - * Note that GUC_check_errmsg() etc are just macros that result in a direct - * assignment to the associated variables. That is ugly, but forced by the - * limitations of C's macro mechanisms. - */ - - - -/* - * Convenience functions to manage calling a variable's check_hook. - * These mostly take care of the protocol for letting check hooks supply - * portions of the error report on failure. - */ - - - - - - - - - - - - -/* - * check_hook, assign_hook and show_hook subroutines - */ - - - - - -#ifdef HAVE_SYSLOG -#endif -#ifdef WIN32 -#endif - - - -#ifdef HAVE_SYSLOG -#endif - -#ifdef HAVE_SYSLOG -#endif - - - - - - -#ifndef USE_BONJOUR -#endif - -#ifndef USE_SSL -#endif - - - - - - - - - - - -/* - * pg_timezone_abbrev_initialize --- set default value if not done already - * - * This is called after initial loading of postgresql.conf. If no - * timezone_abbreviations setting was found therein, select default. - * If a non-default value is already installed, nothing will happen. - * - * This can also be called from ProcessConfigFile to establish the default - * value after a postgresql.conf entry for it is removed. - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#ifndef USE_PREFETCH -#endif /* USE_PREFETCH */ - -#ifndef USE_PREFETCH -#endif /* USE_PREFETCH */ - -#if !(defined(MAP_HUGE_MASK) && defined(MAP_HUGE_SHIFT)) -#endif - - - -#ifdef USE_PREFETCH -#endif - - - - - - - - - - - - - - - -/* - * We split the input string, where commas separate function names - * and certain whitespace chars are ignored, into a \0-separated (and - * \0\0-terminated) list of function names. This formulation allows - * easy scanning when an error is thrown while avoiding the use of - * non-reentrant strtok(), as well as keeping the output data in a - * single palloc() chunk. - */ - - - - - - - - -/* - * Recovery target settings: Only one of the several recovery_target* settings - * may be set. Setting a second one results in an error. The global variable - * recoveryTarget tracks which kind of recovery target was chosen. Other - * variables store the actual target value (for example a string or a xid). - * The assign functions of the parameters check whether a competing parameter - * was already set. But we want to allow setting the same parameter multiple - * times. We also want to allow unsetting a parameter and setting a different - * one, so we unset recoveryTarget when the parameter is set to an empty - * string. - */ - - - - - - - - - - - -/* - * The interpretation of the recovery_target_time string can depend on the - * time zone setting, so we need to wait until after all GUC processing is - * done before we can do the final parsing of the string. This check function - * only does a parsing pass to catch syntax errors, but we store the string - * and parse it again when we need to use it. - */ - - - - - - - - - - - - - - - - -#include "guc-file.c" diff --git a/parser/src_backend_utils_misc_guc_tables.c b/parser/src_backend_utils_misc_guc_tables.c new file mode 100644 index 00000000..7a5211ef --- /dev/null +++ b/parser/src_backend_utils_misc_guc_tables.c @@ -0,0 +1,502 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - log_min_messages + * - backtrace_functions + * - check_function_bodies + *-------------------------------------------------------------------- + */ + +/*-------------------------------------------------------------------- + * + * guc_tables.c + * + * Static tables for the Grand Unified Configuration scheme. + * + * Many of these tables are const. However, ConfigureNamesBool[] + * and so on are not, because the structs in those arrays are actually + * the live per-variable state data that guc.c manipulates. While many of + * their fields are intended to be constant, some fields change at runtime. + * + * + * Copyright (c) 2000-2024, PostgreSQL Global Development Group + * Written by Peter Eisentraut . + * + * IDENTIFICATION + * src/backend/utils/misc/guc_tables.c + * + *-------------------------------------------------------------------- + */ +#include "postgres.h" + +#include +#include +#ifdef HAVE_SYSLOG +#include +#endif + +#include "access/commit_ts.h" +#include "access/gin.h" +#include "access/slru.h" +#include "access/toast_compression.h" +#include "access/twophase.h" +#include "access/xlog_internal.h" +#include "access/xlogprefetcher.h" +#include "access/xlogrecovery.h" +#include "archive/archive_module.h" +#include "catalog/namespace.h" +#include "catalog/storage.h" +#include "commands/async.h" +#include "commands/event_trigger.h" +#include "commands/tablespace.h" +#include "commands/trigger.h" +#include "commands/user.h" +#include "commands/vacuum.h" +#include "common/file_utils.h" +#include "common/scram-common.h" +#include "jit/jit.h" +#include "libpq/auth.h" +#include "libpq/libpq.h" +#include "libpq/scram.h" +#include "nodes/queryjumble.h" +#include "optimizer/cost.h" +#include "optimizer/geqo.h" +#include "optimizer/optimizer.h" +#include "optimizer/paths.h" +#include "optimizer/planmain.h" +#include "parser/parse_expr.h" +#include "parser/parser.h" +#include "pgstat.h" +#include "postmaster/autovacuum.h" +#include "postmaster/bgworker_internals.h" +#include "postmaster/bgwriter.h" +#include "postmaster/postmaster.h" +#include "postmaster/startup.h" +#include "postmaster/syslogger.h" +#include "postmaster/walsummarizer.h" +#include "postmaster/walwriter.h" +#include "replication/logicallauncher.h" +#include "replication/slot.h" +#include "replication/slotsync.h" +#include "replication/syncrep.h" +#include "storage/bufmgr.h" +#include "storage/large_object.h" +#include "storage/pg_shmem.h" +#include "storage/predicate.h" +#include "storage/standby.h" +#include "tcop/tcopprot.h" +#include "tsearch/ts_cache.h" +#include "utils/builtins.h" +#include "utils/bytea.h" +#include "utils/float.h" +#include "utils/guc_hooks.h" +#include "utils/guc_tables.h" +#include "utils/inval.h" +#include "utils/memutils.h" +#include "utils/pg_locale.h" +#include "utils/plancache.h" +#include "utils/ps_status.h" +#include "utils/xml.h" + +/* This value is normally passed in from the Makefile */ +#ifndef PG_KRB_SRVTAB +#define PG_KRB_SRVTAB "" +#endif + +/* XXX these should appear in other modules' header files */ +extern bool Log_disconnections; +extern bool Trace_connection_negotiation; +extern int CommitDelay; +extern int CommitSiblings; +extern char *default_tablespace; +extern char *temp_tablespaces; +extern bool ignore_checksum_failure; +extern bool ignore_invalid_pages; + +#ifdef TRACE_SYNCSCAN +extern bool trace_syncscan; +#endif +#ifdef DEBUG_BOUNDED_SORT +extern bool optimize_bounded_sort; +#endif + +/* + * Options for enum values defined in this module. + * + * NOTE! Option values may not contain double quotes! + */ + + + +StaticAssertDecl(lengthof(bytea_output_options) == (BYTEA_OUTPUT_HEX + 2), + "array length mismatch"); + +/* + * We have different sets for client and server message level options because + * they sort slightly different (see "log" level), and because "fatal"/"panic" + * aren't sensible for client_min_messages. + */ + + + + + + + + +StaticAssertDecl(lengthof(intervalstyle_options) == (INTSTYLE_ISO_8601 + 2), + "array length mismatch"); + + + +StaticAssertDecl(lengthof(log_error_verbosity_options) == (PGERROR_VERBOSE + 2), + "array length mismatch"); + + + +StaticAssertDecl(lengthof(log_statement_options) == (LOGSTMT_ALL + 2), + "array length mismatch"); + + + + + +StaticAssertDecl(lengthof(session_replication_role_options) == (SESSION_REPLICATION_ROLE_LOCAL + 2), + "array length mismatch"); + +#ifdef HAVE_SYSLOG +#else +#endif + + + +StaticAssertDecl(lengthof(track_function_options) == (TRACK_FUNC_ALL + 2), + "array length mismatch"); + + + +StaticAssertDecl(lengthof(stats_fetch_consistency) == (PGSTAT_FETCH_CONSISTENCY_SNAPSHOT + 2), + "array length mismatch"); + + + +StaticAssertDecl(lengthof(xmlbinary_options) == (XMLBINARY_HEX + 2), + "array length mismatch"); + + + +StaticAssertDecl(lengthof(xmloption_options) == (XMLOPTION_CONTENT + 2), + "array length mismatch"); + +/* + * Although only "on", "off", and "safe_encoding" are documented, we + * accept all the likely variants of "on" and "off". + */ + + +/* + * Although only "on", "off", and "auto" are documented, we accept + * all the likely variants of "on" and "off". + */ + + +/* + * Although only "on", "off", and "partition" are documented, we + * accept all the likely variants of "on" and "off". + */ + + +/* + * Although only "on", "off", "remote_apply", "remote_write", and "local" are + * documented, we accept all the likely variants of "on" and "off". + */ + + +/* + * Although only "on", "off", "try" are documented, we accept all the likely + * variants of "on" and "off". + */ + + + + + + + + + + + + + + + + +StaticAssertDecl(lengthof(ssl_protocol_versions_info) == (PG_TLS1_3_VERSION + 2), + "array length mismatch"); + +#ifdef HAVE_SYNCFS +#endif + +#ifndef WIN32 +#endif +#ifndef EXEC_BACKEND +#endif +#ifdef WIN32 +#endif + +#ifdef USE_LZ4 +#endif + +#ifdef USE_LZ4 +#endif +#ifdef USE_ZSTD +#endif + +/* + * Options for enum values stored in other modules + */ +extern const struct config_enum_entry wal_level_options[]; +extern const struct config_enum_entry archive_mode_options[]; +extern const struct config_enum_entry recovery_target_action_options[]; +extern const struct config_enum_entry wal_sync_method_options[]; +extern const struct config_enum_entry dynamic_shared_memory_options[]; + +/* + * GUC option variables that are exported from this module + */ + + + + + + + + + + + /* this is sort of all three above + * together */ + + + + +__thread bool check_function_bodies = true; + + +/* + * This GUC exists solely for backward compatibility, check its definition for + * details. + */ + + + + +__thread int log_min_messages = WARNING; + + + + + + + + + +__thread char *backtrace_functions; + + + + + + + + + + + + + + + + + + + +/* + * SSL renegotiation was been removed in PostgreSQL 9.5, but we tolerate it + * being set to zero (meaning never renegotiate) for backward compatibility. + * This avoids breaking compatibility with clients that have never supported + * renegotiation and therefore always try to zero it. + */ + + +/* + * This really belongs in pg_shmem.c, but is defined here so that it doesn't + * need to be duplicated in all the different implementations of pg_shmem.c. + */ + + + + +/* + * These variables are all dummies that don't do anything, except in some + * cases provide the value for SHOW to display. The real state is elsewhere + * and is kept in sync by assign_hooks. + */ + + + + + + + + + + +#ifdef HAVE_SYSLOG +#define DEFAULT_SYSLOG_FACILITY LOG_LOCAL0 +#else +#define DEFAULT_SYSLOG_FACILITY 0 +#endif + + + + + + + + + + + + + + + + + + +#ifdef USE_ASSERT_CHECKING +#define DEFAULT_ASSERT_ENABLED true +#else +#define DEFAULT_ASSERT_ENABLED false +#endif + + + + + + + + +/* should be static, but commands/variable.c needs to get at this */ + + +/* should be static, but guc.c needs to get at this */ + + + +/* + * Displayable names for context types (enum GucContext) + * + * Note: these strings are deliberately not localized. + */ + + +StaticAssertDecl(lengthof(GucContext_Names) == (PGC_USERSET + 1), + "array length mismatch"); + +/* + * Displayable names for source types (enum GucSource) + * + * Note: these strings are deliberately not localized. + */ + + +StaticAssertDecl(lengthof(GucSource_Names) == (PGC_S_SESSION + 1), + "array length mismatch"); + +/* + * Displayable names for the groupings defined in enum config_group + */ + + +StaticAssertDecl(lengthof(config_group_names) == (DEVELOPER_OPTIONS + 1), + "array length mismatch"); + +/* + * Displayable names for GUC variable types (enum config_type) + * + * Note: these strings are deliberately not localized. + */ + + +StaticAssertDecl(lengthof(config_type_names) == (PGC_ENUM + 1), + "array length mismatch"); + + +/* + * Contents of GUC tables + * + * See src/backend/utils/misc/README for design notes. + * + * TO ADD AN OPTION: + * + * 1. Declare a global variable of type bool, int, double, or char* + * and make use of it. + * + * 2. Decide at what times it's safe to set the option. See guc.h for + * details. + * + * 3. Decide on a name, a default value, upper and lower bounds (if + * applicable), etc. + * + * 4. Add a record below. + * + * 5. Add it to src/backend/utils/misc/postgresql.conf.sample, if + * appropriate. + * + * 6. Don't forget to document the option (at least in config.sgml). + * + * 7. If it's a new GUC_LIST_QUOTE option, you must add it to + * variable_is_guc_list_quote() in src/bin/pg_dump/dumputils.c. + */ + +#ifdef BTREE_BUILD_STATS +#endif +#ifdef LOCK_DEBUG +#endif +#ifdef TRACE_SORT +#endif +#ifdef TRACE_SYNCSCAN +#endif +#ifdef DEBUG_BOUNDED_SORT +#endif +#ifdef WAL_DEBUG +#endif + + +#ifdef LOCK_DEBUG +#endif +#ifdef DISCARD_CACHES_ENABLED +#if defined(CLOBBER_CACHE_RECURSIVELY) +#else +#endif +#else /* not DISCARD_CACHES_ENABLED */ +#endif /* not DISCARD_CACHES_ENABLED */ + + + + + +#ifdef USE_SSL +#else +#endif +#ifdef USE_OPENSSL +#else +#endif +#ifdef USE_SSL +#else +#endif + + + diff --git a/parser/src_backend_utils_mmgr_alignedalloc.c b/parser/src_backend_utils_mmgr_alignedalloc.c new file mode 100644 index 00000000..fd4b0e3f --- /dev/null +++ b/parser/src_backend_utils_mmgr_alignedalloc.c @@ -0,0 +1,181 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - AlignedAllocFree + * - AlignedAllocRealloc + * - AlignedAllocGetChunkContext + * - AlignedAllocGetChunkSpace + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * alignedalloc.c + * Allocator functions to implement palloc_aligned + * + * This is not a fully-fledged MemoryContext type as there is no means to + * create a MemoryContext of this type. The code here only serves to allow + * operations such as pfree() and repalloc() to work correctly on a memory + * chunk that was allocated by palloc_aligned(). + * + * Portions Copyright (c) 2022-2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/backend/utils/mmgr/alignedalloc.c + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "utils/memdebug.h" +#include "utils/memutils_memorychunk.h" + +/* + * AlignedAllocFree +* Frees allocated memory; memory is removed from its owning context. +*/ +void +AlignedAllocFree(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + void *unaligned; + + VALGRIND_MAKE_MEM_DEFINED(chunk, sizeof(MemoryChunk)); + + Assert(!MemoryChunkIsExternal(chunk)); + + /* obtain the original (unaligned) allocated pointer */ + unaligned = MemoryChunkGetBlock(chunk); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + GetMemoryChunkContext(unaligned)->name, chunk); +#endif + + /* Recursively pfree the unaligned chunk */ + pfree(unaligned); +} + +/* + * AlignedAllocRealloc + * Change the allocated size of a chunk and return possibly a different + * pointer to a memory address aligned to the same boundary as the + * originally requested alignment. The contents of 'pointer' will be + * copied into the returned pointer up until 'size'. Any additional + * memory will be uninitialized. + */ +void * +AlignedAllocRealloc(void *pointer, Size size, int flags) +{ + MemoryChunk *redirchunk = PointerGetMemoryChunk(pointer); + Size alignto; + void *unaligned; + MemoryContext ctx; + Size old_size; + void *newptr; + + VALGRIND_MAKE_MEM_DEFINED(redirchunk, sizeof(MemoryChunk)); + + alignto = MemoryChunkGetValue(redirchunk); + unaligned = MemoryChunkGetBlock(redirchunk); + + /* sanity check this is a power of 2 value */ + Assert((alignto & (alignto - 1)) == 0); + + /* + * Determine the size of the original allocation. We can't determine this + * exactly as GetMemoryChunkSpace() returns the total space used for the + * allocation, which for contexts like aset includes rounding up to the + * next power of 2. However, this value is just used to memcpy() the old + * data into the new allocation, so we only need to concern ourselves with + * not reading beyond the end of the original allocation's memory. The + * drawback here is that we may copy more bytes than we need to, which + * only amounts to wasted effort. We can safely subtract the extra bytes + * that we requested to allow us to align the pointer. We must also + * subtract the space for the unaligned pointer's MemoryChunk since + * GetMemoryChunkSpace should have included that. This does assume that + * all context types use MemoryChunk as a chunk header. + */ + old_size = GetMemoryChunkSpace(unaligned) - + PallocAlignedExtraBytes(alignto) - sizeof(MemoryChunk); + +#ifdef MEMORY_CONTEXT_CHECKING + /* check that GetMemoryChunkSpace returned something realistic */ + Assert(old_size >= redirchunk->requested_size); +#endif + + /* + * To keep things simple, we always allocate a new aligned chunk and copy + * data into it. Because of the above inaccuracy, this may end in copying + * more data than was in the original allocation request size, but that + * should be OK. + */ + ctx = GetMemoryChunkContext(unaligned); + newptr = MemoryContextAllocAligned(ctx, size, alignto, flags); + + /* Cope cleanly with OOM */ + if (unlikely(newptr == NULL)) + { + VALGRIND_MAKE_MEM_NOACCESS(redirchunk, sizeof(MemoryChunk)); + return MemoryContextAllocationFailure(ctx, size, flags); + } + + /* + * We may memcpy more than the original allocation request size, which + * would result in trying to copy trailing bytes that the original + * MemoryContextAllocAligned call marked NOACCESS. So we must mark the + * entire old_size as defined. That's slightly annoying, but probably not + * worth improving. + */ + VALGRIND_MAKE_MEM_DEFINED(pointer, old_size); + memcpy(newptr, pointer, Min(size, old_size)); + + pfree(unaligned); + + return newptr; +} + +/* + * AlignedAllocGetChunkContext + * Return the MemoryContext that 'pointer' belongs to. + */ +MemoryContext +AlignedAllocGetChunkContext(void *pointer) +{ + MemoryChunk *redirchunk = PointerGetMemoryChunk(pointer); + MemoryContext cxt; + + VALGRIND_MAKE_MEM_DEFINED(redirchunk, sizeof(MemoryChunk)); + + Assert(!MemoryChunkIsExternal(redirchunk)); + + cxt = GetMemoryChunkContext(MemoryChunkGetBlock(redirchunk)); + + VALGRIND_MAKE_MEM_NOACCESS(redirchunk, sizeof(MemoryChunk)); + + return cxt; +} + +/* + * AlignedAllocGetChunkSpace + * Given a currently-allocated chunk, determine the total space + * it occupies (including all memory-allocation overhead). + */ +Size +AlignedAllocGetChunkSpace(void *pointer) +{ + MemoryChunk *redirchunk = PointerGetMemoryChunk(pointer); + void *unaligned; + Size space; + + VALGRIND_MAKE_MEM_DEFINED(redirchunk, sizeof(MemoryChunk)); + + unaligned = MemoryChunkGetBlock(redirchunk); + space = GetMemoryChunkSpace(unaligned); + + VALGRIND_MAKE_MEM_NOACCESS(redirchunk, sizeof(MemoryChunk)); + + return space; +} diff --git a/parser/src_backend_utils_mmgr_aset.c b/parser/src_backend_utils_mmgr_aset.c index 5716e7b8..3aad0acb 100644 --- a/parser/src_backend_utils_mmgr_aset.c +++ b/parser/src_backend_utils_mmgr_aset.c @@ -1,18 +1,21 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: - * - AllocSetContextCreateInternal - * - context_freelists - * - AllocSetMethods * - AllocSetAlloc + * - AllocSetAllocLarge * - AllocSetFreeIndex + * - AllocSetAllocFromNewBlock + * - AllocSetAllocChunkFromBlock * - AllocSetFree * - AllocSetRealloc * - AllocSetReset * - AllocSetDelete + * - context_freelists + * - AllocSetGetChunkContext * - AllocSetGetChunkSpace * - AllocSetIsEmpty * - AllocSetStats * - AllocSetCheck + * - AllocSetContextCreateInternal * - AllocSetDeleteFreeList *-------------------------------------------------------------------- */ @@ -26,7 +29,7 @@ * type. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION @@ -68,6 +71,8 @@ #include "port/pg_bitutils.h" #include "utils/memdebug.h" #include "utils/memutils.h" +#include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" /*-------------------- * Chunk freelist k holds chunks of size 1 << (k + ALLOC_MINBITS), @@ -85,7 +90,9 @@ * CAUTION: ALLOC_MINBITS must be large enough so that * 1<= 0 && (fidx) < ALLOCSET_NUM_FREELISTS) + +/* Determine the size of the chunk based on the freelist index */ +#define GetChunkSizeFromFreeListIdx(fidx) \ + ((((Size) 1) << ALLOC_MINBITS) << (fidx)) + /* * AllocSetContext is our standard implementation of MemoryContext. * @@ -142,13 +176,12 @@ typedef struct AllocSetContext MemoryContextData header; /* Standard memory-context fields */ /* Info about storage allocated in this context: */ AllocBlock blocks; /* head of list of blocks in this set */ - AllocChunk freelist[ALLOCSET_NUM_FREELISTS]; /* free chunk lists */ + MemoryChunk *freelist[ALLOCSET_NUM_FREELISTS]; /* free chunk lists */ /* Allocation parameters for this context: */ - Size initBlockSize; /* initial block size */ - Size maxBlockSize; /* maximum block size */ - Size nextBlockSize; /* next block size to allocate */ - Size allocChunkLimit; /* effective chunk size limit */ - AllocBlock keeper; /* keep this block over resets */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ /* freelist this context could be put in, or -1 if not a candidate: */ int freeListIndex; /* index in context_freelists[], or -1 */ } AllocSetContext; @@ -158,8 +191,8 @@ typedef AllocSetContext *AllocSet; /* * AllocBlock * An AllocBlock is the unit of memory that is obtained by aset.c - * from malloc(). It contains one or more AllocChunks, which are - * the units requested by palloc() and freed by pfree(). AllocChunks + * from malloc(). It contains one or more MemoryChunks, which are + * the units requested by palloc() and freed by pfree(). MemoryChunks * cannot be returned to malloc() individually, instead they are put * on freelists by pfree() and re-used by the next palloc() that has * a matching request size. @@ -176,50 +209,6 @@ typedef struct AllocBlockData char *endptr; /* end of space in this block */ } AllocBlockData; -/* - * AllocChunk - * The prefix of each piece of memory in an AllocBlock - * - * Note: to meet the memory context APIs, the payload area of the chunk must - * be maxaligned, and the "aset" link must be immediately adjacent to the - * payload area (cf. GetMemoryChunkContext). We simplify matters for this - * module by requiring sizeof(AllocChunkData) to be maxaligned, and then - * we can ensure things work by adding any required alignment padding before - * the "aset" field. There is a static assertion below that the alignment - * is done correctly. - */ -typedef struct AllocChunkData -{ - /* size is always the size of the usable space in the chunk */ - Size size; -#ifdef MEMORY_CONTEXT_CHECKING - /* when debugging memory usage, also store actual requested size */ - /* this is zero in a free chunk */ - Size requested_size; - -#define ALLOCCHUNK_RAWSIZE (SIZEOF_SIZE_T * 2 + SIZEOF_VOID_P) -#else -#define ALLOCCHUNK_RAWSIZE (SIZEOF_SIZE_T + SIZEOF_VOID_P) -#endif /* MEMORY_CONTEXT_CHECKING */ - - /* ensure proper alignment by adding padding if needed */ -#if (ALLOCCHUNK_RAWSIZE % MAXIMUM_ALIGNOF) != 0 - char padding[MAXIMUM_ALIGNOF - ALLOCCHUNK_RAWSIZE % MAXIMUM_ALIGNOF]; -#endif - - /* aset is the owning aset if allocated, or the freelist link if free */ - void *aset; - /* there must not be any padding to reach a MAXALIGN boundary here! */ -} AllocChunkData; - -/* - * Only the "aset" field should be accessed outside this module. - * We keep the rest of an allocated chunk's header marked NOACCESS when using - * valgrind. But note that chunk headers that are in a freelist are kept - * accessible, for simplicity. - */ -#define ALLOCCHUNK_PRIVATE_LEN offsetof(AllocChunkData, aset) - /* * AllocPointerIsValid * True iff pointer is valid allocation pointer. @@ -230,12 +219,23 @@ typedef struct AllocChunkData * AllocSetIsValid * True iff set is valid allocation set. */ -#define AllocSetIsValid(set) PointerIsValid(set) +#define AllocSetIsValid(set) \ + (PointerIsValid(set) && IsA(set, AllocSetContext)) -#define AllocPointerGetChunk(ptr) \ - ((AllocChunk)(((char *)(ptr)) - ALLOC_CHUNKHDRSZ)) -#define AllocChunkGetPointer(chk) \ - ((AllocPointer)(((char *)(chk)) + ALLOC_CHUNKHDRSZ)) +/* + * AllocBlockIsValid + * True iff block is valid block of allocation set. + */ +#define AllocBlockIsValid(block) \ + (PointerIsValid(block) && AllocSetIsValid((block)->aset)) + +/* + * We always store external chunks on a dedicated block. This makes fetching + * the block from an external chunk easy since it's always the first and only + * chunk on the block. + */ +#define ExternalChunkGetBlock(chunk) \ + (AllocBlock) ((char *) chunk - ALLOC_BLOCKHDRSZ) /* * Rather than repeatedly creating and deleting memory contexts, we keep some @@ -262,6 +262,13 @@ typedef struct AllocChunkData */ #define MAX_FREE_CONTEXTS 100 /* arbitrary limit on freelist length */ +/* Obtain the keeper block for an allocation set */ +#define KeeperBlock(set) \ + ((AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext)))) + +/* Check if the block is the keeper block of the given allocation set */ +#define IsKeeperBlock(set, block) ((block) == (KeeperBlock(set))) + typedef struct AllocSetFreeList { int num_free; /* current list length */ @@ -280,42 +287,6 @@ static __thread AllocSetFreeList context_freelists[2] = }; -/* - * These functions implement the MemoryContext API for AllocSet contexts. - */ -static void *AllocSetAlloc(MemoryContext context, Size size); -static void AllocSetFree(MemoryContext context, void *pointer); -static void *AllocSetRealloc(MemoryContext context, void *pointer, Size size); -static void AllocSetReset(MemoryContext context); -static void AllocSetDelete(MemoryContext context); -static Size AllocSetGetChunkSpace(MemoryContext context, void *pointer); -static bool AllocSetIsEmpty(MemoryContext context); -static void AllocSetStats(MemoryContext context, - MemoryStatsPrintFunc printfunc, void *passthru, - MemoryContextCounters *totals, - bool print_to_stderr); - -#ifdef MEMORY_CONTEXT_CHECKING -static void AllocSetCheck(MemoryContext context); -#endif - -/* - * This is the virtual function table for AllocSet contexts. - */ -static const MemoryContextMethods AllocSetMethods = { - AllocSetAlloc, - AllocSetFree, - AllocSetRealloc, - AllocSetReset, - AllocSetDelete, - AllocSetGetChunkSpace, - AllocSetIsEmpty, - AllocSetStats -#ifdef MEMORY_CONTEXT_CHECKING - ,AllocSetCheck -#endif -}; - /* ---------- * AllocSetFreeIndex - @@ -339,7 +310,7 @@ AllocSetFreeIndex(Size size) * or equivalently * pg_leftmost_one_pos32(size - 1) - ALLOC_MINBITS + 1 * - * However, rather than just calling that function, we duplicate the + * However, for platforms without intrinsic support, we duplicate the * logic here, allowing an additional optimization. It's reasonable * to assume that ALLOC_CHUNK_LIMIT fits in 16 bits, so we can unroll * the byte-at-a-time loop in pg_leftmost_one_pos32 and just handle @@ -349,14 +320,14 @@ AllocSetFreeIndex(Size size) * much trouble. *---------- */ -#ifdef HAVE__BUILTIN_CLZ - idx = 31 - __builtin_clz((uint32) size - 1) - ALLOC_MINBITS + 1; +#ifdef HAVE_BITSCAN_REVERSE + idx = pg_leftmost_one_pos32((uint32) size - 1) - ALLOC_MINBITS + 1; #else uint32 t, tsize; /* Statically assert that we only have a 16-bit input value. */ - StaticAssertStmt(ALLOC_CHUNK_LIMIT < (1 << 16), + StaticAssertDecl(ALLOC_CHUNK_LIMIT < (1 << 16), "ALLOC_CHUNK_LIMIT must be less than 64kB"); tsize = size - 1; @@ -407,18 +378,24 @@ AllocSetContextCreateInternal(MemoryContext parent, AllocSet set; AllocBlock block; - /* Assert we padded AllocChunkData properly */ - StaticAssertStmt(ALLOC_CHUNKHDRSZ == MAXALIGN(ALLOC_CHUNKHDRSZ), - "sizeof(AllocChunkData) is not maxaligned"); - StaticAssertStmt(offsetof(AllocChunkData, aset) + sizeof(MemoryContext) == - ALLOC_CHUNKHDRSZ, - "padding calculation in AllocChunkData is wrong"); + /* ensure MemoryChunk's size is properly maxaligned */ + StaticAssertDecl(ALLOC_CHUNKHDRSZ == MAXALIGN(ALLOC_CHUNKHDRSZ), + "sizeof(MemoryChunk) is not maxaligned"); + /* check we have enough space to store the freelist link */ + StaticAssertDecl(sizeof(AllocFreeListLink) <= (1 << ALLOC_MINBITS), + "sizeof(AllocFreeListLink) larger than minimum allocation size"); /* * First, validate allocation parameters. Once these were regular runtime - * test and elog's, but in practice Asserts seem sufficient because nobody - * varies their parameters at runtime. We somewhat arbitrarily enforce a - * minimum 1K block size. + * tests and elog's, but in practice Asserts seem sufficient because + * nobody varies their parameters at runtime. We somewhat arbitrarily + * enforce a minimum 1K block size. We restrict the maximum block size to + * MEMORYCHUNK_MAX_BLOCKOFFSET as MemoryChunks are limited to this in + * regards to addressing the offset between the chunk and the block that + * the chunk is stored on. We would be unable to store the offset between + * the chunk and block for any chunks that were beyond + * MEMORYCHUNK_MAX_BLOCKOFFSET bytes into the block if the block was to be + * larger than this. */ Assert(initBlockSize == MAXALIGN(initBlockSize) && initBlockSize >= 1024); @@ -429,6 +406,7 @@ AllocSetContextCreateInternal(MemoryContext parent, (minContextSize == MAXALIGN(minContextSize) && minContextSize >= 1024 && minContextSize <= maxBlockSize)); + Assert(maxBlockSize <= MEMORYCHUNK_MAX_BLOCKOFFSET); /* * Check whether the parameters match either available freelist. We do @@ -463,12 +441,12 @@ AllocSetContextCreateInternal(MemoryContext parent, /* Reinitialize its header, installing correct name and parent */ MemoryContextCreate((MemoryContext) set, T_AllocSetContext, - &AllocSetMethods, + MCTX_ASET_ID, parent, name); ((MemoryContext) set)->mem_allocated = - set->keeper->endptr - ((char *) set); + KeeperBlock(set)->endptr - ((char *) set); return (MemoryContext) set; } @@ -504,7 +482,7 @@ AllocSetContextCreateInternal(MemoryContext parent, */ /* Fill in the initial block's block header */ - block = (AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext))); + block = KeeperBlock(set); block->aset = set; block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; block->endptr = ((char *) set) + firstBlockSize; @@ -516,15 +494,13 @@ AllocSetContextCreateInternal(MemoryContext parent, /* Remember block as part of block list */ set->blocks = block; - /* Mark block as not to be released at reset time */ - set->keeper = block; /* Finish filling in aset-specific parts of the context header */ MemSetAligned(set->freelist, 0, sizeof(set->freelist)); - set->initBlockSize = initBlockSize; - set->maxBlockSize = maxBlockSize; - set->nextBlockSize = initBlockSize; + set->initBlockSize = (uint32) initBlockSize; + set->maxBlockSize = (uint32) maxBlockSize; + set->nextBlockSize = (uint32) initBlockSize; set->freeListIndex = freeListIndex; /* @@ -537,15 +513,20 @@ AllocSetContextCreateInternal(MemoryContext parent, * requests that are all the maximum chunk size we will waste at most * 1/8th of the allocated space. * - * We have to have allocChunkLimit a power of two, because the requested - * and actually-allocated sizes of any chunk must be on the same side of - * the limit, else we get confused about whether the chunk is "big". - * * Also, allocChunkLimit must not exceed ALLOCSET_SEPARATE_THRESHOLD. */ StaticAssertStmt(ALLOC_CHUNK_LIMIT == ALLOCSET_SEPARATE_THRESHOLD, "ALLOC_CHUNK_LIMIT != ALLOCSET_SEPARATE_THRESHOLD"); + /* + * Determine the maximum size that a chunk can be before we allocate an + * entire AllocBlock dedicated for that chunk. We set the absolute limit + * of that size as ALLOC_CHUNK_LIMIT but we reduce it further so that we + * can fit about ALLOC_CHUNK_FRACTION chunks this size on a maximally + * sized block. (We opt to keep allocChunkLimit a power-of-2 value + * primarily for legacy reasons rather than calculating it so that exactly + * ALLOC_CHUNK_FRACTION chunks fit on a maximally sized block.) + */ set->allocChunkLimit = ALLOC_CHUNK_LIMIT; while ((Size) (set->allocChunkLimit + ALLOC_CHUNKHDRSZ) > (Size) ((maxBlockSize - ALLOC_BLOCKHDRSZ) / ALLOC_CHUNK_FRACTION)) @@ -554,7 +535,7 @@ AllocSetContextCreateInternal(MemoryContext parent, /* Finally, do the type-independent part of context creation */ MemoryContextCreate((MemoryContext) set, T_AllocSetContext, - &AllocSetMethods, + MCTX_ASET_ID, parent, name); @@ -575,34 +556,36 @@ AllocSetContextCreateInternal(MemoryContext parent, * thrash malloc() when a context is repeatedly reset after small allocations, * which is typical behavior for per-tuple contexts. */ -static void +void AllocSetReset(MemoryContext context) { AllocSet set = (AllocSet) context; AllocBlock block; - Size keepersize PG_USED_FOR_ASSERTS_ONLY - = set->keeper->endptr - ((char *) set); + Size keepersize PG_USED_FOR_ASSERTS_ONLY; - AssertArg(AllocSetIsValid(set)); + Assert(AllocSetIsValid(set)); #ifdef MEMORY_CONTEXT_CHECKING /* Check for corruption and leaks before freeing */ AllocSetCheck(context); #endif + /* Remember keeper block size for Assert below */ + keepersize = KeeperBlock(set)->endptr - ((char *) set); + /* Clear chunk freelists */ MemSetAligned(set->freelist, 0, sizeof(set->freelist)); block = set->blocks; /* New blocks list will be just the keeper block */ - set->blocks = set->keeper; + set->blocks = KeeperBlock(set); while (block != NULL) { AllocBlock next = block->next; - if (block == set->keeper) + if (IsKeeperBlock(set, block)) { /* Reset the block, but don't return it to malloc */ char *datastart = ((char *) block) + ALLOC_BLOCKHDRSZ; @@ -643,21 +626,23 @@ AllocSetReset(MemoryContext context) * * Unlike AllocSetReset, this *must* free all resources of the set. */ -static void +void AllocSetDelete(MemoryContext context) { AllocSet set = (AllocSet) context; AllocBlock block = set->blocks; - Size keepersize PG_USED_FOR_ASSERTS_ONLY - = set->keeper->endptr - ((char *) set); + Size keepersize PG_USED_FOR_ASSERTS_ONLY; - AssertArg(AllocSetIsValid(set)); + Assert(AllocSetIsValid(set)); #ifdef MEMORY_CONTEXT_CHECKING /* Check for corruption and leaks before freeing */ AllocSetCheck(context); #endif + /* Remember keeper block size for Assert below */ + keepersize = KeeperBlock(set)->endptr - ((char *) set); + /* * If the context is a candidate for a freelist, put it into that freelist * instead of destroying it. @@ -705,14 +690,14 @@ AllocSetDelete(MemoryContext context) { AllocBlock next = block->next; - if (block != set->keeper) + if (!IsKeeperBlock(set, block)) context->mem_allocated -= block->endptr - ((char *) block); #ifdef CLOBBER_FREED_MEMORY wipe_mem(block, block->freeptr - ((char *) block)); #endif - if (block != set->keeper) + if (!IsKeeperBlock(set, block)) free(block); block = next; @@ -725,326 +710,410 @@ AllocSetDelete(MemoryContext context) } /* - * AllocSetAlloc - * Returns pointer to allocated memory of given size or NULL if - * request could not be completed; memory is added to the set. + * Helper for AllocSetAlloc() that allocates an entire block for the chunk. * - * No request may exceed: - * MAXALIGN_DOWN(SIZE_MAX) - ALLOC_BLOCKHDRSZ - ALLOC_CHUNKHDRSZ - * All callers use a much-lower limit. - * - * Note: when using valgrind, it doesn't matter how the returned allocation - * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will - * return space that is marked NOACCESS - AllocSetRealloc has to beware! + * AllocSetAlloc()'s comment explains why this is separate. */ +pg_noinline static void * -AllocSetAlloc(MemoryContext context, Size size) +AllocSetAllocLarge(MemoryContext context, Size size, int flags) { AllocSet set = (AllocSet) context; AllocBlock block; - AllocChunk chunk; - int fidx; + MemoryChunk *chunk; Size chunk_size; Size blksize; - AssertArg(AllocSetIsValid(set)); + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); - /* - * If requested size exceeds maximum for chunks, allocate an entire block - * for this request. - */ - if (size > set->allocChunkLimit) - { - chunk_size = MAXALIGN(size); - blksize = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; - block = (AllocBlock) malloc(blksize); - if (block == NULL) - return NULL; +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif - context->mem_allocated += blksize; + blksize = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; + block = (AllocBlock) malloc(blksize); + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); - block->aset = set; - block->freeptr = block->endptr = ((char *) block) + blksize; + context->mem_allocated += blksize; + + block->aset = set; + block->freeptr = block->endptr = ((char *) block) + blksize; + + chunk = (MemoryChunk *) (((char *) block) + ALLOC_BLOCKHDRSZ); + + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_ASET_ID); - chunk = (AllocChunk) (((char *) block) + ALLOC_BLOCKHDRSZ); - chunk->aset = set; - chunk->size = chunk_size; #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - if (size < chunk_size) - set_sentinel(AllocChunkGetPointer(chunk), size); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); #endif #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) AllocChunkGetPointer(chunk), size); + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); #endif - /* - * Stick the new block underneath the active allocation block, if any, - * so that we don't lose the use of the space remaining therein. - */ - if (set->blocks != NULL) - { - block->prev = set->blocks; - block->next = set->blocks->next; - if (block->next) - block->next->prev = block; - set->blocks->next = block; - } - else - { - block->prev = NULL; - block->next = NULL; - set->blocks = block; - } + /* + * Stick the new block underneath the active allocation block, if any, so + * that we don't lose the use of the space remaining therein. + */ + if (set->blocks != NULL) + { + block->prev = set->blocks; + block->next = set->blocks->next; + if (block->next) + block->next->prev = block; + set->blocks->next = block; + } + else + { + block->prev = NULL; + block->next = NULL; + set->blocks = block; + } - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) AllocChunkGetPointer(chunk) + size, - chunk_size - size); + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - return AllocChunkGetPointer(chunk); - } + return MemoryChunkGetPointer(chunk); +} - /* - * Request is small enough to be treated as a chunk. Look in the - * corresponding free list to see if there is a free chunk we could reuse. - * If one is found, remove it from the free list, make it again a member - * of the alloc set and return its data address. - */ - fidx = AllocSetFreeIndex(size); - chunk = set->freelist[fidx]; - if (chunk != NULL) - { - Assert(chunk->size >= size); +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between AllocSetAlloc() and AllocSetAllocFromNewBlock(). + */ +static inline void * +AllocSetAllocChunkFromBlock(MemoryContext context, AllocBlock block, + Size size, Size chunk_size, int fidx) +{ + MemoryChunk *chunk; + + chunk = (MemoryChunk *) (block->freeptr); + + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); - set->freelist[fidx] = (AllocChunk) chunk->aset; + block->freeptr += (chunk_size + ALLOC_CHUNKHDRSZ); + Assert(block->freeptr <= block->endptr); - chunk->aset = (void *) set; + /* store the free list index in the value field */ + MemoryChunkSetHdrMask(chunk, block, fidx, MCTX_ASET_ID); #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - if (size < chunk->size) - set_sentinel(AllocChunkGetPointer(chunk), size); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + if (size < chunk_size) + set_sentinel(MemoryChunkGetPointer(chunk), size); #endif #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) AllocChunkGetPointer(chunk), size); + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); #endif - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) AllocChunkGetPointer(chunk) + size, - chunk->size - size); + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - return AllocChunkGetPointer(chunk); - } + return MemoryChunkGetPointer(chunk); +} - /* - * Choose the actual chunk size to allocate. - */ - chunk_size = (1 << ALLOC_MINBITS) << fidx; - Assert(chunk_size >= size); +/* + * Helper for AllocSetAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * AllocSetAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +AllocSetAllocFromNewBlock(MemoryContext context, Size size, int flags, + int fidx) +{ + AllocSet set = (AllocSet) context; + AllocBlock block; + Size availspace; + Size blksize; + Size required_size; + Size chunk_size; + + /* due to the keeper block set->blocks should always be valid */ + Assert(set->blocks != NULL); + block = set->blocks; + availspace = block->endptr - block->freeptr; /* - * If there is enough room in the active allocation block, we will put the - * chunk into that block. Else must start a new one. + * The existing active (top) block does not have enough room for the + * requested allocation, but it might still have a useful amount of space + * in it. Once we push it down in the block list, we'll never try to + * allocate more space from it. So, before we do that, carve up its free + * space into chunks that we can put on the set's freelists. + * + * Because we can only get here when there's less than ALLOC_CHUNK_LIMIT + * left in the block, this loop cannot iterate more than + * ALLOCSET_NUM_FREELISTS-1 times. */ - if ((block = set->blocks) != NULL) + while (availspace >= ((1 << ALLOC_MINBITS) + ALLOC_CHUNKHDRSZ)) { - Size availspace = block->endptr - block->freeptr; + AllocFreeListLink *link; + MemoryChunk *chunk; + Size availchunk = availspace - ALLOC_CHUNKHDRSZ; + int a_fidx = AllocSetFreeIndex(availchunk); - if (availspace < (chunk_size + ALLOC_CHUNKHDRSZ)) + /* + * In most cases, we'll get back the index of the next larger freelist + * than the one we need to put this chunk on. The exception is when + * availchunk is exactly a power of 2. + */ + if (availchunk != GetChunkSizeFromFreeListIdx(a_fidx)) { - /* - * The existing active (top) block does not have enough room for - * the requested allocation, but it might still have a useful - * amount of space in it. Once we push it down in the block list, - * we'll never try to allocate more space from it. So, before we - * do that, carve up its free space into chunks that we can put on - * the set's freelists. - * - * Because we can only get here when there's less than - * ALLOC_CHUNK_LIMIT left in the block, this loop cannot iterate - * more than ALLOCSET_NUM_FREELISTS-1 times. - */ - while (availspace >= ((1 << ALLOC_MINBITS) + ALLOC_CHUNKHDRSZ)) - { - Size availchunk = availspace - ALLOC_CHUNKHDRSZ; - int a_fidx = AllocSetFreeIndex(availchunk); - - /* - * In most cases, we'll get back the index of the next larger - * freelist than the one we need to put this chunk on. The - * exception is when availchunk is exactly a power of 2. - */ - if (availchunk != ((Size) 1 << (a_fidx + ALLOC_MINBITS))) - { - a_fidx--; - Assert(a_fidx >= 0); - availchunk = ((Size) 1 << (a_fidx + ALLOC_MINBITS)); - } - - chunk = (AllocChunk) (block->freeptr); + a_fidx--; + Assert(a_fidx >= 0); + availchunk = GetChunkSizeFromFreeListIdx(a_fidx); + } - /* Prepare to initialize the chunk header. */ - VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); + chunk = (MemoryChunk *) (block->freeptr); - block->freeptr += (availchunk + ALLOC_CHUNKHDRSZ); - availspace -= (availchunk + ALLOC_CHUNKHDRSZ); + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); + block->freeptr += (availchunk + ALLOC_CHUNKHDRSZ); + availspace -= (availchunk + ALLOC_CHUNKHDRSZ); - chunk->size = availchunk; + /* store the freelist index in the value field */ + MemoryChunkSetHdrMask(chunk, block, a_fidx, MCTX_ASET_ID); #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = 0; /* mark it free */ + chunk->requested_size = InvalidAllocSize; /* mark it free */ #endif - chunk->aset = (void *) set->freelist[a_fidx]; - set->freelist[a_fidx] = chunk; - } + /* push this chunk onto the free list */ + link = GetFreeListLink(chunk); - /* Mark that we need to create a new block */ - block = NULL; - } + VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); + link->next = set->freelist[a_fidx]; + VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); + + set->freelist[a_fidx] = chunk; } /* - * Time to create a new regular (multi-chunk) block? + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. */ - if (block == NULL) - { - Size required_size; + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; - /* - * The first such block has size initBlockSize, and we double the - * space in each succeeding block, but not more than maxBlockSize. - */ - blksize = set->nextBlockSize; - set->nextBlockSize <<= 1; - if (set->nextBlockSize > set->maxBlockSize) - set->nextBlockSize = set->maxBlockSize; + /* Choose the actual chunk size to allocate */ + chunk_size = GetChunkSizeFromFreeListIdx(fidx); + Assert(chunk_size >= size); - /* - * If initBlockSize is less than ALLOC_CHUNK_LIMIT, we could need more - * space... but try to keep it a power of 2. - */ - required_size = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; - while (blksize < required_size) - blksize <<= 1; + /* + * If initBlockSize is less than ALLOC_CHUNK_LIMIT, we could need more + * space... but try to keep it a power of 2. + */ + required_size = chunk_size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; + while (blksize < required_size) + blksize <<= 1; + + /* Try to allocate it */ + block = (AllocBlock) malloc(blksize); - /* Try to allocate it */ + /* + * We could be asking for pretty big blocks here, so cope if malloc fails. + * But give up if there's less than 1 MB or so available... + */ + while (block == NULL && blksize > 1024 * 1024) + { + blksize >>= 1; + if (blksize < required_size) + break; block = (AllocBlock) malloc(blksize); + } - /* - * We could be asking for pretty big blocks here, so cope if malloc - * fails. But give up if there's less than 1 MB or so available... - */ - while (block == NULL && blksize > 1024 * 1024) - { - blksize >>= 1; - if (blksize < required_size) - break; - block = (AllocBlock) malloc(blksize); - } + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); - if (block == NULL) - return NULL; + context->mem_allocated += blksize; - context->mem_allocated += blksize; + block->aset = set; + block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; + block->endptr = ((char *) block) + blksize; - block->aset = set; - block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ; - block->endptr = ((char *) block) + blksize; + /* Mark unallocated space NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, + blksize - ALLOC_BLOCKHDRSZ); - /* Mark unallocated space NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, - blksize - ALLOC_BLOCKHDRSZ); + block->prev = NULL; + block->next = set->blocks; + if (block->next) + block->next->prev = block; + set->blocks = block; - block->prev = NULL; - block->next = set->blocks; - if (block->next) - block->next->prev = block; - set->blocks = block; - } + return AllocSetAllocChunkFromBlock(context, block, size, chunk_size, fidx); +} + +/* + * AllocSetAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - ALLOC_BLOCKHDRSZ - ALLOC_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will + * return space that is marked NOACCESS - AllocSetRealloc has to beware! + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +AllocSetAlloc(MemoryContext context, Size size, int flags) +{ + AllocSet set = (AllocSet) context; + AllocBlock block; + MemoryChunk *chunk; + int fidx; + Size chunk_size; + Size availspace; + + Assert(AllocSetIsValid(set)); + + /* due to the keeper block set->blocks should never be NULL */ + Assert(set->blocks != NULL); /* - * OK, do the allocation + * If requested size exceeds maximum for chunks we hand the request off to + * AllocSetAllocLarge(). */ - chunk = (AllocChunk) (block->freeptr); + if (size > set->allocChunkLimit) + return AllocSetAllocLarge(context, size, flags); - /* Prepare to initialize the chunk header. */ - VALGRIND_MAKE_MEM_UNDEFINED(chunk, ALLOC_CHUNKHDRSZ); + /* + * Request is small enough to be treated as a chunk. Look in the + * corresponding free list to see if there is a free chunk we could reuse. + * If one is found, remove it from the free list, make it again a member + * of the alloc set and return its data address. + * + * Note that we don't attempt to ensure there's space for the sentinel + * byte here. We expect a large proportion of allocations to be for sizes + * which are already a power of 2. If we were to always make space for a + * sentinel byte in MEMORY_CONTEXT_CHECKING builds, then we'd end up + * doubling the memory requirements for such allocations. + */ + fidx = AllocSetFreeIndex(size); + chunk = set->freelist[fidx]; + if (chunk != NULL) + { + AllocFreeListLink *link = GetFreeListLink(chunk); - block->freeptr += (chunk_size + ALLOC_CHUNKHDRSZ); - Assert(block->freeptr <= block->endptr); + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); + + Assert(fidx == MemoryChunkGetValue(chunk)); + + /* pop this chunk off the freelist */ + VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); + set->freelist[fidx] = link->next; + VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); - chunk->aset = (void *) set; - chunk->size = chunk_size; #ifdef MEMORY_CONTEXT_CHECKING - chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - if (size < chunk->size) - set_sentinel(AllocChunkGetPointer(chunk), size); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + if (size < GetChunkSizeFromFreeListIdx(fidx)) + set_sentinel(MemoryChunkGetPointer(chunk), size); #endif #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* fill the allocated space with junk */ - randomize_mem((char *) AllocChunkGetPointer(chunk), size); + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); #endif - /* Ensure any padding bytes are marked NOACCESS. */ - VALGRIND_MAKE_MEM_NOACCESS((char *) AllocChunkGetPointer(chunk) + size, - chunk_size - size); + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + GetChunkSizeFromFreeListIdx(fidx) - size); - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); - return AllocChunkGetPointer(chunk); + return MemoryChunkGetPointer(chunk); + } + + /* + * Choose the actual chunk size to allocate. + */ + chunk_size = GetChunkSizeFromFreeListIdx(fidx); + Assert(chunk_size >= size); + + block = set->blocks; + availspace = block->endptr - block->freeptr; + + /* + * If there is enough room in the active allocation block, we will put the + * chunk into that block. Else must start a new one. + */ + if (unlikely(availspace < (chunk_size + ALLOC_CHUNKHDRSZ))) + return AllocSetAllocFromNewBlock(context, size, flags, fidx); + + /* There's enough space on the current block, so allocate from that */ + return AllocSetAllocChunkFromBlock(context, block, size, chunk_size, fidx); } /* * AllocSetFree * Frees allocated memory; memory is removed from the set. */ -static void -AllocSetFree(MemoryContext context, void *pointer) +void +AllocSetFree(void *pointer) { - AllocSet set = (AllocSet) context; - AllocChunk chunk = AllocPointerGetChunk(pointer); - - /* Allow access to private part of chunk header. */ - VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOCCHUNK_PRIVATE_LEN); + AllocSet set; + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); -#ifdef MEMORY_CONTEXT_CHECKING - /* Test for someone scribbling on unused space in chunk */ - if (chunk->requested_size < chunk->size) - if (!sentinel_ok(pointer, chunk->requested_size)) - elog(WARNING, "detected write past chunk end in %s %p", - set->header.name, chunk); -#endif + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); - if (chunk->size > set->allocChunkLimit) + if (MemoryChunkIsExternal(chunk)) { - /* - * Big chunks are certain to have been allocated as single-chunk - * blocks. Just unlink that block and return it to malloc(). - */ - AllocBlock block = (AllocBlock) (((char *) chunk) - ALLOC_BLOCKHDRSZ); + /* Release single-chunk block. */ + AllocBlock block = ExternalChunkGetBlock(chunk); /* - * Try to verify that we have a sane block pointer: it should - * reference the correct aset, and freeptr and endptr should point - * just past the chunk. + * Try to verify that we have a sane block pointer: the block header + * should reference an aset and the freeptr should match the endptr. */ - if (block->aset != set || - block->freeptr != block->endptr || - block->freeptr != ((char *) block) + - (chunk->size + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ)) + if (!AllocBlockIsValid(block) || block->freeptr != block->endptr) elog(ERROR, "could not find block containing chunk %p", chunk); + set = block->aset; + +#ifdef MEMORY_CONTEXT_CHECKING + { + /* Test for someone scribbling on unused space in chunk */ + Assert(chunk->requested_size < (block->endptr - (char *) pointer)); + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + set->header.name, chunk); + } +#endif + /* OK, remove block from aset's list and free it */ if (block->prev) block->prev->next = block->next; @@ -1053,7 +1122,7 @@ AllocSetFree(MemoryContext context, void *pointer) if (block->next) block->next->prev = block->prev; - context->mem_allocated -= block->endptr - ((char *) block); + set->header.mem_allocated -= block->endptr - ((char *) block); #ifdef CLOBBER_FREED_MEMORY wipe_mem(block, block->freeptr - ((char *) block)); @@ -1062,20 +1131,48 @@ AllocSetFree(MemoryContext context, void *pointer) } else { - /* Normal case, put the chunk into appropriate freelist */ - int fidx = AllocSetFreeIndex(chunk->size); + AllocBlock block = MemoryChunkGetBlock(chunk); + int fidx; + AllocFreeListLink *link; + + /* + * In this path, for speed reasons we just Assert that the referenced + * block is good. We can also Assert that the value field is sane. + * Future field experience may show that these Asserts had better + * become regular runtime test-and-elog checks. + */ + Assert(AllocBlockIsValid(block)); + set = block->aset; + + fidx = MemoryChunkGetValue(chunk); + Assert(FreeListIdxIsValid(fidx)); + link = GetFreeListLink(chunk); - chunk->aset = (void *) set->freelist[fidx]; +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + if (chunk->requested_size < GetChunkSizeFromFreeListIdx(fidx)) + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + set->header.name, chunk); +#endif #ifdef CLOBBER_FREED_MEMORY - wipe_mem(pointer, chunk->size); + wipe_mem(pointer, GetChunkSizeFromFreeListIdx(fidx)); #endif + /* push this chunk onto the top of the free list */ + VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); + link->next = set->freelist[fidx]; + VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); + set->freelist[fidx] = chunk; #ifdef MEMORY_CONTEXT_CHECKING - /* Reset requested_size to 0 in chunks that are on freelist */ - chunk->requested_size = 0; + + /* + * Reset requested_size to InvalidAllocSize in chunks that are on free + * list. + */ + chunk->requested_size = InvalidAllocSize; #endif - set->freelist[fidx] = chunk; } } @@ -1091,57 +1188,59 @@ AllocSetFree(MemoryContext context, void *pointer) * (In principle, we could use VALGRIND_GET_VBITS() to rediscover the old * request size.) */ -static void * -AllocSetRealloc(MemoryContext context, void *pointer, Size size) +void * +AllocSetRealloc(void *pointer, Size size, int flags) { - AllocSet set = (AllocSet) context; - AllocChunk chunk = AllocPointerGetChunk(pointer); - Size oldsize; - - /* Allow access to private part of chunk header. */ - VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOCCHUNK_PRIVATE_LEN); - - oldsize = chunk->size; + AllocBlock block; + AllocSet set; + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + Size oldchksize; + int fidx; -#ifdef MEMORY_CONTEXT_CHECKING - /* Test for someone scribbling on unused space in chunk */ - if (chunk->requested_size < oldsize) - if (!sentinel_ok(pointer, chunk->requested_size)) - elog(WARNING, "detected write past chunk end in %s %p", - set->header.name, chunk); -#endif + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); - if (oldsize > set->allocChunkLimit) + if (MemoryChunkIsExternal(chunk)) { /* * The chunk must have been allocated as a single-chunk block. Use * realloc() to make the containing block bigger, or smaller, with * minimum space wastage. */ - AllocBlock block = (AllocBlock) (((char *) chunk) - ALLOC_BLOCKHDRSZ); Size chksize; Size blksize; Size oldblksize; + block = ExternalChunkGetBlock(chunk); + /* - * Try to verify that we have a sane block pointer: it should - * reference the correct aset, and freeptr and endptr should point - * just past the chunk. + * Try to verify that we have a sane block pointer: the block header + * should reference an aset and the freeptr should match the endptr. */ - if (block->aset != set || - block->freeptr != block->endptr || - block->freeptr != ((char *) block) + - (oldsize + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ)) + if (!AllocBlockIsValid(block) || block->freeptr != block->endptr) elog(ERROR, "could not find block containing chunk %p", chunk); - /* - * Even if the new request is less than set->allocChunkLimit, we stick - * with the single-chunk block approach. Therefore we need - * chunk->size to be bigger than set->allocChunkLimit, so we don't get - * confused about the chunk's status in future calls. - */ - chksize = Max(size, set->allocChunkLimit + 1); - chksize = MAXALIGN(chksize); + set = block->aset; + + /* only check size in paths where the limits could be hit */ + MemoryContextCheckSize((MemoryContext) set, size, flags); + + oldchksize = block->endptr - (char *) pointer; + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + Assert(chunk->requested_size < oldchksize); + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + set->header.name, chunk); +#endif + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chksize = MAXALIGN(size + 1); +#else + chksize = MAXALIGN(size); +#endif /* Do the realloc */ blksize = chksize + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ; @@ -1150,77 +1249,109 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) block = (AllocBlock) realloc(block, blksize); if (block == NULL) { - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); - return NULL; + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + return MemoryContextAllocationFailure(&set->header, size, flags); } /* updated separately, not to underflow when (oldblksize > blksize) */ - context->mem_allocated -= oldblksize; - context->mem_allocated += blksize; + set->header.mem_allocated -= oldblksize; + set->header.mem_allocated += blksize; block->freeptr = block->endptr = ((char *) block) + blksize; /* Update pointers since block has likely been moved */ - chunk = (AllocChunk) (((char *) block) + ALLOC_BLOCKHDRSZ); - pointer = AllocChunkGetPointer(chunk); + chunk = (MemoryChunk *) (((char *) block) + ALLOC_BLOCKHDRSZ); + pointer = MemoryChunkGetPointer(chunk); if (block->prev) block->prev->next = block; else set->blocks = block; if (block->next) block->next->prev = block; - chunk->size = chksize; #ifdef MEMORY_CONTEXT_CHECKING #ifdef RANDOMIZE_ALLOCATED_MEMORY - /* We can only fill the extra space if we know the prior request */ + + /* + * We can only randomize the extra space if we know the prior request. + * When using Valgrind, randomize_mem() also marks memory UNDEFINED. + */ if (size > chunk->requested_size) randomize_mem((char *) pointer + chunk->requested_size, size - chunk->requested_size); -#endif +#else /* - * realloc() (or randomize_mem()) will have left any newly-allocated - * part UNDEFINED, but we may need to adjust trailing bytes from the - * old allocation. + * If this is an increase, realloc() will have marked any + * newly-allocated part (from oldchksize to chksize) UNDEFINED, but we + * also need to adjust trailing bytes from the old allocation (from + * chunk->requested_size to oldchksize) as they are marked NOACCESS. + * Make sure not to mark too many bytes in case chunk->requested_size + * < size < oldchksize. */ #ifdef USE_VALGRIND - if (oldsize > chunk->requested_size) + if (Min(size, oldchksize) > chunk->requested_size) VALGRIND_MAKE_MEM_UNDEFINED((char *) pointer + chunk->requested_size, - oldsize - chunk->requested_size); + Min(size, oldchksize) - chunk->requested_size); +#endif #endif chunk->requested_size = size; - /* set mark to catch clobber of "unused" space */ - if (size < chunk->size) - set_sentinel(pointer, size); + Assert(size < chksize); + set_sentinel(pointer, size); #else /* !MEMORY_CONTEXT_CHECKING */ /* - * We don't know how much of the old chunk size was the actual - * allocation; it could have been as small as one byte. We have to be - * conservative and just mark the entire old portion DEFINED. + * We may need to adjust marking of bytes from the old allocation as + * some of them may be marked NOACCESS. We don't know how much of the + * old chunk size was the requested size; it could have been as small + * as one byte. We have to be conservative and just mark the entire + * old portion DEFINED. Make sure not to mark memory beyond the new + * allocation in case it's smaller than the old one. */ - VALGRIND_MAKE_MEM_DEFINED(pointer, oldsize); + VALGRIND_MAKE_MEM_DEFINED(pointer, Min(size, oldchksize)); #endif /* Ensure any padding bytes are marked NOACCESS. */ VALGRIND_MAKE_MEM_NOACCESS((char *) pointer + size, chksize - size); - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Disallow access to the chunk header . */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); return pointer; } + block = MemoryChunkGetBlock(chunk); + + /* + * In this path, for speed reasons we just Assert that the referenced + * block is good. We can also Assert that the value field is sane. Future + * field experience may show that these Asserts had better become regular + * runtime test-and-elog checks. + */ + Assert(AllocBlockIsValid(block)); + set = block->aset; + + fidx = MemoryChunkGetValue(chunk); + Assert(FreeListIdxIsValid(fidx)); + oldchksize = GetChunkSizeFromFreeListIdx(fidx); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + if (chunk->requested_size < oldchksize) + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + set->header.name, chunk); +#endif + /* * Chunk sizes are aligned to power of 2 in AllocSetAlloc(). Maybe the * allocated area already is >= the new size. (In particular, we will * fall out here if the requested size is a decrease.) */ - else if (oldsize >= size) + if (oldchksize >= size) { #ifdef MEMORY_CONTEXT_CHECKING Size oldrequest = chunk->requested_size; @@ -1243,10 +1374,10 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) size - oldrequest); else VALGRIND_MAKE_MEM_NOACCESS((char *) pointer + size, - oldsize - size); + oldchksize - size); /* set mark to catch clobber of "unused" space */ - if (size < oldsize) + if (size < oldchksize) set_sentinel(pointer, size); #else /* !MEMORY_CONTEXT_CHECKING */ @@ -1255,12 +1386,12 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) * the old request or shrinking it, so we conservatively mark the * entire new allocation DEFINED. */ - VALGRIND_MAKE_MEM_NOACCESS(pointer, oldsize); + VALGRIND_MAKE_MEM_NOACCESS(pointer, oldchksize); VALGRIND_MAKE_MEM_DEFINED(pointer, size); #endif - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); return pointer; } @@ -1278,16 +1409,17 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) * memory indefinitely. See pgsql-hackers archives for 2007-08-11.) */ AllocPointer newPointer; + Size oldsize; - /* allocate new chunk */ - newPointer = AllocSetAlloc((MemoryContext) set, size); + /* allocate new chunk (this also checks size is valid) */ + newPointer = AllocSetAlloc((MemoryContext) set, size, flags); /* leave immediately if request was not completed */ if (newPointer == NULL) { - /* Disallow external access to private part of chunk header. */ - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); - return NULL; + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + return MemoryContextAllocationFailure((MemoryContext) set, size, flags); } /* @@ -1302,6 +1434,7 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) #ifdef MEMORY_CONTEXT_CHECKING oldsize = chunk->requested_size; #else + oldsize = oldchksize; VALGRIND_MAKE_MEM_DEFINED(pointer, oldsize); #endif @@ -1309,36 +1442,84 @@ AllocSetRealloc(MemoryContext context, void *pointer, Size size) memcpy(newPointer, pointer, oldsize); /* free old chunk */ - AllocSetFree((MemoryContext) set, pointer); + AllocSetFree(pointer); return newPointer; } } +/* + * AllocSetGetChunkContext + * Return the MemoryContext that 'pointer' belongs to. + */ +MemoryContext +AllocSetGetChunkContext(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + AllocBlock block; + AllocSet set; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + block = ExternalChunkGetBlock(chunk); + else + block = (AllocBlock) MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + + Assert(AllocBlockIsValid(block)); + set = block->aset; + + return &set->header; +} + /* * AllocSetGetChunkSpace * Given a currently-allocated chunk, determine the total space * it occupies (including all memory-allocation overhead). */ -static Size -AllocSetGetChunkSpace(MemoryContext context, void *pointer) +Size +AllocSetGetChunkSpace(void *pointer) { - AllocChunk chunk = AllocPointerGetChunk(pointer); - Size result; + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + int fidx; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + AllocBlock block = ExternalChunkGetBlock(chunk); - VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOCCHUNK_PRIVATE_LEN); - result = chunk->size + ALLOC_CHUNKHDRSZ; - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); - return result; + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + + Assert(AllocBlockIsValid(block)); + + return block->endptr - (char *) chunk; + } + + fidx = MemoryChunkGetValue(chunk); + Assert(FreeListIdxIsValid(fidx)); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + + return GetChunkSizeFromFreeListIdx(fidx) + ALLOC_CHUNKHDRSZ; } /* * AllocSetIsEmpty * Is an allocset empty of any allocated space? */ -static bool +bool AllocSetIsEmpty(MemoryContext context) { + Assert(AllocSetIsValid(context)); + /* * For now, we say "empty" only if the context is new or just reset. We * could examine the freelists to determine if all space has been freed, @@ -1359,7 +1540,7 @@ AllocSetIsEmpty(MemoryContext context) * totals: if not NULL, add stats about this context into *totals. * print_to_stderr: print stats to stderr if true, elog otherwise. */ -static void +void AllocSetStats(MemoryContext context, MemoryStatsPrintFunc printfunc, void *passthru, MemoryContextCounters *totals, bool print_to_stderr) @@ -1372,6 +1553,8 @@ AllocSetStats(MemoryContext context, AllocBlock block; int fidx; + Assert(AllocSetIsValid(set)); + /* Include context header in totalspace */ totalspace = MAXALIGN(sizeof(AllocSetContext)); @@ -1383,13 +1566,24 @@ AllocSetStats(MemoryContext context, } for (fidx = 0; fidx < ALLOCSET_NUM_FREELISTS; fidx++) { - AllocChunk chunk; + Size chksz = GetChunkSizeFromFreeListIdx(fidx); + MemoryChunk *chunk = set->freelist[fidx]; - for (chunk = set->freelist[fidx]; chunk != NULL; - chunk = (AllocChunk) chunk->aset) + while (chunk != NULL) { + AllocFreeListLink *link = GetFreeListLink(chunk); + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); + Assert(MemoryChunkGetValue(chunk) == fidx); + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); + freechunks++; - freespace += chunk->size + ALLOC_CHUNKHDRSZ; + freespace += chksz + ALLOC_CHUNKHDRSZ; + + VALGRIND_MAKE_MEM_DEFINED(link, sizeof(AllocFreeListLink)); + chunk = link->next; + VALGRIND_MAKE_MEM_NOACCESS(link, sizeof(AllocFreeListLink)); } } @@ -1424,7 +1618,7 @@ AllocSetStats(MemoryContext context, * find yourself in an infinite loop when trouble occurs, because this * routine will be entered again when elog cleanup tries to release memory! */ -static void +void AllocSetCheck(MemoryContext context) { AllocSet set = (AllocSet) context; @@ -1438,11 +1632,12 @@ AllocSetCheck(MemoryContext context) prevblock = block, block = block->next) { char *bpoz = ((char *) block) + ALLOC_BLOCKHDRSZ; - long blk_used = block->freeptr - bpoz; - long blk_data = 0; - long nchunks = 0; + Size blk_used = block->freeptr - bpoz; + Size blk_data = 0; + Size nchunks = 0; + bool has_external_chunk = false; - if (set->keeper == block) + if (IsKeeperBlock(set, block)) total_allocated += block->endptr - ((char *) set); else total_allocated += block->endptr - ((char *) block); @@ -1452,7 +1647,7 @@ AllocSetCheck(MemoryContext context) */ if (!blk_used) { - if (set->keeper != block) + if (!IsKeeperBlock(set, block)) elog(WARNING, "problem in alloc set %s: empty block %p", name, block); } @@ -1472,56 +1667,64 @@ AllocSetCheck(MemoryContext context) */ while (bpoz < block->freeptr) { - AllocChunk chunk = (AllocChunk) bpoz; + MemoryChunk *chunk = (MemoryChunk *) bpoz; Size chsize, dsize; - /* Allow access to private part of chunk header. */ - VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, ALLOC_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + chsize = block->endptr - (char *) MemoryChunkGetPointer(chunk); /* aligned chunk size */ + has_external_chunk = true; + + /* make sure this chunk consumes the entire block */ + if (chsize + ALLOC_CHUNKHDRSZ != blk_used) + elog(WARNING, "problem in alloc set %s: bad single-chunk %p in block %p", + name, chunk, block); + } + else + { + int fidx = MemoryChunkGetValue(chunk); + + if (!FreeListIdxIsValid(fidx)) + elog(WARNING, "problem in alloc set %s: bad chunk size for chunk %p in block %p", + name, chunk, block); + + chsize = GetChunkSizeFromFreeListIdx(fidx); /* aligned chunk size */ - chsize = chunk->size; /* aligned chunk size */ + /* + * Check the stored block offset correctly references this + * block. + */ + if (block != MemoryChunkGetBlock(chunk)) + elog(WARNING, "problem in alloc set %s: bad block offset for chunk %p in block %p", + name, chunk, block); + } dsize = chunk->requested_size; /* real data */ - /* - * Check chunk size - */ - if (dsize > chsize) + /* an allocated chunk's requested size must be <= the chsize */ + if (dsize != InvalidAllocSize && dsize > chsize) elog(WARNING, "problem in alloc set %s: req size > alloc size for chunk %p in block %p", name, chunk, block); + + /* chsize must not be smaller than the first freelist's size */ if (chsize < (1 << ALLOC_MINBITS)) elog(WARNING, "problem in alloc set %s: bad size %zu for chunk %p in block %p", name, chsize, chunk, block); - /* single-chunk block? */ - if (chsize > set->allocChunkLimit && - chsize + ALLOC_CHUNKHDRSZ != blk_used) - elog(WARNING, "problem in alloc set %s: bad single-chunk %p in block %p", - name, chunk, block); - - /* - * If chunk is allocated, check for correct aset pointer. (If it's - * free, the aset is the freelist pointer, which we can't check as - * easily...) Note this is an incomplete test, since palloc(0) - * produces an allocated chunk with requested_size == 0. - */ - if (dsize > 0 && chunk->aset != (void *) set) - elog(WARNING, "problem in alloc set %s: bogus aset link in block %p, chunk %p", - name, block, chunk); - /* * Check for overwrite of padding space in an allocated chunk. */ - if (chunk->aset == (void *) set && dsize < chsize && + if (dsize != InvalidAllocSize && dsize < chsize && !sentinel_ok(chunk, ALLOC_CHUNKHDRSZ + dsize)) elog(WARNING, "problem in alloc set %s: detected write past chunk end in block %p, chunk %p", name, block, chunk); - /* - * If chunk is allocated, disallow external access to private part - * of chunk header. - */ - if (chunk->aset == (void *) set) - VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOCCHUNK_PRIVATE_LEN); + /* if chunk is allocated, disallow access to the chunk header */ + if (dsize != InvalidAllocSize) + VALGRIND_MAKE_MEM_NOACCESS(chunk, ALLOC_CHUNKHDRSZ); blk_data += chsize; nchunks++; @@ -1532,6 +1735,10 @@ AllocSetCheck(MemoryContext context) if ((blk_data + (nchunks * ALLOC_CHUNKHDRSZ)) != blk_used) elog(WARNING, "problem in alloc set %s: found inconsistent memory block %p", name, block); + + if (has_external_chunk && nchunks > 1) + elog(WARNING, "problem in alloc set %s: external chunk on non-dedicated block %p", + name, block); } Assert(total_allocated == context->mem_allocated); diff --git a/parser/src_backend_utils_mmgr_bump.c b/parser/src_backend_utils_mmgr_bump.c new file mode 100644 index 00000000..8d719946 --- /dev/null +++ b/parser/src_backend_utils_mmgr_bump.c @@ -0,0 +1,728 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - BumpAlloc + * - BumpAllocLarge + * - BumpBlockFreeBytes + * - BumpAllocFromNewBlock + * - BumpBlockInit + * - BumpAllocChunkFromBlock + * - BumpFree + * - BumpRealloc + * - BumpReset + * - BumpBlockMarkEmpty + * - BumpBlockFree + * - BumpDelete + * - BumpGetChunkContext + * - BumpGetChunkSpace + * - BumpIsEmpty + * - BumpBlockIsEmpty + * - BumpStats + * - BumpCheck + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * bump.c + * Bump allocator definitions. + * + * Bump is a MemoryContext implementation designed for memory usages which + * require allocating a large number of chunks, none of which ever need to be + * pfree'd or realloc'd. Chunks allocated by this context have no chunk header + * and operations which ordinarily require looking at the chunk header cannot + * be performed. For example, pfree, realloc, GetMemoryChunkSpace and + * GetMemoryChunkContext are all not possible with bump allocated chunks. The + * only way to release memory allocated by this context type is to reset or + * delete the context. + * + * Portions Copyright (c) 2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/backend/utils/mmgr/bump.c + * + * + * Bump is best suited to cases which require a large number of short-lived + * chunks where performance matters. Because bump allocated chunks don't + * have a chunk header, it can fit more chunks on each block. This means we + * can do more with less memory and fewer cache lines. The reason it's best + * suited for short-lived usages of memory is that ideally, pointers to bump + * allocated chunks won't be visible to a large amount of code. The more + * code that operates on memory allocated by this allocator, the more chances + * that some code will try to perform a pfree or one of the other operations + * which are made impossible due to the lack of chunk header. In order to + * detect accidental usage of the various disallowed operations, we do add a + * MemoryChunk chunk header in MEMORY_CONTEXT_CHECKING builds and have the + * various disallowed functions raise an ERROR. + * + * Allocations are MAXALIGNed. + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "lib/ilist.h" +#include "port/pg_bitutils.h" +#include "utils/memdebug.h" +#include "utils/memutils.h" +#include "utils/memutils_memorychunk.h" +#include "utils/memutils_internal.h" + +#define Bump_BLOCKHDRSZ MAXALIGN(sizeof(BumpBlock)) + +/* No chunk header unless built with MEMORY_CONTEXT_CHECKING */ +#ifdef MEMORY_CONTEXT_CHECKING +#define Bump_CHUNKHDRSZ sizeof(MemoryChunk) +#else +#define Bump_CHUNKHDRSZ 0 +#endif + +#define Bump_CHUNK_FRACTION 8 + +/* The keeper block is allocated in the same allocation as the set */ +#define KeeperBlock(set) ((BumpBlock *) ((char *) (set) + \ + MAXALIGN(sizeof(BumpContext)))) +#define IsKeeperBlock(set, blk) (KeeperBlock(set) == (blk)) + +typedef struct BumpBlock BumpBlock; /* forward reference */ + +typedef struct BumpContext +{ + MemoryContextData header; /* Standard memory-context fields */ + + /* Bump context parameters */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ + + dlist_head blocks; /* list of blocks with the block currently + * being filled at the head */ +} BumpContext; + +/* + * BumpBlock + * BumpBlock is the unit of memory that is obtained by bump.c from + * malloc(). It contains zero or more allocations, which are the + * units requested by palloc(). + */ +struct BumpBlock +{ + dlist_node node; /* doubly-linked list of blocks */ +#ifdef MEMORY_CONTEXT_CHECKING + BumpContext *context; /* pointer back to the owning context */ +#endif + char *freeptr; /* start of free space in this block */ + char *endptr; /* end of space in this block */ +}; + +/* + * BumpIsValid + * True iff set is valid bump context. + */ +#define BumpIsValid(set) \ + (PointerIsValid(set) && IsA(set, BumpContext)) + +/* + * We always store external chunks on a dedicated block. This makes fetching + * the block from an external chunk easy since it's always the first and only + * chunk on the block. + */ +#define ExternalChunkGetBlock(chunk) \ + (BumpBlock *) ((char *) chunk - Bump_BLOCKHDRSZ) + +/* Inlined helper functions */ +static inline void BumpBlockInit(BumpContext *context, BumpBlock *block, + Size blksize); +static inline bool BumpBlockIsEmpty(BumpBlock *block); +static inline void BumpBlockMarkEmpty(BumpBlock *block); +static inline Size BumpBlockFreeBytes(BumpBlock *block); +static inline void BumpBlockFree(BumpContext *set, BumpBlock *block); + + +/* +* BumpContextCreate +* Create a new Bump context. +* +* parent: parent context, or NULL if top-level context +* name: name of context (must be statically allocated) +* minContextSize: minimum context size +* initBlockSize: initial allocation block size +* maxBlockSize: maximum allocation block size +*/ + + +/* + * BumpReset + * Frees all memory which is allocated in the given set. + * + * The code simply frees all the blocks in the context apart from the keeper + * block. + */ +void +BumpReset(MemoryContext context) +{ + BumpContext *set = (BumpContext *) context; + dlist_mutable_iter miter; + + Assert(BumpIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Check for corruption and leaks before freeing */ + BumpCheck(context); +#endif + + dlist_foreach_modify(miter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, miter.cur); + + if (IsKeeperBlock(set, block)) + BumpBlockMarkEmpty(block); + else + BumpBlockFree(set, block); + } + + /* Reset block size allocation sequence, too */ + set->nextBlockSize = set->initBlockSize; + + /* Ensure there is only 1 item in the dlist */ + Assert(!dlist_is_empty(&set->blocks)); + Assert(!dlist_has_next(&set->blocks, dlist_head_node(&set->blocks))); +} + +/* + * BumpDelete + * Free all memory which is allocated in the given context. + */ +void +BumpDelete(MemoryContext context) +{ + /* Reset to release all releasable BumpBlocks */ + BumpReset(context); + /* And free the context header and keeper block */ + free(context); +} + +/* + * Helper for BumpAlloc() that allocates an entire block for the chunk. + * + * BumpAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +BumpAllocLarge(MemoryContext context, Size size, int flags) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; +#ifdef MEMORY_CONTEXT_CHECKING + MemoryChunk *chunk; +#endif + Size chunk_size; + Size required_size; + Size blksize; + + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + required_size = chunk_size + Bump_CHUNKHDRSZ; + blksize = required_size + Bump_BLOCKHDRSZ; + + block = (BumpBlock *) malloc(blksize); + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* the block is completely full */ + block->freeptr = block->endptr = ((char *) block) + blksize; + +#ifdef MEMORY_CONTEXT_CHECKING + /* block with a single (used) chunk */ + block->context = set; + + chunk = (MemoryChunk *) (((char *) block) + Bump_BLOCKHDRSZ); + + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_BUMP_ID); + + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); +#endif +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* + * Add the block to the tail of allocated blocks list. The current block + * is left at the head of the list as it may still have space for + * non-large allocations. + */ + dlist_push_tail(&set->blocks, &block->node); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Bump_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +#else + return (void *) (((char *) block) + Bump_BLOCKHDRSZ); +#endif +} + +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between BumpAlloc() and BumpAllocFromNewBlock(). + */ +static inline void * +BumpAllocChunkFromBlock(MemoryContext context, BumpBlock *block, Size size, + Size chunk_size) +{ +#ifdef MEMORY_CONTEXT_CHECKING + MemoryChunk *chunk; +#else + void *ptr; +#endif + + /* validate we've been given a block with enough free space */ + Assert(block != NULL); + Assert((block->endptr - block->freeptr) >= Bump_CHUNKHDRSZ + chunk_size); + +#ifdef MEMORY_CONTEXT_CHECKING + chunk = (MemoryChunk *) block->freeptr; +#else + ptr = (void *) block->freeptr; +#endif + + /* point the freeptr beyond this chunk */ + block->freeptr += (Bump_CHUNKHDRSZ + chunk_size); + Assert(block->freeptr <= block->endptr); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, Bump_CHUNKHDRSZ); + + MemoryChunkSetHdrMask(chunk, block, chunk_size, MCTX_BUMP_ID); + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); + +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Bump_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +#else + return ptr; +#endif /* MEMORY_CONTEXT_CHECKING */ +} + +/* + * Helper for BumpAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * BumpAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +BumpAllocFromNewBlock(MemoryContext context, Size size, int flags, + Size chunk_size) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; + Size blksize; + Size required_size; + + /* + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. + */ + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; + + /* we'll need space for the chunk, chunk hdr and block hdr */ + required_size = chunk_size + Bump_CHUNKHDRSZ + Bump_BLOCKHDRSZ; + /* round the size up to the next power of 2 */ + if (blksize < required_size) + blksize = pg_nextpower2_size_t(required_size); + + block = (BumpBlock *) malloc(blksize); + + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* initialize the new block */ + BumpBlockInit(set, block, blksize); + + /* add it to the doubly-linked list of blocks */ + dlist_push_head(&set->blocks, &block->node); + + return BumpAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * BumpAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - Bump_BLOCKHDRSZ - Bump_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +BumpAlloc(MemoryContext context, Size size, int flags) +{ + BumpContext *set = (BumpContext *) context; + BumpBlock *block; + Size chunk_size; + Size required_size; + + Assert(BumpIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + /* + * If requested size exceeds maximum for chunks we hand the request off to + * BumpAllocLarge(). + */ + if (chunk_size > set->allocChunkLimit) + return BumpAllocLarge(context, size, flags); + + required_size = chunk_size + Bump_CHUNKHDRSZ; + + /* + * Not an oversized chunk. We try to first make use of the latest block, + * but if there's not enough space in it we must allocate a new block. + */ + block = dlist_container(BumpBlock, node, dlist_head_node(&set->blocks)); + + if (BumpBlockFreeBytes(block) < required_size) + return BumpAllocFromNewBlock(context, size, flags, chunk_size); + + /* The current block has space, so just allocate chunk there. */ + return BumpAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * BumpBlockInit + * Initializes 'block' assuming 'blksize'. Does not update the context's + * mem_allocated field. + */ +static inline void +BumpBlockInit(BumpContext *context, BumpBlock *block, Size blksize) +{ +#ifdef MEMORY_CONTEXT_CHECKING + block->context = context; +#endif + block->freeptr = ((char *) block) + Bump_BLOCKHDRSZ; + block->endptr = ((char *) block) + blksize; + + /* Mark unallocated space NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, blksize - Bump_BLOCKHDRSZ); +} + +/* + * BumpBlockIsEmpty + * Returns true iff 'block' contains no chunks + */ +static inline bool +BumpBlockIsEmpty(BumpBlock *block) +{ + /* it's empty if the freeptr has not moved */ + return (block->freeptr == ((char *) block + Bump_BLOCKHDRSZ)); +} + +/* + * BumpBlockMarkEmpty + * Set a block as empty. Does not free the block. + */ +static inline void +BumpBlockMarkEmpty(BumpBlock *block) +{ +#if defined(USE_VALGRIND) || defined(CLOBBER_FREED_MEMORY) + char *datastart = ((char *) block) + Bump_BLOCKHDRSZ; +#endif + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(datastart, block->freeptr - datastart); +#else + /* wipe_mem() would have done this */ + VALGRIND_MAKE_MEM_NOACCESS(datastart, block->freeptr - datastart); +#endif + + /* Reset the block, but don't return it to malloc */ + block->freeptr = ((char *) block) + Bump_BLOCKHDRSZ; +} + +/* + * BumpBlockFreeBytes + * Returns the number of bytes free in 'block' + */ +static inline Size +BumpBlockFreeBytes(BumpBlock *block) +{ + return (block->endptr - block->freeptr); +} + +/* + * BumpBlockFree + * Remove 'block' from 'set' and release the memory consumed by it. + */ +static inline void +BumpBlockFree(BumpContext *set, BumpBlock *block) +{ + /* Make sure nobody tries to free the keeper block */ + Assert(!IsKeeperBlock(set, block)); + + /* release the block from the list of blocks */ + dlist_delete(&block->node); + + ((MemoryContext) set)->mem_allocated -= ((char *) block->endptr - (char *) block); + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, ((char *) block->endptr - (char *) block)); +#endif + + free(block); +} + +/* + * BumpFree + * Unsupported. + */ +void +BumpFree(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "pfree"); +} + +/* + * BumpRealloc + * Unsupported. + */ +void * +BumpRealloc(void *pointer, Size size, int flags) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "realloc"); + return NULL; /* keep compiler quiet */ +} + +/* + * BumpGetChunkContext + * Unsupported. + */ +MemoryContext +BumpGetChunkContext(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "GetMemoryChunkContext"); + return NULL; /* keep compiler quiet */ +} + +/* + * BumpGetChunkSpace + * Unsupported. + */ +Size +BumpGetChunkSpace(void *pointer) +{ + elog(ERROR, "%s is not supported by the bump memory allocator", "GetMemoryChunkSpace"); + return 0; /* keep compiler quiet */ +} + +/* + * BumpIsEmpty + * Is a BumpContext empty of any allocated space? + */ +bool +BumpIsEmpty(MemoryContext context) +{ + BumpContext *set = (BumpContext *) context; + dlist_iter iter; + + Assert(BumpIsValid(set)); + + dlist_foreach(iter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + + if (!BumpBlockIsEmpty(block)) + return false; + } + + return true; +} + +/* + * BumpStats + * Compute stats about memory consumption of a Bump context. + * + * printfunc: if not NULL, pass a human-readable stats string to this. + * passthru: pass this pointer through to printfunc. + * totals: if not NULL, add stats about this context into *totals. + * print_to_stderr: print stats to stderr if true, elog otherwise. + */ +void +BumpStats(MemoryContext context, MemoryStatsPrintFunc printfunc, + void *passthru, MemoryContextCounters *totals, bool print_to_stderr) +{ + BumpContext *set = (BumpContext *) context; + Size nblocks = 0; + Size totalspace = 0; + Size freespace = 0; + dlist_iter iter; + + Assert(BumpIsValid(set)); + + dlist_foreach(iter, &set->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + + nblocks++; + totalspace += (block->endptr - (char *) block); + freespace += (block->endptr - block->freeptr); + } + + if (printfunc) + { + char stats_string[200]; + + snprintf(stats_string, sizeof(stats_string), + "%zu total in %zu blocks; %zu free; %zu used", + totalspace, nblocks, freespace, totalspace - freespace); + printfunc(context, passthru, stats_string, print_to_stderr); + } + + if (totals) + { + totals->nblocks += nblocks; + totals->totalspace += totalspace; + totals->freespace += freespace; + } +} + + +#ifdef MEMORY_CONTEXT_CHECKING + +/* + * BumpCheck + * Walk through chunks and check consistency of memory. + * + * NOTE: report errors as WARNING, *not* ERROR or FATAL. Otherwise you'll + * find yourself in an infinite loop when trouble occurs, because this + * routine will be entered again when elog cleanup tries to release memory! + */ +void +BumpCheck(MemoryContext context) +{ + BumpContext *bump = (BumpContext *) context; + const char *name = context->name; + dlist_iter iter; + Size total_allocated = 0; + + /* walk all blocks in this context */ + dlist_foreach(iter, &bump->blocks) + { + BumpBlock *block = dlist_container(BumpBlock, node, iter.cur); + int nchunks; + char *ptr; + bool has_external_chunk = false; + + if (IsKeeperBlock(bump, block)) + total_allocated += block->endptr - (char *) bump; + else + total_allocated += block->endptr - (char *) block; + + /* check block belongs to the correct context */ + if (block->context != bump) + elog(WARNING, "problem in Bump %s: bogus context link in block %p", + name, block); + + /* now walk through the chunks and count them */ + nchunks = 0; + ptr = ((char *) block) + Bump_BLOCKHDRSZ; + + while (ptr < block->freeptr) + { + MemoryChunk *chunk = (MemoryChunk *) ptr; + BumpBlock *chunkblock; + Size chunksize; + + /* allow access to the chunk header */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Bump_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + chunkblock = ExternalChunkGetBlock(chunk); + chunksize = block->endptr - (char *) MemoryChunkGetPointer(chunk); + has_external_chunk = true; + } + else + { + chunkblock = MemoryChunkGetBlock(chunk); + chunksize = MemoryChunkGetValue(chunk); + } + + /* move to the next chunk */ + ptr += (chunksize + Bump_CHUNKHDRSZ); + + nchunks += 1; + + /* chunks have both block and context pointers, so check both */ + if (chunkblock != block) + elog(WARNING, "problem in Bump %s: bogus block link in block %p, chunk %p", + name, block, chunk); + } + + if (has_external_chunk && nchunks > 1) + elog(WARNING, "problem in Bump %s: external chunk on non-dedicated block %p", + name, block); + + } + + Assert(total_allocated == context->mem_allocated); +} + +#endif /* MEMORY_CONTEXT_CHECKING */ diff --git a/parser/src_backend_utils_mmgr_generation.c b/parser/src_backend_utils_mmgr_generation.c new file mode 100644 index 00000000..58def12e --- /dev/null +++ b/parser/src_backend_utils_mmgr_generation.c @@ -0,0 +1,1115 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - GenerationAlloc + * - GenerationAllocLarge + * - GenerationBlockFreeBytes + * - GenerationAllocChunkFromBlock + * - GenerationAllocFromNewBlock + * - GenerationBlockInit + * - GenerationFree + * - GenerationBlockMarkEmpty + * - GenerationBlockFree + * - GenerationRealloc + * - GenerationReset + * - GenerationDelete + * - GenerationGetChunkContext + * - GenerationGetChunkSpace + * - GenerationIsEmpty + * - GenerationStats + * - GenerationCheck + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * generation.c + * Generational allocator definitions. + * + * Generation is a custom MemoryContext implementation designed for cases of + * chunks with similar lifespan. + * + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/backend/utils/mmgr/generation.c + * + * + * This memory context is based on the assumption that the chunks are freed + * roughly in the same order as they were allocated (FIFO), or in groups with + * similar lifespan (generations - hence the name of the context). This is + * typical for various queue-like use cases, i.e. when tuples are constructed, + * processed and then thrown away. + * + * The memory context uses a very simple approach to free space management. + * Instead of a complex global freelist, each block tracks a number + * of allocated and freed chunks. The block is classed as empty when the + * number of free chunks is equal to the number of allocated chunks. When + * this occurs, instead of freeing the block, we try to "recycle" it, i.e. + * reuse it for new allocations. This is done by setting the block in the + * context's 'freeblock' field. If the freeblock field is already occupied + * by another free block we simply return the newly empty block to malloc. + * + * This approach to free blocks requires fewer malloc/free calls for truly + * first allocated, first free'd allocation patterns. + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "lib/ilist.h" +#include "port/pg_bitutils.h" +#include "utils/memdebug.h" +#include "utils/memutils.h" +#include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" + + +#define Generation_BLOCKHDRSZ MAXALIGN(sizeof(GenerationBlock)) +#define Generation_CHUNKHDRSZ sizeof(MemoryChunk) + +#define Generation_CHUNK_FRACTION 8 + +typedef struct GenerationBlock GenerationBlock; /* forward reference */ + +typedef void *GenerationPointer; + +/* + * GenerationContext is a simple memory context not reusing allocated chunks, + * and freeing blocks once all chunks are freed. + */ +typedef struct GenerationContext +{ + MemoryContextData header; /* Standard memory-context fields */ + + /* Generational context parameters */ + uint32 initBlockSize; /* initial block size */ + uint32 maxBlockSize; /* maximum block size */ + uint32 nextBlockSize; /* next block size to allocate */ + uint32 allocChunkLimit; /* effective chunk size limit */ + + GenerationBlock *block; /* current (most recently allocated) block */ + GenerationBlock *freeblock; /* pointer to an empty block that's being + * recycled, or NULL if there's no such block. */ + dlist_head blocks; /* list of blocks */ +} GenerationContext; + +/* + * GenerationBlock + * GenerationBlock is the unit of memory that is obtained by generation.c + * from malloc(). It contains zero or more MemoryChunks, which are the + * units requested by palloc() and freed by pfree(). MemoryChunks cannot + * be returned to malloc() individually, instead pfree() updates the free + * counter of the block and when all chunks in a block are free the whole + * block can be returned to malloc(). + * + * GenerationBlock is the header data for a block --- the usable space + * within the block begins at the next alignment boundary. + */ +struct GenerationBlock +{ + dlist_node node; /* doubly-linked list of blocks */ + GenerationContext *context; /* pointer back to the owning context */ + Size blksize; /* allocated size of this block */ + int nchunks; /* number of chunks in the block */ + int nfree; /* number of free chunks */ + char *freeptr; /* start of free space in this block */ + char *endptr; /* end of space in this block */ +}; + +/* + * GenerationIsValid + * True iff set is valid generation set. + */ +#define GenerationIsValid(set) \ + (PointerIsValid(set) && IsA(set, GenerationContext)) + +/* + * GenerationBlockIsValid + * True iff block is valid block of generation set. + */ +#define GenerationBlockIsValid(block) \ + (PointerIsValid(block) && GenerationIsValid((block)->context)) + +/* + * GenerationBlockIsEmpty + * True iff block contains no chunks + */ +#define GenerationBlockIsEmpty(b) ((b)->nchunks == 0) + +/* + * We always store external chunks on a dedicated block. This makes fetching + * the block from an external chunk easy since it's always the first and only + * chunk on the block. + */ +#define ExternalChunkGetBlock(chunk) \ + (GenerationBlock *) ((char *) chunk - Generation_BLOCKHDRSZ) + +/* Obtain the keeper block for a generation context */ +#define KeeperBlock(set) \ + ((GenerationBlock *) (((char *) set) + \ + MAXALIGN(sizeof(GenerationContext)))) + +/* Check if the block is the keeper block of the given generation context */ +#define IsKeeperBlock(set, block) ((block) == (KeeperBlock(set))) + +/* Inlined helper functions */ +static inline void GenerationBlockInit(GenerationContext *context, + GenerationBlock *block, + Size blksize); +static inline void GenerationBlockMarkEmpty(GenerationBlock *block); +static inline Size GenerationBlockFreeBytes(GenerationBlock *block); +static inline void GenerationBlockFree(GenerationContext *set, + GenerationBlock *block); + + +/* + * Public routines + */ + + +/* + * GenerationContextCreate + * Create a new Generation context. + * + * parent: parent context, or NULL if top-level context + * name: name of context (must be statically allocated) + * minContextSize: minimum context size + * initBlockSize: initial allocation block size + * maxBlockSize: maximum allocation block size + */ + + +/* + * GenerationReset + * Frees all memory which is allocated in the given set. + * + * The initial "keeper" block (which shares a malloc chunk with the context + * header) is not given back to the operating system though. In this way, we + * don't thrash malloc() when a context is repeatedly reset after small + * allocations. + */ +void +GenerationReset(MemoryContext context) +{ + GenerationContext *set = (GenerationContext *) context; + dlist_mutable_iter miter; + + Assert(GenerationIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Check for corruption and leaks before freeing */ + GenerationCheck(context); +#endif + + /* + * NULLify the free block pointer. We must do this before calling + * GenerationBlockFree as that function never expects to free the + * freeblock. + */ + set->freeblock = NULL; + + dlist_foreach_modify(miter, &set->blocks) + { + GenerationBlock *block = dlist_container(GenerationBlock, node, miter.cur); + + if (IsKeeperBlock(set, block)) + GenerationBlockMarkEmpty(block); + else + GenerationBlockFree(set, block); + } + + /* set it so new allocations to make use of the keeper block */ + set->block = KeeperBlock(set); + + /* Reset block size allocation sequence, too */ + set->nextBlockSize = set->initBlockSize; + + /* Ensure there is only 1 item in the dlist */ + Assert(!dlist_is_empty(&set->blocks)); + Assert(!dlist_has_next(&set->blocks, dlist_head_node(&set->blocks))); +} + +/* + * GenerationDelete + * Free all memory which is allocated in the given context. + */ +void +GenerationDelete(MemoryContext context) +{ + /* Reset to release all releasable GenerationBlocks */ + GenerationReset(context); + /* And free the context header and keeper block */ + free(context); +} + +/* + * Helper for GenerationAlloc() that allocates an entire block for the chunk. + * + * GenerationAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +GenerationAllocLarge(MemoryContext context, Size size, int flags) +{ + GenerationContext *set = (GenerationContext *) context; + GenerationBlock *block; + MemoryChunk *chunk; + Size chunk_size; + Size required_size; + Size blksize; + + /* validate 'size' is within the limits for the given 'flags' */ + MemoryContextCheckSize(context, size, flags); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + required_size = chunk_size + Generation_CHUNKHDRSZ; + blksize = required_size + Generation_BLOCKHDRSZ; + + block = (GenerationBlock *) malloc(blksize); + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* block with a single (used) chunk */ + block->context = set; + block->blksize = blksize; + block->nchunks = 1; + block->nfree = 0; + + /* the block is completely full */ + block->freeptr = block->endptr = ((char *) block) + blksize; + + chunk = (MemoryChunk *) (((char *) block) + Generation_BLOCKHDRSZ); + + /* mark the MemoryChunk as externally managed */ + MemoryChunkSetHdrMaskExternal(chunk, MCTX_GENERATION_ID); + +#ifdef MEMORY_CONTEXT_CHECKING + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); +#endif +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* add the block to the list of allocated blocks */ + dlist_push_head(&set->blocks, &block->node); + + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between GenerationAlloc() and GenerationAllocFromNewBlock(). + */ +static inline void * +GenerationAllocChunkFromBlock(MemoryContext context, GenerationBlock *block, + Size size, Size chunk_size) +{ + MemoryChunk *chunk = (MemoryChunk *) (block->freeptr); + + /* validate we've been given a block with enough free space */ + Assert(block != NULL); + Assert((block->endptr - block->freeptr) >= + Generation_CHUNKHDRSZ + chunk_size); + + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, Generation_CHUNKHDRSZ); + + block->nchunks += 1; + block->freeptr += (Generation_CHUNKHDRSZ + chunk_size); + + Assert(block->freeptr <= block->endptr); + + MemoryChunkSetHdrMask(chunk, block, chunk_size, MCTX_GENERATION_ID); +#ifdef MEMORY_CONTEXT_CHECKING + chunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + Assert(size < chunk_size); + set_sentinel(MemoryChunkGetPointer(chunk), size); +#endif +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* Ensure any padding bytes are marked NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS((char *) MemoryChunkGetPointer(chunk) + size, + chunk_size - size); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +/* + * Helper for GenerationAlloc() that allocates a new block and returns a chunk + * allocated from it. + * + * GenerationAlloc()'s comment explains why this is separate. + */ +pg_noinline +static void * +GenerationAllocFromNewBlock(MemoryContext context, Size size, int flags, + Size chunk_size) +{ + GenerationContext *set = (GenerationContext *) context; + GenerationBlock *block; + Size blksize; + Size required_size; + + /* + * The first such block has size initBlockSize, and we double the space in + * each succeeding block, but not more than maxBlockSize. + */ + blksize = set->nextBlockSize; + set->nextBlockSize <<= 1; + if (set->nextBlockSize > set->maxBlockSize) + set->nextBlockSize = set->maxBlockSize; + + /* we'll need space for the chunk, chunk hdr and block hdr */ + required_size = chunk_size + Generation_CHUNKHDRSZ + Generation_BLOCKHDRSZ; + + /* round the size up to the next power of 2 */ + if (blksize < required_size) + blksize = pg_nextpower2_size_t(required_size); + + block = (GenerationBlock *) malloc(blksize); + + if (block == NULL) + return MemoryContextAllocationFailure(context, size, flags); + + context->mem_allocated += blksize; + + /* initialize the new block */ + GenerationBlockInit(set, block, blksize); + + /* add it to the doubly-linked list of blocks */ + dlist_push_head(&set->blocks, &block->node); + + /* make this the current block */ + set->block = block; + + return GenerationAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * GenerationAlloc + * Returns a pointer to allocated memory of given size or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. + * + * No request may exceed: + * MAXALIGN_DOWN(SIZE_MAX) - Generation_BLOCKHDRSZ - Generation_CHUNKHDRSZ + * All callers use a much-lower limit. + * + * Note: when using valgrind, it doesn't matter how the returned allocation + * is marked, as mcxt.c will set it to UNDEFINED. In some paths we will + * return space that is marked NOACCESS - GenerationRealloc has to beware! + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +GenerationAlloc(MemoryContext context, Size size, int flags) +{ + GenerationContext *set = (GenerationContext *) context; + GenerationBlock *block; + Size chunk_size; + Size required_size; + + Assert(GenerationIsValid(set)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's always space for the sentinel byte */ + chunk_size = MAXALIGN(size + 1); +#else + chunk_size = MAXALIGN(size); +#endif + + /* + * If requested size exceeds maximum for chunks we hand the request off to + * GenerationAllocLarge(). + */ + if (chunk_size > set->allocChunkLimit) + return GenerationAllocLarge(context, size, flags); + + required_size = chunk_size + Generation_CHUNKHDRSZ; + + /* + * Not an oversized chunk. We try to first make use of the current block, + * but if there's not enough space in it, instead of allocating a new + * block, we look to see if the empty freeblock has enough space. We + * don't try reusing the keeper block. If it's become empty we'll reuse + * that again only if the context is reset. + * + * We only try reusing the freeblock if we've no space for this allocation + * on the current block. When a freeblock exists, we'll switch to it once + * the first time we can't fit an allocation in the current block. We + * avoid ping-ponging between the two as we need to be careful not to + * fragment differently sized consecutive allocations between several + * blocks. Going between the two could cause fragmentation for FIFO + * workloads, which generation is meant to be good at. + */ + block = set->block; + + if (unlikely(GenerationBlockFreeBytes(block) < required_size)) + { + GenerationBlock *freeblock = set->freeblock; + + /* freeblock, if set, must be empty */ + Assert(freeblock == NULL || GenerationBlockIsEmpty(freeblock)); + + /* check if we have a freeblock and if it's big enough */ + if (freeblock != NULL && + GenerationBlockFreeBytes(freeblock) >= required_size) + { + /* make the freeblock the current block */ + set->freeblock = NULL; + set->block = freeblock; + + return GenerationAllocChunkFromBlock(context, + freeblock, + size, + chunk_size); + } + else + { + /* + * No freeblock, or it's not big enough for this allocation. Make + * a new block. + */ + return GenerationAllocFromNewBlock(context, size, flags, chunk_size); + } + } + + /* The current block has space, so just allocate chunk there. */ + return GenerationAllocChunkFromBlock(context, block, size, chunk_size); +} + +/* + * GenerationBlockInit + * Initializes 'block' assuming 'blksize'. Does not update the context's + * mem_allocated field. + */ +static inline void +GenerationBlockInit(GenerationContext *context, GenerationBlock *block, + Size blksize) +{ + block->context = context; + block->blksize = blksize; + block->nchunks = 0; + block->nfree = 0; + + block->freeptr = ((char *) block) + Generation_BLOCKHDRSZ; + block->endptr = ((char *) block) + blksize; + + /* Mark unallocated space NOACCESS. */ + VALGRIND_MAKE_MEM_NOACCESS(block->freeptr, + blksize - Generation_BLOCKHDRSZ); +} + +/* + * GenerationBlockMarkEmpty + * Set a block as empty. Does not free the block. + */ +static inline void +GenerationBlockMarkEmpty(GenerationBlock *block) +{ +#if defined(USE_VALGRIND) || defined(CLOBBER_FREED_MEMORY) + char *datastart = ((char *) block) + Generation_BLOCKHDRSZ; +#endif + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(datastart, block->freeptr - datastart); +#else + /* wipe_mem() would have done this */ + VALGRIND_MAKE_MEM_NOACCESS(datastart, block->freeptr - datastart); +#endif + + /* Reset the block, but don't return it to malloc */ + block->nchunks = 0; + block->nfree = 0; + block->freeptr = ((char *) block) + Generation_BLOCKHDRSZ; +} + +/* + * GenerationBlockFreeBytes + * Returns the number of bytes free in 'block' + */ +static inline Size +GenerationBlockFreeBytes(GenerationBlock *block) +{ + return (block->endptr - block->freeptr); +} + +/* + * GenerationBlockFree + * Remove 'block' from 'set' and release the memory consumed by it. + */ +static inline void +GenerationBlockFree(GenerationContext *set, GenerationBlock *block) +{ + /* Make sure nobody tries to free the keeper block */ + Assert(!IsKeeperBlock(set, block)); + /* We shouldn't be freeing the freeblock either */ + Assert(block != set->freeblock); + + /* release the block from the list of blocks */ + dlist_delete(&block->node); + + ((MemoryContext) set)->mem_allocated -= block->blksize; + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, block->blksize); +#endif + + free(block); +} + +/* + * GenerationFree + * Update number of chunks in the block, and consider freeing the block + * if it's become empty. + */ +void +GenerationFree(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + GenerationBlock *block; + GenerationContext *set; +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) + Size chunksize; +#endif + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Generation_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + block = ExternalChunkGetBlock(chunk); + + /* + * Try to verify that we have a sane block pointer: the block header + * should reference a generation context. + */ + if (!GenerationBlockIsValid(block)) + elog(ERROR, "could not find block containing chunk %p", chunk); + +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) + chunksize = block->endptr - (char *) pointer; +#endif + } + else + { + block = MemoryChunkGetBlock(chunk); + + /* + * In this path, for speed reasons we just Assert that the referenced + * block is good. Future field experience may show that this Assert + * had better become a regular runtime test-and-elog check. + */ + Assert(GenerationBlockIsValid(block)); + +#if (defined(MEMORY_CONTEXT_CHECKING) && defined(USE_ASSERT_CHECKING)) \ + || defined(CLOBBER_FREED_MEMORY) + chunksize = MemoryChunkGetValue(chunk); +#endif + } + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + Assert(chunk->requested_size < chunksize); + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + ((MemoryContext) block->context)->name, chunk); +#endif + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(pointer, chunksize); +#endif + +#ifdef MEMORY_CONTEXT_CHECKING + /* Reset requested_size to InvalidAllocSize in freed chunks */ + chunk->requested_size = InvalidAllocSize; +#endif + + block->nfree += 1; + + Assert(block->nchunks > 0); + Assert(block->nfree <= block->nchunks); + Assert(block != block->context->freeblock); + + /* If there are still allocated chunks in the block, we're done. */ + if (likely(block->nfree < block->nchunks)) + return; + + set = block->context; + + /*----------------------- + * The block this allocation was on has now become completely empty of + * chunks. In the general case, we can now return the memory for this + * block back to malloc. However, there are cases where we don't want to + * do that: + * + * 1) If it's the keeper block. This block was malloc'd in the same + * allocation as the context itself and can't be free'd without + * freeing the context. + * 2) If it's the current block. We could free this, but doing so would + * leave us nothing to set the current block to, so we just mark the + * block as empty so new allocations can reuse it again. + * 3) If we have no "freeblock" set, then we save a single block for + * future allocations to avoid having to malloc a new block again. + * This is useful for FIFO workloads as it avoids continual + * free/malloc cycles. + */ + if (IsKeeperBlock(set, block) || set->block == block) + GenerationBlockMarkEmpty(block); /* case 1 and 2 */ + else if (set->freeblock == NULL) + { + /* case 3 */ + GenerationBlockMarkEmpty(block); + set->freeblock = block; + } + else + GenerationBlockFree(set, block); /* Otherwise, free it */ +} + +/* + * GenerationRealloc + * When handling repalloc, we simply allocate a new chunk, copy the data + * and discard the old one. The only exception is when the new size fits + * into the old chunk - in that case we just update chunk header. + */ +void * +GenerationRealloc(void *pointer, Size size, int flags) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + GenerationContext *set; + GenerationBlock *block; + GenerationPointer newPointer; + Size oldsize; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Generation_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + block = ExternalChunkGetBlock(chunk); + + /* + * Try to verify that we have a sane block pointer: the block header + * should reference a generation context. + */ + if (!GenerationBlockIsValid(block)) + elog(ERROR, "could not find block containing chunk %p", chunk); + + oldsize = block->endptr - (char *) pointer; + } + else + { + block = MemoryChunkGetBlock(chunk); + + /* + * In this path, for speed reasons we just Assert that the referenced + * block is good. Future field experience may show that this Assert + * had better become a regular runtime test-and-elog check. + */ + Assert(GenerationBlockIsValid(block)); + + oldsize = MemoryChunkGetValue(chunk); + } + + set = block->context; + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + Assert(chunk->requested_size < oldsize); + if (!sentinel_ok(pointer, chunk->requested_size)) + elog(WARNING, "detected write past chunk end in %s %p", + ((MemoryContext) set)->name, chunk); +#endif + + /* + * Maybe the allocated area already big enough. (In particular, we always + * fall out here if the requested size is a decrease.) + * + * This memory context does not use power-of-2 chunk sizing and instead + * carves the chunks to be as small as possible, so most repalloc() calls + * will end up in the palloc/memcpy/pfree branch. + * + * XXX Perhaps we should annotate this condition with unlikely()? + */ +#ifdef MEMORY_CONTEXT_CHECKING + /* With MEMORY_CONTEXT_CHECKING, we need an extra byte for the sentinel */ + if (oldsize > size) +#else + if (oldsize >= size) +#endif + { +#ifdef MEMORY_CONTEXT_CHECKING + Size oldrequest = chunk->requested_size; + +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* We can only fill the extra space if we know the prior request */ + if (size > oldrequest) + randomize_mem((char *) pointer + oldrequest, + size - oldrequest); +#endif + + chunk->requested_size = size; + + /* + * If this is an increase, mark any newly-available part UNDEFINED. + * Otherwise, mark the obsolete part NOACCESS. + */ + if (size > oldrequest) + VALGRIND_MAKE_MEM_UNDEFINED((char *) pointer + oldrequest, + size - oldrequest); + else + VALGRIND_MAKE_MEM_NOACCESS((char *) pointer + size, + oldsize - size); + + /* set mark to catch clobber of "unused" space */ + set_sentinel(pointer, size); +#else /* !MEMORY_CONTEXT_CHECKING */ + + /* + * We don't have the information to determine whether we're growing + * the old request or shrinking it, so we conservatively mark the + * entire new allocation DEFINED. + */ + VALGRIND_MAKE_MEM_NOACCESS(pointer, oldsize); + VALGRIND_MAKE_MEM_DEFINED(pointer, size); +#endif + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + + return pointer; + } + + /* allocate new chunk (this also checks size is valid) */ + newPointer = GenerationAlloc((MemoryContext) set, size, flags); + + /* leave immediately if request was not completed */ + if (newPointer == NULL) + { + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + return MemoryContextAllocationFailure((MemoryContext) set, size, flags); + } + + /* + * GenerationAlloc() may have returned a region that is still NOACCESS. + * Change it to UNDEFINED for the moment; memcpy() will then transfer + * definedness from the old allocation to the new. If we know the old + * allocation, copy just that much. Otherwise, make the entire old chunk + * defined to avoid errors as we copy the currently-NOACCESS trailing + * bytes. + */ + VALGRIND_MAKE_MEM_UNDEFINED(newPointer, size); +#ifdef MEMORY_CONTEXT_CHECKING + oldsize = chunk->requested_size; +#else + VALGRIND_MAKE_MEM_DEFINED(pointer, oldsize); +#endif + + /* transfer existing data (certain to fit) */ + memcpy(newPointer, pointer, oldsize); + + /* free old chunk */ + GenerationFree(pointer); + + return newPointer; +} + +/* + * GenerationGetChunkContext + * Return the MemoryContext that 'pointer' belongs to. + */ +MemoryContext +GenerationGetChunkContext(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + GenerationBlock *block; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Generation_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + block = ExternalChunkGetBlock(chunk); + else + block = (GenerationBlock *) MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + + Assert(GenerationBlockIsValid(block)); + return &block->context->header; +} + +/* + * GenerationGetChunkSpace + * Given a currently-allocated chunk, determine the total space + * it occupies (including all memory-allocation overhead). + */ +Size +GenerationGetChunkSpace(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + Size chunksize; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Generation_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + GenerationBlock *block = ExternalChunkGetBlock(chunk); + + Assert(GenerationBlockIsValid(block)); + chunksize = block->endptr - (char *) pointer; + } + else + chunksize = MemoryChunkGetValue(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + + return Generation_CHUNKHDRSZ + chunksize; +} + +/* + * GenerationIsEmpty + * Is a GenerationContext empty of any allocated space? + */ +bool +GenerationIsEmpty(MemoryContext context) +{ + GenerationContext *set = (GenerationContext *) context; + dlist_iter iter; + + Assert(GenerationIsValid(set)); + + dlist_foreach(iter, &set->blocks) + { + GenerationBlock *block = dlist_container(GenerationBlock, node, iter.cur); + + if (block->nchunks > 0) + return false; + } + + return true; +} + +/* + * GenerationStats + * Compute stats about memory consumption of a Generation context. + * + * printfunc: if not NULL, pass a human-readable stats string to this. + * passthru: pass this pointer through to printfunc. + * totals: if not NULL, add stats about this context into *totals. + * print_to_stderr: print stats to stderr if true, elog otherwise. + * + * XXX freespace only accounts for empty space at the end of the block, not + * space of freed chunks (which is unknown). + */ +void +GenerationStats(MemoryContext context, + MemoryStatsPrintFunc printfunc, void *passthru, + MemoryContextCounters *totals, bool print_to_stderr) +{ + GenerationContext *set = (GenerationContext *) context; + Size nblocks = 0; + Size nchunks = 0; + Size nfreechunks = 0; + Size totalspace; + Size freespace = 0; + dlist_iter iter; + + Assert(GenerationIsValid(set)); + + /* Include context header in totalspace */ + totalspace = MAXALIGN(sizeof(GenerationContext)); + + dlist_foreach(iter, &set->blocks) + { + GenerationBlock *block = dlist_container(GenerationBlock, node, iter.cur); + + nblocks++; + nchunks += block->nchunks; + nfreechunks += block->nfree; + totalspace += block->blksize; + freespace += (block->endptr - block->freeptr); + } + + if (printfunc) + { + char stats_string[200]; + + snprintf(stats_string, sizeof(stats_string), + "%zu total in %zu blocks (%zu chunks); %zu free (%zu chunks); %zu used", + totalspace, nblocks, nchunks, freespace, + nfreechunks, totalspace - freespace); + printfunc(context, passthru, stats_string, print_to_stderr); + } + + if (totals) + { + totals->nblocks += nblocks; + totals->freechunks += nfreechunks; + totals->totalspace += totalspace; + totals->freespace += freespace; + } +} + + +#ifdef MEMORY_CONTEXT_CHECKING + +/* + * GenerationCheck + * Walk through chunks and check consistency of memory. + * + * NOTE: report errors as WARNING, *not* ERROR or FATAL. Otherwise you'll + * find yourself in an infinite loop when trouble occurs, because this + * routine will be entered again when elog cleanup tries to release memory! + */ +void +GenerationCheck(MemoryContext context) +{ + GenerationContext *gen = (GenerationContext *) context; + const char *name = context->name; + dlist_iter iter; + Size total_allocated = 0; + + /* walk all blocks in this context */ + dlist_foreach(iter, &gen->blocks) + { + GenerationBlock *block = dlist_container(GenerationBlock, node, iter.cur); + int nfree, + nchunks; + char *ptr; + bool has_external_chunk = false; + + total_allocated += block->blksize; + + /* + * nfree > nchunks is surely wrong. Equality is allowed as the block + * might completely empty if it's the freeblock. + */ + if (block->nfree > block->nchunks) + elog(WARNING, "problem in Generation %s: number of free chunks %d in block %p exceeds %d allocated", + name, block->nfree, block, block->nchunks); + + /* check block belongs to the correct context */ + if (block->context != gen) + elog(WARNING, "problem in Generation %s: bogus context link in block %p", + name, block); + + /* Now walk through the chunks and count them. */ + nfree = 0; + nchunks = 0; + ptr = ((char *) block) + Generation_BLOCKHDRSZ; + + while (ptr < block->freeptr) + { + MemoryChunk *chunk = (MemoryChunk *) ptr; + GenerationBlock *chunkblock; + Size chunksize; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Generation_CHUNKHDRSZ); + + if (MemoryChunkIsExternal(chunk)) + { + chunkblock = ExternalChunkGetBlock(chunk); + chunksize = block->endptr - (char *) MemoryChunkGetPointer(chunk); + has_external_chunk = true; + } + else + { + chunkblock = MemoryChunkGetBlock(chunk); + chunksize = MemoryChunkGetValue(chunk); + } + + /* move to the next chunk */ + ptr += (chunksize + Generation_CHUNKHDRSZ); + + nchunks += 1; + + /* chunks have both block and context pointers, so check both */ + if (chunkblock != block) + elog(WARNING, "problem in Generation %s: bogus block link in block %p, chunk %p", + name, block, chunk); + + + /* is chunk allocated? */ + if (chunk->requested_size != InvalidAllocSize) + { + /* now make sure the chunk size is correct */ + if (chunksize < chunk->requested_size || + chunksize != MAXALIGN(chunksize)) + elog(WARNING, "problem in Generation %s: bogus chunk size in block %p, chunk %p", + name, block, chunk); + + /* check sentinel */ + Assert(chunk->requested_size < chunksize); + if (!sentinel_ok(chunk, Generation_CHUNKHDRSZ + chunk->requested_size)) + elog(WARNING, "problem in Generation %s: detected write past chunk end in block %p, chunk %p", + name, block, chunk); + } + else + nfree += 1; + + /* if chunk is allocated, disallow access to the chunk header */ + if (chunk->requested_size != InvalidAllocSize) + VALGRIND_MAKE_MEM_NOACCESS(chunk, Generation_CHUNKHDRSZ); + } + + /* + * Make sure we got the expected number of allocated and free chunks + * (as tracked in the block header). + */ + if (nchunks != block->nchunks) + elog(WARNING, "problem in Generation %s: number of allocated chunks %d in block %p does not match header %d", + name, nchunks, block, block->nchunks); + + if (nfree != block->nfree) + elog(WARNING, "problem in Generation %s: number of free chunks %d in block %p does not match header %d", + name, nfree, block, block->nfree); + + if (has_external_chunk && nchunks > 1) + elog(WARNING, "problem in Generation %s: external chunk on non-dedicated block %p", + name, block); + + } + + Assert(total_allocated == context->mem_allocated); +} + +#endif /* MEMORY_CONTEXT_CHECKING */ diff --git a/parser/src_backend_utils_mmgr_mcxt.c b/parser/src_backend_utils_mmgr_mcxt.c index b1120883..2d7f5350 100644 --- a/parser/src_backend_utils_mmgr_mcxt.c +++ b/parser/src_backend_utils_mmgr_mcxt.c @@ -4,29 +4,43 @@ * - MemoryContextReset * - MemoryContextDeleteChildren * - MemoryContextDelete + * - MemoryContextDeleteOnly * - TopMemoryContext * - CurrentMemoryContext * - MemoryContextSetParent * - MemoryContextCallResetCallbacks * - MemoryContextResetOnly * - repalloc + * - GetMemoryChunkContext + * - mcxt_methods + * - MemoryContextAllocationFailure * - MemoryContextStats * - MemoryContextStatsDetail * - MemoryContextStatsInternal * - MemoryContextStatsPrint + * - MemoryContextTraverseNext + * - GetMemoryChunkSpace + * - MemoryContextAllocAligned + * - MemoryContextAllocExtended + * - BogusFree + * - GetMemoryChunkHeader + * - BogusRealloc + * - BogusGetChunkContext + * - BogusGetChunkSpace + * - GetMemoryChunkMethodID * - pfree * - pstrdup * - MemoryContextStrdup * - MemoryContextAlloc * - palloc - * - MemoryContextAllocZeroAligned - * - MemoryContextAllocZero * - palloc0 * - MemoryContextCreate * - MemoryContextInit * - MemoryContextAllowInCriticalSection * - CurrentMemoryContext * - MemoryContextDelete + * - MemoryContextAllocZero + * - MemoryContextSizeFailure * - palloc0 * - MemoryContextAllocExtended *-------------------------------------------------------------------- @@ -43,7 +57,7 @@ * context's MemoryContextMethods struct. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -57,17 +71,118 @@ #include "mb/pg_wchar.h" #include "miscadmin.h" -#include "storage/proc.h" -#include "storage/procarray.h" -#include "storage/procsignal.h" -#include "utils/fmgrprotos.h" #include "utils/memdebug.h" #include "utils/memutils.h" +#include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" +static void BogusFree(void *pointer); +static void *BogusRealloc(void *pointer, Size size, int flags); +static MemoryContext BogusGetChunkContext(void *pointer); +static Size BogusGetChunkSpace(void *pointer); + /***************************************************************************** * GLOBAL MEMORY * *****************************************************************************/ +#define BOGUS_MCTX(id) \ + [id].free_p = BogusFree, \ + [id].realloc = BogusRealloc, \ + [id].get_chunk_context = BogusGetChunkContext, \ + [id].get_chunk_space = BogusGetChunkSpace + +static const MemoryContextMethods mcxt_methods[] = { + /* aset.c */ + [MCTX_ASET_ID].alloc = AllocSetAlloc, + [MCTX_ASET_ID].free_p = AllocSetFree, + [MCTX_ASET_ID].realloc = AllocSetRealloc, + [MCTX_ASET_ID].reset = AllocSetReset, + [MCTX_ASET_ID].delete_context = AllocSetDelete, + [MCTX_ASET_ID].get_chunk_context = AllocSetGetChunkContext, + [MCTX_ASET_ID].get_chunk_space = AllocSetGetChunkSpace, + [MCTX_ASET_ID].is_empty = AllocSetIsEmpty, + [MCTX_ASET_ID].stats = AllocSetStats, +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_ASET_ID].check = AllocSetCheck, +#endif + + /* generation.c */ + [MCTX_GENERATION_ID].alloc = GenerationAlloc, + [MCTX_GENERATION_ID].free_p = GenerationFree, + [MCTX_GENERATION_ID].realloc = GenerationRealloc, + [MCTX_GENERATION_ID].reset = GenerationReset, + [MCTX_GENERATION_ID].delete_context = GenerationDelete, + [MCTX_GENERATION_ID].get_chunk_context = GenerationGetChunkContext, + [MCTX_GENERATION_ID].get_chunk_space = GenerationGetChunkSpace, + [MCTX_GENERATION_ID].is_empty = GenerationIsEmpty, + [MCTX_GENERATION_ID].stats = GenerationStats, +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_GENERATION_ID].check = GenerationCheck, +#endif + + /* slab.c */ + [MCTX_SLAB_ID].alloc = SlabAlloc, + [MCTX_SLAB_ID].free_p = SlabFree, + [MCTX_SLAB_ID].realloc = SlabRealloc, + [MCTX_SLAB_ID].reset = SlabReset, + [MCTX_SLAB_ID].delete_context = SlabDelete, + [MCTX_SLAB_ID].get_chunk_context = SlabGetChunkContext, + [MCTX_SLAB_ID].get_chunk_space = SlabGetChunkSpace, + [MCTX_SLAB_ID].is_empty = SlabIsEmpty, + [MCTX_SLAB_ID].stats = SlabStats, +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_SLAB_ID].check = SlabCheck, +#endif + + /* alignedalloc.c */ + [MCTX_ALIGNED_REDIRECT_ID].alloc = NULL, /* not required */ + [MCTX_ALIGNED_REDIRECT_ID].free_p = AlignedAllocFree, + [MCTX_ALIGNED_REDIRECT_ID].realloc = AlignedAllocRealloc, + [MCTX_ALIGNED_REDIRECT_ID].reset = NULL, /* not required */ + [MCTX_ALIGNED_REDIRECT_ID].delete_context = NULL, /* not required */ + [MCTX_ALIGNED_REDIRECT_ID].get_chunk_context = AlignedAllocGetChunkContext, + [MCTX_ALIGNED_REDIRECT_ID].get_chunk_space = AlignedAllocGetChunkSpace, + [MCTX_ALIGNED_REDIRECT_ID].is_empty = NULL, /* not required */ + [MCTX_ALIGNED_REDIRECT_ID].stats = NULL, /* not required */ +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_ALIGNED_REDIRECT_ID].check = NULL, /* not required */ +#endif + + /* bump.c */ + [MCTX_BUMP_ID].alloc = BumpAlloc, + [MCTX_BUMP_ID].free_p = BumpFree, + [MCTX_BUMP_ID].realloc = BumpRealloc, + [MCTX_BUMP_ID].reset = BumpReset, + [MCTX_BUMP_ID].delete_context = BumpDelete, + [MCTX_BUMP_ID].get_chunk_context = BumpGetChunkContext, + [MCTX_BUMP_ID].get_chunk_space = BumpGetChunkSpace, + [MCTX_BUMP_ID].is_empty = BumpIsEmpty, + [MCTX_BUMP_ID].stats = BumpStats, +#ifdef MEMORY_CONTEXT_CHECKING + [MCTX_BUMP_ID].check = BumpCheck, +#endif + + + /* + * Reserved and unused IDs should have dummy entries here. This allows us + * to fail cleanly if a bogus pointer is passed to pfree or the like. It + * seems sufficient to provide routines for the methods that might get + * invoked from inspection of a chunk (see MCXT_METHOD calls below). + */ + BOGUS_MCTX(MCTX_1_RESERVED_GLIBC_ID), + BOGUS_MCTX(MCTX_2_RESERVED_GLIBC_ID), + BOGUS_MCTX(MCTX_8_UNUSED_ID), + BOGUS_MCTX(MCTX_9_UNUSED_ID), + BOGUS_MCTX(MCTX_10_UNUSED_ID), + BOGUS_MCTX(MCTX_11_UNUSED_ID), + BOGUS_MCTX(MCTX_12_UNUSED_ID), + BOGUS_MCTX(MCTX_13_UNUSED_ID), + BOGUS_MCTX(MCTX_14_UNUSED_ID), + BOGUS_MCTX(MCTX_0_RESERVED_UNUSEDMEM_ID), + BOGUS_MCTX(MCTX_15_RESERVED_WIPEDMEM_ID) +}; + +#undef BOGUS_MCTX /* * CurrentMemoryContext @@ -93,9 +208,10 @@ __thread MemoryContext ErrorContext = NULL; /* This is a transient link to the active portal's memory context: */ +static void MemoryContextDeleteOnly(MemoryContext context); static void MemoryContextCallResetCallbacks(MemoryContext context); static void MemoryContextStatsInternal(MemoryContext context, int level, - bool print, int max_children, + int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr); static void MemoryContextStatsPrint(MemoryContext context, void *passthru, @@ -110,6 +226,144 @@ static void MemoryContextStatsPrint(MemoryContext context, void *passthru, #define AssertNotInCriticalSection(context) \ Assert(CritSectionCount == 0 || (context)->allowInCritSection) +/* + * Call the given function in the MemoryContextMethods for the memory context + * type that 'pointer' belongs to. + */ +#define MCXT_METHOD(pointer, method) \ + mcxt_methods[GetMemoryChunkMethodID(pointer)].method + +/* + * GetMemoryChunkMethodID + * Return the MemoryContextMethodID from the uint64 chunk header which + * directly precedes 'pointer'. + */ +static inline MemoryContextMethodID +GetMemoryChunkMethodID(const void *pointer) +{ + uint64 header; + + /* + * Try to detect bogus pointers handed to us, poorly though we can. + * Presumably, a pointer that isn't MAXALIGNED isn't pointing at an + * allocated chunk. + */ + Assert(pointer == (const void *) MAXALIGN(pointer)); + + /* Allow access to the uint64 header */ + VALGRIND_MAKE_MEM_DEFINED((char *) pointer - sizeof(uint64), sizeof(uint64)); + + header = *((const uint64 *) ((const char *) pointer - sizeof(uint64))); + + /* Disallow access to the uint64 header */ + VALGRIND_MAKE_MEM_NOACCESS((char *) pointer - sizeof(uint64), sizeof(uint64)); + + return (MemoryContextMethodID) (header & MEMORY_CONTEXT_METHODID_MASK); +} + +/* + * GetMemoryChunkHeader + * Return the uint64 chunk header which directly precedes 'pointer'. + * + * This is only used after GetMemoryChunkMethodID, so no need for error checks. + */ +static inline uint64 +GetMemoryChunkHeader(const void *pointer) +{ + uint64 header; + + /* Allow access to the uint64 header */ + VALGRIND_MAKE_MEM_DEFINED((char *) pointer - sizeof(uint64), sizeof(uint64)); + + header = *((const uint64 *) ((const char *) pointer - sizeof(uint64))); + + /* Disallow access to the uint64 header */ + VALGRIND_MAKE_MEM_NOACCESS((char *) pointer - sizeof(uint64), sizeof(uint64)); + + return header; +} + +/* + * MemoryContextTraverseNext + * Helper function to traverse all descendants of a memory context + * without recursion. + * + * Recursion could lead to out-of-stack errors with deep context hierarchies, + * which would be unpleasant in error cleanup code paths. + * + * To process 'context' and all its descendants, use a loop like this: + * + * + * for (MemoryContext curr = context->firstchild; + * curr != NULL; + * curr = MemoryContextTraverseNext(curr, context)) + * { + * + * } + * + * This visits all the contexts in pre-order, that is a node is visited + * before its children. + */ +static MemoryContext +MemoryContextTraverseNext(MemoryContext curr, MemoryContext top) +{ + /* After processing a node, traverse to its first child if any */ + if (curr->firstchild != NULL) + return curr->firstchild; + + /* + * After processing a childless node, traverse to its next sibling if + * there is one. If there isn't, traverse back up to the parent (which + * has already been visited, and now so have all its descendants). We're + * done if that is "top", otherwise traverse to its next sibling if any, + * otherwise repeat moving up. + */ + while (curr->nextchild == NULL) + { + curr = curr->parent; + if (curr == top) + return NULL; + } + return curr->nextchild; +} + +/* + * Support routines to trap use of invalid memory context method IDs + * (from calling pfree or the like on a bogus pointer). As a possible + * aid in debugging, we report the header word along with the pointer + * address (if we got here, there must be an accessible header word). + */ +static void +BogusFree(void *pointer) +{ + elog(ERROR, "pfree called with invalid pointer %p (header 0x%016llx)", + pointer, (unsigned long long) GetMemoryChunkHeader(pointer)); +} + +static void * +BogusRealloc(void *pointer, Size size, int flags) +{ + elog(ERROR, "repalloc called with invalid pointer %p (header 0x%016llx)", + pointer, (unsigned long long) GetMemoryChunkHeader(pointer)); + return NULL; /* keep compiler quiet */ +} + +static MemoryContext +BogusGetChunkContext(void *pointer) +{ + elog(ERROR, "GetMemoryChunkContext called with invalid pointer %p (header 0x%016llx)", + pointer, (unsigned long long) GetMemoryChunkHeader(pointer)); + return NULL; /* keep compiler quiet */ +} + +static Size +BogusGetChunkSpace(void *pointer) +{ + elog(ERROR, "GetMemoryChunkSpace called with invalid pointer %p (header 0x%016llx)", + pointer, (unsigned long long) GetMemoryChunkHeader(pointer)); + return 0; /* keep compiler quiet */ +} + /***************************************************************************** * EXPORTED ROUTINES * @@ -135,7 +389,7 @@ static void MemoryContextStatsPrint(MemoryContext context, void *passthru, void MemoryContextInit(void) { - AssertState(TopMemoryContext == NULL); + Assert(TopMemoryContext == NULL); /* * First, initialize TopMemoryContext, which is the parent of all others. @@ -179,7 +433,7 @@ MemoryContextInit(void) void MemoryContextReset(MemoryContext context) { - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); /* save a function call in common case where there are no children */ if (context->firstchild != NULL) @@ -198,7 +452,7 @@ MemoryContextReset(MemoryContext context) void MemoryContextResetOnly(MemoryContext context) { - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); /* Nothing to do if no pallocs since startup or last reset */ if (!context->isReset) @@ -209,10 +463,8 @@ MemoryContextResetOnly(MemoryContext context) * If context->ident points into the context's memory, it will become * a dangling pointer. We could prevent that by setting it to NULL * here, but that would break valid coding patterns that keep the - * ident elsewhere, e.g. in a parent context. Another idea is to use - * MemoryContextContains(), but we don't require ident strings to be - * in separately-palloc'd chunks, so that risks false positives. So - * for now we assume the programmer got it right. + * ident elsewhere, e.g. in a parent context. So for now we assume + * the programmer got it right. */ context->methods->reset(context); @@ -236,21 +488,60 @@ MemoryContextResetOnly(MemoryContext context) * allocated therein. * * The type-specific delete routine removes all storage for the context, - * but we have to recurse to handle the children. - * We must also delink the context from its parent, if it has one. + * but we have to deal with descendant nodes here. */ void MemoryContextDelete(MemoryContext context) { - AssertArg(MemoryContextIsValid(context)); + MemoryContext curr; + + Assert(MemoryContextIsValid(context)); + + /* + * Delete subcontexts from the bottom up. + * + * Note: Do not use recursion here. A "stack depth limit exceeded" error + * would be unpleasant if we're already in the process of cleaning up from + * transaction abort. We also cannot use MemoryContextTraverseNext() here + * because we modify the tree as we go. + */ + curr = context; + for (;;) + { + MemoryContext parent; + + /* Descend down until we find a leaf context with no children */ + while (curr->firstchild != NULL) + curr = curr->firstchild; + + /* + * We're now at a leaf with no children. Free it and continue from the + * parent. Or if this was the original node, we're all done. + */ + parent = curr->parent; + MemoryContextDeleteOnly(curr); + + if (curr == context) + break; + curr = parent; + } +} + +/* + * Subroutine of MemoryContextDelete, + * to delete a context that has no children. + * We must also delink the context from its parent, if it has one. + */ +static void +MemoryContextDeleteOnly(MemoryContext context) +{ + Assert(MemoryContextIsValid(context)); /* We had better not be deleting TopMemoryContext ... */ Assert(context != TopMemoryContext); /* And not CurrentMemoryContext, either */ Assert(context != CurrentMemoryContext); - - /* save a function call in common case where there are no children */ - if (context->firstchild != NULL) - MemoryContextDeleteChildren(context); + /* All the children should've been deleted already */ + Assert(context->firstchild == NULL); /* * It's not entirely clear whether 'tis better to do this before or after @@ -287,7 +578,7 @@ MemoryContextDelete(MemoryContext context) void MemoryContextDeleteChildren(MemoryContext context) { - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); /* * MemoryContextDelete will delink the child from me, so just iterate as @@ -369,8 +660,8 @@ MemoryContextCallResetCallbacks(MemoryContext context) void MemoryContextSetParent(MemoryContext context, MemoryContext new_parent) { - AssertArg(MemoryContextIsValid(context)); - AssertArg(context != new_parent); + Assert(MemoryContextIsValid(context)); + Assert(context != new_parent); /* Fast path if it's got correct parent already */ if (new_parent == context->parent) @@ -396,7 +687,7 @@ MemoryContextSetParent(MemoryContext context, MemoryContext new_parent) /* And relink */ if (new_parent) { - AssertArg(MemoryContextIsValid(new_parent)); + Assert(MemoryContextIsValid(new_parent)); context->parent = new_parent; context->prevchild = NULL; context->nextchild = new_parent->firstchild; @@ -426,11 +717,22 @@ MemoryContextSetParent(MemoryContext context, MemoryContext new_parent) void MemoryContextAllowInCriticalSection(MemoryContext context, bool allow) { - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); context->allowInCritSection = allow; } +/* + * GetMemoryChunkContext + * Given a currently-allocated chunk, determine the MemoryContext that + * the chunk belongs to. + */ +MemoryContext +GetMemoryChunkContext(void *pointer) +{ + return MCXT_METHOD(pointer, get_chunk_context) (pointer); +} + /* * GetMemoryChunkSpace * Given a currently-allocated chunk, determine the total space @@ -439,7 +741,11 @@ MemoryContextAllowInCriticalSection(MemoryContext context, bool allow) * This is useful for measuring the total space occupied by a set of * allocated chunks. */ - +Size +GetMemoryChunkSpace(void *pointer) +{ + return MCXT_METHOD(pointer, get_chunk_space) (pointer); +} /* * MemoryContextGetParent @@ -459,6 +765,12 @@ MemoryContextAllowInCriticalSection(MemoryContext context, bool allow) */ +/* + * Return the memory consumption statistics about the given context and its + * children. + */ + + /* * MemoryContextStats * Print statistics about the named context and all its descendants. @@ -470,8 +782,8 @@ MemoryContextAllowInCriticalSection(MemoryContext context, bool allow) void MemoryContextStats(MemoryContext context) { - /* A hard-wired limit on the number of children is usually good enough */ - MemoryContextStatsDetail(context, 100, true); + /* Hard-wired limits are usually good enough */ + MemoryContextStatsDetail(context, 100, 100, true); } /* @@ -483,14 +795,16 @@ MemoryContextStats(MemoryContext context) * with fprintf(stderr), otherwise use ereport(). */ void -MemoryContextStatsDetail(MemoryContext context, int max_children, +MemoryContextStatsDetail(MemoryContext context, + int max_level, int max_children, bool print_to_stderr) { MemoryContextCounters grand_totals; memset(&grand_totals, 0, sizeof(grand_totals)); - MemoryContextStatsInternal(context, 0, true, max_children, &grand_totals, print_to_stderr); + MemoryContextStatsInternal(context, 0, max_level, max_children, + &grand_totals, print_to_stderr); if (print_to_stderr) fprintf(stderr, @@ -499,16 +813,16 @@ MemoryContextStatsDetail(MemoryContext context, int max_children, grand_totals.freespace, grand_totals.freechunks, grand_totals.totalspace - grand_totals.freespace); else - + { /* * Use LOG_SERVER_ONLY to prevent the memory contexts from being sent * to the connected client. * * We don't buffer the information about all memory contexts in a - * backend into StringInfo and log it as one message. Otherwise which - * may require the buffer to be enlarged very much and lead to OOM - * error since there can be a large number of memory contexts in a - * backend. Instead, we log one message per memory context. + * backend into StringInfo and log it as one message. That would + * require the buffer to be enlarged, risking an OOM as there could be + * a large number of memory contexts in a backend. Instead, we log + * one message per memory context. */ ereport(LOG_SERVER_ONLY, (errhidestmt(true), @@ -517,89 +831,96 @@ MemoryContextStatsDetail(MemoryContext context, int max_children, grand_totals.totalspace, grand_totals.nblocks, grand_totals.freespace, grand_totals.freechunks, grand_totals.totalspace - grand_totals.freespace))); + } } /* * MemoryContextStatsInternal * One recursion level for MemoryContextStats * - * Print this context if print is true, but in any case accumulate counts into - * *totals (if given). + * Print stats for this context if possible, but in any case accumulate counts + * into *totals (if not NULL). */ static void MemoryContextStatsInternal(MemoryContext context, int level, - bool print, int max_children, + int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr) { - MemoryContextCounters local_totals; MemoryContext child; int ichild; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); /* Examine the context itself */ context->methods->stats(context, - print ? MemoryContextStatsPrint : NULL, + MemoryContextStatsPrint, (void *) &level, totals, print_to_stderr); /* - * Examine children. If there are more than max_children of them, we do - * not print the rest explicitly, but just summarize them. + * Examine children. + * + * If we are past the recursion depth limit or already running low on + * stack, do not print them explicitly but just summarize them. Similarly, + * if there are more than max_children of them, we do not print the rest + * explicitly, but just summarize them. */ - memset(&local_totals, 0, sizeof(local_totals)); - - for (child = context->firstchild, ichild = 0; - child != NULL; - child = child->nextchild, ichild++) + child = context->firstchild; + ichild = 0; + if (level < max_level && !stack_is_too_deep()) { - if (ichild < max_children) + for (; child != NULL && ichild < max_children; + child = child->nextchild, ichild++) + { MemoryContextStatsInternal(child, level + 1, - print, max_children, + max_level, max_children, totals, print_to_stderr); - else - MemoryContextStatsInternal(child, level + 1, - false, max_children, - &local_totals, - print_to_stderr); + } } - /* Deal with excess children */ - if (ichild > max_children) + if (child != NULL) { - if (print) + /* Summarize the rest of the children, avoiding recursion. */ + MemoryContextCounters local_totals; + + memset(&local_totals, 0, sizeof(local_totals)); + + ichild = 0; + while (child != NULL) { - if (print_to_stderr) - { - int i; - - for (i = 0; i <= level; i++) - fprintf(stderr, " "); - fprintf(stderr, - "%d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used\n", - ichild - max_children, - local_totals.totalspace, - local_totals.nblocks, - local_totals.freespace, - local_totals.freechunks, - local_totals.totalspace - local_totals.freespace); - } - else - ereport(LOG_SERVER_ONLY, - (errhidestmt(true), - errhidecontext(true), - errmsg_internal("level: %d; %d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used", - level, - ichild - max_children, - local_totals.totalspace, - local_totals.nblocks, - local_totals.freespace, - local_totals.freechunks, - local_totals.totalspace - local_totals.freespace))); + child->methods->stats(child, NULL, NULL, &local_totals, false); + ichild++; + child = MemoryContextTraverseNext(child, context); } + if (print_to_stderr) + { + for (int i = 0; i <= level; i++) + fprintf(stderr, " "); + fprintf(stderr, + "%d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used\n", + ichild, + local_totals.totalspace, + local_totals.nblocks, + local_totals.freespace, + local_totals.freechunks, + local_totals.totalspace - local_totals.freespace); + } + else + ereport(LOG_SERVER_ONLY, + (errhidestmt(true), + errhidecontext(true), + errmsg_internal("level: %d; %d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used", + level, + ichild, + local_totals.totalspace, + local_totals.nblocks, + local_totals.freespace, + local_totals.freechunks, + local_totals.totalspace - local_totals.freespace))); + if (totals) { totals->nblocks += local_totals.nblocks; @@ -691,7 +1012,7 @@ MemoryContextStatsPrint(MemoryContext context, void *passthru, /* * MemoryContextCheck - * Check all chunks in the named context. + * Check all chunks in the named context and its children. * * This is just a debugging utility, so it's not fancy. */ @@ -699,19 +1020,6 @@ MemoryContextStatsPrint(MemoryContext context, void *passthru, #endif -/* - * MemoryContextContains - * Detect whether an allocated chunk of memory belongs to a given - * context or not. - * - * Caution: this test is reliable as long as 'pointer' does point to - * a chunk of memory allocated from *some* context. If 'pointer' points - * at memory obtained in some other way, there is a small chance of a - * false-positive result, since the bits right before it might look like - * a valid chunk header by chance. - */ - - /* * MemoryContextCreate * Context-type-independent part of context creation. @@ -737,7 +1045,7 @@ MemoryContextStatsPrint(MemoryContext context, void *passthru, * * node: the as-yet-uninitialized common part of the context header node. * tag: NodeTag code identifying the memory context type. - * methods: context-type-specific methods (usually statically allocated). + * method_id: MemoryContextMethodID of the context-type being created. * parent: parent context, or NULL if this will be a top-level context. * name: name of context (must be statically allocated). * @@ -747,7 +1055,7 @@ MemoryContextStatsPrint(MemoryContext context, void *passthru, void MemoryContextCreate(MemoryContext node, NodeTag tag, - const MemoryContextMethods *methods, + MemoryContextMethodID method_id, MemoryContext parent, const char *name) { @@ -757,7 +1065,7 @@ MemoryContextCreate(MemoryContext node, /* Initialize all standard fields of memory context header */ node->type = tag; node->isReset = true; - node->methods = methods; + node->methods = &mcxt_methods[method_id]; node->parent = parent; node->firstchild = NULL; node->mem_allocated = 0; @@ -786,120 +1094,93 @@ MemoryContextCreate(MemoryContext node, } /* - * MemoryContextAlloc - * Allocate space within the specified context. - * - * This could be turned into a macro, but we'd have to import - * nodes/memnodes.h into postgres.h which seems a bad idea. + * MemoryContextAllocationFailure + * For use by MemoryContextMethods implementations to handle when malloc + * returns NULL. The behavior is specific to whether MCXT_ALLOC_NO_OOM + * is in 'flags'. */ void * -MemoryContextAlloc(MemoryContext context, Size size) +MemoryContextAllocationFailure(MemoryContext context, Size size, int flags) { - void *ret; - - AssertArg(MemoryContextIsValid(context)); - AssertNotInCriticalSection(context); - - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - - context->isReset = false; - - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) + if ((flags & MCXT_ALLOC_NO_OOM) == 0) { MemoryContextStats(TopMemoryContext); - - /* - * Here, and elsewhere in this module, we show the target context's - * "name" but not its "ident" (if any) in user-visible error messages. - * The "ident" string might contain security-sensitive data, such as - * values in SQL commands. - */ ereport(ERROR, (errcode(ERRCODE_OUT_OF_MEMORY), errmsg("out of memory"), errdetail("Failed on request of size %zu in memory context \"%s\".", size, context->name))); } + return NULL; +} - VALGRIND_MEMPOOL_ALLOC(context, ret, size); - - return ret; +/* + * MemoryContextSizeFailure + * For use by MemoryContextMethods implementations to handle invalid + * memory allocation request sizes. + */ +void +MemoryContextSizeFailure(MemoryContext context, Size size, int flags) +{ + elog(ERROR, "invalid memory alloc request size %zu", size); } /* - * MemoryContextAllocZero - * Like MemoryContextAlloc, but clears allocated memory + * MemoryContextAlloc + * Allocate space within the specified context. * - * We could just call MemoryContextAlloc then clear the memory, but this - * is a very common combination, so we provide the combined operation. + * This could be turned into a macro, but we'd have to import + * nodes/memnodes.h into postgres.h which seems a bad idea. */ void * -MemoryContextAllocZero(MemoryContext context, Size size) +MemoryContextAlloc(MemoryContext context, Size size) { void *ret; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'alloc' + * function instead. + */ + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); - MemSetAligned(ret, 0, size); - return ret; } /* - * MemoryContextAllocZeroAligned - * MemoryContextAllocZero where length is suitable for MemSetLoop + * MemoryContextAllocZero + * Like MemoryContextAlloc, but clears allocated memory * - * This might seem overly specialized, but it's not because newNode() - * is so often called with compile-time-constant sizes. + * We could just call MemoryContextAlloc then clear the memory, but this + * is a very common combination, so we provide the combined operation. */ void * -MemoryContextAllocZeroAligned(MemoryContext context, Size size) +MemoryContextAllocZero(MemoryContext context, Size size) { void *ret; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); - MemSetLoop(ret, 0, size); + MemSetAligned(ret, 0, size); return ret; } @@ -913,29 +1194,18 @@ MemoryContextAllocExtended(MemoryContext context, Size size, int flags) { void *ret; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (((flags & MCXT_ALLOC_HUGE) != 0 && !AllocHugeSizeIsValid(size)) || - ((flags & MCXT_ALLOC_HUGE) == 0 && !AllocSizeIsValid(size))) + if (!((flags & MCXT_ALLOC_HUGE) != 0 ? AllocHugeSizeIsValid(size) : + AllocSizeIsValid(size))) elog(ERROR, "invalid memory alloc request size %zu", size); context->isReset = false; - ret = context->methods->alloc(context, size); + ret = context->methods->alloc(context, size, flags); if (unlikely(ret == NULL)) - { - if ((flags & MCXT_ALLOC_NO_OOM) == 0) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } return NULL; - } VALGRIND_MEMPOOL_ALLOC(context, ret, size); @@ -973,25 +1243,24 @@ palloc(Size size) void *ret; MemoryContext context = CurrentMemoryContext; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } - + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'alloc' + * function instead. + */ + ret = context->methods->alloc(context, size, 0); + /* We expect OOM to be handled by the alloc function */ + Assert(ret != NULL); VALGRIND_MEMPOOL_ALLOC(context, ret, size); return ret; @@ -1004,24 +1273,12 @@ palloc0(Size size) void *ret; MemoryContext context = CurrentMemoryContext; - AssertArg(MemoryContextIsValid(context)); + Assert(MemoryContextIsValid(context)); AssertNotInCriticalSection(context); - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - context->isReset = false; - ret = context->methods->alloc(context, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + ret = context->methods->alloc(context, size, 0); VALGRIND_MEMPOOL_ALLOC(context, ret, size); @@ -1032,6 +1289,125 @@ palloc0(Size size) +/* + * MemoryContextAllocAligned + * Allocate 'size' bytes of memory in 'context' aligned to 'alignto' + * bytes. + * + * Currently, we align addresses by requesting additional bytes from the + * MemoryContext's standard allocator function and then aligning the returned + * address by the required alignment. This means that the given MemoryContext + * must support providing us with a chunk of memory that's larger than 'size'. + * For allocators such as Slab, that's not going to work, as slab only allows + * chunks of the size that's specified when the context is created. + * + * 'alignto' must be a power of 2. + * 'flags' may be 0 or set the same as MemoryContextAllocExtended(). + */ +void * +MemoryContextAllocAligned(MemoryContext context, + Size size, Size alignto, int flags) +{ + MemoryChunk *alignedchunk; + Size alloc_size; + void *unaligned; + void *aligned; + + /* wouldn't make much sense to waste that much space */ + Assert(alignto < (128 * 1024 * 1024)); + + /* ensure alignto is a power of 2 */ + Assert((alignto & (alignto - 1)) == 0); + + /* + * If the alignment requirements are less than what we already guarantee + * then just use the standard allocation function. + */ + if (unlikely(alignto <= MAXIMUM_ALIGNOF)) + return MemoryContextAllocExtended(context, size, flags); + + /* + * We implement aligned pointers by simply allocating enough memory for + * the requested size plus the alignment and an additional "redirection" + * MemoryChunk. This additional MemoryChunk is required for operations + * such as pfree when used on the pointer returned by this function. We + * use this redirection MemoryChunk in order to find the pointer to the + * memory that was returned by the MemoryContextAllocExtended call below. + * We do that by "borrowing" the block offset field and instead of using + * that to find the offset into the owning block, we use it to find the + * original allocated address. + * + * Here we must allocate enough extra memory so that we can still align + * the pointer returned by MemoryContextAllocExtended and also have enough + * space for the redirection MemoryChunk. Since allocations will already + * be at least aligned by MAXIMUM_ALIGNOF, we can subtract that amount + * from the allocation size to save a little memory. + */ + alloc_size = size + PallocAlignedExtraBytes(alignto); + +#ifdef MEMORY_CONTEXT_CHECKING + /* ensure there's space for a sentinel byte */ + alloc_size += 1; +#endif + + /* perform the actual allocation */ + unaligned = MemoryContextAllocExtended(context, alloc_size, flags); + + /* set the aligned pointer */ + aligned = (void *) TYPEALIGN(alignto, (char *) unaligned + + sizeof(MemoryChunk)); + + alignedchunk = PointerGetMemoryChunk(aligned); + + /* + * We set the redirect MemoryChunk so that the block offset calculation is + * used to point back to the 'unaligned' allocated chunk. This allows us + * to use MemoryChunkGetBlock() to find the unaligned chunk when we need + * to perform operations such as pfree() and repalloc(). + * + * We store 'alignto' in the MemoryChunk's 'value' so that we know what + * the alignment was set to should we ever be asked to realloc this + * pointer. + */ + MemoryChunkSetHdrMask(alignedchunk, unaligned, alignto, + MCTX_ALIGNED_REDIRECT_ID); + + /* double check we produced a correctly aligned pointer */ + Assert((void *) TYPEALIGN(alignto, aligned) == aligned); + +#ifdef MEMORY_CONTEXT_CHECKING + alignedchunk->requested_size = size; + /* set mark to catch clobber of "unused" space */ + set_sentinel(aligned, size); +#endif + + /* Mark the bytes before the redirection header as noaccess */ + VALGRIND_MAKE_MEM_NOACCESS(unaligned, + (char *) alignedchunk - (char *) unaligned); + + /* Disallow access to the redirection chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(alignedchunk, sizeof(MemoryChunk)); + + return aligned; +} + +/* + * palloc_aligned + * Allocate 'size' bytes returning a pointer that's aligned to the + * 'alignto' boundary. + * + * Currently, we align addresses by requesting additional bytes from the + * MemoryContext's standard allocator function and then aligning the returned + * address by the required alignment. This means that the given MemoryContext + * must support providing us with a chunk of memory that's larger than 'size'. + * For allocators such as Slab, that's not going to work, as slab only allows + * chunks of the size that's specified when the context is created. + * + * 'alignto' must be a power of 2. + * 'flags' may be 0 or set the same as MemoryContextAllocExtended(). + */ + + /* * pfree * Release an allocated chunk. @@ -1039,10 +1415,17 @@ palloc0(Size size) void pfree(void *pointer) { +#ifdef USE_VALGRIND + MemoryContextMethodID method = GetMemoryChunkMethodID(pointer); MemoryContext context = GetMemoryChunkContext(pointer); +#endif + + MCXT_METHOD(pointer, free_p) (pointer); - context->methods->free_p(context, pointer); - VALGRIND_MEMPOOL_FREE(context, pointer); +#ifdef USE_VALGRIND + if (method != MCTX_ALIGNED_REDIRECT_ID) + VALGRIND_MEMPOOL_FREE(context, pointer); +#endif } /* @@ -1052,33 +1435,54 @@ pfree(void *pointer) void * repalloc(void *pointer, Size size) { +#ifdef USE_VALGRIND + MemoryContextMethodID method = GetMemoryChunkMethodID(pointer); +#endif +#if defined(USE_ASSERT_CHECKING) || defined(USE_VALGRIND) MemoryContext context = GetMemoryChunkContext(pointer); +#endif void *ret; - if (!AllocSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - AssertNotInCriticalSection(context); /* isReset must be false already */ Assert(!context->isReset); - ret = context->methods->realloc(context, pointer, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } + /* + * For efficiency reasons, we purposefully offload the handling of + * allocation failures to the MemoryContextMethods implementation as this + * allows these checks to be performed only when an actual malloc needs to + * be done to request more memory from the OS. Additionally, not having + * to execute any instructions after this call allows the compiler to use + * the sibling call optimization. If you're considering adding code after + * this call, consider making it the responsibility of the 'realloc' + * function instead. + */ + ret = MCXT_METHOD(pointer, realloc) (pointer, size, 0); - VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size); +#ifdef USE_VALGRIND + if (method != MCTX_ALIGNED_REDIRECT_ID) + VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size); +#endif return ret; } +/* + * repalloc_extended + * Adjust the size of a previously allocated chunk, + * with HUGE and NO_OOM options. + */ +#if defined(USE_ASSERT_CHECKING) || defined(USE_VALGRIND) +#endif + +/* + * repalloc0 + * Adjust the size of a previously allocated chunk and zero out the added + * space. + */ + + /* * MemoryContextAllocHuge * Allocate (possibly-expansive) space within the specified context. diff --git a/parser/src_backend_utils_mmgr_slab.c b/parser/src_backend_utils_mmgr_slab.c new file mode 100644 index 00000000..2eafdbf9 --- /dev/null +++ b/parser/src_backend_utils_mmgr_slab.c @@ -0,0 +1,1079 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - SlabAlloc + * - SlabBlocklistIndex + * - SlabAllocInvalidSize + * - SlabAllocFromNewBlock + * - SlabGetNextFreeChunk + * - SlabFindNextBlockListIndex + * - SlabAllocSetupNewChunk + * - SlabFree + * - SlabRealloc + * - SlabReset + * - SlabDelete + * - SlabGetChunkContext + * - SlabGetChunkSpace + * - SlabIsEmpty + * - SlabStats + * - SlabCheck + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * slab.c + * SLAB allocator definitions. + * + * SLAB is a MemoryContext implementation designed for cases where large + * numbers of equally-sized objects can be allocated and freed efficiently + * with minimal memory wastage and fragmentation. + * + * + * Portions Copyright (c) 2017-2024, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/backend/utils/mmgr/slab.c + * + * + * NOTE: + * The constant allocation size allows significant simplification and various + * optimizations over more general purpose allocators. The blocks are carved + * into chunks of exactly the right size, wasting only the space required to + * MAXALIGN the allocated chunks. + * + * Slab can also help reduce memory fragmentation in cases where longer-lived + * chunks remain stored on blocks while most of the other chunks have already + * been pfree'd. We give priority to putting new allocations into the + * "fullest" block. This help avoid having too many sparsely used blocks + * around and allows blocks to more easily become completely unused which + * allows them to be eventually free'd. + * + * We identify the "fullest" block to put new allocations on by using a block + * from the lowest populated element of the context's "blocklist" array. + * This is an array of dlists containing blocks which we partition by the + * number of free chunks which block has. Blocks with fewer free chunks are + * stored in a lower indexed dlist array slot. Full blocks go on the 0th + * element of the blocklist array. So that we don't have to have too many + * elements in the array, each dlist in the array is responsible for a range + * of free chunks. When a chunk is palloc'd or pfree'd we may need to move + * the block onto another dlist if the number of free chunks crosses the + * range boundary that the current list is responsible for. Having just a + * few blocklist elements reduces the number of times we must move the block + * onto another dlist element. + * + * We keep track of free chunks within each block by using a block-level free + * list. We consult this list when we allocate a new chunk in the block. + * The free list is a linked list, the head of which is pointed to with + * SlabBlock's freehead field. Each subsequent list item is stored in the + * free chunk's memory. We ensure chunks are large enough to store this + * address. + * + * When we allocate a new block, technically all chunks are free, however, to + * avoid having to write out the entire block to set the linked list for the + * free chunks for every chunk in the block, we instead store a pointer to + * the next "unused" chunk on the block and keep track of how many of these + * unused chunks there are. When a new block is malloc'd, all chunks are + * unused. The unused pointer starts with the first chunk on the block and + * as chunks are allocated, the unused pointer is incremented. As chunks are + * pfree'd, the unused pointer never goes backwards. The unused pointer can + * be thought of as a high watermark for the maximum number of chunks in the + * block which have been in use concurrently. When a chunk is pfree'd the + * chunk is put onto the head of the free list and the unused pointer is not + * changed. We only consume more unused chunks if we run out of free chunks + * on the free list. This method effectively gives priority to using + * previously used chunks over previously unused chunks, which should perform + * better due to CPU caching effects. + * + *------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "lib/ilist.h" +#include "utils/memdebug.h" +#include "utils/memutils.h" +#include "utils/memutils_internal.h" +#include "utils/memutils_memorychunk.h" + +#define Slab_BLOCKHDRSZ MAXALIGN(sizeof(SlabBlock)) + +#ifdef MEMORY_CONTEXT_CHECKING +/* + * Size of the memory required to store the SlabContext. + * MEMORY_CONTEXT_CHECKING builds need some extra memory for the isChunkFree + * array. + */ +#define Slab_CONTEXT_HDRSZ(chunksPerBlock) \ + (sizeof(SlabContext) + ((chunksPerBlock) * sizeof(bool))) +#else +#define Slab_CONTEXT_HDRSZ(chunksPerBlock) sizeof(SlabContext) +#endif + +/* + * The number of partitions to divide the blocklist into based their number of + * free chunks. There must be at least 2. + */ +#define SLAB_BLOCKLIST_COUNT 3 + +/* The maximum number of completely empty blocks to keep around for reuse. */ +#define SLAB_MAXIMUM_EMPTY_BLOCKS 10 + +/* + * SlabContext is a specialized implementation of MemoryContext. + */ +typedef struct SlabContext +{ + MemoryContextData header; /* Standard memory-context fields */ + /* Allocation parameters for this context: */ + uint32 chunkSize; /* the requested (non-aligned) chunk size */ + uint32 fullChunkSize; /* chunk size with chunk header and alignment */ + uint32 blockSize; /* the size to make each block of chunks */ + int32 chunksPerBlock; /* number of chunks that fit in 1 block */ + int32 curBlocklistIndex; /* index into the blocklist[] element + * containing the fullest, blocks */ +#ifdef MEMORY_CONTEXT_CHECKING + bool *isChunkFree; /* array to mark free chunks in a block during + * SlabCheck */ +#endif + + int32 blocklist_shift; /* number of bits to shift the nfree count + * by to get the index into blocklist[] */ + dclist_head emptyblocks; /* empty blocks to use up first instead of + * mallocing new blocks */ + + /* + * Blocks with free space, grouped by the number of free chunks they + * contain. Completely full blocks are stored in the 0th element. + * Completely empty blocks are stored in emptyblocks or free'd if we have + * enough empty blocks already. + */ + dlist_head blocklist[SLAB_BLOCKLIST_COUNT]; +} SlabContext; + +/* + * SlabBlock + * Structure of a single slab block. + * + * slab: pointer back to the owning MemoryContext + * nfree: number of chunks on the block which are unallocated + * nunused: number of chunks on the block unallocated and not on the block's + * freelist. + * freehead: linked-list header storing a pointer to the first free chunk on + * the block. Subsequent pointers are stored in the chunk's memory. NULL + * indicates the end of the list. + * unused: pointer to the next chunk which has yet to be used. + * node: doubly-linked list node for the context's blocklist + */ +typedef struct SlabBlock +{ + SlabContext *slab; /* owning context */ + int32 nfree; /* number of chunks on free + unused chunks */ + int32 nunused; /* number of unused chunks */ + MemoryChunk *freehead; /* pointer to the first free chunk */ + MemoryChunk *unused; /* pointer to the next unused chunk */ + dlist_node node; /* doubly-linked list for blocklist[] */ +} SlabBlock; + + +#define Slab_CHUNKHDRSZ sizeof(MemoryChunk) +#define SlabChunkGetPointer(chk) \ + ((void *) (((char *) (chk)) + sizeof(MemoryChunk))) + +/* + * SlabBlockGetChunk + * Obtain a pointer to the nth (0-based) chunk in the block + */ +#define SlabBlockGetChunk(slab, block, n) \ + ((MemoryChunk *) ((char *) (block) + Slab_BLOCKHDRSZ \ + + ((n) * (slab)->fullChunkSize))) + +#if defined(MEMORY_CONTEXT_CHECKING) || defined(USE_ASSERT_CHECKING) + +/* + * SlabChunkIndex + * Get the 0-based index of how many chunks into the block the given + * chunk is. +*/ +#define SlabChunkIndex(slab, block, chunk) \ + (((char *) (chunk) - (char *) SlabBlockGetChunk(slab, block, 0)) / \ + (slab)->fullChunkSize) + +/* + * SlabChunkMod + * A MemoryChunk should always be at an address which is a multiple of + * fullChunkSize starting from the 0th chunk position. This will return + * non-zero if it's not. + */ +#define SlabChunkMod(slab, block, chunk) \ + (((char *) (chunk) - (char *) SlabBlockGetChunk(slab, block, 0)) % \ + (slab)->fullChunkSize) + +#endif + +/* + * SlabIsValid + * True iff set is a valid slab allocation set. + */ +#define SlabIsValid(set) (PointerIsValid(set) && IsA(set, SlabContext)) + +/* + * SlabBlockIsValid + * True iff block is a valid block of slab allocation set. + */ +#define SlabBlockIsValid(block) \ + (PointerIsValid(block) && SlabIsValid((block)->slab)) + +/* + * SlabBlocklistIndex + * Determine the blocklist index that a block should be in for the given + * number of free chunks. + */ +static inline int32 +SlabBlocklistIndex(SlabContext *slab, int nfree) +{ + int32 index; + int32 blocklist_shift = slab->blocklist_shift; + + Assert(nfree >= 0 && nfree <= slab->chunksPerBlock); + + /* + * Determine the blocklist index based on the number of free chunks. We + * must ensure that 0 free chunks is dedicated to index 0. Everything + * else must be >= 1 and < SLAB_BLOCKLIST_COUNT. + * + * To make this as efficient as possible, we exploit some two's complement + * arithmetic where we reverse the sign before bit shifting. This results + * in an nfree of 0 using index 0 and anything non-zero staying non-zero. + * This is exploiting 0 and -0 being the same in two's complement. When + * we're done, we just need to flip the sign back over again for a + * positive index. + */ + index = -((-nfree) >> blocklist_shift); + + if (nfree == 0) + Assert(index == 0); + else + Assert(index >= 1 && index < SLAB_BLOCKLIST_COUNT); + + return index; +} + +/* + * SlabFindNextBlockListIndex + * Search blocklist for blocks which have free chunks and return the + * index of the blocklist found containing at least 1 block with free + * chunks. If no block can be found we return 0. + * + * Note: We give priority to fuller blocks so that these are filled before + * emptier blocks. This is done to increase the chances that mostly-empty + * blocks will eventually become completely empty so they can be free'd. + */ +static int32 +SlabFindNextBlockListIndex(SlabContext *slab) +{ + /* start at 1 as blocklist[0] is for full blocks. */ + for (int i = 1; i < SLAB_BLOCKLIST_COUNT; i++) + { + /* return the first found non-empty index */ + if (!dlist_is_empty(&slab->blocklist[i])) + return i; + } + + /* no blocks with free space */ + return 0; +} + +/* + * SlabGetNextFreeChunk + * Return the next free chunk in block and update the block to account + * for the returned chunk now being used. + */ +static inline MemoryChunk * +SlabGetNextFreeChunk(SlabContext *slab, SlabBlock *block) +{ + MemoryChunk *chunk; + + Assert(block->nfree > 0); + + if (block->freehead != NULL) + { + chunk = block->freehead; + + /* + * Pop the chunk from the linked list of free chunks. The pointer to + * the next free chunk is stored in the chunk itself. + */ + VALGRIND_MAKE_MEM_DEFINED(SlabChunkGetPointer(chunk), sizeof(MemoryChunk *)); + block->freehead = *(MemoryChunk **) SlabChunkGetPointer(chunk); + + /* check nothing stomped on the free chunk's memory */ + Assert(block->freehead == NULL || + (block->freehead >= SlabBlockGetChunk(slab, block, 0) && + block->freehead <= SlabBlockGetChunk(slab, block, slab->chunksPerBlock - 1) && + SlabChunkMod(slab, block, block->freehead) == 0)); + } + else + { + Assert(block->nunused > 0); + + chunk = block->unused; + block->unused = (MemoryChunk *) (((char *) block->unused) + slab->fullChunkSize); + block->nunused--; + } + + block->nfree--; + + return chunk; +} + +/* + * SlabContextCreate + * Create a new Slab context. + * + * parent: parent context, or NULL if top-level context + * name: name of context (must be statically allocated) + * blockSize: allocation block size + * chunkSize: allocation chunk size + * + * The Slab_CHUNKHDRSZ + MAXALIGN(chunkSize + 1) may not exceed + * MEMORYCHUNK_MAX_VALUE. + * 'blockSize' may not exceed MEMORYCHUNK_MAX_BLOCKOFFSET. + */ +#ifdef MEMORY_CONTEXT_CHECKING +#else +#endif +#ifdef MEMORY_CONTEXT_CHECKING +#endif + +/* + * SlabReset + * Frees all memory which is allocated in the given set. + * + * The code simply frees all the blocks in the context - we don't keep any + * keeper blocks or anything like that. + */ +void +SlabReset(MemoryContext context) +{ + SlabContext *slab = (SlabContext *) context; + dlist_mutable_iter miter; + int i; + + Assert(SlabIsValid(slab)); + +#ifdef MEMORY_CONTEXT_CHECKING + /* Check for corruption and leaks before freeing */ + SlabCheck(context); +#endif + + /* release any retained empty blocks */ + dclist_foreach_modify(miter, &slab->emptyblocks) + { + SlabBlock *block = dlist_container(SlabBlock, node, miter.cur); + + dclist_delete_from(&slab->emptyblocks, miter.cur); + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, slab->blockSize); +#endif + free(block); + context->mem_allocated -= slab->blockSize; + } + + /* walk over blocklist and free the blocks */ + for (i = 0; i < SLAB_BLOCKLIST_COUNT; i++) + { + dlist_foreach_modify(miter, &slab->blocklist[i]) + { + SlabBlock *block = dlist_container(SlabBlock, node, miter.cur); + + dlist_delete(miter.cur); + +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, slab->blockSize); +#endif + free(block); + context->mem_allocated -= slab->blockSize; + } + } + + slab->curBlocklistIndex = 0; + + Assert(context->mem_allocated == 0); +} + +/* + * SlabDelete + * Free all memory which is allocated in the given context. + */ +void +SlabDelete(MemoryContext context) +{ + /* Reset to release all the SlabBlocks */ + SlabReset(context); + /* And free the context header */ + free(context); +} + +/* + * Small helper for allocating a new chunk from a chunk, to avoid duplicating + * the code between SlabAlloc() and SlabAllocFromNewBlock(). + */ +static inline void * +SlabAllocSetupNewChunk(MemoryContext context, SlabBlock *block, + MemoryChunk *chunk, Size size) +{ + SlabContext *slab = (SlabContext *) context; + + /* + * Check that the chunk pointer is actually somewhere on the block and is + * aligned as expected. + */ + Assert(chunk >= SlabBlockGetChunk(slab, block, 0)); + Assert(chunk <= SlabBlockGetChunk(slab, block, slab->chunksPerBlock - 1)); + Assert(SlabChunkMod(slab, block, chunk) == 0); + + /* Prepare to initialize the chunk header. */ + VALGRIND_MAKE_MEM_UNDEFINED(chunk, Slab_CHUNKHDRSZ); + + MemoryChunkSetHdrMask(chunk, block, MAXALIGN(slab->chunkSize), MCTX_SLAB_ID); + +#ifdef MEMORY_CONTEXT_CHECKING + /* slab mark to catch clobber of "unused" space */ + Assert(slab->chunkSize < (slab->fullChunkSize - Slab_CHUNKHDRSZ)); + set_sentinel(MemoryChunkGetPointer(chunk), size); + VALGRIND_MAKE_MEM_NOACCESS(((char *) chunk) + Slab_CHUNKHDRSZ + + slab->chunkSize, + slab->fullChunkSize - + (slab->chunkSize + Slab_CHUNKHDRSZ)); +#endif + +#ifdef RANDOMIZE_ALLOCATED_MEMORY + /* fill the allocated space with junk */ + randomize_mem((char *) MemoryChunkGetPointer(chunk), size); +#endif + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + return MemoryChunkGetPointer(chunk); +} + +pg_noinline +static void * +SlabAllocFromNewBlock(MemoryContext context, Size size, int flags) +{ + SlabContext *slab = (SlabContext *) context; + SlabBlock *block; + MemoryChunk *chunk; + dlist_head *blocklist; + int blocklist_idx; + + /* to save allocating a new one, first check the empty blocks list */ + if (dclist_count(&slab->emptyblocks) > 0) + { + dlist_node *node = dclist_pop_head_node(&slab->emptyblocks); + + block = dlist_container(SlabBlock, node, node); + + /* + * SlabFree() should have left this block in a valid state with all + * chunks free. Ensure that's the case. + */ + Assert(block->nfree == slab->chunksPerBlock); + + /* fetch the next chunk from this block */ + chunk = SlabGetNextFreeChunk(slab, block); + } + else + { + block = (SlabBlock *) malloc(slab->blockSize); + + if (unlikely(block == NULL)) + return MemoryContextAllocationFailure(context, size, flags); + + block->slab = slab; + context->mem_allocated += slab->blockSize; + + /* use the first chunk in the new block */ + chunk = SlabBlockGetChunk(slab, block, 0); + + block->nfree = slab->chunksPerBlock - 1; + block->unused = SlabBlockGetChunk(slab, block, 1); + block->freehead = NULL; + block->nunused = slab->chunksPerBlock - 1; + } + + /* find the blocklist element for storing blocks with 1 used chunk */ + blocklist_idx = SlabBlocklistIndex(slab, block->nfree); + blocklist = &slab->blocklist[blocklist_idx]; + + /* this better be empty. We just added a block thinking it was */ + Assert(dlist_is_empty(blocklist)); + + dlist_push_head(blocklist, &block->node); + + slab->curBlocklistIndex = blocklist_idx; + + return SlabAllocSetupNewChunk(context, block, chunk, size); +} + +/* + * SlabAllocInvalidSize + * Handle raising an ERROR for an invalid size request. We don't do this + * in slab alloc as calling the elog functions would force the compiler + * to setup the stack frame in SlabAlloc. For performance reasons, we + * want to avoid that. + */ +pg_noinline +static void +pg_attribute_noreturn() +SlabAllocInvalidSize(MemoryContext context, Size size) +{ + SlabContext *slab = (SlabContext *) context; + + elog(ERROR, "unexpected alloc chunk size %zu (expected %u)", size, + slab->chunkSize); +} + +/* + * SlabAlloc + * Returns a pointer to a newly allocated memory chunk or raises an ERROR + * on allocation failure, or returns NULL when flags contains + * MCXT_ALLOC_NO_OOM. 'size' must be the same size as was specified + * during SlabContextCreate(). + * + * This function should only contain the most common code paths. Everything + * else should be in pg_noinline helper functions, thus avoiding the overhead + * of creating a stack frame for the common cases. Allocating memory is often + * a bottleneck in many workloads, so avoiding stack frame setup is + * worthwhile. Helper functions should always directly return the newly + * allocated memory so that we can just return that address directly as a tail + * call. + */ +void * +SlabAlloc(MemoryContext context, Size size, int flags) +{ + SlabContext *slab = (SlabContext *) context; + SlabBlock *block; + MemoryChunk *chunk; + + Assert(SlabIsValid(slab)); + + /* sanity check that this is pointing to a valid blocklist */ + Assert(slab->curBlocklistIndex >= 0); + Assert(slab->curBlocklistIndex <= SlabBlocklistIndex(slab, slab->chunksPerBlock)); + + /* + * Make sure we only allow correct request size. This doubles as the + * MemoryContextCheckSize check. + */ + if (unlikely(size != slab->chunkSize)) + SlabAllocInvalidSize(context, size); + + if (unlikely(slab->curBlocklistIndex == 0)) + { + /* + * Handle the case when there are no partially filled blocks + * available. This happens either when the last allocation took the + * last chunk in the block, or when SlabFree() free'd the final block. + */ + return SlabAllocFromNewBlock(context, size, flags); + } + else + { + dlist_head *blocklist = &slab->blocklist[slab->curBlocklistIndex]; + int new_blocklist_idx; + + Assert(!dlist_is_empty(blocklist)); + + /* grab the block from the blocklist */ + block = dlist_head_element(SlabBlock, node, blocklist); + + /* make sure we actually got a valid block, with matching nfree */ + Assert(block != NULL); + Assert(slab->curBlocklistIndex == SlabBlocklistIndex(slab, block->nfree)); + Assert(block->nfree > 0); + + /* fetch the next chunk from this block */ + chunk = SlabGetNextFreeChunk(slab, block); + + /* get the new blocklist index based on the new free chunk count */ + new_blocklist_idx = SlabBlocklistIndex(slab, block->nfree); + + /* + * Handle the case where the blocklist index changes. This also deals + * with blocks becoming full as only full blocks go at index 0. + */ + if (unlikely(slab->curBlocklistIndex != new_blocklist_idx)) + { + dlist_delete_from(blocklist, &block->node); + dlist_push_head(&slab->blocklist[new_blocklist_idx], &block->node); + + if (dlist_is_empty(blocklist)) + slab->curBlocklistIndex = SlabFindNextBlockListIndex(slab); + } + } + + return SlabAllocSetupNewChunk(context, block, chunk, size); +} + +/* + * SlabFree + * Frees allocated memory; memory is removed from the slab. + */ +void +SlabFree(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + SlabBlock *block; + SlabContext *slab; + int curBlocklistIdx; + int newBlocklistIdx; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Slab_CHUNKHDRSZ); + + block = MemoryChunkGetBlock(chunk); + + /* + * For speed reasons we just Assert that the referenced block is good. + * Future field experience may show that this Assert had better become a + * regular runtime test-and-elog check. + */ + Assert(SlabBlockIsValid(block)); + slab = block->slab; + +#ifdef MEMORY_CONTEXT_CHECKING + /* Test for someone scribbling on unused space in chunk */ + Assert(slab->chunkSize < (slab->fullChunkSize - Slab_CHUNKHDRSZ)); + if (!sentinel_ok(pointer, slab->chunkSize)) + elog(WARNING, "detected write past chunk end in %s %p", + slab->header.name, chunk); +#endif + + /* push this chunk onto the head of the block's free list */ + *(MemoryChunk **) pointer = block->freehead; + block->freehead = chunk; + + block->nfree++; + + Assert(block->nfree > 0); + Assert(block->nfree <= slab->chunksPerBlock); + +#ifdef CLOBBER_FREED_MEMORY + /* don't wipe the free list MemoryChunk pointer stored in the chunk */ + wipe_mem((char *) pointer + sizeof(MemoryChunk *), + slab->chunkSize - sizeof(MemoryChunk *)); +#endif + + curBlocklistIdx = SlabBlocklistIndex(slab, block->nfree - 1); + newBlocklistIdx = SlabBlocklistIndex(slab, block->nfree); + + /* + * Check if the block needs to be moved to another element on the + * blocklist based on it now having 1 more free chunk. + */ + if (unlikely(curBlocklistIdx != newBlocklistIdx)) + { + /* do the move */ + dlist_delete_from(&slab->blocklist[curBlocklistIdx], &block->node); + dlist_push_head(&slab->blocklist[newBlocklistIdx], &block->node); + + /* + * The blocklist[curBlocklistIdx] may now be empty or we may now be + * able to use a lower-element blocklist. We'll need to redetermine + * what the slab->curBlocklistIndex is if the current blocklist was + * changed or if a lower element one was changed. We must ensure we + * use the list with the fullest block(s). + */ + if (slab->curBlocklistIndex >= curBlocklistIdx) + { + slab->curBlocklistIndex = SlabFindNextBlockListIndex(slab); + + /* + * We know there must be a block with at least 1 unused chunk as + * we just pfree'd one. Ensure curBlocklistIndex reflects this. + */ + Assert(slab->curBlocklistIndex > 0); + } + } + + /* Handle when a block becomes completely empty */ + if (unlikely(block->nfree == slab->chunksPerBlock)) + { + /* remove the block */ + dlist_delete_from(&slab->blocklist[newBlocklistIdx], &block->node); + + /* + * To avoid thrashing malloc/free, we keep a list of empty blocks that + * we can reuse again instead of having to malloc a new one. + */ + if (dclist_count(&slab->emptyblocks) < SLAB_MAXIMUM_EMPTY_BLOCKS) + dclist_push_head(&slab->emptyblocks, &block->node); + else + { + /* + * When we have enough empty blocks stored already, we actually + * free the block. + */ +#ifdef CLOBBER_FREED_MEMORY + wipe_mem(block, slab->blockSize); +#endif + free(block); + slab->header.mem_allocated -= slab->blockSize; + } + + /* + * Check if we need to reset the blocklist index. This is required + * when the blocklist this block is on has become completely empty. + */ + if (slab->curBlocklistIndex == newBlocklistIdx && + dlist_is_empty(&slab->blocklist[newBlocklistIdx])) + slab->curBlocklistIndex = SlabFindNextBlockListIndex(slab); + } +} + +/* + * SlabRealloc + * Change the allocated size of a chunk. + * + * As Slab is designed for allocating equally-sized chunks of memory, it can't + * do an actual chunk size change. We try to be gentle and allow calls with + * exactly the same size, as in that case we can simply return the same + * chunk. When the size differs, we throw an error. + * + * We could also allow requests with size < chunkSize. That however seems + * rather pointless - Slab is meant for chunks of constant size, and moreover + * realloc is usually used to enlarge the chunk. + */ +void * +SlabRealloc(void *pointer, Size size, int flags) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + SlabBlock *block; + SlabContext *slab; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Slab_CHUNKHDRSZ); + + block = MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + /* + * Try to verify that we have a sane block pointer: the block header + * should reference a slab context. (We use a test-and-elog, not just + * Assert, because it seems highly likely that we're here in error in the + * first place.) + */ + if (!SlabBlockIsValid(block)) + elog(ERROR, "could not find block containing chunk %p", chunk); + slab = block->slab; + + /* can't do actual realloc with slab, but let's try to be gentle */ + if (size == slab->chunkSize) + return pointer; + + elog(ERROR, "slab allocator does not support realloc()"); + return NULL; /* keep compiler quiet */ +} + +/* + * SlabGetChunkContext + * Return the MemoryContext that 'pointer' belongs to. + */ +MemoryContext +SlabGetChunkContext(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + SlabBlock *block; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Slab_CHUNKHDRSZ); + + block = MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + Assert(SlabBlockIsValid(block)); + + return &block->slab->header; +} + +/* + * SlabGetChunkSpace + * Given a currently-allocated chunk, determine the total space + * it occupies (including all memory-allocation overhead). + */ +Size +SlabGetChunkSpace(void *pointer) +{ + MemoryChunk *chunk = PointerGetMemoryChunk(pointer); + SlabBlock *block; + SlabContext *slab; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Slab_CHUNKHDRSZ); + + block = MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + Assert(SlabBlockIsValid(block)); + slab = block->slab; + + return slab->fullChunkSize; +} + +/* + * SlabIsEmpty + * Is the slab empty of any allocated space? + */ +bool +SlabIsEmpty(MemoryContext context) +{ + Assert(SlabIsValid((SlabContext *) context)); + + return (context->mem_allocated == 0); +} + +/* + * SlabStats + * Compute stats about memory consumption of a Slab context. + * + * printfunc: if not NULL, pass a human-readable stats string to this. + * passthru: pass this pointer through to printfunc. + * totals: if not NULL, add stats about this context into *totals. + * print_to_stderr: print stats to stderr if true, elog otherwise. + */ +void +SlabStats(MemoryContext context, + MemoryStatsPrintFunc printfunc, void *passthru, + MemoryContextCounters *totals, + bool print_to_stderr) +{ + SlabContext *slab = (SlabContext *) context; + Size nblocks = 0; + Size freechunks = 0; + Size totalspace; + Size freespace = 0; + int i; + + Assert(SlabIsValid(slab)); + + /* Include context header in totalspace */ + totalspace = Slab_CONTEXT_HDRSZ(slab->chunksPerBlock); + + /* Add the space consumed by blocks in the emptyblocks list */ + totalspace += dclist_count(&slab->emptyblocks) * slab->blockSize; + + for (i = 0; i < SLAB_BLOCKLIST_COUNT; i++) + { + dlist_iter iter; + + dlist_foreach(iter, &slab->blocklist[i]) + { + SlabBlock *block = dlist_container(SlabBlock, node, iter.cur); + + nblocks++; + totalspace += slab->blockSize; + freespace += slab->fullChunkSize * block->nfree; + freechunks += block->nfree; + } + } + + if (printfunc) + { + char stats_string[200]; + + /* XXX should we include free chunks on empty blocks? */ + snprintf(stats_string, sizeof(stats_string), + "%zu total in %zu blocks; %u empty blocks; %zu free (%zu chunks); %zu used", + totalspace, nblocks, dclist_count(&slab->emptyblocks), + freespace, freechunks, totalspace - freespace); + printfunc(context, passthru, stats_string, print_to_stderr); + } + + if (totals) + { + totals->nblocks += nblocks; + totals->freechunks += freechunks; + totals->totalspace += totalspace; + totals->freespace += freespace; + } +} + + +#ifdef MEMORY_CONTEXT_CHECKING + +/* + * SlabCheck + * Walk through all blocks looking for inconsistencies. + * + * NOTE: report errors as WARNING, *not* ERROR or FATAL. Otherwise you'll + * find yourself in an infinite loop when trouble occurs, because this + * routine will be entered again when elog cleanup tries to release memory! + */ +void +SlabCheck(MemoryContext context) +{ + SlabContext *slab = (SlabContext *) context; + int i; + int nblocks = 0; + const char *name = slab->header.name; + dlist_iter iter; + + Assert(SlabIsValid(slab)); + Assert(slab->chunksPerBlock > 0); + + /* + * Have a look at the empty blocks. These should have all their chunks + * marked as free. Ensure that's the case. + */ + dclist_foreach(iter, &slab->emptyblocks) + { + SlabBlock *block = dlist_container(SlabBlock, node, iter.cur); + + if (block->nfree != slab->chunksPerBlock) + elog(WARNING, "problem in slab %s: empty block %p should have %d free chunks but has %d chunks free", + name, block, slab->chunksPerBlock, block->nfree); + } + + /* walk the non-empty block lists */ + for (i = 0; i < SLAB_BLOCKLIST_COUNT; i++) + { + int j, + nfree; + + /* walk all blocks on this blocklist */ + dlist_foreach(iter, &slab->blocklist[i]) + { + SlabBlock *block = dlist_container(SlabBlock, node, iter.cur); + MemoryChunk *cur_chunk; + + /* + * Make sure the number of free chunks (in the block header) + * matches the position in the blocklist. + */ + if (SlabBlocklistIndex(slab, block->nfree) != i) + elog(WARNING, "problem in slab %s: block %p is on blocklist %d but should be on blocklist %d", + name, block, i, SlabBlocklistIndex(slab, block->nfree)); + + /* make sure the block is not empty */ + if (block->nfree >= slab->chunksPerBlock) + elog(WARNING, "problem in slab %s: empty block %p incorrectly stored on blocklist element %d", + name, block, i); + + /* make sure the slab pointer correctly points to this context */ + if (block->slab != slab) + elog(WARNING, "problem in slab %s: bogus slab link in block %p", + name, block); + + /* reset the array of free chunks for this block */ + memset(slab->isChunkFree, 0, (slab->chunksPerBlock * sizeof(bool))); + nfree = 0; + + /* walk through the block's free list chunks */ + cur_chunk = block->freehead; + while (cur_chunk != NULL) + { + int chunkidx = SlabChunkIndex(slab, block, cur_chunk); + + /* + * Ensure the free list link points to something on the block + * at an address aligned according to the full chunk size. + */ + if (cur_chunk < SlabBlockGetChunk(slab, block, 0) || + cur_chunk > SlabBlockGetChunk(slab, block, slab->chunksPerBlock - 1) || + SlabChunkMod(slab, block, cur_chunk) != 0) + elog(WARNING, "problem in slab %s: bogus free list link %p in block %p", + name, cur_chunk, block); + + /* count the chunk and mark it free on the free chunk array */ + nfree++; + slab->isChunkFree[chunkidx] = true; + + /* read pointer of the next free chunk */ + VALGRIND_MAKE_MEM_DEFINED(MemoryChunkGetPointer(cur_chunk), sizeof(MemoryChunk *)); + cur_chunk = *(MemoryChunk **) SlabChunkGetPointer(cur_chunk); + } + + /* check that the unused pointer matches what nunused claims */ + if (SlabBlockGetChunk(slab, block, slab->chunksPerBlock - block->nunused) != + block->unused) + elog(WARNING, "problem in slab %s: mismatch detected between nunused chunks and unused pointer in block %p", + name, block); + + /* + * count the remaining free chunks that have yet to make it onto + * the block's free list. + */ + cur_chunk = block->unused; + for (j = 0; j < block->nunused; j++) + { + int chunkidx = SlabChunkIndex(slab, block, cur_chunk); + + + /* count the chunk as free and mark it as so in the array */ + nfree++; + if (chunkidx < slab->chunksPerBlock) + slab->isChunkFree[chunkidx] = true; + + /* move forward 1 chunk */ + cur_chunk = (MemoryChunk *) (((char *) cur_chunk) + slab->fullChunkSize); + } + + for (j = 0; j < slab->chunksPerBlock; j++) + { + if (!slab->isChunkFree[j]) + { + MemoryChunk *chunk = SlabBlockGetChunk(slab, block, j); + SlabBlock *chunkblock; + + /* Allow access to the chunk header. */ + VALGRIND_MAKE_MEM_DEFINED(chunk, Slab_CHUNKHDRSZ); + + chunkblock = (SlabBlock *) MemoryChunkGetBlock(chunk); + + /* Disallow access to the chunk header. */ + VALGRIND_MAKE_MEM_NOACCESS(chunk, Slab_CHUNKHDRSZ); + + /* + * check the chunk's blockoffset correctly points back to + * the block + */ + if (chunkblock != block) + elog(WARNING, "problem in slab %s: bogus block link in block %p, chunk %p", + name, block, chunk); + + /* check the sentinel byte is intact */ + Assert(slab->chunkSize < (slab->fullChunkSize - Slab_CHUNKHDRSZ)); + if (!sentinel_ok(chunk, Slab_CHUNKHDRSZ + slab->chunkSize)) + elog(WARNING, "problem in slab %s: detected write past chunk end in block %p, chunk %p", + name, block, chunk); + } + } + + /* + * Make sure we got the expected number of free chunks (as tracked + * in the block header). + */ + if (nfree != block->nfree) + elog(WARNING, "problem in slab %s: nfree in block %p is %d but %d chunk were found as free", + name, block, block->nfree, nfree); + + nblocks++; + } + } + + /* the stored empty blocks are tracked in mem_allocated too */ + nblocks += dclist_count(&slab->emptyblocks); + + Assert(nblocks * slab->blockSize == context->mem_allocated); +} + +#endif /* MEMORY_CONTEXT_CHECKING */ diff --git a/parser/src_common_encnames.c b/parser/src_common_encnames.c index faf70ff1..182665dd 100644 --- a/parser/src_common_encnames.c +++ b/parser/src_common_encnames.c @@ -9,7 +9,7 @@ * encnames.c * Encoding names and routines for working with them. * - * Portions Copyright (c) 2001-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 2001-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/common/encnames.c @@ -46,7 +46,6 @@ typedef struct pg_encname /* ---------- * These are "official" encoding names. - * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) * ---------- */ #ifndef WIN32 @@ -57,48 +56,48 @@ typedef struct pg_encname const pg_enc2name pg_enc2name_tbl[] = { - DEF_ENC2NAME(SQL_ASCII, 0), - DEF_ENC2NAME(EUC_JP, 20932), - DEF_ENC2NAME(EUC_CN, 20936), - DEF_ENC2NAME(EUC_KR, 51949), - DEF_ENC2NAME(EUC_TW, 0), - DEF_ENC2NAME(EUC_JIS_2004, 20932), - DEF_ENC2NAME(UTF8, 65001), - DEF_ENC2NAME(MULE_INTERNAL, 0), - DEF_ENC2NAME(LATIN1, 28591), - DEF_ENC2NAME(LATIN2, 28592), - DEF_ENC2NAME(LATIN3, 28593), - DEF_ENC2NAME(LATIN4, 28594), - DEF_ENC2NAME(LATIN5, 28599), - DEF_ENC2NAME(LATIN6, 0), - DEF_ENC2NAME(LATIN7, 0), - DEF_ENC2NAME(LATIN8, 0), - DEF_ENC2NAME(LATIN9, 28605), - DEF_ENC2NAME(LATIN10, 0), - DEF_ENC2NAME(WIN1256, 1256), - DEF_ENC2NAME(WIN1258, 1258), - DEF_ENC2NAME(WIN866, 866), - DEF_ENC2NAME(WIN874, 874), - DEF_ENC2NAME(KOI8R, 20866), - DEF_ENC2NAME(WIN1251, 1251), - DEF_ENC2NAME(WIN1252, 1252), - DEF_ENC2NAME(ISO_8859_5, 28595), - DEF_ENC2NAME(ISO_8859_6, 28596), - DEF_ENC2NAME(ISO_8859_7, 28597), - DEF_ENC2NAME(ISO_8859_8, 28598), - DEF_ENC2NAME(WIN1250, 1250), - DEF_ENC2NAME(WIN1253, 1253), - DEF_ENC2NAME(WIN1254, 1254), - DEF_ENC2NAME(WIN1255, 1255), - DEF_ENC2NAME(WIN1257, 1257), - DEF_ENC2NAME(KOI8U, 21866), - DEF_ENC2NAME(SJIS, 932), - DEF_ENC2NAME(BIG5, 950), - DEF_ENC2NAME(GBK, 936), - DEF_ENC2NAME(UHC, 949), - DEF_ENC2NAME(GB18030, 54936), - DEF_ENC2NAME(JOHAB, 0), - DEF_ENC2NAME(SHIFT_JIS_2004, 932) + [PG_SQL_ASCII] = DEF_ENC2NAME(SQL_ASCII, 0), + [PG_EUC_JP] = DEF_ENC2NAME(EUC_JP, 20932), + [PG_EUC_CN] = DEF_ENC2NAME(EUC_CN, 20936), + [PG_EUC_KR] = DEF_ENC2NAME(EUC_KR, 51949), + [PG_EUC_TW] = DEF_ENC2NAME(EUC_TW, 0), + [PG_EUC_JIS_2004] = DEF_ENC2NAME(EUC_JIS_2004, 20932), + [PG_UTF8] = DEF_ENC2NAME(UTF8, 65001), + [PG_MULE_INTERNAL] = DEF_ENC2NAME(MULE_INTERNAL, 0), + [PG_LATIN1] = DEF_ENC2NAME(LATIN1, 28591), + [PG_LATIN2] = DEF_ENC2NAME(LATIN2, 28592), + [PG_LATIN3] = DEF_ENC2NAME(LATIN3, 28593), + [PG_LATIN4] = DEF_ENC2NAME(LATIN4, 28594), + [PG_LATIN5] = DEF_ENC2NAME(LATIN5, 28599), + [PG_LATIN6] = DEF_ENC2NAME(LATIN6, 0), + [PG_LATIN7] = DEF_ENC2NAME(LATIN7, 0), + [PG_LATIN8] = DEF_ENC2NAME(LATIN8, 0), + [PG_LATIN9] = DEF_ENC2NAME(LATIN9, 28605), + [PG_LATIN10] = DEF_ENC2NAME(LATIN10, 0), + [PG_WIN1256] = DEF_ENC2NAME(WIN1256, 1256), + [PG_WIN1258] = DEF_ENC2NAME(WIN1258, 1258), + [PG_WIN866] = DEF_ENC2NAME(WIN866, 866), + [PG_WIN874] = DEF_ENC2NAME(WIN874, 874), + [PG_KOI8R] = DEF_ENC2NAME(KOI8R, 20866), + [PG_WIN1251] = DEF_ENC2NAME(WIN1251, 1251), + [PG_WIN1252] = DEF_ENC2NAME(WIN1252, 1252), + [PG_ISO_8859_5] = DEF_ENC2NAME(ISO_8859_5, 28595), + [PG_ISO_8859_6] = DEF_ENC2NAME(ISO_8859_6, 28596), + [PG_ISO_8859_7] = DEF_ENC2NAME(ISO_8859_7, 28597), + [PG_ISO_8859_8] = DEF_ENC2NAME(ISO_8859_8, 28598), + [PG_WIN1250] = DEF_ENC2NAME(WIN1250, 1250), + [PG_WIN1253] = DEF_ENC2NAME(WIN1253, 1253), + [PG_WIN1254] = DEF_ENC2NAME(WIN1254, 1254), + [PG_WIN1255] = DEF_ENC2NAME(WIN1255, 1255), + [PG_WIN1257] = DEF_ENC2NAME(WIN1257, 1257), + [PG_KOI8U] = DEF_ENC2NAME(KOI8U, 21866), + [PG_SJIS] = DEF_ENC2NAME(SJIS, 932), + [PG_BIG5] = DEF_ENC2NAME(BIG5, 950), + [PG_GBK] = DEF_ENC2NAME(GBK, 936), + [PG_UHC] = DEF_ENC2NAME(UHC, 949), + [PG_GB18030] = DEF_ENC2NAME(GB18030, 54936), + [PG_JOHAB] = DEF_ENC2NAME(JOHAB, 0), + [PG_SHIFT_JIS_2004] = DEF_ENC2NAME(SHIFT_JIS_2004, 932), }; /* ---------- @@ -119,6 +118,9 @@ const pg_enc2name pg_enc2name_tbl[] = */ +StaticAssertDecl(lengthof(pg_enc2icu_tbl) == PG_ENCODING_BE_LAST + 1, + "pg_enc2icu_tbl incomplete"); + /* * Is this encoding supported by ICU? diff --git a/parser/src_common_hashfn.c b/parser/src_common_hashfn.c index 6c84e913..9d9c7204 100644 --- a/parser/src_common_hashfn.c +++ b/parser/src_common_hashfn.c @@ -11,7 +11,7 @@ * hashtables * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_keywords.c b/parser/src_common_keywords.c index 4d8d827a..72af378b 100644 --- a/parser/src_common_keywords.c +++ b/parser/src_common_keywords.c @@ -10,7 +10,7 @@ * PostgreSQL's list of SQL keywords * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_kwlist_d.h b/parser/src_common_kwlist_d.h index dcb783fb..46bc0f7d 100644 --- a/parser/src_common_kwlist_d.h +++ b/parser/src_common_kwlist_d.h @@ -12,7 +12,7 @@ * kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -32,6 +32,7 @@ static const char ScanKeywords_kw_string[] = "abort\0" + "absent\0" "absolute\0" "access\0" "action\0" @@ -98,6 +99,7 @@ static const char ScanKeywords_kw_string[] = "committed\0" "compression\0" "concurrently\0" + "conditional\0" "configuration\0" "conflict\0" "connection\0" @@ -152,11 +154,13 @@ static const char ScanKeywords_kw_string[] = "drop\0" "each\0" "else\0" + "empty\0" "enable\0" "encoding\0" "encrypted\0" "end\0" "enum\0" + "error\0" "escape\0" "event\0" "except\0" @@ -181,6 +185,7 @@ static const char ScanKeywords_kw_string[] = "for\0" "force\0" "foreign\0" + "format\0" "forward\0" "freeze\0" "from\0" @@ -211,6 +216,7 @@ static const char ScanKeywords_kw_string[] = "include\0" "including\0" "increment\0" + "indent\0" "index\0" "indexes\0" "inherit\0" @@ -233,7 +239,20 @@ static const char ScanKeywords_kw_string[] = "isnull\0" "isolation\0" "join\0" + "json\0" + "json_array\0" + "json_arrayagg\0" + "json_exists\0" + "json_object\0" + "json_objectagg\0" + "json_query\0" + "json_scalar\0" + "json_serialize\0" + "json_table\0" + "json_value\0" + "keep\0" "key\0" + "keys\0" "label\0" "language\0" "large\0" @@ -261,6 +280,7 @@ static const char ScanKeywords_kw_string[] = "materialized\0" "maxvalue\0" "merge\0" + "merge_action\0" "method\0" "minute\0" "minvalue\0" @@ -272,6 +292,7 @@ static const char ScanKeywords_kw_string[] = "national\0" "natural\0" "nchar\0" + "nested\0" "new\0" "next\0" "nfc\0" @@ -297,6 +318,7 @@ static const char ScanKeywords_kw_string[] = "offset\0" "oids\0" "old\0" + "omit\0" "on\0" "only\0" "operator\0" @@ -321,7 +343,9 @@ static const char ScanKeywords_kw_string[] = "partition\0" "passing\0" "password\0" + "path\0" "placing\0" + "plan\0" "plans\0" "policy\0" "position\0" @@ -339,6 +363,7 @@ static const char ScanKeywords_kw_string[] = "program\0" "publication\0" "quote\0" + "quotes\0" "range\0" "read\0" "real\0" @@ -373,6 +398,7 @@ static const char ScanKeywords_kw_string[] = "rows\0" "rule\0" "savepoint\0" + "scalar\0" "schema\0" "schemas\0" "scroll\0" @@ -397,6 +423,7 @@ static const char ScanKeywords_kw_string[] = "smallint\0" "snapshot\0" "some\0" + "source\0" "sql\0" "stable\0" "standalone\0" @@ -408,6 +435,7 @@ static const char ScanKeywords_kw_string[] = "storage\0" "stored\0" "strict\0" + "string\0" "strip\0" "subscription\0" "substring\0" @@ -415,10 +443,12 @@ static const char ScanKeywords_kw_string[] = "symmetric\0" "sysid\0" "system\0" + "system_user\0" "table\0" "tables\0" "tablesample\0" "tablespace\0" + "target\0" "temp\0" "template\0" "temporary\0" @@ -442,6 +472,7 @@ static const char ScanKeywords_kw_string[] = "uescape\0" "unbounded\0" "uncommitted\0" + "unconditional\0" "unencrypted\0" "union\0" "unique\0" @@ -495,588 +526,626 @@ static const char ScanKeywords_kw_string[] = static const uint16 ScanKeywords_kw_offsets[] = { 0, 6, - 15, + 13, 22, 29, - 33, - 39, - 45, - 55, - 59, - 64, - 70, + 36, + 40, + 46, + 52, + 62, + 66, + 71, 77, - 85, - 93, - 97, - 101, - 107, - 110, + 84, + 92, + 100, + 104, + 108, 114, - 125, - 135, - 146, - 157, - 160, + 117, + 121, + 132, + 142, + 153, + 164, 167, 174, - 184, - 198, - 207, + 181, + 191, + 205, 214, - 220, - 228, + 221, + 227, 235, 242, - 246, - 254, - 259, - 267, - 270, - 276, - 281, + 249, + 253, + 261, + 266, + 274, + 277, + 283, 288, - 296, - 305, - 310, - 315, - 323, - 329, - 334, - 344, - 360, - 366, - 377, - 383, - 389, - 397, - 406, - 414, - 424, + 295, + 303, + 312, + 317, + 322, + 330, + 336, + 341, + 351, + 367, + 373, + 384, + 390, + 396, + 404, + 413, + 421, 431, - 439, - 447, - 456, + 438, + 446, + 454, 463, - 473, - 485, - 498, - 512, - 521, - 532, - 543, - 555, - 563, - 572, - 583, - 588, - 593, - 600, - 606, - 610, - 615, - 623, - 639, - 652, - 665, - 680, - 693, - 711, - 724, - 731, - 737, - 742, - 751, - 755, - 766, + 470, + 480, + 492, + 505, + 517, + 531, + 540, + 551, + 562, + 574, + 582, + 591, + 602, + 607, + 612, + 619, + 625, + 629, + 634, + 642, + 658, + 671, + 684, + 699, + 712, + 730, + 743, + 750, + 756, + 761, 770, - 778, - 786, - 794, - 803, - 814, - 823, - 831, - 838, - 848, - 859, + 774, + 785, + 789, + 797, + 805, + 813, + 822, + 833, + 842, + 850, + 857, 867, - 873, 878, - 885, - 896, + 886, + 892, + 897, 904, - 912, - 921, - 924, - 933, + 915, + 923, + 931, 940, - 947, + 943, 952, - 957, - 962, - 969, - 978, - 988, - 992, - 997, - 1004, - 1010, + 959, + 966, + 971, + 976, + 981, + 987, + 994, + 1003, + 1013, 1017, - 1025, + 1022, + 1028, 1035, - 1045, - 1053, - 1060, - 1068, - 1079, - 1089, - 1098, - 1106, - 1112, - 1119, - 1125, - 1132, - 1141, - 1147, - 1153, + 1041, + 1048, + 1056, + 1066, + 1076, + 1084, + 1091, + 1099, + 1110, + 1120, + 1129, + 1137, + 1143, + 1150, + 1156, 1163, - 1167, - 1173, - 1181, - 1189, - 1196, - 1201, - 1206, - 1215, - 1225, - 1235, - 1242, - 1248, - 1256, - 1265, - 1271, + 1172, + 1178, + 1184, + 1194, + 1198, + 1204, + 1212, + 1219, + 1227, + 1234, + 1239, + 1244, + 1253, + 1263, + 1273, 1280, - 1287, - 1295, - 1302, + 1286, + 1294, + 1303, 1309, - 1314, - 1319, - 1328, - 1331, - 1337, + 1318, + 1325, + 1333, + 1340, 1347, + 1352, 1357, 1366, - 1373, - 1376, - 1384, - 1394, + 1369, + 1375, + 1385, + 1395, 1404, - 1410, - 1418, - 1426, - 1435, - 1445, - 1452, - 1458, - 1464, - 1470, - 1482, - 1489, + 1411, + 1414, + 1422, + 1432, + 1442, + 1449, + 1455, + 1463, + 1471, + 1480, + 1490, 1497, - 1501, + 1503, 1509, - 1519, - 1528, - 1533, - 1541, - 1544, - 1551, - 1561, - 1566, - 1570, - 1576, - 1585, - 1591, + 1515, + 1527, + 1534, + 1542, + 1546, + 1554, + 1564, + 1573, + 1578, + 1586, + 1589, 1596, - 1604, - 1612, - 1622, - 1628, - 1633, - 1639, - 1644, - 1650, - 1657, - 1662, - 1668, - 1678, - 1693, - 1702, - 1707, - 1714, - 1721, + 1606, + 1611, + 1616, + 1627, + 1641, + 1653, + 1665, + 1680, + 1691, + 1703, + 1718, 1729, - 1735, - 1743, - 1756, - 1765, - 1771, - 1778, - 1785, - 1794, - 1799, - 1805, - 1810, - 1815, - 1821, - 1830, - 1838, - 1844, - 1848, - 1853, - 1857, - 1861, - 1866, - 1871, - 1874, - 1879, - 1889, - 1900, - 1904, - 1912, + 1740, + 1745, + 1749, + 1754, + 1760, + 1769, + 1775, + 1780, + 1788, + 1796, + 1806, + 1812, + 1817, + 1823, + 1828, + 1834, + 1841, + 1846, + 1852, + 1862, + 1877, + 1886, + 1891, + 1898, + 1905, + 1913, 1919, 1927, - 1934, - 1939, - 1946, - 1952, - 1960, - 1967, - 1970, - 1974, - 1981, - 1986, - 1990, - 1993, - 1998, + 1940, + 1949, + 1955, + 1968, + 1975, + 1982, + 1991, + 1996, + 2002, 2007, - 2014, - 2022, - 2025, - 2031, - 2042, - 2049, - 2053, - 2059, - 2064, - 2073, - 2081, - 2092, - 2098, + 2012, + 2018, + 2027, + 2035, + 2041, + 2048, + 2052, + 2057, + 2061, + 2065, + 2070, + 2075, + 2078, + 2083, + 2093, 2104, - 2113, + 2108, + 2116, 2123, - 2130, + 2131, 2138, - 2148, + 2143, + 2150, 2156, - 2165, - 2173, - 2179, - 2186, - 2195, - 2205, - 2215, + 2164, + 2171, + 2174, + 2178, + 2185, + 2190, + 2194, + 2199, + 2202, + 2207, + 2216, 2223, - 2232, - 2241, - 2249, - 2255, - 2266, - 2277, - 2287, - 2298, - 2306, - 2318, - 2324, - 2330, - 2335, - 2340, - 2349, + 2231, + 2234, + 2240, + 2251, + 2258, + 2262, + 2268, + 2273, + 2282, + 2290, + 2301, + 2307, + 2313, + 2322, + 2332, + 2339, + 2347, 2357, - 2367, - 2371, - 2382, - 2394, - 2402, - 2410, - 2419, - 2427, + 2365, + 2374, + 2379, + 2387, + 2392, + 2398, + 2405, + 2414, + 2424, 2434, - 2445, - 2453, - 2461, - 2467, - 2475, - 2484, - 2491, - 2501, - 2509, - 2516, - 2522, - 2527, - 2536, + 2442, + 2451, + 2460, + 2468, + 2474, + 2485, + 2496, + 2506, + 2517, + 2525, + 2537, 2543, - 2551, - 2560, - 2564, - 2569, - 2574, - 2584, - 2591, - 2599, - 2606, - 2613, + 2550, + 2556, + 2561, + 2566, + 2575, + 2583, + 2593, + 2597, + 2608, 2620, - 2629, + 2628, 2636, 2645, - 2655, - 2668, - 2675, - 2683, - 2696, - 2700, - 2706, - 2711, + 2653, + 2660, + 2671, + 2679, + 2687, + 2693, + 2701, + 2710, 2717, - 2722, - 2730, - 2737, + 2727, + 2735, 2742, - 2751, - 2760, - 2765, + 2748, + 2753, + 2762, 2769, - 2776, - 2787, - 2793, - 2803, - 2814, - 2820, - 2827, - 2835, - 2842, - 2849, - 2855, - 2868, + 2777, + 2786, + 2790, + 2795, + 2800, + 2810, + 2817, + 2824, + 2832, + 2839, + 2846, + 2853, + 2862, + 2869, 2878, - 2886, - 2896, - 2902, - 2909, - 2915, - 2922, - 2934, - 2945, + 2888, + 2901, + 2908, + 2916, + 2929, + 2933, + 2939, + 2944, 2950, - 2959, - 2969, - 2974, - 2979, + 2955, + 2963, + 2970, + 2975, 2984, - 2989, - 2999, - 3002, - 3011, - 3023, + 2993, + 2998, + 3005, + 3009, + 3016, + 3027, 3033, - 3039, - 3047, - 3052, - 3057, - 3066, - 3074, - 3079, - 3085, - 3093, - 3103, + 3043, + 3054, + 3060, + 3067, + 3075, + 3082, + 3089, + 3096, + 3102, 3115, - 3127, + 3125, 3133, - 3140, - 3148, - 3157, - 3166, - 3172, - 3179, - 3184, - 3190, - 3197, - 3203, - 3212, - 3222, - 3228, + 3143, + 3149, + 3156, + 3168, + 3174, + 3181, + 3193, + 3204, + 3211, + 3216, + 3225, 3235, - 3243, - 3252, - 3260, + 3240, + 3245, + 3250, + 3255, + 3265, 3268, - 3276, - 3281, - 3287, - 3296, - 3301, - 3307, + 3277, + 3289, + 3299, + 3305, + 3313, 3318, - 3325, - 3330, - 3337, + 3323, + 3332, + 3340, 3345, - 3350, - 3358, - 3364, - 3368, - 3382, - 3392, - 3403, + 3351, + 3359, + 3369, + 3381, + 3395, + 3407, 3413, - 3423, + 3420, + 3428, 3437, 3446, 3452, - 3460, - 3473, - 3482, - 3487, - 3491, + 3459, + 3464, + 3470, + 3477, + 3483, + 3492, + 3502, + 3508, + 3515, + 3523, + 3532, + 3540, + 3548, + 3556, + 3561, + 3567, + 3576, + 3581, + 3587, + 3598, + 3605, + 3610, + 3617, + 3625, + 3630, + 3638, + 3644, + 3648, + 3662, + 3672, + 3683, + 3693, + 3703, + 3717, + 3726, + 3732, + 3740, + 3753, + 3762, + 3767, + 3771, }; -#define SCANKEYWORDS_NUM_KEYWORDS 460 +#define SCANKEYWORDS_NUM_KEYWORDS 491 static int ScanKeywords_hash_func(const void *key, size_t keylen) { - static const int16 h[921] = { - 207, -201, 0, 223, -255, 28, 32767, -86, - 32767, 0, -35, -938, 32767, 32767, -13, 32767, - 450, 62, 42, 327, 309, -13, 0, 114, - 32767, -230, 135, -12, 424, 191, -114, 32767, - 45, 440, 673, 0, 0, 224, 286, 32767, - 32767, 16, 5, 0, 32767, 32767, -349, 32767, - -43, 32767, 32767, 32767, 32767, 32767, 0, 32767, - 32767, 262, 573, -75, 32767, 32767, 1113, 88, - 111, 32767, 7, -41, 223, 32767, 478, 275, - 32767, 0, 245, 1004, 59, 32767, 322, 256, - -130, 32767, 0, 378, 606, 994, -59, 32767, - -219, 32767, 489, 32767, -328, 32767, 88, 32767, - -228, 0, 1181, -705, 32767, 32767, 149, 32767, - 32767, 177, 0, 0, 32767, 32767, 32767, 473, - 142, 167, 130, 345, 461, 50, 426, 32767, - 32767, -104, 333, 32767, 5, 32767, 32767, 115, - 0, 34, 32767, -178, 32767, 32767, 0, 32767, - 32767, 32767, 429, 573, 32767, 3, 32767, 0, - 237, 32767, 324, 379, 32767, 409, 32767, 32767, - 362, -707, 638, 32767, 32767, -18, 23, 127, - 32767, 32767, -55, 0, 254, 32767, 0, 32767, - -16, 389, 32767, -287, 0, -43, 32767, 0, - 32767, 157, 23, 438, 907, 0, 32767, -213, - 299, 32767, 0, 32767, 32767, 229, 32767, 32767, - 32767, 32767, 186, 32767, 81, 32767, -707, 525, - 732, 515, 32767, 32767, 0, 32767, 32767, 126, - 32767, 32767, 0, 443, 32767, 102, -148, 188, - 393, 32767, 383, 32767, 212, 247, 32767, 389, - 54, -258, 0, 6, -32, 32767, 261, -190, - 112, 32767, 32767, 32767, 0, 32767, 0, 32767, - 32767, 215, 32767, 196, 32767, 445, 32767, 32767, - -456, -66, 161, 32767, 617, -484, 230, 32767, - 1078, 77, 124, 32767, 32767, -44, 32767, -271, - 148, 20, 344, 83, 32767, 32767, 32767, 108, - -768, 269, 32767, 32767, -66, 0, 32767, 32767, - 524, 433, 32767, 32767, 0, 32767, -564, -138, - 0, 4, 463, 354, 32767, 57, 0, 32767, - 552, 351, 32767, 32767, 0, 32767, 32767, 32767, - 65, 32767, 32767, 285, 158, 32767, 32767, -931, - 281, 32767, 32767, 32767, 32767, -357, -115, 32767, - 294, 435, 2, 32767, 305, 32767, 35, 434, - 32767, 172, 0, 32767, 326, -597, 263, 2, - 32767, -111, -79, 32767, 32767, -717, 198, 32767, - -715, 407, 32767, 32767, 159, 214, -135, 379, - 672, 656, 278, 0, 32767, 32767, 32767, 1109, - 830, -173, 32767, 32767, 334, 32767, 32767, 32767, - 32767, -447, 270, 61, 281, 32767, 0, 116, - 32767, 99, -302, 32767, 32767, 0, 39, 32767, - -61, 276, -45, 144, -121, 32767, 0, 198, - 325, 72, 294, -174, -218, 73, -489, 32767, - -372, 32767, 32767, 360, 345, 283, -453, 32767, - 32767, 32767, 283, 806, 0, 32767, 32767, 32767, - -65, 0, 32767, 8, 32767, 150, 32767, -251, - 132, 0, 32767, 32767, 272, 32767, 15, -417, - 889, -77, 0, 0, 16, 32767, 32767, 32767, - 94, 32767, 32767, 32767, 32767, 219, 32767, -416, - 391, 31, 208, 396, 0, 143, -37, 32767, - 252, 0, 32767, 185, 32767, -140, 0, 32767, - 456, -258, 32767, 381, 32767, 393, 32767, 32767, - 32767, 32767, 1160, 32767, 32767, 384, 201, 197, - 32767, 0, 131, 469, 89, 32767, 397, 0, - 32767, 211, 32767, 102, 138, 32767, -379, 264, - 32767, 386, 6, 32767, 32767, 162, 53, -81, - -135, 59, 338, 230, 0, 0, 19, 8, - 32767, 785, 423, 0, 257, 301, 523, -398, - 421, 0, 32767, 0, 32767, 32767, 0, -758, - 0, 562, 32767, 0, 32767, 32767, -213, 32767, - 28, 32767, -696, 173, -413, 352, -223, 472, - 275, 316, 32767, -186, 323, 32767, -163, 221, - 246, 29, 222, -1042, 0, 33, 184, 32767, - 32767, 0, 32767, 32767, 805, 32767, 305, 8, - 226, 84, 32767, 379, 0, 32767, 134, 82, - 32767, 399, 32767, 0, 0, 617, 32767, 32767, - 31, 0, 256, 0, 32767, 103, 302, 32767, - 208, 32767, -56, 0, -146, 32767, 243, 32767, - 0, 32767, 32767, 32767, 32767, 784, 32767, 32767, - 0, 197, 32767, 32767, 914, 155, -50, 32767, - 32767, 32767, 292, 1122, 32767, 0, 32767, -167, - 32767, 139, 113, 113, 32767, 410, 32767, 459, - 331, 0, 295, 0, 0, 483, -345, 32767, - 32767, -456, 32767, 32767, 0, 32767, 304, 32767, - 138, 32767, 520, 326, 412, -237, 453, 32767, - 50, 328, 32767, 32767, 0, -116, 0, -754, - 0, -149, 32767, 32767, 28, -398, 0, 32767, - 32767, -89, 353, -64, 51, 139, 32767, 32767, - 66, 32767, 314, 209, 1218, 32767, 32767, 325, - 0, 268, 32767, 32767, 446, 32767, 0, 32767, - -115, 32767, 32767, 32767, 239, 344, 32767, 5, - 32767, 0, -314, 0, -327, 32767, 181, 32767, - 107, 393, 0, 32767, 12, 582, 119, 32767, - -751, 32767, -578, 0, 349, 0, 32767, 404, - 307, 85, 32767, 452, 53, -307, 0, 0, - 32767, 32767, 664, 32767, 32767, 32767, -44, 32767, - 0, 259, 366, 32767, 0, 0, 32767, -97, - -131, 0, 32767, 178, 32767, 779, -231, -73, - 0, 0, 145, 487, 223, 0, 0, 86, - 32767, 0, 32767, 192, 321, 32767, 32767, 32767, - -360, -140, 32767, 32767, 32767, 507, 32767, 247, - 416, 32767, 0, 32767, 68, 98, 32767, 0, - -268, 0, 32767, 204, 32767, 0, 739, 112, - -283, 1180, 193, 32767, 32767, 220, 0, 0, - 0, 0, 0, 32767, 0, 32767, 32767, 32767, - 32767, 206, -374, 0, 315, 32767, 0, 0, - -37, -363, 32767, 32767, 258, 32767, 459, 32767, - 128, -1018, 374, 32767, 0, 32767, 0, -602, - 32767, 346, 76, 363, 387, 296, -186, 32, - 21, 32767, 32767, 32767, 32767, 32767, 32767, 32767, - 0, 32767, 0, 165, 32767, 32767, 32767, 0, - 790, -10, 32767, 32767, 32767, 32767, 0, 32767, - 0, 228, 32767, -993, 32, -878, -154, 32767, - 72, 369, 411, 585, 32767, 32767, 124, 32767, - -253, -177, 294, 32767, 335, 0, 9, 0, - 32767, 442, 0, 0, 32767, 449, 448, 0, - 0, 32767, 0, 593, 0, 32767, 242, 432, - 0, 32767, 0, 32767, 32767, 1360, 0, 32767, - 238 + static const int16 h[983] = { + 283, 32767, 500, 226, 291, 32767, 32767, 32767, + 467, 152, 66, 291, -300, 32767, -427, -45, + 0, 219, 224, 189, 32767, 195, 0, -507, + 324, 32767, 300, 32767, 0, 32767, 161, 32767, + 32767, 32767, 32767, 131, 32767, 101, 32767, 391, + 32767, 32767, 32767, 0, 2, 32767, 128, 418, + -291, 32767, 32767, -631, 32767, 250, 219, -142, + 133, 334, 32767, 0, 170, 32767, 516, 32767, + 307, 288, 391, 32767, 216, 319, 0, 32767, + 152, 32767, 375, 444, 433, 32767, 242, 32767, + 4, -119, 481, -13, 32767, 32767, -94, 0, + 290, -113, 32767, 137, 122, 120, 32767, 32767, + 32767, 414, -397, -45, -267, -5, 605, 32767, + 453, 514, 32767, 400, 32767, 32767, 32767, 32767, + 361, 150, 32767, 107, 172, -32, 81, -232, + -15, 830, -46, 32767, 32767, 32767, 543, -341, + 0, 32767, 288, 488, 32767, 43, 410, -99, + 32767, 384, 32767, 32767, 315, 32767, -419, -458, + 0, -459, 0, 232, 32767, 32767, 333, -413, + 32767, 584, -76, 0, -6, 125, 32767, 421, + 32767, 32767, -88, 128, -1, 15, 55, 32767, + 214, 32767, 0, 0, 166, 348, -337, 32767, + 260, 319, 32767, 180, 158, 0, 32767, 0, + -226, 0, 129, 0, 378, 517, -293, 671, + 32767, 32767, 0, 167, 305, -61, -229, 97, + 164, 88, 380, 50, 32767, 71, -637, 106, + 32767, 79, 0, 415, 32767, 0, 32767, 317, + 379, 28, 431, 0, 32767, 32767, 301, 185, + 196, 37, 32767, 142, 200, 32767, -211, -223, + -392, 99, 32767, -366, 32767, 287, 32767, 0, + -309, 0, 32767, -963, 32767, 222, 432, 32767, + 32767, 0, 32767, 32767, 266, 56, 0, 32767, + 391, 606, 32767, 32767, 360, 0, 60, 32767, + 32767, 0, 32767, 0, 325, 32767, 333, 32767, + -54, 399, 0, 28, 237, -648, 32767, 108, + 438, 32767, 221, 390, 32767, 32767, 223, 687, + 452, 125, 32767, -913, 186, 0, 32767, 32767, + 32767, 32767, 0, 0, 32767, 32767, 32767, -27, + 1087, 464, -305, 427, 898, 32767, 0, 32767, + 0, 32767, 104, 32767, 32767, 260, 1065, 0, + 703, 32767, 0, 337, 350, 767, 32767, -330, + 379, 32767, 32767, 32767, 32767, 32767, 32767, 228, + 32767, 32767, 32767, 0, -87, -48, 32767, -541, + 415, 32767, 306, 32767, 32767, 32767, -117, 15, + 0, 0, 32767, 412, -645, 223, -558, 32767, + 32767, 32767, 32767, 32767, -254, 162, -372, 0, + 0, 32767, 353, 0, 199, 32767, 664, 32767, + 32767, 0, 32767, -148, 32767, -98, 32767, 449, + 0, 32767, 383, -495, -295, 208, 0, 32767, + 511, 17, 32767, 32767, 0, 387, 32767, 32767, + 32767, 0, 32767, 32767, 2, -2, -177, 32767, + 0, 32767, 150, 32767, -471, 32767, -282, 32767, + 240, 183, 357, 423, 32767, 435, 32767, 284, + 32767, 358, 298, 195, 72, 0, 421, 535, + 32767, 426, -206, 222, 32767, 0, 466, 36, + 426, 32767, 32767, 0, 32767, 0, 32767, 70, + 479, 32767, 514, 32767, 32767, 697, 436, 43, + 155, 32767, 32767, 0, 32767, -155, 32767, 11, + 649, -376, 32767, 0, -683, -330, 361, 0, + 57, 263, -43, 32767, 383, 0, 32767, 217, + 32767, 0, 478, 32767, 0, 32767, 463, 32767, + 501, 32767, 237, 301, 545, 302, 67, 311, + 1135, 152, 0, 342, 32767, 350, 418, 32767, + 0, 428, 0, 0, -353, 381, 790, 32767, + 32767, -259, 32767, 32767, 32767, 229, 417, 0, + 232, 32767, 0, 980, 32767, 0, 0, 275, + -314, 0, 0, 32767, 32767, 32767, 32767, 32767, + 0, 0, -89, 292, 1049, 32767, 32767, -284, + 18, 32767, 175, 0, 732, 111, 32767, 428, + -167, 92, -59, 199, 0, 793, 702, -231, + 32767, 32767, 32767, 32767, 187, 549, 32767, 32767, + 32767, 32767, 69, 480, 0, 490, 430, 32767, + 32767, 32767, 32767, -2, 32767, 240, 32767, 471, + 275, 32767, 524, 17, 0, 32767, 144, 0, + 310, 371, 328, 1016, -639, 32767, 51, 32767, + -982, 32767, 0, -727, 32767, 32767, -117, -115, + 249, 32767, 32767, -6, 32767, 183, -350, 32767, + 14, 32767, 32767, 118, -137, -321, 32767, 793, + 32767, 32767, 32767, 0, 32767, 77, 204, 71, + 32767, -228, -516, 32767, 790, 389, -1, 112, + 366, 245, 32767, 0, 32767, 0, -625, 154, + -211, 32767, 32767, 105, -253, 214, 0, 203, + 392, 0, 32767, 32767, 62, 102, 32767, 32767, + 29, 0, 0, 306, 32767, 32767, -29, 194, + 0, -120, 32767, 32767, 32767, 376, 32767, 27, + 32767, 356, 32767, 0, 32767, 75, 174, 32767, + 32767, 32767, -37, 32767, 255, 124, 845, 32767, + 0, 32767, 64, 32767, -472, -648, 32767, 584, + 0, 32767, 19, 201, 32767, 0, 32767, 32767, + -414, -171, -621, 32767, -134, 0, 515, 0, + 767, 32767, 32767, 414, 32767, -88, -236, 32767, + -52, 298, -254, 32767, 39, 0, 65, 118, + 32767, 182, 32767, 134, 0, 32767, 32767, 400, + 0, 32767, 32767, 705, 0, 32767, 32767, 269, + 32767, 32767, 296, 290, 32767, 0, 0, 32767, + 61, 32767, 299, 32767, -227, 240, 32767, 0, + 32767, 32767, 32767, 129, 32767, 0, 252, 32767, + 0, -487, 32767, 0, -127, 32767, 32767, 132, + 18, 0, 32767, 32767, -154, 0, 946, 401, + 264, 378, 0, 326, 32767, 0, 465, 233, + 87, 32767, 47, 0, -357, 32767, 32767, 0, + 0, -245, 835, 887, 32767, 32767, 32767, 32767, + 32767, 334, 0, -56, 32767, -196, 0, 32767, + 32767, 32767, 154, 32767, 20, -175, 63, 537, + 32767, 358, 32767, 121, 32767, 32767, 754, 0, + 32767, 0, -113, 0, 0, 207, 0, -256, + 32767, 241, 32767, 257, 32767, 194, -595, 23, + 19, 268, 666, 231, 0, 211, 32767, 32767, + 32767, 32767, 0, 115, 136, 0, 32767, 32767, + 404, -252, -432, 0, 0, 341, 32767, 410, + 32767, -125, 9, 32767, 482, 727, 0, 32767, + 252, 0, 32767, 32767, 147, 124, 270, 10, + -124, 47, 0, 300, 445, -246, 32767, 111, + 32767, 32767, 32767, -356, 103, 81, 32767, 32767, + 32767, 32767, 280, 306, 0, 32767, 695, 32767, + -768, 32767, 32767, 0, 32767, 0, 32767, 145, + 44, 32767, 32767, 32767, 432, 136, 32767, 0, + -903, 251, 32767, -222, 370, 405, 99, 17, + 32767, 564, 32767, 32767, 32767, 0, 32767, 32767, + 32767, 141, 0, 0, 32767, 32767, 32767, 344, + 0, 464, 0, 0, 32767, 32767, 32767, 0, + 463, 32767, 32767, 329, 32767, 32767, 422, 32767, + 220, 32767, 347, 32767, -17, 253, 18 }; const unsigned char *k = (const unsigned char *) key; @@ -1088,9 +1157,9 @@ ScanKeywords_hash_func(const void *key, size_t keylen) unsigned char c = *k++ | 0x20; a = a * 257 + c; - b = b * 127 + c; + b = b * 31 + c; } - return h[a % 921] + h[b % 921]; + return h[a % 983] + h[b % 983]; } const ScanKeywordList ScanKeywords = { diff --git a/parser/src_common_kwlookup.c b/parser/src_common_kwlookup.c index 9fcad3ad..dd5cca32 100644 --- a/parser/src_common_kwlookup.c +++ b/parser/src_common_kwlookup.c @@ -10,7 +10,7 @@ * Key word lookup for PostgreSQL * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_common_pg_prng.c b/parser/src_common_pg_prng.c deleted file mode 100644 index 318f5310..00000000 --- a/parser/src_common_pg_prng.c +++ /dev/null @@ -1,152 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - pg_prng_double - * - xoroshiro128ss - * - rotl - * - pg_global_prng_state - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * Pseudo-Random Number Generator - * - * We use Blackman and Vigna's xoroshiro128** 1.0 algorithm - * to have a small, fast PRNG suitable for generating reasonably - * good-quality 64-bit data. This should not be considered - * cryptographically strong, however. - * - * About these generators: https://prng.di.unimi.it/ - * See also https://en.wikipedia.org/wiki/List_of_random_number_generators - * - * Copyright (c) 2021-2022, PostgreSQL Global Development Group - * - * src/common/pg_prng.c - * - *------------------------------------------------------------------------- - */ - -#include "c.h" - -#include /* for ldexp() */ - -#include "common/pg_prng.h" -#include "port/pg_bitutils.h" - -/* process-wide state vector */ -__thread pg_prng_state pg_global_prng_state; - - - -/* - * 64-bit rotate left - */ -static inline uint64 -rotl(uint64 x, int bits) -{ - return (x << bits) | (x >> (64 - bits)); -} - -/* - * The basic xoroshiro128** algorithm. - * Generates and returns a 64-bit uniformly distributed number, - * updating the state vector for next time. - * - * Note: the state vector must not be all-zeroes, as that is a fixed point. - */ -static uint64 -xoroshiro128ss(pg_prng_state *state) -{ - uint64 s0 = state->s0, - sx = state->s1 ^ s0, - val = rotl(s0 * 5, 7) * 9; - - /* update state */ - state->s0 = rotl(s0, 24) ^ sx ^ (sx << 16); - state->s1 = rotl(sx, 37); - - return val; -} - -/* - * We use this generator just to fill the xoroshiro128** state vector - * from a 64-bit seed. - */ - - -/* - * Initialize the PRNG state from a 64-bit integer, - * taking care that we don't produce all-zeroes. - */ - - -/* - * Initialize the PRNG state from a double in the range [-1.0, 1.0], - * taking care that we don't produce all-zeroes. - */ - - -/* - * Validate a PRNG seed value. - */ - - -/* - * Select a random uint64 uniformly from the range [0, PG_UINT64_MAX]. - */ - - -/* - * Select a random uint64 uniformly from the range [rmin, rmax]. - * If the range is empty, rmin is always produced. - */ - - -/* - * Select a random int64 uniformly from the range [PG_INT64_MIN, PG_INT64_MAX]. - */ - - -/* - * Select a random int64 uniformly from the range [0, PG_INT64_MAX]. - */ - - -/* - * Select a random uint32 uniformly from the range [0, PG_UINT32_MAX]. - */ - - -/* - * Select a random int32 uniformly from the range [PG_INT32_MIN, PG_INT32_MAX]. - */ - - -/* - * Select a random int32 uniformly from the range [0, PG_INT32_MAX]. - */ - - -/* - * Select a random double uniformly from the range [0.0, 1.0). - * - * Note: if you want a result in the range (0.0, 1.0], the standard way - * to get that is "1.0 - pg_prng_double(state)". - */ -double -pg_prng_double(pg_prng_state *state) -{ - uint64 v = xoroshiro128ss(state); - - /* - * As above, assume there's 52 mantissa bits in a double. This result - * could round to 1.0 if double's precision is less than that; but we - * assume IEEE float arithmetic elsewhere in Postgres, so this seems OK. - */ - return ldexp((double) (v >> (64 - 52)), -52); -} - -/* - * Select a random boolean value. - */ - diff --git a/parser/src_common_psprintf.c b/parser/src_common_psprintf.c index 4425ac72..1d5e1ea0 100644 --- a/parser/src_common_psprintf.c +++ b/parser/src_common_psprintf.c @@ -11,7 +11,7 @@ * sprintf into an allocated-on-demand buffer * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -122,8 +122,8 @@ pvsnprintf(char *buf, size_t len, const char *fmt, va_list args) #ifndef FRONTEND elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt); #else - fprintf(stderr, "vsnprintf failed: %s with format string \"%s\"\n", - strerror(errno), fmt); + fprintf(stderr, "vsnprintf failed: %m with format string \"%s\"\n", + fmt); exit(EXIT_FAILURE); #endif } diff --git a/parser/src_common_string.c b/parser/src_common_string.c deleted file mode 100644 index 7af813c0..00000000 --- a/parser/src_common_string.c +++ /dev/null @@ -1,92 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - strtoint - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * string.c - * string handling helpers - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/common/string.c - * - *------------------------------------------------------------------------- - */ - - -#ifndef FRONTEND -#include "postgres.h" -#else -#include "postgres_fe.h" -#endif - -#include "common/string.h" - - -/* - * Returns whether the string `str' has the postfix `end'. - */ - - - -/* - * strtoint --- just like strtol, but returns int not long - */ -int -strtoint(const char *pg_restrict str, char **pg_restrict endptr, int base) -{ - long val; - - val = strtol(str, endptr, base); - if (val != (int) val) - errno = ERANGE; - return (int) val; -} - - -/* - * pg_clean_ascii -- Replace any non-ASCII chars with a '?' char - * - * Modifies the string passed in which must be '\0'-terminated. - * - * This function exists specifically to deal with filtering out - * non-ASCII characters in a few places where the client can provide an almost - * arbitrary string (and it isn't checked to ensure it's a valid username or - * database name or similar) and we don't want to have control characters or other - * things ending up in the log file where server admins might end up with a - * messed up terminal when looking at them. - * - * In general, this function should NOT be used- instead, consider how to handle - * the string without needing to filter out the non-ASCII characters. - * - * Ultimately, we'd like to improve the situation to not require stripping out - * all non-ASCII but perform more intelligent filtering which would allow UTF or - * similar, but it's unclear exactly what we should allow, so stick to ASCII only - * for now. - */ - - - -/* - * pg_is_ascii -- Check if string is made only of ASCII characters - */ - - - -/* - * pg_strip_crlf -- Remove any trailing newline and carriage return - * - * Removes any trailing newline and carriage return characters (\r on - * Windows) in the input string, zero-terminating it. - * - * The passed in string must be zero-terminated. This function returns - * the new length of the string. - */ - diff --git a/parser/src_common_stringinfo.c b/parser/src_common_stringinfo.c index 3d9f85eb..fffc2022 100644 --- a/parser/src_common_stringinfo.c +++ b/parser/src_common_stringinfo.c @@ -9,6 +9,8 @@ * - enlargeStringInfo * - appendStringInfo * - appendStringInfoSpaces + * - makeStringInfo + * - destroyStringInfo *-------------------------------------------------------------------- */ @@ -21,7 +23,7 @@ * (null-terminated text) or arbitrary binary data. All storage is allocated * with palloc() (falling back to malloc in frontend code). * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * src/common/stringinfo.c @@ -51,7 +53,17 @@ * * Create an empty 'StringInfoData' & return a pointer to it. */ +StringInfo +makeStringInfo(void) +{ + StringInfo res; + + res = (StringInfo) palloc(sizeof(StringInfoData)); + initStringInfo(res); + + return res; +} /* * initStringInfo @@ -74,10 +86,16 @@ initStringInfo(StringInfo str) * * Reset the StringInfo: the data buffer remains valid, but its * previous content, if any, is cleared. + * + * Read-only StringInfos as initialized by initReadOnlyStringInfo cannot be + * reset. */ void resetStringInfo(StringInfo str) { + /* don't allow resets of read-only StringInfos */ + Assert(str->maxlen != 0); + str->data[0] = '\0'; str->len = 0; str->cursor = 0; @@ -215,8 +233,8 @@ appendStringInfoSpaces(StringInfo str, int count) enlargeStringInfo(str, count); /* OK, append the spaces */ - while (--count >= 0) - str->data[str->len++] = ' '; + memset(&str->data[str->len], ' ', count); + str->len += count; str->data[str->len] = '\0'; } } @@ -228,7 +246,7 @@ appendStringInfoSpaces(StringInfo str, int count) * if necessary. Ensures that a trailing null byte is present. */ void -appendBinaryStringInfo(StringInfo str, const char *data, int datalen) +appendBinaryStringInfo(StringInfo str, const void *data, int datalen) { Assert(str != NULL); @@ -277,6 +295,9 @@ enlargeStringInfo(StringInfo str, int needed) { int newlen; + /* validate this is not a read-only StringInfo */ + Assert(str->maxlen != 0); + /* * Guard against out-of-range "needed" values. Without this, we can get * an overflow or infinite loop in the following. @@ -334,3 +355,19 @@ enlargeStringInfo(StringInfo str, int needed) str->maxlen = newlen; } + +/* + * destroyStringInfo + * + * Frees a StringInfo and its buffer (opposite of makeStringInfo()). + * This must only be called on palloc'd StringInfos. + */ +void +destroyStringInfo(StringInfo str) +{ + /* don't allow destroys of read-only StringInfos */ + Assert(str->maxlen != 0); + + pfree(str->data); + pfree(str); +} diff --git a/parser/src_common_wchar.c b/parser/src_common_wchar.c index 14a832e2..6e31b761 100644 --- a/parser/src_common_wchar.c +++ b/parser/src_common_wchar.c @@ -2,7 +2,7 @@ * Symbols referenced in this file: * - pg_encoding_max_length * - pg_wchar_table - * - pg_utf_mblen + * - pg_utf_mblen_private * - pg_mule_mblen * - pg_ascii2wchar_with_len * - pg_wchar2single_with_len @@ -34,9 +34,7 @@ * - pg_euctw_verifystr * - pg_utf2wchar_with_len * - pg_wchar2utf_with_len - * - unicode_to_utf8 * - pg_utf_dsplen - * - utf8_to_unicode * - ucs_wcwidth * - mbbisearch * - pg_utf8_verifychar @@ -78,6 +76,7 @@ * - pg_johab_dsplen * - pg_johab_verifychar * - pg_johab_verifystr + * - pg_encoding_mblen_or_incomplete * - pg_encoding_mblen *-------------------------------------------------------------------- */ @@ -87,7 +86,7 @@ * wchar.c * Functions for working with multibyte characters in various encodings. * - * Portions Copyright (c) 1998-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1998-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/common/wchar.c @@ -96,7 +95,29 @@ */ #include "c.h" +#include + #include "mb/pg_wchar.h" +#include "utils/ascii.h" + + +/* + * In today's multibyte encodings other than UTF8, this two-byte sequence + * ensures pg_encoding_mblen() == 2 && pg_encoding_verifymbstr() == 0. + * + * For historical reasons, several verifychar implementations opt to reject + * this pair specifically. Byte pair range constraints, in encoding + * originator documentation, always excluded this pair. No core conversion + * could translate it. However, longstanding verifychar implementations + * accepted any non-NUL byte. big5_to_euc_tw and big5_to_mic even translate + * pairs not valid per encoding originator documentation. To avoid tightening + * core or non-core conversions in a security patch, we sought this one pair. + * + * PQescapeString() historically used spaces for BYTE1; many other values + * could suffice for BYTE1. + */ +#define NONUTF8_INVALID_BYTE0 (0x8d) +#define NONUTF8_INVALID_BYTE1 (' ') /* @@ -559,39 +580,6 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar *to, int len) } -/* - * Map a Unicode code point to UTF-8. utf8string must have 4 bytes of - * space allocated. - */ -unsigned char * -unicode_to_utf8(pg_wchar c, unsigned char *utf8string) -{ - if (c <= 0x7F) - { - utf8string[0] = c; - } - else if (c <= 0x7FF) - { - utf8string[0] = 0xC0 | ((c >> 6) & 0x1F); - utf8string[1] = 0x80 | (c & 0x3F); - } - else if (c <= 0xFFFF) - { - utf8string[0] = 0xE0 | ((c >> 12) & 0x0F); - utf8string[1] = 0x80 | ((c >> 6) & 0x3F); - utf8string[2] = 0x80 | (c & 0x3F); - } - else - { - utf8string[0] = 0xF0 | ((c >> 18) & 0x07); - utf8string[1] = 0x80 | ((c >> 12) & 0x3F); - utf8string[2] = 0x80 | ((c >> 6) & 0x3F); - utf8string[3] = 0x80 | (c & 0x3F); - } - - return utf8string; -} - /* * Trivial conversion from pg_wchar to UTF-8. * caller should allocate enough space for "to" @@ -704,7 +692,7 @@ mbbisearch(pg_wchar ucs, const struct mbinterval *table, int max) * value of -1. * * - Non-spacing and enclosing combining characters (general - * category code Mn or Me in the Unicode database) have a + * category code Mn, Me or Cf in the Unicode database) have a * column width of 0. * * - Spacing characters in the East Asian Wide (W) or East Asian @@ -722,7 +710,7 @@ mbbisearch(pg_wchar ucs, const struct mbinterval *table, int max) static int ucs_wcwidth(pg_wchar ucs) { -#include "common/unicode_combining_table.h" +#include "common/unicode_nonspacing_table.h" #include "common/unicode_east_asian_fw_table.h" /* test for 8-bit control characters */ @@ -741,8 +729,8 @@ ucs_wcwidth(pg_wchar ucs) * factor for display width leads to the correct behavior, so do that * search first. */ - if (mbbisearch(ucs, combining, - sizeof(combining) / sizeof(struct mbinterval) - 1)) + if (mbbisearch(ucs, nonspacing, + sizeof(nonspacing) / sizeof(struct mbinterval) - 1)) return 0; /* binary search in table of wide characters */ @@ -753,34 +741,6 @@ ucs_wcwidth(pg_wchar ucs) return 1; } -/* - * Convert a UTF-8 character to a Unicode code point. - * This is a one-character version of pg_utf2wchar_with_len. - * - * No error checks here, c must point to a long-enough string. - */ -pg_wchar -utf8_to_unicode(const unsigned char *c) -{ - if ((*c & 0x80) == 0) - return (pg_wchar) c[0]; - else if ((*c & 0xe0) == 0xc0) - return (pg_wchar) (((c[0] & 0x1f) << 6) | - (c[1] & 0x3f)); - else if ((*c & 0xf0) == 0xe0) - return (pg_wchar) (((c[0] & 0x0f) << 12) | - ((c[1] & 0x3f) << 6) | - (c[2] & 0x3f)); - else if ((*c & 0xf8) == 0xf0) - return (pg_wchar) (((c[0] & 0x07) << 18) | - ((c[1] & 0x3f) << 12) | - ((c[2] & 0x3f) << 6) | - (c[3] & 0x3f)); - else - /* that is an invalid code on purpose */ - return 0xffffffff; -} - static int pg_utf_dsplen(const unsigned char *s) { @@ -1609,6 +1569,11 @@ pg_big5_verifychar(const unsigned char *s, int len) if (len < l) return -1; + if (l == 2 && + s[0] == NONUTF8_INVALID_BYTE0 && + s[1] == NONUTF8_INVALID_BYTE1) + return -1; + while (--l > 0) { if (*++s == '\0') @@ -1658,6 +1623,11 @@ pg_gbk_verifychar(const unsigned char *s, int len) if (len < l) return -1; + if (l == 2 && + s[0] == NONUTF8_INVALID_BYTE0 && + s[1] == NONUTF8_INVALID_BYTE1) + return -1; + while (--l > 0) { if (*++s == '\0') @@ -1707,6 +1677,11 @@ pg_uhc_verifychar(const unsigned char *s, int len) if (len < l) return -1; + if (l == 2 && + s[0] == NONUTF8_INVALID_BYTE0 && + s[1] == NONUTF8_INVALID_BYTE1) + return -1; + while (--l > 0) { if (*++s == '\0') @@ -2003,10 +1978,11 @@ pg_utf8_verifystr(const unsigned char *s, int len) uint32 state = BGN; /* - * Sixteen seems to give the best balance of performance across different - * byte distributions. + * With a stride of two vector widths, gcc will unroll the loop. Even if + * the compiler can unroll a longer loop, it's not worth it because we + * must fall back to the byte-wise algorithm if we find any non-ASCII. */ -#define STRIDE_LENGTH 16 +#define STRIDE_LENGTH (2 * sizeof(Vector8)) if (len >= STRIDE_LENGTH) { @@ -2150,64 +2126,86 @@ pg_utf8_islegal(const unsigned char *source, int length) } +/* + * Fills the provided buffer with two bytes such that: + * pg_encoding_mblen(dst) == 2 && pg_encoding_verifymbstr(dst) == 0 + */ + + /* *------------------------------------------------------------------- * encoding info table - * XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h) *------------------------------------------------------------------- */ const pg_wchar_tbl pg_wchar_table[] = { - {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, /* PG_SQL_ASCII */ - {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JP */ - {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, /* PG_EUC_CN */ - {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, /* PG_EUC_KR */ - {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, /* PG_EUC_TW */ - {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JIS_2004 */ - {pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4}, /* PG_UTF8 */ - {pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4}, /* PG_MULE_INTERNAL */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN1 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN2 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN3 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN4 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN5 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN6 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN7 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN8 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN9 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN10 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1256 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1258 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN866 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN874 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8R */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1251 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1252 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-5 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-6 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-7 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-8 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1250 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1253 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1254 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1255 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1257 */ - {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8U */ - {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, /* PG_SJIS */ - {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2}, /* PG_BIG5 */ - {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2}, /* PG_GBK */ - {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2}, /* PG_UHC */ - {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4}, /* PG_GB18030 */ - {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3}, /* PG_JOHAB */ - {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2} /* PG_SHIFT_JIS_2004 */ + [PG_SQL_ASCII] = {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, + [PG_EUC_JP] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, + [PG_EUC_CN] = {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, + [PG_EUC_KR] = {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, + [PG_EUC_TW] = {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, + [PG_EUC_JIS_2004] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, + [PG_UTF8] = {pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4}, + [PG_MULE_INTERNAL] = {pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4}, + [PG_LATIN1] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN2] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN3] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN4] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN9] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_LATIN10] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1256] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1258] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN866] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN874] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_KOI8R] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1251] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1252] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_ISO_8859_8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1250] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1253] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1254] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1255] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_WIN1257] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_KOI8U] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, + [PG_SJIS] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, + [PG_BIG5] = {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2}, + [PG_GBK] = {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2}, + [PG_UHC] = {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2}, + [PG_GB18030] = {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4}, + [PG_JOHAB] = {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3}, + [PG_SHIFT_JIS_2004] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, }; /* * Returns the byte length of a multibyte character. * - * Caution: when dealing with text that is not certainly valid in the - * specified encoding, the result may exceed the actual remaining - * string length. Callers that are not prepared to deal with that - * should use pg_encoding_mblen_bounded() instead. + * Choose "mblen" functions based on the input string characteristics. + * pg_encoding_mblen() can be used when ANY of these conditions are met: + * + * - The input string is zero-terminated + * + * - The input string is known to be valid in the encoding (e.g., string + * converted from database encoding) + * + * - The encoding is not GB18030 (e.g., when only database encodings are + * passed to 'encoding' parameter) + * + * encoding==GB18030 requires examining up to two bytes to determine character + * length. Therefore, callers satisfying none of those conditions must use + * pg_encoding_mblen_or_incomplete() instead, as access to mbstr[1] cannot be + * guaranteed to be within allocation bounds. + * + * When dealing with text that is not certainly valid in the specified + * encoding, the result may exceed the actual remaining string length. + * Callers that are not prepared to deal with that should use Min(remaining, + * pg_encoding_mblen_or_incomplete()). For zero-terminated strings, that and + * pg_encoding_mblen_bounded() are interchangeable. */ int pg_encoding_mblen(int encoding, const char *mbstr) @@ -2218,8 +2216,28 @@ pg_encoding_mblen(int encoding, const char *mbstr) } /* - * Returns the byte length of a multibyte character; but not more than - * the distance to end of string. + * Returns the byte length of a multibyte character (possibly not + * zero-terminated), or INT_MAX if too few bytes remain to determine a length. + */ +int +pg_encoding_mblen_or_incomplete(int encoding, const char *mbstr, + size_t remaining) +{ + /* + * Define zero remaining as too few, even for single-byte encodings. + * pg_gb18030_mblen() reads one or two bytes; single-byte encodings read + * zero; others read one. + */ + if (remaining < 1 || + (encoding == PG_GB18030 && IS_HIGHBIT_SET(*mbstr) && remaining < 2)) + return INT_MAX; + return pg_encoding_mblen(encoding, mbstr); +} + +/* + * Returns the byte length of a multibyte character; but not more than the + * distance to the terminating zero byte. For input that might lack a + * terminating zero, use Min(remaining, pg_encoding_mblen_or_incomplete()). */ @@ -2250,5 +2268,11 @@ pg_encoding_max_length(int encoding) { Assert(PG_VALID_ENCODING(encoding)); - return pg_wchar_table[encoding].maxmblen; + /* + * Check for the encoding despite the assert, due to some mingw versions + * otherwise issuing bogus warnings. + */ + return PG_VALID_ENCODING(encoding) ? + pg_wchar_table[encoding].maxmblen : + pg_wchar_table[PG_SQL_ASCII].maxmblen; } diff --git a/parser/src_pl_plpgsql_src_pl_comp.c b/parser/src_pl_plpgsql_src_pl_comp.c index 51cadcc2..9749e206 100644 --- a/parser/src_pl_plpgsql_src_pl_comp.c +++ b/parser/src_pl_plpgsql_src_pl_comp.c @@ -27,6 +27,7 @@ * - plpgsql_parse_wordrowtype * - plpgsql_parse_cwordtype * - plpgsql_parse_cwordrowtype + * - plpgsql_build_datatype_arrayof * - plpgsql_parse_result * - plpgsql_finish_datums * - plpgsql_compile_error_callback @@ -39,7 +40,7 @@ * pl_comp.c - Compiler part of the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -693,10 +694,10 @@ plpgsql_parse_tripword(char *word1, char *word2, char *word3, /* ---------- - * plpgsql_parse_wordtype The scanner found word%TYPE. word can be - * a variable name or a basetype. + * plpgsql_parse_wordtype The scanner found word%TYPE. word should be + * a pre-existing variable name. * - * Returns datatype struct, or NULL if no match found for word. + * Returns datatype struct. Throws error if no match found for word. * ---------- */ PLpgSQL_type * plpgsql_parse_wordtype(char *ident) { return NULL; } @@ -705,6 +706,10 @@ PLpgSQL_type * plpgsql_parse_wordtype(char *ident) { return NULL; } /* ---------- * plpgsql_parse_cwordtype Same lookup for compositeword%TYPE + * + * Here, we allow either a block-qualified variable name, or a reference + * to a column of some table. (If we must throw error, we assume that the + * latter case was intended.) * ---------- */ PLpgSQL_type * plpgsql_parse_cwordtype(List *idents) { return NULL; } @@ -879,7 +884,53 @@ plpgsql_build_recfield(PLpgSQL_rec *rec, const char *fldname) * It can be NULL if the type could not be a composite type, or if it was * identified by OID to begin with (e.g., it's a function argument type). */ -PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname) { PLpgSQL_type *typ; typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); typ->typname = pstrdup("UNKNOWN"); typ->ttype = PLPGSQL_TTYPE_SCALAR; return typ; } + +PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, TypeName *origtypname) +{ + PLpgSQL_type *typ; + char *ident = NULL, *ns = NULL; + typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + + typ->ttype = PLPGSQL_TTYPE_SCALAR; + typ->atttypmod = typmod; + typ->collation = collation; + + if (origtypname) { + typ->typoid = origtypname->typeOid; + + if (list_length(origtypname->names) == 1) { + ident = linitial_node(String, origtypname->names)->sval; + } else if (list_length(origtypname->names) == 2) { + ns = linitial_node(String, origtypname->names)->sval; + ident = lsecond_node(String, origtypname->names)->sval; + if (strcmp(ns, "pg_catalog") != 0) + typ->ttype = PLPGSQL_TTYPE_REC; + } + } else { + typ->typoid = typeOid; + ns = "pg_catalog"; + switch(typeOid) + { + case BOOLOID: + ident = "boolean"; + break; + case INT4OID: + ident = "integer"; + break; + case TEXTOID: + ident = "text"; + break; + case REFCURSOROID: + ident = "refcursor"; + break; + } + } + if (ident) { + typ->typname = quote_qualified_identifier(ns, ident); + } + return typ; +} + /* @@ -888,6 +939,49 @@ PLpgSQL_type * plpgsql_build_datatype(Oid typeOid, int32 typmod, Oid collation, */ +/* + * Build an array type for the element type specified as argument. + */ + +PLpgSQL_type * plpgsql_build_datatype_arrayof(PLpgSQL_type *dtype) +{ + if (dtype->typisarray) + return dtype; + + PLpgSQL_type *array_type; + array_type = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + + array_type->ttype = PLPGSQL_TTYPE_REC; + array_type->atttypmod = dtype->atttypmod; + array_type->collation = dtype->collation; + + array_type->typisarray = true; + + switch(dtype->typoid) + { + case BOOLOID: + array_type->typoid = BOOLARRAYOID; + array_type->typname = pstrdup("boolean[]"); + break; + case INT4OID: + array_type->typoid = INT4ARRAYOID; + array_type->typname = pstrdup("integer[]"); + break; + case TEXTOID: + array_type->typoid = TEXTARRAYOID; + array_type->typname = pstrdup("text[]"); + break; + default: + array_type->typname = pstrdup("UNKNOWN"); + break; + } + array_type->typoid = dtype->typoid; + + return array_type; +} + + + /* * plpgsql_recognize_err_condition * Check condition name and translate it to SQLSTATE. diff --git a/parser/src_pl_plpgsql_src_pl_funcs.c b/parser/src_pl_plpgsql_src_pl_funcs.c index 41d19162..8e46ee2f 100644 --- a/parser/src_pl_plpgsql_src_pl_funcs.c +++ b/parser/src_pl_plpgsql_src_pl_funcs.c @@ -49,7 +49,7 @@ * pl_funcs.c - Misc functions for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -287,6 +287,8 @@ plpgsql_getdiag_kindname(PLpgSQL_getdiag_kind kind) { case PLPGSQL_GETDIAG_ROW_COUNT: return "ROW_COUNT"; + case PLPGSQL_GETDIAG_ROUTINE_OID: + return "PG_ROUTINE_OID"; case PLPGSQL_GETDIAG_CONTEXT: return "PG_CONTEXT"; case PLPGSQL_GETDIAG_ERROR_CONTEXT: diff --git a/parser/src_pl_plpgsql_src_pl_gram.c b/parser/src_pl_plpgsql_src_pl_gram.c index b0c1917e..795215f2 100644 --- a/parser/src_pl_plpgsql_src_pl_gram.c +++ b/parser/src_pl_plpgsql_src_pl_gram.c @@ -222,36 +222,37 @@ K_PG_EXCEPTION_CONTEXT = 354, K_PG_EXCEPTION_DETAIL = 355, K_PG_EXCEPTION_HINT = 356, - K_PRINT_STRICT_PARAMS = 357, - K_PRIOR = 358, - K_QUERY = 359, - K_RAISE = 360, - K_RELATIVE = 361, - K_RETURN = 362, - K_RETURNED_SQLSTATE = 363, - K_REVERSE = 364, - K_ROLLBACK = 365, - K_ROW_COUNT = 366, - K_ROWTYPE = 367, - K_SCHEMA = 368, - K_SCHEMA_NAME = 369, - K_SCROLL = 370, - K_SLICE = 371, - K_SQLSTATE = 372, - K_STACKED = 373, - K_STRICT = 374, - K_TABLE = 375, - K_TABLE_NAME = 376, - K_THEN = 377, - K_TO = 378, - K_TYPE = 379, - K_USE_COLUMN = 380, - K_USE_VARIABLE = 381, - K_USING = 382, - K_VARIABLE_CONFLICT = 383, - K_WARNING = 384, - K_WHEN = 385, - K_WHILE = 386 + K_PG_ROUTINE_OID = 357, + K_PRINT_STRICT_PARAMS = 358, + K_PRIOR = 359, + K_QUERY = 360, + K_RAISE = 361, + K_RELATIVE = 362, + K_RETURN = 363, + K_RETURNED_SQLSTATE = 364, + K_REVERSE = 365, + K_ROLLBACK = 366, + K_ROW_COUNT = 367, + K_ROWTYPE = 368, + K_SCHEMA = 369, + K_SCHEMA_NAME = 370, + K_SCROLL = 371, + K_SLICE = 372, + K_SQLSTATE = 373, + K_STACKED = 374, + K_STRICT = 375, + K_TABLE = 376, + K_TABLE_NAME = 377, + K_THEN = 378, + K_TO = 379, + K_TYPE = 380, + K_USE_COLUMN = 381, + K_USE_VARIABLE = 382, + K_USING = 383, + K_VARIABLE_CONFLICT = 384, + K_WARNING = 385, + K_WHEN = 386, + K_WHILE = 387 }; #endif /* Tokens. */ @@ -354,36 +355,37 @@ #define K_PG_EXCEPTION_CONTEXT 354 #define K_PG_EXCEPTION_DETAIL 355 #define K_PG_EXCEPTION_HINT 356 -#define K_PRINT_STRICT_PARAMS 357 -#define K_PRIOR 358 -#define K_QUERY 359 -#define K_RAISE 360 -#define K_RELATIVE 361 -#define K_RETURN 362 -#define K_RETURNED_SQLSTATE 363 -#define K_REVERSE 364 -#define K_ROLLBACK 365 -#define K_ROW_COUNT 366 -#define K_ROWTYPE 367 -#define K_SCHEMA 368 -#define K_SCHEMA_NAME 369 -#define K_SCROLL 370 -#define K_SLICE 371 -#define K_SQLSTATE 372 -#define K_STACKED 373 -#define K_STRICT 374 -#define K_TABLE 375 -#define K_TABLE_NAME 376 -#define K_THEN 377 -#define K_TO 378 -#define K_TYPE 379 -#define K_USE_COLUMN 380 -#define K_USE_VARIABLE 381 -#define K_USING 382 -#define K_VARIABLE_CONFLICT 383 -#define K_WARNING 384 -#define K_WHEN 385 -#define K_WHILE 386 +#define K_PG_ROUTINE_OID 357 +#define K_PRINT_STRICT_PARAMS 358 +#define K_PRIOR 359 +#define K_QUERY 360 +#define K_RAISE 361 +#define K_RELATIVE 362 +#define K_RETURN 363 +#define K_RETURNED_SQLSTATE 364 +#define K_REVERSE 365 +#define K_ROLLBACK 366 +#define K_ROW_COUNT 367 +#define K_ROWTYPE 368 +#define K_SCHEMA 369 +#define K_SCHEMA_NAME 370 +#define K_SCROLL 371 +#define K_SLICE 372 +#define K_SQLSTATE 373 +#define K_STACKED 374 +#define K_STRICT 375 +#define K_TABLE 376 +#define K_TABLE_NAME 377 +#define K_THEN 378 +#define K_TO 379 +#define K_TYPE 380 +#define K_USE_COLUMN 381 +#define K_USE_VARIABLE 382 +#define K_USING 383 +#define K_VARIABLE_CONFLICT 384 +#define K_WARNING 385 +#define K_WHEN 386 +#define K_WHILE 387 @@ -395,7 +397,7 @@ * * pl_gram.y - Parser for the PL/pgSQL procedural language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -431,10 +433,7 @@ /* * Bison doesn't allocate anything that needs to live across parser calls, * so we can easily have it use palloc instead of malloc. This prevents - * memory leaks if we error out during parsing. Note this only works with - * bison >= 2.0. However, in bison 1.875 the default is to use alloca() - * if possible, so there's not really much problem anyhow, at least if - * you're building with gcc. + * memory leaks if we error out during parsing. */ #define YYMALLOC palloc #define YYFREE pfree @@ -461,7 +460,6 @@ static PLpgSQL_expr *read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken); static PLpgSQL_expr *read_sql_expression(int until, @@ -471,7 +469,8 @@ static PLpgSQL_expr *read_sql_expression2(int until, int until2, int *endtoken); static PLpgSQL_expr *read_sql_stmt(void); static PLpgSQL_type *read_datatype(int tok); -static PLpgSQL_stmt *make_execsql_stmt(int firsttoken, int location); +static PLpgSQL_stmt *make_execsql_stmt(int firsttoken, int location, + PLword *word); static PLpgSQL_stmt_fetch *read_fetch_direction(void); static void complete_direction(PLpgSQL_stmt_fetch *fetch, bool *check_FROM); @@ -524,7 +523,7 @@ static void check_raise_parameters(PLpgSQL_stmt_raise *stmt); #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE -#line 120 "pl_gram.y" +#line 117 "pl_gram.y" { core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ @@ -576,7 +575,7 @@ typedef union YYSTYPE PLpgSQL_case_when *casewhen; } /* Line 193 of yacc.c. */ -#line 531 "pl_gram.c" +#line 530 "pl_gram.c" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 @@ -601,7 +600,7 @@ typedef struct YYLTYPE /* Line 216 of yacc.c. */ -#line 556 "pl_gram.c" +#line 555 "pl_gram.c" #ifdef short # undef short @@ -818,20 +817,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1382 +#define YYLAST 1335 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 138 +#define YYNTOKENS 139 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 87 /* YYNRULES -- Number of rules. */ -#define YYNRULES 252 +#define YYNRULES 253 /* YYNRULES -- Number of states. */ -#define YYNSTATES 333 +#define YYNSTATES 334 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 386 +#define YYMAXUTOK 387 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -842,10 +841,10 @@ static const yytype_uint8 yytranslate[] = 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 132, 2, 2, 2, 2, - 134, 135, 2, 2, 136, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 133, - 2, 137, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 133, 2, 2, 2, 2, + 135, 136, 2, 2, 137, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 134, + 2, 138, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -877,7 +876,7 @@ static const yytype_uint8 yytranslate[] = 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131 + 125, 126, 127, 128, 129, 130, 131, 132 }; #if YYDEBUG @@ -910,57 +909,57 @@ static const yytype_uint16 yyprhs[] = 544, 546, 548, 550, 552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580, 582, 584, 586, 588, 590, 592, 594, 596, 598, 600, 602, - 604, 606, 608 + 604, 606, 608, 610 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 139, 0, -1, 140, 144, 143, -1, -1, 140, 141, - -1, 132, 94, 57, -1, 132, 102, 142, -1, 132, - 128, 62, -1, 132, 128, 126, -1, 132, 128, 125, - -1, 22, -1, 224, -1, -1, 133, -1, 145, 34, - 166, 210, 60, 221, -1, 219, -1, 219, 146, -1, - 219, 146, 147, -1, 52, -1, 147, 148, -1, 148, - -1, 149, -1, 52, -1, 25, 223, 26, -1, 158, - 159, 160, 161, 162, 163, -1, 158, 28, 68, 157, - 133, -1, -1, 158, 151, 49, 150, 153, 156, 152, - -1, -1, 89, 115, -1, 115, -1, -1, -1, 134, - 154, 135, -1, 155, -1, 154, 136, 155, -1, 158, - 160, -1, 80, -1, 68, -1, 22, -1, 224, -1, - 23, -1, 22, -1, 224, -1, -1, 44, -1, -1, - -1, 40, 22, -1, 40, 224, -1, 40, 23, -1, - -1, 90, 92, -1, 133, -1, 164, -1, 165, -1, - 53, -1, 137, -1, 15, -1, -1, 166, 167, -1, - 144, 133, -1, 170, -1, 177, -1, 180, -1, 185, - -1, 186, -1, 187, -1, 190, -1, 192, -1, 194, - -1, 195, -1, 196, -1, 198, -1, 199, -1, 168, - -1, 169, -1, 171, -1, 200, -1, 201, -1, 202, - -1, 204, -1, 205, -1, 206, -1, 207, -1, 96, - -1, 36, -1, 56, -1, 24, -1, 72, 172, 55, - 173, 133, -1, -1, 48, -1, 118, -1, 173, 136, - 174, -1, 174, -1, 176, 165, 175, -1, -1, 24, - -1, 22, -1, 23, -1, 74, 217, 166, 178, 179, - 60, 74, 133, -1, -1, 178, 59, 217, 166, -1, - -1, 58, 166, -1, 37, 181, 182, 184, 60, 37, - 133, -1, -1, 182, 183, -1, 183, -1, 130, 217, - 166, -1, -1, 58, 166, -1, 220, 83, 197, -1, - 220, 131, 218, 197, -1, 220, 68, 188, 197, -1, - 189, 76, -1, 24, -1, 22, -1, 23, -1, 220, - 69, 189, 191, 76, 31, 218, 197, -1, -1, 116, - 11, -1, 193, 221, 222, -1, 65, -1, 47, -1, - 107, -1, 105, -1, 32, -1, 166, 60, 83, 221, - 133, -1, 75, -1, 78, -1, 84, -1, 22, -1, - 23, -1, 64, -1, 93, 209, -1, 66, 203, 209, - 79, -1, 87, 203, 209, 133, -1, -1, 39, 209, - 133, -1, 92, 133, -1, 43, 208, 133, -1, 110, - 208, 133, -1, 30, 38, -1, 30, 89, 38, -1, + 140, 0, -1, 141, 145, 144, -1, -1, 141, 142, + -1, 133, 94, 57, -1, 133, 103, 143, -1, 133, + 129, 62, -1, 133, 129, 127, -1, 133, 129, 126, + -1, 22, -1, 225, -1, -1, 134, -1, 146, 34, + 167, 211, 60, 222, -1, 220, -1, 220, 147, -1, + 220, 147, 148, -1, 52, -1, 148, 149, -1, 149, + -1, 150, -1, 52, -1, 25, 224, 26, -1, 159, + 160, 161, 162, 163, 164, -1, 159, 28, 68, 158, + 134, -1, -1, 159, 152, 49, 151, 154, 157, 153, + -1, -1, 89, 116, -1, 116, -1, -1, -1, 135, + 155, 136, -1, 156, -1, 155, 137, 156, -1, 159, + 161, -1, 80, -1, 68, -1, 22, -1, 225, -1, + 23, -1, 22, -1, 225, -1, -1, 44, -1, -1, + -1, 40, 22, -1, 40, 225, -1, 40, 23, -1, + -1, 90, 92, -1, 134, -1, 165, -1, 166, -1, + 53, -1, 138, -1, 15, -1, -1, 167, 168, -1, + 145, 134, -1, 171, -1, 178, -1, 181, -1, 186, + -1, 187, -1, 188, -1, 191, -1, 193, -1, 195, + -1, 196, -1, 197, -1, 199, -1, 200, -1, 169, + -1, 170, -1, 172, -1, 201, -1, 202, -1, 203, + -1, 205, -1, 206, -1, 207, -1, 208, -1, 96, + -1, 36, -1, 56, -1, 24, -1, 72, 173, 55, + 174, 134, -1, -1, 48, -1, 119, -1, 174, 137, + 175, -1, 175, -1, 177, 166, 176, -1, -1, 24, + -1, 22, -1, 23, -1, 74, 218, 167, 179, 180, + 60, 74, 134, -1, -1, 179, 59, 218, 167, -1, + -1, 58, 167, -1, 37, 182, 183, 185, 60, 37, + 134, -1, -1, 183, 184, -1, 184, -1, 131, 218, + 167, -1, -1, 58, 167, -1, 221, 83, 198, -1, + 221, 132, 219, 198, -1, 221, 68, 189, 198, -1, + 190, 76, -1, 24, -1, 22, -1, 23, -1, 221, + 69, 190, 192, 76, 31, 219, 198, -1, -1, 117, + 11, -1, 194, 222, 223, -1, 65, -1, 47, -1, + 108, -1, 106, -1, 32, -1, 167, 60, 83, 222, + 134, -1, 75, -1, 78, -1, 84, -1, 22, -1, + 23, -1, 64, -1, 93, 210, -1, 66, 204, 210, + 79, -1, 87, 204, 210, 134, -1, -1, 39, 210, + 134, -1, 92, 134, -1, 43, 209, 134, -1, 111, + 209, 134, -1, 30, 38, -1, 30, 89, 38, -1, -1, 24, -1, 22, -1, 23, -1, -1, -1, 63, - 211, 212, -1, 212, 213, -1, 213, -1, 130, 214, - 122, 166, -1, 214, 95, 215, -1, 215, -1, 223, - -1, -1, -1, -1, -1, 25, 223, 26, -1, -1, - 25, 223, 26, -1, -1, 223, -1, 133, -1, 130, - 216, -1, 22, -1, 224, -1, 24, -1, 27, -1, + 212, 213, -1, 213, 214, -1, 214, -1, 131, 215, + 123, 167, -1, 215, 95, 216, -1, 216, -1, 224, + -1, -1, -1, -1, -1, 25, 224, 26, -1, -1, + 25, 224, 26, -1, -1, 224, -1, 134, -1, 131, + 217, -1, 22, -1, 225, -1, 24, -1, 27, -1, 28, -1, 30, -1, 31, -1, 32, -1, 33, -1, 36, -1, 38, -1, 39, -1, 40, -1, 41, -1, 42, -1, 43, -1, 44, -1, 45, -1, 46, -1, @@ -975,39 +974,40 @@ static const yytype_int16 yyrhs[] = 101, -1, 102, -1, 103, -1, 104, -1, 105, -1, 106, -1, 107, -1, 108, -1, 109, -1, 110, -1, 111, -1, 112, -1, 113, -1, 114, -1, 115, -1, - 116, -1, 117, -1, 118, -1, 120, -1, 121, -1, - 124, -1, 125, -1, 126, -1, 128, -1, 129, -1 + 116, -1, 117, -1, 118, -1, 119, -1, 121, -1, + 122, -1, 125, -1, 126, -1, 127, -1, 129, -1, + 130, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 362, 362, 368, 369, 372, 376, 385, 389, 393, - 399, 403, 408, 409, 412, 435, 443, 450, 459, 471, - 472, 475, 476, 480, 493, 531, 537, 536, 590, 593, - 597, 604, 610, 613, 644, 648, 654, 662, 663, 665, - 680, 695, 723, 751, 782, 783, 788, 799, 800, 805, - 810, 817, 818, 822, 824, 830, 831, 839, 840, 844, - 845, 855, 857, 859, 861, 863, 865, 867, 869, 871, - 873, 875, 877, 879, 881, 883, 885, 887, 889, 891, - 893, 895, 897, 899, 901, 905, 941, 959, 980, 1019, - 1082, 1085, 1089, 1095, 1099, 1105, 1118, 1162, 1180, 1185, - 1192, 1210, 1213, 1227, 1230, 1236, 1243, 1257, 1261, 1267, - 1279, 1282, 1297, 1315, 1334, 1368, 1627, 1653, 1667, 1674, - 1713, 1716, 1722, 1775, 1779, 1785, 1811, 1956, 1980, 1998, - 2002, 2006, 2010, 2021, 2034, 2098, 2176, 2206, 2219, 2224, - 2238, 2245, 2259, 2274, 2275, 2276, 2280, 2302, 2307, 2315, - 2317, 2316, 2358, 2362, 2368, 2381, 2390, 2396, 2433, 2437, - 2441, 2445, 2449, 2457, 2461, 2469, 2472, 2479, 2481, 2488, - 2492, 2496, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, - 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, - 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, - 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, - 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, - 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, - 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, - 2583, 2584, 2585 + 0, 360, 360, 366, 367, 370, 374, 383, 387, 391, + 397, 401, 406, 407, 410, 433, 441, 448, 457, 469, + 470, 473, 474, 478, 491, 529, 535, 534, 561, 564, + 568, 575, 581, 584, 615, 619, 625, 633, 634, 636, + 651, 666, 694, 722, 753, 754, 759, 771, 772, 777, + 782, 789, 790, 794, 796, 802, 803, 811, 812, 816, + 817, 827, 829, 831, 833, 835, 837, 839, 841, 843, + 845, 847, 849, 851, 853, 855, 857, 859, 861, 863, + 865, 867, 869, 871, 873, 877, 913, 931, 952, 991, + 1055, 1058, 1062, 1068, 1072, 1078, 1091, 1138, 1156, 1161, + 1168, 1186, 1189, 1203, 1206, 1212, 1219, 1233, 1237, 1243, + 1255, 1258, 1273, 1291, 1310, 1344, 1602, 1628, 1642, 1649, + 1688, 1691, 1697, 1750, 1754, 1760, 1786, 1931, 1955, 1973, + 1977, 1981, 1985, 1996, 2009, 2073, 2151, 2181, 2194, 2199, + 2213, 2220, 2234, 2249, 2250, 2251, 2255, 2277, 2282, 2290, + 2292, 2291, 2333, 2337, 2343, 2356, 2365, 2371, 2408, 2412, + 2416, 2420, 2424, 2432, 2436, 2444, 2447, 2454, 2456, 2463, + 2467, 2471, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487, + 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, + 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, + 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, + 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, + 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, + 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, + 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, + 2558, 2559, 2560, 2561 }; #endif @@ -1034,10 +1034,10 @@ static const char *const yytname[] = "K_NEXT", "K_NO", "K_NOT", "K_NOTICE", "K_NULL", "K_OPEN", "K_OPTION", "K_OR", "K_PERFORM", "K_PG_CONTEXT", "K_PG_DATATYPE_NAME", "K_PG_EXCEPTION_CONTEXT", "K_PG_EXCEPTION_DETAIL", "K_PG_EXCEPTION_HINT", - "K_PRINT_STRICT_PARAMS", "K_PRIOR", "K_QUERY", "K_RAISE", "K_RELATIVE", - "K_RETURN", "K_RETURNED_SQLSTATE", "K_REVERSE", "K_ROLLBACK", - "K_ROW_COUNT", "K_ROWTYPE", "K_SCHEMA", "K_SCHEMA_NAME", "K_SCROLL", - "K_SLICE", "K_SQLSTATE", "K_STACKED", "K_STRICT", "K_TABLE", + "K_PG_ROUTINE_OID", "K_PRINT_STRICT_PARAMS", "K_PRIOR", "K_QUERY", + "K_RAISE", "K_RELATIVE", "K_RETURN", "K_RETURNED_SQLSTATE", "K_REVERSE", + "K_ROLLBACK", "K_ROW_COUNT", "K_ROWTYPE", "K_SCHEMA", "K_SCHEMA_NAME", + "K_SCROLL", "K_SLICE", "K_SQLSTATE", "K_STACKED", "K_STRICT", "K_TABLE", "K_TABLE_NAME", "K_THEN", "K_TO", "K_TYPE", "K_USE_COLUMN", "K_USE_VARIABLE", "K_USING", "K_VARIABLE_CONFLICT", "K_WARNING", "K_WHEN", "K_WHILE", "'#'", "';'", "'('", "')'", "','", "'='", "$accept", @@ -1084,39 +1084,39 @@ static const yytype_uint16 yytoknum[] = 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, - 385, 386, 35, 59, 40, 41, 44, 61 + 385, 386, 387, 35, 59, 40, 41, 44, 61 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 138, 139, 140, 140, 141, 141, 141, 141, 141, - 142, 142, 143, 143, 144, 145, 145, 145, 146, 147, - 147, 148, 148, 148, 149, 149, 150, 149, 151, 151, - 151, 152, 153, 153, 154, 154, 155, 156, 156, 157, - 157, 157, 158, 158, 159, 159, 160, 161, 161, 161, - 161, 162, 162, 163, 163, 164, 164, 165, 165, 166, - 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 168, 169, 169, 170, 171, - 172, 172, 172, 173, 173, 174, 175, 176, 176, 176, - 177, 178, 178, 179, 179, 180, 181, 182, 182, 183, - 184, 184, 185, 186, 187, 188, 189, 189, 189, 190, - 191, 191, 192, 193, 193, 194, 195, 196, 197, 198, - 198, 198, 198, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 208, 208, 209, 209, 209, 210, - 211, 210, 212, 212, 213, 214, 214, 215, 216, 217, - 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, - 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224 + 0, 139, 140, 141, 141, 142, 142, 142, 142, 142, + 143, 143, 144, 144, 145, 146, 146, 146, 147, 148, + 148, 149, 149, 149, 150, 150, 151, 150, 152, 152, + 152, 153, 154, 154, 155, 155, 156, 157, 157, 158, + 158, 158, 159, 159, 160, 160, 161, 162, 162, 162, + 162, 163, 163, 164, 164, 165, 165, 166, 166, 167, + 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 169, 170, 170, 171, 172, + 173, 173, 173, 174, 174, 175, 176, 177, 177, 177, + 178, 179, 179, 180, 180, 181, 182, 183, 183, 184, + 185, 185, 186, 187, 188, 189, 190, 190, 190, 191, + 192, 192, 193, 194, 194, 195, 196, 197, 198, 199, + 199, 199, 199, 199, 200, 201, 202, 203, 204, 205, + 206, 207, 208, 209, 209, 209, 210, 210, 210, 211, + 212, 211, 213, 213, 214, 215, 215, 216, 217, 218, + 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, + 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, + 225, 225, 225, 225 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1147,7 +1147,7 @@ static const yytype_uint8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1164,100 +1164,100 @@ static const yytype_uint8 yydefact[] = 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, - 250, 251, 252, 0, 170, 0, 0, 0, 13, 2, - 59, 18, 16, 162, 5, 10, 6, 11, 7, 9, - 8, 163, 42, 0, 22, 17, 20, 21, 44, 43, - 132, 133, 88, 0, 127, 86, 106, 0, 145, 124, - 87, 150, 134, 123, 138, 90, 159, 129, 130, 131, - 138, 0, 0, 85, 126, 125, 145, 0, 60, 75, - 76, 62, 77, 63, 64, 65, 66, 67, 68, 69, - 165, 70, 71, 72, 73, 74, 78, 79, 80, 81, - 82, 83, 84, 0, 0, 0, 19, 0, 45, 0, - 30, 0, 46, 0, 0, 147, 148, 146, 0, 0, - 0, 0, 0, 91, 92, 0, 59, 0, 140, 135, - 0, 61, 0, 166, 165, 0, 0, 59, 160, 23, - 0, 29, 26, 47, 164, 159, 110, 108, 139, 143, - 0, 141, 0, 151, 153, 0, 0, 163, 0, 142, - 158, 167, 122, 14, 117, 118, 116, 59, 0, 120, - 163, 112, 59, 39, 41, 0, 40, 32, 0, 51, - 59, 59, 107, 0, 144, 0, 156, 157, 152, 136, - 98, 99, 97, 0, 94, 0, 103, 137, 168, 114, - 115, 0, 0, 0, 113, 25, 0, 0, 48, 50, - 49, 0, 0, 163, 163, 0, 0, 59, 89, 0, - 58, 57, 96, 59, 159, 0, 121, 0, 165, 0, - 34, 46, 38, 37, 31, 52, 56, 53, 24, 54, - 55, 0, 155, 163, 93, 95, 163, 59, 0, 160, - 0, 33, 0, 36, 27, 105, 163, 0, 59, 128, - 35, 100, 119 + 250, 251, 252, 253, 0, 170, 0, 0, 0, 13, + 2, 59, 18, 16, 162, 5, 10, 6, 11, 7, + 9, 8, 163, 42, 0, 22, 17, 20, 21, 44, + 43, 132, 133, 88, 0, 127, 86, 106, 0, 145, + 124, 87, 150, 134, 123, 138, 90, 159, 129, 130, + 131, 138, 0, 0, 85, 126, 125, 145, 0, 60, + 75, 76, 62, 77, 63, 64, 65, 66, 67, 68, + 69, 165, 70, 71, 72, 73, 74, 78, 79, 80, + 81, 82, 83, 84, 0, 0, 0, 19, 0, 45, + 0, 30, 0, 46, 0, 0, 147, 148, 146, 0, + 0, 0, 0, 0, 91, 92, 0, 59, 0, 140, + 135, 0, 61, 0, 166, 165, 0, 0, 59, 160, + 23, 0, 29, 26, 47, 164, 159, 110, 108, 139, + 143, 0, 141, 0, 151, 153, 0, 0, 163, 0, + 142, 158, 167, 122, 14, 117, 118, 116, 59, 0, + 120, 163, 112, 59, 39, 41, 0, 40, 32, 0, + 51, 59, 59, 107, 0, 144, 0, 156, 157, 152, + 136, 98, 99, 97, 0, 94, 0, 103, 137, 168, + 114, 115, 0, 0, 0, 113, 25, 0, 0, 48, + 50, 49, 0, 0, 163, 163, 0, 0, 59, 89, + 0, 58, 57, 96, 59, 159, 0, 121, 0, 165, + 0, 34, 46, 38, 37, 31, 52, 56, 53, 24, + 54, 55, 0, 155, 163, 93, 95, 163, 59, 0, + 160, 0, 33, 0, 36, 27, 105, 163, 0, 59, + 128, 35, 100, 119 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 1, 2, 6, 106, 99, 147, 8, 102, 115, - 116, 117, 247, 181, 324, 277, 299, 300, 304, 245, - 118, 182, 213, 249, 282, 308, 309, 292, 240, 148, - 149, 150, 151, 152, 195, 263, 264, 315, 265, 153, - 266, 295, 154, 184, 216, 217, 253, 155, 156, 157, - 237, 238, 158, 272, 159, 160, 161, 162, 163, 241, - 164, 165, 166, 167, 168, 192, 169, 170, 171, 172, - 190, 188, 173, 191, 223, 224, 255, 256, 268, 196, - 242, 9, 174, 202, 232, 203, 94 + -1, 1, 2, 6, 107, 100, 148, 8, 103, 116, + 117, 118, 248, 182, 325, 278, 300, 301, 305, 246, + 119, 183, 214, 250, 283, 309, 310, 293, 241, 149, + 150, 151, 152, 153, 196, 264, 265, 316, 266, 154, + 267, 296, 155, 185, 217, 218, 254, 156, 157, 158, + 238, 239, 159, 273, 160, 161, 162, 163, 164, 242, + 165, 166, 167, 168, 169, 193, 170, 171, 172, 173, + 191, 189, 174, 192, 224, 225, 256, 257, 269, 197, + 243, 9, 175, 203, 233, 204, 95 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -253 +#define YYPACT_NINF -260 static const yytype_int16 yypact[] = { - -253, 36, -20, -253, 353, -49, -253, -87, 14, -2, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, 26, -253, -3, 674, -40, -253, -253, - -253, -253, 245, -253, -253, -253, -253, -253, -253, -253, - -253, 1041, -253, 353, -253, 245, -253, -253, -7, -253, - -253, -253, -253, 353, -253, -253, -253, 49, 38, -253, - -253, -253, -253, -253, -253, -38, -253, -253, -253, -253, - -253, -59, 49, -253, -253, -253, 38, -34, -253, -253, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - 353, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, -253, -253, 34, -50, 80, -253, 27, -253, -5, - -253, 58, -253, 85, -17, -253, -253, -253, -19, 1, - -16, -14, 49, -253, -253, 63, -253, 49, -253, -253, - -11, -253, -98, -253, 353, 69, 69, -253, -253, -253, - 461, -253, -253, 83, -8, -253, -41, -253, -253, -253, - 88, -253, 353, -14, -253, 48, 81, 887, -1, -253, - -253, -253, -253, -253, -253, -253, -253, -253, 52, 13, - 1118, -253, -253, -253, -253, 0, -253, 2, 569, 40, - -253, -253, -253, 71, -253, -64, -253, -253, -253, -253, - -253, -253, -253, -72, -253, -12, 18, -253, -253, -253, - -253, 123, 59, 54, -253, -253, 779, -39, -253, -253, - -253, 46, -13, -9, 1195, 102, 353, -253, -253, 81, - -253, -253, -253, -253, -253, 82, -253, 109, 353, -76, - -253, -253, -253, -253, -253, -253, -253, -253, -253, -253, - -253, 8, -253, 124, -253, -253, 1272, -253, 70, -253, - 10, -253, 779, -253, -253, -253, 964, 12, -253, -253, - -253, -253, -253 + -260, 21, -20, -260, 355, -61, -260, -99, 3, 7, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, 22, -260, 23, 679, -38, -260, + -260, -260, -260, 246, -260, -260, -260, -260, -260, -260, + -260, -260, 1026, -260, 355, -260, 246, -260, -260, -18, + -260, -260, -260, -260, 355, -260, -260, -260, 30, 49, + -260, -260, -260, -260, -260, -260, -37, -260, -260, -260, + -260, -260, -48, 30, -260, -260, -260, 49, -33, -260, + -260, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, 355, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, -260, -260, 36, -23, 78, -260, 37, -260, + -10, -260, 58, -260, 85, -17, -260, -260, -260, -22, + -19, -16, -15, 30, -260, -260, 62, -260, 30, -260, + -260, -11, -260, -95, -260, 355, 68, 68, -260, -260, + -260, 464, -260, -260, 79, -2, -260, -50, -260, -260, + -260, 86, -260, 355, -15, -260, 48, 71, 894, -6, + -260, -260, -260, -260, -260, -260, -260, -260, -260, 53, + 13, 1092, -260, -260, -260, -260, -3, -260, -1, 573, + 42, -260, -260, -260, 73, -260, -51, -260, -260, -260, + -260, -260, -260, -260, -76, -260, -12, 15, -260, -260, + -260, -260, 125, 59, 54, -260, -260, 785, -39, -260, + -260, -260, 46, -13, -9, 1158, 102, 355, -260, -260, + 71, -260, -260, -260, -260, -260, 80, -260, 110, 355, + -60, -260, -260, -260, -260, -260, -260, -260, -260, -260, + -260, -260, 8, -260, 124, -260, -260, 1224, -260, 69, + -260, 10, -260, 785, -260, -260, -260, 960, 11, -260, + -260, -260, -260, -260 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -253, -253, -253, -253, -253, -253, 148, -253, -253, -253, - 37, -253, -253, -253, -253, -253, -253, -171, -253, -253, - -252, -253, -144, -253, -253, -253, -253, -123, -96, -253, - -253, -253, -253, -253, -253, -253, -127, -253, -253, -253, - -253, -253, -253, -253, -253, -52, -253, -253, -253, -253, - -253, -37, -253, -253, -253, -253, -253, -253, -253, -231, - -253, -253, -253, -253, -253, 25, -253, -253, -253, -253, - 20, -130, -253, -253, -253, -55, -253, -116, -253, -206, - -147, -253, -253, -196, -253, -4, -95 + -260, -260, -260, -260, -260, -260, 148, -260, -260, -260, + 35, -260, -260, -260, -260, -260, -260, -171, -260, -260, + -259, -260, -145, -260, -260, -260, -260, -124, -97, -260, + -260, -260, -260, -260, -260, -260, -128, -260, -260, -260, + -260, -260, -260, -260, -260, -53, -260, -260, -260, -260, + -260, -42, -260, -260, -260, -260, -260, -260, -260, -221, + -260, -260, -260, -260, -260, 25, -260, -260, -260, -260, + 26, -131, -260, -260, -260, -56, -260, -118, -260, -210, + -150, -260, -260, -196, -260, -4, -96 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1267,76 +1267,55 @@ static const yytype_int16 yypgoto[] = #define YYTABLE_NINF -163 static const yytype_int16 yytable[] = { - 93, 107, 290, 290, 111, 4, 269, 119, 233, 250, - 193, 274, 199, 120, 121, 122, 123, 251, 205, 206, - 119, 177, 108, 124, 301, -161, -162, 125, 126, 302, - 127, 286, 230, 207, 128, 231, 3, 178, 129, 219, - 306, 303, -28, -161, -162, 95, 98, 130, 100, -109, - 101, -109, 103, 96, 104, 132, 133, 134, 287, 321, - 322, 288, 225, 135, 289, 136, 137, 228, 189, 138, - 301, 185, 186, 187, 198, 139, 293, 294, 140, 97, - 194, 208, 179, 141, 142, 109, 110, 143, 317, 215, - 220, 234, 235, 236, 204, 210, 144, 332, 145, 201, - 227, 146, 320, 260, 261, 262, 209, 212, 180, 175, - 211, 214, 5, 215, 218, 246, 222, 221, 226, 183, - 307, -109, 229, 248, 291, 291, 254, 259, 270, 271, - 281, 285, 267, 275, 296, 297, 276, 298, 305, 311, - 319, 325, 318, 329, 327, 331, 120, 121, 122, 123, - 7, 330, 176, 280, 283, 284, 124, 323, -161, 310, - 125, 126, 314, 127, 252, 197, 200, 128, 258, 239, - 312, 129, 328, 0, 0, 0, -161, 0, 0, 0, - 130, 119, 0, 0, -154, 0, 0, 0, 132, 133, - 134, 313, 0, 0, 0, 0, 135, 316, 136, 137, - 0, 0, 138, 0, 0, 0, 0, 0, 139, 0, - 0, 140, 0, 0, 0, 0, 141, 142, 257, 0, - 143, 326, 0, 0, 0, 0, 0, 119, 0, 144, - 0, 145, 0, 0, 146, 0, 0, 0, 0, 0, + 94, 108, 291, 291, 112, 4, 251, 120, 252, 234, + 178, 194, 200, 121, 122, 123, 124, 270, 302, 220, + 120, 3, 275, 125, 109, -161, 179, 126, 127, 303, + 128, -28, -162, 96, 129, 99, 231, 101, 130, 232, + 307, 304, 97, -161, 287, 206, 207, 131, 104, -109, + -162, -109, 186, 187, 188, 133, 134, 135, 289, 102, + 208, 290, 226, 136, 302, 137, 138, 229, 98, 139, + 221, 180, 288, 294, 295, 140, 322, 323, 141, 190, + 105, 216, 195, 142, 143, 318, 199, 144, 110, 111, + 235, 236, 237, 261, 262, 263, 205, 145, 181, 146, + 228, 202, 147, 321, 210, 211, 212, 213, 333, 209, + 176, 215, 219, 5, 216, 247, 223, 227, 222, 249, + 184, 308, -109, 230, 255, 292, 292, 260, 268, 271, + 272, 276, 282, 286, 277, 298, 297, 299, 306, 312, + 319, 320, 326, 328, 330, 332, 121, 122, 123, 124, + 7, 177, 331, 281, 284, 285, 125, 324, -161, 311, + 126, 127, 315, 128, 253, 240, 198, 129, 259, 313, + 329, 130, 0, 201, 0, 0, -161, 0, 0, 0, + 131, 120, 0, 0, -154, 0, 0, 0, 133, 134, + 135, 314, 0, 0, 0, 0, 136, 317, 137, 138, + 0, 0, 139, 0, 0, 0, 0, 0, 140, 0, + 0, 141, 0, 0, 0, 0, 142, 143, 0, 258, + 144, 327, 0, 0, 0, 0, 0, 120, 0, 0, + 145, 0, 146, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 112, 0, 0, - 113, 0, 12, 13, 0, 14, 15, 16, 17, 0, - 0, 18, 257, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 114, 33, 34, + 0, 0, 0, 0, 0, -154, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, + 0, 114, 0, 12, 13, 0, 14, 15, 16, 17, + 0, 0, 18, 258, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 115, 33, + 34, 35, 36, 37, 0, 38, 0, 39, 40, 41, + 0, 42, 43, 44, 0, 0, 45, 0, 46, 47, + 0, 48, 0, 49, 50, 0, 51, 52, 53, 0, + 54, 55, 56, 57, 58, 59, 0, 60, 0, 61, + 62, 0, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 0, 87, 88, 0, + 0, 89, 90, 91, 0, 92, 93, 10, 0, 11, + 0, 0, 12, 13, 0, 14, 15, 16, 17, 0, + 0, 18, 0, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 0, 39, 40, 41, 0, 42, 43, 44, 0, 0, 45, 0, 46, 47, 0, 48, 0, 49, 50, 0, 51, 52, 53, 0, 54, 55, 56, 57, 58, 59, 0, 60, 0, 61, 62, 0, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, 0, 86, 87, 0, 0, 88, - 89, 90, 0, 91, 92, 10, 0, 11, 0, 0, - 12, 13, 0, 14, 15, 16, 17, 0, 0, 18, - 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, - 37, 0, 38, 0, 39, 40, 41, 0, 42, 43, - 44, 0, 0, 45, 0, 46, 47, 0, 48, 0, - 49, 50, 0, 51, 52, 53, 0, 54, 55, 56, - 57, 58, 59, 0, 60, 0, 61, 62, 0, 63, - 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 0, 86, 87, 0, 0, 88, 89, 90, - 0, 91, 92, 243, 244, 0, 0, 0, 12, 13, - 0, 14, 15, 16, 17, 0, 0, 18, 0, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, - 38, 0, 39, 40, 41, 0, 42, 43, 44, 0, - 0, 45, 0, 46, 47, 0, 48, 0, 49, 50, - 0, 51, 52, 53, 0, 54, 55, 56, 57, 58, - 59, 0, 60, 0, 61, 62, 0, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 0, 86, 87, 0, 0, 88, 89, 90, 0, 91, - 92, 278, 279, 0, 0, 0, 12, 13, 0, 14, - 15, 16, 17, 0, 0, 18, 0, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 0, 33, 34, 35, 36, 37, 0, 38, 0, - 39, 40, 41, 0, 42, 43, 44, 0, 0, 45, - 0, 46, 47, 0, 48, 0, 49, 50, 0, 51, - 52, 53, 0, 54, 55, 56, 57, 58, 59, 0, - 60, 0, 61, 62, 0, 63, 64, 65, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 0, 86, - 87, 0, 0, 88, 89, 90, 105, 91, 92, 0, + 82, 83, 84, 85, 86, 0, 87, 88, 0, 0, + 89, 90, 91, 0, 92, 93, 244, 245, 0, 0, 0, 12, 13, 0, 14, 15, 16, 17, 0, 0, 18, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, @@ -1346,8 +1325,19 @@ static const yytype_int16 yytable[] = 56, 57, 58, 59, 0, 60, 0, 61, 62, 0, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 85, 0, 86, 87, 0, 0, 88, 89, - 90, 112, 91, 92, 0, 0, 12, 13, 0, 14, + 83, 84, 85, 86, 0, 87, 88, 0, 0, 89, + 90, 91, 0, 92, 93, 279, 280, 0, 0, 0, + 12, 13, 0, 14, 15, 16, 17, 0, 0, 18, + 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, + 37, 0, 38, 0, 39, 40, 41, 0, 42, 43, + 44, 0, 0, 45, 0, 46, 47, 0, 48, 0, + 49, 50, 0, 51, 52, 53, 0, 54, 55, 56, + 57, 58, 59, 0, 60, 0, 61, 62, 0, 63, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 86, 0, 87, 88, 0, 0, 89, 90, + 91, 106, 92, 93, 0, 0, 12, 13, 0, 14, 15, 16, 17, 0, 0, 18, 0, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, 35, 36, 37, 0, 38, 0, @@ -1356,130 +1346,114 @@ static const yytype_int16 yytable[] = 52, 53, 0, 54, 55, 56, 57, 58, 59, 0, 60, 0, 61, 62, 0, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 84, 85, 0, 86, - 87, 0, 0, 88, 89, 90, 0, 91, 92, 120, - 121, 122, 123, 0, 0, 0, 0, 0, 0, 124, - 0, -161, 0, 125, 126, 0, 127, 0, 0, 0, - 128, 0, 0, 0, 129, 0, 0, 0, 0, -161, - 0, 0, 0, 130, 0, -101, -101, -101, 0, 0, - 0, 132, 133, 134, 0, 0, 0, 0, 0, 135, - 0, 136, 137, 0, 0, 138, 0, 0, 0, 0, - 0, 139, 0, 0, 140, 0, 0, 0, 0, 141, - 142, 0, 0, 143, 0, 0, 120, 121, 122, 123, - 0, 0, 144, 0, 145, 0, 124, 146, -161, 0, - 125, 126, 0, 127, 0, 0, 0, 128, 0, 0, - 0, 129, 0, 0, 0, 0, -161, 0, 0, 0, - 130, 0, -102, -102, -102, 0, 0, 0, 132, 133, - 134, 0, 0, 0, 0, 0, 135, 0, 136, 137, - 0, 0, 138, 0, 0, 0, 0, 0, 139, 0, - 0, 140, 0, 0, 0, 0, 141, 142, 0, 0, - 143, 0, 0, 120, 121, 122, 123, 0, 0, 144, - 0, 145, 0, 124, 146, -161, 0, 125, 126, 0, - 127, 0, 0, 0, 128, 0, 0, 0, 129, 0, - 0, 0, 0, -161, 0, 0, 0, 130, 0, 0, - 0, -149, 0, 0, 131, 132, 133, 134, 0, 0, - 0, 0, 0, 135, 0, 136, 137, 0, 0, 138, - 0, 0, 0, 0, 0, 139, 0, 0, 140, 0, - 0, 0, 0, 141, 142, 0, 0, 143, 0, 0, - 120, 121, 122, 123, 0, 0, 144, 0, 145, 0, - 124, 146, -161, 0, 125, 126, 0, 127, 0, 0, - 0, 128, 0, 0, 0, 129, 0, 0, 0, 0, - -161, 0, 0, 0, 130, 0, 0, 0, 273, 0, - 0, 0, 132, 133, 134, 0, 0, 0, 0, 0, - 135, 0, 136, 137, 0, 0, 138, 0, 0, 0, - 0, 0, 139, 0, 0, 140, 0, 0, 0, 0, - 141, 142, 0, 0, 143, 0, 0, 120, 121, 122, - 123, 0, 0, 144, 0, 145, 0, 124, 146, -161, - 0, 125, 126, 0, 127, 0, 0, 0, 128, 0, - 0, 0, 129, 0, 0, 0, 0, -161, 0, 0, - 0, 130, 0, 0, 0, -111, 0, 0, 0, 132, - 133, 134, 0, 0, 0, 0, 0, 135, 0, 136, - 137, 0, 0, 138, 0, 0, 0, 0, 0, 139, - 0, 0, 140, 0, 0, 0, 0, 141, 142, 0, - 0, 143, 0, 0, 120, 121, 122, 123, 0, 0, - 144, 0, 145, 0, 124, 146, -161, 0, 125, 126, - 0, 127, 0, 0, 0, 128, 0, 0, 0, 129, - 0, 0, 0, 0, -161, 0, 0, 0, 130, 0, - 0, 0, -104, 0, 0, 0, 132, 133, 134, 0, - 0, 0, 0, 0, 135, 0, 136, 137, 0, 0, - 138, 0, 0, 0, 0, 0, 139, 0, 0, 140, - 0, 0, 0, 0, 141, 142, 0, 0, 143, 0, - 0, 0, 0, 0, 0, 0, 0, 144, 0, 145, - 0, 0, 146 + 78, 79, 80, 81, 82, 83, 84, 85, 86, 0, + 87, 88, 0, 0, 89, 90, 91, 113, 92, 93, + 0, 0, 12, 13, 0, 14, 15, 16, 17, 0, + 0, 18, 0, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 0, 33, 34, + 35, 36, 37, 0, 38, 0, 39, 40, 41, 0, + 42, 43, 44, 0, 0, 45, 0, 46, 47, 0, + 48, 0, 49, 50, 0, 51, 52, 53, 0, 54, + 55, 56, 57, 58, 59, 0, 60, 0, 61, 62, + 0, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 0, 87, 88, 0, 0, + 89, 90, 91, 0, 92, 93, 121, 122, 123, 124, + 0, 0, 0, 0, 0, 0, 125, 0, -161, 0, + 126, 127, 0, 128, 0, 0, 0, 129, 0, 0, + 0, 130, 0, 0, 0, 0, -161, 0, 0, 0, + 131, 0, -101, -101, -101, 0, 0, 0, 133, 134, + 135, 0, 0, 0, 0, 0, 136, 0, 137, 138, + 0, 0, 139, 0, 0, 0, 0, 0, 140, 0, + 0, 141, 121, 122, 123, 124, 142, 143, 0, 0, + 144, 0, 125, 0, -161, 0, 126, 127, 0, 128, + 145, 0, 146, 129, 0, 147, 0, 130, 0, 0, + 0, 0, -161, 0, 0, 0, 131, 0, -102, -102, + -102, 0, 0, 0, 133, 134, 135, 0, 0, 0, + 0, 0, 136, 0, 137, 138, 0, 0, 139, 0, + 0, 0, 0, 0, 140, 0, 0, 141, 121, 122, + 123, 124, 142, 143, 0, 0, 144, 0, 125, 0, + -161, 0, 126, 127, 0, 128, 145, 0, 146, 129, + 0, 147, 0, 130, 0, 0, 0, 0, -161, 0, + 0, 0, 131, 0, 0, 0, -149, 0, 0, 132, + 133, 134, 135, 0, 0, 0, 0, 0, 136, 0, + 137, 138, 0, 0, 139, 0, 0, 0, 0, 0, + 140, 0, 0, 141, 121, 122, 123, 124, 142, 143, + 0, 0, 144, 0, 125, 0, -161, 0, 126, 127, + 0, 128, 145, 0, 146, 129, 0, 147, 0, 130, + 0, 0, 0, 0, -161, 0, 0, 0, 131, 0, + 0, 0, 274, 0, 0, 0, 133, 134, 135, 0, + 0, 0, 0, 0, 136, 0, 137, 138, 0, 0, + 139, 0, 0, 0, 0, 0, 140, 0, 0, 141, + 121, 122, 123, 124, 142, 143, 0, 0, 144, 0, + 125, 0, -161, 0, 126, 127, 0, 128, 145, 0, + 146, 129, 0, 147, 0, 130, 0, 0, 0, 0, + -161, 0, 0, 0, 131, 0, 0, 0, -111, 0, + 0, 0, 133, 134, 135, 0, 0, 0, 0, 0, + 136, 0, 137, 138, 0, 0, 139, 0, 0, 0, + 0, 0, 140, 0, 0, 141, 121, 122, 123, 124, + 142, 143, 0, 0, 144, 0, 125, 0, -161, 0, + 126, 127, 0, 128, 145, 0, 146, 129, 0, 147, + 0, 130, 0, 0, 0, 0, -161, 0, 0, 0, + 131, 0, 0, 0, -104, 0, 0, 0, 133, 134, + 135, 0, 0, 0, 0, 0, 136, 0, 137, 138, + 0, 0, 139, 0, 0, 0, 0, 0, 140, 0, + 0, 141, 0, 0, 0, 0, 142, 143, 0, 0, + 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 145, 0, 146, 0, 0, 147 }; static const yytype_int16 yycheck[] = { - 4, 96, 15, 15, 100, 25, 237, 102, 204, 215, - 48, 242, 142, 22, 23, 24, 25, 58, 68, 69, - 115, 28, 62, 32, 276, 34, 34, 36, 37, 68, - 39, 95, 130, 83, 43, 133, 0, 44, 47, 38, - 53, 80, 49, 52, 52, 94, 133, 56, 34, 58, - 52, 60, 26, 102, 57, 64, 65, 66, 122, 135, - 136, 133, 192, 72, 136, 74, 75, 197, 30, 78, - 322, 22, 23, 24, 133, 84, 58, 59, 87, 128, - 118, 131, 89, 92, 93, 125, 126, 96, 294, 130, - 89, 22, 23, 24, 60, 68, 105, 328, 107, 133, - 196, 110, 298, 22, 23, 24, 26, 49, 115, 113, - 115, 26, 132, 130, 133, 210, 130, 133, 55, 123, - 133, 130, 133, 40, 137, 137, 38, 79, 76, 116, - 90, 60, 133, 133, 11, 76, 134, 83, 92, 37, - 31, 133, 60, 133, 74, 133, 22, 23, 24, 25, - 2, 322, 115, 248, 250, 251, 32, 301, 34, 282, - 36, 37, 289, 39, 216, 140, 146, 43, 223, 206, - 286, 47, 319, -1, -1, -1, 52, -1, -1, -1, - 56, 276, -1, -1, 60, -1, -1, -1, 64, 65, - 66, 287, -1, -1, -1, -1, 72, 293, 74, 75, + 4, 97, 15, 15, 101, 25, 216, 103, 58, 205, + 28, 48, 143, 22, 23, 24, 25, 238, 277, 38, + 116, 0, 243, 32, 62, 34, 44, 36, 37, 68, + 39, 49, 34, 94, 43, 134, 131, 34, 47, 134, + 53, 80, 103, 52, 95, 68, 69, 56, 26, 58, + 52, 60, 22, 23, 24, 64, 65, 66, 134, 52, + 83, 137, 193, 72, 323, 74, 75, 198, 129, 78, + 89, 89, 123, 58, 59, 84, 136, 137, 87, 30, + 57, 131, 119, 92, 93, 295, 134, 96, 126, 127, + 22, 23, 24, 22, 23, 24, 60, 106, 116, 108, + 197, 134, 111, 299, 26, 68, 116, 49, 329, 132, + 114, 26, 134, 133, 131, 211, 131, 55, 134, 40, + 124, 134, 131, 134, 38, 138, 138, 79, 134, 76, + 117, 134, 90, 60, 135, 76, 11, 83, 92, 37, + 60, 31, 134, 74, 134, 134, 22, 23, 24, 25, + 2, 116, 323, 249, 251, 252, 32, 302, 34, 283, + 36, 37, 290, 39, 217, 207, 141, 43, 224, 287, + 320, 47, -1, 147, -1, -1, 52, -1, -1, -1, + 56, 277, -1, -1, 60, -1, -1, -1, 64, 65, + 66, 288, -1, -1, -1, -1, 72, 294, 74, 75, -1, -1, 78, -1, -1, -1, -1, -1, 84, -1, - -1, 87, -1, -1, -1, -1, 92, 93, 222, -1, - 96, 317, -1, -1, -1, -1, -1, 322, -1, 105, - -1, 107, -1, -1, 110, -1, -1, -1, -1, -1, + -1, 87, -1, -1, -1, -1, 92, 93, -1, 223, + 96, 318, -1, -1, -1, -1, -1, 323, -1, -1, + 106, -1, 108, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, - 25, -1, 27, 28, -1, 30, 31, 32, 33, -1, - -1, 36, 286, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + -1, -1, -1, -1, -1, 131, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, + -1, 25, -1, 27, 28, -1, 30, 31, 32, 33, + -1, -1, 36, 287, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, -1, 59, -1, 61, 62, 63, + -1, 65, 66, 67, -1, -1, 70, -1, 72, 73, + -1, 75, -1, 77, 78, -1, 80, 81, 82, -1, + 84, 85, 86, 87, 88, 89, -1, 91, -1, 93, + 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, -1, 121, 122, -1, + -1, 125, 126, 127, -1, 129, 130, 22, -1, 24, + -1, -1, 27, 28, -1, 30, 31, 32, 33, -1, + -1, 36, -1, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, -1, 59, -1, 61, 62, 63, -1, 65, 66, 67, -1, -1, 70, -1, 72, 73, -1, 75, -1, 77, 78, -1, 80, 81, 82, -1, 84, 85, 86, 87, 88, 89, -1, 91, -1, 93, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, -1, 120, 121, -1, -1, 124, - 125, 126, -1, 128, 129, 22, -1, 24, -1, -1, - 27, 28, -1, 30, 31, 32, 33, -1, -1, 36, - -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, - 57, -1, 59, -1, 61, 62, 63, -1, 65, 66, - 67, -1, -1, 70, -1, 72, 73, -1, 75, -1, - 77, 78, -1, 80, 81, 82, -1, 84, 85, 86, - 87, 88, 89, -1, 91, -1, 93, 94, -1, 96, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, - 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, - 117, 118, -1, 120, 121, -1, -1, 124, 125, 126, - -1, 128, 129, 22, 23, -1, -1, -1, 27, 28, - -1, 30, 31, 32, 33, -1, -1, 36, -1, 38, - 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, -1, 53, 54, 55, 56, 57, -1, - 59, -1, 61, 62, 63, -1, 65, 66, 67, -1, - -1, 70, -1, 72, 73, -1, 75, -1, 77, 78, - -1, 80, 81, 82, -1, 84, 85, 86, 87, 88, - 89, -1, 91, -1, 93, 94, -1, 96, 97, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - -1, 120, 121, -1, -1, 124, 125, 126, -1, 128, - 129, 22, 23, -1, -1, -1, 27, 28, -1, 30, - 31, 32, 33, -1, -1, 36, -1, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, -1, 53, 54, 55, 56, 57, -1, 59, -1, - 61, 62, 63, -1, 65, 66, 67, -1, -1, 70, - -1, 72, 73, -1, 75, -1, 77, 78, -1, 80, - 81, 82, -1, 84, 85, 86, 87, 88, 89, -1, - 91, -1, 93, 94, -1, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, - 121, -1, -1, 124, 125, 126, 22, 128, 129, -1, + 115, 116, 117, 118, 119, -1, 121, 122, -1, -1, + 125, 126, 127, -1, 129, 130, 22, 23, -1, -1, -1, 27, 28, -1, 30, 31, 32, 33, -1, -1, 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, @@ -1489,8 +1463,19 @@ static const yytype_int16 yycheck[] = 86, 87, 88, 89, -1, 91, -1, 93, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, -1, 120, 121, -1, -1, 124, 125, - 126, 22, 128, 129, -1, -1, 27, 28, -1, 30, + 116, 117, 118, 119, -1, 121, 122, -1, -1, 125, + 126, 127, -1, 129, 130, 22, 23, -1, -1, -1, + 27, 28, -1, 30, 31, 32, 33, -1, -1, 36, + -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, + 57, -1, 59, -1, 61, 62, 63, -1, 65, 66, + 67, -1, -1, 70, -1, 72, 73, -1, 75, -1, + 77, 78, -1, 80, 81, 82, -1, 84, 85, 86, + 87, 88, 89, -1, 91, -1, 93, 94, -1, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, -1, 121, 122, -1, -1, 125, 126, + 127, 22, 129, 130, -1, -1, 27, 28, -1, 30, 31, 32, 33, -1, -1, 36, -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, 55, 56, 57, -1, 59, -1, @@ -1499,63 +1484,68 @@ static const yytype_int16 yycheck[] = 81, 82, -1, 84, 85, 86, 87, 88, 89, -1, 91, -1, 93, 94, -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, -1, 120, - 121, -1, -1, 124, 125, 126, -1, 128, 129, 22, - 23, 24, 25, -1, -1, -1, -1, -1, -1, 32, - -1, 34, -1, 36, 37, -1, 39, -1, -1, -1, - 43, -1, -1, -1, 47, -1, -1, -1, -1, 52, - -1, -1, -1, 56, -1, 58, 59, 60, -1, -1, - -1, 64, 65, 66, -1, -1, -1, -1, -1, 72, - -1, 74, 75, -1, -1, 78, -1, -1, -1, -1, - -1, 84, -1, -1, 87, -1, -1, -1, -1, 92, - 93, -1, -1, 96, -1, -1, 22, 23, 24, 25, - -1, -1, 105, -1, 107, -1, 32, 110, 34, -1, + 111, 112, 113, 114, 115, 116, 117, 118, 119, -1, + 121, 122, -1, -1, 125, 126, 127, 22, 129, 130, + -1, -1, 27, 28, -1, 30, 31, 32, 33, -1, + -1, 36, -1, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, -1, 53, 54, + 55, 56, 57, -1, 59, -1, 61, 62, 63, -1, + 65, 66, 67, -1, -1, 70, -1, 72, 73, -1, + 75, -1, 77, 78, -1, 80, 81, 82, -1, 84, + 85, 86, 87, 88, 89, -1, 91, -1, 93, 94, + -1, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, -1, 121, 122, -1, -1, + 125, 126, 127, -1, 129, 130, 22, 23, 24, 25, + -1, -1, -1, -1, -1, -1, 32, -1, 34, -1, 36, 37, -1, 39, -1, -1, -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, 52, -1, -1, -1, 56, -1, 58, 59, 60, -1, -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, 72, -1, 74, 75, -1, -1, 78, -1, -1, -1, -1, -1, 84, -1, - -1, 87, -1, -1, -1, -1, 92, 93, -1, -1, - 96, -1, -1, 22, 23, 24, 25, -1, -1, 105, - -1, 107, -1, 32, 110, 34, -1, 36, 37, -1, - 39, -1, -1, -1, 43, -1, -1, -1, 47, -1, - -1, -1, -1, 52, -1, -1, -1, 56, -1, -1, - -1, 60, -1, -1, 63, 64, 65, 66, -1, -1, - -1, -1, -1, 72, -1, 74, 75, -1, -1, 78, - -1, -1, -1, -1, -1, 84, -1, -1, 87, -1, - -1, -1, -1, 92, 93, -1, -1, 96, -1, -1, - 22, 23, 24, 25, -1, -1, 105, -1, 107, -1, - 32, 110, 34, -1, 36, 37, -1, 39, -1, -1, - -1, 43, -1, -1, -1, 47, -1, -1, -1, -1, - 52, -1, -1, -1, 56, -1, -1, -1, 60, -1, - -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, - 72, -1, 74, 75, -1, -1, 78, -1, -1, -1, - -1, -1, 84, -1, -1, 87, -1, -1, -1, -1, - 92, 93, -1, -1, 96, -1, -1, 22, 23, 24, - 25, -1, -1, 105, -1, 107, -1, 32, 110, 34, - -1, 36, 37, -1, 39, -1, -1, -1, 43, -1, - -1, -1, 47, -1, -1, -1, -1, 52, -1, -1, - -1, 56, -1, -1, -1, 60, -1, -1, -1, 64, - 65, 66, -1, -1, -1, -1, -1, 72, -1, 74, - 75, -1, -1, 78, -1, -1, -1, -1, -1, 84, - -1, -1, 87, -1, -1, -1, -1, 92, 93, -1, - -1, 96, -1, -1, 22, 23, 24, 25, -1, -1, - 105, -1, 107, -1, 32, 110, 34, -1, 36, 37, - -1, 39, -1, -1, -1, 43, -1, -1, -1, 47, + -1, 87, 22, 23, 24, 25, 92, 93, -1, -1, + 96, -1, 32, -1, 34, -1, 36, 37, -1, 39, + 106, -1, 108, 43, -1, 111, -1, 47, -1, -1, + -1, -1, 52, -1, -1, -1, 56, -1, 58, 59, + 60, -1, -1, -1, 64, 65, 66, -1, -1, -1, + -1, -1, 72, -1, 74, 75, -1, -1, 78, -1, + -1, -1, -1, -1, 84, -1, -1, 87, 22, 23, + 24, 25, 92, 93, -1, -1, 96, -1, 32, -1, + 34, -1, 36, 37, -1, 39, 106, -1, 108, 43, + -1, 111, -1, 47, -1, -1, -1, -1, 52, -1, + -1, -1, 56, -1, -1, -1, 60, -1, -1, 63, + 64, 65, 66, -1, -1, -1, -1, -1, 72, -1, + 74, 75, -1, -1, 78, -1, -1, -1, -1, -1, + 84, -1, -1, 87, 22, 23, 24, 25, 92, 93, + -1, -1, 96, -1, 32, -1, 34, -1, 36, 37, + -1, 39, 106, -1, 108, 43, -1, 111, -1, 47, -1, -1, -1, -1, 52, -1, -1, -1, 56, -1, -1, -1, 60, -1, -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, 72, -1, 74, 75, -1, -1, 78, -1, -1, -1, -1, -1, 84, -1, -1, 87, - -1, -1, -1, -1, 92, 93, -1, -1, 96, -1, - -1, -1, -1, -1, -1, -1, -1, 105, -1, 107, - -1, -1, 110 + 22, 23, 24, 25, 92, 93, -1, -1, 96, -1, + 32, -1, 34, -1, 36, 37, -1, 39, 106, -1, + 108, 43, -1, 111, -1, 47, -1, -1, -1, -1, + 52, -1, -1, -1, 56, -1, -1, -1, 60, -1, + -1, -1, 64, 65, 66, -1, -1, -1, -1, -1, + 72, -1, 74, 75, -1, -1, 78, -1, -1, -1, + -1, -1, 84, -1, -1, 87, 22, 23, 24, 25, + 92, 93, -1, -1, 96, -1, 32, -1, 34, -1, + 36, 37, -1, 39, 106, -1, 108, 43, -1, 111, + -1, 47, -1, -1, -1, -1, 52, -1, -1, -1, + 56, -1, -1, -1, 60, -1, -1, -1, 64, 65, + 66, -1, -1, -1, -1, -1, 72, -1, 74, 75, + -1, -1, 78, -1, -1, -1, -1, -1, 84, -1, + -1, 87, -1, -1, -1, -1, 92, 93, -1, -1, + 96, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 106, -1, 108, -1, -1, 111 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 139, 140, 0, 25, 132, 141, 144, 145, 219, + 0, 140, 141, 0, 25, 133, 142, 145, 146, 220, 22, 24, 27, 28, 30, 31, 32, 33, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 59, 61, @@ -1563,32 +1553,32 @@ static const yytype_uint8 yystos[] = 78, 80, 81, 82, 84, 85, 86, 87, 88, 89, 91, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 120, 121, 124, 125, - 126, 128, 129, 223, 224, 94, 102, 128, 133, 143, - 34, 52, 146, 26, 57, 22, 142, 224, 62, 125, - 126, 166, 22, 25, 52, 147, 148, 149, 158, 224, - 22, 23, 24, 25, 32, 36, 37, 39, 43, 47, - 56, 63, 64, 65, 66, 72, 74, 75, 78, 84, - 87, 92, 93, 96, 105, 107, 110, 144, 167, 168, - 169, 170, 171, 177, 180, 185, 186, 187, 190, 192, - 193, 194, 195, 196, 198, 199, 200, 201, 202, 204, - 205, 206, 207, 210, 220, 223, 148, 28, 44, 89, - 115, 151, 159, 223, 181, 22, 23, 24, 209, 30, - 208, 211, 203, 48, 118, 172, 217, 203, 133, 209, - 208, 133, 221, 223, 60, 68, 69, 83, 131, 26, - 68, 115, 49, 160, 26, 130, 182, 183, 133, 38, - 89, 133, 130, 212, 213, 209, 55, 166, 209, 133, - 130, 133, 222, 221, 22, 23, 24, 188, 189, 189, - 166, 197, 218, 22, 23, 157, 224, 150, 40, 161, - 217, 58, 183, 184, 38, 214, 215, 223, 213, 79, - 22, 23, 24, 173, 174, 176, 178, 133, 216, 197, - 76, 116, 191, 60, 197, 133, 134, 153, 22, 23, - 224, 90, 162, 166, 166, 60, 95, 122, 133, 136, - 15, 137, 165, 58, 59, 179, 11, 76, 83, 154, - 155, 158, 68, 80, 156, 92, 53, 133, 163, 164, - 165, 37, 215, 166, 174, 175, 166, 217, 60, 31, - 221, 135, 136, 160, 152, 133, 166, 74, 218, 133, - 155, 133, 197 + 113, 114, 115, 116, 117, 118, 119, 121, 122, 125, + 126, 127, 129, 130, 224, 225, 94, 103, 129, 134, + 144, 34, 52, 147, 26, 57, 22, 143, 225, 62, + 126, 127, 167, 22, 25, 52, 148, 149, 150, 159, + 225, 22, 23, 24, 25, 32, 36, 37, 39, 43, + 47, 56, 63, 64, 65, 66, 72, 74, 75, 78, + 84, 87, 92, 93, 96, 106, 108, 111, 145, 168, + 169, 170, 171, 172, 178, 181, 186, 187, 188, 191, + 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, + 205, 206, 207, 208, 211, 221, 224, 149, 28, 44, + 89, 116, 152, 160, 224, 182, 22, 23, 24, 210, + 30, 209, 212, 204, 48, 119, 173, 218, 204, 134, + 210, 209, 134, 222, 224, 60, 68, 69, 83, 132, + 26, 68, 116, 49, 161, 26, 131, 183, 184, 134, + 38, 89, 134, 131, 213, 214, 210, 55, 167, 210, + 134, 131, 134, 223, 222, 22, 23, 24, 189, 190, + 190, 167, 198, 219, 22, 23, 158, 225, 151, 40, + 162, 218, 58, 184, 185, 38, 215, 216, 224, 214, + 79, 22, 23, 24, 174, 175, 177, 179, 134, 217, + 198, 76, 117, 192, 60, 198, 134, 135, 154, 22, + 23, 225, 90, 163, 167, 167, 60, 95, 123, 134, + 137, 15, 138, 166, 58, 59, 180, 11, 76, 83, + 155, 156, 159, 68, 80, 157, 92, 53, 134, 164, + 165, 166, 37, 216, 167, 175, 176, 167, 218, 60, + 31, 222, 136, 137, 161, 153, 134, 167, 74, 219, + 134, 156, 134, 198 }; #define yyerrok (yyerrstatus = 0) @@ -2429,21 +2419,21 @@ yyparse () switch (yyn) { case 2: -#line 363 "pl_gram.y" +#line 361 "pl_gram.y" { plpgsql_parse_result = (PLpgSQL_stmt_block *) (yyvsp[(2) - (3)].stmt); ;} break; case 5: -#line 373 "pl_gram.y" +#line 371 "pl_gram.y" { plpgsql_DumpExecTree = true; ;} break; case 6: -#line 377 "pl_gram.y" +#line 375 "pl_gram.y" { if (strcmp((yyvsp[(3) - (3)].str), "on") == 0) plpgsql_curr_compile->print_strict_params = true; @@ -2455,42 +2445,42 @@ yyparse () break; case 7: -#line 386 "pl_gram.y" +#line 384 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_ERROR; ;} break; case 8: -#line 390 "pl_gram.y" +#line 388 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_VARIABLE; ;} break; case 9: -#line 394 "pl_gram.y" +#line 392 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_COLUMN; ;} break; case 10: -#line 400 "pl_gram.y" +#line 398 "pl_gram.y" { (yyval.str) = (yyvsp[(1) - (1)].word).ident; ;} break; case 11: -#line 404 "pl_gram.y" +#line 402 "pl_gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; case 14: -#line 413 "pl_gram.y" +#line 411 "pl_gram.y" { PLpgSQL_stmt_block *new; @@ -2513,7 +2503,7 @@ yyparse () break; case 15: -#line 436 "pl_gram.y" +#line 434 "pl_gram.y" { /* done with decls, so resume identifier lookup */ plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; @@ -2524,7 +2514,7 @@ yyparse () break; case 16: -#line 444 "pl_gram.y" +#line 442 "pl_gram.y" { plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; (yyval.declhdr).label = (yyvsp[(1) - (2)].str); @@ -2534,7 +2524,7 @@ yyparse () break; case 17: -#line 451 "pl_gram.y" +#line 449 "pl_gram.y" { plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; (yyval.declhdr).label = (yyvsp[(1) - (3)].str); @@ -2544,7 +2534,7 @@ yyparse () break; case 18: -#line 460 "pl_gram.y" +#line 458 "pl_gram.y" { /* Forget any variables created before block */ plpgsql_add_initdatums(NULL); @@ -2557,14 +2547,14 @@ yyparse () break; case 22: -#line 477 "pl_gram.y" +#line 475 "pl_gram.y" { /* We allow useless extra DECLAREs */ ;} break; case 23: -#line 481 "pl_gram.y" +#line 479 "pl_gram.y" { /* * Throw a helpful error if user tries to put block @@ -2578,7 +2568,7 @@ yyparse () break; case 24: -#line 494 "pl_gram.y" +#line 492 "pl_gram.y" { PLpgSQL_variable *var; @@ -2619,7 +2609,7 @@ yyparse () break; case 25: -#line 532 "pl_gram.y" +#line 530 "pl_gram.y" { plpgsql_ns_additem((yyvsp[(4) - (5)].nsitem)->itemtype, (yyvsp[(4) - (5)].nsitem)->itemno, (yyvsp[(1) - (5)].varname).name); @@ -2627,18 +2617,14 @@ yyparse () break; case 26: -#line 537 "pl_gram.y" +#line 535 "pl_gram.y" { plpgsql_ns_push((yyvsp[(1) - (3)].varname).name, PLPGSQL_LABEL_OTHER); ;} break; case 27: -#line 539 "pl_gram.y" +#line 537 "pl_gram.y" { PLpgSQL_var *new; - PLpgSQL_expr *curname_def; - char buf[NAMEDATALEN * 2 + 64]; - char *cp1; - char *cp2; /* pop local namespace for cursor args */ plpgsql_ns_pop(); @@ -2651,29 +2637,6 @@ yyparse () NULL), true); - curname_def = palloc0(sizeof(PLpgSQL_expr)); - - /* Note: refname has been truncated to NAMEDATALEN */ - cp1 = new->refname; - cp2 = buf; - /* - * Don't trust standard_conforming_strings here; - * it might change before we use the string. - */ - if (strchr(cp1, '\\') != NULL) - *cp2++ = ESCAPE_STRING_SYNTAX; - *cp2++ = '\''; - while (*cp1) - { - if (SQL_STR_DOUBLE(*cp1, true)) - *cp2++ = *cp1; - *cp2++ = *cp1++; - } - strcpy(cp2, "'::pg_catalog.refcursor"); - curname_def->query = pstrdup(buf); - curname_def->parseMode = RAW_PARSE_PLPGSQL_EXPR; - new->default_val = curname_def; - new->cursor_explicit_expr = (yyvsp[(7) - (7)].expr); if ((yyvsp[(5) - (7)].datum) == NULL) new->cursor_explicit_argrow = -1; @@ -2684,42 +2647,42 @@ yyparse () break; case 28: -#line 590 "pl_gram.y" +#line 561 "pl_gram.y" { (yyval.ival) = 0; ;} break; case 29: -#line 594 "pl_gram.y" +#line 565 "pl_gram.y" { (yyval.ival) = CURSOR_OPT_NO_SCROLL; ;} break; case 30: -#line 598 "pl_gram.y" +#line 569 "pl_gram.y" { (yyval.ival) = CURSOR_OPT_SCROLL; ;} break; case 31: -#line 604 "pl_gram.y" +#line 575 "pl_gram.y" { (yyval.expr) = read_sql_stmt(); ;} break; case 32: -#line 610 "pl_gram.y" +#line 581 "pl_gram.y" { (yyval.datum) = NULL; ;} break; case 33: -#line 614 "pl_gram.y" +#line 585 "pl_gram.y" { PLpgSQL_row *new; int i; @@ -2751,21 +2714,21 @@ yyparse () break; case 34: -#line 645 "pl_gram.y" +#line 616 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].datum)); ;} break; case 35: -#line 649 "pl_gram.y" +#line 620 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].datum)); ;} break; case 36: -#line 655 "pl_gram.y" +#line 626 "pl_gram.y" { (yyval.datum) = (PLpgSQL_datum *) plpgsql_build_variable((yyvsp[(1) - (2)].varname).name, (yyvsp[(1) - (2)].varname).lineno, @@ -2774,7 +2737,7 @@ yyparse () break; case 39: -#line 666 "pl_gram.y" +#line 637 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2792,7 +2755,7 @@ yyparse () break; case 40: -#line 681 "pl_gram.y" +#line 652 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2810,7 +2773,7 @@ yyparse () break; case 41: -#line 696 "pl_gram.y" +#line 667 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2839,7 +2802,7 @@ yyparse () break; case 42: -#line 724 "pl_gram.y" +#line 695 "pl_gram.y" { (yyval.varname).name = (yyvsp[(1) - (1)].word).ident; (yyval.varname).lineno = plpgsql_location_to_lineno((yylsp[(1) - (1)])); @@ -2870,7 +2833,7 @@ yyparse () break; case 43: -#line 752 "pl_gram.y" +#line 723 "pl_gram.y" { (yyval.varname).name = pstrdup((yyvsp[(1) - (1)].keyword)); (yyval.varname).lineno = plpgsql_location_to_lineno((yylsp[(1) - (1)])); @@ -2901,21 +2864,22 @@ yyparse () break; case 44: -#line 782 "pl_gram.y" +#line 753 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 45: -#line 784 "pl_gram.y" +#line 755 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 46: -#line 788 "pl_gram.y" +#line 759 "pl_gram.y" { /* - * If there's a lookahead token, read_datatype - * should consume it. + * If there's a lookahead token, read_datatype() will + * consume it, and then we must tell bison to forget + * it. */ (yyval.dtype) = read_datatype(yychar); yyclearin; @@ -2923,12 +2887,12 @@ yyparse () break; case 47: -#line 799 "pl_gram.y" +#line 771 "pl_gram.y" { (yyval.oid) = InvalidOid; ;} break; case 48: -#line 801 "pl_gram.y" +#line 773 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString((yyvsp[(2) - (2)].word).ident)), false); @@ -2936,7 +2900,7 @@ yyparse () break; case 49: -#line 806 "pl_gram.y" +#line 778 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString(pstrdup((yyvsp[(2) - (2)].keyword)))), false); @@ -2944,41 +2908,41 @@ yyparse () break; case 50: -#line 811 "pl_gram.y" +#line 783 "pl_gram.y" { (yyval.oid) = get_collation_oid((yyvsp[(2) - (2)].cword).idents, false); ;} break; case 51: -#line 817 "pl_gram.y" +#line 789 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 52: -#line 819 "pl_gram.y" +#line 791 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 53: -#line 823 "pl_gram.y" +#line 795 "pl_gram.y" { (yyval.expr) = NULL; ;} break; case 54: -#line 825 "pl_gram.y" +#line 797 "pl_gram.y" { (yyval.expr) = read_sql_expression(';', ";"); ;} break; case 59: -#line 844 "pl_gram.y" +#line 816 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 60: -#line 846 "pl_gram.y" +#line 818 "pl_gram.y" { /* don't bother linking null statements into list */ if ((yyvsp[(2) - (2)].stmt) == NULL) @@ -2989,127 +2953,127 @@ yyparse () break; case 61: -#line 856 "pl_gram.y" +#line 828 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); ;} break; case 62: -#line 858 "pl_gram.y" +#line 830 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 63: -#line 860 "pl_gram.y" +#line 832 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 64: -#line 862 "pl_gram.y" +#line 834 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 65: -#line 864 "pl_gram.y" +#line 836 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 66: -#line 866 "pl_gram.y" +#line 838 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 67: -#line 868 "pl_gram.y" +#line 840 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 68: -#line 870 "pl_gram.y" +#line 842 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 69: -#line 872 "pl_gram.y" +#line 844 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 70: -#line 874 "pl_gram.y" +#line 846 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 71: -#line 876 "pl_gram.y" +#line 848 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 72: -#line 878 "pl_gram.y" +#line 850 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 73: -#line 880 "pl_gram.y" +#line 852 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 74: -#line 882 "pl_gram.y" +#line 854 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 75: -#line 884 "pl_gram.y" +#line 856 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 76: -#line 886 "pl_gram.y" +#line 858 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 77: -#line 888 "pl_gram.y" +#line 860 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 78: -#line 890 "pl_gram.y" +#line 862 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 79: -#line 892 "pl_gram.y" +#line 864 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 80: -#line 894 "pl_gram.y" +#line 866 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 81: -#line 896 "pl_gram.y" +#line 868 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 82: -#line 898 "pl_gram.y" +#line 870 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 83: -#line 900 "pl_gram.y" +#line 872 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 84: -#line 902 "pl_gram.y" +#line 874 "pl_gram.y" { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); ;} break; case 85: -#line 906 "pl_gram.y" +#line 878 "pl_gram.y" { PLpgSQL_stmt_perform *new; int startloc; @@ -3130,7 +3094,7 @@ yyparse () */ new->expr = read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, false, true, + false, false, &startloc, NULL); /* overwrite "perform" ... */ memcpy(new->expr->query, " SELECT", 7); @@ -3146,7 +3110,7 @@ yyparse () break; case 86: -#line 942 "pl_gram.y" +#line 914 "pl_gram.y" { PLpgSQL_stmt_call *new; @@ -3167,7 +3131,7 @@ yyparse () break; case 87: -#line 960 "pl_gram.y" +#line 932 "pl_gram.y" { /* use the same structures as for CALL, for simplicity */ PLpgSQL_stmt_call *new; @@ -3189,7 +3153,7 @@ yyparse () break; case 88: -#line 981 "pl_gram.y" +#line 953 "pl_gram.y" { PLpgSQL_stmt_assign *new; RawParseMode pmode; @@ -3221,7 +3185,7 @@ yyparse () plpgsql_push_back_token(T_DATUM); new->expr = read_sql_construct(';', 0, 0, ";", pmode, - false, true, true, + false, true, NULL, NULL); (yyval.stmt) = (PLpgSQL_stmt *) new; @@ -3229,7 +3193,7 @@ yyparse () break; case 89: -#line 1020 "pl_gram.y" +#line 992 "pl_gram.y" { PLpgSQL_stmt_getdiag *new; ListCell *lc; @@ -3252,6 +3216,7 @@ yyparse () { /* these fields are disallowed in stacked case */ case PLPGSQL_GETDIAG_ROW_COUNT: + case PLPGSQL_GETDIAG_ROUTINE_OID: if (new->is_stacked) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), @@ -3292,42 +3257,42 @@ yyparse () break; case 90: -#line 1082 "pl_gram.y" +#line 1055 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 91: -#line 1086 "pl_gram.y" +#line 1059 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 92: -#line 1090 "pl_gram.y" +#line 1063 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 93: -#line 1096 "pl_gram.y" +#line 1069 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].diagitem)); ;} break; case 94: -#line 1100 "pl_gram.y" +#line 1073 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].diagitem)); ;} break; case 95: -#line 1106 "pl_gram.y" +#line 1079 "pl_gram.y" { PLpgSQL_diag_item *new; @@ -3340,13 +3305,16 @@ yyparse () break; case 96: -#line 1118 "pl_gram.y" +#line 1091 "pl_gram.y" { int tok = yylex(); if (tok_is_keyword(tok, &yylval, K_ROW_COUNT, "row_count")) (yyval.ival) = PLPGSQL_GETDIAG_ROW_COUNT; + else if (tok_is_keyword(tok, &yylval, + K_PG_ROUTINE_OID, "pg_routine_oid")) + (yyval.ival) = PLPGSQL_GETDIAG_ROUTINE_OID; else if (tok_is_keyword(tok, &yylval, K_PG_CONTEXT, "pg_context")) (yyval.ival) = PLPGSQL_GETDIAG_CONTEXT; @@ -3386,7 +3354,7 @@ yyparse () break; case 97: -#line 1163 "pl_gram.y" +#line 1139 "pl_gram.y" { /* * In principle we should support a getdiag_target @@ -3407,7 +3375,7 @@ yyparse () break; case 98: -#line 1181 "pl_gram.y" +#line 1157 "pl_gram.y" { /* just to give a better message than "syntax error" */ word_is_not_variable(&((yyvsp[(1) - (1)].word)), (yylsp[(1) - (1)])); @@ -3415,7 +3383,7 @@ yyparse () break; case 99: -#line 1186 "pl_gram.y" +#line 1162 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); @@ -3423,7 +3391,7 @@ yyparse () break; case 100: -#line 1193 "pl_gram.y" +#line 1169 "pl_gram.y" { PLpgSQL_stmt_if *new; @@ -3441,14 +3409,14 @@ yyparse () break; case 101: -#line 1210 "pl_gram.y" +#line 1186 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 102: -#line 1214 "pl_gram.y" +#line 1190 "pl_gram.y" { PLpgSQL_if_elsif *new; @@ -3462,28 +3430,28 @@ yyparse () break; case 103: -#line 1227 "pl_gram.y" +#line 1203 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 104: -#line 1231 "pl_gram.y" +#line 1207 "pl_gram.y" { (yyval.list) = (yyvsp[(2) - (2)].list); ;} break; case 105: -#line 1237 "pl_gram.y" +#line 1213 "pl_gram.y" { (yyval.stmt) = make_case((yylsp[(1) - (7)]), (yyvsp[(2) - (7)].expr), (yyvsp[(3) - (7)].list), (yyvsp[(4) - (7)].list)); ;} break; case 106: -#line 1243 "pl_gram.y" +#line 1219 "pl_gram.y" { PLpgSQL_expr *expr = NULL; int tok = yylex(); @@ -3499,21 +3467,21 @@ yyparse () break; case 107: -#line 1258 "pl_gram.y" +#line 1234 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].casewhen)); ;} break; case 108: -#line 1262 "pl_gram.y" +#line 1238 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].casewhen)); ;} break; case 109: -#line 1268 "pl_gram.y" +#line 1244 "pl_gram.y" { PLpgSQL_case_when *new = palloc(sizeof(PLpgSQL_case_when)); @@ -3525,14 +3493,14 @@ yyparse () break; case 110: -#line 1279 "pl_gram.y" +#line 1255 "pl_gram.y" { (yyval.list) = NIL; ;} break; case 111: -#line 1283 "pl_gram.y" +#line 1259 "pl_gram.y" { /* * proc_sect could return an empty list, but we @@ -3548,7 +3516,7 @@ yyparse () break; case 112: -#line 1298 "pl_gram.y" +#line 1274 "pl_gram.y" { PLpgSQL_stmt_loop *new; @@ -3567,7 +3535,7 @@ yyparse () break; case 113: -#line 1316 "pl_gram.y" +#line 1292 "pl_gram.y" { PLpgSQL_stmt_while *new; @@ -3587,7 +3555,7 @@ yyparse () break; case 114: -#line 1335 "pl_gram.y" +#line 1311 "pl_gram.y" { /* This runs after we've scanned the loop body */ if ((yyvsp[(3) - (4)].stmt)->cmd_type == PLPGSQL_STMT_FORI) @@ -3622,7 +3590,7 @@ yyparse () break; case 115: -#line 1369 "pl_gram.y" +#line 1345 "pl_gram.y" { int tok = yylex(); int tokloc = yylloc; @@ -3755,7 +3723,6 @@ yyparse () RAW_PARSE_DEFAULT, true, false, - true, &expr1loc, &tok); @@ -3864,7 +3831,7 @@ yyparse () break; case 116: -#line 1628 "pl_gram.y" +#line 1603 "pl_gram.y" { (yyval.forvariable).name = NameOfDatum(&((yyvsp[(1) - (1)].wdatum))); (yyval.forvariable).lineno = plpgsql_location_to_lineno((yylsp[(1) - (1)])); @@ -3893,7 +3860,7 @@ yyparse () break; case 117: -#line 1654 "pl_gram.y" +#line 1629 "pl_gram.y" { int tok; @@ -3910,7 +3877,7 @@ yyparse () break; case 118: -#line 1668 "pl_gram.y" +#line 1643 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); @@ -3918,7 +3885,7 @@ yyparse () break; case 119: -#line 1675 "pl_gram.y" +#line 1650 "pl_gram.y" { PLpgSQL_stmt_foreach_a *new; @@ -3957,21 +3924,21 @@ yyparse () break; case 120: -#line 1713 "pl_gram.y" +#line 1688 "pl_gram.y" { (yyval.ival) = 0; ;} break; case 121: -#line 1717 "pl_gram.y" +#line 1692 "pl_gram.y" { (yyval.ival) = (yyvsp[(2) - (2)].ival); ;} break; case 122: -#line 1723 "pl_gram.y" +#line 1698 "pl_gram.y" { PLpgSQL_stmt_exit *new; @@ -4025,21 +3992,21 @@ yyparse () break; case 123: -#line 1776 "pl_gram.y" +#line 1751 "pl_gram.y" { (yyval.boolean) = true; ;} break; case 124: -#line 1780 "pl_gram.y" +#line 1755 "pl_gram.y" { (yyval.boolean) = false; ;} break; case 125: -#line 1786 "pl_gram.y" +#line 1761 "pl_gram.y" { int tok; @@ -4066,7 +4033,7 @@ yyparse () break; case 126: -#line 1812 "pl_gram.y" +#line 1787 "pl_gram.y" { PLpgSQL_stmt_raise *new; int tok; @@ -4161,7 +4128,7 @@ yyparse () expr = read_sql_construct(',', ';', K_USING, ", or ; or USING", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &tok); new->params = lappend(new->params, expr); } @@ -4212,7 +4179,7 @@ yyparse () break; case 127: -#line 1957 "pl_gram.y" +#line 1932 "pl_gram.y" { PLpgSQL_stmt_assert *new; int tok; @@ -4237,7 +4204,7 @@ yyparse () break; case 128: -#line 1981 "pl_gram.y" +#line 1956 "pl_gram.y" { (yyval.loop_body).stmts = (yyvsp[(1) - (5)].list); (yyval.loop_body).end_label = (yyvsp[(4) - (5)].str); @@ -4246,28 +4213,28 @@ yyparse () break; case 129: -#line 1999 "pl_gram.y" +#line 1974 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_IMPORT, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_IMPORT, (yylsp[(1) - (1)]), NULL); ;} break; case 130: -#line 2003 "pl_gram.y" +#line 1978 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_INSERT, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_INSERT, (yylsp[(1) - (1)]), NULL); ;} break; case 131: -#line 2007 "pl_gram.y" +#line 1982 "pl_gram.y" { - (yyval.stmt) = make_execsql_stmt(K_MERGE, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(K_MERGE, (yylsp[(1) - (1)]), NULL); ;} break; case 132: -#line 2011 "pl_gram.y" +#line 1986 "pl_gram.y" { int tok; @@ -4276,12 +4243,12 @@ yyparse () if (tok == '=' || tok == COLON_EQUALS || tok == '[' || tok == '.') word_is_not_variable(&((yyvsp[(1) - (1)].word)), (yylsp[(1) - (1)])); - (yyval.stmt) = make_execsql_stmt(T_WORD, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(T_WORD, (yylsp[(1) - (1)]), &((yyvsp[(1) - (1)].word))); ;} break; case 133: -#line 2022 "pl_gram.y" +#line 1997 "pl_gram.y" { int tok; @@ -4290,12 +4257,12 @@ yyparse () if (tok == '=' || tok == COLON_EQUALS || tok == '[' || tok == '.') cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); - (yyval.stmt) = make_execsql_stmt(T_CWORD, (yylsp[(1) - (1)])); + (yyval.stmt) = make_execsql_stmt(T_CWORD, (yylsp[(1) - (1)]), NULL); ;} break; case 134: -#line 2035 "pl_gram.y" +#line 2010 "pl_gram.y" { PLpgSQL_stmt_dynexecute *new; PLpgSQL_expr *expr; @@ -4304,7 +4271,7 @@ yyparse () expr = read_sql_construct(K_INTO, K_USING, ';', "INTO or USING or ;", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new = palloc(sizeof(PLpgSQL_stmt_dynexecute)); @@ -4343,7 +4310,7 @@ yyparse () expr = read_sql_construct(',', ';', K_INTO, ", or ; or INTO", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new->params = lappend(new->params, expr); } while (endtoken == ','); @@ -4359,7 +4326,7 @@ yyparse () break; case 135: -#line 2099 "pl_gram.y" +#line 2074 "pl_gram.y" { PLpgSQL_stmt_open *new; int tok; @@ -4438,7 +4405,7 @@ yyparse () break; case 136: -#line 2177 "pl_gram.y" +#line 2152 "pl_gram.y" { PLpgSQL_stmt_fetch *fetch = (yyvsp[(2) - (4)].fetch); PLpgSQL_variable *target; @@ -4469,7 +4436,7 @@ yyparse () break; case 137: -#line 2207 "pl_gram.y" +#line 2182 "pl_gram.y" { PLpgSQL_stmt_fetch *fetch = (yyvsp[(2) - (4)].fetch); @@ -4482,14 +4449,14 @@ yyparse () break; case 138: -#line 2219 "pl_gram.y" +#line 2194 "pl_gram.y" { (yyval.fetch) = read_fetch_direction(); ;} break; case 139: -#line 2225 "pl_gram.y" +#line 2200 "pl_gram.y" { PLpgSQL_stmt_close *new; @@ -4504,7 +4471,7 @@ yyparse () break; case 140: -#line 2239 "pl_gram.y" +#line 2214 "pl_gram.y" { /* We do not bother building a node for NULL */ (yyval.stmt) = NULL; @@ -4512,7 +4479,7 @@ yyparse () break; case 141: -#line 2246 "pl_gram.y" +#line 2221 "pl_gram.y" { PLpgSQL_stmt_commit *new; @@ -4527,7 +4494,7 @@ yyparse () break; case 142: -#line 2260 "pl_gram.y" +#line 2235 "pl_gram.y" { PLpgSQL_stmt_rollback *new; @@ -4542,22 +4509,22 @@ yyparse () break; case 143: -#line 2274 "pl_gram.y" +#line 2249 "pl_gram.y" { (yyval.ival) = true; ;} break; case 144: -#line 2275 "pl_gram.y" +#line 2250 "pl_gram.y" { (yyval.ival) = false; ;} break; case 145: -#line 2276 "pl_gram.y" +#line 2251 "pl_gram.y" { (yyval.ival) = false; ;} break; case 146: -#line 2281 "pl_gram.y" +#line 2256 "pl_gram.y" { /* * In principle we should support a cursor_variable @@ -4582,7 +4549,7 @@ yyparse () break; case 147: -#line 2303 "pl_gram.y" +#line 2278 "pl_gram.y" { /* just to give a better message than "syntax error" */ word_is_not_variable(&((yyvsp[(1) - (1)].word)), (yylsp[(1) - (1)])); @@ -4590,7 +4557,7 @@ yyparse () break; case 148: -#line 2308 "pl_gram.y" +#line 2283 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[(1) - (1)].cword)), (yylsp[(1) - (1)])); @@ -4598,12 +4565,12 @@ yyparse () break; case 149: -#line 2315 "pl_gram.y" +#line 2290 "pl_gram.y" { (yyval.exception_block) = NULL; ;} break; case 150: -#line 2317 "pl_gram.y" +#line 2292 "pl_gram.y" { /* * We use a mid-rule action to add these @@ -4639,7 +4606,7 @@ yyparse () break; case 151: -#line 2350 "pl_gram.y" +#line 2325 "pl_gram.y" { PLpgSQL_exception_block *new = (yyvsp[(2) - (3)].exception_block); new->exc_list = (yyvsp[(3) - (3)].list); @@ -4649,21 +4616,21 @@ yyparse () break; case 152: -#line 2359 "pl_gram.y" +#line 2334 "pl_gram.y" { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].exception)); ;} break; case 153: -#line 2363 "pl_gram.y" +#line 2338 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[(1) - (1)].exception)); ;} break; case 154: -#line 2369 "pl_gram.y" +#line 2344 "pl_gram.y" { PLpgSQL_exception *new; @@ -4677,7 +4644,7 @@ yyparse () break; case 155: -#line 2382 "pl_gram.y" +#line 2357 "pl_gram.y" { PLpgSQL_condition *old; @@ -4689,14 +4656,14 @@ yyparse () break; case 156: -#line 2391 "pl_gram.y" +#line 2366 "pl_gram.y" { (yyval.condition) = (yyvsp[(1) - (1)].condition); ;} break; case 157: -#line 2397 "pl_gram.y" +#line 2372 "pl_gram.y" { if (strcmp((yyvsp[(1) - (1)].str), "sqlstate") != 0) { @@ -4733,22 +4700,22 @@ yyparse () break; case 158: -#line 2433 "pl_gram.y" +#line 2408 "pl_gram.y" { (yyval.expr) = read_sql_expression(';', ";"); ;} break; case 159: -#line 2437 "pl_gram.y" +#line 2412 "pl_gram.y" { (yyval.expr) = read_sql_expression(K_THEN, "THEN"); ;} break; case 160: -#line 2441 "pl_gram.y" +#line 2416 "pl_gram.y" { (yyval.expr) = read_sql_expression(K_LOOP, "LOOP"); ;} break; case 161: -#line 2445 "pl_gram.y" +#line 2420 "pl_gram.y" { plpgsql_ns_push(NULL, PLPGSQL_LABEL_BLOCK); (yyval.str) = NULL; @@ -4756,7 +4723,7 @@ yyparse () break; case 162: -#line 2450 "pl_gram.y" +#line 2425 "pl_gram.y" { plpgsql_ns_push((yyvsp[(2) - (3)].str), PLPGSQL_LABEL_BLOCK); (yyval.str) = (yyvsp[(2) - (3)].str); @@ -4764,7 +4731,7 @@ yyparse () break; case 163: -#line 2457 "pl_gram.y" +#line 2432 "pl_gram.y" { plpgsql_ns_push(NULL, PLPGSQL_LABEL_LOOP); (yyval.str) = NULL; @@ -4772,7 +4739,7 @@ yyparse () break; case 164: -#line 2462 "pl_gram.y" +#line 2437 "pl_gram.y" { plpgsql_ns_push((yyvsp[(2) - (3)].str), PLPGSQL_LABEL_LOOP); (yyval.str) = (yyvsp[(2) - (3)].str); @@ -4780,14 +4747,14 @@ yyparse () break; case 165: -#line 2469 "pl_gram.y" +#line 2444 "pl_gram.y" { (yyval.str) = NULL; ;} break; case 166: -#line 2473 "pl_gram.y" +#line 2448 "pl_gram.y" { /* label validity will be checked by outer production */ (yyval.str) = (yyvsp[(1) - (1)].str); @@ -4795,31 +4762,31 @@ yyparse () break; case 167: -#line 2480 "pl_gram.y" +#line 2455 "pl_gram.y" { (yyval.expr) = NULL; ;} break; case 168: -#line 2482 "pl_gram.y" +#line 2457 "pl_gram.y" { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;} break; case 169: -#line 2489 "pl_gram.y" +#line 2464 "pl_gram.y" { (yyval.str) = (yyvsp[(1) - (1)].word).ident; ;} break; case 170: -#line 2493 "pl_gram.y" +#line 2468 "pl_gram.y" { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;} break; case 171: -#line 2497 "pl_gram.y" +#line 2472 "pl_gram.y" { if ((yyvsp[(1) - (1)].wdatum).ident == NULL) /* composite name not OK */ yyerror("syntax error"); @@ -4829,7 +4796,7 @@ yyparse () /* Line 1267 of yacc.c. */ -#line 4780 "pl_gram.c" +#line 4747 "pl_gram.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5049,7 +5016,7 @@ yyparse () } -#line 2588 "pl_gram.y" +#line 2564 "pl_gram.y" /* @@ -5128,7 +5095,7 @@ read_sql_expression(int until, const char *expected) { return read_sql_construct(until, 0, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, NULL); + true, true, NULL, NULL); } /* Convenience routine to read an expression with two possible terminators */ @@ -5138,7 +5105,7 @@ read_sql_expression2(int until, int until2, const char *expected, { return read_sql_construct(until, until2, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, endtoken); + true, true, NULL, endtoken); } /* Convenience routine to read a SQL statement that must end with ';' */ @@ -5147,7 +5114,7 @@ read_sql_stmt(void) { return read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, true, true, NULL, NULL); + false, true, NULL, NULL); } /* @@ -5160,7 +5127,6 @@ read_sql_stmt(void) * parsemode: raw_parser() mode to use * isexpression: whether to say we're reading an "expression" or a "statement" * valid_sql: whether to check the syntax of the expr - * trim: trim trailing whitespace * startloc: if not NULL, location of first token is stored at *startloc * endtoken: if not NULL, ending token is stored at *endtoken * (this is only interesting if until2 or until3 isn't zero) @@ -5173,7 +5139,6 @@ read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken) { @@ -5181,6 +5146,7 @@ read_sql_construct(int until, StringInfoData ds; IdentifierLookup save_IdentifierLookup; int startlocation = -1; + int endlocation = -1; int parenlevel = 0; PLpgSQL_expr *expr; @@ -5231,6 +5197,8 @@ read_sql_construct(int until, expected), parser_errposition(yylloc))); } + /* Remember end+1 location of last accepted token */ + endlocation = yylloc + plpgsql_token_length(); } plpgsql_IdentifierLookup = save_IdentifierLookup; @@ -5241,7 +5209,7 @@ read_sql_construct(int until, *endtoken = tok; /* give helpful complaint about empty input */ - if (startlocation >= yylloc) + if (startlocation >= endlocation) { if (isexpression) yyerror("missing expression"); @@ -5249,14 +5217,14 @@ read_sql_construct(int until, yyerror("missing SQL statement"); } - plpgsql_append_source_text(&ds, startlocation, yylloc); - - /* trim any trailing whitespace, for neatness */ - if (trim) - { - while (ds.len > 0 && scanner_isspace(ds.data[ds.len - 1])) - ds.data[--ds.len] = '\0'; - } + /* + * We save only the text from startlocation to endlocation-1. This + * suppresses the "until" token as well as any whitespace or comments + * following the last accepted token. (We used to strip such trailing + * whitespace by hand, but that causes problems if there's a "-- comment" + * in front of said whitespace.) + */ + plpgsql_append_source_text(&ds, startlocation, endlocation); expr = palloc0(sizeof(PLpgSQL_expr)); expr->query = pstrdup(ds.data); @@ -5273,13 +5241,17 @@ read_sql_construct(int until, return expr; } +/* + * Read a datatype declaration, consuming the current lookahead token if any. + * Returns a PLpgSQL_type struct. + */ static PLpgSQL_type * read_datatype(int tok) { StringInfoData ds; char *type_name; int startlocation; - PLpgSQL_type *result; + PLpgSQL_type *result = NULL; int parenlevel = 0; /* Should only be called while parsing DECLARE sections */ @@ -5289,11 +5261,12 @@ read_datatype(int tok) if (tok == YYEMPTY) tok = yylex(); + /* The current token is the start of what we'll pass to parse_datatype */ startlocation = yylloc; /* - * If we have a simple or composite identifier, check for %TYPE - * and %ROWTYPE constructs. + * If we have a simple or composite identifier, check for %TYPE and + * %ROWTYPE constructs. */ if (tok == T_WORD) { @@ -5305,18 +5278,10 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_wordtype(dtname); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_wordrowtype(dtname); - if (result) - return result; - } } } else if (plpgsql_token_is_unreserved_keyword(tok)) @@ -5329,18 +5294,10 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_wordtype(dtname); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_wordrowtype(dtname); - if (result) - return result; - } } } else if (tok == T_CWORD) @@ -5353,21 +5310,56 @@ read_datatype(int tok) tok = yylex(); if (tok_is_keyword(tok, &yylval, K_TYPE, "type")) - { result = plpgsql_parse_cwordtype(dtnames); - if (result) - return result; - } else if (tok_is_keyword(tok, &yylval, K_ROWTYPE, "rowtype")) - { result = plpgsql_parse_cwordrowtype(dtnames); - if (result) - return result; - } } } + /* + * If we recognized a %TYPE or %ROWTYPE construct, see if it is followed + * by array decoration: [ ARRAY ] [ '[' [ iconst ] ']' [ ... ] ] + * + * Like the core parser, we ignore the specific numbers and sizes of + * dimensions; arrays of different dimensionality are still the same type + * in Postgres. + */ + if (result) + { + bool is_array = false; + + tok = yylex(); + if (tok_is_keyword(tok, &yylval, + K_ARRAY, "array")) + { + is_array = true; + tok = yylex(); + } + while (tok == '[') + { + is_array = true; + tok = yylex(); + if (tok == ICONST) + tok = yylex(); + if (tok != ']') + yyerror("syntax error, expected \"]\""); + tok = yylex(); + } + plpgsql_push_back_token(tok); + + if (is_array) + result = plpgsql_build_datatype_arrayof(result); + + return result; + } + + /* + * Not %TYPE or %ROWTYPE, so scan to the end of the datatype declaration, + * which could include typmod or array decoration. We are not very picky + * here, instead relying on parse_datatype to complain about garbage. But + * we must count parens to handle typmods within cursor_arg correctly. + */ while (tok != ';') { if (tok == 0) @@ -5409,8 +5401,13 @@ read_datatype(int tok) return result; } +/* + * Read a generic SQL statement. We have already read its first token; + * firsttoken is that token's code and location its starting location. + * If firsttoken == T_WORD, pass its yylval value as "word", else pass NULL. + */ static PLpgSQL_stmt * -make_execsql_stmt(int firsttoken, int location) +make_execsql_stmt(int firsttoken, int location, PLword *word) { StringInfoData ds; IdentifierLookup save_IdentifierLookup; @@ -5423,9 +5420,16 @@ make_execsql_stmt(int firsttoken, int location) bool have_strict = false; int into_start_loc = -1; int into_end_loc = -1; + int paren_depth = 0; + int begin_depth = 0; + bool in_routine_definition = false; + int token_count = 0; + char tokens[4]; /* records the first few tokens */ initStringInfo(&ds); + memset(tokens, 0, sizeof(tokens)); + /* special lookup mode for identifiers within the SQL text */ save_IdentifierLookup = plpgsql_IdentifierLookup; plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_EXPR; @@ -5434,6 +5438,12 @@ make_execsql_stmt(int firsttoken, int location) * Scan to the end of the SQL command. Identify any INTO-variables * clause lurking within it, and parse that via read_into_target(). * + * The end of the statement is defined by a semicolon ... except that + * semicolons within parentheses or BEGIN/END blocks don't terminate a + * statement. We follow psql's lead in not recognizing BEGIN/END except + * after CREATE [OR REPLACE] {FUNCTION|PROCEDURE}. END can also appear + * within a CASE construct, so we treat CASE/END like BEGIN/END. + * * Because INTO is sometimes used in the main SQL grammar, we have to be * careful not to take any such usage of INTO as a PL/pgSQL INTO clause. * There are currently three such cases: @@ -5459,13 +5469,50 @@ make_execsql_stmt(int firsttoken, int location) * break this logic again ... beware! */ tok = firsttoken; + if (tok == T_WORD && strcmp(word->ident, "create") == 0) + tokens[token_count] = 'c'; + token_count++; + for (;;) { prev_tok = tok; tok = yylex(); if (have_into && into_end_loc < 0) into_end_loc = yylloc; /* token after the INTO part */ - if (tok == ';') + /* Detect CREATE [OR REPLACE] {FUNCTION|PROCEDURE} */ + if (tokens[0] == 'c' && token_count < sizeof(tokens)) + { + if (tok == K_OR) + tokens[token_count] = 'o'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "replace") == 0) + tokens[token_count] = 'r'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "function") == 0) + tokens[token_count] = 'f'; + else if (tok == T_WORD && + strcmp(yylval.word.ident, "procedure") == 0) + tokens[token_count] = 'f'; /* treat same as "function" */ + if (tokens[1] == 'f' || + (tokens[1] == 'o' && tokens[2] == 'r' && tokens[3] == 'f')) + in_routine_definition = true; + token_count++; + } + /* Track paren nesting (needed for CREATE RULE syntax) */ + if (tok == '(') + paren_depth++; + else if (tok == ')' && paren_depth > 0) + paren_depth--; + /* We need track BEGIN/END nesting only in a routine definition */ + if (in_routine_definition && paren_depth == 0) + { + if (tok == K_BEGIN || tok == K_CASE) + begin_depth++; + else if (tok == K_END && begin_depth > 0) + begin_depth--; + } + /* Command-ending semicolon? */ + if (tok == ';' && paren_depth == 0 && begin_depth == 0) break; if (tok == 0) yyerror("unexpected end of function definition"); @@ -5629,11 +5676,11 @@ read_fetch_direction(void) { /* * Assume it's a count expression with no preceding keyword. - * Note: we allow this syntax because core SQL does, but we don't - * document it because of the ambiguity with the omitted-direction - * case. For instance, "MOVE n IN c" will fail if n is a variable. - * Perhaps this can be improved someday, but it's hardly worth a - * lot of work. + * Note: we allow this syntax because core SQL does, but it's + * ambiguous with the case of an omitted direction clause; for + * instance, "MOVE n IN c" will fail if n is a variable, because the + * preceding else-arm will trigger. Perhaps this can be improved + * someday, but it hardly seems worth a lot of work. */ plpgsql_push_back_token(tok); fetch->expr = read_sql_expression2(K_FROM, K_IN, @@ -6123,7 +6170,30 @@ plpgsql_sql_error_callback(void *arg) * This is handled the same as in check_sql_expr(), and we likewise * expect that the given string is a copy from the source text. */ -static PLpgSQL_type * parse_datatype(const char *string, int location) { PLpgSQL_type *typ; typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); typ->typname = pstrdup(string); typ->ttype = strcmp(string, "RECORD") == 0 ? PLPGSQL_TTYPE_REC : PLPGSQL_TTYPE_SCALAR; return typ; } + +#include "catalog/pg_collation_d.h" +static PLpgSQL_type * parse_datatype(const char *string, int location) { + PLpgSQL_type *typ; + + /* Ignore trailing spaces */ + size_t len = strlen(string); + while (len > 0 && scanner_isspace(string[len - 1])) --len; + + typ = (PLpgSQL_type *) palloc0(sizeof(PLpgSQL_type)); + typ->typname = pstrdup(string); + typ->ttype = pg_strncasecmp(string, "RECORD", len) == 0 ? PLPGSQL_TTYPE_REC : PLPGSQL_TTYPE_SCALAR; + if (pg_strncasecmp(string, "REFCURSOR", len) == 0 || pg_strncasecmp(string, "CURSOR", len) == 0) + { + typ->typoid = REFCURSOROID; + } + else if (pg_strncasecmp(string, "TEXT", len) == 0) + { + typ->typoid = TEXTOID; + typ->collation = DEFAULT_COLLATION_OID; + } + return typ; +} + /* @@ -6262,16 +6332,12 @@ read_cursor_args(PLpgSQL_var *cursor, int until) * Read the value expression. To provide the user with meaningful * parse error positions, we check the syntax immediately, instead of * checking the final expression that may have the arguments - * reordered. Trailing whitespace must not be trimmed, because - * otherwise input of the form (param -- comment\n, param) would be - * translated into a form where the second parameter is commented - * out. + * reordered. */ item = read_sql_construct(',', ')', 0, ",\" or \")", RAW_PARSE_PLPGSQL_EXPR, true, true, - false, /* do not trim */ NULL, &endtoken); argv[argpos] = item->query; diff --git a/parser/src_pl_plpgsql_src_pl_handler.c b/parser/src_pl_plpgsql_src_pl_handler.c index 26aa5912..1da37464 100644 --- a/parser/src_pl_plpgsql_src_pl_handler.c +++ b/parser/src_pl_plpgsql_src_pl_handler.c @@ -10,7 +10,7 @@ * pl_handler.c - Handler for the PL/pgSQL * procedural language * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * diff --git a/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h b/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h index 5051c0a8..a19b5288 100644 --- a/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h +++ b/parser/src_pl_plpgsql_src_pl_reserved_kwlist_d.h @@ -12,7 +12,7 @@ * pl_reserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES diff --git a/parser/src_pl_plpgsql_src_pl_scanner.c b/parser/src_pl_plpgsql_src_pl_scanner.c index ca623332..edc12a7d 100644 --- a/parser/src_pl_plpgsql_src_pl_scanner.c +++ b/parser/src_pl_plpgsql_src_pl_scanner.c @@ -26,6 +26,7 @@ * - plpgsql_peek * - plpgsql_token_is_unreserved_keyword * - plpgsql_append_source_text + * - plpgsql_token_length * - plpgsql_peek2 * - plpgsql_scanner_finish * - plpgsql_latest_lineno @@ -38,7 +39,7 @@ * lexical scanning for PL/pgSQL * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -230,6 +231,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B.C */ + aux1.leng = aux5.lloc - aux1.lloc + aux5.leng; } else { @@ -243,6 +246,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -256,6 +261,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -344,6 +351,17 @@ plpgsql_yylex(void) return tok1; } +/* + * Return the length of the token last returned by plpgsql_yylex(). + * + * In the case of compound tokens, the length includes all the parts. + */ +int +plpgsql_token_length(void) +{ + return plpgsql_yyleng; +} + /* * Internal yylex function. This wraps the core lexer and adds one feature: * a token pushback stack. We also make a couple of trivial single-token diff --git a/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h b/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h index 9e88f136..7b9a5405 100644 --- a/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h +++ b/parser/src_pl_plpgsql_src_pl_unreserved_kwlist_d.h @@ -12,7 +12,7 @@ * pl_unreserved_kwlist_d.h * List of keywords represented as a ScanKeywordList. * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * NOTES @@ -89,6 +89,7 @@ static const char UnreservedPLKeywords_kw_string[] = "pg_exception_context\0" "pg_exception_detail\0" "pg_exception_hint\0" + "pg_routine_oid\0" "print_strict_params\0" "prior\0" "query\0" @@ -174,63 +175,64 @@ static const uint16 UnreservedPLKeywords_kw_offsets[] = { 420, 440, 458, - 478, - 484, - 490, - 496, + 473, + 493, + 499, 505, - 512, - 530, - 538, - 547, - 557, - 565, + 511, + 520, + 527, + 545, + 553, + 562, 572, - 584, - 591, - 597, + 580, + 587, + 599, 606, - 614, - 620, - 631, - 636, - 647, - 660, - 678, + 612, + 621, + 629, + 635, + 646, + 651, + 662, + 675, + 693, }; -#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS 82 +#define UNRESERVEDPLKEYWORDS_NUM_KEYWORDS 83 static int UnreservedPLKeywords_hash_func(const void *key, size_t keylen) { - static const int16 h[165] = { - 58, 0, 26, 32767, 0, 0, 9, 32767, - 0, 32767, 37, 74, 32767, -7, 32767, 39, - 58, -5, 32767, 31, 32767, 32767, 75, -23, - 32767, 0, 32767, 32767, 32767, -14, 32767, 81, - 32767, 32767, 32767, -36, -9, 32767, 32767, 32767, - 40, 32767, 54, 10, 11, 43, 32767, 0, - 52, 105, -22, 15, 32767, -33, 49, -65, - 48, 32767, 32767, 32767, 25, 49, -47, 37, - 21, 32767, 32767, -15, 70, 32767, 32767, 64, - -10, 126, 32767, 51, 0, 36, 32767, -55, - -22, 32767, 32767, 32767, 32767, 32767, -26, -35, - 32767, 61, 32767, 32767, 32767, -23, 98, 48, - 23, 19, 32767, 7, 35, 5, -18, 71, - 28, 5, 32767, 32767, 32767, 74, 32767, 82, - 32767, 0, 32767, 32767, 66, 0, 0, 50, - 32767, 32767, 5, 2, 0, 32767, 55, 32767, - 32767, 45, 79, 32767, 32767, 73, 22, 0, - 103, 32767, -20, 72, 32767, 0, 29, 32767, - 0, 32767, 32767, 0, 50, 28, 32767, -40, - 32767, 32767, 34, 56, 32767, 32767, 32767, 17, - -36, 32767, 67, 32767, 0 + static const int16 h[167] = { + 0, -26, 32767, 0, 74, -36, 32767, 32767, + 93, 0, 35, 14, 34, -65, -42, 78, + -22, 8, 10, 0, 5, 32767, 10, 26, + 32767, 4, 32767, 32767, -81, -9, -25, 32767, + -17, 11, 0, -43, 11, 8, 45, 0, + 32767, 32767, 32767, 12, 0, 32767, 32, 32767, + 0, 32767, -18, 64, 32767, -2, 31, 32767, + 50, 80, -75, 32767, 32767, 32767, 0, 32767, + 32767, 0, 54, 82, 32767, 32767, 69, 60, + 43, 32767, 0, 95, 21, 1, 27, 0, + 120, 32767, -46, 32767, -57, 32767, 32767, 55, + 70, 32767, 28, 32767, 0, -14, -38, 32767, + 57, 0, 32767, 19, 98, 0, 32767, 68, + 32767, 32767, 32767, 32767, -26, 13, 27, 35, + 37, 32767, 49, -44, 65, -35, 0, 32767, + 32767, 32767, 30, 0, 0, 32767, 26, 42, + 7, 32767, 72, -43, 32767, 0, 32767, 89, + 36, 48, 32767, 32, 38, 3, 32767, 49, + 32767, 0, 51, 0, 32767, 73, 32767, 32767, + 79, 32767, 30, 32767, 0, 0, 50, 32767, + 0, 32767, 32767, 32767, 0, 32767, 32767 }; const unsigned char *k = (const unsigned char *) key; uint32 a = 0; - uint32 b = 0; + uint32 b = 1; while (keylen--) { @@ -239,7 +241,7 @@ UnreservedPLKeywords_hash_func(const void *key, size_t keylen) a = a * 257 + c; b = b * 8191 + c; } - return h[a % 165] + h[b % 165]; + return h[a % 167] + h[b % 167]; } static const ScanKeywordList UnreservedPLKeywords = { diff --git a/parser/src_port_pg_bitutils.c b/parser/src_port_pg_bitutils.c index 6889b8a7..a46e4592 100644 --- a/parser/src_port_pg_bitutils.c +++ b/parser/src_port_pg_bitutils.c @@ -2,6 +2,11 @@ * Symbols referenced in this file: * - pg_popcount64 * - pg_popcount64_slow + * - pg_popcount32 + * - pg_popcount32_slow + * - pg_leftmost_one_pos + * - pg_rightmost_one_pos + * - pg_number_of_ones *-------------------------------------------------------------------- */ @@ -10,7 +15,7 @@ * pg_bitutils.c * Miscellaneous functions for bit-wise operations. * - * Copyright (c) 2019-2022, PostgreSQL Global Development Group + * Copyright (c) 2019-2024, PostgreSQL Global Development Group * * IDENTIFICATION * src/port/pg_bitutils.c @@ -38,7 +43,24 @@ * HAVE__BUILTIN_CLZ is defined, but we provide it anyway, so that * extensions possibly compiled with a different compiler can use it. */ - +const uint8 pg_leftmost_one_pos[256] = { + 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 +}; /* * Array giving the position of the right-most set bit for each possible @@ -49,7 +71,24 @@ * HAVE__BUILTIN_CTZ is defined, but we provide it anyway, so that * extensions possibly compiled with a different compiler can use it. */ - +const uint8 pg_rightmost_one_pos[256] = { + 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, + 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 +}; /* * Array giving the number of 1-bits in each possible byte value. @@ -57,20 +96,45 @@ * Note: we export this for use by functions in which explicit use * of the popcount functions seems unlikely to be a win. */ - - -static int pg_popcount32_slow(uint32 word); -static int pg_popcount64_slow(uint64 word); +const uint8 pg_number_of_ones[256] = { + 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, + 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8 +}; + +static inline int pg_popcount32_slow(uint32 word); +static inline int pg_popcount64_slow(uint64 word); +static uint64 pg_popcount_slow(const char *buf, int bytes); +static uint64 pg_popcount_masked_slow(const char *buf, int bytes, bits8 mask); #ifdef TRY_POPCNT_FAST static bool pg_popcount_available(void); static int pg_popcount32_choose(uint32 word); static int pg_popcount64_choose(uint64 word); -static int pg_popcount32_fast(uint32 word); -static int pg_popcount64_fast(uint64 word); +static uint64 pg_popcount_choose(const char *buf, int bytes); +static uint64 pg_popcount_masked_choose(const char *buf, int bytes, bits8 mask); +static inline int pg_popcount32_fast(uint32 word); +static inline int pg_popcount64_fast(uint64 word); +static uint64 pg_popcount_fast(const char *buf, int bytes); +static uint64 pg_popcount_masked_fast(const char *buf, int bytes, bits8 mask); int (*pg_popcount32) (uint32 word) = pg_popcount32_choose; int (*pg_popcount64) (uint64 word) = pg_popcount64_choose; +uint64 (*pg_popcount_optimized) (const char *buf, int bytes) = pg_popcount_choose; +uint64 (*pg_popcount_masked_optimized) (const char *buf, int bytes, bits8 mask) = pg_popcount_masked_choose; #endif /* TRY_POPCNT_FAST */ #ifdef TRY_POPCNT_FAST @@ -100,45 +164,66 @@ pg_popcount_available(void) * the function pointers so that subsequent calls are routed directly to * the chosen implementation. */ -static int -pg_popcount32_choose(uint32 word) +static inline void +choose_popcount_functions(void) { if (pg_popcount_available()) { pg_popcount32 = pg_popcount32_fast; pg_popcount64 = pg_popcount64_fast; + pg_popcount_optimized = pg_popcount_fast; + pg_popcount_masked_optimized = pg_popcount_masked_fast; } else { pg_popcount32 = pg_popcount32_slow; pg_popcount64 = pg_popcount64_slow; + pg_popcount_optimized = pg_popcount_slow; + pg_popcount_masked_optimized = pg_popcount_masked_slow; } +#ifdef USE_AVX512_POPCNT_WITH_RUNTIME_CHECK + if (pg_popcount_avx512_available()) + { + pg_popcount_optimized = pg_popcount_avx512; + pg_popcount_masked_optimized = pg_popcount_masked_avx512; + } +#endif +} + +static int +pg_popcount32_choose(uint32 word) +{ + choose_popcount_functions(); return pg_popcount32(word); } static int pg_popcount64_choose(uint64 word) { - if (pg_popcount_available()) - { - pg_popcount32 = pg_popcount32_fast; - pg_popcount64 = pg_popcount64_fast; - } - else - { - pg_popcount32 = pg_popcount32_slow; - pg_popcount64 = pg_popcount64_slow; - } - + choose_popcount_functions(); return pg_popcount64(word); } +static uint64 +pg_popcount_choose(const char *buf, int bytes) +{ + choose_popcount_functions(); + return pg_popcount_optimized(buf, bytes); +} + +static uint64 +pg_popcount_masked_choose(const char *buf, int bytes, bits8 mask) +{ + choose_popcount_functions(); + return pg_popcount_masked(buf, bytes, mask); +} + /* * pg_popcount32_fast * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount32_fast(uint32 word) { #ifdef _MSC_VER @@ -155,7 +240,7 @@ __asm__ __volatile__(" popcntl %1,%0\n":"=q"(res):"rm"(word):"cc"); * pg_popcount64_fast * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount64_fast(uint64 word) { #ifdef _MSC_VER @@ -168,6 +253,102 @@ __asm__ __volatile__(" popcntq %1,%0\n":"=q"(res):"rm"(word):"cc"); #endif } +/* + * pg_popcount_fast + * Returns the number of 1-bits in buf + */ +static uint64 +pg_popcount_fast(const char *buf, int bytes) +{ + uint64 popcnt = 0; + +#if SIZEOF_VOID_P >= 8 + /* Process in 64-bit chunks if the buffer is aligned. */ + if (buf == (const char *) TYPEALIGN(8, buf)) + { + const uint64 *words = (const uint64 *) buf; + + while (bytes >= 8) + { + popcnt += pg_popcount64_fast(*words++); + bytes -= 8; + } + + buf = (const char *) words; + } +#else + /* Process in 32-bit chunks if the buffer is aligned. */ + if (buf == (const char *) TYPEALIGN(4, buf)) + { + const uint32 *words = (const uint32 *) buf; + + while (bytes >= 4) + { + popcnt += pg_popcount32_fast(*words++); + bytes -= 4; + } + + buf = (const char *) words; + } +#endif + + /* Process any remaining bytes */ + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++]; + + return popcnt; +} + +/* + * pg_popcount_masked_fast + * Returns the number of 1-bits in buf after applying the mask to each byte + */ +static uint64 +pg_popcount_masked_fast(const char *buf, int bytes, bits8 mask) +{ + uint64 popcnt = 0; + +#if SIZEOF_VOID_P >= 8 + /* Process in 64-bit chunks if the buffer is aligned */ + uint64 maskv = ~UINT64CONST(0) / 0xFF * mask; + + if (buf == (const char *) TYPEALIGN(8, buf)) + { + const uint64 *words = (const uint64 *) buf; + + while (bytes >= 8) + { + popcnt += pg_popcount64_fast(*words++ & maskv); + bytes -= 8; + } + + buf = (const char *) words; + } +#else + /* Process in 32-bit chunks if the buffer is aligned. */ + uint32 maskv = ~((uint32) 0) / 0xFF * mask; + + if (buf == (const char *) TYPEALIGN(4, buf)) + { + const uint32 *words = (const uint32 *) buf; + + while (bytes >= 4) + { + popcnt += pg_popcount32_fast(*words++ & maskv); + bytes -= 4; + } + + buf = (const char *) words; + } +#endif + + /* Process any remaining bytes */ + while (bytes--) + popcnt += pg_number_of_ones[(unsigned char) *buf++ & mask]; + + return popcnt; +} + #endif /* TRY_POPCNT_FAST */ @@ -175,15 +356,29 @@ __asm__ __volatile__(" popcntq %1,%0\n":"=q"(res):"rm"(word):"cc"); * pg_popcount32_slow * Return the number of 1 bits set in word */ +static inline int +pg_popcount32_slow(uint32 word) +{ #ifdef HAVE__BUILTIN_POPCOUNT + return __builtin_popcount(word); #else /* !HAVE__BUILTIN_POPCOUNT */ + int result = 0; + + while (word != 0) + { + result += pg_number_of_ones[word & 255]; + word >>= 8; + } + + return result; #endif /* HAVE__BUILTIN_POPCOUNT */ +} /* * pg_popcount64_slow * Return the number of 1 bits set in word */ -static int +static inline int pg_popcount64_slow(uint64 word) { #ifdef HAVE__BUILTIN_POPCOUNT @@ -207,6 +402,22 @@ pg_popcount64_slow(uint64 word) #endif /* HAVE__BUILTIN_POPCOUNT */ } +/* + * pg_popcount_slow + * Returns the number of 1-bits in buf + */ +#if SIZEOF_VOID_P >= 8 +#else +#endif + +/* + * pg_popcount_masked_slow + * Returns the number of 1-bits in buf after applying the mask to each byte + */ +#if SIZEOF_VOID_P >= 8 +#else +#endif + #ifndef TRY_POPCNT_FAST /* @@ -216,7 +427,11 @@ pg_popcount64_slow(uint64 word) * TRY_POPCNT_FAST is not defined. The compiler should be able to inline * the slow versions here. */ - +int +pg_popcount32(uint32 word) +{ + return pg_popcount32_slow(word); +} int pg_popcount64(uint64 word) @@ -224,12 +439,16 @@ pg_popcount64(uint64 word) return pg_popcount64_slow(word); } -#endif /* !TRY_POPCNT_FAST */ - /* - * pg_popcount + * pg_popcount_optimized * Returns the number of 1-bits in buf */ -#if SIZEOF_VOID_P >= 8 -#else -#endif + + +/* + * pg_popcount_masked_optimized + * Returns the number of 1-bits in buf after applying the mask to each byte + */ + + +#endif /* !TRY_POPCNT_FAST */ diff --git a/parser/src_port_pgsleep.c b/parser/src_port_pgsleep.c deleted file mode 100644 index e1e87c16..00000000 --- a/parser/src_port_pgsleep.c +++ /dev/null @@ -1,69 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - pg_usleep - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * pgsleep.c - * Portable delay handling. - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * - * src/port/pgsleep.c - * - *------------------------------------------------------------------------- - */ -#include "c.h" - -#include -#include -#ifdef HAVE_SYS_SELECT_H -#include -#endif - -/* - * In a Windows backend, we don't use this implementation, but rather - * the signal-aware version in src/backend/port/win32/signal.c. - */ -#if defined(FRONTEND) || !defined(WIN32) - -/* - * pg_usleep --- delay the specified number of microseconds. - * - * NOTE: although the delay is specified in microseconds, the effective - * resolution is only 1/HZ, or 10 milliseconds, on most Unixen. Expect - * the requested delay to be rounded up to the next resolution boundary. - * - * On machines where "long" is 32 bits, the maximum delay is ~2000 seconds. - * - * CAUTION: the behavior when a signal arrives during the sleep is platform - * dependent. On most Unix-ish platforms, a signal does not terminate the - * sleep; but on some, it will (the Windows implementation also allows signals - * to terminate pg_usleep). And there are platforms where not only does a - * signal not terminate the sleep, but it actually resets the timeout counter - * so that the sleep effectively starts over! It is therefore rather hazardous - * to use this for long sleeps; a continuing stream of signal events could - * prevent the sleep from ever terminating. Better practice for long sleeps - * is to use WaitLatch() with a timeout. - */ -void -pg_usleep(long microsec) -{ - if (microsec > 0) - { -#ifndef WIN32 - struct timeval delay; - - delay.tv_sec = microsec / 1000000L; - delay.tv_usec = microsec % 1000000L; - (void) select(0, NULL, NULL, NULL, &delay); -#else - SleepEx((microsec < 500 ? 1 : (microsec + 500) / 1000), FALSE); -#endif - } -} - -#endif /* defined(FRONTEND) || !defined(WIN32) */ diff --git a/parser/src_port_pgstrcasecmp.c b/parser/src_port_pgstrcasecmp.c index efa35edd..ea693e49 100644 --- a/parser/src_port_pgstrcasecmp.c +++ b/parser/src_port_pgstrcasecmp.c @@ -1,6 +1,8 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: + * - pg_strcasecmp * - pg_toupper + * - pg_strncasecmp *-------------------------------------------------------------------- */ @@ -24,7 +26,7 @@ * C library thinks the locale is. * * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * src/port/pgstrcasecmp.c * @@ -38,13 +40,67 @@ /* * Case-independent comparison of two null-terminated strings. */ +int +pg_strcasecmp(const char *s1, const char *s2) +{ + for (;;) + { + unsigned char ch1 = (unsigned char) *s1++; + unsigned char ch2 = (unsigned char) *s2++; + + if (ch1 != ch2) + { + if (ch1 >= 'A' && ch1 <= 'Z') + ch1 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch1) && isupper(ch1)) + ch1 = tolower(ch1); + if (ch2 >= 'A' && ch2 <= 'Z') + ch2 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch2) && isupper(ch2)) + ch2 = tolower(ch2); + + if (ch1 != ch2) + return (int) ch1 - (int) ch2; + } + if (ch1 == 0) + break; + } + return 0; +} /* * Case-independent comparison of two not-necessarily-null-terminated strings. * At most n bytes will be examined from each string. */ +int +pg_strncasecmp(const char *s1, const char *s2, size_t n) +{ + while (n-- > 0) + { + unsigned char ch1 = (unsigned char) *s1++; + unsigned char ch2 = (unsigned char) *s2++; + + if (ch1 != ch2) + { + if (ch1 >= 'A' && ch1 <= 'Z') + ch1 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch1) && isupper(ch1)) + ch1 = tolower(ch1); + if (ch2 >= 'A' && ch2 <= 'Z') + ch2 += 'a' - 'A'; + else if (IS_HIGHBIT_SET(ch2) && isupper(ch2)) + ch2 = tolower(ch2); + + if (ch1 != ch2) + return (int) ch1 - (int) ch2; + } + if (ch1 == 0) + break; + } + return 0; +} /* * Fold a character to upper case. diff --git a/parser/src_port_snprintf.c b/parser/src_port_snprintf.c index 37cb3581..6d05feff 100644 --- a/parser/src_port_snprintf.c +++ b/parser/src_port_snprintf.c @@ -1,11 +1,11 @@ /*-------------------------------------------------------------------- * Symbols referenced in this file: - * - pg_vfprintf + * - pg_vsnprintf * - dopr * - pg_snprintf - * - pg_vsnprintf - * - strchrnul + * - pg_strchrnul * - dostr + * - flushbuffer * - find_arguments * - fmtint * - adjust_sign @@ -18,8 +18,8 @@ * - fmtptr * - fmtfloat * - dopr_outch - * - flushbuffer * - pg_fprintf + * - pg_vfprintf * - pg_sprintf * - pg_vsprintf * - pg_printf @@ -30,7 +30,7 @@ * Copyright (c) 1983, 1995, 1996 Eric P. Allman * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -362,13 +362,22 @@ static void leading_pad(int zpad, int signvalue, int *padlen, static void trailing_pad(int padlen, PrintfTarget *target); /* - * If strchrnul exists (it's a glibc-ism), it's a good bit faster than the - * equivalent manual loop. If it doesn't exist, provide a replacement. + * If strchrnul exists (it's a glibc-ism, but since adopted by some other + * platforms), it's a good bit faster than the equivalent manual loop. + * Use it if possible, and if it doesn't exist, use this replacement. * * Note: glibc declares this as returning "char *", but that would require * casting away const internally, so we don't follow that detail. + * + * Note: macOS has this too as of Sequoia 15.4, but it's hidden behind + * a deployment-target check that causes compile errors if the deployment + * target isn't high enough. So !HAVE_DECL_STRCHRNUL may mean "yes it's + * declared, but it doesn't compile". To avoid failing in that scenario, + * use a macro to avoid matching 's name. */ -#ifndef HAVE_STRCHRNUL +#if !HAVE_DECL_STRCHRNUL + +#define strchrnul pg_strchrnul static inline const char * strchrnul(const char *s, int c) @@ -378,19 +387,7 @@ strchrnul(const char *s, int c) return s; } -#else - -/* - * glibc's declares strchrnul only if _GNU_SOURCE is defined. - * While we typically use that on glibc platforms, configure will set - * HAVE_STRCHRNUL whether it's used or not. Fill in the missing declaration - * so that this file will compile cleanly with or without _GNU_SOURCE. - */ -#ifndef _GNU_SOURCE -extern char *strchrnul(const char *s, int c); -#endif - -#endif /* HAVE_STRCHRNUL */ +#endif /* !HAVE_DECL_STRCHRNUL */ /* @@ -780,12 +777,8 @@ find_arguments(const char *format, va_list args, int longflag; int fmtpos; int i; - int last_dollar; - PrintfArgType argtypes[PG_NL_ARGMAX + 1]; - - /* Initialize to "no dollar arguments known" */ - last_dollar = 0; - MemSet(argtypes, 0, sizeof(argtypes)); + int last_dollar = 0; /* Init to "no dollar arguments known" */ + PrintfArgType argtypes[PG_NL_ARGMAX + 1] = {0}; /* * This loop must accept the same format strings as the one in dopr(). diff --git a/parser/src_port_strerror.c b/parser/src_port_strerror.c index 45686d38..1f70d103 100644 --- a/parser/src_port_strerror.c +++ b/parser/src_port_strerror.c @@ -11,7 +11,7 @@ * strerror.c * Replacements for standard strerror() and strerror_r() functions * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * @@ -216,10 +216,8 @@ get_errno_symbol(int errnum) return "ENOTCONN"; case ENOTDIR: return "ENOTDIR"; -#if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) /* same code on AIX */ case ENOTEMPTY: return "ENOTEMPTY"; -#endif case ENOTSOCK: return "ENOTSOCK"; #ifdef ENOTSUP diff --git a/parser/src_port_strlcpy.c b/parser/src_port_strlcpy.c new file mode 100644 index 00000000..649229fc --- /dev/null +++ b/parser/src_port_strlcpy.c @@ -0,0 +1,79 @@ +/*-------------------------------------------------------------------- + * Symbols referenced in this file: + * - strlcpy + *-------------------------------------------------------------------- + */ + +/*------------------------------------------------------------------------- + * + * strlcpy.c + * strncpy done right + * + * Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group + * + * + * IDENTIFICATION + * src/port/strlcpy.c + * + * This file was taken from OpenBSD and is used on platforms that don't + * provide strlcpy(). The OpenBSD copyright terms follow. + *------------------------------------------------------------------------- + */ + +/* $OpenBSD: strlcpy.c,v 1.11 2006/05/05 15:27:38 millert Exp $ */ + +/* + * Copyright (c) 1998 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "c.h" +#if HAVE_DECL_STRLCPY == 0 + + +/* + * Copy src to string dst of size siz. At most siz-1 characters + * will be copied. Always NUL terminates (unless siz == 0). + * Returns strlen(src); if retval >= siz, truncation occurred. + * Function creation history: http://www.gratisoft.us/todd/papers/strlcpy.html + */ +size_t +strlcpy(char *dst, const char *src, size_t siz) +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + /* Copy as many bytes as will fit */ + if (n != 0) + { + while (--n != 0) + { + if ((*d++ = *s++) == '\0') + break; + } + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) + { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return (s - src - 1); /* count does not include NUL */ +} +#endif // HAVE_DECL_STRLCPY == 0 diff --git a/parser/src_port_strnlen.c b/parser/src_port_strnlen.c deleted file mode 100644 index 91e640f4..00000000 --- a/parser/src_port_strnlen.c +++ /dev/null @@ -1,39 +0,0 @@ -/*-------------------------------------------------------------------- - * Symbols referenced in this file: - * - strnlen - *-------------------------------------------------------------------- - */ - -/*------------------------------------------------------------------------- - * - * strnlen.c - * Fallback implementation of strnlen(). - * - * - * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * IDENTIFICATION - * src/port/strnlen.c - * - *------------------------------------------------------------------------- - */ - -#include "c.h" - -/* - * Implementation of posix' strnlen for systems where it's not available. - * - * Returns the number of characters before a null-byte in the string pointed - * to by str, unless there's no null-byte before maxlen. In the latter case - * maxlen is returned. - */ -size_t -strnlen(const char *str, size_t maxlen) -{ - const char *p = str; - - while (maxlen-- > 0 && *p) - p++; - return p - str; -} diff --git a/parser/string_to_bytes.go b/parser/string_to_bytes.go new file mode 100644 index 00000000..f0f44bce --- /dev/null +++ b/parser/string_to_bytes.go @@ -0,0 +1,14 @@ +//go:build go1.20 +// +build go1.20 + +package parser + +import "unsafe" + +func toBytes(s string) (b []byte) { + if s == "" { + return nil + } + + return unsafe.Slice(unsafe.StringData(s), len(s)) +} diff --git a/pg_query.go b/pg_query.go index 91a23c5f..a5c8c00f 100644 --- a/pg_query.go +++ b/pg_query.go @@ -1,9 +1,12 @@ +//go:build cgo +// +build cgo + package pg_query import ( - proto "github.com/golang/protobuf/proto" + "google.golang.org/protobuf/proto" - "github.com/pganalyze/pg_query_go/v4/parser" + "github.com/pganalyze/pg_query_go/v6/parser" ) func Scan(input string) (result *ScanResult, err error) { @@ -49,11 +52,16 @@ func ParsePlPgSqlToJSON(input string) (result string, err error) { return parser.ParsePlPgSqlToJSON(input) } -// Normalize the passed SQL statement to replace constant values with ? characters +// Normalize the passed SQL statement to replace constant values with $n parameter references func Normalize(input string) (result string, err error) { return parser.Normalize(input) } +// Normalize the passed utility statement to replace constant values with $n parameter references +func NormalizeUtility(input string) (result string, err error) { + return parser.NormalizeUtility(input) +} + // Fingerprint - Fingerprint the passed SQL statement to a hex string func Fingerprint(input string) (result string, err error) { return parser.FingerprintToHexStr(input) @@ -68,3 +76,33 @@ func FingerprintToUInt64(input string) (result uint64, err error) { func HashXXH3_64(input []byte, seed uint64) (result uint64) { return parser.HashXXH3_64(input, seed) } + +func SplitWithScanner(input string, trimSpace bool) (result []string, err error) { + return parser.SplitWithScanner(input, trimSpace) +} + +func SplitWithParser(input string, trimSpace bool) (result []string, err error) { + return parser.SplitWithParser(input, trimSpace) +} + +// IsUtilityStmt - Determines whether each statement in the query is a utility statement +// +// Returns a slice of booleans, one for each statement in the query. +// true = utility statement / DDL, false = SELECT / INSERT / UPDATE / DELETE / MERGE +func IsUtilityStmt(input string) (result []bool, err error) { + return parser.IsUtilityStmt(input) +} + +// Summary - Extracts summary information from SQL statement +// +// Optionally, you can pass a positive numbered truncateLimit to return a +// "smart" truncated version of the input statement that is at most limit length. +func Summary(input string, truncateLimit int) (result *SummaryResult, err error) { + protobufSummary, err := parser.SummaryToProtobuf(input, truncateLimit) + if err != nil { + return + } + result = &SummaryResult{} + err = proto.Unmarshal(protobufSummary, result) + return +} diff --git a/pg_query.pb.go b/pg_query.pb.go index 97e648e3..0c749f7a 100644 --- a/pg_query.pb.go +++ b/pg_query.pb.go @@ -2,14 +2,13 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.21.9 +// protoc-gen-go v1.31.0 +// protoc v6.33.1 // source: pg_query.proto package pg_query import ( - proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -23,62 +22,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - -type OverridingKind int32 - -const ( - OverridingKind_OVERRIDING_KIND_UNDEFINED OverridingKind = 0 - OverridingKind_OVERRIDING_NOT_SET OverridingKind = 1 - OverridingKind_OVERRIDING_USER_VALUE OverridingKind = 2 - OverridingKind_OVERRIDING_SYSTEM_VALUE OverridingKind = 3 -) - -// Enum value maps for OverridingKind. -var ( - OverridingKind_name = map[int32]string{ - 0: "OVERRIDING_KIND_UNDEFINED", - 1: "OVERRIDING_NOT_SET", - 2: "OVERRIDING_USER_VALUE", - 3: "OVERRIDING_SYSTEM_VALUE", - } - OverridingKind_value = map[string]int32{ - "OVERRIDING_KIND_UNDEFINED": 0, - "OVERRIDING_NOT_SET": 1, - "OVERRIDING_USER_VALUE": 2, - "OVERRIDING_SYSTEM_VALUE": 3, - } -) - -func (x OverridingKind) Enum() *OverridingKind { - p := new(OverridingKind) - *p = x - return p -} - -func (x OverridingKind) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (OverridingKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[0].Descriptor() -} - -func (OverridingKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[0] -} - -func (x OverridingKind) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OverridingKind.Descriptor instead. -func (OverridingKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{0} -} - type QuerySource int32 const ( @@ -121,11 +64,11 @@ func (x QuerySource) String() string { } func (QuerySource) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[1].Descriptor() + return file_pg_query_proto_enumTypes[0].Descriptor() } func (QuerySource) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[1] + return &file_pg_query_proto_enumTypes[0] } func (x QuerySource) Number() protoreflect.EnumNumber { @@ -134,7 +77,7 @@ func (x QuerySource) Number() protoreflect.EnumNumber { // Deprecated: Use QuerySource.Descriptor instead. func (QuerySource) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{1} + return file_pg_query_proto_rawDescGZIP(), []int{0} } type SortByDir int32 @@ -176,11 +119,11 @@ func (x SortByDir) String() string { } func (SortByDir) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[2].Descriptor() + return file_pg_query_proto_enumTypes[1].Descriptor() } func (SortByDir) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[2] + return &file_pg_query_proto_enumTypes[1] } func (x SortByDir) Number() protoreflect.EnumNumber { @@ -189,7 +132,7 @@ func (x SortByDir) Number() protoreflect.EnumNumber { // Deprecated: Use SortByDir.Descriptor instead. func (SortByDir) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{2} + return file_pg_query_proto_rawDescGZIP(), []int{1} } type SortByNulls int32 @@ -228,11 +171,11 @@ func (x SortByNulls) String() string { } func (SortByNulls) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[3].Descriptor() + return file_pg_query_proto_enumTypes[2].Descriptor() } func (SortByNulls) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[3] + return &file_pg_query_proto_enumTypes[2] } func (x SortByNulls) Number() protoreflect.EnumNumber { @@ -241,7 +184,7 @@ func (x SortByNulls) Number() protoreflect.EnumNumber { // Deprecated: Use SortByNulls.Descriptor instead. func (SortByNulls) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{3} + return file_pg_query_proto_rawDescGZIP(), []int{2} } type SetQuantifier int32 @@ -280,11 +223,11 @@ func (x SetQuantifier) String() string { } func (SetQuantifier) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[4].Descriptor() + return file_pg_query_proto_enumTypes[3].Descriptor() } func (SetQuantifier) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[4] + return &file_pg_query_proto_enumTypes[3] } func (x SetQuantifier) Number() protoreflect.EnumNumber { @@ -293,7 +236,7 @@ func (x SetQuantifier) Number() protoreflect.EnumNumber { // Deprecated: Use SetQuantifier.Descriptor instead. func (SetQuantifier) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{4} + return file_pg_query_proto_rawDescGZIP(), []int{3} } type A_Expr_Kind int32 @@ -365,11 +308,11 @@ func (x A_Expr_Kind) String() string { } func (A_Expr_Kind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[5].Descriptor() + return file_pg_query_proto_enumTypes[4].Descriptor() } func (A_Expr_Kind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[5] + return &file_pg_query_proto_enumTypes[4] } func (x A_Expr_Kind) Number() protoreflect.EnumNumber { @@ -378,7 +321,7 @@ func (x A_Expr_Kind) Number() protoreflect.EnumNumber { // Deprecated: Use A_Expr_Kind.Descriptor instead. func (A_Expr_Kind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{5} + return file_pg_query_proto_rawDescGZIP(), []int{4} } type RoleSpecType int32 @@ -423,11 +366,11 @@ func (x RoleSpecType) String() string { } func (RoleSpecType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[6].Descriptor() + return file_pg_query_proto_enumTypes[5].Descriptor() } func (RoleSpecType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[6] + return &file_pg_query_proto_enumTypes[5] } func (x RoleSpecType) Number() protoreflect.EnumNumber { @@ -436,7 +379,7 @@ func (x RoleSpecType) Number() protoreflect.EnumNumber { // Deprecated: Use RoleSpecType.Descriptor instead. func (RoleSpecType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{6} + return file_pg_query_proto_rawDescGZIP(), []int{5} } type TableLikeOption int32 @@ -496,11 +439,11 @@ func (x TableLikeOption) String() string { } func (TableLikeOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[7].Descriptor() + return file_pg_query_proto_enumTypes[6].Descriptor() } func (TableLikeOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[7] + return &file_pg_query_proto_enumTypes[6] } func (x TableLikeOption) Number() protoreflect.EnumNumber { @@ -509,7 +452,7 @@ func (x TableLikeOption) Number() protoreflect.EnumNumber { // Deprecated: Use TableLikeOption.Descriptor instead. func (TableLikeOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{7} + return file_pg_query_proto_rawDescGZIP(), []int{6} } type DefElemAction int32 @@ -551,11 +494,11 @@ func (x DefElemAction) String() string { } func (DefElemAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[8].Descriptor() + return file_pg_query_proto_enumTypes[7].Descriptor() } func (DefElemAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[8] + return &file_pg_query_proto_enumTypes[7] } func (x DefElemAction) Number() protoreflect.EnumNumber { @@ -564,6 +507,58 @@ func (x DefElemAction) Number() protoreflect.EnumNumber { // Deprecated: Use DefElemAction.Descriptor instead. func (DefElemAction) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{7} +} + +type PartitionStrategy int32 + +const ( + PartitionStrategy_PARTITION_STRATEGY_UNDEFINED PartitionStrategy = 0 + PartitionStrategy_PARTITION_STRATEGY_LIST PartitionStrategy = 1 + PartitionStrategy_PARTITION_STRATEGY_RANGE PartitionStrategy = 2 + PartitionStrategy_PARTITION_STRATEGY_HASH PartitionStrategy = 3 +) + +// Enum value maps for PartitionStrategy. +var ( + PartitionStrategy_name = map[int32]string{ + 0: "PARTITION_STRATEGY_UNDEFINED", + 1: "PARTITION_STRATEGY_LIST", + 2: "PARTITION_STRATEGY_RANGE", + 3: "PARTITION_STRATEGY_HASH", + } + PartitionStrategy_value = map[string]int32{ + "PARTITION_STRATEGY_UNDEFINED": 0, + "PARTITION_STRATEGY_LIST": 1, + "PARTITION_STRATEGY_RANGE": 2, + "PARTITION_STRATEGY_HASH": 3, + } +) + +func (x PartitionStrategy) Enum() *PartitionStrategy { + p := new(PartitionStrategy) + *p = x + return p +} + +func (x PartitionStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PartitionStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[8].Descriptor() +} + +func (PartitionStrategy) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[8] +} + +func (x PartitionStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PartitionStrategy.Descriptor instead. +func (PartitionStrategy) EnumDescriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{8} } @@ -860,6 +855,116 @@ func (CTEMaterialize) EnumDescriptor() ([]byte, []int) { return file_pg_query_proto_rawDescGZIP(), []int{13} } +type JsonQuotes int32 + +const ( + JsonQuotes_JSON_QUOTES_UNDEFINED JsonQuotes = 0 + JsonQuotes_JS_QUOTES_UNSPEC JsonQuotes = 1 + JsonQuotes_JS_QUOTES_KEEP JsonQuotes = 2 + JsonQuotes_JS_QUOTES_OMIT JsonQuotes = 3 +) + +// Enum value maps for JsonQuotes. +var ( + JsonQuotes_name = map[int32]string{ + 0: "JSON_QUOTES_UNDEFINED", + 1: "JS_QUOTES_UNSPEC", + 2: "JS_QUOTES_KEEP", + 3: "JS_QUOTES_OMIT", + } + JsonQuotes_value = map[string]int32{ + "JSON_QUOTES_UNDEFINED": 0, + "JS_QUOTES_UNSPEC": 1, + "JS_QUOTES_KEEP": 2, + "JS_QUOTES_OMIT": 3, + } +) + +func (x JsonQuotes) Enum() *JsonQuotes { + p := new(JsonQuotes) + *p = x + return p +} + +func (x JsonQuotes) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonQuotes) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[14].Descriptor() +} + +func (JsonQuotes) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[14] +} + +func (x JsonQuotes) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonQuotes.Descriptor instead. +func (JsonQuotes) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{14} +} + +type JsonTableColumnType int32 + +const ( + JsonTableColumnType_JSON_TABLE_COLUMN_TYPE_UNDEFINED JsonTableColumnType = 0 + JsonTableColumnType_JTC_FOR_ORDINALITY JsonTableColumnType = 1 + JsonTableColumnType_JTC_REGULAR JsonTableColumnType = 2 + JsonTableColumnType_JTC_EXISTS JsonTableColumnType = 3 + JsonTableColumnType_JTC_FORMATTED JsonTableColumnType = 4 + JsonTableColumnType_JTC_NESTED JsonTableColumnType = 5 +) + +// Enum value maps for JsonTableColumnType. +var ( + JsonTableColumnType_name = map[int32]string{ + 0: "JSON_TABLE_COLUMN_TYPE_UNDEFINED", + 1: "JTC_FOR_ORDINALITY", + 2: "JTC_REGULAR", + 3: "JTC_EXISTS", + 4: "JTC_FORMATTED", + 5: "JTC_NESTED", + } + JsonTableColumnType_value = map[string]int32{ + "JSON_TABLE_COLUMN_TYPE_UNDEFINED": 0, + "JTC_FOR_ORDINALITY": 1, + "JTC_REGULAR": 2, + "JTC_EXISTS": 3, + "JTC_FORMATTED": 4, + "JTC_NESTED": 5, + } +) + +func (x JsonTableColumnType) Enum() *JsonTableColumnType { + p := new(JsonTableColumnType) + *p = x + return p +} + +func (x JsonTableColumnType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (JsonTableColumnType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[15].Descriptor() +} + +func (JsonTableColumnType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[15] +} + +func (x JsonTableColumnType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use JsonTableColumnType.Descriptor instead. +func (JsonTableColumnType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{15} +} + type SetOperation int32 const ( @@ -899,11 +1004,11 @@ func (x SetOperation) String() string { } func (SetOperation) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[14].Descriptor() + return file_pg_query_proto_enumTypes[16].Descriptor() } func (SetOperation) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[14] + return &file_pg_query_proto_enumTypes[16] } func (x SetOperation) Number() protoreflect.EnumNumber { @@ -912,7 +1017,7 @@ func (x SetOperation) Number() protoreflect.EnumNumber { // Deprecated: Use SetOperation.Descriptor instead. func (SetOperation) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{14} + return file_pg_query_proto_rawDescGZIP(), []int{16} } type ObjectType int32 @@ -1098,11 +1203,11 @@ func (x ObjectType) String() string { } func (ObjectType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[15].Descriptor() + return file_pg_query_proto_enumTypes[17].Descriptor() } func (ObjectType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[15] + return &file_pg_query_proto_enumTypes[17] } func (x ObjectType) Number() protoreflect.EnumNumber { @@ -1111,7 +1216,7 @@ func (x ObjectType) Number() protoreflect.EnumNumber { // Deprecated: Use ObjectType.Descriptor instead. func (ObjectType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{15} + return file_pg_query_proto_rawDescGZIP(), []int{17} } type DropBehavior int32 @@ -1147,11 +1252,11 @@ func (x DropBehavior) String() string { } func (DropBehavior) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[16].Descriptor() + return file_pg_query_proto_enumTypes[18].Descriptor() } func (DropBehavior) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[16] + return &file_pg_query_proto_enumTypes[18] } func (x DropBehavior) Number() protoreflect.EnumNumber { @@ -1160,7 +1265,7 @@ func (x DropBehavior) Number() protoreflect.EnumNumber { // Deprecated: Use DropBehavior.Descriptor instead. func (DropBehavior) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{16} + return file_pg_query_proto_rawDescGZIP(), []int{18} } type AlterTableType int32 @@ -1168,12 +1273,12 @@ type AlterTableType int32 const ( AlterTableType_ALTER_TABLE_TYPE_UNDEFINED AlterTableType = 0 AlterTableType_AT_AddColumn AlterTableType = 1 - AlterTableType_AT_AddColumnRecurse AlterTableType = 2 - AlterTableType_AT_AddColumnToView AlterTableType = 3 - AlterTableType_AT_ColumnDefault AlterTableType = 4 - AlterTableType_AT_CookedColumnDefault AlterTableType = 5 - AlterTableType_AT_DropNotNull AlterTableType = 6 - AlterTableType_AT_SetNotNull AlterTableType = 7 + AlterTableType_AT_AddColumnToView AlterTableType = 2 + AlterTableType_AT_ColumnDefault AlterTableType = 3 + AlterTableType_AT_CookedColumnDefault AlterTableType = 4 + AlterTableType_AT_DropNotNull AlterTableType = 5 + AlterTableType_AT_SetNotNull AlterTableType = 6 + AlterTableType_AT_SetExpression AlterTableType = 7 AlterTableType_AT_DropExpression AlterTableType = 8 AlterTableType_AT_CheckNotNull AlterTableType = 9 AlterTableType_AT_SetStatistics AlterTableType = 10 @@ -1182,62 +1287,58 @@ const ( AlterTableType_AT_SetStorage AlterTableType = 13 AlterTableType_AT_SetCompression AlterTableType = 14 AlterTableType_AT_DropColumn AlterTableType = 15 - AlterTableType_AT_DropColumnRecurse AlterTableType = 16 - AlterTableType_AT_AddIndex AlterTableType = 17 - AlterTableType_AT_ReAddIndex AlterTableType = 18 - AlterTableType_AT_AddConstraint AlterTableType = 19 - AlterTableType_AT_AddConstraintRecurse AlterTableType = 20 - AlterTableType_AT_ReAddConstraint AlterTableType = 21 - AlterTableType_AT_ReAddDomainConstraint AlterTableType = 22 - AlterTableType_AT_AlterConstraint AlterTableType = 23 - AlterTableType_AT_ValidateConstraint AlterTableType = 24 - AlterTableType_AT_ValidateConstraintRecurse AlterTableType = 25 - AlterTableType_AT_AddIndexConstraint AlterTableType = 26 - AlterTableType_AT_DropConstraint AlterTableType = 27 - AlterTableType_AT_DropConstraintRecurse AlterTableType = 28 - AlterTableType_AT_ReAddComment AlterTableType = 29 - AlterTableType_AT_AlterColumnType AlterTableType = 30 - AlterTableType_AT_AlterColumnGenericOptions AlterTableType = 31 - AlterTableType_AT_ChangeOwner AlterTableType = 32 - AlterTableType_AT_ClusterOn AlterTableType = 33 - AlterTableType_AT_DropCluster AlterTableType = 34 - AlterTableType_AT_SetLogged AlterTableType = 35 - AlterTableType_AT_SetUnLogged AlterTableType = 36 - AlterTableType_AT_DropOids AlterTableType = 37 - AlterTableType_AT_SetAccessMethod AlterTableType = 38 - AlterTableType_AT_SetTableSpace AlterTableType = 39 - AlterTableType_AT_SetRelOptions AlterTableType = 40 - AlterTableType_AT_ResetRelOptions AlterTableType = 41 - AlterTableType_AT_ReplaceRelOptions AlterTableType = 42 - AlterTableType_AT_EnableTrig AlterTableType = 43 - AlterTableType_AT_EnableAlwaysTrig AlterTableType = 44 - AlterTableType_AT_EnableReplicaTrig AlterTableType = 45 - AlterTableType_AT_DisableTrig AlterTableType = 46 - AlterTableType_AT_EnableTrigAll AlterTableType = 47 - AlterTableType_AT_DisableTrigAll AlterTableType = 48 - AlterTableType_AT_EnableTrigUser AlterTableType = 49 - AlterTableType_AT_DisableTrigUser AlterTableType = 50 - AlterTableType_AT_EnableRule AlterTableType = 51 - AlterTableType_AT_EnableAlwaysRule AlterTableType = 52 - AlterTableType_AT_EnableReplicaRule AlterTableType = 53 - AlterTableType_AT_DisableRule AlterTableType = 54 - AlterTableType_AT_AddInherit AlterTableType = 55 - AlterTableType_AT_DropInherit AlterTableType = 56 - AlterTableType_AT_AddOf AlterTableType = 57 - AlterTableType_AT_DropOf AlterTableType = 58 - AlterTableType_AT_ReplicaIdentity AlterTableType = 59 - AlterTableType_AT_EnableRowSecurity AlterTableType = 60 - AlterTableType_AT_DisableRowSecurity AlterTableType = 61 - AlterTableType_AT_ForceRowSecurity AlterTableType = 62 - AlterTableType_AT_NoForceRowSecurity AlterTableType = 63 - AlterTableType_AT_GenericOptions AlterTableType = 64 - AlterTableType_AT_AttachPartition AlterTableType = 65 - AlterTableType_AT_DetachPartition AlterTableType = 66 - AlterTableType_AT_DetachPartitionFinalize AlterTableType = 67 - AlterTableType_AT_AddIdentity AlterTableType = 68 - AlterTableType_AT_SetIdentity AlterTableType = 69 - AlterTableType_AT_DropIdentity AlterTableType = 70 - AlterTableType_AT_ReAddStatistics AlterTableType = 71 + AlterTableType_AT_AddIndex AlterTableType = 16 + AlterTableType_AT_ReAddIndex AlterTableType = 17 + AlterTableType_AT_AddConstraint AlterTableType = 18 + AlterTableType_AT_ReAddConstraint AlterTableType = 19 + AlterTableType_AT_ReAddDomainConstraint AlterTableType = 20 + AlterTableType_AT_AlterConstraint AlterTableType = 21 + AlterTableType_AT_ValidateConstraint AlterTableType = 22 + AlterTableType_AT_AddIndexConstraint AlterTableType = 23 + AlterTableType_AT_DropConstraint AlterTableType = 24 + AlterTableType_AT_ReAddComment AlterTableType = 25 + AlterTableType_AT_AlterColumnType AlterTableType = 26 + AlterTableType_AT_AlterColumnGenericOptions AlterTableType = 27 + AlterTableType_AT_ChangeOwner AlterTableType = 28 + AlterTableType_AT_ClusterOn AlterTableType = 29 + AlterTableType_AT_DropCluster AlterTableType = 30 + AlterTableType_AT_SetLogged AlterTableType = 31 + AlterTableType_AT_SetUnLogged AlterTableType = 32 + AlterTableType_AT_DropOids AlterTableType = 33 + AlterTableType_AT_SetAccessMethod AlterTableType = 34 + AlterTableType_AT_SetTableSpace AlterTableType = 35 + AlterTableType_AT_SetRelOptions AlterTableType = 36 + AlterTableType_AT_ResetRelOptions AlterTableType = 37 + AlterTableType_AT_ReplaceRelOptions AlterTableType = 38 + AlterTableType_AT_EnableTrig AlterTableType = 39 + AlterTableType_AT_EnableAlwaysTrig AlterTableType = 40 + AlterTableType_AT_EnableReplicaTrig AlterTableType = 41 + AlterTableType_AT_DisableTrig AlterTableType = 42 + AlterTableType_AT_EnableTrigAll AlterTableType = 43 + AlterTableType_AT_DisableTrigAll AlterTableType = 44 + AlterTableType_AT_EnableTrigUser AlterTableType = 45 + AlterTableType_AT_DisableTrigUser AlterTableType = 46 + AlterTableType_AT_EnableRule AlterTableType = 47 + AlterTableType_AT_EnableAlwaysRule AlterTableType = 48 + AlterTableType_AT_EnableReplicaRule AlterTableType = 49 + AlterTableType_AT_DisableRule AlterTableType = 50 + AlterTableType_AT_AddInherit AlterTableType = 51 + AlterTableType_AT_DropInherit AlterTableType = 52 + AlterTableType_AT_AddOf AlterTableType = 53 + AlterTableType_AT_DropOf AlterTableType = 54 + AlterTableType_AT_ReplicaIdentity AlterTableType = 55 + AlterTableType_AT_EnableRowSecurity AlterTableType = 56 + AlterTableType_AT_DisableRowSecurity AlterTableType = 57 + AlterTableType_AT_ForceRowSecurity AlterTableType = 58 + AlterTableType_AT_NoForceRowSecurity AlterTableType = 59 + AlterTableType_AT_GenericOptions AlterTableType = 60 + AlterTableType_AT_AttachPartition AlterTableType = 61 + AlterTableType_AT_DetachPartition AlterTableType = 62 + AlterTableType_AT_DetachPartitionFinalize AlterTableType = 63 + AlterTableType_AT_AddIdentity AlterTableType = 64 + AlterTableType_AT_SetIdentity AlterTableType = 65 + AlterTableType_AT_DropIdentity AlterTableType = 66 + AlterTableType_AT_ReAddStatistics AlterTableType = 67 ) // Enum value maps for AlterTableType. @@ -1245,12 +1346,12 @@ var ( AlterTableType_name = map[int32]string{ 0: "ALTER_TABLE_TYPE_UNDEFINED", 1: "AT_AddColumn", - 2: "AT_AddColumnRecurse", - 3: "AT_AddColumnToView", - 4: "AT_ColumnDefault", - 5: "AT_CookedColumnDefault", - 6: "AT_DropNotNull", - 7: "AT_SetNotNull", + 2: "AT_AddColumnToView", + 3: "AT_ColumnDefault", + 4: "AT_CookedColumnDefault", + 5: "AT_DropNotNull", + 6: "AT_SetNotNull", + 7: "AT_SetExpression", 8: "AT_DropExpression", 9: "AT_CheckNotNull", 10: "AT_SetStatistics", @@ -1259,72 +1360,68 @@ var ( 13: "AT_SetStorage", 14: "AT_SetCompression", 15: "AT_DropColumn", - 16: "AT_DropColumnRecurse", - 17: "AT_AddIndex", - 18: "AT_ReAddIndex", - 19: "AT_AddConstraint", - 20: "AT_AddConstraintRecurse", - 21: "AT_ReAddConstraint", - 22: "AT_ReAddDomainConstraint", - 23: "AT_AlterConstraint", - 24: "AT_ValidateConstraint", - 25: "AT_ValidateConstraintRecurse", - 26: "AT_AddIndexConstraint", - 27: "AT_DropConstraint", - 28: "AT_DropConstraintRecurse", - 29: "AT_ReAddComment", - 30: "AT_AlterColumnType", - 31: "AT_AlterColumnGenericOptions", - 32: "AT_ChangeOwner", - 33: "AT_ClusterOn", - 34: "AT_DropCluster", - 35: "AT_SetLogged", - 36: "AT_SetUnLogged", - 37: "AT_DropOids", - 38: "AT_SetAccessMethod", - 39: "AT_SetTableSpace", - 40: "AT_SetRelOptions", - 41: "AT_ResetRelOptions", - 42: "AT_ReplaceRelOptions", - 43: "AT_EnableTrig", - 44: "AT_EnableAlwaysTrig", - 45: "AT_EnableReplicaTrig", - 46: "AT_DisableTrig", - 47: "AT_EnableTrigAll", - 48: "AT_DisableTrigAll", - 49: "AT_EnableTrigUser", - 50: "AT_DisableTrigUser", - 51: "AT_EnableRule", - 52: "AT_EnableAlwaysRule", - 53: "AT_EnableReplicaRule", - 54: "AT_DisableRule", - 55: "AT_AddInherit", - 56: "AT_DropInherit", - 57: "AT_AddOf", - 58: "AT_DropOf", - 59: "AT_ReplicaIdentity", - 60: "AT_EnableRowSecurity", - 61: "AT_DisableRowSecurity", - 62: "AT_ForceRowSecurity", - 63: "AT_NoForceRowSecurity", - 64: "AT_GenericOptions", - 65: "AT_AttachPartition", - 66: "AT_DetachPartition", - 67: "AT_DetachPartitionFinalize", - 68: "AT_AddIdentity", - 69: "AT_SetIdentity", - 70: "AT_DropIdentity", - 71: "AT_ReAddStatistics", + 16: "AT_AddIndex", + 17: "AT_ReAddIndex", + 18: "AT_AddConstraint", + 19: "AT_ReAddConstraint", + 20: "AT_ReAddDomainConstraint", + 21: "AT_AlterConstraint", + 22: "AT_ValidateConstraint", + 23: "AT_AddIndexConstraint", + 24: "AT_DropConstraint", + 25: "AT_ReAddComment", + 26: "AT_AlterColumnType", + 27: "AT_AlterColumnGenericOptions", + 28: "AT_ChangeOwner", + 29: "AT_ClusterOn", + 30: "AT_DropCluster", + 31: "AT_SetLogged", + 32: "AT_SetUnLogged", + 33: "AT_DropOids", + 34: "AT_SetAccessMethod", + 35: "AT_SetTableSpace", + 36: "AT_SetRelOptions", + 37: "AT_ResetRelOptions", + 38: "AT_ReplaceRelOptions", + 39: "AT_EnableTrig", + 40: "AT_EnableAlwaysTrig", + 41: "AT_EnableReplicaTrig", + 42: "AT_DisableTrig", + 43: "AT_EnableTrigAll", + 44: "AT_DisableTrigAll", + 45: "AT_EnableTrigUser", + 46: "AT_DisableTrigUser", + 47: "AT_EnableRule", + 48: "AT_EnableAlwaysRule", + 49: "AT_EnableReplicaRule", + 50: "AT_DisableRule", + 51: "AT_AddInherit", + 52: "AT_DropInherit", + 53: "AT_AddOf", + 54: "AT_DropOf", + 55: "AT_ReplicaIdentity", + 56: "AT_EnableRowSecurity", + 57: "AT_DisableRowSecurity", + 58: "AT_ForceRowSecurity", + 59: "AT_NoForceRowSecurity", + 60: "AT_GenericOptions", + 61: "AT_AttachPartition", + 62: "AT_DetachPartition", + 63: "AT_DetachPartitionFinalize", + 64: "AT_AddIdentity", + 65: "AT_SetIdentity", + 66: "AT_DropIdentity", + 67: "AT_ReAddStatistics", } AlterTableType_value = map[string]int32{ "ALTER_TABLE_TYPE_UNDEFINED": 0, "AT_AddColumn": 1, - "AT_AddColumnRecurse": 2, - "AT_AddColumnToView": 3, - "AT_ColumnDefault": 4, - "AT_CookedColumnDefault": 5, - "AT_DropNotNull": 6, - "AT_SetNotNull": 7, + "AT_AddColumnToView": 2, + "AT_ColumnDefault": 3, + "AT_CookedColumnDefault": 4, + "AT_DropNotNull": 5, + "AT_SetNotNull": 6, + "AT_SetExpression": 7, "AT_DropExpression": 8, "AT_CheckNotNull": 9, "AT_SetStatistics": 10, @@ -1333,62 +1430,58 @@ var ( "AT_SetStorage": 13, "AT_SetCompression": 14, "AT_DropColumn": 15, - "AT_DropColumnRecurse": 16, - "AT_AddIndex": 17, - "AT_ReAddIndex": 18, - "AT_AddConstraint": 19, - "AT_AddConstraintRecurse": 20, - "AT_ReAddConstraint": 21, - "AT_ReAddDomainConstraint": 22, - "AT_AlterConstraint": 23, - "AT_ValidateConstraint": 24, - "AT_ValidateConstraintRecurse": 25, - "AT_AddIndexConstraint": 26, - "AT_DropConstraint": 27, - "AT_DropConstraintRecurse": 28, - "AT_ReAddComment": 29, - "AT_AlterColumnType": 30, - "AT_AlterColumnGenericOptions": 31, - "AT_ChangeOwner": 32, - "AT_ClusterOn": 33, - "AT_DropCluster": 34, - "AT_SetLogged": 35, - "AT_SetUnLogged": 36, - "AT_DropOids": 37, - "AT_SetAccessMethod": 38, - "AT_SetTableSpace": 39, - "AT_SetRelOptions": 40, - "AT_ResetRelOptions": 41, - "AT_ReplaceRelOptions": 42, - "AT_EnableTrig": 43, - "AT_EnableAlwaysTrig": 44, - "AT_EnableReplicaTrig": 45, - "AT_DisableTrig": 46, - "AT_EnableTrigAll": 47, - "AT_DisableTrigAll": 48, - "AT_EnableTrigUser": 49, - "AT_DisableTrigUser": 50, - "AT_EnableRule": 51, - "AT_EnableAlwaysRule": 52, - "AT_EnableReplicaRule": 53, - "AT_DisableRule": 54, - "AT_AddInherit": 55, - "AT_DropInherit": 56, - "AT_AddOf": 57, - "AT_DropOf": 58, - "AT_ReplicaIdentity": 59, - "AT_EnableRowSecurity": 60, - "AT_DisableRowSecurity": 61, - "AT_ForceRowSecurity": 62, - "AT_NoForceRowSecurity": 63, - "AT_GenericOptions": 64, - "AT_AttachPartition": 65, - "AT_DetachPartition": 66, - "AT_DetachPartitionFinalize": 67, - "AT_AddIdentity": 68, - "AT_SetIdentity": 69, - "AT_DropIdentity": 70, - "AT_ReAddStatistics": 71, + "AT_AddIndex": 16, + "AT_ReAddIndex": 17, + "AT_AddConstraint": 18, + "AT_ReAddConstraint": 19, + "AT_ReAddDomainConstraint": 20, + "AT_AlterConstraint": 21, + "AT_ValidateConstraint": 22, + "AT_AddIndexConstraint": 23, + "AT_DropConstraint": 24, + "AT_ReAddComment": 25, + "AT_AlterColumnType": 26, + "AT_AlterColumnGenericOptions": 27, + "AT_ChangeOwner": 28, + "AT_ClusterOn": 29, + "AT_DropCluster": 30, + "AT_SetLogged": 31, + "AT_SetUnLogged": 32, + "AT_DropOids": 33, + "AT_SetAccessMethod": 34, + "AT_SetTableSpace": 35, + "AT_SetRelOptions": 36, + "AT_ResetRelOptions": 37, + "AT_ReplaceRelOptions": 38, + "AT_EnableTrig": 39, + "AT_EnableAlwaysTrig": 40, + "AT_EnableReplicaTrig": 41, + "AT_DisableTrig": 42, + "AT_EnableTrigAll": 43, + "AT_DisableTrigAll": 44, + "AT_EnableTrigUser": 45, + "AT_DisableTrigUser": 46, + "AT_EnableRule": 47, + "AT_EnableAlwaysRule": 48, + "AT_EnableReplicaRule": 49, + "AT_DisableRule": 50, + "AT_AddInherit": 51, + "AT_DropInherit": 52, + "AT_AddOf": 53, + "AT_DropOf": 54, + "AT_ReplicaIdentity": 55, + "AT_EnableRowSecurity": 56, + "AT_DisableRowSecurity": 57, + "AT_ForceRowSecurity": 58, + "AT_NoForceRowSecurity": 59, + "AT_GenericOptions": 60, + "AT_AttachPartition": 61, + "AT_DetachPartition": 62, + "AT_DetachPartitionFinalize": 63, + "AT_AddIdentity": 64, + "AT_SetIdentity": 65, + "AT_DropIdentity": 66, + "AT_ReAddStatistics": 67, } ) @@ -1403,11 +1496,11 @@ func (x AlterTableType) String() string { } func (AlterTableType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[17].Descriptor() + return file_pg_query_proto_enumTypes[19].Descriptor() } func (AlterTableType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[17] + return &file_pg_query_proto_enumTypes[19] } func (x AlterTableType) Number() protoreflect.EnumNumber { @@ -1416,7 +1509,7 @@ func (x AlterTableType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterTableType.Descriptor instead. func (AlterTableType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{17} + return file_pg_query_proto_rawDescGZIP(), []int{19} } type GrantTargetType int32 @@ -1455,11 +1548,11 @@ func (x GrantTargetType) String() string { } func (GrantTargetType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[18].Descriptor() + return file_pg_query_proto_enumTypes[20].Descriptor() } func (GrantTargetType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[18] + return &file_pg_query_proto_enumTypes[20] } func (x GrantTargetType) Number() protoreflect.EnumNumber { @@ -1468,7 +1561,7 @@ func (x GrantTargetType) Number() protoreflect.EnumNumber { // Deprecated: Use GrantTargetType.Descriptor instead. func (GrantTargetType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{18} + return file_pg_query_proto_rawDescGZIP(), []int{20} } type VariableSetKind int32 @@ -1516,11 +1609,11 @@ func (x VariableSetKind) String() string { } func (VariableSetKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[19].Descriptor() + return file_pg_query_proto_enumTypes[21].Descriptor() } func (VariableSetKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[19] + return &file_pg_query_proto_enumTypes[21] } func (x VariableSetKind) Number() protoreflect.EnumNumber { @@ -1529,7 +1622,7 @@ func (x VariableSetKind) Number() protoreflect.EnumNumber { // Deprecated: Use VariableSetKind.Descriptor instead. func (VariableSetKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{19} + return file_pg_query_proto_rawDescGZIP(), []int{21} } type ConstrType int32 @@ -1601,11 +1694,11 @@ func (x ConstrType) String() string { } func (ConstrType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[20].Descriptor() + return file_pg_query_proto_enumTypes[22].Descriptor() } func (ConstrType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[20] + return &file_pg_query_proto_enumTypes[22] } func (x ConstrType) Number() protoreflect.EnumNumber { @@ -1614,7 +1707,7 @@ func (x ConstrType) Number() protoreflect.EnumNumber { // Deprecated: Use ConstrType.Descriptor instead. func (ConstrType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{20} + return file_pg_query_proto_rawDescGZIP(), []int{22} } type ImportForeignSchemaType int32 @@ -1653,11 +1746,11 @@ func (x ImportForeignSchemaType) String() string { } func (ImportForeignSchemaType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[21].Descriptor() + return file_pg_query_proto_enumTypes[23].Descriptor() } func (ImportForeignSchemaType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[21] + return &file_pg_query_proto_enumTypes[23] } func (x ImportForeignSchemaType) Number() protoreflect.EnumNumber { @@ -1666,7 +1759,7 @@ func (x ImportForeignSchemaType) Number() protoreflect.EnumNumber { // Deprecated: Use ImportForeignSchemaType.Descriptor instead. func (ImportForeignSchemaType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{21} + return file_pg_query_proto_rawDescGZIP(), []int{23} } type RoleStmtType int32 @@ -1705,11 +1798,11 @@ func (x RoleStmtType) String() string { } func (RoleStmtType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[22].Descriptor() + return file_pg_query_proto_enumTypes[24].Descriptor() } func (RoleStmtType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[22] + return &file_pg_query_proto_enumTypes[24] } func (x RoleStmtType) Number() protoreflect.EnumNumber { @@ -1718,7 +1811,7 @@ func (x RoleStmtType) Number() protoreflect.EnumNumber { // Deprecated: Use RoleStmtType.Descriptor instead. func (RoleStmtType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{22} + return file_pg_query_proto_rawDescGZIP(), []int{24} } type FetchDirection int32 @@ -1760,11 +1853,11 @@ func (x FetchDirection) String() string { } func (FetchDirection) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[23].Descriptor() + return file_pg_query_proto_enumTypes[25].Descriptor() } func (FetchDirection) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[23] + return &file_pg_query_proto_enumTypes[25] } func (x FetchDirection) Number() protoreflect.EnumNumber { @@ -1773,7 +1866,7 @@ func (x FetchDirection) Number() protoreflect.EnumNumber { // Deprecated: Use FetchDirection.Descriptor instead. func (FetchDirection) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{23} + return file_pg_query_proto_rawDescGZIP(), []int{25} } type FunctionParameterMode int32 @@ -1821,11 +1914,11 @@ func (x FunctionParameterMode) String() string { } func (FunctionParameterMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[24].Descriptor() + return file_pg_query_proto_enumTypes[26].Descriptor() } func (FunctionParameterMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[24] + return &file_pg_query_proto_enumTypes[26] } func (x FunctionParameterMode) Number() protoreflect.EnumNumber { @@ -1834,7 +1927,7 @@ func (x FunctionParameterMode) Number() protoreflect.EnumNumber { // Deprecated: Use FunctionParameterMode.Descriptor instead. func (FunctionParameterMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{24} + return file_pg_query_proto_rawDescGZIP(), []int{26} } type TransactionStmtKind int32 @@ -1894,11 +1987,11 @@ func (x TransactionStmtKind) String() string { } func (TransactionStmtKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[25].Descriptor() + return file_pg_query_proto_enumTypes[27].Descriptor() } func (TransactionStmtKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[25] + return &file_pg_query_proto_enumTypes[27] } func (x TransactionStmtKind) Number() protoreflect.EnumNumber { @@ -1907,7 +2000,7 @@ func (x TransactionStmtKind) Number() protoreflect.EnumNumber { // Deprecated: Use TransactionStmtKind.Descriptor instead. func (TransactionStmtKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{25} + return file_pg_query_proto_rawDescGZIP(), []int{27} } type ViewCheckOption int32 @@ -1946,11 +2039,11 @@ func (x ViewCheckOption) String() string { } func (ViewCheckOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[26].Descriptor() + return file_pg_query_proto_enumTypes[28].Descriptor() } func (ViewCheckOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[26] + return &file_pg_query_proto_enumTypes[28] } func (x ViewCheckOption) Number() protoreflect.EnumNumber { @@ -1959,7 +2052,7 @@ func (x ViewCheckOption) Number() protoreflect.EnumNumber { // Deprecated: Use ViewCheckOption.Descriptor instead. func (ViewCheckOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{26} + return file_pg_query_proto_rawDescGZIP(), []int{28} } type DiscardMode int32 @@ -2001,11 +2094,11 @@ func (x DiscardMode) String() string { } func (DiscardMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[27].Descriptor() + return file_pg_query_proto_enumTypes[29].Descriptor() } func (DiscardMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[27] + return &file_pg_query_proto_enumTypes[29] } func (x DiscardMode) Number() protoreflect.EnumNumber { @@ -2014,7 +2107,7 @@ func (x DiscardMode) Number() protoreflect.EnumNumber { // Deprecated: Use DiscardMode.Descriptor instead. func (DiscardMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{27} + return file_pg_query_proto_rawDescGZIP(), []int{29} } type ReindexObjectType int32 @@ -2059,11 +2152,11 @@ func (x ReindexObjectType) String() string { } func (ReindexObjectType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[28].Descriptor() + return file_pg_query_proto_enumTypes[30].Descriptor() } func (ReindexObjectType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[28] + return &file_pg_query_proto_enumTypes[30] } func (x ReindexObjectType) Number() protoreflect.EnumNumber { @@ -2072,7 +2165,7 @@ func (x ReindexObjectType) Number() protoreflect.EnumNumber { // Deprecated: Use ReindexObjectType.Descriptor instead. func (ReindexObjectType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{28} + return file_pg_query_proto_rawDescGZIP(), []int{30} } type AlterTSConfigType int32 @@ -2117,11 +2210,11 @@ func (x AlterTSConfigType) String() string { } func (AlterTSConfigType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[29].Descriptor() + return file_pg_query_proto_enumTypes[31].Descriptor() } func (AlterTSConfigType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[29] + return &file_pg_query_proto_enumTypes[31] } func (x AlterTSConfigType) Number() protoreflect.EnumNumber { @@ -2130,7 +2223,7 @@ func (x AlterTSConfigType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterTSConfigType.Descriptor instead. func (AlterTSConfigType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{29} + return file_pg_query_proto_rawDescGZIP(), []int{31} } type PublicationObjSpecType int32 @@ -2172,11 +2265,11 @@ func (x PublicationObjSpecType) String() string { } func (PublicationObjSpecType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[30].Descriptor() + return file_pg_query_proto_enumTypes[32].Descriptor() } func (PublicationObjSpecType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[30] + return &file_pg_query_proto_enumTypes[32] } func (x PublicationObjSpecType) Number() protoreflect.EnumNumber { @@ -2185,7 +2278,7 @@ func (x PublicationObjSpecType) Number() protoreflect.EnumNumber { // Deprecated: Use PublicationObjSpecType.Descriptor instead. func (PublicationObjSpecType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{30} + return file_pg_query_proto_rawDescGZIP(), []int{32} } type AlterPublicationAction int32 @@ -2224,11 +2317,11 @@ func (x AlterPublicationAction) String() string { } func (AlterPublicationAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[31].Descriptor() + return file_pg_query_proto_enumTypes[33].Descriptor() } func (AlterPublicationAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[31] + return &file_pg_query_proto_enumTypes[33] } func (x AlterPublicationAction) Number() protoreflect.EnumNumber { @@ -2237,7 +2330,7 @@ func (x AlterPublicationAction) Number() protoreflect.EnumNumber { // Deprecated: Use AlterPublicationAction.Descriptor instead. func (AlterPublicationAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{31} + return file_pg_query_proto_rawDescGZIP(), []int{33} } type AlterSubscriptionType int32 @@ -2291,11 +2384,11 @@ func (x AlterSubscriptionType) String() string { } func (AlterSubscriptionType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[32].Descriptor() + return file_pg_query_proto_enumTypes[34].Descriptor() } func (AlterSubscriptionType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[32] + return &file_pg_query_proto_enumTypes[34] } func (x AlterSubscriptionType) Number() protoreflect.EnumNumber { @@ -2304,7 +2397,59 @@ func (x AlterSubscriptionType) Number() protoreflect.EnumNumber { // Deprecated: Use AlterSubscriptionType.Descriptor instead. func (AlterSubscriptionType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{32} + return file_pg_query_proto_rawDescGZIP(), []int{34} +} + +type OverridingKind int32 + +const ( + OverridingKind_OVERRIDING_KIND_UNDEFINED OverridingKind = 0 + OverridingKind_OVERRIDING_NOT_SET OverridingKind = 1 + OverridingKind_OVERRIDING_USER_VALUE OverridingKind = 2 + OverridingKind_OVERRIDING_SYSTEM_VALUE OverridingKind = 3 +) + +// Enum value maps for OverridingKind. +var ( + OverridingKind_name = map[int32]string{ + 0: "OVERRIDING_KIND_UNDEFINED", + 1: "OVERRIDING_NOT_SET", + 2: "OVERRIDING_USER_VALUE", + 3: "OVERRIDING_SYSTEM_VALUE", + } + OverridingKind_value = map[string]int32{ + "OVERRIDING_KIND_UNDEFINED": 0, + "OVERRIDING_NOT_SET": 1, + "OVERRIDING_USER_VALUE": 2, + "OVERRIDING_SYSTEM_VALUE": 3, + } +) + +func (x OverridingKind) Enum() *OverridingKind { + p := new(OverridingKind) + *p = x + return p +} + +func (x OverridingKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OverridingKind) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[35].Descriptor() +} + +func (OverridingKind) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[35] +} + +func (x OverridingKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OverridingKind.Descriptor instead. +func (OverridingKind) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{35} } type OnCommitAction int32 @@ -2346,11 +2491,11 @@ func (x OnCommitAction) String() string { } func (OnCommitAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[33].Descriptor() + return file_pg_query_proto_enumTypes[36].Descriptor() } func (OnCommitAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[33] + return &file_pg_query_proto_enumTypes[36] } func (x OnCommitAction) Number() protoreflect.EnumNumber { @@ -2359,7 +2504,56 @@ func (x OnCommitAction) Number() protoreflect.EnumNumber { // Deprecated: Use OnCommitAction.Descriptor instead. func (OnCommitAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{33} + return file_pg_query_proto_rawDescGZIP(), []int{36} +} + +type TableFuncType int32 + +const ( + TableFuncType_TABLE_FUNC_TYPE_UNDEFINED TableFuncType = 0 + TableFuncType_TFT_XMLTABLE TableFuncType = 1 + TableFuncType_TFT_JSON_TABLE TableFuncType = 2 +) + +// Enum value maps for TableFuncType. +var ( + TableFuncType_name = map[int32]string{ + 0: "TABLE_FUNC_TYPE_UNDEFINED", + 1: "TFT_XMLTABLE", + 2: "TFT_JSON_TABLE", + } + TableFuncType_value = map[string]int32{ + "TABLE_FUNC_TYPE_UNDEFINED": 0, + "TFT_XMLTABLE": 1, + "TFT_JSON_TABLE": 2, + } +) + +func (x TableFuncType) Enum() *TableFuncType { + p := new(TableFuncType) + *p = x + return p +} + +func (x TableFuncType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TableFuncType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[37].Descriptor() +} + +func (TableFuncType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[37] +} + +func (x TableFuncType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TableFuncType.Descriptor instead. +func (TableFuncType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{37} } type ParamKind int32 @@ -2401,11 +2595,11 @@ func (x ParamKind) String() string { } func (ParamKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[34].Descriptor() + return file_pg_query_proto_enumTypes[38].Descriptor() } func (ParamKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[34] + return &file_pg_query_proto_enumTypes[38] } func (x ParamKind) Number() protoreflect.EnumNumber { @@ -2414,7 +2608,7 @@ func (x ParamKind) Number() protoreflect.EnumNumber { // Deprecated: Use ParamKind.Descriptor instead. func (ParamKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{34} + return file_pg_query_proto_rawDescGZIP(), []int{38} } type CoercionContext int32 @@ -2456,11 +2650,11 @@ func (x CoercionContext) String() string { } func (CoercionContext) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[35].Descriptor() + return file_pg_query_proto_enumTypes[39].Descriptor() } func (CoercionContext) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[35] + return &file_pg_query_proto_enumTypes[39] } func (x CoercionContext) Number() protoreflect.EnumNumber { @@ -2469,7 +2663,7 @@ func (x CoercionContext) Number() protoreflect.EnumNumber { // Deprecated: Use CoercionContext.Descriptor instead. func (CoercionContext) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{35} + return file_pg_query_proto_rawDescGZIP(), []int{39} } type CoercionForm int32 @@ -2511,11 +2705,11 @@ func (x CoercionForm) String() string { } func (CoercionForm) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[36].Descriptor() + return file_pg_query_proto_enumTypes[40].Descriptor() } func (CoercionForm) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[36] + return &file_pg_query_proto_enumTypes[40] } func (x CoercionForm) Number() protoreflect.EnumNumber { @@ -2524,7 +2718,7 @@ func (x CoercionForm) Number() protoreflect.EnumNumber { // Deprecated: Use CoercionForm.Descriptor instead. func (CoercionForm) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{36} + return file_pg_query_proto_rawDescGZIP(), []int{40} } type BoolExprType int32 @@ -2563,11 +2757,11 @@ func (x BoolExprType) String() string { } func (BoolExprType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[37].Descriptor() + return file_pg_query_proto_enumTypes[41].Descriptor() } func (BoolExprType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[37] + return &file_pg_query_proto_enumTypes[41] } func (x BoolExprType) Number() protoreflect.EnumNumber { @@ -2576,7 +2770,7 @@ func (x BoolExprType) Number() protoreflect.EnumNumber { // Deprecated: Use BoolExprType.Descriptor instead. func (BoolExprType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{37} + return file_pg_query_proto_rawDescGZIP(), []int{41} } type SubLinkType int32 @@ -2630,11 +2824,11 @@ func (x SubLinkType) String() string { } func (SubLinkType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[38].Descriptor() + return file_pg_query_proto_enumTypes[42].Descriptor() } func (SubLinkType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[38] + return &file_pg_query_proto_enumTypes[42] } func (x SubLinkType) Number() protoreflect.EnumNumber { @@ -2643,7 +2837,7 @@ func (x SubLinkType) Number() protoreflect.EnumNumber { // Deprecated: Use SubLinkType.Descriptor instead. func (SubLinkType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{38} + return file_pg_query_proto_rawDescGZIP(), []int{42} } type RowCompareType int32 @@ -2691,11 +2885,11 @@ func (x RowCompareType) String() string { } func (RowCompareType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[39].Descriptor() + return file_pg_query_proto_enumTypes[43].Descriptor() } func (RowCompareType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[39] + return &file_pg_query_proto_enumTypes[43] } func (x RowCompareType) Number() protoreflect.EnumNumber { @@ -2704,7 +2898,7 @@ func (x RowCompareType) Number() protoreflect.EnumNumber { // Deprecated: Use RowCompareType.Descriptor instead. func (RowCompareType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{39} + return file_pg_query_proto_rawDescGZIP(), []int{43} } type MinMaxOp int32 @@ -2740,11 +2934,11 @@ func (x MinMaxOp) String() string { } func (MinMaxOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[40].Descriptor() + return file_pg_query_proto_enumTypes[44].Descriptor() } func (MinMaxOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[40] + return &file_pg_query_proto_enumTypes[44] } func (x MinMaxOp) Number() protoreflect.EnumNumber { @@ -2753,7 +2947,7 @@ func (x MinMaxOp) Number() protoreflect.EnumNumber { // Deprecated: Use MinMaxOp.Descriptor instead. func (MinMaxOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{40} + return file_pg_query_proto_rawDescGZIP(), []int{44} } type SQLValueFunctionOp int32 @@ -2828,11 +3022,11 @@ func (x SQLValueFunctionOp) String() string { } func (SQLValueFunctionOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[41].Descriptor() + return file_pg_query_proto_enumTypes[45].Descriptor() } func (SQLValueFunctionOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[41] + return &file_pg_query_proto_enumTypes[45] } func (x SQLValueFunctionOp) Number() protoreflect.EnumNumber { @@ -2841,7 +3035,7 @@ func (x SQLValueFunctionOp) Number() protoreflect.EnumNumber { // Deprecated: Use SQLValueFunctionOp.Descriptor instead. func (SQLValueFunctionOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{41} + return file_pg_query_proto_rawDescGZIP(), []int{45} } type XmlExprOp int32 @@ -2895,11 +3089,11 @@ func (x XmlExprOp) String() string { } func (XmlExprOp) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[42].Descriptor() + return file_pg_query_proto_enumTypes[46].Descriptor() } func (XmlExprOp) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[42] + return &file_pg_query_proto_enumTypes[46] } func (x XmlExprOp) Number() protoreflect.EnumNumber { @@ -2908,7 +3102,7 @@ func (x XmlExprOp) Number() protoreflect.EnumNumber { // Deprecated: Use XmlExprOp.Descriptor instead. func (XmlExprOp) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{42} + return file_pg_query_proto_rawDescGZIP(), []int{46} } type XmlOptionType int32 @@ -2944,11 +3138,11 @@ func (x XmlOptionType) String() string { } func (XmlOptionType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[43].Descriptor() + return file_pg_query_proto_enumTypes[47].Descriptor() } func (XmlOptionType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[43] + return &file_pg_query_proto_enumTypes[47] } func (x XmlOptionType) Number() protoreflect.EnumNumber { @@ -2957,5812 +3151,6534 @@ func (x XmlOptionType) Number() protoreflect.EnumNumber { // Deprecated: Use XmlOptionType.Descriptor instead. func (XmlOptionType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{43} + return file_pg_query_proto_rawDescGZIP(), []int{47} } -type NullTestType int32 +type JsonEncoding int32 const ( - NullTestType_NULL_TEST_TYPE_UNDEFINED NullTestType = 0 - NullTestType_IS_NULL NullTestType = 1 - NullTestType_IS_NOT_NULL NullTestType = 2 + JsonEncoding_JSON_ENCODING_UNDEFINED JsonEncoding = 0 + JsonEncoding_JS_ENC_DEFAULT JsonEncoding = 1 + JsonEncoding_JS_ENC_UTF8 JsonEncoding = 2 + JsonEncoding_JS_ENC_UTF16 JsonEncoding = 3 + JsonEncoding_JS_ENC_UTF32 JsonEncoding = 4 ) -// Enum value maps for NullTestType. +// Enum value maps for JsonEncoding. var ( - NullTestType_name = map[int32]string{ - 0: "NULL_TEST_TYPE_UNDEFINED", - 1: "IS_NULL", - 2: "IS_NOT_NULL", - } - NullTestType_value = map[string]int32{ - "NULL_TEST_TYPE_UNDEFINED": 0, - "IS_NULL": 1, - "IS_NOT_NULL": 2, + JsonEncoding_name = map[int32]string{ + 0: "JSON_ENCODING_UNDEFINED", + 1: "JS_ENC_DEFAULT", + 2: "JS_ENC_UTF8", + 3: "JS_ENC_UTF16", + 4: "JS_ENC_UTF32", + } + JsonEncoding_value = map[string]int32{ + "JSON_ENCODING_UNDEFINED": 0, + "JS_ENC_DEFAULT": 1, + "JS_ENC_UTF8": 2, + "JS_ENC_UTF16": 3, + "JS_ENC_UTF32": 4, } ) -func (x NullTestType) Enum() *NullTestType { - p := new(NullTestType) +func (x JsonEncoding) Enum() *JsonEncoding { + p := new(JsonEncoding) *p = x return p } -func (x NullTestType) String() string { +func (x JsonEncoding) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (NullTestType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[44].Descriptor() +func (JsonEncoding) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[48].Descriptor() } -func (NullTestType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[44] +func (JsonEncoding) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[48] } -func (x NullTestType) Number() protoreflect.EnumNumber { +func (x JsonEncoding) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use NullTestType.Descriptor instead. -func (NullTestType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{44} +// Deprecated: Use JsonEncoding.Descriptor instead. +func (JsonEncoding) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{48} } -type BoolTestType int32 +type JsonFormatType int32 const ( - BoolTestType_BOOL_TEST_TYPE_UNDEFINED BoolTestType = 0 - BoolTestType_IS_TRUE BoolTestType = 1 - BoolTestType_IS_NOT_TRUE BoolTestType = 2 - BoolTestType_IS_FALSE BoolTestType = 3 - BoolTestType_IS_NOT_FALSE BoolTestType = 4 - BoolTestType_IS_UNKNOWN BoolTestType = 5 - BoolTestType_IS_NOT_UNKNOWN BoolTestType = 6 + JsonFormatType_JSON_FORMAT_TYPE_UNDEFINED JsonFormatType = 0 + JsonFormatType_JS_FORMAT_DEFAULT JsonFormatType = 1 + JsonFormatType_JS_FORMAT_JSON JsonFormatType = 2 + JsonFormatType_JS_FORMAT_JSONB JsonFormatType = 3 ) -// Enum value maps for BoolTestType. +// Enum value maps for JsonFormatType. var ( - BoolTestType_name = map[int32]string{ - 0: "BOOL_TEST_TYPE_UNDEFINED", - 1: "IS_TRUE", - 2: "IS_NOT_TRUE", - 3: "IS_FALSE", - 4: "IS_NOT_FALSE", - 5: "IS_UNKNOWN", - 6: "IS_NOT_UNKNOWN", - } - BoolTestType_value = map[string]int32{ - "BOOL_TEST_TYPE_UNDEFINED": 0, - "IS_TRUE": 1, - "IS_NOT_TRUE": 2, - "IS_FALSE": 3, - "IS_NOT_FALSE": 4, - "IS_UNKNOWN": 5, - "IS_NOT_UNKNOWN": 6, + JsonFormatType_name = map[int32]string{ + 0: "JSON_FORMAT_TYPE_UNDEFINED", + 1: "JS_FORMAT_DEFAULT", + 2: "JS_FORMAT_JSON", + 3: "JS_FORMAT_JSONB", + } + JsonFormatType_value = map[string]int32{ + "JSON_FORMAT_TYPE_UNDEFINED": 0, + "JS_FORMAT_DEFAULT": 1, + "JS_FORMAT_JSON": 2, + "JS_FORMAT_JSONB": 3, } ) -func (x BoolTestType) Enum() *BoolTestType { - p := new(BoolTestType) +func (x JsonFormatType) Enum() *JsonFormatType { + p := new(JsonFormatType) *p = x return p } -func (x BoolTestType) String() string { +func (x JsonFormatType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (BoolTestType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[45].Descriptor() +func (JsonFormatType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[49].Descriptor() } -func (BoolTestType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[45] +func (JsonFormatType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[49] } -func (x BoolTestType) Number() protoreflect.EnumNumber { +func (x JsonFormatType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use BoolTestType.Descriptor instead. -func (BoolTestType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{45} +// Deprecated: Use JsonFormatType.Descriptor instead. +func (JsonFormatType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{49} } -type CmdType int32 +type JsonConstructorType int32 const ( - CmdType_CMD_TYPE_UNDEFINED CmdType = 0 - CmdType_CMD_UNKNOWN CmdType = 1 - CmdType_CMD_SELECT CmdType = 2 - CmdType_CMD_UPDATE CmdType = 3 - CmdType_CMD_INSERT CmdType = 4 - CmdType_CMD_DELETE CmdType = 5 - CmdType_CMD_MERGE CmdType = 6 - CmdType_CMD_UTILITY CmdType = 7 - CmdType_CMD_NOTHING CmdType = 8 + JsonConstructorType_JSON_CONSTRUCTOR_TYPE_UNDEFINED JsonConstructorType = 0 + JsonConstructorType_JSCTOR_JSON_OBJECT JsonConstructorType = 1 + JsonConstructorType_JSCTOR_JSON_ARRAY JsonConstructorType = 2 + JsonConstructorType_JSCTOR_JSON_OBJECTAGG JsonConstructorType = 3 + JsonConstructorType_JSCTOR_JSON_ARRAYAGG JsonConstructorType = 4 + JsonConstructorType_JSCTOR_JSON_PARSE JsonConstructorType = 5 + JsonConstructorType_JSCTOR_JSON_SCALAR JsonConstructorType = 6 + JsonConstructorType_JSCTOR_JSON_SERIALIZE JsonConstructorType = 7 ) -// Enum value maps for CmdType. +// Enum value maps for JsonConstructorType. var ( - CmdType_name = map[int32]string{ - 0: "CMD_TYPE_UNDEFINED", - 1: "CMD_UNKNOWN", - 2: "CMD_SELECT", - 3: "CMD_UPDATE", - 4: "CMD_INSERT", - 5: "CMD_DELETE", - 6: "CMD_MERGE", - 7: "CMD_UTILITY", - 8: "CMD_NOTHING", - } - CmdType_value = map[string]int32{ - "CMD_TYPE_UNDEFINED": 0, - "CMD_UNKNOWN": 1, - "CMD_SELECT": 2, - "CMD_UPDATE": 3, - "CMD_INSERT": 4, - "CMD_DELETE": 5, - "CMD_MERGE": 6, - "CMD_UTILITY": 7, - "CMD_NOTHING": 8, + JsonConstructorType_name = map[int32]string{ + 0: "JSON_CONSTRUCTOR_TYPE_UNDEFINED", + 1: "JSCTOR_JSON_OBJECT", + 2: "JSCTOR_JSON_ARRAY", + 3: "JSCTOR_JSON_OBJECTAGG", + 4: "JSCTOR_JSON_ARRAYAGG", + 5: "JSCTOR_JSON_PARSE", + 6: "JSCTOR_JSON_SCALAR", + 7: "JSCTOR_JSON_SERIALIZE", + } + JsonConstructorType_value = map[string]int32{ + "JSON_CONSTRUCTOR_TYPE_UNDEFINED": 0, + "JSCTOR_JSON_OBJECT": 1, + "JSCTOR_JSON_ARRAY": 2, + "JSCTOR_JSON_OBJECTAGG": 3, + "JSCTOR_JSON_ARRAYAGG": 4, + "JSCTOR_JSON_PARSE": 5, + "JSCTOR_JSON_SCALAR": 6, + "JSCTOR_JSON_SERIALIZE": 7, } ) -func (x CmdType) Enum() *CmdType { - p := new(CmdType) +func (x JsonConstructorType) Enum() *JsonConstructorType { + p := new(JsonConstructorType) *p = x return p } -func (x CmdType) String() string { +func (x JsonConstructorType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (CmdType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[46].Descriptor() +func (JsonConstructorType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[50].Descriptor() } -func (CmdType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[46] +func (JsonConstructorType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[50] } -func (x CmdType) Number() protoreflect.EnumNumber { +func (x JsonConstructorType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use CmdType.Descriptor instead. -func (CmdType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{46} +// Deprecated: Use JsonConstructorType.Descriptor instead. +func (JsonConstructorType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{50} } -type JoinType int32 +type JsonValueType int32 const ( - JoinType_JOIN_TYPE_UNDEFINED JoinType = 0 - JoinType_JOIN_INNER JoinType = 1 - JoinType_JOIN_LEFT JoinType = 2 - JoinType_JOIN_FULL JoinType = 3 - JoinType_JOIN_RIGHT JoinType = 4 - JoinType_JOIN_SEMI JoinType = 5 - JoinType_JOIN_ANTI JoinType = 6 - JoinType_JOIN_UNIQUE_OUTER JoinType = 7 - JoinType_JOIN_UNIQUE_INNER JoinType = 8 + JsonValueType_JSON_VALUE_TYPE_UNDEFINED JsonValueType = 0 + JsonValueType_JS_TYPE_ANY JsonValueType = 1 + JsonValueType_JS_TYPE_OBJECT JsonValueType = 2 + JsonValueType_JS_TYPE_ARRAY JsonValueType = 3 + JsonValueType_JS_TYPE_SCALAR JsonValueType = 4 ) -// Enum value maps for JoinType. +// Enum value maps for JsonValueType. var ( - JoinType_name = map[int32]string{ - 0: "JOIN_TYPE_UNDEFINED", - 1: "JOIN_INNER", - 2: "JOIN_LEFT", - 3: "JOIN_FULL", - 4: "JOIN_RIGHT", - 5: "JOIN_SEMI", - 6: "JOIN_ANTI", - 7: "JOIN_UNIQUE_OUTER", - 8: "JOIN_UNIQUE_INNER", - } - JoinType_value = map[string]int32{ - "JOIN_TYPE_UNDEFINED": 0, - "JOIN_INNER": 1, - "JOIN_LEFT": 2, - "JOIN_FULL": 3, - "JOIN_RIGHT": 4, - "JOIN_SEMI": 5, - "JOIN_ANTI": 6, - "JOIN_UNIQUE_OUTER": 7, - "JOIN_UNIQUE_INNER": 8, + JsonValueType_name = map[int32]string{ + 0: "JSON_VALUE_TYPE_UNDEFINED", + 1: "JS_TYPE_ANY", + 2: "JS_TYPE_OBJECT", + 3: "JS_TYPE_ARRAY", + 4: "JS_TYPE_SCALAR", + } + JsonValueType_value = map[string]int32{ + "JSON_VALUE_TYPE_UNDEFINED": 0, + "JS_TYPE_ANY": 1, + "JS_TYPE_OBJECT": 2, + "JS_TYPE_ARRAY": 3, + "JS_TYPE_SCALAR": 4, } ) -func (x JoinType) Enum() *JoinType { - p := new(JoinType) +func (x JsonValueType) Enum() *JsonValueType { + p := new(JsonValueType) *p = x return p } -func (x JoinType) String() string { +func (x JsonValueType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (JoinType) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[47].Descriptor() +func (JsonValueType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[51].Descriptor() } -func (JoinType) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[47] +func (JsonValueType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[51] } -func (x JoinType) Number() protoreflect.EnumNumber { +func (x JsonValueType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use JoinType.Descriptor instead. -func (JoinType) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{47} +// Deprecated: Use JsonValueType.Descriptor instead. +func (JsonValueType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{51} } -type AggStrategy int32 +type JsonWrapper int32 const ( - AggStrategy_AGG_STRATEGY_UNDEFINED AggStrategy = 0 - AggStrategy_AGG_PLAIN AggStrategy = 1 - AggStrategy_AGG_SORTED AggStrategy = 2 - AggStrategy_AGG_HASHED AggStrategy = 3 - AggStrategy_AGG_MIXED AggStrategy = 4 + JsonWrapper_JSON_WRAPPER_UNDEFINED JsonWrapper = 0 + JsonWrapper_JSW_UNSPEC JsonWrapper = 1 + JsonWrapper_JSW_NONE JsonWrapper = 2 + JsonWrapper_JSW_CONDITIONAL JsonWrapper = 3 + JsonWrapper_JSW_UNCONDITIONAL JsonWrapper = 4 ) -// Enum value maps for AggStrategy. +// Enum value maps for JsonWrapper. var ( - AggStrategy_name = map[int32]string{ - 0: "AGG_STRATEGY_UNDEFINED", - 1: "AGG_PLAIN", - 2: "AGG_SORTED", - 3: "AGG_HASHED", - 4: "AGG_MIXED", - } - AggStrategy_value = map[string]int32{ - "AGG_STRATEGY_UNDEFINED": 0, - "AGG_PLAIN": 1, - "AGG_SORTED": 2, - "AGG_HASHED": 3, - "AGG_MIXED": 4, + JsonWrapper_name = map[int32]string{ + 0: "JSON_WRAPPER_UNDEFINED", + 1: "JSW_UNSPEC", + 2: "JSW_NONE", + 3: "JSW_CONDITIONAL", + 4: "JSW_UNCONDITIONAL", + } + JsonWrapper_value = map[string]int32{ + "JSON_WRAPPER_UNDEFINED": 0, + "JSW_UNSPEC": 1, + "JSW_NONE": 2, + "JSW_CONDITIONAL": 3, + "JSW_UNCONDITIONAL": 4, } ) -func (x AggStrategy) Enum() *AggStrategy { - p := new(AggStrategy) +func (x JsonWrapper) Enum() *JsonWrapper { + p := new(JsonWrapper) *p = x return p } -func (x AggStrategy) String() string { +func (x JsonWrapper) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (AggStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[48].Descriptor() +func (JsonWrapper) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[52].Descriptor() } -func (AggStrategy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[48] +func (JsonWrapper) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[52] } -func (x AggStrategy) Number() protoreflect.EnumNumber { +func (x JsonWrapper) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use AggStrategy.Descriptor instead. -func (AggStrategy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{48} +// Deprecated: Use JsonWrapper.Descriptor instead. +func (JsonWrapper) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{52} } -type AggSplit int32 +type JsonBehaviorType int32 const ( - AggSplit_AGG_SPLIT_UNDEFINED AggSplit = 0 - AggSplit_AGGSPLIT_SIMPLE AggSplit = 1 - AggSplit_AGGSPLIT_INITIAL_SERIAL AggSplit = 2 - AggSplit_AGGSPLIT_FINAL_DESERIAL AggSplit = 3 + JsonBehaviorType_JSON_BEHAVIOR_TYPE_UNDEFINED JsonBehaviorType = 0 + JsonBehaviorType_JSON_BEHAVIOR_NULL JsonBehaviorType = 1 + JsonBehaviorType_JSON_BEHAVIOR_ERROR JsonBehaviorType = 2 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY JsonBehaviorType = 3 + JsonBehaviorType_JSON_BEHAVIOR_TRUE JsonBehaviorType = 4 + JsonBehaviorType_JSON_BEHAVIOR_FALSE JsonBehaviorType = 5 + JsonBehaviorType_JSON_BEHAVIOR_UNKNOWN JsonBehaviorType = 6 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY_ARRAY JsonBehaviorType = 7 + JsonBehaviorType_JSON_BEHAVIOR_EMPTY_OBJECT JsonBehaviorType = 8 + JsonBehaviorType_JSON_BEHAVIOR_DEFAULT JsonBehaviorType = 9 ) -// Enum value maps for AggSplit. +// Enum value maps for JsonBehaviorType. var ( - AggSplit_name = map[int32]string{ - 0: "AGG_SPLIT_UNDEFINED", - 1: "AGGSPLIT_SIMPLE", - 2: "AGGSPLIT_INITIAL_SERIAL", - 3: "AGGSPLIT_FINAL_DESERIAL", - } - AggSplit_value = map[string]int32{ - "AGG_SPLIT_UNDEFINED": 0, - "AGGSPLIT_SIMPLE": 1, - "AGGSPLIT_INITIAL_SERIAL": 2, - "AGGSPLIT_FINAL_DESERIAL": 3, + JsonBehaviorType_name = map[int32]string{ + 0: "JSON_BEHAVIOR_TYPE_UNDEFINED", + 1: "JSON_BEHAVIOR_NULL", + 2: "JSON_BEHAVIOR_ERROR", + 3: "JSON_BEHAVIOR_EMPTY", + 4: "JSON_BEHAVIOR_TRUE", + 5: "JSON_BEHAVIOR_FALSE", + 6: "JSON_BEHAVIOR_UNKNOWN", + 7: "JSON_BEHAVIOR_EMPTY_ARRAY", + 8: "JSON_BEHAVIOR_EMPTY_OBJECT", + 9: "JSON_BEHAVIOR_DEFAULT", + } + JsonBehaviorType_value = map[string]int32{ + "JSON_BEHAVIOR_TYPE_UNDEFINED": 0, + "JSON_BEHAVIOR_NULL": 1, + "JSON_BEHAVIOR_ERROR": 2, + "JSON_BEHAVIOR_EMPTY": 3, + "JSON_BEHAVIOR_TRUE": 4, + "JSON_BEHAVIOR_FALSE": 5, + "JSON_BEHAVIOR_UNKNOWN": 6, + "JSON_BEHAVIOR_EMPTY_ARRAY": 7, + "JSON_BEHAVIOR_EMPTY_OBJECT": 8, + "JSON_BEHAVIOR_DEFAULT": 9, } ) -func (x AggSplit) Enum() *AggSplit { - p := new(AggSplit) +func (x JsonBehaviorType) Enum() *JsonBehaviorType { + p := new(JsonBehaviorType) *p = x return p } -func (x AggSplit) String() string { +func (x JsonBehaviorType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (AggSplit) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[49].Descriptor() +func (JsonBehaviorType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[53].Descriptor() } -func (AggSplit) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[49] +func (JsonBehaviorType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[53] } -func (x AggSplit) Number() protoreflect.EnumNumber { +func (x JsonBehaviorType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use AggSplit.Descriptor instead. -func (AggSplit) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{49} +// Deprecated: Use JsonBehaviorType.Descriptor instead. +func (JsonBehaviorType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{53} } -type SetOpCmd int32 +type JsonExprOp int32 const ( - SetOpCmd_SET_OP_CMD_UNDEFINED SetOpCmd = 0 - SetOpCmd_SETOPCMD_INTERSECT SetOpCmd = 1 - SetOpCmd_SETOPCMD_INTERSECT_ALL SetOpCmd = 2 - SetOpCmd_SETOPCMD_EXCEPT SetOpCmd = 3 - SetOpCmd_SETOPCMD_EXCEPT_ALL SetOpCmd = 4 + JsonExprOp_JSON_EXPR_OP_UNDEFINED JsonExprOp = 0 + JsonExprOp_JSON_EXISTS_OP JsonExprOp = 1 + JsonExprOp_JSON_QUERY_OP JsonExprOp = 2 + JsonExprOp_JSON_VALUE_OP JsonExprOp = 3 + JsonExprOp_JSON_TABLE_OP JsonExprOp = 4 ) -// Enum value maps for SetOpCmd. +// Enum value maps for JsonExprOp. var ( - SetOpCmd_name = map[int32]string{ - 0: "SET_OP_CMD_UNDEFINED", - 1: "SETOPCMD_INTERSECT", - 2: "SETOPCMD_INTERSECT_ALL", - 3: "SETOPCMD_EXCEPT", - 4: "SETOPCMD_EXCEPT_ALL", - } - SetOpCmd_value = map[string]int32{ - "SET_OP_CMD_UNDEFINED": 0, - "SETOPCMD_INTERSECT": 1, - "SETOPCMD_INTERSECT_ALL": 2, - "SETOPCMD_EXCEPT": 3, - "SETOPCMD_EXCEPT_ALL": 4, + JsonExprOp_name = map[int32]string{ + 0: "JSON_EXPR_OP_UNDEFINED", + 1: "JSON_EXISTS_OP", + 2: "JSON_QUERY_OP", + 3: "JSON_VALUE_OP", + 4: "JSON_TABLE_OP", + } + JsonExprOp_value = map[string]int32{ + "JSON_EXPR_OP_UNDEFINED": 0, + "JSON_EXISTS_OP": 1, + "JSON_QUERY_OP": 2, + "JSON_VALUE_OP": 3, + "JSON_TABLE_OP": 4, } ) -func (x SetOpCmd) Enum() *SetOpCmd { - p := new(SetOpCmd) +func (x JsonExprOp) Enum() *JsonExprOp { + p := new(JsonExprOp) *p = x return p } -func (x SetOpCmd) String() string { +func (x JsonExprOp) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (SetOpCmd) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[50].Descriptor() +func (JsonExprOp) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[54].Descriptor() } -func (SetOpCmd) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[50] +func (JsonExprOp) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[54] } -func (x SetOpCmd) Number() protoreflect.EnumNumber { +func (x JsonExprOp) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use SetOpCmd.Descriptor instead. -func (SetOpCmd) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{50} +// Deprecated: Use JsonExprOp.Descriptor instead. +func (JsonExprOp) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{54} } -type SetOpStrategy int32 +type NullTestType int32 const ( - SetOpStrategy_SET_OP_STRATEGY_UNDEFINED SetOpStrategy = 0 - SetOpStrategy_SETOP_SORTED SetOpStrategy = 1 - SetOpStrategy_SETOP_HASHED SetOpStrategy = 2 + NullTestType_NULL_TEST_TYPE_UNDEFINED NullTestType = 0 + NullTestType_IS_NULL NullTestType = 1 + NullTestType_IS_NOT_NULL NullTestType = 2 ) -// Enum value maps for SetOpStrategy. +// Enum value maps for NullTestType. var ( - SetOpStrategy_name = map[int32]string{ - 0: "SET_OP_STRATEGY_UNDEFINED", - 1: "SETOP_SORTED", - 2: "SETOP_HASHED", + NullTestType_name = map[int32]string{ + 0: "NULL_TEST_TYPE_UNDEFINED", + 1: "IS_NULL", + 2: "IS_NOT_NULL", } - SetOpStrategy_value = map[string]int32{ - "SET_OP_STRATEGY_UNDEFINED": 0, - "SETOP_SORTED": 1, - "SETOP_HASHED": 2, + NullTestType_value = map[string]int32{ + "NULL_TEST_TYPE_UNDEFINED": 0, + "IS_NULL": 1, + "IS_NOT_NULL": 2, } ) -func (x SetOpStrategy) Enum() *SetOpStrategy { - p := new(SetOpStrategy) +func (x NullTestType) Enum() *NullTestType { + p := new(NullTestType) *p = x return p } -func (x SetOpStrategy) String() string { +func (x NullTestType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (SetOpStrategy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[51].Descriptor() +func (NullTestType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[55].Descriptor() } -func (SetOpStrategy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[51] +func (NullTestType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[55] } -func (x SetOpStrategy) Number() protoreflect.EnumNumber { +func (x NullTestType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use SetOpStrategy.Descriptor instead. -func (SetOpStrategy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{51} +// Deprecated: Use NullTestType.Descriptor instead. +func (NullTestType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{55} } -type OnConflictAction int32 +type BoolTestType int32 const ( - OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED OnConflictAction = 0 - OnConflictAction_ONCONFLICT_NONE OnConflictAction = 1 - OnConflictAction_ONCONFLICT_NOTHING OnConflictAction = 2 - OnConflictAction_ONCONFLICT_UPDATE OnConflictAction = 3 + BoolTestType_BOOL_TEST_TYPE_UNDEFINED BoolTestType = 0 + BoolTestType_IS_TRUE BoolTestType = 1 + BoolTestType_IS_NOT_TRUE BoolTestType = 2 + BoolTestType_IS_FALSE BoolTestType = 3 + BoolTestType_IS_NOT_FALSE BoolTestType = 4 + BoolTestType_IS_UNKNOWN BoolTestType = 5 + BoolTestType_IS_NOT_UNKNOWN BoolTestType = 6 ) -// Enum value maps for OnConflictAction. +// Enum value maps for BoolTestType. var ( - OnConflictAction_name = map[int32]string{ - 0: "ON_CONFLICT_ACTION_UNDEFINED", - 1: "ONCONFLICT_NONE", - 2: "ONCONFLICT_NOTHING", - 3: "ONCONFLICT_UPDATE", - } - OnConflictAction_value = map[string]int32{ - "ON_CONFLICT_ACTION_UNDEFINED": 0, - "ONCONFLICT_NONE": 1, - "ONCONFLICT_NOTHING": 2, - "ONCONFLICT_UPDATE": 3, - } + BoolTestType_name = map[int32]string{ + 0: "BOOL_TEST_TYPE_UNDEFINED", + 1: "IS_TRUE", + 2: "IS_NOT_TRUE", + 3: "IS_FALSE", + 4: "IS_NOT_FALSE", + 5: "IS_UNKNOWN", + 6: "IS_NOT_UNKNOWN", + } + BoolTestType_value = map[string]int32{ + "BOOL_TEST_TYPE_UNDEFINED": 0, + "IS_TRUE": 1, + "IS_NOT_TRUE": 2, + "IS_FALSE": 3, + "IS_NOT_FALSE": 4, + "IS_UNKNOWN": 5, + "IS_NOT_UNKNOWN": 6, + } ) -func (x OnConflictAction) Enum() *OnConflictAction { - p := new(OnConflictAction) +func (x BoolTestType) Enum() *BoolTestType { + p := new(BoolTestType) *p = x return p } -func (x OnConflictAction) String() string { +func (x BoolTestType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (OnConflictAction) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[52].Descriptor() +func (BoolTestType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[56].Descriptor() } -func (OnConflictAction) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[52] +func (BoolTestType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[56] } -func (x OnConflictAction) Number() protoreflect.EnumNumber { +func (x BoolTestType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use OnConflictAction.Descriptor instead. -func (OnConflictAction) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{52} +// Deprecated: Use BoolTestType.Descriptor instead. +func (BoolTestType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{56} } -type LimitOption int32 +type MergeMatchKind int32 const ( - LimitOption_LIMIT_OPTION_UNDEFINED LimitOption = 0 - LimitOption_LIMIT_OPTION_DEFAULT LimitOption = 1 - LimitOption_LIMIT_OPTION_COUNT LimitOption = 2 - LimitOption_LIMIT_OPTION_WITH_TIES LimitOption = 3 + MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED MergeMatchKind = 0 + MergeMatchKind_MERGE_WHEN_MATCHED MergeMatchKind = 1 + MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_SOURCE MergeMatchKind = 2 + MergeMatchKind_MERGE_WHEN_NOT_MATCHED_BY_TARGET MergeMatchKind = 3 ) -// Enum value maps for LimitOption. +// Enum value maps for MergeMatchKind. var ( - LimitOption_name = map[int32]string{ - 0: "LIMIT_OPTION_UNDEFINED", - 1: "LIMIT_OPTION_DEFAULT", - 2: "LIMIT_OPTION_COUNT", - 3: "LIMIT_OPTION_WITH_TIES", - } - LimitOption_value = map[string]int32{ - "LIMIT_OPTION_UNDEFINED": 0, - "LIMIT_OPTION_DEFAULT": 1, - "LIMIT_OPTION_COUNT": 2, - "LIMIT_OPTION_WITH_TIES": 3, + MergeMatchKind_name = map[int32]string{ + 0: "MERGE_MATCH_KIND_UNDEFINED", + 1: "MERGE_WHEN_MATCHED", + 2: "MERGE_WHEN_NOT_MATCHED_BY_SOURCE", + 3: "MERGE_WHEN_NOT_MATCHED_BY_TARGET", + } + MergeMatchKind_value = map[string]int32{ + "MERGE_MATCH_KIND_UNDEFINED": 0, + "MERGE_WHEN_MATCHED": 1, + "MERGE_WHEN_NOT_MATCHED_BY_SOURCE": 2, + "MERGE_WHEN_NOT_MATCHED_BY_TARGET": 3, } ) -func (x LimitOption) Enum() *LimitOption { - p := new(LimitOption) +func (x MergeMatchKind) Enum() *MergeMatchKind { + p := new(MergeMatchKind) *p = x return p } -func (x LimitOption) String() string { +func (x MergeMatchKind) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (LimitOption) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[53].Descriptor() +func (MergeMatchKind) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[57].Descriptor() } -func (LimitOption) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[53] +func (MergeMatchKind) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[57] } -func (x LimitOption) Number() protoreflect.EnumNumber { +func (x MergeMatchKind) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use LimitOption.Descriptor instead. -func (LimitOption) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{53} +// Deprecated: Use MergeMatchKind.Descriptor instead. +func (MergeMatchKind) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{57} } -type LockClauseStrength int32 +type CmdType int32 const ( - LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED LockClauseStrength = 0 - LockClauseStrength_LCS_NONE LockClauseStrength = 1 - LockClauseStrength_LCS_FORKEYSHARE LockClauseStrength = 2 - LockClauseStrength_LCS_FORSHARE LockClauseStrength = 3 - LockClauseStrength_LCS_FORNOKEYUPDATE LockClauseStrength = 4 - LockClauseStrength_LCS_FORUPDATE LockClauseStrength = 5 + CmdType_CMD_TYPE_UNDEFINED CmdType = 0 + CmdType_CMD_UNKNOWN CmdType = 1 + CmdType_CMD_SELECT CmdType = 2 + CmdType_CMD_UPDATE CmdType = 3 + CmdType_CMD_INSERT CmdType = 4 + CmdType_CMD_DELETE CmdType = 5 + CmdType_CMD_MERGE CmdType = 6 + CmdType_CMD_UTILITY CmdType = 7 + CmdType_CMD_NOTHING CmdType = 8 ) -// Enum value maps for LockClauseStrength. +// Enum value maps for CmdType. var ( - LockClauseStrength_name = map[int32]string{ - 0: "LOCK_CLAUSE_STRENGTH_UNDEFINED", - 1: "LCS_NONE", - 2: "LCS_FORKEYSHARE", - 3: "LCS_FORSHARE", - 4: "LCS_FORNOKEYUPDATE", - 5: "LCS_FORUPDATE", + CmdType_name = map[int32]string{ + 0: "CMD_TYPE_UNDEFINED", + 1: "CMD_UNKNOWN", + 2: "CMD_SELECT", + 3: "CMD_UPDATE", + 4: "CMD_INSERT", + 5: "CMD_DELETE", + 6: "CMD_MERGE", + 7: "CMD_UTILITY", + 8: "CMD_NOTHING", } - LockClauseStrength_value = map[string]int32{ - "LOCK_CLAUSE_STRENGTH_UNDEFINED": 0, - "LCS_NONE": 1, - "LCS_FORKEYSHARE": 2, - "LCS_FORSHARE": 3, - "LCS_FORNOKEYUPDATE": 4, - "LCS_FORUPDATE": 5, + CmdType_value = map[string]int32{ + "CMD_TYPE_UNDEFINED": 0, + "CMD_UNKNOWN": 1, + "CMD_SELECT": 2, + "CMD_UPDATE": 3, + "CMD_INSERT": 4, + "CMD_DELETE": 5, + "CMD_MERGE": 6, + "CMD_UTILITY": 7, + "CMD_NOTHING": 8, } ) -func (x LockClauseStrength) Enum() *LockClauseStrength { - p := new(LockClauseStrength) +func (x CmdType) Enum() *CmdType { + p := new(CmdType) *p = x return p } -func (x LockClauseStrength) String() string { +func (x CmdType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (LockClauseStrength) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[54].Descriptor() +func (CmdType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[58].Descriptor() } -func (LockClauseStrength) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[54] +func (CmdType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[58] } -func (x LockClauseStrength) Number() protoreflect.EnumNumber { +func (x CmdType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use LockClauseStrength.Descriptor instead. -func (LockClauseStrength) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{54} +// Deprecated: Use CmdType.Descriptor instead. +func (CmdType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{58} } -type LockWaitPolicy int32 +type JoinType int32 const ( - LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED LockWaitPolicy = 0 - LockWaitPolicy_LockWaitBlock LockWaitPolicy = 1 - LockWaitPolicy_LockWaitSkip LockWaitPolicy = 2 - LockWaitPolicy_LockWaitError LockWaitPolicy = 3 + JoinType_JOIN_TYPE_UNDEFINED JoinType = 0 + JoinType_JOIN_INNER JoinType = 1 + JoinType_JOIN_LEFT JoinType = 2 + JoinType_JOIN_FULL JoinType = 3 + JoinType_JOIN_RIGHT JoinType = 4 + JoinType_JOIN_SEMI JoinType = 5 + JoinType_JOIN_ANTI JoinType = 6 + JoinType_JOIN_RIGHT_ANTI JoinType = 7 + JoinType_JOIN_UNIQUE_OUTER JoinType = 8 + JoinType_JOIN_UNIQUE_INNER JoinType = 9 ) -// Enum value maps for LockWaitPolicy. +// Enum value maps for JoinType. var ( - LockWaitPolicy_name = map[int32]string{ - 0: "LOCK_WAIT_POLICY_UNDEFINED", - 1: "LockWaitBlock", - 2: "LockWaitSkip", - 3: "LockWaitError", + JoinType_name = map[int32]string{ + 0: "JOIN_TYPE_UNDEFINED", + 1: "JOIN_INNER", + 2: "JOIN_LEFT", + 3: "JOIN_FULL", + 4: "JOIN_RIGHT", + 5: "JOIN_SEMI", + 6: "JOIN_ANTI", + 7: "JOIN_RIGHT_ANTI", + 8: "JOIN_UNIQUE_OUTER", + 9: "JOIN_UNIQUE_INNER", } - LockWaitPolicy_value = map[string]int32{ - "LOCK_WAIT_POLICY_UNDEFINED": 0, - "LockWaitBlock": 1, - "LockWaitSkip": 2, - "LockWaitError": 3, + JoinType_value = map[string]int32{ + "JOIN_TYPE_UNDEFINED": 0, + "JOIN_INNER": 1, + "JOIN_LEFT": 2, + "JOIN_FULL": 3, + "JOIN_RIGHT": 4, + "JOIN_SEMI": 5, + "JOIN_ANTI": 6, + "JOIN_RIGHT_ANTI": 7, + "JOIN_UNIQUE_OUTER": 8, + "JOIN_UNIQUE_INNER": 9, } ) -func (x LockWaitPolicy) Enum() *LockWaitPolicy { - p := new(LockWaitPolicy) +func (x JoinType) Enum() *JoinType { + p := new(JoinType) *p = x return p } -func (x LockWaitPolicy) String() string { +func (x JoinType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (LockWaitPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[55].Descriptor() +func (JoinType) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[59].Descriptor() } -func (LockWaitPolicy) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[55] +func (JoinType) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[59] } -func (x LockWaitPolicy) Number() protoreflect.EnumNumber { +func (x JoinType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use LockWaitPolicy.Descriptor instead. -func (LockWaitPolicy) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{55} +// Deprecated: Use JoinType.Descriptor instead. +func (JoinType) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{59} } -type LockTupleMode int32 +type AggStrategy int32 const ( - LockTupleMode_LOCK_TUPLE_MODE_UNDEFINED LockTupleMode = 0 - LockTupleMode_LockTupleKeyShare LockTupleMode = 1 - LockTupleMode_LockTupleShare LockTupleMode = 2 - LockTupleMode_LockTupleNoKeyExclusive LockTupleMode = 3 - LockTupleMode_LockTupleExclusive LockTupleMode = 4 + AggStrategy_AGG_STRATEGY_UNDEFINED AggStrategy = 0 + AggStrategy_AGG_PLAIN AggStrategy = 1 + AggStrategy_AGG_SORTED AggStrategy = 2 + AggStrategy_AGG_HASHED AggStrategy = 3 + AggStrategy_AGG_MIXED AggStrategy = 4 ) -// Enum value maps for LockTupleMode. +// Enum value maps for AggStrategy. var ( - LockTupleMode_name = map[int32]string{ - 0: "LOCK_TUPLE_MODE_UNDEFINED", - 1: "LockTupleKeyShare", - 2: "LockTupleShare", - 3: "LockTupleNoKeyExclusive", - 4: "LockTupleExclusive", + AggStrategy_name = map[int32]string{ + 0: "AGG_STRATEGY_UNDEFINED", + 1: "AGG_PLAIN", + 2: "AGG_SORTED", + 3: "AGG_HASHED", + 4: "AGG_MIXED", } - LockTupleMode_value = map[string]int32{ - "LOCK_TUPLE_MODE_UNDEFINED": 0, - "LockTupleKeyShare": 1, - "LockTupleShare": 2, - "LockTupleNoKeyExclusive": 3, - "LockTupleExclusive": 4, + AggStrategy_value = map[string]int32{ + "AGG_STRATEGY_UNDEFINED": 0, + "AGG_PLAIN": 1, + "AGG_SORTED": 2, + "AGG_HASHED": 3, + "AGG_MIXED": 4, } ) -func (x LockTupleMode) Enum() *LockTupleMode { - p := new(LockTupleMode) +func (x AggStrategy) Enum() *AggStrategy { + p := new(AggStrategy) *p = x return p } -func (x LockTupleMode) String() string { +func (x AggStrategy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (LockTupleMode) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[56].Descriptor() +func (AggStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[60].Descriptor() } -func (LockTupleMode) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[56] +func (AggStrategy) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[60] } -func (x LockTupleMode) Number() protoreflect.EnumNumber { +func (x AggStrategy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use LockTupleMode.Descriptor instead. -func (LockTupleMode) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{56} +// Deprecated: Use AggStrategy.Descriptor instead. +func (AggStrategy) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{60} } -type KeywordKind int32 +type AggSplit int32 const ( - KeywordKind_NO_KEYWORD KeywordKind = 0 - KeywordKind_UNRESERVED_KEYWORD KeywordKind = 1 - KeywordKind_COL_NAME_KEYWORD KeywordKind = 2 - KeywordKind_TYPE_FUNC_NAME_KEYWORD KeywordKind = 3 - KeywordKind_RESERVED_KEYWORD KeywordKind = 4 + AggSplit_AGG_SPLIT_UNDEFINED AggSplit = 0 + AggSplit_AGGSPLIT_SIMPLE AggSplit = 1 + AggSplit_AGGSPLIT_INITIAL_SERIAL AggSplit = 2 + AggSplit_AGGSPLIT_FINAL_DESERIAL AggSplit = 3 ) -// Enum value maps for KeywordKind. +// Enum value maps for AggSplit. var ( - KeywordKind_name = map[int32]string{ - 0: "NO_KEYWORD", - 1: "UNRESERVED_KEYWORD", - 2: "COL_NAME_KEYWORD", - 3: "TYPE_FUNC_NAME_KEYWORD", - 4: "RESERVED_KEYWORD", + AggSplit_name = map[int32]string{ + 0: "AGG_SPLIT_UNDEFINED", + 1: "AGGSPLIT_SIMPLE", + 2: "AGGSPLIT_INITIAL_SERIAL", + 3: "AGGSPLIT_FINAL_DESERIAL", } - KeywordKind_value = map[string]int32{ - "NO_KEYWORD": 0, - "UNRESERVED_KEYWORD": 1, - "COL_NAME_KEYWORD": 2, - "TYPE_FUNC_NAME_KEYWORD": 3, - "RESERVED_KEYWORD": 4, + AggSplit_value = map[string]int32{ + "AGG_SPLIT_UNDEFINED": 0, + "AGGSPLIT_SIMPLE": 1, + "AGGSPLIT_INITIAL_SERIAL": 2, + "AGGSPLIT_FINAL_DESERIAL": 3, } ) -func (x KeywordKind) Enum() *KeywordKind { - p := new(KeywordKind) +func (x AggSplit) Enum() *AggSplit { + p := new(AggSplit) *p = x return p } -func (x KeywordKind) String() string { +func (x AggSplit) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (KeywordKind) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[57].Descriptor() +func (AggSplit) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[61].Descriptor() } -func (KeywordKind) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[57] +func (AggSplit) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[61] } -func (x KeywordKind) Number() protoreflect.EnumNumber { +func (x AggSplit) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use KeywordKind.Descriptor instead. -func (KeywordKind) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{57} +// Deprecated: Use AggSplit.Descriptor instead. +func (AggSplit) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{61} } -type Token int32 +type SetOpCmd int32 const ( - Token_NUL Token = 0 - // Single-character tokens that are returned 1:1 (identical with "self" list in scan.l) - // Either supporting syntax, or single-character operators (some can be both) - // Also see https://www.postgresql.org/docs/12/sql-syntax-lexical.html#SQL-SYNTAX-SPECIAL-CHARS - Token_ASCII_37 Token = 37 // "%" - Token_ASCII_40 Token = 40 // "(" - Token_ASCII_41 Token = 41 // ")" - Token_ASCII_42 Token = 42 // "*" - Token_ASCII_43 Token = 43 // "+" - Token_ASCII_44 Token = 44 // "," - Token_ASCII_45 Token = 45 // "-" - Token_ASCII_46 Token = 46 // "." - Token_ASCII_47 Token = 47 // "/" - Token_ASCII_58 Token = 58 // ":" - Token_ASCII_59 Token = 59 // ";" - Token_ASCII_60 Token = 60 // "<" - Token_ASCII_61 Token = 61 // "=" - Token_ASCII_62 Token = 62 // ">" - Token_ASCII_63 Token = 63 // "?" - Token_ASCII_91 Token = 91 // "[" - Token_ASCII_92 Token = 92 // "\" - Token_ASCII_93 Token = 93 // "]" - Token_ASCII_94 Token = 94 // "^" - // Named tokens in scan.l - Token_IDENT Token = 258 - Token_UIDENT Token = 259 - Token_FCONST Token = 260 - Token_SCONST Token = 261 - Token_USCONST Token = 262 - Token_BCONST Token = 263 - Token_XCONST Token = 264 - Token_Op Token = 265 - Token_ICONST Token = 266 - Token_PARAM Token = 267 - Token_TYPECAST Token = 268 - Token_DOT_DOT Token = 269 - Token_COLON_EQUALS Token = 270 - Token_EQUALS_GREATER Token = 271 - Token_LESS_EQUALS Token = 272 - Token_GREATER_EQUALS Token = 273 - Token_NOT_EQUALS Token = 274 - Token_SQL_COMMENT Token = 275 - Token_C_COMMENT Token = 276 - Token_ABORT_P Token = 277 - Token_ABSOLUTE_P Token = 278 - Token_ACCESS Token = 279 - Token_ACTION Token = 280 - Token_ADD_P Token = 281 - Token_ADMIN Token = 282 - Token_AFTER Token = 283 - Token_AGGREGATE Token = 284 - Token_ALL Token = 285 - Token_ALSO Token = 286 - Token_ALTER Token = 287 - Token_ALWAYS Token = 288 - Token_ANALYSE Token = 289 - Token_ANALYZE Token = 290 - Token_AND Token = 291 - Token_ANY Token = 292 - Token_ARRAY Token = 293 - Token_AS Token = 294 - Token_ASC Token = 295 - Token_ASENSITIVE Token = 296 - Token_ASSERTION Token = 297 - Token_ASSIGNMENT Token = 298 - Token_ASYMMETRIC Token = 299 - Token_ATOMIC Token = 300 - Token_AT Token = 301 - Token_ATTACH Token = 302 - Token_ATTRIBUTE Token = 303 - Token_AUTHORIZATION Token = 304 - Token_BACKWARD Token = 305 - Token_BEFORE Token = 306 - Token_BEGIN_P Token = 307 - Token_BETWEEN Token = 308 - Token_BIGINT Token = 309 - Token_BINARY Token = 310 - Token_BIT Token = 311 - Token_BOOLEAN_P Token = 312 - Token_BOTH Token = 313 - Token_BREADTH Token = 314 - Token_BY Token = 315 - Token_CACHE Token = 316 - Token_CALL Token = 317 - Token_CALLED Token = 318 - Token_CASCADE Token = 319 - Token_CASCADED Token = 320 - Token_CASE Token = 321 - Token_CAST Token = 322 - Token_CATALOG_P Token = 323 - Token_CHAIN Token = 324 - Token_CHAR_P Token = 325 - Token_CHARACTER Token = 326 - Token_CHARACTERISTICS Token = 327 - Token_CHECK Token = 328 - Token_CHECKPOINT Token = 329 - Token_CLASS Token = 330 - Token_CLOSE Token = 331 - Token_CLUSTER Token = 332 - Token_COALESCE Token = 333 - Token_COLLATE Token = 334 - Token_COLLATION Token = 335 - Token_COLUMN Token = 336 - Token_COLUMNS Token = 337 - Token_COMMENT Token = 338 - Token_COMMENTS Token = 339 - Token_COMMIT Token = 340 - Token_COMMITTED Token = 341 - Token_COMPRESSION Token = 342 - Token_CONCURRENTLY Token = 343 - Token_CONFIGURATION Token = 344 - Token_CONFLICT Token = 345 - Token_CONNECTION Token = 346 - Token_CONSTRAINT Token = 347 - Token_CONSTRAINTS Token = 348 - Token_CONTENT_P Token = 349 - Token_CONTINUE_P Token = 350 - Token_CONVERSION_P Token = 351 - Token_COPY Token = 352 - Token_COST Token = 353 - Token_CREATE Token = 354 - Token_CROSS Token = 355 - Token_CSV Token = 356 - Token_CUBE Token = 357 - Token_CURRENT_P Token = 358 - Token_CURRENT_CATALOG Token = 359 - Token_CURRENT_DATE Token = 360 - Token_CURRENT_ROLE Token = 361 - Token_CURRENT_SCHEMA Token = 362 - Token_CURRENT_TIME Token = 363 - Token_CURRENT_TIMESTAMP Token = 364 - Token_CURRENT_USER Token = 365 - Token_CURSOR Token = 366 - Token_CYCLE Token = 367 - Token_DATA_P Token = 368 - Token_DATABASE Token = 369 - Token_DAY_P Token = 370 - Token_DEALLOCATE Token = 371 - Token_DEC Token = 372 - Token_DECIMAL_P Token = 373 - Token_DECLARE Token = 374 - Token_DEFAULT Token = 375 - Token_DEFAULTS Token = 376 - Token_DEFERRABLE Token = 377 - Token_DEFERRED Token = 378 - Token_DEFINER Token = 379 - Token_DELETE_P Token = 380 - Token_DELIMITER Token = 381 - Token_DELIMITERS Token = 382 - Token_DEPENDS Token = 383 - Token_DEPTH Token = 384 - Token_DESC Token = 385 - Token_DETACH Token = 386 - Token_DICTIONARY Token = 387 - Token_DISABLE_P Token = 388 - Token_DISCARD Token = 389 - Token_DISTINCT Token = 390 - Token_DO Token = 391 - Token_DOCUMENT_P Token = 392 - Token_DOMAIN_P Token = 393 - Token_DOUBLE_P Token = 394 - Token_DROP Token = 395 - Token_EACH Token = 396 - Token_ELSE Token = 397 - Token_ENABLE_P Token = 398 - Token_ENCODING Token = 399 - Token_ENCRYPTED Token = 400 - Token_END_P Token = 401 - Token_ENUM_P Token = 402 - Token_ESCAPE Token = 403 - Token_EVENT Token = 404 - Token_EXCEPT Token = 405 - Token_EXCLUDE Token = 406 - Token_EXCLUDING Token = 407 - Token_EXCLUSIVE Token = 408 - Token_EXECUTE Token = 409 - Token_EXISTS Token = 410 - Token_EXPLAIN Token = 411 - Token_EXPRESSION Token = 412 - Token_EXTENSION Token = 413 - Token_EXTERNAL Token = 414 - Token_EXTRACT Token = 415 - Token_FALSE_P Token = 416 - Token_FAMILY Token = 417 - Token_FETCH Token = 418 - Token_FILTER Token = 419 - Token_FINALIZE Token = 420 - Token_FIRST_P Token = 421 - Token_FLOAT_P Token = 422 - Token_FOLLOWING Token = 423 - Token_FOR Token = 424 - Token_FORCE Token = 425 - Token_FOREIGN Token = 426 - Token_FORWARD Token = 427 - Token_FREEZE Token = 428 - Token_FROM Token = 429 - Token_FULL Token = 430 - Token_FUNCTION Token = 431 - Token_FUNCTIONS Token = 432 - Token_GENERATED Token = 433 - Token_GLOBAL Token = 434 - Token_GRANT Token = 435 - Token_GRANTED Token = 436 - Token_GREATEST Token = 437 - Token_GROUP_P Token = 438 - Token_GROUPING Token = 439 - Token_GROUPS Token = 440 - Token_HANDLER Token = 441 - Token_HAVING Token = 442 - Token_HEADER_P Token = 443 - Token_HOLD Token = 444 - Token_HOUR_P Token = 445 - Token_IDENTITY_P Token = 446 - Token_IF_P Token = 447 - Token_ILIKE Token = 448 - Token_IMMEDIATE Token = 449 - Token_IMMUTABLE Token = 450 - Token_IMPLICIT_P Token = 451 - Token_IMPORT_P Token = 452 - Token_IN_P Token = 453 - Token_INCLUDE Token = 454 - Token_INCLUDING Token = 455 - Token_INCREMENT Token = 456 - Token_INDEX Token = 457 - Token_INDEXES Token = 458 - Token_INHERIT Token = 459 - Token_INHERITS Token = 460 - Token_INITIALLY Token = 461 - Token_INLINE_P Token = 462 - Token_INNER_P Token = 463 - Token_INOUT Token = 464 - Token_INPUT_P Token = 465 - Token_INSENSITIVE Token = 466 - Token_INSERT Token = 467 - Token_INSTEAD Token = 468 - Token_INT_P Token = 469 - Token_INTEGER Token = 470 - Token_INTERSECT Token = 471 - Token_INTERVAL Token = 472 - Token_INTO Token = 473 - Token_INVOKER Token = 474 - Token_IS Token = 475 - Token_ISNULL Token = 476 - Token_ISOLATION Token = 477 - Token_JOIN Token = 478 - Token_KEY Token = 479 - Token_LABEL Token = 480 - Token_LANGUAGE Token = 481 - Token_LARGE_P Token = 482 - Token_LAST_P Token = 483 - Token_LATERAL_P Token = 484 - Token_LEADING Token = 485 - Token_LEAKPROOF Token = 486 - Token_LEAST Token = 487 - Token_LEFT Token = 488 - Token_LEVEL Token = 489 - Token_LIKE Token = 490 - Token_LIMIT Token = 491 - Token_LISTEN Token = 492 - Token_LOAD Token = 493 - Token_LOCAL Token = 494 - Token_LOCALTIME Token = 495 - Token_LOCALTIMESTAMP Token = 496 - Token_LOCATION Token = 497 - Token_LOCK_P Token = 498 - Token_LOCKED Token = 499 - Token_LOGGED Token = 500 - Token_MAPPING Token = 501 - Token_MATCH Token = 502 - Token_MATCHED Token = 503 - Token_MATERIALIZED Token = 504 - Token_MAXVALUE Token = 505 - Token_MERGE Token = 506 - Token_METHOD Token = 507 - Token_MINUTE_P Token = 508 - Token_MINVALUE Token = 509 - Token_MODE Token = 510 - Token_MONTH_P Token = 511 - Token_MOVE Token = 512 - Token_NAME_P Token = 513 - Token_NAMES Token = 514 - Token_NATIONAL Token = 515 - Token_NATURAL Token = 516 - Token_NCHAR Token = 517 - Token_NEW Token = 518 - Token_NEXT Token = 519 - Token_NFC Token = 520 - Token_NFD Token = 521 - Token_NFKC Token = 522 - Token_NFKD Token = 523 - Token_NO Token = 524 - Token_NONE Token = 525 - Token_NORMALIZE Token = 526 - Token_NORMALIZED Token = 527 - Token_NOT Token = 528 - Token_NOTHING Token = 529 - Token_NOTIFY Token = 530 - Token_NOTNULL Token = 531 - Token_NOWAIT Token = 532 - Token_NULL_P Token = 533 - Token_NULLIF Token = 534 - Token_NULLS_P Token = 535 - Token_NUMERIC Token = 536 - Token_OBJECT_P Token = 537 - Token_OF Token = 538 - Token_OFF Token = 539 - Token_OFFSET Token = 540 - Token_OIDS Token = 541 - Token_OLD Token = 542 - Token_ON Token = 543 - Token_ONLY Token = 544 - Token_OPERATOR Token = 545 - Token_OPTION Token = 546 - Token_OPTIONS Token = 547 - Token_OR Token = 548 - Token_ORDER Token = 549 - Token_ORDINALITY Token = 550 - Token_OTHERS Token = 551 - Token_OUT_P Token = 552 - Token_OUTER_P Token = 553 - Token_OVER Token = 554 - Token_OVERLAPS Token = 555 - Token_OVERLAY Token = 556 - Token_OVERRIDING Token = 557 - Token_OWNED Token = 558 - Token_OWNER Token = 559 - Token_PARALLEL Token = 560 - Token_PARAMETER Token = 561 - Token_PARSER Token = 562 - Token_PARTIAL Token = 563 - Token_PARTITION Token = 564 - Token_PASSING Token = 565 - Token_PASSWORD Token = 566 - Token_PLACING Token = 567 - Token_PLANS Token = 568 - Token_POLICY Token = 569 - Token_POSITION Token = 570 - Token_PRECEDING Token = 571 - Token_PRECISION Token = 572 - Token_PRESERVE Token = 573 - Token_PREPARE Token = 574 - Token_PREPARED Token = 575 - Token_PRIMARY Token = 576 - Token_PRIOR Token = 577 - Token_PRIVILEGES Token = 578 - Token_PROCEDURAL Token = 579 - Token_PROCEDURE Token = 580 - Token_PROCEDURES Token = 581 - Token_PROGRAM Token = 582 - Token_PUBLICATION Token = 583 - Token_QUOTE Token = 584 - Token_RANGE Token = 585 - Token_READ Token = 586 - Token_REAL Token = 587 - Token_REASSIGN Token = 588 - Token_RECHECK Token = 589 - Token_RECURSIVE Token = 590 - Token_REF_P Token = 591 - Token_REFERENCES Token = 592 - Token_REFERENCING Token = 593 - Token_REFRESH Token = 594 - Token_REINDEX Token = 595 - Token_RELATIVE_P Token = 596 - Token_RELEASE Token = 597 - Token_RENAME Token = 598 - Token_REPEATABLE Token = 599 - Token_REPLACE Token = 600 - Token_REPLICA Token = 601 - Token_RESET Token = 602 - Token_RESTART Token = 603 - Token_RESTRICT Token = 604 - Token_RETURN Token = 605 - Token_RETURNING Token = 606 - Token_RETURNS Token = 607 - Token_REVOKE Token = 608 - Token_RIGHT Token = 609 - Token_ROLE Token = 610 - Token_ROLLBACK Token = 611 - Token_ROLLUP Token = 612 - Token_ROUTINE Token = 613 - Token_ROUTINES Token = 614 - Token_ROW Token = 615 - Token_ROWS Token = 616 - Token_RULE Token = 617 - Token_SAVEPOINT Token = 618 - Token_SCHEMA Token = 619 - Token_SCHEMAS Token = 620 - Token_SCROLL Token = 621 - Token_SEARCH Token = 622 - Token_SECOND_P Token = 623 - Token_SECURITY Token = 624 - Token_SELECT Token = 625 - Token_SEQUENCE Token = 626 - Token_SEQUENCES Token = 627 - Token_SERIALIZABLE Token = 628 - Token_SERVER Token = 629 - Token_SESSION Token = 630 - Token_SESSION_USER Token = 631 - Token_SET Token = 632 - Token_SETS Token = 633 - Token_SETOF Token = 634 - Token_SHARE Token = 635 - Token_SHOW Token = 636 - Token_SIMILAR Token = 637 - Token_SIMPLE Token = 638 - Token_SKIP Token = 639 - Token_SMALLINT Token = 640 - Token_SNAPSHOT Token = 641 - Token_SOME Token = 642 - Token_SQL_P Token = 643 - Token_STABLE Token = 644 - Token_STANDALONE_P Token = 645 - Token_START Token = 646 - Token_STATEMENT Token = 647 - Token_STATISTICS Token = 648 - Token_STDIN Token = 649 - Token_STDOUT Token = 650 - Token_STORAGE Token = 651 - Token_STORED Token = 652 - Token_STRICT_P Token = 653 - Token_STRIP_P Token = 654 - Token_SUBSCRIPTION Token = 655 - Token_SUBSTRING Token = 656 - Token_SUPPORT Token = 657 - Token_SYMMETRIC Token = 658 - Token_SYSID Token = 659 - Token_SYSTEM_P Token = 660 - Token_TABLE Token = 661 - Token_TABLES Token = 662 - Token_TABLESAMPLE Token = 663 - Token_TABLESPACE Token = 664 - Token_TEMP Token = 665 - Token_TEMPLATE Token = 666 - Token_TEMPORARY Token = 667 - Token_TEXT_P Token = 668 - Token_THEN Token = 669 - Token_TIES Token = 670 - Token_TIME Token = 671 - Token_TIMESTAMP Token = 672 - Token_TO Token = 673 - Token_TRAILING Token = 674 - Token_TRANSACTION Token = 675 - Token_TRANSFORM Token = 676 - Token_TREAT Token = 677 - Token_TRIGGER Token = 678 - Token_TRIM Token = 679 - Token_TRUE_P Token = 680 - Token_TRUNCATE Token = 681 - Token_TRUSTED Token = 682 - Token_TYPE_P Token = 683 - Token_TYPES_P Token = 684 - Token_UESCAPE Token = 685 - Token_UNBOUNDED Token = 686 - Token_UNCOMMITTED Token = 687 - Token_UNENCRYPTED Token = 688 - Token_UNION Token = 689 - Token_UNIQUE Token = 690 - Token_UNKNOWN Token = 691 - Token_UNLISTEN Token = 692 - Token_UNLOGGED Token = 693 - Token_UNTIL Token = 694 - Token_UPDATE Token = 695 - Token_USER Token = 696 - Token_USING Token = 697 - Token_VACUUM Token = 698 - Token_VALID Token = 699 - Token_VALIDATE Token = 700 - Token_VALIDATOR Token = 701 - Token_VALUE_P Token = 702 - Token_VALUES Token = 703 - Token_VARCHAR Token = 704 - Token_VARIADIC Token = 705 - Token_VARYING Token = 706 - Token_VERBOSE Token = 707 - Token_VERSION_P Token = 708 - Token_VIEW Token = 709 - Token_VIEWS Token = 710 - Token_VOLATILE Token = 711 - Token_WHEN Token = 712 - Token_WHERE Token = 713 - Token_WHITESPACE_P Token = 714 - Token_WINDOW Token = 715 - Token_WITH Token = 716 - Token_WITHIN Token = 717 - Token_WITHOUT Token = 718 - Token_WORK Token = 719 - Token_WRAPPER Token = 720 - Token_WRITE Token = 721 - Token_XML_P Token = 722 - Token_XMLATTRIBUTES Token = 723 - Token_XMLCONCAT Token = 724 - Token_XMLELEMENT Token = 725 - Token_XMLEXISTS Token = 726 - Token_XMLFOREST Token = 727 - Token_XMLNAMESPACES Token = 728 - Token_XMLPARSE Token = 729 - Token_XMLPI Token = 730 - Token_XMLROOT Token = 731 - Token_XMLSERIALIZE Token = 732 - Token_XMLTABLE Token = 733 - Token_YEAR_P Token = 734 - Token_YES_P Token = 735 - Token_ZONE Token = 736 - Token_NOT_LA Token = 737 - Token_NULLS_LA Token = 738 - Token_WITH_LA Token = 739 - Token_MODE_TYPE_NAME Token = 740 - Token_MODE_PLPGSQL_EXPR Token = 741 - Token_MODE_PLPGSQL_ASSIGN1 Token = 742 - Token_MODE_PLPGSQL_ASSIGN2 Token = 743 - Token_MODE_PLPGSQL_ASSIGN3 Token = 744 - Token_UMINUS Token = 745 + SetOpCmd_SET_OP_CMD_UNDEFINED SetOpCmd = 0 + SetOpCmd_SETOPCMD_INTERSECT SetOpCmd = 1 + SetOpCmd_SETOPCMD_INTERSECT_ALL SetOpCmd = 2 + SetOpCmd_SETOPCMD_EXCEPT SetOpCmd = 3 + SetOpCmd_SETOPCMD_EXCEPT_ALL SetOpCmd = 4 ) -// Enum value maps for Token. +// Enum value maps for SetOpCmd. var ( - Token_name = map[int32]string{ - 0: "NUL", - 37: "ASCII_37", - 40: "ASCII_40", - 41: "ASCII_41", - 42: "ASCII_42", - 43: "ASCII_43", - 44: "ASCII_44", - 45: "ASCII_45", - 46: "ASCII_46", - 47: "ASCII_47", - 58: "ASCII_58", - 59: "ASCII_59", - 60: "ASCII_60", - 61: "ASCII_61", - 62: "ASCII_62", - 63: "ASCII_63", - 91: "ASCII_91", - 92: "ASCII_92", - 93: "ASCII_93", - 94: "ASCII_94", - 258: "IDENT", - 259: "UIDENT", - 260: "FCONST", - 261: "SCONST", - 262: "USCONST", - 263: "BCONST", - 264: "XCONST", - 265: "Op", - 266: "ICONST", - 267: "PARAM", - 268: "TYPECAST", - 269: "DOT_DOT", - 270: "COLON_EQUALS", - 271: "EQUALS_GREATER", - 272: "LESS_EQUALS", - 273: "GREATER_EQUALS", - 274: "NOT_EQUALS", - 275: "SQL_COMMENT", - 276: "C_COMMENT", - 277: "ABORT_P", - 278: "ABSOLUTE_P", - 279: "ACCESS", - 280: "ACTION", - 281: "ADD_P", - 282: "ADMIN", - 283: "AFTER", - 284: "AGGREGATE", - 285: "ALL", - 286: "ALSO", - 287: "ALTER", - 288: "ALWAYS", - 289: "ANALYSE", - 290: "ANALYZE", - 291: "AND", - 292: "ANY", - 293: "ARRAY", - 294: "AS", - 295: "ASC", - 296: "ASENSITIVE", - 297: "ASSERTION", - 298: "ASSIGNMENT", - 299: "ASYMMETRIC", - 300: "ATOMIC", - 301: "AT", - 302: "ATTACH", - 303: "ATTRIBUTE", - 304: "AUTHORIZATION", - 305: "BACKWARD", - 306: "BEFORE", - 307: "BEGIN_P", - 308: "BETWEEN", - 309: "BIGINT", - 310: "BINARY", - 311: "BIT", - 312: "BOOLEAN_P", - 313: "BOTH", - 314: "BREADTH", - 315: "BY", - 316: "CACHE", - 317: "CALL", - 318: "CALLED", - 319: "CASCADE", - 320: "CASCADED", - 321: "CASE", - 322: "CAST", - 323: "CATALOG_P", - 324: "CHAIN", - 325: "CHAR_P", - 326: "CHARACTER", - 327: "CHARACTERISTICS", - 328: "CHECK", - 329: "CHECKPOINT", - 330: "CLASS", - 331: "CLOSE", - 332: "CLUSTER", - 333: "COALESCE", - 334: "COLLATE", - 335: "COLLATION", - 336: "COLUMN", - 337: "COLUMNS", - 338: "COMMENT", - 339: "COMMENTS", - 340: "COMMIT", - 341: "COMMITTED", - 342: "COMPRESSION", - 343: "CONCURRENTLY", - 344: "CONFIGURATION", - 345: "CONFLICT", - 346: "CONNECTION", - 347: "CONSTRAINT", - 348: "CONSTRAINTS", - 349: "CONTENT_P", - 350: "CONTINUE_P", - 351: "CONVERSION_P", - 352: "COPY", - 353: "COST", - 354: "CREATE", - 355: "CROSS", - 356: "CSV", - 357: "CUBE", - 358: "CURRENT_P", - 359: "CURRENT_CATALOG", - 360: "CURRENT_DATE", - 361: "CURRENT_ROLE", - 362: "CURRENT_SCHEMA", - 363: "CURRENT_TIME", - 364: "CURRENT_TIMESTAMP", - 365: "CURRENT_USER", - 366: "CURSOR", - 367: "CYCLE", - 368: "DATA_P", - 369: "DATABASE", - 370: "DAY_P", - 371: "DEALLOCATE", - 372: "DEC", - 373: "DECIMAL_P", - 374: "DECLARE", - 375: "DEFAULT", - 376: "DEFAULTS", - 377: "DEFERRABLE", - 378: "DEFERRED", - 379: "DEFINER", - 380: "DELETE_P", - 381: "DELIMITER", - 382: "DELIMITERS", - 383: "DEPENDS", - 384: "DEPTH", - 385: "DESC", - 386: "DETACH", - 387: "DICTIONARY", - 388: "DISABLE_P", - 389: "DISCARD", - 390: "DISTINCT", - 391: "DO", - 392: "DOCUMENT_P", - 393: "DOMAIN_P", - 394: "DOUBLE_P", - 395: "DROP", - 396: "EACH", - 397: "ELSE", - 398: "ENABLE_P", - 399: "ENCODING", - 400: "ENCRYPTED", - 401: "END_P", - 402: "ENUM_P", - 403: "ESCAPE", - 404: "EVENT", - 405: "EXCEPT", - 406: "EXCLUDE", - 407: "EXCLUDING", - 408: "EXCLUSIVE", - 409: "EXECUTE", - 410: "EXISTS", - 411: "EXPLAIN", - 412: "EXPRESSION", - 413: "EXTENSION", - 414: "EXTERNAL", - 415: "EXTRACT", - 416: "FALSE_P", - 417: "FAMILY", - 418: "FETCH", - 419: "FILTER", - 420: "FINALIZE", - 421: "FIRST_P", - 422: "FLOAT_P", - 423: "FOLLOWING", - 424: "FOR", - 425: "FORCE", - 426: "FOREIGN", - 427: "FORWARD", - 428: "FREEZE", - 429: "FROM", - 430: "FULL", - 431: "FUNCTION", - 432: "FUNCTIONS", - 433: "GENERATED", - 434: "GLOBAL", - 435: "GRANT", - 436: "GRANTED", - 437: "GREATEST", - 438: "GROUP_P", - 439: "GROUPING", - 440: "GROUPS", - 441: "HANDLER", - 442: "HAVING", - 443: "HEADER_P", - 444: "HOLD", - 445: "HOUR_P", - 446: "IDENTITY_P", - 447: "IF_P", - 448: "ILIKE", - 449: "IMMEDIATE", - 450: "IMMUTABLE", - 451: "IMPLICIT_P", - 452: "IMPORT_P", - 453: "IN_P", - 454: "INCLUDE", - 455: "INCLUDING", - 456: "INCREMENT", - 457: "INDEX", - 458: "INDEXES", - 459: "INHERIT", - 460: "INHERITS", - 461: "INITIALLY", - 462: "INLINE_P", - 463: "INNER_P", - 464: "INOUT", - 465: "INPUT_P", - 466: "INSENSITIVE", - 467: "INSERT", - 468: "INSTEAD", - 469: "INT_P", - 470: "INTEGER", - 471: "INTERSECT", - 472: "INTERVAL", - 473: "INTO", - 474: "INVOKER", - 475: "IS", - 476: "ISNULL", - 477: "ISOLATION", - 478: "JOIN", - 479: "KEY", - 480: "LABEL", - 481: "LANGUAGE", - 482: "LARGE_P", - 483: "LAST_P", - 484: "LATERAL_P", - 485: "LEADING", - 486: "LEAKPROOF", - 487: "LEAST", - 488: "LEFT", - 489: "LEVEL", - 490: "LIKE", - 491: "LIMIT", - 492: "LISTEN", - 493: "LOAD", - 494: "LOCAL", - 495: "LOCALTIME", - 496: "LOCALTIMESTAMP", - 497: "LOCATION", - 498: "LOCK_P", - 499: "LOCKED", - 500: "LOGGED", - 501: "MAPPING", - 502: "MATCH", - 503: "MATCHED", - 504: "MATERIALIZED", - 505: "MAXVALUE", - 506: "MERGE", - 507: "METHOD", - 508: "MINUTE_P", - 509: "MINVALUE", - 510: "MODE", - 511: "MONTH_P", - 512: "MOVE", - 513: "NAME_P", - 514: "NAMES", - 515: "NATIONAL", - 516: "NATURAL", - 517: "NCHAR", - 518: "NEW", - 519: "NEXT", - 520: "NFC", - 521: "NFD", - 522: "NFKC", - 523: "NFKD", - 524: "NO", - 525: "NONE", - 526: "NORMALIZE", - 527: "NORMALIZED", - 528: "NOT", - 529: "NOTHING", - 530: "NOTIFY", - 531: "NOTNULL", - 532: "NOWAIT", - 533: "NULL_P", - 534: "NULLIF", - 535: "NULLS_P", - 536: "NUMERIC", - 537: "OBJECT_P", - 538: "OF", - 539: "OFF", - 540: "OFFSET", - 541: "OIDS", - 542: "OLD", - 543: "ON", - 544: "ONLY", - 545: "OPERATOR", - 546: "OPTION", - 547: "OPTIONS", - 548: "OR", - 549: "ORDER", - 550: "ORDINALITY", - 551: "OTHERS", - 552: "OUT_P", - 553: "OUTER_P", - 554: "OVER", - 555: "OVERLAPS", - 556: "OVERLAY", - 557: "OVERRIDING", - 558: "OWNED", - 559: "OWNER", - 560: "PARALLEL", - 561: "PARAMETER", - 562: "PARSER", - 563: "PARTIAL", - 564: "PARTITION", - 565: "PASSING", - 566: "PASSWORD", - 567: "PLACING", - 568: "PLANS", - 569: "POLICY", - 570: "POSITION", - 571: "PRECEDING", - 572: "PRECISION", - 573: "PRESERVE", - 574: "PREPARE", - 575: "PREPARED", - 576: "PRIMARY", - 577: "PRIOR", - 578: "PRIVILEGES", - 579: "PROCEDURAL", - 580: "PROCEDURE", - 581: "PROCEDURES", - 582: "PROGRAM", - 583: "PUBLICATION", - 584: "QUOTE", - 585: "RANGE", - 586: "READ", - 587: "REAL", - 588: "REASSIGN", - 589: "RECHECK", - 590: "RECURSIVE", - 591: "REF_P", - 592: "REFERENCES", - 593: "REFERENCING", - 594: "REFRESH", - 595: "REINDEX", - 596: "RELATIVE_P", - 597: "RELEASE", - 598: "RENAME", - 599: "REPEATABLE", - 600: "REPLACE", - 601: "REPLICA", - 602: "RESET", - 603: "RESTART", - 604: "RESTRICT", - 605: "RETURN", - 606: "RETURNING", - 607: "RETURNS", - 608: "REVOKE", - 609: "RIGHT", - 610: "ROLE", - 611: "ROLLBACK", - 612: "ROLLUP", - 613: "ROUTINE", - 614: "ROUTINES", - 615: "ROW", - 616: "ROWS", - 617: "RULE", - 618: "SAVEPOINT", - 619: "SCHEMA", - 620: "SCHEMAS", - 621: "SCROLL", - 622: "SEARCH", - 623: "SECOND_P", - 624: "SECURITY", - 625: "SELECT", - 626: "SEQUENCE", - 627: "SEQUENCES", - 628: "SERIALIZABLE", - 629: "SERVER", - 630: "SESSION", - 631: "SESSION_USER", - 632: "SET", - 633: "SETS", - 634: "SETOF", - 635: "SHARE", - 636: "SHOW", - 637: "SIMILAR", - 638: "SIMPLE", - 639: "SKIP", - 640: "SMALLINT", - 641: "SNAPSHOT", - 642: "SOME", - 643: "SQL_P", - 644: "STABLE", - 645: "STANDALONE_P", - 646: "START", - 647: "STATEMENT", - 648: "STATISTICS", - 649: "STDIN", - 650: "STDOUT", - 651: "STORAGE", - 652: "STORED", - 653: "STRICT_P", - 654: "STRIP_P", - 655: "SUBSCRIPTION", - 656: "SUBSTRING", - 657: "SUPPORT", - 658: "SYMMETRIC", - 659: "SYSID", - 660: "SYSTEM_P", - 661: "TABLE", - 662: "TABLES", - 663: "TABLESAMPLE", - 664: "TABLESPACE", - 665: "TEMP", - 666: "TEMPLATE", - 667: "TEMPORARY", - 668: "TEXT_P", - 669: "THEN", - 670: "TIES", - 671: "TIME", - 672: "TIMESTAMP", - 673: "TO", - 674: "TRAILING", - 675: "TRANSACTION", - 676: "TRANSFORM", - 677: "TREAT", - 678: "TRIGGER", - 679: "TRIM", - 680: "TRUE_P", - 681: "TRUNCATE", - 682: "TRUSTED", - 683: "TYPE_P", - 684: "TYPES_P", - 685: "UESCAPE", - 686: "UNBOUNDED", - 687: "UNCOMMITTED", - 688: "UNENCRYPTED", - 689: "UNION", - 690: "UNIQUE", - 691: "UNKNOWN", - 692: "UNLISTEN", - 693: "UNLOGGED", - 694: "UNTIL", - 695: "UPDATE", - 696: "USER", - 697: "USING", - 698: "VACUUM", - 699: "VALID", - 700: "VALIDATE", - 701: "VALIDATOR", - 702: "VALUE_P", - 703: "VALUES", - 704: "VARCHAR", - 705: "VARIADIC", - 706: "VARYING", - 707: "VERBOSE", - 708: "VERSION_P", - 709: "VIEW", - 710: "VIEWS", - 711: "VOLATILE", - 712: "WHEN", - 713: "WHERE", - 714: "WHITESPACE_P", - 715: "WINDOW", - 716: "WITH", - 717: "WITHIN", - 718: "WITHOUT", - 719: "WORK", - 720: "WRAPPER", - 721: "WRITE", - 722: "XML_P", - 723: "XMLATTRIBUTES", - 724: "XMLCONCAT", - 725: "XMLELEMENT", - 726: "XMLEXISTS", - 727: "XMLFOREST", - 728: "XMLNAMESPACES", - 729: "XMLPARSE", - 730: "XMLPI", - 731: "XMLROOT", - 732: "XMLSERIALIZE", - 733: "XMLTABLE", - 734: "YEAR_P", - 735: "YES_P", - 736: "ZONE", - 737: "NOT_LA", - 738: "NULLS_LA", - 739: "WITH_LA", - 740: "MODE_TYPE_NAME", - 741: "MODE_PLPGSQL_EXPR", - 742: "MODE_PLPGSQL_ASSIGN1", - 743: "MODE_PLPGSQL_ASSIGN2", - 744: "MODE_PLPGSQL_ASSIGN3", - 745: "UMINUS", + SetOpCmd_name = map[int32]string{ + 0: "SET_OP_CMD_UNDEFINED", + 1: "SETOPCMD_INTERSECT", + 2: "SETOPCMD_INTERSECT_ALL", + 3: "SETOPCMD_EXCEPT", + 4: "SETOPCMD_EXCEPT_ALL", } - Token_value = map[string]int32{ - "NUL": 0, - "ASCII_37": 37, - "ASCII_40": 40, - "ASCII_41": 41, - "ASCII_42": 42, - "ASCII_43": 43, - "ASCII_44": 44, - "ASCII_45": 45, - "ASCII_46": 46, - "ASCII_47": 47, - "ASCII_58": 58, - "ASCII_59": 59, - "ASCII_60": 60, - "ASCII_61": 61, - "ASCII_62": 62, - "ASCII_63": 63, - "ASCII_91": 91, - "ASCII_92": 92, - "ASCII_93": 93, - "ASCII_94": 94, - "IDENT": 258, - "UIDENT": 259, - "FCONST": 260, - "SCONST": 261, - "USCONST": 262, - "BCONST": 263, - "XCONST": 264, - "Op": 265, - "ICONST": 266, - "PARAM": 267, - "TYPECAST": 268, - "DOT_DOT": 269, - "COLON_EQUALS": 270, - "EQUALS_GREATER": 271, - "LESS_EQUALS": 272, - "GREATER_EQUALS": 273, - "NOT_EQUALS": 274, - "SQL_COMMENT": 275, - "C_COMMENT": 276, - "ABORT_P": 277, - "ABSOLUTE_P": 278, - "ACCESS": 279, - "ACTION": 280, - "ADD_P": 281, - "ADMIN": 282, - "AFTER": 283, - "AGGREGATE": 284, - "ALL": 285, - "ALSO": 286, - "ALTER": 287, - "ALWAYS": 288, - "ANALYSE": 289, - "ANALYZE": 290, - "AND": 291, - "ANY": 292, - "ARRAY": 293, - "AS": 294, - "ASC": 295, - "ASENSITIVE": 296, - "ASSERTION": 297, - "ASSIGNMENT": 298, - "ASYMMETRIC": 299, - "ATOMIC": 300, - "AT": 301, - "ATTACH": 302, - "ATTRIBUTE": 303, - "AUTHORIZATION": 304, - "BACKWARD": 305, - "BEFORE": 306, - "BEGIN_P": 307, - "BETWEEN": 308, - "BIGINT": 309, - "BINARY": 310, - "BIT": 311, - "BOOLEAN_P": 312, - "BOTH": 313, - "BREADTH": 314, - "BY": 315, - "CACHE": 316, - "CALL": 317, - "CALLED": 318, - "CASCADE": 319, - "CASCADED": 320, - "CASE": 321, - "CAST": 322, - "CATALOG_P": 323, - "CHAIN": 324, - "CHAR_P": 325, - "CHARACTER": 326, - "CHARACTERISTICS": 327, - "CHECK": 328, - "CHECKPOINT": 329, - "CLASS": 330, - "CLOSE": 331, - "CLUSTER": 332, - "COALESCE": 333, - "COLLATE": 334, - "COLLATION": 335, - "COLUMN": 336, - "COLUMNS": 337, - "COMMENT": 338, - "COMMENTS": 339, - "COMMIT": 340, - "COMMITTED": 341, - "COMPRESSION": 342, - "CONCURRENTLY": 343, - "CONFIGURATION": 344, - "CONFLICT": 345, - "CONNECTION": 346, - "CONSTRAINT": 347, - "CONSTRAINTS": 348, - "CONTENT_P": 349, - "CONTINUE_P": 350, - "CONVERSION_P": 351, - "COPY": 352, - "COST": 353, - "CREATE": 354, - "CROSS": 355, - "CSV": 356, - "CUBE": 357, - "CURRENT_P": 358, - "CURRENT_CATALOG": 359, - "CURRENT_DATE": 360, - "CURRENT_ROLE": 361, - "CURRENT_SCHEMA": 362, - "CURRENT_TIME": 363, - "CURRENT_TIMESTAMP": 364, - "CURRENT_USER": 365, - "CURSOR": 366, - "CYCLE": 367, - "DATA_P": 368, - "DATABASE": 369, - "DAY_P": 370, - "DEALLOCATE": 371, - "DEC": 372, - "DECIMAL_P": 373, - "DECLARE": 374, - "DEFAULT": 375, - "DEFAULTS": 376, - "DEFERRABLE": 377, - "DEFERRED": 378, - "DEFINER": 379, - "DELETE_P": 380, - "DELIMITER": 381, - "DELIMITERS": 382, - "DEPENDS": 383, - "DEPTH": 384, - "DESC": 385, - "DETACH": 386, - "DICTIONARY": 387, - "DISABLE_P": 388, - "DISCARD": 389, - "DISTINCT": 390, - "DO": 391, - "DOCUMENT_P": 392, - "DOMAIN_P": 393, - "DOUBLE_P": 394, - "DROP": 395, - "EACH": 396, - "ELSE": 397, - "ENABLE_P": 398, - "ENCODING": 399, - "ENCRYPTED": 400, - "END_P": 401, - "ENUM_P": 402, - "ESCAPE": 403, - "EVENT": 404, - "EXCEPT": 405, - "EXCLUDE": 406, - "EXCLUDING": 407, - "EXCLUSIVE": 408, - "EXECUTE": 409, - "EXISTS": 410, - "EXPLAIN": 411, - "EXPRESSION": 412, - "EXTENSION": 413, - "EXTERNAL": 414, - "EXTRACT": 415, - "FALSE_P": 416, - "FAMILY": 417, - "FETCH": 418, - "FILTER": 419, - "FINALIZE": 420, - "FIRST_P": 421, - "FLOAT_P": 422, - "FOLLOWING": 423, - "FOR": 424, - "FORCE": 425, - "FOREIGN": 426, - "FORWARD": 427, - "FREEZE": 428, - "FROM": 429, - "FULL": 430, - "FUNCTION": 431, - "FUNCTIONS": 432, - "GENERATED": 433, - "GLOBAL": 434, - "GRANT": 435, - "GRANTED": 436, - "GREATEST": 437, - "GROUP_P": 438, - "GROUPING": 439, - "GROUPS": 440, - "HANDLER": 441, - "HAVING": 442, - "HEADER_P": 443, - "HOLD": 444, - "HOUR_P": 445, - "IDENTITY_P": 446, - "IF_P": 447, - "ILIKE": 448, - "IMMEDIATE": 449, - "IMMUTABLE": 450, - "IMPLICIT_P": 451, - "IMPORT_P": 452, - "IN_P": 453, - "INCLUDE": 454, - "INCLUDING": 455, - "INCREMENT": 456, - "INDEX": 457, - "INDEXES": 458, - "INHERIT": 459, - "INHERITS": 460, - "INITIALLY": 461, - "INLINE_P": 462, - "INNER_P": 463, - "INOUT": 464, - "INPUT_P": 465, - "INSENSITIVE": 466, - "INSERT": 467, - "INSTEAD": 468, - "INT_P": 469, - "INTEGER": 470, - "INTERSECT": 471, - "INTERVAL": 472, - "INTO": 473, - "INVOKER": 474, - "IS": 475, - "ISNULL": 476, - "ISOLATION": 477, - "JOIN": 478, - "KEY": 479, - "LABEL": 480, - "LANGUAGE": 481, - "LARGE_P": 482, - "LAST_P": 483, - "LATERAL_P": 484, - "LEADING": 485, - "LEAKPROOF": 486, - "LEAST": 487, - "LEFT": 488, - "LEVEL": 489, - "LIKE": 490, - "LIMIT": 491, - "LISTEN": 492, - "LOAD": 493, - "LOCAL": 494, - "LOCALTIME": 495, - "LOCALTIMESTAMP": 496, - "LOCATION": 497, - "LOCK_P": 498, - "LOCKED": 499, - "LOGGED": 500, - "MAPPING": 501, - "MATCH": 502, - "MATCHED": 503, - "MATERIALIZED": 504, - "MAXVALUE": 505, - "MERGE": 506, - "METHOD": 507, - "MINUTE_P": 508, - "MINVALUE": 509, - "MODE": 510, - "MONTH_P": 511, - "MOVE": 512, - "NAME_P": 513, - "NAMES": 514, - "NATIONAL": 515, - "NATURAL": 516, - "NCHAR": 517, - "NEW": 518, - "NEXT": 519, - "NFC": 520, - "NFD": 521, - "NFKC": 522, - "NFKD": 523, - "NO": 524, - "NONE": 525, - "NORMALIZE": 526, - "NORMALIZED": 527, - "NOT": 528, - "NOTHING": 529, - "NOTIFY": 530, - "NOTNULL": 531, - "NOWAIT": 532, - "NULL_P": 533, - "NULLIF": 534, - "NULLS_P": 535, - "NUMERIC": 536, - "OBJECT_P": 537, - "OF": 538, - "OFF": 539, - "OFFSET": 540, - "OIDS": 541, - "OLD": 542, - "ON": 543, - "ONLY": 544, - "OPERATOR": 545, - "OPTION": 546, - "OPTIONS": 547, - "OR": 548, - "ORDER": 549, - "ORDINALITY": 550, - "OTHERS": 551, - "OUT_P": 552, - "OUTER_P": 553, - "OVER": 554, - "OVERLAPS": 555, - "OVERLAY": 556, - "OVERRIDING": 557, - "OWNED": 558, - "OWNER": 559, - "PARALLEL": 560, - "PARAMETER": 561, - "PARSER": 562, - "PARTIAL": 563, - "PARTITION": 564, - "PASSING": 565, - "PASSWORD": 566, - "PLACING": 567, - "PLANS": 568, - "POLICY": 569, - "POSITION": 570, - "PRECEDING": 571, - "PRECISION": 572, - "PRESERVE": 573, - "PREPARE": 574, - "PREPARED": 575, - "PRIMARY": 576, - "PRIOR": 577, - "PRIVILEGES": 578, - "PROCEDURAL": 579, - "PROCEDURE": 580, - "PROCEDURES": 581, - "PROGRAM": 582, - "PUBLICATION": 583, - "QUOTE": 584, - "RANGE": 585, - "READ": 586, - "REAL": 587, - "REASSIGN": 588, - "RECHECK": 589, - "RECURSIVE": 590, - "REF_P": 591, - "REFERENCES": 592, - "REFERENCING": 593, - "REFRESH": 594, - "REINDEX": 595, - "RELATIVE_P": 596, - "RELEASE": 597, - "RENAME": 598, - "REPEATABLE": 599, - "REPLACE": 600, - "REPLICA": 601, - "RESET": 602, - "RESTART": 603, - "RESTRICT": 604, - "RETURN": 605, - "RETURNING": 606, - "RETURNS": 607, - "REVOKE": 608, - "RIGHT": 609, - "ROLE": 610, - "ROLLBACK": 611, - "ROLLUP": 612, - "ROUTINE": 613, - "ROUTINES": 614, - "ROW": 615, - "ROWS": 616, - "RULE": 617, - "SAVEPOINT": 618, - "SCHEMA": 619, - "SCHEMAS": 620, - "SCROLL": 621, - "SEARCH": 622, - "SECOND_P": 623, - "SECURITY": 624, - "SELECT": 625, - "SEQUENCE": 626, - "SEQUENCES": 627, - "SERIALIZABLE": 628, - "SERVER": 629, - "SESSION": 630, - "SESSION_USER": 631, - "SET": 632, - "SETS": 633, - "SETOF": 634, - "SHARE": 635, - "SHOW": 636, - "SIMILAR": 637, - "SIMPLE": 638, - "SKIP": 639, - "SMALLINT": 640, - "SNAPSHOT": 641, - "SOME": 642, - "SQL_P": 643, - "STABLE": 644, - "STANDALONE_P": 645, - "START": 646, - "STATEMENT": 647, - "STATISTICS": 648, - "STDIN": 649, - "STDOUT": 650, - "STORAGE": 651, - "STORED": 652, - "STRICT_P": 653, - "STRIP_P": 654, - "SUBSCRIPTION": 655, - "SUBSTRING": 656, - "SUPPORT": 657, - "SYMMETRIC": 658, - "SYSID": 659, - "SYSTEM_P": 660, - "TABLE": 661, - "TABLES": 662, - "TABLESAMPLE": 663, - "TABLESPACE": 664, - "TEMP": 665, - "TEMPLATE": 666, - "TEMPORARY": 667, - "TEXT_P": 668, - "THEN": 669, - "TIES": 670, - "TIME": 671, - "TIMESTAMP": 672, - "TO": 673, - "TRAILING": 674, - "TRANSACTION": 675, - "TRANSFORM": 676, - "TREAT": 677, - "TRIGGER": 678, - "TRIM": 679, - "TRUE_P": 680, - "TRUNCATE": 681, - "TRUSTED": 682, - "TYPE_P": 683, - "TYPES_P": 684, - "UESCAPE": 685, - "UNBOUNDED": 686, - "UNCOMMITTED": 687, - "UNENCRYPTED": 688, - "UNION": 689, - "UNIQUE": 690, - "UNKNOWN": 691, - "UNLISTEN": 692, - "UNLOGGED": 693, - "UNTIL": 694, - "UPDATE": 695, - "USER": 696, - "USING": 697, - "VACUUM": 698, - "VALID": 699, - "VALIDATE": 700, - "VALIDATOR": 701, - "VALUE_P": 702, - "VALUES": 703, - "VARCHAR": 704, - "VARIADIC": 705, - "VARYING": 706, - "VERBOSE": 707, - "VERSION_P": 708, - "VIEW": 709, - "VIEWS": 710, - "VOLATILE": 711, - "WHEN": 712, - "WHERE": 713, - "WHITESPACE_P": 714, - "WINDOW": 715, - "WITH": 716, - "WITHIN": 717, - "WITHOUT": 718, - "WORK": 719, - "WRAPPER": 720, - "WRITE": 721, - "XML_P": 722, - "XMLATTRIBUTES": 723, - "XMLCONCAT": 724, - "XMLELEMENT": 725, - "XMLEXISTS": 726, - "XMLFOREST": 727, - "XMLNAMESPACES": 728, - "XMLPARSE": 729, - "XMLPI": 730, - "XMLROOT": 731, - "XMLSERIALIZE": 732, - "XMLTABLE": 733, - "YEAR_P": 734, - "YES_P": 735, - "ZONE": 736, - "NOT_LA": 737, - "NULLS_LA": 738, - "WITH_LA": 739, - "MODE_TYPE_NAME": 740, - "MODE_PLPGSQL_EXPR": 741, - "MODE_PLPGSQL_ASSIGN1": 742, - "MODE_PLPGSQL_ASSIGN2": 743, - "MODE_PLPGSQL_ASSIGN3": 744, - "UMINUS": 745, + SetOpCmd_value = map[string]int32{ + "SET_OP_CMD_UNDEFINED": 0, + "SETOPCMD_INTERSECT": 1, + "SETOPCMD_INTERSECT_ALL": 2, + "SETOPCMD_EXCEPT": 3, + "SETOPCMD_EXCEPT_ALL": 4, } ) -func (x Token) Enum() *Token { - p := new(Token) +func (x SetOpCmd) Enum() *SetOpCmd { + p := new(SetOpCmd) *p = x return p } -func (x Token) String() string { +func (x SetOpCmd) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (Token) Descriptor() protoreflect.EnumDescriptor { - return file_pg_query_proto_enumTypes[58].Descriptor() +func (SetOpCmd) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[62].Descriptor() } -func (Token) Type() protoreflect.EnumType { - return &file_pg_query_proto_enumTypes[58] +func (SetOpCmd) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[62] } -func (x Token) Number() protoreflect.EnumNumber { +func (x SetOpCmd) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use Token.Descriptor instead. -func (Token) EnumDescriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{58} +// Deprecated: Use SetOpCmd.Descriptor instead. +func (SetOpCmd) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{62} } -type ParseResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +type SetOpStrategy int32 - Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` - Stmts []*RawStmt `protobuf:"bytes,2,rep,name=stmts,proto3" json:"stmts,omitempty"` -} +const ( + SetOpStrategy_SET_OP_STRATEGY_UNDEFINED SetOpStrategy = 0 + SetOpStrategy_SETOP_SORTED SetOpStrategy = 1 + SetOpStrategy_SETOP_HASHED SetOpStrategy = 2 +) -func (x *ParseResult) Reset() { - *x = ParseResult{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for SetOpStrategy. +var ( + SetOpStrategy_name = map[int32]string{ + 0: "SET_OP_STRATEGY_UNDEFINED", + 1: "SETOP_SORTED", + 2: "SETOP_HASHED", } + SetOpStrategy_value = map[string]int32{ + "SET_OP_STRATEGY_UNDEFINED": 0, + "SETOP_SORTED": 1, + "SETOP_HASHED": 2, + } +) + +func (x SetOpStrategy) Enum() *SetOpStrategy { + p := new(SetOpStrategy) + *p = x + return p } -func (x *ParseResult) String() string { - return protoimpl.X.MessageStringOf(x) +func (x SetOpStrategy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*ParseResult) ProtoMessage() {} +func (SetOpStrategy) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[63].Descriptor() +} -func (x *ParseResult) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) +func (SetOpStrategy) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[63] } -// Deprecated: Use ParseResult.ProtoReflect.Descriptor instead. -func (*ParseResult) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{0} +func (x SetOpStrategy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ParseResult) GetVersion() int32 { - if x != nil { - return x.Version - } - return 0 +// Deprecated: Use SetOpStrategy.Descriptor instead. +func (SetOpStrategy) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{63} } -func (x *ParseResult) GetStmts() []*RawStmt { - if x != nil { - return x.Stmts +type OnConflictAction int32 + +const ( + OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED OnConflictAction = 0 + OnConflictAction_ONCONFLICT_NONE OnConflictAction = 1 + OnConflictAction_ONCONFLICT_NOTHING OnConflictAction = 2 + OnConflictAction_ONCONFLICT_UPDATE OnConflictAction = 3 +) + +// Enum value maps for OnConflictAction. +var ( + OnConflictAction_name = map[int32]string{ + 0: "ON_CONFLICT_ACTION_UNDEFINED", + 1: "ONCONFLICT_NONE", + 2: "ONCONFLICT_NOTHING", + 3: "ONCONFLICT_UPDATE", } - return nil + OnConflictAction_value = map[string]int32{ + "ON_CONFLICT_ACTION_UNDEFINED": 0, + "ONCONFLICT_NONE": 1, + "ONCONFLICT_NOTHING": 2, + "ONCONFLICT_UPDATE": 3, + } +) + +func (x OnConflictAction) Enum() *OnConflictAction { + p := new(OnConflictAction) + *p = x + return p } -type ScanResult struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x OnConflictAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} - Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` - Tokens []*ScanToken `protobuf:"bytes,2,rep,name=tokens,proto3" json:"tokens,omitempty"` +func (OnConflictAction) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[64].Descriptor() } -func (x *ScanResult) Reset() { - *x = ScanResult{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (OnConflictAction) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[64] } -func (x *ScanResult) String() string { - return protoimpl.X.MessageStringOf(x) +func (x OnConflictAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (*ScanResult) ProtoMessage() {} +// Deprecated: Use OnConflictAction.Descriptor instead. +func (OnConflictAction) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{64} +} -func (x *ScanResult) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +type LimitOption int32 + +const ( + LimitOption_LIMIT_OPTION_UNDEFINED LimitOption = 0 + LimitOption_LIMIT_OPTION_DEFAULT LimitOption = 1 + LimitOption_LIMIT_OPTION_COUNT LimitOption = 2 + LimitOption_LIMIT_OPTION_WITH_TIES LimitOption = 3 +) + +// Enum value maps for LimitOption. +var ( + LimitOption_name = map[int32]string{ + 0: "LIMIT_OPTION_UNDEFINED", + 1: "LIMIT_OPTION_DEFAULT", + 2: "LIMIT_OPTION_COUNT", + 3: "LIMIT_OPTION_WITH_TIES", } - return mi.MessageOf(x) + LimitOption_value = map[string]int32{ + "LIMIT_OPTION_UNDEFINED": 0, + "LIMIT_OPTION_DEFAULT": 1, + "LIMIT_OPTION_COUNT": 2, + "LIMIT_OPTION_WITH_TIES": 3, + } +) + +func (x LimitOption) Enum() *LimitOption { + p := new(LimitOption) + *p = x + return p } -// Deprecated: Use ScanResult.ProtoReflect.Descriptor instead. -func (*ScanResult) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{1} +func (x LimitOption) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ScanResult) GetVersion() int32 { - if x != nil { - return x.Version +func (LimitOption) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[65].Descriptor() +} + +func (LimitOption) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[65] +} + +func (x LimitOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LimitOption.Descriptor instead. +func (LimitOption) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{65} +} + +type LockClauseStrength int32 + +const ( + LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED LockClauseStrength = 0 + LockClauseStrength_LCS_NONE LockClauseStrength = 1 + LockClauseStrength_LCS_FORKEYSHARE LockClauseStrength = 2 + LockClauseStrength_LCS_FORSHARE LockClauseStrength = 3 + LockClauseStrength_LCS_FORNOKEYUPDATE LockClauseStrength = 4 + LockClauseStrength_LCS_FORUPDATE LockClauseStrength = 5 +) + +// Enum value maps for LockClauseStrength. +var ( + LockClauseStrength_name = map[int32]string{ + 0: "LOCK_CLAUSE_STRENGTH_UNDEFINED", + 1: "LCS_NONE", + 2: "LCS_FORKEYSHARE", + 3: "LCS_FORSHARE", + 4: "LCS_FORNOKEYUPDATE", + 5: "LCS_FORUPDATE", } - return 0 + LockClauseStrength_value = map[string]int32{ + "LOCK_CLAUSE_STRENGTH_UNDEFINED": 0, + "LCS_NONE": 1, + "LCS_FORKEYSHARE": 2, + "LCS_FORSHARE": 3, + "LCS_FORNOKEYUPDATE": 4, + "LCS_FORUPDATE": 5, + } +) + +func (x LockClauseStrength) Enum() *LockClauseStrength { + p := new(LockClauseStrength) + *p = x + return p } -func (x *ScanResult) GetTokens() []*ScanToken { - if x != nil { - return x.Tokens +func (x LockClauseStrength) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LockClauseStrength) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[66].Descriptor() +} + +func (LockClauseStrength) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[66] +} + +func (x LockClauseStrength) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LockClauseStrength.Descriptor instead. +func (LockClauseStrength) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{66} +} + +type LockWaitPolicy int32 + +const ( + LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED LockWaitPolicy = 0 + LockWaitPolicy_LockWaitBlock LockWaitPolicy = 1 + LockWaitPolicy_LockWaitSkip LockWaitPolicy = 2 + LockWaitPolicy_LockWaitError LockWaitPolicy = 3 +) + +// Enum value maps for LockWaitPolicy. +var ( + LockWaitPolicy_name = map[int32]string{ + 0: "LOCK_WAIT_POLICY_UNDEFINED", + 1: "LockWaitBlock", + 2: "LockWaitSkip", + 3: "LockWaitError", } - return nil + LockWaitPolicy_value = map[string]int32{ + "LOCK_WAIT_POLICY_UNDEFINED": 0, + "LockWaitBlock": 1, + "LockWaitSkip": 2, + "LockWaitError": 3, + } +) + +func (x LockWaitPolicy) Enum() *LockWaitPolicy { + p := new(LockWaitPolicy) + *p = x + return p } -type Node struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x LockWaitPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} - // Types that are assignable to Node: - // - // *Node_Alias - // *Node_RangeVar - // *Node_TableFunc - // *Node_Var - // *Node_Param - // *Node_Aggref - // *Node_GroupingFunc - // *Node_WindowFunc - // *Node_SubscriptingRef - // *Node_FuncExpr - // *Node_NamedArgExpr - // *Node_OpExpr - // *Node_DistinctExpr - // *Node_NullIfExpr - // *Node_ScalarArrayOpExpr - // *Node_BoolExpr - // *Node_SubLink - // *Node_SubPlan - // *Node_AlternativeSubPlan - // *Node_FieldSelect - // *Node_FieldStore - // *Node_RelabelType - // *Node_CoerceViaIo - // *Node_ArrayCoerceExpr - // *Node_ConvertRowtypeExpr - // *Node_CollateExpr - // *Node_CaseExpr - // *Node_CaseWhen - // *Node_CaseTestExpr - // *Node_ArrayExpr - // *Node_RowExpr - // *Node_RowCompareExpr - // *Node_CoalesceExpr - // *Node_MinMaxExpr - // *Node_SqlvalueFunction - // *Node_XmlExpr - // *Node_NullTest - // *Node_BooleanTest - // *Node_CoerceToDomain - // *Node_CoerceToDomainValue - // *Node_SetToDefault - // *Node_CurrentOfExpr - // *Node_NextValueExpr - // *Node_InferenceElem - // *Node_TargetEntry - // *Node_RangeTblRef - // *Node_JoinExpr - // *Node_FromExpr - // *Node_OnConflictExpr - // *Node_IntoClause - // *Node_MergeAction - // *Node_RawStmt - // *Node_Query - // *Node_InsertStmt - // *Node_DeleteStmt - // *Node_UpdateStmt - // *Node_MergeStmt - // *Node_SelectStmt - // *Node_ReturnStmt - // *Node_PlassignStmt - // *Node_AlterTableStmt - // *Node_AlterTableCmd - // *Node_AlterDomainStmt - // *Node_SetOperationStmt - // *Node_GrantStmt - // *Node_GrantRoleStmt - // *Node_AlterDefaultPrivilegesStmt - // *Node_ClosePortalStmt - // *Node_ClusterStmt - // *Node_CopyStmt - // *Node_CreateStmt - // *Node_DefineStmt - // *Node_DropStmt - // *Node_TruncateStmt - // *Node_CommentStmt - // *Node_FetchStmt - // *Node_IndexStmt - // *Node_CreateFunctionStmt - // *Node_AlterFunctionStmt - // *Node_DoStmt - // *Node_RenameStmt - // *Node_RuleStmt - // *Node_NotifyStmt - // *Node_ListenStmt - // *Node_UnlistenStmt - // *Node_TransactionStmt - // *Node_ViewStmt - // *Node_LoadStmt - // *Node_CreateDomainStmt - // *Node_CreatedbStmt - // *Node_DropdbStmt - // *Node_VacuumStmt - // *Node_ExplainStmt - // *Node_CreateTableAsStmt - // *Node_CreateSeqStmt - // *Node_AlterSeqStmt - // *Node_VariableSetStmt - // *Node_VariableShowStmt - // *Node_DiscardStmt - // *Node_CreateTrigStmt - // *Node_CreatePlangStmt - // *Node_CreateRoleStmt - // *Node_AlterRoleStmt - // *Node_DropRoleStmt - // *Node_LockStmt - // *Node_ConstraintsSetStmt - // *Node_ReindexStmt - // *Node_CheckPointStmt - // *Node_CreateSchemaStmt - // *Node_AlterDatabaseStmt - // *Node_AlterDatabaseRefreshCollStmt - // *Node_AlterDatabaseSetStmt - // *Node_AlterRoleSetStmt - // *Node_CreateConversionStmt - // *Node_CreateCastStmt - // *Node_CreateOpClassStmt - // *Node_CreateOpFamilyStmt - // *Node_AlterOpFamilyStmt - // *Node_PrepareStmt - // *Node_ExecuteStmt - // *Node_DeallocateStmt - // *Node_DeclareCursorStmt - // *Node_CreateTableSpaceStmt - // *Node_DropTableSpaceStmt - // *Node_AlterObjectDependsStmt - // *Node_AlterObjectSchemaStmt - // *Node_AlterOwnerStmt - // *Node_AlterOperatorStmt - // *Node_AlterTypeStmt - // *Node_DropOwnedStmt - // *Node_ReassignOwnedStmt - // *Node_CompositeTypeStmt - // *Node_CreateEnumStmt - // *Node_CreateRangeStmt - // *Node_AlterEnumStmt - // *Node_AlterTsdictionaryStmt - // *Node_AlterTsconfigurationStmt - // *Node_CreateFdwStmt - // *Node_AlterFdwStmt - // *Node_CreateForeignServerStmt - // *Node_AlterForeignServerStmt - // *Node_CreateUserMappingStmt - // *Node_AlterUserMappingStmt - // *Node_DropUserMappingStmt - // *Node_AlterTableSpaceOptionsStmt - // *Node_AlterTableMoveAllStmt - // *Node_SecLabelStmt - // *Node_CreateForeignTableStmt - // *Node_ImportForeignSchemaStmt - // *Node_CreateExtensionStmt - // *Node_AlterExtensionStmt - // *Node_AlterExtensionContentsStmt - // *Node_CreateEventTrigStmt - // *Node_AlterEventTrigStmt - // *Node_RefreshMatViewStmt - // *Node_ReplicaIdentityStmt - // *Node_AlterSystemStmt - // *Node_CreatePolicyStmt - // *Node_AlterPolicyStmt - // *Node_CreateTransformStmt - // *Node_CreateAmStmt - // *Node_CreatePublicationStmt - // *Node_AlterPublicationStmt - // *Node_CreateSubscriptionStmt - // *Node_AlterSubscriptionStmt - // *Node_DropSubscriptionStmt - // *Node_CreateStatsStmt - // *Node_AlterCollationStmt - // *Node_CallStmt - // *Node_AlterStatsStmt - // *Node_AExpr - // *Node_ColumnRef - // *Node_ParamRef - // *Node_FuncCall - // *Node_AStar - // *Node_AIndices - // *Node_AIndirection - // *Node_AArrayExpr - // *Node_ResTarget - // *Node_MultiAssignRef - // *Node_TypeCast - // *Node_CollateClause - // *Node_SortBy - // *Node_WindowDef - // *Node_RangeSubselect - // *Node_RangeFunction - // *Node_RangeTableSample - // *Node_RangeTableFunc - // *Node_RangeTableFuncCol - // *Node_TypeName - // *Node_ColumnDef - // *Node_IndexElem - // *Node_StatsElem - // *Node_Constraint - // *Node_DefElem - // *Node_RangeTblEntry - // *Node_RangeTblFunction - // *Node_TableSampleClause - // *Node_WithCheckOption - // *Node_SortGroupClause - // *Node_GroupingSet - // *Node_WindowClause - // *Node_ObjectWithArgs - // *Node_AccessPriv - // *Node_CreateOpClassItem - // *Node_TableLikeClause - // *Node_FunctionParameter - // *Node_LockingClause - // *Node_RowMarkClause - // *Node_XmlSerialize - // *Node_WithClause - // *Node_InferClause - // *Node_OnConflictClause - // *Node_CtesearchClause - // *Node_CtecycleClause - // *Node_CommonTableExpr - // *Node_MergeWhenClause - // *Node_RoleSpec - // *Node_TriggerTransition - // *Node_PartitionElem - // *Node_PartitionSpec - // *Node_PartitionBoundSpec - // *Node_PartitionRangeDatum - // *Node_PartitionCmd - // *Node_VacuumRelation - // *Node_PublicationObjSpec - // *Node_PublicationTable - // *Node_InlineCodeBlock - // *Node_CallContext - // *Node_Integer - // *Node_Float - // *Node_Boolean - // *Node_String_ - // *Node_BitString - // *Node_List - // *Node_IntList - // *Node_OidList - // *Node_AConst - Node isNode_Node `protobuf_oneof:"node"` +func (LockWaitPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[67].Descriptor() } -func (x *Node) Reset() { - *x = Node{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (LockWaitPolicy) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[67] } -func (x *Node) String() string { - return protoimpl.X.MessageStringOf(x) +func (x LockWaitPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (*Node) ProtoMessage() {} - -func (x *Node) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Node.ProtoReflect.Descriptor instead. -func (*Node) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{2} +// Deprecated: Use LockWaitPolicy.Descriptor instead. +func (LockWaitPolicy) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{67} } -func (m *Node) GetNode() isNode_Node { - if m != nil { - return m.Node - } - return nil -} +type LockTupleMode int32 -func (x *Node) GetAlias() *Alias { - if x, ok := x.GetNode().(*Node_Alias); ok { - return x.Alias - } - return nil -} +const ( + LockTupleMode_LOCK_TUPLE_MODE_UNDEFINED LockTupleMode = 0 + LockTupleMode_LockTupleKeyShare LockTupleMode = 1 + LockTupleMode_LockTupleShare LockTupleMode = 2 + LockTupleMode_LockTupleNoKeyExclusive LockTupleMode = 3 + LockTupleMode_LockTupleExclusive LockTupleMode = 4 +) -func (x *Node) GetRangeVar() *RangeVar { - if x, ok := x.GetNode().(*Node_RangeVar); ok { - return x.RangeVar +// Enum value maps for LockTupleMode. +var ( + LockTupleMode_name = map[int32]string{ + 0: "LOCK_TUPLE_MODE_UNDEFINED", + 1: "LockTupleKeyShare", + 2: "LockTupleShare", + 3: "LockTupleNoKeyExclusive", + 4: "LockTupleExclusive", } - return nil -} - -func (x *Node) GetTableFunc() *TableFunc { - if x, ok := x.GetNode().(*Node_TableFunc); ok { - return x.TableFunc + LockTupleMode_value = map[string]int32{ + "LOCK_TUPLE_MODE_UNDEFINED": 0, + "LockTupleKeyShare": 1, + "LockTupleShare": 2, + "LockTupleNoKeyExclusive": 3, + "LockTupleExclusive": 4, } - return nil -} +) -func (x *Node) GetVar() *Var { - if x, ok := x.GetNode().(*Node_Var); ok { - return x.Var - } - return nil +func (x LockTupleMode) Enum() *LockTupleMode { + p := new(LockTupleMode) + *p = x + return p } -func (x *Node) GetParam() *Param { - if x, ok := x.GetNode().(*Node_Param); ok { - return x.Param - } - return nil +func (x LockTupleMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *Node) GetAggref() *Aggref { - if x, ok := x.GetNode().(*Node_Aggref); ok { - return x.Aggref - } - return nil +func (LockTupleMode) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[68].Descriptor() } -func (x *Node) GetGroupingFunc() *GroupingFunc { - if x, ok := x.GetNode().(*Node_GroupingFunc); ok { - return x.GroupingFunc - } - return nil +func (LockTupleMode) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[68] } -func (x *Node) GetWindowFunc() *WindowFunc { - if x, ok := x.GetNode().(*Node_WindowFunc); ok { - return x.WindowFunc - } - return nil +func (x LockTupleMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *Node) GetSubscriptingRef() *SubscriptingRef { - if x, ok := x.GetNode().(*Node_SubscriptingRef); ok { - return x.SubscriptingRef - } - return nil +// Deprecated: Use LockTupleMode.Descriptor instead. +func (LockTupleMode) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{68} } -func (x *Node) GetFuncExpr() *FuncExpr { - if x, ok := x.GetNode().(*Node_FuncExpr); ok { - return x.FuncExpr - } - return nil -} +type KeywordKind int32 -func (x *Node) GetNamedArgExpr() *NamedArgExpr { - if x, ok := x.GetNode().(*Node_NamedArgExpr); ok { - return x.NamedArgExpr - } - return nil -} +const ( + KeywordKind_NO_KEYWORD KeywordKind = 0 + KeywordKind_UNRESERVED_KEYWORD KeywordKind = 1 + KeywordKind_COL_NAME_KEYWORD KeywordKind = 2 + KeywordKind_TYPE_FUNC_NAME_KEYWORD KeywordKind = 3 + KeywordKind_RESERVED_KEYWORD KeywordKind = 4 +) -func (x *Node) GetOpExpr() *OpExpr { - if x, ok := x.GetNode().(*Node_OpExpr); ok { - return x.OpExpr +// Enum value maps for KeywordKind. +var ( + KeywordKind_name = map[int32]string{ + 0: "NO_KEYWORD", + 1: "UNRESERVED_KEYWORD", + 2: "COL_NAME_KEYWORD", + 3: "TYPE_FUNC_NAME_KEYWORD", + 4: "RESERVED_KEYWORD", } - return nil -} - -func (x *Node) GetDistinctExpr() *DistinctExpr { - if x, ok := x.GetNode().(*Node_DistinctExpr); ok { - return x.DistinctExpr + KeywordKind_value = map[string]int32{ + "NO_KEYWORD": 0, + "UNRESERVED_KEYWORD": 1, + "COL_NAME_KEYWORD": 2, + "TYPE_FUNC_NAME_KEYWORD": 3, + "RESERVED_KEYWORD": 4, } - return nil -} +) -func (x *Node) GetNullIfExpr() *NullIfExpr { - if x, ok := x.GetNode().(*Node_NullIfExpr); ok { - return x.NullIfExpr - } - return nil +func (x KeywordKind) Enum() *KeywordKind { + p := new(KeywordKind) + *p = x + return p } -func (x *Node) GetScalarArrayOpExpr() *ScalarArrayOpExpr { - if x, ok := x.GetNode().(*Node_ScalarArrayOpExpr); ok { - return x.ScalarArrayOpExpr - } - return nil +func (x KeywordKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *Node) GetBoolExpr() *BoolExpr { - if x, ok := x.GetNode().(*Node_BoolExpr); ok { - return x.BoolExpr - } - return nil +func (KeywordKind) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[69].Descriptor() } -func (x *Node) GetSubLink() *SubLink { - if x, ok := x.GetNode().(*Node_SubLink); ok { - return x.SubLink - } - return nil +func (KeywordKind) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[69] } -func (x *Node) GetSubPlan() *SubPlan { - if x, ok := x.GetNode().(*Node_SubPlan); ok { - return x.SubPlan - } - return nil +func (x KeywordKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *Node) GetAlternativeSubPlan() *AlternativeSubPlan { - if x, ok := x.GetNode().(*Node_AlternativeSubPlan); ok { - return x.AlternativeSubPlan - } - return nil +// Deprecated: Use KeywordKind.Descriptor instead. +func (KeywordKind) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{69} } -func (x *Node) GetFieldSelect() *FieldSelect { - if x, ok := x.GetNode().(*Node_FieldSelect); ok { - return x.FieldSelect - } - return nil -} +type Token int32 -func (x *Node) GetFieldStore() *FieldStore { - if x, ok := x.GetNode().(*Node_FieldStore); ok { - return x.FieldStore - } - return nil -} +const ( + Token_NUL Token = 0 + // Single-character tokens that are returned 1:1 (identical with "self" list in scan.l) + // Either supporting syntax, or single-character operators (some can be both) + // Also see https://www.postgresql.org/docs/12/sql-syntax-lexical.html#SQL-SYNTAX-SPECIAL-CHARS + Token_ASCII_36 Token = 36 // "$" + Token_ASCII_37 Token = 37 // "%" + Token_ASCII_40 Token = 40 // "(" + Token_ASCII_41 Token = 41 // ")" + Token_ASCII_42 Token = 42 // "*" + Token_ASCII_43 Token = 43 // "+" + Token_ASCII_44 Token = 44 // "," + Token_ASCII_45 Token = 45 // "-" + Token_ASCII_46 Token = 46 // "." + Token_ASCII_47 Token = 47 // "/" + Token_ASCII_58 Token = 58 // ":" + Token_ASCII_59 Token = 59 // ";" + Token_ASCII_60 Token = 60 // "<" + Token_ASCII_61 Token = 61 // "=" + Token_ASCII_62 Token = 62 // ">" + Token_ASCII_63 Token = 63 // "?" + Token_ASCII_91 Token = 91 // "[" + Token_ASCII_92 Token = 92 // "\" + Token_ASCII_93 Token = 93 // "]" + Token_ASCII_94 Token = 94 // "^" + // Named tokens in scan.l + Token_IDENT Token = 258 + Token_UIDENT Token = 259 + Token_FCONST Token = 260 + Token_SCONST Token = 261 + Token_USCONST Token = 262 + Token_BCONST Token = 263 + Token_XCONST Token = 264 + Token_Op Token = 265 + Token_ICONST Token = 266 + Token_PARAM Token = 267 + Token_TYPECAST Token = 268 + Token_DOT_DOT Token = 269 + Token_COLON_EQUALS Token = 270 + Token_EQUALS_GREATER Token = 271 + Token_LESS_EQUALS Token = 272 + Token_GREATER_EQUALS Token = 273 + Token_NOT_EQUALS Token = 274 + Token_SQL_COMMENT Token = 275 + Token_C_COMMENT Token = 276 + Token_ABORT_P Token = 277 + Token_ABSENT Token = 278 + Token_ABSOLUTE_P Token = 279 + Token_ACCESS Token = 280 + Token_ACTION Token = 281 + Token_ADD_P Token = 282 + Token_ADMIN Token = 283 + Token_AFTER Token = 284 + Token_AGGREGATE Token = 285 + Token_ALL Token = 286 + Token_ALSO Token = 287 + Token_ALTER Token = 288 + Token_ALWAYS Token = 289 + Token_ANALYSE Token = 290 + Token_ANALYZE Token = 291 + Token_AND Token = 292 + Token_ANY Token = 293 + Token_ARRAY Token = 294 + Token_AS Token = 295 + Token_ASC Token = 296 + Token_ASENSITIVE Token = 297 + Token_ASSERTION Token = 298 + Token_ASSIGNMENT Token = 299 + Token_ASYMMETRIC Token = 300 + Token_ATOMIC Token = 301 + Token_AT Token = 302 + Token_ATTACH Token = 303 + Token_ATTRIBUTE Token = 304 + Token_AUTHORIZATION Token = 305 + Token_BACKWARD Token = 306 + Token_BEFORE Token = 307 + Token_BEGIN_P Token = 308 + Token_BETWEEN Token = 309 + Token_BIGINT Token = 310 + Token_BINARY Token = 311 + Token_BIT Token = 312 + Token_BOOLEAN_P Token = 313 + Token_BOTH Token = 314 + Token_BREADTH Token = 315 + Token_BY Token = 316 + Token_CACHE Token = 317 + Token_CALL Token = 318 + Token_CALLED Token = 319 + Token_CASCADE Token = 320 + Token_CASCADED Token = 321 + Token_CASE Token = 322 + Token_CAST Token = 323 + Token_CATALOG_P Token = 324 + Token_CHAIN Token = 325 + Token_CHAR_P Token = 326 + Token_CHARACTER Token = 327 + Token_CHARACTERISTICS Token = 328 + Token_CHECK Token = 329 + Token_CHECKPOINT Token = 330 + Token_CLASS Token = 331 + Token_CLOSE Token = 332 + Token_CLUSTER Token = 333 + Token_COALESCE Token = 334 + Token_COLLATE Token = 335 + Token_COLLATION Token = 336 + Token_COLUMN Token = 337 + Token_COLUMNS Token = 338 + Token_COMMENT Token = 339 + Token_COMMENTS Token = 340 + Token_COMMIT Token = 341 + Token_COMMITTED Token = 342 + Token_COMPRESSION Token = 343 + Token_CONCURRENTLY Token = 344 + Token_CONDITIONAL Token = 345 + Token_CONFIGURATION Token = 346 + Token_CONFLICT Token = 347 + Token_CONNECTION Token = 348 + Token_CONSTRAINT Token = 349 + Token_CONSTRAINTS Token = 350 + Token_CONTENT_P Token = 351 + Token_CONTINUE_P Token = 352 + Token_CONVERSION_P Token = 353 + Token_COPY Token = 354 + Token_COST Token = 355 + Token_CREATE Token = 356 + Token_CROSS Token = 357 + Token_CSV Token = 358 + Token_CUBE Token = 359 + Token_CURRENT_P Token = 360 + Token_CURRENT_CATALOG Token = 361 + Token_CURRENT_DATE Token = 362 + Token_CURRENT_ROLE Token = 363 + Token_CURRENT_SCHEMA Token = 364 + Token_CURRENT_TIME Token = 365 + Token_CURRENT_TIMESTAMP Token = 366 + Token_CURRENT_USER Token = 367 + Token_CURSOR Token = 368 + Token_CYCLE Token = 369 + Token_DATA_P Token = 370 + Token_DATABASE Token = 371 + Token_DAY_P Token = 372 + Token_DEALLOCATE Token = 373 + Token_DEC Token = 374 + Token_DECIMAL_P Token = 375 + Token_DECLARE Token = 376 + Token_DEFAULT Token = 377 + Token_DEFAULTS Token = 378 + Token_DEFERRABLE Token = 379 + Token_DEFERRED Token = 380 + Token_DEFINER Token = 381 + Token_DELETE_P Token = 382 + Token_DELIMITER Token = 383 + Token_DELIMITERS Token = 384 + Token_DEPENDS Token = 385 + Token_DEPTH Token = 386 + Token_DESC Token = 387 + Token_DETACH Token = 388 + Token_DICTIONARY Token = 389 + Token_DISABLE_P Token = 390 + Token_DISCARD Token = 391 + Token_DISTINCT Token = 392 + Token_DO Token = 393 + Token_DOCUMENT_P Token = 394 + Token_DOMAIN_P Token = 395 + Token_DOUBLE_P Token = 396 + Token_DROP Token = 397 + Token_EACH Token = 398 + Token_ELSE Token = 399 + Token_EMPTY_P Token = 400 + Token_ENABLE_P Token = 401 + Token_ENCODING Token = 402 + Token_ENCRYPTED Token = 403 + Token_END_P Token = 404 + Token_ENUM_P Token = 405 + Token_ERROR_P Token = 406 + Token_ESCAPE Token = 407 + Token_EVENT Token = 408 + Token_EXCEPT Token = 409 + Token_EXCLUDE Token = 410 + Token_EXCLUDING Token = 411 + Token_EXCLUSIVE Token = 412 + Token_EXECUTE Token = 413 + Token_EXISTS Token = 414 + Token_EXPLAIN Token = 415 + Token_EXPRESSION Token = 416 + Token_EXTENSION Token = 417 + Token_EXTERNAL Token = 418 + Token_EXTRACT Token = 419 + Token_FALSE_P Token = 420 + Token_FAMILY Token = 421 + Token_FETCH Token = 422 + Token_FILTER Token = 423 + Token_FINALIZE Token = 424 + Token_FIRST_P Token = 425 + Token_FLOAT_P Token = 426 + Token_FOLLOWING Token = 427 + Token_FOR Token = 428 + Token_FORCE Token = 429 + Token_FOREIGN Token = 430 + Token_FORMAT Token = 431 + Token_FORWARD Token = 432 + Token_FREEZE Token = 433 + Token_FROM Token = 434 + Token_FULL Token = 435 + Token_FUNCTION Token = 436 + Token_FUNCTIONS Token = 437 + Token_GENERATED Token = 438 + Token_GLOBAL Token = 439 + Token_GRANT Token = 440 + Token_GRANTED Token = 441 + Token_GREATEST Token = 442 + Token_GROUP_P Token = 443 + Token_GROUPING Token = 444 + Token_GROUPS Token = 445 + Token_HANDLER Token = 446 + Token_HAVING Token = 447 + Token_HEADER_P Token = 448 + Token_HOLD Token = 449 + Token_HOUR_P Token = 450 + Token_IDENTITY_P Token = 451 + Token_IF_P Token = 452 + Token_ILIKE Token = 453 + Token_IMMEDIATE Token = 454 + Token_IMMUTABLE Token = 455 + Token_IMPLICIT_P Token = 456 + Token_IMPORT_P Token = 457 + Token_IN_P Token = 458 + Token_INCLUDE Token = 459 + Token_INCLUDING Token = 460 + Token_INCREMENT Token = 461 + Token_INDENT Token = 462 + Token_INDEX Token = 463 + Token_INDEXES Token = 464 + Token_INHERIT Token = 465 + Token_INHERITS Token = 466 + Token_INITIALLY Token = 467 + Token_INLINE_P Token = 468 + Token_INNER_P Token = 469 + Token_INOUT Token = 470 + Token_INPUT_P Token = 471 + Token_INSENSITIVE Token = 472 + Token_INSERT Token = 473 + Token_INSTEAD Token = 474 + Token_INT_P Token = 475 + Token_INTEGER Token = 476 + Token_INTERSECT Token = 477 + Token_INTERVAL Token = 478 + Token_INTO Token = 479 + Token_INVOKER Token = 480 + Token_IS Token = 481 + Token_ISNULL Token = 482 + Token_ISOLATION Token = 483 + Token_JOIN Token = 484 + Token_JSON Token = 485 + Token_JSON_ARRAY Token = 486 + Token_JSON_ARRAYAGG Token = 487 + Token_JSON_EXISTS Token = 488 + Token_JSON_OBJECT Token = 489 + Token_JSON_OBJECTAGG Token = 490 + Token_JSON_QUERY Token = 491 + Token_JSON_SCALAR Token = 492 + Token_JSON_SERIALIZE Token = 493 + Token_JSON_TABLE Token = 494 + Token_JSON_VALUE Token = 495 + Token_KEEP Token = 496 + Token_KEY Token = 497 + Token_KEYS Token = 498 + Token_LABEL Token = 499 + Token_LANGUAGE Token = 500 + Token_LARGE_P Token = 501 + Token_LAST_P Token = 502 + Token_LATERAL_P Token = 503 + Token_LEADING Token = 504 + Token_LEAKPROOF Token = 505 + Token_LEAST Token = 506 + Token_LEFT Token = 507 + Token_LEVEL Token = 508 + Token_LIKE Token = 509 + Token_LIMIT Token = 510 + Token_LISTEN Token = 511 + Token_LOAD Token = 512 + Token_LOCAL Token = 513 + Token_LOCALTIME Token = 514 + Token_LOCALTIMESTAMP Token = 515 + Token_LOCATION Token = 516 + Token_LOCK_P Token = 517 + Token_LOCKED Token = 518 + Token_LOGGED Token = 519 + Token_MAPPING Token = 520 + Token_MATCH Token = 521 + Token_MATCHED Token = 522 + Token_MATERIALIZED Token = 523 + Token_MAXVALUE Token = 524 + Token_MERGE Token = 525 + Token_MERGE_ACTION Token = 526 + Token_METHOD Token = 527 + Token_MINUTE_P Token = 528 + Token_MINVALUE Token = 529 + Token_MODE Token = 530 + Token_MONTH_P Token = 531 + Token_MOVE Token = 532 + Token_NAME_P Token = 533 + Token_NAMES Token = 534 + Token_NATIONAL Token = 535 + Token_NATURAL Token = 536 + Token_NCHAR Token = 537 + Token_NESTED Token = 538 + Token_NEW Token = 539 + Token_NEXT Token = 540 + Token_NFC Token = 541 + Token_NFD Token = 542 + Token_NFKC Token = 543 + Token_NFKD Token = 544 + Token_NO Token = 545 + Token_NONE Token = 546 + Token_NORMALIZE Token = 547 + Token_NORMALIZED Token = 548 + Token_NOT Token = 549 + Token_NOTHING Token = 550 + Token_NOTIFY Token = 551 + Token_NOTNULL Token = 552 + Token_NOWAIT Token = 553 + Token_NULL_P Token = 554 + Token_NULLIF Token = 555 + Token_NULLS_P Token = 556 + Token_NUMERIC Token = 557 + Token_OBJECT_P Token = 558 + Token_OF Token = 559 + Token_OFF Token = 560 + Token_OFFSET Token = 561 + Token_OIDS Token = 562 + Token_OLD Token = 563 + Token_OMIT Token = 564 + Token_ON Token = 565 + Token_ONLY Token = 566 + Token_OPERATOR Token = 567 + Token_OPTION Token = 568 + Token_OPTIONS Token = 569 + Token_OR Token = 570 + Token_ORDER Token = 571 + Token_ORDINALITY Token = 572 + Token_OTHERS Token = 573 + Token_OUT_P Token = 574 + Token_OUTER_P Token = 575 + Token_OVER Token = 576 + Token_OVERLAPS Token = 577 + Token_OVERLAY Token = 578 + Token_OVERRIDING Token = 579 + Token_OWNED Token = 580 + Token_OWNER Token = 581 + Token_PARALLEL Token = 582 + Token_PARAMETER Token = 583 + Token_PARSER Token = 584 + Token_PARTIAL Token = 585 + Token_PARTITION Token = 586 + Token_PASSING Token = 587 + Token_PASSWORD Token = 588 + Token_PATH Token = 589 + Token_PLACING Token = 590 + Token_PLAN Token = 591 + Token_PLANS Token = 592 + Token_POLICY Token = 593 + Token_POSITION Token = 594 + Token_PRECEDING Token = 595 + Token_PRECISION Token = 596 + Token_PRESERVE Token = 597 + Token_PREPARE Token = 598 + Token_PREPARED Token = 599 + Token_PRIMARY Token = 600 + Token_PRIOR Token = 601 + Token_PRIVILEGES Token = 602 + Token_PROCEDURAL Token = 603 + Token_PROCEDURE Token = 604 + Token_PROCEDURES Token = 605 + Token_PROGRAM Token = 606 + Token_PUBLICATION Token = 607 + Token_QUOTE Token = 608 + Token_QUOTES Token = 609 + Token_RANGE Token = 610 + Token_READ Token = 611 + Token_REAL Token = 612 + Token_REASSIGN Token = 613 + Token_RECHECK Token = 614 + Token_RECURSIVE Token = 615 + Token_REF_P Token = 616 + Token_REFERENCES Token = 617 + Token_REFERENCING Token = 618 + Token_REFRESH Token = 619 + Token_REINDEX Token = 620 + Token_RELATIVE_P Token = 621 + Token_RELEASE Token = 622 + Token_RENAME Token = 623 + Token_REPEATABLE Token = 624 + Token_REPLACE Token = 625 + Token_REPLICA Token = 626 + Token_RESET Token = 627 + Token_RESTART Token = 628 + Token_RESTRICT Token = 629 + Token_RETURN Token = 630 + Token_RETURNING Token = 631 + Token_RETURNS Token = 632 + Token_REVOKE Token = 633 + Token_RIGHT Token = 634 + Token_ROLE Token = 635 + Token_ROLLBACK Token = 636 + Token_ROLLUP Token = 637 + Token_ROUTINE Token = 638 + Token_ROUTINES Token = 639 + Token_ROW Token = 640 + Token_ROWS Token = 641 + Token_RULE Token = 642 + Token_SAVEPOINT Token = 643 + Token_SCALAR Token = 644 + Token_SCHEMA Token = 645 + Token_SCHEMAS Token = 646 + Token_SCROLL Token = 647 + Token_SEARCH Token = 648 + Token_SECOND_P Token = 649 + Token_SECURITY Token = 650 + Token_SELECT Token = 651 + Token_SEQUENCE Token = 652 + Token_SEQUENCES Token = 653 + Token_SERIALIZABLE Token = 654 + Token_SERVER Token = 655 + Token_SESSION Token = 656 + Token_SESSION_USER Token = 657 + Token_SET Token = 658 + Token_SETS Token = 659 + Token_SETOF Token = 660 + Token_SHARE Token = 661 + Token_SHOW Token = 662 + Token_SIMILAR Token = 663 + Token_SIMPLE Token = 664 + Token_SKIP Token = 665 + Token_SMALLINT Token = 666 + Token_SNAPSHOT Token = 667 + Token_SOME Token = 668 + Token_SOURCE Token = 669 + Token_SQL_P Token = 670 + Token_STABLE Token = 671 + Token_STANDALONE_P Token = 672 + Token_START Token = 673 + Token_STATEMENT Token = 674 + Token_STATISTICS Token = 675 + Token_STDIN Token = 676 + Token_STDOUT Token = 677 + Token_STORAGE Token = 678 + Token_STORED Token = 679 + Token_STRICT_P Token = 680 + Token_STRING_P Token = 681 + Token_STRIP_P Token = 682 + Token_SUBSCRIPTION Token = 683 + Token_SUBSTRING Token = 684 + Token_SUPPORT Token = 685 + Token_SYMMETRIC Token = 686 + Token_SYSID Token = 687 + Token_SYSTEM_P Token = 688 + Token_SYSTEM_USER Token = 689 + Token_TABLE Token = 690 + Token_TABLES Token = 691 + Token_TABLESAMPLE Token = 692 + Token_TABLESPACE Token = 693 + Token_TARGET Token = 694 + Token_TEMP Token = 695 + Token_TEMPLATE Token = 696 + Token_TEMPORARY Token = 697 + Token_TEXT_P Token = 698 + Token_THEN Token = 699 + Token_TIES Token = 700 + Token_TIME Token = 701 + Token_TIMESTAMP Token = 702 + Token_TO Token = 703 + Token_TRAILING Token = 704 + Token_TRANSACTION Token = 705 + Token_TRANSFORM Token = 706 + Token_TREAT Token = 707 + Token_TRIGGER Token = 708 + Token_TRIM Token = 709 + Token_TRUE_P Token = 710 + Token_TRUNCATE Token = 711 + Token_TRUSTED Token = 712 + Token_TYPE_P Token = 713 + Token_TYPES_P Token = 714 + Token_UESCAPE Token = 715 + Token_UNBOUNDED Token = 716 + Token_UNCONDITIONAL Token = 717 + Token_UNCOMMITTED Token = 718 + Token_UNENCRYPTED Token = 719 + Token_UNION Token = 720 + Token_UNIQUE Token = 721 + Token_UNKNOWN Token = 722 + Token_UNLISTEN Token = 723 + Token_UNLOGGED Token = 724 + Token_UNTIL Token = 725 + Token_UPDATE Token = 726 + Token_USER Token = 727 + Token_USING Token = 728 + Token_VACUUM Token = 729 + Token_VALID Token = 730 + Token_VALIDATE Token = 731 + Token_VALIDATOR Token = 732 + Token_VALUE_P Token = 733 + Token_VALUES Token = 734 + Token_VARCHAR Token = 735 + Token_VARIADIC Token = 736 + Token_VARYING Token = 737 + Token_VERBOSE Token = 738 + Token_VERSION_P Token = 739 + Token_VIEW Token = 740 + Token_VIEWS Token = 741 + Token_VOLATILE Token = 742 + Token_WHEN Token = 743 + Token_WHERE Token = 744 + Token_WHITESPACE_P Token = 745 + Token_WINDOW Token = 746 + Token_WITH Token = 747 + Token_WITHIN Token = 748 + Token_WITHOUT Token = 749 + Token_WORK Token = 750 + Token_WRAPPER Token = 751 + Token_WRITE Token = 752 + Token_XML_P Token = 753 + Token_XMLATTRIBUTES Token = 754 + Token_XMLCONCAT Token = 755 + Token_XMLELEMENT Token = 756 + Token_XMLEXISTS Token = 757 + Token_XMLFOREST Token = 758 + Token_XMLNAMESPACES Token = 759 + Token_XMLPARSE Token = 760 + Token_XMLPI Token = 761 + Token_XMLROOT Token = 762 + Token_XMLSERIALIZE Token = 763 + Token_XMLTABLE Token = 764 + Token_YEAR_P Token = 765 + Token_YES_P Token = 766 + Token_ZONE Token = 767 + Token_FORMAT_LA Token = 768 + Token_NOT_LA Token = 769 + Token_NULLS_LA Token = 770 + Token_WITH_LA Token = 771 + Token_WITHOUT_LA Token = 772 + Token_MODE_TYPE_NAME Token = 773 + Token_MODE_PLPGSQL_EXPR Token = 774 + Token_MODE_PLPGSQL_ASSIGN1 Token = 775 + Token_MODE_PLPGSQL_ASSIGN2 Token = 776 + Token_MODE_PLPGSQL_ASSIGN3 Token = 777 + Token_UMINUS Token = 778 +) -func (x *Node) GetRelabelType() *RelabelType { - if x, ok := x.GetNode().(*Node_RelabelType); ok { - return x.RelabelType +// Enum value maps for Token. +var ( + Token_name = map[int32]string{ + 0: "NUL", + 36: "ASCII_36", + 37: "ASCII_37", + 40: "ASCII_40", + 41: "ASCII_41", + 42: "ASCII_42", + 43: "ASCII_43", + 44: "ASCII_44", + 45: "ASCII_45", + 46: "ASCII_46", + 47: "ASCII_47", + 58: "ASCII_58", + 59: "ASCII_59", + 60: "ASCII_60", + 61: "ASCII_61", + 62: "ASCII_62", + 63: "ASCII_63", + 91: "ASCII_91", + 92: "ASCII_92", + 93: "ASCII_93", + 94: "ASCII_94", + 258: "IDENT", + 259: "UIDENT", + 260: "FCONST", + 261: "SCONST", + 262: "USCONST", + 263: "BCONST", + 264: "XCONST", + 265: "Op", + 266: "ICONST", + 267: "PARAM", + 268: "TYPECAST", + 269: "DOT_DOT", + 270: "COLON_EQUALS", + 271: "EQUALS_GREATER", + 272: "LESS_EQUALS", + 273: "GREATER_EQUALS", + 274: "NOT_EQUALS", + 275: "SQL_COMMENT", + 276: "C_COMMENT", + 277: "ABORT_P", + 278: "ABSENT", + 279: "ABSOLUTE_P", + 280: "ACCESS", + 281: "ACTION", + 282: "ADD_P", + 283: "ADMIN", + 284: "AFTER", + 285: "AGGREGATE", + 286: "ALL", + 287: "ALSO", + 288: "ALTER", + 289: "ALWAYS", + 290: "ANALYSE", + 291: "ANALYZE", + 292: "AND", + 293: "ANY", + 294: "ARRAY", + 295: "AS", + 296: "ASC", + 297: "ASENSITIVE", + 298: "ASSERTION", + 299: "ASSIGNMENT", + 300: "ASYMMETRIC", + 301: "ATOMIC", + 302: "AT", + 303: "ATTACH", + 304: "ATTRIBUTE", + 305: "AUTHORIZATION", + 306: "BACKWARD", + 307: "BEFORE", + 308: "BEGIN_P", + 309: "BETWEEN", + 310: "BIGINT", + 311: "BINARY", + 312: "BIT", + 313: "BOOLEAN_P", + 314: "BOTH", + 315: "BREADTH", + 316: "BY", + 317: "CACHE", + 318: "CALL", + 319: "CALLED", + 320: "CASCADE", + 321: "CASCADED", + 322: "CASE", + 323: "CAST", + 324: "CATALOG_P", + 325: "CHAIN", + 326: "CHAR_P", + 327: "CHARACTER", + 328: "CHARACTERISTICS", + 329: "CHECK", + 330: "CHECKPOINT", + 331: "CLASS", + 332: "CLOSE", + 333: "CLUSTER", + 334: "COALESCE", + 335: "COLLATE", + 336: "COLLATION", + 337: "COLUMN", + 338: "COLUMNS", + 339: "COMMENT", + 340: "COMMENTS", + 341: "COMMIT", + 342: "COMMITTED", + 343: "COMPRESSION", + 344: "CONCURRENTLY", + 345: "CONDITIONAL", + 346: "CONFIGURATION", + 347: "CONFLICT", + 348: "CONNECTION", + 349: "CONSTRAINT", + 350: "CONSTRAINTS", + 351: "CONTENT_P", + 352: "CONTINUE_P", + 353: "CONVERSION_P", + 354: "COPY", + 355: "COST", + 356: "CREATE", + 357: "CROSS", + 358: "CSV", + 359: "CUBE", + 360: "CURRENT_P", + 361: "CURRENT_CATALOG", + 362: "CURRENT_DATE", + 363: "CURRENT_ROLE", + 364: "CURRENT_SCHEMA", + 365: "CURRENT_TIME", + 366: "CURRENT_TIMESTAMP", + 367: "CURRENT_USER", + 368: "CURSOR", + 369: "CYCLE", + 370: "DATA_P", + 371: "DATABASE", + 372: "DAY_P", + 373: "DEALLOCATE", + 374: "DEC", + 375: "DECIMAL_P", + 376: "DECLARE", + 377: "DEFAULT", + 378: "DEFAULTS", + 379: "DEFERRABLE", + 380: "DEFERRED", + 381: "DEFINER", + 382: "DELETE_P", + 383: "DELIMITER", + 384: "DELIMITERS", + 385: "DEPENDS", + 386: "DEPTH", + 387: "DESC", + 388: "DETACH", + 389: "DICTIONARY", + 390: "DISABLE_P", + 391: "DISCARD", + 392: "DISTINCT", + 393: "DO", + 394: "DOCUMENT_P", + 395: "DOMAIN_P", + 396: "DOUBLE_P", + 397: "DROP", + 398: "EACH", + 399: "ELSE", + 400: "EMPTY_P", + 401: "ENABLE_P", + 402: "ENCODING", + 403: "ENCRYPTED", + 404: "END_P", + 405: "ENUM_P", + 406: "ERROR_P", + 407: "ESCAPE", + 408: "EVENT", + 409: "EXCEPT", + 410: "EXCLUDE", + 411: "EXCLUDING", + 412: "EXCLUSIVE", + 413: "EXECUTE", + 414: "EXISTS", + 415: "EXPLAIN", + 416: "EXPRESSION", + 417: "EXTENSION", + 418: "EXTERNAL", + 419: "EXTRACT", + 420: "FALSE_P", + 421: "FAMILY", + 422: "FETCH", + 423: "FILTER", + 424: "FINALIZE", + 425: "FIRST_P", + 426: "FLOAT_P", + 427: "FOLLOWING", + 428: "FOR", + 429: "FORCE", + 430: "FOREIGN", + 431: "FORMAT", + 432: "FORWARD", + 433: "FREEZE", + 434: "FROM", + 435: "FULL", + 436: "FUNCTION", + 437: "FUNCTIONS", + 438: "GENERATED", + 439: "GLOBAL", + 440: "GRANT", + 441: "GRANTED", + 442: "GREATEST", + 443: "GROUP_P", + 444: "GROUPING", + 445: "GROUPS", + 446: "HANDLER", + 447: "HAVING", + 448: "HEADER_P", + 449: "HOLD", + 450: "HOUR_P", + 451: "IDENTITY_P", + 452: "IF_P", + 453: "ILIKE", + 454: "IMMEDIATE", + 455: "IMMUTABLE", + 456: "IMPLICIT_P", + 457: "IMPORT_P", + 458: "IN_P", + 459: "INCLUDE", + 460: "INCLUDING", + 461: "INCREMENT", + 462: "INDENT", + 463: "INDEX", + 464: "INDEXES", + 465: "INHERIT", + 466: "INHERITS", + 467: "INITIALLY", + 468: "INLINE_P", + 469: "INNER_P", + 470: "INOUT", + 471: "INPUT_P", + 472: "INSENSITIVE", + 473: "INSERT", + 474: "INSTEAD", + 475: "INT_P", + 476: "INTEGER", + 477: "INTERSECT", + 478: "INTERVAL", + 479: "INTO", + 480: "INVOKER", + 481: "IS", + 482: "ISNULL", + 483: "ISOLATION", + 484: "JOIN", + 485: "JSON", + 486: "JSON_ARRAY", + 487: "JSON_ARRAYAGG", + 488: "JSON_EXISTS", + 489: "JSON_OBJECT", + 490: "JSON_OBJECTAGG", + 491: "JSON_QUERY", + 492: "JSON_SCALAR", + 493: "JSON_SERIALIZE", + 494: "JSON_TABLE", + 495: "JSON_VALUE", + 496: "KEEP", + 497: "KEY", + 498: "KEYS", + 499: "LABEL", + 500: "LANGUAGE", + 501: "LARGE_P", + 502: "LAST_P", + 503: "LATERAL_P", + 504: "LEADING", + 505: "LEAKPROOF", + 506: "LEAST", + 507: "LEFT", + 508: "LEVEL", + 509: "LIKE", + 510: "LIMIT", + 511: "LISTEN", + 512: "LOAD", + 513: "LOCAL", + 514: "LOCALTIME", + 515: "LOCALTIMESTAMP", + 516: "LOCATION", + 517: "LOCK_P", + 518: "LOCKED", + 519: "LOGGED", + 520: "MAPPING", + 521: "MATCH", + 522: "MATCHED", + 523: "MATERIALIZED", + 524: "MAXVALUE", + 525: "MERGE", + 526: "MERGE_ACTION", + 527: "METHOD", + 528: "MINUTE_P", + 529: "MINVALUE", + 530: "MODE", + 531: "MONTH_P", + 532: "MOVE", + 533: "NAME_P", + 534: "NAMES", + 535: "NATIONAL", + 536: "NATURAL", + 537: "NCHAR", + 538: "NESTED", + 539: "NEW", + 540: "NEXT", + 541: "NFC", + 542: "NFD", + 543: "NFKC", + 544: "NFKD", + 545: "NO", + 546: "NONE", + 547: "NORMALIZE", + 548: "NORMALIZED", + 549: "NOT", + 550: "NOTHING", + 551: "NOTIFY", + 552: "NOTNULL", + 553: "NOWAIT", + 554: "NULL_P", + 555: "NULLIF", + 556: "NULLS_P", + 557: "NUMERIC", + 558: "OBJECT_P", + 559: "OF", + 560: "OFF", + 561: "OFFSET", + 562: "OIDS", + 563: "OLD", + 564: "OMIT", + 565: "ON", + 566: "ONLY", + 567: "OPERATOR", + 568: "OPTION", + 569: "OPTIONS", + 570: "OR", + 571: "ORDER", + 572: "ORDINALITY", + 573: "OTHERS", + 574: "OUT_P", + 575: "OUTER_P", + 576: "OVER", + 577: "OVERLAPS", + 578: "OVERLAY", + 579: "OVERRIDING", + 580: "OWNED", + 581: "OWNER", + 582: "PARALLEL", + 583: "PARAMETER", + 584: "PARSER", + 585: "PARTIAL", + 586: "PARTITION", + 587: "PASSING", + 588: "PASSWORD", + 589: "PATH", + 590: "PLACING", + 591: "PLAN", + 592: "PLANS", + 593: "POLICY", + 594: "POSITION", + 595: "PRECEDING", + 596: "PRECISION", + 597: "PRESERVE", + 598: "PREPARE", + 599: "PREPARED", + 600: "PRIMARY", + 601: "PRIOR", + 602: "PRIVILEGES", + 603: "PROCEDURAL", + 604: "PROCEDURE", + 605: "PROCEDURES", + 606: "PROGRAM", + 607: "PUBLICATION", + 608: "QUOTE", + 609: "QUOTES", + 610: "RANGE", + 611: "READ", + 612: "REAL", + 613: "REASSIGN", + 614: "RECHECK", + 615: "RECURSIVE", + 616: "REF_P", + 617: "REFERENCES", + 618: "REFERENCING", + 619: "REFRESH", + 620: "REINDEX", + 621: "RELATIVE_P", + 622: "RELEASE", + 623: "RENAME", + 624: "REPEATABLE", + 625: "REPLACE", + 626: "REPLICA", + 627: "RESET", + 628: "RESTART", + 629: "RESTRICT", + 630: "RETURN", + 631: "RETURNING", + 632: "RETURNS", + 633: "REVOKE", + 634: "RIGHT", + 635: "ROLE", + 636: "ROLLBACK", + 637: "ROLLUP", + 638: "ROUTINE", + 639: "ROUTINES", + 640: "ROW", + 641: "ROWS", + 642: "RULE", + 643: "SAVEPOINT", + 644: "SCALAR", + 645: "SCHEMA", + 646: "SCHEMAS", + 647: "SCROLL", + 648: "SEARCH", + 649: "SECOND_P", + 650: "SECURITY", + 651: "SELECT", + 652: "SEQUENCE", + 653: "SEQUENCES", + 654: "SERIALIZABLE", + 655: "SERVER", + 656: "SESSION", + 657: "SESSION_USER", + 658: "SET", + 659: "SETS", + 660: "SETOF", + 661: "SHARE", + 662: "SHOW", + 663: "SIMILAR", + 664: "SIMPLE", + 665: "SKIP", + 666: "SMALLINT", + 667: "SNAPSHOT", + 668: "SOME", + 669: "SOURCE", + 670: "SQL_P", + 671: "STABLE", + 672: "STANDALONE_P", + 673: "START", + 674: "STATEMENT", + 675: "STATISTICS", + 676: "STDIN", + 677: "STDOUT", + 678: "STORAGE", + 679: "STORED", + 680: "STRICT_P", + 681: "STRING_P", + 682: "STRIP_P", + 683: "SUBSCRIPTION", + 684: "SUBSTRING", + 685: "SUPPORT", + 686: "SYMMETRIC", + 687: "SYSID", + 688: "SYSTEM_P", + 689: "SYSTEM_USER", + 690: "TABLE", + 691: "TABLES", + 692: "TABLESAMPLE", + 693: "TABLESPACE", + 694: "TARGET", + 695: "TEMP", + 696: "TEMPLATE", + 697: "TEMPORARY", + 698: "TEXT_P", + 699: "THEN", + 700: "TIES", + 701: "TIME", + 702: "TIMESTAMP", + 703: "TO", + 704: "TRAILING", + 705: "TRANSACTION", + 706: "TRANSFORM", + 707: "TREAT", + 708: "TRIGGER", + 709: "TRIM", + 710: "TRUE_P", + 711: "TRUNCATE", + 712: "TRUSTED", + 713: "TYPE_P", + 714: "TYPES_P", + 715: "UESCAPE", + 716: "UNBOUNDED", + 717: "UNCONDITIONAL", + 718: "UNCOMMITTED", + 719: "UNENCRYPTED", + 720: "UNION", + 721: "UNIQUE", + 722: "UNKNOWN", + 723: "UNLISTEN", + 724: "UNLOGGED", + 725: "UNTIL", + 726: "UPDATE", + 727: "USER", + 728: "USING", + 729: "VACUUM", + 730: "VALID", + 731: "VALIDATE", + 732: "VALIDATOR", + 733: "VALUE_P", + 734: "VALUES", + 735: "VARCHAR", + 736: "VARIADIC", + 737: "VARYING", + 738: "VERBOSE", + 739: "VERSION_P", + 740: "VIEW", + 741: "VIEWS", + 742: "VOLATILE", + 743: "WHEN", + 744: "WHERE", + 745: "WHITESPACE_P", + 746: "WINDOW", + 747: "WITH", + 748: "WITHIN", + 749: "WITHOUT", + 750: "WORK", + 751: "WRAPPER", + 752: "WRITE", + 753: "XML_P", + 754: "XMLATTRIBUTES", + 755: "XMLCONCAT", + 756: "XMLELEMENT", + 757: "XMLEXISTS", + 758: "XMLFOREST", + 759: "XMLNAMESPACES", + 760: "XMLPARSE", + 761: "XMLPI", + 762: "XMLROOT", + 763: "XMLSERIALIZE", + 764: "XMLTABLE", + 765: "YEAR_P", + 766: "YES_P", + 767: "ZONE", + 768: "FORMAT_LA", + 769: "NOT_LA", + 770: "NULLS_LA", + 771: "WITH_LA", + 772: "WITHOUT_LA", + 773: "MODE_TYPE_NAME", + 774: "MODE_PLPGSQL_EXPR", + 775: "MODE_PLPGSQL_ASSIGN1", + 776: "MODE_PLPGSQL_ASSIGN2", + 777: "MODE_PLPGSQL_ASSIGN3", + 778: "UMINUS", } - return nil + Token_value = map[string]int32{ + "NUL": 0, + "ASCII_36": 36, + "ASCII_37": 37, + "ASCII_40": 40, + "ASCII_41": 41, + "ASCII_42": 42, + "ASCII_43": 43, + "ASCII_44": 44, + "ASCII_45": 45, + "ASCII_46": 46, + "ASCII_47": 47, + "ASCII_58": 58, + "ASCII_59": 59, + "ASCII_60": 60, + "ASCII_61": 61, + "ASCII_62": 62, + "ASCII_63": 63, + "ASCII_91": 91, + "ASCII_92": 92, + "ASCII_93": 93, + "ASCII_94": 94, + "IDENT": 258, + "UIDENT": 259, + "FCONST": 260, + "SCONST": 261, + "USCONST": 262, + "BCONST": 263, + "XCONST": 264, + "Op": 265, + "ICONST": 266, + "PARAM": 267, + "TYPECAST": 268, + "DOT_DOT": 269, + "COLON_EQUALS": 270, + "EQUALS_GREATER": 271, + "LESS_EQUALS": 272, + "GREATER_EQUALS": 273, + "NOT_EQUALS": 274, + "SQL_COMMENT": 275, + "C_COMMENT": 276, + "ABORT_P": 277, + "ABSENT": 278, + "ABSOLUTE_P": 279, + "ACCESS": 280, + "ACTION": 281, + "ADD_P": 282, + "ADMIN": 283, + "AFTER": 284, + "AGGREGATE": 285, + "ALL": 286, + "ALSO": 287, + "ALTER": 288, + "ALWAYS": 289, + "ANALYSE": 290, + "ANALYZE": 291, + "AND": 292, + "ANY": 293, + "ARRAY": 294, + "AS": 295, + "ASC": 296, + "ASENSITIVE": 297, + "ASSERTION": 298, + "ASSIGNMENT": 299, + "ASYMMETRIC": 300, + "ATOMIC": 301, + "AT": 302, + "ATTACH": 303, + "ATTRIBUTE": 304, + "AUTHORIZATION": 305, + "BACKWARD": 306, + "BEFORE": 307, + "BEGIN_P": 308, + "BETWEEN": 309, + "BIGINT": 310, + "BINARY": 311, + "BIT": 312, + "BOOLEAN_P": 313, + "BOTH": 314, + "BREADTH": 315, + "BY": 316, + "CACHE": 317, + "CALL": 318, + "CALLED": 319, + "CASCADE": 320, + "CASCADED": 321, + "CASE": 322, + "CAST": 323, + "CATALOG_P": 324, + "CHAIN": 325, + "CHAR_P": 326, + "CHARACTER": 327, + "CHARACTERISTICS": 328, + "CHECK": 329, + "CHECKPOINT": 330, + "CLASS": 331, + "CLOSE": 332, + "CLUSTER": 333, + "COALESCE": 334, + "COLLATE": 335, + "COLLATION": 336, + "COLUMN": 337, + "COLUMNS": 338, + "COMMENT": 339, + "COMMENTS": 340, + "COMMIT": 341, + "COMMITTED": 342, + "COMPRESSION": 343, + "CONCURRENTLY": 344, + "CONDITIONAL": 345, + "CONFIGURATION": 346, + "CONFLICT": 347, + "CONNECTION": 348, + "CONSTRAINT": 349, + "CONSTRAINTS": 350, + "CONTENT_P": 351, + "CONTINUE_P": 352, + "CONVERSION_P": 353, + "COPY": 354, + "COST": 355, + "CREATE": 356, + "CROSS": 357, + "CSV": 358, + "CUBE": 359, + "CURRENT_P": 360, + "CURRENT_CATALOG": 361, + "CURRENT_DATE": 362, + "CURRENT_ROLE": 363, + "CURRENT_SCHEMA": 364, + "CURRENT_TIME": 365, + "CURRENT_TIMESTAMP": 366, + "CURRENT_USER": 367, + "CURSOR": 368, + "CYCLE": 369, + "DATA_P": 370, + "DATABASE": 371, + "DAY_P": 372, + "DEALLOCATE": 373, + "DEC": 374, + "DECIMAL_P": 375, + "DECLARE": 376, + "DEFAULT": 377, + "DEFAULTS": 378, + "DEFERRABLE": 379, + "DEFERRED": 380, + "DEFINER": 381, + "DELETE_P": 382, + "DELIMITER": 383, + "DELIMITERS": 384, + "DEPENDS": 385, + "DEPTH": 386, + "DESC": 387, + "DETACH": 388, + "DICTIONARY": 389, + "DISABLE_P": 390, + "DISCARD": 391, + "DISTINCT": 392, + "DO": 393, + "DOCUMENT_P": 394, + "DOMAIN_P": 395, + "DOUBLE_P": 396, + "DROP": 397, + "EACH": 398, + "ELSE": 399, + "EMPTY_P": 400, + "ENABLE_P": 401, + "ENCODING": 402, + "ENCRYPTED": 403, + "END_P": 404, + "ENUM_P": 405, + "ERROR_P": 406, + "ESCAPE": 407, + "EVENT": 408, + "EXCEPT": 409, + "EXCLUDE": 410, + "EXCLUDING": 411, + "EXCLUSIVE": 412, + "EXECUTE": 413, + "EXISTS": 414, + "EXPLAIN": 415, + "EXPRESSION": 416, + "EXTENSION": 417, + "EXTERNAL": 418, + "EXTRACT": 419, + "FALSE_P": 420, + "FAMILY": 421, + "FETCH": 422, + "FILTER": 423, + "FINALIZE": 424, + "FIRST_P": 425, + "FLOAT_P": 426, + "FOLLOWING": 427, + "FOR": 428, + "FORCE": 429, + "FOREIGN": 430, + "FORMAT": 431, + "FORWARD": 432, + "FREEZE": 433, + "FROM": 434, + "FULL": 435, + "FUNCTION": 436, + "FUNCTIONS": 437, + "GENERATED": 438, + "GLOBAL": 439, + "GRANT": 440, + "GRANTED": 441, + "GREATEST": 442, + "GROUP_P": 443, + "GROUPING": 444, + "GROUPS": 445, + "HANDLER": 446, + "HAVING": 447, + "HEADER_P": 448, + "HOLD": 449, + "HOUR_P": 450, + "IDENTITY_P": 451, + "IF_P": 452, + "ILIKE": 453, + "IMMEDIATE": 454, + "IMMUTABLE": 455, + "IMPLICIT_P": 456, + "IMPORT_P": 457, + "IN_P": 458, + "INCLUDE": 459, + "INCLUDING": 460, + "INCREMENT": 461, + "INDENT": 462, + "INDEX": 463, + "INDEXES": 464, + "INHERIT": 465, + "INHERITS": 466, + "INITIALLY": 467, + "INLINE_P": 468, + "INNER_P": 469, + "INOUT": 470, + "INPUT_P": 471, + "INSENSITIVE": 472, + "INSERT": 473, + "INSTEAD": 474, + "INT_P": 475, + "INTEGER": 476, + "INTERSECT": 477, + "INTERVAL": 478, + "INTO": 479, + "INVOKER": 480, + "IS": 481, + "ISNULL": 482, + "ISOLATION": 483, + "JOIN": 484, + "JSON": 485, + "JSON_ARRAY": 486, + "JSON_ARRAYAGG": 487, + "JSON_EXISTS": 488, + "JSON_OBJECT": 489, + "JSON_OBJECTAGG": 490, + "JSON_QUERY": 491, + "JSON_SCALAR": 492, + "JSON_SERIALIZE": 493, + "JSON_TABLE": 494, + "JSON_VALUE": 495, + "KEEP": 496, + "KEY": 497, + "KEYS": 498, + "LABEL": 499, + "LANGUAGE": 500, + "LARGE_P": 501, + "LAST_P": 502, + "LATERAL_P": 503, + "LEADING": 504, + "LEAKPROOF": 505, + "LEAST": 506, + "LEFT": 507, + "LEVEL": 508, + "LIKE": 509, + "LIMIT": 510, + "LISTEN": 511, + "LOAD": 512, + "LOCAL": 513, + "LOCALTIME": 514, + "LOCALTIMESTAMP": 515, + "LOCATION": 516, + "LOCK_P": 517, + "LOCKED": 518, + "LOGGED": 519, + "MAPPING": 520, + "MATCH": 521, + "MATCHED": 522, + "MATERIALIZED": 523, + "MAXVALUE": 524, + "MERGE": 525, + "MERGE_ACTION": 526, + "METHOD": 527, + "MINUTE_P": 528, + "MINVALUE": 529, + "MODE": 530, + "MONTH_P": 531, + "MOVE": 532, + "NAME_P": 533, + "NAMES": 534, + "NATIONAL": 535, + "NATURAL": 536, + "NCHAR": 537, + "NESTED": 538, + "NEW": 539, + "NEXT": 540, + "NFC": 541, + "NFD": 542, + "NFKC": 543, + "NFKD": 544, + "NO": 545, + "NONE": 546, + "NORMALIZE": 547, + "NORMALIZED": 548, + "NOT": 549, + "NOTHING": 550, + "NOTIFY": 551, + "NOTNULL": 552, + "NOWAIT": 553, + "NULL_P": 554, + "NULLIF": 555, + "NULLS_P": 556, + "NUMERIC": 557, + "OBJECT_P": 558, + "OF": 559, + "OFF": 560, + "OFFSET": 561, + "OIDS": 562, + "OLD": 563, + "OMIT": 564, + "ON": 565, + "ONLY": 566, + "OPERATOR": 567, + "OPTION": 568, + "OPTIONS": 569, + "OR": 570, + "ORDER": 571, + "ORDINALITY": 572, + "OTHERS": 573, + "OUT_P": 574, + "OUTER_P": 575, + "OVER": 576, + "OVERLAPS": 577, + "OVERLAY": 578, + "OVERRIDING": 579, + "OWNED": 580, + "OWNER": 581, + "PARALLEL": 582, + "PARAMETER": 583, + "PARSER": 584, + "PARTIAL": 585, + "PARTITION": 586, + "PASSING": 587, + "PASSWORD": 588, + "PATH": 589, + "PLACING": 590, + "PLAN": 591, + "PLANS": 592, + "POLICY": 593, + "POSITION": 594, + "PRECEDING": 595, + "PRECISION": 596, + "PRESERVE": 597, + "PREPARE": 598, + "PREPARED": 599, + "PRIMARY": 600, + "PRIOR": 601, + "PRIVILEGES": 602, + "PROCEDURAL": 603, + "PROCEDURE": 604, + "PROCEDURES": 605, + "PROGRAM": 606, + "PUBLICATION": 607, + "QUOTE": 608, + "QUOTES": 609, + "RANGE": 610, + "READ": 611, + "REAL": 612, + "REASSIGN": 613, + "RECHECK": 614, + "RECURSIVE": 615, + "REF_P": 616, + "REFERENCES": 617, + "REFERENCING": 618, + "REFRESH": 619, + "REINDEX": 620, + "RELATIVE_P": 621, + "RELEASE": 622, + "RENAME": 623, + "REPEATABLE": 624, + "REPLACE": 625, + "REPLICA": 626, + "RESET": 627, + "RESTART": 628, + "RESTRICT": 629, + "RETURN": 630, + "RETURNING": 631, + "RETURNS": 632, + "REVOKE": 633, + "RIGHT": 634, + "ROLE": 635, + "ROLLBACK": 636, + "ROLLUP": 637, + "ROUTINE": 638, + "ROUTINES": 639, + "ROW": 640, + "ROWS": 641, + "RULE": 642, + "SAVEPOINT": 643, + "SCALAR": 644, + "SCHEMA": 645, + "SCHEMAS": 646, + "SCROLL": 647, + "SEARCH": 648, + "SECOND_P": 649, + "SECURITY": 650, + "SELECT": 651, + "SEQUENCE": 652, + "SEQUENCES": 653, + "SERIALIZABLE": 654, + "SERVER": 655, + "SESSION": 656, + "SESSION_USER": 657, + "SET": 658, + "SETS": 659, + "SETOF": 660, + "SHARE": 661, + "SHOW": 662, + "SIMILAR": 663, + "SIMPLE": 664, + "SKIP": 665, + "SMALLINT": 666, + "SNAPSHOT": 667, + "SOME": 668, + "SOURCE": 669, + "SQL_P": 670, + "STABLE": 671, + "STANDALONE_P": 672, + "START": 673, + "STATEMENT": 674, + "STATISTICS": 675, + "STDIN": 676, + "STDOUT": 677, + "STORAGE": 678, + "STORED": 679, + "STRICT_P": 680, + "STRING_P": 681, + "STRIP_P": 682, + "SUBSCRIPTION": 683, + "SUBSTRING": 684, + "SUPPORT": 685, + "SYMMETRIC": 686, + "SYSID": 687, + "SYSTEM_P": 688, + "SYSTEM_USER": 689, + "TABLE": 690, + "TABLES": 691, + "TABLESAMPLE": 692, + "TABLESPACE": 693, + "TARGET": 694, + "TEMP": 695, + "TEMPLATE": 696, + "TEMPORARY": 697, + "TEXT_P": 698, + "THEN": 699, + "TIES": 700, + "TIME": 701, + "TIMESTAMP": 702, + "TO": 703, + "TRAILING": 704, + "TRANSACTION": 705, + "TRANSFORM": 706, + "TREAT": 707, + "TRIGGER": 708, + "TRIM": 709, + "TRUE_P": 710, + "TRUNCATE": 711, + "TRUSTED": 712, + "TYPE_P": 713, + "TYPES_P": 714, + "UESCAPE": 715, + "UNBOUNDED": 716, + "UNCONDITIONAL": 717, + "UNCOMMITTED": 718, + "UNENCRYPTED": 719, + "UNION": 720, + "UNIQUE": 721, + "UNKNOWN": 722, + "UNLISTEN": 723, + "UNLOGGED": 724, + "UNTIL": 725, + "UPDATE": 726, + "USER": 727, + "USING": 728, + "VACUUM": 729, + "VALID": 730, + "VALIDATE": 731, + "VALIDATOR": 732, + "VALUE_P": 733, + "VALUES": 734, + "VARCHAR": 735, + "VARIADIC": 736, + "VARYING": 737, + "VERBOSE": 738, + "VERSION_P": 739, + "VIEW": 740, + "VIEWS": 741, + "VOLATILE": 742, + "WHEN": 743, + "WHERE": 744, + "WHITESPACE_P": 745, + "WINDOW": 746, + "WITH": 747, + "WITHIN": 748, + "WITHOUT": 749, + "WORK": 750, + "WRAPPER": 751, + "WRITE": 752, + "XML_P": 753, + "XMLATTRIBUTES": 754, + "XMLCONCAT": 755, + "XMLELEMENT": 756, + "XMLEXISTS": 757, + "XMLFOREST": 758, + "XMLNAMESPACES": 759, + "XMLPARSE": 760, + "XMLPI": 761, + "XMLROOT": 762, + "XMLSERIALIZE": 763, + "XMLTABLE": 764, + "YEAR_P": 765, + "YES_P": 766, + "ZONE": 767, + "FORMAT_LA": 768, + "NOT_LA": 769, + "NULLS_LA": 770, + "WITH_LA": 771, + "WITHOUT_LA": 772, + "MODE_TYPE_NAME": 773, + "MODE_PLPGSQL_EXPR": 774, + "MODE_PLPGSQL_ASSIGN1": 775, + "MODE_PLPGSQL_ASSIGN2": 776, + "MODE_PLPGSQL_ASSIGN3": 777, + "UMINUS": 778, + } +) + +func (x Token) Enum() *Token { + p := new(Token) + *p = x + return p } -func (x *Node) GetCoerceViaIo() *CoerceViaIO { - if x, ok := x.GetNode().(*Node_CoerceViaIo); ok { - return x.CoerceViaIo - } - return nil +func (x Token) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *Node) GetArrayCoerceExpr() *ArrayCoerceExpr { - if x, ok := x.GetNode().(*Node_ArrayCoerceExpr); ok { - return x.ArrayCoerceExpr - } - return nil +func (Token) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[70].Descriptor() } -func (x *Node) GetConvertRowtypeExpr() *ConvertRowtypeExpr { - if x, ok := x.GetNode().(*Node_ConvertRowtypeExpr); ok { - return x.ConvertRowtypeExpr - } - return nil +func (Token) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[70] } -func (x *Node) GetCollateExpr() *CollateExpr { - if x, ok := x.GetNode().(*Node_CollateExpr); ok { - return x.CollateExpr - } - return nil +func (x Token) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *Node) GetCaseExpr() *CaseExpr { - if x, ok := x.GetNode().(*Node_CaseExpr); ok { - return x.CaseExpr - } - return nil +// Deprecated: Use Token.Descriptor instead. +func (Token) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{70} } -func (x *Node) GetCaseWhen() *CaseWhen { - if x, ok := x.GetNode().(*Node_CaseWhen); ok { - return x.CaseWhen +type SummaryResult_Context int32 + +const ( + SummaryResult_None SummaryResult_Context = 0 + SummaryResult_Select SummaryResult_Context = 1 + SummaryResult_DML SummaryResult_Context = 2 + SummaryResult_DDL SummaryResult_Context = 3 + SummaryResult_Call SummaryResult_Context = 4 +) + +// Enum value maps for SummaryResult_Context. +var ( + SummaryResult_Context_name = map[int32]string{ + 0: "None", + 1: "Select", + 2: "DML", + 3: "DDL", + 4: "Call", + } + SummaryResult_Context_value = map[string]int32{ + "None": 0, + "Select": 1, + "DML": 2, + "DDL": 3, + "Call": 4, } - return nil +) + +func (x SummaryResult_Context) Enum() *SummaryResult_Context { + p := new(SummaryResult_Context) + *p = x + return p } -func (x *Node) GetCaseTestExpr() *CaseTestExpr { - if x, ok := x.GetNode().(*Node_CaseTestExpr); ok { - return x.CaseTestExpr - } - return nil +func (x SummaryResult_Context) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *Node) GetArrayExpr() *ArrayExpr { - if x, ok := x.GetNode().(*Node_ArrayExpr); ok { - return x.ArrayExpr - } - return nil +func (SummaryResult_Context) Descriptor() protoreflect.EnumDescriptor { + return file_pg_query_proto_enumTypes[71].Descriptor() } -func (x *Node) GetRowExpr() *RowExpr { - if x, ok := x.GetNode().(*Node_RowExpr); ok { - return x.RowExpr - } - return nil +func (SummaryResult_Context) Type() protoreflect.EnumType { + return &file_pg_query_proto_enumTypes[71] } -func (x *Node) GetRowCompareExpr() *RowCompareExpr { - if x, ok := x.GetNode().(*Node_RowCompareExpr); ok { - return x.RowCompareExpr - } - return nil +func (x SummaryResult_Context) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *Node) GetCoalesceExpr() *CoalesceExpr { - if x, ok := x.GetNode().(*Node_CoalesceExpr); ok { - return x.CoalesceExpr - } - return nil +// Deprecated: Use SummaryResult_Context.Descriptor instead. +func (SummaryResult_Context) EnumDescriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{272, 0} } -func (x *Node) GetMinMaxExpr() *MinMaxExpr { - if x, ok := x.GetNode().(*Node_MinMaxExpr); ok { - return x.MinMaxExpr - } - return nil +type ParseResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Stmts []*RawStmt `protobuf:"bytes,2,rep,name=stmts,proto3" json:"stmts,omitempty"` } -func (x *Node) GetSqlvalueFunction() *SQLValueFunction { - if x, ok := x.GetNode().(*Node_SqlvalueFunction); ok { - return x.SqlvalueFunction +func (x *ParseResult) Reset() { + *x = ParseResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Node) GetXmlExpr() *XmlExpr { - if x, ok := x.GetNode().(*Node_XmlExpr); ok { - return x.XmlExpr - } - return nil +func (x *ParseResult) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Node) GetNullTest() *NullTest { - if x, ok := x.GetNode().(*Node_NullTest); ok { - return x.NullTest +func (*ParseResult) ProtoMessage() {} + +func (x *ParseResult) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Node) GetBooleanTest() *BooleanTest { - if x, ok := x.GetNode().(*Node_BooleanTest); ok { - return x.BooleanTest - } - return nil +// Deprecated: Use ParseResult.ProtoReflect.Descriptor instead. +func (*ParseResult) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{0} } -func (x *Node) GetCoerceToDomain() *CoerceToDomain { - if x, ok := x.GetNode().(*Node_CoerceToDomain); ok { - return x.CoerceToDomain +func (x *ParseResult) GetVersion() int32 { + if x != nil { + return x.Version } - return nil + return 0 } -func (x *Node) GetCoerceToDomainValue() *CoerceToDomainValue { - if x, ok := x.GetNode().(*Node_CoerceToDomainValue); ok { - return x.CoerceToDomainValue +func (x *ParseResult) GetStmts() []*RawStmt { + if x != nil { + return x.Stmts } return nil } -func (x *Node) GetSetToDefault() *SetToDefault { - if x, ok := x.GetNode().(*Node_SetToDefault); ok { - return x.SetToDefault - } - return nil +type ScanResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Tokens []*ScanToken `protobuf:"bytes,2,rep,name=tokens,proto3" json:"tokens,omitempty"` } -func (x *Node) GetCurrentOfExpr() *CurrentOfExpr { - if x, ok := x.GetNode().(*Node_CurrentOfExpr); ok { - return x.CurrentOfExpr +func (x *ScanResult) Reset() { + *x = ScanResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Node) GetNextValueExpr() *NextValueExpr { - if x, ok := x.GetNode().(*Node_NextValueExpr); ok { - return x.NextValueExpr - } - return nil -} - -func (x *Node) GetInferenceElem() *InferenceElem { - if x, ok := x.GetNode().(*Node_InferenceElem); ok { - return x.InferenceElem - } - return nil -} - -func (x *Node) GetTargetEntry() *TargetEntry { - if x, ok := x.GetNode().(*Node_TargetEntry); ok { - return x.TargetEntry - } - return nil -} - -func (x *Node) GetRangeTblRef() *RangeTblRef { - if x, ok := x.GetNode().(*Node_RangeTblRef); ok { - return x.RangeTblRef - } - return nil -} - -func (x *Node) GetJoinExpr() *JoinExpr { - if x, ok := x.GetNode().(*Node_JoinExpr); ok { - return x.JoinExpr - } - return nil -} - -func (x *Node) GetFromExpr() *FromExpr { - if x, ok := x.GetNode().(*Node_FromExpr); ok { - return x.FromExpr - } - return nil -} - -func (x *Node) GetOnConflictExpr() *OnConflictExpr { - if x, ok := x.GetNode().(*Node_OnConflictExpr); ok { - return x.OnConflictExpr - } - return nil -} - -func (x *Node) GetIntoClause() *IntoClause { - if x, ok := x.GetNode().(*Node_IntoClause); ok { - return x.IntoClause - } - return nil -} - -func (x *Node) GetMergeAction() *MergeAction { - if x, ok := x.GetNode().(*Node_MergeAction); ok { - return x.MergeAction - } - return nil -} - -func (x *Node) GetRawStmt() *RawStmt { - if x, ok := x.GetNode().(*Node_RawStmt); ok { - return x.RawStmt - } - return nil -} - -func (x *Node) GetQuery() *Query { - if x, ok := x.GetNode().(*Node_Query); ok { - return x.Query - } - return nil -} - -func (x *Node) GetInsertStmt() *InsertStmt { - if x, ok := x.GetNode().(*Node_InsertStmt); ok { - return x.InsertStmt - } - return nil -} - -func (x *Node) GetDeleteStmt() *DeleteStmt { - if x, ok := x.GetNode().(*Node_DeleteStmt); ok { - return x.DeleteStmt - } - return nil -} - -func (x *Node) GetUpdateStmt() *UpdateStmt { - if x, ok := x.GetNode().(*Node_UpdateStmt); ok { - return x.UpdateStmt - } - return nil -} - -func (x *Node) GetMergeStmt() *MergeStmt { - if x, ok := x.GetNode().(*Node_MergeStmt); ok { - return x.MergeStmt - } - return nil -} - -func (x *Node) GetSelectStmt() *SelectStmt { - if x, ok := x.GetNode().(*Node_SelectStmt); ok { - return x.SelectStmt - } - return nil -} - -func (x *Node) GetReturnStmt() *ReturnStmt { - if x, ok := x.GetNode().(*Node_ReturnStmt); ok { - return x.ReturnStmt - } - return nil -} - -func (x *Node) GetPlassignStmt() *PLAssignStmt { - if x, ok := x.GetNode().(*Node_PlassignStmt); ok { - return x.PlassignStmt - } - return nil -} - -func (x *Node) GetAlterTableStmt() *AlterTableStmt { - if x, ok := x.GetNode().(*Node_AlterTableStmt); ok { - return x.AlterTableStmt - } - return nil -} - -func (x *Node) GetAlterTableCmd() *AlterTableCmd { - if x, ok := x.GetNode().(*Node_AlterTableCmd); ok { - return x.AlterTableCmd - } - return nil -} - -func (x *Node) GetAlterDomainStmt() *AlterDomainStmt { - if x, ok := x.GetNode().(*Node_AlterDomainStmt); ok { - return x.AlterDomainStmt - } - return nil -} - -func (x *Node) GetSetOperationStmt() *SetOperationStmt { - if x, ok := x.GetNode().(*Node_SetOperationStmt); ok { - return x.SetOperationStmt - } - return nil -} - -func (x *Node) GetGrantStmt() *GrantStmt { - if x, ok := x.GetNode().(*Node_GrantStmt); ok { - return x.GrantStmt - } - return nil -} - -func (x *Node) GetGrantRoleStmt() *GrantRoleStmt { - if x, ok := x.GetNode().(*Node_GrantRoleStmt); ok { - return x.GrantRoleStmt - } - return nil -} - -func (x *Node) GetAlterDefaultPrivilegesStmt() *AlterDefaultPrivilegesStmt { - if x, ok := x.GetNode().(*Node_AlterDefaultPrivilegesStmt); ok { - return x.AlterDefaultPrivilegesStmt - } - return nil -} - -func (x *Node) GetClosePortalStmt() *ClosePortalStmt { - if x, ok := x.GetNode().(*Node_ClosePortalStmt); ok { - return x.ClosePortalStmt - } - return nil -} - -func (x *Node) GetClusterStmt() *ClusterStmt { - if x, ok := x.GetNode().(*Node_ClusterStmt); ok { - return x.ClusterStmt - } - return nil -} - -func (x *Node) GetCopyStmt() *CopyStmt { - if x, ok := x.GetNode().(*Node_CopyStmt); ok { - return x.CopyStmt - } - return nil -} - -func (x *Node) GetCreateStmt() *CreateStmt { - if x, ok := x.GetNode().(*Node_CreateStmt); ok { - return x.CreateStmt - } - return nil +func (x *ScanResult) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Node) GetDefineStmt() *DefineStmt { - if x, ok := x.GetNode().(*Node_DefineStmt); ok { - return x.DefineStmt - } - return nil -} +func (*ScanResult) ProtoMessage() {} -func (x *Node) GetDropStmt() *DropStmt { - if x, ok := x.GetNode().(*Node_DropStmt); ok { - return x.DropStmt +func (x *ScanResult) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Node) GetTruncateStmt() *TruncateStmt { - if x, ok := x.GetNode().(*Node_TruncateStmt); ok { - return x.TruncateStmt - } - return nil +// Deprecated: Use ScanResult.ProtoReflect.Descriptor instead. +func (*ScanResult) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{1} } -func (x *Node) GetCommentStmt() *CommentStmt { - if x, ok := x.GetNode().(*Node_CommentStmt); ok { - return x.CommentStmt +func (x *ScanResult) GetVersion() int32 { + if x != nil { + return x.Version } - return nil + return 0 } -func (x *Node) GetFetchStmt() *FetchStmt { - if x, ok := x.GetNode().(*Node_FetchStmt); ok { - return x.FetchStmt +func (x *ScanResult) GetTokens() []*ScanToken { + if x != nil { + return x.Tokens } return nil } -func (x *Node) GetIndexStmt() *IndexStmt { - if x, ok := x.GetNode().(*Node_IndexStmt); ok { - return x.IndexStmt - } - return nil -} +type Node struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Node) GetCreateFunctionStmt() *CreateFunctionStmt { - if x, ok := x.GetNode().(*Node_CreateFunctionStmt); ok { - return x.CreateFunctionStmt - } - return nil + // Types that are assignable to Node: + // + // *Node_Alias + // *Node_RangeVar + // *Node_TableFunc + // *Node_IntoClause + // *Node_Var + // *Node_Param + // *Node_Aggref + // *Node_GroupingFunc + // *Node_WindowFunc + // *Node_WindowFuncRunCondition + // *Node_MergeSupportFunc + // *Node_SubscriptingRef + // *Node_FuncExpr + // *Node_NamedArgExpr + // *Node_OpExpr + // *Node_DistinctExpr + // *Node_NullIfExpr + // *Node_ScalarArrayOpExpr + // *Node_BoolExpr + // *Node_SubLink + // *Node_SubPlan + // *Node_AlternativeSubPlan + // *Node_FieldSelect + // *Node_FieldStore + // *Node_RelabelType + // *Node_CoerceViaIo + // *Node_ArrayCoerceExpr + // *Node_ConvertRowtypeExpr + // *Node_CollateExpr + // *Node_CaseExpr + // *Node_CaseWhen + // *Node_CaseTestExpr + // *Node_ArrayExpr + // *Node_RowExpr + // *Node_RowCompareExpr + // *Node_CoalesceExpr + // *Node_MinMaxExpr + // *Node_SqlvalueFunction + // *Node_XmlExpr + // *Node_JsonFormat + // *Node_JsonReturning + // *Node_JsonValueExpr + // *Node_JsonConstructorExpr + // *Node_JsonIsPredicate + // *Node_JsonBehavior + // *Node_JsonExpr + // *Node_JsonTablePath + // *Node_JsonTablePathScan + // *Node_JsonTableSiblingJoin + // *Node_NullTest + // *Node_BooleanTest + // *Node_MergeAction + // *Node_CoerceToDomain + // *Node_CoerceToDomainValue + // *Node_SetToDefault + // *Node_CurrentOfExpr + // *Node_NextValueExpr + // *Node_InferenceElem + // *Node_TargetEntry + // *Node_RangeTblRef + // *Node_JoinExpr + // *Node_FromExpr + // *Node_OnConflictExpr + // *Node_Query + // *Node_TypeName + // *Node_ColumnRef + // *Node_ParamRef + // *Node_AExpr + // *Node_TypeCast + // *Node_CollateClause + // *Node_RoleSpec + // *Node_FuncCall + // *Node_AStar + // *Node_AIndices + // *Node_AIndirection + // *Node_AArrayExpr + // *Node_ResTarget + // *Node_MultiAssignRef + // *Node_SortBy + // *Node_WindowDef + // *Node_RangeSubselect + // *Node_RangeFunction + // *Node_RangeTableFunc + // *Node_RangeTableFuncCol + // *Node_RangeTableSample + // *Node_ColumnDef + // *Node_TableLikeClause + // *Node_IndexElem + // *Node_DefElem + // *Node_LockingClause + // *Node_XmlSerialize + // *Node_PartitionElem + // *Node_PartitionSpec + // *Node_PartitionBoundSpec + // *Node_PartitionRangeDatum + // *Node_SinglePartitionSpec + // *Node_PartitionCmd + // *Node_RangeTblEntry + // *Node_RtepermissionInfo + // *Node_RangeTblFunction + // *Node_TableSampleClause + // *Node_WithCheckOption + // *Node_SortGroupClause + // *Node_GroupingSet + // *Node_WindowClause + // *Node_RowMarkClause + // *Node_WithClause + // *Node_InferClause + // *Node_OnConflictClause + // *Node_CtesearchClause + // *Node_CtecycleClause + // *Node_CommonTableExpr + // *Node_MergeWhenClause + // *Node_TriggerTransition + // *Node_JsonOutput + // *Node_JsonArgument + // *Node_JsonFuncExpr + // *Node_JsonTablePathSpec + // *Node_JsonTable + // *Node_JsonTableColumn + // *Node_JsonKeyValue + // *Node_JsonParseExpr + // *Node_JsonScalarExpr + // *Node_JsonSerializeExpr + // *Node_JsonObjectConstructor + // *Node_JsonArrayConstructor + // *Node_JsonArrayQueryConstructor + // *Node_JsonAggConstructor + // *Node_JsonObjectAgg + // *Node_JsonArrayAgg + // *Node_RawStmt + // *Node_InsertStmt + // *Node_DeleteStmt + // *Node_UpdateStmt + // *Node_MergeStmt + // *Node_SelectStmt + // *Node_SetOperationStmt + // *Node_ReturnStmt + // *Node_PlassignStmt + // *Node_CreateSchemaStmt + // *Node_AlterTableStmt + // *Node_ReplicaIdentityStmt + // *Node_AlterTableCmd + // *Node_AlterCollationStmt + // *Node_AlterDomainStmt + // *Node_GrantStmt + // *Node_ObjectWithArgs + // *Node_AccessPriv + // *Node_GrantRoleStmt + // *Node_AlterDefaultPrivilegesStmt + // *Node_CopyStmt + // *Node_VariableSetStmt + // *Node_VariableShowStmt + // *Node_CreateStmt + // *Node_Constraint + // *Node_CreateTableSpaceStmt + // *Node_DropTableSpaceStmt + // *Node_AlterTableSpaceOptionsStmt + // *Node_AlterTableMoveAllStmt + // *Node_CreateExtensionStmt + // *Node_AlterExtensionStmt + // *Node_AlterExtensionContentsStmt + // *Node_CreateFdwStmt + // *Node_AlterFdwStmt + // *Node_CreateForeignServerStmt + // *Node_AlterForeignServerStmt + // *Node_CreateForeignTableStmt + // *Node_CreateUserMappingStmt + // *Node_AlterUserMappingStmt + // *Node_DropUserMappingStmt + // *Node_ImportForeignSchemaStmt + // *Node_CreatePolicyStmt + // *Node_AlterPolicyStmt + // *Node_CreateAmStmt + // *Node_CreateTrigStmt + // *Node_CreateEventTrigStmt + // *Node_AlterEventTrigStmt + // *Node_CreatePlangStmt + // *Node_CreateRoleStmt + // *Node_AlterRoleStmt + // *Node_AlterRoleSetStmt + // *Node_DropRoleStmt + // *Node_CreateSeqStmt + // *Node_AlterSeqStmt + // *Node_DefineStmt + // *Node_CreateDomainStmt + // *Node_CreateOpClassStmt + // *Node_CreateOpClassItem + // *Node_CreateOpFamilyStmt + // *Node_AlterOpFamilyStmt + // *Node_DropStmt + // *Node_TruncateStmt + // *Node_CommentStmt + // *Node_SecLabelStmt + // *Node_DeclareCursorStmt + // *Node_ClosePortalStmt + // *Node_FetchStmt + // *Node_IndexStmt + // *Node_CreateStatsStmt + // *Node_StatsElem + // *Node_AlterStatsStmt + // *Node_CreateFunctionStmt + // *Node_FunctionParameter + // *Node_AlterFunctionStmt + // *Node_DoStmt + // *Node_InlineCodeBlock + // *Node_CallStmt + // *Node_CallContext + // *Node_RenameStmt + // *Node_AlterObjectDependsStmt + // *Node_AlterObjectSchemaStmt + // *Node_AlterOwnerStmt + // *Node_AlterOperatorStmt + // *Node_AlterTypeStmt + // *Node_RuleStmt + // *Node_NotifyStmt + // *Node_ListenStmt + // *Node_UnlistenStmt + // *Node_TransactionStmt + // *Node_CompositeTypeStmt + // *Node_CreateEnumStmt + // *Node_CreateRangeStmt + // *Node_AlterEnumStmt + // *Node_ViewStmt + // *Node_LoadStmt + // *Node_CreatedbStmt + // *Node_AlterDatabaseStmt + // *Node_AlterDatabaseRefreshCollStmt + // *Node_AlterDatabaseSetStmt + // *Node_DropdbStmt + // *Node_AlterSystemStmt + // *Node_ClusterStmt + // *Node_VacuumStmt + // *Node_VacuumRelation + // *Node_ExplainStmt + // *Node_CreateTableAsStmt + // *Node_RefreshMatViewStmt + // *Node_CheckPointStmt + // *Node_DiscardStmt + // *Node_LockStmt + // *Node_ConstraintsSetStmt + // *Node_ReindexStmt + // *Node_CreateConversionStmt + // *Node_CreateCastStmt + // *Node_CreateTransformStmt + // *Node_PrepareStmt + // *Node_ExecuteStmt + // *Node_DeallocateStmt + // *Node_DropOwnedStmt + // *Node_ReassignOwnedStmt + // *Node_AlterTsdictionaryStmt + // *Node_AlterTsconfigurationStmt + // *Node_PublicationTable + // *Node_PublicationObjSpec + // *Node_CreatePublicationStmt + // *Node_AlterPublicationStmt + // *Node_CreateSubscriptionStmt + // *Node_AlterSubscriptionStmt + // *Node_DropSubscriptionStmt + // *Node_Integer + // *Node_Float + // *Node_Boolean + // *Node_String_ + // *Node_BitString + // *Node_List + // *Node_IntList + // *Node_OidList + // *Node_AConst + Node isNode_Node `protobuf_oneof:"node"` } -func (x *Node) GetAlterFunctionStmt() *AlterFunctionStmt { - if x, ok := x.GetNode().(*Node_AlterFunctionStmt); ok { - return x.AlterFunctionStmt +func (x *Node) Reset() { + *x = Node{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Node) GetDoStmt() *DoStmt { - if x, ok := x.GetNode().(*Node_DoStmt); ok { - return x.DoStmt - } - return nil +func (x *Node) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Node) GetRenameStmt() *RenameStmt { - if x, ok := x.GetNode().(*Node_RenameStmt); ok { - return x.RenameStmt +func (*Node) ProtoMessage() {} + +func (x *Node) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Node) GetRuleStmt() *RuleStmt { - if x, ok := x.GetNode().(*Node_RuleStmt); ok { - return x.RuleStmt - } - return nil +// Deprecated: Use Node.ProtoReflect.Descriptor instead. +func (*Node) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{2} } -func (x *Node) GetNotifyStmt() *NotifyStmt { - if x, ok := x.GetNode().(*Node_NotifyStmt); ok { - return x.NotifyStmt +func (m *Node) GetNode() isNode_Node { + if m != nil { + return m.Node } return nil } -func (x *Node) GetListenStmt() *ListenStmt { - if x, ok := x.GetNode().(*Node_ListenStmt); ok { - return x.ListenStmt +func (x *Node) GetAlias() *Alias { + if x, ok := x.GetNode().(*Node_Alias); ok { + return x.Alias } return nil } -func (x *Node) GetUnlistenStmt() *UnlistenStmt { - if x, ok := x.GetNode().(*Node_UnlistenStmt); ok { - return x.UnlistenStmt +func (x *Node) GetRangeVar() *RangeVar { + if x, ok := x.GetNode().(*Node_RangeVar); ok { + return x.RangeVar } return nil } -func (x *Node) GetTransactionStmt() *TransactionStmt { - if x, ok := x.GetNode().(*Node_TransactionStmt); ok { - return x.TransactionStmt +func (x *Node) GetTableFunc() *TableFunc { + if x, ok := x.GetNode().(*Node_TableFunc); ok { + return x.TableFunc } return nil } -func (x *Node) GetViewStmt() *ViewStmt { - if x, ok := x.GetNode().(*Node_ViewStmt); ok { - return x.ViewStmt +func (x *Node) GetIntoClause() *IntoClause { + if x, ok := x.GetNode().(*Node_IntoClause); ok { + return x.IntoClause } return nil } -func (x *Node) GetLoadStmt() *LoadStmt { - if x, ok := x.GetNode().(*Node_LoadStmt); ok { - return x.LoadStmt +func (x *Node) GetVar() *Var { + if x, ok := x.GetNode().(*Node_Var); ok { + return x.Var } return nil } -func (x *Node) GetCreateDomainStmt() *CreateDomainStmt { - if x, ok := x.GetNode().(*Node_CreateDomainStmt); ok { - return x.CreateDomainStmt +func (x *Node) GetParam() *Param { + if x, ok := x.GetNode().(*Node_Param); ok { + return x.Param } return nil } -func (x *Node) GetCreatedbStmt() *CreatedbStmt { - if x, ok := x.GetNode().(*Node_CreatedbStmt); ok { - return x.CreatedbStmt +func (x *Node) GetAggref() *Aggref { + if x, ok := x.GetNode().(*Node_Aggref); ok { + return x.Aggref } return nil } -func (x *Node) GetDropdbStmt() *DropdbStmt { - if x, ok := x.GetNode().(*Node_DropdbStmt); ok { - return x.DropdbStmt +func (x *Node) GetGroupingFunc() *GroupingFunc { + if x, ok := x.GetNode().(*Node_GroupingFunc); ok { + return x.GroupingFunc } return nil } -func (x *Node) GetVacuumStmt() *VacuumStmt { - if x, ok := x.GetNode().(*Node_VacuumStmt); ok { - return x.VacuumStmt +func (x *Node) GetWindowFunc() *WindowFunc { + if x, ok := x.GetNode().(*Node_WindowFunc); ok { + return x.WindowFunc } return nil } -func (x *Node) GetExplainStmt() *ExplainStmt { - if x, ok := x.GetNode().(*Node_ExplainStmt); ok { - return x.ExplainStmt +func (x *Node) GetWindowFuncRunCondition() *WindowFuncRunCondition { + if x, ok := x.GetNode().(*Node_WindowFuncRunCondition); ok { + return x.WindowFuncRunCondition } return nil } -func (x *Node) GetCreateTableAsStmt() *CreateTableAsStmt { - if x, ok := x.GetNode().(*Node_CreateTableAsStmt); ok { - return x.CreateTableAsStmt +func (x *Node) GetMergeSupportFunc() *MergeSupportFunc { + if x, ok := x.GetNode().(*Node_MergeSupportFunc); ok { + return x.MergeSupportFunc } return nil } -func (x *Node) GetCreateSeqStmt() *CreateSeqStmt { - if x, ok := x.GetNode().(*Node_CreateSeqStmt); ok { - return x.CreateSeqStmt +func (x *Node) GetSubscriptingRef() *SubscriptingRef { + if x, ok := x.GetNode().(*Node_SubscriptingRef); ok { + return x.SubscriptingRef } return nil } -func (x *Node) GetAlterSeqStmt() *AlterSeqStmt { - if x, ok := x.GetNode().(*Node_AlterSeqStmt); ok { - return x.AlterSeqStmt +func (x *Node) GetFuncExpr() *FuncExpr { + if x, ok := x.GetNode().(*Node_FuncExpr); ok { + return x.FuncExpr } return nil } -func (x *Node) GetVariableSetStmt() *VariableSetStmt { - if x, ok := x.GetNode().(*Node_VariableSetStmt); ok { - return x.VariableSetStmt +func (x *Node) GetNamedArgExpr() *NamedArgExpr { + if x, ok := x.GetNode().(*Node_NamedArgExpr); ok { + return x.NamedArgExpr } return nil } -func (x *Node) GetVariableShowStmt() *VariableShowStmt { - if x, ok := x.GetNode().(*Node_VariableShowStmt); ok { - return x.VariableShowStmt +func (x *Node) GetOpExpr() *OpExpr { + if x, ok := x.GetNode().(*Node_OpExpr); ok { + return x.OpExpr } return nil } -func (x *Node) GetDiscardStmt() *DiscardStmt { - if x, ok := x.GetNode().(*Node_DiscardStmt); ok { - return x.DiscardStmt +func (x *Node) GetDistinctExpr() *DistinctExpr { + if x, ok := x.GetNode().(*Node_DistinctExpr); ok { + return x.DistinctExpr } return nil } -func (x *Node) GetCreateTrigStmt() *CreateTrigStmt { - if x, ok := x.GetNode().(*Node_CreateTrigStmt); ok { - return x.CreateTrigStmt +func (x *Node) GetNullIfExpr() *NullIfExpr { + if x, ok := x.GetNode().(*Node_NullIfExpr); ok { + return x.NullIfExpr } return nil } -func (x *Node) GetCreatePlangStmt() *CreatePLangStmt { - if x, ok := x.GetNode().(*Node_CreatePlangStmt); ok { - return x.CreatePlangStmt +func (x *Node) GetScalarArrayOpExpr() *ScalarArrayOpExpr { + if x, ok := x.GetNode().(*Node_ScalarArrayOpExpr); ok { + return x.ScalarArrayOpExpr } return nil } -func (x *Node) GetCreateRoleStmt() *CreateRoleStmt { - if x, ok := x.GetNode().(*Node_CreateRoleStmt); ok { - return x.CreateRoleStmt +func (x *Node) GetBoolExpr() *BoolExpr { + if x, ok := x.GetNode().(*Node_BoolExpr); ok { + return x.BoolExpr } return nil } -func (x *Node) GetAlterRoleStmt() *AlterRoleStmt { - if x, ok := x.GetNode().(*Node_AlterRoleStmt); ok { - return x.AlterRoleStmt +func (x *Node) GetSubLink() *SubLink { + if x, ok := x.GetNode().(*Node_SubLink); ok { + return x.SubLink } return nil } -func (x *Node) GetDropRoleStmt() *DropRoleStmt { - if x, ok := x.GetNode().(*Node_DropRoleStmt); ok { - return x.DropRoleStmt +func (x *Node) GetSubPlan() *SubPlan { + if x, ok := x.GetNode().(*Node_SubPlan); ok { + return x.SubPlan } return nil } -func (x *Node) GetLockStmt() *LockStmt { - if x, ok := x.GetNode().(*Node_LockStmt); ok { - return x.LockStmt +func (x *Node) GetAlternativeSubPlan() *AlternativeSubPlan { + if x, ok := x.GetNode().(*Node_AlternativeSubPlan); ok { + return x.AlternativeSubPlan } return nil } -func (x *Node) GetConstraintsSetStmt() *ConstraintsSetStmt { - if x, ok := x.GetNode().(*Node_ConstraintsSetStmt); ok { - return x.ConstraintsSetStmt +func (x *Node) GetFieldSelect() *FieldSelect { + if x, ok := x.GetNode().(*Node_FieldSelect); ok { + return x.FieldSelect } return nil } -func (x *Node) GetReindexStmt() *ReindexStmt { - if x, ok := x.GetNode().(*Node_ReindexStmt); ok { - return x.ReindexStmt +func (x *Node) GetFieldStore() *FieldStore { + if x, ok := x.GetNode().(*Node_FieldStore); ok { + return x.FieldStore } return nil } -func (x *Node) GetCheckPointStmt() *CheckPointStmt { - if x, ok := x.GetNode().(*Node_CheckPointStmt); ok { - return x.CheckPointStmt +func (x *Node) GetRelabelType() *RelabelType { + if x, ok := x.GetNode().(*Node_RelabelType); ok { + return x.RelabelType } return nil } -func (x *Node) GetCreateSchemaStmt() *CreateSchemaStmt { - if x, ok := x.GetNode().(*Node_CreateSchemaStmt); ok { - return x.CreateSchemaStmt +func (x *Node) GetCoerceViaIo() *CoerceViaIO { + if x, ok := x.GetNode().(*Node_CoerceViaIo); ok { + return x.CoerceViaIo } return nil } -func (x *Node) GetAlterDatabaseStmt() *AlterDatabaseStmt { - if x, ok := x.GetNode().(*Node_AlterDatabaseStmt); ok { - return x.AlterDatabaseStmt +func (x *Node) GetArrayCoerceExpr() *ArrayCoerceExpr { + if x, ok := x.GetNode().(*Node_ArrayCoerceExpr); ok { + return x.ArrayCoerceExpr } return nil } -func (x *Node) GetAlterDatabaseRefreshCollStmt() *AlterDatabaseRefreshCollStmt { - if x, ok := x.GetNode().(*Node_AlterDatabaseRefreshCollStmt); ok { - return x.AlterDatabaseRefreshCollStmt +func (x *Node) GetConvertRowtypeExpr() *ConvertRowtypeExpr { + if x, ok := x.GetNode().(*Node_ConvertRowtypeExpr); ok { + return x.ConvertRowtypeExpr } return nil } -func (x *Node) GetAlterDatabaseSetStmt() *AlterDatabaseSetStmt { - if x, ok := x.GetNode().(*Node_AlterDatabaseSetStmt); ok { - return x.AlterDatabaseSetStmt +func (x *Node) GetCollateExpr() *CollateExpr { + if x, ok := x.GetNode().(*Node_CollateExpr); ok { + return x.CollateExpr } return nil } -func (x *Node) GetAlterRoleSetStmt() *AlterRoleSetStmt { - if x, ok := x.GetNode().(*Node_AlterRoleSetStmt); ok { - return x.AlterRoleSetStmt +func (x *Node) GetCaseExpr() *CaseExpr { + if x, ok := x.GetNode().(*Node_CaseExpr); ok { + return x.CaseExpr } return nil } -func (x *Node) GetCreateConversionStmt() *CreateConversionStmt { - if x, ok := x.GetNode().(*Node_CreateConversionStmt); ok { - return x.CreateConversionStmt +func (x *Node) GetCaseWhen() *CaseWhen { + if x, ok := x.GetNode().(*Node_CaseWhen); ok { + return x.CaseWhen } return nil } -func (x *Node) GetCreateCastStmt() *CreateCastStmt { - if x, ok := x.GetNode().(*Node_CreateCastStmt); ok { - return x.CreateCastStmt +func (x *Node) GetCaseTestExpr() *CaseTestExpr { + if x, ok := x.GetNode().(*Node_CaseTestExpr); ok { + return x.CaseTestExpr } return nil } -func (x *Node) GetCreateOpClassStmt() *CreateOpClassStmt { - if x, ok := x.GetNode().(*Node_CreateOpClassStmt); ok { - return x.CreateOpClassStmt +func (x *Node) GetArrayExpr() *ArrayExpr { + if x, ok := x.GetNode().(*Node_ArrayExpr); ok { + return x.ArrayExpr } return nil } -func (x *Node) GetCreateOpFamilyStmt() *CreateOpFamilyStmt { - if x, ok := x.GetNode().(*Node_CreateOpFamilyStmt); ok { - return x.CreateOpFamilyStmt +func (x *Node) GetRowExpr() *RowExpr { + if x, ok := x.GetNode().(*Node_RowExpr); ok { + return x.RowExpr } return nil } -func (x *Node) GetAlterOpFamilyStmt() *AlterOpFamilyStmt { - if x, ok := x.GetNode().(*Node_AlterOpFamilyStmt); ok { - return x.AlterOpFamilyStmt +func (x *Node) GetRowCompareExpr() *RowCompareExpr { + if x, ok := x.GetNode().(*Node_RowCompareExpr); ok { + return x.RowCompareExpr } return nil } -func (x *Node) GetPrepareStmt() *PrepareStmt { - if x, ok := x.GetNode().(*Node_PrepareStmt); ok { - return x.PrepareStmt +func (x *Node) GetCoalesceExpr() *CoalesceExpr { + if x, ok := x.GetNode().(*Node_CoalesceExpr); ok { + return x.CoalesceExpr } return nil } -func (x *Node) GetExecuteStmt() *ExecuteStmt { - if x, ok := x.GetNode().(*Node_ExecuteStmt); ok { - return x.ExecuteStmt +func (x *Node) GetMinMaxExpr() *MinMaxExpr { + if x, ok := x.GetNode().(*Node_MinMaxExpr); ok { + return x.MinMaxExpr } return nil } -func (x *Node) GetDeallocateStmt() *DeallocateStmt { - if x, ok := x.GetNode().(*Node_DeallocateStmt); ok { - return x.DeallocateStmt +func (x *Node) GetSqlvalueFunction() *SQLValueFunction { + if x, ok := x.GetNode().(*Node_SqlvalueFunction); ok { + return x.SqlvalueFunction } return nil } -func (x *Node) GetDeclareCursorStmt() *DeclareCursorStmt { - if x, ok := x.GetNode().(*Node_DeclareCursorStmt); ok { - return x.DeclareCursorStmt +func (x *Node) GetXmlExpr() *XmlExpr { + if x, ok := x.GetNode().(*Node_XmlExpr); ok { + return x.XmlExpr } return nil } -func (x *Node) GetCreateTableSpaceStmt() *CreateTableSpaceStmt { - if x, ok := x.GetNode().(*Node_CreateTableSpaceStmt); ok { - return x.CreateTableSpaceStmt +func (x *Node) GetJsonFormat() *JsonFormat { + if x, ok := x.GetNode().(*Node_JsonFormat); ok { + return x.JsonFormat } return nil } -func (x *Node) GetDropTableSpaceStmt() *DropTableSpaceStmt { - if x, ok := x.GetNode().(*Node_DropTableSpaceStmt); ok { - return x.DropTableSpaceStmt +func (x *Node) GetJsonReturning() *JsonReturning { + if x, ok := x.GetNode().(*Node_JsonReturning); ok { + return x.JsonReturning } return nil } -func (x *Node) GetAlterObjectDependsStmt() *AlterObjectDependsStmt { - if x, ok := x.GetNode().(*Node_AlterObjectDependsStmt); ok { - return x.AlterObjectDependsStmt +func (x *Node) GetJsonValueExpr() *JsonValueExpr { + if x, ok := x.GetNode().(*Node_JsonValueExpr); ok { + return x.JsonValueExpr } return nil } -func (x *Node) GetAlterObjectSchemaStmt() *AlterObjectSchemaStmt { - if x, ok := x.GetNode().(*Node_AlterObjectSchemaStmt); ok { - return x.AlterObjectSchemaStmt +func (x *Node) GetJsonConstructorExpr() *JsonConstructorExpr { + if x, ok := x.GetNode().(*Node_JsonConstructorExpr); ok { + return x.JsonConstructorExpr } return nil } -func (x *Node) GetAlterOwnerStmt() *AlterOwnerStmt { - if x, ok := x.GetNode().(*Node_AlterOwnerStmt); ok { - return x.AlterOwnerStmt +func (x *Node) GetJsonIsPredicate() *JsonIsPredicate { + if x, ok := x.GetNode().(*Node_JsonIsPredicate); ok { + return x.JsonIsPredicate } return nil } -func (x *Node) GetAlterOperatorStmt() *AlterOperatorStmt { - if x, ok := x.GetNode().(*Node_AlterOperatorStmt); ok { - return x.AlterOperatorStmt +func (x *Node) GetJsonBehavior() *JsonBehavior { + if x, ok := x.GetNode().(*Node_JsonBehavior); ok { + return x.JsonBehavior } return nil } -func (x *Node) GetAlterTypeStmt() *AlterTypeStmt { - if x, ok := x.GetNode().(*Node_AlterTypeStmt); ok { - return x.AlterTypeStmt +func (x *Node) GetJsonExpr() *JsonExpr { + if x, ok := x.GetNode().(*Node_JsonExpr); ok { + return x.JsonExpr } return nil } -func (x *Node) GetDropOwnedStmt() *DropOwnedStmt { - if x, ok := x.GetNode().(*Node_DropOwnedStmt); ok { - return x.DropOwnedStmt +func (x *Node) GetJsonTablePath() *JsonTablePath { + if x, ok := x.GetNode().(*Node_JsonTablePath); ok { + return x.JsonTablePath } return nil } -func (x *Node) GetReassignOwnedStmt() *ReassignOwnedStmt { - if x, ok := x.GetNode().(*Node_ReassignOwnedStmt); ok { - return x.ReassignOwnedStmt +func (x *Node) GetJsonTablePathScan() *JsonTablePathScan { + if x, ok := x.GetNode().(*Node_JsonTablePathScan); ok { + return x.JsonTablePathScan } return nil } -func (x *Node) GetCompositeTypeStmt() *CompositeTypeStmt { - if x, ok := x.GetNode().(*Node_CompositeTypeStmt); ok { - return x.CompositeTypeStmt +func (x *Node) GetJsonTableSiblingJoin() *JsonTableSiblingJoin { + if x, ok := x.GetNode().(*Node_JsonTableSiblingJoin); ok { + return x.JsonTableSiblingJoin } return nil } -func (x *Node) GetCreateEnumStmt() *CreateEnumStmt { - if x, ok := x.GetNode().(*Node_CreateEnumStmt); ok { - return x.CreateEnumStmt +func (x *Node) GetNullTest() *NullTest { + if x, ok := x.GetNode().(*Node_NullTest); ok { + return x.NullTest } return nil } -func (x *Node) GetCreateRangeStmt() *CreateRangeStmt { - if x, ok := x.GetNode().(*Node_CreateRangeStmt); ok { - return x.CreateRangeStmt +func (x *Node) GetBooleanTest() *BooleanTest { + if x, ok := x.GetNode().(*Node_BooleanTest); ok { + return x.BooleanTest } return nil } -func (x *Node) GetAlterEnumStmt() *AlterEnumStmt { - if x, ok := x.GetNode().(*Node_AlterEnumStmt); ok { - return x.AlterEnumStmt +func (x *Node) GetMergeAction() *MergeAction { + if x, ok := x.GetNode().(*Node_MergeAction); ok { + return x.MergeAction } return nil } -func (x *Node) GetAlterTsdictionaryStmt() *AlterTSDictionaryStmt { - if x, ok := x.GetNode().(*Node_AlterTsdictionaryStmt); ok { - return x.AlterTsdictionaryStmt +func (x *Node) GetCoerceToDomain() *CoerceToDomain { + if x, ok := x.GetNode().(*Node_CoerceToDomain); ok { + return x.CoerceToDomain } return nil } -func (x *Node) GetAlterTsconfigurationStmt() *AlterTSConfigurationStmt { - if x, ok := x.GetNode().(*Node_AlterTsconfigurationStmt); ok { - return x.AlterTsconfigurationStmt +func (x *Node) GetCoerceToDomainValue() *CoerceToDomainValue { + if x, ok := x.GetNode().(*Node_CoerceToDomainValue); ok { + return x.CoerceToDomainValue } return nil } -func (x *Node) GetCreateFdwStmt() *CreateFdwStmt { - if x, ok := x.GetNode().(*Node_CreateFdwStmt); ok { - return x.CreateFdwStmt +func (x *Node) GetSetToDefault() *SetToDefault { + if x, ok := x.GetNode().(*Node_SetToDefault); ok { + return x.SetToDefault } return nil } -func (x *Node) GetAlterFdwStmt() *AlterFdwStmt { - if x, ok := x.GetNode().(*Node_AlterFdwStmt); ok { - return x.AlterFdwStmt +func (x *Node) GetCurrentOfExpr() *CurrentOfExpr { + if x, ok := x.GetNode().(*Node_CurrentOfExpr); ok { + return x.CurrentOfExpr } return nil } -func (x *Node) GetCreateForeignServerStmt() *CreateForeignServerStmt { - if x, ok := x.GetNode().(*Node_CreateForeignServerStmt); ok { - return x.CreateForeignServerStmt +func (x *Node) GetNextValueExpr() *NextValueExpr { + if x, ok := x.GetNode().(*Node_NextValueExpr); ok { + return x.NextValueExpr } return nil } -func (x *Node) GetAlterForeignServerStmt() *AlterForeignServerStmt { - if x, ok := x.GetNode().(*Node_AlterForeignServerStmt); ok { - return x.AlterForeignServerStmt +func (x *Node) GetInferenceElem() *InferenceElem { + if x, ok := x.GetNode().(*Node_InferenceElem); ok { + return x.InferenceElem } return nil } -func (x *Node) GetCreateUserMappingStmt() *CreateUserMappingStmt { - if x, ok := x.GetNode().(*Node_CreateUserMappingStmt); ok { - return x.CreateUserMappingStmt +func (x *Node) GetTargetEntry() *TargetEntry { + if x, ok := x.GetNode().(*Node_TargetEntry); ok { + return x.TargetEntry } return nil } -func (x *Node) GetAlterUserMappingStmt() *AlterUserMappingStmt { - if x, ok := x.GetNode().(*Node_AlterUserMappingStmt); ok { - return x.AlterUserMappingStmt +func (x *Node) GetRangeTblRef() *RangeTblRef { + if x, ok := x.GetNode().(*Node_RangeTblRef); ok { + return x.RangeTblRef } return nil } -func (x *Node) GetDropUserMappingStmt() *DropUserMappingStmt { - if x, ok := x.GetNode().(*Node_DropUserMappingStmt); ok { - return x.DropUserMappingStmt +func (x *Node) GetJoinExpr() *JoinExpr { + if x, ok := x.GetNode().(*Node_JoinExpr); ok { + return x.JoinExpr } return nil } -func (x *Node) GetAlterTableSpaceOptionsStmt() *AlterTableSpaceOptionsStmt { - if x, ok := x.GetNode().(*Node_AlterTableSpaceOptionsStmt); ok { - return x.AlterTableSpaceOptionsStmt +func (x *Node) GetFromExpr() *FromExpr { + if x, ok := x.GetNode().(*Node_FromExpr); ok { + return x.FromExpr } return nil } -func (x *Node) GetAlterTableMoveAllStmt() *AlterTableMoveAllStmt { - if x, ok := x.GetNode().(*Node_AlterTableMoveAllStmt); ok { - return x.AlterTableMoveAllStmt +func (x *Node) GetOnConflictExpr() *OnConflictExpr { + if x, ok := x.GetNode().(*Node_OnConflictExpr); ok { + return x.OnConflictExpr } return nil } -func (x *Node) GetSecLabelStmt() *SecLabelStmt { - if x, ok := x.GetNode().(*Node_SecLabelStmt); ok { - return x.SecLabelStmt +func (x *Node) GetQuery() *Query { + if x, ok := x.GetNode().(*Node_Query); ok { + return x.Query } return nil } -func (x *Node) GetCreateForeignTableStmt() *CreateForeignTableStmt { - if x, ok := x.GetNode().(*Node_CreateForeignTableStmt); ok { - return x.CreateForeignTableStmt +func (x *Node) GetTypeName() *TypeName { + if x, ok := x.GetNode().(*Node_TypeName); ok { + return x.TypeName } return nil } -func (x *Node) GetImportForeignSchemaStmt() *ImportForeignSchemaStmt { - if x, ok := x.GetNode().(*Node_ImportForeignSchemaStmt); ok { - return x.ImportForeignSchemaStmt +func (x *Node) GetColumnRef() *ColumnRef { + if x, ok := x.GetNode().(*Node_ColumnRef); ok { + return x.ColumnRef } return nil } -func (x *Node) GetCreateExtensionStmt() *CreateExtensionStmt { - if x, ok := x.GetNode().(*Node_CreateExtensionStmt); ok { - return x.CreateExtensionStmt +func (x *Node) GetParamRef() *ParamRef { + if x, ok := x.GetNode().(*Node_ParamRef); ok { + return x.ParamRef } return nil } -func (x *Node) GetAlterExtensionStmt() *AlterExtensionStmt { - if x, ok := x.GetNode().(*Node_AlterExtensionStmt); ok { - return x.AlterExtensionStmt +func (x *Node) GetAExpr() *A_Expr { + if x, ok := x.GetNode().(*Node_AExpr); ok { + return x.AExpr } return nil } -func (x *Node) GetAlterExtensionContentsStmt() *AlterExtensionContentsStmt { - if x, ok := x.GetNode().(*Node_AlterExtensionContentsStmt); ok { - return x.AlterExtensionContentsStmt +func (x *Node) GetTypeCast() *TypeCast { + if x, ok := x.GetNode().(*Node_TypeCast); ok { + return x.TypeCast } return nil } -func (x *Node) GetCreateEventTrigStmt() *CreateEventTrigStmt { - if x, ok := x.GetNode().(*Node_CreateEventTrigStmt); ok { - return x.CreateEventTrigStmt +func (x *Node) GetCollateClause() *CollateClause { + if x, ok := x.GetNode().(*Node_CollateClause); ok { + return x.CollateClause } return nil } -func (x *Node) GetAlterEventTrigStmt() *AlterEventTrigStmt { - if x, ok := x.GetNode().(*Node_AlterEventTrigStmt); ok { - return x.AlterEventTrigStmt +func (x *Node) GetRoleSpec() *RoleSpec { + if x, ok := x.GetNode().(*Node_RoleSpec); ok { + return x.RoleSpec } return nil } -func (x *Node) GetRefreshMatViewStmt() *RefreshMatViewStmt { - if x, ok := x.GetNode().(*Node_RefreshMatViewStmt); ok { - return x.RefreshMatViewStmt +func (x *Node) GetFuncCall() *FuncCall { + if x, ok := x.GetNode().(*Node_FuncCall); ok { + return x.FuncCall } return nil } -func (x *Node) GetReplicaIdentityStmt() *ReplicaIdentityStmt { - if x, ok := x.GetNode().(*Node_ReplicaIdentityStmt); ok { - return x.ReplicaIdentityStmt +func (x *Node) GetAStar() *A_Star { + if x, ok := x.GetNode().(*Node_AStar); ok { + return x.AStar } return nil } -func (x *Node) GetAlterSystemStmt() *AlterSystemStmt { - if x, ok := x.GetNode().(*Node_AlterSystemStmt); ok { - return x.AlterSystemStmt +func (x *Node) GetAIndices() *A_Indices { + if x, ok := x.GetNode().(*Node_AIndices); ok { + return x.AIndices } return nil } -func (x *Node) GetCreatePolicyStmt() *CreatePolicyStmt { - if x, ok := x.GetNode().(*Node_CreatePolicyStmt); ok { - return x.CreatePolicyStmt +func (x *Node) GetAIndirection() *A_Indirection { + if x, ok := x.GetNode().(*Node_AIndirection); ok { + return x.AIndirection } return nil } -func (x *Node) GetAlterPolicyStmt() *AlterPolicyStmt { - if x, ok := x.GetNode().(*Node_AlterPolicyStmt); ok { - return x.AlterPolicyStmt +func (x *Node) GetAArrayExpr() *A_ArrayExpr { + if x, ok := x.GetNode().(*Node_AArrayExpr); ok { + return x.AArrayExpr } return nil } -func (x *Node) GetCreateTransformStmt() *CreateTransformStmt { - if x, ok := x.GetNode().(*Node_CreateTransformStmt); ok { - return x.CreateTransformStmt +func (x *Node) GetResTarget() *ResTarget { + if x, ok := x.GetNode().(*Node_ResTarget); ok { + return x.ResTarget } return nil } -func (x *Node) GetCreateAmStmt() *CreateAmStmt { - if x, ok := x.GetNode().(*Node_CreateAmStmt); ok { - return x.CreateAmStmt +func (x *Node) GetMultiAssignRef() *MultiAssignRef { + if x, ok := x.GetNode().(*Node_MultiAssignRef); ok { + return x.MultiAssignRef } return nil } -func (x *Node) GetCreatePublicationStmt() *CreatePublicationStmt { - if x, ok := x.GetNode().(*Node_CreatePublicationStmt); ok { - return x.CreatePublicationStmt +func (x *Node) GetSortBy() *SortBy { + if x, ok := x.GetNode().(*Node_SortBy); ok { + return x.SortBy } return nil } -func (x *Node) GetAlterPublicationStmt() *AlterPublicationStmt { - if x, ok := x.GetNode().(*Node_AlterPublicationStmt); ok { - return x.AlterPublicationStmt +func (x *Node) GetWindowDef() *WindowDef { + if x, ok := x.GetNode().(*Node_WindowDef); ok { + return x.WindowDef } return nil } -func (x *Node) GetCreateSubscriptionStmt() *CreateSubscriptionStmt { - if x, ok := x.GetNode().(*Node_CreateSubscriptionStmt); ok { - return x.CreateSubscriptionStmt +func (x *Node) GetRangeSubselect() *RangeSubselect { + if x, ok := x.GetNode().(*Node_RangeSubselect); ok { + return x.RangeSubselect } return nil } -func (x *Node) GetAlterSubscriptionStmt() *AlterSubscriptionStmt { - if x, ok := x.GetNode().(*Node_AlterSubscriptionStmt); ok { - return x.AlterSubscriptionStmt +func (x *Node) GetRangeFunction() *RangeFunction { + if x, ok := x.GetNode().(*Node_RangeFunction); ok { + return x.RangeFunction } return nil } -func (x *Node) GetDropSubscriptionStmt() *DropSubscriptionStmt { - if x, ok := x.GetNode().(*Node_DropSubscriptionStmt); ok { - return x.DropSubscriptionStmt +func (x *Node) GetRangeTableFunc() *RangeTableFunc { + if x, ok := x.GetNode().(*Node_RangeTableFunc); ok { + return x.RangeTableFunc } return nil } -func (x *Node) GetCreateStatsStmt() *CreateStatsStmt { - if x, ok := x.GetNode().(*Node_CreateStatsStmt); ok { - return x.CreateStatsStmt +func (x *Node) GetRangeTableFuncCol() *RangeTableFuncCol { + if x, ok := x.GetNode().(*Node_RangeTableFuncCol); ok { + return x.RangeTableFuncCol } return nil } -func (x *Node) GetAlterCollationStmt() *AlterCollationStmt { - if x, ok := x.GetNode().(*Node_AlterCollationStmt); ok { - return x.AlterCollationStmt +func (x *Node) GetRangeTableSample() *RangeTableSample { + if x, ok := x.GetNode().(*Node_RangeTableSample); ok { + return x.RangeTableSample } return nil } -func (x *Node) GetCallStmt() *CallStmt { - if x, ok := x.GetNode().(*Node_CallStmt); ok { - return x.CallStmt - } - return nil -} - -func (x *Node) GetAlterStatsStmt() *AlterStatsStmt { - if x, ok := x.GetNode().(*Node_AlterStatsStmt); ok { - return x.AlterStatsStmt +func (x *Node) GetColumnDef() *ColumnDef { + if x, ok := x.GetNode().(*Node_ColumnDef); ok { + return x.ColumnDef } return nil } -func (x *Node) GetAExpr() *A_Expr { - if x, ok := x.GetNode().(*Node_AExpr); ok { - return x.AExpr +func (x *Node) GetTableLikeClause() *TableLikeClause { + if x, ok := x.GetNode().(*Node_TableLikeClause); ok { + return x.TableLikeClause } return nil } -func (x *Node) GetColumnRef() *ColumnRef { - if x, ok := x.GetNode().(*Node_ColumnRef); ok { - return x.ColumnRef +func (x *Node) GetIndexElem() *IndexElem { + if x, ok := x.GetNode().(*Node_IndexElem); ok { + return x.IndexElem } return nil } -func (x *Node) GetParamRef() *ParamRef { - if x, ok := x.GetNode().(*Node_ParamRef); ok { - return x.ParamRef +func (x *Node) GetDefElem() *DefElem { + if x, ok := x.GetNode().(*Node_DefElem); ok { + return x.DefElem } return nil } -func (x *Node) GetFuncCall() *FuncCall { - if x, ok := x.GetNode().(*Node_FuncCall); ok { - return x.FuncCall +func (x *Node) GetLockingClause() *LockingClause { + if x, ok := x.GetNode().(*Node_LockingClause); ok { + return x.LockingClause } return nil } -func (x *Node) GetAStar() *A_Star { - if x, ok := x.GetNode().(*Node_AStar); ok { - return x.AStar +func (x *Node) GetXmlSerialize() *XmlSerialize { + if x, ok := x.GetNode().(*Node_XmlSerialize); ok { + return x.XmlSerialize } return nil } -func (x *Node) GetAIndices() *A_Indices { - if x, ok := x.GetNode().(*Node_AIndices); ok { - return x.AIndices +func (x *Node) GetPartitionElem() *PartitionElem { + if x, ok := x.GetNode().(*Node_PartitionElem); ok { + return x.PartitionElem } return nil } -func (x *Node) GetAIndirection() *A_Indirection { - if x, ok := x.GetNode().(*Node_AIndirection); ok { - return x.AIndirection +func (x *Node) GetPartitionSpec() *PartitionSpec { + if x, ok := x.GetNode().(*Node_PartitionSpec); ok { + return x.PartitionSpec } return nil } -func (x *Node) GetAArrayExpr() *A_ArrayExpr { - if x, ok := x.GetNode().(*Node_AArrayExpr); ok { - return x.AArrayExpr +func (x *Node) GetPartitionBoundSpec() *PartitionBoundSpec { + if x, ok := x.GetNode().(*Node_PartitionBoundSpec); ok { + return x.PartitionBoundSpec } return nil } -func (x *Node) GetResTarget() *ResTarget { - if x, ok := x.GetNode().(*Node_ResTarget); ok { - return x.ResTarget +func (x *Node) GetPartitionRangeDatum() *PartitionRangeDatum { + if x, ok := x.GetNode().(*Node_PartitionRangeDatum); ok { + return x.PartitionRangeDatum } return nil } -func (x *Node) GetMultiAssignRef() *MultiAssignRef { - if x, ok := x.GetNode().(*Node_MultiAssignRef); ok { - return x.MultiAssignRef +func (x *Node) GetSinglePartitionSpec() *SinglePartitionSpec { + if x, ok := x.GetNode().(*Node_SinglePartitionSpec); ok { + return x.SinglePartitionSpec } return nil } -func (x *Node) GetTypeCast() *TypeCast { - if x, ok := x.GetNode().(*Node_TypeCast); ok { - return x.TypeCast +func (x *Node) GetPartitionCmd() *PartitionCmd { + if x, ok := x.GetNode().(*Node_PartitionCmd); ok { + return x.PartitionCmd } return nil } -func (x *Node) GetCollateClause() *CollateClause { - if x, ok := x.GetNode().(*Node_CollateClause); ok { - return x.CollateClause +func (x *Node) GetRangeTblEntry() *RangeTblEntry { + if x, ok := x.GetNode().(*Node_RangeTblEntry); ok { + return x.RangeTblEntry } return nil } -func (x *Node) GetSortBy() *SortBy { - if x, ok := x.GetNode().(*Node_SortBy); ok { - return x.SortBy +func (x *Node) GetRtepermissionInfo() *RTEPermissionInfo { + if x, ok := x.GetNode().(*Node_RtepermissionInfo); ok { + return x.RtepermissionInfo } return nil } -func (x *Node) GetWindowDef() *WindowDef { - if x, ok := x.GetNode().(*Node_WindowDef); ok { - return x.WindowDef +func (x *Node) GetRangeTblFunction() *RangeTblFunction { + if x, ok := x.GetNode().(*Node_RangeTblFunction); ok { + return x.RangeTblFunction } return nil } -func (x *Node) GetRangeSubselect() *RangeSubselect { - if x, ok := x.GetNode().(*Node_RangeSubselect); ok { - return x.RangeSubselect +func (x *Node) GetTableSampleClause() *TableSampleClause { + if x, ok := x.GetNode().(*Node_TableSampleClause); ok { + return x.TableSampleClause } return nil } -func (x *Node) GetRangeFunction() *RangeFunction { - if x, ok := x.GetNode().(*Node_RangeFunction); ok { - return x.RangeFunction +func (x *Node) GetWithCheckOption() *WithCheckOption { + if x, ok := x.GetNode().(*Node_WithCheckOption); ok { + return x.WithCheckOption } return nil } -func (x *Node) GetRangeTableSample() *RangeTableSample { - if x, ok := x.GetNode().(*Node_RangeTableSample); ok { - return x.RangeTableSample +func (x *Node) GetSortGroupClause() *SortGroupClause { + if x, ok := x.GetNode().(*Node_SortGroupClause); ok { + return x.SortGroupClause } return nil } -func (x *Node) GetRangeTableFunc() *RangeTableFunc { - if x, ok := x.GetNode().(*Node_RangeTableFunc); ok { - return x.RangeTableFunc +func (x *Node) GetGroupingSet() *GroupingSet { + if x, ok := x.GetNode().(*Node_GroupingSet); ok { + return x.GroupingSet } return nil } -func (x *Node) GetRangeTableFuncCol() *RangeTableFuncCol { - if x, ok := x.GetNode().(*Node_RangeTableFuncCol); ok { - return x.RangeTableFuncCol +func (x *Node) GetWindowClause() *WindowClause { + if x, ok := x.GetNode().(*Node_WindowClause); ok { + return x.WindowClause } return nil } -func (x *Node) GetTypeName() *TypeName { - if x, ok := x.GetNode().(*Node_TypeName); ok { - return x.TypeName +func (x *Node) GetRowMarkClause() *RowMarkClause { + if x, ok := x.GetNode().(*Node_RowMarkClause); ok { + return x.RowMarkClause } return nil } -func (x *Node) GetColumnDef() *ColumnDef { - if x, ok := x.GetNode().(*Node_ColumnDef); ok { - return x.ColumnDef +func (x *Node) GetWithClause() *WithClause { + if x, ok := x.GetNode().(*Node_WithClause); ok { + return x.WithClause } return nil } -func (x *Node) GetIndexElem() *IndexElem { - if x, ok := x.GetNode().(*Node_IndexElem); ok { - return x.IndexElem +func (x *Node) GetInferClause() *InferClause { + if x, ok := x.GetNode().(*Node_InferClause); ok { + return x.InferClause } return nil } -func (x *Node) GetStatsElem() *StatsElem { - if x, ok := x.GetNode().(*Node_StatsElem); ok { - return x.StatsElem +func (x *Node) GetOnConflictClause() *OnConflictClause { + if x, ok := x.GetNode().(*Node_OnConflictClause); ok { + return x.OnConflictClause } return nil } -func (x *Node) GetConstraint() *Constraint { - if x, ok := x.GetNode().(*Node_Constraint); ok { - return x.Constraint +func (x *Node) GetCtesearchClause() *CTESearchClause { + if x, ok := x.GetNode().(*Node_CtesearchClause); ok { + return x.CtesearchClause } return nil } -func (x *Node) GetDefElem() *DefElem { - if x, ok := x.GetNode().(*Node_DefElem); ok { - return x.DefElem +func (x *Node) GetCtecycleClause() *CTECycleClause { + if x, ok := x.GetNode().(*Node_CtecycleClause); ok { + return x.CtecycleClause } return nil } -func (x *Node) GetRangeTblEntry() *RangeTblEntry { - if x, ok := x.GetNode().(*Node_RangeTblEntry); ok { - return x.RangeTblEntry +func (x *Node) GetCommonTableExpr() *CommonTableExpr { + if x, ok := x.GetNode().(*Node_CommonTableExpr); ok { + return x.CommonTableExpr } return nil } -func (x *Node) GetRangeTblFunction() *RangeTblFunction { - if x, ok := x.GetNode().(*Node_RangeTblFunction); ok { - return x.RangeTblFunction +func (x *Node) GetMergeWhenClause() *MergeWhenClause { + if x, ok := x.GetNode().(*Node_MergeWhenClause); ok { + return x.MergeWhenClause } return nil } -func (x *Node) GetTableSampleClause() *TableSampleClause { - if x, ok := x.GetNode().(*Node_TableSampleClause); ok { - return x.TableSampleClause +func (x *Node) GetTriggerTransition() *TriggerTransition { + if x, ok := x.GetNode().(*Node_TriggerTransition); ok { + return x.TriggerTransition } return nil } -func (x *Node) GetWithCheckOption() *WithCheckOption { - if x, ok := x.GetNode().(*Node_WithCheckOption); ok { - return x.WithCheckOption +func (x *Node) GetJsonOutput() *JsonOutput { + if x, ok := x.GetNode().(*Node_JsonOutput); ok { + return x.JsonOutput } return nil } -func (x *Node) GetSortGroupClause() *SortGroupClause { - if x, ok := x.GetNode().(*Node_SortGroupClause); ok { - return x.SortGroupClause +func (x *Node) GetJsonArgument() *JsonArgument { + if x, ok := x.GetNode().(*Node_JsonArgument); ok { + return x.JsonArgument } return nil } -func (x *Node) GetGroupingSet() *GroupingSet { - if x, ok := x.GetNode().(*Node_GroupingSet); ok { - return x.GroupingSet +func (x *Node) GetJsonFuncExpr() *JsonFuncExpr { + if x, ok := x.GetNode().(*Node_JsonFuncExpr); ok { + return x.JsonFuncExpr } return nil } -func (x *Node) GetWindowClause() *WindowClause { - if x, ok := x.GetNode().(*Node_WindowClause); ok { - return x.WindowClause +func (x *Node) GetJsonTablePathSpec() *JsonTablePathSpec { + if x, ok := x.GetNode().(*Node_JsonTablePathSpec); ok { + return x.JsonTablePathSpec } return nil } -func (x *Node) GetObjectWithArgs() *ObjectWithArgs { - if x, ok := x.GetNode().(*Node_ObjectWithArgs); ok { - return x.ObjectWithArgs +func (x *Node) GetJsonTable() *JsonTable { + if x, ok := x.GetNode().(*Node_JsonTable); ok { + return x.JsonTable } return nil } -func (x *Node) GetAccessPriv() *AccessPriv { - if x, ok := x.GetNode().(*Node_AccessPriv); ok { - return x.AccessPriv +func (x *Node) GetJsonTableColumn() *JsonTableColumn { + if x, ok := x.GetNode().(*Node_JsonTableColumn); ok { + return x.JsonTableColumn } return nil } -func (x *Node) GetCreateOpClassItem() *CreateOpClassItem { - if x, ok := x.GetNode().(*Node_CreateOpClassItem); ok { - return x.CreateOpClassItem +func (x *Node) GetJsonKeyValue() *JsonKeyValue { + if x, ok := x.GetNode().(*Node_JsonKeyValue); ok { + return x.JsonKeyValue } return nil } -func (x *Node) GetTableLikeClause() *TableLikeClause { - if x, ok := x.GetNode().(*Node_TableLikeClause); ok { - return x.TableLikeClause +func (x *Node) GetJsonParseExpr() *JsonParseExpr { + if x, ok := x.GetNode().(*Node_JsonParseExpr); ok { + return x.JsonParseExpr } return nil } -func (x *Node) GetFunctionParameter() *FunctionParameter { - if x, ok := x.GetNode().(*Node_FunctionParameter); ok { - return x.FunctionParameter +func (x *Node) GetJsonScalarExpr() *JsonScalarExpr { + if x, ok := x.GetNode().(*Node_JsonScalarExpr); ok { + return x.JsonScalarExpr } return nil } -func (x *Node) GetLockingClause() *LockingClause { - if x, ok := x.GetNode().(*Node_LockingClause); ok { - return x.LockingClause +func (x *Node) GetJsonSerializeExpr() *JsonSerializeExpr { + if x, ok := x.GetNode().(*Node_JsonSerializeExpr); ok { + return x.JsonSerializeExpr } return nil } -func (x *Node) GetRowMarkClause() *RowMarkClause { - if x, ok := x.GetNode().(*Node_RowMarkClause); ok { - return x.RowMarkClause +func (x *Node) GetJsonObjectConstructor() *JsonObjectConstructor { + if x, ok := x.GetNode().(*Node_JsonObjectConstructor); ok { + return x.JsonObjectConstructor } return nil } -func (x *Node) GetXmlSerialize() *XmlSerialize { - if x, ok := x.GetNode().(*Node_XmlSerialize); ok { - return x.XmlSerialize +func (x *Node) GetJsonArrayConstructor() *JsonArrayConstructor { + if x, ok := x.GetNode().(*Node_JsonArrayConstructor); ok { + return x.JsonArrayConstructor } return nil } -func (x *Node) GetWithClause() *WithClause { - if x, ok := x.GetNode().(*Node_WithClause); ok { - return x.WithClause +func (x *Node) GetJsonArrayQueryConstructor() *JsonArrayQueryConstructor { + if x, ok := x.GetNode().(*Node_JsonArrayQueryConstructor); ok { + return x.JsonArrayQueryConstructor } return nil } -func (x *Node) GetInferClause() *InferClause { - if x, ok := x.GetNode().(*Node_InferClause); ok { - return x.InferClause +func (x *Node) GetJsonAggConstructor() *JsonAggConstructor { + if x, ok := x.GetNode().(*Node_JsonAggConstructor); ok { + return x.JsonAggConstructor } return nil } -func (x *Node) GetOnConflictClause() *OnConflictClause { - if x, ok := x.GetNode().(*Node_OnConflictClause); ok { - return x.OnConflictClause +func (x *Node) GetJsonObjectAgg() *JsonObjectAgg { + if x, ok := x.GetNode().(*Node_JsonObjectAgg); ok { + return x.JsonObjectAgg } return nil } -func (x *Node) GetCtesearchClause() *CTESearchClause { - if x, ok := x.GetNode().(*Node_CtesearchClause); ok { - return x.CtesearchClause +func (x *Node) GetJsonArrayAgg() *JsonArrayAgg { + if x, ok := x.GetNode().(*Node_JsonArrayAgg); ok { + return x.JsonArrayAgg } return nil } -func (x *Node) GetCtecycleClause() *CTECycleClause { - if x, ok := x.GetNode().(*Node_CtecycleClause); ok { - return x.CtecycleClause +func (x *Node) GetRawStmt() *RawStmt { + if x, ok := x.GetNode().(*Node_RawStmt); ok { + return x.RawStmt } return nil } -func (x *Node) GetCommonTableExpr() *CommonTableExpr { - if x, ok := x.GetNode().(*Node_CommonTableExpr); ok { - return x.CommonTableExpr +func (x *Node) GetInsertStmt() *InsertStmt { + if x, ok := x.GetNode().(*Node_InsertStmt); ok { + return x.InsertStmt } return nil } -func (x *Node) GetMergeWhenClause() *MergeWhenClause { - if x, ok := x.GetNode().(*Node_MergeWhenClause); ok { - return x.MergeWhenClause +func (x *Node) GetDeleteStmt() *DeleteStmt { + if x, ok := x.GetNode().(*Node_DeleteStmt); ok { + return x.DeleteStmt } return nil } -func (x *Node) GetRoleSpec() *RoleSpec { - if x, ok := x.GetNode().(*Node_RoleSpec); ok { - return x.RoleSpec +func (x *Node) GetUpdateStmt() *UpdateStmt { + if x, ok := x.GetNode().(*Node_UpdateStmt); ok { + return x.UpdateStmt } return nil } -func (x *Node) GetTriggerTransition() *TriggerTransition { - if x, ok := x.GetNode().(*Node_TriggerTransition); ok { - return x.TriggerTransition +func (x *Node) GetMergeStmt() *MergeStmt { + if x, ok := x.GetNode().(*Node_MergeStmt); ok { + return x.MergeStmt } return nil } -func (x *Node) GetPartitionElem() *PartitionElem { - if x, ok := x.GetNode().(*Node_PartitionElem); ok { - return x.PartitionElem +func (x *Node) GetSelectStmt() *SelectStmt { + if x, ok := x.GetNode().(*Node_SelectStmt); ok { + return x.SelectStmt } return nil } -func (x *Node) GetPartitionSpec() *PartitionSpec { - if x, ok := x.GetNode().(*Node_PartitionSpec); ok { - return x.PartitionSpec +func (x *Node) GetSetOperationStmt() *SetOperationStmt { + if x, ok := x.GetNode().(*Node_SetOperationStmt); ok { + return x.SetOperationStmt } return nil } -func (x *Node) GetPartitionBoundSpec() *PartitionBoundSpec { - if x, ok := x.GetNode().(*Node_PartitionBoundSpec); ok { - return x.PartitionBoundSpec +func (x *Node) GetReturnStmt() *ReturnStmt { + if x, ok := x.GetNode().(*Node_ReturnStmt); ok { + return x.ReturnStmt } return nil } -func (x *Node) GetPartitionRangeDatum() *PartitionRangeDatum { - if x, ok := x.GetNode().(*Node_PartitionRangeDatum); ok { - return x.PartitionRangeDatum +func (x *Node) GetPlassignStmt() *PLAssignStmt { + if x, ok := x.GetNode().(*Node_PlassignStmt); ok { + return x.PlassignStmt } return nil } -func (x *Node) GetPartitionCmd() *PartitionCmd { - if x, ok := x.GetNode().(*Node_PartitionCmd); ok { - return x.PartitionCmd +func (x *Node) GetCreateSchemaStmt() *CreateSchemaStmt { + if x, ok := x.GetNode().(*Node_CreateSchemaStmt); ok { + return x.CreateSchemaStmt } return nil } -func (x *Node) GetVacuumRelation() *VacuumRelation { - if x, ok := x.GetNode().(*Node_VacuumRelation); ok { - return x.VacuumRelation +func (x *Node) GetAlterTableStmt() *AlterTableStmt { + if x, ok := x.GetNode().(*Node_AlterTableStmt); ok { + return x.AlterTableStmt } return nil } -func (x *Node) GetPublicationObjSpec() *PublicationObjSpec { - if x, ok := x.GetNode().(*Node_PublicationObjSpec); ok { - return x.PublicationObjSpec +func (x *Node) GetReplicaIdentityStmt() *ReplicaIdentityStmt { + if x, ok := x.GetNode().(*Node_ReplicaIdentityStmt); ok { + return x.ReplicaIdentityStmt } return nil } -func (x *Node) GetPublicationTable() *PublicationTable { - if x, ok := x.GetNode().(*Node_PublicationTable); ok { - return x.PublicationTable +func (x *Node) GetAlterTableCmd() *AlterTableCmd { + if x, ok := x.GetNode().(*Node_AlterTableCmd); ok { + return x.AlterTableCmd } return nil } -func (x *Node) GetInlineCodeBlock() *InlineCodeBlock { - if x, ok := x.GetNode().(*Node_InlineCodeBlock); ok { - return x.InlineCodeBlock +func (x *Node) GetAlterCollationStmt() *AlterCollationStmt { + if x, ok := x.GetNode().(*Node_AlterCollationStmt); ok { + return x.AlterCollationStmt } return nil } -func (x *Node) GetCallContext() *CallContext { - if x, ok := x.GetNode().(*Node_CallContext); ok { - return x.CallContext +func (x *Node) GetAlterDomainStmt() *AlterDomainStmt { + if x, ok := x.GetNode().(*Node_AlterDomainStmt); ok { + return x.AlterDomainStmt } return nil } -func (x *Node) GetInteger() *Integer { - if x, ok := x.GetNode().(*Node_Integer); ok { - return x.Integer +func (x *Node) GetGrantStmt() *GrantStmt { + if x, ok := x.GetNode().(*Node_GrantStmt); ok { + return x.GrantStmt } return nil } -func (x *Node) GetFloat() *Float { - if x, ok := x.GetNode().(*Node_Float); ok { - return x.Float +func (x *Node) GetObjectWithArgs() *ObjectWithArgs { + if x, ok := x.GetNode().(*Node_ObjectWithArgs); ok { + return x.ObjectWithArgs } return nil } -func (x *Node) GetBoolean() *Boolean { - if x, ok := x.GetNode().(*Node_Boolean); ok { - return x.Boolean +func (x *Node) GetAccessPriv() *AccessPriv { + if x, ok := x.GetNode().(*Node_AccessPriv); ok { + return x.AccessPriv } return nil } -func (x *Node) GetString_() *String { - if x, ok := x.GetNode().(*Node_String_); ok { - return x.String_ +func (x *Node) GetGrantRoleStmt() *GrantRoleStmt { + if x, ok := x.GetNode().(*Node_GrantRoleStmt); ok { + return x.GrantRoleStmt } return nil } -func (x *Node) GetBitString() *BitString { - if x, ok := x.GetNode().(*Node_BitString); ok { - return x.BitString +func (x *Node) GetAlterDefaultPrivilegesStmt() *AlterDefaultPrivilegesStmt { + if x, ok := x.GetNode().(*Node_AlterDefaultPrivilegesStmt); ok { + return x.AlterDefaultPrivilegesStmt } return nil } -func (x *Node) GetList() *List { - if x, ok := x.GetNode().(*Node_List); ok { - return x.List +func (x *Node) GetCopyStmt() *CopyStmt { + if x, ok := x.GetNode().(*Node_CopyStmt); ok { + return x.CopyStmt } return nil } -func (x *Node) GetIntList() *IntList { - if x, ok := x.GetNode().(*Node_IntList); ok { - return x.IntList +func (x *Node) GetVariableSetStmt() *VariableSetStmt { + if x, ok := x.GetNode().(*Node_VariableSetStmt); ok { + return x.VariableSetStmt } return nil } -func (x *Node) GetOidList() *OidList { - if x, ok := x.GetNode().(*Node_OidList); ok { - return x.OidList +func (x *Node) GetVariableShowStmt() *VariableShowStmt { + if x, ok := x.GetNode().(*Node_VariableShowStmt); ok { + return x.VariableShowStmt } return nil } -func (x *Node) GetAConst() *A_Const { - if x, ok := x.GetNode().(*Node_AConst); ok { - return x.AConst +func (x *Node) GetCreateStmt() *CreateStmt { + if x, ok := x.GetNode().(*Node_CreateStmt); ok { + return x.CreateStmt } return nil } -type isNode_Node interface { - isNode_Node() +func (x *Node) GetConstraint() *Constraint { + if x, ok := x.GetNode().(*Node_Constraint); ok { + return x.Constraint + } + return nil } -type Node_Alias struct { - Alias *Alias `protobuf:"bytes,1,opt,name=alias,json=Alias,proto3,oneof"` +func (x *Node) GetCreateTableSpaceStmt() *CreateTableSpaceStmt { + if x, ok := x.GetNode().(*Node_CreateTableSpaceStmt); ok { + return x.CreateTableSpaceStmt + } + return nil } -type Node_RangeVar struct { - RangeVar *RangeVar `protobuf:"bytes,2,opt,name=range_var,json=RangeVar,proto3,oneof"` +func (x *Node) GetDropTableSpaceStmt() *DropTableSpaceStmt { + if x, ok := x.GetNode().(*Node_DropTableSpaceStmt); ok { + return x.DropTableSpaceStmt + } + return nil } -type Node_TableFunc struct { - TableFunc *TableFunc `protobuf:"bytes,3,opt,name=table_func,json=TableFunc,proto3,oneof"` +func (x *Node) GetAlterTableSpaceOptionsStmt() *AlterTableSpaceOptionsStmt { + if x, ok := x.GetNode().(*Node_AlterTableSpaceOptionsStmt); ok { + return x.AlterTableSpaceOptionsStmt + } + return nil } -type Node_Var struct { - Var *Var `protobuf:"bytes,4,opt,name=var,json=Var,proto3,oneof"` +func (x *Node) GetAlterTableMoveAllStmt() *AlterTableMoveAllStmt { + if x, ok := x.GetNode().(*Node_AlterTableMoveAllStmt); ok { + return x.AlterTableMoveAllStmt + } + return nil } -type Node_Param struct { - Param *Param `protobuf:"bytes,5,opt,name=param,json=Param,proto3,oneof"` +func (x *Node) GetCreateExtensionStmt() *CreateExtensionStmt { + if x, ok := x.GetNode().(*Node_CreateExtensionStmt); ok { + return x.CreateExtensionStmt + } + return nil } -type Node_Aggref struct { - Aggref *Aggref `protobuf:"bytes,6,opt,name=aggref,json=Aggref,proto3,oneof"` +func (x *Node) GetAlterExtensionStmt() *AlterExtensionStmt { + if x, ok := x.GetNode().(*Node_AlterExtensionStmt); ok { + return x.AlterExtensionStmt + } + return nil } -type Node_GroupingFunc struct { - GroupingFunc *GroupingFunc `protobuf:"bytes,7,opt,name=grouping_func,json=GroupingFunc,proto3,oneof"` +func (x *Node) GetAlterExtensionContentsStmt() *AlterExtensionContentsStmt { + if x, ok := x.GetNode().(*Node_AlterExtensionContentsStmt); ok { + return x.AlterExtensionContentsStmt + } + return nil } -type Node_WindowFunc struct { - WindowFunc *WindowFunc `protobuf:"bytes,8,opt,name=window_func,json=WindowFunc,proto3,oneof"` +func (x *Node) GetCreateFdwStmt() *CreateFdwStmt { + if x, ok := x.GetNode().(*Node_CreateFdwStmt); ok { + return x.CreateFdwStmt + } + return nil } -type Node_SubscriptingRef struct { - SubscriptingRef *SubscriptingRef `protobuf:"bytes,9,opt,name=subscripting_ref,json=SubscriptingRef,proto3,oneof"` +func (x *Node) GetAlterFdwStmt() *AlterFdwStmt { + if x, ok := x.GetNode().(*Node_AlterFdwStmt); ok { + return x.AlterFdwStmt + } + return nil } -type Node_FuncExpr struct { - FuncExpr *FuncExpr `protobuf:"bytes,10,opt,name=func_expr,json=FuncExpr,proto3,oneof"` +func (x *Node) GetCreateForeignServerStmt() *CreateForeignServerStmt { + if x, ok := x.GetNode().(*Node_CreateForeignServerStmt); ok { + return x.CreateForeignServerStmt + } + return nil } -type Node_NamedArgExpr struct { - NamedArgExpr *NamedArgExpr `protobuf:"bytes,11,opt,name=named_arg_expr,json=NamedArgExpr,proto3,oneof"` +func (x *Node) GetAlterForeignServerStmt() *AlterForeignServerStmt { + if x, ok := x.GetNode().(*Node_AlterForeignServerStmt); ok { + return x.AlterForeignServerStmt + } + return nil } -type Node_OpExpr struct { - OpExpr *OpExpr `protobuf:"bytes,12,opt,name=op_expr,json=OpExpr,proto3,oneof"` +func (x *Node) GetCreateForeignTableStmt() *CreateForeignTableStmt { + if x, ok := x.GetNode().(*Node_CreateForeignTableStmt); ok { + return x.CreateForeignTableStmt + } + return nil } -type Node_DistinctExpr struct { - DistinctExpr *DistinctExpr `protobuf:"bytes,13,opt,name=distinct_expr,json=DistinctExpr,proto3,oneof"` +func (x *Node) GetCreateUserMappingStmt() *CreateUserMappingStmt { + if x, ok := x.GetNode().(*Node_CreateUserMappingStmt); ok { + return x.CreateUserMappingStmt + } + return nil } -type Node_NullIfExpr struct { - NullIfExpr *NullIfExpr `protobuf:"bytes,14,opt,name=null_if_expr,json=NullIfExpr,proto3,oneof"` +func (x *Node) GetAlterUserMappingStmt() *AlterUserMappingStmt { + if x, ok := x.GetNode().(*Node_AlterUserMappingStmt); ok { + return x.AlterUserMappingStmt + } + return nil } -type Node_ScalarArrayOpExpr struct { - ScalarArrayOpExpr *ScalarArrayOpExpr `protobuf:"bytes,15,opt,name=scalar_array_op_expr,json=ScalarArrayOpExpr,proto3,oneof"` +func (x *Node) GetDropUserMappingStmt() *DropUserMappingStmt { + if x, ok := x.GetNode().(*Node_DropUserMappingStmt); ok { + return x.DropUserMappingStmt + } + return nil } -type Node_BoolExpr struct { - BoolExpr *BoolExpr `protobuf:"bytes,16,opt,name=bool_expr,json=BoolExpr,proto3,oneof"` +func (x *Node) GetImportForeignSchemaStmt() *ImportForeignSchemaStmt { + if x, ok := x.GetNode().(*Node_ImportForeignSchemaStmt); ok { + return x.ImportForeignSchemaStmt + } + return nil } -type Node_SubLink struct { - SubLink *SubLink `protobuf:"bytes,17,opt,name=sub_link,json=SubLink,proto3,oneof"` +func (x *Node) GetCreatePolicyStmt() *CreatePolicyStmt { + if x, ok := x.GetNode().(*Node_CreatePolicyStmt); ok { + return x.CreatePolicyStmt + } + return nil } -type Node_SubPlan struct { - SubPlan *SubPlan `protobuf:"bytes,18,opt,name=sub_plan,json=SubPlan,proto3,oneof"` +func (x *Node) GetAlterPolicyStmt() *AlterPolicyStmt { + if x, ok := x.GetNode().(*Node_AlterPolicyStmt); ok { + return x.AlterPolicyStmt + } + return nil } -type Node_AlternativeSubPlan struct { - AlternativeSubPlan *AlternativeSubPlan `protobuf:"bytes,19,opt,name=alternative_sub_plan,json=AlternativeSubPlan,proto3,oneof"` +func (x *Node) GetCreateAmStmt() *CreateAmStmt { + if x, ok := x.GetNode().(*Node_CreateAmStmt); ok { + return x.CreateAmStmt + } + return nil } -type Node_FieldSelect struct { - FieldSelect *FieldSelect `protobuf:"bytes,20,opt,name=field_select,json=FieldSelect,proto3,oneof"` +func (x *Node) GetCreateTrigStmt() *CreateTrigStmt { + if x, ok := x.GetNode().(*Node_CreateTrigStmt); ok { + return x.CreateTrigStmt + } + return nil } -type Node_FieldStore struct { - FieldStore *FieldStore `protobuf:"bytes,21,opt,name=field_store,json=FieldStore,proto3,oneof"` +func (x *Node) GetCreateEventTrigStmt() *CreateEventTrigStmt { + if x, ok := x.GetNode().(*Node_CreateEventTrigStmt); ok { + return x.CreateEventTrigStmt + } + return nil } -type Node_RelabelType struct { - RelabelType *RelabelType `protobuf:"bytes,22,opt,name=relabel_type,json=RelabelType,proto3,oneof"` +func (x *Node) GetAlterEventTrigStmt() *AlterEventTrigStmt { + if x, ok := x.GetNode().(*Node_AlterEventTrigStmt); ok { + return x.AlterEventTrigStmt + } + return nil } -type Node_CoerceViaIo struct { - CoerceViaIo *CoerceViaIO `protobuf:"bytes,23,opt,name=coerce_via_io,json=CoerceViaIO,proto3,oneof"` +func (x *Node) GetCreatePlangStmt() *CreatePLangStmt { + if x, ok := x.GetNode().(*Node_CreatePlangStmt); ok { + return x.CreatePlangStmt + } + return nil } -type Node_ArrayCoerceExpr struct { - ArrayCoerceExpr *ArrayCoerceExpr `protobuf:"bytes,24,opt,name=array_coerce_expr,json=ArrayCoerceExpr,proto3,oneof"` -} - -type Node_ConvertRowtypeExpr struct { - ConvertRowtypeExpr *ConvertRowtypeExpr `protobuf:"bytes,25,opt,name=convert_rowtype_expr,json=ConvertRowtypeExpr,proto3,oneof"` -} - -type Node_CollateExpr struct { - CollateExpr *CollateExpr `protobuf:"bytes,26,opt,name=collate_expr,json=CollateExpr,proto3,oneof"` +func (x *Node) GetCreateRoleStmt() *CreateRoleStmt { + if x, ok := x.GetNode().(*Node_CreateRoleStmt); ok { + return x.CreateRoleStmt + } + return nil } -type Node_CaseExpr struct { - CaseExpr *CaseExpr `protobuf:"bytes,27,opt,name=case_expr,json=CaseExpr,proto3,oneof"` +func (x *Node) GetAlterRoleStmt() *AlterRoleStmt { + if x, ok := x.GetNode().(*Node_AlterRoleStmt); ok { + return x.AlterRoleStmt + } + return nil } -type Node_CaseWhen struct { - CaseWhen *CaseWhen `protobuf:"bytes,28,opt,name=case_when,json=CaseWhen,proto3,oneof"` +func (x *Node) GetAlterRoleSetStmt() *AlterRoleSetStmt { + if x, ok := x.GetNode().(*Node_AlterRoleSetStmt); ok { + return x.AlterRoleSetStmt + } + return nil } -type Node_CaseTestExpr struct { - CaseTestExpr *CaseTestExpr `protobuf:"bytes,29,opt,name=case_test_expr,json=CaseTestExpr,proto3,oneof"` +func (x *Node) GetDropRoleStmt() *DropRoleStmt { + if x, ok := x.GetNode().(*Node_DropRoleStmt); ok { + return x.DropRoleStmt + } + return nil } -type Node_ArrayExpr struct { - ArrayExpr *ArrayExpr `protobuf:"bytes,30,opt,name=array_expr,json=ArrayExpr,proto3,oneof"` +func (x *Node) GetCreateSeqStmt() *CreateSeqStmt { + if x, ok := x.GetNode().(*Node_CreateSeqStmt); ok { + return x.CreateSeqStmt + } + return nil } -type Node_RowExpr struct { - RowExpr *RowExpr `protobuf:"bytes,31,opt,name=row_expr,json=RowExpr,proto3,oneof"` +func (x *Node) GetAlterSeqStmt() *AlterSeqStmt { + if x, ok := x.GetNode().(*Node_AlterSeqStmt); ok { + return x.AlterSeqStmt + } + return nil } -type Node_RowCompareExpr struct { - RowCompareExpr *RowCompareExpr `protobuf:"bytes,32,opt,name=row_compare_expr,json=RowCompareExpr,proto3,oneof"` +func (x *Node) GetDefineStmt() *DefineStmt { + if x, ok := x.GetNode().(*Node_DefineStmt); ok { + return x.DefineStmt + } + return nil } -type Node_CoalesceExpr struct { - CoalesceExpr *CoalesceExpr `protobuf:"bytes,33,opt,name=coalesce_expr,json=CoalesceExpr,proto3,oneof"` +func (x *Node) GetCreateDomainStmt() *CreateDomainStmt { + if x, ok := x.GetNode().(*Node_CreateDomainStmt); ok { + return x.CreateDomainStmt + } + return nil } -type Node_MinMaxExpr struct { - MinMaxExpr *MinMaxExpr `protobuf:"bytes,34,opt,name=min_max_expr,json=MinMaxExpr,proto3,oneof"` +func (x *Node) GetCreateOpClassStmt() *CreateOpClassStmt { + if x, ok := x.GetNode().(*Node_CreateOpClassStmt); ok { + return x.CreateOpClassStmt + } + return nil } -type Node_SqlvalueFunction struct { - SqlvalueFunction *SQLValueFunction `protobuf:"bytes,35,opt,name=sqlvalue_function,json=SQLValueFunction,proto3,oneof"` +func (x *Node) GetCreateOpClassItem() *CreateOpClassItem { + if x, ok := x.GetNode().(*Node_CreateOpClassItem); ok { + return x.CreateOpClassItem + } + return nil } -type Node_XmlExpr struct { - XmlExpr *XmlExpr `protobuf:"bytes,36,opt,name=xml_expr,json=XmlExpr,proto3,oneof"` +func (x *Node) GetCreateOpFamilyStmt() *CreateOpFamilyStmt { + if x, ok := x.GetNode().(*Node_CreateOpFamilyStmt); ok { + return x.CreateOpFamilyStmt + } + return nil } -type Node_NullTest struct { - NullTest *NullTest `protobuf:"bytes,37,opt,name=null_test,json=NullTest,proto3,oneof"` +func (x *Node) GetAlterOpFamilyStmt() *AlterOpFamilyStmt { + if x, ok := x.GetNode().(*Node_AlterOpFamilyStmt); ok { + return x.AlterOpFamilyStmt + } + return nil } -type Node_BooleanTest struct { - BooleanTest *BooleanTest `protobuf:"bytes,38,opt,name=boolean_test,json=BooleanTest,proto3,oneof"` +func (x *Node) GetDropStmt() *DropStmt { + if x, ok := x.GetNode().(*Node_DropStmt); ok { + return x.DropStmt + } + return nil } -type Node_CoerceToDomain struct { - CoerceToDomain *CoerceToDomain `protobuf:"bytes,39,opt,name=coerce_to_domain,json=CoerceToDomain,proto3,oneof"` +func (x *Node) GetTruncateStmt() *TruncateStmt { + if x, ok := x.GetNode().(*Node_TruncateStmt); ok { + return x.TruncateStmt + } + return nil } -type Node_CoerceToDomainValue struct { - CoerceToDomainValue *CoerceToDomainValue `protobuf:"bytes,40,opt,name=coerce_to_domain_value,json=CoerceToDomainValue,proto3,oneof"` +func (x *Node) GetCommentStmt() *CommentStmt { + if x, ok := x.GetNode().(*Node_CommentStmt); ok { + return x.CommentStmt + } + return nil } -type Node_SetToDefault struct { - SetToDefault *SetToDefault `protobuf:"bytes,41,opt,name=set_to_default,json=SetToDefault,proto3,oneof"` +func (x *Node) GetSecLabelStmt() *SecLabelStmt { + if x, ok := x.GetNode().(*Node_SecLabelStmt); ok { + return x.SecLabelStmt + } + return nil } -type Node_CurrentOfExpr struct { - CurrentOfExpr *CurrentOfExpr `protobuf:"bytes,42,opt,name=current_of_expr,json=CurrentOfExpr,proto3,oneof"` +func (x *Node) GetDeclareCursorStmt() *DeclareCursorStmt { + if x, ok := x.GetNode().(*Node_DeclareCursorStmt); ok { + return x.DeclareCursorStmt + } + return nil } -type Node_NextValueExpr struct { - NextValueExpr *NextValueExpr `protobuf:"bytes,43,opt,name=next_value_expr,json=NextValueExpr,proto3,oneof"` +func (x *Node) GetClosePortalStmt() *ClosePortalStmt { + if x, ok := x.GetNode().(*Node_ClosePortalStmt); ok { + return x.ClosePortalStmt + } + return nil } -type Node_InferenceElem struct { - InferenceElem *InferenceElem `protobuf:"bytes,44,opt,name=inference_elem,json=InferenceElem,proto3,oneof"` +func (x *Node) GetFetchStmt() *FetchStmt { + if x, ok := x.GetNode().(*Node_FetchStmt); ok { + return x.FetchStmt + } + return nil } -type Node_TargetEntry struct { - TargetEntry *TargetEntry `protobuf:"bytes,45,opt,name=target_entry,json=TargetEntry,proto3,oneof"` +func (x *Node) GetIndexStmt() *IndexStmt { + if x, ok := x.GetNode().(*Node_IndexStmt); ok { + return x.IndexStmt + } + return nil } -type Node_RangeTblRef struct { - RangeTblRef *RangeTblRef `protobuf:"bytes,46,opt,name=range_tbl_ref,json=RangeTblRef,proto3,oneof"` +func (x *Node) GetCreateStatsStmt() *CreateStatsStmt { + if x, ok := x.GetNode().(*Node_CreateStatsStmt); ok { + return x.CreateStatsStmt + } + return nil } -type Node_JoinExpr struct { - JoinExpr *JoinExpr `protobuf:"bytes,47,opt,name=join_expr,json=JoinExpr,proto3,oneof"` +func (x *Node) GetStatsElem() *StatsElem { + if x, ok := x.GetNode().(*Node_StatsElem); ok { + return x.StatsElem + } + return nil } -type Node_FromExpr struct { - FromExpr *FromExpr `protobuf:"bytes,48,opt,name=from_expr,json=FromExpr,proto3,oneof"` +func (x *Node) GetAlterStatsStmt() *AlterStatsStmt { + if x, ok := x.GetNode().(*Node_AlterStatsStmt); ok { + return x.AlterStatsStmt + } + return nil } -type Node_OnConflictExpr struct { - OnConflictExpr *OnConflictExpr `protobuf:"bytes,49,opt,name=on_conflict_expr,json=OnConflictExpr,proto3,oneof"` +func (x *Node) GetCreateFunctionStmt() *CreateFunctionStmt { + if x, ok := x.GetNode().(*Node_CreateFunctionStmt); ok { + return x.CreateFunctionStmt + } + return nil } -type Node_IntoClause struct { - IntoClause *IntoClause `protobuf:"bytes,50,opt,name=into_clause,json=IntoClause,proto3,oneof"` +func (x *Node) GetFunctionParameter() *FunctionParameter { + if x, ok := x.GetNode().(*Node_FunctionParameter); ok { + return x.FunctionParameter + } + return nil } -type Node_MergeAction struct { - MergeAction *MergeAction `protobuf:"bytes,51,opt,name=merge_action,json=MergeAction,proto3,oneof"` +func (x *Node) GetAlterFunctionStmt() *AlterFunctionStmt { + if x, ok := x.GetNode().(*Node_AlterFunctionStmt); ok { + return x.AlterFunctionStmt + } + return nil } -type Node_RawStmt struct { - RawStmt *RawStmt `protobuf:"bytes,52,opt,name=raw_stmt,json=RawStmt,proto3,oneof"` +func (x *Node) GetDoStmt() *DoStmt { + if x, ok := x.GetNode().(*Node_DoStmt); ok { + return x.DoStmt + } + return nil } -type Node_Query struct { - Query *Query `protobuf:"bytes,53,opt,name=query,json=Query,proto3,oneof"` +func (x *Node) GetInlineCodeBlock() *InlineCodeBlock { + if x, ok := x.GetNode().(*Node_InlineCodeBlock); ok { + return x.InlineCodeBlock + } + return nil } -type Node_InsertStmt struct { - InsertStmt *InsertStmt `protobuf:"bytes,54,opt,name=insert_stmt,json=InsertStmt,proto3,oneof"` +func (x *Node) GetCallStmt() *CallStmt { + if x, ok := x.GetNode().(*Node_CallStmt); ok { + return x.CallStmt + } + return nil } -type Node_DeleteStmt struct { - DeleteStmt *DeleteStmt `protobuf:"bytes,55,opt,name=delete_stmt,json=DeleteStmt,proto3,oneof"` +func (x *Node) GetCallContext() *CallContext { + if x, ok := x.GetNode().(*Node_CallContext); ok { + return x.CallContext + } + return nil } -type Node_UpdateStmt struct { - UpdateStmt *UpdateStmt `protobuf:"bytes,56,opt,name=update_stmt,json=UpdateStmt,proto3,oneof"` +func (x *Node) GetRenameStmt() *RenameStmt { + if x, ok := x.GetNode().(*Node_RenameStmt); ok { + return x.RenameStmt + } + return nil } -type Node_MergeStmt struct { - MergeStmt *MergeStmt `protobuf:"bytes,57,opt,name=merge_stmt,json=MergeStmt,proto3,oneof"` +func (x *Node) GetAlterObjectDependsStmt() *AlterObjectDependsStmt { + if x, ok := x.GetNode().(*Node_AlterObjectDependsStmt); ok { + return x.AlterObjectDependsStmt + } + return nil } -type Node_SelectStmt struct { - SelectStmt *SelectStmt `protobuf:"bytes,58,opt,name=select_stmt,json=SelectStmt,proto3,oneof"` +func (x *Node) GetAlterObjectSchemaStmt() *AlterObjectSchemaStmt { + if x, ok := x.GetNode().(*Node_AlterObjectSchemaStmt); ok { + return x.AlterObjectSchemaStmt + } + return nil } -type Node_ReturnStmt struct { - ReturnStmt *ReturnStmt `protobuf:"bytes,59,opt,name=return_stmt,json=ReturnStmt,proto3,oneof"` +func (x *Node) GetAlterOwnerStmt() *AlterOwnerStmt { + if x, ok := x.GetNode().(*Node_AlterOwnerStmt); ok { + return x.AlterOwnerStmt + } + return nil } -type Node_PlassignStmt struct { - PlassignStmt *PLAssignStmt `protobuf:"bytes,60,opt,name=plassign_stmt,json=PLAssignStmt,proto3,oneof"` +func (x *Node) GetAlterOperatorStmt() *AlterOperatorStmt { + if x, ok := x.GetNode().(*Node_AlterOperatorStmt); ok { + return x.AlterOperatorStmt + } + return nil } -type Node_AlterTableStmt struct { - AlterTableStmt *AlterTableStmt `protobuf:"bytes,61,opt,name=alter_table_stmt,json=AlterTableStmt,proto3,oneof"` +func (x *Node) GetAlterTypeStmt() *AlterTypeStmt { + if x, ok := x.GetNode().(*Node_AlterTypeStmt); ok { + return x.AlterTypeStmt + } + return nil } -type Node_AlterTableCmd struct { - AlterTableCmd *AlterTableCmd `protobuf:"bytes,62,opt,name=alter_table_cmd,json=AlterTableCmd,proto3,oneof"` +func (x *Node) GetRuleStmt() *RuleStmt { + if x, ok := x.GetNode().(*Node_RuleStmt); ok { + return x.RuleStmt + } + return nil } -type Node_AlterDomainStmt struct { - AlterDomainStmt *AlterDomainStmt `protobuf:"bytes,63,opt,name=alter_domain_stmt,json=AlterDomainStmt,proto3,oneof"` +func (x *Node) GetNotifyStmt() *NotifyStmt { + if x, ok := x.GetNode().(*Node_NotifyStmt); ok { + return x.NotifyStmt + } + return nil } -type Node_SetOperationStmt struct { - SetOperationStmt *SetOperationStmt `protobuf:"bytes,64,opt,name=set_operation_stmt,json=SetOperationStmt,proto3,oneof"` +func (x *Node) GetListenStmt() *ListenStmt { + if x, ok := x.GetNode().(*Node_ListenStmt); ok { + return x.ListenStmt + } + return nil } -type Node_GrantStmt struct { - GrantStmt *GrantStmt `protobuf:"bytes,65,opt,name=grant_stmt,json=GrantStmt,proto3,oneof"` +func (x *Node) GetUnlistenStmt() *UnlistenStmt { + if x, ok := x.GetNode().(*Node_UnlistenStmt); ok { + return x.UnlistenStmt + } + return nil } -type Node_GrantRoleStmt struct { - GrantRoleStmt *GrantRoleStmt `protobuf:"bytes,66,opt,name=grant_role_stmt,json=GrantRoleStmt,proto3,oneof"` +func (x *Node) GetTransactionStmt() *TransactionStmt { + if x, ok := x.GetNode().(*Node_TransactionStmt); ok { + return x.TransactionStmt + } + return nil } -type Node_AlterDefaultPrivilegesStmt struct { - AlterDefaultPrivilegesStmt *AlterDefaultPrivilegesStmt `protobuf:"bytes,67,opt,name=alter_default_privileges_stmt,json=AlterDefaultPrivilegesStmt,proto3,oneof"` +func (x *Node) GetCompositeTypeStmt() *CompositeTypeStmt { + if x, ok := x.GetNode().(*Node_CompositeTypeStmt); ok { + return x.CompositeTypeStmt + } + return nil } -type Node_ClosePortalStmt struct { - ClosePortalStmt *ClosePortalStmt `protobuf:"bytes,68,opt,name=close_portal_stmt,json=ClosePortalStmt,proto3,oneof"` -} - -type Node_ClusterStmt struct { - ClusterStmt *ClusterStmt `protobuf:"bytes,69,opt,name=cluster_stmt,json=ClusterStmt,proto3,oneof"` +func (x *Node) GetCreateEnumStmt() *CreateEnumStmt { + if x, ok := x.GetNode().(*Node_CreateEnumStmt); ok { + return x.CreateEnumStmt + } + return nil } -type Node_CopyStmt struct { - CopyStmt *CopyStmt `protobuf:"bytes,70,opt,name=copy_stmt,json=CopyStmt,proto3,oneof"` +func (x *Node) GetCreateRangeStmt() *CreateRangeStmt { + if x, ok := x.GetNode().(*Node_CreateRangeStmt); ok { + return x.CreateRangeStmt + } + return nil } -type Node_CreateStmt struct { - CreateStmt *CreateStmt `protobuf:"bytes,71,opt,name=create_stmt,json=CreateStmt,proto3,oneof"` +func (x *Node) GetAlterEnumStmt() *AlterEnumStmt { + if x, ok := x.GetNode().(*Node_AlterEnumStmt); ok { + return x.AlterEnumStmt + } + return nil } -type Node_DefineStmt struct { - DefineStmt *DefineStmt `protobuf:"bytes,72,opt,name=define_stmt,json=DefineStmt,proto3,oneof"` +func (x *Node) GetViewStmt() *ViewStmt { + if x, ok := x.GetNode().(*Node_ViewStmt); ok { + return x.ViewStmt + } + return nil } -type Node_DropStmt struct { - DropStmt *DropStmt `protobuf:"bytes,73,opt,name=drop_stmt,json=DropStmt,proto3,oneof"` +func (x *Node) GetLoadStmt() *LoadStmt { + if x, ok := x.GetNode().(*Node_LoadStmt); ok { + return x.LoadStmt + } + return nil } -type Node_TruncateStmt struct { - TruncateStmt *TruncateStmt `protobuf:"bytes,74,opt,name=truncate_stmt,json=TruncateStmt,proto3,oneof"` +func (x *Node) GetCreatedbStmt() *CreatedbStmt { + if x, ok := x.GetNode().(*Node_CreatedbStmt); ok { + return x.CreatedbStmt + } + return nil } -type Node_CommentStmt struct { - CommentStmt *CommentStmt `protobuf:"bytes,75,opt,name=comment_stmt,json=CommentStmt,proto3,oneof"` +func (x *Node) GetAlterDatabaseStmt() *AlterDatabaseStmt { + if x, ok := x.GetNode().(*Node_AlterDatabaseStmt); ok { + return x.AlterDatabaseStmt + } + return nil } -type Node_FetchStmt struct { - FetchStmt *FetchStmt `protobuf:"bytes,76,opt,name=fetch_stmt,json=FetchStmt,proto3,oneof"` +func (x *Node) GetAlterDatabaseRefreshCollStmt() *AlterDatabaseRefreshCollStmt { + if x, ok := x.GetNode().(*Node_AlterDatabaseRefreshCollStmt); ok { + return x.AlterDatabaseRefreshCollStmt + } + return nil } -type Node_IndexStmt struct { - IndexStmt *IndexStmt `protobuf:"bytes,77,opt,name=index_stmt,json=IndexStmt,proto3,oneof"` +func (x *Node) GetAlterDatabaseSetStmt() *AlterDatabaseSetStmt { + if x, ok := x.GetNode().(*Node_AlterDatabaseSetStmt); ok { + return x.AlterDatabaseSetStmt + } + return nil } -type Node_CreateFunctionStmt struct { - CreateFunctionStmt *CreateFunctionStmt `protobuf:"bytes,78,opt,name=create_function_stmt,json=CreateFunctionStmt,proto3,oneof"` +func (x *Node) GetDropdbStmt() *DropdbStmt { + if x, ok := x.GetNode().(*Node_DropdbStmt); ok { + return x.DropdbStmt + } + return nil } -type Node_AlterFunctionStmt struct { - AlterFunctionStmt *AlterFunctionStmt `protobuf:"bytes,79,opt,name=alter_function_stmt,json=AlterFunctionStmt,proto3,oneof"` +func (x *Node) GetAlterSystemStmt() *AlterSystemStmt { + if x, ok := x.GetNode().(*Node_AlterSystemStmt); ok { + return x.AlterSystemStmt + } + return nil } -type Node_DoStmt struct { - DoStmt *DoStmt `protobuf:"bytes,80,opt,name=do_stmt,json=DoStmt,proto3,oneof"` +func (x *Node) GetClusterStmt() *ClusterStmt { + if x, ok := x.GetNode().(*Node_ClusterStmt); ok { + return x.ClusterStmt + } + return nil } -type Node_RenameStmt struct { - RenameStmt *RenameStmt `protobuf:"bytes,81,opt,name=rename_stmt,json=RenameStmt,proto3,oneof"` +func (x *Node) GetVacuumStmt() *VacuumStmt { + if x, ok := x.GetNode().(*Node_VacuumStmt); ok { + return x.VacuumStmt + } + return nil } -type Node_RuleStmt struct { - RuleStmt *RuleStmt `protobuf:"bytes,82,opt,name=rule_stmt,json=RuleStmt,proto3,oneof"` +func (x *Node) GetVacuumRelation() *VacuumRelation { + if x, ok := x.GetNode().(*Node_VacuumRelation); ok { + return x.VacuumRelation + } + return nil } -type Node_NotifyStmt struct { - NotifyStmt *NotifyStmt `protobuf:"bytes,83,opt,name=notify_stmt,json=NotifyStmt,proto3,oneof"` +func (x *Node) GetExplainStmt() *ExplainStmt { + if x, ok := x.GetNode().(*Node_ExplainStmt); ok { + return x.ExplainStmt + } + return nil } -type Node_ListenStmt struct { - ListenStmt *ListenStmt `protobuf:"bytes,84,opt,name=listen_stmt,json=ListenStmt,proto3,oneof"` +func (x *Node) GetCreateTableAsStmt() *CreateTableAsStmt { + if x, ok := x.GetNode().(*Node_CreateTableAsStmt); ok { + return x.CreateTableAsStmt + } + return nil } -type Node_UnlistenStmt struct { - UnlistenStmt *UnlistenStmt `protobuf:"bytes,85,opt,name=unlisten_stmt,json=UnlistenStmt,proto3,oneof"` +func (x *Node) GetRefreshMatViewStmt() *RefreshMatViewStmt { + if x, ok := x.GetNode().(*Node_RefreshMatViewStmt); ok { + return x.RefreshMatViewStmt + } + return nil } -type Node_TransactionStmt struct { - TransactionStmt *TransactionStmt `protobuf:"bytes,86,opt,name=transaction_stmt,json=TransactionStmt,proto3,oneof"` +func (x *Node) GetCheckPointStmt() *CheckPointStmt { + if x, ok := x.GetNode().(*Node_CheckPointStmt); ok { + return x.CheckPointStmt + } + return nil } -type Node_ViewStmt struct { - ViewStmt *ViewStmt `protobuf:"bytes,87,opt,name=view_stmt,json=ViewStmt,proto3,oneof"` +func (x *Node) GetDiscardStmt() *DiscardStmt { + if x, ok := x.GetNode().(*Node_DiscardStmt); ok { + return x.DiscardStmt + } + return nil } -type Node_LoadStmt struct { - LoadStmt *LoadStmt `protobuf:"bytes,88,opt,name=load_stmt,json=LoadStmt,proto3,oneof"` +func (x *Node) GetLockStmt() *LockStmt { + if x, ok := x.GetNode().(*Node_LockStmt); ok { + return x.LockStmt + } + return nil } -type Node_CreateDomainStmt struct { - CreateDomainStmt *CreateDomainStmt `protobuf:"bytes,89,opt,name=create_domain_stmt,json=CreateDomainStmt,proto3,oneof"` +func (x *Node) GetConstraintsSetStmt() *ConstraintsSetStmt { + if x, ok := x.GetNode().(*Node_ConstraintsSetStmt); ok { + return x.ConstraintsSetStmt + } + return nil } -type Node_CreatedbStmt struct { - CreatedbStmt *CreatedbStmt `protobuf:"bytes,90,opt,name=createdb_stmt,json=CreatedbStmt,proto3,oneof"` +func (x *Node) GetReindexStmt() *ReindexStmt { + if x, ok := x.GetNode().(*Node_ReindexStmt); ok { + return x.ReindexStmt + } + return nil } -type Node_DropdbStmt struct { - DropdbStmt *DropdbStmt `protobuf:"bytes,91,opt,name=dropdb_stmt,json=DropdbStmt,proto3,oneof"` +func (x *Node) GetCreateConversionStmt() *CreateConversionStmt { + if x, ok := x.GetNode().(*Node_CreateConversionStmt); ok { + return x.CreateConversionStmt + } + return nil } -type Node_VacuumStmt struct { - VacuumStmt *VacuumStmt `protobuf:"bytes,92,opt,name=vacuum_stmt,json=VacuumStmt,proto3,oneof"` +func (x *Node) GetCreateCastStmt() *CreateCastStmt { + if x, ok := x.GetNode().(*Node_CreateCastStmt); ok { + return x.CreateCastStmt + } + return nil } -type Node_ExplainStmt struct { - ExplainStmt *ExplainStmt `protobuf:"bytes,93,opt,name=explain_stmt,json=ExplainStmt,proto3,oneof"` +func (x *Node) GetCreateTransformStmt() *CreateTransformStmt { + if x, ok := x.GetNode().(*Node_CreateTransformStmt); ok { + return x.CreateTransformStmt + } + return nil } -type Node_CreateTableAsStmt struct { - CreateTableAsStmt *CreateTableAsStmt `protobuf:"bytes,94,opt,name=create_table_as_stmt,json=CreateTableAsStmt,proto3,oneof"` +func (x *Node) GetPrepareStmt() *PrepareStmt { + if x, ok := x.GetNode().(*Node_PrepareStmt); ok { + return x.PrepareStmt + } + return nil } -type Node_CreateSeqStmt struct { - CreateSeqStmt *CreateSeqStmt `protobuf:"bytes,95,opt,name=create_seq_stmt,json=CreateSeqStmt,proto3,oneof"` +func (x *Node) GetExecuteStmt() *ExecuteStmt { + if x, ok := x.GetNode().(*Node_ExecuteStmt); ok { + return x.ExecuteStmt + } + return nil } -type Node_AlterSeqStmt struct { - AlterSeqStmt *AlterSeqStmt `protobuf:"bytes,96,opt,name=alter_seq_stmt,json=AlterSeqStmt,proto3,oneof"` +func (x *Node) GetDeallocateStmt() *DeallocateStmt { + if x, ok := x.GetNode().(*Node_DeallocateStmt); ok { + return x.DeallocateStmt + } + return nil } -type Node_VariableSetStmt struct { - VariableSetStmt *VariableSetStmt `protobuf:"bytes,97,opt,name=variable_set_stmt,json=VariableSetStmt,proto3,oneof"` +func (x *Node) GetDropOwnedStmt() *DropOwnedStmt { + if x, ok := x.GetNode().(*Node_DropOwnedStmt); ok { + return x.DropOwnedStmt + } + return nil } -type Node_VariableShowStmt struct { - VariableShowStmt *VariableShowStmt `protobuf:"bytes,98,opt,name=variable_show_stmt,json=VariableShowStmt,proto3,oneof"` +func (x *Node) GetReassignOwnedStmt() *ReassignOwnedStmt { + if x, ok := x.GetNode().(*Node_ReassignOwnedStmt); ok { + return x.ReassignOwnedStmt + } + return nil } -type Node_DiscardStmt struct { - DiscardStmt *DiscardStmt `protobuf:"bytes,99,opt,name=discard_stmt,json=DiscardStmt,proto3,oneof"` +func (x *Node) GetAlterTsdictionaryStmt() *AlterTSDictionaryStmt { + if x, ok := x.GetNode().(*Node_AlterTsdictionaryStmt); ok { + return x.AlterTsdictionaryStmt + } + return nil } -type Node_CreateTrigStmt struct { - CreateTrigStmt *CreateTrigStmt `protobuf:"bytes,100,opt,name=create_trig_stmt,json=CreateTrigStmt,proto3,oneof"` +func (x *Node) GetAlterTsconfigurationStmt() *AlterTSConfigurationStmt { + if x, ok := x.GetNode().(*Node_AlterTsconfigurationStmt); ok { + return x.AlterTsconfigurationStmt + } + return nil } -type Node_CreatePlangStmt struct { - CreatePlangStmt *CreatePLangStmt `protobuf:"bytes,101,opt,name=create_plang_stmt,json=CreatePLangStmt,proto3,oneof"` +func (x *Node) GetPublicationTable() *PublicationTable { + if x, ok := x.GetNode().(*Node_PublicationTable); ok { + return x.PublicationTable + } + return nil } -type Node_CreateRoleStmt struct { - CreateRoleStmt *CreateRoleStmt `protobuf:"bytes,102,opt,name=create_role_stmt,json=CreateRoleStmt,proto3,oneof"` +func (x *Node) GetPublicationObjSpec() *PublicationObjSpec { + if x, ok := x.GetNode().(*Node_PublicationObjSpec); ok { + return x.PublicationObjSpec + } + return nil } -type Node_AlterRoleStmt struct { - AlterRoleStmt *AlterRoleStmt `protobuf:"bytes,103,opt,name=alter_role_stmt,json=AlterRoleStmt,proto3,oneof"` +func (x *Node) GetCreatePublicationStmt() *CreatePublicationStmt { + if x, ok := x.GetNode().(*Node_CreatePublicationStmt); ok { + return x.CreatePublicationStmt + } + return nil } -type Node_DropRoleStmt struct { - DropRoleStmt *DropRoleStmt `protobuf:"bytes,104,opt,name=drop_role_stmt,json=DropRoleStmt,proto3,oneof"` +func (x *Node) GetAlterPublicationStmt() *AlterPublicationStmt { + if x, ok := x.GetNode().(*Node_AlterPublicationStmt); ok { + return x.AlterPublicationStmt + } + return nil } -type Node_LockStmt struct { - LockStmt *LockStmt `protobuf:"bytes,105,opt,name=lock_stmt,json=LockStmt,proto3,oneof"` +func (x *Node) GetCreateSubscriptionStmt() *CreateSubscriptionStmt { + if x, ok := x.GetNode().(*Node_CreateSubscriptionStmt); ok { + return x.CreateSubscriptionStmt + } + return nil } -type Node_ConstraintsSetStmt struct { - ConstraintsSetStmt *ConstraintsSetStmt `protobuf:"bytes,106,opt,name=constraints_set_stmt,json=ConstraintsSetStmt,proto3,oneof"` +func (x *Node) GetAlterSubscriptionStmt() *AlterSubscriptionStmt { + if x, ok := x.GetNode().(*Node_AlterSubscriptionStmt); ok { + return x.AlterSubscriptionStmt + } + return nil } -type Node_ReindexStmt struct { - ReindexStmt *ReindexStmt `protobuf:"bytes,107,opt,name=reindex_stmt,json=ReindexStmt,proto3,oneof"` +func (x *Node) GetDropSubscriptionStmt() *DropSubscriptionStmt { + if x, ok := x.GetNode().(*Node_DropSubscriptionStmt); ok { + return x.DropSubscriptionStmt + } + return nil } -type Node_CheckPointStmt struct { - CheckPointStmt *CheckPointStmt `protobuf:"bytes,108,opt,name=check_point_stmt,json=CheckPointStmt,proto3,oneof"` +func (x *Node) GetInteger() *Integer { + if x, ok := x.GetNode().(*Node_Integer); ok { + return x.Integer + } + return nil } -type Node_CreateSchemaStmt struct { - CreateSchemaStmt *CreateSchemaStmt `protobuf:"bytes,109,opt,name=create_schema_stmt,json=CreateSchemaStmt,proto3,oneof"` +func (x *Node) GetFloat() *Float { + if x, ok := x.GetNode().(*Node_Float); ok { + return x.Float + } + return nil } -type Node_AlterDatabaseStmt struct { - AlterDatabaseStmt *AlterDatabaseStmt `protobuf:"bytes,110,opt,name=alter_database_stmt,json=AlterDatabaseStmt,proto3,oneof"` +func (x *Node) GetBoolean() *Boolean { + if x, ok := x.GetNode().(*Node_Boolean); ok { + return x.Boolean + } + return nil } -type Node_AlterDatabaseRefreshCollStmt struct { - AlterDatabaseRefreshCollStmt *AlterDatabaseRefreshCollStmt `protobuf:"bytes,111,opt,name=alter_database_refresh_coll_stmt,json=AlterDatabaseRefreshCollStmt,proto3,oneof"` +func (x *Node) GetString_() *String { + if x, ok := x.GetNode().(*Node_String_); ok { + return x.String_ + } + return nil } -type Node_AlterDatabaseSetStmt struct { - AlterDatabaseSetStmt *AlterDatabaseSetStmt `protobuf:"bytes,112,opt,name=alter_database_set_stmt,json=AlterDatabaseSetStmt,proto3,oneof"` +func (x *Node) GetBitString() *BitString { + if x, ok := x.GetNode().(*Node_BitString); ok { + return x.BitString + } + return nil } -type Node_AlterRoleSetStmt struct { - AlterRoleSetStmt *AlterRoleSetStmt `protobuf:"bytes,113,opt,name=alter_role_set_stmt,json=AlterRoleSetStmt,proto3,oneof"` +func (x *Node) GetList() *List { + if x, ok := x.GetNode().(*Node_List); ok { + return x.List + } + return nil } -type Node_CreateConversionStmt struct { - CreateConversionStmt *CreateConversionStmt `protobuf:"bytes,114,opt,name=create_conversion_stmt,json=CreateConversionStmt,proto3,oneof"` +func (x *Node) GetIntList() *IntList { + if x, ok := x.GetNode().(*Node_IntList); ok { + return x.IntList + } + return nil } -type Node_CreateCastStmt struct { - CreateCastStmt *CreateCastStmt `protobuf:"bytes,115,opt,name=create_cast_stmt,json=CreateCastStmt,proto3,oneof"` +func (x *Node) GetOidList() *OidList { + if x, ok := x.GetNode().(*Node_OidList); ok { + return x.OidList + } + return nil } -type Node_CreateOpClassStmt struct { - CreateOpClassStmt *CreateOpClassStmt `protobuf:"bytes,116,opt,name=create_op_class_stmt,json=CreateOpClassStmt,proto3,oneof"` +func (x *Node) GetAConst() *A_Const { + if x, ok := x.GetNode().(*Node_AConst); ok { + return x.AConst + } + return nil } -type Node_CreateOpFamilyStmt struct { - CreateOpFamilyStmt *CreateOpFamilyStmt `protobuf:"bytes,117,opt,name=create_op_family_stmt,json=CreateOpFamilyStmt,proto3,oneof"` +type isNode_Node interface { + isNode_Node() } -type Node_AlterOpFamilyStmt struct { - AlterOpFamilyStmt *AlterOpFamilyStmt `protobuf:"bytes,118,opt,name=alter_op_family_stmt,json=AlterOpFamilyStmt,proto3,oneof"` +type Node_Alias struct { + Alias *Alias `protobuf:"bytes,1,opt,name=alias,json=Alias,proto3,oneof"` } -type Node_PrepareStmt struct { - PrepareStmt *PrepareStmt `protobuf:"bytes,119,opt,name=prepare_stmt,json=PrepareStmt,proto3,oneof"` +type Node_RangeVar struct { + RangeVar *RangeVar `protobuf:"bytes,2,opt,name=range_var,json=RangeVar,proto3,oneof"` } -type Node_ExecuteStmt struct { - ExecuteStmt *ExecuteStmt `protobuf:"bytes,120,opt,name=execute_stmt,json=ExecuteStmt,proto3,oneof"` +type Node_TableFunc struct { + TableFunc *TableFunc `protobuf:"bytes,3,opt,name=table_func,json=TableFunc,proto3,oneof"` } -type Node_DeallocateStmt struct { - DeallocateStmt *DeallocateStmt `protobuf:"bytes,121,opt,name=deallocate_stmt,json=DeallocateStmt,proto3,oneof"` +type Node_IntoClause struct { + IntoClause *IntoClause `protobuf:"bytes,4,opt,name=into_clause,json=IntoClause,proto3,oneof"` } -type Node_DeclareCursorStmt struct { - DeclareCursorStmt *DeclareCursorStmt `protobuf:"bytes,122,opt,name=declare_cursor_stmt,json=DeclareCursorStmt,proto3,oneof"` +type Node_Var struct { + Var *Var `protobuf:"bytes,5,opt,name=var,json=Var,proto3,oneof"` } -type Node_CreateTableSpaceStmt struct { - CreateTableSpaceStmt *CreateTableSpaceStmt `protobuf:"bytes,123,opt,name=create_table_space_stmt,json=CreateTableSpaceStmt,proto3,oneof"` +type Node_Param struct { + Param *Param `protobuf:"bytes,6,opt,name=param,json=Param,proto3,oneof"` } -type Node_DropTableSpaceStmt struct { - DropTableSpaceStmt *DropTableSpaceStmt `protobuf:"bytes,124,opt,name=drop_table_space_stmt,json=DropTableSpaceStmt,proto3,oneof"` +type Node_Aggref struct { + Aggref *Aggref `protobuf:"bytes,7,opt,name=aggref,json=Aggref,proto3,oneof"` } -type Node_AlterObjectDependsStmt struct { - AlterObjectDependsStmt *AlterObjectDependsStmt `protobuf:"bytes,125,opt,name=alter_object_depends_stmt,json=AlterObjectDependsStmt,proto3,oneof"` +type Node_GroupingFunc struct { + GroupingFunc *GroupingFunc `protobuf:"bytes,8,opt,name=grouping_func,json=GroupingFunc,proto3,oneof"` } -type Node_AlterObjectSchemaStmt struct { - AlterObjectSchemaStmt *AlterObjectSchemaStmt `protobuf:"bytes,126,opt,name=alter_object_schema_stmt,json=AlterObjectSchemaStmt,proto3,oneof"` +type Node_WindowFunc struct { + WindowFunc *WindowFunc `protobuf:"bytes,9,opt,name=window_func,json=WindowFunc,proto3,oneof"` } -type Node_AlterOwnerStmt struct { - AlterOwnerStmt *AlterOwnerStmt `protobuf:"bytes,127,opt,name=alter_owner_stmt,json=AlterOwnerStmt,proto3,oneof"` +type Node_WindowFuncRunCondition struct { + WindowFuncRunCondition *WindowFuncRunCondition `protobuf:"bytes,10,opt,name=window_func_run_condition,json=WindowFuncRunCondition,proto3,oneof"` } -type Node_AlterOperatorStmt struct { - AlterOperatorStmt *AlterOperatorStmt `protobuf:"bytes,128,opt,name=alter_operator_stmt,json=AlterOperatorStmt,proto3,oneof"` +type Node_MergeSupportFunc struct { + MergeSupportFunc *MergeSupportFunc `protobuf:"bytes,11,opt,name=merge_support_func,json=MergeSupportFunc,proto3,oneof"` } -type Node_AlterTypeStmt struct { - AlterTypeStmt *AlterTypeStmt `protobuf:"bytes,129,opt,name=alter_type_stmt,json=AlterTypeStmt,proto3,oneof"` +type Node_SubscriptingRef struct { + SubscriptingRef *SubscriptingRef `protobuf:"bytes,12,opt,name=subscripting_ref,json=SubscriptingRef,proto3,oneof"` } -type Node_DropOwnedStmt struct { - DropOwnedStmt *DropOwnedStmt `protobuf:"bytes,130,opt,name=drop_owned_stmt,json=DropOwnedStmt,proto3,oneof"` +type Node_FuncExpr struct { + FuncExpr *FuncExpr `protobuf:"bytes,13,opt,name=func_expr,json=FuncExpr,proto3,oneof"` } -type Node_ReassignOwnedStmt struct { - ReassignOwnedStmt *ReassignOwnedStmt `protobuf:"bytes,131,opt,name=reassign_owned_stmt,json=ReassignOwnedStmt,proto3,oneof"` +type Node_NamedArgExpr struct { + NamedArgExpr *NamedArgExpr `protobuf:"bytes,14,opt,name=named_arg_expr,json=NamedArgExpr,proto3,oneof"` } -type Node_CompositeTypeStmt struct { - CompositeTypeStmt *CompositeTypeStmt `protobuf:"bytes,132,opt,name=composite_type_stmt,json=CompositeTypeStmt,proto3,oneof"` +type Node_OpExpr struct { + OpExpr *OpExpr `protobuf:"bytes,15,opt,name=op_expr,json=OpExpr,proto3,oneof"` } -type Node_CreateEnumStmt struct { - CreateEnumStmt *CreateEnumStmt `protobuf:"bytes,133,opt,name=create_enum_stmt,json=CreateEnumStmt,proto3,oneof"` +type Node_DistinctExpr struct { + DistinctExpr *DistinctExpr `protobuf:"bytes,16,opt,name=distinct_expr,json=DistinctExpr,proto3,oneof"` } -type Node_CreateRangeStmt struct { - CreateRangeStmt *CreateRangeStmt `protobuf:"bytes,134,opt,name=create_range_stmt,json=CreateRangeStmt,proto3,oneof"` +type Node_NullIfExpr struct { + NullIfExpr *NullIfExpr `protobuf:"bytes,17,opt,name=null_if_expr,json=NullIfExpr,proto3,oneof"` } -type Node_AlterEnumStmt struct { - AlterEnumStmt *AlterEnumStmt `protobuf:"bytes,135,opt,name=alter_enum_stmt,json=AlterEnumStmt,proto3,oneof"` +type Node_ScalarArrayOpExpr struct { + ScalarArrayOpExpr *ScalarArrayOpExpr `protobuf:"bytes,18,opt,name=scalar_array_op_expr,json=ScalarArrayOpExpr,proto3,oneof"` } -type Node_AlterTsdictionaryStmt struct { - AlterTsdictionaryStmt *AlterTSDictionaryStmt `protobuf:"bytes,136,opt,name=alter_tsdictionary_stmt,json=AlterTSDictionaryStmt,proto3,oneof"` +type Node_BoolExpr struct { + BoolExpr *BoolExpr `protobuf:"bytes,19,opt,name=bool_expr,json=BoolExpr,proto3,oneof"` } -type Node_AlterTsconfigurationStmt struct { - AlterTsconfigurationStmt *AlterTSConfigurationStmt `protobuf:"bytes,137,opt,name=alter_tsconfiguration_stmt,json=AlterTSConfigurationStmt,proto3,oneof"` +type Node_SubLink struct { + SubLink *SubLink `protobuf:"bytes,20,opt,name=sub_link,json=SubLink,proto3,oneof"` } -type Node_CreateFdwStmt struct { - CreateFdwStmt *CreateFdwStmt `protobuf:"bytes,138,opt,name=create_fdw_stmt,json=CreateFdwStmt,proto3,oneof"` +type Node_SubPlan struct { + SubPlan *SubPlan `protobuf:"bytes,21,opt,name=sub_plan,json=SubPlan,proto3,oneof"` } -type Node_AlterFdwStmt struct { - AlterFdwStmt *AlterFdwStmt `protobuf:"bytes,139,opt,name=alter_fdw_stmt,json=AlterFdwStmt,proto3,oneof"` +type Node_AlternativeSubPlan struct { + AlternativeSubPlan *AlternativeSubPlan `protobuf:"bytes,22,opt,name=alternative_sub_plan,json=AlternativeSubPlan,proto3,oneof"` } -type Node_CreateForeignServerStmt struct { - CreateForeignServerStmt *CreateForeignServerStmt `protobuf:"bytes,140,opt,name=create_foreign_server_stmt,json=CreateForeignServerStmt,proto3,oneof"` +type Node_FieldSelect struct { + FieldSelect *FieldSelect `protobuf:"bytes,23,opt,name=field_select,json=FieldSelect,proto3,oneof"` } -type Node_AlterForeignServerStmt struct { - AlterForeignServerStmt *AlterForeignServerStmt `protobuf:"bytes,141,opt,name=alter_foreign_server_stmt,json=AlterForeignServerStmt,proto3,oneof"` +type Node_FieldStore struct { + FieldStore *FieldStore `protobuf:"bytes,24,opt,name=field_store,json=FieldStore,proto3,oneof"` } -type Node_CreateUserMappingStmt struct { - CreateUserMappingStmt *CreateUserMappingStmt `protobuf:"bytes,142,opt,name=create_user_mapping_stmt,json=CreateUserMappingStmt,proto3,oneof"` +type Node_RelabelType struct { + RelabelType *RelabelType `protobuf:"bytes,25,opt,name=relabel_type,json=RelabelType,proto3,oneof"` } -type Node_AlterUserMappingStmt struct { - AlterUserMappingStmt *AlterUserMappingStmt `protobuf:"bytes,143,opt,name=alter_user_mapping_stmt,json=AlterUserMappingStmt,proto3,oneof"` +type Node_CoerceViaIo struct { + CoerceViaIo *CoerceViaIO `protobuf:"bytes,26,opt,name=coerce_via_io,json=CoerceViaIO,proto3,oneof"` } -type Node_DropUserMappingStmt struct { - DropUserMappingStmt *DropUserMappingStmt `protobuf:"bytes,144,opt,name=drop_user_mapping_stmt,json=DropUserMappingStmt,proto3,oneof"` +type Node_ArrayCoerceExpr struct { + ArrayCoerceExpr *ArrayCoerceExpr `protobuf:"bytes,27,opt,name=array_coerce_expr,json=ArrayCoerceExpr,proto3,oneof"` } -type Node_AlterTableSpaceOptionsStmt struct { - AlterTableSpaceOptionsStmt *AlterTableSpaceOptionsStmt `protobuf:"bytes,145,opt,name=alter_table_space_options_stmt,json=AlterTableSpaceOptionsStmt,proto3,oneof"` +type Node_ConvertRowtypeExpr struct { + ConvertRowtypeExpr *ConvertRowtypeExpr `protobuf:"bytes,28,opt,name=convert_rowtype_expr,json=ConvertRowtypeExpr,proto3,oneof"` } -type Node_AlterTableMoveAllStmt struct { - AlterTableMoveAllStmt *AlterTableMoveAllStmt `protobuf:"bytes,146,opt,name=alter_table_move_all_stmt,json=AlterTableMoveAllStmt,proto3,oneof"` +type Node_CollateExpr struct { + CollateExpr *CollateExpr `protobuf:"bytes,29,opt,name=collate_expr,json=CollateExpr,proto3,oneof"` } -type Node_SecLabelStmt struct { - SecLabelStmt *SecLabelStmt `protobuf:"bytes,147,opt,name=sec_label_stmt,json=SecLabelStmt,proto3,oneof"` +type Node_CaseExpr struct { + CaseExpr *CaseExpr `protobuf:"bytes,30,opt,name=case_expr,json=CaseExpr,proto3,oneof"` } -type Node_CreateForeignTableStmt struct { - CreateForeignTableStmt *CreateForeignTableStmt `protobuf:"bytes,148,opt,name=create_foreign_table_stmt,json=CreateForeignTableStmt,proto3,oneof"` +type Node_CaseWhen struct { + CaseWhen *CaseWhen `protobuf:"bytes,31,opt,name=case_when,json=CaseWhen,proto3,oneof"` } -type Node_ImportForeignSchemaStmt struct { - ImportForeignSchemaStmt *ImportForeignSchemaStmt `protobuf:"bytes,149,opt,name=import_foreign_schema_stmt,json=ImportForeignSchemaStmt,proto3,oneof"` +type Node_CaseTestExpr struct { + CaseTestExpr *CaseTestExpr `protobuf:"bytes,32,opt,name=case_test_expr,json=CaseTestExpr,proto3,oneof"` } -type Node_CreateExtensionStmt struct { - CreateExtensionStmt *CreateExtensionStmt `protobuf:"bytes,150,opt,name=create_extension_stmt,json=CreateExtensionStmt,proto3,oneof"` +type Node_ArrayExpr struct { + ArrayExpr *ArrayExpr `protobuf:"bytes,33,opt,name=array_expr,json=ArrayExpr,proto3,oneof"` } -type Node_AlterExtensionStmt struct { - AlterExtensionStmt *AlterExtensionStmt `protobuf:"bytes,151,opt,name=alter_extension_stmt,json=AlterExtensionStmt,proto3,oneof"` +type Node_RowExpr struct { + RowExpr *RowExpr `protobuf:"bytes,34,opt,name=row_expr,json=RowExpr,proto3,oneof"` } -type Node_AlterExtensionContentsStmt struct { - AlterExtensionContentsStmt *AlterExtensionContentsStmt `protobuf:"bytes,152,opt,name=alter_extension_contents_stmt,json=AlterExtensionContentsStmt,proto3,oneof"` +type Node_RowCompareExpr struct { + RowCompareExpr *RowCompareExpr `protobuf:"bytes,35,opt,name=row_compare_expr,json=RowCompareExpr,proto3,oneof"` } -type Node_CreateEventTrigStmt struct { - CreateEventTrigStmt *CreateEventTrigStmt `protobuf:"bytes,153,opt,name=create_event_trig_stmt,json=CreateEventTrigStmt,proto3,oneof"` +type Node_CoalesceExpr struct { + CoalesceExpr *CoalesceExpr `protobuf:"bytes,36,opt,name=coalesce_expr,json=CoalesceExpr,proto3,oneof"` } -type Node_AlterEventTrigStmt struct { - AlterEventTrigStmt *AlterEventTrigStmt `protobuf:"bytes,154,opt,name=alter_event_trig_stmt,json=AlterEventTrigStmt,proto3,oneof"` +type Node_MinMaxExpr struct { + MinMaxExpr *MinMaxExpr `protobuf:"bytes,37,opt,name=min_max_expr,json=MinMaxExpr,proto3,oneof"` } -type Node_RefreshMatViewStmt struct { - RefreshMatViewStmt *RefreshMatViewStmt `protobuf:"bytes,155,opt,name=refresh_mat_view_stmt,json=RefreshMatViewStmt,proto3,oneof"` +type Node_SqlvalueFunction struct { + SqlvalueFunction *SQLValueFunction `protobuf:"bytes,38,opt,name=sqlvalue_function,json=SQLValueFunction,proto3,oneof"` } -type Node_ReplicaIdentityStmt struct { - ReplicaIdentityStmt *ReplicaIdentityStmt `protobuf:"bytes,156,opt,name=replica_identity_stmt,json=ReplicaIdentityStmt,proto3,oneof"` +type Node_XmlExpr struct { + XmlExpr *XmlExpr `protobuf:"bytes,39,opt,name=xml_expr,json=XmlExpr,proto3,oneof"` } -type Node_AlterSystemStmt struct { - AlterSystemStmt *AlterSystemStmt `protobuf:"bytes,157,opt,name=alter_system_stmt,json=AlterSystemStmt,proto3,oneof"` +type Node_JsonFormat struct { + JsonFormat *JsonFormat `protobuf:"bytes,40,opt,name=json_format,json=JsonFormat,proto3,oneof"` } -type Node_CreatePolicyStmt struct { - CreatePolicyStmt *CreatePolicyStmt `protobuf:"bytes,158,opt,name=create_policy_stmt,json=CreatePolicyStmt,proto3,oneof"` +type Node_JsonReturning struct { + JsonReturning *JsonReturning `protobuf:"bytes,41,opt,name=json_returning,json=JsonReturning,proto3,oneof"` } -type Node_AlterPolicyStmt struct { - AlterPolicyStmt *AlterPolicyStmt `protobuf:"bytes,159,opt,name=alter_policy_stmt,json=AlterPolicyStmt,proto3,oneof"` +type Node_JsonValueExpr struct { + JsonValueExpr *JsonValueExpr `protobuf:"bytes,42,opt,name=json_value_expr,json=JsonValueExpr,proto3,oneof"` } -type Node_CreateTransformStmt struct { - CreateTransformStmt *CreateTransformStmt `protobuf:"bytes,160,opt,name=create_transform_stmt,json=CreateTransformStmt,proto3,oneof"` +type Node_JsonConstructorExpr struct { + JsonConstructorExpr *JsonConstructorExpr `protobuf:"bytes,43,opt,name=json_constructor_expr,json=JsonConstructorExpr,proto3,oneof"` } -type Node_CreateAmStmt struct { - CreateAmStmt *CreateAmStmt `protobuf:"bytes,161,opt,name=create_am_stmt,json=CreateAmStmt,proto3,oneof"` +type Node_JsonIsPredicate struct { + JsonIsPredicate *JsonIsPredicate `protobuf:"bytes,44,opt,name=json_is_predicate,json=JsonIsPredicate,proto3,oneof"` } -type Node_CreatePublicationStmt struct { - CreatePublicationStmt *CreatePublicationStmt `protobuf:"bytes,162,opt,name=create_publication_stmt,json=CreatePublicationStmt,proto3,oneof"` +type Node_JsonBehavior struct { + JsonBehavior *JsonBehavior `protobuf:"bytes,45,opt,name=json_behavior,json=JsonBehavior,proto3,oneof"` } -type Node_AlterPublicationStmt struct { - AlterPublicationStmt *AlterPublicationStmt `protobuf:"bytes,163,opt,name=alter_publication_stmt,json=AlterPublicationStmt,proto3,oneof"` +type Node_JsonExpr struct { + JsonExpr *JsonExpr `protobuf:"bytes,46,opt,name=json_expr,json=JsonExpr,proto3,oneof"` } -type Node_CreateSubscriptionStmt struct { - CreateSubscriptionStmt *CreateSubscriptionStmt `protobuf:"bytes,164,opt,name=create_subscription_stmt,json=CreateSubscriptionStmt,proto3,oneof"` +type Node_JsonTablePath struct { + JsonTablePath *JsonTablePath `protobuf:"bytes,47,opt,name=json_table_path,json=JsonTablePath,proto3,oneof"` } -type Node_AlterSubscriptionStmt struct { - AlterSubscriptionStmt *AlterSubscriptionStmt `protobuf:"bytes,165,opt,name=alter_subscription_stmt,json=AlterSubscriptionStmt,proto3,oneof"` +type Node_JsonTablePathScan struct { + JsonTablePathScan *JsonTablePathScan `protobuf:"bytes,48,opt,name=json_table_path_scan,json=JsonTablePathScan,proto3,oneof"` } -type Node_DropSubscriptionStmt struct { - DropSubscriptionStmt *DropSubscriptionStmt `protobuf:"bytes,166,opt,name=drop_subscription_stmt,json=DropSubscriptionStmt,proto3,oneof"` +type Node_JsonTableSiblingJoin struct { + JsonTableSiblingJoin *JsonTableSiblingJoin `protobuf:"bytes,49,opt,name=json_table_sibling_join,json=JsonTableSiblingJoin,proto3,oneof"` } -type Node_CreateStatsStmt struct { - CreateStatsStmt *CreateStatsStmt `protobuf:"bytes,167,opt,name=create_stats_stmt,json=CreateStatsStmt,proto3,oneof"` +type Node_NullTest struct { + NullTest *NullTest `protobuf:"bytes,50,opt,name=null_test,json=NullTest,proto3,oneof"` } -type Node_AlterCollationStmt struct { - AlterCollationStmt *AlterCollationStmt `protobuf:"bytes,168,opt,name=alter_collation_stmt,json=AlterCollationStmt,proto3,oneof"` +type Node_BooleanTest struct { + BooleanTest *BooleanTest `protobuf:"bytes,51,opt,name=boolean_test,json=BooleanTest,proto3,oneof"` } -type Node_CallStmt struct { - CallStmt *CallStmt `protobuf:"bytes,169,opt,name=call_stmt,json=CallStmt,proto3,oneof"` +type Node_MergeAction struct { + MergeAction *MergeAction `protobuf:"bytes,52,opt,name=merge_action,json=MergeAction,proto3,oneof"` } -type Node_AlterStatsStmt struct { - AlterStatsStmt *AlterStatsStmt `protobuf:"bytes,170,opt,name=alter_stats_stmt,json=AlterStatsStmt,proto3,oneof"` +type Node_CoerceToDomain struct { + CoerceToDomain *CoerceToDomain `protobuf:"bytes,53,opt,name=coerce_to_domain,json=CoerceToDomain,proto3,oneof"` } -type Node_AExpr struct { - AExpr *A_Expr `protobuf:"bytes,171,opt,name=a_expr,json=A_Expr,proto3,oneof"` +type Node_CoerceToDomainValue struct { + CoerceToDomainValue *CoerceToDomainValue `protobuf:"bytes,54,opt,name=coerce_to_domain_value,json=CoerceToDomainValue,proto3,oneof"` +} + +type Node_SetToDefault struct { + SetToDefault *SetToDefault `protobuf:"bytes,55,opt,name=set_to_default,json=SetToDefault,proto3,oneof"` +} + +type Node_CurrentOfExpr struct { + CurrentOfExpr *CurrentOfExpr `protobuf:"bytes,56,opt,name=current_of_expr,json=CurrentOfExpr,proto3,oneof"` +} + +type Node_NextValueExpr struct { + NextValueExpr *NextValueExpr `protobuf:"bytes,57,opt,name=next_value_expr,json=NextValueExpr,proto3,oneof"` +} + +type Node_InferenceElem struct { + InferenceElem *InferenceElem `protobuf:"bytes,58,opt,name=inference_elem,json=InferenceElem,proto3,oneof"` +} + +type Node_TargetEntry struct { + TargetEntry *TargetEntry `protobuf:"bytes,59,opt,name=target_entry,json=TargetEntry,proto3,oneof"` +} + +type Node_RangeTblRef struct { + RangeTblRef *RangeTblRef `protobuf:"bytes,60,opt,name=range_tbl_ref,json=RangeTblRef,proto3,oneof"` +} + +type Node_JoinExpr struct { + JoinExpr *JoinExpr `protobuf:"bytes,61,opt,name=join_expr,json=JoinExpr,proto3,oneof"` +} + +type Node_FromExpr struct { + FromExpr *FromExpr `protobuf:"bytes,62,opt,name=from_expr,json=FromExpr,proto3,oneof"` +} + +type Node_OnConflictExpr struct { + OnConflictExpr *OnConflictExpr `protobuf:"bytes,63,opt,name=on_conflict_expr,json=OnConflictExpr,proto3,oneof"` +} + +type Node_Query struct { + Query *Query `protobuf:"bytes,64,opt,name=query,json=Query,proto3,oneof"` +} + +type Node_TypeName struct { + TypeName *TypeName `protobuf:"bytes,65,opt,name=type_name,json=TypeName,proto3,oneof"` } type Node_ColumnRef struct { - ColumnRef *ColumnRef `protobuf:"bytes,172,opt,name=column_ref,json=ColumnRef,proto3,oneof"` + ColumnRef *ColumnRef `protobuf:"bytes,66,opt,name=column_ref,json=ColumnRef,proto3,oneof"` } type Node_ParamRef struct { - ParamRef *ParamRef `protobuf:"bytes,173,opt,name=param_ref,json=ParamRef,proto3,oneof"` + ParamRef *ParamRef `protobuf:"bytes,67,opt,name=param_ref,json=ParamRef,proto3,oneof"` +} + +type Node_AExpr struct { + AExpr *A_Expr `protobuf:"bytes,68,opt,name=a_expr,json=A_Expr,proto3,oneof"` +} + +type Node_TypeCast struct { + TypeCast *TypeCast `protobuf:"bytes,69,opt,name=type_cast,json=TypeCast,proto3,oneof"` +} + +type Node_CollateClause struct { + CollateClause *CollateClause `protobuf:"bytes,70,opt,name=collate_clause,json=CollateClause,proto3,oneof"` +} + +type Node_RoleSpec struct { + RoleSpec *RoleSpec `protobuf:"bytes,71,opt,name=role_spec,json=RoleSpec,proto3,oneof"` } type Node_FuncCall struct { - FuncCall *FuncCall `protobuf:"bytes,174,opt,name=func_call,json=FuncCall,proto3,oneof"` + FuncCall *FuncCall `protobuf:"bytes,72,opt,name=func_call,json=FuncCall,proto3,oneof"` } type Node_AStar struct { - AStar *A_Star `protobuf:"bytes,175,opt,name=a_star,json=A_Star,proto3,oneof"` + AStar *A_Star `protobuf:"bytes,73,opt,name=a_star,json=A_Star,proto3,oneof"` } type Node_AIndices struct { - AIndices *A_Indices `protobuf:"bytes,176,opt,name=a_indices,json=A_Indices,proto3,oneof"` + AIndices *A_Indices `protobuf:"bytes,74,opt,name=a_indices,json=A_Indices,proto3,oneof"` } type Node_AIndirection struct { - AIndirection *A_Indirection `protobuf:"bytes,177,opt,name=a_indirection,json=A_Indirection,proto3,oneof"` + AIndirection *A_Indirection `protobuf:"bytes,75,opt,name=a_indirection,json=A_Indirection,proto3,oneof"` } type Node_AArrayExpr struct { - AArrayExpr *A_ArrayExpr `protobuf:"bytes,178,opt,name=a_array_expr,json=A_ArrayExpr,proto3,oneof"` + AArrayExpr *A_ArrayExpr `protobuf:"bytes,76,opt,name=a_array_expr,json=A_ArrayExpr,proto3,oneof"` } type Node_ResTarget struct { - ResTarget *ResTarget `protobuf:"bytes,179,opt,name=res_target,json=ResTarget,proto3,oneof"` + ResTarget *ResTarget `protobuf:"bytes,77,opt,name=res_target,json=ResTarget,proto3,oneof"` } type Node_MultiAssignRef struct { - MultiAssignRef *MultiAssignRef `protobuf:"bytes,180,opt,name=multi_assign_ref,json=MultiAssignRef,proto3,oneof"` -} - -type Node_TypeCast struct { - TypeCast *TypeCast `protobuf:"bytes,181,opt,name=type_cast,json=TypeCast,proto3,oneof"` -} - -type Node_CollateClause struct { - CollateClause *CollateClause `protobuf:"bytes,182,opt,name=collate_clause,json=CollateClause,proto3,oneof"` + MultiAssignRef *MultiAssignRef `protobuf:"bytes,78,opt,name=multi_assign_ref,json=MultiAssignRef,proto3,oneof"` } type Node_SortBy struct { - SortBy *SortBy `protobuf:"bytes,183,opt,name=sort_by,json=SortBy,proto3,oneof"` + SortBy *SortBy `protobuf:"bytes,79,opt,name=sort_by,json=SortBy,proto3,oneof"` } type Node_WindowDef struct { - WindowDef *WindowDef `protobuf:"bytes,184,opt,name=window_def,json=WindowDef,proto3,oneof"` + WindowDef *WindowDef `protobuf:"bytes,80,opt,name=window_def,json=WindowDef,proto3,oneof"` } type Node_RangeSubselect struct { - RangeSubselect *RangeSubselect `protobuf:"bytes,185,opt,name=range_subselect,json=RangeSubselect,proto3,oneof"` + RangeSubselect *RangeSubselect `protobuf:"bytes,81,opt,name=range_subselect,json=RangeSubselect,proto3,oneof"` } type Node_RangeFunction struct { - RangeFunction *RangeFunction `protobuf:"bytes,186,opt,name=range_function,json=RangeFunction,proto3,oneof"` -} - -type Node_RangeTableSample struct { - RangeTableSample *RangeTableSample `protobuf:"bytes,187,opt,name=range_table_sample,json=RangeTableSample,proto3,oneof"` + RangeFunction *RangeFunction `protobuf:"bytes,82,opt,name=range_function,json=RangeFunction,proto3,oneof"` } type Node_RangeTableFunc struct { - RangeTableFunc *RangeTableFunc `protobuf:"bytes,188,opt,name=range_table_func,json=RangeTableFunc,proto3,oneof"` + RangeTableFunc *RangeTableFunc `protobuf:"bytes,83,opt,name=range_table_func,json=RangeTableFunc,proto3,oneof"` } type Node_RangeTableFuncCol struct { - RangeTableFuncCol *RangeTableFuncCol `protobuf:"bytes,189,opt,name=range_table_func_col,json=RangeTableFuncCol,proto3,oneof"` + RangeTableFuncCol *RangeTableFuncCol `protobuf:"bytes,84,opt,name=range_table_func_col,json=RangeTableFuncCol,proto3,oneof"` } -type Node_TypeName struct { - TypeName *TypeName `protobuf:"bytes,190,opt,name=type_name,json=TypeName,proto3,oneof"` +type Node_RangeTableSample struct { + RangeTableSample *RangeTableSample `protobuf:"bytes,85,opt,name=range_table_sample,json=RangeTableSample,proto3,oneof"` } type Node_ColumnDef struct { - ColumnDef *ColumnDef `protobuf:"bytes,191,opt,name=column_def,json=ColumnDef,proto3,oneof"` + ColumnDef *ColumnDef `protobuf:"bytes,86,opt,name=column_def,json=ColumnDef,proto3,oneof"` +} + +type Node_TableLikeClause struct { + TableLikeClause *TableLikeClause `protobuf:"bytes,87,opt,name=table_like_clause,json=TableLikeClause,proto3,oneof"` } type Node_IndexElem struct { - IndexElem *IndexElem `protobuf:"bytes,192,opt,name=index_elem,json=IndexElem,proto3,oneof"` + IndexElem *IndexElem `protobuf:"bytes,88,opt,name=index_elem,json=IndexElem,proto3,oneof"` } -type Node_StatsElem struct { - StatsElem *StatsElem `protobuf:"bytes,193,opt,name=stats_elem,json=StatsElem,proto3,oneof"` +type Node_DefElem struct { + DefElem *DefElem `protobuf:"bytes,89,opt,name=def_elem,json=DefElem,proto3,oneof"` } -type Node_Constraint struct { - Constraint *Constraint `protobuf:"bytes,194,opt,name=constraint,json=Constraint,proto3,oneof"` +type Node_LockingClause struct { + LockingClause *LockingClause `protobuf:"bytes,90,opt,name=locking_clause,json=LockingClause,proto3,oneof"` } -type Node_DefElem struct { - DefElem *DefElem `protobuf:"bytes,195,opt,name=def_elem,json=DefElem,proto3,oneof"` +type Node_XmlSerialize struct { + XmlSerialize *XmlSerialize `protobuf:"bytes,91,opt,name=xml_serialize,json=XmlSerialize,proto3,oneof"` } -type Node_RangeTblEntry struct { - RangeTblEntry *RangeTblEntry `protobuf:"bytes,196,opt,name=range_tbl_entry,json=RangeTblEntry,proto3,oneof"` +type Node_PartitionElem struct { + PartitionElem *PartitionElem `protobuf:"bytes,92,opt,name=partition_elem,json=PartitionElem,proto3,oneof"` } -type Node_RangeTblFunction struct { - RangeTblFunction *RangeTblFunction `protobuf:"bytes,197,opt,name=range_tbl_function,json=RangeTblFunction,proto3,oneof"` +type Node_PartitionSpec struct { + PartitionSpec *PartitionSpec `protobuf:"bytes,93,opt,name=partition_spec,json=PartitionSpec,proto3,oneof"` } -type Node_TableSampleClause struct { - TableSampleClause *TableSampleClause `protobuf:"bytes,198,opt,name=table_sample_clause,json=TableSampleClause,proto3,oneof"` +type Node_PartitionBoundSpec struct { + PartitionBoundSpec *PartitionBoundSpec `protobuf:"bytes,94,opt,name=partition_bound_spec,json=PartitionBoundSpec,proto3,oneof"` } -type Node_WithCheckOption struct { - WithCheckOption *WithCheckOption `protobuf:"bytes,199,opt,name=with_check_option,json=WithCheckOption,proto3,oneof"` +type Node_PartitionRangeDatum struct { + PartitionRangeDatum *PartitionRangeDatum `protobuf:"bytes,95,opt,name=partition_range_datum,json=PartitionRangeDatum,proto3,oneof"` } -type Node_SortGroupClause struct { - SortGroupClause *SortGroupClause `protobuf:"bytes,200,opt,name=sort_group_clause,json=SortGroupClause,proto3,oneof"` +type Node_SinglePartitionSpec struct { + SinglePartitionSpec *SinglePartitionSpec `protobuf:"bytes,96,opt,name=single_partition_spec,json=SinglePartitionSpec,proto3,oneof"` } -type Node_GroupingSet struct { - GroupingSet *GroupingSet `protobuf:"bytes,201,opt,name=grouping_set,json=GroupingSet,proto3,oneof"` +type Node_PartitionCmd struct { + PartitionCmd *PartitionCmd `protobuf:"bytes,97,opt,name=partition_cmd,json=PartitionCmd,proto3,oneof"` } -type Node_WindowClause struct { - WindowClause *WindowClause `protobuf:"bytes,202,opt,name=window_clause,json=WindowClause,proto3,oneof"` +type Node_RangeTblEntry struct { + RangeTblEntry *RangeTblEntry `protobuf:"bytes,98,opt,name=range_tbl_entry,json=RangeTblEntry,proto3,oneof"` } -type Node_ObjectWithArgs struct { - ObjectWithArgs *ObjectWithArgs `protobuf:"bytes,203,opt,name=object_with_args,json=ObjectWithArgs,proto3,oneof"` +type Node_RtepermissionInfo struct { + RtepermissionInfo *RTEPermissionInfo `protobuf:"bytes,99,opt,name=rtepermission_info,json=RTEPermissionInfo,proto3,oneof"` } -type Node_AccessPriv struct { - AccessPriv *AccessPriv `protobuf:"bytes,204,opt,name=access_priv,json=AccessPriv,proto3,oneof"` +type Node_RangeTblFunction struct { + RangeTblFunction *RangeTblFunction `protobuf:"bytes,100,opt,name=range_tbl_function,json=RangeTblFunction,proto3,oneof"` } -type Node_CreateOpClassItem struct { - CreateOpClassItem *CreateOpClassItem `protobuf:"bytes,205,opt,name=create_op_class_item,json=CreateOpClassItem,proto3,oneof"` +type Node_TableSampleClause struct { + TableSampleClause *TableSampleClause `protobuf:"bytes,101,opt,name=table_sample_clause,json=TableSampleClause,proto3,oneof"` } -type Node_TableLikeClause struct { - TableLikeClause *TableLikeClause `protobuf:"bytes,206,opt,name=table_like_clause,json=TableLikeClause,proto3,oneof"` +type Node_WithCheckOption struct { + WithCheckOption *WithCheckOption `protobuf:"bytes,102,opt,name=with_check_option,json=WithCheckOption,proto3,oneof"` } -type Node_FunctionParameter struct { - FunctionParameter *FunctionParameter `protobuf:"bytes,207,opt,name=function_parameter,json=FunctionParameter,proto3,oneof"` +type Node_SortGroupClause struct { + SortGroupClause *SortGroupClause `protobuf:"bytes,103,opt,name=sort_group_clause,json=SortGroupClause,proto3,oneof"` } -type Node_LockingClause struct { - LockingClause *LockingClause `protobuf:"bytes,208,opt,name=locking_clause,json=LockingClause,proto3,oneof"` +type Node_GroupingSet struct { + GroupingSet *GroupingSet `protobuf:"bytes,104,opt,name=grouping_set,json=GroupingSet,proto3,oneof"` } -type Node_RowMarkClause struct { - RowMarkClause *RowMarkClause `protobuf:"bytes,209,opt,name=row_mark_clause,json=RowMarkClause,proto3,oneof"` +type Node_WindowClause struct { + WindowClause *WindowClause `protobuf:"bytes,105,opt,name=window_clause,json=WindowClause,proto3,oneof"` } -type Node_XmlSerialize struct { - XmlSerialize *XmlSerialize `protobuf:"bytes,210,opt,name=xml_serialize,json=XmlSerialize,proto3,oneof"` +type Node_RowMarkClause struct { + RowMarkClause *RowMarkClause `protobuf:"bytes,106,opt,name=row_mark_clause,json=RowMarkClause,proto3,oneof"` } type Node_WithClause struct { - WithClause *WithClause `protobuf:"bytes,211,opt,name=with_clause,json=WithClause,proto3,oneof"` + WithClause *WithClause `protobuf:"bytes,107,opt,name=with_clause,json=WithClause,proto3,oneof"` } type Node_InferClause struct { - InferClause *InferClause `protobuf:"bytes,212,opt,name=infer_clause,json=InferClause,proto3,oneof"` + InferClause *InferClause `protobuf:"bytes,108,opt,name=infer_clause,json=InferClause,proto3,oneof"` } type Node_OnConflictClause struct { - OnConflictClause *OnConflictClause `protobuf:"bytes,213,opt,name=on_conflict_clause,json=OnConflictClause,proto3,oneof"` + OnConflictClause *OnConflictClause `protobuf:"bytes,109,opt,name=on_conflict_clause,json=OnConflictClause,proto3,oneof"` } type Node_CtesearchClause struct { - CtesearchClause *CTESearchClause `protobuf:"bytes,214,opt,name=ctesearch_clause,json=CTESearchClause,proto3,oneof"` + CtesearchClause *CTESearchClause `protobuf:"bytes,110,opt,name=ctesearch_clause,json=CTESearchClause,proto3,oneof"` } type Node_CtecycleClause struct { - CtecycleClause *CTECycleClause `protobuf:"bytes,215,opt,name=ctecycle_clause,json=CTECycleClause,proto3,oneof"` + CtecycleClause *CTECycleClause `protobuf:"bytes,111,opt,name=ctecycle_clause,json=CTECycleClause,proto3,oneof"` } type Node_CommonTableExpr struct { - CommonTableExpr *CommonTableExpr `protobuf:"bytes,216,opt,name=common_table_expr,json=CommonTableExpr,proto3,oneof"` + CommonTableExpr *CommonTableExpr `protobuf:"bytes,112,opt,name=common_table_expr,json=CommonTableExpr,proto3,oneof"` } type Node_MergeWhenClause struct { - MergeWhenClause *MergeWhenClause `protobuf:"bytes,217,opt,name=merge_when_clause,json=MergeWhenClause,proto3,oneof"` + MergeWhenClause *MergeWhenClause `protobuf:"bytes,113,opt,name=merge_when_clause,json=MergeWhenClause,proto3,oneof"` } -type Node_RoleSpec struct { - RoleSpec *RoleSpec `protobuf:"bytes,218,opt,name=role_spec,json=RoleSpec,proto3,oneof"` +type Node_TriggerTransition struct { + TriggerTransition *TriggerTransition `protobuf:"bytes,114,opt,name=trigger_transition,json=TriggerTransition,proto3,oneof"` } -type Node_TriggerTransition struct { - TriggerTransition *TriggerTransition `protobuf:"bytes,219,opt,name=trigger_transition,json=TriggerTransition,proto3,oneof"` +type Node_JsonOutput struct { + JsonOutput *JsonOutput `protobuf:"bytes,115,opt,name=json_output,json=JsonOutput,proto3,oneof"` } -type Node_PartitionElem struct { - PartitionElem *PartitionElem `protobuf:"bytes,220,opt,name=partition_elem,json=PartitionElem,proto3,oneof"` +type Node_JsonArgument struct { + JsonArgument *JsonArgument `protobuf:"bytes,116,opt,name=json_argument,json=JsonArgument,proto3,oneof"` } -type Node_PartitionSpec struct { - PartitionSpec *PartitionSpec `protobuf:"bytes,221,opt,name=partition_spec,json=PartitionSpec,proto3,oneof"` +type Node_JsonFuncExpr struct { + JsonFuncExpr *JsonFuncExpr `protobuf:"bytes,117,opt,name=json_func_expr,json=JsonFuncExpr,proto3,oneof"` } -type Node_PartitionBoundSpec struct { - PartitionBoundSpec *PartitionBoundSpec `protobuf:"bytes,222,opt,name=partition_bound_spec,json=PartitionBoundSpec,proto3,oneof"` +type Node_JsonTablePathSpec struct { + JsonTablePathSpec *JsonTablePathSpec `protobuf:"bytes,118,opt,name=json_table_path_spec,json=JsonTablePathSpec,proto3,oneof"` } -type Node_PartitionRangeDatum struct { - PartitionRangeDatum *PartitionRangeDatum `protobuf:"bytes,223,opt,name=partition_range_datum,json=PartitionRangeDatum,proto3,oneof"` +type Node_JsonTable struct { + JsonTable *JsonTable `protobuf:"bytes,119,opt,name=json_table,json=JsonTable,proto3,oneof"` } -type Node_PartitionCmd struct { - PartitionCmd *PartitionCmd `protobuf:"bytes,224,opt,name=partition_cmd,json=PartitionCmd,proto3,oneof"` +type Node_JsonTableColumn struct { + JsonTableColumn *JsonTableColumn `protobuf:"bytes,120,opt,name=json_table_column,json=JsonTableColumn,proto3,oneof"` } -type Node_VacuumRelation struct { - VacuumRelation *VacuumRelation `protobuf:"bytes,225,opt,name=vacuum_relation,json=VacuumRelation,proto3,oneof"` +type Node_JsonKeyValue struct { + JsonKeyValue *JsonKeyValue `protobuf:"bytes,121,opt,name=json_key_value,json=JsonKeyValue,proto3,oneof"` } -type Node_PublicationObjSpec struct { - PublicationObjSpec *PublicationObjSpec `protobuf:"bytes,226,opt,name=publication_obj_spec,json=PublicationObjSpec,proto3,oneof"` +type Node_JsonParseExpr struct { + JsonParseExpr *JsonParseExpr `protobuf:"bytes,122,opt,name=json_parse_expr,json=JsonParseExpr,proto3,oneof"` } -type Node_PublicationTable struct { - PublicationTable *PublicationTable `protobuf:"bytes,227,opt,name=publication_table,json=PublicationTable,proto3,oneof"` +type Node_JsonScalarExpr struct { + JsonScalarExpr *JsonScalarExpr `protobuf:"bytes,123,opt,name=json_scalar_expr,json=JsonScalarExpr,proto3,oneof"` } -type Node_InlineCodeBlock struct { - InlineCodeBlock *InlineCodeBlock `protobuf:"bytes,228,opt,name=inline_code_block,json=InlineCodeBlock,proto3,oneof"` +type Node_JsonSerializeExpr struct { + JsonSerializeExpr *JsonSerializeExpr `protobuf:"bytes,124,opt,name=json_serialize_expr,json=JsonSerializeExpr,proto3,oneof"` } -type Node_CallContext struct { - CallContext *CallContext `protobuf:"bytes,229,opt,name=call_context,json=CallContext,proto3,oneof"` +type Node_JsonObjectConstructor struct { + JsonObjectConstructor *JsonObjectConstructor `protobuf:"bytes,125,opt,name=json_object_constructor,json=JsonObjectConstructor,proto3,oneof"` } -type Node_Integer struct { - Integer *Integer `protobuf:"bytes,230,opt,name=integer,json=Integer,proto3,oneof"` +type Node_JsonArrayConstructor struct { + JsonArrayConstructor *JsonArrayConstructor `protobuf:"bytes,126,opt,name=json_array_constructor,json=JsonArrayConstructor,proto3,oneof"` } -type Node_Float struct { - Float *Float `protobuf:"bytes,231,opt,name=float,json=Float,proto3,oneof"` +type Node_JsonArrayQueryConstructor struct { + JsonArrayQueryConstructor *JsonArrayQueryConstructor `protobuf:"bytes,127,opt,name=json_array_query_constructor,json=JsonArrayQueryConstructor,proto3,oneof"` } -type Node_Boolean struct { - Boolean *Boolean `protobuf:"bytes,232,opt,name=boolean,json=Boolean,proto3,oneof"` +type Node_JsonAggConstructor struct { + JsonAggConstructor *JsonAggConstructor `protobuf:"bytes,128,opt,name=json_agg_constructor,json=JsonAggConstructor,proto3,oneof"` } -type Node_String_ struct { - String_ *String `protobuf:"bytes,233,opt,name=string,json=String,proto3,oneof"` +type Node_JsonObjectAgg struct { + JsonObjectAgg *JsonObjectAgg `protobuf:"bytes,129,opt,name=json_object_agg,json=JsonObjectAgg,proto3,oneof"` } -type Node_BitString struct { - BitString *BitString `protobuf:"bytes,234,opt,name=bit_string,json=BitString,proto3,oneof"` +type Node_JsonArrayAgg struct { + JsonArrayAgg *JsonArrayAgg `protobuf:"bytes,130,opt,name=json_array_agg,json=JsonArrayAgg,proto3,oneof"` } -type Node_List struct { - List *List `protobuf:"bytes,235,opt,name=list,json=List,proto3,oneof"` +type Node_RawStmt struct { + RawStmt *RawStmt `protobuf:"bytes,131,opt,name=raw_stmt,json=RawStmt,proto3,oneof"` } -type Node_IntList struct { - IntList *IntList `protobuf:"bytes,236,opt,name=int_list,json=IntList,proto3,oneof"` +type Node_InsertStmt struct { + InsertStmt *InsertStmt `protobuf:"bytes,132,opt,name=insert_stmt,json=InsertStmt,proto3,oneof"` } -type Node_OidList struct { - OidList *OidList `protobuf:"bytes,237,opt,name=oid_list,json=OidList,proto3,oneof"` +type Node_DeleteStmt struct { + DeleteStmt *DeleteStmt `protobuf:"bytes,133,opt,name=delete_stmt,json=DeleteStmt,proto3,oneof"` } -type Node_AConst struct { - AConst *A_Const `protobuf:"bytes,238,opt,name=a_const,json=A_Const,proto3,oneof"` +type Node_UpdateStmt struct { + UpdateStmt *UpdateStmt `protobuf:"bytes,134,opt,name=update_stmt,json=UpdateStmt,proto3,oneof"` } -func (*Node_Alias) isNode_Node() {} +type Node_MergeStmt struct { + MergeStmt *MergeStmt `protobuf:"bytes,135,opt,name=merge_stmt,json=MergeStmt,proto3,oneof"` +} -func (*Node_RangeVar) isNode_Node() {} +type Node_SelectStmt struct { + SelectStmt *SelectStmt `protobuf:"bytes,136,opt,name=select_stmt,json=SelectStmt,proto3,oneof"` +} -func (*Node_TableFunc) isNode_Node() {} +type Node_SetOperationStmt struct { + SetOperationStmt *SetOperationStmt `protobuf:"bytes,137,opt,name=set_operation_stmt,json=SetOperationStmt,proto3,oneof"` +} -func (*Node_Var) isNode_Node() {} +type Node_ReturnStmt struct { + ReturnStmt *ReturnStmt `protobuf:"bytes,138,opt,name=return_stmt,json=ReturnStmt,proto3,oneof"` +} -func (*Node_Param) isNode_Node() {} +type Node_PlassignStmt struct { + PlassignStmt *PLAssignStmt `protobuf:"bytes,139,opt,name=plassign_stmt,json=PLAssignStmt,proto3,oneof"` +} -func (*Node_Aggref) isNode_Node() {} +type Node_CreateSchemaStmt struct { + CreateSchemaStmt *CreateSchemaStmt `protobuf:"bytes,140,opt,name=create_schema_stmt,json=CreateSchemaStmt,proto3,oneof"` +} -func (*Node_GroupingFunc) isNode_Node() {} +type Node_AlterTableStmt struct { + AlterTableStmt *AlterTableStmt `protobuf:"bytes,141,opt,name=alter_table_stmt,json=AlterTableStmt,proto3,oneof"` +} -func (*Node_WindowFunc) isNode_Node() {} +type Node_ReplicaIdentityStmt struct { + ReplicaIdentityStmt *ReplicaIdentityStmt `protobuf:"bytes,142,opt,name=replica_identity_stmt,json=ReplicaIdentityStmt,proto3,oneof"` +} -func (*Node_SubscriptingRef) isNode_Node() {} +type Node_AlterTableCmd struct { + AlterTableCmd *AlterTableCmd `protobuf:"bytes,143,opt,name=alter_table_cmd,json=AlterTableCmd,proto3,oneof"` +} -func (*Node_FuncExpr) isNode_Node() {} +type Node_AlterCollationStmt struct { + AlterCollationStmt *AlterCollationStmt `protobuf:"bytes,144,opt,name=alter_collation_stmt,json=AlterCollationStmt,proto3,oneof"` +} -func (*Node_NamedArgExpr) isNode_Node() {} +type Node_AlterDomainStmt struct { + AlterDomainStmt *AlterDomainStmt `protobuf:"bytes,145,opt,name=alter_domain_stmt,json=AlterDomainStmt,proto3,oneof"` +} -func (*Node_OpExpr) isNode_Node() {} +type Node_GrantStmt struct { + GrantStmt *GrantStmt `protobuf:"bytes,146,opt,name=grant_stmt,json=GrantStmt,proto3,oneof"` +} -func (*Node_DistinctExpr) isNode_Node() {} +type Node_ObjectWithArgs struct { + ObjectWithArgs *ObjectWithArgs `protobuf:"bytes,147,opt,name=object_with_args,json=ObjectWithArgs,proto3,oneof"` +} -func (*Node_NullIfExpr) isNode_Node() {} +type Node_AccessPriv struct { + AccessPriv *AccessPriv `protobuf:"bytes,148,opt,name=access_priv,json=AccessPriv,proto3,oneof"` +} -func (*Node_ScalarArrayOpExpr) isNode_Node() {} +type Node_GrantRoleStmt struct { + GrantRoleStmt *GrantRoleStmt `protobuf:"bytes,149,opt,name=grant_role_stmt,json=GrantRoleStmt,proto3,oneof"` +} -func (*Node_BoolExpr) isNode_Node() {} +type Node_AlterDefaultPrivilegesStmt struct { + AlterDefaultPrivilegesStmt *AlterDefaultPrivilegesStmt `protobuf:"bytes,150,opt,name=alter_default_privileges_stmt,json=AlterDefaultPrivilegesStmt,proto3,oneof"` +} -func (*Node_SubLink) isNode_Node() {} +type Node_CopyStmt struct { + CopyStmt *CopyStmt `protobuf:"bytes,151,opt,name=copy_stmt,json=CopyStmt,proto3,oneof"` +} -func (*Node_SubPlan) isNode_Node() {} +type Node_VariableSetStmt struct { + VariableSetStmt *VariableSetStmt `protobuf:"bytes,152,opt,name=variable_set_stmt,json=VariableSetStmt,proto3,oneof"` +} -func (*Node_AlternativeSubPlan) isNode_Node() {} +type Node_VariableShowStmt struct { + VariableShowStmt *VariableShowStmt `protobuf:"bytes,153,opt,name=variable_show_stmt,json=VariableShowStmt,proto3,oneof"` +} -func (*Node_FieldSelect) isNode_Node() {} +type Node_CreateStmt struct { + CreateStmt *CreateStmt `protobuf:"bytes,154,opt,name=create_stmt,json=CreateStmt,proto3,oneof"` +} -func (*Node_FieldStore) isNode_Node() {} +type Node_Constraint struct { + Constraint *Constraint `protobuf:"bytes,155,opt,name=constraint,json=Constraint,proto3,oneof"` +} -func (*Node_RelabelType) isNode_Node() {} +type Node_CreateTableSpaceStmt struct { + CreateTableSpaceStmt *CreateTableSpaceStmt `protobuf:"bytes,156,opt,name=create_table_space_stmt,json=CreateTableSpaceStmt,proto3,oneof"` +} -func (*Node_CoerceViaIo) isNode_Node() {} +type Node_DropTableSpaceStmt struct { + DropTableSpaceStmt *DropTableSpaceStmt `protobuf:"bytes,157,opt,name=drop_table_space_stmt,json=DropTableSpaceStmt,proto3,oneof"` +} -func (*Node_ArrayCoerceExpr) isNode_Node() {} +type Node_AlterTableSpaceOptionsStmt struct { + AlterTableSpaceOptionsStmt *AlterTableSpaceOptionsStmt `protobuf:"bytes,158,opt,name=alter_table_space_options_stmt,json=AlterTableSpaceOptionsStmt,proto3,oneof"` +} -func (*Node_ConvertRowtypeExpr) isNode_Node() {} +type Node_AlterTableMoveAllStmt struct { + AlterTableMoveAllStmt *AlterTableMoveAllStmt `protobuf:"bytes,159,opt,name=alter_table_move_all_stmt,json=AlterTableMoveAllStmt,proto3,oneof"` +} -func (*Node_CollateExpr) isNode_Node() {} +type Node_CreateExtensionStmt struct { + CreateExtensionStmt *CreateExtensionStmt `protobuf:"bytes,160,opt,name=create_extension_stmt,json=CreateExtensionStmt,proto3,oneof"` +} -func (*Node_CaseExpr) isNode_Node() {} +type Node_AlterExtensionStmt struct { + AlterExtensionStmt *AlterExtensionStmt `protobuf:"bytes,161,opt,name=alter_extension_stmt,json=AlterExtensionStmt,proto3,oneof"` +} -func (*Node_CaseWhen) isNode_Node() {} +type Node_AlterExtensionContentsStmt struct { + AlterExtensionContentsStmt *AlterExtensionContentsStmt `protobuf:"bytes,162,opt,name=alter_extension_contents_stmt,json=AlterExtensionContentsStmt,proto3,oneof"` +} -func (*Node_CaseTestExpr) isNode_Node() {} +type Node_CreateFdwStmt struct { + CreateFdwStmt *CreateFdwStmt `protobuf:"bytes,163,opt,name=create_fdw_stmt,json=CreateFdwStmt,proto3,oneof"` +} -func (*Node_ArrayExpr) isNode_Node() {} +type Node_AlterFdwStmt struct { + AlterFdwStmt *AlterFdwStmt `protobuf:"bytes,164,opt,name=alter_fdw_stmt,json=AlterFdwStmt,proto3,oneof"` +} -func (*Node_RowExpr) isNode_Node() {} +type Node_CreateForeignServerStmt struct { + CreateForeignServerStmt *CreateForeignServerStmt `protobuf:"bytes,165,opt,name=create_foreign_server_stmt,json=CreateForeignServerStmt,proto3,oneof"` +} -func (*Node_RowCompareExpr) isNode_Node() {} +type Node_AlterForeignServerStmt struct { + AlterForeignServerStmt *AlterForeignServerStmt `protobuf:"bytes,166,opt,name=alter_foreign_server_stmt,json=AlterForeignServerStmt,proto3,oneof"` +} -func (*Node_CoalesceExpr) isNode_Node() {} +type Node_CreateForeignTableStmt struct { + CreateForeignTableStmt *CreateForeignTableStmt `protobuf:"bytes,167,opt,name=create_foreign_table_stmt,json=CreateForeignTableStmt,proto3,oneof"` +} -func (*Node_MinMaxExpr) isNode_Node() {} +type Node_CreateUserMappingStmt struct { + CreateUserMappingStmt *CreateUserMappingStmt `protobuf:"bytes,168,opt,name=create_user_mapping_stmt,json=CreateUserMappingStmt,proto3,oneof"` +} -func (*Node_SqlvalueFunction) isNode_Node() {} +type Node_AlterUserMappingStmt struct { + AlterUserMappingStmt *AlterUserMappingStmt `protobuf:"bytes,169,opt,name=alter_user_mapping_stmt,json=AlterUserMappingStmt,proto3,oneof"` +} -func (*Node_XmlExpr) isNode_Node() {} +type Node_DropUserMappingStmt struct { + DropUserMappingStmt *DropUserMappingStmt `protobuf:"bytes,170,opt,name=drop_user_mapping_stmt,json=DropUserMappingStmt,proto3,oneof"` +} -func (*Node_NullTest) isNode_Node() {} +type Node_ImportForeignSchemaStmt struct { + ImportForeignSchemaStmt *ImportForeignSchemaStmt `protobuf:"bytes,171,opt,name=import_foreign_schema_stmt,json=ImportForeignSchemaStmt,proto3,oneof"` +} -func (*Node_BooleanTest) isNode_Node() {} +type Node_CreatePolicyStmt struct { + CreatePolicyStmt *CreatePolicyStmt `protobuf:"bytes,172,opt,name=create_policy_stmt,json=CreatePolicyStmt,proto3,oneof"` +} -func (*Node_CoerceToDomain) isNode_Node() {} +type Node_AlterPolicyStmt struct { + AlterPolicyStmt *AlterPolicyStmt `protobuf:"bytes,173,opt,name=alter_policy_stmt,json=AlterPolicyStmt,proto3,oneof"` +} -func (*Node_CoerceToDomainValue) isNode_Node() {} +type Node_CreateAmStmt struct { + CreateAmStmt *CreateAmStmt `protobuf:"bytes,174,opt,name=create_am_stmt,json=CreateAmStmt,proto3,oneof"` +} -func (*Node_SetToDefault) isNode_Node() {} +type Node_CreateTrigStmt struct { + CreateTrigStmt *CreateTrigStmt `protobuf:"bytes,175,opt,name=create_trig_stmt,json=CreateTrigStmt,proto3,oneof"` +} -func (*Node_CurrentOfExpr) isNode_Node() {} +type Node_CreateEventTrigStmt struct { + CreateEventTrigStmt *CreateEventTrigStmt `protobuf:"bytes,176,opt,name=create_event_trig_stmt,json=CreateEventTrigStmt,proto3,oneof"` +} -func (*Node_NextValueExpr) isNode_Node() {} +type Node_AlterEventTrigStmt struct { + AlterEventTrigStmt *AlterEventTrigStmt `protobuf:"bytes,177,opt,name=alter_event_trig_stmt,json=AlterEventTrigStmt,proto3,oneof"` +} -func (*Node_InferenceElem) isNode_Node() {} +type Node_CreatePlangStmt struct { + CreatePlangStmt *CreatePLangStmt `protobuf:"bytes,178,opt,name=create_plang_stmt,json=CreatePLangStmt,proto3,oneof"` +} -func (*Node_TargetEntry) isNode_Node() {} +type Node_CreateRoleStmt struct { + CreateRoleStmt *CreateRoleStmt `protobuf:"bytes,179,opt,name=create_role_stmt,json=CreateRoleStmt,proto3,oneof"` +} -func (*Node_RangeTblRef) isNode_Node() {} +type Node_AlterRoleStmt struct { + AlterRoleStmt *AlterRoleStmt `protobuf:"bytes,180,opt,name=alter_role_stmt,json=AlterRoleStmt,proto3,oneof"` +} -func (*Node_JoinExpr) isNode_Node() {} +type Node_AlterRoleSetStmt struct { + AlterRoleSetStmt *AlterRoleSetStmt `protobuf:"bytes,181,opt,name=alter_role_set_stmt,json=AlterRoleSetStmt,proto3,oneof"` +} -func (*Node_FromExpr) isNode_Node() {} +type Node_DropRoleStmt struct { + DropRoleStmt *DropRoleStmt `protobuf:"bytes,182,opt,name=drop_role_stmt,json=DropRoleStmt,proto3,oneof"` +} -func (*Node_OnConflictExpr) isNode_Node() {} +type Node_CreateSeqStmt struct { + CreateSeqStmt *CreateSeqStmt `protobuf:"bytes,183,opt,name=create_seq_stmt,json=CreateSeqStmt,proto3,oneof"` +} -func (*Node_IntoClause) isNode_Node() {} +type Node_AlterSeqStmt struct { + AlterSeqStmt *AlterSeqStmt `protobuf:"bytes,184,opt,name=alter_seq_stmt,json=AlterSeqStmt,proto3,oneof"` +} -func (*Node_MergeAction) isNode_Node() {} +type Node_DefineStmt struct { + DefineStmt *DefineStmt `protobuf:"bytes,185,opt,name=define_stmt,json=DefineStmt,proto3,oneof"` +} -func (*Node_RawStmt) isNode_Node() {} +type Node_CreateDomainStmt struct { + CreateDomainStmt *CreateDomainStmt `protobuf:"bytes,186,opt,name=create_domain_stmt,json=CreateDomainStmt,proto3,oneof"` +} -func (*Node_Query) isNode_Node() {} +type Node_CreateOpClassStmt struct { + CreateOpClassStmt *CreateOpClassStmt `protobuf:"bytes,187,opt,name=create_op_class_stmt,json=CreateOpClassStmt,proto3,oneof"` +} -func (*Node_InsertStmt) isNode_Node() {} +type Node_CreateOpClassItem struct { + CreateOpClassItem *CreateOpClassItem `protobuf:"bytes,188,opt,name=create_op_class_item,json=CreateOpClassItem,proto3,oneof"` +} -func (*Node_DeleteStmt) isNode_Node() {} +type Node_CreateOpFamilyStmt struct { + CreateOpFamilyStmt *CreateOpFamilyStmt `protobuf:"bytes,189,opt,name=create_op_family_stmt,json=CreateOpFamilyStmt,proto3,oneof"` +} -func (*Node_UpdateStmt) isNode_Node() {} +type Node_AlterOpFamilyStmt struct { + AlterOpFamilyStmt *AlterOpFamilyStmt `protobuf:"bytes,190,opt,name=alter_op_family_stmt,json=AlterOpFamilyStmt,proto3,oneof"` +} -func (*Node_MergeStmt) isNode_Node() {} +type Node_DropStmt struct { + DropStmt *DropStmt `protobuf:"bytes,191,opt,name=drop_stmt,json=DropStmt,proto3,oneof"` +} -func (*Node_SelectStmt) isNode_Node() {} +type Node_TruncateStmt struct { + TruncateStmt *TruncateStmt `protobuf:"bytes,192,opt,name=truncate_stmt,json=TruncateStmt,proto3,oneof"` +} -func (*Node_ReturnStmt) isNode_Node() {} +type Node_CommentStmt struct { + CommentStmt *CommentStmt `protobuf:"bytes,193,opt,name=comment_stmt,json=CommentStmt,proto3,oneof"` +} -func (*Node_PlassignStmt) isNode_Node() {} +type Node_SecLabelStmt struct { + SecLabelStmt *SecLabelStmt `protobuf:"bytes,194,opt,name=sec_label_stmt,json=SecLabelStmt,proto3,oneof"` +} -func (*Node_AlterTableStmt) isNode_Node() {} +type Node_DeclareCursorStmt struct { + DeclareCursorStmt *DeclareCursorStmt `protobuf:"bytes,195,opt,name=declare_cursor_stmt,json=DeclareCursorStmt,proto3,oneof"` +} -func (*Node_AlterTableCmd) isNode_Node() {} +type Node_ClosePortalStmt struct { + ClosePortalStmt *ClosePortalStmt `protobuf:"bytes,196,opt,name=close_portal_stmt,json=ClosePortalStmt,proto3,oneof"` +} -func (*Node_AlterDomainStmt) isNode_Node() {} +type Node_FetchStmt struct { + FetchStmt *FetchStmt `protobuf:"bytes,197,opt,name=fetch_stmt,json=FetchStmt,proto3,oneof"` +} -func (*Node_SetOperationStmt) isNode_Node() {} +type Node_IndexStmt struct { + IndexStmt *IndexStmt `protobuf:"bytes,198,opt,name=index_stmt,json=IndexStmt,proto3,oneof"` +} -func (*Node_GrantStmt) isNode_Node() {} +type Node_CreateStatsStmt struct { + CreateStatsStmt *CreateStatsStmt `protobuf:"bytes,199,opt,name=create_stats_stmt,json=CreateStatsStmt,proto3,oneof"` +} -func (*Node_GrantRoleStmt) isNode_Node() {} +type Node_StatsElem struct { + StatsElem *StatsElem `protobuf:"bytes,200,opt,name=stats_elem,json=StatsElem,proto3,oneof"` +} -func (*Node_AlterDefaultPrivilegesStmt) isNode_Node() {} +type Node_AlterStatsStmt struct { + AlterStatsStmt *AlterStatsStmt `protobuf:"bytes,201,opt,name=alter_stats_stmt,json=AlterStatsStmt,proto3,oneof"` +} -func (*Node_ClosePortalStmt) isNode_Node() {} +type Node_CreateFunctionStmt struct { + CreateFunctionStmt *CreateFunctionStmt `protobuf:"bytes,202,opt,name=create_function_stmt,json=CreateFunctionStmt,proto3,oneof"` +} -func (*Node_ClusterStmt) isNode_Node() {} +type Node_FunctionParameter struct { + FunctionParameter *FunctionParameter `protobuf:"bytes,203,opt,name=function_parameter,json=FunctionParameter,proto3,oneof"` +} -func (*Node_CopyStmt) isNode_Node() {} +type Node_AlterFunctionStmt struct { + AlterFunctionStmt *AlterFunctionStmt `protobuf:"bytes,204,opt,name=alter_function_stmt,json=AlterFunctionStmt,proto3,oneof"` +} -func (*Node_CreateStmt) isNode_Node() {} +type Node_DoStmt struct { + DoStmt *DoStmt `protobuf:"bytes,205,opt,name=do_stmt,json=DoStmt,proto3,oneof"` +} -func (*Node_DefineStmt) isNode_Node() {} +type Node_InlineCodeBlock struct { + InlineCodeBlock *InlineCodeBlock `protobuf:"bytes,206,opt,name=inline_code_block,json=InlineCodeBlock,proto3,oneof"` +} -func (*Node_DropStmt) isNode_Node() {} +type Node_CallStmt struct { + CallStmt *CallStmt `protobuf:"bytes,207,opt,name=call_stmt,json=CallStmt,proto3,oneof"` +} -func (*Node_TruncateStmt) isNode_Node() {} +type Node_CallContext struct { + CallContext *CallContext `protobuf:"bytes,208,opt,name=call_context,json=CallContext,proto3,oneof"` +} -func (*Node_CommentStmt) isNode_Node() {} +type Node_RenameStmt struct { + RenameStmt *RenameStmt `protobuf:"bytes,209,opt,name=rename_stmt,json=RenameStmt,proto3,oneof"` +} -func (*Node_FetchStmt) isNode_Node() {} +type Node_AlterObjectDependsStmt struct { + AlterObjectDependsStmt *AlterObjectDependsStmt `protobuf:"bytes,210,opt,name=alter_object_depends_stmt,json=AlterObjectDependsStmt,proto3,oneof"` +} -func (*Node_IndexStmt) isNode_Node() {} +type Node_AlterObjectSchemaStmt struct { + AlterObjectSchemaStmt *AlterObjectSchemaStmt `protobuf:"bytes,211,opt,name=alter_object_schema_stmt,json=AlterObjectSchemaStmt,proto3,oneof"` +} -func (*Node_CreateFunctionStmt) isNode_Node() {} +type Node_AlterOwnerStmt struct { + AlterOwnerStmt *AlterOwnerStmt `protobuf:"bytes,212,opt,name=alter_owner_stmt,json=AlterOwnerStmt,proto3,oneof"` +} -func (*Node_AlterFunctionStmt) isNode_Node() {} +type Node_AlterOperatorStmt struct { + AlterOperatorStmt *AlterOperatorStmt `protobuf:"bytes,213,opt,name=alter_operator_stmt,json=AlterOperatorStmt,proto3,oneof"` +} -func (*Node_DoStmt) isNode_Node() {} +type Node_AlterTypeStmt struct { + AlterTypeStmt *AlterTypeStmt `protobuf:"bytes,214,opt,name=alter_type_stmt,json=AlterTypeStmt,proto3,oneof"` +} -func (*Node_RenameStmt) isNode_Node() {} +type Node_RuleStmt struct { + RuleStmt *RuleStmt `protobuf:"bytes,215,opt,name=rule_stmt,json=RuleStmt,proto3,oneof"` +} -func (*Node_RuleStmt) isNode_Node() {} +type Node_NotifyStmt struct { + NotifyStmt *NotifyStmt `protobuf:"bytes,216,opt,name=notify_stmt,json=NotifyStmt,proto3,oneof"` +} -func (*Node_NotifyStmt) isNode_Node() {} +type Node_ListenStmt struct { + ListenStmt *ListenStmt `protobuf:"bytes,217,opt,name=listen_stmt,json=ListenStmt,proto3,oneof"` +} -func (*Node_ListenStmt) isNode_Node() {} +type Node_UnlistenStmt struct { + UnlistenStmt *UnlistenStmt `protobuf:"bytes,218,opt,name=unlisten_stmt,json=UnlistenStmt,proto3,oneof"` +} -func (*Node_UnlistenStmt) isNode_Node() {} +type Node_TransactionStmt struct { + TransactionStmt *TransactionStmt `protobuf:"bytes,219,opt,name=transaction_stmt,json=TransactionStmt,proto3,oneof"` +} -func (*Node_TransactionStmt) isNode_Node() {} +type Node_CompositeTypeStmt struct { + CompositeTypeStmt *CompositeTypeStmt `protobuf:"bytes,220,opt,name=composite_type_stmt,json=CompositeTypeStmt,proto3,oneof"` +} -func (*Node_ViewStmt) isNode_Node() {} +type Node_CreateEnumStmt struct { + CreateEnumStmt *CreateEnumStmt `protobuf:"bytes,221,opt,name=create_enum_stmt,json=CreateEnumStmt,proto3,oneof"` +} -func (*Node_LoadStmt) isNode_Node() {} +type Node_CreateRangeStmt struct { + CreateRangeStmt *CreateRangeStmt `protobuf:"bytes,222,opt,name=create_range_stmt,json=CreateRangeStmt,proto3,oneof"` +} -func (*Node_CreateDomainStmt) isNode_Node() {} +type Node_AlterEnumStmt struct { + AlterEnumStmt *AlterEnumStmt `protobuf:"bytes,223,opt,name=alter_enum_stmt,json=AlterEnumStmt,proto3,oneof"` +} -func (*Node_CreatedbStmt) isNode_Node() {} +type Node_ViewStmt struct { + ViewStmt *ViewStmt `protobuf:"bytes,224,opt,name=view_stmt,json=ViewStmt,proto3,oneof"` +} -func (*Node_DropdbStmt) isNode_Node() {} +type Node_LoadStmt struct { + LoadStmt *LoadStmt `protobuf:"bytes,225,opt,name=load_stmt,json=LoadStmt,proto3,oneof"` +} -func (*Node_VacuumStmt) isNode_Node() {} +type Node_CreatedbStmt struct { + CreatedbStmt *CreatedbStmt `protobuf:"bytes,226,opt,name=createdb_stmt,json=CreatedbStmt,proto3,oneof"` +} -func (*Node_ExplainStmt) isNode_Node() {} +type Node_AlterDatabaseStmt struct { + AlterDatabaseStmt *AlterDatabaseStmt `protobuf:"bytes,227,opt,name=alter_database_stmt,json=AlterDatabaseStmt,proto3,oneof"` +} -func (*Node_CreateTableAsStmt) isNode_Node() {} +type Node_AlterDatabaseRefreshCollStmt struct { + AlterDatabaseRefreshCollStmt *AlterDatabaseRefreshCollStmt `protobuf:"bytes,228,opt,name=alter_database_refresh_coll_stmt,json=AlterDatabaseRefreshCollStmt,proto3,oneof"` +} -func (*Node_CreateSeqStmt) isNode_Node() {} +type Node_AlterDatabaseSetStmt struct { + AlterDatabaseSetStmt *AlterDatabaseSetStmt `protobuf:"bytes,229,opt,name=alter_database_set_stmt,json=AlterDatabaseSetStmt,proto3,oneof"` +} -func (*Node_AlterSeqStmt) isNode_Node() {} +type Node_DropdbStmt struct { + DropdbStmt *DropdbStmt `protobuf:"bytes,230,opt,name=dropdb_stmt,json=DropdbStmt,proto3,oneof"` +} -func (*Node_VariableSetStmt) isNode_Node() {} +type Node_AlterSystemStmt struct { + AlterSystemStmt *AlterSystemStmt `protobuf:"bytes,231,opt,name=alter_system_stmt,json=AlterSystemStmt,proto3,oneof"` +} -func (*Node_VariableShowStmt) isNode_Node() {} +type Node_ClusterStmt struct { + ClusterStmt *ClusterStmt `protobuf:"bytes,232,opt,name=cluster_stmt,json=ClusterStmt,proto3,oneof"` +} -func (*Node_DiscardStmt) isNode_Node() {} +type Node_VacuumStmt struct { + VacuumStmt *VacuumStmt `protobuf:"bytes,233,opt,name=vacuum_stmt,json=VacuumStmt,proto3,oneof"` +} -func (*Node_CreateTrigStmt) isNode_Node() {} +type Node_VacuumRelation struct { + VacuumRelation *VacuumRelation `protobuf:"bytes,234,opt,name=vacuum_relation,json=VacuumRelation,proto3,oneof"` +} -func (*Node_CreatePlangStmt) isNode_Node() {} +type Node_ExplainStmt struct { + ExplainStmt *ExplainStmt `protobuf:"bytes,235,opt,name=explain_stmt,json=ExplainStmt,proto3,oneof"` +} -func (*Node_CreateRoleStmt) isNode_Node() {} +type Node_CreateTableAsStmt struct { + CreateTableAsStmt *CreateTableAsStmt `protobuf:"bytes,236,opt,name=create_table_as_stmt,json=CreateTableAsStmt,proto3,oneof"` +} -func (*Node_AlterRoleStmt) isNode_Node() {} +type Node_RefreshMatViewStmt struct { + RefreshMatViewStmt *RefreshMatViewStmt `protobuf:"bytes,237,opt,name=refresh_mat_view_stmt,json=RefreshMatViewStmt,proto3,oneof"` +} -func (*Node_DropRoleStmt) isNode_Node() {} +type Node_CheckPointStmt struct { + CheckPointStmt *CheckPointStmt `protobuf:"bytes,238,opt,name=check_point_stmt,json=CheckPointStmt,proto3,oneof"` +} -func (*Node_LockStmt) isNode_Node() {} +type Node_DiscardStmt struct { + DiscardStmt *DiscardStmt `protobuf:"bytes,239,opt,name=discard_stmt,json=DiscardStmt,proto3,oneof"` +} -func (*Node_ConstraintsSetStmt) isNode_Node() {} +type Node_LockStmt struct { + LockStmt *LockStmt `protobuf:"bytes,240,opt,name=lock_stmt,json=LockStmt,proto3,oneof"` +} -func (*Node_ReindexStmt) isNode_Node() {} +type Node_ConstraintsSetStmt struct { + ConstraintsSetStmt *ConstraintsSetStmt `protobuf:"bytes,241,opt,name=constraints_set_stmt,json=ConstraintsSetStmt,proto3,oneof"` +} -func (*Node_CheckPointStmt) isNode_Node() {} +type Node_ReindexStmt struct { + ReindexStmt *ReindexStmt `protobuf:"bytes,242,opt,name=reindex_stmt,json=ReindexStmt,proto3,oneof"` +} -func (*Node_CreateSchemaStmt) isNode_Node() {} +type Node_CreateConversionStmt struct { + CreateConversionStmt *CreateConversionStmt `protobuf:"bytes,243,opt,name=create_conversion_stmt,json=CreateConversionStmt,proto3,oneof"` +} -func (*Node_AlterDatabaseStmt) isNode_Node() {} +type Node_CreateCastStmt struct { + CreateCastStmt *CreateCastStmt `protobuf:"bytes,244,opt,name=create_cast_stmt,json=CreateCastStmt,proto3,oneof"` +} -func (*Node_AlterDatabaseRefreshCollStmt) isNode_Node() {} +type Node_CreateTransformStmt struct { + CreateTransformStmt *CreateTransformStmt `protobuf:"bytes,245,opt,name=create_transform_stmt,json=CreateTransformStmt,proto3,oneof"` +} -func (*Node_AlterDatabaseSetStmt) isNode_Node() {} +type Node_PrepareStmt struct { + PrepareStmt *PrepareStmt `protobuf:"bytes,246,opt,name=prepare_stmt,json=PrepareStmt,proto3,oneof"` +} -func (*Node_AlterRoleSetStmt) isNode_Node() {} +type Node_ExecuteStmt struct { + ExecuteStmt *ExecuteStmt `protobuf:"bytes,247,opt,name=execute_stmt,json=ExecuteStmt,proto3,oneof"` +} -func (*Node_CreateConversionStmt) isNode_Node() {} +type Node_DeallocateStmt struct { + DeallocateStmt *DeallocateStmt `protobuf:"bytes,248,opt,name=deallocate_stmt,json=DeallocateStmt,proto3,oneof"` +} -func (*Node_CreateCastStmt) isNode_Node() {} +type Node_DropOwnedStmt struct { + DropOwnedStmt *DropOwnedStmt `protobuf:"bytes,249,opt,name=drop_owned_stmt,json=DropOwnedStmt,proto3,oneof"` +} -func (*Node_CreateOpClassStmt) isNode_Node() {} +type Node_ReassignOwnedStmt struct { + ReassignOwnedStmt *ReassignOwnedStmt `protobuf:"bytes,250,opt,name=reassign_owned_stmt,json=ReassignOwnedStmt,proto3,oneof"` +} -func (*Node_CreateOpFamilyStmt) isNode_Node() {} +type Node_AlterTsdictionaryStmt struct { + AlterTsdictionaryStmt *AlterTSDictionaryStmt `protobuf:"bytes,251,opt,name=alter_tsdictionary_stmt,json=AlterTSDictionaryStmt,proto3,oneof"` +} -func (*Node_AlterOpFamilyStmt) isNode_Node() {} +type Node_AlterTsconfigurationStmt struct { + AlterTsconfigurationStmt *AlterTSConfigurationStmt `protobuf:"bytes,252,opt,name=alter_tsconfiguration_stmt,json=AlterTSConfigurationStmt,proto3,oneof"` +} -func (*Node_PrepareStmt) isNode_Node() {} +type Node_PublicationTable struct { + PublicationTable *PublicationTable `protobuf:"bytes,253,opt,name=publication_table,json=PublicationTable,proto3,oneof"` +} -func (*Node_ExecuteStmt) isNode_Node() {} +type Node_PublicationObjSpec struct { + PublicationObjSpec *PublicationObjSpec `protobuf:"bytes,254,opt,name=publication_obj_spec,json=PublicationObjSpec,proto3,oneof"` +} -func (*Node_DeallocateStmt) isNode_Node() {} +type Node_CreatePublicationStmt struct { + CreatePublicationStmt *CreatePublicationStmt `protobuf:"bytes,255,opt,name=create_publication_stmt,json=CreatePublicationStmt,proto3,oneof"` +} -func (*Node_DeclareCursorStmt) isNode_Node() {} +type Node_AlterPublicationStmt struct { + AlterPublicationStmt *AlterPublicationStmt `protobuf:"bytes,256,opt,name=alter_publication_stmt,json=AlterPublicationStmt,proto3,oneof"` +} -func (*Node_CreateTableSpaceStmt) isNode_Node() {} +type Node_CreateSubscriptionStmt struct { + CreateSubscriptionStmt *CreateSubscriptionStmt `protobuf:"bytes,257,opt,name=create_subscription_stmt,json=CreateSubscriptionStmt,proto3,oneof"` +} -func (*Node_DropTableSpaceStmt) isNode_Node() {} +type Node_AlterSubscriptionStmt struct { + AlterSubscriptionStmt *AlterSubscriptionStmt `protobuf:"bytes,258,opt,name=alter_subscription_stmt,json=AlterSubscriptionStmt,proto3,oneof"` +} -func (*Node_AlterObjectDependsStmt) isNode_Node() {} +type Node_DropSubscriptionStmt struct { + DropSubscriptionStmt *DropSubscriptionStmt `protobuf:"bytes,259,opt,name=drop_subscription_stmt,json=DropSubscriptionStmt,proto3,oneof"` +} -func (*Node_AlterObjectSchemaStmt) isNode_Node() {} +type Node_Integer struct { + Integer *Integer `protobuf:"bytes,260,opt,name=integer,json=Integer,proto3,oneof"` +} -func (*Node_AlterOwnerStmt) isNode_Node() {} +type Node_Float struct { + Float *Float `protobuf:"bytes,261,opt,name=float,json=Float,proto3,oneof"` +} -func (*Node_AlterOperatorStmt) isNode_Node() {} +type Node_Boolean struct { + Boolean *Boolean `protobuf:"bytes,262,opt,name=boolean,json=Boolean,proto3,oneof"` +} -func (*Node_AlterTypeStmt) isNode_Node() {} +type Node_String_ struct { + String_ *String `protobuf:"bytes,263,opt,name=string,json=String,proto3,oneof"` +} -func (*Node_DropOwnedStmt) isNode_Node() {} +type Node_BitString struct { + BitString *BitString `protobuf:"bytes,264,opt,name=bit_string,json=BitString,proto3,oneof"` +} -func (*Node_ReassignOwnedStmt) isNode_Node() {} +type Node_List struct { + List *List `protobuf:"bytes,265,opt,name=list,json=List,proto3,oneof"` +} -func (*Node_CompositeTypeStmt) isNode_Node() {} +type Node_IntList struct { + IntList *IntList `protobuf:"bytes,266,opt,name=int_list,json=IntList,proto3,oneof"` +} -func (*Node_CreateEnumStmt) isNode_Node() {} +type Node_OidList struct { + OidList *OidList `protobuf:"bytes,267,opt,name=oid_list,json=OidList,proto3,oneof"` +} -func (*Node_CreateRangeStmt) isNode_Node() {} +type Node_AConst struct { + AConst *A_Const `protobuf:"bytes,268,opt,name=a_const,json=A_Const,proto3,oneof"` +} -func (*Node_AlterEnumStmt) isNode_Node() {} +func (*Node_Alias) isNode_Node() {} -func (*Node_AlterTsdictionaryStmt) isNode_Node() {} +func (*Node_RangeVar) isNode_Node() {} -func (*Node_AlterTsconfigurationStmt) isNode_Node() {} +func (*Node_TableFunc) isNode_Node() {} -func (*Node_CreateFdwStmt) isNode_Node() {} +func (*Node_IntoClause) isNode_Node() {} -func (*Node_AlterFdwStmt) isNode_Node() {} +func (*Node_Var) isNode_Node() {} -func (*Node_CreateForeignServerStmt) isNode_Node() {} +func (*Node_Param) isNode_Node() {} -func (*Node_AlterForeignServerStmt) isNode_Node() {} +func (*Node_Aggref) isNode_Node() {} -func (*Node_CreateUserMappingStmt) isNode_Node() {} +func (*Node_GroupingFunc) isNode_Node() {} -func (*Node_AlterUserMappingStmt) isNode_Node() {} +func (*Node_WindowFunc) isNode_Node() {} -func (*Node_DropUserMappingStmt) isNode_Node() {} +func (*Node_WindowFuncRunCondition) isNode_Node() {} -func (*Node_AlterTableSpaceOptionsStmt) isNode_Node() {} +func (*Node_MergeSupportFunc) isNode_Node() {} -func (*Node_AlterTableMoveAllStmt) isNode_Node() {} +func (*Node_SubscriptingRef) isNode_Node() {} -func (*Node_SecLabelStmt) isNode_Node() {} +func (*Node_FuncExpr) isNode_Node() {} -func (*Node_CreateForeignTableStmt) isNode_Node() {} +func (*Node_NamedArgExpr) isNode_Node() {} -func (*Node_ImportForeignSchemaStmt) isNode_Node() {} +func (*Node_OpExpr) isNode_Node() {} -func (*Node_CreateExtensionStmt) isNode_Node() {} +func (*Node_DistinctExpr) isNode_Node() {} -func (*Node_AlterExtensionStmt) isNode_Node() {} +func (*Node_NullIfExpr) isNode_Node() {} -func (*Node_AlterExtensionContentsStmt) isNode_Node() {} +func (*Node_ScalarArrayOpExpr) isNode_Node() {} -func (*Node_CreateEventTrigStmt) isNode_Node() {} +func (*Node_BoolExpr) isNode_Node() {} -func (*Node_AlterEventTrigStmt) isNode_Node() {} +func (*Node_SubLink) isNode_Node() {} -func (*Node_RefreshMatViewStmt) isNode_Node() {} +func (*Node_SubPlan) isNode_Node() {} -func (*Node_ReplicaIdentityStmt) isNode_Node() {} +func (*Node_AlternativeSubPlan) isNode_Node() {} -func (*Node_AlterSystemStmt) isNode_Node() {} +func (*Node_FieldSelect) isNode_Node() {} -func (*Node_CreatePolicyStmt) isNode_Node() {} +func (*Node_FieldStore) isNode_Node() {} -func (*Node_AlterPolicyStmt) isNode_Node() {} +func (*Node_RelabelType) isNode_Node() {} -func (*Node_CreateTransformStmt) isNode_Node() {} +func (*Node_CoerceViaIo) isNode_Node() {} -func (*Node_CreateAmStmt) isNode_Node() {} +func (*Node_ArrayCoerceExpr) isNode_Node() {} -func (*Node_CreatePublicationStmt) isNode_Node() {} +func (*Node_ConvertRowtypeExpr) isNode_Node() {} -func (*Node_AlterPublicationStmt) isNode_Node() {} +func (*Node_CollateExpr) isNode_Node() {} -func (*Node_CreateSubscriptionStmt) isNode_Node() {} +func (*Node_CaseExpr) isNode_Node() {} -func (*Node_AlterSubscriptionStmt) isNode_Node() {} +func (*Node_CaseWhen) isNode_Node() {} -func (*Node_DropSubscriptionStmt) isNode_Node() {} +func (*Node_CaseTestExpr) isNode_Node() {} -func (*Node_CreateStatsStmt) isNode_Node() {} +func (*Node_ArrayExpr) isNode_Node() {} -func (*Node_AlterCollationStmt) isNode_Node() {} +func (*Node_RowExpr) isNode_Node() {} -func (*Node_CallStmt) isNode_Node() {} +func (*Node_RowCompareExpr) isNode_Node() {} -func (*Node_AlterStatsStmt) isNode_Node() {} +func (*Node_CoalesceExpr) isNode_Node() {} -func (*Node_AExpr) isNode_Node() {} +func (*Node_MinMaxExpr) isNode_Node() {} -func (*Node_ColumnRef) isNode_Node() {} +func (*Node_SqlvalueFunction) isNode_Node() {} -func (*Node_ParamRef) isNode_Node() {} +func (*Node_XmlExpr) isNode_Node() {} -func (*Node_FuncCall) isNode_Node() {} +func (*Node_JsonFormat) isNode_Node() {} -func (*Node_AStar) isNode_Node() {} +func (*Node_JsonReturning) isNode_Node() {} -func (*Node_AIndices) isNode_Node() {} +func (*Node_JsonValueExpr) isNode_Node() {} -func (*Node_AIndirection) isNode_Node() {} +func (*Node_JsonConstructorExpr) isNode_Node() {} -func (*Node_AArrayExpr) isNode_Node() {} +func (*Node_JsonIsPredicate) isNode_Node() {} -func (*Node_ResTarget) isNode_Node() {} +func (*Node_JsonBehavior) isNode_Node() {} -func (*Node_MultiAssignRef) isNode_Node() {} +func (*Node_JsonExpr) isNode_Node() {} -func (*Node_TypeCast) isNode_Node() {} +func (*Node_JsonTablePath) isNode_Node() {} -func (*Node_CollateClause) isNode_Node() {} +func (*Node_JsonTablePathScan) isNode_Node() {} -func (*Node_SortBy) isNode_Node() {} +func (*Node_JsonTableSiblingJoin) isNode_Node() {} -func (*Node_WindowDef) isNode_Node() {} +func (*Node_NullTest) isNode_Node() {} -func (*Node_RangeSubselect) isNode_Node() {} +func (*Node_BooleanTest) isNode_Node() {} -func (*Node_RangeFunction) isNode_Node() {} +func (*Node_MergeAction) isNode_Node() {} -func (*Node_RangeTableSample) isNode_Node() {} +func (*Node_CoerceToDomain) isNode_Node() {} -func (*Node_RangeTableFunc) isNode_Node() {} +func (*Node_CoerceToDomainValue) isNode_Node() {} -func (*Node_RangeTableFuncCol) isNode_Node() {} +func (*Node_SetToDefault) isNode_Node() {} -func (*Node_TypeName) isNode_Node() {} +func (*Node_CurrentOfExpr) isNode_Node() {} -func (*Node_ColumnDef) isNode_Node() {} +func (*Node_NextValueExpr) isNode_Node() {} -func (*Node_IndexElem) isNode_Node() {} +func (*Node_InferenceElem) isNode_Node() {} -func (*Node_StatsElem) isNode_Node() {} +func (*Node_TargetEntry) isNode_Node() {} -func (*Node_Constraint) isNode_Node() {} +func (*Node_RangeTblRef) isNode_Node() {} -func (*Node_DefElem) isNode_Node() {} +func (*Node_JoinExpr) isNode_Node() {} -func (*Node_RangeTblEntry) isNode_Node() {} +func (*Node_FromExpr) isNode_Node() {} -func (*Node_RangeTblFunction) isNode_Node() {} +func (*Node_OnConflictExpr) isNode_Node() {} -func (*Node_TableSampleClause) isNode_Node() {} +func (*Node_Query) isNode_Node() {} -func (*Node_WithCheckOption) isNode_Node() {} +func (*Node_TypeName) isNode_Node() {} -func (*Node_SortGroupClause) isNode_Node() {} +func (*Node_ColumnRef) isNode_Node() {} -func (*Node_GroupingSet) isNode_Node() {} +func (*Node_ParamRef) isNode_Node() {} -func (*Node_WindowClause) isNode_Node() {} +func (*Node_AExpr) isNode_Node() {} -func (*Node_ObjectWithArgs) isNode_Node() {} +func (*Node_TypeCast) isNode_Node() {} -func (*Node_AccessPriv) isNode_Node() {} +func (*Node_CollateClause) isNode_Node() {} -func (*Node_CreateOpClassItem) isNode_Node() {} +func (*Node_RoleSpec) isNode_Node() {} -func (*Node_TableLikeClause) isNode_Node() {} +func (*Node_FuncCall) isNode_Node() {} -func (*Node_FunctionParameter) isNode_Node() {} +func (*Node_AStar) isNode_Node() {} -func (*Node_LockingClause) isNode_Node() {} +func (*Node_AIndices) isNode_Node() {} -func (*Node_RowMarkClause) isNode_Node() {} +func (*Node_AIndirection) isNode_Node() {} -func (*Node_XmlSerialize) isNode_Node() {} +func (*Node_AArrayExpr) isNode_Node() {} -func (*Node_WithClause) isNode_Node() {} +func (*Node_ResTarget) isNode_Node() {} -func (*Node_InferClause) isNode_Node() {} +func (*Node_MultiAssignRef) isNode_Node() {} -func (*Node_OnConflictClause) isNode_Node() {} +func (*Node_SortBy) isNode_Node() {} -func (*Node_CtesearchClause) isNode_Node() {} +func (*Node_WindowDef) isNode_Node() {} -func (*Node_CtecycleClause) isNode_Node() {} +func (*Node_RangeSubselect) isNode_Node() {} -func (*Node_CommonTableExpr) isNode_Node() {} +func (*Node_RangeFunction) isNode_Node() {} -func (*Node_MergeWhenClause) isNode_Node() {} +func (*Node_RangeTableFunc) isNode_Node() {} -func (*Node_RoleSpec) isNode_Node() {} +func (*Node_RangeTableFuncCol) isNode_Node() {} -func (*Node_TriggerTransition) isNode_Node() {} +func (*Node_RangeTableSample) isNode_Node() {} + +func (*Node_ColumnDef) isNode_Node() {} + +func (*Node_TableLikeClause) isNode_Node() {} + +func (*Node_IndexElem) isNode_Node() {} + +func (*Node_DefElem) isNode_Node() {} + +func (*Node_LockingClause) isNode_Node() {} + +func (*Node_XmlSerialize) isNode_Node() {} func (*Node_PartitionElem) isNode_Node() {} @@ -8772,577 +9688,377 @@ func (*Node_PartitionBoundSpec) isNode_Node() {} func (*Node_PartitionRangeDatum) isNode_Node() {} +func (*Node_SinglePartitionSpec) isNode_Node() {} + func (*Node_PartitionCmd) isNode_Node() {} -func (*Node_VacuumRelation) isNode_Node() {} +func (*Node_RangeTblEntry) isNode_Node() {} -func (*Node_PublicationObjSpec) isNode_Node() {} +func (*Node_RtepermissionInfo) isNode_Node() {} -func (*Node_PublicationTable) isNode_Node() {} +func (*Node_RangeTblFunction) isNode_Node() {} -func (*Node_InlineCodeBlock) isNode_Node() {} +func (*Node_TableSampleClause) isNode_Node() {} -func (*Node_CallContext) isNode_Node() {} +func (*Node_WithCheckOption) isNode_Node() {} -func (*Node_Integer) isNode_Node() {} +func (*Node_SortGroupClause) isNode_Node() {} -func (*Node_Float) isNode_Node() {} +func (*Node_GroupingSet) isNode_Node() {} -func (*Node_Boolean) isNode_Node() {} +func (*Node_WindowClause) isNode_Node() {} -func (*Node_String_) isNode_Node() {} +func (*Node_RowMarkClause) isNode_Node() {} -func (*Node_BitString) isNode_Node() {} +func (*Node_WithClause) isNode_Node() {} -func (*Node_List) isNode_Node() {} +func (*Node_InferClause) isNode_Node() {} -func (*Node_IntList) isNode_Node() {} +func (*Node_OnConflictClause) isNode_Node() {} -func (*Node_OidList) isNode_Node() {} +func (*Node_CtesearchClause) isNode_Node() {} -func (*Node_AConst) isNode_Node() {} +func (*Node_CtecycleClause) isNode_Node() {} -type Integer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_CommonTableExpr) isNode_Node() {} - Ival int32 `protobuf:"varint,1,opt,name=ival,proto3" json:"ival,omitempty"` // machine integer -} +func (*Node_MergeWhenClause) isNode_Node() {} -func (x *Integer) Reset() { - *x = Integer{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_TriggerTransition) isNode_Node() {} -func (x *Integer) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_JsonOutput) isNode_Node() {} -func (*Integer) ProtoMessage() {} +func (*Node_JsonArgument) isNode_Node() {} -func (x *Integer) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_JsonFuncExpr) isNode_Node() {} -// Deprecated: Use Integer.ProtoReflect.Descriptor instead. -func (*Integer) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{3} -} +func (*Node_JsonTablePathSpec) isNode_Node() {} -func (x *Integer) GetIval() int32 { - if x != nil { - return x.Ival - } - return 0 -} +func (*Node_JsonTable) isNode_Node() {} -type Float struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_JsonTableColumn) isNode_Node() {} - Fval string `protobuf:"bytes,1,opt,name=fval,proto3" json:"fval,omitempty"` // string -} +func (*Node_JsonKeyValue) isNode_Node() {} -func (x *Float) Reset() { - *x = Float{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_JsonParseExpr) isNode_Node() {} -func (x *Float) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_JsonScalarExpr) isNode_Node() {} -func (*Float) ProtoMessage() {} +func (*Node_JsonSerializeExpr) isNode_Node() {} -func (x *Float) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_JsonObjectConstructor) isNode_Node() {} -// Deprecated: Use Float.ProtoReflect.Descriptor instead. -func (*Float) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{4} -} +func (*Node_JsonArrayConstructor) isNode_Node() {} -func (x *Float) GetFval() string { - if x != nil { - return x.Fval - } - return "" -} +func (*Node_JsonArrayQueryConstructor) isNode_Node() {} -type Boolean struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_JsonAggConstructor) isNode_Node() {} - Boolval bool `protobuf:"varint,1,opt,name=boolval,proto3" json:"boolval,omitempty"` -} +func (*Node_JsonObjectAgg) isNode_Node() {} -func (x *Boolean) Reset() { - *x = Boolean{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_JsonArrayAgg) isNode_Node() {} -func (x *Boolean) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_RawStmt) isNode_Node() {} -func (*Boolean) ProtoMessage() {} +func (*Node_InsertStmt) isNode_Node() {} -func (x *Boolean) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_DeleteStmt) isNode_Node() {} -// Deprecated: Use Boolean.ProtoReflect.Descriptor instead. -func (*Boolean) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{5} -} +func (*Node_UpdateStmt) isNode_Node() {} -func (x *Boolean) GetBoolval() bool { - if x != nil { - return x.Boolval - } - return false -} +func (*Node_MergeStmt) isNode_Node() {} -type String struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_SelectStmt) isNode_Node() {} - Sval string `protobuf:"bytes,1,opt,name=sval,proto3" json:"sval,omitempty"` // string -} +func (*Node_SetOperationStmt) isNode_Node() {} -func (x *String) Reset() { - *x = String{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_ReturnStmt) isNode_Node() {} -func (x *String) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_PlassignStmt) isNode_Node() {} -func (*String) ProtoMessage() {} +func (*Node_CreateSchemaStmt) isNode_Node() {} -func (x *String) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_AlterTableStmt) isNode_Node() {} -// Deprecated: Use String.ProtoReflect.Descriptor instead. -func (*String) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{6} -} +func (*Node_ReplicaIdentityStmt) isNode_Node() {} -func (x *String) GetSval() string { - if x != nil { - return x.Sval - } - return "" -} +func (*Node_AlterTableCmd) isNode_Node() {} -type BitString struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_AlterCollationStmt) isNode_Node() {} - Bsval string `protobuf:"bytes,1,opt,name=bsval,proto3" json:"bsval,omitempty"` // string -} +func (*Node_AlterDomainStmt) isNode_Node() {} -func (x *BitString) Reset() { - *x = BitString{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_GrantStmt) isNode_Node() {} -func (x *BitString) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_ObjectWithArgs) isNode_Node() {} -func (*BitString) ProtoMessage() {} +func (*Node_AccessPriv) isNode_Node() {} -func (x *BitString) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_GrantRoleStmt) isNode_Node() {} -// Deprecated: Use BitString.ProtoReflect.Descriptor instead. -func (*BitString) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{7} -} +func (*Node_AlterDefaultPrivilegesStmt) isNode_Node() {} -func (x *BitString) GetBsval() string { - if x != nil { - return x.Bsval - } - return "" -} +func (*Node_CopyStmt) isNode_Node() {} -type List struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_VariableSetStmt) isNode_Node() {} - Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` -} +func (*Node_VariableShowStmt) isNode_Node() {} -func (x *List) Reset() { - *x = List{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_CreateStmt) isNode_Node() {} -func (x *List) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_Constraint) isNode_Node() {} -func (*List) ProtoMessage() {} +func (*Node_CreateTableSpaceStmt) isNode_Node() {} -func (x *List) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_DropTableSpaceStmt) isNode_Node() {} -// Deprecated: Use List.ProtoReflect.Descriptor instead. -func (*List) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{8} -} +func (*Node_AlterTableSpaceOptionsStmt) isNode_Node() {} -func (x *List) GetItems() []*Node { - if x != nil { - return x.Items - } - return nil -} +func (*Node_AlterTableMoveAllStmt) isNode_Node() {} -type OidList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_CreateExtensionStmt) isNode_Node() {} - Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` -} +func (*Node_AlterExtensionStmt) isNode_Node() {} -func (x *OidList) Reset() { - *x = OidList{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_AlterExtensionContentsStmt) isNode_Node() {} -func (x *OidList) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_CreateFdwStmt) isNode_Node() {} -func (*OidList) ProtoMessage() {} +func (*Node_AlterFdwStmt) isNode_Node() {} -func (x *OidList) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_CreateForeignServerStmt) isNode_Node() {} -// Deprecated: Use OidList.ProtoReflect.Descriptor instead. -func (*OidList) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{9} -} +func (*Node_AlterForeignServerStmt) isNode_Node() {} -func (x *OidList) GetItems() []*Node { - if x != nil { - return x.Items - } - return nil -} +func (*Node_CreateForeignTableStmt) isNode_Node() {} -type IntList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_CreateUserMappingStmt) isNode_Node() {} - Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` -} +func (*Node_AlterUserMappingStmt) isNode_Node() {} -func (x *IntList) Reset() { - *x = IntList{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_DropUserMappingStmt) isNode_Node() {} -func (x *IntList) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_ImportForeignSchemaStmt) isNode_Node() {} -func (*IntList) ProtoMessage() {} +func (*Node_CreatePolicyStmt) isNode_Node() {} -func (x *IntList) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_AlterPolicyStmt) isNode_Node() {} -// Deprecated: Use IntList.ProtoReflect.Descriptor instead. -func (*IntList) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{10} -} +func (*Node_CreateAmStmt) isNode_Node() {} -func (x *IntList) GetItems() []*Node { - if x != nil { - return x.Items - } - return nil -} +func (*Node_CreateTrigStmt) isNode_Node() {} -type A_Const struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*Node_CreateEventTrigStmt) isNode_Node() {} - // Types that are assignable to Val: - // - // *A_Const_Ival - // *A_Const_Fval - // *A_Const_Boolval - // *A_Const_Sval - // *A_Const_Bsval - Val isA_Const_Val `protobuf_oneof:"val"` - Isnull bool `protobuf:"varint,10,opt,name=isnull,proto3" json:"isnull,omitempty"` - Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` -} +func (*Node_AlterEventTrigStmt) isNode_Node() {} -func (x *A_Const) Reset() { - *x = A_Const{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} +func (*Node_CreatePlangStmt) isNode_Node() {} -func (x *A_Const) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (*Node_CreateRoleStmt) isNode_Node() {} -func (*A_Const) ProtoMessage() {} +func (*Node_AlterRoleStmt) isNode_Node() {} -func (x *A_Const) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} +func (*Node_AlterRoleSetStmt) isNode_Node() {} -// Deprecated: Use A_Const.ProtoReflect.Descriptor instead. -func (*A_Const) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{11} -} +func (*Node_DropRoleStmt) isNode_Node() {} -func (m *A_Const) GetVal() isA_Const_Val { - if m != nil { - return m.Val - } - return nil -} +func (*Node_CreateSeqStmt) isNode_Node() {} -func (x *A_Const) GetIval() *Integer { - if x, ok := x.GetVal().(*A_Const_Ival); ok { - return x.Ival - } - return nil -} +func (*Node_AlterSeqStmt) isNode_Node() {} -func (x *A_Const) GetFval() *Float { - if x, ok := x.GetVal().(*A_Const_Fval); ok { - return x.Fval - } - return nil -} +func (*Node_DefineStmt) isNode_Node() {} -func (x *A_Const) GetBoolval() *Boolean { - if x, ok := x.GetVal().(*A_Const_Boolval); ok { - return x.Boolval - } - return nil -} +func (*Node_CreateDomainStmt) isNode_Node() {} -func (x *A_Const) GetSval() *String { - if x, ok := x.GetVal().(*A_Const_Sval); ok { - return x.Sval - } - return nil -} +func (*Node_CreateOpClassStmt) isNode_Node() {} -func (x *A_Const) GetBsval() *BitString { - if x, ok := x.GetVal().(*A_Const_Bsval); ok { - return x.Bsval - } - return nil -} +func (*Node_CreateOpClassItem) isNode_Node() {} -func (x *A_Const) GetIsnull() bool { - if x != nil { - return x.Isnull - } - return false -} +func (*Node_CreateOpFamilyStmt) isNode_Node() {} -func (x *A_Const) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} +func (*Node_AlterOpFamilyStmt) isNode_Node() {} -type isA_Const_Val interface { - isA_Const_Val() -} +func (*Node_DropStmt) isNode_Node() {} -type A_Const_Ival struct { - Ival *Integer `protobuf:"bytes,1,opt,name=ival,proto3,oneof"` -} +func (*Node_TruncateStmt) isNode_Node() {} -type A_Const_Fval struct { - Fval *Float `protobuf:"bytes,2,opt,name=fval,proto3,oneof"` -} +func (*Node_CommentStmt) isNode_Node() {} -type A_Const_Boolval struct { - Boolval *Boolean `protobuf:"bytes,3,opt,name=boolval,proto3,oneof"` -} +func (*Node_SecLabelStmt) isNode_Node() {} -type A_Const_Sval struct { - Sval *String `protobuf:"bytes,4,opt,name=sval,proto3,oneof"` -} +func (*Node_DeclareCursorStmt) isNode_Node() {} -type A_Const_Bsval struct { - Bsval *BitString `protobuf:"bytes,5,opt,name=bsval,proto3,oneof"` -} +func (*Node_ClosePortalStmt) isNode_Node() {} -func (*A_Const_Ival) isA_Const_Val() {} +func (*Node_FetchStmt) isNode_Node() {} -func (*A_Const_Fval) isA_Const_Val() {} +func (*Node_IndexStmt) isNode_Node() {} -func (*A_Const_Boolval) isA_Const_Val() {} +func (*Node_CreateStatsStmt) isNode_Node() {} -func (*A_Const_Sval) isA_Const_Val() {} +func (*Node_StatsElem) isNode_Node() {} -func (*A_Const_Bsval) isA_Const_Val() {} +func (*Node_AlterStatsStmt) isNode_Node() {} -type Alias struct { +func (*Node_CreateFunctionStmt) isNode_Node() {} + +func (*Node_FunctionParameter) isNode_Node() {} + +func (*Node_AlterFunctionStmt) isNode_Node() {} + +func (*Node_DoStmt) isNode_Node() {} + +func (*Node_InlineCodeBlock) isNode_Node() {} + +func (*Node_CallStmt) isNode_Node() {} + +func (*Node_CallContext) isNode_Node() {} + +func (*Node_RenameStmt) isNode_Node() {} + +func (*Node_AlterObjectDependsStmt) isNode_Node() {} + +func (*Node_AlterObjectSchemaStmt) isNode_Node() {} + +func (*Node_AlterOwnerStmt) isNode_Node() {} + +func (*Node_AlterOperatorStmt) isNode_Node() {} + +func (*Node_AlterTypeStmt) isNode_Node() {} + +func (*Node_RuleStmt) isNode_Node() {} + +func (*Node_NotifyStmt) isNode_Node() {} + +func (*Node_ListenStmt) isNode_Node() {} + +func (*Node_UnlistenStmt) isNode_Node() {} + +func (*Node_TransactionStmt) isNode_Node() {} + +func (*Node_CompositeTypeStmt) isNode_Node() {} + +func (*Node_CreateEnumStmt) isNode_Node() {} + +func (*Node_CreateRangeStmt) isNode_Node() {} + +func (*Node_AlterEnumStmt) isNode_Node() {} + +func (*Node_ViewStmt) isNode_Node() {} + +func (*Node_LoadStmt) isNode_Node() {} + +func (*Node_CreatedbStmt) isNode_Node() {} + +func (*Node_AlterDatabaseStmt) isNode_Node() {} + +func (*Node_AlterDatabaseRefreshCollStmt) isNode_Node() {} + +func (*Node_AlterDatabaseSetStmt) isNode_Node() {} + +func (*Node_DropdbStmt) isNode_Node() {} + +func (*Node_AlterSystemStmt) isNode_Node() {} + +func (*Node_ClusterStmt) isNode_Node() {} + +func (*Node_VacuumStmt) isNode_Node() {} + +func (*Node_VacuumRelation) isNode_Node() {} + +func (*Node_ExplainStmt) isNode_Node() {} + +func (*Node_CreateTableAsStmt) isNode_Node() {} + +func (*Node_RefreshMatViewStmt) isNode_Node() {} + +func (*Node_CheckPointStmt) isNode_Node() {} + +func (*Node_DiscardStmt) isNode_Node() {} + +func (*Node_LockStmt) isNode_Node() {} + +func (*Node_ConstraintsSetStmt) isNode_Node() {} + +func (*Node_ReindexStmt) isNode_Node() {} + +func (*Node_CreateConversionStmt) isNode_Node() {} + +func (*Node_CreateCastStmt) isNode_Node() {} + +func (*Node_CreateTransformStmt) isNode_Node() {} + +func (*Node_PrepareStmt) isNode_Node() {} + +func (*Node_ExecuteStmt) isNode_Node() {} + +func (*Node_DeallocateStmt) isNode_Node() {} + +func (*Node_DropOwnedStmt) isNode_Node() {} + +func (*Node_ReassignOwnedStmt) isNode_Node() {} + +func (*Node_AlterTsdictionaryStmt) isNode_Node() {} + +func (*Node_AlterTsconfigurationStmt) isNode_Node() {} + +func (*Node_PublicationTable) isNode_Node() {} + +func (*Node_PublicationObjSpec) isNode_Node() {} + +func (*Node_CreatePublicationStmt) isNode_Node() {} + +func (*Node_AlterPublicationStmt) isNode_Node() {} + +func (*Node_CreateSubscriptionStmt) isNode_Node() {} + +func (*Node_AlterSubscriptionStmt) isNode_Node() {} + +func (*Node_DropSubscriptionStmt) isNode_Node() {} + +func (*Node_Integer) isNode_Node() {} + +func (*Node_Float) isNode_Node() {} + +func (*Node_Boolean) isNode_Node() {} + +func (*Node_String_) isNode_Node() {} + +func (*Node_BitString) isNode_Node() {} + +func (*Node_List) isNode_Node() {} + +func (*Node_IntList) isNode_Node() {} + +func (*Node_OidList) isNode_Node() {} + +func (*Node_AConst) isNode_Node() {} + +type Integer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Aliasname string `protobuf:"bytes,1,opt,name=aliasname,proto3" json:"aliasname,omitempty"` - Colnames []*Node `protobuf:"bytes,2,rep,name=colnames,proto3" json:"colnames,omitempty"` + Ival int32 `protobuf:"varint,1,opt,name=ival,proto3" json:"ival,omitempty"` // machine integer } -func (x *Alias) Reset() { - *x = Alias{} +func (x *Integer) Reset() { + *x = Integer{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[12] + mi := &file_pg_query_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Alias) String() string { +func (x *Integer) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Alias) ProtoMessage() {} +func (*Integer) ProtoMessage() {} -func (x *Alias) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[12] +func (x *Integer) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9353,56 +10069,43 @@ func (x *Alias) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Alias.ProtoReflect.Descriptor instead. -func (*Alias) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{12} -} - -func (x *Alias) GetAliasname() string { - if x != nil { - return x.Aliasname - } - return "" +// Deprecated: Use Integer.ProtoReflect.Descriptor instead. +func (*Integer) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{3} } -func (x *Alias) GetColnames() []*Node { +func (x *Integer) GetIval() int32 { if x != nil { - return x.Colnames + return x.Ival } - return nil + return 0 } -type RangeVar struct { +type Float struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Catalogname string `protobuf:"bytes,1,opt,name=catalogname,proto3" json:"catalogname,omitempty"` - Schemaname string `protobuf:"bytes,2,opt,name=schemaname,proto3" json:"schemaname,omitempty"` - Relname string `protobuf:"bytes,3,opt,name=relname,proto3" json:"relname,omitempty"` - Inh bool `protobuf:"varint,4,opt,name=inh,proto3" json:"inh,omitempty"` - Relpersistence string `protobuf:"bytes,5,opt,name=relpersistence,proto3" json:"relpersistence,omitempty"` - Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Fval string `protobuf:"bytes,1,opt,name=fval,proto3" json:"fval,omitempty"` // string } -func (x *RangeVar) Reset() { - *x = RangeVar{} +func (x *Float) Reset() { + *x = Float{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[13] + mi := &file_pg_query_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeVar) String() string { +func (x *Float) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeVar) ProtoMessage() {} +func (*Float) ProtoMessage() {} -func (x *RangeVar) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[13] +func (x *Float) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9413,97 +10116,90 @@ func (x *RangeVar) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeVar.ProtoReflect.Descriptor instead. -func (*RangeVar) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{13} +// Deprecated: Use Float.ProtoReflect.Descriptor instead. +func (*Float) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{4} } -func (x *RangeVar) GetCatalogname() string { +func (x *Float) GetFval() string { if x != nil { - return x.Catalogname + return x.Fval } return "" } -func (x *RangeVar) GetSchemaname() string { - if x != nil { - return x.Schemaname - } - return "" +type Boolean struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Boolval bool `protobuf:"varint,1,opt,name=boolval,proto3" json:"boolval,omitempty"` } -func (x *RangeVar) GetRelname() string { - if x != nil { - return x.Relname +func (x *Boolean) Reset() { + *x = Boolean{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *RangeVar) GetInh() bool { - if x != nil { - return x.Inh - } - return false +func (x *Boolean) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RangeVar) GetRelpersistence() string { - if x != nil { - return x.Relpersistence +func (*Boolean) ProtoMessage() {} + +func (x *Boolean) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *RangeVar) GetAlias() *Alias { - if x != nil { - return x.Alias - } - return nil +// Deprecated: Use Boolean.ProtoReflect.Descriptor instead. +func (*Boolean) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{5} } -func (x *RangeVar) GetLocation() int32 { +func (x *Boolean) GetBoolval() bool { if x != nil { - return x.Location + return x.Boolval } - return 0 + return false } -type TableFunc struct { +type String struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NsUris []*Node `protobuf:"bytes,1,rep,name=ns_uris,proto3" json:"ns_uris,omitempty"` - NsNames []*Node `protobuf:"bytes,2,rep,name=ns_names,proto3" json:"ns_names,omitempty"` - Docexpr *Node `protobuf:"bytes,3,opt,name=docexpr,proto3" json:"docexpr,omitempty"` - Rowexpr *Node `protobuf:"bytes,4,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` - Colnames []*Node `protobuf:"bytes,5,rep,name=colnames,proto3" json:"colnames,omitempty"` - Coltypes []*Node `protobuf:"bytes,6,rep,name=coltypes,proto3" json:"coltypes,omitempty"` - Coltypmods []*Node `protobuf:"bytes,7,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` - Colcollations []*Node `protobuf:"bytes,8,rep,name=colcollations,proto3" json:"colcollations,omitempty"` - Colexprs []*Node `protobuf:"bytes,9,rep,name=colexprs,proto3" json:"colexprs,omitempty"` - Coldefexprs []*Node `protobuf:"bytes,10,rep,name=coldefexprs,proto3" json:"coldefexprs,omitempty"` - Notnulls []uint64 `protobuf:"varint,11,rep,packed,name=notnulls,proto3" json:"notnulls,omitempty"` - Ordinalitycol int32 `protobuf:"varint,12,opt,name=ordinalitycol,proto3" json:"ordinalitycol,omitempty"` - Location int32 `protobuf:"varint,13,opt,name=location,proto3" json:"location,omitempty"` + Sval string `protobuf:"bytes,1,opt,name=sval,proto3" json:"sval,omitempty"` // string } -func (x *TableFunc) Reset() { - *x = TableFunc{} +func (x *String) Reset() { + *x = String{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[14] + mi := &file_pg_query_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TableFunc) String() string { +func (x *String) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TableFunc) ProtoMessage() {} +func (*String) ProtoMessage() {} -func (x *TableFunc) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[14] +func (x *String) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9514,136 +10210,137 @@ func (x *TableFunc) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TableFunc.ProtoReflect.Descriptor instead. -func (*TableFunc) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{14} +// Deprecated: Use String.ProtoReflect.Descriptor instead. +func (*String) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{6} } -func (x *TableFunc) GetNsUris() []*Node { +func (x *String) GetSval() string { if x != nil { - return x.NsUris + return x.Sval } - return nil + return "" } -func (x *TableFunc) GetNsNames() []*Node { - if x != nil { - return x.NsNames - } - return nil +type BitString struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bsval string `protobuf:"bytes,1,opt,name=bsval,proto3" json:"bsval,omitempty"` // string } -func (x *TableFunc) GetDocexpr() *Node { - if x != nil { - return x.Docexpr +func (x *BitString) Reset() { + *x = BitString{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *TableFunc) GetRowexpr() *Node { - if x != nil { - return x.Rowexpr - } - return nil +func (x *BitString) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *TableFunc) GetColnames() []*Node { - if x != nil { - return x.Colnames +func (*BitString) ProtoMessage() {} + +func (x *BitString) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *TableFunc) GetColtypes() []*Node { - if x != nil { - return x.Coltypes - } - return nil +// Deprecated: Use BitString.ProtoReflect.Descriptor instead. +func (*BitString) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{7} } -func (x *TableFunc) GetColtypmods() []*Node { +func (x *BitString) GetBsval() string { if x != nil { - return x.Coltypmods + return x.Bsval } - return nil + return "" } -func (x *TableFunc) GetColcollations() []*Node { - if x != nil { - return x.Colcollations - } - return nil +type List struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } -func (x *TableFunc) GetColexprs() []*Node { - if x != nil { - return x.Colexprs +func (x *List) Reset() { + *x = List{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *TableFunc) GetColdefexprs() []*Node { - if x != nil { - return x.Coldefexprs - } - return nil +func (x *List) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *TableFunc) GetNotnulls() []uint64 { - if x != nil { - return x.Notnulls +func (*List) ProtoMessage() {} + +func (x *List) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *TableFunc) GetOrdinalitycol() int32 { - if x != nil { - return x.Ordinalitycol - } - return 0 +// Deprecated: Use List.ProtoReflect.Descriptor instead. +func (*List) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{8} } -func (x *TableFunc) GetLocation() int32 { +func (x *List) GetItems() []*Node { if x != nil { - return x.Location + return x.Items } - return 0 + return nil } -type Var struct { +type OidList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Varno int32 `protobuf:"varint,2,opt,name=varno,proto3" json:"varno,omitempty"` - Varattno int32 `protobuf:"varint,3,opt,name=varattno,proto3" json:"varattno,omitempty"` - Vartype uint32 `protobuf:"varint,4,opt,name=vartype,proto3" json:"vartype,omitempty"` - Vartypmod int32 `protobuf:"varint,5,opt,name=vartypmod,proto3" json:"vartypmod,omitempty"` - Varcollid uint32 `protobuf:"varint,6,opt,name=varcollid,proto3" json:"varcollid,omitempty"` - Varlevelsup uint32 `protobuf:"varint,7,opt,name=varlevelsup,proto3" json:"varlevelsup,omitempty"` - Varnosyn uint32 `protobuf:"varint,8,opt,name=varnosyn,proto3" json:"varnosyn,omitempty"` - Varattnosyn int32 `protobuf:"varint,9,opt,name=varattnosyn,proto3" json:"varattnosyn,omitempty"` - Location int32 `protobuf:"varint,10,opt,name=location,proto3" json:"location,omitempty"` + Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } -func (x *Var) Reset() { - *x = Var{} +func (x *OidList) Reset() { + *x = OidList{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[15] + mi := &file_pg_query_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Var) String() string { +func (x *OidList) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Var) ProtoMessage() {} +func (*OidList) ProtoMessage() {} -func (x *Var) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[15] +func (x *OidList) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9654,112 +10351,99 @@ func (x *Var) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Var.ProtoReflect.Descriptor instead. -func (*Var) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{15} +// Deprecated: Use OidList.ProtoReflect.Descriptor instead. +func (*OidList) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{9} } -func (x *Var) GetXpr() *Node { +func (x *OidList) GetItems() []*Node { if x != nil { - return x.Xpr + return x.Items } return nil } -func (x *Var) GetVarno() int32 { - if x != nil { - return x.Varno - } - return 0 -} - -func (x *Var) GetVarattno() int32 { - if x != nil { - return x.Varattno - } - return 0 -} +type IntList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Var) GetVartype() uint32 { - if x != nil { - return x.Vartype - } - return 0 + Items []*Node `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } -func (x *Var) GetVartypmod() int32 { - if x != nil { - return x.Vartypmod +func (x *IntList) Reset() { + *x = IntList{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *Var) GetVarcollid() uint32 { - if x != nil { - return x.Varcollid - } - return 0 +func (x *IntList) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Var) GetVarlevelsup() uint32 { - if x != nil { - return x.Varlevelsup - } - return 0 -} +func (*IntList) ProtoMessage() {} -func (x *Var) GetVarnosyn() uint32 { - if x != nil { - return x.Varnosyn +func (x *IntList) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *Var) GetVarattnosyn() int32 { - if x != nil { - return x.Varattnosyn - } - return 0 +// Deprecated: Use IntList.ProtoReflect.Descriptor instead. +func (*IntList) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{10} } -func (x *Var) GetLocation() int32 { +func (x *IntList) GetItems() []*Node { if x != nil { - return x.Location + return x.Items } - return 0 + return nil } -type Param struct { +type A_Const struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Paramkind ParamKind `protobuf:"varint,2,opt,name=paramkind,proto3,enum=pg_query.ParamKind" json:"paramkind,omitempty"` - Paramid int32 `protobuf:"varint,3,opt,name=paramid,proto3" json:"paramid,omitempty"` - Paramtype uint32 `protobuf:"varint,4,opt,name=paramtype,proto3" json:"paramtype,omitempty"` - Paramtypmod int32 `protobuf:"varint,5,opt,name=paramtypmod,proto3" json:"paramtypmod,omitempty"` - Paramcollid uint32 `protobuf:"varint,6,opt,name=paramcollid,proto3" json:"paramcollid,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + // Types that are assignable to Val: + // + // *A_Const_Ival + // *A_Const_Fval + // *A_Const_Boolval + // *A_Const_Sval + // *A_Const_Bsval + Val isA_Const_Val `protobuf_oneof:"val"` + Isnull bool `protobuf:"varint,10,opt,name=isnull,proto3" json:"isnull,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` } -func (x *Param) Reset() { - *x = Param{} +func (x *A_Const) Reset() { + *x = A_Const{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[16] + mi := &file_pg_query_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Param) String() string { +func (x *A_Const) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Param) ProtoMessage() {} +func (*A_Const) ProtoMessage() {} -func (x *Param) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[16] +func (x *A_Const) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9770,104 +10454,127 @@ func (x *Param) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Param.ProtoReflect.Descriptor instead. -func (*Param) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{16} +// Deprecated: Use A_Const.ProtoReflect.Descriptor instead. +func (*A_Const) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{11} } -func (x *Param) GetXpr() *Node { - if x != nil { - return x.Xpr +func (m *A_Const) GetVal() isA_Const_Val { + if m != nil { + return m.Val } return nil } -func (x *Param) GetParamkind() ParamKind { - if x != nil { - return x.Paramkind +func (x *A_Const) GetIval() *Integer { + if x, ok := x.GetVal().(*A_Const_Ival); ok { + return x.Ival } - return ParamKind_PARAM_KIND_UNDEFINED + return nil } -func (x *Param) GetParamid() int32 { - if x != nil { - return x.Paramid +func (x *A_Const) GetFval() *Float { + if x, ok := x.GetVal().(*A_Const_Fval); ok { + return x.Fval } - return 0 + return nil } -func (x *Param) GetParamtype() uint32 { - if x != nil { - return x.Paramtype +func (x *A_Const) GetBoolval() *Boolean { + if x, ok := x.GetVal().(*A_Const_Boolval); ok { + return x.Boolval } - return 0 + return nil } -func (x *Param) GetParamtypmod() int32 { - if x != nil { - return x.Paramtypmod +func (x *A_Const) GetSval() *String { + if x, ok := x.GetVal().(*A_Const_Sval); ok { + return x.Sval } - return 0 + return nil } -func (x *Param) GetParamcollid() uint32 { +func (x *A_Const) GetBsval() *BitString { + if x, ok := x.GetVal().(*A_Const_Bsval); ok { + return x.Bsval + } + return nil +} + +func (x *A_Const) GetIsnull() bool { if x != nil { - return x.Paramcollid + return x.Isnull } - return 0 + return false } -func (x *Param) GetLocation() int32 { +func (x *A_Const) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type Aggref struct { +type isA_Const_Val interface { + isA_Const_Val() +} + +type A_Const_Ival struct { + Ival *Integer `protobuf:"bytes,1,opt,name=ival,proto3,oneof"` +} + +type A_Const_Fval struct { + Fval *Float `protobuf:"bytes,2,opt,name=fval,proto3,oneof"` +} + +type A_Const_Boolval struct { + Boolval *Boolean `protobuf:"bytes,3,opt,name=boolval,proto3,oneof"` +} + +type A_Const_Sval struct { + Sval *String `protobuf:"bytes,4,opt,name=sval,proto3,oneof"` +} + +type A_Const_Bsval struct { + Bsval *BitString `protobuf:"bytes,5,opt,name=bsval,proto3,oneof"` +} + +func (*A_Const_Ival) isA_Const_Val() {} + +func (*A_Const_Fval) isA_Const_Val() {} + +func (*A_Const_Boolval) isA_Const_Val() {} + +func (*A_Const_Sval) isA_Const_Val() {} + +func (*A_Const_Bsval) isA_Const_Val() {} + +type Alias struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Aggfnoid uint32 `protobuf:"varint,2,opt,name=aggfnoid,proto3" json:"aggfnoid,omitempty"` - Aggtype uint32 `protobuf:"varint,3,opt,name=aggtype,proto3" json:"aggtype,omitempty"` - Aggcollid uint32 `protobuf:"varint,4,opt,name=aggcollid,proto3" json:"aggcollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Aggtranstype uint32 `protobuf:"varint,6,opt,name=aggtranstype,proto3" json:"aggtranstype,omitempty"` - Aggargtypes []*Node `protobuf:"bytes,7,rep,name=aggargtypes,proto3" json:"aggargtypes,omitempty"` - Aggdirectargs []*Node `protobuf:"bytes,8,rep,name=aggdirectargs,proto3" json:"aggdirectargs,omitempty"` - Args []*Node `protobuf:"bytes,9,rep,name=args,proto3" json:"args,omitempty"` - Aggorder []*Node `protobuf:"bytes,10,rep,name=aggorder,proto3" json:"aggorder,omitempty"` - Aggdistinct []*Node `protobuf:"bytes,11,rep,name=aggdistinct,proto3" json:"aggdistinct,omitempty"` - Aggfilter *Node `protobuf:"bytes,12,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` - Aggstar bool `protobuf:"varint,13,opt,name=aggstar,proto3" json:"aggstar,omitempty"` - Aggvariadic bool `protobuf:"varint,14,opt,name=aggvariadic,proto3" json:"aggvariadic,omitempty"` - Aggkind string `protobuf:"bytes,15,opt,name=aggkind,proto3" json:"aggkind,omitempty"` - Agglevelsup uint32 `protobuf:"varint,16,opt,name=agglevelsup,proto3" json:"agglevelsup,omitempty"` - Aggsplit AggSplit `protobuf:"varint,17,opt,name=aggsplit,proto3,enum=pg_query.AggSplit" json:"aggsplit,omitempty"` - Aggno int32 `protobuf:"varint,18,opt,name=aggno,proto3" json:"aggno,omitempty"` - Aggtransno int32 `protobuf:"varint,19,opt,name=aggtransno,proto3" json:"aggtransno,omitempty"` - Location int32 `protobuf:"varint,20,opt,name=location,proto3" json:"location,omitempty"` + Aliasname string `protobuf:"bytes,1,opt,name=aliasname,proto3" json:"aliasname,omitempty"` + Colnames []*Node `protobuf:"bytes,2,rep,name=colnames,proto3" json:"colnames,omitempty"` } -func (x *Aggref) Reset() { - *x = Aggref{} +func (x *Alias) Reset() { + *x = Alias{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[17] + mi := &file_pg_query_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Aggref) String() string { +func (x *Alias) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Aggref) ProtoMessage() {} +func (*Alias) ProtoMessage() {} -func (x *Aggref) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[17] +func (x *Alias) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9878,181 +10585,161 @@ func (x *Aggref) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Aggref.ProtoReflect.Descriptor instead. -func (*Aggref) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{17} +// Deprecated: Use Alias.ProtoReflect.Descriptor instead. +func (*Alias) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{12} } -func (x *Aggref) GetXpr() *Node { +func (x *Alias) GetAliasname() string { if x != nil { - return x.Xpr + return x.Aliasname } - return nil + return "" } -func (x *Aggref) GetAggfnoid() uint32 { +func (x *Alias) GetColnames() []*Node { if x != nil { - return x.Aggfnoid + return x.Colnames } - return 0 + return nil } -func (x *Aggref) GetAggtype() uint32 { - if x != nil { - return x.Aggtype - } - return 0 -} +type RangeVar struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Aggref) GetAggcollid() uint32 { - if x != nil { - return x.Aggcollid - } - return 0 + Catalogname string `protobuf:"bytes,1,opt,name=catalogname,proto3" json:"catalogname,omitempty"` + Schemaname string `protobuf:"bytes,2,opt,name=schemaname,proto3" json:"schemaname,omitempty"` + Relname string `protobuf:"bytes,3,opt,name=relname,proto3" json:"relname,omitempty"` + Inh bool `protobuf:"varint,4,opt,name=inh,proto3" json:"inh,omitempty"` + Relpersistence string `protobuf:"bytes,5,opt,name=relpersistence,proto3" json:"relpersistence,omitempty"` + Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *Aggref) GetInputcollid() uint32 { - if x != nil { - return x.Inputcollid - } - return 0 -} - -func (x *Aggref) GetAggtranstype() uint32 { - if x != nil { - return x.Aggtranstype +func (x *RangeVar) Reset() { + *x = RangeVar{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *Aggref) GetAggargtypes() []*Node { - if x != nil { - return x.Aggargtypes - } - return nil +func (x *RangeVar) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Aggref) GetAggdirectargs() []*Node { - if x != nil { - return x.Aggdirectargs - } - return nil -} +func (*RangeVar) ProtoMessage() {} -func (x *Aggref) GetArgs() []*Node { - if x != nil { - return x.Args +func (x *RangeVar) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Aggref) GetAggorder() []*Node { - if x != nil { - return x.Aggorder - } - return nil +// Deprecated: Use RangeVar.ProtoReflect.Descriptor instead. +func (*RangeVar) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{13} } -func (x *Aggref) GetAggdistinct() []*Node { +func (x *RangeVar) GetCatalogname() string { if x != nil { - return x.Aggdistinct + return x.Catalogname } - return nil + return "" } -func (x *Aggref) GetAggfilter() *Node { +func (x *RangeVar) GetSchemaname() string { if x != nil { - return x.Aggfilter + return x.Schemaname } - return nil + return "" } -func (x *Aggref) GetAggstar() bool { +func (x *RangeVar) GetRelname() string { if x != nil { - return x.Aggstar + return x.Relname } - return false + return "" } -func (x *Aggref) GetAggvariadic() bool { +func (x *RangeVar) GetInh() bool { if x != nil { - return x.Aggvariadic + return x.Inh } return false } -func (x *Aggref) GetAggkind() string { +func (x *RangeVar) GetRelpersistence() string { if x != nil { - return x.Aggkind + return x.Relpersistence } return "" } -func (x *Aggref) GetAgglevelsup() uint32 { - if x != nil { - return x.Agglevelsup - } - return 0 -} - -func (x *Aggref) GetAggsplit() AggSplit { - if x != nil { - return x.Aggsplit - } - return AggSplit_AGG_SPLIT_UNDEFINED -} - -func (x *Aggref) GetAggno() int32 { - if x != nil { - return x.Aggno - } - return 0 -} - -func (x *Aggref) GetAggtransno() int32 { +func (x *RangeVar) GetAlias() *Alias { if x != nil { - return x.Aggtransno + return x.Alias } - return 0 + return nil } -func (x *Aggref) GetLocation() int32 { +func (x *RangeVar) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type GroupingFunc struct { +type TableFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - Refs []*Node `protobuf:"bytes,3,rep,name=refs,proto3" json:"refs,omitempty"` - Cols []*Node `protobuf:"bytes,4,rep,name=cols,proto3" json:"cols,omitempty"` - Agglevelsup uint32 `protobuf:"varint,5,opt,name=agglevelsup,proto3" json:"agglevelsup,omitempty"` - Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` + Functype TableFuncType `protobuf:"varint,1,opt,name=functype,proto3,enum=pg_query.TableFuncType" json:"functype,omitempty"` + NsUris []*Node `protobuf:"bytes,2,rep,name=ns_uris,proto3" json:"ns_uris,omitempty"` + NsNames []*Node `protobuf:"bytes,3,rep,name=ns_names,proto3" json:"ns_names,omitempty"` + Docexpr *Node `protobuf:"bytes,4,opt,name=docexpr,proto3" json:"docexpr,omitempty"` + Rowexpr *Node `protobuf:"bytes,5,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` + Colnames []*Node `protobuf:"bytes,6,rep,name=colnames,proto3" json:"colnames,omitempty"` + Coltypes []*Node `protobuf:"bytes,7,rep,name=coltypes,proto3" json:"coltypes,omitempty"` + Coltypmods []*Node `protobuf:"bytes,8,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` + Colcollations []*Node `protobuf:"bytes,9,rep,name=colcollations,proto3" json:"colcollations,omitempty"` + Colexprs []*Node `protobuf:"bytes,10,rep,name=colexprs,proto3" json:"colexprs,omitempty"` + Coldefexprs []*Node `protobuf:"bytes,11,rep,name=coldefexprs,proto3" json:"coldefexprs,omitempty"` + Colvalexprs []*Node `protobuf:"bytes,12,rep,name=colvalexprs,proto3" json:"colvalexprs,omitempty"` + Passingvalexprs []*Node `protobuf:"bytes,13,rep,name=passingvalexprs,proto3" json:"passingvalexprs,omitempty"` + Notnulls []uint64 `protobuf:"varint,14,rep,packed,name=notnulls,proto3" json:"notnulls,omitempty"` + Plan *Node `protobuf:"bytes,15,opt,name=plan,proto3" json:"plan,omitempty"` + Ordinalitycol int32 `protobuf:"varint,16,opt,name=ordinalitycol,proto3" json:"ordinalitycol,omitempty"` + Location int32 `protobuf:"varint,17,opt,name=location,proto3" json:"location,omitempty"` } -func (x *GroupingFunc) Reset() { - *x = GroupingFunc{} +func (x *TableFunc) Reset() { + *x = TableFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[18] + mi := &file_pg_query_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GroupingFunc) String() string { +func (x *TableFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GroupingFunc) ProtoMessage() {} +func (*TableFunc) ProtoMessage() {} -func (x *GroupingFunc) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[18] +func (x *TableFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10063,214 +10750,162 @@ func (x *GroupingFunc) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GroupingFunc.ProtoReflect.Descriptor instead. -func (*GroupingFunc) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{18} +// Deprecated: Use TableFunc.ProtoReflect.Descriptor instead. +func (*TableFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{14} } -func (x *GroupingFunc) GetXpr() *Node { +func (x *TableFunc) GetFunctype() TableFuncType { if x != nil { - return x.Xpr + return x.Functype } - return nil + return TableFuncType_TABLE_FUNC_TYPE_UNDEFINED } -func (x *GroupingFunc) GetArgs() []*Node { +func (x *TableFunc) GetNsUris() []*Node { if x != nil { - return x.Args + return x.NsUris } return nil } -func (x *GroupingFunc) GetRefs() []*Node { +func (x *TableFunc) GetNsNames() []*Node { if x != nil { - return x.Refs + return x.NsNames } return nil } -func (x *GroupingFunc) GetCols() []*Node { +func (x *TableFunc) GetDocexpr() *Node { if x != nil { - return x.Cols + return x.Docexpr } return nil } -func (x *GroupingFunc) GetAgglevelsup() uint32 { +func (x *TableFunc) GetRowexpr() *Node { if x != nil { - return x.Agglevelsup + return x.Rowexpr } - return 0 + return nil } -func (x *GroupingFunc) GetLocation() int32 { +func (x *TableFunc) GetColnames() []*Node { if x != nil { - return x.Location - } - return 0 -} - -type WindowFunc struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Winfnoid uint32 `protobuf:"varint,2,opt,name=winfnoid,proto3" json:"winfnoid,omitempty"` - Wintype uint32 `protobuf:"varint,3,opt,name=wintype,proto3" json:"wintype,omitempty"` - Wincollid uint32 `protobuf:"varint,4,opt,name=wincollid,proto3" json:"wincollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Aggfilter *Node `protobuf:"bytes,7,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` - Winref uint32 `protobuf:"varint,8,opt,name=winref,proto3" json:"winref,omitempty"` - Winstar bool `protobuf:"varint,9,opt,name=winstar,proto3" json:"winstar,omitempty"` - Winagg bool `protobuf:"varint,10,opt,name=winagg,proto3" json:"winagg,omitempty"` - Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *WindowFunc) Reset() { - *x = WindowFunc{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WindowFunc) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WindowFunc) ProtoMessage() {} - -func (x *WindowFunc) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.Colnames } - return mi.MessageOf(x) -} - -// Deprecated: Use WindowFunc.ProtoReflect.Descriptor instead. -func (*WindowFunc) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{19} + return nil } -func (x *WindowFunc) GetXpr() *Node { +func (x *TableFunc) GetColtypes() []*Node { if x != nil { - return x.Xpr + return x.Coltypes } return nil } -func (x *WindowFunc) GetWinfnoid() uint32 { +func (x *TableFunc) GetColtypmods() []*Node { if x != nil { - return x.Winfnoid + return x.Coltypmods } - return 0 + return nil } -func (x *WindowFunc) GetWintype() uint32 { +func (x *TableFunc) GetColcollations() []*Node { if x != nil { - return x.Wintype + return x.Colcollations } - return 0 + return nil } -func (x *WindowFunc) GetWincollid() uint32 { +func (x *TableFunc) GetColexprs() []*Node { if x != nil { - return x.Wincollid + return x.Colexprs } - return 0 + return nil } -func (x *WindowFunc) GetInputcollid() uint32 { +func (x *TableFunc) GetColdefexprs() []*Node { if x != nil { - return x.Inputcollid + return x.Coldefexprs } - return 0 + return nil } -func (x *WindowFunc) GetArgs() []*Node { +func (x *TableFunc) GetColvalexprs() []*Node { if x != nil { - return x.Args + return x.Colvalexprs } return nil } -func (x *WindowFunc) GetAggfilter() *Node { +func (x *TableFunc) GetPassingvalexprs() []*Node { if x != nil { - return x.Aggfilter + return x.Passingvalexprs } return nil } -func (x *WindowFunc) GetWinref() uint32 { +func (x *TableFunc) GetNotnulls() []uint64 { if x != nil { - return x.Winref + return x.Notnulls } - return 0 + return nil } -func (x *WindowFunc) GetWinstar() bool { +func (x *TableFunc) GetPlan() *Node { if x != nil { - return x.Winstar + return x.Plan } - return false + return nil } -func (x *WindowFunc) GetWinagg() bool { +func (x *TableFunc) GetOrdinalitycol() int32 { if x != nil { - return x.Winagg + return x.Ordinalitycol } - return false + return 0 } -func (x *WindowFunc) GetLocation() int32 { +func (x *TableFunc) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type SubscriptingRef struct { +type IntoClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Refcontainertype uint32 `protobuf:"varint,2,opt,name=refcontainertype,proto3" json:"refcontainertype,omitempty"` - Refelemtype uint32 `protobuf:"varint,3,opt,name=refelemtype,proto3" json:"refelemtype,omitempty"` - Refrestype uint32 `protobuf:"varint,4,opt,name=refrestype,proto3" json:"refrestype,omitempty"` - Reftypmod int32 `protobuf:"varint,5,opt,name=reftypmod,proto3" json:"reftypmod,omitempty"` - Refcollid uint32 `protobuf:"varint,6,opt,name=refcollid,proto3" json:"refcollid,omitempty"` - Refupperindexpr []*Node `protobuf:"bytes,7,rep,name=refupperindexpr,proto3" json:"refupperindexpr,omitempty"` - Reflowerindexpr []*Node `protobuf:"bytes,8,rep,name=reflowerindexpr,proto3" json:"reflowerindexpr,omitempty"` - Refexpr *Node `protobuf:"bytes,9,opt,name=refexpr,proto3" json:"refexpr,omitempty"` - Refassgnexpr *Node `protobuf:"bytes,10,opt,name=refassgnexpr,proto3" json:"refassgnexpr,omitempty"` + Rel *RangeVar `protobuf:"bytes,1,opt,name=rel,proto3" json:"rel,omitempty"` + ColNames []*Node `protobuf:"bytes,2,rep,name=col_names,json=colNames,proto3" json:"col_names,omitempty"` + AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + OnCommit OnCommitAction `protobuf:"varint,5,opt,name=on_commit,json=onCommit,proto3,enum=pg_query.OnCommitAction" json:"on_commit,omitempty"` + TableSpaceName string `protobuf:"bytes,6,opt,name=table_space_name,json=tableSpaceName,proto3" json:"table_space_name,omitempty"` + ViewQuery *Node `protobuf:"bytes,7,opt,name=view_query,json=viewQuery,proto3" json:"view_query,omitempty"` + SkipData bool `protobuf:"varint,8,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` } -func (x *SubscriptingRef) Reset() { - *x = SubscriptingRef{} +func (x *IntoClause) Reset() { + *x = IntoClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[20] + mi := &file_pg_query_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SubscriptingRef) String() string { +func (x *IntoClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SubscriptingRef) ProtoMessage() {} +func (*IntoClause) ProtoMessage() {} -func (x *SubscriptingRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[20] +func (x *IntoClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10281,115 +10916,100 @@ func (x *SubscriptingRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SubscriptingRef.ProtoReflect.Descriptor instead. -func (*SubscriptingRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{20} +// Deprecated: Use IntoClause.ProtoReflect.Descriptor instead. +func (*IntoClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{15} } -func (x *SubscriptingRef) GetXpr() *Node { +func (x *IntoClause) GetRel() *RangeVar { if x != nil { - return x.Xpr + return x.Rel } return nil } -func (x *SubscriptingRef) GetRefcontainertype() uint32 { - if x != nil { - return x.Refcontainertype - } - return 0 -} - -func (x *SubscriptingRef) GetRefelemtype() uint32 { - if x != nil { - return x.Refelemtype - } - return 0 -} - -func (x *SubscriptingRef) GetRefrestype() uint32 { +func (x *IntoClause) GetColNames() []*Node { if x != nil { - return x.Refrestype + return x.ColNames } - return 0 + return nil } -func (x *SubscriptingRef) GetReftypmod() int32 { +func (x *IntoClause) GetAccessMethod() string { if x != nil { - return x.Reftypmod + return x.AccessMethod } - return 0 + return "" } -func (x *SubscriptingRef) GetRefcollid() uint32 { +func (x *IntoClause) GetOptions() []*Node { if x != nil { - return x.Refcollid + return x.Options } - return 0 + return nil } -func (x *SubscriptingRef) GetRefupperindexpr() []*Node { +func (x *IntoClause) GetOnCommit() OnCommitAction { if x != nil { - return x.Refupperindexpr + return x.OnCommit } - return nil + return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED } -func (x *SubscriptingRef) GetReflowerindexpr() []*Node { +func (x *IntoClause) GetTableSpaceName() string { if x != nil { - return x.Reflowerindexpr + return x.TableSpaceName } - return nil + return "" } -func (x *SubscriptingRef) GetRefexpr() *Node { +func (x *IntoClause) GetViewQuery() *Node { if x != nil { - return x.Refexpr + return x.ViewQuery } return nil } -func (x *SubscriptingRef) GetRefassgnexpr() *Node { +func (x *IntoClause) GetSkipData() bool { if x != nil { - return x.Refassgnexpr + return x.SkipData } - return nil + return false } -type FuncExpr struct { +type Var struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Funcid uint32 `protobuf:"varint,2,opt,name=funcid,proto3" json:"funcid,omitempty"` - Funcresulttype uint32 `protobuf:"varint,3,opt,name=funcresulttype,proto3" json:"funcresulttype,omitempty"` - Funcretset bool `protobuf:"varint,4,opt,name=funcretset,proto3" json:"funcretset,omitempty"` - Funcvariadic bool `protobuf:"varint,5,opt,name=funcvariadic,proto3" json:"funcvariadic,omitempty"` - Funcformat CoercionForm `protobuf:"varint,6,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` - Funccollid uint32 `protobuf:"varint,7,opt,name=funccollid,proto3" json:"funccollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,8,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,9,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,10,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Varno int32 `protobuf:"varint,2,opt,name=varno,proto3" json:"varno,omitempty"` + Varattno int32 `protobuf:"varint,3,opt,name=varattno,proto3" json:"varattno,omitempty"` + Vartype uint32 `protobuf:"varint,4,opt,name=vartype,proto3" json:"vartype,omitempty"` + Vartypmod int32 `protobuf:"varint,5,opt,name=vartypmod,proto3" json:"vartypmod,omitempty"` + Varcollid uint32 `protobuf:"varint,6,opt,name=varcollid,proto3" json:"varcollid,omitempty"` + Varnullingrels []uint64 `protobuf:"varint,7,rep,packed,name=varnullingrels,proto3" json:"varnullingrels,omitempty"` + Varlevelsup uint32 `protobuf:"varint,8,opt,name=varlevelsup,proto3" json:"varlevelsup,omitempty"` + Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` } -func (x *FuncExpr) Reset() { - *x = FuncExpr{} +func (x *Var) Reset() { + *x = Var{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[21] + mi := &file_pg_query_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FuncExpr) String() string { +func (x *Var) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FuncExpr) ProtoMessage() {} +func (*Var) ProtoMessage() {} -func (x *FuncExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[21] +func (x *Var) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10400,110 +11020,105 @@ func (x *FuncExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FuncExpr.ProtoReflect.Descriptor instead. -func (*FuncExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{21} +// Deprecated: Use Var.ProtoReflect.Descriptor instead. +func (*Var) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{16} } -func (x *FuncExpr) GetXpr() *Node { +func (x *Var) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *FuncExpr) GetFuncid() uint32 { +func (x *Var) GetVarno() int32 { if x != nil { - return x.Funcid + return x.Varno } return 0 } -func (x *FuncExpr) GetFuncresulttype() uint32 { +func (x *Var) GetVarattno() int32 { if x != nil { - return x.Funcresulttype + return x.Varattno } return 0 } -func (x *FuncExpr) GetFuncretset() bool { - if x != nil { - return x.Funcretset - } - return false -} - -func (x *FuncExpr) GetFuncvariadic() bool { +func (x *Var) GetVartype() uint32 { if x != nil { - return x.Funcvariadic + return x.Vartype } - return false + return 0 } -func (x *FuncExpr) GetFuncformat() CoercionForm { +func (x *Var) GetVartypmod() int32 { if x != nil { - return x.Funcformat + return x.Vartypmod } - return CoercionForm_COERCION_FORM_UNDEFINED + return 0 } -func (x *FuncExpr) GetFunccollid() uint32 { +func (x *Var) GetVarcollid() uint32 { if x != nil { - return x.Funccollid + return x.Varcollid } return 0 } -func (x *FuncExpr) GetInputcollid() uint32 { +func (x *Var) GetVarnullingrels() []uint64 { if x != nil { - return x.Inputcollid + return x.Varnullingrels } - return 0 + return nil } -func (x *FuncExpr) GetArgs() []*Node { +func (x *Var) GetVarlevelsup() uint32 { if x != nil { - return x.Args + return x.Varlevelsup } - return nil + return 0 } -func (x *FuncExpr) GetLocation() int32 { +func (x *Var) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type NamedArgExpr struct { +type Param struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Argnumber int32 `protobuf:"varint,4,opt,name=argnumber,proto3" json:"argnumber,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Paramkind ParamKind `protobuf:"varint,2,opt,name=paramkind,proto3,enum=pg_query.ParamKind" json:"paramkind,omitempty"` + Paramid int32 `protobuf:"varint,3,opt,name=paramid,proto3" json:"paramid,omitempty"` + Paramtype uint32 `protobuf:"varint,4,opt,name=paramtype,proto3" json:"paramtype,omitempty"` + Paramtypmod int32 `protobuf:"varint,5,opt,name=paramtypmod,proto3" json:"paramtypmod,omitempty"` + Paramcollid uint32 `protobuf:"varint,6,opt,name=paramcollid,proto3" json:"paramcollid,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *NamedArgExpr) Reset() { - *x = NamedArgExpr{} +func (x *Param) Reset() { + *x = Param{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[22] + mi := &file_pg_query_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NamedArgExpr) String() string { +func (x *Param) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NamedArgExpr) ProtoMessage() {} +func (*Param) ProtoMessage() {} -func (x *NamedArgExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[22] +func (x *Param) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10514,80 +11129,104 @@ func (x *NamedArgExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NamedArgExpr.ProtoReflect.Descriptor instead. -func (*NamedArgExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{22} +// Deprecated: Use Param.ProtoReflect.Descriptor instead. +func (*Param) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{17} } -func (x *NamedArgExpr) GetXpr() *Node { +func (x *Param) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *NamedArgExpr) GetArg() *Node { +func (x *Param) GetParamkind() ParamKind { if x != nil { - return x.Arg + return x.Paramkind } - return nil + return ParamKind_PARAM_KIND_UNDEFINED } -func (x *NamedArgExpr) GetName() string { +func (x *Param) GetParamid() int32 { if x != nil { - return x.Name + return x.Paramid } - return "" + return 0 } -func (x *NamedArgExpr) GetArgnumber() int32 { +func (x *Param) GetParamtype() uint32 { if x != nil { - return x.Argnumber + return x.Paramtype } return 0 } -func (x *NamedArgExpr) GetLocation() int32 { +func (x *Param) GetParamtypmod() int32 { + if x != nil { + return x.Paramtypmod + } + return 0 +} + +func (x *Param) GetParamcollid() uint32 { + if x != nil { + return x.Paramcollid + } + return 0 +} + +func (x *Param) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type OpExpr struct { +type Aggref struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` - Opfuncid uint32 `protobuf:"varint,3,opt,name=opfuncid,proto3" json:"opfuncid,omitempty"` - Opresulttype uint32 `protobuf:"varint,4,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` - Opretset bool `protobuf:"varint,5,opt,name=opretset,proto3" json:"opretset,omitempty"` - Opcollid uint32 `protobuf:"varint,6,opt,name=opcollid,proto3" json:"opcollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,7,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,8,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Aggfnoid uint32 `protobuf:"varint,2,opt,name=aggfnoid,proto3" json:"aggfnoid,omitempty"` + Aggtype uint32 `protobuf:"varint,3,opt,name=aggtype,proto3" json:"aggtype,omitempty"` + Aggcollid uint32 `protobuf:"varint,4,opt,name=aggcollid,proto3" json:"aggcollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Aggargtypes []*Node `protobuf:"bytes,6,rep,name=aggargtypes,proto3" json:"aggargtypes,omitempty"` + Aggdirectargs []*Node `protobuf:"bytes,7,rep,name=aggdirectargs,proto3" json:"aggdirectargs,omitempty"` + Args []*Node `protobuf:"bytes,8,rep,name=args,proto3" json:"args,omitempty"` + Aggorder []*Node `protobuf:"bytes,9,rep,name=aggorder,proto3" json:"aggorder,omitempty"` + Aggdistinct []*Node `protobuf:"bytes,10,rep,name=aggdistinct,proto3" json:"aggdistinct,omitempty"` + Aggfilter *Node `protobuf:"bytes,11,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` + Aggstar bool `protobuf:"varint,12,opt,name=aggstar,proto3" json:"aggstar,omitempty"` + Aggvariadic bool `protobuf:"varint,13,opt,name=aggvariadic,proto3" json:"aggvariadic,omitempty"` + Aggkind string `protobuf:"bytes,14,opt,name=aggkind,proto3" json:"aggkind,omitempty"` + Agglevelsup uint32 `protobuf:"varint,15,opt,name=agglevelsup,proto3" json:"agglevelsup,omitempty"` + Aggsplit AggSplit `protobuf:"varint,16,opt,name=aggsplit,proto3,enum=pg_query.AggSplit" json:"aggsplit,omitempty"` + Aggno int32 `protobuf:"varint,17,opt,name=aggno,proto3" json:"aggno,omitempty"` + Aggtransno int32 `protobuf:"varint,18,opt,name=aggtransno,proto3" json:"aggtransno,omitempty"` + Location int32 `protobuf:"varint,19,opt,name=location,proto3" json:"location,omitempty"` } -func (x *OpExpr) Reset() { - *x = OpExpr{} +func (x *Aggref) Reset() { + *x = Aggref{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[23] + mi := &file_pg_query_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OpExpr) String() string { +func (x *Aggref) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OpExpr) ProtoMessage() {} +func (*Aggref) ProtoMessage() {} -func (x *OpExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { +func (x *Aggref) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10597,218 +11236,173 @@ func (x *OpExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OpExpr.ProtoReflect.Descriptor instead. -func (*OpExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{23} +// Deprecated: Use Aggref.ProtoReflect.Descriptor instead. +func (*Aggref) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{18} } -func (x *OpExpr) GetXpr() *Node { +func (x *Aggref) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *OpExpr) GetOpno() uint32 { +func (x *Aggref) GetAggfnoid() uint32 { if x != nil { - return x.Opno + return x.Aggfnoid } return 0 } -func (x *OpExpr) GetOpfuncid() uint32 { +func (x *Aggref) GetAggtype() uint32 { if x != nil { - return x.Opfuncid + return x.Aggtype } return 0 } -func (x *OpExpr) GetOpresulttype() uint32 { +func (x *Aggref) GetAggcollid() uint32 { if x != nil { - return x.Opresulttype + return x.Aggcollid } return 0 } -func (x *OpExpr) GetOpretset() bool { +func (x *Aggref) GetInputcollid() uint32 { if x != nil { - return x.Opretset + return x.Inputcollid } - return false + return 0 } -func (x *OpExpr) GetOpcollid() uint32 { +func (x *Aggref) GetAggargtypes() []*Node { if x != nil { - return x.Opcollid + return x.Aggargtypes } - return 0 + return nil } -func (x *OpExpr) GetInputcollid() uint32 { +func (x *Aggref) GetAggdirectargs() []*Node { if x != nil { - return x.Inputcollid + return x.Aggdirectargs } - return 0 + return nil } -func (x *OpExpr) GetArgs() []*Node { +func (x *Aggref) GetArgs() []*Node { if x != nil { return x.Args } return nil } -func (x *OpExpr) GetLocation() int32 { +func (x *Aggref) GetAggorder() []*Node { if x != nil { - return x.Location - } - return 0 -} - -type DistinctExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` - Opfuncid uint32 `protobuf:"varint,3,opt,name=opfuncid,proto3" json:"opfuncid,omitempty"` - Opresulttype uint32 `protobuf:"varint,4,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` - Opretset bool `protobuf:"varint,5,opt,name=opretset,proto3" json:"opretset,omitempty"` - Opcollid uint32 `protobuf:"varint,6,opt,name=opcollid,proto3" json:"opcollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,7,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,8,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *DistinctExpr) Reset() { - *x = DistinctExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.Aggorder } + return nil } -func (x *DistinctExpr) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DistinctExpr) ProtoMessage() {} - -func (x *DistinctExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Aggref) GetAggdistinct() []*Node { + if x != nil { + return x.Aggdistinct } - return mi.MessageOf(x) -} - -// Deprecated: Use DistinctExpr.ProtoReflect.Descriptor instead. -func (*DistinctExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{24} + return nil } -func (x *DistinctExpr) GetXpr() *Node { +func (x *Aggref) GetAggfilter() *Node { if x != nil { - return x.Xpr + return x.Aggfilter } return nil } -func (x *DistinctExpr) GetOpno() uint32 { +func (x *Aggref) GetAggstar() bool { if x != nil { - return x.Opno + return x.Aggstar } - return 0 + return false } -func (x *DistinctExpr) GetOpfuncid() uint32 { +func (x *Aggref) GetAggvariadic() bool { if x != nil { - return x.Opfuncid + return x.Aggvariadic } - return 0 + return false } -func (x *DistinctExpr) GetOpresulttype() uint32 { +func (x *Aggref) GetAggkind() string { if x != nil { - return x.Opresulttype + return x.Aggkind } - return 0 + return "" } -func (x *DistinctExpr) GetOpretset() bool { +func (x *Aggref) GetAgglevelsup() uint32 { if x != nil { - return x.Opretset + return x.Agglevelsup } - return false + return 0 } -func (x *DistinctExpr) GetOpcollid() uint32 { +func (x *Aggref) GetAggsplit() AggSplit { if x != nil { - return x.Opcollid + return x.Aggsplit } - return 0 + return AggSplit_AGG_SPLIT_UNDEFINED } -func (x *DistinctExpr) GetInputcollid() uint32 { +func (x *Aggref) GetAggno() int32 { if x != nil { - return x.Inputcollid + return x.Aggno } return 0 } -func (x *DistinctExpr) GetArgs() []*Node { +func (x *Aggref) GetAggtransno() int32 { if x != nil { - return x.Args + return x.Aggtransno } - return nil + return 0 } -func (x *DistinctExpr) GetLocation() int32 { +func (x *Aggref) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type NullIfExpr struct { +type GroupingFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` - Opfuncid uint32 `protobuf:"varint,3,opt,name=opfuncid,proto3" json:"opfuncid,omitempty"` - Opresulttype uint32 `protobuf:"varint,4,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` - Opretset bool `protobuf:"varint,5,opt,name=opretset,proto3" json:"opretset,omitempty"` - Opcollid uint32 `protobuf:"varint,6,opt,name=opcollid,proto3" json:"opcollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,7,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,8,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + Refs []*Node `protobuf:"bytes,3,rep,name=refs,proto3" json:"refs,omitempty"` + Agglevelsup uint32 `protobuf:"varint,4,opt,name=agglevelsup,proto3" json:"agglevelsup,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *NullIfExpr) Reset() { - *x = NullIfExpr{} +func (x *GroupingFunc) Reset() { + *x = GroupingFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[25] + mi := &file_pg_query_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NullIfExpr) String() string { +func (x *GroupingFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NullIfExpr) ProtoMessage() {} +func (*GroupingFunc) ProtoMessage() {} -func (x *NullIfExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[25] +func (x *GroupingFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10819,107 +11413,82 @@ func (x *NullIfExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NullIfExpr.ProtoReflect.Descriptor instead. -func (*NullIfExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{25} +// Deprecated: Use GroupingFunc.ProtoReflect.Descriptor instead. +func (*GroupingFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{19} } -func (x *NullIfExpr) GetXpr() *Node { +func (x *GroupingFunc) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *NullIfExpr) GetOpno() uint32 { - if x != nil { - return x.Opno - } - return 0 -} - -func (x *NullIfExpr) GetOpfuncid() uint32 { - if x != nil { - return x.Opfuncid - } - return 0 -} - -func (x *NullIfExpr) GetOpresulttype() uint32 { - if x != nil { - return x.Opresulttype - } - return 0 -} - -func (x *NullIfExpr) GetOpretset() bool { +func (x *GroupingFunc) GetArgs() []*Node { if x != nil { - return x.Opretset + return x.Args } - return false + return nil } -func (x *NullIfExpr) GetOpcollid() uint32 { +func (x *GroupingFunc) GetRefs() []*Node { if x != nil { - return x.Opcollid + return x.Refs } - return 0 + return nil } -func (x *NullIfExpr) GetInputcollid() uint32 { +func (x *GroupingFunc) GetAgglevelsup() uint32 { if x != nil { - return x.Inputcollid + return x.Agglevelsup } return 0 } -func (x *NullIfExpr) GetArgs() []*Node { - if x != nil { - return x.Args - } - return nil -} - -func (x *NullIfExpr) GetLocation() int32 { +func (x *GroupingFunc) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type ScalarArrayOpExpr struct { +type WindowFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` - Opfuncid uint32 `protobuf:"varint,3,opt,name=opfuncid,proto3" json:"opfuncid,omitempty"` - Hashfuncid uint32 `protobuf:"varint,4,opt,name=hashfuncid,proto3" json:"hashfuncid,omitempty"` - Negfuncid uint32 `protobuf:"varint,5,opt,name=negfuncid,proto3" json:"negfuncid,omitempty"` - UseOr bool `protobuf:"varint,6,opt,name=use_or,json=useOr,proto3" json:"use_or,omitempty"` - Inputcollid uint32 `protobuf:"varint,7,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Args []*Node `protobuf:"bytes,8,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Winfnoid uint32 `protobuf:"varint,2,opt,name=winfnoid,proto3" json:"winfnoid,omitempty"` + Wintype uint32 `protobuf:"varint,3,opt,name=wintype,proto3" json:"wintype,omitempty"` + Wincollid uint32 `protobuf:"varint,4,opt,name=wincollid,proto3" json:"wincollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,5,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Aggfilter *Node `protobuf:"bytes,7,opt,name=aggfilter,proto3" json:"aggfilter,omitempty"` + RunCondition []*Node `protobuf:"bytes,8,rep,name=run_condition,json=runCondition,proto3" json:"run_condition,omitempty"` + Winref uint32 `protobuf:"varint,9,opt,name=winref,proto3" json:"winref,omitempty"` + Winstar bool `protobuf:"varint,10,opt,name=winstar,proto3" json:"winstar,omitempty"` + Winagg bool `protobuf:"varint,11,opt,name=winagg,proto3" json:"winagg,omitempty"` + Location int32 `protobuf:"varint,12,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ScalarArrayOpExpr) Reset() { - *x = ScalarArrayOpExpr{} +func (x *WindowFunc) Reset() { + *x = WindowFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[26] + mi := &file_pg_query_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ScalarArrayOpExpr) String() string { +func (x *WindowFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ScalarArrayOpExpr) ProtoMessage() {} +func (*WindowFunc) ProtoMessage() {} -func (x *ScalarArrayOpExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[26] +func (x *WindowFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10930,102 +11499,124 @@ func (x *ScalarArrayOpExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ScalarArrayOpExpr.ProtoReflect.Descriptor instead. -func (*ScalarArrayOpExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{26} +// Deprecated: Use WindowFunc.ProtoReflect.Descriptor instead. +func (*WindowFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{20} } -func (x *ScalarArrayOpExpr) GetXpr() *Node { +func (x *WindowFunc) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *ScalarArrayOpExpr) GetOpno() uint32 { +func (x *WindowFunc) GetWinfnoid() uint32 { if x != nil { - return x.Opno + return x.Winfnoid } return 0 } -func (x *ScalarArrayOpExpr) GetOpfuncid() uint32 { +func (x *WindowFunc) GetWintype() uint32 { if x != nil { - return x.Opfuncid + return x.Wintype } return 0 } -func (x *ScalarArrayOpExpr) GetHashfuncid() uint32 { +func (x *WindowFunc) GetWincollid() uint32 { if x != nil { - return x.Hashfuncid + return x.Wincollid } return 0 } -func (x *ScalarArrayOpExpr) GetNegfuncid() uint32 { +func (x *WindowFunc) GetInputcollid() uint32 { if x != nil { - return x.Negfuncid + return x.Inputcollid } return 0 } -func (x *ScalarArrayOpExpr) GetUseOr() bool { +func (x *WindowFunc) GetArgs() []*Node { if x != nil { - return x.UseOr + return x.Args } - return false + return nil } -func (x *ScalarArrayOpExpr) GetInputcollid() uint32 { +func (x *WindowFunc) GetAggfilter() *Node { if x != nil { - return x.Inputcollid + return x.Aggfilter } - return 0 + return nil } -func (x *ScalarArrayOpExpr) GetArgs() []*Node { +func (x *WindowFunc) GetRunCondition() []*Node { if x != nil { - return x.Args + return x.RunCondition } return nil } -func (x *ScalarArrayOpExpr) GetLocation() int32 { +func (x *WindowFunc) GetWinref() uint32 { + if x != nil { + return x.Winref + } + return 0 +} + +func (x *WindowFunc) GetWinstar() bool { + if x != nil { + return x.Winstar + } + return false +} + +func (x *WindowFunc) GetWinagg() bool { + if x != nil { + return x.Winagg + } + return false +} + +func (x *WindowFunc) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type BoolExpr struct { +type WindowFuncRunCondition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Boolop BoolExprType `protobuf:"varint,2,opt,name=boolop,proto3,enum=pg_query.BoolExprType" json:"boolop,omitempty"` - Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + Inputcollid uint32 `protobuf:"varint,3,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + WfuncLeft bool `protobuf:"varint,4,opt,name=wfunc_left,proto3" json:"wfunc_left,omitempty"` + Arg *Node `protobuf:"bytes,5,opt,name=arg,proto3" json:"arg,omitempty"` } -func (x *BoolExpr) Reset() { - *x = BoolExpr{} +func (x *WindowFuncRunCondition) Reset() { + *x = WindowFuncRunCondition{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[27] + mi := &file_pg_query_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BoolExpr) String() string { +func (x *WindowFuncRunCondition) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BoolExpr) ProtoMessage() {} +func (*WindowFuncRunCondition) ProtoMessage() {} -func (x *BoolExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[27] +func (x *WindowFuncRunCondition) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11036,70 +11627,74 @@ func (x *BoolExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BoolExpr.ProtoReflect.Descriptor instead. -func (*BoolExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{27} +// Deprecated: Use WindowFuncRunCondition.ProtoReflect.Descriptor instead. +func (*WindowFuncRunCondition) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{21} } -func (x *BoolExpr) GetXpr() *Node { +func (x *WindowFuncRunCondition) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *BoolExpr) GetBoolop() BoolExprType { +func (x *WindowFuncRunCondition) GetOpno() uint32 { if x != nil { - return x.Boolop + return x.Opno } - return BoolExprType_BOOL_EXPR_TYPE_UNDEFINED + return 0 } -func (x *BoolExpr) GetArgs() []*Node { +func (x *WindowFuncRunCondition) GetInputcollid() uint32 { if x != nil { - return x.Args + return x.Inputcollid } - return nil + return 0 } -func (x *BoolExpr) GetLocation() int32 { +func (x *WindowFuncRunCondition) GetWfuncLeft() bool { if x != nil { - return x.Location + return x.WfuncLeft } - return 0 + return false } -type SubLink struct { +func (x *WindowFuncRunCondition) GetArg() *Node { + if x != nil { + return x.Arg + } + return nil +} + +type MergeSupportFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - SubLinkType SubLinkType `protobuf:"varint,2,opt,name=sub_link_type,json=subLinkType,proto3,enum=pg_query.SubLinkType" json:"sub_link_type,omitempty"` - SubLinkId int32 `protobuf:"varint,3,opt,name=sub_link_id,json=subLinkId,proto3" json:"sub_link_id,omitempty"` - Testexpr *Node `protobuf:"bytes,4,opt,name=testexpr,proto3" json:"testexpr,omitempty"` - OperName []*Node `protobuf:"bytes,5,rep,name=oper_name,json=operName,proto3" json:"oper_name,omitempty"` - Subselect *Node `protobuf:"bytes,6,opt,name=subselect,proto3" json:"subselect,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Msftype uint32 `protobuf:"varint,2,opt,name=msftype,proto3" json:"msftype,omitempty"` + Msfcollid uint32 `protobuf:"varint,3,opt,name=msfcollid,proto3" json:"msfcollid,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SubLink) Reset() { - *x = SubLink{} +func (x *MergeSupportFunc) Reset() { + *x = MergeSupportFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[28] + mi := &file_pg_query_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SubLink) String() string { +func (x *MergeSupportFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SubLink) ProtoMessage() {} +func (*MergeSupportFunc) ProtoMessage() {} -func (x *SubLink) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[28] +func (x *MergeSupportFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11110,101 +11705,73 @@ func (x *SubLink) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SubLink.ProtoReflect.Descriptor instead. -func (*SubLink) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{28} +// Deprecated: Use MergeSupportFunc.ProtoReflect.Descriptor instead. +func (*MergeSupportFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{22} } -func (x *SubLink) GetXpr() *Node { +func (x *MergeSupportFunc) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *SubLink) GetSubLinkType() SubLinkType { - if x != nil { - return x.SubLinkType - } - return SubLinkType_SUB_LINK_TYPE_UNDEFINED -} - -func (x *SubLink) GetSubLinkId() int32 { +func (x *MergeSupportFunc) GetMsftype() uint32 { if x != nil { - return x.SubLinkId + return x.Msftype } return 0 } -func (x *SubLink) GetTestexpr() *Node { - if x != nil { - return x.Testexpr - } - return nil -} - -func (x *SubLink) GetOperName() []*Node { - if x != nil { - return x.OperName - } - return nil -} - -func (x *SubLink) GetSubselect() *Node { +func (x *MergeSupportFunc) GetMsfcollid() uint32 { if x != nil { - return x.Subselect + return x.Msfcollid } - return nil + return 0 } -func (x *SubLink) GetLocation() int32 { +func (x *MergeSupportFunc) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type SubPlan struct { +type SubscriptingRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - SubLinkType SubLinkType `protobuf:"varint,2,opt,name=sub_link_type,json=subLinkType,proto3,enum=pg_query.SubLinkType" json:"sub_link_type,omitempty"` - Testexpr *Node `protobuf:"bytes,3,opt,name=testexpr,proto3" json:"testexpr,omitempty"` - ParamIds []*Node `protobuf:"bytes,4,rep,name=param_ids,json=paramIds,proto3" json:"param_ids,omitempty"` - PlanId int32 `protobuf:"varint,5,opt,name=plan_id,proto3" json:"plan_id,omitempty"` - PlanName string `protobuf:"bytes,6,opt,name=plan_name,proto3" json:"plan_name,omitempty"` - FirstColType uint32 `protobuf:"varint,7,opt,name=first_col_type,json=firstColType,proto3" json:"first_col_type,omitempty"` - FirstColTypmod int32 `protobuf:"varint,8,opt,name=first_col_typmod,json=firstColTypmod,proto3" json:"first_col_typmod,omitempty"` - FirstColCollation uint32 `protobuf:"varint,9,opt,name=first_col_collation,json=firstColCollation,proto3" json:"first_col_collation,omitempty"` - UseHashTable bool `protobuf:"varint,10,opt,name=use_hash_table,json=useHashTable,proto3" json:"use_hash_table,omitempty"` - UnknownEqFalse bool `protobuf:"varint,11,opt,name=unknown_eq_false,json=unknownEqFalse,proto3" json:"unknown_eq_false,omitempty"` - ParallelSafe bool `protobuf:"varint,12,opt,name=parallel_safe,proto3" json:"parallel_safe,omitempty"` - SetParam []*Node `protobuf:"bytes,13,rep,name=set_param,json=setParam,proto3" json:"set_param,omitempty"` - ParParam []*Node `protobuf:"bytes,14,rep,name=par_param,json=parParam,proto3" json:"par_param,omitempty"` - Args []*Node `protobuf:"bytes,15,rep,name=args,proto3" json:"args,omitempty"` - StartupCost float64 `protobuf:"fixed64,16,opt,name=startup_cost,proto3" json:"startup_cost,omitempty"` - PerCallCost float64 `protobuf:"fixed64,17,opt,name=per_call_cost,proto3" json:"per_call_cost,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Refcontainertype uint32 `protobuf:"varint,2,opt,name=refcontainertype,proto3" json:"refcontainertype,omitempty"` + Refelemtype uint32 `protobuf:"varint,3,opt,name=refelemtype,proto3" json:"refelemtype,omitempty"` + Refrestype uint32 `protobuf:"varint,4,opt,name=refrestype,proto3" json:"refrestype,omitempty"` + Reftypmod int32 `protobuf:"varint,5,opt,name=reftypmod,proto3" json:"reftypmod,omitempty"` + Refcollid uint32 `protobuf:"varint,6,opt,name=refcollid,proto3" json:"refcollid,omitempty"` + Refupperindexpr []*Node `protobuf:"bytes,7,rep,name=refupperindexpr,proto3" json:"refupperindexpr,omitempty"` + Reflowerindexpr []*Node `protobuf:"bytes,8,rep,name=reflowerindexpr,proto3" json:"reflowerindexpr,omitempty"` + Refexpr *Node `protobuf:"bytes,9,opt,name=refexpr,proto3" json:"refexpr,omitempty"` + Refassgnexpr *Node `protobuf:"bytes,10,opt,name=refassgnexpr,proto3" json:"refassgnexpr,omitempty"` } -func (x *SubPlan) Reset() { - *x = SubPlan{} +func (x *SubscriptingRef) Reset() { + *x = SubscriptingRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[29] + mi := &file_pg_query_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SubPlan) String() string { +func (x *SubscriptingRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SubPlan) ProtoMessage() {} +func (*SubscriptingRef) ProtoMessage() {} -func (x *SubPlan) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[29] +func (x *SubscriptingRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11215,156 +11782,115 @@ func (x *SubPlan) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SubPlan.ProtoReflect.Descriptor instead. -func (*SubPlan) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{29} +// Deprecated: Use SubscriptingRef.ProtoReflect.Descriptor instead. +func (*SubscriptingRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{23} } -func (x *SubPlan) GetXpr() *Node { +func (x *SubscriptingRef) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *SubPlan) GetSubLinkType() SubLinkType { - if x != nil { - return x.SubLinkType - } - return SubLinkType_SUB_LINK_TYPE_UNDEFINED -} - -func (x *SubPlan) GetTestexpr() *Node { - if x != nil { - return x.Testexpr - } - return nil -} - -func (x *SubPlan) GetParamIds() []*Node { - if x != nil { - return x.ParamIds - } - return nil -} - -func (x *SubPlan) GetPlanId() int32 { +func (x *SubscriptingRef) GetRefcontainertype() uint32 { if x != nil { - return x.PlanId + return x.Refcontainertype } return 0 } -func (x *SubPlan) GetPlanName() string { - if x != nil { - return x.PlanName - } - return "" -} - -func (x *SubPlan) GetFirstColType() uint32 { +func (x *SubscriptingRef) GetRefelemtype() uint32 { if x != nil { - return x.FirstColType + return x.Refelemtype } return 0 } -func (x *SubPlan) GetFirstColTypmod() int32 { +func (x *SubscriptingRef) GetRefrestype() uint32 { if x != nil { - return x.FirstColTypmod + return x.Refrestype } return 0 } -func (x *SubPlan) GetFirstColCollation() uint32 { +func (x *SubscriptingRef) GetReftypmod() int32 { if x != nil { - return x.FirstColCollation + return x.Reftypmod } return 0 } -func (x *SubPlan) GetUseHashTable() bool { - if x != nil { - return x.UseHashTable - } - return false -} - -func (x *SubPlan) GetUnknownEqFalse() bool { +func (x *SubscriptingRef) GetRefcollid() uint32 { if x != nil { - return x.UnknownEqFalse + return x.Refcollid } - return false + return 0 } -func (x *SubPlan) GetParallelSafe() bool { +func (x *SubscriptingRef) GetRefupperindexpr() []*Node { if x != nil { - return x.ParallelSafe + return x.Refupperindexpr } - return false + return nil } -func (x *SubPlan) GetSetParam() []*Node { +func (x *SubscriptingRef) GetReflowerindexpr() []*Node { if x != nil { - return x.SetParam + return x.Reflowerindexpr } return nil } -func (x *SubPlan) GetParParam() []*Node { +func (x *SubscriptingRef) GetRefexpr() *Node { if x != nil { - return x.ParParam + return x.Refexpr } return nil } -func (x *SubPlan) GetArgs() []*Node { +func (x *SubscriptingRef) GetRefassgnexpr() *Node { if x != nil { - return x.Args + return x.Refassgnexpr } return nil } -func (x *SubPlan) GetStartupCost() float64 { - if x != nil { - return x.StartupCost - } - return 0 -} +type FuncExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *SubPlan) GetPerCallCost() float64 { - if x != nil { - return x.PerCallCost - } - return 0 -} - -type AlternativeSubPlan struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Subplans []*Node `protobuf:"bytes,2,rep,name=subplans,proto3" json:"subplans,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Funcid uint32 `protobuf:"varint,2,opt,name=funcid,proto3" json:"funcid,omitempty"` + Funcresulttype uint32 `protobuf:"varint,3,opt,name=funcresulttype,proto3" json:"funcresulttype,omitempty"` + Funcretset bool `protobuf:"varint,4,opt,name=funcretset,proto3" json:"funcretset,omitempty"` + Funcvariadic bool `protobuf:"varint,5,opt,name=funcvariadic,proto3" json:"funcvariadic,omitempty"` + Funcformat CoercionForm `protobuf:"varint,6,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` + Funccollid uint32 `protobuf:"varint,7,opt,name=funccollid,proto3" json:"funccollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,8,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,9,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,10,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlternativeSubPlan) Reset() { - *x = AlternativeSubPlan{} +func (x *FuncExpr) Reset() { + *x = FuncExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[30] + mi := &file_pg_query_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlternativeSubPlan) String() string { +func (x *FuncExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlternativeSubPlan) ProtoMessage() {} +func (*FuncExpr) ProtoMessage() {} -func (x *AlternativeSubPlan) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[30] +func (x *FuncExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11375,141 +11901,110 @@ func (x *AlternativeSubPlan) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlternativeSubPlan.ProtoReflect.Descriptor instead. -func (*AlternativeSubPlan) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{30} +// Deprecated: Use FuncExpr.ProtoReflect.Descriptor instead. +func (*FuncExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{24} } -func (x *AlternativeSubPlan) GetXpr() *Node { +func (x *FuncExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *AlternativeSubPlan) GetSubplans() []*Node { +func (x *FuncExpr) GetFuncid() uint32 { if x != nil { - return x.Subplans + return x.Funcid } - return nil -} - -type FieldSelect struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Fieldnum int32 `protobuf:"varint,3,opt,name=fieldnum,proto3" json:"fieldnum,omitempty"` - Resulttype uint32 `protobuf:"varint,4,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resulttypmod int32 `protobuf:"varint,5,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` - Resultcollid uint32 `protobuf:"varint,6,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + return 0 } -func (x *FieldSelect) Reset() { - *x = FieldSelect{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *FuncExpr) GetFuncresulttype() uint32 { + if x != nil { + return x.Funcresulttype } + return 0 } -func (x *FieldSelect) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FieldSelect) ProtoMessage() {} - -func (x *FieldSelect) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *FuncExpr) GetFuncretset() bool { + if x != nil { + return x.Funcretset } - return mi.MessageOf(x) -} - -// Deprecated: Use FieldSelect.ProtoReflect.Descriptor instead. -func (*FieldSelect) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{31} + return false } -func (x *FieldSelect) GetXpr() *Node { +func (x *FuncExpr) GetFuncvariadic() bool { if x != nil { - return x.Xpr + return x.Funcvariadic } - return nil + return false } -func (x *FieldSelect) GetArg() *Node { +func (x *FuncExpr) GetFuncformat() CoercionForm { if x != nil { - return x.Arg + return x.Funcformat } - return nil + return CoercionForm_COERCION_FORM_UNDEFINED } -func (x *FieldSelect) GetFieldnum() int32 { +func (x *FuncExpr) GetFunccollid() uint32 { if x != nil { - return x.Fieldnum + return x.Funccollid } return 0 } -func (x *FieldSelect) GetResulttype() uint32 { +func (x *FuncExpr) GetInputcollid() uint32 { if x != nil { - return x.Resulttype + return x.Inputcollid } return 0 } -func (x *FieldSelect) GetResulttypmod() int32 { +func (x *FuncExpr) GetArgs() []*Node { if x != nil { - return x.Resulttypmod + return x.Args } - return 0 + return nil } -func (x *FieldSelect) GetResultcollid() uint32 { +func (x *FuncExpr) GetLocation() int32 { if x != nil { - return x.Resultcollid + return x.Location } return 0 } -type FieldStore struct { +type NamedArgExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Newvals []*Node `protobuf:"bytes,3,rep,name=newvals,proto3" json:"newvals,omitempty"` - Fieldnums []*Node `protobuf:"bytes,4,rep,name=fieldnums,proto3" json:"fieldnums,omitempty"` - Resulttype uint32 `protobuf:"varint,5,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Argnumber int32 `protobuf:"varint,4,opt,name=argnumber,proto3" json:"argnumber,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *FieldStore) Reset() { - *x = FieldStore{} +func (x *NamedArgExpr) Reset() { + *x = NamedArgExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[32] + mi := &file_pg_query_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FieldStore) String() string { +func (x *NamedArgExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FieldStore) ProtoMessage() {} +func (*NamedArgExpr) ProtoMessage() {} -func (x *FieldStore) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[32] +func (x *NamedArgExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11520,77 +12015,78 @@ func (x *FieldStore) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FieldStore.ProtoReflect.Descriptor instead. -func (*FieldStore) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{32} +// Deprecated: Use NamedArgExpr.ProtoReflect.Descriptor instead. +func (*NamedArgExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{25} } -func (x *FieldStore) GetXpr() *Node { +func (x *NamedArgExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *FieldStore) GetArg() *Node { +func (x *NamedArgExpr) GetArg() *Node { if x != nil { return x.Arg } return nil } -func (x *FieldStore) GetNewvals() []*Node { +func (x *NamedArgExpr) GetName() string { if x != nil { - return x.Newvals + return x.Name } - return nil + return "" } -func (x *FieldStore) GetFieldnums() []*Node { +func (x *NamedArgExpr) GetArgnumber() int32 { if x != nil { - return x.Fieldnums + return x.Argnumber } - return nil + return 0 } -func (x *FieldStore) GetResulttype() uint32 { +func (x *NamedArgExpr) GetLocation() int32 { if x != nil { - return x.Resulttype + return x.Location } return 0 } -type RelabelType struct { +type OpExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` - Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` - Relabelformat CoercionForm `protobuf:"varint,6,opt,name=relabelformat,proto3,enum=pg_query.CoercionForm" json:"relabelformat,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + Opresulttype uint32 `protobuf:"varint,3,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` + Opretset bool `protobuf:"varint,4,opt,name=opretset,proto3" json:"opretset,omitempty"` + Opcollid uint32 `protobuf:"varint,5,opt,name=opcollid,proto3" json:"opcollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,6,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,7,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RelabelType) Reset() { - *x = RelabelType{} +func (x *OpExpr) Reset() { + *x = OpExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[33] + mi := &file_pg_query_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RelabelType) String() string { +func (x *OpExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RelabelType) ProtoMessage() {} +func (*OpExpr) ProtoMessage() {} -func (x *RelabelType) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[33] +func (x *OpExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11601,90 +12097,99 @@ func (x *RelabelType) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RelabelType.ProtoReflect.Descriptor instead. -func (*RelabelType) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{33} +// Deprecated: Use OpExpr.ProtoReflect.Descriptor instead. +func (*OpExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{26} } -func (x *RelabelType) GetXpr() *Node { +func (x *OpExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *RelabelType) GetArg() *Node { +func (x *OpExpr) GetOpno() uint32 { if x != nil { - return x.Arg + return x.Opno } - return nil + return 0 } -func (x *RelabelType) GetResulttype() uint32 { +func (x *OpExpr) GetOpresulttype() uint32 { if x != nil { - return x.Resulttype + return x.Opresulttype } return 0 } -func (x *RelabelType) GetResulttypmod() int32 { +func (x *OpExpr) GetOpretset() bool { if x != nil { - return x.Resulttypmod + return x.Opretset + } + return false +} + +func (x *OpExpr) GetOpcollid() uint32 { + if x != nil { + return x.Opcollid } return 0 } -func (x *RelabelType) GetResultcollid() uint32 { +func (x *OpExpr) GetInputcollid() uint32 { if x != nil { - return x.Resultcollid + return x.Inputcollid } return 0 } -func (x *RelabelType) GetRelabelformat() CoercionForm { +func (x *OpExpr) GetArgs() []*Node { if x != nil { - return x.Relabelformat + return x.Args } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *RelabelType) GetLocation() int32 { +func (x *OpExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CoerceViaIO struct { +type DistinctExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resultcollid uint32 `protobuf:"varint,4,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` - Coerceformat CoercionForm `protobuf:"varint,5,opt,name=coerceformat,proto3,enum=pg_query.CoercionForm" json:"coerceformat,omitempty"` - Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + Opresulttype uint32 `protobuf:"varint,3,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` + Opretset bool `protobuf:"varint,4,opt,name=opretset,proto3" json:"opretset,omitempty"` + Opcollid uint32 `protobuf:"varint,5,opt,name=opcollid,proto3" json:"opcollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,6,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,7,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CoerceViaIO) Reset() { - *x = CoerceViaIO{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[34] +func (x *DistinctExpr) Reset() { + *x = DistinctExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CoerceViaIO) String() string { +func (x *DistinctExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CoerceViaIO) ProtoMessage() {} +func (*DistinctExpr) ProtoMessage() {} -func (x *CoerceViaIO) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[34] +func (x *DistinctExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11695,85 +12200,99 @@ func (x *CoerceViaIO) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CoerceViaIO.ProtoReflect.Descriptor instead. -func (*CoerceViaIO) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{34} +// Deprecated: Use DistinctExpr.ProtoReflect.Descriptor instead. +func (*DistinctExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{27} } -func (x *CoerceViaIO) GetXpr() *Node { +func (x *DistinctExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CoerceViaIO) GetArg() *Node { +func (x *DistinctExpr) GetOpno() uint32 { if x != nil { - return x.Arg + return x.Opno } - return nil + return 0 } -func (x *CoerceViaIO) GetResulttype() uint32 { +func (x *DistinctExpr) GetOpresulttype() uint32 { if x != nil { - return x.Resulttype + return x.Opresulttype } return 0 } -func (x *CoerceViaIO) GetResultcollid() uint32 { +func (x *DistinctExpr) GetOpretset() bool { if x != nil { - return x.Resultcollid + return x.Opretset + } + return false +} + +func (x *DistinctExpr) GetOpcollid() uint32 { + if x != nil { + return x.Opcollid } return 0 } -func (x *CoerceViaIO) GetCoerceformat() CoercionForm { +func (x *DistinctExpr) GetInputcollid() uint32 { if x != nil { - return x.Coerceformat + return x.Inputcollid } - return CoercionForm_COERCION_FORM_UNDEFINED + return 0 } -func (x *CoerceViaIO) GetLocation() int32 { +func (x *DistinctExpr) GetArgs() []*Node { + if x != nil { + return x.Args + } + return nil +} + +func (x *DistinctExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type ArrayCoerceExpr struct { +type NullIfExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Elemexpr *Node `protobuf:"bytes,3,opt,name=elemexpr,proto3" json:"elemexpr,omitempty"` - Resulttype uint32 `protobuf:"varint,4,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resulttypmod int32 `protobuf:"varint,5,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` - Resultcollid uint32 `protobuf:"varint,6,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` - Coerceformat CoercionForm `protobuf:"varint,7,opt,name=coerceformat,proto3,enum=pg_query.CoercionForm" json:"coerceformat,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + Opresulttype uint32 `protobuf:"varint,3,opt,name=opresulttype,proto3" json:"opresulttype,omitempty"` + Opretset bool `protobuf:"varint,4,opt,name=opretset,proto3" json:"opretset,omitempty"` + Opcollid uint32 `protobuf:"varint,5,opt,name=opcollid,proto3" json:"opcollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,6,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,7,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ArrayCoerceExpr) Reset() { - *x = ArrayCoerceExpr{} +func (x *NullIfExpr) Reset() { + *x = NullIfExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[35] + mi := &file_pg_query_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ArrayCoerceExpr) String() string { +func (x *NullIfExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ArrayCoerceExpr) ProtoMessage() {} +func (*NullIfExpr) ProtoMessage() {} -func (x *ArrayCoerceExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[35] +func (x *NullIfExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11784,96 +12303,97 @@ func (x *ArrayCoerceExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ArrayCoerceExpr.ProtoReflect.Descriptor instead. -func (*ArrayCoerceExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{35} +// Deprecated: Use NullIfExpr.ProtoReflect.Descriptor instead. +func (*NullIfExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{28} } -func (x *ArrayCoerceExpr) GetXpr() *Node { +func (x *NullIfExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *ArrayCoerceExpr) GetArg() *Node { +func (x *NullIfExpr) GetOpno() uint32 { if x != nil { - return x.Arg + return x.Opno } - return nil + return 0 } -func (x *ArrayCoerceExpr) GetElemexpr() *Node { +func (x *NullIfExpr) GetOpresulttype() uint32 { if x != nil { - return x.Elemexpr + return x.Opresulttype } - return nil + return 0 } -func (x *ArrayCoerceExpr) GetResulttype() uint32 { +func (x *NullIfExpr) GetOpretset() bool { if x != nil { - return x.Resulttype + return x.Opretset } - return 0 + return false } -func (x *ArrayCoerceExpr) GetResulttypmod() int32 { +func (x *NullIfExpr) GetOpcollid() uint32 { if x != nil { - return x.Resulttypmod + return x.Opcollid } return 0 } -func (x *ArrayCoerceExpr) GetResultcollid() uint32 { +func (x *NullIfExpr) GetInputcollid() uint32 { if x != nil { - return x.Resultcollid + return x.Inputcollid } return 0 } -func (x *ArrayCoerceExpr) GetCoerceformat() CoercionForm { +func (x *NullIfExpr) GetArgs() []*Node { if x != nil { - return x.Coerceformat + return x.Args } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *ArrayCoerceExpr) GetLocation() int32 { +func (x *NullIfExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type ConvertRowtypeExpr struct { +type ScalarArrayOpExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Convertformat CoercionForm `protobuf:"varint,4,opt,name=convertformat,proto3,enum=pg_query.CoercionForm" json:"convertformat,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Opno uint32 `protobuf:"varint,2,opt,name=opno,proto3" json:"opno,omitempty"` + UseOr bool `protobuf:"varint,3,opt,name=use_or,json=useOr,proto3" json:"use_or,omitempty"` + Inputcollid uint32 `protobuf:"varint,4,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Args []*Node `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ConvertRowtypeExpr) Reset() { - *x = ConvertRowtypeExpr{} +func (x *ScalarArrayOpExpr) Reset() { + *x = ScalarArrayOpExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[36] + mi := &file_pg_query_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConvertRowtypeExpr) String() string { +func (x *ScalarArrayOpExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConvertRowtypeExpr) ProtoMessage() {} +func (*ScalarArrayOpExpr) ProtoMessage() {} -func (x *ConvertRowtypeExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[36] +func (x *ScalarArrayOpExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11884,74 +12404,81 @@ func (x *ConvertRowtypeExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConvertRowtypeExpr.ProtoReflect.Descriptor instead. -func (*ConvertRowtypeExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{36} +// Deprecated: Use ScalarArrayOpExpr.ProtoReflect.Descriptor instead. +func (*ScalarArrayOpExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{29} } -func (x *ConvertRowtypeExpr) GetXpr() *Node { +func (x *ScalarArrayOpExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *ConvertRowtypeExpr) GetArg() *Node { +func (x *ScalarArrayOpExpr) GetOpno() uint32 { if x != nil { - return x.Arg + return x.Opno } - return nil + return 0 } -func (x *ConvertRowtypeExpr) GetResulttype() uint32 { +func (x *ScalarArrayOpExpr) GetUseOr() bool { if x != nil { - return x.Resulttype + return x.UseOr + } + return false +} + +func (x *ScalarArrayOpExpr) GetInputcollid() uint32 { + if x != nil { + return x.Inputcollid } return 0 } -func (x *ConvertRowtypeExpr) GetConvertformat() CoercionForm { +func (x *ScalarArrayOpExpr) GetArgs() []*Node { if x != nil { - return x.Convertformat + return x.Args } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *ConvertRowtypeExpr) GetLocation() int32 { +func (x *ScalarArrayOpExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CollateExpr struct { +type BoolExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - CollOid uint32 `protobuf:"varint,3,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Boolop BoolExprType `protobuf:"varint,2,opt,name=boolop,proto3,enum=pg_query.BoolExprType" json:"boolop,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CollateExpr) Reset() { - *x = CollateExpr{} +func (x *BoolExpr) Reset() { + *x = BoolExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[37] + mi := &file_pg_query_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CollateExpr) String() string { +func (x *BoolExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CollateExpr) ProtoMessage() {} +func (*BoolExpr) ProtoMessage() {} -func (x *CollateExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[37] +func (x *BoolExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11962,70 +12489,70 @@ func (x *CollateExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CollateExpr.ProtoReflect.Descriptor instead. -func (*CollateExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{37} +// Deprecated: Use BoolExpr.ProtoReflect.Descriptor instead. +func (*BoolExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{30} } -func (x *CollateExpr) GetXpr() *Node { +func (x *BoolExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CollateExpr) GetArg() *Node { +func (x *BoolExpr) GetBoolop() BoolExprType { if x != nil { - return x.Arg + return x.Boolop } - return nil + return BoolExprType_BOOL_EXPR_TYPE_UNDEFINED } -func (x *CollateExpr) GetCollOid() uint32 { +func (x *BoolExpr) GetArgs() []*Node { if x != nil { - return x.CollOid + return x.Args } - return 0 + return nil } -func (x *CollateExpr) GetLocation() int32 { +func (x *BoolExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CaseExpr struct { +type SubLink struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Casetype uint32 `protobuf:"varint,2,opt,name=casetype,proto3" json:"casetype,omitempty"` - Casecollid uint32 `protobuf:"varint,3,opt,name=casecollid,proto3" json:"casecollid,omitempty"` - Arg *Node `protobuf:"bytes,4,opt,name=arg,proto3" json:"arg,omitempty"` - Args []*Node `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"` - Defresult *Node `protobuf:"bytes,6,opt,name=defresult,proto3" json:"defresult,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + SubLinkType SubLinkType `protobuf:"varint,2,opt,name=sub_link_type,json=subLinkType,proto3,enum=pg_query.SubLinkType" json:"sub_link_type,omitempty"` + SubLinkId int32 `protobuf:"varint,3,opt,name=sub_link_id,json=subLinkId,proto3" json:"sub_link_id,omitempty"` + Testexpr *Node `protobuf:"bytes,4,opt,name=testexpr,proto3" json:"testexpr,omitempty"` + OperName []*Node `protobuf:"bytes,5,rep,name=oper_name,json=operName,proto3" json:"oper_name,omitempty"` + Subselect *Node `protobuf:"bytes,6,opt,name=subselect,proto3" json:"subselect,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CaseExpr) Reset() { - *x = CaseExpr{} +func (x *SubLink) Reset() { + *x = SubLink{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[38] + mi := &file_pg_query_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CaseExpr) String() string { +func (x *SubLink) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CaseExpr) ProtoMessage() {} +func (*SubLink) ProtoMessage() {} -func (x *CaseExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[38] +func (x *SubLink) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12036,88 +12563,101 @@ func (x *CaseExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CaseExpr.ProtoReflect.Descriptor instead. -func (*CaseExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{38} +// Deprecated: Use SubLink.ProtoReflect.Descriptor instead. +func (*SubLink) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{31} } -func (x *CaseExpr) GetXpr() *Node { +func (x *SubLink) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CaseExpr) GetCasetype() uint32 { +func (x *SubLink) GetSubLinkType() SubLinkType { if x != nil { - return x.Casetype + return x.SubLinkType } - return 0 + return SubLinkType_SUB_LINK_TYPE_UNDEFINED } -func (x *CaseExpr) GetCasecollid() uint32 { +func (x *SubLink) GetSubLinkId() int32 { if x != nil { - return x.Casecollid + return x.SubLinkId } return 0 } -func (x *CaseExpr) GetArg() *Node { +func (x *SubLink) GetTestexpr() *Node { if x != nil { - return x.Arg + return x.Testexpr } return nil } -func (x *CaseExpr) GetArgs() []*Node { +func (x *SubLink) GetOperName() []*Node { if x != nil { - return x.Args + return x.OperName } return nil } -func (x *CaseExpr) GetDefresult() *Node { +func (x *SubLink) GetSubselect() *Node { if x != nil { - return x.Defresult + return x.Subselect } return nil } -func (x *CaseExpr) GetLocation() int32 { +func (x *SubLink) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CaseWhen struct { +type SubPlan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Result *Node `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + SubLinkType SubLinkType `protobuf:"varint,2,opt,name=sub_link_type,json=subLinkType,proto3,enum=pg_query.SubLinkType" json:"sub_link_type,omitempty"` + Testexpr *Node `protobuf:"bytes,3,opt,name=testexpr,proto3" json:"testexpr,omitempty"` + ParamIds []*Node `protobuf:"bytes,4,rep,name=param_ids,json=paramIds,proto3" json:"param_ids,omitempty"` + PlanId int32 `protobuf:"varint,5,opt,name=plan_id,proto3" json:"plan_id,omitempty"` + PlanName string `protobuf:"bytes,6,opt,name=plan_name,proto3" json:"plan_name,omitempty"` + FirstColType uint32 `protobuf:"varint,7,opt,name=first_col_type,json=firstColType,proto3" json:"first_col_type,omitempty"` + FirstColTypmod int32 `protobuf:"varint,8,opt,name=first_col_typmod,json=firstColTypmod,proto3" json:"first_col_typmod,omitempty"` + FirstColCollation uint32 `protobuf:"varint,9,opt,name=first_col_collation,json=firstColCollation,proto3" json:"first_col_collation,omitempty"` + UseHashTable bool `protobuf:"varint,10,opt,name=use_hash_table,json=useHashTable,proto3" json:"use_hash_table,omitempty"` + UnknownEqFalse bool `protobuf:"varint,11,opt,name=unknown_eq_false,json=unknownEqFalse,proto3" json:"unknown_eq_false,omitempty"` + ParallelSafe bool `protobuf:"varint,12,opt,name=parallel_safe,proto3" json:"parallel_safe,omitempty"` + SetParam []*Node `protobuf:"bytes,13,rep,name=set_param,json=setParam,proto3" json:"set_param,omitempty"` + ParParam []*Node `protobuf:"bytes,14,rep,name=par_param,json=parParam,proto3" json:"par_param,omitempty"` + Args []*Node `protobuf:"bytes,15,rep,name=args,proto3" json:"args,omitempty"` + StartupCost float64 `protobuf:"fixed64,16,opt,name=startup_cost,proto3" json:"startup_cost,omitempty"` + PerCallCost float64 `protobuf:"fixed64,17,opt,name=per_call_cost,proto3" json:"per_call_cost,omitempty"` } -func (x *CaseWhen) Reset() { - *x = CaseWhen{} +func (x *SubPlan) Reset() { + *x = SubPlan{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[39] + mi := &file_pg_query_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CaseWhen) String() string { +func (x *SubPlan) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CaseWhen) ProtoMessage() {} +func (*SubPlan) ProtoMessage() {} -func (x *CaseWhen) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[39] +func (x *SubPlan) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12128,141 +12668,156 @@ func (x *CaseWhen) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CaseWhen.ProtoReflect.Descriptor instead. -func (*CaseWhen) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{39} +// Deprecated: Use SubPlan.ProtoReflect.Descriptor instead. +func (*SubPlan) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{32} } -func (x *CaseWhen) GetXpr() *Node { +func (x *SubPlan) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CaseWhen) GetExpr() *Node { +func (x *SubPlan) GetSubLinkType() SubLinkType { if x != nil { - return x.Expr + return x.SubLinkType + } + return SubLinkType_SUB_LINK_TYPE_UNDEFINED +} + +func (x *SubPlan) GetTestexpr() *Node { + if x != nil { + return x.Testexpr } return nil } -func (x *CaseWhen) GetResult() *Node { +func (x *SubPlan) GetParamIds() []*Node { if x != nil { - return x.Result + return x.ParamIds } return nil } -func (x *CaseWhen) GetLocation() int32 { +func (x *SubPlan) GetPlanId() int32 { if x != nil { - return x.Location + return x.PlanId } return 0 } -type CaseTestExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *SubPlan) GetPlanName() string { + if x != nil { + return x.PlanName + } + return "" +} - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` - TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` - Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` +func (x *SubPlan) GetFirstColType() uint32 { + if x != nil { + return x.FirstColType + } + return 0 } -func (x *CaseTestExpr) Reset() { - *x = CaseTestExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SubPlan) GetFirstColTypmod() int32 { + if x != nil { + return x.FirstColTypmod } + return 0 } -func (x *CaseTestExpr) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *SubPlan) GetFirstColCollation() uint32 { + if x != nil { + return x.FirstColCollation + } + return 0 } -func (*CaseTestExpr) ProtoMessage() {} +func (x *SubPlan) GetUseHashTable() bool { + if x != nil { + return x.UseHashTable + } + return false +} -func (x *CaseTestExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SubPlan) GetUnknownEqFalse() bool { + if x != nil { + return x.UnknownEqFalse } - return mi.MessageOf(x) + return false } -// Deprecated: Use CaseTestExpr.ProtoReflect.Descriptor instead. -func (*CaseTestExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{40} +func (x *SubPlan) GetParallelSafe() bool { + if x != nil { + return x.ParallelSafe + } + return false } -func (x *CaseTestExpr) GetXpr() *Node { +func (x *SubPlan) GetSetParam() []*Node { if x != nil { - return x.Xpr + return x.SetParam } return nil } -func (x *CaseTestExpr) GetTypeId() uint32 { +func (x *SubPlan) GetParParam() []*Node { if x != nil { - return x.TypeId + return x.ParParam } - return 0 + return nil } -func (x *CaseTestExpr) GetTypeMod() int32 { +func (x *SubPlan) GetArgs() []*Node { if x != nil { - return x.TypeMod + return x.Args + } + return nil +} + +func (x *SubPlan) GetStartupCost() float64 { + if x != nil { + return x.StartupCost } return 0 } -func (x *CaseTestExpr) GetCollation() uint32 { +func (x *SubPlan) GetPerCallCost() float64 { if x != nil { - return x.Collation + return x.PerCallCost } return 0 } -type ArrayExpr struct { +type AlternativeSubPlan struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - ArrayTypeid uint32 `protobuf:"varint,2,opt,name=array_typeid,proto3" json:"array_typeid,omitempty"` - ArrayCollid uint32 `protobuf:"varint,3,opt,name=array_collid,proto3" json:"array_collid,omitempty"` - ElementTypeid uint32 `protobuf:"varint,4,opt,name=element_typeid,proto3" json:"element_typeid,omitempty"` - Elements []*Node `protobuf:"bytes,5,rep,name=elements,proto3" json:"elements,omitempty"` - Multidims bool `protobuf:"varint,6,opt,name=multidims,proto3" json:"multidims,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Subplans []*Node `protobuf:"bytes,2,rep,name=subplans,proto3" json:"subplans,omitempty"` } -func (x *ArrayExpr) Reset() { - *x = ArrayExpr{} +func (x *AlternativeSubPlan) Reset() { + *x = AlternativeSubPlan{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[41] + mi := &file_pg_query_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ArrayExpr) String() string { +func (x *AlternativeSubPlan) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ArrayExpr) ProtoMessage() {} +func (*AlternativeSubPlan) ProtoMessage() {} -func (x *ArrayExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[41] +func (x *AlternativeSubPlan) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12273,90 +12828,55 @@ func (x *ArrayExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ArrayExpr.ProtoReflect.Descriptor instead. -func (*ArrayExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{41} +// Deprecated: Use AlternativeSubPlan.ProtoReflect.Descriptor instead. +func (*AlternativeSubPlan) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{33} } -func (x *ArrayExpr) GetXpr() *Node { +func (x *AlternativeSubPlan) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *ArrayExpr) GetArrayTypeid() uint32 { +func (x *AlternativeSubPlan) GetSubplans() []*Node { if x != nil { - return x.ArrayTypeid + return x.Subplans } - return 0 + return nil } -func (x *ArrayExpr) GetArrayCollid() uint32 { - if x != nil { - return x.ArrayCollid - } - return 0 +type FieldSelect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Fieldnum int32 `protobuf:"varint,3,opt,name=fieldnum,proto3" json:"fieldnum,omitempty"` + Resulttype uint32 `protobuf:"varint,4,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resulttypmod int32 `protobuf:"varint,5,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` + Resultcollid uint32 `protobuf:"varint,6,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` } -func (x *ArrayExpr) GetElementTypeid() uint32 { - if x != nil { - return x.ElementTypeid +func (x *FieldSelect) Reset() { + *x = FieldSelect{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *ArrayExpr) GetElements() []*Node { - if x != nil { - return x.Elements - } - return nil -} - -func (x *ArrayExpr) GetMultidims() bool { - if x != nil { - return x.Multidims - } - return false -} - -func (x *ArrayExpr) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type RowExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - RowTypeid uint32 `protobuf:"varint,3,opt,name=row_typeid,proto3" json:"row_typeid,omitempty"` - RowFormat CoercionForm `protobuf:"varint,4,opt,name=row_format,proto3,enum=pg_query.CoercionForm" json:"row_format,omitempty"` - Colnames []*Node `protobuf:"bytes,5,rep,name=colnames,proto3" json:"colnames,omitempty"` - Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` -} - -func (x *RowExpr) Reset() { - *x = RowExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RowExpr) String() string { +func (x *FieldSelect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RowExpr) ProtoMessage() {} +func (*FieldSelect) ProtoMessage() {} -func (x *RowExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[42] +func (x *FieldSelect) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12367,84 +12887,82 @@ func (x *RowExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RowExpr.ProtoReflect.Descriptor instead. -func (*RowExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{42} +// Deprecated: Use FieldSelect.ProtoReflect.Descriptor instead. +func (*FieldSelect) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{34} } -func (x *RowExpr) GetXpr() *Node { +func (x *FieldSelect) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *RowExpr) GetArgs() []*Node { +func (x *FieldSelect) GetArg() *Node { if x != nil { - return x.Args + return x.Arg } return nil } -func (x *RowExpr) GetRowTypeid() uint32 { +func (x *FieldSelect) GetFieldnum() int32 { if x != nil { - return x.RowTypeid + return x.Fieldnum } return 0 } -func (x *RowExpr) GetRowFormat() CoercionForm { +func (x *FieldSelect) GetResulttype() uint32 { if x != nil { - return x.RowFormat + return x.Resulttype } - return CoercionForm_COERCION_FORM_UNDEFINED + return 0 } -func (x *RowExpr) GetColnames() []*Node { +func (x *FieldSelect) GetResulttypmod() int32 { if x != nil { - return x.Colnames + return x.Resulttypmod } - return nil + return 0 } -func (x *RowExpr) GetLocation() int32 { +func (x *FieldSelect) GetResultcollid() uint32 { if x != nil { - return x.Location + return x.Resultcollid } return 0 } -type RowCompareExpr struct { +type FieldStore struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Rctype RowCompareType `protobuf:"varint,2,opt,name=rctype,proto3,enum=pg_query.RowCompareType" json:"rctype,omitempty"` - Opnos []*Node `protobuf:"bytes,3,rep,name=opnos,proto3" json:"opnos,omitempty"` - Opfamilies []*Node `protobuf:"bytes,4,rep,name=opfamilies,proto3" json:"opfamilies,omitempty"` - Inputcollids []*Node `protobuf:"bytes,5,rep,name=inputcollids,proto3" json:"inputcollids,omitempty"` - Largs []*Node `protobuf:"bytes,6,rep,name=largs,proto3" json:"largs,omitempty"` - Rargs []*Node `protobuf:"bytes,7,rep,name=rargs,proto3" json:"rargs,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Newvals []*Node `protobuf:"bytes,3,rep,name=newvals,proto3" json:"newvals,omitempty"` + Fieldnums []*Node `protobuf:"bytes,4,rep,name=fieldnums,proto3" json:"fieldnums,omitempty"` + Resulttype uint32 `protobuf:"varint,5,opt,name=resulttype,proto3" json:"resulttype,omitempty"` } -func (x *RowCompareExpr) Reset() { - *x = RowCompareExpr{} +func (x *FieldStore) Reset() { + *x = FieldStore{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[43] + mi := &file_pg_query_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RowCompareExpr) String() string { +func (x *FieldStore) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RowCompareExpr) ProtoMessage() {} +func (*FieldStore) ProtoMessage() {} -func (x *RowCompareExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[43] +func (x *FieldStore) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12455,89 +12973,77 @@ func (x *RowCompareExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RowCompareExpr.ProtoReflect.Descriptor instead. -func (*RowCompareExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{43} +// Deprecated: Use FieldStore.ProtoReflect.Descriptor instead. +func (*FieldStore) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{35} } -func (x *RowCompareExpr) GetXpr() *Node { +func (x *FieldStore) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *RowCompareExpr) GetRctype() RowCompareType { - if x != nil { - return x.Rctype - } - return RowCompareType_ROW_COMPARE_TYPE_UNDEFINED -} - -func (x *RowCompareExpr) GetOpnos() []*Node { - if x != nil { - return x.Opnos - } - return nil -} - -func (x *RowCompareExpr) GetOpfamilies() []*Node { +func (x *FieldStore) GetArg() *Node { if x != nil { - return x.Opfamilies + return x.Arg } return nil } -func (x *RowCompareExpr) GetInputcollids() []*Node { +func (x *FieldStore) GetNewvals() []*Node { if x != nil { - return x.Inputcollids + return x.Newvals } return nil } -func (x *RowCompareExpr) GetLargs() []*Node { +func (x *FieldStore) GetFieldnums() []*Node { if x != nil { - return x.Largs + return x.Fieldnums } return nil } -func (x *RowCompareExpr) GetRargs() []*Node { +func (x *FieldStore) GetResulttype() uint32 { if x != nil { - return x.Rargs + return x.Resulttype } - return nil + return 0 } -type CoalesceExpr struct { +type RelabelType struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Coalescetype uint32 `protobuf:"varint,2,opt,name=coalescetype,proto3" json:"coalescetype,omitempty"` - Coalescecollid uint32 `protobuf:"varint,3,opt,name=coalescecollid,proto3" json:"coalescecollid,omitempty"` - Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` + Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + Relabelformat CoercionForm `protobuf:"varint,6,opt,name=relabelformat,proto3,enum=pg_query.CoercionForm" json:"relabelformat,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CoalesceExpr) Reset() { - *x = CoalesceExpr{} +func (x *RelabelType) Reset() { + *x = RelabelType{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[44] + mi := &file_pg_query_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CoalesceExpr) String() string { +func (x *RelabelType) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CoalesceExpr) ProtoMessage() {} +func (*RelabelType) ProtoMessage() {} -func (x *CoalesceExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[44] +func (x *RelabelType) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12548,77 +13054,90 @@ func (x *CoalesceExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CoalesceExpr.ProtoReflect.Descriptor instead. -func (*CoalesceExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{44} +// Deprecated: Use RelabelType.ProtoReflect.Descriptor instead. +func (*RelabelType) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{36} } -func (x *CoalesceExpr) GetXpr() *Node { +func (x *RelabelType) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CoalesceExpr) GetCoalescetype() uint32 { +func (x *RelabelType) GetArg() *Node { if x != nil { - return x.Coalescetype + return x.Arg + } + return nil +} + +func (x *RelabelType) GetResulttype() uint32 { + if x != nil { + return x.Resulttype } return 0 } -func (x *CoalesceExpr) GetCoalescecollid() uint32 { +func (x *RelabelType) GetResulttypmod() int32 { if x != nil { - return x.Coalescecollid + return x.Resulttypmod } return 0 } -func (x *CoalesceExpr) GetArgs() []*Node { +func (x *RelabelType) GetResultcollid() uint32 { if x != nil { - return x.Args + return x.Resultcollid } - return nil + return 0 } -func (x *CoalesceExpr) GetLocation() int32 { +func (x *RelabelType) GetRelabelformat() CoercionForm { + if x != nil { + return x.Relabelformat + } + return CoercionForm_COERCION_FORM_UNDEFINED +} + +func (x *RelabelType) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type MinMaxExpr struct { +type CoerceViaIO struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Minmaxtype uint32 `protobuf:"varint,2,opt,name=minmaxtype,proto3" json:"minmaxtype,omitempty"` - Minmaxcollid uint32 `protobuf:"varint,3,opt,name=minmaxcollid,proto3" json:"minmaxcollid,omitempty"` - Inputcollid uint32 `protobuf:"varint,4,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` - Op MinMaxOp `protobuf:"varint,5,opt,name=op,proto3,enum=pg_query.MinMaxOp" json:"op,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resultcollid uint32 `protobuf:"varint,4,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + Coerceformat CoercionForm `protobuf:"varint,5,opt,name=coerceformat,proto3,enum=pg_query.CoercionForm" json:"coerceformat,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MinMaxExpr) Reset() { - *x = MinMaxExpr{} +func (x *CoerceViaIO) Reset() { + *x = CoerceViaIO{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[45] + mi := &file_pg_query_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MinMaxExpr) String() string { +func (x *CoerceViaIO) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MinMaxExpr) ProtoMessage() {} +func (*CoerceViaIO) ProtoMessage() {} -func (x *MinMaxExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[45] +func (x *CoerceViaIO) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12629,89 +13148,85 @@ func (x *MinMaxExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MinMaxExpr.ProtoReflect.Descriptor instead. -func (*MinMaxExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{45} +// Deprecated: Use CoerceViaIO.ProtoReflect.Descriptor instead. +func (*CoerceViaIO) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{37} } -func (x *MinMaxExpr) GetXpr() *Node { +func (x *CoerceViaIO) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *MinMaxExpr) GetMinmaxtype() uint32 { +func (x *CoerceViaIO) GetArg() *Node { if x != nil { - return x.Minmaxtype + return x.Arg } - return 0 + return nil } -func (x *MinMaxExpr) GetMinmaxcollid() uint32 { +func (x *CoerceViaIO) GetResulttype() uint32 { if x != nil { - return x.Minmaxcollid + return x.Resulttype } return 0 } -func (x *MinMaxExpr) GetInputcollid() uint32 { +func (x *CoerceViaIO) GetResultcollid() uint32 { if x != nil { - return x.Inputcollid + return x.Resultcollid } return 0 } -func (x *MinMaxExpr) GetOp() MinMaxOp { - if x != nil { - return x.Op - } - return MinMaxOp_MIN_MAX_OP_UNDEFINED -} - -func (x *MinMaxExpr) GetArgs() []*Node { +func (x *CoerceViaIO) GetCoerceformat() CoercionForm { if x != nil { - return x.Args + return x.Coerceformat } - return nil + return CoercionForm_COERCION_FORM_UNDEFINED } -func (x *MinMaxExpr) GetLocation() int32 { +func (x *CoerceViaIO) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type SQLValueFunction struct { +type ArrayCoerceExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Op SQLValueFunctionOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.SQLValueFunctionOp" json:"op,omitempty"` - Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` - Typmod int32 `protobuf:"varint,4,opt,name=typmod,proto3" json:"typmod,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Elemexpr *Node `protobuf:"bytes,3,opt,name=elemexpr,proto3" json:"elemexpr,omitempty"` + Resulttype uint32 `protobuf:"varint,4,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resulttypmod int32 `protobuf:"varint,5,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` + Resultcollid uint32 `protobuf:"varint,6,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + Coerceformat CoercionForm `protobuf:"varint,7,opt,name=coerceformat,proto3,enum=pg_query.CoercionForm" json:"coerceformat,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SQLValueFunction) Reset() { - *x = SQLValueFunction{} +func (x *ArrayCoerceExpr) Reset() { + *x = ArrayCoerceExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[46] + mi := &file_pg_query_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SQLValueFunction) String() string { +func (x *ArrayCoerceExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SQLValueFunction) ProtoMessage() {} +func (*ArrayCoerceExpr) ProtoMessage() {} -func (x *SQLValueFunction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[46] +func (x *ArrayCoerceExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12722,80 +13237,96 @@ func (x *SQLValueFunction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SQLValueFunction.ProtoReflect.Descriptor instead. -func (*SQLValueFunction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{46} +// Deprecated: Use ArrayCoerceExpr.ProtoReflect.Descriptor instead. +func (*ArrayCoerceExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{38} } -func (x *SQLValueFunction) GetXpr() *Node { +func (x *ArrayCoerceExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *SQLValueFunction) GetOp() SQLValueFunctionOp { +func (x *ArrayCoerceExpr) GetArg() *Node { if x != nil { - return x.Op + return x.Arg } - return SQLValueFunctionOp_SQLVALUE_FUNCTION_OP_UNDEFINED + return nil } -func (x *SQLValueFunction) GetType() uint32 { +func (x *ArrayCoerceExpr) GetElemexpr() *Node { if x != nil { - return x.Type + return x.Elemexpr + } + return nil +} + +func (x *ArrayCoerceExpr) GetResulttype() uint32 { + if x != nil { + return x.Resulttype } return 0 } -func (x *SQLValueFunction) GetTypmod() int32 { +func (x *ArrayCoerceExpr) GetResulttypmod() int32 { if x != nil { - return x.Typmod + return x.Resulttypmod } return 0 } -func (x *SQLValueFunction) GetLocation() int32 { +func (x *ArrayCoerceExpr) GetResultcollid() uint32 { + if x != nil { + return x.Resultcollid + } + return 0 +} + +func (x *ArrayCoerceExpr) GetCoerceformat() CoercionForm { + if x != nil { + return x.Coerceformat + } + return CoercionForm_COERCION_FORM_UNDEFINED +} + +func (x *ArrayCoerceExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type XmlExpr struct { +type ConvertRowtypeExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Op XmlExprOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.XmlExprOp" json:"op,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - NamedArgs []*Node `protobuf:"bytes,4,rep,name=named_args,proto3" json:"named_args,omitempty"` - ArgNames []*Node `protobuf:"bytes,5,rep,name=arg_names,proto3" json:"arg_names,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Xmloption XmlOptionType `protobuf:"varint,7,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` - Type uint32 `protobuf:"varint,8,opt,name=type,proto3" json:"type,omitempty"` - Typmod int32 `protobuf:"varint,9,opt,name=typmod,proto3" json:"typmod,omitempty"` - Location int32 `protobuf:"varint,10,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Convertformat CoercionForm `protobuf:"varint,4,opt,name=convertformat,proto3,enum=pg_query.CoercionForm" json:"convertformat,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *XmlExpr) Reset() { - *x = XmlExpr{} +func (x *ConvertRowtypeExpr) Reset() { + *x = ConvertRowtypeExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[47] + mi := &file_pg_query_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *XmlExpr) String() string { +func (x *ConvertRowtypeExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*XmlExpr) ProtoMessage() {} +func (*ConvertRowtypeExpr) ProtoMessage() {} -func (x *XmlExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[47] +func (x *ConvertRowtypeExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12806,110 +13337,74 @@ func (x *XmlExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use XmlExpr.ProtoReflect.Descriptor instead. -func (*XmlExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{47} +// Deprecated: Use ConvertRowtypeExpr.ProtoReflect.Descriptor instead. +func (*ConvertRowtypeExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{39} } -func (x *XmlExpr) GetXpr() *Node { +func (x *ConvertRowtypeExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *XmlExpr) GetOp() XmlExprOp { - if x != nil { - return x.Op - } - return XmlExprOp_XML_EXPR_OP_UNDEFINED -} - -func (x *XmlExpr) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *XmlExpr) GetNamedArgs() []*Node { - if x != nil { - return x.NamedArgs - } - return nil -} - -func (x *XmlExpr) GetArgNames() []*Node { - if x != nil { - return x.ArgNames - } - return nil -} - -func (x *XmlExpr) GetArgs() []*Node { +func (x *ConvertRowtypeExpr) GetArg() *Node { if x != nil { - return x.Args + return x.Arg } return nil } -func (x *XmlExpr) GetXmloption() XmlOptionType { - if x != nil { - return x.Xmloption - } - return XmlOptionType_XML_OPTION_TYPE_UNDEFINED -} - -func (x *XmlExpr) GetType() uint32 { +func (x *ConvertRowtypeExpr) GetResulttype() uint32 { if x != nil { - return x.Type + return x.Resulttype } return 0 } -func (x *XmlExpr) GetTypmod() int32 { +func (x *ConvertRowtypeExpr) GetConvertformat() CoercionForm { if x != nil { - return x.Typmod + return x.Convertformat } - return 0 + return CoercionForm_COERCION_FORM_UNDEFINED } -func (x *XmlExpr) GetLocation() int32 { +func (x *ConvertRowtypeExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type NullTest struct { +type CollateExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Nulltesttype NullTestType `protobuf:"varint,3,opt,name=nulltesttype,proto3,enum=pg_query.NullTestType" json:"nulltesttype,omitempty"` - Argisrow bool `protobuf:"varint,4,opt,name=argisrow,proto3" json:"argisrow,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + CollOid uint32 `protobuf:"varint,3,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *NullTest) Reset() { - *x = NullTest{} +func (x *CollateExpr) Reset() { + *x = CollateExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[48] + mi := &file_pg_query_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NullTest) String() string { +func (x *CollateExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NullTest) ProtoMessage() {} +func (*CollateExpr) ProtoMessage() {} -func (x *NullTest) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[48] +func (x *CollateExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12920,74 +13415,70 @@ func (x *NullTest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NullTest.ProtoReflect.Descriptor instead. -func (*NullTest) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{48} +// Deprecated: Use CollateExpr.ProtoReflect.Descriptor instead. +func (*CollateExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{40} } -func (x *NullTest) GetXpr() *Node { +func (x *CollateExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *NullTest) GetArg() *Node { +func (x *CollateExpr) GetArg() *Node { if x != nil { return x.Arg } return nil } -func (x *NullTest) GetNulltesttype() NullTestType { - if x != nil { - return x.Nulltesttype - } - return NullTestType_NULL_TEST_TYPE_UNDEFINED -} - -func (x *NullTest) GetArgisrow() bool { +func (x *CollateExpr) GetCollOid() uint32 { if x != nil { - return x.Argisrow + return x.CollOid } - return false + return 0 } -func (x *NullTest) GetLocation() int32 { +func (x *CollateExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type BooleanTest struct { +type CaseExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Booltesttype BoolTestType `protobuf:"varint,3,opt,name=booltesttype,proto3,enum=pg_query.BoolTestType" json:"booltesttype,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Casetype uint32 `protobuf:"varint,2,opt,name=casetype,proto3" json:"casetype,omitempty"` + Casecollid uint32 `protobuf:"varint,3,opt,name=casecollid,proto3" json:"casecollid,omitempty"` + Arg *Node `protobuf:"bytes,4,opt,name=arg,proto3" json:"arg,omitempty"` + Args []*Node `protobuf:"bytes,5,rep,name=args,proto3" json:"args,omitempty"` + Defresult *Node `protobuf:"bytes,6,opt,name=defresult,proto3" json:"defresult,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *BooleanTest) Reset() { - *x = BooleanTest{} +func (x *CaseExpr) Reset() { + *x = CaseExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[49] + mi := &file_pg_query_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BooleanTest) String() string { +func (x *CaseExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BooleanTest) ProtoMessage() {} +func (*CaseExpr) ProtoMessage() {} -func (x *BooleanTest) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[49] +func (x *CaseExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12998,70 +13489,88 @@ func (x *BooleanTest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BooleanTest.ProtoReflect.Descriptor instead. -func (*BooleanTest) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{49} +// Deprecated: Use CaseExpr.ProtoReflect.Descriptor instead. +func (*CaseExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{41} } -func (x *BooleanTest) GetXpr() *Node { +func (x *CaseExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *BooleanTest) GetArg() *Node { +func (x *CaseExpr) GetCasetype() uint32 { + if x != nil { + return x.Casetype + } + return 0 +} + +func (x *CaseExpr) GetCasecollid() uint32 { + if x != nil { + return x.Casecollid + } + return 0 +} + +func (x *CaseExpr) GetArg() *Node { if x != nil { return x.Arg } return nil } -func (x *BooleanTest) GetBooltesttype() BoolTestType { +func (x *CaseExpr) GetArgs() []*Node { if x != nil { - return x.Booltesttype + return x.Args } - return BoolTestType_BOOL_TEST_TYPE_UNDEFINED + return nil } -func (x *BooleanTest) GetLocation() int32 { +func (x *CaseExpr) GetDefresult() *Node { + if x != nil { + return x.Defresult + } + return nil +} + +func (x *CaseExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CoerceToDomain struct { +type CaseWhen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` - Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` - Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` - Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` - Coercionformat CoercionForm `protobuf:"varint,6,opt,name=coercionformat,proto3,enum=pg_query.CoercionForm" json:"coercionformat,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Result *Node `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CoerceToDomain) Reset() { - *x = CoerceToDomain{} +func (x *CaseWhen) Reset() { + *x = CaseWhen{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[50] + mi := &file_pg_query_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CoerceToDomain) String() string { +func (x *CaseWhen) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CoerceToDomain) ProtoMessage() {} +func (*CaseWhen) ProtoMessage() {} -func (x *CoerceToDomain) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[50] +func (x *CaseWhen) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13072,61 +13581,40 @@ func (x *CoerceToDomain) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CoerceToDomain.ProtoReflect.Descriptor instead. -func (*CoerceToDomain) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{50} +// Deprecated: Use CaseWhen.ProtoReflect.Descriptor instead. +func (*CaseWhen) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{42} } -func (x *CoerceToDomain) GetXpr() *Node { +func (x *CaseWhen) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CoerceToDomain) GetArg() *Node { +func (x *CaseWhen) GetExpr() *Node { if x != nil { - return x.Arg + return x.Expr } return nil } -func (x *CoerceToDomain) GetResulttype() uint32 { - if x != nil { - return x.Resulttype - } - return 0 -} - -func (x *CoerceToDomain) GetResulttypmod() int32 { - if x != nil { - return x.Resulttypmod - } - return 0 -} - -func (x *CoerceToDomain) GetResultcollid() uint32 { - if x != nil { - return x.Resultcollid - } - return 0 -} - -func (x *CoerceToDomain) GetCoercionformat() CoercionForm { +func (x *CaseWhen) GetResult() *Node { if x != nil { - return x.Coercionformat + return x.Result } - return CoercionForm_COERCION_FORM_UNDEFINED + return nil } -func (x *CoerceToDomain) GetLocation() int32 { +func (x *CaseWhen) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CoerceToDomainValue struct { +type CaseTestExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -13135,26 +13623,25 @@ type CoerceToDomainValue struct { TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CoerceToDomainValue) Reset() { - *x = CoerceToDomainValue{} +func (x *CaseTestExpr) Reset() { + *x = CaseTestExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[51] + mi := &file_pg_query_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CoerceToDomainValue) String() string { +func (x *CaseTestExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CoerceToDomainValue) ProtoMessage() {} +func (*CaseTestExpr) ProtoMessage() {} -func (x *CoerceToDomainValue) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[51] +func (x *CaseTestExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13165,75 +13652,70 @@ func (x *CoerceToDomainValue) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CoerceToDomainValue.ProtoReflect.Descriptor instead. -func (*CoerceToDomainValue) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{51} +// Deprecated: Use CaseTestExpr.ProtoReflect.Descriptor instead. +func (*CaseTestExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{43} } -func (x *CoerceToDomainValue) GetXpr() *Node { +func (x *CaseTestExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CoerceToDomainValue) GetTypeId() uint32 { +func (x *CaseTestExpr) GetTypeId() uint32 { if x != nil { return x.TypeId } return 0 } -func (x *CoerceToDomainValue) GetTypeMod() int32 { +func (x *CaseTestExpr) GetTypeMod() int32 { if x != nil { return x.TypeMod } return 0 } -func (x *CoerceToDomainValue) GetCollation() uint32 { +func (x *CaseTestExpr) GetCollation() uint32 { if x != nil { return x.Collation } return 0 } -func (x *CoerceToDomainValue) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type SetToDefault struct { +type ArrayExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` - TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` - Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + ArrayTypeid uint32 `protobuf:"varint,2,opt,name=array_typeid,proto3" json:"array_typeid,omitempty"` + ArrayCollid uint32 `protobuf:"varint,3,opt,name=array_collid,proto3" json:"array_collid,omitempty"` + ElementTypeid uint32 `protobuf:"varint,4,opt,name=element_typeid,proto3" json:"element_typeid,omitempty"` + Elements []*Node `protobuf:"bytes,5,rep,name=elements,proto3" json:"elements,omitempty"` + Multidims bool `protobuf:"varint,6,opt,name=multidims,proto3" json:"multidims,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SetToDefault) Reset() { - *x = SetToDefault{} +func (x *ArrayExpr) Reset() { + *x = ArrayExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[52] + mi := &file_pg_query_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetToDefault) String() string { +func (x *ArrayExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetToDefault) ProtoMessage() {} +func (*ArrayExpr) ProtoMessage() {} -func (x *SetToDefault) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[52] +func (x *ArrayExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13244,74 +13726,90 @@ func (x *SetToDefault) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetToDefault.ProtoReflect.Descriptor instead. -func (*SetToDefault) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{52} +// Deprecated: Use ArrayExpr.ProtoReflect.Descriptor instead. +func (*ArrayExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{44} } -func (x *SetToDefault) GetXpr() *Node { +func (x *ArrayExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *SetToDefault) GetTypeId() uint32 { +func (x *ArrayExpr) GetArrayTypeid() uint32 { if x != nil { - return x.TypeId + return x.ArrayTypeid } return 0 } -func (x *SetToDefault) GetTypeMod() int32 { +func (x *ArrayExpr) GetArrayCollid() uint32 { if x != nil { - return x.TypeMod + return x.ArrayCollid } return 0 } -func (x *SetToDefault) GetCollation() uint32 { +func (x *ArrayExpr) GetElementTypeid() uint32 { if x != nil { - return x.Collation + return x.ElementTypeid } return 0 } -func (x *SetToDefault) GetLocation() int32 { +func (x *ArrayExpr) GetElements() []*Node { + if x != nil { + return x.Elements + } + return nil +} + +func (x *ArrayExpr) GetMultidims() bool { + if x != nil { + return x.Multidims + } + return false +} + +func (x *ArrayExpr) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type CurrentOfExpr struct { +type RowExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Cvarno uint32 `protobuf:"varint,2,opt,name=cvarno,proto3" json:"cvarno,omitempty"` - CursorName string `protobuf:"bytes,3,opt,name=cursor_name,proto3" json:"cursor_name,omitempty"` - CursorParam int32 `protobuf:"varint,4,opt,name=cursor_param,proto3" json:"cursor_param,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + RowTypeid uint32 `protobuf:"varint,3,opt,name=row_typeid,proto3" json:"row_typeid,omitempty"` + RowFormat CoercionForm `protobuf:"varint,4,opt,name=row_format,proto3,enum=pg_query.CoercionForm" json:"row_format,omitempty"` + Colnames []*Node `protobuf:"bytes,5,rep,name=colnames,proto3" json:"colnames,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CurrentOfExpr) Reset() { - *x = CurrentOfExpr{} +func (x *RowExpr) Reset() { + *x = RowExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[53] + mi := &file_pg_query_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CurrentOfExpr) String() string { +func (x *RowExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CurrentOfExpr) ProtoMessage() {} +func (*RowExpr) ProtoMessage() {} -func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[53] +func (x *RowExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13322,66 +13820,84 @@ func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CurrentOfExpr.ProtoReflect.Descriptor instead. -func (*CurrentOfExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{53} +// Deprecated: Use RowExpr.ProtoReflect.Descriptor instead. +func (*RowExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{45} } -func (x *CurrentOfExpr) GetXpr() *Node { +func (x *RowExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *CurrentOfExpr) GetCvarno() uint32 { +func (x *RowExpr) GetArgs() []*Node { if x != nil { - return x.Cvarno + return x.Args } - return 0 + return nil } -func (x *CurrentOfExpr) GetCursorName() string { +func (x *RowExpr) GetRowTypeid() uint32 { if x != nil { - return x.CursorName + return x.RowTypeid } - return "" + return 0 } -func (x *CurrentOfExpr) GetCursorParam() int32 { +func (x *RowExpr) GetRowFormat() CoercionForm { if x != nil { - return x.CursorParam + return x.RowFormat + } + return CoercionForm_COERCION_FORM_UNDEFINED +} + +func (x *RowExpr) GetColnames() []*Node { + if x != nil { + return x.Colnames + } + return nil +} + +func (x *RowExpr) GetLocation() int32 { + if x != nil { + return x.Location } return 0 } -type NextValueExpr struct { +type RowCompareExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Seqid uint32 `protobuf:"varint,2,opt,name=seqid,proto3" json:"seqid,omitempty"` - TypeId uint32 `protobuf:"varint,3,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Rctype RowCompareType `protobuf:"varint,2,opt,name=rctype,proto3,enum=pg_query.RowCompareType" json:"rctype,omitempty"` + Opnos []*Node `protobuf:"bytes,3,rep,name=opnos,proto3" json:"opnos,omitempty"` + Opfamilies []*Node `protobuf:"bytes,4,rep,name=opfamilies,proto3" json:"opfamilies,omitempty"` + Inputcollids []*Node `protobuf:"bytes,5,rep,name=inputcollids,proto3" json:"inputcollids,omitempty"` + Largs []*Node `protobuf:"bytes,6,rep,name=largs,proto3" json:"largs,omitempty"` + Rargs []*Node `protobuf:"bytes,7,rep,name=rargs,proto3" json:"rargs,omitempty"` } -func (x *NextValueExpr) Reset() { - *x = NextValueExpr{} +func (x *RowCompareExpr) Reset() { + *x = RowCompareExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[54] + mi := &file_pg_query_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NextValueExpr) String() string { +func (x *RowCompareExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NextValueExpr) ProtoMessage() {} +func (*RowCompareExpr) ProtoMessage() {} -func (x *NextValueExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[54] +func (x *RowCompareExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13392,60 +13908,89 @@ func (x *NextValueExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NextValueExpr.ProtoReflect.Descriptor instead. -func (*NextValueExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{54} +// Deprecated: Use RowCompareExpr.ProtoReflect.Descriptor instead. +func (*RowCompareExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{46} } -func (x *NextValueExpr) GetXpr() *Node { +func (x *RowCompareExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *NextValueExpr) GetSeqid() uint32 { +func (x *RowCompareExpr) GetRctype() RowCompareType { if x != nil { - return x.Seqid + return x.Rctype } - return 0 + return RowCompareType_ROW_COMPARE_TYPE_UNDEFINED } -func (x *NextValueExpr) GetTypeId() uint32 { +func (x *RowCompareExpr) GetOpnos() []*Node { if x != nil { - return x.TypeId + return x.Opnos } - return 0 + return nil } -type InferenceElem struct { +func (x *RowCompareExpr) GetOpfamilies() []*Node { + if x != nil { + return x.Opfamilies + } + return nil +} + +func (x *RowCompareExpr) GetInputcollids() []*Node { + if x != nil { + return x.Inputcollids + } + return nil +} + +func (x *RowCompareExpr) GetLargs() []*Node { + if x != nil { + return x.Largs + } + return nil +} + +func (x *RowCompareExpr) GetRargs() []*Node { + if x != nil { + return x.Rargs + } + return nil +} + +type CoalesceExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Infercollid uint32 `protobuf:"varint,3,opt,name=infercollid,proto3" json:"infercollid,omitempty"` - Inferopclass uint32 `protobuf:"varint,4,opt,name=inferopclass,proto3" json:"inferopclass,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Coalescetype uint32 `protobuf:"varint,2,opt,name=coalescetype,proto3" json:"coalescetype,omitempty"` + Coalescecollid uint32 `protobuf:"varint,3,opt,name=coalescecollid,proto3" json:"coalescecollid,omitempty"` + Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *InferenceElem) Reset() { - *x = InferenceElem{} +func (x *CoalesceExpr) Reset() { + *x = CoalesceExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[55] + mi := &file_pg_query_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InferenceElem) String() string { +func (x *CoalesceExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InferenceElem) ProtoMessage() {} +func (*CoalesceExpr) ProtoMessage() {} -func (x *InferenceElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[55] +func (x *CoalesceExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13456,71 +14001,77 @@ func (x *InferenceElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InferenceElem.ProtoReflect.Descriptor instead. -func (*InferenceElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{55} +// Deprecated: Use CoalesceExpr.ProtoReflect.Descriptor instead. +func (*CoalesceExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{47} } -func (x *InferenceElem) GetXpr() *Node { +func (x *CoalesceExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *InferenceElem) GetExpr() *Node { +func (x *CoalesceExpr) GetCoalescetype() uint32 { if x != nil { - return x.Expr + return x.Coalescetype } - return nil + return 0 } -func (x *InferenceElem) GetInfercollid() uint32 { +func (x *CoalesceExpr) GetCoalescecollid() uint32 { if x != nil { - return x.Infercollid + return x.Coalescecollid } return 0 } -func (x *InferenceElem) GetInferopclass() uint32 { +func (x *CoalesceExpr) GetArgs() []*Node { if x != nil { - return x.Inferopclass + return x.Args + } + return nil +} + +func (x *CoalesceExpr) GetLocation() int32 { + if x != nil { + return x.Location } return 0 } -type TargetEntry struct { +type MinMaxExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Resno int32 `protobuf:"varint,3,opt,name=resno,proto3" json:"resno,omitempty"` - Resname string `protobuf:"bytes,4,opt,name=resname,proto3" json:"resname,omitempty"` - Ressortgroupref uint32 `protobuf:"varint,5,opt,name=ressortgroupref,proto3" json:"ressortgroupref,omitempty"` - Resorigtbl uint32 `protobuf:"varint,6,opt,name=resorigtbl,proto3" json:"resorigtbl,omitempty"` - Resorigcol int32 `protobuf:"varint,7,opt,name=resorigcol,proto3" json:"resorigcol,omitempty"` - Resjunk bool `protobuf:"varint,8,opt,name=resjunk,proto3" json:"resjunk,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Minmaxtype uint32 `protobuf:"varint,2,opt,name=minmaxtype,proto3" json:"minmaxtype,omitempty"` + Minmaxcollid uint32 `protobuf:"varint,3,opt,name=minmaxcollid,proto3" json:"minmaxcollid,omitempty"` + Inputcollid uint32 `protobuf:"varint,4,opt,name=inputcollid,proto3" json:"inputcollid,omitempty"` + Op MinMaxOp `protobuf:"varint,5,opt,name=op,proto3,enum=pg_query.MinMaxOp" json:"op,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *TargetEntry) Reset() { - *x = TargetEntry{} +func (x *MinMaxExpr) Reset() { + *x = MinMaxExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[56] + mi := &file_pg_query_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TargetEntry) String() string { +func (x *MinMaxExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TargetEntry) ProtoMessage() {} +func (*MinMaxExpr) ProtoMessage() {} -func (x *TargetEntry) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[56] +func (x *MinMaxExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13531,92 +14082,89 @@ func (x *TargetEntry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TargetEntry.ProtoReflect.Descriptor instead. -func (*TargetEntry) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{56} +// Deprecated: Use MinMaxExpr.ProtoReflect.Descriptor instead. +func (*MinMaxExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{48} } -func (x *TargetEntry) GetXpr() *Node { +func (x *MinMaxExpr) GetXpr() *Node { if x != nil { return x.Xpr } return nil } -func (x *TargetEntry) GetExpr() *Node { - if x != nil { - return x.Expr - } - return nil -} - -func (x *TargetEntry) GetResno() int32 { +func (x *MinMaxExpr) GetMinmaxtype() uint32 { if x != nil { - return x.Resno + return x.Minmaxtype } return 0 } -func (x *TargetEntry) GetResname() string { +func (x *MinMaxExpr) GetMinmaxcollid() uint32 { if x != nil { - return x.Resname + return x.Minmaxcollid } - return "" + return 0 } -func (x *TargetEntry) GetRessortgroupref() uint32 { +func (x *MinMaxExpr) GetInputcollid() uint32 { if x != nil { - return x.Ressortgroupref + return x.Inputcollid } return 0 } -func (x *TargetEntry) GetResorigtbl() uint32 { +func (x *MinMaxExpr) GetOp() MinMaxOp { if x != nil { - return x.Resorigtbl + return x.Op } - return 0 + return MinMaxOp_MIN_MAX_OP_UNDEFINED } -func (x *TargetEntry) GetResorigcol() int32 { +func (x *MinMaxExpr) GetArgs() []*Node { if x != nil { - return x.Resorigcol + return x.Args } - return 0 + return nil } -func (x *TargetEntry) GetResjunk() bool { +func (x *MinMaxExpr) GetLocation() int32 { if x != nil { - return x.Resjunk + return x.Location } - return false + return 0 } -type RangeTblRef struct { +type SQLValueFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rtindex int32 `protobuf:"varint,1,opt,name=rtindex,proto3" json:"rtindex,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Op SQLValueFunctionOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.SQLValueFunctionOp" json:"op,omitempty"` + Type uint32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` + Typmod int32 `protobuf:"varint,4,opt,name=typmod,proto3" json:"typmod,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RangeTblRef) Reset() { - *x = RangeTblRef{} +func (x *SQLValueFunction) Reset() { + *x = SQLValueFunction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[57] + mi := &file_pg_query_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTblRef) String() string { +func (x *SQLValueFunction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblRef) ProtoMessage() {} +func (*SQLValueFunction) ProtoMessage() {} -func (x *RangeTblRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[57] +func (x *SQLValueFunction) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13627,51 +14175,81 @@ func (x *RangeTblRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblRef.ProtoReflect.Descriptor instead. -func (*RangeTblRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{57} +// Deprecated: Use SQLValueFunction.ProtoReflect.Descriptor instead. +func (*SQLValueFunction) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{49} } -func (x *RangeTblRef) GetRtindex() int32 { +func (x *SQLValueFunction) GetXpr() *Node { if x != nil { - return x.Rtindex + return x.Xpr + } + return nil +} + +func (x *SQLValueFunction) GetOp() SQLValueFunctionOp { + if x != nil { + return x.Op + } + return SQLValueFunctionOp_SQLVALUE_FUNCTION_OP_UNDEFINED +} + +func (x *SQLValueFunction) GetType() uint32 { + if x != nil { + return x.Type } return 0 } -type JoinExpr struct { +func (x *SQLValueFunction) GetTypmod() int32 { + if x != nil { + return x.Typmod + } + return 0 +} + +func (x *SQLValueFunction) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type XmlExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Jointype JoinType `protobuf:"varint,1,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` - IsNatural bool `protobuf:"varint,2,opt,name=is_natural,json=isNatural,proto3" json:"is_natural,omitempty"` - Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` - UsingClause []*Node `protobuf:"bytes,5,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` - JoinUsingAlias *Alias `protobuf:"bytes,6,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` - Quals *Node `protobuf:"bytes,7,opt,name=quals,proto3" json:"quals,omitempty"` - Alias *Alias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` - Rtindex int32 `protobuf:"varint,9,opt,name=rtindex,proto3" json:"rtindex,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Op XmlExprOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.XmlExprOp" json:"op,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + NamedArgs []*Node `protobuf:"bytes,4,rep,name=named_args,proto3" json:"named_args,omitempty"` + ArgNames []*Node `protobuf:"bytes,5,rep,name=arg_names,proto3" json:"arg_names,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Xmloption XmlOptionType `protobuf:"varint,7,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` + Indent bool `protobuf:"varint,8,opt,name=indent,proto3" json:"indent,omitempty"` + Type uint32 `protobuf:"varint,9,opt,name=type,proto3" json:"type,omitempty"` + Typmod int32 `protobuf:"varint,10,opt,name=typmod,proto3" json:"typmod,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` } -func (x *JoinExpr) Reset() { - *x = JoinExpr{} +func (x *XmlExpr) Reset() { + *x = XmlExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[58] + mi := &file_pg_query_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *JoinExpr) String() string { +func (x *XmlExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*JoinExpr) ProtoMessage() {} +func (*XmlExpr) ProtoMessage() {} -func (x *JoinExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[58] +func (x *XmlExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13682,100 +14260,115 @@ func (x *JoinExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use JoinExpr.ProtoReflect.Descriptor instead. -func (*JoinExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{58} +// Deprecated: Use XmlExpr.ProtoReflect.Descriptor instead. +func (*XmlExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{50} } -func (x *JoinExpr) GetJointype() JoinType { +func (x *XmlExpr) GetXpr() *Node { if x != nil { - return x.Jointype + return x.Xpr } - return JoinType_JOIN_TYPE_UNDEFINED + return nil } -func (x *JoinExpr) GetIsNatural() bool { +func (x *XmlExpr) GetOp() XmlExprOp { if x != nil { - return x.IsNatural + return x.Op } - return false + return XmlExprOp_XML_EXPR_OP_UNDEFINED } -func (x *JoinExpr) GetLarg() *Node { +func (x *XmlExpr) GetName() string { if x != nil { - return x.Larg + return x.Name } - return nil + return "" } -func (x *JoinExpr) GetRarg() *Node { +func (x *XmlExpr) GetNamedArgs() []*Node { if x != nil { - return x.Rarg + return x.NamedArgs } return nil } -func (x *JoinExpr) GetUsingClause() []*Node { +func (x *XmlExpr) GetArgNames() []*Node { if x != nil { - return x.UsingClause + return x.ArgNames } return nil } -func (x *JoinExpr) GetJoinUsingAlias() *Alias { +func (x *XmlExpr) GetArgs() []*Node { if x != nil { - return x.JoinUsingAlias + return x.Args } return nil } -func (x *JoinExpr) GetQuals() *Node { +func (x *XmlExpr) GetXmloption() XmlOptionType { if x != nil { - return x.Quals + return x.Xmloption } - return nil + return XmlOptionType_XML_OPTION_TYPE_UNDEFINED } -func (x *JoinExpr) GetAlias() *Alias { +func (x *XmlExpr) GetIndent() bool { if x != nil { - return x.Alias + return x.Indent } - return nil + return false } -func (x *JoinExpr) GetRtindex() int32 { +func (x *XmlExpr) GetType() uint32 { if x != nil { - return x.Rtindex + return x.Type } return 0 } -type FromExpr struct { +func (x *XmlExpr) GetTypmod() int32 { + if x != nil { + return x.Typmod + } + return 0 +} + +func (x *XmlExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonFormat struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fromlist []*Node `protobuf:"bytes,1,rep,name=fromlist,proto3" json:"fromlist,omitempty"` - Quals *Node `protobuf:"bytes,2,opt,name=quals,proto3" json:"quals,omitempty"` + FormatType JsonFormatType `protobuf:"varint,1,opt,name=format_type,proto3,enum=pg_query.JsonFormatType" json:"format_type,omitempty"` + Encoding JsonEncoding `protobuf:"varint,2,opt,name=encoding,proto3,enum=pg_query.JsonEncoding" json:"encoding,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *FromExpr) Reset() { - *x = FromExpr{} +func (x *JsonFormat) Reset() { + *x = JsonFormat{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[59] + mi := &file_pg_query_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FromExpr) String() string { +func (x *JsonFormat) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FromExpr) ProtoMessage() {} +func (*JsonFormat) ProtoMessage() {} -func (x *FromExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[59] +func (x *JsonFormat) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13786,57 +14379,59 @@ func (x *FromExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FromExpr.ProtoReflect.Descriptor instead. -func (*FromExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{59} +// Deprecated: Use JsonFormat.ProtoReflect.Descriptor instead. +func (*JsonFormat) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{51} } -func (x *FromExpr) GetFromlist() []*Node { +func (x *JsonFormat) GetFormatType() JsonFormatType { if x != nil { - return x.Fromlist + return x.FormatType } - return nil + return JsonFormatType_JSON_FORMAT_TYPE_UNDEFINED } -func (x *FromExpr) GetQuals() *Node { +func (x *JsonFormat) GetEncoding() JsonEncoding { if x != nil { - return x.Quals + return x.Encoding } - return nil + return JsonEncoding_JSON_ENCODING_UNDEFINED } -type OnConflictExpr struct { +func (x *JsonFormat) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonReturning struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` - ArbiterElems []*Node `protobuf:"bytes,2,rep,name=arbiter_elems,json=arbiterElems,proto3" json:"arbiter_elems,omitempty"` - ArbiterWhere *Node `protobuf:"bytes,3,opt,name=arbiter_where,json=arbiterWhere,proto3" json:"arbiter_where,omitempty"` - Constraint uint32 `protobuf:"varint,4,opt,name=constraint,proto3" json:"constraint,omitempty"` - OnConflictSet []*Node `protobuf:"bytes,5,rep,name=on_conflict_set,json=onConflictSet,proto3" json:"on_conflict_set,omitempty"` - OnConflictWhere *Node `protobuf:"bytes,6,opt,name=on_conflict_where,json=onConflictWhere,proto3" json:"on_conflict_where,omitempty"` - ExclRelIndex int32 `protobuf:"varint,7,opt,name=excl_rel_index,json=exclRelIndex,proto3" json:"excl_rel_index,omitempty"` - ExclRelTlist []*Node `protobuf:"bytes,8,rep,name=excl_rel_tlist,json=exclRelTlist,proto3" json:"excl_rel_tlist,omitempty"` + Format *JsonFormat `protobuf:"bytes,1,opt,name=format,proto3" json:"format,omitempty"` + Typid uint32 `protobuf:"varint,2,opt,name=typid,proto3" json:"typid,omitempty"` + Typmod int32 `protobuf:"varint,3,opt,name=typmod,proto3" json:"typmod,omitempty"` } -func (x *OnConflictExpr) Reset() { - *x = OnConflictExpr{} +func (x *JsonReturning) Reset() { + *x = JsonReturning{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[60] + mi := &file_pg_query_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OnConflictExpr) String() string { +func (x *JsonReturning) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OnConflictExpr) ProtoMessage() {} +func (*JsonReturning) ProtoMessage() {} -func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[60] +func (x *JsonReturning) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13847,99 +14442,128 @@ func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OnConflictExpr.ProtoReflect.Descriptor instead. -func (*OnConflictExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{60} +// Deprecated: Use JsonReturning.ProtoReflect.Descriptor instead. +func (*JsonReturning) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{52} } -func (x *OnConflictExpr) GetAction() OnConflictAction { +func (x *JsonReturning) GetFormat() *JsonFormat { if x != nil { - return x.Action + return x.Format } - return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED + return nil } -func (x *OnConflictExpr) GetArbiterElems() []*Node { +func (x *JsonReturning) GetTypid() uint32 { if x != nil { - return x.ArbiterElems + return x.Typid } - return nil + return 0 } -func (x *OnConflictExpr) GetArbiterWhere() *Node { +func (x *JsonReturning) GetTypmod() int32 { if x != nil { - return x.ArbiterWhere + return x.Typmod } - return nil + return 0 } -func (x *OnConflictExpr) GetConstraint() uint32 { - if x != nil { - return x.Constraint +type JsonValueExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RawExpr *Node `protobuf:"bytes,1,opt,name=raw_expr,proto3" json:"raw_expr,omitempty"` + FormattedExpr *Node `protobuf:"bytes,2,opt,name=formatted_expr,proto3" json:"formatted_expr,omitempty"` + Format *JsonFormat `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"` +} + +func (x *JsonValueExpr) Reset() { + *x = JsonValueExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *OnConflictExpr) GetOnConflictSet() []*Node { - if x != nil { - return x.OnConflictSet +func (x *JsonValueExpr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonValueExpr) ProtoMessage() {} + +func (x *JsonValueExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *OnConflictExpr) GetOnConflictWhere() *Node { +// Deprecated: Use JsonValueExpr.ProtoReflect.Descriptor instead. +func (*JsonValueExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{53} +} + +func (x *JsonValueExpr) GetRawExpr() *Node { if x != nil { - return x.OnConflictWhere + return x.RawExpr } return nil } -func (x *OnConflictExpr) GetExclRelIndex() int32 { +func (x *JsonValueExpr) GetFormattedExpr() *Node { if x != nil { - return x.ExclRelIndex + return x.FormattedExpr } - return 0 + return nil } -func (x *OnConflictExpr) GetExclRelTlist() []*Node { +func (x *JsonValueExpr) GetFormat() *JsonFormat { if x != nil { - return x.ExclRelTlist + return x.Format } return nil } -type IntoClause struct { +type JsonConstructorExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rel *RangeVar `protobuf:"bytes,1,opt,name=rel,proto3" json:"rel,omitempty"` - ColNames []*Node `protobuf:"bytes,2,rep,name=col_names,json=colNames,proto3" json:"col_names,omitempty"` - AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` - OnCommit OnCommitAction `protobuf:"varint,5,opt,name=on_commit,json=onCommit,proto3,enum=pg_query.OnCommitAction" json:"on_commit,omitempty"` - TableSpaceName string `protobuf:"bytes,6,opt,name=table_space_name,json=tableSpaceName,proto3" json:"table_space_name,omitempty"` - ViewQuery *Node `protobuf:"bytes,7,opt,name=view_query,json=viewQuery,proto3" json:"view_query,omitempty"` - SkipData bool `protobuf:"varint,8,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Type JsonConstructorType `protobuf:"varint,2,opt,name=type,proto3,enum=pg_query.JsonConstructorType" json:"type,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + Func *Node `protobuf:"bytes,4,opt,name=func,proto3" json:"func,omitempty"` + Coercion *Node `protobuf:"bytes,5,opt,name=coercion,proto3" json:"coercion,omitempty"` + Returning *JsonReturning `protobuf:"bytes,6,opt,name=returning,proto3" json:"returning,omitempty"` + AbsentOnNull bool `protobuf:"varint,7,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Unique bool `protobuf:"varint,8,opt,name=unique,proto3" json:"unique,omitempty"` + Location int32 `protobuf:"varint,9,opt,name=location,proto3" json:"location,omitempty"` } -func (x *IntoClause) Reset() { - *x = IntoClause{} +func (x *JsonConstructorExpr) Reset() { + *x = JsonConstructorExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[61] + mi := &file_pg_query_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IntoClause) String() string { +func (x *JsonConstructorExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IntoClause) ProtoMessage() {} +func (*JsonConstructorExpr) ProtoMessage() {} -func (x *IntoClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[61] +func (x *JsonConstructorExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13950,97 +14574,103 @@ func (x *IntoClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IntoClause.ProtoReflect.Descriptor instead. -func (*IntoClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{61} +// Deprecated: Use JsonConstructorExpr.ProtoReflect.Descriptor instead. +func (*JsonConstructorExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{54} } -func (x *IntoClause) GetRel() *RangeVar { +func (x *JsonConstructorExpr) GetXpr() *Node { if x != nil { - return x.Rel + return x.Xpr } return nil } -func (x *IntoClause) GetColNames() []*Node { +func (x *JsonConstructorExpr) GetType() JsonConstructorType { if x != nil { - return x.ColNames + return x.Type } - return nil + return JsonConstructorType_JSON_CONSTRUCTOR_TYPE_UNDEFINED } -func (x *IntoClause) GetAccessMethod() string { +func (x *JsonConstructorExpr) GetArgs() []*Node { if x != nil { - return x.AccessMethod + return x.Args } - return "" + return nil } -func (x *IntoClause) GetOptions() []*Node { +func (x *JsonConstructorExpr) GetFunc() *Node { if x != nil { - return x.Options + return x.Func } return nil } -func (x *IntoClause) GetOnCommit() OnCommitAction { +func (x *JsonConstructorExpr) GetCoercion() *Node { if x != nil { - return x.OnCommit + return x.Coercion } - return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED + return nil } -func (x *IntoClause) GetTableSpaceName() string { +func (x *JsonConstructorExpr) GetReturning() *JsonReturning { if x != nil { - return x.TableSpaceName + return x.Returning } - return "" + return nil } -func (x *IntoClause) GetViewQuery() *Node { +func (x *JsonConstructorExpr) GetAbsentOnNull() bool { if x != nil { - return x.ViewQuery + return x.AbsentOnNull } - return nil + return false } -func (x *IntoClause) GetSkipData() bool { +func (x *JsonConstructorExpr) GetUnique() bool { if x != nil { - return x.SkipData + return x.Unique } return false } -type MergeAction struct { +func (x *JsonConstructorExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonIsPredicate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Matched bool `protobuf:"varint,1,opt,name=matched,proto3" json:"matched,omitempty"` - CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - UpdateColnos []*Node `protobuf:"bytes,6,rep,name=update_colnos,json=updateColnos,proto3" json:"update_colnos,omitempty"` + Expr *Node `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Format *JsonFormat `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` + ItemType JsonValueType `protobuf:"varint,3,opt,name=item_type,proto3,enum=pg_query.JsonValueType" json:"item_type,omitempty"` + UniqueKeys bool `protobuf:"varint,4,opt,name=unique_keys,proto3" json:"unique_keys,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MergeAction) Reset() { - *x = MergeAction{} +func (x *JsonIsPredicate) Reset() { + *x = JsonIsPredicate{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[62] + mi := &file_pg_query_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MergeAction) String() string { +func (x *JsonIsPredicate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MergeAction) ProtoMessage() {} +func (*JsonIsPredicate) ProtoMessage() {} -func (x *MergeAction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[62] +func (x *JsonIsPredicate) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14051,80 +14681,74 @@ func (x *MergeAction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MergeAction.ProtoReflect.Descriptor instead. -func (*MergeAction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{62} -} - -func (x *MergeAction) GetMatched() bool { - if x != nil { - return x.Matched - } - return false +// Deprecated: Use JsonIsPredicate.ProtoReflect.Descriptor instead. +func (*JsonIsPredicate) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{55} } -func (x *MergeAction) GetCommandType() CmdType { +func (x *JsonIsPredicate) GetExpr() *Node { if x != nil { - return x.CommandType + return x.Expr } - return CmdType_CMD_TYPE_UNDEFINED + return nil } -func (x *MergeAction) GetOverride() OverridingKind { +func (x *JsonIsPredicate) GetFormat() *JsonFormat { if x != nil { - return x.Override + return x.Format } - return OverridingKind_OVERRIDING_KIND_UNDEFINED + return nil } -func (x *MergeAction) GetQual() *Node { +func (x *JsonIsPredicate) GetItemType() JsonValueType { if x != nil { - return x.Qual + return x.ItemType } - return nil + return JsonValueType_JSON_VALUE_TYPE_UNDEFINED } -func (x *MergeAction) GetTargetList() []*Node { +func (x *JsonIsPredicate) GetUniqueKeys() bool { if x != nil { - return x.TargetList + return x.UniqueKeys } - return nil + return false } -func (x *MergeAction) GetUpdateColnos() []*Node { +func (x *JsonIsPredicate) GetLocation() int32 { if x != nil { - return x.UpdateColnos + return x.Location } - return nil + return 0 } -type RawStmt struct { +type JsonBehavior struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Stmt *Node `protobuf:"bytes,1,opt,name=stmt,proto3" json:"stmt,omitempty"` - StmtLocation int32 `protobuf:"varint,2,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` - StmtLen int32 `protobuf:"varint,3,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` + Btype JsonBehaviorType `protobuf:"varint,1,opt,name=btype,proto3,enum=pg_query.JsonBehaviorType" json:"btype,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Coerce bool `protobuf:"varint,3,opt,name=coerce,proto3" json:"coerce,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RawStmt) Reset() { - *x = RawStmt{} +func (x *JsonBehavior) Reset() { + *x = JsonBehavior{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[63] + mi := &file_pg_query_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RawStmt) String() string { +func (x *JsonBehavior) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RawStmt) ProtoMessage() {} +func (*JsonBehavior) ProtoMessage() {} -func (x *RawStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[63] +func (x *JsonBehavior) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14135,96 +14759,80 @@ func (x *RawStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RawStmt.ProtoReflect.Descriptor instead. -func (*RawStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{63} +// Deprecated: Use JsonBehavior.ProtoReflect.Descriptor instead. +func (*JsonBehavior) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{56} } -func (x *RawStmt) GetStmt() *Node { +func (x *JsonBehavior) GetBtype() JsonBehaviorType { if x != nil { - return x.Stmt + return x.Btype + } + return JsonBehaviorType_JSON_BEHAVIOR_TYPE_UNDEFINED +} + +func (x *JsonBehavior) GetExpr() *Node { + if x != nil { + return x.Expr } return nil } -func (x *RawStmt) GetStmtLocation() int32 { +func (x *JsonBehavior) GetCoerce() bool { if x != nil { - return x.StmtLocation + return x.Coerce } - return 0 + return false } -func (x *RawStmt) GetStmtLen() int32 { +func (x *JsonBehavior) GetLocation() int32 { if x != nil { - return x.StmtLen + return x.Location } return 0 } -type Query struct { +type JsonExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CommandType CmdType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - QuerySource QuerySource `protobuf:"varint,2,opt,name=query_source,json=querySource,proto3,enum=pg_query.QuerySource" json:"query_source,omitempty"` - CanSetTag bool `protobuf:"varint,3,opt,name=can_set_tag,json=canSetTag,proto3" json:"can_set_tag,omitempty"` - UtilityStmt *Node `protobuf:"bytes,4,opt,name=utility_stmt,json=utilityStmt,proto3" json:"utility_stmt,omitempty"` - ResultRelation int32 `protobuf:"varint,5,opt,name=result_relation,json=resultRelation,proto3" json:"result_relation,omitempty"` - HasAggs bool `protobuf:"varint,6,opt,name=has_aggs,json=hasAggs,proto3" json:"has_aggs,omitempty"` - HasWindowFuncs bool `protobuf:"varint,7,opt,name=has_window_funcs,json=hasWindowFuncs,proto3" json:"has_window_funcs,omitempty"` - HasTargetSrfs bool `protobuf:"varint,8,opt,name=has_target_srfs,json=hasTargetSRFs,proto3" json:"has_target_srfs,omitempty"` - HasSubLinks bool `protobuf:"varint,9,opt,name=has_sub_links,json=hasSubLinks,proto3" json:"has_sub_links,omitempty"` - HasDistinctOn bool `protobuf:"varint,10,opt,name=has_distinct_on,json=hasDistinctOn,proto3" json:"has_distinct_on,omitempty"` - HasRecursive bool `protobuf:"varint,11,opt,name=has_recursive,json=hasRecursive,proto3" json:"has_recursive,omitempty"` - HasModifyingCte bool `protobuf:"varint,12,opt,name=has_modifying_cte,json=hasModifyingCTE,proto3" json:"has_modifying_cte,omitempty"` - HasForUpdate bool `protobuf:"varint,13,opt,name=has_for_update,json=hasForUpdate,proto3" json:"has_for_update,omitempty"` - HasRowSecurity bool `protobuf:"varint,14,opt,name=has_row_security,json=hasRowSecurity,proto3" json:"has_row_security,omitempty"` - IsReturn bool `protobuf:"varint,15,opt,name=is_return,json=isReturn,proto3" json:"is_return,omitempty"` - CteList []*Node `protobuf:"bytes,16,rep,name=cte_list,json=cteList,proto3" json:"cte_list,omitempty"` - Rtable []*Node `protobuf:"bytes,17,rep,name=rtable,proto3" json:"rtable,omitempty"` - Jointree *FromExpr `protobuf:"bytes,18,opt,name=jointree,proto3" json:"jointree,omitempty"` - MergeActionList []*Node `protobuf:"bytes,19,rep,name=merge_action_list,json=mergeActionList,proto3" json:"merge_action_list,omitempty"` - MergeUseOuterJoin bool `protobuf:"varint,20,opt,name=merge_use_outer_join,json=mergeUseOuterJoin,proto3" json:"merge_use_outer_join,omitempty"` - TargetList []*Node `protobuf:"bytes,21,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - Override OverridingKind `protobuf:"varint,22,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - OnConflict *OnConflictExpr `protobuf:"bytes,23,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` - ReturningList []*Node `protobuf:"bytes,24,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - GroupClause []*Node `protobuf:"bytes,25,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` - GroupDistinct bool `protobuf:"varint,26,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` - GroupingSets []*Node `protobuf:"bytes,27,rep,name=grouping_sets,json=groupingSets,proto3" json:"grouping_sets,omitempty"` - HavingQual *Node `protobuf:"bytes,28,opt,name=having_qual,json=havingQual,proto3" json:"having_qual,omitempty"` - WindowClause []*Node `protobuf:"bytes,29,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` - DistinctClause []*Node `protobuf:"bytes,30,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` - SortClause []*Node `protobuf:"bytes,31,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` - LimitOffset *Node `protobuf:"bytes,32,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` - LimitCount *Node `protobuf:"bytes,33,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` - LimitOption LimitOption `protobuf:"varint,34,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` - RowMarks []*Node `protobuf:"bytes,35,rep,name=row_marks,json=rowMarks,proto3" json:"row_marks,omitempty"` - SetOperations *Node `protobuf:"bytes,36,opt,name=set_operations,json=setOperations,proto3" json:"set_operations,omitempty"` - ConstraintDeps []*Node `protobuf:"bytes,37,rep,name=constraint_deps,json=constraintDeps,proto3" json:"constraint_deps,omitempty"` - WithCheckOptions []*Node `protobuf:"bytes,38,rep,name=with_check_options,json=withCheckOptions,proto3" json:"with_check_options,omitempty"` - StmtLocation int32 `protobuf:"varint,39,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` - StmtLen int32 `protobuf:"varint,40,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` -} - -func (x *Query) Reset() { - *x = Query{} + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Op JsonExprOp `protobuf:"varint,2,opt,name=op,proto3,enum=pg_query.JsonExprOp" json:"op,omitempty"` + ColumnName string `protobuf:"bytes,3,opt,name=column_name,proto3" json:"column_name,omitempty"` + FormattedExpr *Node `protobuf:"bytes,4,opt,name=formatted_expr,proto3" json:"formatted_expr,omitempty"` + Format *JsonFormat `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"` + PathSpec *Node `protobuf:"bytes,6,opt,name=path_spec,proto3" json:"path_spec,omitempty"` + Returning *JsonReturning `protobuf:"bytes,7,opt,name=returning,proto3" json:"returning,omitempty"` + PassingNames []*Node `protobuf:"bytes,8,rep,name=passing_names,proto3" json:"passing_names,omitempty"` + PassingValues []*Node `protobuf:"bytes,9,rep,name=passing_values,proto3" json:"passing_values,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,10,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,11,opt,name=on_error,proto3" json:"on_error,omitempty"` + UseIoCoercion bool `protobuf:"varint,12,opt,name=use_io_coercion,proto3" json:"use_io_coercion,omitempty"` + UseJsonCoercion bool `protobuf:"varint,13,opt,name=use_json_coercion,proto3" json:"use_json_coercion,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,14,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + OmitQuotes bool `protobuf:"varint,15,opt,name=omit_quotes,proto3" json:"omit_quotes,omitempty"` + Collation uint32 `protobuf:"varint,16,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,17,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *JsonExpr) Reset() { + *x = JsonExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[64] + mi := &file_pg_query_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Query) String() string { +func (x *JsonExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Query) ProtoMessage() {} +func (*JsonExpr) ProtoMessage() {} -func (x *Query) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[64] +func (x *JsonExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14235,322 +14843,356 @@ func (x *Query) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Query.ProtoReflect.Descriptor instead. -func (*Query) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{64} +// Deprecated: Use JsonExpr.ProtoReflect.Descriptor instead. +func (*JsonExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{57} } -func (x *Query) GetCommandType() CmdType { +func (x *JsonExpr) GetXpr() *Node { if x != nil { - return x.CommandType + return x.Xpr } - return CmdType_CMD_TYPE_UNDEFINED + return nil } -func (x *Query) GetQuerySource() QuerySource { +func (x *JsonExpr) GetOp() JsonExprOp { if x != nil { - return x.QuerySource + return x.Op } - return QuerySource_QUERY_SOURCE_UNDEFINED + return JsonExprOp_JSON_EXPR_OP_UNDEFINED } -func (x *Query) GetCanSetTag() bool { +func (x *JsonExpr) GetColumnName() string { if x != nil { - return x.CanSetTag + return x.ColumnName } - return false + return "" } -func (x *Query) GetUtilityStmt() *Node { +func (x *JsonExpr) GetFormattedExpr() *Node { if x != nil { - return x.UtilityStmt + return x.FormattedExpr } return nil } -func (x *Query) GetResultRelation() int32 { +func (x *JsonExpr) GetFormat() *JsonFormat { if x != nil { - return x.ResultRelation + return x.Format } - return 0 + return nil } -func (x *Query) GetHasAggs() bool { +func (x *JsonExpr) GetPathSpec() *Node { if x != nil { - return x.HasAggs + return x.PathSpec } - return false + return nil } -func (x *Query) GetHasWindowFuncs() bool { +func (x *JsonExpr) GetReturning() *JsonReturning { if x != nil { - return x.HasWindowFuncs + return x.Returning } - return false + return nil } -func (x *Query) GetHasTargetSrfs() bool { +func (x *JsonExpr) GetPassingNames() []*Node { if x != nil { - return x.HasTargetSrfs + return x.PassingNames } - return false + return nil } -func (x *Query) GetHasSubLinks() bool { +func (x *JsonExpr) GetPassingValues() []*Node { if x != nil { - return x.HasSubLinks + return x.PassingValues } - return false + return nil } -func (x *Query) GetHasDistinctOn() bool { +func (x *JsonExpr) GetOnEmpty() *JsonBehavior { if x != nil { - return x.HasDistinctOn + return x.OnEmpty } - return false + return nil } -func (x *Query) GetHasRecursive() bool { +func (x *JsonExpr) GetOnError() *JsonBehavior { if x != nil { - return x.HasRecursive + return x.OnError } - return false + return nil } -func (x *Query) GetHasModifyingCte() bool { +func (x *JsonExpr) GetUseIoCoercion() bool { if x != nil { - return x.HasModifyingCte + return x.UseIoCoercion } return false } -func (x *Query) GetHasForUpdate() bool { +func (x *JsonExpr) GetUseJsonCoercion() bool { if x != nil { - return x.HasForUpdate + return x.UseJsonCoercion } return false } -func (x *Query) GetHasRowSecurity() bool { +func (x *JsonExpr) GetWrapper() JsonWrapper { if x != nil { - return x.HasRowSecurity + return x.Wrapper } - return false + return JsonWrapper_JSON_WRAPPER_UNDEFINED } -func (x *Query) GetIsReturn() bool { +func (x *JsonExpr) GetOmitQuotes() bool { if x != nil { - return x.IsReturn + return x.OmitQuotes } return false } -func (x *Query) GetCteList() []*Node { +func (x *JsonExpr) GetCollation() uint32 { if x != nil { - return x.CteList + return x.Collation } - return nil + return 0 } -func (x *Query) GetRtable() []*Node { +func (x *JsonExpr) GetLocation() int32 { if x != nil { - return x.Rtable + return x.Location } - return nil + return 0 } -func (x *Query) GetJointree() *FromExpr { - if x != nil { - return x.Jointree - } - return nil +type JsonTablePath struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *Query) GetMergeActionList() []*Node { - if x != nil { - return x.MergeActionList +func (x *JsonTablePath) Reset() { + *x = JsonTablePath{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetMergeUseOuterJoin() bool { - if x != nil { - return x.MergeUseOuterJoin - } - return false +func (x *JsonTablePath) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Query) GetTargetList() []*Node { - if x != nil { - return x.TargetList +func (*JsonTablePath) ProtoMessage() {} + +func (x *JsonTablePath) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetOverride() OverridingKind { - if x != nil { - return x.Override - } - return OverridingKind_OVERRIDING_KIND_UNDEFINED +// Deprecated: Use JsonTablePath.ProtoReflect.Descriptor instead. +func (*JsonTablePath) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{58} } -func (x *Query) GetOnConflict() *OnConflictExpr { +func (x *JsonTablePath) GetName() string { if x != nil { - return x.OnConflict + return x.Name } - return nil + return "" } -func (x *Query) GetReturningList() []*Node { - if x != nil { - return x.ReturningList - } - return nil +type JsonTablePathScan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plan *Node `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + Path *JsonTablePath `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + ErrorOnError bool `protobuf:"varint,3,opt,name=error_on_error,json=errorOnError,proto3" json:"error_on_error,omitempty"` + Child *Node `protobuf:"bytes,4,opt,name=child,proto3" json:"child,omitempty"` + ColMin int32 `protobuf:"varint,5,opt,name=col_min,json=colMin,proto3" json:"col_min,omitempty"` + ColMax int32 `protobuf:"varint,6,opt,name=col_max,json=colMax,proto3" json:"col_max,omitempty"` } -func (x *Query) GetGroupClause() []*Node { - if x != nil { - return x.GroupClause +func (x *JsonTablePathScan) Reset() { + *x = JsonTablePathScan{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetGroupDistinct() bool { - if x != nil { - return x.GroupDistinct - } - return false +func (x *JsonTablePathScan) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Query) GetGroupingSets() []*Node { - if x != nil { - return x.GroupingSets +func (*JsonTablePathScan) ProtoMessage() {} + +func (x *JsonTablePathScan) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetHavingQual() *Node { - if x != nil { - return x.HavingQual - } - return nil +// Deprecated: Use JsonTablePathScan.ProtoReflect.Descriptor instead. +func (*JsonTablePathScan) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{59} } -func (x *Query) GetWindowClause() []*Node { +func (x *JsonTablePathScan) GetPlan() *Node { if x != nil { - return x.WindowClause + return x.Plan } return nil } -func (x *Query) GetDistinctClause() []*Node { +func (x *JsonTablePathScan) GetPath() *JsonTablePath { if x != nil { - return x.DistinctClause + return x.Path } return nil } -func (x *Query) GetSortClause() []*Node { +func (x *JsonTablePathScan) GetErrorOnError() bool { if x != nil { - return x.SortClause + return x.ErrorOnError } - return nil + return false } -func (x *Query) GetLimitOffset() *Node { +func (x *JsonTablePathScan) GetChild() *Node { if x != nil { - return x.LimitOffset + return x.Child } return nil } -func (x *Query) GetLimitCount() *Node { +func (x *JsonTablePathScan) GetColMin() int32 { if x != nil { - return x.LimitCount + return x.ColMin } - return nil + return 0 } -func (x *Query) GetLimitOption() LimitOption { +func (x *JsonTablePathScan) GetColMax() int32 { if x != nil { - return x.LimitOption + return x.ColMax } - return LimitOption_LIMIT_OPTION_UNDEFINED + return 0 } -func (x *Query) GetRowMarks() []*Node { - if x != nil { - return x.RowMarks - } - return nil +type JsonTableSiblingJoin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Plan *Node `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"` + Lplan *Node `protobuf:"bytes,2,opt,name=lplan,proto3" json:"lplan,omitempty"` + Rplan *Node `protobuf:"bytes,3,opt,name=rplan,proto3" json:"rplan,omitempty"` } -func (x *Query) GetSetOperations() *Node { - if x != nil { - return x.SetOperations +func (x *JsonTableSiblingJoin) Reset() { + *x = JsonTableSiblingJoin{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *Query) GetConstraintDeps() []*Node { - if x != nil { - return x.ConstraintDeps +func (x *JsonTableSiblingJoin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JsonTableSiblingJoin) ProtoMessage() {} + +func (x *JsonTableSiblingJoin) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Query) GetWithCheckOptions() []*Node { +// Deprecated: Use JsonTableSiblingJoin.ProtoReflect.Descriptor instead. +func (*JsonTableSiblingJoin) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{60} +} + +func (x *JsonTableSiblingJoin) GetPlan() *Node { if x != nil { - return x.WithCheckOptions + return x.Plan } return nil } -func (x *Query) GetStmtLocation() int32 { +func (x *JsonTableSiblingJoin) GetLplan() *Node { if x != nil { - return x.StmtLocation + return x.Lplan } - return 0 + return nil } -func (x *Query) GetStmtLen() int32 { +func (x *JsonTableSiblingJoin) GetRplan() *Node { if x != nil { - return x.StmtLen + return x.Rplan } - return 0 + return nil } -type InsertStmt struct { +type NullTest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` - SelectStmt *Node `protobuf:"bytes,3,opt,name=select_stmt,json=selectStmt,proto3" json:"select_stmt,omitempty"` - OnConflictClause *OnConflictClause `protobuf:"bytes,4,opt,name=on_conflict_clause,json=onConflictClause,proto3" json:"on_conflict_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` - Override OverridingKind `protobuf:"varint,7,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Nulltesttype NullTestType `protobuf:"varint,3,opt,name=nulltesttype,proto3,enum=pg_query.NullTestType" json:"nulltesttype,omitempty"` + Argisrow bool `protobuf:"varint,4,opt,name=argisrow,proto3" json:"argisrow,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *InsertStmt) Reset() { - *x = InsertStmt{} +func (x *NullTest) Reset() { + *x = NullTest{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[65] + mi := &file_pg_query_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InsertStmt) String() string { +func (x *NullTest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InsertStmt) ProtoMessage() {} +func (*NullTest) ProtoMessage() {} -func (x *InsertStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[65] +func (x *NullTest) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14561,89 +15203,74 @@ func (x *InsertStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InsertStmt.ProtoReflect.Descriptor instead. -func (*InsertStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{65} -} - -func (x *InsertStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *InsertStmt) GetCols() []*Node { - if x != nil { - return x.Cols - } - return nil +// Deprecated: Use NullTest.ProtoReflect.Descriptor instead. +func (*NullTest) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{61} } -func (x *InsertStmt) GetSelectStmt() *Node { +func (x *NullTest) GetXpr() *Node { if x != nil { - return x.SelectStmt + return x.Xpr } return nil } -func (x *InsertStmt) GetOnConflictClause() *OnConflictClause { +func (x *NullTest) GetArg() *Node { if x != nil { - return x.OnConflictClause + return x.Arg } return nil } -func (x *InsertStmt) GetReturningList() []*Node { +func (x *NullTest) GetNulltesttype() NullTestType { if x != nil { - return x.ReturningList + return x.Nulltesttype } - return nil + return NullTestType_NULL_TEST_TYPE_UNDEFINED } -func (x *InsertStmt) GetWithClause() *WithClause { +func (x *NullTest) GetArgisrow() bool { if x != nil { - return x.WithClause + return x.Argisrow } - return nil + return false } -func (x *InsertStmt) GetOverride() OverridingKind { +func (x *NullTest) GetLocation() int32 { if x != nil { - return x.Override + return x.Location } - return OverridingKind_OVERRIDING_KIND_UNDEFINED + return 0 } -type DeleteStmt struct { +type BooleanTest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - UsingClause []*Node `protobuf:"bytes,2,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,4,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Booltesttype BoolTestType `protobuf:"varint,3,opt,name=booltesttype,proto3,enum=pg_query.BoolTestType" json:"booltesttype,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DeleteStmt) Reset() { - *x = DeleteStmt{} +func (x *BooleanTest) Reset() { + *x = BooleanTest{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[66] + mi := &file_pg_query_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeleteStmt) String() string { +func (x *BooleanTest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeleteStmt) ProtoMessage() {} +func (*BooleanTest) ProtoMessage() {} -func (x *DeleteStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[66] +func (x *BooleanTest) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14654,76 +15281,69 @@ func (x *DeleteStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeleteStmt.ProtoReflect.Descriptor instead. -func (*DeleteStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{66} -} - -func (x *DeleteStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil +// Deprecated: Use BooleanTest.ProtoReflect.Descriptor instead. +func (*BooleanTest) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{62} } -func (x *DeleteStmt) GetUsingClause() []*Node { +func (x *BooleanTest) GetXpr() *Node { if x != nil { - return x.UsingClause + return x.Xpr } return nil } -func (x *DeleteStmt) GetWhereClause() *Node { +func (x *BooleanTest) GetArg() *Node { if x != nil { - return x.WhereClause + return x.Arg } return nil } -func (x *DeleteStmt) GetReturningList() []*Node { +func (x *BooleanTest) GetBooltesttype() BoolTestType { if x != nil { - return x.ReturningList + return x.Booltesttype } - return nil + return BoolTestType_BOOL_TEST_TYPE_UNDEFINED } -func (x *DeleteStmt) GetWithClause() *WithClause { +func (x *BooleanTest) GetLocation() int32 { if x != nil { - return x.WithClause + return x.Location } - return nil + return 0 } -type UpdateStmt struct { +type MergeAction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - TargetList []*Node `protobuf:"bytes,2,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` - ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` - WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + MatchKind MergeMatchKind `protobuf:"varint,1,opt,name=match_kind,json=matchKind,proto3,enum=pg_query.MergeMatchKind" json:"match_kind,omitempty"` + CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + UpdateColnos []*Node `protobuf:"bytes,6,rep,name=update_colnos,json=updateColnos,proto3" json:"update_colnos,omitempty"` } -func (x *UpdateStmt) Reset() { - *x = UpdateStmt{} +func (x *MergeAction) Reset() { + *x = MergeAction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[67] + mi := &file_pg_query_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateStmt) String() string { +func (x *MergeAction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateStmt) ProtoMessage() {} +func (*MergeAction) ProtoMessage() {} -func (x *UpdateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[67] +func (x *MergeAction) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14734,82 +15354,84 @@ func (x *UpdateStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateStmt.ProtoReflect.Descriptor instead. -func (*UpdateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{67} +// Deprecated: Use MergeAction.ProtoReflect.Descriptor instead. +func (*MergeAction) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{63} } -func (x *UpdateStmt) GetRelation() *RangeVar { +func (x *MergeAction) GetMatchKind() MergeMatchKind { if x != nil { - return x.Relation + return x.MatchKind } - return nil + return MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED } -func (x *UpdateStmt) GetTargetList() []*Node { +func (x *MergeAction) GetCommandType() CmdType { if x != nil { - return x.TargetList + return x.CommandType } - return nil + return CmdType_CMD_TYPE_UNDEFINED } -func (x *UpdateStmt) GetWhereClause() *Node { +func (x *MergeAction) GetOverride() OverridingKind { if x != nil { - return x.WhereClause + return x.Override } - return nil + return OverridingKind_OVERRIDING_KIND_UNDEFINED } -func (x *UpdateStmt) GetFromClause() []*Node { +func (x *MergeAction) GetQual() *Node { if x != nil { - return x.FromClause + return x.Qual } return nil } -func (x *UpdateStmt) GetReturningList() []*Node { +func (x *MergeAction) GetTargetList() []*Node { if x != nil { - return x.ReturningList + return x.TargetList } return nil } -func (x *UpdateStmt) GetWithClause() *WithClause { +func (x *MergeAction) GetUpdateColnos() []*Node { if x != nil { - return x.WithClause + return x.UpdateColnos } return nil } -type MergeStmt struct { +type CoerceToDomain struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - SourceRelation *Node `protobuf:"bytes,2,opt,name=source_relation,json=sourceRelation,proto3" json:"source_relation,omitempty"` - JoinCondition *Node `protobuf:"bytes,3,opt,name=join_condition,json=joinCondition,proto3" json:"join_condition,omitempty"` - MergeWhenClauses []*Node `protobuf:"bytes,4,rep,name=merge_when_clauses,json=mergeWhenClauses,proto3" json:"merge_when_clauses,omitempty"` - WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Arg *Node `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + Resulttype uint32 `protobuf:"varint,3,opt,name=resulttype,proto3" json:"resulttype,omitempty"` + Resulttypmod int32 `protobuf:"varint,4,opt,name=resulttypmod,proto3" json:"resulttypmod,omitempty"` + Resultcollid uint32 `protobuf:"varint,5,opt,name=resultcollid,proto3" json:"resultcollid,omitempty"` + Coercionformat CoercionForm `protobuf:"varint,6,opt,name=coercionformat,proto3,enum=pg_query.CoercionForm" json:"coercionformat,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *MergeStmt) Reset() { - *x = MergeStmt{} +func (x *CoerceToDomain) Reset() { + *x = CoerceToDomain{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[68] + mi := &file_pg_query_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MergeStmt) String() string { +func (x *CoerceToDomain) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MergeStmt) ProtoMessage() {} +func (*CoerceToDomain) ProtoMessage() {} -func (x *MergeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[68] +func (x *CoerceToDomain) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14820,90 +15442,89 @@ func (x *MergeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MergeStmt.ProtoReflect.Descriptor instead. -func (*MergeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{68} +// Deprecated: Use CoerceToDomain.ProtoReflect.Descriptor instead. +func (*CoerceToDomain) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{64} } -func (x *MergeStmt) GetRelation() *RangeVar { +func (x *CoerceToDomain) GetXpr() *Node { if x != nil { - return x.Relation + return x.Xpr } return nil } -func (x *MergeStmt) GetSourceRelation() *Node { +func (x *CoerceToDomain) GetArg() *Node { if x != nil { - return x.SourceRelation + return x.Arg } return nil } -func (x *MergeStmt) GetJoinCondition() *Node { +func (x *CoerceToDomain) GetResulttype() uint32 { if x != nil { - return x.JoinCondition + return x.Resulttype } - return nil + return 0 } -func (x *MergeStmt) GetMergeWhenClauses() []*Node { +func (x *CoerceToDomain) GetResulttypmod() int32 { if x != nil { - return x.MergeWhenClauses + return x.Resulttypmod } - return nil + return 0 } -func (x *MergeStmt) GetWithClause() *WithClause { +func (x *CoerceToDomain) GetResultcollid() uint32 { if x != nil { - return x.WithClause + return x.Resultcollid } - return nil + return 0 } -type SelectStmt struct { +func (x *CoerceToDomain) GetCoercionformat() CoercionForm { + if x != nil { + return x.Coercionformat + } + return CoercionForm_COERCION_FORM_UNDEFINED +} + +func (x *CoerceToDomain) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CoerceToDomainValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DistinctClause []*Node `protobuf:"bytes,1,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` - IntoClause *IntoClause `protobuf:"bytes,2,opt,name=into_clause,json=intoClause,proto3" json:"into_clause,omitempty"` - TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` - WhereClause *Node `protobuf:"bytes,5,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - GroupClause []*Node `protobuf:"bytes,6,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` - GroupDistinct bool `protobuf:"varint,7,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` - HavingClause *Node `protobuf:"bytes,8,opt,name=having_clause,json=havingClause,proto3" json:"having_clause,omitempty"` - WindowClause []*Node `protobuf:"bytes,9,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` - ValuesLists []*Node `protobuf:"bytes,10,rep,name=values_lists,json=valuesLists,proto3" json:"values_lists,omitempty"` - SortClause []*Node `protobuf:"bytes,11,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` - LimitOffset *Node `protobuf:"bytes,12,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` - LimitCount *Node `protobuf:"bytes,13,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` - LimitOption LimitOption `protobuf:"varint,14,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` - LockingClause []*Node `protobuf:"bytes,15,rep,name=locking_clause,json=lockingClause,proto3" json:"locking_clause,omitempty"` - WithClause *WithClause `protobuf:"bytes,16,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` - Op SetOperation `protobuf:"varint,17,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` - All bool `protobuf:"varint,18,opt,name=all,proto3" json:"all,omitempty"` - Larg *SelectStmt `protobuf:"bytes,19,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *SelectStmt `protobuf:"bytes,20,opt,name=rarg,proto3" json:"rarg,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` + Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SelectStmt) Reset() { - *x = SelectStmt{} +func (x *CoerceToDomainValue) Reset() { + *x = CoerceToDomainValue{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[69] + mi := &file_pg_query_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SelectStmt) String() string { +func (x *CoerceToDomainValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SelectStmt) ProtoMessage() {} +func (*CoerceToDomainValue) ProtoMessage() {} -func (x *SelectStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[69] +func (x *CoerceToDomainValue) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14914,176 +15535,153 @@ func (x *SelectStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SelectStmt.ProtoReflect.Descriptor instead. -func (*SelectStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{69} +// Deprecated: Use CoerceToDomainValue.ProtoReflect.Descriptor instead. +func (*CoerceToDomainValue) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{65} } -func (x *SelectStmt) GetDistinctClause() []*Node { +func (x *CoerceToDomainValue) GetXpr() *Node { if x != nil { - return x.DistinctClause + return x.Xpr } return nil } -func (x *SelectStmt) GetIntoClause() *IntoClause { +func (x *CoerceToDomainValue) GetTypeId() uint32 { if x != nil { - return x.IntoClause + return x.TypeId } - return nil + return 0 } -func (x *SelectStmt) GetTargetList() []*Node { +func (x *CoerceToDomainValue) GetTypeMod() int32 { if x != nil { - return x.TargetList + return x.TypeMod } - return nil + return 0 } -func (x *SelectStmt) GetFromClause() []*Node { +func (x *CoerceToDomainValue) GetCollation() uint32 { if x != nil { - return x.FromClause + return x.Collation } - return nil + return 0 } -func (x *SelectStmt) GetWhereClause() *Node { +func (x *CoerceToDomainValue) GetLocation() int32 { if x != nil { - return x.WhereClause + return x.Location } - return nil + return 0 } -func (x *SelectStmt) GetGroupClause() []*Node { - if x != nil { - return x.GroupClause - } - return nil +type SetToDefault struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + TypeId uint32 `protobuf:"varint,2,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` + TypeMod int32 `protobuf:"varint,3,opt,name=type_mod,json=typeMod,proto3" json:"type_mod,omitempty"` + Collation uint32 `protobuf:"varint,4,opt,name=collation,proto3" json:"collation,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *SelectStmt) GetGroupDistinct() bool { - if x != nil { - return x.GroupDistinct +func (x *SetToDefault) Reset() { + *x = SetToDefault{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *SelectStmt) GetHavingClause() *Node { - if x != nil { - return x.HavingClause - } - return nil +func (x *SetToDefault) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *SelectStmt) GetWindowClause() []*Node { - if x != nil { - return x.WindowClause +func (*SetToDefault) ProtoMessage() {} + +func (x *SetToDefault) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *SelectStmt) GetValuesLists() []*Node { - if x != nil { - return x.ValuesLists - } - return nil +// Deprecated: Use SetToDefault.ProtoReflect.Descriptor instead. +func (*SetToDefault) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{66} } -func (x *SelectStmt) GetSortClause() []*Node { +func (x *SetToDefault) GetXpr() *Node { if x != nil { - return x.SortClause + return x.Xpr } return nil } -func (x *SelectStmt) GetLimitOffset() *Node { +func (x *SetToDefault) GetTypeId() uint32 { if x != nil { - return x.LimitOffset + return x.TypeId } - return nil + return 0 } -func (x *SelectStmt) GetLimitCount() *Node { +func (x *SetToDefault) GetTypeMod() int32 { if x != nil { - return x.LimitCount + return x.TypeMod } - return nil + return 0 } -func (x *SelectStmt) GetLimitOption() LimitOption { +func (x *SetToDefault) GetCollation() uint32 { if x != nil { - return x.LimitOption + return x.Collation } - return LimitOption_LIMIT_OPTION_UNDEFINED + return 0 } -func (x *SelectStmt) GetLockingClause() []*Node { +func (x *SetToDefault) GetLocation() int32 { if x != nil { - return x.LockingClause + return x.Location } - return nil + return 0 } -func (x *SelectStmt) GetWithClause() *WithClause { - if x != nil { - return x.WithClause - } - return nil -} - -func (x *SelectStmt) GetOp() SetOperation { - if x != nil { - return x.Op - } - return SetOperation_SET_OPERATION_UNDEFINED -} - -func (x *SelectStmt) GetAll() bool { - if x != nil { - return x.All - } - return false -} - -func (x *SelectStmt) GetLarg() *SelectStmt { - if x != nil { - return x.Larg - } - return nil -} - -func (x *SelectStmt) GetRarg() *SelectStmt { - if x != nil { - return x.Rarg - } - return nil -} - -type ReturnStmt struct { +type CurrentOfExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Returnval *Node `protobuf:"bytes,1,opt,name=returnval,proto3" json:"returnval,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Cvarno uint32 `protobuf:"varint,2,opt,name=cvarno,proto3" json:"cvarno,omitempty"` + CursorName string `protobuf:"bytes,3,opt,name=cursor_name,proto3" json:"cursor_name,omitempty"` + CursorParam int32 `protobuf:"varint,4,opt,name=cursor_param,proto3" json:"cursor_param,omitempty"` } -func (x *ReturnStmt) Reset() { - *x = ReturnStmt{} +func (x *CurrentOfExpr) Reset() { + *x = CurrentOfExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[70] + mi := &file_pg_query_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReturnStmt) String() string { +func (x *CurrentOfExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReturnStmt) ProtoMessage() {} +func (*CurrentOfExpr) ProtoMessage() {} -func (x *ReturnStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[70] +func (x *CurrentOfExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15094,47 +15692,66 @@ func (x *ReturnStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReturnStmt.ProtoReflect.Descriptor instead. -func (*ReturnStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{70} +// Deprecated: Use CurrentOfExpr.ProtoReflect.Descriptor instead. +func (*CurrentOfExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{67} } -func (x *ReturnStmt) GetReturnval() *Node { +func (x *CurrentOfExpr) GetXpr() *Node { if x != nil { - return x.Returnval + return x.Xpr } return nil } -type PLAssignStmt struct { +func (x *CurrentOfExpr) GetCvarno() uint32 { + if x != nil { + return x.Cvarno + } + return 0 +} + +func (x *CurrentOfExpr) GetCursorName() string { + if x != nil { + return x.CursorName + } + return "" +} + +func (x *CurrentOfExpr) GetCursorParam() int32 { + if x != nil { + return x.CursorParam + } + return 0 +} + +type NextValueExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` - Nnames int32 `protobuf:"varint,3,opt,name=nnames,proto3" json:"nnames,omitempty"` - Val *SelectStmt `protobuf:"bytes,4,opt,name=val,proto3" json:"val,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Seqid uint32 `protobuf:"varint,2,opt,name=seqid,proto3" json:"seqid,omitempty"` + TypeId uint32 `protobuf:"varint,3,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"` } -func (x *PLAssignStmt) Reset() { - *x = PLAssignStmt{} +func (x *NextValueExpr) Reset() { + *x = NextValueExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[71] + mi := &file_pg_query_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PLAssignStmt) String() string { +func (x *NextValueExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PLAssignStmt) ProtoMessage() {} +func (*NextValueExpr) ProtoMessage() {} -func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[71] +func (x *NextValueExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15145,74 +15762,60 @@ func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PLAssignStmt.ProtoReflect.Descriptor instead. -func (*PLAssignStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{71} -} - -func (x *PLAssignStmt) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use NextValueExpr.ProtoReflect.Descriptor instead. +func (*NextValueExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{68} } -func (x *PLAssignStmt) GetIndirection() []*Node { +func (x *NextValueExpr) GetXpr() *Node { if x != nil { - return x.Indirection + return x.Xpr } return nil } -func (x *PLAssignStmt) GetNnames() int32 { +func (x *NextValueExpr) GetSeqid() uint32 { if x != nil { - return x.Nnames + return x.Seqid } return 0 } -func (x *PLAssignStmt) GetVal() *SelectStmt { - if x != nil { - return x.Val - } - return nil -} - -func (x *PLAssignStmt) GetLocation() int32 { +func (x *NextValueExpr) GetTypeId() uint32 { if x != nil { - return x.Location + return x.TypeId } return 0 } -type AlterTableStmt struct { +type InferenceElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Cmds []*Node `protobuf:"bytes,2,rep,name=cmds,proto3" json:"cmds,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Infercollid uint32 `protobuf:"varint,3,opt,name=infercollid,proto3" json:"infercollid,omitempty"` + Inferopclass uint32 `protobuf:"varint,4,opt,name=inferopclass,proto3" json:"inferopclass,omitempty"` } -func (x *AlterTableStmt) Reset() { - *x = AlterTableStmt{} +func (x *InferenceElem) Reset() { + *x = InferenceElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[72] + mi := &file_pg_query_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTableStmt) String() string { +func (x *InferenceElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableStmt) ProtoMessage() {} +func (*InferenceElem) ProtoMessage() {} -func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[72] +func (x *InferenceElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15223,71 +15826,71 @@ func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableStmt.ProtoReflect.Descriptor instead. -func (*AlterTableStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{72} +// Deprecated: Use InferenceElem.ProtoReflect.Descriptor instead. +func (*InferenceElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{69} } -func (x *AlterTableStmt) GetRelation() *RangeVar { +func (x *InferenceElem) GetXpr() *Node { if x != nil { - return x.Relation + return x.Xpr } return nil } -func (x *AlterTableStmt) GetCmds() []*Node { +func (x *InferenceElem) GetExpr() *Node { if x != nil { - return x.Cmds + return x.Expr } return nil } -func (x *AlterTableStmt) GetObjtype() ObjectType { +func (x *InferenceElem) GetInfercollid() uint32 { if x != nil { - return x.Objtype + return x.Infercollid } - return ObjectType_OBJECT_TYPE_UNDEFINED + return 0 } -func (x *AlterTableStmt) GetMissingOk() bool { +func (x *InferenceElem) GetInferopclass() uint32 { if x != nil { - return x.MissingOk + return x.Inferopclass } - return false + return 0 } -type AlterTableCmd struct { +type TargetEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subtype AlterTableType `protobuf:"varint,1,opt,name=subtype,proto3,enum=pg_query.AlterTableType" json:"subtype,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` - Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` - Def *Node `protobuf:"bytes,5,opt,name=def,proto3" json:"def,omitempty"` - Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Recurse bool `protobuf:"varint,8,opt,name=recurse,proto3" json:"recurse,omitempty"` + Xpr *Node `protobuf:"bytes,1,opt,name=xpr,proto3" json:"xpr,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Resno int32 `protobuf:"varint,3,opt,name=resno,proto3" json:"resno,omitempty"` + Resname string `protobuf:"bytes,4,opt,name=resname,proto3" json:"resname,omitempty"` + Ressortgroupref uint32 `protobuf:"varint,5,opt,name=ressortgroupref,proto3" json:"ressortgroupref,omitempty"` + Resorigtbl uint32 `protobuf:"varint,6,opt,name=resorigtbl,proto3" json:"resorigtbl,omitempty"` + Resorigcol int32 `protobuf:"varint,7,opt,name=resorigcol,proto3" json:"resorigcol,omitempty"` + Resjunk bool `protobuf:"varint,8,opt,name=resjunk,proto3" json:"resjunk,omitempty"` } -func (x *AlterTableCmd) Reset() { - *x = AlterTableCmd{} +func (x *TargetEntry) Reset() { + *x = TargetEntry{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[73] + mi := &file_pg_query_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTableCmd) String() string { +func (x *TargetEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableCmd) ProtoMessage() {} +func (*TargetEntry) ProtoMessage() {} -func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[73] +func (x *TargetEntry) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15298,97 +15901,92 @@ func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableCmd.ProtoReflect.Descriptor instead. -func (*AlterTableCmd) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{73} +// Deprecated: Use TargetEntry.ProtoReflect.Descriptor instead. +func (*TargetEntry) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{70} } -func (x *AlterTableCmd) GetSubtype() AlterTableType { +func (x *TargetEntry) GetXpr() *Node { if x != nil { - return x.Subtype + return x.Xpr } - return AlterTableType_ALTER_TABLE_TYPE_UNDEFINED + return nil } -func (x *AlterTableCmd) GetName() string { +func (x *TargetEntry) GetExpr() *Node { if x != nil { - return x.Name + return x.Expr } - return "" + return nil } -func (x *AlterTableCmd) GetNum() int32 { +func (x *TargetEntry) GetResno() int32 { if x != nil { - return x.Num + return x.Resno } return 0 } -func (x *AlterTableCmd) GetNewowner() *RoleSpec { +func (x *TargetEntry) GetResname() string { if x != nil { - return x.Newowner + return x.Resname } - return nil + return "" } -func (x *AlterTableCmd) GetDef() *Node { +func (x *TargetEntry) GetRessortgroupref() uint32 { if x != nil { - return x.Def + return x.Ressortgroupref } - return nil + return 0 } -func (x *AlterTableCmd) GetBehavior() DropBehavior { +func (x *TargetEntry) GetResorigtbl() uint32 { if x != nil { - return x.Behavior + return x.Resorigtbl } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return 0 } -func (x *AlterTableCmd) GetMissingOk() bool { +func (x *TargetEntry) GetResorigcol() int32 { if x != nil { - return x.MissingOk + return x.Resorigcol } - return false + return 0 } -func (x *AlterTableCmd) GetRecurse() bool { +func (x *TargetEntry) GetResjunk() bool { if x != nil { - return x.Recurse + return x.Resjunk } return false } -type AlterDomainStmt struct { +type RangeTblRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subtype string `protobuf:"bytes,1,opt,name=subtype,proto3" json:"subtype,omitempty"` - TypeName []*Node `protobuf:"bytes,2,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Def *Node `protobuf:"bytes,4,opt,name=def,proto3" json:"def,omitempty"` - Behavior DropBehavior `protobuf:"varint,5,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,6,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Rtindex int32 `protobuf:"varint,1,opt,name=rtindex,proto3" json:"rtindex,omitempty"` } -func (x *AlterDomainStmt) Reset() { - *x = AlterDomainStmt{} +func (x *RangeTblRef) Reset() { + *x = RangeTblRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[74] + mi := &file_pg_query_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDomainStmt) String() string { +func (x *RangeTblRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDomainStmt) ProtoMessage() {} +func (*RangeTblRef) ProtoMessage() {} -func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[74] +func (x *RangeTblRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15399,85 +15997,51 @@ func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDomainStmt.ProtoReflect.Descriptor instead. -func (*AlterDomainStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{74} -} - -func (x *AlterDomainStmt) GetSubtype() string { - if x != nil { - return x.Subtype - } - return "" -} - -func (x *AlterDomainStmt) GetTypeName() []*Node { - if x != nil { - return x.TypeName - } - return nil -} - -func (x *AlterDomainStmt) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AlterDomainStmt) GetDef() *Node { - if x != nil { - return x.Def - } - return nil -} - -func (x *AlterDomainStmt) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED +// Deprecated: Use RangeTblRef.ProtoReflect.Descriptor instead. +func (*RangeTblRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{71} } -func (x *AlterDomainStmt) GetMissingOk() bool { +func (x *RangeTblRef) GetRtindex() int32 { if x != nil { - return x.MissingOk + return x.Rtindex } - return false + return 0 } -type SetOperationStmt struct { +type JoinExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Op SetOperation `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` - All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` - Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` - Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` - ColTypes []*Node `protobuf:"bytes,5,rep,name=col_types,json=colTypes,proto3" json:"col_types,omitempty"` - ColTypmods []*Node `protobuf:"bytes,6,rep,name=col_typmods,json=colTypmods,proto3" json:"col_typmods,omitempty"` - ColCollations []*Node `protobuf:"bytes,7,rep,name=col_collations,json=colCollations,proto3" json:"col_collations,omitempty"` - GroupClauses []*Node `protobuf:"bytes,8,rep,name=group_clauses,json=groupClauses,proto3" json:"group_clauses,omitempty"` + Jointype JoinType `protobuf:"varint,1,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` + IsNatural bool `protobuf:"varint,2,opt,name=is_natural,json=isNatural,proto3" json:"is_natural,omitempty"` + Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` + UsingClause []*Node `protobuf:"bytes,5,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` + JoinUsingAlias *Alias `protobuf:"bytes,6,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` + Quals *Node `protobuf:"bytes,7,opt,name=quals,proto3" json:"quals,omitempty"` + Alias *Alias `protobuf:"bytes,8,opt,name=alias,proto3" json:"alias,omitempty"` + Rtindex int32 `protobuf:"varint,9,opt,name=rtindex,proto3" json:"rtindex,omitempty"` } -func (x *SetOperationStmt) Reset() { - *x = SetOperationStmt{} +func (x *JoinExpr) Reset() { + *x = JoinExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[75] + mi := &file_pg_query_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetOperationStmt) String() string { +func (x *JoinExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetOperationStmt) ProtoMessage() {} +func (*JoinExpr) ProtoMessage() {} -func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[75] +func (x *JoinExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15488,100 +16052,100 @@ func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetOperationStmt.ProtoReflect.Descriptor instead. -func (*SetOperationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{75} +// Deprecated: Use JoinExpr.ProtoReflect.Descriptor instead. +func (*JoinExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{72} } -func (x *SetOperationStmt) GetOp() SetOperation { +func (x *JoinExpr) GetJointype() JoinType { if x != nil { - return x.Op + return x.Jointype } - return SetOperation_SET_OPERATION_UNDEFINED + return JoinType_JOIN_TYPE_UNDEFINED } -func (x *SetOperationStmt) GetAll() bool { +func (x *JoinExpr) GetIsNatural() bool { if x != nil { - return x.All + return x.IsNatural } return false } -func (x *SetOperationStmt) GetLarg() *Node { +func (x *JoinExpr) GetLarg() *Node { if x != nil { return x.Larg } return nil } -func (x *SetOperationStmt) GetRarg() *Node { +func (x *JoinExpr) GetRarg() *Node { if x != nil { return x.Rarg } return nil } -func (x *SetOperationStmt) GetColTypes() []*Node { +func (x *JoinExpr) GetUsingClause() []*Node { if x != nil { - return x.ColTypes + return x.UsingClause } return nil } -func (x *SetOperationStmt) GetColTypmods() []*Node { +func (x *JoinExpr) GetJoinUsingAlias() *Alias { if x != nil { - return x.ColTypmods + return x.JoinUsingAlias } return nil } -func (x *SetOperationStmt) GetColCollations() []*Node { +func (x *JoinExpr) GetQuals() *Node { if x != nil { - return x.ColCollations + return x.Quals } return nil } -func (x *SetOperationStmt) GetGroupClauses() []*Node { +func (x *JoinExpr) GetAlias() *Alias { if x != nil { - return x.GroupClauses + return x.Alias } return nil } -type GrantStmt struct { +func (x *JoinExpr) GetRtindex() int32 { + if x != nil { + return x.Rtindex + } + return 0 +} + +type FromExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IsGrant bool `protobuf:"varint,1,opt,name=is_grant,proto3" json:"is_grant,omitempty"` - Targtype GrantTargetType `protobuf:"varint,2,opt,name=targtype,proto3,enum=pg_query.GrantTargetType" json:"targtype,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Objects []*Node `protobuf:"bytes,4,rep,name=objects,proto3" json:"objects,omitempty"` - Privileges []*Node `protobuf:"bytes,5,rep,name=privileges,proto3" json:"privileges,omitempty"` - Grantees []*Node `protobuf:"bytes,6,rep,name=grantees,proto3" json:"grantees,omitempty"` - GrantOption bool `protobuf:"varint,7,opt,name=grant_option,proto3" json:"grant_option,omitempty"` - Grantor *RoleSpec `protobuf:"bytes,8,opt,name=grantor,proto3" json:"grantor,omitempty"` - Behavior DropBehavior `protobuf:"varint,9,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Fromlist []*Node `protobuf:"bytes,1,rep,name=fromlist,proto3" json:"fromlist,omitempty"` + Quals *Node `protobuf:"bytes,2,opt,name=quals,proto3" json:"quals,omitempty"` } -func (x *GrantStmt) Reset() { - *x = GrantStmt{} +func (x *FromExpr) Reset() { + *x = FromExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[76] + mi := &file_pg_query_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GrantStmt) String() string { +func (x *FromExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrantStmt) ProtoMessage() {} +func (*FromExpr) ProtoMessage() {} -func (x *GrantStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[76] +func (x *FromExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15592,187 +16156,194 @@ func (x *GrantStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrantStmt.ProtoReflect.Descriptor instead. -func (*GrantStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{76} +// Deprecated: Use FromExpr.ProtoReflect.Descriptor instead. +func (*FromExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{73} } -func (x *GrantStmt) GetIsGrant() bool { +func (x *FromExpr) GetFromlist() []*Node { if x != nil { - return x.IsGrant + return x.Fromlist } - return false + return nil } -func (x *GrantStmt) GetTargtype() GrantTargetType { +func (x *FromExpr) GetQuals() *Node { if x != nil { - return x.Targtype + return x.Quals } - return GrantTargetType_GRANT_TARGET_TYPE_UNDEFINED + return nil } -func (x *GrantStmt) GetObjtype() ObjectType { - if x != nil { - return x.Objtype - } - return ObjectType_OBJECT_TYPE_UNDEFINED +type OnConflictExpr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` + ArbiterElems []*Node `protobuf:"bytes,2,rep,name=arbiter_elems,json=arbiterElems,proto3" json:"arbiter_elems,omitempty"` + ArbiterWhere *Node `protobuf:"bytes,3,opt,name=arbiter_where,json=arbiterWhere,proto3" json:"arbiter_where,omitempty"` + Constraint uint32 `protobuf:"varint,4,opt,name=constraint,proto3" json:"constraint,omitempty"` + OnConflictSet []*Node `protobuf:"bytes,5,rep,name=on_conflict_set,json=onConflictSet,proto3" json:"on_conflict_set,omitempty"` + OnConflictWhere *Node `protobuf:"bytes,6,opt,name=on_conflict_where,json=onConflictWhere,proto3" json:"on_conflict_where,omitempty"` + ExclRelIndex int32 `protobuf:"varint,7,opt,name=excl_rel_index,json=exclRelIndex,proto3" json:"excl_rel_index,omitempty"` + ExclRelTlist []*Node `protobuf:"bytes,8,rep,name=excl_rel_tlist,json=exclRelTlist,proto3" json:"excl_rel_tlist,omitempty"` } -func (x *GrantStmt) GetObjects() []*Node { - if x != nil { - return x.Objects +func (x *OnConflictExpr) Reset() { + *x = OnConflictExpr{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *GrantStmt) GetPrivileges() []*Node { - if x != nil { - return x.Privileges - } - return nil +func (x *OnConflictExpr) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *GrantStmt) GetGrantees() []*Node { - if x != nil { - return x.Grantees +func (*OnConflictExpr) ProtoMessage() {} + +func (x *OnConflictExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *GrantStmt) GetGrantOption() bool { - if x != nil { - return x.GrantOption - } - return false +// Deprecated: Use OnConflictExpr.ProtoReflect.Descriptor instead. +func (*OnConflictExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{74} } -func (x *GrantStmt) GetGrantor() *RoleSpec { +func (x *OnConflictExpr) GetAction() OnConflictAction { if x != nil { - return x.Grantor + return x.Action } - return nil + return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED } -func (x *GrantStmt) GetBehavior() DropBehavior { +func (x *OnConflictExpr) GetArbiterElems() []*Node { if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -type GrantRoleStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GrantedRoles []*Node `protobuf:"bytes,1,rep,name=granted_roles,proto3" json:"granted_roles,omitempty"` - GranteeRoles []*Node `protobuf:"bytes,2,rep,name=grantee_roles,proto3" json:"grantee_roles,omitempty"` - IsGrant bool `protobuf:"varint,3,opt,name=is_grant,proto3" json:"is_grant,omitempty"` - AdminOpt bool `protobuf:"varint,4,opt,name=admin_opt,proto3" json:"admin_opt,omitempty"` - Grantor *RoleSpec `protobuf:"bytes,5,opt,name=grantor,proto3" json:"grantor,omitempty"` - Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` -} - -func (x *GrantRoleStmt) Reset() { - *x = GrantRoleStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GrantRoleStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GrantRoleStmt) ProtoMessage() {} - -func (x *GrantRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms + return x.ArbiterElems } - return mi.MessageOf(x) -} - -// Deprecated: Use GrantRoleStmt.ProtoReflect.Descriptor instead. -func (*GrantRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{77} + return nil } -func (x *GrantRoleStmt) GetGrantedRoles() []*Node { +func (x *OnConflictExpr) GetArbiterWhere() *Node { if x != nil { - return x.GrantedRoles + return x.ArbiterWhere } return nil } -func (x *GrantRoleStmt) GetGranteeRoles() []*Node { +func (x *OnConflictExpr) GetConstraint() uint32 { if x != nil { - return x.GranteeRoles + return x.Constraint } - return nil + return 0 } -func (x *GrantRoleStmt) GetIsGrant() bool { +func (x *OnConflictExpr) GetOnConflictSet() []*Node { if x != nil { - return x.IsGrant + return x.OnConflictSet } - return false + return nil } -func (x *GrantRoleStmt) GetAdminOpt() bool { +func (x *OnConflictExpr) GetOnConflictWhere() *Node { if x != nil { - return x.AdminOpt + return x.OnConflictWhere } - return false + return nil } -func (x *GrantRoleStmt) GetGrantor() *RoleSpec { +func (x *OnConflictExpr) GetExclRelIndex() int32 { if x != nil { - return x.Grantor + return x.ExclRelIndex } - return nil + return 0 } -func (x *GrantRoleStmt) GetBehavior() DropBehavior { +func (x *OnConflictExpr) GetExclRelTlist() []*Node { if x != nil { - return x.Behavior + return x.ExclRelTlist } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return nil } -type AlterDefaultPrivilegesStmt struct { +type Query struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` - Action *GrantStmt `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + CommandType CmdType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + QuerySource QuerySource `protobuf:"varint,2,opt,name=query_source,json=querySource,proto3,enum=pg_query.QuerySource" json:"query_source,omitempty"` + CanSetTag bool `protobuf:"varint,3,opt,name=can_set_tag,json=canSetTag,proto3" json:"can_set_tag,omitempty"` + UtilityStmt *Node `protobuf:"bytes,4,opt,name=utility_stmt,json=utilityStmt,proto3" json:"utility_stmt,omitempty"` + ResultRelation int32 `protobuf:"varint,5,opt,name=result_relation,json=resultRelation,proto3" json:"result_relation,omitempty"` + HasAggs bool `protobuf:"varint,6,opt,name=has_aggs,json=hasAggs,proto3" json:"has_aggs,omitempty"` + HasWindowFuncs bool `protobuf:"varint,7,opt,name=has_window_funcs,json=hasWindowFuncs,proto3" json:"has_window_funcs,omitempty"` + HasTargetSrfs bool `protobuf:"varint,8,opt,name=has_target_srfs,json=hasTargetSRFs,proto3" json:"has_target_srfs,omitempty"` + HasSubLinks bool `protobuf:"varint,9,opt,name=has_sub_links,json=hasSubLinks,proto3" json:"has_sub_links,omitempty"` + HasDistinctOn bool `protobuf:"varint,10,opt,name=has_distinct_on,json=hasDistinctOn,proto3" json:"has_distinct_on,omitempty"` + HasRecursive bool `protobuf:"varint,11,opt,name=has_recursive,json=hasRecursive,proto3" json:"has_recursive,omitempty"` + HasModifyingCte bool `protobuf:"varint,12,opt,name=has_modifying_cte,json=hasModifyingCTE,proto3" json:"has_modifying_cte,omitempty"` + HasForUpdate bool `protobuf:"varint,13,opt,name=has_for_update,json=hasForUpdate,proto3" json:"has_for_update,omitempty"` + HasRowSecurity bool `protobuf:"varint,14,opt,name=has_row_security,json=hasRowSecurity,proto3" json:"has_row_security,omitempty"` + IsReturn bool `protobuf:"varint,15,opt,name=is_return,json=isReturn,proto3" json:"is_return,omitempty"` + CteList []*Node `protobuf:"bytes,16,rep,name=cte_list,json=cteList,proto3" json:"cte_list,omitempty"` + Rtable []*Node `protobuf:"bytes,17,rep,name=rtable,proto3" json:"rtable,omitempty"` + Rteperminfos []*Node `protobuf:"bytes,18,rep,name=rteperminfos,proto3" json:"rteperminfos,omitempty"` + Jointree *FromExpr `protobuf:"bytes,19,opt,name=jointree,proto3" json:"jointree,omitempty"` + MergeActionList []*Node `protobuf:"bytes,20,rep,name=merge_action_list,json=mergeActionList,proto3" json:"merge_action_list,omitempty"` + MergeTargetRelation int32 `protobuf:"varint,21,opt,name=merge_target_relation,json=mergeTargetRelation,proto3" json:"merge_target_relation,omitempty"` + MergeJoinCondition *Node `protobuf:"bytes,22,opt,name=merge_join_condition,json=mergeJoinCondition,proto3" json:"merge_join_condition,omitempty"` + TargetList []*Node `protobuf:"bytes,23,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + Override OverridingKind `protobuf:"varint,24,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + OnConflict *OnConflictExpr `protobuf:"bytes,25,opt,name=on_conflict,json=onConflict,proto3" json:"on_conflict,omitempty"` + ReturningList []*Node `protobuf:"bytes,26,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + GroupClause []*Node `protobuf:"bytes,27,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` + GroupDistinct bool `protobuf:"varint,28,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` + GroupingSets []*Node `protobuf:"bytes,29,rep,name=grouping_sets,json=groupingSets,proto3" json:"grouping_sets,omitempty"` + HavingQual *Node `protobuf:"bytes,30,opt,name=having_qual,json=havingQual,proto3" json:"having_qual,omitempty"` + WindowClause []*Node `protobuf:"bytes,31,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` + DistinctClause []*Node `protobuf:"bytes,32,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` + SortClause []*Node `protobuf:"bytes,33,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` + LimitOffset *Node `protobuf:"bytes,34,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` + LimitCount *Node `protobuf:"bytes,35,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` + LimitOption LimitOption `protobuf:"varint,36,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` + RowMarks []*Node `protobuf:"bytes,37,rep,name=row_marks,json=rowMarks,proto3" json:"row_marks,omitempty"` + SetOperations *Node `protobuf:"bytes,38,opt,name=set_operations,json=setOperations,proto3" json:"set_operations,omitempty"` + ConstraintDeps []*Node `protobuf:"bytes,39,rep,name=constraint_deps,json=constraintDeps,proto3" json:"constraint_deps,omitempty"` + WithCheckOptions []*Node `protobuf:"bytes,40,rep,name=with_check_options,json=withCheckOptions,proto3" json:"with_check_options,omitempty"` + StmtLocation int32 `protobuf:"varint,41,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` + StmtLen int32 `protobuf:"varint,42,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` } -func (x *AlterDefaultPrivilegesStmt) Reset() { - *x = AlterDefaultPrivilegesStmt{} +func (x *Query) Reset() { + *x = Query{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[78] + mi := &file_pg_query_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDefaultPrivilegesStmt) String() string { +func (x *Query) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDefaultPrivilegesStmt) ProtoMessage() {} +func (*Query) ProtoMessage() {} -func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[78] +func (x *Query) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15783,404 +16354,337 @@ func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDefaultPrivilegesStmt.ProtoReflect.Descriptor instead. -func (*AlterDefaultPrivilegesStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{78} +// Deprecated: Use Query.ProtoReflect.Descriptor instead. +func (*Query) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{75} } -func (x *AlterDefaultPrivilegesStmt) GetOptions() []*Node { +func (x *Query) GetCommandType() CmdType { if x != nil { - return x.Options + return x.CommandType } - return nil + return CmdType_CMD_TYPE_UNDEFINED } -func (x *AlterDefaultPrivilegesStmt) GetAction() *GrantStmt { +func (x *Query) GetQuerySource() QuerySource { if x != nil { - return x.Action + return x.QuerySource } - return nil + return QuerySource_QUERY_SOURCE_UNDEFINED } -type ClosePortalStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` +func (x *Query) GetCanSetTag() bool { + if x != nil { + return x.CanSetTag + } + return false } -func (x *ClosePortalStmt) Reset() { - *x = ClosePortalStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetUtilityStmt() *Node { + if x != nil { + return x.UtilityStmt } + return nil } -func (x *ClosePortalStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetResultRelation() int32 { + if x != nil { + return x.ResultRelation + } + return 0 } -func (*ClosePortalStmt) ProtoMessage() {} - -func (x *ClosePortalStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetHasAggs() bool { + if x != nil { + return x.HasAggs } - return mi.MessageOf(x) + return false } -// Deprecated: Use ClosePortalStmt.ProtoReflect.Descriptor instead. -func (*ClosePortalStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{79} +func (x *Query) GetHasWindowFuncs() bool { + if x != nil { + return x.HasWindowFuncs + } + return false } -func (x *ClosePortalStmt) GetPortalname() string { +func (x *Query) GetHasTargetSrfs() bool { if x != nil { - return x.Portalname + return x.HasTargetSrfs } - return "" + return false } -type ClusterStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Indexname string `protobuf:"bytes,2,opt,name=indexname,proto3" json:"indexname,omitempty"` - Params []*Node `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` +func (x *Query) GetHasSubLinks() bool { + if x != nil { + return x.HasSubLinks + } + return false } -func (x *ClusterStmt) Reset() { - *x = ClusterStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetHasDistinctOn() bool { + if x != nil { + return x.HasDistinctOn } + return false } -func (x *ClusterStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetHasRecursive() bool { + if x != nil { + return x.HasRecursive + } + return false } -func (*ClusterStmt) ProtoMessage() {} - -func (x *ClusterStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetHasModifyingCte() bool { + if x != nil { + return x.HasModifyingCte } - return mi.MessageOf(x) + return false } -// Deprecated: Use ClusterStmt.ProtoReflect.Descriptor instead. -func (*ClusterStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{80} +func (x *Query) GetHasForUpdate() bool { + if x != nil { + return x.HasForUpdate + } + return false } -func (x *ClusterStmt) GetRelation() *RangeVar { +func (x *Query) GetHasRowSecurity() bool { if x != nil { - return x.Relation + return x.HasRowSecurity } - return nil + return false } -func (x *ClusterStmt) GetIndexname() string { +func (x *Query) GetIsReturn() bool { if x != nil { - return x.Indexname + return x.IsReturn } - return "" + return false } -func (x *ClusterStmt) GetParams() []*Node { +func (x *Query) GetCteList() []*Node { if x != nil { - return x.Params + return x.CteList } return nil } -type CopyStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Query *Node `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` - Attlist []*Node `protobuf:"bytes,3,rep,name=attlist,proto3" json:"attlist,omitempty"` - IsFrom bool `protobuf:"varint,4,opt,name=is_from,proto3" json:"is_from,omitempty"` - IsProgram bool `protobuf:"varint,5,opt,name=is_program,proto3" json:"is_program,omitempty"` - Filename string `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"` - Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` - WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` -} - -func (x *CopyStmt) Reset() { - *x = CopyStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetRtable() []*Node { + if x != nil { + return x.Rtable } + return nil } -func (x *CopyStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CopyStmt) ProtoMessage() {} - -func (x *CopyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetRteperminfos() []*Node { + if x != nil { + return x.Rteperminfos } - return mi.MessageOf(x) -} - -// Deprecated: Use CopyStmt.ProtoReflect.Descriptor instead. -func (*CopyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{81} + return nil } -func (x *CopyStmt) GetRelation() *RangeVar { +func (x *Query) GetJointree() *FromExpr { if x != nil { - return x.Relation + return x.Jointree } return nil } -func (x *CopyStmt) GetQuery() *Node { +func (x *Query) GetMergeActionList() []*Node { if x != nil { - return x.Query + return x.MergeActionList } return nil } -func (x *CopyStmt) GetAttlist() []*Node { +func (x *Query) GetMergeTargetRelation() int32 { if x != nil { - return x.Attlist + return x.MergeTargetRelation } - return nil + return 0 } -func (x *CopyStmt) GetIsFrom() bool { +func (x *Query) GetMergeJoinCondition() *Node { if x != nil { - return x.IsFrom + return x.MergeJoinCondition } - return false + return nil } -func (x *CopyStmt) GetIsProgram() bool { +func (x *Query) GetTargetList() []*Node { if x != nil { - return x.IsProgram + return x.TargetList } - return false + return nil } -func (x *CopyStmt) GetFilename() string { +func (x *Query) GetOverride() OverridingKind { if x != nil { - return x.Filename + return x.Override } - return "" + return OverridingKind_OVERRIDING_KIND_UNDEFINED } -func (x *CopyStmt) GetOptions() []*Node { +func (x *Query) GetOnConflict() *OnConflictExpr { if x != nil { - return x.Options + return x.OnConflict } return nil } -func (x *CopyStmt) GetWhereClause() *Node { +func (x *Query) GetReturningList() []*Node { if x != nil { - return x.WhereClause + return x.ReturningList } return nil } -type CreateStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - TableElts []*Node `protobuf:"bytes,2,rep,name=table_elts,json=tableElts,proto3" json:"table_elts,omitempty"` - InhRelations []*Node `protobuf:"bytes,3,rep,name=inh_relations,json=inhRelations,proto3" json:"inh_relations,omitempty"` - Partbound *PartitionBoundSpec `protobuf:"bytes,4,opt,name=partbound,proto3" json:"partbound,omitempty"` - Partspec *PartitionSpec `protobuf:"bytes,5,opt,name=partspec,proto3" json:"partspec,omitempty"` - OfTypename *TypeName `protobuf:"bytes,6,opt,name=of_typename,json=ofTypename,proto3" json:"of_typename,omitempty"` - Constraints []*Node `protobuf:"bytes,7,rep,name=constraints,proto3" json:"constraints,omitempty"` - Options []*Node `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` - Oncommit OnCommitAction `protobuf:"varint,9,opt,name=oncommit,proto3,enum=pg_query.OnCommitAction" json:"oncommit,omitempty"` - Tablespacename string `protobuf:"bytes,10,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - AccessMethod string `protobuf:"bytes,11,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` - IfNotExists bool `protobuf:"varint,12,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` -} - -func (x *CreateStmt) Reset() { - *x = CreateStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Query) GetGroupClause() []*Node { + if x != nil { + return x.GroupClause } + return nil } -func (x *CreateStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Query) GetGroupDistinct() bool { + if x != nil { + return x.GroupDistinct + } + return false } -func (*CreateStmt) ProtoMessage() {} - -func (x *CreateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Query) GetGroupingSets() []*Node { + if x != nil { + return x.GroupingSets } - return mi.MessageOf(x) + return nil } -// Deprecated: Use CreateStmt.ProtoReflect.Descriptor instead. -func (*CreateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{82} +func (x *Query) GetHavingQual() *Node { + if x != nil { + return x.HavingQual + } + return nil } -func (x *CreateStmt) GetRelation() *RangeVar { +func (x *Query) GetWindowClause() []*Node { if x != nil { - return x.Relation + return x.WindowClause } return nil } -func (x *CreateStmt) GetTableElts() []*Node { +func (x *Query) GetDistinctClause() []*Node { if x != nil { - return x.TableElts + return x.DistinctClause } return nil } -func (x *CreateStmt) GetInhRelations() []*Node { +func (x *Query) GetSortClause() []*Node { if x != nil { - return x.InhRelations + return x.SortClause } return nil } -func (x *CreateStmt) GetPartbound() *PartitionBoundSpec { +func (x *Query) GetLimitOffset() *Node { if x != nil { - return x.Partbound + return x.LimitOffset } return nil } -func (x *CreateStmt) GetPartspec() *PartitionSpec { +func (x *Query) GetLimitCount() *Node { if x != nil { - return x.Partspec + return x.LimitCount } return nil } -func (x *CreateStmt) GetOfTypename() *TypeName { +func (x *Query) GetLimitOption() LimitOption { if x != nil { - return x.OfTypename + return x.LimitOption } - return nil + return LimitOption_LIMIT_OPTION_UNDEFINED } -func (x *CreateStmt) GetConstraints() []*Node { +func (x *Query) GetRowMarks() []*Node { if x != nil { - return x.Constraints + return x.RowMarks } return nil } -func (x *CreateStmt) GetOptions() []*Node { +func (x *Query) GetSetOperations() *Node { if x != nil { - return x.Options + return x.SetOperations } return nil } -func (x *CreateStmt) GetOncommit() OnCommitAction { +func (x *Query) GetConstraintDeps() []*Node { if x != nil { - return x.Oncommit + return x.ConstraintDeps } - return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED + return nil } -func (x *CreateStmt) GetTablespacename() string { +func (x *Query) GetWithCheckOptions() []*Node { if x != nil { - return x.Tablespacename + return x.WithCheckOptions } - return "" + return nil } -func (x *CreateStmt) GetAccessMethod() string { +func (x *Query) GetStmtLocation() int32 { if x != nil { - return x.AccessMethod + return x.StmtLocation } - return "" + return 0 } -func (x *CreateStmt) GetIfNotExists() bool { +func (x *Query) GetStmtLen() int32 { if x != nil { - return x.IfNotExists + return x.StmtLen } - return false + return 0 } -type DefineStmt struct { +type TypeName struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind ObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ObjectType" json:"kind,omitempty"` - Oldstyle bool `protobuf:"varint,2,opt,name=oldstyle,proto3" json:"oldstyle,omitempty"` - Defnames []*Node `protobuf:"bytes,3,rep,name=defnames,proto3" json:"defnames,omitempty"` - Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` - Definition []*Node `protobuf:"bytes,5,rep,name=definition,proto3" json:"definition,omitempty"` - IfNotExists bool `protobuf:"varint,6,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` + Names []*Node `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + TypeOid uint32 `protobuf:"varint,2,opt,name=type_oid,json=typeOid,proto3" json:"type_oid,omitempty"` + Setof bool `protobuf:"varint,3,opt,name=setof,proto3" json:"setof,omitempty"` + PctType bool `protobuf:"varint,4,opt,name=pct_type,proto3" json:"pct_type,omitempty"` + Typmods []*Node `protobuf:"bytes,5,rep,name=typmods,proto3" json:"typmods,omitempty"` + Typemod int32 `protobuf:"varint,6,opt,name=typemod,proto3" json:"typemod,omitempty"` + ArrayBounds []*Node `protobuf:"bytes,7,rep,name=array_bounds,json=arrayBounds,proto3" json:"array_bounds,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DefineStmt) Reset() { - *x = DefineStmt{} +func (x *TypeName) Reset() { + *x = TypeName{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[83] + mi := &file_pg_query_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DefineStmt) String() string { +func (x *TypeName) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DefineStmt) ProtoMessage() {} +func (*TypeName) ProtoMessage() {} -func (x *DefineStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[83] +func (x *TypeName) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16191,89 +16695,93 @@ func (x *DefineStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DefineStmt.ProtoReflect.Descriptor instead. -func (*DefineStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{83} +// Deprecated: Use TypeName.ProtoReflect.Descriptor instead. +func (*TypeName) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{76} } -func (x *DefineStmt) GetKind() ObjectType { +func (x *TypeName) GetNames() []*Node { if x != nil { - return x.Kind + return x.Names } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *DefineStmt) GetOldstyle() bool { +func (x *TypeName) GetTypeOid() uint32 { if x != nil { - return x.Oldstyle + return x.TypeOid } - return false + return 0 } -func (x *DefineStmt) GetDefnames() []*Node { +func (x *TypeName) GetSetof() bool { if x != nil { - return x.Defnames + return x.Setof } - return nil + return false } -func (x *DefineStmt) GetArgs() []*Node { +func (x *TypeName) GetPctType() bool { if x != nil { - return x.Args + return x.PctType } - return nil + return false } -func (x *DefineStmt) GetDefinition() []*Node { +func (x *TypeName) GetTypmods() []*Node { if x != nil { - return x.Definition + return x.Typmods } return nil } -func (x *DefineStmt) GetIfNotExists() bool { +func (x *TypeName) GetTypemod() int32 { if x != nil { - return x.IfNotExists + return x.Typemod } - return false + return 0 } -func (x *DefineStmt) GetReplace() bool { +func (x *TypeName) GetArrayBounds() []*Node { if x != nil { - return x.Replace + return x.ArrayBounds } - return false + return nil } -type DropStmt struct { +func (x *TypeName) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type ColumnRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objects []*Node `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` - RemoveType ObjectType `protobuf:"varint,2,opt,name=remove_type,json=removeType,proto3,enum=pg_query.ObjectType" json:"remove_type,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Concurrent bool `protobuf:"varint,5,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + Fields []*Node `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DropStmt) Reset() { - *x = DropStmt{} +func (x *ColumnRef) Reset() { + *x = ColumnRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[84] + mi := &file_pg_query_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropStmt) String() string { +func (x *ColumnRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropStmt) ProtoMessage() {} +func (*ColumnRef) ProtoMessage() {} -func (x *DropStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[84] +func (x *ColumnRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16284,73 +16792,51 @@ func (x *DropStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropStmt.ProtoReflect.Descriptor instead. -func (*DropStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{84} +// Deprecated: Use ColumnRef.ProtoReflect.Descriptor instead. +func (*ColumnRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{77} } -func (x *DropStmt) GetObjects() []*Node { +func (x *ColumnRef) GetFields() []*Node { if x != nil { - return x.Objects + return x.Fields } return nil } -func (x *DropStmt) GetRemoveType() ObjectType { - if x != nil { - return x.RemoveType - } - return ObjectType_OBJECT_TYPE_UNDEFINED -} - -func (x *DropStmt) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -func (x *DropStmt) GetMissingOk() bool { - if x != nil { - return x.MissingOk - } - return false -} - -func (x *DropStmt) GetConcurrent() bool { +func (x *ColumnRef) GetLocation() int32 { if x != nil { - return x.Concurrent + return x.Location } - return false + return 0 } -type TruncateStmt struct { +type ParamRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` - RestartSeqs bool `protobuf:"varint,2,opt,name=restart_seqs,proto3" json:"restart_seqs,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *TruncateStmt) Reset() { - *x = TruncateStmt{} +func (x *ParamRef) Reset() { + *x = ParamRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[85] + mi := &file_pg_query_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TruncateStmt) String() string { +func (x *ParamRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TruncateStmt) ProtoMessage() {} +func (*ParamRef) ProtoMessage() {} -func (x *TruncateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[85] +func (x *ParamRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16361,59 +16847,54 @@ func (x *TruncateStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TruncateStmt.ProtoReflect.Descriptor instead. -func (*TruncateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{85} -} - -func (x *TruncateStmt) GetRelations() []*Node { - if x != nil { - return x.Relations - } - return nil +// Deprecated: Use ParamRef.ProtoReflect.Descriptor instead. +func (*ParamRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{78} } -func (x *TruncateStmt) GetRestartSeqs() bool { +func (x *ParamRef) GetNumber() int32 { if x != nil { - return x.RestartSeqs + return x.Number } - return false + return 0 } -func (x *TruncateStmt) GetBehavior() DropBehavior { +func (x *ParamRef) GetLocation() int32 { if x != nil { - return x.Behavior + return x.Location } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return 0 } -type CommentStmt struct { +type A_Expr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Kind A_Expr_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.A_Expr_Kind" json:"kind,omitempty"` + Name []*Node `protobuf:"bytes,2,rep,name=name,proto3" json:"name,omitempty"` + Lexpr *Node `protobuf:"bytes,3,opt,name=lexpr,proto3" json:"lexpr,omitempty"` + Rexpr *Node `protobuf:"bytes,4,opt,name=rexpr,proto3" json:"rexpr,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CommentStmt) Reset() { - *x = CommentStmt{} +func (x *A_Expr) Reset() { + *x = A_Expr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[86] + mi := &file_pg_query_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CommentStmt) String() string { +func (x *A_Expr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CommentStmt) ProtoMessage() {} +func (*A_Expr) ProtoMessage() {} -func (x *CommentStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[86] +func (x *A_Expr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16424,60 +16905,73 @@ func (x *CommentStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CommentStmt.ProtoReflect.Descriptor instead. -func (*CommentStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{86} +// Deprecated: Use A_Expr.ProtoReflect.Descriptor instead. +func (*A_Expr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{79} } -func (x *CommentStmt) GetObjtype() ObjectType { +func (x *A_Expr) GetKind() A_Expr_Kind { if x != nil { - return x.Objtype + return x.Kind } - return ObjectType_OBJECT_TYPE_UNDEFINED + return A_Expr_Kind_A_EXPR_KIND_UNDEFINED } -func (x *CommentStmt) GetObject() *Node { +func (x *A_Expr) GetName() []*Node { if x != nil { - return x.Object + return x.Name } return nil } -func (x *CommentStmt) GetComment() string { +func (x *A_Expr) GetLexpr() *Node { if x != nil { - return x.Comment + return x.Lexpr } - return "" + return nil } -type FetchStmt struct { +func (x *A_Expr) GetRexpr() *Node { + if x != nil { + return x.Rexpr + } + return nil +} + +func (x *A_Expr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type TypeCast struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Direction FetchDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=pg_query.FetchDirection" json:"direction,omitempty"` - HowMany int64 `protobuf:"varint,2,opt,name=how_many,json=howMany,proto3" json:"how_many,omitempty"` - Portalname string `protobuf:"bytes,3,opt,name=portalname,proto3" json:"portalname,omitempty"` - Ismove bool `protobuf:"varint,4,opt,name=ismove,proto3" json:"ismove,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *FetchStmt) Reset() { - *x = FetchStmt{} +func (x *TypeCast) Reset() { + *x = TypeCast{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[87] + mi := &file_pg_query_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FetchStmt) String() string { +func (x *TypeCast) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchStmt) ProtoMessage() {} +func (*TypeCast) ProtoMessage() {} -func (x *FetchStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[87] +func (x *TypeCast) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16488,87 +16982,59 @@ func (x *FetchStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchStmt.ProtoReflect.Descriptor instead. -func (*FetchStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{87} -} - -func (x *FetchStmt) GetDirection() FetchDirection { - if x != nil { - return x.Direction - } - return FetchDirection_FETCH_DIRECTION_UNDEFINED +// Deprecated: Use TypeCast.ProtoReflect.Descriptor instead. +func (*TypeCast) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{80} } -func (x *FetchStmt) GetHowMany() int64 { +func (x *TypeCast) GetArg() *Node { if x != nil { - return x.HowMany + return x.Arg } - return 0 + return nil } -func (x *FetchStmt) GetPortalname() string { +func (x *TypeCast) GetTypeName() *TypeName { if x != nil { - return x.Portalname + return x.TypeName } - return "" + return nil } -func (x *FetchStmt) GetIsmove() bool { +func (x *TypeCast) GetLocation() int32 { if x != nil { - return x.Ismove + return x.Location } - return false + return 0 } -type IndexStmt struct { +type CollateClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Idxname string `protobuf:"bytes,1,opt,name=idxname,proto3" json:"idxname,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` - TableSpace string `protobuf:"bytes,4,opt,name=table_space,json=tableSpace,proto3" json:"table_space,omitempty"` - IndexParams []*Node `protobuf:"bytes,5,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"` - IndexIncludingParams []*Node `protobuf:"bytes,6,rep,name=index_including_params,json=indexIncludingParams,proto3" json:"index_including_params,omitempty"` - Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` - WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - ExcludeOpNames []*Node `protobuf:"bytes,9,rep,name=exclude_op_names,json=excludeOpNames,proto3" json:"exclude_op_names,omitempty"` - Idxcomment string `protobuf:"bytes,10,opt,name=idxcomment,proto3" json:"idxcomment,omitempty"` - IndexOid uint32 `protobuf:"varint,11,opt,name=index_oid,json=indexOid,proto3" json:"index_oid,omitempty"` - OldNode uint32 `protobuf:"varint,12,opt,name=old_node,json=oldNode,proto3" json:"old_node,omitempty"` - OldCreateSubid uint32 `protobuf:"varint,13,opt,name=old_create_subid,json=oldCreateSubid,proto3" json:"old_create_subid,omitempty"` - OldFirstRelfilenodeSubid uint32 `protobuf:"varint,14,opt,name=old_first_relfilenode_subid,json=oldFirstRelfilenodeSubid,proto3" json:"old_first_relfilenode_subid,omitempty"` - Unique bool `protobuf:"varint,15,opt,name=unique,proto3" json:"unique,omitempty"` - NullsNotDistinct bool `protobuf:"varint,16,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` - Primary bool `protobuf:"varint,17,opt,name=primary,proto3" json:"primary,omitempty"` - Isconstraint bool `protobuf:"varint,18,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` - Deferrable bool `protobuf:"varint,19,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,20,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Transformed bool `protobuf:"varint,21,opt,name=transformed,proto3" json:"transformed,omitempty"` - Concurrent bool `protobuf:"varint,22,opt,name=concurrent,proto3" json:"concurrent,omitempty"` - IfNotExists bool `protobuf:"varint,23,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - ResetDefaultTblspc bool `protobuf:"varint,24,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + Collname []*Node `protobuf:"bytes,2,rep,name=collname,proto3" json:"collname,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *IndexStmt) Reset() { - *x = IndexStmt{} +func (x *CollateClause) Reset() { + *x = CollateClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[88] + mi := &file_pg_query_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IndexStmt) String() string { +func (x *CollateClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IndexStmt) ProtoMessage() {} +func (*CollateClause) ProtoMessage() {} -func (x *IndexStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[88] +func (x *CollateClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16579,210 +17045,245 @@ func (x *IndexStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IndexStmt.ProtoReflect.Descriptor instead. -func (*IndexStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{88} +// Deprecated: Use CollateClause.ProtoReflect.Descriptor instead. +func (*CollateClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{81} } -func (x *IndexStmt) GetIdxname() string { +func (x *CollateClause) GetArg() *Node { if x != nil { - return x.Idxname + return x.Arg } - return "" + return nil } -func (x *IndexStmt) GetRelation() *RangeVar { +func (x *CollateClause) GetCollname() []*Node { if x != nil { - return x.Relation + return x.Collname } return nil } -func (x *IndexStmt) GetAccessMethod() string { +func (x *CollateClause) GetLocation() int32 { if x != nil { - return x.AccessMethod + return x.Location } - return "" + return 0 } -func (x *IndexStmt) GetTableSpace() string { - if x != nil { - return x.TableSpace - } - return "" +type RoleSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roletype RoleSpecType `protobuf:"varint,1,opt,name=roletype,proto3,enum=pg_query.RoleSpecType" json:"roletype,omitempty"` + Rolename string `protobuf:"bytes,2,opt,name=rolename,proto3" json:"rolename,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *IndexStmt) GetIndexParams() []*Node { - if x != nil { - return x.IndexParams +func (x *RoleSpec) Reset() { + *x = RoleSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *IndexStmt) GetIndexIncludingParams() []*Node { - if x != nil { - return x.IndexIncludingParams - } - return nil +func (x *RoleSpec) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *IndexStmt) GetOptions() []*Node { - if x != nil { - return x.Options +func (*RoleSpec) ProtoMessage() {} + +func (x *RoleSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *IndexStmt) GetWhereClause() *Node { - if x != nil { - return x.WhereClause - } - return nil +// Deprecated: Use RoleSpec.ProtoReflect.Descriptor instead. +func (*RoleSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{82} } -func (x *IndexStmt) GetExcludeOpNames() []*Node { +func (x *RoleSpec) GetRoletype() RoleSpecType { if x != nil { - return x.ExcludeOpNames + return x.Roletype } - return nil + return RoleSpecType_ROLE_SPEC_TYPE_UNDEFINED } -func (x *IndexStmt) GetIdxcomment() string { +func (x *RoleSpec) GetRolename() string { if x != nil { - return x.Idxcomment + return x.Rolename } return "" } -func (x *IndexStmt) GetIndexOid() uint32 { +func (x *RoleSpec) GetLocation() int32 { if x != nil { - return x.IndexOid + return x.Location } return 0 } -func (x *IndexStmt) GetOldNode() uint32 { - if x != nil { - return x.OldNode +type FuncCall struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Funcname []*Node `protobuf:"bytes,1,rep,name=funcname,proto3" json:"funcname,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` + AggFilter *Node `protobuf:"bytes,4,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` + Over *WindowDef `protobuf:"bytes,5,opt,name=over,proto3" json:"over,omitempty"` + AggWithinGroup bool `protobuf:"varint,6,opt,name=agg_within_group,proto3" json:"agg_within_group,omitempty"` + AggStar bool `protobuf:"varint,7,opt,name=agg_star,proto3" json:"agg_star,omitempty"` + AggDistinct bool `protobuf:"varint,8,opt,name=agg_distinct,proto3" json:"agg_distinct,omitempty"` + FuncVariadic bool `protobuf:"varint,9,opt,name=func_variadic,proto3" json:"func_variadic,omitempty"` + Funcformat CoercionForm `protobuf:"varint,10,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *FuncCall) Reset() { + *x = FuncCall{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *IndexStmt) GetOldCreateSubid() uint32 { - if x != nil { - return x.OldCreateSubid +func (x *FuncCall) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FuncCall) ProtoMessage() {} + +func (x *FuncCall) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) +} + +// Deprecated: Use FuncCall.ProtoReflect.Descriptor instead. +func (*FuncCall) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{83} } -func (x *IndexStmt) GetOldFirstRelfilenodeSubid() uint32 { +func (x *FuncCall) GetFuncname() []*Node { if x != nil { - return x.OldFirstRelfilenodeSubid + return x.Funcname } - return 0 + return nil } -func (x *IndexStmt) GetUnique() bool { +func (x *FuncCall) GetArgs() []*Node { if x != nil { - return x.Unique + return x.Args } - return false + return nil } -func (x *IndexStmt) GetNullsNotDistinct() bool { +func (x *FuncCall) GetAggOrder() []*Node { if x != nil { - return x.NullsNotDistinct + return x.AggOrder } - return false + return nil } -func (x *IndexStmt) GetPrimary() bool { +func (x *FuncCall) GetAggFilter() *Node { if x != nil { - return x.Primary + return x.AggFilter } - return false + return nil } -func (x *IndexStmt) GetIsconstraint() bool { +func (x *FuncCall) GetOver() *WindowDef { if x != nil { - return x.Isconstraint + return x.Over } - return false + return nil } -func (x *IndexStmt) GetDeferrable() bool { +func (x *FuncCall) GetAggWithinGroup() bool { if x != nil { - return x.Deferrable + return x.AggWithinGroup } return false } -func (x *IndexStmt) GetInitdeferred() bool { +func (x *FuncCall) GetAggStar() bool { if x != nil { - return x.Initdeferred + return x.AggStar } return false } -func (x *IndexStmt) GetTransformed() bool { +func (x *FuncCall) GetAggDistinct() bool { if x != nil { - return x.Transformed + return x.AggDistinct } return false } -func (x *IndexStmt) GetConcurrent() bool { +func (x *FuncCall) GetFuncVariadic() bool { if x != nil { - return x.Concurrent + return x.FuncVariadic } return false } -func (x *IndexStmt) GetIfNotExists() bool { +func (x *FuncCall) GetFuncformat() CoercionForm { if x != nil { - return x.IfNotExists + return x.Funcformat } - return false + return CoercionForm_COERCION_FORM_UNDEFINED } -func (x *IndexStmt) GetResetDefaultTblspc() bool { +func (x *FuncCall) GetLocation() int32 { if x != nil { - return x.ResetDefaultTblspc + return x.Location } - return false + return 0 } -type CreateFunctionStmt struct { +type A_Star struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - IsProcedure bool `protobuf:"varint,1,opt,name=is_procedure,proto3" json:"is_procedure,omitempty"` - Replace bool `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"` - Funcname []*Node `protobuf:"bytes,3,rep,name=funcname,proto3" json:"funcname,omitempty"` - Parameters []*Node `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` - ReturnType *TypeName `protobuf:"bytes,5,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` - SqlBody *Node `protobuf:"bytes,7,opt,name=sql_body,proto3" json:"sql_body,omitempty"` } -func (x *CreateFunctionStmt) Reset() { - *x = CreateFunctionStmt{} +func (x *A_Star) Reset() { + *x = A_Star{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[89] + mi := &file_pg_query_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateFunctionStmt) String() string { +func (x *A_Star) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFunctionStmt) ProtoMessage() {} +func (*A_Star) ProtoMessage() {} -func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[89] +func (x *A_Star) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16793,87 +17294,100 @@ func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFunctionStmt.ProtoReflect.Descriptor instead. -func (*CreateFunctionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{89} +// Deprecated: Use A_Star.ProtoReflect.Descriptor instead. +func (*A_Star) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{84} } -func (x *CreateFunctionStmt) GetIsProcedure() bool { - if x != nil { - return x.IsProcedure - } - return false -} +type A_Indices struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *CreateFunctionStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false + IsSlice bool `protobuf:"varint,1,opt,name=is_slice,proto3" json:"is_slice,omitempty"` + Lidx *Node `protobuf:"bytes,2,opt,name=lidx,proto3" json:"lidx,omitempty"` + Uidx *Node `protobuf:"bytes,3,opt,name=uidx,proto3" json:"uidx,omitempty"` } -func (x *CreateFunctionStmt) GetFuncname() []*Node { - if x != nil { - return x.Funcname +func (x *A_Indices) Reset() { + *x = A_Indices{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *CreateFunctionStmt) GetParameters() []*Node { - if x != nil { - return x.Parameters +func (x *A_Indices) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*A_Indices) ProtoMessage() {} + +func (x *A_Indices) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *CreateFunctionStmt) GetReturnType() *TypeName { +// Deprecated: Use A_Indices.ProtoReflect.Descriptor instead. +func (*A_Indices) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{85} +} + +func (x *A_Indices) GetIsSlice() bool { if x != nil { - return x.ReturnType + return x.IsSlice } - return nil + return false } -func (x *CreateFunctionStmt) GetOptions() []*Node { +func (x *A_Indices) GetLidx() *Node { if x != nil { - return x.Options + return x.Lidx } return nil } -func (x *CreateFunctionStmt) GetSqlBody() *Node { +func (x *A_Indices) GetUidx() *Node { if x != nil { - return x.SqlBody + return x.Uidx } return nil } -type AlterFunctionStmt struct { +type A_Indirection struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Func *ObjectWithArgs `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` - Actions []*Node `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` + Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` } -func (x *AlterFunctionStmt) Reset() { - *x = AlterFunctionStmt{} +func (x *A_Indirection) Reset() { + *x = A_Indirection{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[90] + mi := &file_pg_query_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterFunctionStmt) String() string { +func (x *A_Indirection) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterFunctionStmt) ProtoMessage() {} +func (*A_Indirection) ProtoMessage() {} -func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[90] +func (x *A_Indirection) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16884,57 +17398,51 @@ func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterFunctionStmt.ProtoReflect.Descriptor instead. -func (*AlterFunctionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{90} -} - -func (x *AlterFunctionStmt) GetObjtype() ObjectType { - if x != nil { - return x.Objtype - } - return ObjectType_OBJECT_TYPE_UNDEFINED +// Deprecated: Use A_Indirection.ProtoReflect.Descriptor instead. +func (*A_Indirection) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{86} } -func (x *AlterFunctionStmt) GetFunc() *ObjectWithArgs { +func (x *A_Indirection) GetArg() *Node { if x != nil { - return x.Func + return x.Arg } return nil } -func (x *AlterFunctionStmt) GetActions() []*Node { +func (x *A_Indirection) GetIndirection() []*Node { if x != nil { - return x.Actions + return x.Indirection } return nil } -type DoStmt struct { +type A_ArrayExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Args []*Node `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` + Elements []*Node `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` + Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DoStmt) Reset() { - *x = DoStmt{} +func (x *A_ArrayExpr) Reset() { + *x = A_ArrayExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[91] + mi := &file_pg_query_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DoStmt) String() string { +func (x *A_ArrayExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DoStmt) ProtoMessage() {} +func (*A_ArrayExpr) ProtoMessage() {} -func (x *DoStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[91] +func (x *A_ArrayExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16945,50 +17453,53 @@ func (x *DoStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DoStmt.ProtoReflect.Descriptor instead. -func (*DoStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{91} +// Deprecated: Use A_ArrayExpr.ProtoReflect.Descriptor instead. +func (*A_ArrayExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{87} } -func (x *DoStmt) GetArgs() []*Node { +func (x *A_ArrayExpr) GetElements() []*Node { if x != nil { - return x.Args + return x.Elements } return nil } -type RenameStmt struct { +func (x *A_ArrayExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type ResTarget struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - RenameType ObjectType `protobuf:"varint,1,opt,name=rename_type,json=renameType,proto3,enum=pg_query.ObjectType" json:"rename_type,omitempty"` - RelationType ObjectType `protobuf:"varint,2,opt,name=relation_type,json=relationType,proto3,enum=pg_query.ObjectType" json:"relation_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` - Subname string `protobuf:"bytes,5,opt,name=subname,proto3" json:"subname,omitempty"` - Newname string `protobuf:"bytes,6,opt,name=newname,proto3" json:"newname,omitempty"` - Behavior DropBehavior `protobuf:"varint,7,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` - MissingOk bool `protobuf:"varint,8,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` + Val *Node `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *RenameStmt) Reset() { - *x = RenameStmt{} +func (x *ResTarget) Reset() { + *x = ResTarget{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[92] + mi := &file_pg_query_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RenameStmt) String() string { +func (x *ResTarget) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RenameStmt) ProtoMessage() {} +func (*ResTarget) ProtoMessage() {} -func (x *RenameStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[92] +func (x *ResTarget) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16999,98 +17510,66 @@ func (x *RenameStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RenameStmt.ProtoReflect.Descriptor instead. -func (*RenameStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{92} -} - -func (x *RenameStmt) GetRenameType() ObjectType { - if x != nil { - return x.RenameType - } - return ObjectType_OBJECT_TYPE_UNDEFINED +// Deprecated: Use ResTarget.ProtoReflect.Descriptor instead. +func (*ResTarget) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{88} } -func (x *RenameStmt) GetRelationType() ObjectType { +func (x *ResTarget) GetName() string { if x != nil { - return x.RelationType + return x.Name } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *RenameStmt) GetRelation() *RangeVar { +func (x *ResTarget) GetIndirection() []*Node { if x != nil { - return x.Relation + return x.Indirection } return nil } -func (x *RenameStmt) GetObject() *Node { +func (x *ResTarget) GetVal() *Node { if x != nil { - return x.Object + return x.Val } return nil } -func (x *RenameStmt) GetSubname() string { - if x != nil { - return x.Subname - } - return "" -} - -func (x *RenameStmt) GetNewname() string { - if x != nil { - return x.Newname - } - return "" -} - -func (x *RenameStmt) GetBehavior() DropBehavior { - if x != nil { - return x.Behavior - } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED -} - -func (x *RenameStmt) GetMissingOk() bool { +func (x *ResTarget) GetLocation() int32 { if x != nil { - return x.MissingOk + return x.Location } - return false + return 0 } -type RuleStmt struct { +type MultiAssignRef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Rulename string `protobuf:"bytes,2,opt,name=rulename,proto3" json:"rulename,omitempty"` - WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Event CmdType `protobuf:"varint,4,opt,name=event,proto3,enum=pg_query.CmdType" json:"event,omitempty"` - Instead bool `protobuf:"varint,5,opt,name=instead,proto3" json:"instead,omitempty"` - Actions []*Node `protobuf:"bytes,6,rep,name=actions,proto3" json:"actions,omitempty"` - Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` + Source *Node `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + Colno int32 `protobuf:"varint,2,opt,name=colno,proto3" json:"colno,omitempty"` + Ncolumns int32 `protobuf:"varint,3,opt,name=ncolumns,proto3" json:"ncolumns,omitempty"` } -func (x *RuleStmt) Reset() { - *x = RuleStmt{} +func (x *MultiAssignRef) Reset() { + *x = MultiAssignRef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[93] + mi := &file_pg_query_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RuleStmt) String() string { +func (x *MultiAssignRef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RuleStmt) ProtoMessage() {} +func (*MultiAssignRef) ProtoMessage() {} -func (x *RuleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[93] +func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17101,86 +17580,143 @@ func (x *RuleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RuleStmt.ProtoReflect.Descriptor instead. -func (*RuleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{93} +// Deprecated: Use MultiAssignRef.ProtoReflect.Descriptor instead. +func (*MultiAssignRef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{89} } -func (x *RuleStmt) GetRelation() *RangeVar { +func (x *MultiAssignRef) GetSource() *Node { if x != nil { - return x.Relation + return x.Source } return nil } -func (x *RuleStmt) GetRulename() string { +func (x *MultiAssignRef) GetColno() int32 { if x != nil { - return x.Rulename + return x.Colno } - return "" + return 0 } -func (x *RuleStmt) GetWhereClause() *Node { +func (x *MultiAssignRef) GetNcolumns() int32 { if x != nil { - return x.WhereClause + return x.Ncolumns } - return nil + return 0 } -func (x *RuleStmt) GetEvent() CmdType { +type SortBy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + SortbyDir SortByDir `protobuf:"varint,2,opt,name=sortby_dir,proto3,enum=pg_query.SortByDir" json:"sortby_dir,omitempty"` + SortbyNulls SortByNulls `protobuf:"varint,3,opt,name=sortby_nulls,proto3,enum=pg_query.SortByNulls" json:"sortby_nulls,omitempty"` + UseOp []*Node `protobuf:"bytes,4,rep,name=use_op,json=useOp,proto3" json:"use_op,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *SortBy) Reset() { + *x = SortBy{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SortBy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SortBy) ProtoMessage() {} + +func (x *SortBy) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SortBy.ProtoReflect.Descriptor instead. +func (*SortBy) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{90} +} + +func (x *SortBy) GetNode() *Node { if x != nil { - return x.Event + return x.Node } - return CmdType_CMD_TYPE_UNDEFINED + return nil } -func (x *RuleStmt) GetInstead() bool { +func (x *SortBy) GetSortbyDir() SortByDir { if x != nil { - return x.Instead + return x.SortbyDir } - return false + return SortByDir_SORT_BY_DIR_UNDEFINED } -func (x *RuleStmt) GetActions() []*Node { +func (x *SortBy) GetSortbyNulls() SortByNulls { if x != nil { - return x.Actions + return x.SortbyNulls + } + return SortByNulls_SORT_BY_NULLS_UNDEFINED +} + +func (x *SortBy) GetUseOp() []*Node { + if x != nil { + return x.UseOp } return nil } -func (x *RuleStmt) GetReplace() bool { +func (x *SortBy) GetLocation() int32 { if x != nil { - return x.Replace + return x.Location } - return false + return 0 } -type NotifyStmt struct { +type WindowDef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` - Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` + PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` + OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` + FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` + StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` + EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *NotifyStmt) Reset() { - *x = NotifyStmt{} +func (x *WindowDef) Reset() { + *x = WindowDef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[94] + mi := &file_pg_query_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NotifyStmt) String() string { +func (x *WindowDef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NotifyStmt) ProtoMessage() {} +func (*WindowDef) ProtoMessage() {} -func (x *NotifyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[94] +func (x *WindowDef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17191,97 +17727,94 @@ func (x *NotifyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NotifyStmt.ProtoReflect.Descriptor instead. -func (*NotifyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{94} +// Deprecated: Use WindowDef.ProtoReflect.Descriptor instead. +func (*WindowDef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{91} } -func (x *NotifyStmt) GetConditionname() string { +func (x *WindowDef) GetName() string { if x != nil { - return x.Conditionname + return x.Name } return "" } -func (x *NotifyStmt) GetPayload() string { +func (x *WindowDef) GetRefname() string { if x != nil { - return x.Payload + return x.Refname } return "" } -type ListenStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` +func (x *WindowDef) GetPartitionClause() []*Node { + if x != nil { + return x.PartitionClause + } + return nil } -func (x *ListenStmt) Reset() { - *x = ListenStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *WindowDef) GetOrderClause() []*Node { + if x != nil { + return x.OrderClause } + return nil } -func (x *ListenStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *WindowDef) GetFrameOptions() int32 { + if x != nil { + return x.FrameOptions + } + return 0 } -func (*ListenStmt) ProtoMessage() {} - -func (x *ListenStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *WindowDef) GetStartOffset() *Node { + if x != nil { + return x.StartOffset } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ListenStmt.ProtoReflect.Descriptor instead. -func (*ListenStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{95} +func (x *WindowDef) GetEndOffset() *Node { + if x != nil { + return x.EndOffset + } + return nil } -func (x *ListenStmt) GetConditionname() string { +func (x *WindowDef) GetLocation() int32 { if x != nil { - return x.Conditionname + return x.Location } - return "" + return 0 } -type UnlistenStmt struct { +type RangeSubselect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Subquery *Node `protobuf:"bytes,2,opt,name=subquery,proto3" json:"subquery,omitempty"` + Alias *Alias `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` } -func (x *UnlistenStmt) Reset() { - *x = UnlistenStmt{} +func (x *RangeSubselect) Reset() { + *x = RangeSubselect{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[96] + mi := &file_pg_query_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UnlistenStmt) String() string { +func (x *RangeSubselect) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UnlistenStmt) ProtoMessage() {} +func (*RangeSubselect) ProtoMessage() {} -func (x *UnlistenStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[96] +func (x *RangeSubselect) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17292,47 +17825,62 @@ func (x *UnlistenStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UnlistenStmt.ProtoReflect.Descriptor instead. -func (*UnlistenStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{96} +// Deprecated: Use RangeSubselect.ProtoReflect.Descriptor instead. +func (*RangeSubselect) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{92} } -func (x *UnlistenStmt) GetConditionname() string { +func (x *RangeSubselect) GetLateral() bool { if x != nil { - return x.Conditionname + return x.Lateral } - return "" + return false } -type TransactionStmt struct { +func (x *RangeSubselect) GetSubquery() *Node { + if x != nil { + return x.Subquery + } + return nil +} + +func (x *RangeSubselect) GetAlias() *Alias { + if x != nil { + return x.Alias + } + return nil +} + +type RangeFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind TransactionStmtKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.TransactionStmtKind" json:"kind,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - SavepointName string `protobuf:"bytes,3,opt,name=savepoint_name,proto3" json:"savepoint_name,omitempty"` - Gid string `protobuf:"bytes,4,opt,name=gid,proto3" json:"gid,omitempty"` - Chain bool `protobuf:"varint,5,opt,name=chain,proto3" json:"chain,omitempty"` + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Ordinality bool `protobuf:"varint,2,opt,name=ordinality,proto3" json:"ordinality,omitempty"` + IsRowsfrom bool `protobuf:"varint,3,opt,name=is_rowsfrom,proto3" json:"is_rowsfrom,omitempty"` + Functions []*Node `protobuf:"bytes,4,rep,name=functions,proto3" json:"functions,omitempty"` + Alias *Alias `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"` + Coldeflist []*Node `protobuf:"bytes,6,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` } -func (x *TransactionStmt) Reset() { - *x = TransactionStmt{} +func (x *RangeFunction) Reset() { + *x = RangeFunction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[97] + mi := &file_pg_query_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TransactionStmt) String() string { +func (x *RangeFunction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TransactionStmt) ProtoMessage() {} +func (*RangeFunction) ProtoMessage() {} -func (x *TransactionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[97] +func (x *RangeFunction) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17343,76 +17891,84 @@ func (x *TransactionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TransactionStmt.ProtoReflect.Descriptor instead. -func (*TransactionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{97} +// Deprecated: Use RangeFunction.ProtoReflect.Descriptor instead. +func (*RangeFunction) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{93} } -func (x *TransactionStmt) GetKind() TransactionStmtKind { +func (x *RangeFunction) GetLateral() bool { if x != nil { - return x.Kind + return x.Lateral } - return TransactionStmtKind_TRANSACTION_STMT_KIND_UNDEFINED + return false } -func (x *TransactionStmt) GetOptions() []*Node { +func (x *RangeFunction) GetOrdinality() bool { if x != nil { - return x.Options + return x.Ordinality } - return nil + return false } -func (x *TransactionStmt) GetSavepointName() string { +func (x *RangeFunction) GetIsRowsfrom() bool { if x != nil { - return x.SavepointName + return x.IsRowsfrom } - return "" + return false } -func (x *TransactionStmt) GetGid() string { +func (x *RangeFunction) GetFunctions() []*Node { if x != nil { - return x.Gid + return x.Functions } - return "" + return nil } -func (x *TransactionStmt) GetChain() bool { +func (x *RangeFunction) GetAlias() *Alias { if x != nil { - return x.Chain + return x.Alias } - return false + return nil } -type ViewStmt struct { +func (x *RangeFunction) GetColdeflist() []*Node { + if x != nil { + return x.Coldeflist + } + return nil +} + +type RangeTableFunc struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - View *RangeVar `protobuf:"bytes,1,opt,name=view,proto3" json:"view,omitempty"` - Aliases []*Node `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` - Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"` - Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` - WithCheckOption ViewCheckOption `protobuf:"varint,6,opt,name=with_check_option,json=withCheckOption,proto3,enum=pg_query.ViewCheckOption" json:"with_check_option,omitempty"` + Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` + Docexpr *Node `protobuf:"bytes,2,opt,name=docexpr,proto3" json:"docexpr,omitempty"` + Rowexpr *Node `protobuf:"bytes,3,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` + Namespaces []*Node `protobuf:"bytes,4,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + Columns []*Node `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"` + Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ViewStmt) Reset() { - *x = ViewStmt{} +func (x *RangeTableFunc) Reset() { + *x = RangeTableFunc{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[98] + mi := &file_pg_query_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ViewStmt) String() string { +func (x *RangeTableFunc) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ViewStmt) ProtoMessage() {} +func (*RangeTableFunc) ProtoMessage() {} -func (x *ViewStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[98] +func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17423,78 +17979,91 @@ func (x *ViewStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ViewStmt.ProtoReflect.Descriptor instead. -func (*ViewStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{98} +// Deprecated: Use RangeTableFunc.ProtoReflect.Descriptor instead. +func (*RangeTableFunc) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{94} } -func (x *ViewStmt) GetView() *RangeVar { +func (x *RangeTableFunc) GetLateral() bool { if x != nil { - return x.View + return x.Lateral + } + return false +} + +func (x *RangeTableFunc) GetDocexpr() *Node { + if x != nil { + return x.Docexpr } return nil } -func (x *ViewStmt) GetAliases() []*Node { +func (x *RangeTableFunc) GetRowexpr() *Node { if x != nil { - return x.Aliases + return x.Rowexpr } return nil } -func (x *ViewStmt) GetQuery() *Node { +func (x *RangeTableFunc) GetNamespaces() []*Node { if x != nil { - return x.Query + return x.Namespaces } return nil } -func (x *ViewStmt) GetReplace() bool { +func (x *RangeTableFunc) GetColumns() []*Node { if x != nil { - return x.Replace + return x.Columns } - return false + return nil } -func (x *ViewStmt) GetOptions() []*Node { +func (x *RangeTableFunc) GetAlias() *Alias { if x != nil { - return x.Options + return x.Alias } return nil } -func (x *ViewStmt) GetWithCheckOption() ViewCheckOption { +func (x *RangeTableFunc) GetLocation() int32 { if x != nil { - return x.WithCheckOption + return x.Location } - return ViewCheckOption_VIEW_CHECK_OPTION_UNDEFINED + return 0 } -type LoadStmt struct { +type RangeTableFuncCol struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` + Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + ForOrdinality bool `protobuf:"varint,3,opt,name=for_ordinality,proto3" json:"for_ordinality,omitempty"` + IsNotNull bool `protobuf:"varint,4,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` + Colexpr *Node `protobuf:"bytes,5,opt,name=colexpr,proto3" json:"colexpr,omitempty"` + Coldefexpr *Node `protobuf:"bytes,6,opt,name=coldefexpr,proto3" json:"coldefexpr,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` } -func (x *LoadStmt) Reset() { - *x = LoadStmt{} +func (x *RangeTableFuncCol) Reset() { + *x = RangeTableFuncCol{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[99] + mi := &file_pg_query_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LoadStmt) String() string { +func (x *RangeTableFuncCol) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LoadStmt) ProtoMessage() {} +func (*RangeTableFuncCol) ProtoMessage() {} -func (x *LoadStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[99] +func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17505,46 +18074,89 @@ func (x *LoadStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LoadStmt.ProtoReflect.Descriptor instead. -func (*LoadStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{99} +// Deprecated: Use RangeTableFuncCol.ProtoReflect.Descriptor instead. +func (*RangeTableFuncCol) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{95} } -func (x *LoadStmt) GetFilename() string { +func (x *RangeTableFuncCol) GetColname() string { if x != nil { - return x.Filename + return x.Colname } return "" } -type CreateDomainStmt struct { +func (x *RangeTableFuncCol) GetTypeName() *TypeName { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *RangeTableFuncCol) GetForOrdinality() bool { + if x != nil { + return x.ForOrdinality + } + return false +} + +func (x *RangeTableFuncCol) GetIsNotNull() bool { + if x != nil { + return x.IsNotNull + } + return false +} + +func (x *RangeTableFuncCol) GetColexpr() *Node { + if x != nil { + return x.Colexpr + } + return nil +} + +func (x *RangeTableFuncCol) GetColdefexpr() *Node { + if x != nil { + return x.Coldefexpr + } + return nil +} + +func (x *RangeTableFuncCol) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type RangeTableSample struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Domainname []*Node `protobuf:"bytes,1,rep,name=domainname,proto3" json:"domainname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - CollClause *CollateClause `protobuf:"bytes,3,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` - Constraints []*Node `protobuf:"bytes,4,rep,name=constraints,proto3" json:"constraints,omitempty"` + Relation *Node `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Method []*Node `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + Repeatable *Node `protobuf:"bytes,4,opt,name=repeatable,proto3" json:"repeatable,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateDomainStmt) Reset() { - *x = CreateDomainStmt{} +func (x *RangeTableSample) Reset() { + *x = RangeTableSample{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[100] + mi := &file_pg_query_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateDomainStmt) String() string { +func (x *RangeTableSample) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateDomainStmt) ProtoMessage() {} +func (*RangeTableSample) ProtoMessage() {} -func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[100] +func (x *RangeTableSample) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17555,65 +18167,89 @@ func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateDomainStmt.ProtoReflect.Descriptor instead. -func (*CreateDomainStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{100} +// Deprecated: Use RangeTableSample.ProtoReflect.Descriptor instead. +func (*RangeTableSample) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{96} } -func (x *CreateDomainStmt) GetDomainname() []*Node { +func (x *RangeTableSample) GetRelation() *Node { if x != nil { - return x.Domainname + return x.Relation } return nil } -func (x *CreateDomainStmt) GetTypeName() *TypeName { +func (x *RangeTableSample) GetMethod() []*Node { if x != nil { - return x.TypeName + return x.Method } return nil } -func (x *CreateDomainStmt) GetCollClause() *CollateClause { +func (x *RangeTableSample) GetArgs() []*Node { if x != nil { - return x.CollClause + return x.Args } return nil } -func (x *CreateDomainStmt) GetConstraints() []*Node { +func (x *RangeTableSample) GetRepeatable() *Node { if x != nil { - return x.Constraints + return x.Repeatable } return nil } -type CreatedbStmt struct { +func (x *RangeTableSample) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type ColumnDef struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Compression string `protobuf:"bytes,3,opt,name=compression,proto3" json:"compression,omitempty"` + Inhcount int32 `protobuf:"varint,4,opt,name=inhcount,proto3" json:"inhcount,omitempty"` + IsLocal bool `protobuf:"varint,5,opt,name=is_local,proto3" json:"is_local,omitempty"` + IsNotNull bool `protobuf:"varint,6,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` + IsFromType bool `protobuf:"varint,7,opt,name=is_from_type,proto3" json:"is_from_type,omitempty"` + Storage string `protobuf:"bytes,8,opt,name=storage,proto3" json:"storage,omitempty"` + StorageName string `protobuf:"bytes,9,opt,name=storage_name,proto3" json:"storage_name,omitempty"` + RawDefault *Node `protobuf:"bytes,10,opt,name=raw_default,proto3" json:"raw_default,omitempty"` + CookedDefault *Node `protobuf:"bytes,11,opt,name=cooked_default,proto3" json:"cooked_default,omitempty"` + Identity string `protobuf:"bytes,12,opt,name=identity,proto3" json:"identity,omitempty"` + IdentitySequence *RangeVar `protobuf:"bytes,13,opt,name=identity_sequence,json=identitySequence,proto3" json:"identity_sequence,omitempty"` + Generated string `protobuf:"bytes,14,opt,name=generated,proto3" json:"generated,omitempty"` + CollClause *CollateClause `protobuf:"bytes,15,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` + CollOid uint32 `protobuf:"varint,16,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` + Constraints []*Node `protobuf:"bytes,17,rep,name=constraints,proto3" json:"constraints,omitempty"` + Fdwoptions []*Node `protobuf:"bytes,18,rep,name=fdwoptions,proto3" json:"fdwoptions,omitempty"` + Location int32 `protobuf:"varint,19,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreatedbStmt) Reset() { - *x = CreatedbStmt{} +func (x *ColumnDef) Reset() { + *x = ColumnDef{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[101] + mi := &file_pg_query_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatedbStmt) String() string { +func (x *ColumnDef) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatedbStmt) ProtoMessage() {} +func (*ColumnDef) ProtoMessage() {} -func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[101] +func (x *ColumnDef) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17624,177 +18260,171 @@ func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatedbStmt.ProtoReflect.Descriptor instead. -func (*CreatedbStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{101} +// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead. +func (*ColumnDef) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{97} } -func (x *CreatedbStmt) GetDbname() string { +func (x *ColumnDef) GetColname() string { if x != nil { - return x.Dbname + return x.Colname } return "" } -func (x *CreatedbStmt) GetOptions() []*Node { +func (x *ColumnDef) GetTypeName() *TypeName { if x != nil { - return x.Options + return x.TypeName } return nil } -type DropdbStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` +func (x *ColumnDef) GetCompression() string { + if x != nil { + return x.Compression + } + return "" } -func (x *DropdbStmt) Reset() { - *x = DropdbStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ColumnDef) GetInhcount() int32 { + if x != nil { + return x.Inhcount } + return 0 } -func (x *DropdbStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ColumnDef) GetIsLocal() bool { + if x != nil { + return x.IsLocal + } + return false } -func (*DropdbStmt) ProtoMessage() {} - -func (x *DropdbStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ColumnDef) GetIsNotNull() bool { + if x != nil { + return x.IsNotNull } - return mi.MessageOf(x) + return false } -// Deprecated: Use DropdbStmt.ProtoReflect.Descriptor instead. -func (*DropdbStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{102} +func (x *ColumnDef) GetIsFromType() bool { + if x != nil { + return x.IsFromType + } + return false } -func (x *DropdbStmt) GetDbname() string { +func (x *ColumnDef) GetStorage() string { if x != nil { - return x.Dbname + return x.Storage } return "" } -func (x *DropdbStmt) GetMissingOk() bool { +func (x *ColumnDef) GetStorageName() string { if x != nil { - return x.MissingOk + return x.StorageName } - return false + return "" } -func (x *DropdbStmt) GetOptions() []*Node { +func (x *ColumnDef) GetRawDefault() *Node { if x != nil { - return x.Options + return x.RawDefault } return nil } -type VacuumStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` - Rels []*Node `protobuf:"bytes,2,rep,name=rels,proto3" json:"rels,omitempty"` - IsVacuumcmd bool `protobuf:"varint,3,opt,name=is_vacuumcmd,proto3" json:"is_vacuumcmd,omitempty"` +func (x *ColumnDef) GetCookedDefault() *Node { + if x != nil { + return x.CookedDefault + } + return nil } -func (x *VacuumStmt) Reset() { - *x = VacuumStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ColumnDef) GetIdentity() string { + if x != nil { + return x.Identity } + return "" } -func (x *VacuumStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ColumnDef) GetIdentitySequence() *RangeVar { + if x != nil { + return x.IdentitySequence + } + return nil } -func (*VacuumStmt) ProtoMessage() {} +func (x *ColumnDef) GetGenerated() string { + if x != nil { + return x.Generated + } + return "" +} -func (x *VacuumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ColumnDef) GetCollClause() *CollateClause { + if x != nil { + return x.CollClause } - return mi.MessageOf(x) + return nil } -// Deprecated: Use VacuumStmt.ProtoReflect.Descriptor instead. -func (*VacuumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{103} +func (x *ColumnDef) GetCollOid() uint32 { + if x != nil { + return x.CollOid + } + return 0 } -func (x *VacuumStmt) GetOptions() []*Node { +func (x *ColumnDef) GetConstraints() []*Node { if x != nil { - return x.Options + return x.Constraints } return nil } -func (x *VacuumStmt) GetRels() []*Node { +func (x *ColumnDef) GetFdwoptions() []*Node { if x != nil { - return x.Rels + return x.Fdwoptions } return nil } -func (x *VacuumStmt) GetIsVacuumcmd() bool { +func (x *ColumnDef) GetLocation() int32 { if x != nil { - return x.IsVacuumcmd + return x.Location } - return false + return 0 } -type ExplainStmt struct { +type TableLikeClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Options uint32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` + RelationOid uint32 `protobuf:"varint,3,opt,name=relation_oid,json=relationOid,proto3" json:"relation_oid,omitempty"` } -func (x *ExplainStmt) Reset() { - *x = ExplainStmt{} +func (x *TableLikeClause) Reset() { + *x = TableLikeClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[104] + mi := &file_pg_query_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExplainStmt) String() string { +func (x *TableLikeClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExplainStmt) ProtoMessage() {} +func (*TableLikeClause) ProtoMessage() {} -func (x *ExplainStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[104] +func (x *TableLikeClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17805,54 +18435,64 @@ func (x *ExplainStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExplainStmt.ProtoReflect.Descriptor instead. -func (*ExplainStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{104} +// Deprecated: Use TableLikeClause.ProtoReflect.Descriptor instead. +func (*TableLikeClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{98} } -func (x *ExplainStmt) GetQuery() *Node { +func (x *TableLikeClause) GetRelation() *RangeVar { if x != nil { - return x.Query + return x.Relation } return nil } -func (x *ExplainStmt) GetOptions() []*Node { +func (x *TableLikeClause) GetOptions() uint32 { if x != nil { return x.Options } - return nil + return 0 } -type CreateTableAsStmt struct { +func (x *TableLikeClause) GetRelationOid() uint32 { + if x != nil { + return x.RelationOid + } + return 0 +} + +type IndexElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` - Into *IntoClause `protobuf:"bytes,2,opt,name=into,proto3" json:"into,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - IsSelectInto bool `protobuf:"varint,4,opt,name=is_select_into,proto3" json:"is_select_into,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Indexcolname string `protobuf:"bytes,3,opt,name=indexcolname,proto3" json:"indexcolname,omitempty"` + Collation []*Node `protobuf:"bytes,4,rep,name=collation,proto3" json:"collation,omitempty"` + Opclass []*Node `protobuf:"bytes,5,rep,name=opclass,proto3" json:"opclass,omitempty"` + Opclassopts []*Node `protobuf:"bytes,6,rep,name=opclassopts,proto3" json:"opclassopts,omitempty"` + Ordering SortByDir `protobuf:"varint,7,opt,name=ordering,proto3,enum=pg_query.SortByDir" json:"ordering,omitempty"` + NullsOrdering SortByNulls `protobuf:"varint,8,opt,name=nulls_ordering,proto3,enum=pg_query.SortByNulls" json:"nulls_ordering,omitempty"` } -func (x *CreateTableAsStmt) Reset() { - *x = CreateTableAsStmt{} +func (x *IndexElem) Reset() { + *x = IndexElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[105] + mi := &file_pg_query_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTableAsStmt) String() string { +func (x *IndexElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTableAsStmt) ProtoMessage() {} +func (*IndexElem) ProtoMessage() {} -func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[105] +func (x *IndexElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17863,75 +18503,96 @@ func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTableAsStmt.ProtoReflect.Descriptor instead. -func (*CreateTableAsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{105} +// Deprecated: Use IndexElem.ProtoReflect.Descriptor instead. +func (*IndexElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{99} } -func (x *CreateTableAsStmt) GetQuery() *Node { +func (x *IndexElem) GetName() string { if x != nil { - return x.Query + return x.Name } - return nil + return "" } -func (x *CreateTableAsStmt) GetInto() *IntoClause { +func (x *IndexElem) GetExpr() *Node { if x != nil { - return x.Into + return x.Expr } return nil } -func (x *CreateTableAsStmt) GetObjtype() ObjectType { +func (x *IndexElem) GetIndexcolname() string { if x != nil { - return x.Objtype + return x.Indexcolname } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *CreateTableAsStmt) GetIsSelectInto() bool { +func (x *IndexElem) GetCollation() []*Node { if x != nil { - return x.IsSelectInto + return x.Collation } - return false + return nil } -func (x *CreateTableAsStmt) GetIfNotExists() bool { +func (x *IndexElem) GetOpclass() []*Node { if x != nil { - return x.IfNotExists + return x.Opclass } - return false + return nil } -type CreateSeqStmt struct { +func (x *IndexElem) GetOpclassopts() []*Node { + if x != nil { + return x.Opclassopts + } + return nil +} + +func (x *IndexElem) GetOrdering() SortByDir { + if x != nil { + return x.Ordering + } + return SortByDir_SORT_BY_DIR_UNDEFINED +} + +func (x *IndexElem) GetNullsOrdering() SortByNulls { + if x != nil { + return x.NullsOrdering + } + return SortByNulls_SORT_BY_NULLS_UNDEFINED +} + +type DefElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - OwnerId uint32 `protobuf:"varint,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` - ForIdentity bool `protobuf:"varint,4,opt,name=for_identity,proto3" json:"for_identity,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Defnamespace string `protobuf:"bytes,1,opt,name=defnamespace,proto3" json:"defnamespace,omitempty"` + Defname string `protobuf:"bytes,2,opt,name=defname,proto3" json:"defname,omitempty"` + Arg *Node `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` + Defaction DefElemAction `protobuf:"varint,4,opt,name=defaction,proto3,enum=pg_query.DefElemAction" json:"defaction,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateSeqStmt) Reset() { - *x = CreateSeqStmt{} +func (x *DefElem) Reset() { + *x = DefElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[106] + mi := &file_pg_query_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSeqStmt) String() string { +func (x *DefElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSeqStmt) ProtoMessage() {} +func (*DefElem) ProtoMessage() {} -func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[106] +func (x *DefElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17942,74 +18603,73 @@ func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSeqStmt.ProtoReflect.Descriptor instead. -func (*CreateSeqStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{106} +// Deprecated: Use DefElem.ProtoReflect.Descriptor instead. +func (*DefElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{100} } -func (x *CreateSeqStmt) GetSequence() *RangeVar { +func (x *DefElem) GetDefnamespace() string { if x != nil { - return x.Sequence + return x.Defnamespace } - return nil + return "" } -func (x *CreateSeqStmt) GetOptions() []*Node { +func (x *DefElem) GetDefname() string { if x != nil { - return x.Options + return x.Defname } - return nil + return "" } -func (x *CreateSeqStmt) GetOwnerId() uint32 { +func (x *DefElem) GetArg() *Node { if x != nil { - return x.OwnerId + return x.Arg } - return 0 + return nil } -func (x *CreateSeqStmt) GetForIdentity() bool { +func (x *DefElem) GetDefaction() DefElemAction { if x != nil { - return x.ForIdentity + return x.Defaction } - return false + return DefElemAction_DEF_ELEM_ACTION_UNDEFINED } -func (x *CreateSeqStmt) GetIfNotExists() bool { +func (x *DefElem) GetLocation() int32 { if x != nil { - return x.IfNotExists + return x.Location } - return false + return 0 } -type AlterSeqStmt struct { +type LockingClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - ForIdentity bool `protobuf:"varint,3,opt,name=for_identity,proto3" json:"for_identity,omitempty"` - MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + LockedRels []*Node `protobuf:"bytes,1,rep,name=locked_rels,json=lockedRels,proto3" json:"locked_rels,omitempty"` + Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` + WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` } -func (x *AlterSeqStmt) Reset() { - *x = AlterSeqStmt{} +func (x *LockingClause) Reset() { + *x = LockingClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[107] + mi := &file_pg_query_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterSeqStmt) String() string { +func (x *LockingClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSeqStmt) ProtoMessage() {} +func (*LockingClause) ProtoMessage() {} -func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[107] +func (x *LockingClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18020,67 +18680,61 @@ func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSeqStmt.ProtoReflect.Descriptor instead. -func (*AlterSeqStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{107} -} - -func (x *AlterSeqStmt) GetSequence() *RangeVar { - if x != nil { - return x.Sequence - } - return nil +// Deprecated: Use LockingClause.ProtoReflect.Descriptor instead. +func (*LockingClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{101} } -func (x *AlterSeqStmt) GetOptions() []*Node { +func (x *LockingClause) GetLockedRels() []*Node { if x != nil { - return x.Options + return x.LockedRels } return nil } -func (x *AlterSeqStmt) GetForIdentity() bool { +func (x *LockingClause) GetStrength() LockClauseStrength { if x != nil { - return x.ForIdentity + return x.Strength } - return false + return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED } -func (x *AlterSeqStmt) GetMissingOk() bool { +func (x *LockingClause) GetWaitPolicy() LockWaitPolicy { if x != nil { - return x.MissingOk + return x.WaitPolicy } - return false + return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED } -type VariableSetStmt struct { +type XmlSerialize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind VariableSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.VariableSetKind" json:"kind,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - IsLocal bool `protobuf:"varint,4,opt,name=is_local,proto3" json:"is_local,omitempty"` + Xmloption XmlOptionType `protobuf:"varint,1,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Indent bool `protobuf:"varint,4,opt,name=indent,proto3" json:"indent,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *VariableSetStmt) Reset() { - *x = VariableSetStmt{} +func (x *XmlSerialize) Reset() { + *x = XmlSerialize{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[108] + mi := &file_pg_query_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VariableSetStmt) String() string { +func (x *XmlSerialize) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VariableSetStmt) ProtoMessage() {} +func (*XmlSerialize) ProtoMessage() {} -func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[108] +func (x *XmlSerialize) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18091,64 +18745,75 @@ func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VariableSetStmt.ProtoReflect.Descriptor instead. -func (*VariableSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{108} +// Deprecated: Use XmlSerialize.ProtoReflect.Descriptor instead. +func (*XmlSerialize) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{102} } -func (x *VariableSetStmt) GetKind() VariableSetKind { +func (x *XmlSerialize) GetXmloption() XmlOptionType { if x != nil { - return x.Kind + return x.Xmloption } - return VariableSetKind_VARIABLE_SET_KIND_UNDEFINED + return XmlOptionType_XML_OPTION_TYPE_UNDEFINED } -func (x *VariableSetStmt) GetName() string { +func (x *XmlSerialize) GetExpr() *Node { if x != nil { - return x.Name + return x.Expr } - return "" + return nil } -func (x *VariableSetStmt) GetArgs() []*Node { +func (x *XmlSerialize) GetTypeName() *TypeName { if x != nil { - return x.Args + return x.TypeName } return nil } -func (x *VariableSetStmt) GetIsLocal() bool { +func (x *XmlSerialize) GetIndent() bool { if x != nil { - return x.IsLocal + return x.Indent } return false } -type VariableShowStmt struct { +func (x *XmlSerialize) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type PartitionElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + Collation []*Node `protobuf:"bytes,3,rep,name=collation,proto3" json:"collation,omitempty"` + Opclass []*Node `protobuf:"bytes,4,rep,name=opclass,proto3" json:"opclass,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *VariableShowStmt) Reset() { - *x = VariableShowStmt{} +func (x *PartitionElem) Reset() { + *x = PartitionElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[109] + mi := &file_pg_query_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VariableShowStmt) String() string { +func (x *PartitionElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VariableShowStmt) ProtoMessage() {} +func (*PartitionElem) ProtoMessage() {} -func (x *VariableShowStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[109] +func (x *PartitionElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18159,43 +18824,73 @@ func (x *VariableShowStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VariableShowStmt.ProtoReflect.Descriptor instead. -func (*VariableShowStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{109} +// Deprecated: Use PartitionElem.ProtoReflect.Descriptor instead. +func (*PartitionElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{103} } -func (x *VariableShowStmt) GetName() string { +func (x *PartitionElem) GetName() string { if x != nil { return x.Name } return "" } -type DiscardStmt struct { +func (x *PartitionElem) GetExpr() *Node { + if x != nil { + return x.Expr + } + return nil +} + +func (x *PartitionElem) GetCollation() []*Node { + if x != nil { + return x.Collation + } + return nil +} + +func (x *PartitionElem) GetOpclass() []*Node { + if x != nil { + return x.Opclass + } + return nil +} + +func (x *PartitionElem) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type PartitionSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Target DiscardMode `protobuf:"varint,1,opt,name=target,proto3,enum=pg_query.DiscardMode" json:"target,omitempty"` + Strategy PartitionStrategy `protobuf:"varint,1,opt,name=strategy,proto3,enum=pg_query.PartitionStrategy" json:"strategy,omitempty"` + PartParams []*Node `protobuf:"bytes,2,rep,name=part_params,json=partParams,proto3" json:"part_params,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DiscardStmt) Reset() { - *x = DiscardStmt{} +func (x *PartitionSpec) Reset() { + *x = PartitionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[110] + mi := &file_pg_query_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DiscardStmt) String() string { +func (x *PartitionSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DiscardStmt) ProtoMessage() {} +func (*PartitionSpec) ProtoMessage() {} -func (x *DiscardStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[110] +func (x *PartitionSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18206,57 +18901,64 @@ func (x *DiscardStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DiscardStmt.ProtoReflect.Descriptor instead. -func (*DiscardStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{110} +// Deprecated: Use PartitionSpec.ProtoReflect.Descriptor instead. +func (*PartitionSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{104} } -func (x *DiscardStmt) GetTarget() DiscardMode { +func (x *PartitionSpec) GetStrategy() PartitionStrategy { if x != nil { - return x.Target + return x.Strategy } - return DiscardMode_DISCARD_MODE_UNDEFINED + return PartitionStrategy_PARTITION_STRATEGY_UNDEFINED } -type CreateTrigStmt struct { +func (x *PartitionSpec) GetPartParams() []*Node { + if x != nil { + return x.PartParams + } + return nil +} + +func (x *PartitionSpec) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type PartitionBoundSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - Isconstraint bool `protobuf:"varint,2,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` - Trigname string `protobuf:"bytes,3,opt,name=trigname,proto3" json:"trigname,omitempty"` - Relation *RangeVar `protobuf:"bytes,4,opt,name=relation,proto3" json:"relation,omitempty"` - Funcname []*Node `protobuf:"bytes,5,rep,name=funcname,proto3" json:"funcname,omitempty"` - Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` - Row bool `protobuf:"varint,7,opt,name=row,proto3" json:"row,omitempty"` - Timing int32 `protobuf:"varint,8,opt,name=timing,proto3" json:"timing,omitempty"` - Events int32 `protobuf:"varint,9,opt,name=events,proto3" json:"events,omitempty"` - Columns []*Node `protobuf:"bytes,10,rep,name=columns,proto3" json:"columns,omitempty"` - WhenClause *Node `protobuf:"bytes,11,opt,name=when_clause,json=whenClause,proto3" json:"when_clause,omitempty"` - TransitionRels []*Node `protobuf:"bytes,12,rep,name=transition_rels,json=transitionRels,proto3" json:"transition_rels,omitempty"` - Deferrable bool `protobuf:"varint,13,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,14,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Constrrel *RangeVar `protobuf:"bytes,15,opt,name=constrrel,proto3" json:"constrrel,omitempty"` + Strategy string `protobuf:"bytes,1,opt,name=strategy,proto3" json:"strategy,omitempty"` + IsDefault bool `protobuf:"varint,2,opt,name=is_default,proto3" json:"is_default,omitempty"` + Modulus int32 `protobuf:"varint,3,opt,name=modulus,proto3" json:"modulus,omitempty"` + Remainder int32 `protobuf:"varint,4,opt,name=remainder,proto3" json:"remainder,omitempty"` + Listdatums []*Node `protobuf:"bytes,5,rep,name=listdatums,proto3" json:"listdatums,omitempty"` + Lowerdatums []*Node `protobuf:"bytes,6,rep,name=lowerdatums,proto3" json:"lowerdatums,omitempty"` + Upperdatums []*Node `protobuf:"bytes,7,rep,name=upperdatums,proto3" json:"upperdatums,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateTrigStmt) Reset() { - *x = CreateTrigStmt{} +func (x *PartitionBoundSpec) Reset() { + *x = PartitionBoundSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[111] + mi := &file_pg_query_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTrigStmt) String() string { +func (x *PartitionBoundSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTrigStmt) ProtoMessage() {} +func (*PartitionBoundSpec) ProtoMessage() {} -func (x *CreateTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[111] +func (x *PartitionBoundSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18267,146 +18969,94 @@ func (x *CreateTrigStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTrigStmt.ProtoReflect.Descriptor instead. -func (*CreateTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{111} -} - -func (x *CreateTrigStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false -} - -func (x *CreateTrigStmt) GetIsconstraint() bool { - if x != nil { - return x.Isconstraint - } - return false +// Deprecated: Use PartitionBoundSpec.ProtoReflect.Descriptor instead. +func (*PartitionBoundSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{105} } -func (x *CreateTrigStmt) GetTrigname() string { +func (x *PartitionBoundSpec) GetStrategy() string { if x != nil { - return x.Trigname + return x.Strategy } return "" } -func (x *CreateTrigStmt) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *CreateTrigStmt) GetFuncname() []*Node { - if x != nil { - return x.Funcname - } - return nil -} - -func (x *CreateTrigStmt) GetArgs() []*Node { - if x != nil { - return x.Args - } - return nil -} - -func (x *CreateTrigStmt) GetRow() bool { +func (x *PartitionBoundSpec) GetIsDefault() bool { if x != nil { - return x.Row + return x.IsDefault } return false } -func (x *CreateTrigStmt) GetTiming() int32 { +func (x *PartitionBoundSpec) GetModulus() int32 { if x != nil { - return x.Timing + return x.Modulus } return 0 } -func (x *CreateTrigStmt) GetEvents() int32 { +func (x *PartitionBoundSpec) GetRemainder() int32 { if x != nil { - return x.Events + return x.Remainder } return 0 } -func (x *CreateTrigStmt) GetColumns() []*Node { +func (x *PartitionBoundSpec) GetListdatums() []*Node { if x != nil { - return x.Columns + return x.Listdatums } return nil } -func (x *CreateTrigStmt) GetWhenClause() *Node { +func (x *PartitionBoundSpec) GetLowerdatums() []*Node { if x != nil { - return x.WhenClause + return x.Lowerdatums } return nil } -func (x *CreateTrigStmt) GetTransitionRels() []*Node { +func (x *PartitionBoundSpec) GetUpperdatums() []*Node { if x != nil { - return x.TransitionRels + return x.Upperdatums } return nil } -func (x *CreateTrigStmt) GetDeferrable() bool { - if x != nil { - return x.Deferrable - } - return false -} - -func (x *CreateTrigStmt) GetInitdeferred() bool { - if x != nil { - return x.Initdeferred - } - return false -} - -func (x *CreateTrigStmt) GetConstrrel() *RangeVar { +func (x *PartitionBoundSpec) GetLocation() int32 { if x != nil { - return x.Constrrel + return x.Location } - return nil + return 0 } -type CreatePLangStmt struct { +type PartitionRangeDatum struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - Plname string `protobuf:"bytes,2,opt,name=plname,proto3" json:"plname,omitempty"` - Plhandler []*Node `protobuf:"bytes,3,rep,name=plhandler,proto3" json:"plhandler,omitempty"` - Plinline []*Node `protobuf:"bytes,4,rep,name=plinline,proto3" json:"plinline,omitempty"` - Plvalidator []*Node `protobuf:"bytes,5,rep,name=plvalidator,proto3" json:"plvalidator,omitempty"` - Pltrusted bool `protobuf:"varint,6,opt,name=pltrusted,proto3" json:"pltrusted,omitempty"` + Kind PartitionRangeDatumKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.PartitionRangeDatumKind" json:"kind,omitempty"` + Value *Node `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreatePLangStmt) Reset() { - *x = CreatePLangStmt{} +func (x *PartitionRangeDatum) Reset() { + *x = PartitionRangeDatum{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[112] + mi := &file_pg_query_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePLangStmt) String() string { +func (x *PartitionRangeDatum) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePLangStmt) ProtoMessage() {} +func (*PartitionRangeDatum) ProtoMessage() {} -func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[112] +func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18417,80 +19067,55 @@ func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePLangStmt.ProtoReflect.Descriptor instead. -func (*CreatePLangStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{112} -} - -func (x *CreatePLangStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false -} - -func (x *CreatePLangStmt) GetPlname() string { - if x != nil { - return x.Plname - } - return "" -} - -func (x *CreatePLangStmt) GetPlhandler() []*Node { - if x != nil { - return x.Plhandler - } - return nil +// Deprecated: Use PartitionRangeDatum.ProtoReflect.Descriptor instead. +func (*PartitionRangeDatum) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{106} } -func (x *CreatePLangStmt) GetPlinline() []*Node { +func (x *PartitionRangeDatum) GetKind() PartitionRangeDatumKind { if x != nil { - return x.Plinline + return x.Kind } - return nil + return PartitionRangeDatumKind_PARTITION_RANGE_DATUM_KIND_UNDEFINED } -func (x *CreatePLangStmt) GetPlvalidator() []*Node { +func (x *PartitionRangeDatum) GetValue() *Node { if x != nil { - return x.Plvalidator + return x.Value } return nil } -func (x *CreatePLangStmt) GetPltrusted() bool { +func (x *PartitionRangeDatum) GetLocation() int32 { if x != nil { - return x.Pltrusted + return x.Location } - return false + return 0 } -type CreateRoleStmt struct { +type SinglePartitionSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - StmtType RoleStmtType `protobuf:"varint,1,opt,name=stmt_type,proto3,enum=pg_query.RoleStmtType" json:"stmt_type,omitempty"` - Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *CreateRoleStmt) Reset() { - *x = CreateRoleStmt{} +func (x *SinglePartitionSpec) Reset() { + *x = SinglePartitionSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[113] + mi := &file_pg_query_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateRoleStmt) String() string { +func (x *SinglePartitionSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRoleStmt) ProtoMessage() {} +func (*SinglePartitionSpec) ProtoMessage() {} -func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[113] +func (x *SinglePartitionSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18501,59 +19126,38 @@ func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRoleStmt.ProtoReflect.Descriptor instead. -func (*CreateRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{113} +// Deprecated: Use SinglePartitionSpec.ProtoReflect.Descriptor instead. +func (*SinglePartitionSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{107} } -func (x *CreateRoleStmt) GetStmtType() RoleStmtType { - if x != nil { - return x.StmtType - } - return RoleStmtType_ROLE_STMT_TYPE_UNDEFINED -} +type PartitionCmd struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *CreateRoleStmt) GetRole() string { - if x != nil { - return x.Role - } - return "" -} - -func (x *CreateRoleStmt) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil -} - -type AlterRoleStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Action int32 `protobuf:"varint,3,opt,name=action,proto3" json:"action,omitempty"` + Name *RangeVar `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Bound *PartitionBoundSpec `protobuf:"bytes,2,opt,name=bound,proto3" json:"bound,omitempty"` + Concurrent bool `protobuf:"varint,3,opt,name=concurrent,proto3" json:"concurrent,omitempty"` } -func (x *AlterRoleStmt) Reset() { - *x = AlterRoleStmt{} +func (x *PartitionCmd) Reset() { + *x = PartitionCmd{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[114] + mi := &file_pg_query_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterRoleStmt) String() string { +func (x *PartitionCmd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterRoleStmt) ProtoMessage() {} +func (*PartitionCmd) ProtoMessage() {} -func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[114] +func (x *PartitionCmd) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18564,58 +19168,88 @@ func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterRoleStmt.ProtoReflect.Descriptor instead. -func (*AlterRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{114} +// Deprecated: Use PartitionCmd.ProtoReflect.Descriptor instead. +func (*PartitionCmd) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{108} } -func (x *AlterRoleStmt) GetRole() *RoleSpec { +func (x *PartitionCmd) GetName() *RangeVar { if x != nil { - return x.Role + return x.Name } return nil } -func (x *AlterRoleStmt) GetOptions() []*Node { +func (x *PartitionCmd) GetBound() *PartitionBoundSpec { if x != nil { - return x.Options + return x.Bound } return nil } -func (x *AlterRoleStmt) GetAction() int32 { +func (x *PartitionCmd) GetConcurrent() bool { if x != nil { - return x.Action + return x.Concurrent } - return 0 + return false } -type DropRoleStmt struct { +type RangeTblEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Alias *Alias `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"` + Eref *Alias `protobuf:"bytes,2,opt,name=eref,proto3" json:"eref,omitempty"` + Rtekind RTEKind `protobuf:"varint,3,opt,name=rtekind,proto3,enum=pg_query.RTEKind" json:"rtekind,omitempty"` + Relid uint32 `protobuf:"varint,4,opt,name=relid,proto3" json:"relid,omitempty"` + Inh bool `protobuf:"varint,5,opt,name=inh,proto3" json:"inh,omitempty"` + Relkind string `protobuf:"bytes,6,opt,name=relkind,proto3" json:"relkind,omitempty"` + Rellockmode int32 `protobuf:"varint,7,opt,name=rellockmode,proto3" json:"rellockmode,omitempty"` + Perminfoindex uint32 `protobuf:"varint,8,opt,name=perminfoindex,proto3" json:"perminfoindex,omitempty"` + Tablesample *TableSampleClause `protobuf:"bytes,9,opt,name=tablesample,proto3" json:"tablesample,omitempty"` + Subquery *Query `protobuf:"bytes,10,opt,name=subquery,proto3" json:"subquery,omitempty"` + SecurityBarrier bool `protobuf:"varint,11,opt,name=security_barrier,proto3" json:"security_barrier,omitempty"` + Jointype JoinType `protobuf:"varint,12,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` + Joinmergedcols int32 `protobuf:"varint,13,opt,name=joinmergedcols,proto3" json:"joinmergedcols,omitempty"` + Joinaliasvars []*Node `protobuf:"bytes,14,rep,name=joinaliasvars,proto3" json:"joinaliasvars,omitempty"` + Joinleftcols []*Node `protobuf:"bytes,15,rep,name=joinleftcols,proto3" json:"joinleftcols,omitempty"` + Joinrightcols []*Node `protobuf:"bytes,16,rep,name=joinrightcols,proto3" json:"joinrightcols,omitempty"` + JoinUsingAlias *Alias `protobuf:"bytes,17,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` + Functions []*Node `protobuf:"bytes,18,rep,name=functions,proto3" json:"functions,omitempty"` + Funcordinality bool `protobuf:"varint,19,opt,name=funcordinality,proto3" json:"funcordinality,omitempty"` + Tablefunc *TableFunc `protobuf:"bytes,20,opt,name=tablefunc,proto3" json:"tablefunc,omitempty"` + ValuesLists []*Node `protobuf:"bytes,21,rep,name=values_lists,proto3" json:"values_lists,omitempty"` + Ctename string `protobuf:"bytes,22,opt,name=ctename,proto3" json:"ctename,omitempty"` + Ctelevelsup uint32 `protobuf:"varint,23,opt,name=ctelevelsup,proto3" json:"ctelevelsup,omitempty"` + SelfReference bool `protobuf:"varint,24,opt,name=self_reference,proto3" json:"self_reference,omitempty"` + Coltypes []*Node `protobuf:"bytes,25,rep,name=coltypes,proto3" json:"coltypes,omitempty"` + Coltypmods []*Node `protobuf:"bytes,26,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` + Colcollations []*Node `protobuf:"bytes,27,rep,name=colcollations,proto3" json:"colcollations,omitempty"` + Enrname string `protobuf:"bytes,28,opt,name=enrname,proto3" json:"enrname,omitempty"` + Enrtuples float64 `protobuf:"fixed64,29,opt,name=enrtuples,proto3" json:"enrtuples,omitempty"` + Lateral bool `protobuf:"varint,30,opt,name=lateral,proto3" json:"lateral,omitempty"` + InFromCl bool `protobuf:"varint,31,opt,name=in_from_cl,json=inFromCl,proto3" json:"in_from_cl,omitempty"` + SecurityQuals []*Node `protobuf:"bytes,32,rep,name=security_quals,json=securityQuals,proto3" json:"security_quals,omitempty"` } -func (x *DropRoleStmt) Reset() { - *x = DropRoleStmt{} +func (x *RangeTblEntry) Reset() { + *x = RangeTblEntry{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[115] + mi := &file_pg_query_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropRoleStmt) String() string { +func (x *RangeTblEntry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropRoleStmt) ProtoMessage() {} +func (*RangeTblEntry) ProtoMessage() {} -func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[115] +func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18626,280 +19260,266 @@ func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropRoleStmt.ProtoReflect.Descriptor instead. -func (*DropRoleStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{115} +// Deprecated: Use RangeTblEntry.ProtoReflect.Descriptor instead. +func (*RangeTblEntry) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{109} } -func (x *DropRoleStmt) GetRoles() []*Node { +func (x *RangeTblEntry) GetAlias() *Alias { if x != nil { - return x.Roles + return x.Alias } return nil } -func (x *DropRoleStmt) GetMissingOk() bool { +func (x *RangeTblEntry) GetEref() *Alias { if x != nil { - return x.MissingOk + return x.Eref } - return false + return nil } -type LockStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` - Mode int32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` - Nowait bool `protobuf:"varint,3,opt,name=nowait,proto3" json:"nowait,omitempty"` +func (x *RangeTblEntry) GetRtekind() RTEKind { + if x != nil { + return x.Rtekind + } + return RTEKind_RTEKIND_UNDEFINED } -func (x *LockStmt) Reset() { - *x = LockStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetRelid() uint32 { + if x != nil { + return x.Relid } + return 0 } -func (x *LockStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetInh() bool { + if x != nil { + return x.Inh + } + return false } -func (*LockStmt) ProtoMessage() {} +func (x *RangeTblEntry) GetRelkind() string { + if x != nil { + return x.Relkind + } + return "" +} -func (x *LockStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetRellockmode() int32 { + if x != nil { + return x.Rellockmode } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use LockStmt.ProtoReflect.Descriptor instead. -func (*LockStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{116} +func (x *RangeTblEntry) GetPerminfoindex() uint32 { + if x != nil { + return x.Perminfoindex + } + return 0 } -func (x *LockStmt) GetRelations() []*Node { +func (x *RangeTblEntry) GetTablesample() *TableSampleClause { if x != nil { - return x.Relations + return x.Tablesample } return nil } -func (x *LockStmt) GetMode() int32 { +func (x *RangeTblEntry) GetSubquery() *Query { if x != nil { - return x.Mode + return x.Subquery } - return 0 + return nil } -func (x *LockStmt) GetNowait() bool { +func (x *RangeTblEntry) GetSecurityBarrier() bool { if x != nil { - return x.Nowait + return x.SecurityBarrier } return false } -type ConstraintsSetStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Constraints []*Node `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` - Deferred bool `protobuf:"varint,2,opt,name=deferred,proto3" json:"deferred,omitempty"` +func (x *RangeTblEntry) GetJointype() JoinType { + if x != nil { + return x.Jointype + } + return JoinType_JOIN_TYPE_UNDEFINED } -func (x *ConstraintsSetStmt) Reset() { - *x = ConstraintsSetStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetJoinmergedcols() int32 { + if x != nil { + return x.Joinmergedcols } + return 0 } -func (x *ConstraintsSetStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetJoinaliasvars() []*Node { + if x != nil { + return x.Joinaliasvars + } + return nil } -func (*ConstraintsSetStmt) ProtoMessage() {} - -func (x *ConstraintsSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetJoinleftcols() []*Node { + if x != nil { + return x.Joinleftcols } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ConstraintsSetStmt.ProtoReflect.Descriptor instead. -func (*ConstraintsSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{117} +func (x *RangeTblEntry) GetJoinrightcols() []*Node { + if x != nil { + return x.Joinrightcols + } + return nil } -func (x *ConstraintsSetStmt) GetConstraints() []*Node { +func (x *RangeTblEntry) GetJoinUsingAlias() *Alias { if x != nil { - return x.Constraints + return x.JoinUsingAlias } return nil } -func (x *ConstraintsSetStmt) GetDeferred() bool { +func (x *RangeTblEntry) GetFunctions() []*Node { if x != nil { - return x.Deferred + return x.Functions } - return false + return nil } -type ReindexStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kind ReindexObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ReindexObjectType" json:"kind,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Params []*Node `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty"` +func (x *RangeTblEntry) GetFuncordinality() bool { + if x != nil { + return x.Funcordinality + } + return false } -func (x *ReindexStmt) Reset() { - *x = ReindexStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetTablefunc() *TableFunc { + if x != nil { + return x.Tablefunc } + return nil } -func (x *ReindexStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetValuesLists() []*Node { + if x != nil { + return x.ValuesLists + } + return nil } -func (*ReindexStmt) ProtoMessage() {} - -func (x *ReindexStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetCtename() string { + if x != nil { + return x.Ctename } - return mi.MessageOf(x) + return "" } -// Deprecated: Use ReindexStmt.ProtoReflect.Descriptor instead. -func (*ReindexStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{118} +func (x *RangeTblEntry) GetCtelevelsup() uint32 { + if x != nil { + return x.Ctelevelsup + } + return 0 } -func (x *ReindexStmt) GetKind() ReindexObjectType { +func (x *RangeTblEntry) GetSelfReference() bool { if x != nil { - return x.Kind + return x.SelfReference } - return ReindexObjectType_REINDEX_OBJECT_TYPE_UNDEFINED + return false } -func (x *ReindexStmt) GetRelation() *RangeVar { +func (x *RangeTblEntry) GetColtypes() []*Node { if x != nil { - return x.Relation + return x.Coltypes } return nil } -func (x *ReindexStmt) GetName() string { +func (x *RangeTblEntry) GetColtypmods() []*Node { if x != nil { - return x.Name + return x.Coltypmods } - return "" + return nil } -func (x *ReindexStmt) GetParams() []*Node { +func (x *RangeTblEntry) GetColcollations() []*Node { if x != nil { - return x.Params + return x.Colcollations } return nil } -type CheckPointStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *RangeTblEntry) GetEnrname() string { + if x != nil { + return x.Enrname + } + return "" } -func (x *CheckPointStmt) Reset() { - *x = CheckPointStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *RangeTblEntry) GetEnrtuples() float64 { + if x != nil { + return x.Enrtuples } + return 0 } -func (x *CheckPointStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *RangeTblEntry) GetLateral() bool { + if x != nil { + return x.Lateral + } + return false } -func (*CheckPointStmt) ProtoMessage() {} - -func (x *CheckPointStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *RangeTblEntry) GetInFromCl() bool { + if x != nil { + return x.InFromCl } - return mi.MessageOf(x) + return false } -// Deprecated: Use CheckPointStmt.ProtoReflect.Descriptor instead. -func (*CheckPointStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{119} +func (x *RangeTblEntry) GetSecurityQuals() []*Node { + if x != nil { + return x.SecurityQuals + } + return nil } -type CreateSchemaStmt struct { +type RTEPermissionInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Schemaname string `protobuf:"bytes,1,opt,name=schemaname,proto3" json:"schemaname,omitempty"` - Authrole *RoleSpec `protobuf:"bytes,2,opt,name=authrole,proto3" json:"authrole,omitempty"` - SchemaElts []*Node `protobuf:"bytes,3,rep,name=schema_elts,json=schemaElts,proto3" json:"schema_elts,omitempty"` - IfNotExists bool `protobuf:"varint,4,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Relid uint32 `protobuf:"varint,1,opt,name=relid,proto3" json:"relid,omitempty"` + Inh bool `protobuf:"varint,2,opt,name=inh,proto3" json:"inh,omitempty"` + RequiredPerms uint64 `protobuf:"varint,3,opt,name=required_perms,json=requiredPerms,proto3" json:"required_perms,omitempty"` + CheckAsUser uint32 `protobuf:"varint,4,opt,name=check_as_user,json=checkAsUser,proto3" json:"check_as_user,omitempty"` + SelectedCols []uint64 `protobuf:"varint,5,rep,packed,name=selected_cols,json=selectedCols,proto3" json:"selected_cols,omitempty"` + InsertedCols []uint64 `protobuf:"varint,6,rep,packed,name=inserted_cols,json=insertedCols,proto3" json:"inserted_cols,omitempty"` + UpdatedCols []uint64 `protobuf:"varint,7,rep,packed,name=updated_cols,json=updatedCols,proto3" json:"updated_cols,omitempty"` } -func (x *CreateSchemaStmt) Reset() { - *x = CreateSchemaStmt{} +func (x *RTEPermissionInfo) Reset() { + *x = RTEPermissionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[120] + mi := &file_pg_query_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSchemaStmt) String() string { +func (x *RTEPermissionInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSchemaStmt) ProtoMessage() {} +func (*RTEPermissionInfo) ProtoMessage() {} -func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[120] +func (x *RTEPermissionInfo) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18910,65 +19530,91 @@ func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSchemaStmt.ProtoReflect.Descriptor instead. -func (*CreateSchemaStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{120} +// Deprecated: Use RTEPermissionInfo.ProtoReflect.Descriptor instead. +func (*RTEPermissionInfo) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{110} } -func (x *CreateSchemaStmt) GetSchemaname() string { +func (x *RTEPermissionInfo) GetRelid() uint32 { if x != nil { - return x.Schemaname + return x.Relid } - return "" + return 0 } -func (x *CreateSchemaStmt) GetAuthrole() *RoleSpec { +func (x *RTEPermissionInfo) GetInh() bool { if x != nil { - return x.Authrole + return x.Inh + } + return false +} + +func (x *RTEPermissionInfo) GetRequiredPerms() uint64 { + if x != nil { + return x.RequiredPerms + } + return 0 +} + +func (x *RTEPermissionInfo) GetCheckAsUser() uint32 { + if x != nil { + return x.CheckAsUser + } + return 0 +} + +func (x *RTEPermissionInfo) GetSelectedCols() []uint64 { + if x != nil { + return x.SelectedCols } return nil } -func (x *CreateSchemaStmt) GetSchemaElts() []*Node { +func (x *RTEPermissionInfo) GetInsertedCols() []uint64 { if x != nil { - return x.SchemaElts + return x.InsertedCols } return nil } -func (x *CreateSchemaStmt) GetIfNotExists() bool { +func (x *RTEPermissionInfo) GetUpdatedCols() []uint64 { if x != nil { - return x.IfNotExists + return x.UpdatedCols } - return false + return nil } -type AlterDatabaseStmt struct { +type RangeTblFunction struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Funcexpr *Node `protobuf:"bytes,1,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` + Funccolcount int32 `protobuf:"varint,2,opt,name=funccolcount,proto3" json:"funccolcount,omitempty"` + Funccolnames []*Node `protobuf:"bytes,3,rep,name=funccolnames,proto3" json:"funccolnames,omitempty"` + Funccoltypes []*Node `protobuf:"bytes,4,rep,name=funccoltypes,proto3" json:"funccoltypes,omitempty"` + Funccoltypmods []*Node `protobuf:"bytes,5,rep,name=funccoltypmods,proto3" json:"funccoltypmods,omitempty"` + Funccolcollations []*Node `protobuf:"bytes,6,rep,name=funccolcollations,proto3" json:"funccolcollations,omitempty"` + Funcparams []uint64 `protobuf:"varint,7,rep,packed,name=funcparams,proto3" json:"funcparams,omitempty"` } -func (x *AlterDatabaseStmt) Reset() { - *x = AlterDatabaseStmt{} +func (x *RangeTblFunction) Reset() { + *x = RangeTblFunction{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[121] + mi := &file_pg_query_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDatabaseStmt) String() string { +func (x *RangeTblFunction) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDatabaseStmt) ProtoMessage() {} +func (*RangeTblFunction) ProtoMessage() {} -func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[121] +func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18979,50 +19625,87 @@ func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDatabaseStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{121} +// Deprecated: Use RangeTblFunction.ProtoReflect.Descriptor instead. +func (*RangeTblFunction) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{111} } -func (x *AlterDatabaseStmt) GetDbname() string { +func (x *RangeTblFunction) GetFuncexpr() *Node { if x != nil { - return x.Dbname + return x.Funcexpr } - return "" + return nil } -func (x *AlterDatabaseStmt) GetOptions() []*Node { +func (x *RangeTblFunction) GetFunccolcount() int32 { if x != nil { - return x.Options + return x.Funccolcount + } + return 0 +} + +func (x *RangeTblFunction) GetFunccolnames() []*Node { + if x != nil { + return x.Funccolnames } return nil } -type AlterDatabaseRefreshCollStmt struct { +func (x *RangeTblFunction) GetFunccoltypes() []*Node { + if x != nil { + return x.Funccoltypes + } + return nil +} + +func (x *RangeTblFunction) GetFunccoltypmods() []*Node { + if x != nil { + return x.Funccoltypmods + } + return nil +} + +func (x *RangeTblFunction) GetFunccolcollations() []*Node { + if x != nil { + return x.Funccolcollations + } + return nil +} + +func (x *RangeTblFunction) GetFuncparams() []uint64 { + if x != nil { + return x.Funcparams + } + return nil +} + +type TableSampleClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Tsmhandler uint32 `protobuf:"varint,1,opt,name=tsmhandler,proto3" json:"tsmhandler,omitempty"` + Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` + Repeatable *Node `protobuf:"bytes,3,opt,name=repeatable,proto3" json:"repeatable,omitempty"` } -func (x *AlterDatabaseRefreshCollStmt) Reset() { - *x = AlterDatabaseRefreshCollStmt{} +func (x *TableSampleClause) Reset() { + *x = TableSampleClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[122] + mi := &file_pg_query_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterDatabaseRefreshCollStmt) String() string { +func (x *TableSampleClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterDatabaseRefreshCollStmt) ProtoMessage() {} +func (*TableSampleClause) ProtoMessage() {} -func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[122] +func (x *TableSampleClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19033,100 +19716,61 @@ func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterDatabaseRefreshCollStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseRefreshCollStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{122} +// Deprecated: Use TableSampleClause.ProtoReflect.Descriptor instead. +func (*TableSampleClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{112} } -func (x *AlterDatabaseRefreshCollStmt) GetDbname() string { +func (x *TableSampleClause) GetTsmhandler() uint32 { if x != nil { - return x.Dbname + return x.Tsmhandler } - return "" + return 0 } -type AlterDatabaseSetStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` - Setstmt *VariableSetStmt `protobuf:"bytes,2,opt,name=setstmt,proto3" json:"setstmt,omitempty"` -} - -func (x *AlterDatabaseSetStmt) Reset() { - *x = AlterDatabaseSetStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AlterDatabaseSetStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AlterDatabaseSetStmt) ProtoMessage() {} - -func (x *AlterDatabaseSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AlterDatabaseSetStmt.ProtoReflect.Descriptor instead. -func (*AlterDatabaseSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{123} -} - -func (x *AlterDatabaseSetStmt) GetDbname() string { +func (x *TableSampleClause) GetArgs() []*Node { if x != nil { - return x.Dbname + return x.Args } - return "" + return nil } -func (x *AlterDatabaseSetStmt) GetSetstmt() *VariableSetStmt { +func (x *TableSampleClause) GetRepeatable() *Node { if x != nil { - return x.Setstmt + return x.Repeatable } return nil } -type AlterRoleSetStmt struct { +type WithCheckOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` - Database string `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` - Setstmt *VariableSetStmt `protobuf:"bytes,3,opt,name=setstmt,proto3" json:"setstmt,omitempty"` + Kind WCOKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.WCOKind" json:"kind,omitempty"` + Relname string `protobuf:"bytes,2,opt,name=relname,proto3" json:"relname,omitempty"` + Polname string `protobuf:"bytes,3,opt,name=polname,proto3" json:"polname,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + Cascaded bool `protobuf:"varint,5,opt,name=cascaded,proto3" json:"cascaded,omitempty"` } -func (x *AlterRoleSetStmt) Reset() { - *x = AlterRoleSetStmt{} +func (x *WithCheckOption) Reset() { + *x = WithCheckOption{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[124] + mi := &file_pg_query_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterRoleSetStmt) String() string { +func (x *WithCheckOption) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterRoleSetStmt) ProtoMessage() {} +func (*WithCheckOption) ProtoMessage() {} -func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[124] +func (x *WithCheckOption) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19137,61 +19781,75 @@ func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterRoleSetStmt.ProtoReflect.Descriptor instead. -func (*AlterRoleSetStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{124} +// Deprecated: Use WithCheckOption.ProtoReflect.Descriptor instead. +func (*WithCheckOption) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{113} } -func (x *AlterRoleSetStmt) GetRole() *RoleSpec { +func (x *WithCheckOption) GetKind() WCOKind { if x != nil { - return x.Role + return x.Kind } - return nil + return WCOKind_WCOKIND_UNDEFINED } -func (x *AlterRoleSetStmt) GetDatabase() string { +func (x *WithCheckOption) GetRelname() string { if x != nil { - return x.Database + return x.Relname } return "" } -func (x *AlterRoleSetStmt) GetSetstmt() *VariableSetStmt { +func (x *WithCheckOption) GetPolname() string { if x != nil { - return x.Setstmt + return x.Polname + } + return "" +} + +func (x *WithCheckOption) GetQual() *Node { + if x != nil { + return x.Qual } return nil } -type CreateConversionStmt struct { +func (x *WithCheckOption) GetCascaded() bool { + if x != nil { + return x.Cascaded + } + return false +} + +type SortGroupClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConversionName []*Node `protobuf:"bytes,1,rep,name=conversion_name,proto3" json:"conversion_name,omitempty"` - ForEncodingName string `protobuf:"bytes,2,opt,name=for_encoding_name,proto3" json:"for_encoding_name,omitempty"` - ToEncodingName string `protobuf:"bytes,3,opt,name=to_encoding_name,proto3" json:"to_encoding_name,omitempty"` - FuncName []*Node `protobuf:"bytes,4,rep,name=func_name,proto3" json:"func_name,omitempty"` - Def bool `protobuf:"varint,5,opt,name=def,proto3" json:"def,omitempty"` + TleSortGroupRef uint32 `protobuf:"varint,1,opt,name=tle_sort_group_ref,json=tleSortGroupRef,proto3" json:"tle_sort_group_ref,omitempty"` + Eqop uint32 `protobuf:"varint,2,opt,name=eqop,proto3" json:"eqop,omitempty"` + Sortop uint32 `protobuf:"varint,3,opt,name=sortop,proto3" json:"sortop,omitempty"` + NullsFirst bool `protobuf:"varint,4,opt,name=nulls_first,proto3" json:"nulls_first,omitempty"` + Hashable bool `protobuf:"varint,5,opt,name=hashable,proto3" json:"hashable,omitempty"` } -func (x *CreateConversionStmt) Reset() { - *x = CreateConversionStmt{} +func (x *SortGroupClause) Reset() { + *x = SortGroupClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[125] + mi := &file_pg_query_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateConversionStmt) String() string { +func (x *SortGroupClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateConversionStmt) ProtoMessage() {} +func (*SortGroupClause) ProtoMessage() {} -func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[125] +func (x *SortGroupClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19202,75 +19860,73 @@ func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateConversionStmt.ProtoReflect.Descriptor instead. -func (*CreateConversionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{125} +// Deprecated: Use SortGroupClause.ProtoReflect.Descriptor instead. +func (*SortGroupClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{114} } -func (x *CreateConversionStmt) GetConversionName() []*Node { +func (x *SortGroupClause) GetTleSortGroupRef() uint32 { if x != nil { - return x.ConversionName + return x.TleSortGroupRef } - return nil + return 0 } -func (x *CreateConversionStmt) GetForEncodingName() string { +func (x *SortGroupClause) GetEqop() uint32 { if x != nil { - return x.ForEncodingName + return x.Eqop } - return "" + return 0 } -func (x *CreateConversionStmt) GetToEncodingName() string { +func (x *SortGroupClause) GetSortop() uint32 { if x != nil { - return x.ToEncodingName + return x.Sortop } - return "" + return 0 } -func (x *CreateConversionStmt) GetFuncName() []*Node { +func (x *SortGroupClause) GetNullsFirst() bool { if x != nil { - return x.FuncName + return x.NullsFirst } - return nil + return false } -func (x *CreateConversionStmt) GetDef() bool { +func (x *SortGroupClause) GetHashable() bool { if x != nil { - return x.Def + return x.Hashable } return false } -type CreateCastStmt struct { +type GroupingSet struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Sourcetype *TypeName `protobuf:"bytes,1,opt,name=sourcetype,proto3" json:"sourcetype,omitempty"` - Targettype *TypeName `protobuf:"bytes,2,opt,name=targettype,proto3" json:"targettype,omitempty"` - Func *ObjectWithArgs `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` - Context CoercionContext `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.CoercionContext" json:"context,omitempty"` - Inout bool `protobuf:"varint,5,opt,name=inout,proto3" json:"inout,omitempty"` + Kind GroupingSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.GroupingSetKind" json:"kind,omitempty"` + Content []*Node `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateCastStmt) Reset() { - *x = CreateCastStmt{} +func (x *GroupingSet) Reset() { + *x = GroupingSet{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[126] + mi := &file_pg_query_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateCastStmt) String() string { +func (x *GroupingSet) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateCastStmt) ProtoMessage() {} +func (*GroupingSet) ProtoMessage() {} -func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[126] +func (x *GroupingSet) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19281,76 +19937,70 @@ func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateCastStmt.ProtoReflect.Descriptor instead. -func (*CreateCastStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{126} -} - -func (x *CreateCastStmt) GetSourcetype() *TypeName { - if x != nil { - return x.Sourcetype - } - return nil +// Deprecated: Use GroupingSet.ProtoReflect.Descriptor instead. +func (*GroupingSet) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{115} } -func (x *CreateCastStmt) GetTargettype() *TypeName { +func (x *GroupingSet) GetKind() GroupingSetKind { if x != nil { - return x.Targettype + return x.Kind } - return nil + return GroupingSetKind_GROUPING_SET_KIND_UNDEFINED } -func (x *CreateCastStmt) GetFunc() *ObjectWithArgs { +func (x *GroupingSet) GetContent() []*Node { if x != nil { - return x.Func + return x.Content } return nil } -func (x *CreateCastStmt) GetContext() CoercionContext { - if x != nil { - return x.Context - } - return CoercionContext_COERCION_CONTEXT_UNDEFINED -} - -func (x *CreateCastStmt) GetInout() bool { +func (x *GroupingSet) GetLocation() int32 { if x != nil { - return x.Inout + return x.Location } - return false + return 0 } -type CreateOpClassStmt struct { +type WindowClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opclassname []*Node `protobuf:"bytes,1,rep,name=opclassname,proto3" json:"opclassname,omitempty"` - Opfamilyname []*Node `protobuf:"bytes,2,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,3,opt,name=amname,proto3" json:"amname,omitempty"` - Datatype *TypeName `protobuf:"bytes,4,opt,name=datatype,proto3" json:"datatype,omitempty"` - Items []*Node `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` - IsDefault bool `protobuf:"varint,6,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` + PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` + OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` + FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` + StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` + EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` + StartInRangeFunc uint32 `protobuf:"varint,8,opt,name=start_in_range_func,json=startInRangeFunc,proto3" json:"start_in_range_func,omitempty"` + EndInRangeFunc uint32 `protobuf:"varint,9,opt,name=end_in_range_func,json=endInRangeFunc,proto3" json:"end_in_range_func,omitempty"` + InRangeColl uint32 `protobuf:"varint,10,opt,name=in_range_coll,json=inRangeColl,proto3" json:"in_range_coll,omitempty"` + InRangeAsc bool `protobuf:"varint,11,opt,name=in_range_asc,json=inRangeAsc,proto3" json:"in_range_asc,omitempty"` + InRangeNullsFirst bool `protobuf:"varint,12,opt,name=in_range_nulls_first,json=inRangeNullsFirst,proto3" json:"in_range_nulls_first,omitempty"` + Winref uint32 `protobuf:"varint,13,opt,name=winref,proto3" json:"winref,omitempty"` + CopiedOrder bool `protobuf:"varint,14,opt,name=copied_order,json=copiedOrder,proto3" json:"copied_order,omitempty"` } -func (x *CreateOpClassStmt) Reset() { - *x = CreateOpClassStmt{} +func (x *WindowClause) Reset() { + *x = WindowClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[127] + mi := &file_pg_query_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateOpClassStmt) String() string { +func (x *WindowClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateOpClassStmt) ProtoMessage() {} +func (*WindowClause) ProtoMessage() {} -func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[127] +func (x *WindowClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19361,136 +20011,137 @@ func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateOpClassStmt.ProtoReflect.Descriptor instead. -func (*CreateOpClassStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{127} +// Deprecated: Use WindowClause.ProtoReflect.Descriptor instead. +func (*WindowClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{116} } -func (x *CreateOpClassStmt) GetOpclassname() []*Node { +func (x *WindowClause) GetName() string { if x != nil { - return x.Opclassname + return x.Name } - return nil + return "" } -func (x *CreateOpClassStmt) GetOpfamilyname() []*Node { +func (x *WindowClause) GetRefname() string { if x != nil { - return x.Opfamilyname + return x.Refname } - return nil + return "" } -func (x *CreateOpClassStmt) GetAmname() string { +func (x *WindowClause) GetPartitionClause() []*Node { if x != nil { - return x.Amname + return x.PartitionClause } - return "" + return nil } -func (x *CreateOpClassStmt) GetDatatype() *TypeName { +func (x *WindowClause) GetOrderClause() []*Node { if x != nil { - return x.Datatype + return x.OrderClause } return nil } -func (x *CreateOpClassStmt) GetItems() []*Node { +func (x *WindowClause) GetFrameOptions() int32 { if x != nil { - return x.Items + return x.FrameOptions } - return nil + return 0 } -func (x *CreateOpClassStmt) GetIsDefault() bool { +func (x *WindowClause) GetStartOffset() *Node { if x != nil { - return x.IsDefault + return x.StartOffset } - return false + return nil } -type CreateOpFamilyStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` +func (x *WindowClause) GetEndOffset() *Node { + if x != nil { + return x.EndOffset + } + return nil } -func (x *CreateOpFamilyStmt) Reset() { - *x = CreateOpFamilyStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *WindowClause) GetStartInRangeFunc() uint32 { + if x != nil { + return x.StartInRangeFunc } + return 0 } -func (x *CreateOpFamilyStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *WindowClause) GetEndInRangeFunc() uint32 { + if x != nil { + return x.EndInRangeFunc + } + return 0 } -func (*CreateOpFamilyStmt) ProtoMessage() {} +func (x *WindowClause) GetInRangeColl() uint32 { + if x != nil { + return x.InRangeColl + } + return 0 +} -func (x *CreateOpFamilyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *WindowClause) GetInRangeAsc() bool { + if x != nil { + return x.InRangeAsc } - return mi.MessageOf(x) + return false } -// Deprecated: Use CreateOpFamilyStmt.ProtoReflect.Descriptor instead. -func (*CreateOpFamilyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{128} +func (x *WindowClause) GetInRangeNullsFirst() bool { + if x != nil { + return x.InRangeNullsFirst + } + return false } -func (x *CreateOpFamilyStmt) GetOpfamilyname() []*Node { +func (x *WindowClause) GetWinref() uint32 { if x != nil { - return x.Opfamilyname + return x.Winref } - return nil + return 0 } -func (x *CreateOpFamilyStmt) GetAmname() string { +func (x *WindowClause) GetCopiedOrder() bool { if x != nil { - return x.Amname + return x.CopiedOrder } - return "" + return false } -type AlterOpFamilyStmt struct { +type RowMarkClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` - Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` - IsDrop bool `protobuf:"varint,3,opt,name=is_drop,json=isDrop,proto3" json:"is_drop,omitempty"` - Items []*Node `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` + Rti uint32 `protobuf:"varint,1,opt,name=rti,proto3" json:"rti,omitempty"` + Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` + WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` + PushedDown bool `protobuf:"varint,4,opt,name=pushed_down,json=pushedDown,proto3" json:"pushed_down,omitempty"` } -func (x *AlterOpFamilyStmt) Reset() { - *x = AlterOpFamilyStmt{} +func (x *RowMarkClause) Reset() { + *x = RowMarkClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[129] + mi := &file_pg_query_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterOpFamilyStmt) String() string { +func (x *RowMarkClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterOpFamilyStmt) ProtoMessage() {} +func (*RowMarkClause) ProtoMessage() {} -func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[129] +func (x *RowMarkClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19501,66 +20152,66 @@ func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterOpFamilyStmt.ProtoReflect.Descriptor instead. -func (*AlterOpFamilyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{129} +// Deprecated: Use RowMarkClause.ProtoReflect.Descriptor instead. +func (*RowMarkClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{117} } -func (x *AlterOpFamilyStmt) GetOpfamilyname() []*Node { +func (x *RowMarkClause) GetRti() uint32 { if x != nil { - return x.Opfamilyname + return x.Rti } - return nil + return 0 } -func (x *AlterOpFamilyStmt) GetAmname() string { +func (x *RowMarkClause) GetStrength() LockClauseStrength { if x != nil { - return x.Amname + return x.Strength } - return "" + return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED } -func (x *AlterOpFamilyStmt) GetIsDrop() bool { +func (x *RowMarkClause) GetWaitPolicy() LockWaitPolicy { if x != nil { - return x.IsDrop + return x.WaitPolicy } - return false + return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED } -func (x *AlterOpFamilyStmt) GetItems() []*Node { +func (x *RowMarkClause) GetPushedDown() bool { if x != nil { - return x.Items + return x.PushedDown } - return nil + return false } -type PrepareStmt struct { +type WithClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Argtypes []*Node `protobuf:"bytes,2,rep,name=argtypes,proto3" json:"argtypes,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Ctes []*Node `protobuf:"bytes,1,rep,name=ctes,proto3" json:"ctes,omitempty"` + Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *PrepareStmt) Reset() { - *x = PrepareStmt{} +func (x *WithClause) Reset() { + *x = WithClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[130] + mi := &file_pg_query_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PrepareStmt) String() string { +func (x *WithClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PrepareStmt) ProtoMessage() {} +func (*WithClause) ProtoMessage() {} -func (x *PrepareStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[130] +func (x *WithClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19571,58 +20222,60 @@ func (x *PrepareStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PrepareStmt.ProtoReflect.Descriptor instead. -func (*PrepareStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{130} +// Deprecated: Use WithClause.ProtoReflect.Descriptor instead. +func (*WithClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{118} } -func (x *PrepareStmt) GetName() string { +func (x *WithClause) GetCtes() []*Node { if x != nil { - return x.Name + return x.Ctes } - return "" + return nil } -func (x *PrepareStmt) GetArgtypes() []*Node { +func (x *WithClause) GetRecursive() bool { if x != nil { - return x.Argtypes + return x.Recursive } - return nil + return false } -func (x *PrepareStmt) GetQuery() *Node { +func (x *WithClause) GetLocation() int32 { if x != nil { - return x.Query + return x.Location } - return nil + return 0 } -type ExecuteStmt struct { +type InferClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` + IndexElems []*Node `protobuf:"bytes,1,rep,name=index_elems,json=indexElems,proto3" json:"index_elems,omitempty"` + WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Conname string `protobuf:"bytes,3,opt,name=conname,proto3" json:"conname,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *ExecuteStmt) Reset() { - *x = ExecuteStmt{} +func (x *InferClause) Reset() { + *x = InferClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[131] + mi := &file_pg_query_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ExecuteStmt) String() string { +func (x *InferClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ExecuteStmt) ProtoMessage() {} +func (*InferClause) ProtoMessage() {} -func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[131] +func (x *InferClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19633,99 +20286,68 @@ func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ExecuteStmt.ProtoReflect.Descriptor instead. -func (*ExecuteStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{131} +// Deprecated: Use InferClause.ProtoReflect.Descriptor instead. +func (*InferClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{119} } -func (x *ExecuteStmt) GetName() string { +func (x *InferClause) GetIndexElems() []*Node { if x != nil { - return x.Name + return x.IndexElems } - return "" + return nil } -func (x *ExecuteStmt) GetParams() []*Node { +func (x *InferClause) GetWhereClause() *Node { if x != nil { - return x.Params + return x.WhereClause } return nil } -type DeallocateStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +func (x *InferClause) GetConname() string { + if x != nil { + return x.Conname + } + return "" } -func (x *DeallocateStmt) Reset() { - *x = DeallocateStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeallocateStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeallocateStmt) ProtoMessage() {} - -func (x *DeallocateStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeallocateStmt.ProtoReflect.Descriptor instead. -func (*DeallocateStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{132} -} - -func (x *DeallocateStmt) GetName() string { +func (x *InferClause) GetLocation() int32 { if x != nil { - return x.Name + return x.Location } - return "" + return 0 } -type DeclareCursorStmt struct { +type OnConflictClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` - Options int32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` - Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` + Infer *InferClause `protobuf:"bytes,2,opt,name=infer,proto3" json:"infer,omitempty"` + TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + WhereClause *Node `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DeclareCursorStmt) Reset() { - *x = DeclareCursorStmt{} +func (x *OnConflictClause) Reset() { + *x = OnConflictClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[133] + mi := &file_pg_query_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeclareCursorStmt) String() string { +func (x *OnConflictClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeclareCursorStmt) ProtoMessage() {} +func (*OnConflictClause) ProtoMessage() {} -func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[133] +func (x *OnConflictClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19736,60 +20358,74 @@ func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeclareCursorStmt.ProtoReflect.Descriptor instead. -func (*DeclareCursorStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{133} +// Deprecated: Use OnConflictClause.ProtoReflect.Descriptor instead. +func (*OnConflictClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{120} } -func (x *DeclareCursorStmt) GetPortalname() string { +func (x *OnConflictClause) GetAction() OnConflictAction { if x != nil { - return x.Portalname + return x.Action } - return "" + return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED } -func (x *DeclareCursorStmt) GetOptions() int32 { +func (x *OnConflictClause) GetInfer() *InferClause { if x != nil { - return x.Options + return x.Infer } - return 0 + return nil } -func (x *DeclareCursorStmt) GetQuery() *Node { +func (x *OnConflictClause) GetTargetList() []*Node { if x != nil { - return x.Query + return x.TargetList } return nil } -type CreateTableSpaceStmt struct { +func (x *OnConflictClause) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *OnConflictClause) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CTESearchClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - Owner *RoleSpec `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` - Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + SearchColList []*Node `protobuf:"bytes,1,rep,name=search_col_list,proto3" json:"search_col_list,omitempty"` + SearchBreadthFirst bool `protobuf:"varint,2,opt,name=search_breadth_first,proto3" json:"search_breadth_first,omitempty"` + SearchSeqColumn string `protobuf:"bytes,3,opt,name=search_seq_column,proto3" json:"search_seq_column,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateTableSpaceStmt) Reset() { - *x = CreateTableSpaceStmt{} +func (x *CTESearchClause) Reset() { + *x = CTESearchClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[134] + mi := &file_pg_query_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTableSpaceStmt) String() string { +func (x *CTESearchClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTableSpaceStmt) ProtoMessage() {} +func (*CTESearchClause) ProtoMessage() {} -func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[134] +func (x *CTESearchClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19800,65 +20436,73 @@ func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTableSpaceStmt.ProtoReflect.Descriptor instead. -func (*CreateTableSpaceStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{134} +// Deprecated: Use CTESearchClause.ProtoReflect.Descriptor instead. +func (*CTESearchClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{121} } -func (x *CreateTableSpaceStmt) GetTablespacename() string { +func (x *CTESearchClause) GetSearchColList() []*Node { if x != nil { - return x.Tablespacename + return x.SearchColList } - return "" + return nil } -func (x *CreateTableSpaceStmt) GetOwner() *RoleSpec { +func (x *CTESearchClause) GetSearchBreadthFirst() bool { if x != nil { - return x.Owner + return x.SearchBreadthFirst } - return nil + return false } -func (x *CreateTableSpaceStmt) GetLocation() string { +func (x *CTESearchClause) GetSearchSeqColumn() string { if x != nil { - return x.Location + return x.SearchSeqColumn } return "" } -func (x *CreateTableSpaceStmt) GetOptions() []*Node { +func (x *CTESearchClause) GetLocation() int32 { if x != nil { - return x.Options + return x.Location } - return nil + return 0 } -type DropTableSpaceStmt struct { +type CTECycleClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + CycleColList []*Node `protobuf:"bytes,1,rep,name=cycle_col_list,proto3" json:"cycle_col_list,omitempty"` + CycleMarkColumn string `protobuf:"bytes,2,opt,name=cycle_mark_column,proto3" json:"cycle_mark_column,omitempty"` + CycleMarkValue *Node `protobuf:"bytes,3,opt,name=cycle_mark_value,proto3" json:"cycle_mark_value,omitempty"` + CycleMarkDefault *Node `protobuf:"bytes,4,opt,name=cycle_mark_default,proto3" json:"cycle_mark_default,omitempty"` + CyclePathColumn string `protobuf:"bytes,5,opt,name=cycle_path_column,proto3" json:"cycle_path_column,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` + CycleMarkType uint32 `protobuf:"varint,7,opt,name=cycle_mark_type,proto3" json:"cycle_mark_type,omitempty"` + CycleMarkTypmod int32 `protobuf:"varint,8,opt,name=cycle_mark_typmod,proto3" json:"cycle_mark_typmod,omitempty"` + CycleMarkCollation uint32 `protobuf:"varint,9,opt,name=cycle_mark_collation,proto3" json:"cycle_mark_collation,omitempty"` + CycleMarkNeop uint32 `protobuf:"varint,10,opt,name=cycle_mark_neop,proto3" json:"cycle_mark_neop,omitempty"` } -func (x *DropTableSpaceStmt) Reset() { - *x = DropTableSpaceStmt{} +func (x *CTECycleClause) Reset() { + *x = CTECycleClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[135] + mi := &file_pg_query_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropTableSpaceStmt) String() string { +func (x *CTECycleClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropTableSpaceStmt) ProtoMessage() {} +func (*CTECycleClause) ProtoMessage() {} -func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[135] +func (x *CTECycleClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19869,133 +20513,118 @@ func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropTableSpaceStmt.ProtoReflect.Descriptor instead. -func (*DropTableSpaceStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{135} +// Deprecated: Use CTECycleClause.ProtoReflect.Descriptor instead. +func (*CTECycleClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{122} } -func (x *DropTableSpaceStmt) GetTablespacename() string { +func (x *CTECycleClause) GetCycleColList() []*Node { if x != nil { - return x.Tablespacename + return x.CycleColList } - return "" + return nil } -func (x *DropTableSpaceStmt) GetMissingOk() bool { +func (x *CTECycleClause) GetCycleMarkColumn() string { if x != nil { - return x.MissingOk + return x.CycleMarkColumn } - return false -} - -type AlterObjectDependsStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Extname *String `protobuf:"bytes,4,opt,name=extname,proto3" json:"extname,omitempty"` - Remove bool `protobuf:"varint,5,opt,name=remove,proto3" json:"remove,omitempty"` + return "" } -func (x *AlterObjectDependsStmt) Reset() { - *x = AlterObjectDependsStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CTECycleClause) GetCycleMarkValue() *Node { + if x != nil { + return x.CycleMarkValue } + return nil } -func (x *AlterObjectDependsStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AlterObjectDependsStmt) ProtoMessage() {} - -func (x *AlterObjectDependsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CTECycleClause) GetCycleMarkDefault() *Node { + if x != nil { + return x.CycleMarkDefault } - return mi.MessageOf(x) -} - -// Deprecated: Use AlterObjectDependsStmt.ProtoReflect.Descriptor instead. -func (*AlterObjectDependsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{136} + return nil } -func (x *AlterObjectDependsStmt) GetObjectType() ObjectType { +func (x *CTECycleClause) GetCyclePathColumn() string { if x != nil { - return x.ObjectType + return x.CyclePathColumn } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *AlterObjectDependsStmt) GetRelation() *RangeVar { +func (x *CTECycleClause) GetLocation() int32 { if x != nil { - return x.Relation + return x.Location } - return nil + return 0 } -func (x *AlterObjectDependsStmt) GetObject() *Node { +func (x *CTECycleClause) GetCycleMarkType() uint32 { if x != nil { - return x.Object + return x.CycleMarkType } - return nil + return 0 } -func (x *AlterObjectDependsStmt) GetExtname() *String { +func (x *CTECycleClause) GetCycleMarkTypmod() int32 { if x != nil { - return x.Extname + return x.CycleMarkTypmod } - return nil + return 0 } -func (x *AlterObjectDependsStmt) GetRemove() bool { +func (x *CTECycleClause) GetCycleMarkCollation() uint32 { if x != nil { - return x.Remove + return x.CycleMarkCollation } - return false + return 0 } -type AlterObjectSchemaStmt struct { +func (x *CTECycleClause) GetCycleMarkNeop() uint32 { + if x != nil { + return x.CycleMarkNeop + } + return 0 +} + +type CommonTableExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Newschema string `protobuf:"bytes,4,opt,name=newschema,proto3" json:"newschema,omitempty"` - MissingOk bool `protobuf:"varint,5,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Ctename string `protobuf:"bytes,1,opt,name=ctename,proto3" json:"ctename,omitempty"` + Aliascolnames []*Node `protobuf:"bytes,2,rep,name=aliascolnames,proto3" json:"aliascolnames,omitempty"` + Ctematerialized CTEMaterialize `protobuf:"varint,3,opt,name=ctematerialized,proto3,enum=pg_query.CTEMaterialize" json:"ctematerialized,omitempty"` + Ctequery *Node `protobuf:"bytes,4,opt,name=ctequery,proto3" json:"ctequery,omitempty"` + SearchClause *CTESearchClause `protobuf:"bytes,5,opt,name=search_clause,proto3" json:"search_clause,omitempty"` + CycleClause *CTECycleClause `protobuf:"bytes,6,opt,name=cycle_clause,proto3" json:"cycle_clause,omitempty"` + Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Cterecursive bool `protobuf:"varint,8,opt,name=cterecursive,proto3" json:"cterecursive,omitempty"` + Cterefcount int32 `protobuf:"varint,9,opt,name=cterefcount,proto3" json:"cterefcount,omitempty"` + Ctecolnames []*Node `protobuf:"bytes,10,rep,name=ctecolnames,proto3" json:"ctecolnames,omitempty"` + Ctecoltypes []*Node `protobuf:"bytes,11,rep,name=ctecoltypes,proto3" json:"ctecoltypes,omitempty"` + Ctecoltypmods []*Node `protobuf:"bytes,12,rep,name=ctecoltypmods,proto3" json:"ctecoltypmods,omitempty"` + Ctecolcollations []*Node `protobuf:"bytes,13,rep,name=ctecolcollations,proto3" json:"ctecolcollations,omitempty"` } -func (x *AlterObjectSchemaStmt) Reset() { - *x = AlterObjectSchemaStmt{} +func (x *CommonTableExpr) Reset() { + *x = CommonTableExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[137] + mi := &file_pg_query_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterObjectSchemaStmt) String() string { +func (x *CommonTableExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterObjectSchemaStmt) ProtoMessage() {} +func (*CommonTableExpr) ProtoMessage() {} -func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[137] +func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20006,143 +20635,132 @@ func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterObjectSchemaStmt.ProtoReflect.Descriptor instead. -func (*AlterObjectSchemaStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{137} +// Deprecated: Use CommonTableExpr.ProtoReflect.Descriptor instead. +func (*CommonTableExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{123} } -func (x *AlterObjectSchemaStmt) GetObjectType() ObjectType { +func (x *CommonTableExpr) GetCtename() string { if x != nil { - return x.ObjectType + return x.Ctename } - return ObjectType_OBJECT_TYPE_UNDEFINED + return "" } -func (x *AlterObjectSchemaStmt) GetRelation() *RangeVar { +func (x *CommonTableExpr) GetAliascolnames() []*Node { if x != nil { - return x.Relation + return x.Aliascolnames } return nil } -func (x *AlterObjectSchemaStmt) GetObject() *Node { +func (x *CommonTableExpr) GetCtematerialized() CTEMaterialize { if x != nil { - return x.Object + return x.Ctematerialized } - return nil + return CTEMaterialize_CTEMATERIALIZE_UNDEFINED } -func (x *AlterObjectSchemaStmt) GetNewschema() string { +func (x *CommonTableExpr) GetCtequery() *Node { if x != nil { - return x.Newschema + return x.Ctequery } - return "" + return nil } -func (x *AlterObjectSchemaStmt) GetMissingOk() bool { +func (x *CommonTableExpr) GetSearchClause() *CTESearchClause { if x != nil { - return x.MissingOk + return x.SearchClause } - return false -} - -type AlterOwnerStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` - Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` - Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` - Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` + return nil } -func (x *AlterOwnerStmt) Reset() { - *x = AlterOwnerStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *CommonTableExpr) GetCycleClause() *CTECycleClause { + if x != nil { + return x.CycleClause } + return nil } -func (x *AlterOwnerStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *CommonTableExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 } -func (*AlterOwnerStmt) ProtoMessage() {} - -func (x *AlterOwnerStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CommonTableExpr) GetCterecursive() bool { + if x != nil { + return x.Cterecursive } - return mi.MessageOf(x) + return false } -// Deprecated: Use AlterOwnerStmt.ProtoReflect.Descriptor instead. -func (*AlterOwnerStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{138} +func (x *CommonTableExpr) GetCterefcount() int32 { + if x != nil { + return x.Cterefcount + } + return 0 } -func (x *AlterOwnerStmt) GetObjectType() ObjectType { +func (x *CommonTableExpr) GetCtecolnames() []*Node { if x != nil { - return x.ObjectType + return x.Ctecolnames } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *AlterOwnerStmt) GetRelation() *RangeVar { +func (x *CommonTableExpr) GetCtecoltypes() []*Node { if x != nil { - return x.Relation + return x.Ctecoltypes } return nil } -func (x *AlterOwnerStmt) GetObject() *Node { +func (x *CommonTableExpr) GetCtecoltypmods() []*Node { if x != nil { - return x.Object + return x.Ctecoltypmods } return nil } -func (x *AlterOwnerStmt) GetNewowner() *RoleSpec { +func (x *CommonTableExpr) GetCtecolcollations() []*Node { if x != nil { - return x.Newowner + return x.Ctecolcollations } return nil } -type AlterOperatorStmt struct { +type MergeWhenClause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Opername *ObjectWithArgs `protobuf:"bytes,1,opt,name=opername,proto3" json:"opername,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + MatchKind MergeMatchKind `protobuf:"varint,1,opt,name=match_kind,json=matchKind,proto3,enum=pg_query.MergeMatchKind" json:"match_kind,omitempty"` + CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` + Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` + Condition *Node `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"` + TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + Values []*Node `protobuf:"bytes,6,rep,name=values,proto3" json:"values,omitempty"` } -func (x *AlterOperatorStmt) Reset() { - *x = AlterOperatorStmt{} +func (x *MergeWhenClause) Reset() { + *x = MergeWhenClause{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[139] + mi := &file_pg_query_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterOperatorStmt) String() string { +func (x *MergeWhenClause) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterOperatorStmt) ProtoMessage() {} +func (*MergeWhenClause) ProtoMessage() {} -func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[139] +func (x *MergeWhenClause) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20153,51 +20771,80 @@ func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterOperatorStmt.ProtoReflect.Descriptor instead. -func (*AlterOperatorStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{139} +// Deprecated: Use MergeWhenClause.ProtoReflect.Descriptor instead. +func (*MergeWhenClause) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{124} } -func (x *AlterOperatorStmt) GetOpername() *ObjectWithArgs { +func (x *MergeWhenClause) GetMatchKind() MergeMatchKind { if x != nil { - return x.Opername + return x.MatchKind + } + return MergeMatchKind_MERGE_MATCH_KIND_UNDEFINED +} + +func (x *MergeWhenClause) GetCommandType() CmdType { + if x != nil { + return x.CommandType + } + return CmdType_CMD_TYPE_UNDEFINED +} + +func (x *MergeWhenClause) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED +} + +func (x *MergeWhenClause) GetCondition() *Node { + if x != nil { + return x.Condition } return nil } -func (x *AlterOperatorStmt) GetOptions() []*Node { +func (x *MergeWhenClause) GetTargetList() []*Node { if x != nil { - return x.Options + return x.TargetList } return nil } -type AlterTypeStmt struct { +func (x *MergeWhenClause) GetValues() []*Node { + if x != nil { + return x.Values + } + return nil +} + +type TriggerTransition struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + IsNew bool `protobuf:"varint,2,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"` + IsTable bool `protobuf:"varint,3,opt,name=is_table,json=isTable,proto3" json:"is_table,omitempty"` } -func (x *AlterTypeStmt) Reset() { - *x = AlterTypeStmt{} +func (x *TriggerTransition) Reset() { + *x = TriggerTransition{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[140] + mi := &file_pg_query_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTypeStmt) String() string { +func (x *TriggerTransition) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTypeStmt) ProtoMessage() {} +func (*TriggerTransition) ProtoMessage() {} -func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[140] +func (x *TriggerTransition) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20208,51 +20855,58 @@ func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTypeStmt.ProtoReflect.Descriptor instead. -func (*AlterTypeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{140} +// Deprecated: Use TriggerTransition.ProtoReflect.Descriptor instead. +func (*TriggerTransition) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{125} } -func (x *AlterTypeStmt) GetTypeName() []*Node { +func (x *TriggerTransition) GetName() string { if x != nil { - return x.TypeName + return x.Name } - return nil + return "" } -func (x *AlterTypeStmt) GetOptions() []*Node { +func (x *TriggerTransition) GetIsNew() bool { if x != nil { - return x.Options + return x.IsNew } - return nil + return false } -type DropOwnedStmt struct { +func (x *TriggerTransition) GetIsTable() bool { + if x != nil { + return x.IsTable + } + return false +} + +type JsonOutput struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - Behavior DropBehavior `protobuf:"varint,2,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + TypeName *TypeName `protobuf:"bytes,1,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Returning *JsonReturning `protobuf:"bytes,2,opt,name=returning,proto3" json:"returning,omitempty"` } -func (x *DropOwnedStmt) Reset() { - *x = DropOwnedStmt{} +func (x *JsonOutput) Reset() { + *x = JsonOutput{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[141] + mi := &file_pg_query_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropOwnedStmt) String() string { +func (x *JsonOutput) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropOwnedStmt) ProtoMessage() {} +func (*JsonOutput) ProtoMessage() {} -func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[141] +func (x *JsonOutput) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20263,51 +20917,51 @@ func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropOwnedStmt.ProtoReflect.Descriptor instead. -func (*DropOwnedStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{141} +// Deprecated: Use JsonOutput.ProtoReflect.Descriptor instead. +func (*JsonOutput) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{126} } -func (x *DropOwnedStmt) GetRoles() []*Node { +func (x *JsonOutput) GetTypeName() *TypeName { if x != nil { - return x.Roles + return x.TypeName } return nil } -func (x *DropOwnedStmt) GetBehavior() DropBehavior { +func (x *JsonOutput) GetReturning() *JsonReturning { if x != nil { - return x.Behavior + return x.Returning } - return DropBehavior_DROP_BEHAVIOR_UNDEFINED + return nil } -type ReassignOwnedStmt struct { +type JsonArgument struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` - Newrole *RoleSpec `protobuf:"bytes,2,opt,name=newrole,proto3" json:"newrole,omitempty"` + Val *JsonValueExpr `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ReassignOwnedStmt) Reset() { - *x = ReassignOwnedStmt{} +func (x *JsonArgument) Reset() { + *x = JsonArgument{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[142] + mi := &file_pg_query_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReassignOwnedStmt) String() string { +func (x *JsonArgument) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReassignOwnedStmt) ProtoMessage() {} +func (*JsonArgument) ProtoMessage() {} -func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[142] +func (x *JsonArgument) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20318,51 +20972,60 @@ func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReassignOwnedStmt.ProtoReflect.Descriptor instead. -func (*ReassignOwnedStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{142} +// Deprecated: Use JsonArgument.ProtoReflect.Descriptor instead. +func (*JsonArgument) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{127} } -func (x *ReassignOwnedStmt) GetRoles() []*Node { +func (x *JsonArgument) GetVal() *JsonValueExpr { if x != nil { - return x.Roles + return x.Val } return nil } -func (x *ReassignOwnedStmt) GetNewrole() *RoleSpec { +func (x *JsonArgument) GetName() string { if x != nil { - return x.Newrole + return x.Name } - return nil + return "" } -type CompositeTypeStmt struct { +type JsonFuncExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Typevar *RangeVar `protobuf:"bytes,1,opt,name=typevar,proto3" json:"typevar,omitempty"` - Coldeflist []*Node `protobuf:"bytes,2,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` -} - -func (x *CompositeTypeStmt) Reset() { - *x = CompositeTypeStmt{} + Op JsonExprOp `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.JsonExprOp" json:"op,omitempty"` + ColumnName string `protobuf:"bytes,2,opt,name=column_name,proto3" json:"column_name,omitempty"` + ContextItem *JsonValueExpr `protobuf:"bytes,3,opt,name=context_item,proto3" json:"context_item,omitempty"` + Pathspec *Node `protobuf:"bytes,4,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Passing []*Node `protobuf:"bytes,5,rep,name=passing,proto3" json:"passing,omitempty"` + Output *JsonOutput `protobuf:"bytes,6,opt,name=output,proto3" json:"output,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,7,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,8,opt,name=on_error,proto3" json:"on_error,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,9,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + Quotes JsonQuotes `protobuf:"varint,10,opt,name=quotes,proto3,enum=pg_query.JsonQuotes" json:"quotes,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *JsonFuncExpr) Reset() { + *x = JsonFuncExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[143] + mi := &file_pg_query_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CompositeTypeStmt) String() string { +func (x *JsonFuncExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CompositeTypeStmt) ProtoMessage() {} +func (*JsonFuncExpr) ProtoMessage() {} -func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[143] +func (x *JsonFuncExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20373,106 +21036,116 @@ func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CompositeTypeStmt.ProtoReflect.Descriptor instead. -func (*CompositeTypeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{143} +// Deprecated: Use JsonFuncExpr.ProtoReflect.Descriptor instead. +func (*JsonFuncExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{128} } -func (x *CompositeTypeStmt) GetTypevar() *RangeVar { +func (x *JsonFuncExpr) GetOp() JsonExprOp { if x != nil { - return x.Typevar + return x.Op } - return nil + return JsonExprOp_JSON_EXPR_OP_UNDEFINED } -func (x *CompositeTypeStmt) GetColdeflist() []*Node { +func (x *JsonFuncExpr) GetColumnName() string { if x != nil { - return x.Coldeflist + return x.ColumnName } - return nil + return "" } -type CreateEnumStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *JsonFuncExpr) GetContextItem() *JsonValueExpr { + if x != nil { + return x.ContextItem + } + return nil +} - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Vals []*Node `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` +func (x *JsonFuncExpr) GetPathspec() *Node { + if x != nil { + return x.Pathspec + } + return nil } -func (x *CreateEnumStmt) Reset() { - *x = CreateEnumStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *JsonFuncExpr) GetPassing() []*Node { + if x != nil { + return x.Passing } + return nil } -func (x *CreateEnumStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *JsonFuncExpr) GetOutput() *JsonOutput { + if x != nil { + return x.Output + } + return nil } -func (*CreateEnumStmt) ProtoMessage() {} +func (x *JsonFuncExpr) GetOnEmpty() *JsonBehavior { + if x != nil { + return x.OnEmpty + } + return nil +} -func (x *CreateEnumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *JsonFuncExpr) GetOnError() *JsonBehavior { + if x != nil { + return x.OnError } - return mi.MessageOf(x) + return nil } -// Deprecated: Use CreateEnumStmt.ProtoReflect.Descriptor instead. -func (*CreateEnumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{144} +func (x *JsonFuncExpr) GetWrapper() JsonWrapper { + if x != nil { + return x.Wrapper + } + return JsonWrapper_JSON_WRAPPER_UNDEFINED } -func (x *CreateEnumStmt) GetTypeName() []*Node { +func (x *JsonFuncExpr) GetQuotes() JsonQuotes { if x != nil { - return x.TypeName + return x.Quotes } - return nil + return JsonQuotes_JSON_QUOTES_UNDEFINED } -func (x *CreateEnumStmt) GetVals() []*Node { +func (x *JsonFuncExpr) GetLocation() int32 { if x != nil { - return x.Vals + return x.Location } - return nil + return 0 } -type CreateRangeStmt struct { +type JsonTablePathSpec struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` + String_ *Node `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + NameLocation int32 `protobuf:"varint,3,opt,name=name_location,proto3" json:"name_location,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateRangeStmt) Reset() { - *x = CreateRangeStmt{} +func (x *JsonTablePathSpec) Reset() { + *x = JsonTablePathSpec{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[145] + mi := &file_pg_query_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateRangeStmt) String() string { +func (x *JsonTablePathSpec) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateRangeStmt) ProtoMessage() {} +func (*JsonTablePathSpec) ProtoMessage() {} -func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[145] +func (x *JsonTablePathSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20483,55 +21156,71 @@ func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateRangeStmt.ProtoReflect.Descriptor instead. -func (*CreateRangeStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{145} +// Deprecated: Use JsonTablePathSpec.ProtoReflect.Descriptor instead. +func (*JsonTablePathSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{129} } -func (x *CreateRangeStmt) GetTypeName() []*Node { +func (x *JsonTablePathSpec) GetString_() *Node { if x != nil { - return x.TypeName + return x.String_ } return nil } -func (x *CreateRangeStmt) GetParams() []*Node { +func (x *JsonTablePathSpec) GetName() string { if x != nil { - return x.Params + return x.Name } - return nil + return "" } -type AlterEnumStmt struct { +func (x *JsonTablePathSpec) GetNameLocation() int32 { + if x != nil { + return x.NameLocation + } + return 0 +} + +func (x *JsonTablePathSpec) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - OldVal string `protobuf:"bytes,2,opt,name=old_val,json=oldVal,proto3" json:"old_val,omitempty"` - NewVal string `protobuf:"bytes,3,opt,name=new_val,json=newVal,proto3" json:"new_val,omitempty"` - NewValNeighbor string `protobuf:"bytes,4,opt,name=new_val_neighbor,json=newValNeighbor,proto3" json:"new_val_neighbor,omitempty"` - NewValIsAfter bool `protobuf:"varint,5,opt,name=new_val_is_after,json=newValIsAfter,proto3" json:"new_val_is_after,omitempty"` - SkipIfNewValExists bool `protobuf:"varint,6,opt,name=skip_if_new_val_exists,json=skipIfNewValExists,proto3" json:"skip_if_new_val_exists,omitempty"` + ContextItem *JsonValueExpr `protobuf:"bytes,1,opt,name=context_item,proto3" json:"context_item,omitempty"` + Pathspec *JsonTablePathSpec `protobuf:"bytes,2,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Passing []*Node `protobuf:"bytes,3,rep,name=passing,proto3" json:"passing,omitempty"` + Columns []*Node `protobuf:"bytes,4,rep,name=columns,proto3" json:"columns,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,5,opt,name=on_error,proto3" json:"on_error,omitempty"` + Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` + Lateral bool `protobuf:"varint,7,opt,name=lateral,proto3" json:"lateral,omitempty"` + Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterEnumStmt) Reset() { - *x = AlterEnumStmt{} +func (x *JsonTable) Reset() { + *x = JsonTable{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[146] + mi := &file_pg_query_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterEnumStmt) String() string { +func (x *JsonTable) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterEnumStmt) ProtoMessage() {} +func (*JsonTable) ProtoMessage() {} -func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[146] +func (x *JsonTable) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20542,79 +21231,102 @@ func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterEnumStmt.ProtoReflect.Descriptor instead. -func (*AlterEnumStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{146} +// Deprecated: Use JsonTable.ProtoReflect.Descriptor instead. +func (*JsonTable) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{130} } -func (x *AlterEnumStmt) GetTypeName() []*Node { +func (x *JsonTable) GetContextItem() *JsonValueExpr { if x != nil { - return x.TypeName + return x.ContextItem } return nil } -func (x *AlterEnumStmt) GetOldVal() string { +func (x *JsonTable) GetPathspec() *JsonTablePathSpec { if x != nil { - return x.OldVal + return x.Pathspec } - return "" + return nil } -func (x *AlterEnumStmt) GetNewVal() string { +func (x *JsonTable) GetPassing() []*Node { if x != nil { - return x.NewVal + return x.Passing } - return "" + return nil } -func (x *AlterEnumStmt) GetNewValNeighbor() string { +func (x *JsonTable) GetColumns() []*Node { if x != nil { - return x.NewValNeighbor + return x.Columns } - return "" + return nil } -func (x *AlterEnumStmt) GetNewValIsAfter() bool { +func (x *JsonTable) GetOnError() *JsonBehavior { if x != nil { - return x.NewValIsAfter + return x.OnError } - return false + return nil } -func (x *AlterEnumStmt) GetSkipIfNewValExists() bool { +func (x *JsonTable) GetAlias() *Alias { if x != nil { - return x.SkipIfNewValExists + return x.Alias + } + return nil +} + +func (x *JsonTable) GetLateral() bool { + if x != nil { + return x.Lateral } return false } -type AlterTSDictionaryStmt struct { +func (x *JsonTable) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonTableColumn struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Dictname []*Node `protobuf:"bytes,1,rep,name=dictname,proto3" json:"dictname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` -} - -func (x *AlterTSDictionaryStmt) Reset() { - *x = AlterTSDictionaryStmt{} + Coltype JsonTableColumnType `protobuf:"varint,1,opt,name=coltype,proto3,enum=pg_query.JsonTableColumnType" json:"coltype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Pathspec *JsonTablePathSpec `protobuf:"bytes,4,opt,name=pathspec,proto3" json:"pathspec,omitempty"` + Format *JsonFormat `protobuf:"bytes,5,opt,name=format,proto3" json:"format,omitempty"` + Wrapper JsonWrapper `protobuf:"varint,6,opt,name=wrapper,proto3,enum=pg_query.JsonWrapper" json:"wrapper,omitempty"` + Quotes JsonQuotes `protobuf:"varint,7,opt,name=quotes,proto3,enum=pg_query.JsonQuotes" json:"quotes,omitempty"` + Columns []*Node `protobuf:"bytes,8,rep,name=columns,proto3" json:"columns,omitempty"` + OnEmpty *JsonBehavior `protobuf:"bytes,9,opt,name=on_empty,proto3" json:"on_empty,omitempty"` + OnError *JsonBehavior `protobuf:"bytes,10,opt,name=on_error,proto3" json:"on_error,omitempty"` + Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *JsonTableColumn) Reset() { + *x = JsonTableColumn{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[147] + mi := &file_pg_query_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTSDictionaryStmt) String() string { +func (x *JsonTableColumn) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTSDictionaryStmt) ProtoMessage() {} +func (*JsonTableColumn) ProtoMessage() {} -func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[147] +func (x *JsonTableColumn) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20625,147 +21337,114 @@ func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTSDictionaryStmt.ProtoReflect.Descriptor instead. -func (*AlterTSDictionaryStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{147} +// Deprecated: Use JsonTableColumn.ProtoReflect.Descriptor instead. +func (*JsonTableColumn) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{131} } -func (x *AlterTSDictionaryStmt) GetDictname() []*Node { +func (x *JsonTableColumn) GetColtype() JsonTableColumnType { if x != nil { - return x.Dictname + return x.Coltype } - return nil + return JsonTableColumnType_JSON_TABLE_COLUMN_TYPE_UNDEFINED } -func (x *AlterTSDictionaryStmt) GetOptions() []*Node { +func (x *JsonTableColumn) GetName() string { if x != nil { - return x.Options + return x.Name } - return nil + return "" } -type AlterTSConfigurationStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kind AlterTSConfigType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterTSConfigType" json:"kind,omitempty"` - Cfgname []*Node `protobuf:"bytes,2,rep,name=cfgname,proto3" json:"cfgname,omitempty"` - Tokentype []*Node `protobuf:"bytes,3,rep,name=tokentype,proto3" json:"tokentype,omitempty"` - Dicts []*Node `protobuf:"bytes,4,rep,name=dicts,proto3" json:"dicts,omitempty"` - Override bool `protobuf:"varint,5,opt,name=override,proto3" json:"override,omitempty"` - Replace bool `protobuf:"varint,6,opt,name=replace,proto3" json:"replace,omitempty"` - MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` -} - -func (x *AlterTSConfigurationStmt) Reset() { - *x = AlterTSConfigurationStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *JsonTableColumn) GetTypeName() *TypeName { + if x != nil { + return x.TypeName } + return nil } -func (x *AlterTSConfigurationStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AlterTSConfigurationStmt) ProtoMessage() {} - -func (x *AlterTSConfigurationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *JsonTableColumn) GetPathspec() *JsonTablePathSpec { + if x != nil { + return x.Pathspec } - return mi.MessageOf(x) -} - -// Deprecated: Use AlterTSConfigurationStmt.ProtoReflect.Descriptor instead. -func (*AlterTSConfigurationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{148} + return nil } -func (x *AlterTSConfigurationStmt) GetKind() AlterTSConfigType { +func (x *JsonTableColumn) GetFormat() *JsonFormat { if x != nil { - return x.Kind + return x.Format } - return AlterTSConfigType_ALTER_TSCONFIG_TYPE_UNDEFINED + return nil } -func (x *AlterTSConfigurationStmt) GetCfgname() []*Node { +func (x *JsonTableColumn) GetWrapper() JsonWrapper { if x != nil { - return x.Cfgname + return x.Wrapper } - return nil + return JsonWrapper_JSON_WRAPPER_UNDEFINED } -func (x *AlterTSConfigurationStmt) GetTokentype() []*Node { +func (x *JsonTableColumn) GetQuotes() JsonQuotes { if x != nil { - return x.Tokentype + return x.Quotes } - return nil + return JsonQuotes_JSON_QUOTES_UNDEFINED } -func (x *AlterTSConfigurationStmt) GetDicts() []*Node { +func (x *JsonTableColumn) GetColumns() []*Node { if x != nil { - return x.Dicts + return x.Columns } return nil } -func (x *AlterTSConfigurationStmt) GetOverride() bool { +func (x *JsonTableColumn) GetOnEmpty() *JsonBehavior { if x != nil { - return x.Override + return x.OnEmpty } - return false + return nil } -func (x *AlterTSConfigurationStmt) GetReplace() bool { +func (x *JsonTableColumn) GetOnError() *JsonBehavior { if x != nil { - return x.Replace + return x.OnError } - return false + return nil } -func (x *AlterTSConfigurationStmt) GetMissingOk() bool { +func (x *JsonTableColumn) GetLocation() int32 { if x != nil { - return x.MissingOk + return x.Location } - return false + return 0 } -type CreateFdwStmt struct { +type JsonKeyValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Key *Node `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value *JsonValueExpr `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } -func (x *CreateFdwStmt) Reset() { - *x = CreateFdwStmt{} +func (x *JsonKeyValue) Reset() { + *x = JsonKeyValue{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[149] + mi := &file_pg_query_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateFdwStmt) String() string { +func (x *JsonKeyValue) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateFdwStmt) ProtoMessage() {} +func (*JsonKeyValue) ProtoMessage() {} -func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[149] +func (x *JsonKeyValue) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20776,59 +21455,53 @@ func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateFdwStmt.ProtoReflect.Descriptor instead. -func (*CreateFdwStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{149} -} - -func (x *CreateFdwStmt) GetFdwname() string { - if x != nil { - return x.Fdwname - } - return "" +// Deprecated: Use JsonKeyValue.ProtoReflect.Descriptor instead. +func (*JsonKeyValue) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{132} } -func (x *CreateFdwStmt) GetFuncOptions() []*Node { +func (x *JsonKeyValue) GetKey() *Node { if x != nil { - return x.FuncOptions + return x.Key } return nil } -func (x *CreateFdwStmt) GetOptions() []*Node { +func (x *JsonKeyValue) GetValue() *JsonValueExpr { if x != nil { - return x.Options + return x.Value } return nil } -type AlterFdwStmt struct { +type JsonParseExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Expr *JsonValueExpr `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + UniqueKeys bool `protobuf:"varint,3,opt,name=unique_keys,proto3" json:"unique_keys,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterFdwStmt) Reset() { - *x = AlterFdwStmt{} +func (x *JsonParseExpr) Reset() { + *x = JsonParseExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[150] + mi := &file_pg_query_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterFdwStmt) String() string { +func (x *JsonParseExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterFdwStmt) ProtoMessage() {} +func (*JsonParseExpr) ProtoMessage() {} -func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[150] +func (x *JsonParseExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20839,62 +21512,66 @@ func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterFdwStmt.ProtoReflect.Descriptor instead. -func (*AlterFdwStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{150} +// Deprecated: Use JsonParseExpr.ProtoReflect.Descriptor instead. +func (*JsonParseExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{133} } -func (x *AlterFdwStmt) GetFdwname() string { +func (x *JsonParseExpr) GetExpr() *JsonValueExpr { if x != nil { - return x.Fdwname + return x.Expr } - return "" + return nil } -func (x *AlterFdwStmt) GetFuncOptions() []*Node { +func (x *JsonParseExpr) GetOutput() *JsonOutput { if x != nil { - return x.FuncOptions + return x.Output } return nil } -func (x *AlterFdwStmt) GetOptions() []*Node { +func (x *JsonParseExpr) GetUniqueKeys() bool { if x != nil { - return x.Options + return x.UniqueKeys } - return nil + return false } -type CreateForeignServerStmt struct { +func (x *JsonParseExpr) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonScalarExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` - Servertype string `protobuf:"bytes,2,opt,name=servertype,proto3" json:"servertype,omitempty"` - Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` - Fdwname string `protobuf:"bytes,4,opt,name=fdwname,proto3" json:"fdwname,omitempty"` - IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + Expr *Node `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateForeignServerStmt) Reset() { - *x = CreateForeignServerStmt{} +func (x *JsonScalarExpr) Reset() { + *x = JsonScalarExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[151] + mi := &file_pg_query_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateForeignServerStmt) String() string { +func (x *JsonScalarExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateForeignServerStmt) ProtoMessage() {} +func (*JsonScalarExpr) ProtoMessage() {} -func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[151] +func (x *JsonScalarExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20905,81 +21582,59 @@ func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateForeignServerStmt.ProtoReflect.Descriptor instead. -func (*CreateForeignServerStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{151} -} - -func (x *CreateForeignServerStmt) GetServername() string { - if x != nil { - return x.Servername - } - return "" -} - -func (x *CreateForeignServerStmt) GetServertype() string { - if x != nil { - return x.Servertype - } - return "" -} - -func (x *CreateForeignServerStmt) GetVersion() string { - if x != nil { - return x.Version - } - return "" +// Deprecated: Use JsonScalarExpr.ProtoReflect.Descriptor instead. +func (*JsonScalarExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{134} } -func (x *CreateForeignServerStmt) GetFdwname() string { +func (x *JsonScalarExpr) GetExpr() *Node { if x != nil { - return x.Fdwname + return x.Expr } - return "" + return nil } -func (x *CreateForeignServerStmt) GetIfNotExists() bool { +func (x *JsonScalarExpr) GetOutput() *JsonOutput { if x != nil { - return x.IfNotExists + return x.Output } - return false + return nil } -func (x *CreateForeignServerStmt) GetOptions() []*Node { +func (x *JsonScalarExpr) GetLocation() int32 { if x != nil { - return x.Options + return x.Location } - return nil + return 0 } -type AlterForeignServerStmt struct { +type JsonSerializeExpr struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` - Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` - HasVersion bool `protobuf:"varint,4,opt,name=has_version,proto3" json:"has_version,omitempty"` + Expr *JsonValueExpr `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterForeignServerStmt) Reset() { - *x = AlterForeignServerStmt{} +func (x *JsonSerializeExpr) Reset() { + *x = JsonSerializeExpr{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[152] + mi := &file_pg_query_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterForeignServerStmt) String() string { +func (x *JsonSerializeExpr) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterForeignServerStmt) ProtoMessage() {} +func (*JsonSerializeExpr) ProtoMessage() {} -func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[152] +func (x *JsonSerializeExpr) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20990,67 +21645,61 @@ func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterForeignServerStmt.ProtoReflect.Descriptor instead. -func (*AlterForeignServerStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{152} -} - -func (x *AlterForeignServerStmt) GetServername() string { - if x != nil { - return x.Servername - } - return "" +// Deprecated: Use JsonSerializeExpr.ProtoReflect.Descriptor instead. +func (*JsonSerializeExpr) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{135} } -func (x *AlterForeignServerStmt) GetVersion() string { +func (x *JsonSerializeExpr) GetExpr() *JsonValueExpr { if x != nil { - return x.Version + return x.Expr } - return "" + return nil } -func (x *AlterForeignServerStmt) GetOptions() []*Node { +func (x *JsonSerializeExpr) GetOutput() *JsonOutput { if x != nil { - return x.Options + return x.Output } return nil } -func (x *AlterForeignServerStmt) GetHasVersion() bool { +func (x *JsonSerializeExpr) GetLocation() int32 { if x != nil { - return x.HasVersion + return x.Location } - return false + return 0 } -type CreateUserMappingStmt struct { +type JsonObjectConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - IfNotExists bool `protobuf:"varint,3,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreateUserMappingStmt) Reset() { - *x = CreateUserMappingStmt{} +func (x *JsonObjectConstructor) Reset() { + *x = JsonObjectConstructor{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[153] + mi := &file_pg_query_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateUserMappingStmt) String() string { +func (x *JsonObjectConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateUserMappingStmt) ProtoMessage() {} +func (*JsonObjectConstructor) ProtoMessage() {} -func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[153] +func (x *JsonObjectConstructor) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21061,66 +21710,74 @@ func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateUserMappingStmt.ProtoReflect.Descriptor instead. -func (*CreateUserMappingStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{153} +// Deprecated: Use JsonObjectConstructor.ProtoReflect.Descriptor instead. +func (*JsonObjectConstructor) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{136} } -func (x *CreateUserMappingStmt) GetUser() *RoleSpec { +func (x *JsonObjectConstructor) GetExprs() []*Node { if x != nil { - return x.User + return x.Exprs } return nil } -func (x *CreateUserMappingStmt) GetServername() string { +func (x *JsonObjectConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Servername + return x.Output } - return "" + return nil } -func (x *CreateUserMappingStmt) GetIfNotExists() bool { +func (x *JsonObjectConstructor) GetAbsentOnNull() bool { if x != nil { - return x.IfNotExists + return x.AbsentOnNull } return false } -func (x *CreateUserMappingStmt) GetOptions() []*Node { +func (x *JsonObjectConstructor) GetUnique() bool { if x != nil { - return x.Options + return x.Unique } - return nil + return false } -type AlterUserMappingStmt struct { +func (x *JsonObjectConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonArrayConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Exprs []*Node `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterUserMappingStmt) Reset() { - *x = AlterUserMappingStmt{} +func (x *JsonArrayConstructor) Reset() { + *x = JsonArrayConstructor{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[154] + mi := &file_pg_query_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterUserMappingStmt) String() string { +func (x *JsonArrayConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterUserMappingStmt) ProtoMessage() {} +func (*JsonArrayConstructor) ProtoMessage() {} -func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[154] +func (x *JsonArrayConstructor) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21131,59 +21788,68 @@ func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterUserMappingStmt.ProtoReflect.Descriptor instead. -func (*AlterUserMappingStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{154} +// Deprecated: Use JsonArrayConstructor.ProtoReflect.Descriptor instead. +func (*JsonArrayConstructor) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{137} } -func (x *AlterUserMappingStmt) GetUser() *RoleSpec { +func (x *JsonArrayConstructor) GetExprs() []*Node { if x != nil { - return x.User + return x.Exprs } return nil } -func (x *AlterUserMappingStmt) GetServername() string { +func (x *JsonArrayConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Servername + return x.Output } - return "" + return nil } -func (x *AlterUserMappingStmt) GetOptions() []*Node { +func (x *JsonArrayConstructor) GetAbsentOnNull() bool { if x != nil { - return x.Options + return x.AbsentOnNull } - return nil + return false } -type DropUserMappingStmt struct { +func (x *JsonArrayConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonArrayQueryConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Output *JsonOutput `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` + Format *JsonFormat `protobuf:"bytes,3,opt,name=format,proto3" json:"format,omitempty"` + AbsentOnNull bool `protobuf:"varint,4,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *DropUserMappingStmt) Reset() { - *x = DropUserMappingStmt{} +func (x *JsonArrayQueryConstructor) Reset() { + *x = JsonArrayQueryConstructor{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[155] + mi := &file_pg_query_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DropUserMappingStmt) String() string { +func (x *JsonArrayQueryConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DropUserMappingStmt) ProtoMessage() {} +func (*JsonArrayQueryConstructor) ProtoMessage() {} -func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[155] +func (x *JsonArrayQueryConstructor) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21194,59 +21860,75 @@ func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DropUserMappingStmt.ProtoReflect.Descriptor instead. -func (*DropUserMappingStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{155} +// Deprecated: Use JsonArrayQueryConstructor.ProtoReflect.Descriptor instead. +func (*JsonArrayQueryConstructor) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{138} } -func (x *DropUserMappingStmt) GetUser() *RoleSpec { +func (x *JsonArrayQueryConstructor) GetQuery() *Node { if x != nil { - return x.User + return x.Query } return nil } -func (x *DropUserMappingStmt) GetServername() string { +func (x *JsonArrayQueryConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Servername + return x.Output } - return "" + return nil } -func (x *DropUserMappingStmt) GetMissingOk() bool { +func (x *JsonArrayQueryConstructor) GetFormat() *JsonFormat { if x != nil { - return x.MissingOk + return x.Format + } + return nil +} + +func (x *JsonArrayQueryConstructor) GetAbsentOnNull() bool { + if x != nil { + return x.AbsentOnNull } return false } -type AlterTableSpaceOptionsStmt struct { +func (x *JsonArrayQueryConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonAggConstructor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - IsReset bool `protobuf:"varint,3,opt,name=is_reset,json=isReset,proto3" json:"is_reset,omitempty"` + Output *JsonOutput `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` + AggFilter *Node `protobuf:"bytes,2,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` + AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` + Over *WindowDef `protobuf:"bytes,4,opt,name=over,proto3" json:"over,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *AlterTableSpaceOptionsStmt) Reset() { - *x = AlterTableSpaceOptionsStmt{} +func (x *JsonAggConstructor) Reset() { + *x = JsonAggConstructor{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[156] + mi := &file_pg_query_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTableSpaceOptionsStmt) String() string { +func (x *JsonAggConstructor) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableSpaceOptionsStmt) ProtoMessage() {} +func (*JsonAggConstructor) ProtoMessage() {} -func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[156] +func (x *JsonAggConstructor) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21257,61 +21939,74 @@ func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableSpaceOptionsStmt.ProtoReflect.Descriptor instead. -func (*AlterTableSpaceOptionsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{156} +// Deprecated: Use JsonAggConstructor.ProtoReflect.Descriptor instead. +func (*JsonAggConstructor) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{139} } -func (x *AlterTableSpaceOptionsStmt) GetTablespacename() string { +func (x *JsonAggConstructor) GetOutput() *JsonOutput { if x != nil { - return x.Tablespacename + return x.Output } - return "" + return nil } -func (x *AlterTableSpaceOptionsStmt) GetOptions() []*Node { +func (x *JsonAggConstructor) GetAggFilter() *Node { if x != nil { - return x.Options + return x.AggFilter } return nil } -func (x *AlterTableSpaceOptionsStmt) GetIsReset() bool { +func (x *JsonAggConstructor) GetAggOrder() []*Node { if x != nil { - return x.IsReset + return x.AggOrder } - return false + return nil } -type AlterTableMoveAllStmt struct { +func (x *JsonAggConstructor) GetOver() *WindowDef { + if x != nil { + return x.Over + } + return nil +} + +func (x *JsonAggConstructor) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type JsonObjectAgg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OrigTablespacename string `protobuf:"bytes,1,opt,name=orig_tablespacename,proto3" json:"orig_tablespacename,omitempty"` - Objtype ObjectType `protobuf:"varint,2,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` - NewTablespacename string `protobuf:"bytes,4,opt,name=new_tablespacename,proto3" json:"new_tablespacename,omitempty"` - Nowait bool `protobuf:"varint,5,opt,name=nowait,proto3" json:"nowait,omitempty"` + Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` + Arg *JsonKeyValue `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` + Unique bool `protobuf:"varint,4,opt,name=unique,proto3" json:"unique,omitempty"` } -func (x *AlterTableMoveAllStmt) Reset() { - *x = AlterTableMoveAllStmt{} +func (x *JsonObjectAgg) Reset() { + *x = JsonObjectAgg{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[157] + mi := &file_pg_query_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterTableMoveAllStmt) String() string { +func (x *JsonObjectAgg) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterTableMoveAllStmt) ProtoMessage() {} +func (*JsonObjectAgg) ProtoMessage() {} -func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[157] +func (x *JsonObjectAgg) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21322,74 +22017,66 @@ func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterTableMoveAllStmt.ProtoReflect.Descriptor instead. -func (*AlterTableMoveAllStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{157} -} - -func (x *AlterTableMoveAllStmt) GetOrigTablespacename() string { - if x != nil { - return x.OrigTablespacename - } - return "" +// Deprecated: Use JsonObjectAgg.ProtoReflect.Descriptor instead. +func (*JsonObjectAgg) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{140} } -func (x *AlterTableMoveAllStmt) GetObjtype() ObjectType { +func (x *JsonObjectAgg) GetConstructor() *JsonAggConstructor { if x != nil { - return x.Objtype + return x.Constructor } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *AlterTableMoveAllStmt) GetRoles() []*Node { +func (x *JsonObjectAgg) GetArg() *JsonKeyValue { if x != nil { - return x.Roles + return x.Arg } return nil } -func (x *AlterTableMoveAllStmt) GetNewTablespacename() string { +func (x *JsonObjectAgg) GetAbsentOnNull() bool { if x != nil { - return x.NewTablespacename + return x.AbsentOnNull } - return "" + return false } -func (x *AlterTableMoveAllStmt) GetNowait() bool { +func (x *JsonObjectAgg) GetUnique() bool { if x != nil { - return x.Nowait + return x.Unique } return false } -type SecLabelStmt struct { +type JsonArrayAgg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` + Constructor *JsonAggConstructor `protobuf:"bytes,1,opt,name=constructor,proto3" json:"constructor,omitempty"` + Arg *JsonValueExpr `protobuf:"bytes,2,opt,name=arg,proto3" json:"arg,omitempty"` + AbsentOnNull bool `protobuf:"varint,3,opt,name=absent_on_null,proto3" json:"absent_on_null,omitempty"` } -func (x *SecLabelStmt) Reset() { - *x = SecLabelStmt{} +func (x *JsonArrayAgg) Reset() { + *x = JsonArrayAgg{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[158] + mi := &file_pg_query_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SecLabelStmt) String() string { +func (x *JsonArrayAgg) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SecLabelStmt) ProtoMessage() {} +func (*JsonArrayAgg) ProtoMessage() {} -func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[158] +func (x *JsonArrayAgg) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21400,66 +22087,59 @@ func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SecLabelStmt.ProtoReflect.Descriptor instead. -func (*SecLabelStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{158} -} - -func (x *SecLabelStmt) GetObjtype() ObjectType { - if x != nil { - return x.Objtype - } - return ObjectType_OBJECT_TYPE_UNDEFINED +// Deprecated: Use JsonArrayAgg.ProtoReflect.Descriptor instead. +func (*JsonArrayAgg) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{141} } -func (x *SecLabelStmt) GetObject() *Node { +func (x *JsonArrayAgg) GetConstructor() *JsonAggConstructor { if x != nil { - return x.Object + return x.Constructor } return nil } -func (x *SecLabelStmt) GetProvider() string { +func (x *JsonArrayAgg) GetArg() *JsonValueExpr { if x != nil { - return x.Provider + return x.Arg } - return "" + return nil } -func (x *SecLabelStmt) GetLabel() string { +func (x *JsonArrayAgg) GetAbsentOnNull() bool { if x != nil { - return x.Label + return x.AbsentOnNull } - return "" + return false } -type CreateForeignTableStmt struct { +type RawStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BaseStmt *CreateStmt `protobuf:"bytes,1,opt,name=base_stmt,json=base,proto3" json:"base_stmt,omitempty"` - Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Stmt *Node `protobuf:"bytes,1,opt,name=stmt,proto3" json:"stmt,omitempty"` + StmtLocation int32 `protobuf:"varint,2,opt,name=stmt_location,proto3" json:"stmt_location,omitempty"` + StmtLen int32 `protobuf:"varint,3,opt,name=stmt_len,proto3" json:"stmt_len,omitempty"` } -func (x *CreateForeignTableStmt) Reset() { - *x = CreateForeignTableStmt{} +func (x *RawStmt) Reset() { + *x = RawStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[159] + mi := &file_pg_query_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateForeignTableStmt) String() string { +func (x *RawStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateForeignTableStmt) ProtoMessage() {} +func (*RawStmt) ProtoMessage() {} -func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[159] +func (x *RawStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21470,62 +22150,63 @@ func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateForeignTableStmt.ProtoReflect.Descriptor instead. -func (*CreateForeignTableStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{159} +// Deprecated: Use RawStmt.ProtoReflect.Descriptor instead. +func (*RawStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{142} } -func (x *CreateForeignTableStmt) GetBaseStmt() *CreateStmt { +func (x *RawStmt) GetStmt() *Node { if x != nil { - return x.BaseStmt + return x.Stmt } return nil } -func (x *CreateForeignTableStmt) GetServername() string { +func (x *RawStmt) GetStmtLocation() int32 { if x != nil { - return x.Servername + return x.StmtLocation } - return "" + return 0 } -func (x *CreateForeignTableStmt) GetOptions() []*Node { +func (x *RawStmt) GetStmtLen() int32 { if x != nil { - return x.Options + return x.StmtLen } - return nil + return 0 } -type ImportForeignSchemaStmt struct { +type InsertStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ServerName string `protobuf:"bytes,1,opt,name=server_name,proto3" json:"server_name,omitempty"` - RemoteSchema string `protobuf:"bytes,2,opt,name=remote_schema,proto3" json:"remote_schema,omitempty"` - LocalSchema string `protobuf:"bytes,3,opt,name=local_schema,proto3" json:"local_schema,omitempty"` - ListType ImportForeignSchemaType `protobuf:"varint,4,opt,name=list_type,proto3,enum=pg_query.ImportForeignSchemaType" json:"list_type,omitempty"` - TableList []*Node `protobuf:"bytes,5,rep,name=table_list,proto3" json:"table_list,omitempty"` - Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + SelectStmt *Node `protobuf:"bytes,3,opt,name=select_stmt,json=selectStmt,proto3" json:"select_stmt,omitempty"` + OnConflictClause *OnConflictClause `protobuf:"bytes,4,opt,name=on_conflict_clause,json=onConflictClause,proto3" json:"on_conflict_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Override OverridingKind `protobuf:"varint,7,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` } -func (x *ImportForeignSchemaStmt) Reset() { - *x = ImportForeignSchemaStmt{} +func (x *InsertStmt) Reset() { + *x = InsertStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[160] + mi := &file_pg_query_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ImportForeignSchemaStmt) String() string { +func (x *InsertStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ImportForeignSchemaStmt) ProtoMessage() {} +func (*InsertStmt) ProtoMessage() {} -func (x *ImportForeignSchemaStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[160] +func (x *InsertStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21536,80 +22217,89 @@ func (x *ImportForeignSchemaStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ImportForeignSchemaStmt.ProtoReflect.Descriptor instead. -func (*ImportForeignSchemaStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{160} +// Deprecated: Use InsertStmt.ProtoReflect.Descriptor instead. +func (*InsertStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{143} } -func (x *ImportForeignSchemaStmt) GetServerName() string { +func (x *InsertStmt) GetRelation() *RangeVar { if x != nil { - return x.ServerName + return x.Relation } - return "" + return nil } -func (x *ImportForeignSchemaStmt) GetRemoteSchema() string { +func (x *InsertStmt) GetCols() []*Node { if x != nil { - return x.RemoteSchema + return x.Cols } - return "" + return nil } -func (x *ImportForeignSchemaStmt) GetLocalSchema() string { +func (x *InsertStmt) GetSelectStmt() *Node { if x != nil { - return x.LocalSchema + return x.SelectStmt } - return "" + return nil } -func (x *ImportForeignSchemaStmt) GetListType() ImportForeignSchemaType { +func (x *InsertStmt) GetOnConflictClause() *OnConflictClause { if x != nil { - return x.ListType + return x.OnConflictClause } - return ImportForeignSchemaType_IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED + return nil } -func (x *ImportForeignSchemaStmt) GetTableList() []*Node { +func (x *InsertStmt) GetReturningList() []*Node { if x != nil { - return x.TableList + return x.ReturningList } return nil } -func (x *ImportForeignSchemaStmt) GetOptions() []*Node { +func (x *InsertStmt) GetWithClause() *WithClause { if x != nil { - return x.Options + return x.WithClause } return nil } -type CreateExtensionStmt struct { +func (x *InsertStmt) GetOverride() OverridingKind { + if x != nil { + return x.Override + } + return OverridingKind_OVERRIDING_KIND_UNDEFINED +} + +type DeleteStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - IfNotExists bool `protobuf:"varint,2,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` - Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + UsingClause []*Node `protobuf:"bytes,2,rep,name=using_clause,json=usingClause,proto3" json:"using_clause,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,4,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,5,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *CreateExtensionStmt) Reset() { - *x = CreateExtensionStmt{} +func (x *DeleteStmt) Reset() { + *x = DeleteStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[161] + mi := &file_pg_query_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateExtensionStmt) String() string { +func (x *DeleteStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateExtensionStmt) ProtoMessage() {} +func (*DeleteStmt) ProtoMessage() {} -func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[161] +func (x *DeleteStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21620,58 +22310,76 @@ func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateExtensionStmt.ProtoReflect.Descriptor instead. -func (*CreateExtensionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{161} +// Deprecated: Use DeleteStmt.ProtoReflect.Descriptor instead. +func (*DeleteStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{144} } -func (x *CreateExtensionStmt) GetExtname() string { +func (x *DeleteStmt) GetRelation() *RangeVar { if x != nil { - return x.Extname + return x.Relation } - return "" + return nil } -func (x *CreateExtensionStmt) GetIfNotExists() bool { +func (x *DeleteStmt) GetUsingClause() []*Node { if x != nil { - return x.IfNotExists + return x.UsingClause } - return false + return nil } -func (x *CreateExtensionStmt) GetOptions() []*Node { +func (x *DeleteStmt) GetWhereClause() *Node { if x != nil { - return x.Options + return x.WhereClause } return nil } -type AlterExtensionStmt struct { +func (x *DeleteStmt) GetReturningList() []*Node { + if x != nil { + return x.ReturningList + } + return nil +} + +func (x *DeleteStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause + } + return nil +} + +type UpdateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + TargetList []*Node `protobuf:"bytes,2,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *AlterExtensionStmt) Reset() { - *x = AlterExtensionStmt{} +func (x *UpdateStmt) Reset() { + *x = UpdateStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[162] + mi := &file_pg_query_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterExtensionStmt) String() string { +func (x *UpdateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterExtensionStmt) ProtoMessage() {} +func (*UpdateStmt) ProtoMessage() {} -func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[162] +func (x *UpdateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21682,53 +22390,83 @@ func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterExtensionStmt.ProtoReflect.Descriptor instead. -func (*AlterExtensionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{162} +// Deprecated: Use UpdateStmt.ProtoReflect.Descriptor instead. +func (*UpdateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{145} } -func (x *AlterExtensionStmt) GetExtname() string { +func (x *UpdateStmt) GetRelation() *RangeVar { if x != nil { - return x.Extname + return x.Relation } - return "" + return nil } -func (x *AlterExtensionStmt) GetOptions() []*Node { +func (x *UpdateStmt) GetTargetList() []*Node { if x != nil { - return x.Options + return x.TargetList } return nil } -type AlterExtensionContentsStmt struct { +func (x *UpdateStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *UpdateStmt) GetFromClause() []*Node { + if x != nil { + return x.FromClause + } + return nil +} + +func (x *UpdateStmt) GetReturningList() []*Node { + if x != nil { + return x.ReturningList + } + return nil +} + +func (x *UpdateStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause + } + return nil +} + +type MergeStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` - Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action,omitempty"` - Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` - Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + SourceRelation *Node `protobuf:"bytes,2,opt,name=source_relation,json=sourceRelation,proto3" json:"source_relation,omitempty"` + JoinCondition *Node `protobuf:"bytes,3,opt,name=join_condition,json=joinCondition,proto3" json:"join_condition,omitempty"` + MergeWhenClauses []*Node `protobuf:"bytes,4,rep,name=merge_when_clauses,json=mergeWhenClauses,proto3" json:"merge_when_clauses,omitempty"` + ReturningList []*Node `protobuf:"bytes,5,rep,name=returning_list,json=returningList,proto3" json:"returning_list,omitempty"` + WithClause *WithClause `protobuf:"bytes,6,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` } -func (x *AlterExtensionContentsStmt) Reset() { - *x = AlterExtensionContentsStmt{} +func (x *MergeStmt) Reset() { + *x = MergeStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[163] + mi := &file_pg_query_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterExtensionContentsStmt) String() string { +func (x *MergeStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterExtensionContentsStmt) ProtoMessage() {} +func (*MergeStmt) ProtoMessage() {} -func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[163] +func (x *MergeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21739,67 +22477,97 @@ func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterExtensionContentsStmt.ProtoReflect.Descriptor instead. -func (*AlterExtensionContentsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{163} +// Deprecated: Use MergeStmt.ProtoReflect.Descriptor instead. +func (*MergeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{146} } -func (x *AlterExtensionContentsStmt) GetExtname() string { +func (x *MergeStmt) GetRelation() *RangeVar { if x != nil { - return x.Extname + return x.Relation } - return "" + return nil } -func (x *AlterExtensionContentsStmt) GetAction() int32 { +func (x *MergeStmt) GetSourceRelation() *Node { if x != nil { - return x.Action + return x.SourceRelation } - return 0 + return nil } -func (x *AlterExtensionContentsStmt) GetObjtype() ObjectType { +func (x *MergeStmt) GetJoinCondition() *Node { if x != nil { - return x.Objtype + return x.JoinCondition } - return ObjectType_OBJECT_TYPE_UNDEFINED + return nil } -func (x *AlterExtensionContentsStmt) GetObject() *Node { +func (x *MergeStmt) GetMergeWhenClauses() []*Node { if x != nil { - return x.Object + return x.MergeWhenClauses } return nil } -type CreateEventTrigStmt struct { +func (x *MergeStmt) GetReturningList() []*Node { + if x != nil { + return x.ReturningList + } + return nil +} + +func (x *MergeStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause + } + return nil +} + +type SelectStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` - Eventname string `protobuf:"bytes,2,opt,name=eventname,proto3" json:"eventname,omitempty"` - Whenclause []*Node `protobuf:"bytes,3,rep,name=whenclause,proto3" json:"whenclause,omitempty"` - Funcname []*Node `protobuf:"bytes,4,rep,name=funcname,proto3" json:"funcname,omitempty"` + DistinctClause []*Node `protobuf:"bytes,1,rep,name=distinct_clause,json=distinctClause,proto3" json:"distinct_clause,omitempty"` + IntoClause *IntoClause `protobuf:"bytes,2,opt,name=into_clause,json=intoClause,proto3" json:"into_clause,omitempty"` + TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` + FromClause []*Node `protobuf:"bytes,4,rep,name=from_clause,json=fromClause,proto3" json:"from_clause,omitempty"` + WhereClause *Node `protobuf:"bytes,5,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + GroupClause []*Node `protobuf:"bytes,6,rep,name=group_clause,json=groupClause,proto3" json:"group_clause,omitempty"` + GroupDistinct bool `protobuf:"varint,7,opt,name=group_distinct,json=groupDistinct,proto3" json:"group_distinct,omitempty"` + HavingClause *Node `protobuf:"bytes,8,opt,name=having_clause,json=havingClause,proto3" json:"having_clause,omitempty"` + WindowClause []*Node `protobuf:"bytes,9,rep,name=window_clause,json=windowClause,proto3" json:"window_clause,omitempty"` + ValuesLists []*Node `protobuf:"bytes,10,rep,name=values_lists,json=valuesLists,proto3" json:"values_lists,omitempty"` + SortClause []*Node `protobuf:"bytes,11,rep,name=sort_clause,json=sortClause,proto3" json:"sort_clause,omitempty"` + LimitOffset *Node `protobuf:"bytes,12,opt,name=limit_offset,json=limitOffset,proto3" json:"limit_offset,omitempty"` + LimitCount *Node `protobuf:"bytes,13,opt,name=limit_count,json=limitCount,proto3" json:"limit_count,omitempty"` + LimitOption LimitOption `protobuf:"varint,14,opt,name=limit_option,json=limitOption,proto3,enum=pg_query.LimitOption" json:"limit_option,omitempty"` + LockingClause []*Node `protobuf:"bytes,15,rep,name=locking_clause,json=lockingClause,proto3" json:"locking_clause,omitempty"` + WithClause *WithClause `protobuf:"bytes,16,opt,name=with_clause,json=withClause,proto3" json:"with_clause,omitempty"` + Op SetOperation `protobuf:"varint,17,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` + All bool `protobuf:"varint,18,opt,name=all,proto3" json:"all,omitempty"` + Larg *SelectStmt `protobuf:"bytes,19,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *SelectStmt `protobuf:"bytes,20,opt,name=rarg,proto3" json:"rarg,omitempty"` } -func (x *CreateEventTrigStmt) Reset() { - *x = CreateEventTrigStmt{} +func (x *SelectStmt) Reset() { + *x = SelectStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[164] + mi := &file_pg_query_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateEventTrigStmt) String() string { +func (x *SelectStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateEventTrigStmt) ProtoMessage() {} +func (*SelectStmt) ProtoMessage() {} -func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[164] +func (x *SelectStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21810,183 +22578,183 @@ func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateEventTrigStmt.ProtoReflect.Descriptor instead. -func (*CreateEventTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{164} +// Deprecated: Use SelectStmt.ProtoReflect.Descriptor instead. +func (*SelectStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{147} } -func (x *CreateEventTrigStmt) GetTrigname() string { +func (x *SelectStmt) GetDistinctClause() []*Node { if x != nil { - return x.Trigname + return x.DistinctClause } - return "" + return nil } -func (x *CreateEventTrigStmt) GetEventname() string { +func (x *SelectStmt) GetIntoClause() *IntoClause { if x != nil { - return x.Eventname + return x.IntoClause } - return "" + return nil } -func (x *CreateEventTrigStmt) GetWhenclause() []*Node { +func (x *SelectStmt) GetTargetList() []*Node { if x != nil { - return x.Whenclause + return x.TargetList } return nil } -func (x *CreateEventTrigStmt) GetFuncname() []*Node { +func (x *SelectStmt) GetFromClause() []*Node { if x != nil { - return x.Funcname + return x.FromClause } return nil } -type AlterEventTrigStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` - Tgenabled string `protobuf:"bytes,2,opt,name=tgenabled,proto3" json:"tgenabled,omitempty"` +func (x *SelectStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil } -func (x *AlterEventTrigStmt) Reset() { - *x = AlterEventTrigStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SelectStmt) GetGroupClause() []*Node { + if x != nil { + return x.GroupClause } + return nil } -func (x *AlterEventTrigStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *SelectStmt) GetGroupDistinct() bool { + if x != nil { + return x.GroupDistinct + } + return false } -func (*AlterEventTrigStmt) ProtoMessage() {} - -func (x *AlterEventTrigStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SelectStmt) GetHavingClause() *Node { + if x != nil { + return x.HavingClause } - return mi.MessageOf(x) + return nil } -// Deprecated: Use AlterEventTrigStmt.ProtoReflect.Descriptor instead. -func (*AlterEventTrigStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{165} +func (x *SelectStmt) GetWindowClause() []*Node { + if x != nil { + return x.WindowClause + } + return nil } -func (x *AlterEventTrigStmt) GetTrigname() string { +func (x *SelectStmt) GetValuesLists() []*Node { if x != nil { - return x.Trigname + return x.ValuesLists } - return "" + return nil } -func (x *AlterEventTrigStmt) GetTgenabled() string { +func (x *SelectStmt) GetSortClause() []*Node { if x != nil { - return x.Tgenabled + return x.SortClause } - return "" + return nil } -type RefreshMatViewStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Concurrent bool `protobuf:"varint,1,opt,name=concurrent,proto3" json:"concurrent,omitempty"` - SkipData bool `protobuf:"varint,2,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` - Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` +func (x *SelectStmt) GetLimitOffset() *Node { + if x != nil { + return x.LimitOffset + } + return nil } -func (x *RefreshMatViewStmt) Reset() { - *x = RefreshMatViewStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SelectStmt) GetLimitCount() *Node { + if x != nil { + return x.LimitCount } + return nil } -func (x *RefreshMatViewStmt) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *SelectStmt) GetLimitOption() LimitOption { + if x != nil { + return x.LimitOption + } + return LimitOption_LIMIT_OPTION_UNDEFINED } -func (*RefreshMatViewStmt) ProtoMessage() {} +func (x *SelectStmt) GetLockingClause() []*Node { + if x != nil { + return x.LockingClause + } + return nil +} -func (x *RefreshMatViewStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SelectStmt) GetWithClause() *WithClause { + if x != nil { + return x.WithClause } - return mi.MessageOf(x) + return nil } -// Deprecated: Use RefreshMatViewStmt.ProtoReflect.Descriptor instead. -func (*RefreshMatViewStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{166} +func (x *SelectStmt) GetOp() SetOperation { + if x != nil { + return x.Op + } + return SetOperation_SET_OPERATION_UNDEFINED } -func (x *RefreshMatViewStmt) GetConcurrent() bool { +func (x *SelectStmt) GetAll() bool { if x != nil { - return x.Concurrent + return x.All } return false } -func (x *RefreshMatViewStmt) GetSkipData() bool { +func (x *SelectStmt) GetLarg() *SelectStmt { if x != nil { - return x.SkipData + return x.Larg } - return false + return nil } -func (x *RefreshMatViewStmt) GetRelation() *RangeVar { +func (x *SelectStmt) GetRarg() *SelectStmt { if x != nil { - return x.Relation + return x.Rarg } return nil } -type ReplicaIdentityStmt struct { +type SetOperationStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IdentityType string `protobuf:"bytes,1,opt,name=identity_type,proto3" json:"identity_type,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Op SetOperation `protobuf:"varint,1,opt,name=op,proto3,enum=pg_query.SetOperation" json:"op,omitempty"` + All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` + Larg *Node `protobuf:"bytes,3,opt,name=larg,proto3" json:"larg,omitempty"` + Rarg *Node `protobuf:"bytes,4,opt,name=rarg,proto3" json:"rarg,omitempty"` + ColTypes []*Node `protobuf:"bytes,5,rep,name=col_types,json=colTypes,proto3" json:"col_types,omitempty"` + ColTypmods []*Node `protobuf:"bytes,6,rep,name=col_typmods,json=colTypmods,proto3" json:"col_typmods,omitempty"` + ColCollations []*Node `protobuf:"bytes,7,rep,name=col_collations,json=colCollations,proto3" json:"col_collations,omitempty"` + GroupClauses []*Node `protobuf:"bytes,8,rep,name=group_clauses,json=groupClauses,proto3" json:"group_clauses,omitempty"` } -func (x *ReplicaIdentityStmt) Reset() { - *x = ReplicaIdentityStmt{} +func (x *SetOperationStmt) Reset() { + *x = SetOperationStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[167] + mi := &file_pg_query_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ReplicaIdentityStmt) String() string { +func (x *SetOperationStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ReplicaIdentityStmt) ProtoMessage() {} +func (*SetOperationStmt) ProtoMessage() {} -func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[167] +func (x *SetOperationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21997,50 +22765,92 @@ func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ReplicaIdentityStmt.ProtoReflect.Descriptor instead. -func (*ReplicaIdentityStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{167} +// Deprecated: Use SetOperationStmt.ProtoReflect.Descriptor instead. +func (*SetOperationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{148} } -func (x *ReplicaIdentityStmt) GetIdentityType() string { +func (x *SetOperationStmt) GetOp() SetOperation { if x != nil { - return x.IdentityType + return x.Op } - return "" + return SetOperation_SET_OPERATION_UNDEFINED } -func (x *ReplicaIdentityStmt) GetName() string { +func (x *SetOperationStmt) GetAll() bool { if x != nil { - return x.Name + return x.All } - return "" + return false } -type AlterSystemStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Setstmt *VariableSetStmt `protobuf:"bytes,1,opt,name=setstmt,proto3" json:"setstmt,omitempty"` +func (x *SetOperationStmt) GetLarg() *Node { + if x != nil { + return x.Larg + } + return nil } -func (x *AlterSystemStmt) Reset() { - *x = AlterSystemStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[168] +func (x *SetOperationStmt) GetRarg() *Node { + if x != nil { + return x.Rarg + } + return nil +} + +func (x *SetOperationStmt) GetColTypes() []*Node { + if x != nil { + return x.ColTypes + } + return nil +} + +func (x *SetOperationStmt) GetColTypmods() []*Node { + if x != nil { + return x.ColTypmods + } + return nil +} + +func (x *SetOperationStmt) GetColCollations() []*Node { + if x != nil { + return x.ColCollations + } + return nil +} + +func (x *SetOperationStmt) GetGroupClauses() []*Node { + if x != nil { + return x.GroupClauses + } + return nil +} + +type ReturnStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Returnval *Node `protobuf:"bytes,1,opt,name=returnval,proto3" json:"returnval,omitempty"` +} + +func (x *ReturnStmt) Reset() { + *x = ReturnStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterSystemStmt) String() string { +func (x *ReturnStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSystemStmt) ProtoMessage() {} +func (*ReturnStmt) ProtoMessage() {} -func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[168] +func (x *ReturnStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22051,49 +22861,47 @@ func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSystemStmt.ProtoReflect.Descriptor instead. -func (*AlterSystemStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{168} +// Deprecated: Use ReturnStmt.ProtoReflect.Descriptor instead. +func (*ReturnStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{149} } -func (x *AlterSystemStmt) GetSetstmt() *VariableSetStmt { +func (x *ReturnStmt) GetReturnval() *Node { if x != nil { - return x.Setstmt + return x.Returnval } return nil } -type CreatePolicyStmt struct { +type PLAssignStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` - Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - CmdName string `protobuf:"bytes,3,opt,name=cmd_name,proto3" json:"cmd_name,omitempty"` - Permissive bool `protobuf:"varint,4,opt,name=permissive,proto3" json:"permissive,omitempty"` - Roles []*Node `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` - Qual *Node `protobuf:"bytes,6,opt,name=qual,proto3" json:"qual,omitempty"` - WithCheck *Node `protobuf:"bytes,7,opt,name=with_check,proto3" json:"with_check,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` + Nnames int32 `protobuf:"varint,3,opt,name=nnames,proto3" json:"nnames,omitempty"` + Val *SelectStmt `protobuf:"bytes,4,opt,name=val,proto3" json:"val,omitempty"` + Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` } -func (x *CreatePolicyStmt) Reset() { - *x = CreatePolicyStmt{} +func (x *PLAssignStmt) Reset() { + *x = PLAssignStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[169] + mi := &file_pg_query_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePolicyStmt) String() string { +func (x *PLAssignStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePolicyStmt) ProtoMessage() {} +func (*PLAssignStmt) ProtoMessage() {} -func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[169] +func (x *PLAssignStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22104,89 +22912,74 @@ func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePolicyStmt.ProtoReflect.Descriptor instead. -func (*CreatePolicyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{169} +// Deprecated: Use PLAssignStmt.ProtoReflect.Descriptor instead. +func (*PLAssignStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{150} } -func (x *CreatePolicyStmt) GetPolicyName() string { +func (x *PLAssignStmt) GetName() string { if x != nil { - return x.PolicyName + return x.Name } return "" } -func (x *CreatePolicyStmt) GetTable() *RangeVar { +func (x *PLAssignStmt) GetIndirection() []*Node { if x != nil { - return x.Table + return x.Indirection } return nil } -func (x *CreatePolicyStmt) GetCmdName() string { - if x != nil { - return x.CmdName - } - return "" -} - -func (x *CreatePolicyStmt) GetPermissive() bool { - if x != nil { - return x.Permissive - } - return false -} - -func (x *CreatePolicyStmt) GetRoles() []*Node { +func (x *PLAssignStmt) GetNnames() int32 { if x != nil { - return x.Roles + return x.Nnames } - return nil + return 0 } -func (x *CreatePolicyStmt) GetQual() *Node { +func (x *PLAssignStmt) GetVal() *SelectStmt { if x != nil { - return x.Qual + return x.Val } return nil } -func (x *CreatePolicyStmt) GetWithCheck() *Node { +func (x *PLAssignStmt) GetLocation() int32 { if x != nil { - return x.WithCheck + return x.Location } - return nil + return 0 } -type AlterPolicyStmt struct { +type CreateSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` - Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` - Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - WithCheck *Node `protobuf:"bytes,5,opt,name=with_check,proto3" json:"with_check,omitempty"` + Schemaname string `protobuf:"bytes,1,opt,name=schemaname,proto3" json:"schemaname,omitempty"` + Authrole *RoleSpec `protobuf:"bytes,2,opt,name=authrole,proto3" json:"authrole,omitempty"` + SchemaElts []*Node `protobuf:"bytes,3,rep,name=schema_elts,json=schemaElts,proto3" json:"schema_elts,omitempty"` + IfNotExists bool `protobuf:"varint,4,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *AlterPolicyStmt) Reset() { - *x = AlterPolicyStmt{} +func (x *CreateSchemaStmt) Reset() { + *x = CreateSchemaStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[170] + mi := &file_pg_query_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterPolicyStmt) String() string { +func (x *CreateSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterPolicyStmt) ProtoMessage() {} +func (*CreateSchemaStmt) ProtoMessage() {} -func (x *AlterPolicyStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[170] +func (x *CreateSchemaStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22197,75 +22990,67 @@ func (x *AlterPolicyStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterPolicyStmt.ProtoReflect.Descriptor instead. -func (*AlterPolicyStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{170} +// Deprecated: Use CreateSchemaStmt.ProtoReflect.Descriptor instead. +func (*CreateSchemaStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{151} } -func (x *AlterPolicyStmt) GetPolicyName() string { +func (x *CreateSchemaStmt) GetSchemaname() string { if x != nil { - return x.PolicyName + return x.Schemaname } return "" } -func (x *AlterPolicyStmt) GetTable() *RangeVar { - if x != nil { - return x.Table - } - return nil -} - -func (x *AlterPolicyStmt) GetRoles() []*Node { +func (x *CreateSchemaStmt) GetAuthrole() *RoleSpec { if x != nil { - return x.Roles + return x.Authrole } return nil } -func (x *AlterPolicyStmt) GetQual() *Node { +func (x *CreateSchemaStmt) GetSchemaElts() []*Node { if x != nil { - return x.Qual + return x.SchemaElts } return nil } -func (x *AlterPolicyStmt) GetWithCheck() *Node { +func (x *CreateSchemaStmt) GetIfNotExists() bool { if x != nil { - return x.WithCheck + return x.IfNotExists } - return nil + return false } -type CreateTransformStmt struct { +type AlterTableStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,proto3" json:"type_name,omitempty"` - Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` - Fromsql *ObjectWithArgs `protobuf:"bytes,4,opt,name=fromsql,proto3" json:"fromsql,omitempty"` - Tosql *ObjectWithArgs `protobuf:"bytes,5,opt,name=tosql,proto3" json:"tosql,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Cmds []*Node `protobuf:"bytes,2,rep,name=cmds,proto3" json:"cmds,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *CreateTransformStmt) Reset() { - *x = CreateTransformStmt{} +func (x *AlterTableStmt) Reset() { + *x = AlterTableStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[171] + mi := &file_pg_query_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateTransformStmt) String() string { +func (x *AlterTableStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateTransformStmt) ProtoMessage() {} +func (*AlterTableStmt) ProtoMessage() {} -func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[171] +func (x *AlterTableStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22276,73 +23061,65 @@ func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateTransformStmt.ProtoReflect.Descriptor instead. -func (*CreateTransformStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{171} -} - -func (x *CreateTransformStmt) GetReplace() bool { - if x != nil { - return x.Replace - } - return false +// Deprecated: Use AlterTableStmt.ProtoReflect.Descriptor instead. +func (*AlterTableStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{152} } -func (x *CreateTransformStmt) GetTypeName() *TypeName { +func (x *AlterTableStmt) GetRelation() *RangeVar { if x != nil { - return x.TypeName + return x.Relation } return nil } -func (x *CreateTransformStmt) GetLang() string { +func (x *AlterTableStmt) GetCmds() []*Node { if x != nil { - return x.Lang + return x.Cmds } - return "" + return nil } -func (x *CreateTransformStmt) GetFromsql() *ObjectWithArgs { +func (x *AlterTableStmt) GetObjtype() ObjectType { if x != nil { - return x.Fromsql + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *CreateTransformStmt) GetTosql() *ObjectWithArgs { +func (x *AlterTableStmt) GetMissingOk() bool { if x != nil { - return x.Tosql + return x.MissingOk } - return nil + return false } -type CreateAmStmt struct { +type ReplicaIdentityStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Amname string `protobuf:"bytes,1,opt,name=amname,proto3" json:"amname,omitempty"` - HandlerName []*Node `protobuf:"bytes,2,rep,name=handler_name,proto3" json:"handler_name,omitempty"` - Amtype string `protobuf:"bytes,3,opt,name=amtype,proto3" json:"amtype,omitempty"` + IdentityType string `protobuf:"bytes,1,opt,name=identity_type,proto3" json:"identity_type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` } -func (x *CreateAmStmt) Reset() { - *x = CreateAmStmt{} +func (x *ReplicaIdentityStmt) Reset() { + *x = ReplicaIdentityStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[172] + mi := &file_pg_query_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateAmStmt) String() string { +func (x *ReplicaIdentityStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateAmStmt) ProtoMessage() {} +func (*ReplicaIdentityStmt) ProtoMessage() {} -func (x *CreateAmStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[172] +func (x *ReplicaIdentityStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22353,60 +23130,57 @@ func (x *CreateAmStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateAmStmt.ProtoReflect.Descriptor instead. -func (*CreateAmStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{172} +// Deprecated: Use ReplicaIdentityStmt.ProtoReflect.Descriptor instead. +func (*ReplicaIdentityStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{153} } -func (x *CreateAmStmt) GetAmname() string { +func (x *ReplicaIdentityStmt) GetIdentityType() string { if x != nil { - return x.Amname + return x.IdentityType } return "" } -func (x *CreateAmStmt) GetHandlerName() []*Node { - if x != nil { - return x.HandlerName - } - return nil -} - -func (x *CreateAmStmt) GetAmtype() string { +func (x *ReplicaIdentityStmt) GetName() string { if x != nil { - return x.Amtype + return x.Name } return "" } -type CreatePublicationStmt struct { +type AlterTableCmd struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` - ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` + Subtype AlterTableType `protobuf:"varint,1,opt,name=subtype,proto3,enum=pg_query.AlterTableType" json:"subtype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Num int32 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` + Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` + Def *Node `protobuf:"bytes,5,opt,name=def,proto3" json:"def,omitempty"` + Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Recurse bool `protobuf:"varint,8,opt,name=recurse,proto3" json:"recurse,omitempty"` } -func (x *CreatePublicationStmt) Reset() { - *x = CreatePublicationStmt{} +func (x *AlterTableCmd) Reset() { + *x = AlterTableCmd{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[173] + mi := &file_pg_query_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreatePublicationStmt) String() string { +func (x *AlterTableCmd) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreatePublicationStmt) ProtoMessage() {} +func (*AlterTableCmd) ProtoMessage() {} -func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[173] +func (x *AlterTableCmd) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22417,68 +23191,92 @@ func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreatePublicationStmt.ProtoReflect.Descriptor instead. -func (*CreatePublicationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{173} +// Deprecated: Use AlterTableCmd.ProtoReflect.Descriptor instead. +func (*AlterTableCmd) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{154} } -func (x *CreatePublicationStmt) GetPubname() string { +func (x *AlterTableCmd) GetSubtype() AlterTableType { if x != nil { - return x.Pubname + return x.Subtype + } + return AlterTableType_ALTER_TABLE_TYPE_UNDEFINED +} + +func (x *AlterTableCmd) GetName() string { + if x != nil { + return x.Name } return "" } -func (x *CreatePublicationStmt) GetOptions() []*Node { +func (x *AlterTableCmd) GetNum() int32 { if x != nil { - return x.Options + return x.Num + } + return 0 +} + +func (x *AlterTableCmd) GetNewowner() *RoleSpec { + if x != nil { + return x.Newowner } return nil } -func (x *CreatePublicationStmt) GetPubobjects() []*Node { +func (x *AlterTableCmd) GetDef() *Node { if x != nil { - return x.Pubobjects + return x.Def } return nil } -func (x *CreatePublicationStmt) GetForAllTables() bool { +func (x *AlterTableCmd) GetBehavior() DropBehavior { if x != nil { - return x.ForAllTables + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +func (x *AlterTableCmd) GetMissingOk() bool { + if x != nil { + return x.MissingOk } return false } -type AlterPublicationStmt struct { +func (x *AlterTableCmd) GetRecurse() bool { + if x != nil { + return x.Recurse + } + return false +} + +type AlterCollationStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` - Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` - Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` - ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` - Action AlterPublicationAction `protobuf:"varint,5,opt,name=action,proto3,enum=pg_query.AlterPublicationAction" json:"action,omitempty"` + Collname []*Node `protobuf:"bytes,1,rep,name=collname,proto3" json:"collname,omitempty"` } -func (x *AlterPublicationStmt) Reset() { - *x = AlterPublicationStmt{} +func (x *AlterCollationStmt) Reset() { + *x = AlterCollationStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[174] + mi := &file_pg_query_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterPublicationStmt) String() string { +func (x *AlterCollationStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterPublicationStmt) ProtoMessage() {} +func (*AlterCollationStmt) ProtoMessage() {} -func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[174] +func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22489,74 +23287,48 @@ func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterPublicationStmt.ProtoReflect.Descriptor instead. -func (*AlterPublicationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{174} -} - -func (x *AlterPublicationStmt) GetPubname() string { - if x != nil { - return x.Pubname - } - return "" -} - -func (x *AlterPublicationStmt) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil +// Deprecated: Use AlterCollationStmt.ProtoReflect.Descriptor instead. +func (*AlterCollationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{155} } -func (x *AlterPublicationStmt) GetPubobjects() []*Node { +func (x *AlterCollationStmt) GetCollname() []*Node { if x != nil { - return x.Pubobjects + return x.Collname } return nil } -func (x *AlterPublicationStmt) GetForAllTables() bool { - if x != nil { - return x.ForAllTables - } - return false -} - -func (x *AlterPublicationStmt) GetAction() AlterPublicationAction { - if x != nil { - return x.Action - } - return AlterPublicationAction_ALTER_PUBLICATION_ACTION_UNDEFINED -} - -type CreateSubscriptionStmt struct { +type AlterDomainStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` - Conninfo string `protobuf:"bytes,2,opt,name=conninfo,proto3" json:"conninfo,omitempty"` - Publication []*Node `protobuf:"bytes,3,rep,name=publication,proto3" json:"publication,omitempty"` - Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` + Subtype string `protobuf:"bytes,1,opt,name=subtype,proto3" json:"subtype,omitempty"` + TypeName []*Node `protobuf:"bytes,2,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Def *Node `protobuf:"bytes,4,opt,name=def,proto3" json:"def,omitempty"` + Behavior DropBehavior `protobuf:"varint,5,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,6,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *CreateSubscriptionStmt) Reset() { - *x = CreateSubscriptionStmt{} +func (x *AlterDomainStmt) Reset() { + *x = AlterDomainStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[175] + mi := &file_pg_query_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateSubscriptionStmt) String() string { +func (x *AlterDomainStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateSubscriptionStmt) ProtoMessage() {} +func (*AlterDomainStmt) ProtoMessage() {} -func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[175] +func (x *AlterDomainStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22567,68 +23339,86 @@ func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*CreateSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{175} +// Deprecated: Use AlterDomainStmt.ProtoReflect.Descriptor instead. +func (*AlterDomainStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{156} } -func (x *CreateSubscriptionStmt) GetSubname() string { +func (x *AlterDomainStmt) GetSubtype() string { if x != nil { - return x.Subname + return x.Subtype } return "" } -func (x *CreateSubscriptionStmt) GetConninfo() string { +func (x *AlterDomainStmt) GetTypeName() []*Node { if x != nil { - return x.Conninfo + return x.TypeName } - return "" + return nil } -func (x *CreateSubscriptionStmt) GetPublication() []*Node { +func (x *AlterDomainStmt) GetName() string { if x != nil { - return x.Publication + return x.Name } - return nil + return "" } -func (x *CreateSubscriptionStmt) GetOptions() []*Node { +func (x *AlterDomainStmt) GetDef() *Node { if x != nil { - return x.Options + return x.Def } return nil } -type AlterSubscriptionStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Kind AlterSubscriptionType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterSubscriptionType" json:"kind,omitempty"` - Subname string `protobuf:"bytes,2,opt,name=subname,proto3" json:"subname,omitempty"` - Conninfo string `protobuf:"bytes,3,opt,name=conninfo,proto3" json:"conninfo,omitempty"` - Publication []*Node `protobuf:"bytes,4,rep,name=publication,proto3" json:"publication,omitempty"` - Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` +func (x *AlterDomainStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -func (x *AlterSubscriptionStmt) Reset() { - *x = AlterSubscriptionStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *AlterDomainStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk } + return false } -func (x *AlterSubscriptionStmt) String() string { +type GrantStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsGrant bool `protobuf:"varint,1,opt,name=is_grant,proto3" json:"is_grant,omitempty"` + Targtype GrantTargetType `protobuf:"varint,2,opt,name=targtype,proto3,enum=pg_query.GrantTargetType" json:"targtype,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Objects []*Node `protobuf:"bytes,4,rep,name=objects,proto3" json:"objects,omitempty"` + Privileges []*Node `protobuf:"bytes,5,rep,name=privileges,proto3" json:"privileges,omitempty"` + Grantees []*Node `protobuf:"bytes,6,rep,name=grantees,proto3" json:"grantees,omitempty"` + GrantOption bool `protobuf:"varint,7,opt,name=grant_option,proto3" json:"grant_option,omitempty"` + Grantor *RoleSpec `protobuf:"bytes,8,opt,name=grantor,proto3" json:"grantor,omitempty"` + Behavior DropBehavior `protobuf:"varint,9,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *GrantStmt) Reset() { + *x = GrantStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrantStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterSubscriptionStmt) ProtoMessage() {} +func (*GrantStmt) ProtoMessage() {} -func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[176] +func (x *GrantStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22639,140 +23429,102 @@ func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*AlterSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{176} +// Deprecated: Use GrantStmt.ProtoReflect.Descriptor instead. +func (*GrantStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{157} } -func (x *AlterSubscriptionStmt) GetKind() AlterSubscriptionType { +func (x *GrantStmt) GetIsGrant() bool { if x != nil { - return x.Kind + return x.IsGrant } - return AlterSubscriptionType_ALTER_SUBSCRIPTION_TYPE_UNDEFINED + return false } -func (x *AlterSubscriptionStmt) GetSubname() string { +func (x *GrantStmt) GetTargtype() GrantTargetType { if x != nil { - return x.Subname + return x.Targtype } - return "" + return GrantTargetType_GRANT_TARGET_TYPE_UNDEFINED } -func (x *AlterSubscriptionStmt) GetConninfo() string { +func (x *GrantStmt) GetObjtype() ObjectType { if x != nil { - return x.Conninfo + return x.Objtype } - return "" + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *AlterSubscriptionStmt) GetPublication() []*Node { +func (x *GrantStmt) GetObjects() []*Node { if x != nil { - return x.Publication + return x.Objects } return nil } -func (x *AlterSubscriptionStmt) GetOptions() []*Node { +func (x *GrantStmt) GetPrivileges() []*Node { if x != nil { - return x.Options + return x.Privileges } return nil } -type DropSubscriptionStmt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` - MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` - Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` -} - -func (x *DropSubscriptionStmt) Reset() { - *x = DropSubscriptionStmt{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DropSubscriptionStmt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DropSubscriptionStmt) ProtoMessage() {} - -func (x *DropSubscriptionStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[177] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *GrantStmt) GetGrantees() []*Node { + if x != nil { + return x.Grantees } - return mi.MessageOf(x) -} - -// Deprecated: Use DropSubscriptionStmt.ProtoReflect.Descriptor instead. -func (*DropSubscriptionStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{177} + return nil } -func (x *DropSubscriptionStmt) GetSubname() string { +func (x *GrantStmt) GetGrantOption() bool { if x != nil { - return x.Subname + return x.GrantOption } - return "" + return false } -func (x *DropSubscriptionStmt) GetMissingOk() bool { +func (x *GrantStmt) GetGrantor() *RoleSpec { if x != nil { - return x.MissingOk + return x.Grantor } - return false + return nil } -func (x *DropSubscriptionStmt) GetBehavior() DropBehavior { +func (x *GrantStmt) GetBehavior() DropBehavior { if x != nil { return x.Behavior } return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -type CreateStatsStmt struct { +type ObjectWithArgs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` - StatTypes []*Node `protobuf:"bytes,2,rep,name=stat_types,proto3" json:"stat_types,omitempty"` - Exprs []*Node `protobuf:"bytes,3,rep,name=exprs,proto3" json:"exprs,omitempty"` - Relations []*Node `protobuf:"bytes,4,rep,name=relations,proto3" json:"relations,omitempty"` - Stxcomment string `protobuf:"bytes,5,opt,name=stxcomment,proto3" json:"stxcomment,omitempty"` - Transformed bool `protobuf:"varint,6,opt,name=transformed,proto3" json:"transformed,omitempty"` - IfNotExists bool `protobuf:"varint,7,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Objname []*Node `protobuf:"bytes,1,rep,name=objname,proto3" json:"objname,omitempty"` + Objargs []*Node `protobuf:"bytes,2,rep,name=objargs,proto3" json:"objargs,omitempty"` + Objfuncargs []*Node `protobuf:"bytes,3,rep,name=objfuncargs,proto3" json:"objfuncargs,omitempty"` + ArgsUnspecified bool `protobuf:"varint,4,opt,name=args_unspecified,proto3" json:"args_unspecified,omitempty"` } -func (x *CreateStatsStmt) Reset() { - *x = CreateStatsStmt{} +func (x *ObjectWithArgs) Reset() { + *x = ObjectWithArgs{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[178] + mi := &file_pg_query_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateStatsStmt) String() string { +func (x *ObjectWithArgs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateStatsStmt) ProtoMessage() {} +func (*ObjectWithArgs) ProtoMessage() {} -func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[178] +func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22783,85 +23535,65 @@ func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateStatsStmt.ProtoReflect.Descriptor instead. -func (*CreateStatsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{178} -} - -func (x *CreateStatsStmt) GetDefnames() []*Node { - if x != nil { - return x.Defnames - } - return nil +// Deprecated: Use ObjectWithArgs.ProtoReflect.Descriptor instead. +func (*ObjectWithArgs) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{158} } -func (x *CreateStatsStmt) GetStatTypes() []*Node { +func (x *ObjectWithArgs) GetObjname() []*Node { if x != nil { - return x.StatTypes + return x.Objname } return nil } -func (x *CreateStatsStmt) GetExprs() []*Node { +func (x *ObjectWithArgs) GetObjargs() []*Node { if x != nil { - return x.Exprs + return x.Objargs } return nil } -func (x *CreateStatsStmt) GetRelations() []*Node { +func (x *ObjectWithArgs) GetObjfuncargs() []*Node { if x != nil { - return x.Relations + return x.Objfuncargs } return nil } -func (x *CreateStatsStmt) GetStxcomment() string { - if x != nil { - return x.Stxcomment - } - return "" -} - -func (x *CreateStatsStmt) GetTransformed() bool { - if x != nil { - return x.Transformed - } - return false -} - -func (x *CreateStatsStmt) GetIfNotExists() bool { +func (x *ObjectWithArgs) GetArgsUnspecified() bool { if x != nil { - return x.IfNotExists + return x.ArgsUnspecified } return false } -type AlterCollationStmt struct { +type AccessPriv struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Collname []*Node `protobuf:"bytes,1,rep,name=collname,proto3" json:"collname,omitempty"` + PrivName string `protobuf:"bytes,1,opt,name=priv_name,proto3" json:"priv_name,omitempty"` + Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` } -func (x *AlterCollationStmt) Reset() { - *x = AlterCollationStmt{} +func (x *AccessPriv) Reset() { + *x = AccessPriv{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[179] + mi := &file_pg_query_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterCollationStmt) String() string { +func (x *AccessPriv) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterCollationStmt) ProtoMessage() {} +func (*AccessPriv) ProtoMessage() {} -func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[179] +func (x *AccessPriv) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22872,45 +23604,55 @@ func (x *AlterCollationStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterCollationStmt.ProtoReflect.Descriptor instead. -func (*AlterCollationStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{179} +// Deprecated: Use AccessPriv.ProtoReflect.Descriptor instead. +func (*AccessPriv) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{159} } -func (x *AlterCollationStmt) GetCollname() []*Node { +func (x *AccessPriv) GetPrivName() string { if x != nil { - return x.Collname + return x.PrivName + } + return "" +} + +func (x *AccessPriv) GetCols() []*Node { + if x != nil { + return x.Cols } return nil } -type CallStmt struct { +type GrantRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Funccall *FuncCall `protobuf:"bytes,1,opt,name=funccall,proto3" json:"funccall,omitempty"` - Funcexpr *FuncExpr `protobuf:"bytes,2,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` - Outargs []*Node `protobuf:"bytes,3,rep,name=outargs,proto3" json:"outargs,omitempty"` + GrantedRoles []*Node `protobuf:"bytes,1,rep,name=granted_roles,proto3" json:"granted_roles,omitempty"` + GranteeRoles []*Node `protobuf:"bytes,2,rep,name=grantee_roles,proto3" json:"grantee_roles,omitempty"` + IsGrant bool `protobuf:"varint,3,opt,name=is_grant,proto3" json:"is_grant,omitempty"` + Opt []*Node `protobuf:"bytes,4,rep,name=opt,proto3" json:"opt,omitempty"` + Grantor *RoleSpec `protobuf:"bytes,5,opt,name=grantor,proto3" json:"grantor,omitempty"` + Behavior DropBehavior `protobuf:"varint,6,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` } -func (x *CallStmt) Reset() { - *x = CallStmt{} +func (x *GrantRoleStmt) Reset() { + *x = GrantRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[180] + mi := &file_pg_query_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CallStmt) String() string { +func (x *GrantRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CallStmt) ProtoMessage() {} +func (*GrantRoleStmt) ProtoMessage() {} -func (x *CallStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[180] +func (x *GrantRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22921,59 +23663,79 @@ func (x *CallStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CallStmt.ProtoReflect.Descriptor instead. -func (*CallStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{180} -} - -func (x *CallStmt) GetFunccall() *FuncCall { +// Deprecated: Use GrantRoleStmt.ProtoReflect.Descriptor instead. +func (*GrantRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{160} +} + +func (x *GrantRoleStmt) GetGrantedRoles() []*Node { if x != nil { - return x.Funccall + return x.GrantedRoles } return nil } -func (x *CallStmt) GetFuncexpr() *FuncExpr { +func (x *GrantRoleStmt) GetGranteeRoles() []*Node { if x != nil { - return x.Funcexpr + return x.GranteeRoles } return nil } -func (x *CallStmt) GetOutargs() []*Node { +func (x *GrantRoleStmt) GetIsGrant() bool { if x != nil { - return x.Outargs + return x.IsGrant + } + return false +} + +func (x *GrantRoleStmt) GetOpt() []*Node { + if x != nil { + return x.Opt } return nil } -type AlterStatsStmt struct { +func (x *GrantRoleStmt) GetGrantor() *RoleSpec { + if x != nil { + return x.Grantor + } + return nil +} + +func (x *GrantRoleStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type AlterDefaultPrivilegesStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` - Stxstattarget int32 `protobuf:"varint,2,opt,name=stxstattarget,proto3" json:"stxstattarget,omitempty"` - MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` + Action *GrantStmt `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` } -func (x *AlterStatsStmt) Reset() { - *x = AlterStatsStmt{} +func (x *AlterDefaultPrivilegesStmt) Reset() { + *x = AlterDefaultPrivilegesStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[181] + mi := &file_pg_query_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AlterStatsStmt) String() string { +func (x *AlterDefaultPrivilegesStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AlterStatsStmt) ProtoMessage() {} +func (*AlterDefaultPrivilegesStmt) ProtoMessage() {} -func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[181] +func (x *AlterDefaultPrivilegesStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22984,61 +23746,57 @@ func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AlterStatsStmt.ProtoReflect.Descriptor instead. -func (*AlterStatsStmt) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{181} +// Deprecated: Use AlterDefaultPrivilegesStmt.ProtoReflect.Descriptor instead. +func (*AlterDefaultPrivilegesStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{161} } -func (x *AlterStatsStmt) GetDefnames() []*Node { +func (x *AlterDefaultPrivilegesStmt) GetOptions() []*Node { if x != nil { - return x.Defnames + return x.Options } return nil } -func (x *AlterStatsStmt) GetStxstattarget() int32 { - if x != nil { - return x.Stxstattarget - } - return 0 -} - -func (x *AlterStatsStmt) GetMissingOk() bool { +func (x *AlterDefaultPrivilegesStmt) GetAction() *GrantStmt { if x != nil { - return x.MissingOk + return x.Action } - return false + return nil } -type A_Expr struct { +type CopyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind A_Expr_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.A_Expr_Kind" json:"kind,omitempty"` - Name []*Node `protobuf:"bytes,2,rep,name=name,proto3" json:"name,omitempty"` - Lexpr *Node `protobuf:"bytes,3,opt,name=lexpr,proto3" json:"lexpr,omitempty"` - Rexpr *Node `protobuf:"bytes,4,opt,name=rexpr,proto3" json:"rexpr,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Query *Node `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + Attlist []*Node `protobuf:"bytes,3,rep,name=attlist,proto3" json:"attlist,omitempty"` + IsFrom bool `protobuf:"varint,4,opt,name=is_from,proto3" json:"is_from,omitempty"` + IsProgram bool `protobuf:"varint,5,opt,name=is_program,proto3" json:"is_program,omitempty"` + Filename string `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"` + Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` + WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` } -func (x *A_Expr) Reset() { - *x = A_Expr{} +func (x *CopyStmt) Reset() { + *x = CopyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[182] + mi := &file_pg_query_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *A_Expr) String() string { +func (x *CopyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*A_Expr) ProtoMessage() {} +func (*CopyStmt) ProtoMessage() {} -func (x *A_Expr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[182] +func (x *CopyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23049,72 +23807,95 @@ func (x *A_Expr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use A_Expr.ProtoReflect.Descriptor instead. -func (*A_Expr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{182} +// Deprecated: Use CopyStmt.ProtoReflect.Descriptor instead. +func (*CopyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{162} } -func (x *A_Expr) GetKind() A_Expr_Kind { +func (x *CopyStmt) GetRelation() *RangeVar { if x != nil { - return x.Kind + return x.Relation } - return A_Expr_Kind_A_EXPR_KIND_UNDEFINED + return nil } -func (x *A_Expr) GetName() []*Node { +func (x *CopyStmt) GetQuery() *Node { if x != nil { - return x.Name + return x.Query } return nil } -func (x *A_Expr) GetLexpr() *Node { +func (x *CopyStmt) GetAttlist() []*Node { if x != nil { - return x.Lexpr + return x.Attlist } return nil } -func (x *A_Expr) GetRexpr() *Node { +func (x *CopyStmt) GetIsFrom() bool { if x != nil { - return x.Rexpr + return x.IsFrom + } + return false +} + +func (x *CopyStmt) GetIsProgram() bool { + if x != nil { + return x.IsProgram + } + return false +} + +func (x *CopyStmt) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +func (x *CopyStmt) GetOptions() []*Node { + if x != nil { + return x.Options } return nil } -func (x *A_Expr) GetLocation() int32 { +func (x *CopyStmt) GetWhereClause() *Node { if x != nil { - return x.Location + return x.WhereClause } - return 0 + return nil } -type ColumnRef struct { +type VariableSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Fields []*Node `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` + Kind VariableSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.VariableSetKind" json:"kind,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + IsLocal bool `protobuf:"varint,4,opt,name=is_local,proto3" json:"is_local,omitempty"` } -func (x *ColumnRef) Reset() { - *x = ColumnRef{} +func (x *VariableSetStmt) Reset() { + *x = VariableSetStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[183] + mi := &file_pg_query_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ColumnRef) String() string { +func (x *VariableSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ColumnRef) ProtoMessage() {} +func (*VariableSetStmt) ProtoMessage() {} -func (x *ColumnRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[183] +func (x *VariableSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23125,51 +23906,64 @@ func (x *ColumnRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ColumnRef.ProtoReflect.Descriptor instead. -func (*ColumnRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{183} +// Deprecated: Use VariableSetStmt.ProtoReflect.Descriptor instead. +func (*VariableSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{163} } -func (x *ColumnRef) GetFields() []*Node { +func (x *VariableSetStmt) GetKind() VariableSetKind { if x != nil { - return x.Fields + return x.Kind + } + return VariableSetKind_VARIABLE_SET_KIND_UNDEFINED +} + +func (x *VariableSetStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VariableSetStmt) GetArgs() []*Node { + if x != nil { + return x.Args } return nil } -func (x *ColumnRef) GetLocation() int32 { +func (x *VariableSetStmt) GetIsLocal() bool { if x != nil { - return x.Location + return x.IsLocal } - return 0 + return false } -type ParamRef struct { +type VariableShowStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } -func (x *ParamRef) Reset() { - *x = ParamRef{} +func (x *VariableShowStmt) Reset() { + *x = VariableShowStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[184] + mi := &file_pg_query_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ParamRef) String() string { +func (x *VariableShowStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ParamRef) ProtoMessage() {} +func (*VariableShowStmt) ProtoMessage() {} -func (x *ParamRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[184] +func (x *VariableShowStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23180,60 +23974,54 @@ func (x *ParamRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ParamRef.ProtoReflect.Descriptor instead. -func (*ParamRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{184} -} - -func (x *ParamRef) GetNumber() int32 { - if x != nil { - return x.Number - } - return 0 +// Deprecated: Use VariableShowStmt.ProtoReflect.Descriptor instead. +func (*VariableShowStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{164} } -func (x *ParamRef) GetLocation() int32 { +func (x *VariableShowStmt) GetName() string { if x != nil { - return x.Location + return x.Name } - return 0 + return "" } -type FuncCall struct { +type CreateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Funcname []*Node `protobuf:"bytes,1,rep,name=funcname,proto3" json:"funcname,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - AggOrder []*Node `protobuf:"bytes,3,rep,name=agg_order,proto3" json:"agg_order,omitempty"` - AggFilter *Node `protobuf:"bytes,4,opt,name=agg_filter,proto3" json:"agg_filter,omitempty"` - Over *WindowDef `protobuf:"bytes,5,opt,name=over,proto3" json:"over,omitempty"` - AggWithinGroup bool `protobuf:"varint,6,opt,name=agg_within_group,proto3" json:"agg_within_group,omitempty"` - AggStar bool `protobuf:"varint,7,opt,name=agg_star,proto3" json:"agg_star,omitempty"` - AggDistinct bool `protobuf:"varint,8,opt,name=agg_distinct,proto3" json:"agg_distinct,omitempty"` - FuncVariadic bool `protobuf:"varint,9,opt,name=func_variadic,proto3" json:"func_variadic,omitempty"` - Funcformat CoercionForm `protobuf:"varint,10,opt,name=funcformat,proto3,enum=pg_query.CoercionForm" json:"funcformat,omitempty"` - Location int32 `protobuf:"varint,11,opt,name=location,proto3" json:"location,omitempty"` + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + TableElts []*Node `protobuf:"bytes,2,rep,name=table_elts,json=tableElts,proto3" json:"table_elts,omitempty"` + InhRelations []*Node `protobuf:"bytes,3,rep,name=inh_relations,json=inhRelations,proto3" json:"inh_relations,omitempty"` + Partbound *PartitionBoundSpec `protobuf:"bytes,4,opt,name=partbound,proto3" json:"partbound,omitempty"` + Partspec *PartitionSpec `protobuf:"bytes,5,opt,name=partspec,proto3" json:"partspec,omitempty"` + OfTypename *TypeName `protobuf:"bytes,6,opt,name=of_typename,json=ofTypename,proto3" json:"of_typename,omitempty"` + Constraints []*Node `protobuf:"bytes,7,rep,name=constraints,proto3" json:"constraints,omitempty"` + Options []*Node `protobuf:"bytes,8,rep,name=options,proto3" json:"options,omitempty"` + Oncommit OnCommitAction `protobuf:"varint,9,opt,name=oncommit,proto3,enum=pg_query.OnCommitAction" json:"oncommit,omitempty"` + Tablespacename string `protobuf:"bytes,10,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + AccessMethod string `protobuf:"bytes,11,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` + IfNotExists bool `protobuf:"varint,12,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *FuncCall) Reset() { - *x = FuncCall{} +func (x *CreateStmt) Reset() { + *x = CreateStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[185] + mi := &file_pg_query_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FuncCall) String() string { +func (x *CreateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FuncCall) ProtoMessage() {} +func (*CreateStmt) ProtoMessage() {} -func (x *FuncCall) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[185] +func (x *CreateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23244,111 +24032,150 @@ func (x *FuncCall) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FuncCall.ProtoReflect.Descriptor instead. -func (*FuncCall) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{185} +// Deprecated: Use CreateStmt.ProtoReflect.Descriptor instead. +func (*CreateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{165} } -func (x *FuncCall) GetFuncname() []*Node { +func (x *CreateStmt) GetRelation() *RangeVar { if x != nil { - return x.Funcname + return x.Relation } return nil } -func (x *FuncCall) GetArgs() []*Node { +func (x *CreateStmt) GetTableElts() []*Node { if x != nil { - return x.Args + return x.TableElts } return nil } -func (x *FuncCall) GetAggOrder() []*Node { +func (x *CreateStmt) GetInhRelations() []*Node { if x != nil { - return x.AggOrder + return x.InhRelations } return nil } -func (x *FuncCall) GetAggFilter() *Node { +func (x *CreateStmt) GetPartbound() *PartitionBoundSpec { if x != nil { - return x.AggFilter + return x.Partbound } return nil } -func (x *FuncCall) GetOver() *WindowDef { +func (x *CreateStmt) GetPartspec() *PartitionSpec { if x != nil { - return x.Over + return x.Partspec } return nil } -func (x *FuncCall) GetAggWithinGroup() bool { +func (x *CreateStmt) GetOfTypename() *TypeName { if x != nil { - return x.AggWithinGroup + return x.OfTypename } - return false + return nil } -func (x *FuncCall) GetAggStar() bool { +func (x *CreateStmt) GetConstraints() []*Node { if x != nil { - return x.AggStar + return x.Constraints } - return false + return nil } -func (x *FuncCall) GetAggDistinct() bool { +func (x *CreateStmt) GetOptions() []*Node { if x != nil { - return x.AggDistinct + return x.Options } - return false + return nil } -func (x *FuncCall) GetFuncVariadic() bool { +func (x *CreateStmt) GetOncommit() OnCommitAction { if x != nil { - return x.FuncVariadic + return x.Oncommit } - return false + return OnCommitAction_ON_COMMIT_ACTION_UNDEFINED } -func (x *FuncCall) GetFuncformat() CoercionForm { +func (x *CreateStmt) GetTablespacename() string { if x != nil { - return x.Funcformat + return x.Tablespacename } - return CoercionForm_COERCION_FORM_UNDEFINED + return "" } -func (x *FuncCall) GetLocation() int32 { +func (x *CreateStmt) GetAccessMethod() string { if x != nil { - return x.Location + return x.AccessMethod } - return 0 + return "" } -type A_Star struct { +func (x *CreateStmt) GetIfNotExists() bool { + if x != nil { + return x.IfNotExists + } + return false +} + +type Constraint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Contype ConstrType `protobuf:"varint,1,opt,name=contype,proto3,enum=pg_query.ConstrType" json:"contype,omitempty"` + Conname string `protobuf:"bytes,2,opt,name=conname,proto3" json:"conname,omitempty"` + Deferrable bool `protobuf:"varint,3,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,4,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + SkipValidation bool `protobuf:"varint,5,opt,name=skip_validation,proto3" json:"skip_validation,omitempty"` + InitiallyValid bool `protobuf:"varint,6,opt,name=initially_valid,proto3" json:"initially_valid,omitempty"` + IsNoInherit bool `protobuf:"varint,7,opt,name=is_no_inherit,proto3" json:"is_no_inherit,omitempty"` + RawExpr *Node `protobuf:"bytes,8,opt,name=raw_expr,proto3" json:"raw_expr,omitempty"` + CookedExpr string `protobuf:"bytes,9,opt,name=cooked_expr,proto3" json:"cooked_expr,omitempty"` + GeneratedWhen string `protobuf:"bytes,10,opt,name=generated_when,proto3" json:"generated_when,omitempty"` + Inhcount int32 `protobuf:"varint,11,opt,name=inhcount,proto3" json:"inhcount,omitempty"` + NullsNotDistinct bool `protobuf:"varint,12,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` + Keys []*Node `protobuf:"bytes,13,rep,name=keys,proto3" json:"keys,omitempty"` + Including []*Node `protobuf:"bytes,14,rep,name=including,proto3" json:"including,omitempty"` + Exclusions []*Node `protobuf:"bytes,15,rep,name=exclusions,proto3" json:"exclusions,omitempty"` + Options []*Node `protobuf:"bytes,16,rep,name=options,proto3" json:"options,omitempty"` + Indexname string `protobuf:"bytes,17,opt,name=indexname,proto3" json:"indexname,omitempty"` + Indexspace string `protobuf:"bytes,18,opt,name=indexspace,proto3" json:"indexspace,omitempty"` + ResetDefaultTblspc bool `protobuf:"varint,19,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` + AccessMethod string `protobuf:"bytes,20,opt,name=access_method,proto3" json:"access_method,omitempty"` + WhereClause *Node `protobuf:"bytes,21,opt,name=where_clause,proto3" json:"where_clause,omitempty"` + Pktable *RangeVar `protobuf:"bytes,22,opt,name=pktable,proto3" json:"pktable,omitempty"` + FkAttrs []*Node `protobuf:"bytes,23,rep,name=fk_attrs,proto3" json:"fk_attrs,omitempty"` + PkAttrs []*Node `protobuf:"bytes,24,rep,name=pk_attrs,proto3" json:"pk_attrs,omitempty"` + FkMatchtype string `protobuf:"bytes,25,opt,name=fk_matchtype,proto3" json:"fk_matchtype,omitempty"` + FkUpdAction string `protobuf:"bytes,26,opt,name=fk_upd_action,proto3" json:"fk_upd_action,omitempty"` + FkDelAction string `protobuf:"bytes,27,opt,name=fk_del_action,proto3" json:"fk_del_action,omitempty"` + FkDelSetCols []*Node `protobuf:"bytes,28,rep,name=fk_del_set_cols,proto3" json:"fk_del_set_cols,omitempty"` + OldConpfeqop []*Node `protobuf:"bytes,29,rep,name=old_conpfeqop,proto3" json:"old_conpfeqop,omitempty"` + OldPktableOid uint32 `protobuf:"varint,30,opt,name=old_pktable_oid,proto3" json:"old_pktable_oid,omitempty"` + Location int32 `protobuf:"varint,31,opt,name=location,proto3" json:"location,omitempty"` } -func (x *A_Star) Reset() { - *x = A_Star{} +func (x *Constraint) Reset() { + *x = Constraint{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[186] + mi := &file_pg_query_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *A_Star) String() string { +func (x *Constraint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*A_Star) ProtoMessage() {} +func (*Constraint) ProtoMessage() {} -func (x *A_Star) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[186] +func (x *Constraint) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23359,282 +24186,256 @@ func (x *A_Star) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use A_Star.ProtoReflect.Descriptor instead. -func (*A_Star) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{186} +// Deprecated: Use Constraint.ProtoReflect.Descriptor instead. +func (*Constraint) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{166} } -type A_Indices struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IsSlice bool `protobuf:"varint,1,opt,name=is_slice,proto3" json:"is_slice,omitempty"` - Lidx *Node `protobuf:"bytes,2,opt,name=lidx,proto3" json:"lidx,omitempty"` - Uidx *Node `protobuf:"bytes,3,opt,name=uidx,proto3" json:"uidx,omitempty"` +func (x *Constraint) GetContype() ConstrType { + if x != nil { + return x.Contype + } + return ConstrType_CONSTR_TYPE_UNDEFINED } -func (x *A_Indices) Reset() { - *x = A_Indices{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetConname() string { + if x != nil { + return x.Conname } + return "" } -func (x *A_Indices) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetDeferrable() bool { + if x != nil { + return x.Deferrable + } + return false } -func (*A_Indices) ProtoMessage() {} - -func (x *A_Indices) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Constraint) GetInitdeferred() bool { + if x != nil { + return x.Initdeferred } - return mi.MessageOf(x) + return false } -// Deprecated: Use A_Indices.ProtoReflect.Descriptor instead. -func (*A_Indices) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{187} +func (x *Constraint) GetSkipValidation() bool { + if x != nil { + return x.SkipValidation + } + return false } -func (x *A_Indices) GetIsSlice() bool { +func (x *Constraint) GetInitiallyValid() bool { if x != nil { - return x.IsSlice + return x.InitiallyValid } return false } -func (x *A_Indices) GetLidx() *Node { +func (x *Constraint) GetIsNoInherit() bool { if x != nil { - return x.Lidx + return x.IsNoInherit } - return nil + return false } -func (x *A_Indices) GetUidx() *Node { +func (x *Constraint) GetRawExpr() *Node { if x != nil { - return x.Uidx + return x.RawExpr } return nil } -type A_Indirection struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` +func (x *Constraint) GetCookedExpr() string { + if x != nil { + return x.CookedExpr + } + return "" } -func (x *A_Indirection) Reset() { - *x = A_Indirection{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetGeneratedWhen() string { + if x != nil { + return x.GeneratedWhen } + return "" } -func (x *A_Indirection) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetInhcount() int32 { + if x != nil { + return x.Inhcount + } + return 0 } -func (*A_Indirection) ProtoMessage() {} - -func (x *A_Indirection) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[188] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Constraint) GetNullsNotDistinct() bool { + if x != nil { + return x.NullsNotDistinct } - return mi.MessageOf(x) + return false } -// Deprecated: Use A_Indirection.ProtoReflect.Descriptor instead. -func (*A_Indirection) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{188} +func (x *Constraint) GetKeys() []*Node { + if x != nil { + return x.Keys + } + return nil } -func (x *A_Indirection) GetArg() *Node { +func (x *Constraint) GetIncluding() []*Node { if x != nil { - return x.Arg + return x.Including } return nil } -func (x *A_Indirection) GetIndirection() []*Node { +func (x *Constraint) GetExclusions() []*Node { if x != nil { - return x.Indirection + return x.Exclusions } return nil } -type A_ArrayExpr struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Elements []*Node `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` - Location int32 `protobuf:"varint,2,opt,name=location,proto3" json:"location,omitempty"` +func (x *Constraint) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil } -func (x *A_ArrayExpr) Reset() { - *x = A_ArrayExpr{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetIndexname() string { + if x != nil { + return x.Indexname } + return "" } -func (x *A_ArrayExpr) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetIndexspace() string { + if x != nil { + return x.Indexspace + } + return "" } -func (*A_ArrayExpr) ProtoMessage() {} - -func (x *A_ArrayExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Constraint) GetResetDefaultTblspc() bool { + if x != nil { + return x.ResetDefaultTblspc } - return mi.MessageOf(x) + return false } -// Deprecated: Use A_ArrayExpr.ProtoReflect.Descriptor instead. -func (*A_ArrayExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{189} +func (x *Constraint) GetAccessMethod() string { + if x != nil { + return x.AccessMethod + } + return "" } -func (x *A_ArrayExpr) GetElements() []*Node { +func (x *Constraint) GetWhereClause() *Node { if x != nil { - return x.Elements + return x.WhereClause } return nil } -func (x *A_ArrayExpr) GetLocation() int32 { +func (x *Constraint) GetPktable() *RangeVar { if x != nil { - return x.Location + return x.Pktable } - return 0 -} - -type ResTarget struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Indirection []*Node `protobuf:"bytes,2,rep,name=indirection,proto3" json:"indirection,omitempty"` - Val *Node `protobuf:"bytes,3,opt,name=val,proto3" json:"val,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + return nil } -func (x *ResTarget) Reset() { - *x = ResTarget{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[190] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *Constraint) GetFkAttrs() []*Node { + if x != nil { + return x.FkAttrs } + return nil } -func (x *ResTarget) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *Constraint) GetPkAttrs() []*Node { + if x != nil { + return x.PkAttrs + } + return nil } -func (*ResTarget) ProtoMessage() {} - -func (x *ResTarget) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[190] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *Constraint) GetFkMatchtype() string { + if x != nil { + return x.FkMatchtype } - return mi.MessageOf(x) + return "" } -// Deprecated: Use ResTarget.ProtoReflect.Descriptor instead. -func (*ResTarget) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{190} +func (x *Constraint) GetFkUpdAction() string { + if x != nil { + return x.FkUpdAction + } + return "" } -func (x *ResTarget) GetName() string { +func (x *Constraint) GetFkDelAction() string { if x != nil { - return x.Name + return x.FkDelAction } return "" } -func (x *ResTarget) GetIndirection() []*Node { +func (x *Constraint) GetFkDelSetCols() []*Node { if x != nil { - return x.Indirection + return x.FkDelSetCols } return nil } -func (x *ResTarget) GetVal() *Node { +func (x *Constraint) GetOldConpfeqop() []*Node { if x != nil { - return x.Val + return x.OldConpfeqop } return nil } -func (x *ResTarget) GetLocation() int32 { +func (x *Constraint) GetOldPktableOid() uint32 { + if x != nil { + return x.OldPktableOid + } + return 0 +} + +func (x *Constraint) GetLocation() int32 { if x != nil { return x.Location } return 0 } -type MultiAssignRef struct { +type CreateTableSpaceStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Source *Node `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - Colno int32 `protobuf:"varint,2,opt,name=colno,proto3" json:"colno,omitempty"` - Ncolumns int32 `protobuf:"varint,3,opt,name=ncolumns,proto3" json:"ncolumns,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + Owner *RoleSpec `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` } -func (x *MultiAssignRef) Reset() { - *x = MultiAssignRef{} +func (x *CreateTableSpaceStmt) Reset() { + *x = CreateTableSpaceStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[191] + mi := &file_pg_query_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *MultiAssignRef) String() string { +func (x *CreateTableSpaceStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*MultiAssignRef) ProtoMessage() {} +func (*CreateTableSpaceStmt) ProtoMessage() {} -func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[191] +func (x *CreateTableSpaceStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23645,59 +24446,65 @@ func (x *MultiAssignRef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use MultiAssignRef.ProtoReflect.Descriptor instead. -func (*MultiAssignRef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{191} +// Deprecated: Use CreateTableSpaceStmt.ProtoReflect.Descriptor instead. +func (*CreateTableSpaceStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{167} } -func (x *MultiAssignRef) GetSource() *Node { +func (x *CreateTableSpaceStmt) GetTablespacename() string { if x != nil { - return x.Source + return x.Tablespacename + } + return "" +} + +func (x *CreateTableSpaceStmt) GetOwner() *RoleSpec { + if x != nil { + return x.Owner } return nil } -func (x *MultiAssignRef) GetColno() int32 { +func (x *CreateTableSpaceStmt) GetLocation() string { if x != nil { - return x.Colno + return x.Location } - return 0 + return "" } -func (x *MultiAssignRef) GetNcolumns() int32 { +func (x *CreateTableSpaceStmt) GetOptions() []*Node { if x != nil { - return x.Ncolumns + return x.Options } - return 0 + return nil } -type TypeCast struct { +type DropTableSpaceStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *TypeCast) Reset() { - *x = TypeCast{} +func (x *DropTableSpaceStmt) Reset() { + *x = DropTableSpaceStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[192] + mi := &file_pg_query_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TypeCast) String() string { +func (x *DropTableSpaceStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TypeCast) ProtoMessage() {} +func (*DropTableSpaceStmt) ProtoMessage() {} -func (x *TypeCast) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[192] +func (x *DropTableSpaceStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23708,59 +24515,52 @@ func (x *TypeCast) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TypeCast.ProtoReflect.Descriptor instead. -func (*TypeCast) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{192} -} - -func (x *TypeCast) GetArg() *Node { - if x != nil { - return x.Arg - } - return nil +// Deprecated: Use DropTableSpaceStmt.ProtoReflect.Descriptor instead. +func (*DropTableSpaceStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{168} } -func (x *TypeCast) GetTypeName() *TypeName { +func (x *DropTableSpaceStmt) GetTablespacename() string { if x != nil { - return x.TypeName + return x.Tablespacename } - return nil + return "" } -func (x *TypeCast) GetLocation() int32 { +func (x *DropTableSpaceStmt) GetMissingOk() bool { if x != nil { - return x.Location + return x.MissingOk } - return 0 + return false } -type CollateClause struct { +type AlterTableSpaceOptionsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Arg *Node `protobuf:"bytes,1,opt,name=arg,proto3" json:"arg,omitempty"` - Collname []*Node `protobuf:"bytes,2,rep,name=collname,proto3" json:"collname,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Tablespacename string `protobuf:"bytes,1,opt,name=tablespacename,proto3" json:"tablespacename,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + IsReset bool `protobuf:"varint,3,opt,name=is_reset,json=isReset,proto3" json:"is_reset,omitempty"` } -func (x *CollateClause) Reset() { - *x = CollateClause{} +func (x *AlterTableSpaceOptionsStmt) Reset() { + *x = AlterTableSpaceOptionsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[193] + mi := &file_pg_query_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CollateClause) String() string { +func (x *AlterTableSpaceOptionsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CollateClause) ProtoMessage() {} +func (*AlterTableSpaceOptionsStmt) ProtoMessage() {} -func (x *CollateClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[193] +func (x *AlterTableSpaceOptionsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23771,61 +24571,61 @@ func (x *CollateClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CollateClause.ProtoReflect.Descriptor instead. -func (*CollateClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{193} -} - -func (x *CollateClause) GetArg() *Node { +// Deprecated: Use AlterTableSpaceOptionsStmt.ProtoReflect.Descriptor instead. +func (*AlterTableSpaceOptionsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{169} +} + +func (x *AlterTableSpaceOptionsStmt) GetTablespacename() string { if x != nil { - return x.Arg + return x.Tablespacename } - return nil + return "" } -func (x *CollateClause) GetCollname() []*Node { +func (x *AlterTableSpaceOptionsStmt) GetOptions() []*Node { if x != nil { - return x.Collname + return x.Options } return nil } -func (x *CollateClause) GetLocation() int32 { +func (x *AlterTableSpaceOptionsStmt) GetIsReset() bool { if x != nil { - return x.Location + return x.IsReset } - return 0 + return false } -type SortBy struct { +type AlterTableMoveAllStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Node *Node `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` - SortbyDir SortByDir `protobuf:"varint,2,opt,name=sortby_dir,proto3,enum=pg_query.SortByDir" json:"sortby_dir,omitempty"` - SortbyNulls SortByNulls `protobuf:"varint,3,opt,name=sortby_nulls,proto3,enum=pg_query.SortByNulls" json:"sortby_nulls,omitempty"` - UseOp []*Node `protobuf:"bytes,4,rep,name=use_op,json=useOp,proto3" json:"use_op,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + OrigTablespacename string `protobuf:"bytes,1,opt,name=orig_tablespacename,proto3" json:"orig_tablespacename,omitempty"` + Objtype ObjectType `protobuf:"varint,2,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + NewTablespacename string `protobuf:"bytes,4,opt,name=new_tablespacename,proto3" json:"new_tablespacename,omitempty"` + Nowait bool `protobuf:"varint,5,opt,name=nowait,proto3" json:"nowait,omitempty"` } -func (x *SortBy) Reset() { - *x = SortBy{} +func (x *AlterTableMoveAllStmt) Reset() { + *x = AlterTableMoveAllStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[194] + mi := &file_pg_query_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SortBy) String() string { +func (x *AlterTableMoveAllStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SortBy) ProtoMessage() {} +func (*AlterTableMoveAllStmt) ProtoMessage() {} -func (x *SortBy) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[194] +func (x *AlterTableMoveAllStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23836,78 +24636,73 @@ func (x *SortBy) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SortBy.ProtoReflect.Descriptor instead. -func (*SortBy) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{194} +// Deprecated: Use AlterTableMoveAllStmt.ProtoReflect.Descriptor instead. +func (*AlterTableMoveAllStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{170} } -func (x *SortBy) GetNode() *Node { +func (x *AlterTableMoveAllStmt) GetOrigTablespacename() string { if x != nil { - return x.Node + return x.OrigTablespacename } - return nil + return "" } -func (x *SortBy) GetSortbyDir() SortByDir { +func (x *AlterTableMoveAllStmt) GetObjtype() ObjectType { if x != nil { - return x.SortbyDir + return x.Objtype } - return SortByDir_SORT_BY_DIR_UNDEFINED + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *SortBy) GetSortbyNulls() SortByNulls { +func (x *AlterTableMoveAllStmt) GetRoles() []*Node { if x != nil { - return x.SortbyNulls + return x.Roles } - return SortByNulls_SORT_BY_NULLS_UNDEFINED + return nil } -func (x *SortBy) GetUseOp() []*Node { +func (x *AlterTableMoveAllStmt) GetNewTablespacename() string { if x != nil { - return x.UseOp + return x.NewTablespacename } - return nil + return "" } -func (x *SortBy) GetLocation() int32 { +func (x *AlterTableMoveAllStmt) GetNowait() bool { if x != nil { - return x.Location + return x.Nowait } - return 0 + return false } -type WindowDef struct { +type CreateExtensionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` - PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` - OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` - FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` - StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` - EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + IfNotExists bool `protobuf:"varint,2,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *WindowDef) Reset() { - *x = WindowDef{} +func (x *CreateExtensionStmt) Reset() { + *x = CreateExtensionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[195] + mi := &file_pg_query_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WindowDef) String() string { +func (x *CreateExtensionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WindowDef) ProtoMessage() {} +func (*CreateExtensionStmt) ProtoMessage() {} -func (x *WindowDef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[195] +func (x *CreateExtensionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23918,94 +24713,58 @@ func (x *WindowDef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WindowDef.ProtoReflect.Descriptor instead. -func (*WindowDef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{195} -} - -func (x *WindowDef) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use CreateExtensionStmt.ProtoReflect.Descriptor instead. +func (*CreateExtensionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{171} } -func (x *WindowDef) GetRefname() string { +func (x *CreateExtensionStmt) GetExtname() string { if x != nil { - return x.Refname + return x.Extname } return "" } -func (x *WindowDef) GetPartitionClause() []*Node { - if x != nil { - return x.PartitionClause - } - return nil -} - -func (x *WindowDef) GetOrderClause() []*Node { - if x != nil { - return x.OrderClause - } - return nil -} - -func (x *WindowDef) GetFrameOptions() int32 { - if x != nil { - return x.FrameOptions - } - return 0 -} - -func (x *WindowDef) GetStartOffset() *Node { +func (x *CreateExtensionStmt) GetIfNotExists() bool { if x != nil { - return x.StartOffset + return x.IfNotExists } - return nil + return false } -func (x *WindowDef) GetEndOffset() *Node { +func (x *CreateExtensionStmt) GetOptions() []*Node { if x != nil { - return x.EndOffset + return x.Options } return nil } -func (x *WindowDef) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type RangeSubselect struct { +type AlterExtensionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Subquery *Node `protobuf:"bytes,2,opt,name=subquery,proto3" json:"subquery,omitempty"` - Alias *Alias `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` } -func (x *RangeSubselect) Reset() { - *x = RangeSubselect{} +func (x *AlterExtensionStmt) Reset() { + *x = AlterExtensionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[196] + mi := &file_pg_query_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeSubselect) String() string { +func (x *AlterExtensionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeSubselect) ProtoMessage() {} +func (*AlterExtensionStmt) ProtoMessage() {} -func (x *RangeSubselect) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[196] +func (x *AlterExtensionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24016,62 +24775,53 @@ func (x *RangeSubselect) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeSubselect.ProtoReflect.Descriptor instead. -func (*RangeSubselect) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{196} -} - -func (x *RangeSubselect) GetLateral() bool { - if x != nil { - return x.Lateral - } - return false +// Deprecated: Use AlterExtensionStmt.ProtoReflect.Descriptor instead. +func (*AlterExtensionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{172} } -func (x *RangeSubselect) GetSubquery() *Node { +func (x *AlterExtensionStmt) GetExtname() string { if x != nil { - return x.Subquery + return x.Extname } - return nil + return "" } -func (x *RangeSubselect) GetAlias() *Alias { +func (x *AlterExtensionStmt) GetOptions() []*Node { if x != nil { - return x.Alias + return x.Options } return nil } -type RangeFunction struct { +type AlterExtensionContentsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Ordinality bool `protobuf:"varint,2,opt,name=ordinality,proto3" json:"ordinality,omitempty"` - IsRowsfrom bool `protobuf:"varint,3,opt,name=is_rowsfrom,proto3" json:"is_rowsfrom,omitempty"` - Functions []*Node `protobuf:"bytes,4,rep,name=functions,proto3" json:"functions,omitempty"` - Alias *Alias `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"` - Coldeflist []*Node `protobuf:"bytes,6,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` + Extname string `protobuf:"bytes,1,opt,name=extname,proto3" json:"extname,omitempty"` + Action int32 `protobuf:"varint,2,opt,name=action,proto3" json:"action,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` } -func (x *RangeFunction) Reset() { - *x = RangeFunction{} +func (x *AlterExtensionContentsStmt) Reset() { + *x = AlterExtensionContentsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[197] + mi := &file_pg_query_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeFunction) String() string { +func (x *AlterExtensionContentsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeFunction) ProtoMessage() {} +func (*AlterExtensionContentsStmt) ProtoMessage() {} -func (x *RangeFunction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[197] +func (x *AlterExtensionContentsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24082,82 +24832,66 @@ func (x *RangeFunction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeFunction.ProtoReflect.Descriptor instead. -func (*RangeFunction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{197} +// Deprecated: Use AlterExtensionContentsStmt.ProtoReflect.Descriptor instead. +func (*AlterExtensionContentsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{173} } -func (x *RangeFunction) GetLateral() bool { +func (x *AlterExtensionContentsStmt) GetExtname() string { if x != nil { - return x.Lateral + return x.Extname } - return false + return "" } -func (x *RangeFunction) GetOrdinality() bool { +func (x *AlterExtensionContentsStmt) GetAction() int32 { if x != nil { - return x.Ordinality + return x.Action } - return false + return 0 } -func (x *RangeFunction) GetIsRowsfrom() bool { +func (x *AlterExtensionContentsStmt) GetObjtype() ObjectType { if x != nil { - return x.IsRowsfrom - } - return false -} - -func (x *RangeFunction) GetFunctions() []*Node { - if x != nil { - return x.Functions - } - return nil -} - -func (x *RangeFunction) GetAlias() *Alias { - if x != nil { - return x.Alias + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *RangeFunction) GetColdeflist() []*Node { +func (x *AlterExtensionContentsStmt) GetObject() *Node { if x != nil { - return x.Coldeflist + return x.Object } return nil } -type RangeTableSample struct { +type CreateFdwStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *Node `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Method []*Node `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"` - Args []*Node `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` - Repeatable *Node `protobuf:"bytes,4,opt,name=repeatable,proto3" json:"repeatable,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *RangeTableSample) Reset() { - *x = RangeTableSample{} +func (x *CreateFdwStmt) Reset() { + *x = CreateFdwStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[198] + mi := &file_pg_query_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTableSample) String() string { +func (x *CreateFdwStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableSample) ProtoMessage() {} +func (*CreateFdwStmt) ProtoMessage() {} -func (x *RangeTableSample) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[198] +func (x *CreateFdwStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24168,77 +24902,59 @@ func (x *RangeTableSample) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableSample.ProtoReflect.Descriptor instead. -func (*RangeTableSample) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{198} -} - -func (x *RangeTableSample) GetRelation() *Node { - if x != nil { - return x.Relation - } - return nil +// Deprecated: Use CreateFdwStmt.ProtoReflect.Descriptor instead. +func (*CreateFdwStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{174} } -func (x *RangeTableSample) GetMethod() []*Node { +func (x *CreateFdwStmt) GetFdwname() string { if x != nil { - return x.Method + return x.Fdwname } - return nil + return "" } -func (x *RangeTableSample) GetArgs() []*Node { +func (x *CreateFdwStmt) GetFuncOptions() []*Node { if x != nil { - return x.Args + return x.FuncOptions } return nil } -func (x *RangeTableSample) GetRepeatable() *Node { +func (x *CreateFdwStmt) GetOptions() []*Node { if x != nil { - return x.Repeatable + return x.Options } return nil } -func (x *RangeTableSample) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type RangeTableFunc struct { +type AlterFdwStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Lateral bool `protobuf:"varint,1,opt,name=lateral,proto3" json:"lateral,omitempty"` - Docexpr *Node `protobuf:"bytes,2,opt,name=docexpr,proto3" json:"docexpr,omitempty"` - Rowexpr *Node `protobuf:"bytes,3,opt,name=rowexpr,proto3" json:"rowexpr,omitempty"` - Namespaces []*Node `protobuf:"bytes,4,rep,name=namespaces,proto3" json:"namespaces,omitempty"` - Columns []*Node `protobuf:"bytes,5,rep,name=columns,proto3" json:"columns,omitempty"` - Alias *Alias `protobuf:"bytes,6,opt,name=alias,proto3" json:"alias,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Fdwname string `protobuf:"bytes,1,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + FuncOptions []*Node `protobuf:"bytes,2,rep,name=func_options,proto3" json:"func_options,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *RangeTableFunc) Reset() { - *x = RangeTableFunc{} +func (x *AlterFdwStmt) Reset() { + *x = AlterFdwStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[199] + mi := &file_pg_query_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTableFunc) String() string { +func (x *AlterFdwStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableFunc) ProtoMessage() {} +func (*AlterFdwStmt) ProtoMessage() {} -func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[199] +func (x *AlterFdwStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24249,91 +24965,62 @@ func (x *RangeTableFunc) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableFunc.ProtoReflect.Descriptor instead. -func (*RangeTableFunc) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{199} -} - -func (x *RangeTableFunc) GetLateral() bool { - if x != nil { - return x.Lateral - } - return false -} - -func (x *RangeTableFunc) GetDocexpr() *Node { - if x != nil { - return x.Docexpr - } - return nil -} - -func (x *RangeTableFunc) GetRowexpr() *Node { - if x != nil { - return x.Rowexpr - } - return nil +// Deprecated: Use AlterFdwStmt.ProtoReflect.Descriptor instead. +func (*AlterFdwStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{175} } -func (x *RangeTableFunc) GetNamespaces() []*Node { +func (x *AlterFdwStmt) GetFdwname() string { if x != nil { - return x.Namespaces + return x.Fdwname } - return nil + return "" } -func (x *RangeTableFunc) GetColumns() []*Node { +func (x *AlterFdwStmt) GetFuncOptions() []*Node { if x != nil { - return x.Columns + return x.FuncOptions } return nil } -func (x *RangeTableFunc) GetAlias() *Alias { +func (x *AlterFdwStmt) GetOptions() []*Node { if x != nil { - return x.Alias + return x.Options } return nil } -func (x *RangeTableFunc) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type RangeTableFuncCol struct { +type CreateForeignServerStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - ForOrdinality bool `protobuf:"varint,3,opt,name=for_ordinality,proto3" json:"for_ordinality,omitempty"` - IsNotNull bool `protobuf:"varint,4,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` - Colexpr *Node `protobuf:"bytes,5,opt,name=colexpr,proto3" json:"colexpr,omitempty"` - Coldefexpr *Node `protobuf:"bytes,6,opt,name=coldefexpr,proto3" json:"coldefexpr,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` + Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` + Servertype string `protobuf:"bytes,2,opt,name=servertype,proto3" json:"servertype,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Fdwname string `protobuf:"bytes,4,opt,name=fdwname,proto3" json:"fdwname,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` } -func (x *RangeTableFuncCol) Reset() { - *x = RangeTableFuncCol{} +func (x *CreateForeignServerStmt) Reset() { + *x = CreateForeignServerStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[200] + mi := &file_pg_query_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTableFuncCol) String() string { +func (x *CreateForeignServerStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTableFuncCol) ProtoMessage() {} +func (*CreateForeignServerStmt) ProtoMessage() {} -func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[200] +func (x *CreateForeignServerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24344,92 +25031,81 @@ func (x *RangeTableFuncCol) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTableFuncCol.ProtoReflect.Descriptor instead. -func (*RangeTableFuncCol) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{200} +// Deprecated: Use CreateForeignServerStmt.ProtoReflect.Descriptor instead. +func (*CreateForeignServerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{176} } -func (x *RangeTableFuncCol) GetColname() string { +func (x *CreateForeignServerStmt) GetServername() string { if x != nil { - return x.Colname + return x.Servername } return "" } -func (x *RangeTableFuncCol) GetTypeName() *TypeName { +func (x *CreateForeignServerStmt) GetServertype() string { if x != nil { - return x.TypeName + return x.Servertype } - return nil + return "" } -func (x *RangeTableFuncCol) GetForOrdinality() bool { +func (x *CreateForeignServerStmt) GetVersion() string { if x != nil { - return x.ForOrdinality + return x.Version } - return false + return "" } -func (x *RangeTableFuncCol) GetIsNotNull() bool { +func (x *CreateForeignServerStmt) GetFdwname() string { if x != nil { - return x.IsNotNull + return x.Fdwname } - return false + return "" } -func (x *RangeTableFuncCol) GetColexpr() *Node { +func (x *CreateForeignServerStmt) GetIfNotExists() bool { if x != nil { - return x.Colexpr + return x.IfNotExists } - return nil + return false } -func (x *RangeTableFuncCol) GetColdefexpr() *Node { +func (x *CreateForeignServerStmt) GetOptions() []*Node { if x != nil { - return x.Coldefexpr + return x.Options } return nil } -func (x *RangeTableFuncCol) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type TypeName struct { +type AlterForeignServerStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Names []*Node `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` - TypeOid uint32 `protobuf:"varint,2,opt,name=type_oid,json=typeOid,proto3" json:"type_oid,omitempty"` - Setof bool `protobuf:"varint,3,opt,name=setof,proto3" json:"setof,omitempty"` - PctType bool `protobuf:"varint,4,opt,name=pct_type,proto3" json:"pct_type,omitempty"` - Typmods []*Node `protobuf:"bytes,5,rep,name=typmods,proto3" json:"typmods,omitempty"` - Typemod int32 `protobuf:"varint,6,opt,name=typemod,proto3" json:"typemod,omitempty"` - ArrayBounds []*Node `protobuf:"bytes,7,rep,name=array_bounds,json=arrayBounds,proto3" json:"array_bounds,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + Servername string `protobuf:"bytes,1,opt,name=servername,proto3" json:"servername,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` + HasVersion bool `protobuf:"varint,4,opt,name=has_version,proto3" json:"has_version,omitempty"` } -func (x *TypeName) Reset() { - *x = TypeName{} +func (x *AlterForeignServerStmt) Reset() { + *x = AlterForeignServerStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[201] + mi := &file_pg_query_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TypeName) String() string { +func (x *AlterForeignServerStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TypeName) ProtoMessage() {} +func (*AlterForeignServerStmt) ProtoMessage() {} -func (x *TypeName) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[201] +func (x *AlterForeignServerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24440,109 +25116,66 @@ func (x *TypeName) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TypeName.ProtoReflect.Descriptor instead. -func (*TypeName) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{201} -} - -func (x *TypeName) GetNames() []*Node { - if x != nil { - return x.Names - } - return nil -} - -func (x *TypeName) GetTypeOid() uint32 { - if x != nil { - return x.TypeOid - } - return 0 -} - -func (x *TypeName) GetSetof() bool { - if x != nil { - return x.Setof - } - return false -} - -func (x *TypeName) GetPctType() bool { - if x != nil { - return x.PctType - } - return false +// Deprecated: Use AlterForeignServerStmt.ProtoReflect.Descriptor instead. +func (*AlterForeignServerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{177} } -func (x *TypeName) GetTypmods() []*Node { +func (x *AlterForeignServerStmt) GetServername() string { if x != nil { - return x.Typmods + return x.Servername } - return nil + return "" } -func (x *TypeName) GetTypemod() int32 { +func (x *AlterForeignServerStmt) GetVersion() string { if x != nil { - return x.Typemod + return x.Version } - return 0 + return "" } -func (x *TypeName) GetArrayBounds() []*Node { +func (x *AlterForeignServerStmt) GetOptions() []*Node { if x != nil { - return x.ArrayBounds + return x.Options } return nil } -func (x *TypeName) GetLocation() int32 { +func (x *AlterForeignServerStmt) GetHasVersion() bool { if x != nil { - return x.Location + return x.HasVersion } - return 0 + return false } -type ColumnDef struct { +type CreateForeignTableStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Colname string `protobuf:"bytes,1,opt,name=colname,proto3" json:"colname,omitempty"` - TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Compression string `protobuf:"bytes,3,opt,name=compression,proto3" json:"compression,omitempty"` - Inhcount int32 `protobuf:"varint,4,opt,name=inhcount,proto3" json:"inhcount,omitempty"` - IsLocal bool `protobuf:"varint,5,opt,name=is_local,proto3" json:"is_local,omitempty"` - IsNotNull bool `protobuf:"varint,6,opt,name=is_not_null,proto3" json:"is_not_null,omitempty"` - IsFromType bool `protobuf:"varint,7,opt,name=is_from_type,proto3" json:"is_from_type,omitempty"` - Storage string `protobuf:"bytes,8,opt,name=storage,proto3" json:"storage,omitempty"` - RawDefault *Node `protobuf:"bytes,9,opt,name=raw_default,proto3" json:"raw_default,omitempty"` - CookedDefault *Node `protobuf:"bytes,10,opt,name=cooked_default,proto3" json:"cooked_default,omitempty"` - Identity string `protobuf:"bytes,11,opt,name=identity,proto3" json:"identity,omitempty"` - IdentitySequence *RangeVar `protobuf:"bytes,12,opt,name=identity_sequence,json=identitySequence,proto3" json:"identity_sequence,omitempty"` - Generated string `protobuf:"bytes,13,opt,name=generated,proto3" json:"generated,omitempty"` - CollClause *CollateClause `protobuf:"bytes,14,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` - CollOid uint32 `protobuf:"varint,15,opt,name=coll_oid,json=collOid,proto3" json:"coll_oid,omitempty"` - Constraints []*Node `protobuf:"bytes,16,rep,name=constraints,proto3" json:"constraints,omitempty"` - Fdwoptions []*Node `protobuf:"bytes,17,rep,name=fdwoptions,proto3" json:"fdwoptions,omitempty"` - Location int32 `protobuf:"varint,18,opt,name=location,proto3" json:"location,omitempty"` + BaseStmt *CreateStmt `protobuf:"bytes,1,opt,name=base_stmt,json=base,proto3" json:"base_stmt,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *ColumnDef) Reset() { - *x = ColumnDef{} +func (x *CreateForeignTableStmt) Reset() { + *x = CreateForeignTableStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[202] + mi := &file_pg_query_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ColumnDef) String() string { +func (x *CreateForeignTableStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ColumnDef) ProtoMessage() {} +func (*CreateForeignTableStmt) ProtoMessage() {} -func (x *ColumnDef) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[202] +func (x *CreateForeignTableStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24553,169 +25186,130 @@ func (x *ColumnDef) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ColumnDef.ProtoReflect.Descriptor instead. -func (*ColumnDef) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{202} -} - -func (x *ColumnDef) GetColname() string { - if x != nil { - return x.Colname - } - return "" +// Deprecated: Use CreateForeignTableStmt.ProtoReflect.Descriptor instead. +func (*CreateForeignTableStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{178} } -func (x *ColumnDef) GetTypeName() *TypeName { +func (x *CreateForeignTableStmt) GetBaseStmt() *CreateStmt { if x != nil { - return x.TypeName + return x.BaseStmt } return nil } -func (x *ColumnDef) GetCompression() string { +func (x *CreateForeignTableStmt) GetServername() string { if x != nil { - return x.Compression + return x.Servername } return "" } -func (x *ColumnDef) GetInhcount() int32 { +func (x *CreateForeignTableStmt) GetOptions() []*Node { if x != nil { - return x.Inhcount + return x.Options } - return 0 + return nil } -func (x *ColumnDef) GetIsLocal() bool { - if x != nil { - return x.IsLocal - } - return false -} +type CreateUserMappingStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *ColumnDef) GetIsNotNull() bool { - if x != nil { - return x.IsNotNull - } - return false + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + IfNotExists bool `protobuf:"varint,3,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` } -func (x *ColumnDef) GetIsFromType() bool { - if x != nil { - return x.IsFromType +func (x *CreateUserMappingStmt) Reset() { + *x = CreateUserMappingStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *ColumnDef) GetStorage() string { - if x != nil { - return x.Storage - } - return "" +func (x *CreateUserMappingStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ColumnDef) GetRawDefault() *Node { - if x != nil { - return x.RawDefault - } - return nil -} +func (*CreateUserMappingStmt) ProtoMessage() {} -func (x *ColumnDef) GetCookedDefault() *Node { - if x != nil { - return x.CookedDefault +func (x *CreateUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[179] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ColumnDef) GetIdentity() string { - if x != nil { - return x.Identity - } - return "" +// Deprecated: Use CreateUserMappingStmt.ProtoReflect.Descriptor instead. +func (*CreateUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{179} } -func (x *ColumnDef) GetIdentitySequence() *RangeVar { +func (x *CreateUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.IdentitySequence + return x.User } return nil } -func (x *ColumnDef) GetGenerated() string { +func (x *CreateUserMappingStmt) GetServername() string { if x != nil { - return x.Generated + return x.Servername } return "" } -func (x *ColumnDef) GetCollClause() *CollateClause { - if x != nil { - return x.CollClause - } - return nil -} - -func (x *ColumnDef) GetCollOid() uint32 { - if x != nil { - return x.CollOid - } - return 0 -} - -func (x *ColumnDef) GetConstraints() []*Node { +func (x *CreateUserMappingStmt) GetIfNotExists() bool { if x != nil { - return x.Constraints + return x.IfNotExists } - return nil + return false } -func (x *ColumnDef) GetFdwoptions() []*Node { +func (x *CreateUserMappingStmt) GetOptions() []*Node { if x != nil { - return x.Fdwoptions + return x.Options } return nil } -func (x *ColumnDef) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type IndexElem struct { +type AlterUserMappingStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Indexcolname string `protobuf:"bytes,3,opt,name=indexcolname,proto3" json:"indexcolname,omitempty"` - Collation []*Node `protobuf:"bytes,4,rep,name=collation,proto3" json:"collation,omitempty"` - Opclass []*Node `protobuf:"bytes,5,rep,name=opclass,proto3" json:"opclass,omitempty"` - Opclassopts []*Node `protobuf:"bytes,6,rep,name=opclassopts,proto3" json:"opclassopts,omitempty"` - Ordering SortByDir `protobuf:"varint,7,opt,name=ordering,proto3,enum=pg_query.SortByDir" json:"ordering,omitempty"` - NullsOrdering SortByNulls `protobuf:"varint,8,opt,name=nulls_ordering,proto3,enum=pg_query.SortByNulls" json:"nulls_ordering,omitempty"` + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *IndexElem) Reset() { - *x = IndexElem{} +func (x *AlterUserMappingStmt) Reset() { + *x = AlterUserMappingStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[203] + mi := &file_pg_query_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *IndexElem) String() string { +func (x *AlterUserMappingStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*IndexElem) ProtoMessage() {} +func (*AlterUserMappingStmt) ProtoMessage() {} -func (x *IndexElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[203] +func (x *AlterUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24726,93 +25320,59 @@ func (x *IndexElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use IndexElem.ProtoReflect.Descriptor instead. -func (*IndexElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{203} +// Deprecated: Use AlterUserMappingStmt.ProtoReflect.Descriptor instead. +func (*AlterUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{180} } -func (x *IndexElem) GetName() string { +func (x *AlterUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.Name + return x.User } - return "" + return nil } -func (x *IndexElem) GetExpr() *Node { +func (x *AlterUserMappingStmt) GetServername() string { if x != nil { - return x.Expr - } - return nil -} - -func (x *IndexElem) GetIndexcolname() string { - if x != nil { - return x.Indexcolname + return x.Servername } return "" } -func (x *IndexElem) GetCollation() []*Node { - if x != nil { - return x.Collation - } - return nil -} - -func (x *IndexElem) GetOpclass() []*Node { - if x != nil { - return x.Opclass - } - return nil -} - -func (x *IndexElem) GetOpclassopts() []*Node { +func (x *AlterUserMappingStmt) GetOptions() []*Node { if x != nil { - return x.Opclassopts + return x.Options } return nil } -func (x *IndexElem) GetOrdering() SortByDir { - if x != nil { - return x.Ordering - } - return SortByDir_SORT_BY_DIR_UNDEFINED -} - -func (x *IndexElem) GetNullsOrdering() SortByNulls { - if x != nil { - return x.NullsOrdering - } - return SortByNulls_SORT_BY_NULLS_UNDEFINED -} - -type StatsElem struct { +type DropUserMappingStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` + User *RoleSpec `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` + Servername string `protobuf:"bytes,2,opt,name=servername,proto3" json:"servername,omitempty"` + MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *StatsElem) Reset() { - *x = StatsElem{} +func (x *DropUserMappingStmt) Reset() { + *x = DropUserMappingStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[204] + mi := &file_pg_query_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StatsElem) String() string { +func (x *DropUserMappingStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StatsElem) ProtoMessage() {} +func (*DropUserMappingStmt) ProtoMessage() {} -func (x *StatsElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[204] +func (x *DropUserMappingStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24823,79 +25383,62 @@ func (x *StatsElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StatsElem.ProtoReflect.Descriptor instead. -func (*StatsElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{204} +// Deprecated: Use DropUserMappingStmt.ProtoReflect.Descriptor instead. +func (*DropUserMappingStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{181} } -func (x *StatsElem) GetName() string { +func (x *DropUserMappingStmt) GetUser() *RoleSpec { if x != nil { - return x.Name + return x.User + } + return nil +} + +func (x *DropUserMappingStmt) GetServername() string { + if x != nil { + return x.Servername } return "" } -func (x *StatsElem) GetExpr() *Node { +func (x *DropUserMappingStmt) GetMissingOk() bool { if x != nil { - return x.Expr + return x.MissingOk } - return nil + return false } -type Constraint struct { +type ImportForeignSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Contype ConstrType `protobuf:"varint,1,opt,name=contype,proto3,enum=pg_query.ConstrType" json:"contype,omitempty"` - Conname string `protobuf:"bytes,2,opt,name=conname,proto3" json:"conname,omitempty"` - Deferrable bool `protobuf:"varint,3,opt,name=deferrable,proto3" json:"deferrable,omitempty"` - Initdeferred bool `protobuf:"varint,4,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` - IsNoInherit bool `protobuf:"varint,6,opt,name=is_no_inherit,proto3" json:"is_no_inherit,omitempty"` - RawExpr *Node `protobuf:"bytes,7,opt,name=raw_expr,proto3" json:"raw_expr,omitempty"` - CookedExpr string `protobuf:"bytes,8,opt,name=cooked_expr,proto3" json:"cooked_expr,omitempty"` - GeneratedWhen string `protobuf:"bytes,9,opt,name=generated_when,proto3" json:"generated_when,omitempty"` - NullsNotDistinct bool `protobuf:"varint,10,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` - Keys []*Node `protobuf:"bytes,11,rep,name=keys,proto3" json:"keys,omitempty"` - Including []*Node `protobuf:"bytes,12,rep,name=including,proto3" json:"including,omitempty"` - Exclusions []*Node `protobuf:"bytes,13,rep,name=exclusions,proto3" json:"exclusions,omitempty"` - Options []*Node `protobuf:"bytes,14,rep,name=options,proto3" json:"options,omitempty"` - Indexname string `protobuf:"bytes,15,opt,name=indexname,proto3" json:"indexname,omitempty"` - Indexspace string `protobuf:"bytes,16,opt,name=indexspace,proto3" json:"indexspace,omitempty"` - ResetDefaultTblspc bool `protobuf:"varint,17,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` - AccessMethod string `protobuf:"bytes,18,opt,name=access_method,proto3" json:"access_method,omitempty"` - WhereClause *Node `protobuf:"bytes,19,opt,name=where_clause,proto3" json:"where_clause,omitempty"` - Pktable *RangeVar `protobuf:"bytes,20,opt,name=pktable,proto3" json:"pktable,omitempty"` - FkAttrs []*Node `protobuf:"bytes,21,rep,name=fk_attrs,proto3" json:"fk_attrs,omitempty"` - PkAttrs []*Node `protobuf:"bytes,22,rep,name=pk_attrs,proto3" json:"pk_attrs,omitempty"` - FkMatchtype string `protobuf:"bytes,23,opt,name=fk_matchtype,proto3" json:"fk_matchtype,omitempty"` - FkUpdAction string `protobuf:"bytes,24,opt,name=fk_upd_action,proto3" json:"fk_upd_action,omitempty"` - FkDelAction string `protobuf:"bytes,25,opt,name=fk_del_action,proto3" json:"fk_del_action,omitempty"` - FkDelSetCols []*Node `protobuf:"bytes,26,rep,name=fk_del_set_cols,proto3" json:"fk_del_set_cols,omitempty"` - OldConpfeqop []*Node `protobuf:"bytes,27,rep,name=old_conpfeqop,proto3" json:"old_conpfeqop,omitempty"` - OldPktableOid uint32 `protobuf:"varint,28,opt,name=old_pktable_oid,proto3" json:"old_pktable_oid,omitempty"` - SkipValidation bool `protobuf:"varint,29,opt,name=skip_validation,proto3" json:"skip_validation,omitempty"` - InitiallyValid bool `protobuf:"varint,30,opt,name=initially_valid,proto3" json:"initially_valid,omitempty"` + ServerName string `protobuf:"bytes,1,opt,name=server_name,proto3" json:"server_name,omitempty"` + RemoteSchema string `protobuf:"bytes,2,opt,name=remote_schema,proto3" json:"remote_schema,omitempty"` + LocalSchema string `protobuf:"bytes,3,opt,name=local_schema,proto3" json:"local_schema,omitempty"` + ListType ImportForeignSchemaType `protobuf:"varint,4,opt,name=list_type,proto3,enum=pg_query.ImportForeignSchemaType" json:"list_type,omitempty"` + TableList []*Node `protobuf:"bytes,5,rep,name=table_list,proto3" json:"table_list,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` } -func (x *Constraint) Reset() { - *x = Constraint{} +func (x *ImportForeignSchemaStmt) Reset() { + *x = ImportForeignSchemaStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[205] + mi := &file_pg_query_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *Constraint) String() string { +func (x *ImportForeignSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*Constraint) ProtoMessage() {} +func (*ImportForeignSchemaStmt) ProtoMessage() {} -func (x *Constraint) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[205] +func (x *ImportForeignSchemaStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24906,250 +25449,254 @@ func (x *Constraint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use Constraint.ProtoReflect.Descriptor instead. -func (*Constraint) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{205} -} - -func (x *Constraint) GetContype() ConstrType { - if x != nil { - return x.Contype - } - return ConstrType_CONSTR_TYPE_UNDEFINED +// Deprecated: Use ImportForeignSchemaStmt.ProtoReflect.Descriptor instead. +func (*ImportForeignSchemaStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{182} } -func (x *Constraint) GetConname() string { +func (x *ImportForeignSchemaStmt) GetServerName() string { if x != nil { - return x.Conname + return x.ServerName } return "" } -func (x *Constraint) GetDeferrable() bool { +func (x *ImportForeignSchemaStmt) GetRemoteSchema() string { if x != nil { - return x.Deferrable + return x.RemoteSchema } - return false + return "" } -func (x *Constraint) GetInitdeferred() bool { +func (x *ImportForeignSchemaStmt) GetLocalSchema() string { if x != nil { - return x.Initdeferred + return x.LocalSchema } - return false + return "" } -func (x *Constraint) GetLocation() int32 { +func (x *ImportForeignSchemaStmt) GetListType() ImportForeignSchemaType { if x != nil { - return x.Location + return x.ListType } - return 0 + return ImportForeignSchemaType_IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED } -func (x *Constraint) GetIsNoInherit() bool { +func (x *ImportForeignSchemaStmt) GetTableList() []*Node { if x != nil { - return x.IsNoInherit + return x.TableList } - return false + return nil } -func (x *Constraint) GetRawExpr() *Node { +func (x *ImportForeignSchemaStmt) GetOptions() []*Node { if x != nil { - return x.RawExpr + return x.Options } return nil } -func (x *Constraint) GetCookedExpr() string { - if x != nil { - return x.CookedExpr - } - return "" -} +type CreatePolicyStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *Constraint) GetGeneratedWhen() string { - if x != nil { - return x.GeneratedWhen - } - return "" + PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` + Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + CmdName string `protobuf:"bytes,3,opt,name=cmd_name,proto3" json:"cmd_name,omitempty"` + Permissive bool `protobuf:"varint,4,opt,name=permissive,proto3" json:"permissive,omitempty"` + Roles []*Node `protobuf:"bytes,5,rep,name=roles,proto3" json:"roles,omitempty"` + Qual *Node `protobuf:"bytes,6,opt,name=qual,proto3" json:"qual,omitempty"` + WithCheck *Node `protobuf:"bytes,7,opt,name=with_check,proto3" json:"with_check,omitempty"` } -func (x *Constraint) GetNullsNotDistinct() bool { - if x != nil { - return x.NullsNotDistinct +func (x *CreatePolicyStmt) Reset() { + *x = CreatePolicyStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *Constraint) GetKeys() []*Node { - if x != nil { - return x.Keys - } - return nil +func (x *CreatePolicyStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Constraint) GetIncluding() []*Node { - if x != nil { - return x.Including - } - return nil -} +func (*CreatePolicyStmt) ProtoMessage() {} -func (x *Constraint) GetExclusions() []*Node { - if x != nil { - return x.Exclusions +func (x *CreatePolicyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[183] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *Constraint) GetOptions() []*Node { - if x != nil { - return x.Options - } - return nil +// Deprecated: Use CreatePolicyStmt.ProtoReflect.Descriptor instead. +func (*CreatePolicyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{183} } -func (x *Constraint) GetIndexname() string { +func (x *CreatePolicyStmt) GetPolicyName() string { if x != nil { - return x.Indexname + return x.PolicyName } return "" } -func (x *Constraint) GetIndexspace() string { +func (x *CreatePolicyStmt) GetTable() *RangeVar { if x != nil { - return x.Indexspace + return x.Table } - return "" + return nil } -func (x *Constraint) GetResetDefaultTblspc() bool { +func (x *CreatePolicyStmt) GetCmdName() string { if x != nil { - return x.ResetDefaultTblspc + return x.CmdName } - return false + return "" } -func (x *Constraint) GetAccessMethod() string { +func (x *CreatePolicyStmt) GetPermissive() bool { if x != nil { - return x.AccessMethod + return x.Permissive } - return "" + return false } -func (x *Constraint) GetWhereClause() *Node { +func (x *CreatePolicyStmt) GetRoles() []*Node { if x != nil { - return x.WhereClause + return x.Roles } return nil } -func (x *Constraint) GetPktable() *RangeVar { +func (x *CreatePolicyStmt) GetQual() *Node { if x != nil { - return x.Pktable + return x.Qual } return nil } -func (x *Constraint) GetFkAttrs() []*Node { +func (x *CreatePolicyStmt) GetWithCheck() *Node { if x != nil { - return x.FkAttrs + return x.WithCheck } return nil } -func (x *Constraint) GetPkAttrs() []*Node { - if x != nil { - return x.PkAttrs - } - return nil +type AlterPolicyStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PolicyName string `protobuf:"bytes,1,opt,name=policy_name,proto3" json:"policy_name,omitempty"` + Table *RangeVar `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` + Roles []*Node `protobuf:"bytes,3,rep,name=roles,proto3" json:"roles,omitempty"` + Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` + WithCheck *Node `protobuf:"bytes,5,opt,name=with_check,proto3" json:"with_check,omitempty"` } -func (x *Constraint) GetFkMatchtype() string { - if x != nil { - return x.FkMatchtype +func (x *AlterPolicyStmt) Reset() { + *x = AlterPolicyStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *Constraint) GetFkUpdAction() string { - if x != nil { - return x.FkUpdAction - } - return "" +func (x *AlterPolicyStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *Constraint) GetFkDelAction() string { - if x != nil { - return x.FkDelAction +func (*AlterPolicyStmt) ProtoMessage() {} + +func (x *AlterPolicyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[184] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *Constraint) GetFkDelSetCols() []*Node { +// Deprecated: Use AlterPolicyStmt.ProtoReflect.Descriptor instead. +func (*AlterPolicyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{184} +} + +func (x *AlterPolicyStmt) GetPolicyName() string { if x != nil { - return x.FkDelSetCols + return x.PolicyName } - return nil + return "" } -func (x *Constraint) GetOldConpfeqop() []*Node { +func (x *AlterPolicyStmt) GetTable() *RangeVar { if x != nil { - return x.OldConpfeqop + return x.Table } return nil } -func (x *Constraint) GetOldPktableOid() uint32 { +func (x *AlterPolicyStmt) GetRoles() []*Node { if x != nil { - return x.OldPktableOid + return x.Roles } - return 0 + return nil } -func (x *Constraint) GetSkipValidation() bool { +func (x *AlterPolicyStmt) GetQual() *Node { if x != nil { - return x.SkipValidation + return x.Qual } - return false + return nil } -func (x *Constraint) GetInitiallyValid() bool { +func (x *AlterPolicyStmt) GetWithCheck() *Node { if x != nil { - return x.InitiallyValid + return x.WithCheck } - return false + return nil } -type DefElem struct { +type CreateAmStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Defnamespace string `protobuf:"bytes,1,opt,name=defnamespace,proto3" json:"defnamespace,omitempty"` - Defname string `protobuf:"bytes,2,opt,name=defname,proto3" json:"defname,omitempty"` - Arg *Node `protobuf:"bytes,3,opt,name=arg,proto3" json:"arg,omitempty"` - Defaction DefElemAction `protobuf:"varint,4,opt,name=defaction,proto3,enum=pg_query.DefElemAction" json:"defaction,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Amname string `protobuf:"bytes,1,opt,name=amname,proto3" json:"amname,omitempty"` + HandlerName []*Node `protobuf:"bytes,2,rep,name=handler_name,proto3" json:"handler_name,omitempty"` + Amtype string `protobuf:"bytes,3,opt,name=amtype,proto3" json:"amtype,omitempty"` } -func (x *DefElem) Reset() { - *x = DefElem{} +func (x *CreateAmStmt) Reset() { + *x = CreateAmStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[206] + mi := &file_pg_query_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DefElem) String() string { +func (x *CreateAmStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DefElem) ProtoMessage() {} +func (*CreateAmStmt) ProtoMessage() {} -func (x *DefElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[206] +func (x *CreateAmStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25160,107 +25707,71 @@ func (x *DefElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DefElem.ProtoReflect.Descriptor instead. -func (*DefElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{206} -} - -func (x *DefElem) GetDefnamespace() string { - if x != nil { - return x.Defnamespace - } - return "" +// Deprecated: Use CreateAmStmt.ProtoReflect.Descriptor instead. +func (*CreateAmStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{185} } -func (x *DefElem) GetDefname() string { +func (x *CreateAmStmt) GetAmname() string { if x != nil { - return x.Defname + return x.Amname } return "" } -func (x *DefElem) GetArg() *Node { +func (x *CreateAmStmt) GetHandlerName() []*Node { if x != nil { - return x.Arg + return x.HandlerName } return nil } -func (x *DefElem) GetDefaction() DefElemAction { - if x != nil { - return x.Defaction - } - return DefElemAction_DEF_ELEM_ACTION_UNDEFINED -} - -func (x *DefElem) GetLocation() int32 { +func (x *CreateAmStmt) GetAmtype() string { if x != nil { - return x.Location + return x.Amtype } - return 0 + return "" } -type RangeTblEntry struct { +type CreateTrigStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rtekind RTEKind `protobuf:"varint,1,opt,name=rtekind,proto3,enum=pg_query.RTEKind" json:"rtekind,omitempty"` - Relid uint32 `protobuf:"varint,2,opt,name=relid,proto3" json:"relid,omitempty"` - Relkind string `protobuf:"bytes,3,opt,name=relkind,proto3" json:"relkind,omitempty"` - Rellockmode int32 `protobuf:"varint,4,opt,name=rellockmode,proto3" json:"rellockmode,omitempty"` - Tablesample *TableSampleClause `protobuf:"bytes,5,opt,name=tablesample,proto3" json:"tablesample,omitempty"` - Subquery *Query `protobuf:"bytes,6,opt,name=subquery,proto3" json:"subquery,omitempty"` - SecurityBarrier bool `protobuf:"varint,7,opt,name=security_barrier,proto3" json:"security_barrier,omitempty"` - Jointype JoinType `protobuf:"varint,8,opt,name=jointype,proto3,enum=pg_query.JoinType" json:"jointype,omitempty"` - Joinmergedcols int32 `protobuf:"varint,9,opt,name=joinmergedcols,proto3" json:"joinmergedcols,omitempty"` - Joinaliasvars []*Node `protobuf:"bytes,10,rep,name=joinaliasvars,proto3" json:"joinaliasvars,omitempty"` - Joinleftcols []*Node `protobuf:"bytes,11,rep,name=joinleftcols,proto3" json:"joinleftcols,omitempty"` - Joinrightcols []*Node `protobuf:"bytes,12,rep,name=joinrightcols,proto3" json:"joinrightcols,omitempty"` - JoinUsingAlias *Alias `protobuf:"bytes,13,opt,name=join_using_alias,proto3" json:"join_using_alias,omitempty"` - Functions []*Node `protobuf:"bytes,14,rep,name=functions,proto3" json:"functions,omitempty"` - Funcordinality bool `protobuf:"varint,15,opt,name=funcordinality,proto3" json:"funcordinality,omitempty"` - Tablefunc *TableFunc `protobuf:"bytes,16,opt,name=tablefunc,proto3" json:"tablefunc,omitempty"` - ValuesLists []*Node `protobuf:"bytes,17,rep,name=values_lists,proto3" json:"values_lists,omitempty"` - Ctename string `protobuf:"bytes,18,opt,name=ctename,proto3" json:"ctename,omitempty"` - Ctelevelsup uint32 `protobuf:"varint,19,opt,name=ctelevelsup,proto3" json:"ctelevelsup,omitempty"` - SelfReference bool `protobuf:"varint,20,opt,name=self_reference,proto3" json:"self_reference,omitempty"` - Coltypes []*Node `protobuf:"bytes,21,rep,name=coltypes,proto3" json:"coltypes,omitempty"` - Coltypmods []*Node `protobuf:"bytes,22,rep,name=coltypmods,proto3" json:"coltypmods,omitempty"` - Colcollations []*Node `protobuf:"bytes,23,rep,name=colcollations,proto3" json:"colcollations,omitempty"` - Enrname string `protobuf:"bytes,24,opt,name=enrname,proto3" json:"enrname,omitempty"` - Enrtuples float64 `protobuf:"fixed64,25,opt,name=enrtuples,proto3" json:"enrtuples,omitempty"` - Alias *Alias `protobuf:"bytes,26,opt,name=alias,proto3" json:"alias,omitempty"` - Eref *Alias `protobuf:"bytes,27,opt,name=eref,proto3" json:"eref,omitempty"` - Lateral bool `protobuf:"varint,28,opt,name=lateral,proto3" json:"lateral,omitempty"` - Inh bool `protobuf:"varint,29,opt,name=inh,proto3" json:"inh,omitempty"` - InFromCl bool `protobuf:"varint,30,opt,name=in_from_cl,json=inFromCl,proto3" json:"in_from_cl,omitempty"` - RequiredPerms uint32 `protobuf:"varint,31,opt,name=required_perms,json=requiredPerms,proto3" json:"required_perms,omitempty"` - CheckAsUser uint32 `protobuf:"varint,32,opt,name=check_as_user,json=checkAsUser,proto3" json:"check_as_user,omitempty"` - SelectedCols []uint64 `protobuf:"varint,33,rep,packed,name=selected_cols,json=selectedCols,proto3" json:"selected_cols,omitempty"` - InsertedCols []uint64 `protobuf:"varint,34,rep,packed,name=inserted_cols,json=insertedCols,proto3" json:"inserted_cols,omitempty"` - UpdatedCols []uint64 `protobuf:"varint,35,rep,packed,name=updated_cols,json=updatedCols,proto3" json:"updated_cols,omitempty"` - ExtraUpdatedCols []uint64 `protobuf:"varint,36,rep,packed,name=extra_updated_cols,json=extraUpdatedCols,proto3" json:"extra_updated_cols,omitempty"` - SecurityQuals []*Node `protobuf:"bytes,37,rep,name=security_quals,json=securityQuals,proto3" json:"security_quals,omitempty"` + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + Isconstraint bool `protobuf:"varint,2,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` + Trigname string `protobuf:"bytes,3,opt,name=trigname,proto3" json:"trigname,omitempty"` + Relation *RangeVar `protobuf:"bytes,4,opt,name=relation,proto3" json:"relation,omitempty"` + Funcname []*Node `protobuf:"bytes,5,rep,name=funcname,proto3" json:"funcname,omitempty"` + Args []*Node `protobuf:"bytes,6,rep,name=args,proto3" json:"args,omitempty"` + Row bool `protobuf:"varint,7,opt,name=row,proto3" json:"row,omitempty"` + Timing int32 `protobuf:"varint,8,opt,name=timing,proto3" json:"timing,omitempty"` + Events int32 `protobuf:"varint,9,opt,name=events,proto3" json:"events,omitempty"` + Columns []*Node `protobuf:"bytes,10,rep,name=columns,proto3" json:"columns,omitempty"` + WhenClause *Node `protobuf:"bytes,11,opt,name=when_clause,json=whenClause,proto3" json:"when_clause,omitempty"` + TransitionRels []*Node `protobuf:"bytes,12,rep,name=transition_rels,json=transitionRels,proto3" json:"transition_rels,omitempty"` + Deferrable bool `protobuf:"varint,13,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,14,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + Constrrel *RangeVar `protobuf:"bytes,15,opt,name=constrrel,proto3" json:"constrrel,omitempty"` } -func (x *RangeTblEntry) Reset() { - *x = RangeTblEntry{} +func (x *CreateTrigStmt) Reset() { + *x = CreateTrigStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[207] + mi := &file_pg_query_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTblEntry) String() string { +func (x *CreateTrigStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblEntry) ProtoMessage() {} +func (*CreateTrigStmt) ProtoMessage() {} -func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[207] +func (x *CreateTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25271,301 +25782,272 @@ func (x *RangeTblEntry) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblEntry.ProtoReflect.Descriptor instead. -func (*RangeTblEntry) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{207} +// Deprecated: Use CreateTrigStmt.ProtoReflect.Descriptor instead. +func (*CreateTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{186} } -func (x *RangeTblEntry) GetRtekind() RTEKind { +func (x *CreateTrigStmt) GetReplace() bool { if x != nil { - return x.Rtekind + return x.Replace } - return RTEKind_RTEKIND_UNDEFINED + return false } -func (x *RangeTblEntry) GetRelid() uint32 { +func (x *CreateTrigStmt) GetIsconstraint() bool { if x != nil { - return x.Relid + return x.Isconstraint } - return 0 + return false } -func (x *RangeTblEntry) GetRelkind() string { +func (x *CreateTrigStmt) GetTrigname() string { if x != nil { - return x.Relkind + return x.Trigname } return "" } -func (x *RangeTblEntry) GetRellockmode() int32 { +func (x *CreateTrigStmt) GetRelation() *RangeVar { if x != nil { - return x.Rellockmode + return x.Relation } - return 0 + return nil } -func (x *RangeTblEntry) GetTablesample() *TableSampleClause { +func (x *CreateTrigStmt) GetFuncname() []*Node { if x != nil { - return x.Tablesample + return x.Funcname } return nil } -func (x *RangeTblEntry) GetSubquery() *Query { +func (x *CreateTrigStmt) GetArgs() []*Node { if x != nil { - return x.Subquery + return x.Args } return nil } -func (x *RangeTblEntry) GetSecurityBarrier() bool { +func (x *CreateTrigStmt) GetRow() bool { if x != nil { - return x.SecurityBarrier + return x.Row } return false } -func (x *RangeTblEntry) GetJointype() JoinType { - if x != nil { - return x.Jointype - } - return JoinType_JOIN_TYPE_UNDEFINED -} - -func (x *RangeTblEntry) GetJoinmergedcols() int32 { +func (x *CreateTrigStmt) GetTiming() int32 { if x != nil { - return x.Joinmergedcols + return x.Timing } return 0 } -func (x *RangeTblEntry) GetJoinaliasvars() []*Node { +func (x *CreateTrigStmt) GetEvents() int32 { if x != nil { - return x.Joinaliasvars + return x.Events } - return nil + return 0 } -func (x *RangeTblEntry) GetJoinleftcols() []*Node { +func (x *CreateTrigStmt) GetColumns() []*Node { if x != nil { - return x.Joinleftcols + return x.Columns } return nil } -func (x *RangeTblEntry) GetJoinrightcols() []*Node { +func (x *CreateTrigStmt) GetWhenClause() *Node { if x != nil { - return x.Joinrightcols + return x.WhenClause } return nil } -func (x *RangeTblEntry) GetJoinUsingAlias() *Alias { +func (x *CreateTrigStmt) GetTransitionRels() []*Node { if x != nil { - return x.JoinUsingAlias + return x.TransitionRels } return nil } -func (x *RangeTblEntry) GetFunctions() []*Node { +func (x *CreateTrigStmt) GetDeferrable() bool { if x != nil { - return x.Functions + return x.Deferrable } - return nil + return false } -func (x *RangeTblEntry) GetFuncordinality() bool { +func (x *CreateTrigStmt) GetInitdeferred() bool { if x != nil { - return x.Funcordinality + return x.Initdeferred } return false } -func (x *RangeTblEntry) GetTablefunc() *TableFunc { +func (x *CreateTrigStmt) GetConstrrel() *RangeVar { if x != nil { - return x.Tablefunc + return x.Constrrel } return nil } -func (x *RangeTblEntry) GetValuesLists() []*Node { - if x != nil { - return x.ValuesLists - } - return nil -} +type CreateEventTrigStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *RangeTblEntry) GetCtename() string { - if x != nil { - return x.Ctename - } - return "" + Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` + Eventname string `protobuf:"bytes,2,opt,name=eventname,proto3" json:"eventname,omitempty"` + Whenclause []*Node `protobuf:"bytes,3,rep,name=whenclause,proto3" json:"whenclause,omitempty"` + Funcname []*Node `protobuf:"bytes,4,rep,name=funcname,proto3" json:"funcname,omitempty"` } -func (x *RangeTblEntry) GetCtelevelsup() uint32 { - if x != nil { - return x.Ctelevelsup +func (x *CreateEventTrigStmt) Reset() { + *x = CreateEventTrigStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *RangeTblEntry) GetSelfReference() bool { - if x != nil { - return x.SelfReference - } - return false +func (x *CreateEventTrigStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RangeTblEntry) GetColtypes() []*Node { - if x != nil { - return x.Coltypes - } - return nil -} +func (*CreateEventTrigStmt) ProtoMessage() {} -func (x *RangeTblEntry) GetColtypmods() []*Node { - if x != nil { - return x.Coltypmods +func (x *CreateEventTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[187] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *RangeTblEntry) GetColcollations() []*Node { - if x != nil { - return x.Colcollations - } - return nil +// Deprecated: Use CreateEventTrigStmt.ProtoReflect.Descriptor instead. +func (*CreateEventTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{187} } -func (x *RangeTblEntry) GetEnrname() string { +func (x *CreateEventTrigStmt) GetTrigname() string { if x != nil { - return x.Enrname + return x.Trigname } return "" } -func (x *RangeTblEntry) GetEnrtuples() float64 { +func (x *CreateEventTrigStmt) GetEventname() string { if x != nil { - return x.Enrtuples + return x.Eventname } - return 0 + return "" } -func (x *RangeTblEntry) GetAlias() *Alias { +func (x *CreateEventTrigStmt) GetWhenclause() []*Node { if x != nil { - return x.Alias + return x.Whenclause } return nil } -func (x *RangeTblEntry) GetEref() *Alias { +func (x *CreateEventTrigStmt) GetFuncname() []*Node { if x != nil { - return x.Eref + return x.Funcname } return nil } -func (x *RangeTblEntry) GetLateral() bool { - if x != nil { - return x.Lateral - } - return false -} - -func (x *RangeTblEntry) GetInh() bool { - if x != nil { - return x.Inh - } - return false -} +type AlterEventTrigStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *RangeTblEntry) GetInFromCl() bool { - if x != nil { - return x.InFromCl - } - return false + Trigname string `protobuf:"bytes,1,opt,name=trigname,proto3" json:"trigname,omitempty"` + Tgenabled string `protobuf:"bytes,2,opt,name=tgenabled,proto3" json:"tgenabled,omitempty"` } -func (x *RangeTblEntry) GetRequiredPerms() uint32 { - if x != nil { - return x.RequiredPerms +func (x *AlterEventTrigStmt) Reset() { + *x = AlterEventTrigStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *RangeTblEntry) GetCheckAsUser() uint32 { - if x != nil { - return x.CheckAsUser - } - return 0 +func (x *AlterEventTrigStmt) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *RangeTblEntry) GetSelectedCols() []uint64 { - if x != nil { - return x.SelectedCols - } - return nil -} +func (*AlterEventTrigStmt) ProtoMessage() {} -func (x *RangeTblEntry) GetInsertedCols() []uint64 { - if x != nil { - return x.InsertedCols +func (x *AlterEventTrigStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[188] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *RangeTblEntry) GetUpdatedCols() []uint64 { - if x != nil { - return x.UpdatedCols - } - return nil +// Deprecated: Use AlterEventTrigStmt.ProtoReflect.Descriptor instead. +func (*AlterEventTrigStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{188} } -func (x *RangeTblEntry) GetExtraUpdatedCols() []uint64 { +func (x *AlterEventTrigStmt) GetTrigname() string { if x != nil { - return x.ExtraUpdatedCols + return x.Trigname } - return nil + return "" } -func (x *RangeTblEntry) GetSecurityQuals() []*Node { +func (x *AlterEventTrigStmt) GetTgenabled() string { if x != nil { - return x.SecurityQuals + return x.Tgenabled } - return nil + return "" } -type RangeTblFunction struct { +type CreatePLangStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Funcexpr *Node `protobuf:"bytes,1,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` - Funccolcount int32 `protobuf:"varint,2,opt,name=funccolcount,proto3" json:"funccolcount,omitempty"` - Funccolnames []*Node `protobuf:"bytes,3,rep,name=funccolnames,proto3" json:"funccolnames,omitempty"` - Funccoltypes []*Node `protobuf:"bytes,4,rep,name=funccoltypes,proto3" json:"funccoltypes,omitempty"` - Funccoltypmods []*Node `protobuf:"bytes,5,rep,name=funccoltypmods,proto3" json:"funccoltypmods,omitempty"` - Funccolcollations []*Node `protobuf:"bytes,6,rep,name=funccolcollations,proto3" json:"funccolcollations,omitempty"` - Funcparams []uint64 `protobuf:"varint,7,rep,packed,name=funcparams,proto3" json:"funcparams,omitempty"` + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + Plname string `protobuf:"bytes,2,opt,name=plname,proto3" json:"plname,omitempty"` + Plhandler []*Node `protobuf:"bytes,3,rep,name=plhandler,proto3" json:"plhandler,omitempty"` + Plinline []*Node `protobuf:"bytes,4,rep,name=plinline,proto3" json:"plinline,omitempty"` + Plvalidator []*Node `protobuf:"bytes,5,rep,name=plvalidator,proto3" json:"plvalidator,omitempty"` + Pltrusted bool `protobuf:"varint,6,opt,name=pltrusted,proto3" json:"pltrusted,omitempty"` } -func (x *RangeTblFunction) Reset() { - *x = RangeTblFunction{} +func (x *CreatePLangStmt) Reset() { + *x = CreatePLangStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[208] + mi := &file_pg_query_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RangeTblFunction) String() string { +func (x *CreatePLangStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RangeTblFunction) ProtoMessage() {} +func (*CreatePLangStmt) ProtoMessage() {} -func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[208] +func (x *CreatePLangStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25576,87 +26058,80 @@ func (x *RangeTblFunction) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RangeTblFunction.ProtoReflect.Descriptor instead. -func (*RangeTblFunction) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{208} -} - -func (x *RangeTblFunction) GetFuncexpr() *Node { - if x != nil { - return x.Funcexpr - } - return nil +// Deprecated: Use CreatePLangStmt.ProtoReflect.Descriptor instead. +func (*CreatePLangStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{189} } -func (x *RangeTblFunction) GetFunccolcount() int32 { +func (x *CreatePLangStmt) GetReplace() bool { if x != nil { - return x.Funccolcount + return x.Replace } - return 0 + return false } -func (x *RangeTblFunction) GetFunccolnames() []*Node { +func (x *CreatePLangStmt) GetPlname() string { if x != nil { - return x.Funccolnames + return x.Plname } - return nil + return "" } -func (x *RangeTblFunction) GetFunccoltypes() []*Node { +func (x *CreatePLangStmt) GetPlhandler() []*Node { if x != nil { - return x.Funccoltypes + return x.Plhandler } return nil } -func (x *RangeTblFunction) GetFunccoltypmods() []*Node { +func (x *CreatePLangStmt) GetPlinline() []*Node { if x != nil { - return x.Funccoltypmods + return x.Plinline } return nil } -func (x *RangeTblFunction) GetFunccolcollations() []*Node { +func (x *CreatePLangStmt) GetPlvalidator() []*Node { if x != nil { - return x.Funccolcollations + return x.Plvalidator } return nil } -func (x *RangeTblFunction) GetFuncparams() []uint64 { +func (x *CreatePLangStmt) GetPltrusted() bool { if x != nil { - return x.Funcparams + return x.Pltrusted } - return nil + return false } -type TableSampleClause struct { +type CreateRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tsmhandler uint32 `protobuf:"varint,1,opt,name=tsmhandler,proto3" json:"tsmhandler,omitempty"` - Args []*Node `protobuf:"bytes,2,rep,name=args,proto3" json:"args,omitempty"` - Repeatable *Node `protobuf:"bytes,3,opt,name=repeatable,proto3" json:"repeatable,omitempty"` + StmtType RoleStmtType `protobuf:"varint,1,opt,name=stmt_type,proto3,enum=pg_query.RoleStmtType" json:"stmt_type,omitempty"` + Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` } -func (x *TableSampleClause) Reset() { - *x = TableSampleClause{} +func (x *CreateRoleStmt) Reset() { + *x = CreateRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[209] + mi := &file_pg_query_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TableSampleClause) String() string { +func (x *CreateRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TableSampleClause) ProtoMessage() {} +func (*CreateRoleStmt) ProtoMessage() {} -func (x *TableSampleClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[209] +func (x *CreateRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25667,61 +26142,59 @@ func (x *TableSampleClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TableSampleClause.ProtoReflect.Descriptor instead. -func (*TableSampleClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{209} +// Deprecated: Use CreateRoleStmt.ProtoReflect.Descriptor instead. +func (*CreateRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{190} } -func (x *TableSampleClause) GetTsmhandler() uint32 { +func (x *CreateRoleStmt) GetStmtType() RoleStmtType { if x != nil { - return x.Tsmhandler + return x.StmtType } - return 0 + return RoleStmtType_ROLE_STMT_TYPE_UNDEFINED } -func (x *TableSampleClause) GetArgs() []*Node { +func (x *CreateRoleStmt) GetRole() string { if x != nil { - return x.Args + return x.Role } - return nil + return "" } -func (x *TableSampleClause) GetRepeatable() *Node { +func (x *CreateRoleStmt) GetOptions() []*Node { if x != nil { - return x.Repeatable + return x.Options } return nil } -type WithCheckOption struct { +type AlterRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind WCOKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.WCOKind" json:"kind,omitempty"` - Relname string `protobuf:"bytes,2,opt,name=relname,proto3" json:"relname,omitempty"` - Polname string `protobuf:"bytes,3,opt,name=polname,proto3" json:"polname,omitempty"` - Qual *Node `protobuf:"bytes,4,opt,name=qual,proto3" json:"qual,omitempty"` - Cascaded bool `protobuf:"varint,5,opt,name=cascaded,proto3" json:"cascaded,omitempty"` + Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Action int32 `protobuf:"varint,3,opt,name=action,proto3" json:"action,omitempty"` } -func (x *WithCheckOption) Reset() { - *x = WithCheckOption{} +func (x *AlterRoleStmt) Reset() { + *x = AlterRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[210] + mi := &file_pg_query_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WithCheckOption) String() string { +func (x *AlterRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WithCheckOption) ProtoMessage() {} +func (*AlterRoleStmt) ProtoMessage() {} -func (x *WithCheckOption) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[210] +func (x *AlterRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25732,75 +26205,59 @@ func (x *WithCheckOption) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WithCheckOption.ProtoReflect.Descriptor instead. -func (*WithCheckOption) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{210} -} - -func (x *WithCheckOption) GetKind() WCOKind { - if x != nil { - return x.Kind - } - return WCOKind_WCOKIND_UNDEFINED -} - -func (x *WithCheckOption) GetRelname() string { - if x != nil { - return x.Relname - } - return "" +// Deprecated: Use AlterRoleStmt.ProtoReflect.Descriptor instead. +func (*AlterRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{191} } -func (x *WithCheckOption) GetPolname() string { +func (x *AlterRoleStmt) GetRole() *RoleSpec { if x != nil { - return x.Polname + return x.Role } - return "" + return nil } -func (x *WithCheckOption) GetQual() *Node { +func (x *AlterRoleStmt) GetOptions() []*Node { if x != nil { - return x.Qual + return x.Options } return nil } -func (x *WithCheckOption) GetCascaded() bool { +func (x *AlterRoleStmt) GetAction() int32 { if x != nil { - return x.Cascaded + return x.Action } - return false + return 0 } -type SortGroupClause struct { +type AlterRoleSetStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - TleSortGroupRef uint32 `protobuf:"varint,1,opt,name=tle_sort_group_ref,json=tleSortGroupRef,proto3" json:"tle_sort_group_ref,omitempty"` - Eqop uint32 `protobuf:"varint,2,opt,name=eqop,proto3" json:"eqop,omitempty"` - Sortop uint32 `protobuf:"varint,3,opt,name=sortop,proto3" json:"sortop,omitempty"` - NullsFirst bool `protobuf:"varint,4,opt,name=nulls_first,proto3" json:"nulls_first,omitempty"` - Hashable bool `protobuf:"varint,5,opt,name=hashable,proto3" json:"hashable,omitempty"` + Role *RoleSpec `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"` + Database string `protobuf:"bytes,2,opt,name=database,proto3" json:"database,omitempty"` + Setstmt *VariableSetStmt `protobuf:"bytes,3,opt,name=setstmt,proto3" json:"setstmt,omitempty"` } -func (x *SortGroupClause) Reset() { - *x = SortGroupClause{} +func (x *AlterRoleSetStmt) Reset() { + *x = AlterRoleSetStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[211] + mi := &file_pg_query_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SortGroupClause) String() string { +func (x *AlterRoleSetStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SortGroupClause) ProtoMessage() {} +func (*AlterRoleSetStmt) ProtoMessage() {} -func (x *SortGroupClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[211] +func (x *AlterRoleSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25811,73 +26268,58 @@ func (x *SortGroupClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SortGroupClause.ProtoReflect.Descriptor instead. -func (*SortGroupClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{211} -} - -func (x *SortGroupClause) GetTleSortGroupRef() uint32 { - if x != nil { - return x.TleSortGroupRef - } - return 0 -} - -func (x *SortGroupClause) GetEqop() uint32 { - if x != nil { - return x.Eqop - } - return 0 +// Deprecated: Use AlterRoleSetStmt.ProtoReflect.Descriptor instead. +func (*AlterRoleSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{192} } -func (x *SortGroupClause) GetSortop() uint32 { +func (x *AlterRoleSetStmt) GetRole() *RoleSpec { if x != nil { - return x.Sortop + return x.Role } - return 0 + return nil } -func (x *SortGroupClause) GetNullsFirst() bool { +func (x *AlterRoleSetStmt) GetDatabase() string { if x != nil { - return x.NullsFirst + return x.Database } - return false + return "" } -func (x *SortGroupClause) GetHashable() bool { +func (x *AlterRoleSetStmt) GetSetstmt() *VariableSetStmt { if x != nil { - return x.Hashable + return x.Setstmt } - return false + return nil } -type GroupingSet struct { +type DropRoleStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind GroupingSetKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.GroupingSetKind" json:"kind,omitempty"` - Content []*Node `protobuf:"bytes,2,rep,name=content,proto3" json:"content,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *GroupingSet) Reset() { - *x = GroupingSet{} +func (x *DropRoleStmt) Reset() { + *x = DropRoleStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[212] + mi := &file_pg_query_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GroupingSet) String() string { +func (x *DropRoleStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GroupingSet) ProtoMessage() {} +func (*DropRoleStmt) ProtoMessage() {} -func (x *GroupingSet) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[212] +func (x *DropRoleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25888,71 +26330,54 @@ func (x *GroupingSet) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GroupingSet.ProtoReflect.Descriptor instead. -func (*GroupingSet) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{212} -} - -func (x *GroupingSet) GetKind() GroupingSetKind { - if x != nil { - return x.Kind - } - return GroupingSetKind_GROUPING_SET_KIND_UNDEFINED +// Deprecated: Use DropRoleStmt.ProtoReflect.Descriptor instead. +func (*DropRoleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{193} } -func (x *GroupingSet) GetContent() []*Node { +func (x *DropRoleStmt) GetRoles() []*Node { if x != nil { - return x.Content + return x.Roles } return nil } -func (x *GroupingSet) GetLocation() int32 { +func (x *DropRoleStmt) GetMissingOk() bool { if x != nil { - return x.Location + return x.MissingOk } - return 0 + return false } -type WindowClause struct { +type CreateSeqStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Refname string `protobuf:"bytes,2,opt,name=refname,proto3" json:"refname,omitempty"` - PartitionClause []*Node `protobuf:"bytes,3,rep,name=partition_clause,json=partitionClause,proto3" json:"partition_clause,omitempty"` - OrderClause []*Node `protobuf:"bytes,4,rep,name=order_clause,json=orderClause,proto3" json:"order_clause,omitempty"` - FrameOptions int32 `protobuf:"varint,5,opt,name=frame_options,json=frameOptions,proto3" json:"frame_options,omitempty"` - StartOffset *Node `protobuf:"bytes,6,opt,name=start_offset,json=startOffset,proto3" json:"start_offset,omitempty"` - EndOffset *Node `protobuf:"bytes,7,opt,name=end_offset,json=endOffset,proto3" json:"end_offset,omitempty"` - RunCondition []*Node `protobuf:"bytes,8,rep,name=run_condition,json=runCondition,proto3" json:"run_condition,omitempty"` - StartInRangeFunc uint32 `protobuf:"varint,9,opt,name=start_in_range_func,json=startInRangeFunc,proto3" json:"start_in_range_func,omitempty"` - EndInRangeFunc uint32 `protobuf:"varint,10,opt,name=end_in_range_func,json=endInRangeFunc,proto3" json:"end_in_range_func,omitempty"` - InRangeColl uint32 `protobuf:"varint,11,opt,name=in_range_coll,json=inRangeColl,proto3" json:"in_range_coll,omitempty"` - InRangeAsc bool `protobuf:"varint,12,opt,name=in_range_asc,json=inRangeAsc,proto3" json:"in_range_asc,omitempty"` - InRangeNullsFirst bool `protobuf:"varint,13,opt,name=in_range_nulls_first,json=inRangeNullsFirst,proto3" json:"in_range_nulls_first,omitempty"` - Winref uint32 `protobuf:"varint,14,opt,name=winref,proto3" json:"winref,omitempty"` - CopiedOrder bool `protobuf:"varint,15,opt,name=copied_order,json=copiedOrder,proto3" json:"copied_order,omitempty"` + Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + OwnerId uint32 `protobuf:"varint,3,opt,name=owner_id,json=ownerId,proto3" json:"owner_id,omitempty"` + ForIdentity bool `protobuf:"varint,4,opt,name=for_identity,proto3" json:"for_identity,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *WindowClause) Reset() { - *x = WindowClause{} +func (x *CreateSeqStmt) Reset() { + *x = CreateSeqStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[213] + mi := &file_pg_query_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WindowClause) String() string { +func (x *CreateSeqStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WindowClause) ProtoMessage() {} +func (*CreateSeqStmt) ProtoMessage() {} -func (x *WindowClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[213] +func (x *CreateSeqStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25963,144 +26388,148 @@ func (x *WindowClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WindowClause.ProtoReflect.Descriptor instead. -func (*WindowClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{213} -} - -func (x *WindowClause) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *WindowClause) GetRefname() string { - if x != nil { - return x.Refname - } - return "" +// Deprecated: Use CreateSeqStmt.ProtoReflect.Descriptor instead. +func (*CreateSeqStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{194} } -func (x *WindowClause) GetPartitionClause() []*Node { +func (x *CreateSeqStmt) GetSequence() *RangeVar { if x != nil { - return x.PartitionClause + return x.Sequence } return nil } -func (x *WindowClause) GetOrderClause() []*Node { +func (x *CreateSeqStmt) GetOptions() []*Node { if x != nil { - return x.OrderClause + return x.Options } return nil } -func (x *WindowClause) GetFrameOptions() int32 { +func (x *CreateSeqStmt) GetOwnerId() uint32 { if x != nil { - return x.FrameOptions + return x.OwnerId } return 0 } -func (x *WindowClause) GetStartOffset() *Node { - if x != nil { - return x.StartOffset - } - return nil -} - -func (x *WindowClause) GetEndOffset() *Node { +func (x *CreateSeqStmt) GetForIdentity() bool { if x != nil { - return x.EndOffset + return x.ForIdentity } - return nil + return false } -func (x *WindowClause) GetRunCondition() []*Node { +func (x *CreateSeqStmt) GetIfNotExists() bool { if x != nil { - return x.RunCondition + return x.IfNotExists } - return nil + return false } -func (x *WindowClause) GetStartInRangeFunc() uint32 { - if x != nil { - return x.StartInRangeFunc - } - return 0 +type AlterSeqStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sequence *RangeVar `protobuf:"bytes,1,opt,name=sequence,proto3" json:"sequence,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + ForIdentity bool `protobuf:"varint,3,opt,name=for_identity,proto3" json:"for_identity,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *WindowClause) GetEndInRangeFunc() uint32 { - if x != nil { - return x.EndInRangeFunc +func (x *AlterSeqStmt) Reset() { + *x = AlterSeqStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *WindowClause) GetInRangeColl() uint32 { - if x != nil { - return x.InRangeColl +func (x *AlterSeqStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterSeqStmt) ProtoMessage() {} + +func (x *AlterSeqStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[195] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *WindowClause) GetInRangeAsc() bool { +// Deprecated: Use AlterSeqStmt.ProtoReflect.Descriptor instead. +func (*AlterSeqStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{195} +} + +func (x *AlterSeqStmt) GetSequence() *RangeVar { if x != nil { - return x.InRangeAsc + return x.Sequence } - return false + return nil } -func (x *WindowClause) GetInRangeNullsFirst() bool { +func (x *AlterSeqStmt) GetOptions() []*Node { if x != nil { - return x.InRangeNullsFirst + return x.Options } - return false + return nil } -func (x *WindowClause) GetWinref() uint32 { +func (x *AlterSeqStmt) GetForIdentity() bool { if x != nil { - return x.Winref + return x.ForIdentity } - return 0 + return false } -func (x *WindowClause) GetCopiedOrder() bool { +func (x *AlterSeqStmt) GetMissingOk() bool { if x != nil { - return x.CopiedOrder + return x.MissingOk } return false } -type ObjectWithArgs struct { +type DefineStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Objname []*Node `protobuf:"bytes,1,rep,name=objname,proto3" json:"objname,omitempty"` - Objargs []*Node `protobuf:"bytes,2,rep,name=objargs,proto3" json:"objargs,omitempty"` - Objfuncargs []*Node `protobuf:"bytes,3,rep,name=objfuncargs,proto3" json:"objfuncargs,omitempty"` - ArgsUnspecified bool `protobuf:"varint,4,opt,name=args_unspecified,proto3" json:"args_unspecified,omitempty"` + Kind ObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ObjectType" json:"kind,omitempty"` + Oldstyle bool `protobuf:"varint,2,opt,name=oldstyle,proto3" json:"oldstyle,omitempty"` + Defnames []*Node `protobuf:"bytes,3,rep,name=defnames,proto3" json:"defnames,omitempty"` + Args []*Node `protobuf:"bytes,4,rep,name=args,proto3" json:"args,omitempty"` + Definition []*Node `protobuf:"bytes,5,rep,name=definition,proto3" json:"definition,omitempty"` + IfNotExists bool `protobuf:"varint,6,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` } -func (x *ObjectWithArgs) Reset() { - *x = ObjectWithArgs{} +func (x *DefineStmt) Reset() { + *x = DefineStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[214] + mi := &file_pg_query_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ObjectWithArgs) String() string { +func (x *DefineStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ObjectWithArgs) ProtoMessage() {} +func (*DefineStmt) ProtoMessage() {} -func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[214] +func (x *DefineStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26111,65 +26540,88 @@ func (x *ObjectWithArgs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ObjectWithArgs.ProtoReflect.Descriptor instead. -func (*ObjectWithArgs) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{214} +// Deprecated: Use DefineStmt.ProtoReflect.Descriptor instead. +func (*DefineStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{196} } -func (x *ObjectWithArgs) GetObjname() []*Node { +func (x *DefineStmt) GetKind() ObjectType { if x != nil { - return x.Objname + return x.Kind + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *DefineStmt) GetOldstyle() bool { + if x != nil { + return x.Oldstyle + } + return false +} + +func (x *DefineStmt) GetDefnames() []*Node { + if x != nil { + return x.Defnames } return nil } -func (x *ObjectWithArgs) GetObjargs() []*Node { +func (x *DefineStmt) GetArgs() []*Node { if x != nil { - return x.Objargs + return x.Args } return nil } -func (x *ObjectWithArgs) GetObjfuncargs() []*Node { +func (x *DefineStmt) GetDefinition() []*Node { if x != nil { - return x.Objfuncargs + return x.Definition } return nil } -func (x *ObjectWithArgs) GetArgsUnspecified() bool { +func (x *DefineStmt) GetIfNotExists() bool { if x != nil { - return x.ArgsUnspecified + return x.IfNotExists } return false } -type AccessPriv struct { +func (x *DefineStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +type CreateDomainStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PrivName string `protobuf:"bytes,1,opt,name=priv_name,proto3" json:"priv_name,omitempty"` - Cols []*Node `protobuf:"bytes,2,rep,name=cols,proto3" json:"cols,omitempty"` + Domainname []*Node `protobuf:"bytes,1,rep,name=domainname,proto3" json:"domainname,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + CollClause *CollateClause `protobuf:"bytes,3,opt,name=coll_clause,json=collClause,proto3" json:"coll_clause,omitempty"` + Constraints []*Node `protobuf:"bytes,4,rep,name=constraints,proto3" json:"constraints,omitempty"` } -func (x *AccessPriv) Reset() { - *x = AccessPriv{} +func (x *CreateDomainStmt) Reset() { + *x = CreateDomainStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[215] + mi := &file_pg_query_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AccessPriv) String() string { +func (x *CreateDomainStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AccessPriv) ProtoMessage() {} +func (*CreateDomainStmt) ProtoMessage() {} -func (x *AccessPriv) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[215] +func (x *CreateDomainStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26180,55 +26632,69 @@ func (x *AccessPriv) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AccessPriv.ProtoReflect.Descriptor instead. -func (*AccessPriv) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{215} +// Deprecated: Use CreateDomainStmt.ProtoReflect.Descriptor instead. +func (*CreateDomainStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{197} } -func (x *AccessPriv) GetPrivName() string { +func (x *CreateDomainStmt) GetDomainname() []*Node { if x != nil { - return x.PrivName + return x.Domainname } - return "" + return nil } -func (x *AccessPriv) GetCols() []*Node { +func (x *CreateDomainStmt) GetTypeName() *TypeName { if x != nil { - return x.Cols + return x.TypeName } return nil } -type CreateOpClassItem struct { +func (x *CreateDomainStmt) GetCollClause() *CollateClause { + if x != nil { + return x.CollClause + } + return nil +} + +func (x *CreateDomainStmt) GetConstraints() []*Node { + if x != nil { + return x.Constraints + } + return nil +} + +type CreateOpClassStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Itemtype int32 `protobuf:"varint,1,opt,name=itemtype,proto3" json:"itemtype,omitempty"` - Name *ObjectWithArgs `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` - OrderFamily []*Node `protobuf:"bytes,4,rep,name=order_family,proto3" json:"order_family,omitempty"` - ClassArgs []*Node `protobuf:"bytes,5,rep,name=class_args,proto3" json:"class_args,omitempty"` - Storedtype *TypeName `protobuf:"bytes,6,opt,name=storedtype,proto3" json:"storedtype,omitempty"` + Opclassname []*Node `protobuf:"bytes,1,rep,name=opclassname,proto3" json:"opclassname,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,2,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,3,opt,name=amname,proto3" json:"amname,omitempty"` + Datatype *TypeName `protobuf:"bytes,4,opt,name=datatype,proto3" json:"datatype,omitempty"` + Items []*Node `protobuf:"bytes,5,rep,name=items,proto3" json:"items,omitempty"` + IsDefault bool `protobuf:"varint,6,opt,name=is_default,json=isDefault,proto3" json:"is_default,omitempty"` } -func (x *CreateOpClassItem) Reset() { - *x = CreateOpClassItem{} +func (x *CreateOpClassStmt) Reset() { + *x = CreateOpClassStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[216] + mi := &file_pg_query_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateOpClassItem) String() string { +func (x *CreateOpClassStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateOpClassItem) ProtoMessage() {} +func (*CreateOpClassStmt) ProtoMessage() {} -func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[216] +func (x *CreateOpClassStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26239,80 +26705,83 @@ func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateOpClassItem.ProtoReflect.Descriptor instead. -func (*CreateOpClassItem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{216} +// Deprecated: Use CreateOpClassStmt.ProtoReflect.Descriptor instead. +func (*CreateOpClassStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{198} } -func (x *CreateOpClassItem) GetItemtype() int32 { +func (x *CreateOpClassStmt) GetOpclassname() []*Node { if x != nil { - return x.Itemtype + return x.Opclassname } - return 0 + return nil } -func (x *CreateOpClassItem) GetName() *ObjectWithArgs { +func (x *CreateOpClassStmt) GetOpfamilyname() []*Node { if x != nil { - return x.Name + return x.Opfamilyname } return nil } -func (x *CreateOpClassItem) GetNumber() int32 { +func (x *CreateOpClassStmt) GetAmname() string { if x != nil { - return x.Number + return x.Amname } - return 0 + return "" } -func (x *CreateOpClassItem) GetOrderFamily() []*Node { +func (x *CreateOpClassStmt) GetDatatype() *TypeName { if x != nil { - return x.OrderFamily + return x.Datatype } return nil } -func (x *CreateOpClassItem) GetClassArgs() []*Node { +func (x *CreateOpClassStmt) GetItems() []*Node { if x != nil { - return x.ClassArgs + return x.Items } return nil } -func (x *CreateOpClassItem) GetStoredtype() *TypeName { +func (x *CreateOpClassStmt) GetIsDefault() bool { if x != nil { - return x.Storedtype + return x.IsDefault } - return nil + return false } -type TableLikeClause struct { +type CreateOpClassItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Options uint32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` - RelationOid uint32 `protobuf:"varint,3,opt,name=relation_oid,json=relationOid,proto3" json:"relation_oid,omitempty"` + Itemtype int32 `protobuf:"varint,1,opt,name=itemtype,proto3" json:"itemtype,omitempty"` + Name *ObjectWithArgs `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Number int32 `protobuf:"varint,3,opt,name=number,proto3" json:"number,omitempty"` + OrderFamily []*Node `protobuf:"bytes,4,rep,name=order_family,proto3" json:"order_family,omitempty"` + ClassArgs []*Node `protobuf:"bytes,5,rep,name=class_args,proto3" json:"class_args,omitempty"` + Storedtype *TypeName `protobuf:"bytes,6,opt,name=storedtype,proto3" json:"storedtype,omitempty"` } -func (x *TableLikeClause) Reset() { - *x = TableLikeClause{} +func (x *CreateOpClassItem) Reset() { + *x = CreateOpClassItem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[217] + mi := &file_pg_query_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TableLikeClause) String() string { +func (x *CreateOpClassItem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TableLikeClause) ProtoMessage() {} +func (*CreateOpClassItem) ProtoMessage() {} -func (x *TableLikeClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[217] +func (x *CreateOpClassItem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26323,60 +26792,79 @@ func (x *TableLikeClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TableLikeClause.ProtoReflect.Descriptor instead. -func (*TableLikeClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{217} +// Deprecated: Use CreateOpClassItem.ProtoReflect.Descriptor instead. +func (*CreateOpClassItem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{199} } -func (x *TableLikeClause) GetRelation() *RangeVar { +func (x *CreateOpClassItem) GetItemtype() int32 { if x != nil { - return x.Relation + return x.Itemtype + } + return 0 +} + +func (x *CreateOpClassItem) GetName() *ObjectWithArgs { + if x != nil { + return x.Name } return nil } -func (x *TableLikeClause) GetOptions() uint32 { +func (x *CreateOpClassItem) GetNumber() int32 { if x != nil { - return x.Options + return x.Number } return 0 } -func (x *TableLikeClause) GetRelationOid() uint32 { +func (x *CreateOpClassItem) GetOrderFamily() []*Node { if x != nil { - return x.RelationOid + return x.OrderFamily } - return 0 + return nil } -type FunctionParameter struct { +func (x *CreateOpClassItem) GetClassArgs() []*Node { + if x != nil { + return x.ClassArgs + } + return nil +} + +func (x *CreateOpClassItem) GetStoredtype() *TypeName { + if x != nil { + return x.Storedtype + } + return nil +} + +type CreateOpFamilyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - ArgType *TypeName `protobuf:"bytes,2,opt,name=arg_type,json=argType,proto3" json:"arg_type,omitempty"` - Mode FunctionParameterMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pg_query.FunctionParameterMode" json:"mode,omitempty"` - Defexpr *Node `protobuf:"bytes,4,opt,name=defexpr,proto3" json:"defexpr,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` } -func (x *FunctionParameter) Reset() { - *x = FunctionParameter{} +func (x *CreateOpFamilyStmt) Reset() { + *x = CreateOpFamilyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[218] + mi := &file_pg_query_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FunctionParameter) String() string { +func (x *CreateOpFamilyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FunctionParameter) ProtoMessage() {} +func (*CreateOpFamilyStmt) ProtoMessage() {} -func (x *FunctionParameter) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[218] +func (x *CreateOpFamilyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26387,66 +26875,53 @@ func (x *FunctionParameter) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FunctionParameter.ProtoReflect.Descriptor instead. -func (*FunctionParameter) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{218} -} - -func (x *FunctionParameter) GetName() string { - if x != nil { - return x.Name - } - return "" +// Deprecated: Use CreateOpFamilyStmt.ProtoReflect.Descriptor instead. +func (*CreateOpFamilyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{200} } -func (x *FunctionParameter) GetArgType() *TypeName { +func (x *CreateOpFamilyStmt) GetOpfamilyname() []*Node { if x != nil { - return x.ArgType + return x.Opfamilyname } return nil } -func (x *FunctionParameter) GetMode() FunctionParameterMode { - if x != nil { - return x.Mode - } - return FunctionParameterMode_FUNCTION_PARAMETER_MODE_UNDEFINED -} - -func (x *FunctionParameter) GetDefexpr() *Node { +func (x *CreateOpFamilyStmt) GetAmname() string { if x != nil { - return x.Defexpr + return x.Amname } - return nil + return "" } -type LockingClause struct { +type AlterOpFamilyStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LockedRels []*Node `protobuf:"bytes,1,rep,name=locked_rels,json=lockedRels,proto3" json:"locked_rels,omitempty"` - Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` - WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` + Opfamilyname []*Node `protobuf:"bytes,1,rep,name=opfamilyname,proto3" json:"opfamilyname,omitempty"` + Amname string `protobuf:"bytes,2,opt,name=amname,proto3" json:"amname,omitempty"` + IsDrop bool `protobuf:"varint,3,opt,name=is_drop,json=isDrop,proto3" json:"is_drop,omitempty"` + Items []*Node `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` } -func (x *LockingClause) Reset() { - *x = LockingClause{} +func (x *AlterOpFamilyStmt) Reset() { + *x = AlterOpFamilyStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[219] + mi := &file_pg_query_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *LockingClause) String() string { +func (x *AlterOpFamilyStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*LockingClause) ProtoMessage() {} +func (*AlterOpFamilyStmt) ProtoMessage() {} -func (x *LockingClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[219] +func (x *AlterOpFamilyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26457,60 +26932,68 @@ func (x *LockingClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use LockingClause.ProtoReflect.Descriptor instead. -func (*LockingClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{219} +// Deprecated: Use AlterOpFamilyStmt.ProtoReflect.Descriptor instead. +func (*AlterOpFamilyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{201} } -func (x *LockingClause) GetLockedRels() []*Node { +func (x *AlterOpFamilyStmt) GetOpfamilyname() []*Node { if x != nil { - return x.LockedRels + return x.Opfamilyname } return nil } -func (x *LockingClause) GetStrength() LockClauseStrength { +func (x *AlterOpFamilyStmt) GetAmname() string { if x != nil { - return x.Strength + return x.Amname } - return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED + return "" } -func (x *LockingClause) GetWaitPolicy() LockWaitPolicy { +func (x *AlterOpFamilyStmt) GetIsDrop() bool { if x != nil { - return x.WaitPolicy + return x.IsDrop } - return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED + return false } -type RowMarkClause struct { +func (x *AlterOpFamilyStmt) GetItems() []*Node { + if x != nil { + return x.Items + } + return nil +} + +type DropStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Rti uint32 `protobuf:"varint,1,opt,name=rti,proto3" json:"rti,omitempty"` - Strength LockClauseStrength `protobuf:"varint,2,opt,name=strength,proto3,enum=pg_query.LockClauseStrength" json:"strength,omitempty"` - WaitPolicy LockWaitPolicy `protobuf:"varint,3,opt,name=wait_policy,json=waitPolicy,proto3,enum=pg_query.LockWaitPolicy" json:"wait_policy,omitempty"` - PushedDown bool `protobuf:"varint,4,opt,name=pushed_down,json=pushedDown,proto3" json:"pushed_down,omitempty"` + Objects []*Node `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"` + RemoveType ObjectType `protobuf:"varint,2,opt,name=remove_type,json=removeType,proto3,enum=pg_query.ObjectType" json:"remove_type,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,4,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Concurrent bool `protobuf:"varint,5,opt,name=concurrent,proto3" json:"concurrent,omitempty"` } -func (x *RowMarkClause) Reset() { - *x = RowMarkClause{} +func (x *DropStmt) Reset() { + *x = DropStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[220] + mi := &file_pg_query_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RowMarkClause) String() string { +func (x *DropStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RowMarkClause) ProtoMessage() {} +func (*DropStmt) ProtoMessage() {} -func (x *RowMarkClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[220] +func (x *DropStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26521,67 +27004,73 @@ func (x *RowMarkClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RowMarkClause.ProtoReflect.Descriptor instead. -func (*RowMarkClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{220} +// Deprecated: Use DropStmt.ProtoReflect.Descriptor instead. +func (*DropStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{202} } -func (x *RowMarkClause) GetRti() uint32 { +func (x *DropStmt) GetObjects() []*Node { if x != nil { - return x.Rti + return x.Objects } - return 0 + return nil } -func (x *RowMarkClause) GetStrength() LockClauseStrength { +func (x *DropStmt) GetRemoveType() ObjectType { if x != nil { - return x.Strength + return x.RemoveType } - return LockClauseStrength_LOCK_CLAUSE_STRENGTH_UNDEFINED + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *RowMarkClause) GetWaitPolicy() LockWaitPolicy { +func (x *DropStmt) GetBehavior() DropBehavior { if x != nil { - return x.WaitPolicy + return x.Behavior } - return LockWaitPolicy_LOCK_WAIT_POLICY_UNDEFINED + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -func (x *RowMarkClause) GetPushedDown() bool { +func (x *DropStmt) GetMissingOk() bool { if x != nil { - return x.PushedDown + return x.MissingOk } return false } -type XmlSerialize struct { +func (x *DropStmt) GetConcurrent() bool { + if x != nil { + return x.Concurrent + } + return false +} + +type TruncateStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Xmloption XmlOptionType `protobuf:"varint,1,opt,name=xmloption,proto3,enum=pg_query.XmlOptionType" json:"xmloption,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - TypeName *TypeName `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` + RestartSeqs bool `protobuf:"varint,2,opt,name=restart_seqs,proto3" json:"restart_seqs,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` } -func (x *XmlSerialize) Reset() { - *x = XmlSerialize{} +func (x *TruncateStmt) Reset() { + *x = TruncateStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[221] + mi := &file_pg_query_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *XmlSerialize) String() string { +func (x *TruncateStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*XmlSerialize) ProtoMessage() {} +func (*TruncateStmt) ProtoMessage() {} -func (x *XmlSerialize) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[221] +func (x *TruncateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26592,66 +27081,59 @@ func (x *XmlSerialize) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use XmlSerialize.ProtoReflect.Descriptor instead. -func (*XmlSerialize) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{221} +// Deprecated: Use TruncateStmt.ProtoReflect.Descriptor instead. +func (*TruncateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{203} } -func (x *XmlSerialize) GetXmloption() XmlOptionType { - if x != nil { - return x.Xmloption - } - return XmlOptionType_XML_OPTION_TYPE_UNDEFINED -} - -func (x *XmlSerialize) GetExpr() *Node { +func (x *TruncateStmt) GetRelations() []*Node { if x != nil { - return x.Expr + return x.Relations } return nil } -func (x *XmlSerialize) GetTypeName() *TypeName { +func (x *TruncateStmt) GetRestartSeqs() bool { if x != nil { - return x.TypeName + return x.RestartSeqs } - return nil + return false } -func (x *XmlSerialize) GetLocation() int32 { +func (x *TruncateStmt) GetBehavior() DropBehavior { if x != nil { - return x.Location + return x.Behavior } - return 0 + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -type WithClause struct { +type CommentStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ctes []*Node `protobuf:"bytes,1,rep,name=ctes,proto3" json:"ctes,omitempty"` - Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` } -func (x *WithClause) Reset() { - *x = WithClause{} +func (x *CommentStmt) Reset() { + *x = CommentStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[222] + mi := &file_pg_query_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WithClause) String() string { +func (x *CommentStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WithClause) ProtoMessage() {} +func (*CommentStmt) ProtoMessage() {} -func (x *WithClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[222] +func (x *CommentStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26662,60 +27144,60 @@ func (x *WithClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WithClause.ProtoReflect.Descriptor instead. -func (*WithClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{222} +// Deprecated: Use CommentStmt.ProtoReflect.Descriptor instead. +func (*CommentStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{204} } -func (x *WithClause) GetCtes() []*Node { +func (x *CommentStmt) GetObjtype() ObjectType { if x != nil { - return x.Ctes + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *WithClause) GetRecursive() bool { +func (x *CommentStmt) GetObject() *Node { if x != nil { - return x.Recursive + return x.Object } - return false + return nil } -func (x *WithClause) GetLocation() int32 { +func (x *CommentStmt) GetComment() string { if x != nil { - return x.Location + return x.Comment } - return 0 + return "" } -type InferClause struct { +type SecLabelStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IndexElems []*Node `protobuf:"bytes,1,rep,name=index_elems,json=indexElems,proto3" json:"index_elems,omitempty"` - WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Conname string `protobuf:"bytes,3,opt,name=conname,proto3" json:"conname,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Object *Node `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"` + Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` } -func (x *InferClause) Reset() { - *x = InferClause{} +func (x *SecLabelStmt) Reset() { + *x = SecLabelStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[223] + mi := &file_pg_query_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InferClause) String() string { +func (x *SecLabelStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InferClause) ProtoMessage() {} +func (*SecLabelStmt) ProtoMessage() {} -func (x *InferClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[223] +func (x *SecLabelStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26726,68 +27208,66 @@ func (x *InferClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InferClause.ProtoReflect.Descriptor instead. -func (*InferClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{223} +// Deprecated: Use SecLabelStmt.ProtoReflect.Descriptor instead. +func (*SecLabelStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{205} } -func (x *InferClause) GetIndexElems() []*Node { +func (x *SecLabelStmt) GetObjtype() ObjectType { if x != nil { - return x.IndexElems + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *InferClause) GetWhereClause() *Node { +func (x *SecLabelStmt) GetObject() *Node { if x != nil { - return x.WhereClause + return x.Object } return nil } -func (x *InferClause) GetConname() string { +func (x *SecLabelStmt) GetProvider() string { if x != nil { - return x.Conname + return x.Provider } return "" } -func (x *InferClause) GetLocation() int32 { +func (x *SecLabelStmt) GetLabel() string { if x != nil { - return x.Location + return x.Label } - return 0 + return "" } -type OnConflictClause struct { +type DeclareCursorStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Action OnConflictAction `protobuf:"varint,1,opt,name=action,proto3,enum=pg_query.OnConflictAction" json:"action,omitempty"` - Infer *InferClause `protobuf:"bytes,2,opt,name=infer,proto3" json:"infer,omitempty"` - TargetList []*Node `protobuf:"bytes,3,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - WhereClause *Node `protobuf:"bytes,4,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` + Options int32 `protobuf:"varint,2,opt,name=options,proto3" json:"options,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` } -func (x *OnConflictClause) Reset() { - *x = OnConflictClause{} +func (x *DeclareCursorStmt) Reset() { + *x = DeclareCursorStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[224] + mi := &file_pg_query_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OnConflictClause) String() string { +func (x *DeclareCursorStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OnConflictClause) ProtoMessage() {} +func (*DeclareCursorStmt) ProtoMessage() {} -func (x *OnConflictClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[224] +func (x *DeclareCursorStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26798,74 +27278,57 @@ func (x *OnConflictClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OnConflictClause.ProtoReflect.Descriptor instead. -func (*OnConflictClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{224} -} - -func (x *OnConflictClause) GetAction() OnConflictAction { - if x != nil { - return x.Action - } - return OnConflictAction_ON_CONFLICT_ACTION_UNDEFINED +// Deprecated: Use DeclareCursorStmt.ProtoReflect.Descriptor instead. +func (*DeclareCursorStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{206} } -func (x *OnConflictClause) GetInfer() *InferClause { +func (x *DeclareCursorStmt) GetPortalname() string { if x != nil { - return x.Infer + return x.Portalname } - return nil + return "" } -func (x *OnConflictClause) GetTargetList() []*Node { +func (x *DeclareCursorStmt) GetOptions() int32 { if x != nil { - return x.TargetList + return x.Options } - return nil + return 0 } -func (x *OnConflictClause) GetWhereClause() *Node { +func (x *DeclareCursorStmt) GetQuery() *Node { if x != nil { - return x.WhereClause + return x.Query } return nil } -func (x *OnConflictClause) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type CTESearchClause struct { +type ClosePortalStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SearchColList []*Node `protobuf:"bytes,1,rep,name=search_col_list,proto3" json:"search_col_list,omitempty"` - SearchBreadthFirst bool `protobuf:"varint,2,opt,name=search_breadth_first,proto3" json:"search_breadth_first,omitempty"` - SearchSeqColumn string `protobuf:"bytes,3,opt,name=search_seq_column,proto3" json:"search_seq_column,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + Portalname string `protobuf:"bytes,1,opt,name=portalname,proto3" json:"portalname,omitempty"` } -func (x *CTESearchClause) Reset() { - *x = CTESearchClause{} +func (x *ClosePortalStmt) Reset() { + *x = ClosePortalStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[225] + mi := &file_pg_query_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CTESearchClause) String() string { +func (x *ClosePortalStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CTESearchClause) ProtoMessage() {} +func (*ClosePortalStmt) ProtoMessage() {} -func (x *CTESearchClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[225] +func (x *ClosePortalStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26876,73 +27339,46 @@ func (x *CTESearchClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CTESearchClause.ProtoReflect.Descriptor instead. -func (*CTESearchClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{225} -} - -func (x *CTESearchClause) GetSearchColList() []*Node { - if x != nil { - return x.SearchColList - } - return nil -} - -func (x *CTESearchClause) GetSearchBreadthFirst() bool { - if x != nil { - return x.SearchBreadthFirst - } - return false +// Deprecated: Use ClosePortalStmt.ProtoReflect.Descriptor instead. +func (*ClosePortalStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{207} } -func (x *CTESearchClause) GetSearchSeqColumn() string { +func (x *ClosePortalStmt) GetPortalname() string { if x != nil { - return x.SearchSeqColumn + return x.Portalname } return "" } -func (x *CTESearchClause) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type CTECycleClause struct { +type FetchStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CycleColList []*Node `protobuf:"bytes,1,rep,name=cycle_col_list,proto3" json:"cycle_col_list,omitempty"` - CycleMarkColumn string `protobuf:"bytes,2,opt,name=cycle_mark_column,proto3" json:"cycle_mark_column,omitempty"` - CycleMarkValue *Node `protobuf:"bytes,3,opt,name=cycle_mark_value,proto3" json:"cycle_mark_value,omitempty"` - CycleMarkDefault *Node `protobuf:"bytes,4,opt,name=cycle_mark_default,proto3" json:"cycle_mark_default,omitempty"` - CyclePathColumn string `protobuf:"bytes,5,opt,name=cycle_path_column,proto3" json:"cycle_path_column,omitempty"` - Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` - CycleMarkType uint32 `protobuf:"varint,7,opt,name=cycle_mark_type,proto3" json:"cycle_mark_type,omitempty"` - CycleMarkTypmod int32 `protobuf:"varint,8,opt,name=cycle_mark_typmod,proto3" json:"cycle_mark_typmod,omitempty"` - CycleMarkCollation uint32 `protobuf:"varint,9,opt,name=cycle_mark_collation,proto3" json:"cycle_mark_collation,omitempty"` - CycleMarkNeop uint32 `protobuf:"varint,10,opt,name=cycle_mark_neop,proto3" json:"cycle_mark_neop,omitempty"` + Direction FetchDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=pg_query.FetchDirection" json:"direction,omitempty"` + HowMany int64 `protobuf:"varint,2,opt,name=how_many,json=howMany,proto3" json:"how_many,omitempty"` + Portalname string `protobuf:"bytes,3,opt,name=portalname,proto3" json:"portalname,omitempty"` + Ismove bool `protobuf:"varint,4,opt,name=ismove,proto3" json:"ismove,omitempty"` } -func (x *CTECycleClause) Reset() { - *x = CTECycleClause{} +func (x *FetchStmt) Reset() { + *x = FetchStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[226] + mi := &file_pg_query_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CTECycleClause) String() string { +func (x *FetchStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CTECycleClause) ProtoMessage() {} +func (*FetchStmt) ProtoMessage() {} -func (x *CTECycleClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[226] +func (x *FetchStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26953,118 +27389,87 @@ func (x *CTECycleClause) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CTECycleClause.ProtoReflect.Descriptor instead. -func (*CTECycleClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{226} -} - -func (x *CTECycleClause) GetCycleColList() []*Node { - if x != nil { - return x.CycleColList - } - return nil -} - -func (x *CTECycleClause) GetCycleMarkColumn() string { - if x != nil { - return x.CycleMarkColumn - } - return "" -} - -func (x *CTECycleClause) GetCycleMarkValue() *Node { - if x != nil { - return x.CycleMarkValue - } - return nil -} - -func (x *CTECycleClause) GetCycleMarkDefault() *Node { - if x != nil { - return x.CycleMarkDefault - } - return nil -} - -func (x *CTECycleClause) GetCyclePathColumn() string { - if x != nil { - return x.CyclePathColumn - } - return "" -} - -func (x *CTECycleClause) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 +// Deprecated: Use FetchStmt.ProtoReflect.Descriptor instead. +func (*FetchStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{208} } -func (x *CTECycleClause) GetCycleMarkType() uint32 { +func (x *FetchStmt) GetDirection() FetchDirection { if x != nil { - return x.CycleMarkType + return x.Direction } - return 0 + return FetchDirection_FETCH_DIRECTION_UNDEFINED } -func (x *CTECycleClause) GetCycleMarkTypmod() int32 { +func (x *FetchStmt) GetHowMany() int64 { if x != nil { - return x.CycleMarkTypmod + return x.HowMany } return 0 } -func (x *CTECycleClause) GetCycleMarkCollation() uint32 { +func (x *FetchStmt) GetPortalname() string { if x != nil { - return x.CycleMarkCollation + return x.Portalname } - return 0 + return "" } -func (x *CTECycleClause) GetCycleMarkNeop() uint32 { +func (x *FetchStmt) GetIsmove() bool { if x != nil { - return x.CycleMarkNeop + return x.Ismove } - return 0 + return false } -type CommonTableExpr struct { +type IndexStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Ctename string `protobuf:"bytes,1,opt,name=ctename,proto3" json:"ctename,omitempty"` - Aliascolnames []*Node `protobuf:"bytes,2,rep,name=aliascolnames,proto3" json:"aliascolnames,omitempty"` - Ctematerialized CTEMaterialize `protobuf:"varint,3,opt,name=ctematerialized,proto3,enum=pg_query.CTEMaterialize" json:"ctematerialized,omitempty"` - Ctequery *Node `protobuf:"bytes,4,opt,name=ctequery,proto3" json:"ctequery,omitempty"` - SearchClause *CTESearchClause `protobuf:"bytes,5,opt,name=search_clause,proto3" json:"search_clause,omitempty"` - CycleClause *CTECycleClause `protobuf:"bytes,6,opt,name=cycle_clause,proto3" json:"cycle_clause,omitempty"` - Location int32 `protobuf:"varint,7,opt,name=location,proto3" json:"location,omitempty"` - Cterecursive bool `protobuf:"varint,8,opt,name=cterecursive,proto3" json:"cterecursive,omitempty"` - Cterefcount int32 `protobuf:"varint,9,opt,name=cterefcount,proto3" json:"cterefcount,omitempty"` - Ctecolnames []*Node `protobuf:"bytes,10,rep,name=ctecolnames,proto3" json:"ctecolnames,omitempty"` - Ctecoltypes []*Node `protobuf:"bytes,11,rep,name=ctecoltypes,proto3" json:"ctecoltypes,omitempty"` - Ctecoltypmods []*Node `protobuf:"bytes,12,rep,name=ctecoltypmods,proto3" json:"ctecoltypmods,omitempty"` - Ctecolcollations []*Node `protobuf:"bytes,13,rep,name=ctecolcollations,proto3" json:"ctecolcollations,omitempty"` + Idxname string `protobuf:"bytes,1,opt,name=idxname,proto3" json:"idxname,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + AccessMethod string `protobuf:"bytes,3,opt,name=access_method,json=accessMethod,proto3" json:"access_method,omitempty"` + TableSpace string `protobuf:"bytes,4,opt,name=table_space,json=tableSpace,proto3" json:"table_space,omitempty"` + IndexParams []*Node `protobuf:"bytes,5,rep,name=index_params,json=indexParams,proto3" json:"index_params,omitempty"` + IndexIncludingParams []*Node `protobuf:"bytes,6,rep,name=index_including_params,json=indexIncludingParams,proto3" json:"index_including_params,omitempty"` + Options []*Node `protobuf:"bytes,7,rep,name=options,proto3" json:"options,omitempty"` + WhereClause *Node `protobuf:"bytes,8,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + ExcludeOpNames []*Node `protobuf:"bytes,9,rep,name=exclude_op_names,json=excludeOpNames,proto3" json:"exclude_op_names,omitempty"` + Idxcomment string `protobuf:"bytes,10,opt,name=idxcomment,proto3" json:"idxcomment,omitempty"` + IndexOid uint32 `protobuf:"varint,11,opt,name=index_oid,json=indexOid,proto3" json:"index_oid,omitempty"` + OldNumber uint32 `protobuf:"varint,12,opt,name=old_number,json=oldNumber,proto3" json:"old_number,omitempty"` + OldCreateSubid uint32 `protobuf:"varint,13,opt,name=old_create_subid,json=oldCreateSubid,proto3" json:"old_create_subid,omitempty"` + OldFirstRelfilelocatorSubid uint32 `protobuf:"varint,14,opt,name=old_first_relfilelocator_subid,json=oldFirstRelfilelocatorSubid,proto3" json:"old_first_relfilelocator_subid,omitempty"` + Unique bool `protobuf:"varint,15,opt,name=unique,proto3" json:"unique,omitempty"` + NullsNotDistinct bool `protobuf:"varint,16,opt,name=nulls_not_distinct,proto3" json:"nulls_not_distinct,omitempty"` + Primary bool `protobuf:"varint,17,opt,name=primary,proto3" json:"primary,omitempty"` + Isconstraint bool `protobuf:"varint,18,opt,name=isconstraint,proto3" json:"isconstraint,omitempty"` + Deferrable bool `protobuf:"varint,19,opt,name=deferrable,proto3" json:"deferrable,omitempty"` + Initdeferred bool `protobuf:"varint,20,opt,name=initdeferred,proto3" json:"initdeferred,omitempty"` + Transformed bool `protobuf:"varint,21,opt,name=transformed,proto3" json:"transformed,omitempty"` + Concurrent bool `protobuf:"varint,22,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + IfNotExists bool `protobuf:"varint,23,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` + ResetDefaultTblspc bool `protobuf:"varint,24,opt,name=reset_default_tblspc,proto3" json:"reset_default_tblspc,omitempty"` } -func (x *CommonTableExpr) Reset() { - *x = CommonTableExpr{} +func (x *IndexStmt) Reset() { + *x = IndexStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[227] + mi := &file_pg_query_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CommonTableExpr) String() string { +func (x *IndexStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CommonTableExpr) ProtoMessage() {} +func (*IndexStmt) ProtoMessage() {} -func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[227] +func (x *IndexStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27075,216 +27480,210 @@ func (x *CommonTableExpr) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CommonTableExpr.ProtoReflect.Descriptor instead. -func (*CommonTableExpr) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{227} +// Deprecated: Use IndexStmt.ProtoReflect.Descriptor instead. +func (*IndexStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{209} } -func (x *CommonTableExpr) GetCtename() string { +func (x *IndexStmt) GetIdxname() string { if x != nil { - return x.Ctename + return x.Idxname } return "" } -func (x *CommonTableExpr) GetAliascolnames() []*Node { +func (x *IndexStmt) GetRelation() *RangeVar { if x != nil { - return x.Aliascolnames + return x.Relation } return nil } -func (x *CommonTableExpr) GetCtematerialized() CTEMaterialize { +func (x *IndexStmt) GetAccessMethod() string { if x != nil { - return x.Ctematerialized + return x.AccessMethod } - return CTEMaterialize_CTEMATERIALIZE_UNDEFINED + return "" } -func (x *CommonTableExpr) GetCtequery() *Node { +func (x *IndexStmt) GetTableSpace() string { if x != nil { - return x.Ctequery + return x.TableSpace } - return nil + return "" } -func (x *CommonTableExpr) GetSearchClause() *CTESearchClause { +func (x *IndexStmt) GetIndexParams() []*Node { if x != nil { - return x.SearchClause + return x.IndexParams } return nil } -func (x *CommonTableExpr) GetCycleClause() *CTECycleClause { +func (x *IndexStmt) GetIndexIncludingParams() []*Node { if x != nil { - return x.CycleClause + return x.IndexIncludingParams } return nil } -func (x *CommonTableExpr) GetLocation() int32 { +func (x *IndexStmt) GetOptions() []*Node { if x != nil { - return x.Location + return x.Options } - return 0 + return nil } -func (x *CommonTableExpr) GetCterecursive() bool { +func (x *IndexStmt) GetWhereClause() *Node { if x != nil { - return x.Cterecursive + return x.WhereClause } - return false + return nil } -func (x *CommonTableExpr) GetCterefcount() int32 { +func (x *IndexStmt) GetExcludeOpNames() []*Node { if x != nil { - return x.Cterefcount + return x.ExcludeOpNames } - return 0 + return nil } -func (x *CommonTableExpr) GetCtecolnames() []*Node { +func (x *IndexStmt) GetIdxcomment() string { if x != nil { - return x.Ctecolnames + return x.Idxcomment } - return nil + return "" } -func (x *CommonTableExpr) GetCtecoltypes() []*Node { +func (x *IndexStmt) GetIndexOid() uint32 { if x != nil { - return x.Ctecoltypes + return x.IndexOid } - return nil + return 0 } -func (x *CommonTableExpr) GetCtecoltypmods() []*Node { +func (x *IndexStmt) GetOldNumber() uint32 { if x != nil { - return x.Ctecoltypmods + return x.OldNumber } - return nil + return 0 } -func (x *CommonTableExpr) GetCtecolcollations() []*Node { +func (x *IndexStmt) GetOldCreateSubid() uint32 { if x != nil { - return x.Ctecolcollations + return x.OldCreateSubid } - return nil -} - -type MergeWhenClause struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Matched bool `protobuf:"varint,1,opt,name=matched,proto3" json:"matched,omitempty"` - CommandType CmdType `protobuf:"varint,2,opt,name=command_type,json=commandType,proto3,enum=pg_query.CmdType" json:"command_type,omitempty"` - Override OverridingKind `protobuf:"varint,3,opt,name=override,proto3,enum=pg_query.OverridingKind" json:"override,omitempty"` - Condition *Node `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"` - TargetList []*Node `protobuf:"bytes,5,rep,name=target_list,json=targetList,proto3" json:"target_list,omitempty"` - Values []*Node `protobuf:"bytes,6,rep,name=values,proto3" json:"values,omitempty"` + return 0 } -func (x *MergeWhenClause) Reset() { - *x = MergeWhenClause{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[228] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *IndexStmt) GetOldFirstRelfilelocatorSubid() uint32 { + if x != nil { + return x.OldFirstRelfilelocatorSubid } + return 0 } -func (x *MergeWhenClause) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *IndexStmt) GetUnique() bool { + if x != nil { + return x.Unique + } + return false } -func (*MergeWhenClause) ProtoMessage() {} - -func (x *MergeWhenClause) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[228] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *IndexStmt) GetNullsNotDistinct() bool { + if x != nil { + return x.NullsNotDistinct } - return mi.MessageOf(x) + return false } -// Deprecated: Use MergeWhenClause.ProtoReflect.Descriptor instead. -func (*MergeWhenClause) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{228} +func (x *IndexStmt) GetPrimary() bool { + if x != nil { + return x.Primary + } + return false } -func (x *MergeWhenClause) GetMatched() bool { +func (x *IndexStmt) GetIsconstraint() bool { if x != nil { - return x.Matched + return x.Isconstraint } return false } -func (x *MergeWhenClause) GetCommandType() CmdType { +func (x *IndexStmt) GetDeferrable() bool { if x != nil { - return x.CommandType + return x.Deferrable } - return CmdType_CMD_TYPE_UNDEFINED + return false } -func (x *MergeWhenClause) GetOverride() OverridingKind { +func (x *IndexStmt) GetInitdeferred() bool { if x != nil { - return x.Override + return x.Initdeferred } - return OverridingKind_OVERRIDING_KIND_UNDEFINED + return false } -func (x *MergeWhenClause) GetCondition() *Node { +func (x *IndexStmt) GetTransformed() bool { if x != nil { - return x.Condition + return x.Transformed } - return nil + return false } -func (x *MergeWhenClause) GetTargetList() []*Node { +func (x *IndexStmt) GetConcurrent() bool { if x != nil { - return x.TargetList + return x.Concurrent } - return nil + return false } -func (x *MergeWhenClause) GetValues() []*Node { +func (x *IndexStmt) GetIfNotExists() bool { if x != nil { - return x.Values + return x.IfNotExists } - return nil + return false } -type RoleSpec struct { +func (x *IndexStmt) GetResetDefaultTblspc() bool { + if x != nil { + return x.ResetDefaultTblspc + } + return false +} + +type CreateStatsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Roletype RoleSpecType `protobuf:"varint,1,opt,name=roletype,proto3,enum=pg_query.RoleSpecType" json:"roletype,omitempty"` - Rolename string `protobuf:"bytes,2,opt,name=rolename,proto3" json:"rolename,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` + StatTypes []*Node `protobuf:"bytes,2,rep,name=stat_types,proto3" json:"stat_types,omitempty"` + Exprs []*Node `protobuf:"bytes,3,rep,name=exprs,proto3" json:"exprs,omitempty"` + Relations []*Node `protobuf:"bytes,4,rep,name=relations,proto3" json:"relations,omitempty"` + Stxcomment string `protobuf:"bytes,5,opt,name=stxcomment,proto3" json:"stxcomment,omitempty"` + Transformed bool `protobuf:"varint,6,opt,name=transformed,proto3" json:"transformed,omitempty"` + IfNotExists bool `protobuf:"varint,7,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` } -func (x *RoleSpec) Reset() { - *x = RoleSpec{} +func (x *CreateStatsStmt) Reset() { + *x = CreateStatsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[229] + mi := &file_pg_query_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *RoleSpec) String() string { +func (x *CreateStatsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*RoleSpec) ProtoMessage() {} +func (*CreateStatsStmt) ProtoMessage() {} -func (x *RoleSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[229] +func (x *CreateStatsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27295,124 +27694,86 @@ func (x *RoleSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use RoleSpec.ProtoReflect.Descriptor instead. -func (*RoleSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{229} +// Deprecated: Use CreateStatsStmt.ProtoReflect.Descriptor instead. +func (*CreateStatsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{210} } -func (x *RoleSpec) GetRoletype() RoleSpecType { +func (x *CreateStatsStmt) GetDefnames() []*Node { if x != nil { - return x.Roletype + return x.Defnames } - return RoleSpecType_ROLE_SPEC_TYPE_UNDEFINED + return nil } -func (x *RoleSpec) GetRolename() string { +func (x *CreateStatsStmt) GetStatTypes() []*Node { if x != nil { - return x.Rolename + return x.StatTypes } - return "" + return nil } -func (x *RoleSpec) GetLocation() int32 { +func (x *CreateStatsStmt) GetExprs() []*Node { if x != nil { - return x.Location - } - return 0 -} - -type TriggerTransition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - IsNew bool `protobuf:"varint,2,opt,name=is_new,json=isNew,proto3" json:"is_new,omitempty"` - IsTable bool `protobuf:"varint,3,opt,name=is_table,json=isTable,proto3" json:"is_table,omitempty"` -} - -func (x *TriggerTransition) Reset() { - *x = TriggerTransition{} - if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[230] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + return x.Exprs } + return nil } -func (x *TriggerTransition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TriggerTransition) ProtoMessage() {} - -func (x *TriggerTransition) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[230] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *CreateStatsStmt) GetRelations() []*Node { + if x != nil { + return x.Relations } - return mi.MessageOf(x) -} - -// Deprecated: Use TriggerTransition.ProtoReflect.Descriptor instead. -func (*TriggerTransition) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{230} + return nil } -func (x *TriggerTransition) GetName() string { +func (x *CreateStatsStmt) GetStxcomment() string { if x != nil { - return x.Name + return x.Stxcomment } return "" } -func (x *TriggerTransition) GetIsNew() bool { +func (x *CreateStatsStmt) GetTransformed() bool { if x != nil { - return x.IsNew + return x.Transformed } return false } -func (x *TriggerTransition) GetIsTable() bool { +func (x *CreateStatsStmt) GetIfNotExists() bool { if x != nil { - return x.IsTable + return x.IfNotExists } return false } -type PartitionElem struct { +type StatsElem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` - Collation []*Node `protobuf:"bytes,3,rep,name=collation,proto3" json:"collation,omitempty"` - Opclass []*Node `protobuf:"bytes,4,rep,name=opclass,proto3" json:"opclass,omitempty"` - Location int32 `protobuf:"varint,5,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Expr *Node `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` } -func (x *PartitionElem) Reset() { - *x = PartitionElem{} +func (x *StatsElem) Reset() { + *x = StatsElem{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[231] + mi := &file_pg_query_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionElem) String() string { +func (x *StatsElem) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionElem) ProtoMessage() {} +func (*StatsElem) ProtoMessage() {} -func (x *PartitionElem) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[231] +func (x *StatsElem) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27423,73 +27784,52 @@ func (x *PartitionElem) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionElem.ProtoReflect.Descriptor instead. -func (*PartitionElem) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{231} +// Deprecated: Use StatsElem.ProtoReflect.Descriptor instead. +func (*StatsElem) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{211} } -func (x *PartitionElem) GetName() string { +func (x *StatsElem) GetName() string { if x != nil { return x.Name } return "" } -func (x *PartitionElem) GetExpr() *Node { +func (x *StatsElem) GetExpr() *Node { if x != nil { return x.Expr } return nil } -func (x *PartitionElem) GetCollation() []*Node { - if x != nil { - return x.Collation - } - return nil -} - -func (x *PartitionElem) GetOpclass() []*Node { - if x != nil { - return x.Opclass - } - return nil -} - -func (x *PartitionElem) GetLocation() int32 { - if x != nil { - return x.Location - } - return 0 -} - -type PartitionSpec struct { +type AlterStatsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Strategy string `protobuf:"bytes,1,opt,name=strategy,proto3" json:"strategy,omitempty"` - PartParams []*Node `protobuf:"bytes,2,rep,name=part_params,json=partParams,proto3" json:"part_params,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Defnames []*Node `protobuf:"bytes,1,rep,name=defnames,proto3" json:"defnames,omitempty"` + Stxstattarget *Node `protobuf:"bytes,2,opt,name=stxstattarget,proto3" json:"stxstattarget,omitempty"` + MissingOk bool `protobuf:"varint,3,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *PartitionSpec) Reset() { - *x = PartitionSpec{} +func (x *AlterStatsStmt) Reset() { + *x = AlterStatsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[232] + mi := &file_pg_query_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionSpec) String() string { +func (x *AlterStatsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionSpec) ProtoMessage() {} +func (*AlterStatsStmt) ProtoMessage() {} -func (x *PartitionSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[232] +func (x *AlterStatsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27500,64 +27840,63 @@ func (x *PartitionSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionSpec.ProtoReflect.Descriptor instead. -func (*PartitionSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{232} +// Deprecated: Use AlterStatsStmt.ProtoReflect.Descriptor instead. +func (*AlterStatsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{212} } -func (x *PartitionSpec) GetStrategy() string { +func (x *AlterStatsStmt) GetDefnames() []*Node { if x != nil { - return x.Strategy + return x.Defnames } - return "" + return nil } -func (x *PartitionSpec) GetPartParams() []*Node { +func (x *AlterStatsStmt) GetStxstattarget() *Node { if x != nil { - return x.PartParams + return x.Stxstattarget } return nil } -func (x *PartitionSpec) GetLocation() int32 { +func (x *AlterStatsStmt) GetMissingOk() bool { if x != nil { - return x.Location + return x.MissingOk } - return 0 + return false } -type PartitionBoundSpec struct { +type CreateFunctionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Strategy string `protobuf:"bytes,1,opt,name=strategy,proto3" json:"strategy,omitempty"` - IsDefault bool `protobuf:"varint,2,opt,name=is_default,proto3" json:"is_default,omitempty"` - Modulus int32 `protobuf:"varint,3,opt,name=modulus,proto3" json:"modulus,omitempty"` - Remainder int32 `protobuf:"varint,4,opt,name=remainder,proto3" json:"remainder,omitempty"` - Listdatums []*Node `protobuf:"bytes,5,rep,name=listdatums,proto3" json:"listdatums,omitempty"` - Lowerdatums []*Node `protobuf:"bytes,6,rep,name=lowerdatums,proto3" json:"lowerdatums,omitempty"` - Upperdatums []*Node `protobuf:"bytes,7,rep,name=upperdatums,proto3" json:"upperdatums,omitempty"` - Location int32 `protobuf:"varint,8,opt,name=location,proto3" json:"location,omitempty"` + IsProcedure bool `protobuf:"varint,1,opt,name=is_procedure,proto3" json:"is_procedure,omitempty"` + Replace bool `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"` + Funcname []*Node `protobuf:"bytes,3,rep,name=funcname,proto3" json:"funcname,omitempty"` + Parameters []*Node `protobuf:"bytes,4,rep,name=parameters,proto3" json:"parameters,omitempty"` + ReturnType *TypeName `protobuf:"bytes,5,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` + Options []*Node `protobuf:"bytes,6,rep,name=options,proto3" json:"options,omitempty"` + SqlBody *Node `protobuf:"bytes,7,opt,name=sql_body,proto3" json:"sql_body,omitempty"` } -func (x *PartitionBoundSpec) Reset() { - *x = PartitionBoundSpec{} +func (x *CreateFunctionStmt) Reset() { + *x = CreateFunctionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[233] + mi := &file_pg_query_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionBoundSpec) String() string { +func (x *CreateFunctionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionBoundSpec) ProtoMessage() {} +func (*CreateFunctionStmt) ProtoMessage() {} -func (x *PartitionBoundSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[233] +func (x *CreateFunctionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27568,94 +27907,88 @@ func (x *PartitionBoundSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionBoundSpec.ProtoReflect.Descriptor instead. -func (*PartitionBoundSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{233} +// Deprecated: Use CreateFunctionStmt.ProtoReflect.Descriptor instead. +func (*CreateFunctionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{213} } -func (x *PartitionBoundSpec) GetStrategy() string { +func (x *CreateFunctionStmt) GetIsProcedure() bool { if x != nil { - return x.Strategy + return x.IsProcedure } - return "" + return false } -func (x *PartitionBoundSpec) GetIsDefault() bool { +func (x *CreateFunctionStmt) GetReplace() bool { if x != nil { - return x.IsDefault + return x.Replace } return false } -func (x *PartitionBoundSpec) GetModulus() int32 { - if x != nil { - return x.Modulus - } - return 0 -} - -func (x *PartitionBoundSpec) GetRemainder() int32 { +func (x *CreateFunctionStmt) GetFuncname() []*Node { if x != nil { - return x.Remainder + return x.Funcname } - return 0 + return nil } -func (x *PartitionBoundSpec) GetListdatums() []*Node { +func (x *CreateFunctionStmt) GetParameters() []*Node { if x != nil { - return x.Listdatums + return x.Parameters } return nil } -func (x *PartitionBoundSpec) GetLowerdatums() []*Node { +func (x *CreateFunctionStmt) GetReturnType() *TypeName { if x != nil { - return x.Lowerdatums + return x.ReturnType } return nil } -func (x *PartitionBoundSpec) GetUpperdatums() []*Node { +func (x *CreateFunctionStmt) GetOptions() []*Node { if x != nil { - return x.Upperdatums + return x.Options } return nil } -func (x *PartitionBoundSpec) GetLocation() int32 { +func (x *CreateFunctionStmt) GetSqlBody() *Node { if x != nil { - return x.Location + return x.SqlBody } - return 0 + return nil } -type PartitionRangeDatum struct { +type FunctionParameter struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Kind PartitionRangeDatumKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.PartitionRangeDatumKind" json:"kind,omitempty"` - Value *Node `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ArgType *TypeName `protobuf:"bytes,2,opt,name=arg_type,json=argType,proto3" json:"arg_type,omitempty"` + Mode FunctionParameterMode `protobuf:"varint,3,opt,name=mode,proto3,enum=pg_query.FunctionParameterMode" json:"mode,omitempty"` + Defexpr *Node `protobuf:"bytes,4,opt,name=defexpr,proto3" json:"defexpr,omitempty"` } -func (x *PartitionRangeDatum) Reset() { - *x = PartitionRangeDatum{} +func (x *FunctionParameter) Reset() { + *x = FunctionParameter{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[234] + mi := &file_pg_query_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionRangeDatum) String() string { +func (x *FunctionParameter) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionRangeDatum) ProtoMessage() {} +func (*FunctionParameter) ProtoMessage() {} -func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[234] +func (x *FunctionParameter) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27666,59 +27999,66 @@ func (x *PartitionRangeDatum) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionRangeDatum.ProtoReflect.Descriptor instead. -func (*PartitionRangeDatum) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{234} +// Deprecated: Use FunctionParameter.ProtoReflect.Descriptor instead. +func (*FunctionParameter) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{214} } -func (x *PartitionRangeDatum) GetKind() PartitionRangeDatumKind { +func (x *FunctionParameter) GetName() string { if x != nil { - return x.Kind + return x.Name } - return PartitionRangeDatumKind_PARTITION_RANGE_DATUM_KIND_UNDEFINED + return "" } -func (x *PartitionRangeDatum) GetValue() *Node { +func (x *FunctionParameter) GetArgType() *TypeName { if x != nil { - return x.Value + return x.ArgType } return nil } -func (x *PartitionRangeDatum) GetLocation() int32 { +func (x *FunctionParameter) GetMode() FunctionParameterMode { if x != nil { - return x.Location + return x.Mode } - return 0 + return FunctionParameterMode_FUNCTION_PARAMETER_MODE_UNDEFINED } -type PartitionCmd struct { +func (x *FunctionParameter) GetDefexpr() *Node { + if x != nil { + return x.Defexpr + } + return nil +} + +type AlterFunctionStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name *RangeVar `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Bound *PartitionBoundSpec `protobuf:"bytes,2,opt,name=bound,proto3" json:"bound,omitempty"` - Concurrent bool `protobuf:"varint,3,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + Objtype ObjectType `protobuf:"varint,1,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + Func *ObjectWithArgs `protobuf:"bytes,2,opt,name=func,proto3" json:"func,omitempty"` + Actions []*Node `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` } -func (x *PartitionCmd) Reset() { - *x = PartitionCmd{} +func (x *AlterFunctionStmt) Reset() { + *x = AlterFunctionStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[235] + mi := &file_pg_query_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PartitionCmd) String() string { +func (x *AlterFunctionStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PartitionCmd) ProtoMessage() {} +func (*AlterFunctionStmt) ProtoMessage() {} -func (x *PartitionCmd) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[235] +func (x *AlterFunctionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27729,59 +28069,57 @@ func (x *PartitionCmd) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PartitionCmd.ProtoReflect.Descriptor instead. -func (*PartitionCmd) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{235} +// Deprecated: Use AlterFunctionStmt.ProtoReflect.Descriptor instead. +func (*AlterFunctionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{215} } -func (x *PartitionCmd) GetName() *RangeVar { +func (x *AlterFunctionStmt) GetObjtype() ObjectType { if x != nil { - return x.Name + return x.Objtype } - return nil + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *PartitionCmd) GetBound() *PartitionBoundSpec { +func (x *AlterFunctionStmt) GetFunc() *ObjectWithArgs { if x != nil { - return x.Bound + return x.Func } return nil } -func (x *PartitionCmd) GetConcurrent() bool { +func (x *AlterFunctionStmt) GetActions() []*Node { if x != nil { - return x.Concurrent + return x.Actions } - return false + return nil } -type VacuumRelation struct { +type DoStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - Oid uint32 `protobuf:"varint,2,opt,name=oid,proto3" json:"oid,omitempty"` - VaCols []*Node `protobuf:"bytes,3,rep,name=va_cols,proto3" json:"va_cols,omitempty"` + Args []*Node `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` } -func (x *VacuumRelation) Reset() { - *x = VacuumRelation{} +func (x *DoStmt) Reset() { + *x = DoStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[236] + mi := &file_pg_query_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *VacuumRelation) String() string { +func (x *DoStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*VacuumRelation) ProtoMessage() {} +func (*DoStmt) ProtoMessage() {} -func (x *VacuumRelation) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[236] +func (x *DoStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27792,60 +28130,46 @@ func (x *VacuumRelation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use VacuumRelation.ProtoReflect.Descriptor instead. -func (*VacuumRelation) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{236} -} - -func (x *VacuumRelation) GetRelation() *RangeVar { - if x != nil { - return x.Relation - } - return nil -} - -func (x *VacuumRelation) GetOid() uint32 { - if x != nil { - return x.Oid - } - return 0 +// Deprecated: Use DoStmt.ProtoReflect.Descriptor instead. +func (*DoStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{216} } -func (x *VacuumRelation) GetVaCols() []*Node { +func (x *DoStmt) GetArgs() []*Node { if x != nil { - return x.VaCols + return x.Args } return nil } -type PublicationObjSpec struct { +type InlineCodeBlock struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubobjtype PublicationObjSpecType `protobuf:"varint,1,opt,name=pubobjtype,proto3,enum=pg_query.PublicationObjSpecType" json:"pubobjtype,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Pubtable *PublicationTable `protobuf:"bytes,3,opt,name=pubtable,proto3" json:"pubtable,omitempty"` - Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` + SourceText string `protobuf:"bytes,1,opt,name=source_text,proto3" json:"source_text,omitempty"` + LangOid uint32 `protobuf:"varint,2,opt,name=lang_oid,json=langOid,proto3" json:"lang_oid,omitempty"` + LangIsTrusted bool `protobuf:"varint,3,opt,name=lang_is_trusted,json=langIsTrusted,proto3" json:"lang_is_trusted,omitempty"` + Atomic bool `protobuf:"varint,4,opt,name=atomic,proto3" json:"atomic,omitempty"` } -func (x *PublicationObjSpec) Reset() { - *x = PublicationObjSpec{} +func (x *InlineCodeBlock) Reset() { + *x = InlineCodeBlock{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[237] + mi := &file_pg_query_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PublicationObjSpec) String() string { +func (x *InlineCodeBlock) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublicationObjSpec) ProtoMessage() {} +func (*InlineCodeBlock) ProtoMessage() {} -func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[237] +func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27856,66 +28180,66 @@ func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublicationObjSpec.ProtoReflect.Descriptor instead. -func (*PublicationObjSpec) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{237} +// Deprecated: Use InlineCodeBlock.ProtoReflect.Descriptor instead. +func (*InlineCodeBlock) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{217} } -func (x *PublicationObjSpec) GetPubobjtype() PublicationObjSpecType { +func (x *InlineCodeBlock) GetSourceText() string { if x != nil { - return x.Pubobjtype + return x.SourceText } - return PublicationObjSpecType_PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED + return "" } -func (x *PublicationObjSpec) GetName() string { +func (x *InlineCodeBlock) GetLangOid() uint32 { if x != nil { - return x.Name + return x.LangOid } - return "" + return 0 } -func (x *PublicationObjSpec) GetPubtable() *PublicationTable { +func (x *InlineCodeBlock) GetLangIsTrusted() bool { if x != nil { - return x.Pubtable + return x.LangIsTrusted } - return nil + return false } -func (x *PublicationObjSpec) GetLocation() int32 { +func (x *InlineCodeBlock) GetAtomic() bool { if x != nil { - return x.Location + return x.Atomic } - return 0 + return false } -type PublicationTable struct { +type CallStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` - WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` - Columns []*Node `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` + Funccall *FuncCall `protobuf:"bytes,1,opt,name=funccall,proto3" json:"funccall,omitempty"` + Funcexpr *FuncExpr `protobuf:"bytes,2,opt,name=funcexpr,proto3" json:"funcexpr,omitempty"` + Outargs []*Node `protobuf:"bytes,3,rep,name=outargs,proto3" json:"outargs,omitempty"` } -func (x *PublicationTable) Reset() { - *x = PublicationTable{} +func (x *CallStmt) Reset() { + *x = CallStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[238] + mi := &file_pg_query_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PublicationTable) String() string { +func (x *CallStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PublicationTable) ProtoMessage() {} +func (*CallStmt) ProtoMessage() {} -func (x *PublicationTable) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[238] +func (x *CallStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27926,60 +28250,57 @@ func (x *PublicationTable) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PublicationTable.ProtoReflect.Descriptor instead. -func (*PublicationTable) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{238} +// Deprecated: Use CallStmt.ProtoReflect.Descriptor instead. +func (*CallStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{218} } -func (x *PublicationTable) GetRelation() *RangeVar { +func (x *CallStmt) GetFunccall() *FuncCall { if x != nil { - return x.Relation + return x.Funccall } return nil } -func (x *PublicationTable) GetWhereClause() *Node { +func (x *CallStmt) GetFuncexpr() *FuncExpr { if x != nil { - return x.WhereClause + return x.Funcexpr } return nil } -func (x *PublicationTable) GetColumns() []*Node { +func (x *CallStmt) GetOutargs() []*Node { if x != nil { - return x.Columns + return x.Outargs } return nil } -type InlineCodeBlock struct { +type CallContext struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SourceText string `protobuf:"bytes,1,opt,name=source_text,proto3" json:"source_text,omitempty"` - LangOid uint32 `protobuf:"varint,2,opt,name=lang_oid,json=langOid,proto3" json:"lang_oid,omitempty"` - LangIsTrusted bool `protobuf:"varint,3,opt,name=lang_is_trusted,json=langIsTrusted,proto3" json:"lang_is_trusted,omitempty"` - Atomic bool `protobuf:"varint,4,opt,name=atomic,proto3" json:"atomic,omitempty"` + Atomic bool `protobuf:"varint,1,opt,name=atomic,proto3" json:"atomic,omitempty"` } -func (x *InlineCodeBlock) Reset() { - *x = InlineCodeBlock{} +func (x *CallContext) Reset() { + *x = CallContext{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[239] + mi := &file_pg_query_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InlineCodeBlock) String() string { +func (x *CallContext) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InlineCodeBlock) ProtoMessage() {} +func (*CallContext) ProtoMessage() {} -func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[239] +func (x *CallContext) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27990,64 +28311,150 @@ func (x *InlineCodeBlock) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InlineCodeBlock.ProtoReflect.Descriptor instead. -func (*InlineCodeBlock) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{239} +// Deprecated: Use CallContext.ProtoReflect.Descriptor instead. +func (*CallContext) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{219} } -func (x *InlineCodeBlock) GetSourceText() string { +func (x *CallContext) GetAtomic() bool { if x != nil { - return x.SourceText + return x.Atomic + } + return false +} + +type RenameStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RenameType ObjectType `protobuf:"varint,1,opt,name=rename_type,json=renameType,proto3,enum=pg_query.ObjectType" json:"rename_type,omitempty"` + RelationType ObjectType `protobuf:"varint,2,opt,name=relation_type,json=relationType,proto3,enum=pg_query.ObjectType" json:"relation_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,4,opt,name=object,proto3" json:"object,omitempty"` + Subname string `protobuf:"bytes,5,opt,name=subname,proto3" json:"subname,omitempty"` + Newname string `protobuf:"bytes,6,opt,name=newname,proto3" json:"newname,omitempty"` + Behavior DropBehavior `protobuf:"varint,7,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` + MissingOk bool `protobuf:"varint,8,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` +} + +func (x *RenameStmt) Reset() { + *x = RenameStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenameStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenameStmt) ProtoMessage() {} + +func (x *RenameStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[220] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RenameStmt.ProtoReflect.Descriptor instead. +func (*RenameStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{220} +} + +func (x *RenameStmt) GetRenameType() ObjectType { + if x != nil { + return x.RenameType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *RenameStmt) GetRelationType() ObjectType { + if x != nil { + return x.RelationType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *RenameStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *RenameStmt) GetObject() *Node { + if x != nil { + return x.Object + } + return nil +} + +func (x *RenameStmt) GetSubname() string { + if x != nil { + return x.Subname } return "" } -func (x *InlineCodeBlock) GetLangOid() uint32 { +func (x *RenameStmt) GetNewname() string { if x != nil { - return x.LangOid + return x.Newname } - return 0 + return "" } -func (x *InlineCodeBlock) GetLangIsTrusted() bool { +func (x *RenameStmt) GetBehavior() DropBehavior { if x != nil { - return x.LangIsTrusted + return x.Behavior } - return false + return DropBehavior_DROP_BEHAVIOR_UNDEFINED } -func (x *InlineCodeBlock) GetAtomic() bool { +func (x *RenameStmt) GetMissingOk() bool { if x != nil { - return x.Atomic + return x.MissingOk } return false } -type CallContext struct { +type AlterObjectDependsStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Atomic bool `protobuf:"varint,1,opt,name=atomic,proto3" json:"atomic,omitempty"` + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Extname *String `protobuf:"bytes,4,opt,name=extname,proto3" json:"extname,omitempty"` + Remove bool `protobuf:"varint,5,opt,name=remove,proto3" json:"remove,omitempty"` } -func (x *CallContext) Reset() { - *x = CallContext{} +func (x *AlterObjectDependsStmt) Reset() { + *x = AlterObjectDependsStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[240] + mi := &file_pg_query_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CallContext) String() string { +func (x *AlterObjectDependsStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CallContext) ProtoMessage() {} +func (*AlterObjectDependsStmt) ProtoMessage() {} -func (x *CallContext) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[240] +func (x *AlterObjectDependsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28058,46 +28465,75 @@ func (x *CallContext) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CallContext.ProtoReflect.Descriptor instead. -func (*CallContext) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{240} +// Deprecated: Use AlterObjectDependsStmt.ProtoReflect.Descriptor instead. +func (*AlterObjectDependsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{221} } -func (x *CallContext) GetAtomic() bool { +func (x *AlterObjectDependsStmt) GetObjectType() ObjectType { if x != nil { - return x.Atomic + return x.ObjectType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterObjectDependsStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *AlterObjectDependsStmt) GetObject() *Node { + if x != nil { + return x.Object + } + return nil +} + +func (x *AlterObjectDependsStmt) GetExtname() *String { + if x != nil { + return x.Extname + } + return nil +} + +func (x *AlterObjectDependsStmt) GetRemove() bool { + if x != nil { + return x.Remove } return false } -type ScanToken struct { +type AlterObjectSchemaStmt struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` - End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` - Token Token `protobuf:"varint,4,opt,name=token,proto3,enum=pg_query.Token" json:"token,omitempty"` - KeywordKind KeywordKind `protobuf:"varint,5,opt,name=keyword_kind,json=keywordKind,proto3,enum=pg_query.KeywordKind" json:"keyword_kind,omitempty"` + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Newschema string `protobuf:"bytes,4,opt,name=newschema,proto3" json:"newschema,omitempty"` + MissingOk bool `protobuf:"varint,5,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` } -func (x *ScanToken) Reset() { - *x = ScanToken{} +func (x *AlterObjectSchemaStmt) Reset() { + *x = AlterObjectSchemaStmt{} if protoimpl.UnsafeEnabled { - mi := &file_pg_query_proto_msgTypes[241] + mi := &file_pg_query_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ScanToken) String() string { +func (x *AlterObjectSchemaStmt) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ScanToken) ProtoMessage() {} +func (*AlterObjectSchemaStmt) ProtoMessage() {} -func (x *ScanToken) ProtoReflect() protoreflect.Message { - mi := &file_pg_query_proto_msgTypes[241] +func (x *AlterObjectSchemaStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28108,43 +28544,3483 @@ func (x *ScanToken) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ScanToken.ProtoReflect.Descriptor instead. -func (*ScanToken) Descriptor() ([]byte, []int) { - return file_pg_query_proto_rawDescGZIP(), []int{241} +// Deprecated: Use AlterObjectSchemaStmt.ProtoReflect.Descriptor instead. +func (*AlterObjectSchemaStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{222} } -func (x *ScanToken) GetStart() int32 { +func (x *AlterObjectSchemaStmt) GetObjectType() ObjectType { if x != nil { - return x.Start + return x.ObjectType } - return 0 + return ObjectType_OBJECT_TYPE_UNDEFINED } -func (x *ScanToken) GetEnd() int32 { +func (x *AlterObjectSchemaStmt) GetRelation() *RangeVar { if x != nil { - return x.End + return x.Relation } - return 0 + return nil } -func (x *ScanToken) GetToken() Token { +func (x *AlterObjectSchemaStmt) GetObject() *Node { if x != nil { - return x.Token + return x.Object } - return Token_NUL + return nil } -func (x *ScanToken) GetKeywordKind() KeywordKind { +func (x *AlterObjectSchemaStmt) GetNewschema() string { if x != nil { - return x.KeywordKind + return x.Newschema } - return KeywordKind_NO_KEYWORD + return "" } -var File_pg_query_proto protoreflect.FileDescriptor - -var file_pg_query_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, +func (x *AlterObjectSchemaStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +type AlterOwnerStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ObjectType ObjectType `protobuf:"varint,1,opt,name=object_type,json=objectType,proto3,enum=pg_query.ObjectType" json:"object_type,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Object *Node `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + Newowner *RoleSpec `protobuf:"bytes,4,opt,name=newowner,proto3" json:"newowner,omitempty"` +} + +func (x *AlterOwnerStmt) Reset() { + *x = AlterOwnerStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterOwnerStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterOwnerStmt) ProtoMessage() {} + +func (x *AlterOwnerStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[223] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterOwnerStmt.ProtoReflect.Descriptor instead. +func (*AlterOwnerStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{223} +} + +func (x *AlterOwnerStmt) GetObjectType() ObjectType { + if x != nil { + return x.ObjectType + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *AlterOwnerStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *AlterOwnerStmt) GetObject() *Node { + if x != nil { + return x.Object + } + return nil +} + +func (x *AlterOwnerStmt) GetNewowner() *RoleSpec { + if x != nil { + return x.Newowner + } + return nil +} + +type AlterOperatorStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Opername *ObjectWithArgs `protobuf:"bytes,1,opt,name=opername,proto3" json:"opername,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterOperatorStmt) Reset() { + *x = AlterOperatorStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterOperatorStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterOperatorStmt) ProtoMessage() {} + +func (x *AlterOperatorStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[224] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterOperatorStmt.ProtoReflect.Descriptor instead. +func (*AlterOperatorStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{224} +} + +func (x *AlterOperatorStmt) GetOpername() *ObjectWithArgs { + if x != nil { + return x.Opername + } + return nil +} + +func (x *AlterOperatorStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterTypeStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterTypeStmt) Reset() { + *x = AlterTypeStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterTypeStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterTypeStmt) ProtoMessage() {} + +func (x *AlterTypeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[225] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterTypeStmt.ProtoReflect.Descriptor instead. +func (*AlterTypeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{225} +} + +func (x *AlterTypeStmt) GetTypeName() []*Node { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *AlterTypeStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type RuleStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Rulename string `protobuf:"bytes,2,opt,name=rulename,proto3" json:"rulename,omitempty"` + WhereClause *Node `protobuf:"bytes,3,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Event CmdType `protobuf:"varint,4,opt,name=event,proto3,enum=pg_query.CmdType" json:"event,omitempty"` + Instead bool `protobuf:"varint,5,opt,name=instead,proto3" json:"instead,omitempty"` + Actions []*Node `protobuf:"bytes,6,rep,name=actions,proto3" json:"actions,omitempty"` + Replace bool `protobuf:"varint,7,opt,name=replace,proto3" json:"replace,omitempty"` +} + +func (x *RuleStmt) Reset() { + *x = RuleStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RuleStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RuleStmt) ProtoMessage() {} + +func (x *RuleStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[226] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RuleStmt.ProtoReflect.Descriptor instead. +func (*RuleStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{226} +} + +func (x *RuleStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *RuleStmt) GetRulename() string { + if x != nil { + return x.Rulename + } + return "" +} + +func (x *RuleStmt) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *RuleStmt) GetEvent() CmdType { + if x != nil { + return x.Event + } + return CmdType_CMD_TYPE_UNDEFINED +} + +func (x *RuleStmt) GetInstead() bool { + if x != nil { + return x.Instead + } + return false +} + +func (x *RuleStmt) GetActions() []*Node { + if x != nil { + return x.Actions + } + return nil +} + +func (x *RuleStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +type NotifyStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` + Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *NotifyStmt) Reset() { + *x = NotifyStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyStmt) ProtoMessage() {} + +func (x *NotifyStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[227] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotifyStmt.ProtoReflect.Descriptor instead. +func (*NotifyStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{227} +} + +func (x *NotifyStmt) GetConditionname() string { + if x != nil { + return x.Conditionname + } + return "" +} + +func (x *NotifyStmt) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +type ListenStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` +} + +func (x *ListenStmt) Reset() { + *x = ListenStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListenStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListenStmt) ProtoMessage() {} + +func (x *ListenStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[228] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListenStmt.ProtoReflect.Descriptor instead. +func (*ListenStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{228} +} + +func (x *ListenStmt) GetConditionname() string { + if x != nil { + return x.Conditionname + } + return "" +} + +type UnlistenStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conditionname string `protobuf:"bytes,1,opt,name=conditionname,proto3" json:"conditionname,omitempty"` +} + +func (x *UnlistenStmt) Reset() { + *x = UnlistenStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnlistenStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnlistenStmt) ProtoMessage() {} + +func (x *UnlistenStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[229] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnlistenStmt.ProtoReflect.Descriptor instead. +func (*UnlistenStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{229} +} + +func (x *UnlistenStmt) GetConditionname() string { + if x != nil { + return x.Conditionname + } + return "" +} + +type TransactionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind TransactionStmtKind `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.TransactionStmtKind" json:"kind,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + SavepointName string `protobuf:"bytes,3,opt,name=savepoint_name,proto3" json:"savepoint_name,omitempty"` + Gid string `protobuf:"bytes,4,opt,name=gid,proto3" json:"gid,omitempty"` + Chain bool `protobuf:"varint,5,opt,name=chain,proto3" json:"chain,omitempty"` + Location int32 `protobuf:"varint,6,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *TransactionStmt) Reset() { + *x = TransactionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TransactionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TransactionStmt) ProtoMessage() {} + +func (x *TransactionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[230] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TransactionStmt.ProtoReflect.Descriptor instead. +func (*TransactionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{230} +} + +func (x *TransactionStmt) GetKind() TransactionStmtKind { + if x != nil { + return x.Kind + } + return TransactionStmtKind_TRANSACTION_STMT_KIND_UNDEFINED +} + +func (x *TransactionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *TransactionStmt) GetSavepointName() string { + if x != nil { + return x.SavepointName + } + return "" +} + +func (x *TransactionStmt) GetGid() string { + if x != nil { + return x.Gid + } + return "" +} + +func (x *TransactionStmt) GetChain() bool { + if x != nil { + return x.Chain + } + return false +} + +func (x *TransactionStmt) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CompositeTypeStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Typevar *RangeVar `protobuf:"bytes,1,opt,name=typevar,proto3" json:"typevar,omitempty"` + Coldeflist []*Node `protobuf:"bytes,2,rep,name=coldeflist,proto3" json:"coldeflist,omitempty"` +} + +func (x *CompositeTypeStmt) Reset() { + *x = CompositeTypeStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompositeTypeStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompositeTypeStmt) ProtoMessage() {} + +func (x *CompositeTypeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[231] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompositeTypeStmt.ProtoReflect.Descriptor instead. +func (*CompositeTypeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{231} +} + +func (x *CompositeTypeStmt) GetTypevar() *RangeVar { + if x != nil { + return x.Typevar + } + return nil +} + +func (x *CompositeTypeStmt) GetColdeflist() []*Node { + if x != nil { + return x.Coldeflist + } + return nil +} + +type CreateEnumStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Vals []*Node `protobuf:"bytes,2,rep,name=vals,proto3" json:"vals,omitempty"` +} + +func (x *CreateEnumStmt) Reset() { + *x = CreateEnumStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEnumStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEnumStmt) ProtoMessage() {} + +func (x *CreateEnumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[232] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEnumStmt.ProtoReflect.Descriptor instead. +func (*CreateEnumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{232} +} + +func (x *CreateEnumStmt) GetTypeName() []*Node { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *CreateEnumStmt) GetVals() []*Node { + if x != nil { + return x.Vals + } + return nil +} + +type CreateRangeStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *CreateRangeStmt) Reset() { + *x = CreateRangeStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRangeStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRangeStmt) ProtoMessage() {} + +func (x *CreateRangeStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[233] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRangeStmt.ProtoReflect.Descriptor instead. +func (*CreateRangeStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{233} +} + +func (x *CreateRangeStmt) GetTypeName() []*Node { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *CreateRangeStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type AlterEnumStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TypeName []*Node `protobuf:"bytes,1,rep,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` + OldVal string `protobuf:"bytes,2,opt,name=old_val,json=oldVal,proto3" json:"old_val,omitempty"` + NewVal string `protobuf:"bytes,3,opt,name=new_val,json=newVal,proto3" json:"new_val,omitempty"` + NewValNeighbor string `protobuf:"bytes,4,opt,name=new_val_neighbor,json=newValNeighbor,proto3" json:"new_val_neighbor,omitempty"` + NewValIsAfter bool `protobuf:"varint,5,opt,name=new_val_is_after,json=newValIsAfter,proto3" json:"new_val_is_after,omitempty"` + SkipIfNewValExists bool `protobuf:"varint,6,opt,name=skip_if_new_val_exists,json=skipIfNewValExists,proto3" json:"skip_if_new_val_exists,omitempty"` +} + +func (x *AlterEnumStmt) Reset() { + *x = AlterEnumStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterEnumStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterEnumStmt) ProtoMessage() {} + +func (x *AlterEnumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[234] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterEnumStmt.ProtoReflect.Descriptor instead. +func (*AlterEnumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{234} +} + +func (x *AlterEnumStmt) GetTypeName() []*Node { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *AlterEnumStmt) GetOldVal() string { + if x != nil { + return x.OldVal + } + return "" +} + +func (x *AlterEnumStmt) GetNewVal() string { + if x != nil { + return x.NewVal + } + return "" +} + +func (x *AlterEnumStmt) GetNewValNeighbor() string { + if x != nil { + return x.NewValNeighbor + } + return "" +} + +func (x *AlterEnumStmt) GetNewValIsAfter() bool { + if x != nil { + return x.NewValIsAfter + } + return false +} + +func (x *AlterEnumStmt) GetSkipIfNewValExists() bool { + if x != nil { + return x.SkipIfNewValExists + } + return false +} + +type ViewStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + View *RangeVar `protobuf:"bytes,1,opt,name=view,proto3" json:"view,omitempty"` + Aliases []*Node `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Replace bool `protobuf:"varint,4,opt,name=replace,proto3" json:"replace,omitempty"` + Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` + WithCheckOption ViewCheckOption `protobuf:"varint,6,opt,name=with_check_option,json=withCheckOption,proto3,enum=pg_query.ViewCheckOption" json:"with_check_option,omitempty"` +} + +func (x *ViewStmt) Reset() { + *x = ViewStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ViewStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ViewStmt) ProtoMessage() {} + +func (x *ViewStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[235] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ViewStmt.ProtoReflect.Descriptor instead. +func (*ViewStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{235} +} + +func (x *ViewStmt) GetView() *RangeVar { + if x != nil { + return x.View + } + return nil +} + +func (x *ViewStmt) GetAliases() []*Node { + if x != nil { + return x.Aliases + } + return nil +} + +func (x *ViewStmt) GetQuery() *Node { + if x != nil { + return x.Query + } + return nil +} + +func (x *ViewStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *ViewStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *ViewStmt) GetWithCheckOption() ViewCheckOption { + if x != nil { + return x.WithCheckOption + } + return ViewCheckOption_VIEW_CHECK_OPTION_UNDEFINED +} + +type LoadStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` +} + +func (x *LoadStmt) Reset() { + *x = LoadStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoadStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoadStmt) ProtoMessage() {} + +func (x *LoadStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[236] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoadStmt.ProtoReflect.Descriptor instead. +func (*LoadStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{236} +} + +func (x *LoadStmt) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +type CreatedbStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *CreatedbStmt) Reset() { + *x = CreatedbStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatedbStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatedbStmt) ProtoMessage() {} + +func (x *CreatedbStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[237] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatedbStmt.ProtoReflect.Descriptor instead. +func (*CreatedbStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{237} +} + +func (x *CreatedbStmt) GetDbname() string { + if x != nil { + return x.Dbname + } + return "" +} + +func (x *CreatedbStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterDatabaseStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterDatabaseStmt) Reset() { + *x = AlterDatabaseStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterDatabaseStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterDatabaseStmt) ProtoMessage() {} + +func (x *AlterDatabaseStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[238] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterDatabaseStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{238} +} + +func (x *AlterDatabaseStmt) GetDbname() string { + if x != nil { + return x.Dbname + } + return "" +} + +func (x *AlterDatabaseStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterDatabaseRefreshCollStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` +} + +func (x *AlterDatabaseRefreshCollStmt) Reset() { + *x = AlterDatabaseRefreshCollStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterDatabaseRefreshCollStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterDatabaseRefreshCollStmt) ProtoMessage() {} + +func (x *AlterDatabaseRefreshCollStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[239] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterDatabaseRefreshCollStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseRefreshCollStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{239} +} + +func (x *AlterDatabaseRefreshCollStmt) GetDbname() string { + if x != nil { + return x.Dbname + } + return "" +} + +type AlterDatabaseSetStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + Setstmt *VariableSetStmt `protobuf:"bytes,2,opt,name=setstmt,proto3" json:"setstmt,omitempty"` +} + +func (x *AlterDatabaseSetStmt) Reset() { + *x = AlterDatabaseSetStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterDatabaseSetStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterDatabaseSetStmt) ProtoMessage() {} + +func (x *AlterDatabaseSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[240] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterDatabaseSetStmt.ProtoReflect.Descriptor instead. +func (*AlterDatabaseSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{240} +} + +func (x *AlterDatabaseSetStmt) GetDbname() string { + if x != nil { + return x.Dbname + } + return "" +} + +func (x *AlterDatabaseSetStmt) GetSetstmt() *VariableSetStmt { + if x != nil { + return x.Setstmt + } + return nil +} + +type DropdbStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dbname string `protobuf:"bytes,1,opt,name=dbname,proto3" json:"dbname,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Options []*Node `protobuf:"bytes,3,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *DropdbStmt) Reset() { + *x = DropdbStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropdbStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropdbStmt) ProtoMessage() {} + +func (x *DropdbStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[241] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropdbStmt.ProtoReflect.Descriptor instead. +func (*DropdbStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{241} +} + +func (x *DropdbStmt) GetDbname() string { + if x != nil { + return x.Dbname + } + return "" +} + +func (x *DropdbStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +func (x *DropdbStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterSystemStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Setstmt *VariableSetStmt `protobuf:"bytes,1,opt,name=setstmt,proto3" json:"setstmt,omitempty"` +} + +func (x *AlterSystemStmt) Reset() { + *x = AlterSystemStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterSystemStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterSystemStmt) ProtoMessage() {} + +func (x *AlterSystemStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[242] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterSystemStmt.ProtoReflect.Descriptor instead. +func (*AlterSystemStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{242} +} + +func (x *AlterSystemStmt) GetSetstmt() *VariableSetStmt { + if x != nil { + return x.Setstmt + } + return nil +} + +type ClusterStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Indexname string `protobuf:"bytes,2,opt,name=indexname,proto3" json:"indexname,omitempty"` + Params []*Node `protobuf:"bytes,3,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *ClusterStmt) Reset() { + *x = ClusterStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterStmt) ProtoMessage() {} + +func (x *ClusterStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[243] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterStmt.ProtoReflect.Descriptor instead. +func (*ClusterStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{243} +} + +func (x *ClusterStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *ClusterStmt) GetIndexname() string { + if x != nil { + return x.Indexname + } + return "" +} + +func (x *ClusterStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type VacuumStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Options []*Node `protobuf:"bytes,1,rep,name=options,proto3" json:"options,omitempty"` + Rels []*Node `protobuf:"bytes,2,rep,name=rels,proto3" json:"rels,omitempty"` + IsVacuumcmd bool `protobuf:"varint,3,opt,name=is_vacuumcmd,proto3" json:"is_vacuumcmd,omitempty"` +} + +func (x *VacuumStmt) Reset() { + *x = VacuumStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VacuumStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VacuumStmt) ProtoMessage() {} + +func (x *VacuumStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[244] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VacuumStmt.ProtoReflect.Descriptor instead. +func (*VacuumStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{244} +} + +func (x *VacuumStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *VacuumStmt) GetRels() []*Node { + if x != nil { + return x.Rels + } + return nil +} + +func (x *VacuumStmt) GetIsVacuumcmd() bool { + if x != nil { + return x.IsVacuumcmd + } + return false +} + +type VacuumRelation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + Oid uint32 `protobuf:"varint,2,opt,name=oid,proto3" json:"oid,omitempty"` + VaCols []*Node `protobuf:"bytes,3,rep,name=va_cols,proto3" json:"va_cols,omitempty"` +} + +func (x *VacuumRelation) Reset() { + *x = VacuumRelation{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[245] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VacuumRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VacuumRelation) ProtoMessage() {} + +func (x *VacuumRelation) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[245] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VacuumRelation.ProtoReflect.Descriptor instead. +func (*VacuumRelation) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{245} +} + +func (x *VacuumRelation) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *VacuumRelation) GetOid() uint32 { + if x != nil { + return x.Oid + } + return 0 +} + +func (x *VacuumRelation) GetVaCols() []*Node { + if x != nil { + return x.VaCols + } + return nil +} + +type ExplainStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *ExplainStmt) Reset() { + *x = ExplainStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExplainStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExplainStmt) ProtoMessage() {} + +func (x *ExplainStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[246] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExplainStmt.ProtoReflect.Descriptor instead. +func (*ExplainStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{246} +} + +func (x *ExplainStmt) GetQuery() *Node { + if x != nil { + return x.Query + } + return nil +} + +func (x *ExplainStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type CreateTableAsStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query *Node `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + Into *IntoClause `protobuf:"bytes,2,opt,name=into,proto3" json:"into,omitempty"` + Objtype ObjectType `protobuf:"varint,3,opt,name=objtype,proto3,enum=pg_query.ObjectType" json:"objtype,omitempty"` + IsSelectInto bool `protobuf:"varint,4,opt,name=is_select_into,proto3" json:"is_select_into,omitempty"` + IfNotExists bool `protobuf:"varint,5,opt,name=if_not_exists,proto3" json:"if_not_exists,omitempty"` +} + +func (x *CreateTableAsStmt) Reset() { + *x = CreateTableAsStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[247] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTableAsStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTableAsStmt) ProtoMessage() {} + +func (x *CreateTableAsStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[247] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTableAsStmt.ProtoReflect.Descriptor instead. +func (*CreateTableAsStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{247} +} + +func (x *CreateTableAsStmt) GetQuery() *Node { + if x != nil { + return x.Query + } + return nil +} + +func (x *CreateTableAsStmt) GetInto() *IntoClause { + if x != nil { + return x.Into + } + return nil +} + +func (x *CreateTableAsStmt) GetObjtype() ObjectType { + if x != nil { + return x.Objtype + } + return ObjectType_OBJECT_TYPE_UNDEFINED +} + +func (x *CreateTableAsStmt) GetIsSelectInto() bool { + if x != nil { + return x.IsSelectInto + } + return false +} + +func (x *CreateTableAsStmt) GetIfNotExists() bool { + if x != nil { + return x.IfNotExists + } + return false +} + +type RefreshMatViewStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Concurrent bool `protobuf:"varint,1,opt,name=concurrent,proto3" json:"concurrent,omitempty"` + SkipData bool `protobuf:"varint,2,opt,name=skip_data,json=skipData,proto3" json:"skip_data,omitempty"` + Relation *RangeVar `protobuf:"bytes,3,opt,name=relation,proto3" json:"relation,omitempty"` +} + +func (x *RefreshMatViewStmt) Reset() { + *x = RefreshMatViewStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[248] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshMatViewStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshMatViewStmt) ProtoMessage() {} + +func (x *RefreshMatViewStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[248] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshMatViewStmt.ProtoReflect.Descriptor instead. +func (*RefreshMatViewStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{248} +} + +func (x *RefreshMatViewStmt) GetConcurrent() bool { + if x != nil { + return x.Concurrent + } + return false +} + +func (x *RefreshMatViewStmt) GetSkipData() bool { + if x != nil { + return x.SkipData + } + return false +} + +func (x *RefreshMatViewStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +type CheckPointStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CheckPointStmt) Reset() { + *x = CheckPointStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[249] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckPointStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPointStmt) ProtoMessage() {} + +func (x *CheckPointStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[249] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckPointStmt.ProtoReflect.Descriptor instead. +func (*CheckPointStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{249} +} + +type DiscardStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Target DiscardMode `protobuf:"varint,1,opt,name=target,proto3,enum=pg_query.DiscardMode" json:"target,omitempty"` +} + +func (x *DiscardStmt) Reset() { + *x = DiscardStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[250] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscardStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscardStmt) ProtoMessage() {} + +func (x *DiscardStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[250] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscardStmt.ProtoReflect.Descriptor instead. +func (*DiscardStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{250} +} + +func (x *DiscardStmt) GetTarget() DiscardMode { + if x != nil { + return x.Target + } + return DiscardMode_DISCARD_MODE_UNDEFINED +} + +type LockStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relations []*Node `protobuf:"bytes,1,rep,name=relations,proto3" json:"relations,omitempty"` + Mode int32 `protobuf:"varint,2,opt,name=mode,proto3" json:"mode,omitempty"` + Nowait bool `protobuf:"varint,3,opt,name=nowait,proto3" json:"nowait,omitempty"` +} + +func (x *LockStmt) Reset() { + *x = LockStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[251] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LockStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LockStmt) ProtoMessage() {} + +func (x *LockStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[251] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LockStmt.ProtoReflect.Descriptor instead. +func (*LockStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{251} +} + +func (x *LockStmt) GetRelations() []*Node { + if x != nil { + return x.Relations + } + return nil +} + +func (x *LockStmt) GetMode() int32 { + if x != nil { + return x.Mode + } + return 0 +} + +func (x *LockStmt) GetNowait() bool { + if x != nil { + return x.Nowait + } + return false +} + +type ConstraintsSetStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Constraints []*Node `protobuf:"bytes,1,rep,name=constraints,proto3" json:"constraints,omitempty"` + Deferred bool `protobuf:"varint,2,opt,name=deferred,proto3" json:"deferred,omitempty"` +} + +func (x *ConstraintsSetStmt) Reset() { + *x = ConstraintsSetStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[252] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConstraintsSetStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConstraintsSetStmt) ProtoMessage() {} + +func (x *ConstraintsSetStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[252] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConstraintsSetStmt.ProtoReflect.Descriptor instead. +func (*ConstraintsSetStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{252} +} + +func (x *ConstraintsSetStmt) GetConstraints() []*Node { + if x != nil { + return x.Constraints + } + return nil +} + +func (x *ConstraintsSetStmt) GetDeferred() bool { + if x != nil { + return x.Deferred + } + return false +} + +type ReindexStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind ReindexObjectType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.ReindexObjectType" json:"kind,omitempty"` + Relation *RangeVar `protobuf:"bytes,2,opt,name=relation,proto3" json:"relation,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Params []*Node `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *ReindexStmt) Reset() { + *x = ReindexStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[253] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReindexStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReindexStmt) ProtoMessage() {} + +func (x *ReindexStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[253] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReindexStmt.ProtoReflect.Descriptor instead. +func (*ReindexStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{253} +} + +func (x *ReindexStmt) GetKind() ReindexObjectType { + if x != nil { + return x.Kind + } + return ReindexObjectType_REINDEX_OBJECT_TYPE_UNDEFINED +} + +func (x *ReindexStmt) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *ReindexStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ReindexStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type CreateConversionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConversionName []*Node `protobuf:"bytes,1,rep,name=conversion_name,proto3" json:"conversion_name,omitempty"` + ForEncodingName string `protobuf:"bytes,2,opt,name=for_encoding_name,proto3" json:"for_encoding_name,omitempty"` + ToEncodingName string `protobuf:"bytes,3,opt,name=to_encoding_name,proto3" json:"to_encoding_name,omitempty"` + FuncName []*Node `protobuf:"bytes,4,rep,name=func_name,proto3" json:"func_name,omitempty"` + Def bool `protobuf:"varint,5,opt,name=def,proto3" json:"def,omitempty"` +} + +func (x *CreateConversionStmt) Reset() { + *x = CreateConversionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateConversionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateConversionStmt) ProtoMessage() {} + +func (x *CreateConversionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[254] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateConversionStmt.ProtoReflect.Descriptor instead. +func (*CreateConversionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{254} +} + +func (x *CreateConversionStmt) GetConversionName() []*Node { + if x != nil { + return x.ConversionName + } + return nil +} + +func (x *CreateConversionStmt) GetForEncodingName() string { + if x != nil { + return x.ForEncodingName + } + return "" +} + +func (x *CreateConversionStmt) GetToEncodingName() string { + if x != nil { + return x.ToEncodingName + } + return "" +} + +func (x *CreateConversionStmt) GetFuncName() []*Node { + if x != nil { + return x.FuncName + } + return nil +} + +func (x *CreateConversionStmt) GetDef() bool { + if x != nil { + return x.Def + } + return false +} + +type CreateCastStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sourcetype *TypeName `protobuf:"bytes,1,opt,name=sourcetype,proto3" json:"sourcetype,omitempty"` + Targettype *TypeName `protobuf:"bytes,2,opt,name=targettype,proto3" json:"targettype,omitempty"` + Func *ObjectWithArgs `protobuf:"bytes,3,opt,name=func,proto3" json:"func,omitempty"` + Context CoercionContext `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.CoercionContext" json:"context,omitempty"` + Inout bool `protobuf:"varint,5,opt,name=inout,proto3" json:"inout,omitempty"` +} + +func (x *CreateCastStmt) Reset() { + *x = CreateCastStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateCastStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateCastStmt) ProtoMessage() {} + +func (x *CreateCastStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[255] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateCastStmt.ProtoReflect.Descriptor instead. +func (*CreateCastStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{255} +} + +func (x *CreateCastStmt) GetSourcetype() *TypeName { + if x != nil { + return x.Sourcetype + } + return nil +} + +func (x *CreateCastStmt) GetTargettype() *TypeName { + if x != nil { + return x.Targettype + } + return nil +} + +func (x *CreateCastStmt) GetFunc() *ObjectWithArgs { + if x != nil { + return x.Func + } + return nil +} + +func (x *CreateCastStmt) GetContext() CoercionContext { + if x != nil { + return x.Context + } + return CoercionContext_COERCION_CONTEXT_UNDEFINED +} + +func (x *CreateCastStmt) GetInout() bool { + if x != nil { + return x.Inout + } + return false +} + +type CreateTransformStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Replace bool `protobuf:"varint,1,opt,name=replace,proto3" json:"replace,omitempty"` + TypeName *TypeName `protobuf:"bytes,2,opt,name=type_name,proto3" json:"type_name,omitempty"` + Lang string `protobuf:"bytes,3,opt,name=lang,proto3" json:"lang,omitempty"` + Fromsql *ObjectWithArgs `protobuf:"bytes,4,opt,name=fromsql,proto3" json:"fromsql,omitempty"` + Tosql *ObjectWithArgs `protobuf:"bytes,5,opt,name=tosql,proto3" json:"tosql,omitempty"` +} + +func (x *CreateTransformStmt) Reset() { + *x = CreateTransformStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[256] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateTransformStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateTransformStmt) ProtoMessage() {} + +func (x *CreateTransformStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[256] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateTransformStmt.ProtoReflect.Descriptor instead. +func (*CreateTransformStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{256} +} + +func (x *CreateTransformStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *CreateTransformStmt) GetTypeName() *TypeName { + if x != nil { + return x.TypeName + } + return nil +} + +func (x *CreateTransformStmt) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *CreateTransformStmt) GetFromsql() *ObjectWithArgs { + if x != nil { + return x.Fromsql + } + return nil +} + +func (x *CreateTransformStmt) GetTosql() *ObjectWithArgs { + if x != nil { + return x.Tosql + } + return nil +} + +type PrepareStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Argtypes []*Node `protobuf:"bytes,2,rep,name=argtypes,proto3" json:"argtypes,omitempty"` + Query *Node `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *PrepareStmt) Reset() { + *x = PrepareStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrepareStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrepareStmt) ProtoMessage() {} + +func (x *PrepareStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[257] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrepareStmt.ProtoReflect.Descriptor instead. +func (*PrepareStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{257} +} + +func (x *PrepareStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PrepareStmt) GetArgtypes() []*Node { + if x != nil { + return x.Argtypes + } + return nil +} + +func (x *PrepareStmt) GetQuery() *Node { + if x != nil { + return x.Query + } + return nil +} + +type ExecuteStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Params []*Node `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *ExecuteStmt) Reset() { + *x = ExecuteStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExecuteStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteStmt) ProtoMessage() {} + +func (x *ExecuteStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[258] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteStmt.ProtoReflect.Descriptor instead. +func (*ExecuteStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{258} +} + +func (x *ExecuteStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExecuteStmt) GetParams() []*Node { + if x != nil { + return x.Params + } + return nil +} + +type DeallocateStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Isall bool `protobuf:"varint,2,opt,name=isall,proto3" json:"isall,omitempty"` + Location int32 `protobuf:"varint,3,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *DeallocateStmt) Reset() { + *x = DeallocateStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeallocateStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeallocateStmt) ProtoMessage() {} + +func (x *DeallocateStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[259] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeallocateStmt.ProtoReflect.Descriptor instead. +func (*DeallocateStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{259} +} + +func (x *DeallocateStmt) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeallocateStmt) GetIsall() bool { + if x != nil { + return x.Isall + } + return false +} + +func (x *DeallocateStmt) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type DropOwnedStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Behavior DropBehavior `protobuf:"varint,2,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *DropOwnedStmt) Reset() { + *x = DropOwnedStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropOwnedStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropOwnedStmt) ProtoMessage() {} + +func (x *DropOwnedStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[260] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropOwnedStmt.ProtoReflect.Descriptor instead. +func (*DropOwnedStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{260} +} + +func (x *DropOwnedStmt) GetRoles() []*Node { + if x != nil { + return x.Roles + } + return nil +} + +func (x *DropOwnedStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type ReassignOwnedStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Roles []*Node `protobuf:"bytes,1,rep,name=roles,proto3" json:"roles,omitempty"` + Newrole *RoleSpec `protobuf:"bytes,2,opt,name=newrole,proto3" json:"newrole,omitempty"` +} + +func (x *ReassignOwnedStmt) Reset() { + *x = ReassignOwnedStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReassignOwnedStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReassignOwnedStmt) ProtoMessage() {} + +func (x *ReassignOwnedStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[261] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReassignOwnedStmt.ProtoReflect.Descriptor instead. +func (*ReassignOwnedStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{261} +} + +func (x *ReassignOwnedStmt) GetRoles() []*Node { + if x != nil { + return x.Roles + } + return nil +} + +func (x *ReassignOwnedStmt) GetNewrole() *RoleSpec { + if x != nil { + return x.Newrole + } + return nil +} + +type AlterTSDictionaryStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dictname []*Node `protobuf:"bytes,1,rep,name=dictname,proto3" json:"dictname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterTSDictionaryStmt) Reset() { + *x = AlterTSDictionaryStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterTSDictionaryStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterTSDictionaryStmt) ProtoMessage() {} + +func (x *AlterTSDictionaryStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[262] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterTSDictionaryStmt.ProtoReflect.Descriptor instead. +func (*AlterTSDictionaryStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{262} +} + +func (x *AlterTSDictionaryStmt) GetDictname() []*Node { + if x != nil { + return x.Dictname + } + return nil +} + +func (x *AlterTSDictionaryStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterTSConfigurationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind AlterTSConfigType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterTSConfigType" json:"kind,omitempty"` + Cfgname []*Node `protobuf:"bytes,2,rep,name=cfgname,proto3" json:"cfgname,omitempty"` + Tokentype []*Node `protobuf:"bytes,3,rep,name=tokentype,proto3" json:"tokentype,omitempty"` + Dicts []*Node `protobuf:"bytes,4,rep,name=dicts,proto3" json:"dicts,omitempty"` + Override bool `protobuf:"varint,5,opt,name=override,proto3" json:"override,omitempty"` + Replace bool `protobuf:"varint,6,opt,name=replace,proto3" json:"replace,omitempty"` + MissingOk bool `protobuf:"varint,7,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` +} + +func (x *AlterTSConfigurationStmt) Reset() { + *x = AlterTSConfigurationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterTSConfigurationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterTSConfigurationStmt) ProtoMessage() {} + +func (x *AlterTSConfigurationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[263] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterTSConfigurationStmt.ProtoReflect.Descriptor instead. +func (*AlterTSConfigurationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{263} +} + +func (x *AlterTSConfigurationStmt) GetKind() AlterTSConfigType { + if x != nil { + return x.Kind + } + return AlterTSConfigType_ALTER_TSCONFIG_TYPE_UNDEFINED +} + +func (x *AlterTSConfigurationStmt) GetCfgname() []*Node { + if x != nil { + return x.Cfgname + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetTokentype() []*Node { + if x != nil { + return x.Tokentype + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetDicts() []*Node { + if x != nil { + return x.Dicts + } + return nil +} + +func (x *AlterTSConfigurationStmt) GetOverride() bool { + if x != nil { + return x.Override + } + return false +} + +func (x *AlterTSConfigurationStmt) GetReplace() bool { + if x != nil { + return x.Replace + } + return false +} + +func (x *AlterTSConfigurationStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +type PublicationTable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Relation *RangeVar `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"` + WhereClause *Node `protobuf:"bytes,2,opt,name=where_clause,json=whereClause,proto3" json:"where_clause,omitempty"` + Columns []*Node `protobuf:"bytes,3,rep,name=columns,proto3" json:"columns,omitempty"` +} + +func (x *PublicationTable) Reset() { + *x = PublicationTable{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicationTable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicationTable) ProtoMessage() {} + +func (x *PublicationTable) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[264] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicationTable.ProtoReflect.Descriptor instead. +func (*PublicationTable) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{264} +} + +func (x *PublicationTable) GetRelation() *RangeVar { + if x != nil { + return x.Relation + } + return nil +} + +func (x *PublicationTable) GetWhereClause() *Node { + if x != nil { + return x.WhereClause + } + return nil +} + +func (x *PublicationTable) GetColumns() []*Node { + if x != nil { + return x.Columns + } + return nil +} + +type PublicationObjSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubobjtype PublicationObjSpecType `protobuf:"varint,1,opt,name=pubobjtype,proto3,enum=pg_query.PublicationObjSpecType" json:"pubobjtype,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Pubtable *PublicationTable `protobuf:"bytes,3,opt,name=pubtable,proto3" json:"pubtable,omitempty"` + Location int32 `protobuf:"varint,4,opt,name=location,proto3" json:"location,omitempty"` +} + +func (x *PublicationObjSpec) Reset() { + *x = PublicationObjSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PublicationObjSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicationObjSpec) ProtoMessage() {} + +func (x *PublicationObjSpec) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[265] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicationObjSpec.ProtoReflect.Descriptor instead. +func (*PublicationObjSpec) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{265} +} + +func (x *PublicationObjSpec) GetPubobjtype() PublicationObjSpecType { + if x != nil { + return x.Pubobjtype + } + return PublicationObjSpecType_PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED +} + +func (x *PublicationObjSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PublicationObjSpec) GetPubtable() *PublicationTable { + if x != nil { + return x.Pubtable + } + return nil +} + +func (x *PublicationObjSpec) GetLocation() int32 { + if x != nil { + return x.Location + } + return 0 +} + +type CreatePublicationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` + ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` +} + +func (x *CreatePublicationStmt) Reset() { + *x = CreatePublicationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePublicationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePublicationStmt) ProtoMessage() {} + +func (x *CreatePublicationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[266] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePublicationStmt.ProtoReflect.Descriptor instead. +func (*CreatePublicationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{266} +} + +func (x *CreatePublicationStmt) GetPubname() string { + if x != nil { + return x.Pubname + } + return "" +} + +func (x *CreatePublicationStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *CreatePublicationStmt) GetPubobjects() []*Node { + if x != nil { + return x.Pubobjects + } + return nil +} + +func (x *CreatePublicationStmt) GetForAllTables() bool { + if x != nil { + return x.ForAllTables + } + return false +} + +type AlterPublicationStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubname string `protobuf:"bytes,1,opt,name=pubname,proto3" json:"pubname,omitempty"` + Options []*Node `protobuf:"bytes,2,rep,name=options,proto3" json:"options,omitempty"` + Pubobjects []*Node `protobuf:"bytes,3,rep,name=pubobjects,proto3" json:"pubobjects,omitempty"` + ForAllTables bool `protobuf:"varint,4,opt,name=for_all_tables,proto3" json:"for_all_tables,omitempty"` + Action AlterPublicationAction `protobuf:"varint,5,opt,name=action,proto3,enum=pg_query.AlterPublicationAction" json:"action,omitempty"` +} + +func (x *AlterPublicationStmt) Reset() { + *x = AlterPublicationStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterPublicationStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterPublicationStmt) ProtoMessage() {} + +func (x *AlterPublicationStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[267] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterPublicationStmt.ProtoReflect.Descriptor instead. +func (*AlterPublicationStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{267} +} + +func (x *AlterPublicationStmt) GetPubname() string { + if x != nil { + return x.Pubname + } + return "" +} + +func (x *AlterPublicationStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +func (x *AlterPublicationStmt) GetPubobjects() []*Node { + if x != nil { + return x.Pubobjects + } + return nil +} + +func (x *AlterPublicationStmt) GetForAllTables() bool { + if x != nil { + return x.ForAllTables + } + return false +} + +func (x *AlterPublicationStmt) GetAction() AlterPublicationAction { + if x != nil { + return x.Action + } + return AlterPublicationAction_ALTER_PUBLICATION_ACTION_UNDEFINED +} + +type CreateSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` + Conninfo string `protobuf:"bytes,2,opt,name=conninfo,proto3" json:"conninfo,omitempty"` + Publication []*Node `protobuf:"bytes,3,rep,name=publication,proto3" json:"publication,omitempty"` + Options []*Node `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *CreateSubscriptionStmt) Reset() { + *x = CreateSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateSubscriptionStmt) ProtoMessage() {} + +func (x *CreateSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[268] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*CreateSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{268} +} + +func (x *CreateSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *CreateSubscriptionStmt) GetConninfo() string { + if x != nil { + return x.Conninfo + } + return "" +} + +func (x *CreateSubscriptionStmt) GetPublication() []*Node { + if x != nil { + return x.Publication + } + return nil +} + +func (x *CreateSubscriptionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type AlterSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind AlterSubscriptionType `protobuf:"varint,1,opt,name=kind,proto3,enum=pg_query.AlterSubscriptionType" json:"kind,omitempty"` + Subname string `protobuf:"bytes,2,opt,name=subname,proto3" json:"subname,omitempty"` + Conninfo string `protobuf:"bytes,3,opt,name=conninfo,proto3" json:"conninfo,omitempty"` + Publication []*Node `protobuf:"bytes,4,rep,name=publication,proto3" json:"publication,omitempty"` + Options []*Node `protobuf:"bytes,5,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *AlterSubscriptionStmt) Reset() { + *x = AlterSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AlterSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AlterSubscriptionStmt) ProtoMessage() {} + +func (x *AlterSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[269] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AlterSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*AlterSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{269} +} + +func (x *AlterSubscriptionStmt) GetKind() AlterSubscriptionType { + if x != nil { + return x.Kind + } + return AlterSubscriptionType_ALTER_SUBSCRIPTION_TYPE_UNDEFINED +} + +func (x *AlterSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *AlterSubscriptionStmt) GetConninfo() string { + if x != nil { + return x.Conninfo + } + return "" +} + +func (x *AlterSubscriptionStmt) GetPublication() []*Node { + if x != nil { + return x.Publication + } + return nil +} + +func (x *AlterSubscriptionStmt) GetOptions() []*Node { + if x != nil { + return x.Options + } + return nil +} + +type DropSubscriptionStmt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subname string `protobuf:"bytes,1,opt,name=subname,proto3" json:"subname,omitempty"` + MissingOk bool `protobuf:"varint,2,opt,name=missing_ok,proto3" json:"missing_ok,omitempty"` + Behavior DropBehavior `protobuf:"varint,3,opt,name=behavior,proto3,enum=pg_query.DropBehavior" json:"behavior,omitempty"` +} + +func (x *DropSubscriptionStmt) Reset() { + *x = DropSubscriptionStmt{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DropSubscriptionStmt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DropSubscriptionStmt) ProtoMessage() {} + +func (x *DropSubscriptionStmt) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[270] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DropSubscriptionStmt.ProtoReflect.Descriptor instead. +func (*DropSubscriptionStmt) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{270} +} + +func (x *DropSubscriptionStmt) GetSubname() string { + if x != nil { + return x.Subname + } + return "" +} + +func (x *DropSubscriptionStmt) GetMissingOk() bool { + if x != nil { + return x.MissingOk + } + return false +} + +func (x *DropSubscriptionStmt) GetBehavior() DropBehavior { + if x != nil { + return x.Behavior + } + return DropBehavior_DROP_BEHAVIOR_UNDEFINED +} + +type ScanToken struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + Token Token `protobuf:"varint,4,opt,name=token,proto3,enum=pg_query.Token" json:"token,omitempty"` + KeywordKind KeywordKind `protobuf:"varint,5,opt,name=keyword_kind,json=keywordKind,proto3,enum=pg_query.KeywordKind" json:"keyword_kind,omitempty"` +} + +func (x *ScanToken) Reset() { + *x = ScanToken{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[271] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ScanToken) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScanToken) ProtoMessage() {} + +func (x *ScanToken) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[271] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScanToken.ProtoReflect.Descriptor instead. +func (*ScanToken) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{271} +} + +func (x *ScanToken) GetStart() int32 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *ScanToken) GetEnd() int32 { + if x != nil { + return x.End + } + return 0 +} + +func (x *ScanToken) GetToken() Token { + if x != nil { + return x.Token + } + return Token_NUL +} + +func (x *ScanToken) GetKeywordKind() KeywordKind { + if x != nil { + return x.KeywordKind + } + return KeywordKind_NO_KEYWORD +} + +// protobuf-c doesn't support optional fields, so any optional strings +// are just an empty string if it should be the equivalent of None/nil. +// +// These fields have `// optional` at the end of the line. +// +// Upstream issue: https://github.com/protobuf-c/protobuf-c/issues/476 +type SummaryResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tables []*SummaryResult_Table `protobuf:"bytes,1,rep,name=tables,proto3" json:"tables,omitempty"` + // The value here is the table name (i.e. schema.table or just table). + Aliases map[string]string `protobuf:"bytes,2,rep,name=aliases,proto3" json:"aliases,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + CteNames []string `protobuf:"bytes,3,rep,name=cte_names,json=cteNames,proto3" json:"cte_names,omitempty"` + Functions []*SummaryResult_Function `protobuf:"bytes,4,rep,name=functions,proto3" json:"functions,omitempty"` + FilterColumns []*SummaryResult_FilterColumn `protobuf:"bytes,5,rep,name=filter_columns,json=filterColumns,proto3" json:"filter_columns,omitempty"` + StatementTypes []string `protobuf:"bytes,6,rep,name=statement_types,json=statementTypes,proto3" json:"statement_types,omitempty"` + TruncatedQuery string `protobuf:"bytes,7,opt,name=truncated_query,json=truncatedQuery,proto3" json:"truncated_query,omitempty"` // optional, empty if truncation limit is -1 +} + +func (x *SummaryResult) Reset() { + *x = SummaryResult{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[272] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SummaryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SummaryResult) ProtoMessage() {} + +func (x *SummaryResult) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[272] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SummaryResult.ProtoReflect.Descriptor instead. +func (*SummaryResult) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{272} +} + +func (x *SummaryResult) GetTables() []*SummaryResult_Table { + if x != nil { + return x.Tables + } + return nil +} + +func (x *SummaryResult) GetAliases() map[string]string { + if x != nil { + return x.Aliases + } + return nil +} + +func (x *SummaryResult) GetCteNames() []string { + if x != nil { + return x.CteNames + } + return nil +} + +func (x *SummaryResult) GetFunctions() []*SummaryResult_Function { + if x != nil { + return x.Functions + } + return nil +} + +func (x *SummaryResult) GetFilterColumns() []*SummaryResult_FilterColumn { + if x != nil { + return x.FilterColumns + } + return nil +} + +func (x *SummaryResult) GetStatementTypes() []string { + if x != nil { + return x.StatementTypes + } + return nil +} + +func (x *SummaryResult) GetTruncatedQuery() string { + if x != nil { + return x.TruncatedQuery + } + return "" +} + +type SummaryResult_Table struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + SchemaName string `protobuf:"bytes,2,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"` + TableName string `protobuf:"bytes,3,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` + Context SummaryResult_Context `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.SummaryResult_Context" json:"context,omitempty"` +} + +func (x *SummaryResult_Table) Reset() { + *x = SummaryResult_Table{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[273] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SummaryResult_Table) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SummaryResult_Table) ProtoMessage() {} + +func (x *SummaryResult_Table) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[273] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SummaryResult_Table.ProtoReflect.Descriptor instead. +func (*SummaryResult_Table) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{272, 0} +} + +func (x *SummaryResult_Table) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SummaryResult_Table) GetSchemaName() string { + if x != nil { + return x.SchemaName + } + return "" +} + +func (x *SummaryResult_Table) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *SummaryResult_Table) GetContext() SummaryResult_Context { + if x != nil { + return x.Context + } + return SummaryResult_None +} + +type SummaryResult_Function struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + FunctionName string `protobuf:"bytes,2,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + SchemaName string `protobuf:"bytes,3,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"` // optional + Context SummaryResult_Context `protobuf:"varint,4,opt,name=context,proto3,enum=pg_query.SummaryResult_Context" json:"context,omitempty"` +} + +func (x *SummaryResult_Function) Reset() { + *x = SummaryResult_Function{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[275] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SummaryResult_Function) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SummaryResult_Function) ProtoMessage() {} + +func (x *SummaryResult_Function) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[275] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SummaryResult_Function.ProtoReflect.Descriptor instead. +func (*SummaryResult_Function) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{272, 2} +} + +func (x *SummaryResult_Function) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SummaryResult_Function) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *SummaryResult_Function) GetSchemaName() string { + if x != nil { + return x.SchemaName + } + return "" +} + +func (x *SummaryResult_Function) GetContext() SummaryResult_Context { + if x != nil { + return x.Context + } + return SummaryResult_None +} + +type SummaryResult_FilterColumn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SchemaName string `protobuf:"bytes,1,opt,name=schema_name,json=schemaName,proto3" json:"schema_name,omitempty"` // optional + TableName string `protobuf:"bytes,2,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"` // optional + Column string `protobuf:"bytes,3,opt,name=column,proto3" json:"column,omitempty"` +} + +func (x *SummaryResult_FilterColumn) Reset() { + *x = SummaryResult_FilterColumn{} + if protoimpl.UnsafeEnabled { + mi := &file_pg_query_proto_msgTypes[276] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SummaryResult_FilterColumn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SummaryResult_FilterColumn) ProtoMessage() {} + +func (x *SummaryResult_FilterColumn) ProtoReflect() protoreflect.Message { + mi := &file_pg_query_proto_msgTypes[276] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SummaryResult_FilterColumn.ProtoReflect.Descriptor instead. +func (*SummaryResult_FilterColumn) Descriptor() ([]byte, []int) { + return file_pg_query_proto_rawDescGZIP(), []int{272, 3} +} + +func (x *SummaryResult_FilterColumn) GetSchemaName() string { + if x != nil { + return x.SchemaName + } + return "" +} + +func (x *SummaryResult_FilterColumn) GetTableName() string { + if x != nil { + return x.TableName + } + return "" +} + +func (x *SummaryResult_FilterColumn) GetColumn() string { + if x != nil { + return x.Column + } + return "" +} + +var File_pg_query_proto protoreflect.FileDescriptor + +var file_pg_query_proto_rawDesc = []byte{ + 0x0a, 0x0e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x50, 0x0a, 0x0b, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, @@ -28156,1215 +32032,1406 @@ var file_pg_query_proto_rawDesc = []byte{ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x22, 0xa0, 0x7d, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x05, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x48, 0x00, 0x52, 0x08, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x66, 0x75, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x48, - 0x00, 0x52, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x21, 0x0a, 0x03, - 0x76, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x48, 0x00, 0x52, 0x03, 0x56, 0x61, 0x72, 0x12, - 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x48, - 0x00, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x48, 0x00, 0x52, 0x06, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x66, 0x12, 0x3d, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, - 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, - 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, - 0x75, 0x6e, 0x63, 0x12, 0x37, 0x0a, 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, - 0x6e, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, - 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x46, 0x0a, 0x10, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x66, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x66, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3e, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x64, - 0x5f, 0x61, 0x72, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, - 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x4e, 0x61, 0x6d, 0x65, 0x64, - 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x70, 0x5f, 0x65, 0x78, - 0x70, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x4f, 0x70, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x45, - 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x69, 0x66, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x48, - 0x00, 0x52, 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, - 0x14, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x6f, 0x70, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x11, 0x53, 0x63, 0x61, 0x6c, - 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, - 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, - 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, - 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, - 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, - 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, - 0x12, 0x50, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x12, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, - 0x61, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, - 0x00, 0x52, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x37, - 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x69, - 0x61, 0x5f, 0x69, 0x6f, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, 0x69, 0x61, 0x49, - 0x4f, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, - 0x12, 0x47, 0x0a, 0x11, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, - 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, - 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x50, 0x0a, 0x14, 0x63, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3a, 0x0a, 0x0c, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, - 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, - 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, - 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x61, - 0x73, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, - 0x6e, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x3e, 0x0a, - 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, - 0x0c, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x34, 0x0a, - 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x72, - 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x52, 0x6f, 0x77, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, - 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, - 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, - 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x6f, 0x61, - 0x6c, 0x65, 0x73, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x61, 0x6c, - 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x6f, 0x61, 0x6c, - 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, - 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, - 0x70, 0x72, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x71, 0x6c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x53, 0x51, 0x4c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, - 0x08, 0x78, 0x6d, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, - 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, - 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, - 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x65, 0x73, 0x74, - 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x10, - 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x48, 0x00, 0x52, 0x0e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x54, 0x0a, 0x16, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x28, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x48, 0x00, 0x52, 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, - 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x54, - 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x74, 0x54, - 0x6f, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x41, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2b, + 0x73, 0x22, 0xd5, 0x8e, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x00, 0x52, 0x05, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x76, 0x61, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x48, 0x00, 0x52, 0x08, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, + 0x48, 0x00, 0x52, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x37, 0x0a, + 0x0b, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, + 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x74, 0x6f, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x03, 0x76, 0x61, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, + 0x61, 0x72, 0x48, 0x00, 0x52, 0x03, 0x56, 0x61, 0x72, 0x12, 0x27, 0x0a, 0x05, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x48, 0x00, 0x52, 0x05, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x67, 0x67, 0x72, 0x65, 0x66, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x66, 0x48, 0x00, 0x52, 0x06, 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x12, 0x3d, + 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, + 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x37, 0x0a, + 0x0b, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0a, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x5d, 0x0a, 0x19, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, + 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, + 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, + 0x10, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, + 0x63, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, + 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3e, 0x0a, 0x0e, + 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x41, 0x72, 0x67, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x07, + 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x06, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, 0x0a, 0x0d, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x6e, 0x75, 0x6c, 0x6c, + 0x5f, 0x69, 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, + 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x14, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x61, 0x72, 0x72, + 0x61, 0x79, 0x5f, 0x6f, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6c, + 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x42, 0x6f, 0x6f, + 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, + 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, + 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x53, 0x75, + 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x50, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, + 0x6e, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0c, + 0x72, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x6f, 0x65, 0x72, + 0x63, 0x65, 0x5f, 0x76, 0x69, 0x61, 0x5f, 0x69, 0x6f, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, + 0x65, 0x56, 0x69, 0x61, 0x49, 0x4f, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, + 0x56, 0x69, 0x61, 0x49, 0x4f, 0x12, 0x47, 0x0a, 0x11, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x50, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x72, 0x6f, 0x77, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, + 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, + 0x63, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x31, 0x0a, 0x09, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x1f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, + 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, + 0x65, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x09, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x6f, 0x77, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x72, 0x6f, 0x77, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x23, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, + 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, + 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x3d, + 0x0a, 0x0d, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, + 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x38, 0x0a, + 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, + 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x4d, 0x69, 0x6e, + 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, 0x12, 0x49, 0x0a, 0x11, 0x73, 0x71, 0x6c, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x26, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, + 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x78, 0x6d, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x27, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x07, 0x58, 0x6d, 0x6c, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0d, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, + 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x53, 0x0a, 0x15, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, + 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x69, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x4a, + 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x3d, + 0x0a, 0x0d, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, + 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x48, 0x00, 0x52, + 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x31, 0x0a, + 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x14, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x30, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x63, 0x61, 0x6e, 0x48, 0x00, + 0x52, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, + 0x63, 0x61, 0x6e, 0x12, 0x57, 0x0a, 0x17, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x73, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x31, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x31, 0x0a, 0x09, + 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x54, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, + 0x3a, 0x0a, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, + 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x34, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, + 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x65, 0x72, 0x63, + 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x35, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, + 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x43, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x54, 0x0a, + 0x16, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, + 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x13, + 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6f, + 0x66, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, + 0x66, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x41, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4e, 0x65, 0x78, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x3a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x3a, 0x0a, 0x0c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x3b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, + 0x62, 0x6c, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, + 0x6c, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x4a, + 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x3f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, + 0x52, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0a, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, + 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x18, + 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x08, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x2a, 0x0a, 0x06, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x18, 0x45, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, + 0x43, 0x61, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, + 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 0x0a, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, + 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x06, + 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x49, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x48, 0x00, + 0x52, 0x06, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x12, 0x33, 0x0a, 0x09, 0x61, 0x5f, 0x69, 0x6e, + 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x3f, 0x0a, + 0x0d, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, - 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x40, - 0x0a, 0x0e, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x6c, 0x65, 0x6d, - 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x48, - 0x00, 0x52, 0x0d, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, - 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, - 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0d, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x2e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x09, 0x6a, 0x6f, 0x69, - 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, - 0x48, 0x00, 0x52, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, - 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x12, - 0x44, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, - 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, - 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x37, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x33, + 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, + 0x0a, 0x0c, 0x61, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x61, - 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x07, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x12, 0x37, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, - 0x0a, 0x0a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x39, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, - 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x3b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x70, 0x6c, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x61, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x3e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, - 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x47, - 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x40, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, - 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x10, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x42, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x69, 0x0a, 0x1d, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x43, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, - 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x44, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x09, - 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x70, 0x79, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x37, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x47, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x31, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x49, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x44, 0x72, 0x6f, 0x70, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x34, 0x0a, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x4c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x46, 0x65, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x50, 0x0a, 0x14, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4d, 0x0a, - 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x07, - 0x64, 0x6f, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x06, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x72, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x52, 0x75, 0x6c, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, - 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x54, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x4c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x75, 0x6e, 0x6c, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x55, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x46, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, - 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x57, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, - 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x58, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x61, 0x64, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x37, 0x0a, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x5b, + 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x41, + 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x34, 0x0a, 0x0a, 0x72, 0x65, + 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x44, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x5f, 0x72, 0x65, 0x66, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, + 0x79, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x48, 0x00, 0x52, 0x06, 0x53, 0x6f, 0x72, + 0x74, 0x42, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x64, 0x65, + 0x66, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, + 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x51, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x40, + 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x52, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x44, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x4e, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, 0x18, 0x54, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, + 0x6c, 0x48, 0x00, 0x52, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x55, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, + 0x52, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, + 0x18, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x47, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x57, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, + 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x5f, 0x65, + 0x6c, 0x65, 0x6d, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x07, + 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x78, 0x6d, 0x6c, + 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x58, 0x6d, 0x6c, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x40, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x5d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0d, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x14, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, + 0x73, 0x70, 0x65, 0x63, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, 0x53, + 0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x13, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, + 0x74, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x60, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x48, 0x00, 0x52, 0x13, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x12, 0x72, 0x74, + 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x52, 0x54, 0x45, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4a, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x64, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, + 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x65, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x57, 0x69, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x11, + 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x41, 0x0a, 0x0f, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, + 0x69, 0x6e, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x74, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x54, 0x45, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0f, + 0x63, 0x74, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x0e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x47, 0x0a, 0x11, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x48, 0x00, 0x52, 0x0f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, + 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x37, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x18, 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x6a, 0x73, + 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x75, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, + 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x14, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, + 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x0a, 0x6a, 0x73, 0x6f, + 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x48, 0x00, 0x52, 0x09, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x47, 0x0a, 0x11, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3e, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x73, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x7a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, + 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x44, 0x0a, 0x10, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x48, + 0x00, 0x52, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x4d, 0x0a, 0x13, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x11, 0x4a, + 0x73, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x12, 0x59, 0x0a, 0x17, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x7d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x6f, 0x72, 0x48, 0x00, 0x52, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x16, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x4a, + 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x12, 0x66, 0x0a, 0x1c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, + 0x52, 0x19, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x51, 0x0a, 0x14, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x67, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x12, 0x4a, 0x73, 0x6f, 0x6e, + 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x42, + 0x0a, 0x0f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x67, + 0x67, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, + 0x67, 0x48, 0x00, 0x52, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, + 0x67, 0x67, 0x12, 0x3f, 0x0a, 0x0e, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x5f, 0x61, 0x67, 0x67, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x41, 0x67, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, + 0x41, 0x67, 0x67, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x07, 0x52, 0x61, 0x77, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x84, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, + 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x72, - 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0b, 0x76, 0x61, 0x63, 0x75, - 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, - 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x41, 0x0a, - 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3e, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x47, 0x0a, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, - 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x67, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, - 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x65, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x44, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, - 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x41, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0e, 0x64, 0x72, 0x6f, - 0x70, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, - 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x44, 0x72, 0x6f, - 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x50, 0x0a, 0x14, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3a, - 0x0a, 0x0c, 0x72, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x6b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x52, - 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x6c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x4a, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4d, 0x0a, 0x13, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x70, 0x0a, 0x20, 0x61, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, - 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, - 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x71, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x56, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x72, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x73, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x4e, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x51, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x66, - 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, - 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x76, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x3a, 0x0a, 0x0c, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x43, 0x0a, 0x0f, - 0x64, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x0e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x4d, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, - 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x44, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, + 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x6c, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x4c, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x4c, + 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8d, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, + 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, + 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x91, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x09, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, + 0x73, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, + 0x72, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, + 0x69, 0x76, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x48, + 0x00, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x42, 0x0a, + 0x0f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0d, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x6a, 0x0a, 0x1d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, + 0x09, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x70, + 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x48, 0x0a, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x18, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9d, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6b, 0x0a, 0x1e, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9e, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5c, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6a, 0x0a, + 0x1d, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa2, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa3, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, + 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x61, + 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa5, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa6, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa7, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa8, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x58, + 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x44, 0x72, 0x6f, 0x70, + 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x61, 0x0a, 0x1a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xab, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xac, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xae, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xaf, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x55, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb0, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, 0x61, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, + 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x4c, 0x61, + 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb3, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, + 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x3f, 0x0a, 0x0e, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, + 0x71, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x71, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, + 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x52, + 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x5f, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x44, + 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x74, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, + 0x5f, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc3, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x57, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x15, 0x64, 0x72, 0x6f, - 0x70, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x6d, 0x74, 0x18, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, - 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5d, 0x0a, 0x19, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x18, 0x61, - 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x48, 0x00, 0x52, 0x11, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc4, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x35, 0x0a, 0x0a, 0x66, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc5, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x09, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, + 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x73, + 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, + 0x6d, 0x48, 0x00, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x45, + 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xca, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4d, 0x0a, 0x12, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0xcb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcc, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x6f, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x06, 0x44, + 0x6f, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, + 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0xce, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, + 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, + 0x32, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xcf, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, - 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x7f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, - 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, - 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, - 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, - 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x83, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, - 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x11, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, - 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x84, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, - 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x63, 0x0a, 0x1a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x18, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8a, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x3f, 0x0a, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x64, 0x77, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x61, 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, - 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8c, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x58, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x8f, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, 0x16, 0x64, 0x72, - 0x6f, 0x70, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x44, 0x72, - 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x6b, 0x0a, 0x1e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0x91, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, - 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5c, - 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, - 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x92, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3f, 0x0a, 0x0e, - 0x73, 0x65, 0x63, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x93, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5e, 0x0a, - 0x19, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x61, 0x0a, - 0x1a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x95, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, - 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, - 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x97, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x6a, 0x0a, 0x1d, 0x61, 0x6c, 0x74, - 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x98, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x55, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, - 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x69, 0x67, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x52, 0x0a, 0x15, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x5f, - 0x76, 0x69, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, - 0x52, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9c, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, - 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, - 0x9d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9e, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, - 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x6d, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa2, 0x01, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd4, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4e, + 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, + 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x52, 0x75, + 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x38, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x75, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xda, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x55, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x55, 0x6e, + 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdc, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, + 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, + 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x08, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x3e, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, + 0x48, 0x00, 0x52, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x71, 0x0a, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x58, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe5, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, + 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe6, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, + 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x44, 0x72, 0x6f, + 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x61, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe7, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, + 0x52, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x48, + 0x00, 0x52, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, + 0x0a, 0x0b, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xe9, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x56, 0x61, + 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x76, 0x61, 0x63, 0x75, + 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, + 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0e, + 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xeb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x73, + 0x74, 0x6d, 0x74, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x52, 0x0a, 0x15, + 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xed, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, + 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x45, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x73, 0x74, 0x6d, 0x74, 0x18, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, + 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xef, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x08, + 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, + 0x18, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x72, + 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf2, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x52, 0x65, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x6d, 0x74, 0x18, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, + 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, + 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf7, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x45, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x44, 0x0a, 0x0f, 0x64, 0x65, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xf8, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, + 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0e, + 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x42, + 0x0a, 0x0f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, + 0x74, 0x18, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, + 0x74, 0x48, 0x00, 0x52, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x72, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, + 0x11, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x64, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfb, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, + 0x79, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, + 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x63, + 0x0a, 0x1a, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x73, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xfc, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x18, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x10, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x51, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, + 0x62, 0x6a, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, + 0x65, 0x63, 0x12, 0x5a, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x80, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x6d, 0x74, 0x18, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, + 0x74, 0x6d, 0x74, 0x18, 0x81, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x5a, 0x0a, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, - 0x74, 0x18, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x74, 0x18, 0x82, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x57, 0x0a, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa6, 0x01, 0x20, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x83, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x48, 0x00, 0x52, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x51, 0x0a, 0x14, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa8, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x6d, 0x74, 0x48, 0x00, 0x52, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, - 0x48, 0x00, 0x52, 0x08, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x45, 0x0a, 0x10, - 0x61, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6d, 0x74, - 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x48, 0x00, 0x52, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0xab, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, - 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0xac, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x5f, 0x72, 0x65, 0x66, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x48, - 0x00, 0x52, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x09, 0x66, - 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x18, 0xae, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, - 0x61, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, - 0x2b, 0x0a, 0x06, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x53, 0x74, - 0x61, 0x72, 0x48, 0x00, 0x52, 0x06, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x12, 0x34, 0x0a, 0x09, - 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x18, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, - 0x64, 0x69, 0x63, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x61, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0c, 0x61, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, - 0x70, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, - 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0xb3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x00, 0x52, 0x09, 0x52, - 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x18, 0xb4, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, - 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, - 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, - 0x32, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x74, 0x18, 0xb5, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, - 0x61, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x62, - 0x79, 0x18, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x48, 0x00, 0x52, 0x06, 0x53, 0x6f, - 0x72, 0x74, 0x42, 0x79, 0x12, 0x35, 0x0a, 0x0a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x64, - 0x65, 0x66, 0x18, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x48, 0x00, - 0x52, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x12, 0x44, 0x0a, 0x0f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x18, 0xb9, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, - 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0xbb, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x00, 0x52, - 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x12, 0x45, 0x0a, 0x10, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x48, 0x00, 0x52, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x4f, 0x0a, 0x14, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x63, 0x6f, 0x6c, - 0x18, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, - 0x63, 0x43, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, - 0x0a, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x66, 0x18, 0xbf, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x48, 0x00, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x44, 0x65, 0x66, 0x12, 0x35, 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, - 0x65, 0x6d, 0x18, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, - 0x52, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x35, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x73, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, - 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x18, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, - 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x64, - 0x65, 0x66, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, - 0x6d, 0x48, 0x00, 0x52, 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x42, 0x0a, 0x0f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, - 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, - 0x00, 0x52, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x4b, 0x0a, 0x12, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x62, 0x6c, 0x5f, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, - 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, - 0x13, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x18, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x48, 0x0a, - 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x57, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x11, 0x73, 0x6f, 0x72, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, - 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, - 0x52, 0x0f, 0x53, 0x6f, 0x72, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, - 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x48, - 0x00, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x12, 0x3e, - 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, - 0x52, 0x0c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x45, - 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, - 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, - 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x38, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x70, 0x72, 0x69, 0x76, 0x18, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, - 0x76, 0x48, 0x00, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, - 0x4f, 0x0a, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x11, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, - 0x12, 0x48, 0x0a, 0x11, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, - 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x18, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xd0, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x4c, - 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, - 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, - 0x00, 0x52, 0x0d, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x0d, 0x78, 0x6d, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x18, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x48, 0x00, 0x52, 0x0c, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, - 0x12, 0x38, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0xd3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0a, - 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x6e, - 0x66, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xd4, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, - 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x49, 0x6e, 0x66, 0x65, - 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xd5, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x48, 0x00, 0x52, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x10, 0x63, 0x74, 0x65, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x54, - 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x44, 0x0a, - 0x0f, 0x63, 0x74, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x48, 0x00, 0x52, 0x0e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x48, 0x00, 0x52, 0x0f, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x48, 0x0a, - 0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, - 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x72, 0x6f, 0x6c, 0x65, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x48, - 0x00, 0x52, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4d, 0x0a, 0x12, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0e, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x18, 0xdc, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x0d, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x41, 0x0a, - 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, - 0xdd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x48, - 0x00, 0x52, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x51, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, - 0x12, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x18, 0xdf, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, - 0x75, 0x6d, 0x48, 0x00, 0x52, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x3e, 0x0a, 0x0d, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6d, 0x64, 0x18, 0xe0, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x44, 0x0a, 0x0f, 0x76, 0x61, 0x63, - 0x75, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe1, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, - 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x0e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x51, 0x0a, 0x14, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, - 0x62, 0x6a, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x12, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, - 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x10, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x48, - 0x0a, 0x11, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x18, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x0f, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x18, 0xe6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0xe7, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, - 0x2e, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0xe8, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, - 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, - 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, - 0x62, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xea, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xeb, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x69, 0x6e, - 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x6f, - 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xed, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x07, - 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, - 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, - 0x76, 0x61, 0x6c, 0x22, 0x1b, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, - 0x22, 0x23, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, - 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x62, 0x6f, - 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x22, 0x1c, 0x0a, 0x06, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, - 0x76, 0x61, 0x6c, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x12, 0x14, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x18, 0x84, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x05, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x85, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x05, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, + 0x18, 0x86, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x42, 0x6f, + 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x87, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x12, 0x35, 0x0a, 0x0a, 0x62, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x88, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x09, + 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x6c, 0x69, 0x73, + 0x74, 0x18, 0x89, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x8a, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x6f, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x8b, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x4f, 0x69, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x8c, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, 0x1d, 0x0a, 0x07, 0x49, 0x6e, + 0x74, 0x65, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x22, 0x1b, 0x0a, 0x05, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x22, 0x23, 0x0a, 0x07, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, + 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x22, 0x1c, 0x0a, 0x06, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x21, 0x0a, 0x09, 0x42, 0x69, 0x74, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x4f, 0x69, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x49, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x98, 0x02, 0x0a, + 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x69, 0x76, 0x61, + 0x6c, 0x12, 0x25, 0x0a, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x48, 0x00, 0x52, 0x04, 0x66, 0x76, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, + 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, + 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x12, + 0x2b, 0x0a, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x73, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, + 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x05, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x22, 0x51, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x08, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, + 0x6f, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, + 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xf4, 0x05, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x33, + 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x75, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x12, 0x2a, 0x0a, + 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x98, 0x02, 0x0a, 0x07, 0x41, 0x5f, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x67, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x04, 0x66, - 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x66, 0x76, - 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x76, 0x61, - 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x04, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x73, 0x76, - 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x42, 0x69, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x05, 0x62, 0x73, 0x76, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x6e, 0x75, 0x6c, 0x6c, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x22, 0x51, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x69, 0x6e, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, - 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x04, 0x0a, 0x09, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x73, 0x5f, 0x75, - 0x72, 0x69, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x73, 0x5f, 0x75, 0x72, - 0x69, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, + 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x6f, 0x63, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x6f, 0x63, 0x65, + 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, + 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, + 0x6f, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x74, 0x79, + 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x63, 0x6f, + 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x63, + 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, + 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x64, 0x65, + 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, + 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, + 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x63, 0x6f, 0x6c, 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x0f, 0x70, + 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6e, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, - 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x76, 0x61, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, - 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, + 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x6f, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x09, + 0x63, 0x6f, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x08, 0x63, 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, + 0x28, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x69, 0x65, + 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x76, + 0x69, 0x65, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, + 0x70, 0x44, 0x61, 0x74, 0x61, 0x22, 0x95, 0x02, 0x0a, 0x03, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, + 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, + 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x61, + 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, + 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0e, 0x76, 0x61, 0x72, 0x6e, 0x75, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x6c, 0x73, 0x12, + 0x20, 0x0a, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, + 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x05, 0x0a, 0x06, 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x12, + 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x61, 0x67, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x67, 0x67, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x61, 0x72, + 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, + 0x67, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x61, 0x67, 0x67, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0d, 0x61, 0x67, 0x67, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2a, - 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, + 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x61, 0x67, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x67, + 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x73, 0x75, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x73, 0x70, + 0x6c, 0x69, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x08, 0x61, + 0x67, 0x67, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, 0x12, 0x1e, 0x0a, + 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x72, 0x65, 0x66, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x91, 0x03, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x46, 0x75, 0x6e, + 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x69, 0x6e, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x77, 0x69, + 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, + 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, - 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, - 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x0d, 0x72, + 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0b, - 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x63, 0x6f, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0x0a, - 0x03, 0x56, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x61, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x76, 0x61, 0x72, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x76, 0x61, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, - 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x73, 0x79, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x72, 0x6e, 0x6f, 0x73, 0x79, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x73, 0x79, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x61, 0x74, 0x74, 0x6e, 0x6f, 0x73, 0x79, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x05, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x31, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x74, 0x79, 0x70, - 0x6d, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xd6, 0x05, 0x0a, 0x06, 0x41, 0x67, 0x67, 0x72, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x61, 0x67, 0x67, 0x66, 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x67, - 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x67, 0x67, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x67, 0x67, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x61, - 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, - 0x67, 0x67, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x61, 0x67, - 0x67, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0d, 0x61, 0x67, 0x67, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x61, 0x72, 0x67, 0x73, - 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x67, 0x67, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, - 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x61, 0x67, 0x67, 0x73, 0x74, 0x61, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, - 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x61, 0x67, 0x67, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x67, 0x67, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x67, 0x67, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x73, - 0x70, 0x6c, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x08, - 0x61, 0x67, 0x67, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x67, 0x67, 0x6e, - 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x61, 0x67, 0x67, 0x6e, 0x6f, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6e, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0x0a, 0x0c, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, - 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x67, - 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, - 0x61, 0x67, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdc, 0x02, 0x0a, 0x0a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x66, - 0x6e, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x66, - 0x6e, 0x6f, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x77, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x09, 0x77, 0x69, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, - 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x64, 0x65, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x18, 0x0a, 0x20, 0x01, + 0x74, 0x61, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x61, 0x67, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x57, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x66, 0x75, + 0x6e, 0x63, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, + 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x10, + 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6e, 0x63, + 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, + 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x73, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6d, 0x73, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x73, 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x09, 0x6d, 0x73, 0x66, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x03, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, @@ -29425,403 +33492,540 @@ var file_pg_query_proto_rawDesc = []byte{ 0x0a, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x72, 0x67, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x06, 0x4f, 0x70, 0x45, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x06, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x66, - 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x66, - 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, - 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, - 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, - 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, - 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, - 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, + 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, + 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, + 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x22, + 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, + 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, + 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, 0x65, 0x74, 0x73, 0x65, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, + 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, + 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xc2, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x4f, + 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x75, + 0x73, 0x65, 0x5f, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, 0x73, 0x65, + 0x4f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x02, 0x0a, 0x0a, 0x4e, 0x75, 0x6c, 0x6c, 0x49, 0x66, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x66, - 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x66, - 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x70, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x72, - 0x65, 0x74, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x72, - 0x65, 0x74, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, - 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x6c, 0x6f, 0x70, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x62, 0x6f, 0x6f, + 0x6c, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x02, 0x0a, 0x11, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x41, 0x72, - 0x72, 0x61, 0x79, 0x4f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6f, - 0x70, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x70, 0x6e, 0x6f, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x08, 0x6f, 0x70, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x68, - 0x61, 0x73, 0x68, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x68, 0x61, 0x73, 0x68, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, - 0x65, 0x67, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x6e, 0x65, 0x67, 0x66, 0x75, 0x6e, 0x63, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x73, 0x65, - 0x5f, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x75, 0x73, 0x65, 0x4f, 0x72, - 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x0a, 0x08, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x2e, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x6c, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, - 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x62, 0x6f, 0x6f, 0x6c, 0x6f, - 0x70, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xa9, 0x02, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x20, 0x0a, - 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x39, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, - 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x73, 0x75, - 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x65, - 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x05, - 0x0a, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x39, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, - 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x4c, 0x69, - 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, - 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, - 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x64, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x61, - 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x6c, - 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, - 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x43, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x75, 0x73, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x71, 0x5f, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, - 0x45, 0x71, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6c, - 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x12, 0x2b, 0x0a, - 0x09, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x61, - 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, - 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x73, 0x74, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, - 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x72, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0b, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0b, + 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x08, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xb5, 0x05, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, - 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x0b, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, - 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, - 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x2c, - 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0a, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x22, 0x93, 0x02, 0x0a, - 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, - 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, - 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, - 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, 0x69, 0x61, - 0x49, 0x4f, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x39, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x73, 0x75, 0x62, + 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x74, 0x65, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x49, 0x64, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x43, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x66, 0x69, 0x72, 0x73, 0x74, 0x43, 0x6f, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x48, 0x61, 0x73, 0x68, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x71, 0x5f, 0x66, 0x61, + 0x6c, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, + 0x77, 0x6e, 0x45, 0x71, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, + 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x12, + 0x2b, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0d, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x08, 0x73, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x2b, 0x0a, 0x09, + 0x70, 0x61, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, - 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xc1, 0x02, 0x0a, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x65, 0x72, - 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3a, - 0x0a, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x63, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x08, 0x70, 0x61, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, + 0x73, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61, + 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x22, 0x62, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x75, 0x62, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, - 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, - 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x0b, - 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x2a, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x73, 0x75, 0x62, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0xd5, 0x01, 0x0a, 0x0b, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x74, 0x6f, + 0x72, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x64, 0x65, 0x66, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x20, + 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x76, 0x61, 0x6c, 0x73, + 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x1e, + 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x22, 0x93, + 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, - 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x73, - 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, - 0x0a, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, - 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x2a, 0x0a, - 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, + 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, + 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, + 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xed, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x56, + 0x69, 0x61, 0x49, 0x4f, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x0c, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, + 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x63, 0x6f, 0x65, 0x72, + 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x02, 0x0a, 0x0f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, + 0x65, 0x72, 0x63, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x08, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0c, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x77, 0x74, 0x79, 0x70, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, - 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, - 0x6d, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2a, 0x0a, - 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x30, 0x0a, 0x06, 0x72, 0x63, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, - 0x6f, 0x70, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6f, 0x70, 0x6e, - 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, - 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x72, 0x67, 0x73, 0x12, 0x24, 0x0a, 0x05, - 0x72, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x61, 0x72, - 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, + 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, + 0x72, 0x6d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, + 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, + 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, + 0x67, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x61, 0x73, 0x65, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, - 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x61, - 0x6c, 0x65, 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x61, - 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x72, + 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x64, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, 0x73, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, - 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x63, 0x6f, 0x6c, 0x6c, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, - 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, - 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, - 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x0c, 0x43, + 0x61, 0x73, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, + 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, + 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, + 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x83, 0x02, 0x0a, 0x09, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, + 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, + 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, + 0x2a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, 0x0a, 0x07, 0x52, 0x6f, 0x77, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, - 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, 0x4c, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x52, 0x02, 0x6f, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe5, 0x02, 0x0a, 0x07, 0x58, 0x6d, - 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x6f, 0x77, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, + 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x30, 0x0a, 0x06, + 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, + 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x72, 0x63, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, + 0x0a, 0x05, 0x6f, 0x70, 0x6e, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6f, + 0x70, 0x6e, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x61, 0x72, 0x67, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x72, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, + 0x61, 0x72, 0x67, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, - 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, - 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, + 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x61, 0x6c, 0x65, + 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, + 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, + 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x65, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x45, 0x78, + 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x03, 0x78, 0x70, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, 0x61, 0x78, 0x63, 0x6f, + 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x6d, + 0x61, 0x78, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, + 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x02, 0x6f, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, - 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, - 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, + 0x01, 0x0a, 0x10, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x51, 0x4c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x52, + 0x02, 0x6f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x02, 0x0a, 0x07, + 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x23, 0x0a, 0x02, 0x6f, 0x70, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x72, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6e, 0x64, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0a, + 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x0b, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x08, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6b, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x79, 0x70, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, + 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 0x79, 0x70, + 0x6d, 0x6f, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, + 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0xf1, 0x02, 0x0a, 0x13, 0x4a, 0x73, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, + 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, + 0x72, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x2a, 0x0a, 0x08, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, + 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, + 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0x0a, 0x0f, + 0x4a, 0x73, 0x6f, 0x6e, 0x49, 0x73, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, + 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x35, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, + 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x42, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x63, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xfa, 0x05, 0x0a, 0x08, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, + 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, + 0x12, 0x24, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, + 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2c, + 0x0a, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x09, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x70, 0x61, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x5f, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x5f, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x75, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x75, 0x73, 0x65, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, + 0x6f, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x71, 0x75, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x23, + 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x2b, 0x0a, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x12, 0x24, 0x0a, 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x05, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x5f, 0x6d, 0x69, + 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x4d, 0x69, 0x6e, 0x12, + 0x17, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x4d, 0x61, 0x78, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4a, 0x73, 0x6f, + 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x69, + 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x72, + 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x08, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, @@ -29845,26 +34049,56 @@ var file_pg_query_proto_rawDesc = []byte{ 0x54, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x74, 0x65, 0x73, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, - 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, - 0x6d, 0x52, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, - 0x0a, 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x6f, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, + 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x0d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, 0x6e, 0x6f, + 0x73, 0x22, 0x98, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, + 0x52, 0x0e, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0x0a, + 0x13, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x54, 0x6f, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, + 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, @@ -29872,165 +34106,108 @@ var file_pg_query_proto_rawDesc = []byte{ 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x54, 0x6f, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, - 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x76, - 0x61, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x76, 0x61, 0x72, - 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x73, - 0x6f, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x60, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x65, 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x65, 0x71, 0x69, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x49, - 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x03, - 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, - 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, - 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, - 0x6c, 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x65, - 0x72, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, - 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x65, 0x73, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, - 0x65, 0x73, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, - 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, - 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, - 0x73, 0x6f, 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, - 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, - 0x73, 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6a, - 0x75, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, - 0x6e, 0x6b, 0x22, 0x27, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, - 0x66, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf8, 0x02, 0x0a, 0x08, - 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, - 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, - 0x4e, 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, - 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, - 0x31, 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, - 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, - 0x24, 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x71, 0x75, 0x61, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, - 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, - 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x4f, 0x66, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x76, 0x61, + 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x76, 0x61, 0x72, 0x6e, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x73, 0x6f, + 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x60, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, + 0x71, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x65, 0x71, 0x69, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x74, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x0d, 0x49, 0x6e, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x20, 0x0a, 0x03, 0x78, + 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, + 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6c, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x63, 0x6f, 0x6c, + 0x6c, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x6f, 0x70, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x65, 0x72, + 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x03, 0x78, 0x70, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x72, 0x65, 0x73, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x72, 0x65, + 0x73, 0x6e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, + 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x74, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x72, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, + 0x69, 0x67, 0x74, 0x62, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x73, + 0x6f, 0x72, 0x69, 0x67, 0x74, 0x62, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x72, + 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x73, + 0x6f, 0x72, 0x69, 0x67, 0x63, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, + 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x6a, 0x75, 0x6e, + 0x6b, 0x22, 0x27, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x52, 0x65, 0x66, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x72, 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xf8, 0x02, 0x0a, 0x08, 0x4a, + 0x6f, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, + 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4e, + 0x61, 0x74, 0x75, 0x72, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, + 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x31, + 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x24, - 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, + 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, - 0x75, 0x61, 0x6c, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0d, 0x61, - 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x73, - 0x12, 0x33, 0x0a, 0x0d, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, - 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, - 0x11, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x6c, 0x69, 0x63, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x78, 0x63, - 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x34, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x74, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, - 0x54, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xdb, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x03, 0x72, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x03, 0x72, 0x65, 0x6c, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6f, - 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, - 0x6f, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, - 0x10, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, - 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x76, 0x69, 0x65, - 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x44, - 0x61, 0x74, 0x61, 0x22, 0x9d, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x34, 0x0a, - 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, - 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, - 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2f, 0x0a, - 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, - 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6c, - 0x6e, 0x6f, 0x73, 0x22, 0x6f, 0x0a, 0x07, 0x52, 0x61, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, - 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x73, 0x74, - 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, - 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, - 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0xcd, 0x0e, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, + 0x75, 0x61, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, + 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, + 0x74, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5c, 0x0a, 0x08, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, + 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x05, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, + 0x61, 0x6c, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, + 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x32, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0d, 0x61, 0x72, + 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x73, 0x12, + 0x33, 0x0a, 0x0d, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x77, 0x68, 0x65, 0x72, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x62, 0x69, 0x74, 0x65, 0x72, 0x57, + 0x68, 0x65, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x53, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x11, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x57, 0x68, 0x65, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, + 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x34, + 0x0a, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x74, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x65, 0x78, 0x63, 0x6c, 0x52, 0x65, 0x6c, 0x54, + 0x6c, 0x69, 0x73, 0x74, 0x22, 0xc6, 0x0f, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, @@ -30074,750 +34251,1731 @@ var file_pg_query_proto_rawDesc = []byte{ 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x72, 0x65, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, - 0x74, 0x72, 0x65, 0x65, 0x12, 0x3a, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x72, 0x74, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x72, 0x74, 0x65, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, + 0x74, 0x72, 0x65, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x72, 0x6f, 0x6d, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, + 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x72, 0x65, 0x65, 0x12, 0x3a, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x14, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x14, 0x6d, 0x65, 0x72, 0x67, + 0x65, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x4a, 0x6f, 0x69, + 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x55, 0x73, 0x65, 0x4f, 0x75, 0x74, 0x65, 0x72, 0x4a, 0x6f, 0x69, - 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x16, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, - 0x69, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, + 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x52, 0x0a, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x0e, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, + 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x1d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, + 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, + 0x6c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x51, + 0x75, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x20, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x25, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x35, 0x0a, + 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x73, 0x12, 0x3c, 0x0a, + 0x12, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, + 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x2a, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0x90, 0x02, + 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x4f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x65, 0x74, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x65, 0x74, 0x6f, + 0x66, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, + 0x07, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, + 0x6f, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, 0x6f, + 0x64, 0x12, 0x31, 0x0a, 0x0c, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x61, 0x79, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, + 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x0a, 0x08, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x16, 0x0a, + 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x12, 0x29, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x78, 0x70, + 0x72, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x43, 0x61, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, + 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, + 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, + 0x67, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x08, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xc7, 0x03, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, + 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, + 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, + 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, + 0x6f, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x52, + 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x67, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, + 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, 0x0a, 0x06, 0x41, + 0x5f, 0x53, 0x74, 0x61, 0x72, 0x22, 0x6f, 0x0a, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x22, + 0x0a, 0x04, 0x6c, 0x69, 0x64, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x69, + 0x64, 0x78, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x04, 0x75, 0x69, 0x64, 0x78, 0x22, 0x63, 0x0a, 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0b, 0x41, + 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, + 0x6f, 0x6c, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x22, 0xdf, 0x01, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x6e, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, + 0x33, 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, + 0x5f, 0x64, 0x69, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, + 0x73, 0x52, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x12, + 0x25, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x05, 0x75, 0x73, 0x65, 0x4f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xca, 0x02, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, + 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x7d, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x73, + 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, + 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xf0, + 0x01, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, + 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2c, 0x0a, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, + 0x74, 0x22, 0x9b, 0x02, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x28, + 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, + 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x9e, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, + 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, + 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, + 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, + 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, + 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, + 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xec, 0x05, 0x0a, 0x09, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x30, 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, + 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, + 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x68, 0x61, 0x76, - 0x69, 0x6e, 0x67, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x51, 0x75, 0x61, 0x6c, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x1d, 0x20, 0x03, 0x28, + 0x52, 0x0a, 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x69, 0x64, 0x22, 0xe1, 0x02, 0x0a, 0x09, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x70, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, + 0x44, 0x69, 0x72, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, + 0x0e, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x52, 0x0e, 0x6e, 0x75, + 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xbc, 0x01, 0x0a, + 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, + 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x65, 0x66, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0x0a, 0x0d, + 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, + 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x73, 0x12, 0x38, + 0x0a, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, + 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0xce, 0x01, 0x0a, 0x0c, 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, + 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, + 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x37, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, - 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, + 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2f, 0x0a, + 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x12, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, + 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, + 0x69, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, + 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, + 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x64, 0x61, + 0x74, 0x75, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x65, + 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, + 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x70, + 0x70, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x35, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0x8a, 0x01, + 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x26, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, + 0x70, 0x65, 0x63, 0x52, 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xb9, 0x0a, 0x0a, 0x0d, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x65, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x52, 0x04, 0x65, 0x72, 0x65, 0x66, 0x12, 0x2b, 0x0a, 0x07, 0x72, 0x74, 0x65, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x07, 0x72, 0x74, + 0x65, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, + 0x6e, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x6c, 0x6f, + 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, + 0x6c, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0d, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x66, 0x6f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x3d, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2b, + 0x0a, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x6a, + 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x12, + 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x76, 0x61, 0x72, 0x73, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x76, 0x61, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x6c, 0x65, 0x66, + 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6a, 0x6f, 0x69, + 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, + 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, + 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, 0x69, 0x6e, + 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, 0x09, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x75, + 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, + 0x74, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x75, 0x6e, 0x63, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x32, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, + 0x75, 0x70, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, + 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, + 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x72, + 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, 0x6e, + 0x72, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x12, + 0x35, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x71, 0x75, 0x61, 0x6c, + 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x51, 0x75, 0x61, 0x6c, 0x73, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x65, 0x6c, + 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x69, 0x6e, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x22, 0xe0, 0x02, 0x0a, + 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, + 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x75, 0x6e, + 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, + 0x73, 0x12, 0x3c, 0x0a, 0x11, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x66, 0x75, + 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x87, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x0f, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x63, 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x72, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x12, + 0x74, 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6c, 0x65, 0x53, 0x6f, 0x72, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x71, 0x6f, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x65, 0x71, 0x6f, 0x70, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x72, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, + 0x6f, 0x72, 0x74, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, + 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, + 0x53, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x04, 0x0a, 0x0c, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, + 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, - 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x22, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x09, 0x72, 0x6f, 0x77, 0x5f, 0x6d, - 0x61, 0x72, 0x6b, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x77, 0x4d, - 0x61, 0x72, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x25, + 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, + 0x75, 0x6e, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x29, 0x0a, 0x11, 0x65, + 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, + 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0c, 0x69, 0x6e, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x73, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x73, 0x63, 0x12, 0x2f, 0x0a, 0x14, + 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, + 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x70, + 0x69, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x77, + 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, + 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x74, 0x69, 0x12, 0x38, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, 0x73, 0x74, + 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x44, 0x6f, + 0x77, 0x6e, 0x22, 0x6a, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x22, 0x0a, 0x04, 0x63, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, + 0x63, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, + 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, + 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, 0x73, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x32, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x12, 0x2f, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, + 0x01, 0x0a, 0x0f, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x03, 0x0a, 0x0e, 0x43, + 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x36, 0x0a, + 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x3e, 0x0a, 0x12, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, + 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, + 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, + 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, + 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x22, + 0x88, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, + 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x44, 0x65, 0x70, 0x73, 0x12, 0x3c, 0x0a, 0x12, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x74, 0x65, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x74, 0x65, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, + 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, + 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x74, 0x65, 0x63, + 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0d, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x3a, + 0x0a, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, + 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x0f, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x37, + 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x09, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, + 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x59, 0x0a, 0x11, 0x54, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x74, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x4d, 0x0a, 0x0c, 0x4a, + 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x76, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, + 0x72, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x03, 0x0a, 0x0c, 0x4a, + 0x73, 0x6f, 0x6e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x12, 0x24, 0x0a, 0x02, 0x6f, + 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x52, 0x02, 0x6f, + 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, + 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, + 0x70, 0x72, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, + 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, 0x28, 0x0a, 0x07, + 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x70, + 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x07, + 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2c, 0x0a, + 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x51, 0x75, 0x6f, + 0x74, 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, + 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, + 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x02, 0x0a, 0x09, + 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x28, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, - 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, - 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0xff, 0x02, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, + 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x04, 0x0a, 0x0f, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, + 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, + 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x74, 0x68, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x2f, 0x0a, + 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2c, + 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x51, 0x75, + 0x6f, 0x74, 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x6e, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x42, 0x65, 0x68, 0x61, + 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a, 0x0c, 0x4a, 0x73, + 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x0d, + 0x4a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, + 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x69, 0x71, + 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x0e, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, + 0x61, 0x6c, 0x61, 0x72, 0x45, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x11, 0x4a, 0x73, 0x6f, 0x6e, 0x53, + 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x2b, 0x0a, 0x04, + 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x01, 0x0a, 0x15, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, + 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, + 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, + 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, + 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, + 0x0a, 0x14, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, + 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, + 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, + 0x01, 0x0a, 0x19, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, + 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x26, + 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, + 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, + 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x52, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x4a, + 0x73, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, + 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, + 0x6e, 0x41, 0x67, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, + 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x03, + 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, + 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, + 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x12, 0x16, + 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x41, + 0x72, 0x72, 0x61, 0x79, 0x41, 0x67, 0x67, 0x12, 0x3e, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x73, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4a, 0x73, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x70, 0x72, 0x52, 0x03, 0x61, + 0x72, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x62, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, + 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x65, + 0x6e, 0x74, 0x5f, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x22, 0x6f, 0x0a, 0x07, 0x52, 0x61, + 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x73, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x6d, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x22, 0xff, 0x02, 0x0a, 0x0a, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x2f, + 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x48, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, + 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x10, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, + 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x48, 0x0a, 0x12, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x52, 0x10, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, + 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x90, 0x02, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, + 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x73, 0x69, - 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, - 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xbf, 0x02, 0x0a, 0x0a, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, + 0x22, 0xbf, 0x02, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, + 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, + 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x09, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x37, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3c, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x35, + 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xd3, 0x07, 0x0a, + 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, 0x0f, 0x64, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, + 0x0a, 0x69, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, - 0x0e, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, - 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x09, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x12, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0xd3, - 0x07, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x37, 0x0a, - 0x0f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x6f, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, - 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, - 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0d, - 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, + 0x65, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, - 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x73, 0x6f, 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, - 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, - 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, + 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x12, 0x31, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x64, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x68, 0x61, + 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0c, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x6f, + 0x72, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, - 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x10, - 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, - 0x12, 0x28, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x72, 0x61, - 0x72, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, - 0x72, 0x61, 0x72, 0x67, 0x22, 0x3a, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, - 0x22, 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0c, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, + 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x35, 0x0a, + 0x0b, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x43, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x6c, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x28, + 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, - 0x6d, 0x74, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, + 0x6d, 0x74, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x28, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x72, 0x61, + 0x72, 0x67, 0x22, 0xde, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, + 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, + 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, 0x72, 0x67, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, + 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0d, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, + 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, + 0x73, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x76, 0x61, 0x6c, 0x22, + 0xb0, 0x01, 0x0a, 0x0c, 0x50, 0x4c, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x53, 0x74, 0x6d, + 0x74, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x68, 0x72, + 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x61, + 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x61, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xb4, + 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6d, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x63, 0x6d, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, + 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, + 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x63, 0x75, 0x72, + 0x73, 0x65, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9a, 0x03, 0x0a, 0x09, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xa9, 0x02, 0x0a, 0x0d, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6d, 0x64, 0x12, 0x32, 0x0a, 0x07, - 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, - 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, + 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xc2, 0x01, 0x0a, 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x61, 0x72, 0x67, 0x73, 0x12, 0x30, 0x0a, + 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x64, 0x65, 0x66, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xde, 0x02, 0x0a, 0x10, - 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x26, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x61, - 0x72, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x61, 0x72, 0x67, 0x12, 0x22, - 0x0a, 0x04, 0x72, 0x61, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x61, - 0x72, 0x67, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, - 0x2f, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x06, + 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x2a, 0x0a, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, + 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x4e, 0x0a, 0x0a, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, + 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x0d, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, + 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, - 0x12, 0x35, 0x0a, 0x0e, 0x63, 0x6f, 0x6c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x73, 0x22, 0x9a, 0x03, 0x0a, - 0x09, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, - 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, - 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, - 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, - 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, - 0x6c, 0x65, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x69, - 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x65, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, - 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x5f, 0x72, + 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x65, 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, + 0x67, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x6f, 0x70, 0x74, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x03, 0x6f, 0x70, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, + 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, - 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x97, 0x02, 0x0a, 0x0d, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x6c, 0x65, - 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x65, 0x5f, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, - 0x65, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x70, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6f, 0x70, - 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, - 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x72, 0x12, - 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, - 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, - 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x0b, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x73, 0x0a, 0x1a, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, + 0x67, 0x65, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2b, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, + 0x02, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x22, 0xbd, 0x02, 0x0a, 0x08, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, - 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, - 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, - 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x22, 0xcb, 0x04, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6c, 0x74, 0x73, 0x12, - 0x33, 0x0a, 0x0d, 0x69, 0x6e, 0x68, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x68, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, - 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x33, 0x0a, 0x08, 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x72, - 0x74, 0x73, 0x70, 0x65, 0x63, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, - 0x6f, 0x66, 0x54, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, - 0x92, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x7f, 0x0a, - 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, - 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x96, - 0x01, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x36, 0x0a, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x6e, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x6e, 0x79, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x69, 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x69, 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xd2, 0x07, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x16, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x49, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, - 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x10, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x70, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, - 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, - 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, - 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x6c, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, - 0x10, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x69, - 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, 0x6c, 0x64, 0x5f, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x73, 0x75, 0x62, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x6f, 0x6c, - 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x64, - 0x65, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x12, 0x2e, - 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, - 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, - 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x22, 0xb9, 0x02, 0x0a, - 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, - 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, - 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x64, 0x65, 0x52, 0x07, 0x61, 0x74, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, + 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, + 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, + 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, - 0x0b, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, + 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x22, 0x94, + 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, - 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, - 0x73, 0x71, 0x6c, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x22, 0x9b, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, - 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, - 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x28, 0x0a, 0x07, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x06, 0x44, 0x6f, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x61, 0x72, 0x67, 0x73, 0x22, 0xde, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, - 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, - 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x90, 0x02, 0x0a, 0x08, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, - 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, + 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x04, + 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0a, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x69, + 0x6e, 0x68, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x68, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3a, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x08, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x70, 0x61, 0x72, 0x74, 0x73, 0x70, 0x65, + 0x63, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x66, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x6f, 0x66, 0x54, 0x79, + 0x70, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x6f, 0x6e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xfa, 0x09, 0x0a, 0x0a, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, + 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, + 0x69, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, - 0x73, 0x74, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x73, - 0x74, 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x32, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x6e, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0xbe, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, - 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, - 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, - 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, - 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x77, 0x69, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, - 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, + 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, - 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, - 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x50, 0x0a, 0x0c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6e, 0x0a, - 0x0a, 0x44, 0x72, 0x6f, 0x70, 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, - 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, - 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x6b, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7e, 0x0a, - 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x65, 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, - 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, 0x6d, 0x64, 0x22, 0x5d, 0x0a, - 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x64, 0x65, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, + 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, + 0x70, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, + 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, + 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x72, 0x52, 0x07, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x6b, 0x5f, 0x75, 0x70, 0x64, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, + 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, + 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0f, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x66, 0x6b, 0x5f, + 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, + 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, 0x6f, 0x70, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe1, 0x01, 0x0a, - 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x04, 0x69, 0x6e, - 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, - 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x5f, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, - 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, - 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, + 0x6f, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f, 0x6c, 0x64, + 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x12, 0x44, 0x72, 0x6f, + 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, + 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, + 0x13, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, + 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x22, 0x7f, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, + 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x58, + 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, + 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, - 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x69, - 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0c, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, + 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, + 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, + 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2d, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x15, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, + 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x14, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, + 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, 0x0a, 0x13, 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xa0, 0x02, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, + 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, + 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, + 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6d, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6d, 0x64, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, + 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, + 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, + 0xd7, 0x01, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, - 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, - 0x22, 0x94, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x26, 0x0a, 0x10, 0x56, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x3c, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xb6, 0x04, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, + 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, + 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x72, 0x0a, 0x0c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x04, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, @@ -30853,275 +36011,515 @@ var file_pg_query_proto_rawDesc = []byte{ 0x72, 0x72, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x22, 0xed, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x50, 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, - 0x70, 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x09, 0x70, 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6c, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6c, - 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x6c, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x74, 0x72, - 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x6c, 0x74, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x74, 0x6d, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x79, 0x0a, - 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, - 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, - 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x64, - 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x6e, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, - 0x77, 0x61, 0x69, 0x74, 0x22, 0x62, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, - 0x61, 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, - 0x65, 0x63, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x0b, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x65, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x45, 0x6c, 0x74, 0x73, 0x12, 0x24, 0x0a, - 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x22, 0x55, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, - 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, - 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, + 0x73, 0x74, 0x72, 0x72, 0x65, 0x6c, 0x22, 0xab, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x68, 0x65, 0x6e, + 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x68, + 0x65, 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, + 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, + 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x22, 0xed, 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x4c, 0x61, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x6c, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x70, + 0x6c, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6c, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6c, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x6c, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, 0x73, + 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x6c, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x22, 0x84, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x73, 0x74, 0x6d, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x79, 0x0a, 0x0d, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, - 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, - 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, - 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x5f, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, - 0x65, 0x66, 0x22, 0xf1, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, - 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, - 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x22, 0x86, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, - 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, + 0x73, 0x74, 0x6d, 0x74, 0x22, 0x54, 0x0a, 0x0c, 0x44, 0x72, 0x6f, 0x70, 0x52, 0x6f, 0x6c, 0x65, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xce, 0x01, 0x0a, 0x0d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, + 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, + 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x65, 0x71, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, + 0x61, 0x72, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x6f, + 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x92, 0x02, 0x0a, 0x0a, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6c, 0x64, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, + 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, - 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x2e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, + 0xdf, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, + 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, - 0x60, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, - 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, - 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, - 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, - 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x24, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x22, 0x73, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x24, 0x0a, 0x0e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x73, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6c, - 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xae, 0x01, - 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, - 0x63, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x5c, - 0x0a, 0x12, 0x44, 0x72, 0x6f, 0x70, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xeb, 0x01, 0x0a, - 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, - 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, - 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x15, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, + 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x70, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x70, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, + 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x64, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, + 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x8d, 0x02, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, + 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, + 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, 0x70, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, + 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6f, 0x70, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x69, 0x73, 0x44, 0x72, 0x6f, 0x70, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xdf, 0x01, + 0x0a, 0x08, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, - 0x6b, 0x22, 0xcf, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, + 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, + 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, + 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, + 0x94, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, + 0x71, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x7f, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, + 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x73, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x43, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, + 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6f, 0x72, + 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x31, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x50, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x36, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x61, 0x6e, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x07, 0x68, 0x6f, 0x77, 0x4d, 0x61, 0x6e, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, + 0x73, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x6d, + 0x6f, 0x76, 0x65, 0x22, 0xdc, 0x07, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x64, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x22, 0x73, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, - 0x41, 0x72, 0x67, 0x73, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, - 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x16, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x14, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, + 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4f, 0x70, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x69, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x28, 0x0a, + 0x10, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x69, + 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x1e, 0x6f, 0x6c, 0x64, 0x5f, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x75, 0x62, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x1b, 0x6f, 0x6c, 0x64, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x66, 0x69, 0x6c, 0x65, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x75, 0x62, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x6e, + 0x69, 0x71, 0x75, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x65, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x32, + 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, + 0x70, 0x63, 0x22, 0xa9, 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x78, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x43, + 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, 0x61, 0x74, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, + 0x61, 0x74, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xb9, 0x02, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, 0x75, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x64, + 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x66, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x69, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x11, 0x52, - 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x07, 0x6e, 0x65, 0x77, - 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x71, 0x6c, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x71, 0x6c, 0x5f, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, + 0x0a, 0x08, 0x61, 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x07, 0x61, 0x72, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x22, 0x9b, 0x01, 0x0a, + 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, + 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2c, 0x0a, 0x06, 0x44, 0x6f, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, + 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, 0x4f, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x6e, + 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x49, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, 0x94, 0x01, 0x0a, 0x08, 0x43, 0x61, + 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x61, + 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, + 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x66, 0x75, + 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, 0x67, 0x73, + 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, 0xde, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0a, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, + 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, + 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xeb, 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, + 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, + 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x1e, 0x0a, + 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xcf, 0x01, + 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x35, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x2e, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, + 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x22, + 0x73, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x66, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x90, 0x02, 0x0a, + 0x08, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, + 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x75, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x75, 0x6c, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, + 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, + 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, + 0x4c, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x32, 0x0a, + 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x34, 0x0a, 0x0c, 0x55, 0x6e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xda, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x07, @@ -31135,272 +36533,191 @@ var file_pg_query_proto_rawDesc = []byte{ 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x22, 0x66, 0x0a, 0x0f, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, - 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, - 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, - 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, - 0x56, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x6e, - 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, - 0x65, 0x77, 0x56, 0x61, 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x27, 0x0a, - 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x49, - 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, - 0x66, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x4e, 0x65, - 0x77, 0x56, 0x61, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x6d, 0x0a, 0x15, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x18, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x24, 0x0a, 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x64, 0x69, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x87, 0x01, 0x0a, 0x0d, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, - 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, - 0x64, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xdd, - 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x64, 0x77, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, - 0x01, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x20, 0x0a, - 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xaf, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, - 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x88, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7d, 0x0a, 0x13, - 0x44, 0x72, 0x6f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x89, 0x01, 0x0a, 0x1a, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x69, 0x73, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xe7, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, - 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x6f, 0x72, 0x69, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, - 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, - 0x61, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, - 0x74, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x91, 0x01, 0x0a, - 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x54, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, 0x74, - 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0xa0, 0x02, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, - 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x3f, 0x0a, 0x09, 0x6c, 0x69, 0x73, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, - 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, + 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x75, 0x6d, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6c, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x65, + 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x65, 0x77, + 0x56, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x6e, + 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, + 0x65, 0x77, 0x56, 0x61, 0x6c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x27, 0x0a, + 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x49, + 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, + 0x66, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x66, 0x4e, 0x65, + 0x77, 0x56, 0x61, 0x6c, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x08, 0x56, + 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x12, + 0x28, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x7f, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, - 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x08, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x62, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x74, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa6, - 0x01, 0x0a, 0x1a, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x78, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x26, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x55, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x1c, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x43, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, + 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x22, 0x6e, 0x0a, 0x0a, 0x44, 0x72, 0x6f, 0x70, + 0x64, 0x62, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x28, + 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xab, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x68, 0x65, - 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, - 0x68, 0x65, 0x6e, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, - 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, - 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4e, 0x0a, 0x12, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x54, 0x72, 0x69, 0x67, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x74, - 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, - 0x72, 0x69, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x67, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x67, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, - 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, - 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x74, 0x6d, 0x74, - 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x0f, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, - 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, - 0x6d, 0x74, 0x22, 0x94, 0x02, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x76, 0x65, 0x12, - 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, - 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0xd7, 0x01, 0x0a, 0x0f, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x28, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, - 0x61, 0x72, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, - 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, - 0x75, 0x61, 0x6c, 0x12, 0x2e, 0x0a, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x46, 0x0a, 0x0f, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x73, + 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x52, 0x07, 0x73, 0x65, 0x74, 0x73, 0x74, 0x6d, 0x74, + 0x22, 0x83, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x6d, 0x74, + 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x7e, 0x0a, 0x0a, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, + 0x0a, 0x04, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x72, 0x65, + 0x6c, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x63, + 0x6d, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x76, 0x61, 0x63, + 0x75, 0x75, 0x6d, 0x63, 0x6d, 0x64, 0x22, 0x7c, 0x0a, 0x0e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x76, 0x61, + 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x76, 0x61, 0x5f, + 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x5d, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x28, 0x0a, 0x04, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, 0x74, 0x6f, 0x43, 0x6c, 0x61, + 0x75, 0x73, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x74, 0x6f, 0x12, 0x2e, 0x0a, 0x07, 0x6f, 0x62, 0x6a, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x73, 0x5f, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0e, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x74, + 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x4d, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x08, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, + 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x10, 0x0a, 0x0e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x22, 0x3c, 0x0a, + 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2d, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x08, 0x4c, + 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x77, + 0x61, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x77, 0x61, 0x69, + 0x74, 0x22, 0x62, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, + 0x53, 0x65, 0x74, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x0f, 0x63, + 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x66, 0x6f, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, + 0x6f, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x64, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x64, 0x65, 0x66, 0x22, + 0xf1, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x53, 0x74, + 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x66, 0x75, + 0x6e, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, + 0x67, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, + 0x6f, 0x75, 0x74, 0x22, 0xd9, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, @@ -31414,1197 +36731,384 @@ var file_pg_query_proto_rawDesc = []byte{ 0x2e, 0x0a, 0x05, 0x74, 0x6f, 0x73, 0x71, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x05, 0x74, 0x6f, 0x73, 0x71, 0x6c, 0x22, - 0x72, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6d, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x61, 0x6d, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0c, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x6d, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x74, - 0x79, 0x70, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x41, 0x6c, - 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x33, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0xa9, 0x02, - 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x53, 0x74, 0x6d, - 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2e, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x65, 0x78, - 0x70, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x78, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, - 0x6d, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x66, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x66, 0x5f, 0x6e, - 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x6c, 0x74, - 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, - 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x08, - 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, - 0x63, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x08, - 0x66, 0x75, 0x6e, 0x63, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x2e, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, - 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, - 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x61, 0x72, - 0x67, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x72, 0x67, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, + 0x74, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x56, 0x0a, 0x0e, 0x44, 0x65, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x61, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x0d, 0x44, 0x72, 0x6f, 0x70, 0x4f, + 0x77, 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, 0x61, 0x74, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74, 0x78, 0x73, 0x74, 0x61, - 0x74, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x41, 0x5f, 0x45, 0x78, - 0x70, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x5f, 0x45, 0x78, - 0x70, 0x72, 0x5f, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x05, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4f, 0x0a, 0x09, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x52, 0x65, 0x66, 0x12, 0x26, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x32, + 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, + 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, + 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x4f, 0x77, + 0x6e, 0x65, 0x64, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x0a, + 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x15, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x44, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x72, 0x79, + 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x0a, 0x08, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x52, 0x65, 0x66, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc7, 0x03, 0x0a, 0x08, 0x46, - 0x75, 0x6e, 0x63, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x64, 0x69, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x67, 0x67, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x67, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x61, 0x67, 0x67, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x52, 0x04, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x2a, - 0x0a, 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x67, 0x67, 0x5f, 0x77, 0x69, - 0x74, 0x68, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x67, - 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x67, - 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x67, 0x67, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x67, - 0x67, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x75, - 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x64, 0x69, 0x63, - 0x12, 0x36, 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x0a, 0x66, 0x75, - 0x6e, 0x63, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x08, 0x0a, 0x06, 0x41, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x22, 0x6f, - 0x0a, 0x09, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x6c, 0x69, 0x64, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x64, 0x78, 0x12, 0x22, 0x0a, 0x04, 0x75, - 0x69, 0x64, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x75, 0x69, 0x64, 0x78, 0x22, - 0x63, 0x0a, 0x0d, 0x41, 0x5f, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, - 0x72, 0x67, 0x12, 0x30, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x55, 0x0a, 0x0b, 0x41, 0x5f, 0x41, 0x72, 0x72, 0x61, 0x79, 0x45, - 0x78, 0x70, 0x72, 0x12, 0x2a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x09, - 0x52, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, - 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x76, 0x61, - 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, - 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x66, 0x12, - 0x26, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6e, 0x6f, 0x12, 0x1a, 0x0a, - 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6e, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x79, 0x0a, 0x08, 0x54, 0x79, 0x70, - 0x65, 0x43, 0x61, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, + 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x18, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xdf, 0x01, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x33, - 0x0a, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, - 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x52, 0x0a, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, - 0x64, 0x69, 0x72, 0x12, 0x39, 0x0a, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, 0x75, - 0x6c, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, - 0x52, 0x0c, 0x73, 0x6f, 0x72, 0x74, 0x62, 0x79, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x25, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x5f, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, - 0x75, 0x73, 0x65, 0x4f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xca, 0x02, 0x0a, 0x09, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x44, 0x65, 0x66, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, - 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, - 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, - 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x08, 0x73, 0x75, - 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x73, 0x75, - 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xf0, 0x01, - 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, - 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, - 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, - 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x77, 0x73, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2c, 0x0a, 0x09, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x6c, 0x69, 0x73, 0x74, - 0x22, 0xd6, 0x01, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, - 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x02, 0x0a, 0x0e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x07, - 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, - 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x64, 0x6f, 0x63, 0x65, 0x78, 0x70, 0x72, - 0x12, 0x28, 0x0a, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x07, 0x72, 0x6f, 0x77, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x43, 0x6f, 0x6c, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, - 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, - 0x6c, 0x6c, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2e, 0x0a, 0x0a, - 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x02, 0x0a, 0x08, 0x54, 0x79, 0x70, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, - 0x79, 0x70, 0x65, 0x4f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x65, 0x74, 0x6f, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x65, 0x74, 0x6f, 0x66, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x70, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x6d, - 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x74, 0x79, 0x70, 0x6d, 0x6f, - 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, 0x6f, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x79, 0x70, 0x65, 0x6d, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x0c, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x61, 0x72, 0x72, 0x61, 0x79, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x05, 0x0a, 0x09, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x6e, 0x68, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, - 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x30, - 0x0a, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x12, 0x36, 0x0a, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, - 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x56, 0x61, 0x72, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x53, 0x65, 0x71, - 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x63, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x63, 0x6f, 0x6c, 0x6c, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x4f, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x66, 0x64, - 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x66, 0x64, 0x77, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe1, 0x02, 0x0a, 0x09, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, - 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x70, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, - 0x70, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, - 0x72, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x6e, - 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x52, 0x0e, 0x6e, 0x75, 0x6c, 0x6c, - 0x73, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x43, 0x0a, 0x09, 0x53, 0x74, - 0x61, 0x74, 0x73, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, - 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x22, - 0xde, 0x09, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x2e, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x66, 0x65, - 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, - 0x66, 0x65, 0x72, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x69, 0x74, - 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x69, 0x6e, 0x69, 0x74, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, - 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x12, 0x2a, - 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, - 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x12, 0x26, 0x0a, 0x0e, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x77, 0x68, 0x65, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x77, 0x68, 0x65, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x12, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x2c, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, - 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x74, 0x62, 0x6c, 0x73, 0x70, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x62, 0x6c, 0x73, - 0x70, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, - 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, - 0x72, 0x52, 0x07, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x6b, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x6b, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x70, 0x6b, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x6b, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x6b, 0x5f, 0x75, 0x70, 0x64, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, - 0x6b, 0x5f, 0x75, 0x70, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, - 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0f, 0x66, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x66, 0x6b, 0x5f, - 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, - 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, 0x6f, 0x70, 0x18, 0x1b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x70, 0x66, 0x65, 0x71, - 0x6f, 0x70, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6f, 0x6c, 0x64, - 0x5f, 0x70, 0x6b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0f, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x22, 0xbc, 0x01, 0x0a, 0x07, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, - 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x03, 0x61, 0x72, - 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x35, 0x0a, 0x09, - 0x64, 0x65, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x44, 0x65, 0x66, 0x45, 0x6c, - 0x65, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x65, 0x66, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xf9, 0x0b, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x2b, 0x0a, 0x07, 0x72, 0x74, 0x65, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x54, - 0x45, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x07, 0x72, 0x74, 0x65, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x65, 0x6c, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, - 0x65, 0x6c, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, - 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x6c, 0x6f, 0x63, 0x6b, 0x6d, 0x6f, 0x64, 0x65, - 0x12, 0x3d, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, - 0x2b, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x08, 0x73, 0x75, 0x62, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x10, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, - 0x6a, 0x6f, 0x69, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0e, 0x6a, 0x6f, 0x69, 0x6e, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x63, 0x6f, 0x6c, 0x73, - 0x12, 0x34, 0x0a, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x76, 0x61, 0x72, - 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x76, 0x61, 0x72, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x6c, 0x65, - 0x66, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x6a, 0x6f, - 0x69, 0x6e, 0x6c, 0x65, 0x66, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x6a, 0x6f, - 0x69, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0d, 0x6a, 0x6f, 0x69, 0x6e, 0x72, 0x69, 0x67, 0x68, 0x74, 0x63, 0x6f, 0x6c, 0x73, - 0x12, 0x3b, 0x0a, 0x10, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x10, 0x6a, 0x6f, 0x69, - 0x6e, 0x5f, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2c, 0x0a, - 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, - 0x75, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x66, 0x75, 0x6e, 0x63, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x52, 0x09, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x32, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, - 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x73, 0x75, 0x70, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x73, 0x75, 0x70, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x08, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x63, 0x6f, - 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, - 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0d, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x65, 0x6e, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, - 0x72, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x65, - 0x6e, 0x72, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, - 0x23, 0x0a, 0x04, 0x65, 0x72, 0x65, 0x66, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x04, - 0x65, 0x72, 0x65, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, - 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x10, - 0x0a, 0x03, 0x69, 0x6e, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x69, 0x6e, 0x68, - 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6c, 0x18, 0x1e, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6c, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x73, - 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x50, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, - 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x41, 0x73, 0x55, 0x73, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, - 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x6f, 0x6c, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x24, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x74, 0x72, 0x61, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x6f, 0x6c, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x61, 0x6c, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x10, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x62, 0x6c, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x65, 0x78, 0x70, 0x72, 0x12, 0x22, 0x0a, 0x0c, - 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x63, - 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, - 0x12, 0x3c, 0x0a, 0x11, 0x66, 0x75, 0x6e, 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x11, 0x66, 0x75, 0x6e, - 0x63, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x87, - 0x01, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x6d, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x65, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x0f, 0x57, 0x69, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x70, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x71, 0x75, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, - 0x61, 0x73, 0x63, 0x61, 0x64, 0x65, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x53, 0x6f, 0x72, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x12, 0x74, - 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, - 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x6c, 0x65, 0x53, 0x6f, 0x72, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x71, 0x6f, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x65, 0x71, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x6f, 0x72, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x6f, - 0x72, 0x74, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, 0x5f, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 0x73, - 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, - 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x19, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x04, 0x0a, 0x0c, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x72, 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, - 0x65, 0x66, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x12, 0x31, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x66, 0x72, 0x61, - 0x6d, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x0a, - 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x09, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x0d, 0x72, - 0x75, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, - 0x29, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x66, 0x75, 0x6e, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x65, 0x6e, 0x64, 0x49, - 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x6e, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x12, 0x20, - 0x0a, 0x0c, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x73, 0x63, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x73, 0x63, - 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6c, - 0x6c, 0x73, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x46, 0x69, 0x72, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x72, 0x65, 0x66, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x70, - 0x69, 0x65, 0x64, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xc2, 0x01, 0x0a, - 0x0e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, - 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x62, 0x6a, - 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x61, - 0x72, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, 0x63, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x66, 0x75, 0x6e, - 0x63, 0x61, 0x72, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x61, 0x72, 0x67, 0x73, 0x5f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x22, 0x4e, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x69, 0x76, 0x12, - 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x76, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, - 0x04, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x6c, - 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x57, 0x69, 0x74, 0x68, 0x41, 0x72, 0x67, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x0c, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x66, 0x67, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x24, 0x0a, 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x2e, 0x0a, - 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, - 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x7e, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x69, - 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x08, 0x61, - 0x72, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x52, 0x07, 0x61, 0x72, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, - 0x28, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x78, 0x70, 0x72, 0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0b, 0x6c, - 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x08, - 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, 0x73, 0x74, - 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0xb7, 0x01, 0x0a, 0x0d, 0x52, 0x6f, 0x77, 0x4d, 0x61, 0x72, 0x6b, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x72, 0x74, 0x69, 0x12, 0x38, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x08, 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, - 0x39, 0x0a, 0x0b, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0a, - 0x77, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, - 0x73, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0c, - 0x58, 0x6d, 0x6c, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x09, - 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x17, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x58, 0x6d, 0x6c, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x78, 0x6d, 0x6c, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x0a, 0x57, 0x69, 0x74, 0x68, 0x43, 0x6c, 0x61, 0x75, - 0x73, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x63, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x04, 0x63, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, - 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x75, 0x72, - 0x73, 0x69, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa7, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x2f, 0x0a, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x45, 0x6c, 0x65, 0x6d, - 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, + 0x05, 0x64, 0x69, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x22, 0x9f, 0x01, 0x0a, + 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x32, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x1a, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x49, 0x6e, - 0x66, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x65, 0x72, - 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x75, 0x73, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, 0x72, 0x65, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc9, 0x01, 0x0a, 0x0f, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, - 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x32, - 0x0a, 0x14, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, - 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x64, 0x74, 0x68, 0x5f, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, - 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x03, 0x0a, - 0x0e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, - 0x36, 0x0a, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, - 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x10, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x3e, 0x0a, 0x12, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x12, 0x63, - 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, - 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, - 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x74, 0x79, 0x70, - 0x6d, 0x6f, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, - 0x6b, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x14, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x63, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x6e, 0x65, 0x6f, - 0x70, 0x22, 0x88, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x74, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x34, 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x63, 0x6f, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x0f, 0x63, 0x74, 0x65, 0x6d, 0x61, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x74, 0x65, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x63, 0x74, 0x65, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, - 0x63, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x54, 0x45, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x63, 0x6c, - 0x61, 0x75, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x74, 0x65, 0x72, 0x65, 0x63, 0x75, 0x72, - 0x73, 0x69, 0x76, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, 0x66, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x74, 0x65, 0x72, 0x65, - 0x66, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, 0x74, 0x65, - 0x63, 0x6f, 0x6c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x63, 0x74, 0x65, 0x63, - 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x63, - 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x74, - 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x0d, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x74, 0x79, 0x70, 0x6d, 0x6f, 0x64, 0x73, - 0x12, 0x3a, 0x0a, 0x10, 0x63, 0x74, 0x65, 0x63, 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x10, 0x63, 0x74, 0x65, 0x63, - 0x6f, 0x6c, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x9e, 0x02, 0x0a, - 0x0f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x57, 0x68, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x11, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x43, 0x6d, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x34, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x76, 0x0a, - 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x6f, 0x6c, - 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x59, 0x0a, 0x11, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x15, - 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x54, 0x61, 0x62, 0x6c, 0x65, - 0x22, 0xbb, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6c, - 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x63, 0x6f, - 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x63, - 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, - 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x2f, 0x0a, 0x0b, 0x70, - 0x61, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0x0a, 0x12, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x69, - 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x64, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, - 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x75, 0x6d, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, - 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x64, 0x61, 0x74, 0x75, - 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x64, - 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x64, 0x61, - 0x74, 0x75, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x75, 0x70, 0x70, 0x65, - 0x72, 0x64, 0x61, 0x74, 0x75, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x12, 0x35, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, 0xbe, + 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, + 0x6a, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, + 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x70, + 0x75, 0x62, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x75, 0x62, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xb3, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x62, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x62, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, + 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6d, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, - 0x05, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x22, 0x7c, 0x0a, 0x0e, 0x56, 0x61, 0x63, 0x75, 0x75, 0x6d, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x6f, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x07, 0x76, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x73, + 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, + 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0xec, 0x01, 0x0a, 0x14, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x76, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x73, 0x22, - 0xbe, 0x01, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x75, - 0x62, 0x6f, 0x62, 0x6a, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, - 0x70, 0x75, 0x62, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x75, 0x62, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x56, 0x61, 0x72, 0x52, 0x08, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0c, 0x77, 0x68, 0x65, 0x72, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x75, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, - 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x77, 0x68, 0x65, - 0x72, 0x65, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, - 0x5f, 0x6f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6c, 0x61, 0x6e, 0x67, - 0x4f, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x69, 0x73, 0x5f, 0x74, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x61, - 0x6e, 0x67, 0x49, 0x73, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, - 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, - 0x6d, 0x69, 0x63, 0x22, 0x25, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x22, 0x94, 0x01, 0x0a, 0x09, 0x53, - 0x63, 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, - 0x12, 0x25, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x0f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x77, 0x6f, - 0x72, 0x64, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, - 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, - 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, - 0x64, 0x2a, 0x7f, 0x0a, 0x0e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, - 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, - 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, - 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, - 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, - 0x10, 0x03, 0x2a, 0x9b, 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x0d, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, - 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, - 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, - 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x53, 0x52, - 0x43, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, - 0x55, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4e, 0x4f, - 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, - 0x2a, 0x6d, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, - 0x15, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x52, 0x54, - 0x42, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, - 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x03, 0x12, 0x10, 0x0a, - 0x0c, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, - 0x73, 0x0a, 0x0b, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x1b, - 0x0a, 0x17, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, - 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, - 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, - 0x11, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, - 0x53, 0x54, 0x10, 0x03, 0x2a, 0x7e, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, - 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, - 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, - 0x52, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x51, - 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, - 0x43, 0x54, 0x10, 0x03, 0x2a, 0xb6, 0x02, 0x0a, 0x0b, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4b, - 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x10, 0x0a, - 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, - 0x10, 0x0a, 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, - 0x4e, 0x43, 0x54, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x05, 0x12, 0x10, 0x0a, - 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0x06, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x0e, 0x0a, - 0x0a, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x08, 0x12, 0x0f, 0x0a, - 0x0b, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x09, 0x12, 0x11, - 0x0a, 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, - 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, - 0x45, 0x4e, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x41, - 0x45, 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, - 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0e, 0x2a, 0xa8, 0x01, - 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, - 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, - 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, - 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, - 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, - 0x53, 0x50, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, - 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x05, 0x2a, 0xf4, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x62, - 0x6c, 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, - 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, - 0x1d, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, - 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x12, 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, - 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, - 0x53, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, - 0x53, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, - 0x45, 0x44, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, - 0x54, 0x59, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, - 0x53, 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, - 0x49, 0x43, 0x53, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x0a, 0x2a, - 0x76, 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x46, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x53, - 0x45, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, - 0x41, 0x44, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, - 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0xac, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, - 0x69, 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, - 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, - 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, - 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, - 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, - 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, - 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xbd, 0x01, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x4b, 0x69, - 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, - 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, - 0x54, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, - 0x08, 0x52, 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, - 0x54, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, - 0x0d, 0x52, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x10, 0x05, - 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x06, - 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x5f, 0x43, 0x54, 0x45, 0x10, 0x07, 0x12, 0x17, 0x0a, - 0x13, 0x52, 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x53, - 0x54, 0x4f, 0x52, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x52, 0x45, - 0x53, 0x55, 0x4c, 0x54, 0x10, 0x09, 0x2a, 0xc4, 0x01, 0x0a, 0x07, 0x57, 0x43, 0x4f, 0x4b, 0x69, - 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x11, 0x57, 0x43, 0x4f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x43, 0x4f, - 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x18, 0x0a, - 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, - 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, - 0x4c, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, - 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, - 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1e, 0x0a, - 0x1a, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1e, 0x0a, - 0x1a, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x2a, 0xaa, 0x01, - 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, - 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, - 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, - 0x45, 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, - 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, - 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x42, - 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x53, 0x10, 0x05, 0x2a, 0x7c, 0x0a, 0x0e, 0x43, 0x54, - 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x18, - 0x43, 0x54, 0x45, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x54, - 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x10, 0x02, 0x12, - 0x17, 0x0a, 0x13, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x4e, 0x65, 0x76, 0x65, 0x72, 0x10, 0x03, 0x2a, 0x73, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x4f, + 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, + 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, + 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x6e, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, + 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x14, 0x44, 0x72, 0x6f, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, + 0x62, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x6f, 0x6b, 0x12, 0x32, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x2e, 0x44, 0x72, 0x6f, 0x70, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, + 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x09, 0x53, 0x63, + 0x61, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, + 0x25, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x0c, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, + 0x64, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, + 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, + 0x69, 0x6e, 0x64, 0x52, 0x0b, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, + 0x22, 0x9e, 0x07, 0x0a, 0x0d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x67, 0x5f, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x74, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x74, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x67, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4b, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, + 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x96, 0x01, 0x0a, 0x05, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x3a, + 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9f, 0x01, 0x0a, 0x08, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x39, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x67, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x1a, 0x66, 0x0a, 0x0c, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x3b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4d, 0x4c, 0x10, 0x02, 0x12, 0x07, + 0x0a, 0x03, 0x44, 0x44, 0x4c, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x61, 0x6c, 0x6c, 0x10, + 0x04, 0x2a, 0x9b, 0x01, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x10, 0x01, + 0x12, 0x0f, 0x0a, 0x0b, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, + 0x02, 0x12, 0x15, 0x0a, 0x11, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, + 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x51, 0x53, 0x52, 0x43, + 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, + 0x4c, 0x45, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x51, 0x53, 0x52, 0x43, 0x5f, 0x4e, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x05, 0x2a, + 0x6d, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x15, + 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4f, 0x52, 0x54, 0x42, + 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, + 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, + 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, + 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a, 0x73, + 0x0a, 0x0b, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x4e, 0x75, 0x6c, 0x6c, 0x73, 0x12, 0x1b, 0x0a, + 0x17, 0x53, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x4f, + 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, + 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x4f, 0x52, 0x54, 0x42, 0x59, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x53, + 0x54, 0x10, 0x03, 0x2a, 0x7e, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, + 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, + 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, + 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x51, 0x55, + 0x41, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, + 0x54, 0x10, 0x03, 0x2a, 0xb6, 0x02, 0x0a, 0x0b, 0x41, 0x5f, 0x45, 0x78, 0x70, 0x72, 0x5f, 0x4b, + 0x69, 0x6e, 0x64, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, + 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x10, + 0x0a, 0x0c, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x03, + 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, + 0x43, 0x54, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, + 0x54, 0x5f, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, + 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0x06, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4e, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, + 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, + 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0x09, 0x12, 0x11, 0x0a, + 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x0a, + 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, + 0x4e, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x45, + 0x58, 0x50, 0x52, 0x5f, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, + 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x42, + 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x59, 0x4d, 0x10, 0x0e, 0x2a, 0xa8, 0x01, 0x0a, + 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, + 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x55, + 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, + 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, + 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x4c, 0x45, 0x53, + 0x50, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x05, 0x2a, 0xf4, 0x02, 0x0a, 0x0f, 0x54, 0x61, 0x62, 0x6c, + 0x65, 0x4c, 0x69, 0x6b, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, + 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, + 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, + 0x21, 0x0a, 0x1d, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, + 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, + 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, + 0x59, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, + 0x10, 0x07, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, 0x49, + 0x43, 0x53, 0x10, 0x08, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x10, 0x09, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x0a, 0x2a, 0x76, + 0x0a, 0x0d, 0x44, 0x65, 0x66, 0x45, 0x6c, 0x65, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x19, 0x44, 0x45, 0x46, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x53, 0x45, + 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, 0x41, + 0x44, 0x44, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x45, 0x46, 0x45, 0x4c, 0x45, 0x4d, 0x5f, + 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x8d, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x20, 0x0a, 0x1c, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, + 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, + 0x0a, 0x17, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, + 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, + 0x59, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x41, 0x52, + 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, + 0x48, 0x41, 0x53, 0x48, 0x10, 0x03, 0x2a, 0xac, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x75, 0x6d, 0x4b, 0x69, + 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, + 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, + 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x41, + 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, + 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, + 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x55, 0x4d, 0x5f, 0x4d, 0x41, 0x58, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, 0xbd, 0x01, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x54, 0x45, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, 0x45, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, + 0x45, 0x5f, 0x53, 0x55, 0x42, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, + 0x52, 0x54, 0x45, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x54, + 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, + 0x52, 0x54, 0x45, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x10, 0x05, 0x12, + 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x10, 0x06, 0x12, + 0x0b, 0x0a, 0x07, 0x52, 0x54, 0x45, 0x5f, 0x43, 0x54, 0x45, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, + 0x52, 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x53, 0x54, + 0x4f, 0x52, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x10, 0x09, 0x2a, 0xc4, 0x01, 0x0a, 0x07, 0x57, 0x43, 0x4f, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x15, 0x0a, 0x11, 0x57, 0x43, 0x4f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x57, 0x43, 0x4f, 0x5f, + 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x43, + 0x48, 0x45, 0x43, 0x4b, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, + 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x03, + 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, + 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x1e, 0x0a, 0x1a, + 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, + 0x57, 0x43, 0x4f, 0x5f, 0x52, 0x4c, 0x53, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x2a, 0xaa, 0x01, 0x0a, + 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, + 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, + 0x45, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x47, + 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x42, 0x45, + 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x53, + 0x45, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x53, 0x10, 0x05, 0x2a, 0x7c, 0x0a, 0x0e, 0x43, 0x54, 0x45, + 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x43, + 0x54, 0x45, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x54, 0x45, + 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x10, 0x02, 0x12, 0x17, + 0x0a, 0x13, 0x43, 0x54, 0x45, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x4e, 0x65, 0x76, 0x65, 0x72, 0x10, 0x03, 0x2a, 0x65, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x51, + 0x75, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, + 0x4f, 0x54, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x14, 0x0a, 0x10, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x51, 0x55, 0x4f, + 0x54, 0x45, 0x53, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, + 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x53, 0x5f, 0x4f, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x2a, 0x97, + 0x01, 0x0a, 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, + 0x4a, 0x54, 0x43, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x4f, 0x52, 0x44, 0x49, 0x4e, 0x41, 0x4c, 0x49, + 0x54, 0x59, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x54, 0x43, 0x5f, 0x52, 0x45, 0x47, 0x55, + 0x4c, 0x41, 0x52, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x54, 0x43, 0x5f, 0x45, 0x58, 0x49, + 0x53, 0x54, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x54, 0x43, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x54, 0x43, 0x5f, + 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x73, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x4e, @@ -32690,963 +37194,1082 @@ var file_pg_query_proto_rawDesc = []byte{ 0x50, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x52, 0x4f, - 0x50, 0x5f, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0x02, 0x2a, 0x86, 0x0d, 0x0a, 0x0e, + 0x50, 0x5f, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0x02, 0x2a, 0x8c, 0x0c, 0x0a, 0x0e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, 0x01, - 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, - 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x6f, 0x56, 0x69, 0x65, 0x77, 0x10, - 0x03, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x5f, 0x43, 0x6f, - 0x6f, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4e, 0x6f, - 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, - 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, - 0x08, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x74, - 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, - 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x0b, 0x12, - 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x53, 0x65, - 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x0e, 0x12, 0x11, - 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, - 0x0f, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x10, 0x10, 0x12, 0x0f, 0x0a, 0x0b, 0x41, - 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x11, 0x12, 0x11, 0x0a, 0x0d, - 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x12, 0x12, - 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x10, 0x13, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, - 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x15, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x54, - 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x16, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x17, - 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x18, 0x12, 0x20, 0x0a, 0x1c, 0x41, - 0x54, 0x5f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x10, 0x19, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x1a, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, - 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x1b, 0x12, - 0x1c, 0x0a, 0x18, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, - 0x61, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x65, 0x10, 0x1c, 0x12, 0x13, 0x0a, - 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x10, 0x1d, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x1e, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, - 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x1f, 0x12, 0x12, 0x0a, 0x0e, - 0x41, 0x54, 0x5f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x10, 0x20, - 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, - 0x10, 0x21, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, - 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, 0x23, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x53, - 0x65, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, 0x24, 0x12, 0x0f, 0x0a, 0x0b, - 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x69, 0x64, 0x73, 0x10, 0x25, 0x12, 0x16, 0x0a, - 0x12, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x10, 0x26, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x54, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x10, 0x27, 0x12, 0x14, 0x0a, 0x10, 0x41, - 0x54, 0x5f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, - 0x28, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x29, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, - 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x10, 0x2a, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x69, 0x67, 0x10, 0x2b, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x54, 0x72, 0x69, 0x67, 0x10, 0x2c, 0x12, - 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x54, 0x72, 0x69, 0x67, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x10, 0x2e, 0x12, 0x14, 0x0a, - 0x10, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, - 0x6c, 0x10, 0x2f, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x30, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, - 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, - 0x31, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, - 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, 0x32, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x33, 0x12, 0x17, 0x0a, 0x13, - 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52, - 0x75, 0x6c, 0x65, 0x10, 0x34, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x35, 0x12, - 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x10, 0x36, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x68, - 0x65, 0x72, 0x69, 0x74, 0x10, 0x37, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, - 0x70, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x38, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x54, - 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x66, 0x10, 0x39, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x54, 0x5f, 0x44, - 0x72, 0x6f, 0x70, 0x4f, 0x66, 0x10, 0x3a, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x3b, 0x12, - 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x3c, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x10, 0x3d, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x46, 0x6f, 0x72, 0x63, 0x65, - 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x3e, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x54, 0x5f, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x3f, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x40, 0x12, - 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x41, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x44, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x42, 0x12, - 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x10, 0x43, 0x12, - 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x10, 0x44, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x45, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x44, 0x72, - 0x6f, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x46, 0x12, 0x16, 0x0a, 0x12, - 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x10, 0x47, 0x2a, 0x80, 0x01, 0x0a, 0x0f, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x47, 0x52, 0x41, 0x4e, - 0x54, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4c, - 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, - 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, - 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, 0x17, - 0x0a, 0x13, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, - 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x03, 0x2a, 0xa4, 0x01, 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x56, - 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, - 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, - 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, - 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, - 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x56, - 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x06, 0x2a, 0xdf, - 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, - 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x53, - 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, - 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, - 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, - 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, - 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, - 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x12, - 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, - 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x49, - 0x51, 0x55, 0x45, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, - 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x10, 0x0a, 0x12, - 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, - 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, - 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, - 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x0e, - 0x2a, 0x9c, 0x01, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, - 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, - 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x53, - 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x41, 0x4c, 0x4c, 0x10, - 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x10, - 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x2a, - 0x66, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x01, - 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x55, 0x53, 0x45, - 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, 0x2a, 0x7e, 0x0a, 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, - 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x54, - 0x43, 0x48, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x45, 0x54, 0x43, - 0x48, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, - 0x45, 0x54, 0x43, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, - 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, - 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x2a, 0xc2, 0x01, 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, - 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, - 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, - 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, - 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, 0x43, 0x10, 0x04, 0x12, 0x14, - 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x54, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, - 0x41, 0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x06, 0x2a, 0xbe, 0x02, 0x0a, - 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, - 0x54, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, - 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, - 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, - 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x05, 0x12, - 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x45, - 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x06, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, - 0x4f, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, - 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0x08, 0x12, 0x1e, 0x0a, 0x1a, 0x54, + 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x54, 0x6f, 0x56, 0x69, 0x65, 0x77, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x43, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x03, 0x12, 0x1a, + 0x0a, 0x16, 0x41, 0x54, 0x5f, 0x43, 0x6f, 0x6f, 0x6b, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, + 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, 0x05, 0x12, 0x11, + 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x10, + 0x06, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x44, 0x72, + 0x6f, 0x70, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x08, 0x12, 0x13, + 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4e, 0x6f, 0x74, 0x4e, 0x75, 0x6c, + 0x6c, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, + 0x53, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x0b, 0x12, 0x13, 0x0a, 0x0f, + 0x41, 0x54, 0x5f, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, + 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x10, 0x0d, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x0e, 0x12, 0x11, 0x0a, 0x0d, 0x41, + 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x10, 0x0f, 0x12, 0x0f, + 0x0a, 0x0b, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x10, 0x12, + 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x10, 0x11, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, + 0x65, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x13, + 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x14, 0x12, 0x16, + 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x10, 0x15, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, + 0x16, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x10, 0x17, 0x12, 0x15, 0x0a, 0x11, + 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x74, 0x10, 0x18, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, + 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x10, 0x1a, + 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x54, 0x5f, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x10, 0x1b, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x10, 0x1c, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x54, 0x5f, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x10, 0x1d, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, + 0x72, 0x6f, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x1e, 0x12, 0x10, 0x0a, 0x0c, + 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x10, 0x1f, 0x12, 0x12, + 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x55, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x65, 0x64, + 0x10, 0x20, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x69, 0x64, + 0x73, 0x10, 0x21, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x10, 0x22, 0x12, 0x14, 0x0a, 0x10, 0x41, + 0x54, 0x5f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x10, + 0x23, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x53, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x24, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x25, 0x12, + 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x6c, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x26, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x10, 0x27, 0x12, 0x17, 0x0a, 0x13, + 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x54, + 0x72, 0x69, 0x67, 0x10, 0x28, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x54, 0x72, 0x69, 0x67, 0x10, 0x29, 0x12, + 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, + 0x67, 0x10, 0x2a, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x41, 0x6c, 0x6c, 0x10, 0x2c, + 0x12, 0x15, 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, + 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, 0x2d, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x69, 0x67, 0x55, 0x73, 0x65, 0x72, 0x10, 0x2e, 0x12, + 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x30, 0x12, 0x18, 0x0a, 0x14, 0x41, + 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, + 0x75, 0x6c, 0x65, 0x10, 0x31, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x10, 0x32, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x54, 0x5f, + 0x41, 0x64, 0x64, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x33, 0x12, 0x12, 0x0a, 0x0e, + 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x10, 0x34, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x66, 0x10, 0x35, 0x12, 0x0d, + 0x0a, 0x09, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x66, 0x10, 0x36, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x10, 0x37, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x54, 0x5f, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x38, 0x12, + 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x6f, 0x77, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x39, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, + 0x5f, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x10, 0x3a, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x5f, 0x4e, 0x6f, 0x46, 0x6f, 0x72, 0x63, + 0x65, 0x52, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x10, 0x3b, 0x12, 0x15, + 0x0a, 0x11, 0x41, 0x54, 0x5f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x10, 0x3c, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x3d, 0x12, 0x16, 0x0a, + 0x12, 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x10, 0x3e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x54, 0x5f, 0x44, 0x65, 0x74, 0x61, + 0x63, 0x68, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x10, 0x3f, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, 0x41, 0x64, 0x64, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x40, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x54, 0x5f, + 0x53, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x41, 0x12, 0x13, 0x0a, + 0x0f, 0x41, 0x54, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x10, 0x42, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x54, 0x5f, 0x52, 0x65, 0x41, 0x64, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x10, 0x43, 0x2a, 0x80, 0x01, 0x0a, 0x0f, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x1b, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x11, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x43, 0x4c, 0x5f, 0x54, 0x41, 0x52, 0x47, + 0x45, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x03, 0x2a, 0xa4, 0x01, + 0x0a, 0x0f, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x4b, 0x69, 0x6e, + 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x41, 0x52, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x45, + 0x54, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x56, 0x41, + 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, + 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, + 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, + 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x41, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x41, + 0x4c, 0x4c, 0x10, 0x06, 0x2a, 0xdf, 0x02, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, + 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x4e, 0x55, 0x4c, + 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x44, 0x45, + 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x4f, 0x4e, 0x53, 0x54, + 0x52, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, + 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, + 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x43, 0x48, 0x45, + 0x43, 0x4b, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x50, + 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x53, + 0x54, 0x52, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x43, + 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x10, + 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x45, + 0x49, 0x47, 0x4e, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x0b, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x0c, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, + 0x5f, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x43, + 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, + 0x49, 0x41, 0x54, 0x45, 0x10, 0x0e, 0x2a, 0x9c, 0x01, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f, 0x52, + 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, + 0x46, 0x44, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, + 0x41, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x44, 0x57, 0x5f, 0x49, + 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x4c, 0x49, 0x4d, + 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x46, 0x44, 0x57, 0x5f, 0x49, + 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x45, 0x58, 0x43, + 0x45, 0x50, 0x54, 0x10, 0x03, 0x2a, 0x66, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x74, 0x6d, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x4f, 0x4c, 0x45, 0x5f, 0x53, 0x54, + 0x4d, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, + 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x4c, 0x45, 0x53, 0x54, + 0x4d, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x4c, + 0x45, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x03, 0x2a, 0x7e, 0x0a, + 0x0e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1d, 0x0a, 0x19, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, + 0x0a, 0x0d, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, + 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x57, + 0x41, 0x52, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, 0x43, 0x48, 0x5f, 0x41, + 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x45, 0x54, + 0x43, 0x48, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x2a, 0xc2, 0x01, + 0x0a, 0x15, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x55, 0x4e, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, + 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x10, + 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, + 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, + 0x52, 0x41, 0x4d, 0x5f, 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x46, + 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, + 0x49, 0x43, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, + 0x41, 0x4d, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, + 0x4e, 0x43, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, + 0x10, 0x06, 0x2a, 0xbe, 0x02, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x6d, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x54, 0x52, + 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x4b, + 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x42, 0x45, + 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, + 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x54, - 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, - 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, 0x0a, 0x2a, 0x7a, 0x0a, - 0x0f, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, - 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x19, - 0x0a, 0x15, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, - 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, 0x76, 0x0a, 0x0b, 0x44, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x53, 0x43, - 0x41, 0x52, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, - 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, - 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x53, 0x43, - 0x41, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x03, 0x12, - 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x10, - 0x04, 0x2a, 0xbd, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x49, 0x4e, 0x44, - 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, - 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x44, - 0x45, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, - 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, - 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x59, 0x53, 0x54, - 0x45, 0x4d, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, - 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, - 0x05, 0x2a, 0xef, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, - 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, - 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x41, 0x44, 0x44, - 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x4c, - 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, - 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, - 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, - 0x5f, 0x44, 0x49, 0x43, 0x54, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x4c, 0x54, 0x45, 0x52, - 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, - 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, - 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, - 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, - 0x47, 0x10, 0x05, 0x2a, 0xca, 0x01, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, - 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, - 0x4a, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x55, 0x42, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x5f, - 0x49, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, - 0x1f, 0x0a, 0x1b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, - 0x4a, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, - 0x2a, 0x7a, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, - 0x54, 0x45, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x41, 0x64, 0x64, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x50, 0x5f, 0x44, 0x72, 0x6f, 0x70, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, - 0x53, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x03, 0x2a, 0xd7, 0x02, 0x0a, - 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, - 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, - 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, - 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, - 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, - 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, - 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x44, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, - 0x12, 0x27, 0x0a, 0x23, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, - 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, 0x50, 0x55, 0x42, 0x4c, - 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x54, - 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x4b, 0x49, 0x50, 0x10, 0x08, 0x2a, 0x8c, 0x01, 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x4e, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, - 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, - 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x4e, 0x43, 0x4f, - 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, - 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, - 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x6f, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, - 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, + 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x54, + 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, + 0x49, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, + 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x06, 0x12, 0x1a, 0x0a, + 0x16, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, + 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x4f, 0x10, 0x07, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, + 0x08, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, + 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x5f, 0x53, 0x54, 0x4d, 0x54, 0x5f, + 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, + 0x44, 0x10, 0x0a, 0x2a, 0x7a, 0x0a, 0x0f, 0x56, 0x69, 0x65, 0x77, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x43, + 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x4f, 0x5f, 0x43, 0x48, + 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x44, + 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x2a, + 0x76, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, + 0x0a, 0x16, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, + 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x44, + 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0x02, 0x12, 0x15, + 0x0a, 0x11, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, + 0x43, 0x45, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, + 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x10, 0x04, 0x2a, 0xbd, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x1d, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, + 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, + 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, + 0x19, 0x0a, 0x15, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, + 0x54, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x45, + 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0x05, 0x2a, 0xef, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x74, 0x65, + 0x72, 0x54, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, + 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x01, + 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x5f, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, + 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x52, + 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x10, 0x03, 0x12, 0x29, 0x0a, + 0x25, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, + 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x43, 0x54, 0x5f, 0x46, 0x4f, 0x52, + 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4c, 0x54, 0x45, + 0x52, 0x5f, 0x54, 0x53, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x5f, + 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x2a, 0xca, 0x01, 0x0a, 0x16, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x53, 0x70, 0x65, 0x63, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x23, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, + 0x14, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, + 0x5f, 0x49, 0x4e, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, + 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x54, + 0x41, 0x42, 0x4c, 0x45, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x43, 0x55, 0x52, 0x5f, 0x53, 0x43, 0x48, + 0x45, 0x4d, 0x41, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x4f, 0x42, 0x4a, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x7a, 0x0a, 0x16, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x41, + 0x64, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, + 0x50, 0x5f, 0x44, 0x72, 0x6f, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x10, 0x02, 0x12, + 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x5f, 0x53, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x10, 0x03, 0x2a, 0xd7, 0x02, 0x0a, 0x15, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, + 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, + 0x53, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, + 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x54, + 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x26, + 0x0a, 0x22, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, + 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x52, 0x4f, + 0x50, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, + 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0x06, 0x12, + 0x1e, 0x0a, 0x1a, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, + 0x1b, 0x0a, 0x17, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x10, 0x08, 0x2a, 0x7f, 0x0a, 0x0e, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x69, 0x6e, 0x67, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, + 0x0a, 0x19, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4b, 0x49, 0x4e, + 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x12, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, + 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x02, + 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, + 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x2a, 0x8c, 0x01, + 0x0a, 0x0e, 0x4f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1e, 0x0a, 0x1a, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x4f, + 0x50, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, + 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x02, 0x12, + 0x18, 0x0a, 0x14, 0x4f, 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x45, 0x5f, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x4e, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x54, 0x0a, 0x0d, + 0x54, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x75, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, + 0x19, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x11, - 0x0a, 0x0d, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, - 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, - 0x45, 0x58, 0x50, 0x52, 0x10, 0x04, 0x2a, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x65, 0x72, 0x63, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, - 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, - 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, - 0x01, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, - 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, - 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x10, 0x03, - 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, - 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x04, 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x65, 0x72, - 0x63, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x45, 0x52, - 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, - 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, - 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, - 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, - 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, - 0x54, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x51, - 0x4c, 0x5f, 0x53, 0x59, 0x4e, 0x54, 0x41, 0x58, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x0c, 0x42, 0x6f, - 0x6f, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, - 0x4f, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4e, 0x44, 0x5f, - 0x45, 0x58, 0x50, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x50, - 0x52, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, - 0x03, 0x2a, 0xc5, 0x01, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x55, 0x42, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0e, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, - 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, - 0x4b, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, - 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, - 0x52, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, - 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x05, 0x12, 0x15, - 0x0a, 0x11, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, - 0x49, 0x4e, 0x4b, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x53, - 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x54, 0x45, 0x5f, - 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x08, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x6f, - 0x77, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, - 0x52, 0x4f, 0x57, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x54, 0x10, 0x01, 0x12, - 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x45, - 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, - 0x5f, 0x45, 0x51, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, - 0x41, 0x52, 0x45, 0x5f, 0x47, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, - 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x47, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x52, - 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4e, 0x45, 0x10, 0x06, 0x2a, 0x43, - 0x0a, 0x08, 0x4d, 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49, - 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x53, - 0x54, 0x10, 0x02, 0x2a, 0xad, 0x03, 0x0a, 0x12, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x51, - 0x4c, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x44, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, - 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x18, - 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x56, 0x46, 0x4f, - 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, - 0x41, 0x4d, 0x50, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, + 0x54, 0x46, 0x54, 0x5f, 0x58, 0x4d, 0x4c, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x12, + 0x0a, 0x0e, 0x54, 0x46, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x02, 0x2a, 0x6f, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4b, 0x69, 0x6e, 0x64, 0x12, + 0x18, 0x0a, 0x14, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x52, + 0x41, 0x4d, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x50, + 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x50, + 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x03, 0x12, 0x13, + 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, + 0x52, 0x10, 0x04, 0x2a, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x45, 0x52, 0x43, + 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, + 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x17, + 0x0a, 0x13, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, + 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x45, 0x52, 0x43, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x10, 0x03, 0x12, 0x15, 0x0a, + 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, + 0x49, 0x54, 0x10, 0x04, 0x2a, 0x90, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x65, 0x72, 0x63, 0x69, 0x6f, + 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x49, 0x4f, + 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, + 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, + 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, + 0x43, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, + 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x54, 0x10, 0x03, + 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x45, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x51, 0x4c, 0x5f, 0x53, + 0x59, 0x4e, 0x54, 0x41, 0x58, 0x10, 0x04, 0x2a, 0x55, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, + 0x78, 0x70, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, + 0x45, 0x58, 0x50, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4e, 0x44, 0x5f, 0x45, 0x58, 0x50, + 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x02, + 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x03, 0x2a, 0xc5, + 0x01, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x17, 0x53, 0x55, 0x42, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x45, + 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x01, 0x12, + 0x0f, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, + 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, + 0x03, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, + 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x50, + 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4d, + 0x55, 0x4c, 0x54, 0x49, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x53, 0x55, 0x42, 0x4c, 0x49, 0x4e, 0x4b, + 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x52, 0x41, 0x59, 0x5f, 0x53, 0x55, 0x42, 0x4c, + 0x49, 0x4e, 0x4b, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x54, 0x45, 0x5f, 0x53, 0x55, 0x42, + 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x08, 0x2a, 0xa2, 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x77, 0x43, 0x6f, + 0x6d, 0x70, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x4f, 0x57, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, + 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, + 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4c, 0x45, 0x10, 0x02, 0x12, + 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x45, 0x51, + 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, + 0x5f, 0x47, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, 0x4f, 0x4d, 0x50, + 0x41, 0x52, 0x45, 0x5f, 0x47, 0x54, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x57, 0x43, + 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x45, 0x5f, 0x4e, 0x45, 0x10, 0x06, 0x2a, 0x43, 0x0a, 0x08, 0x4d, + 0x69, 0x6e, 0x4d, 0x61, 0x78, 0x4f, 0x70, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x49, 0x4e, 0x5f, 0x4d, + 0x41, 0x58, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0x02, + 0x2a, 0xad, 0x03, 0x0a, 0x12, 0x53, 0x51, 0x4c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x51, 0x4c, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, + 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, + 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, + 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, + 0x45, 0x5f, 0x4e, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, - 0x5f, 0x4e, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, - 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x56, 0x46, - 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, 0x07, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, - 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x56, - 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, - 0x4d, 0x50, 0x5f, 0x4e, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, - 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x16, - 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, - 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x19, - 0x0a, 0x15, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, - 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, - 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, - 0x41, 0x10, 0x0f, 0x2a, 0xb2, 0x01, 0x0a, 0x09, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, - 0x70, 0x12, 0x19, 0x0a, 0x15, 0x58, 0x4d, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, - 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0x01, 0x12, 0x11, - 0x0a, 0x0d, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, - 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x46, 0x4f, 0x52, 0x45, 0x53, - 0x54, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, - 0x53, 0x45, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x49, - 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x52, 0x4f, 0x4f, 0x54, - 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, - 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x44, 0x4f, - 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x08, 0x2a, 0x5d, 0x0a, 0x0d, 0x58, 0x6d, 0x6c, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x58, 0x4d, 0x4c, - 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x58, 0x4d, 0x4c, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, - 0x12, 0x15, 0x0a, 0x11, 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x4a, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x54, - 0x65, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, - 0x54, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, - 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c, - 0x4c, 0x10, 0x02, 0x2a, 0x8e, 0x01, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x65, 0x73, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x45, 0x53, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x02, - 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x03, 0x12, 0x10, - 0x0a, 0x0c, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x04, - 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, - 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x06, 0x2a, 0xa3, 0x01, 0x0a, 0x07, 0x43, 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4d, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, - 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, - 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, - 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4d, 0x44, - 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, - 0x55, 0x54, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, - 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x08, 0x2a, 0xad, 0x01, 0x0a, 0x08, 0x4a, - 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x01, - 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x02, 0x12, - 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0e, - 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x04, 0x12, 0x0d, - 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4d, 0x49, 0x10, 0x05, 0x12, 0x0d, 0x0a, - 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, - 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x45, - 0x52, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, - 0x55, 0x45, 0x5f, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x2a, 0x67, 0x0a, 0x0b, 0x41, 0x67, - 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x47, 0x47, - 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x50, 0x4c, 0x41, - 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x4f, 0x52, 0x54, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x4d, 0x49, 0x58, 0x45, - 0x44, 0x10, 0x04, 0x2a, 0x72, 0x0a, 0x08, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, - 0x17, 0x0a, 0x13, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x47, 0x47, 0x53, - 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, - 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, - 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, - 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, - 0x45, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x03, 0x2a, 0x86, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x4f, - 0x70, 0x43, 0x6d, 0x64, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x43, - 0x4d, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x12, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x53, 0x45, 0x43, 0x54, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, - 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x4c, - 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, - 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x54, 0x4f, 0x50, - 0x43, 0x4d, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x04, - 0x2a, 0x52, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, - 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x53, 0x54, 0x52, 0x41, + 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, + 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, 0x4e, 0x10, + 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, + 0x54, 0x49, 0x4d, 0x45, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4e, 0x10, 0x07, 0x12, 0x18, 0x0a, + 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, + 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x56, 0x46, 0x4f, 0x50, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x5f, + 0x4e, 0x10, 0x09, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, + 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x16, 0x0a, 0x12, 0x53, + 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x10, 0x0b, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x10, 0x0c, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x53, 0x45, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x19, 0x0a, 0x15, 0x53, + 0x56, 0x46, 0x4f, 0x50, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x54, + 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x0e, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x56, 0x46, 0x4f, 0x50, 0x5f, + 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0x0f, + 0x2a, 0xb2, 0x01, 0x0a, 0x09, 0x58, 0x6d, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x12, 0x19, + 0x0a, 0x15, 0x58, 0x4d, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x53, 0x5f, + 0x58, 0x4d, 0x4c, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, + 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x10, + 0x0a, 0x0c, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x46, 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0x03, + 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, + 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x50, 0x49, 0x10, 0x05, 0x12, + 0x0e, 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x06, 0x12, + 0x13, 0x0a, 0x0f, 0x49, 0x53, 0x5f, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, + 0x5a, 0x45, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, + 0x45, 0x4e, 0x54, 0x10, 0x08, 0x2a, 0x5d, 0x0a, 0x0d, 0x58, 0x6d, 0x6c, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x58, 0x4d, 0x4c, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x58, 0x4d, 0x4c, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, + 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x74, 0x0a, 0x0c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x17, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x4e, 0x43, + 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, + 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, 0x5f, + 0x55, 0x54, 0x46, 0x38, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, 0x4e, 0x43, + 0x5f, 0x55, 0x54, 0x46, 0x31, 0x36, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x53, 0x5f, 0x45, + 0x4e, 0x43, 0x5f, 0x55, 0x54, 0x46, 0x33, 0x32, 0x10, 0x04, 0x2a, 0x70, 0x0a, 0x0e, 0x4a, 0x73, + 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, + 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, + 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x53, 0x5f, 0x46, 0x4f, + 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x42, 0x10, 0x03, 0x2a, 0xe8, 0x01, 0x0a, + 0x13, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x6f, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, + 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x43, + 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, + 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x41, 0x47, + 0x47, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, + 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x41, 0x47, 0x47, 0x10, 0x04, 0x12, 0x15, 0x0a, + 0x11, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, + 0x53, 0x45, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, + 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, + 0x4a, 0x53, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x49, + 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x07, 0x2a, 0x7a, 0x0a, 0x0d, 0x4a, 0x73, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, + 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0x03, 0x12, + 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, + 0x52, 0x10, 0x04, 0x2a, 0x73, 0x0a, 0x0b, 0x4a, 0x73, 0x6f, 0x6e, 0x57, 0x72, 0x61, 0x70, 0x70, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x57, 0x52, 0x41, 0x50, 0x50, + 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x4a, 0x53, 0x57, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x10, 0x01, 0x12, 0x0c, + 0x0a, 0x08, 0x4a, 0x53, 0x57, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, + 0x4a, 0x53, 0x57, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, + 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x53, 0x57, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x44, 0x49, + 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0xa4, 0x02, 0x0a, 0x10, 0x4a, 0x73, 0x6f, + 0x6e, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, + 0x1c, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, + 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, + 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, + 0x52, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, + 0x04, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, + 0x4f, 0x52, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, + 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, + 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x41, 0x52, 0x52, + 0x41, 0x59, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x45, 0x48, + 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x09, 0x2a, + 0x75, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x4f, 0x70, 0x12, 0x1a, 0x0a, + 0x16, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x5f, 0x4f, 0x50, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x5f, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x11, 0x0a, + 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x10, 0x02, + 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4f, + 0x50, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x4f, 0x50, 0x10, 0x04, 0x2a, 0x4a, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x54, 0x65, + 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x54, + 0x45, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, + 0x10, 0x02, 0x2a, 0x8e, 0x01, 0x0a, 0x0c, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x65, 0x73, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x42, 0x4f, 0x4f, 0x4c, 0x5f, 0x54, 0x45, 0x53, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x53, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x0f, + 0x0a, 0x0b, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x02, 0x12, + 0x0c, 0x0a, 0x08, 0x49, 0x53, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x03, 0x12, 0x10, 0x0a, + 0x0c, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x49, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x12, + 0x12, 0x0a, 0x0e, 0x49, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0x06, 0x2a, 0x94, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, + 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, + 0x57, 0x48, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x01, 0x12, 0x24, + 0x0a, 0x20, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x57, 0x48, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, + 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x57, 0x48, + 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, + 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x03, 0x2a, 0xa3, 0x01, 0x0a, 0x07, 0x43, + 0x6d, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x4d, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, + 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, + 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, + 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x43, 0x4d, 0x44, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, + 0x0d, 0x0a, 0x09, 0x43, 0x4d, 0x44, 0x5f, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0f, + 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x07, 0x12, + 0x0f, 0x0a, 0x0b, 0x43, 0x4d, 0x44, 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x08, + 0x2a, 0xc2, 0x01, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, + 0x13, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x49, + 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x4c, + 0x45, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x55, + 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, + 0x48, 0x54, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4d, + 0x49, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x54, 0x49, + 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, + 0x5f, 0x41, 0x4e, 0x54, 0x49, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, + 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x08, 0x12, 0x15, + 0x0a, 0x11, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x55, 0x4e, 0x49, 0x51, 0x55, 0x45, 0x5f, 0x49, 0x4e, + 0x4e, 0x45, 0x52, 0x10, 0x09, 0x2a, 0x67, 0x0a, 0x0b, 0x41, 0x67, 0x67, 0x53, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x48, 0x41, 0x53, 0x48, - 0x45, 0x44, 0x10, 0x02, 0x2a, 0x78, 0x0a, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, - 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x4e, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x4e, - 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, - 0x16, 0x0a, 0x12, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, - 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, - 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x77, - 0x0a, 0x0b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, - 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x49, 0x54, 0x48, - 0x5f, 0x54, 0x49, 0x45, 0x53, 0x10, 0x03, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, - 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, - 0x0a, 0x1e, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x43, 0x4c, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x54, - 0x52, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, - 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x45, 0x59, 0x53, 0x48, - 0x41, 0x52, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, - 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x43, 0x53, 0x5f, 0x46, - 0x4f, 0x52, 0x4e, 0x4f, 0x4b, 0x45, 0x59, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, - 0x11, 0x0a, 0x0d, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, - 0x10, 0x05, 0x2a, 0x68, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x41, 0x49, - 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x6b, 0x57, - 0x61, 0x69, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, - 0x6b, 0x57, 0x61, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x2a, 0x8e, 0x01, 0x0a, - 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, - 0x0a, 0x19, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, - 0x11, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, - 0x72, 0x65, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, - 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x6f, 0x63, 0x6b, - 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, - 0x6c, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x04, 0x2a, 0x7d, 0x0a, - 0x0b, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, - 0x4e, 0x4f, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x55, 0x4e, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, - 0x52, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, - 0x57, 0x4f, 0x52, 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, - 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, 0xe1, 0x37, 0x0a, - 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x55, 0x4c, 0x10, 0x00, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x33, 0x37, 0x10, 0x25, 0x12, 0x0c, 0x0a, - 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x30, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x41, - 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x31, 0x10, 0x29, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, - 0x49, 0x49, 0x5f, 0x34, 0x32, 0x10, 0x2a, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, - 0x5f, 0x34, 0x33, 0x10, 0x2b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, - 0x34, 0x10, 0x2c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x35, 0x10, - 0x2d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x36, 0x10, 0x2e, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x37, 0x10, 0x2f, 0x12, 0x0c, 0x0a, - 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x38, 0x10, 0x3a, 0x12, 0x0c, 0x0a, 0x08, 0x41, - 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x39, 0x10, 0x3b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, - 0x49, 0x49, 0x5f, 0x36, 0x30, 0x10, 0x3c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, - 0x5f, 0x36, 0x31, 0x10, 0x3d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, - 0x32, 0x10, 0x3e, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x33, 0x10, - 0x3f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x31, 0x10, 0x5b, 0x12, - 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x32, 0x10, 0x5c, 0x12, 0x0c, 0x0a, - 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x33, 0x10, 0x5d, 0x12, 0x0c, 0x0a, 0x08, 0x41, - 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x34, 0x10, 0x5e, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x44, 0x45, - 0x4e, 0x54, 0x10, 0x82, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, - 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x84, 0x02, 0x12, - 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x85, 0x02, 0x12, 0x0c, 0x0a, 0x07, - 0x55, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x86, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x87, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x58, 0x43, 0x4f, 0x4e, 0x53, - 0x54, 0x10, 0x88, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x70, 0x10, 0x89, 0x02, 0x12, 0x0b, 0x0a, - 0x06, 0x49, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x8a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x10, 0x8b, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x43, 0x41, - 0x53, 0x54, 0x10, 0x8c, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x4f, 0x54, 0x5f, 0x44, 0x4f, 0x54, - 0x10, 0x8d, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4c, 0x4f, 0x4e, 0x5f, 0x45, 0x51, 0x55, - 0x41, 0x4c, 0x53, 0x10, 0x8e, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, - 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10, 0x8f, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4c, - 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x90, 0x02, 0x12, 0x13, 0x0a, - 0x0e, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, - 0x91, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, - 0x10, 0x92, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x51, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, - 0x4e, 0x54, 0x10, 0x93, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, - 0x4e, 0x54, 0x10, 0x94, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x5f, 0x50, - 0x10, 0x95, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, - 0x50, 0x10, 0x96, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x97, - 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x98, 0x02, 0x12, 0x0a, - 0x0a, 0x05, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x10, 0x99, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x44, - 0x4d, 0x49, 0x4e, 0x10, 0x9a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, - 0x9b, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, - 0x9c, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x9d, 0x02, 0x12, 0x09, 0x0a, 0x04, - 0x41, 0x4c, 0x53, 0x4f, 0x10, 0x9e, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x4c, 0x54, 0x45, 0x52, - 0x10, 0x9f, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0xa0, 0x02, - 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x45, 0x10, 0xa1, 0x02, 0x12, 0x0c, - 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x5a, 0x45, 0x10, 0xa2, 0x02, 0x12, 0x08, 0x0a, 0x03, - 0x41, 0x4e, 0x44, 0x10, 0xa3, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0xa4, 0x02, - 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, 0xa5, 0x02, 0x12, 0x07, 0x0a, 0x02, - 0x41, 0x53, 0x10, 0xa6, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0xa7, 0x02, 0x12, - 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0xa8, 0x02, - 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xa9, 0x02, - 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xaa, - 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x59, 0x4d, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, - 0xab, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x4f, 0x4d, 0x49, 0x43, 0x10, 0xac, 0x02, 0x12, - 0x07, 0x0a, 0x02, 0x41, 0x54, 0x10, 0xad, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x54, 0x41, - 0x43, 0x48, 0x10, 0xae, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x45, 0x10, 0xaf, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, - 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb0, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x41, 0x43, - 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0xb1, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, - 0x52, 0x45, 0x10, 0xb2, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x5f, 0x50, - 0x10, 0xb3, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x10, 0xb4, - 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x47, 0x49, 0x4e, 0x54, 0x10, 0xb5, 0x02, 0x12, 0x0b, - 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0xb6, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x42, - 0x49, 0x54, 0x10, 0xb7, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, - 0x5f, 0x50, 0x10, 0xb8, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0xb9, 0x02, - 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, 0x48, 0x10, 0xba, 0x02, 0x12, 0x07, - 0x0a, 0x02, 0x42, 0x59, 0x10, 0xbb, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x41, 0x43, 0x48, 0x45, - 0x10, 0xbc, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0xbd, 0x02, 0x12, 0x0b, - 0x0a, 0x06, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xbe, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, - 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0xbf, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x41, 0x53, - 0x43, 0x41, 0x44, 0x45, 0x44, 0x10, 0xc0, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x45, - 0x10, 0xc1, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, 0x54, 0x10, 0xc2, 0x02, 0x12, 0x0e, - 0x0a, 0x09, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x50, 0x10, 0xc3, 0x02, 0x12, 0x0a, - 0x0a, 0x05, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0xc4, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x48, - 0x41, 0x52, 0x5f, 0x50, 0x10, 0xc5, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x48, 0x41, 0x52, 0x41, - 0x43, 0x54, 0x45, 0x52, 0x10, 0xc6, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x52, 0x41, - 0x43, 0x54, 0x45, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, 0x10, 0xc7, 0x02, 0x12, 0x0a, 0x0a, - 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0xc8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x48, 0x45, - 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xc9, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x10, 0xca, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, - 0xcb, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, 0xcc, 0x02, - 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x41, 0x4c, 0x45, 0x53, 0x43, 0x45, 0x10, 0xcd, 0x02, 0x12, - 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x45, 0x10, 0xce, 0x02, 0x12, 0x0e, 0x0a, - 0x09, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xcf, 0x02, 0x12, 0x0b, 0x0a, - 0x06, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0xd0, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, - 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0xd1, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0xd2, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, - 0x54, 0x53, 0x10, 0xd3, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, - 0xd4, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, - 0xd5, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x10, 0xd6, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x43, 0x55, 0x52, 0x52, 0x45, - 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xd7, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd8, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, - 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, 0xd9, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xda, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, - 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x10, 0xdb, 0x02, 0x12, 0x10, 0x0a, 0x0b, - 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x54, 0x53, 0x10, 0xdc, 0x02, 0x12, 0x0e, - 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xdd, 0x02, 0x12, 0x0f, - 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xde, 0x02, 0x12, - 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, - 0xdf, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, 0x50, 0x59, 0x10, 0xe0, 0x02, 0x12, 0x09, 0x0a, - 0x04, 0x43, 0x4f, 0x53, 0x54, 0x10, 0xe1, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x10, 0xe2, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0xe3, - 0x02, 0x12, 0x08, 0x0a, 0x03, 0x43, 0x53, 0x56, 0x10, 0xe4, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, - 0x55, 0x42, 0x45, 0x10, 0xe5, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, - 0x54, 0x5f, 0x50, 0x10, 0xe6, 0x02, 0x12, 0x14, 0x0a, 0x0f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, - 0x54, 0x5f, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0xe7, 0x02, 0x12, 0x11, 0x0a, 0x0c, - 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0xe8, 0x02, 0x12, - 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, - 0xe9, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x4d, 0x41, 0x10, 0xea, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, - 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0xeb, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x55, - 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, - 0xec, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x10, 0xed, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x55, 0x52, 0x53, 0x4f, 0x52, 0x10, - 0xee, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x10, 0xef, 0x02, 0x12, 0x0b, - 0x0a, 0x06, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x10, 0xf0, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, - 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, 0xf1, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x41, - 0x59, 0x5f, 0x50, 0x10, 0xf2, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x41, 0x4c, 0x4c, 0x4f, - 0x43, 0x41, 0x54, 0x45, 0x10, 0xf3, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x44, 0x45, 0x43, 0x10, 0xf4, - 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf5, - 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x10, 0xf6, 0x02, 0x12, - 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xf7, 0x02, 0x12, 0x0d, 0x0a, - 0x08, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x53, 0x10, 0xf8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, - 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xf9, 0x02, 0x12, 0x0d, 0x0a, - 0x08, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, 0x44, 0x10, 0xfa, 0x02, 0x12, 0x0c, 0x0a, 0x07, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x52, 0x10, 0xfb, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x50, 0x10, 0xfc, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x4c, - 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x10, 0xfd, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x4c, - 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x53, 0x10, 0xfe, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, - 0x50, 0x45, 0x4e, 0x44, 0x53, 0x10, 0xff, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x45, 0x50, 0x54, - 0x48, 0x10, 0x80, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x81, 0x03, 0x12, - 0x0b, 0x0a, 0x06, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, 0x10, 0x82, 0x03, 0x12, 0x0f, 0x0a, 0x0a, - 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x52, 0x59, 0x10, 0x83, 0x03, 0x12, 0x0e, 0x0a, - 0x09, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x84, 0x03, 0x12, 0x0c, 0x0a, - 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, 0x10, 0x85, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, - 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, 0x86, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x44, 0x4f, - 0x10, 0x87, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x50, 0x10, 0x88, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, - 0x10, 0x89, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, - 0x8a, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x52, 0x4f, 0x50, 0x10, 0x8b, 0x03, 0x12, 0x09, 0x0a, - 0x04, 0x45, 0x41, 0x43, 0x48, 0x10, 0x8c, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x45, 0x4c, 0x53, 0x45, - 0x10, 0x8d, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, - 0x8e, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x8f, - 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0x90, - 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x4e, 0x44, 0x5f, 0x50, 0x10, 0x91, 0x03, 0x12, 0x0b, 0x0a, - 0x06, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x10, 0x92, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x53, - 0x43, 0x41, 0x50, 0x45, 0x10, 0x93, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x56, 0x45, 0x4e, 0x54, - 0x10, 0x94, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x10, 0x95, 0x03, - 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0x96, 0x03, 0x12, 0x0e, - 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x97, 0x03, 0x12, 0x0e, - 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x10, 0x98, 0x03, 0x12, 0x0c, - 0x0a, 0x07, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x10, 0x99, 0x03, 0x12, 0x0b, 0x0a, 0x06, - 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x9a, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x50, - 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x9b, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x45, 0x58, 0x50, 0x52, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x9c, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x54, 0x45, - 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x9d, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x9e, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x54, 0x52, 0x41, - 0x43, 0x54, 0x10, 0x9f, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x5f, 0x50, - 0x10, 0xa0, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0xa1, 0x03, - 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0xa2, 0x03, 0x12, 0x0b, 0x0a, 0x06, - 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x49, 0x4e, - 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xa4, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x49, 0x52, 0x53, - 0x54, 0x5f, 0x50, 0x10, 0xa5, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x5f, - 0x50, 0x10, 0xa6, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x49, 0x4e, - 0x47, 0x10, 0xa7, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x46, 0x4f, 0x52, 0x10, 0xa8, 0x03, 0x12, 0x0a, - 0x0a, 0x05, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x10, 0xa9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, - 0x52, 0x45, 0x49, 0x47, 0x4e, 0x10, 0xaa, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57, - 0x41, 0x52, 0x44, 0x10, 0xab, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x52, 0x45, 0x45, 0x5a, 0x45, - 0x10, 0xac, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x46, 0x52, 0x4f, 0x4d, 0x10, 0xad, 0x03, 0x12, 0x09, - 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xae, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x55, 0x4e, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xaf, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x55, 0x4e, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xb0, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0xb1, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, - 0x41, 0x4c, 0x10, 0xb2, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, 0xb3, - 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0xb4, 0x03, 0x12, - 0x0d, 0x0a, 0x08, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xb5, 0x03, 0x12, 0x0c, - 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x10, 0xb6, 0x03, 0x12, 0x0d, 0x0a, 0x08, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xb7, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xb8, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x48, 0x41, 0x4e, 0x44, - 0x4c, 0x45, 0x52, 0x10, 0xb9, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x41, 0x56, 0x49, 0x4e, 0x47, - 0x10, 0xba, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x50, 0x10, - 0xbb, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0xbc, 0x03, 0x12, 0x0b, 0x0a, - 0x06, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x50, 0x10, 0xbd, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x44, - 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x10, 0xbe, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, - 0x46, 0x5f, 0x50, 0x10, 0xbf, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4c, 0x49, 0x4b, 0x45, 0x10, - 0xc0, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, - 0xc1, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0xc2, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, 0x50, - 0x10, 0xc3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x10, - 0xc4, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xc5, 0x03, 0x12, 0x0c, 0x0a, - 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0xc6, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, - 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xc7, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, - 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xc8, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, - 0x4e, 0x44, 0x45, 0x58, 0x10, 0xc9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x44, 0x45, 0x58, - 0x45, 0x53, 0x10, 0xca, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, - 0x10, 0xcb, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x53, 0x10, - 0xcc, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x10, - 0xcd, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xce, - 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xcf, 0x03, 0x12, - 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0xd0, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, - 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x50, 0x10, 0xd1, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x49, 0x4e, 0x53, - 0x45, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0xd2, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, - 0x4e, 0x53, 0x45, 0x52, 0x54, 0x10, 0xd3, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x54, - 0x45, 0x41, 0x44, 0x10, 0xd4, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x10, - 0xd5, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0xd6, 0x03, - 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0xd7, 0x03, - 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0xd8, 0x03, 0x12, - 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x54, 0x4f, 0x10, 0xd9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, - 0x56, 0x4f, 0x4b, 0x45, 0x52, 0x10, 0xda, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x53, 0x10, 0xdb, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0xdc, 0x03, 0x12, 0x0e, - 0x0a, 0x09, 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdd, 0x03, 0x12, 0x09, - 0x0a, 0x04, 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0xde, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x4b, 0x45, 0x59, - 0x10, 0xdf, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0xe0, 0x03, 0x12, - 0x0d, 0x0a, 0x08, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, 0x47, 0x45, 0x10, 0xe1, 0x03, 0x12, 0x0c, - 0x0a, 0x07, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x50, 0x10, 0xe2, 0x03, 0x12, 0x0b, 0x0a, 0x06, - 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x10, 0xe3, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x41, 0x54, - 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xe4, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x45, 0x41, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0xe5, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x45, 0x41, 0x4b, 0x50, - 0x52, 0x4f, 0x4f, 0x46, 0x10, 0xe6, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x53, 0x54, - 0x10, 0xe7, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0xe8, 0x03, 0x12, 0x0a, - 0x0a, 0x05, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xe9, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x49, - 0x4b, 0x45, 0x10, 0xea, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xeb, - 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x10, 0xec, 0x03, 0x12, 0x09, - 0x0a, 0x04, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0xed, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x4f, 0x43, - 0x41, 0x4c, 0x10, 0xee, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, - 0x4d, 0x45, 0x10, 0xef, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, - 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xf0, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x4f, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xf1, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, - 0x4b, 0x5f, 0x50, 0x10, 0xf2, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, - 0x10, 0xf3, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, 0x10, 0xf4, 0x03, - 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf5, 0x03, 0x12, 0x0a, - 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0xf6, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, - 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0xf7, 0x03, 0x12, 0x11, 0x0a, 0x0c, 0x4d, 0x41, 0x54, 0x45, - 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xf8, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4d, - 0x41, 0x58, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xf9, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x45, - 0x52, 0x47, 0x45, 0x10, 0xfa, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, - 0x10, 0xfb, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, - 0xfc, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xfd, - 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xfe, 0x03, 0x12, 0x0c, 0x0a, 0x07, - 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, 0x50, 0x10, 0xff, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, - 0x56, 0x45, 0x10, 0x80, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x10, - 0x81, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x82, 0x04, 0x12, 0x0d, - 0x0a, 0x08, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x83, 0x04, 0x12, 0x0c, 0x0a, - 0x07, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x41, 0x4c, 0x10, 0x84, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, - 0x43, 0x48, 0x41, 0x52, 0x10, 0x85, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x45, 0x57, 0x10, 0x86, - 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x45, 0x58, 0x54, 0x10, 0x87, 0x04, 0x12, 0x08, 0x0a, 0x03, - 0x4e, 0x46, 0x43, 0x10, 0x88, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x46, 0x44, 0x10, 0x89, 0x04, - 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x43, 0x10, 0x8a, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, - 0x46, 0x4b, 0x44, 0x10, 0x8b, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0x8c, 0x04, 0x12, - 0x09, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x8d, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x4f, - 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0x8e, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, - 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x8f, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, - 0x4f, 0x54, 0x10, 0x90, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, - 0x10, 0x91, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x59, 0x10, 0x92, 0x04, - 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x93, 0x04, 0x12, 0x0b, - 0x0a, 0x06, 0x4e, 0x4f, 0x57, 0x41, 0x49, 0x54, 0x10, 0x94, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, - 0x55, 0x4c, 0x4c, 0x5f, 0x50, 0x10, 0x95, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, - 0x49, 0x46, 0x10, 0x96, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x50, - 0x10, 0x97, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x98, - 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x10, 0x99, 0x04, - 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x46, 0x10, 0x9a, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x46, 0x46, - 0x10, 0x9b, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x10, 0x9c, 0x04, - 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x53, 0x10, 0x9d, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, - 0x4c, 0x44, 0x10, 0x9e, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0x9f, 0x04, 0x12, 0x09, - 0x0a, 0x04, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa0, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x50, 0x45, - 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xa1, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x50, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0xa2, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x53, - 0x10, 0xa3, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x52, 0x10, 0xa4, 0x04, 0x12, 0x0a, 0x0a, 0x05, - 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0xa5, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x52, 0x44, 0x49, - 0x4e, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0xa6, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x54, 0x48, - 0x45, 0x52, 0x53, 0x10, 0xa7, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x10, - 0xa8, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xa9, 0x04, - 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xaa, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, - 0x56, 0x45, 0x52, 0x4c, 0x41, 0x50, 0x53, 0x10, 0xab, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x56, - 0x45, 0x52, 0x4c, 0x41, 0x59, 0x10, 0xac, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x56, 0x45, 0x52, - 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xad, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, - 0x45, 0x44, 0x10, 0xae, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 0xaf, - 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, 0x52, 0x41, 0x4c, 0x4c, 0x45, 0x4c, 0x10, 0xb0, 0x04, - 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0xb1, 0x04, - 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0xb2, 0x04, 0x12, 0x0c, 0x0a, - 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0xb3, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, - 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb4, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, - 0x41, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0xb5, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, 0x53, - 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0xb6, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x43, - 0x49, 0x4e, 0x47, 0x10, 0xb7, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, - 0xb8, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xb9, 0x04, 0x12, - 0x0d, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xba, 0x04, 0x12, 0x0e, - 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xbb, 0x04, 0x12, 0x0e, - 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xbc, 0x04, 0x12, 0x0d, - 0x0a, 0x08, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x10, 0xbd, 0x04, 0x12, 0x0c, 0x0a, - 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x10, 0xbe, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, - 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, 0xbf, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, - 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0xc0, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x4f, - 0x52, 0x10, 0xc1, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, - 0x45, 0x53, 0x10, 0xc2, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, - 0x52, 0x41, 0x4c, 0x10, 0xc3, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, - 0x55, 0x52, 0x45, 0x10, 0xc4, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, - 0x55, 0x52, 0x45, 0x53, 0x10, 0xc5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x47, 0x52, - 0x41, 0x4d, 0x10, 0xc6, 0x04, 0x12, 0x10, 0x0a, 0x0b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc7, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x51, 0x55, 0x4f, 0x54, 0x45, - 0x10, 0xc8, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xc9, 0x04, 0x12, - 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0xca, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x45, - 0x41, 0x4c, 0x10, 0xcb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x41, 0x53, 0x53, 0x49, 0x47, - 0x4e, 0x10, 0xcc, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, - 0xcd, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, - 0xce, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, 0x46, 0x5f, 0x50, 0x10, 0xcf, 0x04, 0x12, 0x0f, - 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xd0, 0x04, 0x12, - 0x10, 0x0a, 0x0b, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x10, 0xd1, - 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x10, 0xd2, 0x04, 0x12, - 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, 0xd3, 0x04, 0x12, 0x0f, 0x0a, - 0x0a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x50, 0x10, 0xd4, 0x04, 0x12, 0x0c, - 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0xd5, 0x04, 0x12, 0x0b, 0x0a, 0x06, - 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xd6, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x50, - 0x45, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xd7, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, - 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0xd8, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, - 0x49, 0x43, 0x41, 0x10, 0xd9, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, - 0xda, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xdb, 0x04, - 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x10, 0xdc, 0x04, 0x12, - 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x10, 0xdd, 0x04, 0x12, 0x0e, 0x0a, 0x09, - 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xde, 0x04, 0x12, 0x0c, 0x0a, 0x07, - 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x53, 0x10, 0xdf, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, - 0x56, 0x4f, 0x4b, 0x45, 0x10, 0xe0, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x49, 0x47, 0x48, 0x54, - 0x10, 0xe1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0xe2, 0x04, 0x12, 0x0d, - 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, 0xe3, 0x04, 0x12, 0x0b, 0x0a, - 0x06, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0xe4, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x4f, - 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, 0xe5, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x55, 0x54, - 0x49, 0x4e, 0x45, 0x53, 0x10, 0xe6, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x52, 0x4f, 0x57, 0x10, 0xe7, - 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x57, 0x53, 0x10, 0xe8, 0x04, 0x12, 0x09, 0x0a, 0x04, - 0x52, 0x55, 0x4c, 0x45, 0x10, 0xe9, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x41, 0x56, 0x45, 0x50, - 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xea, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x48, 0x45, 0x4d, - 0x41, 0x10, 0xeb, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x53, 0x10, - 0xec, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0xed, 0x04, 0x12, - 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0xee, 0x04, 0x12, 0x0d, 0x0a, 0x08, - 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x50, 0x10, 0xef, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x53, - 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0xf0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, - 0x4c, 0x45, 0x43, 0x54, 0x10, 0xf1, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x51, 0x55, 0x45, - 0x4e, 0x43, 0x45, 0x10, 0xf2, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, - 0x43, 0x45, 0x53, 0x10, 0xf3, 0x04, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, - 0x49, 0x5a, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xf4, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x52, - 0x56, 0x45, 0x52, 0x10, 0xf5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x10, 0xf6, 0x04, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x55, 0x53, 0x45, 0x52, 0x10, 0xf7, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0xf8, - 0x04, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x45, 0x54, 0x53, 0x10, 0xf9, 0x04, 0x12, 0x0a, 0x0a, 0x05, - 0x53, 0x45, 0x54, 0x4f, 0x46, 0x10, 0xfa, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x48, 0x41, 0x52, - 0x45, 0x10, 0xfb, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0xfc, 0x04, 0x12, - 0x0c, 0x0a, 0x07, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0xfd, 0x04, 0x12, 0x0b, 0x0a, - 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0xfe, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4b, - 0x49, 0x50, 0x10, 0xff, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x49, 0x4e, - 0x54, 0x10, 0x80, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, - 0x10, 0x81, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4f, 0x4d, 0x45, 0x10, 0x82, 0x05, 0x12, 0x0a, - 0x0a, 0x05, 0x53, 0x51, 0x4c, 0x5f, 0x50, 0x10, 0x83, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x84, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x4e, 0x44, - 0x41, 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0x85, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, - 0x41, 0x52, 0x54, 0x10, 0x86, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x45, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x87, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, - 0x54, 0x49, 0x43, 0x53, 0x10, 0x88, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x44, 0x49, 0x4e, - 0x10, 0x89, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0x8a, 0x05, - 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x8b, 0x05, 0x12, 0x0b, - 0x0a, 0x06, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x8c, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, - 0x54, 0x52, 0x49, 0x43, 0x54, 0x5f, 0x50, 0x10, 0x8d, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, - 0x52, 0x49, 0x50, 0x5f, 0x50, 0x10, 0x8e, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x55, 0x42, 0x53, - 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x8f, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, - 0x55, 0x42, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x90, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, - 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x91, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x59, 0x4d, - 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x92, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x59, 0x53, - 0x49, 0x44, 0x10, 0x93, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, - 0x50, 0x10, 0x94, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x95, 0x05, - 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x96, 0x05, 0x12, 0x10, 0x0a, - 0x0b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x97, 0x05, 0x12, - 0x0f, 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x98, 0x05, - 0x12, 0x09, 0x0a, 0x04, 0x54, 0x45, 0x4d, 0x50, 0x10, 0x99, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, - 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x9a, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, - 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x9b, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x45, - 0x58, 0x54, 0x5f, 0x50, 0x10, 0x9c, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x48, 0x45, 0x4e, 0x10, - 0x9d, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, 0x45, 0x53, 0x10, 0x9e, 0x05, 0x12, 0x09, 0x0a, - 0x04, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x9f, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, - 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xa0, 0x05, 0x12, 0x07, 0x0a, 0x02, 0x54, 0x4f, 0x10, 0xa1, - 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0xa2, 0x05, - 0x12, 0x10, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0xa3, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, - 0xa4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x54, 0x52, 0x45, 0x41, 0x54, 0x10, 0xa5, 0x05, 0x12, 0x0c, - 0x0a, 0x07, 0x54, 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0xa6, 0x05, 0x12, 0x09, 0x0a, 0x04, - 0x54, 0x52, 0x49, 0x4d, 0x10, 0xa7, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x52, 0x55, 0x45, 0x5f, - 0x50, 0x10, 0xa8, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x52, 0x55, 0x4e, 0x43, 0x41, 0x54, 0x45, - 0x10, 0xa9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0xaa, - 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x10, 0xab, 0x05, 0x12, 0x0c, - 0x0a, 0x07, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xac, 0x05, 0x12, 0x0c, 0x0a, 0x07, - 0x55, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x10, 0xad, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x55, 0x4e, - 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x45, 0x44, 0x10, 0xae, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x55, 0x4e, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0xaf, 0x05, 0x12, 0x10, 0x0a, 0x0b, - 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0xb0, 0x05, 0x12, 0x0a, - 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0xb1, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4e, - 0x49, 0x51, 0x55, 0x45, 0x10, 0xb2, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0xb3, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x49, 0x53, 0x54, 0x45, - 0x4e, 0x10, 0xb4, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x4f, 0x47, 0x47, 0x45, 0x44, - 0x10, 0xb5, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x10, 0xb6, 0x05, 0x12, - 0x0b, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xb7, 0x05, 0x12, 0x09, 0x0a, 0x04, - 0x55, 0x53, 0x45, 0x52, 0x10, 0xb8, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x53, 0x49, 0x4e, 0x47, - 0x10, 0xb9, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x43, 0x55, 0x55, 0x4d, 0x10, 0xba, 0x05, - 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xbb, 0x05, 0x12, 0x0d, 0x0a, 0x08, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0xbc, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xbd, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xbe, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x4c, - 0x55, 0x45, 0x53, 0x10, 0xbf, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, 0x41, - 0x52, 0x10, 0xc0, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, 0x43, - 0x10, 0xc1, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xc2, - 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0xc3, 0x05, 0x12, - 0x0e, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xc4, 0x05, 0x12, - 0x09, 0x0a, 0x04, 0x56, 0x49, 0x45, 0x57, 0x10, 0xc5, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x49, - 0x45, 0x57, 0x53, 0x10, 0xc6, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x4f, 0x4c, 0x41, 0x54, 0x49, - 0x4c, 0x45, 0x10, 0xc7, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x48, 0x45, 0x4e, 0x10, 0xc8, 0x05, - 0x12, 0x0a, 0x0a, 0x05, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xc9, 0x05, 0x12, 0x11, 0x0a, 0x0c, - 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x10, 0xca, 0x05, 0x12, - 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x10, 0xcb, 0x05, 0x12, 0x09, 0x0a, 0x04, - 0x57, 0x49, 0x54, 0x48, 0x10, 0xcc, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x54, 0x48, 0x49, - 0x4e, 0x10, 0xcd, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x10, - 0xce, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xcf, 0x05, 0x12, 0x0c, 0x0a, - 0x07, 0x57, 0x52, 0x41, 0x50, 0x50, 0x45, 0x52, 0x10, 0xd0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x57, - 0x52, 0x49, 0x54, 0x45, 0x10, 0xd1, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, 0x4d, 0x4c, 0x5f, 0x50, - 0x10, 0xd2, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, - 0x55, 0x54, 0x45, 0x53, 0x10, 0xd3, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x43, 0x4f, - 0x4e, 0x43, 0x41, 0x54, 0x10, 0xd4, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x58, 0x4d, 0x4c, 0x45, 0x4c, - 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xd5, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x45, - 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xd6, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x46, - 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0xd7, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x4e, - 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, 0x10, 0xd8, 0x05, 0x12, 0x0d, 0x0a, 0x08, - 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0xd9, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, - 0x4d, 0x4c, 0x50, 0x49, 0x10, 0xda, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x58, 0x4d, 0x4c, 0x52, 0x4f, - 0x4f, 0x54, 0x10, 0xdb, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, 0x49, - 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xdc, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x58, 0x4d, 0x4c, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0xdd, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, 0x5f, - 0x50, 0x10, 0xde, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x59, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xdf, 0x05, - 0x12, 0x09, 0x0a, 0x04, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0xe0, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x4e, - 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0xe1, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x55, 0x4c, 0x4c, - 0x53, 0x5f, 0x4c, 0x41, 0x10, 0xe2, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x5f, - 0x4c, 0x41, 0x10, 0xe3, 0x05, 0x12, 0x13, 0x0a, 0x0e, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xe4, 0x05, 0x12, 0x16, 0x0a, 0x11, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, - 0xe5, 0x05, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, - 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x31, 0x10, 0xe6, 0x05, 0x12, 0x19, 0x0a, - 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, - 0x53, 0x49, 0x47, 0x4e, 0x32, 0x10, 0xe7, 0x05, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x33, - 0x10, 0xe8, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, 0xe9, 0x05, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, + 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x0e, 0x0a, 0x0a, 0x41, 0x47, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x0d, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x5f, 0x4d, 0x49, 0x58, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x72, + 0x0a, 0x08, 0x41, 0x67, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x47, + 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, + 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, 0x47, 0x53, + 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, + 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x47, 0x47, 0x53, 0x50, 0x4c, 0x49, + 0x54, 0x5f, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, + 0x10, 0x03, 0x2a, 0x86, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x4f, 0x70, 0x43, 0x6d, 0x64, 0x12, + 0x18, 0x0a, 0x14, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x43, 0x4d, 0x44, 0x5f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, + 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x13, 0x0a, + 0x0f, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, + 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x43, 0x4d, 0x44, 0x5f, 0x45, + 0x58, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x04, 0x2a, 0x52, 0x0a, 0x0d, 0x53, + 0x65, 0x74, 0x4f, 0x70, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1d, 0x0a, 0x19, + 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x50, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, + 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, + 0x0c, 0x53, 0x45, 0x54, 0x4f, 0x50, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x45, 0x44, 0x10, 0x02, 0x2a, + 0x78, 0x0a, 0x10, 0x4f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, + 0x43, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, + 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x4e, + 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, + 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x2a, 0x77, 0x0a, 0x0b, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x01, 0x12, 0x16, + 0x0a, 0x12, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, + 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, + 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x54, 0x49, 0x45, 0x53, + 0x10, 0x03, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6c, 0x61, 0x75, 0x73, + 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x43, 0x4c, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x45, 0x4e, 0x47, 0x54, + 0x48, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, + 0x08, 0x4c, 0x43, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, + 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x45, 0x59, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x02, + 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x53, 0x48, 0x41, 0x52, 0x45, + 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x43, 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x4e, 0x4f, 0x4b, + 0x45, 0x59, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x43, + 0x53, 0x5f, 0x46, 0x4f, 0x52, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x05, 0x2a, 0x68, 0x0a, + 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x1e, 0x0a, 0x1a, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, 0x53, 0x6b, + 0x69, 0x70, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x69, 0x74, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x03, 0x2a, 0x8e, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x6b, + 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x4c, 0x4f, 0x43, + 0x4b, 0x5f, 0x54, 0x55, 0x50, 0x4c, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x6b, + 0x54, 0x75, 0x70, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x72, 0x65, 0x10, 0x01, 0x12, + 0x12, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x53, 0x68, 0x61, 0x72, + 0x65, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, + 0x4e, 0x6f, 0x4b, 0x65, 0x79, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x03, + 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x45, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x10, 0x04, 0x2a, 0x7d, 0x0a, 0x0b, 0x4b, 0x65, 0x79, 0x77, + 0x6f, 0x72, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x4b, 0x45, + 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x52, 0x45, 0x53, + 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, + 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x57, + 0x4f, 0x52, 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, + 0x4e, 0x43, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, + 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x4b, 0x45, + 0x59, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x04, 0x2a, 0xe8, 0x3b, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x55, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, + 0x43, 0x49, 0x49, 0x5f, 0x33, 0x36, 0x10, 0x24, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, + 0x49, 0x5f, 0x33, 0x37, 0x10, 0x25, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, + 0x34, 0x30, 0x10, 0x28, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x31, + 0x10, 0x29, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x32, 0x10, 0x2a, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x33, 0x10, 0x2b, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x34, 0x10, 0x2c, 0x12, 0x0c, 0x0a, 0x08, + 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x34, 0x35, 0x10, 0x2d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, + 0x43, 0x49, 0x49, 0x5f, 0x34, 0x36, 0x10, 0x2e, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, + 0x49, 0x5f, 0x34, 0x37, 0x10, 0x2f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, + 0x35, 0x38, 0x10, 0x3a, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x35, 0x39, + 0x10, 0x3b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x30, 0x10, 0x3c, + 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x31, 0x10, 0x3d, 0x12, 0x0c, + 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x32, 0x10, 0x3e, 0x12, 0x0c, 0x0a, 0x08, + 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x36, 0x33, 0x10, 0x3f, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, + 0x43, 0x49, 0x49, 0x5f, 0x39, 0x31, 0x10, 0x5b, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, + 0x49, 0x5f, 0x39, 0x32, 0x10, 0x5c, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, + 0x39, 0x33, 0x10, 0x5d, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x53, 0x43, 0x49, 0x49, 0x5f, 0x39, 0x34, + 0x10, 0x5e, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x82, 0x02, 0x12, 0x0b, + 0x0a, 0x06, 0x55, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x10, 0x83, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x46, + 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x84, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x4f, 0x4e, + 0x53, 0x54, 0x10, 0x85, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x53, 0x43, 0x4f, 0x4e, 0x53, 0x54, + 0x10, 0x86, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x87, 0x02, + 0x12, 0x0b, 0x0a, 0x06, 0x58, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x10, 0x88, 0x02, 0x12, 0x07, 0x0a, + 0x02, 0x4f, 0x70, 0x10, 0x89, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x43, 0x4f, 0x4e, 0x53, 0x54, + 0x10, 0x8a, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x10, 0x8b, 0x02, 0x12, + 0x0d, 0x0a, 0x08, 0x54, 0x59, 0x50, 0x45, 0x43, 0x41, 0x53, 0x54, 0x10, 0x8c, 0x02, 0x12, 0x0c, + 0x0a, 0x07, 0x44, 0x4f, 0x54, 0x5f, 0x44, 0x4f, 0x54, 0x10, 0x8d, 0x02, 0x12, 0x11, 0x0a, 0x0c, + 0x43, 0x4f, 0x4c, 0x4f, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x8e, 0x02, 0x12, + 0x13, 0x0a, 0x0e, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x52, 0x10, 0x8f, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x51, 0x55, + 0x41, 0x4c, 0x53, 0x10, 0x90, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, + 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x91, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, + 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0x92, 0x02, 0x12, 0x10, 0x0a, 0x0b, + 0x53, 0x51, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x93, 0x02, 0x12, 0x0e, + 0x0a, 0x09, 0x43, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x94, 0x02, 0x12, 0x0c, + 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x10, 0x95, 0x02, 0x12, 0x0b, 0x0a, 0x06, + 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x96, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x42, 0x53, + 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, 0x97, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x98, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x99, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x44, 0x44, 0x5f, 0x50, 0x10, 0x9a, 0x02, + 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x9b, 0x02, 0x12, 0x0a, 0x0a, 0x05, + 0x41, 0x46, 0x54, 0x45, 0x52, 0x10, 0x9c, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x47, 0x47, 0x52, + 0x45, 0x47, 0x41, 0x54, 0x45, 0x10, 0x9d, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, + 0x9e, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x41, 0x4c, 0x53, 0x4f, 0x10, 0x9f, 0x02, 0x12, 0x0a, 0x0a, + 0x05, 0x41, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa0, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x4c, 0x57, + 0x41, 0x59, 0x53, 0x10, 0xa1, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, + 0x45, 0x10, 0xa2, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x5a, 0x45, 0x10, + 0xa3, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0xa4, 0x02, 0x12, 0x08, 0x0a, 0x03, + 0x41, 0x4e, 0x59, 0x10, 0xa5, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x41, 0x52, 0x52, 0x41, 0x59, 0x10, + 0xa6, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x53, 0x10, 0xa7, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x41, + 0x53, 0x43, 0x10, 0xa8, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x45, 0x4e, 0x53, 0x49, 0x54, + 0x49, 0x56, 0x45, 0x10, 0xa9, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0xaa, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, + 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xab, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x41, 0x53, 0x59, 0x4d, 0x4d, + 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0xac, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x41, 0x54, 0x4f, 0x4d, + 0x49, 0x43, 0x10, 0xad, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x54, 0x10, 0xae, 0x02, 0x12, 0x0b, + 0x0a, 0x06, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x10, 0xaf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x41, + 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x10, 0xb0, 0x02, 0x12, 0x12, 0x0a, 0x0d, 0x41, + 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb1, 0x02, 0x12, + 0x0d, 0x0a, 0x08, 0x42, 0x41, 0x43, 0x4b, 0x57, 0x41, 0x52, 0x44, 0x10, 0xb2, 0x02, 0x12, 0x0b, + 0x0a, 0x06, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x10, 0xb3, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, + 0x45, 0x47, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xb4, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x45, 0x54, + 0x57, 0x45, 0x45, 0x4e, 0x10, 0xb5, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x47, 0x49, 0x4e, + 0x54, 0x10, 0xb6, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x42, 0x49, 0x4e, 0x41, 0x52, 0x59, 0x10, 0xb7, + 0x02, 0x12, 0x08, 0x0a, 0x03, 0x42, 0x49, 0x54, 0x10, 0xb8, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x42, + 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x5f, 0x50, 0x10, 0xb9, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x42, + 0x4f, 0x54, 0x48, 0x10, 0xba, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x42, 0x52, 0x45, 0x41, 0x44, 0x54, + 0x48, 0x10, 0xbb, 0x02, 0x12, 0x07, 0x0a, 0x02, 0x42, 0x59, 0x10, 0xbc, 0x02, 0x12, 0x0a, 0x0a, + 0x05, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0xbd, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x4c, + 0x4c, 0x10, 0xbe, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x41, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xbf, + 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x10, 0xc0, 0x02, 0x12, + 0x0d, 0x0a, 0x08, 0x43, 0x41, 0x53, 0x43, 0x41, 0x44, 0x45, 0x44, 0x10, 0xc1, 0x02, 0x12, 0x09, + 0x0a, 0x04, 0x43, 0x41, 0x53, 0x45, 0x10, 0xc2, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x41, 0x53, + 0x54, 0x10, 0xc3, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x47, 0x5f, + 0x50, 0x10, 0xc4, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0xc5, 0x02, + 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x48, 0x41, 0x52, 0x5f, 0x50, 0x10, 0xc6, 0x02, 0x12, 0x0e, 0x0a, + 0x09, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x10, 0xc7, 0x02, 0x12, 0x14, 0x0a, + 0x0f, 0x43, 0x48, 0x41, 0x52, 0x41, 0x43, 0x54, 0x45, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x53, + 0x10, 0xc8, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x10, 0xc9, 0x02, 0x12, + 0x0f, 0x0a, 0x0a, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xca, 0x02, + 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0xcb, 0x02, 0x12, 0x0a, 0x0a, 0x05, + 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0xcc, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4c, 0x55, 0x53, + 0x54, 0x45, 0x52, 0x10, 0xcd, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x41, 0x4c, 0x45, 0x53, + 0x43, 0x45, 0x10, 0xce, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x45, + 0x10, 0xcf, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4c, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0xd0, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x10, 0xd1, 0x02, + 0x12, 0x0c, 0x0a, 0x07, 0x43, 0x4f, 0x4c, 0x55, 0x4d, 0x4e, 0x53, 0x10, 0xd2, 0x02, 0x12, 0x0c, + 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xd3, 0x02, 0x12, 0x0d, 0x0a, 0x08, + 0x43, 0x4f, 0x4d, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xd4, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, 0xd5, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, + 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0xd6, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x50, + 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xd7, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, + 0x4e, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xd8, 0x02, 0x12, 0x10, 0x0a, + 0x0b, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xd9, 0x02, 0x12, + 0x12, 0x0a, 0x0d, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0xda, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x43, 0x4f, 0x4e, 0x46, 0x4c, 0x49, 0x43, 0x54, 0x10, + 0xdb, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0xdc, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, + 0x54, 0x10, 0xdd, 0x02, 0x12, 0x10, 0x0a, 0x0b, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, + 0x4e, 0x54, 0x53, 0x10, 0xde, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, + 0x54, 0x5f, 0x50, 0x10, 0xdf, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, + 0x55, 0x45, 0x5f, 0x50, 0x10, 0xe0, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4f, 0x4e, 0x56, 0x45, + 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xe1, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, + 0x50, 0x59, 0x10, 0xe2, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x4f, 0x53, 0x54, 0x10, 0xe3, 0x02, + 0x12, 0x0b, 0x0a, 0x06, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xe4, 0x02, 0x12, 0x0a, 0x0a, + 0x05, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x10, 0xe5, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x43, 0x53, 0x56, + 0x10, 0xe6, 0x02, 0x12, 0x09, 0x0a, 0x04, 0x43, 0x55, 0x42, 0x45, 0x10, 0xe7, 0x02, 0x12, 0x0e, + 0x0a, 0x09, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xe8, 0x02, 0x12, 0x14, + 0x0a, 0x0f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x54, 0x41, 0x4c, 0x4f, + 0x47, 0x10, 0xe9, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, + 0x44, 0x41, 0x54, 0x45, 0x10, 0xea, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, + 0x4e, 0x54, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0xeb, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x43, 0x55, + 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x10, 0xec, 0x02, 0x12, + 0x11, 0x0a, 0x0c, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, + 0xed, 0x02, 0x12, 0x16, 0x0a, 0x11, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x49, + 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0xee, 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x55, + 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0xef, 0x02, 0x12, 0x0b, 0x0a, + 0x06, 0x43, 0x55, 0x52, 0x53, 0x4f, 0x52, 0x10, 0xf0, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x43, 0x59, + 0x43, 0x4c, 0x45, 0x10, 0xf1, 0x02, 0x12, 0x0b, 0x0a, 0x06, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, + 0x10, 0xf2, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x10, + 0xf3, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x41, 0x59, 0x5f, 0x50, 0x10, 0xf4, 0x02, 0x12, 0x0f, + 0x0a, 0x0a, 0x44, 0x45, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x10, 0xf5, 0x02, 0x12, + 0x08, 0x0a, 0x03, 0x44, 0x45, 0x43, 0x10, 0xf6, 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x43, + 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf7, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x43, + 0x4c, 0x41, 0x52, 0x45, 0x10, 0xf8, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x10, 0xf9, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, + 0x53, 0x10, 0xfa, 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0xfb, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x46, 0x45, 0x52, 0x52, 0x45, + 0x44, 0x10, 0xfc, 0x02, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x52, 0x10, + 0xfd, 0x02, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x50, 0x10, 0xfe, + 0x02, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x10, 0xff, + 0x02, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x52, 0x53, 0x10, + 0x80, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x50, 0x45, 0x4e, 0x44, 0x53, 0x10, 0x81, 0x03, + 0x12, 0x0a, 0x0a, 0x05, 0x44, 0x45, 0x50, 0x54, 0x48, 0x10, 0x82, 0x03, 0x12, 0x09, 0x0a, 0x04, + 0x44, 0x45, 0x53, 0x43, 0x10, 0x83, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x44, 0x45, 0x54, 0x41, 0x43, + 0x48, 0x10, 0x84, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, 0x49, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, + 0x52, 0x59, 0x10, 0x85, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, + 0x5f, 0x50, 0x10, 0x86, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x43, 0x41, 0x52, 0x44, + 0x10, 0x87, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x43, 0x54, 0x10, + 0x88, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x44, 0x4f, 0x10, 0x89, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x44, + 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0x8a, 0x03, 0x12, 0x0d, 0x0a, 0x08, + 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0x8b, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x44, + 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x8c, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x44, 0x52, + 0x4f, 0x50, 0x10, 0x8d, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x45, 0x41, 0x43, 0x48, 0x10, 0x8e, 0x03, + 0x12, 0x09, 0x0a, 0x04, 0x45, 0x4c, 0x53, 0x45, 0x10, 0x8f, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, + 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x50, 0x10, 0x90, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x50, 0x10, 0x91, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x45, 0x4e, 0x43, 0x4f, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x92, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x4e, 0x43, 0x52, 0x59, + 0x50, 0x54, 0x45, 0x44, 0x10, 0x93, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, 0x4e, 0x44, 0x5f, 0x50, + 0x10, 0x94, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x50, 0x10, 0x95, 0x03, + 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x50, 0x10, 0x96, 0x03, 0x12, 0x0b, + 0x0a, 0x06, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x10, 0x97, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x10, 0x98, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x43, 0x45, 0x50, + 0x54, 0x10, 0x99, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, + 0x9a, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x9b, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x53, 0x49, 0x56, 0x45, 0x10, + 0x9c, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x10, 0x9d, 0x03, + 0x12, 0x0b, 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x9e, 0x03, 0x12, 0x0c, 0x0a, + 0x07, 0x45, 0x58, 0x50, 0x4c, 0x41, 0x49, 0x4e, 0x10, 0x9f, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x45, + 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa0, 0x03, 0x12, 0x0e, 0x0a, 0x09, + 0x45, 0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xa1, 0x03, 0x12, 0x0d, 0x0a, 0x08, + 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xa2, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x45, + 0x58, 0x54, 0x52, 0x41, 0x43, 0x54, 0x10, 0xa3, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x41, 0x4c, + 0x53, 0x45, 0x5f, 0x50, 0x10, 0xa4, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x41, 0x4d, 0x49, 0x4c, + 0x59, 0x10, 0xa5, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0xa6, 0x03, + 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0xa7, 0x03, 0x12, 0x0d, 0x0a, + 0x08, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xa8, 0x03, 0x12, 0x0c, 0x0a, 0x07, + 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x50, 0x10, 0xa9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4c, + 0x4f, 0x41, 0x54, 0x5f, 0x50, 0x10, 0xaa, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x4f, 0x4c, 0x4c, + 0x4f, 0x57, 0x49, 0x4e, 0x47, 0x10, 0xab, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x46, 0x4f, 0x52, 0x10, + 0xac, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x10, 0xad, 0x03, 0x12, 0x0c, + 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x10, 0xae, 0x03, 0x12, 0x0b, 0x0a, 0x06, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x10, 0xaf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x46, 0x4f, 0x52, + 0x57, 0x41, 0x52, 0x44, 0x10, 0xb0, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x46, 0x52, 0x45, 0x45, 0x5a, + 0x45, 0x10, 0xb1, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x46, 0x52, 0x4f, 0x4d, 0x10, 0xb2, 0x03, 0x12, + 0x09, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0xb3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x46, 0x55, + 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb4, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x55, 0x4e, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xb5, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x47, 0x45, 0x4e, + 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0xb6, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x47, 0x4c, 0x4f, + 0x42, 0x41, 0x4c, 0x10, 0xb7, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x10, + 0xb8, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x47, 0x52, 0x41, 0x4e, 0x54, 0x45, 0x44, 0x10, 0xb9, 0x03, + 0x12, 0x0d, 0x0a, 0x08, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x53, 0x54, 0x10, 0xba, 0x03, 0x12, + 0x0c, 0x0a, 0x07, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x50, 0x10, 0xbb, 0x03, 0x12, 0x0d, 0x0a, + 0x08, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xbc, 0x03, 0x12, 0x0b, 0x0a, 0x06, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xbd, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x48, 0x41, 0x4e, + 0x44, 0x4c, 0x45, 0x52, 0x10, 0xbe, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x48, 0x41, 0x56, 0x49, 0x4e, + 0x47, 0x10, 0xbf, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x50, + 0x10, 0xc0, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0xc1, 0x03, 0x12, 0x0b, + 0x0a, 0x06, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x50, 0x10, 0xc2, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, + 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x10, 0xc3, 0x03, 0x12, 0x09, 0x0a, 0x04, + 0x49, 0x46, 0x5f, 0x50, 0x10, 0xc4, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4c, 0x49, 0x4b, 0x45, + 0x10, 0xc5, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, + 0x10, 0xc6, 0x03, 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0xc7, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x5f, + 0x50, 0x10, 0xc8, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, + 0x10, 0xc9, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x49, 0x4e, 0x5f, 0x50, 0x10, 0xca, 0x03, 0x12, 0x0c, + 0x0a, 0x07, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0xcb, 0x03, 0x12, 0x0e, 0x0a, 0x09, + 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xcc, 0x03, 0x12, 0x0e, 0x0a, 0x09, + 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xcd, 0x03, 0x12, 0x0b, 0x0a, 0x06, + 0x49, 0x4e, 0x44, 0x45, 0x4e, 0x54, 0x10, 0xce, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x44, + 0x45, 0x58, 0x10, 0xcf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x45, 0x53, + 0x10, 0xd0, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xd1, + 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x53, 0x10, 0xd2, 0x03, + 0x12, 0x0e, 0x0a, 0x09, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0xd3, 0x03, + 0x12, 0x0d, 0x0a, 0x08, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xd4, 0x03, 0x12, + 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x10, 0xd5, 0x03, 0x12, 0x0a, 0x0a, + 0x05, 0x49, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0xd6, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x50, + 0x55, 0x54, 0x5f, 0x50, 0x10, 0xd7, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x49, 0x4e, 0x53, 0x45, 0x4e, + 0x53, 0x49, 0x54, 0x49, 0x56, 0x45, 0x10, 0xd8, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x49, 0x4e, 0x53, + 0x45, 0x52, 0x54, 0x10, 0xd9, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x53, 0x54, 0x45, 0x41, + 0x44, 0x10, 0xda, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x5f, 0x50, 0x10, 0xdb, 0x03, + 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0xdc, 0x03, 0x12, 0x0e, + 0x0a, 0x09, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x53, 0x45, 0x43, 0x54, 0x10, 0xdd, 0x03, 0x12, 0x0d, + 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0xde, 0x03, 0x12, 0x09, 0x0a, + 0x04, 0x49, 0x4e, 0x54, 0x4f, 0x10, 0xdf, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x4f, + 0x4b, 0x45, 0x52, 0x10, 0xe0, 0x03, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x53, 0x10, 0xe1, 0x03, 0x12, + 0x0b, 0x0a, 0x06, 0x49, 0x53, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0xe2, 0x03, 0x12, 0x0e, 0x0a, 0x09, + 0x49, 0x53, 0x4f, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe3, 0x03, 0x12, 0x09, 0x0a, 0x04, + 0x4a, 0x4f, 0x49, 0x4e, 0x10, 0xe4, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, + 0xe5, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, 0x59, + 0x10, 0xe6, 0x03, 0x12, 0x12, 0x0a, 0x0d, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x52, 0x52, 0x41, + 0x59, 0x41, 0x47, 0x47, 0x10, 0xe7, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xe8, 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0xe9, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4a, + 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x41, 0x47, 0x47, 0x10, 0xea, 0x03, + 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0xeb, + 0x03, 0x12, 0x10, 0x0a, 0x0b, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, + 0x10, 0xec, 0x03, 0x12, 0x13, 0x0a, 0x0e, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x49, + 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xed, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, + 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xee, 0x03, 0x12, 0x0f, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, + 0x4e, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0xef, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4b, 0x45, + 0x45, 0x50, 0x10, 0xf0, 0x03, 0x12, 0x08, 0x0a, 0x03, 0x4b, 0x45, 0x59, 0x10, 0xf1, 0x03, 0x12, + 0x09, 0x0a, 0x04, 0x4b, 0x45, 0x59, 0x53, 0x10, 0xf2, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x41, + 0x42, 0x45, 0x4c, 0x10, 0xf3, 0x03, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x41, 0x4e, 0x47, 0x55, 0x41, + 0x47, 0x45, 0x10, 0xf4, 0x03, 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x50, + 0x10, 0xf5, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x50, 0x10, 0xf6, 0x03, + 0x12, 0x0e, 0x0a, 0x09, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x10, 0xf7, 0x03, + 0x12, 0x0c, 0x0a, 0x07, 0x4c, 0x45, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf8, 0x03, 0x12, 0x0e, + 0x0a, 0x09, 0x4c, 0x45, 0x41, 0x4b, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x10, 0xf9, 0x03, 0x12, 0x0a, + 0x0a, 0x05, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x10, 0xfa, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x45, + 0x46, 0x54, 0x10, 0xfb, 0x03, 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0xfc, + 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x49, 0x4b, 0x45, 0x10, 0xfd, 0x03, 0x12, 0x0a, 0x0a, 0x05, + 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0xfe, 0x03, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, + 0x45, 0x4e, 0x10, 0xff, 0x03, 0x12, 0x09, 0x0a, 0x04, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x80, 0x04, + 0x12, 0x0a, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x81, 0x04, 0x12, 0x0e, 0x0a, 0x09, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x82, 0x04, 0x12, 0x13, 0x0a, 0x0e, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x10, 0x83, + 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x84, 0x04, + 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x50, 0x10, 0x85, 0x04, 0x12, 0x0b, 0x0a, + 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x86, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4c, 0x4f, + 0x47, 0x47, 0x45, 0x44, 0x10, 0x87, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x50, 0x50, 0x49, + 0x4e, 0x47, 0x10, 0x88, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x89, + 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x8a, 0x04, 0x12, + 0x11, 0x0a, 0x0c, 0x4d, 0x41, 0x54, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, + 0x8b, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4d, 0x41, 0x58, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x8c, + 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x10, 0x8d, 0x04, 0x12, 0x11, 0x0a, + 0x0c, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x8e, 0x04, + 0x12, 0x0b, 0x0a, 0x06, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x8f, 0x04, 0x12, 0x0d, 0x0a, + 0x08, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x10, 0x90, 0x04, 0x12, 0x0d, 0x0a, 0x08, + 0x4d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x91, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, + 0x4f, 0x44, 0x45, 0x10, 0x92, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x5f, + 0x50, 0x10, 0x93, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x94, 0x04, 0x12, + 0x0b, 0x0a, 0x06, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x50, 0x10, 0x95, 0x04, 0x12, 0x0a, 0x0a, 0x05, + 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x96, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x97, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x41, 0x54, 0x55, 0x52, + 0x41, 0x4c, 0x10, 0x98, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4e, 0x43, 0x48, 0x41, 0x52, 0x10, 0x99, + 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x9a, 0x04, 0x12, 0x08, + 0x0a, 0x03, 0x4e, 0x45, 0x57, 0x10, 0x9b, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x45, 0x58, 0x54, + 0x10, 0x9c, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x46, 0x43, 0x10, 0x9d, 0x04, 0x12, 0x08, 0x0a, + 0x03, 0x4e, 0x46, 0x44, 0x10, 0x9e, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x43, 0x10, + 0x9f, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x46, 0x4b, 0x44, 0x10, 0xa0, 0x04, 0x12, 0x07, 0x0a, + 0x02, 0x4e, 0x4f, 0x10, 0xa1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xa2, + 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xa3, + 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x44, 0x10, + 0xa4, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4e, 0x4f, 0x54, 0x10, 0xa5, 0x04, 0x12, 0x0c, 0x0a, 0x07, + 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, + 0x54, 0x49, 0x46, 0x59, 0x10, 0xa7, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x4e, 0x55, + 0x4c, 0x4c, 0x10, 0xa8, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x4f, 0x57, 0x41, 0x49, 0x54, 0x10, + 0xa9, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x5f, 0x50, 0x10, 0xaa, 0x04, 0x12, + 0x0b, 0x0a, 0x06, 0x4e, 0x55, 0x4c, 0x4c, 0x49, 0x46, 0x10, 0xab, 0x04, 0x12, 0x0c, 0x0a, 0x07, + 0x4e, 0x55, 0x4c, 0x4c, 0x53, 0x5f, 0x50, 0x10, 0xac, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4e, 0x55, + 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0xad, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, 0x42, 0x4a, 0x45, + 0x43, 0x54, 0x5f, 0x50, 0x10, 0xae, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x46, 0x10, 0xaf, 0x04, + 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xb0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x46, + 0x46, 0x53, 0x45, 0x54, 0x10, 0xb1, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x49, 0x44, 0x53, 0x10, + 0xb2, 0x04, 0x12, 0x08, 0x0a, 0x03, 0x4f, 0x4c, 0x44, 0x10, 0xb3, 0x04, 0x12, 0x09, 0x0a, 0x04, + 0x4f, 0x4d, 0x49, 0x54, 0x10, 0xb4, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xb5, 0x04, + 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb6, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x4f, + 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xb7, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb8, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x50, 0x54, 0x49, 0x4f, + 0x4e, 0x53, 0x10, 0xb9, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x52, 0x10, 0xba, 0x04, 0x12, 0x0a, + 0x0a, 0x05, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10, 0xbb, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x52, + 0x44, 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0xbc, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x53, 0x10, 0xbd, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x55, 0x54, 0x5f, + 0x50, 0x10, 0xbe, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x50, 0x10, + 0xbf, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xc0, 0x04, 0x12, 0x0d, 0x0a, + 0x08, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x50, 0x53, 0x10, 0xc1, 0x04, 0x12, 0x0c, 0x0a, 0x07, + 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x10, 0xc2, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x4f, 0x56, + 0x45, 0x52, 0x52, 0x49, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xc3, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, + 0x57, 0x4e, 0x45, 0x44, 0x10, 0xc4, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, + 0x10, 0xc5, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x41, 0x52, 0x41, 0x4c, 0x4c, 0x45, 0x4c, 0x10, + 0xc6, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, + 0xc7, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x41, 0x52, 0x53, 0x45, 0x52, 0x10, 0xc8, 0x04, 0x12, + 0x0c, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0xc9, 0x04, 0x12, 0x0e, 0x0a, + 0x09, 0x50, 0x41, 0x52, 0x54, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xca, 0x04, 0x12, 0x0c, 0x0a, + 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0xcb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, + 0x41, 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0xcc, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x50, 0x41, + 0x54, 0x48, 0x10, 0xcd, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x4c, 0x41, 0x43, 0x49, 0x4e, 0x47, + 0x10, 0xce, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0xcf, 0x04, 0x12, 0x0a, + 0x0a, 0x05, 0x50, 0x4c, 0x41, 0x4e, 0x53, 0x10, 0xd0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x10, 0xd1, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0xd2, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x45, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0xd3, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x43, 0x49, 0x53, + 0x49, 0x4f, 0x4e, 0x10, 0xd4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x10, 0xd5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, + 0x10, 0xd6, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x50, 0x41, 0x52, 0x45, 0x44, 0x10, + 0xd7, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0xd8, 0x04, + 0x12, 0x0a, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x10, 0xd9, 0x04, 0x12, 0x0f, 0x0a, 0x0a, + 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x10, 0xda, 0x04, 0x12, 0x0f, 0x0a, + 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x41, 0x4c, 0x10, 0xdb, 0x04, 0x12, 0x0e, + 0x0a, 0x09, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x10, 0xdc, 0x04, 0x12, 0x0f, + 0x0a, 0x0a, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x44, 0x55, 0x52, 0x45, 0x53, 0x10, 0xdd, 0x04, 0x12, + 0x0c, 0x0a, 0x07, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x41, 0x4d, 0x10, 0xde, 0x04, 0x12, 0x10, 0x0a, + 0x0b, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdf, 0x04, 0x12, + 0x0a, 0x0a, 0x05, 0x51, 0x55, 0x4f, 0x54, 0x45, 0x10, 0xe0, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x51, + 0x55, 0x4f, 0x54, 0x45, 0x53, 0x10, 0xe1, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, + 0x45, 0x10, 0xe2, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0xe3, 0x04, 0x12, + 0x09, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x4c, 0x10, 0xe4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, + 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x10, 0xe5, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x43, + 0x48, 0x45, 0x43, 0x4b, 0x10, 0xe6, 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x55, 0x52, + 0x53, 0x49, 0x56, 0x45, 0x10, 0xe7, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, 0x45, 0x46, 0x5f, 0x50, + 0x10, 0xe8, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, + 0x53, 0x10, 0xe9, 0x04, 0x12, 0x10, 0x0a, 0x0b, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, + 0x49, 0x4e, 0x47, 0x10, 0xea, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, + 0x48, 0x10, 0xeb, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x10, + 0xec, 0x04, 0x12, 0x0f, 0x0a, 0x0a, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x50, + 0x10, 0xed, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0xee, + 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xef, 0x04, 0x12, 0x0f, + 0x0a, 0x0a, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xf0, 0x04, 0x12, + 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0xf1, 0x04, 0x12, 0x0c, 0x0a, + 0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0xf2, 0x04, 0x12, 0x0a, 0x0a, 0x05, 0x52, + 0x45, 0x53, 0x45, 0x54, 0x10, 0xf3, 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x41, + 0x52, 0x54, 0x10, 0xf4, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, + 0x54, 0x10, 0xf5, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x10, 0xf6, + 0x04, 0x12, 0x0e, 0x0a, 0x09, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xf7, + 0x04, 0x12, 0x0c, 0x0a, 0x07, 0x52, 0x45, 0x54, 0x55, 0x52, 0x4e, 0x53, 0x10, 0xf8, 0x04, 0x12, + 0x0b, 0x0a, 0x06, 0x52, 0x45, 0x56, 0x4f, 0x4b, 0x45, 0x10, 0xf9, 0x04, 0x12, 0x0a, 0x0a, 0x05, + 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0xfa, 0x04, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x4c, 0x45, + 0x10, 0xfb, 0x04, 0x12, 0x0d, 0x0a, 0x08, 0x52, 0x4f, 0x4c, 0x4c, 0x42, 0x41, 0x43, 0x4b, 0x10, + 0xfc, 0x04, 0x12, 0x0b, 0x0a, 0x06, 0x52, 0x4f, 0x4c, 0x4c, 0x55, 0x50, 0x10, 0xfd, 0x04, 0x12, + 0x0c, 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x10, 0xfe, 0x04, 0x12, 0x0d, 0x0a, + 0x08, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x45, 0x53, 0x10, 0xff, 0x04, 0x12, 0x08, 0x0a, 0x03, + 0x52, 0x4f, 0x57, 0x10, 0x80, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x4f, 0x57, 0x53, 0x10, 0x81, + 0x05, 0x12, 0x09, 0x0a, 0x04, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x09, + 0x53, 0x41, 0x56, 0x45, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0x83, 0x05, 0x12, 0x0b, 0x0a, 0x06, + 0x53, 0x43, 0x41, 0x4c, 0x41, 0x52, 0x10, 0x84, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x48, + 0x45, 0x4d, 0x41, 0x10, 0x85, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, + 0x53, 0x10, 0x86, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x43, 0x52, 0x4f, 0x4c, 0x4c, 0x10, 0x87, + 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x10, 0x88, 0x05, 0x12, 0x0d, + 0x0a, 0x08, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x5f, 0x50, 0x10, 0x89, 0x05, 0x12, 0x0d, 0x0a, + 0x08, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x10, 0x8a, 0x05, 0x12, 0x0b, 0x0a, 0x06, + 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x8b, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x45, 0x51, + 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x8c, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x45, 0x51, 0x55, + 0x45, 0x4e, 0x43, 0x45, 0x53, 0x10, 0x8d, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x52, 0x49, + 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x8e, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, + 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x8f, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x10, 0x90, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x91, 0x05, 0x12, 0x08, 0x0a, 0x03, 0x53, 0x45, 0x54, + 0x10, 0x92, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x45, 0x54, 0x53, 0x10, 0x93, 0x05, 0x12, 0x0a, + 0x0a, 0x05, 0x53, 0x45, 0x54, 0x4f, 0x46, 0x10, 0x94, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x48, + 0x41, 0x52, 0x45, 0x10, 0x95, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0x96, + 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x49, 0x4d, 0x49, 0x4c, 0x41, 0x52, 0x10, 0x97, 0x05, 0x12, + 0x0b, 0x0a, 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x98, 0x05, 0x12, 0x09, 0x0a, 0x04, + 0x53, 0x4b, 0x49, 0x50, 0x10, 0x99, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4d, 0x41, 0x4c, 0x4c, + 0x49, 0x4e, 0x54, 0x10, 0x9a, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, + 0x4f, 0x54, 0x10, 0x9b, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x53, 0x4f, 0x4d, 0x45, 0x10, 0x9c, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x9d, 0x05, 0x12, 0x0a, 0x0a, + 0x05, 0x53, 0x51, 0x4c, 0x5f, 0x50, 0x10, 0x9e, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x9f, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, + 0x4c, 0x4f, 0x4e, 0x45, 0x5f, 0x50, 0x10, 0xa0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x41, + 0x52, 0x54, 0x10, 0xa1, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x54, 0x41, 0x54, 0x45, 0x4d, 0x45, + 0x4e, 0x54, 0x10, 0xa2, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x53, 0x54, + 0x49, 0x43, 0x53, 0x10, 0xa3, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x54, 0x44, 0x49, 0x4e, 0x10, + 0xa4, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x54, 0x44, 0x4f, 0x55, 0x54, 0x10, 0xa5, 0x05, 0x12, + 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0xa6, 0x05, 0x12, 0x0b, 0x0a, + 0x06, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0xa7, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x54, + 0x52, 0x49, 0x43, 0x54, 0x5f, 0x50, 0x10, 0xa8, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x54, 0x52, + 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x10, 0xa9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x54, 0x52, 0x49, + 0x50, 0x5f, 0x50, 0x10, 0xaa, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, + 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xab, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x55, 0x42, + 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xac, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x55, 0x50, + 0x50, 0x4f, 0x52, 0x54, 0x10, 0xad, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x53, 0x59, 0x4d, 0x4d, 0x45, + 0x54, 0x52, 0x49, 0x43, 0x10, 0xae, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x59, 0x53, 0x49, 0x44, + 0x10, 0xaf, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x10, + 0xb0, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x10, 0xb1, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb2, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0xb3, 0x05, 0x12, 0x10, 0x0a, + 0x0b, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x41, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0xb4, 0x05, 0x12, + 0x0f, 0x0a, 0x0a, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0xb5, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0xb6, 0x05, 0x12, 0x09, 0x0a, + 0x04, 0x54, 0x45, 0x4d, 0x50, 0x10, 0xb7, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x45, 0x4d, 0x50, + 0x4c, 0x41, 0x54, 0x45, 0x10, 0xb8, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x45, 0x4d, 0x50, 0x4f, + 0x52, 0x41, 0x52, 0x59, 0x10, 0xb9, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x45, 0x58, 0x54, 0x5f, + 0x50, 0x10, 0xba, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x48, 0x45, 0x4e, 0x10, 0xbb, 0x05, 0x12, + 0x09, 0x0a, 0x04, 0x54, 0x49, 0x45, 0x53, 0x10, 0xbc, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x49, + 0x4d, 0x45, 0x10, 0xbd, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, + 0x4d, 0x50, 0x10, 0xbe, 0x05, 0x12, 0x07, 0x0a, 0x02, 0x54, 0x4f, 0x10, 0xbf, 0x05, 0x12, 0x0d, + 0x0a, 0x08, 0x54, 0x52, 0x41, 0x49, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0x05, 0x12, 0x10, 0x0a, + 0x0b, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc1, 0x05, 0x12, + 0x0e, 0x0a, 0x09, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x4f, 0x52, 0x4d, 0x10, 0xc2, 0x05, 0x12, + 0x0a, 0x0a, 0x05, 0x54, 0x52, 0x45, 0x41, 0x54, 0x10, 0xc3, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, + 0x52, 0x49, 0x47, 0x47, 0x45, 0x52, 0x10, 0xc4, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x54, 0x52, 0x49, + 0x4d, 0x10, 0xc5, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x54, 0x52, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xc6, + 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x54, 0x52, 0x55, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x10, 0xc7, 0x05, + 0x12, 0x0c, 0x0a, 0x07, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0xc8, 0x05, 0x12, 0x0b, + 0x0a, 0x06, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x10, 0xc9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x54, + 0x59, 0x50, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xca, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x45, 0x53, + 0x43, 0x41, 0x50, 0x45, 0x10, 0xcb, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x55, 0x4e, 0x42, 0x4f, 0x55, + 0x4e, 0x44, 0x45, 0x44, 0x10, 0xcc, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x55, 0x4e, 0x43, 0x4f, 0x4e, + 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xcd, 0x05, 0x12, 0x10, 0x0a, 0x0b, 0x55, + 0x4e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0xce, 0x05, 0x12, 0x10, 0x0a, + 0x0b, 0x55, 0x4e, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x05, 0x12, + 0x0a, 0x0a, 0x05, 0x55, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0xd0, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x55, + 0x4e, 0x49, 0x51, 0x55, 0x45, 0x10, 0xd1, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0xd2, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x49, 0x53, 0x54, + 0x45, 0x4e, 0x10, 0xd3, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x4f, 0x47, 0x47, 0x45, + 0x44, 0x10, 0xd4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x4e, 0x54, 0x49, 0x4c, 0x10, 0xd5, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0xd6, 0x05, 0x12, 0x09, 0x0a, + 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0xd7, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x55, 0x53, 0x49, 0x4e, + 0x47, 0x10, 0xd8, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, 0x43, 0x55, 0x55, 0x4d, 0x10, 0xd9, + 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xda, 0x05, 0x12, 0x0d, 0x0a, + 0x08, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0xdb, 0x05, 0x12, 0x0e, 0x0a, 0x09, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xdc, 0x05, 0x12, 0x0c, 0x0a, 0x07, + 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x50, 0x10, 0xdd, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x53, 0x10, 0xde, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x43, 0x48, + 0x41, 0x52, 0x10, 0xdf, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x41, 0x52, 0x49, 0x41, 0x44, 0x49, + 0x43, 0x10, 0xe0, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x41, 0x52, 0x59, 0x49, 0x4e, 0x47, 0x10, + 0xe1, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0xe2, 0x05, + 0x12, 0x0e, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x10, 0xe3, 0x05, + 0x12, 0x09, 0x0a, 0x04, 0x56, 0x49, 0x45, 0x57, 0x10, 0xe4, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x56, + 0x49, 0x45, 0x57, 0x53, 0x10, 0xe5, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x56, 0x4f, 0x4c, 0x41, 0x54, + 0x49, 0x4c, 0x45, 0x10, 0xe6, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x48, 0x45, 0x4e, 0x10, 0xe7, + 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x57, 0x48, 0x45, 0x52, 0x45, 0x10, 0xe8, 0x05, 0x12, 0x11, 0x0a, + 0x0c, 0x57, 0x48, 0x49, 0x54, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x50, 0x10, 0xe9, 0x05, + 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x10, 0xea, 0x05, 0x12, 0x09, 0x0a, + 0x04, 0x57, 0x49, 0x54, 0x48, 0x10, 0xeb, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x57, 0x49, 0x54, 0x48, + 0x49, 0x4e, 0x10, 0xec, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, + 0x10, 0xed, 0x05, 0x12, 0x09, 0x0a, 0x04, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xee, 0x05, 0x12, 0x0c, + 0x0a, 0x07, 0x57, 0x52, 0x41, 0x50, 0x50, 0x45, 0x52, 0x10, 0xef, 0x05, 0x12, 0x0a, 0x0a, 0x05, + 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xf0, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x58, 0x4d, 0x4c, 0x5f, + 0x50, 0x10, 0xf1, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, 0x41, 0x54, 0x54, 0x52, 0x49, + 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0xf2, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, 0x43, + 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x10, 0xf3, 0x05, 0x12, 0x0f, 0x0a, 0x0a, 0x58, 0x4d, 0x4c, 0x45, + 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xf4, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, + 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0xf5, 0x05, 0x12, 0x0e, 0x0a, 0x09, 0x58, 0x4d, 0x4c, + 0x46, 0x4f, 0x52, 0x45, 0x53, 0x54, 0x10, 0xf6, 0x05, 0x12, 0x12, 0x0a, 0x0d, 0x58, 0x4d, 0x4c, + 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x53, 0x10, 0xf7, 0x05, 0x12, 0x0d, 0x0a, + 0x08, 0x58, 0x4d, 0x4c, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0xf8, 0x05, 0x12, 0x0a, 0x0a, 0x05, + 0x58, 0x4d, 0x4c, 0x50, 0x49, 0x10, 0xf9, 0x05, 0x12, 0x0c, 0x0a, 0x07, 0x58, 0x4d, 0x4c, 0x52, + 0x4f, 0x4f, 0x54, 0x10, 0xfa, 0x05, 0x12, 0x11, 0x0a, 0x0c, 0x58, 0x4d, 0x4c, 0x53, 0x45, 0x52, + 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x45, 0x10, 0xfb, 0x05, 0x12, 0x0d, 0x0a, 0x08, 0x58, 0x4d, 0x4c, + 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xfc, 0x05, 0x12, 0x0b, 0x0a, 0x06, 0x59, 0x45, 0x41, 0x52, + 0x5f, 0x50, 0x10, 0xfd, 0x05, 0x12, 0x0a, 0x0a, 0x05, 0x59, 0x45, 0x53, 0x5f, 0x50, 0x10, 0xfe, + 0x05, 0x12, 0x09, 0x0a, 0x04, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0xff, 0x05, 0x12, 0x0e, 0x0a, 0x09, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0x80, 0x06, 0x12, 0x0b, 0x0a, 0x06, + 0x4e, 0x4f, 0x54, 0x5f, 0x4c, 0x41, 0x10, 0x81, 0x06, 0x12, 0x0d, 0x0a, 0x08, 0x4e, 0x55, 0x4c, + 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x10, 0x82, 0x06, 0x12, 0x0c, 0x0a, 0x07, 0x57, 0x49, 0x54, 0x48, + 0x5f, 0x4c, 0x41, 0x10, 0x83, 0x06, 0x12, 0x0f, 0x0a, 0x0a, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, + 0x54, 0x5f, 0x4c, 0x41, 0x10, 0x84, 0x06, 0x12, 0x13, 0x0a, 0x0e, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x85, 0x06, 0x12, 0x16, 0x0a, 0x11, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x45, 0x58, 0x50, + 0x52, 0x10, 0x86, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, + 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x31, 0x10, 0x87, 0x06, 0x12, + 0x19, 0x0a, 0x14, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, + 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x32, 0x10, 0x88, 0x06, 0x12, 0x19, 0x0a, 0x14, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x50, 0x4c, 0x50, 0x47, 0x53, 0x51, 0x4c, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, + 0x4e, 0x33, 0x10, 0x89, 0x06, 0x12, 0x0b, 0x0a, 0x06, 0x55, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, + 0x8a, 0x06, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -33661,1221 +38284,1404 @@ func file_pg_query_proto_rawDescGZIP() []byte { return file_pg_query_proto_rawDescData } -var file_pg_query_proto_enumTypes = make([]protoimpl.EnumInfo, 59) -var file_pg_query_proto_msgTypes = make([]protoimpl.MessageInfo, 242) +var file_pg_query_proto_enumTypes = make([]protoimpl.EnumInfo, 72) +var file_pg_query_proto_msgTypes = make([]protoimpl.MessageInfo, 277) var file_pg_query_proto_goTypes = []interface{}{ - (OverridingKind)(0), // 0: pg_query.OverridingKind - (QuerySource)(0), // 1: pg_query.QuerySource - (SortByDir)(0), // 2: pg_query.SortByDir - (SortByNulls)(0), // 3: pg_query.SortByNulls - (SetQuantifier)(0), // 4: pg_query.SetQuantifier - (A_Expr_Kind)(0), // 5: pg_query.A_Expr_Kind - (RoleSpecType)(0), // 6: pg_query.RoleSpecType - (TableLikeOption)(0), // 7: pg_query.TableLikeOption - (DefElemAction)(0), // 8: pg_query.DefElemAction + (QuerySource)(0), // 0: pg_query.QuerySource + (SortByDir)(0), // 1: pg_query.SortByDir + (SortByNulls)(0), // 2: pg_query.SortByNulls + (SetQuantifier)(0), // 3: pg_query.SetQuantifier + (A_Expr_Kind)(0), // 4: pg_query.A_Expr_Kind + (RoleSpecType)(0), // 5: pg_query.RoleSpecType + (TableLikeOption)(0), // 6: pg_query.TableLikeOption + (DefElemAction)(0), // 7: pg_query.DefElemAction + (PartitionStrategy)(0), // 8: pg_query.PartitionStrategy (PartitionRangeDatumKind)(0), // 9: pg_query.PartitionRangeDatumKind (RTEKind)(0), // 10: pg_query.RTEKind (WCOKind)(0), // 11: pg_query.WCOKind (GroupingSetKind)(0), // 12: pg_query.GroupingSetKind (CTEMaterialize)(0), // 13: pg_query.CTEMaterialize - (SetOperation)(0), // 14: pg_query.SetOperation - (ObjectType)(0), // 15: pg_query.ObjectType - (DropBehavior)(0), // 16: pg_query.DropBehavior - (AlterTableType)(0), // 17: pg_query.AlterTableType - (GrantTargetType)(0), // 18: pg_query.GrantTargetType - (VariableSetKind)(0), // 19: pg_query.VariableSetKind - (ConstrType)(0), // 20: pg_query.ConstrType - (ImportForeignSchemaType)(0), // 21: pg_query.ImportForeignSchemaType - (RoleStmtType)(0), // 22: pg_query.RoleStmtType - (FetchDirection)(0), // 23: pg_query.FetchDirection - (FunctionParameterMode)(0), // 24: pg_query.FunctionParameterMode - (TransactionStmtKind)(0), // 25: pg_query.TransactionStmtKind - (ViewCheckOption)(0), // 26: pg_query.ViewCheckOption - (DiscardMode)(0), // 27: pg_query.DiscardMode - (ReindexObjectType)(0), // 28: pg_query.ReindexObjectType - (AlterTSConfigType)(0), // 29: pg_query.AlterTSConfigType - (PublicationObjSpecType)(0), // 30: pg_query.PublicationObjSpecType - (AlterPublicationAction)(0), // 31: pg_query.AlterPublicationAction - (AlterSubscriptionType)(0), // 32: pg_query.AlterSubscriptionType - (OnCommitAction)(0), // 33: pg_query.OnCommitAction - (ParamKind)(0), // 34: pg_query.ParamKind - (CoercionContext)(0), // 35: pg_query.CoercionContext - (CoercionForm)(0), // 36: pg_query.CoercionForm - (BoolExprType)(0), // 37: pg_query.BoolExprType - (SubLinkType)(0), // 38: pg_query.SubLinkType - (RowCompareType)(0), // 39: pg_query.RowCompareType - (MinMaxOp)(0), // 40: pg_query.MinMaxOp - (SQLValueFunctionOp)(0), // 41: pg_query.SQLValueFunctionOp - (XmlExprOp)(0), // 42: pg_query.XmlExprOp - (XmlOptionType)(0), // 43: pg_query.XmlOptionType - (NullTestType)(0), // 44: pg_query.NullTestType - (BoolTestType)(0), // 45: pg_query.BoolTestType - (CmdType)(0), // 46: pg_query.CmdType - (JoinType)(0), // 47: pg_query.JoinType - (AggStrategy)(0), // 48: pg_query.AggStrategy - (AggSplit)(0), // 49: pg_query.AggSplit - (SetOpCmd)(0), // 50: pg_query.SetOpCmd - (SetOpStrategy)(0), // 51: pg_query.SetOpStrategy - (OnConflictAction)(0), // 52: pg_query.OnConflictAction - (LimitOption)(0), // 53: pg_query.LimitOption - (LockClauseStrength)(0), // 54: pg_query.LockClauseStrength - (LockWaitPolicy)(0), // 55: pg_query.LockWaitPolicy - (LockTupleMode)(0), // 56: pg_query.LockTupleMode - (KeywordKind)(0), // 57: pg_query.KeywordKind - (Token)(0), // 58: pg_query.Token - (*ParseResult)(nil), // 59: pg_query.ParseResult - (*ScanResult)(nil), // 60: pg_query.ScanResult - (*Node)(nil), // 61: pg_query.Node - (*Integer)(nil), // 62: pg_query.Integer - (*Float)(nil), // 63: pg_query.Float - (*Boolean)(nil), // 64: pg_query.Boolean - (*String)(nil), // 65: pg_query.String - (*BitString)(nil), // 66: pg_query.BitString - (*List)(nil), // 67: pg_query.List - (*OidList)(nil), // 68: pg_query.OidList - (*IntList)(nil), // 69: pg_query.IntList - (*A_Const)(nil), // 70: pg_query.A_Const - (*Alias)(nil), // 71: pg_query.Alias - (*RangeVar)(nil), // 72: pg_query.RangeVar - (*TableFunc)(nil), // 73: pg_query.TableFunc - (*Var)(nil), // 74: pg_query.Var - (*Param)(nil), // 75: pg_query.Param - (*Aggref)(nil), // 76: pg_query.Aggref - (*GroupingFunc)(nil), // 77: pg_query.GroupingFunc - (*WindowFunc)(nil), // 78: pg_query.WindowFunc - (*SubscriptingRef)(nil), // 79: pg_query.SubscriptingRef - (*FuncExpr)(nil), // 80: pg_query.FuncExpr - (*NamedArgExpr)(nil), // 81: pg_query.NamedArgExpr - (*OpExpr)(nil), // 82: pg_query.OpExpr - (*DistinctExpr)(nil), // 83: pg_query.DistinctExpr - (*NullIfExpr)(nil), // 84: pg_query.NullIfExpr - (*ScalarArrayOpExpr)(nil), // 85: pg_query.ScalarArrayOpExpr - (*BoolExpr)(nil), // 86: pg_query.BoolExpr - (*SubLink)(nil), // 87: pg_query.SubLink - (*SubPlan)(nil), // 88: pg_query.SubPlan - (*AlternativeSubPlan)(nil), // 89: pg_query.AlternativeSubPlan - (*FieldSelect)(nil), // 90: pg_query.FieldSelect - (*FieldStore)(nil), // 91: pg_query.FieldStore - (*RelabelType)(nil), // 92: pg_query.RelabelType - (*CoerceViaIO)(nil), // 93: pg_query.CoerceViaIO - (*ArrayCoerceExpr)(nil), // 94: pg_query.ArrayCoerceExpr - (*ConvertRowtypeExpr)(nil), // 95: pg_query.ConvertRowtypeExpr - (*CollateExpr)(nil), // 96: pg_query.CollateExpr - (*CaseExpr)(nil), // 97: pg_query.CaseExpr - (*CaseWhen)(nil), // 98: pg_query.CaseWhen - (*CaseTestExpr)(nil), // 99: pg_query.CaseTestExpr - (*ArrayExpr)(nil), // 100: pg_query.ArrayExpr - (*RowExpr)(nil), // 101: pg_query.RowExpr - (*RowCompareExpr)(nil), // 102: pg_query.RowCompareExpr - (*CoalesceExpr)(nil), // 103: pg_query.CoalesceExpr - (*MinMaxExpr)(nil), // 104: pg_query.MinMaxExpr - (*SQLValueFunction)(nil), // 105: pg_query.SQLValueFunction - (*XmlExpr)(nil), // 106: pg_query.XmlExpr - (*NullTest)(nil), // 107: pg_query.NullTest - (*BooleanTest)(nil), // 108: pg_query.BooleanTest - (*CoerceToDomain)(nil), // 109: pg_query.CoerceToDomain - (*CoerceToDomainValue)(nil), // 110: pg_query.CoerceToDomainValue - (*SetToDefault)(nil), // 111: pg_query.SetToDefault - (*CurrentOfExpr)(nil), // 112: pg_query.CurrentOfExpr - (*NextValueExpr)(nil), // 113: pg_query.NextValueExpr - (*InferenceElem)(nil), // 114: pg_query.InferenceElem - (*TargetEntry)(nil), // 115: pg_query.TargetEntry - (*RangeTblRef)(nil), // 116: pg_query.RangeTblRef - (*JoinExpr)(nil), // 117: pg_query.JoinExpr - (*FromExpr)(nil), // 118: pg_query.FromExpr - (*OnConflictExpr)(nil), // 119: pg_query.OnConflictExpr - (*IntoClause)(nil), // 120: pg_query.IntoClause - (*MergeAction)(nil), // 121: pg_query.MergeAction - (*RawStmt)(nil), // 122: pg_query.RawStmt - (*Query)(nil), // 123: pg_query.Query - (*InsertStmt)(nil), // 124: pg_query.InsertStmt - (*DeleteStmt)(nil), // 125: pg_query.DeleteStmt - (*UpdateStmt)(nil), // 126: pg_query.UpdateStmt - (*MergeStmt)(nil), // 127: pg_query.MergeStmt - (*SelectStmt)(nil), // 128: pg_query.SelectStmt - (*ReturnStmt)(nil), // 129: pg_query.ReturnStmt - (*PLAssignStmt)(nil), // 130: pg_query.PLAssignStmt - (*AlterTableStmt)(nil), // 131: pg_query.AlterTableStmt - (*AlterTableCmd)(nil), // 132: pg_query.AlterTableCmd - (*AlterDomainStmt)(nil), // 133: pg_query.AlterDomainStmt - (*SetOperationStmt)(nil), // 134: pg_query.SetOperationStmt - (*GrantStmt)(nil), // 135: pg_query.GrantStmt - (*GrantRoleStmt)(nil), // 136: pg_query.GrantRoleStmt - (*AlterDefaultPrivilegesStmt)(nil), // 137: pg_query.AlterDefaultPrivilegesStmt - (*ClosePortalStmt)(nil), // 138: pg_query.ClosePortalStmt - (*ClusterStmt)(nil), // 139: pg_query.ClusterStmt - (*CopyStmt)(nil), // 140: pg_query.CopyStmt - (*CreateStmt)(nil), // 141: pg_query.CreateStmt - (*DefineStmt)(nil), // 142: pg_query.DefineStmt - (*DropStmt)(nil), // 143: pg_query.DropStmt - (*TruncateStmt)(nil), // 144: pg_query.TruncateStmt - (*CommentStmt)(nil), // 145: pg_query.CommentStmt - (*FetchStmt)(nil), // 146: pg_query.FetchStmt - (*IndexStmt)(nil), // 147: pg_query.IndexStmt - (*CreateFunctionStmt)(nil), // 148: pg_query.CreateFunctionStmt - (*AlterFunctionStmt)(nil), // 149: pg_query.AlterFunctionStmt - (*DoStmt)(nil), // 150: pg_query.DoStmt - (*RenameStmt)(nil), // 151: pg_query.RenameStmt - (*RuleStmt)(nil), // 152: pg_query.RuleStmt - (*NotifyStmt)(nil), // 153: pg_query.NotifyStmt - (*ListenStmt)(nil), // 154: pg_query.ListenStmt - (*UnlistenStmt)(nil), // 155: pg_query.UnlistenStmt - (*TransactionStmt)(nil), // 156: pg_query.TransactionStmt - (*ViewStmt)(nil), // 157: pg_query.ViewStmt - (*LoadStmt)(nil), // 158: pg_query.LoadStmt - (*CreateDomainStmt)(nil), // 159: pg_query.CreateDomainStmt - (*CreatedbStmt)(nil), // 160: pg_query.CreatedbStmt - (*DropdbStmt)(nil), // 161: pg_query.DropdbStmt - (*VacuumStmt)(nil), // 162: pg_query.VacuumStmt - (*ExplainStmt)(nil), // 163: pg_query.ExplainStmt - (*CreateTableAsStmt)(nil), // 164: pg_query.CreateTableAsStmt - (*CreateSeqStmt)(nil), // 165: pg_query.CreateSeqStmt - (*AlterSeqStmt)(nil), // 166: pg_query.AlterSeqStmt - (*VariableSetStmt)(nil), // 167: pg_query.VariableSetStmt - (*VariableShowStmt)(nil), // 168: pg_query.VariableShowStmt - (*DiscardStmt)(nil), // 169: pg_query.DiscardStmt - (*CreateTrigStmt)(nil), // 170: pg_query.CreateTrigStmt - (*CreatePLangStmt)(nil), // 171: pg_query.CreatePLangStmt - (*CreateRoleStmt)(nil), // 172: pg_query.CreateRoleStmt - (*AlterRoleStmt)(nil), // 173: pg_query.AlterRoleStmt - (*DropRoleStmt)(nil), // 174: pg_query.DropRoleStmt - (*LockStmt)(nil), // 175: pg_query.LockStmt - (*ConstraintsSetStmt)(nil), // 176: pg_query.ConstraintsSetStmt - (*ReindexStmt)(nil), // 177: pg_query.ReindexStmt - (*CheckPointStmt)(nil), // 178: pg_query.CheckPointStmt - (*CreateSchemaStmt)(nil), // 179: pg_query.CreateSchemaStmt - (*AlterDatabaseStmt)(nil), // 180: pg_query.AlterDatabaseStmt - (*AlterDatabaseRefreshCollStmt)(nil), // 181: pg_query.AlterDatabaseRefreshCollStmt - (*AlterDatabaseSetStmt)(nil), // 182: pg_query.AlterDatabaseSetStmt - (*AlterRoleSetStmt)(nil), // 183: pg_query.AlterRoleSetStmt - (*CreateConversionStmt)(nil), // 184: pg_query.CreateConversionStmt - (*CreateCastStmt)(nil), // 185: pg_query.CreateCastStmt - (*CreateOpClassStmt)(nil), // 186: pg_query.CreateOpClassStmt - (*CreateOpFamilyStmt)(nil), // 187: pg_query.CreateOpFamilyStmt - (*AlterOpFamilyStmt)(nil), // 188: pg_query.AlterOpFamilyStmt - (*PrepareStmt)(nil), // 189: pg_query.PrepareStmt - (*ExecuteStmt)(nil), // 190: pg_query.ExecuteStmt - (*DeallocateStmt)(nil), // 191: pg_query.DeallocateStmt - (*DeclareCursorStmt)(nil), // 192: pg_query.DeclareCursorStmt - (*CreateTableSpaceStmt)(nil), // 193: pg_query.CreateTableSpaceStmt - (*DropTableSpaceStmt)(nil), // 194: pg_query.DropTableSpaceStmt - (*AlterObjectDependsStmt)(nil), // 195: pg_query.AlterObjectDependsStmt - (*AlterObjectSchemaStmt)(nil), // 196: pg_query.AlterObjectSchemaStmt - (*AlterOwnerStmt)(nil), // 197: pg_query.AlterOwnerStmt - (*AlterOperatorStmt)(nil), // 198: pg_query.AlterOperatorStmt - (*AlterTypeStmt)(nil), // 199: pg_query.AlterTypeStmt - (*DropOwnedStmt)(nil), // 200: pg_query.DropOwnedStmt - (*ReassignOwnedStmt)(nil), // 201: pg_query.ReassignOwnedStmt - (*CompositeTypeStmt)(nil), // 202: pg_query.CompositeTypeStmt - (*CreateEnumStmt)(nil), // 203: pg_query.CreateEnumStmt - (*CreateRangeStmt)(nil), // 204: pg_query.CreateRangeStmt - (*AlterEnumStmt)(nil), // 205: pg_query.AlterEnumStmt - (*AlterTSDictionaryStmt)(nil), // 206: pg_query.AlterTSDictionaryStmt - (*AlterTSConfigurationStmt)(nil), // 207: pg_query.AlterTSConfigurationStmt - (*CreateFdwStmt)(nil), // 208: pg_query.CreateFdwStmt - (*AlterFdwStmt)(nil), // 209: pg_query.AlterFdwStmt - (*CreateForeignServerStmt)(nil), // 210: pg_query.CreateForeignServerStmt - (*AlterForeignServerStmt)(nil), // 211: pg_query.AlterForeignServerStmt - (*CreateUserMappingStmt)(nil), // 212: pg_query.CreateUserMappingStmt - (*AlterUserMappingStmt)(nil), // 213: pg_query.AlterUserMappingStmt - (*DropUserMappingStmt)(nil), // 214: pg_query.DropUserMappingStmt - (*AlterTableSpaceOptionsStmt)(nil), // 215: pg_query.AlterTableSpaceOptionsStmt - (*AlterTableMoveAllStmt)(nil), // 216: pg_query.AlterTableMoveAllStmt - (*SecLabelStmt)(nil), // 217: pg_query.SecLabelStmt - (*CreateForeignTableStmt)(nil), // 218: pg_query.CreateForeignTableStmt - (*ImportForeignSchemaStmt)(nil), // 219: pg_query.ImportForeignSchemaStmt - (*CreateExtensionStmt)(nil), // 220: pg_query.CreateExtensionStmt - (*AlterExtensionStmt)(nil), // 221: pg_query.AlterExtensionStmt - (*AlterExtensionContentsStmt)(nil), // 222: pg_query.AlterExtensionContentsStmt - (*CreateEventTrigStmt)(nil), // 223: pg_query.CreateEventTrigStmt - (*AlterEventTrigStmt)(nil), // 224: pg_query.AlterEventTrigStmt - (*RefreshMatViewStmt)(nil), // 225: pg_query.RefreshMatViewStmt - (*ReplicaIdentityStmt)(nil), // 226: pg_query.ReplicaIdentityStmt - (*AlterSystemStmt)(nil), // 227: pg_query.AlterSystemStmt - (*CreatePolicyStmt)(nil), // 228: pg_query.CreatePolicyStmt - (*AlterPolicyStmt)(nil), // 229: pg_query.AlterPolicyStmt - (*CreateTransformStmt)(nil), // 230: pg_query.CreateTransformStmt - (*CreateAmStmt)(nil), // 231: pg_query.CreateAmStmt - (*CreatePublicationStmt)(nil), // 232: pg_query.CreatePublicationStmt - (*AlterPublicationStmt)(nil), // 233: pg_query.AlterPublicationStmt - (*CreateSubscriptionStmt)(nil), // 234: pg_query.CreateSubscriptionStmt - (*AlterSubscriptionStmt)(nil), // 235: pg_query.AlterSubscriptionStmt - (*DropSubscriptionStmt)(nil), // 236: pg_query.DropSubscriptionStmt - (*CreateStatsStmt)(nil), // 237: pg_query.CreateStatsStmt - (*AlterCollationStmt)(nil), // 238: pg_query.AlterCollationStmt - (*CallStmt)(nil), // 239: pg_query.CallStmt - (*AlterStatsStmt)(nil), // 240: pg_query.AlterStatsStmt - (*A_Expr)(nil), // 241: pg_query.A_Expr - (*ColumnRef)(nil), // 242: pg_query.ColumnRef - (*ParamRef)(nil), // 243: pg_query.ParamRef - (*FuncCall)(nil), // 244: pg_query.FuncCall - (*A_Star)(nil), // 245: pg_query.A_Star - (*A_Indices)(nil), // 246: pg_query.A_Indices - (*A_Indirection)(nil), // 247: pg_query.A_Indirection - (*A_ArrayExpr)(nil), // 248: pg_query.A_ArrayExpr - (*ResTarget)(nil), // 249: pg_query.ResTarget - (*MultiAssignRef)(nil), // 250: pg_query.MultiAssignRef - (*TypeCast)(nil), // 251: pg_query.TypeCast - (*CollateClause)(nil), // 252: pg_query.CollateClause - (*SortBy)(nil), // 253: pg_query.SortBy - (*WindowDef)(nil), // 254: pg_query.WindowDef - (*RangeSubselect)(nil), // 255: pg_query.RangeSubselect - (*RangeFunction)(nil), // 256: pg_query.RangeFunction - (*RangeTableSample)(nil), // 257: pg_query.RangeTableSample - (*RangeTableFunc)(nil), // 258: pg_query.RangeTableFunc - (*RangeTableFuncCol)(nil), // 259: pg_query.RangeTableFuncCol - (*TypeName)(nil), // 260: pg_query.TypeName - (*ColumnDef)(nil), // 261: pg_query.ColumnDef - (*IndexElem)(nil), // 262: pg_query.IndexElem - (*StatsElem)(nil), // 263: pg_query.StatsElem - (*Constraint)(nil), // 264: pg_query.Constraint - (*DefElem)(nil), // 265: pg_query.DefElem - (*RangeTblEntry)(nil), // 266: pg_query.RangeTblEntry - (*RangeTblFunction)(nil), // 267: pg_query.RangeTblFunction - (*TableSampleClause)(nil), // 268: pg_query.TableSampleClause - (*WithCheckOption)(nil), // 269: pg_query.WithCheckOption - (*SortGroupClause)(nil), // 270: pg_query.SortGroupClause - (*GroupingSet)(nil), // 271: pg_query.GroupingSet - (*WindowClause)(nil), // 272: pg_query.WindowClause - (*ObjectWithArgs)(nil), // 273: pg_query.ObjectWithArgs - (*AccessPriv)(nil), // 274: pg_query.AccessPriv - (*CreateOpClassItem)(nil), // 275: pg_query.CreateOpClassItem - (*TableLikeClause)(nil), // 276: pg_query.TableLikeClause - (*FunctionParameter)(nil), // 277: pg_query.FunctionParameter - (*LockingClause)(nil), // 278: pg_query.LockingClause - (*RowMarkClause)(nil), // 279: pg_query.RowMarkClause - (*XmlSerialize)(nil), // 280: pg_query.XmlSerialize - (*WithClause)(nil), // 281: pg_query.WithClause - (*InferClause)(nil), // 282: pg_query.InferClause - (*OnConflictClause)(nil), // 283: pg_query.OnConflictClause - (*CTESearchClause)(nil), // 284: pg_query.CTESearchClause - (*CTECycleClause)(nil), // 285: pg_query.CTECycleClause - (*CommonTableExpr)(nil), // 286: pg_query.CommonTableExpr - (*MergeWhenClause)(nil), // 287: pg_query.MergeWhenClause - (*RoleSpec)(nil), // 288: pg_query.RoleSpec - (*TriggerTransition)(nil), // 289: pg_query.TriggerTransition - (*PartitionElem)(nil), // 290: pg_query.PartitionElem - (*PartitionSpec)(nil), // 291: pg_query.PartitionSpec - (*PartitionBoundSpec)(nil), // 292: pg_query.PartitionBoundSpec - (*PartitionRangeDatum)(nil), // 293: pg_query.PartitionRangeDatum - (*PartitionCmd)(nil), // 294: pg_query.PartitionCmd - (*VacuumRelation)(nil), // 295: pg_query.VacuumRelation - (*PublicationObjSpec)(nil), // 296: pg_query.PublicationObjSpec - (*PublicationTable)(nil), // 297: pg_query.PublicationTable - (*InlineCodeBlock)(nil), // 298: pg_query.InlineCodeBlock - (*CallContext)(nil), // 299: pg_query.CallContext - (*ScanToken)(nil), // 300: pg_query.ScanToken + (JsonQuotes)(0), // 14: pg_query.JsonQuotes + (JsonTableColumnType)(0), // 15: pg_query.JsonTableColumnType + (SetOperation)(0), // 16: pg_query.SetOperation + (ObjectType)(0), // 17: pg_query.ObjectType + (DropBehavior)(0), // 18: pg_query.DropBehavior + (AlterTableType)(0), // 19: pg_query.AlterTableType + (GrantTargetType)(0), // 20: pg_query.GrantTargetType + (VariableSetKind)(0), // 21: pg_query.VariableSetKind + (ConstrType)(0), // 22: pg_query.ConstrType + (ImportForeignSchemaType)(0), // 23: pg_query.ImportForeignSchemaType + (RoleStmtType)(0), // 24: pg_query.RoleStmtType + (FetchDirection)(0), // 25: pg_query.FetchDirection + (FunctionParameterMode)(0), // 26: pg_query.FunctionParameterMode + (TransactionStmtKind)(0), // 27: pg_query.TransactionStmtKind + (ViewCheckOption)(0), // 28: pg_query.ViewCheckOption + (DiscardMode)(0), // 29: pg_query.DiscardMode + (ReindexObjectType)(0), // 30: pg_query.ReindexObjectType + (AlterTSConfigType)(0), // 31: pg_query.AlterTSConfigType + (PublicationObjSpecType)(0), // 32: pg_query.PublicationObjSpecType + (AlterPublicationAction)(0), // 33: pg_query.AlterPublicationAction + (AlterSubscriptionType)(0), // 34: pg_query.AlterSubscriptionType + (OverridingKind)(0), // 35: pg_query.OverridingKind + (OnCommitAction)(0), // 36: pg_query.OnCommitAction + (TableFuncType)(0), // 37: pg_query.TableFuncType + (ParamKind)(0), // 38: pg_query.ParamKind + (CoercionContext)(0), // 39: pg_query.CoercionContext + (CoercionForm)(0), // 40: pg_query.CoercionForm + (BoolExprType)(0), // 41: pg_query.BoolExprType + (SubLinkType)(0), // 42: pg_query.SubLinkType + (RowCompareType)(0), // 43: pg_query.RowCompareType + (MinMaxOp)(0), // 44: pg_query.MinMaxOp + (SQLValueFunctionOp)(0), // 45: pg_query.SQLValueFunctionOp + (XmlExprOp)(0), // 46: pg_query.XmlExprOp + (XmlOptionType)(0), // 47: pg_query.XmlOptionType + (JsonEncoding)(0), // 48: pg_query.JsonEncoding + (JsonFormatType)(0), // 49: pg_query.JsonFormatType + (JsonConstructorType)(0), // 50: pg_query.JsonConstructorType + (JsonValueType)(0), // 51: pg_query.JsonValueType + (JsonWrapper)(0), // 52: pg_query.JsonWrapper + (JsonBehaviorType)(0), // 53: pg_query.JsonBehaviorType + (JsonExprOp)(0), // 54: pg_query.JsonExprOp + (NullTestType)(0), // 55: pg_query.NullTestType + (BoolTestType)(0), // 56: pg_query.BoolTestType + (MergeMatchKind)(0), // 57: pg_query.MergeMatchKind + (CmdType)(0), // 58: pg_query.CmdType + (JoinType)(0), // 59: pg_query.JoinType + (AggStrategy)(0), // 60: pg_query.AggStrategy + (AggSplit)(0), // 61: pg_query.AggSplit + (SetOpCmd)(0), // 62: pg_query.SetOpCmd + (SetOpStrategy)(0), // 63: pg_query.SetOpStrategy + (OnConflictAction)(0), // 64: pg_query.OnConflictAction + (LimitOption)(0), // 65: pg_query.LimitOption + (LockClauseStrength)(0), // 66: pg_query.LockClauseStrength + (LockWaitPolicy)(0), // 67: pg_query.LockWaitPolicy + (LockTupleMode)(0), // 68: pg_query.LockTupleMode + (KeywordKind)(0), // 69: pg_query.KeywordKind + (Token)(0), // 70: pg_query.Token + (SummaryResult_Context)(0), // 71: pg_query.SummaryResult.Context + (*ParseResult)(nil), // 72: pg_query.ParseResult + (*ScanResult)(nil), // 73: pg_query.ScanResult + (*Node)(nil), // 74: pg_query.Node + (*Integer)(nil), // 75: pg_query.Integer + (*Float)(nil), // 76: pg_query.Float + (*Boolean)(nil), // 77: pg_query.Boolean + (*String)(nil), // 78: pg_query.String + (*BitString)(nil), // 79: pg_query.BitString + (*List)(nil), // 80: pg_query.List + (*OidList)(nil), // 81: pg_query.OidList + (*IntList)(nil), // 82: pg_query.IntList + (*A_Const)(nil), // 83: pg_query.A_Const + (*Alias)(nil), // 84: pg_query.Alias + (*RangeVar)(nil), // 85: pg_query.RangeVar + (*TableFunc)(nil), // 86: pg_query.TableFunc + (*IntoClause)(nil), // 87: pg_query.IntoClause + (*Var)(nil), // 88: pg_query.Var + (*Param)(nil), // 89: pg_query.Param + (*Aggref)(nil), // 90: pg_query.Aggref + (*GroupingFunc)(nil), // 91: pg_query.GroupingFunc + (*WindowFunc)(nil), // 92: pg_query.WindowFunc + (*WindowFuncRunCondition)(nil), // 93: pg_query.WindowFuncRunCondition + (*MergeSupportFunc)(nil), // 94: pg_query.MergeSupportFunc + (*SubscriptingRef)(nil), // 95: pg_query.SubscriptingRef + (*FuncExpr)(nil), // 96: pg_query.FuncExpr + (*NamedArgExpr)(nil), // 97: pg_query.NamedArgExpr + (*OpExpr)(nil), // 98: pg_query.OpExpr + (*DistinctExpr)(nil), // 99: pg_query.DistinctExpr + (*NullIfExpr)(nil), // 100: pg_query.NullIfExpr + (*ScalarArrayOpExpr)(nil), // 101: pg_query.ScalarArrayOpExpr + (*BoolExpr)(nil), // 102: pg_query.BoolExpr + (*SubLink)(nil), // 103: pg_query.SubLink + (*SubPlan)(nil), // 104: pg_query.SubPlan + (*AlternativeSubPlan)(nil), // 105: pg_query.AlternativeSubPlan + (*FieldSelect)(nil), // 106: pg_query.FieldSelect + (*FieldStore)(nil), // 107: pg_query.FieldStore + (*RelabelType)(nil), // 108: pg_query.RelabelType + (*CoerceViaIO)(nil), // 109: pg_query.CoerceViaIO + (*ArrayCoerceExpr)(nil), // 110: pg_query.ArrayCoerceExpr + (*ConvertRowtypeExpr)(nil), // 111: pg_query.ConvertRowtypeExpr + (*CollateExpr)(nil), // 112: pg_query.CollateExpr + (*CaseExpr)(nil), // 113: pg_query.CaseExpr + (*CaseWhen)(nil), // 114: pg_query.CaseWhen + (*CaseTestExpr)(nil), // 115: pg_query.CaseTestExpr + (*ArrayExpr)(nil), // 116: pg_query.ArrayExpr + (*RowExpr)(nil), // 117: pg_query.RowExpr + (*RowCompareExpr)(nil), // 118: pg_query.RowCompareExpr + (*CoalesceExpr)(nil), // 119: pg_query.CoalesceExpr + (*MinMaxExpr)(nil), // 120: pg_query.MinMaxExpr + (*SQLValueFunction)(nil), // 121: pg_query.SQLValueFunction + (*XmlExpr)(nil), // 122: pg_query.XmlExpr + (*JsonFormat)(nil), // 123: pg_query.JsonFormat + (*JsonReturning)(nil), // 124: pg_query.JsonReturning + (*JsonValueExpr)(nil), // 125: pg_query.JsonValueExpr + (*JsonConstructorExpr)(nil), // 126: pg_query.JsonConstructorExpr + (*JsonIsPredicate)(nil), // 127: pg_query.JsonIsPredicate + (*JsonBehavior)(nil), // 128: pg_query.JsonBehavior + (*JsonExpr)(nil), // 129: pg_query.JsonExpr + (*JsonTablePath)(nil), // 130: pg_query.JsonTablePath + (*JsonTablePathScan)(nil), // 131: pg_query.JsonTablePathScan + (*JsonTableSiblingJoin)(nil), // 132: pg_query.JsonTableSiblingJoin + (*NullTest)(nil), // 133: pg_query.NullTest + (*BooleanTest)(nil), // 134: pg_query.BooleanTest + (*MergeAction)(nil), // 135: pg_query.MergeAction + (*CoerceToDomain)(nil), // 136: pg_query.CoerceToDomain + (*CoerceToDomainValue)(nil), // 137: pg_query.CoerceToDomainValue + (*SetToDefault)(nil), // 138: pg_query.SetToDefault + (*CurrentOfExpr)(nil), // 139: pg_query.CurrentOfExpr + (*NextValueExpr)(nil), // 140: pg_query.NextValueExpr + (*InferenceElem)(nil), // 141: pg_query.InferenceElem + (*TargetEntry)(nil), // 142: pg_query.TargetEntry + (*RangeTblRef)(nil), // 143: pg_query.RangeTblRef + (*JoinExpr)(nil), // 144: pg_query.JoinExpr + (*FromExpr)(nil), // 145: pg_query.FromExpr + (*OnConflictExpr)(nil), // 146: pg_query.OnConflictExpr + (*Query)(nil), // 147: pg_query.Query + (*TypeName)(nil), // 148: pg_query.TypeName + (*ColumnRef)(nil), // 149: pg_query.ColumnRef + (*ParamRef)(nil), // 150: pg_query.ParamRef + (*A_Expr)(nil), // 151: pg_query.A_Expr + (*TypeCast)(nil), // 152: pg_query.TypeCast + (*CollateClause)(nil), // 153: pg_query.CollateClause + (*RoleSpec)(nil), // 154: pg_query.RoleSpec + (*FuncCall)(nil), // 155: pg_query.FuncCall + (*A_Star)(nil), // 156: pg_query.A_Star + (*A_Indices)(nil), // 157: pg_query.A_Indices + (*A_Indirection)(nil), // 158: pg_query.A_Indirection + (*A_ArrayExpr)(nil), // 159: pg_query.A_ArrayExpr + (*ResTarget)(nil), // 160: pg_query.ResTarget + (*MultiAssignRef)(nil), // 161: pg_query.MultiAssignRef + (*SortBy)(nil), // 162: pg_query.SortBy + (*WindowDef)(nil), // 163: pg_query.WindowDef + (*RangeSubselect)(nil), // 164: pg_query.RangeSubselect + (*RangeFunction)(nil), // 165: pg_query.RangeFunction + (*RangeTableFunc)(nil), // 166: pg_query.RangeTableFunc + (*RangeTableFuncCol)(nil), // 167: pg_query.RangeTableFuncCol + (*RangeTableSample)(nil), // 168: pg_query.RangeTableSample + (*ColumnDef)(nil), // 169: pg_query.ColumnDef + (*TableLikeClause)(nil), // 170: pg_query.TableLikeClause + (*IndexElem)(nil), // 171: pg_query.IndexElem + (*DefElem)(nil), // 172: pg_query.DefElem + (*LockingClause)(nil), // 173: pg_query.LockingClause + (*XmlSerialize)(nil), // 174: pg_query.XmlSerialize + (*PartitionElem)(nil), // 175: pg_query.PartitionElem + (*PartitionSpec)(nil), // 176: pg_query.PartitionSpec + (*PartitionBoundSpec)(nil), // 177: pg_query.PartitionBoundSpec + (*PartitionRangeDatum)(nil), // 178: pg_query.PartitionRangeDatum + (*SinglePartitionSpec)(nil), // 179: pg_query.SinglePartitionSpec + (*PartitionCmd)(nil), // 180: pg_query.PartitionCmd + (*RangeTblEntry)(nil), // 181: pg_query.RangeTblEntry + (*RTEPermissionInfo)(nil), // 182: pg_query.RTEPermissionInfo + (*RangeTblFunction)(nil), // 183: pg_query.RangeTblFunction + (*TableSampleClause)(nil), // 184: pg_query.TableSampleClause + (*WithCheckOption)(nil), // 185: pg_query.WithCheckOption + (*SortGroupClause)(nil), // 186: pg_query.SortGroupClause + (*GroupingSet)(nil), // 187: pg_query.GroupingSet + (*WindowClause)(nil), // 188: pg_query.WindowClause + (*RowMarkClause)(nil), // 189: pg_query.RowMarkClause + (*WithClause)(nil), // 190: pg_query.WithClause + (*InferClause)(nil), // 191: pg_query.InferClause + (*OnConflictClause)(nil), // 192: pg_query.OnConflictClause + (*CTESearchClause)(nil), // 193: pg_query.CTESearchClause + (*CTECycleClause)(nil), // 194: pg_query.CTECycleClause + (*CommonTableExpr)(nil), // 195: pg_query.CommonTableExpr + (*MergeWhenClause)(nil), // 196: pg_query.MergeWhenClause + (*TriggerTransition)(nil), // 197: pg_query.TriggerTransition + (*JsonOutput)(nil), // 198: pg_query.JsonOutput + (*JsonArgument)(nil), // 199: pg_query.JsonArgument + (*JsonFuncExpr)(nil), // 200: pg_query.JsonFuncExpr + (*JsonTablePathSpec)(nil), // 201: pg_query.JsonTablePathSpec + (*JsonTable)(nil), // 202: pg_query.JsonTable + (*JsonTableColumn)(nil), // 203: pg_query.JsonTableColumn + (*JsonKeyValue)(nil), // 204: pg_query.JsonKeyValue + (*JsonParseExpr)(nil), // 205: pg_query.JsonParseExpr + (*JsonScalarExpr)(nil), // 206: pg_query.JsonScalarExpr + (*JsonSerializeExpr)(nil), // 207: pg_query.JsonSerializeExpr + (*JsonObjectConstructor)(nil), // 208: pg_query.JsonObjectConstructor + (*JsonArrayConstructor)(nil), // 209: pg_query.JsonArrayConstructor + (*JsonArrayQueryConstructor)(nil), // 210: pg_query.JsonArrayQueryConstructor + (*JsonAggConstructor)(nil), // 211: pg_query.JsonAggConstructor + (*JsonObjectAgg)(nil), // 212: pg_query.JsonObjectAgg + (*JsonArrayAgg)(nil), // 213: pg_query.JsonArrayAgg + (*RawStmt)(nil), // 214: pg_query.RawStmt + (*InsertStmt)(nil), // 215: pg_query.InsertStmt + (*DeleteStmt)(nil), // 216: pg_query.DeleteStmt + (*UpdateStmt)(nil), // 217: pg_query.UpdateStmt + (*MergeStmt)(nil), // 218: pg_query.MergeStmt + (*SelectStmt)(nil), // 219: pg_query.SelectStmt + (*SetOperationStmt)(nil), // 220: pg_query.SetOperationStmt + (*ReturnStmt)(nil), // 221: pg_query.ReturnStmt + (*PLAssignStmt)(nil), // 222: pg_query.PLAssignStmt + (*CreateSchemaStmt)(nil), // 223: pg_query.CreateSchemaStmt + (*AlterTableStmt)(nil), // 224: pg_query.AlterTableStmt + (*ReplicaIdentityStmt)(nil), // 225: pg_query.ReplicaIdentityStmt + (*AlterTableCmd)(nil), // 226: pg_query.AlterTableCmd + (*AlterCollationStmt)(nil), // 227: pg_query.AlterCollationStmt + (*AlterDomainStmt)(nil), // 228: pg_query.AlterDomainStmt + (*GrantStmt)(nil), // 229: pg_query.GrantStmt + (*ObjectWithArgs)(nil), // 230: pg_query.ObjectWithArgs + (*AccessPriv)(nil), // 231: pg_query.AccessPriv + (*GrantRoleStmt)(nil), // 232: pg_query.GrantRoleStmt + (*AlterDefaultPrivilegesStmt)(nil), // 233: pg_query.AlterDefaultPrivilegesStmt + (*CopyStmt)(nil), // 234: pg_query.CopyStmt + (*VariableSetStmt)(nil), // 235: pg_query.VariableSetStmt + (*VariableShowStmt)(nil), // 236: pg_query.VariableShowStmt + (*CreateStmt)(nil), // 237: pg_query.CreateStmt + (*Constraint)(nil), // 238: pg_query.Constraint + (*CreateTableSpaceStmt)(nil), // 239: pg_query.CreateTableSpaceStmt + (*DropTableSpaceStmt)(nil), // 240: pg_query.DropTableSpaceStmt + (*AlterTableSpaceOptionsStmt)(nil), // 241: pg_query.AlterTableSpaceOptionsStmt + (*AlterTableMoveAllStmt)(nil), // 242: pg_query.AlterTableMoveAllStmt + (*CreateExtensionStmt)(nil), // 243: pg_query.CreateExtensionStmt + (*AlterExtensionStmt)(nil), // 244: pg_query.AlterExtensionStmt + (*AlterExtensionContentsStmt)(nil), // 245: pg_query.AlterExtensionContentsStmt + (*CreateFdwStmt)(nil), // 246: pg_query.CreateFdwStmt + (*AlterFdwStmt)(nil), // 247: pg_query.AlterFdwStmt + (*CreateForeignServerStmt)(nil), // 248: pg_query.CreateForeignServerStmt + (*AlterForeignServerStmt)(nil), // 249: pg_query.AlterForeignServerStmt + (*CreateForeignTableStmt)(nil), // 250: pg_query.CreateForeignTableStmt + (*CreateUserMappingStmt)(nil), // 251: pg_query.CreateUserMappingStmt + (*AlterUserMappingStmt)(nil), // 252: pg_query.AlterUserMappingStmt + (*DropUserMappingStmt)(nil), // 253: pg_query.DropUserMappingStmt + (*ImportForeignSchemaStmt)(nil), // 254: pg_query.ImportForeignSchemaStmt + (*CreatePolicyStmt)(nil), // 255: pg_query.CreatePolicyStmt + (*AlterPolicyStmt)(nil), // 256: pg_query.AlterPolicyStmt + (*CreateAmStmt)(nil), // 257: pg_query.CreateAmStmt + (*CreateTrigStmt)(nil), // 258: pg_query.CreateTrigStmt + (*CreateEventTrigStmt)(nil), // 259: pg_query.CreateEventTrigStmt + (*AlterEventTrigStmt)(nil), // 260: pg_query.AlterEventTrigStmt + (*CreatePLangStmt)(nil), // 261: pg_query.CreatePLangStmt + (*CreateRoleStmt)(nil), // 262: pg_query.CreateRoleStmt + (*AlterRoleStmt)(nil), // 263: pg_query.AlterRoleStmt + (*AlterRoleSetStmt)(nil), // 264: pg_query.AlterRoleSetStmt + (*DropRoleStmt)(nil), // 265: pg_query.DropRoleStmt + (*CreateSeqStmt)(nil), // 266: pg_query.CreateSeqStmt + (*AlterSeqStmt)(nil), // 267: pg_query.AlterSeqStmt + (*DefineStmt)(nil), // 268: pg_query.DefineStmt + (*CreateDomainStmt)(nil), // 269: pg_query.CreateDomainStmt + (*CreateOpClassStmt)(nil), // 270: pg_query.CreateOpClassStmt + (*CreateOpClassItem)(nil), // 271: pg_query.CreateOpClassItem + (*CreateOpFamilyStmt)(nil), // 272: pg_query.CreateOpFamilyStmt + (*AlterOpFamilyStmt)(nil), // 273: pg_query.AlterOpFamilyStmt + (*DropStmt)(nil), // 274: pg_query.DropStmt + (*TruncateStmt)(nil), // 275: pg_query.TruncateStmt + (*CommentStmt)(nil), // 276: pg_query.CommentStmt + (*SecLabelStmt)(nil), // 277: pg_query.SecLabelStmt + (*DeclareCursorStmt)(nil), // 278: pg_query.DeclareCursorStmt + (*ClosePortalStmt)(nil), // 279: pg_query.ClosePortalStmt + (*FetchStmt)(nil), // 280: pg_query.FetchStmt + (*IndexStmt)(nil), // 281: pg_query.IndexStmt + (*CreateStatsStmt)(nil), // 282: pg_query.CreateStatsStmt + (*StatsElem)(nil), // 283: pg_query.StatsElem + (*AlterStatsStmt)(nil), // 284: pg_query.AlterStatsStmt + (*CreateFunctionStmt)(nil), // 285: pg_query.CreateFunctionStmt + (*FunctionParameter)(nil), // 286: pg_query.FunctionParameter + (*AlterFunctionStmt)(nil), // 287: pg_query.AlterFunctionStmt + (*DoStmt)(nil), // 288: pg_query.DoStmt + (*InlineCodeBlock)(nil), // 289: pg_query.InlineCodeBlock + (*CallStmt)(nil), // 290: pg_query.CallStmt + (*CallContext)(nil), // 291: pg_query.CallContext + (*RenameStmt)(nil), // 292: pg_query.RenameStmt + (*AlterObjectDependsStmt)(nil), // 293: pg_query.AlterObjectDependsStmt + (*AlterObjectSchemaStmt)(nil), // 294: pg_query.AlterObjectSchemaStmt + (*AlterOwnerStmt)(nil), // 295: pg_query.AlterOwnerStmt + (*AlterOperatorStmt)(nil), // 296: pg_query.AlterOperatorStmt + (*AlterTypeStmt)(nil), // 297: pg_query.AlterTypeStmt + (*RuleStmt)(nil), // 298: pg_query.RuleStmt + (*NotifyStmt)(nil), // 299: pg_query.NotifyStmt + (*ListenStmt)(nil), // 300: pg_query.ListenStmt + (*UnlistenStmt)(nil), // 301: pg_query.UnlistenStmt + (*TransactionStmt)(nil), // 302: pg_query.TransactionStmt + (*CompositeTypeStmt)(nil), // 303: pg_query.CompositeTypeStmt + (*CreateEnumStmt)(nil), // 304: pg_query.CreateEnumStmt + (*CreateRangeStmt)(nil), // 305: pg_query.CreateRangeStmt + (*AlterEnumStmt)(nil), // 306: pg_query.AlterEnumStmt + (*ViewStmt)(nil), // 307: pg_query.ViewStmt + (*LoadStmt)(nil), // 308: pg_query.LoadStmt + (*CreatedbStmt)(nil), // 309: pg_query.CreatedbStmt + (*AlterDatabaseStmt)(nil), // 310: pg_query.AlterDatabaseStmt + (*AlterDatabaseRefreshCollStmt)(nil), // 311: pg_query.AlterDatabaseRefreshCollStmt + (*AlterDatabaseSetStmt)(nil), // 312: pg_query.AlterDatabaseSetStmt + (*DropdbStmt)(nil), // 313: pg_query.DropdbStmt + (*AlterSystemStmt)(nil), // 314: pg_query.AlterSystemStmt + (*ClusterStmt)(nil), // 315: pg_query.ClusterStmt + (*VacuumStmt)(nil), // 316: pg_query.VacuumStmt + (*VacuumRelation)(nil), // 317: pg_query.VacuumRelation + (*ExplainStmt)(nil), // 318: pg_query.ExplainStmt + (*CreateTableAsStmt)(nil), // 319: pg_query.CreateTableAsStmt + (*RefreshMatViewStmt)(nil), // 320: pg_query.RefreshMatViewStmt + (*CheckPointStmt)(nil), // 321: pg_query.CheckPointStmt + (*DiscardStmt)(nil), // 322: pg_query.DiscardStmt + (*LockStmt)(nil), // 323: pg_query.LockStmt + (*ConstraintsSetStmt)(nil), // 324: pg_query.ConstraintsSetStmt + (*ReindexStmt)(nil), // 325: pg_query.ReindexStmt + (*CreateConversionStmt)(nil), // 326: pg_query.CreateConversionStmt + (*CreateCastStmt)(nil), // 327: pg_query.CreateCastStmt + (*CreateTransformStmt)(nil), // 328: pg_query.CreateTransformStmt + (*PrepareStmt)(nil), // 329: pg_query.PrepareStmt + (*ExecuteStmt)(nil), // 330: pg_query.ExecuteStmt + (*DeallocateStmt)(nil), // 331: pg_query.DeallocateStmt + (*DropOwnedStmt)(nil), // 332: pg_query.DropOwnedStmt + (*ReassignOwnedStmt)(nil), // 333: pg_query.ReassignOwnedStmt + (*AlterTSDictionaryStmt)(nil), // 334: pg_query.AlterTSDictionaryStmt + (*AlterTSConfigurationStmt)(nil), // 335: pg_query.AlterTSConfigurationStmt + (*PublicationTable)(nil), // 336: pg_query.PublicationTable + (*PublicationObjSpec)(nil), // 337: pg_query.PublicationObjSpec + (*CreatePublicationStmt)(nil), // 338: pg_query.CreatePublicationStmt + (*AlterPublicationStmt)(nil), // 339: pg_query.AlterPublicationStmt + (*CreateSubscriptionStmt)(nil), // 340: pg_query.CreateSubscriptionStmt + (*AlterSubscriptionStmt)(nil), // 341: pg_query.AlterSubscriptionStmt + (*DropSubscriptionStmt)(nil), // 342: pg_query.DropSubscriptionStmt + (*ScanToken)(nil), // 343: pg_query.ScanToken + (*SummaryResult)(nil), // 344: pg_query.SummaryResult + (*SummaryResult_Table)(nil), // 345: pg_query.SummaryResult.Table + nil, // 346: pg_query.SummaryResult.AliasesEntry + (*SummaryResult_Function)(nil), // 347: pg_query.SummaryResult.Function + (*SummaryResult_FilterColumn)(nil), // 348: pg_query.SummaryResult.FilterColumn } var file_pg_query_proto_depIdxs = []int32{ - 122, // 0: pg_query.ParseResult.stmts:type_name -> pg_query.RawStmt - 300, // 1: pg_query.ScanResult.tokens:type_name -> pg_query.ScanToken - 71, // 2: pg_query.Node.alias:type_name -> pg_query.Alias - 72, // 3: pg_query.Node.range_var:type_name -> pg_query.RangeVar - 73, // 4: pg_query.Node.table_func:type_name -> pg_query.TableFunc - 74, // 5: pg_query.Node.var:type_name -> pg_query.Var - 75, // 6: pg_query.Node.param:type_name -> pg_query.Param - 76, // 7: pg_query.Node.aggref:type_name -> pg_query.Aggref - 77, // 8: pg_query.Node.grouping_func:type_name -> pg_query.GroupingFunc - 78, // 9: pg_query.Node.window_func:type_name -> pg_query.WindowFunc - 79, // 10: pg_query.Node.subscripting_ref:type_name -> pg_query.SubscriptingRef - 80, // 11: pg_query.Node.func_expr:type_name -> pg_query.FuncExpr - 81, // 12: pg_query.Node.named_arg_expr:type_name -> pg_query.NamedArgExpr - 82, // 13: pg_query.Node.op_expr:type_name -> pg_query.OpExpr - 83, // 14: pg_query.Node.distinct_expr:type_name -> pg_query.DistinctExpr - 84, // 15: pg_query.Node.null_if_expr:type_name -> pg_query.NullIfExpr - 85, // 16: pg_query.Node.scalar_array_op_expr:type_name -> pg_query.ScalarArrayOpExpr - 86, // 17: pg_query.Node.bool_expr:type_name -> pg_query.BoolExpr - 87, // 18: pg_query.Node.sub_link:type_name -> pg_query.SubLink - 88, // 19: pg_query.Node.sub_plan:type_name -> pg_query.SubPlan - 89, // 20: pg_query.Node.alternative_sub_plan:type_name -> pg_query.AlternativeSubPlan - 90, // 21: pg_query.Node.field_select:type_name -> pg_query.FieldSelect - 91, // 22: pg_query.Node.field_store:type_name -> pg_query.FieldStore - 92, // 23: pg_query.Node.relabel_type:type_name -> pg_query.RelabelType - 93, // 24: pg_query.Node.coerce_via_io:type_name -> pg_query.CoerceViaIO - 94, // 25: pg_query.Node.array_coerce_expr:type_name -> pg_query.ArrayCoerceExpr - 95, // 26: pg_query.Node.convert_rowtype_expr:type_name -> pg_query.ConvertRowtypeExpr - 96, // 27: pg_query.Node.collate_expr:type_name -> pg_query.CollateExpr - 97, // 28: pg_query.Node.case_expr:type_name -> pg_query.CaseExpr - 98, // 29: pg_query.Node.case_when:type_name -> pg_query.CaseWhen - 99, // 30: pg_query.Node.case_test_expr:type_name -> pg_query.CaseTestExpr - 100, // 31: pg_query.Node.array_expr:type_name -> pg_query.ArrayExpr - 101, // 32: pg_query.Node.row_expr:type_name -> pg_query.RowExpr - 102, // 33: pg_query.Node.row_compare_expr:type_name -> pg_query.RowCompareExpr - 103, // 34: pg_query.Node.coalesce_expr:type_name -> pg_query.CoalesceExpr - 104, // 35: pg_query.Node.min_max_expr:type_name -> pg_query.MinMaxExpr - 105, // 36: pg_query.Node.sqlvalue_function:type_name -> pg_query.SQLValueFunction - 106, // 37: pg_query.Node.xml_expr:type_name -> pg_query.XmlExpr - 107, // 38: pg_query.Node.null_test:type_name -> pg_query.NullTest - 108, // 39: pg_query.Node.boolean_test:type_name -> pg_query.BooleanTest - 109, // 40: pg_query.Node.coerce_to_domain:type_name -> pg_query.CoerceToDomain - 110, // 41: pg_query.Node.coerce_to_domain_value:type_name -> pg_query.CoerceToDomainValue - 111, // 42: pg_query.Node.set_to_default:type_name -> pg_query.SetToDefault - 112, // 43: pg_query.Node.current_of_expr:type_name -> pg_query.CurrentOfExpr - 113, // 44: pg_query.Node.next_value_expr:type_name -> pg_query.NextValueExpr - 114, // 45: pg_query.Node.inference_elem:type_name -> pg_query.InferenceElem - 115, // 46: pg_query.Node.target_entry:type_name -> pg_query.TargetEntry - 116, // 47: pg_query.Node.range_tbl_ref:type_name -> pg_query.RangeTblRef - 117, // 48: pg_query.Node.join_expr:type_name -> pg_query.JoinExpr - 118, // 49: pg_query.Node.from_expr:type_name -> pg_query.FromExpr - 119, // 50: pg_query.Node.on_conflict_expr:type_name -> pg_query.OnConflictExpr - 120, // 51: pg_query.Node.into_clause:type_name -> pg_query.IntoClause - 121, // 52: pg_query.Node.merge_action:type_name -> pg_query.MergeAction - 122, // 53: pg_query.Node.raw_stmt:type_name -> pg_query.RawStmt - 123, // 54: pg_query.Node.query:type_name -> pg_query.Query - 124, // 55: pg_query.Node.insert_stmt:type_name -> pg_query.InsertStmt - 125, // 56: pg_query.Node.delete_stmt:type_name -> pg_query.DeleteStmt - 126, // 57: pg_query.Node.update_stmt:type_name -> pg_query.UpdateStmt - 127, // 58: pg_query.Node.merge_stmt:type_name -> pg_query.MergeStmt - 128, // 59: pg_query.Node.select_stmt:type_name -> pg_query.SelectStmt - 129, // 60: pg_query.Node.return_stmt:type_name -> pg_query.ReturnStmt - 130, // 61: pg_query.Node.plassign_stmt:type_name -> pg_query.PLAssignStmt - 131, // 62: pg_query.Node.alter_table_stmt:type_name -> pg_query.AlterTableStmt - 132, // 63: pg_query.Node.alter_table_cmd:type_name -> pg_query.AlterTableCmd - 133, // 64: pg_query.Node.alter_domain_stmt:type_name -> pg_query.AlterDomainStmt - 134, // 65: pg_query.Node.set_operation_stmt:type_name -> pg_query.SetOperationStmt - 135, // 66: pg_query.Node.grant_stmt:type_name -> pg_query.GrantStmt - 136, // 67: pg_query.Node.grant_role_stmt:type_name -> pg_query.GrantRoleStmt - 137, // 68: pg_query.Node.alter_default_privileges_stmt:type_name -> pg_query.AlterDefaultPrivilegesStmt - 138, // 69: pg_query.Node.close_portal_stmt:type_name -> pg_query.ClosePortalStmt - 139, // 70: pg_query.Node.cluster_stmt:type_name -> pg_query.ClusterStmt - 140, // 71: pg_query.Node.copy_stmt:type_name -> pg_query.CopyStmt - 141, // 72: pg_query.Node.create_stmt:type_name -> pg_query.CreateStmt - 142, // 73: pg_query.Node.define_stmt:type_name -> pg_query.DefineStmt - 143, // 74: pg_query.Node.drop_stmt:type_name -> pg_query.DropStmt - 144, // 75: pg_query.Node.truncate_stmt:type_name -> pg_query.TruncateStmt - 145, // 76: pg_query.Node.comment_stmt:type_name -> pg_query.CommentStmt - 146, // 77: pg_query.Node.fetch_stmt:type_name -> pg_query.FetchStmt - 147, // 78: pg_query.Node.index_stmt:type_name -> pg_query.IndexStmt - 148, // 79: pg_query.Node.create_function_stmt:type_name -> pg_query.CreateFunctionStmt - 149, // 80: pg_query.Node.alter_function_stmt:type_name -> pg_query.AlterFunctionStmt - 150, // 81: pg_query.Node.do_stmt:type_name -> pg_query.DoStmt - 151, // 82: pg_query.Node.rename_stmt:type_name -> pg_query.RenameStmt - 152, // 83: pg_query.Node.rule_stmt:type_name -> pg_query.RuleStmt - 153, // 84: pg_query.Node.notify_stmt:type_name -> pg_query.NotifyStmt - 154, // 85: pg_query.Node.listen_stmt:type_name -> pg_query.ListenStmt - 155, // 86: pg_query.Node.unlisten_stmt:type_name -> pg_query.UnlistenStmt - 156, // 87: pg_query.Node.transaction_stmt:type_name -> pg_query.TransactionStmt - 157, // 88: pg_query.Node.view_stmt:type_name -> pg_query.ViewStmt - 158, // 89: pg_query.Node.load_stmt:type_name -> pg_query.LoadStmt - 159, // 90: pg_query.Node.create_domain_stmt:type_name -> pg_query.CreateDomainStmt - 160, // 91: pg_query.Node.createdb_stmt:type_name -> pg_query.CreatedbStmt - 161, // 92: pg_query.Node.dropdb_stmt:type_name -> pg_query.DropdbStmt - 162, // 93: pg_query.Node.vacuum_stmt:type_name -> pg_query.VacuumStmt - 163, // 94: pg_query.Node.explain_stmt:type_name -> pg_query.ExplainStmt - 164, // 95: pg_query.Node.create_table_as_stmt:type_name -> pg_query.CreateTableAsStmt - 165, // 96: pg_query.Node.create_seq_stmt:type_name -> pg_query.CreateSeqStmt - 166, // 97: pg_query.Node.alter_seq_stmt:type_name -> pg_query.AlterSeqStmt - 167, // 98: pg_query.Node.variable_set_stmt:type_name -> pg_query.VariableSetStmt - 168, // 99: pg_query.Node.variable_show_stmt:type_name -> pg_query.VariableShowStmt - 169, // 100: pg_query.Node.discard_stmt:type_name -> pg_query.DiscardStmt - 170, // 101: pg_query.Node.create_trig_stmt:type_name -> pg_query.CreateTrigStmt - 171, // 102: pg_query.Node.create_plang_stmt:type_name -> pg_query.CreatePLangStmt - 172, // 103: pg_query.Node.create_role_stmt:type_name -> pg_query.CreateRoleStmt - 173, // 104: pg_query.Node.alter_role_stmt:type_name -> pg_query.AlterRoleStmt - 174, // 105: pg_query.Node.drop_role_stmt:type_name -> pg_query.DropRoleStmt - 175, // 106: pg_query.Node.lock_stmt:type_name -> pg_query.LockStmt - 176, // 107: pg_query.Node.constraints_set_stmt:type_name -> pg_query.ConstraintsSetStmt - 177, // 108: pg_query.Node.reindex_stmt:type_name -> pg_query.ReindexStmt - 178, // 109: pg_query.Node.check_point_stmt:type_name -> pg_query.CheckPointStmt - 179, // 110: pg_query.Node.create_schema_stmt:type_name -> pg_query.CreateSchemaStmt - 180, // 111: pg_query.Node.alter_database_stmt:type_name -> pg_query.AlterDatabaseStmt - 181, // 112: pg_query.Node.alter_database_refresh_coll_stmt:type_name -> pg_query.AlterDatabaseRefreshCollStmt - 182, // 113: pg_query.Node.alter_database_set_stmt:type_name -> pg_query.AlterDatabaseSetStmt - 183, // 114: pg_query.Node.alter_role_set_stmt:type_name -> pg_query.AlterRoleSetStmt - 184, // 115: pg_query.Node.create_conversion_stmt:type_name -> pg_query.CreateConversionStmt - 185, // 116: pg_query.Node.create_cast_stmt:type_name -> pg_query.CreateCastStmt - 186, // 117: pg_query.Node.create_op_class_stmt:type_name -> pg_query.CreateOpClassStmt - 187, // 118: pg_query.Node.create_op_family_stmt:type_name -> pg_query.CreateOpFamilyStmt - 188, // 119: pg_query.Node.alter_op_family_stmt:type_name -> pg_query.AlterOpFamilyStmt - 189, // 120: pg_query.Node.prepare_stmt:type_name -> pg_query.PrepareStmt - 190, // 121: pg_query.Node.execute_stmt:type_name -> pg_query.ExecuteStmt - 191, // 122: pg_query.Node.deallocate_stmt:type_name -> pg_query.DeallocateStmt - 192, // 123: pg_query.Node.declare_cursor_stmt:type_name -> pg_query.DeclareCursorStmt - 193, // 124: pg_query.Node.create_table_space_stmt:type_name -> pg_query.CreateTableSpaceStmt - 194, // 125: pg_query.Node.drop_table_space_stmt:type_name -> pg_query.DropTableSpaceStmt - 195, // 126: pg_query.Node.alter_object_depends_stmt:type_name -> pg_query.AlterObjectDependsStmt - 196, // 127: pg_query.Node.alter_object_schema_stmt:type_name -> pg_query.AlterObjectSchemaStmt - 197, // 128: pg_query.Node.alter_owner_stmt:type_name -> pg_query.AlterOwnerStmt - 198, // 129: pg_query.Node.alter_operator_stmt:type_name -> pg_query.AlterOperatorStmt - 199, // 130: pg_query.Node.alter_type_stmt:type_name -> pg_query.AlterTypeStmt - 200, // 131: pg_query.Node.drop_owned_stmt:type_name -> pg_query.DropOwnedStmt - 201, // 132: pg_query.Node.reassign_owned_stmt:type_name -> pg_query.ReassignOwnedStmt - 202, // 133: pg_query.Node.composite_type_stmt:type_name -> pg_query.CompositeTypeStmt - 203, // 134: pg_query.Node.create_enum_stmt:type_name -> pg_query.CreateEnumStmt - 204, // 135: pg_query.Node.create_range_stmt:type_name -> pg_query.CreateRangeStmt - 205, // 136: pg_query.Node.alter_enum_stmt:type_name -> pg_query.AlterEnumStmt - 206, // 137: pg_query.Node.alter_tsdictionary_stmt:type_name -> pg_query.AlterTSDictionaryStmt - 207, // 138: pg_query.Node.alter_tsconfiguration_stmt:type_name -> pg_query.AlterTSConfigurationStmt - 208, // 139: pg_query.Node.create_fdw_stmt:type_name -> pg_query.CreateFdwStmt - 209, // 140: pg_query.Node.alter_fdw_stmt:type_name -> pg_query.AlterFdwStmt - 210, // 141: pg_query.Node.create_foreign_server_stmt:type_name -> pg_query.CreateForeignServerStmt - 211, // 142: pg_query.Node.alter_foreign_server_stmt:type_name -> pg_query.AlterForeignServerStmt - 212, // 143: pg_query.Node.create_user_mapping_stmt:type_name -> pg_query.CreateUserMappingStmt - 213, // 144: pg_query.Node.alter_user_mapping_stmt:type_name -> pg_query.AlterUserMappingStmt - 214, // 145: pg_query.Node.drop_user_mapping_stmt:type_name -> pg_query.DropUserMappingStmt - 215, // 146: pg_query.Node.alter_table_space_options_stmt:type_name -> pg_query.AlterTableSpaceOptionsStmt - 216, // 147: pg_query.Node.alter_table_move_all_stmt:type_name -> pg_query.AlterTableMoveAllStmt - 217, // 148: pg_query.Node.sec_label_stmt:type_name -> pg_query.SecLabelStmt - 218, // 149: pg_query.Node.create_foreign_table_stmt:type_name -> pg_query.CreateForeignTableStmt - 219, // 150: pg_query.Node.import_foreign_schema_stmt:type_name -> pg_query.ImportForeignSchemaStmt - 220, // 151: pg_query.Node.create_extension_stmt:type_name -> pg_query.CreateExtensionStmt - 221, // 152: pg_query.Node.alter_extension_stmt:type_name -> pg_query.AlterExtensionStmt - 222, // 153: pg_query.Node.alter_extension_contents_stmt:type_name -> pg_query.AlterExtensionContentsStmt - 223, // 154: pg_query.Node.create_event_trig_stmt:type_name -> pg_query.CreateEventTrigStmt - 224, // 155: pg_query.Node.alter_event_trig_stmt:type_name -> pg_query.AlterEventTrigStmt - 225, // 156: pg_query.Node.refresh_mat_view_stmt:type_name -> pg_query.RefreshMatViewStmt - 226, // 157: pg_query.Node.replica_identity_stmt:type_name -> pg_query.ReplicaIdentityStmt - 227, // 158: pg_query.Node.alter_system_stmt:type_name -> pg_query.AlterSystemStmt - 228, // 159: pg_query.Node.create_policy_stmt:type_name -> pg_query.CreatePolicyStmt - 229, // 160: pg_query.Node.alter_policy_stmt:type_name -> pg_query.AlterPolicyStmt - 230, // 161: pg_query.Node.create_transform_stmt:type_name -> pg_query.CreateTransformStmt - 231, // 162: pg_query.Node.create_am_stmt:type_name -> pg_query.CreateAmStmt - 232, // 163: pg_query.Node.create_publication_stmt:type_name -> pg_query.CreatePublicationStmt - 233, // 164: pg_query.Node.alter_publication_stmt:type_name -> pg_query.AlterPublicationStmt - 234, // 165: pg_query.Node.create_subscription_stmt:type_name -> pg_query.CreateSubscriptionStmt - 235, // 166: pg_query.Node.alter_subscription_stmt:type_name -> pg_query.AlterSubscriptionStmt - 236, // 167: pg_query.Node.drop_subscription_stmt:type_name -> pg_query.DropSubscriptionStmt - 237, // 168: pg_query.Node.create_stats_stmt:type_name -> pg_query.CreateStatsStmt - 238, // 169: pg_query.Node.alter_collation_stmt:type_name -> pg_query.AlterCollationStmt - 239, // 170: pg_query.Node.call_stmt:type_name -> pg_query.CallStmt - 240, // 171: pg_query.Node.alter_stats_stmt:type_name -> pg_query.AlterStatsStmt - 241, // 172: pg_query.Node.a_expr:type_name -> pg_query.A_Expr - 242, // 173: pg_query.Node.column_ref:type_name -> pg_query.ColumnRef - 243, // 174: pg_query.Node.param_ref:type_name -> pg_query.ParamRef - 244, // 175: pg_query.Node.func_call:type_name -> pg_query.FuncCall - 245, // 176: pg_query.Node.a_star:type_name -> pg_query.A_Star - 246, // 177: pg_query.Node.a_indices:type_name -> pg_query.A_Indices - 247, // 178: pg_query.Node.a_indirection:type_name -> pg_query.A_Indirection - 248, // 179: pg_query.Node.a_array_expr:type_name -> pg_query.A_ArrayExpr - 249, // 180: pg_query.Node.res_target:type_name -> pg_query.ResTarget - 250, // 181: pg_query.Node.multi_assign_ref:type_name -> pg_query.MultiAssignRef - 251, // 182: pg_query.Node.type_cast:type_name -> pg_query.TypeCast - 252, // 183: pg_query.Node.collate_clause:type_name -> pg_query.CollateClause - 253, // 184: pg_query.Node.sort_by:type_name -> pg_query.SortBy - 254, // 185: pg_query.Node.window_def:type_name -> pg_query.WindowDef - 255, // 186: pg_query.Node.range_subselect:type_name -> pg_query.RangeSubselect - 256, // 187: pg_query.Node.range_function:type_name -> pg_query.RangeFunction - 257, // 188: pg_query.Node.range_table_sample:type_name -> pg_query.RangeTableSample - 258, // 189: pg_query.Node.range_table_func:type_name -> pg_query.RangeTableFunc - 259, // 190: pg_query.Node.range_table_func_col:type_name -> pg_query.RangeTableFuncCol - 260, // 191: pg_query.Node.type_name:type_name -> pg_query.TypeName - 261, // 192: pg_query.Node.column_def:type_name -> pg_query.ColumnDef - 262, // 193: pg_query.Node.index_elem:type_name -> pg_query.IndexElem - 263, // 194: pg_query.Node.stats_elem:type_name -> pg_query.StatsElem - 264, // 195: pg_query.Node.constraint:type_name -> pg_query.Constraint - 265, // 196: pg_query.Node.def_elem:type_name -> pg_query.DefElem - 266, // 197: pg_query.Node.range_tbl_entry:type_name -> pg_query.RangeTblEntry - 267, // 198: pg_query.Node.range_tbl_function:type_name -> pg_query.RangeTblFunction - 268, // 199: pg_query.Node.table_sample_clause:type_name -> pg_query.TableSampleClause - 269, // 200: pg_query.Node.with_check_option:type_name -> pg_query.WithCheckOption - 270, // 201: pg_query.Node.sort_group_clause:type_name -> pg_query.SortGroupClause - 271, // 202: pg_query.Node.grouping_set:type_name -> pg_query.GroupingSet - 272, // 203: pg_query.Node.window_clause:type_name -> pg_query.WindowClause - 273, // 204: pg_query.Node.object_with_args:type_name -> pg_query.ObjectWithArgs - 274, // 205: pg_query.Node.access_priv:type_name -> pg_query.AccessPriv - 275, // 206: pg_query.Node.create_op_class_item:type_name -> pg_query.CreateOpClassItem - 276, // 207: pg_query.Node.table_like_clause:type_name -> pg_query.TableLikeClause - 277, // 208: pg_query.Node.function_parameter:type_name -> pg_query.FunctionParameter - 278, // 209: pg_query.Node.locking_clause:type_name -> pg_query.LockingClause - 279, // 210: pg_query.Node.row_mark_clause:type_name -> pg_query.RowMarkClause - 280, // 211: pg_query.Node.xml_serialize:type_name -> pg_query.XmlSerialize - 281, // 212: pg_query.Node.with_clause:type_name -> pg_query.WithClause - 282, // 213: pg_query.Node.infer_clause:type_name -> pg_query.InferClause - 283, // 214: pg_query.Node.on_conflict_clause:type_name -> pg_query.OnConflictClause - 284, // 215: pg_query.Node.ctesearch_clause:type_name -> pg_query.CTESearchClause - 285, // 216: pg_query.Node.ctecycle_clause:type_name -> pg_query.CTECycleClause - 286, // 217: pg_query.Node.common_table_expr:type_name -> pg_query.CommonTableExpr - 287, // 218: pg_query.Node.merge_when_clause:type_name -> pg_query.MergeWhenClause - 288, // 219: pg_query.Node.role_spec:type_name -> pg_query.RoleSpec - 289, // 220: pg_query.Node.trigger_transition:type_name -> pg_query.TriggerTransition - 290, // 221: pg_query.Node.partition_elem:type_name -> pg_query.PartitionElem - 291, // 222: pg_query.Node.partition_spec:type_name -> pg_query.PartitionSpec - 292, // 223: pg_query.Node.partition_bound_spec:type_name -> pg_query.PartitionBoundSpec - 293, // 224: pg_query.Node.partition_range_datum:type_name -> pg_query.PartitionRangeDatum - 294, // 225: pg_query.Node.partition_cmd:type_name -> pg_query.PartitionCmd - 295, // 226: pg_query.Node.vacuum_relation:type_name -> pg_query.VacuumRelation - 296, // 227: pg_query.Node.publication_obj_spec:type_name -> pg_query.PublicationObjSpec - 297, // 228: pg_query.Node.publication_table:type_name -> pg_query.PublicationTable - 298, // 229: pg_query.Node.inline_code_block:type_name -> pg_query.InlineCodeBlock - 299, // 230: pg_query.Node.call_context:type_name -> pg_query.CallContext - 62, // 231: pg_query.Node.integer:type_name -> pg_query.Integer - 63, // 232: pg_query.Node.float:type_name -> pg_query.Float - 64, // 233: pg_query.Node.boolean:type_name -> pg_query.Boolean - 65, // 234: pg_query.Node.string:type_name -> pg_query.String - 66, // 235: pg_query.Node.bit_string:type_name -> pg_query.BitString - 67, // 236: pg_query.Node.list:type_name -> pg_query.List - 69, // 237: pg_query.Node.int_list:type_name -> pg_query.IntList - 68, // 238: pg_query.Node.oid_list:type_name -> pg_query.OidList - 70, // 239: pg_query.Node.a_const:type_name -> pg_query.A_Const - 61, // 240: pg_query.List.items:type_name -> pg_query.Node - 61, // 241: pg_query.OidList.items:type_name -> pg_query.Node - 61, // 242: pg_query.IntList.items:type_name -> pg_query.Node - 62, // 243: pg_query.A_Const.ival:type_name -> pg_query.Integer - 63, // 244: pg_query.A_Const.fval:type_name -> pg_query.Float - 64, // 245: pg_query.A_Const.boolval:type_name -> pg_query.Boolean - 65, // 246: pg_query.A_Const.sval:type_name -> pg_query.String - 66, // 247: pg_query.A_Const.bsval:type_name -> pg_query.BitString - 61, // 248: pg_query.Alias.colnames:type_name -> pg_query.Node - 71, // 249: pg_query.RangeVar.alias:type_name -> pg_query.Alias - 61, // 250: pg_query.TableFunc.ns_uris:type_name -> pg_query.Node - 61, // 251: pg_query.TableFunc.ns_names:type_name -> pg_query.Node - 61, // 252: pg_query.TableFunc.docexpr:type_name -> pg_query.Node - 61, // 253: pg_query.TableFunc.rowexpr:type_name -> pg_query.Node - 61, // 254: pg_query.TableFunc.colnames:type_name -> pg_query.Node - 61, // 255: pg_query.TableFunc.coltypes:type_name -> pg_query.Node - 61, // 256: pg_query.TableFunc.coltypmods:type_name -> pg_query.Node - 61, // 257: pg_query.TableFunc.colcollations:type_name -> pg_query.Node - 61, // 258: pg_query.TableFunc.colexprs:type_name -> pg_query.Node - 61, // 259: pg_query.TableFunc.coldefexprs:type_name -> pg_query.Node - 61, // 260: pg_query.Var.xpr:type_name -> pg_query.Node - 61, // 261: pg_query.Param.xpr:type_name -> pg_query.Node - 34, // 262: pg_query.Param.paramkind:type_name -> pg_query.ParamKind - 61, // 263: pg_query.Aggref.xpr:type_name -> pg_query.Node - 61, // 264: pg_query.Aggref.aggargtypes:type_name -> pg_query.Node - 61, // 265: pg_query.Aggref.aggdirectargs:type_name -> pg_query.Node - 61, // 266: pg_query.Aggref.args:type_name -> pg_query.Node - 61, // 267: pg_query.Aggref.aggorder:type_name -> pg_query.Node - 61, // 268: pg_query.Aggref.aggdistinct:type_name -> pg_query.Node - 61, // 269: pg_query.Aggref.aggfilter:type_name -> pg_query.Node - 49, // 270: pg_query.Aggref.aggsplit:type_name -> pg_query.AggSplit - 61, // 271: pg_query.GroupingFunc.xpr:type_name -> pg_query.Node - 61, // 272: pg_query.GroupingFunc.args:type_name -> pg_query.Node - 61, // 273: pg_query.GroupingFunc.refs:type_name -> pg_query.Node - 61, // 274: pg_query.GroupingFunc.cols:type_name -> pg_query.Node - 61, // 275: pg_query.WindowFunc.xpr:type_name -> pg_query.Node - 61, // 276: pg_query.WindowFunc.args:type_name -> pg_query.Node - 61, // 277: pg_query.WindowFunc.aggfilter:type_name -> pg_query.Node - 61, // 278: pg_query.SubscriptingRef.xpr:type_name -> pg_query.Node - 61, // 279: pg_query.SubscriptingRef.refupperindexpr:type_name -> pg_query.Node - 61, // 280: pg_query.SubscriptingRef.reflowerindexpr:type_name -> pg_query.Node - 61, // 281: pg_query.SubscriptingRef.refexpr:type_name -> pg_query.Node - 61, // 282: pg_query.SubscriptingRef.refassgnexpr:type_name -> pg_query.Node - 61, // 283: pg_query.FuncExpr.xpr:type_name -> pg_query.Node - 36, // 284: pg_query.FuncExpr.funcformat:type_name -> pg_query.CoercionForm - 61, // 285: pg_query.FuncExpr.args:type_name -> pg_query.Node - 61, // 286: pg_query.NamedArgExpr.xpr:type_name -> pg_query.Node - 61, // 287: pg_query.NamedArgExpr.arg:type_name -> pg_query.Node - 61, // 288: pg_query.OpExpr.xpr:type_name -> pg_query.Node - 61, // 289: pg_query.OpExpr.args:type_name -> pg_query.Node - 61, // 290: pg_query.DistinctExpr.xpr:type_name -> pg_query.Node - 61, // 291: pg_query.DistinctExpr.args:type_name -> pg_query.Node - 61, // 292: pg_query.NullIfExpr.xpr:type_name -> pg_query.Node - 61, // 293: pg_query.NullIfExpr.args:type_name -> pg_query.Node - 61, // 294: pg_query.ScalarArrayOpExpr.xpr:type_name -> pg_query.Node - 61, // 295: pg_query.ScalarArrayOpExpr.args:type_name -> pg_query.Node - 61, // 296: pg_query.BoolExpr.xpr:type_name -> pg_query.Node - 37, // 297: pg_query.BoolExpr.boolop:type_name -> pg_query.BoolExprType - 61, // 298: pg_query.BoolExpr.args:type_name -> pg_query.Node - 61, // 299: pg_query.SubLink.xpr:type_name -> pg_query.Node - 38, // 300: pg_query.SubLink.sub_link_type:type_name -> pg_query.SubLinkType - 61, // 301: pg_query.SubLink.testexpr:type_name -> pg_query.Node - 61, // 302: pg_query.SubLink.oper_name:type_name -> pg_query.Node - 61, // 303: pg_query.SubLink.subselect:type_name -> pg_query.Node - 61, // 304: pg_query.SubPlan.xpr:type_name -> pg_query.Node - 38, // 305: pg_query.SubPlan.sub_link_type:type_name -> pg_query.SubLinkType - 61, // 306: pg_query.SubPlan.testexpr:type_name -> pg_query.Node - 61, // 307: pg_query.SubPlan.param_ids:type_name -> pg_query.Node - 61, // 308: pg_query.SubPlan.set_param:type_name -> pg_query.Node - 61, // 309: pg_query.SubPlan.par_param:type_name -> pg_query.Node - 61, // 310: pg_query.SubPlan.args:type_name -> pg_query.Node - 61, // 311: pg_query.AlternativeSubPlan.xpr:type_name -> pg_query.Node - 61, // 312: pg_query.AlternativeSubPlan.subplans:type_name -> pg_query.Node - 61, // 313: pg_query.FieldSelect.xpr:type_name -> pg_query.Node - 61, // 314: pg_query.FieldSelect.arg:type_name -> pg_query.Node - 61, // 315: pg_query.FieldStore.xpr:type_name -> pg_query.Node - 61, // 316: pg_query.FieldStore.arg:type_name -> pg_query.Node - 61, // 317: pg_query.FieldStore.newvals:type_name -> pg_query.Node - 61, // 318: pg_query.FieldStore.fieldnums:type_name -> pg_query.Node - 61, // 319: pg_query.RelabelType.xpr:type_name -> pg_query.Node - 61, // 320: pg_query.RelabelType.arg:type_name -> pg_query.Node - 36, // 321: pg_query.RelabelType.relabelformat:type_name -> pg_query.CoercionForm - 61, // 322: pg_query.CoerceViaIO.xpr:type_name -> pg_query.Node - 61, // 323: pg_query.CoerceViaIO.arg:type_name -> pg_query.Node - 36, // 324: pg_query.CoerceViaIO.coerceformat:type_name -> pg_query.CoercionForm - 61, // 325: pg_query.ArrayCoerceExpr.xpr:type_name -> pg_query.Node - 61, // 326: pg_query.ArrayCoerceExpr.arg:type_name -> pg_query.Node - 61, // 327: pg_query.ArrayCoerceExpr.elemexpr:type_name -> pg_query.Node - 36, // 328: pg_query.ArrayCoerceExpr.coerceformat:type_name -> pg_query.CoercionForm - 61, // 329: pg_query.ConvertRowtypeExpr.xpr:type_name -> pg_query.Node - 61, // 330: pg_query.ConvertRowtypeExpr.arg:type_name -> pg_query.Node - 36, // 331: pg_query.ConvertRowtypeExpr.convertformat:type_name -> pg_query.CoercionForm - 61, // 332: pg_query.CollateExpr.xpr:type_name -> pg_query.Node - 61, // 333: pg_query.CollateExpr.arg:type_name -> pg_query.Node - 61, // 334: pg_query.CaseExpr.xpr:type_name -> pg_query.Node - 61, // 335: pg_query.CaseExpr.arg:type_name -> pg_query.Node - 61, // 336: pg_query.CaseExpr.args:type_name -> pg_query.Node - 61, // 337: pg_query.CaseExpr.defresult:type_name -> pg_query.Node - 61, // 338: pg_query.CaseWhen.xpr:type_name -> pg_query.Node - 61, // 339: pg_query.CaseWhen.expr:type_name -> pg_query.Node - 61, // 340: pg_query.CaseWhen.result:type_name -> pg_query.Node - 61, // 341: pg_query.CaseTestExpr.xpr:type_name -> pg_query.Node - 61, // 342: pg_query.ArrayExpr.xpr:type_name -> pg_query.Node - 61, // 343: pg_query.ArrayExpr.elements:type_name -> pg_query.Node - 61, // 344: pg_query.RowExpr.xpr:type_name -> pg_query.Node - 61, // 345: pg_query.RowExpr.args:type_name -> pg_query.Node - 36, // 346: pg_query.RowExpr.row_format:type_name -> pg_query.CoercionForm - 61, // 347: pg_query.RowExpr.colnames:type_name -> pg_query.Node - 61, // 348: pg_query.RowCompareExpr.xpr:type_name -> pg_query.Node - 39, // 349: pg_query.RowCompareExpr.rctype:type_name -> pg_query.RowCompareType - 61, // 350: pg_query.RowCompareExpr.opnos:type_name -> pg_query.Node - 61, // 351: pg_query.RowCompareExpr.opfamilies:type_name -> pg_query.Node - 61, // 352: pg_query.RowCompareExpr.inputcollids:type_name -> pg_query.Node - 61, // 353: pg_query.RowCompareExpr.largs:type_name -> pg_query.Node - 61, // 354: pg_query.RowCompareExpr.rargs:type_name -> pg_query.Node - 61, // 355: pg_query.CoalesceExpr.xpr:type_name -> pg_query.Node - 61, // 356: pg_query.CoalesceExpr.args:type_name -> pg_query.Node - 61, // 357: pg_query.MinMaxExpr.xpr:type_name -> pg_query.Node - 40, // 358: pg_query.MinMaxExpr.op:type_name -> pg_query.MinMaxOp - 61, // 359: pg_query.MinMaxExpr.args:type_name -> pg_query.Node - 61, // 360: pg_query.SQLValueFunction.xpr:type_name -> pg_query.Node - 41, // 361: pg_query.SQLValueFunction.op:type_name -> pg_query.SQLValueFunctionOp - 61, // 362: pg_query.XmlExpr.xpr:type_name -> pg_query.Node - 42, // 363: pg_query.XmlExpr.op:type_name -> pg_query.XmlExprOp - 61, // 364: pg_query.XmlExpr.named_args:type_name -> pg_query.Node - 61, // 365: pg_query.XmlExpr.arg_names:type_name -> pg_query.Node - 61, // 366: pg_query.XmlExpr.args:type_name -> pg_query.Node - 43, // 367: pg_query.XmlExpr.xmloption:type_name -> pg_query.XmlOptionType - 61, // 368: pg_query.NullTest.xpr:type_name -> pg_query.Node - 61, // 369: pg_query.NullTest.arg:type_name -> pg_query.Node - 44, // 370: pg_query.NullTest.nulltesttype:type_name -> pg_query.NullTestType - 61, // 371: pg_query.BooleanTest.xpr:type_name -> pg_query.Node - 61, // 372: pg_query.BooleanTest.arg:type_name -> pg_query.Node - 45, // 373: pg_query.BooleanTest.booltesttype:type_name -> pg_query.BoolTestType - 61, // 374: pg_query.CoerceToDomain.xpr:type_name -> pg_query.Node - 61, // 375: pg_query.CoerceToDomain.arg:type_name -> pg_query.Node - 36, // 376: pg_query.CoerceToDomain.coercionformat:type_name -> pg_query.CoercionForm - 61, // 377: pg_query.CoerceToDomainValue.xpr:type_name -> pg_query.Node - 61, // 378: pg_query.SetToDefault.xpr:type_name -> pg_query.Node - 61, // 379: pg_query.CurrentOfExpr.xpr:type_name -> pg_query.Node - 61, // 380: pg_query.NextValueExpr.xpr:type_name -> pg_query.Node - 61, // 381: pg_query.InferenceElem.xpr:type_name -> pg_query.Node - 61, // 382: pg_query.InferenceElem.expr:type_name -> pg_query.Node - 61, // 383: pg_query.TargetEntry.xpr:type_name -> pg_query.Node - 61, // 384: pg_query.TargetEntry.expr:type_name -> pg_query.Node - 47, // 385: pg_query.JoinExpr.jointype:type_name -> pg_query.JoinType - 61, // 386: pg_query.JoinExpr.larg:type_name -> pg_query.Node - 61, // 387: pg_query.JoinExpr.rarg:type_name -> pg_query.Node - 61, // 388: pg_query.JoinExpr.using_clause:type_name -> pg_query.Node - 71, // 389: pg_query.JoinExpr.join_using_alias:type_name -> pg_query.Alias - 61, // 390: pg_query.JoinExpr.quals:type_name -> pg_query.Node - 71, // 391: pg_query.JoinExpr.alias:type_name -> pg_query.Alias - 61, // 392: pg_query.FromExpr.fromlist:type_name -> pg_query.Node - 61, // 393: pg_query.FromExpr.quals:type_name -> pg_query.Node - 52, // 394: pg_query.OnConflictExpr.action:type_name -> pg_query.OnConflictAction - 61, // 395: pg_query.OnConflictExpr.arbiter_elems:type_name -> pg_query.Node - 61, // 396: pg_query.OnConflictExpr.arbiter_where:type_name -> pg_query.Node - 61, // 397: pg_query.OnConflictExpr.on_conflict_set:type_name -> pg_query.Node - 61, // 398: pg_query.OnConflictExpr.on_conflict_where:type_name -> pg_query.Node - 61, // 399: pg_query.OnConflictExpr.excl_rel_tlist:type_name -> pg_query.Node - 72, // 400: pg_query.IntoClause.rel:type_name -> pg_query.RangeVar - 61, // 401: pg_query.IntoClause.col_names:type_name -> pg_query.Node - 61, // 402: pg_query.IntoClause.options:type_name -> pg_query.Node - 33, // 403: pg_query.IntoClause.on_commit:type_name -> pg_query.OnCommitAction - 61, // 404: pg_query.IntoClause.view_query:type_name -> pg_query.Node - 46, // 405: pg_query.MergeAction.command_type:type_name -> pg_query.CmdType - 0, // 406: pg_query.MergeAction.override:type_name -> pg_query.OverridingKind - 61, // 407: pg_query.MergeAction.qual:type_name -> pg_query.Node - 61, // 408: pg_query.MergeAction.target_list:type_name -> pg_query.Node - 61, // 409: pg_query.MergeAction.update_colnos:type_name -> pg_query.Node - 61, // 410: pg_query.RawStmt.stmt:type_name -> pg_query.Node - 46, // 411: pg_query.Query.command_type:type_name -> pg_query.CmdType - 1, // 412: pg_query.Query.query_source:type_name -> pg_query.QuerySource - 61, // 413: pg_query.Query.utility_stmt:type_name -> pg_query.Node - 61, // 414: pg_query.Query.cte_list:type_name -> pg_query.Node - 61, // 415: pg_query.Query.rtable:type_name -> pg_query.Node - 118, // 416: pg_query.Query.jointree:type_name -> pg_query.FromExpr - 61, // 417: pg_query.Query.merge_action_list:type_name -> pg_query.Node - 61, // 418: pg_query.Query.target_list:type_name -> pg_query.Node - 0, // 419: pg_query.Query.override:type_name -> pg_query.OverridingKind - 119, // 420: pg_query.Query.on_conflict:type_name -> pg_query.OnConflictExpr - 61, // 421: pg_query.Query.returning_list:type_name -> pg_query.Node - 61, // 422: pg_query.Query.group_clause:type_name -> pg_query.Node - 61, // 423: pg_query.Query.grouping_sets:type_name -> pg_query.Node - 61, // 424: pg_query.Query.having_qual:type_name -> pg_query.Node - 61, // 425: pg_query.Query.window_clause:type_name -> pg_query.Node - 61, // 426: pg_query.Query.distinct_clause:type_name -> pg_query.Node - 61, // 427: pg_query.Query.sort_clause:type_name -> pg_query.Node - 61, // 428: pg_query.Query.limit_offset:type_name -> pg_query.Node - 61, // 429: pg_query.Query.limit_count:type_name -> pg_query.Node - 53, // 430: pg_query.Query.limit_option:type_name -> pg_query.LimitOption - 61, // 431: pg_query.Query.row_marks:type_name -> pg_query.Node - 61, // 432: pg_query.Query.set_operations:type_name -> pg_query.Node - 61, // 433: pg_query.Query.constraint_deps:type_name -> pg_query.Node - 61, // 434: pg_query.Query.with_check_options:type_name -> pg_query.Node - 72, // 435: pg_query.InsertStmt.relation:type_name -> pg_query.RangeVar - 61, // 436: pg_query.InsertStmt.cols:type_name -> pg_query.Node - 61, // 437: pg_query.InsertStmt.select_stmt:type_name -> pg_query.Node - 283, // 438: pg_query.InsertStmt.on_conflict_clause:type_name -> pg_query.OnConflictClause - 61, // 439: pg_query.InsertStmt.returning_list:type_name -> pg_query.Node - 281, // 440: pg_query.InsertStmt.with_clause:type_name -> pg_query.WithClause - 0, // 441: pg_query.InsertStmt.override:type_name -> pg_query.OverridingKind - 72, // 442: pg_query.DeleteStmt.relation:type_name -> pg_query.RangeVar - 61, // 443: pg_query.DeleteStmt.using_clause:type_name -> pg_query.Node - 61, // 444: pg_query.DeleteStmt.where_clause:type_name -> pg_query.Node - 61, // 445: pg_query.DeleteStmt.returning_list:type_name -> pg_query.Node - 281, // 446: pg_query.DeleteStmt.with_clause:type_name -> pg_query.WithClause - 72, // 447: pg_query.UpdateStmt.relation:type_name -> pg_query.RangeVar - 61, // 448: pg_query.UpdateStmt.target_list:type_name -> pg_query.Node - 61, // 449: pg_query.UpdateStmt.where_clause:type_name -> pg_query.Node - 61, // 450: pg_query.UpdateStmt.from_clause:type_name -> pg_query.Node - 61, // 451: pg_query.UpdateStmt.returning_list:type_name -> pg_query.Node - 281, // 452: pg_query.UpdateStmt.with_clause:type_name -> pg_query.WithClause - 72, // 453: pg_query.MergeStmt.relation:type_name -> pg_query.RangeVar - 61, // 454: pg_query.MergeStmt.source_relation:type_name -> pg_query.Node - 61, // 455: pg_query.MergeStmt.join_condition:type_name -> pg_query.Node - 61, // 456: pg_query.MergeStmt.merge_when_clauses:type_name -> pg_query.Node - 281, // 457: pg_query.MergeStmt.with_clause:type_name -> pg_query.WithClause - 61, // 458: pg_query.SelectStmt.distinct_clause:type_name -> pg_query.Node - 120, // 459: pg_query.SelectStmt.into_clause:type_name -> pg_query.IntoClause - 61, // 460: pg_query.SelectStmt.target_list:type_name -> pg_query.Node - 61, // 461: pg_query.SelectStmt.from_clause:type_name -> pg_query.Node - 61, // 462: pg_query.SelectStmt.where_clause:type_name -> pg_query.Node - 61, // 463: pg_query.SelectStmt.group_clause:type_name -> pg_query.Node - 61, // 464: pg_query.SelectStmt.having_clause:type_name -> pg_query.Node - 61, // 465: pg_query.SelectStmt.window_clause:type_name -> pg_query.Node - 61, // 466: pg_query.SelectStmt.values_lists:type_name -> pg_query.Node - 61, // 467: pg_query.SelectStmt.sort_clause:type_name -> pg_query.Node - 61, // 468: pg_query.SelectStmt.limit_offset:type_name -> pg_query.Node - 61, // 469: pg_query.SelectStmt.limit_count:type_name -> pg_query.Node - 53, // 470: pg_query.SelectStmt.limit_option:type_name -> pg_query.LimitOption - 61, // 471: pg_query.SelectStmt.locking_clause:type_name -> pg_query.Node - 281, // 472: pg_query.SelectStmt.with_clause:type_name -> pg_query.WithClause - 14, // 473: pg_query.SelectStmt.op:type_name -> pg_query.SetOperation - 128, // 474: pg_query.SelectStmt.larg:type_name -> pg_query.SelectStmt - 128, // 475: pg_query.SelectStmt.rarg:type_name -> pg_query.SelectStmt - 61, // 476: pg_query.ReturnStmt.returnval:type_name -> pg_query.Node - 61, // 477: pg_query.PLAssignStmt.indirection:type_name -> pg_query.Node - 128, // 478: pg_query.PLAssignStmt.val:type_name -> pg_query.SelectStmt - 72, // 479: pg_query.AlterTableStmt.relation:type_name -> pg_query.RangeVar - 61, // 480: pg_query.AlterTableStmt.cmds:type_name -> pg_query.Node - 15, // 481: pg_query.AlterTableStmt.objtype:type_name -> pg_query.ObjectType - 17, // 482: pg_query.AlterTableCmd.subtype:type_name -> pg_query.AlterTableType - 288, // 483: pg_query.AlterTableCmd.newowner:type_name -> pg_query.RoleSpec - 61, // 484: pg_query.AlterTableCmd.def:type_name -> pg_query.Node - 16, // 485: pg_query.AlterTableCmd.behavior:type_name -> pg_query.DropBehavior - 61, // 486: pg_query.AlterDomainStmt.type_name:type_name -> pg_query.Node - 61, // 487: pg_query.AlterDomainStmt.def:type_name -> pg_query.Node - 16, // 488: pg_query.AlterDomainStmt.behavior:type_name -> pg_query.DropBehavior - 14, // 489: pg_query.SetOperationStmt.op:type_name -> pg_query.SetOperation - 61, // 490: pg_query.SetOperationStmt.larg:type_name -> pg_query.Node - 61, // 491: pg_query.SetOperationStmt.rarg:type_name -> pg_query.Node - 61, // 492: pg_query.SetOperationStmt.col_types:type_name -> pg_query.Node - 61, // 493: pg_query.SetOperationStmt.col_typmods:type_name -> pg_query.Node - 61, // 494: pg_query.SetOperationStmt.col_collations:type_name -> pg_query.Node - 61, // 495: pg_query.SetOperationStmt.group_clauses:type_name -> pg_query.Node - 18, // 496: pg_query.GrantStmt.targtype:type_name -> pg_query.GrantTargetType - 15, // 497: pg_query.GrantStmt.objtype:type_name -> pg_query.ObjectType - 61, // 498: pg_query.GrantStmt.objects:type_name -> pg_query.Node - 61, // 499: pg_query.GrantStmt.privileges:type_name -> pg_query.Node - 61, // 500: pg_query.GrantStmt.grantees:type_name -> pg_query.Node - 288, // 501: pg_query.GrantStmt.grantor:type_name -> pg_query.RoleSpec - 16, // 502: pg_query.GrantStmt.behavior:type_name -> pg_query.DropBehavior - 61, // 503: pg_query.GrantRoleStmt.granted_roles:type_name -> pg_query.Node - 61, // 504: pg_query.GrantRoleStmt.grantee_roles:type_name -> pg_query.Node - 288, // 505: pg_query.GrantRoleStmt.grantor:type_name -> pg_query.RoleSpec - 16, // 506: pg_query.GrantRoleStmt.behavior:type_name -> pg_query.DropBehavior - 61, // 507: pg_query.AlterDefaultPrivilegesStmt.options:type_name -> pg_query.Node - 135, // 508: pg_query.AlterDefaultPrivilegesStmt.action:type_name -> pg_query.GrantStmt - 72, // 509: pg_query.ClusterStmt.relation:type_name -> pg_query.RangeVar - 61, // 510: pg_query.ClusterStmt.params:type_name -> pg_query.Node - 72, // 511: pg_query.CopyStmt.relation:type_name -> pg_query.RangeVar - 61, // 512: pg_query.CopyStmt.query:type_name -> pg_query.Node - 61, // 513: pg_query.CopyStmt.attlist:type_name -> pg_query.Node - 61, // 514: pg_query.CopyStmt.options:type_name -> pg_query.Node - 61, // 515: pg_query.CopyStmt.where_clause:type_name -> pg_query.Node - 72, // 516: pg_query.CreateStmt.relation:type_name -> pg_query.RangeVar - 61, // 517: pg_query.CreateStmt.table_elts:type_name -> pg_query.Node - 61, // 518: pg_query.CreateStmt.inh_relations:type_name -> pg_query.Node - 292, // 519: pg_query.CreateStmt.partbound:type_name -> pg_query.PartitionBoundSpec - 291, // 520: pg_query.CreateStmt.partspec:type_name -> pg_query.PartitionSpec - 260, // 521: pg_query.CreateStmt.of_typename:type_name -> pg_query.TypeName - 61, // 522: pg_query.CreateStmt.constraints:type_name -> pg_query.Node - 61, // 523: pg_query.CreateStmt.options:type_name -> pg_query.Node - 33, // 524: pg_query.CreateStmt.oncommit:type_name -> pg_query.OnCommitAction - 15, // 525: pg_query.DefineStmt.kind:type_name -> pg_query.ObjectType - 61, // 526: pg_query.DefineStmt.defnames:type_name -> pg_query.Node - 61, // 527: pg_query.DefineStmt.args:type_name -> pg_query.Node - 61, // 528: pg_query.DefineStmt.definition:type_name -> pg_query.Node - 61, // 529: pg_query.DropStmt.objects:type_name -> pg_query.Node - 15, // 530: pg_query.DropStmt.remove_type:type_name -> pg_query.ObjectType - 16, // 531: pg_query.DropStmt.behavior:type_name -> pg_query.DropBehavior - 61, // 532: pg_query.TruncateStmt.relations:type_name -> pg_query.Node - 16, // 533: pg_query.TruncateStmt.behavior:type_name -> pg_query.DropBehavior - 15, // 534: pg_query.CommentStmt.objtype:type_name -> pg_query.ObjectType - 61, // 535: pg_query.CommentStmt.object:type_name -> pg_query.Node - 23, // 536: pg_query.FetchStmt.direction:type_name -> pg_query.FetchDirection - 72, // 537: pg_query.IndexStmt.relation:type_name -> pg_query.RangeVar - 61, // 538: pg_query.IndexStmt.index_params:type_name -> pg_query.Node - 61, // 539: pg_query.IndexStmt.index_including_params:type_name -> pg_query.Node - 61, // 540: pg_query.IndexStmt.options:type_name -> pg_query.Node - 61, // 541: pg_query.IndexStmt.where_clause:type_name -> pg_query.Node - 61, // 542: pg_query.IndexStmt.exclude_op_names:type_name -> pg_query.Node - 61, // 543: pg_query.CreateFunctionStmt.funcname:type_name -> pg_query.Node - 61, // 544: pg_query.CreateFunctionStmt.parameters:type_name -> pg_query.Node - 260, // 545: pg_query.CreateFunctionStmt.return_type:type_name -> pg_query.TypeName - 61, // 546: pg_query.CreateFunctionStmt.options:type_name -> pg_query.Node - 61, // 547: pg_query.CreateFunctionStmt.sql_body:type_name -> pg_query.Node - 15, // 548: pg_query.AlterFunctionStmt.objtype:type_name -> pg_query.ObjectType - 273, // 549: pg_query.AlterFunctionStmt.func:type_name -> pg_query.ObjectWithArgs - 61, // 550: pg_query.AlterFunctionStmt.actions:type_name -> pg_query.Node - 61, // 551: pg_query.DoStmt.args:type_name -> pg_query.Node - 15, // 552: pg_query.RenameStmt.rename_type:type_name -> pg_query.ObjectType - 15, // 553: pg_query.RenameStmt.relation_type:type_name -> pg_query.ObjectType - 72, // 554: pg_query.RenameStmt.relation:type_name -> pg_query.RangeVar - 61, // 555: pg_query.RenameStmt.object:type_name -> pg_query.Node - 16, // 556: pg_query.RenameStmt.behavior:type_name -> pg_query.DropBehavior - 72, // 557: pg_query.RuleStmt.relation:type_name -> pg_query.RangeVar - 61, // 558: pg_query.RuleStmt.where_clause:type_name -> pg_query.Node - 46, // 559: pg_query.RuleStmt.event:type_name -> pg_query.CmdType - 61, // 560: pg_query.RuleStmt.actions:type_name -> pg_query.Node - 25, // 561: pg_query.TransactionStmt.kind:type_name -> pg_query.TransactionStmtKind - 61, // 562: pg_query.TransactionStmt.options:type_name -> pg_query.Node - 72, // 563: pg_query.ViewStmt.view:type_name -> pg_query.RangeVar - 61, // 564: pg_query.ViewStmt.aliases:type_name -> pg_query.Node - 61, // 565: pg_query.ViewStmt.query:type_name -> pg_query.Node - 61, // 566: pg_query.ViewStmt.options:type_name -> pg_query.Node - 26, // 567: pg_query.ViewStmt.with_check_option:type_name -> pg_query.ViewCheckOption - 61, // 568: pg_query.CreateDomainStmt.domainname:type_name -> pg_query.Node - 260, // 569: pg_query.CreateDomainStmt.type_name:type_name -> pg_query.TypeName - 252, // 570: pg_query.CreateDomainStmt.coll_clause:type_name -> pg_query.CollateClause - 61, // 571: pg_query.CreateDomainStmt.constraints:type_name -> pg_query.Node - 61, // 572: pg_query.CreatedbStmt.options:type_name -> pg_query.Node - 61, // 573: pg_query.DropdbStmt.options:type_name -> pg_query.Node - 61, // 574: pg_query.VacuumStmt.options:type_name -> pg_query.Node - 61, // 575: pg_query.VacuumStmt.rels:type_name -> pg_query.Node - 61, // 576: pg_query.ExplainStmt.query:type_name -> pg_query.Node - 61, // 577: pg_query.ExplainStmt.options:type_name -> pg_query.Node - 61, // 578: pg_query.CreateTableAsStmt.query:type_name -> pg_query.Node - 120, // 579: pg_query.CreateTableAsStmt.into:type_name -> pg_query.IntoClause - 15, // 580: pg_query.CreateTableAsStmt.objtype:type_name -> pg_query.ObjectType - 72, // 581: pg_query.CreateSeqStmt.sequence:type_name -> pg_query.RangeVar - 61, // 582: pg_query.CreateSeqStmt.options:type_name -> pg_query.Node - 72, // 583: pg_query.AlterSeqStmt.sequence:type_name -> pg_query.RangeVar - 61, // 584: pg_query.AlterSeqStmt.options:type_name -> pg_query.Node - 19, // 585: pg_query.VariableSetStmt.kind:type_name -> pg_query.VariableSetKind - 61, // 586: pg_query.VariableSetStmt.args:type_name -> pg_query.Node - 27, // 587: pg_query.DiscardStmt.target:type_name -> pg_query.DiscardMode - 72, // 588: pg_query.CreateTrigStmt.relation:type_name -> pg_query.RangeVar - 61, // 589: pg_query.CreateTrigStmt.funcname:type_name -> pg_query.Node - 61, // 590: pg_query.CreateTrigStmt.args:type_name -> pg_query.Node - 61, // 591: pg_query.CreateTrigStmt.columns:type_name -> pg_query.Node - 61, // 592: pg_query.CreateTrigStmt.when_clause:type_name -> pg_query.Node - 61, // 593: pg_query.CreateTrigStmt.transition_rels:type_name -> pg_query.Node - 72, // 594: pg_query.CreateTrigStmt.constrrel:type_name -> pg_query.RangeVar - 61, // 595: pg_query.CreatePLangStmt.plhandler:type_name -> pg_query.Node - 61, // 596: pg_query.CreatePLangStmt.plinline:type_name -> pg_query.Node - 61, // 597: pg_query.CreatePLangStmt.plvalidator:type_name -> pg_query.Node - 22, // 598: pg_query.CreateRoleStmt.stmt_type:type_name -> pg_query.RoleStmtType - 61, // 599: pg_query.CreateRoleStmt.options:type_name -> pg_query.Node - 288, // 600: pg_query.AlterRoleStmt.role:type_name -> pg_query.RoleSpec - 61, // 601: pg_query.AlterRoleStmt.options:type_name -> pg_query.Node - 61, // 602: pg_query.DropRoleStmt.roles:type_name -> pg_query.Node - 61, // 603: pg_query.LockStmt.relations:type_name -> pg_query.Node - 61, // 604: pg_query.ConstraintsSetStmt.constraints:type_name -> pg_query.Node - 28, // 605: pg_query.ReindexStmt.kind:type_name -> pg_query.ReindexObjectType - 72, // 606: pg_query.ReindexStmt.relation:type_name -> pg_query.RangeVar - 61, // 607: pg_query.ReindexStmt.params:type_name -> pg_query.Node - 288, // 608: pg_query.CreateSchemaStmt.authrole:type_name -> pg_query.RoleSpec - 61, // 609: pg_query.CreateSchemaStmt.schema_elts:type_name -> pg_query.Node - 61, // 610: pg_query.AlterDatabaseStmt.options:type_name -> pg_query.Node - 167, // 611: pg_query.AlterDatabaseSetStmt.setstmt:type_name -> pg_query.VariableSetStmt - 288, // 612: pg_query.AlterRoleSetStmt.role:type_name -> pg_query.RoleSpec - 167, // 613: pg_query.AlterRoleSetStmt.setstmt:type_name -> pg_query.VariableSetStmt - 61, // 614: pg_query.CreateConversionStmt.conversion_name:type_name -> pg_query.Node - 61, // 615: pg_query.CreateConversionStmt.func_name:type_name -> pg_query.Node - 260, // 616: pg_query.CreateCastStmt.sourcetype:type_name -> pg_query.TypeName - 260, // 617: pg_query.CreateCastStmt.targettype:type_name -> pg_query.TypeName - 273, // 618: pg_query.CreateCastStmt.func:type_name -> pg_query.ObjectWithArgs - 35, // 619: pg_query.CreateCastStmt.context:type_name -> pg_query.CoercionContext - 61, // 620: pg_query.CreateOpClassStmt.opclassname:type_name -> pg_query.Node - 61, // 621: pg_query.CreateOpClassStmt.opfamilyname:type_name -> pg_query.Node - 260, // 622: pg_query.CreateOpClassStmt.datatype:type_name -> pg_query.TypeName - 61, // 623: pg_query.CreateOpClassStmt.items:type_name -> pg_query.Node - 61, // 624: pg_query.CreateOpFamilyStmt.opfamilyname:type_name -> pg_query.Node - 61, // 625: pg_query.AlterOpFamilyStmt.opfamilyname:type_name -> pg_query.Node - 61, // 626: pg_query.AlterOpFamilyStmt.items:type_name -> pg_query.Node - 61, // 627: pg_query.PrepareStmt.argtypes:type_name -> pg_query.Node - 61, // 628: pg_query.PrepareStmt.query:type_name -> pg_query.Node - 61, // 629: pg_query.ExecuteStmt.params:type_name -> pg_query.Node - 61, // 630: pg_query.DeclareCursorStmt.query:type_name -> pg_query.Node - 288, // 631: pg_query.CreateTableSpaceStmt.owner:type_name -> pg_query.RoleSpec - 61, // 632: pg_query.CreateTableSpaceStmt.options:type_name -> pg_query.Node - 15, // 633: pg_query.AlterObjectDependsStmt.object_type:type_name -> pg_query.ObjectType - 72, // 634: pg_query.AlterObjectDependsStmt.relation:type_name -> pg_query.RangeVar - 61, // 635: pg_query.AlterObjectDependsStmt.object:type_name -> pg_query.Node - 65, // 636: pg_query.AlterObjectDependsStmt.extname:type_name -> pg_query.String - 15, // 637: pg_query.AlterObjectSchemaStmt.object_type:type_name -> pg_query.ObjectType - 72, // 638: pg_query.AlterObjectSchemaStmt.relation:type_name -> pg_query.RangeVar - 61, // 639: pg_query.AlterObjectSchemaStmt.object:type_name -> pg_query.Node - 15, // 640: pg_query.AlterOwnerStmt.object_type:type_name -> pg_query.ObjectType - 72, // 641: pg_query.AlterOwnerStmt.relation:type_name -> pg_query.RangeVar - 61, // 642: pg_query.AlterOwnerStmt.object:type_name -> pg_query.Node - 288, // 643: pg_query.AlterOwnerStmt.newowner:type_name -> pg_query.RoleSpec - 273, // 644: pg_query.AlterOperatorStmt.opername:type_name -> pg_query.ObjectWithArgs - 61, // 645: pg_query.AlterOperatorStmt.options:type_name -> pg_query.Node - 61, // 646: pg_query.AlterTypeStmt.type_name:type_name -> pg_query.Node - 61, // 647: pg_query.AlterTypeStmt.options:type_name -> pg_query.Node - 61, // 648: pg_query.DropOwnedStmt.roles:type_name -> pg_query.Node - 16, // 649: pg_query.DropOwnedStmt.behavior:type_name -> pg_query.DropBehavior - 61, // 650: pg_query.ReassignOwnedStmt.roles:type_name -> pg_query.Node - 288, // 651: pg_query.ReassignOwnedStmt.newrole:type_name -> pg_query.RoleSpec - 72, // 652: pg_query.CompositeTypeStmt.typevar:type_name -> pg_query.RangeVar - 61, // 653: pg_query.CompositeTypeStmt.coldeflist:type_name -> pg_query.Node - 61, // 654: pg_query.CreateEnumStmt.type_name:type_name -> pg_query.Node - 61, // 655: pg_query.CreateEnumStmt.vals:type_name -> pg_query.Node - 61, // 656: pg_query.CreateRangeStmt.type_name:type_name -> pg_query.Node - 61, // 657: pg_query.CreateRangeStmt.params:type_name -> pg_query.Node - 61, // 658: pg_query.AlterEnumStmt.type_name:type_name -> pg_query.Node - 61, // 659: pg_query.AlterTSDictionaryStmt.dictname:type_name -> pg_query.Node - 61, // 660: pg_query.AlterTSDictionaryStmt.options:type_name -> pg_query.Node - 29, // 661: pg_query.AlterTSConfigurationStmt.kind:type_name -> pg_query.AlterTSConfigType - 61, // 662: pg_query.AlterTSConfigurationStmt.cfgname:type_name -> pg_query.Node - 61, // 663: pg_query.AlterTSConfigurationStmt.tokentype:type_name -> pg_query.Node - 61, // 664: pg_query.AlterTSConfigurationStmt.dicts:type_name -> pg_query.Node - 61, // 665: pg_query.CreateFdwStmt.func_options:type_name -> pg_query.Node - 61, // 666: pg_query.CreateFdwStmt.options:type_name -> pg_query.Node - 61, // 667: pg_query.AlterFdwStmt.func_options:type_name -> pg_query.Node - 61, // 668: pg_query.AlterFdwStmt.options:type_name -> pg_query.Node - 61, // 669: pg_query.CreateForeignServerStmt.options:type_name -> pg_query.Node - 61, // 670: pg_query.AlterForeignServerStmt.options:type_name -> pg_query.Node - 288, // 671: pg_query.CreateUserMappingStmt.user:type_name -> pg_query.RoleSpec - 61, // 672: pg_query.CreateUserMappingStmt.options:type_name -> pg_query.Node - 288, // 673: pg_query.AlterUserMappingStmt.user:type_name -> pg_query.RoleSpec - 61, // 674: pg_query.AlterUserMappingStmt.options:type_name -> pg_query.Node - 288, // 675: pg_query.DropUserMappingStmt.user:type_name -> pg_query.RoleSpec - 61, // 676: pg_query.AlterTableSpaceOptionsStmt.options:type_name -> pg_query.Node - 15, // 677: pg_query.AlterTableMoveAllStmt.objtype:type_name -> pg_query.ObjectType - 61, // 678: pg_query.AlterTableMoveAllStmt.roles:type_name -> pg_query.Node - 15, // 679: pg_query.SecLabelStmt.objtype:type_name -> pg_query.ObjectType - 61, // 680: pg_query.SecLabelStmt.object:type_name -> pg_query.Node - 141, // 681: pg_query.CreateForeignTableStmt.base_stmt:type_name -> pg_query.CreateStmt - 61, // 682: pg_query.CreateForeignTableStmt.options:type_name -> pg_query.Node - 21, // 683: pg_query.ImportForeignSchemaStmt.list_type:type_name -> pg_query.ImportForeignSchemaType - 61, // 684: pg_query.ImportForeignSchemaStmt.table_list:type_name -> pg_query.Node - 61, // 685: pg_query.ImportForeignSchemaStmt.options:type_name -> pg_query.Node - 61, // 686: pg_query.CreateExtensionStmt.options:type_name -> pg_query.Node - 61, // 687: pg_query.AlterExtensionStmt.options:type_name -> pg_query.Node - 15, // 688: pg_query.AlterExtensionContentsStmt.objtype:type_name -> pg_query.ObjectType - 61, // 689: pg_query.AlterExtensionContentsStmt.object:type_name -> pg_query.Node - 61, // 690: pg_query.CreateEventTrigStmt.whenclause:type_name -> pg_query.Node - 61, // 691: pg_query.CreateEventTrigStmt.funcname:type_name -> pg_query.Node - 72, // 692: pg_query.RefreshMatViewStmt.relation:type_name -> pg_query.RangeVar - 167, // 693: pg_query.AlterSystemStmt.setstmt:type_name -> pg_query.VariableSetStmt - 72, // 694: pg_query.CreatePolicyStmt.table:type_name -> pg_query.RangeVar - 61, // 695: pg_query.CreatePolicyStmt.roles:type_name -> pg_query.Node - 61, // 696: pg_query.CreatePolicyStmt.qual:type_name -> pg_query.Node - 61, // 697: pg_query.CreatePolicyStmt.with_check:type_name -> pg_query.Node - 72, // 698: pg_query.AlterPolicyStmt.table:type_name -> pg_query.RangeVar - 61, // 699: pg_query.AlterPolicyStmt.roles:type_name -> pg_query.Node - 61, // 700: pg_query.AlterPolicyStmt.qual:type_name -> pg_query.Node - 61, // 701: pg_query.AlterPolicyStmt.with_check:type_name -> pg_query.Node - 260, // 702: pg_query.CreateTransformStmt.type_name:type_name -> pg_query.TypeName - 273, // 703: pg_query.CreateTransformStmt.fromsql:type_name -> pg_query.ObjectWithArgs - 273, // 704: pg_query.CreateTransformStmt.tosql:type_name -> pg_query.ObjectWithArgs - 61, // 705: pg_query.CreateAmStmt.handler_name:type_name -> pg_query.Node - 61, // 706: pg_query.CreatePublicationStmt.options:type_name -> pg_query.Node - 61, // 707: pg_query.CreatePublicationStmt.pubobjects:type_name -> pg_query.Node - 61, // 708: pg_query.AlterPublicationStmt.options:type_name -> pg_query.Node - 61, // 709: pg_query.AlterPublicationStmt.pubobjects:type_name -> pg_query.Node - 31, // 710: pg_query.AlterPublicationStmt.action:type_name -> pg_query.AlterPublicationAction - 61, // 711: pg_query.CreateSubscriptionStmt.publication:type_name -> pg_query.Node - 61, // 712: pg_query.CreateSubscriptionStmt.options:type_name -> pg_query.Node - 32, // 713: pg_query.AlterSubscriptionStmt.kind:type_name -> pg_query.AlterSubscriptionType - 61, // 714: pg_query.AlterSubscriptionStmt.publication:type_name -> pg_query.Node - 61, // 715: pg_query.AlterSubscriptionStmt.options:type_name -> pg_query.Node - 16, // 716: pg_query.DropSubscriptionStmt.behavior:type_name -> pg_query.DropBehavior - 61, // 717: pg_query.CreateStatsStmt.defnames:type_name -> pg_query.Node - 61, // 718: pg_query.CreateStatsStmt.stat_types:type_name -> pg_query.Node - 61, // 719: pg_query.CreateStatsStmt.exprs:type_name -> pg_query.Node - 61, // 720: pg_query.CreateStatsStmt.relations:type_name -> pg_query.Node - 61, // 721: pg_query.AlterCollationStmt.collname:type_name -> pg_query.Node - 244, // 722: pg_query.CallStmt.funccall:type_name -> pg_query.FuncCall - 80, // 723: pg_query.CallStmt.funcexpr:type_name -> pg_query.FuncExpr - 61, // 724: pg_query.CallStmt.outargs:type_name -> pg_query.Node - 61, // 725: pg_query.AlterStatsStmt.defnames:type_name -> pg_query.Node - 5, // 726: pg_query.A_Expr.kind:type_name -> pg_query.A_Expr_Kind - 61, // 727: pg_query.A_Expr.name:type_name -> pg_query.Node - 61, // 728: pg_query.A_Expr.lexpr:type_name -> pg_query.Node - 61, // 729: pg_query.A_Expr.rexpr:type_name -> pg_query.Node - 61, // 730: pg_query.ColumnRef.fields:type_name -> pg_query.Node - 61, // 731: pg_query.FuncCall.funcname:type_name -> pg_query.Node - 61, // 732: pg_query.FuncCall.args:type_name -> pg_query.Node - 61, // 733: pg_query.FuncCall.agg_order:type_name -> pg_query.Node - 61, // 734: pg_query.FuncCall.agg_filter:type_name -> pg_query.Node - 254, // 735: pg_query.FuncCall.over:type_name -> pg_query.WindowDef - 36, // 736: pg_query.FuncCall.funcformat:type_name -> pg_query.CoercionForm - 61, // 737: pg_query.A_Indices.lidx:type_name -> pg_query.Node - 61, // 738: pg_query.A_Indices.uidx:type_name -> pg_query.Node - 61, // 739: pg_query.A_Indirection.arg:type_name -> pg_query.Node - 61, // 740: pg_query.A_Indirection.indirection:type_name -> pg_query.Node - 61, // 741: pg_query.A_ArrayExpr.elements:type_name -> pg_query.Node - 61, // 742: pg_query.ResTarget.indirection:type_name -> pg_query.Node - 61, // 743: pg_query.ResTarget.val:type_name -> pg_query.Node - 61, // 744: pg_query.MultiAssignRef.source:type_name -> pg_query.Node - 61, // 745: pg_query.TypeCast.arg:type_name -> pg_query.Node - 260, // 746: pg_query.TypeCast.type_name:type_name -> pg_query.TypeName - 61, // 747: pg_query.CollateClause.arg:type_name -> pg_query.Node - 61, // 748: pg_query.CollateClause.collname:type_name -> pg_query.Node - 61, // 749: pg_query.SortBy.node:type_name -> pg_query.Node - 2, // 750: pg_query.SortBy.sortby_dir:type_name -> pg_query.SortByDir - 3, // 751: pg_query.SortBy.sortby_nulls:type_name -> pg_query.SortByNulls - 61, // 752: pg_query.SortBy.use_op:type_name -> pg_query.Node - 61, // 753: pg_query.WindowDef.partition_clause:type_name -> pg_query.Node - 61, // 754: pg_query.WindowDef.order_clause:type_name -> pg_query.Node - 61, // 755: pg_query.WindowDef.start_offset:type_name -> pg_query.Node - 61, // 756: pg_query.WindowDef.end_offset:type_name -> pg_query.Node - 61, // 757: pg_query.RangeSubselect.subquery:type_name -> pg_query.Node - 71, // 758: pg_query.RangeSubselect.alias:type_name -> pg_query.Alias - 61, // 759: pg_query.RangeFunction.functions:type_name -> pg_query.Node - 71, // 760: pg_query.RangeFunction.alias:type_name -> pg_query.Alias - 61, // 761: pg_query.RangeFunction.coldeflist:type_name -> pg_query.Node - 61, // 762: pg_query.RangeTableSample.relation:type_name -> pg_query.Node - 61, // 763: pg_query.RangeTableSample.method:type_name -> pg_query.Node - 61, // 764: pg_query.RangeTableSample.args:type_name -> pg_query.Node - 61, // 765: pg_query.RangeTableSample.repeatable:type_name -> pg_query.Node - 61, // 766: pg_query.RangeTableFunc.docexpr:type_name -> pg_query.Node - 61, // 767: pg_query.RangeTableFunc.rowexpr:type_name -> pg_query.Node - 61, // 768: pg_query.RangeTableFunc.namespaces:type_name -> pg_query.Node - 61, // 769: pg_query.RangeTableFunc.columns:type_name -> pg_query.Node - 71, // 770: pg_query.RangeTableFunc.alias:type_name -> pg_query.Alias - 260, // 771: pg_query.RangeTableFuncCol.type_name:type_name -> pg_query.TypeName - 61, // 772: pg_query.RangeTableFuncCol.colexpr:type_name -> pg_query.Node - 61, // 773: pg_query.RangeTableFuncCol.coldefexpr:type_name -> pg_query.Node - 61, // 774: pg_query.TypeName.names:type_name -> pg_query.Node - 61, // 775: pg_query.TypeName.typmods:type_name -> pg_query.Node - 61, // 776: pg_query.TypeName.array_bounds:type_name -> pg_query.Node - 260, // 777: pg_query.ColumnDef.type_name:type_name -> pg_query.TypeName - 61, // 778: pg_query.ColumnDef.raw_default:type_name -> pg_query.Node - 61, // 779: pg_query.ColumnDef.cooked_default:type_name -> pg_query.Node - 72, // 780: pg_query.ColumnDef.identity_sequence:type_name -> pg_query.RangeVar - 252, // 781: pg_query.ColumnDef.coll_clause:type_name -> pg_query.CollateClause - 61, // 782: pg_query.ColumnDef.constraints:type_name -> pg_query.Node - 61, // 783: pg_query.ColumnDef.fdwoptions:type_name -> pg_query.Node - 61, // 784: pg_query.IndexElem.expr:type_name -> pg_query.Node - 61, // 785: pg_query.IndexElem.collation:type_name -> pg_query.Node - 61, // 786: pg_query.IndexElem.opclass:type_name -> pg_query.Node - 61, // 787: pg_query.IndexElem.opclassopts:type_name -> pg_query.Node - 2, // 788: pg_query.IndexElem.ordering:type_name -> pg_query.SortByDir - 3, // 789: pg_query.IndexElem.nulls_ordering:type_name -> pg_query.SortByNulls - 61, // 790: pg_query.StatsElem.expr:type_name -> pg_query.Node - 20, // 791: pg_query.Constraint.contype:type_name -> pg_query.ConstrType - 61, // 792: pg_query.Constraint.raw_expr:type_name -> pg_query.Node - 61, // 793: pg_query.Constraint.keys:type_name -> pg_query.Node - 61, // 794: pg_query.Constraint.including:type_name -> pg_query.Node - 61, // 795: pg_query.Constraint.exclusions:type_name -> pg_query.Node - 61, // 796: pg_query.Constraint.options:type_name -> pg_query.Node - 61, // 797: pg_query.Constraint.where_clause:type_name -> pg_query.Node - 72, // 798: pg_query.Constraint.pktable:type_name -> pg_query.RangeVar - 61, // 799: pg_query.Constraint.fk_attrs:type_name -> pg_query.Node - 61, // 800: pg_query.Constraint.pk_attrs:type_name -> pg_query.Node - 61, // 801: pg_query.Constraint.fk_del_set_cols:type_name -> pg_query.Node - 61, // 802: pg_query.Constraint.old_conpfeqop:type_name -> pg_query.Node - 61, // 803: pg_query.DefElem.arg:type_name -> pg_query.Node - 8, // 804: pg_query.DefElem.defaction:type_name -> pg_query.DefElemAction - 10, // 805: pg_query.RangeTblEntry.rtekind:type_name -> pg_query.RTEKind - 268, // 806: pg_query.RangeTblEntry.tablesample:type_name -> pg_query.TableSampleClause - 123, // 807: pg_query.RangeTblEntry.subquery:type_name -> pg_query.Query - 47, // 808: pg_query.RangeTblEntry.jointype:type_name -> pg_query.JoinType - 61, // 809: pg_query.RangeTblEntry.joinaliasvars:type_name -> pg_query.Node - 61, // 810: pg_query.RangeTblEntry.joinleftcols:type_name -> pg_query.Node - 61, // 811: pg_query.RangeTblEntry.joinrightcols:type_name -> pg_query.Node - 71, // 812: pg_query.RangeTblEntry.join_using_alias:type_name -> pg_query.Alias - 61, // 813: pg_query.RangeTblEntry.functions:type_name -> pg_query.Node - 73, // 814: pg_query.RangeTblEntry.tablefunc:type_name -> pg_query.TableFunc - 61, // 815: pg_query.RangeTblEntry.values_lists:type_name -> pg_query.Node - 61, // 816: pg_query.RangeTblEntry.coltypes:type_name -> pg_query.Node - 61, // 817: pg_query.RangeTblEntry.coltypmods:type_name -> pg_query.Node - 61, // 818: pg_query.RangeTblEntry.colcollations:type_name -> pg_query.Node - 71, // 819: pg_query.RangeTblEntry.alias:type_name -> pg_query.Alias - 71, // 820: pg_query.RangeTblEntry.eref:type_name -> pg_query.Alias - 61, // 821: pg_query.RangeTblEntry.security_quals:type_name -> pg_query.Node - 61, // 822: pg_query.RangeTblFunction.funcexpr:type_name -> pg_query.Node - 61, // 823: pg_query.RangeTblFunction.funccolnames:type_name -> pg_query.Node - 61, // 824: pg_query.RangeTblFunction.funccoltypes:type_name -> pg_query.Node - 61, // 825: pg_query.RangeTblFunction.funccoltypmods:type_name -> pg_query.Node - 61, // 826: pg_query.RangeTblFunction.funccolcollations:type_name -> pg_query.Node - 61, // 827: pg_query.TableSampleClause.args:type_name -> pg_query.Node - 61, // 828: pg_query.TableSampleClause.repeatable:type_name -> pg_query.Node - 11, // 829: pg_query.WithCheckOption.kind:type_name -> pg_query.WCOKind - 61, // 830: pg_query.WithCheckOption.qual:type_name -> pg_query.Node - 12, // 831: pg_query.GroupingSet.kind:type_name -> pg_query.GroupingSetKind - 61, // 832: pg_query.GroupingSet.content:type_name -> pg_query.Node - 61, // 833: pg_query.WindowClause.partition_clause:type_name -> pg_query.Node - 61, // 834: pg_query.WindowClause.order_clause:type_name -> pg_query.Node - 61, // 835: pg_query.WindowClause.start_offset:type_name -> pg_query.Node - 61, // 836: pg_query.WindowClause.end_offset:type_name -> pg_query.Node - 61, // 837: pg_query.WindowClause.run_condition:type_name -> pg_query.Node - 61, // 838: pg_query.ObjectWithArgs.objname:type_name -> pg_query.Node - 61, // 839: pg_query.ObjectWithArgs.objargs:type_name -> pg_query.Node - 61, // 840: pg_query.ObjectWithArgs.objfuncargs:type_name -> pg_query.Node - 61, // 841: pg_query.AccessPriv.cols:type_name -> pg_query.Node - 273, // 842: pg_query.CreateOpClassItem.name:type_name -> pg_query.ObjectWithArgs - 61, // 843: pg_query.CreateOpClassItem.order_family:type_name -> pg_query.Node - 61, // 844: pg_query.CreateOpClassItem.class_args:type_name -> pg_query.Node - 260, // 845: pg_query.CreateOpClassItem.storedtype:type_name -> pg_query.TypeName - 72, // 846: pg_query.TableLikeClause.relation:type_name -> pg_query.RangeVar - 260, // 847: pg_query.FunctionParameter.arg_type:type_name -> pg_query.TypeName - 24, // 848: pg_query.FunctionParameter.mode:type_name -> pg_query.FunctionParameterMode - 61, // 849: pg_query.FunctionParameter.defexpr:type_name -> pg_query.Node - 61, // 850: pg_query.LockingClause.locked_rels:type_name -> pg_query.Node - 54, // 851: pg_query.LockingClause.strength:type_name -> pg_query.LockClauseStrength - 55, // 852: pg_query.LockingClause.wait_policy:type_name -> pg_query.LockWaitPolicy - 54, // 853: pg_query.RowMarkClause.strength:type_name -> pg_query.LockClauseStrength - 55, // 854: pg_query.RowMarkClause.wait_policy:type_name -> pg_query.LockWaitPolicy - 43, // 855: pg_query.XmlSerialize.xmloption:type_name -> pg_query.XmlOptionType - 61, // 856: pg_query.XmlSerialize.expr:type_name -> pg_query.Node - 260, // 857: pg_query.XmlSerialize.type_name:type_name -> pg_query.TypeName - 61, // 858: pg_query.WithClause.ctes:type_name -> pg_query.Node - 61, // 859: pg_query.InferClause.index_elems:type_name -> pg_query.Node - 61, // 860: pg_query.InferClause.where_clause:type_name -> pg_query.Node - 52, // 861: pg_query.OnConflictClause.action:type_name -> pg_query.OnConflictAction - 282, // 862: pg_query.OnConflictClause.infer:type_name -> pg_query.InferClause - 61, // 863: pg_query.OnConflictClause.target_list:type_name -> pg_query.Node - 61, // 864: pg_query.OnConflictClause.where_clause:type_name -> pg_query.Node - 61, // 865: pg_query.CTESearchClause.search_col_list:type_name -> pg_query.Node - 61, // 866: pg_query.CTECycleClause.cycle_col_list:type_name -> pg_query.Node - 61, // 867: pg_query.CTECycleClause.cycle_mark_value:type_name -> pg_query.Node - 61, // 868: pg_query.CTECycleClause.cycle_mark_default:type_name -> pg_query.Node - 61, // 869: pg_query.CommonTableExpr.aliascolnames:type_name -> pg_query.Node - 13, // 870: pg_query.CommonTableExpr.ctematerialized:type_name -> pg_query.CTEMaterialize - 61, // 871: pg_query.CommonTableExpr.ctequery:type_name -> pg_query.Node - 284, // 872: pg_query.CommonTableExpr.search_clause:type_name -> pg_query.CTESearchClause - 285, // 873: pg_query.CommonTableExpr.cycle_clause:type_name -> pg_query.CTECycleClause - 61, // 874: pg_query.CommonTableExpr.ctecolnames:type_name -> pg_query.Node - 61, // 875: pg_query.CommonTableExpr.ctecoltypes:type_name -> pg_query.Node - 61, // 876: pg_query.CommonTableExpr.ctecoltypmods:type_name -> pg_query.Node - 61, // 877: pg_query.CommonTableExpr.ctecolcollations:type_name -> pg_query.Node - 46, // 878: pg_query.MergeWhenClause.command_type:type_name -> pg_query.CmdType - 0, // 879: pg_query.MergeWhenClause.override:type_name -> pg_query.OverridingKind - 61, // 880: pg_query.MergeWhenClause.condition:type_name -> pg_query.Node - 61, // 881: pg_query.MergeWhenClause.target_list:type_name -> pg_query.Node - 61, // 882: pg_query.MergeWhenClause.values:type_name -> pg_query.Node - 6, // 883: pg_query.RoleSpec.roletype:type_name -> pg_query.RoleSpecType - 61, // 884: pg_query.PartitionElem.expr:type_name -> pg_query.Node - 61, // 885: pg_query.PartitionElem.collation:type_name -> pg_query.Node - 61, // 886: pg_query.PartitionElem.opclass:type_name -> pg_query.Node - 61, // 887: pg_query.PartitionSpec.part_params:type_name -> pg_query.Node - 61, // 888: pg_query.PartitionBoundSpec.listdatums:type_name -> pg_query.Node - 61, // 889: pg_query.PartitionBoundSpec.lowerdatums:type_name -> pg_query.Node - 61, // 890: pg_query.PartitionBoundSpec.upperdatums:type_name -> pg_query.Node - 9, // 891: pg_query.PartitionRangeDatum.kind:type_name -> pg_query.PartitionRangeDatumKind - 61, // 892: pg_query.PartitionRangeDatum.value:type_name -> pg_query.Node - 72, // 893: pg_query.PartitionCmd.name:type_name -> pg_query.RangeVar - 292, // 894: pg_query.PartitionCmd.bound:type_name -> pg_query.PartitionBoundSpec - 72, // 895: pg_query.VacuumRelation.relation:type_name -> pg_query.RangeVar - 61, // 896: pg_query.VacuumRelation.va_cols:type_name -> pg_query.Node - 30, // 897: pg_query.PublicationObjSpec.pubobjtype:type_name -> pg_query.PublicationObjSpecType - 297, // 898: pg_query.PublicationObjSpec.pubtable:type_name -> pg_query.PublicationTable - 72, // 899: pg_query.PublicationTable.relation:type_name -> pg_query.RangeVar - 61, // 900: pg_query.PublicationTable.where_clause:type_name -> pg_query.Node - 61, // 901: pg_query.PublicationTable.columns:type_name -> pg_query.Node - 58, // 902: pg_query.ScanToken.token:type_name -> pg_query.Token - 57, // 903: pg_query.ScanToken.keyword_kind:type_name -> pg_query.KeywordKind - 904, // [904:904] is the sub-list for method output_type - 904, // [904:904] is the sub-list for method input_type - 904, // [904:904] is the sub-list for extension type_name - 904, // [904:904] is the sub-list for extension extendee - 0, // [0:904] is the sub-list for field type_name + 214, // 0: pg_query.ParseResult.stmts:type_name -> pg_query.RawStmt + 343, // 1: pg_query.ScanResult.tokens:type_name -> pg_query.ScanToken + 84, // 2: pg_query.Node.alias:type_name -> pg_query.Alias + 85, // 3: pg_query.Node.range_var:type_name -> pg_query.RangeVar + 86, // 4: pg_query.Node.table_func:type_name -> pg_query.TableFunc + 87, // 5: pg_query.Node.into_clause:type_name -> pg_query.IntoClause + 88, // 6: pg_query.Node.var:type_name -> pg_query.Var + 89, // 7: pg_query.Node.param:type_name -> pg_query.Param + 90, // 8: pg_query.Node.aggref:type_name -> pg_query.Aggref + 91, // 9: pg_query.Node.grouping_func:type_name -> pg_query.GroupingFunc + 92, // 10: pg_query.Node.window_func:type_name -> pg_query.WindowFunc + 93, // 11: pg_query.Node.window_func_run_condition:type_name -> pg_query.WindowFuncRunCondition + 94, // 12: pg_query.Node.merge_support_func:type_name -> pg_query.MergeSupportFunc + 95, // 13: pg_query.Node.subscripting_ref:type_name -> pg_query.SubscriptingRef + 96, // 14: pg_query.Node.func_expr:type_name -> pg_query.FuncExpr + 97, // 15: pg_query.Node.named_arg_expr:type_name -> pg_query.NamedArgExpr + 98, // 16: pg_query.Node.op_expr:type_name -> pg_query.OpExpr + 99, // 17: pg_query.Node.distinct_expr:type_name -> pg_query.DistinctExpr + 100, // 18: pg_query.Node.null_if_expr:type_name -> pg_query.NullIfExpr + 101, // 19: pg_query.Node.scalar_array_op_expr:type_name -> pg_query.ScalarArrayOpExpr + 102, // 20: pg_query.Node.bool_expr:type_name -> pg_query.BoolExpr + 103, // 21: pg_query.Node.sub_link:type_name -> pg_query.SubLink + 104, // 22: pg_query.Node.sub_plan:type_name -> pg_query.SubPlan + 105, // 23: pg_query.Node.alternative_sub_plan:type_name -> pg_query.AlternativeSubPlan + 106, // 24: pg_query.Node.field_select:type_name -> pg_query.FieldSelect + 107, // 25: pg_query.Node.field_store:type_name -> pg_query.FieldStore + 108, // 26: pg_query.Node.relabel_type:type_name -> pg_query.RelabelType + 109, // 27: pg_query.Node.coerce_via_io:type_name -> pg_query.CoerceViaIO + 110, // 28: pg_query.Node.array_coerce_expr:type_name -> pg_query.ArrayCoerceExpr + 111, // 29: pg_query.Node.convert_rowtype_expr:type_name -> pg_query.ConvertRowtypeExpr + 112, // 30: pg_query.Node.collate_expr:type_name -> pg_query.CollateExpr + 113, // 31: pg_query.Node.case_expr:type_name -> pg_query.CaseExpr + 114, // 32: pg_query.Node.case_when:type_name -> pg_query.CaseWhen + 115, // 33: pg_query.Node.case_test_expr:type_name -> pg_query.CaseTestExpr + 116, // 34: pg_query.Node.array_expr:type_name -> pg_query.ArrayExpr + 117, // 35: pg_query.Node.row_expr:type_name -> pg_query.RowExpr + 118, // 36: pg_query.Node.row_compare_expr:type_name -> pg_query.RowCompareExpr + 119, // 37: pg_query.Node.coalesce_expr:type_name -> pg_query.CoalesceExpr + 120, // 38: pg_query.Node.min_max_expr:type_name -> pg_query.MinMaxExpr + 121, // 39: pg_query.Node.sqlvalue_function:type_name -> pg_query.SQLValueFunction + 122, // 40: pg_query.Node.xml_expr:type_name -> pg_query.XmlExpr + 123, // 41: pg_query.Node.json_format:type_name -> pg_query.JsonFormat + 124, // 42: pg_query.Node.json_returning:type_name -> pg_query.JsonReturning + 125, // 43: pg_query.Node.json_value_expr:type_name -> pg_query.JsonValueExpr + 126, // 44: pg_query.Node.json_constructor_expr:type_name -> pg_query.JsonConstructorExpr + 127, // 45: pg_query.Node.json_is_predicate:type_name -> pg_query.JsonIsPredicate + 128, // 46: pg_query.Node.json_behavior:type_name -> pg_query.JsonBehavior + 129, // 47: pg_query.Node.json_expr:type_name -> pg_query.JsonExpr + 130, // 48: pg_query.Node.json_table_path:type_name -> pg_query.JsonTablePath + 131, // 49: pg_query.Node.json_table_path_scan:type_name -> pg_query.JsonTablePathScan + 132, // 50: pg_query.Node.json_table_sibling_join:type_name -> pg_query.JsonTableSiblingJoin + 133, // 51: pg_query.Node.null_test:type_name -> pg_query.NullTest + 134, // 52: pg_query.Node.boolean_test:type_name -> pg_query.BooleanTest + 135, // 53: pg_query.Node.merge_action:type_name -> pg_query.MergeAction + 136, // 54: pg_query.Node.coerce_to_domain:type_name -> pg_query.CoerceToDomain + 137, // 55: pg_query.Node.coerce_to_domain_value:type_name -> pg_query.CoerceToDomainValue + 138, // 56: pg_query.Node.set_to_default:type_name -> pg_query.SetToDefault + 139, // 57: pg_query.Node.current_of_expr:type_name -> pg_query.CurrentOfExpr + 140, // 58: pg_query.Node.next_value_expr:type_name -> pg_query.NextValueExpr + 141, // 59: pg_query.Node.inference_elem:type_name -> pg_query.InferenceElem + 142, // 60: pg_query.Node.target_entry:type_name -> pg_query.TargetEntry + 143, // 61: pg_query.Node.range_tbl_ref:type_name -> pg_query.RangeTblRef + 144, // 62: pg_query.Node.join_expr:type_name -> pg_query.JoinExpr + 145, // 63: pg_query.Node.from_expr:type_name -> pg_query.FromExpr + 146, // 64: pg_query.Node.on_conflict_expr:type_name -> pg_query.OnConflictExpr + 147, // 65: pg_query.Node.query:type_name -> pg_query.Query + 148, // 66: pg_query.Node.type_name:type_name -> pg_query.TypeName + 149, // 67: pg_query.Node.column_ref:type_name -> pg_query.ColumnRef + 150, // 68: pg_query.Node.param_ref:type_name -> pg_query.ParamRef + 151, // 69: pg_query.Node.a_expr:type_name -> pg_query.A_Expr + 152, // 70: pg_query.Node.type_cast:type_name -> pg_query.TypeCast + 153, // 71: pg_query.Node.collate_clause:type_name -> pg_query.CollateClause + 154, // 72: pg_query.Node.role_spec:type_name -> pg_query.RoleSpec + 155, // 73: pg_query.Node.func_call:type_name -> pg_query.FuncCall + 156, // 74: pg_query.Node.a_star:type_name -> pg_query.A_Star + 157, // 75: pg_query.Node.a_indices:type_name -> pg_query.A_Indices + 158, // 76: pg_query.Node.a_indirection:type_name -> pg_query.A_Indirection + 159, // 77: pg_query.Node.a_array_expr:type_name -> pg_query.A_ArrayExpr + 160, // 78: pg_query.Node.res_target:type_name -> pg_query.ResTarget + 161, // 79: pg_query.Node.multi_assign_ref:type_name -> pg_query.MultiAssignRef + 162, // 80: pg_query.Node.sort_by:type_name -> pg_query.SortBy + 163, // 81: pg_query.Node.window_def:type_name -> pg_query.WindowDef + 164, // 82: pg_query.Node.range_subselect:type_name -> pg_query.RangeSubselect + 165, // 83: pg_query.Node.range_function:type_name -> pg_query.RangeFunction + 166, // 84: pg_query.Node.range_table_func:type_name -> pg_query.RangeTableFunc + 167, // 85: pg_query.Node.range_table_func_col:type_name -> pg_query.RangeTableFuncCol + 168, // 86: pg_query.Node.range_table_sample:type_name -> pg_query.RangeTableSample + 169, // 87: pg_query.Node.column_def:type_name -> pg_query.ColumnDef + 170, // 88: pg_query.Node.table_like_clause:type_name -> pg_query.TableLikeClause + 171, // 89: pg_query.Node.index_elem:type_name -> pg_query.IndexElem + 172, // 90: pg_query.Node.def_elem:type_name -> pg_query.DefElem + 173, // 91: pg_query.Node.locking_clause:type_name -> pg_query.LockingClause + 174, // 92: pg_query.Node.xml_serialize:type_name -> pg_query.XmlSerialize + 175, // 93: pg_query.Node.partition_elem:type_name -> pg_query.PartitionElem + 176, // 94: pg_query.Node.partition_spec:type_name -> pg_query.PartitionSpec + 177, // 95: pg_query.Node.partition_bound_spec:type_name -> pg_query.PartitionBoundSpec + 178, // 96: pg_query.Node.partition_range_datum:type_name -> pg_query.PartitionRangeDatum + 179, // 97: pg_query.Node.single_partition_spec:type_name -> pg_query.SinglePartitionSpec + 180, // 98: pg_query.Node.partition_cmd:type_name -> pg_query.PartitionCmd + 181, // 99: pg_query.Node.range_tbl_entry:type_name -> pg_query.RangeTblEntry + 182, // 100: pg_query.Node.rtepermission_info:type_name -> pg_query.RTEPermissionInfo + 183, // 101: pg_query.Node.range_tbl_function:type_name -> pg_query.RangeTblFunction + 184, // 102: pg_query.Node.table_sample_clause:type_name -> pg_query.TableSampleClause + 185, // 103: pg_query.Node.with_check_option:type_name -> pg_query.WithCheckOption + 186, // 104: pg_query.Node.sort_group_clause:type_name -> pg_query.SortGroupClause + 187, // 105: pg_query.Node.grouping_set:type_name -> pg_query.GroupingSet + 188, // 106: pg_query.Node.window_clause:type_name -> pg_query.WindowClause + 189, // 107: pg_query.Node.row_mark_clause:type_name -> pg_query.RowMarkClause + 190, // 108: pg_query.Node.with_clause:type_name -> pg_query.WithClause + 191, // 109: pg_query.Node.infer_clause:type_name -> pg_query.InferClause + 192, // 110: pg_query.Node.on_conflict_clause:type_name -> pg_query.OnConflictClause + 193, // 111: pg_query.Node.ctesearch_clause:type_name -> pg_query.CTESearchClause + 194, // 112: pg_query.Node.ctecycle_clause:type_name -> pg_query.CTECycleClause + 195, // 113: pg_query.Node.common_table_expr:type_name -> pg_query.CommonTableExpr + 196, // 114: pg_query.Node.merge_when_clause:type_name -> pg_query.MergeWhenClause + 197, // 115: pg_query.Node.trigger_transition:type_name -> pg_query.TriggerTransition + 198, // 116: pg_query.Node.json_output:type_name -> pg_query.JsonOutput + 199, // 117: pg_query.Node.json_argument:type_name -> pg_query.JsonArgument + 200, // 118: pg_query.Node.json_func_expr:type_name -> pg_query.JsonFuncExpr + 201, // 119: pg_query.Node.json_table_path_spec:type_name -> pg_query.JsonTablePathSpec + 202, // 120: pg_query.Node.json_table:type_name -> pg_query.JsonTable + 203, // 121: pg_query.Node.json_table_column:type_name -> pg_query.JsonTableColumn + 204, // 122: pg_query.Node.json_key_value:type_name -> pg_query.JsonKeyValue + 205, // 123: pg_query.Node.json_parse_expr:type_name -> pg_query.JsonParseExpr + 206, // 124: pg_query.Node.json_scalar_expr:type_name -> pg_query.JsonScalarExpr + 207, // 125: pg_query.Node.json_serialize_expr:type_name -> pg_query.JsonSerializeExpr + 208, // 126: pg_query.Node.json_object_constructor:type_name -> pg_query.JsonObjectConstructor + 209, // 127: pg_query.Node.json_array_constructor:type_name -> pg_query.JsonArrayConstructor + 210, // 128: pg_query.Node.json_array_query_constructor:type_name -> pg_query.JsonArrayQueryConstructor + 211, // 129: pg_query.Node.json_agg_constructor:type_name -> pg_query.JsonAggConstructor + 212, // 130: pg_query.Node.json_object_agg:type_name -> pg_query.JsonObjectAgg + 213, // 131: pg_query.Node.json_array_agg:type_name -> pg_query.JsonArrayAgg + 214, // 132: pg_query.Node.raw_stmt:type_name -> pg_query.RawStmt + 215, // 133: pg_query.Node.insert_stmt:type_name -> pg_query.InsertStmt + 216, // 134: pg_query.Node.delete_stmt:type_name -> pg_query.DeleteStmt + 217, // 135: pg_query.Node.update_stmt:type_name -> pg_query.UpdateStmt + 218, // 136: pg_query.Node.merge_stmt:type_name -> pg_query.MergeStmt + 219, // 137: pg_query.Node.select_stmt:type_name -> pg_query.SelectStmt + 220, // 138: pg_query.Node.set_operation_stmt:type_name -> pg_query.SetOperationStmt + 221, // 139: pg_query.Node.return_stmt:type_name -> pg_query.ReturnStmt + 222, // 140: pg_query.Node.plassign_stmt:type_name -> pg_query.PLAssignStmt + 223, // 141: pg_query.Node.create_schema_stmt:type_name -> pg_query.CreateSchemaStmt + 224, // 142: pg_query.Node.alter_table_stmt:type_name -> pg_query.AlterTableStmt + 225, // 143: pg_query.Node.replica_identity_stmt:type_name -> pg_query.ReplicaIdentityStmt + 226, // 144: pg_query.Node.alter_table_cmd:type_name -> pg_query.AlterTableCmd + 227, // 145: pg_query.Node.alter_collation_stmt:type_name -> pg_query.AlterCollationStmt + 228, // 146: pg_query.Node.alter_domain_stmt:type_name -> pg_query.AlterDomainStmt + 229, // 147: pg_query.Node.grant_stmt:type_name -> pg_query.GrantStmt + 230, // 148: pg_query.Node.object_with_args:type_name -> pg_query.ObjectWithArgs + 231, // 149: pg_query.Node.access_priv:type_name -> pg_query.AccessPriv + 232, // 150: pg_query.Node.grant_role_stmt:type_name -> pg_query.GrantRoleStmt + 233, // 151: pg_query.Node.alter_default_privileges_stmt:type_name -> pg_query.AlterDefaultPrivilegesStmt + 234, // 152: pg_query.Node.copy_stmt:type_name -> pg_query.CopyStmt + 235, // 153: pg_query.Node.variable_set_stmt:type_name -> pg_query.VariableSetStmt + 236, // 154: pg_query.Node.variable_show_stmt:type_name -> pg_query.VariableShowStmt + 237, // 155: pg_query.Node.create_stmt:type_name -> pg_query.CreateStmt + 238, // 156: pg_query.Node.constraint:type_name -> pg_query.Constraint + 239, // 157: pg_query.Node.create_table_space_stmt:type_name -> pg_query.CreateTableSpaceStmt + 240, // 158: pg_query.Node.drop_table_space_stmt:type_name -> pg_query.DropTableSpaceStmt + 241, // 159: pg_query.Node.alter_table_space_options_stmt:type_name -> pg_query.AlterTableSpaceOptionsStmt + 242, // 160: pg_query.Node.alter_table_move_all_stmt:type_name -> pg_query.AlterTableMoveAllStmt + 243, // 161: pg_query.Node.create_extension_stmt:type_name -> pg_query.CreateExtensionStmt + 244, // 162: pg_query.Node.alter_extension_stmt:type_name -> pg_query.AlterExtensionStmt + 245, // 163: pg_query.Node.alter_extension_contents_stmt:type_name -> pg_query.AlterExtensionContentsStmt + 246, // 164: pg_query.Node.create_fdw_stmt:type_name -> pg_query.CreateFdwStmt + 247, // 165: pg_query.Node.alter_fdw_stmt:type_name -> pg_query.AlterFdwStmt + 248, // 166: pg_query.Node.create_foreign_server_stmt:type_name -> pg_query.CreateForeignServerStmt + 249, // 167: pg_query.Node.alter_foreign_server_stmt:type_name -> pg_query.AlterForeignServerStmt + 250, // 168: pg_query.Node.create_foreign_table_stmt:type_name -> pg_query.CreateForeignTableStmt + 251, // 169: pg_query.Node.create_user_mapping_stmt:type_name -> pg_query.CreateUserMappingStmt + 252, // 170: pg_query.Node.alter_user_mapping_stmt:type_name -> pg_query.AlterUserMappingStmt + 253, // 171: pg_query.Node.drop_user_mapping_stmt:type_name -> pg_query.DropUserMappingStmt + 254, // 172: pg_query.Node.import_foreign_schema_stmt:type_name -> pg_query.ImportForeignSchemaStmt + 255, // 173: pg_query.Node.create_policy_stmt:type_name -> pg_query.CreatePolicyStmt + 256, // 174: pg_query.Node.alter_policy_stmt:type_name -> pg_query.AlterPolicyStmt + 257, // 175: pg_query.Node.create_am_stmt:type_name -> pg_query.CreateAmStmt + 258, // 176: pg_query.Node.create_trig_stmt:type_name -> pg_query.CreateTrigStmt + 259, // 177: pg_query.Node.create_event_trig_stmt:type_name -> pg_query.CreateEventTrigStmt + 260, // 178: pg_query.Node.alter_event_trig_stmt:type_name -> pg_query.AlterEventTrigStmt + 261, // 179: pg_query.Node.create_plang_stmt:type_name -> pg_query.CreatePLangStmt + 262, // 180: pg_query.Node.create_role_stmt:type_name -> pg_query.CreateRoleStmt + 263, // 181: pg_query.Node.alter_role_stmt:type_name -> pg_query.AlterRoleStmt + 264, // 182: pg_query.Node.alter_role_set_stmt:type_name -> pg_query.AlterRoleSetStmt + 265, // 183: pg_query.Node.drop_role_stmt:type_name -> pg_query.DropRoleStmt + 266, // 184: pg_query.Node.create_seq_stmt:type_name -> pg_query.CreateSeqStmt + 267, // 185: pg_query.Node.alter_seq_stmt:type_name -> pg_query.AlterSeqStmt + 268, // 186: pg_query.Node.define_stmt:type_name -> pg_query.DefineStmt + 269, // 187: pg_query.Node.create_domain_stmt:type_name -> pg_query.CreateDomainStmt + 270, // 188: pg_query.Node.create_op_class_stmt:type_name -> pg_query.CreateOpClassStmt + 271, // 189: pg_query.Node.create_op_class_item:type_name -> pg_query.CreateOpClassItem + 272, // 190: pg_query.Node.create_op_family_stmt:type_name -> pg_query.CreateOpFamilyStmt + 273, // 191: pg_query.Node.alter_op_family_stmt:type_name -> pg_query.AlterOpFamilyStmt + 274, // 192: pg_query.Node.drop_stmt:type_name -> pg_query.DropStmt + 275, // 193: pg_query.Node.truncate_stmt:type_name -> pg_query.TruncateStmt + 276, // 194: pg_query.Node.comment_stmt:type_name -> pg_query.CommentStmt + 277, // 195: pg_query.Node.sec_label_stmt:type_name -> pg_query.SecLabelStmt + 278, // 196: pg_query.Node.declare_cursor_stmt:type_name -> pg_query.DeclareCursorStmt + 279, // 197: pg_query.Node.close_portal_stmt:type_name -> pg_query.ClosePortalStmt + 280, // 198: pg_query.Node.fetch_stmt:type_name -> pg_query.FetchStmt + 281, // 199: pg_query.Node.index_stmt:type_name -> pg_query.IndexStmt + 282, // 200: pg_query.Node.create_stats_stmt:type_name -> pg_query.CreateStatsStmt + 283, // 201: pg_query.Node.stats_elem:type_name -> pg_query.StatsElem + 284, // 202: pg_query.Node.alter_stats_stmt:type_name -> pg_query.AlterStatsStmt + 285, // 203: pg_query.Node.create_function_stmt:type_name -> pg_query.CreateFunctionStmt + 286, // 204: pg_query.Node.function_parameter:type_name -> pg_query.FunctionParameter + 287, // 205: pg_query.Node.alter_function_stmt:type_name -> pg_query.AlterFunctionStmt + 288, // 206: pg_query.Node.do_stmt:type_name -> pg_query.DoStmt + 289, // 207: pg_query.Node.inline_code_block:type_name -> pg_query.InlineCodeBlock + 290, // 208: pg_query.Node.call_stmt:type_name -> pg_query.CallStmt + 291, // 209: pg_query.Node.call_context:type_name -> pg_query.CallContext + 292, // 210: pg_query.Node.rename_stmt:type_name -> pg_query.RenameStmt + 293, // 211: pg_query.Node.alter_object_depends_stmt:type_name -> pg_query.AlterObjectDependsStmt + 294, // 212: pg_query.Node.alter_object_schema_stmt:type_name -> pg_query.AlterObjectSchemaStmt + 295, // 213: pg_query.Node.alter_owner_stmt:type_name -> pg_query.AlterOwnerStmt + 296, // 214: pg_query.Node.alter_operator_stmt:type_name -> pg_query.AlterOperatorStmt + 297, // 215: pg_query.Node.alter_type_stmt:type_name -> pg_query.AlterTypeStmt + 298, // 216: pg_query.Node.rule_stmt:type_name -> pg_query.RuleStmt + 299, // 217: pg_query.Node.notify_stmt:type_name -> pg_query.NotifyStmt + 300, // 218: pg_query.Node.listen_stmt:type_name -> pg_query.ListenStmt + 301, // 219: pg_query.Node.unlisten_stmt:type_name -> pg_query.UnlistenStmt + 302, // 220: pg_query.Node.transaction_stmt:type_name -> pg_query.TransactionStmt + 303, // 221: pg_query.Node.composite_type_stmt:type_name -> pg_query.CompositeTypeStmt + 304, // 222: pg_query.Node.create_enum_stmt:type_name -> pg_query.CreateEnumStmt + 305, // 223: pg_query.Node.create_range_stmt:type_name -> pg_query.CreateRangeStmt + 306, // 224: pg_query.Node.alter_enum_stmt:type_name -> pg_query.AlterEnumStmt + 307, // 225: pg_query.Node.view_stmt:type_name -> pg_query.ViewStmt + 308, // 226: pg_query.Node.load_stmt:type_name -> pg_query.LoadStmt + 309, // 227: pg_query.Node.createdb_stmt:type_name -> pg_query.CreatedbStmt + 310, // 228: pg_query.Node.alter_database_stmt:type_name -> pg_query.AlterDatabaseStmt + 311, // 229: pg_query.Node.alter_database_refresh_coll_stmt:type_name -> pg_query.AlterDatabaseRefreshCollStmt + 312, // 230: pg_query.Node.alter_database_set_stmt:type_name -> pg_query.AlterDatabaseSetStmt + 313, // 231: pg_query.Node.dropdb_stmt:type_name -> pg_query.DropdbStmt + 314, // 232: pg_query.Node.alter_system_stmt:type_name -> pg_query.AlterSystemStmt + 315, // 233: pg_query.Node.cluster_stmt:type_name -> pg_query.ClusterStmt + 316, // 234: pg_query.Node.vacuum_stmt:type_name -> pg_query.VacuumStmt + 317, // 235: pg_query.Node.vacuum_relation:type_name -> pg_query.VacuumRelation + 318, // 236: pg_query.Node.explain_stmt:type_name -> pg_query.ExplainStmt + 319, // 237: pg_query.Node.create_table_as_stmt:type_name -> pg_query.CreateTableAsStmt + 320, // 238: pg_query.Node.refresh_mat_view_stmt:type_name -> pg_query.RefreshMatViewStmt + 321, // 239: pg_query.Node.check_point_stmt:type_name -> pg_query.CheckPointStmt + 322, // 240: pg_query.Node.discard_stmt:type_name -> pg_query.DiscardStmt + 323, // 241: pg_query.Node.lock_stmt:type_name -> pg_query.LockStmt + 324, // 242: pg_query.Node.constraints_set_stmt:type_name -> pg_query.ConstraintsSetStmt + 325, // 243: pg_query.Node.reindex_stmt:type_name -> pg_query.ReindexStmt + 326, // 244: pg_query.Node.create_conversion_stmt:type_name -> pg_query.CreateConversionStmt + 327, // 245: pg_query.Node.create_cast_stmt:type_name -> pg_query.CreateCastStmt + 328, // 246: pg_query.Node.create_transform_stmt:type_name -> pg_query.CreateTransformStmt + 329, // 247: pg_query.Node.prepare_stmt:type_name -> pg_query.PrepareStmt + 330, // 248: pg_query.Node.execute_stmt:type_name -> pg_query.ExecuteStmt + 331, // 249: pg_query.Node.deallocate_stmt:type_name -> pg_query.DeallocateStmt + 332, // 250: pg_query.Node.drop_owned_stmt:type_name -> pg_query.DropOwnedStmt + 333, // 251: pg_query.Node.reassign_owned_stmt:type_name -> pg_query.ReassignOwnedStmt + 334, // 252: pg_query.Node.alter_tsdictionary_stmt:type_name -> pg_query.AlterTSDictionaryStmt + 335, // 253: pg_query.Node.alter_tsconfiguration_stmt:type_name -> pg_query.AlterTSConfigurationStmt + 336, // 254: pg_query.Node.publication_table:type_name -> pg_query.PublicationTable + 337, // 255: pg_query.Node.publication_obj_spec:type_name -> pg_query.PublicationObjSpec + 338, // 256: pg_query.Node.create_publication_stmt:type_name -> pg_query.CreatePublicationStmt + 339, // 257: pg_query.Node.alter_publication_stmt:type_name -> pg_query.AlterPublicationStmt + 340, // 258: pg_query.Node.create_subscription_stmt:type_name -> pg_query.CreateSubscriptionStmt + 341, // 259: pg_query.Node.alter_subscription_stmt:type_name -> pg_query.AlterSubscriptionStmt + 342, // 260: pg_query.Node.drop_subscription_stmt:type_name -> pg_query.DropSubscriptionStmt + 75, // 261: pg_query.Node.integer:type_name -> pg_query.Integer + 76, // 262: pg_query.Node.float:type_name -> pg_query.Float + 77, // 263: pg_query.Node.boolean:type_name -> pg_query.Boolean + 78, // 264: pg_query.Node.string:type_name -> pg_query.String + 79, // 265: pg_query.Node.bit_string:type_name -> pg_query.BitString + 80, // 266: pg_query.Node.list:type_name -> pg_query.List + 82, // 267: pg_query.Node.int_list:type_name -> pg_query.IntList + 81, // 268: pg_query.Node.oid_list:type_name -> pg_query.OidList + 83, // 269: pg_query.Node.a_const:type_name -> pg_query.A_Const + 74, // 270: pg_query.List.items:type_name -> pg_query.Node + 74, // 271: pg_query.OidList.items:type_name -> pg_query.Node + 74, // 272: pg_query.IntList.items:type_name -> pg_query.Node + 75, // 273: pg_query.A_Const.ival:type_name -> pg_query.Integer + 76, // 274: pg_query.A_Const.fval:type_name -> pg_query.Float + 77, // 275: pg_query.A_Const.boolval:type_name -> pg_query.Boolean + 78, // 276: pg_query.A_Const.sval:type_name -> pg_query.String + 79, // 277: pg_query.A_Const.bsval:type_name -> pg_query.BitString + 74, // 278: pg_query.Alias.colnames:type_name -> pg_query.Node + 84, // 279: pg_query.RangeVar.alias:type_name -> pg_query.Alias + 37, // 280: pg_query.TableFunc.functype:type_name -> pg_query.TableFuncType + 74, // 281: pg_query.TableFunc.ns_uris:type_name -> pg_query.Node + 74, // 282: pg_query.TableFunc.ns_names:type_name -> pg_query.Node + 74, // 283: pg_query.TableFunc.docexpr:type_name -> pg_query.Node + 74, // 284: pg_query.TableFunc.rowexpr:type_name -> pg_query.Node + 74, // 285: pg_query.TableFunc.colnames:type_name -> pg_query.Node + 74, // 286: pg_query.TableFunc.coltypes:type_name -> pg_query.Node + 74, // 287: pg_query.TableFunc.coltypmods:type_name -> pg_query.Node + 74, // 288: pg_query.TableFunc.colcollations:type_name -> pg_query.Node + 74, // 289: pg_query.TableFunc.colexprs:type_name -> pg_query.Node + 74, // 290: pg_query.TableFunc.coldefexprs:type_name -> pg_query.Node + 74, // 291: pg_query.TableFunc.colvalexprs:type_name -> pg_query.Node + 74, // 292: pg_query.TableFunc.passingvalexprs:type_name -> pg_query.Node + 74, // 293: pg_query.TableFunc.plan:type_name -> pg_query.Node + 85, // 294: pg_query.IntoClause.rel:type_name -> pg_query.RangeVar + 74, // 295: pg_query.IntoClause.col_names:type_name -> pg_query.Node + 74, // 296: pg_query.IntoClause.options:type_name -> pg_query.Node + 36, // 297: pg_query.IntoClause.on_commit:type_name -> pg_query.OnCommitAction + 74, // 298: pg_query.IntoClause.view_query:type_name -> pg_query.Node + 74, // 299: pg_query.Var.xpr:type_name -> pg_query.Node + 74, // 300: pg_query.Param.xpr:type_name -> pg_query.Node + 38, // 301: pg_query.Param.paramkind:type_name -> pg_query.ParamKind + 74, // 302: pg_query.Aggref.xpr:type_name -> pg_query.Node + 74, // 303: pg_query.Aggref.aggargtypes:type_name -> pg_query.Node + 74, // 304: pg_query.Aggref.aggdirectargs:type_name -> pg_query.Node + 74, // 305: pg_query.Aggref.args:type_name -> pg_query.Node + 74, // 306: pg_query.Aggref.aggorder:type_name -> pg_query.Node + 74, // 307: pg_query.Aggref.aggdistinct:type_name -> pg_query.Node + 74, // 308: pg_query.Aggref.aggfilter:type_name -> pg_query.Node + 61, // 309: pg_query.Aggref.aggsplit:type_name -> pg_query.AggSplit + 74, // 310: pg_query.GroupingFunc.xpr:type_name -> pg_query.Node + 74, // 311: pg_query.GroupingFunc.args:type_name -> pg_query.Node + 74, // 312: pg_query.GroupingFunc.refs:type_name -> pg_query.Node + 74, // 313: pg_query.WindowFunc.xpr:type_name -> pg_query.Node + 74, // 314: pg_query.WindowFunc.args:type_name -> pg_query.Node + 74, // 315: pg_query.WindowFunc.aggfilter:type_name -> pg_query.Node + 74, // 316: pg_query.WindowFunc.run_condition:type_name -> pg_query.Node + 74, // 317: pg_query.WindowFuncRunCondition.xpr:type_name -> pg_query.Node + 74, // 318: pg_query.WindowFuncRunCondition.arg:type_name -> pg_query.Node + 74, // 319: pg_query.MergeSupportFunc.xpr:type_name -> pg_query.Node + 74, // 320: pg_query.SubscriptingRef.xpr:type_name -> pg_query.Node + 74, // 321: pg_query.SubscriptingRef.refupperindexpr:type_name -> pg_query.Node + 74, // 322: pg_query.SubscriptingRef.reflowerindexpr:type_name -> pg_query.Node + 74, // 323: pg_query.SubscriptingRef.refexpr:type_name -> pg_query.Node + 74, // 324: pg_query.SubscriptingRef.refassgnexpr:type_name -> pg_query.Node + 74, // 325: pg_query.FuncExpr.xpr:type_name -> pg_query.Node + 40, // 326: pg_query.FuncExpr.funcformat:type_name -> pg_query.CoercionForm + 74, // 327: pg_query.FuncExpr.args:type_name -> pg_query.Node + 74, // 328: pg_query.NamedArgExpr.xpr:type_name -> pg_query.Node + 74, // 329: pg_query.NamedArgExpr.arg:type_name -> pg_query.Node + 74, // 330: pg_query.OpExpr.xpr:type_name -> pg_query.Node + 74, // 331: pg_query.OpExpr.args:type_name -> pg_query.Node + 74, // 332: pg_query.DistinctExpr.xpr:type_name -> pg_query.Node + 74, // 333: pg_query.DistinctExpr.args:type_name -> pg_query.Node + 74, // 334: pg_query.NullIfExpr.xpr:type_name -> pg_query.Node + 74, // 335: pg_query.NullIfExpr.args:type_name -> pg_query.Node + 74, // 336: pg_query.ScalarArrayOpExpr.xpr:type_name -> pg_query.Node + 74, // 337: pg_query.ScalarArrayOpExpr.args:type_name -> pg_query.Node + 74, // 338: pg_query.BoolExpr.xpr:type_name -> pg_query.Node + 41, // 339: pg_query.BoolExpr.boolop:type_name -> pg_query.BoolExprType + 74, // 340: pg_query.BoolExpr.args:type_name -> pg_query.Node + 74, // 341: pg_query.SubLink.xpr:type_name -> pg_query.Node + 42, // 342: pg_query.SubLink.sub_link_type:type_name -> pg_query.SubLinkType + 74, // 343: pg_query.SubLink.testexpr:type_name -> pg_query.Node + 74, // 344: pg_query.SubLink.oper_name:type_name -> pg_query.Node + 74, // 345: pg_query.SubLink.subselect:type_name -> pg_query.Node + 74, // 346: pg_query.SubPlan.xpr:type_name -> pg_query.Node + 42, // 347: pg_query.SubPlan.sub_link_type:type_name -> pg_query.SubLinkType + 74, // 348: pg_query.SubPlan.testexpr:type_name -> pg_query.Node + 74, // 349: pg_query.SubPlan.param_ids:type_name -> pg_query.Node + 74, // 350: pg_query.SubPlan.set_param:type_name -> pg_query.Node + 74, // 351: pg_query.SubPlan.par_param:type_name -> pg_query.Node + 74, // 352: pg_query.SubPlan.args:type_name -> pg_query.Node + 74, // 353: pg_query.AlternativeSubPlan.xpr:type_name -> pg_query.Node + 74, // 354: pg_query.AlternativeSubPlan.subplans:type_name -> pg_query.Node + 74, // 355: pg_query.FieldSelect.xpr:type_name -> pg_query.Node + 74, // 356: pg_query.FieldSelect.arg:type_name -> pg_query.Node + 74, // 357: pg_query.FieldStore.xpr:type_name -> pg_query.Node + 74, // 358: pg_query.FieldStore.arg:type_name -> pg_query.Node + 74, // 359: pg_query.FieldStore.newvals:type_name -> pg_query.Node + 74, // 360: pg_query.FieldStore.fieldnums:type_name -> pg_query.Node + 74, // 361: pg_query.RelabelType.xpr:type_name -> pg_query.Node + 74, // 362: pg_query.RelabelType.arg:type_name -> pg_query.Node + 40, // 363: pg_query.RelabelType.relabelformat:type_name -> pg_query.CoercionForm + 74, // 364: pg_query.CoerceViaIO.xpr:type_name -> pg_query.Node + 74, // 365: pg_query.CoerceViaIO.arg:type_name -> pg_query.Node + 40, // 366: pg_query.CoerceViaIO.coerceformat:type_name -> pg_query.CoercionForm + 74, // 367: pg_query.ArrayCoerceExpr.xpr:type_name -> pg_query.Node + 74, // 368: pg_query.ArrayCoerceExpr.arg:type_name -> pg_query.Node + 74, // 369: pg_query.ArrayCoerceExpr.elemexpr:type_name -> pg_query.Node + 40, // 370: pg_query.ArrayCoerceExpr.coerceformat:type_name -> pg_query.CoercionForm + 74, // 371: pg_query.ConvertRowtypeExpr.xpr:type_name -> pg_query.Node + 74, // 372: pg_query.ConvertRowtypeExpr.arg:type_name -> pg_query.Node + 40, // 373: pg_query.ConvertRowtypeExpr.convertformat:type_name -> pg_query.CoercionForm + 74, // 374: pg_query.CollateExpr.xpr:type_name -> pg_query.Node + 74, // 375: pg_query.CollateExpr.arg:type_name -> pg_query.Node + 74, // 376: pg_query.CaseExpr.xpr:type_name -> pg_query.Node + 74, // 377: pg_query.CaseExpr.arg:type_name -> pg_query.Node + 74, // 378: pg_query.CaseExpr.args:type_name -> pg_query.Node + 74, // 379: pg_query.CaseExpr.defresult:type_name -> pg_query.Node + 74, // 380: pg_query.CaseWhen.xpr:type_name -> pg_query.Node + 74, // 381: pg_query.CaseWhen.expr:type_name -> pg_query.Node + 74, // 382: pg_query.CaseWhen.result:type_name -> pg_query.Node + 74, // 383: pg_query.CaseTestExpr.xpr:type_name -> pg_query.Node + 74, // 384: pg_query.ArrayExpr.xpr:type_name -> pg_query.Node + 74, // 385: pg_query.ArrayExpr.elements:type_name -> pg_query.Node + 74, // 386: pg_query.RowExpr.xpr:type_name -> pg_query.Node + 74, // 387: pg_query.RowExpr.args:type_name -> pg_query.Node + 40, // 388: pg_query.RowExpr.row_format:type_name -> pg_query.CoercionForm + 74, // 389: pg_query.RowExpr.colnames:type_name -> pg_query.Node + 74, // 390: pg_query.RowCompareExpr.xpr:type_name -> pg_query.Node + 43, // 391: pg_query.RowCompareExpr.rctype:type_name -> pg_query.RowCompareType + 74, // 392: pg_query.RowCompareExpr.opnos:type_name -> pg_query.Node + 74, // 393: pg_query.RowCompareExpr.opfamilies:type_name -> pg_query.Node + 74, // 394: pg_query.RowCompareExpr.inputcollids:type_name -> pg_query.Node + 74, // 395: pg_query.RowCompareExpr.largs:type_name -> pg_query.Node + 74, // 396: pg_query.RowCompareExpr.rargs:type_name -> pg_query.Node + 74, // 397: pg_query.CoalesceExpr.xpr:type_name -> pg_query.Node + 74, // 398: pg_query.CoalesceExpr.args:type_name -> pg_query.Node + 74, // 399: pg_query.MinMaxExpr.xpr:type_name -> pg_query.Node + 44, // 400: pg_query.MinMaxExpr.op:type_name -> pg_query.MinMaxOp + 74, // 401: pg_query.MinMaxExpr.args:type_name -> pg_query.Node + 74, // 402: pg_query.SQLValueFunction.xpr:type_name -> pg_query.Node + 45, // 403: pg_query.SQLValueFunction.op:type_name -> pg_query.SQLValueFunctionOp + 74, // 404: pg_query.XmlExpr.xpr:type_name -> pg_query.Node + 46, // 405: pg_query.XmlExpr.op:type_name -> pg_query.XmlExprOp + 74, // 406: pg_query.XmlExpr.named_args:type_name -> pg_query.Node + 74, // 407: pg_query.XmlExpr.arg_names:type_name -> pg_query.Node + 74, // 408: pg_query.XmlExpr.args:type_name -> pg_query.Node + 47, // 409: pg_query.XmlExpr.xmloption:type_name -> pg_query.XmlOptionType + 49, // 410: pg_query.JsonFormat.format_type:type_name -> pg_query.JsonFormatType + 48, // 411: pg_query.JsonFormat.encoding:type_name -> pg_query.JsonEncoding + 123, // 412: pg_query.JsonReturning.format:type_name -> pg_query.JsonFormat + 74, // 413: pg_query.JsonValueExpr.raw_expr:type_name -> pg_query.Node + 74, // 414: pg_query.JsonValueExpr.formatted_expr:type_name -> pg_query.Node + 123, // 415: pg_query.JsonValueExpr.format:type_name -> pg_query.JsonFormat + 74, // 416: pg_query.JsonConstructorExpr.xpr:type_name -> pg_query.Node + 50, // 417: pg_query.JsonConstructorExpr.type:type_name -> pg_query.JsonConstructorType + 74, // 418: pg_query.JsonConstructorExpr.args:type_name -> pg_query.Node + 74, // 419: pg_query.JsonConstructorExpr.func:type_name -> pg_query.Node + 74, // 420: pg_query.JsonConstructorExpr.coercion:type_name -> pg_query.Node + 124, // 421: pg_query.JsonConstructorExpr.returning:type_name -> pg_query.JsonReturning + 74, // 422: pg_query.JsonIsPredicate.expr:type_name -> pg_query.Node + 123, // 423: pg_query.JsonIsPredicate.format:type_name -> pg_query.JsonFormat + 51, // 424: pg_query.JsonIsPredicate.item_type:type_name -> pg_query.JsonValueType + 53, // 425: pg_query.JsonBehavior.btype:type_name -> pg_query.JsonBehaviorType + 74, // 426: pg_query.JsonBehavior.expr:type_name -> pg_query.Node + 74, // 427: pg_query.JsonExpr.xpr:type_name -> pg_query.Node + 54, // 428: pg_query.JsonExpr.op:type_name -> pg_query.JsonExprOp + 74, // 429: pg_query.JsonExpr.formatted_expr:type_name -> pg_query.Node + 123, // 430: pg_query.JsonExpr.format:type_name -> pg_query.JsonFormat + 74, // 431: pg_query.JsonExpr.path_spec:type_name -> pg_query.Node + 124, // 432: pg_query.JsonExpr.returning:type_name -> pg_query.JsonReturning + 74, // 433: pg_query.JsonExpr.passing_names:type_name -> pg_query.Node + 74, // 434: pg_query.JsonExpr.passing_values:type_name -> pg_query.Node + 128, // 435: pg_query.JsonExpr.on_empty:type_name -> pg_query.JsonBehavior + 128, // 436: pg_query.JsonExpr.on_error:type_name -> pg_query.JsonBehavior + 52, // 437: pg_query.JsonExpr.wrapper:type_name -> pg_query.JsonWrapper + 74, // 438: pg_query.JsonTablePathScan.plan:type_name -> pg_query.Node + 130, // 439: pg_query.JsonTablePathScan.path:type_name -> pg_query.JsonTablePath + 74, // 440: pg_query.JsonTablePathScan.child:type_name -> pg_query.Node + 74, // 441: pg_query.JsonTableSiblingJoin.plan:type_name -> pg_query.Node + 74, // 442: pg_query.JsonTableSiblingJoin.lplan:type_name -> pg_query.Node + 74, // 443: pg_query.JsonTableSiblingJoin.rplan:type_name -> pg_query.Node + 74, // 444: pg_query.NullTest.xpr:type_name -> pg_query.Node + 74, // 445: pg_query.NullTest.arg:type_name -> pg_query.Node + 55, // 446: pg_query.NullTest.nulltesttype:type_name -> pg_query.NullTestType + 74, // 447: pg_query.BooleanTest.xpr:type_name -> pg_query.Node + 74, // 448: pg_query.BooleanTest.arg:type_name -> pg_query.Node + 56, // 449: pg_query.BooleanTest.booltesttype:type_name -> pg_query.BoolTestType + 57, // 450: pg_query.MergeAction.match_kind:type_name -> pg_query.MergeMatchKind + 58, // 451: pg_query.MergeAction.command_type:type_name -> pg_query.CmdType + 35, // 452: pg_query.MergeAction.override:type_name -> pg_query.OverridingKind + 74, // 453: pg_query.MergeAction.qual:type_name -> pg_query.Node + 74, // 454: pg_query.MergeAction.target_list:type_name -> pg_query.Node + 74, // 455: pg_query.MergeAction.update_colnos:type_name -> pg_query.Node + 74, // 456: pg_query.CoerceToDomain.xpr:type_name -> pg_query.Node + 74, // 457: pg_query.CoerceToDomain.arg:type_name -> pg_query.Node + 40, // 458: pg_query.CoerceToDomain.coercionformat:type_name -> pg_query.CoercionForm + 74, // 459: pg_query.CoerceToDomainValue.xpr:type_name -> pg_query.Node + 74, // 460: pg_query.SetToDefault.xpr:type_name -> pg_query.Node + 74, // 461: pg_query.CurrentOfExpr.xpr:type_name -> pg_query.Node + 74, // 462: pg_query.NextValueExpr.xpr:type_name -> pg_query.Node + 74, // 463: pg_query.InferenceElem.xpr:type_name -> pg_query.Node + 74, // 464: pg_query.InferenceElem.expr:type_name -> pg_query.Node + 74, // 465: pg_query.TargetEntry.xpr:type_name -> pg_query.Node + 74, // 466: pg_query.TargetEntry.expr:type_name -> pg_query.Node + 59, // 467: pg_query.JoinExpr.jointype:type_name -> pg_query.JoinType + 74, // 468: pg_query.JoinExpr.larg:type_name -> pg_query.Node + 74, // 469: pg_query.JoinExpr.rarg:type_name -> pg_query.Node + 74, // 470: pg_query.JoinExpr.using_clause:type_name -> pg_query.Node + 84, // 471: pg_query.JoinExpr.join_using_alias:type_name -> pg_query.Alias + 74, // 472: pg_query.JoinExpr.quals:type_name -> pg_query.Node + 84, // 473: pg_query.JoinExpr.alias:type_name -> pg_query.Alias + 74, // 474: pg_query.FromExpr.fromlist:type_name -> pg_query.Node + 74, // 475: pg_query.FromExpr.quals:type_name -> pg_query.Node + 64, // 476: pg_query.OnConflictExpr.action:type_name -> pg_query.OnConflictAction + 74, // 477: pg_query.OnConflictExpr.arbiter_elems:type_name -> pg_query.Node + 74, // 478: pg_query.OnConflictExpr.arbiter_where:type_name -> pg_query.Node + 74, // 479: pg_query.OnConflictExpr.on_conflict_set:type_name -> pg_query.Node + 74, // 480: pg_query.OnConflictExpr.on_conflict_where:type_name -> pg_query.Node + 74, // 481: pg_query.OnConflictExpr.excl_rel_tlist:type_name -> pg_query.Node + 58, // 482: pg_query.Query.command_type:type_name -> pg_query.CmdType + 0, // 483: pg_query.Query.query_source:type_name -> pg_query.QuerySource + 74, // 484: pg_query.Query.utility_stmt:type_name -> pg_query.Node + 74, // 485: pg_query.Query.cte_list:type_name -> pg_query.Node + 74, // 486: pg_query.Query.rtable:type_name -> pg_query.Node + 74, // 487: pg_query.Query.rteperminfos:type_name -> pg_query.Node + 145, // 488: pg_query.Query.jointree:type_name -> pg_query.FromExpr + 74, // 489: pg_query.Query.merge_action_list:type_name -> pg_query.Node + 74, // 490: pg_query.Query.merge_join_condition:type_name -> pg_query.Node + 74, // 491: pg_query.Query.target_list:type_name -> pg_query.Node + 35, // 492: pg_query.Query.override:type_name -> pg_query.OverridingKind + 146, // 493: pg_query.Query.on_conflict:type_name -> pg_query.OnConflictExpr + 74, // 494: pg_query.Query.returning_list:type_name -> pg_query.Node + 74, // 495: pg_query.Query.group_clause:type_name -> pg_query.Node + 74, // 496: pg_query.Query.grouping_sets:type_name -> pg_query.Node + 74, // 497: pg_query.Query.having_qual:type_name -> pg_query.Node + 74, // 498: pg_query.Query.window_clause:type_name -> pg_query.Node + 74, // 499: pg_query.Query.distinct_clause:type_name -> pg_query.Node + 74, // 500: pg_query.Query.sort_clause:type_name -> pg_query.Node + 74, // 501: pg_query.Query.limit_offset:type_name -> pg_query.Node + 74, // 502: pg_query.Query.limit_count:type_name -> pg_query.Node + 65, // 503: pg_query.Query.limit_option:type_name -> pg_query.LimitOption + 74, // 504: pg_query.Query.row_marks:type_name -> pg_query.Node + 74, // 505: pg_query.Query.set_operations:type_name -> pg_query.Node + 74, // 506: pg_query.Query.constraint_deps:type_name -> pg_query.Node + 74, // 507: pg_query.Query.with_check_options:type_name -> pg_query.Node + 74, // 508: pg_query.TypeName.names:type_name -> pg_query.Node + 74, // 509: pg_query.TypeName.typmods:type_name -> pg_query.Node + 74, // 510: pg_query.TypeName.array_bounds:type_name -> pg_query.Node + 74, // 511: pg_query.ColumnRef.fields:type_name -> pg_query.Node + 4, // 512: pg_query.A_Expr.kind:type_name -> pg_query.A_Expr_Kind + 74, // 513: pg_query.A_Expr.name:type_name -> pg_query.Node + 74, // 514: pg_query.A_Expr.lexpr:type_name -> pg_query.Node + 74, // 515: pg_query.A_Expr.rexpr:type_name -> pg_query.Node + 74, // 516: pg_query.TypeCast.arg:type_name -> pg_query.Node + 148, // 517: pg_query.TypeCast.type_name:type_name -> pg_query.TypeName + 74, // 518: pg_query.CollateClause.arg:type_name -> pg_query.Node + 74, // 519: pg_query.CollateClause.collname:type_name -> pg_query.Node + 5, // 520: pg_query.RoleSpec.roletype:type_name -> pg_query.RoleSpecType + 74, // 521: pg_query.FuncCall.funcname:type_name -> pg_query.Node + 74, // 522: pg_query.FuncCall.args:type_name -> pg_query.Node + 74, // 523: pg_query.FuncCall.agg_order:type_name -> pg_query.Node + 74, // 524: pg_query.FuncCall.agg_filter:type_name -> pg_query.Node + 163, // 525: pg_query.FuncCall.over:type_name -> pg_query.WindowDef + 40, // 526: pg_query.FuncCall.funcformat:type_name -> pg_query.CoercionForm + 74, // 527: pg_query.A_Indices.lidx:type_name -> pg_query.Node + 74, // 528: pg_query.A_Indices.uidx:type_name -> pg_query.Node + 74, // 529: pg_query.A_Indirection.arg:type_name -> pg_query.Node + 74, // 530: pg_query.A_Indirection.indirection:type_name -> pg_query.Node + 74, // 531: pg_query.A_ArrayExpr.elements:type_name -> pg_query.Node + 74, // 532: pg_query.ResTarget.indirection:type_name -> pg_query.Node + 74, // 533: pg_query.ResTarget.val:type_name -> pg_query.Node + 74, // 534: pg_query.MultiAssignRef.source:type_name -> pg_query.Node + 74, // 535: pg_query.SortBy.node:type_name -> pg_query.Node + 1, // 536: pg_query.SortBy.sortby_dir:type_name -> pg_query.SortByDir + 2, // 537: pg_query.SortBy.sortby_nulls:type_name -> pg_query.SortByNulls + 74, // 538: pg_query.SortBy.use_op:type_name -> pg_query.Node + 74, // 539: pg_query.WindowDef.partition_clause:type_name -> pg_query.Node + 74, // 540: pg_query.WindowDef.order_clause:type_name -> pg_query.Node + 74, // 541: pg_query.WindowDef.start_offset:type_name -> pg_query.Node + 74, // 542: pg_query.WindowDef.end_offset:type_name -> pg_query.Node + 74, // 543: pg_query.RangeSubselect.subquery:type_name -> pg_query.Node + 84, // 544: pg_query.RangeSubselect.alias:type_name -> pg_query.Alias + 74, // 545: pg_query.RangeFunction.functions:type_name -> pg_query.Node + 84, // 546: pg_query.RangeFunction.alias:type_name -> pg_query.Alias + 74, // 547: pg_query.RangeFunction.coldeflist:type_name -> pg_query.Node + 74, // 548: pg_query.RangeTableFunc.docexpr:type_name -> pg_query.Node + 74, // 549: pg_query.RangeTableFunc.rowexpr:type_name -> pg_query.Node + 74, // 550: pg_query.RangeTableFunc.namespaces:type_name -> pg_query.Node + 74, // 551: pg_query.RangeTableFunc.columns:type_name -> pg_query.Node + 84, // 552: pg_query.RangeTableFunc.alias:type_name -> pg_query.Alias + 148, // 553: pg_query.RangeTableFuncCol.type_name:type_name -> pg_query.TypeName + 74, // 554: pg_query.RangeTableFuncCol.colexpr:type_name -> pg_query.Node + 74, // 555: pg_query.RangeTableFuncCol.coldefexpr:type_name -> pg_query.Node + 74, // 556: pg_query.RangeTableSample.relation:type_name -> pg_query.Node + 74, // 557: pg_query.RangeTableSample.method:type_name -> pg_query.Node + 74, // 558: pg_query.RangeTableSample.args:type_name -> pg_query.Node + 74, // 559: pg_query.RangeTableSample.repeatable:type_name -> pg_query.Node + 148, // 560: pg_query.ColumnDef.type_name:type_name -> pg_query.TypeName + 74, // 561: pg_query.ColumnDef.raw_default:type_name -> pg_query.Node + 74, // 562: pg_query.ColumnDef.cooked_default:type_name -> pg_query.Node + 85, // 563: pg_query.ColumnDef.identity_sequence:type_name -> pg_query.RangeVar + 153, // 564: pg_query.ColumnDef.coll_clause:type_name -> pg_query.CollateClause + 74, // 565: pg_query.ColumnDef.constraints:type_name -> pg_query.Node + 74, // 566: pg_query.ColumnDef.fdwoptions:type_name -> pg_query.Node + 85, // 567: pg_query.TableLikeClause.relation:type_name -> pg_query.RangeVar + 74, // 568: pg_query.IndexElem.expr:type_name -> pg_query.Node + 74, // 569: pg_query.IndexElem.collation:type_name -> pg_query.Node + 74, // 570: pg_query.IndexElem.opclass:type_name -> pg_query.Node + 74, // 571: pg_query.IndexElem.opclassopts:type_name -> pg_query.Node + 1, // 572: pg_query.IndexElem.ordering:type_name -> pg_query.SortByDir + 2, // 573: pg_query.IndexElem.nulls_ordering:type_name -> pg_query.SortByNulls + 74, // 574: pg_query.DefElem.arg:type_name -> pg_query.Node + 7, // 575: pg_query.DefElem.defaction:type_name -> pg_query.DefElemAction + 74, // 576: pg_query.LockingClause.locked_rels:type_name -> pg_query.Node + 66, // 577: pg_query.LockingClause.strength:type_name -> pg_query.LockClauseStrength + 67, // 578: pg_query.LockingClause.wait_policy:type_name -> pg_query.LockWaitPolicy + 47, // 579: pg_query.XmlSerialize.xmloption:type_name -> pg_query.XmlOptionType + 74, // 580: pg_query.XmlSerialize.expr:type_name -> pg_query.Node + 148, // 581: pg_query.XmlSerialize.type_name:type_name -> pg_query.TypeName + 74, // 582: pg_query.PartitionElem.expr:type_name -> pg_query.Node + 74, // 583: pg_query.PartitionElem.collation:type_name -> pg_query.Node + 74, // 584: pg_query.PartitionElem.opclass:type_name -> pg_query.Node + 8, // 585: pg_query.PartitionSpec.strategy:type_name -> pg_query.PartitionStrategy + 74, // 586: pg_query.PartitionSpec.part_params:type_name -> pg_query.Node + 74, // 587: pg_query.PartitionBoundSpec.listdatums:type_name -> pg_query.Node + 74, // 588: pg_query.PartitionBoundSpec.lowerdatums:type_name -> pg_query.Node + 74, // 589: pg_query.PartitionBoundSpec.upperdatums:type_name -> pg_query.Node + 9, // 590: pg_query.PartitionRangeDatum.kind:type_name -> pg_query.PartitionRangeDatumKind + 74, // 591: pg_query.PartitionRangeDatum.value:type_name -> pg_query.Node + 85, // 592: pg_query.PartitionCmd.name:type_name -> pg_query.RangeVar + 177, // 593: pg_query.PartitionCmd.bound:type_name -> pg_query.PartitionBoundSpec + 84, // 594: pg_query.RangeTblEntry.alias:type_name -> pg_query.Alias + 84, // 595: pg_query.RangeTblEntry.eref:type_name -> pg_query.Alias + 10, // 596: pg_query.RangeTblEntry.rtekind:type_name -> pg_query.RTEKind + 184, // 597: pg_query.RangeTblEntry.tablesample:type_name -> pg_query.TableSampleClause + 147, // 598: pg_query.RangeTblEntry.subquery:type_name -> pg_query.Query + 59, // 599: pg_query.RangeTblEntry.jointype:type_name -> pg_query.JoinType + 74, // 600: pg_query.RangeTblEntry.joinaliasvars:type_name -> pg_query.Node + 74, // 601: pg_query.RangeTblEntry.joinleftcols:type_name -> pg_query.Node + 74, // 602: pg_query.RangeTblEntry.joinrightcols:type_name -> pg_query.Node + 84, // 603: pg_query.RangeTblEntry.join_using_alias:type_name -> pg_query.Alias + 74, // 604: pg_query.RangeTblEntry.functions:type_name -> pg_query.Node + 86, // 605: pg_query.RangeTblEntry.tablefunc:type_name -> pg_query.TableFunc + 74, // 606: pg_query.RangeTblEntry.values_lists:type_name -> pg_query.Node + 74, // 607: pg_query.RangeTblEntry.coltypes:type_name -> pg_query.Node + 74, // 608: pg_query.RangeTblEntry.coltypmods:type_name -> pg_query.Node + 74, // 609: pg_query.RangeTblEntry.colcollations:type_name -> pg_query.Node + 74, // 610: pg_query.RangeTblEntry.security_quals:type_name -> pg_query.Node + 74, // 611: pg_query.RangeTblFunction.funcexpr:type_name -> pg_query.Node + 74, // 612: pg_query.RangeTblFunction.funccolnames:type_name -> pg_query.Node + 74, // 613: pg_query.RangeTblFunction.funccoltypes:type_name -> pg_query.Node + 74, // 614: pg_query.RangeTblFunction.funccoltypmods:type_name -> pg_query.Node + 74, // 615: pg_query.RangeTblFunction.funccolcollations:type_name -> pg_query.Node + 74, // 616: pg_query.TableSampleClause.args:type_name -> pg_query.Node + 74, // 617: pg_query.TableSampleClause.repeatable:type_name -> pg_query.Node + 11, // 618: pg_query.WithCheckOption.kind:type_name -> pg_query.WCOKind + 74, // 619: pg_query.WithCheckOption.qual:type_name -> pg_query.Node + 12, // 620: pg_query.GroupingSet.kind:type_name -> pg_query.GroupingSetKind + 74, // 621: pg_query.GroupingSet.content:type_name -> pg_query.Node + 74, // 622: pg_query.WindowClause.partition_clause:type_name -> pg_query.Node + 74, // 623: pg_query.WindowClause.order_clause:type_name -> pg_query.Node + 74, // 624: pg_query.WindowClause.start_offset:type_name -> pg_query.Node + 74, // 625: pg_query.WindowClause.end_offset:type_name -> pg_query.Node + 66, // 626: pg_query.RowMarkClause.strength:type_name -> pg_query.LockClauseStrength + 67, // 627: pg_query.RowMarkClause.wait_policy:type_name -> pg_query.LockWaitPolicy + 74, // 628: pg_query.WithClause.ctes:type_name -> pg_query.Node + 74, // 629: pg_query.InferClause.index_elems:type_name -> pg_query.Node + 74, // 630: pg_query.InferClause.where_clause:type_name -> pg_query.Node + 64, // 631: pg_query.OnConflictClause.action:type_name -> pg_query.OnConflictAction + 191, // 632: pg_query.OnConflictClause.infer:type_name -> pg_query.InferClause + 74, // 633: pg_query.OnConflictClause.target_list:type_name -> pg_query.Node + 74, // 634: pg_query.OnConflictClause.where_clause:type_name -> pg_query.Node + 74, // 635: pg_query.CTESearchClause.search_col_list:type_name -> pg_query.Node + 74, // 636: pg_query.CTECycleClause.cycle_col_list:type_name -> pg_query.Node + 74, // 637: pg_query.CTECycleClause.cycle_mark_value:type_name -> pg_query.Node + 74, // 638: pg_query.CTECycleClause.cycle_mark_default:type_name -> pg_query.Node + 74, // 639: pg_query.CommonTableExpr.aliascolnames:type_name -> pg_query.Node + 13, // 640: pg_query.CommonTableExpr.ctematerialized:type_name -> pg_query.CTEMaterialize + 74, // 641: pg_query.CommonTableExpr.ctequery:type_name -> pg_query.Node + 193, // 642: pg_query.CommonTableExpr.search_clause:type_name -> pg_query.CTESearchClause + 194, // 643: pg_query.CommonTableExpr.cycle_clause:type_name -> pg_query.CTECycleClause + 74, // 644: pg_query.CommonTableExpr.ctecolnames:type_name -> pg_query.Node + 74, // 645: pg_query.CommonTableExpr.ctecoltypes:type_name -> pg_query.Node + 74, // 646: pg_query.CommonTableExpr.ctecoltypmods:type_name -> pg_query.Node + 74, // 647: pg_query.CommonTableExpr.ctecolcollations:type_name -> pg_query.Node + 57, // 648: pg_query.MergeWhenClause.match_kind:type_name -> pg_query.MergeMatchKind + 58, // 649: pg_query.MergeWhenClause.command_type:type_name -> pg_query.CmdType + 35, // 650: pg_query.MergeWhenClause.override:type_name -> pg_query.OverridingKind + 74, // 651: pg_query.MergeWhenClause.condition:type_name -> pg_query.Node + 74, // 652: pg_query.MergeWhenClause.target_list:type_name -> pg_query.Node + 74, // 653: pg_query.MergeWhenClause.values:type_name -> pg_query.Node + 148, // 654: pg_query.JsonOutput.type_name:type_name -> pg_query.TypeName + 124, // 655: pg_query.JsonOutput.returning:type_name -> pg_query.JsonReturning + 125, // 656: pg_query.JsonArgument.val:type_name -> pg_query.JsonValueExpr + 54, // 657: pg_query.JsonFuncExpr.op:type_name -> pg_query.JsonExprOp + 125, // 658: pg_query.JsonFuncExpr.context_item:type_name -> pg_query.JsonValueExpr + 74, // 659: pg_query.JsonFuncExpr.pathspec:type_name -> pg_query.Node + 74, // 660: pg_query.JsonFuncExpr.passing:type_name -> pg_query.Node + 198, // 661: pg_query.JsonFuncExpr.output:type_name -> pg_query.JsonOutput + 128, // 662: pg_query.JsonFuncExpr.on_empty:type_name -> pg_query.JsonBehavior + 128, // 663: pg_query.JsonFuncExpr.on_error:type_name -> pg_query.JsonBehavior + 52, // 664: pg_query.JsonFuncExpr.wrapper:type_name -> pg_query.JsonWrapper + 14, // 665: pg_query.JsonFuncExpr.quotes:type_name -> pg_query.JsonQuotes + 74, // 666: pg_query.JsonTablePathSpec.string:type_name -> pg_query.Node + 125, // 667: pg_query.JsonTable.context_item:type_name -> pg_query.JsonValueExpr + 201, // 668: pg_query.JsonTable.pathspec:type_name -> pg_query.JsonTablePathSpec + 74, // 669: pg_query.JsonTable.passing:type_name -> pg_query.Node + 74, // 670: pg_query.JsonTable.columns:type_name -> pg_query.Node + 128, // 671: pg_query.JsonTable.on_error:type_name -> pg_query.JsonBehavior + 84, // 672: pg_query.JsonTable.alias:type_name -> pg_query.Alias + 15, // 673: pg_query.JsonTableColumn.coltype:type_name -> pg_query.JsonTableColumnType + 148, // 674: pg_query.JsonTableColumn.type_name:type_name -> pg_query.TypeName + 201, // 675: pg_query.JsonTableColumn.pathspec:type_name -> pg_query.JsonTablePathSpec + 123, // 676: pg_query.JsonTableColumn.format:type_name -> pg_query.JsonFormat + 52, // 677: pg_query.JsonTableColumn.wrapper:type_name -> pg_query.JsonWrapper + 14, // 678: pg_query.JsonTableColumn.quotes:type_name -> pg_query.JsonQuotes + 74, // 679: pg_query.JsonTableColumn.columns:type_name -> pg_query.Node + 128, // 680: pg_query.JsonTableColumn.on_empty:type_name -> pg_query.JsonBehavior + 128, // 681: pg_query.JsonTableColumn.on_error:type_name -> pg_query.JsonBehavior + 74, // 682: pg_query.JsonKeyValue.key:type_name -> pg_query.Node + 125, // 683: pg_query.JsonKeyValue.value:type_name -> pg_query.JsonValueExpr + 125, // 684: pg_query.JsonParseExpr.expr:type_name -> pg_query.JsonValueExpr + 198, // 685: pg_query.JsonParseExpr.output:type_name -> pg_query.JsonOutput + 74, // 686: pg_query.JsonScalarExpr.expr:type_name -> pg_query.Node + 198, // 687: pg_query.JsonScalarExpr.output:type_name -> pg_query.JsonOutput + 125, // 688: pg_query.JsonSerializeExpr.expr:type_name -> pg_query.JsonValueExpr + 198, // 689: pg_query.JsonSerializeExpr.output:type_name -> pg_query.JsonOutput + 74, // 690: pg_query.JsonObjectConstructor.exprs:type_name -> pg_query.Node + 198, // 691: pg_query.JsonObjectConstructor.output:type_name -> pg_query.JsonOutput + 74, // 692: pg_query.JsonArrayConstructor.exprs:type_name -> pg_query.Node + 198, // 693: pg_query.JsonArrayConstructor.output:type_name -> pg_query.JsonOutput + 74, // 694: pg_query.JsonArrayQueryConstructor.query:type_name -> pg_query.Node + 198, // 695: pg_query.JsonArrayQueryConstructor.output:type_name -> pg_query.JsonOutput + 123, // 696: pg_query.JsonArrayQueryConstructor.format:type_name -> pg_query.JsonFormat + 198, // 697: pg_query.JsonAggConstructor.output:type_name -> pg_query.JsonOutput + 74, // 698: pg_query.JsonAggConstructor.agg_filter:type_name -> pg_query.Node + 74, // 699: pg_query.JsonAggConstructor.agg_order:type_name -> pg_query.Node + 163, // 700: pg_query.JsonAggConstructor.over:type_name -> pg_query.WindowDef + 211, // 701: pg_query.JsonObjectAgg.constructor:type_name -> pg_query.JsonAggConstructor + 204, // 702: pg_query.JsonObjectAgg.arg:type_name -> pg_query.JsonKeyValue + 211, // 703: pg_query.JsonArrayAgg.constructor:type_name -> pg_query.JsonAggConstructor + 125, // 704: pg_query.JsonArrayAgg.arg:type_name -> pg_query.JsonValueExpr + 74, // 705: pg_query.RawStmt.stmt:type_name -> pg_query.Node + 85, // 706: pg_query.InsertStmt.relation:type_name -> pg_query.RangeVar + 74, // 707: pg_query.InsertStmt.cols:type_name -> pg_query.Node + 74, // 708: pg_query.InsertStmt.select_stmt:type_name -> pg_query.Node + 192, // 709: pg_query.InsertStmt.on_conflict_clause:type_name -> pg_query.OnConflictClause + 74, // 710: pg_query.InsertStmt.returning_list:type_name -> pg_query.Node + 190, // 711: pg_query.InsertStmt.with_clause:type_name -> pg_query.WithClause + 35, // 712: pg_query.InsertStmt.override:type_name -> pg_query.OverridingKind + 85, // 713: pg_query.DeleteStmt.relation:type_name -> pg_query.RangeVar + 74, // 714: pg_query.DeleteStmt.using_clause:type_name -> pg_query.Node + 74, // 715: pg_query.DeleteStmt.where_clause:type_name -> pg_query.Node + 74, // 716: pg_query.DeleteStmt.returning_list:type_name -> pg_query.Node + 190, // 717: pg_query.DeleteStmt.with_clause:type_name -> pg_query.WithClause + 85, // 718: pg_query.UpdateStmt.relation:type_name -> pg_query.RangeVar + 74, // 719: pg_query.UpdateStmt.target_list:type_name -> pg_query.Node + 74, // 720: pg_query.UpdateStmt.where_clause:type_name -> pg_query.Node + 74, // 721: pg_query.UpdateStmt.from_clause:type_name -> pg_query.Node + 74, // 722: pg_query.UpdateStmt.returning_list:type_name -> pg_query.Node + 190, // 723: pg_query.UpdateStmt.with_clause:type_name -> pg_query.WithClause + 85, // 724: pg_query.MergeStmt.relation:type_name -> pg_query.RangeVar + 74, // 725: pg_query.MergeStmt.source_relation:type_name -> pg_query.Node + 74, // 726: pg_query.MergeStmt.join_condition:type_name -> pg_query.Node + 74, // 727: pg_query.MergeStmt.merge_when_clauses:type_name -> pg_query.Node + 74, // 728: pg_query.MergeStmt.returning_list:type_name -> pg_query.Node + 190, // 729: pg_query.MergeStmt.with_clause:type_name -> pg_query.WithClause + 74, // 730: pg_query.SelectStmt.distinct_clause:type_name -> pg_query.Node + 87, // 731: pg_query.SelectStmt.into_clause:type_name -> pg_query.IntoClause + 74, // 732: pg_query.SelectStmt.target_list:type_name -> pg_query.Node + 74, // 733: pg_query.SelectStmt.from_clause:type_name -> pg_query.Node + 74, // 734: pg_query.SelectStmt.where_clause:type_name -> pg_query.Node + 74, // 735: pg_query.SelectStmt.group_clause:type_name -> pg_query.Node + 74, // 736: pg_query.SelectStmt.having_clause:type_name -> pg_query.Node + 74, // 737: pg_query.SelectStmt.window_clause:type_name -> pg_query.Node + 74, // 738: pg_query.SelectStmt.values_lists:type_name -> pg_query.Node + 74, // 739: pg_query.SelectStmt.sort_clause:type_name -> pg_query.Node + 74, // 740: pg_query.SelectStmt.limit_offset:type_name -> pg_query.Node + 74, // 741: pg_query.SelectStmt.limit_count:type_name -> pg_query.Node + 65, // 742: pg_query.SelectStmt.limit_option:type_name -> pg_query.LimitOption + 74, // 743: pg_query.SelectStmt.locking_clause:type_name -> pg_query.Node + 190, // 744: pg_query.SelectStmt.with_clause:type_name -> pg_query.WithClause + 16, // 745: pg_query.SelectStmt.op:type_name -> pg_query.SetOperation + 219, // 746: pg_query.SelectStmt.larg:type_name -> pg_query.SelectStmt + 219, // 747: pg_query.SelectStmt.rarg:type_name -> pg_query.SelectStmt + 16, // 748: pg_query.SetOperationStmt.op:type_name -> pg_query.SetOperation + 74, // 749: pg_query.SetOperationStmt.larg:type_name -> pg_query.Node + 74, // 750: pg_query.SetOperationStmt.rarg:type_name -> pg_query.Node + 74, // 751: pg_query.SetOperationStmt.col_types:type_name -> pg_query.Node + 74, // 752: pg_query.SetOperationStmt.col_typmods:type_name -> pg_query.Node + 74, // 753: pg_query.SetOperationStmt.col_collations:type_name -> pg_query.Node + 74, // 754: pg_query.SetOperationStmt.group_clauses:type_name -> pg_query.Node + 74, // 755: pg_query.ReturnStmt.returnval:type_name -> pg_query.Node + 74, // 756: pg_query.PLAssignStmt.indirection:type_name -> pg_query.Node + 219, // 757: pg_query.PLAssignStmt.val:type_name -> pg_query.SelectStmt + 154, // 758: pg_query.CreateSchemaStmt.authrole:type_name -> pg_query.RoleSpec + 74, // 759: pg_query.CreateSchemaStmt.schema_elts:type_name -> pg_query.Node + 85, // 760: pg_query.AlterTableStmt.relation:type_name -> pg_query.RangeVar + 74, // 761: pg_query.AlterTableStmt.cmds:type_name -> pg_query.Node + 17, // 762: pg_query.AlterTableStmt.objtype:type_name -> pg_query.ObjectType + 19, // 763: pg_query.AlterTableCmd.subtype:type_name -> pg_query.AlterTableType + 154, // 764: pg_query.AlterTableCmd.newowner:type_name -> pg_query.RoleSpec + 74, // 765: pg_query.AlterTableCmd.def:type_name -> pg_query.Node + 18, // 766: pg_query.AlterTableCmd.behavior:type_name -> pg_query.DropBehavior + 74, // 767: pg_query.AlterCollationStmt.collname:type_name -> pg_query.Node + 74, // 768: pg_query.AlterDomainStmt.type_name:type_name -> pg_query.Node + 74, // 769: pg_query.AlterDomainStmt.def:type_name -> pg_query.Node + 18, // 770: pg_query.AlterDomainStmt.behavior:type_name -> pg_query.DropBehavior + 20, // 771: pg_query.GrantStmt.targtype:type_name -> pg_query.GrantTargetType + 17, // 772: pg_query.GrantStmt.objtype:type_name -> pg_query.ObjectType + 74, // 773: pg_query.GrantStmt.objects:type_name -> pg_query.Node + 74, // 774: pg_query.GrantStmt.privileges:type_name -> pg_query.Node + 74, // 775: pg_query.GrantStmt.grantees:type_name -> pg_query.Node + 154, // 776: pg_query.GrantStmt.grantor:type_name -> pg_query.RoleSpec + 18, // 777: pg_query.GrantStmt.behavior:type_name -> pg_query.DropBehavior + 74, // 778: pg_query.ObjectWithArgs.objname:type_name -> pg_query.Node + 74, // 779: pg_query.ObjectWithArgs.objargs:type_name -> pg_query.Node + 74, // 780: pg_query.ObjectWithArgs.objfuncargs:type_name -> pg_query.Node + 74, // 781: pg_query.AccessPriv.cols:type_name -> pg_query.Node + 74, // 782: pg_query.GrantRoleStmt.granted_roles:type_name -> pg_query.Node + 74, // 783: pg_query.GrantRoleStmt.grantee_roles:type_name -> pg_query.Node + 74, // 784: pg_query.GrantRoleStmt.opt:type_name -> pg_query.Node + 154, // 785: pg_query.GrantRoleStmt.grantor:type_name -> pg_query.RoleSpec + 18, // 786: pg_query.GrantRoleStmt.behavior:type_name -> pg_query.DropBehavior + 74, // 787: pg_query.AlterDefaultPrivilegesStmt.options:type_name -> pg_query.Node + 229, // 788: pg_query.AlterDefaultPrivilegesStmt.action:type_name -> pg_query.GrantStmt + 85, // 789: pg_query.CopyStmt.relation:type_name -> pg_query.RangeVar + 74, // 790: pg_query.CopyStmt.query:type_name -> pg_query.Node + 74, // 791: pg_query.CopyStmt.attlist:type_name -> pg_query.Node + 74, // 792: pg_query.CopyStmt.options:type_name -> pg_query.Node + 74, // 793: pg_query.CopyStmt.where_clause:type_name -> pg_query.Node + 21, // 794: pg_query.VariableSetStmt.kind:type_name -> pg_query.VariableSetKind + 74, // 795: pg_query.VariableSetStmt.args:type_name -> pg_query.Node + 85, // 796: pg_query.CreateStmt.relation:type_name -> pg_query.RangeVar + 74, // 797: pg_query.CreateStmt.table_elts:type_name -> pg_query.Node + 74, // 798: pg_query.CreateStmt.inh_relations:type_name -> pg_query.Node + 177, // 799: pg_query.CreateStmt.partbound:type_name -> pg_query.PartitionBoundSpec + 176, // 800: pg_query.CreateStmt.partspec:type_name -> pg_query.PartitionSpec + 148, // 801: pg_query.CreateStmt.of_typename:type_name -> pg_query.TypeName + 74, // 802: pg_query.CreateStmt.constraints:type_name -> pg_query.Node + 74, // 803: pg_query.CreateStmt.options:type_name -> pg_query.Node + 36, // 804: pg_query.CreateStmt.oncommit:type_name -> pg_query.OnCommitAction + 22, // 805: pg_query.Constraint.contype:type_name -> pg_query.ConstrType + 74, // 806: pg_query.Constraint.raw_expr:type_name -> pg_query.Node + 74, // 807: pg_query.Constraint.keys:type_name -> pg_query.Node + 74, // 808: pg_query.Constraint.including:type_name -> pg_query.Node + 74, // 809: pg_query.Constraint.exclusions:type_name -> pg_query.Node + 74, // 810: pg_query.Constraint.options:type_name -> pg_query.Node + 74, // 811: pg_query.Constraint.where_clause:type_name -> pg_query.Node + 85, // 812: pg_query.Constraint.pktable:type_name -> pg_query.RangeVar + 74, // 813: pg_query.Constraint.fk_attrs:type_name -> pg_query.Node + 74, // 814: pg_query.Constraint.pk_attrs:type_name -> pg_query.Node + 74, // 815: pg_query.Constraint.fk_del_set_cols:type_name -> pg_query.Node + 74, // 816: pg_query.Constraint.old_conpfeqop:type_name -> pg_query.Node + 154, // 817: pg_query.CreateTableSpaceStmt.owner:type_name -> pg_query.RoleSpec + 74, // 818: pg_query.CreateTableSpaceStmt.options:type_name -> pg_query.Node + 74, // 819: pg_query.AlterTableSpaceOptionsStmt.options:type_name -> pg_query.Node + 17, // 820: pg_query.AlterTableMoveAllStmt.objtype:type_name -> pg_query.ObjectType + 74, // 821: pg_query.AlterTableMoveAllStmt.roles:type_name -> pg_query.Node + 74, // 822: pg_query.CreateExtensionStmt.options:type_name -> pg_query.Node + 74, // 823: pg_query.AlterExtensionStmt.options:type_name -> pg_query.Node + 17, // 824: pg_query.AlterExtensionContentsStmt.objtype:type_name -> pg_query.ObjectType + 74, // 825: pg_query.AlterExtensionContentsStmt.object:type_name -> pg_query.Node + 74, // 826: pg_query.CreateFdwStmt.func_options:type_name -> pg_query.Node + 74, // 827: pg_query.CreateFdwStmt.options:type_name -> pg_query.Node + 74, // 828: pg_query.AlterFdwStmt.func_options:type_name -> pg_query.Node + 74, // 829: pg_query.AlterFdwStmt.options:type_name -> pg_query.Node + 74, // 830: pg_query.CreateForeignServerStmt.options:type_name -> pg_query.Node + 74, // 831: pg_query.AlterForeignServerStmt.options:type_name -> pg_query.Node + 237, // 832: pg_query.CreateForeignTableStmt.base_stmt:type_name -> pg_query.CreateStmt + 74, // 833: pg_query.CreateForeignTableStmt.options:type_name -> pg_query.Node + 154, // 834: pg_query.CreateUserMappingStmt.user:type_name -> pg_query.RoleSpec + 74, // 835: pg_query.CreateUserMappingStmt.options:type_name -> pg_query.Node + 154, // 836: pg_query.AlterUserMappingStmt.user:type_name -> pg_query.RoleSpec + 74, // 837: pg_query.AlterUserMappingStmt.options:type_name -> pg_query.Node + 154, // 838: pg_query.DropUserMappingStmt.user:type_name -> pg_query.RoleSpec + 23, // 839: pg_query.ImportForeignSchemaStmt.list_type:type_name -> pg_query.ImportForeignSchemaType + 74, // 840: pg_query.ImportForeignSchemaStmt.table_list:type_name -> pg_query.Node + 74, // 841: pg_query.ImportForeignSchemaStmt.options:type_name -> pg_query.Node + 85, // 842: pg_query.CreatePolicyStmt.table:type_name -> pg_query.RangeVar + 74, // 843: pg_query.CreatePolicyStmt.roles:type_name -> pg_query.Node + 74, // 844: pg_query.CreatePolicyStmt.qual:type_name -> pg_query.Node + 74, // 845: pg_query.CreatePolicyStmt.with_check:type_name -> pg_query.Node + 85, // 846: pg_query.AlterPolicyStmt.table:type_name -> pg_query.RangeVar + 74, // 847: pg_query.AlterPolicyStmt.roles:type_name -> pg_query.Node + 74, // 848: pg_query.AlterPolicyStmt.qual:type_name -> pg_query.Node + 74, // 849: pg_query.AlterPolicyStmt.with_check:type_name -> pg_query.Node + 74, // 850: pg_query.CreateAmStmt.handler_name:type_name -> pg_query.Node + 85, // 851: pg_query.CreateTrigStmt.relation:type_name -> pg_query.RangeVar + 74, // 852: pg_query.CreateTrigStmt.funcname:type_name -> pg_query.Node + 74, // 853: pg_query.CreateTrigStmt.args:type_name -> pg_query.Node + 74, // 854: pg_query.CreateTrigStmt.columns:type_name -> pg_query.Node + 74, // 855: pg_query.CreateTrigStmt.when_clause:type_name -> pg_query.Node + 74, // 856: pg_query.CreateTrigStmt.transition_rels:type_name -> pg_query.Node + 85, // 857: pg_query.CreateTrigStmt.constrrel:type_name -> pg_query.RangeVar + 74, // 858: pg_query.CreateEventTrigStmt.whenclause:type_name -> pg_query.Node + 74, // 859: pg_query.CreateEventTrigStmt.funcname:type_name -> pg_query.Node + 74, // 860: pg_query.CreatePLangStmt.plhandler:type_name -> pg_query.Node + 74, // 861: pg_query.CreatePLangStmt.plinline:type_name -> pg_query.Node + 74, // 862: pg_query.CreatePLangStmt.plvalidator:type_name -> pg_query.Node + 24, // 863: pg_query.CreateRoleStmt.stmt_type:type_name -> pg_query.RoleStmtType + 74, // 864: pg_query.CreateRoleStmt.options:type_name -> pg_query.Node + 154, // 865: pg_query.AlterRoleStmt.role:type_name -> pg_query.RoleSpec + 74, // 866: pg_query.AlterRoleStmt.options:type_name -> pg_query.Node + 154, // 867: pg_query.AlterRoleSetStmt.role:type_name -> pg_query.RoleSpec + 235, // 868: pg_query.AlterRoleSetStmt.setstmt:type_name -> pg_query.VariableSetStmt + 74, // 869: pg_query.DropRoleStmt.roles:type_name -> pg_query.Node + 85, // 870: pg_query.CreateSeqStmt.sequence:type_name -> pg_query.RangeVar + 74, // 871: pg_query.CreateSeqStmt.options:type_name -> pg_query.Node + 85, // 872: pg_query.AlterSeqStmt.sequence:type_name -> pg_query.RangeVar + 74, // 873: pg_query.AlterSeqStmt.options:type_name -> pg_query.Node + 17, // 874: pg_query.DefineStmt.kind:type_name -> pg_query.ObjectType + 74, // 875: pg_query.DefineStmt.defnames:type_name -> pg_query.Node + 74, // 876: pg_query.DefineStmt.args:type_name -> pg_query.Node + 74, // 877: pg_query.DefineStmt.definition:type_name -> pg_query.Node + 74, // 878: pg_query.CreateDomainStmt.domainname:type_name -> pg_query.Node + 148, // 879: pg_query.CreateDomainStmt.type_name:type_name -> pg_query.TypeName + 153, // 880: pg_query.CreateDomainStmt.coll_clause:type_name -> pg_query.CollateClause + 74, // 881: pg_query.CreateDomainStmt.constraints:type_name -> pg_query.Node + 74, // 882: pg_query.CreateOpClassStmt.opclassname:type_name -> pg_query.Node + 74, // 883: pg_query.CreateOpClassStmt.opfamilyname:type_name -> pg_query.Node + 148, // 884: pg_query.CreateOpClassStmt.datatype:type_name -> pg_query.TypeName + 74, // 885: pg_query.CreateOpClassStmt.items:type_name -> pg_query.Node + 230, // 886: pg_query.CreateOpClassItem.name:type_name -> pg_query.ObjectWithArgs + 74, // 887: pg_query.CreateOpClassItem.order_family:type_name -> pg_query.Node + 74, // 888: pg_query.CreateOpClassItem.class_args:type_name -> pg_query.Node + 148, // 889: pg_query.CreateOpClassItem.storedtype:type_name -> pg_query.TypeName + 74, // 890: pg_query.CreateOpFamilyStmt.opfamilyname:type_name -> pg_query.Node + 74, // 891: pg_query.AlterOpFamilyStmt.opfamilyname:type_name -> pg_query.Node + 74, // 892: pg_query.AlterOpFamilyStmt.items:type_name -> pg_query.Node + 74, // 893: pg_query.DropStmt.objects:type_name -> pg_query.Node + 17, // 894: pg_query.DropStmt.remove_type:type_name -> pg_query.ObjectType + 18, // 895: pg_query.DropStmt.behavior:type_name -> pg_query.DropBehavior + 74, // 896: pg_query.TruncateStmt.relations:type_name -> pg_query.Node + 18, // 897: pg_query.TruncateStmt.behavior:type_name -> pg_query.DropBehavior + 17, // 898: pg_query.CommentStmt.objtype:type_name -> pg_query.ObjectType + 74, // 899: pg_query.CommentStmt.object:type_name -> pg_query.Node + 17, // 900: pg_query.SecLabelStmt.objtype:type_name -> pg_query.ObjectType + 74, // 901: pg_query.SecLabelStmt.object:type_name -> pg_query.Node + 74, // 902: pg_query.DeclareCursorStmt.query:type_name -> pg_query.Node + 25, // 903: pg_query.FetchStmt.direction:type_name -> pg_query.FetchDirection + 85, // 904: pg_query.IndexStmt.relation:type_name -> pg_query.RangeVar + 74, // 905: pg_query.IndexStmt.index_params:type_name -> pg_query.Node + 74, // 906: pg_query.IndexStmt.index_including_params:type_name -> pg_query.Node + 74, // 907: pg_query.IndexStmt.options:type_name -> pg_query.Node + 74, // 908: pg_query.IndexStmt.where_clause:type_name -> pg_query.Node + 74, // 909: pg_query.IndexStmt.exclude_op_names:type_name -> pg_query.Node + 74, // 910: pg_query.CreateStatsStmt.defnames:type_name -> pg_query.Node + 74, // 911: pg_query.CreateStatsStmt.stat_types:type_name -> pg_query.Node + 74, // 912: pg_query.CreateStatsStmt.exprs:type_name -> pg_query.Node + 74, // 913: pg_query.CreateStatsStmt.relations:type_name -> pg_query.Node + 74, // 914: pg_query.StatsElem.expr:type_name -> pg_query.Node + 74, // 915: pg_query.AlterStatsStmt.defnames:type_name -> pg_query.Node + 74, // 916: pg_query.AlterStatsStmt.stxstattarget:type_name -> pg_query.Node + 74, // 917: pg_query.CreateFunctionStmt.funcname:type_name -> pg_query.Node + 74, // 918: pg_query.CreateFunctionStmt.parameters:type_name -> pg_query.Node + 148, // 919: pg_query.CreateFunctionStmt.return_type:type_name -> pg_query.TypeName + 74, // 920: pg_query.CreateFunctionStmt.options:type_name -> pg_query.Node + 74, // 921: pg_query.CreateFunctionStmt.sql_body:type_name -> pg_query.Node + 148, // 922: pg_query.FunctionParameter.arg_type:type_name -> pg_query.TypeName + 26, // 923: pg_query.FunctionParameter.mode:type_name -> pg_query.FunctionParameterMode + 74, // 924: pg_query.FunctionParameter.defexpr:type_name -> pg_query.Node + 17, // 925: pg_query.AlterFunctionStmt.objtype:type_name -> pg_query.ObjectType + 230, // 926: pg_query.AlterFunctionStmt.func:type_name -> pg_query.ObjectWithArgs + 74, // 927: pg_query.AlterFunctionStmt.actions:type_name -> pg_query.Node + 74, // 928: pg_query.DoStmt.args:type_name -> pg_query.Node + 155, // 929: pg_query.CallStmt.funccall:type_name -> pg_query.FuncCall + 96, // 930: pg_query.CallStmt.funcexpr:type_name -> pg_query.FuncExpr + 74, // 931: pg_query.CallStmt.outargs:type_name -> pg_query.Node + 17, // 932: pg_query.RenameStmt.rename_type:type_name -> pg_query.ObjectType + 17, // 933: pg_query.RenameStmt.relation_type:type_name -> pg_query.ObjectType + 85, // 934: pg_query.RenameStmt.relation:type_name -> pg_query.RangeVar + 74, // 935: pg_query.RenameStmt.object:type_name -> pg_query.Node + 18, // 936: pg_query.RenameStmt.behavior:type_name -> pg_query.DropBehavior + 17, // 937: pg_query.AlterObjectDependsStmt.object_type:type_name -> pg_query.ObjectType + 85, // 938: pg_query.AlterObjectDependsStmt.relation:type_name -> pg_query.RangeVar + 74, // 939: pg_query.AlterObjectDependsStmt.object:type_name -> pg_query.Node + 78, // 940: pg_query.AlterObjectDependsStmt.extname:type_name -> pg_query.String + 17, // 941: pg_query.AlterObjectSchemaStmt.object_type:type_name -> pg_query.ObjectType + 85, // 942: pg_query.AlterObjectSchemaStmt.relation:type_name -> pg_query.RangeVar + 74, // 943: pg_query.AlterObjectSchemaStmt.object:type_name -> pg_query.Node + 17, // 944: pg_query.AlterOwnerStmt.object_type:type_name -> pg_query.ObjectType + 85, // 945: pg_query.AlterOwnerStmt.relation:type_name -> pg_query.RangeVar + 74, // 946: pg_query.AlterOwnerStmt.object:type_name -> pg_query.Node + 154, // 947: pg_query.AlterOwnerStmt.newowner:type_name -> pg_query.RoleSpec + 230, // 948: pg_query.AlterOperatorStmt.opername:type_name -> pg_query.ObjectWithArgs + 74, // 949: pg_query.AlterOperatorStmt.options:type_name -> pg_query.Node + 74, // 950: pg_query.AlterTypeStmt.type_name:type_name -> pg_query.Node + 74, // 951: pg_query.AlterTypeStmt.options:type_name -> pg_query.Node + 85, // 952: pg_query.RuleStmt.relation:type_name -> pg_query.RangeVar + 74, // 953: pg_query.RuleStmt.where_clause:type_name -> pg_query.Node + 58, // 954: pg_query.RuleStmt.event:type_name -> pg_query.CmdType + 74, // 955: pg_query.RuleStmt.actions:type_name -> pg_query.Node + 27, // 956: pg_query.TransactionStmt.kind:type_name -> pg_query.TransactionStmtKind + 74, // 957: pg_query.TransactionStmt.options:type_name -> pg_query.Node + 85, // 958: pg_query.CompositeTypeStmt.typevar:type_name -> pg_query.RangeVar + 74, // 959: pg_query.CompositeTypeStmt.coldeflist:type_name -> pg_query.Node + 74, // 960: pg_query.CreateEnumStmt.type_name:type_name -> pg_query.Node + 74, // 961: pg_query.CreateEnumStmt.vals:type_name -> pg_query.Node + 74, // 962: pg_query.CreateRangeStmt.type_name:type_name -> pg_query.Node + 74, // 963: pg_query.CreateRangeStmt.params:type_name -> pg_query.Node + 74, // 964: pg_query.AlterEnumStmt.type_name:type_name -> pg_query.Node + 85, // 965: pg_query.ViewStmt.view:type_name -> pg_query.RangeVar + 74, // 966: pg_query.ViewStmt.aliases:type_name -> pg_query.Node + 74, // 967: pg_query.ViewStmt.query:type_name -> pg_query.Node + 74, // 968: pg_query.ViewStmt.options:type_name -> pg_query.Node + 28, // 969: pg_query.ViewStmt.with_check_option:type_name -> pg_query.ViewCheckOption + 74, // 970: pg_query.CreatedbStmt.options:type_name -> pg_query.Node + 74, // 971: pg_query.AlterDatabaseStmt.options:type_name -> pg_query.Node + 235, // 972: pg_query.AlterDatabaseSetStmt.setstmt:type_name -> pg_query.VariableSetStmt + 74, // 973: pg_query.DropdbStmt.options:type_name -> pg_query.Node + 235, // 974: pg_query.AlterSystemStmt.setstmt:type_name -> pg_query.VariableSetStmt + 85, // 975: pg_query.ClusterStmt.relation:type_name -> pg_query.RangeVar + 74, // 976: pg_query.ClusterStmt.params:type_name -> pg_query.Node + 74, // 977: pg_query.VacuumStmt.options:type_name -> pg_query.Node + 74, // 978: pg_query.VacuumStmt.rels:type_name -> pg_query.Node + 85, // 979: pg_query.VacuumRelation.relation:type_name -> pg_query.RangeVar + 74, // 980: pg_query.VacuumRelation.va_cols:type_name -> pg_query.Node + 74, // 981: pg_query.ExplainStmt.query:type_name -> pg_query.Node + 74, // 982: pg_query.ExplainStmt.options:type_name -> pg_query.Node + 74, // 983: pg_query.CreateTableAsStmt.query:type_name -> pg_query.Node + 87, // 984: pg_query.CreateTableAsStmt.into:type_name -> pg_query.IntoClause + 17, // 985: pg_query.CreateTableAsStmt.objtype:type_name -> pg_query.ObjectType + 85, // 986: pg_query.RefreshMatViewStmt.relation:type_name -> pg_query.RangeVar + 29, // 987: pg_query.DiscardStmt.target:type_name -> pg_query.DiscardMode + 74, // 988: pg_query.LockStmt.relations:type_name -> pg_query.Node + 74, // 989: pg_query.ConstraintsSetStmt.constraints:type_name -> pg_query.Node + 30, // 990: pg_query.ReindexStmt.kind:type_name -> pg_query.ReindexObjectType + 85, // 991: pg_query.ReindexStmt.relation:type_name -> pg_query.RangeVar + 74, // 992: pg_query.ReindexStmt.params:type_name -> pg_query.Node + 74, // 993: pg_query.CreateConversionStmt.conversion_name:type_name -> pg_query.Node + 74, // 994: pg_query.CreateConversionStmt.func_name:type_name -> pg_query.Node + 148, // 995: pg_query.CreateCastStmt.sourcetype:type_name -> pg_query.TypeName + 148, // 996: pg_query.CreateCastStmt.targettype:type_name -> pg_query.TypeName + 230, // 997: pg_query.CreateCastStmt.func:type_name -> pg_query.ObjectWithArgs + 39, // 998: pg_query.CreateCastStmt.context:type_name -> pg_query.CoercionContext + 148, // 999: pg_query.CreateTransformStmt.type_name:type_name -> pg_query.TypeName + 230, // 1000: pg_query.CreateTransformStmt.fromsql:type_name -> pg_query.ObjectWithArgs + 230, // 1001: pg_query.CreateTransformStmt.tosql:type_name -> pg_query.ObjectWithArgs + 74, // 1002: pg_query.PrepareStmt.argtypes:type_name -> pg_query.Node + 74, // 1003: pg_query.PrepareStmt.query:type_name -> pg_query.Node + 74, // 1004: pg_query.ExecuteStmt.params:type_name -> pg_query.Node + 74, // 1005: pg_query.DropOwnedStmt.roles:type_name -> pg_query.Node + 18, // 1006: pg_query.DropOwnedStmt.behavior:type_name -> pg_query.DropBehavior + 74, // 1007: pg_query.ReassignOwnedStmt.roles:type_name -> pg_query.Node + 154, // 1008: pg_query.ReassignOwnedStmt.newrole:type_name -> pg_query.RoleSpec + 74, // 1009: pg_query.AlterTSDictionaryStmt.dictname:type_name -> pg_query.Node + 74, // 1010: pg_query.AlterTSDictionaryStmt.options:type_name -> pg_query.Node + 31, // 1011: pg_query.AlterTSConfigurationStmt.kind:type_name -> pg_query.AlterTSConfigType + 74, // 1012: pg_query.AlterTSConfigurationStmt.cfgname:type_name -> pg_query.Node + 74, // 1013: pg_query.AlterTSConfigurationStmt.tokentype:type_name -> pg_query.Node + 74, // 1014: pg_query.AlterTSConfigurationStmt.dicts:type_name -> pg_query.Node + 85, // 1015: pg_query.PublicationTable.relation:type_name -> pg_query.RangeVar + 74, // 1016: pg_query.PublicationTable.where_clause:type_name -> pg_query.Node + 74, // 1017: pg_query.PublicationTable.columns:type_name -> pg_query.Node + 32, // 1018: pg_query.PublicationObjSpec.pubobjtype:type_name -> pg_query.PublicationObjSpecType + 336, // 1019: pg_query.PublicationObjSpec.pubtable:type_name -> pg_query.PublicationTable + 74, // 1020: pg_query.CreatePublicationStmt.options:type_name -> pg_query.Node + 74, // 1021: pg_query.CreatePublicationStmt.pubobjects:type_name -> pg_query.Node + 74, // 1022: pg_query.AlterPublicationStmt.options:type_name -> pg_query.Node + 74, // 1023: pg_query.AlterPublicationStmt.pubobjects:type_name -> pg_query.Node + 33, // 1024: pg_query.AlterPublicationStmt.action:type_name -> pg_query.AlterPublicationAction + 74, // 1025: pg_query.CreateSubscriptionStmt.publication:type_name -> pg_query.Node + 74, // 1026: pg_query.CreateSubscriptionStmt.options:type_name -> pg_query.Node + 34, // 1027: pg_query.AlterSubscriptionStmt.kind:type_name -> pg_query.AlterSubscriptionType + 74, // 1028: pg_query.AlterSubscriptionStmt.publication:type_name -> pg_query.Node + 74, // 1029: pg_query.AlterSubscriptionStmt.options:type_name -> pg_query.Node + 18, // 1030: pg_query.DropSubscriptionStmt.behavior:type_name -> pg_query.DropBehavior + 70, // 1031: pg_query.ScanToken.token:type_name -> pg_query.Token + 69, // 1032: pg_query.ScanToken.keyword_kind:type_name -> pg_query.KeywordKind + 345, // 1033: pg_query.SummaryResult.tables:type_name -> pg_query.SummaryResult.Table + 346, // 1034: pg_query.SummaryResult.aliases:type_name -> pg_query.SummaryResult.AliasesEntry + 347, // 1035: pg_query.SummaryResult.functions:type_name -> pg_query.SummaryResult.Function + 348, // 1036: pg_query.SummaryResult.filter_columns:type_name -> pg_query.SummaryResult.FilterColumn + 71, // 1037: pg_query.SummaryResult.Table.context:type_name -> pg_query.SummaryResult.Context + 71, // 1038: pg_query.SummaryResult.Function.context:type_name -> pg_query.SummaryResult.Context + 1039, // [1039:1039] is the sub-list for method output_type + 1039, // [1039:1039] is the sub-list for method input_type + 1039, // [1039:1039] is the sub-list for extension type_name + 1039, // [1039:1039] is the sub-list for extension extendee + 0, // [0:1039] is the sub-list for field type_name } func init() { file_pg_query_proto_init() } @@ -34896,8 +39702,284 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScanResult); i { + file_pg_query_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScanResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Node); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Integer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Float); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Boolean); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*String); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BitString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*List); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OidList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_Const); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Alias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeVar); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TableFunc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IntoClause); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Var); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Param); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Aggref); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupingFunc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowFunc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowFuncRunCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeSupportFunc); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubscriptingRef); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FuncExpr); i { case 0: return &v.state case 1: @@ -34908,8 +39990,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Node); i { + file_pg_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NamedArgExpr); i { case 0: return &v.state case 1: @@ -34920,8 +40002,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Integer); i { + file_pg_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpExpr); i { case 0: return &v.state case 1: @@ -34932,8 +40014,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Float); i { + file_pg_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DistinctExpr); i { case 0: return &v.state case 1: @@ -34944,8 +40026,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Boolean); i { + file_pg_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NullIfExpr); i { case 0: return &v.state case 1: @@ -34956,8 +40038,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*String); i { + file_pg_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScalarArrayOpExpr); i { case 0: return &v.state case 1: @@ -34968,8 +40050,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BitString); i { + file_pg_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoolExpr); i { case 0: return &v.state case 1: @@ -34980,8 +40062,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*List); i { + file_pg_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubLink); i { case 0: return &v.state case 1: @@ -34992,8 +40074,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OidList); i { + file_pg_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SubPlan); i { case 0: return &v.state case 1: @@ -35004,8 +40086,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntList); i { + file_pg_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlternativeSubPlan); i { case 0: return &v.state case 1: @@ -35016,8 +40098,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_Const); i { + file_pg_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldSelect); i { case 0: return &v.state case 1: @@ -35028,8 +40110,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Alias); i { + file_pg_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldStore); i { case 0: return &v.state case 1: @@ -35040,8 +40122,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeVar); i { + file_pg_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RelabelType); i { case 0: return &v.state case 1: @@ -35052,8 +40134,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TableFunc); i { + file_pg_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoerceViaIO); i { case 0: return &v.state case 1: @@ -35064,8 +40146,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Var); i { + file_pg_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArrayCoerceExpr); i { case 0: return &v.state case 1: @@ -35076,8 +40158,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Param); i { + file_pg_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConvertRowtypeExpr); i { case 0: return &v.state case 1: @@ -35088,8 +40170,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Aggref); i { + file_pg_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollateExpr); i { case 0: return &v.state case 1: @@ -35100,8 +40182,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupingFunc); i { + file_pg_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaseExpr); i { case 0: return &v.state case 1: @@ -35112,8 +40194,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WindowFunc); i { + file_pg_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaseWhen); i { case 0: return &v.state case 1: @@ -35124,8 +40206,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscriptingRef); i { + file_pg_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CaseTestExpr); i { case 0: return &v.state case 1: @@ -35136,8 +40218,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FuncExpr); i { + file_pg_query_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArrayExpr); i { case 0: return &v.state case 1: @@ -35148,8 +40230,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamedArgExpr); i { + file_pg_query_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RowExpr); i { case 0: return &v.state case 1: @@ -35160,8 +40242,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpExpr); i { + file_pg_query_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RowCompareExpr); i { case 0: return &v.state case 1: @@ -35172,8 +40254,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DistinctExpr); i { + file_pg_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoalesceExpr); i { case 0: return &v.state case 1: @@ -35184,8 +40266,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NullIfExpr); i { + file_pg_query_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MinMaxExpr); i { case 0: return &v.state case 1: @@ -35196,8 +40278,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScalarArrayOpExpr); i { + file_pg_query_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SQLValueFunction); i { case 0: return &v.state case 1: @@ -35208,8 +40290,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoolExpr); i { + file_pg_query_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XmlExpr); i { case 0: return &v.state case 1: @@ -35220,8 +40302,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubLink); i { + file_pg_query_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonFormat); i { case 0: return &v.state case 1: @@ -35232,8 +40314,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubPlan); i { + file_pg_query_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonReturning); i { case 0: return &v.state case 1: @@ -35244,8 +40326,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlternativeSubPlan); i { + file_pg_query_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonValueExpr); i { case 0: return &v.state case 1: @@ -35256,8 +40338,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldSelect); i { + file_pg_query_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonConstructorExpr); i { case 0: return &v.state case 1: @@ -35268,8 +40350,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldStore); i { + file_pg_query_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonIsPredicate); i { case 0: return &v.state case 1: @@ -35280,8 +40362,140 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RelabelType); i { + file_pg_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonBehavior); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonExpr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePathScan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTableSiblingJoin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NullTest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BooleanTest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeAction); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoerceToDomain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CoerceToDomainValue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetToDefault); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pg_query_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CurrentOfExpr); i { case 0: return &v.state case 1: @@ -35292,8 +40506,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoerceViaIO); i { + file_pg_query_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NextValueExpr); i { case 0: return &v.state case 1: @@ -35304,8 +40518,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArrayCoerceExpr); i { + file_pg_query_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InferenceElem); i { case 0: return &v.state case 1: @@ -35316,8 +40530,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConvertRowtypeExpr); i { + file_pg_query_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TargetEntry); i { case 0: return &v.state case 1: @@ -35328,8 +40542,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CollateExpr); i { + file_pg_query_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTblRef); i { case 0: return &v.state case 1: @@ -35340,8 +40554,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseExpr); i { + file_pg_query_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JoinExpr); i { case 0: return &v.state case 1: @@ -35352,8 +40566,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseWhen); i { + file_pg_query_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FromExpr); i { case 0: return &v.state case 1: @@ -35364,8 +40578,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CaseTestExpr); i { + file_pg_query_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnConflictExpr); i { case 0: return &v.state case 1: @@ -35376,8 +40590,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArrayExpr); i { + file_pg_query_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Query); i { case 0: return &v.state case 1: @@ -35388,8 +40602,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RowExpr); i { + file_pg_query_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TypeName); i { case 0: return &v.state case 1: @@ -35400,8 +40614,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RowCompareExpr); i { + file_pg_query_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColumnRef); i { case 0: return &v.state case 1: @@ -35412,8 +40626,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoalesceExpr); i { + file_pg_query_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ParamRef); i { case 0: return &v.state case 1: @@ -35424,8 +40638,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MinMaxExpr); i { + file_pg_query_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_Expr); i { case 0: return &v.state case 1: @@ -35436,8 +40650,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SQLValueFunction); i { + file_pg_query_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TypeCast); i { case 0: return &v.state case 1: @@ -35448,8 +40662,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*XmlExpr); i { + file_pg_query_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CollateClause); i { case 0: return &v.state case 1: @@ -35460,8 +40674,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NullTest); i { + file_pg_query_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RoleSpec); i { case 0: return &v.state case 1: @@ -35472,8 +40686,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BooleanTest); i { + file_pg_query_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FuncCall); i { case 0: return &v.state case 1: @@ -35484,8 +40698,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoerceToDomain); i { + file_pg_query_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_Star); i { case 0: return &v.state case 1: @@ -35496,8 +40710,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CoerceToDomainValue); i { + file_pg_query_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_Indices); i { case 0: return &v.state case 1: @@ -35508,8 +40722,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetToDefault); i { + file_pg_query_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_Indirection); i { case 0: return &v.state case 1: @@ -35520,8 +40734,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CurrentOfExpr); i { + file_pg_query_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*A_ArrayExpr); i { case 0: return &v.state case 1: @@ -35532,8 +40746,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NextValueExpr); i { + file_pg_query_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResTarget); i { case 0: return &v.state case 1: @@ -35544,8 +40758,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InferenceElem); i { + file_pg_query_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiAssignRef); i { case 0: return &v.state case 1: @@ -35556,8 +40770,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TargetEntry); i { + file_pg_query_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortBy); i { case 0: return &v.state case 1: @@ -35568,8 +40782,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTblRef); i { + file_pg_query_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowDef); i { case 0: return &v.state case 1: @@ -35580,8 +40794,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JoinExpr); i { + file_pg_query_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeSubselect); i { case 0: return &v.state case 1: @@ -35592,8 +40806,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FromExpr); i { + file_pg_query_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeFunction); i { case 0: return &v.state case 1: @@ -35604,8 +40818,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnConflictExpr); i { + file_pg_query_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTableFunc); i { case 0: return &v.state case 1: @@ -35616,8 +40830,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IntoClause); i { + file_pg_query_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTableFuncCol); i { case 0: return &v.state case 1: @@ -35628,8 +40842,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeAction); i { + file_pg_query_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTableSample); i { case 0: return &v.state case 1: @@ -35640,8 +40854,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RawStmt); i { + file_pg_query_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ColumnDef); i { case 0: return &v.state case 1: @@ -35652,8 +40866,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Query); i { + file_pg_query_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TableLikeClause); i { case 0: return &v.state case 1: @@ -35664,8 +40878,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InsertStmt); i { + file_pg_query_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexElem); i { case 0: return &v.state case 1: @@ -35676,8 +40890,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteStmt); i { + file_pg_query_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefElem); i { case 0: return &v.state case 1: @@ -35688,8 +40902,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateStmt); i { + file_pg_query_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LockingClause); i { case 0: return &v.state case 1: @@ -35700,8 +40914,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeStmt); i { + file_pg_query_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*XmlSerialize); i { case 0: return &v.state case 1: @@ -35712,8 +40926,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SelectStmt); i { + file_pg_query_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartitionElem); i { case 0: return &v.state case 1: @@ -35724,8 +40938,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReturnStmt); i { + file_pg_query_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartitionSpec); i { case 0: return &v.state case 1: @@ -35736,8 +40950,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PLAssignStmt); i { + file_pg_query_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartitionBoundSpec); i { case 0: return &v.state case 1: @@ -35748,8 +40962,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTableStmt); i { + file_pg_query_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartitionRangeDatum); i { case 0: return &v.state case 1: @@ -35760,8 +40974,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTableCmd); i { + file_pg_query_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SinglePartitionSpec); i { case 0: return &v.state case 1: @@ -35772,8 +40986,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterDomainStmt); i { + file_pg_query_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartitionCmd); i { case 0: return &v.state case 1: @@ -35784,8 +40998,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetOperationStmt); i { + file_pg_query_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTblEntry); i { case 0: return &v.state case 1: @@ -35796,8 +41010,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GrantStmt); i { + file_pg_query_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RTEPermissionInfo); i { case 0: return &v.state case 1: @@ -35808,8 +41022,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GrantRoleStmt); i { + file_pg_query_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RangeTblFunction); i { case 0: return &v.state case 1: @@ -35820,8 +41034,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterDefaultPrivilegesStmt); i { + file_pg_query_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TableSampleClause); i { case 0: return &v.state case 1: @@ -35832,8 +41046,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClosePortalStmt); i { + file_pg_query_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithCheckOption); i { case 0: return &v.state case 1: @@ -35844,8 +41058,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterStmt); i { + file_pg_query_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SortGroupClause); i { case 0: return &v.state case 1: @@ -35856,8 +41070,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CopyStmt); i { + file_pg_query_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GroupingSet); i { case 0: return &v.state case 1: @@ -35868,8 +41082,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateStmt); i { + file_pg_query_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowClause); i { case 0: return &v.state case 1: @@ -35880,8 +41094,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefineStmt); i { + file_pg_query_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RowMarkClause); i { case 0: return &v.state case 1: @@ -35892,8 +41106,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropStmt); i { + file_pg_query_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithClause); i { case 0: return &v.state case 1: @@ -35904,8 +41118,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TruncateStmt); i { + file_pg_query_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InferClause); i { case 0: return &v.state case 1: @@ -35916,8 +41130,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommentStmt); i { + file_pg_query_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnConflictClause); i { case 0: return &v.state case 1: @@ -35928,8 +41142,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchStmt); i { + file_pg_query_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CTESearchClause); i { case 0: return &v.state case 1: @@ -35940,8 +41154,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IndexStmt); i { + file_pg_query_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CTECycleClause); i { case 0: return &v.state case 1: @@ -35952,8 +41166,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateFunctionStmt); i { + file_pg_query_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonTableExpr); i { case 0: return &v.state case 1: @@ -35964,8 +41178,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterFunctionStmt); i { + file_pg_query_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeWhenClause); i { case 0: return &v.state case 1: @@ -35976,8 +41190,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DoStmt); i { + file_pg_query_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TriggerTransition); i { case 0: return &v.state case 1: @@ -35988,8 +41202,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameStmt); i { + file_pg_query_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonOutput); i { case 0: return &v.state case 1: @@ -36000,8 +41214,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RuleStmt); i { + file_pg_query_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonArgument); i { case 0: return &v.state case 1: @@ -36012,8 +41226,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NotifyStmt); i { + file_pg_query_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonFuncExpr); i { case 0: return &v.state case 1: @@ -36024,8 +41238,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListenStmt); i { + file_pg_query_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTablePathSpec); i { case 0: return &v.state case 1: @@ -36036,8 +41250,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnlistenStmt); i { + file_pg_query_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTable); i { case 0: return &v.state case 1: @@ -36048,8 +41262,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionStmt); i { + file_pg_query_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonTableColumn); i { case 0: return &v.state case 1: @@ -36060,8 +41274,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ViewStmt); i { + file_pg_query_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonKeyValue); i { case 0: return &v.state case 1: @@ -36072,8 +41286,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoadStmt); i { + file_pg_query_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonParseExpr); i { case 0: return &v.state case 1: @@ -36084,8 +41298,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateDomainStmt); i { + file_pg_query_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonScalarExpr); i { case 0: return &v.state case 1: @@ -36096,8 +41310,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatedbStmt); i { + file_pg_query_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonSerializeExpr); i { case 0: return &v.state case 1: @@ -36108,8 +41322,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropdbStmt); i { + file_pg_query_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonObjectConstructor); i { case 0: return &v.state case 1: @@ -36120,8 +41334,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VacuumStmt); i { + file_pg_query_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonArrayConstructor); i { case 0: return &v.state case 1: @@ -36132,8 +41346,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExplainStmt); i { + file_pg_query_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonArrayQueryConstructor); i { case 0: return &v.state case 1: @@ -36144,8 +41358,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTableAsStmt); i { + file_pg_query_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonAggConstructor); i { case 0: return &v.state case 1: @@ -36156,8 +41370,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSeqStmt); i { + file_pg_query_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonObjectAgg); i { case 0: return &v.state case 1: @@ -36168,8 +41382,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterSeqStmt); i { + file_pg_query_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JsonArrayAgg); i { case 0: return &v.state case 1: @@ -36180,8 +41394,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VariableSetStmt); i { + file_pg_query_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RawStmt); i { case 0: return &v.state case 1: @@ -36192,8 +41406,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VariableShowStmt); i { + file_pg_query_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InsertStmt); i { case 0: return &v.state case 1: @@ -36204,8 +41418,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DiscardStmt); i { + file_pg_query_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteStmt); i { case 0: return &v.state case 1: @@ -36216,8 +41430,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTrigStmt); i { + file_pg_query_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateStmt); i { case 0: return &v.state case 1: @@ -36228,8 +41442,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePLangStmt); i { + file_pg_query_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MergeStmt); i { case 0: return &v.state case 1: @@ -36240,8 +41454,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRoleStmt); i { + file_pg_query_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SelectStmt); i { case 0: return &v.state case 1: @@ -36252,8 +41466,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterRoleStmt); i { + file_pg_query_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetOperationStmt); i { case 0: return &v.state case 1: @@ -36264,8 +41478,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropRoleStmt); i { + file_pg_query_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReturnStmt); i { case 0: return &v.state case 1: @@ -36276,8 +41490,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LockStmt); i { + file_pg_query_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PLAssignStmt); i { case 0: return &v.state case 1: @@ -36288,8 +41502,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConstraintsSetStmt); i { + file_pg_query_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSchemaStmt); i { case 0: return &v.state case 1: @@ -36300,8 +41514,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReindexStmt); i { + file_pg_query_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTableStmt); i { case 0: return &v.state case 1: @@ -36312,8 +41526,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckPointStmt); i { + file_pg_query_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaIdentityStmt); i { case 0: return &v.state case 1: @@ -36324,8 +41538,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSchemaStmt); i { + file_pg_query_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTableCmd); i { case 0: return &v.state case 1: @@ -36336,8 +41550,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterDatabaseStmt); i { + file_pg_query_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterCollationStmt); i { case 0: return &v.state case 1: @@ -36348,8 +41562,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterDatabaseRefreshCollStmt); i { + file_pg_query_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterDomainStmt); i { case 0: return &v.state case 1: @@ -36360,8 +41574,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterDatabaseSetStmt); i { + file_pg_query_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrantStmt); i { case 0: return &v.state case 1: @@ -36372,8 +41586,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterRoleSetStmt); i { + file_pg_query_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectWithArgs); i { case 0: return &v.state case 1: @@ -36384,8 +41598,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateConversionStmt); i { + file_pg_query_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccessPriv); i { case 0: return &v.state case 1: @@ -36396,8 +41610,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateCastStmt); i { + file_pg_query_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrantRoleStmt); i { case 0: return &v.state case 1: @@ -36408,8 +41622,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateOpClassStmt); i { + file_pg_query_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterDefaultPrivilegesStmt); i { case 0: return &v.state case 1: @@ -36420,8 +41634,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateOpFamilyStmt); i { + file_pg_query_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CopyStmt); i { case 0: return &v.state case 1: @@ -36432,8 +41646,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterOpFamilyStmt); i { + file_pg_query_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VariableSetStmt); i { case 0: return &v.state case 1: @@ -36444,8 +41658,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrepareStmt); i { + file_pg_query_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VariableShowStmt); i { case 0: return &v.state case 1: @@ -36456,8 +41670,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecuteStmt); i { + file_pg_query_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStmt); i { case 0: return &v.state case 1: @@ -36468,8 +41682,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeallocateStmt); i { + file_pg_query_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Constraint); i { case 0: return &v.state case 1: @@ -36480,8 +41694,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeclareCursorStmt); i { + file_pg_query_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTableSpaceStmt); i { case 0: return &v.state case 1: @@ -36492,8 +41706,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTableSpaceStmt); i { + file_pg_query_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropTableSpaceStmt); i { case 0: return &v.state case 1: @@ -36504,8 +41718,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropTableSpaceStmt); i { + file_pg_query_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTableSpaceOptionsStmt); i { case 0: return &v.state case 1: @@ -36516,8 +41730,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterObjectDependsStmt); i { + file_pg_query_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTableMoveAllStmt); i { case 0: return &v.state case 1: @@ -36528,8 +41742,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterObjectSchemaStmt); i { + file_pg_query_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateExtensionStmt); i { case 0: return &v.state case 1: @@ -36540,8 +41754,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterOwnerStmt); i { + file_pg_query_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterExtensionStmt); i { case 0: return &v.state case 1: @@ -36552,8 +41766,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterOperatorStmt); i { + file_pg_query_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterExtensionContentsStmt); i { case 0: return &v.state case 1: @@ -36564,8 +41778,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTypeStmt); i { + file_pg_query_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFdwStmt); i { case 0: return &v.state case 1: @@ -36576,8 +41790,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropOwnedStmt); i { + file_pg_query_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterFdwStmt); i { case 0: return &v.state case 1: @@ -36588,8 +41802,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReassignOwnedStmt); i { + file_pg_query_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateForeignServerStmt); i { case 0: return &v.state case 1: @@ -36600,8 +41814,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompositeTypeStmt); i { + file_pg_query_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterForeignServerStmt); i { case 0: return &v.state case 1: @@ -36612,8 +41826,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateEnumStmt); i { + file_pg_query_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateForeignTableStmt); i { case 0: return &v.state case 1: @@ -36624,8 +41838,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateRangeStmt); i { + file_pg_query_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateUserMappingStmt); i { case 0: return &v.state case 1: @@ -36636,8 +41850,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterEnumStmt); i { + file_pg_query_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterUserMappingStmt); i { case 0: return &v.state case 1: @@ -36648,8 +41862,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTSDictionaryStmt); i { + file_pg_query_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropUserMappingStmt); i { case 0: return &v.state case 1: @@ -36660,8 +41874,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTSConfigurationStmt); i { + file_pg_query_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportForeignSchemaStmt); i { case 0: return &v.state case 1: @@ -36672,8 +41886,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateFdwStmt); i { + file_pg_query_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePolicyStmt); i { case 0: return &v.state case 1: @@ -36684,8 +41898,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterFdwStmt); i { + file_pg_query_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterPolicyStmt); i { case 0: return &v.state case 1: @@ -36696,8 +41910,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateForeignServerStmt); i { + file_pg_query_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateAmStmt); i { case 0: return &v.state case 1: @@ -36708,8 +41922,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterForeignServerStmt); i { + file_pg_query_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTrigStmt); i { case 0: return &v.state case 1: @@ -36720,8 +41934,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserMappingStmt); i { + file_pg_query_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEventTrigStmt); i { case 0: return &v.state case 1: @@ -36732,8 +41946,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserMappingStmt); i { + file_pg_query_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterEventTrigStmt); i { case 0: return &v.state case 1: @@ -36744,8 +41958,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropUserMappingStmt); i { + file_pg_query_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePLangStmt); i { case 0: return &v.state case 1: @@ -36756,8 +41970,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTableSpaceOptionsStmt); i { + file_pg_query_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRoleStmt); i { case 0: return &v.state case 1: @@ -36768,8 +41982,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterTableMoveAllStmt); i { + file_pg_query_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterRoleStmt); i { case 0: return &v.state case 1: @@ -36780,8 +41994,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecLabelStmt); i { + file_pg_query_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterRoleSetStmt); i { case 0: return &v.state case 1: @@ -36792,8 +42006,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateForeignTableStmt); i { + file_pg_query_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropRoleStmt); i { case 0: return &v.state case 1: @@ -36804,8 +42018,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportForeignSchemaStmt); i { + file_pg_query_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSeqStmt); i { case 0: return &v.state case 1: @@ -36816,8 +42030,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateExtensionStmt); i { + file_pg_query_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterSeqStmt); i { case 0: return &v.state case 1: @@ -36828,8 +42042,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterExtensionStmt); i { + file_pg_query_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DefineStmt); i { case 0: return &v.state case 1: @@ -36840,8 +42054,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterExtensionContentsStmt); i { + file_pg_query_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDomainStmt); i { case 0: return &v.state case 1: @@ -36852,8 +42066,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateEventTrigStmt); i { + file_pg_query_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOpClassStmt); i { case 0: return &v.state case 1: @@ -36864,8 +42078,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterEventTrigStmt); i { + file_pg_query_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOpClassItem); i { case 0: return &v.state case 1: @@ -36876,8 +42090,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RefreshMatViewStmt); i { + file_pg_query_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOpFamilyStmt); i { case 0: return &v.state case 1: @@ -36888,8 +42102,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicaIdentityStmt); i { + file_pg_query_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterOpFamilyStmt); i { case 0: return &v.state case 1: @@ -36900,8 +42114,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterSystemStmt); i { + file_pg_query_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropStmt); i { case 0: return &v.state case 1: @@ -36912,8 +42126,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePolicyStmt); i { + file_pg_query_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TruncateStmt); i { case 0: return &v.state case 1: @@ -36924,8 +42138,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterPolicyStmt); i { + file_pg_query_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommentStmt); i { case 0: return &v.state case 1: @@ -36936,8 +42150,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTransformStmt); i { + file_pg_query_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecLabelStmt); i { case 0: return &v.state case 1: @@ -36948,8 +42162,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAmStmt); i { + file_pg_query_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeclareCursorStmt); i { case 0: return &v.state case 1: @@ -36960,8 +42174,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePublicationStmt); i { + file_pg_query_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClosePortalStmt); i { case 0: return &v.state case 1: @@ -36972,8 +42186,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterPublicationStmt); i { + file_pg_query_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchStmt); i { case 0: return &v.state case 1: @@ -36984,8 +42198,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSubscriptionStmt); i { + file_pg_query_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndexStmt); i { case 0: return &v.state case 1: @@ -36996,8 +42210,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterSubscriptionStmt); i { + file_pg_query_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStatsStmt); i { case 0: return &v.state case 1: @@ -37008,8 +42222,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DropSubscriptionStmt); i { + file_pg_query_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatsElem); i { case 0: return &v.state case 1: @@ -37020,8 +42234,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateStatsStmt); i { + file_pg_query_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterStatsStmt); i { case 0: return &v.state case 1: @@ -37032,8 +42246,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterCollationStmt); i { + file_pg_query_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateFunctionStmt); i { case 0: return &v.state case 1: @@ -37044,8 +42258,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallStmt); i { + file_pg_query_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunctionParameter); i { case 0: return &v.state case 1: @@ -37056,8 +42270,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterStatsStmt); i { + file_pg_query_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterFunctionStmt); i { case 0: return &v.state case 1: @@ -37068,8 +42282,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_Expr); i { + file_pg_query_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DoStmt); i { case 0: return &v.state case 1: @@ -37080,8 +42294,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ColumnRef); i { + file_pg_query_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InlineCodeBlock); i { case 0: return &v.state case 1: @@ -37092,8 +42306,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParamRef); i { + file_pg_query_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CallStmt); i { case 0: return &v.state case 1: @@ -37104,8 +42318,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FuncCall); i { + file_pg_query_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CallContext); i { case 0: return &v.state case 1: @@ -37116,8 +42330,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_Star); i { + file_pg_query_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenameStmt); i { case 0: return &v.state case 1: @@ -37128,8 +42342,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_Indices); i { + file_pg_query_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterObjectDependsStmt); i { case 0: return &v.state case 1: @@ -37140,8 +42354,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_Indirection); i { + file_pg_query_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterObjectSchemaStmt); i { case 0: return &v.state case 1: @@ -37152,8 +42366,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*A_ArrayExpr); i { + file_pg_query_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterOwnerStmt); i { case 0: return &v.state case 1: @@ -37164,8 +42378,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResTarget); i { + file_pg_query_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterOperatorStmt); i { case 0: return &v.state case 1: @@ -37176,8 +42390,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiAssignRef); i { + file_pg_query_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTypeStmt); i { case 0: return &v.state case 1: @@ -37188,8 +42402,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypeCast); i { + file_pg_query_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RuleStmt); i { case 0: return &v.state case 1: @@ -37200,8 +42414,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CollateClause); i { + file_pg_query_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyStmt); i { case 0: return &v.state case 1: @@ -37212,8 +42426,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortBy); i { + file_pg_query_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListenStmt); i { case 0: return &v.state case 1: @@ -37224,8 +42438,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WindowDef); i { + file_pg_query_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnlistenStmt); i { case 0: return &v.state case 1: @@ -37236,8 +42450,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeSubselect); i { + file_pg_query_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TransactionStmt); i { case 0: return &v.state case 1: @@ -37248,8 +42462,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeFunction); i { + file_pg_query_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompositeTypeStmt); i { case 0: return &v.state case 1: @@ -37260,8 +42474,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTableSample); i { + file_pg_query_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateEnumStmt); i { case 0: return &v.state case 1: @@ -37272,8 +42486,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTableFunc); i { + file_pg_query_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRangeStmt); i { case 0: return &v.state case 1: @@ -37284,8 +42498,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTableFuncCol); i { + file_pg_query_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterEnumStmt); i { case 0: return &v.state case 1: @@ -37296,8 +42510,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TypeName); i { + file_pg_query_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ViewStmt); i { case 0: return &v.state case 1: @@ -37308,8 +42522,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ColumnDef); i { + file_pg_query_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoadStmt); i { case 0: return &v.state case 1: @@ -37320,8 +42534,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*IndexElem); i { + file_pg_query_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatedbStmt); i { case 0: return &v.state case 1: @@ -37332,8 +42546,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatsElem); i { + file_pg_query_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterDatabaseStmt); i { case 0: return &v.state case 1: @@ -37344,8 +42558,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Constraint); i { + file_pg_query_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterDatabaseRefreshCollStmt); i { case 0: return &v.state case 1: @@ -37356,8 +42570,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DefElem); i { + file_pg_query_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterDatabaseSetStmt); i { case 0: return &v.state case 1: @@ -37368,8 +42582,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTblEntry); i { + file_pg_query_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropdbStmt); i { case 0: return &v.state case 1: @@ -37380,8 +42594,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RangeTblFunction); i { + file_pg_query_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterSystemStmt); i { case 0: return &v.state case 1: @@ -37392,8 +42606,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TableSampleClause); i { + file_pg_query_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterStmt); i { case 0: return &v.state case 1: @@ -37404,8 +42618,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithCheckOption); i { + file_pg_query_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VacuumStmt); i { case 0: return &v.state case 1: @@ -37416,8 +42630,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SortGroupClause); i { + file_pg_query_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VacuumRelation); i { case 0: return &v.state case 1: @@ -37428,8 +42642,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupingSet); i { + file_pg_query_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExplainStmt); i { case 0: return &v.state case 1: @@ -37440,8 +42654,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WindowClause); i { + file_pg_query_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTableAsStmt); i { case 0: return &v.state case 1: @@ -37452,8 +42666,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ObjectWithArgs); i { + file_pg_query_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshMatViewStmt); i { case 0: return &v.state case 1: @@ -37464,8 +42678,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessPriv); i { + file_pg_query_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckPointStmt); i { case 0: return &v.state case 1: @@ -37476,8 +42690,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateOpClassItem); i { + file_pg_query_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscardStmt); i { case 0: return &v.state case 1: @@ -37488,8 +42702,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TableLikeClause); i { + file_pg_query_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LockStmt); i { case 0: return &v.state case 1: @@ -37500,8 +42714,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FunctionParameter); i { + file_pg_query_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConstraintsSetStmt); i { case 0: return &v.state case 1: @@ -37512,8 +42726,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LockingClause); i { + file_pg_query_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReindexStmt); i { case 0: return &v.state case 1: @@ -37524,8 +42738,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RowMarkClause); i { + file_pg_query_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateConversionStmt); i { case 0: return &v.state case 1: @@ -37536,8 +42750,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*XmlSerialize); i { + file_pg_query_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateCastStmt); i { case 0: return &v.state case 1: @@ -37548,8 +42762,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithClause); i { + file_pg_query_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTransformStmt); i { case 0: return &v.state case 1: @@ -37560,8 +42774,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InferClause); i { + file_pg_query_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrepareStmt); i { case 0: return &v.state case 1: @@ -37572,8 +42786,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OnConflictClause); i { + file_pg_query_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecuteStmt); i { case 0: return &v.state case 1: @@ -37584,8 +42798,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CTESearchClause); i { + file_pg_query_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeallocateStmt); i { case 0: return &v.state case 1: @@ -37596,8 +42810,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CTECycleClause); i { + file_pg_query_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropOwnedStmt); i { case 0: return &v.state case 1: @@ -37608,8 +42822,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonTableExpr); i { + file_pg_query_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReassignOwnedStmt); i { case 0: return &v.state case 1: @@ -37620,8 +42834,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeWhenClause); i { + file_pg_query_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTSDictionaryStmt); i { case 0: return &v.state case 1: @@ -37632,8 +42846,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoleSpec); i { + file_pg_query_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterTSConfigurationStmt); i { case 0: return &v.state case 1: @@ -37644,8 +42858,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TriggerTransition); i { + file_pg_query_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublicationTable); i { case 0: return &v.state case 1: @@ -37656,8 +42870,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PartitionElem); i { + file_pg_query_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PublicationObjSpec); i { case 0: return &v.state case 1: @@ -37668,8 +42882,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PartitionSpec); i { + file_pg_query_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePublicationStmt); i { case 0: return &v.state case 1: @@ -37680,8 +42894,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PartitionBoundSpec); i { + file_pg_query_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterPublicationStmt); i { case 0: return &v.state case 1: @@ -37692,8 +42906,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PartitionRangeDatum); i { + file_pg_query_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateSubscriptionStmt); i { case 0: return &v.state case 1: @@ -37704,8 +42918,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PartitionCmd); i { + file_pg_query_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AlterSubscriptionStmt); i { case 0: return &v.state case 1: @@ -37716,8 +42930,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VacuumRelation); i { + file_pg_query_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DropSubscriptionStmt); i { case 0: return &v.state case 1: @@ -37728,8 +42942,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublicationObjSpec); i { + file_pg_query_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScanToken); i { case 0: return &v.state case 1: @@ -37740,8 +42954,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PublicationTable); i { + file_pg_query_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SummaryResult); i { case 0: return &v.state case 1: @@ -37752,8 +42966,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InlineCodeBlock); i { + file_pg_query_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SummaryResult_Table); i { case 0: return &v.state case 1: @@ -37764,8 +42978,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CallContext); i { + file_pg_query_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SummaryResult_Function); i { case 0: return &v.state case 1: @@ -37776,8 +42990,8 @@ func file_pg_query_proto_init() { return nil } } - file_pg_query_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ScanToken); i { + file_pg_query_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SummaryResult_FilterColumn); i { case 0: return &v.state case 1: @@ -37793,11 +43007,14 @@ func file_pg_query_proto_init() { (*Node_Alias)(nil), (*Node_RangeVar)(nil), (*Node_TableFunc)(nil), + (*Node_IntoClause)(nil), (*Node_Var)(nil), (*Node_Param)(nil), (*Node_Aggref)(nil), (*Node_GroupingFunc)(nil), (*Node_WindowFunc)(nil), + (*Node_WindowFuncRunCondition)(nil), + (*Node_MergeSupportFunc)(nil), (*Node_SubscriptingRef)(nil), (*Node_FuncExpr)(nil), (*Node_NamedArgExpr)(nil), @@ -37826,8 +43043,19 @@ func file_pg_query_proto_init() { (*Node_MinMaxExpr)(nil), (*Node_SqlvalueFunction)(nil), (*Node_XmlExpr)(nil), + (*Node_JsonFormat)(nil), + (*Node_JsonReturning)(nil), + (*Node_JsonValueExpr)(nil), + (*Node_JsonConstructorExpr)(nil), + (*Node_JsonIsPredicate)(nil), + (*Node_JsonBehavior)(nil), + (*Node_JsonExpr)(nil), + (*Node_JsonTablePath)(nil), + (*Node_JsonTablePathScan)(nil), + (*Node_JsonTableSiblingJoin)(nil), (*Node_NullTest)(nil), (*Node_BooleanTest)(nil), + (*Node_MergeAction)(nil), (*Node_CoerceToDomain)(nil), (*Node_CoerceToDomainValue)(nil), (*Node_SetToDefault)(nil), @@ -37839,186 +43067,202 @@ func file_pg_query_proto_init() { (*Node_JoinExpr)(nil), (*Node_FromExpr)(nil), (*Node_OnConflictExpr)(nil), - (*Node_IntoClause)(nil), - (*Node_MergeAction)(nil), - (*Node_RawStmt)(nil), (*Node_Query)(nil), + (*Node_TypeName)(nil), + (*Node_ColumnRef)(nil), + (*Node_ParamRef)(nil), + (*Node_AExpr)(nil), + (*Node_TypeCast)(nil), + (*Node_CollateClause)(nil), + (*Node_RoleSpec)(nil), + (*Node_FuncCall)(nil), + (*Node_AStar)(nil), + (*Node_AIndices)(nil), + (*Node_AIndirection)(nil), + (*Node_AArrayExpr)(nil), + (*Node_ResTarget)(nil), + (*Node_MultiAssignRef)(nil), + (*Node_SortBy)(nil), + (*Node_WindowDef)(nil), + (*Node_RangeSubselect)(nil), + (*Node_RangeFunction)(nil), + (*Node_RangeTableFunc)(nil), + (*Node_RangeTableFuncCol)(nil), + (*Node_RangeTableSample)(nil), + (*Node_ColumnDef)(nil), + (*Node_TableLikeClause)(nil), + (*Node_IndexElem)(nil), + (*Node_DefElem)(nil), + (*Node_LockingClause)(nil), + (*Node_XmlSerialize)(nil), + (*Node_PartitionElem)(nil), + (*Node_PartitionSpec)(nil), + (*Node_PartitionBoundSpec)(nil), + (*Node_PartitionRangeDatum)(nil), + (*Node_SinglePartitionSpec)(nil), + (*Node_PartitionCmd)(nil), + (*Node_RangeTblEntry)(nil), + (*Node_RtepermissionInfo)(nil), + (*Node_RangeTblFunction)(nil), + (*Node_TableSampleClause)(nil), + (*Node_WithCheckOption)(nil), + (*Node_SortGroupClause)(nil), + (*Node_GroupingSet)(nil), + (*Node_WindowClause)(nil), + (*Node_RowMarkClause)(nil), + (*Node_WithClause)(nil), + (*Node_InferClause)(nil), + (*Node_OnConflictClause)(nil), + (*Node_CtesearchClause)(nil), + (*Node_CtecycleClause)(nil), + (*Node_CommonTableExpr)(nil), + (*Node_MergeWhenClause)(nil), + (*Node_TriggerTransition)(nil), + (*Node_JsonOutput)(nil), + (*Node_JsonArgument)(nil), + (*Node_JsonFuncExpr)(nil), + (*Node_JsonTablePathSpec)(nil), + (*Node_JsonTable)(nil), + (*Node_JsonTableColumn)(nil), + (*Node_JsonKeyValue)(nil), + (*Node_JsonParseExpr)(nil), + (*Node_JsonScalarExpr)(nil), + (*Node_JsonSerializeExpr)(nil), + (*Node_JsonObjectConstructor)(nil), + (*Node_JsonArrayConstructor)(nil), + (*Node_JsonArrayQueryConstructor)(nil), + (*Node_JsonAggConstructor)(nil), + (*Node_JsonObjectAgg)(nil), + (*Node_JsonArrayAgg)(nil), + (*Node_RawStmt)(nil), (*Node_InsertStmt)(nil), (*Node_DeleteStmt)(nil), (*Node_UpdateStmt)(nil), (*Node_MergeStmt)(nil), (*Node_SelectStmt)(nil), + (*Node_SetOperationStmt)(nil), (*Node_ReturnStmt)(nil), (*Node_PlassignStmt)(nil), + (*Node_CreateSchemaStmt)(nil), (*Node_AlterTableStmt)(nil), + (*Node_ReplicaIdentityStmt)(nil), (*Node_AlterTableCmd)(nil), + (*Node_AlterCollationStmt)(nil), (*Node_AlterDomainStmt)(nil), - (*Node_SetOperationStmt)(nil), (*Node_GrantStmt)(nil), + (*Node_ObjectWithArgs)(nil), + (*Node_AccessPriv)(nil), (*Node_GrantRoleStmt)(nil), (*Node_AlterDefaultPrivilegesStmt)(nil), - (*Node_ClosePortalStmt)(nil), - (*Node_ClusterStmt)(nil), (*Node_CopyStmt)(nil), + (*Node_VariableSetStmt)(nil), + (*Node_VariableShowStmt)(nil), (*Node_CreateStmt)(nil), + (*Node_Constraint)(nil), + (*Node_CreateTableSpaceStmt)(nil), + (*Node_DropTableSpaceStmt)(nil), + (*Node_AlterTableSpaceOptionsStmt)(nil), + (*Node_AlterTableMoveAllStmt)(nil), + (*Node_CreateExtensionStmt)(nil), + (*Node_AlterExtensionStmt)(nil), + (*Node_AlterExtensionContentsStmt)(nil), + (*Node_CreateFdwStmt)(nil), + (*Node_AlterFdwStmt)(nil), + (*Node_CreateForeignServerStmt)(nil), + (*Node_AlterForeignServerStmt)(nil), + (*Node_CreateForeignTableStmt)(nil), + (*Node_CreateUserMappingStmt)(nil), + (*Node_AlterUserMappingStmt)(nil), + (*Node_DropUserMappingStmt)(nil), + (*Node_ImportForeignSchemaStmt)(nil), + (*Node_CreatePolicyStmt)(nil), + (*Node_AlterPolicyStmt)(nil), + (*Node_CreateAmStmt)(nil), + (*Node_CreateTrigStmt)(nil), + (*Node_CreateEventTrigStmt)(nil), + (*Node_AlterEventTrigStmt)(nil), + (*Node_CreatePlangStmt)(nil), + (*Node_CreateRoleStmt)(nil), + (*Node_AlterRoleStmt)(nil), + (*Node_AlterRoleSetStmt)(nil), + (*Node_DropRoleStmt)(nil), + (*Node_CreateSeqStmt)(nil), + (*Node_AlterSeqStmt)(nil), (*Node_DefineStmt)(nil), + (*Node_CreateDomainStmt)(nil), + (*Node_CreateOpClassStmt)(nil), + (*Node_CreateOpClassItem)(nil), + (*Node_CreateOpFamilyStmt)(nil), + (*Node_AlterOpFamilyStmt)(nil), (*Node_DropStmt)(nil), (*Node_TruncateStmt)(nil), (*Node_CommentStmt)(nil), + (*Node_SecLabelStmt)(nil), + (*Node_DeclareCursorStmt)(nil), + (*Node_ClosePortalStmt)(nil), (*Node_FetchStmt)(nil), (*Node_IndexStmt)(nil), + (*Node_CreateStatsStmt)(nil), + (*Node_StatsElem)(nil), + (*Node_AlterStatsStmt)(nil), (*Node_CreateFunctionStmt)(nil), + (*Node_FunctionParameter)(nil), (*Node_AlterFunctionStmt)(nil), (*Node_DoStmt)(nil), + (*Node_InlineCodeBlock)(nil), + (*Node_CallStmt)(nil), + (*Node_CallContext)(nil), (*Node_RenameStmt)(nil), + (*Node_AlterObjectDependsStmt)(nil), + (*Node_AlterObjectSchemaStmt)(nil), + (*Node_AlterOwnerStmt)(nil), + (*Node_AlterOperatorStmt)(nil), + (*Node_AlterTypeStmt)(nil), (*Node_RuleStmt)(nil), (*Node_NotifyStmt)(nil), (*Node_ListenStmt)(nil), (*Node_UnlistenStmt)(nil), (*Node_TransactionStmt)(nil), + (*Node_CompositeTypeStmt)(nil), + (*Node_CreateEnumStmt)(nil), + (*Node_CreateRangeStmt)(nil), + (*Node_AlterEnumStmt)(nil), (*Node_ViewStmt)(nil), (*Node_LoadStmt)(nil), - (*Node_CreateDomainStmt)(nil), (*Node_CreatedbStmt)(nil), + (*Node_AlterDatabaseStmt)(nil), + (*Node_AlterDatabaseRefreshCollStmt)(nil), + (*Node_AlterDatabaseSetStmt)(nil), (*Node_DropdbStmt)(nil), + (*Node_AlterSystemStmt)(nil), + (*Node_ClusterStmt)(nil), (*Node_VacuumStmt)(nil), + (*Node_VacuumRelation)(nil), (*Node_ExplainStmt)(nil), (*Node_CreateTableAsStmt)(nil), - (*Node_CreateSeqStmt)(nil), - (*Node_AlterSeqStmt)(nil), - (*Node_VariableSetStmt)(nil), - (*Node_VariableShowStmt)(nil), + (*Node_RefreshMatViewStmt)(nil), + (*Node_CheckPointStmt)(nil), (*Node_DiscardStmt)(nil), - (*Node_CreateTrigStmt)(nil), - (*Node_CreatePlangStmt)(nil), - (*Node_CreateRoleStmt)(nil), - (*Node_AlterRoleStmt)(nil), - (*Node_DropRoleStmt)(nil), (*Node_LockStmt)(nil), (*Node_ConstraintsSetStmt)(nil), (*Node_ReindexStmt)(nil), - (*Node_CheckPointStmt)(nil), - (*Node_CreateSchemaStmt)(nil), - (*Node_AlterDatabaseStmt)(nil), - (*Node_AlterDatabaseRefreshCollStmt)(nil), - (*Node_AlterDatabaseSetStmt)(nil), - (*Node_AlterRoleSetStmt)(nil), (*Node_CreateConversionStmt)(nil), (*Node_CreateCastStmt)(nil), - (*Node_CreateOpClassStmt)(nil), - (*Node_CreateOpFamilyStmt)(nil), - (*Node_AlterOpFamilyStmt)(nil), + (*Node_CreateTransformStmt)(nil), (*Node_PrepareStmt)(nil), (*Node_ExecuteStmt)(nil), (*Node_DeallocateStmt)(nil), - (*Node_DeclareCursorStmt)(nil), - (*Node_CreateTableSpaceStmt)(nil), - (*Node_DropTableSpaceStmt)(nil), - (*Node_AlterObjectDependsStmt)(nil), - (*Node_AlterObjectSchemaStmt)(nil), - (*Node_AlterOwnerStmt)(nil), - (*Node_AlterOperatorStmt)(nil), - (*Node_AlterTypeStmt)(nil), (*Node_DropOwnedStmt)(nil), (*Node_ReassignOwnedStmt)(nil), - (*Node_CompositeTypeStmt)(nil), - (*Node_CreateEnumStmt)(nil), - (*Node_CreateRangeStmt)(nil), - (*Node_AlterEnumStmt)(nil), (*Node_AlterTsdictionaryStmt)(nil), (*Node_AlterTsconfigurationStmt)(nil), - (*Node_CreateFdwStmt)(nil), - (*Node_AlterFdwStmt)(nil), - (*Node_CreateForeignServerStmt)(nil), - (*Node_AlterForeignServerStmt)(nil), - (*Node_CreateUserMappingStmt)(nil), - (*Node_AlterUserMappingStmt)(nil), - (*Node_DropUserMappingStmt)(nil), - (*Node_AlterTableSpaceOptionsStmt)(nil), - (*Node_AlterTableMoveAllStmt)(nil), - (*Node_SecLabelStmt)(nil), - (*Node_CreateForeignTableStmt)(nil), - (*Node_ImportForeignSchemaStmt)(nil), - (*Node_CreateExtensionStmt)(nil), - (*Node_AlterExtensionStmt)(nil), - (*Node_AlterExtensionContentsStmt)(nil), - (*Node_CreateEventTrigStmt)(nil), - (*Node_AlterEventTrigStmt)(nil), - (*Node_RefreshMatViewStmt)(nil), - (*Node_ReplicaIdentityStmt)(nil), - (*Node_AlterSystemStmt)(nil), - (*Node_CreatePolicyStmt)(nil), - (*Node_AlterPolicyStmt)(nil), - (*Node_CreateTransformStmt)(nil), - (*Node_CreateAmStmt)(nil), + (*Node_PublicationTable)(nil), + (*Node_PublicationObjSpec)(nil), (*Node_CreatePublicationStmt)(nil), (*Node_AlterPublicationStmt)(nil), (*Node_CreateSubscriptionStmt)(nil), (*Node_AlterSubscriptionStmt)(nil), (*Node_DropSubscriptionStmt)(nil), - (*Node_CreateStatsStmt)(nil), - (*Node_AlterCollationStmt)(nil), - (*Node_CallStmt)(nil), - (*Node_AlterStatsStmt)(nil), - (*Node_AExpr)(nil), - (*Node_ColumnRef)(nil), - (*Node_ParamRef)(nil), - (*Node_FuncCall)(nil), - (*Node_AStar)(nil), - (*Node_AIndices)(nil), - (*Node_AIndirection)(nil), - (*Node_AArrayExpr)(nil), - (*Node_ResTarget)(nil), - (*Node_MultiAssignRef)(nil), - (*Node_TypeCast)(nil), - (*Node_CollateClause)(nil), - (*Node_SortBy)(nil), - (*Node_WindowDef)(nil), - (*Node_RangeSubselect)(nil), - (*Node_RangeFunction)(nil), - (*Node_RangeTableSample)(nil), - (*Node_RangeTableFunc)(nil), - (*Node_RangeTableFuncCol)(nil), - (*Node_TypeName)(nil), - (*Node_ColumnDef)(nil), - (*Node_IndexElem)(nil), - (*Node_StatsElem)(nil), - (*Node_Constraint)(nil), - (*Node_DefElem)(nil), - (*Node_RangeTblEntry)(nil), - (*Node_RangeTblFunction)(nil), - (*Node_TableSampleClause)(nil), - (*Node_WithCheckOption)(nil), - (*Node_SortGroupClause)(nil), - (*Node_GroupingSet)(nil), - (*Node_WindowClause)(nil), - (*Node_ObjectWithArgs)(nil), - (*Node_AccessPriv)(nil), - (*Node_CreateOpClassItem)(nil), - (*Node_TableLikeClause)(nil), - (*Node_FunctionParameter)(nil), - (*Node_LockingClause)(nil), - (*Node_RowMarkClause)(nil), - (*Node_XmlSerialize)(nil), - (*Node_WithClause)(nil), - (*Node_InferClause)(nil), - (*Node_OnConflictClause)(nil), - (*Node_CtesearchClause)(nil), - (*Node_CtecycleClause)(nil), - (*Node_CommonTableExpr)(nil), - (*Node_MergeWhenClause)(nil), - (*Node_RoleSpec)(nil), - (*Node_TriggerTransition)(nil), - (*Node_PartitionElem)(nil), - (*Node_PartitionSpec)(nil), - (*Node_PartitionBoundSpec)(nil), - (*Node_PartitionRangeDatum)(nil), - (*Node_PartitionCmd)(nil), - (*Node_VacuumRelation)(nil), - (*Node_PublicationObjSpec)(nil), - (*Node_PublicationTable)(nil), - (*Node_InlineCodeBlock)(nil), - (*Node_CallContext)(nil), (*Node_Integer)(nil), (*Node_Float)(nil), (*Node_Boolean)(nil), @@ -38041,8 +43285,8 @@ func file_pg_query_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pg_query_proto_rawDesc, - NumEnums: 59, - NumMessages: 242, + NumEnums: 72, + NumMessages: 277, NumExtensions: 0, NumServices: 0, }, diff --git a/scripts/gokeep.sh b/scripts/gokeep.sh new file mode 100755 index 00000000..b9858a62 --- /dev/null +++ b/scripts/gokeep.sh @@ -0,0 +1,36 @@ +#!/bin/bash -e + +c_dir="parser/include" + +go_module="$(go list -m)" +go_imports="" + +while IFS='' read -r c_dir; do + go_imports+=" _ \"${go_module}/${c_dir}\""$'\n' + cat <"${c_dir}/gokeep.go" +//go:build required +// +build required + +// package gokeep prevents go tooling from stripping the C dependencies. +package gokeep +EOF +done < <(find ${c_dir} -type f \( -name '*.c' -o -name '*.h' \) -exec dirname {} \; | sort -u) + +cat <"parser/build_cgo.go" +//go:build required +// +build required + +package parser + +// This file exists purely to prevent the Golang toolchain from stripping +// away the C source directories and files when \`go mod vendor\` is used +// to populate a \`vendor/\` directory of a project depending on \`${go_module}\`. +// +// How it works: +// - Every directory which only includes C source files receives a gokeep.go file. +// - Every directory we want to preserve is included here as a _ import. +// - This file is given a build tag to exclude it from the regular build. +import ( + // Prevent Go tooling from stripping out the C source files. +${go_imports}) +EOF diff --git a/split_test.go b/split_test.go new file mode 100644 index 00000000..aff591ff --- /dev/null +++ b/split_test.go @@ -0,0 +1,115 @@ +//go:build cgo +// +build cgo + +package pg_query_test + +import ( + "testing" + + pg_query "github.com/pganalyze/pg_query_go/v6" +) + +var splitTests = []struct { + name string + splitFunc func(string, bool) ([]string, error) + input string + trimSpace bool + expected []string +}{ + { + name: "splitWithParser - basic split", + splitFunc: pg_query.SplitWithParser, + input: "select * from a;select * from b;", + trimSpace: true, + expected: []string{ + "select * from a", + "select * from b", + }, + }, + { + name: "splitWithParser - procedure", + splitFunc: pg_query.SplitWithParser, + input: splitTestInput, + trimSpace: true, + expected: []string{ + splitExpected1, + splitExpected2, + }, + }, + { + name: "splitWithParser - basic split, no trim", + splitFunc: pg_query.SplitWithParser, + input: " select * from a;select * from b;", + trimSpace: false, + expected: []string{ + " select * from a", + "select * from b", + }, + }, + { + name: "splitWithScanner - basic split", + splitFunc: pg_query.SplitWithScanner, + input: "select * from a;select * from b;", + trimSpace: true, + expected: []string{ + "select * from a", + "select * from b", + }, + }, + { + name: "splitWithScanner - procedure", + splitFunc: pg_query.SplitWithScanner, + input: splitTestInput, + trimSpace: true, + expected: []string{ + splitExpected1, + splitExpected2, + }, + }, + { + name: "splitWithScanner - basic split, no trim", + splitFunc: pg_query.SplitWithScanner, + input: " select * from a;select * from b;", + trimSpace: false, + expected: []string{ + " select * from a", + "select * from b", + }, + }, +} + +var ( + splitTestInput = `UPDATE client SET name = "John Doe" WHERE id = 1; + +CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$ + BEGIN + RETURN i + 1; + END; +$$ LANGUAGE plpgsql; +` + splitExpected1 = `UPDATE client SET name = "John Doe" WHERE id = 1` + splitExpected2 = `CREATE OR REPLACE FUNCTION increment(i integer) RETURNS integer AS $$ + BEGIN + RETURN i + 1; + END; +$$ LANGUAGE plpgsql` +) + +func TestSplit(t *testing.T) { + for _, test := range splitTests { + t.Run(test.name, func(t *testing.T) { + actuals, err := test.splitFunc(test.input, test.trimSpace) + if err != nil { + t.Error(err) + } + if len(actuals) != len(test.expected) { + t.Error("unexpected number of results") + } + for i, actual := range actuals { + if actual != test.expected[i] { + t.Errorf("expected: [%s], actual: [%s]", test.expected[i], actual) + } + } + }) + } +} diff --git a/summary_test.go b/summary_test.go new file mode 100644 index 00000000..62aef516 --- /dev/null +++ b/summary_test.go @@ -0,0 +1,135 @@ +//go:build cgo +// +build cgo + +package pg_query_test + +import ( + "testing" + + "google.golang.org/protobuf/proto" + + pg_query "github.com/pganalyze/pg_query_go/v6" +) + +var summaryTests = []struct { + input string + truncateLimit int + expected *pg_query.SummaryResult +}{ + // Basic SELECT with filter column + { + input: "SELECT * FROM users WHERE id = 1", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_Select}}, + FilterColumns: []*pg_query.SummaryResult_FilterColumn{{Column: "id"}}, + StatementTypes: []string{"SelectStmt"}, + }, + }, + // Query truncation + { + input: "SELECT id, name, email FROM users WHERE id = 1", + truncateLimit: 30, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_Select}}, + FilterColumns: []*pg_query.SummaryResult_FilterColumn{{Column: "id"}}, + StatementTypes: []string{"SelectStmt"}, + TruncatedQuery: "SELECT ... FROM users WHERE...", + }, + }, + // JOIN with table aliases + { + input: "SELECT * FROM users u JOIN orders o ON u.id = o.user_id", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{ + {Name: "users", TableName: "users", Context: pg_query.SummaryResult_Select}, + {Name: "orders", TableName: "orders", Context: pg_query.SummaryResult_Select}, + }, + Aliases: map[string]string{"u": "users", "o": "orders"}, + StatementTypes: []string{"SelectStmt"}, + }, + }, + // Aggregate functions (count, max) + { + input: "SELECT count(*), max(id) FROM users", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_Select}}, + Functions: []*pg_query.SummaryResult_Function{ + {Name: "count", FunctionName: "count", Context: pg_query.SummaryResult_Call}, + {Name: "max", FunctionName: "max", Context: pg_query.SummaryResult_Call}, + }, + StatementTypes: []string{"SelectStmt"}, + }, + }, + // Common Table Expression (CTE) + { + input: "WITH active_users AS (SELECT * FROM users WHERE active = true) SELECT * FROM active_users", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_Select}}, + CteNames: []string{"active_users"}, + FilterColumns: []*pg_query.SummaryResult_FilterColumn{{Column: "active"}}, + StatementTypes: []string{"SelectStmt"}, + }, + }, + // Schema-qualified table name + { + input: "SELECT * FROM public.users", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "public.users", SchemaName: "public", TableName: "users", Context: pg_query.SummaryResult_Select}}, + StatementTypes: []string{"SelectStmt"}, + }, + }, + // INSERT statement + { + input: "INSERT INTO users (name) VALUES ('test')", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_DML}}, + StatementTypes: []string{"InsertStmt", "SelectStmt"}, + }, + }, + // UPDATE statement + { + input: "UPDATE users SET name = 'test' WHERE id = 1", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_DML}}, + StatementTypes: []string{"UpdateStmt"}, + }, + }, + // DELETE statement + { + input: "DELETE FROM users WHERE id = 1", + truncateLimit: -1, + expected: &pg_query.SummaryResult{ + Tables: []*pg_query.SummaryResult_Table{{Name: "users", TableName: "users", Context: pg_query.SummaryResult_DML}}, + StatementTypes: []string{"DeleteStmt"}, + }, + }, +} + +func TestSummary(t *testing.T) { + for _, tt := range summaryTests { + t.Run(tt.input, func(t *testing.T) { + result, err := pg_query.Summary(tt.input, tt.truncateLimit) + if err != nil { + t.Fatalf("Summary() error: %s", err) + } + + if !proto.Equal(result, tt.expected) { + t.Errorf("Summary() mismatch:\n got: %v\n expected: %v", result, tt.expected) + } + }) + } +} + +func TestSummaryError(t *testing.T) { + _, err := pg_query.Summary("SELECT * FROM", -1) + if err == nil { + t.Error("expected error for invalid SQL") + } +} diff --git a/testdata/fingerprint.json b/testdata/fingerprint.json index a88ae39b..56661a31 100644 --- a/testdata/fingerprint.json +++ b/testdata/fingerprint.json @@ -91,8 +91,8 @@ }, { "input": "DEALLOCATE ALL", - "expectedParts": ["RawStmt", "stmt", "DeallocateStmt"], - "expectedHash": "d8a65a814fbc5f95" + "expectedParts": ["RawStmt", "stmt", "DeallocateStmt", "isall", "true" ], + "expectedHash": "2debfb8745df64a7" }, { "input": "EXPLAIN ANALYZE SELECT a", @@ -360,14 +360,15 @@ "expectedHash": "40991573eb85c5f6" }, { + "disableOnMsvc": true, "input": "INSERT INTO tbl VALUES (nextval($1),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14),(nextval($15),$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28),(nextval($29),$30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$40,$41,$42),(nextval($43),$44,$45,$46,$47,$48,$49,$50,$51,$52,$53,$54,$55,$56),(nextval($57),$58,$59,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$70),(nextval($71),$72,$73,$74,$75,$76,$77,$78,$79,$80,$81,$82,$83,$84),(nextval($85),$86,$87,$88,$89,$90,$91,$92,$93,$94,$95,$96,$97,$98),(nextval($99),$100,$101,$102,$103,$104,$105,$106,$107,$108,$109,$110,$111,$112),(nextval($113),$114,$115,$116,$117,$118,$119,$120,$121,$122,$123,$124,$125,$126),(nextval($127),$128,$129,$130,$131,$132,$133,$134,$135,$136,$137,$138,$139,$140),(nextval($141),$142,$143,$144,$145,$146,$147,$148,$149,$150,$151,$152,$153,$154),(nextval($155),$156,$157,$158,$159,$160,$161,$162,$163,$164,$165,$166,$167,$168),(nextval($169),$170,$171,$172,$173,$174,$175,$176,$177,$178,$179,$180,$181,$182),(nextval($183),$184,$185,$186,$187,$188,$189,$190,$191,$192,$193,$194,$195,$196),(nextval($197),$198,$199,$200,$201,$202,$203,$204,$205,$206,$207,$208,$209,$210),(nextval($211),$212,$213,$214,$215,$216,$217,$218,$219,$220,$221,$222,$223,$224),(nextval($225),$226,$227,$228,$229,$230,$231,$232,$233,$234,$235,$236,$237,$238),(nextval($239),$240,$241,$242,$243,$244,$245,$246,$247,$248,$249,$250,$251,$252),(nextval($253),$254,$255,$256,$257,$258,$259,$260,$261,$262,$263,$264,$265,$266),(nextval($267),$268,$269,$270,$271,$272,$273,$274,$275,$276,$277,$278,$279,$280),(nextval($281),$282,$283,$284,$285,$286,$287,$288,$289,$290,$291,$292,$293,$294),(nextval($295),$296,$297,$298,$299,$300,$301,$302,$303,$304,$305,$306,$307,$308),(nextval($309),$310,$311,$312,$313,$314,$315,$316,$317,$318,$319,$320,$321,$322),(nextval($323),$324,$325,$326,$327,$328,$329,$330,$331,$332,$333,$334,$335,$336),(nextval($337),$338,$339,$340,$341,$342,$343,$344,$345,$346,$347,$348,$349,$350),(nextval($351),$352,$353,$354,$355,$356,$357,$358,$359,$360,$361,$362,$363,$364),(nextval($365),$366,$367,$368,$369,$370,$371,$372,$373,$374,$375,$376,$377,$378),(nextval($379),$380,$381,$382,$383,$384,$385,$386,$387,$388,$389,$390,$391,$392),(nextval($393),$394,$395,$396,$397,$398,$399,$400,$401,$402,$403,$404,$405,$406),(nextval($407),$408,$409,$410,$411,$412,$413,$414,$415,$416,$417,$418,$419,$420),(nextval($421),$422,$423,$424,$425,$426,$427,$428,$429,$430,$431,$432,$433,$434),(nextval($435),$436,$437,$438,$439,$440,$441,$442,$443,$444,$445,$446,$447,$448),(nextval($449),$450,$451,$452,$453,$454,$455,$456,$457,$458,$459,$460,$461,$462),(nextval($463),$464,$465,$466,$467,$468,$469,$470,$471,$472,$473,$474,$475,$476),(nextval($477),$478,$479,$480,$481,$482,$483,$484,$485,$486,$487,$488,$489,$490),(nextval($491),$492,$493,$494,$495,$496,$497,$498,$499,$500,$501,$502,$503,$504),(nextval($505),$506,$507,$508,$509,$510,$511,$512,$513,$514,$515,$516,$517,$518),(nextval($519),$520,$521,$522,$523,$524,$525,$526,$527,$528,$529,$530,$531,$532),(nextval($533),$534,$535,$536,$537,$538,$539,$540,$541,$542,$543,$544,$545,$546),(nextval($547),$548,$549,$550,$551,$552,$553,$554,$555,$556,$557,$558,$559,$560),(nextval($561),$562,$563,$564,$565,$566,$567,$568,$569,$570,$571,$572,$573,$574),(nextval($575),$576,$577,$578,$579,$580,$581,$582,$583,$584,$585,$586,$587,$588),(nextval($589),$590,$591,$592,$593,$594,$595,$596,$597,$598,$599,$600,$601,$602),(nextval($603),$604,$605,$606,$607,$608,$609,$610,$611,$612,$613,$614,$615,$616),(nextval($617),$618,$619,$620,$621,$622,$623,$624,$625,$626,$627,$628,$629,$630),(nextval($631),$632,$633,$634,$635,$636,$637,$638,$639,$640,$641,$642,$643,$644),(nextval($645),$646,$647,$648,$649,$650,$651,$652,$653,$654,$655,$656,$657,$658),(nextval($659),$660,$661,$662,$663,$664,$665,$666,$667,$668,$669,$670,$671,$672),(nextval($673),$674,$675,$676,$677,$678,$679,$680,$681,$682,$683,$684,$685,$686),(nextval($687),$688,$689,$690,$691,$692,$693,$694,$695,$696,$697,$698,$699,$700),(nextval($701),$702,$703,$704,$705,$706,$707,$708,$709,$710,$711,$712,$713,$714),(nextval($715),$716,$717,$718,$719,$720,$721,$722,$723,$724,$725,$726,$727,$728),(nextval($729),$730,$731,$732,$733,$734,$735,$736,$737,$738,$739,$740,$741,$742),(nextval($743),$744,$745,$746,$747,$748,$749,$750,$751,$752,$753,$754,$755,$756),(nextval($757),$758,$759,$760,$761,$762,$763,$764,$765,$766,$767,$768,$769,$770),(nextval($771),$772,$773,$774,$775,$776,$777,$778,$779,$780,$781,$782,$783,$784),(nextval($785),$786,$787,$788,$789,$790,$791,$792,$793,$794,$795,$796,$797,$798),(nextval($799),$800,$801,$802,$803,$804,$805,$806,$807,$808,$809,$810,$811,$812),(nextval($813),$814,$815,$816,$817,$818,$819,$820,$821,$822,$823,$824,$825,$826),(nextval($827),$828,$829,$830,$831,$832,$833,$834,$835,$836,$837,$838,$839,$840),(nextval($841),$842,$843,$844,$845,$846,$847,$848,$849,$850,$851,$852,$853,$854),(nextval($855),$856,$857,$858,$859,$860,$861,$862,$863,$864,$865,$866,$867,$868),(nextval($869),$870,$871,$872,$873,$874,$875,$876,$877,$878,$879,$880,$881,$882),(nextval($883),$884,$885,$886,$887,$888,$889,$890,$891,$892,$893,$894,$895,$896),(nextval($897),$898,$899,$900,$901,$902,$903,$904,$905,$906,$907,$908,$909,$910),(nextval($911),$912,$913,$914,$915,$916,$917,$918,$919,$920,$921,$922,$923,$924),(nextval($925),$926,$927,$928,$929,$930,$931,$932,$933,$934,$935,$936,$937,$938),(nextval($939),$940,$941,$942,$943,$944,$945,$946,$947,$948,$949,$950,$951,$952),(nextval($953),$954,$955,$956,$957,$958,$959,$960,$961,$962,$963,$964,$965,$966),(nextval($967),$968,$969,$970,$971,$972,$973,$974,$975,$976,$977,$978,$979,$980),(nextval($981),$982,$983,$984,$985,$986,$987,$988,$989,$990,$991,$992,$993,$994),(nextval($995),$996,$997,$998,$999,$1000,$1001,$1002,$1003,$1004,$1005,$1006,$1007,$1008),(nextval($1009),$1010,$1011,$1012,$1013,$1014,$1015,$1016,$1017,$1018,$1019,$1020,$1021,$1022),(nextval($1023),$1024,$1025,$1026,$1027,$1028,$1029,$1030,$1031,$1032,$1033,$1034,$1035,$1036),(nextval($1037),$1038,$1039,$1040,$1041,$1042,$1043,$1044,$1045,$1046,$1047,$1048,$1049,$1050),(nextval($1051),$1052,$1053,$1054,$1055,$1056,$1057,$1058,$1059,$1060,$1061,$1062,$1063,$1064),(nextval($1065),$1066,$1067,$1068,$1069,$1070,$1071,$1072,$1073,$1074,$1075,$1076,$1077,$1078),(nextval($1079),$1080,$1081,$1082,$1083,$1084,$1085,$1086,$1087,$1088,$1089,$1090,$1091,$1092),(nextval($1093),$1094,$1095,$1096,$1097,$1098,$1099,$1100,$1101,$1102,$1103,$1104,$1105,$1106),(nextval($1107),$1108,$1109,$1110,$1111,$1112,$1113,$1114,$1115,$1116,$1117,$1118,$1119,$1120),(nextval($1121),$1122,$1123,$1124,$1125,$1126,$1127,$1128,$1129,$1130,$1131,$1132,$1133,$1134),(nextval($1135),$1136,$1137,$1138,$1139,$1140,$1141,$1142,$1143,$1144,$1145,$1146,$1147,$1148),(nextval($1149),$1150,$1151,$1152,$1153,$1154,$1155,$1156,$1157,$1158,$1159,$1160,$1161,$1162),(nextval($1163),$1164,$1165,$1166,$1167,$1168,$1169,$1170,$1171,$1172,$1173,$1174,$1175,$1176),(nextval($1177),$1178,$1179,$1180,$1181,$1182,$1183,$1184,$1185,$1186,$1187,$1188,$1189,$1190),(nextval($1191),$1192,$1193,$1194,$1195,$1196,$1197,$1198,$1199,$1200,$1201,$1202,$1203,$1204),(nextval($1205),$1206,$1207,$1208,$1209,$1210,$1211,$1212,$1213,$1214,$1215,$1216,$1217,$1218),(nextval($1219),$1220,$1221,$1222,$1223,$1224,$1225,$1226,$1227,$1228,$1229,$1230,$1231,$1232),(nextval($1233),$1234,$1235,$1236,$1237,$1238,$1239,$1240,$1241,$1242,$1243,$1244,$1245,$1246),(nextval($1247),$1248,$1249,$1250,$1251,$1252,$1253,$1254,$1255,$1256,$1257,$1258,$1259,$1260),(nextval($1261),$1262,$1263,$1264,$1265,$1266,$1267,$1268,$1269,$1270,$1271,$1272,$1273,$1274),(nextval($1275),$1276,$1277,$1278,$1279,$1280,$1281,$1282,$1283,$1284,$1285,$1286,$1287,$1288),(nextval($1289),$1290,$1291,$1292,$1293,$1294,$1295,$1296,$1297,$1298,$1299,$1300,$1301,$1302),(nextval($1303),$1304,$1305,$1306,$1307,$1308,$1309,$1310,$1311,$1312,$1313,$1314,$1315,$1316),(nextval($1317),$1318,$1319,$1320,$1321,$1322,$1323,$1324,$1325,$1326,$1327,$1328,$1329,$1330),(nextval($1331),$1332,$1333,$1334,$1335,$1336,$1337,$1338,$1339,$1340,$1341,$1342,$1343,$1344),(nextval($1345),$1346,$1347,$1348,$1349,$1350,$1351,$1352,$1353,$1354,$1355,$1356,$1357,$1358),(nextval($1359),$1360,$1361,$1362,$1363,$1364,$1365,$1366,$1367,$1368,$1369,$1370,$1371,$1372),(nextval($1373),$1374,$1375,$1376,$1377,$1378,$1379,$1380,$1381,$1382,$1383,$1384,$1385,$1386),(nextval($1387),$1388,$1389,$1390,$1391,$1392,$1393,$1394,$1395,$1396,$1397,$1398,$1399,$1400),(nextval($1401),$1402,$1403,$1404,$1405,$1406,$1407,$1408,$1409,$1410,$1411,$1412,$1413,$1414),(nextval($1415),$1416,$1417,$1418,$1419,$1420,$1421,$1422,$1423,$1424,$1425,$1426,$1427,$1428),(nextval($1429),$1430,$1431,$1432,$1433,$1434,$1435,$1436,$1437,$1438,$1439,$1440,$1441,$1442),(nextval($1443),$1444,$1445,$1446,$1447,$1448,$1449,$1450,$1451,$1452,$1453,$1454,$1455,$1456),(nextval($1457),$1458,$1459,$1460,$1461,$1462,$1463,$1464,$1465,$1466,$1467,$1468,$1469,$1470),(nextval($1471),$1472,$1473,$1474,$1475,$1476,$1477,$1478,$1479,$1480,$1481,$1482,$1483,$1484),(nextval($1485),$1486,$1487,$1488,$1489,$1490,$1491,$1492,$1493,$1494,$1495,$1496,$1497,$1498),(nextval($1499),$1500,$1501,$1502,$1503,$1504,$1505,$1506,$1507,$1508,$1509,$1510,$1511,$1512),(nextval($1513),$1514,$1515,$1516,$1517,$1518,$1519,$1520,$1521,$1522,$1523,$1524,$1525,$1526),(nextval($1527),$1528,$1529,$1530,$1531,$1532,$1533,$1534,$1535,$1536,$1537,$1538,$1539,$1540),(nextval($1541),$1542,$1543,$1544,$1545,$1546,$1547,$1548,$1549,$1550,$1551,$1552,$1553,$1554),(nextval($1555),$1556,$1557,$1558,$1559,$1560,$1561,$1562,$1563,$1564,$1565,$1566,$1567,$1568),(nextval($1569),$1570,$1571,$1572,$1573,$1574,$1575,$1576,$1577,$1578,$1579,$1580,$1581,$1582),(nextval($1583),$1584,$1585,$1586,$1587,$1588,$1589,$1590,$1591,$1592,$1593,$1594,$1595,$1596),(nextval($1597),$1598,$1599,$1600,$1601,$1602,$1603,$1604,$1605,$1606,$1607,$1608,$1609,$1610),(nextval($1611),$1612,$1613,$1614,$1615,$1616,$1617,$1618,$1619,$1620,$1621,$1622,$1623,$1624),(nextval($1625),$1626,$1627,$1628,$1629,$1630,$1631,$1632,$1633,$1634,$1635,$1636,$1637,$1638),(nextval($1639),$1640,$1641,$1642,$1643,$1644,$1645,$1646,$1647,$1648,$1649,$1650,$1651,$1652),(nextval($1653),$1654,$1655,$1656,$1657,$1658,$1659,$1660,$1661,$1662,$1663,$1664,$1665,$1666),(nextval($1667),$1668,$1669,$1670,$1671,$1672,$1673,$1674,$1675,$1676,$1677,$1678,$1679,$1680),(nextval($1681),$1682,$1683,$1684,$1685,$1686,$1687,$1688,$1689,$1690,$1691,$1692,$1693,$1694),(nextval($1695),$1696,$1697,$1698,$1699,$1700,$1701,$1702,$1703,$1704,$1705,$1706,$1707,$1708),(nextval($1709),$1710,$1711,$1712,$1713,$1714,$1715,$1716,$1717,$1718,$1719,$1720,$1721,$1722),(nextval($1723),$1724,$1725,$1726,$1727,$1728,$1729,$1730,$1731,$1732,$1733,$1734,$1735,$1736),(nextval($1737),$1738,$1739,$1740,$1741,$1742,$1743,$1744,$1745,$1746,$1747,$1748,$1749,$1750),(nextval($1751),$1752,$1753,$1754,$1755,$1756,$1757,$1758,$1759,$1760,$1761,$1762,$1763,$1764),(nextval($1765),$1766,$1767,$1768,$1769,$1770,$1771,$1772,$1773,$1774,$1775,$1776,$1777,$1778),(nextval($1779),$1780,$1781,$1782,$1783,$1784,$1785,$1786,$1787,$1788,$1789,$1790,$1791,$1792),(nextval($1793),$1794,$1795,$1796,$1797,$1798,$1799,$1800,$1801,$1802,$1803,$1804,$1805,$1806),(nextval($1807),$1808,$1809,$1810,$1811,$1812,$1813,$1814,$1815,$1816,$1817,$1818,$1819,$1820),(nextval($1821),$1822,$1823,$1824,$1825,$1826,$1827,$1828,$1829,$1830,$1831,$1832,$1833,$1834),(nextval($1835),$1836,$1837,$1838,$1839,$1840,$1841,$1842,$1843,$1844,$1845,$1846,$1847,$1848),(nextval($1849),$1850,$1851,$1852,$1853,$1854,$1855,$1856,$1857,$1858,$1859,$1860,$1861,$1862),(nextval($1863),$1864,$1865,$1866,$1867,$1868,$1869,$1870,$1871,$1872,$1873,$1874,$1875,$1876),(nextval($1877),$1878,$1879,$1880,$1881,$1882,$1883,$1884,$1885,$1886,$1887,$1888,$1889,$1890),(nextval($1891),$1892,$1893,$1894,$1895,$1896,$1897,$1898,$1899,$1900,$1901,$1902,$1903,$1904),(nextval($1905),$1906,$1907,$1908,$1909,$1910,$1911,$1912,$1913,$1914,$1915,$1916,$1917,$1918),(nextval($1919),$1920,$1921,$1922,$1923,$1924,$1925,$1926,$1927,$1928,$1929,$1930,$1931,$1932),(nextval($1933),$1934,$1935,$1936,$1937,$1938,$1939,$1940,$1941,$1942,$1943,$1944,$1945,$1946),(nextval($1947),$1948,$1949,$1950,$1951,$1952,$1953,$1954,$1955,$1956,$1957,$1958,$1959,$1960),(nextval($1961),$1962,$1963,$1964,$1965,$1966,$1967,$1968,$1969,$1970,$1971,$1972,$1973,$1974),(nextval($1975),$1976,$1977,$1978,$1979,$1980,$1981,$1982,$1983,$1984,$1985,$1986,$1987,$1988),(nextval($1989),$1990,$1991,$1992,$1993,$1994,$1995,$1996,$1997,$1998,$1999,$2000,$2001,$2002),(nextval($2003),$2004,$2005,$2006,$2007,$2008,$2009,$2010,$2011,$2012,$2013,$2014,$2015,$2016),(nextval($2017),$2018,$2019,$2020,$2021,$2022,$2023,$2024,$2025,$2026,$2027,$2028,$2029,$2030),(nextval($2031),$2032,$2033,$2034,$2035,$2036,$2037,$2038,$2039,$2040,$2041,$2042,$2043,$2044),(nextval($2045),$2046,$2047,$2048,$2049,$2050,$2051,$2052,$2053,$2054,$2055,$2056,$2057,$2058),(nextval($2059),$2060,$2061,$2062,$2063,$2064,$2065,$2066,$2067,$2068,$2069,$2070,$2071,$2072),(nextval($2073),$2074,$2075,$2076,$2077,$2078,$2079,$2080,$2081,$2082,$2083,$2084,$2085,$2086),(nextval($2087),$2088,$2089,$2090,$2091,$2092,$2093,$2094,$2095,$2096,$2097,$2098,$2099,$2100),(nextval($2101),$2102,$2103,$2104,$2105,$2106,$2107,$2108,$2109,$2110,$2111,$2112,$2113,$2114),(nextval($2115),$2116,$2117,$2118,$2119,$2120,$2121,$2122,$2123,$2124,$2125,$2126,$2127,$2128),(nextval($2129),$2130,$2131,$2132,$2133,$2134,$2135,$2136,$2137,$2138,$2139,$2140,$2141,$2142),(nextval($2143),$2144,$2145,$2146,$2147,$2148,$2149,$2150,$2151,$2152,$2153,$2154,$2155,$2156),(nextval($2157),$2158,$2159,$2160,$2161,$2162,$2163,$2164,$2165,$2166,$2167,$2168,$2169,$2170),(nextval($2171),$2172,$2173,$2174,$2175,$2176,$2177,$2178,$2179,$2180,$2181,$2182,$2183,$2184),(nextval($2185),$2186,$2187,$2188,$2189,$2190,$2191,$2192,$2193,$2194,$2195,$2196,$2197,$2198),(nextval($2199),$2200,$2201,$2202,$2203,$2204,$2205,$2206,$2207,$2208,$2209,$2210,$2211,$2212),(nextval($2213),$2214,$2215,$2216,$2217,$2218,$2219,$2220,$2221,$2222,$2223,$2224,$2225,$2226),(nextval($2227),$2228,$2229,$2230,$2231,$2232,$2233,$2234,$2235,$2236,$2237,$2238,$2239,$2240),(nextval($2241),$2242,$2243,$2244,$2245,$2246,$2247,$2248,$2249,$2250,$2251,$2252,$2253,$2254),(nextval($2255),$2256,$2257,$2258,$2259,$2260,$2261,$2262,$2263,$2264,$2265,$2266,$2267,$2268),(nextval($2269),$2270,$2271,$2272,$2273,$2274,$2275,$2276,$2277,$2278,$2279,$2280,$2281,$2282),(nextval($2283),$2284,$2285,$2286,$2287,$2288,$2289,$2290,$2291,$2292,$2293,$2294,$2295,$2296),(nextval($2297),$2298,$2299,$2300,$2301,$2302,$2303,$2304,$2305,$2306,$2307,$2308,$2309,$2310),(nextval($2311),$2312,$2313,$2314,$2315,$2316,$2317,$2318,$2319,$2320,$2321,$2322,$2323,$2324),(nextval($2325),$2326,$2327,$2328,$2329,$2330,$2331,$2332,$2333,$2334,$2335,$2336,$2337,$2338),(nextval($2339),$2340,$2341,$2342,$2343,$2344,$2345,$2346,$2347,$2348,$2349,$2350,$2351,$2352),(nextval($2353),$2354,$2355,$2356,$2357,$2358,$2359,$2360,$2361,$2362,$2363,$2364,$2365,$2366),(nextval($2367),$2368,$2369,$2370,$2371,$2372,$2373,$2374,$2375,$2376,$2377,$2378,$2379,$2380),(nextval($2381),$2382,$2383,$2384,$2385,$2386,$2387,$2388,$2389,$2390,$2391,$2392,$2393,$2394),(nextval($2395),$2396,$2397,$2398,$2399,$2400,$2401,$2402,$2403,$2404,$2405,$2406,$2407,$2408),(nextval($2409),$2410,$2411,$2412,$2413,$2414,$2415,$2416,$2417,$2418,$2419,$2420,$2421,$2422),(nextval($2423),$2424,$2425,$2426,$2427,$2428,$2429,$2430,$2431,$2432,$2433,$2434,$2435,$2436),(nextval($2437),$2438,$2439,$2440,$2441,$2442,$2443,$2444,$2445,$2446,$2447,$2448,$2449,$2450),(nextval($2451),$2452,$2453,$2454,$2455,$2456,$2457,$2458,$2459,$2460,$2461,$2462,$2463,$2464),(nextval($2465),$2466,$2467,$2468,$2469,$2470,$2471,$2472,$2473,$2474,$2475,$2476,$2477,$2478),(nextval($2479),$2480,$2481,$2482,$2483,$2484,$2485,$2486,$2487,$2488,$2489,$2490,$2491,$2492),(nextval($2493),$2494,$2495,$2496,$2497,$2498,$2499,$2500,$2501,$2502,$2503,$2504,$2505,$2506),(nextval($2507),$2508,$2509,$2510,$2511,$2512,$2513,$2514,$2515,$2516,$2517,$2518,$2519,$2520),(nextval($2521),$2522,$2523,$2524,$2525,$2526,$2527,$2528,$2529,$2530,$2531,$2532,$2533,$2534),(nextval($2535),$2536,$2537,$2538,$2539,$2540,$2541,$2542,$2543,$2544,$2545,$2546,$2547,$2548),(nextval($2549),$2550,$2551,$2552,$2553,$2554,$2555,$2556,$2557,$2558,$2559,$2560,$2561,$2562),(nextval($2563),$2564,$2565,$2566,$2567,$2568,$2569,$2570,$2571,$2572,$2573,$2574,$2575,$2576),(nextval($2577),$2578,$2579,$2580,$2581,$2582,$2583,$2584,$2585,$2586,$2587,$2588,$2589,$2590),(nextval($2591),$2592,$2593,$2594,$2595,$2596,$2597,$2598,$2599,$2600,$2601,$2602,$2603,$2604),(nextval($2605),$2606,$2607,$2608,$2609,$2610,$2611,$2612,$2613,$2614,$2615,$2616,$2617,$2618),(nextval($2619),$2620,$2621,$2622,$2623,$2624,$2625,$2626,$2627,$2628,$2629,$2630,$2631,$2632),(nextval($2633),$2634,$2635,$2636,$2637,$2638,$2639,$2640,$2641,$2642,$2643,$2644,$2645,$2646),(nextval($2647),$2648,$2649,$2650,$2651,$2652,$2653,$2654,$2655,$2656,$2657,$2658,$2659,$2660),(nextval($2661),$2662,$2663,$2664,$2665,$2666,$2667,$2668,$2669,$2670,$2671,$2672,$2673,$2674),(nextval($2675),$2676,$2677,$2678,$2679,$2680,$2681,$2682,$2683,$2684,$2685,$2686,$2687,$2688),(nextval($2689),$2690,$2691,$2692,$2693,$2694,$2695,$2696,$2697,$2698,$2699,$2700,$2701,$2702),(nextval($2703),$2704,$2705,$2706,$2707,$2708,$2709,$2710,$2711,$2712,$2713,$2714,$2715,$2716),(nextval($2717),$2718,$2719,$2720,$2721,$2722,$2723,$2724,$2725,$2726,$2727,$2728,$2729,$2730),(nextval($2731),$2732,$2733,$2734,$2735,$2736,$2737,$2738,$2739,$2740,$2741,$2742,$2743,$2744),(nextval($2745),$2746,$2747,$2748,$2749,$2750,$2751,$2752,$2753,$2754,$2755,$2756,$2757,$2758),(nextval($2759),$2760,$2761,$2762,$2763,$2764,$2765,$2766,$2767,$2768,$2769,$2770,$2771,$2772),(nextval($2773),$2774,$2775,$2776,$2777,$2778,$2779,$2780,$2781,$2782,$2783,$2784,$2785,$2786),(nextval($2787),$2788,$2789,$2790,$2791,$2792,$2793,$2794,$2795,$2796,$2797,$2798,$2799,$2800),(nextval($2801),$2802,$2803,$2804,$2805,$2806,$2807,$2808,$2809,$2810,$2811,$2812,$2813,$2814),(nextval($2815),$2816,$2817,$2818,$2819,$2820,$2821,$2822,$2823,$2824,$2825,$2826,$2827,$2828),(nextval($2829),$2830,$2831,$2832,$2833,$2834,$2835,$2836,$2837,$2838,$2839,$2840,$2841,$2842),(nextval($2843),$2844,$2845,$2846,$2847,$2848,$2849,$2850,$2851,$2852,$2853,$2854,$2855,$2856),(nextval($2857),$2858,$2859,$2860,$2861,$2862,$2863,$2864,$2865,$2866,$2867,$2868,$2869,$2870),(nextval($2871),$2872,$2873,$2874,$2875,$2876,$2877,$2878,$2879,$2880,$2881,$2882,$2883,$2884),(nextval($2885),$2886,$2887,$2888,$2889,$2890,$2891,$2892,$2893,$2894,$2895,$2896,$2897,$2898),(nextval($2899),$2900,$2901,$2902,$2903,$2904,$2905,$2906,$2907,$2908,$2909,$2910,$2911,$2912),(nextval($2913),$2914,$2915,$2916,$2917,$2918,$2919,$2920,$2921,$2922,$2923,$2924,$2925,$2926),(nextval($2927),$2928,$2929,$2930,$2931,$2932,$2933,$2934,$2935,$2936,$2937,$2938,$2939,$2940),(nextval($2941),$2942,$2943,$2944,$2945,$2946,$2947,$2948,$2949,$2950,$2951,$2952,$2953,$2954),(nextval($2955),$2956,$2957,$2958,$2959,$2960,$2961,$2962,$2963,$2964,$2965,$2966,$2967,$2968),(nextval($2969),$2970,$2971,$2972,$2973,$2974,$2975,$2976,$2977,$2978,$2979,$2980,$2981,$2982),(nextval($2983),$2984,$2985,$2986,$2987,$2988,$2989,$2990,$2991,$2992,$2993,$2994,$2995,$2996),(nextval($2997),$2998,$2999,$3000,$3001,$3002,$3003,$3004,$3005,$3006,$3007,$3008,$3009,$3010),(nextval($3011),$3012,$3013,$3014,$3015,$3016,$3017,$3018,$3019,$3020,$3021,$3022,$3023,$3024),(nextval($3025),$3026,$3027,$3028,$3029,$3030,$3031,$3032,$3033,$3034,$3035,$3036,$3037,$3038),(nextval($3039),$3040,$3041,$3042,$3043,$3044,$3045,$3046,$3047,$3048,$3049,$3050,$3051,$3052),(nextval($3053),$3054,$3055,$3056,$3057,$3058,$3059,$3060,$3061,$3062,$3063,$3064,$3065,$3066),(nextval($3067),$3068,$3069,$3070,$3071,$3072,$3073,$3074,$3075,$3076,$3077,$3078,$3079,$3080),(nextval($3081),$3082,$3083,$3084,$3085,$3086,$3087,$3088,$3089,$3090,$3091,$3092,$3093,$3094),(nextval($3095),$3096,$3097,$3098,$3099,$3100,$3101,$3102,$3103,$3104,$3105,$3106,$3107,$3108),(nextval($3109),$3110,$3111,$3112,$3113,$3114,$3115,$3116,$3117,$3118,$3119,$3120,$3121,$3122),(nextval($3123),$3124,$3125,$3126,$3127,$3128,$3129,$3130,$3131,$3132,$3133,$3134,$3135,$3136),(nextval($3137),$3138,$3139,$3140,$3141,$3142,$3143,$3144,$3145,$3146,$3147,$3148,$3149,$3150),(nextval($3151),$3152,$3153,$3154,$3155,$3156,$3157,$3158,$3159,$3160,$3161,$3162,$3163,$3164),(nextval($3165),$3166,$3167,$3168,$3169,$3170,$3171,$3172,$3173,$3174,$3175,$3176,$3177,$3178),(nextval($3179),$3180,$3181,$3182,$3183,$3184,$3185,$3186,$3187,$3188,$3189,$3190,$3191,$3192),(nextval($3193),$3194,$3195,$3196,$3197,$3198,$3199,$3200,$3201,$3202,$3203,$3204,$3205,$3206),(nextval($3207),$3208,$3209,$3210,$3211,$3212,$3213,$3214,$3215,$3216,$3217,$3218,$3219,$3220),(nextval($3221),$3222,$3223,$3224,$3225,$3226,$3227,$3228,$3229,$3230,$3231,$3232,$3233,$3234),(nextval($3235),$3236,$3237,$3238,$3239,$3240,$3241,$3242,$3243,$3244,$3245,$3246,$3247,$3248),(nextval($3249),$3250,$3251,$3252,$3253,$3254,$3255,$3256,$3257,$3258,$3259,$3260,$3261,$3262),(nextval($3263),$3264,$3265,$3266,$3267,$3268,$3269,$3270,$3271,$3272,$3273,$3274,$3275,$3276),(nextval($3277),$3278,$3279,$3280,$3281,$3282,$3283,$3284,$3285,$3286,$3287,$3288,$3289,$3290),(nextval($3291),$3292,$3293,$3294,$3295,$3296,$3297,$3298,$3299,$3300,$3301,$3302,$3303,$3304),(nextval($3305),$3306,$3307,$3308,$3309,$3310,$3311,$3312,$3313,$3314,$3315,$3316,$3317,$3318),(nextval($3319),$3320,$3321,$3322,$3323,$3324,$3325,$3326,$3327,$3328,$3329,$3330,$3331,$3332),(nextval($3333),$3334,$3335,$3336,$3337,$3338,$3339,$3340,$3341,$3342,$3343,$3344,$3345,$3346),(nextval($3347),$3348,$3349,$3350,$3351,$3352,$3353,$3354,$3355,$3356,$3357,$3358,$3359,$3360),(nextval($3361),$3362,$3363,$3364,$3365,$3366,$3367,$3368,$3369,$3370,$3371,$3372,$3373,$3374),(nextval($3375),$3376,$3377,$3378,$3379,$3380,$3381,$3382,$3383,$3384,$3385,$3386,$3387,$3388),(nextval($3389),$3390,$3391,$3392,$3393,$3394,$3395,$3396,$3397,$3398,$3399,$3400,$3401,$3402),(nextval($3403),$3404,$3405,$3406,$3407,$3408,$3409,$3410,$3411,$3412,$3413,$3414,$3415,$3416),(nextval($3417),$3418,$3419,$3420,$3421,$3422,$3423,$3424,$3425,$3426,$3427,$3428,$3429,$3430),(nextval($3431),$3432,$3433,$3434,$3435,$3436,$3437,$3438,$3439,$3440,$3441,$3442,$3443,$3444),(nextval($3445),$3446,$3447,$3448,$3449,$3450,$3451,$3452,$3453,$3454,$3455,$3456,$3457,$3458),(nextval($3459),$3460,$3461,$3462,$3463,$3464,$3465,$3466,$3467,$3468,$3469,$3470,$3471,$3472),(nextval($3473),$3474,$3475,$3476,$3477,$3478,$3479,$3480,$3481,$3482,$3483,$3484,$3485,$3486),(nextval($3487),$3488,$3489,$3490,$3491,$3492,$3493,$3494,$3495,$3496,$3497,$3498,$3499,$3500),(nextval($3501),$3502,$3503,$3504,$3505,$3506,$3507,$3508,$3509,$3510,$3511,$3512,$3513,$3514),(nextval($3515),$3516,$3517,$3518,$3519,$3520,$3521,$3522,$3523,$3524,$3525,$3526,$3527,$3528),(nextval($3529),$3530,$3531,$3532,$3533,$3534,$3535,$3536,$3537,$3538,$3539,$3540,$3541,$3542),(nextval($3543),$3544,$3545,$3546,$3547,$3548,$3549,$3550,$3551,$3552,$3553,$3554,$3555,$3556),(nextval($3557),$3558,$3559,$3560,$3561,$3562,$3563,$3564,$3565,$3566,$3567,$3568,$3569,$3570),(nextval($3571),$3572,$3573,$3574,$3575,$3576,$3577,$3578,$3579,$3580,$3581,$3582,$3583,$3584),(nextval($3585),$3586,$3587,$3588,$3589,$3590,$3591,$3592,$3593,$3594,$3595,$3596,$3597,$3598),(nextval($3599),$3600,$3601,$3602,$3603,$3604,$3605,$3606,$3607,$3608,$3609,$3610,$3611,$3612),(nextval($3613),$3614,$3615,$3616,$3617,$3618,$3619,$3620,$3621,$3622,$3623,$3624,$3625,$3626),(nextval($3627),$3628,$3629,$3630,$3631,$3632,$3633,$3634,$3635,$3636,$3637,$3638,$3639,$3640),(nextval($3641),$3642,$3643,$3644,$3645,$3646,$3647,$3648,$3649,$3650,$3651,$3652,$3653,$3654),(nextval($3655),$3656,$3657,$3658,$3659,$3660,$3661,$3662,$3663,$3664,$3665,$3666,$3667,$3668),(nextval($3669),$3670,$3671,$3672,$3673,$3674,$3675,$3676,$3677,$3678,$3679,$3680,$3681,$3682),(nextval($3683),$3684,$3685,$3686,$3687,$3688,$3689,$3690,$3691,$3692,$3693,$3694,$3695,$3696),(nextval($3697),$3698,$3699,$3700,$3701,$3702,$3703,$3704,$3705,$3706,$3707,$3708,$3709,$3710),(nextval($3711),$3712,$3713,$3714,$3715,$3716,$3717,$3718,$3719,$3720,$3721,$3722,$3723,$3724),(nextval($3725),$3726,$3727,$3728,$3729,$3730,$3731,$3732,$3733,$3734,$3735,$3736,$3737,$3738),(nextval($3739),$3740,$3741,$3742,$3743,$3744,$3745,$3746,$3747,$3748,$3749,$3750,$3751,$3752),(nextval($3753),$3754,$3755,$3756,$3757,$3758,$3759,$3760,$3761,$3762,$3763,$3764,$3765,$3766),(nextval($3767),$3768,$3769,$3770,$3771,$3772,$3773,$3774,$3775,$3776,$3777,$3778,$3779,$3780),(nextval($3781),$3782,$3783,$3784,$3785,$3786,$3787,$3788,$3789,$3790,$3791,$3792,$3793,$3794),(nextval($3795),$3796,$3797,$3798,$3799,$3800,$3801,$3802,$3803,$3804,$3805,$3806,$3807,$3808),(nextval($3809),$3810,$3811,$3812,$3813,$3814,$3815,$3816,$3817,$3818,$3819,$3820,$3821,$3822),(nextval($3823),$3824,$3825,$3826,$3827,$3828,$3829,$3830,$3831,$3832,$3833,$3834,$3835,$3836),(nextval($3837),$3838,$3839,$3840,$3841,$3842,$3843,$3844,$3845,$3846,$3847,$3848,$3849,$3850),(nextval($3851),$3852,$3853,$3854,$3855,$3856,$3857,$3858,$3859,$3860,$3861,$3862,$3863,$3864),(nextval($3865),$3866,$3867,$3868,$3869,$3870,$3871,$3872,$3873,$3874,$3875,$3876,$3877,$3878),(nextval($3879),$3880,$3881,$3882,$3883,$3884,$3885,$3886,$3887,$3888,$3889,$3890,$3891,$3892),(nextval($3893),$3894,$3895,$3896,$3897,$3898,$3899,$3900,$3901,$3902,$3903,$3904,$3905,$3906),(nextval($3907),$3908,$3909,$3910,$3911,$3912,$3913,$3914,$3915,$3916,$3917,$3918,$3919,$3920),(nextval($3921),$3922,$3923,$3924,$3925,$3926,$3927,$3928,$3929,$3930,$3931,$3932,$3933,$3934),(nextval($3935),$3936,$3937,$3938,$3939,$3940,$3941,$3942,$3943,$3944,$3945,$3946,$3947,$3948),(nextval($3949),$3950,$3951,$3952,$3953,$3954,$3955,$3956,$3957,$3958,$3959,$3960,$3961,$3962),(nextval($3963),$3964,$3965,$3966,$3967,$3968,$3969,$3970,$3971,$3972,$3973,$3974,$3975,$3976),(nextval($3977),$3978,$3979,$3980,$3981,$3982,$3983,$3984,$3985,$3986,$3987,$3988,$3989,$3990),(nextval($3991),$3992,$3993,$3994,$3995,$3996,$3997,$3998,$3999,$4000,$4001,$4002,$4003,$4004),(nextval($4005),$4006,$4007,$4008,$4009,$4010,$4011,$4012,$4013,$4014,$4015,$4016,$4017,$4018),(nextval($4019),$4020,$4021,$4022,$4023,$4024,$4025,$4026,$4027,$4028,$4029,$4030,$4031,$4032),(nextval($4033),$4034,$4035,$4036,$4037,$4038,$4039,$4040,$4041,$4042,$4043,$4044,$4045,$4046),(nextval($4047),$4048,$4049,$4050,$4051,$4052,$4053,$4054,$4055,$4056,$4057,$4058,$4059,$4060),(nextval($4061),$4062,$4063,$4064,$4065,$4066,$4067,$4068,$4069,$4070,$4071,$4072,$4073,$4074),(nextval($4075),$4076,$4077,$4078,$4079,$4080,$4081,$4082,$4083,$4084,$4085,$4086,$4087,$4088),(nextval($4089),$4090,$4091,$4092,$4093,$4094,$4095,$4096,$4097,$4098,$4099,$4100,$4101,$4102),(nextval($4103),$4104,$4105,$4106,$4107,$4108,$4109,$4110,$4111,$4112,$4113,$4114,$4115,$4116),(nextval($4117),$4118,$4119,$4120,$4121,$4122,$4123,$4124,$4125,$4126,$4127,$4128,$4129,$4130),(nextval($4131),$4132,$4133,$4134,$4135,$4136,$4137,$4138,$4139,$4140,$4141,$4142,$4143,$4144),(nextval($4145),$4146,$4147,$4148,$4149,$4150,$4151,$4152,$4153,$4154,$4155,$4156,$4157,$4158),(nextval($4159),$4160,$4161,$4162,$4163,$4164,$4165,$4166,$4167,$4168,$4169,$4170,$4171,$4172),(nextval($4173),$4174,$4175,$4176,$4177,$4178,$4179,$4180,$4181,$4182,$4183,$4184,$4185,$4186),(nextval($4187),$4188,$4189,$4190,$4191,$4192,$4193,$4194,$4195,$4196,$4197,$4198,$4199,$4200),(nextval($4201),$4202,$4203,$4204,$4205,$4206,$4207,$4208,$4209,$4210,$4211,$4212,$4213,$4214),(nextval($4215),$4216,$4217,$4218,$4219,$4220,$4221,$4222,$4223,$4224,$4225,$4226,$4227,$4228),(nextval($4229),$4230,$4231,$4232,$4233,$4234,$4235,$4236,$4237,$4238,$4239,$4240,$4241,$4242),(nextval($4243),$4244,$4245,$4246,$4247,$4248,$4249,$4250,$4251,$4252,$4253,$4254,$4255,$4256),(nextval($4257),$4258,$4259,$4260,$4261,$4262,$4263,$4264,$4265,$4266,$4267,$4268,$4269,$4270),(nextval($4271),$4272,$4273,$4274,$4275,$4276,$4277,$4278,$4279,$4280,$4281,$4282,$4283,$4284),(nextval($4285),$4286,$4287,$4288,$4289,$4290,$4291,$4292,$4293,$4294,$4295,$4296,$4297,$4298),(nextval($4299),$4300,$4301,$4302,$4303,$4304,$4305,$4306,$4307,$4308,$4309,$4310,$4311,$4312),(nextval($4313),$4314,$4315,$4316,$4317,$4318,$4319,$4320,$4321,$4322,$4323,$4324,$4325,$4326),(nextval($4327),$4328,$4329,$4330,$4331,$4332,$4333,$4334,$4335,$4336,$4337,$4338,$4339,$4340),(nextval($4341),$4342,$4343,$4344,$4345,$4346,$4347,$4348,$4349,$4350,$4351,$4352,$4353,$4354),(nextval($4355),$4356,$4357,$4358,$4359,$4360,$4361,$4362,$4363,$4364,$4365,$4366,$4367,$4368),(nextval($4369),$4370,$4371,$4372,$4373,$4374,$4375,$4376,$4377,$4378,$4379,$4380,$4381,$4382),(nextval($4383),$4384,$4385,$4386,$4387,$4388,$4389,$4390,$4391,$4392,$4393,$4394,$4395,$4396),(nextval($4397),$4398,$4399,$4400,$4401,$4402,$4403,$4404,$4405,$4406,$4407,$4408,$4409,$4410),(nextval($4411),$4412,$4413,$4414,$4415,$4416,$4417,$4418,$4419,$4420,$4421,$4422,$4423,$4424),(nextval($4425),$4426,$4427,$4428,$4429,$4430,$4431,$4432,$4433,$4434,$4435,$4436,$4437,$4438),(nextval($4439),$4440,$4441,$4442,$4443,$4444,$4445,$4446,$4447,$4448,$4449,$4450,$4451,$4452),(nextval($4453),$4454,$4455,$4456,$4457,$4458,$4459,$4460,$4461,$4462,$4463,$4464,$4465,$4466),(nextval($4467),$4468,$4469,$4470,$4471,$4472,$4473,$4474,$4475,$4476,$4477,$4478,$4479,$4480),(nextval($4481),$4482,$4483,$4484,$4485,$4486,$4487,$4488,$4489,$4490,$4491,$4492,$4493,$4494),(nextval($4495),$4496,$4497,$4498,$4499,$4500,$4501,$4502,$4503,$4504,$4505,$4506,$4507,$4508),(nextval($4509),$4510,$4511,$4512,$4513,$4514,$4515,$4516,$4517,$4518,$4519,$4520,$4521,$4522),(nextval($4523),$4524,$4525,$4526,$4527,$4528,$4529,$4530,$4531,$4532,$4533,$4534,$4535,$4536),(nextval($4537),$4538,$4539,$4540,$4541,$4542,$4543,$4544,$4545,$4546,$4547,$4548,$4549,$4550),(nextval($4551),$4552,$4553,$4554,$4555,$4556,$4557,$4558,$4559,$4560,$4561,$4562,$4563,$4564),(nextval($4565),$4566,$4567,$4568,$4569,$4570,$4571,$4572,$4573,$4574,$4575,$4576,$4577,$4578),(nextval($4579),$4580,$4581,$4582,$4583,$4584,$4585,$4586,$4587,$4588,$4589,$4590,$4591,$4592),(nextval($4593),$4594,$4595,$4596,$4597,$4598,$4599,$4600,$4601,$4602,$4603,$4604,$4605,$4606),(nextval($4607),$4608,$4609,$4610,$4611,$4612,$4613,$4614,$4615,$4616,$4617,$4618,$4619,$4620),(nextval($4621),$4622,$4623,$4624,$4625,$4626,$4627,$4628,$4629,$4630,$4631,$4632,$4633,$4634),(nextval($4635),$4636,$4637,$4638,$4639,$4640,$4641,$4642,$4643,$4644,$4645,$4646,$4647,$4648),(nextval($4649),$4650,$4651,$4652,$4653,$4654,$4655,$4656,$4657,$4658,$4659,$4660,$4661,$4662),(nextval($4663),$4664,$4665,$4666,$4667,$4668,$4669,$4670,$4671,$4672,$4673,$4674,$4675,$4676),(nextval($4677),$4678,$4679,$4680,$4681,$4682,$4683,$4684,$4685,$4686,$4687,$4688,$4689,$4690),(nextval($4691),$4692,$4693,$4694,$4695,$4696,$4697,$4698,$4699,$4700,$4701,$4702,$4703,$4704),(nextval($4705),$4706,$4707,$4708,$4709,$4710,$4711,$4712,$4713,$4714,$4715,$4716,$4717,$4718),(nextval($4719),$4720,$4721,$4722,$4723,$4724,$4725,$4726,$4727,$4728,$4729,$4730,$4731,$4732),(nextval($4733),$4734,$4735,$4736,$4737,$4738,$4739,$4740,$4741,$4742,$4743,$4744,$4745,$4746),(nextval($4747),$4748,$4749,$4750,$4751,$4752,$4753,$4754,$4755,$4756,$4757,$4758,$4759,$4760),(nextval($4761),$4762,$4763,$4764,$4765,$4766,$4767,$4768,$4769,$4770,$4771,$4772,$4773,$4774),(nextval($4775),$4776,$4777,$4778,$4779,$4780,$4781,$4782,$4783,$4784,$4785,$4786,$4787,$4788),(nextval($4789),$4790,$4791,$4792,$4793,$4794,$4795,$4796,$4797,$4798,$4799,$4800,$4801,$4802),(nextval($4803),$4804,$4805,$4806,$4807,$4808,$4809,$4810,$4811,$4812,$4813,$4814,$4815,$4816),(nextval($4817),$4818,$4819,$4820,$4821,$4822,$4823,$4824,$4825,$4826,$4827,$4828,$4829,$4830),(nextval($4831),$4832,$4833,$4834,$4835,$4836,$4837,$4838,$4839,$4840,$4841,$4842,$4843,$4844),(nextval($4845),$4846,$4847,$4848,$4849,$4850,$4851,$4852,$4853,$4854,$4855,$4856,$4857,$4858),(nextval($4859),$4860,$4861,$4862,$4863,$4864,$4865,$4866,$4867,$4868,$4869,$4870,$4871,$4872),(nextval($4873),$4874,$4875,$4876,$4877,$4878,$4879,$4880,$4881,$4882,$4883,$4884,$4885,$4886),(nextval($4887),$4888,$4889,$4890,$4891,$4892,$4893,$4894,$4895,$4896,$4897,$4898,$4899,$4900),(nextval($4901),$4902,$4903,$4904,$4905,$4906,$4907,$4908,$4909,$4910,$4911,$4912,$4913,$4914),(nextval($4915),$4916,$4917,$4918,$4919,$4920,$4921,$4922,$4923,$4924,$4925,$4926,$4927,$4928),(nextval($4929),$4930,$4931,$4932,$4933,$4934,$4935,$4936,$4937,$4938,$4939,$4940,$4941,$4942),(nextval($4943),$4944,$4945,$4946,$4947,$4948,$4949,$4950,$4951,$4952,$4953,$4954,$4955,$4956),(nextval($4957),$4958,$4959,$4960,$4961,$4962,$4963,$4964,$4965,$4966,$4967,$4968,$4969,$4970),(nextval($4971),$4972,$4973,$4974,$4975,$4976,$4977,$4978,$4979,$4980,$4981,$4982,$4983,$4984),(nextval($4985),$4986,$4987,$4988,$4989,$4990,$4991,$4992,$4993,$4994,$4995,$4996,$4997,$4998),(nextval($4999),$5000,$5001,$5002,$5003,$5004,$5005,$5006,$5007,$5008,$5009,$5010,$5011,$5012),(nextval($5013),$5014,$5015,$5016,$5017,$5018,$5019,$5020,$5021,$5022,$5023,$5024,$5025,$5026),(nextval($5027),$5028,$5029,$5030,$5031,$5032,$5033,$5034,$5035,$5036,$5037,$5038,$5039,$5040),(nextval($5041),$5042,$5043,$5044,$5045,$5046,$5047,$5048,$5049,$5050,$5051,$5052,$5053,$5054),(nextval($5055),$5056,$5057,$5058,$5059,$5060,$5061,$5062,$5063,$5064,$5065,$5066,$5067,$5068),(nextval($5069),$5070,$5071,$5072,$5073,$5074,$5075,$5076,$5077,$5078,$5079,$5080,$5081,$5082),(nextval($5083),$5084,$5085,$5086,$5087,$5088,$5089,$5090,$5091,$5092,$5093,$5094,$5095,$5096),(nextval($5097),$5098,$5099,$5100,$5101,$5102,$5103,$5104,$5105,$5106,$5107,$5108,$5109,$5110),(nextval($5111),$5112,$5113,$5114,$5115,$5116,$5117,$5118,$5119,$5120,$5121,$5122,$5123,$5124),(nextval($5125),$5126,$5127,$5128,$5129,$5130,$5131,$5132,$5133,$5134,$5135,$5136,$5137,$5138),(nextval($5139),$5140,$5141,$5142,$5143,$5144,$5145,$5146,$5147,$5148,$5149,$5150,$5151,$5152),(nextval($5153),$5154,$5155,$5156,$5157,$5158,$5159,$5160,$5161,$5162,$5163,$5164,$5165,$5166),(nextval($5167),$5168,$5169,$5170,$5171,$5172,$5173,$5174,$5175,$5176,$5177,$5178,$5179,$5180),(nextval($5181),$5182,$5183,$5184,$5185,$5186,$5187,$5188,$5189,$5190,$5191,$5192,$5193,$5194),(nextval($5195),$5196,$5197,$5198,$5199,$5200,$5201,$5202,$5203,$5204,$5205,$5206,$5207,$5208),(nextval($5209),$5210,$5211,$5212,$5213,$5214,$5215,$5216,$5217,$5218,$5219,$5220,$5221,$5222),(nextval($5223),$5224,$5225,$5226,$5227,$5228,$5229,$5230,$5231,$5232,$5233,$5234,$5235,$5236),(nextval($5237),$5238,$5239,$5240,$5241,$5242,$5243,$5244,$5245,$5246,$5247,$5248,$5249,$5250),(nextval($5251),$5252,$5253,$5254,$5255,$5256,$5257,$5258,$5259,$5260,$5261,$5262,$5263,$5264),(nextval($5265),$5266,$5267,$5268,$5269,$5270,$5271,$5272,$5273,$5274,$5275,$5276,$5277,$5278),(nextval($5279),$5280,$5281,$5282,$5283,$5284,$5285,$5286,$5287,$5288,$5289,$5290,$5291,$5292),(nextval($5293),$5294,$5295,$5296,$5297,$5298,$5299,$5300,$5301,$5302,$5303,$5304,$5305,$5306),(nextval($5307),$5308,$5309,$5310,$5311,$5312,$5313,$5314,$5315,$5316,$5317,$5318,$5319,$5320),(nextval($5321),$5322,$5323,$5324,$5325,$5326,$5327,$5328,$5329,$5330,$5331,$5332,$5333,$5334),(nextval($5335),$5336,$5337,$5338,$5339,$5340,$5341,$5342,$5343,$5344,$5345,$5346,$5347,$5348),(nextval($5349),$5350,$5351,$5352,$5353,$5354,$5355,$5356,$5357,$5358,$5359,$5360,$5361,$5362),(nextval($5363),$5364,$5365,$5366,$5367,$5368,$5369,$5370,$5371,$5372,$5373,$5374,$5375,$5376),(nextval($5377),$5378,$5379,$5380,$5381,$5382,$5383,$5384,$5385,$5386,$5387,$5388,$5389,$5390),(nextval($5391),$5392,$5393,$5394,$5395,$5396,$5397,$5398,$5399,$5400,$5401,$5402,$5403,$5404),(nextval($5405),$5406,$5407,$5408,$5409,$5410,$5411,$5412,$5413,$5414,$5415,$5416,$5417,$5418),(nextval($5419),$5420,$5421,$5422,$5423,$5424,$5425,$5426,$5427,$5428,$5429,$5430,$5431,$5432),(nextval($5433),$5434,$5435,$5436,$5437,$5438,$5439,$5440,$5441,$5442,$5443,$5444,$5445,$5446),(nextval($5447),$5448,$5449,$5450,$5451,$5452,$5453,$5454,$5455,$5456,$5457,$5458,$5459,$5460),(nextval($5461),$5462,$5463,$5464,$5465,$5466,$5467,$5468,$5469,$5470,$5471,$5472,$5473,$5474),(nextval($5475),$5476,$5477,$5478,$5479,$5480,$5481,$5482,$5483,$5484,$5485,$5486,$5487,$5488),(nextval($5489),$5490,$5491,$5492,$5493,$5494,$5495,$5496,$5497,$5498,$5499,$5500,$5501,$5502),(nextval($5503),$5504,$5505,$5506,$5507,$5508,$5509,$5510,$5511,$5512,$5513,$5514,$5515,$5516),(nextval($5517),$5518,$5519,$5520,$5521,$5522,$5523,$5524,$5525,$5526,$5527,$5528,$5529,$5530),(nextval($5531),$5532,$5533,$5534,$5535,$5536,$5537,$5538,$5539,$5540,$5541,$5542,$5543,$5544),(nextval($5545),$5546,$5547,$5548,$5549,$5550,$5551,$5552,$5553,$5554,$5555,$5556,$5557,$5558),(nextval($5559),$5560,$5561,$5562,$5563,$5564,$5565,$5566,$5567,$5568,$5569,$5570,$5571,$5572),(nextval($5573),$5574,$5575,$5576,$5577,$5578,$5579,$5580,$5581,$5582,$5583,$5584,$5585,$5586),(nextval($5587),$5588,$5589,$5590,$5591,$5592,$5593,$5594,$5595,$5596,$5597,$5598,$5599,$5600),(nextval($5601),$5602,$5603,$5604,$5605,$5606,$5607,$5608,$5609,$5610,$5611,$5612,$5613,$5614),(nextval($5615),$5616,$5617,$5618,$5619,$5620,$5621,$5622,$5623,$5624,$5625,$5626,$5627,$5628),(nextval($5629),$5630,$5631,$5632,$5633,$5634,$5635,$5636,$5637,$5638,$5639,$5640,$5641,$5642),(nextval($5643),$5644,$5645,$5646,$5647,$5648,$5649,$5650,$5651,$5652,$5653,$5654,$5655,$5656),(nextval($5657),$5658,$5659,$5660,$5661,$5662,$5663,$5664,$5665,$5666,$5667,$5668,$5669,$5670),(nextval($5671),$5672,$5673,$5674,$5675,$5676,$5677,$5678,$5679,$5680,$5681,$5682,$5683,$5684),(nextval($5685),$5686,$5687,$5688,$5689,$5690,$5691,$5692,$5693,$5694,$5695,$5696,$5697,$5698),(nextval($5699),$5700,$5701,$5702,$5703,$5704,$5705,$5706,$5707,$5708,$5709,$5710,$5711,$5712),(nextval($5713),$5714,$5715,$5716,$5717,$5718,$5719,$5720,$5721,$5722,$5723,$5724,$5725,$5726),(nextval($5727),$5728,$5729,$5730,$5731,$5732,$5733,$5734,$5735,$5736,$5737,$5738,$5739,$5740),(nextval($5741),$5742,$5743,$5744,$5745,$5746,$5747,$5748,$5749,$5750,$5751,$5752,$5753,$5754),(nextval($5755),$5756,$5757,$5758,$5759,$5760,$5761,$5762,$5763,$5764,$5765,$5766,$5767,$5768),(nextval($5769),$5770,$5771,$5772,$5773,$5774,$5775,$5776,$5777,$5778,$5779,$5780,$5781,$5782),(nextval($5783),$5784,$5785,$5786,$5787,$5788,$5789,$5790,$5791,$5792,$5793,$5794,$5795,$5796),(nextval($5797),$5798,$5799,$5800,$5801,$5802,$5803,$5804,$5805,$5806,$5807,$5808,$5809,$5810),(nextval($5811),$5812,$5813,$5814,$5815,$5816,$5817,$5818,$5819,$5820,$5821,$5822,$5823,$5824),(nextval($5825),$5826,$5827,$5828,$5829,$5830,$5831,$5832,$5833,$5834,$5835,$5836,$5837,$5838),(nextval($5839),$5840,$5841,$5842,$5843,$5844,$5845,$5846,$5847,$5848,$5849,$5850,$5851,$5852),(nextval($5853),$5854,$5855,$5856,$5857,$5858,$5859,$5860,$5861,$5862,$5863,$5864,$5865,$5866),(nextval($5867),$5868,$5869,$5870,$5871,$5872,$5873,$5874,$5875,$5876,$5877,$5878,$5879,$5880),(nextval($5881),$5882,$5883,$5884,$5885,$5886,$5887,$5888,$5889,$5890,$5891,$5892,$5893,$5894),(nextval($5895),$5896,$5897,$5898,$5899,$5900,$5901,$5902,$5903,$5904,$5905,$5906,$5907,$5908),(nextval($5909),$5910,$5911,$5912,$5913,$5914,$5915,$5916,$5917,$5918,$5919,$5920,$5921,$5922),(nextval($5923),$5924,$5925,$5926,$5927,$5928,$5929,$5930,$5931,$5932,$5933,$5934,$5935,$5936),(nextval($5937),$5938,$5939,$5940,$5941,$5942,$5943,$5944,$5945,$5946,$5947,$5948,$5949,$5950),(nextval($5951),$5952,$5953,$5954,$5955,$5956,$5957,$5958,$5959,$5960,$5961,$5962,$5963,$5964),(nextval($5965),$5966,$5967,$5968,$5969,$5970,$5971,$5972,$5973,$5974,$5975,$5976,$5977,$5978),(nextval($5979),$5980,$5981,$5982,$5983,$5984,$5985,$5986,$5987,$5988,$5989,$5990,$5991,$5992),(nextval($5993),$5994,$5995,$5996,$5997,$5998,$5999,$6000,$6001,$6002,$6003,$6004,$6005,$6006),(nextval($6007),$6008,$6009,$6010,$6011,$6012,$6013,$6014,$6015,$6016,$6017,$6018,$6019,$6020),(nextval($6021),$6022,$6023,$6024,$6025,$6026,$6027,$6028,$6029,$6030,$6031,$6032,$6033,$6034),(nextval($6035),$6036,$6037,$6038,$6039,$6040,$6041,$6042,$6043,$6044,$6045,$6046,$6047,$6048),(nextval($6049),$6050,$6051,$6052,$6053,$6054,$6055,$6056,$6057,$6058,$6059,$6060,$6061,$6062),(nextval($6063),$6064,$6065,$6066,$6067,$6068,$6069,$6070,$6071,$6072,$6073,$6074,$6075,$6076),(nextval($6077),$6078,$6079,$6080,$6081,$6082,$6083,$6084,$6085,$6086,$6087,$6088,$6089,$6090),(nextval($6091),$6092,$6093,$6094,$6095,$6096,$6097,$6098,$6099,$6100,$6101,$6102,$6103,$6104),(nextval($6105),$6106,$6107,$6108,$6109,$6110,$6111,$6112,$6113,$6114,$6115,$6116,$6117,$6118),(nextval($6119),$6120,$6121,$6122,$6123,$6124,$6125,$6126,$6127,$6128,$6129,$6130,$6131,$6132),(nextval($6133),$6134,$6135,$6136,$6137,$6138,$6139,$6140,$6141,$6142,$6143,$6144,$6145,$6146),(nextval($6147),$6148,$6149,$6150,$6151,$6152,$6153,$6154,$6155,$6156,$6157,$6158,$6159,$6160),(nextval($6161),$6162,$6163,$6164,$6165,$6166,$6167,$6168,$6169,$6170,$6171,$6172,$6173,$6174),(nextval($6175),$6176,$6177,$6178,$6179,$6180,$6181,$6182,$6183,$6184,$6185,$6186,$6187,$6188),(nextval($6189),$6190,$6191,$6192,$6193,$6194,$6195,$6196,$6197,$6198,$6199,$6200,$6201,$6202),(nextval($6203),$6204,$6205,$6206,$6207,$6208,$6209,$6210,$6211,$6212,$6213,$6214,$6215,$6216),(nextval($6217),$6218,$6219,$6220,$6221,$6222,$6223,$6224,$6225,$6226,$6227,$6228,$6229,$6230),(nextval($6231),$6232,$6233,$6234,$6235,$6236,$6237,$6238,$6239,$6240,$6241,$6242,$6243,$6244),(nextval($6245),$6246,$6247,$6248,$6249,$6250,$6251,$6252,$6253,$6254,$6255,$6256,$6257,$6258),(nextval($6259),$6260,$6261,$6262,$6263,$6264,$6265,$6266,$6267,$6268,$6269,$6270,$6271,$6272),(nextval($6273),$6274,$6275,$6276,$6277,$6278,$6279,$6280,$6281,$6282,$6283,$6284,$6285,$6286),(nextval($6287),$6288,$6289,$6290,$6291,$6292,$6293,$6294,$6295,$6296,$6297,$6298,$6299,$6300),(nextval($6301),$6302,$6303,$6304,$6305,$6306,$6307,$6308,$6309,$6310,$6311,$6312,$6313,$6314),(nextval($6315),$6316,$6317,$6318,$6319,$6320,$6321,$6322,$6323,$6324,$6325,$6326,$6327,$6328),(nextval($6329),$6330,$6331,$6332,$6333,$6334,$6335,$6336,$6337,$6338,$6339,$6340,$6341,$6342),(nextval($6343),$6344,$6345,$6346,$6347,$6348,$6349,$6350,$6351,$6352,$6353,$6354,$6355,$6356),(nextval($6357),$6358,$6359,$6360,$6361,$6362,$6363,$6364,$6365,$6366,$6367,$6368,$6369,$6370),(nextval($6371),$6372,$6373,$6374,$6375,$6376,$6377,$6378,$6379,$6380,$6381,$6382,$6383,$6384),(nextval($6385),$6386,$6387,$6388,$6389,$6390,$6391,$6392,$6393,$6394,$6395,$6396,$6397,$6398),(nextval($6399),$6400,$6401,$6402,$6403,$6404,$6405,$6406,$6407,$6408,$6409,$6410,$6411,$6412),(nextval($6413),$6414,$6415,$6416,$6417,$6418,$6419,$6420,$6421,$6422,$6423,$6424,$6425,$6426),(nextval($6427),$6428,$6429,$6430,$6431,$6432,$6433,$6434,$6435,$6436,$6437,$6438,$6439,$6440),(nextval($6441),$6442,$6443,$6444,$6445,$6446,$6447,$6448,$6449,$6450,$6451,$6452,$6453,$6454),(nextval($6455),$6456,$6457,$6458,$6459,$6460,$6461,$6462,$6463,$6464,$6465,$6466,$6467,$6468),(nextval($6469),$6470,$6471,$6472,$6473,$6474,$6475,$6476,$6477,$6478,$6479,$6480,$6481,$6482),(nextval($6483),$6484,$6485,$6486,$6487,$6488,$6489,$6490,$6491,$6492,$6493,$6494,$6495,$6496),(nextval($6497),$6498,$6499,$6500,$6501,$6502,$6503,$6504,$6505,$6506,$6507,$6508,$6509,$6510),(nextval($6511),$6512,$6513,$6514,$6515,$6516,$6517,$6518,$6519,$6520,$6521,$6522,$6523,$6524),(nextval($6525),$6526,$6527,$6528,$6529,$6530,$6531,$6532,$6533,$6534,$6535,$6536,$6537,$6538),(nextval($6539),$6540,$6541,$6542,$6543,$6544,$6545,$6546,$6547,$6548,$6549,$6550,$6551,$6552),(nextval($6553),$6554,$6555,$6556,$6557,$6558,$6559,$6560,$6561,$6562,$6563,$6564,$6565,$6566),(nextval($6567),$6568,$6569,$6570,$6571,$6572,$6573,$6574,$6575,$6576,$6577,$6578,$6579,$6580),(nextval($6581),$6582,$6583,$6584,$6585,$6586,$6587,$6588,$6589,$6590,$6591,$6592,$6593,$6594),(nextval($6595),$6596,$6597,$6598,$6599,$6600,$6601,$6602,$6603,$6604,$6605,$6606,$6607,$6608),(nextval($6609),$6610,$6611,$6612,$6613,$6614,$6615,$6616,$6617,$6618,$6619,$6620,$6621,$6622),(nextval($6623),$6624,$6625,$6626,$6627,$6628,$6629,$6630,$6631,$6632,$6633,$6634,$6635,$6636),(nextval($6637),$6638,$6639,$6640,$6641,$6642,$6643,$6644,$6645,$6646,$6647,$6648,$6649,$6650),(nextval($6651),$6652,$6653,$6654,$6655,$6656,$6657,$6658,$6659,$6660,$6661,$6662,$6663,$6664),(nextval($6665),$6666,$6667,$6668,$6669,$6670,$6671,$6672,$6673,$6674,$6675,$6676,$6677,$6678),(nextval($6679),$6680,$6681,$6682,$6683,$6684,$6685,$6686,$6687,$6688,$6689,$6690,$6691,$6692),(nextval($6693),$6694,$6695,$6696,$6697,$6698,$6699,$6700,$6701,$6702,$6703,$6704,$6705,$6706),(nextval($6707),$6708,$6709,$6710,$6711,$6712,$6713,$6714,$6715,$6716,$6717,$6718,$6719,$6720),(nextval($6721),$6722,$6723,$6724,$6725,$6726,$6727,$6728,$6729,$6730,$6731,$6732,$6733,$6734),(nextval($6735),$6736,$6737,$6738,$6739,$6740,$6741,$6742,$6743,$6744,$6745,$6746,$6747,$6748),(nextval($6749),$6750,$6751,$6752,$6753,$6754,$6755,$6756,$6757,$6758,$6759,$6760,$6761,$6762),(nextval($6763),$6764,$6765,$6766,$6767,$6768,$6769,$6770,$6771,$6772,$6773,$6774,$6775,$6776),(nextval($6777),$6778,$6779,$6780,$6781,$6782,$6783,$6784,$6785,$6786,$6787,$6788,$6789,$6790),(nextval($6791),$6792,$6793,$6794,$6795,$6796,$6797,$6798,$6799,$6800,$6801,$6802,$6803,$6804),(nextval($6805),$6806,$6807,$6808,$6809,$6810,$6811,$6812,$6813,$6814,$6815,$6816,$6817,$6818),(nextval($6819),$6820,$6821,$6822,$6823,$6824,$6825,$6826,$6827,$6828,$6829,$6830,$6831,$6832),(nextval($6833),$6834,$6835,$6836,$6837,$6838,$6839,$6840,$6841,$6842,$6843,$6844,$6845,$6846),(nextval($6847),$6848,$6849,$6850,$6851,$6852,$6853,$6854,$6855,$6856,$6857,$6858,$6859,$6860),(nextval($6861),$6862,$6863,$6864,$6865,$6866,$6867,$6868,$6869,$6870,$6871,$6872,$6873,$6874),(nextval($6875),$6876,$6877,$6878,$6879,$6880,$6881,$6882,$6883,$6884,$6885,$6886,$6887,$6888),(nextval($6889),$6890,$6891,$6892,$6893,$6894,$6895,$6896,$6897,$6898,$6899,$6900,$6901,$6902),(nextval($6903),$6904,$6905,$6906,$6907,$6908,$6909,$6910,$6911,$6912,$6913,$6914,$6915,$6916),(nextval($6917),$6918,$6919,$6920,$6921,$6922,$6923,$6924,$6925,$6926,$6927,$6928,$6929,$6930),(nextval($6931),$6932,$6933,$6934,$6935,$6936,$6937,$6938,$6939,$6940,$6941,$6942,$6943,$6944),(nextval($6945),$6946,$6947,$6948,$6949,$6950,$6951,$6952,$6953,$6954,$6955,$6956,$6957,$6958),(nextval($6959),$6960,$6961,$6962,$6963,$6964,$6965,$6966,$6967,$6968,$6969,$6970,$6971,$6972),(nextval($6973),$6974,$6975,$6976,$6977,$6978,$6979,$6980,$6981,$6982,$6983,$6984,$6985,$6986),(nextval($6987),$6988,$6989,$6990,$6991,$6992,$6993,$6994,$6995,$6996,$6997,$6998,$6999,$7000),(nextval($7001),$7002,$7003,$7004,$7005,$7006,$7007,$7008,$7009,$7010,$7011,$7012,$7013,$7014),(nextval($7015),$7016,$7017,$7018,$7019,$7020,$7021,$7022,$7023,$7024,$7025,$7026,$7027,$7028),(nextval($7029),$7030,$7031,$7032,$7033,$7034,$7035,$7036,$7037,$7038,$7039,$7040,$7041,$7042),(nextval($7043),$7044,$7045,$7046,$7047,$7048,$7049,$7050,$7051,$7052,$7053,$7054,$7055,$7056),(nextval($7057),$7058,$7059,$7060,$7061,$7062,$7063,$7064,$7065,$7066,$7067,$7068,$7069,$7070),(nextval($7071),$7072,$7073,$7074,$7075,$7076,$7077,$7078,$7079,$7080,$7081,$7082,$7083,$7084),(nextval($7085),$7086,$7087,$7088,$7089,$7090,$7091,$7092,$7093,$7094,$7095,$7096,$7097,$7098),(nextval($7099),$7100,$7101,$7102,$7103,$7104,$7105,$7106,$7107,$7108,$7109,$7110,$7111,$7112),(nextval($7113),$7114,$7115,$7116,$7117,$7118,$7119,$7120,$7121,$7122,$7123,$7124,$7125,$7126),(nextval($7127),$7128,$7129,$7130,$7131,$7132,$7133,$7134,$7135,$7136,$7137,$7138,$7139,$7140),(nextval($7141),$7142,$7143,$7144,$7145,$7146,$7147,$7148,$7149,$7150,$7151,$7152,$7153,$7154),(nextval($7155),$7156,$7157,$7158,$7159,$7160,$7161,$7162,$7163,$7164,$7165,$7166,$7167,$7168),(nextval($7169),$7170,$7171,$7172,$7173,$7174,$7175,$7176,$7177,$7178,$7179,$7180,$7181,$7182),(nextval($7183),$7184,$7185,$7186,$7187,$7188,$7189,$7190,$7191,$7192,$7193,$7194,$7195,$7196),(nextval($7197),$7198,$7199,$7200,$7201,$7202,$7203,$7204,$7205,$7206,$7207,$7208,$7209,$7210),(nextval($7211),$7212,$7213,$7214,$7215,$7216,$7217,$7218,$7219,$7220,$7221,$7222,$7223,$7224),(nextval($7225),$7226,$7227,$7228,$7229,$7230,$7231,$7232,$7233,$7234,$7235,$7236,$7237,$7238),(nextval($7239),$7240,$7241,$7242,$7243,$7244,$7245,$7246,$7247,$7248,$7249,$7250,$7251,$7252),(nextval($7253),$7254,$7255,$7256,$7257,$7258,$7259,$7260,$7261,$7262,$7263,$7264,$7265,$7266),(nextval($7267),$7268,$7269,$7270,$7271,$7272,$7273,$7274,$7275,$7276,$7277,$7278,$7279,$7280),(nextval($7281),$7282,$7283,$7284,$7285,$7286,$7287,$7288,$7289,$7290,$7291,$7292,$7293,$7294),(nextval($7295),$7296,$7297,$7298,$7299,$7300,$7301,$7302,$7303,$7304,$7305,$7306,$7307,$7308),(nextval($7309),$7310,$7311,$7312,$7313,$7314,$7315,$7316,$7317,$7318,$7319,$7320,$7321,$7322),(nextval($7323),$7324,$7325,$7326,$7327,$7328,$7329,$7330,$7331,$7332,$7333,$7334,$7335,$7336),(nextval($7337),$7338,$7339,$7340,$7341,$7342,$7343,$7344,$7345,$7346,$7347,$7348,$7349,$7350),(nextval($7351),$7352,$7353,$7354,$7355,$7356,$7357,$7358,$7359,$7360,$7361,$7362,$7363,$7364),(nextval($7365),$7366,$7367,$7368,$7369,$7370,$7371,$7372,$7373,$7374,$7375,$7376,$7377,$7378),(nextval($7379),$7380,$7381,$7382,$7383,$7384,$7385,$7386,$7387,$7388,$7389,$7390,$7391,$7392),(nextval($7393),$7394,$7395,$7396,$7397,$7398,$7399,$7400,$7401,$7402,$7403,$7404,$7405,$7406),(nextval($7407),$7408,$7409,$7410,$7411,$7412,$7413,$7414,$7415,$7416,$7417,$7418,$7419,$7420),(nextval($7421),$7422,$7423,$7424,$7425,$7426,$7427,$7428,$7429,$7430,$7431,$7432,$7433,$7434),(nextval($7435),$7436,$7437,$7438,$7439,$7440,$7441,$7442,$7443,$7444,$7445,$7446,$7447,$7448),(nextval($7449),$7450,$7451,$7452,$7453,$7454,$7455,$7456,$7457,$7458,$7459,$7460,$7461,$7462),(nextval($7463),$7464,$7465,$7466,$7467,$7468,$7469,$7470,$7471,$7472,$7473,$7474,$7475,$7476),(nextval($7477),$7478,$7479,$7480,$7481,$7482,$7483,$7484,$7485,$7486,$7487,$7488,$7489,$7490),(nextval($7491),$7492,$7493,$7494,$7495,$7496,$7497,$7498,$7499,$7500,$7501,$7502,$7503,$7504),(nextval($7505),$7506,$7507,$7508,$7509,$7510,$7511,$7512,$7513,$7514,$7515,$7516,$7517,$7518),(nextval($7519),$7520,$7521,$7522,$7523,$7524,$7525,$7526,$7527,$7528,$7529,$7530,$7531,$7532),(nextval($7533),$7534,$7535,$7536,$7537,$7538,$7539,$7540,$7541,$7542,$7543,$7544,$7545,$7546),(nextval($7547),$7548,$7549,$7550,$7551,$7552,$7553,$7554,$7555,$7556,$7557,$7558,$7559,$7560),(nextval($7561),$7562,$7563,$7564,$7565,$7566,$7567,$7568,$7569,$7570,$7571,$7572,$7573,$7574),(nextval($7575),$7576,$7577,$7578,$7579,$7580,$7581,$7582,$7583,$7584,$7585,$7586,$7587,$7588),(nextval($7589),$7590,$7591,$7592,$7593,$7594,$7595,$7596,$7597,$7598,$7599,$7600,$7601,$7602),(nextval($7603),$7604,$7605,$7606,$7607,$7608,$7609,$7610,$7611,$7612,$7613,$7614,$7615,$7616),(nextval($7617),$7618,$7619,$7620,$7621,$7622,$7623,$7624,$7625,$7626,$7627,$7628,$7629,$7630),(nextval($7631),$7632,$7633,$7634,$7635,$7636,$7637,$7638,$7639,$7640,$7641,$7642,$7643,$7644),(nextval($7645),$7646,$7647,$7648,$7649,$7650,$7651,$7652,$7653,$7654,$7655,$7656,$7657,$7658),(nextval($7659),$7660,$7661,$7662,$7663,$7664,$7665,$7666,$7667,$7668,$7669,$7670,$7671,$7672),(nextval($7673),$7674,$7675,$7676,$7677,$7678,$7679,$7680,$7681,$7682,$7683,$7684,$7685,$7686),(nextval($7687),$7688,$7689,$7690,$7691,$7692,$7693,$7694,$7695,$7696,$7697,$7698,$7699,$7700),(nextval($7701),$7702,$7703,$7704,$7705,$7706,$7707,$7708,$7709,$7710,$7711,$7712,$7713,$7714),(nextval($7715),$7716,$7717,$7718,$7719,$7720,$7721,$7722,$7723,$7724,$7725,$7726,$7727,$7728),(nextval($7729),$7730,$7731,$7732,$7733,$7734,$7735,$7736,$7737,$7738,$7739,$7740,$7741,$7742),(nextval($7743),$7744,$7745,$7746,$7747,$7748,$7749,$7750,$7751,$7752,$7753,$7754,$7755,$7756),(nextval($7757),$7758,$7759,$7760,$7761,$7762,$7763,$7764,$7765,$7766,$7767,$7768,$7769,$7770),(nextval($7771),$7772,$7773,$7774,$7775,$7776,$7777,$7778,$7779,$7780,$7781,$7782,$7783,$7784),(nextval($7785),$7786,$7787,$7788,$7789,$7790,$7791,$7792,$7793,$7794,$7795,$7796,$7797,$7798),(nextval($7799),$7800,$7801,$7802,$7803,$7804,$7805,$7806,$7807,$7808,$7809,$7810,$7811,$7812),(nextval($7813),$7814,$7815,$7816,$7817,$7818,$7819,$7820,$7821,$7822,$7823,$7824,$7825,$7826),(nextval($7827),$7828,$7829,$7830,$7831,$7832,$7833,$7834,$7835,$7836,$7837,$7838,$7839,$7840),(nextval($7841),$7842,$7843,$7844,$7845,$7846,$7847,$7848,$7849,$7850,$7851,$7852,$7853,$7854),(nextval($7855),$7856,$7857,$7858,$7859,$7860,$7861,$7862,$7863,$7864,$7865,$7866,$7867,$7868),(nextval($7869),$7870,$7871,$7872,$7873,$7874,$7875,$7876,$7877,$7878,$7879,$7880,$7881,$7882),(nextval($7883),$7884,$7885,$7886,$7887,$7888,$7889,$7890,$7891,$7892,$7893,$7894,$7895,$7896),(nextval($7897),$7898,$7899,$7900,$7901,$7902,$7903,$7904,$7905,$7906,$7907,$7908,$7909,$7910),(nextval($7911),$7912,$7913,$7914,$7915,$7916,$7917,$7918,$7919,$7920,$7921,$7922,$7923,$7924),(nextval($7925),$7926,$7927,$7928,$7929,$7930,$7931,$7932,$7933,$7934,$7935,$7936,$7937,$7938),(nextval($7939),$7940,$7941,$7942,$7943,$7944,$7945,$7946,$7947,$7948,$7949,$7950,$7951,$7952),(nextval($7953),$7954,$7955,$7956,$7957,$7958,$7959,$7960,$7961,$7962,$7963,$7964,$7965,$7966),(nextval($7967),$7968,$7969,$7970,$7971,$7972,$7973,$7974,$7975,$7976,$7977,$7978,$7979,$7980),(nextval($7981),$7982,$7983,$7984,$7985,$7986,$7987,$7988,$7989,$7990,$7991,$7992,$7993,$7994),(nextval($7995),$7996,$7997,$7998,$7999,$8000,$8001,$8002,$8003,$8004,$8005,$8006,$8007,$8008),(nextval($8009),$8010,$8011,$8012,$8013,$8014,$8015,$8016,$8017,$8018,$8019,$8020,$8021,$8022),(nextval($8023),$8024,$8025,$8026,$8027,$8028,$8029,$8030,$8031,$8032,$8033,$8034,$8035,$8036),(nextval($8037),$8038,$8039,$8040,$8041,$8042,$8043,$8044,$8045,$8046,$8047,$8048,$8049,$8050),(nextval($8051),$8052,$8053,$8054,$8055,$8056,$8057,$8058,$8059,$8060,$8061,$8062,$8063,$8064),(nextval($8065),$8066,$8067,$8068,$8069,$8070,$8071,$8072,$8073,$8074,$8075,$8076,$8077,$8078),(nextval($8079),$8080,$8081,$8082,$8083,$8084,$8085,$8086,$8087,$8088,$8089,$8090,$8091,$8092),(nextval($8093),$8094,$8095,$8096,$8097,$8098,$8099,$8100,$8101,$8102,$8103,$8104,$8105,$8106),(nextval($8107),$8108,$8109,$8110,$8111,$8112,$8113,$8114,$8115,$8116,$8117,$8118,$8119,$8120),(nextval($8121),$8122,$8123,$8124,$8125,$8126,$8127,$8128,$8129,$8130,$8131,$8132,$8133,$8134),(nextval($8135),$8136,$8137,$8138,$8139,$8140,$8141,$8142,$8143,$8144,$8145,$8146,$8147,$8148),(nextval($8149),$8150,$8151,$8152,$8153,$8154,$8155,$8156,$8157,$8158,$8159,$8160,$8161,$8162),(nextval($8163),$8164,$8165,$8166,$8167,$8168,$8169,$8170,$8171,$8172,$8173,$8174,$8175,$8176),(nextval($8177),$8178,$8179,$8180,$8181,$8182,$8183,$8184,$8185,$8186,$8187,$8188,$8189,$8190),(nextval($8191),$8192,$8193,$8194,$8195,$8196,$8197,$8198,$8199,$8200,$8201,$8202,$8203,$8204),(nextval($8205),$8206,$8207,$8208,$8209,$8210,$8211,$8212,$8213,$8214,$8215,$8216,$8217,$8218),(nextval($8219),$8220,$8221,$8222,$8223,$8224,$8225,$8226,$8227,$8228,$8229,$8230,$8231,$8232),(nextval($8233),$8234,$8235,$8236,$8237,$8238,$8239,$8240,$8241,$8242,$8243,$8244,$8245,$8246),(nextval($8247),$8248,$8249,$8250,$8251,$8252,$8253,$8254,$8255,$8256,$8257,$8258,$8259,$8260),(nextval($8261),$8262,$8263,$8264,$8265,$8266,$8267,$8268,$8269,$8270,$8271,$8272,$8273,$8274),(nextval($8275),$8276,$8277,$8278,$8279,$8280,$8281,$8282,$8283,$8284,$8285,$8286,$8287,$8288),(nextval($8289),$8290,$8291,$8292,$8293,$8294,$8295,$8296,$8297,$8298,$8299,$8300,$8301,$8302),(nextval($8303),$8304,$8305,$8306,$8307,$8308,$8309,$8310,$8311,$8312,$8313,$8314,$8315,$8316),(nextval($8317),$8318,$8319,$8320,$8321,$8322,$8323,$8324,$8325,$8326,$8327,$8328,$8329,$8330),(nextval($8331),$8332,$8333,$8334,$8335,$8336,$8337,$8338,$8339,$8340,$8341,$8342,$8343,$8344),(nextval($8345),$8346,$8347,$8348,$8349,$8350,$8351,$8352,$8353,$8354,$8355,$8356,$8357,$8358),(nextval($8359),$8360,$8361,$8362,$8363,$8364,$8365,$8366,$8367,$8368,$8369,$8370,$8371,$8372),(nextval($8373),$8374,$8375,$8376,$8377,$8378,$8379,$8380,$8381,$8382,$8383,$8384,$8385,$8386),(nextval($8387),$8388,$8389,$8390,$8391,$8392,$8393,$8394,$8395,$8396,$8397,$8398,$8399,$8400),(nextval($8401),$8402,$8403,$8404,$8405,$8406,$8407,$8408,$8409,$8410,$8411,$8412,$8413,$8414),(nextval($8415),$8416,$8417,$8418,$8419,$8420,$8421,$8422,$8423,$8424,$8425,$8426,$8427,$8428),(nextval($8429),$8430,$8431,$8432,$8433,$8434,$8435,$8436,$8437,$8438,$8439,$8440,$8441,$8442),(nextval($8443),$8444,$8445,$8446,$8447,$8448,$8449,$8450,$8451,$8452,$8453,$8454,$8455,$8456),(nextval($8457),$8458,$8459,$8460,$8461,$8462,$8463,$8464,$8465,$8466,$8467,$8468,$8469,$8470),(nextval($8471),$8472,$8473,$8474,$8475,$8476,$8477,$8478,$8479,$8480,$8481,$8482,$8483,$8484),(nextval($8485),$8486,$8487,$8488,$8489,$8490,$8491,$8492,$8493,$8494,$8495,$8496,$8497,$8498),(nextval($8499),$8500,$8501,$8502,$8503,$8504,$8505,$8506,$8507,$8508,$8509,$8510,$8511,$8512),(nextval($8513),$8514,$8515,$8516,$8517,$8518,$8519,$8520,$8521,$8522,$8523,$8524,$8525,$8526),(nextval($8527),$8528,$8529,$8530,$8531,$8532,$8533,$8534,$8535,$8536,$8537,$8538,$8539,$8540),(nextval($8541),$8542,$8543,$8544,$8545,$8546,$8547,$8548,$8549,$8550,$8551,$8552,$8553,$8554),(nextval($8555),$8556,$8557,$8558,$8559,$8560,$8561,$8562,$8563,$8564,$8565,$8566,$8567,$8568),(nextval($8569),$8570,$8571,$8572,$8573,$8574,$8575,$8576,$8577,$8578,$8579,$8580,$8581,$8582),(nextval($8583),$8584,$8585,$8586,$8587,$8588,$8589,$8590,$8591,$8592,$8593,$8594,$8595,$8596),(nextval($8597),$8598,$8599,$8600,$8601,$8602,$8603,$8604,$8605,$8606,$8607,$8608,$8609,$8610),(nextval($8611),$8612,$8613,$8614,$8615,$8616,$8617,$8618,$8619,$8620,$8621,$8622,$8623,$8624),(nextval($8625),$8626,$8627,$8628,$8629,$8630,$8631,$8632,$8633,$8634,$8635,$8636,$8637,$8638),(nextval($8639),$8640,$8641,$8642,$8643,$8644,$8645,$8646,$8647,$8648,$8649,$8650,$8651,$8652),(nextval($8653),$8654,$8655,$8656,$8657,$8658,$8659,$8660,$8661,$8662,$8663,$8664,$8665,$8666),(nextval($8667),$8668,$8669,$8670,$8671,$8672,$8673,$8674,$8675,$8676,$8677,$8678,$8679,$8680),(nextval($8681),$8682,$8683,$8684,$8685,$8686,$8687,$8688,$8689,$8690,$8691,$8692,$8693,$8694),(nextval($8695),$8696,$8697,$8698,$8699,$8700,$8701,$8702,$8703,$8704,$8705,$8706,$8707,$8708),(nextval($8709),$8710,$8711,$8712,$8713,$8714,$8715,$8716,$8717,$8718,$8719,$8720,$8721,$8722),(nextval($8723),$8724,$8725,$8726,$8727,$8728,$8729,$8730,$8731,$8732,$8733,$8734,$8735,$8736),(nextval($8737),$8738,$8739,$8740,$8741,$8742,$8743,$8744,$8745,$8746,$8747,$8748,$8749,$8750),(nextval($8751),$8752,$8753,$8754,$8755,$8756,$8757,$8758,$8759,$8760,$8761,$8762,$8763,$8764),(nextval($8765),$8766,$8767,$8768,$8769,$8770,$8771,$8772,$8773,$8774,$8775,$8776,$8777,$8778),(nextval($8779),$8780,$8781,$8782,$8783,$8784,$8785,$8786,$8787,$8788,$8789,$8790,$8791,$8792),(nextval($8793),$8794,$8795,$8796,$8797,$8798,$8799,$8800,$8801,$8802,$8803,$8804,$8805,$8806),(nextval($8807),$8808,$8809,$8810,$8811,$8812,$8813,$8814,$8815,$8816,$8817,$8818,$8819,$8820),(nextval($8821),$8822,$8823,$8824,$8825,$8826,$8827,$8828,$8829,$8830,$8831,$8832,$8833,$8834),(nextval($8835),$8836,$8837,$8838,$8839,$8840,$8841,$8842,$8843,$8844,$8845,$8846,$8847,$8848),(nextval($8849),$8850,$8851,$8852,$8853,$8854,$8855,$8856,$8857,$8858,$8859,$8860,$8861,$8862),(nextval($8863),$8864,$8865,$8866,$8867,$8868,$8869,$8870,$8871,$8872,$8873,$8874,$8875,$8876),(nextval($8877),$8878,$8879,$8880,$8881,$8882,$8883,$8884,$8885,$8886,$8887,$8888,$8889,$8890),(nextval($8891),$8892,$8893,$8894,$8895,$8896,$8897,$8898,$8899,$8900,$8901,$8902,$8903,$8904),(nextval($8905),$8906,$8907,$8908,$8909,$8910,$8911,$8912,$8913,$8914,$8915,$8916,$8917,$8918),(nextval($8919),$8920,$8921,$8922,$8923,$8924,$8925,$8926,$8927,$8928,$8929,$8930,$8931,$8932),(nextval($8933),$8934,$8935,$8936,$8937,$8938,$8939,$8940,$8941,$8942,$8943,$8944,$8945,$8946),(nextval($8947),$8948,$8949,$8950,$8951,$8952,$8953,$8954,$8955,$8956,$8957,$8958,$8959,$8960),(nextval($8961),$8962,$8963,$8964,$8965,$8966,$8967,$8968,$8969,$8970,$8971,$8972,$8973,$8974),(nextval($8975),$8976,$8977,$8978,$8979,$8980,$8981,$8982,$8983,$8984,$8985,$8986,$8987,$8988),(nextval($8989),$8990,$8991,$8992,$8993,$8994,$8995,$8996,$8997,$8998,$8999,$9000,$9001,$9002),(nextval($9003),$9004,$9005,$9006,$9007,$9008,$9009,$9010,$9011,$9012,$9013,$9014,$9015,$9016),(nextval($9017),$9018,$9019,$9020,$9021,$9022,$9023,$9024,$9025,$9026,$9027,$9028,$9029,$9030),(nextval($9031),$9032,$9033,$9034,$9035,$9036,$9037,$9038,$9039,$9040,$9041,$9042,$9043,$9044),(nextval($9045),$9046,$9047,$9048,$9049,$9050,$9051,$9052,$9053,$9054,$9055,$9056,$9057,$9058),(nextval($9059),$9060,$9061,$9062,$9063,$9064,$9065,$9066,$9067,$9068,$9069,$9070,$9071,$9072),(nextval($9073),$9074,$9075,$9076,$9077,$9078,$9079,$9080,$9081,$9082,$9083,$9084,$9085,$9086),(nextval($9087),$9088,$9089,$9090,$9091,$9092,$9093,$9094,$9095,$9096,$9097,$9098,$9099,$9100),(nextval($9101),$9102,$9103,$9104,$9105,$9106,$9107,$9108,$9109,$9110,$9111,$9112,$9113,$9114),(nextval($9115),$9116,$9117,$9118,$9119,$9120,$9121,$9122,$9123,$9124,$9125,$9126,$9127,$9128),(nextval($9129),$9130,$9131,$9132,$9133,$9134,$9135,$9136,$9137,$9138,$9139,$9140,$9141,$9142),(nextval($9143),$9144,$9145,$9146,$9147,$9148,$9149,$9150,$9151,$9152,$9153,$9154,$9155,$9156),(nextval($9157),$9158,$9159,$9160,$9161,$9162,$9163,$9164,$9165,$9166,$9167,$9168,$9169,$9170),(nextval($9171),$9172,$9173,$9174,$9175,$9176,$9177,$9178,$9179,$9180,$9181,$9182,$9183,$9184),(nextval($9185),$9186,$9187,$9188,$9189,$9190,$9191,$9192,$9193,$9194,$9195,$9196,$9197,$9198),(nextval($9199),$9200,$9201,$9202,$9203,$9204,$9205,$9206,$9207,$9208,$9209,$9210,$9211,$9212),(nextval($9213),$9214,$9215,$9216,$9217,$9218,$9219,$9220,$9221,$9222,$9223,$9224,$9225,$9226),(nextval($9227),$9228,$9229,$9230,$9231,$9232,$9233,$9234,$9235,$9236,$9237,$9238,$9239,$9240),(nextval($9241),$9242,$9243,$9244,$9245,$9246,$9247,$9248,$9249,$9250,$9251,$9252,$9253,$9254),(nextval($9255),$9256,$9257,$9258,$9259,$9260,$9261,$9262,$9263,$9264,$9265,$9266,$9267,$9268),(nextval($9269),$9270,$9271,$9272,$9273,$9274,$9275,$9276,$9277,$9278,$9279,$9280,$9281,$9282),(nextval($9283),$9284,$9285,$9286,$9287,$9288,$9289,$9290,$9291,$9292,$9293,$9294,$9295,$9296),(nextval($9297),$9298,$9299,$9300,$9301,$9302,$9303,$9304,$9305,$9306,$9307,$9308,$9309,$9310),(nextval($9311),$9312,$9313,$9314,$9315,$9316,$9317,$9318,$9319,$9320,$9321,$9322,$9323,$9324),(nextval($9325),$9326,$9327,$9328,$9329,$9330,$9331,$9332,$9333,$9334,$9335,$9336,$9337,$9338),(nextval($9339),$9340,$9341,$9342,$9343,$9344,$9345,$9346,$9347,$9348,$9349,$9350,$9351,$9352),(nextval($9353),$9354,$9355,$9356,$9357,$9358,$9359,$9360,$9361,$9362,$9363,$9364,$9365,$9366),(nextval($9367),$9368,$9369,$9370,$9371,$9372,$9373,$9374,$9375,$9376,$9377,$9378,$9379,$9380),(nextval($9381),$9382,$9383,$9384,$9385,$9386,$9387,$9388,$9389,$9390,$9391,$9392,$9393,$9394),(nextval($9395),$9396,$9397,$9398,$9399,$9400,$9401,$9402,$9403,$9404,$9405,$9406,$9407,$9408),(nextval($9409),$9410,$9411,$9412,$9413,$9414,$9415,$9416,$9417,$9418,$9419,$9420,$9421,$9422),(nextval($9423),$9424,$9425,$9426,$9427,$9428,$9429,$9430,$9431,$9432,$9433,$9434,$9435,$9436),(nextval($9437),$9438,$9439,$9440,$9441,$9442,$9443,$9444,$9445,$9446,$9447,$9448,$9449,$9450),(nextval($9451),$9452,$9453,$9454,$9455,$9456,$9457,$9458,$9459,$9460,$9461,$9462,$9463,$9464),(nextval($9465),$9466,$9467,$9468,$9469,$9470,$9471,$9472,$9473,$9474,$9475,$9476,$9477,$9478),(nextval($9479),$9480,$9481,$9482,$9483,$9484,$9485,$9486,$9487,$9488,$9489,$9490,$9491,$9492),(nextval($9493),$9494,$9495,$9496,$9497,$9498,$9499,$9500,$9501,$9502,$9503,$9504,$9505,$9506),(nextval($9507),$9508,$9509,$9510,$9511,$9512,$9513,$9514,$9515,$9516,$9517,$9518,$9519,$9520),(nextval($9521),$9522,$9523,$9524,$9525,$9526,$9527,$9528,$9529,$9530,$9531,$9532,$9533,$9534),(nextval($9535),$9536,$9537,$9538,$9539,$9540,$9541,$9542,$9543,$9544,$9545,$9546,$9547,$9548),(nextval($9549),$9550,$9551,$9552,$9553,$9554,$9555,$9556,$9557,$9558,$9559,$9560,$9561,$9562),(nextval($9563),$9564,$9565,$9566,$9567,$9568,$9569,$9570,$9571,$9572,$9573,$9574,$9575,$9576),(nextval($9577),$9578,$9579,$9580,$9581,$9582,$9583,$9584,$9585,$9586,$9587,$9588,$9589,$9590),(nextval($9591),$9592,$9593,$9594,$9595,$9596,$9597,$9598,$9599,$9600,$9601,$9602,$9603,$9604),(nextval($9605),$9606,$9607,$9608,$9609,$9610,$9611,$9612,$9613,$9614,$9615,$9616,$9617,$9618),(nextval($9619),$9620,$9621,$9622,$9623,$9624,$9625,$9626,$9627,$9628,$9629,$9630,$9631,$9632),(nextval($9633),$9634,$9635,$9636,$9637,$9638,$9639,$9640,$9641,$9642,$9643,$9644,$9645,$9646),(nextval($9647),$9648,$9649,$9650,$9651,$9652,$9653,$9654,$9655,$9656,$9657,$9658,$9659,$9660),(nextval($9661),$9662,$9663,$9664,$9665,$9666,$9667,$9668,$9669,$9670,$9671,$9672,$9673,$9674),(nextval($9675),$9676,$9677,$9678,$9679,$9680,$9681,$9682,$9683,$9684,$9685,$9686,$9687,$9688),(nextval($9689),$9690,$9691,$9692,$9693,$9694,$9695,$9696,$9697,$9698,$9699,$9700,$9701,$9702),(nextval($9703),$9704,$9705,$9706,$9707,$9708,$9709,$9710,$9711,$9712,$9713,$9714,$9715,$9716),(nextval($9717),$9718,$9719,$9720,$9721,$9722,$9723,$9724,$9725,$9726,$9727,$9728,$9729,$9730),(nextval($9731),$9732,$9733,$9734,$9735,$9736,$9737,$9738,$9739,$9740,$9741,$9742,$9743,$9744),(nextval($9745),$9746,$9747,$9748,$9749,$9750,$9751,$9752,$9753,$9754,$9755,$9756,$9757,$9758),(nextval($9759),$9760,$9761,$9762,$9763,$9764,$9765,$9766,$9767,$9768,$9769,$9770,$9771,$9772),(nextval($9773),$9774,$9775,$9776,$9777,$9778,$9779,$9780,$9781,$9782,$9783,$9784,$9785,$9786),(nextval($9787),$9788,$9789,$9790,$9791,$9792,$9793,$9794,$9795,$9796,$9797,$9798,$9799,$9800),(nextval($9801),$9802,$9803,$9804,$9805,$9806,$9807,$9808,$9809,$9810,$9811,$9812,$9813,$9814),(nextval($9815),$9816,$9817,$9818,$9819,$9820,$9821,$9822,$9823,$9824,$9825,$9826,$9827,$9828),(nextval($9829),$9830,$9831,$9832,$9833,$9834,$9835,$9836,$9837,$9838,$9839,$9840,$9841,$9842),(nextval($9843),$9844,$9845,$9846,$9847,$9848,$9849,$9850,$9851,$9852,$9853,$9854,$9855,$9856),(nextval($9857),$9858,$9859,$9860,$9861,$9862,$9863,$9864,$9865,$9866,$9867,$9868,$9869,$9870),(nextval($9871),$9872,$9873,$9874,$9875,$9876,$9877,$9878,$9879,$9880,$9881,$9882,$9883,$9884),(nextval($9885),$9886,$9887,$9888,$9889,$9890,$9891,$9892,$9893,$9894,$9895,$9896,$9897,$9898),(nextval($9899),$9900,$9901,$9902,$9903,$9904,$9905,$9906,$9907,$9908,$9909,$9910,$9911,$9912),(nextval($9913),$9914,$9915,$9916,$9917,$9918,$9919,$9920,$9921,$9922,$9923,$9924,$9925,$9926),(nextval($9927),$9928,$9929,$9930,$9931,$9932,$9933,$9934,$9935,$9936,$9937,$9938,$9939,$9940),(nextval($9941),$9942,$9943,$9944,$9945,$9946,$9947,$9948,$9949,$9950,$9951,$9952,$9953,$9954),(nextval($9955),$9956,$9957,$9958,$9959,$9960,$9961,$9962,$9963,$9964,$9965,$9966,$9967,$9968),(nextval($9969),$9970,$9971,$9972,$9973,$9974,$9975,$9976,$9977,$9978,$9979,$9980,$9981,$9982),(nextval($9983),$9984,$9985,$9986,$9987,$9988,$9989,$9990,$9991,$9992,$9993,$9994,$9995,$9996),(nextval($9997),$9998,$9999,$10000,$10001,$10002,$10003,$10004,$10005,$10006,$10007,$10008,$10009,$10010),(nextval($10011),$10012,$10013,$10014,$10015,$10016,$10017,$10018,$10019,$10020,$10021,$10022,$10023,$10024),(nextval($10025),$10026,$10027,$10028,$10029,$10030,$10031,$10032,$10033,$10034,$10035,$10036,$10037,$10038),(nextval($10039),$10040,$10041,$10042,$10043,$10044,$10045,$10046,$10047,$10048,$10049,$10050,$10051,$10052),(nextval($10053),$10054,$10055,$10056,$10057,$10058,$10059,$10060,$10061,$10062,$10063,$10064,$10065,$10066),(nextval($10067),$10068,$10069,$10070,$10071,$10072,$10073,$10074,$10075,$10076,$10077,$10078,$10079,$10080),(nextval($10081),$10082,$10083,$10084,$10085,$10086,$10087,$10088,$10089,$10090,$10091,$10092,$10093,$10094),(nextval($10095),$10096,$10097,$10098,$10099,$10100,$10101,$10102,$10103,$10104,$10105,$10106,$10107,$10108),(nextval($10109),$10110,$10111,$10112,$10113,$10114,$10115,$10116,$10117,$10118,$10119,$10120,$10121,$10122),(nextval($10123),$10124,$10125,$10126,$10127,$10128,$10129,$10130,$10131,$10132,$10133,$10134,$10135,$10136),(nextval($10137),$10138,$10139,$10140,$10141,$10142,$10143,$10144,$10145,$10146,$10147,$10148,$10149,$10150),(nextval($10151),$10152,$10153,$10154,$10155,$10156,$10157,$10158,$10159,$10160,$10161,$10162,$10163,$10164),(nextval($10165),$10166,$10167,$10168,$10169,$10170,$10171,$10172,$10173,$10174,$10175,$10176,$10177,$10178),(nextval($10179),$10180,$10181,$10182,$10183,$10184,$10185,$10186,$10187,$10188,$10189,$10190,$10191,$10192),(nextval($10193),$10194,$10195,$10196,$10197,$10198,$10199,$10200,$10201,$10202,$10203,$10204,$10205,$10206),(nextval($10207),$10208,$10209,$10210,$10211,$10212,$10213,$10214,$10215,$10216,$10217,$10218,$10219,$10220),(nextval($10221),$10222,$10223,$10224,$10225,$10226,$10227,$10228,$10229,$10230,$10231,$10232,$10233,$10234),(nextval($10235),$10236,$10237,$10238,$10239,$10240,$10241,$10242,$10243,$10244,$10245,$10246,$10247,$10248),(nextval($10249),$10250,$10251,$10252,$10253,$10254,$10255,$10256,$10257,$10258,$10259,$10260,$10261,$10262),(nextval($10263),$10264,$10265,$10266,$10267,$10268,$10269,$10270,$10271,$10272,$10273,$10274,$10275,$10276),(nextval($10277),$10278,$10279,$10280,$10281,$10282,$10283,$10284,$10285,$10286,$10287,$10288,$10289,$10290),(nextval($10291),$10292,$10293,$10294,$10295,$10296,$10297,$10298,$10299,$10300,$10301,$10302,$10303,$10304),(nextval($10305),$10306,$10307,$10308,$10309,$10310,$10311,$10312,$10313,$10314,$10315,$10316,$10317,$10318),(nextval($10319),$10320,$10321,$10322,$10323,$10324,$10325,$10326,$10327,$10328,$10329,$10330,$10331,$10332),(nextval($10333),$10334,$10335,$10336,$10337,$10338,$10339,$10340,$10341,$10342,$10343,$10344,$10345,$10346),(nextval($10347),$10348,$10349,$10350,$10351,$10352,$10353,$10354,$10355,$10356,$10357,$10358,$10359,$10360),(nextval($10361),$10362,$10363,$10364,$10365,$10366,$10367,$10368,$10369,$10370,$10371,$10372,$10373,$10374),(nextval($10375),$10376,$10377,$10378,$10379,$10380,$10381,$10382,$10383,$10384,$10385,$10386,$10387,$10388),(nextval($10389),$10390,$10391,$10392,$10393,$10394,$10395,$10396,$10397,$10398,$10399,$10400,$10401,$10402),(nextval($10403),$10404,$10405,$10406,$10407,$10408,$10409,$10410,$10411,$10412,$10413,$10414,$10415,$10416),(nextval($10417),$10418,$10419,$10420,$10421,$10422,$10423,$10424,$10425,$10426,$10427,$10428,$10429,$10430),(nextval($10431),$10432,$10433,$10434,$10435,$10436,$10437,$10438,$10439,$10440,$10441,$10442,$10443,$10444),(nextval($10445),$10446,$10447,$10448,$10449,$10450,$10451,$10452,$10453,$10454,$10455,$10456,$10457,$10458),(nextval($10459),$10460,$10461,$10462,$10463,$10464,$10465,$10466,$10467,$10468,$10469,$10470,$10471,$10472),(nextval($10473),$10474,$10475,$10476,$10477,$10478,$10479,$10480,$10481,$10482,$10483,$10484,$10485,$10486),(nextval($10487),$10488,$10489,$10490,$10491,$10492,$10493,$10494,$10495,$10496,$10497,$10498,$10499,$10500),(nextval($10501),$10502,$10503,$10504,$10505,$10506,$10507,$10508,$10509,$10510,$10511,$10512,$10513,$10514),(nextval($10515),$10516,$10517,$10518,$10519,$10520,$10521,$10522,$10523,$10524,$10525,$10526,$10527,$10528),(nextval($10529),$10530,$10531,$10532,$10533,$10534,$10535,$10536,$10537,$10538,$10539,$10540,$10541,$10542),(nextval($10543),$10544,$10545,$10546,$10547,$10548,$10549,$10550,$10551,$10552,$10553,$10554,$10555,$10556),(nextval($10557),$10558,$10559,$10560,$10561,$10562,$10563,$10564,$10565,$10566,$10567,$10568,$10569,$10570),(nextval($10571),$10572,$10573,$10574,$10575,$10576,$10577,$10578,$10579,$10580,$10581,$10582,$10583,$10584),(nextval($10585),$10586,$10587,$10588,$10589,$10590,$10591,$10592,$10593,$10594,$10595,$10596,$10597,$10598),(nextval($10599),$10600,$10601,$10602,$10603,$10604,$10605,$10606,$10607,$10608,$10609,$10610,$10611,$10612),(nextval($10613),$10614,$10615,$10616,$10617,$10618,$10619,$10620,$10621,$10622,$10623,$10624,$10625,$10626),(nextval($10627),$10628,$10629,$10630,$10631,$10632,$10633,$10634,$10635,$10636,$10637,$10638,$10639,$10640),(nextval($10641),$10642,$10643,$10644,$10645,$10646,$10647,$10648,$10649,$10650,$10651,$10652,$10653,$10654),(nextval($10655),$10656,$10657,$10658,$10659,$10660,$10661,$10662,$10663,$10664,$10665,$10666,$10667,$10668),(nextval($10669),$10670,$10671,$10672,$10673,$10674,$10675,$10676,$10677,$10678,$10679,$10680,$10681,$10682),(nextval($10683),$10684,$10685,$10686,$10687,$10688,$10689,$10690,$10691,$10692,$10693,$10694,$10695,$10696),(nextval($10697),$10698,$10699,$10700,$10701,$10702,$10703,$10704,$10705,$10706,$10707,$10708,$10709,$10710),(nextval($10711),$10712,$10713,$10714,$10715,$10716,$10717,$10718,$10719,$10720,$10721,$10722,$10723,$10724),(nextval($10725),$10726,$10727,$10728,$10729,$10730,$10731,$10732,$10733,$10734,$10735,$10736,$10737,$10738),(nextval($10739),$10740,$10741,$10742,$10743,$10744,$10745,$10746,$10747,$10748,$10749,$10750,$10751,$10752),(nextval($10753),$10754,$10755,$10756,$10757,$10758,$10759,$10760,$10761,$10762,$10763,$10764,$10765,$10766),(nextval($10767),$10768,$10769,$10770,$10771,$10772,$10773,$10774,$10775,$10776,$10777,$10778,$10779,$10780),(nextval($10781),$10782,$10783,$10784,$10785,$10786,$10787,$10788,$10789,$10790,$10791,$10792,$10793,$10794),(nextval($10795),$10796,$10797,$10798,$10799,$10800,$10801,$10802,$10803,$10804,$10805,$10806,$10807,$10808),(nextval($10809),$10810,$10811,$10812,$10813,$10814,$10815,$10816,$10817,$10818,$10819,$10820,$10821,$10822),(nextval($10823),$10824,$10825,$10826,$10827,$10828,$10829,$10830,$10831,$10832,$10833,$10834,$10835,$10836),(nextval($10837),$10838,$10839,$10840,$10841,$10842,$10843,$10844,$10845,$10846,$10847,$10848,$10849,$10850),(nextval($10851),$10852,$10853,$10854,$10855,$10856,$10857,$10858,$10859,$10860,$10861,$10862,$10863,$10864),(nextval($10865),$10866,$10867,$10868,$10869,$10870,$10871,$10872,$10873,$10874,$10875,$10876,$10877,$10878),(nextval($10879),$10880,$10881,$10882,$10883,$10884,$10885,$10886,$10887,$10888,$10889,$10890,$10891,$10892),(nextval($10893),$10894,$10895,$10896,$10897,$10898,$10899,$10900,$10901,$10902,$10903,$10904,$10905,$10906),(nextval($10907),$10908,$10909,$10910,$10911,$10912,$10913,$10914,$10915,$10916,$10917,$10918,$10919,$10920),(nextval($10921),$10922,$10923,$10924,$10925,$10926,$10927,$10928,$10929,$10930,$10931,$10932,$10933,$10934),(nextval($10935),$10936,$10937,$10938,$10939,$10940,$10941,$10942,$10943,$10944,$10945,$10946,$10947,$10948),(nextval($10949),$10950,$10951,$10952,$10953,$10954,$10955,$10956,$10957,$10958,$10959,$10960,$10961,$10962),(nextval($10963),$10964,$10965,$10966,$10967,$10968,$10969,$10970,$10971,$10972,$10973,$10974,$10975,$10976),(nextval($10977),$10978,$10979,$10980,$10981,$10982,$10983,$10984,$10985,$10986,$10987,$10988,$10989,$10990),(nextval($10991),$10992,$10993,$10994,$10995,$10996,$10997,$10998,$10999,$11000,$11001,$11002,$11003,$11004),(nextval($11005),$11006,$11007,$11008,$11009,$11010,$11011,$11012,$11013,$11014,$11015,$11016,$11017,$11018),(nextval($11019),$11020,$11021,$11022,$11023,$11024,$11025,$11026,$11027,$11028,$11029,$11030,$11031,$11032),(nextval($11033),$11034,$11035,$11036,$11037,$11038,$11039,$11040,$11041,$11042,$11043,$11044,$11045,$11046),(nextval($11047),$11048,$11049,$11050,$11051,$11052,$11053,$11054,$11055,$11056,$11057,$11058,$11059,$11060),(nextval($11061),$11062,$11063,$11064,$11065,$11066,$11067,$11068,$11069,$11070,$11071,$11072,$11073,$11074),(nextval($11075),$11076,$11077,$11078,$11079,$11080,$11081,$11082,$11083,$11084,$11085,$11086,$11087,$11088),(nextval($11089),$11090,$11091,$11092,$11093,$11094,$11095,$11096,$11097,$11098,$11099,$11100,$11101,$11102),(nextval($11103),$11104,$11105,$11106,$11107,$11108,$11109,$11110,$11111,$11112,$11113,$11114,$11115,$11116),(nextval($11117),$11118,$11119,$11120,$11121,$11122,$11123,$11124,$11125,$11126,$11127,$11128,$11129,$11130),(nextval($11131),$11132,$11133,$11134,$11135,$11136,$11137,$11138,$11139,$11140,$11141,$11142,$11143,$11144),(nextval($11145),$11146,$11147,$11148,$11149,$11150,$11151,$11152,$11153,$11154,$11155,$11156,$11157,$11158),(nextval($11159),$11160,$11161,$11162,$11163,$11164,$11165,$11166,$11167,$11168,$11169,$11170,$11171,$11172),(nextval($11173),$11174,$11175,$11176,$11177,$11178,$11179,$11180,$11181,$11182,$11183,$11184,$11185,$11186),(nextval($11187),$11188,$11189,$11190,$11191,$11192,$11193,$11194,$11195,$11196,$11197,$11198,$11199,$11200),(nextval($11201),$11202,$11203,$11204,$11205,$11206,$11207,$11208,$11209,$11210,$11211,$11212,$11213,$11214),(nextval($11215),$11216,$11217,$11218,$11219,$11220,$11221,$11222,$11223,$11224,$11225,$11226,$11227,$11228),(nextval($11229),$11230,$11231,$11232,$11233,$11234,$11235,$11236,$11237,$11238,$11239,$11240,$11241,$11242),(nextval($11243),$11244,$11245,$11246,$11247,$11248,$11249,$11250,$11251,$11252,$11253,$11254,$11255,$11256),(nextval($11257),$11258,$11259,$11260,$11261,$11262,$11263,$11264,$11265,$11266,$11267,$11268,$11269,$11270),(nextval($11271),$11272,$11273,$11274,$11275,$11276,$11277,$11278,$11279,$11280,$11281,$11282,$11283,$11284),(nextval($11285),$11286,$11287,$11288,$11289,$11290,$11291,$11292,$11293,$11294,$11295,$11296,$11297,$11298),(nextval($11299),$11300,$11301,$11302,$11303,$11304,$11305,$11306,$11307,$11308,$11309,$11310,$11311,$11312),(nextval($11313),$11314,$11315,$11316,$11317,$11318,$11319,$11320,$11321,$11322,$11323,$11324,$11325,$11326),(nextval($11327),$11328,$11329,$11330,$11331,$11332,$11333,$11334,$11335,$11336,$11337,$11338,$11339,$11340),(nextval($11341),$11342,$11343,$11344,$11345,$11346,$11347,$11348,$11349,$11350,$11351,$11352,$11353,$11354),(nextval($11355),$11356,$11357,$11358,$11359,$11360,$11361,$11362,$11363,$11364,$11365,$11366,$11367,$11368),(nextval($11369),$11370,$11371,$11372,$11373,$11374,$11375,$11376,$11377,$11378,$11379,$11380,$11381,$11382),(nextval($11383),$11384,$11385,$11386,$11387,$11388,$11389,$11390,$11391,$11392,$11393,$11394,$11395,$11396),(nextval($11397),$11398,$11399,$11400,$11401,$11402,$11403,$11404,$11405,$11406,$11407,$11408,$11409,$11410),(nextval($11411),$11412,$11413,$11414,$11415,$11416,$11417,$11418,$11419,$11420,$11421,$11422,$11423,$11424),(nextval($11425),$11426,$11427,$11428,$11429,$11430,$11431,$11432,$11433,$11434,$11435,$11436,$11437,$11438),(nextval($11439),$11440,$11441,$11442,$11443,$11444,$11445,$11446,$11447,$11448,$11449,$11450,$11451,$11452),(nextval($11453),$11454,$11455,$11456,$11457,$11458,$11459,$11460,$11461,$11462,$11463,$11464,$11465,$11466),(nextval($11467),$11468,$11469,$11470,$11471,$11472,$11473,$11474,$11475,$11476,$11477,$11478,$11479,$11480),(nextval($11481),$11482,$11483,$11484,$11485,$11486,$11487,$11488,$11489,$11490,$11491,$11492,$11493,$11494),(nextval($11495),$11496,$11497,$11498,$11499,$11500,$11501,$11502,$11503,$11504,$11505,$11506,$11507,$11508),(nextval($11509),$11510,$11511,$11512,$11513,$11514,$11515,$11516,$11517,$11518,$11519,$11520,$11521,$11522),(nextval($11523),$11524,$11525,$11526,$11527,$11528,$11529,$11530,$11531,$11532,$11533,$11534,$11535,$11536),(nextval($11537),$11538,$11539,$11540,$11541,$11542,$11543,$11544,$11545,$11546,$11547,$11548,$11549,$11550),(nextval($11551),$11552,$11553,$11554,$11555,$11556,$11557,$11558,$11559,$11560,$11561,$11562,$11563,$11564),(nextval($11565),$11566,$11567,$11568,$11569,$11570,$11571,$11572,$11573,$11574,$11575,$11576,$11577,$11578),(nextval($11579),$11580,$11581,$11582,$11583,$11584,$11585,$11586,$11587,$11588,$11589,$11590,$11591,$11592),(nextval($11593),$11594,$11595,$11596,$11597,$11598,$11599,$11600,$11601,$11602,$11603,$11604,$11605,$11606),(nextval($11607),$11608,$11609,$11610,$11611,$11612,$11613,$11614,$11615,$11616,$11617,$11618,$11619,$11620),(nextval($11621),$11622,$11623,$11624,$11625,$11626,$11627,$11628,$11629,$11630,$11631,$11632,$11633,$11634),(nextval($11635),$11636,$11637,$11638,$11639,$11640,$11641,$11642,$11643,$11644,$11645,$11646,$11647,$11648),(nextval($11649),$11650,$11651,$11652,$11653,$11654,$11655,$11656,$11657,$11658,$11659,$11660,$11661,$11662),(nextval($11663),$11664,$11665,$11666,$11667,$11668,$11669,$11670,$11671,$11672,$11673,$11674,$11675,$11676),(nextval($11677),$11678,$11679,$11680,$11681,$11682,$11683,$11684,$11685,$11686,$11687,$11688,$11689,$11690),(nextval($11691),$11692,$11693,$11694,$11695,$11696,$11697,$11698,$11699,$11700,$11701,$11702,$11703,$11704),(nextval($11705),$11706,$11707,$11708,$11709,$11710,$11711,$11712,$11713,$11714,$11715,$11716,$11717,$11718),(nextval($11719),$11720,$11721,$11722,$11723,$11724,$11725,$11726,$11727,$11728,$11729,$11730,$11731,$11732),(nextval($11733),$11734,$11735,$11736,$11737,$11738,$11739,$11740,$11741,$11742,$11743,$11744,$11745,$11746),(nextval($11747),$11748,$11749,$11750,$11751,$11752,$11753,$11754,$11755,$11756,$11757,$11758,$11759,$11760),(nextval($11761),$11762,$11763,$11764,$11765,$11766,$11767,$11768,$11769,$11770,$11771,$11772,$11773,$11774),(nextval($11775),$11776,$11777,$11778,$11779,$11780,$11781,$11782,$11783,$11784,$11785,$11786,$11787,$11788),(nextval($11789),$11790,$11791,$11792,$11793,$11794,$11795,$11796,$11797,$11798,$11799,$11800,$11801,$11802),(nextval($11803),$11804,$11805,$11806,$11807,$11808,$11809,$11810,$11811,$11812,$11813,$11814,$11815,$11816),(nextval($11817),$11818,$11819,$11820,$11821,$11822,$11823,$11824,$11825,$11826,$11827,$11828,$11829,$11830),(nextval($11831),$11832,$11833,$11834,$11835,$11836,$11837,$11838,$11839,$11840,$11841,$11842,$11843,$11844),(nextval($11845),$11846,$11847,$11848,$11849,$11850,$11851,$11852,$11853,$11854,$11855,$11856,$11857,$11858),(nextval($11859),$11860,$11861,$11862,$11863,$11864,$11865,$11866,$11867,$11868,$11869,$11870,$11871,$11872),(nextval($11873),$11874,$11875,$11876,$11877,$11878,$11879,$11880,$11881,$11882,$11883,$11884,$11885,$11886),(nextval($11887),$11888,$11889,$11890,$11891,$11892,$11893,$11894,$11895,$11896,$11897,$11898,$11899,$11900),(nextval($11901),$11902,$11903,$11904,$11905,$11906,$11907,$11908,$11909,$11910,$11911,$11912,$11913,$11914),(nextval($11915),$11916,$11917,$11918,$11919,$11920,$11921,$11922,$11923,$11924,$11925,$11926,$11927,$11928),(nextval($11929),$11930,$11931,$11932,$11933,$11934,$11935,$11936,$11937,$11938,$11939,$11940,$11941,$11942),(nextval($11943),$11944,$11945,$11946,$11947,$11948,$11949,$11950,$11951,$11952,$11953,$11954,$11955,$11956),(nextval($11957),$11958,$11959,$11960,$11961,$11962,$11963,$11964,$11965,$11966,$11967,$11968,$11969,$11970),(nextval($11971),$11972,$11973,$11974,$11975,$11976,$11977,$11978,$11979,$11980,$11981,$11982,$11983,$11984),(nextval($11985),$11986,$11987,$11988,$11989,$11990,$11991,$11992,$11993,$11994,$11995,$11996,$11997,$11998),(nextval($11999),$12000,$12001,$12002,$12003,$12004,$12005,$12006,$12007,$12008,$12009,$12010,$12011,$12012),(nextval($12013),$12014,$12015,$12016,$12017,$12018,$12019,$12020,$12021,$12022,$12023,$12024,$12025,$12026),(nextval($12027),$12028,$12029,$12030,$12031,$12032,$12033,$12034,$12035,$12036,$12037,$12038,$12039,$12040),(nextval($12041),$12042,$12043,$12044,$12045,$12046,$12047,$12048,$12049,$12050,$12051,$12052,$12053,$12054),(nextval($12055),$12056,$12057,$12058,$12059,$12060,$12061,$12062,$12063,$12064,$12065,$12066,$12067,$12068),(nextval($12069),$12070,$12071,$12072,$12073,$12074,$12075,$12076,$12077,$12078,$12079,$12080,$12081,$12082),(nextval($12083),$12084,$12085,$12086,$12087,$12088,$12089,$12090,$12091,$12092,$12093,$12094,$12095,$12096),(nextval($12097),$12098,$12099,$12100,$12101,$12102,$12103,$12104,$12105,$12106,$12107,$12108,$12109,$12110),(nextval($12111),$12112,$12113,$12114,$12115,$12116,$12117,$12118,$12119,$12120,$12121,$12122,$12123,$12124),(nextval($12125),$12126,$12127,$12128,$12129,$12130,$12131,$12132,$12133,$12134,$12135,$12136,$12137,$12138),(nextval($12139),$12140,$12141,$12142,$12143,$12144,$12145,$12146,$12147,$12148,$12149,$12150,$12151,$12152),(nextval($12153),$12154,$12155,$12156,$12157,$12158,$12159,$12160,$12161,$12162,$12163,$12164,$12165,$12166),(nextval($12167),$12168,$12169,$12170,$12171,$12172,$12173,$12174,$12175,$12176,$12177,$12178,$12179,$12180),(nextval($12181),$12182,$12183,$12184,$12185,$12186,$12187,$12188,$12189,$12190,$12191,$12192,$12193,$12194),(nextval($12195),$12196,$12197,$12198,$12199,$12200,$12201,$12202,$12203,$12204,$12205,$12206,$12207,$12208),(nextval($12209),$12210,$12211,$12212,$12213,$12214,$12215,$12216,$12217,$12218,$12219,$12220,$12221,$12222),(nextval($12223),$12224,$12225,$12226,$12227,$12228,$12229,$12230,$12231,$12232,$12233,$12234,$12235,$12236),(nextval($12237),$12238,$12239,$12240,$12241,$12242,$12243,$12244,$12245,$12246,$12247,$12248,$12249,$12250),(nextval($12251),$12252,$12253,$12254,$12255,$12256,$12257,$12258,$12259,$12260,$12261,$12262,$12263,$12264),(nextval($12265),$12266,$12267,$12268,$12269,$12270,$12271,$12272,$12273,$12274,$12275,$12276,$12277,$12278),(nextval($12279),$12280,$12281,$12282,$12283,$12284,$12285,$12286,$12287,$12288,$12289,$12290,$12291,$12292),(nextval($12293),$12294,$12295,$12296,$12297,$12298,$12299,$12300,$12301,$12302,$12303,$12304,$12305,$12306),(nextval($12307),$12308,$12309,$12310,$12311,$12312,$12313,$12314,$12315,$12316,$12317,$12318,$12319,$12320),(nextval($12321),$12322,$12323,$12324,$12325,$12326,$12327,$12328,$12329,$12330,$12331,$12332,$12333,$12334),(nextval($12335),$12336,$12337,$12338,$12339,$12340,$12341,$12342,$12343,$12344,$12345,$12346,$12347,$12348),(nextval($12349),$12350,$12351,$12352,$12353,$12354,$12355,$12356,$12357,$12358,$12359,$12360,$12361,$12362),(nextval($12363),$12364,$12365,$12366,$12367,$12368,$12369,$12370,$12371,$12372,$12373,$12374,$12375,$12376),(nextval($12377),$12378,$12379,$12380,$12381,$12382,$12383,$12384,$12385,$12386,$12387,$12388,$12389,$12390),(nextval($12391),$12392,$12393,$12394,$12395,$12396,$12397,$12398,$12399,$12400,$12401,$12402,$12403,$12404),(nextval($12405),$12406,$12407,$12408,$12409,$12410,$12411,$12412,$12413,$12414,$12415,$12416,$12417,$12418),(nextval($12419),$12420,$12421,$12422,$12423,$12424,$12425,$12426,$12427,$12428,$12429,$12430,$12431,$12432),(nextval($12433),$12434,$12435,$12436,$12437,$12438,$12439,$12440,$12441,$12442,$12443,$12444,$12445,$12446),(nextval($12447),$12448,$12449,$12450,$12451,$12452,$12453,$12454,$12455,$12456,$12457,$12458,$12459,$12460),(nextval($12461),$12462,$12463,$12464,$12465,$12466,$12467,$12468,$12469,$12470,$12471,$12472,$12473,$12474),(nextval($12475),$12476,$12477,$12478,$12479,$12480,$12481,$12482,$12483,$12484,$12485,$12486,$12487,$12488),(nextval($12489),$12490,$12491,$12492,$12493,$12494,$12495,$12496,$12497,$12498,$12499,$12500,$12501,$12502),(nextval($12503),$12504,$12505,$12506,$12507,$12508,$12509,$12510,$12511,$12512,$12513,$12514,$12515,$12516),(nextval($12517),$12518,$12519,$12520,$12521,$12522,$12523,$12524,$12525,$12526,$12527,$12528,$12529,$12530),(nextval($12531),$12532,$12533,$12534,$12535,$12536,$12537,$12538,$12539,$12540,$12541,$12542,$12543,$12544),(nextval($12545),$12546,$12547,$12548,$12549,$12550,$12551,$12552,$12553,$12554,$12555,$12556,$12557,$12558),(nextval($12559),$12560,$12561,$12562,$12563,$12564,$12565,$12566,$12567,$12568,$12569,$12570,$12571,$12572),(nextval($12573),$12574,$12575,$12576,$12577,$12578,$12579,$12580,$12581,$12582,$12583,$12584,$12585,$12586),(nextval($12587),$12588,$12589,$12590,$12591,$12592,$12593,$12594,$12595,$12596,$12597,$12598,$12599,$12600),(nextval($12601),$12602,$12603,$12604,$12605,$12606,$12607,$12608,$12609,$12610,$12611,$12612,$12613,$12614),(nextval($12615),$12616,$12617,$12618,$12619,$12620,$12621,$12622,$12623,$12624,$12625,$12626,$12627,$12628),(nextval($12629),$12630,$12631,$12632,$12633,$12634,$12635,$12636,$12637,$12638,$12639,$12640,$12641,$12642),(nextval($12643),$12644,$12645,$12646,$12647,$12648,$12649,$12650,$12651,$12652,$12653,$12654,$12655,$12656),(nextval($12657),$12658,$12659,$12660,$12661,$12662,$12663,$12664,$12665,$12666,$12667,$12668,$12669,$12670),(nextval($12671),$12672,$12673,$12674,$12675,$12676,$12677,$12678,$12679,$12680,$12681,$12682,$12683,$12684),(nextval($12685),$12686,$12687,$12688,$12689,$12690,$12691,$12692,$12693,$12694,$12695,$12696,$12697,$12698),(nextval($12699),$12700,$12701,$12702,$12703,$12704,$12705,$12706,$12707,$12708,$12709,$12710,$12711,$12712),(nextval($12713),$12714,$12715,$12716,$12717,$12718,$12719,$12720,$12721,$12722,$12723,$12724,$12725,$12726),(nextval($12727),$12728,$12729,$12730,$12731,$12732,$12733,$12734,$12735,$12736,$12737,$12738,$12739,$12740),(nextval($12741),$12742,$12743,$12744,$12745,$12746,$12747,$12748,$12749,$12750,$12751,$12752,$12753,$12754),(nextval($12755),$12756,$12757,$12758,$12759,$12760,$12761,$12762,$12763,$12764,$12765,$12766,$12767,$12768),(nextval($12769),$12770,$12771,$12772,$12773,$12774,$12775,$12776,$12777,$12778,$12779,$12780,$12781,$12782),(nextval($12783),$12784,$12785,$12786,$12787,$12788,$12789,$12790,$12791,$12792,$12793,$12794,$12795,$12796),(nextval($12797),$12798,$12799,$12800,$12801,$12802,$12803,$12804,$12805,$12806,$12807,$12808,$12809,$12810),(nextval($12811),$12812,$12813,$12814,$12815,$12816,$12817,$12818,$12819,$12820,$12821,$12822,$12823,$12824),(nextval($12825),$12826,$12827,$12828,$12829,$12830,$12831,$12832,$12833,$12834,$12835,$12836,$12837,$12838),(nextval($12839),$12840,$12841,$12842,$12843,$12844,$12845,$12846,$12847,$12848,$12849,$12850,$12851,$12852),(nextval($12853),$12854,$12855,$12856,$12857,$12858,$12859,$12860,$12861,$12862,$12863,$12864,$12865,$12866),(nextval($12867),$12868,$12869,$12870,$12871,$12872,$12873,$12874,$12875,$12876,$12877,$12878,$12879,$12880),(nextval($12881),$12882,$12883,$12884,$12885,$12886,$12887,$12888,$12889,$12890,$12891,$12892,$12893,$12894),(nextval($12895),$12896,$12897,$12898,$12899,$12900,$12901,$12902,$12903,$12904,$12905,$12906,$12907,$12908),(nextval($12909),$12910,$12911,$12912,$12913,$12914,$12915,$12916,$12917,$12918,$12919,$12920,$12921,$12922),(nextval($12923),$12924,$12925,$12926,$12927,$12928,$12929,$12930,$12931,$12932,$12933,$12934,$12935,$12936),(nextval($12937),$12938,$12939,$12940,$12941,$12942,$12943,$12944,$12945,$12946,$12947,$12948,$12949,$12950),(nextval($12951),$12952,$12953,$12954,$12955,$12956,$12957,$12958,$12959,$12960,$12961,$12962,$12963,$12964),(nextval($12965),$12966,$12967,$12968,$12969,$12970,$12971,$12972,$12973,$12974,$12975,$12976,$12977,$12978),(nextval($12979),$12980,$12981,$12982,$12983,$12984,$12985,$12986,$12987,$12988,$12989,$12990,$12991,$12992),(nextval($12993),$12994,$12995,$12996,$12997,$12998,$12999,$13000,$13001,$13002,$13003,$13004,$13005,$13006),(nextval($13007),$13008,$13009,$13010,$13011,$13012,$13013,$13014,$13015,$13016,$13017,$13018,$13019,$13020),(nextval($13021),$13022,$13023,$13024,$13025,$13026,$13027,$13028,$13029,$13030,$13031,$13032,$13033,$13034),(nextval($13035),$13036,$13037,$13038,$13039,$13040,$13041,$13042,$13043,$13044,$13045,$13046,$13047,$13048),(nextval($13049),$13050,$13051,$13052,$13053,$13054,$13055,$13056,$13057,$13058,$13059,$13060,$13061,$13062),(nextval($13063),$13064,$13065,$13066,$13067,$13068,$13069,$13070,$13071,$13072,$13073,$13074,$13075,$13076),(nextval($13077),$13078,$13079,$13080,$13081,$13082,$13083,$13084,$13085,$13086,$13087,$13088,$13089,$13090),(nextval($13091),$13092,$13093,$13094,$13095,$13096,$13097,$13098,$13099,$13100,$13101,$13102,$13103,$13104),(nextval($13105),$13106,$13107,$13108,$13109,$13110,$13111,$13112,$13113,$13114,$13115,$13116,$13117,$13118),(nextval($13119),$13120,$13121,$13122,$13123,$13124,$13125,$13126,$13127,$13128,$13129,$13130,$13131,$13132),(nextval($13133),$13134,$13135,$13136,$13137,$13138,$13139,$13140,$13141,$13142,$13143,$13144,$13145,$13146),(nextval($13147),$13148,$13149,$13150,$13151,$13152,$13153,$13154,$13155,$13156,$13157,$13158,$13159,$13160),(nextval($13161),$13162,$13163,$13164,$13165,$13166,$13167,$13168,$13169,$13170,$13171,$13172,$13173,$13174),(nextval($13175),$13176,$13177,$13178,$13179,$13180,$13181,$13182,$13183,$13184,$13185,$13186,$13187,$13188),(nextval($13189),$13190,$13191,$13192,$13193,$13194,$13195,$13196,$13197,$13198,$13199,$13200,$13201,$13202),(nextval($13203),$13204,$13205,$13206,$13207,$13208,$13209,$13210,$13211,$13212,$13213,$13214,$13215,$13216),(nextval($13217),$13218,$13219,$13220,$13221,$13222,$13223,$13224,$13225,$13226,$13227,$13228,$13229,$13230),(nextval($13231),$13232,$13233,$13234,$13235,$13236,$13237,$13238,$13239,$13240,$13241,$13242,$13243,$13244),(nextval($13245),$13246,$13247,$13248,$13249,$13250,$13251,$13252,$13253,$13254,$13255,$13256,$13257,$13258),(nextval($13259),$13260,$13261,$13262,$13263,$13264,$13265,$13266,$13267,$13268,$13269,$13270,$13271,$13272),(nextval($13273),$13274,$13275,$13276,$13277,$13278,$13279,$13280,$13281,$13282,$13283,$13284,$13285,$13286),(nextval($13287),$13288,$13289,$13290,$13291,$13292,$13293,$13294,$13295,$13296,$13297,$13298,$13299,$13300),(nextval($13301),$13302,$13303,$13304,$13305,$13306,$13307,$13308,$13309,$13310,$13311,$13312,$13313,$13314),(nextval($13315),$13316,$13317,$13318,$13319,$13320,$13321,$13322,$13323,$13324,$13325,$13326,$13327,$13328),(nextval($13329),$13330,$13331,$13332,$13333,$13334,$13335,$13336,$13337,$13338,$13339,$13340,$13341,$13342),(nextval($13343),$13344,$13345,$13346,$13347,$13348,$13349,$13350,$13351,$13352,$13353,$13354,$13355,$13356),(nextval($13357),$13358,$13359,$13360,$13361,$13362,$13363,$13364,$13365,$13366,$13367,$13368,$13369,$13370),(nextval($13371),$13372,$13373,$13374,$13375,$13376,$13377,$13378,$13379,$13380,$13381,$13382,$13383,$13384),(nextval($13385),$13386,$13387,$13388,$13389,$13390,$13391,$13392,$13393,$13394,$13395,$13396,$13397,$13398),(nextval($13399),$13400,$13401,$13402,$13403,$13404,$13405,$13406,$13407,$13408,$13409,$13410,$13411,$13412),(nextval($13413),$13414,$13415,$13416,$13417,$13418,$13419,$13420,$13421,$13422,$13423,$13424,$13425,$13426),(nextval($13427),$13428,$13429,$13430,$13431,$13432,$13433,$13434,$13435,$13436,$13437,$13438,$13439,$13440),(nextval($13441),$13442,$13443,$13444,$13445,$13446,$13447,$13448,$13449,$13450,$13451,$13452,$13453,$13454),(nextval($13455),$13456,$13457,$13458,$13459,$13460,$13461,$13462,$13463,$13464,$13465,$13466,$13467,$13468),(nextval($13469),$13470,$13471,$13472,$13473,$13474,$13475,$13476,$13477,$13478,$13479,$13480,$13481,$13482),(nextval($13483),$13484,$13485,$13486,$13487,$13488,$13489,$13490,$13491,$13492,$13493,$13494,$13495,$13496),(nextval($13497),$13498,$13499,$13500,$13501,$13502,$13503,$13504,$13505,$13506,$13507,$13508,$13509,$13510),(nextval($13511),$13512,$13513,$13514,$13515,$13516,$13517,$13518,$13519,$13520,$13521,$13522,$13523,$13524),(nextval($13525),$13526,$13527,$13528,$13529,$13530,$13531,$13532,$13533,$13534,$13535,$13536,$13537,$13538),(nextval($13539),$13540,$13541,$13542,$13543,$13544,$13545,$13546,$13547,$13548,$13549,$13550,$13551,$13552),(nextval($13553),$13554,$13555,$13556,$13557,$13558,$13559,$13560,$13561,$13562,$13563,$13564,$13565,$13566),(nextval($13567),$13568,$13569,$13570,$13571,$13572,$13573,$13574,$13575,$13576,$13577,$13578,$13579,$13580),(nextval($13581),$13582,$13583,$13584,$13585,$13586,$13587,$13588,$13589,$13590,$13591,$13592,$13593,$13594),(nextval($13595),$13596,$13597,$13598,$13599,$13600,$13601,$13602,$13603,$13604,$13605,$13606,$13607,$13608),(nextval($13609),$13610,$13611,$13612,$13613,$13614,$13615,$13616,$13617,$13618,$13619,$13620,$13621,$13622),(nextval($13623),$13624,$13625,$13626,$13627,$13628,$13629,$13630,$13631,$13632,$13633,$13634,$13635,$13636),(nextval($13637),$13638,$13639,$13640,$13641,$13642,$13643,$13644,$13645,$13646,$13647,$13648,$13649,$13650),(nextval($13651),$13652,$13653,$13654,$13655,$13656,$13657,$13658,$13659,$13660,$13661,$13662,$13663,$13664),(nextval($13665),$13666,$13667,$13668,$13669,$13670,$13671,$13672,$13673,$13674,$13675,$13676,$13677,$13678),(nextval($13679),$13680,$13681,$13682,$13683,$13684,$13685,$13686,$13687,$13688,$13689,$13690,$13691,$13692),(nextval($13693),$13694,$13695,$13696,$13697,$13698,$13699,$13700,$13701,$13702,$13703,$13704,$13705,$13706),(nextval($13707),$13708,$13709,$13710,$13711,$13712,$13713,$13714,$13715,$13716,$13717,$13718,$13719,$13720),(nextval($13721),$13722,$13723,$13724,$13725,$13726,$13727,$13728,$13729,$13730,$13731,$13732,$13733,$13734),(nextval($13735),$13736,$13737,$13738,$13739,$13740,$13741,$13742,$13743,$13744,$13745,$13746,$13747,$13748),(nextval($13749),$13750,$13751,$13752,$13753,$13754,$13755,$13756,$13757,$13758,$13759,$13760,$13761,$13762),(nextval($13763),$13764,$13765,$13766,$13767,$13768,$13769,$13770,$13771,$13772,$13773,$13774,$13775,$13776),(nextval($13777),$13778,$13779,$13780,$13781,$13782,$13783,$13784,$13785,$13786,$13787,$13788,$13789,$13790),(nextval($13791),$13792,$13793,$13794,$13795,$13796,$13797,$13798,$13799,$13800,$13801,$13802,$13803,$13804),(nextval($13805),$13806,$13807,$13808,$13809,$13810,$13811,$13812,$13813,$13814,$13815,$13816,$13817,$13818),(nextval($13819),$13820,$13821,$13822,$13823,$13824,$13825,$13826,$13827,$13828,$13829,$13830,$13831,$13832),(nextval($13833),$13834,$13835,$13836,$13837,$13838,$13839,$13840,$13841,$13842,$13843,$13844,$13845,$13846),(nextval($13847),$13848,$13849,$13850,$13851,$13852,$13853,$13854,$13855,$13856,$13857,$13858,$13859,$13860),(nextval($13861),$13862,$13863,$13864,$13865,$13866,$13867,$13868,$13869,$13870,$13871,$13872,$13873,$13874),(nextval($13875),$13876,$13877,$13878,$13879,$13880,$13881,$13882,$13883,$13884,$13885,$13886,$13887,$13888),(nextval($13889),$13890,$13891,$13892,$13893,$13894,$13895,$13896,$13897,$13898,$13899,$13900,$13901,$13902),(nextval($13903),$13904,$13905,$13906,$13907,$13908,$13909,$13910,$13911,$13912,$13913,$13914,$13915,$13916),(nextval($13917),$13918,$13919,$13920,$13921,$13922,$13923,$13924,$13925,$13926,$13927,$13928,$13929,$13930),(nextval($13931),$13932,$13933,$13934,$13935,$13936,$13937,$13938,$13939,$13940,$13941,$13942,$13943,$13944),(nextval($13945),$13946,$13947,$13948,$13949,$13950,$13951,$13952,$13953,$13954,$13955,$13956,$13957,$13958),(nextval($13959),$13960,$13961,$13962,$13963,$13964,$13965,$13966,$13967,$13968,$13969,$13970,$13971,$13972),(nextval($13973),$13974,$13975,$13976,$13977,$13978,$13979,$13980,$13981,$13982,$13983,$13984,$13985,$13986),(nextval($13987),$13988,$13989,$13990,$13991,$13992,$13993,$13994,$13995,$13996,$13997,$13998,$13999,$14000),(nextval($14001),$14002,$14003,$14004,$14005,$14006,$14007,$14008,$14009,$14010,$14011,$14012,$14013,$14014),(nextval($14015),$14016,$14017,$14018,$14019,$14020,$14021,$14022,$14023,$14024,$14025,$14026,$14027,$14028),(nextval($14029),$14030,$14031,$14032,$14033,$14034,$14035,$14036,$14037,$14038,$14039,$14040,$14041,$14042),(nextval($14043),$14044,$14045,$14046,$14047,$14048,$14049,$14050,$14051,$14052,$14053,$14054,$14055,$14056),(nextval($14057),$14058,$14059,$14060,$14061,$14062,$14063,$14064,$14065,$14066,$14067,$14068,$14069,$14070),(nextval($14071),$14072,$14073,$14074,$14075,$14076,$14077,$14078,$14079,$14080,$14081,$14082,$14083,$14084),(nextval($14085),$14086,$14087,$14088,$14089,$14090,$14091,$14092,$14093,$14094,$14095,$14096,$14097,$14098),(nextval($14099),$14100,$14101,$14102,$14103,$14104,$14105,$14106,$14107,$14108,$14109,$14110,$14111,$14112),(nextval($14113),$14114,$14115,$14116,$14117,$14118,$14119,$14120,$14121,$14122,$14123,$14124,$14125,$14126),(nextval($14127),$14128,$14129,$14130,$14131,$14132,$14133,$14134,$14135,$14136,$14137,$14138,$14139,$14140),(nextval($14141),$14142,$14143,$14144,$14145,$14146,$14147,$14148,$14149,$14150,$14151,$14152,$14153,$14154),(nextval($14155),$14156,$14157,$14158,$14159,$14160,$14161,$14162,$14163,$14164,$14165,$14166,$14167,$14168),(nextval($14169),$14170,$14171,$14172,$14173,$14174,$14175,$14176,$14177,$14178,$14179,$14180,$14181,$14182),(nextval($14183),$14184,$14185,$14186,$14187,$14188,$14189,$14190,$14191,$14192,$14193,$14194,$14195,$14196),(nextval($14197),$14198,$14199,$14200,$14201,$14202,$14203,$14204,$14205,$14206,$14207,$14208,$14209,$14210),(nextval($14211),$14212,$14213,$14214,$14215,$14216,$14217,$14218,$14219,$14220,$14221,$14222,$14223,$14224),(nextval($14225),$14226,$14227,$14228,$14229,$14230,$14231,$14232,$14233,$14234,$14235,$14236,$14237,$14238),(nextval($14239),$14240,$14241,$14242,$14243,$14244,$14245,$14246,$14247,$14248,$14249,$14250,$14251,$14252),(nextval($14253),$14254,$14255,$14256,$14257,$14258,$14259,$14260,$14261,$14262,$14263,$14264,$14265,$14266),(nextval($14267),$14268,$14269,$14270,$14271,$14272,$14273,$14274,$14275,$14276,$14277,$14278,$14279,$14280),(nextval($14281),$14282,$14283,$14284,$14285,$14286,$14287,$14288,$14289,$14290,$14291,$14292,$14293,$14294),(nextval($14295),$14296,$14297,$14298,$14299,$14300,$14301,$14302,$14303,$14304,$14305,$14306,$14307,$14308),(nextval($14309),$14310,$14311,$14312,$14313,$14314,$14315,$14316,$14317,$14318,$14319,$14320,$14321,$14322),(nextval($14323),$14324,$14325,$14326,$14327,$14328,$14329,$14330,$14331,$14332,$14333,$14334,$14335,$14336),(nextval($14337),$14338,$14339,$14340,$14341,$14342,$14343,$14344,$14345,$14346,$14347,$14348,$14349,$14350),(nextval($14351),$14352,$14353,$14354,$14355,$14356,$14357,$14358,$14359,$14360,$14361,$14362,$14363,$14364),(nextval($14365),$14366,$14367,$14368,$14369,$14370,$14371,$14372,$14373,$14374,$14375,$14376,$14377,$14378),(nextval($14379),$14380,$14381,$14382,$14383,$14384,$14385,$14386,$14387,$14388,$14389,$14390,$14391,$14392),(nextval($14393),$14394,$14395,$14396,$14397,$14398,$14399,$14400,$14401,$14402,$14403,$14404,$14405,$14406),(nextval($14407),$14408,$14409,$14410,$14411,$14412,$14413,$14414,$14415,$14416,$14417,$14418,$14419,$14420),(nextval($14421),$14422,$14423,$14424,$14425,$14426,$14427,$14428,$14429,$14430,$14431,$14432,$14433,$14434),(nextval($14435),$14436,$14437,$14438,$14439,$14440,$14441,$14442,$14443,$14444,$14445,$14446,$14447,$14448),(nextval($14449),$14450,$14451,$14452,$14453,$14454,$14455,$14456,$14457,$14458,$14459,$14460,$14461,$14462),(nextval($14463),$14464,$14465,$14466,$14467,$14468,$14469,$14470,$14471,$14472,$14473,$14474,$14475,$14476),(nextval($14477),$14478,$14479,$14480,$14481,$14482,$14483,$14484,$14485,$14486,$14487,$14488,$14489,$14490),(nextval($14491),$14492,$14493,$14494,$14495,$14496,$14497,$14498,$14499,$14500,$14501,$14502,$14503,$14504),(nextval($14505),$14506,$14507,$14508,$14509,$14510,$14511,$14512,$14513,$14514,$14515,$14516,$14517,$14518),(nextval($14519),$14520,$14521,$14522,$14523,$14524,$14525,$14526,$14527,$14528,$14529,$14530,$14531,$14532),(nextval($14533),$14534,$14535,$14536,$14537,$14538,$14539,$14540,$14541,$14542,$14543,$14544,$14545,$14546),(nextval($14547),$14548,$14549,$14550,$14551,$14552,$14553,$14554,$14555,$14556,$14557,$14558,$14559,$14560),(nextval($14561),$14562,$14563,$14564,$14565,$14566,$14567,$14568,$14569,$14570,$14571,$14572,$14573,$14574),(nextval($14575),$14576,$14577,$14578,$14579,$14580,$14581,$14582,$14583,$14584,$14585,$14586,$14587,$14588),(nextval($14589),$14590,$14591,$14592,$14593,$14594,$14595,$14596,$14597,$14598,$14599,$14600,$14601,$14602),(nextval($14603),$14604,$14605,$14606,$14607,$14608,$14609,$14610,$14611,$14612,$14613,$14614,$14615,$14616),(nextval($14617),$14618,$14619,$14620,$14621,$14622,$14623,$14624,$14625,$14626,$14627,$14628,$14629,$14630),(nextval($14631),$14632,$14633,$14634,$14635,$14636,$14637,$14638,$14639,$14640,$14641,$14642,$14643,$14644),(nextval($14645),$14646,$14647,$14648,$14649,$14650,$14651,$14652,$14653,$14654,$14655,$14656,$14657,$14658),(nextval($14659),$14660,$14661,$14662,$14663,$14664,$14665,$14666,$14667,$14668,$14669,$14670,$14671,$14672),(nextval($14673),$14674,$14675,$14676,$14677,$14678,$14679,$14680,$14681,$14682,$14683,$14684,$14685,$14686),(nextval($14687),$14688,$14689,$14690,$14691,$14692,$14693,$14694,$14695,$14696,$14697,$14698,$14699,$14700),(nextval($14701),$14702,$14703,$14704,$14705,$14706,$14707,$14708,$14709,$14710,$14711,$14712,$14713,$14714),(nextval($14715),$14716,$14717,$14718,$14719,$14720,$14721,$14722,$14723,$14724,$14725,$14726,$14727,$14728),(nextval($14729),$14730,$14731,$14732,$14733,$14734,$14735,$14736,$14737,$14738,$14739,$14740,$14741,$14742),(nextval($14743),$14744,$14745,$14746,$14747,$14748,$14749,$14750,$14751,$14752,$14753,$14754,$14755,$14756),(nextval($14757),$14758,$14759,$14760,$14761,$14762,$14763,$14764,$14765,$14766,$14767,$14768,$14769,$14770),(nextval($14771),$14772,$14773,$14774,$14775,$14776,$14777,$14778,$14779,$14780,$14781,$14782,$14783,$14784),(nextval($14785),$14786,$14787,$14788,$14789,$14790,$14791,$14792,$14793,$14794,$14795,$14796,$14797,$14798),(nextval($14799),$14800,$14801,$14802,$14803,$14804,$14805,$14806,$14807,$14808,$14809,$14810,$14811,$14812),(nextval($14813),$14814,$14815,$14816,$14817,$14818,$14819,$14820,$14821,$14822,$14823,$14824,$14825,$14826),(nextval($14827),$14828,$14829,$14830,$14831,$14832,$14833,$14834,$14835,$14836,$14837,$14838,$14839,$14840),(nextval($14841),$14842,$14843,$14844,$14845,$14846,$14847,$14848,$14849,$14850,$14851,$14852,$14853,$14854),(nextval($14855),$14856,$14857,$14858,$14859,$14860,$14861,$14862,$14863,$14864,$14865,$14866,$14867,$14868),(nextval($14869),$14870,$14871,$14872,$14873,$14874,$14875,$14876,$14877,$14878,$14879,$14880,$14881,$14882),(nextval($14883),$14884,$14885,$14886,$14887,$14888,$14889,$14890,$14891,$14892,$14893,$14894,$14895,$14896),(nextval($14897),$14898,$14899,$14900,$14901,$14902,$14903,$14904,$14905,$14906,$14907,$14908,$14909,$14910),(nextval($14911),$14912,$14913,$14914,$14915,$14916,$14917,$14918,$14919,$14920,$14921,$14922,$14923,$14924),(nextval($14925),$14926,$14927,$14928,$14929,$14930,$14931,$14932,$14933,$14934,$14935,$14936,$14937,$14938),(nextval($14939),$14940,$14941,$14942,$14943,$14944,$14945,$14946,$14947,$14948,$14949,$14950,$14951,$14952),(nextval($14953),$14954,$14955,$14956,$14957,$14958,$14959,$14960,$14961,$14962,$14963,$14964,$14965,$14966),(nextval($14967),$14968,$14969,$14970,$14971,$14972,$14973,$14974,$14975,$14976,$14977,$14978,$14979,$14980),(nextval($14981),$14982,$14983,$14984,$14985,$14986,$14987,$14988,$14989,$14990,$14991,$14992,$14993,$14994),(nextval($14995),$14996,$14997,$14998,$14999,$15000,$15001,$15002,$15003,$15004,$15005,$15006,$15007,$15008),(nextval($15009),$15010,$15011,$15012,$15013,$15014,$15015,$15016,$15017,$15018,$15019,$15020,$15021,$15022),(nextval($15023),$15024,$15025,$15026,$15027,$15028,$15029,$15030,$15031,$15032,$15033,$15034,$15035,$15036),(nextval($15037),$15038,$15039,$15040,$15041,$15042,$15043,$15044,$15045,$15046,$15047,$15048,$15049,$15050),(nextval($15051),$15052,$15053,$15054,$15055,$15056,$15057,$15058,$15059,$15060,$15061,$15062,$15063,$15064),(nextval($15065),$15066,$15067,$15068,$15069,$15070,$15071,$15072,$15073,$15074,$15075,$15076,$15077,$15078),(nextval($15079),$15080,$15081,$15082,$15083,$15084,$15085,$15086,$15087,$15088,$15089,$15090,$15091,$15092),(nextval($15093),$15094,$15095,$15096,$15097,$15098,$15099,$15100,$15101,$15102,$15103,$15104,$15105,$15106),(nextval($15107),$15108,$15109,$15110,$15111,$15112,$15113,$15114,$15115,$15116,$15117,$15118,$15119,$15120),(nextval($15121),$15122,$15123,$15124,$15125,$15126,$15127,$15128,$15129,$15130,$15131,$15132,$15133,$15134),(nextval($15135),$15136,$15137,$15138,$15139,$15140,$15141,$15142,$15143,$15144,$15145,$15146,$15147,$15148),(nextval($15149),$15150,$15151,$15152,$15153,$15154,$15155,$15156,$15157,$15158,$15159,$15160,$15161,$15162),(nextval($15163),$15164,$15165,$15166,$15167,$15168,$15169,$15170,$15171,$15172,$15173,$15174,$15175,$15176),(nextval($15177),$15178,$15179,$15180,$15181,$15182,$15183,$15184,$15185,$15186,$15187,$15188,$15189,$15190),(nextval($15191),$15192,$15193,$15194,$15195,$15196,$15197,$15198,$15199,$15200,$15201,$15202,$15203,$15204),(nextval($15205),$15206,$15207,$15208,$15209,$15210,$15211,$15212,$15213,$15214,$15215,$15216,$15217,$15218),(nextval($15219),$15220,$15221,$15222,$15223,$15224,$15225,$15226,$15227,$15228,$15229,$15230,$15231,$15232),(nextval($15233),$15234,$15235,$15236,$15237,$15238,$15239,$15240,$15241,$15242,$15243,$15244,$15245,$15246),(nextval($15247),$15248,$15249,$15250,$15251,$15252,$15253,$15254,$15255,$15256,$15257,$15258,$15259,$15260),(nextval($15261),$15262,$15263,$15264,$15265,$15266,$15267,$15268,$15269,$15270,$15271,$15272,$15273,$15274),(nextval($15275),$15276,$15277,$15278,$15279,$15280,$15281,$15282,$15283,$15284,$15285,$15286,$15287,$15288),(nextval($15289),$15290,$15291,$15292,$15293,$15294,$15295,$15296,$15297,$15298,$15299,$15300,$15301,$15302),(nextval($15303),$15304,$15305,$15306,$15307,$15308,$15309,$15310,$15311,$15312,$15313,$15314,$15315,$15316),(nextval($15317),$15318,$15319,$15320,$15321,$15322,$15323,$15324,$15325,$15326,$15327,$15328,$15329,$15330),(nextval($15331),$15332,$15333,$15334,$15335,$15336,$15337,$15338,$15339,$15340,$15341,$15342,$15343,$15344),(nextval($15345),$15346,$15347,$15348,$15349,$15350,$15351,$15352,$15353,$15354,$15355,$15356,$15357,$15358),(nextval($15359),$15360,$15361,$15362,$15363,$15364,$15365,$15366,$15367,$15368,$15369,$15370,$15371,$15372),(nextval($15373),$15374,$15375,$15376,$15377,$15378,$15379,$15380,$15381,$15382,$15383,$15384,$15385,$15386),(nextval($15387),$15388,$15389,$15390,$15391,$15392,$15393,$15394,$15395,$15396,$15397,$15398,$15399,$15400),(nextval($15401),$15402,$15403,$15404,$15405,$15406,$15407,$15408,$15409,$15410,$15411,$15412,$15413,$15414),(nextval($15415),$15416,$15417,$15418,$15419,$15420,$15421,$15422,$15423,$15424,$15425,$15426,$15427,$15428),(nextval($15429),$15430,$15431,$15432,$15433,$15434,$15435,$15436,$15437,$15438,$15439,$15440,$15441,$15442),(nextval($15443),$15444,$15445,$15446,$15447,$15448,$15449,$15450,$15451,$15452,$15453,$15454,$15455,$15456),(nextval($15457),$15458,$15459,$15460,$15461,$15462,$15463,$15464,$15465,$15466,$15467,$15468,$15469,$15470),(nextval($15471),$15472,$15473,$15474,$15475,$15476,$15477,$15478,$15479,$15480,$15481,$15482,$15483,$15484),(nextval($15485),$15486,$15487,$15488,$15489,$15490,$15491,$15492,$15493,$15494,$15495,$15496,$15497,$15498),(nextval($15499),$15500,$15501,$15502,$15503,$15504,$15505,$15506,$15507,$15508,$15509,$15510,$15511,$15512),(nextval($15513),$15514,$15515,$15516,$15517,$15518,$15519,$15520,$15521,$15522,$15523,$15524,$15525,$15526),(nextval($15527),$15528,$15529,$15530,$15531,$15532,$15533,$15534,$15535,$15536,$15537,$15538,$15539,$15540),(nextval($15541),$15542,$15543,$15544,$15545,$15546,$15547,$15548,$15549,$15550,$15551,$15552,$15553,$15554),(nextval($15555),$15556,$15557,$15558,$15559,$15560,$15561,$15562,$15563,$15564,$15565,$15566,$15567,$15568),(nextval($15569),$15570,$15571,$15572,$15573,$15574,$15575,$15576,$15577,$15578,$15579,$15580,$15581,$15582),(nextval($15583),$15584,$15585,$15586,$15587,$15588,$15589,$15590,$15591,$15592,$15593,$15594,$15595,$15596),(nextval($15597),$15598,$15599,$15600,$15601,$15602,$15603,$15604,$15605,$15606,$15607,$15608,$15609,$15610),(nextval($15611),$15612,$15613,$15614,$15615,$15616,$15617,$15618,$15619,$15620,$15621,$15622,$15623,$15624),(nextval($15625),$15626,$15627,$15628,$15629,$15630,$15631,$15632,$15633,$15634,$15635,$15636,$15637,$15638),(nextval($15639),$15640,$15641,$15642,$15643,$15644,$15645,$15646,$15647,$15648,$15649,$15650,$15651,$15652),(nextval($15653),$15654,$15655,$15656,$15657,$15658,$15659,$15660,$15661,$15662,$15663,$15664,$15665,$15666),(nextval($15667),$15668,$15669,$15670,$15671,$15672,$15673,$15674,$15675,$15676,$15677,$15678,$15679,$15680),(nextval($15681),$15682,$15683,$15684,$15685,$15686,$15687,$15688,$15689,$15690,$15691,$15692,$15693,$15694),(nextval($15695),$15696,$15697,$15698,$15699,$15700,$15701,$15702,$15703,$15704,$15705,$15706,$15707,$15708),(nextval($15709),$15710,$15711,$15712,$15713,$15714,$15715,$15716,$15717,$15718,$15719,$15720,$15721,$15722),(nextval($15723),$15724,$15725,$15726,$15727,$15728,$15729,$15730,$15731,$15732,$15733,$15734,$15735,$15736),(nextval($15737),$15738,$15739,$15740,$15741,$15742,$15743,$15744,$15745,$15746,$15747,$15748,$15749,$15750),(nextval($15751),$15752,$15753,$15754,$15755,$15756,$15757,$15758,$15759,$15760,$15761,$15762,$15763,$15764),(nextval($15765),$15766,$15767,$15768,$15769,$15770,$15771,$15772,$15773,$15774,$15775,$15776,$15777,$15778),(nextval($15779),$15780,$15781,$15782,$15783,$15784,$15785,$15786,$15787,$15788,$15789,$15790,$15791,$15792),(nextval($15793),$15794,$15795,$15796,$15797,$15798,$15799,$15800,$15801,$15802,$15803,$15804,$15805,$15806),(nextval($15807),$15808,$15809,$15810,$15811,$15812,$15813,$15814,$15815,$15816,$15817,$15818,$15819,$15820),(nextval($15821),$15822,$15823,$15824,$15825,$15826,$15827,$15828,$15829,$15830,$15831,$15832,$15833,$15834),(nextval($15835),$15836,$15837,$15838,$15839,$15840,$15841,$15842,$15843,$15844,$15845,$15846,$15847,$15848),(nextval($15849),$15850,$15851,$15852,$15853,$15854,$15855,$15856,$15857,$15858,$15859,$15860,$15861,$15862),(nextval($15863),$15864,$15865,$15866,$15867,$15868,$15869,$15870,$15871,$15872,$15873,$15874,$15875,$15876),(nextval($15877),$15878,$15879,$15880,$15881,$15882,$15883,$15884,$15885,$15886,$15887,$15888,$15889,$15890),(nextval($15891),$15892,$15893,$15894,$15895,$15896,$15897,$15898,$15899,$15900,$15901,$15902,$15903,$15904),(nextval($15905),$15906,$15907,$15908,$15909,$15910,$15911,$15912,$15913,$15914,$15915,$15916,$15917,$15918),(nextval($15919),$15920,$15921,$15922,$15923,$15924,$15925,$15926,$15927,$15928,$15929,$15930,$15931,$15932),(nextval($15933),$15934,$15935,$15936,$15937,$15938,$15939,$15940,$15941,$15942,$15943,$15944,$15945,$15946),(nextval($15947),$15948,$15949,$15950,$15951,$15952,$15953,$15954,$15955,$15956,$15957,$15958,$15959,$15960),(nextval($15961),$15962,$15963,$15964,$15965,$15966,$15967,$15968,$15969,$15970,$15971,$15972,$15973,$15974),(nextval($15975),$15976,$15977,$15978,$15979,$15980,$15981,$15982,$15983,$15984,$15985,$15986,$15987,$15988),(nextval($15989),$15990,$15991,$15992,$15993,$15994,$15995,$15996,$15997,$15998,$15999,$16000,$16001,$16002),(nextval($16003),$16004,$16005,$16006,$16007,$16008,$16009,$16010,$16011,$16012,$16013,$16014,$16015,$16016),(nextval($16017),$16018,$16019,$16020,$16021,$16022,$16023,$16024,$16025,$16026,$16027,$16028,$16029,$16030),(nextval($16031),$16032,$16033,$16034,$16035,$16036,$16037,$16038,$16039,$16040,$16041,$16042,$16043,$16044),(nextval($16045),$16046,$16047,$16048,$16049,$16050,$16051,$16052,$16053,$16054,$16055,$16056,$16057,$16058),(nextval($16059),$16060,$16061,$16062,$16063,$16064,$16065,$16066,$16067,$16068,$16069,$16070,$16071,$16072),(nextval($16073),$16074,$16075,$16076,$16077,$16078,$16079,$16080,$16081,$16082,$16083,$16084,$16085,$16086),(nextval($16087),$16088,$16089,$16090,$16091,$16092,$16093,$16094,$16095,$16096,$16097,$16098,$16099,$16100),(nextval($16101),$16102,$16103,$16104,$16105,$16106,$16107,$16108,$16109,$16110,$16111,$16112,$16113,$16114),(nextval($16115),$16116,$16117,$16118,$16119,$16120,$16121,$16122,$16123,$16124,$16125,$16126,$16127,$16128),(nextval($16129),$16130,$16131,$16132,$16133,$16134,$16135,$16136,$16137,$16138,$16139,$16140,$16141,$16142),(nextval($16143),$16144,$16145,$16146,$16147,$16148,$16149,$16150,$16151,$16152,$16153,$16154,$16155,$16156),(nextval($16157),$16158,$16159,$16160,$16161,$16162,$16163,$16164,$16165,$16166,$16167,$16168,$16169,$16170),(nextval($16171),$16172,$16173,$16174,$16175,$16176,$16177,$16178,$16179,$16180,$16181,$16182,$16183,$16184),(nextval($16185),$16186,$16187,$16188,$16189,$16190,$16191,$16192,$16193,$16194,$16195,$16196,$16197,$16198),(nextval($16199),$16200,$16201,$16202,$16203,$16204,$16205,$16206,$16207,$16208,$16209,$16210,$16211,$16212),(nextval($16213),$16214,$16215,$16216,$16217,$16218,$16219,$16220,$16221,$16222,$16223,$16224,$16225,$16226),(nextval($16227),$16228,$16229,$16230,$16231,$16232,$16233,$16234,$16235,$16236,$16237,$16238,$16239,$16240),(nextval($16241),$16242,$16243,$16244,$16245,$16246,$16247,$16248,$16249,$16250,$16251,$16252,$16253,$16254),(nextval($16255),$16256,$16257,$16258,$16259,$16260,$16261,$16262,$16263,$16264,$16265,$16266,$16267,$16268),(nextval($16269),$16270,$16271,$16272,$16273,$16274,$16275,$16276,$16277,$16278,$16279,$16280,$16281,$16282),(nextval($16283),$16284,$16285,$16286,$16287,$16288,$16289,$16290,$16291,$16292,$16293,$16294,$16295,$16296),(nextval($16297),$16298,$16299,$16300,$16301,$16302,$16303,$16304,$16305,$16306,$16307,$16308,$16309,$16310),(nextval($16311),$16312,$16313,$16314,$16315,$16316,$16317,$16318,$16319,$16320,$16321,$16322,$16323,$16324),(nextval($16325),$16326,$16327,$16328,$16329,$16330,$16331,$16332,$16333,$16334,$16335,$16336,$16337,$16338),(nextval($16339),$16340,$16341,$16342,$16343,$16344,$16345,$16346,$16347,$16348,$16349,$16350,$16351,$16352),(nextval($16353),$16354,$16355,$16356,$16357,$16358,$16359,$16360,$16361,$16362,$16363,$16364,$16365,$16366),(nextval($16367),$16368,$16369,$16370,$16371,$16372,$16373,$16374,$16375,$16376,$16377,$16378,$16379,$16380),(nextval($16381),$16382,$16383,$16384,$16385,$16386,$16387,$16388,$16389,$16390,$16391,$16392,$16393,$16394),(nextval($16395),$16396,$16397,$16398,$16399,$16400,$16401,$16402,$16403,$16404,$16405,$16406,$16407,$16408),(nextval($16409),$16410,$16411,$16412,$16413,$16414,$16415,$16416,$16417,$16418,$16419,$16420,$16421,$16422),(nextval($16423),$16424,$16425,$16426,$16427,$16428,$16429,$16430,$16431,$16432,$16433,$16434,$16435,$16436),(nextval($16437),$16438,$16439,$16440,$16441,$16442,$16443,$16444,$16445,$16446,$16447,$16448,$16449,$16450),(nextval($16451),$16452,$16453,$16454,$16455,$16456,$16457,$16458,$16459,$16460,$16461,$16462,$16463,$16464),(nextval($16465),$16466,$16467,$16468,$16469,$16470,$16471,$16472,$16473,$16474,$16475,$16476,$16477,$16478),(nextval($16479),$16480,$16481,$16482,$16483,$16484,$16485,$16486,$16487,$16488,$16489,$16490,$16491,$16492),(nextval($16493),$16494,$16495,$16496,$16497,$16498,$16499,$16500,$16501,$16502,$16503,$16504,$16505,$16506),(nextval($16507),$16508,$16509,$16510,$16511,$16512,$16513,$16514,$16515,$16516,$16517,$16518,$16519,$16520),(nextval($16521),$16522,$16523,$16524,$16525,$16526,$16527,$16528,$16529,$16530,$16531,$16532,$16533,$16534),(nextval($16535),$16536,$16537,$16538,$16539,$16540,$16541,$16542,$16543,$16544,$16545,$16546,$16547,$16548),(nextval($16549),$16550,$16551,$16552,$16553,$16554,$16555,$16556,$16557,$16558,$16559,$16560,$16561,$16562),(nextval($16563),$16564,$16565,$16566,$16567,$16568,$16569,$16570,$16571,$16572,$16573,$16574,$16575,$16576),(nextval($16577),$16578,$16579,$16580,$16581,$16582,$16583,$16584,$16585,$16586,$16587,$16588,$16589,$16590),(nextval($16591),$16592,$16593,$16594,$16595,$16596,$16597,$16598,$16599,$16600,$16601,$16602,$16603,$16604),(nextval($16605),$16606,$16607,$16608,$16609,$16610,$16611,$16612,$16613,$16614,$16615,$16616,$16617,$16618),(nextval($16619),$16620,$16621,$16622,$16623,$16624,$16625,$16626,$16627,$16628,$16629,$16630,$16631,$16632),(nextval($16633),$16634,$16635,$16636,$16637,$16638,$16639,$16640,$16641,$16642,$16643,$16644,$16645,$16646),(nextval($16647),$16648,$16649,$16650,$16651,$16652,$16653,$16654,$16655,$16656,$16657,$16658,$16659,$16660),(nextval($16661),$16662,$16663,$16664,$16665,$16666,$16667,$16668,$16669,$16670,$16671,$16672,$16673,$16674),(nextval($16675),$16676,$16677,$16678,$16679,$16680,$16681,$16682,$16683,$16684,$16685,$16686,$16687,$16688),(nextval($16689),$16690,$16691,$16692,$16693,$16694,$16695,$16696,$16697,$16698,$16699,$16700,$16701,$16702),(nextval($16703),$16704,$16705,$16706,$16707,$16708,$16709,$16710,$16711,$16712,$16713,$16714,$16715,$16716),(nextval($16717),$16718,$16719,$16720,$16721,$16722,$16723,$16724,$16725,$16726,$16727,$16728,$16729,$16730),(nextval($16731),$16732,$16733,$16734,$16735,$16736,$16737,$16738,$16739,$16740,$16741,$16742,$16743,$16744),(nextval($16745),$16746,$16747,$16748,$16749,$16750,$16751,$16752,$16753,$16754,$16755,$16756,$16757,$16758),(nextval($16759),$16760,$16761,$16762,$16763,$16764,$16765,$16766,$16767,$16768,$16769,$16770,$16771,$16772),(nextval($16773),$16774,$16775,$16776,$16777,$16778,$16779,$16780,$16781,$16782,$16783,$16784,$16785,$16786),(nextval($16787),$16788,$16789,$16790,$16791,$16792,$16793,$16794,$16795,$16796,$16797,$16798,$16799,$16800),(nextval($16801),$16802,$16803,$16804,$16805,$16806,$16807,$16808,$16809,$16810,$16811,$16812,$16813,$16814),(nextval($16815),$16816,$16817,$16818,$16819,$16820,$16821,$16822,$16823,$16824,$16825,$16826,$16827,$16828),(nextval($16829),$16830,$16831,$16832,$16833,$16834,$16835,$16836,$16837,$16838,$16839,$16840,$16841,$16842),(nextval($16843),$16844,$16845,$16846,$16847,$16848,$16849,$16850,$16851,$16852,$16853,$16854,$16855,$16856),(nextval($16857),$16858,$16859,$16860,$16861,$16862,$16863,$16864,$16865,$16866,$16867,$16868,$16869,$16870),(nextval($16871),$16872,$16873,$16874,$16875,$16876,$16877,$16878,$16879,$16880,$16881,$16882,$16883,$16884),(nextval($16885),$16886,$16887,$16888,$16889,$16890,$16891,$16892,$16893,$16894,$16895,$16896,$16897,$16898),(nextval($16899),$16900,$16901,$16902,$16903,$16904,$16905,$16906,$16907,$16908,$16909,$16910,$16911,$16912),(nextval($16913),$16914,$16915,$16916,$16917,$16918,$16919,$16920,$16921,$16922,$16923,$16924,$16925,$16926),(nextval($16927),$16928,$16929,$16930,$16931,$16932,$16933,$16934,$16935,$16936,$16937,$16938,$16939,$16940),(nextval($16941),$16942,$16943,$16944,$16945,$16946,$16947,$16948,$16949,$16950,$16951,$16952,$16953,$16954),(nextval($16955),$16956,$16957,$16958,$16959,$16960,$16961,$16962,$16963,$16964,$16965,$16966,$16967,$16968),(nextval($16969),$16970,$16971,$16972,$16973,$16974,$16975,$16976,$16977,$16978,$16979,$16980,$16981,$16982),(nextval($16983),$16984,$16985,$16986,$16987,$16988,$16989,$16990,$16991,$16992,$16993,$16994,$16995,$16996),(nextval($16997),$16998,$16999,$17000,$17001,$17002,$17003,$17004,$17005,$17006,$17007,$17008,$17009,$17010),(nextval($17011),$17012,$17013,$17014,$17015,$17016,$17017,$17018,$17019,$17020,$17021,$17022,$17023,$17024),(nextval($17025),$17026,$17027,$17028,$17029,$17030,$17031,$17032,$17033,$17034,$17035,$17036,$17037,$17038),(nextval($17039),$17040,$17041,$17042,$17043,$17044,$17045,$17046,$17047,$17048,$17049,$17050,$17051,$17052),(nextval($17053),$17054,$17055,$17056,$17057,$17058,$17059,$17060,$17061,$17062,$17063,$17064,$17065,$17066),(nextval($17067),$17068,$17069,$17070,$17071,$17072,$17073,$17074,$17075,$17076,$17077,$17078,$17079,$17080),(nextval($17081),$17082,$17083,$17084,$17085,$17086,$17087,$17088,$17089,$17090,$17091,$17092,$17093,$17094),(nextval($17095),$17096,$17097,$17098,$17099,$17100,$17101,$17102,$17103,$17104,$17105,$17106,$17107,$17108),(nextval($17109),$17110,$17111,$17112,$17113,$17114,$17115,$17116,$17117,$17118,$17119,$17120,$17121,$17122),(nextval($17123),$17124,$17125,$17126,$17127,$17128,$17129,$17130,$17131,$17132,$17133,$17134,$17135,$17136),(nextval($17137),$17138,$17139,$17140,$17141,$17142,$17143,$17144,$17145,$17146,$17147,$17148,$17149,$17150),(nextval($17151),$17152,$17153,$17154,$17155,$17156,$17157,$17158,$17159,$17160,$17161,$17162,$17163,$17164),(nextval($17165),$17166,$17167,$17168,$17169,$17170,$17171,$17172,$17173,$17174,$17175,$17176,$17177,$17178),(nextval($17179),$17180,$17181,$17182,$17183,$17184,$17185,$17186,$17187,$17188,$17189,$17190,$17191,$17192),(nextval($17193),$17194,$17195,$17196,$17197,$17198,$17199,$17200,$17201,$17202,$17203,$17204,$17205,$17206),(nextval($17207),$17208,$17209,$17210,$17211,$17212,$17213,$17214,$17215,$17216,$17217,$17218,$17219,$17220),(nextval($17221),$17222,$17223,$17224,$17225,$17226,$17227,$17228,$17229,$17230,$17231,$17232,$17233,$17234),(nextval($17235),$17236,$17237,$17238,$17239,$17240,$17241,$17242,$17243,$17244,$17245,$17246,$17247,$17248),(nextval($17249),$17250,$17251,$17252,$17253,$17254,$17255,$17256,$17257,$17258,$17259,$17260,$17261,$17262),(nextval($17263),$17264,$17265,$17266,$17267,$17268,$17269,$17270,$17271,$17272,$17273,$17274,$17275,$17276),(nextval($17277),$17278,$17279,$17280,$17281,$17282,$17283,$17284,$17285,$17286,$17287,$17288,$17289,$17290),(nextval($17291),$17292,$17293,$17294,$17295,$17296,$17297,$17298,$17299,$17300,$17301,$17302,$17303,$17304),(nextval($17305),$17306,$17307,$17308,$17309,$17310,$17311,$17312,$17313,$17314,$17315,$17316,$17317,$17318),(nextval($17319),$17320,$17321,$17322,$17323,$17324,$17325,$17326,$17327,$17328,$17329,$17330,$17331,$17332),(nextval($17333),$17334,$17335,$17336,$17337,$17338,$17339,$17340,$17341,$17342,$17343,$17344,$17345,$17346),(nextval($17347),$17348,$17349,$17350,$17351,$17352,$17353,$17354,$17355,$17356,$17357,$17358,$17359,$17360),(nextval($17361),$17362,$17363,$17364,$17365,$17366,$17367,$17368,$17369,$17370,$17371,$17372,$17373,$17374),(nextval($17375),$17376,$17377,$17378,$17379,$17380,$17381,$17382,$17383,$17384,$17385,$17386,$17387,$17388),(nextval($17389),$17390,$17391,$17392,$17393,$17394,$17395,$17396,$17397,$17398,$17399,$17400,$17401,$17402),(nextval($17403),$17404,$17405,$17406,$17407,$17408,$17409,$17410,$17411,$17412,$17413,$17414,$17415,$17416),(nextval($17417),$17418,$17419,$17420,$17421,$17422,$17423,$17424,$17425,$17426,$17427,$17428,$17429,$17430),(nextval($17431),$17432,$17433,$17434,$17435,$17436,$17437,$17438,$17439,$17440,$17441,$17442,$17443,$17444),(nextval($17445),$17446,$17447,$17448,$17449,$17450,$17451,$17452,$17453,$17454,$17455,$17456,$17457,$17458),(nextval($17459),$17460,$17461,$17462,$17463,$17464,$17465,$17466,$17467,$17468,$17469,$17470,$17471,$17472),(nextval($17473),$17474,$17475,$17476,$17477,$17478,$17479,$17480,$17481,$17482,$17483,$17484,$17485,$17486),(nextval($17487),$17488,$17489,$17490,$17491,$17492,$17493,$17494,$17495,$17496,$17497,$17498,$17499,$17500),(nextval($17501),$17502,$17503,$17504,$17505,$17506,$17507,$17508,$17509,$17510,$17511,$17512,$17513,$17514),(nextval($17515),$17516,$17517,$17518,$17519,$17520,$17521,$17522,$17523,$17524,$17525,$17526,$17527,$17528),(nextval($17529),$17530,$17531,$17532,$17533,$17534,$17535,$17536,$17537,$17538,$17539,$17540,$17541,$17542),(nextval($17543),$17544,$17545,$17546,$17547,$17548,$17549,$17550,$17551,$17552,$17553,$17554,$17555,$17556),(nextval($17557),$17558,$17559,$17560,$17561,$17562,$17563,$17564,$17565,$17566,$17567,$17568,$17569,$17570),(nextval($17571),$17572,$17573,$17574,$17575,$17576,$17577,$17578,$17579,$17580,$17581,$17582,$17583,$17584),(nextval($17585),$17586,$17587,$17588,$17589,$17590,$17591,$17592,$17593,$17594,$17595,$17596,$17597,$17598),(nextval($17599),$17600,$17601,$17602,$17603,$17604,$17605,$17606,$17607,$17608,$17609,$17610,$17611,$17612),(nextval($17613),$17614,$17615,$17616,$17617,$17618,$17619,$17620,$17621,$17622,$17623,$17624,$17625,$17626),(nextval($17627),$17628,$17629,$17630,$17631,$17632,$17633,$17634,$17635,$17636,$17637,$17638,$17639,$17640),(nextval($17641),$17642,$17643,$17644,$17645,$17646,$17647,$17648,$17649,$17650,$17651,$17652,$17653,$17654),(nextval($17655),$17656,$17657,$17658,$17659,$17660,$17661,$17662,$17663,$17664,$17665,$17666,$17667,$17668),(nextval($17669),$17670,$17671,$17672,$17673,$17674,$17675,$17676,$17677,$17678,$17679,$17680,$17681,$17682),(nextval($17683),$17684,$17685,$17686,$17687,$17688,$17689,$17690,$17691,$17692,$17693,$17694,$17695,$17696),(nextval($17697),$17698,$17699,$17700,$17701,$17702,$17703,$17704,$17705,$17706,$17707,$17708,$17709,$17710),(nextval($17711),$17712,$17713,$17714,$17715,$17716,$17717,$17718,$17719,$17720,$17721,$17722,$17723,$17724),(nextval($17725),$17726,$17727,$17728,$17729,$17730,$17731,$17732,$17733,$17734,$17735,$17736,$17737,$17738),(nextval($17739),$17740,$17741,$17742,$17743,$17744,$17745,$17746,$17747,$17748,$17749,$17750,$17751,$17752),(nextval($17753),$17754,$17755,$17756,$17757,$17758,$17759,$17760,$17761,$17762,$17763,$17764,$17765,$17766),(nextval($17767),$17768,$17769,$17770,$17771,$17772,$17773,$17774,$17775,$17776,$17777,$17778,$17779,$17780),(nextval($17781),$17782,$17783,$17784,$17785,$17786,$17787,$17788,$17789,$17790,$17791,$17792,$17793,$17794),(nextval($17795),$17796,$17797,$17798,$17799,$17800,$17801,$17802,$17803,$17804,$17805,$17806,$17807,$17808),(nextval($17809),$17810,$17811,$17812,$17813,$17814,$17815,$17816,$17817,$17818,$17819,$17820,$17821,$17822),(nextval($17823),$17824,$17825,$17826,$17827,$17828,$17829,$17830,$17831,$17832,$17833,$17834,$17835,$17836),(nextval($17837),$17838,$17839,$17840,$17841,$17842,$17843,$17844,$17845,$17846,$17847,$17848,$17849,$17850),(nextval($17851),$17852,$17853,$17854,$17855,$17856,$17857,$17858,$17859,$17860,$17861,$17862,$17863,$17864),(nextval($17865),$17866,$17867,$17868,$17869,$17870,$17871,$17872,$17873,$17874,$17875,$17876,$17877,$17878),(nextval($17879),$17880,$17881,$17882,$17883,$17884,$17885,$17886,$17887,$17888,$17889,$17890,$17891,$17892),(nextval($17893),$17894,$17895,$17896,$17897,$17898,$17899,$17900,$17901,$17902,$17903,$17904,$17905,$17906),(nextval($17907),$17908,$17909,$17910,$17911,$17912,$17913,$17914,$17915,$17916,$17917,$17918,$17919,$17920),(nextval($17921),$17922,$17923,$17924,$17925,$17926,$17927,$17928,$17929,$17930,$17931,$17932,$17933,$17934),(nextval($17935),$17936,$17937,$17938,$17939,$17940,$17941,$17942,$17943,$17944,$17945,$17946,$17947,$17948),(nextval($17949),$17950,$17951,$17952,$17953,$17954,$17955,$17956,$17957,$17958,$17959,$17960,$17961,$17962),(nextval($17963),$17964,$17965,$17966,$17967,$17968,$17969,$17970,$17971,$17972,$17973,$17974,$17975,$17976),(nextval($17977),$17978,$17979,$17980,$17981,$17982,$17983,$17984,$17985,$17986,$17987,$17988,$17989,$17990),(nextval($17991),$17992,$17993,$17994,$17995,$17996,$17997,$17998,$17999,$18000,$18001,$18002,$18003,$18004),(nextval($18005),$18006,$18007,$18008,$18009,$18010,$18011,$18012,$18013,$18014,$18015,$18016,$18017,$18018),(nextval($18019),$18020,$18021,$18022,$18023,$18024,$18025,$18026,$18027,$18028,$18029,$18030,$18031,$18032),(nextval($18033),$18034,$18035,$18036,$18037,$18038,$18039,$18040,$18041,$18042,$18043,$18044,$18045,$18046),(nextval($18047),$18048,$18049,$18050,$18051,$18052,$18053,$18054,$18055,$18056,$18057,$18058,$18059,$18060),(nextval($18061),$18062,$18063,$18064,$18065,$18066,$18067,$18068,$18069,$18070,$18071,$18072,$18073,$18074),(nextval($18075),$18076,$18077,$18078,$18079,$18080,$18081,$18082,$18083,$18084,$18085,$18086,$18087,$18088),(nextval($18089),$18090,$18091,$18092,$18093,$18094,$18095,$18096,$18097,$18098,$18099,$18100,$18101,$18102),(nextval($18103),$18104,$18105,$18106,$18107,$18108,$18109,$18110,$18111,$18112,$18113,$18114,$18115,$18116),(nextval($18117),$18118,$18119,$18120,$18121,$18122,$18123,$18124,$18125,$18126,$18127,$18128,$18129,$18130),(nextval($18131),$18132,$18133,$18134,$18135,$18136,$18137,$18138,$18139,$18140,$18141,$18142,$18143,$18144),(nextval($18145),$18146,$18147,$18148,$18149,$18150,$18151,$18152,$18153,$18154,$18155,$18156,$18157,$18158),(nextval($18159),$18160,$18161,$18162,$18163,$18164,$18165,$18166,$18167,$18168,$18169,$18170,$18171,$18172),(nextval($18173),$18174,$18175,$18176,$18177,$18178,$18179,$18180,$18181,$18182,$18183,$18184,$18185,$18186),(nextval($18187),$18188,$18189,$18190,$18191,$18192,$18193,$18194,$18195,$18196,$18197,$18198,$18199,$18200),(nextval($18201),$18202,$18203,$18204,$18205,$18206,$18207,$18208,$18209,$18210,$18211,$18212,$18213,$18214),(nextval($18215),$18216,$18217,$18218,$18219,$18220,$18221,$18222,$18223,$18224,$18225,$18226,$18227,$18228),(nextval($18229),$18230,$18231,$18232,$18233,$18234,$18235,$18236,$18237,$18238,$18239,$18240,$18241,$18242),(nextval($18243),$18244,$18245,$18246,$18247,$18248,$18249,$18250,$18251,$18252,$18253,$18254,$18255,$18256),(nextval($18257),$18258,$18259,$18260,$18261,$18262,$18263,$18264,$18265,$18266,$18267,$18268,$18269,$18270),(nextval($18271),$18272,$18273,$18274,$18275,$18276,$18277,$18278,$18279,$18280,$18281,$18282,$18283,$18284),(nextval($18285),$18286,$18287,$18288,$18289,$18290,$18291,$18292,$18293,$18294,$18295,$18296,$18297,$18298),(nextval($18299),$18300,$18301,$18302,$18303,$18304,$18305,$18306,$18307,$18308,$18309,$18310,$18311,$18312),(nextval($18313),$18314,$18315,$18316,$18317,$18318,$18319,$18320,$18321,$18322,$18323,$18324,$18325,$18326),(nextval($18327),$18328,$18329,$18330,$18331,$18332,$18333,$18334,$18335,$18336,$18337,$18338,$18339,$18340),(nextval($18341),$18342,$18343,$18344,$18345,$18346,$18347,$18348,$18349,$18350,$18351,$18352,$18353,$18354),(nextval($18355),$18356,$18357,$18358,$18359,$18360,$18361,$18362,$18363,$18364,$18365,$18366,$18367,$18368),(nextval($18369),$18370,$18371,$18372,$18373,$18374,$18375,$18376,$18377,$18378,$18379,$18380,$18381,$18382),(nextval($18383),$18384,$18385,$18386,$18387,$18388,$18389,$18390,$18391,$18392,$18393,$18394,$18395,$18396),(nextval($18397),$18398,$18399,$18400,$18401,$18402,$18403,$18404,$18405,$18406,$18407,$18408,$18409,$18410),(nextval($18411),$18412,$18413,$18414,$18415,$18416,$18417,$18418,$18419,$18420,$18421,$18422,$18423,$18424),(nextval($18425),$18426,$18427,$18428,$18429,$18430,$18431,$18432,$18433,$18434,$18435,$18436,$18437,$18438),(nextval($18439),$18440,$18441,$18442,$18443,$18444,$18445,$18446,$18447,$18448,$18449,$18450,$18451,$18452),(nextval($18453),$18454,$18455,$18456,$18457,$18458,$18459,$18460,$18461,$18462,$18463,$18464,$18465,$18466),(nextval($18467),$18468,$18469,$18470,$18471,$18472,$18473,$18474,$18475,$18476,$18477,$18478,$18479,$18480),(nextval($18481),$18482,$18483,$18484,$18485,$18486,$18487,$18488,$18489,$18490,$18491,$18492,$18493,$18494),(nextval($18495),$18496,$18497,$18498,$18499,$18500,$18501,$18502,$18503,$18504,$18505,$18506,$18507,$18508),(nextval($18509),$18510,$18511,$18512,$18513,$18514,$18515,$18516,$18517,$18518,$18519,$18520,$18521,$18522),(nextval($18523),$18524,$18525,$18526,$18527,$18528,$18529,$18530,$18531,$18532,$18533,$18534,$18535,$18536),(nextval($18537),$18538,$18539,$18540,$18541,$18542,$18543,$18544,$18545,$18546,$18547,$18548,$18549,$18550),(nextval($18551),$18552,$18553,$18554,$18555,$18556,$18557,$18558,$18559,$18560,$18561,$18562,$18563,$18564),(nextval($18565),$18566,$18567,$18568,$18569,$18570,$18571,$18572,$18573,$18574,$18575,$18576,$18577,$18578),(nextval($18579),$18580,$18581,$18582,$18583,$18584,$18585,$18586,$18587,$18588,$18589,$18590,$18591,$18592),(nextval($18593),$18594,$18595,$18596,$18597,$18598,$18599,$18600,$18601,$18602,$18603,$18604,$18605,$18606),(nextval($18607),$18608,$18609,$18610,$18611,$18612,$18613,$18614,$18615,$18616,$18617,$18618,$18619,$18620),(nextval($18621),$18622,$18623,$18624,$18625,$18626,$18627,$18628,$18629,$18630,$18631,$18632,$18633,$18634),(nextval($18635),$18636,$18637,$18638,$18639,$18640,$18641,$18642,$18643,$18644,$18645,$18646,$18647,$18648),(nextval($18649),$18650,$18651,$18652,$18653,$18654,$18655,$18656,$18657,$18658,$18659,$18660,$18661,$18662),(nextval($18663),$18664,$18665,$18666,$18667,$18668,$18669,$18670,$18671,$18672,$18673,$18674,$18675,$18676),(nextval($18677),$18678,$18679,$18680,$18681,$18682,$18683,$18684,$18685,$18686,$18687,$18688,$18689,$18690),(nextval($18691),$18692,$18693,$18694,$18695,$18696,$18697,$18698,$18699,$18700,$18701,$18702,$18703,$18704),(nextval($18705),$18706,$18707,$18708,$18709,$18710,$18711,$18712,$18713,$18714,$18715,$18716,$18717,$18718),(nextval($18719),$18720,$18721,$18722,$18723,$18724,$18725,$18726,$18727,$18728,$18729,$18730,$18731,$18732),(nextval($18733),$18734,$18735,$18736,$18737,$18738,$18739,$18740,$18741,$18742,$18743,$18744,$18745,$18746),(nextval($18747),$18748,$18749,$18750,$18751,$18752,$18753,$18754,$18755,$18756,$18757,$18758,$18759,$18760),(nextval($18761),$18762,$18763,$18764,$18765,$18766,$18767,$18768,$18769,$18770,$18771,$18772,$18773,$18774),(nextval($18775),$18776,$18777,$18778,$18779,$18780,$18781,$18782,$18783,$18784,$18785,$18786,$18787,$18788),(nextval($18789),$18790,$18791,$18792,$18793,$18794,$18795,$18796,$18797,$18798,$18799,$18800,$18801,$18802),(nextval($18803),$18804,$18805,$18806,$18807,$18808,$18809,$18810,$18811,$18812,$18813,$18814,$18815,$18816),(nextval($18817),$18818,$18819,$18820,$18821,$18822,$18823,$18824,$18825,$18826,$18827,$18828,$18829,$18830),(nextval($18831),$18832,$18833,$18834,$18835,$18836,$18837,$18838,$18839,$18840,$18841,$18842,$18843,$18844),(nextval($18845),$18846,$18847,$18848,$18849,$18850,$18851,$18852,$18853,$18854,$18855,$18856,$18857,$18858),(nextval($18859),$18860,$18861,$18862,$18863,$18864,$18865,$18866,$18867,$18868,$18869,$18870,$18871,$18872),(nextval($18873),$18874,$18875,$18876,$18877,$18878,$18879,$18880,$18881,$18882,$18883,$18884,$18885,$18886),(nextval($18887),$18888,$18889,$18890,$18891,$18892,$18893,$18894,$18895,$18896,$18897,$18898,$18899,$18900),(nextval($18901),$18902,$18903,$18904,$18905,$18906,$18907,$18908,$18909,$18910,$18911,$18912,$18913,$18914),(nextval($18915),$18916,$18917,$18918,$18919,$18920,$18921,$18922,$18923,$18924,$18925,$18926,$18927,$18928),(nextval($18929),$18930,$18931,$18932,$18933,$18934,$18935,$18936,$18937,$18938,$18939,$18940,$18941,$18942),(nextval($18943),$18944,$18945,$18946,$18947,$18948,$18949,$18950,$18951,$18952,$18953,$18954,$18955,$18956),(nextval($18957),$18958,$18959,$18960,$18961,$18962,$18963,$18964,$18965,$18966,$18967,$18968,$18969,$18970),(nextval($18971),$18972,$18973,$18974,$18975,$18976,$18977,$18978,$18979,$18980,$18981,$18982,$18983,$18984),(nextval($18985),$18986,$18987,$18988,$18989,$18990,$18991,$18992,$18993,$18994,$18995,$18996,$18997,$18998),(nextval($18999),$19000,$19001,$19002,$19003,$19004,$19005,$19006,$19007,$19008,$19009,$19010,$19011,$19012),(nextval($19013),$19014,$19015,$19016,$19017,$19018,$19019,$19020,$19021,$19022,$19023,$19024,$19025,$19026),(nextval($19027),$19028,$19029,$19030,$19031,$19032,$19033,$19034,$19035,$19036,$19037,$19038,$19039,$19040),(nextval($19041),$19042,$19043,$19044,$19045,$19046,$19047,$19048,$19049,$19050,$19051,$19052,$19053,$19054),(nextval($19055),$19056,$19057,$19058,$19059,$19060,$19061,$19062,$19063,$19064,$19065,$19066,$19067,$19068),(nextval($19069),$19070,$19071,$19072,$19073,$19074,$19075,$19076,$19077,$19078,$19079,$19080,$19081,$19082),(nextval($19083),$19084,$19085,$19086,$19087,$19088,$19089,$19090,$19091,$19092,$19093,$19094,$19095,$19096),(nextval($19097),$19098,$19099,$19100,$19101,$19102,$19103,$19104,$19105,$19106,$19107,$19108,$19109,$19110),(nextval($19111),$19112,$19113,$19114,$19115,$19116,$19117,$19118,$19119,$19120,$19121,$19122,$19123,$19124),(nextval($19125),$19126,$19127,$19128,$19129,$19130,$19131,$19132,$19133,$19134,$19135,$19136,$19137,$19138),(nextval($19139),$19140,$19141,$19142,$19143,$19144,$19145,$19146,$19147,$19148,$19149,$19150,$19151,$19152),(nextval($19153),$19154,$19155,$19156,$19157,$19158,$19159,$19160,$19161,$19162,$19163,$19164,$19165,$19166),(nextval($19167),$19168,$19169,$19170,$19171,$19172,$19173,$19174,$19175,$19176,$19177,$19178,$19179,$19180),(nextval($19181),$19182,$19183,$19184,$19185,$19186,$19187,$19188,$19189,$19190,$19191,$19192,$19193,$19194),(nextval($19195),$19196,$19197,$19198,$19199,$19200,$19201,$19202,$19203,$19204,$19205,$19206,$19207,$19208),(nextval($19209),$19210,$19211,$19212,$19213,$19214,$19215,$19216,$19217,$19218,$19219,$19220,$19221,$19222),(nextval($19223),$19224,$19225,$19226,$19227,$19228,$19229,$19230,$19231,$19232,$19233,$19234,$19235,$19236),(nextval($19237),$19238,$19239,$19240,$19241,$19242,$19243,$19244,$19245,$19246,$19247,$19248,$19249,$19250),(nextval($19251),$19252,$19253,$19254,$19255,$19256,$19257,$19258,$19259,$19260,$19261,$19262,$19263,$19264),(nextval($19265),$19266,$19267,$19268,$19269,$19270,$19271,$19272,$19273,$19274,$19275,$19276,$19277,$19278),(nextval($19279),$19280,$19281,$19282,$19283,$19284,$19285,$19286,$19287,$19288,$19289,$19290,$19291,$19292),(nextval($19293),$19294,$19295,$19296,$19297,$19298,$19299,$19300,$19301,$19302,$19303,$19304,$19305,$19306),(nextval($19307),$19308,$19309,$19310,$19311,$19312,$19313,$19314,$19315,$19316,$19317,$19318,$19319,$19320),(nextval($19321),$19322,$19323,$19324,$19325,$19326,$19327,$19328,$19329,$19330,$19331,$19332,$19333,$19334),(nextval($19335),$19336,$19337,$19338,$19339,$19340,$19341,$19342,$19343,$19344,$19345,$19346,$19347,$19348),(nextval($19349),$19350,$19351,$19352,$19353,$19354,$19355,$19356,$19357,$19358,$19359,$19360,$19361,$19362),(nextval($19363),$19364,$19365,$19366,$19367,$19368,$19369,$19370,$19371,$19372,$19373,$19374,$19375,$19376),(nextval($19377),$19378,$19379,$19380,$19381,$19382,$19383,$19384,$19385,$19386,$19387,$19388,$19389,$19390),(nextval($19391),$19392,$19393,$19394,$19395,$19396,$19397,$19398,$19399,$19400,$19401,$19402,$19403,$19404),(nextval($19405),$19406,$19407,$19408,$19409,$19410,$19411,$19412,$19413,$19414,$19415,$19416,$19417,$19418),(nextval($19419),$19420,$19421,$19422,$19423,$19424,$19425,$19426,$19427,$19428,$19429,$19430,$19431,$19432),(nextval($19433),$19434,$19435,$19436,$19437,$19438,$19439,$19440,$19441,$19442,$19443,$19444,$19445,$19446),(nextval($19447),$19448,$19449,$19450,$19451,$19452,$19453,$19454,$19455,$19456,$19457,$19458,$19459,$19460),(nextval($19461),$19462,$19463,$19464,$19465,$19466,$19467,$19468,$19469,$19470,$19471,$19472,$19473,$19474),(nextval($19475),$19476,$19477,$19478,$19479,$19480,$19481,$19482,$19483,$19484,$19485,$19486,$19487,$19488),(nextval($19489),$19490,$19491,$19492,$19493,$19494,$19495,$19496,$19497,$19498,$19499,$19500,$19501,$19502),(nextval($19503),$19504,$19505,$19506,$19507,$19508,$19509,$19510,$19511,$19512,$19513,$19514,$19515,$19516),(nextval($19517),$19518,$19519,$19520,$19521,$19522,$19523,$19524,$19525,$19526,$19527,$19528,$19529,$19530),(nextval($19531),$19532,$19533,$19534,$19535,$19536,$19537,$19538,$19539,$19540,$19541,$19542,$19543,$19544),(nextval($19545),$19546,$19547,$19548,$19549,$19550,$19551,$19552,$19553,$19554,$19555,$19556,$19557,$19558),(nextval($19559),$19560,$19561,$19562,$19563,$19564,$19565,$19566,$19567,$19568,$19569,$19570,$19571,$19572),(nextval($19573),$19574,$19575,$19576,$19577,$19578,$19579,$19580,$19581,$19582,$19583,$19584,$19585,$19586),(nextval($19587),$19588,$19589,$19590,$19591,$19592,$19593,$19594,$19595,$19596,$19597,$19598,$19599,$19600),(nextval($19601),$19602,$19603,$19604,$19605,$19606,$19607,$19608,$19609,$19610,$19611,$19612,$19613,$19614),(nextval($19615),$19616,$19617,$19618,$19619,$19620,$19621,$19622,$19623,$19624,$19625,$19626,$19627,$19628),(nextval($19629),$19630,$19631,$19632,$19633,$19634,$19635,$19636,$19637,$19638,$19639,$19640,$19641,$19642),(nextval($19643),$19644,$19645,$19646,$19647,$19648,$19649,$19650,$19651,$19652,$19653,$19654,$19655,$19656),(nextval($19657),$19658,$19659,$19660,$19661,$19662,$19663,$19664,$19665,$19666,$19667,$19668,$19669,$19670),(nextval($19671),$19672,$19673,$19674,$19675,$19676,$19677,$19678,$19679,$19680,$19681,$19682,$19683,$19684),(nextval($19685),$19686,$19687,$19688,$19689,$19690,$19691,$19692,$19693,$19694,$19695,$19696,$19697,$19698),(nextval($19699),$19700,$19701,$19702,$19703,$19704,$19705,$19706,$19707,$19708,$19709,$19710,$19711,$19712),(nextval($19713),$19714,$19715,$19716,$19717,$19718,$19719,$19720,$19721,$19722,$19723,$19724,$19725,$19726),(nextval($19727),$19728,$19729,$19730,$19731,$19732,$19733,$19734,$19735,$19736,$19737,$19738,$19739,$19740),(nextval($19741),$19742,$19743,$19744,$19745,$19746,$19747,$19748,$19749,$19750,$19751,$19752,$19753,$19754),(nextval($19755),$19756,$19757,$19758,$19759,$19760,$19761,$19762,$19763,$19764,$19765,$19766,$19767,$19768),(nextval($19769),$19770,$19771,$19772,$19773,$19774,$19775,$19776,$19777,$19778,$19779,$19780,$19781,$19782),(nextval($19783),$19784,$19785,$19786,$19787,$19788,$19789,$19790,$19791,$19792,$19793,$19794,$19795,$19796),(nextval($19797),$19798,$19799,$19800,$19801,$19802,$19803,$19804,$19805,$19806,$19807,$19808,$19809,$19810),(nextval($19811),$19812,$19813,$19814,$19815,$19816,$19817,$19818,$19819,$19820,$19821,$19822,$19823,$19824),(nextval($19825),$19826,$19827,$19828,$19829,$19830,$19831,$19832,$19833,$19834,$19835,$19836,$19837,$19838),(nextval($19839),$19840,$19841,$19842,$19843,$19844,$19845,$19846,$19847,$19848,$19849,$19850,$19851,$19852),(nextval($19853),$19854,$19855,$19856,$19857,$19858,$19859,$19860,$19861,$19862,$19863,$19864,$19865,$19866),(nextval($19867),$19868,$19869,$19870,$19871,$19872,$19873,$19874,$19875,$19876,$19877,$19878,$19879,$19880),(nextval($19881),$19882,$19883,$19884,$19885,$19886,$19887,$19888,$19889,$19890,$19891,$19892,$19893,$19894),(nextval($19895),$19896,$19897,$19898,$19899,$19900,$19901,$19902,$19903,$19904,$19905,$19906,$19907,$19908),(nextval($19909),$19910,$19911,$19912,$19913,$19914,$19915,$19916,$19917,$19918,$19919,$19920,$19921,$19922),(nextval($19923),$19924,$19925,$19926,$19927,$19928,$19929,$19930,$19931,$19932,$19933,$19934,$19935,$19936),(nextval($19937),$19938,$19939,$19940,$19941,$19942,$19943,$19944,$19945,$19946,$19947,$19948,$19949,$19950),(nextval($19951),$19952,$19953,$19954,$19955,$19956,$19957,$19958,$19959,$19960,$19961,$19962,$19963,$19964),(nextval($19965),$19966,$19967,$19968,$19969,$19970,$19971,$19972,$19973,$19974,$19975,$19976,$19977,$19978),(nextval($19979),$19980,$19981,$19982,$19983,$19984,$19985,$19986,$19987,$19988,$19989,$19990,$19991,$19992),(nextval($19993),$19994,$19995,$19996,$19997,$19998,$19999,$20000,$20001,$20002,$20003,$20004,$20005,$20006),(nextval($20007),$20008,$20009,$20010,$20011,$20012,$20013,$20014,$20015,$20016,$20017,$20018,$20019,$20020),(nextval($20021),$20022,$20023,$20024,$20025,$20026,$20027,$20028,$20029,$20030,$20031,$20032,$20033,$20034),(nextval($20035),$20036,$20037,$20038,$20039,$20040,$20041,$20042,$20043,$20044,$20045,$20046,$20047,$20048),(nextval($20049),$20050,$20051,$20052,$20053,$20054,$20055,$20056,$20057,$20058,$20059,$20060,$20061,$20062),(nextval($20063),$20064,$20065,$20066,$20067,$20068,$20069,$20070,$20071,$20072,$20073,$20074,$20075,$20076),(nextval($20077),$20078,$20079,$20080,$20081,$20082,$20083,$20084,$20085,$20086,$20087,$20088,$20089,$20090),(nextval($20091),$20092,$20093,$20094,$20095,$20096,$20097,$20098,$20099,$20100,$20101,$20102,$20103,$20104),(nextval($20105),$20106,$20107,$20108,$20109,$20110,$20111,$20112,$20113,$20114,$20115,$20116,$20117,$20118),(nextval($20119),$20120,$20121,$20122,$20123,$20124,$20125,$20126,$20127,$20128,$20129,$20130,$20131,$20132),(nextval($20133),$20134,$20135,$20136,$20137,$20138,$20139,$20140,$20141,$20142,$20143,$20144,$20145,$20146),(nextval($20147),$20148,$20149,$20150,$20151,$20152,$20153,$20154,$20155,$20156,$20157,$20158,$20159,$20160),(nextval($20161),$20162,$20163,$20164,$20165,$20166,$20167,$20168,$20169,$20170,$20171,$20172,$20173,$20174),(nextval($20175),$20176,$20177,$20178,$20179,$20180,$20181,$20182,$20183,$20184,$20185,$20186,$20187,$20188),(nextval($20189),$20190,$20191,$20192,$20193,$20194,$20195,$20196,$20197,$20198,$20199,$20200,$20201,$20202),(nextval($20203),$20204,$20205,$20206,$20207,$20208,$20209,$20210,$20211,$20212,$20213,$20214,$20215,$20216),(nextval($20217),$20218,$20219,$20220,$20221,$20222,$20223,$20224,$20225,$20226,$20227,$20228,$20229,$20230),(nextval($20231),$20232,$20233,$20234,$20235,$20236,$20237,$20238,$20239,$20240,$20241,$20242,$20243,$20244),(nextval($20245),$20246,$20247,$20248,$20249,$20250,$20251,$20252,$20253,$20254,$20255,$20256,$20257,$20258),(nextval($20259),$20260,$20261,$20262,$20263,$20264,$20265,$20266,$20267,$20268,$20269,$20270,$20271,$20272),(nextval($20273),$20274,$20275,$20276,$20277,$20278,$20279,$20280,$20281,$20282,$20283,$20284,$20285,$20286),(nextval($20287),$20288,$20289,$20290,$20291,$20292,$20293,$20294,$20295,$20296,$20297,$20298,$20299,$20300),(nextval($20301),$20302,$20303,$20304,$20305,$20306,$20307,$20308,$20309,$20310,$20311,$20312,$20313,$20314),(nextval($20315),$20316,$20317,$20318,$20319,$20320,$20321,$20322,$20323,$20324,$20325,$20326,$20327,$20328),(nextval($20329),$20330,$20331,$20332,$20333,$20334,$20335,$20336,$20337,$20338,$20339,$20340,$20341,$20342),(nextval($20343),$20344,$20345,$20346,$20347,$20348,$20349,$20350,$20351,$20352,$20353,$20354,$20355,$20356),(nextval($20357),$20358,$20359,$20360,$20361,$20362,$20363,$20364,$20365,$20366,$20367,$20368,$20369,$20370),(nextval($20371),$20372,$20373,$20374,$20375,$20376,$20377,$20378,$20379,$20380,$20381,$20382,$20383,$20384),(nextval($20385),$20386,$20387,$20388,$20389,$20390,$20391,$20392,$20393,$20394,$20395,$20396,$20397,$20398),(nextval($20399),$20400,$20401,$20402,$20403,$20404,$20405,$20406,$20407,$20408,$20409,$20410,$20411,$20412),(nextval($20413),$20414,$20415,$20416,$20417,$20418,$20419,$20420,$20421,$20422,$20423,$20424,$20425,$20426),(nextval($20427),$20428,$20429,$20430,$20431,$20432,$20433,$20434,$20435,$20436,$20437,$20438,$20439,$20440),(nextval($20441),$20442,$20443,$20444,$20445,$20446,$20447,$20448,$20449,$20450,$20451,$20452,$20453,$20454),(nextval($20455),$20456,$20457,$20458,$20459,$20460,$20461,$20462,$20463,$20464,$20465,$20466,$20467,$20468),(nextval($20469),$20470,$20471,$20472,$20473,$20474,$20475,$20476,$20477,$20478,$20479,$20480,$20481,$20482),(nextval($20483),$20484,$20485,$20486,$20487,$20488,$20489,$20490,$20491,$20492,$20493,$20494,$20495,$20496),(nextval($20497),$20498,$20499,$20500,$20501,$20502,$20503,$20504,$20505,$20506,$20507,$20508,$20509,$20510),(nextval($20511),$20512,$20513,$20514,$20515,$20516,$20517,$20518,$20519,$20520,$20521,$20522,$20523,$20524),(nextval($20525),$20526,$20527,$20528,$20529,$20530,$20531,$20532,$20533,$20534,$20535,$20536,$20537,$20538),(nextval($20539),$20540,$20541,$20542,$20543,$20544,$20545,$20546,$20547,$20548,$20549,$20550,$20551,$20552),(nextval($20553),$20554,$20555,$20556,$20557,$20558,$20559,$20560,$20561,$20562,$20563,$20564,$20565,$20566),(nextval($20567),$20568,$20569,$20570,$20571,$20572,$20573,$20574,$20575,$20576,$20577,$20578,$20579,$20580),(nextval($20581),$20582,$20583,$20584,$20585,$20586,$20587,$20588,$20589,$20590,$20591,$20592,$20593,$20594),(nextval($20595),$20596,$20597,$20598,$20599,$20600,$20601,$20602,$20603,$20604,$20605,$20606,$20607,$20608),(nextval($20609),$20610,$20611,$20612,$20613,$20614,$20615,$20616,$20617,$20618,$20619,$20620,$20621,$20622),(nextval($20623),$20624,$20625,$20626,$20627,$20628,$20629,$20630,$20631,$20632,$20633,$20634,$20635,$20636),(nextval($20637),$20638,$20639,$20640,$20641,$20642,$20643,$20644,$20645,$20646,$20647,$20648,$20649,$20650),(nextval($20651),$20652,$20653,$20654,$20655,$20656,$20657,$20658,$20659,$20660,$20661,$20662,$20663,$20664),(nextval($20665),$20666,$20667,$20668,$20669,$20670,$20671,$20672,$20673,$20674,$20675,$20676,$20677,$20678),(nextval($20679),$20680,$20681,$20682,$20683,$20684,$20685,$20686,$20687,$20688,$20689,$20690,$20691,$20692),(nextval($20693),$20694,$20695,$20696,$20697,$20698,$20699,$20700,$20701,$20702,$20703,$20704,$20705,$20706),(nextval($20707),$20708,$20709,$20710,$20711,$20712,$20713,$20714,$20715,$20716,$20717,$20718,$20719,$20720),(nextval($20721),$20722,$20723,$20724,$20725,$20726,$20727,$20728,$20729,$20730,$20731,$20732,$20733,$20734),(nextval($20735),$20736,$20737,$20738,$20739,$20740,$20741,$20742,$20743,$20744,$20745,$20746,$20747,$20748),(nextval($20749),$20750,$20751,$20752,$20753,$20754,$20755,$20756,$20757,$20758,$20759,$20760,$20761,$20762),(nextval($20763),$20764,$20765,$20766,$20767,$20768,$20769,$20770,$20771,$20772,$20773,$20774,$20775,$20776),(nextval($20777),$20778,$20779,$20780,$20781,$20782,$20783,$20784,$20785,$20786,$20787,$20788,$20789,$20790),(nextval($20791),$20792,$20793,$20794,$20795,$20796,$20797,$20798,$20799,$20800,$20801,$20802,$20803,$20804),(nextval($20805),$20806,$20807,$20808,$20809,$20810,$20811,$20812,$20813,$20814,$20815,$20816,$20817,$20818),(nextval($20819),$20820,$20821,$20822,$20823,$20824,$20825,$20826,$20827,$20828,$20829,$20830,$20831,$20832),(nextval($20833),$20834,$20835,$20836,$20837,$20838,$20839,$20840,$20841,$20842,$20843,$20844,$20845,$20846),(nextval($20847),$20848,$20849,$20850,$20851,$20852,$20853,$20854,$20855,$20856,$20857,$20858,$20859,$20860),(nextval($20861),$20862,$20863,$20864,$20865,$20866,$20867,$20868,$20869,$20870,$20871,$20872,$20873,$20874),(nextval($20875),$20876,$20877,$20878,$20879,$20880,$20881,$20882,$20883,$20884,$20885,$20886,$20887,$20888),(nextval($20889),$20890,$20891,$20892,$20893,$20894,$20895,$20896,$20897,$20898,$20899,$20900,$20901,$20902),(nextval($20903),$20904,$20905,$20906,$20907,$20908,$20909,$20910,$20911,$20912,$20913,$20914,$20915,$20916),(nextval($20917),$20918,$20919,$20920,$20921,$20922,$20923,$20924,$20925,$20926,$20927,$20928,$20929,$20930),(nextval($20931),$20932,$20933,$20934,$20935,$20936,$20937,$20938,$20939,$20940,$20941,$20942,$20943,$20944),(nextval($20945),$20946,$20947,$20948,$20949,$20950,$20951,$20952,$20953,$20954,$20955,$20956,$20957,$20958),(nextval($20959),$20960,$20961,$20962,$20963,$20964,$20965,$20966,$20967,$20968,$20969,$20970,$20971,$20972),(nextval($20973),$20974,$20975,$20976,$20977,$20978,$20979,$20980,$20981,$20982,$20983,$20984,$20985,$20986),(nextval($20987),$20988,$20989,$20990,$20991,$20992,$20993,$20994,$20995,$20996,$20997,$20998,$20999,$21000),(nextval($21001),$21002,$21003,$21004,$21005,$21006,$21007,$21008,$21009,$21010,$21011,$21012,$21013,$21014),(nextval($21015),$21016,$21017,$21018,$21019,$21020,$21021,$21022,$21023,$21024,$21025,$21026,$21027,$21028),(nextval($21029),$21030,$21031,$21032,$21033,$21034,$21035,$21036,$21037,$21038,$21039,$21040,$21041,$21042),(nextval($21043),$21044,$21045,$21046,$21047,$21048,$21049,$21050,$21051,$21052,$21053,$21054,$21055,$21056),(nextval($21057),$21058,$21059,$21060,$21061,$21062,$21063,$21064,$21065,$21066,$21067,$21068,$21069,$21070),(nextval($21071),$21072,$21073,$21074,$21075,$21076,$21077,$21078,$21079,$21080,$21081,$21082,$21083,$21084),(nextval($21085),$21086,$21087,$21088,$21089,$21090,$21091,$21092,$21093,$21094,$21095,$21096,$21097,$21098),(nextval($21099),$21100,$21101,$21102,$21103,$21104,$21105,$21106,$21107,$21108,$21109,$21110,$21111,$21112),(nextval($21113),$21114,$21115,$21116,$21117,$21118,$21119,$21120,$21121,$21122,$21123,$21124,$21125,$21126),(nextval($21127),$21128,$21129,$21130,$21131,$21132,$21133,$21134,$21135,$21136,$21137,$21138,$21139,$21140),(nextval($21141),$21142,$21143,$21144,$21145,$21146,$21147,$21148,$21149,$21150,$21151,$21152,$21153,$21154),(nextval($21155),$21156,$21157,$21158,$21159,$21160,$21161,$21162,$21163,$21164,$21165,$21166,$21167,$21168),(nextval($21169),$21170,$21171,$21172,$21173,$21174,$21175,$21176,$21177,$21178,$21179,$21180,$21181,$21182),(nextval($21183),$21184,$21185,$21186,$21187,$21188,$21189,$21190,$21191,$21192,$21193,$21194,$21195,$21196),(nextval($21197),$21198,$21199,$21200,$21201,$21202,$21203,$21204,$21205,$21206,$21207,$21208,$21209,$21210),(nextval($21211),$21212,$21213,$21214,$21215,$21216,$21217,$21218,$21219,$21220,$21221,$21222,$21223,$21224),(nextval($21225),$21226,$21227,$21228,$21229,$21230,$21231,$21232,$21233,$21234,$21235,$21236,$21237,$21238),(nextval($21239),$21240,$21241,$21242,$21243,$21244,$21245,$21246,$21247,$21248,$21249,$21250,$21251,$21252),(nextval($21253),$21254,$21255,$21256,$21257,$21258,$21259,$21260,$21261,$21262,$21263,$21264,$21265,$21266),(nextval($21267),$21268,$21269,$21270,$21271,$21272,$21273,$21274,$21275,$21276,$21277,$21278,$21279,$21280),(nextval($21281),$21282,$21283,$21284,$21285,$21286,$21287,$21288,$21289,$21290,$21291,$21292,$21293,$21294),(nextval($21295),$21296,$21297,$21298,$21299,$21300,$21301,$21302,$21303,$21304,$21305,$21306,$21307,$21308),(nextval($21309),$21310,$21311,$21312,$21313,$21314,$21315,$21316,$21317,$21318,$21319,$21320,$21321,$21322),(nextval($21323),$21324,$21325,$21326,$21327,$21328,$21329,$21330,$21331,$21332,$21333,$21334,$21335,$21336),(nextval($21337),$21338,$21339,$21340,$21341,$21342,$21343,$21344,$21345,$21346,$21347,$21348,$21349,$21350),(nextval($21351),$21352,$21353,$21354,$21355,$21356,$21357,$21358,$21359,$21360,$21361,$21362,$21363,$21364),(nextval($21365),$21366,$21367,$21368,$21369,$21370,$21371,$21372,$21373,$21374,$21375,$21376,$21377,$21378),(nextval($21379),$21380,$21381,$21382,$21383,$21384,$21385,$21386,$21387,$21388,$21389,$21390,$21391,$21392),(nextval($21393),$21394,$21395,$21396,$21397,$21398,$21399,$21400,$21401,$21402,$21403,$21404,$21405,$21406),(nextval($21407),$21408,$21409,$21410,$21411,$21412,$21413,$21414,$21415,$21416,$21417,$21418,$21419,$21420),(nextval($21421),$21422,$21423,$21424,$21425,$21426,$21427,$21428,$21429,$21430,$21431,$21432,$21433,$21434),(nextval($21435),$21436,$21437,$21438,$21439,$21440,$21441,$21442,$21443,$21444,$21445,$21446,$21447,$21448),(nextval($21449),$21450,$21451,$21452,$21453,$21454,$21455,$21456,$21457,$21458,$21459,$21460,$21461,$21462),(nextval($21463),$21464,$21465,$21466,$21467,$21468,$21469,$21470,$21471,$21472,$21473,$21474,$21475,$21476),(nextval($21477),$21478,$21479,$21480,$21481,$21482,$21483,$21484,$21485,$21486,$21487,$21488,$21489,$21490),(nextval($21491),$21492,$21493,$21494,$21495,$21496,$21497,$21498,$21499,$21500,$21501,$21502,$21503,$21504),(nextval($21505),$21506,$21507,$21508,$21509,$21510,$21511,$21512,$21513,$21514,$21515,$21516,$21517,$21518),(nextval($21519),$21520,$21521,$21522,$21523,$21524,$21525,$21526,$21527,$21528,$21529,$21530,$21531,$21532),(nextval($21533),$21534,$21535,$21536,$21537,$21538,$21539,$21540,$21541,$21542,$21543,$21544,$21545,$21546),(nextval($21547),$21548,$21549,$21550,$21551,$21552,$21553,$21554,$21555,$21556,$21557,$21558,$21559,$21560),(nextval($21561),$21562,$21563,$21564,$21565,$21566,$21567,$21568,$21569,$21570,$21571,$21572,$21573,$21574),(nextval($21575),$21576,$21577,$21578,$21579,$21580,$21581,$21582,$21583,$21584,$21585,$21586,$21587,$21588),(nextval($21589),$21590,$21591,$21592,$21593,$21594,$21595,$21596,$21597,$21598,$21599,$21600,$21601,$21602),(nextval($21603),$21604,$21605,$21606,$21607,$21608,$21609,$21610,$21611,$21612,$21613,$21614,$21615,$21616),(nextval($21617),$21618,$21619,$21620,$21621,$21622,$21623,$21624,$21625,$21626,$21627,$21628,$21629,$21630),(nextval($21631),$21632,$21633,$21634,$21635,$21636,$21637,$21638,$21639,$21640,$21641,$21642,$21643,$21644),(nextval($21645),$21646,$21647,$21648,$21649,$21650,$21651,$21652,$21653,$21654,$21655,$21656,$21657,$21658),(nextval($21659),$21660,$21661,$21662,$21663,$21664,$21665,$21666,$21667,$21668,$21669,$21670,$21671,$21672),(nextval($21673),$21674,$21675,$21676,$21677,$21678,$21679,$21680,$21681,$21682,$21683,$21684,$21685,$21686),(nextval($21687),$21688,$21689,$21690,$21691,$21692,$21693,$21694,$21695,$21696,$21697,$21698,$21699,$21700),(nextval($21701),$21702,$21703,$21704,$21705,$21706,$21707,$21708,$21709,$21710,$21711,$21712,$21713,$21714),(nextval($21715),$21716,$21717,$21718,$21719,$21720,$21721,$21722,$21723,$21724,$21725,$21726,$21727,$21728),(nextval($21729),$21730,$21731,$21732,$21733,$21734,$21735,$21736,$21737,$21738,$21739,$21740,$21741,$21742),(nextval($21743),$21744,$21745,$21746,$21747,$21748,$21749,$21750,$21751,$21752,$21753,$21754,$21755,$21756),(nextval($21757),$21758,$21759,$21760,$21761,$21762,$21763,$21764,$21765,$21766,$21767,$21768,$21769,$21770),(nextval($21771),$21772,$21773,$21774,$21775,$21776,$21777,$21778,$21779,$21780,$21781,$21782,$21783,$21784),(nextval($21785),$21786,$21787,$21788,$21789,$21790,$21791,$21792,$21793,$21794,$21795,$21796,$21797,$21798),(nextval($21799),$21800,$21801,$21802,$21803,$21804,$21805,$21806,$21807,$21808,$21809,$21810,$21811,$21812),(nextval($21813),$21814,$21815,$21816,$21817,$21818,$21819,$21820,$21821,$21822,$21823,$21824,$21825,$21826),(nextval($21827),$21828,$21829,$21830,$21831,$21832,$21833,$21834,$21835,$21836,$21837,$21838,$21839,$21840),(nextval($21841),$21842,$21843,$21844,$21845,$21846,$21847,$21848,$21849,$21850,$21851,$21852,$21853,$21854),(nextval($21855),$21856,$21857,$21858,$21859,$21860,$21861,$21862,$21863,$21864,$21865,$21866,$21867,$21868),(nextval($21869),$21870,$21871,$21872,$21873,$21874,$21875,$21876,$21877,$21878,$21879,$21880,$21881,$21882),(nextval($21883),$21884,$21885,$21886,$21887,$21888,$21889,$21890,$21891,$21892,$21893,$21894,$21895,$21896),(nextval($21897),$21898,$21899,$21900,$21901,$21902,$21903,$21904,$21905,$21906,$21907,$21908,$21909,$21910),(nextval($21911),$21912,$21913,$21914,$21915,$21916,$21917,$21918,$21919,$21920,$21921,$21922,$21923,$21924),(nextval($21925),$21926,$21927,$21928,$21929,$21930,$21931,$21932,$21933,$21934,$21935,$21936,$21937,$21938),(nextval($21939),$21940,$21941,$21942,$21943,$21944,$21945,$21946,$21947,$21948,$21949,$21950,$21951,$21952),(nextval($21953),$21954,$21955,$21956,$21957,$21958,$21959,$21960,$21961,$21962,$21963,$21964,$21965,$21966),(nextval($21967),$21968,$21969,$21970,$21971,$21972,$21973,$21974,$21975,$21976,$21977,$21978,$21979,$21980),(nextval($21981),$21982,$21983,$21984,$21985,$21986,$21987,$21988,$21989,$21990,$21991,$21992,$21993,$21994),(nextval($21995),$21996,$21997,$21998,$21999,$22000,$22001,$22002,$22003,$22004,$22005,$22006,$22007,$22008),(nextval($22009),$22010,$22011,$22012,$22013,$22014,$22015,$22016,$22017,$22018,$22019,$22020,$22021,$22022),(nextval($22023),$22024,$22025,$22026,$22027,$22028,$22029,$22030,$22031,$22032,$22033,$22034,$22035,$22036),(nextval($22037),$22038,$22039,$22040,$22041,$22042,$22043,$22044,$22045,$22046,$22047,$22048,$22049,$22050),(nextval($22051),$22052,$22053,$22054,$22055,$22056,$22057,$22058,$22059,$22060,$22061,$22062,$22063,$22064),(nextval($22065),$22066,$22067,$22068,$22069,$22070,$22071,$22072,$22073,$22074,$22075,$22076,$22077,$22078),(nextval($22079),$22080,$22081,$22082,$22083,$22084,$22085,$22086,$22087,$22088,$22089,$22090,$22091,$22092),(nextval($22093),$22094,$22095,$22096,$22097,$22098,$22099,$22100,$22101,$22102,$22103,$22104,$22105,$22106),(nextval($22107),$22108,$22109,$22110,$22111,$22112,$22113,$22114,$22115,$22116,$22117,$22118,$22119,$22120),(nextval($22121),$22122,$22123,$22124,$22125,$22126,$22127,$22128,$22129,$22130,$22131,$22132,$22133,$22134),(nextval($22135),$22136,$22137,$22138,$22139,$22140,$22141,$22142,$22143,$22144,$22145,$22146,$22147,$22148),(nextval($22149),$22150,$22151,$22152,$22153,$22154,$22155,$22156,$22157,$22158,$22159,$22160,$22161,$22162),(nextval($22163),$22164,$22165,$22166,$22167,$22168,$22169,$22170,$22171,$22172,$22173,$22174,$22175,$22176),(nextval($22177),$22178,$22179,$22180,$22181,$22182,$22183,$22184,$22185,$22186,$22187,$22188,$22189,$22190),(nextval($22191),$22192,$22193,$22194,$22195,$22196,$22197,$22198,$22199,$22200,$22201,$22202,$22203,$22204),(nextval($22205),$22206,$22207,$22208,$22209,$22210,$22211,$22212,$22213,$22214,$22215,$22216,$22217,$22218),(nextval($22219),$22220,$22221,$22222,$22223,$22224,$22225,$22226,$22227,$22228,$22229,$22230,$22231,$22232),(nextval($22233),$22234,$22235,$22236,$22237,$22238,$22239,$22240,$22241,$22242,$22243,$22244,$22245,$22246),(nextval($22247),$22248,$22249,$22250,$22251,$22252,$22253,$22254,$22255,$22256,$22257,$22258,$22259,$22260),(nextval($22261),$22262,$22263,$22264,$22265,$22266,$22267,$22268,$22269,$22270,$22271,$22272,$22273,$22274),(nextval($22275),$22276,$22277,$22278,$22279,$22280,$22281,$22282,$22283,$22284,$22285,$22286,$22287,$22288),(nextval($22289),$22290,$22291,$22292,$22293,$22294,$22295,$22296,$22297,$22298,$22299,$22300,$22301,$22302),(nextval($22303),$22304,$22305,$22306,$22307,$22308,$22309,$22310,$22311,$22312,$22313,$22314,$22315,$22316),(nextval($22317),$22318,$22319,$22320,$22321,$22322,$22323,$22324,$22325,$22326,$22327,$22328,$22329,$22330),(nextval($22331),$22332,$22333,$22334,$22335,$22336,$22337,$22338,$22339,$22340,$22341,$22342,$22343,$22344),(nextval($22345),$22346,$22347,$22348,$22349,$22350,$22351,$22352,$22353,$22354,$22355,$22356,$22357,$22358),(nextval($22359),$22360,$22361,$22362,$22363,$22364,$22365,$22366,$22367,$22368,$22369,$22370,$22371,$22372),(nextval($22373),$22374,$22375,$22376,$22377,$22378,$22379,$22380,$22381,$22382,$22383,$22384,$22385,$22386),(nextval($22387),$22388,$22389,$22390,$22391,$22392,$22393,$22394,$22395,$22396,$22397,$22398,$22399,$22400),(nextval($22401),$22402,$22403,$22404,$22405,$22406,$22407,$22408,$22409,$22410,$22411,$22412,$22413,$22414),(nextval($22415),$22416,$22417,$22418,$22419,$22420,$22421,$22422,$22423,$22424,$22425,$22426,$22427,$22428),(nextval($22429),$22430,$22431,$22432,$22433,$22434,$22435,$22436,$22437,$22438,$22439,$22440,$22441,$22442),(nextval($22443),$22444,$22445,$22446,$22447,$22448,$22449,$22450,$22451,$22452,$22453,$22454,$22455,$22456),(nextval($22457),$22458,$22459,$22460,$22461,$22462,$22463,$22464,$22465,$22466,$22467,$22468,$22469,$22470),(nextval($22471),$22472,$22473,$22474,$22475,$22476,$22477,$22478,$22479,$22480,$22481,$22482,$22483,$22484),(nextval($22485),$22486,$22487,$22488,$22489,$22490,$22491,$22492,$22493,$22494,$22495,$22496,$22497,$22498),(nextval($22499),$22500,$22501,$22502,$22503,$22504,$22505,$22506,$22507,$22508,$22509,$22510,$22511,$22512),(nextval($22513),$22514,$22515,$22516,$22517,$22518,$22519,$22520,$22521,$22522,$22523,$22524,$22525,$22526),(nextval($22527),$22528,$22529,$22530,$22531,$22532,$22533,$22534,$22535,$22536,$22537,$22538,$22539,$22540),(nextval($22541),$22542,$22543,$22544,$22545,$22546,$22547,$22548,$22549,$22550,$22551,$22552,$22553,$22554),(nextval($22555),$22556,$22557,$22558,$22559,$22560,$22561,$22562,$22563,$22564,$22565,$22566,$22567,$22568),(nextval($22569),$22570,$22571,$22572,$22573,$22574,$22575,$22576,$22577,$22578,$22579,$22580,$22581,$22582),(nextval($22583),$22584,$22585,$22586,$22587,$22588,$22589,$22590,$22591,$22592,$22593,$22594,$22595,$22596),(nextval($22597),$22598,$22599,$22600,$22601,$22602,$22603,$22604,$22605,$22606,$22607,$22608,$22609,$22610),(nextval($22611),$22612,$22613,$22614,$22615,$22616,$22617,$22618,$22619,$22620,$22621,$22622,$22623,$22624),(nextval($22625),$22626,$22627,$22628,$22629,$22630,$22631,$22632,$22633,$22634,$22635,$22636,$22637,$22638),(nextval($22639),$22640,$22641,$22642,$22643,$22644,$22645,$22646,$22647,$22648,$22649,$22650,$22651,$22652),(nextval($22653),$22654,$22655,$22656,$22657,$22658,$22659,$22660,$22661,$22662,$22663,$22664,$22665,$22666),(nextval($22667),$22668,$22669,$22670,$22671,$22672,$22673,$22674,$22675,$22676,$22677,$22678,$22679,$22680),(nextval($22681),$22682,$22683,$22684,$22685,$22686,$22687,$22688,$22689,$22690,$22691,$22692,$22693,$22694),(nextval($22695),$22696,$22697,$22698,$22699,$22700,$22701,$22702,$22703,$22704,$22705,$22706,$22707,$22708),(nextval($22709),$22710,$22711,$22712,$22713,$22714,$22715,$22716,$22717,$22718,$22719,$22720,$22721,$22722),(nextval($22723),$22724,$22725,$22726,$22727,$22728,$22729,$22730,$22731,$22732,$22733,$22734,$22735,$22736),(nextval($22737),$22738,$22739,$22740,$22741,$22742,$22743,$22744,$22745,$22746,$22747,$22748,$22749,$22750),(nextval($22751),$22752,$22753,$22754,$22755,$22756,$22757,$22758,$22759,$22760,$22761,$22762,$22763,$22764),(nextval($22765),$22766,$22767,$22768,$22769,$22770,$22771,$22772,$22773,$22774,$22775,$22776,$22777,$22778),(nextval($22779),$22780,$22781,$22782,$22783,$22784,$22785,$22786,$22787,$22788,$22789,$22790,$22791,$22792),(nextval($22793),$22794,$22795,$22796,$22797,$22798,$22799,$22800,$22801,$22802,$22803,$22804,$22805,$22806),(nextval($22807),$22808,$22809,$22810,$22811,$22812,$22813,$22814,$22815,$22816,$22817,$22818,$22819,$22820),(nextval($22821),$22822,$22823,$22824,$22825,$22826,$22827,$22828,$22829,$22830,$22831,$22832,$22833,$22834),(nextval($22835),$22836,$22837,$22838,$22839,$22840,$22841,$22842,$22843,$22844,$22845,$22846,$22847,$22848),(nextval($22849),$22850,$22851,$22852,$22853,$22854,$22855,$22856,$22857,$22858,$22859,$22860,$22861,$22862),(nextval($22863),$22864,$22865,$22866,$22867,$22868,$22869,$22870,$22871,$22872,$22873,$22874,$22875,$22876),(nextval($22877),$22878,$22879,$22880,$22881,$22882,$22883,$22884,$22885,$22886,$22887,$22888,$22889,$22890),(nextval($22891),$22892,$22893,$22894,$22895,$22896,$22897,$22898,$22899,$22900,$22901,$22902,$22903,$22904),(nextval($22905),$22906,$22907,$22908,$22909,$22910,$22911,$22912,$22913,$22914,$22915,$22916,$22917,$22918),(nextval($22919),$22920,$22921,$22922,$22923,$22924,$22925,$22926,$22927,$22928,$22929,$22930,$22931,$22932),(nextval($22933),$22934,$22935,$22936,$22937,$22938,$22939,$22940,$22941,$22942,$22943,$22944,$22945,$22946),(nextval($22947),$22948,$22949,$22950,$22951,$22952,$22953,$22954,$22955,$22956,$22957,$22958,$22959,$22960),(nextval($22961),$22962,$22963,$22964,$22965,$22966,$22967,$22968,$22969,$22970,$22971,$22972,$22973,$22974),(nextval($22975),$22976,$22977,$22978,$22979,$22980,$22981,$22982,$22983,$22984,$22985,$22986,$22987,$22988),(nextval($22989),$22990,$22991,$22992,$22993,$22994,$22995,$22996,$22997,$22998,$22999,$23000,$23001,$23002),(nextval($23003),$23004,$23005,$23006,$23007,$23008,$23009,$23010,$23011,$23012,$23013,$23014,$23015,$23016),(nextval($23017),$23018,$23019,$23020,$23021,$23022,$23023,$23024,$23025,$23026,$23027,$23028,$23029,$23030),(nextval($23031),$23032,$23033,$23034,$23035,$23036,$23037,$23038,$23039,$23040,$23041,$23042,$23043,$23044),(nextval($23045),$23046,$23047,$23048,$23049,$23050,$23051,$23052,$23053,$23054,$23055,$23056,$23057,$23058),(nextval($23059),$23060,$23061,$23062,$23063,$23064,$23065,$23066,$23067,$23068,$23069,$23070,$23071,$23072),(nextval($23073),$23074,$23075,$23076,$23077,$23078,$23079,$23080,$23081,$23082,$23083,$23084,$23085,$23086),(nextval($23087),$23088,$23089,$23090,$23091,$23092,$23093,$23094,$23095,$23096,$23097,$23098,$23099,$23100),(nextval($23101),$23102,$23103,$23104,$23105,$23106,$23107,$23108,$23109,$23110,$23111,$23112,$23113,$23114),(nextval($23115),$23116,$23117,$23118,$23119,$23120,$23121,$23122,$23123,$23124,$23125,$23126,$23127,$23128),(nextval($23129),$23130,$23131,$23132,$23133,$23134,$23135,$23136,$23137,$23138,$23139,$23140,$23141,$23142),(nextval($23143),$23144,$23145,$23146,$23147,$23148,$23149,$23150,$23151,$23152,$23153,$23154,$23155,$23156),(nextval($23157),$23158,$23159,$23160,$23161,$23162,$23163,$23164,$23165,$23166,$23167,$23168,$23169,$23170),(nextval($23171),$23172,$23173,$23174,$23175,$23176,$23177,$23178,$23179,$23180,$23181,$23182,$23183,$23184),(nextval($23185),$23186,$23187,$23188,$23189,$23190,$23191,$23192,$23193,$23194,$23195,$23196,$23197,$23198),(nextval($23199),$23200,$23201,$23202,$23203,$23204,$23205,$23206,$23207,$23208,$23209,$23210,$23211,$23212),(nextval($23213),$23214,$23215,$23216,$23217,$23218,$23219,$23220,$23221,$23222,$23223,$23224,$23225,$23226),(nextval($23227),$23228,$23229,$23230,$23231,$23232,$23233,$23234,$23235,$23236,$23237,$23238,$23239,$23240),(nextval($23241),$23242,$23243,$23244,$23245,$23246,$23247,$23248,$23249,$23250,$23251,$23252,$23253,$23254),(nextval($23255),$23256,$23257,$23258,$23259,$23260,$23261,$23262,$23263,$23264,$23265,$23266,$23267,$23268),(nextval($23269),$23270,$23271,$23272,$23273,$23274,$23275,$23276,$23277,$23278,$23279,$23280,$23281,$23282),(nextval($23283),$23284,$23285,$23286,$23287,$23288,$23289,$23290,$23291,$23292,$23293,$23294,$23295,$23296),(nextval($23297),$23298,$23299,$23300,$23301,$23302,$23303,$23304,$23305,$23306,$23307,$23308,$23309,$23310),(nextval($23311),$23312,$23313,$23314,$23315,$23316,$23317,$23318,$23319,$23320,$23321,$23322,$23323,$23324),(nextval($23325),$23326,$23327,$23328,$23329,$23330,$23331,$23332,$23333,$23334,$23335,$23336,$23337,$23338),(nextval($23339),$23340,$23341,$23342,$23343,$23344,$23345,$23346,$23347,$23348,$23349,$23350,$23351,$23352),(nextval($23353),$23354,$23355,$23356,$23357,$23358,$23359,$23360,$23361,$23362,$23363,$23364,$23365,$23366),(nextval($23367),$23368,$23369,$23370,$23371,$23372,$23373,$23374,$23375,$23376,$23377,$23378,$23379,$23380),(nextval($23381),$23382,$23383,$23384,$23385,$23386,$23387,$23388,$23389,$23390,$23391,$23392,$23393,$23394),(nextval($23395),$23396,$23397,$23398,$23399,$23400,$23401,$23402,$23403,$23404,$23405,$23406,$23407,$23408),(nextval($23409),$23410,$23411,$23412,$23413,$23414,$23415,$23416,$23417,$23418,$23419,$23420,$23421,$23422),(nextval($23423),$23424,$23425,$23426,$23427,$23428,$23429,$23430,$23431,$23432,$23433,$23434,$23435,$23436),(nextval($23437),$23438,$23439,$23440,$23441,$23442,$23443,$23444,$23445,$23446,$23447,$23448,$23449,$23450),(nextval($23451),$23452,$23453,$23454,$23455,$23456,$23457,$23458,$23459,$23460,$23461,$23462,$23463,$23464),(nextval($23465),$23466,$23467,$23468,$23469,$23470,$23471,$23472,$23473,$23474,$23475,$23476,$23477,$23478),(nextval($23479),$23480,$23481,$23482,$23483,$23484,$23485,$23486,$23487,$23488,$23489,$23490,$23491,$23492),(nextval($23493),$23494,$23495,$23496,$23497,$23498,$23499,$23500,$23501,$23502,$23503,$23504,$23505,$23506),(nextval($23507),$23508,$23509,$23510,$23511,$23512,$23513,$23514,$23515,$23516,$23517,$23518,$23519,$23520),(nextval($23521),$23522,$23523,$23524,$23525,$23526,$23527,$23528,$23529,$23530,$23531,$23532,$23533,$23534),(nextval($23535),$23536,$23537,$23538,$23539,$23540,$23541,$23542,$23543,$23544,$23545,$23546,$23547,$23548),(nextval($23549),$23550,$23551,$23552,$23553,$23554,$23555,$23556,$23557,$23558,$23559,$23560,$23561,$23562),(nextval($23563),$23564,$23565,$23566,$23567,$23568,$23569,$23570,$23571,$23572,$23573,$23574,$23575,$23576),(nextval($23577),$23578,$23579,$23580,$23581,$23582,$23583,$23584,$23585,$23586,$23587,$23588,$23589,$23590),(nextval($23591),$23592,$23593,$23594,$23595,$23596,$23597,$23598,$23599,$23600,$23601,$23602,$23603,$23604),(nextval($23605),$23606,$23607,$23608,$23609,$23610,$23611,$23612,$23613,$23614,$23615,$23616,$23617,$23618),(nextval($23619),$23620,$23621,$23622,$23623,$23624,$23625,$23626,$23627,$23628,$23629,$23630,$23631,$23632),(nextval($23633),$23634,$23635,$23636,$23637,$23638,$23639,$23640,$23641,$23642,$23643,$23644,$23645,$23646),(nextval($23647),$23648,$23649,$23650,$23651,$23652,$23653,$23654,$23655,$23656,$23657,$23658,$23659,$23660),(nextval($23661),$23662,$23663,$23664,$23665,$23666,$23667,$23668,$23669,$23670,$23671,$23672,$23673,$23674),(nextval($23675),$23676,$23677,$23678,$23679,$23680,$23681,$23682,$23683,$23684,$23685,$23686,$23687,$23688),(nextval($23689),$23690,$23691,$23692,$23693,$23694,$23695,$23696,$23697,$23698,$23699,$23700,$23701,$23702),(nextval($23703),$23704,$23705,$23706,$23707,$23708,$23709,$23710,$23711,$23712,$23713,$23714,$23715,$23716),(nextval($23717),$23718,$23719,$23720,$23721,$23722,$23723,$23724,$23725,$23726,$23727,$23728,$23729,$23730),(nextval($23731),$23732,$23733,$23734,$23735,$23736,$23737,$23738,$23739,$23740,$23741,$23742,$23743,$23744),(nextval($23745),$23746,$23747,$23748,$23749,$23750,$23751,$23752,$23753,$23754,$23755,$23756,$23757,$23758),(nextval($23759),$23760,$23761,$23762,$23763,$23764,$23765,$23766,$23767,$23768,$23769,$23770,$23771,$23772),(nextval($23773),$23774,$23775,$23776,$23777,$23778,$23779,$23780,$23781,$23782,$23783,$23784,$23785,$23786),(nextval($23787),$23788,$23789,$23790,$23791,$23792,$23793,$23794,$23795,$23796,$23797,$23798,$23799,$23800),(nextval($23801),$23802,$23803,$23804,$23805,$23806,$23807,$23808,$23809,$23810,$23811,$23812,$23813,$23814),(nextval($23815),$23816,$23817,$23818,$23819,$23820,$23821,$23822,$23823,$23824,$23825,$23826,$23827,$23828),(nextval($23829),$23830,$23831,$23832,$23833,$23834,$23835,$23836,$23837,$23838,$23839,$23840,$23841,$23842),(nextval($23843),$23844,$23845,$23846,$23847,$23848,$23849,$23850,$23851,$23852,$23853,$23854,$23855,$23856),(nextval($23857),$23858,$23859,$23860,$23861,$23862,$23863,$23864,$23865,$23866,$23867,$23868,$23869,$23870),(nextval($23871),$23872,$23873,$23874,$23875,$23876,$23877,$23878,$23879,$23880,$23881,$23882,$23883,$23884),(nextval($23885),$23886,$23887,$23888,$23889,$23890,$23891,$23892,$23893,$23894,$23895,$23896,$23897,$23898),(nextval($23899),$23900,$23901,$23902,$23903,$23904,$23905,$23906,$23907,$23908,$23909,$23910,$23911,$23912),(nextval($23913),$23914,$23915,$23916,$23917,$23918,$23919,$23920,$23921,$23922,$23923,$23924,$23925,$23926),(nextval($23927),$23928,$23929,$23930,$23931,$23932,$23933,$23934,$23935,$23936,$23937,$23938,$23939,$23940),(nextval($23941),$23942,$23943,$23944,$23945,$23946,$23947,$23948,$23949,$23950,$23951,$23952,$23953,$23954),(nextval($23955),$23956,$23957,$23958,$23959,$23960,$23961,$23962,$23963,$23964,$23965,$23966,$23967,$23968),(nextval($23969),$23970,$23971,$23972,$23973,$23974,$23975,$23976,$23977,$23978,$23979,$23980,$23981,$23982),(nextval($23983),$23984,$23985,$23986,$23987,$23988,$23989,$23990,$23991,$23992,$23993,$23994,$23995,$23996),(nextval($23997),$23998,$23999,$24000,$24001,$24002,$24003,$24004,$24005,$24006,$24007,$24008,$24009,$24010),(nextval($24011),$24012,$24013,$24014,$24015,$24016,$24017,$24018,$24019,$24020,$24021,$24022,$24023,$24024),(nextval($24025),$24026,$24027,$24028,$24029,$24030,$24031,$24032,$24033,$24034,$24035,$24036,$24037,$24038),(nextval($24039),$24040,$24041,$24042,$24043,$24044,$24045,$24046,$24047,$24048,$24049,$24050,$24051,$24052),(nextval($24053),$24054,$24055,$24056,$24057,$24058,$24059,$24060,$24061,$24062,$24063,$24064,$24065,$24066),(nextval($24067),$24068,$24069,$24070,$24071,$24072,$24073,$24074,$24075,$24076,$24077,$24078,$24079,$24080),(nextval($24081),$24082,$24083,$24084,$24085,$24086,$24087,$24088,$24089,$24090,$24091,$24092,$24093,$24094),(nextval($24095),$24096,$24097,$24098,$24099,$24100,$24101,$24102,$24103,$24104,$24105,$24106,$24107,$24108),(nextval($24109),$24110,$24111,$24112,$24113,$24114,$24115,$24116,$24117,$24118,$24119,$24120,$24121,$24122),(nextval($24123),$24124,$24125,$24126,$24127,$24128,$24129,$24130,$24131,$24132,$24133,$24134,$24135,$24136),(nextval($24137),$24138,$24139,$24140,$24141,$24142,$24143,$24144,$24145,$24146,$24147,$24148,$24149,$24150),(nextval($24151),$24152,$24153,$24154,$24155,$24156,$24157,$24158,$24159,$24160,$24161,$24162,$24163,$24164),(nextval($24165),$24166,$24167,$24168,$24169,$24170,$24171,$24172,$24173,$24174,$24175,$24176,$24177,$24178),(nextval($24179),$24180,$24181,$24182,$24183,$24184,$24185,$24186,$24187,$24188,$24189,$24190,$24191,$24192),(nextval($24193),$24194,$24195,$24196,$24197,$24198,$24199,$24200,$24201,$24202,$24203,$24204,$24205,$24206),(nextval($24207),$24208,$24209,$24210,$24211,$24212,$24213,$24214,$24215,$24216,$24217,$24218,$24219,$24220),(nextval($24221),$24222,$24223,$24224,$24225,$24226,$24227,$24228,$24229,$24230,$24231,$24232,$24233,$24234),(nextval($24235),$24236,$24237,$24238,$24239,$24240,$24241,$24242,$24243,$24244,$24245,$24246,$24247,$24248),(nextval($24249),$24250,$24251,$24252,$24253,$24254,$24255,$24256,$24257,$24258,$24259,$24260,$24261,$24262),(nextval($24263),$24264,$24265,$24266,$24267,$24268,$24269,$24270,$24271,$24272,$24273,$24274,$24275,$24276),(nextval($24277),$24278,$24279,$24280,$24281,$24282,$24283,$24284,$24285,$24286,$24287,$24288,$24289,$24290),(nextval($24291),$24292,$24293,$24294,$24295,$24296,$24297,$24298,$24299,$24300,$24301,$24302,$24303,$24304),(nextval($24305),$24306,$24307,$24308,$24309,$24310,$24311,$24312,$24313,$24314,$24315,$24316,$24317,$24318),(nextval($24319),$24320,$24321,$24322,$24323,$24324,$24325,$24326,$24327,$24328,$24329,$24330,$24331,$24332),(nextval($24333),$24334,$24335,$24336,$24337,$24338,$24339,$24340,$24341,$24342,$24343,$24344,$24345,$24346),(nextval($24347),$24348,$24349,$24350,$24351,$24352,$24353,$24354,$24355,$24356,$24357,$24358,$24359,$24360),(nextval($24361),$24362,$24363,$24364,$24365,$24366,$24367,$24368,$24369,$24370,$24371,$24372,$24373,$24374),(nextval($24375),$24376,$24377,$24378,$24379,$24380,$24381,$24382,$24383,$24384,$24385,$24386,$24387,$24388),(nextval($24389),$24390,$24391,$24392,$24393,$24394,$24395,$24396,$24397,$24398,$24399,$24400,$24401,$24402),(nextval($24403),$24404,$24405,$24406,$24407,$24408,$24409,$24410,$24411,$24412,$24413,$24414,$24415,$24416),(nextval($24417),$24418,$24419,$24420,$24421,$24422,$24423,$24424,$24425,$24426,$24427,$24428,$24429,$24430),(nextval($24431),$24432,$24433,$24434,$24435,$24436,$24437,$24438,$24439,$24440,$24441,$24442,$24443,$24444),(nextval($24445),$24446,$24447,$24448,$24449,$24450,$24451,$24452,$24453,$24454,$24455,$24456,$24457,$24458),(nextval($24459),$24460,$24461,$24462,$24463,$24464,$24465,$24466,$24467,$24468,$24469,$24470,$24471,$24472),(nextval($24473),$24474,$24475,$24476,$24477,$24478,$24479,$24480,$24481,$24482,$24483,$24484,$24485,$24486),(nextval($24487),$24488,$24489,$24490,$24491,$24492,$24493,$24494,$24495,$24496,$24497,$24498,$24499,$24500),(nextval($24501),$24502,$24503,$24504,$24505,$24506,$24507,$24508,$24509,$24510,$24511,$24512,$24513,$24514),(nextval($24515),$24516,$24517,$24518,$24519,$24520,$24521,$24522,$24523,$24524,$24525,$24526,$24527,$24528),(nextval($24529),$24530,$24531,$24532,$24533,$24534,$24535,$24536,$24537,$24538,$24539,$24540,$24541,$24542),(nextval($24543),$24544,$24545,$24546,$24547,$24548,$24549,$24550,$24551,$24552,$24553,$24554,$24555,$24556),(nextval($24557),$24558,$24559,$24560,$24561,$24562,$24563,$24564,$24565,$24566,$24567,$24568,$24569,$24570),(nextval($24571),$24572,$24573,$24574,$24575,$24576,$24577,$24578,$24579,$24580,$24581,$24582,$24583,$24584),(nextval($24585),$24586,$24587,$24588,$24589,$24590,$24591,$24592,$24593,$24594,$24595,$24596,$24597,$24598),(nextval($24599),$24600,$24601,$24602,$24603,$24604,$24605,$24606,$24607,$24608,$24609,$24610,$24611,$24612),(nextval($24613),$24614,$24615,$24616,$24617,$24618,$24619,$24620,$24621,$24622,$24623,$24624,$24625,$24626),(nextval($24627),$24628,$24629,$24630,$24631,$24632,$24633,$24634,$24635,$24636,$24637,$24638,$24639,$24640),(nextval($24641),$24642,$24643,$24644,$24645,$24646,$24647,$24648,$24649,$24650,$24651,$24652,$24653,$24654),(nextval($24655),$24656,$24657,$24658,$24659,$24660,$24661,$24662,$24663,$24664,$24665,$24666,$24667,$24668),(nextval($24669),$24670,$24671,$24672,$24673,$24674,$24675,$24676,$24677,$24678,$24679,$24680,$24681,$24682),(nextval($24683),$24684,$24685,$24686,$24687,$24688,$24689,$24690,$24691,$24692,$24693,$24694,$24695,$24696),(nextval($24697),$24698,$24699,$24700,$24701,$24702,$24703,$24704,$24705,$24706,$24707,$24708,$24709,$24710),(nextval($24711),$24712,$24713,$24714,$24715,$24716,$24717,$24718,$24719,$24720,$24721,$24722,$24723,$24724),(nextval($24725),$24726,$24727,$24728,$24729,$24730,$24731,$24732,$24733,$24734,$24735,$24736,$24737,$24738),(nextval($24739),$24740,$24741,$24742,$24743,$24744,$24745,$24746,$24747,$24748,$24749,$24750,$24751,$24752),(nextval($24753),$24754,$24755,$24756,$24757,$24758,$24759,$24760,$24761,$24762,$24763,$24764,$24765,$24766),(nextval($24767),$24768,$24769,$24770,$24771,$24772,$24773,$24774,$24775,$24776,$24777,$24778,$24779,$24780),(nextval($24781),$24782,$24783,$24784,$24785,$24786,$24787,$24788,$24789,$24790,$24791,$24792,$24793,$24794),(nextval($24795),$24796,$24797,$24798,$24799,$24800,$24801,$24802,$24803,$24804,$24805,$24806,$24807,$24808),(nextval($24809),$24810,$24811,$24812,$24813,$24814,$24815,$24816,$24817,$24818,$24819,$24820,$24821,$24822),(nextval($24823),$24824,$24825,$24826,$24827,$24828,$24829,$24830,$24831,$24832,$24833,$24834,$24835,$24836),(nextval($24837),$24838,$24839,$24840,$24841,$24842,$24843,$24844,$24845,$24846,$24847,$24848,$24849,$24850),(nextval($24851),$24852,$24853,$24854,$24855,$24856,$24857,$24858,$24859,$24860,$24861,$24862,$24863,$24864),(nextval($24865),$24866,$24867,$24868,$24869,$24870,$24871,$24872,$24873,$24874,$24875,$24876,$24877,$24878),(nextval($24879),$24880,$24881,$24882,$24883,$24884,$24885,$24886,$24887,$24888,$24889,$24890,$24891,$24892),(nextval($24893),$24894,$24895,$24896,$24897,$24898,$24899,$24900,$24901,$24902,$24903,$24904,$24905,$24906),(nextval($24907),$24908,$24909,$24910,$24911,$24912,$24913,$24914,$24915,$24916,$24917,$24918,$24919,$24920),(nextval($24921),$24922,$24923,$24924,$24925,$24926,$24927,$24928,$24929,$24930,$24931,$24932,$24933,$24934),(nextval($24935),$24936,$24937,$24938,$24939,$24940,$24941,$24942,$24943,$24944,$24945,$24946,$24947,$24948),(nextval($24949),$24950,$24951,$24952,$24953,$24954,$24955,$24956,$24957,$24958,$24959,$24960,$24961,$24962),(nextval($24963),$24964,$24965,$24966,$24967,$24968,$24969,$24970,$24971,$24972,$24973,$24974,$24975,$24976),(nextval($24977),$24978,$24979,$24980,$24981,$24982,$24983,$24984,$24985,$24986,$24987,$24988,$24989,$24990),(nextval($24991),$24992,$24993,$24994,$24995,$24996,$24997,$24998,$24999,$25000,$25001,$25002,$25003,$25004),(nextval($25005),$25006,$25007,$25008,$25009,$25010,$25011,$25012,$25013,$25014,$25015,$25016,$25017,$25018),(nextval($25019),$25020,$25021,$25022,$25023,$25024,$25025,$25026,$25027,$25028,$25029,$25030,$25031,$25032),(nextval($25033),$25034,$25035,$25036,$25037,$25038,$25039,$25040,$25041,$25042,$25043,$25044,$25045,$25046),(nextval($25047),$25048,$25049,$25050,$25051,$25052,$25053,$25054,$25055,$25056,$25057,$25058,$25059,$25060),(nextval($25061),$25062,$25063,$25064,$25065,$25066,$25067,$25068,$25069,$25070,$25071,$25072,$25073,$25074),(nextval($25075),$25076,$25077,$25078,$25079,$25080,$25081,$25082,$25083,$25084,$25085,$25086,$25087,$25088),(nextval($25089),$25090,$25091,$25092,$25093,$25094,$25095,$25096,$25097,$25098,$25099,$25100,$25101,$25102),(nextval($25103),$25104,$25105,$25106,$25107,$25108,$25109,$25110,$25111,$25112,$25113,$25114,$25115,$25116),(nextval($25117),$25118,$25119,$25120,$25121,$25122,$25123,$25124,$25125,$25126,$25127,$25128,$25129,$25130),(nextval($25131),$25132,$25133,$25134,$25135,$25136,$25137,$25138,$25139,$25140,$25141,$25142,$25143,$25144),(nextval($25145),$25146,$25147,$25148,$25149,$25150,$25151,$25152,$25153,$25154,$25155,$25156,$25157,$25158),(nextval($25159),$25160,$25161,$25162,$25163,$25164,$25165,$25166,$25167,$25168,$25169,$25170,$25171,$25172),(nextval($25173),$25174,$25175,$25176,$25177,$25178,$25179,$25180,$25181,$25182,$25183,$25184,$25185,$25186),(nextval($25187),$25188,$25189,$25190,$25191,$25192,$25193,$25194,$25195,$25196,$25197,$25198,$25199,$25200),(nextval($25201),$25202,$25203,$25204,$25205,$25206,$25207,$25208,$25209,$25210,$25211,$25212,$25213,$25214),(nextval($25215),$25216,$25217,$25218,$25219,$25220,$25221,$25222,$25223,$25224,$25225,$25226,$25227,$25228),(nextval($25229),$25230,$25231,$25232,$25233,$25234,$25235,$25236,$25237,$25238,$25239,$25240,$25241,$25242),(nextval($25243),$25244,$25245,$25246,$25247,$25248,$25249,$25250,$25251,$25252,$25253,$25254,$25255,$25256),(nextval($25257),$25258,$25259,$25260,$25261,$25262,$25263,$25264,$25265,$25266,$25267,$25268,$25269,$25270),(nextval($25271),$25272,$25273,$25274,$25275,$25276,$25277,$25278,$25279,$25280,$25281,$25282,$25283,$25284),(nextval($25285),$25286,$25287,$25288,$25289,$25290,$25291,$25292,$25293,$25294,$25295,$25296,$25297,$25298),(nextval($25299),$25300,$25301,$25302,$25303,$25304,$25305,$25306,$25307,$25308,$25309,$25310,$25311,$25312),(nextval($25313),$25314,$25315,$25316,$25317,$25318,$25319,$25320,$25321,$25322,$25323,$25324,$25325,$25326),(nextval($25327),$25328,$25329,$25330,$25331,$25332,$25333,$25334,$25335,$25336,$25337,$25338,$25339,$25340),(nextval($25341),$25342,$25343,$25344,$25345,$25346,$25347,$25348,$25349,$25350,$25351,$25352,$25353,$25354),(nextval($25355),$25356,$25357,$25358,$25359,$25360,$25361,$25362,$25363,$25364,$25365,$25366,$25367,$25368),(nextval($25369),$25370,$25371,$25372,$25373,$25374,$25375,$25376,$25377,$25378,$25379,$25380,$25381,$25382),(nextval($25383),$25384,$25385,$25386,$25387,$25388,$25389,$25390,$25391,$25392,$25393,$25394,$25395,$25396),(nextval($25397),$25398,$25399,$25400,$25401,$25402,$25403,$25404,$25405,$25406,$25407,$25408,$25409,$25410),(nextval($25411),$25412,$25413,$25414,$25415,$25416,$25417,$25418,$25419,$25420,$25421,$25422,$25423,$25424),(nextval($25425),$25426,$25427,$25428,$25429,$25430,$25431,$25432,$25433,$25434,$25435,$25436,$25437,$25438),(nextval($25439),$25440,$25441,$25442,$25443,$25444,$25445,$25446,$25447,$25448,$25449,$25450,$25451,$25452),(nextval($25453),$25454,$25455,$25456,$25457,$25458,$25459,$25460,$25461,$25462,$25463,$25464,$25465,$25466),(nextval($25467),$25468,$25469,$25470,$25471,$25472,$25473,$25474,$25475,$25476,$25477,$25478,$25479,$25480),(nextval($25481),$25482,$25483,$25484,$25485,$25486,$25487,$25488,$25489,$25490,$25491,$25492,$25493,$25494),(nextval($25495),$25496,$25497,$25498,$25499,$25500,$25501,$25502,$25503,$25504,$25505,$25506,$25507,$25508),(nextval($25509),$25510,$25511,$25512,$25513,$25514,$25515,$25516,$25517,$25518,$25519,$25520,$25521,$25522),(nextval($25523),$25524,$25525,$25526,$25527,$25528,$25529,$25530,$25531,$25532,$25533,$25534,$25535,$25536),(nextval($25537),$25538,$25539,$25540,$25541,$25542,$25543,$25544,$25545,$25546,$25547,$25548,$25549,$25550),(nextval($25551),$25552,$25553,$25554,$25555,$25556,$25557,$25558,$25559,$25560,$25561,$25562,$25563,$25564),(nextval($25565),$25566,$25567,$25568,$25569,$25570,$25571,$25572,$25573,$25574,$25575,$25576,$25577,$25578),(nextval($25579),$25580,$25581,$25582,$25583,$25584,$25585,$25586,$25587,$25588,$25589,$25590,$25591,$25592),(nextval($25593),$25594,$25595,$25596,$25597,$25598,$25599,$25600,$25601,$25602,$25603,$25604,$25605,$25606),(nextval($25607),$25608,$25609,$25610,$25611,$25612,$25613,$25614,$25615,$25616,$25617,$25618,$25619,$25620),(nextval($25621),$25622,$25623,$25624,$25625,$25626,$25627,$25628,$25629,$25630,$25631,$25632,$25633,$25634),(nextval($25635),$25636,$25637,$25638,$25639,$25640,$25641,$25642,$25643,$25644,$25645,$25646,$25647,$25648),(nextval($25649),$25650,$25651,$25652,$25653,$25654,$25655,$25656,$25657,$25658,$25659,$25660,$25661,$25662),(nextval($25663),$25664,$25665,$25666,$25667,$25668,$25669,$25670,$25671,$25672,$25673,$25674,$25675,$25676),(nextval($25677),$25678,$25679,$25680,$25681,$25682,$25683,$25684,$25685,$25686,$25687,$25688,$25689,$25690),(nextval($25691),$25692,$25693,$25694,$25695,$25696,$25697,$25698,$25699,$25700,$25701,$25702,$25703,$25704),(nextval($25705),$25706,$25707,$25708,$25709,$25710,$25711,$25712,$25713,$25714,$25715,$25716,$25717,$25718),(nextval($25719),$25720,$25721,$25722,$25723,$25724,$25725,$25726,$25727,$25728,$25729,$25730,$25731,$25732),(nextval($25733),$25734,$25735,$25736,$25737,$25738,$25739,$25740,$25741,$25742,$25743,$25744,$25745,$25746),(nextval($25747),$25748,$25749,$25750,$25751,$25752,$25753,$25754,$25755,$25756,$25757,$25758,$25759,$25760),(nextval($25761),$25762,$25763,$25764,$25765,$25766,$25767,$25768,$25769,$25770,$25771,$25772,$25773,$25774),(nextval($25775),$25776,$25777,$25778,$25779,$25780,$25781,$25782,$25783,$25784,$25785,$25786,$25787,$25788),(nextval($25789),$25790,$25791,$25792,$25793,$25794,$25795,$25796,$25797,$25798,$25799,$25800,$25801,$25802),(nextval($25803),$25804,$25805,$25806,$25807,$25808,$25809,$25810,$25811,$25812,$25813,$25814,$25815,$25816),(nextval($25817),$25818,$25819,$25820,$25821,$25822,$25823,$25824,$25825,$25826,$25827,$25828,$25829,$25830),(nextval($25831),$25832,$25833,$25834,$25835,$25836,$25837,$25838,$25839,$25840,$25841,$25842,$25843,$25844),(nextval($25845),$25846,$25847,$25848,$25849,$25850,$25851,$25852,$25853,$25854,$25855,$25856,$25857,$25858),(nextval($25859),$25860,$25861,$25862,$25863,$25864,$25865,$25866,$25867,$25868,$25869,$25870,$25871,$25872),(nextval($25873),$25874,$25875,$25876,$25877,$25878,$25879,$25880,$25881,$25882,$25883,$25884,$25885,$25886),(nextval($25887),$25888,$25889,$25890,$25891,$25892,$25893,$25894,$25895,$25896,$25897,$25898,$25899,$25900),(nextval($25901),$25902,$25903,$25904,$25905,$25906,$25907,$25908,$25909,$25910,$25911,$25912,$25913,$25914),(nextval($25915),$25916,$25917,$25918,$25919,$25920,$25921,$25922,$25923,$25924,$25925,$25926,$25927,$25928),(nextval($25929),$25930,$25931,$25932,$25933,$25934,$25935,$25936,$25937,$25938,$25939,$25940,$25941,$25942),(nextval($25943),$25944,$25945,$25946,$25947,$25948,$25949,$25950,$25951,$25952,$25953,$25954,$25955,$25956),(nextval($25957),$25958,$25959,$25960,$25961,$25962,$25963,$25964,$25965,$25966,$25967,$25968,$25969,$25970),(nextval($25971),$25972,$25973,$25974,$25975,$25976,$25977,$25978,$25979,$25980,$25981,$25982,$25983,$25984),(nextval($25985),$25986,$25987,$25988,$25989,$25990,$25991,$25992,$25993,$25994,$25995,$25996,$25997,$25998),(nextval($25999),$26000,$26001,$26002,$26003,$26004,$26005,$26006,$26007,$26008,$26009,$26010,$26011,$26012),(nextval($26013),$26014,$26015,$26016,$26017,$26018,$26019,$26020,$26021,$26022,$26023,$26024,$26025,$26026),(nextval($26027),$26028,$26029,$26030,$26031,$26032,$26033,$26034,$26035,$26036,$26037,$26038,$26039,$26040),(nextval($26041),$26042,$26043,$26044,$26045,$26046,$26047,$26048,$26049,$26050,$26051,$26052,$26053,$26054),(nextval($26055),$26056,$26057,$26058,$26059,$26060,$26061,$26062,$26063,$26064,$26065,$26066,$26067,$26068),(nextval($26069),$26070,$26071,$26072,$26073,$26074,$26075,$26076,$26077,$26078,$26079,$26080,$26081,$26082),(nextval($26083),$26084,$26085,$26086,$26087,$26088,$26089,$26090,$26091,$26092,$26093,$26094,$26095,$26096),(nextval($26097),$26098,$26099,$26100,$26101,$26102,$26103,$26104,$26105,$26106,$26107,$26108,$26109,$26110),(nextval($26111),$26112,$26113,$26114,$26115,$26116,$26117,$26118,$26119,$26120,$26121,$26122,$26123,$26124),(nextval($26125),$26126,$26127,$26128,$26129,$26130,$26131,$26132,$26133,$26134,$26135,$26136,$26137,$26138),(nextval($26139),$26140,$26141,$26142,$26143,$26144,$26145,$26146,$26147,$26148,$26149,$26150,$26151,$26152),(nextval($26153),$26154,$26155,$26156,$26157,$26158,$26159,$26160,$26161,$26162,$26163,$26164,$26165,$26166),(nextval($26167),$26168,$26169,$26170,$26171,$26172,$26173,$26174,$26175,$26176,$26177,$26178,$26179,$26180),(nextval($26181),$26182,$26183,$26184,$26185,$26186,$26187,$26188,$26189,$26190,$26191,$26192,$26193,$26194),(nextval($26195),$26196,$26197,$26198,$26199,$26200,$26201,$26202,$26203,$26204,$26205,$26206,$26207,$26208),(nextval($26209),$26210,$26211,$26212,$26213,$26214,$26215,$26216,$26217,$26218,$26219,$26220,$26221,$26222),(nextval($26223),$26224,$26225,$26226,$26227,$26228,$26229,$26230,$26231,$26232,$26233,$26234,$26235,$26236),(nextval($26237),$26238,$26239,$26240,$26241,$26242,$26243,$26244,$26245,$26246,$26247,$26248,$26249,$26250),(nextval($26251),$26252,$26253,$26254,$26255,$26256,$26257,$26258,$26259,$26260,$26261,$26262,$26263,$26264),(nextval($26265),$26266,$26267,$26268,$26269,$26270,$26271,$26272,$26273,$26274,$26275,$26276,$26277,$26278),(nextval($26279),$26280,$26281,$26282,$26283,$26284,$26285,$26286,$26287,$26288,$26289,$26290,$26291,$26292),(nextval($26293),$26294,$26295,$26296,$26297,$26298,$26299,$26300,$26301,$26302,$26303,$26304,$26305,$26306),(nextval($26307),$26308,$26309,$26310,$26311,$26312,$26313,$26314,$26315,$26316,$26317,$26318,$26319,$26320),(nextval($26321),$26322,$26323,$26324,$26325,$26326,$26327,$26328,$26329,$26330,$26331,$26332,$26333,$26334),(nextval($26335),$26336,$26337,$26338,$26339,$26340,$26341,$26342,$26343,$26344,$26345,$26346,$26347,$26348),(nextval($26349),$26350,$26351,$26352,$26353,$26354,$26355,$26356,$26357,$26358,$26359,$26360,$26361,$26362),(nextval($26363),$26364,$26365,$26366,$26367,$26368,$26369,$26370,$26371,$26372,$26373,$26374,$26375,$26376),(nextval($26377),$26378,$26379,$26380,$26381,$26382,$26383,$26384,$26385,$26386,$26387,$26388,$26389,$26390),(nextval($26391),$26392,$26393,$26394,$26395,$26396,$26397,$26398,$26399,$26400,$26401,$26402,$26403,$26404),(nextval($26405),$26406,$26407,$26408,$26409,$26410,$26411,$26412,$26413,$26414,$26415,$26416,$26417,$26418),(nextval($26419),$26420,$26421,$26422,$26423,$26424,$26425,$26426,$26427,$26428,$26429,$26430,$26431,$26432),(nextval($26433),$26434,$26435,$26436,$26437,$26438,$26439,$26440,$26441,$26442,$26443,$26444,$26445,$26446),(nextval($26447),$26448,$26449,$26450,$26451,$26452,$26453,$26454,$26455,$26456,$26457,$26458,$26459,$26460),(nextval($26461),$26462,$26463,$26464,$26465,$26466,$26467,$26468,$26469,$26470,$26471,$26472,$26473,$26474),(nextval($26475),$26476,$26477,$26478,$26479,$26480,$26481,$26482,$26483,$26484,$26485,$26486,$26487,$26488),(nextval($26489),$26490,$26491,$26492,$26493,$26494,$26495,$26496,$26497,$26498,$26499,$26500,$26501,$26502),(nextval($26503),$26504,$26505,$26506,$26507,$26508,$26509,$26510,$26511,$26512,$26513,$26514,$26515,$26516),(nextval($26517),$26518,$26519,$26520,$26521,$26522,$26523,$26524,$26525,$26526,$26527,$26528,$26529,$26530),(nextval($26531),$26532,$26533,$26534,$26535,$26536,$26537,$26538,$26539,$26540,$26541,$26542,$26543,$26544),(nextval($26545),$26546,$26547,$26548,$26549,$26550,$26551,$26552,$26553,$26554,$26555,$26556,$26557,$26558),(nextval($26559),$26560,$26561,$26562,$26563,$26564,$26565,$26566,$26567,$26568,$26569,$26570,$26571,$26572),(nextval($26573),$26574,$26575,$26576,$26577,$26578,$26579,$26580,$26581,$26582,$26583,$26584,$26585,$26586),(nextval($26587),$26588,$26589,$26590,$26591,$26592,$26593,$26594,$26595,$26596,$26597,$26598,$26599,$26600),(nextval($26601),$26602,$26603,$26604,$26605,$26606,$26607,$26608,$26609,$26610,$26611,$26612,$26613,$26614),(nextval($26615),$26616,$26617,$26618,$26619,$26620,$26621,$26622,$26623,$26624,$26625,$26626,$26627,$26628),(nextval($26629),$26630,$26631,$26632,$26633,$26634,$26635,$26636,$26637,$26638,$26639,$26640,$26641,$26642),(nextval($26643),$26644,$26645,$26646,$26647,$26648,$26649,$26650,$26651,$26652,$26653,$26654,$26655,$26656),(nextval($26657),$26658,$26659,$26660,$26661,$26662,$26663,$26664,$26665,$26666,$26667,$26668,$26669,$26670),(nextval($26671),$26672,$26673,$26674,$26675,$26676,$26677,$26678,$26679,$26680,$26681,$26682,$26683,$26684),(nextval($26685),$26686,$26687,$26688,$26689,$26690,$26691,$26692,$26693,$26694,$26695,$26696,$26697,$26698),(nextval($26699),$26700,$26701,$26702,$26703,$26704,$26705,$26706,$26707,$26708,$26709,$26710,$26711,$26712),(nextval($26713),$26714,$26715,$26716,$26717,$26718,$26719,$26720,$26721,$26722,$26723,$26724,$26725,$26726),(nextval($26727),$26728,$26729,$26730,$26731,$26732,$26733,$26734,$26735,$26736,$26737,$26738,$26739,$26740),(nextval($26741),$26742,$26743,$26744,$26745,$26746,$26747,$26748,$26749,$26750,$26751,$26752,$26753,$26754),(nextval($26755),$26756,$26757,$26758,$26759,$26760,$26761,$26762,$26763,$26764,$26765,$26766,$26767,$26768),(nextval($26769),$26770,$26771,$26772,$26773,$26774,$26775,$26776,$26777,$26778,$26779,$26780,$26781,$26782),(nextval($26783),$26784,$26785,$26786,$26787,$26788,$26789,$26790,$26791,$26792,$26793,$26794,$26795,$26796),(nextval($26797),$26798,$26799,$26800,$26801,$26802,$26803,$26804,$26805,$26806,$26807,$26808,$26809,$26810),(nextval($26811),$26812,$26813,$26814,$26815,$26816,$26817,$26818,$26819,$26820,$26821,$26822,$26823,$26824),(nextval($26825),$26826,$26827,$26828,$26829,$26830,$26831,$26832,$26833,$26834,$26835,$26836,$26837,$26838),(nextval($26839),$26840,$26841,$26842,$26843,$26844,$26845,$26846,$26847,$26848,$26849,$26850,$26851,$26852),(nextval($26853),$26854,$26855,$26856,$26857,$26858,$26859,$26860,$26861,$26862,$26863,$26864,$26865,$26866),(nextval($26867),$26868,$26869,$26870,$26871,$26872,$26873,$26874,$26875,$26876,$26877,$26878,$26879,$26880),(nextval($26881),$26882,$26883,$26884,$26885,$26886,$26887,$26888,$26889,$26890,$26891,$26892,$26893,$26894),(nextval($26895),$26896,$26897,$26898,$26899,$26900,$26901,$26902,$26903,$26904,$26905,$26906,$26907,$26908),(nextval($26909),$26910,$26911,$26912,$26913,$26914,$26915,$26916,$26917,$26918,$26919,$26920,$26921,$26922),(nextval($26923),$26924,$26925,$26926,$26927,$26928,$26929,$26930,$26931,$26932,$26933,$26934,$26935,$26936),(nextval($26937),$26938,$26939,$26940,$26941,$26942,$26943,$26944,$26945,$26946,$26947,$26948,$26949,$26950),(nextval($26951),$26952,$26953,$26954,$26955,$26956,$26957,$26958,$26959,$26960,$26961,$26962,$26963,$26964),(nextval($26965),$26966,$26967,$26968,$26969,$26970,$26971,$26972,$26973,$26974,$26975,$26976,$26977,$26978),(nextval($26979),$26980,$26981,$26982,$26983,$26984,$26985,$26986,$26987,$26988,$26989,$26990,$26991,$26992),(nextval($26993),$26994,$26995,$26996,$26997,$26998,$26999,$27000,$27001,$27002,$27003,$27004,$27005,$27006),(nextval($27007),$27008,$27009,$27010,$27011,$27012,$27013,$27014,$27015,$27016,$27017,$27018,$27019,$27020),(nextval($27021),$27022,$27023,$27024,$27025,$27026,$27027,$27028,$27029,$27030,$27031,$27032,$27033,$27034),(nextval($27035),$27036,$27037,$27038,$27039,$27040,$27041,$27042,$27043,$27044,$27045,$27046,$27047,$27048),(nextval($27049),$27050,$27051,$27052,$27053,$27054,$27055,$27056,$27057,$27058,$27059,$27060,$27061,$27062),(nextval($27063),$27064,$27065,$27066,$27067,$27068,$27069,$27070,$27071,$27072,$27073,$27074,$27075,$27076),(nextval($27077),$27078,$27079,$27080,$27081,$27082,$27083,$27084,$27085,$27086,$27087,$27088,$27089,$27090),(nextval($27091),$27092,$27093,$27094,$27095,$27096,$27097,$27098,$27099,$27100,$27101,$27102,$27103,$27104),(nextval($27105),$27106,$27107,$27108,$27109,$27110,$27111,$27112,$27113,$27114,$27115,$27116,$27117,$27118),(nextval($27119),$27120,$27121,$27122,$27123,$27124,$27125,$27126,$27127,$27128,$27129,$27130,$27131,$27132),(nextval($27133),$27134,$27135,$27136,$27137,$27138,$27139,$27140,$27141,$27142,$27143,$27144,$27145,$27146),(nextval($27147),$27148,$27149,$27150,$27151,$27152,$27153,$27154,$27155,$27156,$27157,$27158,$27159,$27160),(nextval($27161),$27162,$27163,$27164,$27165,$27166,$27167,$27168,$27169,$27170,$27171,$27172,$27173,$27174),(nextval($27175),$27176,$27177,$27178,$27179,$27180,$27181,$27182,$27183,$27184,$27185,$27186,$27187,$27188),(nextval($27189),$27190,$27191,$27192,$27193,$27194,$27195,$27196,$27197,$27198,$27199,$27200,$27201,$27202),(nextval($27203),$27204,$27205,$27206,$27207,$27208,$27209,$27210,$27211,$27212,$27213,$27214,$27215,$27216),(nextval($27217),$27218,$27219,$27220,$27221,$27222,$27223,$27224,$27225,$27226,$27227,$27228,$27229,$27230),(nextval($27231),$27232,$27233,$27234,$27235,$27236,$27237,$27238,$27239,$27240,$27241,$27242,$27243,$27244),(nextval($27245),$27246,$27247,$27248,$27249,$27250,$27251,$27252,$27253,$27254,$27255,$27256,$27257,$27258),(nextval($27259),$27260,$27261,$27262,$27263,$27264,$27265,$27266,$27267,$27268,$27269,$27270,$27271,$27272),(nextval($27273),$27274,$27275,$27276,$27277,$27278,$27279,$27280,$27281,$27282,$27283,$27284,$27285,$27286),(nextval($27287),$27288,$27289,$27290,$27291,$27292,$27293,$27294,$27295,$27296,$27297,$27298,$27299,$27300),(nextval($27301),$27302,$27303,$27304,$27305,$27306,$27307,$27308,$27309,$27310,$27311,$27312,$27313,$27314),(nextval($27315),$27316,$27317,$27318,$27319,$27320,$27321,$27322,$27323,$27324,$27325,$27326,$27327,$27328),(nextval($27329),$27330,$27331,$27332,$27333,$27334,$27335,$27336,$27337,$27338,$27339,$27340,$27341,$27342),(nextval($27343),$27344,$27345,$27346,$27347,$27348,$27349,$27350,$27351,$27352,$27353,$27354,$27355,$27356),(nextval($27357),$27358,$27359,$27360,$27361,$27362,$27363,$27364,$27365,$27366,$27367,$27368,$27369,$27370),(nextval($27371),$27372,$27373,$27374,$27375,$27376,$27377,$27378,$27379,$27380,$27381,$27382,$27383,$27384),(nextval($27385),$27386,$27387,$27388,$27389,$27390,$27391,$27392,$27393,$27394,$27395,$27396,$27397,$27398),(nextval($27399),$27400,$27401,$27402,$27403,$27404,$27405,$27406,$27407,$27408,$27409,$27410,$27411,$27412),(nextval($27413),$27414,$27415,$27416,$27417,$27418,$27419,$27420,$27421,$27422,$27423,$27424,$27425,$27426),(nextval($27427),$27428,$27429,$27430,$27431,$27432,$27433,$27434,$27435,$27436,$27437,$27438,$27439,$27440),(nextval($27441),$27442,$27443,$27444,$27445,$27446,$27447,$27448,$27449,$27450,$27451,$27452,$27453,$27454),(nextval($27455),$27456,$27457,$27458,$27459,$27460,$27461,$27462,$27463,$27464,$27465,$27466,$27467,$27468),(nextval($27469),$27470,$27471,$27472,$27473,$27474,$27475,$27476,$27477,$27478,$27479,$27480,$27481,$27482),(nextval($27483),$27484,$27485,$27486,$27487,$27488,$27489,$27490,$27491,$27492,$27493,$27494,$27495,$27496),(nextval($27497),$27498,$27499,$27500,$27501,$27502,$27503,$27504,$27505,$27506,$27507,$27508,$27509,$27510),(nextval($27511),$27512,$27513,$27514,$27515,$27516,$27517,$27518,$27519,$27520,$27521,$27522,$27523,$27524),(nextval($27525),$27526,$27527,$27528,$27529,$27530,$27531,$27532,$27533,$27534,$27535,$27536,$27537,$27538),(nextval($27539),$27540,$27541,$27542,$27543,$27544,$27545,$27546,$27547,$27548,$27549,$27550,$27551,$27552),(nextval($27553),$27554,$27555,$27556,$27557,$27558,$27559,$27560,$27561,$27562,$27563,$27564,$27565,$27566),(nextval($27567),$27568,$27569,$27570,$27571,$27572,$27573,$27574,$27575,$27576,$27577,$27578,$27579,$27580),(nextval($27581),$27582,$27583,$27584,$27585,$27586,$27587,$27588,$27589,$27590,$27591,$27592,$27593,$27594),(nextval($27595),$27596,$27597,$27598,$27599,$27600,$27601,$27602,$27603,$27604,$27605,$27606,$27607,$27608),(nextval($27609),$27610,$27611,$27612,$27613,$27614,$27615,$27616,$27617,$27618,$27619,$27620,$27621,$27622),(nextval($27623),$27624,$27625,$27626,$27627,$27628,$27629,$27630,$27631,$27632,$27633,$27634,$27635,$27636),(nextval($27637),$27638,$27639,$27640,$27641,$27642,$27643,$27644,$27645,$27646,$27647,$27648,$27649,$27650),(nextval($27651),$27652,$27653,$27654,$27655,$27656,$27657,$27658,$27659,$27660,$27661,$27662,$27663,$27664),(nextval($27665),$27666,$27667,$27668,$27669,$27670,$27671,$27672,$27673,$27674,$27675,$27676,$27677,$27678),(nextval($27679),$27680,$27681,$27682,$27683,$27684,$27685,$27686,$27687,$27688,$27689,$27690,$27691,$27692),(nextval($27693),$27694,$27695,$27696,$27697,$27698,$27699,$27700,$27701,$27702,$27703,$27704,$27705,$27706),(nextval($27707),$27708,$27709,$27710,$27711,$27712,$27713,$27714,$27715,$27716,$27717,$27718,$27719,$27720),(nextval($27721),$27722,$27723,$27724,$27725,$27726,$27727,$27728,$27729,$27730,$27731,$27732,$27733,$27734),(nextval($27735),$27736,$27737,$27738,$27739,$27740,$27741,$27742,$27743,$27744,$27745,$27746,$27747,$27748),(nextval($27749),$27750,$27751,$27752,$27753,$27754,$27755,$27756,$27757,$27758,$27759,$27760,$27761,$27762),(nextval($27763),$27764,$27765,$27766,$27767,$27768,$27769,$27770,$27771,$27772,$27773,$27774,$27775,$27776),(nextval($27777),$27778,$27779,$27780,$27781,$27782,$27783,$27784,$27785,$27786,$27787,$27788,$27789,$27790),(nextval($27791),$27792,$27793,$27794,$27795,$27796,$27797,$27798,$27799,$27800,$27801,$27802,$27803,$27804),(nextval($27805),$27806,$27807,$27808,$27809,$27810,$27811,$27812,$27813,$27814,$27815,$27816,$27817,$27818),(nextval($27819),$27820,$27821,$27822,$27823,$27824,$27825,$27826,$27827,$27828,$27829,$27830,$27831,$27832),(nextval($27833),$27834,$27835,$27836,$27837,$27838,$27839,$27840,$27841,$27842,$27843,$27844,$27845,$27846),(nextval($27847),$27848,$27849,$27850,$27851,$27852,$27853,$27854,$27855,$27856,$27857,$27858,$27859,$27860),(nextval($27861),$27862,$27863,$27864,$27865,$27866,$27867,$27868,$27869,$27870,$27871,$27872,$27873,$27874),(nextval($27875),$27876,$27877,$27878,$27879,$27880,$27881,$27882,$27883,$27884,$27885,$27886,$27887,$27888),(nextval($27889),$27890,$27891,$27892,$27893,$27894,$27895,$27896,$27897,$27898,$27899,$27900,$27901,$27902),(nextval($27903),$27904,$27905,$27906,$27907,$27908,$27909,$27910,$27911,$27912,$27913,$27914,$27915,$27916),(nextval($27917),$27918,$27919,$27920,$27921,$27922,$27923,$27924,$27925,$27926,$27927,$27928,$27929,$27930),(nextval($27931),$27932,$27933,$27934,$27935,$27936,$27937,$27938,$27939,$27940,$27941,$27942,$27943,$27944),(nextval($27945),$27946,$27947,$27948,$27949,$27950,$27951,$27952,$27953,$27954,$27955,$27956,$27957,$27958),(nextval($27959),$27960,$27961,$27962,$27963,$27964,$27965,$27966,$27967,$27968,$27969,$27970,$27971,$27972),(nextval($27973),$27974,$27975,$27976,$27977,$27978,$27979,$27980,$27981,$27982,$27983,$27984,$27985,$27986),(nextval($27987),$27988,$27989,$27990,$27991,$27992,$27993,$27994,$27995,$27996,$27997,$27998,$27999,$28000),(nextval($28001),$28002,$28003,$28004,$28005,$28006,$28007,$28008,$28009,$28010,$28011,$28012,$28013,$28014),(nextval($28015),$28016,$28017,$28018,$28019,$28020,$28021,$28022,$28023,$28024,$28025,$28026,$28027,$28028),(nextval($28029),$28030,$28031,$28032,$28033,$28034,$28035,$28036,$28037,$28038,$28039,$28040,$28041,$28042),(nextval($28043),$28044,$28045,$28046,$28047,$28048,$28049,$28050,$28051,$28052,$28053,$28054,$28055,$28056),(nextval($28057),$28058,$28059,$28060,$28061,$28062,$28063,$28064,$28065,$28066,$28067,$28068,$28069,$28070),(nextval($28071),$28072,$28073,$28074,$28075,$28076,$28077,$28078,$28079,$28080,$28081,$28082,$28083,$28084),(nextval($28085),$28086,$28087,$28088,$28089,$28090,$28091,$28092,$28093,$28094,$28095,$28096,$28097,$28098),(nextval($28099),$28100,$28101,$28102,$28103,$28104,$28105,$28106,$28107,$28108,$28109,$28110,$28111,$28112),(nextval($28113),$28114,$28115,$28116,$28117,$28118,$28119,$28120,$28121,$28122,$28123,$28124,$28125,$28126),(nextval($28127),$28128,$28129,$28130,$28131,$28132,$28133,$28134,$28135,$28136,$28137,$28138,$28139,$28140),(nextval($28141),$28142,$28143,$28144,$28145,$28146,$28147,$28148,$28149,$28150,$28151,$28152,$28153,$28154),(nextval($28155),$28156,$28157,$28158,$28159,$28160,$28161,$28162,$28163,$28164,$28165,$28166,$28167,$28168),(nextval($28169),$28170,$28171,$28172,$28173,$28174,$28175,$28176,$28177,$28178,$28179,$28180,$28181,$28182),(nextval($28183),$28184,$28185,$28186,$28187,$28188,$28189,$28190,$28191,$28192,$28193,$28194,$28195,$28196),(nextval($28197),$28198,$28199,$28200,$28201,$28202,$28203,$28204,$28205,$28206,$28207,$28208,$28209,$28210),(nextval($28211),$28212,$28213,$28214,$28215,$28216,$28217,$28218,$28219,$28220,$28221,$28222,$28223,$28224),(nextval($28225),$28226,$28227,$28228,$28229,$28230,$28231,$28232,$28233,$28234,$28235,$28236,$28237,$28238),(nextval($28239),$28240,$28241,$28242,$28243,$28244,$28245,$28246,$28247,$28248,$28249,$28250,$28251,$28252),(nextval($28253),$28254,$28255,$28256,$28257,$28258,$28259,$28260,$28261,$28262,$28263,$28264,$28265,$28266),(nextval($28267),$28268,$28269,$28270,$28271,$28272,$28273,$28274,$28275,$28276,$28277,$28278,$28279,$28280),(nextval($28281),$28282,$28283,$28284,$28285,$28286,$28287,$28288,$28289,$28290,$28291,$28292,$28293,$28294),(nextval($28295),$28296,$28297,$28298,$28299,$28300,$28301,$28302,$28303,$28304,$28305,$28306,$28307,$28308),(nextval($28309),$28310,$28311,$28312,$28313,$28314,$28315,$28316,$28317,$28318,$28319,$28320,$28321,$28322),(nextval($28323),$28324,$28325,$28326,$28327,$28328,$28329,$28330,$28331,$28332,$28333,$28334,$28335,$28336),(nextval($28337),$28338,$28339,$28340,$28341,$28342,$28343,$28344,$28345,$28346,$28347,$28348,$28349,$28350),(nextval($28351),$28352,$28353,$28354,$28355,$28356,$28357,$28358,$28359,$28360,$28361,$28362,$28363,$28364),(nextval($28365),$28366,$28367,$28368,$28369,$28370,$28371,$28372,$28373,$28374,$28375,$28376,$28377,$28378),(nextval($28379),$28380,$28381,$28382,$28383,$28384,$28385,$28386,$28387,$28388,$28389,$28390,$28391,$28392),(nextval($28393),$28394,$28395,$28396,$28397,$28398,$28399,$28400,$28401,$28402,$28403,$28404,$28405,$28406),(nextval($28407),$28408,$28409,$28410,$28411,$28412,$28413,$28414,$28415,$28416,$28417,$28418,$28419,$28420),(nextval($28421),$28422,$28423,$28424,$28425,$28426,$28427,$28428,$28429,$28430,$28431,$28432,$28433,$28434),(nextval($28435),$28436,$28437,$28438,$28439,$28440,$28441,$28442,$28443,$28444,$28445,$28446,$28447,$28448),(nextval($28449),$28450,$28451,$28452,$28453,$28454,$28455,$28456,$28457,$28458,$28459,$28460,$28461,$28462),(nextval($28463),$28464,$28465,$28466,$28467,$28468,$28469,$28470,$28471,$28472,$28473,$28474,$28475,$28476),(nextval($28477),$28478,$28479,$28480,$28481,$28482,$28483,$28484,$28485,$28486,$28487,$28488,$28489,$28490),(nextval($28491),$28492,$28493,$28494,$28495,$28496,$28497,$28498,$28499,$28500,$28501,$28502,$28503,$28504),(nextval($28505),$28506,$28507,$28508,$28509,$28510,$28511,$28512,$28513,$28514,$28515,$28516,$28517,$28518),(nextval($28519),$28520,$28521,$28522,$28523,$28524,$28525,$28526,$28527,$28528,$28529,$28530,$28531,$28532),(nextval($28533),$28534,$28535,$28536,$28537,$28538,$28539,$28540,$28541,$28542,$28543,$28544,$28545,$28546),(nextval($28547),$28548,$28549,$28550,$28551,$28552,$28553,$28554,$28555,$28556,$28557,$28558,$28559,$28560),(nextval($28561),$28562,$28563,$28564,$28565,$28566,$28567,$28568,$28569,$28570,$28571,$28572,$28573,$28574),(nextval($28575),$28576,$28577,$28578,$28579,$28580,$28581,$28582,$28583,$28584,$28585,$28586,$28587,$28588),(nextval($28589),$28590,$28591,$28592,$28593,$28594,$28595,$28596,$28597,$28598,$28599,$28600,$28601,$28602),(nextval($28603),$28604,$28605,$28606,$28607,$28608,$28609,$28610,$28611,$28612,$28613,$28614,$28615,$28616),(nextval($28617),$28618,$28619,$28620,$28621,$28622,$28623,$28624,$28625,$28626,$28627,$28628,$28629,$28630),(nextval($28631),$28632,$28633,$28634,$28635,$28636,$28637,$28638,$28639,$28640,$28641,$28642,$28643,$28644),(nextval($28645),$28646,$28647,$28648,$28649,$28650,$28651,$28652,$28653,$28654,$28655,$28656,$28657,$28658),(nextval($28659),$28660,$28661,$28662,$28663,$28664,$28665,$28666,$28667,$28668,$28669,$28670,$28671,$28672),(nextval($28673),$28674,$28675,$28676,$28677,$28678,$28679,$28680,$28681,$28682,$28683,$28684,$28685,$28686),(nextval($28687),$28688,$28689,$28690,$28691,$28692,$28693,$28694,$28695,$28696,$28697,$28698,$28699,$28700),(nextval($28701),$28702,$28703,$28704,$28705,$28706,$28707,$28708,$28709,$28710,$28711,$28712,$28713,$28714),(nextval($28715),$28716,$28717,$28718,$28719,$28720,$28721,$28722,$28723,$28724,$28725,$28726,$28727,$28728),(nextval($28729),$28730,$28731,$28732,$28733,$28734,$28735,$28736,$28737,$28738,$28739,$28740,$28741,$28742),(nextval($28743),$28744,$28745,$28746,$28747,$28748,$28749,$28750,$28751,$28752,$28753,$28754,$28755,$28756),(nextval($28757),$28758,$28759,$28760,$28761,$28762,$28763,$28764,$28765,$28766,$28767,$28768,$28769,$28770),(nextval($28771),$28772,$28773,$28774,$28775,$28776,$28777,$28778,$28779,$28780,$28781,$28782,$28783,$28784),(nextval($28785),$28786,$28787,$28788,$28789,$28790,$28791,$28792,$28793,$28794,$28795,$28796,$28797,$28798),(nextval($28799),$28800,$28801,$28802,$28803,$28804,$28805,$28806,$28807,$28808,$28809,$28810,$28811,$28812),(nextval($28813),$28814,$28815,$28816,$28817,$28818,$28819,$28820,$28821,$28822,$28823,$28824,$28825,$28826),(nextval($28827),$28828,$28829,$28830,$28831,$28832,$28833,$28834,$28835,$28836,$28837,$28838,$28839,$28840),(nextval($28841),$28842,$28843,$28844,$28845,$28846,$28847,$28848,$28849,$28850,$28851,$28852,$28853,$28854),(nextval($28855),$28856,$28857,$28858,$28859,$28860,$28861,$28862,$28863,$28864,$28865,$28866,$28867,$28868),(nextval($28869),$28870,$28871,$28872,$28873,$28874,$28875,$28876,$28877,$28878,$28879,$28880,$28881,$28882),(nextval($28883),$28884,$28885,$28886,$28887,$28888,$28889,$28890,$28891,$28892,$28893,$28894,$28895,$28896),(nextval($28897),$28898,$28899,$28900,$28901,$28902,$28903,$28904,$28905,$28906,$28907,$28908,$28909,$28910),(nextval($28911),$28912,$28913,$28914,$28915,$28916,$28917,$28918,$28919,$28920,$28921,$28922,$28923,$28924),(nextval($28925),$28926,$28927,$28928,$28929,$28930,$28931,$28932,$28933,$28934,$28935,$28936,$28937,$28938),(nextval($28939),$28940,$28941,$28942,$28943,$28944,$28945,$28946,$28947,$28948,$28949,$28950,$28951,$28952),(nextval($28953),$28954,$28955,$28956,$28957,$28958,$28959,$28960,$28961,$28962,$28963,$28964,$28965,$28966),(nextval($28967),$28968,$28969,$28970,$28971,$28972,$28973,$28974,$28975,$28976,$28977,$28978,$28979,$28980),(nextval($28981),$28982,$28983,$28984,$28985,$28986,$28987,$28988,$28989,$28990,$28991,$28992,$28993,$28994),(nextval($28995),$28996,$28997,$28998,$28999,$29000,$29001,$29002,$29003,$29004,$29005,$29006,$29007,$29008),(nextval($29009),$29010,$29011,$29012,$29013,$29014,$29015,$29016,$29017,$29018,$29019,$29020,$29021,$29022),(nextval($29023),$29024,$29025,$29026,$29027,$29028,$29029,$29030,$29031,$29032,$29033,$29034,$29035,$29036),(nextval($29037),$29038,$29039,$29040,$29041,$29042,$29043,$29044,$29045,$29046,$29047,$29048,$29049,$29050),(nextval($29051),$29052,$29053,$29054,$29055,$29056,$29057,$29058,$29059,$29060,$29061,$29062,$29063,$29064),(nextval($29065),$29066,$29067,$29068,$29069,$29070,$29071,$29072,$29073,$29074,$29075,$29076,$29077,$29078),(nextval($29079),$29080,$29081,$29082,$29083,$29084,$29085,$29086,$29087,$29088,$29089,$29090,$29091,$29092),(nextval($29093),$29094,$29095,$29096,$29097,$29098,$29099,$29100,$29101,$29102,$29103,$29104,$29105,$29106),(nextval($29107),$29108,$29109,$29110,$29111,$29112,$29113,$29114,$29115,$29116,$29117,$29118,$29119,$29120),(nextval($29121),$29122,$29123,$29124,$29125,$29126,$29127,$29128,$29129,$29130,$29131,$29132,$29133,$29134),(nextval($29135),$29136,$29137,$29138,$29139,$29140,$29141,$29142,$29143,$29144,$29145,$29146,$29147,$29148),(nextval($29149),$29150,$29151,$29152,$29153,$29154,$29155,$29156,$29157,$29158,$29159,$29160,$29161,$29162),(nextval($29163),$29164,$29165,$29166,$29167,$29168,$29169,$29170,$29171,$29172,$29173,$29174,$29175,$29176),(nextval($29177),$29178,$29179,$29180,$29181,$29182,$29183,$29184,$29185,$29186,$29187,$29188,$29189,$29190),(nextval($29191),$29192,$29193,$29194,$29195,$29196,$29197,$29198,$29199,$29200,$29201,$29202,$29203,$29204),(nextval($29205),$29206,$29207,$29208,$29209,$29210,$29211,$29212,$29213,$29214,$29215,$29216,$29217,$29218),(nextval($29219),$29220,$29221,$29222,$29223,$29224,$29225,$29226,$29227,$29228,$29229,$29230,$29231,$29232),(nextval($29233),$29234,$29235,$29236,$29237,$29238,$29239,$29240,$29241,$29242,$29243,$29244,$29245,$29246),(nextval($29247),$29248,$29249,$29250,$29251,$29252,$29253,$29254,$29255,$29256,$29257,$29258,$29259,$29260),(nextval($29261),$29262,$29263,$29264,$29265,$29266,$29267,$29268,$29269,$29270,$29271,$29272,$29273,$29274),(nextval($29275),$29276,$29277,$29278,$29279,$29280,$29281,$29282,$29283,$29284,$29285,$29286,$29287,$29288),(nextval($29289),$29290,$29291,$29292,$29293,$29294,$29295,$29296,$29297,$29298,$29299,$29300,$29301,$29302),(nextval($29303),$29304,$29305,$29306,$29307,$29308,$29309,$29310,$29311,$29312,$29313,$29314,$29315,$29316),(nextval($29317),$29318,$29319,$29320,$29321,$29322,$29323,$29324,$29325,$29326,$29327,$29328,$29329,$29330),(nextval($29331),$29332,$29333,$29334,$29335,$29336,$29337,$29338,$29339,$29340,$29341,$29342,$29343,$29344),(nextval($29345),$29346,$29347,$29348,$29349,$29350,$29351,$29352,$29353,$29354,$29355,$29356,$29357,$29358),(nextval($29359),$29360,$29361,$29362,$29363,$29364,$29365,$29366,$29367,$29368,$29369,$29370,$29371,$29372),(nextval($29373),$29374,$29375,$29376,$29377,$29378,$29379,$29380,$29381,$29382,$29383,$29384,$29385,$29386),(nextval($29387),$29388,$29389,$29390,$29391,$29392,$29393,$29394,$29395,$29396,$29397,$29398,$29399,$29400),(nextval($29401),$29402,$29403,$29404,$29405,$29406,$29407,$29408,$29409,$29410,$29411,$29412,$29413,$29414),(nextval($29415),$29416,$29417,$29418,$29419,$29420,$29421,$29422,$29423,$29424,$29425,$29426,$29427,$29428),(nextval($29429),$29430,$29431,$29432,$29433,$29434,$29435,$29436,$29437,$29438,$29439,$29440,$29441,$29442),(nextval($29443),$29444,$29445,$29446,$29447,$29448,$29449,$29450,$29451,$29452,$29453,$29454,$29455,$29456),(nextval($29457),$29458,$29459,$29460,$29461,$29462,$29463,$29464,$29465,$29466,$29467,$29468,$29469,$29470),(nextval($29471),$29472,$29473,$29474,$29475,$29476,$29477,$29478,$29479,$29480,$29481,$29482,$29483,$29484),(nextval($29485),$29486,$29487,$29488,$29489,$29490,$29491,$29492,$29493,$29494,$29495,$29496,$29497,$29498),(nextval($29499),$29500,$29501,$29502,$29503,$29504,$29505,$29506,$29507,$29508,$29509,$29510,$29511,$29512),(nextval($29513),$29514,$29515,$29516,$29517,$29518,$29519,$29520,$29521,$29522,$29523,$29524,$29525,$29526),(nextval($29527),$29528,$29529,$29530,$29531,$29532,$29533,$29534,$29535,$29536,$29537,$29538,$29539,$29540),(nextval($29541),$29542,$29543,$29544,$29545,$29546,$29547,$29548,$29549,$29550,$29551,$29552,$29553,$29554),(nextval($29555),$29556,$29557,$29558,$29559,$29560,$29561,$29562,$29563,$29564,$29565,$29566,$29567,$29568),(nextval($29569),$29570,$29571,$29572,$29573,$29574,$29575,$29576,$29577,$29578,$29579,$29580,$29581,$29582),(nextval($29583),$29584,$29585,$29586,$29587,$29588,$29589,$29590,$29591,$29592,$29593,$29594,$29595,$29596),(nextval($29597),$29598,$29599,$29600,$29601,$29602,$29603,$29604,$29605,$29606,$29607,$29608,$29609,$29610),(nextval($29611),$29612,$29613,$29614,$29615,$29616,$29617,$29618,$29619,$29620,$29621,$29622,$29623,$29624),(nextval($29625),$29626,$29627,$29628,$29629,$29630,$29631,$29632,$29633,$29634,$29635,$29636,$29637,$29638),(nextval($29639),$29640,$29641,$29642,$29643,$29644,$29645,$29646,$29647,$29648,$29649,$29650,$29651,$29652),(nextval($29653),$29654,$29655,$29656,$29657,$29658,$29659,$29660,$29661,$29662,$29663,$29664,$29665,$29666),(nextval($29667),$29668,$29669,$29670,$29671,$29672,$29673,$29674,$29675,$29676,$29677,$29678,$29679,$29680),(nextval($29681),$29682,$29683,$29684,$29685,$29686,$29687,$29688,$29689,$29690,$29691,$29692,$29693,$29694),(nextval($29695),$29696,$29697,$29698,$29699,$29700,$29701,$29702,$29703,$29704,$29705,$29706,$29707,$29708),(nextval($29709),$29710,$29711,$29712,$29713,$29714,$29715,$29716,$29717,$29718,$29719,$29720,$29721,$29722),(nextval($29723),$29724,$29725,$29726,$29727,$29728,$29729,$29730,$29731,$29732,$29733,$29734,$29735,$29736),(nextval($29737),$29738,$29739,$29740,$29741,$29742,$29743,$29744,$29745,$29746,$29747,$29748,$29749,$29750),(nextval($29751),$29752,$29753,$29754,$29755,$29756,$29757,$29758,$29759,$29760,$29761,$29762,$29763,$29764),(nextval($29765),$29766,$29767,$29768,$29769,$29770,$29771,$29772,$29773,$29774,$29775,$29776,$29777,$29778),(nextval($29779),$29780,$29781,$29782,$29783,$29784,$29785,$29786,$29787,$29788,$29789,$29790,$29791,$29792),(nextval($29793),$29794,$29795,$29796,$29797,$29798,$29799,$29800,$29801,$29802,$29803,$29804,$29805,$29806),(nextval($29807),$29808,$29809,$29810,$29811,$29812,$29813,$29814,$29815,$29816,$29817,$29818,$29819,$29820),(nextval($29821),$29822,$29823,$29824,$29825,$29826,$29827,$29828,$29829,$29830,$29831,$29832,$29833,$29834),(nextval($29835),$29836,$29837,$29838,$29839,$29840,$29841,$29842,$29843,$29844,$29845,$29846,$29847,$29848),(nextval($29849),$29850,$29851,$29852,$29853,$29854,$29855,$29856,$29857,$29858,$29859,$29860,$29861,$29862),(nextval($29863),$29864,$29865,$29866,$29867,$29868,$29869,$29870,$29871,$29872,$29873,$29874,$29875,$29876),(nextval($29877),$29878,$29879,$29880,$29881,$29882,$29883,$29884,$29885,$29886,$29887,$29888,$29889,$29890),(nextval($29891),$29892,$29893,$29894,$29895,$29896,$29897,$29898,$29899,$29900,$29901,$29902,$29903,$29904),(nextval($29905),$29906,$29907,$29908,$29909,$29910,$29911,$29912,$29913,$29914,$29915,$29916,$29917,$29918),(nextval($29919),$29920,$29921,$29922,$29923,$29924,$29925,$29926,$29927,$29928,$29929,$29930,$29931,$29932),(nextval($29933),$29934,$29935,$29936,$29937,$29938,$29939,$29940,$29941,$29942,$29943,$29944,$29945,$29946),(nextval($29947),$29948,$29949,$29950,$29951,$29952,$29953,$29954,$29955,$29956,$29957,$29958,$29959,$29960),(nextval($29961),$29962,$29963,$29964,$29965,$29966,$29967,$29968,$29969,$29970,$29971,$29972,$29973,$29974),(nextval($29975),$29976,$29977,$29978,$29979,$29980,$29981,$29982,$29983,$29984,$29985,$29986,$29987,$29988),(nextval($29989),$29990,$29991,$29992,$29993,$29994,$29995,$29996,$29997,$29998,$29999,$30000,$30001,$30002),(nextval($30003),$30004,$30005,$30006,$30007,$30008,$30009,$30010,$30011,$30012,$30013,$30014,$30015,$30016),(nextval($30017),$30018,$30019,$30020,$30021,$30022,$30023,$30024,$30025,$30026,$30027,$30028,$30029,$30030),(nextval($30031),$30032,$30033,$30034,$30035,$30036,$30037,$30038,$30039,$30040,$30041,$30042,$30043,$30044),(nextval($30045),$30046,$30047,$30048,$30049,$30050,$30051,$30052,$30053,$30054,$30055,$30056,$30057,$30058),(nextval($30059),$30060,$30061,$30062,$30063,$30064,$30065,$30066,$30067,$30068,$30069,$30070,$30071,$30072),(nextval($30073),$30074,$30075,$30076,$30077,$30078,$30079,$30080,$30081,$30082,$30083,$30084,$30085,$30086),(nextval($30087),$30088,$30089,$30090,$30091,$30092,$30093,$30094,$30095,$30096,$30097,$30098,$30099,$30100),(nextval($30101),$30102,$30103,$30104,$30105,$30106,$30107,$30108,$30109,$30110,$30111,$30112,$30113,$30114),(nextval($30115),$30116,$30117,$30118,$30119,$30120,$30121,$30122,$30123,$30124,$30125,$30126,$30127,$30128),(nextval($30129),$30130,$30131,$30132,$30133,$30134,$30135,$30136,$30137,$30138,$30139,$30140,$30141,$30142),(nextval($30143),$30144,$30145,$30146,$30147,$30148,$30149,$30150,$30151,$30152,$30153,$30154,$30155,$30156),(nextval($30157),$30158,$30159,$30160,$30161,$30162,$30163,$30164,$30165,$30166,$30167,$30168,$30169,$30170),(nextval($30171),$30172,$30173,$30174,$30175,$30176,$30177,$30178,$30179,$30180,$30181,$30182,$30183,$30184),(nextval($30185),$30186,$30187,$30188,$30189,$30190,$30191,$30192,$30193,$30194,$30195,$30196,$30197,$30198),(nextval($30199),$30200,$30201,$30202,$30203,$30204,$30205,$30206,$30207,$30208,$30209,$30210,$30211,$30212),(nextval($30213),$30214,$30215,$30216,$30217,$30218,$30219,$30220,$30221,$30222,$30223,$30224,$30225,$30226),(nextval($30227),$30228,$30229,$30230,$30231,$30232,$30233,$30234,$30235,$30236,$30237,$30238,$30239,$30240),(nextval($30241),$30242,$30243,$30244,$30245,$30246,$30247,$30248,$30249,$30250,$30251,$30252,$30253,$30254),(nextval($30255),$30256,$30257,$30258,$30259,$30260,$30261,$30262,$30263,$30264,$30265,$30266,$30267,$30268),(nextval($30269),$30270,$30271,$30272,$30273,$30274,$30275,$30276,$30277,$30278,$30279,$30280,$30281,$30282),(nextval($30283),$30284,$30285,$30286,$30287,$30288,$30289,$30290,$30291,$30292,$30293,$30294,$30295,$30296),(nextval($30297),$30298,$30299,$30300,$30301,$30302,$30303,$30304,$30305,$30306,$30307,$30308,$30309,$30310),(nextval($30311),$30312,$30313,$30314,$30315,$30316,$30317,$30318,$30319,$30320,$30321,$30322,$30323,$30324),(nextval($30325),$30326,$30327,$30328,$30329,$30330,$30331,$30332,$30333,$30334,$30335,$30336,$30337,$30338),(nextval($30339),$30340,$30341,$30342,$30343,$30344,$30345,$30346,$30347,$30348,$30349,$30350,$30351,$30352),(nextval($30353),$30354,$30355,$30356,$30357,$30358,$30359,$30360,$30361,$30362,$30363,$30364,$30365,$30366),(nextval($30367),$30368,$30369,$30370,$30371,$30372,$30373,$30374,$30375,$30376,$30377,$30378,$30379,$30380),(nextval($30381),$30382,$30383,$30384,$30385,$30386,$30387,$30388,$30389,$30390,$30391,$30392,$30393,$30394),(nextval($30395),$30396,$30397,$30398,$30399,$30400,$30401,$30402,$30403,$30404,$30405,$30406,$30407,$30408),(nextval($30409),$30410,$30411,$30412,$30413,$30414,$30415,$30416,$30417,$30418,$30419,$30420,$30421,$30422),(nextval($30423),$30424,$30425,$30426,$30427,$30428,$30429,$30430,$30431,$30432,$30433,$30434,$30435,$30436),(nextval($30437),$30438,$30439,$30440,$30441,$30442,$30443,$30444,$30445,$30446,$30447,$30448,$30449,$30450),(nextval($30451),$30452,$30453,$30454,$30455,$30456,$30457,$30458,$30459,$30460,$30461,$30462,$30463,$30464),(nextval($30465),$30466,$30467,$30468,$30469,$30470,$30471,$30472,$30473,$30474,$30475,$30476,$30477,$30478),(nextval($30479),$30480,$30481,$30482,$30483,$30484,$30485,$30486,$30487,$30488,$30489,$30490,$30491,$30492),(nextval($30493),$30494,$30495,$30496,$30497,$30498,$30499,$30500,$30501,$30502,$30503,$30504,$30505,$30506),(nextval($30507),$30508,$30509,$30510,$30511,$30512,$30513,$30514,$30515,$30516,$30517,$30518,$30519,$30520),(nextval($30521),$30522,$30523,$30524,$30525,$30526,$30527,$30528,$30529,$30530,$30531,$30532,$30533,$30534),(nextval($30535),$30536,$30537,$30538,$30539,$30540,$30541,$30542,$30543,$30544,$30545,$30546,$30547,$30548),(nextval($30549),$30550,$30551,$30552,$30553,$30554,$30555,$30556,$30557,$30558,$30559,$30560,$30561,$30562),(nextval($30563),$30564,$30565,$30566,$30567,$30568,$30569,$30570,$30571,$30572,$30573,$30574,$30575,$30576),(nextval($30577),$30578,$30579,$30580,$30581,$30582,$30583,$30584,$30585,$30586,$30587,$30588,$30589,$30590),(nextval($30591),$30592,$30593,$30594,$30595,$30596,$30597,$30598,$30599,$30600,$30601,$30602,$30603,$30604),(nextval($30605),$30606,$30607,$30608,$30609,$30610,$30611,$30612,$30613,$30614,$30615,$30616,$30617,$30618),(nextval($30619),$30620,$30621,$30622,$30623,$30624,$30625,$30626,$30627,$30628,$30629,$30630,$30631,$30632),(nextval($30633),$30634,$30635,$30636,$30637,$30638,$30639,$30640,$30641,$30642,$30643,$30644,$30645,$30646),(nextval($30647),$30648,$30649,$30650,$30651,$30652,$30653,$30654,$30655,$30656,$30657,$30658,$30659,$30660),(nextval($30661),$30662,$30663,$30664,$30665,$30666,$30667,$30668,$30669,$30670,$30671,$30672,$30673,$30674),(nextval($30675),$30676,$30677,$30678,$30679,$30680,$30681,$30682,$30683,$30684,$30685,$30686,$30687,$30688),(nextval($30689),$30690,$30691,$30692,$30693,$30694,$30695,$30696,$30697,$30698,$30699,$30700,$30701,$30702),(nextval($30703),$30704,$30705,$30706,$30707,$30708,$30709,$30710,$30711,$30712,$30713,$30714,$30715,$30716),(nextval($30717),$30718,$30719,$30720,$30721,$30722,$30723,$30724,$30725,$30726,$30727,$30728,$30729,$30730),(nextval($30731),$30732,$30733,$30734,$30735,$30736,$30737,$30738,$30739,$30740,$30741,$30742,$30743,$30744),(nextval($30745),$30746,$30747,$30748,$30749,$30750,$30751,$30752,$30753,$30754,$30755,$30756,$30757,$30758),(nextval($30759),$30760,$30761,$30762,$30763,$30764,$30765,$30766,$30767,$30768,$30769,$30770,$30771,$30772),(nextval($30773),$30774,$30775,$30776,$30777,$30778,$30779,$30780,$30781,$30782,$30783,$30784,$30785,$30786),(nextval($30787),$30788,$30789,$30790,$30791,$30792,$30793,$30794,$30795,$30796,$30797,$30798,$30799,$30800),(nextval($30801),$30802,$30803,$30804,$30805,$30806,$30807,$30808,$30809,$30810,$30811,$30812,$30813,$30814),(nextval($30815),$30816,$30817,$30818,$30819,$30820,$30821,$30822,$30823,$30824,$30825,$30826,$30827,$30828),(nextval($30829),$30830,$30831,$30832,$30833,$30834,$30835,$30836,$30837,$30838,$30839,$30840,$30841,$30842),(nextval($30843),$30844,$30845,$30846,$30847,$30848,$30849,$30850,$30851,$30852,$30853,$30854,$30855,$30856),(nextval($30857),$30858,$30859,$30860,$30861,$30862,$30863,$30864,$30865,$30866,$30867,$30868,$30869,$30870),(nextval($30871),$30872,$30873,$30874,$30875,$30876,$30877,$30878,$30879,$30880,$30881,$30882,$30883,$30884),(nextval($30885),$30886,$30887,$30888,$30889,$30890,$30891,$30892,$30893,$30894,$30895,$30896,$30897,$30898),(nextval($30899),$30900,$30901,$30902,$30903,$30904,$30905,$30906,$30907,$30908,$30909,$30910,$30911,$30912),(nextval($30913),$30914,$30915,$30916,$30917,$30918,$30919,$30920,$30921,$30922,$30923,$30924,$30925,$30926),(nextval($30927),$30928,$30929,$30930,$30931,$30932,$30933,$30934,$30935,$30936,$30937,$30938,$30939,$30940),(nextval($30941),$30942,$30943,$30944,$30945,$30946,$30947,$30948,$30949,$30950,$30951,$30952,$30953,$30954),(nextval($30955),$30956,$30957,$30958,$30959,$30960,$30961,$30962,$30963,$30964,$30965,$30966,$30967,$30968),(nextval($30969),$30970,$30971,$30972,$30973,$30974,$30975,$30976,$30977,$30978,$30979,$30980,$30981,$30982),(nextval($30983),$30984,$30985,$30986,$30987,$30988,$30989,$30990,$30991,$30992,$30993,$30994,$30995,$30996),(nextval($30997),$30998,$30999,$31000,$31001,$31002,$31003,$31004,$31005,$31006,$31007,$31008,$31009,$31010),(nextval($31011),$31012,$31013,$31014,$31015,$31016,$31017,$31018,$31019,$31020,$31021,$31022,$31023,$31024),(nextval($31025),$31026,$31027,$31028,$31029,$31030,$31031,$31032,$31033,$31034,$31035,$31036,$31037,$31038),(nextval($31039),$31040,$31041,$31042,$31043,$31044,$31045,$31046,$31047,$31048,$31049,$31050,$31051,$31052),(nextval($31053),$31054,$31055,$31056,$31057,$31058,$31059,$31060,$31061,$31062,$31063,$31064,$31065,$31066),(nextval($31067),$31068,$31069,$31070,$31071,$31072,$31073,$31074,$31075,$31076,$31077,$31078,$31079,$31080),(nextval($31081),$31082,$31083,$31084,$31085,$31086,$31087,$31088,$31089,$31090,$31091,$31092,$31093,$31094),(nextval($31095),$31096,$31097,$31098,$31099,$31100,$31101,$31102,$31103,$31104,$31105,$31106,$31107,$31108),(nextval($31109),$31110,$31111,$31112,$31113,$31114,$31115,$31116,$31117,$31118,$31119,$31120,$31121,$31122),(nextval($31123),$31124,$31125,$31126,$31127,$31128,$31129,$31130,$31131,$31132,$31133,$31134,$31135,$31136),(nextval($31137),$31138,$31139,$31140,$31141,$31142,$31143,$31144,$31145,$31146,$31147,$31148,$31149,$31150),(nextval($31151),$31152,$31153,$31154,$31155,$31156,$31157,$31158,$31159,$31160,$31161,$31162,$31163,$31164),(nextval($31165),$31166,$31167,$31168,$31169,$31170,$31171,$31172,$31173,$31174,$31175,$31176,$31177,$31178),(nextval($31179),$31180,$31181,$31182,$31183,$31184,$31185,$31186,$31187,$31188,$31189,$31190,$31191,$31192),(nextval($31193),$31194,$31195,$31196,$31197,$31198,$31199,$31200,$31201,$31202,$31203,$31204,$31205,$31206),(nextval($31207),$31208,$31209,$31210,$31211,$31212,$31213,$31214,$31215,$31216,$31217,$31218,$31219,$31220),(nextval($31221),$31222,$31223,$31224,$31225,$31226,$31227,$31228,$31229,$31230,$31231,$31232,$31233,$31234),(nextval($31235),$31236,$31237,$31238,$31239,$31240,$31241,$31242,$31243,$31244,$31245,$31246,$31247,$31248),(nextval($31249),$31250,$31251,$31252,$31253,$31254,$31255,$31256,$31257,$31258,$31259,$31260,$31261,$31262),(nextval($31263),$31264,$31265,$31266,$31267,$31268,$31269,$31270,$31271,$31272,$31273,$31274,$31275,$31276),(nextval($31277),$31278,$31279,$31280,$31281,$31282,$31283,$31284,$31285,$31286,$31287,$31288,$31289,$31290),(nextval($31291),$31292,$31293,$31294,$31295,$31296,$31297,$31298,$31299,$31300,$31301,$31302,$31303,$31304),(nextval($31305),$31306,$31307,$31308,$31309,$31310,$31311,$31312,$31313,$31314,$31315,$31316,$31317,$31318),(nextval($31319),$31320,$31321,$31322,$31323,$31324,$31325,$31326,$31327,$31328,$31329,$31330,$31331,$31332),(nextval($31333),$31334,$31335,$31336,$31337,$31338,$31339,$31340,$31341,$31342,$31343,$31344,$31345,$31346),(nextval($31347),$31348,$31349,$31350,$31351,$31352,$31353,$31354,$31355,$31356,$31357,$31358,$31359,$31360),(nextval($31361),$31362,$31363,$31364,$31365,$31366,$31367,$31368,$31369,$31370,$31371,$31372,$31373,$31374),(nextval($31375),$31376,$31377,$31378,$31379,$31380,$31381,$31382,$31383,$31384,$31385,$31386,$31387,$31388),(nextval($31389),$31390,$31391,$31392,$31393,$31394,$31395,$31396,$31397,$31398,$31399,$31400,$31401,$31402),(nextval($31403),$31404,$31405,$31406,$31407,$31408,$31409,$31410,$31411,$31412,$31413,$31414,$31415,$31416),(nextval($31417),$31418,$31419,$31420,$31421,$31422,$31423,$31424,$31425,$31426,$31427,$31428,$31429,$31430),(nextval($31431),$31432,$31433,$31434,$31435,$31436,$31437,$31438,$31439,$31440,$31441,$31442,$31443,$31444),(nextval($31445),$31446,$31447,$31448,$31449,$31450,$31451,$31452,$31453,$31454,$31455,$31456,$31457,$31458),(nextval($31459),$31460,$31461,$31462,$31463,$31464,$31465,$31466,$31467,$31468,$31469,$31470,$31471,$31472),(nextval($31473),$31474,$31475,$31476,$31477,$31478,$31479,$31480,$31481,$31482,$31483,$31484,$31485,$31486),(nextval($31487),$31488,$31489,$31490,$31491,$31492,$31493,$31494,$31495,$31496,$31497,$31498,$31499,$31500),(nextval($31501),$31502,$31503,$31504,$31505,$31506,$31507,$31508,$31509,$31510,$31511,$31512,$31513,$31514),(nextval($31515),$31516,$31517,$31518,$31519,$31520,$31521,$31522,$31523,$31524,$31525,$31526,$31527,$31528),(nextval($31529),$31530,$31531,$31532,$31533,$31534,$31535,$31536,$31537,$31538,$31539,$31540,$31541,$31542),(nextval($31543),$31544,$31545,$31546,$31547,$31548,$31549,$31550,$31551,$31552,$31553,$31554,$31555,$31556),(nextval($31557),$31558,$31559,$31560,$31561,$31562,$31563,$31564,$31565,$31566,$31567,$31568,$31569,$31570),(nextval($31571),$31572,$31573,$31574,$31575,$31576,$31577,$31578,$31579,$31580,$31581,$31582,$31583,$31584),(nextval($31585),$31586,$31587,$31588,$31589,$31590,$31591,$31592,$31593,$31594,$31595,$31596,$31597,$31598),(nextval($31599),$31600,$31601,$31602,$31603,$31604,$31605,$31606,$31607,$31608,$31609,$31610,$31611,$31612),(nextval($31613),$31614,$31615,$31616,$31617,$31618,$31619,$31620,$31621,$31622,$31623,$31624,$31625,$31626),(nextval($31627),$31628,$31629,$31630,$31631,$31632,$31633,$31634,$31635,$31636,$31637,$31638,$31639,$31640),(nextval($31641),$31642,$31643,$31644,$31645,$31646,$31647,$31648,$31649,$31650,$31651,$31652,$31653,$31654),(nextval($31655),$31656,$31657,$31658,$31659,$31660,$31661,$31662,$31663,$31664,$31665,$31666,$31667,$31668),(nextval($31669),$31670,$31671,$31672,$31673,$31674,$31675,$31676,$31677,$31678,$31679,$31680,$31681,$31682),(nextval($31683),$31684,$31685,$31686,$31687,$31688,$31689,$31690,$31691,$31692,$31693,$31694,$31695,$31696),(nextval($31697),$31698,$31699,$31700,$31701,$31702,$31703,$31704,$31705,$31706,$31707,$31708,$31709,$31710),(nextval($31711),$31712,$31713,$31714,$31715,$31716,$31717,$31718,$31719,$31720,$31721,$31722,$31723,$31724),(nextval($31725),$31726,$31727,$31728,$31729,$31730,$31731,$31732,$31733,$31734,$31735,$31736,$31737,$31738),(nextval($31739),$31740,$31741,$31742,$31743,$31744,$31745,$31746,$31747,$31748,$31749,$31750,$31751,$31752),(nextval($31753),$31754,$31755,$31756,$31757,$31758,$31759,$31760,$31761,$31762,$31763,$31764,$31765,$31766),(nextval($31767),$31768,$31769,$31770,$31771,$31772,$31773,$31774,$31775,$31776,$31777,$31778,$31779,$31780),(nextval($31781),$31782,$31783,$31784,$31785,$31786,$31787,$31788,$31789,$31790,$31791,$31792,$31793,$31794),(nextval($31795),$31796,$31797,$31798,$31799,$31800,$31801,$31802,$31803,$31804,$31805,$31806,$31807,$31808),(nextval($31809),$31810,$31811,$31812,$31813,$31814,$31815,$31816,$31817,$31818,$31819,$31820,$31821,$31822),(nextval($31823),$31824,$31825,$31826,$31827,$31828,$31829,$31830,$31831,$31832,$31833,$31834,$31835,$31836),(nextval($31837),$31838,$31839,$31840,$31841,$31842,$31843,$31844,$31845,$31846,$31847,$31848,$31849,$31850),(nextval($31851),$31852,$31853,$31854,$31855,$31856,$31857,$31858,$31859,$31860,$31861,$31862,$31863,$31864),(nextval($31865),$31866,$31867,$31868,$31869,$31870,$31871,$31872,$31873,$31874,$31875,$31876,$31877,$31878),(nextval($31879),$31880,$31881,$31882,$31883,$31884,$31885,$31886,$31887,$31888,$31889,$31890,$31891,$31892),(nextval($31893),$31894,$31895,$31896,$31897,$31898,$31899,$31900,$31901,$31902,$31903,$31904,$31905,$31906),(nextval($31907),$31908,$31909,$31910,$31911,$31912,$31913,$31914,$31915,$31916,$31917,$31918,$31919,$31920),(nextval($31921),$31922,$31923,$31924,$31925,$31926,$31927,$31928,$31929,$31930,$31931,$31932,$31933,$31934),(nextval($31935),$31936,$31937,$31938,$31939,$31940,$31941,$31942,$31943,$31944,$31945,$31946,$31947,$31948),(nextval($31949),$31950,$31951,$31952,$31953,$31954,$31955,$31956,$31957,$31958,$31959,$31960,$31961,$31962),(nextval($31963),$31964,$31965,$31966,$31967,$31968,$31969,$31970,$31971,$31972,$31973,$31974,$31975,$31976),(nextval($31977),$31978,$31979,$31980,$31981,$31982,$31983,$31984,$31985,$31986,$31987,$31988,$31989,$31990),(nextval($31991),$31992,$31993,$31994,$31995,$31996,$31997,$31998,$31999,$32000,$32001,$32002,$32003,$32004),(nextval($32005),$32006,$32007,$32008,$32009,$32010,$32011,$32012,$32013,$32014,$32015,$32016,$32017,$32018),(nextval($32019),$32020,$32021,$32022,$32023,$32024,$32025,$32026,$32027,$32028,$32029,$32030,$32031,$32032),(nextval($32033),$32034,$32035,$32036,$32037,$32038,$32039,$32040,$32041,$32042,$32043,$32044,$32045,$32046),(nextval($32047),$32048,$32049,$32050,$32051,$32052,$32053,$32054,$32055,$32056,$32057,$32058,$32059,$32060),(nextval($32061),$32062,$32063,$32064,$32065,$32066,$32067,$32068,$32069,$32070,$32071,$32072,$32073,$32074),(nextval($32075),$32076,$32077,$32078,$32079,$32080,$32081,$32082,$32083,$32084,$32085,$32086,$32087,$32088),(nextval($32089),$32090,$32091,$32092,$32093,$32094,$32095,$32096,$32097,$32098,$32099,$32100,$32101,$32102),(nextval($32103),$32104,$32105,$32106,$32107,$32108,$32109,$32110,$32111,$32112,$32113,$32114,$32115,$32116),(nextval($32117),$32118,$32119,$32120,$32121,$32122,$32123,$32124,$32125,$32126,$32127,$32128,$32129,$32130),(nextval($32131),$32132,$32133,$32134,$32135,$32136,$32137,$32138,$32139,$32140,$32141,$32142,$32143,$32144),(nextval($32145),$32146,$32147,$32148,$32149,$32150,$32151,$32152,$32153,$32154,$32155,$32156,$32157,$32158),(nextval($32159),$32160,$32161,$32162,$32163,$32164,$32165,$32166,$32167,$32168,$32169,$32170,$32171,$32172),(nextval($32173),$32174,$32175,$32176,$32177,$32178,$32179,$32180,$32181,$32182,$32183,$32184,$32185,$32186),(nextval($32187),$32188,$32189,$32190,$32191,$32192,$32193,$32194,$32195,$32196,$32197,$32198,$32199,$32200),(nextval($32201),$32202,$32203,$32204,$32205,$32206,$32207,$32208,$32209,$32210,$32211,$32212,$32213,$32214),(nextval($32215),$32216,$32217,$32218,$32219,$32220,$32221,$32222,$32223,$32224,$32225,$32226,$32227,$32228),(nextval($32229),$32230,$32231,$32232,$32233,$32234,$32235,$32236,$32237,$32238,$32239,$32240,$32241,$32242),(nextval($32243),$32244,$32245,$32246,$32247,$32248,$32249,$32250,$32251,$32252,$32253,$32254,$32255,$32256),(nextval($32257),$32258,$32259,$32260,$32261,$32262,$32263,$32264,$32265,$32266,$32267,$32268,$32269,$32270),(nextval($32271),$32272,$32273,$32274,$32275,$32276,$32277,$32278,$32279,$32280,$32281,$32282,$32283,$32284),(nextval($32285),$32286,$32287,$32288,$32289,$32290,$32291,$32292,$32293,$32294,$32295,$32296,$32297,$32298),(nextval($32299),$32300,$32301,$32302,$32303,$32304,$32305,$32306,$32307,$32308,$32309,$32310,$32311,$32312),(nextval($32313),$32314,$32315,$32316,$32317,$32318,$32319,$32320,$32321,$32322,$32323,$32324,$32325,$32326),(nextval($32327),$32328,$32329,$32330,$32331,$32332,$32333,$32334,$32335,$32336,$32337,$32338,$32339,$32340),(nextval($32341),$32342,$32343,$32344,$32345,$32346,$32347,$32348,$32349,$32350,$32351,$32352,$32353,$32354),(nextval($32355),$32356,$32357,$32358,$32359,$32360,$32361,$32362,$32363,$32364,$32365,$32366,$32367,$32368),(nextval($32369),$32370,$32371,$32372,$32373,$32374,$32375,$32376,$32377,$32378,$32379,$32380,$32381,$32382),(nextval($32383),$32384,$32385,$32386,$32387,$32388,$32389,$32390,$32391,$32392,$32393,$32394,$32395,$32396),(nextval($32397),$32398,$32399,$32400,$32401,$32402,$32403,$32404,$32405,$32406,$32407,$32408,$32409,$32410),(nextval($32411),$32412,$32413,$32414,$32415,$32416,$32417,$32418,$32419,$32420,$32421,$32422,$32423,$32424),(nextval($32425),$32426,$32427,$32428,$32429,$32430,$32431,$32432,$32433,$32434,$32435,$32436,$32437,$32438),(nextval($32439),$32440,$32441,$32442,$32443,$32444,$32445,$32446,$32447,$32448,$32449,$32450,$32451,$32452),(nextval($32453),$32454,$32455,$32456,$32457,$32458,$32459,$32460,$32461,$32462,$32463,$32464,$32465,$32466),(nextval($32467),$32468,$32469,$32470,$32471,$32472,$32473,$32474,$32475,$32476,$32477,$32478,$32479,$32480),(nextval($32481),$32482,$32483,$32484,$32485,$32486,$32487,$32488,$32489,$32490,$32491,$32492,$32493,$32494),(nextval($32495),$32496,$32497,$32498,$32499,$32500,$32501,$32502,$32503,$32504,$32505,$32506,$32507,$32508),(nextval($32509),$32510,$32511,$32512,$32513,$32514,$32515,$32516,$32517,$32518,$32519,$32520,$32521,$32522),(nextval($32523),$32524,$32525,$32526,$32527,$32528,$32529,$32530,$32531,$32532,$32533,$32534,$32535,$32536),(nextval($32537),$32538,$32539,$32540,$32541,$32542,$32543,$32544,$32545,$32546,$32547,$32548,$32549,$32550),(nextval($32551),$32552,$32553,$32554,$32555,$32556,$32557,$32558,$32559,$32560,$32561,$32562,$32563,$32564),(nextval($32565),$32566,$32567,$32568,$32569,$32570,$32571,$32572,$32573,$32574,$32575,$32576,$32577,$32578),(nextval($32579),$32580,$32581,$32582,$32583,$32584,$32585,$32586,$32587,$32588,$32589,$32590,$32591,$32592),(nextval($32593),$32594,$32595,$32596,$32597,$32598,$32599,$32600,$32601,$32602,$32603,$32604,$32605,$32606),(nextval($32607),$32608,$32609,$32610,$32611,$32612,$32613,$32614,$32615,$32616,$32617,$32618,$32619,$32620),(nextval($32621),$32622,$32623,$32624,$32625,$32626,$32627,$32628,$32629,$32630,$32631,$32632,$32633,$32634),(nextval($32635),$32636,$32637,$32638,$32639,$32640,$32641,$32642,$32643,$32644,$32645,$32646,$32647,$32648),(nextval($32649),$32650,$32651,$32652,$32653,$32654,$32655,$32656,$32657,$32658,$32659,$32660,$32661,$32662),(nextval($32663),$32664,$32665,$32666,$32667,$32668,$32669,$32670,$32671,$32672,$32673,$32674,$32675,$32676),(nextval($32677),$32678,$32679,$32680,$32681,$32682,$32683,$32684,$32685,$32686,$32687,$32688,$32689,$32690),(nextval($32691),$32692,$32693,$32694,$32695,$32696,$32697,$32698,$32699,$32700,$32701,$32702,$32703,$32704),(nextval($32705),$32706,$32707,$32708,$32709,$32710,$32711,$32712,$32713,$32714,$32715,$32716,$32717,$32718),(nextval($32719),$32720,$32721,$32722,$32723,$32724,$32725,$32726,$32727,$32728,$32729,$32730,$32731,$32732),(nextval($32733),$32734,$32735,$32736,$32737,$32738,$32739,$32740,$32741,$32742,$32743,$32744,$32745,$32746),(nextval($32747),$32748,$32749,$32750,$32751,$32752,$32753,$32754,$32755,$32756,$32757,$32758,$32759,$32760),(nextval($32761),$32762,$32763,$32764,$32765,$32766,$32767,$32768,$32769,$32770,$32771,$32772,$32773,$32774),(nextval($32775),$32776,$32777,$32778,$32779,$32780,$32781,$32782,$32783,$32784,$32785,$32786,$32787,$32788),(nextval($32789),$32790,$32791,$32792,$32793,$32794,$32795,$32796,$32797,$32798,$32799,$32800,$32801,$32802),(nextval($32803),$32804,$32805,$32806,$32807,$32808,$32809,$32810,$32811,$32812,$32813,$32814,$32815,$32816),(nextval($32817),$32818,$32819,$32820,$32821,$32822,$32823,$32824,$32825,$32826,$32827,$32828,$32829,$32830),(nextval($32831),$32832,$32833,$32834,$32835,$32836,$32837,$32838,$32839,$32840,$32841,$32842,$32843,$32844),(nextval($32845),$32846,$32847,$32848,$32849,$32850,$32851,$32852,$32853,$32854,$32855,$32856,$32857,$32858),(nextval($32859),$32860,$32861,$32862,$32863,$32864,$32865,$32866,$32867,$32868,$32869,$32870,$32871,$32872),(nextval($32873),$32874,$32875,$32876,$32877,$32878,$32879,$32880,$32881,$32882,$32883,$32884,$32885,$32886),(nextval($32887),$32888,$32889,$32890,$32891,$32892,$32893,$32894,$32895,$32896,$32897,$32898,$32899,$32900),(nextval($32901),$32902,$32903,$32904,$32905,$32906,$32907,$32908,$32909,$32910,$32911,$32912,$32913,$32914),(nextval($32915),$32916,$32917,$32918,$32919,$32920,$32921,$32922,$32923,$32924,$32925,$32926,$32927,$32928),(nextval($32929),$32930,$32931,$32932,$32933,$32934,$32935,$32936,$32937,$32938,$32939,$32940,$32941,$32942),(nextval($32943),$32944,$32945,$32946,$32947,$32948,$32949,$32950,$32951,$32952,$32953,$32954,$32955,$32956),(nextval($32957),$32958,$32959,$32960,$32961,$32962,$32963,$32964,$32965,$32966,$32967,$32968,$32969,$32970),(nextval($32971),$32972,$32973,$32974,$32975,$32976,$32977,$32978,$32979,$32980,$32981,$32982,$32983,$32984),(nextval($32985),$32986,$32987,$32988,$32989,$32990,$32991,$32992,$32993,$32994,$32995,$32996,$32997,$32998),(nextval($32999),$33000,$33001,$33002,$33003,$33004,$33005,$33006,$33007,$33008,$33009,$33010,$33011,$33012),(nextval($33013),$33014,$33015,$33016,$33017,$33018,$33019,$33020,$33021,$33022,$33023,$33024,$33025,$33026),(nextval($33027),$33028,$33029,$33030,$33031,$33032,$33033,$33034,$33035,$33036,$33037,$33038,$33039,$33040),(nextval($33041),$33042,$33043,$33044,$33045,$33046,$33047,$33048,$33049,$33050,$33051,$33052,$33053,$33054),(nextval($33055),$33056,$33057,$33058,$33059,$33060,$33061,$33062,$33063,$33064,$33065,$33066,$33067,$33068),(nextval($33069),$33070,$33071,$33072,$33073,$33074,$33075,$33076,$33077,$33078,$33079,$33080,$33081,$33082),(nextval($33083),$33084,$33085,$33086,$33087,$33088,$33089,$33090,$33091,$33092,$33093,$33094,$33095,$33096),(nextval($33097),$33098,$33099,$33100,$33101,$33102,$33103,$33104,$33105,$33106,$33107,$33108,$33109,$33110),(nextval($33111),$33112,$33113,$33114,$33115,$33116,$33117,$33118,$33119,$33120,$33121,$33122,$33123,$33124),(nextval($33125),$33126,$33127,$33128,$33129,$33130,$33131,$33132,$33133,$33134,$33135,$33136,$33137,$33138),(nextval($33139),$33140,$33141,$33142,$33143,$33144,$33145,$33146,$33147,$33148,$33149,$33150,$33151,$33152),(nextval($33153),$33154,$33155,$33156,$33157,$33158,$33159,$33160,$33161,$33162,$33163,$33164,$33165,$33166),(nextval($33167),$33168,$33169,$33170,$33171,$33172,$33173,$33174,$33175,$33176,$33177,$33178,$33179,$33180),(nextval($33181),$33182,$33183,$33184,$33185,$33186,$33187,$33188,$33189,$33190,$33191,$33192,$33193,$33194),(nextval($33195),$33196,$33197,$33198,$33199,$33200,$33201,$33202,$33203,$33204,$33205,$33206,$33207,$33208),(nextval($33209),$33210,$33211,$33212,$33213,$33214,$33215,$33216,$33217,$33218,$33219,$33220,$33221,$33222),(nextval($33223),$33224,$33225,$33226,$33227,$33228,$33229,$33230,$33231,$33232,$33233,$33234,$33235,$33236),(nextval($33237),$33238,$33239,$33240,$33241,$33242,$33243,$33244,$33245,$33246,$33247,$33248,$33249,$33250),(nextval($33251),$33252,$33253,$33254,$33255,$33256,$33257,$33258,$33259,$33260,$33261,$33262,$33263,$33264),(nextval($33265),$33266,$33267,$33268,$33269,$33270,$33271,$33272,$33273,$33274,$33275,$33276,$33277,$33278),(nextval($33279),$33280,$33281,$33282,$33283,$33284,$33285,$33286,$33287,$33288,$33289,$33290,$33291,$33292),(nextval($33293),$33294,$33295,$33296,$33297,$33298,$33299,$33300,$33301,$33302,$33303,$33304,$33305,$33306),(nextval($33307),$33308,$33309,$33310,$33311,$33312,$33313,$33314,$33315,$33316,$33317,$33318,$33319,$33320),(nextval($33321),$33322,$33323,$33324,$33325,$33326,$33327,$33328,$33329,$33330,$33331,$33332,$33333,$33334),(nextval($33335),$33336,$33337,$33338,$33339,$33340,$33341,$33342,$33343,$33344,$33345,$33346,$33347,$33348),(nextval($33349),$33350,$33351,$33352,$33353,$33354,$33355,$33356,$33357,$33358,$33359,$33360,$33361,$33362),(nextval($33363),$33364,$33365,$33366,$33367,$33368,$33369,$33370,$33371,$33372,$33373,$33374,$33375,$33376),(nextval($33377),$33378,$33379,$33380,$33381,$33382,$33383,$33384,$33385,$33386,$33387,$33388,$33389,$33390),(nextval($33391),$33392,$33393,$33394,$33395,$33396,$33397,$33398,$33399,$33400,$33401,$33402,$33403,$33404),(nextval($33405),$33406,$33407,$33408,$33409,$33410,$33411,$33412,$33413,$33414,$33415,$33416,$33417,$33418),(nextval($33419),$33420,$33421,$33422,$33423,$33424,$33425,$33426,$33427,$33428,$33429,$33430,$33431,$33432),(nextval($33433),$33434,$33435,$33436,$33437,$33438,$33439,$33440,$33441,$33442,$33443,$33444,$33445,$33446),(nextval($33447),$33448,$33449,$33450,$33451,$33452,$33453,$33454,$33455,$33456,$33457,$33458,$33459,$33460),(nextval($33461),$33462,$33463,$33464,$33465,$33466,$33467,$33468,$33469,$33470,$33471,$33472,$33473,$33474),(nextval($33475),$33476,$33477,$33478,$33479,$33480,$33481,$33482,$33483,$33484,$33485,$33486,$33487,$33488),(nextval($33489),$33490,$33491,$33492,$33493,$33494,$33495,$33496,$33497,$33498,$33499,$33500,$33501,$33502),(nextval($33503),$33504,$33505,$33506,$33507,$33508,$33509,$33510,$33511,$33512,$33513,$33514,$33515,$33516),(nextval($33517),$33518,$33519,$33520,$33521,$33522,$33523,$33524,$33525,$33526,$33527,$33528,$33529,$33530),(nextval($33531),$33532,$33533,$33534,$33535,$33536,$33537,$33538,$33539,$33540,$33541,$33542,$33543,$33544),(nextval($33545),$33546,$33547,$33548,$33549,$33550,$33551,$33552,$33553,$33554,$33555,$33556,$33557,$33558),(nextval($33559),$33560,$33561,$33562,$33563,$33564,$33565,$33566,$33567,$33568,$33569,$33570,$33571,$33572),(nextval($33573),$33574,$33575,$33576,$33577,$33578,$33579,$33580,$33581,$33582,$33583,$33584,$33585,$33586),(nextval($33587),$33588,$33589,$33590,$33591,$33592,$33593,$33594,$33595,$33596,$33597,$33598,$33599,$33600),(nextval($33601),$33602,$33603,$33604,$33605,$33606,$33607,$33608,$33609,$33610,$33611,$33612,$33613,$33614),(nextval($33615),$33616,$33617,$33618,$33619,$33620,$33621,$33622,$33623,$33624,$33625,$33626,$33627,$33628),(nextval($33629),$33630,$33631,$33632,$33633,$33634,$33635,$33636,$33637,$33638,$33639,$33640,$33641,$33642),(nextval($33643),$33644,$33645,$33646,$33647,$33648,$33649,$33650,$33651,$33652,$33653,$33654,$33655,$33656),(nextval($33657),$33658,$33659,$33660,$33661,$33662,$33663,$33664,$33665,$33666,$33667,$33668,$33669,$33670),(nextval($33671),$33672,$33673,$33674,$33675,$33676,$33677,$33678,$33679,$33680,$33681,$33682,$33683,$33684),(nextval($33685),$33686,$33687,$33688,$33689,$33690,$33691,$33692,$33693,$33694,$33695,$33696,$33697,$33698),(nextval($33699),$33700,$33701,$33702,$33703,$33704,$33705,$33706,$33707,$33708,$33709,$33710,$33711,$33712),(nextval($33713),$33714,$33715,$33716,$33717,$33718,$33719,$33720,$33721,$33722,$33723,$33724,$33725,$33726),(nextval($33727),$33728,$33729,$33730,$33731,$33732,$33733,$33734,$33735,$33736,$33737,$33738,$33739,$33740),(nextval($33741),$33742,$33743,$33744,$33745,$33746,$33747,$33748,$33749,$33750,$33751,$33752,$33753,$33754),(nextval($33755),$33756,$33757,$33758,$33759,$33760,$33761,$33762,$33763,$33764,$33765,$33766,$33767,$33768),(nextval($33769),$33770,$33771,$33772,$33773,$33774,$33775,$33776,$33777,$33778,$33779,$33780,$33781,$33782),(nextval($33783),$33784,$33785,$33786,$33787,$33788,$33789,$33790,$33791,$33792,$33793,$33794,$33795,$33796),(nextval($33797),$33798,$33799,$33800,$33801,$33802,$33803,$33804,$33805,$33806,$33807,$33808,$33809,$33810),(nextval($33811),$33812,$33813,$33814,$33815,$33816,$33817,$33818,$33819,$33820,$33821,$33822,$33823,$33824),(nextval($33825),$33826,$33827,$33828,$33829,$33830,$33831,$33832,$33833,$33834,$33835,$33836,$33837,$33838),(nextval($33839),$33840,$33841,$33842,$33843,$33844,$33845,$33846,$33847,$33848,$33849,$33850,$33851,$33852),(nextval($33853),$33854,$33855,$33856,$33857,$33858,$33859,$33860,$33861,$33862,$33863,$33864,$33865,$33866),(nextval($33867),$33868,$33869,$33870,$33871,$33872,$33873,$33874,$33875,$33876,$33877,$33878,$33879,$33880),(nextval($33881),$33882,$33883,$33884,$33885,$33886,$33887,$33888,$33889,$33890,$33891,$33892,$33893,$33894),(nextval($33895),$33896,$33897,$33898,$33899,$33900,$33901,$33902,$33903,$33904,$33905,$33906,$33907,$33908),(nextval($33909),$33910,$33911,$33912,$33913,$33914,$33915,$33916,$33917,$33918,$33919,$33920,$33921,$33922),(nextval($33923),$33924,$33925,$33926,$33927,$33928,$33929,$33930,$33931,$33932,$33933,$33934,$33935,$33936),(nextval($33937),$33938,$33939,$33940,$33941,$33942,$33943,$33944,$33945,$33946,$33947,$33948,$33949,$33950),(nextval($33951),$33952,$33953,$33954,$33955,$33956,$33957,$33958,$33959,$33960,$33961,$33962,$33963,$33964),(nextval($33965),$33966,$33967,$33968,$33969,$33970,$33971,$33972,$33973,$33974,$33975,$33976,$33977,$33978),(nextval($33979),$33980,$33981,$33982,$33983,$33984,$33985,$33986,$33987,$33988,$33989,$33990,$33991,$33992),(nextval($33993),$33994,$33995,$33996,$33997,$33998,$33999,$34000,$34001,$34002,$34003,$34004,$34005,$34006),(nextval($34007),$34008,$34009,$34010,$34011,$34012,$34013,$34014,$34015,$34016,$34017,$34018,$34019,$34020),(nextval($34021),$34022,$34023,$34024,$34025,$34026,$34027,$34028,$34029,$34030,$34031,$34032,$34033,$34034),(nextval($34035),$34036,$34037,$34038,$34039,$34040,$34041,$34042,$34043,$34044,$34045,$34046,$34047,$34048),(nextval($34049),$34050,$34051,$34052,$34053,$34054,$34055,$34056,$34057,$34058,$34059,$34060,$34061,$34062),(nextval($34063),$34064,$34065,$34066,$34067,$34068,$34069,$34070,$34071,$34072,$34073,$34074,$34075,$34076),(nextval($34077),$34078,$34079,$34080,$34081,$34082,$34083,$34084,$34085,$34086,$34087,$34088,$34089,$34090),(nextval($34091),$34092,$34093,$34094,$34095,$34096,$34097,$34098,$34099,$34100,$34101,$34102,$34103,$34104),(nextval($34105),$34106,$34107,$34108,$34109,$34110,$34111,$34112,$34113,$34114,$34115,$34116,$34117,$34118),(nextval($34119),$34120,$34121,$34122,$34123,$34124,$34125,$34126,$34127,$34128,$34129,$34130,$34131,$34132),(nextval($34133),$34134,$34135,$34136,$34137,$34138,$34139,$34140,$34141,$34142,$34143,$34144,$34145,$34146),(nextval($34147),$34148,$34149,$34150,$34151,$34152,$34153,$34154,$34155,$34156,$34157,$34158,$34159,$34160),(nextval($34161),$34162,$34163,$34164,$34165,$34166,$34167,$34168,$34169,$34170,$34171,$34172,$34173,$34174),(nextval($34175),$34176,$34177,$34178,$34179,$34180,$34181,$34182,$34183,$34184,$34185,$34186,$34187,$34188),(nextval($34189),$34190,$34191,$34192,$34193,$34194,$34195,$34196,$34197,$34198,$34199,$34200,$34201,$34202),(nextval($34203),$34204,$34205,$34206,$34207,$34208,$34209,$34210,$34211,$34212,$34213,$34214,$34215,$34216),(nextval($34217),$34218,$34219,$34220,$34221,$34222,$34223,$34224,$34225,$34226,$34227,$34228,$34229,$34230),(nextval($34231),$34232,$34233,$34234,$34235,$34236,$34237,$34238,$34239,$34240,$34241,$34242,$34243,$34244),(nextval($34245),$34246,$34247,$34248,$34249,$34250,$34251,$34252,$34253,$34254,$34255,$34256,$34257,$34258),(nextval($34259),$34260,$34261,$34262,$34263,$34264,$34265,$34266,$34267,$34268,$34269,$34270,$34271,$34272),(nextval($34273),$34274,$34275,$34276,$34277,$34278,$34279,$34280,$34281,$34282,$34283,$34284,$34285,$34286),(nextval($34287),$34288,$34289,$34290,$34291,$34292,$34293,$34294,$34295,$34296,$34297,$34298,$34299,$34300),(nextval($34301),$34302,$34303,$34304,$34305,$34306,$34307,$34308,$34309,$34310,$34311,$34312,$34313,$34314),(nextval($34315),$34316,$34317,$34318,$34319,$34320,$34321,$34322,$34323,$34324,$34325,$34326,$34327,$34328),(nextval($34329),$34330,$34331,$34332,$34333,$34334,$34335,$34336,$34337,$34338,$34339,$34340,$34341,$34342),(nextval($34343),$34344,$34345,$34346,$34347,$34348,$34349,$34350,$34351,$34352,$34353,$34354,$34355,$34356),(nextval($34357),$34358,$34359,$34360,$34361,$34362,$34363,$34364,$34365,$34366,$34367,$34368,$34369,$34370),(nextval($34371),$34372,$34373,$34374,$34375,$34376,$34377,$34378,$34379,$34380,$34381,$34382,$34383,$34384),(nextval($34385),$34386,$34387,$34388,$34389,$34390,$34391,$34392,$34393,$34394,$34395,$34396,$34397,$34398),(nextval($34399),$34400,$34401,$34402,$34403,$34404,$34405,$34406,$34407,$34408,$34409,$34410,$34411,$34412),(nextval($34413),$34414,$34415,$34416,$34417,$34418,$34419,$34420,$34421,$34422,$34423,$34424,$34425,$34426),(nextval($34427),$34428,$34429,$34430,$34431,$34432,$34433,$34434,$34435,$34436,$34437,$34438,$34439,$34440),(nextval($34441),$34442,$34443,$34444,$34445,$34446,$34447,$34448,$34449,$34450,$34451,$34452,$34453,$34454),(nextval($34455),$34456,$34457,$34458,$34459,$34460,$34461,$34462,$34463,$34464,$34465,$34466,$34467,$34468),(nextval($34469),$34470,$34471,$34472,$34473,$34474,$34475,$34476,$34477,$34478,$34479,$34480,$34481,$34482),(nextval($34483),$34484,$34485,$34486,$34487,$34488,$34489,$34490,$34491,$34492,$34493,$34494,$34495,$34496),(nextval($34497),$34498,$34499,$34500,$34501,$34502,$34503,$34504,$34505,$34506,$34507,$34508,$34509,$34510),(nextval($34511),$34512,$34513,$34514,$34515,$34516,$34517,$34518,$34519,$34520,$34521,$34522,$34523,$34524),(nextval($34525),$34526,$34527,$34528,$34529,$34530,$34531,$34532,$34533,$34534,$34535,$34536,$34537,$34538),(nextval($34539),$34540,$34541,$34542,$34543,$34544,$34545,$34546,$34547,$34548,$34549,$34550,$34551,$34552),(nextval($34553),$34554,$34555,$34556,$34557,$34558,$34559,$34560,$34561,$34562,$34563,$34564,$34565,$34566),(nextval($34567),$34568,$34569,$34570,$34571,$34572,$34573,$34574,$34575,$34576,$34577,$34578,$34579,$34580),(nextval($34581),$34582,$34583,$34584,$34585,$34586,$34587,$34588,$34589,$34590,$34591,$34592,$34593,$34594),(nextval($34595),$34596,$34597,$34598,$34599,$34600,$34601,$34602,$34603,$34604,$34605,$34606,$34607,$34608),(nextval($34609),$34610,$34611,$34612,$34613,$34614,$34615,$34616,$34617,$34618,$34619,$34620,$34621,$34622),(nextval($34623),$34624,$34625,$34626,$34627,$34628,$34629,$34630,$34631,$34632,$34633,$34634,$34635,$34636),(nextval($34637),$34638,$34639,$34640,$34641,$34642,$34643,$34644,$34645,$34646,$34647,$34648,$34649,$34650),(nextval($34651),$34652,$34653,$34654,$34655,$34656,$34657,$34658,$34659,$34660,$34661,$34662,$34663,$34664),(nextval($34665),$34666,$34667,$34668,$34669,$34670,$34671,$34672,$34673,$34674,$34675,$34676,$34677,$34678),(nextval($34679),$34680,$34681,$34682,$34683,$34684,$34685,$34686,$34687,$34688,$34689,$34690,$34691,$34692),(nextval($34693),$34694,$34695,$34696,$34697,$34698,$34699,$34700,$34701,$34702,$34703,$34704,$34705,$34706),(nextval($34707),$34708,$34709,$34710,$34711,$34712,$34713,$34714,$34715,$34716,$34717,$34718,$34719,$34720),(nextval($34721),$34722,$34723,$34724,$34725,$34726,$34727,$34728,$34729,$34730,$34731,$34732,$34733,$34734),(nextval($34735),$34736,$34737,$34738,$34739,$34740,$34741,$34742,$34743,$34744,$34745,$34746,$34747,$34748),(nextval($34749),$34750,$34751,$34752,$34753,$34754,$34755,$34756,$34757,$34758,$34759,$34760,$34761,$34762),(nextval($34763),$34764,$34765,$34766,$34767,$34768,$34769,$34770,$34771,$34772,$34773,$34774,$34775,$34776),(nextval($34777),$34778,$34779,$34780,$34781,$34782,$34783,$34784,$34785,$34786,$34787,$34788,$34789,$34790),(nextval($34791),$34792,$34793,$34794,$34795,$34796,$34797,$34798,$34799,$34800,$34801,$34802,$34803,$34804),(nextval($34805),$34806,$34807,$34808,$34809,$34810,$34811,$34812,$34813,$34814,$34815,$34816,$34817,$34818),(nextval($34819),$34820,$34821,$34822,$34823,$34824,$34825,$34826,$34827,$34828,$34829,$34830,$34831,$34832),(nextval($34833),$34834,$34835,$34836,$34837,$34838,$34839,$34840,$34841,$34842,$34843,$34844,$34845,$34846),(nextval($34847),$34848,$34849,$34850,$34851,$34852,$34853,$34854,$34855,$34856,$34857,$34858,$34859,$34860),(nextval($34861),$34862,$34863,$34864,$34865,$34866,$34867,$34868,$34869,$34870,$34871,$34872,$34873,$34874),(nextval($34875),$34876,$34877,$34878,$34879,$34880,$34881,$34882,$34883,$34884,$34885,$34886,$34887,$34888),(nextval($34889),$34890,$34891,$34892,$34893,$34894,$34895,$34896,$34897,$34898,$34899,$34900,$34901,$34902),(nextval($34903),$34904,$34905,$34906,$34907,$34908,$34909,$34910,$34911,$34912,$34913,$34914,$34915,$34916),(nextval($34917),$34918,$34919,$34920,$34921,$34922,$34923,$34924,$34925,$34926,$34927,$34928,$34929,$34930),(nextval($34931),$34932,$34933,$34934,$34935,$34936,$34937,$34938,$34939,$34940,$34941,$34942,$34943,$34944),(nextval($34945),$34946,$34947,$34948,$34949,$34950,$34951,$34952,$34953,$34954,$34955,$34956,$34957,$34958),(nextval($34959),$34960,$34961,$34962,$34963,$34964,$34965,$34966,$34967,$34968,$34969,$34970,$34971,$34972),(nextval($34973),$34974,$34975,$34976,$34977,$34978,$34979,$34980,$34981,$34982,$34983,$34984,$34985,$34986),(nextval($34987),$34988,$34989,$34990,$34991,$34992,$34993,$34994,$34995,$34996,$34997,$34998,$34999,$35000),(nextval($35001),$35002,$35003,$35004,$35005,$35006,$35007,$35008,$35009,$35010,$35011,$35012,$35013,$35014),(nextval($35015),$35016,$35017,$35018,$35019,$35020,$35021,$35022,$35023,$35024,$35025,$35026,$35027,$35028),(nextval($35029),$35030,$35031,$35032,$35033,$35034,$35035,$35036,$35037,$35038,$35039,$35040,$35041,$35042),(nextval($35043),$35044,$35045,$35046,$35047,$35048,$35049,$35050,$35051,$35052,$35053,$35054,$35055,$35056),(nextval($35057),$35058,$35059,$35060,$35061,$35062,$35063,$35064,$35065,$35066,$35067,$35068,$35069,$35070),(nextval($35071),$35072,$35073,$35074,$35075,$35076,$35077,$35078,$35079,$35080,$35081,$35082,$35083,$35084),(nextval($35085),$35086,$35087,$35088,$35089,$35090,$35091,$35092,$35093,$35094,$35095,$35096,$35097,$35098),(nextval($35099),$35100,$35101,$35102,$35103,$35104,$35105,$35106,$35107,$35108,$35109,$35110,$35111,$35112),(nextval($35113),$35114,$35115,$35116,$35117,$35118,$35119,$35120,$35121,$35122,$35123,$35124,$35125,$35126),(nextval($35127),$35128,$35129,$35130,$35131,$35132,$35133,$35134,$35135,$35136,$35137,$35138,$35139,$35140),(nextval($35141),$35142,$35143,$35144,$35145,$35146,$35147,$35148,$35149,$35150,$35151,$35152,$35153,$35154),(nextval($35155),$35156,$35157,$35158,$35159,$35160,$35161,$35162,$35163,$35164,$35165,$35166,$35167,$35168),(nextval($35169),$35170,$35171,$35172,$35173,$35174,$35175,$35176,$35177,$35178,$35179,$35180,$35181,$35182),(nextval($35183),$35184,$35185,$35186,$35187,$35188,$35189,$35190,$35191,$35192,$35193,$35194,$35195,$35196),(nextval($35197),$35198,$35199,$35200,$35201,$35202,$35203,$35204,$35205,$35206,$35207,$35208,$35209,$35210),(nextval($35211),$35212,$35213,$35214,$35215,$35216,$35217,$35218,$35219,$35220,$35221,$35222,$35223,$35224),(nextval($35225),$35226,$35227,$35228,$35229,$35230,$35231,$35232,$35233,$35234,$35235,$35236,$35237,$35238),(nextval($35239),$35240,$35241,$35242,$35243,$35244,$35245,$35246,$35247,$35248,$35249,$35250,$35251,$35252),(nextval($35253),$35254,$35255,$35256,$35257,$35258,$35259,$35260,$35261,$35262,$35263,$35264,$35265,$35266),(nextval($35267),$35268,$35269,$35270,$35271,$35272,$35273,$35274,$35275,$35276,$35277,$35278,$35279,$35280),(nextval($35281),$35282,$35283,$35284,$35285,$35286,$35287,$35288,$35289,$35290,$35291,$35292,$35293,$35294),(nextval($35295),$35296,$35297,$35298,$35299,$35300,$35301,$35302,$35303,$35304,$35305,$35306,$35307,$35308),(nextval($35309),$35310,$35311,$35312,$35313,$35314,$35315,$35316,$35317,$35318,$35319,$35320,$35321,$35322),(nextval($35323),$35324,$35325,$35326,$35327,$35328,$35329,$35330,$35331,$35332,$35333,$35334,$35335,$35336),(nextval($35337),$35338,$35339,$35340,$35341,$35342,$35343,$35344,$35345,$35346,$35347,$35348,$35349,$35350),(nextval($35351),$35352,$35353,$35354,$35355,$35356,$35357,$35358,$35359,$35360,$35361,$35362,$35363,$35364),(nextval($35365),$35366,$35367,$35368,$35369,$35370,$35371,$35372,$35373,$35374,$35375,$35376,$35377,$35378),(nextval($35379),$35380,$35381,$35382,$35383,$35384,$35385,$35386,$35387,$35388,$35389,$35390,$35391,$35392),(nextval($35393),$35394,$35395,$35396,$35397,$35398,$35399,$35400,$35401,$35402,$35403,$35404,$35405,$35406),(nextval($35407),$35408,$35409,$35410,$35411,$35412,$35413,$35414,$35415,$35416,$35417,$35418,$35419,$35420),(nextval($35421),$35422,$35423,$35424,$35425,$35426,$35427,$35428,$35429,$35430,$35431,$35432,$35433,$35434),(nextval($35435),$35436,$35437,$35438,$35439,$35440,$35441,$35442,$35443,$35444,$35445,$35446,$35447,$35448),(nextval($35449),$35450,$35451,$35452,$35453,$35454,$35455,$35456,$35457,$35458,$35459,$35460,$35461,$35462),(nextval($35463),$35464,$35465,$35466,$35467,$35468,$35469,$35470,$35471,$35472,$35473,$35474,$35475,$35476),(nextval($35477),$35478,$35479,$35480,$35481,$35482,$35483,$35484,$35485,$35486,$35487,$35488,$35489,$35490),(nextval($35491),$35492,$35493,$35494,$35495,$35496,$35497,$35498,$35499,$35500,$35501,$35502,$35503,$35504),(nextval($35505),$35506,$35507,$35508,$35509,$35510,$35511,$35512,$35513,$35514,$35515,$35516,$35517,$35518),(nextval($35519),$35520,$35521,$35522,$35523,$35524,$35525,$35526,$35527,$35528,$35529,$35530,$35531,$35532),(nextval($35533),$35534,$35535,$35536,$35537,$35538,$35539,$35540,$35541,$35542,$35543,$35544,$35545,$35546),(nextval($35547),$35548,$35549,$35550,$35551,$35552,$35553,$35554,$35555,$35556,$35557,$35558,$35559,$35560),(nextval($35561),$35562,$35563,$35564,$35565,$35566,$35567,$35568,$35569,$35570,$35571,$35572,$35573,$35574),(nextval($35575),$35576,$35577,$35578,$35579,$35580,$35581,$35582,$35583,$35584,$35585,$35586,$35587,$35588),(nextval($35589),$35590,$35591,$35592,$35593,$35594,$35595,$35596,$35597,$35598,$35599,$35600,$35601,$35602),(nextval($35603),$35604,$35605,$35606,$35607,$35608,$35609,$35610,$35611,$35612,$35613,$35614,$35615,$35616),(nextval($35617),$35618,$35619,$35620,$35621,$35622,$35623,$35624,$35625,$35626,$35627,$35628,$35629,$35630),(nextval($35631),$35632,$35633,$35634,$35635,$35636,$35637,$35638,$35639,$35640,$35641,$35642,$35643,$35644),(nextval($35645),$35646,$35647,$35648,$35649,$35650,$35651,$35652,$35653,$35654,$35655,$35656,$35657,$35658),(nextval($35659),$35660,$35661,$35662,$35663,$35664,$35665,$35666,$35667,$35668,$35669,$35670,$35671,$35672),(nextval($35673),$35674,$35675,$35676,$35677,$35678,$35679,$35680,$35681,$35682,$35683,$35684,$35685,$35686),(nextval($35687),$35688,$35689,$35690,$35691,$35692,$35693,$35694,$35695,$35696,$35697,$35698,$35699,$35700),(nextval($35701),$35702,$35703,$35704,$35705,$35706,$35707,$35708,$35709,$35710,$35711,$35712,$35713,$35714),(nextval($35715),$35716,$35717,$35718,$35719,$35720,$35721,$35722,$35723,$35724,$35725,$35726,$35727,$35728),(nextval($35729),$35730,$35731,$35732,$35733,$35734,$35735,$35736,$35737,$35738,$35739,$35740,$35741,$35742),(nextval($35743),$35744,$35745,$35746,$35747,$35748,$35749,$35750,$35751,$35752,$35753,$35754,$35755,$35756),(nextval($35757),$35758,$35759,$35760,$35761,$35762,$35763,$35764,$35765,$35766,$35767,$35768,$35769,$35770),(nextval($35771),$35772,$35773,$35774,$35775,$35776,$35777,$35778,$35779,$35780,$35781,$35782,$35783,$35784),(nextval($35785),$35786,$35787,$35788,$35789,$35790,$35791,$35792,$35793,$35794,$35795,$35796,$35797,$35798),(nextval($35799),$35800,$35801,$35802,$35803,$35804,$35805,$35806,$35807,$35808,$35809,$35810,$35811,$35812),(nextval($35813),$35814,$35815,$35816,$35817,$35818,$35819,$35820,$35821,$35822,$35823,$35824,$35825,$35826),(nextval($35827),$35828,$35829,$35830,$35831,$35832,$35833,$35834,$35835,$35836,$35837,$35838,$35839,$35840),(nextval($35841),$35842,$35843,$35844,$35845,$35846,$35847,$35848,$35849,$35850,$35851,$35852,$35853,$35854),(nextval($35855),$35856,$35857,$35858,$35859,$35860,$35861,$35862,$35863,$35864,$35865,$35866,$35867,$35868),(nextval($35869),$35870,$35871,$35872,$35873,$35874,$35875,$35876,$35877,$35878,$35879,$35880,$35881,$35882),(nextval($35883),$35884,$35885,$35886,$35887,$35888,$35889,$35890,$35891,$35892,$35893,$35894,$35895,$35896),(nextval($35897),$35898,$35899,$35900,$35901,$35902,$35903,$35904,$35905,$35906,$35907,$35908,$35909,$35910),(nextval($35911),$35912,$35913,$35914,$35915,$35916,$35917,$35918,$35919,$35920,$35921,$35922,$35923,$35924),(nextval($35925),$35926,$35927,$35928,$35929,$35930,$35931,$35932,$35933,$35934,$35935,$35936,$35937,$35938),(nextval($35939),$35940,$35941,$35942,$35943,$35944,$35945,$35946,$35947,$35948,$35949,$35950,$35951,$35952),(nextval($35953),$35954,$35955,$35956,$35957,$35958,$35959,$35960,$35961,$35962,$35963,$35964,$35965,$35966),(nextval($35967),$35968,$35969,$35970,$35971,$35972,$35973,$35974,$35975,$35976,$35977,$35978,$35979,$35980),(nextval($35981),$35982,$35983,$35984,$35985,$35986,$35987,$35988,$35989,$35990,$35991,$35992,$35993,$35994),(nextval($35995),$35996,$35997,$35998,$35999,$36000,$36001,$36002,$36003,$36004,$36005,$36006,$36007,$36008),(nextval($36009),$36010,$36011,$36012,$36013,$36014,$36015,$36016,$36017,$36018,$36019,$36020,$36021,$36022),(nextval($36023),$36024,$36025,$36026,$36027,$36028,$36029,$36030,$36031,$36032,$36033,$36034,$36035,$36036),(nextval($36037),$36038,$36039,$36040,$36041,$36042,$36043,$36044,$36045,$36046,$36047,$36048,$36049,$36050),(nextval($36051),$36052,$36053,$36054,$36055,$36056,$36057,$36058,$36059,$36060,$36061,$36062,$36063,$36064),(nextval($36065),$36066,$36067,$36068,$36069,$36070,$36071,$36072,$36073,$36074,$36075,$36076,$36077,$36078),(nextval($36079),$36080,$36081,$36082,$36083,$36084,$36085,$36086,$36087,$36088,$36089,$36090,$36091,$36092),(nextval($36093),$36094,$36095,$36096,$36097,$36098,$36099,$36100,$36101,$36102,$36103,$36104,$36105,$36106),(nextval($36107),$36108,$36109,$36110,$36111,$36112,$36113,$36114,$36115,$36116,$36117,$36118,$36119,$36120),(nextval($36121),$36122,$36123,$36124,$36125,$36126,$36127,$36128,$36129,$36130,$36131,$36132,$36133,$36134),(nextval($36135),$36136,$36137,$36138,$36139,$36140,$36141,$36142,$36143,$36144,$36145,$36146,$36147,$36148),(nextval($36149),$36150,$36151,$36152,$36153,$36154,$36155,$36156,$36157,$36158,$36159,$36160,$36161,$36162),(nextval($36163),$36164,$36165,$36166,$36167,$36168,$36169,$36170,$36171,$36172,$36173,$36174,$36175,$36176),(nextval($36177),$36178,$36179,$36180,$36181,$36182,$36183,$36184,$36185,$36186,$36187,$36188,$36189,$36190),(nextval($36191),$36192,$36193,$36194,$36195,$36196,$36197,$36198,$36199,$36200,$36201,$36202,$36203,$36204),(nextval($36205),$36206,$36207,$36208,$36209,$36210,$36211,$36212,$36213,$36214,$36215,$36216,$36217,$36218),(nextval($36219),$36220,$36221,$36222,$36223,$36224,$36225,$36226,$36227,$36228,$36229,$36230,$36231,$36232),(nextval($36233),$36234,$36235,$36236,$36237,$36238,$36239,$36240,$36241,$36242,$36243,$36244,$36245,$36246),(nextval($36247),$36248,$36249,$36250,$36251,$36252,$36253,$36254,$36255,$36256,$36257,$36258,$36259,$36260),(nextval($36261),$36262,$36263,$36264,$36265,$36266,$36267,$36268,$36269,$36270,$36271,$36272,$36273,$36274),(nextval($36275),$36276,$36277,$36278,$36279,$36280,$36281,$36282,$36283,$36284,$36285,$36286,$36287,$36288),(nextval($36289),$36290,$36291,$36292,$36293,$36294,$36295,$36296,$36297,$36298,$36299,$36300,$36301,$36302),(nextval($36303),$36304,$36305,$36306,$36307,$36308,$36309,$36310,$36311,$36312,$36313,$36314,$36315,$36316),(nextval($36317),$36318,$36319,$36320,$36321,$36322,$36323,$36324,$36325,$36326,$36327,$36328,$36329,$36330),(nextval($36331),$36332,$36333,$36334,$36335,$36336,$36337,$36338,$36339,$36340,$36341,$36342,$36343,$36344),(nextval($36345),$36346,$36347,$36348,$36349,$36350,$36351,$36352,$36353,$36354,$36355,$36356,$36357,$36358),(nextval($36359),$36360,$36361,$36362,$36363,$36364,$36365,$36366,$36367,$36368,$36369,$36370,$36371,$36372),(nextval($36373),$36374,$36375,$36376,$36377,$36378,$36379,$36380,$36381,$36382,$36383,$36384,$36385,$36386),(nextval($36387),$36388,$36389,$36390,$36391,$36392,$36393,$36394,$36395,$36396,$36397,$36398,$36399,$36400),(nextval($36401),$36402,$36403,$36404,$36405,$36406,$36407,$36408,$36409,$36410,$36411,$36412,$36413,$36414),(nextval($36415),$36416,$36417,$36418,$36419,$36420,$36421,$36422,$36423,$36424,$36425,$36426,$36427,$36428),(nextval($36429),$36430,$36431,$36432,$36433,$36434,$36435,$36436,$36437,$36438,$36439,$36440,$36441,$36442),(nextval($36443),$36444,$36445,$36446,$36447,$36448,$36449,$36450,$36451,$36452,$36453,$36454,$36455,$36456),(nextval($36457),$36458,$36459,$36460,$36461,$36462,$36463,$36464,$36465,$36466,$36467,$36468,$36469,$36470),(nextval($36471),$36472,$36473,$36474,$36475,$36476,$36477,$36478,$36479,$36480,$36481,$36482,$36483,$36484),(nextval($36485),$36486,$36487,$36488,$36489,$36490,$36491,$36492,$36493,$36494,$36495,$36496,$36497,$36498),(nextval($36499),$36500,$36501,$36502,$36503,$36504,$36505,$36506,$36507,$36508,$36509,$36510,$36511,$36512),(nextval($36513),$36514,$36515,$36516,$36517,$36518,$36519,$36520,$36521,$36522,$36523,$36524,$36525,$36526),(nextval($36527),$36528,$36529,$36530,$36531,$36532,$36533,$36534,$36535,$36536,$36537,$36538,$36539,$36540),(nextval($36541),$36542,$36543,$36544,$36545,$36546,$36547,$36548,$36549,$36550,$36551,$36552,$36553,$36554),(nextval($36555),$36556,$36557,$36558,$36559,$36560,$36561,$36562,$36563,$36564,$36565,$36566,$36567,$36568),(nextval($36569),$36570,$36571,$36572,$36573,$36574,$36575,$36576,$36577,$36578,$36579,$36580,$36581,$36582),(nextval($36583),$36584,$36585,$36586,$36587,$36588,$36589,$36590,$36591,$36592,$36593,$36594,$36595,$36596),(nextval($36597),$36598,$36599,$36600,$36601,$36602,$36603,$36604,$36605,$36606,$36607,$36608,$36609,$36610),(nextval($36611),$36612,$36613,$36614,$36615,$36616,$36617,$36618,$36619,$36620,$36621,$36622,$36623,$36624),(nextval($36625),$36626,$36627,$36628,$36629,$36630,$36631,$36632,$36633,$36634,$36635,$36636,$36637,$36638),(nextval($36639),$36640,$36641,$36642,$36643,$36644,$36645,$36646,$36647,$36648,$36649,$36650,$36651,$36652),(nextval($36653),$36654,$36655,$36656,$36657,$36658,$36659,$36660,$36661,$36662,$36663,$36664,$36665,$36666),(nextval($36667),$36668,$36669,$36670,$36671,$36672,$36673,$36674,$36675,$36676,$36677,$36678,$36679,$36680),(nextval($36681),$36682,$36683,$36684,$36685,$36686,$36687,$36688,$36689,$36690,$36691,$36692,$36693,$36694),(nextval($36695),$36696,$36697,$36698,$36699,$36700,$36701,$36702,$36703,$36704,$36705,$36706,$36707,$36708),(nextval($36709),$36710,$36711,$36712,$36713,$36714,$36715,$36716,$36717,$36718,$36719,$36720,$36721,$36722),(nextval($36723),$36724,$36725,$36726,$36727,$36728,$36729,$36730,$36731,$36732,$36733,$36734,$36735,$36736),(nextval($36737),$36738,$36739,$36740,$36741,$36742,$36743,$36744,$36745,$36746,$36747,$36748,$36749,$36750),(nextval($36751),$36752,$36753,$36754,$36755,$36756,$36757,$36758,$36759,$36760,$36761,$36762,$36763,$36764),(nextval($36765),$36766,$36767,$36768,$36769,$36770,$36771,$36772,$36773,$36774,$36775,$36776,$36777,$36778),(nextval($36779),$36780,$36781,$36782,$36783,$36784,$36785,$36786,$36787,$36788,$36789,$36790,$36791,$36792),(nextval($36793),$36794,$36795,$36796,$36797,$36798,$36799,$36800,$36801,$36802,$36803,$36804,$36805,$36806),(nextval($36807),$36808,$36809,$36810,$36811,$36812,$36813,$36814,$36815,$36816,$36817,$36818,$36819,$36820),(nextval($36821),$36822,$36823,$36824,$36825,$36826,$36827,$36828,$36829,$36830,$36831,$36832,$36833,$36834),(nextval($36835),$36836,$36837,$36838,$36839,$36840,$36841,$36842,$36843,$36844,$36845,$36846,$36847,$36848),(nextval($36849),$36850,$36851,$36852,$36853,$36854,$36855,$36856,$36857,$36858,$36859,$36860,$36861,$36862),(nextval($36863),$36864,$36865,$36866,$36867,$36868,$36869,$36870,$36871,$36872,$36873,$36874,$36875,$36876),(nextval($36877),$36878,$36879,$36880,$36881,$36882,$36883,$36884,$36885,$36886,$36887,$36888,$36889,$36890),(nextval($36891),$36892,$36893,$36894,$36895,$36896,$36897,$36898,$36899,$36900,$36901,$36902,$36903,$36904),(nextval($36905),$36906,$36907,$36908,$36909,$36910,$36911,$36912,$36913,$36914,$36915,$36916,$36917,$36918),(nextval($36919),$36920,$36921,$36922,$36923,$36924,$36925,$36926,$36927,$36928,$36929,$36930,$36931,$36932),(nextval($36933),$36934,$36935,$36936,$36937,$36938,$36939,$36940,$36941,$36942,$36943,$36944,$36945,$36946),(nextval($36947),$36948,$36949,$36950,$36951,$36952,$36953,$36954,$36955,$36956,$36957,$36958,$36959,$36960),(nextval($36961),$36962,$36963,$36964,$36965,$36966,$36967,$36968,$36969,$36970,$36971,$36972,$36973,$36974),(nextval($36975),$36976,$36977,$36978,$36979,$36980,$36981,$36982,$36983,$36984,$36985,$36986,$36987,$36988),(nextval($36989),$36990,$36991,$36992,$36993,$36994,$36995,$36996,$36997,$36998,$36999,$37000,$37001,$37002),(nextval($37003),$37004,$37005,$37006,$37007,$37008,$37009,$37010,$37011,$37012,$37013,$37014,$37015,$37016),(nextval($37017),$37018,$37019,$37020,$37021,$37022,$37023,$37024,$37025,$37026,$37027,$37028,$37029,$37030),(nextval($37031),$37032,$37033,$37034,$37035,$37036,$37037,$37038,$37039,$37040,$37041,$37042,$37043,$37044),(nextval($37045),$37046,$37047,$37048,$37049,$37050,$37051,$37052,$37053,$37054,$37055,$37056,$37057,$37058),(nextval($37059),$37060,$37061,$37062,$37063,$37064,$37065,$37066,$37067,$37068,$37069,$37070,$37071,$37072),(nextval($37073),$37074,$37075,$37076,$37077,$37078,$37079,$37080,$37081,$37082,$37083,$37084,$37085,$37086),(nextval($37087),$37088,$37089,$37090,$37091,$37092,$37093,$37094,$37095,$37096,$37097,$37098,$37099,$37100),(nextval($37101),$37102,$37103,$37104,$37105,$37106,$37107,$37108,$37109,$37110,$37111,$37112,$37113,$37114),(nextval($37115),$37116,$37117,$37118,$37119,$37120,$37121,$37122,$37123,$37124,$37125,$37126,$37127,$37128),(nextval($37129),$37130,$37131,$37132,$37133,$37134,$37135,$37136,$37137,$37138,$37139,$37140,$37141,$37142),(nextval($37143),$37144,$37145,$37146,$37147,$37148,$37149,$37150,$37151,$37152,$37153,$37154,$37155,$37156),(nextval($37157),$37158,$37159,$37160,$37161,$37162,$37163,$37164,$37165,$37166,$37167,$37168,$37169,$37170),(nextval($37171),$37172,$37173,$37174,$37175,$37176,$37177,$37178,$37179,$37180,$37181,$37182,$37183,$37184),(nextval($37185),$37186,$37187,$37188,$37189,$37190,$37191,$37192,$37193,$37194,$37195,$37196,$37197,$37198),(nextval($37199),$37200,$37201,$37202,$37203,$37204,$37205,$37206,$37207,$37208,$37209,$37210,$37211,$37212),(nextval($37213),$37214,$37215,$37216,$37217,$37218,$37219,$37220,$37221,$37222,$37223,$37224,$37225,$37226),(nextval($37227),$37228,$37229,$37230,$37231,$37232,$37233,$37234,$37235,$37236,$37237,$37238,$37239,$37240),(nextval($37241),$37242,$37243,$37244,$37245,$37246,$37247,$37248,$37249,$37250,$37251,$37252,$37253,$37254),(nextval($37255),$37256,$37257,$37258,$37259,$37260,$37261,$37262,$37263,$37264,$37265,$37266,$37267,$37268),(nextval($37269),$37270,$37271,$37272,$37273,$37274,$37275,$37276,$37277,$37278,$37279,$37280,$37281,$37282),(nextval($37283),$37284,$37285,$37286,$37287,$37288,$37289,$37290,$37291,$37292,$37293,$37294,$37295,$37296),(nextval($37297),$37298,$37299,$37300,$37301,$37302,$37303,$37304,$37305,$37306,$37307,$37308,$37309,$37310),(nextval($37311),$37312,$37313,$37314,$37315,$37316,$37317,$37318,$37319,$37320,$37321,$37322,$37323,$37324),(nextval($37325),$37326,$37327,$37328,$37329,$37330,$37331,$37332,$37333,$37334,$37335,$37336,$37337,$37338),(nextval($37339),$37340,$37341,$37342,$37343,$37344,$37345,$37346,$37347,$37348,$37349,$37350,$37351,$37352),(nextval($37353),$37354,$37355,$37356,$37357,$37358,$37359,$37360,$37361,$37362,$37363,$37364,$37365,$37366),(nextval($37367),$37368,$37369,$37370,$37371,$37372,$37373,$37374,$37375,$37376,$37377,$37378,$37379,$37380),(nextval($37381),$37382,$37383,$37384,$37385,$37386,$37387,$37388,$37389,$37390,$37391,$37392,$37393,$37394),(nextval($37395),$37396,$37397,$37398,$37399,$37400,$37401,$37402,$37403,$37404,$37405,$37406,$37407,$37408),(nextval($37409),$37410,$37411,$37412,$37413,$37414,$37415,$37416,$37417,$37418,$37419,$37420,$37421,$37422),(nextval($37423),$37424,$37425,$37426,$37427,$37428,$37429,$37430,$37431,$37432,$37433,$37434,$37435,$37436),(nextval($37437),$37438,$37439,$37440,$37441,$37442,$37443,$37444,$37445,$37446,$37447,$37448,$37449,$37450),(nextval($37451),$37452,$37453,$37454,$37455,$37456,$37457,$37458,$37459,$37460,$37461,$37462,$37463,$37464),(nextval($37465),$37466,$37467,$37468,$37469,$37470,$37471,$37472,$37473,$37474,$37475,$37476,$37477,$37478),(nextval($37479),$37480,$37481,$37482,$37483,$37484,$37485,$37486,$37487,$37488,$37489,$37490,$37491,$37492),(nextval($37493),$37494,$37495,$37496,$37497,$37498,$37499,$37500,$37501,$37502,$37503,$37504,$37505,$37506),(nextval($37507),$37508,$37509,$37510,$37511,$37512,$37513,$37514,$37515,$37516,$37517,$37518,$37519,$37520),(nextval($37521),$37522,$37523,$37524,$37525,$37526,$37527,$37528,$37529,$37530,$37531,$37532,$37533,$37534),(nextval($37535),$37536,$37537,$37538,$37539,$37540,$37541,$37542,$37543,$37544,$37545,$37546,$37547,$37548),(nextval($37549),$37550,$37551,$37552,$37553,$37554,$37555,$37556,$37557,$37558,$37559,$37560,$37561,$37562),(nextval($37563),$37564,$37565,$37566,$37567,$37568,$37569,$37570,$37571,$37572,$37573,$37574,$37575,$37576),(nextval($37577),$37578,$37579,$37580,$37581,$37582,$37583,$37584,$37585,$37586,$37587,$37588,$37589,$37590),(nextval($37591),$37592,$37593,$37594,$37595,$37596,$37597,$37598,$37599,$37600,$37601,$37602,$37603,$37604),(nextval($37605),$37606,$37607,$37608,$37609,$37610,$37611,$37612,$37613,$37614,$37615,$37616,$37617,$37618),(nextval($37619),$37620,$37621,$37622,$37623,$37624,$37625,$37626,$37627,$37628,$37629,$37630,$37631,$37632),(nextval($37633),$37634,$37635,$37636,$37637,$37638,$37639,$37640,$37641,$37642,$37643,$37644,$37645,$37646),(nextval($37647),$37648,$37649,$37650,$37651,$37652,$37653,$37654,$37655,$37656,$37657,$37658,$37659,$37660),(nextval($37661),$37662,$37663,$37664,$37665,$37666,$37667,$37668,$37669,$37670,$37671,$37672,$37673,$37674),(nextval($37675),$37676,$37677,$37678,$37679,$37680,$37681,$37682,$37683,$37684,$37685,$37686,$37687,$37688),(nextval($37689),$37690,$37691,$37692,$37693,$37694,$37695,$37696,$37697,$37698,$37699,$37700,$37701,$37702),(nextval($37703),$37704,$37705,$37706,$37707,$37708,$37709,$37710,$37711,$37712,$37713,$37714,$37715,$37716),(nextval($37717),$37718,$37719,$37720,$37721,$37722,$37723,$37724,$37725,$37726,$37727,$37728,$37729,$37730),(nextval($37731),$37732,$37733,$37734,$37735,$37736,$37737,$37738,$37739,$37740,$37741,$37742,$37743,$37744),(nextval($37745),$37746,$37747,$37748,$37749,$37750,$37751,$37752,$37753,$37754,$37755,$37756,$37757,$37758),(nextval($37759),$37760,$37761,$37762,$37763,$37764,$37765,$37766,$37767,$37768,$37769,$37770,$37771,$37772),(nextval($37773),$37774,$37775,$37776,$37777,$37778,$37779,$37780,$37781,$37782,$37783,$37784,$37785,$37786),(nextval($37787),$37788,$37789,$37790,$37791,$37792,$37793,$37794,$37795,$37796,$37797,$37798,$37799,$37800),(nextval($37801),$37802,$37803,$37804,$37805,$37806,$37807,$37808,$37809,$37810,$37811,$37812,$37813,$37814),(nextval($37815),$37816,$37817,$37818,$37819,$37820,$37821,$37822,$37823,$37824,$37825,$37826,$37827,$37828),(nextval($37829),$37830,$37831,$37832,$37833,$37834,$37835,$37836,$37837,$37838,$37839,$37840,$37841,$37842),(nextval($37843),$37844,$37845,$37846,$37847,$37848,$37849,$37850,$37851,$37852,$37853,$37854,$37855,$37856),(nextval($37857),$37858,$37859,$37860,$37861,$37862,$37863,$37864,$37865,$37866,$37867,$37868,$37869,$37870),(nextval($37871),$37872,$37873,$37874,$37875,$37876,$37877,$37878,$37879,$37880,$37881,$37882,$37883,$37884),(nextval($37885),$37886,$37887,$37888,$37889,$37890,$37891,$37892,$37893,$37894,$37895,$37896,$37897,$37898),(nextval($37899),$37900,$37901,$37902,$37903,$37904,$37905,$37906,$37907,$37908,$37909,$37910,$37911,$37912),(nextval($37913),$37914,$37915,$37916,$37917,$37918,$37919,$37920,$37921,$37922,$37923,$37924,$37925,$37926),(nextval($37927),$37928,$37929,$37930,$37931,$37932,$37933,$37934,$37935,$37936,$37937,$37938,$37939,$37940),(nextval($37941),$37942,$37943,$37944,$37945,$37946,$37947,$37948,$37949,$37950,$37951,$37952,$37953,$37954),(nextval($37955),$37956,$37957,$37958,$37959,$37960,$37961,$37962,$37963,$37964,$37965,$37966,$37967,$37968),(nextval($37969),$37970,$37971,$37972,$37973,$37974,$37975,$37976,$37977,$37978,$37979,$37980,$37981,$37982),(nextval($37983),$37984,$37985,$37986,$37987,$37988,$37989,$37990,$37991,$37992,$37993,$37994,$37995,$37996),(nextval($37997),$37998,$37999,$38000,$38001,$38002,$38003,$38004,$38005,$38006,$38007,$38008,$38009,$38010),(nextval($38011),$38012,$38013,$38014,$38015,$38016,$38017,$38018,$38019,$38020,$38021,$38022,$38023,$38024),(nextval($38025),$38026,$38027,$38028,$38029,$38030,$38031,$38032,$38033,$38034,$38035,$38036,$38037,$38038),(nextval($38039),$38040,$38041,$38042,$38043,$38044,$38045,$38046,$38047,$38048,$38049,$38050,$38051,$38052),(nextval($38053),$38054,$38055,$38056,$38057,$38058,$38059,$38060,$38061,$38062,$38063,$38064,$38065,$38066),(nextval($38067),$38068,$38069,$38070,$38071,$38072,$38073,$38074,$38075,$38076,$38077,$38078,$38079,$38080),(nextval($38081),$38082,$38083,$38084,$38085,$38086,$38087,$38088,$38089,$38090,$38091,$38092,$38093,$38094),(nextval($38095),$38096,$38097,$38098,$38099,$38100,$38101,$38102,$38103,$38104,$38105,$38106,$38107,$38108),(nextval($38109),$38110,$38111,$38112,$38113,$38114,$38115,$38116,$38117,$38118,$38119,$38120,$38121,$38122),(nextval($38123),$38124,$38125,$38126,$38127,$38128,$38129,$38130,$38131,$38132,$38133,$38134,$38135,$38136),(nextval($38137),$38138,$38139,$38140,$38141,$38142,$38143,$38144,$38145,$38146,$38147,$38148,$38149,$38150),(nextval($38151),$38152,$38153,$38154,$38155,$38156,$38157,$38158,$38159,$38160,$38161,$38162,$38163,$38164),(nextval($38165),$38166,$38167,$38168,$38169,$38170,$38171,$38172,$38173,$38174,$38175,$38176,$38177,$38178),(nextval($38179),$38180,$38181,$38182,$38183,$38184,$38185,$38186,$38187,$38188,$38189,$38190,$38191,$38192),(nextval($38193),$38194,$38195,$38196,$38197,$38198,$38199,$38200,$38201,$38202,$38203,$38204,$38205,$38206),(nextval($38207),$38208,$38209,$38210,$38211,$38212,$38213,$38214,$38215,$38216,$38217,$38218,$38219,$38220),(nextval($38221),$38222,$38223,$38224,$38225,$38226,$38227,$38228,$38229,$38230,$38231,$38232,$38233,$38234),(nextval($38235),$38236,$38237,$38238,$38239,$38240,$38241,$38242,$38243,$38244,$38245,$38246,$38247,$38248),(nextval($38249),$38250,$38251,$38252,$38253,$38254,$38255,$38256,$38257,$38258,$38259,$38260,$38261,$38262),(nextval($38263),$38264,$38265,$38266,$38267,$38268,$38269,$38270,$38271,$38272,$38273,$38274,$38275,$38276),(nextval($38277),$38278,$38279,$38280,$38281,$38282,$38283,$38284,$38285,$38286,$38287,$38288,$38289,$38290),(nextval($38291),$38292,$38293,$38294,$38295,$38296,$38297,$38298,$38299,$38300,$38301,$38302,$38303,$38304),(nextval($38305),$38306,$38307,$38308,$38309,$38310,$38311,$38312,$38313,$38314,$38315,$38316,$38317,$38318),(nextval($38319),$38320,$38321,$38322,$38323,$38324,$38325,$38326,$38327,$38328,$38329,$38330,$38331,$38332),(nextval($38333),$38334,$38335,$38336,$38337,$38338,$38339,$38340,$38341,$38342,$38343,$38344,$38345,$38346),(nextval($38347),$38348,$38349,$38350,$38351,$38352,$38353,$38354,$38355,$38356,$38357,$38358,$38359,$38360),(nextval($38361),$38362,$38363,$38364,$38365,$38366,$38367,$38368,$38369,$38370,$38371,$38372,$38373,$38374),(nextval($38375),$38376,$38377,$38378,$38379,$38380,$38381,$38382,$38383,$38384,$38385,$38386,$38387,$38388),(nextval($38389),$38390,$38391,$38392,$38393,$38394,$38395,$38396,$38397,$38398,$38399,$38400,$38401,$38402),(nextval($38403),$38404,$38405,$38406,$38407,$38408,$38409,$38410,$38411,$38412,$38413,$38414,$38415,$38416),(nextval($38417),$38418,$38419,$38420,$38421,$38422,$38423,$38424,$38425,$38426,$38427,$38428,$38429,$38430),(nextval($38431),$38432,$38433,$38434,$38435,$38436,$38437,$38438,$38439,$38440,$38441,$38442,$38443,$38444),(nextval($38445),$38446,$38447,$38448,$38449,$38450,$38451,$38452,$38453,$38454,$38455,$38456,$38457,$38458),(nextval($38459),$38460,$38461,$38462,$38463,$38464,$38465,$38466,$38467,$38468,$38469,$38470,$38471,$38472),(nextval($38473),$38474,$38475,$38476,$38477,$38478,$38479,$38480,$38481,$38482,$38483,$38484,$38485,$38486),(nextval($38487),$38488,$38489,$38490,$38491,$38492,$38493,$38494,$38495,$38496,$38497,$38498,$38499,$38500),(nextval($38501),$38502,$38503,$38504,$38505,$38506,$38507,$38508,$38509,$38510,$38511,$38512,$38513,$38514),(nextval($38515),$38516,$38517,$38518,$38519,$38520,$38521,$38522,$38523,$38524,$38525,$38526,$38527,$38528),(nextval($38529),$38530,$38531,$38532,$38533,$38534,$38535,$38536,$38537,$38538,$38539,$38540,$38541,$38542),(nextval($38543),$38544,$38545,$38546,$38547,$38548,$38549,$38550,$38551,$38552,$38553,$38554,$38555,$38556),(nextval($38557),$38558,$38559,$38560,$38561,$38562,$38563,$38564,$38565,$38566,$38567,$38568,$38569,$38570),(nextval($38571),$38572,$38573,$38574,$38575,$38576,$38577,$38578,$38579,$38580,$38581,$38582,$38583,$38584),(nextval($38585),$38586,$38587,$38588,$38589,$38590,$38591,$38592,$38593,$38594,$38595,$38596,$38597,$38598),(nextval($38599),$38600,$38601,$38602,$38603,$38604,$38605,$38606,$38607,$38608,$38609,$38610,$38611,$38612),(nextval($38613),$38614,$38615,$38616,$38617,$38618,$38619,$38620,$38621,$38622,$38623,$38624,$38625,$38626),(nextval($38627),$38628,$38629,$38630,$38631,$38632,$38633,$38634,$38635,$38636,$38637,$38638,$38639,$38640),(nextval($38641),$38642,$38643,$38644,$38645,$38646,$38647,$38648,$38649,$38650,$38651,$38652,$38653,$38654),(nextval($38655),$38656,$38657,$38658,$38659,$38660,$38661,$38662,$38663,$38664,$38665,$38666,$38667,$38668),(nextval($38669),$38670,$38671,$38672,$38673,$38674,$38675,$38676,$38677,$38678,$38679,$38680,$38681,$38682),(nextval($38683),$38684,$38685,$38686,$38687,$38688,$38689,$38690,$38691,$38692,$38693,$38694,$38695,$38696),(nextval($38697),$38698,$38699,$38700,$38701,$38702,$38703,$38704,$38705,$38706,$38707,$38708,$38709,$38710),(nextval($38711),$38712,$38713,$38714,$38715,$38716,$38717,$38718,$38719,$38720,$38721,$38722,$38723,$38724),(nextval($38725),$38726,$38727,$38728,$38729,$38730,$38731,$38732,$38733,$38734,$38735,$38736,$38737,$38738),(nextval($38739),$38740,$38741,$38742,$38743,$38744,$38745,$38746,$38747,$38748,$38749,$38750,$38751,$38752),(nextval($38753),$38754,$38755,$38756,$38757,$38758,$38759,$38760,$38761,$38762,$38763,$38764,$38765,$38766),(nextval($38767),$38768,$38769,$38770,$38771,$38772,$38773,$38774,$38775,$38776,$38777,$38778,$38779,$38780),(nextval($38781),$38782,$38783,$38784,$38785,$38786,$38787,$38788,$38789,$38790,$38791,$38792,$38793,$38794),(nextval($38795),$38796,$38797,$38798,$38799,$38800,$38801,$38802,$38803,$38804,$38805,$38806,$38807,$38808),(nextval($38809),$38810,$38811,$38812,$38813,$38814,$38815,$38816,$38817,$38818,$38819,$38820,$38821,$38822),(nextval($38823),$38824,$38825,$38826,$38827,$38828,$38829,$38830,$38831,$38832,$38833,$38834,$38835,$38836),(nextval($38837),$38838,$38839,$38840,$38841,$38842,$38843,$38844,$38845,$38846,$38847,$38848,$38849,$38850),(nextval($38851),$38852,$38853,$38854,$38855,$38856,$38857,$38858,$38859,$38860,$38861,$38862,$38863,$38864),(nextval($38865),$38866,$38867,$38868,$38869,$38870,$38871,$38872,$38873,$38874,$38875,$38876,$38877,$38878),(nextval($38879),$38880,$38881,$38882,$38883,$38884,$38885,$38886,$38887,$38888,$38889,$38890,$38891,$38892),(nextval($38893),$38894,$38895,$38896,$38897,$38898,$38899,$38900,$38901,$38902,$38903,$38904,$38905,$38906),(nextval($38907),$38908,$38909,$38910,$38911,$38912,$38913,$38914,$38915,$38916,$38917,$38918,$38919,$38920),(nextval($38921),$38922,$38923,$38924,$38925,$38926,$38927,$38928,$38929,$38930,$38931,$38932,$38933,$38934),(nextval($38935),$38936,$38937,$38938,$38939,$38940,$38941,$38942,$38943,$38944,$38945,$38946,$38947,$38948),(nextval($38949),$38950,$38951,$38952,$38953,$38954,$38955,$38956,$38957,$38958,$38959,$38960,$38961,$38962),(nextval($38963),$38964,$38965,$38966,$38967,$38968,$38969,$38970,$38971,$38972,$38973,$38974,$38975,$38976),(nextval($38977),$38978,$38979,$38980,$38981,$38982,$38983,$38984,$38985,$38986,$38987,$38988,$38989,$38990),(nextval($38991),$38992,$38993,$38994,$38995,$38996,$38997,$38998,$38999,$39000,$39001,$39002,$39003,$39004),(nextval($39005),$39006,$39007,$39008,$39009,$39010,$39011,$39012,$39013,$39014,$39015,$39016,$39017,$39018),(nextval($39019),$39020,$39021,$39022,$39023,$39024,$39025,$39026,$39027,$39028,$39029,$39030,$39031,$39032),(nextval($39033),$39034,$39035,$39036,$39037,$39038,$39039,$39040,$39041,$39042,$39043,$39044,$39045,$39046),(nextval($39047),$39048,$39049,$39050,$39051,$39052,$39053,$39054,$39055,$39056,$39057,$39058,$39059,$39060),(nextval($39061),$39062,$39063,$39064,$39065,$39066,$39067,$39068,$39069,$39070,$39071,$39072,$39073,$39074),(nextval($39075),$39076,$39077,$39078,$39079,$39080,$39081,$39082,$39083,$39084,$39085,$39086,$39087,$39088),(nextval($39089),$39090,$39091,$39092,$39093,$39094,$39095,$39096,$39097,$39098,$39099,$39100,$39101,$39102),(nextval($39103),$39104,$39105,$39106,$39107,$39108,$39109,$39110,$39111,$39112,$39113,$39114,$39115,$39116),(nextval($39117),$39118,$39119,$39120,$39121,$39122,$39123,$39124,$39125,$39126,$39127,$39128,$39129,$39130),(nextval($39131),$39132,$39133,$39134,$39135,$39136,$39137,$39138,$39139,$39140,$39141,$39142,$39143,$39144),(nextval($39145),$39146,$39147,$39148,$39149,$39150,$39151,$39152,$39153,$39154,$39155,$39156,$39157,$39158),(nextval($39159),$39160,$39161,$39162,$39163,$39164,$39165,$39166,$39167,$39168,$39169,$39170,$39171,$39172),(nextval($39173),$39174,$39175,$39176,$39177,$39178,$39179,$39180,$39181,$39182,$39183,$39184,$39185,$39186),(nextval($39187),$39188,$39189,$39190,$39191,$39192,$39193,$39194,$39195,$39196,$39197,$39198,$39199,$39200),(nextval($39201),$39202,$39203,$39204,$39205,$39206,$39207,$39208,$39209,$39210,$39211,$39212,$39213,$39214),(nextval($39215),$39216,$39217,$39218,$39219,$39220,$39221,$39222,$39223,$39224,$39225,$39226,$39227,$39228),(nextval($39229),$39230,$39231,$39232,$39233,$39234,$39235,$39236,$39237,$39238,$39239,$39240,$39241,$39242),(nextval($39243),$39244,$39245,$39246,$39247,$39248,$39249,$39250,$39251,$39252,$39253,$39254,$39255,$39256),(nextval($39257),$39258,$39259,$39260,$39261,$39262,$39263,$39264,$39265,$39266,$39267,$39268,$39269,$39270),(nextval($39271),$39272,$39273,$39274,$39275,$39276,$39277,$39278,$39279,$39280,$39281,$39282,$39283,$39284),(nextval($39285),$39286,$39287,$39288,$39289,$39290,$39291,$39292,$39293,$39294,$39295,$39296,$39297,$39298),(nextval($39299),$39300,$39301,$39302,$39303,$39304,$39305,$39306,$39307,$39308,$39309,$39310,$39311,$39312),(nextval($39313),$39314,$39315,$39316,$39317,$39318,$39319,$39320,$39321,$39322,$39323,$39324,$39325,$39326),(nextval($39327),$39328,$39329,$39330,$39331,$39332,$39333,$39334,$39335,$39336,$39337,$39338,$39339,$39340),(nextval($39341),$39342,$39343,$39344,$39345,$39346,$39347,$39348,$39349,$39350,$39351,$39352,$39353,$39354),(nextval($39355),$39356,$39357,$39358,$39359,$39360,$39361,$39362,$39363,$39364,$39365,$39366,$39367,$39368),(nextval($39369),$39370,$39371,$39372,$39373,$39374,$39375,$39376,$39377,$39378,$39379,$39380,$39381,$39382),(nextval($39383),$39384,$39385,$39386,$39387,$39388,$39389,$39390,$39391,$39392,$39393,$39394,$39395,$39396),(nextval($39397),$39398,$39399,$39400,$39401,$39402,$39403,$39404,$39405,$39406,$39407,$39408,$39409,$39410),(nextval($39411),$39412,$39413,$39414,$39415,$39416,$39417,$39418,$39419,$39420,$39421,$39422,$39423,$39424),(nextval($39425),$39426,$39427,$39428,$39429,$39430,$39431,$39432,$39433,$39434,$39435,$39436,$39437,$39438),(nextval($39439),$39440,$39441,$39442,$39443,$39444,$39445,$39446,$39447,$39448,$39449,$39450,$39451,$39452),(nextval($39453),$39454,$39455,$39456,$39457,$39458,$39459,$39460,$39461,$39462,$39463,$39464,$39465,$39466),(nextval($39467),$39468,$39469,$39470,$39471,$39472,$39473,$39474,$39475,$39476,$39477,$39478,$39479,$39480),(nextval($39481),$39482,$39483,$39484,$39485,$39486,$39487,$39488,$39489,$39490,$39491,$39492,$39493,$39494),(nextval($39495),$39496,$39497,$39498,$39499,$39500,$39501,$39502,$39503,$39504,$39505,$39506,$39507,$39508),(nextval($39509),$39510,$39511,$39512,$39513,$39514,$39515,$39516,$39517,$39518,$39519,$39520,$39521,$39522),(nextval($39523),$39524,$39525,$39526,$39527,$39528,$39529,$39530,$39531,$39532,$39533,$39534,$39535,$39536),(nextval($39537),$39538,$39539,$39540,$39541,$39542,$39543,$39544,$39545,$39546,$39547,$39548,$39549,$39550),(nextval($39551),$39552,$39553,$39554,$39555,$39556,$39557,$39558,$39559,$39560,$39561,$39562,$39563,$39564),(nextval($39565),$39566,$39567,$39568,$39569,$39570,$39571,$39572,$39573,$39574,$39575,$39576,$39577,$39578),(nextval($39579),$39580,$39581,$39582,$39583,$39584,$39585,$39586,$39587,$39588,$39589,$39590,$39591,$39592),(nextval($39593),$39594,$39595,$39596,$39597,$39598,$39599,$39600,$39601,$39602,$39603,$39604,$39605,$39606),(nextval($39607),$39608,$39609,$39610,$39611,$39612,$39613,$39614,$39615,$39616,$39617,$39618,$39619,$39620),(nextval($39621),$39622,$39623,$39624,$39625,$39626,$39627,$39628,$39629,$39630,$39631,$39632,$39633,$39634),(nextval($39635),$39636,$39637,$39638,$39639,$39640,$39641,$39642,$39643,$39644,$39645,$39646,$39647,$39648),(nextval($39649),$39650,$39651,$39652,$39653,$39654,$39655,$39656,$39657,$39658,$39659,$39660,$39661,$39662),(nextval($39663),$39664,$39665,$39666,$39667,$39668,$39669,$39670,$39671,$39672,$39673,$39674,$39675,$39676),(nextval($39677),$39678,$39679,$39680,$39681,$39682,$39683,$39684,$39685,$39686,$39687,$39688,$39689,$39690),(nextval($39691),$39692,$39693,$39694,$39695,$39696,$39697,$39698,$39699,$39700,$39701,$39702,$39703,$39704),(nextval($39705),$39706,$39707,$39708,$39709,$39710,$39711,$39712,$39713,$39714,$39715,$39716,$39717,$39718),(nextval($39719),$39720,$39721,$39722,$39723,$39724,$39725,$39726,$39727,$39728,$39729,$39730,$39731,$39732),(nextval($39733),$39734,$39735,$39736,$39737,$39738,$39739,$39740,$39741,$39742,$39743,$39744,$39745,$39746),(nextval($39747),$39748,$39749,$39750,$39751,$39752,$39753,$39754,$39755,$39756,$39757,$39758,$39759,$39760),(nextval($39761),$39762,$39763,$39764,$39765,$39766,$39767,$39768,$39769,$39770,$39771,$39772,$39773,$39774),(nextval($39775),$39776,$39777,$39778,$39779,$39780,$39781,$39782,$39783,$39784,$39785,$39786,$39787,$39788),(nextval($39789),$39790,$39791,$39792,$39793,$39794,$39795,$39796,$39797,$39798,$39799,$39800,$39801,$39802),(nextval($39803),$39804,$39805,$39806,$39807,$39808,$39809,$39810,$39811,$39812,$39813,$39814,$39815,$39816),(nextval($39817),$39818,$39819,$39820,$39821,$39822,$39823,$39824,$39825,$39826,$39827,$39828,$39829,$39830),(nextval($39831),$39832,$39833,$39834,$39835,$39836,$39837,$39838,$39839,$39840,$39841,$39842,$39843,$39844),(nextval($39845),$39846,$39847,$39848,$39849,$39850,$39851,$39852,$39853,$39854,$39855,$39856,$39857,$39858),(nextval($39859),$39860,$39861,$39862,$39863,$39864,$39865,$39866,$39867,$39868,$39869,$39870,$39871,$39872),(nextval($39873),$39874,$39875,$39876,$39877,$39878,$39879,$39880,$39881,$39882,$39883,$39884,$39885,$39886),(nextval($39887),$39888,$39889,$39890,$39891,$39892,$39893,$39894,$39895,$39896,$39897,$39898,$39899,$39900),(nextval($39901),$39902,$39903,$39904,$39905,$39906,$39907,$39908,$39909,$39910,$39911,$39912,$39913,$39914),(nextval($39915),$39916,$39917,$39918,$39919,$39920,$39921,$39922,$39923,$39924,$39925,$39926,$39927,$39928),(nextval($39929),$39930,$39931,$39932,$39933,$39934,$39935,$39936,$39937,$39938,$39939,$39940,$39941,$39942),(nextval($39943),$39944,$39945,$39946,$39947,$39948,$39949,$39950,$39951,$39952,$39953,$39954,$39955,$39956),(nextval($39957),$39958,$39959,$39960,$39961,$39962,$39963,$39964,$39965,$39966,$39967,$39968,$39969,$39970),(nextval($39971),$39972,$39973,$39974,$39975,$39976,$39977,$39978,$39979,$39980,$39981,$39982,$39983,$39984),(nextval($39985),$39986,$39987,$39988,$39989,$39990,$39991,$39992,$39993,$39994,$39995,$39996,$39997,$39998),(nextval($39999),$40000,$40001,$40002,$40003,$40004,$40005,$40006,$40007,$40008,$40009,$40010,$40011,$40012),(nextval($40013),$40014,$40015,$40016,$40017,$40018,$40019,$40020,$40021,$40022,$40023,$40024,$40025,$40026),(nextval($40027),$40028,$40029,$40030,$40031,$40032,$40033,$40034,$40035,$40036,$40037,$40038,$40039,$40040),(nextval($40041),$40042,$40043,$40044,$40045,$40046,$40047,$40048,$40049,$40050,$40051,$40052,$40053,$40054),(nextval($40055),$40056,$40057,$40058,$40059,$40060,$40061,$40062,$40063,$40064,$40065,$40066,$40067,$40068),(nextval($40069),$40070,$40071,$40072,$40073,$40074,$40075,$40076,$40077,$40078,$40079,$40080,$40081,$40082),(nextval($40083),$40084,$40085,$40086,$40087,$40088,$40089,$40090,$40091,$40092,$40093,$40094,$40095,$40096),(nextval($40097),$40098,$40099,$40100,$40101,$40102,$40103,$40104,$40105,$40106,$40107,$40108,$40109,$40110),(nextval($40111),$40112,$40113,$40114,$40115,$40116,$40117,$40118,$40119,$40120,$40121,$40122,$40123,$40124),(nextval($40125),$40126,$40127,$40128,$40129,$40130,$40131,$40132,$40133,$40134,$40135,$40136,$40137,$40138),(nextval($40139),$40140,$40141,$40142,$40143,$40144,$40145,$40146,$40147,$40148,$40149,$40150,$40151,$40152),(nextval($40153),$40154,$40155,$40156,$40157,$40158,$40159,$40160,$40161,$40162,$40163,$40164,$40165,$40166),(nextval($40167),$40168,$40169,$40170,$40171,$40172,$40173,$40174,$40175,$40176,$40177,$40178,$40179,$40180),(nextval($40181),$40182,$40183,$40184,$40185,$40186,$40187,$40188,$40189,$40190,$40191,$40192,$40193,$40194),(nextval($40195),$40196,$40197,$40198,$40199,$40200,$40201,$40202,$40203,$40204,$40205,$40206,$40207,$40208),(nextval($40209),$40210,$40211,$40212,$40213,$40214,$40215,$40216,$40217,$40218,$40219,$40220,$40221,$40222),(nextval($40223),$40224,$40225,$40226,$40227,$40228,$40229,$40230,$40231,$40232,$40233,$40234,$40235,$40236),(nextval($40237),$40238,$40239,$40240,$40241,$40242,$40243,$40244,$40245,$40246,$40247,$40248,$40249,$40250),(nextval($40251),$40252,$40253,$40254,$40255,$40256,$40257,$40258,$40259,$40260,$40261,$40262,$40263,$40264),(nextval($40265),$40266,$40267,$40268,$40269,$40270,$40271,$40272,$40273,$40274,$40275,$40276,$40277,$40278),(nextval($40279),$40280,$40281,$40282,$40283,$40284,$40285,$40286,$40287,$40288,$40289,$40290,$40291,$40292),(nextval($40293),$40294,$40295,$40296,$40297,$40298,$40299,$40300,$40301,$40302,$40303,$40304,$40305,$40306),(nextval($40307),$40308,$40309,$40310,$40311,$40312,$40313,$40314,$40315,$40316,$40317,$40318,$40319,$40320),(nextval($40321),$40322,$40323,$40324,$40325,$40326,$40327,$40328,$40329,$40330,$40331,$40332,$40333,$40334),(nextval($40335),$40336,$40337,$40338,$40339,$40340,$40341,$40342,$40343,$40344,$40345,$40346,$40347,$40348),(nextval($40349),$40350,$40351,$40352,$40353,$40354,$40355,$40356,$40357,$40358,$40359,$40360,$40361,$40362),(nextval($40363),$40364,$40365,$40366,$40367,$40368,$40369,$40370,$40371,$40372,$40373,$40374,$40375,$40376),(nextval($40377),$40378,$40379,$40380,$40381,$40382,$40383,$40384,$40385,$40386,$40387,$40388,$40389,$40390),(nextval($40391),$40392,$40393,$40394,$40395,$40396,$40397,$40398,$40399,$40400,$40401,$40402,$40403,$40404),(nextval($40405),$40406,$40407,$40408,$40409,$40410,$40411,$40412,$40413,$40414,$40415,$40416,$40417,$40418),(nextval($40419),$40420,$40421,$40422,$40423,$40424,$40425,$40426,$40427,$40428,$40429,$40430,$40431,$40432),(nextval($40433),$40434,$40435,$40436,$40437,$40438,$40439,$40440,$40441,$40442,$40443,$40444,$40445,$40446),(nextval($40447),$40448,$40449,$40450,$40451,$40452,$40453,$40454,$40455,$40456,$40457,$40458,$40459,$40460),(nextval($40461),$40462,$40463,$40464,$40465,$40466,$40467,$40468,$40469,$40470,$40471,$40472,$40473,$40474),(nextval($40475),$40476,$40477,$40478,$40479,$40480,$40481,$40482,$40483,$40484,$40485,$40486,$40487,$40488),(nextval($40489),$40490,$40491,$40492,$40493,$40494,$40495,$40496,$40497,$40498,$40499,$40500,$40501,$40502),(nextval($40503),$40504,$40505,$40506,$40507,$40508,$40509,$40510,$40511,$40512,$40513,$40514,$40515,$40516),(nextval($40517),$40518,$40519,$40520,$40521,$40522,$40523,$40524,$40525,$40526,$40527,$40528,$40529,$40530),(nextval($40531),$40532,$40533,$40534,$40535,$40536,$40537,$40538,$40539,$40540,$40541,$40542,$40543,$40544),(nextval($40545),$40546,$40547,$40548,$40549,$40550,$40551,$40552,$40553,$40554,$40555,$40556,$40557,$40558),(nextval($40559),$40560,$40561,$40562,$40563,$40564,$40565,$40566,$40567,$40568,$40569,$40570,$40571,$40572),(nextval($40573),$40574,$40575,$40576,$40577,$40578,$40579,$40580,$40581,$40582,$40583,$40584,$40585,$40586),(nextval($40587),$40588,$40589,$40590,$40591,$40592,$40593,$40594,$40595,$40596,$40597,$40598,$40599,$40600),(nextval($40601),$40602,$40603,$40604,$40605,$40606,$40607,$40608,$40609,$40610,$40611,$40612,$40613,$40614),(nextval($40615),$40616,$40617,$40618,$40619,$40620,$40621,$40622,$40623,$40624,$40625,$40626,$40627,$40628),(nextval($40629),$40630,$40631,$40632,$40633,$40634,$40635,$40636,$40637,$40638,$40639,$40640,$40641,$40642),(nextval($40643),$40644,$40645,$40646,$40647,$40648,$40649,$40650,$40651,$40652,$40653,$40654,$40655,$40656),(nextval($40657),$40658,$40659,$40660,$40661,$40662,$40663,$40664,$40665,$40666,$40667,$40668,$40669,$40670),(nextval($40671),$40672,$40673,$40674,$40675,$40676,$40677,$40678,$40679,$40680,$40681,$40682,$40683,$40684),(nextval($40685),$40686,$40687,$40688,$40689,$40690,$40691,$40692,$40693,$40694,$40695,$40696,$40697,$40698),(nextval($40699),$40700,$40701,$40702,$40703,$40704,$40705,$40706,$40707,$40708,$40709,$40710,$40711,$40712),(nextval($40713),$40714,$40715,$40716,$40717,$40718,$40719,$40720,$40721,$40722,$40723,$40724,$40725,$40726),(nextval($40727),$40728,$40729,$40730,$40731,$40732,$40733,$40734,$40735,$40736,$40737,$40738,$40739,$40740),(nextval($40741),$40742,$40743,$40744,$40745,$40746,$40747,$40748,$40749,$40750,$40751,$40752,$40753,$40754),(nextval($40755),$40756,$40757,$40758,$40759,$40760,$40761,$40762,$40763,$40764,$40765,$40766,$40767,$40768),(nextval($40769),$40770,$40771,$40772,$40773,$40774,$40775,$40776,$40777,$40778,$40779,$40780,$40781,$40782),(nextval($40783),$40784,$40785,$40786,$40787,$40788,$40789,$40790,$40791,$40792,$40793,$40794,$40795,$40796),(nextval($40797),$40798,$40799,$40800,$40801,$40802,$40803,$40804,$40805,$40806,$40807,$40808,$40809,$40810),(nextval($40811),$40812,$40813,$40814,$40815,$40816,$40817,$40818,$40819,$40820,$40821,$40822,$40823,$40824),(nextval($40825),$40826,$40827,$40828,$40829,$40830,$40831,$40832,$40833,$40834,$40835,$40836,$40837,$40838),(nextval($40839),$40840,$40841,$40842,$40843,$40844,$40845,$40846,$40847,$40848,$40849,$40850,$40851,$40852),(nextval($40853),$40854,$40855,$40856,$40857,$40858,$40859,$40860,$40861,$40862,$40863,$40864,$40865,$40866),(nextval($40867),$40868,$40869,$40870,$40871,$40872,$40873,$40874,$40875,$40876,$40877,$40878,$40879,$40880),(nextval($40881),$40882,$40883,$40884,$40885,$40886,$40887,$40888,$40889,$40890,$40891,$40892,$40893,$40894),(nextval($40895),$40896,$40897,$40898,$40899,$40900,$40901,$40902,$40903,$40904,$40905,$40906,$40907,$40908),(nextval($40909),$40910,$40911,$40912,$40913,$40914,$40915,$40916,$40917,$40918,$40919,$40920,$40921,$40922),(nextval($40923),$40924,$40925,$40926,$40927,$40928,$40929,$40930,$40931,$40932,$40933,$40934,$40935,$40936),(nextval($40937),$40938,$40939,$40940,$40941,$40942,$40943,$40944,$40945,$40946,$40947,$40948,$40949,$40950),(nextval($40951),$40952,$40953,$40954,$40955,$40956,$40957,$40958,$40959,$40960,$40961,$40962,$40963,$40964),(nextval($40965),$40966,$40967,$40968,$40969,$40970,$40971,$40972,$40973,$40974,$40975,$40976,$40977,$40978),(nextval($40979),$40980,$40981,$40982,$40983,$40984,$40985,$40986,$40987,$40988,$40989,$40990,$40991,$40992),(nextval($40993),$40994,$40995,$40996,$40997,$40998,$40999,$41000,$41001,$41002,$41003,$41004,$41005,$41006),(nextval($41007),$41008,$41009,$41010,$41011,$41012,$41013,$41014,$41015,$41016,$41017,$41018,$41019,$41020),(nextval($41021),$41022,$41023,$41024,$41025,$41026,$41027,$41028,$41029,$41030,$41031,$41032,$41033,$41034),(nextval($41035),$41036,$41037,$41038,$41039,$41040,$41041,$41042,$41043,$41044,$41045,$41046,$41047,$41048),(nextval($41049),$41050,$41051,$41052,$41053,$41054,$41055,$41056,$41057,$41058,$41059,$41060,$41061,$41062),(nextval($41063),$41064,$41065,$41066,$41067,$41068,$41069,$41070,$41071,$41072,$41073,$41074,$41075,$41076),(nextval($41077),$41078,$41079,$41080,$41081,$41082,$41083,$41084,$41085,$41086,$41087,$41088,$41089,$41090),(nextval($41091),$41092,$41093,$41094,$41095,$41096,$41097,$41098,$41099,$41100,$41101,$41102,$41103,$41104),(nextval($41105),$41106,$41107,$41108,$41109,$41110,$41111,$41112,$41113,$41114,$41115,$41116,$41117,$41118),(nextval($41119),$41120,$41121,$41122,$41123,$41124,$41125,$41126,$41127,$41128,$41129,$41130,$41131,$41132),(nextval($41133),$41134,$41135,$41136,$41137,$41138,$41139,$41140,$41141,$41142,$41143,$41144,$41145,$41146),(nextval($41147),$41148,$41149,$41150,$41151,$41152,$41153,$41154,$41155,$41156,$41157,$41158,$41159,$41160),(nextval($41161),$41162,$41163,$41164,$41165,$41166,$41167,$41168,$41169,$41170,$41171,$41172,$41173,$41174),(nextval($41175),$41176,$41177,$41178,$41179,$41180,$41181,$41182,$41183,$41184,$41185,$41186,$41187,$41188),(nextval($41189),$41190,$41191,$41192,$41193,$41194,$41195,$41196,$41197,$41198,$41199,$41200,$41201,$41202),(nextval($41203),$41204,$41205,$41206,$41207,$41208,$41209,$41210,$41211,$41212,$41213,$41214,$41215,$41216),(nextval($41217),$41218,$41219,$41220,$41221,$41222,$41223,$41224,$41225,$41226,$41227,$41228,$41229,$41230),(nextval($41231),$41232,$41233,$41234,$41235,$41236,$41237,$41238,$41239,$41240,$41241,$41242,$41243,$41244),(nextval($41245),$41246,$41247,$41248,$41249,$41250,$41251,$41252,$41253,$41254,$41255,$41256,$41257,$41258),(nextval($41259),$41260,$41261,$41262,$41263,$41264,$41265,$41266,$41267,$41268,$41269,$41270,$41271,$41272),(nextval($41273),$41274,$41275,$41276,$41277,$41278,$41279,$41280,$41281,$41282,$41283,$41284,$41285,$41286),(nextval($41287),$41288,$41289,$41290,$41291,$41292,$41293,$41294,$41295,$41296,$41297,$41298,$41299,$41300),(nextval($41301),$41302,$41303,$41304,$41305,$41306,$41307,$41308,$41309,$41310,$41311,$41312,$41313,$41314),(nextval($41315),$41316,$41317,$41318,$41319,$41320,$41321,$41322,$41323,$41324,$41325,$41326,$41327,$41328),(nextval($41329),$41330,$41331,$41332,$41333,$41334,$41335,$41336,$41337,$41338,$41339,$41340,$41341,$41342),(nextval($41343),$41344,$41345,$41346,$41347,$41348,$41349,$41350,$41351,$41352,$41353,$41354,$41355,$41356),(nextval($41357),$41358,$41359,$41360,$41361,$41362,$41363,$41364,$41365,$41366,$41367,$41368,$41369,$41370),(nextval($41371),$41372,$41373,$41374,$41375,$41376,$41377,$41378,$41379,$41380,$41381,$41382,$41383,$41384),(nextval($41385),$41386,$41387,$41388,$41389,$41390,$41391,$41392,$41393,$41394,$41395,$41396,$41397,$41398),(nextval($41399),$41400,$41401,$41402,$41403,$41404,$41405,$41406,$41407,$41408,$41409,$41410,$41411,$41412),(nextval($41413),$41414,$41415,$41416,$41417,$41418,$41419,$41420,$41421,$41422,$41423,$41424,$41425,$41426),(nextval($41427),$41428,$41429,$41430,$41431,$41432,$41433,$41434,$41435,$41436,$41437,$41438,$41439,$41440),(nextval($41441),$41442,$41443,$41444,$41445,$41446,$41447,$41448,$41449,$41450,$41451,$41452,$41453,$41454),(nextval($41455),$41456,$41457,$41458,$41459,$41460,$41461,$41462,$41463,$41464,$41465,$41466,$41467,$41468),(nextval($41469),$41470,$41471,$41472,$41473,$41474,$41475,$41476,$41477,$41478,$41479,$41480,$41481,$41482),(nextval($41483),$41484,$41485,$41486,$41487,$41488,$41489,$41490,$41491,$41492,$41493,$41494,$41495,$41496),(nextval($41497),$41498,$41499,$41500,$41501,$41502,$41503,$41504,$41505,$41506,$41507,$41508,$41509,$41510),(nextval($41511),$41512,$41513,$41514,$41515,$41516,$41517,$41518,$41519,$41520,$41521,$41522,$41523,$41524),(nextval($41525),$41526,$41527,$41528,$41529,$41530,$41531,$41532,$41533,$41534,$41535,$41536,$41537,$41538),(nextval($41539),$41540,$41541,$41542,$41543,$41544,$41545,$41546,$41547,$41548,$41549,$41550,$41551,$41552),(nextval($41553),$41554,$41555,$41556,$41557,$41558,$41559,$41560,$41561,$41562,$41563,$41564,$41565,$41566),(nextval($41567),$41568,$41569,$41570,$41571,$41572,$41573,$41574,$41575,$41576,$41577,$41578,$41579,$41580),(nextval($41581),$41582,$41583,$41584,$41585,$41586,$41587,$41588,$41589,$41590,$41591,$41592,$41593,$41594),(nextval($41595),$41596,$41597,$41598,$41599,$41600,$41601,$41602,$41603,$41604,$41605,$41606,$41607,$41608),(nextval($41609),$41610,$41611,$41612,$41613,$41614,$41615,$41616,$41617,$41618,$41619,$41620,$41621,$41622),(nextval($41623),$41624,$41625,$41626,$41627,$41628,$41629,$41630,$41631,$41632,$41633,$41634,$41635,$41636),(nextval($41637),$41638,$41639,$41640,$41641,$41642,$41643,$41644,$41645,$41646,$41647,$41648,$41649,$41650),(nextval($41651),$41652,$41653,$41654,$41655,$41656,$41657,$41658,$41659,$41660,$41661,$41662,$41663,$41664),(nextval($41665),$41666,$41667,$41668,$41669,$41670,$41671,$41672,$41673,$41674,$41675,$41676,$41677,$41678),(nextval($41679),$41680,$41681,$41682,$41683,$41684,$41685,$41686,$41687,$41688,$41689,$41690,$41691,$41692),(nextval($41693),$41694,$41695,$41696,$41697,$41698,$41699,$41700,$41701,$41702,$41703,$41704,$41705,$41706),(nextval($41707),$41708,$41709,$41710,$41711,$41712,$41713,$41714,$41715,$41716,$41717,$41718,$41719,$41720),(nextval($41721),$41722,$41723,$41724,$41725,$41726,$41727,$41728,$41729,$41730,$41731,$41732,$41733,$41734),(nextval($41735),$41736,$41737,$41738,$41739,$41740,$41741,$41742,$41743,$41744,$41745,$41746,$41747,$41748),(nextval($41749),$41750,$41751,$41752,$41753,$41754,$41755,$41756,$41757,$41758,$41759,$41760,$41761,$41762),(nextval($41763),$41764,$41765,$41766,$41767,$41768,$41769,$41770,$41771,$41772,$41773,$41774,$41775,$41776),(nextval($41777),$41778,$41779,$41780,$41781,$41782,$41783,$41784,$41785,$41786,$41787,$41788,$41789,$41790),(nextval($41791),$41792,$41793,$41794,$41795,$41796,$41797,$41798,$41799,$41800,$41801,$41802,$41803,$41804),(nextval($41805),$41806,$41807,$41808,$41809,$41810,$41811,$41812,$41813,$41814,$41815,$41816,$41817,$41818),(nextval($41819),$41820,$41821,$41822,$41823,$41824,$41825,$41826,$41827,$41828,$41829,$41830,$41831,$41832),(nextval($41833),$41834,$41835,$41836,$41837,$41838,$41839,$41840,$41841,$41842,$41843,$41844,$41845,$41846),(nextval($41847),$41848,$41849,$41850,$41851,$41852,$41853,$41854,$41855,$41856,$41857,$41858,$41859,$41860),(nextval($41861),$41862,$41863,$41864,$41865,$41866,$41867,$41868,$41869,$41870,$41871,$41872,$41873,$41874),(nextval($41875),$41876,$41877,$41878,$41879,$41880,$41881,$41882,$41883,$41884,$41885,$41886,$41887,$41888),(nextval($41889),$41890,$41891,$41892,$41893,$41894,$41895,$41896,$41897,$41898,$41899,$41900,$41901,$41902),(nextval($41903),$41904,$41905,$41906,$41907,$41908,$41909,$41910,$41911,$41912,$41913,$41914,$41915,$41916),(nextval($41917),$41918,$41919,$41920,$41921,$41922,$41923,$41924,$41925,$41926,$41927,$41928,$41929,$41930),(nextval($41931),$41932,$41933,$41934,$41935,$41936,$41937,$41938,$41939,$41940,$41941,$41942,$41943,$41944),(nextval($41945),$41946,$41947,$41948,$41949,$41950,$41951,$41952,$41953,$41954,$41955,$41956,$41957,$41958),(nextval($41959),$41960,$41961,$41962,$41963,$41964,$41965,$41966,$41967,$41968,$41969,$41970,$41971,$41972),(nextval($41973),$41974,$41975,$41976,$41977,$41978,$41979,$41980,$41981,$41982,$41983,$41984,$41985,$41986),(nextval($41987),$41988,$41989,$41990,$41991,$41992,$41993,$41994,$41995,$41996,$41997,$41998,$41999,$42000),(nextval($42001),$42002,$42003,$42004,$42005,$42006,$42007,$42008,$42009,$42010,$42011,$42012,$42013,$42014),(nextval($42015),$42016,$42017,$42018,$42019,$42020,$42021,$42022,$42023,$42024,$42025,$42026,$42027,$42028),(nextval($42029),$42030,$42031,$42032,$42033,$42034,$42035,$42036,$42037,$42038,$42039,$42040,$42041,$42042),(nextval($42043),$42044,$42045,$42046,$42047,$42048,$42049,$42050,$42051,$42052,$42053,$42054,$42055,$42056),(nextval($42057),$42058,$42059,$42060,$42061,$42062,$42063,$42064,$42065,$42066,$42067,$42068,$42069,$42070),(nextval($42071),$42072,$42073,$42074,$42075,$42076,$42077,$42078,$42079,$42080,$42081,$42082,$42083,$42084),(nextval($42085),$42086,$42087,$42088,$42089,$42090,$42091,$42092,$42093,$42094,$42095,$42096,$42097,$42098),(nextval($42099),$42100,$42101,$42102,$42103,$42104,$42105,$42106,$42107,$42108,$42109,$42110,$42111,$42112),(nextval($42113),$42114,$42115,$42116,$42117,$42118,$42119,$42120,$42121,$42122,$42123,$42124,$42125,$42126),(nextval($42127),$42128,$42129,$42130,$42131,$42132,$42133,$42134,$42135,$42136,$42137,$42138,$42139,$42140),(nextval($42141),$42142,$42143,$42144,$42145,$42146,$42147,$42148,$42149,$42150,$42151,$42152,$42153,$42154),(nextval($42155),$42156,$42157,$42158,$42159,$42160,$42161,$42162,$42163,$42164,$42165,$42166,$42167,$42168),(nextval($42169),$42170,$42171,$42172,$42173,$42174,$42175,$42176,$42177,$42178,$42179,$42180,$42181,$42182),(nextval($42183),$42184,$42185,$42186,$42187,$42188,$42189,$42190,$42191,$42192,$42193,$42194,$42195,$42196),(nextval($42197),$42198,$42199,$42200,$42201,$42202,$42203,$42204,$42205,$42206,$42207,$42208,$42209,$42210),(nextval($42211),$42212,$42213,$42214,$42215,$42216,$42217,$42218,$42219,$42220,$42221,$42222,$42223,$42224),(nextval($42225),$42226,$42227,$42228,$42229,$42230,$42231,$42232,$42233,$42234,$42235,$42236,$42237,$42238),(nextval($42239),$42240,$42241,$42242,$42243,$42244,$42245,$42246,$42247,$42248,$42249,$42250,$42251,$42252),(nextval($42253),$42254,$42255,$42256,$42257,$42258,$42259,$42260,$42261,$42262,$42263,$42264,$42265,$42266),(nextval($42267),$42268,$42269,$42270,$42271,$42272,$42273,$42274,$42275,$42276,$42277,$42278,$42279,$42280),(nextval($42281),$42282,$42283,$42284,$42285,$42286,$42287,$42288,$42289,$42290,$42291,$42292,$42293,$42294),(nextval($42295),$42296,$42297,$42298,$42299,$42300,$42301,$42302,$42303,$42304,$42305,$42306,$42307,$42308),(nextval($42309),$42310,$42311,$42312,$42313,$42314,$42315,$42316,$42317,$42318,$42319,$42320,$42321,$42322),(nextval($42323),$42324,$42325,$42326,$42327,$42328,$42329,$42330,$42331,$42332,$42333,$42334,$42335,$42336),(nextval($42337),$42338,$42339,$42340,$42341,$42342,$42343,$42344,$42345,$42346,$42347,$42348,$42349,$42350),(nextval($42351),$42352,$42353,$42354,$42355,$42356,$42357,$42358,$42359,$42360,$42361,$42362,$42363,$42364),(nextval($42365),$42366,$42367,$42368,$42369,$42370,$42371,$42372,$42373,$42374,$42375,$42376,$42377,$42378),(nextval($42379),$42380,$42381,$42382,$42383,$42384,$42385,$42386,$42387,$42388,$42389,$42390,$42391,$42392),(nextval($42393),$42394,$42395,$42396,$42397,$42398,$42399,$42400,$42401,$42402,$42403,$42404,$42405,$42406),(nextval($42407),$42408,$42409,$42410,$42411,$42412,$42413,$42414,$42415,$42416,$42417,$42418,$42419,$42420),(nextval($42421),$42422,$42423,$42424,$42425,$42426,$42427,$42428,$42429,$42430,$42431,$42432,$42433,$42434),(nextval($42435),$42436,$42437,$42438,$42439,$42440,$42441,$42442,$42443,$42444,$42445,$42446,$42447,$42448),(nextval($42449),$42450,$42451,$42452,$42453,$42454,$42455,$42456,$42457,$42458,$42459,$42460,$42461,$42462),(nextval($42463),$42464,$42465,$42466,$42467,$42468,$42469,$42470,$42471,$42472,$42473,$42474,$42475,$42476),(nextval($42477),$42478,$42479,$42480,$42481,$42482,$42483,$42484,$42485,$42486,$42487,$42488,$42489,$42490),(nextval($42491),$42492,$42493,$42494,$42495,$42496,$42497,$42498,$42499,$42500,$42501,$42502,$42503,$42504),(nextval($42505),$42506,$42507,$42508,$42509,$42510,$42511,$42512,$42513,$42514,$42515,$42516,$42517,$42518),(nextval($42519),$42520,$42521,$42522,$42523,$42524,$42525,$42526,$42527,$42528,$42529,$42530,$42531,$42532),(nextval($42533),$42534,$42535,$42536,$42537,$42538,$42539,$42540,$42541,$42542,$42543,$42544,$42545,$42546),(nextval($42547),$42548,$42549,$42550,$42551,$42552,$42553,$42554,$42555,$42556,$42557,$42558,$42559,$42560),(nextval($42561),$42562,$42563,$42564,$42565,$42566,$42567,$42568,$42569,$42570,$42571,$42572,$42573,$42574),(nextval($42575),$42576,$42577,$42578,$42579,$42580,$42581,$42582,$42583,$42584,$42585,$42586,$42587,$42588),(nextval($42589),$42590,$42591,$42592,$42593,$42594,$42595,$42596,$42597,$42598,$42599,$42600,$42601,$42602),(nextval($42603),$42604,$42605,$42606,$42607,$42608,$42609,$42610,$42611,$42612,$42613,$42614,$42615,$42616),(nextval($42617),$42618,$42619,$42620,$42621,$42622,$42623,$42624,$42625,$42626,$42627,$42628,$42629,$42630),(nextval($42631),$42632,$42633,$42634,$42635,$42636,$42637,$42638,$42639,$42640,$42641,$42642,$42643,$42644),(nextval($42645),$42646,$42647,$42648,$42649,$42650,$42651,$42652,$42653,$42654,$42655,$42656,$42657,$42658),(nextval($42659),$42660,$42661,$42662,$42663,$42664,$42665,$42666,$42667,$42668,$42669,$42670,$42671,$42672),(nextval($42673),$42674,$42675,$42676,$42677,$42678,$42679,$42680,$42681,$42682,$42683,$42684,$42685,$42686),(nextval($42687),$42688,$42689,$42690,$42691,$42692,$42693,$42694,$42695,$42696,$42697,$42698,$42699,$42700),(nextval($42701),$42702,$42703,$42704,$42705,$42706,$42707,$42708,$42709,$42710,$42711,$42712,$42713,$42714),(nextval($42715),$42716,$42717,$42718,$42719,$42720,$42721,$42722,$42723,$42724,$42725,$42726,$42727,$42728),(nextval($42729),$42730,$42731,$42732,$42733,$42734,$42735,$42736,$42737,$42738,$42739,$42740,$42741,$42742),(nextval($42743),$42744,$42745,$42746,$42747,$42748,$42749,$42750,$42751,$42752,$42753,$42754,$42755,$42756),(nextval($42757),$42758,$42759,$42760,$42761,$42762,$42763,$42764,$42765,$42766,$42767,$42768,$42769,$42770),(nextval($42771),$42772,$42773,$42774,$42775,$42776,$42777,$42778,$42779,$42780,$42781,$42782,$42783,$42784),(nextval($42785),$42786,$42787,$42788,$42789,$42790,$42791,$42792,$42793,$42794,$42795,$42796,$42797,$42798),(nextval($42799),$42800,$42801,$42802,$42803,$42804,$42805,$42806,$42807,$42808,$42809,$42810,$42811,$42812),(nextval($42813),$42814,$42815,$42816,$42817,$42818,$42819,$42820,$42821,$42822,$42823,$42824,$42825,$42826),(nextval($42827),$42828,$42829,$42830,$42831,$42832,$42833,$42834,$42835,$42836,$42837,$42838,$42839,$42840),(nextval($42841),$42842,$42843,$42844,$42845,$42846,$42847,$42848,$42849,$42850,$42851,$42852,$42853,$42854),(nextval($42855),$42856,$42857,$42858,$42859,$42860,$42861,$42862,$42863,$42864,$42865,$42866,$42867,$42868),(nextval($42869),$42870,$42871,$42872,$42873,$42874,$42875,$42876,$42877,$42878,$42879,$42880,$42881,$42882),(nextval($42883),$42884,$42885,$42886,$42887,$42888,$42889,$42890,$42891,$42892,$42893,$42894,$42895,$42896),(nextval($42897),$42898,$42899,$42900,$42901,$42902,$42903,$42904,$42905,$42906,$42907,$42908,$42909,$42910),(nextval($42911),$42912,$42913,$42914,$42915,$42916,$42917,$42918,$42919,$42920,$42921,$42922,$42923,$42924),(nextval($42925),$42926,$42927,$42928,$42929,$42930,$42931,$42932,$42933,$42934,$42935,$42936,$42937,$42938),(nextval($42939),$42940,$42941,$42942,$42943,$42944,$42945,$42946,$42947,$42948,$42949,$42950,$42951,$42952),(nextval($42953),$42954,$42955,$42956,$42957,$42958,$42959,$42960,$42961,$42962,$42963,$42964,$42965,$42966),(nextval($42967),$42968,$42969,$42970,$42971,$42972,$42973,$42974,$42975,$42976,$42977,$42978,$42979,$42980),(nextval($42981),$42982,$42983,$42984,$42985,$42986,$42987,$42988,$42989,$42990,$42991,$42992,$42993,$42994),(nextval($42995),$42996,$42997,$42998,$42999,$43000,$43001,$43002,$43003,$43004,$43005,$43006,$43007,$43008),(nextval($43009),$43010,$43011,$43012,$43013,$43014,$43015,$43016,$43017,$43018,$43019,$43020,$43021,$43022),(nextval($43023),$43024,$43025,$43026,$43027,$43028,$43029,$43030,$43031,$43032,$43033,$43034,$43035,$43036),(nextval($43037),$43038,$43039,$43040,$43041,$43042,$43043,$43044,$43045,$43046,$43047,$43048,$43049,$43050),(nextval($43051),$43052,$43053,$43054,$43055,$43056,$43057,$43058,$43059,$43060,$43061,$43062,$43063,$43064),(nextval($43065),$43066,$43067,$43068,$43069,$43070,$43071,$43072,$43073,$43074,$43075,$43076,$43077,$43078),(nextval($43079),$43080,$43081,$43082,$43083,$43084,$43085,$43086,$43087,$43088,$43089,$43090,$43091,$43092),(nextval($43093),$43094,$43095,$43096,$43097,$43098,$43099,$43100,$43101,$43102,$43103,$43104,$43105,$43106),(nextval($43107),$43108,$43109,$43110,$43111,$43112,$43113,$43114,$43115,$43116,$43117,$43118,$43119,$43120),(nextval($43121),$43122,$43123,$43124,$43125,$43126,$43127,$43128,$43129,$43130,$43131,$43132,$43133,$43134),(nextval($43135),$43136,$43137,$43138,$43139,$43140,$43141,$43142,$43143,$43144,$43145,$43146,$43147,$43148),(nextval($43149),$43150,$43151,$43152,$43153,$43154,$43155,$43156,$43157,$43158,$43159,$43160,$43161,$43162),(nextval($43163),$43164,$43165,$43166,$43167,$43168,$43169,$43170,$43171,$43172,$43173,$43174,$43175,$43176),(nextval($43177),$43178,$43179,$43180,$43181,$43182,$43183,$43184,$43185,$43186,$43187,$43188,$43189,$43190),(nextval($43191),$43192,$43193,$43194,$43195,$43196,$43197,$43198,$43199,$43200,$43201,$43202,$43203,$43204),(nextval($43205),$43206,$43207,$43208,$43209,$43210,$43211,$43212,$43213,$43214,$43215,$43216,$43217,$43218),(nextval($43219),$43220,$43221,$43222,$43223,$43224,$43225,$43226,$43227,$43228,$43229,$43230,$43231,$43232),(nextval($43233),$43234,$43235,$43236,$43237,$43238,$43239,$43240,$43241,$43242,$43243,$43244,$43245,$43246),(nextval($43247),$43248,$43249,$43250,$43251,$43252,$43253,$43254,$43255,$43256,$43257,$43258,$43259,$43260),(nextval($43261),$43262,$43263,$43264,$43265,$43266,$43267,$43268,$43269,$43270,$43271,$43272,$43273,$43274),(nextval($43275),$43276,$43277,$43278,$43279,$43280,$43281,$43282,$43283,$43284,$43285,$43286,$43287,$43288),(nextval($43289),$43290,$43291,$43292,$43293,$43294,$43295,$43296,$43297,$43298,$43299,$43300,$43301,$43302),(nextval($43303),$43304,$43305,$43306,$43307,$43308,$43309,$43310,$43311,$43312,$43313,$43314,$43315,$43316),(nextval($43317),$43318,$43319,$43320,$43321,$43322,$43323,$43324,$43325,$43326,$43327,$43328,$43329,$43330),(nextval($43331),$43332,$43333,$43334,$43335,$43336,$43337,$43338,$43339,$43340,$43341,$43342,$43343,$43344),(nextval($43345),$43346,$43347,$43348,$43349,$43350,$43351,$43352,$43353,$43354,$43355,$43356,$43357,$43358),(nextval($43359),$43360,$43361,$43362,$43363,$43364,$43365,$43366,$43367,$43368,$43369,$43370,$43371,$43372),(nextval($43373),$43374,$43375,$43376,$43377,$43378,$43379,$43380,$43381,$43382,$43383,$43384,$43385,$43386),(nextval($43387),$43388,$43389,$43390,$43391,$43392,$43393,$43394,$43395,$43396,$43397,$43398,$43399,$43400),(nextval($43401),$43402,$43403,$43404,$43405,$43406,$43407,$43408,$43409,$43410,$43411,$43412,$43413,$43414),(nextval($43415),$43416,$43417,$43418,$43419,$43420,$43421,$43422,$43423,$43424,$43425,$43426,$43427,$43428),(nextval($43429),$43430,$43431,$43432,$43433,$43434,$43435,$43436,$43437,$43438,$43439,$43440,$43441,$43442),(nextval($43443),$43444,$43445,$43446,$43447,$43448,$43449,$43450,$43451,$43452,$43453,$43454,$43455,$43456),(nextval($43457),$43458,$43459,$43460,$43461,$43462,$43463,$43464,$43465,$43466,$43467,$43468,$43469,$43470),(nextval($43471),$43472,$43473,$43474,$43475,$43476,$43477,$43478,$43479,$43480,$43481,$43482,$43483,$43484),(nextval($43485),$43486,$43487,$43488,$43489,$43490,$43491,$43492,$43493,$43494,$43495,$43496,$43497,$43498),(nextval($43499),$43500,$43501,$43502,$43503,$43504,$43505,$43506,$43507,$43508,$43509,$43510,$43511,$43512),(nextval($43513),$43514,$43515,$43516,$43517,$43518,$43519,$43520,$43521,$43522,$43523,$43524,$43525,$43526),(nextval($43527),$43528,$43529,$43530,$43531,$43532,$43533,$43534,$43535,$43536,$43537,$43538,$43539,$43540),(nextval($43541),$43542,$43543,$43544,$43545,$43546,$43547,$43548,$43549,$43550,$43551,$43552,$43553,$43554),(nextval($43555),$43556,$43557,$43558,$43559,$43560,$43561,$43562,$43563,$43564,$43565,$43566,$43567,$43568),(nextval($43569),$43570,$43571,$43572,$43573,$43574,$43575,$43576,$43577,$43578,$43579,$43580,$43581,$43582),(nextval($43583),$43584,$43585,$43586,$43587,$43588,$43589,$43590,$43591,$43592,$43593,$43594,$43595,$43596),(nextval($43597),$43598,$43599,$43600,$43601,$43602,$43603,$43604,$43605,$43606,$43607,$43608,$43609,$43610),(nextval($43611),$43612,$43613,$43614,$43615,$43616,$43617,$43618,$43619,$43620,$43621,$43622,$43623,$43624),(nextval($43625),$43626,$43627,$43628,$43629,$43630,$43631,$43632,$43633,$43634,$43635,$43636,$43637,$43638),(nextval($43639),$43640,$43641,$43642,$43643,$43644,$43645,$43646,$43647,$43648,$43649,$43650,$43651,$43652),(nextval($43653),$43654,$43655,$43656,$43657,$43658,$43659,$43660,$43661,$43662,$43663,$43664,$43665,$43666),(nextval($43667),$43668,$43669,$43670,$43671,$43672,$43673,$43674,$43675,$43676,$43677,$43678,$43679,$43680),(nextval($43681),$43682,$43683,$43684,$43685,$43686,$43687,$43688,$43689,$43690,$43691,$43692,$43693,$43694),(nextval($43695),$43696,$43697,$43698,$43699,$43700,$43701,$43702,$43703,$43704,$43705,$43706,$43707,$43708),(nextval($43709),$43710,$43711,$43712,$43713,$43714,$43715,$43716,$43717,$43718,$43719,$43720,$43721,$43722),(nextval($43723),$43724,$43725,$43726,$43727,$43728,$43729,$43730,$43731,$43732,$43733,$43734,$43735,$43736),(nextval($43737),$43738,$43739,$43740,$43741,$43742,$43743,$43744,$43745,$43746,$43747,$43748,$43749,$43750),(nextval($43751),$43752,$43753,$43754,$43755,$43756,$43757,$43758,$43759,$43760,$43761,$43762,$43763,$43764),(nextval($43765),$43766,$43767,$43768,$43769,$43770,$43771,$43772,$43773,$43774,$43775,$43776,$43777,$43778),(nextval($43779),$43780,$43781,$43782,$43783,$43784,$43785,$43786,$43787,$43788,$43789,$43790,$43791,$43792),(nextval($43793),$43794,$43795,$43796,$43797,$43798,$43799,$43800,$43801,$43802,$43803,$43804,$43805,$43806),(nextval($43807),$43808,$43809,$43810,$43811,$43812,$43813,$43814,$43815,$43816,$43817,$43818,$43819,$43820),(nextval($43821),$43822,$43823,$43824,$43825,$43826,$43827,$43828,$43829,$43830,$43831,$43832,$43833,$43834),(nextval($43835),$43836,$43837,$43838,$43839,$43840,$43841,$43842,$43843,$43844,$43845,$43846,$43847,$43848),(nextval($43849),$43850,$43851,$43852,$43853,$43854,$43855,$43856,$43857,$43858,$43859,$43860,$43861,$43862),(nextval($43863),$43864,$43865,$43866,$43867,$43868,$43869,$43870,$43871,$43872,$43873,$43874,$43875,$43876),(nextval($43877),$43878,$43879,$43880,$43881,$43882,$43883,$43884,$43885,$43886,$43887,$43888,$43889,$43890),(nextval($43891),$43892,$43893,$43894,$43895,$43896,$43897,$43898,$43899,$43900,$43901,$43902,$43903,$43904),(nextval($43905),$43906,$43907,$43908,$43909,$43910,$43911,$43912,$43913,$43914,$43915,$43916,$43917,$43918),(nextval($43919),$43920,$43921,$43922,$43923,$43924,$43925,$43926,$43927,$43928,$43929,$43930,$43931,$43932),(nextval($43933),$43934,$43935,$43936,$43937,$43938,$43939,$43940,$43941,$43942,$43943,$43944,$43945,$43946),(nextval($43947),$43948,$43949,$43950,$43951,$43952,$43953,$43954,$43955,$43956,$43957,$43958,$43959,$43960),(nextval($43961),$43962,$43963,$43964,$43965,$43966,$43967,$43968,$43969,$43970,$43971,$43972,$43973,$43974),(nextval($43975),$43976,$43977,$43978,$43979,$43980,$43981,$43982,$43983,$43984,$43985,$43986,$43987,$43988),(nextval($43989),$43990,$43991,$43992,$43993,$43994,$43995,$43996,$43997,$43998,$43999,$44000,$44001,$44002),(nextval($44003),$44004,$44005,$44006,$44007,$44008,$44009,$44010,$44011,$44012,$44013,$44014,$44015,$44016),(nextval($44017),$44018,$44019,$44020,$44021,$44022,$44023,$44024,$44025,$44026,$44027,$44028,$44029,$44030),(nextval($44031),$44032,$44033,$44034,$44035,$44036,$44037,$44038,$44039,$44040,$44041,$44042,$44043,$44044),(nextval($44045),$44046,$44047,$44048,$44049,$44050,$44051,$44052,$44053,$44054,$44055,$44056,$44057,$44058),(nextval($44059),$44060,$44061,$44062,$44063,$44064,$44065,$44066,$44067,$44068,$44069,$44070,$44071,$44072),(nextval($44073),$44074,$44075,$44076,$44077,$44078,$44079,$44080,$44081,$44082,$44083,$44084,$44085,$44086),(nextval($44087),$44088,$44089,$44090,$44091,$44092,$44093,$44094,$44095,$44096,$44097,$44098,$44099,$44100),(nextval($44101),$44102,$44103,$44104,$44105,$44106,$44107,$44108,$44109,$44110,$44111,$44112,$44113,$44114),(nextval($44115),$44116,$44117,$44118,$44119,$44120,$44121,$44122,$44123,$44124,$44125,$44126,$44127,$44128),(nextval($44129),$44130,$44131,$44132,$44133,$44134,$44135,$44136,$44137,$44138,$44139,$44140,$44141,$44142),(nextval($44143),$44144,$44145,$44146,$44147,$44148,$44149,$44150,$44151,$44152,$44153,$44154,$44155,$44156),(nextval($44157),$44158,$44159,$44160,$44161,$44162,$44163,$44164,$44165,$44166,$44167,$44168,$44169,$44170),(nextval($44171),$44172,$44173,$44174,$44175,$44176,$44177,$44178,$44179,$44180,$44181,$44182,$44183,$44184),(nextval($44185),$44186,$44187,$44188,$44189,$44190,$44191,$44192,$44193,$44194,$44195,$44196,$44197,$44198),(nextval($44199),$44200,$44201,$44202,$44203,$44204,$44205,$44206,$44207,$44208,$44209,$44210,$44211,$44212),(nextval($44213),$44214,$44215,$44216,$44217,$44218,$44219,$44220,$44221,$44222,$44223,$44224,$44225,$44226),(nextval($44227),$44228,$44229,$44230,$44231,$44232,$44233,$44234,$44235,$44236,$44237,$44238,$44239,$44240),(nextval($44241),$44242,$44243,$44244,$44245,$44246,$44247,$44248,$44249,$44250,$44251,$44252,$44253,$44254),(nextval($44255),$44256,$44257,$44258,$44259,$44260,$44261,$44262,$44263,$44264,$44265,$44266,$44267,$44268),(nextval($44269),$44270,$44271,$44272,$44273,$44274,$44275,$44276,$44277,$44278,$44279,$44280,$44281,$44282),(nextval($44283),$44284,$44285,$44286,$44287,$44288,$44289,$44290,$44291,$44292,$44293,$44294,$44295,$44296),(nextval($44297),$44298,$44299,$44300,$44301,$44302,$44303,$44304,$44305,$44306,$44307,$44308,$44309,$44310),(nextval($44311),$44312,$44313,$44314,$44315,$44316,$44317,$44318,$44319,$44320,$44321,$44322,$44323,$44324),(nextval($44325),$44326,$44327,$44328,$44329,$44330,$44331,$44332,$44333,$44334,$44335,$44336,$44337,$44338),(nextval($44339),$44340,$44341,$44342,$44343,$44344,$44345,$44346,$44347,$44348,$44349,$44350,$44351,$44352),(nextval($44353),$44354,$44355,$44356,$44357,$44358,$44359,$44360,$44361,$44362,$44363,$44364,$44365,$44366),(nextval($44367),$44368,$44369,$44370,$44371,$44372,$44373,$44374,$44375,$44376,$44377,$44378,$44379,$44380),(nextval($44381),$44382,$44383,$44384,$44385,$44386,$44387,$44388,$44389,$44390,$44391,$44392,$44393,$44394),(nextval($44395),$44396,$44397,$44398,$44399,$44400,$44401,$44402,$44403,$44404,$44405,$44406,$44407,$44408),(nextval($44409),$44410,$44411,$44412,$44413,$44414,$44415,$44416,$44417,$44418,$44419,$44420,$44421,$44422),(nextval($44423),$44424,$44425,$44426,$44427,$44428,$44429,$44430,$44431,$44432,$44433,$44434,$44435,$44436),(nextval($44437),$44438,$44439,$44440,$44441,$44442,$44443,$44444,$44445,$44446,$44447,$44448,$44449,$44450),(nextval($44451),$44452,$44453,$44454,$44455,$44456,$44457,$44458,$44459,$44460,$44461,$44462,$44463,$44464),(nextval($44465),$44466,$44467,$44468,$44469,$44470,$44471,$44472,$44473,$44474,$44475,$44476,$44477,$44478),(nextval($44479),$44480,$44481,$44482,$44483,$44484,$44485,$44486,$44487,$44488,$44489,$44490,$44491,$44492),(nextval($44493),$44494,$44495,$44496,$44497,$44498,$44499,$44500,$44501,$44502,$44503,$44504,$44505,$44506),(nextval($44507),$44508,$44509,$44510,$44511,$44512,$44513,$44514,$44515,$44516,$44517,$44518,$44519,$44520),(nextval($44521),$44522,$44523,$44524,$44525,$44526,$44527,$44528,$44529,$44530,$44531,$44532,$44533,$44534),(nextval($44535),$44536,$44537,$44538,$44539,$44540,$44541,$44542,$44543,$44544,$44545,$44546,$44547,$44548),(nextval($44549),$44550,$44551,$44552,$44553,$44554,$44555,$44556,$44557,$44558,$44559,$44560,$44561,$44562),(nextval($44563),$44564,$44565,$44566,$44567,$44568,$44569,$44570,$44571,$44572,$44573,$44574,$44575,$44576),(nextval($44577),$44578,$44579,$44580,$44581,$44582,$44583,$44584,$44585,$44586,$44587,$44588,$44589,$44590),(nextval($44591),$44592,$44593,$44594,$44595,$44596,$44597,$44598,$44599,$44600,$44601,$44602,$44603,$44604),(nextval($44605),$44606,$44607,$44608,$44609,$44610,$44611,$44612,$44613,$44614,$44615,$44616,$44617,$44618),(nextval($44619),$44620,$44621,$44622,$44623,$44624,$44625,$44626,$44627,$44628,$44629,$44630,$44631,$44632),(nextval($44633),$44634,$44635,$44636,$44637,$44638,$44639,$44640,$44641,$44642,$44643,$44644,$44645,$44646),(nextval($44647),$44648,$44649,$44650,$44651,$44652,$44653,$44654,$44655,$44656,$44657,$44658,$44659,$44660),(nextval($44661),$44662,$44663,$44664,$44665,$44666,$44667,$44668,$44669,$44670,$44671,$44672,$44673,$44674),(nextval($44675),$44676,$44677,$44678,$44679,$44680,$44681,$44682,$44683,$44684,$44685,$44686,$44687,$44688),(nextval($44689),$44690,$44691,$44692,$44693,$44694,$44695,$44696,$44697,$44698,$44699,$44700,$44701,$44702),(nextval($44703),$44704,$44705,$44706,$44707,$44708,$44709,$44710,$44711,$44712,$44713,$44714,$44715,$44716),(nextval($44717),$44718,$44719,$44720,$44721,$44722,$44723,$44724,$44725,$44726,$44727,$44728,$44729,$44730),(nextval($44731),$44732,$44733,$44734,$44735,$44736,$44737,$44738,$44739,$44740,$44741,$44742,$44743,$44744),(nextval($44745),$44746,$44747,$44748,$44749,$44750,$44751,$44752,$44753,$44754,$44755,$44756,$44757,$44758),(nextval($44759),$44760,$44761,$44762,$44763,$44764,$44765,$44766,$44767,$44768,$44769,$44770,$44771,$44772),(nextval($44773),$44774,$44775,$44776,$44777,$44778,$44779,$44780,$44781,$44782,$44783,$44784,$44785,$44786),(nextval($44787),$44788,$44789,$44790,$44791,$44792,$44793,$44794,$44795,$44796,$44797,$44798,$44799,$44800),(nextval($44801),$44802,$44803,$44804,$44805,$44806,$44807,$44808,$44809,$44810,$44811,$44812,$44813,$44814),(nextval($44815),$44816,$44817,$44818,$44819,$44820,$44821,$44822,$44823,$44824,$44825,$44826,$44827,$44828),(nextval($44829),$44830,$44831,$44832,$44833,$44834,$44835,$44836,$44837,$44838,$44839,$44840,$44841,$44842),(nextval($44843),$44844,$44845,$44846,$44847,$44848,$44849,$44850,$44851,$44852,$44853,$44854,$44855,$44856),(nextval($44857),$44858,$44859,$44860,$44861,$44862,$44863,$44864,$44865,$44866,$44867,$44868,$44869,$44870),(nextval($44871),$44872,$44873,$44874,$44875,$44876,$44877,$44878,$44879,$44880,$44881,$44882,$44883,$44884),(nextval($44885),$44886,$44887,$44888,$44889,$44890,$44891,$44892,$44893,$44894,$44895,$44896,$44897,$44898),(nextval($44899),$44900,$44901,$44902,$44903,$44904,$44905,$44906,$44907,$44908,$44909,$44910,$44911,$44912),(nextval($44913),$44914,$44915,$44916,$44917,$44918,$44919,$44920,$44921,$44922,$44923,$44924,$44925,$44926),(nextval($44927),$44928,$44929,$44930,$44931,$44932,$44933,$44934,$44935,$44936,$44937,$44938,$44939,$44940),(nextval($44941),$44942,$44943,$44944,$44945,$44946,$44947,$44948,$44949,$44950,$44951,$44952,$44953,$44954),(nextval($44955),$44956,$44957,$44958,$44959,$44960,$44961,$44962,$44963,$44964,$44965,$44966,$44967,$44968),(nextval($44969),$44970,$44971,$44972,$44973,$44974,$44975,$44976,$44977,$44978,$44979,$44980,$44981,$44982),(nextval($44983),$44984,$44985,$44986,$44987,$44988,$44989,$44990,$44991,$44992,$44993,$44994,$44995,$44996),(nextval($44997),$44998,$44999,$45000,$45001,$45002,$45003,$45004,$45005,$45006,$45007,$45008,$45009,$45010),(nextval($45011),$45012,$45013,$45014,$45015,$45016,$45017,$45018,$45019,$45020,$45021,$45022,$45023,$45024),(nextval($45025),$45026,$45027,$45028,$45029,$45030,$45031,$45032,$45033,$45034,$45035,$45036,$45037,$45038),(nextval($45039),$45040,$45041,$45042,$45043,$45044,$45045,$45046,$45047,$45048,$45049,$45050,$45051,$45052),(nextval($45053),$45054,$45055,$45056,$45057,$45058,$45059,$45060,$45061,$45062,$45063,$45064,$45065,$45066),(nextval($45067),$45068,$45069,$45070,$45071,$45072,$45073,$45074,$45075,$45076,$45077,$45078,$45079,$45080),(nextval($45081),$45082,$45083,$45084,$45085,$45086,$45087,$45088,$45089,$45090,$45091,$45092,$45093,$45094),(nextval($45095),$45096,$45097,$45098,$45099,$45100,$45101,$45102,$45103,$45104,$45105,$45106,$45107,$45108),(nextval($45109),$45110,$45111,$45112,$45113,$45114,$45115,$45116,$45117,$45118,$45119,$45120,$45121,$45122),(nextval($45123),$45124,$45125,$45126,$45127,$45128,$45129,$45130,$45131,$45132,$45133,$45134,$45135,$45136),(nextval($45137),$45138,$45139,$45140,$45141,$45142,$45143,$45144,$45145,$45146,$45147,$45148,$45149,$45150),(nextval($45151),$45152,$45153,$45154,$45155,$45156,$45157,$45158,$45159,$45160,$45161,$45162,$45163,$45164),(nextval($45165),$45166,$45167,$45168,$45169,$45170,$45171,$45172,$45173,$45174,$45175,$45176,$45177,$45178),(nextval($45179),$45180,$45181,$45182,$45183,$45184,$45185,$45186,$45187,$45188,$45189,$45190,$45191,$45192),(nextval($45193),$45194,$45195,$45196,$45197,$45198,$45199,$45200,$45201,$45202,$45203,$45204,$45205,$45206),(nextval($45207),$45208,$45209,$45210,$45211,$45212,$45213,$45214,$45215,$45216,$45217,$45218,$45219,$45220),(nextval($45221),$45222,$45223,$45224,$45225,$45226,$45227,$45228,$45229,$45230,$45231,$45232,$45233,$45234),(nextval($45235),$45236,$45237,$45238,$45239,$45240,$45241,$45242,$45243,$45244,$45245,$45246,$45247,$45248),(nextval($45249),$45250,$45251,$45252,$45253,$45254,$45255,$45256,$45257,$45258,$45259,$45260,$45261,$45262),(nextval($45263),$45264,$45265,$45266,$45267,$45268,$45269,$45270,$45271,$45272,$45273,$45274,$45275,$45276),(nextval($45277),$45278,$45279,$45280,$45281,$45282,$45283,$45284,$45285,$45286,$45287,$45288,$45289,$45290),(nextval($45291),$45292,$45293,$45294,$45295,$45296,$45297,$45298,$45299,$45300,$45301,$45302,$45303,$45304),(nextval($45305),$45306,$45307,$45308,$45309,$45310,$45311,$45312,$45313,$45314,$45315,$45316,$45317,$45318),(nextval($45319),$45320,$45321,$45322,$45323,$45324,$45325,$45326,$45327,$45328,$45329,$45330,$45331,$45332),(nextval($45333),$45334,$45335,$45336,$45337,$45338,$45339,$45340,$45341,$45342,$45343,$45344,$45345,$45346),(nextval($45347),$45348,$45349,$45350,$45351,$45352,$45353,$45354,$45355,$45356,$45357,$45358,$45359,$45360),(nextval($45361),$45362,$45363,$45364,$45365,$45366,$45367,$45368,$45369,$45370,$45371,$45372,$45373,$45374),(nextval($45375),$45376,$45377,$45378,$45379,$45380,$45381,$45382,$45383,$45384,$45385,$45386,$45387,$45388),(nextval($45389),$45390,$45391,$45392,$45393,$45394,$45395,$45396,$45397,$45398,$45399,$45400,$45401,$45402),(nextval($45403),$45404,$45405,$45406,$45407,$45408,$45409,$45410,$45411,$45412,$45413,$45414,$45415,$45416),(nextval($45417),$45418,$45419,$45420,$45421,$45422,$45423,$45424,$45425,$45426,$45427,$45428,$45429,$45430),(nextval($45431),$45432,$45433,$45434,$45435,$45436,$45437,$45438,$45439,$45440,$45441,$45442,$45443,$45444),(nextval($45445),$45446,$45447,$45448,$45449,$45450,$45451,$45452,$45453,$45454,$45455,$45456,$45457,$45458),(nextval($45459),$45460,$45461,$45462,$45463,$45464,$45465,$45466,$45467,$45468,$45469,$45470,$45471,$45472),(nextval($45473),$45474,$45475,$45476,$45477,$45478,$45479,$45480,$45481,$45482,$45483,$45484,$45485,$45486),(nextval($45487),$45488,$45489,$45490,$45491,$45492,$45493,$45494,$45495,$45496,$45497,$45498,$45499,$45500),(nextval($45501),$45502,$45503,$45504,$45505,$45506,$45507,$45508,$45509,$45510,$45511,$45512,$45513,$45514),(nextval($45515),$45516,$45517,$45518,$45519,$45520,$45521,$45522,$45523,$45524,$45525,$45526,$45527,$45528),(nextval($45529),$45530,$45531,$45532,$45533,$45534,$45535,$45536,$45537,$45538,$45539,$45540,$45541,$45542),(nextval($45543),$45544,$45545,$45546,$45547,$45548,$45549,$45550,$45551,$45552,$45553,$45554,$45555,$45556),(nextval($45557),$45558,$45559,$45560,$45561,$45562,$45563,$45564,$45565,$45566,$45567,$45568,$45569,$45570),(nextval($45571),$45572,$45573,$45574,$45575,$45576,$45577,$45578,$45579,$45580,$45581,$45582,$45583,$45584),(nextval($45585),$45586,$45587,$45588,$45589,$45590,$45591,$45592,$45593,$45594,$45595,$45596,$45597,$45598),(nextval($45599),$45600,$45601,$45602,$45603,$45604,$45605,$45606,$45607,$45608,$45609,$45610,$45611,$45612),(nextval($45613),$45614,$45615,$45616,$45617,$45618,$45619,$45620,$45621,$45622,$45623,$45624,$45625,$45626),(nextval($45627),$45628,$45629,$45630,$45631,$45632,$45633,$45634,$45635,$45636,$45637,$45638,$45639,$45640),(nextval($45641),$45642,$45643,$45644,$45645,$45646,$45647,$45648,$45649,$45650,$45651,$45652,$45653,$45654),(nextval($45655),$45656,$45657,$45658,$45659,$45660,$45661,$45662,$45663,$45664,$45665,$45666,$45667,$45668),(nextval($45669),$45670,$45671,$45672,$45673,$45674,$45675,$45676,$45677,$45678,$45679,$45680,$45681,$45682),(nextval($45683),$45684,$45685,$45686,$45687,$45688,$45689,$45690,$45691,$45692,$45693,$45694,$45695,$45696),(nextval($45697),$45698,$45699,$45700,$45701,$45702,$45703,$45704,$45705,$45706,$45707,$45708,$45709,$45710),(nextval($45711),$45712,$45713,$45714,$45715,$45716,$45717,$45718,$45719,$45720,$45721,$45722,$45723,$45724),(nextval($45725),$45726,$45727,$45728,$45729,$45730,$45731,$45732,$45733,$45734,$45735,$45736,$45737,$45738),(nextval($45739),$45740,$45741,$45742,$45743,$45744,$45745,$45746,$45747,$45748,$45749,$45750,$45751,$45752),(nextval($45753),$45754,$45755,$45756,$45757,$45758,$45759,$45760,$45761,$45762,$45763,$45764,$45765,$45766),(nextval($45767),$45768,$45769,$45770,$45771,$45772,$45773,$45774,$45775,$45776,$45777,$45778,$45779,$45780),(nextval($45781),$45782,$45783,$45784,$45785,$45786,$45787,$45788,$45789,$45790,$45791,$45792,$45793,$45794),(nextval($45795),$45796,$45797,$45798,$45799,$45800,$45801,$45802,$45803,$45804,$45805,$45806,$45807,$45808),(nextval($45809),$45810,$45811,$45812,$45813,$45814,$45815,$45816,$45817,$45818,$45819,$45820,$45821,$45822),(nextval($45823),$45824,$45825,$45826,$45827,$45828,$45829,$45830,$45831,$45832,$45833,$45834,$45835,$45836),(nextval($45837),$45838,$45839,$45840,$45841,$45842,$45843,$45844,$45845,$45846,$45847,$45848,$45849,$45850),(nextval($45851),$45852,$45853,$45854,$45855,$45856,$45857,$45858,$45859,$45860,$45861,$45862,$45863,$45864),(nextval($45865),$45866,$45867,$45868,$45869,$45870,$45871,$45872,$45873,$45874,$45875,$45876,$45877,$45878),(nextval($45879),$45880,$45881,$45882,$45883,$45884,$45885,$45886,$45887,$45888,$45889,$45890,$45891,$45892),(nextval($45893),$45894,$45895,$45896,$45897,$45898,$45899,$45900,$45901,$45902,$45903,$45904,$45905,$45906),(nextval($45907),$45908,$45909,$45910,$45911,$45912,$45913,$45914,$45915,$45916,$45917,$45918,$45919,$45920),(nextval($45921),$45922,$45923,$45924,$45925,$45926,$45927,$45928,$45929,$45930,$45931,$45932,$45933,$45934),(nextval($45935),$45936,$45937,$45938,$45939,$45940,$45941,$45942,$45943,$45944,$45945,$45946,$45947,$45948),(nextval($45949),$45950,$45951,$45952,$45953,$45954,$45955,$45956,$45957,$45958,$45959,$45960,$45961,$45962),(nextval($45963),$45964,$45965,$45966,$45967,$45968,$45969,$45970,$45971,$45972,$45973,$45974,$45975,$45976),(nextval($45977),$45978,$45979,$45980,$45981,$45982,$45983,$45984,$45985,$45986,$45987,$45988,$45989,$45990),(nextval($45991),$45992,$45993,$45994,$45995,$45996,$45997,$45998,$45999,$46000,$46001,$46002,$46003,$46004),(nextval($46005),$46006,$46007,$46008,$46009,$46010,$46011,$46012,$46013,$46014,$46015,$46016,$46017,$46018),(nextval($46019),$46020,$46021,$46022,$46023,$46024,$46025,$46026,$46027,$46028,$46029,$46030,$46031,$46032),(nextval($46033),$46034,$46035,$46036,$46037,$46038,$46039,$46040,$46041,$46042,$46043,$46044,$46045,$46046),(nextval($46047),$46048,$46049,$46050,$46051,$46052,$46053,$46054,$46055,$46056,$46057,$46058,$46059,$46060),(nextval($46061),$46062,$46063,$46064,$46065,$46066,$46067,$46068,$46069,$46070,$46071,$46072,$46073,$46074),(nextval($46075),$46076,$46077,$46078,$46079,$46080,$46081,$46082,$46083,$46084,$46085,$46086,$46087,$46088),(nextval($46089),$46090,$46091,$46092,$46093,$46094,$46095,$46096,$46097,$46098,$46099,$46100,$46101,$46102),(nextval($46103),$46104,$46105,$46106,$46107,$46108,$46109,$46110,$46111,$46112,$46113,$46114,$46115,$46116),(nextval($46117),$46118,$46119,$46120,$46121,$46122,$46123,$46124,$46125,$46126,$46127,$46128,$46129,$46130),(nextval($46131),$46132,$46133,$46134,$46135,$46136,$46137,$46138,$46139,$46140,$46141,$46142,$46143,$46144),(nextval($46145),$46146,$46147,$46148,$46149,$46150,$46151,$46152,$46153,$46154,$46155,$46156,$46157,$46158),(nextval($46159),$46160,$46161,$46162,$46163,$46164,$46165,$46166,$46167,$46168,$46169,$46170,$46171,$46172),(nextval($46173),$46174,$46175,$46176,$46177,$46178,$46179,$46180,$46181,$46182,$46183,$46184,$46185,$46186),(nextval($46187),$46188,$46189,$46190,$46191,$46192,$46193,$46194,$46195,$46196,$46197,$46198,$46199,$46200),(nextval($46201),$46202,$46203,$46204,$46205,$46206,$46207,$46208,$46209,$46210,$46211,$46212,$46213,$46214),(nextval($46215),$46216,$46217,$46218,$46219,$46220,$46221,$46222,$46223,$46224,$46225,$46226,$46227,$46228),(nextval($46229),$46230,$46231,$46232,$46233,$46234,$46235,$46236,$46237,$46238,$46239,$46240,$46241,$46242),(nextval($46243),$46244,$46245,$46246,$46247,$46248,$46249,$46250,$46251,$46252,$46253,$46254,$46255,$46256),(nextval($46257),$46258,$46259,$46260,$46261,$46262,$46263,$46264,$46265,$46266,$46267,$46268,$46269,$46270),(nextval($46271),$46272,$46273,$46274,$46275,$46276,$46277,$46278,$46279,$46280,$46281,$46282,$46283,$46284),(nextval($46285),$46286,$46287,$46288,$46289,$46290,$46291,$46292,$46293,$46294,$46295,$46296,$46297,$46298),(nextval($46299),$46300,$46301,$46302,$46303,$46304,$46305,$46306,$46307,$46308,$46309,$46310,$46311,$46312),(nextval($46313),$46314,$46315,$46316,$46317,$46318,$46319,$46320,$46321,$46322,$46323,$46324,$46325,$46326),(nextval($46327),$46328,$46329,$46330,$46331,$46332,$46333,$46334,$46335,$46336,$46337,$46338,$46339,$46340),(nextval($46341),$46342,$46343,$46344,$46345,$46346,$46347,$46348,$46349,$46350,$46351,$46352,$46353,$46354),(nextval($46355),$46356,$46357,$46358,$46359,$46360,$46361,$46362,$46363,$46364,$46365,$46366,$46367,$46368),(nextval($46369),$46370,$46371,$46372,$46373,$46374,$46375,$46376,$46377,$46378,$46379,$46380,$46381,$46382),(nextval($46383),$46384,$46385,$46386,$46387,$46388,$46389,$46390,$46391,$46392,$46393,$46394,$46395,$46396),(nextval($46397),$46398,$46399,$46400,$46401,$46402,$46403,$46404,$46405,$46406,$46407,$46408,$46409,$46410),(nextval($46411),$46412,$46413,$46414,$46415,$46416,$46417,$46418,$46419,$46420,$46421,$46422,$46423,$46424),(nextval($46425),$46426,$46427,$46428,$46429,$46430,$46431,$46432,$46433,$46434,$46435,$46436,$46437,$46438),(nextval($46439),$46440,$46441,$46442,$46443,$46444,$46445,$46446,$46447,$46448,$46449,$46450,$46451,$46452),(nextval($46453),$46454,$46455,$46456,$46457,$46458,$46459,$46460,$46461,$46462,$46463,$46464,$46465,$46466),(nextval($46467),$46468,$46469,$46470,$46471,$46472,$46473,$46474,$46475,$46476,$46477,$46478,$46479,$46480),(nextval($46481),$46482,$46483,$46484,$46485,$46486,$46487,$46488,$46489,$46490,$46491,$46492,$46493,$46494),(nextval($46495),$46496,$46497,$46498,$46499,$46500,$46501,$46502,$46503,$46504,$46505,$46506,$46507,$46508),(nextval($46509),$46510,$46511,$46512,$46513,$46514,$46515,$46516,$46517,$46518,$46519,$46520,$46521,$46522),(nextval($46523),$46524,$46525,$46526,$46527,$46528,$46529,$46530,$46531,$46532,$46533,$46534,$46535,$46536),(nextval($46537),$46538,$46539,$46540,$46541,$46542,$46543,$46544,$46545,$46546,$46547,$46548,$46549,$46550),(nextval($46551),$46552,$46553,$46554,$46555,$46556,$46557,$46558,$46559,$46560,$46561,$46562,$46563,$46564),(nextval($46565),$46566,$46567,$46568,$46569,$46570,$46571,$46572,$46573,$46574,$46575,$46576,$46577,$46578),(nextval($46579),$46580,$46581,$46582,$46583,$46584,$46585,$46586,$46587,$46588,$46589,$46590,$46591,$46592),(nextval($46593),$46594,$46595,$46596,$46597,$46598,$46599,$46600,$46601,$46602,$46603,$46604,$46605,$46606),(nextval($46607),$46608,$46609,$46610,$46611,$46612,$46613,$46614,$46615,$46616,$46617,$46618,$46619,$46620),(nextval($46621),$46622,$46623,$46624,$46625,$46626,$46627,$46628,$46629,$46630,$46631,$46632,$46633,$46634),(nextval($46635),$46636,$46637,$46638,$46639,$46640,$46641,$46642,$46643,$46644,$46645,$46646,$46647,$46648),(nextval($46649),$46650,$46651,$46652,$46653,$46654,$46655,$46656,$46657,$46658,$46659,$46660,$46661,$46662),(nextval($46663),$46664,$46665,$46666,$46667,$46668,$46669,$46670,$46671,$46672,$46673,$46674,$46675,$46676),(nextval($46677),$46678,$46679,$46680,$46681,$46682,$46683,$46684,$46685,$46686,$46687,$46688,$46689,$46690),(nextval($46691),$46692,$46693,$46694,$46695,$46696,$46697,$46698,$46699,$46700,$46701,$46702,$46703,$46704),(nextval($46705),$46706,$46707,$46708,$46709,$46710,$46711,$46712,$46713,$46714,$46715,$46716,$46717,$46718),(nextval($46719),$46720,$46721,$46722,$46723,$46724,$46725,$46726,$46727,$46728,$46729,$46730,$46731,$46732),(nextval($46733),$46734,$46735,$46736,$46737,$46738,$46739,$46740,$46741,$46742,$46743,$46744,$46745,$46746),(nextval($46747),$46748,$46749,$46750,$46751,$46752,$46753,$46754,$46755,$46756,$46757,$46758,$46759,$46760),(nextval($46761),$46762,$46763,$46764,$46765,$46766,$46767,$46768,$46769,$46770,$46771,$46772,$46773,$46774),(nextval($46775),$46776,$46777,$46778,$46779,$46780,$46781,$46782,$46783,$46784,$46785,$46786,$46787,$46788),(nextval($46789),$46790,$46791,$46792,$46793,$46794,$46795,$46796,$46797,$46798,$46799,$46800,$46801,$46802),(nextval($46803),$46804,$46805,$46806,$46807,$46808,$46809,$46810,$46811,$46812,$46813,$46814,$46815,$46816),(nextval($46817),$46818,$46819,$46820,$46821,$46822,$46823,$46824,$46825,$46826,$46827,$46828,$46829,$46830),(nextval($46831),$46832,$46833,$46834,$46835,$46836,$46837,$46838,$46839,$46840,$46841,$46842,$46843,$46844),(nextval($46845),$46846,$46847,$46848,$46849,$46850,$46851,$46852,$46853,$46854,$46855,$46856,$46857,$46858),(nextval($46859),$46860,$46861,$46862,$46863,$46864,$46865,$46866,$46867,$46868,$46869,$46870,$46871,$46872),(nextval($46873),$46874,$46875,$46876,$46877,$46878,$46879,$46880,$46881,$46882,$46883,$46884,$46885,$46886),(nextval($46887),$46888,$46889,$46890,$46891,$46892,$46893,$46894,$46895,$46896,$46897,$46898,$46899,$46900),(nextval($46901),$46902,$46903,$46904,$46905,$46906,$46907,$46908,$46909,$46910,$46911,$46912,$46913,$46914),(nextval($46915),$46916,$46917,$46918,$46919,$46920,$46921,$46922,$46923,$46924,$46925,$46926,$46927,$46928),(nextval($46929),$46930,$46931,$46932,$46933,$46934,$46935,$46936,$46937,$46938,$46939,$46940,$46941,$46942),(nextval($46943),$46944,$46945,$46946,$46947,$46948,$46949,$46950,$46951,$46952,$46953,$46954,$46955,$46956),(nextval($46957),$46958,$46959,$46960,$46961,$46962,$46963,$46964,$46965,$46966,$46967,$46968,$46969,$46970),(nextval($46971),$46972,$46973,$46974,$46975,$46976,$46977,$46978,$46979,$46980,$46981,$46982,$46983,$46984),(nextval($46985),$46986,$46987,$46988,$46989,$46990,$46991,$46992,$46993,$46994,$46995,$46996,$46997,$46998),(nextval($46999),$47000,$47001,$47002,$47003,$47004,$47005,$47006,$47007,$47008,$47009,$47010,$47011,$47012),(nextval($47013),$47014,$47015,$47016,$47017,$47018,$47019,$47020,$47021,$47022,$47023,$47024,$47025,$47026),(nextval($47027),$47028,$47029,$47030,$47031,$47032,$47033,$47034,$47035,$47036,$47037,$47038,$47039,$47040),(nextval($47041),$47042,$47043,$47044,$47045,$47046,$47047,$47048,$47049,$47050,$47051,$47052,$47053,$47054),(nextval($47055),$47056,$47057,$47058,$47059,$47060,$47061,$47062,$47063,$47064,$47065,$47066,$47067,$47068),(nextval($47069),$47070,$47071,$47072,$47073,$47074,$47075,$47076,$47077,$47078,$47079,$47080,$47081,$47082),(nextval($47083),$47084,$47085,$47086,$47087,$47088,$47089,$47090,$47091,$47092,$47093,$47094,$47095,$47096),(nextval($47097),$47098,$47099,$47100,$47101,$47102,$47103,$47104,$47105,$47106,$47107,$47108,$47109,$47110),(nextval($47111),$47112,$47113,$47114,$47115,$47116,$47117,$47118,$47119,$47120,$47121,$47122,$47123,$47124),(nextval($47125),$47126,$47127,$47128,$47129,$47130,$47131,$47132,$47133,$47134,$47135,$47136,$47137,$47138),(nextval($47139),$47140,$47141,$47142,$47143,$47144,$47145,$47146,$47147,$47148,$47149,$47150,$47151,$47152),(nextval($47153),$47154,$47155,$47156,$47157,$47158,$47159,$47160,$47161,$47162,$47163,$47164,$47165,$47166),(nextval($47167),$47168,$47169,$47170,$47171,$47172,$47173,$47174,$47175,$47176,$47177,$47178,$47179,$47180),(nextval($47181),$47182,$47183,$47184,$47185,$47186,$47187,$47188,$47189,$47190,$47191,$47192,$47193,$47194),(nextval($47195),$47196,$47197,$47198,$47199,$47200,$47201,$47202,$47203,$47204,$47205,$47206,$47207,$47208),(nextval($47209),$47210,$47211,$47212,$47213,$47214,$47215,$47216,$47217,$47218,$47219,$47220,$47221,$47222),(nextval($47223),$47224,$47225,$47226,$47227,$47228,$47229,$47230,$47231,$47232,$47233,$47234,$47235,$47236),(nextval($47237),$47238,$47239,$47240,$47241,$47242,$47243,$47244,$47245,$47246,$47247,$47248,$47249,$47250),(nextval($47251),$47252,$47253,$47254,$47255,$47256,$47257,$47258,$47259,$47260,$47261,$47262,$47263,$47264),(nextval($47265),$47266,$47267,$47268,$47269,$47270,$47271,$47272,$47273,$47274,$47275,$47276,$47277,$47278),(nextval($47279),$47280,$47281,$47282,$47283,$47284,$47285,$47286,$47287,$47288,$47289,$47290,$47291,$47292),(nextval($47293),$47294,$47295,$47296,$47297,$47298,$47299,$47300,$47301,$47302,$47303,$47304,$47305,$47306),(nextval($47307),$47308,$47309,$47310,$47311,$47312,$47313,$47314,$47315,$47316,$47317,$47318,$47319,$47320),(nextval($47321),$47322,$47323,$47324,$47325,$47326,$47327,$47328,$47329,$47330,$47331,$47332,$47333,$47334),(nextval($47335),$47336,$47337,$47338,$47339,$47340,$47341,$47342,$47343,$47344,$47345,$47346,$47347,$47348),(nextval($47349),$47350,$47351,$47352,$47353,$47354,$47355,$47356,$47357,$47358,$47359,$47360,$47361,$47362),(nextval($47363),$47364,$47365,$47366,$47367,$47368,$47369,$47370,$47371,$47372,$47373,$47374,$47375,$47376),(nextval($47377),$47378,$47379,$47380,$47381,$47382,$47383,$47384,$47385,$47386,$47387,$47388,$47389,$47390),(nextval($47391),$47392,$47393,$47394,$47395,$47396,$47397,$47398,$47399,$47400,$47401,$47402,$47403,$47404),(nextval($47405),$47406,$47407,$47408,$47409,$47410,$47411,$47412,$47413,$47414,$47415,$47416,$47417,$47418),(nextval($47419),$47420,$47421,$47422,$47423,$47424,$47425,$47426,$47427,$47428,$47429,$47430,$47431,$47432),(nextval($47433),$47434,$47435,$47436,$47437,$47438,$47439,$47440,$47441,$47442,$47443,$47444,$47445,$47446),(nextval($47447),$47448,$47449,$47450,$47451,$47452,$47453,$47454,$47455,$47456,$47457,$47458,$47459,$47460),(nextval($47461),$47462,$47463,$47464,$47465,$47466,$47467,$47468,$47469,$47470,$47471,$47472,$47473,$47474),(nextval($47475),$47476,$47477,$47478,$47479,$47480,$47481,$47482,$47483,$47484,$47485,$47486,$47487,$47488),(nextval($47489),$47490,$47491,$47492,$47493,$47494,$47495,$47496,$47497,$47498,$47499,$47500,$47501,$47502),(nextval($47503),$47504,$47505,$47506,$47507,$47508,$47509,$47510,$47511,$47512,$47513,$47514,$47515,$47516),(nextval($47517),$47518,$47519,$47520,$47521,$47522,$47523,$47524,$47525,$47526,$47527,$47528,$47529,$47530),(nextval($47531),$47532,$47533,$47534,$47535,$47536,$47537,$47538,$47539,$47540,$47541,$47542,$47543,$47544),(nextval($47545),$47546,$47547,$47548,$47549,$47550,$47551,$47552,$47553,$47554,$47555,$47556,$47557,$47558),(nextval($47559),$47560,$47561,$47562,$47563,$47564,$47565,$47566,$47567,$47568,$47569,$47570,$47571,$47572),(nextval($47573),$47574,$47575,$47576,$47577,$47578,$47579,$47580,$47581,$47582,$47583,$47584,$47585,$47586),(nextval($47587),$47588,$47589,$47590,$47591,$47592,$47593,$47594,$47595,$47596,$47597,$47598,$47599,$47600),(nextval($47601),$47602,$47603,$47604,$47605,$47606,$47607,$47608,$47609,$47610,$47611,$47612,$47613,$47614),(nextval($47615),$47616,$47617,$47618,$47619,$47620,$47621,$47622,$47623,$47624,$47625,$47626,$47627,$47628),(nextval($47629),$47630,$47631,$47632,$47633,$47634,$47635,$47636,$47637,$47638,$47639,$47640,$47641,$47642),(nextval($47643),$47644,$47645,$47646,$47647,$47648,$47649,$47650,$47651,$47652,$47653,$47654,$47655,$47656),(nextval($47657),$47658,$47659,$47660,$47661,$47662,$47663,$47664,$47665,$47666,$47667,$47668,$47669,$47670),(nextval($47671),$47672,$47673,$47674,$47675,$47676,$47677,$47678,$47679,$47680,$47681,$47682,$47683,$47684),(nextval($47685),$47686,$47687,$47688,$47689,$47690,$47691,$47692,$47693,$47694,$47695,$47696,$47697,$47698),(nextval($47699),$47700,$47701,$47702,$47703,$47704,$47705,$47706,$47707,$47708,$47709,$47710,$47711,$47712),(nextval($47713),$47714,$47715,$47716,$47717,$47718,$47719,$47720,$47721,$47722,$47723,$47724,$47725,$47726),(nextval($47727),$47728,$47729,$47730,$47731,$47732,$47733,$47734,$47735,$47736,$47737,$47738,$47739,$47740),(nextval($47741),$47742,$47743,$47744,$47745,$47746,$47747,$47748,$47749,$47750,$47751,$47752,$47753,$47754),(nextval($47755),$47756,$47757,$47758,$47759,$47760,$47761,$47762,$47763,$47764,$47765,$47766,$47767,$47768),(nextval($47769),$47770,$47771,$47772,$47773,$47774,$47775,$47776,$47777,$47778,$47779,$47780,$47781,$47782),(nextval($47783),$47784,$47785,$47786,$47787,$47788,$47789,$47790,$47791,$47792,$47793,$47794,$47795,$47796),(nextval($47797),$47798,$47799,$47800,$47801,$47802,$47803,$47804,$47805,$47806,$47807,$47808,$47809,$47810),(nextval($47811),$47812,$47813,$47814,$47815,$47816,$47817,$47818,$47819,$47820,$47821,$47822,$47823,$47824),(nextval($47825),$47826,$47827,$47828,$47829,$47830,$47831,$47832,$47833,$47834,$47835,$47836,$47837,$47838),(nextval($47839),$47840,$47841,$47842,$47843,$47844,$47845,$47846,$47847,$47848,$47849,$47850,$47851,$47852),(nextval($47853),$47854,$47855,$47856,$47857,$47858,$47859,$47860,$47861,$47862,$47863,$47864,$47865,$47866),(nextval($47867),$47868,$47869,$47870,$47871,$47872,$47873,$47874,$47875,$47876,$47877,$47878,$47879,$47880),(nextval($47881),$47882,$47883,$47884,$47885,$47886,$47887,$47888,$47889,$47890,$47891,$47892,$47893,$47894),(nextval($47895),$47896,$47897,$47898,$47899,$47900,$47901,$47902,$47903,$47904,$47905,$47906,$47907,$47908),(nextval($47909),$47910,$47911,$47912,$47913,$47914,$47915,$47916,$47917,$47918,$47919,$47920,$47921,$47922),(nextval($47923),$47924,$47925,$47926,$47927,$47928,$47929,$47930,$47931,$47932,$47933,$47934,$47935,$47936),(nextval($47937),$47938,$47939,$47940,$47941,$47942,$47943,$47944,$47945,$47946,$47947,$47948,$47949,$47950),(nextval($47951),$47952,$47953,$47954,$47955,$47956,$47957,$47958,$47959,$47960,$47961,$47962,$47963,$47964),(nextval($47965),$47966,$47967,$47968,$47969,$47970,$47971,$47972,$47973,$47974,$47975,$47976,$47977,$47978),(nextval($47979),$47980,$47981,$47982,$47983,$47984,$47985,$47986,$47987,$47988,$47989,$47990,$47991,$47992),(nextval($47993),$47994,$47995,$47996,$47997,$47998,$47999,$48000,$48001,$48002,$48003,$48004,$48005,$48006),(nextval($48007),$48008,$48009,$48010,$48011,$48012,$48013,$48014,$48015,$48016,$48017,$48018,$48019,$48020),(nextval($48021),$48022,$48023,$48024,$48025,$48026,$48027,$48028,$48029,$48030,$48031,$48032,$48033,$48034),(nextval($48035),$48036,$48037,$48038,$48039,$48040,$48041,$48042,$48043,$48044,$48045,$48046,$48047,$48048),(nextval($48049),$48050,$48051,$48052,$48053,$48054,$48055,$48056,$48057,$48058,$48059,$48060,$48061,$48062),(nextval($48063),$48064,$48065,$48066,$48067,$48068,$48069,$48070,$48071,$48072,$48073,$48074,$48075,$48076),(nextval($48077),$48078,$48079,$48080,$48081,$48082,$48083,$48084,$48085,$48086,$48087,$48088,$48089,$48090),(nextval($48091),$48092,$48093,$48094,$48095,$48096,$48097,$48098,$48099,$48100,$48101,$48102,$48103,$48104),(nextval($48105),$48106,$48107,$48108,$48109,$48110,$48111,$48112,$48113,$48114,$48115,$48116,$48117,$48118),(nextval($48119),$48120,$48121,$48122,$48123,$48124,$48125,$48126,$48127,$48128,$48129,$48130,$48131,$48132),(nextval($48133),$48134,$48135,$48136,$48137,$48138,$48139,$48140,$48141,$48142,$48143,$48144,$48145,$48146),(nextval($48147),$48148,$48149,$48150,$48151,$48152,$48153,$48154,$48155,$48156,$48157,$48158,$48159,$48160),(nextval($48161),$48162,$48163,$48164,$48165,$48166,$48167,$48168,$48169,$48170,$48171,$48172,$48173,$48174),(nextval($48175),$48176,$48177,$48178,$48179,$48180,$48181,$48182,$48183,$48184,$48185,$48186,$48187,$48188),(nextval($48189),$48190,$48191,$48192,$48193,$48194,$48195,$48196,$48197,$48198,$48199,$48200,$48201,$48202),(nextval($48203),$48204,$48205,$48206,$48207,$48208,$48209,$48210,$48211,$48212,$48213,$48214,$48215,$48216),(nextval($48217),$48218,$48219,$48220,$48221,$48222,$48223,$48224,$48225,$48226,$48227,$48228,$48229,$48230),(nextval($48231),$48232,$48233,$48234,$48235,$48236,$48237,$48238,$48239,$48240,$48241,$48242,$48243,$48244),(nextval($48245),$48246,$48247,$48248,$48249,$48250,$48251,$48252,$48253,$48254,$48255,$48256,$48257,$48258),(nextval($48259),$48260,$48261,$48262,$48263,$48264,$48265,$48266,$48267,$48268,$48269,$48270,$48271,$48272),(nextval($48273),$48274,$48275,$48276,$48277,$48278,$48279,$48280,$48281,$48282,$48283,$48284,$48285,$48286),(nextval($48287),$48288,$48289,$48290,$48291,$48292,$48293,$48294,$48295,$48296,$48297,$48298,$48299,$48300),(nextval($48301),$48302,$48303,$48304,$48305,$48306,$48307,$48308,$48309,$48310,$48311,$48312,$48313,$48314),(nextval($48315),$48316,$48317,$48318,$48319,$48320,$48321,$48322,$48323,$48324,$48325,$48326,$48327,$48328),(nextval($48329),$48330,$48331,$48332,$48333,$48334,$48335,$48336,$48337,$48338,$48339,$48340,$48341,$48342),(nextval($48343),$48344,$48345,$48346,$48347,$48348,$48349,$48350,$48351,$48352,$48353,$48354,$48355,$48356),(nextval($48357),$48358,$48359,$48360,$48361,$48362,$48363,$48364,$48365,$48366,$48367,$48368,$48369,$48370),(nextval($48371),$48372,$48373,$48374,$48375,$48376,$48377,$48378,$48379,$48380,$48381,$48382,$48383,$48384),(nextval($48385),$48386,$48387,$48388,$48389,$48390,$48391,$48392,$48393,$48394,$48395,$48396,$48397,$48398),(nextval($48399),$48400,$48401,$48402,$48403,$48404,$48405,$48406,$48407,$48408,$48409,$48410,$48411,$48412),(nextval($48413),$48414,$48415,$48416,$48417,$48418,$48419,$48420,$48421,$48422,$48423,$48424,$48425,$48426),(nextval($48427),$48428,$48429,$48430,$48431,$48432,$48433,$48434,$48435,$48436,$48437,$48438,$48439,$48440),(nextval($48441),$48442,$48443,$48444,$48445,$48446,$48447,$48448,$48449,$48450,$48451,$48452,$48453,$48454),(nextval($48455),$48456,$48457,$48458,$48459,$48460,$48461,$48462,$48463,$48464,$48465,$48466,$48467,$48468),(nextval($48469),$48470,$48471,$48472,$48473,$48474,$48475,$48476,$48477,$48478,$48479,$48480,$48481,$48482),(nextval($48483),$48484,$48485,$48486,$48487,$48488,$48489,$48490,$48491,$48492,$48493,$48494,$48495,$48496),(nextval($48497),$48498,$48499,$48500,$48501,$48502,$48503,$48504,$48505,$48506,$48507,$48508,$48509,$48510),(nextval($48511),$48512,$48513,$48514,$48515,$48516,$48517,$48518,$48519,$48520,$48521,$48522,$48523,$48524),(nextval($48525),$48526,$48527,$48528,$48529,$48530,$48531,$48532,$48533,$48534,$48535,$48536,$48537,$48538),(nextval($48539),$48540,$48541,$48542,$48543,$48544,$48545,$48546,$48547,$48548,$48549,$48550,$48551,$48552),(nextval($48553),$48554,$48555,$48556,$48557,$48558,$48559,$48560,$48561,$48562,$48563,$48564,$48565,$48566),(nextval($48567),$48568,$48569,$48570,$48571,$48572,$48573,$48574,$48575,$48576,$48577,$48578,$48579,$48580),(nextval($48581),$48582,$48583,$48584,$48585,$48586,$48587,$48588,$48589,$48590,$48591,$48592,$48593,$48594),(nextval($48595),$48596,$48597,$48598,$48599,$48600,$48601,$48602,$48603,$48604,$48605,$48606,$48607,$48608),(nextval($48609),$48610,$48611,$48612,$48613,$48614,$48615,$48616,$48617,$48618,$48619,$48620,$48621,$48622),(nextval($48623),$48624,$48625,$48626,$48627,$48628,$48629,$48630,$48631,$48632,$48633,$48634,$48635,$48636),(nextval($48637),$48638,$48639,$48640,$48641,$48642,$48643,$48644,$48645,$48646,$48647,$48648,$48649,$48650),(nextval($48651),$48652,$48653,$48654,$48655,$48656,$48657,$48658,$48659,$48660,$48661,$48662,$48663,$48664),(nextval($48665),$48666,$48667,$48668,$48669,$48670,$48671,$48672,$48673,$48674,$48675,$48676,$48677,$48678),(nextval($48679),$48680,$48681,$48682,$48683,$48684,$48685,$48686,$48687,$48688,$48689,$48690,$48691,$48692),(nextval($48693),$48694,$48695,$48696,$48697,$48698,$48699,$48700,$48701,$48702,$48703,$48704,$48705,$48706),(nextval($48707),$48708,$48709,$48710,$48711,$48712,$48713,$48714,$48715,$48716,$48717,$48718,$48719,$48720),(nextval($48721),$48722,$48723,$48724,$48725,$48726,$48727,$48728,$48729,$48730,$48731,$48732,$48733,$48734),(nextval($48735),$48736,$48737,$48738,$48739,$48740,$48741,$48742,$48743,$48744,$48745,$48746,$48747,$48748),(nextval($48749),$48750,$48751,$48752,$48753,$48754,$48755,$48756,$48757,$48758,$48759,$48760,$48761,$48762),(nextval($48763),$48764,$48765,$48766,$48767,$48768,$48769,$48770,$48771,$48772,$48773,$48774,$48775,$48776),(nextval($48777),$48778,$48779,$48780,$48781,$48782,$48783,$48784,$48785,$48786,$48787,$48788,$48789,$48790),(nextval($48791),$48792,$48793,$48794,$48795,$48796,$48797,$48798,$48799,$48800,$48801,$48802,$48803,$48804),(nextval($48805),$48806,$48807,$48808,$48809,$48810,$48811,$48812,$48813,$48814,$48815,$48816,$48817,$48818),(nextval($48819),$48820,$48821,$48822,$48823,$48824,$48825,$48826,$48827,$48828,$48829,$48830,$48831,$48832),(nextval($48833),$48834,$48835,$48836,$48837,$48838,$48839,$48840,$48841,$48842,$48843,$48844,$48845,$48846),(nextval($48847),$48848,$48849,$48850,$48851,$48852,$48853,$48854,$48855,$48856,$48857,$48858,$48859,$48860),(nextval($48861),$48862,$48863,$48864,$48865,$48866,$48867,$48868,$48869,$48870,$48871,$48872,$48873,$48874),(nextval($48875),$48876,$48877,$48878,$48879,$48880,$48881,$48882,$48883,$48884,$48885,$48886,$48887,$48888),(nextval($48889),$48890,$48891,$48892,$48893,$48894,$48895,$48896,$48897,$48898,$48899,$48900,$48901,$48902),(nextval($48903),$48904,$48905,$48906,$48907,$48908,$48909,$48910,$48911,$48912,$48913,$48914,$48915,$48916),(nextval($48917),$48918,$48919,$48920,$48921,$48922,$48923,$48924,$48925,$48926,$48927,$48928,$48929,$48930),(nextval($48931),$48932,$48933,$48934,$48935,$48936,$48937,$48938,$48939,$48940,$48941,$48942,$48943,$48944),(nextval($48945),$48946,$48947,$48948,$48949,$48950,$48951,$48952,$48953,$48954,$48955,$48956,$48957,$48958),(nextval($48959),$48960,$48961,$48962,$48963,$48964,$48965,$48966,$48967,$48968,$48969,$48970,$48971,$48972),(nextval($48973),$48974,$48975,$48976,$48977,$48978,$48979,$48980,$48981,$48982,$48983,$48984,$48985,$48986),(nextval($48987),$48988,$48989,$48990,$48991,$48992,$48993,$48994,$48995,$48996,$48997,$48998,$48999,$49000),(nextval($49001),$49002,$49003,$49004,$49005,$49006,$49007,$49008,$49009,$49010,$49011,$49012,$49013,$49014),(nextval($49015),$49016,$49017,$49018,$49019,$49020,$49021,$49022,$49023,$49024,$49025,$49026,$49027,$49028),(nextval($49029),$49030,$49031,$49032,$49033,$49034,$49035,$49036,$49037,$49038,$49039,$49040,$49041,$49042),(nextval($49043),$49044,$49045,$49046,$49047,$49048,$49049,$49050,$49051,$49052,$49053,$49054,$49055,$49056),(nextval($49057),$49058,$49059,$49060,$49061,$49062,$49063,$49064,$49065,$49066,$49067,$49068,$49069,$49070),(nextval($49071),$49072,$49073,$49074,$49075,$49076,$49077,$49078,$49079,$49080,$49081,$49082,$49083,$49084),(nextval($49085),$49086,$49087,$49088,$49089,$49090,$49091,$49092,$49093,$49094,$49095,$49096,$49097,$49098),(nextval($49099),$49100,$49101,$49102,$49103,$49104,$49105,$49106,$49107,$49108,$49109,$49110,$49111,$49112),(nextval($49113),$49114,$49115,$49116,$49117,$49118,$49119,$49120,$49121,$49122,$49123,$49124,$49125,$49126),(nextval($49127),$49128,$49129,$49130,$49131,$49132,$49133,$49134,$49135,$49136,$49137,$49138,$49139,$49140),(nextval($49141),$49142,$49143,$49144,$49145,$49146,$49147,$49148,$49149,$49150,$49151,$49152,$49153,$49154),(nextval($49155),$49156,$49157,$49158,$49159,$49160,$49161,$49162,$49163,$49164,$49165,$49166,$49167,$49168),(nextval($49169),$49170,$49171,$49172,$49173,$49174,$49175,$49176,$49177,$49178,$49179,$49180,$49181,$49182),(nextval($49183),$49184,$49185,$49186,$49187,$49188,$49189,$49190,$49191,$49192,$49193,$49194,$49195,$49196),(nextval($49197),$49198,$49199,$49200,$49201,$49202,$49203,$49204,$49205,$49206,$49207,$49208,$49209,$49210),(nextval($49211),$49212,$49213,$49214,$49215,$49216,$49217,$49218,$49219,$49220,$49221,$49222,$49223,$49224),(nextval($49225),$49226,$49227,$49228,$49229,$49230,$49231,$49232,$49233,$49234,$49235,$49236,$49237,$49238),(nextval($49239),$49240,$49241,$49242,$49243,$49244,$49245,$49246,$49247,$49248,$49249,$49250,$49251,$49252),(nextval($49253),$49254,$49255,$49256,$49257,$49258,$49259,$49260,$49261,$49262,$49263,$49264,$49265,$49266),(nextval($49267),$49268,$49269,$49270,$49271,$49272,$49273,$49274,$49275,$49276,$49277,$49278,$49279,$49280),(nextval($49281),$49282,$49283,$49284,$49285,$49286,$49287,$49288,$49289,$49290,$49291,$49292,$49293,$49294),(nextval($49295),$49296,$49297,$49298,$49299,$49300,$49301,$49302,$49303,$49304,$49305,$49306,$49307,$49308),(nextval($49309),$49310,$49311,$49312,$49313,$49314,$49315,$49316,$49317,$49318,$49319,$49320,$49321,$49322),(nextval($49323),$49324,$49325,$49326,$49327,$49328,$49329,$49330,$49331,$49332,$49333,$49334,$49335,$49336),(nextval($49337),$49338,$49339,$49340,$49341,$49342,$49343,$49344,$49345,$49346,$49347,$49348,$49349,$49350),(nextval($49351),$49352,$49353,$49354,$49355,$49356,$49357,$49358,$49359,$49360,$49361,$49362,$49363,$49364),(nextval($49365),$49366,$49367,$49368,$49369,$49370,$49371,$49372,$49373,$49374,$49375,$49376,$49377,$49378),(nextval($49379),$49380,$49381,$49382,$49383,$49384,$49385,$49386,$49387,$49388,$49389,$49390,$49391,$49392),(nextval($49393),$49394,$49395,$49396,$49397,$49398,$49399,$49400,$49401,$49402,$49403,$49404,$49405,$49406),(nextval($49407),$49408,$49409,$49410,$49411,$49412,$49413,$49414,$49415,$49416,$49417,$49418,$49419,$49420),(nextval($49421),$49422,$49423,$49424,$49425,$49426,$49427,$49428,$49429,$49430,$49431,$49432,$49433,$49434),(nextval($49435),$49436,$49437,$49438,$49439,$49440,$49441,$49442,$49443,$49444,$49445,$49446,$49447,$49448),(nextval($49449),$49450,$49451,$49452,$49453,$49454,$49455,$49456,$49457,$49458,$49459,$49460,$49461,$49462),(nextval($49463),$49464,$49465,$49466,$49467,$49468,$49469,$49470,$49471,$49472,$49473,$49474,$49475,$49476),(nextval($49477),$49478,$49479,$49480,$49481,$49482,$49483,$49484,$49485,$49486,$49487,$49488,$49489,$49490),(nextval($49491),$49492,$49493,$49494,$49495,$49496,$49497,$49498,$49499,$49500,$49501,$49502,$49503,$49504),(nextval($49505),$49506,$49507,$49508,$49509,$49510,$49511,$49512,$49513,$49514,$49515,$49516,$49517,$49518),(nextval($49519),$49520,$49521,$49522,$49523,$49524,$49525,$49526,$49527,$49528,$49529,$49530,$49531,$49532),(nextval($49533),$49534,$49535,$49536,$49537,$49538,$49539,$49540,$49541,$49542,$49543,$49544,$49545,$49546),(nextval($49547),$49548,$49549,$49550,$49551,$49552,$49553,$49554,$49555,$49556,$49557,$49558,$49559,$49560),(nextval($49561),$49562,$49563,$49564,$49565,$49566,$49567,$49568,$49569,$49570,$49571,$49572,$49573,$49574),(nextval($49575),$49576,$49577,$49578,$49579,$49580,$49581,$49582,$49583,$49584,$49585,$49586,$49587,$49588),(nextval($49589),$49590,$49591,$49592,$49593,$49594,$49595,$49596,$49597,$49598,$49599,$49600,$49601,$49602),(nextval($49603),$49604,$49605,$49606,$49607,$49608,$49609,$49610,$49611,$49612,$49613,$49614,$49615,$49616),(nextval($49617),$49618,$49619,$49620,$49621,$49622,$49623,$49624,$49625,$49626,$49627,$49628,$49629,$49630),(nextval($49631),$49632,$49633,$49634,$49635,$49636,$49637,$49638,$49639,$49640,$49641,$49642,$49643,$49644),(nextval($49645),$49646,$49647,$49648,$49649,$49650,$49651,$49652,$49653,$49654,$49655,$49656,$49657,$49658),(nextval($49659),$49660,$49661,$49662,$49663,$49664,$49665,$49666,$49667,$49668,$49669,$49670,$49671,$49672),(nextval($49673),$49674,$49675,$49676,$49677,$49678,$49679,$49680,$49681,$49682,$49683,$49684,$49685,$49686),(nextval($49687),$49688,$49689,$49690,$49691,$49692,$49693,$49694,$49695,$49696,$49697,$49698,$49699,$49700),(nextval($49701),$49702,$49703,$49704,$49705,$49706,$49707,$49708,$49709,$49710,$49711,$49712,$49713,$49714),(nextval($49715),$49716,$49717,$49718,$49719,$49720,$49721,$49722,$49723,$49724,$49725,$49726,$49727,$49728),(nextval($49729),$49730,$49731,$49732,$49733,$49734,$49735,$49736,$49737,$49738,$49739,$49740,$49741,$49742),(nextval($49743),$49744,$49745,$49746,$49747,$49748,$49749,$49750,$49751,$49752,$49753,$49754,$49755,$49756),(nextval($49757),$49758,$49759,$49760,$49761,$49762,$49763,$49764,$49765,$49766,$49767,$49768,$49769,$49770),(nextval($49771),$49772,$49773,$49774,$49775,$49776,$49777,$49778,$49779,$49780,$49781,$49782,$49783,$49784),(nextval($49785),$49786,$49787,$49788,$49789,$49790,$49791,$49792,$49793,$49794,$49795,$49796,$49797,$49798),(nextval($49799),$49800,$49801,$49802,$49803,$49804,$49805,$49806,$49807,$49808,$49809,$49810,$49811,$49812),(nextval($49813),$49814,$49815,$49816,$49817,$49818,$49819,$49820,$49821,$49822,$49823,$49824,$49825,$49826),(nextval($49827),$49828,$49829,$49830,$49831,$49832,$49833,$49834,$49835,$49836,$49837,$49838,$49839,$49840),(nextval($49841),$49842,$49843,$49844,$49845,$49846,$49847,$49848,$49849,$49850,$49851,$49852,$49853,$49854),(nextval($49855),$49856,$49857,$49858,$49859,$49860,$49861,$49862,$49863,$49864,$49865,$49866,$49867,$49868),(nextval($49869),$49870,$49871,$49872,$49873,$49874,$49875,$49876,$49877,$49878,$49879,$49880,$49881,$49882),(nextval($49883),$49884,$49885,$49886,$49887,$49888,$49889,$49890,$49891,$49892,$49893,$49894,$49895,$49896),(nextval($49897),$49898,$49899,$49900,$49901,$49902,$49903,$49904,$49905,$49906,$49907,$49908,$49909,$49910),(nextval($49911),$49912,$49913,$49914,$49915,$49916,$49917,$49918,$49919,$49920,$49921,$49922,$49923,$49924),(nextval($49925),$49926,$49927,$49928,$49929,$49930,$49931,$49932,$49933,$49934,$49935,$49936,$49937,$49938),(nextval($49939),$49940,$49941,$49942,$49943,$49944,$49945,$49946,$49947,$49948,$49949,$49950,$49951,$49952),(nextval($49953),$49954,$49955,$49956,$49957,$49958,$49959,$49960,$49961,$49962,$49963,$49964,$49965,$49966),(nextval($49967),$49968,$49969,$49970,$49971,$49972,$49973,$49974,$49975,$49976,$49977,$49978,$49979,$49980),(nextval($49981),$49982,$49983,$49984,$49985,$49986,$49987,$49988,$49989,$49990,$49991,$49992,$49993,$49994),(nextval($49995),$49996,$49997,$49998,$49999,$50000,$50001,$50002,$50003,$50004,$50005,$50006,$50007,$50008),(nextval($50009),$50010,$50011,$50012,$50013,$50014,$50015,$50016,$50017,$50018,$50019,$50020,$50021,$50022),(nextval($50023),$50024,$50025,$50026,$50027,$50028,$50029,$50030,$50031,$50032,$50033,$50034,$50035,$50036),(nextval($50037),$50038,$50039,$50040,$50041,$50042,$50043,$50044,$50045,$50046,$50047,$50048,$50049,$50050),(nextval($50051),$50052,$50053,$50054,$50055,$50056,$50057,$50058,$50059,$50060,$50061,$50062,$50063,$50064),(nextval($50065),$50066,$50067,$50068,$50069,$50070,$50071,$50072,$50073,$50074,$50075,$50076,$50077,$50078),(nextval($50079),$50080,$50081,$50082,$50083,$50084,$50085,$50086,$50087,$50088,$50089,$50090,$50091,$50092),(nextval($50093),$50094,$50095,$50096,$50097,$50098,$50099,$50100,$50101,$50102,$50103,$50104,$50105,$50106),(nextval($50107),$50108,$50109,$50110,$50111,$50112,$50113,$50114,$50115,$50116,$50117,$50118,$50119,$50120),(nextval($50121),$50122,$50123,$50124,$50125,$50126,$50127,$50128,$50129,$50130,$50131,$50132,$50133,$50134),(nextval($50135),$50136,$50137,$50138,$50139,$50140,$50141,$50142,$50143,$50144,$50145,$50146,$50147,$50148),(nextval($50149),$50150,$50151,$50152,$50153,$50154,$50155,$50156,$50157,$50158,$50159,$50160,$50161,$50162),(nextval($50163),$50164,$50165,$50166,$50167,$50168,$50169,$50170,$50171,$50172,$50173,$50174,$50175,$50176),(nextval($50177),$50178,$50179,$50180,$50181,$50182,$50183,$50184,$50185,$50186,$50187,$50188,$50189,$50190),(nextval($50191),$50192,$50193,$50194,$50195,$50196,$50197,$50198,$50199,$50200,$50201,$50202,$50203,$50204),(nextval($50205),$50206,$50207,$50208,$50209,$50210,$50211,$50212,$50213,$50214,$50215,$50216,$50217,$50218),(nextval($50219),$50220,$50221,$50222,$50223,$50224,$50225,$50226,$50227,$50228,$50229,$50230,$50231,$50232),(nextval($50233),$50234,$50235,$50236,$50237,$50238,$50239,$50240,$50241,$50242,$50243,$50244,$50245,$50246),(nextval($50247),$50248,$50249,$50250,$50251,$50252,$50253,$50254,$50255,$50256,$50257,$50258,$50259,$50260),(nextval($50261),$50262,$50263,$50264,$50265,$50266,$50267,$50268,$50269,$50270,$50271,$50272,$50273,$50274),(nextval($50275),$50276,$50277,$50278,$50279,$50280,$50281,$50282,$50283,$50284,$50285,$50286,$50287,$50288),(nextval($50289),$50290,$50291,$50292,$50293,$50294,$50295,$50296,$50297,$50298,$50299,$50300,$50301,$50302),(nextval($50303),$50304,$50305,$50306,$50307,$50308,$50309,$50310,$50311,$50312,$50313,$50314,$50315,$50316),(nextval($50317),$50318,$50319,$50320,$50321,$50322,$50323,$50324,$50325,$50326,$50327,$50328,$50329,$50330),(nextval($50331),$50332,$50333,$50334,$50335,$50336,$50337,$50338,$50339,$50340,$50341,$50342,$50343,$50344),(nextval($50345),$50346,$50347,$50348,$50349,$50350,$50351,$50352,$50353,$50354,$50355,$50356,$50357,$50358),(nextval($50359),$50360,$50361,$50362,$50363,$50364,$50365,$50366,$50367,$50368,$50369,$50370,$50371,$50372),(nextval($50373),$50374,$50375,$50376,$50377,$50378,$50379,$50380,$50381,$50382,$50383,$50384,$50385,$50386),(nextval($50387),$50388,$50389,$50390,$50391,$50392,$50393,$50394,$50395,$50396,$50397,$50398,$50399,$50400),(nextval($50401),$50402,$50403,$50404,$50405,$50406,$50407,$50408,$50409,$50410,$50411,$50412,$50413,$50414),(nextval($50415),$50416,$50417,$50418,$50419,$50420,$50421,$50422,$50423,$50424,$50425,$50426,$50427,$50428),(nextval($50429),$50430,$50431,$50432,$50433,$50434,$50435,$50436,$50437,$50438,$50439,$50440,$50441,$50442),(nextval($50443),$50444,$50445,$50446,$50447,$50448,$50449,$50450,$50451,$50452,$50453,$50454,$50455,$50456),(nextval($50457),$50458,$50459,$50460,$50461,$50462,$50463,$50464,$50465,$50466,$50467,$50468,$50469,$50470),(nextval($50471),$50472,$50473,$50474,$50475,$50476,$50477,$50478,$50479,$50480,$50481,$50482,$50483,$50484),(nextval($50485),$50486,$50487,$50488,$50489,$50490,$50491,$50492,$50493,$50494,$50495,$50496,$50497,$50498),(nextval($50499),$50500,$50501,$50502,$50503,$50504,$50505,$50506,$50507,$50508,$50509,$50510,$50511,$50512),(nextval($50513),$50514,$50515,$50516,$50517,$50518,$50519,$50520,$50521,$50522,$50523,$50524,$50525,$50526),(nextval($50527),$50528,$50529,$50530,$50531,$50532,$50533,$50534,$50535,$50536,$50537,$50538,$50539,$50540),(nextval($50541),$50542,$50543,$50544,$50545,$50546,$50547,$50548,$50549,$50550,$50551,$50552,$50553,$50554),(nextval($50555),$50556,$50557,$50558,$50559,$50560,$50561,$50562,$50563,$50564,$50565,$50566,$50567,$50568),(nextval($50569),$50570,$50571,$50572,$50573,$50574,$50575,$50576,$50577,$50578,$50579,$50580,$50581,$50582),(nextval($50583),$50584,$50585,$50586,$50587,$50588,$50589,$50590,$50591,$50592,$50593,$50594,$50595,$50596),(nextval($50597),$50598,$50599,$50600,$50601,$50602,$50603,$50604,$50605,$50606,$50607,$50608,$50609,$50610),(nextval($50611),$50612,$50613,$50614,$50615,$50616,$50617,$50618,$50619,$50620,$50621,$50622,$50623,$50624),(nextval($50625),$50626,$50627,$50628,$50629,$50630,$50631,$50632,$50633,$50634,$50635,$50636,$50637,$50638),(nextval($50639),$50640,$50641,$50642,$50643,$50644,$50645,$50646,$50647,$50648,$50649,$50650,$50651,$50652),(nextval($50653),$50654,$50655,$50656,$50657,$50658,$50659,$50660,$50661,$50662,$50663,$50664,$50665,$50666),(nextval($50667),$50668,$50669,$50670,$50671,$50672,$50673,$50674,$50675,$50676,$50677,$50678,$50679,$50680),(nextval($50681),$50682,$50683,$50684,$50685,$50686,$50687,$50688,$50689,$50690,$50691,$50692,$50693,$50694),(nextval($50695),$50696,$50697,$50698,$50699,$50700,$50701,$50702,$50703,$50704,$50705,$50706,$50707,$50708),(nextval($50709),$50710,$50711,$50712,$50713,$50714,$50715,$50716,$50717,$50718,$50719,$50720,$50721,$50722),(nextval($50723),$50724,$50725,$50726,$50727,$50728,$50729,$50730,$50731,$50732,$50733,$50734,$50735,$50736),(nextval($50737),$50738,$50739,$50740,$50741,$50742,$50743,$50744,$50745,$50746,$50747,$50748,$50749,$50750),(nextval($50751),$50752,$50753,$50754,$50755,$50756,$50757,$50758,$50759,$50760,$50761,$50762,$50763,$50764),(nextval($50765),$50766,$50767,$50768,$50769,$50770,$50771,$50772,$50773,$50774,$50775,$50776,$50777,$50778),(nextval($50779),$50780,$50781,$50782,$50783,$50784,$50785,$50786,$50787,$50788,$50789,$50790,$50791,$50792),(nextval($50793),$50794,$50795,$50796,$50797,$50798,$50799,$50800,$50801,$50802,$50803,$50804,$50805,$50806),(nextval($50807),$50808,$50809,$50810,$50811,$50812,$50813,$50814,$50815,$50816,$50817,$50818,$50819,$50820),(nextval($50821),$50822,$50823,$50824,$50825,$50826,$50827,$50828,$50829,$50830,$50831,$50832,$50833,$50834),(nextval($50835),$50836,$50837,$50838,$50839,$50840,$50841,$50842,$50843,$50844,$50845,$50846,$50847,$50848),(nextval($50849),$50850,$50851,$50852,$50853,$50854,$50855,$50856,$50857,$50858,$50859,$50860,$50861,$50862),(nextval($50863),$50864,$50865,$50866,$50867,$50868,$50869,$50870,$50871,$50872,$50873,$50874,$50875,$50876),(nextval($50877),$50878,$50879,$50880,$50881,$50882,$50883,$50884,$50885,$50886,$50887,$50888,$50889,$50890),(nextval($50891),$50892,$50893,$50894,$50895,$50896,$50897,$50898,$50899,$50900,$50901,$50902,$50903,$50904),(nextval($50905),$50906,$50907,$50908,$50909,$50910,$50911,$50912,$50913,$50914,$50915,$50916,$50917,$50918),(nextval($50919),$50920,$50921,$50922,$50923,$50924,$50925,$50926,$50927,$50928,$50929,$50930,$50931,$50932),(nextval($50933),$50934,$50935,$50936,$50937,$50938,$50939,$50940,$50941,$50942,$50943,$50944,$50945,$50946),(nextval($50947),$50948,$50949,$50950,$50951,$50952,$50953,$50954,$50955,$50956,$50957,$50958,$50959,$50960),(nextval($50961),$50962,$50963,$50964,$50965,$50966,$50967,$50968,$50969,$50970,$50971,$50972,$50973,$50974),(nextval($50975),$50976,$50977,$50978,$50979,$50980,$50981,$50982,$50983,$50984,$50985,$50986,$50987,$50988),(nextval($50989),$50990,$50991,$50992,$50993,$50994,$50995,$50996,$50997,$50998,$50999,$51000,$51001,$51002),(nextval($51003),$51004,$51005,$51006,$51007,$51008,$51009,$51010,$51011,$51012,$51013,$51014,$51015,$51016),(nextval($51017),$51018,$51019,$51020,$51021,$51022,$51023,$51024,$51025,$51026,$51027,$51028,$51029,$51030),(nextval($51031),$51032,$51033,$51034,$51035,$51036,$51037,$51038,$51039,$51040,$51041,$51042,$51043,$51044),(nextval($51045),$51046,$51047,$51048,$51049,$51050,$51051,$51052,$51053,$51054,$51055,$51056,$51057,$51058),(nextval($51059),$51060,$51061,$51062,$51063,$51064,$51065,$51066,$51067,$51068,$51069,$51070,$51071,$51072),(nextval($51073),$51074,$51075,$51076,$51077,$51078,$51079,$51080,$51081,$51082,$51083,$51084,$51085,$51086),(nextval($51087),$51088,$51089,$51090,$51091,$51092,$51093,$51094,$51095,$51096,$51097,$51098,$51099,$51100),(nextval($51101),$51102,$51103,$51104,$51105,$51106,$51107,$51108,$51109,$51110,$51111,$51112,$51113,$51114),(nextval($51115),$51116,$51117,$51118,$51119,$51120,$51121,$51122,$51123,$51124,$51125,$51126,$51127,$51128),(nextval($51129),$51130,$51131,$51132,$51133,$51134,$51135,$51136,$51137,$51138,$51139,$51140,$51141,$51142),(nextval($51143),$51144,$51145,$51146,$51147,$51148,$51149,$51150,$51151,$51152,$51153,$51154,$51155,$51156),(nextval($51157),$51158,$51159,$51160,$51161,$51162,$51163,$51164,$51165,$51166,$51167,$51168,$51169,$51170),(nextval($51171),$51172,$51173,$51174,$51175,$51176,$51177,$51178,$51179,$51180,$51181,$51182,$51183,$51184),(nextval($51185),$51186,$51187,$51188,$51189,$51190,$51191,$51192,$51193,$51194,$51195,$51196,$51197,$51198),(nextval($51199),$51200,$51201,$51202,$51203,$51204,$51205,$51206,$51207,$51208,$51209,$51210,$51211,$51212),(nextval($51213),$51214,$51215,$51216,$51217,$51218,$51219,$51220,$51221,$51222,$51223,$51224,$51225,$51226),(nextval($51227),$51228,$51229,$51230,$51231,$51232,$51233,$51234,$51235,$51236,$51237,$51238,$51239,$51240),(nextval($51241),$51242,$51243,$51244,$51245,$51246,$51247,$51248,$51249,$51250,$51251,$51252,$51253,$51254),(nextval($51255),$51256,$51257,$51258,$51259,$51260,$51261,$51262,$51263,$51264,$51265,$51266,$51267,$51268),(nextval($51269),$51270,$51271,$51272,$51273,$51274,$51275,$51276,$51277,$51278,$51279,$51280,$51281,$51282),(nextval($51283),$51284,$51285,$51286,$51287,$51288,$51289,$51290,$51291,$51292,$51293,$51294,$51295,$51296),(nextval($51297),$51298,$51299,$51300,$51301,$51302,$51303,$51304,$51305,$51306,$51307,$51308,$51309,$51310),(nextval($51311),$51312,$51313,$51314,$51315,$51316,$51317,$51318,$51319,$51320,$51321,$51322,$51323,$51324),(nextval($51325),$51326,$51327,$51328,$51329,$51330,$51331,$51332,$51333,$51334,$51335,$51336,$51337,$51338),(nextval($51339),$51340,$51341,$51342,$51343,$51344,$51345,$51346,$51347,$51348,$51349,$51350,$51351,$51352),(nextval($51353),$51354,$51355,$51356,$51357,$51358,$51359,$51360,$51361,$51362,$51363,$51364,$51365,$51366),(nextval($51367),$51368,$51369,$51370,$51371,$51372,$51373,$51374,$51375,$51376,$51377,$51378,$51379,$51380),(nextval($51381),$51382,$51383,$51384,$51385,$51386,$51387,$51388,$51389,$51390,$51391,$51392,$51393,$51394),(nextval($51395),$51396,$51397,$51398,$51399,$51400,$51401,$51402,$51403,$51404,$51405,$51406,$51407,$51408),(nextval($51409),$51410,$51411,$51412,$51413,$51414,$51415,$51416,$51417,$51418,$51419,$51420,$51421,$51422),(nextval($51423),$51424,$51425,$51426,$51427,$51428,$51429,$51430,$51431,$51432,$51433,$51434,$51435,$51436),(nextval($51437),$51438,$51439,$51440,$51441,$51442,$51443,$51444,$51445,$51446,$51447,$51448,$51449,$51450),(nextval($51451),$51452,$51453,$51454,$51455,$51456,$51457,$51458,$51459,$51460,$51461,$51462,$51463,$51464),(nextval($51465),$51466,$51467,$51468,$51469,$51470,$51471,$51472,$51473,$51474,$51475,$51476,$51477,$51478),(nextval($51479),$51480,$51481,$51482,$51483,$51484,$51485,$51486,$51487,$51488,$51489,$51490,$51491,$51492),(nextval($51493),$51494,$51495,$51496,$51497,$51498,$51499,$51500,$51501,$51502,$51503,$51504,$51505,$51506),(nextval($51507),$51508,$51509,$51510,$51511,$51512,$51513,$51514,$51515,$51516,$51517,$51518,$51519,$51520),(nextval($51521),$51522,$51523,$51524,$51525,$51526,$51527,$51528,$51529,$51530,$51531,$51532,$51533,$51534),(nextval($51535),$51536,$51537,$51538,$51539,$51540,$51541,$51542,$51543,$51544,$51545,$51546,$51547,$51548),(nextval($51549),$51550,$51551,$51552,$51553,$51554,$51555,$51556,$51557,$51558,$51559,$51560,$51561,$51562),(nextval($51563),$51564,$51565,$51566,$51567,$51568,$51569,$51570,$51571,$51572,$51573,$51574,$51575,$51576),(nextval($51577),$51578,$51579,$51580,$51581,$51582,$51583,$51584,$51585,$51586,$51587,$51588,$51589,$51590),(nextval($51591),$51592,$51593,$51594,$51595,$51596,$51597,$51598,$51599,$51600,$51601,$51602,$51603,$51604),(nextval($51605),$51606,$51607,$51608,$51609,$51610,$51611,$51612,$51613,$51614,$51615,$51616,$51617,$51618),(nextval($51619),$51620,$51621,$51622,$51623,$51624,$51625,$51626,$51627,$51628,$51629,$51630,$51631,$51632),(nextval($51633),$51634,$51635,$51636,$51637,$51638,$51639,$51640,$51641,$51642,$51643,$51644,$51645,$51646),(nextval($51647),$51648,$51649,$51650,$51651,$51652,$51653,$51654,$51655,$51656,$51657,$51658,$51659,$51660),(nextval($51661),$51662,$51663,$51664,$51665,$51666,$51667,$51668,$51669,$51670,$51671,$51672,$51673,$51674),(nextval($51675),$51676,$51677,$51678,$51679,$51680,$51681,$51682,$51683,$51684,$51685,$51686,$51687,$51688),(nextval($51689),$51690,$51691,$51692,$51693,$51694,$51695,$51696,$51697,$51698,$51699,$51700,$51701,$51702),(nextval($51703),$51704,$51705,$51706,$51707,$51708,$51709,$51710,$51711,$51712,$51713,$51714,$51715,$51716),(nextval($51717),$51718,$51719,$51720,$51721,$51722,$51723,$51724,$51725,$51726,$51727,$51728,$51729,$51730),(nextval($51731),$51732,$51733,$51734,$51735,$51736,$51737,$51738,$51739,$51740,$51741,$51742,$51743,$51744),(nextval($51745),$51746,$51747,$51748,$51749,$51750,$51751,$51752,$51753,$51754,$51755,$51756,$51757,$51758),(nextval($51759),$51760,$51761,$51762,$51763,$51764,$51765,$51766,$51767,$51768,$51769,$51770,$51771,$51772),(nextval($51773),$51774,$51775,$51776,$51777,$51778,$51779,$51780,$51781,$51782,$51783,$51784,$51785,$51786),(nextval($51787),$51788,$51789,$51790,$51791,$51792,$51793,$51794,$51795,$51796,$51797,$51798,$51799,$51800),(nextval($51801),$51802,$51803,$51804,$51805,$51806,$51807,$51808,$51809,$51810,$51811,$51812,$51813,$51814),(nextval($51815),$51816,$51817,$51818,$51819,$51820,$51821,$51822,$51823,$51824,$51825,$51826,$51827,$51828),(nextval($51829),$51830,$51831,$51832,$51833,$51834,$51835,$51836,$51837,$51838,$51839,$51840,$51841,$51842),(nextval($51843),$51844,$51845,$51846,$51847,$51848,$51849,$51850,$51851,$51852,$51853,$51854,$51855,$51856),(nextval($51857),$51858,$51859,$51860,$51861,$51862,$51863,$51864,$51865,$51866,$51867,$51868,$51869,$51870),(nextval($51871),$51872,$51873,$51874,$51875,$51876,$51877,$51878,$51879,$51880,$51881,$51882,$51883,$51884),(nextval($51885),$51886,$51887,$51888,$51889,$51890,$51891,$51892,$51893,$51894,$51895,$51896,$51897,$51898),(nextval($51899),$51900,$51901,$51902,$51903,$51904,$51905,$51906,$51907,$51908,$51909,$51910,$51911,$51912),(nextval($51913),$51914,$51915,$51916,$51917,$51918,$51919,$51920,$51921,$51922,$51923,$51924,$51925,$51926),(nextval($51927),$51928,$51929,$51930,$51931,$51932,$51933,$51934,$51935,$51936,$51937,$51938,$51939,$51940),(nextval($51941),$51942,$51943,$51944,$51945,$51946,$51947,$51948,$51949,$51950,$51951,$51952,$51953,$51954),(nextval($51955),$51956,$51957,$51958,$51959,$51960,$51961,$51962,$51963,$51964,$51965,$51966,$51967,$51968),(nextval($51969),$51970,$51971,$51972,$51973,$51974,$51975,$51976,$51977,$51978,$51979,$51980,$51981,$51982),(nextval($51983),$51984,$51985,$51986,$51987,$51988,$51989,$51990,$51991,$51992,$51993,$51994,$51995,$51996),(nextval($51997),$51998,$51999,$52000,$52001,$52002,$52003,$52004,$52005,$52006,$52007,$52008,$52009,$52010),(nextval($52011),$52012,$52013,$52014,$52015,$52016,$52017,$52018,$52019,$52020,$52021,$52022,$52023,$52024),(nextval($52025),$52026,$52027,$52028,$52029,$52030,$52031,$52032,$52033,$52034,$52035,$52036,$52037,$52038),(nextval($52039),$52040,$52041,$52042,$52043,$52044,$52045,$52046,$52047,$52048,$52049,$52050,$52051,$52052),(nextval($52053),$52054,$52055,$52056,$52057,$52058,$52059,$52060,$52061,$52062,$52063,$52064,$52065,$52066),(nextval($52067),$52068,$52069,$52070,$52071,$52072,$52073,$52074,$52075,$52076,$52077,$52078,$52079,$52080),(nextval($52081),$52082,$52083,$52084,$52085,$52086,$52087,$52088,$52089,$52090,$52091,$52092,$52093,$52094),(nextval($52095),$52096,$52097,$52098,$52099,$52100,$52101,$52102,$52103,$52104,$52105,$52106,$52107,$52108),(nextval($52109),$52110,$52111,$52112,$52113,$52114,$52115,$52116,$52117,$52118,$52119,$52120,$52121,$52122),(nextval($52123),$52124,$52125,$52126,$52127,$52128,$52129,$52130,$52131,$52132,$52133,$52134,$52135,$52136),(nextval($52137),$52138,$52139,$52140,$52141,$52142,$52143,$52144,$52145,$52146,$52147,$52148,$52149,$52150),(nextval($52151),$52152,$52153,$52154,$52155,$52156,$52157,$52158,$52159,$52160,$52161,$52162,$52163,$52164),(nextval($52165),$52166,$52167,$52168,$52169,$52170,$52171,$52172,$52173,$52174,$52175,$52176,$52177,$52178),(nextval($52179),$52180,$52181,$52182,$52183,$52184,$52185,$52186,$52187,$52188,$52189,$52190,$52191,$52192),(nextval($52193),$52194,$52195,$52196,$52197,$52198,$52199,$52200,$52201,$52202,$52203,$52204,$52205,$52206),(nextval($52207),$52208,$52209,$52210,$52211,$52212,$52213,$52214,$52215,$52216,$52217,$52218,$52219,$52220),(nextval($52221),$52222,$52223,$52224,$52225,$52226,$52227,$52228,$52229,$52230,$52231,$52232,$52233,$52234),(nextval($52235),$52236,$52237,$52238,$52239,$52240,$52241,$52242,$52243,$52244,$52245,$52246,$52247,$52248),(nextval($52249),$52250,$52251,$52252,$52253,$52254,$52255,$52256,$52257,$52258,$52259,$52260,$52261,$52262),(nextval($52263),$52264,$52265,$52266,$52267,$52268,$52269,$52270,$52271,$52272,$52273,$52274,$52275,$52276),(nextval($52277),$52278,$52279,$52280,$52281,$52282,$52283,$52284,$52285,$52286,$52287,$52288,$52289,$52290),(nextval($52291),$52292,$52293,$52294,$52295,$52296,$52297,$52298,$52299,$52300,$52301,$52302,$52303,$52304),(nextval($52305),$52306,$52307,$52308,$52309,$52310,$52311,$52312,$52313,$52314,$52315,$52316,$52317,$52318),(nextval($52319),$52320,$52321,$52322,$52323,$52324,$52325,$52326,$52327,$52328,$52329,$52330,$52331,$52332),(nextval($52333),$52334,$52335,$52336,$52337,$52338,$52339,$52340,$52341,$52342,$52343,$52344,$52345,$52346),(nextval($52347),$52348,$52349,$52350,$52351,$52352,$52353,$52354,$52355,$52356,$52357,$52358,$52359,$52360),(nextval($52361),$52362,$52363,$52364,$52365,$52366,$52367,$52368,$52369,$52370,$52371,$52372,$52373,$52374),(nextval($52375),$52376,$52377,$52378,$52379,$52380,$52381,$52382,$52383,$52384,$52385,$52386,$52387,$52388),(nextval($52389),$52390,$52391,$52392,$52393,$52394,$52395,$52396,$52397,$52398,$52399,$52400,$52401,$52402),(nextval($52403),$52404,$52405,$52406,$52407,$52408,$52409,$52410,$52411,$52412,$52413,$52414,$52415,$52416),(nextval($52417),$52418,$52419,$52420,$52421,$52422,$52423,$52424,$52425,$52426,$52427,$52428,$52429,$52430),(nextval($52431),$52432,$52433,$52434,$52435,$52436,$52437,$52438,$52439,$52440,$52441,$52442,$52443,$52444),(nextval($52445),$52446,$52447,$52448,$52449,$52450,$52451,$52452,$52453,$52454,$52455,$52456,$52457,$52458),(nextval($52459),$52460,$52461,$52462,$52463,$52464,$52465,$52466,$52467,$52468,$52469,$52470,$52471,$52472),(nextval($52473),$52474,$52475,$52476,$52477,$52478,$52479,$52480,$52481,$52482,$52483,$52484,$52485,$52486),(nextval($52487),$52488,$52489,$52490,$52491,$52492,$52493,$52494,$52495,$52496,$52497,$52498,$52499,$52500),(nextval($52501),$52502,$52503,$52504,$52505,$52506,$52507,$52508,$52509,$52510,$52511,$52512,$52513,$52514),(nextval($52515),$52516,$52517,$52518,$52519,$52520,$52521,$52522,$52523,$52524,$52525,$52526,$52527,$52528),(nextval($52529),$52530,$52531,$52532,$52533,$52534,$52535,$52536,$52537,$52538,$52539,$52540,$52541,$52542),(nextval($52543),$52544,$52545,$52546,$52547,$52548,$52549,$52550,$52551,$52552,$52553,$52554,$52555,$52556),(nextval($52557),$52558,$52559,$52560,$52561,$52562,$52563,$52564,$52565,$52566,$52567,$52568,$52569,$52570),(nextval($52571),$52572,$52573,$52574,$52575,$52576,$52577,$52578,$52579,$52580,$52581,$52582,$52583,$52584),(nextval($52585),$52586,$52587,$52588,$52589,$52590,$52591,$52592,$52593,$52594,$52595,$52596,$52597,$52598),(nextval($52599),$52600,$52601,$52602,$52603,$52604,$52605,$52606,$52607,$52608,$52609,$52610,$52611,$52612),(nextval($52613),$52614,$52615,$52616,$52617,$52618,$52619,$52620,$52621,$52622,$52623,$52624,$52625,$52626),(nextval($52627),$52628,$52629,$52630,$52631,$52632,$52633,$52634,$52635,$52636,$52637,$52638,$52639,$52640),(nextval($52641),$52642,$52643,$52644,$52645,$52646,$52647,$52648,$52649,$52650,$52651,$52652,$52653,$52654),(nextval($52655),$52656,$52657,$52658,$52659,$52660,$52661,$52662,$52663,$52664,$52665,$52666,$52667,$52668),(nextval($52669),$52670,$52671,$52672,$52673,$52674,$52675,$52676,$52677,$52678,$52679,$52680,$52681,$52682),(nextval($52683),$52684,$52685,$52686,$52687,$52688,$52689,$52690,$52691,$52692,$52693,$52694,$52695,$52696),(nextval($52697),$52698,$52699,$52700,$52701,$52702,$52703,$52704,$52705,$52706,$52707,$52708,$52709,$52710),(nextval($52711),$52712,$52713,$52714,$52715,$52716,$52717,$52718,$52719,$52720,$52721,$52722,$52723,$52724),(nextval($52725),$52726,$52727,$52728,$52729,$52730,$52731,$52732,$52733,$52734,$52735,$52736,$52737,$52738),(nextval($52739),$52740,$52741,$52742,$52743,$52744,$52745,$52746,$52747,$52748,$52749,$52750,$52751,$52752),(nextval($52753),$52754,$52755,$52756,$52757,$52758,$52759,$52760,$52761,$52762,$52763,$52764,$52765,$52766),(nextval($52767),$52768,$52769,$52770,$52771,$52772,$52773,$52774,$52775,$52776,$52777,$52778,$52779,$52780),(nextval($52781),$52782,$52783,$52784,$52785,$52786,$52787,$52788,$52789,$52790,$52791,$52792,$52793,$52794),(nextval($52795),$52796,$52797,$52798,$52799,$52800,$52801,$52802,$52803,$52804,$52805,$52806,$52807,$52808),(nextval($52809),$52810,$52811,$52812,$52813,$52814,$52815,$52816,$52817,$52818,$52819,$52820,$52821,$52822),(nextval($52823),$52824,$52825,$52826,$52827,$52828,$52829,$52830,$52831,$52832,$52833,$52834,$52835,$52836),(nextval($52837),$52838,$52839,$52840,$52841,$52842,$52843,$52844,$52845,$52846,$52847,$52848,$52849,$52850),(nextval($52851),$52852,$52853,$52854,$52855,$52856,$52857,$52858,$52859,$52860,$52861,$52862,$52863,$52864),(nextval($52865),$52866,$52867,$52868,$52869,$52870,$52871,$52872,$52873,$52874,$52875,$52876,$52877,$52878),(nextval($52879),$52880,$52881,$52882,$52883,$52884,$52885,$52886,$52887,$52888,$52889,$52890,$52891,$52892),(nextval($52893),$52894,$52895,$52896,$52897,$52898,$52899,$52900,$52901,$52902,$52903,$52904,$52905,$52906),(nextval($52907),$52908,$52909,$52910,$52911,$52912,$52913,$52914,$52915,$52916,$52917,$52918,$52919,$52920),(nextval($52921),$52922,$52923,$52924,$52925,$52926,$52927,$52928,$52929,$52930,$52931,$52932,$52933,$52934),(nextval($52935),$52936,$52937,$52938,$52939,$52940,$52941,$52942,$52943,$52944,$52945,$52946,$52947,$52948),(nextval($52949),$52950,$52951,$52952,$52953,$52954,$52955,$52956,$52957,$52958,$52959,$52960,$52961,$52962),(nextval($52963),$52964,$52965,$52966,$52967,$52968,$52969,$52970,$52971,$52972,$52973,$52974,$52975,$52976),(nextval($52977),$52978,$52979,$52980,$52981,$52982,$52983,$52984,$52985,$52986,$52987,$52988,$52989,$52990),(nextval($52991),$52992,$52993,$52994,$52995,$52996,$52997,$52998,$52999,$53000,$53001,$53002,$53003,$53004),(nextval($53005),$53006,$53007,$53008,$53009,$53010,$53011,$53012,$53013,$53014,$53015,$53016,$53017,$53018),(nextval($53019),$53020,$53021,$53022,$53023,$53024,$53025,$53026,$53027,$53028,$53029,$53030,$53031,$53032),(nextval($53033),$53034,$53035,$53036,$53037,$53038,$53039,$53040,$53041,$53042,$53043,$53044,$53045,$53046),(nextval($53047),$53048,$53049,$53050,$53051,$53052,$53053,$53054,$53055,$53056,$53057,$53058,$53059,$53060),(nextval($53061),$53062,$53063,$53064,$53065,$53066,$53067,$53068,$53069,$53070,$53071,$53072,$53073,$53074),(nextval($53075),$53076,$53077,$53078,$53079,$53080,$53081,$53082,$53083,$53084,$53085,$53086,$53087,$53088),(nextval($53089),$53090,$53091,$53092,$53093,$53094,$53095,$53096,$53097,$53098,$53099,$53100,$53101,$53102),(nextval($53103),$53104,$53105,$53106,$53107,$53108,$53109,$53110,$53111,$53112,$53113,$53114,$53115,$53116),(nextval($53117),$53118,$53119,$53120,$53121,$53122,$53123,$53124,$53125,$53126,$53127,$53128,$53129,$53130),(nextval($53131),$53132,$53133,$53134,$53135,$53136,$53137,$53138,$53139,$53140,$53141,$53142,$53143,$53144),(nextval($53145),$53146,$53147,$53148,$53149,$53150,$53151,$53152,$53153,$53154,$53155,$53156,$53157,$53158),(nextval($53159),$53160,$53161,$53162,$53163,$53164,$53165,$53166,$53167,$53168,$53169,$53170,$53171,$53172),(nextval($53173),$53174,$53175,$53176,$53177,$53178,$53179,$53180,$53181,$53182,$53183,$53184,$53185,$53186),(nextval($53187),$53188,$53189,$53190,$53191,$53192,$53193,$53194,$53195,$53196,$53197,$53198,$53199,$53200),(nextval($53201),$53202,$53203,$53204,$53205,$53206,$53207,$53208,$53209,$53210,$53211,$53212,$53213,$53214),(nextval($53215),$53216,$53217,$53218,$53219,$53220,$53221,$53222,$53223,$53224,$53225,$53226,$53227,$53228),(nextval($53229),$53230,$53231,$53232,$53233,$53234,$53235,$53236,$53237,$53238,$53239,$53240,$53241,$53242),(nextval($53243),$53244,$53245,$53246,$53247,$53248,$53249,$53250,$53251,$53252,$53253,$53254,$53255,$53256),(nextval($53257),$53258,$53259,$53260,$53261,$53262,$53263,$53264,$53265,$53266,$53267,$53268,$53269,$53270),(nextval($53271),$53272,$53273,$53274,$53275,$53276,$53277,$53278,$53279,$53280,$53281,$53282,$53283,$53284),(nextval($53285),$53286,$53287,$53288,$53289,$53290,$53291,$53292,$53293,$53294,$53295,$53296,$53297,$53298),(nextval($53299),$53300,$53301,$53302,$53303,$53304,$53305,$53306,$53307,$53308,$53309,$53310,$53311,$53312),(nextval($53313),$53314,$53315,$53316,$53317,$53318,$53319,$53320,$53321,$53322,$53323,$53324,$53325,$53326),(nextval($53327),$53328,$53329,$53330,$53331,$53332,$53333,$53334,$53335,$53336,$53337,$53338,$53339,$53340),(nextval($53341),$53342,$53343,$53344,$53345,$53346,$53347,$53348,$53349,$53350,$53351,$53352,$53353,$53354),(nextval($53355),$53356,$53357,$53358,$53359,$53360,$53361,$53362,$53363,$53364,$53365,$53366,$53367,$53368),(nextval($53369),$53370,$53371,$53372,$53373,$53374,$53375,$53376,$53377,$53378,$53379,$53380,$53381,$53382),(nextval($53383),$53384,$53385,$53386,$53387,$53388,$53389,$53390,$53391,$53392,$53393,$53394,$53395,$53396),(nextval($53397),$53398,$53399,$53400,$53401,$53402,$53403,$53404,$53405,$53406,$53407,$53408,$53409,$53410),(nextval($53411),$53412,$53413,$53414,$53415,$53416,$53417,$53418,$53419,$53420,$53421,$53422,$53423,$53424),(nextval($53425),$53426,$53427,$53428,$53429,$53430,$53431,$53432,$53433,$53434,$53435,$53436,$53437,$53438),(nextval($53439),$53440,$53441,$53442,$53443,$53444,$53445,$53446,$53447,$53448,$53449,$53450,$53451,$53452),(nextval($53453),$53454,$53455,$53456,$53457,$53458,$53459,$53460,$53461,$53462,$53463,$53464,$53465,$53466),(nextval($53467),$53468,$53469,$53470,$53471,$53472,$53473,$53474,$53475,$53476,$53477,$53478,$53479,$53480),(nextval($53481),$53482,$53483,$53484,$53485,$53486,$53487,$53488,$53489,$53490,$53491,$53492,$53493,$53494),(nextval($53495),$53496,$53497,$53498,$53499,$53500,$53501,$53502,$53503,$53504,$53505,$53506,$53507,$53508),(nextval($53509),$53510,$53511,$53512,$53513,$53514,$53515,$53516,$53517,$53518,$53519,$53520,$53521,$53522),(nextval($53523),$53524,$53525,$53526,$53527,$53528,$53529,$53530,$53531,$53532,$53533,$53534,$53535,$53536),(nextval($53537),$53538,$53539,$53540,$53541,$53542,$53543,$53544,$53545,$53546,$53547,$53548,$53549,$53550),(nextval($53551),$53552,$53553,$53554,$53555,$53556,$53557,$53558,$53559,$53560,$53561,$53562,$53563,$53564),(nextval($53565),$53566,$53567,$53568,$53569,$53570,$53571,$53572,$53573,$53574,$53575,$53576,$53577,$53578),(nextval($53579),$53580,$53581,$53582,$53583,$53584,$53585,$53586,$53587,$53588,$53589,$53590,$53591,$53592),(nextval($53593),$53594,$53595,$53596,$53597,$53598,$53599,$53600,$53601,$53602,$53603,$53604,$53605,$53606),(nextval($53607),$53608,$53609,$53610,$53611,$53612,$53613,$53614,$53615,$53616,$53617,$53618,$53619,$53620),(nextval($53621),$53622,$53623,$53624,$53625,$53626,$53627,$53628,$53629,$53630,$53631,$53632,$53633,$53634),(nextval($53635),$53636,$53637,$53638,$53639,$53640,$53641,$53642,$53643,$53644,$53645,$53646,$53647,$53648),(nextval($53649),$53650,$53651,$53652,$53653,$53654,$53655,$53656,$53657,$53658,$53659,$53660,$53661,$53662),(nextval($53663),$53664,$53665,$53666,$53667,$53668,$53669,$53670,$53671,$53672,$53673,$53674,$53675,$53676),(nextval($53677),$53678,$53679,$53680,$53681,$53682,$53683,$53684,$53685,$53686,$53687,$53688,$53689,$53690),(nextval($53691),$53692,$53693,$53694,$53695,$53696,$53697,$53698,$53699,$53700,$53701,$53702,$53703,$53704),(nextval($53705),$53706,$53707,$53708,$53709,$53710,$53711,$53712,$53713,$53714,$53715,$53716,$53717,$53718),(nextval($53719),$53720,$53721,$53722,$53723,$53724,$53725,$53726,$53727,$53728,$53729,$53730,$53731,$53732),(nextval($53733),$53734,$53735,$53736,$53737,$53738,$53739,$53740,$53741,$53742,$53743,$53744,$53745,$53746),(nextval($53747),$53748,$53749,$53750,$53751,$53752,$53753,$53754,$53755,$53756,$53757,$53758,$53759,$53760),(nextval($53761),$53762,$53763,$53764,$53765,$53766,$53767,$53768,$53769,$53770,$53771,$53772,$53773,$53774),(nextval($53775),$53776,$53777,$53778,$53779,$53780,$53781,$53782,$53783,$53784,$53785,$53786,$53787,$53788),(nextval($53789),$53790,$53791,$53792,$53793,$53794,$53795,$53796,$53797,$53798,$53799,$53800,$53801,$53802),(nextval($53803),$53804,$53805,$53806,$53807,$53808,$53809,$53810,$53811,$53812,$53813,$53814,$53815,$53816),(nextval($53817),$53818,$53819,$53820,$53821,$53822,$53823,$53824,$53825,$53826,$53827,$53828,$53829,$53830),(nextval($53831),$53832,$53833,$53834,$53835,$53836,$53837,$53838,$53839,$53840,$53841,$53842,$53843,$53844),(nextval($53845),$53846,$53847,$53848,$53849,$53850,$53851,$53852,$53853,$53854,$53855,$53856,$53857,$53858),(nextval($53859),$53860,$53861,$53862,$53863,$53864,$53865,$53866,$53867,$53868,$53869,$53870,$53871,$53872),(nextval($53873),$53874,$53875,$53876,$53877,$53878,$53879,$53880,$53881,$53882,$53883,$53884,$53885,$53886),(nextval($53887),$53888,$53889,$53890,$53891,$53892,$53893,$53894,$53895,$53896,$53897,$53898,$53899,$53900),(nextval($53901),$53902,$53903,$53904,$53905,$53906,$53907,$53908,$53909,$53910,$53911,$53912,$53913,$53914),(nextval($53915),$53916,$53917,$53918,$53919,$53920,$53921,$53922,$53923,$53924,$53925,$53926,$53927,$53928),(nextval($53929),$53930,$53931,$53932,$53933,$53934,$53935,$53936,$53937,$53938,$53939,$53940,$53941,$53942),(nextval($53943),$53944,$53945,$53946,$53947,$53948,$53949,$53950,$53951,$53952,$53953,$53954,$53955,$53956),(nextval($53957),$53958,$53959,$53960,$53961,$53962,$53963,$53964,$53965,$53966,$53967,$53968,$53969,$53970),(nextval($53971),$53972,$53973,$53974,$53975,$53976,$53977,$53978,$53979,$53980,$53981,$53982,$53983,$53984),(nextval($53985),$53986,$53987,$53988,$53989,$53990,$53991,$53992,$53993,$53994,$53995,$53996,$53997,$53998),(nextval($53999),$54000,$54001,$54002,$54003,$54004,$54005,$54006,$54007,$54008,$54009,$54010,$54011,$54012),(nextval($54013),$54014,$54015,$54016,$54017,$54018,$54019,$54020,$54021,$54022,$54023,$54024,$54025,$54026),(nextval($54027),$54028,$54029,$54030,$54031,$54032,$54033,$54034,$54035,$54036,$54037,$54038,$54039,$54040),(nextval($54041),$54042,$54043,$54044,$54045,$54046,$54047,$54048,$54049,$54050,$54051,$54052,$54053,$54054),(nextval($54055),$54056,$54057,$54058,$54059,$54060,$54061,$54062,$54063,$54064,$54065,$54066,$54067,$54068),(nextval($54069),$54070,$54071,$54072,$54073,$54074,$54075,$54076,$54077,$54078,$54079,$54080,$54081,$54082),(nextval($54083),$54084,$54085,$54086,$54087,$54088,$54089,$54090,$54091,$54092,$54093,$54094,$54095,$54096),(nextval($54097),$54098,$54099,$54100,$54101,$54102,$54103,$54104,$54105,$54106,$54107,$54108,$54109,$54110),(nextval($54111),$54112,$54113,$54114,$54115,$54116,$54117,$54118,$54119,$54120,$54121,$54122,$54123,$54124),(nextval($54125),$54126,$54127,$54128,$54129,$54130,$54131,$54132,$54133,$54134,$54135,$54136,$54137,$54138),(nextval($54139),$54140,$54141,$54142,$54143,$54144,$54145,$54146,$54147,$54148,$54149,$54150,$54151,$54152),(nextval($54153),$54154,$54155,$54156,$54157,$54158,$54159,$54160,$54161,$54162,$54163,$54164,$54165,$54166),(nextval($54167),$54168,$54169,$54170,$54171,$54172,$54173,$54174,$54175,$54176,$54177,$54178,$54179,$54180),(nextval($54181),$54182,$54183,$54184,$54185,$54186,$54187,$54188,$54189,$54190,$54191,$54192,$54193,$54194),(nextval($54195),$54196,$54197,$54198,$54199,$54200,$54201,$54202,$54203,$54204,$54205,$54206,$54207,$54208),(nextval($54209),$54210,$54211,$54212,$54213,$54214,$54215,$54216,$54217,$54218,$54219,$54220,$54221,$54222),(nextval($54223),$54224,$54225,$54226,$54227,$54228,$54229,$54230,$54231,$54232,$54233,$54234,$54235,$54236),(nextval($54237),$54238,$54239,$54240,$54241,$54242,$54243,$54244,$54245,$54246,$54247,$54248,$54249,$54250),(nextval($54251),$54252,$54253,$54254,$54255,$54256,$54257,$54258,$54259,$54260,$54261,$54262,$54263,$54264),(nextval($54265),$54266,$54267,$54268,$54269,$54270,$54271,$54272,$54273,$54274,$54275,$54276,$54277,$54278),(nextval($54279),$54280,$54281,$54282,$54283,$54284,$54285,$54286,$54287,$54288,$54289,$54290,$54291,$54292),(nextval($54293),$54294,$54295,$54296,$54297,$54298,$54299,$54300,$54301,$54302,$54303,$54304,$54305,$54306),(nextval($54307),$54308,$54309,$54310,$54311,$54312,$54313,$54314,$54315,$54316,$54317,$54318,$54319,$54320),(nextval($54321),$54322,$54323,$54324,$54325,$54326,$54327,$54328,$54329,$54330,$54331,$54332,$54333,$54334),(nextval($54335),$54336,$54337,$54338,$54339,$54340,$54341,$54342,$54343,$54344,$54345,$54346,$54347,$54348),(nextval($54349),$54350,$54351,$54352,$54353,$54354,$54355,$54356,$54357,$54358,$54359,$54360,$54361,$54362),(nextval($54363),$54364,$54365,$54366,$54367,$54368,$54369,$54370,$54371,$54372,$54373,$54374,$54375,$54376),(nextval($54377),$54378,$54379,$54380,$54381,$54382,$54383,$54384,$54385,$54386,$54387,$54388,$54389,$54390),(nextval($54391),$54392,$54393,$54394,$54395,$54396,$54397,$54398,$54399,$54400,$54401,$54402,$54403,$54404),(nextval($54405),$54406,$54407,$54408,$54409,$54410,$54411,$54412,$54413,$54414,$54415,$54416,$54417,$54418),(nextval($54419),$54420,$54421,$54422,$54423,$54424,$54425,$54426,$54427,$54428,$54429,$54430,$54431,$54432),(nextval($54433),$54434,$54435,$54436,$54437,$54438,$54439,$54440,$54441,$54442,$54443,$54444,$54445,$54446),(nextval($54447),$54448,$54449,$54450,$54451,$54452,$54453,$54454,$54455,$54456,$54457,$54458,$54459,$54460),(nextval($54461),$54462,$54463,$54464,$54465,$54466,$54467,$54468,$54469,$54470,$54471,$54472,$54473,$54474),(nextval($54475),$54476,$54477,$54478,$54479,$54480,$54481,$54482,$54483,$54484,$54485,$54486,$54487,$54488),(nextval($54489),$54490,$54491,$54492,$54493,$54494,$54495,$54496,$54497,$54498,$54499,$54500,$54501,$54502),(nextval($54503),$54504,$54505,$54506,$54507,$54508,$54509,$54510,$54511,$54512,$54513,$54514,$54515,$54516),(nextval($54517),$54518,$54519,$54520,$54521,$54522,$54523,$54524,$54525,$54526,$54527,$54528,$54529,$54530),(nextval($54531),$54532,$54533,$54534,$54535,$54536,$54537,$54538,$54539,$54540,$54541,$54542,$54543,$54544),(nextval($54545),$54546,$54547,$54548,$54549,$54550,$54551,$54552,$54553,$54554,$54555,$54556,$54557,$54558),(nextval($54559),$54560,$54561,$54562,$54563,$54564,$54565,$54566,$54567,$54568,$54569,$54570,$54571,$54572),(nextval($54573),$54574,$54575,$54576,$54577,$54578,$54579,$54580,$54581,$54582,$54583,$54584,$54585,$54586),(nextval($54587),$54588,$54589,$54590,$54591,$54592,$54593,$54594,$54595,$54596,$54597,$54598,$54599,$54600),(nextval($54601),$54602,$54603,$54604,$54605,$54606,$54607,$54608,$54609,$54610,$54611,$54612,$54613,$54614),(nextval($54615),$54616,$54617,$54618,$54619,$54620,$54621,$54622,$54623,$54624,$54625,$54626,$54627,$54628),(nextval($54629),$54630,$54631,$54632,$54633,$54634,$54635,$54636,$54637,$54638,$54639,$54640,$54641,$54642),(nextval($54643),$54644,$54645,$54646,$54647,$54648,$54649,$54650,$54651,$54652,$54653,$54654,$54655,$54656),(nextval($54657),$54658,$54659,$54660,$54661,$54662,$54663,$54664,$54665,$54666,$54667,$54668,$54669,$54670),(nextval($54671),$54672,$54673,$54674,$54675,$54676,$54677,$54678,$54679,$54680,$54681,$54682,$54683,$54684),(nextval($54685),$54686,$54687,$54688,$54689,$54690,$54691,$54692,$54693,$54694,$54695,$54696,$54697,$54698),(nextval($54699),$54700,$54701,$54702,$54703,$54704,$54705,$54706,$54707,$54708,$54709,$54710,$54711,$54712),(nextval($54713),$54714,$54715,$54716,$54717,$54718,$54719,$54720,$54721,$54722,$54723,$54724,$54725,$54726),(nextval($54727),$54728,$54729,$54730,$54731,$54732,$54733,$54734,$54735,$54736,$54737,$54738,$54739,$54740),(nextval($54741),$54742,$54743,$54744,$54745,$54746,$54747,$54748,$54749,$54750,$54751,$54752,$54753,$54754),(nextval($54755),$54756,$54757,$54758,$54759,$54760,$54761,$54762,$54763,$54764,$54765,$54766,$54767,$54768),(nextval($54769),$54770,$54771,$54772,$54773,$54774,$54775,$54776,$54777,$54778,$54779,$54780,$54781,$54782),(nextval($54783),$54784,$54785,$54786,$54787,$54788,$54789,$54790,$54791,$54792,$54793,$54794,$54795,$54796),(nextval($54797),$54798,$54799,$54800,$54801,$54802,$54803,$54804,$54805,$54806,$54807,$54808,$54809,$54810),(nextval($54811),$54812,$54813,$54814,$54815,$54816,$54817,$54818,$54819,$54820,$54821,$54822,$54823,$54824),(nextval($54825),$54826,$54827,$54828,$54829,$54830,$54831,$54832,$54833,$54834,$54835,$54836,$54837,$54838),(nextval($54839),$54840,$54841,$54842,$54843,$54844,$54845,$54846,$54847,$54848,$54849,$54850,$54851,$54852),(nextval($54853),$54854,$54855,$54856,$54857,$54858,$54859,$54860,$54861,$54862,$54863,$54864,$54865,$54866),(nextval($54867),$54868,$54869,$54870,$54871,$54872,$54873,$54874,$54875,$54876,$54877,$54878,$54879,$54880),(nextval($54881),$54882,$54883,$54884,$54885,$54886,$54887,$54888,$54889,$54890,$54891,$54892,$54893,$54894),(nextval($54895),$54896,$54897,$54898,$54899,$54900,$54901,$54902,$54903,$54904,$54905,$54906,$54907,$54908),(nextval($54909),$54910,$54911,$54912,$54913,$54914,$54915,$54916,$54917,$54918,$54919,$54920,$54921,$54922),(nextval($54923),$54924,$54925,$54926,$54927,$54928,$54929,$54930,$54931,$54932,$54933,$54934,$54935,$54936),(nextval($54937),$54938,$54939,$54940,$54941,$54942,$54943,$54944,$54945,$54946,$54947,$54948,$54949,$54950),(nextval($54951),$54952,$54953,$54954,$54955,$54956,$54957,$54958,$54959,$54960,$54961,$54962,$54963,$54964),(nextval($54965),$54966,$54967,$54968,$54969,$54970,$54971,$54972,$54973,$54974,$54975,$54976,$54977,$54978),(nextval($54979),$54980,$54981,$54982,$54983,$54984,$54985,$54986,$54987,$54988,$54989,$54990,$54991,$54992),(nextval($54993),$54994,$54995,$54996,$54997,$54998,$54999,$55000,$55001,$55002,$55003,$55004,$55005,$55006),(nextval($55007),$55008,$55009,$55010,$55011,$55012,$55013,$55014,$55015,$55016,$55017,$55018,$55019,$55020),(nextval($55021),$55022,$55023,$55024,$55025,$55026,$55027,$55028,$55029,$55030,$55031,$55032,$55033,$55034),(nextval($55035),$55036,$55037,$55038,$55039,$55040,$55041,$55042,$55043,$55044,$55045,$55046,$55047,$55048),(nextval($55049),$55050,$55051,$55052,$55053,$55054,$55055,$55056,$55057,$55058,$55059,$55060,$55061,$55062),(nextval($55063),$55064,$55065,$55066,$55067,$55068,$55069,$55070,$55071,$55072,$55073,$55074,$55075,$55076),(nextval($55077),$55078,$55079,$55080,$55081,$55082,$55083,$55084,$55085,$55086,$55087,$55088,$55089,$55090),(nextval($55091),$55092,$55093,$55094,$55095,$55096,$55097,$55098,$55099,$55100,$55101,$55102,$55103,$55104),(nextval($55105),$55106,$55107,$55108,$55109,$55110,$55111,$55112,$55113,$55114,$55115,$55116,$55117,$55118),(nextval($55119),$55120,$55121,$55122,$55123,$55124,$55125,$55126,$55127,$55128,$55129,$55130,$55131,$55132),(nextval($55133),$55134,$55135,$55136,$55137,$55138,$55139,$55140,$55141,$55142,$55143,$55144,$55145,$55146),(nextval($55147),$55148,$55149,$55150,$55151,$55152,$55153,$55154,$55155,$55156,$55157,$55158,$55159,$55160),(nextval($55161),$55162,$55163,$55164,$55165,$55166,$55167,$55168,$55169,$55170,$55171,$55172,$55173,$55174),(nextval($55175),$55176,$55177,$55178,$55179,$55180,$55181,$55182,$55183,$55184,$55185,$55186,$55187,$55188),(nextval($55189),$55190,$55191,$55192,$55193,$55194,$55195,$55196,$55197,$55198,$55199,$55200,$55201,$55202),(nextval($55203),$55204,$55205,$55206,$55207,$55208,$55209,$55210,$55211,$55212,$55213,$55214,$55215,$55216),(nextval($55217),$55218,$55219,$55220,$55221,$55222,$55223,$55224,$55225,$55226,$55227,$55228,$55229,$55230),(nextval($55231),$55232,$55233,$55234,$55235,$55236,$55237,$55238,$55239,$55240,$55241,$55242,$55243,$55244),(nextval($55245),$55246,$55247,$55248,$55249,$55250,$55251,$55252,$55253,$55254,$55255,$55256,$55257,$55258),(nextval($55259),$55260,$55261,$55262,$55263,$55264,$55265,$55266,$55267,$55268,$55269,$55270,$55271,$55272),(nextval($55273),$55274,$55275,$55276,$55277,$55278,$55279,$55280,$55281,$55282,$55283,$55284,$55285,$55286),(nextval($55287),$55288,$55289,$55290,$55291,$55292,$55293,$55294,$55295,$55296,$55297,$55298,$55299,$55300),(nextval($55301),$55302,$55303,$55304,$55305,$55306,$55307,$55308,$55309,$55310,$55311,$55312,$55313,$55314),(nextval($55315),$55316,$55317,$55318,$55319,$55320,$55321,$55322,$55323,$55324,$55325,$55326,$55327,$55328),(nextval($55329),$55330,$55331,$55332,$55333,$55334,$55335,$55336,$55337,$55338,$55339,$55340,$55341,$55342),(nextval($55343),$55344,$55345,$55346,$55347,$55348,$55349,$55350,$55351,$55352,$55353,$55354,$55355,$55356),(nextval($55357),$55358,$55359,$55360,$55361,$55362,$55363,$55364,$55365,$55366,$55367,$55368,$55369,$55370),(nextval($55371),$55372,$55373,$55374,$55375,$55376,$55377,$55378,$55379,$55380,$55381,$55382,$55383,$55384),(nextval($55385),$55386,$55387,$55388,$55389,$55390,$55391,$55392,$55393,$55394,$55395,$55396,$55397,$55398),(nextval($55399),$55400,$55401,$55402,$55403,$55404,$55405,$55406,$55407,$55408,$55409,$55410,$55411,$55412),(nextval($55413),$55414,$55415,$55416,$55417,$55418,$55419,$55420,$55421,$55422,$55423,$55424,$55425,$55426),(nextval($55427),$55428,$55429,$55430,$55431,$55432,$55433,$55434,$55435,$55436,$55437,$55438,$55439,$55440),(nextval($55441),$55442,$55443,$55444,$55445,$55446,$55447,$55448,$55449,$55450,$55451,$55452,$55453,$55454),(nextval($55455),$55456,$55457,$55458,$55459,$55460,$55461,$55462,$55463,$55464,$55465,$55466,$55467,$55468),(nextval($55469),$55470,$55471,$55472,$55473,$55474,$55475,$55476,$55477,$55478,$55479,$55480,$55481,$55482),(nextval($55483),$55484,$55485,$55486,$55487,$55488,$55489,$55490,$55491,$55492,$55493,$55494,$55495,$55496),(nextval($55497),$55498,$55499,$55500,$55501,$55502,$55503,$55504,$55505,$55506,$55507,$55508,$55509,$55510),(nextval($55511),$55512,$55513,$55514,$55515,$55516,$55517,$55518,$55519,$55520,$55521,$55522,$55523,$55524),(nextval($55525),$55526,$55527,$55528,$55529,$55530,$55531,$55532,$55533,$55534,$55535,$55536,$55537,$55538),(nextval($55539),$55540,$55541,$55542,$55543,$55544,$55545,$55546,$55547,$55548,$55549,$55550,$55551,$55552),(nextval($55553),$55554,$55555,$55556,$55557,$55558,$55559,$55560,$55561,$55562,$55563,$55564,$55565,$55566),(nextval($55567),$55568,$55569,$55570,$55571,$55572,$55573,$55574,$55575,$55576,$55577,$55578,$55579,$55580),(nextval($55581),$55582,$55583,$55584,$55585,$55586,$55587,$55588,$55589,$55590,$55591,$55592,$55593,$55594),(nextval($55595),$55596,$55597,$55598,$55599,$55600,$55601,$55602,$55603,$55604,$55605,$55606,$55607,$55608),(nextval($55609),$55610,$55611,$55612,$55613,$55614,$55615,$55616,$55617,$55618,$55619,$55620,$55621,$55622),(nextval($55623),$55624,$55625,$55626,$55627,$55628,$55629,$55630,$55631,$55632,$55633,$55634,$55635,$55636),(nextval($55637),$55638,$55639,$55640,$55641,$55642,$55643,$55644,$55645,$55646,$55647,$55648,$55649,$55650),(nextval($55651),$55652,$55653,$55654,$55655,$55656,$55657,$55658,$55659,$55660,$55661,$55662,$55663,$55664),(nextval($55665),$55666,$55667,$55668,$55669,$55670,$55671,$55672,$55673,$55674,$55675,$55676,$55677,$55678),(nextval($55679),$55680,$55681,$55682,$55683,$55684,$55685,$55686,$55687,$55688,$55689,$55690,$55691,$55692),(nextval($55693),$55694,$55695,$55696,$55697,$55698,$55699,$55700,$55701,$55702,$55703,$55704,$55705,$55706),(nextval($55707),$55708,$55709,$55710,$55711,$55712,$55713,$55714,$55715,$55716,$55717,$55718,$55719,$55720),(nextval($55721),$55722,$55723,$55724,$55725,$55726,$55727,$55728,$55729,$55730,$55731,$55732,$55733,$55734),(nextval($55735),$55736,$55737,$55738,$55739,$55740,$55741,$55742,$55743,$55744,$55745,$55746,$55747,$55748),(nextval($55749),$55750,$55751,$55752,$55753,$55754,$55755,$55756,$55757,$55758,$55759,$55760,$55761,$55762),(nextval($55763),$55764,$55765,$55766,$55767,$55768,$55769,$55770,$55771,$55772,$55773,$55774,$55775,$55776),(nextval($55777),$55778,$55779,$55780,$55781,$55782,$55783,$55784,$55785,$55786,$55787,$55788,$55789,$55790),(nextval($55791),$55792,$55793,$55794,$55795,$55796,$55797,$55798,$55799,$55800,$55801,$55802,$55803,$55804),(nextval($55805),$55806,$55807,$55808,$55809,$55810,$55811,$55812,$55813,$55814,$55815,$55816,$55817,$55818),(nextval($55819),$55820,$55821,$55822,$55823,$55824,$55825,$55826,$55827,$55828,$55829,$55830,$55831,$55832),(nextval($55833),$55834,$55835,$55836,$55837,$55838,$55839,$55840,$55841,$55842,$55843,$55844,$55845,$55846),(nextval($55847),$55848,$55849,$55850,$55851,$55852,$55853,$55854,$55855,$55856,$55857,$55858,$55859,$55860),(nextval($55861),$55862,$55863,$55864,$55865,$55866,$55867,$55868,$55869,$55870,$55871,$55872,$55873,$55874),(nextval($55875),$55876,$55877,$55878,$55879,$55880,$55881,$55882,$55883,$55884,$55885,$55886,$55887,$55888),(nextval($55889),$55890,$55891,$55892,$55893,$55894,$55895,$55896,$55897,$55898,$55899,$55900,$55901,$55902),(nextval($55903),$55904,$55905,$55906,$55907,$55908,$55909,$55910,$55911,$55912,$55913,$55914,$55915,$55916),(nextval($55917),$55918,$55919,$55920,$55921,$55922,$55923,$55924,$55925,$55926,$55927,$55928,$55929,$55930),(nextval($55931),$55932,$55933,$55934,$55935,$55936,$55937,$55938,$55939,$55940,$55941,$55942,$55943,$55944),(nextval($55945),$55946,$55947,$55948,$55949,$55950,$55951,$55952,$55953,$55954,$55955,$55956,$55957,$55958),(nextval($55959),$55960,$55961,$55962,$55963,$55964,$55965,$55966,$55967,$55968,$55969,$55970,$55971,$55972),(nextval($55973),$55974,$55975,$55976,$55977,$55978,$55979,$55980,$55981,$55982,$55983,$55984,$55985,$55986),(nextval($55987),$55988,$55989,$55990,$55991,$55992,$55993,$55994,$55995,$55996,$55997,$55998,$55999,$56000),(nextval($56001),$56002,$56003,$56004,$56005,$56006,$56007,$56008,$56009,$56010,$56011,$56012,$56013,$56014),(nextval($56015),$56016,$56017,$56018,$56019,$56020,$56021,$56022,$56023,$56024,$56025,$56026,$56027,$56028),(nextval($56029),$56030,$56031,$56032,$56033,$56034,$56035,$56036,$56037,$56038,$56039,$56040,$56041,$56042),(nextval($56043),$56044,$56045,$56046,$56047,$56048,$56049,$56050,$56051,$56052,$56053,$56054,$56055,$56056),(nextval($56057),$56058,$56059,$56060,$56061,$56062,$56063,$56064,$56065,$56066,$56067,$56068,$56069,$56070),(nextval($56071),$56072,$56073,$56074,$56075,$56076,$56077,$56078,$56079,$56080,$56081,$56082,$56083,$56084),(nextval($56085),$56086,$56087,$56088,$56089,$56090,$56091,$56092,$56093,$56094,$56095,$56096,$56097,$56098),(nextval($56099),$56100,$56101,$56102,$56103,$56104,$56105,$56106,$56107,$56108,$56109,$56110,$56111,$56112),(nextval($56113),$56114,$56115,$56116,$56117,$56118,$56119,$56120,$56121,$56122,$56123,$56124,$56125,$56126),(nextval($56127),$56128,$56129,$56130,$56131,$56132,$56133,$56134,$56135,$56136,$56137,$56138,$56139,$56140),(nextval($56141),$56142,$56143,$56144,$56145,$56146,$56147,$56148,$56149,$56150,$56151,$56152,$56153,$56154),(nextval($56155),$56156,$56157,$56158,$56159,$56160,$56161,$56162,$56163,$56164,$56165,$56166,$56167,$56168),(nextval($56169),$56170,$56171,$56172,$56173,$56174,$56175,$56176,$56177,$56178,$56179,$56180,$56181,$56182),(nextval($56183),$56184,$56185,$56186,$56187,$56188,$56189,$56190,$56191,$56192,$56193,$56194,$56195,$56196),(nextval($56197),$56198,$56199,$56200,$56201,$56202,$56203,$56204,$56205,$56206,$56207,$56208,$56209,$56210),(nextval($56211),$56212,$56213,$56214,$56215,$56216,$56217,$56218,$56219,$56220,$56221,$56222,$56223,$56224),(nextval($56225),$56226,$56227,$56228,$56229,$56230,$56231,$56232,$56233,$56234,$56235,$56236,$56237,$56238),(nextval($56239),$56240,$56241,$56242,$56243,$56244,$56245,$56246,$56247,$56248,$56249,$56250,$56251,$56252),(nextval($56253),$56254,$56255,$56256,$56257,$56258,$56259,$56260,$56261,$56262,$56263,$56264,$56265,$56266),(nextval($56267),$56268,$56269,$56270,$56271,$56272,$56273,$56274,$56275,$56276,$56277,$56278,$56279,$56280),(nextval($56281),$56282,$56283,$56284,$56285,$56286,$56287,$56288,$56289,$56290,$56291,$56292,$56293,$56294),(nextval($56295),$56296,$56297,$56298,$56299,$56300,$56301,$56302,$56303,$56304,$56305,$56306,$56307,$56308),(nextval($56309),$56310,$56311,$56312,$56313,$56314,$56315,$56316,$56317,$56318,$56319,$56320,$56321,$56322),(nextval($56323),$56324,$56325,$56326,$56327,$56328,$56329,$56330,$56331,$56332,$56333,$56334,$56335,$56336),(nextval($56337),$56338,$56339,$56340,$56341,$56342,$56343,$56344,$56345,$56346,$56347,$56348,$56349,$56350),(nextval($56351),$56352,$56353,$56354,$56355,$56356,$56357,$56358,$56359,$56360,$56361,$56362,$56363,$56364),(nextval($56365),$56366,$56367,$56368,$56369,$56370,$56371,$56372,$56373,$56374,$56375,$56376,$56377,$56378),(nextval($56379),$56380,$56381,$56382,$56383,$56384,$56385,$56386,$56387,$56388,$56389,$56390,$56391,$56392),(nextval($56393),$56394,$56395,$56396,$56397,$56398,$56399,$56400,$56401,$56402,$56403,$56404,$56405,$56406),(nextval($56407),$56408,$56409,$56410,$56411,$56412,$56413,$56414,$56415,$56416,$56417,$56418,$56419,$56420),(nextval($56421),$56422,$56423,$56424,$56425,$56426,$56427,$56428,$56429,$56430,$56431,$56432,$56433,$56434),(nextval($56435),$56436,$56437,$56438,$56439,$56440,$56441,$56442,$56443,$56444,$56445,$56446,$56447,$56448),(nextval($56449),$56450,$56451,$56452,$56453,$56454,$56455,$56456,$56457,$56458,$56459,$56460,$56461,$56462),(nextval($56463),$56464,$56465,$56466,$56467,$56468,$56469,$56470,$56471,$56472,$56473,$56474,$56475,$56476),(nextval($56477),$56478,$56479,$56480,$56481,$56482,$56483,$56484,$56485,$56486,$56487,$56488,$56489,$56490),(nextval($56491),$56492,$56493,$56494,$56495,$56496,$56497,$56498,$56499,$56500,$56501,$56502,$56503,$56504),(nextval($56505),$56506,$56507,$56508,$56509,$56510,$56511,$56512,$56513,$56514,$56515,$56516,$56517,$56518),(nextval($56519),$56520,$56521,$56522,$56523,$56524,$56525,$56526,$56527,$56528,$56529,$56530,$56531,$56532),(nextval($56533),$56534,$56535,$56536,$56537,$56538,$56539,$56540,$56541,$56542,$56543,$56544,$56545,$56546),(nextval($56547),$56548,$56549,$56550,$56551,$56552,$56553,$56554,$56555,$56556,$56557,$56558,$56559,$56560),(nextval($56561),$56562,$56563,$56564,$56565,$56566,$56567,$56568,$56569,$56570,$56571,$56572,$56573,$56574),(nextval($56575),$56576,$56577,$56578,$56579,$56580,$56581,$56582,$56583,$56584,$56585,$56586,$56587,$56588),(nextval($56589),$56590,$56591,$56592,$56593,$56594,$56595,$56596,$56597,$56598,$56599,$56600,$56601,$56602),(nextval($56603),$56604,$56605,$56606,$56607,$56608,$56609,$56610,$56611,$56612,$56613,$56614,$56615,$56616),(nextval($56617),$56618,$56619,$56620,$56621,$56622,$56623,$56624,$56625,$56626,$56627,$56628,$56629,$56630),(nextval($56631),$56632,$56633,$56634,$56635,$56636,$56637,$56638,$56639,$56640,$56641,$56642,$56643,$56644),(nextval($56645),$56646,$56647,$56648,$56649,$56650,$56651,$56652,$56653,$56654,$56655,$56656,$56657,$56658),(nextval($56659),$56660,$56661,$56662,$56663,$56664,$56665,$56666,$56667,$56668,$56669,$56670,$56671,$56672),(nextval($56673),$56674,$56675,$56676,$56677,$56678,$56679,$56680,$56681,$56682,$56683,$56684,$56685,$56686),(nextval($56687),$56688,$56689,$56690,$56691,$56692,$56693,$56694,$56695,$56696,$56697,$56698,$56699,$56700),(nextval($56701),$56702,$56703,$56704,$56705,$56706,$56707,$56708,$56709,$56710,$56711,$56712,$56713,$56714),(nextval($56715),$56716,$56717,$56718,$56719,$56720,$56721,$56722,$56723,$56724,$56725,$56726,$56727,$56728),(nextval($56729),$56730,$56731,$56732,$56733,$56734,$56735,$56736,$56737,$56738,$56739,$56740,$56741,$56742),(nextval($56743),$56744,$56745,$56746,$56747,$56748,$56749,$56750,$56751,$56752,$56753,$56754,$56755,$56756),(nextval($56757),$56758,$56759,$56760,$56761,$56762,$56763,$56764,$56765,$56766,$56767,$56768,$56769,$56770),(nextval($56771),$56772,$56773,$56774,$56775,$56776,$56777,$56778,$56779,$56780,$56781,$56782,$56783,$56784),(nextval($56785),$56786,$56787,$56788,$56789,$56790,$56791,$56792,$56793,$56794,$56795,$56796,$56797,$56798),(nextval($56799),$56800,$56801,$56802,$56803,$56804,$56805,$56806,$56807,$56808,$56809,$56810,$56811,$56812),(nextval($56813),$56814,$56815,$56816,$56817,$56818,$56819,$56820,$56821,$56822,$56823,$56824,$56825,$56826),(nextval($56827),$56828,$56829,$56830,$56831,$56832,$56833,$56834,$56835,$56836,$56837,$56838,$56839,$56840),(nextval($56841),$56842,$56843,$56844,$56845,$56846,$56847,$56848,$56849,$56850,$56851,$56852,$56853,$56854),(nextval($56855),$56856,$56857,$56858,$56859,$56860,$56861,$56862,$56863,$56864,$56865,$56866,$56867,$56868),(nextval($56869),$56870,$56871,$56872,$56873,$56874,$56875,$56876,$56877,$56878,$56879,$56880,$56881,$56882),(nextval($56883),$56884,$56885,$56886,$56887,$56888,$56889,$56890,$56891,$56892,$56893,$56894,$56895,$56896),(nextval($56897),$56898,$56899,$56900,$56901,$56902,$56903,$56904,$56905,$56906,$56907,$56908,$56909,$56910),(nextval($56911),$56912,$56913,$56914,$56915,$56916,$56917,$56918,$56919,$56920,$56921,$56922,$56923,$56924),(nextval($56925),$56926,$56927,$56928,$56929,$56930,$56931,$56932,$56933,$56934,$56935,$56936,$56937,$56938),(nextval($56939),$56940,$56941,$56942,$56943,$56944,$56945,$56946,$56947,$56948,$56949,$56950,$56951,$56952),(nextval($56953),$56954,$56955,$56956,$56957,$56958,$56959,$56960,$56961,$56962,$56963,$56964,$56965,$56966),(nextval($56967),$56968,$56969,$56970,$56971,$56972,$56973,$56974,$56975,$56976,$56977,$56978,$56979,$56980),(nextval($56981),$56982,$56983,$56984,$56985,$56986,$56987,$56988,$56989,$56990,$56991,$56992,$56993,$56994),(nextval($56995),$56996,$56997,$56998,$56999,$57000,$57001,$57002,$57003,$57004,$57005,$57006,$57007,$57008),(nextval($57009),$57010,$57011,$57012,$57013,$57014,$57015,$57016,$57017,$57018,$57019,$57020,$57021,$57022),(nextval($57023),$57024,$57025,$57026,$57027,$57028,$57029,$57030,$57031,$57032,$57033,$57034,$57035,$57036),(nextval($57037),$57038,$57039,$57040,$57041,$57042,$57043,$57044,$57045,$57046,$57047,$57048,$57049,$57050),(nextval($57051),$57052,$57053,$57054,$57055,$57056,$57057,$57058,$57059,$57060,$57061,$57062,$57063,$57064),(nextval($57065),$57066,$57067,$57068,$57069,$57070,$57071,$57072,$57073,$57074,$57075,$57076,$57077,$57078),(nextval($57079),$57080,$57081,$57082,$57083,$57084,$57085,$57086,$57087,$57088,$57089,$57090,$57091,$57092),(nextval($57093),$57094,$57095,$57096,$57097,$57098,$57099,$57100,$57101,$57102,$57103,$57104,$57105,$57106),(nextval($57107),$57108,$57109,$57110,$57111,$57112,$57113,$57114,$57115,$57116,$57117,$57118,$57119,$57120),(nextval($57121),$57122,$57123,$57124,$57125,$57126,$57127,$57128,$57129,$57130,$57131,$57132,$57133,$57134),(nextval($57135),$57136,$57137,$57138,$57139,$57140,$57141,$57142,$57143,$57144,$57145,$57146,$57147,$57148),(nextval($57149),$57150,$57151,$57152,$57153,$57154,$57155,$57156,$57157,$57158,$57159,$57160,$57161,$57162),(nextval($57163),$57164,$57165,$57166,$57167,$57168,$57169,$57170,$57171,$57172,$57173,$57174,$57175,$57176),(nextval($57177),$57178,$57179,$57180,$57181,$57182,$57183,$57184,$57185,$57186,$57187,$57188,$57189,$57190),(nextval($57191),$57192,$57193,$57194,$57195,$57196,$57197,$57198,$57199,$57200,$57201,$57202,$57203,$57204),(nextval($57205),$57206,$57207,$57208,$57209,$57210,$57211,$57212,$57213,$57214,$57215,$57216,$57217,$57218),(nextval($57219),$57220,$57221,$57222,$57223,$57224,$57225,$57226,$57227,$57228,$57229,$57230,$57231,$57232),(nextval($57233),$57234,$57235,$57236,$57237,$57238,$57239,$57240,$57241,$57242,$57243,$57244,$57245,$57246),(nextval($57247),$57248,$57249,$57250,$57251,$57252,$57253,$57254,$57255,$57256,$57257,$57258,$57259,$57260),(nextval($57261),$57262,$57263,$57264,$57265,$57266,$57267,$57268,$57269,$57270,$57271,$57272,$57273,$57274),(nextval($57275),$57276,$57277,$57278,$57279,$57280,$57281,$57282,$57283,$57284,$57285,$57286,$57287,$57288),(nextval($57289),$57290,$57291,$57292,$57293,$57294,$57295,$57296,$57297,$57298,$57299,$57300,$57301,$57302),(nextval($57303),$57304,$57305,$57306,$57307,$57308,$57309,$57310,$57311,$57312,$57313,$57314,$57315,$57316),(nextval($57317),$57318,$57319,$57320,$57321,$57322,$57323,$57324,$57325,$57326,$57327,$57328,$57329,$57330),(nextval($57331),$57332,$57333,$57334,$57335,$57336,$57337,$57338,$57339,$57340,$57341,$57342,$57343,$57344),(nextval($57345),$57346,$57347,$57348,$57349,$57350,$57351,$57352,$57353,$57354,$57355,$57356,$57357,$57358),(nextval($57359),$57360,$57361,$57362,$57363,$57364,$57365,$57366,$57367,$57368,$57369,$57370,$57371,$57372),(nextval($57373),$57374,$57375,$57376,$57377,$57378,$57379,$57380,$57381,$57382,$57383,$57384,$57385,$57386),(nextval($57387),$57388,$57389,$57390,$57391,$57392,$57393,$57394,$57395,$57396,$57397,$57398,$57399,$57400),(nextval($57401),$57402,$57403,$57404,$57405,$57406,$57407,$57408,$57409,$57410,$57411,$57412,$57413,$57414),(nextval($57415),$57416,$57417,$57418,$57419,$57420,$57421,$57422,$57423,$57424,$57425,$57426,$57427,$57428),(nextval($57429),$57430,$57431,$57432,$57433,$57434,$57435,$57436,$57437,$57438,$57439,$57440,$57441,$57442),(nextval($57443),$57444,$57445,$57446,$57447,$57448,$57449,$57450,$57451,$57452,$57453,$57454,$57455,$57456),(nextval($57457),$57458,$57459,$57460,$57461,$57462,$57463,$57464,$57465,$57466,$57467,$57468,$57469,$57470),(nextval($57471),$57472,$57473,$57474,$57475,$57476,$57477,$57478,$57479,$57480,$57481,$57482,$57483,$57484),(nextval($57485),$57486,$57487,$57488,$57489,$57490,$57491,$57492,$57493,$57494,$57495,$57496,$57497,$57498),(nextval($57499),$57500,$57501,$57502,$57503,$57504,$57505,$57506,$57507,$57508,$57509,$57510,$57511,$57512),(nextval($57513),$57514,$57515,$57516,$57517,$57518,$57519,$57520,$57521,$57522,$57523,$57524,$57525,$57526),(nextval($57527),$57528,$57529,$57530,$57531,$57532,$57533,$57534,$57535,$57536,$57537,$57538,$57539,$57540),(nextval($57541),$57542,$57543,$57544,$57545,$57546,$57547,$57548,$57549,$57550,$57551,$57552,$57553,$57554),(nextval($57555),$57556,$57557,$57558,$57559,$57560,$57561,$57562,$57563,$57564,$57565,$57566,$57567,$57568),(nextval($57569),$57570,$57571,$57572,$57573,$57574,$57575,$57576,$57577,$57578,$57579,$57580,$57581,$57582),(nextval($57583),$57584,$57585,$57586,$57587,$57588,$57589,$57590,$57591,$57592,$57593,$57594,$57595,$57596),(nextval($57597),$57598,$57599,$57600,$57601,$57602,$57603,$57604,$57605,$57606,$57607,$57608,$57609,$57610),(nextval($57611),$57612,$57613,$57614,$57615,$57616,$57617,$57618,$57619,$57620,$57621,$57622,$57623,$57624),(nextval($57625),$57626,$57627,$57628,$57629,$57630,$57631,$57632,$57633,$57634,$57635,$57636,$57637,$57638),(nextval($57639),$57640,$57641,$57642,$57643,$57644,$57645,$57646,$57647,$57648,$57649,$57650,$57651,$57652),(nextval($57653),$57654,$57655,$57656,$57657,$57658,$57659,$57660,$57661,$57662,$57663,$57664,$57665,$57666),(nextval($57667),$57668,$57669,$57670,$57671,$57672,$57673,$57674,$57675,$57676,$57677,$57678,$57679,$57680),(nextval($57681),$57682,$57683,$57684,$57685,$57686,$57687,$57688,$57689,$57690,$57691,$57692,$57693,$57694),(nextval($57695),$57696,$57697,$57698,$57699,$57700,$57701,$57702,$57703,$57704,$57705,$57706,$57707,$57708),(nextval($57709),$57710,$57711,$57712,$57713,$57714,$57715,$57716,$57717,$57718,$57719,$57720,$57721,$57722),(nextval($57723),$57724,$57725,$57726,$57727,$57728,$57729,$57730,$57731,$57732,$57733,$57734,$57735,$57736),(nextval($57737),$57738,$57739,$57740,$57741,$57742,$57743,$57744,$57745,$57746,$57747,$57748,$57749,$57750),(nextval($57751),$57752,$57753,$57754,$57755,$57756,$57757,$57758,$57759,$57760,$57761,$57762,$57763,$57764),(nextval($57765),$57766,$57767,$57768,$57769,$57770,$57771,$57772,$57773,$57774,$57775,$57776,$57777,$57778),(nextval($57779),$57780,$57781,$57782,$57783,$57784,$57785,$57786,$57787,$57788,$57789,$57790,$57791,$57792),(nextval($57793),$57794,$57795,$57796,$57797,$57798,$57799,$57800,$57801,$57802,$57803,$57804,$57805,$57806),(nextval($57807),$57808,$57809,$57810,$57811,$57812,$57813,$57814,$57815,$57816,$57817,$57818,$57819,$57820),(nextval($57821),$57822,$57823,$57824,$57825,$57826,$57827,$57828,$57829,$57830,$57831,$57832,$57833,$57834),(nextval($57835),$57836,$57837,$57838,$57839,$57840,$57841,$57842,$57843,$57844,$57845,$57846,$57847,$57848),(nextval($57849),$57850,$57851,$57852,$57853,$57854,$57855,$57856,$57857,$57858,$57859,$57860,$57861,$57862),(nextval($57863),$57864,$57865,$57866,$57867,$57868,$57869,$57870,$57871,$57872,$57873,$57874,$57875,$57876),(nextval($57877),$57878,$57879,$57880,$57881,$57882,$57883,$57884,$57885,$57886,$57887,$57888,$57889,$57890),(nextval($57891),$57892,$57893,$57894,$57895,$57896,$57897,$57898,$57899,$57900,$57901,$57902,$57903,$57904),(nextval($57905),$57906,$57907,$57908,$57909,$57910,$57911,$57912,$57913,$57914,$57915,$57916,$57917,$57918),(nextval($57919),$57920,$57921,$57922,$57923,$57924,$57925,$57926,$57927,$57928,$57929,$57930,$57931,$57932),(nextval($57933),$57934,$57935,$57936,$57937,$57938,$57939,$57940,$57941,$57942,$57943,$57944,$57945,$57946),(nextval($57947),$57948,$57949,$57950,$57951,$57952,$57953,$57954,$57955,$57956,$57957,$57958,$57959,$57960),(nextval($57961),$57962,$57963,$57964,$57965,$57966,$57967,$57968,$57969,$57970,$57971,$57972,$57973,$57974),(nextval($57975),$57976,$57977,$57978,$57979,$57980,$57981,$57982,$57983,$57984,$57985,$57986,$57987,$57988),(nextval($57989),$57990,$57991,$57992,$57993,$57994,$57995,$57996,$57997,$57998,$57999,$58000,$58001,$58002),(nextval($58003),$58004,$58005,$58006,$58007,$58008,$58009,$58010,$58011,$58012,$58013,$58014,$58015,$58016),(nextval($58017),$58018,$58019,$58020,$58021,$58022,$58023,$58024,$58025,$58026,$58027,$58028,$58029,$58030),(nextval($58031),$58032,$58033,$58034,$58035,$58036,$58037,$58038,$58039,$58040,$58041,$58042,$58043,$58044),(nextval($58045),$58046,$58047,$58048,$58049,$58050,$58051,$58052,$58053,$58054,$58055,$58056,$58057,$58058),(nextval($58059),$58060,$58061,$58062,$58063,$58064,$58065,$58066,$58067,$58068,$58069,$58070,$58071,$58072),(nextval($58073),$58074,$58075,$58076,$58077,$58078,$58079,$58080,$58081,$58082,$58083,$58084,$58085,$58086),(nextval($58087),$58088,$58089,$58090,$58091,$58092,$58093,$58094,$58095,$58096,$58097,$58098,$58099,$58100),(nextval($58101),$58102,$58103,$58104,$58105,$58106,$58107,$58108,$58109,$58110,$58111,$58112,$58113,$58114),(nextval($58115),$58116,$58117,$58118,$58119,$58120,$58121,$58122,$58123,$58124,$58125,$58126,$58127,$58128),(nextval($58129),$58130,$58131,$58132,$58133,$58134,$58135,$58136,$58137,$58138,$58139,$58140,$58141,$58142),(nextval($58143),$58144,$58145,$58146,$58147,$58148,$58149,$58150,$58151,$58152,$58153,$58154,$58155,$58156),(nextval($58157),$58158,$58159,$58160,$58161,$58162,$58163,$58164,$58165,$58166,$58167,$58168,$58169,$58170),(nextval($58171),$58172,$58173,$58174,$58175,$58176,$58177,$58178,$58179,$58180,$58181,$58182,$58183,$58184),(nextval($58185),$58186,$58187,$58188,$58189,$58190,$58191,$58192,$58193,$58194,$58195,$58196,$58197,$58198),(nextval($58199),$58200,$58201,$58202,$58203,$58204,$58205,$58206,$58207,$58208,$58209,$58210,$58211,$58212),(nextval($58213),$58214,$58215,$58216,$58217,$58218,$58219,$58220,$58221,$58222,$58223,$58224,$58225,$58226),(nextval($58227),$58228,$58229,$58230,$58231,$58232,$58233,$58234,$58235,$58236,$58237,$58238,$58239,$58240),(nextval($58241),$58242,$58243,$58244,$58245,$58246,$58247,$58248,$58249,$58250,$58251,$58252,$58253,$58254),(nextval($58255),$58256,$58257,$58258,$58259,$58260,$58261,$58262,$58263,$58264,$58265,$58266,$58267,$58268),(nextval($58269),$58270,$58271,$58272,$58273,$58274,$58275,$58276,$58277,$58278,$58279,$58280,$58281,$58282),(nextval($58283),$58284,$58285,$58286,$58287,$58288,$58289,$58290,$58291,$58292,$58293,$58294,$58295,$58296),(nextval($58297),$58298,$58299,$58300,$58301,$58302,$58303,$58304,$58305,$58306,$58307,$58308,$58309,$58310),(nextval($58311),$58312,$58313,$58314,$58315,$58316,$58317,$58318,$58319,$58320,$58321,$58322,$58323,$58324),(nextval($58325),$58326,$58327,$58328,$58329,$58330,$58331,$58332,$58333,$58334,$58335,$58336,$58337,$58338),(nextval($58339),$58340,$58341,$58342,$58343,$58344,$58345,$58346,$58347,$58348,$58349,$58350,$58351,$58352),(nextval($58353),$58354,$58355,$58356,$58357,$58358,$58359,$58360,$58361,$58362,$58363,$58364,$58365,$58366),(nextval($58367),$58368,$58369,$58370,$58371,$58372,$58373,$58374,$58375,$58376,$58377,$58378,$58379,$58380),(nextval($58381),$58382,$58383,$58384,$58385,$58386,$58387,$58388,$58389,$58390,$58391,$58392,$58393,$58394),(nextval($58395),$58396,$58397,$58398,$58399,$58400,$58401,$58402,$58403,$58404,$58405,$58406,$58407,$58408),(nextval($58409),$58410,$58411,$58412,$58413,$58414,$58415,$58416,$58417,$58418,$58419,$58420,$58421,$58422),(nextval($58423),$58424,$58425,$58426,$58427,$58428,$58429,$58430,$58431,$58432,$58433,$58434,$58435,$58436),(nextval($58437),$58438,$58439,$58440,$58441,$58442,$58443,$58444,$58445,$58446,$58447,$58448,$58449,$58450),(nextval($58451),$58452,$58453,$58454,$58455,$58456,$58457,$58458,$58459,$58460,$58461,$58462,$58463,$58464),(nextval($58465),$58466,$58467,$58468,$58469,$58470,$58471,$58472,$58473,$58474,$58475,$58476,$58477,$58478),(nextval($58479),$58480,$58481,$58482,$58483,$58484,$58485,$58486,$58487,$58488,$58489,$58490,$58491,$58492),(nextval($58493),$58494,$58495,$58496,$58497,$58498,$58499,$58500,$58501,$58502,$58503,$58504,$58505,$58506),(nextval($58507),$58508,$58509,$58510,$58511,$58512,$58513,$58514,$58515,$58516,$58517,$58518,$58519,$58520),(nextval($58521),$58522,$58523,$58524,$58525,$58526,$58527,$58528,$58529,$58530,$58531,$58532,$58533,$58534),(nextval($58535),$58536,$58537,$58538,$58539,$58540,$58541,$58542,$58543,$58544,$58545,$58546,$58547,$58548),(nextval($58549),$58550,$58551,$58552,$58553,$58554,$58555,$58556,$58557,$58558,$58559,$58560,$58561,$58562),(nextval($58563),$58564,$58565,$58566,$58567,$58568,$58569,$58570,$58571,$58572,$58573,$58574,$58575,$58576),(nextval($58577),$58578,$58579,$58580,$58581,$58582,$58583,$58584,$58585,$58586,$58587,$58588,$58589,$58590),(nextval($58591),$58592,$58593,$58594,$58595,$58596,$58597,$58598,$58599,$58600,$58601,$58602,$58603,$58604),(nextval($58605),$58606,$58607,$58608,$58609,$58610,$58611,$58612,$58613,$58614,$58615,$58616,$58617,$58618),(nextval($58619),$58620,$58621,$58622,$58623,$58624,$58625,$58626,$58627,$58628,$58629,$58630,$58631,$58632),(nextval($58633),$58634,$58635,$58636,$58637,$58638,$58639,$58640,$58641,$58642,$58643,$58644,$58645,$58646),(nextval($58647),$58648,$58649,$58650,$58651,$58652,$58653,$58654,$58655,$58656,$58657,$58658,$58659,$58660),(nextval($58661),$58662,$58663,$58664,$58665,$58666,$58667,$58668,$58669,$58670,$58671,$58672,$58673,$58674),(nextval($58675),$58676,$58677,$58678,$58679,$58680,$58681,$58682,$58683,$58684,$58685,$58686,$58687,$58688),(nextval($58689),$58690,$58691,$58692,$58693,$58694,$58695,$58696,$58697,$58698,$58699,$58700,$58701,$58702),(nextval($58703),$58704,$58705,$58706,$58707,$58708,$58709,$58710,$58711,$58712,$58713,$58714,$58715,$58716),(nextval($58717),$58718,$58719,$58720,$58721,$58722,$58723,$58724,$58725,$58726,$58727,$58728,$58729,$58730),(nextval($58731),$58732,$58733,$58734,$58735,$58736,$58737,$58738,$58739,$58740,$58741,$58742,$58743,$58744),(nextval($58745),$58746,$58747,$58748,$58749,$58750,$58751,$58752,$58753,$58754,$58755,$58756,$58757,$58758),(nextval($58759),$58760,$58761,$58762,$58763,$58764,$58765,$58766,$58767,$58768,$58769,$58770,$58771,$58772),(nextval($58773),$58774,$58775,$58776,$58777,$58778,$58779,$58780,$58781,$58782,$58783,$58784,$58785,$58786),(nextval($58787),$58788,$58789,$58790,$58791,$58792,$58793,$58794,$58795,$58796,$58797,$58798,$58799,$58800),(nextval($58801),$58802,$58803,$58804,$58805,$58806,$58807,$58808,$58809,$58810,$58811,$58812,$58813,$58814),(nextval($58815),$58816,$58817,$58818,$58819,$58820,$58821,$58822,$58823,$58824,$58825,$58826,$58827,$58828),(nextval($58829),$58830,$58831,$58832,$58833,$58834,$58835,$58836,$58837,$58838,$58839,$58840,$58841,$58842),(nextval($58843),$58844,$58845,$58846,$58847,$58848,$58849,$58850,$58851,$58852,$58853,$58854,$58855,$58856),(nextval($58857),$58858,$58859,$58860,$58861,$58862,$58863,$58864,$58865,$58866,$58867,$58868,$58869,$58870),(nextval($58871),$58872,$58873,$58874,$58875,$58876,$58877,$58878,$58879,$58880,$58881,$58882,$58883,$58884),(nextval($58885),$58886,$58887,$58888,$58889,$58890,$58891,$58892,$58893,$58894,$58895,$58896,$58897,$58898),(nextval($58899),$58900,$58901,$58902,$58903,$58904,$58905,$58906,$58907,$58908,$58909,$58910,$58911,$58912),(nextval($58913),$58914,$58915,$58916,$58917,$58918,$58919,$58920,$58921,$58922,$58923,$58924,$58925,$58926),(nextval($58927),$58928,$58929,$58930,$58931,$58932,$58933,$58934,$58935,$58936,$58937,$58938,$58939,$58940),(nextval($58941),$58942,$58943,$58944,$58945,$58946,$58947,$58948,$58949,$58950,$58951,$58952,$58953,$58954),(nextval($58955),$58956,$58957,$58958,$58959,$58960,$58961,$58962,$58963,$58964,$58965,$58966,$58967,$58968),(nextval($58969),$58970,$58971,$58972,$58973,$58974,$58975,$58976,$58977,$58978,$58979,$58980,$58981,$58982),(nextval($58983),$58984,$58985,$58986,$58987,$58988,$58989,$58990,$58991,$58992,$58993,$58994,$58995,$58996),(nextval($58997),$58998,$58999,$59000,$59001,$59002,$59003,$59004,$59005,$59006,$59007,$59008,$59009,$59010),(nextval($59011),$59012,$59013,$59014,$59015,$59016,$59017,$59018,$59019,$59020,$59021,$59022,$59023,$59024),(nextval($59025),$59026,$59027,$59028,$59029,$59030,$59031,$59032,$59033,$59034,$59035,$59036,$59037,$59038),(nextval($59039),$59040,$59041,$59042,$59043,$59044,$59045,$59046,$59047,$59048,$59049,$59050,$59051,$59052),(nextval($59053),$59054,$59055,$59056,$59057,$59058,$59059,$59060,$59061,$59062,$59063,$59064,$59065,$59066),(nextval($59067),$59068,$59069,$59070,$59071,$59072,$59073,$59074,$59075,$59076,$59077,$59078,$59079,$59080),(nextval($59081),$59082,$59083,$59084,$59085,$59086,$59087,$59088,$59089,$59090,$59091,$59092,$59093,$59094),(nextval($59095),$59096,$59097,$59098,$59099,$59100,$59101,$59102,$59103,$59104,$59105,$59106,$59107,$59108),(nextval($59109),$59110,$59111,$59112,$59113,$59114,$59115,$59116,$59117,$59118,$59119,$59120,$59121,$59122),(nextval($59123),$59124,$59125,$59126,$59127,$59128,$59129,$59130,$59131,$59132,$59133,$59134,$59135,$59136),(nextval($59137),$59138,$59139,$59140,$59141,$59142,$59143,$59144,$59145,$59146,$59147,$59148,$59149,$59150),(nextval($59151),$59152,$59153,$59154,$59155,$59156,$59157,$59158,$59159,$59160,$59161,$59162,$59163,$59164),(nextval($59165),$59166,$59167,$59168,$59169,$59170,$59171,$59172,$59173,$59174,$59175,$59176,$59177,$59178),(nextval($59179),$59180,$59181,$59182,$59183,$59184,$59185,$59186,$59187,$59188,$59189,$59190,$59191,$59192),(nextval($59193),$59194,$59195,$59196,$59197,$59198,$59199,$59200,$59201,$59202,$59203,$59204,$59205,$59206),(nextval($59207),$59208,$59209,$59210,$59211,$59212,$59213,$59214,$59215,$59216,$59217,$59218,$59219,$59220),(nextval($59221),$59222,$59223,$59224,$59225,$59226,$59227,$59228,$59229,$59230,$59231,$59232,$59233,$59234),(nextval($59235),$59236,$59237,$59238,$59239,$59240,$59241,$59242,$59243,$59244,$59245,$59246,$59247,$59248),(nextval($59249),$59250,$59251,$59252,$59253,$59254,$59255,$59256,$59257,$59258,$59259,$59260,$59261,$59262),(nextval($59263),$59264,$59265,$59266,$59267,$59268,$59269,$59270,$59271,$59272,$59273,$59274,$59275,$59276),(nextval($59277),$59278,$59279,$59280,$59281,$59282,$59283,$59284,$59285,$59286,$59287,$59288,$59289,$59290),(nextval($59291),$59292,$59293,$59294,$59295,$59296,$59297,$59298,$59299,$59300,$59301,$59302,$59303,$59304),(nextval($59305),$59306,$59307,$59308,$59309,$59310,$59311,$59312,$59313,$59314,$59315,$59316,$59317,$59318),(nextval($59319),$59320,$59321,$59322,$59323,$59324,$59325,$59326,$59327,$59328,$59329,$59330,$59331,$59332),(nextval($59333),$59334,$59335,$59336,$59337,$59338,$59339,$59340,$59341,$59342,$59343,$59344,$59345,$59346),(nextval($59347),$59348,$59349,$59350,$59351,$59352,$59353,$59354,$59355,$59356,$59357,$59358,$59359,$59360),(nextval($59361),$59362,$59363,$59364,$59365,$59366,$59367,$59368,$59369,$59370,$59371,$59372,$59373,$59374),(nextval($59375),$59376,$59377,$59378,$59379,$59380,$59381,$59382,$59383,$59384,$59385,$59386,$59387,$59388),(nextval($59389),$59390,$59391,$59392,$59393,$59394,$59395,$59396,$59397,$59398,$59399,$59400,$59401,$59402),(nextval($59403),$59404,$59405,$59406,$59407,$59408,$59409,$59410,$59411,$59412,$59413,$59414,$59415,$59416),(nextval($59417),$59418,$59419,$59420,$59421,$59422,$59423,$59424,$59425,$59426,$59427,$59428,$59429,$59430),(nextval($59431),$59432,$59433,$59434,$59435,$59436,$59437,$59438,$59439,$59440,$59441,$59442,$59443,$59444),(nextval($59445),$59446,$59447,$59448,$59449,$59450,$59451,$59452,$59453,$59454,$59455,$59456,$59457,$59458),(nextval($59459),$59460,$59461,$59462,$59463,$59464,$59465,$59466,$59467,$59468,$59469,$59470,$59471,$59472),(nextval($59473),$59474,$59475,$59476,$59477,$59478,$59479,$59480,$59481,$59482,$59483,$59484,$59485,$59486),(nextval($59487),$59488,$59489,$59490,$59491,$59492,$59493,$59494,$59495,$59496,$59497,$59498,$59499,$59500),(nextval($59501),$59502,$59503,$59504,$59505,$59506,$59507,$59508,$59509,$59510,$59511,$59512,$59513,$59514),(nextval($59515),$59516,$59517,$59518,$59519,$59520,$59521,$59522,$59523,$59524,$59525,$59526,$59527,$59528),(nextval($59529),$59530,$59531,$59532,$59533,$59534,$59535,$59536,$59537,$59538,$59539,$59540,$59541,$59542),(nextval($59543),$59544,$59545,$59546,$59547,$59548,$59549,$59550,$59551,$59552,$59553,$59554,$59555,$59556),(nextval($59557),$59558,$59559,$59560,$59561,$59562,$59563,$59564,$59565,$59566,$59567,$59568,$59569,$59570),(nextval($59571),$59572,$59573,$59574,$59575,$59576,$59577,$59578,$59579,$59580,$59581,$59582,$59583,$59584),(nextval($59585),$59586,$59587,$59588,$59589,$59590,$59591,$59592,$59593,$59594,$59595,$59596,$59597,$59598),(nextval($59599),$59600,$59601,$59602,$59603,$59604,$59605,$59606,$59607,$59608,$59609,$59610,$59611,$59612),(nextval($59613),$59614,$59615,$59616,$59617,$59618,$59619,$59620,$59621,$59622,$59623,$59624,$59625,$59626),(nextval($59627),$59628,$59629,$59630,$59631,$59632,$59633,$59634,$59635,$59636,$59637,$59638,$59639,$59640),(nextval($59641),$59642,$59643,$59644,$59645,$59646,$59647,$59648,$59649,$59650,$59651,$59652,$59653,$59654),(nextval($59655),$59656,$59657,$59658,$59659,$59660,$59661,$59662,$59663,$59664,$59665,$59666,$59667,$59668),(nextval($59669),$59670,$59671,$59672,$59673,$59674,$59675,$59676,$59677,$59678,$59679,$59680,$59681,$59682),(nextval($59683),$59684,$59685,$59686,$59687,$59688,$59689,$59690,$59691,$59692,$59693,$59694,$59695,$59696),(nextval($59697),$59698,$59699,$59700,$59701,$59702,$59703,$59704,$59705,$59706,$59707,$59708,$59709,$59710),(nextval($59711),$59712,$59713,$59714,$59715,$59716,$59717,$59718,$59719,$59720,$59721,$59722,$59723,$59724),(nextval($59725),$59726,$59727,$59728,$59729,$59730,$59731,$59732,$59733,$59734,$59735,$59736,$59737,$59738),(nextval($59739),$59740,$59741,$59742,$59743,$59744,$59745,$59746,$59747,$59748,$59749,$59750,$59751,$59752),(nextval($59753),$59754,$59755,$59756,$59757,$59758,$59759,$59760,$59761,$59762,$59763,$59764,$59765,$59766),(nextval($59767),$59768,$59769,$59770,$59771,$59772,$59773,$59774,$59775,$59776,$59777,$59778,$59779,$59780),(nextval($59781),$59782,$59783,$59784,$59785,$59786,$59787,$59788,$59789,$59790,$59791,$59792,$59793,$59794),(nextval($59795),$59796,$59797,$59798,$59799,$59800,$59801,$59802,$59803,$59804,$59805,$59806,$59807,$59808),(nextval($59809),$59810,$59811,$59812,$59813,$59814,$59815,$59816,$59817,$59818,$59819,$59820,$59821,$59822),(nextval($59823),$59824,$59825,$59826,$59827,$59828,$59829,$59830,$59831,$59832,$59833,$59834,$59835,$59836),(nextval($59837),$59838,$59839,$59840,$59841,$59842,$59843,$59844,$59845,$59846,$59847,$59848,$59849,$59850),(nextval($59851),$59852,$59853,$59854,$59855,$59856,$59857,$59858,$59859,$59860,$59861,$59862,$59863,$59864),(nextval($59865),$59866,$59867,$59868,$59869,$59870,$59871,$59872,$59873,$59874,$59875,$59876,$59877,$59878),(nextval($59879),$59880,$59881,$59882,$59883,$59884,$59885,$59886,$59887,$59888,$59889,$59890,$59891,$59892),(nextval($59893),$59894,$59895,$59896,$59897,$59898,$59899,$59900,$59901,$59902,$59903,$59904,$59905,$59906),(nextval($59907),$59908,$59909,$59910,$59911,$59912,$59913,$59914,$59915,$59916,$59917,$59918,$59919,$59920),(nextval($59921),$59922,$59923,$59924,$59925,$59926,$59927,$59928,$59929,$59930,$59931,$59932,$59933,$59934),(nextval($59935),$59936,$59937,$59938,$59939,$59940,$59941,$59942,$59943,$59944,$59945,$59946,$59947,$59948),(nextval($59949),$59950,$59951,$59952,$59953,$59954,$59955,$59956,$59957,$59958,$59959,$59960,$59961,$59962),(nextval($59963),$59964,$59965,$59966,$59967,$59968,$59969,$59970,$59971,$59972,$59973,$59974,$59975,$59976),(nextval($59977),$59978,$59979,$59980,$59981,$59982,$59983,$59984,$59985,$59986,$59987,$59988,$59989,$59990),(nextval($59991),$59992,$59993,$59994,$59995,$59996,$59997,$59998,$59999,$60000,$60001,$60002,$60003,$60004),(nextval($60005),$60006,$60007,$60008,$60009,$60010,$60011,$60012,$60013,$60014,$60015,$60016,$60017,$60018),(nextval($60019),$60020,$60021,$60022,$60023,$60024,$60025,$60026,$60027,$60028,$60029,$60030,$60031,$60032),(nextval($60033),$60034,$60035,$60036,$60037,$60038,$60039,$60040,$60041,$60042,$60043,$60044,$60045,$60046),(nextval($60047),$60048,$60049,$60050,$60051,$60052,$60053,$60054,$60055,$60056,$60057,$60058,$60059,$60060),(nextval($60061),$60062,$60063,$60064,$60065,$60066,$60067,$60068,$60069,$60070,$60071,$60072,$60073,$60074),(nextval($60075),$60076,$60077,$60078,$60079,$60080,$60081,$60082,$60083,$60084,$60085,$60086,$60087,$60088),(nextval($60089),$60090,$60091,$60092,$60093,$60094,$60095,$60096,$60097,$60098,$60099,$60100,$60101,$60102),(nextval($60103),$60104,$60105,$60106,$60107,$60108,$60109,$60110,$60111,$60112,$60113,$60114,$60115,$60116),(nextval($60117),$60118,$60119,$60120,$60121,$60122,$60123,$60124,$60125,$60126,$60127,$60128,$60129,$60130),(nextval($60131),$60132,$60133,$60134,$60135,$60136,$60137,$60138,$60139,$60140,$60141,$60142,$60143,$60144),(nextval($60145),$60146,$60147,$60148,$60149,$60150,$60151,$60152,$60153,$60154,$60155,$60156,$60157,$60158),(nextval($60159),$60160,$60161,$60162,$60163,$60164,$60165,$60166,$60167,$60168,$60169,$60170,$60171,$60172),(nextval($60173),$60174,$60175,$60176,$60177,$60178,$60179,$60180,$60181,$60182,$60183,$60184,$60185,$60186),(nextval($60187),$60188,$60189,$60190,$60191,$60192,$60193,$60194,$60195,$60196,$60197,$60198,$60199,$60200),(nextval($60201),$60202,$60203,$60204,$60205,$60206,$60207,$60208,$60209,$60210,$60211,$60212,$60213,$60214),(nextval($60215),$60216,$60217,$60218,$60219,$60220,$60221,$60222,$60223,$60224,$60225,$60226,$60227,$60228),(nextval($60229),$60230,$60231,$60232,$60233,$60234,$60235,$60236,$60237,$60238,$60239,$60240,$60241,$60242),(nextval($60243),$60244,$60245,$60246,$60247,$60248,$60249,$60250,$60251,$60252,$60253,$60254,$60255,$60256),(nextval($60257),$60258,$60259,$60260,$60261,$60262,$60263,$60264,$60265,$60266,$60267,$60268,$60269,$60270),(nextval($60271),$60272,$60273,$60274,$60275,$60276,$60277,$60278,$60279,$60280,$60281,$60282,$60283,$60284),(nextval($60285),$60286,$60287,$60288,$60289,$60290,$60291,$60292,$60293,$60294,$60295,$60296,$60297,$60298),(nextval($60299),$60300,$60301,$60302,$60303,$60304,$60305,$60306,$60307,$60308,$60309,$60310,$60311,$60312),(nextval($60313),$60314,$60315,$60316,$60317,$60318,$60319,$60320,$60321,$60322,$60323,$60324,$60325,$60326),(nextval($60327),$60328,$60329,$60330,$60331,$60332,$60333,$60334,$60335,$60336,$60337,$60338,$60339,$60340),(nextval($60341),$60342,$60343,$60344,$60345,$60346,$60347,$60348,$60349,$60350,$60351,$60352,$60353,$60354),(nextval($60355),$60356,$60357,$60358,$60359,$60360,$60361,$60362,$60363,$60364,$60365,$60366,$60367,$60368),(nextval($60369),$60370,$60371,$60372,$60373,$60374,$60375,$60376,$60377,$60378,$60379,$60380,$60381,$60382),(nextval($60383),$60384,$60385,$60386,$60387,$60388,$60389,$60390,$60391,$60392,$60393,$60394,$60395,$60396),(nextval($60397),$60398,$60399,$60400,$60401,$60402,$60403,$60404,$60405,$60406,$60407,$60408,$60409,$60410),(nextval($60411),$60412,$60413,$60414,$60415,$60416,$60417,$60418,$60419,$60420,$60421,$60422,$60423,$60424),(nextval($60425),$60426,$60427,$60428,$60429,$60430,$60431,$60432,$60433,$60434,$60435,$60436,$60437,$60438),(nextval($60439),$60440,$60441,$60442,$60443,$60444,$60445,$60446,$60447,$60448,$60449,$60450,$60451,$60452),(nextval($60453),$60454,$60455,$60456,$60457,$60458,$60459,$60460,$60461,$60462,$60463,$60464,$60465,$60466),(nextval($60467),$60468,$60469,$60470,$60471,$60472,$60473,$60474,$60475,$60476,$60477,$60478,$60479,$60480),(nextval($60481),$60482,$60483,$60484,$60485,$60486,$60487,$60488,$60489,$60490,$60491,$60492,$60493,$60494),(nextval($60495),$60496,$60497,$60498,$60499,$60500,$60501,$60502,$60503,$60504,$60505,$60506,$60507,$60508),(nextval($60509),$60510,$60511,$60512,$60513,$60514,$60515,$60516,$60517,$60518,$60519,$60520,$60521,$60522),(nextval($60523),$60524,$60525,$60526,$60527,$60528,$60529,$60530,$60531,$60532,$60533,$60534,$60535,$60536),(nextval($60537),$60538,$60539,$60540,$60541,$60542,$60543,$60544,$60545,$60546,$60547,$60548,$60549,$60550),(nextval($60551),$60552,$60553,$60554,$60555,$60556,$60557,$60558,$60559,$60560,$60561,$60562,$60563,$60564),(nextval($60565),$60566,$60567,$60568,$60569,$60570,$60571,$60572,$60573,$60574,$60575,$60576,$60577,$60578),(nextval($60579),$60580,$60581,$60582,$60583,$60584,$60585,$60586,$60587,$60588,$60589,$60590,$60591,$60592),(nextval($60593),$60594,$60595,$60596,$60597,$60598,$60599,$60600,$60601,$60602,$60603,$60604,$60605,$60606),(nextval($60607),$60608,$60609,$60610,$60611,$60612,$60613,$60614,$60615,$60616,$60617,$60618,$60619,$60620),(nextval($60621),$60622,$60623,$60624,$60625,$60626,$60627,$60628,$60629,$60630,$60631,$60632,$60633,$60634),(nextval($60635),$60636,$60637,$60638,$60639,$60640,$60641,$60642,$60643,$60644,$60645,$60646,$60647,$60648),(nextval($60649),$60650,$60651,$60652,$60653,$60654,$60655,$60656,$60657,$60658,$60659,$60660,$60661,$60662),(nextval($60663),$60664,$60665,$60666,$60667,$60668,$60669,$60670,$60671,$60672,$60673,$60674,$60675,$60676),(nextval($60677),$60678,$60679,$60680,$60681,$60682,$60683,$60684,$60685,$60686,$60687,$60688,$60689,$60690),(nextval($60691),$60692,$60693,$60694,$60695,$60696,$60697,$60698,$60699,$60700,$60701,$60702,$60703,$60704),(nextval($60705),$60706,$60707,$60708,$60709,$60710,$60711,$60712,$60713,$60714,$60715,$60716,$60717,$60718),(nextval($60719),$60720,$60721,$60722,$60723,$60724,$60725,$60726,$60727,$60728,$60729,$60730,$60731,$60732),(nextval($60733),$60734,$60735,$60736,$60737,$60738,$60739,$60740,$60741,$60742,$60743,$60744,$60745,$60746),(nextval($60747),$60748,$60749,$60750,$60751,$60752,$60753,$60754,$60755,$60756,$60757,$60758,$60759,$60760),(nextval($60761),$60762,$60763,$60764,$60765,$60766,$60767,$60768,$60769,$60770,$60771,$60772,$60773,$60774),(nextval($60775),$60776,$60777,$60778,$60779,$60780,$60781,$60782,$60783,$60784,$60785,$60786,$60787,$60788),(nextval($60789),$60790,$60791,$60792,$60793,$60794,$60795,$60796,$60797,$60798,$60799,$60800,$60801,$60802),(nextval($60803),$60804,$60805,$60806,$60807,$60808,$60809,$60810,$60811,$60812,$60813,$60814,$60815,$60816),(nextval($60817),$60818,$60819,$60820,$60821,$60822,$60823,$60824,$60825,$60826,$60827,$60828,$60829,$60830),(nextval($60831),$60832,$60833,$60834,$60835,$60836,$60837,$60838,$60839,$60840,$60841,$60842,$60843,$60844),(nextval($60845),$60846,$60847,$60848,$60849,$60850,$60851,$60852,$60853,$60854,$60855,$60856,$60857,$60858),(nextval($60859),$60860,$60861,$60862,$60863,$60864,$60865,$60866,$60867,$60868,$60869,$60870,$60871,$60872),(nextval($60873),$60874,$60875,$60876,$60877,$60878,$60879,$60880,$60881,$60882,$60883,$60884,$60885,$60886),(nextval($60887),$60888,$60889,$60890,$60891,$60892,$60893,$60894,$60895,$60896,$60897,$60898,$60899,$60900),(nextval($60901),$60902,$60903,$60904,$60905,$60906,$60907,$60908,$60909,$60910,$60911,$60912,$60913,$60914),(nextval($60915),$60916,$60917,$60918,$60919,$60920,$60921,$60922,$60923,$60924,$60925,$60926,$60927,$60928),(nextval($60929),$60930,$60931,$60932,$60933,$60934,$60935,$60936,$60937,$60938,$60939,$60940,$60941,$60942),(nextval($60943),$60944,$60945,$60946,$60947,$60948,$60949,$60950,$60951,$60952,$60953,$60954,$60955,$60956),(nextval($60957),$60958,$60959,$60960,$60961,$60962,$60963,$60964,$60965,$60966,$60967,$60968,$60969,$60970),(nextval($60971),$60972,$60973,$60974,$60975,$60976,$60977,$60978,$60979,$60980,$60981,$60982,$60983,$60984),(nextval($60985),$60986,$60987,$60988,$60989,$60990,$60991,$60992,$60993,$60994,$60995,$60996,$60997,$60998),(nextval($60999),$61000,$61001,$61002,$61003,$61004,$61005,$61006,$61007,$61008,$61009,$61010,$61011,$61012),(nextval($61013),$61014,$61015,$61016,$61017,$61018,$61019,$61020,$61021,$61022,$61023,$61024,$61025,$61026),(nextval($61027),$61028,$61029,$61030,$61031,$61032,$61033,$61034,$61035,$61036,$61037,$61038,$61039,$61040),(nextval($61041),$61042,$61043,$61044,$61045,$61046,$61047,$61048,$61049,$61050,$61051,$61052,$61053,$61054),(nextval($61055),$61056,$61057,$61058,$61059,$61060,$61061,$61062,$61063,$61064,$61065,$61066,$61067,$61068),(nextval($61069),$61070,$61071,$61072,$61073,$61074,$61075,$61076,$61077,$61078,$61079,$61080,$61081,$61082),(nextval($61083),$61084,$61085,$61086,$61087,$61088,$61089,$61090,$61091,$61092,$61093,$61094,$61095,$61096),(nextval($61097),$61098,$61099,$61100,$61101,$61102,$61103,$61104,$61105,$61106,$61107,$61108,$61109,$61110),(nextval($61111),$61112,$61113,$61114,$61115,$61116,$61117,$61118,$61119,$61120,$61121,$61122,$61123,$61124),(nextval($61125),$61126,$61127,$61128,$61129,$61130,$61131,$61132,$61133,$61134,$61135,$61136,$61137,$61138),(nextval($61139),$61140,$61141,$61142,$61143,$61144,$61145,$61146,$61147,$61148,$61149,$61150,$61151,$61152),(nextval($61153),$61154,$61155,$61156,$61157,$61158,$61159,$61160,$61161,$61162,$61163,$61164,$61165,$61166),(nextval($61167),$61168,$61169,$61170,$61171,$61172,$61173,$61174,$61175,$61176,$61177,$61178,$61179,$61180),(nextval($61181),$61182,$61183,$61184,$61185,$61186,$61187,$61188,$61189,$61190,$61191,$61192,$61193,$61194),(nextval($61195),$61196,$61197,$61198,$61199,$61200,$61201,$61202,$61203,$61204,$61205,$61206,$61207,$61208),(nextval($61209),$61210,$61211,$61212,$61213,$61214,$61215,$61216,$61217,$61218,$61219,$61220,$61221,$61222),(nextval($61223),$61224,$61225,$61226,$61227,$61228,$61229,$61230,$61231,$61232,$61233,$61234,$61235,$61236),(nextval($61237),$61238,$61239,$61240,$61241,$61242,$61243,$61244,$61245,$61246,$61247,$61248,$61249,$61250),(nextval($61251),$61252,$61253,$61254,$61255,$61256,$61257,$61258,$61259,$61260,$61261,$61262,$61263,$61264),(nextval($61265),$61266,$61267,$61268,$61269,$61270,$61271,$61272,$61273,$61274,$61275,$61276,$61277,$61278),(nextval($61279),$61280,$61281,$61282,$61283,$61284,$61285,$61286,$61287,$61288,$61289,$61290,$61291,$61292),(nextval($61293),$61294,$61295,$61296,$61297,$61298,$61299,$61300,$61301,$61302,$61303,$61304,$61305,$61306),(nextval($61307),$61308,$61309,$61310,$61311,$61312,$61313,$61314,$61315,$61316,$61317,$61318,$61319,$61320),(nextval($61321),$61322,$61323,$61324,$61325,$61326,$61327,$61328,$61329,$61330,$61331,$61332,$61333,$61334),(nextval($61335),$61336,$61337,$61338,$61339,$61340,$61341,$61342,$61343,$61344,$61345,$61346,$61347,$61348),(nextval($61349),$61350,$61351,$61352,$61353,$61354,$61355,$61356,$61357,$61358,$61359,$61360,$61361,$61362),(nextval($61363),$61364,$61365,$61366,$61367,$61368,$61369,$61370,$61371,$61372,$61373,$61374,$61375,$61376),(nextval($61377),$61378,$61379,$61380,$61381,$61382,$61383,$61384,$61385,$61386,$61387,$61388,$61389,$61390),(nextval($61391),$61392,$61393,$61394,$61395,$61396,$61397,$61398,$61399,$61400,$61401,$61402,$61403,$61404),(nextval($61405),$61406,$61407,$61408,$61409,$61410,$61411,$61412,$61413,$61414,$61415,$61416,$61417,$61418),(nextval($61419),$61420,$61421,$61422,$61423,$61424,$61425,$61426,$61427,$61428,$61429,$61430,$61431,$61432),(nextval($61433),$61434,$61435,$61436,$61437,$61438,$61439,$61440,$61441,$61442,$61443,$61444,$61445,$61446),(nextval($61447),$61448,$61449,$61450,$61451,$61452,$61453,$61454,$61455,$61456,$61457,$61458,$61459,$61460),(nextval($61461),$61462,$61463,$61464,$61465,$61466,$61467,$61468,$61469,$61470,$61471,$61472,$61473,$61474),(nextval($61475),$61476,$61477,$61478,$61479,$61480,$61481,$61482,$61483,$61484,$61485,$61486,$61487,$61488),(nextval($61489),$61490,$61491,$61492,$61493,$61494,$61495,$61496,$61497,$61498,$61499,$61500,$61501,$61502),(nextval($61503),$61504,$61505,$61506,$61507,$61508,$61509,$61510,$61511,$61512,$61513,$61514,$61515,$61516),(nextval($61517),$61518,$61519,$61520,$61521,$61522,$61523,$61524,$61525,$61526,$61527,$61528,$61529,$61530),(nextval($61531),$61532,$61533,$61534,$61535,$61536,$61537,$61538,$61539,$61540,$61541,$61542,$61543,$61544),(nextval($61545),$61546,$61547,$61548,$61549,$61550,$61551,$61552,$61553,$61554,$61555,$61556,$61557,$61558),(nextval($61559),$61560,$61561,$61562,$61563,$61564,$61565,$61566,$61567,$61568,$61569,$61570,$61571,$61572),(nextval($61573),$61574,$61575,$61576,$61577,$61578,$61579,$61580,$61581,$61582,$61583,$61584,$61585,$61586),(nextval($61587),$61588,$61589,$61590,$61591,$61592,$61593,$61594,$61595,$61596,$61597,$61598,$61599,$61600),(nextval($61601),$61602,$61603,$61604,$61605,$61606,$61607,$61608,$61609,$61610,$61611,$61612,$61613,$61614),(nextval($61615),$61616,$61617,$61618,$61619,$61620,$61621,$61622,$61623,$61624,$61625,$61626,$61627,$61628),(nextval($61629),$61630,$61631,$61632,$61633,$61634,$61635,$61636,$61637,$61638,$61639,$61640,$61641,$61642),(nextval($61643),$61644,$61645,$61646,$61647,$61648,$61649,$61650,$61651,$61652,$61653,$61654,$61655,$61656),(nextval($61657),$61658,$61659,$61660,$61661,$61662,$61663,$61664,$61665,$61666,$61667,$61668,$61669,$61670),(nextval($61671),$61672,$61673,$61674,$61675,$61676,$61677,$61678,$61679,$61680,$61681,$61682,$61683,$61684),(nextval($61685),$61686,$61687,$61688,$61689,$61690,$61691,$61692,$61693,$61694,$61695,$61696,$61697,$61698),(nextval($61699),$61700,$61701,$61702,$61703,$61704,$61705,$61706,$61707,$61708,$61709,$61710,$61711,$61712),(nextval($61713),$61714,$61715,$61716,$61717,$61718,$61719,$61720,$61721,$61722,$61723,$61724,$61725,$61726),(nextval($61727),$61728,$61729,$61730,$61731,$61732,$61733,$61734,$61735,$61736,$61737,$61738,$61739,$61740),(nextval($61741),$61742,$61743,$61744,$61745,$61746,$61747,$61748,$61749,$61750,$61751,$61752,$61753,$61754),(nextval($61755),$61756,$61757,$61758,$61759,$61760,$61761,$61762,$61763,$61764,$61765,$61766,$61767,$61768),(nextval($61769),$61770,$61771,$61772,$61773,$61774,$61775,$61776,$61777,$61778,$61779,$61780,$61781,$61782),(nextval($61783),$61784,$61785,$61786,$61787,$61788,$61789,$61790,$61791,$61792,$61793,$61794,$61795,$61796),(nextval($61797),$61798,$61799,$61800,$61801,$61802,$61803,$61804,$61805,$61806,$61807,$61808,$61809,$61810),(nextval($61811),$61812,$61813,$61814,$61815,$61816,$61817,$61818,$61819,$61820,$61821,$61822,$61823,$61824),(nextval($61825),$61826,$61827,$61828,$61829,$61830,$61831,$61832,$61833,$61834,$61835,$61836,$61837,$61838),(nextval($61839),$61840,$61841,$61842,$61843,$61844,$61845,$61846,$61847,$61848,$61849,$61850,$61851,$61852),(nextval($61853),$61854,$61855,$61856,$61857,$61858,$61859,$61860,$61861,$61862,$61863,$61864,$61865,$61866),(nextval($61867),$61868,$61869,$61870,$61871,$61872,$61873,$61874,$61875,$61876,$61877,$61878,$61879,$61880),(nextval($61881),$61882,$61883,$61884,$61885,$61886,$61887,$61888,$61889,$61890,$61891,$61892,$61893,$61894),(nextval($61895),$61896,$61897,$61898,$61899,$61900,$61901,$61902,$61903,$61904,$61905,$61906,$61907,$61908),(nextval($61909),$61910,$61911,$61912,$61913,$61914,$61915,$61916,$61917,$61918,$61919,$61920,$61921,$61922),(nextval($61923),$61924,$61925,$61926,$61927,$61928,$61929,$61930,$61931,$61932,$61933,$61934,$61935,$61936),(nextval($61937),$61938,$61939,$61940,$61941,$61942,$61943,$61944,$61945,$61946,$61947,$61948,$61949,$61950),(nextval($61951),$61952,$61953,$61954,$61955,$61956,$61957,$61958,$61959,$61960,$61961,$61962,$61963,$61964),(nextval($61965),$61966,$61967,$61968,$61969,$61970,$61971,$61972,$61973,$61974,$61975,$61976,$61977,$61978),(nextval($61979),$61980,$61981,$61982,$61983,$61984,$61985,$61986,$61987,$61988,$61989,$61990,$61991,$61992),(nextval($61993),$61994,$61995,$61996,$61997,$61998,$61999,$62000,$62001,$62002,$62003,$62004,$62005,$62006),(nextval($62007),$62008,$62009,$62010,$62011,$62012,$62013,$62014,$62015,$62016,$62017,$62018,$62019,$62020),(nextval($62021),$62022,$62023,$62024,$62025,$62026,$62027,$62028,$62029,$62030,$62031,$62032,$62033,$62034),(nextval($62035),$62036,$62037,$62038,$62039,$62040,$62041,$62042,$62043,$62044,$62045,$62046,$62047,$62048),(nextval($62049),$62050,$62051,$62052,$62053,$62054,$62055,$62056,$62057,$62058,$62059,$62060,$62061,$62062),(nextval($62063),$62064,$62065,$62066,$62067,$62068,$62069,$62070,$62071,$62072,$62073,$62074,$62075,$62076),(nextval($62077),$62078,$62079,$62080,$62081,$62082,$62083,$62084,$62085,$62086,$62087,$62088,$62089,$62090),(nextval($62091),$62092,$62093,$62094,$62095,$62096,$62097,$62098,$62099,$62100,$62101,$62102,$62103,$62104),(nextval($62105),$62106,$62107,$62108,$62109,$62110,$62111,$62112,$62113,$62114,$62115,$62116,$62117,$62118),(nextval($62119),$62120,$62121,$62122,$62123,$62124,$62125,$62126,$62127,$62128,$62129,$62130,$62131,$62132),(nextval($62133),$62134,$62135,$62136,$62137,$62138,$62139,$62140,$62141,$62142,$62143,$62144,$62145,$62146),(nextval($62147),$62148,$62149,$62150,$62151,$62152,$62153,$62154,$62155,$62156,$62157,$62158,$62159,$62160),(nextval($62161),$62162,$62163,$62164,$62165,$62166,$62167,$62168,$62169,$62170,$62171,$62172,$62173,$62174),(nextval($62175),$62176,$62177,$62178,$62179,$62180,$62181,$62182,$62183,$62184,$62185,$62186,$62187,$62188),(nextval($62189),$62190,$62191,$62192,$62193,$62194,$62195,$62196,$62197,$62198,$62199,$62200,$62201,$62202),(nextval($62203),$62204,$62205,$62206,$62207,$62208,$62209,$62210,$62211,$62212,$62213,$62214,$62215,$62216),(nextval($62217),$62218,$62219,$62220,$62221,$62222,$62223,$62224,$62225,$62226,$62227,$62228,$62229,$62230),(nextval($62231),$62232,$62233,$62234,$62235,$62236,$62237,$62238,$62239,$62240,$62241,$62242,$62243,$62244),(nextval($62245),$62246,$62247,$62248,$62249,$62250,$62251,$62252,$62253,$62254,$62255,$62256,$62257,$62258),(nextval($62259),$62260,$62261,$62262,$62263,$62264,$62265,$62266,$62267,$62268,$62269,$62270,$62271,$62272),(nextval($62273),$62274,$62275,$62276,$62277,$62278,$62279,$62280,$62281,$62282,$62283,$62284,$62285,$62286),(nextval($62287),$62288,$62289,$62290,$62291,$62292,$62293,$62294,$62295,$62296,$62297,$62298,$62299,$62300),(nextval($62301),$62302,$62303,$62304,$62305,$62306,$62307,$62308,$62309,$62310,$62311,$62312,$62313,$62314),(nextval($62315),$62316,$62317,$62318,$62319,$62320,$62321,$62322,$62323,$62324,$62325,$62326,$62327,$62328),(nextval($62329),$62330,$62331,$62332,$62333,$62334,$62335,$62336,$62337,$62338,$62339,$62340,$62341,$62342),(nextval($62343),$62344,$62345,$62346,$62347,$62348,$62349,$62350,$62351,$62352,$62353,$62354,$62355,$62356),(nextval($62357),$62358,$62359,$62360,$62361,$62362,$62363,$62364,$62365,$62366,$62367,$62368,$62369,$62370),(nextval($62371),$62372,$62373,$62374,$62375,$62376,$62377,$62378,$62379,$62380,$62381,$62382,$62383,$62384),(nextval($62385),$62386,$62387,$62388,$62389,$62390,$62391,$62392,$62393,$62394,$62395,$62396,$62397,$62398),(nextval($62399),$62400,$62401,$62402,$62403,$62404,$62405,$62406,$62407,$62408,$62409,$62410,$62411,$62412),(nextval($62413),$62414,$62415,$62416,$62417,$62418,$62419,$62420,$62421,$62422,$62423,$62424,$62425,$62426),(nextval($62427),$62428,$62429,$62430,$62431,$62432,$62433,$62434,$62435,$62436,$62437,$62438,$62439,$62440),(nextval($62441),$62442,$62443,$62444,$62445,$62446,$62447,$62448,$62449,$62450,$62451,$62452,$62453,$62454),(nextval($62455),$62456,$62457,$62458,$62459,$62460,$62461,$62462,$62463,$62464,$62465,$62466,$62467,$62468),(nextval($62469),$62470,$62471,$62472,$62473,$62474,$62475,$62476,$62477,$62478,$62479,$62480,$62481,$62482),(nextval($62483),$62484,$62485,$62486,$62487,$62488,$62489,$62490,$62491,$62492,$62493,$62494,$62495,$62496),(nextval($62497),$62498,$62499,$62500,$62501,$62502,$62503,$62504,$62505,$62506,$62507,$62508,$62509,$62510),(nextval($62511),$62512,$62513,$62514,$62515,$62516,$62517,$62518,$62519,$62520,$62521,$62522,$62523,$62524),(nextval($62525),$62526,$62527,$62528,$62529,$62530,$62531,$62532,$62533,$62534,$62535,$62536,$62537,$62538),(nextval($62539),$62540,$62541,$62542,$62543,$62544,$62545,$62546,$62547,$62548,$62549,$62550,$62551,$62552),(nextval($62553),$62554,$62555,$62556,$62557,$62558,$62559,$62560,$62561,$62562,$62563,$62564,$62565,$62566),(nextval($62567),$62568,$62569,$62570,$62571,$62572,$62573,$62574,$62575,$62576,$62577,$62578,$62579,$62580),(nextval($62581),$62582,$62583,$62584,$62585,$62586,$62587,$62588,$62589,$62590,$62591,$62592,$62593,$62594),(nextval($62595),$62596,$62597,$62598,$62599,$62600,$62601,$62602,$62603,$62604,$62605,$62606,$62607,$62608),(nextval($62609),$62610,$62611,$62612,$62613,$62614,$62615,$62616,$62617,$62618,$62619,$62620,$62621,$62622),(nextval($62623),$62624,$62625,$62626,$62627,$62628,$62629,$62630,$62631,$62632,$62633,$62634,$62635,$62636),(nextval($62637),$62638,$62639,$62640,$62641,$62642,$62643,$62644,$62645,$62646,$62647,$62648,$62649,$62650),(nextval($62651),$62652,$62653,$62654,$62655,$62656,$62657,$62658,$62659,$62660,$62661,$62662,$62663,$62664),(nextval($62665),$62666,$62667,$62668,$62669,$62670,$62671,$62672,$62673,$62674,$62675,$62676,$62677,$62678),(nextval($62679),$62680,$62681,$62682,$62683,$62684,$62685,$62686,$62687,$62688,$62689,$62690,$62691,$62692),(nextval($62693),$62694,$62695,$62696,$62697,$62698,$62699,$62700,$62701,$62702,$62703,$62704,$62705,$62706),(nextval($62707),$62708,$62709,$62710,$62711,$62712,$62713,$62714,$62715,$62716,$62717,$62718,$62719,$62720),(nextval($62721),$62722,$62723,$62724,$62725,$62726,$62727,$62728,$62729,$62730,$62731,$62732,$62733,$62734),(nextval($62735),$62736,$62737,$62738,$62739,$62740,$62741,$62742,$62743,$62744,$62745,$62746,$62747,$62748),(nextval($62749),$62750,$62751,$62752,$62753,$62754,$62755,$62756,$62757,$62758,$62759,$62760,$62761,$62762),(nextval($62763),$62764,$62765,$62766,$62767,$62768,$62769,$62770,$62771,$62772,$62773,$62774,$62775,$62776),(nextval($62777),$62778,$62779,$62780,$62781,$62782,$62783,$62784,$62785,$62786,$62787,$62788,$62789,$62790),(nextval($62791),$62792,$62793,$62794,$62795,$62796,$62797,$62798,$62799,$62800,$62801,$62802,$62803,$62804),(nextval($62805),$62806,$62807,$62808,$62809,$62810,$62811,$62812,$62813,$62814,$62815,$62816,$62817,$62818),(nextval($62819),$62820,$62821,$62822,$62823,$62824,$62825,$62826,$62827,$62828,$62829,$62830,$62831,$62832),(nextval($62833),$62834,$62835,$62836,$62837,$62838,$62839,$62840,$62841,$62842,$62843,$62844,$62845,$62846),(nextval($62847),$62848,$62849,$62850,$62851,$62852,$62853,$62854,$62855,$62856,$62857,$62858,$62859,$62860),(nextval($62861),$62862,$62863,$62864,$62865,$62866,$62867,$62868,$62869,$62870,$62871,$62872,$62873,$62874),(nextval($62875),$62876,$62877,$62878,$62879,$62880,$62881,$62882,$62883,$62884,$62885,$62886,$62887,$62888),(nextval($62889),$62890,$62891,$62892,$62893,$62894,$62895,$62896,$62897,$62898,$62899,$62900,$62901,$62902),(nextval($62903),$62904,$62905,$62906,$62907,$62908,$62909,$62910,$62911,$62912,$62913,$62914,$62915,$62916),(nextval($62917),$62918,$62919,$62920,$62921,$62922,$62923,$62924,$62925,$62926,$62927,$62928,$62929,$62930),(nextval($62931),$62932,$62933,$62934,$62935,$62936,$62937,$62938,$62939,$62940,$62941,$62942,$62943,$62944),(nextval($62945),$62946,$62947,$62948,$62949,$62950,$62951,$62952,$62953,$62954,$62955,$62956,$62957,$62958),(nextval($62959),$62960,$62961,$62962,$62963,$62964,$62965,$62966,$62967,$62968,$62969,$62970,$62971,$62972),(nextval($62973),$62974,$62975,$62976,$62977,$62978,$62979,$62980,$62981,$62982,$62983,$62984,$62985,$62986),(nextval($62987),$62988,$62989,$62990,$62991,$62992,$62993,$62994,$62995,$62996,$62997,$62998,$62999,$63000),(nextval($63001),$63002,$63003,$63004,$63005,$63006,$63007,$63008,$63009,$63010,$63011,$63012,$63013,$63014),(nextval($63015),$63016,$63017,$63018,$63019,$63020,$63021,$63022,$63023,$63024,$63025,$63026,$63027,$63028),(nextval($63029),$63030,$63031,$63032,$63033,$63034,$63035,$63036,$63037,$63038,$63039,$63040,$63041,$63042),(nextval($63043),$63044,$63045,$63046,$63047,$63048,$63049,$63050,$63051,$63052,$63053,$63054,$63055,$63056),(nextval($63057),$63058,$63059,$63060,$63061,$63062,$63063,$63064,$63065,$63066,$63067,$63068,$63069,$63070),(nextval($63071),$63072,$63073,$63074,$63075,$63076,$63077,$63078,$63079,$63080,$63081,$63082,$63083,$63084),(nextval($63085),$63086,$63087,$63088,$63089,$63090,$63091,$63092,$63093,$63094,$63095,$63096,$63097,$63098),(nextval($63099),$63100,$63101,$63102,$63103,$63104,$63105,$63106,$63107,$63108,$63109,$63110,$63111,$63112),(nextval($63113),$63114,$63115,$63116,$63117,$63118,$63119,$63120,$63121,$63122,$63123,$63124,$63125,$63126),(nextval($63127),$63128,$63129,$63130,$63131,$63132,$63133,$63134,$63135,$63136,$63137,$63138,$63139,$63140),(nextval($63141),$63142,$63143,$63144,$63145,$63146,$63147,$63148,$63149,$63150,$63151,$63152,$63153,$63154),(nextval($63155),$63156,$63157,$63158,$63159,$63160,$63161,$63162,$63163,$63164,$63165,$63166,$63167,$63168),(nextval($63169),$63170,$63171,$63172,$63173,$63174,$63175,$63176,$63177,$63178,$63179,$63180,$63181,$63182),(nextval($63183),$63184,$63185,$63186,$63187,$63188,$63189,$63190,$63191,$63192,$63193,$63194,$63195,$63196),(nextval($63197),$63198,$63199,$63200,$63201,$63202,$63203,$63204,$63205,$63206,$63207,$63208,$63209,$63210),(nextval($63211),$63212,$63213,$63214,$63215,$63216,$63217,$63218,$63219,$63220,$63221,$63222,$63223,$63224),(nextval($63225),$63226,$63227,$63228,$63229,$63230,$63231,$63232,$63233,$63234,$63235,$63236,$63237,$63238),(nextval($63239),$63240,$63241,$63242,$63243,$63244,$63245,$63246,$63247,$63248,$63249,$63250,$63251,$63252),(nextval($63253),$63254,$63255,$63256,$63257,$63258,$63259,$63260,$63261,$63262,$63263,$63264,$63265,$63266),(nextval($63267),$63268,$63269,$63270,$63271,$63272,$63273,$63274,$63275,$63276,$63277,$63278,$63279,$63280),(nextval($63281),$63282,$63283,$63284,$63285,$63286,$63287,$63288,$63289,$63290,$63291,$63292,$63293,$63294),(nextval($63295),$63296,$63297,$63298,$63299,$63300,$63301,$63302,$63303,$63304,$63305,$63306,$63307,$63308),(nextval($63309),$63310,$63311,$63312,$63313,$63314,$63315,$63316,$63317,$63318,$63319,$63320,$63321,$63322),(nextval($63323),$63324,$63325,$63326,$63327,$63328,$63329,$63330,$63331,$63332,$63333,$63334,$63335,$63336),(nextval($63337),$63338,$63339,$63340,$63341,$63342,$63343,$63344,$63345,$63346,$63347,$63348,$63349,$63350),(nextval($63351),$63352,$63353,$63354,$63355,$63356,$63357,$63358,$63359,$63360,$63361,$63362,$63363,$63364),(nextval($63365),$63366,$63367,$63368,$63369,$63370,$63371,$63372,$63373,$63374,$63375,$63376,$63377,$63378),(nextval($63379),$63380,$63381,$63382,$63383,$63384,$63385,$63386,$63387,$63388,$63389,$63390,$63391,$63392),(nextval($63393),$63394,$63395,$63396,$63397,$63398,$63399,$63400,$63401,$63402,$63403,$63404,$63405,$63406),(nextval($63407),$63408,$63409,$63410,$63411,$63412,$63413,$63414,$63415,$63416,$63417,$63418,$63419,$63420),(nextval($63421),$63422,$63423,$63424,$63425,$63426,$63427,$63428,$63429,$63430,$63431,$63432,$63433,$63434),(nextval($63435),$63436,$63437,$63438,$63439,$63440,$63441,$63442,$63443,$63444,$63445,$63446,$63447,$63448),(nextval($63449),$63450,$63451,$63452,$63453,$63454,$63455,$63456,$63457,$63458,$63459,$63460,$63461,$63462),(nextval($63463),$63464,$63465,$63466,$63467,$63468,$63469,$63470,$63471,$63472,$63473,$63474,$63475,$63476),(nextval($63477),$63478,$63479,$63480,$63481,$63482,$63483,$63484,$63485,$63486,$63487,$63488,$63489,$63490),(nextval($63491),$63492,$63493,$63494,$63495,$63496,$63497,$63498,$63499,$63500,$63501,$63502,$63503,$63504),(nextval($63505),$63506,$63507,$63508,$63509,$63510,$63511,$63512,$63513,$63514,$63515,$63516,$63517,$63518),(nextval($63519),$63520,$63521,$63522,$63523,$63524,$63525,$63526,$63527,$63528,$63529,$63530,$63531,$63532),(nextval($63533),$63534,$63535,$63536,$63537,$63538,$63539,$63540,$63541,$63542,$63543,$63544,$63545,$63546),(nextval($63547),$63548,$63549,$63550,$63551,$63552,$63553,$63554,$63555,$63556,$63557,$63558,$63559,$63560),(nextval($63561),$63562,$63563,$63564,$63565,$63566,$63567,$63568,$63569,$63570,$63571,$63572,$63573,$63574),(nextval($63575),$63576,$63577,$63578,$63579,$63580,$63581,$63582,$63583,$63584,$63585,$63586,$63587,$63588),(nextval($63589),$63590,$63591,$63592,$63593,$63594,$63595,$63596,$63597,$63598,$63599,$63600,$63601,$63602),(nextval($63603),$63604,$63605,$63606,$63607,$63608,$63609,$63610,$63611,$63612,$63613,$63614,$63615,$63616),(nextval($63617),$63618,$63619,$63620,$63621,$63622,$63623,$63624,$63625,$63626,$63627,$63628,$63629,$63630),(nextval($63631),$63632,$63633,$63634,$63635,$63636,$63637,$63638,$63639,$63640,$63641,$63642,$63643,$63644),(nextval($63645),$63646,$63647,$63648,$63649,$63650,$63651,$63652,$63653,$63654,$63655,$63656,$63657,$63658),(nextval($63659),$63660,$63661,$63662,$63663,$63664,$63665,$63666,$63667,$63668,$63669,$63670,$63671,$63672),(nextval($63673),$63674,$63675,$63676,$63677,$63678,$63679,$63680,$63681,$63682,$63683,$63684,$63685,$63686),(nextval($63687),$63688,$63689,$63690,$63691,$63692,$63693,$63694,$63695,$63696,$63697,$63698,$63699,$63700),(nextval($63701),$63702,$63703,$63704,$63705,$63706,$63707,$63708,$63709,$63710,$63711,$63712,$63713,$63714),(nextval($63715),$63716,$63717,$63718,$63719,$63720,$63721,$63722,$63723,$63724,$63725,$63726,$63727,$63728),(nextval($63729),$63730,$63731,$63732,$63733,$63734,$63735,$63736,$63737,$63738,$63739,$63740,$63741,$63742),(nextval($63743),$63744,$63745,$63746,$63747,$63748,$63749,$63750,$63751,$63752,$63753,$63754,$63755,$63756),(nextval($63757),$63758,$63759,$63760,$63761,$63762,$63763,$63764,$63765,$63766,$63767,$63768,$63769,$63770),(nextval($63771),$63772,$63773,$63774,$63775,$63776,$63777,$63778,$63779,$63780,$63781,$63782,$63783,$63784),(nextval($63785),$63786,$63787,$63788,$63789,$63790,$63791,$63792,$63793,$63794,$63795,$63796,$63797,$63798),(nextval($63799),$63800,$63801,$63802,$63803,$63804,$63805,$63806,$63807,$63808,$63809,$63810,$63811,$63812),(nextval($63813),$63814,$63815,$63816,$63817,$63818,$63819,$63820,$63821,$63822,$63823,$63824,$63825,$63826),(nextval($63827),$63828,$63829,$63830,$63831,$63832,$63833,$63834,$63835,$63836,$63837,$63838,$63839,$63840),(nextval($63841),$63842,$63843,$63844,$63845,$63846,$63847,$63848,$63849,$63850,$63851,$63852,$63853,$63854),(nextval($63855),$63856,$63857,$63858,$63859,$63860,$63861,$63862,$63863,$63864,$63865,$63866,$63867,$63868),(nextval($63869),$63870,$63871,$63872,$63873,$63874,$63875,$63876,$63877,$63878,$63879,$63880,$63881,$63882),(nextval($63883),$63884,$63885,$63886,$63887,$63888,$63889,$63890,$63891,$63892,$63893,$63894,$63895,$63896),(nextval($63897),$63898,$63899,$63900,$63901,$63902,$63903,$63904,$63905,$63906,$63907,$63908,$63909,$63910),(nextval($63911),$63912,$63913,$63914,$63915,$63916,$63917,$63918,$63919,$63920,$63921,$63922,$63923,$63924),(nextval($63925),$63926,$63927,$63928,$63929,$63930,$63931,$63932,$63933,$63934,$63935,$63936,$63937,$63938),(nextval($63939),$63940,$63941,$63942,$63943,$63944,$63945,$63946,$63947,$63948,$63949,$63950,$63951,$63952),(nextval($63953),$63954,$63955,$63956,$63957,$63958,$63959,$63960,$63961,$63962,$63963,$63964,$63965,$63966),(nextval($63967),$63968,$63969,$63970,$63971,$63972,$63973,$63974,$63975,$63976,$63977,$63978,$63979,$63980),(nextval($63981),$63982,$63983,$63984,$63985,$63986,$63987,$63988,$63989,$63990,$63991,$63992,$63993,$63994),(nextval($63995),$63996,$63997,$63998,$63999,$64000,$64001,$64002,$64003,$64004,$64005,$64006,$64007,$64008),(nextval($64009),$64010,$64011,$64012,$64013,$64014,$64015,$64016,$64017,$64018,$64019,$64020,$64021,$64022),(nextval($64023),$64024,$64025,$64026,$64027,$64028,$64029,$64030,$64031,$64032,$64033,$64034,$64035,$64036),(nextval($64037),$64038,$64039,$64040,$64041,$64042,$64043,$64044,$64045,$64046,$64047,$64048,$64049,$64050),(nextval($64051),$64052,$64053,$64054,$64055,$64056,$64057,$64058,$64059,$64060,$64061,$64062,$64063,$64064),(nextval($64065),$64066,$64067,$64068,$64069,$64070,$64071,$64072,$64073,$64074,$64075,$64076,$64077,$64078),(nextval($64079),$64080,$64081,$64082,$64083,$64084,$64085,$64086,$64087,$64088,$64089,$64090,$64091,$64092),(nextval($64093),$64094,$64095,$64096,$64097,$64098,$64099,$64100,$64101,$64102,$64103,$64104,$64105,$64106),(nextval($64107),$64108,$64109,$64110,$64111,$64112,$64113,$64114,$64115,$64116,$64117,$64118,$64119,$64120),(nextval($64121),$64122,$64123,$64124,$64125,$64126,$64127,$64128,$64129,$64130,$64131,$64132,$64133,$64134),(nextval($64135),$64136,$64137,$64138,$64139,$64140,$64141,$64142,$64143,$64144,$64145,$64146,$64147,$64148),(nextval($64149),$64150,$64151,$64152,$64153,$64154,$64155,$64156,$64157,$64158,$64159,$64160,$64161,$64162),(nextval($64163),$64164,$64165,$64166,$64167,$64168,$64169,$64170,$64171,$64172,$64173,$64174,$64175,$64176),(nextval($64177),$64178,$64179,$64180,$64181,$64182,$64183,$64184,$64185,$64186,$64187,$64188,$64189,$64190),(nextval($64191),$64192,$64193,$64194,$64195,$64196,$64197,$64198,$64199,$64200,$64201,$64202,$64203,$64204),(nextval($64205),$64206,$64207,$64208,$64209,$64210,$64211,$64212,$64213,$64214,$64215,$64216,$64217,$64218),(nextval($64219),$64220,$64221,$64222,$64223,$64224,$64225,$64226,$64227,$64228,$64229,$64230,$64231,$64232),(nextval($64233),$64234,$64235,$64236,$64237,$64238,$64239,$64240,$64241,$64242,$64243,$64244,$64245,$64246),(nextval($64247),$64248,$64249,$64250,$64251,$64252,$64253,$64254,$64255,$64256,$64257,$64258,$64259,$64260),(nextval($64261),$64262,$64263,$64264,$64265,$64266,$64267,$64268,$64269,$64270,$64271,$64272,$64273,$64274),(nextval($64275),$64276,$64277,$64278,$64279,$64280,$64281,$64282,$64283,$64284,$64285,$64286,$64287,$64288),(nextval($64289),$64290,$64291,$64292,$64293,$64294,$64295,$64296,$64297,$64298,$64299,$64300,$64301,$64302),(nextval($64303),$64304,$64305,$64306,$64307,$64308,$64309,$64310,$64311,$64312,$64313,$64314,$64315,$64316),(nextval($64317),$64318,$64319,$64320,$64321,$64322,$64323,$64324,$64325,$64326,$64327,$64328,$64329,$64330),(nextval($64331),$64332,$64333,$64334,$64335,$64336,$64337,$64338,$64339,$64340,$64341,$64342,$64343,$64344),(nextval($64345),$64346,$64347,$64348,$64349,$64350,$64351,$64352,$64353,$64354,$64355,$64356,$64357,$64358),(nextval($64359),$64360,$64361,$64362,$64363,$64364,$64365,$64366,$64367,$64368,$64369,$64370,$64371,$64372),(nextval($64373),$64374,$64375,$64376,$64377,$64378,$64379,$64380,$64381,$64382,$64383,$64384,$64385,$64386),(nextval($64387),$64388,$64389,$64390,$64391,$64392,$64393,$64394,$64395,$64396,$64397,$64398,$64399,$64400),(nextval($64401),$64402,$64403,$64404,$64405,$64406,$64407,$64408,$64409,$64410,$64411,$64412,$64413,$64414),(nextval($64415),$64416,$64417,$64418,$64419,$64420,$64421,$64422,$64423,$64424,$64425,$64426,$64427,$64428),(nextval($64429),$64430,$64431,$64432,$64433,$64434,$64435,$64436,$64437,$64438,$64439,$64440,$64441,$64442),(nextval($64443),$64444,$64445,$64446,$64447,$64448,$64449,$64450,$64451,$64452,$64453,$64454,$64455,$64456),(nextval($64457),$64458,$64459,$64460,$64461,$64462,$64463,$64464,$64465,$64466,$64467,$64468,$64469,$64470),(nextval($64471),$64472,$64473,$64474,$64475,$64476,$64477,$64478,$64479,$64480,$64481,$64482,$64483,$64484),(nextval($64485),$64486,$64487,$64488,$64489,$64490,$64491,$64492,$64493,$64494,$64495,$64496,$64497,$64498),(nextval($64499),$64500,$64501,$64502,$64503,$64504,$64505,$64506,$64507,$64508,$64509,$64510,$64511,$64512),(nextval($64513),$64514,$64515,$64516,$64517,$64518,$64519,$64520,$64521,$64522,$64523,$64524,$64525,$64526),(nextval($64527),$64528,$64529,$64530,$64531,$64532,$64533,$64534,$64535,$64536,$64537,$64538,$64539,$64540),(nextval($64541),$64542,$64543,$64544,$64545,$64546,$64547,$64548,$64549,$64550,$64551,$64552,$64553,$64554),(nextval($64555),$64556,$64557,$64558,$64559,$64560,$64561,$64562,$64563,$64564,$64565,$64566,$64567,$64568),(nextval($64569),$64570,$64571,$64572,$64573,$64574,$64575,$64576,$64577,$64578,$64579,$64580,$64581,$64582),(nextval($64583),$64584,$64585,$64586,$64587,$64588,$64589,$64590,$64591,$64592,$64593,$64594,$64595,$64596),(nextval($64597),$64598,$64599,$64600,$64601,$64602,$64603,$64604,$64605,$64606,$64607,$64608,$64609,$64610),(nextval($64611),$64612,$64613,$64614,$64615,$64616,$64617,$64618,$64619,$64620,$64621,$64622,$64623,$64624),(nextval($64625),$64626,$64627,$64628,$64629,$64630,$64631,$64632,$64633,$64634,$64635,$64636,$64637,$64638),(nextval($64639),$64640,$64641,$64642,$64643,$64644,$64645,$64646,$64647,$64648,$64649,$64650,$64651,$64652),(nextval($64653),$64654,$64655,$64656,$64657,$64658,$64659,$64660,$64661,$64662,$64663,$64664,$64665,$64666),(nextval($64667),$64668,$64669,$64670,$64671,$64672,$64673,$64674,$64675,$64676,$64677,$64678,$64679,$64680),(nextval($64681),$64682,$64683,$64684,$64685,$64686,$64687,$64688,$64689,$64690,$64691,$64692,$64693,$64694),(nextval($64695),$64696,$64697,$64698,$64699,$64700,$64701,$64702,$64703,$64704,$64705,$64706,$64707,$64708),(nextval($64709),$64710,$64711,$64712,$64713,$64714,$64715,$64716,$64717,$64718,$64719,$64720,$64721,$64722),(nextval($64723),$64724,$64725,$64726,$64727,$64728,$64729,$64730,$64731,$64732,$64733,$64734,$64735,$64736),(nextval($64737),$64738,$64739,$64740,$64741,$64742,$64743,$64744,$64745,$64746,$64747,$64748,$64749,$64750),(nextval($64751),$64752,$64753,$64754,$64755,$64756,$64757,$64758,$64759,$64760,$64761,$64762,$64763,$64764),(nextval($64765),$64766,$64767,$64768,$64769,$64770,$64771,$64772,$64773,$64774,$64775,$64776,$64777,$64778),(nextval($64779),$64780,$64781,$64782,$64783,$64784,$64785,$64786,$64787,$64788,$64789,$64790,$64791,$64792),(nextval($64793),$64794,$64795,$64796,$64797,$64798,$64799,$64800,$64801,$64802,$64803,$64804,$64805,$64806),(nextval($64807),$64808,$64809,$64810,$64811,$64812,$64813,$64814,$64815,$64816,$64817,$64818,$64819,$64820),(nextval($64821),$64822,$64823,$64824,$64825,$64826,$64827,$64828,$64829,$64830,$64831,$64832,$64833,$64834),(nextval($64835),$64836,$64837,$64838,$64839,$64840,$64841,$64842,$64843,$64844,$64845,$64846,$64847,$64848),(nextval($64849),$64850,$64851,$64852,$64853,$64854,$64855,$64856,$64857,$64858,$64859,$64860,$64861,$64862),(nextval($64863),$64864,$64865,$64866,$64867,$64868,$64869,$64870,$64871,$64872,$64873,$64874,$64875,$64876),(nextval($64877),$64878,$64879,$64880,$64881,$64882,$64883,$64884,$64885,$64886,$64887,$64888,$64889,$64890),(nextval($64891),$64892,$64893,$64894,$64895,$64896,$64897,$64898,$64899,$64900,$64901,$64902,$64903,$64904),(nextval($64905),$64906,$64907,$64908,$64909,$64910,$64911,$64912,$64913,$64914,$64915,$64916,$64917,$64918),(nextval($64919),$64920,$64921,$64922,$64923,$64924,$64925,$64926,$64927,$64928,$64929,$64930,$64931,$64932),(nextval($64933),$64934,$64935,$64936,$64937,$64938,$64939,$64940,$64941,$64942,$64943,$64944,$64945,$64946),(nextval($64947),$64948,$64949,$64950,$64951,$64952,$64953,$64954,$64955,$64956,$64957,$64958,$64959,$64960),(nextval($64961),$64962,$64963,$64964,$64965,$64966,$64967,$64968,$64969,$64970,$64971,$64972,$64973,$64974),(nextval($64975),$64976,$64977,$64978,$64979,$64980,$64981,$64982,$64983,$64984,$64985,$64986,$64987,$64988),(nextval($64989),$64990,$64991,$64992,$64993,$64994,$64995,$64996,$64997,$64998,$64999,$65000,$65001,$65002),(nextval($65003),$65004,$65005,$65006,$65007,$65008,$65009,$65010,$65011,$65012,$65013,$65014,$65015,$65016),(nextval($65017),$65018,$65019,$65020,$65021,$65022,$65023,$65024,$65025,$65026,$65027,$65028,$65029,$65030),(nextval($65031),$65032,$65033,$65034,$65035,$65036,$65037,$65038,$65039,$65040,$65041,$65042,$65043,$65044),(nextval($65045),$65046,$65047,$65048,$65049,$65050,$65051,$65052,$65053,$65054,$65055,$65056,$65057,$65058),(nextval($65059),$65060,$65061,$65062,$65063,$65064,$65065,$65066,$65067,$65068,$65069,$65070,$65071,$65072),(nextval($65073),$65074,$65075,$65076,$65077,$65078,$65079,$65080,$65081,$65082,$65083,$65084,$65085,$65086),(nextval($65087),$65088,$65089,$65090,$65091,$65092,$65093,$65094,$65095,$65096,$65097,$65098,$65099,$65100),(nextval($65101),$65102,$65103,$65104,$65105,$65106,$65107,$65108,$65109,$65110,$65111,$65112,$65113,$65114),(nextval($65115),$65116,$65117,$65118,$65119,$65120,$65121,$65122,$65123,$65124,$65125,$65126,$65127,$65128),(nextval($65129),$65130,$65131,$65132,$65133,$65134,$65135,$65136,$65137,$65138,$65139,$65140,$65141,$65142),(nextval($65143),$65144,$65145,$65146,$65147,$65148,$65149,$65150,$65151,$65152,$65153,$65154,$65155,$65156),(nextval($65157),$65158,$65159,$65160,$65161,$65162,$65163,$65164,$65165,$65166,$65167,$65168,$65169,$65170),(nextval($65171),$65172,$65173,$65174,$65175,$65176,$65177,$65178,$65179,$65180,$65181,$65182,$65183,$65184),(nextval($65185),$65186,$65187,$65188,$65189,$65190,$65191,$65192,$65193,$65194,$65195,$65196,$65197,$65198),(nextval($65199),$65200,$65201,$65202,$65203,$65204,$65205,$65206,$65207,$65208,$65209,$65210,$65211,$65212),(nextval($65213),$65214,$65215,$65216,$65217,$65218,$65219,$65220,$65221,$65222,$65223,$65224,$65225,$65226),(nextval($65227),$65228,$65229,$65230,$65231,$65232,$65233,$65234,$65235,$65236,$65237,$65238,$65239,$65240),(nextval($65241),$65242,$65243,$65244,$65245,$65246,$65247,$65248,$65249,$65250,$65251,$65252,$65253,$65254),(nextval($65255),$65256,$65257,$65258,$65259,$65260,$65261,$65262,$65263,$65264,$65265,$65266,$65267,$65268),(nextval($65269),$65270,$65271,$65272,$65273,$65274,$65275,$65276,$65277,$65278,$65279,$65280,$65281,$65282),(nextval($65283),$65284,$65285,$65286,$65287,$65288,$65289,$65290,$65291,$65292,$65293,$65294,$65295,$65296),(nextval($65297),$65298,$65299,$65300,$65301,$65302,$65303,$65304,$65305,$65306,$65307,$65308,$65309,$65310),(nextval($65311),$65312,$65313,$65314,$65315,$65316,$65317,$65318,$65319,$65320,$65321,$65322,$65323,$65324),(nextval($65325),$65326,$65327,$65328,$65329,$65330,$65331,$65332,$65333,$65334,$65335,$65336,$65337,$65338),(nextval($65339),$65340,$65341,$65342,$65343,$65344,$65345,$65346,$65347,$65348,$65349,$65350,$65351,$65352),(nextval($65353),$65354,$65355,$65356,$65357,$65358,$65359,$65360,$65361,$65362,$65363,$65364,$65365,$65366),(nextval($65367),$65368,$65369,$65370,$65371,$65372,$65373,$65374,$65375,$65376,$65377,$65378,$65379,$65380),(nextval($65381),$65382,$65383,$65384,$65385,$65386,$65387,$65388,$65389,$65390,$65391,$65392,$65393,$65394),(nextval($65395),$65396,$65397,$65398,$65399,$65400,$65401,$65402,$65403,$65404,$65405,$65406,$65407,$65408),(nextval($65409),$65410,$65411,$65412,$65413,$65414,$65415,$65416,$65417,$65418,$65419,$65420,$65421,$65422),(nextval($65423),$65424,$65425,$65426,$65427,$65428,$65429,$65430,$65431,$65432,$65433,$65434,$65435,$65436),(nextval($65437),$65438,$65439,$65440,$65441,$65442,$65443,$65444,$65445,$65446,$65447,$65448,$65449,$65450),(nextval($65451),$65452,$65453,$65454,$65455,$65456,$65457,$65458,$65459,$65460,$65461,$65462,$65463,$65464),(nextval($65465),$65466,$65467,$65468,$65469,$65470,$65471,$65472,$65473,$65474,$65475,$65476,$65477,$65478),(nextval($65479),$65480,$65481,$65482,$65483,$65484,$65485,$65486,$65487,$65488,$65489,$65490,$65491,$65492),(nextval($65493),$65494,$65495,$65496,$65497,$65498,$65499,$65500,$65501,$65502,$65503,$65504,$65505,$65506),(nextval($65507),$65508,$65509,$65510,$65511,$65512,$65513,$65514,$65515,$65516,$65517,$65518,$65519,$65520),(nextval($65521),$65522,$65523,$65524,$65525,$65526,$65527,$65528,$65529,$65530,$65531,$65532,$65533,$65534),(nextval($65535),$65536,$65537,$65538,$65539,$65540,$65541,$65542,$65543,$65544,$65545,$65546,$65547,$65548),(nextval($65549),$65550,$65551,$65552,$65553,$65554,$65555,$65556,$65557,$65558,$65559,$65560,$65561,$65562),(nextval($65563),$65564,$65565,$65566,$65567,$65568,$65569,$65570,$65571,$65572,$65573,$65574,$65575,$65576),(nextval($65577),$65578,$65579,$65580,$65581,$65582,$65583,$65584,$65585,$65586,$65587,$65588,$65589,$65590),(nextval($65591),$65592,$65593,$65594,$65595,$65596,$65597,$65598,$65599,$65600,$65601,$65602,$65603,$65604),(nextval($65605),$65606,$65607,$65608,$65609,$65610,$65611,$65612,$65613,$65614,$65615,$65616,$65617,$65618),(nextval($65619),$65620,$65621,$65622,$65623,$65624,$65625,$65626,$65627,$65628,$65629,$65630,$65631,$65632),(nextval($65633),$65634,$65635,$65636,$65637,$65638,$65639,$65640,$65641,$65642,$65643,$65644,$65645,$65646),(nextval($65647),$65648,$65649,$65650,$65651,$65652,$65653,$65654,$65655,$65656,$65657,$65658,$65659,$65660),(nextval($65661),$65662,$65663,$65664,$65665,$65666,$65667,$65668,$65669,$65670,$65671,$65672,$65673,$65674),(nextval($65675),$65676,$65677,$65678,$65679,$65680,$65681,$65682,$65683,$65684,$65685,$65686,$65687,$65688),(nextval($65689),$65690,$65691,$65692,$65693,$65694,$65695,$65696,$65697,$65698,$65699,$65700,$65701,$65702),(nextval($65703),$65704,$65705,$65706,$65707,$65708,$65709,$65710,$65711,$65712,$65713,$65714,$65715,$65716),(nextval($65717),$65718,$65719,$65720,$65721,$65722,$65723,$65724,$65725,$65726,$65727,$65728,$65729,$65730),(nextval($65731),$65732,$65733,$65734,$65735,$65736,$65737,$65738,$65739,$65740,$65741,$65742,$65743,$65744),(nextval($65745),$65746,$65747,$65748,$65749,$65750,$65751,$65752,$65753,$65754,$65755,$65756,$65757,$65758),(nextval($65759),$65760,$65761,$65762,$65763,$65764,$65765,$65766,$65767,$65768,$65769,$65770,$65771,$65772),(nextval($65773),$65774,$65775,$65776,$65777,$65778,$65779,$65780,$65781,$65782,$65783,$65784,$65785,$65786),(nextval($65787),$65788,$65789,$65790,$65791,$65792,$65793,$65794,$65795,$65796,$65797,$65798,$65799,$65800),(nextval($65801),$65802,$65803,$65804,$65805,$65806,$65807,$65808,$65809,$65810,$65811,$65812,$65813,$65814),(nextval($65815),$65816,$65817,$65818,$65819,$65820,$65821,$65822,$65823,$65824,$65825,$65826,$65827,$65828),(nextval($65829),$65830,$65831,$65832,$65833,$65834,$65835,$65836,$65837,$65838,$65839,$65840,$65841,$65842),(nextval($65843),$65844,$65845,$65846,$65847,$65848,$65849,$65850,$65851,$65852,$65853,$65854,$65855,$65856),(nextval($65857),$65858,$65859,$65860,$65861,$65862,$65863,$65864,$65865,$65866,$65867,$65868,$65869,$65870),(nextval($65871),$65872,$65873,$65874,$65875,$65876,$65877,$65878,$65879,$65880,$65881,$65882,$65883,$65884),(nextval($65885),$65886,$65887,$65888,$65889,$65890,$65891,$65892,$65893,$65894,$65895,$65896,$65897,$65898),(nextval($65899),$65900,$65901,$65902,$65903,$65904,$65905,$65906,$65907,$65908,$65909,$65910,$65911,$65912),(nextval($65913),$65914,$65915,$65916,$65917,$65918,$65919,$65920,$65921,$65922,$65923,$65924,$65925,$65926),(nextval($65927),$65928,$65929,$65930,$65931,$65932,$65933,$65934,$65935,$65936,$65937,$65938,$65939,$65940),(nextval($65941),$65942,$65943,$65944,$65945,$65946,$65947,$65948,$65949,$65950,$65951,$65952,$65953,$65954),(nextval($65955),$65956,$65957,$65958,$65959,$65960,$65961,$65962,$65963,$65964,$65965,$65966,$65967,$65968),(nextval($65969),$65970,$65971,$65972,$65973,$65974,$65975,$65976,$65977,$65978,$65979,$65980,$65981,$65982),(nextval($65983),$65984,$65985,$65986,$65987,$65988,$65989,$65990,$65991,$65992,$65993,$65994,$65995,$65996),(nextval($65997),$65998,$65999,$66000,$66001,$66002,$66003,$66004,$66005,$66006,$66007,$66008,$66009,$66010),(nextval($66011),$66012,$66013,$66014,$66015,$66016,$66017,$66018,$66019,$66020,$66021,$66022,$66023,$66024),(nextval($66025),$66026,$66027,$66028,$66029,$66030,$66031,$66032,$66033,$66034,$66035,$66036,$66037,$66038),(nextval($66039),$66040,$66041,$66042,$66043,$66044,$66045,$66046,$66047,$66048,$66049,$66050,$66051,$66052),(nextval($66053),$66054,$66055,$66056,$66057,$66058,$66059,$66060,$66061,$66062,$66063,$66064,$66065,$66066),(nextval($66067),$66068,$66069,$66070,$66071,$66072,$66073,$66074,$66075,$66076,$66077,$66078,$66079,$66080),(nextval($66081),$66082,$66083,$66084,$66085,$66086,$66087,$66088,$66089,$66090,$66091,$66092,$66093,$66094),(nextval($66095),$66096,$66097,$66098,$66099,$66100,$66101,$66102,$66103,$66104,$66105,$66106,$66107,$66108),(nextval($66109),$66110,$66111,$66112,$66113,$66114,$66115,$66116,$66117,$66118,$66119,$66120,$66121,$66122),(nextval($66123),$66124,$66125,$66126,$66127,$66128,$66129,$66130,$66131,$66132,$66133,$66134,$66135,$66136),(nextval($66137),$66138,$66139,$66140,$66141,$66142,$66143,$66144,$66145,$66146,$66147,$66148,$66149,$66150),(nextval($66151),$66152,$66153,$66154,$66155,$66156,$66157,$66158,$66159,$66160,$66161,$66162,$66163,$66164),(nextval($66165),$66166,$66167,$66168,$66169,$66170,$66171,$66172,$66173,$66174,$66175,$66176,$66177,$66178),(nextval($66179),$66180,$66181,$66182,$66183,$66184,$66185,$66186,$66187,$66188,$66189,$66190,$66191,$66192),(nextval($66193),$66194,$66195,$66196,$66197,$66198,$66199,$66200,$66201,$66202,$66203,$66204,$66205,$66206),(nextval($66207),$66208,$66209,$66210,$66211,$66212,$66213,$66214,$66215,$66216,$66217,$66218,$66219,$66220),(nextval($66221),$66222,$66223,$66224,$66225,$66226,$66227,$66228,$66229,$66230,$66231,$66232,$66233,$66234),(nextval($66235),$66236,$66237,$66238,$66239,$66240,$66241,$66242,$66243,$66244,$66245,$66246,$66247,$66248),(nextval($66249),$66250,$66251,$66252,$66253,$66254,$66255,$66256,$66257,$66258,$66259,$66260,$66261,$66262),(nextval($66263),$66264,$66265,$66266,$66267,$66268,$66269,$66270,$66271,$66272,$66273,$66274,$66275,$66276),(nextval($66277),$66278,$66279,$66280,$66281,$66282,$66283,$66284,$66285,$66286,$66287,$66288,$66289,$66290),(nextval($66291),$66292,$66293,$66294,$66295,$66296,$66297,$66298,$66299,$66300,$66301,$66302,$66303,$66304),(nextval($66305),$66306,$66307,$66308,$66309,$66310,$66311,$66312,$66313,$66314,$66315,$66316,$66317,$66318),(nextval($66319),$66320,$66321,$66322,$66323,$66324,$66325,$66326,$66327,$66328,$66329,$66330,$66331,$66332),(nextval($66333),$66334,$66335,$66336,$66337,$66338,$66339,$66340,$66341,$66342,$66343,$66344,$66345,$66346),(nextval($66347),$66348,$66349,$66350,$66351,$66352,$66353,$66354,$66355,$66356,$66357,$66358,$66359,$66360),(nextval($66361),$66362,$66363,$66364,$66365,$66366,$66367,$66368,$66369,$66370,$66371,$66372,$66373,$66374),(nextval($66375),$66376,$66377,$66378,$66379,$66380,$66381,$66382,$66383,$66384,$66385,$66386,$66387,$66388),(nextval($66389),$66390,$66391,$66392,$66393,$66394,$66395,$66396,$66397,$66398,$66399,$66400,$66401,$66402),(nextval($66403),$66404,$66405,$66406,$66407,$66408,$66409,$66410,$66411,$66412,$66413,$66414,$66415,$66416),(nextval($66417),$66418,$66419,$66420,$66421,$66422,$66423,$66424,$66425,$66426,$66427,$66428,$66429,$66430),(nextval($66431),$66432,$66433,$66434,$66435,$66436,$66437,$66438,$66439,$66440,$66441,$66442,$66443,$66444),(nextval($66445),$66446,$66447,$66448,$66449,$66450,$66451,$66452,$66453,$66454,$66455,$66456,$66457,$66458),(nextval($66459),$66460,$66461,$66462,$66463,$66464,$66465,$66466,$66467,$66468,$66469,$66470,$66471,$66472),(nextval($66473),$66474,$66475,$66476,$66477,$66478,$66479,$66480,$66481,$66482,$66483,$66484,$66485,$66486),(nextval($66487),$66488,$66489,$66490,$66491,$66492,$66493,$66494,$66495,$66496,$66497,$66498,$66499,$66500),(nextval($66501),$66502,$66503,$66504,$66505,$66506,$66507,$66508,$66509,$66510,$66511,$66512,$66513,$66514),(nextval($66515),$66516,$66517,$66518,$66519,$66520,$66521,$66522,$66523,$66524,$66525,$66526,$66527,$66528),(nextval($66529),$66530,$66531,$66532,$66533,$66534,$66535,$66536,$66537,$66538,$66539,$66540,$66541,$66542),(nextval($66543),$66544,$66545,$66546,$66547,$66548,$66549,$66550,$66551,$66552,$66553,$66554,$66555,$66556),(nextval($66557),$66558,$66559,$66560,$66561,$66562,$66563,$66564,$66565,$66566,$66567,$66568,$66569,$66570),(nextval($66571),$66572,$66573,$66574,$66575,$66576,$66577,$66578,$66579,$66580,$66581,$66582,$66583,$66584),(nextval($66585),$66586,$66587,$66588,$66589,$66590,$66591,$66592,$66593,$66594,$66595,$66596,$66597,$66598),(nextval($66599),$66600,$66601,$66602,$66603,$66604,$66605,$66606,$66607,$66608,$66609,$66610,$66611,$66612),(nextval($66613),$66614,$66615,$66616,$66617,$66618,$66619,$66620,$66621,$66622,$66623,$66624,$66625,$66626),(nextval($66627),$66628,$66629,$66630,$66631,$66632,$66633,$66634,$66635,$66636,$66637,$66638,$66639,$66640),(nextval($66641),$66642,$66643,$66644,$66645,$66646,$66647,$66648,$66649,$66650,$66651,$66652,$66653,$66654),(nextval($66655),$66656,$66657,$66658,$66659,$66660,$66661,$66662,$66663,$66664,$66665,$66666,$66667,$66668),(nextval($66669),$66670,$66671,$66672,$66673,$66674,$66675,$66676,$66677,$66678,$66679,$66680,$66681,$66682),(nextval($66683),$66684,$66685,$66686,$66687,$66688,$66689,$66690,$66691,$66692,$66693,$66694,$66695,$66696),(nextval($66697),$66698,$66699,$66700,$66701,$66702,$66703,$66704,$66705,$66706,$66707,$66708,$66709,$66710),(nextval($66711),$66712,$66713,$66714,$66715,$66716,$66717,$66718,$66719,$66720,$66721,$66722,$66723,$66724),(nextval($66725),$66726,$66727,$66728,$66729,$66730,$66731,$66732,$66733,$66734,$66735,$66736,$66737,$66738),(nextval($66739),$66740,$66741,$66742,$66743,$66744,$66745,$66746,$66747,$66748,$66749,$66750,$66751,$66752),(nextval($66753),$66754,$66755,$66756,$66757,$66758,$66759,$66760,$66761,$66762,$66763,$66764,$66765,$66766),(nextval($66767),$66768,$66769,$66770,$66771,$66772,$66773,$66774,$66775,$66776,$66777,$66778,$66779,$66780),(nextval($66781),$66782,$66783,$66784,$66785,$66786,$66787,$66788,$66789,$66790,$66791,$66792,$66793,$66794),(nextval($66795),$66796,$66797,$66798,$66799,$66800,$66801,$66802,$66803,$66804,$66805,$66806,$66807,$66808),(nextval($66809),$66810,$66811,$66812,$66813,$66814,$66815,$66816,$66817,$66818,$66819,$66820,$66821,$66822),(nextval($66823),$66824,$66825,$66826,$66827,$66828,$66829,$66830,$66831,$66832,$66833,$66834,$66835,$66836),(nextval($66837),$66838,$66839,$66840,$66841,$66842,$66843,$66844,$66845,$66846,$66847,$66848,$66849,$66850),(nextval($66851),$66852,$66853,$66854,$66855,$66856,$66857,$66858,$66859,$66860,$66861,$66862,$66863,$66864),(nextval($66865),$66866,$66867,$66868,$66869,$66870,$66871,$66872,$66873,$66874,$66875,$66876,$66877,$66878),(nextval($66879),$66880,$66881,$66882,$66883,$66884,$66885,$66886,$66887,$66888,$66889,$66890,$66891,$66892),(nextval($66893),$66894,$66895,$66896,$66897,$66898,$66899,$66900,$66901,$66902,$66903,$66904,$66905,$66906),(nextval($66907),$66908,$66909,$66910,$66911,$66912,$66913,$66914,$66915,$66916,$66917,$66918,$66919,$66920),(nextval($66921),$66922,$66923,$66924,$66925,$66926,$66927,$66928,$66929,$66930,$66931,$66932,$66933,$66934),(nextval($66935),$66936,$66937,$66938,$66939,$66940,$66941,$66942,$66943,$66944,$66945,$66946,$66947,$66948),(nextval($66949),$66950,$66951,$66952,$66953,$66954,$66955,$66956,$66957,$66958,$66959,$66960,$66961,$66962),(nextval($66963),$66964,$66965,$66966,$66967,$66968,$66969,$66970,$66971,$66972,$66973,$66974,$66975,$66976),(nextval($66977),$66978,$66979,$66980,$66981,$66982,$66983,$66984,$66985,$66986,$66987,$66988,$66989,$66990),(nextval($66991),$66992,$66993,$66994,$66995,$66996,$66997,$66998,$66999,$67000,$67001,$67002,$67003,$67004),(nextval($67005),$67006,$67007,$67008,$67009,$67010,$67011,$67012,$67013,$67014,$67015,$67016,$67017,$67018),(nextval($67019),$67020,$67021,$67022,$67023,$67024,$67025,$67026,$67027,$67028,$67029,$67030,$67031,$67032),(nextval($67033),$67034,$67035,$67036,$67037,$67038,$67039,$67040,$67041,$67042,$67043,$67044,$67045,$67046),(nextval($67047),$67048,$67049,$67050,$67051,$67052,$67053,$67054,$67055,$67056,$67057,$67058,$67059,$67060),(nextval($67061),$67062,$67063,$67064,$67065,$67066,$67067,$67068,$67069,$67070,$67071,$67072,$67073,$67074),(nextval($67075),$67076,$67077,$67078,$67079,$67080,$67081,$67082,$67083,$67084,$67085,$67086,$67087,$67088),(nextval($67089),$67090,$67091,$67092,$67093,$67094,$67095,$67096,$67097,$67098,$67099,$67100,$67101,$67102),(nextval($67103),$67104,$67105,$67106,$67107,$67108,$67109,$67110,$67111,$67112,$67113,$67114,$67115,$67116),(nextval($67117),$67118,$67119,$67120,$67121,$67122,$67123,$67124,$67125,$67126,$67127,$67128,$67129,$67130),(nextval($67131),$67132,$67133,$67134,$67135,$67136,$67137,$67138,$67139,$67140,$67141,$67142,$67143,$67144),(nextval($67145),$67146,$67147,$67148,$67149,$67150,$67151,$67152,$67153,$67154,$67155,$67156,$67157,$67158),(nextval($67159),$67160,$67161,$67162,$67163,$67164,$67165,$67166,$67167,$67168,$67169,$67170,$67171,$67172),(nextval($67173),$67174,$67175,$67176,$67177,$67178,$67179,$67180,$67181,$67182,$67183,$67184,$67185,$67186),(nextval($67187),$67188,$67189,$67190,$67191,$67192,$67193,$67194,$67195,$67196,$67197,$67198,$67199,$67200),(nextval($67201),$67202,$67203,$67204,$67205,$67206,$67207,$67208,$67209,$67210,$67211,$67212,$67213,$67214),(nextval($67215),$67216,$67217,$67218,$67219,$67220,$67221,$67222,$67223,$67224,$67225,$67226,$67227,$67228),(nextval($67229),$67230,$67231,$67232,$67233,$67234,$67235,$67236,$67237,$67238,$67239,$67240,$67241,$67242),(nextval($67243),$67244,$67245,$67246,$67247,$67248,$67249,$67250,$67251,$67252,$67253,$67254,$67255,$67256),(nextval($67257),$67258,$67259,$67260,$67261,$67262,$67263,$67264,$67265,$67266,$67267,$67268,$67269,$67270),(nextval($67271),$67272,$67273,$67274,$67275,$67276,$67277,$67278,$67279,$67280,$67281,$67282,$67283,$67284),(nextval($67285),$67286,$67287,$67288,$67289,$67290,$67291,$67292,$67293,$67294,$67295,$67296,$67297,$67298),(nextval($67299),$67300,$67301,$67302,$67303,$67304,$67305,$67306,$67307,$67308,$67309,$67310,$67311,$67312),(nextval($67313),$67314,$67315,$67316,$67317,$67318,$67319,$67320,$67321,$67322,$67323,$67324,$67325,$67326),(nextval($67327),$67328,$67329,$67330,$67331,$67332,$67333,$67334,$67335,$67336,$67337,$67338,$67339,$67340),(nextval($67341),$67342,$67343,$67344,$67345,$67346,$67347,$67348,$67349,$67350,$67351,$67352,$67353,$67354),(nextval($67355),$67356,$67357,$67358,$67359,$67360,$67361,$67362,$67363,$67364,$67365,$67366,$67367,$67368),(nextval($67369),$67370,$67371,$67372,$67373,$67374,$67375,$67376,$67377,$67378,$67379,$67380,$67381,$67382),(nextval($67383),$67384,$67385,$67386,$67387,$67388,$67389,$67390,$67391,$67392,$67393,$67394,$67395,$67396),(nextval($67397),$67398,$67399,$67400,$67401,$67402,$67403,$67404,$67405,$67406,$67407,$67408,$67409,$67410),(nextval($67411),$67412,$67413,$67414,$67415,$67416,$67417,$67418,$67419,$67420,$67421,$67422,$67423,$67424),(nextval($67425),$67426,$67427,$67428,$67429,$67430,$67431,$67432,$67433,$67434,$67435,$67436,$67437,$67438),(nextval($67439),$67440,$67441,$67442,$67443,$67444,$67445,$67446,$67447,$67448,$67449,$67450,$67451,$67452),(nextval($67453),$67454,$67455,$67456,$67457,$67458,$67459,$67460,$67461,$67462,$67463,$67464,$67465,$67466),(nextval($67467),$67468,$67469,$67470,$67471,$67472,$67473,$67474,$67475,$67476,$67477,$67478,$67479,$67480),(nextval($67481),$67482,$67483,$67484,$67485,$67486,$67487,$67488,$67489,$67490,$67491,$67492,$67493,$67494),(nextval($67495),$67496,$67497,$67498,$67499,$67500,$67501,$67502,$67503,$67504,$67505,$67506,$67507,$67508),(nextval($67509),$67510,$67511,$67512,$67513,$67514,$67515,$67516,$67517,$67518,$67519,$67520,$67521,$67522),(nextval($67523),$67524,$67525,$67526,$67527,$67528,$67529,$67530,$67531,$67532,$67533,$67534,$67535,$67536),(nextval($67537),$67538,$67539,$67540,$67541,$67542,$67543,$67544,$67545,$67546,$67547,$67548,$67549,$67550),(nextval($67551),$67552,$67553,$67554,$67555,$67556,$67557,$67558,$67559,$67560,$67561,$67562,$67563,$67564),(nextval($67565),$67566,$67567,$67568,$67569,$67570,$67571,$67572,$67573,$67574,$67575,$67576,$67577,$67578),(nextval($67579),$67580,$67581,$67582,$67583,$67584,$67585,$67586,$67587,$67588,$67589,$67590,$67591,$67592),(nextval($67593),$67594,$67595,$67596,$67597,$67598,$67599,$67600,$67601,$67602,$67603,$67604,$67605,$67606),(nextval($67607),$67608,$67609,$67610,$67611,$67612,$67613,$67614,$67615,$67616,$67617,$67618,$67619,$67620),(nextval($67621),$67622,$67623,$67624,$67625,$67626,$67627,$67628,$67629,$67630,$67631,$67632,$67633,$67634),(nextval($67635),$67636,$67637,$67638,$67639,$67640,$67641,$67642,$67643,$67644,$67645,$67646,$67647,$67648),(nextval($67649),$67650,$67651,$67652,$67653,$67654,$67655,$67656,$67657,$67658,$67659,$67660,$67661,$67662),(nextval($67663),$67664,$67665,$67666,$67667,$67668,$67669,$67670,$67671,$67672,$67673,$67674,$67675,$67676),(nextval($67677),$67678,$67679,$67680,$67681,$67682,$67683,$67684,$67685,$67686,$67687,$67688,$67689,$67690),(nextval($67691),$67692,$67693,$67694,$67695,$67696,$67697,$67698,$67699,$67700,$67701,$67702,$67703,$67704),(nextval($67705),$67706,$67707,$67708,$67709,$67710,$67711,$67712,$67713,$67714,$67715,$67716,$67717,$67718),(nextval($67719),$67720,$67721,$67722,$67723,$67724,$67725,$67726,$67727,$67728,$67729,$67730,$67731,$67732),(nextval($67733),$67734,$67735,$67736,$67737,$67738,$67739,$67740,$67741,$67742,$67743,$67744,$67745,$67746),(nextval($67747),$67748,$67749,$67750,$67751,$67752,$67753,$67754,$67755,$67756,$67757,$67758,$67759,$67760),(nextval($67761),$67762,$67763,$67764,$67765,$67766,$67767,$67768,$67769,$67770,$67771,$67772,$67773,$67774),(nextval($67775),$67776,$67777,$67778,$67779,$67780,$67781,$67782,$67783,$67784,$67785,$67786,$67787,$67788),(nextval($67789),$67790,$67791,$67792,$67793,$67794,$67795,$67796,$67797,$67798,$67799,$67800,$67801,$67802),(nextval($67803),$67804,$67805,$67806,$67807,$67808,$67809,$67810,$67811,$67812,$67813,$67814,$67815,$67816),(nextval($67817),$67818,$67819,$67820,$67821,$67822,$67823,$67824,$67825,$67826,$67827,$67828,$67829,$67830),(nextval($67831),$67832,$67833,$67834,$67835,$67836,$67837,$67838,$67839,$67840,$67841,$67842,$67843,$67844),(nextval($67845),$67846,$67847,$67848,$67849,$67850,$67851,$67852,$67853,$67854,$67855,$67856,$67857,$67858),(nextval($67859),$67860,$67861,$67862,$67863,$67864,$67865,$67866,$67867,$67868,$67869,$67870,$67871,$67872),(nextval($67873),$67874,$67875,$67876,$67877,$67878,$67879,$67880,$67881,$67882,$67883,$67884,$67885,$67886),(nextval($67887),$67888,$67889,$67890,$67891,$67892,$67893,$67894,$67895,$67896,$67897,$67898,$67899,$67900),(nextval($67901),$67902,$67903,$67904,$67905,$67906,$67907,$67908,$67909,$67910,$67911,$67912,$67913,$67914),(nextval($67915),$67916,$67917,$67918,$67919,$67920,$67921,$67922,$67923,$67924,$67925,$67926,$67927,$67928),(nextval($67929),$67930,$67931,$67932,$67933,$67934,$67935,$67936,$67937,$67938,$67939,$67940,$67941,$67942),(nextval($67943),$67944,$67945,$67946,$67947,$67948,$67949,$67950,$67951,$67952,$67953,$67954,$67955,$67956),(nextval($67957),$67958,$67959,$67960,$67961,$67962,$67963,$67964,$67965,$67966,$67967,$67968,$67969,$67970),(nextval($67971),$67972,$67973,$67974,$67975,$67976,$67977,$67978,$67979,$67980,$67981,$67982,$67983,$67984),(nextval($67985),$67986,$67987,$67988,$67989,$67990,$67991,$67992,$67993,$67994,$67995,$67996,$67997,$67998),(nextval($67999),$68000,$68001,$68002,$68003,$68004,$68005,$68006,$68007,$68008,$68009,$68010,$68011,$68012),(nextval($68013),$68014,$68015,$68016,$68017,$68018,$68019,$68020,$68021,$68022,$68023,$68024,$68025,$68026),(nextval($68027),$68028,$68029,$68030,$68031,$68032,$68033,$68034,$68035,$68036,$68037,$68038,$68039,$68040),(nextval($68041),$68042,$68043,$68044,$68045,$68046,$68047,$68048,$68049,$68050,$68051,$68052,$68053,$68054),(nextval($68055),$68056,$68057,$68058,$68059,$68060,$68061,$68062,$68063,$68064,$68065,$68066,$68067,$68068),(nextval($68069),$68070,$68071,$68072,$68073,$68074,$68075,$68076,$68077,$68078,$68079,$68080,$68081,$68082),(nextval($68083),$68084,$68085,$68086,$68087,$68088,$68089,$68090,$68091,$68092,$68093,$68094,$68095,$68096),(nextval($68097),$68098,$68099,$68100,$68101,$68102,$68103,$68104,$68105,$68106,$68107,$68108,$68109,$68110),(nextval($68111),$68112,$68113,$68114,$68115,$68116,$68117,$68118,$68119,$68120,$68121,$68122,$68123,$68124),(nextval($68125),$68126,$68127,$68128,$68129,$68130,$68131,$68132,$68133,$68134,$68135,$68136,$68137,$68138),(nextval($68139),$68140,$68141,$68142,$68143,$68144,$68145,$68146,$68147,$68148,$68149,$68150,$68151,$68152),(nextval($68153),$68154,$68155,$68156,$68157,$68158,$68159,$68160,$68161,$68162,$68163,$68164,$68165,$68166),(nextval($68167),$68168,$68169,$68170,$68171,$68172,$68173,$68174,$68175,$68176,$68177,$68178,$68179,$68180),(nextval($68181),$68182,$68183,$68184,$68185,$68186,$68187,$68188,$68189,$68190,$68191,$68192,$68193,$68194),(nextval($68195),$68196,$68197,$68198,$68199,$68200,$68201,$68202,$68203,$68204,$68205,$68206,$68207,$68208),(nextval($68209),$68210,$68211,$68212,$68213,$68214,$68215,$68216,$68217,$68218,$68219,$68220,$68221,$68222),(nextval($68223),$68224,$68225,$68226,$68227,$68228,$68229,$68230,$68231,$68232,$68233,$68234,$68235,$68236),(nextval($68237),$68238,$68239,$68240,$68241,$68242,$68243,$68244,$68245,$68246,$68247,$68248,$68249,$68250),(nextval($68251),$68252,$68253,$68254,$68255,$68256,$68257,$68258,$68259,$68260,$68261,$68262,$68263,$68264),(nextval($68265),$68266,$68267,$68268,$68269,$68270,$68271,$68272,$68273,$68274,$68275,$68276,$68277,$68278),(nextval($68279),$68280,$68281,$68282,$68283,$68284,$68285,$68286,$68287,$68288,$68289,$68290,$68291,$68292),(nextval($68293),$68294,$68295,$68296,$68297,$68298,$68299,$68300,$68301,$68302,$68303,$68304,$68305,$68306),(nextval($68307),$68308,$68309,$68310,$68311,$68312,$68313,$68314,$68315,$68316,$68317,$68318,$68319,$68320),(nextval($68321),$68322,$68323,$68324,$68325,$68326,$68327,$68328,$68329,$68330,$68331,$68332,$68333,$68334),(nextval($68335),$68336,$68337,$68338,$68339,$68340,$68341,$68342,$68343,$68344,$68345,$68346,$68347,$68348),(nextval($68349),$68350,$68351,$68352,$68353,$68354,$68355,$68356,$68357,$68358,$68359,$68360,$68361,$68362),(nextval($68363),$68364,$68365,$68366,$68367,$68368,$68369,$68370,$68371,$68372,$68373,$68374,$68375,$68376),(nextval($68377),$68378,$68379,$68380,$68381,$68382,$68383,$68384,$68385,$68386,$68387,$68388,$68389,$68390),(nextval($68391),$68392,$68393,$68394,$68395,$68396,$68397,$68398,$68399,$68400,$68401,$68402,$68403,$68404),(nextval($68405),$68406,$68407,$68408,$68409,$68410,$68411,$68412,$68413,$68414,$68415,$68416,$68417,$68418),(nextval($68419),$68420,$68421,$68422,$68423,$68424,$68425,$68426,$68427,$68428,$68429,$68430,$68431,$68432),(nextval($68433),$68434,$68435,$68436,$68437,$68438,$68439,$68440,$68441,$68442,$68443,$68444,$68445,$68446),(nextval($68447),$68448,$68449,$68450,$68451,$68452,$68453,$68454,$68455,$68456,$68457,$68458,$68459,$68460),(nextval($68461),$68462,$68463,$68464,$68465,$68466,$68467,$68468,$68469,$68470,$68471,$68472,$68473,$68474),(nextval($68475),$68476,$68477,$68478,$68479,$68480,$68481,$68482,$68483,$68484,$68485,$68486,$68487,$68488),(nextval($68489),$68490,$68491,$68492,$68493,$68494,$68495,$68496,$68497,$68498,$68499,$68500,$68501,$68502),(nextval($68503),$68504,$68505,$68506,$68507,$68508,$68509,$68510,$68511,$68512,$68513,$68514,$68515,$68516),(nextval($68517),$68518,$68519,$68520,$68521,$68522,$68523,$68524,$68525,$68526,$68527,$68528,$68529,$68530),(nextval($68531),$68532,$68533,$68534,$68535,$68536,$68537,$68538,$68539,$68540,$68541,$68542,$68543,$68544),(nextval($68545),$68546,$68547,$68548,$68549,$68550,$68551,$68552,$68553,$68554,$68555,$68556,$68557,$68558),(nextval($68559),$68560,$68561,$68562,$68563,$68564,$68565,$68566,$68567,$68568,$68569,$68570,$68571,$68572),(nextval($68573),$68574,$68575,$68576,$68577,$68578,$68579,$68580,$68581,$68582,$68583,$68584,$68585,$68586),(nextval($68587),$68588,$68589,$68590,$68591,$68592,$68593,$68594,$68595,$68596,$68597,$68598,$68599,$68600),(nextval($68601),$68602,$68603,$68604,$68605,$68606,$68607,$68608,$68609,$68610,$68611,$68612,$68613,$68614),(nextval($68615),$68616,$68617,$68618,$68619,$68620,$68621,$68622,$68623,$68624,$68625,$68626,$68627,$68628),(nextval($68629),$68630,$68631,$68632,$68633,$68634,$68635,$68636,$68637,$68638,$68639,$68640,$68641,$68642),(nextval($68643),$68644,$68645,$68646,$68647,$68648,$68649,$68650,$68651,$68652,$68653,$68654,$68655,$68656),(nextval($68657),$68658,$68659,$68660,$68661,$68662,$68663,$68664,$68665,$68666,$68667,$68668,$68669,$68670),(nextval($68671),$68672,$68673,$68674,$68675,$68676,$68677,$68678,$68679,$68680,$68681,$68682,$68683,$68684),(nextval($68685),$68686,$68687,$68688,$68689,$68690,$68691,$68692,$68693,$68694,$68695,$68696,$68697,$68698),(nextval($68699),$68700,$68701,$68702,$68703,$68704,$68705,$68706,$68707,$68708,$68709,$68710,$68711,$68712),(nextval($68713),$68714,$68715,$68716,$68717,$68718,$68719,$68720,$68721,$68722,$68723,$68724,$68725,$68726),(nextval($68727),$68728,$68729,$68730,$68731,$68732,$68733,$68734,$68735,$68736,$68737,$68738,$68739,$68740),(nextval($68741),$68742,$68743,$68744,$68745,$68746,$68747,$68748,$68749,$68750,$68751,$68752,$68753,$68754),(nextval($68755),$68756,$68757,$68758,$68759,$68760,$68761,$68762,$68763,$68764,$68765,$68766,$68767,$68768),(nextval($68769),$68770,$68771,$68772,$68773,$68774,$68775,$68776,$68777,$68778,$68779,$68780,$68781,$68782),(nextval($68783),$68784,$68785,$68786,$68787,$68788,$68789,$68790,$68791,$68792,$68793,$68794,$68795,$68796),(nextval($68797),$68798,$68799,$68800,$68801,$68802,$68803,$68804,$68805,$68806,$68807,$68808,$68809,$68810),(nextval($68811),$68812,$68813,$68814,$68815,$68816,$68817,$68818,$68819,$68820,$68821,$68822,$68823,$68824),(nextval($68825),$68826,$68827,$68828,$68829,$68830,$68831,$68832,$68833,$68834,$68835,$68836,$68837,$68838),(nextval($68839),$68840,$68841,$68842,$68843,$68844,$68845,$68846,$68847,$68848,$68849,$68850,$68851,$68852),(nextval($68853),$68854,$68855,$68856,$68857,$68858,$68859,$68860,$68861,$68862,$68863,$68864,$68865,$68866),(nextval($68867),$68868,$68869,$68870,$68871,$68872,$68873,$68874,$68875,$68876,$68877,$68878,$68879,$68880),(nextval($68881),$68882,$68883,$68884,$68885,$68886,$68887,$68888,$68889,$68890,$68891,$68892,$68893,$68894),(nextval($68895),$68896,$68897,$68898,$68899,$68900,$68901,$68902,$68903,$68904,$68905,$68906,$68907,$68908),(nextval($68909),$68910,$68911,$68912,$68913,$68914,$68915,$68916,$68917,$68918,$68919,$68920,$68921,$68922),(nextval($68923),$68924,$68925,$68926,$68927,$68928,$68929,$68930,$68931,$68932,$68933,$68934,$68935,$68936),(nextval($68937),$68938,$68939,$68940,$68941,$68942,$68943,$68944,$68945,$68946,$68947,$68948,$68949,$68950),(nextval($68951),$68952,$68953,$68954,$68955,$68956,$68957,$68958,$68959,$68960,$68961,$68962,$68963,$68964),(nextval($68965),$68966,$68967,$68968,$68969,$68970,$68971,$68972,$68973,$68974,$68975,$68976,$68977,$68978),(nextval($68979),$68980,$68981,$68982,$68983,$68984,$68985,$68986,$68987,$68988,$68989,$68990,$68991,$68992),(nextval($68993),$68994,$68995,$68996,$68997,$68998,$68999,$69000,$69001,$69002,$69003,$69004,$69005,$69006),(nextval($69007),$69008,$69009,$69010,$69011,$69012,$69013,$69014,$69015,$69016,$69017,$69018,$69019,$69020),(nextval($69021),$69022,$69023,$69024,$69025,$69026,$69027,$69028,$69029,$69030,$69031,$69032,$69033,$69034),(nextval($69035),$69036,$69037,$69038,$69039,$69040,$69041,$69042,$69043,$69044,$69045,$69046,$69047,$69048),(nextval($69049),$69050,$69051,$69052,$69053,$69054,$69055,$69056,$69057,$69058,$69059,$69060,$69061,$69062),(nextval($69063),$69064,$69065,$69066,$69067,$69068,$69069,$69070,$69071,$69072,$69073,$69074,$69075,$69076),(nextval($69077),$69078,$69079,$69080,$69081,$69082,$69083,$69084,$69085,$69086,$69087,$69088,$69089,$69090),(nextval($69091),$69092,$69093,$69094,$69095,$69096,$69097,$69098,$69099,$69100,$69101,$69102,$69103,$69104),(nextval($69105),$69106,$69107,$69108,$69109,$69110,$69111,$69112,$69113,$69114,$69115,$69116,$69117,$69118),(nextval($69119),$69120,$69121,$69122,$69123,$69124,$69125,$69126,$69127,$69128,$69129,$69130,$69131,$69132),(nextval($69133),$69134,$69135,$69136,$69137,$69138,$69139,$69140,$69141,$69142,$69143,$69144,$69145,$69146),(nextval($69147),$69148,$69149,$69150,$69151,$69152,$69153,$69154,$69155,$69156,$69157,$69158,$69159,$69160),(nextval($69161),$69162,$69163,$69164,$69165,$69166,$69167,$69168,$69169,$69170,$69171,$69172,$69173,$69174),(nextval($69175),$69176,$69177,$69178,$69179,$69180,$69181,$69182,$69183,$69184,$69185,$69186,$69187,$69188),(nextval($69189),$69190,$69191,$69192,$69193,$69194,$69195,$69196,$69197,$69198,$69199,$69200,$69201,$69202),(nextval($69203),$69204,$69205,$69206,$69207,$69208,$69209,$69210,$69211,$69212,$69213,$69214,$69215,$69216),(nextval($69217),$69218,$69219,$69220,$69221,$69222,$69223,$69224,$69225,$69226,$69227,$69228,$69229,$69230),(nextval($69231),$69232,$69233,$69234,$69235,$69236,$69237,$69238,$69239,$69240,$69241,$69242,$69243,$69244),(nextval($69245),$69246,$69247,$69248,$69249,$69250,$69251,$69252,$69253,$69254,$69255,$69256,$69257,$69258),(nextval($69259),$69260,$69261,$69262,$69263,$69264,$69265,$69266,$69267,$69268,$69269,$69270,$69271,$69272),(nextval($69273),$69274,$69275,$69276,$69277,$69278,$69279,$69280,$69281,$69282,$69283,$69284,$69285,$69286),(nextval($69287),$69288,$69289,$69290,$69291,$69292,$69293,$69294,$69295,$69296,$69297,$69298,$69299,$69300),(nextval($69301),$69302,$69303,$69304,$69305,$69306,$69307,$69308,$69309,$69310,$69311,$69312,$69313,$69314),(nextval($69315),$69316,$69317,$69318,$69319,$69320,$69321,$69322,$69323,$69324,$69325,$69326,$69327,$69328),(nextval($69329),$69330,$69331,$69332,$69333,$69334,$69335,$69336,$69337,$69338,$69339,$69340,$69341,$69342),(nextval($69343),$69344,$69345,$69346,$69347,$69348,$69349,$69350,$69351,$69352,$69353,$69354,$69355,$69356),(nextval($69357),$69358,$69359,$69360,$69361,$69362,$69363,$69364,$69365,$69366,$69367,$69368,$69369,$69370),(nextval($69371),$69372,$69373,$69374,$69375,$69376,$69377,$69378,$69379,$69380,$69381,$69382,$69383,$69384),(nextval($69385),$69386,$69387,$69388,$69389,$69390,$69391,$69392,$69393,$69394,$69395,$69396,$69397,$69398),(nextval($69399),$69400,$69401,$69402,$69403,$69404,$69405,$69406,$69407,$69408,$69409,$69410,$69411,$69412),(nextval($69413),$69414,$69415,$69416,$69417,$69418,$69419,$69420,$69421,$69422,$69423,$69424,$69425,$69426),(nextval($69427),$69428,$69429,$69430,$69431,$69432,$69433,$69434,$69435,$69436,$69437,$69438,$69439,$69440),(nextval($69441),$69442,$69443,$69444,$69445,$69446,$69447,$69448,$69449,$69450,$69451,$69452,$69453,$69454),(nextval($69455),$69456,$69457,$69458,$69459,$69460,$69461,$69462,$69463,$69464,$69465,$69466,$69467,$69468),(nextval($69469),$69470,$69471,$69472,$69473,$69474,$69475,$69476,$69477,$69478,$69479,$69480,$69481,$69482),(nextval($69483),$69484,$69485,$69486,$69487,$69488,$69489,$69490,$69491,$69492,$69493,$69494,$69495,$69496),(nextval($69497),$69498,$69499,$69500,$69501,$69502,$69503,$69504,$69505,$69506,$69507,$69508,$69509,$69510),(nextval($69511),$69512,$69513,$69514,$69515,$69516,$69517,$69518,$69519,$69520,$69521,$69522,$69523,$69524),(nextval($69525),$69526,$69527,$69528,$69529,$69530,$69531,$69532,$69533,$69534,$69535,$69536,$69537,$69538),(nextval($69539),$69540,$69541,$69542,$69543,$69544,$69545,$69546,$69547,$69548,$69549,$69550,$69551,$69552),(nextval($69553),$69554,$69555,$69556,$69557,$69558,$69559,$69560,$69561,$69562,$69563,$69564,$69565,$69566),(nextval($69567),$69568,$69569,$69570,$69571,$69572,$69573,$69574,$69575,$69576,$69577,$69578,$69579,$69580),(nextval($69581),$69582,$69583,$69584,$69585,$69586,$69587,$69588,$69589,$69590,$69591,$69592,$69593,$69594),(nextval($69595),$69596,$69597,$69598,$69599,$69600,$69601,$69602,$69603,$69604,$69605,$69606,$69607,$69608),(nextval($69609),$69610,$69611,$69612,$69613,$69614,$69615,$69616,$69617,$69618,$69619,$69620,$69621,$69622),(nextval($69623),$69624,$69625,$69626,$69627,$69628,$69629,$69630,$69631,$69632,$69633,$69634,$69635,$69636),(nextval($69637),$69638,$69639,$69640,$69641,$69642,$69643,$69644,$69645,$69646,$69647,$69648,$69649,$69650),(nextval($69651),$69652,$69653,$69654,$69655,$69656,$69657,$69658,$69659,$69660,$69661,$69662,$69663,$69664),(nextval($69665),$69666,$69667,$69668,$69669,$69670,$69671,$69672,$69673,$69674,$69675,$69676,$69677,$69678),(nextval($69679),$69680,$69681,$69682,$69683,$69684,$69685,$69686,$69687,$69688,$69689,$69690,$69691,$69692),(nextval($69693),$69694,$69695,$69696,$69697,$69698,$69699,$69700,$69701,$69702,$69703,$69704,$69705,$69706),(nextval($69707),$69708,$69709,$69710,$69711,$69712,$69713,$69714,$69715,$69716,$69717,$69718,$69719,$69720),(nextval($69721),$69722,$69723,$69724,$69725,$69726,$69727,$69728,$69729,$69730,$69731,$69732,$69733,$69734),(nextval($69735),$69736,$69737,$69738,$69739,$69740,$69741,$69742,$69743,$69744,$69745,$69746,$69747,$69748),(nextval($69749),$69750,$69751,$69752,$69753,$69754,$69755,$69756,$69757,$69758,$69759,$69760,$69761,$69762),(nextval($69763),$69764,$69765,$69766,$69767,$69768,$69769,$69770,$69771,$69772,$69773,$69774,$69775,$69776),(nextval($69777),$69778,$69779,$69780,$69781,$69782,$69783,$69784,$69785,$69786,$69787,$69788,$69789,$69790),(nextval($69791),$69792,$69793,$69794,$69795,$69796,$69797,$69798,$69799,$69800,$69801,$69802,$69803,$69804),(nextval($69805),$69806,$69807,$69808,$69809,$69810,$69811,$69812,$69813,$69814,$69815,$69816,$69817,$69818),(nextval($69819),$69820,$69821,$69822,$69823,$69824,$69825,$69826,$69827,$69828,$69829,$69830,$69831,$69832),(nextval($69833),$69834,$69835,$69836,$69837,$69838,$69839,$69840,$69841,$69842,$69843,$69844,$69845,$69846),(nextval($69847),$69848,$69849,$69850,$69851,$69852,$69853,$69854,$69855,$69856,$69857,$69858,$69859,$69860),(nextval($69861),$69862,$69863,$69864,$69865,$69866,$69867,$69868,$69869,$69870,$69871,$69872,$69873,$69874),(nextval($69875),$69876,$69877,$69878,$69879,$69880,$69881,$69882,$69883,$69884,$69885,$69886,$69887,$69888),(nextval($69889),$69890,$69891,$69892,$69893,$69894,$69895,$69896,$69897,$69898,$69899,$69900,$69901,$69902),(nextval($69903),$69904,$69905,$69906,$69907,$69908,$69909,$69910,$69911,$69912,$69913,$69914,$69915,$69916),(nextval($69917),$69918,$69919,$69920,$69921,$69922,$69923,$69924,$69925,$69926,$69927,$69928,$69929,$69930),(nextval($69931),$69932,$69933,$69934,$69935,$69936,$69937,$69938,$69939,$69940,$69941,$69942,$69943,$69944),(nextval($69945),$69946,$69947,$69948,$69949,$69950,$69951,$69952,$69953,$69954,$69955,$69956,$69957,$69958),(nextval($69959),$69960,$69961,$69962,$69963,$69964,$69965,$69966,$69967,$69968,$69969,$69970,$69971,$69972),(nextval($69973),$69974,$69975,$69976,$69977,$69978,$69979,$69980,$69981,$69982,$69983,$69984,$69985,$69986),(nextval($69987),$69988,$69989,$69990,$69991,$69992,$69993,$69994,$69995,$69996,$69997,$69998,$69999,$70000),(nextval($70001),$70002,$70003,$70004,$70005,$70006,$70007,$70008,$70009,$70010,$70011,$70012,$70013,$70014),(nextval($70015),$70016,$70017,$70018,$70019,$70020,$70021,$70022,$70023,$70024,$70025,$70026,$70027,$70028),(nextval($70029),$70030,$70031,$70032,$70033,$70034,$70035,$70036,$70037,$70038,$70039,$70040,$70041,$70042),(nextval($70043),$70044,$70045,$70046,$70047,$70048,$70049,$70050,$70051,$70052,$70053,$70054,$70055,$70056),(nextval($70057),$70058,$70059,$70060,$70061,$70062,$70063,$70064,$70065,$70066,$70067,$70068,$70069,$70070),(nextval($70071),$70072,$70073,$70074,$70075,$70076,$70077,$70078,$70079,$70080,$70081,$70082,$70083,$70084),(nextval($70085),$70086,$70087,$70088,$70089,$70090,$70091,$70092,$70093,$70094,$70095,$70096,$70097,$70098),(nextval($70099),$70100,$70101,$70102,$70103,$70104,$70105,$70106,$70107,$70108,$70109,$70110,$70111,$70112),(nextval($70113),$70114,$70115,$70116,$70117,$70118,$70119,$70120,$70121,$70122,$70123,$70124,$70125,$70126),(nextval($70127),$70128,$70129,$70130,$70131,$70132,$70133,$70134,$70135,$70136,$70137,$70138,$70139,$70140),(nextval($70141),$70142,$70143,$70144,$70145,$70146,$70147,$70148,$70149,$70150,$70151,$70152,$70153,$70154),(nextval($70155),$70156,$70157,$70158,$70159,$70160,$70161,$70162,$70163,$70164,$70165,$70166,$70167,$70168),(nextval($70169),$70170,$70171,$70172,$70173,$70174,$70175,$70176,$70177,$70178,$70179,$70180,$70181,$70182),(nextval($70183),$70184,$70185,$70186,$70187,$70188,$70189,$70190,$70191,$70192,$70193,$70194,$70195,$70196),(nextval($70197),$70198,$70199,$70200,$70201,$70202,$70203,$70204,$70205,$70206,$70207,$70208,$70209,$70210),(nextval($70211),$70212,$70213,$70214,$70215,$70216,$70217,$70218,$70219,$70220,$70221,$70222,$70223,$70224),(nextval($70225),$70226,$70227,$70228,$70229,$70230,$70231,$70232,$70233,$70234,$70235,$70236,$70237,$70238),(nextval($70239),$70240,$70241,$70242,$70243,$70244,$70245,$70246,$70247,$70248,$70249,$70250,$70251,$70252),(nextval($70253),$70254,$70255,$70256,$70257,$70258,$70259,$70260,$70261,$70262,$70263,$70264,$70265,$70266),(nextval($70267),$70268,$70269,$70270,$70271,$70272,$70273,$70274,$70275,$70276,$70277,$70278,$70279,$70280),(nextval($70281),$70282,$70283,$70284,$70285,$70286,$70287,$70288,$70289,$70290,$70291,$70292,$70293,$70294),(nextval($70295),$70296,$70297,$70298,$70299,$70300,$70301,$70302,$70303,$70304,$70305,$70306,$70307,$70308),(nextval($70309),$70310,$70311,$70312,$70313,$70314,$70315,$70316,$70317,$70318,$70319,$70320,$70321,$70322),(nextval($70323),$70324,$70325,$70326,$70327,$70328,$70329,$70330,$70331,$70332,$70333,$70334,$70335,$70336),(nextval($70337),$70338,$70339,$70340,$70341,$70342,$70343,$70344,$70345,$70346,$70347,$70348,$70349,$70350),(nextval($70351),$70352,$70353,$70354,$70355,$70356,$70357,$70358,$70359,$70360,$70361,$70362,$70363,$70364),(nextval($70365),$70366,$70367,$70368,$70369,$70370,$70371,$70372,$70373,$70374,$70375,$70376,$70377,$70378),(nextval($70379),$70380,$70381,$70382,$70383,$70384,$70385,$70386,$70387,$70388,$70389,$70390,$70391,$70392),(nextval($70393),$70394,$70395,$70396,$70397,$70398,$70399,$70400,$70401,$70402,$70403,$70404,$70405,$70406),(nextval($70407),$70408,$70409,$70410,$70411,$70412,$70413,$70414,$70415,$70416,$70417,$70418,$70419,$70420),(nextval($70421),$70422,$70423,$70424,$70425,$70426,$70427,$70428,$70429,$70430,$70431,$70432,$70433,$70434),(nextval($70435),$70436,$70437,$70438,$70439,$70440,$70441,$70442,$70443,$70444,$70445,$70446,$70447,$70448),(nextval($70449),$70450,$70451,$70452,$70453,$70454,$70455,$70456,$70457,$70458,$70459,$70460,$70461,$70462),(nextval($70463),$70464,$70465,$70466,$70467,$70468,$70469,$70470,$70471,$70472,$70473,$70474,$70475,$70476),(nextval($70477),$70478,$70479,$70480,$70481,$70482,$70483,$70484,$70485,$70486,$70487,$70488,$70489,$70490),(nextval($70491),$70492,$70493,$70494,$70495,$70496,$70497,$70498,$70499,$70500,$70501,$70502,$70503,$70504),(nextval($70505),$70506,$70507,$70508,$70509,$70510,$70511,$70512,$70513,$70514,$70515,$70516,$70517,$70518),(nextval($70519),$70520,$70521,$70522,$70523,$70524,$70525,$70526,$70527,$70528,$70529,$70530,$70531,$70532),(nextval($70533),$70534,$70535,$70536,$70537,$70538,$70539,$70540,$70541,$70542,$70543,$70544,$70545,$70546),(nextval($70547),$70548,$70549,$70550,$70551,$70552,$70553,$70554,$70555,$70556,$70557,$70558,$70559,$70560),(nextval($70561),$70562,$70563,$70564,$70565,$70566,$70567,$70568,$70569,$70570,$70571,$70572,$70573,$70574),(nextval($70575),$70576,$70577,$70578,$70579,$70580,$70581,$70582,$70583,$70584,$70585,$70586,$70587,$70588),(nextval($70589),$70590,$70591,$70592,$70593,$70594,$70595,$70596,$70597,$70598,$70599,$70600,$70601,$70602),(nextval($70603),$70604,$70605,$70606,$70607,$70608,$70609,$70610,$70611,$70612,$70613,$70614,$70615,$70616),(nextval($70617),$70618,$70619,$70620,$70621,$70622,$70623,$70624,$70625,$70626,$70627,$70628,$70629,$70630),(nextval($70631),$70632,$70633,$70634,$70635,$70636,$70637,$70638,$70639,$70640,$70641,$70642,$70643,$70644),(nextval($70645),$70646,$70647,$70648,$70649,$70650,$70651,$70652,$70653,$70654,$70655,$70656,$70657,$70658),(nextval($70659),$70660,$70661,$70662,$70663,$70664,$70665,$70666,$70667,$70668,$70669,$70670,$70671,$70672),(nextval($70673),$70674,$70675,$70676,$70677,$70678,$70679,$70680,$70681,$70682,$70683,$70684,$70685,$70686),(nextval($70687),$70688,$70689,$70690,$70691,$70692,$70693,$70694,$70695,$70696,$70697,$70698,$70699,$70700),(nextval($70701),$70702,$70703,$70704,$70705,$70706,$70707,$70708,$70709,$70710,$70711,$70712,$70713,$70714),(nextval($70715),$70716,$70717,$70718,$70719,$70720,$70721,$70722,$70723,$70724,$70725,$70726,$70727,$70728),(nextval($70729),$70730,$70731,$70732,$70733,$70734,$70735,$70736,$70737,$70738,$70739,$70740,$70741,$70742),(nextval($70743),$70744,$70745,$70746,$70747,$70748,$70749,$70750,$70751,$70752,$70753,$70754,$70755,$70756),(nextval($70757),$70758,$70759,$70760,$70761,$70762,$70763,$70764,$70765,$70766,$70767,$70768,$70769,$70770),(nextval($70771),$70772,$70773,$70774,$70775,$70776,$70777,$70778,$70779,$70780,$70781,$70782,$70783,$70784),(nextval($70785),$70786,$70787,$70788,$70789,$70790,$70791,$70792,$70793,$70794,$70795,$70796,$70797,$70798),(nextval($70799),$70800,$70801,$70802,$70803,$70804,$70805,$70806,$70807,$70808,$70809,$70810,$70811,$70812),(nextval($70813),$70814,$70815,$70816,$70817,$70818,$70819,$70820,$70821,$70822,$70823,$70824,$70825,$70826),(nextval($70827),$70828,$70829,$70830,$70831,$70832,$70833,$70834,$70835,$70836,$70837,$70838,$70839,$70840),(nextval($70841),$70842,$70843,$70844,$70845,$70846,$70847,$70848,$70849,$70850,$70851,$70852,$70853,$70854),(nextval($70855),$70856,$70857,$70858,$70859,$70860,$70861,$70862,$70863,$70864,$70865,$70866,$70867,$70868),(nextval($70869),$70870,$70871,$70872,$70873,$70874,$70875,$70876,$70877,$70878,$70879,$70880,$70881,$70882),(nextval($70883),$70884,$70885,$70886,$70887,$70888,$70889,$70890,$70891,$70892,$70893,$70894,$70895,$70896),(nextval($70897),$70898,$70899,$70900,$70901,$70902,$70903,$70904,$70905,$70906,$70907,$70908,$70909,$70910),(nextval($70911),$70912,$70913,$70914,$70915,$70916,$70917,$70918,$70919,$70920,$70921,$70922,$70923,$70924),(nextval($70925),$70926,$70927,$70928,$70929,$70930,$70931,$70932,$70933,$70934,$70935,$70936,$70937,$70938),(nextval($70939),$70940,$70941,$70942,$70943,$70944,$70945,$70946,$70947,$70948,$70949,$70950,$70951,$70952),(nextval($70953),$70954,$70955,$70956,$70957,$70958,$70959,$70960,$70961,$70962,$70963,$70964,$70965,$70966),(nextval($70967),$70968,$70969,$70970,$70971,$70972,$70973,$70974,$70975,$70976,$70977,$70978,$70979,$70980),(nextval($70981),$70982,$70983,$70984,$70985,$70986,$70987,$70988,$70989,$70990,$70991,$70992,$70993,$70994),(nextval($70995),$70996,$70997,$70998,$70999,$71000,$71001,$71002,$71003,$71004,$71005,$71006,$71007,$71008),(nextval($71009),$71010,$71011,$71012,$71013,$71014,$71015,$71016,$71017,$71018,$71019,$71020,$71021,$71022),(nextval($71023),$71024,$71025,$71026,$71027,$71028,$71029,$71030,$71031,$71032,$71033,$71034,$71035,$71036),(nextval($71037),$71038,$71039,$71040,$71041,$71042,$71043,$71044,$71045,$71046,$71047,$71048,$71049,$71050),(nextval($71051),$71052,$71053,$71054,$71055,$71056,$71057,$71058,$71059,$71060,$71061,$71062,$71063,$71064),(nextval($71065),$71066,$71067,$71068,$71069,$71070,$71071,$71072,$71073,$71074,$71075,$71076,$71077,$71078),(nextval($71079),$71080,$71081,$71082,$71083,$71084,$71085,$71086,$71087,$71088,$71089,$71090,$71091,$71092),(nextval($71093),$71094,$71095,$71096,$71097,$71098,$71099,$71100,$71101,$71102,$71103,$71104,$71105,$71106),(nextval($71107),$71108,$71109,$71110,$71111,$71112,$71113,$71114,$71115,$71116,$71117,$71118,$71119,$71120),(nextval($71121),$71122,$71123,$71124,$71125,$71126,$71127,$71128,$71129,$71130,$71131,$71132,$71133,$71134),(nextval($71135),$71136,$71137,$71138,$71139,$71140,$71141,$71142,$71143,$71144,$71145,$71146,$71147,$71148),(nextval($71149),$71150,$71151,$71152,$71153,$71154,$71155,$71156,$71157,$71158,$71159,$71160,$71161,$71162),(nextval($71163),$71164,$71165,$71166,$71167,$71168,$71169,$71170,$71171,$71172,$71173,$71174,$71175,$71176),(nextval($71177),$71178,$71179,$71180,$71181,$71182,$71183,$71184,$71185,$71186,$71187,$71188,$71189,$71190),(nextval($71191),$71192,$71193,$71194,$71195,$71196,$71197,$71198,$71199,$71200,$71201,$71202,$71203,$71204),(nextval($71205),$71206,$71207,$71208,$71209,$71210,$71211,$71212,$71213,$71214,$71215,$71216,$71217,$71218),(nextval($71219),$71220,$71221,$71222,$71223,$71224,$71225,$71226,$71227,$71228,$71229,$71230,$71231,$71232),(nextval($71233),$71234,$71235,$71236,$71237,$71238,$71239,$71240,$71241,$71242,$71243,$71244,$71245,$71246),(nextval($71247),$71248,$71249,$71250,$71251,$71252,$71253,$71254,$71255,$71256,$71257,$71258,$71259,$71260),(nextval($71261),$71262,$71263,$71264,$71265,$71266,$71267,$71268,$71269,$71270,$71271,$71272,$71273,$71274),(nextval($71275),$71276,$71277,$71278,$71279,$71280,$71281,$71282,$71283,$71284,$71285,$71286,$71287,$71288),(nextval($71289),$71290,$71291,$71292,$71293,$71294,$71295,$71296,$71297,$71298,$71299,$71300,$71301,$71302),(nextval($71303),$71304,$71305,$71306,$71307,$71308,$71309,$71310,$71311,$71312,$71313,$71314,$71315,$71316),(nextval($71317),$71318,$71319,$71320,$71321,$71322,$71323,$71324,$71325,$71326,$71327,$71328,$71329,$71330),(nextval($71331),$71332,$71333,$71334,$71335,$71336,$71337,$71338,$71339,$71340,$71341,$71342,$71343,$71344),(nextval($71345),$71346,$71347,$71348,$71349,$71350,$71351,$71352,$71353,$71354,$71355,$71356,$71357,$71358),(nextval($71359),$71360,$71361,$71362,$71363,$71364,$71365,$71366,$71367,$71368,$71369,$71370,$71371,$71372),(nextval($71373),$71374,$71375,$71376,$71377,$71378,$71379,$71380,$71381,$71382,$71383,$71384,$71385,$71386),(nextval($71387),$71388,$71389,$71390,$71391,$71392,$71393,$71394,$71395,$71396,$71397,$71398,$71399,$71400),(nextval($71401),$71402,$71403,$71404,$71405,$71406,$71407,$71408,$71409,$71410,$71411,$71412,$71413,$71414),(nextval($71415),$71416,$71417,$71418,$71419,$71420,$71421,$71422,$71423,$71424,$71425,$71426,$71427,$71428),(nextval($71429),$71430,$71431,$71432,$71433,$71434,$71435,$71436,$71437,$71438,$71439,$71440,$71441,$71442),(nextval($71443),$71444,$71445,$71446,$71447,$71448,$71449,$71450,$71451,$71452,$71453,$71454,$71455,$71456),(nextval($71457),$71458,$71459,$71460,$71461,$71462,$71463,$71464,$71465,$71466,$71467,$71468,$71469,$71470),(nextval($71471),$71472,$71473,$71474,$71475,$71476,$71477,$71478,$71479,$71480,$71481,$71482,$71483,$71484),(nextval($71485),$71486,$71487,$71488,$71489,$71490,$71491,$71492,$71493,$71494,$71495,$71496,$71497,$71498),(nextval($71499),$71500,$71501,$71502,$71503,$71504,$71505,$71506,$71507,$71508,$71509,$71510,$71511,$71512),(nextval($71513),$71514,$71515,$71516,$71517,$71518,$71519,$71520,$71521,$71522,$71523,$71524,$71525,$71526),(nextval($71527),$71528,$71529,$71530,$71531,$71532,$71533,$71534,$71535,$71536,$71537,$71538,$71539,$71540),(nextval($71541),$71542,$71543,$71544,$71545,$71546,$71547,$71548,$71549,$71550,$71551,$71552,$71553,$71554),(nextval($71555),$71556,$71557,$71558,$71559,$71560,$71561,$71562,$71563,$71564,$71565,$71566,$71567,$71568),(nextval($71569),$71570,$71571,$71572,$71573,$71574,$71575,$71576,$71577,$71578,$71579,$71580,$71581,$71582),(nextval($71583),$71584,$71585,$71586,$71587,$71588,$71589,$71590,$71591,$71592,$71593,$71594,$71595,$71596),(nextval($71597),$71598,$71599,$71600,$71601,$71602,$71603,$71604,$71605,$71606,$71607,$71608,$71609,$71610),(nextval($71611),$71612,$71613,$71614,$71615,$71616,$71617,$71618,$71619,$71620,$71621,$71622,$71623,$71624),(nextval($71625),$71626,$71627,$71628,$71629,$71630,$71631,$71632,$71633,$71634,$71635,$71636,$71637,$71638),(nextval($71639),$71640,$71641,$71642,$71643,$71644,$71645,$71646,$71647,$71648,$71649,$71650,$71651,$71652),(nextval($71653),$71654,$71655,$71656,$71657,$71658,$71659,$71660,$71661,$71662,$71663,$71664,$71665,$71666),(nextval($71667),$71668,$71669,$71670,$71671,$71672,$71673,$71674,$71675,$71676,$71677,$71678,$71679,$71680),(nextval($71681),$71682,$71683,$71684,$71685,$71686,$71687,$71688,$71689,$71690,$71691,$71692,$71693,$71694),(nextval($71695),$71696,$71697,$71698,$71699,$71700,$71701,$71702,$71703,$71704,$71705,$71706,$71707,$71708),(nextval($71709),$71710,$71711,$71712,$71713,$71714,$71715,$71716,$71717,$71718,$71719,$71720,$71721,$71722),(nextval($71723),$71724,$71725,$71726,$71727,$71728,$71729,$71730,$71731,$71732,$71733,$71734,$71735,$71736),(nextval($71737),$71738,$71739,$71740,$71741,$71742,$71743,$71744,$71745,$71746,$71747,$71748,$71749,$71750),(nextval($71751),$71752,$71753,$71754,$71755,$71756,$71757,$71758,$71759,$71760,$71761,$71762,$71763,$71764),(nextval($71765),$71766,$71767,$71768,$71769,$71770,$71771,$71772,$71773,$71774,$71775,$71776,$71777,$71778),(nextval($71779),$71780,$71781,$71782,$71783,$71784,$71785,$71786,$71787,$71788,$71789,$71790,$71791,$71792),(nextval($71793),$71794,$71795,$71796,$71797,$71798,$71799,$71800,$71801,$71802,$71803,$71804,$71805,$71806),(nextval($71807),$71808,$71809,$71810,$71811,$71812,$71813,$71814,$71815,$71816,$71817,$71818,$71819,$71820),(nextval($71821),$71822,$71823,$71824,$71825,$71826,$71827,$71828,$71829,$71830,$71831,$71832,$71833,$71834),(nextval($71835),$71836,$71837,$71838,$71839,$71840,$71841,$71842,$71843,$71844,$71845,$71846,$71847,$71848),(nextval($71849),$71850,$71851,$71852,$71853,$71854,$71855,$71856,$71857,$71858,$71859,$71860,$71861,$71862),(nextval($71863),$71864,$71865,$71866,$71867,$71868,$71869,$71870,$71871,$71872,$71873,$71874,$71875,$71876),(nextval($71877),$71878,$71879,$71880,$71881,$71882,$71883,$71884,$71885,$71886,$71887,$71888,$71889,$71890),(nextval($71891),$71892,$71893,$71894,$71895,$71896,$71897,$71898,$71899,$71900,$71901,$71902,$71903,$71904),(nextval($71905),$71906,$71907,$71908,$71909,$71910,$71911,$71912,$71913,$71914,$71915,$71916,$71917,$71918),(nextval($71919),$71920,$71921,$71922,$71923,$71924,$71925,$71926,$71927,$71928,$71929,$71930,$71931,$71932),(nextval($71933),$71934,$71935,$71936,$71937,$71938,$71939,$71940,$71941,$71942,$71943,$71944,$71945,$71946),(nextval($71947),$71948,$71949,$71950,$71951,$71952,$71953,$71954,$71955,$71956,$71957,$71958,$71959,$71960),(nextval($71961),$71962,$71963,$71964,$71965,$71966,$71967,$71968,$71969,$71970,$71971,$71972,$71973,$71974),(nextval($71975),$71976,$71977,$71978,$71979,$71980,$71981,$71982,$71983,$71984,$71985,$71986,$71987,$71988),(nextval($71989),$71990,$71991,$71992,$71993,$71994,$71995,$71996,$71997,$71998,$71999,$72000,$72001,$72002),(nextval($72003),$72004,$72005,$72006,$72007,$72008,$72009,$72010,$72011,$72012,$72013,$72014,$72015,$72016),(nextval($72017),$72018,$72019,$72020,$72021,$72022,$72023,$72024,$72025,$72026,$72027,$72028,$72029,$72030),(nextval($72031),$72032,$72033,$72034,$72035,$72036,$72037,$72038,$72039,$72040,$72041,$72042,$72043,$72044),(nextval($72045),$72046,$72047,$72048,$72049,$72050,$72051,$72052,$72053,$72054,$72055,$72056,$72057,$72058),(nextval($72059),$72060,$72061,$72062,$72063,$72064,$72065,$72066,$72067,$72068,$72069,$72070,$72071,$72072),(nextval($72073),$72074,$72075,$72076,$72077,$72078,$72079,$72080,$72081,$72082,$72083,$72084,$72085,$72086),(nextval($72087),$72088,$72089,$72090,$72091,$72092,$72093,$72094,$72095,$72096,$72097,$72098,$72099,$72100),(nextval($72101),$72102,$72103,$72104,$72105,$72106,$72107,$72108,$72109,$72110,$72111,$72112,$72113,$72114),(nextval($72115),$72116,$72117,$72118,$72119,$72120,$72121,$72122,$72123,$72124,$72125,$72126,$72127,$72128),(nextval($72129),$72130,$72131,$72132,$72133,$72134,$72135,$72136,$72137,$72138,$72139,$72140,$72141,$72142),(nextval($72143),$72144,$72145,$72146,$72147,$72148,$72149,$72150,$72151,$72152,$72153,$72154,$72155,$72156),(nextval($72157),$72158,$72159,$72160,$72161,$72162,$72163,$72164,$72165,$72166,$72167,$72168,$72169,$72170),(nextval($72171),$72172,$72173,$72174,$72175,$72176,$72177,$72178,$72179,$72180,$72181,$72182,$72183,$72184),(nextval($72185),$72186,$72187,$72188,$72189,$72190,$72191,$72192,$72193,$72194,$72195,$72196,$72197,$72198),(nextval($72199),$72200,$72201,$72202,$72203,$72204,$72205,$72206,$72207,$72208,$72209,$72210,$72211,$72212),(nextval($72213),$72214,$72215,$72216,$72217,$72218,$72219,$72220,$72221,$72222,$72223,$72224,$72225,$72226),(nextval($72227),$72228,$72229,$72230,$72231,$72232,$72233,$72234,$72235,$72236,$72237,$72238,$72239,$72240),(nextval($72241),$72242,$72243,$72244,$72245,$72246,$72247,$72248,$72249,$72250,$72251,$72252,$72253,$72254),(nextval($72255),$72256,$72257,$72258,$72259,$72260,$72261,$72262,$72263,$72264,$72265,$72266,$72267,$72268),(nextval($72269),$72270,$72271,$72272,$72273,$72274,$72275,$72276,$72277,$72278,$72279,$72280,$72281,$72282),(nextval($72283),$72284,$72285,$72286,$72287,$72288,$72289,$72290,$72291,$72292,$72293,$72294,$72295,$72296),(nextval($72297),$72298,$72299,$72300,$72301,$72302,$72303,$72304,$72305,$72306,$72307,$72308,$72309,$72310),(nextval($72311),$72312,$72313,$72314,$72315,$72316,$72317,$72318,$72319,$72320,$72321,$72322,$72323,$72324),(nextval($72325),$72326,$72327,$72328,$72329,$72330,$72331,$72332,$72333,$72334,$72335,$72336,$72337,$72338),(nextval($72339),$72340,$72341,$72342,$72343,$72344,$72345,$72346,$72347,$72348,$72349,$72350,$72351,$72352),(nextval($72353),$72354,$72355,$72356,$72357,$72358,$72359,$72360,$72361,$72362,$72363,$72364,$72365,$72366),(nextval($72367),$72368,$72369,$72370,$72371,$72372,$72373,$72374,$72375,$72376,$72377,$72378,$72379,$72380),(nextval($72381),$72382,$72383,$72384,$72385,$72386,$72387,$72388,$72389,$72390,$72391,$72392,$72393,$72394),(nextval($72395),$72396,$72397,$72398,$72399,$72400,$72401,$72402,$72403,$72404,$72405,$72406,$72407,$72408),(nextval($72409),$72410,$72411,$72412,$72413,$72414,$72415,$72416,$72417,$72418,$72419,$72420,$72421,$72422),(nextval($72423),$72424,$72425,$72426,$72427,$72428,$72429,$72430,$72431,$72432,$72433,$72434,$72435,$72436),(nextval($72437),$72438,$72439,$72440,$72441,$72442,$72443,$72444,$72445,$72446,$72447,$72448,$72449,$72450),(nextval($72451),$72452,$72453,$72454,$72455,$72456,$72457,$72458,$72459,$72460,$72461,$72462,$72463,$72464),(nextval($72465),$72466,$72467,$72468,$72469,$72470,$72471,$72472,$72473,$72474,$72475,$72476,$72477,$72478),(nextval($72479),$72480,$72481,$72482,$72483,$72484,$72485,$72486,$72487,$72488,$72489,$72490,$72491,$72492),(nextval($72493),$72494,$72495,$72496,$72497,$72498,$72499,$72500,$72501,$72502,$72503,$72504,$72505,$72506),(nextval($72507),$72508,$72509,$72510,$72511,$72512,$72513,$72514,$72515,$72516,$72517,$72518,$72519,$72520),(nextval($72521),$72522,$72523,$72524,$72525,$72526,$72527,$72528,$72529,$72530,$72531,$72532,$72533,$72534),(nextval($72535),$72536,$72537,$72538,$72539,$72540,$72541,$72542,$72543,$72544,$72545,$72546,$72547,$72548),(nextval($72549),$72550,$72551,$72552,$72553,$72554,$72555,$72556,$72557,$72558,$72559,$72560,$72561,$72562),(nextval($72563),$72564,$72565,$72566,$72567,$72568,$72569,$72570,$72571,$72572,$72573,$72574,$72575,$72576),(nextval($72577),$72578,$72579,$72580,$72581,$72582,$72583,$72584,$72585,$72586,$72587,$72588,$72589,$72590),(nextval($72591),$72592,$72593,$72594,$72595,$72596,$72597,$72598,$72599,$72600,$72601,$72602,$72603,$72604),(nextval($72605),$72606,$72607,$72608,$72609,$72610,$72611,$72612,$72613,$72614,$72615,$72616,$72617,$72618),(nextval($72619),$72620,$72621,$72622,$72623,$72624,$72625,$72626,$72627,$72628,$72629,$72630,$72631,$72632),(nextval($72633),$72634,$72635,$72636,$72637,$72638,$72639,$72640,$72641,$72642,$72643,$72644,$72645,$72646),(nextval($72647),$72648,$72649,$72650,$72651,$72652,$72653,$72654,$72655,$72656,$72657,$72658,$72659,$72660),(nextval($72661),$72662,$72663,$72664,$72665,$72666,$72667,$72668,$72669,$72670,$72671,$72672,$72673,$72674),(nextval($72675),$72676,$72677,$72678,$72679,$72680,$72681,$72682,$72683,$72684,$72685,$72686,$72687,$72688),(nextval($72689),$72690,$72691,$72692,$72693,$72694,$72695,$72696,$72697,$72698,$72699,$72700,$72701,$72702),(nextval($72703),$72704,$72705,$72706,$72707,$72708,$72709,$72710,$72711,$72712,$72713,$72714,$72715,$72716),(nextval($72717),$72718,$72719,$72720,$72721,$72722,$72723,$72724,$72725,$72726,$72727,$72728,$72729,$72730),(nextval($72731),$72732,$72733,$72734,$72735,$72736,$72737,$72738,$72739,$72740,$72741,$72742,$72743,$72744),(nextval($72745),$72746,$72747,$72748,$72749,$72750,$72751,$72752,$72753,$72754,$72755,$72756,$72757,$72758),(nextval($72759),$72760,$72761,$72762,$72763,$72764,$72765,$72766,$72767,$72768,$72769,$72770,$72771,$72772),(nextval($72773),$72774,$72775,$72776,$72777,$72778,$72779,$72780,$72781,$72782,$72783,$72784,$72785,$72786),(nextval($72787),$72788,$72789,$72790,$72791,$72792,$72793,$72794,$72795,$72796,$72797,$72798,$72799,$72800),(nextval($72801),$72802,$72803,$72804,$72805,$72806,$72807,$72808,$72809,$72810,$72811,$72812,$72813,$72814),(nextval($72815),$72816,$72817,$72818,$72819,$72820,$72821,$72822,$72823,$72824,$72825,$72826,$72827,$72828),(nextval($72829),$72830,$72831,$72832,$72833,$72834,$72835,$72836,$72837,$72838,$72839,$72840,$72841,$72842),(nextval($72843),$72844,$72845,$72846,$72847,$72848,$72849,$72850,$72851,$72852,$72853,$72854,$72855,$72856),(nextval($72857),$72858,$72859,$72860,$72861,$72862,$72863,$72864,$72865,$72866,$72867,$72868,$72869,$72870),(nextval($72871),$72872,$72873,$72874,$72875,$72876,$72877,$72878,$72879,$72880,$72881,$72882,$72883,$72884),(nextval($72885),$72886,$72887,$72888,$72889,$72890,$72891,$72892,$72893,$72894,$72895,$72896,$72897,$72898),(nextval($72899),$72900,$72901,$72902,$72903,$72904,$72905,$72906,$72907,$72908,$72909,$72910,$72911,$72912),(nextval($72913),$72914,$72915,$72916,$72917,$72918,$72919,$72920,$72921,$72922,$72923,$72924,$72925,$72926),(nextval($72927),$72928,$72929,$72930,$72931,$72932,$72933,$72934,$72935,$72936,$72937,$72938,$72939,$72940),(nextval($72941),$72942,$72943,$72944,$72945,$72946,$72947,$72948,$72949,$72950,$72951,$72952,$72953,$72954),(nextval($72955),$72956,$72957,$72958,$72959,$72960,$72961,$72962,$72963,$72964,$72965,$72966,$72967,$72968),(nextval($72969),$72970,$72971,$72972,$72973,$72974,$72975,$72976,$72977,$72978,$72979,$72980,$72981,$72982),(nextval($72983),$72984,$72985,$72986,$72987,$72988,$72989,$72990,$72991,$72992,$72993,$72994,$72995,$72996),(nextval($72997),$72998,$72999,$73000,$73001,$73002,$73003,$73004,$73005,$73006,$73007,$73008,$73009,$73010),(nextval($73011),$73012,$73013,$73014,$73015,$73016,$73017,$73018,$73019,$73020,$73021,$73022,$73023,$73024),(nextval($73025),$73026,$73027,$73028,$73029,$73030,$73031,$73032,$73033,$73034,$73035,$73036,$73037,$73038),(nextval($73039),$73040,$73041,$73042,$73043,$73044,$73045,$73046,$73047,$73048,$73049,$73050,$73051,$73052),(nextval($73053),$73054,$73055,$73056,$73057,$73058,$73059,$73060,$73061,$73062,$73063,$73064,$73065,$73066),(nextval($73067),$73068,$73069,$73070,$73071,$73072,$73073,$73074,$73075,$73076,$73077,$73078,$73079,$73080),(nextval($73081),$73082,$73083,$73084,$73085,$73086,$73087,$73088,$73089,$73090,$73091,$73092,$73093,$73094),(nextval($73095),$73096,$73097,$73098,$73099,$73100,$73101,$73102,$73103,$73104,$73105,$73106,$73107,$73108),(nextval($73109),$73110,$73111,$73112,$73113,$73114,$73115,$73116,$73117,$73118,$73119,$73120,$73121,$73122),(nextval($73123),$73124,$73125,$73126,$73127,$73128,$73129,$73130,$73131,$73132,$73133,$73134,$73135,$73136),(nextval($73137),$73138,$73139,$73140,$73141,$73142,$73143,$73144,$73145,$73146,$73147,$73148,$73149,$73150),(nextval($73151),$73152,$73153,$73154,$73155,$73156,$73157,$73158,$73159,$73160,$73161,$73162,$73163,$73164),(nextval($73165),$73166,$73167,$73168,$73169,$73170,$73171,$73172,$73173,$73174,$73175,$73176,$73177,$73178),(nextval($73179),$73180,$73181,$73182,$73183,$73184,$73185,$73186,$73187,$73188,$73189,$73190,$73191,$73192),(nextval($73193),$73194,$73195,$73196,$73197,$73198,$73199,$73200,$73201,$73202,$73203,$73204,$73205,$73206),(nextval($73207),$73208,$73209,$73210,$73211,$73212,$73213,$73214,$73215,$73216,$73217,$73218,$73219,$73220),(nextval($73221),$73222,$73223,$73224,$73225,$73226,$73227,$73228,$73229,$73230,$73231,$73232,$73233,$73234),(nextval($73235),$73236,$73237,$73238,$73239,$73240,$73241,$73242,$73243,$73244,$73245,$73246,$73247,$73248),(nextval($73249),$73250,$73251,$73252,$73253,$73254,$73255,$73256,$73257,$73258,$73259,$73260,$73261,$73262),(nextval($73263),$73264,$73265,$73266,$73267,$73268,$73269,$73270,$73271,$73272,$73273,$73274,$73275,$73276),(nextval($73277),$73278,$73279,$73280,$73281,$73282,$73283,$73284,$73285,$73286,$73287,$73288,$73289,$73290),(nextval($73291),$73292,$73293,$73294,$73295,$73296,$73297,$73298,$73299,$73300,$73301,$73302,$73303,$73304),(nextval($73305),$73306,$73307,$73308,$73309,$73310,$73311,$73312,$73313,$73314,$73315,$73316,$73317,$73318),(nextval($73319),$73320,$73321,$73322,$73323,$73324,$73325,$73326,$73327,$73328,$73329,$73330,$73331,$73332),(nextval($73333),$73334,$73335,$73336,$73337,$73338,$73339,$73340,$73341,$73342,$73343,$73344,$73345,$73346),(nextval($73347),$73348,$73349,$73350,$73351,$73352,$73353,$73354,$73355,$73356,$73357,$73358,$73359,$73360),(nextval($73361),$73362,$73363,$73364,$73365,$73366,$73367,$73368,$73369,$73370,$73371,$73372,$73373,$73374),(nextval($73375),$73376,$73377,$73378,$73379,$73380,$73381,$73382,$73383,$73384,$73385,$73386,$73387,$73388),(nextval($73389),$73390,$73391,$73392,$73393,$73394,$73395,$73396,$73397,$73398,$73399,$73400,$73401,$73402),(nextval($73403),$73404,$73405,$73406,$73407,$73408,$73409,$73410,$73411,$73412,$73413,$73414,$73415,$73416),(nextval($73417),$73418,$73419,$73420,$73421,$73422,$73423,$73424,$73425,$73426,$73427,$73428,$73429,$73430),(nextval($73431),$73432,$73433,$73434,$73435,$73436,$73437,$73438,$73439,$73440,$73441,$73442,$73443,$73444),(nextval($73445),$73446,$73447,$73448,$73449,$73450,$73451,$73452,$73453,$73454,$73455,$73456,$73457,$73458),(nextval($73459),$73460,$73461,$73462,$73463,$73464,$73465,$73466,$73467,$73468,$73469,$73470,$73471,$73472),(nextval($73473),$73474,$73475,$73476,$73477,$73478,$73479,$73480,$73481,$73482,$73483,$73484,$73485,$73486),(nextval($73487),$73488,$73489,$73490,$73491,$73492,$73493,$73494,$73495,$73496,$73497,$73498,$73499,$73500),(nextval($73501),$73502,$73503,$73504,$73505,$73506,$73507,$73508,$73509,$73510,$73511,$73512,$73513,$73514),(nextval($73515),$73516,$73517,$73518,$73519,$73520,$73521,$73522,$73523,$73524,$73525,$73526,$73527,$73528),(nextval($73529),$73530,$73531,$73532,$73533,$73534,$73535,$73536,$73537,$73538,$73539,$73540,$73541,$73542),(nextval($73543),$73544,$73545,$73546,$73547,$73548,$73549,$73550,$73551,$73552,$73553,$73554,$73555,$73556),(nextval($73557),$73558,$73559,$73560,$73561,$73562,$73563,$73564,$73565,$73566,$73567,$73568,$73569,$73570),(nextval($73571),$73572,$73573,$73574,$73575,$73576,$73577,$73578,$73579,$73580,$73581,$73582,$73583,$73584),(nextval($73585),$73586,$73587,$73588,$73589,$73590,$73591,$73592,$73593,$73594,$73595,$73596,$73597,$73598),(nextval($73599),$73600,$73601,$73602,$73603,$73604,$73605,$73606,$73607,$73608,$73609,$73610,$73611,$73612),(nextval($73613),$73614,$73615,$73616,$73617,$73618,$73619,$73620,$73621,$73622,$73623,$73624,$73625,$73626),(nextval($73627),$73628,$73629,$73630,$73631,$73632,$73633,$73634,$73635,$73636,$73637,$73638,$73639,$73640),(nextval($73641),$73642,$73643,$73644,$73645,$73646,$73647,$73648,$73649,$73650,$73651,$73652,$73653,$73654),(nextval($73655),$73656,$73657,$73658,$73659,$73660,$73661,$73662,$73663,$73664,$73665,$73666,$73667,$73668),(nextval($73669),$73670,$73671,$73672,$73673,$73674,$73675,$73676,$73677,$73678,$73679,$73680,$73681,$73682),(nextval($73683),$73684,$73685,$73686,$73687,$73688,$73689,$73690,$73691,$73692,$73693,$73694,$73695,$73696),(nextval($73697),$73698,$73699,$73700,$73701,$73702,$73703,$73704,$73705,$73706,$73707,$73708,$73709,$73710),(nextval($73711),$73712,$73713,$73714,$73715,$73716,$73717,$73718,$73719,$73720,$73721,$73722,$73723,$73724),(nextval($73725),$73726,$73727,$73728,$73729,$73730,$73731,$73732,$73733,$73734,$73735,$73736,$73737,$73738),(nextval($73739),$73740,$73741,$73742,$73743,$73744,$73745,$73746,$73747,$73748,$73749,$73750,$73751,$73752),(nextval($73753),$73754,$73755,$73756,$73757,$73758,$73759,$73760,$73761,$73762,$73763,$73764,$73765,$73766),(nextval($73767),$73768,$73769,$73770,$73771,$73772,$73773,$73774,$73775,$73776,$73777,$73778,$73779,$73780),(nextval($73781),$73782,$73783,$73784,$73785,$73786,$73787,$73788,$73789,$73790,$73791,$73792,$73793,$73794),(nextval($73795),$73796,$73797,$73798,$73799,$73800,$73801,$73802,$73803,$73804,$73805,$73806,$73807,$73808),(nextval($73809),$73810,$73811,$73812,$73813,$73814,$73815,$73816,$73817,$73818,$73819,$73820,$73821,$73822),(nextval($73823),$73824,$73825,$73826,$73827,$73828,$73829,$73830,$73831,$73832,$73833,$73834,$73835,$73836),(nextval($73837),$73838,$73839,$73840,$73841,$73842,$73843,$73844,$73845,$73846,$73847,$73848,$73849,$73850),(nextval($73851),$73852,$73853,$73854,$73855,$73856,$73857,$73858,$73859,$73860,$73861,$73862,$73863,$73864),(nextval($73865),$73866,$73867,$73868,$73869,$73870,$73871,$73872,$73873,$73874,$73875,$73876,$73877,$73878),(nextval($73879),$73880,$73881,$73882,$73883,$73884,$73885,$73886,$73887,$73888,$73889,$73890,$73891,$73892),(nextval($73893),$73894,$73895,$73896,$73897,$73898,$73899,$73900,$73901,$73902,$73903,$73904,$73905,$73906),(nextval($73907),$73908,$73909,$73910,$73911,$73912,$73913,$73914,$73915,$73916,$73917,$73918,$73919,$73920),(nextval($73921),$73922,$73923,$73924,$73925,$73926,$73927,$73928,$73929,$73930,$73931,$73932,$73933,$73934),(nextval($73935),$73936,$73937,$73938,$73939,$73940,$73941,$73942,$73943,$73944,$73945,$73946,$73947,$73948),(nextval($73949),$73950,$73951,$73952,$73953,$73954,$73955,$73956,$73957,$73958,$73959,$73960,$73961,$73962),(nextval($73963),$73964,$73965,$73966,$73967,$73968,$73969,$73970,$73971,$73972,$73973,$73974,$73975,$73976),(nextval($73977),$73978,$73979,$73980,$73981,$73982,$73983,$73984,$73985,$73986,$73987,$73988,$73989,$73990),(nextval($73991),$73992,$73993,$73994,$73995,$73996,$73997,$73998,$73999,$74000,$74001,$74002,$74003,$74004),(nextval($74005),$74006,$74007,$74008,$74009,$74010,$74011,$74012,$74013,$74014,$74015,$74016,$74017,$74018),(nextval($74019),$74020,$74021,$74022,$74023,$74024,$74025,$74026,$74027,$74028,$74029,$74030,$74031,$74032),(nextval($74033),$74034,$74035,$74036,$74037,$74038,$74039,$74040,$74041,$74042,$74043,$74044,$74045,$74046),(nextval($74047),$74048,$74049,$74050,$74051,$74052,$74053,$74054,$74055,$74056,$74057,$74058,$74059,$74060),(nextval($74061),$74062,$74063,$74064,$74065,$74066,$74067,$74068,$74069,$74070,$74071,$74072,$74073,$74074),(nextval($74075),$74076,$74077,$74078,$74079,$74080,$74081,$74082,$74083,$74084,$74085,$74086,$74087,$74088),(nextval($74089),$74090,$74091,$74092,$74093,$74094,$74095,$74096,$74097,$74098,$74099,$74100,$74101,$74102),(nextval($74103),$74104,$74105,$74106,$74107,$74108,$74109,$74110,$74111,$74112,$74113,$74114,$74115,$74116),(nextval($74117),$74118,$74119,$74120,$74121,$74122,$74123,$74124,$74125,$74126,$74127,$74128,$74129,$74130),(nextval($74131),$74132,$74133,$74134,$74135,$74136,$74137,$74138,$74139,$74140,$74141,$74142,$74143,$74144),(nextval($74145),$74146,$74147,$74148,$74149,$74150,$74151,$74152,$74153,$74154,$74155,$74156,$74157,$74158),(nextval($74159),$74160,$74161,$74162,$74163,$74164,$74165,$74166,$74167,$74168,$74169,$74170,$74171,$74172),(nextval($74173),$74174,$74175,$74176,$74177,$74178,$74179,$74180,$74181,$74182,$74183,$74184,$74185,$74186),(nextval($74187),$74188,$74189,$74190,$74191,$74192,$74193,$74194,$74195,$74196,$74197,$74198,$74199,$74200),(nextval($74201),$74202,$74203,$74204,$74205,$74206,$74207,$74208,$74209,$74210,$74211,$74212,$74213,$74214),(nextval($74215),$74216,$74217,$74218,$74219,$74220,$74221,$74222,$74223,$74224,$74225,$74226,$74227,$74228),(nextval($74229),$74230,$74231,$74232,$74233,$74234,$74235,$74236,$74237,$74238,$74239,$74240,$74241,$74242),(nextval($74243),$74244,$74245,$74246,$74247,$74248,$74249,$74250,$74251,$74252,$74253,$74254,$74255,$74256),(nextval($74257),$74258,$74259,$74260,$74261,$74262,$74263,$74264,$74265,$74266,$74267,$74268,$74269,$74270),(nextval($74271),$74272,$74273,$74274,$74275,$74276,$74277,$74278,$74279,$74280,$74281,$74282,$74283,$74284),(nextval($74285),$74286,$74287,$74288,$74289,$74290,$74291,$74292,$74293,$74294,$74295,$74296,$74297,$74298),(nextval($74299),$74300,$74301,$74302,$74303,$74304,$74305,$74306,$74307,$74308,$74309,$74310,$74311,$74312),(nextval($74313),$74314,$74315,$74316,$74317,$74318,$74319,$74320,$74321,$74322,$74323,$74324,$74325,$74326),(nextval($74327),$74328,$74329,$74330,$74331,$74332,$74333,$74334,$74335,$74336,$74337,$74338,$74339,$74340),(nextval($74341),$74342,$74343,$74344,$74345,$74346,$74347,$74348,$74349,$74350,$74351,$74352,$74353,$74354),(nextval($74355),$74356,$74357,$74358,$74359,$74360,$74361,$74362,$74363,$74364,$74365,$74366,$74367,$74368),(nextval($74369),$74370,$74371,$74372,$74373,$74374,$74375,$74376,$74377,$74378,$74379,$74380,$74381,$74382),(nextval($74383),$74384,$74385,$74386,$74387,$74388,$74389,$74390,$74391,$74392,$74393,$74394,$74395,$74396),(nextval($74397),$74398,$74399,$74400,$74401,$74402,$74403,$74404,$74405,$74406,$74407,$74408,$74409,$74410),(nextval($74411),$74412,$74413,$74414,$74415,$74416,$74417,$74418,$74419,$74420,$74421,$74422,$74423,$74424),(nextval($74425),$74426,$74427,$74428,$74429,$74430,$74431,$74432,$74433,$74434,$74435,$74436,$74437,$74438),(nextval($74439),$74440,$74441,$74442,$74443,$74444,$74445,$74446,$74447,$74448,$74449,$74450,$74451,$74452),(nextval($74453),$74454,$74455,$74456,$74457,$74458,$74459,$74460,$74461,$74462,$74463,$74464,$74465,$74466),(nextval($74467),$74468,$74469,$74470,$74471,$74472,$74473,$74474,$74475,$74476,$74477,$74478,$74479,$74480),(nextval($74481),$74482,$74483,$74484,$74485,$74486,$74487,$74488,$74489,$74490,$74491,$74492,$74493,$74494),(nextval($74495),$74496,$74497,$74498,$74499,$74500,$74501,$74502,$74503,$74504,$74505,$74506,$74507,$74508),(nextval($74509),$74510,$74511,$74512,$74513,$74514,$74515,$74516,$74517,$74518,$74519,$74520,$74521,$74522),(nextval($74523),$74524,$74525,$74526,$74527,$74528,$74529,$74530,$74531,$74532,$74533,$74534,$74535,$74536),(nextval($74537),$74538,$74539,$74540,$74541,$74542,$74543,$74544,$74545,$74546,$74547,$74548,$74549,$74550),(nextval($74551),$74552,$74553,$74554,$74555,$74556,$74557,$74558,$74559,$74560,$74561,$74562,$74563,$74564),(nextval($74565),$74566,$74567,$74568,$74569,$74570,$74571,$74572,$74573,$74574,$74575,$74576,$74577,$74578),(nextval($74579),$74580,$74581,$74582,$74583,$74584,$74585,$74586,$74587,$74588,$74589,$74590,$74591,$74592),(nextval($74593),$74594,$74595,$74596,$74597,$74598,$74599,$74600,$74601,$74602,$74603,$74604,$74605,$74606),(nextval($74607),$74608,$74609,$74610,$74611,$74612,$74613,$74614,$74615,$74616,$74617,$74618,$74619,$74620),(nextval($74621),$74622,$74623,$74624,$74625,$74626,$74627,$74628,$74629,$74630,$74631,$74632,$74633,$74634),(nextval($74635),$74636,$74637,$74638,$74639,$74640,$74641,$74642,$74643,$74644,$74645,$74646,$74647,$74648),(nextval($74649),$74650,$74651,$74652,$74653,$74654,$74655,$74656,$74657,$74658,$74659,$74660,$74661,$74662),(nextval($74663),$74664,$74665,$74666,$74667,$74668,$74669,$74670,$74671,$74672,$74673,$74674,$74675,$74676),(nextval($74677),$74678,$74679,$74680,$74681,$74682,$74683,$74684,$74685,$74686,$74687,$74688,$74689,$74690),(nextval($74691),$74692,$74693,$74694,$74695,$74696,$74697,$74698,$74699,$74700,$74701,$74702,$74703,$74704),(nextval($74705),$74706,$74707,$74708,$74709,$74710,$74711,$74712,$74713,$74714,$74715,$74716,$74717,$74718),(nextval($74719),$74720,$74721,$74722,$74723,$74724,$74725,$74726,$74727,$74728,$74729,$74730,$74731,$74732),(nextval($74733),$74734,$74735,$74736,$74737,$74738,$74739,$74740,$74741,$74742,$74743,$74744,$74745,$74746),(nextval($74747),$74748,$74749,$74750,$74751,$74752,$74753,$74754,$74755,$74756,$74757,$74758,$74759,$74760),(nextval($74761),$74762,$74763,$74764,$74765,$74766,$74767,$74768,$74769,$74770,$74771,$74772,$74773,$74774),(nextval($74775),$74776,$74777,$74778,$74779,$74780,$74781,$74782,$74783,$74784,$74785,$74786,$74787,$74788),(nextval($74789),$74790,$74791,$74792,$74793,$74794,$74795,$74796,$74797,$74798,$74799,$74800,$74801,$74802),(nextval($74803),$74804,$74805,$74806,$74807,$74808,$74809,$74810,$74811,$74812,$74813,$74814,$74815,$74816),(nextval($74817),$74818,$74819,$74820,$74821,$74822,$74823,$74824,$74825,$74826,$74827,$74828,$74829,$74830),(nextval($74831),$74832,$74833,$74834,$74835,$74836,$74837,$74838,$74839,$74840,$74841,$74842,$74843,$74844),(nextval($74845),$74846,$74847,$74848,$74849,$74850,$74851,$74852,$74853,$74854,$74855,$74856,$74857,$74858),(nextval($74859),$74860,$74861,$74862,$74863,$74864,$74865,$74866,$74867,$74868,$74869,$74870,$74871,$74872),(nextval($74873),$74874,$74875,$74876,$74877,$74878,$74879,$74880,$74881,$74882,$74883,$74884,$74885,$74886),(nextval($74887),$74888,$74889,$74890,$74891,$74892,$74893,$74894,$74895,$74896,$74897,$74898,$74899,$74900),(nextval($74901),$74902,$74903,$74904,$74905,$74906,$74907,$74908,$74909,$74910,$74911,$74912,$74913,$74914),(nextval($74915),$74916,$74917,$74918,$74919,$74920,$74921,$74922,$74923,$74924,$74925,$74926,$74927,$74928),(nextval($74929),$74930,$74931,$74932,$74933,$74934,$74935,$74936,$74937,$74938,$74939,$74940,$74941,$74942),(nextval($74943),$74944,$74945,$74946,$74947,$74948,$74949,$74950,$74951,$74952,$74953,$74954,$74955,$74956),(nextval($74957),$74958,$74959,$74960,$74961,$74962,$74963,$74964,$74965,$74966,$74967,$74968,$74969,$74970),(nextval($74971),$74972,$74973,$74974,$74975,$74976,$74977,$74978,$74979,$74980,$74981,$74982,$74983,$74984),(nextval($74985),$74986,$74987,$74988,$74989,$74990,$74991,$74992,$74993,$74994,$74995,$74996,$74997,$74998),(nextval($74999),$75000,$75001,$75002,$75003,$75004,$75005,$75006,$75007,$75008,$75009,$75010,$75011,$75012),(nextval($75013),$75014,$75015,$75016,$75017,$75018,$75019,$75020,$75021,$75022,$75023,$75024,$75025,$75026),(nextval($75027),$75028,$75029,$75030,$75031,$75032,$75033,$75034,$75035,$75036,$75037,$75038,$75039,$75040),(nextval($75041),$75042,$75043,$75044,$75045,$75046,$75047,$75048,$75049,$75050,$75051,$75052,$75053,$75054),(nextval($75055),$75056,$75057,$75058,$75059,$75060,$75061,$75062,$75063,$75064,$75065,$75066,$75067,$75068),(nextval($75069),$75070,$75071,$75072,$75073,$75074,$75075,$75076,$75077,$75078,$75079,$75080,$75081,$75082),(nextval($75083),$75084,$75085,$75086,$75087,$75088,$75089,$75090,$75091,$75092,$75093,$75094,$75095,$75096),(nextval($75097),$75098,$75099,$75100,$75101,$75102,$75103,$75104,$75105,$75106,$75107,$75108,$75109,$75110),(nextval($75111),$75112,$75113,$75114,$75115,$75116,$75117,$75118,$75119,$75120,$75121,$75122,$75123,$75124),(nextval($75125),$75126,$75127,$75128,$75129,$75130,$75131,$75132,$75133,$75134,$75135,$75136,$75137,$75138),(nextval($75139),$75140,$75141,$75142,$75143,$75144,$75145,$75146,$75147,$75148,$75149,$75150,$75151,$75152),(nextval($75153),$75154,$75155,$75156,$75157,$75158,$75159,$75160,$75161,$75162,$75163,$75164,$75165,$75166),(nextval($75167),$75168,$75169,$75170,$75171,$75172,$75173,$75174,$75175,$75176,$75177,$75178,$75179,$75180),(nextval($75181),$75182,$75183,$75184,$75185,$75186,$75187,$75188,$75189,$75190,$75191,$75192,$75193,$75194),(nextval($75195),$75196,$75197,$75198,$75199,$75200,$75201,$75202,$75203,$75204,$75205,$75206,$75207,$75208),(nextval($75209),$75210,$75211,$75212,$75213,$75214,$75215,$75216,$75217,$75218,$75219,$75220,$75221,$75222),(nextval($75223),$75224,$75225,$75226,$75227,$75228,$75229,$75230,$75231,$75232,$75233,$75234,$75235,$75236),(nextval($75237),$75238,$75239,$75240,$75241,$75242,$75243,$75244,$75245,$75246,$75247,$75248,$75249,$75250),(nextval($75251),$75252,$75253,$75254,$75255,$75256,$75257,$75258,$75259,$75260,$75261,$75262,$75263,$75264),(nextval($75265),$75266,$75267,$75268,$75269,$75270,$75271,$75272,$75273,$75274,$75275,$75276,$75277,$75278),(nextval($75279),$75280,$75281,$75282,$75283,$75284,$75285,$75286,$75287,$75288,$75289,$75290,$75291,$75292),(nextval($75293),$75294,$75295,$75296,$75297,$75298,$75299,$75300,$75301,$75302,$75303,$75304,$75305,$75306),(nextval($75307),$75308,$75309,$75310,$75311,$75312,$75313,$75314,$75315,$75316,$75317,$75318,$75319,$75320),(nextval($75321),$75322,$75323,$75324,$75325,$75326,$75327,$75328,$75329,$75330,$75331,$75332,$75333,$75334),(nextval($75335),$75336,$75337,$75338,$75339,$75340,$75341,$75342,$75343,$75344,$75345,$75346,$75347,$75348),(nextval($75349),$75350,$75351,$75352,$75353,$75354,$75355,$75356,$75357,$75358,$75359,$75360,$75361,$75362),(nextval($75363),$75364,$75365,$75366,$75367,$75368,$75369,$75370,$75371,$75372,$75373,$75374,$75375,$75376),(nextval($75377),$75378,$75379,$75380,$75381,$75382,$75383,$75384,$75385,$75386,$75387,$75388,$75389,$75390),(nextval($75391),$75392,$75393,$75394,$75395,$75396,$75397,$75398,$75399,$75400,$75401,$75402,$75403,$75404),(nextval($75405),$75406,$75407,$75408,$75409,$75410,$75411,$75412,$75413,$75414,$75415,$75416,$75417,$75418),(nextval($75419),$75420,$75421,$75422,$75423,$75424,$75425,$75426,$75427,$75428,$75429,$75430,$75431,$75432),(nextval($75433),$75434,$75435,$75436,$75437,$75438,$75439,$75440,$75441,$75442,$75443,$75444,$75445,$75446),(nextval($75447),$75448,$75449,$75450,$75451,$75452,$75453,$75454,$75455,$75456,$75457,$75458,$75459,$75460),(nextval($75461),$75462,$75463,$75464,$75465,$75466,$75467,$75468,$75469,$75470,$75471,$75472,$75473,$75474),(nextval($75475),$75476,$75477,$75478,$75479,$75480,$75481,$75482,$75483,$75484,$75485,$75486,$75487,$75488),(nextval($75489),$75490,$75491,$75492,$75493,$75494,$75495,$75496,$75497,$75498,$75499,$75500,$75501,$75502),(nextval($75503),$75504,$75505,$75506,$75507,$75508,$75509,$75510,$75511,$75512,$75513,$75514,$75515,$75516),(nextval($75517),$75518,$75519,$75520,$75521,$75522,$75523,$75524,$75525,$75526,$75527,$75528,$75529,$75530),(nextval($75531),$75532,$75533,$75534,$75535,$75536,$75537,$75538,$75539,$75540,$75541,$75542,$75543,$75544),(nextval($75545),$75546,$75547,$75548,$75549,$75550,$75551,$75552,$75553,$75554,$75555,$75556,$75557,$75558),(nextval($75559),$75560,$75561,$75562,$75563,$75564,$75565,$75566,$75567,$75568,$75569,$75570,$75571,$75572),(nextval($75573),$75574,$75575,$75576,$75577,$75578,$75579,$75580,$75581,$75582,$75583,$75584,$75585,$75586),(nextval($75587),$75588,$75589,$75590,$75591,$75592,$75593,$75594,$75595,$75596,$75597,$75598,$75599,$75600),(nextval($75601),$75602,$75603,$75604,$75605,$75606,$75607,$75608,$75609,$75610,$75611,$75612,$75613,$75614),(nextval($75615),$75616,$75617,$75618,$75619,$75620,$75621,$75622,$75623,$75624,$75625,$75626,$75627,$75628),(nextval($75629),$75630,$75631,$75632,$75633,$75634,$75635,$75636,$75637,$75638,$75639,$75640,$75641,$75642),(nextval($75643),$75644,$75645,$75646,$75647,$75648,$75649,$75650,$75651,$75652,$75653,$75654,$75655,$75656),(nextval($75657),$75658,$75659,$75660,$75661,$75662,$75663,$75664,$75665,$75666,$75667,$75668,$75669,$75670),(nextval($75671),$75672,$75673,$75674,$75675,$75676,$75677,$75678,$75679,$75680,$75681,$75682,$75683,$75684),(nextval($75685),$75686,$75687,$75688,$75689,$75690,$75691,$75692,$75693,$75694,$75695,$75696,$75697,$75698),(nextval($75699),$75700,$75701,$75702,$75703,$75704,$75705,$75706,$75707,$75708,$75709,$75710,$75711,$75712),(nextval($75713),$75714,$75715,$75716,$75717,$75718,$75719,$75720,$75721,$75722,$75723,$75724,$75725,$75726),(nextval($75727),$75728,$75729,$75730,$75731,$75732,$75733,$75734,$75735,$75736,$75737,$75738,$75739,$75740),(nextval($75741),$75742,$75743,$75744,$75745,$75746,$75747,$75748,$75749,$75750,$75751,$75752,$75753,$75754),(nextval($75755),$75756,$75757,$75758,$75759,$75760,$75761,$75762,$75763,$75764,$75765,$75766,$75767,$75768),(nextval($75769),$75770,$75771,$75772,$75773,$75774,$75775,$75776,$75777,$75778,$75779,$75780,$75781,$75782),(nextval($75783),$75784,$75785,$75786,$75787,$75788,$75789,$75790,$75791,$75792,$75793,$75794,$75795,$75796),(nextval($75797),$75798,$75799,$75800,$75801,$75802,$75803,$75804,$75805,$75806,$75807,$75808,$75809,$75810),(nextval($75811),$75812,$75813,$75814,$75815,$75816,$75817,$75818,$75819,$75820,$75821,$75822,$75823,$75824),(nextval($75825),$75826,$75827,$75828,$75829,$75830,$75831,$75832,$75833,$75834,$75835,$75836,$75837,$75838),(nextval($75839),$75840,$75841,$75842,$75843,$75844,$75845,$75846,$75847,$75848,$75849,$75850,$75851,$75852),(nextval($75853),$75854,$75855,$75856,$75857,$75858,$75859,$75860,$75861,$75862,$75863,$75864,$75865,$75866),(nextval($75867),$75868,$75869,$75870,$75871,$75872,$75873,$75874,$75875,$75876,$75877,$75878,$75879,$75880),(nextval($75881),$75882,$75883,$75884,$75885,$75886,$75887,$75888,$75889,$75890,$75891,$75892,$75893,$75894),(nextval($75895),$75896,$75897,$75898,$75899,$75900,$75901,$75902,$75903,$75904,$75905,$75906,$75907,$75908),(nextval($75909),$75910,$75911,$75912,$75913,$75914,$75915,$75916,$75917,$75918,$75919,$75920,$75921,$75922),(nextval($75923),$75924,$75925,$75926,$75927,$75928,$75929,$75930,$75931,$75932,$75933,$75934,$75935,$75936),(nextval($75937),$75938,$75939,$75940,$75941,$75942,$75943,$75944,$75945,$75946,$75947,$75948,$75949,$75950),(nextval($75951),$75952,$75953,$75954,$75955,$75956,$75957,$75958,$75959,$75960,$75961,$75962,$75963,$75964),(nextval($75965),$75966,$75967,$75968,$75969,$75970,$75971,$75972,$75973,$75974,$75975,$75976,$75977,$75978),(nextval($75979),$75980,$75981,$75982,$75983,$75984,$75985,$75986,$75987,$75988,$75989,$75990,$75991,$75992),(nextval($75993),$75994,$75995,$75996,$75997,$75998,$75999,$76000,$76001,$76002,$76003,$76004,$76005,$76006),(nextval($76007),$76008,$76009,$76010,$76011,$76012,$76013,$76014,$76015,$76016,$76017,$76018,$76019,$76020),(nextval($76021),$76022,$76023,$76024,$76025,$76026,$76027,$76028,$76029,$76030,$76031,$76032,$76033,$76034),(nextval($76035),$76036,$76037,$76038,$76039,$76040,$76041,$76042,$76043,$76044,$76045,$76046,$76047,$76048),(nextval($76049),$76050,$76051,$76052,$76053,$76054,$76055,$76056,$76057,$76058,$76059,$76060,$76061,$76062),(nextval($76063),$76064,$76065,$76066,$76067,$76068,$76069,$76070,$76071,$76072,$76073,$76074,$76075,$76076),(nextval($76077),$76078,$76079,$76080,$76081,$76082,$76083,$76084,$76085,$76086,$76087,$76088,$76089,$76090),(nextval($76091),$76092,$76093,$76094,$76095,$76096,$76097,$76098,$76099,$76100,$76101,$76102,$76103,$76104),(nextval($76105),$76106,$76107,$76108,$76109,$76110,$76111,$76112,$76113,$76114,$76115,$76116,$76117,$76118),(nextval($76119),$76120,$76121,$76122,$76123,$76124,$76125,$76126,$76127,$76128,$76129,$76130,$76131,$76132),(nextval($76133),$76134,$76135,$76136,$76137,$76138,$76139,$76140,$76141,$76142,$76143,$76144,$76145,$76146),(nextval($76147),$76148,$76149,$76150,$76151,$76152,$76153,$76154,$76155,$76156,$76157,$76158,$76159,$76160),(nextval($76161),$76162,$76163,$76164,$76165,$76166,$76167,$76168,$76169,$76170,$76171,$76172,$76173,$76174),(nextval($76175),$76176,$76177,$76178,$76179,$76180,$76181,$76182,$76183,$76184,$76185,$76186,$76187,$76188),(nextval($76189),$76190,$76191,$76192,$76193,$76194,$76195,$76196,$76197,$76198,$76199,$76200,$76201,$76202),(nextval($76203),$76204,$76205,$76206,$76207,$76208,$76209,$76210,$76211,$76212,$76213,$76214,$76215,$76216),(nextval($76217),$76218,$76219,$76220,$76221,$76222,$76223,$76224,$76225,$76226,$76227,$76228,$76229,$76230),(nextval($76231),$76232,$76233,$76234,$76235,$76236,$76237,$76238,$76239,$76240,$76241,$76242,$76243,$76244),(nextval($76245),$76246,$76247,$76248,$76249,$76250,$76251,$76252,$76253,$76254,$76255,$76256,$76257,$76258),(nextval($76259),$76260,$76261,$76262,$76263,$76264,$76265,$76266,$76267,$76268,$76269,$76270,$76271,$76272),(nextval($76273),$76274,$76275,$76276,$76277,$76278,$76279,$76280,$76281,$76282,$76283,$76284,$76285,$76286),(nextval($76287),$76288,$76289,$76290,$76291,$76292,$76293,$76294,$76295,$76296,$76297,$76298,$76299,$76300),(nextval($76301),$76302,$76303,$76304,$76305,$76306,$76307,$76308,$76309,$76310,$76311,$76312,$76313,$76314),(nextval($76315),$76316,$76317,$76318,$76319,$76320,$76321,$76322,$76323,$76324,$76325,$76326,$76327,$76328),(nextval($76329),$76330,$76331,$76332,$76333,$76334,$76335,$76336,$76337,$76338,$76339,$76340,$76341,$76342),(nextval($76343),$76344,$76345,$76346,$76347,$76348,$76349,$76350,$76351,$76352,$76353,$76354,$76355,$76356),(nextval($76357),$76358,$76359,$76360,$76361,$76362,$76363,$76364,$76365,$76366,$76367,$76368,$76369,$76370),(nextval($76371),$76372,$76373,$76374,$76375,$76376,$76377,$76378,$76379,$76380,$76381,$76382,$76383,$76384),(nextval($76385),$76386,$76387,$76388,$76389,$76390,$76391,$76392,$76393,$76394,$76395,$76396,$76397,$76398),(nextval($76399),$76400,$76401,$76402,$76403,$76404,$76405,$76406,$76407,$76408,$76409,$76410,$76411,$76412),(nextval($76413),$76414,$76415,$76416,$76417,$76418,$76419,$76420,$76421,$76422,$76423,$76424,$76425,$76426),(nextval($76427),$76428,$76429,$76430,$76431,$76432,$76433,$76434,$76435,$76436,$76437,$76438,$76439,$76440),(nextval($76441),$76442,$76443,$76444,$76445,$76446,$76447,$76448,$76449,$76450,$76451,$76452,$76453,$76454),(nextval($76455),$76456,$76457,$76458,$76459,$76460,$76461,$76462,$76463,$76464,$76465,$76466,$76467,$76468),(nextval($76469),$76470,$76471,$76472,$76473,$76474,$76475,$76476,$76477,$76478,$76479,$76480,$76481,$76482),(nextval($76483),$76484,$76485,$76486,$76487,$76488,$76489,$76490,$76491,$76492,$76493,$76494,$76495,$76496),(nextval($76497),$76498,$76499,$76500,$76501,$76502,$76503,$76504,$76505,$76506,$76507,$76508,$76509,$76510),(nextval($76511),$76512,$76513,$76514,$76515,$76516,$76517,$76518,$76519,$76520,$76521,$76522,$76523,$76524),(nextval($76525),$76526,$76527,$76528,$76529,$76530,$76531,$76532,$76533,$76534,$76535,$76536,$76537,$76538),(nextval($76539),$76540,$76541,$76542,$76543,$76544,$76545,$76546,$76547,$76548,$76549,$76550,$76551,$76552),(nextval($76553),$76554,$76555,$76556,$76557,$76558,$76559,$76560,$76561,$76562,$76563,$76564,$76565,$76566),(nextval($76567),$76568,$76569,$76570,$76571,$76572,$76573,$76574,$76575,$76576,$76577,$76578,$76579,$76580),(nextval($76581),$76582,$76583,$76584,$76585,$76586,$76587,$76588,$76589,$76590,$76591,$76592,$76593,$76594),(nextval($76595),$76596,$76597,$76598,$76599,$76600,$76601,$76602,$76603,$76604,$76605,$76606,$76607,$76608),(nextval($76609),$76610,$76611,$76612,$76613,$76614,$76615,$76616,$76617,$76618,$76619,$76620,$76621,$76622),(nextval($76623),$76624,$76625,$76626,$76627,$76628,$76629,$76630,$76631,$76632,$76633,$76634,$76635,$76636),(nextval($76637),$76638,$76639,$76640,$76641,$76642,$76643,$76644,$76645,$76646,$76647,$76648,$76649,$76650),(nextval($76651),$76652,$76653,$76654,$76655,$76656,$76657,$76658,$76659,$76660,$76661,$76662,$76663,$76664),(nextval($76665),$76666,$76667,$76668,$76669,$76670,$76671,$76672,$76673,$76674,$76675,$76676,$76677,$76678),(nextval($76679),$76680,$76681,$76682,$76683,$76684,$76685,$76686,$76687,$76688,$76689,$76690,$76691,$76692),(nextval($76693),$76694,$76695,$76696,$76697,$76698,$76699,$76700,$76701,$76702,$76703,$76704,$76705,$76706),(nextval($76707),$76708,$76709,$76710,$76711,$76712,$76713,$76714,$76715,$76716,$76717,$76718,$76719,$76720),(nextval($76721),$76722,$76723,$76724,$76725,$76726,$76727,$76728,$76729,$76730,$76731,$76732,$76733,$76734),(nextval($76735),$76736,$76737,$76738,$76739,$76740,$76741,$76742,$76743,$76744,$76745,$76746,$76747,$76748),(nextval($76749),$76750,$76751,$76752,$76753,$76754,$76755,$76756,$76757,$76758,$76759,$76760,$76761,$76762),(nextval($76763),$76764,$76765,$76766,$76767,$76768,$76769,$76770,$76771,$76772,$76773,$76774,$76775,$76776),(nextval($76777),$76778,$76779,$76780,$76781,$76782,$76783,$76784,$76785,$76786,$76787,$76788,$76789,$76790),(nextval($76791),$76792,$76793,$76794,$76795,$76796,$76797,$76798,$76799,$76800,$76801,$76802,$76803,$76804),(nextval($76805),$76806,$76807,$76808,$76809,$76810,$76811,$76812,$76813,$76814,$76815,$76816,$76817,$76818),(nextval($76819),$76820,$76821,$76822,$76823,$76824,$76825,$76826,$76827,$76828,$76829,$76830,$76831,$76832),(nextval($76833),$76834,$76835,$76836,$76837,$76838,$76839,$76840,$76841,$76842,$76843,$76844,$76845,$76846),(nextval($76847),$76848,$76849,$76850,$76851,$76852,$76853,$76854,$76855,$76856,$76857,$76858,$76859,$76860),(nextval($76861),$76862,$76863,$76864,$76865,$76866,$76867,$76868,$76869,$76870,$76871,$76872,$76873,$76874),(nextval($76875),$76876,$76877,$76878,$76879,$76880,$76881,$76882,$76883,$76884,$76885,$76886,$76887,$76888),(nextval($76889),$76890,$76891,$76892,$76893,$76894,$76895,$76896,$76897,$76898,$76899,$76900,$76901,$76902),(nextval($76903),$76904,$76905,$76906,$76907,$76908,$76909,$76910,$76911,$76912,$76913,$76914,$76915,$76916),(nextval($76917),$76918,$76919,$76920,$76921,$76922,$76923,$76924,$76925,$76926,$76927,$76928,$76929,$76930),(nextval($76931),$76932,$76933,$76934,$76935,$76936,$76937,$76938,$76939,$76940,$76941,$76942,$76943,$76944),(nextval($76945),$76946,$76947,$76948,$76949,$76950,$76951,$76952,$76953,$76954,$76955,$76956,$76957,$76958),(nextval($76959),$76960,$76961,$76962,$76963,$76964,$76965,$76966,$76967,$76968,$76969,$76970,$76971,$76972),(nextval($76973),$76974,$76975,$76976,$76977,$76978,$76979,$76980,$76981,$76982,$76983,$76984,$76985,$76986),(nextval($76987),$76988,$76989,$76990,$76991,$76992,$76993,$76994,$76995,$76996,$76997,$76998,$76999,$77000),(nextval($77001),$77002,$77003,$77004,$77005,$77006,$77007,$77008,$77009,$77010,$77011,$77012,$77013,$77014),(nextval($77015),$77016,$77017,$77018,$77019,$77020,$77021,$77022,$77023,$77024,$77025,$77026,$77027,$77028),(nextval($77029),$77030,$77031,$77032,$77033,$77034,$77035,$77036,$77037,$77038,$77039,$77040,$77041,$77042),(nextval($77043),$77044,$77045,$77046,$77047,$77048,$77049,$77050,$77051,$77052,$77053,$77054,$77055,$77056),(nextval($77057),$77058,$77059,$77060,$77061,$77062,$77063,$77064,$77065,$77066,$77067,$77068,$77069,$77070),(nextval($77071),$77072,$77073,$77074,$77075,$77076,$77077,$77078,$77079,$77080,$77081,$77082,$77083,$77084),(nextval($77085),$77086,$77087,$77088,$77089,$77090,$77091,$77092,$77093,$77094,$77095,$77096,$77097,$77098),(nextval($77099),$77100,$77101,$77102,$77103,$77104,$77105,$77106,$77107,$77108,$77109,$77110,$77111,$77112),(nextval($77113),$77114,$77115,$77116,$77117,$77118,$77119,$77120,$77121,$77122,$77123,$77124,$77125,$77126),(nextval($77127),$77128,$77129,$77130,$77131,$77132,$77133,$77134,$77135,$77136,$77137,$77138,$77139,$77140),(nextval($77141),$77142,$77143,$77144,$77145,$77146,$77147,$77148,$77149,$77150,$77151,$77152,$77153,$77154),(nextval($77155),$77156,$77157,$77158,$77159,$77160,$77161,$77162,$77163,$77164,$77165,$77166,$77167,$77168),(nextval($77169),$77170,$77171,$77172,$77173,$77174,$77175,$77176,$77177,$77178,$77179,$77180,$77181,$77182),(nextval($77183),$77184,$77185,$77186,$77187,$77188,$77189,$77190,$77191,$77192,$77193,$77194,$77195,$77196),(nextval($77197),$77198,$77199,$77200,$77201,$77202,$77203,$77204,$77205,$77206,$77207,$77208,$77209,$77210),(nextval($77211),$77212,$77213,$77214,$77215,$77216,$77217,$77218,$77219,$77220,$77221,$77222,$77223,$77224),(nextval($77225),$77226,$77227,$77228,$77229,$77230,$77231,$77232,$77233,$77234,$77235,$77236,$77237,$77238),(nextval($77239),$77240,$77241,$77242,$77243,$77244,$77245,$77246,$77247,$77248,$77249,$77250,$77251,$77252),(nextval($77253),$77254,$77255,$77256,$77257,$77258,$77259,$77260,$77261,$77262,$77263,$77264,$77265,$77266),(nextval($77267),$77268,$77269,$77270,$77271,$77272,$77273,$77274,$77275,$77276,$77277,$77278,$77279,$77280),(nextval($77281),$77282,$77283,$77284,$77285,$77286,$77287,$77288,$77289,$77290,$77291,$77292,$77293,$77294),(nextval($77295),$77296,$77297,$77298,$77299,$77300,$77301,$77302,$77303,$77304,$77305,$77306,$77307,$77308),(nextval($77309),$77310,$77311,$77312,$77313,$77314,$77315,$77316,$77317,$77318,$77319,$77320,$77321,$77322),(nextval($77323),$77324,$77325,$77326,$77327,$77328,$77329,$77330,$77331,$77332,$77333,$77334,$77335,$77336),(nextval($77337),$77338,$77339,$77340,$77341,$77342,$77343,$77344,$77345,$77346,$77347,$77348,$77349,$77350),(nextval($77351),$77352,$77353,$77354,$77355,$77356,$77357,$77358,$77359,$77360,$77361,$77362,$77363,$77364),(nextval($77365),$77366,$77367,$77368,$77369,$77370,$77371,$77372,$77373,$77374,$77375,$77376,$77377,$77378),(nextval($77379),$77380,$77381,$77382,$77383,$77384,$77385,$77386,$77387,$77388,$77389,$77390,$77391,$77392),(nextval($77393),$77394,$77395,$77396,$77397,$77398,$77399,$77400,$77401,$77402,$77403,$77404,$77405,$77406),(nextval($77407),$77408,$77409,$77410,$77411,$77412,$77413,$77414,$77415,$77416,$77417,$77418,$77419,$77420),(nextval($77421),$77422,$77423,$77424,$77425,$77426,$77427,$77428,$77429,$77430,$77431,$77432,$77433,$77434),(nextval($77435),$77436,$77437,$77438,$77439,$77440,$77441,$77442,$77443,$77444,$77445,$77446,$77447,$77448),(nextval($77449),$77450,$77451,$77452,$77453,$77454,$77455,$77456,$77457,$77458,$77459,$77460,$77461,$77462),(nextval($77463),$77464,$77465,$77466,$77467,$77468,$77469,$77470,$77471,$77472,$77473,$77474,$77475,$77476),(nextval($77477),$77478,$77479,$77480,$77481,$77482,$77483,$77484,$77485,$77486,$77487,$77488,$77489,$77490),(nextval($77491),$77492,$77493,$77494,$77495,$77496,$77497,$77498,$77499,$77500,$77501,$77502,$77503,$77504),(nextval($77505),$77506,$77507,$77508,$77509,$77510,$77511,$77512,$77513,$77514,$77515,$77516,$77517,$77518),(nextval($77519),$77520,$77521,$77522,$77523,$77524,$77525,$77526,$77527,$77528,$77529,$77530,$77531,$77532),(nextval($77533),$77534,$77535,$77536,$77537,$77538,$77539,$77540,$77541,$77542,$77543,$77544,$77545,$77546),(nextval($77547),$77548,$77549,$77550,$77551,$77552,$77553,$77554,$77555,$77556,$77557,$77558,$77559,$77560),(nextval($77561),$77562,$77563,$77564,$77565,$77566,$77567,$77568,$77569,$77570,$77571,$77572,$77573,$77574),(nextval($77575),$77576,$77577,$77578,$77579,$77580,$77581,$77582,$77583,$77584,$77585,$77586,$77587,$77588),(nextval($77589),$77590,$77591,$77592,$77593,$77594,$77595,$77596,$77597,$77598,$77599,$77600,$77601,$77602),(nextval($77603),$77604,$77605,$77606,$77607,$77608,$77609,$77610,$77611,$77612,$77613,$77614,$77615,$77616),(nextval($77617),$77618,$77619,$77620,$77621,$77622,$77623,$77624,$77625,$77626,$77627,$77628,$77629,$77630),(nextval($77631),$77632,$77633,$77634,$77635,$77636,$77637,$77638,$77639,$77640,$77641,$77642,$77643,$77644),(nextval($77645),$77646,$77647,$77648,$77649,$77650,$77651,$77652,$77653,$77654,$77655,$77656,$77657,$77658),(nextval($77659),$77660,$77661,$77662,$77663,$77664,$77665,$77666,$77667,$77668,$77669,$77670,$77671,$77672),(nextval($77673),$77674,$77675,$77676,$77677,$77678,$77679,$77680,$77681,$77682,$77683,$77684,$77685,$77686),(nextval($77687),$77688,$77689,$77690,$77691,$77692,$77693,$77694,$77695,$77696,$77697,$77698,$77699,$77700),(nextval($77701),$77702,$77703,$77704,$77705,$77706,$77707,$77708,$77709,$77710,$77711,$77712,$77713,$77714),(nextval($77715),$77716,$77717,$77718,$77719,$77720,$77721,$77722,$77723,$77724,$77725,$77726,$77727,$77728),(nextval($77729),$77730,$77731,$77732,$77733,$77734,$77735,$77736,$77737,$77738,$77739,$77740,$77741,$77742),(nextval($77743),$77744,$77745,$77746,$77747,$77748,$77749,$77750,$77751,$77752,$77753,$77754,$77755,$77756),(nextval($77757),$77758,$77759,$77760,$77761,$77762,$77763,$77764,$77765,$77766,$77767,$77768,$77769,$77770),(nextval($77771),$77772,$77773,$77774,$77775,$77776,$77777,$77778,$77779,$77780,$77781,$77782,$77783,$77784),(nextval($77785),$77786,$77787,$77788,$77789,$77790,$77791,$77792,$77793,$77794,$77795,$77796,$77797,$77798),(nextval($77799),$77800,$77801,$77802,$77803,$77804,$77805,$77806,$77807,$77808,$77809,$77810,$77811,$77812),(nextval($77813),$77814,$77815,$77816,$77817,$77818,$77819,$77820,$77821,$77822,$77823,$77824,$77825,$77826),(nextval($77827),$77828,$77829,$77830,$77831,$77832,$77833,$77834,$77835,$77836,$77837,$77838,$77839,$77840),(nextval($77841),$77842,$77843,$77844,$77845,$77846,$77847,$77848,$77849,$77850,$77851,$77852,$77853,$77854),(nextval($77855),$77856,$77857,$77858,$77859,$77860,$77861,$77862,$77863,$77864,$77865,$77866,$77867,$77868),(nextval($77869),$77870,$77871,$77872,$77873,$77874,$77875,$77876,$77877,$77878,$77879,$77880,$77881,$77882),(nextval($77883),$77884,$77885,$77886,$77887,$77888,$77889,$77890,$77891,$77892,$77893,$77894,$77895,$77896),(nextval($77897),$77898,$77899,$77900,$77901,$77902,$77903,$77904,$77905,$77906,$77907,$77908,$77909,$77910),(nextval($77911),$77912,$77913,$77914,$77915,$77916,$77917,$77918,$77919,$77920,$77921,$77922,$77923,$77924),(nextval($77925),$77926,$77927,$77928,$77929,$77930,$77931,$77932,$77933,$77934,$77935,$77936,$77937,$77938),(nextval($77939),$77940,$77941,$77942,$77943,$77944,$77945,$77946,$77947,$77948,$77949,$77950,$77951,$77952),(nextval($77953),$77954,$77955,$77956,$77957,$77958,$77959,$77960,$77961,$77962,$77963,$77964,$77965,$77966),(nextval($77967),$77968,$77969,$77970,$77971,$77972,$77973,$77974,$77975,$77976,$77977,$77978,$77979,$77980),(nextval($77981),$77982,$77983,$77984,$77985,$77986,$77987,$77988,$77989,$77990,$77991,$77992,$77993,$77994),(nextval($77995),$77996,$77997,$77998,$77999,$78000,$78001,$78002,$78003,$78004,$78005,$78006,$78007,$78008),(nextval($78009),$78010,$78011,$78012,$78013,$78014,$78015,$78016,$78017,$78018,$78019,$78020,$78021,$78022),(nextval($78023),$78024,$78025,$78026,$78027,$78028,$78029,$78030,$78031,$78032,$78033,$78034,$78035,$78036),(nextval($78037),$78038,$78039,$78040,$78041,$78042,$78043,$78044,$78045,$78046,$78047,$78048,$78049,$78050),(nextval($78051),$78052,$78053,$78054,$78055,$78056,$78057,$78058,$78059,$78060,$78061,$78062,$78063,$78064),(nextval($78065),$78066,$78067,$78068,$78069,$78070,$78071,$78072,$78073,$78074,$78075,$78076,$78077,$78078),(nextval($78079),$78080,$78081,$78082,$78083,$78084,$78085,$78086,$78087,$78088,$78089,$78090,$78091,$78092),(nextval($78093),$78094,$78095,$78096,$78097,$78098,$78099,$78100,$78101,$78102,$78103,$78104,$78105,$78106),(nextval($78107),$78108,$78109,$78110,$78111,$78112,$78113,$78114,$78115,$78116,$78117,$78118,$78119,$78120),(nextval($78121),$78122,$78123,$78124,$78125,$78126,$78127,$78128,$78129,$78130,$78131,$78132,$78133,$78134),(nextval($78135),$78136,$78137,$78138,$78139,$78140,$78141,$78142,$78143,$78144,$78145,$78146,$78147,$78148),(nextval($78149),$78150,$78151,$78152,$78153,$78154,$78155,$78156,$78157,$78158,$78159,$78160,$78161,$78162),(nextval($78163),$78164,$78165,$78166,$78167,$78168,$78169,$78170,$78171,$78172,$78173,$78174,$78175,$78176),(nextval($78177),$78178,$78179,$78180,$78181,$78182,$78183,$78184,$78185,$78186,$78187,$78188,$78189,$78190),(nextval($78191),$78192,$78193,$78194,$78195,$78196,$78197,$78198,$78199,$78200,$78201,$78202,$78203,$78204),(nextval($78205),$78206,$78207,$78208,$78209,$78210,$78211,$78212,$78213,$78214,$78215,$78216,$78217,$78218),(nextval($78219),$78220,$78221,$78222,$78223,$78224,$78225,$78226,$78227,$78228,$78229,$78230,$78231,$78232),(nextval($78233),$78234,$78235,$78236,$78237,$78238,$78239,$78240,$78241,$78242,$78243,$78244,$78245,$78246),(nextval($78247),$78248,$78249,$78250,$78251,$78252,$78253,$78254,$78255,$78256,$78257,$78258,$78259,$78260),(nextval($78261),$78262,$78263,$78264,$78265,$78266,$78267,$78268,$78269,$78270,$78271,$78272,$78273,$78274),(nextval($78275),$78276,$78277,$78278,$78279,$78280,$78281,$78282,$78283,$78284,$78285,$78286,$78287,$78288),(nextval($78289),$78290,$78291,$78292,$78293,$78294,$78295,$78296,$78297,$78298,$78299,$78300,$78301,$78302),(nextval($78303),$78304,$78305,$78306,$78307,$78308,$78309,$78310,$78311,$78312,$78313,$78314,$78315,$78316),(nextval($78317),$78318,$78319,$78320,$78321,$78322,$78323,$78324,$78325,$78326,$78327,$78328,$78329,$78330),(nextval($78331),$78332,$78333,$78334,$78335,$78336,$78337,$78338,$78339,$78340,$78341,$78342,$78343,$78344),(nextval($78345),$78346,$78347,$78348,$78349,$78350,$78351,$78352,$78353,$78354,$78355,$78356,$78357,$78358),(nextval($78359),$78360,$78361,$78362,$78363,$78364,$78365,$78366,$78367,$78368,$78369,$78370,$78371,$78372),(nextval($78373),$78374,$78375,$78376,$78377,$78378,$78379,$78380,$78381,$78382,$78383,$78384,$78385,$78386),(nextval($78387),$78388,$78389,$78390,$78391,$78392,$78393,$78394,$78395,$78396,$78397,$78398,$78399,$78400),(nextval($78401),$78402,$78403,$78404,$78405,$78406,$78407,$78408,$78409,$78410,$78411,$78412,$78413,$78414),(nextval($78415),$78416,$78417,$78418,$78419,$78420,$78421,$78422,$78423,$78424,$78425,$78426,$78427,$78428),(nextval($78429),$78430,$78431,$78432,$78433,$78434,$78435,$78436,$78437,$78438,$78439,$78440,$78441,$78442),(nextval($78443),$78444,$78445,$78446,$78447,$78448,$78449,$78450,$78451,$78452,$78453,$78454,$78455,$78456),(nextval($78457),$78458,$78459,$78460,$78461,$78462,$78463,$78464,$78465,$78466,$78467,$78468,$78469,$78470),(nextval($78471),$78472,$78473,$78474,$78475,$78476,$78477,$78478,$78479,$78480,$78481,$78482,$78483,$78484),(nextval($78485),$78486,$78487,$78488,$78489,$78490,$78491,$78492,$78493,$78494,$78495,$78496,$78497,$78498),(nextval($78499),$78500,$78501,$78502,$78503,$78504,$78505,$78506,$78507,$78508,$78509,$78510,$78511,$78512),(nextval($78513),$78514,$78515,$78516,$78517,$78518,$78519,$78520,$78521,$78522,$78523,$78524,$78525,$78526),(nextval($78527),$78528,$78529,$78530,$78531,$78532,$78533,$78534,$78535,$78536,$78537,$78538,$78539,$78540),(nextval($78541),$78542,$78543,$78544,$78545,$78546,$78547,$78548,$78549,$78550,$78551,$78552,$78553,$78554),(nextval($78555),$78556,$78557,$78558,$78559,$78560,$78561,$78562,$78563,$78564,$78565,$78566,$78567,$78568),(nextval($78569),$78570,$78571,$78572,$78573,$78574,$78575,$78576,$78577,$78578,$78579,$78580,$78581,$78582),(nextval($78583),$78584,$78585,$78586,$78587,$78588,$78589,$78590,$78591,$78592,$78593,$78594,$78595,$78596),(nextval($78597),$78598,$78599,$78600,$78601,$78602,$78603,$78604,$78605,$78606,$78607,$78608,$78609,$78610),(nextval($78611),$78612,$78613,$78614,$78615,$78616,$78617,$78618,$78619,$78620,$78621,$78622,$78623,$78624),(nextval($78625),$78626,$78627,$78628,$78629,$78630,$78631,$78632,$78633,$78634,$78635,$78636,$78637,$78638),(nextval($78639),$78640,$78641,$78642,$78643,$78644,$78645,$78646,$78647,$78648,$78649,$78650,$78651,$78652),(nextval($78653),$78654,$78655,$78656,$78657,$78658,$78659,$78660,$78661,$78662,$78663,$78664,$78665,$78666),(nextval($78667),$78668,$78669,$78670,$78671,$78672,$78673,$78674,$78675,$78676,$78677,$78678,$78679,$78680),(nextval($78681),$78682,$78683,$78684,$78685,$78686,$78687,$78688,$78689,$78690,$78691,$78692,$78693,$78694),(nextval($78695),$78696,$78697,$78698,$78699,$78700,$78701,$78702,$78703,$78704,$78705,$78706,$78707,$78708),(nextval($78709),$78710,$78711,$78712,$78713,$78714,$78715,$78716,$78717,$78718,$78719,$78720,$78721,$78722),(nextval($78723),$78724,$78725,$78726,$78727,$78728,$78729,$78730,$78731,$78732,$78733,$78734,$78735,$78736),(nextval($78737),$78738,$78739,$78740,$78741,$78742,$78743,$78744,$78745,$78746,$78747,$78748,$78749,$78750),(nextval($78751),$78752,$78753,$78754,$78755,$78756,$78757,$78758,$78759,$78760,$78761,$78762,$78763,$78764),(nextval($78765),$78766,$78767,$78768,$78769,$78770,$78771,$78772,$78773,$78774,$78775,$78776,$78777,$78778),(nextval($78779),$78780,$78781,$78782,$78783,$78784,$78785,$78786,$78787,$78788,$78789,$78790,$78791,$78792),(nextval($78793),$78794,$78795,$78796,$78797,$78798,$78799,$78800,$78801,$78802,$78803,$78804,$78805,$78806),(nextval($78807),$78808,$78809,$78810,$78811,$78812,$78813,$78814,$78815,$78816,$78817,$78818,$78819,$78820),(nextval($78821),$78822,$78823,$78824,$78825,$78826,$78827,$78828,$78829,$78830,$78831,$78832,$78833,$78834),(nextval($78835),$78836,$78837,$78838,$78839,$78840,$78841,$78842,$78843,$78844,$78845,$78846,$78847,$78848),(nextval($78849),$78850,$78851,$78852,$78853,$78854,$78855,$78856,$78857,$78858,$78859,$78860,$78861,$78862),(nextval($78863),$78864,$78865,$78866,$78867,$78868,$78869,$78870,$78871,$78872,$78873,$78874,$78875,$78876),(nextval($78877),$78878,$78879,$78880,$78881,$78882,$78883,$78884,$78885,$78886,$78887,$78888,$78889,$78890),(nextval($78891),$78892,$78893,$78894,$78895,$78896,$78897,$78898,$78899,$78900,$78901,$78902,$78903,$78904),(nextval($78905),$78906,$78907,$78908,$78909,$78910,$78911,$78912,$78913,$78914,$78915,$78916,$78917,$78918),(nextval($78919),$78920,$78921,$78922,$78923,$78924,$78925,$78926,$78927,$78928,$78929,$78930,$78931,$78932),(nextval($78933),$78934,$78935,$78936,$78937,$78938,$78939,$78940,$78941,$78942,$78943,$78944,$78945,$78946),(nextval($78947),$78948,$78949,$78950,$78951,$78952,$78953,$78954,$78955,$78956,$78957,$78958,$78959,$78960),(nextval($78961),$78962,$78963,$78964,$78965,$78966,$78967,$78968,$78969,$78970,$78971,$78972,$78973,$78974),(nextval($78975),$78976,$78977,$78978,$78979,$78980,$78981,$78982,$78983,$78984,$78985,$78986,$78987,$78988),(nextval($78989),$78990,$78991,$78992,$78993,$78994,$78995,$78996,$78997,$78998,$78999,$79000,$79001,$79002),(nextval($79003),$79004,$79005,$79006,$79007,$79008,$79009,$79010,$79011,$79012,$79013,$79014,$79015,$79016),(nextval($79017),$79018,$79019,$79020,$79021,$79022,$79023,$79024,$79025,$79026,$79027,$79028,$79029,$79030),(nextval($79031),$79032,$79033,$79034,$79035,$79036,$79037,$79038,$79039,$79040,$79041,$79042,$79043,$79044),(nextval($79045),$79046,$79047,$79048,$79049,$79050,$79051,$79052,$79053,$79054,$79055,$79056,$79057,$79058),(nextval($79059),$79060,$79061,$79062,$79063,$79064,$79065,$79066,$79067,$79068,$79069,$79070,$79071,$79072),(nextval($79073),$79074,$79075,$79076,$79077,$79078,$79079,$79080,$79081,$79082,$79083,$79084,$79085,$79086),(nextval($79087),$79088,$79089,$79090,$79091,$79092,$79093,$79094,$79095,$79096,$79097,$79098,$79099,$79100),(nextval($79101),$79102,$79103,$79104,$79105,$79106,$79107,$79108,$79109,$79110,$79111,$79112,$79113,$79114),(nextval($79115),$79116,$79117,$79118,$79119,$79120,$79121,$79122,$79123,$79124,$79125,$79126,$79127,$79128),(nextval($79129),$79130,$79131,$79132,$79133,$79134,$79135,$79136,$79137,$79138,$79139,$79140,$79141,$79142),(nextval($79143),$79144,$79145,$79146,$79147,$79148,$79149,$79150,$79151,$79152,$79153,$79154,$79155,$79156),(nextval($79157),$79158,$79159,$79160,$79161,$79162,$79163,$79164,$79165,$79166,$79167,$79168,$79169,$79170),(nextval($79171),$79172,$79173,$79174,$79175,$79176,$79177,$79178,$79179,$79180,$79181,$79182,$79183,$79184),(nextval($79185),$79186,$79187,$79188,$79189,$79190,$79191,$79192,$79193,$79194,$79195,$79196,$79197,$79198),(nextval($79199),$79200,$79201,$79202,$79203,$79204,$79205,$79206,$79207,$79208,$79209,$79210,$79211,$79212),(nextval($79213),$79214,$79215,$79216,$79217,$79218,$79219,$79220,$79221,$79222,$79223,$79224,$79225,$79226),(nextval($79227),$79228,$79229,$79230,$79231,$79232,$79233,$79234,$79235,$79236,$79237,$79238,$79239,$79240),(nextval($79241),$79242,$79243,$79244,$79245,$79246,$79247,$79248,$79249,$79250,$79251,$79252,$79253,$79254),(nextval($79255),$79256,$79257,$79258,$79259,$79260,$79261,$79262,$79263,$79264,$79265,$79266,$79267,$79268),(nextval($79269),$79270,$79271,$79272,$79273,$79274,$79275,$79276,$79277,$79278,$79279,$79280,$79281,$79282),(nextval($79283),$79284,$79285,$79286,$79287,$79288,$79289,$79290,$79291,$79292,$79293,$79294,$79295,$79296),(nextval($79297),$79298,$79299,$79300,$79301,$79302,$79303,$79304,$79305,$79306,$79307,$79308,$79309,$79310),(nextval($79311),$79312,$79313,$79314,$79315,$79316,$79317,$79318,$79319,$79320,$79321,$79322,$79323,$79324),(nextval($79325),$79326,$79327,$79328,$79329,$79330,$79331,$79332,$79333,$79334,$79335,$79336,$79337,$79338),(nextval($79339),$79340,$79341,$79342,$79343,$79344,$79345,$79346,$79347,$79348,$79349,$79350,$79351,$79352),(nextval($79353),$79354,$79355,$79356,$79357,$79358,$79359,$79360,$79361,$79362,$79363,$79364,$79365,$79366),(nextval($79367),$79368,$79369,$79370,$79371,$79372,$79373,$79374,$79375,$79376,$79377,$79378,$79379,$79380),(nextval($79381),$79382,$79383,$79384,$79385,$79386,$79387,$79388,$79389,$79390,$79391,$79392,$79393,$79394),(nextval($79395),$79396,$79397,$79398,$79399,$79400,$79401,$79402,$79403,$79404,$79405,$79406,$79407,$79408),(nextval($79409),$79410,$79411,$79412,$79413,$79414,$79415,$79416,$79417,$79418,$79419,$79420,$79421,$79422),(nextval($79423),$79424,$79425,$79426,$79427,$79428,$79429,$79430,$79431,$79432,$79433,$79434,$79435,$79436),(nextval($79437),$79438,$79439,$79440,$79441,$79442,$79443,$79444,$79445,$79446,$79447,$79448,$79449,$79450),(nextval($79451),$79452,$79453,$79454,$79455,$79456,$79457,$79458,$79459,$79460,$79461,$79462,$79463,$79464),(nextval($79465),$79466,$79467,$79468,$79469,$79470,$79471,$79472,$79473,$79474,$79475,$79476,$79477,$79478),(nextval($79479),$79480,$79481,$79482,$79483,$79484,$79485,$79486,$79487,$79488,$79489,$79490,$79491,$79492),(nextval($79493),$79494,$79495,$79496,$79497,$79498,$79499,$79500,$79501,$79502,$79503,$79504,$79505,$79506),(nextval($79507),$79508,$79509,$79510,$79511,$79512,$79513,$79514,$79515,$79516,$79517,$79518,$79519,$79520),(nextval($79521),$79522,$79523,$79524,$79525,$79526,$79527,$79528,$79529,$79530,$79531,$79532,$79533,$79534),(nextval($79535),$79536,$79537,$79538,$79539,$79540,$79541,$79542,$79543,$79544,$79545,$79546,$79547,$79548),(nextval($79549),$79550,$79551,$79552,$79553,$79554,$79555,$79556,$79557,$79558,$79559,$79560,$79561,$79562),(nextval($79563),$79564,$79565,$79566,$79567,$79568,$79569,$79570,$79571,$79572,$79573,$79574,$79575,$79576),(nextval($79577),$79578,$79579,$79580,$79581,$79582,$79583,$79584,$79585,$79586,$79587,$79588,$79589,$79590),(nextval($79591),$79592,$79593,$79594,$79595,$79596,$79597,$79598,$79599,$79600,$79601,$79602,$79603,$79604),(nextval($79605),$79606,$79607,$79608,$79609,$79610,$79611,$79612,$79613,$79614,$79615,$79616,$79617,$79618),(nextval($79619),$79620,$79621,$79622,$79623,$79624,$79625,$79626,$79627,$79628,$79629,$79630,$79631,$79632),(nextval($79633),$79634,$79635,$79636,$79637,$79638,$79639,$79640,$79641,$79642,$79643,$79644,$79645,$79646),(nextval($79647),$79648,$79649,$79650,$79651,$79652,$79653,$79654,$79655,$79656,$79657,$79658,$79659,$79660),(nextval($79661),$79662,$79663,$79664,$79665,$79666,$79667,$79668,$79669,$79670,$79671,$79672,$79673,$79674),(nextval($79675),$79676,$79677,$79678,$79679,$79680,$79681,$79682,$79683,$79684,$79685,$79686,$79687,$79688),(nextval($79689),$79690,$79691,$79692,$79693,$79694,$79695,$79696,$79697,$79698,$79699,$79700,$79701,$79702),(nextval($79703),$79704,$79705,$79706,$79707,$79708,$79709,$79710,$79711,$79712,$79713,$79714,$79715,$79716),(nextval($79717),$79718,$79719,$79720,$79721,$79722,$79723,$79724,$79725,$79726,$79727,$79728,$79729,$79730),(nextval($79731),$79732,$79733,$79734,$79735,$79736,$79737,$79738,$79739,$79740,$79741,$79742,$79743,$79744),(nextval($79745),$79746,$79747,$79748,$79749,$79750,$79751,$79752,$79753,$79754,$79755,$79756,$79757,$79758),(nextval($79759),$79760,$79761,$79762,$79763,$79764,$79765,$79766,$79767,$79768,$79769,$79770,$79771,$79772),(nextval($79773),$79774,$79775,$79776,$79777,$79778,$79779,$79780,$79781,$79782,$79783,$79784,$79785,$79786),(nextval($79787),$79788,$79789,$79790,$79791,$79792,$79793,$79794,$79795,$79796,$79797,$79798,$79799,$79800),(nextval($79801),$79802,$79803,$79804,$79805,$79806,$79807,$79808,$79809,$79810,$79811,$79812,$79813,$79814),(nextval($79815),$79816,$79817,$79818,$79819,$79820,$79821,$79822,$79823,$79824,$79825,$79826,$79827,$79828),(nextval($79829),$79830,$79831,$79832,$79833,$79834,$79835,$79836,$79837,$79838,$79839,$79840,$79841,$79842),(nextval($79843),$79844,$79845,$79846,$79847,$79848,$79849,$79850,$79851,$79852,$79853,$79854,$79855,$79856),(nextval($79857),$79858,$79859,$79860,$79861,$79862,$79863,$79864,$79865,$79866,$79867,$79868,$79869,$79870),(nextval($79871),$79872,$79873,$79874,$79875,$79876,$79877,$79878,$79879,$79880,$79881,$79882,$79883,$79884),(nextval($79885),$79886,$79887,$79888,$79889,$79890,$79891,$79892,$79893,$79894,$79895,$79896,$79897,$79898),(nextval($79899),$79900,$79901,$79902,$79903,$79904,$79905,$79906,$79907,$79908,$79909,$79910,$79911,$79912),(nextval($79913),$79914,$79915,$79916,$79917,$79918,$79919,$79920,$79921,$79922,$79923,$79924,$79925,$79926),(nextval($79927),$79928,$79929,$79930,$79931,$79932,$79933,$79934,$79935,$79936,$79937,$79938,$79939,$79940),(nextval($79941),$79942,$79943,$79944,$79945,$79946,$79947,$79948,$79949,$79950,$79951,$79952,$79953,$79954),(nextval($79955),$79956,$79957,$79958,$79959,$79960,$79961,$79962,$79963,$79964,$79965,$79966,$79967,$79968),(nextval($79969),$79970,$79971,$79972,$79973,$79974,$79975,$79976,$79977,$79978,$79979,$79980,$79981,$79982),(nextval($79983),$79984,$79985,$79986,$79987,$79988,$79989,$79990,$79991,$79992,$79993,$79994,$79995,$79996),(nextval($79997),$79998,$79999,$80000,$80001,$80002,$80003,$80004,$80005,$80006,$80007,$80008,$80009,$80010),(nextval($80011),$80012,$80013,$80014,$80015,$80016,$80017,$80018,$80019,$80020,$80021,$80022,$80023,$80024),(nextval($80025),$80026,$80027,$80028,$80029,$80030,$80031,$80032,$80033,$80034,$80035,$80036,$80037,$80038),(nextval($80039),$80040,$80041,$80042,$80043,$80044,$80045,$80046,$80047,$80048,$80049,$80050,$80051,$80052),(nextval($80053),$80054,$80055,$80056,$80057,$80058,$80059,$80060,$80061,$80062,$80063,$80064,$80065,$80066),(nextval($80067),$80068,$80069,$80070,$80071,$80072,$80073,$80074,$80075,$80076,$80077,$80078,$80079,$80080),(nextval($80081),$80082,$80083,$80084,$80085,$80086,$80087,$80088,$80089,$80090,$80091,$80092,$80093,$80094),(nextval($80095),$80096,$80097,$80098,$80099,$80100,$80101,$80102,$80103,$80104,$80105,$80106,$80107,$80108),(nextval($80109),$80110,$80111,$80112,$80113,$80114,$80115,$80116,$80117,$80118,$80119,$80120,$80121,$80122),(nextval($80123),$80124,$80125,$80126,$80127,$80128,$80129,$80130,$80131,$80132,$80133,$80134,$80135,$80136),(nextval($80137),$80138,$80139,$80140,$80141,$80142,$80143,$80144,$80145,$80146,$80147,$80148,$80149,$80150),(nextval($80151),$80152,$80153,$80154,$80155,$80156,$80157,$80158,$80159,$80160,$80161,$80162,$80163,$80164),(nextval($80165),$80166,$80167,$80168,$80169,$80170,$80171,$80172,$80173,$80174,$80175,$80176,$80177,$80178),(nextval($80179),$80180,$80181,$80182,$80183,$80184,$80185,$80186,$80187,$80188,$80189,$80190,$80191,$80192),(nextval($80193),$80194,$80195,$80196,$80197,$80198,$80199,$80200,$80201,$80202,$80203,$80204,$80205,$80206),(nextval($80207),$80208,$80209,$80210,$80211,$80212,$80213,$80214,$80215,$80216,$80217,$80218,$80219,$80220),(nextval($80221),$80222,$80223,$80224,$80225,$80226,$80227,$80228,$80229,$80230,$80231,$80232,$80233,$80234),(nextval($80235),$80236,$80237,$80238,$80239,$80240,$80241,$80242,$80243,$80244,$80245,$80246,$80247,$80248),(nextval($80249),$80250,$80251,$80252,$80253,$80254,$80255,$80256,$80257,$80258,$80259,$80260,$80261,$80262),(nextval($80263),$80264,$80265,$80266,$80267,$80268,$80269,$80270,$80271,$80272,$80273,$80274,$80275,$80276),(nextval($80277),$80278,$80279,$80280,$80281,$80282,$80283,$80284,$80285,$80286,$80287,$80288,$80289,$80290),(nextval($80291),$80292,$80293,$80294,$80295,$80296,$80297,$80298,$80299,$80300,$80301,$80302,$80303,$80304),(nextval($80305),$80306,$80307,$80308,$80309,$80310,$80311,$80312,$80313,$80314,$80315,$80316,$80317,$80318),(nextval($80319),$80320,$80321,$80322,$80323,$80324,$80325,$80326,$80327,$80328,$80329,$80330,$80331,$80332),(nextval($80333),$80334,$80335,$80336,$80337,$80338,$80339,$80340,$80341,$80342,$80343,$80344,$80345,$80346),(nextval($80347),$80348,$80349,$80350,$80351,$80352,$80353,$80354,$80355,$80356,$80357,$80358,$80359,$80360),(nextval($80361),$80362,$80363,$80364,$80365,$80366,$80367,$80368,$80369,$80370,$80371,$80372,$80373,$80374),(nextval($80375),$80376,$80377,$80378,$80379,$80380,$80381,$80382,$80383,$80384,$80385,$80386,$80387,$80388),(nextval($80389),$80390,$80391,$80392,$80393,$80394,$80395,$80396,$80397,$80398,$80399,$80400,$80401,$80402),(nextval($80403),$80404,$80405,$80406,$80407,$80408,$80409,$80410,$80411,$80412,$80413,$80414,$80415,$80416),(nextval($80417),$80418,$80419,$80420,$80421,$80422,$80423,$80424,$80425,$80426,$80427,$80428,$80429,$80430),(nextval($80431),$80432,$80433,$80434,$80435,$80436,$80437,$80438,$80439,$80440,$80441,$80442,$80443,$80444),(nextval($80445),$80446,$80447,$80448,$80449,$80450,$80451,$80452,$80453,$80454,$80455,$80456,$80457,$80458),(nextval($80459),$80460,$80461,$80462,$80463,$80464,$80465,$80466,$80467,$80468,$80469,$80470,$80471,$80472),(nextval($80473),$80474,$80475,$80476,$80477,$80478,$80479,$80480,$80481,$80482,$80483,$80484,$80485,$80486),(nextval($80487),$80488,$80489,$80490,$80491,$80492,$80493,$80494,$80495,$80496,$80497,$80498,$80499,$80500),(nextval($80501),$80502,$80503,$80504,$80505,$80506,$80507,$80508,$80509,$80510,$80511,$80512,$80513,$80514),(nextval($80515),$80516,$80517,$80518,$80519,$80520,$80521,$80522,$80523,$80524,$80525,$80526,$80527,$80528),(nextval($80529),$80530,$80531,$80532,$80533,$80534,$80535,$80536,$80537,$80538,$80539,$80540,$80541,$80542),(nextval($80543),$80544,$80545,$80546,$80547,$80548,$80549,$80550,$80551,$80552,$80553,$80554,$80555,$80556),(nextval($80557),$80558,$80559,$80560,$80561,$80562,$80563,$80564,$80565,$80566,$80567,$80568,$80569,$80570),(nextval($80571),$80572,$80573,$80574,$80575,$80576,$80577,$80578,$80579,$80580,$80581,$80582,$80583,$80584),(nextval($80585),$80586,$80587,$80588,$80589,$80590,$80591,$80592,$80593,$80594,$80595,$80596,$80597,$80598),(nextval($80599),$80600,$80601,$80602,$80603,$80604,$80605,$80606,$80607,$80608,$80609,$80610,$80611,$80612),(nextval($80613),$80614,$80615,$80616,$80617,$80618,$80619,$80620,$80621,$80622,$80623,$80624,$80625,$80626),(nextval($80627),$80628,$80629,$80630,$80631,$80632,$80633,$80634,$80635,$80636,$80637,$80638,$80639,$80640),(nextval($80641),$80642,$80643,$80644,$80645,$80646,$80647,$80648,$80649,$80650,$80651,$80652,$80653,$80654),(nextval($80655),$80656,$80657,$80658,$80659,$80660,$80661,$80662,$80663,$80664,$80665,$80666,$80667,$80668),(nextval($80669),$80670,$80671,$80672,$80673,$80674,$80675,$80676,$80677,$80678,$80679,$80680,$80681,$80682),(nextval($80683),$80684,$80685,$80686,$80687,$80688,$80689,$80690,$80691,$80692,$80693,$80694,$80695,$80696),(nextval($80697),$80698,$80699,$80700,$80701,$80702,$80703,$80704,$80705,$80706,$80707,$80708,$80709,$80710),(nextval($80711),$80712,$80713,$80714,$80715,$80716,$80717,$80718,$80719,$80720,$80721,$80722,$80723,$80724),(nextval($80725),$80726,$80727,$80728,$80729,$80730,$80731,$80732,$80733,$80734,$80735,$80736,$80737,$80738),(nextval($80739),$80740,$80741,$80742,$80743,$80744,$80745,$80746,$80747,$80748,$80749,$80750,$80751,$80752),(nextval($80753),$80754,$80755,$80756,$80757,$80758,$80759,$80760,$80761,$80762,$80763,$80764,$80765,$80766),(nextval($80767),$80768,$80769,$80770,$80771,$80772,$80773,$80774,$80775,$80776,$80777,$80778,$80779,$80780),(nextval($80781),$80782,$80783,$80784,$80785,$80786,$80787,$80788,$80789,$80790,$80791,$80792,$80793,$80794),(nextval($80795),$80796,$80797,$80798,$80799,$80800,$80801,$80802,$80803,$80804,$80805,$80806,$80807,$80808),(nextval($80809),$80810,$80811,$80812,$80813,$80814,$80815,$80816,$80817,$80818,$80819,$80820,$80821,$80822),(nextval($80823),$80824,$80825,$80826,$80827,$80828,$80829,$80830,$80831,$80832,$80833,$80834,$80835,$80836),(nextval($80837),$80838,$80839,$80840,$80841,$80842,$80843,$80844,$80845,$80846,$80847,$80848,$80849,$80850),(nextval($80851),$80852,$80853,$80854,$80855,$80856,$80857,$80858,$80859,$80860,$80861,$80862,$80863,$80864),(nextval($80865),$80866,$80867,$80868,$80869,$80870,$80871,$80872,$80873,$80874,$80875,$80876,$80877,$80878),(nextval($80879),$80880,$80881,$80882,$80883,$80884,$80885,$80886,$80887,$80888,$80889,$80890,$80891,$80892),(nextval($80893),$80894,$80895,$80896,$80897,$80898,$80899,$80900,$80901,$80902,$80903,$80904,$80905,$80906),(nextval($80907),$80908,$80909,$80910,$80911,$80912,$80913,$80914,$80915,$80916,$80917,$80918,$80919,$80920),(nextval($80921),$80922,$80923,$80924,$80925,$80926,$80927,$80928,$80929,$80930,$80931,$80932,$80933,$80934),(nextval($80935),$80936,$80937,$80938,$80939,$80940,$80941,$80942,$80943,$80944,$80945,$80946,$80947,$80948),(nextval($80949),$80950,$80951,$80952,$80953,$80954,$80955,$80956,$80957,$80958,$80959,$80960,$80961,$80962),(nextval($80963),$80964,$80965,$80966,$80967,$80968,$80969,$80970,$80971,$80972,$80973,$80974,$80975,$80976),(nextval($80977),$80978,$80979,$80980,$80981,$80982,$80983,$80984,$80985,$80986,$80987,$80988,$80989,$80990),(nextval($80991),$80992,$80993,$80994,$80995,$80996,$80997,$80998,$80999,$81000,$81001,$81002,$81003,$81004),(nextval($81005),$81006,$81007,$81008,$81009,$81010,$81011,$81012,$81013,$81014,$81015,$81016,$81017,$81018),(nextval($81019),$81020,$81021,$81022,$81023,$81024,$81025,$81026,$81027,$81028,$81029,$81030,$81031,$81032),(nextval($81033),$81034,$81035,$81036,$81037,$81038,$81039,$81040,$81041,$81042,$81043,$81044,$81045,$81046),(nextval($81047),$81048,$81049,$81050,$81051,$81052,$81053,$81054,$81055,$81056,$81057,$81058,$81059,$81060),(nextval($81061),$81062,$81063,$81064,$81065,$81066,$81067,$81068,$81069,$81070,$81071,$81072,$81073,$81074),(nextval($81075),$81076,$81077,$81078,$81079,$81080,$81081,$81082,$81083,$81084,$81085,$81086,$81087,$81088),(nextval($81089),$81090,$81091,$81092,$81093,$81094,$81095,$81096,$81097,$81098,$81099,$81100,$81101,$81102),(nextval($81103),$81104,$81105,$81106,$81107,$81108,$81109,$81110,$81111,$81112,$81113,$81114,$81115,$81116),(nextval($81117),$81118,$81119,$81120,$81121,$81122,$81123,$81124,$81125,$81126,$81127,$81128,$81129,$81130),(nextval($81131),$81132,$81133,$81134,$81135,$81136,$81137,$81138,$81139,$81140,$81141,$81142,$81143,$81144),(nextval($81145),$81146,$81147,$81148,$81149,$81150,$81151,$81152,$81153,$81154,$81155,$81156,$81157,$81158),(nextval($81159),$81160,$81161,$81162,$81163,$81164,$81165,$81166,$81167,$81168,$81169,$81170,$81171,$81172),(nextval($81173),$81174,$81175,$81176,$81177,$81178,$81179,$81180,$81181,$81182,$81183,$81184,$81185,$81186),(nextval($81187),$81188,$81189,$81190,$81191,$81192,$81193,$81194,$81195,$81196,$81197,$81198,$81199,$81200),(nextval($81201),$81202,$81203,$81204,$81205,$81206,$81207,$81208,$81209,$81210,$81211,$81212,$81213,$81214),(nextval($81215),$81216,$81217,$81218,$81219,$81220,$81221,$81222,$81223,$81224,$81225,$81226,$81227,$81228),(nextval($81229),$81230,$81231,$81232,$81233,$81234,$81235,$81236,$81237,$81238,$81239,$81240,$81241,$81242),(nextval($81243),$81244,$81245,$81246,$81247,$81248,$81249,$81250,$81251,$81252,$81253,$81254,$81255,$81256),(nextval($81257),$81258,$81259,$81260,$81261,$81262,$81263,$81264,$81265,$81266,$81267,$81268,$81269,$81270),(nextval($81271),$81272,$81273,$81274,$81275,$81276,$81277,$81278,$81279,$81280,$81281,$81282,$81283,$81284),(nextval($81285),$81286,$81287,$81288,$81289,$81290,$81291,$81292,$81293,$81294,$81295,$81296,$81297,$81298),(nextval($81299),$81300,$81301,$81302,$81303,$81304,$81305,$81306,$81307,$81308,$81309,$81310,$81311,$81312),(nextval($81313),$81314,$81315,$81316,$81317,$81318,$81319,$81320,$81321,$81322,$81323,$81324,$81325,$81326),(nextval($81327),$81328,$81329,$81330,$81331,$81332,$81333,$81334,$81335,$81336,$81337,$81338,$81339,$81340),(nextval($81341),$81342,$81343,$81344,$81345,$81346,$81347,$81348,$81349,$81350,$81351,$81352,$81353,$81354),(nextval($81355),$81356,$81357,$81358,$81359,$81360,$81361,$81362,$81363,$81364,$81365,$81366,$81367,$81368),(nextval($81369),$81370,$81371,$81372,$81373,$81374,$81375,$81376,$81377,$81378,$81379,$81380,$81381,$81382),(nextval($81383),$81384,$81385,$81386,$81387,$81388,$81389,$81390,$81391,$81392,$81393,$81394,$81395,$81396),(nextval($81397),$81398,$81399,$81400,$81401,$81402,$81403,$81404,$81405,$81406,$81407,$81408,$81409,$81410),(nextval($81411),$81412,$81413,$81414,$81415,$81416,$81417,$81418,$81419,$81420,$81421,$81422,$81423,$81424),(nextval($81425),$81426,$81427,$81428,$81429,$81430,$81431,$81432,$81433,$81434,$81435,$81436,$81437,$81438),(nextval($81439),$81440,$81441,$81442,$81443,$81444,$81445,$81446,$81447,$81448,$81449,$81450,$81451,$81452),(nextval($81453),$81454,$81455,$81456,$81457,$81458,$81459,$81460,$81461,$81462,$81463,$81464,$81465,$81466),(nextval($81467),$81468,$81469,$81470,$81471,$81472,$81473,$81474,$81475,$81476,$81477,$81478,$81479,$81480),(nextval($81481),$81482,$81483,$81484,$81485,$81486,$81487,$81488,$81489,$81490,$81491,$81492,$81493,$81494),(nextval($81495),$81496,$81497,$81498,$81499,$81500,$81501,$81502,$81503,$81504,$81505,$81506,$81507,$81508),(nextval($81509),$81510,$81511,$81512,$81513,$81514,$81515,$81516,$81517,$81518,$81519,$81520,$81521,$81522),(nextval($81523),$81524,$81525,$81526,$81527,$81528,$81529,$81530,$81531,$81532,$81533,$81534,$81535,$81536),(nextval($81537),$81538,$81539,$81540,$81541,$81542,$81543,$81544,$81545,$81546,$81547,$81548,$81549,$81550),(nextval($81551),$81552,$81553,$81554,$81555,$81556,$81557,$81558,$81559,$81560,$81561,$81562,$81563,$81564),(nextval($81565),$81566,$81567,$81568,$81569,$81570,$81571,$81572,$81573,$81574,$81575,$81576,$81577,$81578),(nextval($81579),$81580,$81581,$81582,$81583,$81584,$81585,$81586,$81587,$81588,$81589,$81590,$81591,$81592),(nextval($81593),$81594,$81595,$81596,$81597,$81598,$81599,$81600,$81601,$81602,$81603,$81604,$81605,$81606),(nextval($81607),$81608,$81609,$81610,$81611,$81612,$81613,$81614,$81615,$81616,$81617,$81618,$81619,$81620),(nextval($81621),$81622,$81623,$81624,$81625,$81626,$81627,$81628,$81629,$81630,$81631,$81632,$81633,$81634),(nextval($81635),$81636,$81637,$81638,$81639,$81640,$81641,$81642,$81643,$81644,$81645,$81646,$81647,$81648),(nextval($81649),$81650,$81651,$81652,$81653,$81654,$81655,$81656,$81657,$81658,$81659,$81660,$81661,$81662),(nextval($81663),$81664,$81665,$81666,$81667,$81668,$81669,$81670,$81671,$81672,$81673,$81674,$81675,$81676),(nextval($81677),$81678,$81679,$81680,$81681,$81682,$81683,$81684,$81685,$81686,$81687,$81688,$81689,$81690),(nextval($81691),$81692,$81693,$81694,$81695,$81696,$81697,$81698,$81699,$81700,$81701,$81702,$81703,$81704),(nextval($81705),$81706,$81707,$81708,$81709,$81710,$81711,$81712,$81713,$81714,$81715,$81716,$81717,$81718),(nextval($81719),$81720,$81721,$81722,$81723,$81724,$81725,$81726,$81727,$81728,$81729,$81730,$81731,$81732),(nextval($81733),$81734,$81735,$81736,$81737,$81738,$81739,$81740,$81741,$81742,$81743,$81744,$81745,$81746),(nextval($81747),$81748,$81749,$81750,$81751,$81752,$81753,$81754,$81755,$81756,$81757,$81758,$81759,$81760),(nextval($81761),$81762,$81763,$81764,$81765,$81766,$81767,$81768,$81769,$81770,$81771,$81772,$81773,$81774),(nextval($81775),$81776,$81777,$81778,$81779,$81780,$81781,$81782,$81783,$81784,$81785,$81786,$81787,$81788),(nextval($81789),$81790,$81791,$81792,$81793,$81794,$81795,$81796,$81797,$81798,$81799,$81800,$81801,$81802),(nextval($81803),$81804,$81805,$81806,$81807,$81808,$81809,$81810,$81811,$81812,$81813,$81814,$81815,$81816),(nextval($81817),$81818,$81819,$81820,$81821,$81822,$81823,$81824,$81825,$81826,$81827,$81828,$81829,$81830),(nextval($81831),$81832,$81833,$81834,$81835,$81836,$81837,$81838,$81839,$81840,$81841,$81842,$81843,$81844),(nextval($81845),$81846,$81847,$81848,$81849,$81850,$81851,$81852,$81853,$81854,$81855,$81856,$81857,$81858),(nextval($81859),$81860,$81861,$81862,$81863,$81864,$81865,$81866,$81867,$81868,$81869,$81870,$81871,$81872),(nextval($81873),$81874,$81875,$81876,$81877,$81878,$81879,$81880,$81881,$81882,$81883,$81884,$81885,$81886),(nextval($81887),$81888,$81889,$81890,$81891,$81892,$81893,$81894,$81895,$81896,$81897,$81898,$81899,$81900),(nextval($81901),$81902,$81903,$81904,$81905,$81906,$81907,$81908,$81909,$81910,$81911,$81912,$81913,$81914),(nextval($81915),$81916,$81917,$81918,$81919,$81920,$81921,$81922,$81923,$81924,$81925,$81926,$81927,$81928),(nextval($81929),$81930,$81931,$81932,$81933,$81934,$81935,$81936,$81937,$81938,$81939,$81940,$81941,$81942),(nextval($81943),$81944,$81945,$81946,$81947,$81948,$81949,$81950,$81951,$81952,$81953,$81954,$81955,$81956),(nextval($81957),$81958,$81959,$81960,$81961,$81962,$81963,$81964,$81965,$81966,$81967,$81968,$81969,$81970),(nextval($81971),$81972,$81973,$81974,$81975,$81976,$81977,$81978,$81979,$81980,$81981,$81982,$81983,$81984),(nextval($81985),$81986,$81987,$81988,$81989,$81990,$81991,$81992,$81993,$81994,$81995,$81996,$81997,$81998),(nextval($81999),$82000,$82001,$82002,$82003,$82004,$82005,$82006,$82007,$82008,$82009,$82010,$82011,$82012),(nextval($82013),$82014,$82015,$82016,$82017,$82018,$82019,$82020,$82021,$82022,$82023,$82024,$82025,$82026),(nextval($82027),$82028,$82029,$82030,$82031,$82032,$82033,$82034,$82035,$82036,$82037,$82038,$82039,$82040),(nextval($82041),$82042,$82043,$82044,$82045,$82046,$82047,$82048,$82049,$82050,$82051,$82052,$82053,$82054),(nextval($82055),$82056,$82057,$82058,$82059,$82060,$82061,$82062,$82063,$82064,$82065,$82066,$82067,$82068),(nextval($82069),$82070,$82071,$82072,$82073,$82074,$82075,$82076,$82077,$82078,$82079,$82080,$82081,$82082),(nextval($82083),$82084,$82085,$82086,$82087,$82088,$82089,$82090,$82091,$82092,$82093,$82094,$82095,$82096),(nextval($82097),$82098,$82099,$82100,$82101,$82102,$82103,$82104,$82105,$82106,$82107,$82108,$82109,$82110),(nextval($82111),$82112,$82113,$82114,$82115,$82116,$82117,$82118,$82119,$82120,$82121,$82122,$82123,$82124),(nextval($82125),$82126,$82127,$82128,$82129,$82130,$82131,$82132,$82133,$82134,$82135,$82136,$82137,$82138),(nextval($82139),$82140,$82141,$82142,$82143,$82144,$82145,$82146,$82147,$82148,$82149,$82150,$82151,$82152),(nextval($82153),$82154,$82155,$82156,$82157,$82158,$82159,$82160,$82161,$82162,$82163,$82164,$82165,$82166),(nextval($82167),$82168,$82169,$82170,$82171,$82172,$82173,$82174,$82175,$82176,$82177,$82178,$82179,$82180),(nextval($82181),$82182,$82183,$82184,$82185,$82186,$82187,$82188,$82189,$82190,$82191,$82192,$82193,$82194),(nextval($82195),$82196,$82197,$82198,$82199,$82200,$82201,$82202,$82203,$82204,$82205,$82206,$82207,$82208),(nextval($82209),$82210,$82211,$82212,$82213,$82214,$82215,$82216,$82217,$82218,$82219,$82220,$82221,$82222),(nextval($82223),$82224,$82225,$82226,$82227,$82228,$82229,$82230,$82231,$82232,$82233,$82234,$82235,$82236),(nextval($82237),$82238,$82239,$82240,$82241,$82242,$82243,$82244,$82245,$82246,$82247,$82248,$82249,$82250),(nextval($82251),$82252,$82253,$82254,$82255,$82256,$82257,$82258,$82259,$82260,$82261,$82262,$82263,$82264),(nextval($82265),$82266,$82267,$82268,$82269,$82270,$82271,$82272,$82273,$82274,$82275,$82276,$82277,$82278),(nextval($82279),$82280,$82281,$82282,$82283,$82284,$82285,$82286,$82287,$82288,$82289,$82290,$82291,$82292),(nextval($82293),$82294,$82295,$82296,$82297,$82298,$82299,$82300,$82301,$82302,$82303,$82304,$82305,$82306),(nextval($82307),$82308,$82309,$82310,$82311,$82312,$82313,$82314,$82315,$82316,$82317,$82318,$82319,$82320),(nextval($82321),$82322,$82323,$82324,$82325,$82326,$82327,$82328,$82329,$82330,$82331,$82332,$82333,$82334),(nextval($82335),$82336,$82337,$82338,$82339,$82340,$82341,$82342,$82343,$82344,$82345,$82346,$82347,$82348),(nextval($82349),$82350,$82351,$82352,$82353,$82354,$82355,$82356,$82357,$82358,$82359,$82360,$82361,$82362),(nextval($82363),$82364,$82365,$82366,$82367,$82368,$82369,$82370,$82371,$82372,$82373,$82374,$82375,$82376),(nextval($82377),$82378,$82379,$82380,$82381,$82382,$82383,$82384,$82385,$82386,$82387,$82388,$82389,$82390),(nextval($82391),$82392,$82393,$82394,$82395,$82396,$82397,$82398,$82399,$82400,$82401,$82402,$82403,$82404),(nextval($82405),$82406,$82407,$82408,$82409,$82410,$82411,$82412,$82413,$82414,$82415,$82416,$82417,$82418),(nextval($82419),$82420,$82421,$82422,$82423,$82424,$82425,$82426,$82427,$82428,$82429,$82430,$82431,$82432),(nextval($82433),$82434,$82435,$82436,$82437,$82438,$82439,$82440,$82441,$82442,$82443,$82444,$82445,$82446),(nextval($82447),$82448,$82449,$82450,$82451,$82452,$82453,$82454,$82455,$82456,$82457,$82458,$82459,$82460),(nextval($82461),$82462,$82463,$82464,$82465,$82466,$82467,$82468,$82469,$82470,$82471,$82472,$82473,$82474),(nextval($82475),$82476,$82477,$82478,$82479,$82480,$82481,$82482,$82483,$82484,$82485,$82486,$82487,$82488),(nextval($82489),$82490,$82491,$82492,$82493,$82494,$82495,$82496,$82497,$82498,$82499,$82500,$82501,$82502),(nextval($82503),$82504,$82505,$82506,$82507,$82508,$82509,$82510,$82511,$82512,$82513,$82514,$82515,$82516),(nextval($82517),$82518,$82519,$82520,$82521,$82522,$82523,$82524,$82525,$82526,$82527,$82528,$82529,$82530),(nextval($82531),$82532,$82533,$82534,$82535,$82536,$82537,$82538,$82539,$82540,$82541,$82542,$82543,$82544),(nextval($82545),$82546,$82547,$82548,$82549,$82550,$82551,$82552,$82553,$82554,$82555,$82556,$82557,$82558),(nextval($82559),$82560,$82561,$82562,$82563,$82564,$82565,$82566,$82567,$82568,$82569,$82570,$82571,$82572),(nextval($82573),$82574,$82575,$82576,$82577,$82578,$82579,$82580,$82581,$82582,$82583,$82584,$82585,$82586),(nextval($82587),$82588,$82589,$82590,$82591,$82592,$82593,$82594,$82595,$82596,$82597,$82598,$82599,$82600),(nextval($82601),$82602,$82603,$82604,$82605,$82606,$82607,$82608,$82609,$82610,$82611,$82612,$82613,$82614),(nextval($82615),$82616,$82617,$82618,$82619,$82620,$82621,$82622,$82623,$82624,$82625,$82626,$82627,$82628),(nextval($82629),$82630,$82631,$82632,$82633,$82634,$82635,$82636,$82637,$82638,$82639,$82640,$82641,$82642),(nextval($82643),$82644,$82645,$82646,$82647,$82648,$82649,$82650,$82651,$82652,$82653,$82654,$82655,$82656),(nextval($82657),$82658,$82659,$82660,$82661,$82662,$82663,$82664,$82665,$82666,$82667,$82668,$82669,$82670),(nextval($82671),$82672,$82673,$82674,$82675,$82676,$82677,$82678,$82679,$82680,$82681,$82682,$82683,$82684),(nextval($82685),$82686,$82687,$82688,$82689,$82690,$82691,$82692,$82693,$82694,$82695,$82696,$82697,$82698),(nextval($82699),$82700,$82701,$82702,$82703,$82704,$82705,$82706,$82707,$82708,$82709,$82710,$82711,$82712),(nextval($82713),$82714,$82715,$82716,$82717,$82718,$82719,$82720,$82721,$82722,$82723,$82724,$82725,$82726),(nextval($82727),$82728,$82729,$82730,$82731,$82732,$82733,$82734,$82735,$82736,$82737,$82738,$82739,$82740),(nextval($82741),$82742,$82743,$82744,$82745,$82746,$82747,$82748,$82749,$82750,$82751,$82752,$82753,$82754),(nextval($82755),$82756,$82757,$82758,$82759,$82760,$82761,$82762,$82763,$82764,$82765,$82766,$82767,$82768),(nextval($82769),$82770,$82771,$82772,$82773,$82774,$82775,$82776,$82777,$82778,$82779,$82780,$82781,$82782),(nextval($82783),$82784,$82785,$82786,$82787,$82788,$82789,$82790,$82791,$82792,$82793,$82794,$82795,$82796),(nextval($82797),$82798,$82799,$82800,$82801,$82802,$82803,$82804,$82805,$82806,$82807,$82808,$82809,$82810),(nextval($82811),$82812,$82813,$82814,$82815,$82816,$82817,$82818,$82819,$82820,$82821,$82822,$82823,$82824),(nextval($82825),$82826,$82827,$82828,$82829,$82830,$82831,$82832,$82833,$82834,$82835,$82836,$82837,$82838),(nextval($82839),$82840,$82841,$82842,$82843,$82844,$82845,$82846,$82847,$82848,$82849,$82850,$82851,$82852),(nextval($82853),$82854,$82855,$82856,$82857,$82858,$82859,$82860,$82861,$82862,$82863,$82864,$82865,$82866),(nextval($82867),$82868,$82869,$82870,$82871,$82872,$82873,$82874,$82875,$82876,$82877,$82878,$82879,$82880),(nextval($82881),$82882,$82883,$82884,$82885,$82886,$82887,$82888,$82889,$82890,$82891,$82892,$82893,$82894),(nextval($82895),$82896,$82897,$82898,$82899,$82900,$82901,$82902,$82903,$82904,$82905,$82906,$82907,$82908),(nextval($82909),$82910,$82911,$82912,$82913,$82914,$82915,$82916,$82917,$82918,$82919,$82920,$82921,$82922),(nextval($82923),$82924,$82925,$82926,$82927,$82928,$82929,$82930,$82931,$82932,$82933,$82934,$82935,$82936),(nextval($82937),$82938,$82939,$82940,$82941,$82942,$82943,$82944,$82945,$82946,$82947,$82948,$82949,$82950),(nextval($82951),$82952,$82953,$82954,$82955,$82956,$82957,$82958,$82959,$82960,$82961,$82962,$82963,$82964),(nextval($82965),$82966,$82967,$82968,$82969,$82970,$82971,$82972,$82973,$82974,$82975,$82976,$82977,$82978),(nextval($82979),$82980,$82981,$82982,$82983,$82984,$82985,$82986,$82987,$82988,$82989,$82990,$82991,$82992),(nextval($82993),$82994,$82995,$82996,$82997,$82998,$82999,$83000,$83001,$83002,$83003,$83004,$83005,$83006),(nextval($83007),$83008,$83009,$83010,$83011,$83012,$83013,$83014,$83015,$83016,$83017,$83018,$83019,$83020),(nextval($83021),$83022,$83023,$83024,$83025,$83026,$83027,$83028,$83029,$83030,$83031,$83032,$83033,$83034),(nextval($83035),$83036,$83037,$83038,$83039,$83040,$83041,$83042,$83043,$83044,$83045,$83046,$83047,$83048),(nextval($83049),$83050,$83051,$83052,$83053,$83054,$83055,$83056,$83057,$83058,$83059,$83060,$83061,$83062),(nextval($83063),$83064,$83065,$83066,$83067,$83068,$83069,$83070,$83071,$83072,$83073,$83074,$83075,$83076),(nextval($83077),$83078,$83079,$83080,$83081,$83082,$83083,$83084,$83085,$83086,$83087,$83088,$83089,$83090),(nextval($83091),$83092,$83093,$83094,$83095,$83096,$83097,$83098,$83099,$83100,$83101,$83102,$83103,$83104),(nextval($83105),$83106,$83107,$83108,$83109,$83110,$83111,$83112,$83113,$83114,$83115,$83116,$83117,$83118),(nextval($83119),$83120,$83121,$83122,$83123,$83124,$83125,$83126,$83127,$83128,$83129,$83130,$83131,$83132),(nextval($83133),$83134,$83135,$83136,$83137,$83138,$83139,$83140,$83141,$83142,$83143,$83144,$83145,$83146),(nextval($83147),$83148,$83149,$83150,$83151,$83152,$83153,$83154,$83155,$83156,$83157,$83158,$83159,$83160),(nextval($83161),$83162,$83163,$83164,$83165,$83166,$83167,$83168,$83169,$83170,$83171,$83172,$83173,$83174),(nextval($83175),$83176,$83177,$83178,$83179,$83180,$83181,$83182,$83183,$83184,$83185,$83186,$83187,$83188),(nextval($83189),$83190,$83191,$83192,$83193,$83194,$83195,$83196,$83197,$83198,$83199,$83200,$83201,$83202),(nextval($83203),$83204,$83205,$83206,$83207,$83208,$83209,$83210,$83211,$83212,$83213,$83214,$83215,$83216),(nextval($83217),$83218,$83219,$83220,$83221,$83222,$83223,$83224,$83225,$83226,$83227,$83228,$83229,$83230),(nextval($83231),$83232,$83233,$83234,$83235,$83236,$83237,$83238,$83239,$83240,$83241,$83242,$83243,$83244),(nextval($83245),$83246,$83247,$83248,$83249,$83250,$83251,$83252,$83253,$83254,$83255,$83256,$83257,$83258),(nextval($83259),$83260,$83261,$83262,$83263,$83264,$83265,$83266,$83267,$83268,$83269,$83270,$83271,$83272),(nextval($83273),$83274,$83275,$83276,$83277,$83278,$83279,$83280,$83281,$83282,$83283,$83284,$83285,$83286),(nextval($83287),$83288,$83289,$83290,$83291,$83292,$83293,$83294,$83295,$83296,$83297,$83298,$83299,$83300),(nextval($83301),$83302,$83303,$83304,$83305,$83306,$83307,$83308,$83309,$83310,$83311,$83312,$83313,$83314),(nextval($83315),$83316,$83317,$83318,$83319,$83320,$83321,$83322,$83323,$83324,$83325,$83326,$83327,$83328),(nextval($83329),$83330,$83331,$83332,$83333,$83334,$83335,$83336,$83337,$83338,$83339,$83340,$83341,$83342),(nextval($83343),$83344,$83345,$83346,$83347,$83348,$83349,$83350,$83351,$83352,$83353,$83354,$83355,$83356),(nextval($83357),$83358,$83359,$83360,$83361,$83362,$83363,$83364,$83365,$83366,$83367,$83368,$83369,$83370),(nextval($83371),$83372,$83373,$83374,$83375,$83376,$83377,$83378,$83379,$83380,$83381,$83382,$83383,$83384),(nextval($83385),$83386,$83387,$83388,$83389,$83390,$83391,$83392,$83393,$83394,$83395,$83396,$83397,$83398),(nextval($83399),$83400,$83401,$83402,$83403,$83404,$83405,$83406,$83407,$83408,$83409,$83410,$83411,$83412),(nextval($83413),$83414,$83415,$83416,$83417,$83418,$83419,$83420,$83421,$83422,$83423,$83424,$83425,$83426),(nextval($83427),$83428,$83429,$83430,$83431,$83432,$83433,$83434,$83435,$83436,$83437,$83438,$83439,$83440),(nextval($83441),$83442,$83443,$83444,$83445,$83446,$83447,$83448,$83449,$83450,$83451,$83452,$83453,$83454),(nextval($83455),$83456,$83457,$83458,$83459,$83460,$83461,$83462,$83463,$83464,$83465,$83466,$83467,$83468),(nextval($83469),$83470,$83471,$83472,$83473,$83474,$83475,$83476,$83477,$83478,$83479,$83480,$83481,$83482),(nextval($83483),$83484,$83485,$83486,$83487,$83488,$83489,$83490,$83491,$83492,$83493,$83494,$83495,$83496),(nextval($83497),$83498,$83499,$83500,$83501,$83502,$83503,$83504,$83505,$83506,$83507,$83508,$83509,$83510),(nextval($83511),$83512,$83513,$83514,$83515,$83516,$83517,$83518,$83519,$83520,$83521,$83522,$83523,$83524),(nextval($83525),$83526,$83527,$83528,$83529,$83530,$83531,$83532,$83533,$83534,$83535,$83536,$83537,$83538),(nextval($83539),$83540,$83541,$83542,$83543,$83544,$83545,$83546,$83547,$83548,$83549,$83550,$83551,$83552),(nextval($83553),$83554,$83555,$83556,$83557,$83558,$83559,$83560,$83561,$83562,$83563,$83564,$83565,$83566),(nextval($83567),$83568,$83569,$83570,$83571,$83572,$83573,$83574,$83575,$83576,$83577,$83578,$83579,$83580),(nextval($83581),$83582,$83583,$83584,$83585,$83586,$83587,$83588,$83589,$83590,$83591,$83592,$83593,$83594),(nextval($83595),$83596,$83597,$83598,$83599,$83600,$83601,$83602,$83603,$83604,$83605,$83606,$83607,$83608),(nextval($83609),$83610,$83611,$83612,$83613,$83614,$83615,$83616,$83617,$83618,$83619,$83620,$83621,$83622),(nextval($83623),$83624,$83625,$83626,$83627,$83628,$83629,$83630,$83631,$83632,$83633,$83634,$83635,$83636),(nextval($83637),$83638,$83639,$83640,$83641,$83642,$83643,$83644,$83645,$83646,$83647,$83648,$83649,$83650),(nextval($83651),$83652,$83653,$83654,$83655,$83656,$83657,$83658,$83659,$83660,$83661,$83662,$83663,$83664),(nextval($83665),$83666,$83667,$83668,$83669,$83670,$83671,$83672,$83673,$83674,$83675,$83676,$83677,$83678),(nextval($83679),$83680,$83681,$83682,$83683,$83684,$83685,$83686,$83687,$83688,$83689,$83690,$83691,$83692),(nextval($83693),$83694,$83695,$83696,$83697,$83698,$83699,$83700,$83701,$83702,$83703,$83704,$83705,$83706),(nextval($83707),$83708,$83709,$83710,$83711,$83712,$83713,$83714,$83715,$83716,$83717,$83718,$83719,$83720),(nextval($83721),$83722,$83723,$83724,$83725,$83726,$83727,$83728,$83729,$83730,$83731,$83732,$83733,$83734),(nextval($83735),$83736,$83737,$83738,$83739,$83740,$83741,$83742,$83743,$83744,$83745,$83746,$83747,$83748),(nextval($83749),$83750,$83751,$83752,$83753,$83754,$83755,$83756,$83757,$83758,$83759,$83760,$83761,$83762),(nextval($83763),$83764,$83765,$83766,$83767,$83768,$83769,$83770,$83771,$83772,$83773,$83774,$83775,$83776),(nextval($83777),$83778,$83779,$83780,$83781,$83782,$83783,$83784,$83785,$83786,$83787,$83788,$83789,$83790),(nextval($83791),$83792,$83793,$83794,$83795,$83796,$83797,$83798,$83799,$83800,$83801,$83802,$83803,$83804),(nextval($83805),$83806,$83807,$83808,$83809,$83810,$83811,$83812,$83813,$83814,$83815,$83816,$83817,$83818),(nextval($83819),$83820,$83821,$83822,$83823,$83824,$83825,$83826,$83827,$83828,$83829,$83830,$83831,$83832),(nextval($83833),$83834,$83835,$83836,$83837,$83838,$83839,$83840,$83841,$83842,$83843,$83844,$83845,$83846),(nextval($83847),$83848,$83849,$83850,$83851,$83852,$83853,$83854,$83855,$83856,$83857,$83858,$83859,$83860),(nextval($83861),$83862,$83863,$83864,$83865,$83866,$83867,$83868,$83869,$83870,$83871,$83872,$83873,$83874),(nextval($83875),$83876,$83877,$83878,$83879,$83880,$83881,$83882,$83883,$83884,$83885,$83886,$83887,$83888),(nextval($83889),$83890,$83891,$83892,$83893,$83894,$83895,$83896,$83897,$83898,$83899,$83900,$83901,$83902),(nextval($83903),$83904,$83905,$83906,$83907,$83908,$83909,$83910,$83911,$83912,$83913,$83914,$83915,$83916),(nextval($83917),$83918,$83919,$83920,$83921,$83922,$83923,$83924,$83925,$83926,$83927,$83928,$83929,$83930),(nextval($83931),$83932,$83933,$83934,$83935,$83936,$83937,$83938,$83939,$83940,$83941,$83942,$83943,$83944),(nextval($83945),$83946,$83947,$83948,$83949,$83950,$83951,$83952,$83953,$83954,$83955,$83956,$83957,$83958),(nextval($83959),$83960,$83961,$83962,$83963,$83964,$83965,$83966,$83967,$83968,$83969,$83970,$83971,$83972),(nextval($83973),$83974,$83975,$83976,$83977,$83978,$83979,$83980,$83981,$83982,$83983,$83984,$83985,$83986),(nextval($83987),$83988,$83989,$83990,$83991,$83992,$83993,$83994,$83995,$83996,$83997,$83998,$83999,$84000),(nextval($84001),$84002,$84003,$84004,$84005,$84006,$84007,$84008,$84009,$84010,$84011,$84012,$84013,$84014),(nextval($84015),$84016,$84017,$84018,$84019,$84020,$84021,$84022,$84023,$84024,$84025,$84026,$84027,$84028),(nextval($84029),$84030,$84031,$84032,$84033,$84034,$84035,$84036,$84037,$84038,$84039,$84040,$84041,$84042),(nextval($84043),$84044,$84045,$84046,$84047,$84048,$84049,$84050,$84051,$84052,$84053,$84054,$84055,$84056),(nextval($84057),$84058,$84059,$84060,$84061,$84062,$84063,$84064,$84065,$84066,$84067,$84068,$84069,$84070),(nextval($84071),$84072,$84073,$84074,$84075,$84076,$84077,$84078,$84079,$84080,$84081,$84082,$84083,$84084),(nextval($84085),$84086,$84087,$84088,$84089,$84090,$84091,$84092,$84093,$84094,$84095,$84096,$84097,$84098),(nextval($84099),$84100,$84101,$84102,$84103,$84104,$84105,$84106,$84107,$84108,$84109,$84110,$84111,$84112),(nextval($84113),$84114,$84115,$84116,$84117,$84118,$84119,$84120,$84121,$84122,$84123,$84124,$84125,$84126),(nextval($84127),$84128,$84129,$84130,$84131,$84132,$84133,$84134,$84135,$84136,$84137,$84138,$84139,$84140),(nextval($84141),$84142,$84143,$84144,$84145,$84146,$84147,$84148,$84149,$84150,$84151,$84152,$84153,$84154),(nextval($84155),$84156,$84157,$84158,$84159,$84160,$84161,$84162,$84163,$84164,$84165,$84166,$84167,$84168),(nextval($84169),$84170,$84171,$84172,$84173,$84174,$84175,$84176,$84177,$84178,$84179,$84180,$84181,$84182),(nextval($84183),$84184,$84185,$84186,$84187,$84188,$84189,$84190,$84191,$84192,$84193,$84194,$84195,$84196),(nextval($84197),$84198,$84199,$84200,$84201,$84202,$84203,$84204,$84205,$84206,$84207,$84208,$84209,$84210),(nextval($84211),$84212,$84213,$84214,$84215,$84216,$84217,$84218,$84219,$84220,$84221,$84222,$84223,$84224),(nextval($84225),$84226,$84227,$84228,$84229,$84230,$84231,$84232,$84233,$84234,$84235,$84236,$84237,$84238),(nextval($84239),$84240,$84241,$84242,$84243,$84244,$84245,$84246,$84247,$84248,$84249,$84250,$84251,$84252),(nextval($84253),$84254,$84255,$84256,$84257,$84258,$84259,$84260,$84261,$84262,$84263,$84264,$84265,$84266),(nextval($84267),$84268,$84269,$84270,$84271,$84272,$84273,$84274,$84275,$84276,$84277,$84278,$84279,$84280),(nextval($84281),$84282,$84283,$84284,$84285,$84286,$84287,$84288,$84289,$84290,$84291,$84292,$84293,$84294),(nextval($84295),$84296,$84297,$84298,$84299,$84300,$84301,$84302,$84303,$84304,$84305,$84306,$84307,$84308),(nextval($84309),$84310,$84311,$84312,$84313,$84314,$84315,$84316,$84317,$84318,$84319,$84320,$84321,$84322),(nextval($84323),$84324,$84325,$84326,$84327,$84328,$84329,$84330,$84331,$84332,$84333,$84334,$84335,$84336),(nextval($84337),$84338,$84339,$84340,$84341,$84342,$84343,$84344,$84345,$84346,$84347,$84348,$84349,$84350),(nextval($84351),$84352,$84353,$84354,$84355,$84356,$84357,$84358,$84359,$84360,$84361,$84362,$84363,$84364),(nextval($84365),$84366,$84367,$84368,$84369,$84370,$84371,$84372,$84373,$84374,$84375,$84376,$84377,$84378),(nextval($84379),$84380,$84381,$84382,$84383,$84384,$84385,$84386,$84387,$84388,$84389,$84390,$84391,$84392),(nextval($84393),$84394,$84395,$84396,$84397,$84398,$84399,$84400,$84401,$84402,$84403,$84404,$84405,$84406),(nextval($84407),$84408,$84409,$84410,$84411,$84412,$84413,$84414,$84415,$84416,$84417,$84418,$84419,$84420),(nextval($84421),$84422,$84423,$84424,$84425,$84426,$84427,$84428,$84429,$84430,$84431,$84432,$84433,$84434),(nextval($84435),$84436,$84437,$84438,$84439,$84440,$84441,$84442,$84443,$84444,$84445,$84446,$84447,$84448),(nextval($84449),$84450,$84451,$84452,$84453,$84454,$84455,$84456,$84457,$84458,$84459,$84460,$84461,$84462),(nextval($84463),$84464,$84465,$84466,$84467,$84468,$84469,$84470,$84471,$84472,$84473,$84474,$84475,$84476),(nextval($84477),$84478,$84479,$84480,$84481,$84482,$84483,$84484,$84485,$84486,$84487,$84488,$84489,$84490),(nextval($84491),$84492,$84493,$84494,$84495,$84496,$84497,$84498,$84499,$84500,$84501,$84502,$84503,$84504),(nextval($84505),$84506,$84507,$84508,$84509,$84510,$84511,$84512,$84513,$84514,$84515,$84516,$84517,$84518),(nextval($84519),$84520,$84521,$84522,$84523,$84524,$84525,$84526,$84527,$84528,$84529,$84530,$84531,$84532),(nextval($84533),$84534,$84535,$84536,$84537,$84538,$84539,$84540,$84541,$84542,$84543,$84544,$84545,$84546),(nextval($84547),$84548,$84549,$84550,$84551,$84552,$84553,$84554,$84555,$84556,$84557,$84558,$84559,$84560),(nextval($84561),$84562,$84563,$84564,$84565,$84566,$84567,$84568,$84569,$84570,$84571,$84572,$84573,$84574),(nextval($84575),$84576,$84577,$84578,$84579,$84580,$84581,$84582,$84583,$84584,$84585,$84586,$84587,$84588),(nextval($84589),$84590,$84591,$84592,$84593,$84594,$84595,$84596,$84597,$84598,$84599,$84600,$84601,$84602),(nextval($84603),$84604,$84605,$84606,$84607,$84608,$84609,$84610,$84611,$84612,$84613,$84614,$84615,$84616),(nextval($84617),$84618,$84619,$84620,$84621,$84622,$84623,$84624,$84625,$84626,$84627,$84628,$84629,$84630),(nextval($84631),$84632,$84633,$84634,$84635,$84636,$84637,$84638,$84639,$84640,$84641,$84642,$84643,$84644),(nextval($84645),$84646,$84647,$84648,$84649,$84650,$84651,$84652,$84653,$84654,$84655,$84656,$84657,$84658),(nextval($84659),$84660,$84661,$84662,$84663,$84664,$84665,$84666,$84667,$84668,$84669,$84670,$84671,$84672),(nextval($84673),$84674,$84675,$84676,$84677,$84678,$84679,$84680,$84681,$84682,$84683,$84684,$84685,$84686),(nextval($84687),$84688,$84689,$84690,$84691,$84692,$84693,$84694,$84695,$84696,$84697,$84698,$84699,$84700),(nextval($84701),$84702,$84703,$84704,$84705,$84706,$84707,$84708,$84709,$84710,$84711,$84712,$84713,$84714),(nextval($84715),$84716,$84717,$84718,$84719,$84720,$84721,$84722,$84723,$84724,$84725,$84726,$84727,$84728),(nextval($84729),$84730,$84731,$84732,$84733,$84734,$84735,$84736,$84737,$84738,$84739,$84740,$84741,$84742),(nextval($84743),$84744,$84745,$84746,$84747,$84748,$84749,$84750,$84751,$84752,$84753,$84754,$84755,$84756),(nextval($84757),$84758,$84759,$84760,$84761,$84762,$84763,$84764,$84765,$84766,$84767,$84768,$84769,$84770),(nextval($84771),$84772,$84773,$84774,$84775,$84776,$84777,$84778,$84779,$84780,$84781,$84782,$84783,$84784),(nextval($84785),$84786,$84787,$84788,$84789,$84790,$84791,$84792,$84793,$84794,$84795,$84796,$84797,$84798),(nextval($84799),$84800,$84801,$84802,$84803,$84804,$84805,$84806,$84807,$84808,$84809,$84810,$84811,$84812),(nextval($84813),$84814,$84815,$84816,$84817,$84818,$84819,$84820,$84821,$84822,$84823,$84824,$84825,$84826),(nextval($84827),$84828,$84829,$84830,$84831,$84832,$84833,$84834,$84835,$84836,$84837,$84838,$84839,$84840),(nextval($84841),$84842,$84843,$84844,$84845,$84846,$84847,$84848,$84849,$84850,$84851,$84852,$84853,$84854),(nextval($84855),$84856,$84857,$84858,$84859,$84860,$84861,$84862,$84863,$84864,$84865,$84866,$84867,$84868),(nextval($84869),$84870,$84871,$84872,$84873,$84874,$84875,$84876,$84877,$84878,$84879,$84880,$84881,$84882),(nextval($84883),$84884,$84885,$84886,$84887,$84888,$84889,$84890,$84891,$84892,$84893,$84894,$84895,$84896),(nextval($84897),$84898,$84899,$84900,$84901,$84902,$84903,$84904,$84905,$84906,$84907,$84908,$84909,$84910),(nextval($84911),$84912,$84913,$84914,$84915,$84916,$84917,$84918,$84919,$84920,$84921,$84922,$84923,$84924),(nextval($84925),$84926,$84927,$84928,$84929,$84930,$84931,$84932,$84933,$84934,$84935,$84936,$84937,$84938),(nextval($84939),$84940,$84941,$84942,$84943,$84944,$84945,$84946,$84947,$84948,$84949,$84950,$84951,$84952),(nextval($84953),$84954,$84955,$84956,$84957,$84958,$84959,$84960,$84961,$84962,$84963,$84964,$84965,$84966),(nextval($84967),$84968,$84969,$84970,$84971,$84972,$84973,$84974,$84975,$84976,$84977,$84978,$84979,$84980),(nextval($84981),$84982,$84983,$84984,$84985,$84986,$84987,$84988,$84989,$84990,$84991,$84992,$84993,$84994),(nextval($84995),$84996,$84997,$84998,$84999,$85000,$85001,$85002,$85003,$85004,$85005,$85006,$85007,$85008),(nextval($85009),$85010,$85011,$85012,$85013,$85014,$85015,$85016,$85017,$85018,$85019,$85020,$85021,$85022),(nextval($85023),$85024,$85025,$85026,$85027,$85028,$85029,$85030,$85031,$85032,$85033,$85034,$85035,$85036),(nextval($85037),$85038,$85039,$85040,$85041,$85042,$85043,$85044,$85045,$85046,$85047,$85048,$85049,$85050),(nextval($85051),$85052,$85053,$85054,$85055,$85056,$85057,$85058,$85059,$85060,$85061,$85062,$85063,$85064),(nextval($85065),$85066,$85067,$85068,$85069,$85070,$85071,$85072,$85073,$85074,$85075,$85076,$85077,$85078),(nextval($85079),$85080,$85081,$85082,$85083,$85084,$85085,$85086,$85087,$85088,$85089,$85090,$85091,$85092),(nextval($85093),$85094,$85095,$85096,$85097,$85098,$85099,$85100,$85101,$85102,$85103,$85104,$85105,$85106),(nextval($85107),$85108,$85109,$85110,$85111,$85112,$85113,$85114,$85115,$85116,$85117,$85118,$85119,$85120),(nextval($85121),$85122,$85123,$85124,$85125,$85126,$85127,$85128,$85129,$85130,$85131,$85132,$85133,$85134),(nextval($85135),$85136,$85137,$85138,$85139,$85140,$85141,$85142,$85143,$85144,$85145,$85146,$85147,$85148),(nextval($85149),$85150,$85151,$85152,$85153,$85154,$85155,$85156,$85157,$85158,$85159,$85160,$85161,$85162),(nextval($85163),$85164,$85165,$85166,$85167,$85168,$85169,$85170,$85171,$85172,$85173,$85174,$85175,$85176),(nextval($85177),$85178,$85179,$85180,$85181,$85182,$85183,$85184,$85185,$85186,$85187,$85188,$85189,$85190),(nextval($85191),$85192,$85193,$85194,$85195,$85196,$85197,$85198,$85199,$85200,$85201,$85202,$85203,$85204),(nextval($85205),$85206,$85207,$85208,$85209,$85210,$85211,$85212,$85213,$85214,$85215,$85216,$85217,$85218),(nextval($85219),$85220,$85221,$85222,$85223,$85224,$85225,$85226,$85227,$85228,$85229,$85230,$85231,$85232),(nextval($85233),$85234,$85235,$85236,$85237,$85238,$85239,$85240,$85241,$85242,$85243,$85244,$85245,$85246),(nextval($85247),$85248,$85249,$85250,$85251,$85252,$85253,$85254,$85255,$85256,$85257,$85258,$85259,$85260),(nextval($85261),$85262,$85263,$85264,$85265,$85266,$85267,$85268,$85269,$85270,$85271,$85272,$85273,$85274),(nextval($85275),$85276,$85277,$85278,$85279,$85280,$85281,$85282,$85283,$85284,$85285,$85286,$85287,$85288),(nextval($85289),$85290,$85291,$85292,$85293,$85294,$85295,$85296,$85297,$85298,$85299,$85300,$85301,$85302),(nextval($85303),$85304,$85305,$85306,$85307,$85308,$85309,$85310,$85311,$85312,$85313,$85314,$85315,$85316),(nextval($85317),$85318,$85319,$85320,$85321,$85322,$85323,$85324,$85325,$85326,$85327,$85328,$85329,$85330),(nextval($85331),$85332,$85333,$85334,$85335,$85336,$85337,$85338,$85339,$85340,$85341,$85342,$85343,$85344),(nextval($85345),$85346,$85347,$85348,$85349,$85350,$85351,$85352,$85353,$85354,$85355,$85356,$85357,$85358),(nextval($85359),$85360,$85361,$85362,$85363,$85364,$85365,$85366,$85367,$85368,$85369,$85370,$85371,$85372),(nextval($85373),$85374,$85375,$85376,$85377,$85378,$85379,$85380,$85381,$85382,$85383,$85384,$85385,$85386),(nextval($85387),$85388,$85389,$85390,$85391,$85392,$85393,$85394,$85395,$85396,$85397,$85398,$85399,$85400),(nextval($85401),$85402,$85403,$85404,$85405,$85406,$85407,$85408,$85409,$85410,$85411,$85412,$85413,$85414),(nextval($85415),$85416,$85417,$85418,$85419,$85420,$85421,$85422,$85423,$85424,$85425,$85426,$85427,$85428),(nextval($85429),$85430,$85431,$85432,$85433,$85434,$85435,$85436,$85437,$85438,$85439,$85440,$85441,$85442),(nextval($85443),$85444,$85445,$85446,$85447,$85448,$85449,$85450,$85451,$85452,$85453,$85454,$85455,$85456),(nextval($85457),$85458,$85459,$85460,$85461,$85462,$85463,$85464,$85465,$85466,$85467,$85468,$85469,$85470),(nextval($85471),$85472,$85473,$85474,$85475,$85476,$85477,$85478,$85479,$85480,$85481,$85482,$85483,$85484),(nextval($85485),$85486,$85487,$85488,$85489,$85490,$85491,$85492,$85493,$85494,$85495,$85496,$85497,$85498),(nextval($85499),$85500,$85501,$85502,$85503,$85504,$85505,$85506,$85507,$85508,$85509,$85510,$85511,$85512),(nextval($85513),$85514,$85515,$85516,$85517,$85518,$85519,$85520,$85521,$85522,$85523,$85524,$85525,$85526),(nextval($85527),$85528,$85529,$85530,$85531,$85532,$85533,$85534,$85535,$85536,$85537,$85538,$85539,$85540),(nextval($85541),$85542,$85543,$85544,$85545,$85546,$85547,$85548,$85549,$85550,$85551,$85552,$85553,$85554),(nextval($85555),$85556,$85557,$85558,$85559,$85560,$85561,$85562,$85563,$85564,$85565,$85566,$85567,$85568),(nextval($85569),$85570,$85571,$85572,$85573,$85574,$85575,$85576,$85577,$85578,$85579,$85580,$85581,$85582),(nextval($85583),$85584,$85585,$85586,$85587,$85588,$85589,$85590,$85591,$85592,$85593,$85594,$85595,$85596),(nextval($85597),$85598,$85599,$85600,$85601,$85602,$85603,$85604,$85605,$85606,$85607,$85608,$85609,$85610),(nextval($85611),$85612,$85613,$85614,$85615,$85616,$85617,$85618,$85619,$85620,$85621,$85622,$85623,$85624),(nextval($85625),$85626,$85627,$85628,$85629,$85630,$85631,$85632,$85633,$85634,$85635,$85636,$85637,$85638),(nextval($85639),$85640,$85641,$85642,$85643,$85644,$85645,$85646,$85647,$85648,$85649,$85650,$85651,$85652),(nextval($85653),$85654,$85655,$85656,$85657,$85658,$85659,$85660,$85661,$85662,$85663,$85664,$85665,$85666),(nextval($85667),$85668,$85669,$85670,$85671,$85672,$85673,$85674,$85675,$85676,$85677,$85678,$85679,$85680),(nextval($85681),$85682,$85683,$85684,$85685,$85686,$85687,$85688,$85689,$85690,$85691,$85692,$85693,$85694),(nextval($85695),$85696,$85697,$85698,$85699,$85700,$85701,$85702,$85703,$85704,$85705,$85706,$85707,$85708),(nextval($85709),$85710,$85711,$85712,$85713,$85714,$85715,$85716,$85717,$85718,$85719,$85720,$85721,$85722),(nextval($85723),$85724,$85725,$85726,$85727,$85728,$85729,$85730,$85731,$85732,$85733,$85734,$85735,$85736),(nextval($85737),$85738,$85739,$85740,$85741,$85742,$85743,$85744,$85745,$85746,$85747,$85748,$85749,$85750),(nextval($85751),$85752,$85753,$85754,$85755,$85756,$85757,$85758,$85759,$85760,$85761,$85762,$85763,$85764),(nextval($85765),$85766,$85767,$85768,$85769,$85770,$85771,$85772,$85773,$85774,$85775,$85776,$85777,$85778),(nextval($85779),$85780,$85781,$85782,$85783,$85784,$85785,$85786,$85787,$85788,$85789,$85790,$85791,$85792),(nextval($85793),$85794,$85795,$85796,$85797,$85798,$85799,$85800,$85801,$85802,$85803,$85804,$85805,$85806),(nextval($85807),$85808,$85809,$85810,$85811,$85812,$85813,$85814,$85815,$85816,$85817,$85818,$85819,$85820),(nextval($85821),$85822,$85823,$85824,$85825,$85826,$85827,$85828,$85829,$85830,$85831,$85832,$85833,$85834),(nextval($85835),$85836,$85837,$85838,$85839,$85840,$85841,$85842,$85843,$85844,$85845,$85846,$85847,$85848),(nextval($85849),$85850,$85851,$85852,$85853,$85854,$85855,$85856,$85857,$85858,$85859,$85860,$85861,$85862),(nextval($85863),$85864,$85865,$85866,$85867,$85868,$85869,$85870,$85871,$85872,$85873,$85874,$85875,$85876),(nextval($85877),$85878,$85879,$85880,$85881,$85882,$85883,$85884,$85885,$85886,$85887,$85888,$85889,$85890),(nextval($85891),$85892,$85893,$85894,$85895,$85896,$85897,$85898,$85899,$85900,$85901,$85902,$85903,$85904),(nextval($85905),$85906,$85907,$85908,$85909,$85910,$85911,$85912,$85913,$85914,$85915,$85916,$85917,$85918),(nextval($85919),$85920,$85921,$85922,$85923,$85924,$85925,$85926,$85927,$85928,$85929,$85930,$85931,$85932),(nextval($85933),$85934,$85935,$85936,$85937,$85938,$85939,$85940,$85941,$85942,$85943,$85944,$85945,$85946),(nextval($85947),$85948,$85949,$85950,$85951,$85952,$85953,$85954,$85955,$85956,$85957,$85958,$85959,$85960),(nextval($85961),$85962,$85963,$85964,$85965,$85966,$85967,$85968,$85969,$85970,$85971,$85972,$85973,$85974),(nextval($85975),$85976,$85977,$85978,$85979,$85980,$85981,$85982,$85983,$85984,$85985,$85986,$85987,$85988),(nextval($85989),$85990,$85991,$85992,$85993,$85994,$85995,$85996,$85997,$85998,$85999,$86000,$86001,$86002),(nextval($86003),$86004,$86005,$86006,$86007,$86008,$86009,$86010,$86011,$86012,$86013,$86014,$86015,$86016),(nextval($86017),$86018,$86019,$86020,$86021,$86022,$86023,$86024,$86025,$86026,$86027,$86028,$86029,$86030),(nextval($86031),$86032,$86033,$86034,$86035,$86036,$86037,$86038,$86039,$86040,$86041,$86042,$86043,$86044),(nextval($86045),$86046,$86047,$86048,$86049,$86050,$86051,$86052,$86053,$86054,$86055,$86056,$86057,$86058),(nextval($86059),$86060,$86061,$86062,$86063,$86064,$86065,$86066,$86067,$86068,$86069,$86070,$86071,$86072),(nextval($86073),$86074,$86075,$86076,$86077,$86078,$86079,$86080,$86081,$86082,$86083,$86084,$86085,$86086),(nextval($86087),$86088,$86089,$86090,$86091,$86092,$86093,$86094,$86095,$86096,$86097,$86098,$86099,$86100),(nextval($86101),$86102,$86103,$86104,$86105,$86106,$86107,$86108,$86109,$86110,$86111,$86112,$86113,$86114),(nextval($86115),$86116,$86117,$86118,$86119,$86120,$86121,$86122,$86123,$86124,$86125,$86126,$86127,$86128),(nextval($86129),$86130,$86131,$86132,$86133,$86134,$86135,$86136,$86137,$86138,$86139,$86140,$86141,$86142),(nextval($86143),$86144,$86145,$86146,$86147,$86148,$86149,$86150,$86151,$86152,$86153,$86154,$86155,$86156),(nextval($86157),$86158,$86159,$86160,$86161,$86162,$86163,$86164,$86165,$86166,$86167,$86168,$86169,$86170),(nextval($86171),$86172,$86173,$86174,$86175,$86176,$86177,$86178,$86179,$86180,$86181,$86182,$86183,$86184),(nextval($86185),$86186,$86187,$86188,$86189,$86190,$86191,$86192,$86193,$86194,$86195,$86196,$86197,$86198),(nextval($86199),$86200,$86201,$86202,$86203,$86204,$86205,$86206,$86207,$86208,$86209,$86210,$86211,$86212),(nextval($86213),$86214,$86215,$86216,$86217,$86218,$86219,$86220,$86221,$86222,$86223,$86224,$86225,$86226),(nextval($86227),$86228,$86229,$86230,$86231,$86232,$86233,$86234,$86235,$86236,$86237,$86238,$86239,$86240),(nextval($86241),$86242,$86243,$86244,$86245,$86246,$86247,$86248,$86249,$86250,$86251,$86252,$86253,$86254),(nextval($86255),$86256,$86257,$86258,$86259,$86260,$86261,$86262,$86263,$86264,$86265,$86266,$86267,$86268),(nextval($86269),$86270,$86271,$86272,$86273,$86274,$86275,$86276,$86277,$86278,$86279,$86280,$86281,$86282),(nextval($86283),$86284,$86285,$86286,$86287,$86288,$86289,$86290,$86291,$86292,$86293,$86294,$86295,$86296),(nextval($86297),$86298,$86299,$86300,$86301,$86302,$86303,$86304,$86305,$86306,$86307,$86308,$86309,$86310),(nextval($86311),$86312,$86313,$86314,$86315,$86316,$86317,$86318,$86319,$86320,$86321,$86322,$86323,$86324),(nextval($86325),$86326,$86327,$86328,$86329,$86330,$86331,$86332,$86333,$86334,$86335,$86336,$86337,$86338),(nextval($86339),$86340,$86341,$86342,$86343,$86344,$86345,$86346,$86347,$86348,$86349,$86350,$86351,$86352),(nextval($86353),$86354,$86355,$86356,$86357,$86358,$86359,$86360,$86361,$86362,$86363,$86364,$86365,$86366),(nextval($86367),$86368,$86369,$86370,$86371,$86372,$86373,$86374,$86375,$86376,$86377,$86378,$86379,$86380),(nextval($86381),$86382,$86383,$86384,$86385,$86386,$86387,$86388,$86389,$86390,$86391,$86392,$86393,$86394),(nextval($86395),$86396,$86397,$86398,$86399,$86400,$86401,$86402,$86403,$86404,$86405,$86406,$86407,$86408),(nextval($86409),$86410,$86411,$86412,$86413,$86414,$86415,$86416,$86417,$86418,$86419,$86420,$86421,$86422),(nextval($86423),$86424,$86425,$86426,$86427,$86428,$86429,$86430,$86431,$86432,$86433,$86434,$86435,$86436),(nextval($86437),$86438,$86439,$86440,$86441,$86442,$86443,$86444,$86445,$86446,$86447,$86448,$86449,$86450),(nextval($86451),$86452,$86453,$86454,$86455,$86456,$86457,$86458,$86459,$86460,$86461,$86462,$86463,$86464),(nextval($86465),$86466,$86467,$86468,$86469,$86470,$86471,$86472,$86473,$86474,$86475,$86476,$86477,$86478),(nextval($86479),$86480,$86481,$86482,$86483,$86484,$86485,$86486,$86487,$86488,$86489,$86490,$86491,$86492),(nextval($86493),$86494,$86495,$86496,$86497,$86498,$86499,$86500,$86501,$86502,$86503,$86504,$86505,$86506),(nextval($86507),$86508,$86509,$86510,$86511,$86512,$86513,$86514,$86515,$86516,$86517,$86518,$86519,$86520),(nextval($86521),$86522,$86523,$86524,$86525,$86526,$86527,$86528,$86529,$86530,$86531,$86532,$86533,$86534),(nextval($86535),$86536,$86537,$86538,$86539,$86540,$86541,$86542,$86543,$86544,$86545,$86546,$86547,$86548),(nextval($86549),$86550,$86551,$86552,$86553,$86554,$86555,$86556,$86557,$86558,$86559,$86560,$86561,$86562),(nextval($86563),$86564,$86565,$86566,$86567,$86568,$86569,$86570,$86571,$86572,$86573,$86574,$86575,$86576),(nextval($86577),$86578,$86579,$86580,$86581,$86582,$86583,$86584,$86585,$86586,$86587,$86588,$86589,$86590),(nextval($86591),$86592,$86593,$86594,$86595,$86596,$86597,$86598,$86599,$86600,$86601,$86602,$86603,$86604),(nextval($86605),$86606,$86607,$86608,$86609,$86610,$86611,$86612,$86613,$86614,$86615,$86616,$86617,$86618),(nextval($86619),$86620,$86621,$86622,$86623,$86624,$86625,$86626,$86627,$86628,$86629,$86630,$86631,$86632),(nextval($86633),$86634,$86635,$86636,$86637,$86638,$86639,$86640,$86641,$86642,$86643,$86644,$86645,$86646),(nextval($86647),$86648,$86649,$86650,$86651,$86652,$86653,$86654,$86655,$86656,$86657,$86658,$86659,$86660),(nextval($86661),$86662,$86663,$86664,$86665,$86666,$86667,$86668,$86669,$86670,$86671,$86672,$86673,$86674),(nextval($86675),$86676,$86677,$86678,$86679,$86680,$86681,$86682,$86683,$86684,$86685,$86686,$86687,$86688),(nextval($86689),$86690,$86691,$86692,$86693,$86694,$86695,$86696,$86697,$86698,$86699,$86700,$86701,$86702),(nextval($86703),$86704,$86705,$86706,$86707,$86708,$86709,$86710,$86711,$86712,$86713,$86714,$86715,$86716),(nextval($86717),$86718,$86719,$86720,$86721,$86722,$86723,$86724,$86725,$86726,$86727,$86728,$86729,$86730),(nextval($86731),$86732,$86733,$86734,$86735,$86736,$86737,$86738,$86739,$86740,$86741,$86742,$86743,$86744),(nextval($86745),$86746,$86747,$86748,$86749,$86750,$86751,$86752,$86753,$86754,$86755,$86756,$86757,$86758),(nextval($86759),$86760,$86761,$86762,$86763,$86764,$86765,$86766,$86767,$86768,$86769,$86770,$86771,$86772),(nextval($86773),$86774,$86775,$86776,$86777,$86778,$86779,$86780,$86781,$86782,$86783,$86784,$86785,$86786),(nextval($86787),$86788,$86789,$86790,$86791,$86792,$86793,$86794,$86795,$86796,$86797,$86798,$86799,$86800),(nextval($86801),$86802,$86803,$86804,$86805,$86806,$86807,$86808,$86809,$86810,$86811,$86812,$86813,$86814),(nextval($86815),$86816,$86817,$86818,$86819,$86820,$86821,$86822,$86823,$86824,$86825,$86826,$86827,$86828),(nextval($86829),$86830,$86831,$86832,$86833,$86834,$86835,$86836,$86837,$86838,$86839,$86840,$86841,$86842),(nextval($86843),$86844,$86845,$86846,$86847,$86848,$86849,$86850,$86851,$86852,$86853,$86854,$86855,$86856),(nextval($86857),$86858,$86859,$86860,$86861,$86862,$86863,$86864,$86865,$86866,$86867,$86868,$86869,$86870),(nextval($86871),$86872,$86873,$86874,$86875,$86876,$86877,$86878,$86879,$86880,$86881,$86882,$86883,$86884),(nextval($86885),$86886,$86887,$86888,$86889,$86890,$86891,$86892,$86893,$86894,$86895,$86896,$86897,$86898),(nextval($86899),$86900,$86901,$86902,$86903,$86904,$86905,$86906,$86907,$86908,$86909,$86910,$86911,$86912),(nextval($86913),$86914,$86915,$86916,$86917,$86918,$86919,$86920,$86921,$86922,$86923,$86924,$86925,$86926),(nextval($86927),$86928,$86929,$86930,$86931,$86932,$86933,$86934,$86935,$86936,$86937,$86938,$86939,$86940),(nextval($86941),$86942,$86943,$86944,$86945,$86946,$86947,$86948,$86949,$86950,$86951,$86952,$86953,$86954),(nextval($86955),$86956,$86957,$86958,$86959,$86960,$86961,$86962,$86963,$86964,$86965,$86966,$86967,$86968),(nextval($86969),$86970,$86971,$86972,$86973,$86974,$86975,$86976,$86977,$86978,$86979,$86980,$86981,$86982),(nextval($86983),$86984,$86985,$86986,$86987,$86988,$86989,$86990,$86991,$86992,$86993,$86994,$86995,$86996),(nextval($86997),$86998,$86999,$87000,$87001,$87002,$87003,$87004,$87005,$87006,$87007,$87008,$87009,$87010),(nextval($87011),$87012,$87013,$87014,$87015,$87016,$87017,$87018,$87019,$87020,$87021,$87022,$87023,$87024),(nextval($87025),$87026,$87027,$87028,$87029,$87030,$87031,$87032,$87033,$87034,$87035,$87036,$87037,$87038),(nextval($87039),$87040,$87041,$87042,$87043,$87044,$87045,$87046,$87047,$87048,$87049,$87050,$87051,$87052),(nextval($87053),$87054,$87055,$87056,$87057,$87058,$87059,$87060,$87061,$87062,$87063,$87064,$87065,$87066),(nextval($87067),$87068,$87069,$87070,$87071,$87072,$87073,$87074,$87075,$87076,$87077,$87078,$87079,$87080),(nextval($87081),$87082,$87083,$87084,$87085,$87086,$87087,$87088,$87089,$87090,$87091,$87092,$87093,$87094),(nextval($87095),$87096,$87097,$87098,$87099,$87100,$87101,$87102,$87103,$87104,$87105,$87106,$87107,$87108),(nextval($87109),$87110,$87111,$87112,$87113,$87114,$87115,$87116,$87117,$87118,$87119,$87120,$87121,$87122),(nextval($87123),$87124,$87125,$87126,$87127,$87128,$87129,$87130,$87131,$87132,$87133,$87134,$87135,$87136),(nextval($87137),$87138,$87139,$87140,$87141,$87142,$87143,$87144,$87145,$87146,$87147,$87148,$87149,$87150),(nextval($87151),$87152,$87153,$87154,$87155,$87156,$87157,$87158,$87159,$87160,$87161,$87162,$87163,$87164),(nextval($87165),$87166,$87167,$87168,$87169,$87170,$87171,$87172,$87173,$87174,$87175,$87176,$87177,$87178),(nextval($87179),$87180,$87181,$87182,$87183,$87184,$87185,$87186,$87187,$87188,$87189,$87190,$87191,$87192),(nextval($87193),$87194,$87195,$87196,$87197,$87198,$87199,$87200,$87201,$87202,$87203,$87204,$87205,$87206),(nextval($87207),$87208,$87209,$87210,$87211,$87212,$87213,$87214,$87215,$87216,$87217,$87218,$87219,$87220),(nextval($87221),$87222,$87223,$87224,$87225,$87226,$87227,$87228,$87229,$87230,$87231,$87232,$87233,$87234),(nextval($87235),$87236,$87237,$87238,$87239,$87240,$87241,$87242,$87243,$87244,$87245,$87246,$87247,$87248),(nextval($87249),$87250,$87251,$87252,$87253,$87254,$87255,$87256,$87257,$87258,$87259,$87260,$87261,$87262),(nextval($87263),$87264,$87265,$87266,$87267,$87268,$87269,$87270,$87271,$87272,$87273,$87274,$87275,$87276),(nextval($87277),$87278,$87279,$87280,$87281,$87282,$87283,$87284,$87285,$87286,$87287,$87288,$87289,$87290),(nextval($87291),$87292,$87293,$87294,$87295,$87296,$87297,$87298,$87299,$87300,$87301,$87302,$87303,$87304),(nextval($87305),$87306,$87307,$87308,$87309,$87310,$87311,$87312,$87313,$87314,$87315,$87316,$87317,$87318),(nextval($87319),$87320,$87321,$87322,$87323,$87324,$87325,$87326,$87327,$87328,$87329,$87330,$87331,$87332),(nextval($87333),$87334,$87335,$87336,$87337,$87338,$87339,$87340,$87341,$87342,$87343,$87344,$87345,$87346),(nextval($87347),$87348,$87349,$87350,$87351,$87352,$87353,$87354,$87355,$87356,$87357,$87358,$87359,$87360),(nextval($87361),$87362,$87363,$87364,$87365,$87366,$87367,$87368,$87369,$87370,$87371,$87372,$87373,$87374),(nextval($87375),$87376,$87377,$87378,$87379,$87380,$87381,$87382,$87383,$87384,$87385,$87386,$87387,$87388),(nextval($87389),$87390,$87391,$87392,$87393,$87394,$87395,$87396,$87397,$87398,$87399,$87400,$87401,$87402),(nextval($87403),$87404,$87405,$87406,$87407,$87408,$87409,$87410,$87411,$87412,$87413,$87414,$87415,$87416),(nextval($87417),$87418,$87419,$87420,$87421,$87422,$87423,$87424,$87425,$87426,$87427,$87428,$87429,$87430),(nextval($87431),$87432,$87433,$87434,$87435,$87436,$87437,$87438,$87439,$87440,$87441,$87442,$87443,$87444),(nextval($87445),$87446,$87447,$87448,$87449,$87450,$87451,$87452,$87453,$87454,$87455,$87456,$87457,$87458),(nextval($87459),$87460,$87461,$87462,$87463,$87464,$87465,$87466,$87467,$87468,$87469,$87470,$87471,$87472),(nextval($87473),$87474,$87475,$87476,$87477,$87478,$87479,$87480,$87481,$87482,$87483,$87484,$87485,$87486),(nextval($87487),$87488,$87489,$87490,$87491,$87492,$87493,$87494,$87495,$87496,$87497,$87498,$87499,$87500),(nextval($87501),$87502,$87503,$87504,$87505,$87506,$87507,$87508,$87509,$87510,$87511,$87512,$87513,$87514),(nextval($87515),$87516,$87517,$87518,$87519,$87520,$87521,$87522,$87523,$87524,$87525,$87526,$87527,$87528),(nextval($87529),$87530,$87531,$87532,$87533,$87534,$87535,$87536,$87537,$87538,$87539,$87540,$87541,$87542),(nextval($87543),$87544,$87545,$87546,$87547,$87548,$87549,$87550,$87551,$87552,$87553,$87554,$87555,$87556),(nextval($87557),$87558,$87559,$87560,$87561,$87562,$87563,$87564,$87565,$87566,$87567,$87568,$87569,$87570),(nextval($87571),$87572,$87573,$87574,$87575,$87576,$87577,$87578,$87579,$87580,$87581,$87582,$87583,$87584),(nextval($87585),$87586,$87587,$87588,$87589,$87590,$87591,$87592,$87593,$87594,$87595,$87596,$87597,$87598),(nextval($87599),$87600,$87601,$87602,$87603,$87604,$87605,$87606,$87607,$87608,$87609,$87610,$87611,$87612),(nextval($87613),$87614,$87615,$87616,$87617,$87618,$87619,$87620,$87621,$87622,$87623,$87624,$87625,$87626),(nextval($87627),$87628,$87629,$87630,$87631,$87632,$87633,$87634,$87635,$87636,$87637,$87638,$87639,$87640),(nextval($87641),$87642,$87643,$87644,$87645,$87646,$87647,$87648,$87649,$87650,$87651,$87652,$87653,$87654),(nextval($87655),$87656,$87657,$87658,$87659,$87660,$87661,$87662,$87663,$87664,$87665,$87666,$87667,$87668),(nextval($87669),$87670,$87671,$87672,$87673,$87674,$87675,$87676,$87677,$87678,$87679,$87680,$87681,$87682),(nextval($87683),$87684,$87685,$87686,$87687,$87688,$87689,$87690,$87691,$87692,$87693,$87694,$87695,$87696),(nextval($87697),$87698,$87699,$87700,$87701,$87702,$87703,$87704,$87705,$87706,$87707,$87708,$87709,$87710),(nextval($87711),$87712,$87713,$87714,$87715,$87716,$87717,$87718,$87719,$87720,$87721,$87722,$87723,$87724),(nextval($87725),$87726,$87727,$87728,$87729,$87730,$87731,$87732,$87733,$87734,$87735,$87736,$87737,$87738),(nextval($87739),$87740,$87741,$87742,$87743,$87744,$87745,$87746,$87747,$87748,$87749,$87750,$87751,$87752),(nextval($87753),$87754,$87755,$87756,$87757,$87758,$87759,$87760,$87761,$87762,$87763,$87764,$87765,$87766),(nextval($87767),$87768,$87769,$87770,$87771,$87772,$87773,$87774,$87775,$87776,$87777,$87778,$87779,$87780),(nextval($87781),$87782,$87783,$87784,$87785,$87786,$87787,$87788,$87789,$87790,$87791,$87792,$87793,$87794),(nextval($87795),$87796,$87797,$87798,$87799,$87800,$87801,$87802,$87803,$87804,$87805,$87806,$87807,$87808),(nextval($87809),$87810,$87811,$87812,$87813,$87814,$87815,$87816,$87817,$87818,$87819,$87820,$87821,$87822),(nextval($87823),$87824,$87825,$87826,$87827,$87828,$87829,$87830,$87831,$87832,$87833,$87834,$87835,$87836),(nextval($87837),$87838,$87839,$87840,$87841,$87842,$87843,$87844,$87845,$87846,$87847,$87848,$87849,$87850),(nextval($87851),$87852,$87853,$87854,$87855,$87856,$87857,$87858,$87859,$87860,$87861,$87862,$87863,$87864),(nextval($87865),$87866,$87867,$87868,$87869,$87870,$87871,$87872,$87873,$87874,$87875,$87876,$87877,$87878),(nextval($87879),$87880,$87881,$87882,$87883,$87884,$87885,$87886,$87887,$87888,$87889,$87890,$87891,$87892),(nextval($87893),$87894,$87895,$87896,$87897,$87898,$87899,$87900,$87901,$87902,$87903,$87904,$87905,$87906),(nextval($87907),$87908,$87909,$87910,$87911,$87912,$87913,$87914,$87915,$87916,$87917,$87918,$87919,$87920),(nextval($87921),$87922,$87923,$87924,$87925,$87926,$87927,$87928,$87929,$87930,$87931,$87932,$87933,$87934),(nextval($87935),$87936,$87937,$87938,$87939,$87940,$87941,$87942,$87943,$87944,$87945,$87946,$87947,$87948),(nextval($87949),$87950,$87951,$87952,$87953,$87954,$87955,$87956,$87957,$87958,$87959,$87960,$87961,$87962),(nextval($87963),$87964,$87965,$87966,$87967,$87968,$87969,$87970,$87971,$87972,$87973,$87974,$87975,$87976),(nextval($87977),$87978,$87979,$87980,$87981,$87982,$87983,$87984,$87985,$87986,$87987,$87988,$87989,$87990),(nextval($87991),$87992,$87993,$87994,$87995,$87996,$87997,$87998,$87999,$88000,$88001,$88002,$88003,$88004),(nextval($88005),$88006,$88007,$88008,$88009,$88010,$88011,$88012,$88013,$88014,$88015,$88016,$88017,$88018),(nextval($88019),$88020,$88021,$88022,$88023,$88024,$88025,$88026,$88027,$88028,$88029,$88030,$88031,$88032),(nextval($88033),$88034,$88035,$88036,$88037,$88038,$88039,$88040,$88041,$88042,$88043,$88044,$88045,$88046),(nextval($88047),$88048,$88049,$88050,$88051,$88052,$88053,$88054,$88055,$88056,$88057,$88058,$88059,$88060),(nextval($88061),$88062,$88063,$88064,$88065,$88066,$88067,$88068,$88069,$88070,$88071,$88072,$88073,$88074),(nextval($88075),$88076,$88077,$88078,$88079,$88080,$88081,$88082,$88083,$88084,$88085,$88086,$88087,$88088),(nextval($88089),$88090,$88091,$88092,$88093,$88094,$88095,$88096,$88097,$88098,$88099,$88100,$88101,$88102),(nextval($88103),$88104,$88105,$88106,$88107,$88108,$88109,$88110,$88111,$88112,$88113,$88114,$88115,$88116),(nextval($88117),$88118,$88119,$88120,$88121,$88122,$88123,$88124,$88125,$88126,$88127,$88128,$88129,$88130),(nextval($88131),$88132,$88133,$88134,$88135,$88136,$88137,$88138,$88139,$88140,$88141,$88142,$88143,$88144),(nextval($88145),$88146,$88147,$88148,$88149,$88150,$88151,$88152,$88153,$88154,$88155,$88156,$88157,$88158),(nextval($88159),$88160,$88161,$88162,$88163,$88164,$88165,$88166,$88167,$88168,$88169,$88170,$88171,$88172),(nextval($88173),$88174,$88175,$88176,$88177,$88178,$88179,$88180,$88181,$88182,$88183,$88184,$88185,$88186),(nextval($88187),$88188,$88189,$88190,$88191,$88192,$88193,$88194,$88195,$88196,$88197,$88198,$88199,$88200),(nextval($88201),$88202,$88203,$88204,$88205,$88206,$88207,$88208,$88209,$88210,$88211,$88212,$88213,$88214),(nextval($88215),$88216,$88217,$88218,$88219,$88220,$88221,$88222,$88223,$88224,$88225,$88226,$88227,$88228),(nextval($88229),$88230,$88231,$88232,$88233,$88234,$88235,$88236,$88237,$88238,$88239,$88240,$88241,$88242),(nextval($88243),$88244,$88245,$88246,$88247,$88248,$88249,$88250,$88251,$88252,$88253,$88254,$88255,$88256),(nextval($88257),$88258,$88259,$88260,$88261,$88262,$88263,$88264,$88265,$88266,$88267,$88268,$88269,$88270),(nextval($88271),$88272,$88273,$88274,$88275,$88276,$88277,$88278,$88279,$88280,$88281,$88282,$88283,$88284),(nextval($88285),$88286,$88287,$88288,$88289,$88290,$88291,$88292,$88293,$88294,$88295,$88296,$88297,$88298),(nextval($88299),$88300,$88301,$88302,$88303,$88304,$88305,$88306,$88307,$88308,$88309,$88310,$88311,$88312),(nextval($88313),$88314,$88315,$88316,$88317,$88318,$88319,$88320,$88321,$88322,$88323,$88324,$88325,$88326),(nextval($88327),$88328,$88329,$88330,$88331,$88332,$88333,$88334,$88335,$88336,$88337,$88338,$88339,$88340),(nextval($88341),$88342,$88343,$88344,$88345,$88346,$88347,$88348,$88349,$88350,$88351,$88352,$88353,$88354),(nextval($88355),$88356,$88357,$88358,$88359,$88360,$88361,$88362,$88363,$88364,$88365,$88366,$88367,$88368),(nextval($88369),$88370,$88371,$88372,$88373,$88374,$88375,$88376,$88377,$88378,$88379,$88380,$88381,$88382),(nextval($88383),$88384,$88385,$88386,$88387,$88388,$88389,$88390,$88391,$88392,$88393,$88394,$88395,$88396),(nextval($88397),$88398,$88399,$88400,$88401,$88402,$88403,$88404,$88405,$88406,$88407,$88408,$88409,$88410),(nextval($88411),$88412,$88413,$88414,$88415,$88416,$88417,$88418,$88419,$88420,$88421,$88422,$88423,$88424),(nextval($88425),$88426,$88427,$88428,$88429,$88430,$88431,$88432,$88433,$88434,$88435,$88436,$88437,$88438),(nextval($88439),$88440,$88441,$88442,$88443,$88444,$88445,$88446,$88447,$88448,$88449,$88450,$88451,$88452),(nextval($88453),$88454,$88455,$88456,$88457,$88458,$88459,$88460,$88461,$88462,$88463,$88464,$88465,$88466),(nextval($88467),$88468,$88469,$88470,$88471,$88472,$88473,$88474,$88475,$88476,$88477,$88478,$88479,$88480),(nextval($88481),$88482,$88483,$88484,$88485,$88486,$88487,$88488,$88489,$88490,$88491,$88492,$88493,$88494),(nextval($88495),$88496,$88497,$88498,$88499,$88500,$88501,$88502,$88503,$88504,$88505,$88506,$88507,$88508),(nextval($88509),$88510,$88511,$88512,$88513,$88514,$88515,$88516,$88517,$88518,$88519,$88520,$88521,$88522),(nextval($88523),$88524,$88525,$88526,$88527,$88528,$88529,$88530,$88531,$88532,$88533,$88534,$88535,$88536),(nextval($88537),$88538,$88539,$88540,$88541,$88542,$88543,$88544,$88545,$88546,$88547,$88548,$88549,$88550),(nextval($88551),$88552,$88553,$88554,$88555,$88556,$88557,$88558,$88559,$88560,$88561,$88562,$88563,$88564),(nextval($88565),$88566,$88567,$88568,$88569,$88570,$88571,$88572,$88573,$88574,$88575,$88576,$88577,$88578),(nextval($88579),$88580,$88581,$88582,$88583,$88584,$88585,$88586,$88587,$88588,$88589,$88590,$88591,$88592),(nextval($88593),$88594,$88595,$88596,$88597,$88598,$88599,$88600,$88601,$88602,$88603,$88604,$88605,$88606),(nextval($88607),$88608,$88609,$88610,$88611,$88612,$88613,$88614,$88615,$88616,$88617,$88618,$88619,$88620),(nextval($88621),$88622,$88623,$88624,$88625,$88626,$88627,$88628,$88629,$88630,$88631,$88632,$88633,$88634),(nextval($88635),$88636,$88637,$88638,$88639,$88640,$88641,$88642,$88643,$88644,$88645,$88646,$88647,$88648),(nextval($88649),$88650,$88651,$88652,$88653,$88654,$88655,$88656,$88657,$88658,$88659,$88660,$88661,$88662),(nextval($88663),$88664,$88665,$88666,$88667,$88668,$88669,$88670,$88671,$88672,$88673,$88674,$88675,$88676),(nextval($88677),$88678,$88679,$88680,$88681,$88682,$88683,$88684,$88685,$88686,$88687,$88688,$88689,$88690),(nextval($88691),$88692,$88693,$88694,$88695,$88696,$88697,$88698,$88699,$88700,$88701,$88702,$88703,$88704),(nextval($88705),$88706,$88707,$88708,$88709,$88710,$88711,$88712,$88713,$88714,$88715,$88716,$88717,$88718),(nextval($88719),$88720,$88721,$88722,$88723,$88724,$88725,$88726,$88727,$88728,$88729,$88730,$88731,$88732),(nextval($88733),$88734,$88735,$88736,$88737,$88738,$88739,$88740,$88741,$88742,$88743,$88744,$88745,$88746),(nextval($88747),$88748,$88749,$88750,$88751,$88752,$88753,$88754,$88755,$88756,$88757,$88758,$88759,$88760),(nextval($88761),$88762,$88763,$88764,$88765,$88766,$88767,$88768,$88769,$88770,$88771,$88772,$88773,$88774),(nextval($88775),$88776,$88777,$88778,$88779,$88780,$88781,$88782,$88783,$88784,$88785,$88786,$88787,$88788),(nextval($88789),$88790,$88791,$88792,$88793,$88794,$88795,$88796,$88797,$88798,$88799,$88800,$88801,$88802),(nextval($88803),$88804,$88805,$88806,$88807,$88808,$88809,$88810,$88811,$88812,$88813,$88814,$88815,$88816),(nextval($88817),$88818,$88819,$88820,$88821,$88822,$88823,$88824,$88825,$88826,$88827,$88828,$88829,$88830),(nextval($88831),$88832,$88833,$88834,$88835,$88836,$88837,$88838,$88839,$88840,$88841,$88842,$88843,$88844),(nextval($88845),$88846,$88847,$88848,$88849,$88850,$88851,$88852,$88853,$88854,$88855,$88856,$88857,$88858),(nextval($88859),$88860,$88861,$88862,$88863,$88864,$88865,$88866,$88867,$88868,$88869,$88870,$88871,$88872),(nextval($88873),$88874,$88875,$88876,$88877,$88878,$88879,$88880,$88881,$88882,$88883,$88884,$88885,$88886),(nextval($88887),$88888,$88889,$88890,$88891,$88892,$88893,$88894,$88895,$88896,$88897,$88898,$88899,$88900),(nextval($88901),$88902,$88903,$88904,$88905,$88906,$88907,$88908,$88909,$88910,$88911,$88912,$88913,$88914),(nextval($88915),$88916,$88917,$88918,$88919,$88920,$88921,$88922,$88923,$88924,$88925,$88926,$88927,$88928),(nextval($88929),$88930,$88931,$88932,$88933,$88934,$88935,$88936,$88937,$88938,$88939,$88940,$88941,$88942),(nextval($88943),$88944,$88945,$88946,$88947,$88948,$88949,$88950,$88951,$88952,$88953,$88954,$88955,$88956),(nextval($88957),$88958,$88959,$88960,$88961,$88962,$88963,$88964,$88965,$88966,$88967,$88968,$88969,$88970),(nextval($88971),$88972,$88973,$88974,$88975,$88976,$88977,$88978,$88979,$88980,$88981,$88982,$88983,$88984),(nextval($88985),$88986,$88987,$88988,$88989,$88990,$88991,$88992,$88993,$88994,$88995,$88996,$88997,$88998),(nextval($88999),$89000,$89001,$89002,$89003,$89004,$89005,$89006,$89007,$89008,$89009,$89010,$89011,$89012),(nextval($89013),$89014,$89015,$89016,$89017,$89018,$89019,$89020,$89021,$89022,$89023,$89024,$89025,$89026),(nextval($89027),$89028,$89029,$89030,$89031,$89032,$89033,$89034,$89035,$89036,$89037,$89038,$89039,$89040),(nextval($89041),$89042,$89043,$89044,$89045,$89046,$89047,$89048,$89049,$89050,$89051,$89052,$89053,$89054),(nextval($89055),$89056,$89057,$89058,$89059,$89060,$89061,$89062,$89063,$89064,$89065,$89066,$89067,$89068),(nextval($89069),$89070,$89071,$89072,$89073,$89074,$89075,$89076,$89077,$89078,$89079,$89080,$89081,$89082),(nextval($89083),$89084,$89085,$89086,$89087,$89088,$89089,$89090,$89091,$89092,$89093,$89094,$89095,$89096),(nextval($89097),$89098,$89099,$89100,$89101,$89102,$89103,$89104,$89105,$89106,$89107,$89108,$89109,$89110),(nextval($89111),$89112,$89113,$89114,$89115,$89116,$89117,$89118,$89119,$89120,$89121,$89122,$89123,$89124),(nextval($89125),$89126,$89127,$89128,$89129,$89130,$89131,$89132,$89133,$89134,$89135,$89136,$89137,$89138),(nextval($89139),$89140,$89141,$89142,$89143,$89144,$89145,$89146,$89147,$89148,$89149,$89150,$89151,$89152),(nextval($89153),$89154,$89155,$89156,$89157,$89158,$89159,$89160,$89161,$89162,$89163,$89164,$89165,$89166),(nextval($89167),$89168,$89169,$89170,$89171,$89172,$89173,$89174,$89175,$89176,$89177,$89178,$89179,$89180),(nextval($89181),$89182,$89183,$89184,$89185,$89186,$89187,$89188,$89189,$89190,$89191,$89192,$89193,$89194),(nextval($89195),$89196,$89197,$89198,$89199,$89200,$89201,$89202,$89203,$89204,$89205,$89206,$89207,$89208),(nextval($89209),$89210,$89211,$89212,$89213,$89214,$89215,$89216,$89217,$89218,$89219,$89220,$89221,$89222),(nextval($89223),$89224,$89225,$89226,$89227,$89228,$89229,$89230,$89231,$89232,$89233,$89234,$89235,$89236),(nextval($89237),$89238,$89239,$89240,$89241,$89242,$89243,$89244,$89245,$89246,$89247,$89248,$89249,$89250),(nextval($89251),$89252,$89253,$89254,$89255,$89256,$89257,$89258,$89259,$89260,$89261,$89262,$89263,$89264),(nextval($89265),$89266,$89267,$89268,$89269,$89270,$89271,$89272,$89273,$89274,$89275,$89276,$89277,$89278),(nextval($89279),$89280,$89281,$89282,$89283,$89284,$89285,$89286,$89287,$89288,$89289,$89290,$89291,$89292),(nextval($89293),$89294,$89295,$89296,$89297,$89298,$89299,$89300,$89301,$89302,$89303,$89304,$89305,$89306),(nextval($89307),$89308,$89309,$89310,$89311,$89312,$89313,$89314,$89315,$89316,$89317,$89318,$89319,$89320),(nextval($89321),$89322,$89323,$89324,$89325,$89326,$89327,$89328,$89329,$89330,$89331,$89332,$89333,$89334),(nextval($89335),$89336,$89337,$89338,$89339,$89340,$89341,$89342,$89343,$89344,$89345,$89346,$89347,$89348),(nextval($89349),$89350,$89351,$89352,$89353,$89354,$89355,$89356,$89357,$89358,$89359,$89360,$89361,$89362),(nextval($89363),$89364,$89365,$89366,$89367,$89368,$89369,$89370,$89371,$89372,$89373,$89374,$89375,$89376),(nextval($89377),$89378,$89379,$89380,$89381,$89382,$89383,$89384,$89385,$89386,$89387,$89388,$89389,$89390),(nextval($89391),$89392,$89393,$89394,$89395,$89396,$89397,$89398,$89399,$89400,$89401,$89402,$89403,$89404),(nextval($89405),$89406,$89407,$89408,$89409,$89410,$89411,$89412,$89413,$89414,$89415,$89416,$89417,$89418),(nextval($89419),$89420,$89421,$89422,$89423,$89424,$89425,$89426,$89427,$89428,$89429,$89430,$89431,$89432),(nextval($89433),$89434,$89435,$89436,$89437,$89438,$89439,$89440,$89441,$89442,$89443,$89444,$89445,$89446),(nextval($89447),$89448,$89449,$89450,$89451,$89452,$89453,$89454,$89455,$89456,$89457,$89458,$89459,$89460),(nextval($89461),$89462,$89463,$89464,$89465,$89466,$89467,$89468,$89469,$89470,$89471,$89472,$89473,$89474),(nextval($89475),$89476,$89477,$89478,$89479,$89480,$89481,$89482,$89483,$89484,$89485,$89486,$89487,$89488),(nextval($89489),$89490,$89491,$89492,$89493,$89494,$89495,$89496,$89497,$89498,$89499,$89500,$89501,$89502),(nextval($89503),$89504,$89505,$89506,$89507,$89508,$89509,$89510,$89511,$89512,$89513,$89514,$89515,$89516),(nextval($89517),$89518,$89519,$89520,$89521,$89522,$89523,$89524,$89525,$89526,$89527,$89528,$89529,$89530),(nextval($89531),$89532,$89533,$89534,$89535,$89536,$89537,$89538,$89539,$89540,$89541,$89542,$89543,$89544),(nextval($89545),$89546,$89547,$89548,$89549,$89550,$89551,$89552,$89553,$89554,$89555,$89556,$89557,$89558),(nextval($89559),$89560,$89561,$89562,$89563,$89564,$89565,$89566,$89567,$89568,$89569,$89570,$89571,$89572),(nextval($89573),$89574,$89575,$89576,$89577,$89578,$89579,$89580,$89581,$89582,$89583,$89584,$89585,$89586),(nextval($89587),$89588,$89589,$89590,$89591,$89592,$89593,$89594,$89595,$89596,$89597,$89598,$89599,$89600),(nextval($89601),$89602,$89603,$89604,$89605,$89606,$89607,$89608,$89609,$89610,$89611,$89612,$89613,$89614),(nextval($89615),$89616,$89617,$89618,$89619,$89620,$89621,$89622,$89623,$89624,$89625,$89626,$89627,$89628),(nextval($89629),$89630,$89631,$89632,$89633,$89634,$89635,$89636,$89637,$89638,$89639,$89640,$89641,$89642),(nextval($89643),$89644,$89645,$89646,$89647,$89648,$89649,$89650,$89651,$89652,$89653,$89654,$89655,$89656),(nextval($89657),$89658,$89659,$89660,$89661,$89662,$89663,$89664,$89665,$89666,$89667,$89668,$89669,$89670),(nextval($89671),$89672,$89673,$89674,$89675,$89676,$89677,$89678,$89679,$89680,$89681,$89682,$89683,$89684),(nextval($89685),$89686,$89687,$89688,$89689,$89690,$89691,$89692,$89693,$89694,$89695,$89696,$89697,$89698),(nextval($89699),$89700,$89701,$89702,$89703,$89704,$89705,$89706,$89707,$89708,$89709,$89710,$89711,$89712),(nextval($89713),$89714,$89715,$89716,$89717,$89718,$89719,$89720,$89721,$89722,$89723,$89724,$89725,$89726),(nextval($89727),$89728,$89729,$89730,$89731,$89732,$89733,$89734,$89735,$89736,$89737,$89738,$89739,$89740),(nextval($89741),$89742,$89743,$89744,$89745,$89746,$89747,$89748,$89749,$89750,$89751,$89752,$89753,$89754),(nextval($89755),$89756,$89757,$89758,$89759,$89760,$89761,$89762,$89763,$89764,$89765,$89766,$89767,$89768),(nextval($89769),$89770,$89771,$89772,$89773,$89774,$89775,$89776,$89777,$89778,$89779,$89780,$89781,$89782),(nextval($89783),$89784,$89785,$89786,$89787,$89788,$89789,$89790,$89791,$89792,$89793,$89794,$89795,$89796),(nextval($89797),$89798,$89799,$89800,$89801,$89802,$89803,$89804,$89805,$89806,$89807,$89808,$89809,$89810),(nextval($89811),$89812,$89813,$89814,$89815,$89816,$89817,$89818,$89819,$89820,$89821,$89822,$89823,$89824),(nextval($89825),$89826,$89827,$89828,$89829,$89830,$89831,$89832,$89833,$89834,$89835,$89836,$89837,$89838),(nextval($89839),$89840,$89841,$89842,$89843,$89844,$89845,$89846,$89847,$89848,$89849,$89850,$89851,$89852),(nextval($89853),$89854,$89855,$89856,$89857,$89858,$89859,$89860,$89861,$89862,$89863,$89864,$89865,$89866),(nextval($89867),$89868,$89869,$89870,$89871,$89872,$89873,$89874,$89875,$89876,$89877,$89878,$89879,$89880),(nextval($89881),$89882,$89883,$89884,$89885,$89886,$89887,$89888,$89889,$89890,$89891,$89892,$89893,$89894),(nextval($89895),$89896,$89897,$89898,$89899,$89900,$89901,$89902,$89903,$89904,$89905,$89906,$89907,$89908),(nextval($89909),$89910,$89911,$89912,$89913,$89914,$89915,$89916,$89917,$89918,$89919,$89920,$89921,$89922),(nextval($89923),$89924,$89925,$89926,$89927,$89928,$89929,$89930,$89931,$89932,$89933,$89934,$89935,$89936),(nextval($89937),$89938,$89939,$89940,$89941,$89942,$89943,$89944,$89945,$89946,$89947,$89948,$89949,$89950),(nextval($89951),$89952,$89953,$89954,$89955,$89956,$89957,$89958,$89959,$89960,$89961,$89962,$89963,$89964),(nextval($89965),$89966,$89967,$89968,$89969,$89970,$89971,$89972,$89973,$89974,$89975,$89976,$89977,$89978),(nextval($89979),$89980,$89981,$89982,$89983,$89984,$89985,$89986,$89987,$89988,$89989,$89990,$89991,$89992),(nextval($89993),$89994,$89995,$89996,$89997,$89998,$89999,$90000,$90001,$90002,$90003,$90004,$90005,$90006),(nextval($90007),$90008,$90009,$90010,$90011,$90012,$90013,$90014,$90015,$90016,$90017,$90018,$90019,$90020),(nextval($90021),$90022,$90023,$90024,$90025,$90026,$90027,$90028,$90029,$90030,$90031,$90032,$90033,$90034),(nextval($90035),$90036,$90037,$90038,$90039,$90040,$90041,$90042,$90043,$90044,$90045,$90046,$90047,$90048),(nextval($90049),$90050,$90051,$90052,$90053,$90054,$90055,$90056,$90057,$90058,$90059,$90060,$90061,$90062),(nextval($90063),$90064,$90065,$90066,$90067,$90068,$90069,$90070,$90071,$90072,$90073,$90074,$90075,$90076),(nextval($90077),$90078,$90079,$90080,$90081,$90082,$90083,$90084,$90085,$90086,$90087,$90088,$90089,$90090),(nextval($90091),$90092,$90093,$90094,$90095,$90096,$90097,$90098,$90099,$90100,$90101,$90102,$90103,$90104),(nextval($90105),$90106,$90107,$90108,$90109,$90110,$90111,$90112,$90113,$90114,$90115,$90116,$90117,$90118),(nextval($90119),$90120,$90121,$90122,$90123,$90124,$90125,$90126,$90127,$90128,$90129,$90130,$90131,$90132),(nextval($90133),$90134,$90135,$90136,$90137,$90138,$90139,$90140,$90141,$90142,$90143,$90144,$90145,$90146),(nextval($90147),$90148,$90149,$90150,$90151,$90152,$90153,$90154,$90155,$90156,$90157,$90158,$90159,$90160),(nextval($90161),$90162,$90163,$90164,$90165,$90166,$90167,$90168,$90169,$90170,$90171,$90172,$90173,$90174),(nextval($90175),$90176,$90177,$90178,$90179,$90180,$90181,$90182,$90183,$90184,$90185,$90186,$90187,$90188),(nextval($90189),$90190,$90191,$90192,$90193,$90194,$90195,$90196,$90197,$90198,$90199,$90200,$90201,$90202),(nextval($90203),$90204,$90205,$90206,$90207,$90208,$90209,$90210,$90211,$90212,$90213,$90214,$90215,$90216),(nextval($90217),$90218,$90219,$90220,$90221,$90222,$90223,$90224,$90225,$90226,$90227,$90228,$90229,$90230),(nextval($90231),$90232,$90233,$90234,$90235,$90236,$90237,$90238,$90239,$90240,$90241,$90242,$90243,$90244),(nextval($90245),$90246,$90247,$90248,$90249,$90250,$90251,$90252,$90253,$90254,$90255,$90256,$90257,$90258),(nextval($90259),$90260,$90261,$90262,$90263,$90264,$90265,$90266,$90267,$90268,$90269,$90270,$90271,$90272),(nextval($90273),$90274,$90275,$90276,$90277,$90278,$90279,$90280,$90281,$90282,$90283,$90284,$90285,$90286),(nextval($90287),$90288,$90289,$90290,$90291,$90292,$90293,$90294,$90295,$90296,$90297,$90298,$90299,$90300),(nextval($90301),$90302,$90303,$90304,$90305,$90306,$90307,$90308,$90309,$90310,$90311,$90312,$90313,$90314),(nextval($90315),$90316,$90317,$90318,$90319,$90320,$90321,$90322,$90323,$90324,$90325,$90326,$90327,$90328),(nextval($90329),$90330,$90331,$90332,$90333,$90334,$90335,$90336,$90337,$90338,$90339,$90340,$90341,$90342),(nextval($90343),$90344,$90345,$90346,$90347,$90348,$90349,$90350,$90351,$90352,$90353,$90354,$90355,$90356),(nextval($90357),$90358,$90359,$90360,$90361,$90362,$90363,$90364,$90365,$90366,$90367,$90368,$90369,$90370),(nextval($90371),$90372,$90373,$90374,$90375,$90376,$90377,$90378,$90379,$90380,$90381,$90382,$90383,$90384),(nextval($90385),$90386,$90387,$90388,$90389,$90390,$90391,$90392,$90393,$90394,$90395,$90396,$90397,$90398),(nextval($90399),$90400,$90401,$90402,$90403,$90404,$90405,$90406,$90407,$90408,$90409,$90410,$90411,$90412),(nextval($90413),$90414,$90415,$90416,$90417,$90418,$90419,$90420,$90421,$90422,$90423,$90424,$90425,$90426),(nextval($90427),$90428,$90429,$90430,$90431,$90432,$90433,$90434,$90435,$90436,$90437,$90438,$90439,$90440),(nextval($90441),$90442,$90443,$90444,$90445,$90446,$90447,$90448,$90449,$90450,$90451,$90452,$90453,$90454),(nextval($90455),$90456,$90457,$90458,$90459,$90460,$90461,$90462,$90463,$90464,$90465,$90466,$90467,$90468),(nextval($90469),$90470,$90471,$90472,$90473,$90474,$90475,$90476,$90477,$90478,$90479,$90480,$90481,$90482),(nextval($90483),$90484,$90485,$90486,$90487,$90488,$90489,$90490,$90491,$90492,$90493,$90494,$90495,$90496),(nextval($90497),$90498,$90499,$90500,$90501,$90502,$90503,$90504,$90505,$90506,$90507,$90508,$90509,$90510),(nextval($90511),$90512,$90513,$90514,$90515,$90516,$90517,$90518,$90519,$90520,$90521,$90522,$90523,$90524),(nextval($90525),$90526,$90527,$90528,$90529,$90530,$90531,$90532,$90533,$90534,$90535,$90536,$90537,$90538),(nextval($90539),$90540,$90541,$90542,$90543,$90544,$90545,$90546,$90547,$90548,$90549,$90550,$90551,$90552),(nextval($90553),$90554,$90555,$90556,$90557,$90558,$90559,$90560,$90561,$90562,$90563,$90564,$90565,$90566),(nextval($90567),$90568,$90569,$90570,$90571,$90572,$90573,$90574,$90575,$90576,$90577,$90578,$90579,$90580),(nextval($90581),$90582,$90583,$90584,$90585,$90586,$90587,$90588,$90589,$90590,$90591,$90592,$90593,$90594),(nextval($90595),$90596,$90597,$90598,$90599,$90600,$90601,$90602,$90603,$90604,$90605,$90606,$90607,$90608),(nextval($90609),$90610,$90611,$90612,$90613,$90614,$90615,$90616,$90617,$90618,$90619,$90620,$90621,$90622),(nextval($90623),$90624,$90625,$90626,$90627,$90628,$90629,$90630,$90631,$90632,$90633,$90634,$90635,$90636),(nextval($90637),$90638,$90639,$90640,$90641,$90642,$90643,$90644,$90645,$90646,$90647,$90648,$90649,$90650),(nextval($90651),$90652,$90653,$90654,$90655,$90656,$90657,$90658,$90659,$90660,$90661,$90662,$90663,$90664),(nextval($90665),$90666,$90667,$90668,$90669,$90670,$90671,$90672,$90673,$90674,$90675,$90676,$90677,$90678),(nextval($90679),$90680,$90681,$90682,$90683,$90684,$90685,$90686,$90687,$90688,$90689,$90690,$90691,$90692),(nextval($90693),$90694,$90695,$90696,$90697,$90698,$90699,$90700,$90701,$90702,$90703,$90704,$90705,$90706),(nextval($90707),$90708,$90709,$90710,$90711,$90712,$90713,$90714,$90715,$90716,$90717,$90718,$90719,$90720),(nextval($90721),$90722,$90723,$90724,$90725,$90726,$90727,$90728,$90729,$90730,$90731,$90732,$90733,$90734),(nextval($90735),$90736,$90737,$90738,$90739,$90740,$90741,$90742,$90743,$90744,$90745,$90746,$90747,$90748),(nextval($90749),$90750,$90751,$90752,$90753,$90754,$90755,$90756,$90757,$90758,$90759,$90760,$90761,$90762),(nextval($90763),$90764,$90765,$90766,$90767,$90768,$90769,$90770,$90771,$90772,$90773,$90774,$90775,$90776),(nextval($90777),$90778,$90779,$90780,$90781,$90782,$90783,$90784,$90785,$90786,$90787,$90788,$90789,$90790),(nextval($90791),$90792,$90793,$90794,$90795,$90796,$90797,$90798,$90799,$90800,$90801,$90802,$90803,$90804),(nextval($90805),$90806,$90807,$90808,$90809,$90810,$90811,$90812,$90813,$90814,$90815,$90816,$90817,$90818),(nextval($90819),$90820,$90821,$90822,$90823,$90824,$90825,$90826,$90827,$90828,$90829,$90830,$90831,$90832),(nextval($90833),$90834,$90835,$90836,$90837,$90838,$90839,$90840,$90841,$90842,$90843,$90844,$90845,$90846),(nextval($90847),$90848,$90849,$90850,$90851,$90852,$90853,$90854,$90855,$90856,$90857,$90858,$90859,$90860),(nextval($90861),$90862,$90863,$90864,$90865,$90866,$90867,$90868,$90869,$90870,$90871,$90872,$90873,$90874),(nextval($90875),$90876,$90877,$90878,$90879,$90880,$90881,$90882,$90883,$90884,$90885,$90886,$90887,$90888),(nextval($90889),$90890,$90891,$90892,$90893,$90894,$90895,$90896,$90897,$90898,$90899,$90900,$90901,$90902),(nextval($90903),$90904,$90905,$90906,$90907,$90908,$90909,$90910,$90911,$90912,$90913,$90914,$90915,$90916),(nextval($90917),$90918,$90919,$90920,$90921,$90922,$90923,$90924,$90925,$90926,$90927,$90928,$90929,$90930),(nextval($90931),$90932,$90933,$90934,$90935,$90936,$90937,$90938,$90939,$90940,$90941,$90942,$90943,$90944),(nextval($90945),$90946,$90947,$90948,$90949,$90950,$90951,$90952,$90953,$90954,$90955,$90956,$90957,$90958),(nextval($90959),$90960,$90961,$90962,$90963,$90964,$90965,$90966,$90967,$90968,$90969,$90970,$90971,$90972),(nextval($90973),$90974,$90975,$90976,$90977,$90978,$90979,$90980,$90981,$90982,$90983,$90984,$90985,$90986),(nextval($90987),$90988,$90989,$90990,$90991,$90992,$90993,$90994,$90995,$90996,$90997,$90998,$90999,$91000),(nextval($91001),$91002,$91003,$91004,$91005,$91006,$91007,$91008,$91009,$91010,$91011,$91012,$91013,$91014),(nextval($91015),$91016,$91017,$91018,$91019,$91020,$91021,$91022,$91023,$91024,$91025,$91026,$91027,$91028),(nextval($91029),$91030,$91031,$91032,$91033,$91034,$91035,$91036,$91037,$91038,$91039,$91040,$91041,$91042),(nextval($91043),$91044,$91045,$91046,$91047,$91048,$91049,$91050,$91051,$91052,$91053,$91054,$91055,$91056),(nextval($91057),$91058,$91059,$91060,$91061,$91062,$91063,$91064,$91065,$91066,$91067,$91068,$91069,$91070),(nextval($91071),$91072,$91073,$91074,$91075,$91076,$91077,$91078,$91079,$91080,$91081,$91082,$91083,$91084),(nextval($91085),$91086,$91087,$91088,$91089,$91090,$91091,$91092,$91093,$91094,$91095,$91096,$91097,$91098),(nextval($91099),$91100,$91101,$91102,$91103,$91104,$91105,$91106,$91107,$91108,$91109,$91110,$91111,$91112),(nextval($91113),$91114,$91115,$91116,$91117,$91118,$91119,$91120,$91121,$91122,$91123,$91124,$91125,$91126),(nextval($91127),$91128,$91129,$91130,$91131,$91132,$91133,$91134,$91135,$91136,$91137,$91138,$91139,$91140),(nextval($91141),$91142,$91143,$91144,$91145,$91146,$91147,$91148,$91149,$91150,$91151,$91152,$91153,$91154),(nextval($91155),$91156,$91157,$91158,$91159,$91160,$91161,$91162,$91163,$91164,$91165,$91166,$91167,$91168),(nextval($91169),$91170,$91171,$91172,$91173,$91174,$91175,$91176,$91177,$91178,$91179,$91180,$91181,$91182),(nextval($91183),$91184,$91185,$91186,$91187,$91188,$91189,$91190,$91191,$91192,$91193,$91194,$91195,$91196),(nextval($91197),$91198,$91199,$91200,$91201,$91202,$91203,$91204,$91205,$91206,$91207,$91208,$91209,$91210),(nextval($91211),$91212,$91213,$91214,$91215,$91216,$91217,$91218,$91219,$91220,$91221,$91222,$91223,$91224),(nextval($91225),$91226,$91227,$91228,$91229,$91230,$91231,$91232,$91233,$91234,$91235,$91236,$91237,$91238),(nextval($91239),$91240,$91241,$91242,$91243,$91244,$91245,$91246,$91247,$91248,$91249,$91250,$91251,$91252),(nextval($91253),$91254,$91255,$91256,$91257,$91258,$91259,$91260,$91261,$91262,$91263,$91264,$91265,$91266),(nextval($91267),$91268,$91269,$91270,$91271,$91272,$91273,$91274,$91275,$91276,$91277,$91278,$91279,$91280),(nextval($91281),$91282,$91283,$91284,$91285,$91286,$91287,$91288,$91289,$91290,$91291,$91292,$91293,$91294),(nextval($91295),$91296,$91297,$91298,$91299,$91300,$91301,$91302,$91303,$91304,$91305,$91306,$91307,$91308),(nextval($91309),$91310,$91311,$91312,$91313,$91314,$91315,$91316,$91317,$91318,$91319,$91320,$91321,$91322),(nextval($91323),$91324,$91325,$91326,$91327,$91328,$91329,$91330,$91331,$91332,$91333,$91334,$91335,$91336),(nextval($91337),$91338,$91339,$91340,$91341,$91342,$91343,$91344,$91345,$91346,$91347,$91348,$91349,$91350),(nextval($91351),$91352,$91353,$91354,$91355,$91356,$91357,$91358,$91359,$91360,$91361,$91362,$91363,$91364),(nextval($91365),$91366,$91367,$91368,$91369,$91370,$91371,$91372,$91373,$91374,$91375,$91376,$91377,$91378),(nextval($91379),$91380,$91381,$91382,$91383,$91384,$91385,$91386,$91387,$91388,$91389,$91390,$91391,$91392),(nextval($91393),$91394,$91395,$91396,$91397,$91398,$91399,$91400,$91401,$91402,$91403,$91404,$91405,$91406),(nextval($91407),$91408,$91409,$91410,$91411,$91412,$91413,$91414,$91415,$91416,$91417,$91418,$91419,$91420),(nextval($91421),$91422,$91423,$91424,$91425,$91426,$91427,$91428,$91429,$91430,$91431,$91432,$91433,$91434),(nextval($91435),$91436,$91437,$91438,$91439,$91440,$91441,$91442,$91443,$91444,$91445,$91446,$91447,$91448),(nextval($91449),$91450,$91451,$91452,$91453,$91454,$91455,$91456,$91457,$91458,$91459,$91460,$91461,$91462),(nextval($91463),$91464,$91465,$91466,$91467,$91468,$91469,$91470,$91471,$91472,$91473,$91474,$91475,$91476),(nextval($91477),$91478,$91479,$91480,$91481,$91482,$91483,$91484,$91485,$91486,$91487,$91488,$91489,$91490),(nextval($91491),$91492,$91493,$91494,$91495,$91496,$91497,$91498,$91499,$91500,$91501,$91502,$91503,$91504),(nextval($91505),$91506,$91507,$91508,$91509,$91510,$91511,$91512,$91513,$91514,$91515,$91516,$91517,$91518),(nextval($91519),$91520,$91521,$91522,$91523,$91524,$91525,$91526,$91527,$91528,$91529,$91530,$91531,$91532),(nextval($91533),$91534,$91535,$91536,$91537,$91538,$91539,$91540,$91541,$91542,$91543,$91544,$91545,$91546),(nextval($91547),$91548,$91549,$91550,$91551,$91552,$91553,$91554,$91555,$91556,$91557,$91558,$91559,$91560),(nextval($91561),$91562,$91563,$91564,$91565,$91566,$91567,$91568,$91569,$91570,$91571,$91572,$91573,$91574),(nextval($91575),$91576,$91577,$91578,$91579,$91580,$91581,$91582,$91583,$91584,$91585,$91586,$91587,$91588),(nextval($91589),$91590,$91591,$91592,$91593,$91594,$91595,$91596,$91597,$91598,$91599,$91600,$91601,$91602),(nextval($91603),$91604,$91605,$91606,$91607,$91608,$91609,$91610,$91611,$91612,$91613,$91614,$91615,$91616),(nextval($91617),$91618,$91619,$91620,$91621,$91622,$91623,$91624,$91625,$91626,$91627,$91628,$91629,$91630),(nextval($91631),$91632,$91633,$91634,$91635,$91636,$91637,$91638,$91639,$91640,$91641,$91642,$91643,$91644),(nextval($91645),$91646,$91647,$91648,$91649,$91650,$91651,$91652,$91653,$91654,$91655,$91656,$91657,$91658),(nextval($91659),$91660,$91661,$91662,$91663,$91664,$91665,$91666,$91667,$91668,$91669,$91670,$91671,$91672),(nextval($91673),$91674,$91675,$91676,$91677,$91678,$91679,$91680,$91681,$91682,$91683,$91684,$91685,$91686),(nextval($91687),$91688,$91689,$91690,$91691,$91692,$91693,$91694,$91695,$91696,$91697,$91698,$91699,$91700),(nextval($91701),$91702,$91703,$91704,$91705,$91706,$91707,$91708,$91709,$91710,$91711,$91712,$91713,$91714),(nextval($91715),$91716,$91717,$91718,$91719,$91720,$91721,$91722,$91723,$91724,$91725,$91726,$91727,$91728),(nextval($91729),$91730,$91731,$91732,$91733,$91734,$91735,$91736,$91737,$91738,$91739,$91740,$91741,$91742),(nextval($91743),$91744,$91745,$91746,$91747,$91748,$91749,$91750,$91751,$91752,$91753,$91754,$91755,$91756),(nextval($91757),$91758,$91759,$91760,$91761,$91762,$91763,$91764,$91765,$91766,$91767,$91768,$91769,$91770),(nextval($91771),$91772,$91773,$91774,$91775,$91776,$91777,$91778,$91779,$91780,$91781,$91782,$91783,$91784),(nextval($91785),$91786,$91787,$91788,$91789,$91790,$91791,$91792,$91793,$91794,$91795,$91796,$91797,$91798),(nextval($91799),$91800,$91801,$91802,$91803,$91804,$91805,$91806,$91807,$91808,$91809,$91810,$91811,$91812),(nextval($91813),$91814,$91815,$91816,$91817,$91818,$91819,$91820,$91821,$91822,$91823,$91824,$91825,$91826),(nextval($91827),$91828,$91829,$91830,$91831,$91832,$91833,$91834,$91835,$91836,$91837,$91838,$91839,$91840),(nextval($91841),$91842,$91843,$91844,$91845,$91846,$91847,$91848,$91849,$91850,$91851,$91852,$91853,$91854),(nextval($91855),$91856,$91857,$91858,$91859,$91860,$91861,$91862,$91863,$91864,$91865,$91866,$91867,$91868),(nextval($91869),$91870,$91871,$91872,$91873,$91874,$91875,$91876,$91877,$91878,$91879,$91880,$91881,$91882),(nextval($91883),$91884,$91885,$91886,$91887,$91888,$91889,$91890,$91891,$91892,$91893,$91894,$91895,$91896),(nextval($91897),$91898,$91899,$91900,$91901,$91902,$91903,$91904,$91905,$91906,$91907,$91908,$91909,$91910),(nextval($91911),$91912,$91913,$91914,$91915,$91916,$91917,$91918,$91919,$91920,$91921,$91922,$91923,$91924),(nextval($91925),$91926,$91927,$91928,$91929,$91930,$91931,$91932,$91933,$91934,$91935,$91936,$91937,$91938),(nextval($91939),$91940,$91941,$91942,$91943,$91944,$91945,$91946,$91947,$91948,$91949,$91950,$91951,$91952),(nextval($91953),$91954,$91955,$91956,$91957,$91958,$91959,$91960,$91961,$91962,$91963,$91964,$91965,$91966),(nextval($91967),$91968,$91969,$91970,$91971,$91972,$91973,$91974,$91975,$91976,$91977,$91978,$91979,$91980),(nextval($91981),$91982,$91983,$91984,$91985,$91986,$91987,$91988,$91989,$91990,$91991,$91992,$91993,$91994),(nextval($91995),$91996,$91997,$91998,$91999,$92000,$92001,$92002,$92003,$92004,$92005,$92006,$92007,$92008),(nextval($92009),$92010,$92011,$92012,$92013,$92014,$92015,$92016,$92017,$92018,$92019,$92020,$92021,$92022),(nextval($92023),$92024,$92025,$92026,$92027,$92028,$92029,$92030,$92031,$92032,$92033,$92034,$92035,$92036),(nextval($92037),$92038,$92039,$92040,$92041,$92042,$92043,$92044,$92045,$92046,$92047,$92048,$92049,$92050),(nextval($92051),$92052,$92053,$92054,$92055,$92056,$92057,$92058,$92059,$92060,$92061,$92062,$92063,$92064),(nextval($92065),$92066,$92067,$92068,$92069,$92070,$92071,$92072,$92073,$92074,$92075,$92076,$92077,$92078),(nextval($92079),$92080,$92081,$92082,$92083,$92084,$92085,$92086,$92087,$92088,$92089,$92090,$92091,$92092),(nextval($92093),$92094,$92095,$92096,$92097,$92098,$92099,$92100,$92101,$92102,$92103,$92104,$92105,$92106),(nextval($92107),$92108,$92109,$92110,$92111,$92112,$92113,$92114,$92115,$92116,$92117,$92118,$92119,$92120),(nextval($92121),$92122,$92123,$92124,$92125,$92126,$92127,$92128,$92129,$92130,$92131,$92132,$92133,$92134),(nextval($92135),$92136,$92137,$92138,$92139,$92140,$92141,$92142,$92143,$92144,$92145,$92146,$92147,$92148),(nextval($92149),$92150,$92151,$92152,$92153,$92154,$92155,$92156,$92157,$92158,$92159,$92160,$92161,$92162),(nextval($92163),$92164,$92165,$92166,$92167,$92168,$92169,$92170,$92171,$92172,$92173,$92174,$92175,$92176),(nextval($92177),$92178,$92179,$92180,$92181,$92182,$92183,$92184,$92185,$92186,$92187,$92188,$92189,$92190),(nextval($92191),$92192,$92193,$92194,$92195,$92196,$92197,$92198,$92199,$92200,$92201,$92202,$92203,$92204),(nextval($92205),$92206,$92207,$92208,$92209,$92210,$92211,$92212,$92213,$92214,$92215,$92216,$92217,$92218),(nextval($92219),$92220,$92221,$92222,$92223,$92224,$92225,$92226,$92227,$92228,$92229,$92230,$92231,$92232),(nextval($92233),$92234,$92235,$92236,$92237,$92238,$92239,$92240,$92241,$92242,$92243,$92244,$92245,$92246),(nextval($92247),$92248,$92249,$92250,$92251,$92252,$92253,$92254,$92255,$92256,$92257,$92258,$92259,$92260),(nextval($92261),$92262,$92263,$92264,$92265,$92266,$92267,$92268,$92269,$92270,$92271,$92272,$92273,$92274),(nextval($92275),$92276,$92277,$92278,$92279,$92280,$92281,$92282,$92283,$92284,$92285,$92286,$92287,$92288),(nextval($92289),$92290,$92291,$92292,$92293,$92294,$92295,$92296,$92297,$92298,$92299,$92300,$92301,$92302),(nextval($92303),$92304,$92305,$92306,$92307,$92308,$92309,$92310,$92311,$92312,$92313,$92314,$92315,$92316),(nextval($92317),$92318,$92319,$92320,$92321,$92322,$92323,$92324,$92325,$92326,$92327,$92328,$92329,$92330),(nextval($92331),$92332,$92333,$92334,$92335,$92336,$92337,$92338,$92339,$92340,$92341,$92342,$92343,$92344),(nextval($92345),$92346,$92347,$92348,$92349,$92350,$92351,$92352,$92353,$92354,$92355,$92356,$92357,$92358),(nextval($92359),$92360,$92361,$92362,$92363,$92364,$92365,$92366,$92367,$92368,$92369,$92370,$92371,$92372),(nextval($92373),$92374,$92375,$92376,$92377,$92378,$92379,$92380,$92381,$92382,$92383,$92384,$92385,$92386),(nextval($92387),$92388,$92389,$92390,$92391,$92392,$92393,$92394,$92395,$92396,$92397,$92398,$92399,$92400),(nextval($92401),$92402,$92403,$92404,$92405,$92406,$92407,$92408,$92409,$92410,$92411,$92412,$92413,$92414),(nextval($92415),$92416,$92417,$92418,$92419,$92420,$92421,$92422,$92423,$92424,$92425,$92426,$92427,$92428),(nextval($92429),$92430,$92431,$92432,$92433,$92434,$92435,$92436,$92437,$92438,$92439,$92440,$92441,$92442),(nextval($92443),$92444,$92445,$92446,$92447,$92448,$92449,$92450,$92451,$92452,$92453,$92454,$92455,$92456),(nextval($92457),$92458,$92459,$92460,$92461,$92462,$92463,$92464,$92465,$92466,$92467,$92468,$92469,$92470),(nextval($92471),$92472,$92473,$92474,$92475,$92476,$92477,$92478,$92479,$92480,$92481,$92482,$92483,$92484),(nextval($92485),$92486,$92487,$92488,$92489,$92490,$92491,$92492,$92493,$92494,$92495,$92496,$92497,$92498),(nextval($92499),$92500,$92501,$92502,$92503,$92504,$92505,$92506,$92507,$92508,$92509,$92510,$92511,$92512),(nextval($92513),$92514,$92515,$92516,$92517,$92518,$92519,$92520,$92521,$92522,$92523,$92524,$92525,$92526),(nextval($92527),$92528,$92529,$92530,$92531,$92532,$92533,$92534,$92535,$92536,$92537,$92538,$92539,$92540),(nextval($92541),$92542,$92543,$92544,$92545,$92546,$92547,$92548,$92549,$92550,$92551,$92552,$92553,$92554),(nextval($92555),$92556,$92557,$92558,$92559,$92560,$92561,$92562,$92563,$92564,$92565,$92566,$92567,$92568),(nextval($92569),$92570,$92571,$92572,$92573,$92574,$92575,$92576,$92577,$92578,$92579,$92580,$92581,$92582),(nextval($92583),$92584,$92585,$92586,$92587,$92588,$92589,$92590,$92591,$92592,$92593,$92594,$92595,$92596),(nextval($92597),$92598,$92599,$92600,$92601,$92602,$92603,$92604,$92605,$92606,$92607,$92608,$92609,$92610),(nextval($92611),$92612,$92613,$92614,$92615,$92616,$92617,$92618,$92619,$92620,$92621,$92622,$92623,$92624),(nextval($92625),$92626,$92627,$92628,$92629,$92630,$92631,$92632,$92633,$92634,$92635,$92636,$92637,$92638),(nextval($92639),$92640,$92641,$92642,$92643,$92644,$92645,$92646,$92647,$92648,$92649,$92650,$92651,$92652),(nextval($92653),$92654,$92655,$92656,$92657,$92658,$92659,$92660,$92661,$92662,$92663,$92664,$92665,$92666),(nextval($92667),$92668,$92669,$92670,$92671,$92672,$92673,$92674,$92675,$92676,$92677,$92678,$92679,$92680),(nextval($92681),$92682,$92683,$92684,$92685,$92686,$92687,$92688,$92689,$92690,$92691,$92692,$92693,$92694),(nextval($92695),$92696,$92697,$92698,$92699,$92700,$92701,$92702,$92703,$92704,$92705,$92706,$92707,$92708),(nextval($92709),$92710,$92711,$92712,$92713,$92714,$92715,$92716,$92717,$92718,$92719,$92720,$92721,$92722),(nextval($92723),$92724,$92725,$92726,$92727,$92728,$92729,$92730,$92731,$92732,$92733,$92734,$92735,$92736),(nextval($92737),$92738,$92739,$92740,$92741,$92742,$92743,$92744,$92745,$92746,$92747,$92748,$92749,$92750),(nextval($92751),$92752,$92753,$92754,$92755,$92756,$92757,$92758,$92759,$92760,$92761,$92762,$92763,$92764),(nextval($92765),$92766,$92767,$92768,$92769,$92770,$92771,$92772,$92773,$92774,$92775,$92776,$92777,$92778),(nextval($92779),$92780,$92781,$92782,$92783,$92784,$92785,$92786,$92787,$92788,$92789,$92790,$92791,$92792),(nextval($92793),$92794,$92795,$92796,$92797,$92798,$92799,$92800,$92801,$92802,$92803,$92804,$92805,$92806),(nextval($92807),$92808,$92809,$92810,$92811,$92812,$92813,$92814,$92815,$92816,$92817,$92818,$92819,$92820),(nextval($92821),$92822,$92823,$92824,$92825,$92826,$92827,$92828,$92829,$92830,$92831,$92832,$92833,$92834),(nextval($92835),$92836,$92837,$92838,$92839,$92840,$92841,$92842,$92843,$92844,$92845,$92846,$92847,$92848),(nextval($92849),$92850,$92851,$92852,$92853,$92854,$92855,$92856,$92857,$92858,$92859,$92860,$92861,$92862),(nextval($92863),$92864,$92865,$92866,$92867,$92868,$92869,$92870,$92871,$92872,$92873,$92874,$92875,$92876),(nextval($92877),$92878,$92879,$92880,$92881,$92882,$92883,$92884,$92885,$92886,$92887,$92888,$92889,$92890),(nextval($92891),$92892,$92893,$92894,$92895,$92896,$92897,$92898,$92899,$92900,$92901,$92902,$92903,$92904),(nextval($92905),$92906,$92907,$92908,$92909,$92910,$92911,$92912,$92913,$92914,$92915,$92916,$92917,$92918),(nextval($92919),$92920,$92921,$92922,$92923,$92924,$92925,$92926,$92927,$92928,$92929,$92930,$92931,$92932),(nextval($92933),$92934,$92935,$92936,$92937,$92938,$92939,$92940,$92941,$92942,$92943,$92944,$92945,$92946),(nextval($92947),$92948,$92949,$92950,$92951,$92952,$92953,$92954,$92955,$92956,$92957,$92958,$92959,$92960),(nextval($92961),$92962,$92963,$92964,$92965,$92966,$92967,$92968,$92969,$92970,$92971,$92972,$92973,$92974),(nextval($92975),$92976,$92977,$92978,$92979,$92980,$92981,$92982,$92983,$92984,$92985,$92986,$92987,$92988),(nextval($92989),$92990,$92991,$92992,$92993,$92994,$92995,$92996,$92997,$92998,$92999,$93000,$93001,$93002),(nextval($93003),$93004,$93005,$93006,$93007,$93008,$93009,$93010,$93011,$93012,$93013,$93014,$93015,$93016),(nextval($93017),$93018,$93019,$93020,$93021,$93022,$93023,$93024,$93025,$93026,$93027,$93028,$93029,$93030),(nextval($93031),$93032,$93033,$93034,$93035,$93036,$93037,$93038,$93039,$93040,$93041,$93042,$93043,$93044),(nextval($93045),$93046,$93047,$93048,$93049,$93050,$93051,$93052,$93053,$93054,$93055,$93056,$93057,$93058),(nextval($93059),$93060,$93061,$93062,$93063,$93064,$93065,$93066,$93067,$93068,$93069,$93070,$93071,$93072),(nextval($93073),$93074,$93075,$93076,$93077,$93078,$93079,$93080,$93081,$93082,$93083,$93084,$93085,$93086),(nextval($93087),$93088,$93089,$93090,$93091,$93092,$93093,$93094,$93095,$93096,$93097,$93098,$93099,$93100),(nextval($93101),$93102,$93103,$93104,$93105,$93106,$93107,$93108,$93109,$93110,$93111,$93112,$93113,$93114),(nextval($93115),$93116,$93117,$93118,$93119,$93120,$93121,$93122,$93123,$93124,$93125,$93126,$93127,$93128),(nextval($93129),$93130,$93131,$93132,$93133,$93134,$93135,$93136,$93137,$93138,$93139,$93140,$93141,$93142),(nextval($93143),$93144,$93145,$93146,$93147,$93148,$93149,$93150,$93151,$93152,$93153,$93154,$93155,$93156),(nextval($93157),$93158,$93159,$93160,$93161,$93162,$93163,$93164,$93165,$93166,$93167,$93168,$93169,$93170),(nextval($93171),$93172,$93173,$93174,$93175,$93176,$93177,$93178,$93179,$93180,$93181,$93182,$93183,$93184),(nextval($93185),$93186,$93187,$93188,$93189,$93190,$93191,$93192,$93193,$93194,$93195,$93196,$93197,$93198),(nextval($93199),$93200,$93201,$93202,$93203,$93204,$93205,$93206,$93207,$93208,$93209,$93210,$93211,$93212),(nextval($93213),$93214,$93215,$93216,$93217,$93218,$93219,$93220,$93221,$93222,$93223,$93224,$93225,$93226),(nextval($93227),$93228,$93229,$93230,$93231,$93232,$93233,$93234,$93235,$93236,$93237,$93238,$93239,$93240),(nextval($93241),$93242,$93243,$93244,$93245,$93246,$93247,$93248,$93249,$93250,$93251,$93252,$93253,$93254),(nextval($93255),$93256,$93257,$93258,$93259,$93260,$93261,$93262,$93263,$93264,$93265,$93266,$93267,$93268),(nextval($93269),$93270,$93271,$93272,$93273,$93274,$93275,$93276,$93277,$93278,$93279,$93280,$93281,$93282),(nextval($93283),$93284,$93285,$93286,$93287,$93288,$93289,$93290,$93291,$93292,$93293,$93294,$93295,$93296),(nextval($93297),$93298,$93299,$93300,$93301,$93302,$93303,$93304,$93305,$93306,$93307,$93308,$93309,$93310),(nextval($93311),$93312,$93313,$93314,$93315,$93316,$93317,$93318,$93319,$93320,$93321,$93322,$93323,$93324),(nextval($93325),$93326,$93327,$93328,$93329,$93330,$93331,$93332,$93333,$93334,$93335,$93336,$93337,$93338),(nextval($93339),$93340,$93341,$93342,$93343,$93344,$93345,$93346,$93347,$93348,$93349,$93350,$93351,$93352),(nextval($93353),$93354,$93355,$93356,$93357,$93358,$93359,$93360,$93361,$93362,$93363,$93364,$93365,$93366),(nextval($93367),$93368,$93369,$93370,$93371,$93372,$93373,$93374,$93375,$93376,$93377,$93378,$93379,$93380),(nextval($93381),$93382,$93383,$93384,$93385,$93386,$93387,$93388,$93389,$93390,$93391,$93392,$93393,$93394),(nextval($93395),$93396,$93397,$93398,$93399,$93400,$93401,$93402,$93403,$93404,$93405,$93406,$93407,$93408),(nextval($93409),$93410,$93411,$93412,$93413,$93414,$93415,$93416,$93417,$93418,$93419,$93420,$93421,$93422),(nextval($93423),$93424,$93425,$93426,$93427,$93428,$93429,$93430,$93431,$93432,$93433,$93434,$93435,$93436),(nextval($93437),$93438,$93439,$93440,$93441,$93442,$93443,$93444,$93445,$93446,$93447,$93448,$93449,$93450),(nextval($93451),$93452,$93453,$93454,$93455,$93456,$93457,$93458,$93459,$93460,$93461,$93462,$93463,$93464),(nextval($93465),$93466,$93467,$93468,$93469,$93470,$93471,$93472,$93473,$93474,$93475,$93476,$93477,$93478),(nextval($93479),$93480,$93481,$93482,$93483,$93484,$93485,$93486,$93487,$93488,$93489,$93490,$93491,$93492),(nextval($93493),$93494,$93495,$93496,$93497,$93498,$93499,$93500,$93501,$93502,$93503,$93504,$93505,$93506),(nextval($93507),$93508,$93509,$93510,$93511,$93512,$93513,$93514,$93515,$93516,$93517,$93518,$93519,$93520),(nextval($93521),$93522,$93523,$93524,$93525,$93526,$93527,$93528,$93529,$93530,$93531,$93532,$93533,$93534),(nextval($93535),$93536,$93537,$93538,$93539,$93540,$93541,$93542,$93543,$93544,$93545,$93546,$93547,$93548),(nextval($93549),$93550,$93551,$93552,$93553,$93554,$93555,$93556,$93557,$93558,$93559,$93560,$93561,$93562),(nextval($93563),$93564,$93565,$93566,$93567,$93568,$93569,$93570,$93571,$93572,$93573,$93574,$93575,$93576),(nextval($93577),$93578,$93579,$93580,$93581,$93582,$93583,$93584,$93585,$93586,$93587,$93588,$93589,$93590),(nextval($93591),$93592,$93593,$93594,$93595,$93596,$93597,$93598,$93599,$93600,$93601,$93602,$93603,$93604),(nextval($93605),$93606,$93607,$93608,$93609,$93610,$93611,$93612,$93613,$93614,$93615,$93616,$93617,$93618),(nextval($93619),$93620,$93621,$93622,$93623,$93624,$93625,$93626,$93627,$93628,$93629,$93630,$93631,$93632),(nextval($93633),$93634,$93635,$93636,$93637,$93638,$93639,$93640,$93641,$93642,$93643,$93644,$93645,$93646),(nextval($93647),$93648,$93649,$93650,$93651,$93652,$93653,$93654,$93655,$93656,$93657,$93658,$93659,$93660),(nextval($93661),$93662,$93663,$93664,$93665,$93666,$93667,$93668,$93669,$93670,$93671,$93672,$93673,$93674),(nextval($93675),$93676,$93677,$93678,$93679,$93680,$93681,$93682,$93683,$93684,$93685,$93686,$93687,$93688),(nextval($93689),$93690,$93691,$93692,$93693,$93694,$93695,$93696,$93697,$93698,$93699,$93700,$93701,$93702),(nextval($93703),$93704,$93705,$93706,$93707,$93708,$93709,$93710,$93711,$93712,$93713,$93714,$93715,$93716),(nextval($93717),$93718,$93719,$93720,$93721,$93722,$93723,$93724,$93725,$93726,$93727,$93728,$93729,$93730),(nextval($93731),$93732,$93733,$93734,$93735,$93736,$93737,$93738,$93739,$93740,$93741,$93742,$93743,$93744),(nextval($93745),$93746,$93747,$93748,$93749,$93750,$93751,$93752,$93753,$93754,$93755,$93756,$93757,$93758),(nextval($93759),$93760,$93761,$93762,$93763,$93764,$93765,$93766,$93767,$93768,$93769,$93770,$93771,$93772),(nextval($93773),$93774,$93775,$93776,$93777,$93778,$93779,$93780,$93781,$93782,$93783,$93784,$93785,$93786),(nextval($93787),$93788,$93789,$93790,$93791,$93792,$93793,$93794,$93795,$93796,$93797,$93798,$93799,$93800),(nextval($93801),$93802,$93803,$93804,$93805,$93806,$93807,$93808,$93809,$93810,$93811,$93812,$93813,$93814),(nextval($93815),$93816,$93817,$93818,$93819,$93820,$93821,$93822,$93823,$93824,$93825,$93826,$93827,$93828),(nextval($93829),$93830,$93831,$93832,$93833,$93834,$93835,$93836,$93837,$93838,$93839,$93840,$93841,$93842),(nextval($93843),$93844,$93845,$93846,$93847,$93848,$93849,$93850,$93851,$93852,$93853,$93854,$93855,$93856),(nextval($93857),$93858,$93859,$93860,$93861,$93862,$93863,$93864,$93865,$93866,$93867,$93868,$93869,$93870),(nextval($93871),$93872,$93873,$93874,$93875,$93876,$93877,$93878,$93879,$93880,$93881,$93882,$93883,$93884),(nextval($93885),$93886,$93887,$93888,$93889,$93890,$93891,$93892,$93893,$93894,$93895,$93896,$93897,$93898),(nextval($93899),$93900,$93901,$93902,$93903,$93904,$93905,$93906,$93907,$93908,$93909,$93910,$93911,$93912),(nextval($93913),$93914,$93915,$93916,$93917,$93918,$93919,$93920,$93921,$93922,$93923,$93924,$93925,$93926),(nextval($93927),$93928,$93929,$93930,$93931,$93932,$93933,$93934,$93935,$93936,$93937,$93938,$93939,$93940),(nextval($93941),$93942,$93943,$93944,$93945,$93946,$93947,$93948,$93949,$93950,$93951,$93952,$93953,$93954),(nextval($93955),$93956,$93957,$93958,$93959,$93960,$93961,$93962,$93963,$93964,$93965,$93966,$93967,$93968),(nextval($93969),$93970,$93971,$93972,$93973,$93974,$93975,$93976,$93977,$93978,$93979,$93980,$93981,$93982),(nextval($93983),$93984,$93985,$93986,$93987,$93988,$93989,$93990,$93991,$93992,$93993,$93994,$93995,$93996),(nextval($93997),$93998,$93999,$94000,$94001,$94002,$94003,$94004,$94005,$94006,$94007,$94008,$94009,$94010),(nextval($94011),$94012,$94013,$94014,$94015,$94016,$94017,$94018,$94019,$94020,$94021,$94022,$94023,$94024),(nextval($94025),$94026,$94027,$94028,$94029,$94030,$94031,$94032,$94033,$94034,$94035,$94036,$94037,$94038),(nextval($94039),$94040,$94041,$94042,$94043,$94044,$94045,$94046,$94047,$94048,$94049,$94050,$94051,$94052),(nextval($94053),$94054,$94055,$94056,$94057,$94058,$94059,$94060,$94061,$94062,$94063,$94064,$94065,$94066),(nextval($94067),$94068,$94069,$94070,$94071,$94072,$94073,$94074,$94075,$94076,$94077,$94078,$94079,$94080),(nextval($94081),$94082,$94083,$94084,$94085,$94086,$94087,$94088,$94089,$94090,$94091,$94092,$94093,$94094),(nextval($94095),$94096,$94097,$94098,$94099,$94100,$94101,$94102,$94103,$94104,$94105,$94106,$94107,$94108),(nextval($94109),$94110,$94111,$94112,$94113,$94114,$94115,$94116,$94117,$94118,$94119,$94120,$94121,$94122),(nextval($94123),$94124,$94125,$94126,$94127,$94128,$94129,$94130,$94131,$94132,$94133,$94134,$94135,$94136),(nextval($94137),$94138,$94139,$94140,$94141,$94142,$94143,$94144,$94145,$94146,$94147,$94148,$94149,$94150),(nextval($94151),$94152,$94153,$94154,$94155,$94156,$94157,$94158,$94159,$94160,$94161,$94162,$94163,$94164),(nextval($94165),$94166,$94167,$94168,$94169,$94170,$94171,$94172,$94173,$94174,$94175,$94176,$94177,$94178),(nextval($94179),$94180,$94181,$94182,$94183,$94184,$94185,$94186,$94187,$94188,$94189,$94190,$94191,$94192),(nextval($94193),$94194,$94195,$94196,$94197,$94198,$94199,$94200,$94201,$94202,$94203,$94204,$94205,$94206),(nextval($94207),$94208,$94209,$94210,$94211,$94212,$94213,$94214,$94215,$94216,$94217,$94218,$94219,$94220),(nextval($94221),$94222,$94223,$94224,$94225,$94226,$94227,$94228,$94229,$94230,$94231,$94232,$94233,$94234),(nextval($94235),$94236,$94237,$94238,$94239,$94240,$94241,$94242,$94243,$94244,$94245,$94246,$94247,$94248),(nextval($94249),$94250,$94251,$94252,$94253,$94254,$94255,$94256,$94257,$94258,$94259,$94260,$94261,$94262),(nextval($94263),$94264,$94265,$94266,$94267,$94268,$94269,$94270,$94271,$94272,$94273,$94274,$94275,$94276),(nextval($94277),$94278,$94279,$94280,$94281,$94282,$94283,$94284,$94285,$94286,$94287,$94288,$94289,$94290),(nextval($94291),$94292,$94293,$94294,$94295,$94296,$94297,$94298,$94299,$94300,$94301,$94302,$94303,$94304),(nextval($94305),$94306,$94307,$94308,$94309,$94310,$94311,$94312,$94313,$94314,$94315,$94316,$94317,$94318),(nextval($94319),$94320,$94321,$94322,$94323,$94324,$94325,$94326,$94327,$94328,$94329,$94330,$94331,$94332),(nextval($94333),$94334,$94335,$94336,$94337,$94338,$94339,$94340,$94341,$94342,$94343,$94344,$94345,$94346),(nextval($94347),$94348,$94349,$94350,$94351,$94352,$94353,$94354,$94355,$94356,$94357,$94358,$94359,$94360),(nextval($94361),$94362,$94363,$94364,$94365,$94366,$94367,$94368,$94369,$94370,$94371,$94372,$94373,$94374),(nextval($94375),$94376,$94377,$94378,$94379,$94380,$94381,$94382,$94383,$94384,$94385,$94386,$94387,$94388),(nextval($94389),$94390,$94391,$94392,$94393,$94394,$94395,$94396,$94397,$94398,$94399,$94400,$94401,$94402),(nextval($94403),$94404,$94405,$94406,$94407,$94408,$94409,$94410,$94411,$94412,$94413,$94414,$94415,$94416),(nextval($94417),$94418,$94419,$94420,$94421,$94422,$94423,$94424,$94425,$94426,$94427,$94428,$94429,$94430),(nextval($94431),$94432,$94433,$94434,$94435,$94436,$94437,$94438,$94439,$94440,$94441,$94442,$94443,$94444),(nextval($94445),$94446,$94447,$94448,$94449,$94450,$94451,$94452,$94453,$94454,$94455,$94456,$94457,$94458),(nextval($94459),$94460,$94461,$94462,$94463,$94464,$94465,$94466,$94467,$94468,$94469,$94470,$94471,$94472),(nextval($94473),$94474,$94475,$94476,$94477,$94478,$94479,$94480,$94481,$94482,$94483,$94484,$94485,$94486),(nextval($94487),$94488,$94489,$94490,$94491,$94492,$94493,$94494,$94495,$94496,$94497,$94498,$94499,$94500),(nextval($94501),$94502,$94503,$94504,$94505,$94506,$94507,$94508,$94509,$94510,$94511,$94512,$94513,$94514),(nextval($94515),$94516,$94517,$94518,$94519,$94520,$94521,$94522,$94523,$94524,$94525,$94526,$94527,$94528),(nextval($94529),$94530,$94531,$94532,$94533,$94534,$94535,$94536,$94537,$94538,$94539,$94540,$94541,$94542),(nextval($94543),$94544,$94545,$94546,$94547,$94548,$94549,$94550,$94551,$94552,$94553,$94554,$94555,$94556),(nextval($94557),$94558,$94559,$94560,$94561,$94562,$94563,$94564,$94565,$94566,$94567,$94568,$94569,$94570),(nextval($94571),$94572,$94573,$94574,$94575,$94576,$94577,$94578,$94579,$94580,$94581,$94582,$94583,$94584),(nextval($94585),$94586,$94587,$94588,$94589,$94590,$94591,$94592,$94593,$94594,$94595,$94596,$94597,$94598),(nextval($94599),$94600,$94601,$94602,$94603,$94604,$94605,$94606,$94607,$94608,$94609,$94610,$94611,$94612),(nextval($94613),$94614,$94615,$94616,$94617,$94618,$94619,$94620,$94621,$94622,$94623,$94624,$94625,$94626),(nextval($94627),$94628,$94629,$94630,$94631,$94632,$94633,$94634,$94635,$94636,$94637,$94638,$94639,$94640),(nextval($94641),$94642,$94643,$94644,$94645,$94646,$94647,$94648,$94649,$94650,$94651,$94652,$94653,$94654),(nextval($94655),$94656,$94657,$94658,$94659,$94660,$94661,$94662,$94663,$94664,$94665,$94666,$94667,$94668),(nextval($94669),$94670,$94671,$94672,$94673,$94674,$94675,$94676,$94677,$94678,$94679,$94680,$94681,$94682),(nextval($94683),$94684,$94685,$94686,$94687,$94688,$94689,$94690,$94691,$94692,$94693,$94694,$94695,$94696),(nextval($94697),$94698,$94699,$94700,$94701,$94702,$94703,$94704,$94705,$94706,$94707,$94708,$94709,$94710),(nextval($94711),$94712,$94713,$94714,$94715,$94716,$94717,$94718,$94719,$94720,$94721,$94722,$94723,$94724),(nextval($94725),$94726,$94727,$94728,$94729,$94730,$94731,$94732,$94733,$94734,$94735,$94736,$94737,$94738),(nextval($94739),$94740,$94741,$94742,$94743,$94744,$94745,$94746,$94747,$94748,$94749,$94750,$94751,$94752),(nextval($94753),$94754,$94755,$94756,$94757,$94758,$94759,$94760,$94761,$94762,$94763,$94764,$94765,$94766),(nextval($94767),$94768,$94769,$94770,$94771,$94772,$94773,$94774,$94775,$94776,$94777,$94778,$94779,$94780),(nextval($94781),$94782,$94783,$94784,$94785,$94786,$94787,$94788,$94789,$94790,$94791,$94792,$94793,$94794),(nextval($94795),$94796,$94797,$94798,$94799,$94800,$94801,$94802,$94803,$94804,$94805,$94806,$94807,$94808),(nextval($94809),$94810,$94811,$94812,$94813,$94814,$94815,$94816,$94817,$94818,$94819,$94820,$94821,$94822),(nextval($94823),$94824,$94825,$94826,$94827,$94828,$94829,$94830,$94831,$94832,$94833,$94834,$94835,$94836),(nextval($94837),$94838,$94839,$94840,$94841,$94842,$94843,$94844,$94845,$94846,$94847,$94848,$94849,$94850),(nextval($94851),$94852,$94853,$94854,$94855,$94856,$94857,$94858,$94859,$94860,$94861,$94862,$94863,$94864),(nextval($94865),$94866,$94867,$94868,$94869,$94870,$94871,$94872,$94873,$94874,$94875,$94876,$94877,$94878),(nextval($94879),$94880,$94881,$94882,$94883,$94884,$94885,$94886,$94887,$94888,$94889,$94890,$94891,$94892),(nextval($94893),$94894,$94895,$94896,$94897,$94898,$94899,$94900,$94901,$94902,$94903,$94904,$94905,$94906),(nextval($94907),$94908,$94909,$94910,$94911,$94912,$94913,$94914,$94915,$94916,$94917,$94918,$94919,$94920),(nextval($94921),$94922,$94923,$94924,$94925,$94926,$94927,$94928,$94929,$94930,$94931,$94932,$94933,$94934),(nextval($94935),$94936,$94937,$94938,$94939,$94940,$94941,$94942,$94943,$94944,$94945,$94946,$94947,$94948),(nextval($94949),$94950,$94951,$94952,$94953,$94954,$94955,$94956,$94957,$94958,$94959,$94960,$94961,$94962),(nextval($94963),$94964,$94965,$94966,$94967,$94968,$94969,$94970,$94971,$94972,$94973,$94974,$94975,$94976),(nextval($94977),$94978,$94979,$94980,$94981,$94982,$94983,$94984,$94985,$94986,$94987,$94988,$94989,$94990),(nextval($94991),$94992,$94993,$94994,$94995,$94996,$94997,$94998,$94999,$95000,$95001,$95002,$95003,$95004),(nextval($95005),$95006,$95007,$95008,$95009,$95010,$95011,$95012,$95013,$95014,$95015,$95016,$95017,$95018),(nextval($95019),$95020,$95021,$95022,$95023,$95024,$95025,$95026,$95027,$95028,$95029,$95030,$95031,$95032),(nextval($95033),$95034,$95035,$95036,$95037,$95038,$95039,$95040,$95041,$95042,$95043,$95044,$95045,$95046),(nextval($95047),$95048,$95049,$95050,$95051,$95052,$95053,$95054,$95055,$95056,$95057,$95058,$95059,$95060),(nextval($95061),$95062,$95063,$95064,$95065,$95066,$95067,$95068,$95069,$95070,$95071,$95072,$95073,$95074),(nextval($95075),$95076,$95077,$95078,$95079,$95080,$95081,$95082,$95083,$95084,$95085,$95086,$95087,$95088),(nextval($95089),$95090,$95091,$95092,$95093,$95094,$95095,$95096,$95097,$95098,$95099,$95100,$95101,$95102),(nextval($95103),$95104,$95105,$95106,$95107,$95108,$95109,$95110,$95111,$95112,$95113,$95114,$95115,$95116),(nextval($95117),$95118,$95119,$95120,$95121,$95122,$95123,$95124,$95125,$95126,$95127,$95128,$95129,$95130),(nextval($95131),$95132,$95133,$95134,$95135,$95136,$95137,$95138,$95139,$95140,$95141,$95142,$95143,$95144),(nextval($95145),$95146,$95147,$95148,$95149,$95150,$95151,$95152,$95153,$95154,$95155,$95156,$95157,$95158),(nextval($95159),$95160,$95161,$95162,$95163,$95164,$95165,$95166,$95167,$95168,$95169,$95170,$95171,$95172),(nextval($95173),$95174,$95175,$95176,$95177,$95178,$95179,$95180,$95181,$95182,$95183,$95184,$95185,$95186),(nextval($95187),$95188,$95189,$95190,$95191,$95192,$95193,$95194,$95195,$95196,$95197,$95198,$95199,$95200),(nextval($95201),$95202,$95203,$95204,$95205,$95206,$95207,$95208,$95209,$95210,$95211,$95212,$95213,$95214),(nextval($95215),$95216,$95217,$95218,$95219,$95220,$95221,$95222,$95223,$95224,$95225,$95226,$95227,$95228),(nextval($95229),$95230,$95231,$95232,$95233,$95234,$95235,$95236,$95237,$95238,$95239,$95240,$95241,$95242),(nextval($95243),$95244,$95245,$95246,$95247,$95248,$95249,$95250,$95251,$95252,$95253,$95254,$95255,$95256),(nextval($95257),$95258,$95259,$95260,$95261,$95262,$95263,$95264,$95265,$95266,$95267,$95268,$95269,$95270),(nextval($95271),$95272,$95273,$95274,$95275,$95276,$95277,$95278,$95279,$95280,$95281,$95282,$95283,$95284),(nextval($95285),$95286,$95287,$95288,$95289,$95290,$95291,$95292,$95293,$95294,$95295,$95296,$95297,$95298),(nextval($95299),$95300,$95301,$95302,$95303,$95304,$95305,$95306,$95307,$95308,$95309,$95310,$95311,$95312),(nextval($95313),$95314,$95315,$95316,$95317,$95318,$95319,$95320,$95321,$95322,$95323,$95324,$95325,$95326),(nextval($95327),$95328,$95329,$95330,$95331,$95332,$95333,$95334,$95335,$95336,$95337,$95338,$95339,$95340),(nextval($95341),$95342,$95343,$95344,$95345,$95346,$95347,$95348,$95349,$95350,$95351,$95352,$95353,$95354),(nextval($95355),$95356,$95357,$95358,$95359,$95360,$95361,$95362,$95363,$95364,$95365,$95366,$95367,$95368),(nextval($95369),$95370,$95371,$95372,$95373,$95374,$95375,$95376,$95377,$95378,$95379,$95380,$95381,$95382),(nextval($95383),$95384,$95385,$95386,$95387,$95388,$95389,$95390,$95391,$95392,$95393,$95394,$95395,$95396),(nextval($95397),$95398,$95399,$95400,$95401,$95402,$95403,$95404,$95405,$95406,$95407,$95408,$95409,$95410),(nextval($95411),$95412,$95413,$95414,$95415,$95416,$95417,$95418,$95419,$95420,$95421,$95422,$95423,$95424),(nextval($95425),$95426,$95427,$95428,$95429,$95430,$95431,$95432,$95433,$95434,$95435,$95436,$95437,$95438),(nextval($95439),$95440,$95441,$95442,$95443,$95444,$95445,$95446,$95447,$95448,$95449,$95450,$95451,$95452),(nextval($95453),$95454,$95455,$95456,$95457,$95458,$95459,$95460,$95461,$95462,$95463,$95464,$95465,$95466),(nextval($95467),$95468,$95469,$95470,$95471,$95472,$95473,$95474,$95475,$95476,$95477,$95478,$95479,$95480),(nextval($95481),$95482,$95483,$95484,$95485,$95486,$95487,$95488,$95489,$95490,$95491,$95492,$95493,$95494),(nextval($95495),$95496,$95497,$95498,$95499,$95500,$95501,$95502,$95503,$95504,$95505,$95506,$95507,$95508),(nextval($95509),$95510,$95511,$95512,$95513,$95514,$95515,$95516,$95517,$95518,$95519,$95520,$95521,$95522),(nextval($95523),$95524,$95525,$95526,$95527,$95528,$95529,$95530,$95531,$95532,$95533,$95534,$95535,$95536),(nextval($95537),$95538,$95539,$95540,$95541,$95542,$95543,$95544,$95545,$95546,$95547,$95548,$95549,$95550),(nextval($95551),$95552,$95553,$95554,$95555,$95556,$95557,$95558,$95559,$95560,$95561,$95562,$95563,$95564),(nextval($95565),$95566,$95567,$95568,$95569,$95570,$95571,$95572,$95573,$95574,$95575,$95576,$95577,$95578),(nextval($95579),$95580,$95581,$95582,$95583,$95584,$95585,$95586,$95587,$95588,$95589,$95590,$95591,$95592),(nextval($95593),$95594,$95595,$95596,$95597,$95598,$95599,$95600,$95601,$95602,$95603,$95604,$95605,$95606),(nextval($95607),$95608,$95609,$95610,$95611,$95612,$95613,$95614,$95615,$95616,$95617,$95618,$95619,$95620),(nextval($95621),$95622,$95623,$95624,$95625,$95626,$95627,$95628,$95629,$95630,$95631,$95632,$95633,$95634),(nextval($95635),$95636,$95637,$95638,$95639,$95640,$95641,$95642,$95643,$95644,$95645,$95646,$95647,$95648),(nextval($95649),$95650,$95651,$95652,$95653,$95654,$95655,$95656,$95657,$95658,$95659,$95660,$95661,$95662),(nextval($95663),$95664,$95665,$95666,$95667,$95668,$95669,$95670,$95671,$95672,$95673,$95674,$95675,$95676),(nextval($95677),$95678,$95679,$95680,$95681,$95682,$95683,$95684,$95685,$95686,$95687,$95688,$95689,$95690),(nextval($95691),$95692,$95693,$95694,$95695,$95696,$95697,$95698,$95699,$95700,$95701,$95702,$95703,$95704),(nextval($95705),$95706,$95707,$95708,$95709,$95710,$95711,$95712,$95713,$95714,$95715,$95716,$95717,$95718),(nextval($95719),$95720,$95721,$95722,$95723,$95724,$95725,$95726,$95727,$95728,$95729,$95730,$95731,$95732),(nextval($95733),$95734,$95735,$95736,$95737,$95738,$95739,$95740,$95741,$95742,$95743,$95744,$95745,$95746),(nextval($95747),$95748,$95749,$95750,$95751,$95752,$95753,$95754,$95755,$95756,$95757,$95758,$95759,$95760),(nextval($95761),$95762,$95763,$95764,$95765,$95766,$95767,$95768,$95769,$95770,$95771,$95772,$95773,$95774),(nextval($95775),$95776,$95777,$95778,$95779,$95780,$95781,$95782,$95783,$95784,$95785,$95786,$95787,$95788),(nextval($95789),$95790,$95791,$95792,$95793,$95794,$95795,$95796,$95797,$95798,$95799,$95800,$95801,$95802),(nextval($95803),$95804,$95805,$95806,$95807,$95808,$95809,$95810,$95811,$95812,$95813,$95814,$95815,$95816),(nextval($95817),$95818,$95819,$95820,$95821,$95822,$95823,$95824,$95825,$95826,$95827,$95828,$95829,$95830),(nextval($95831),$95832,$95833,$95834,$95835,$95836,$95837,$95838,$95839,$95840,$95841,$95842,$95843,$95844),(nextval($95845),$95846,$95847,$95848,$95849,$95850,$95851,$95852,$95853,$95854,$95855,$95856,$95857,$95858),(nextval($95859),$95860,$95861,$95862,$95863,$95864,$95865,$95866,$95867,$95868,$95869,$95870,$95871,$95872),(nextval($95873),$95874,$95875,$95876,$95877,$95878,$95879,$95880,$95881,$95882,$95883,$95884,$95885,$95886),(nextval($95887),$95888,$95889,$95890,$95891,$95892,$95893,$95894,$95895,$95896,$95897,$95898,$95899,$95900),(nextval($95901),$95902,$95903,$95904,$95905,$95906,$95907,$95908,$95909,$95910,$95911,$95912,$95913,$95914),(nextval($95915),$95916,$95917,$95918,$95919,$95920,$95921,$95922,$95923,$95924,$95925,$95926,$95927,$95928),(nextval($95929),$95930,$95931,$95932,$95933,$95934,$95935,$95936,$95937,$95938,$95939,$95940,$95941,$95942),(nextval($95943),$95944,$95945,$95946,$95947,$95948,$95949,$95950,$95951,$95952,$95953,$95954,$95955,$95956),(nextval($95957),$95958,$95959,$95960,$95961,$95962,$95963,$95964,$95965,$95966,$95967,$95968,$95969,$95970),(nextval($95971),$95972,$95973,$95974,$95975,$95976,$95977,$95978,$95979,$95980,$95981,$95982,$95983,$95984),(nextval($95985),$95986,$95987,$95988,$95989,$95990,$95991,$95992,$95993,$95994,$95995,$95996,$95997,$95998),(nextval($95999),$96000,$96001,$96002,$96003,$96004,$96005,$96006,$96007,$96008,$96009,$96010,$96011,$96012),(nextval($96013),$96014,$96015,$96016,$96017,$96018,$96019,$96020,$96021,$96022,$96023,$96024,$96025,$96026),(nextval($96027),$96028,$96029,$96030,$96031,$96032,$96033,$96034,$96035,$96036,$96037,$96038,$96039,$96040),(nextval($96041),$96042,$96043,$96044,$96045,$96046,$96047,$96048,$96049,$96050,$96051,$96052,$96053,$96054),(nextval($96055),$96056,$96057,$96058,$96059,$96060,$96061,$96062,$96063,$96064,$96065,$96066,$96067,$96068),(nextval($96069),$96070,$96071,$96072,$96073,$96074,$96075,$96076,$96077,$96078,$96079,$96080,$96081,$96082),(nextval($96083),$96084,$96085,$96086,$96087,$96088,$96089,$96090,$96091,$96092,$96093,$96094,$96095,$96096),(nextval($96097),$96098,$96099,$96100,$96101,$96102,$96103,$96104,$96105,$96106,$96107,$96108,$96109,$96110),(nextval($96111),$96112,$96113,$96114,$96115,$96116,$96117,$96118,$96119,$96120,$96121,$96122,$96123,$96124),(nextval($96125),$96126,$96127,$96128,$96129,$96130,$96131,$96132,$96133,$96134,$96135,$96136,$96137,$96138),(nextval($96139),$96140,$96141,$96142,$96143,$96144,$96145,$96146,$96147,$96148,$96149,$96150,$96151,$96152),(nextval($96153),$96154,$96155,$96156,$96157,$96158,$96159,$96160,$96161,$96162,$96163,$96164,$96165,$96166),(nextval($96167),$96168,$96169,$96170,$96171,$96172,$96173,$96174,$96175,$96176,$96177,$96178,$96179,$96180),(nextval($96181),$96182,$96183,$96184,$96185,$96186,$96187,$96188,$96189,$96190,$96191,$96192,$96193,$96194),(nextval($96195),$96196,$96197,$96198,$96199,$96200,$96201,$96202,$96203,$96204,$96205,$96206,$96207,$96208),(nextval($96209),$96210,$96211,$96212,$96213,$96214,$96215,$96216,$96217,$96218,$96219,$96220,$96221,$96222),(nextval($96223),$96224,$96225,$96226,$96227,$96228,$96229,$96230,$96231,$96232,$96233,$96234,$96235,$96236),(nextval($96237),$96238,$96239,$96240,$96241,$96242,$96243,$96244,$96245,$96246,$96247,$96248,$96249,$96250),(nextval($96251),$96252,$96253,$96254,$96255,$96256,$96257,$96258,$96259,$96260,$96261,$96262,$96263,$96264),(nextval($96265),$96266,$96267,$96268,$96269,$96270,$96271,$96272,$96273,$96274,$96275,$96276,$96277,$96278),(nextval($96279),$96280,$96281,$96282,$96283,$96284,$96285,$96286,$96287,$96288,$96289,$96290,$96291,$96292),(nextval($96293),$96294,$96295,$96296,$96297,$96298,$96299,$96300,$96301,$96302,$96303,$96304,$96305,$96306),(nextval($96307),$96308,$96309,$96310,$96311,$96312,$96313,$96314,$96315,$96316,$96317,$96318,$96319,$96320),(nextval($96321),$96322,$96323,$96324,$96325,$96326,$96327,$96328,$96329,$96330,$96331,$96332,$96333,$96334),(nextval($96335),$96336,$96337,$96338,$96339,$96340,$96341,$96342,$96343,$96344,$96345,$96346,$96347,$96348),(nextval($96349),$96350,$96351,$96352,$96353,$96354,$96355,$96356,$96357,$96358,$96359,$96360,$96361,$96362),(nextval($96363),$96364,$96365,$96366,$96367,$96368,$96369,$96370,$96371,$96372,$96373,$96374,$96375,$96376),(nextval($96377),$96378,$96379,$96380,$96381,$96382,$96383,$96384,$96385,$96386,$96387,$96388,$96389,$96390),(nextval($96391),$96392,$96393,$96394,$96395,$96396,$96397,$96398,$96399,$96400,$96401,$96402,$96403,$96404),(nextval($96405),$96406,$96407,$96408,$96409,$96410,$96411,$96412,$96413,$96414,$96415,$96416,$96417,$96418),(nextval($96419),$96420,$96421,$96422,$96423,$96424,$96425,$96426,$96427,$96428,$96429,$96430,$96431,$96432),(nextval($96433),$96434,$96435,$96436,$96437,$96438,$96439,$96440,$96441,$96442,$96443,$96444,$96445,$96446),(nextval($96447),$96448,$96449,$96450,$96451,$96452,$96453,$96454,$96455,$96456,$96457,$96458,$96459,$96460),(nextval($96461),$96462,$96463,$96464,$96465,$96466,$96467,$96468,$96469,$96470,$96471,$96472,$96473,$96474),(nextval($96475),$96476,$96477,$96478,$96479,$96480,$96481,$96482,$96483,$96484,$96485,$96486,$96487,$96488),(nextval($96489),$96490,$96491,$96492,$96493,$96494,$96495,$96496,$96497,$96498,$96499,$96500,$96501,$96502),(nextval($96503),$96504,$96505,$96506,$96507,$96508,$96509,$96510,$96511,$96512,$96513,$96514,$96515,$96516),(nextval($96517),$96518,$96519,$96520,$96521,$96522,$96523,$96524,$96525,$96526,$96527,$96528,$96529,$96530),(nextval($96531),$96532,$96533,$96534,$96535,$96536,$96537,$96538,$96539,$96540,$96541,$96542,$96543,$96544),(nextval($96545),$96546,$96547,$96548,$96549,$96550,$96551,$96552,$96553,$96554,$96555,$96556,$96557,$96558),(nextval($96559),$96560,$96561,$96562,$96563,$96564,$96565,$96566,$96567,$96568,$96569,$96570,$96571,$96572),(nextval($96573),$96574,$96575,$96576,$96577,$96578,$96579,$96580,$96581,$96582,$96583,$96584,$96585,$96586),(nextval($96587),$96588,$96589,$96590,$96591,$96592,$96593,$96594,$96595,$96596,$96597,$96598,$96599,$96600),(nextval($96601),$96602,$96603,$96604,$96605,$96606,$96607,$96608,$96609,$96610,$96611,$96612,$96613,$96614),(nextval($96615),$96616,$96617,$96618,$96619,$96620,$96621,$96622,$96623,$96624,$96625,$96626,$96627,$96628),(nextval($96629),$96630,$96631,$96632,$96633,$96634,$96635,$96636,$96637,$96638,$96639,$96640,$96641,$96642),(nextval($96643),$96644,$96645,$96646,$96647,$96648,$96649,$96650,$96651,$96652,$96653,$96654,$96655,$96656),(nextval($96657),$96658,$96659,$96660,$96661,$96662,$96663,$96664,$96665,$96666,$96667,$96668,$96669,$96670),(nextval($96671),$96672,$96673,$96674,$96675,$96676,$96677,$96678,$96679,$96680,$96681,$96682,$96683,$96684),(nextval($96685),$96686,$96687,$96688,$96689,$96690,$96691,$96692,$96693,$96694,$96695,$96696,$96697,$96698),(nextval($96699),$96700,$96701,$96702,$96703,$96704,$96705,$96706,$96707,$96708,$96709,$96710,$96711,$96712),(nextval($96713),$96714,$96715,$96716,$96717,$96718,$96719,$96720,$96721,$96722,$96723,$96724,$96725,$96726),(nextval($96727),$96728,$96729,$96730,$96731,$96732,$96733,$96734,$96735,$96736,$96737,$96738,$96739,$96740),(nextval($96741),$96742,$96743,$96744,$96745,$96746,$96747,$96748,$96749,$96750,$96751,$96752,$96753,$96754),(nextval($96755),$96756,$96757,$96758,$96759,$96760,$96761,$96762,$96763,$96764,$96765,$96766,$96767,$96768),(nextval($96769),$96770,$96771,$96772,$96773,$96774,$96775,$96776,$96777,$96778,$96779,$96780,$96781,$96782),(nextval($96783),$96784,$96785,$96786,$96787,$96788,$96789,$96790,$96791,$96792,$96793,$96794,$96795,$96796),(nextval($96797),$96798,$96799,$96800,$96801,$96802,$96803,$96804,$96805,$96806,$96807,$96808,$96809,$96810),(nextval($96811),$96812,$96813,$96814,$96815,$96816,$96817,$96818,$96819,$96820,$96821,$96822,$96823,$96824),(nextval($96825),$96826,$96827,$96828,$96829,$96830,$96831,$96832,$96833,$96834,$96835,$96836,$96837,$96838),(nextval($96839),$96840,$96841,$96842,$96843,$96844,$96845,$96846,$96847,$96848,$96849,$96850,$96851,$96852),(nextval($96853),$96854,$96855,$96856,$96857,$96858,$96859,$96860,$96861,$96862,$96863,$96864,$96865,$96866),(nextval($96867),$96868,$96869,$96870,$96871,$96872,$96873,$96874,$96875,$96876,$96877,$96878,$96879,$96880),(nextval($96881),$96882,$96883,$96884,$96885,$96886,$96887,$96888,$96889,$96890,$96891,$96892,$96893,$96894),(nextval($96895),$96896,$96897,$96898,$96899,$96900,$96901,$96902,$96903,$96904,$96905,$96906,$96907,$96908),(nextval($96909),$96910,$96911,$96912,$96913,$96914,$96915,$96916,$96917,$96918,$96919,$96920,$96921,$96922),(nextval($96923),$96924,$96925,$96926,$96927,$96928,$96929,$96930,$96931,$96932,$96933,$96934,$96935,$96936),(nextval($96937),$96938,$96939,$96940,$96941,$96942,$96943,$96944,$96945,$96946,$96947,$96948,$96949,$96950),(nextval($96951),$96952,$96953,$96954,$96955,$96956,$96957,$96958,$96959,$96960,$96961,$96962,$96963,$96964),(nextval($96965),$96966,$96967,$96968,$96969,$96970,$96971,$96972,$96973,$96974,$96975,$96976,$96977,$96978),(nextval($96979),$96980,$96981,$96982,$96983,$96984,$96985,$96986,$96987,$96988,$96989,$96990,$96991,$96992),(nextval($96993),$96994,$96995,$96996,$96997,$96998,$96999,$97000,$97001,$97002,$97003,$97004,$97005,$97006),(nextval($97007),$97008,$97009,$97010,$97011,$97012,$97013,$97014,$97015,$97016,$97017,$97018,$97019,$97020),(nextval($97021),$97022,$97023,$97024,$97025,$97026,$97027,$97028,$97029,$97030,$97031,$97032,$97033,$97034),(nextval($97035),$97036,$97037,$97038,$97039,$97040,$97041,$97042,$97043,$97044,$97045,$97046,$97047,$97048),(nextval($97049),$97050,$97051,$97052,$97053,$97054,$97055,$97056,$97057,$97058,$97059,$97060,$97061,$97062),(nextval($97063),$97064,$97065,$97066,$97067,$97068,$97069,$97070,$97071,$97072,$97073,$97074,$97075,$97076),(nextval($97077),$97078,$97079,$97080,$97081,$97082,$97083,$97084,$97085,$97086,$97087,$97088,$97089,$97090),(nextval($97091),$97092,$97093,$97094,$97095,$97096,$97097,$97098,$97099,$97100,$97101,$97102,$97103,$97104),(nextval($97105),$97106,$97107,$97108,$97109,$97110,$97111,$97112,$97113,$97114,$97115,$97116,$97117,$97118),(nextval($97119),$97120,$97121,$97122,$97123,$97124,$97125,$97126,$97127,$97128,$97129,$97130,$97131,$97132),(nextval($97133),$97134,$97135,$97136,$97137,$97138,$97139,$97140,$97141,$97142,$97143,$97144,$97145,$97146),(nextval($97147),$97148,$97149,$97150,$97151,$97152,$97153,$97154,$97155,$97156,$97157,$97158,$97159,$97160),(nextval($97161),$97162,$97163,$97164,$97165,$97166,$97167,$97168,$97169,$97170,$97171,$97172,$97173,$97174),(nextval($97175),$97176,$97177,$97178,$97179,$97180,$97181,$97182,$97183,$97184,$97185,$97186,$97187,$97188),(nextval($97189),$97190,$97191,$97192,$97193,$97194,$97195,$97196,$97197,$97198,$97199,$97200,$97201,$97202),(nextval($97203),$97204,$97205,$97206,$97207,$97208,$97209,$97210,$97211,$97212,$97213,$97214,$97215,$97216),(nextval($97217),$97218,$97219,$97220,$97221,$97222,$97223,$97224,$97225,$97226,$97227,$97228,$97229,$97230),(nextval($97231),$97232,$97233,$97234,$97235,$97236,$97237,$97238,$97239,$97240,$97241,$97242,$97243,$97244),(nextval($97245),$97246,$97247,$97248,$97249,$97250,$97251,$97252,$97253,$97254,$97255,$97256,$97257,$97258),(nextval($97259),$97260,$97261,$97262,$97263,$97264,$97265,$97266,$97267,$97268,$97269,$97270,$97271,$97272),(nextval($97273),$97274,$97275,$97276,$97277,$97278,$97279,$97280,$97281,$97282,$97283,$97284,$97285,$97286),(nextval($97287),$97288,$97289,$97290,$97291,$97292,$97293,$97294,$97295,$97296,$97297,$97298,$97299,$97300),(nextval($97301),$97302,$97303,$97304,$97305,$97306,$97307,$97308,$97309,$97310,$97311,$97312,$97313,$97314),(nextval($97315),$97316,$97317,$97318,$97319,$97320,$97321,$97322,$97323,$97324,$97325,$97326,$97327,$97328),(nextval($97329),$97330,$97331,$97332,$97333,$97334,$97335,$97336,$97337,$97338,$97339,$97340,$97341,$97342),(nextval($97343),$97344,$97345,$97346,$97347,$97348,$97349,$97350,$97351,$97352,$97353,$97354,$97355,$97356),(nextval($97357),$97358,$97359,$97360,$97361,$97362,$97363,$97364,$97365,$97366,$97367,$97368,$97369,$97370),(nextval($97371),$97372,$97373,$97374,$97375,$97376,$97377,$97378,$97379,$97380,$97381,$97382,$97383,$97384),(nextval($97385),$97386,$97387,$97388,$97389,$97390,$97391,$97392,$97393,$97394,$97395,$97396,$97397,$97398),(nextval($97399),$97400,$97401,$97402,$97403,$97404,$97405,$97406,$97407,$97408,$97409,$97410,$97411,$97412),(nextval($97413),$97414,$97415,$97416,$97417,$97418,$97419,$97420,$97421,$97422,$97423,$97424,$97425,$97426),(nextval($97427),$97428,$97429,$97430,$97431,$97432,$97433,$97434,$97435,$97436,$97437,$97438,$97439,$97440),(nextval($97441),$97442,$97443,$97444,$97445,$97446,$97447,$97448,$97449,$97450,$97451,$97452,$97453,$97454),(nextval($97455),$97456,$97457,$97458,$97459,$97460,$97461,$97462,$97463,$97464,$97465,$97466,$97467,$97468),(nextval($97469),$97470,$97471,$97472,$97473,$97474,$97475,$97476,$97477,$97478,$97479,$97480,$97481,$97482),(nextval($97483),$97484,$97485,$97486,$97487,$97488,$97489,$97490,$97491,$97492,$97493,$97494,$97495,$97496),(nextval($97497),$97498,$97499,$97500,$97501,$97502,$97503,$97504,$97505,$97506,$97507,$97508,$97509,$97510),(nextval($97511),$97512,$97513,$97514,$97515,$97516,$97517,$97518,$97519,$97520,$97521,$97522,$97523,$97524),(nextval($97525),$97526,$97527,$97528,$97529,$97530,$97531,$97532,$97533,$97534,$97535,$97536,$97537,$97538),(nextval($97539),$97540,$97541,$97542,$97543,$97544,$97545,$97546,$97547,$97548,$97549,$97550,$97551,$97552),(nextval($97553),$97554,$97555,$97556,$97557,$97558,$97559,$97560,$97561,$97562,$97563,$97564,$97565,$97566),(nextval($97567),$97568,$97569,$97570,$97571,$97572,$97573,$97574,$97575,$97576,$97577,$97578,$97579,$97580),(nextval($97581),$97582,$97583,$97584,$97585,$97586,$97587,$97588,$97589,$97590,$97591,$97592,$97593,$97594),(nextval($97595),$97596,$97597,$97598,$97599,$97600,$97601,$97602,$97603,$97604,$97605,$97606,$97607,$97608),(nextval($97609),$97610,$97611,$97612,$97613,$97614,$97615,$97616,$97617,$97618,$97619,$97620,$97621,$97622),(nextval($97623),$97624,$97625,$97626,$97627,$97628,$97629,$97630,$97631,$97632,$97633,$97634,$97635,$97636),(nextval($97637),$97638,$97639,$97640,$97641,$97642,$97643,$97644,$97645,$97646,$97647,$97648,$97649,$97650),(nextval($97651),$97652,$97653,$97654,$97655,$97656,$97657,$97658,$97659,$97660,$97661,$97662,$97663,$97664),(nextval($97665),$97666,$97667,$97668,$97669,$97670,$97671,$97672,$97673,$97674,$97675,$97676,$97677,$97678),(nextval($97679),$97680,$97681,$97682,$97683,$97684,$97685,$97686,$97687,$97688,$97689,$97690,$97691,$97692),(nextval($97693),$97694,$97695,$97696,$97697,$97698,$97699,$97700,$97701,$97702,$97703,$97704,$97705,$97706),(nextval($97707),$97708,$97709,$97710,$97711,$97712,$97713,$97714,$97715,$97716,$97717,$97718,$97719,$97720),(nextval($97721),$97722,$97723,$97724,$97725,$97726,$97727,$97728,$97729,$97730,$97731,$97732,$97733,$97734),(nextval($97735),$97736,$97737,$97738,$97739,$97740,$97741,$97742,$97743,$97744,$97745,$97746,$97747,$97748),(nextval($97749),$97750,$97751,$97752,$97753,$97754,$97755,$97756,$97757,$97758,$97759,$97760,$97761,$97762),(nextval($97763),$97764,$97765,$97766,$97767,$97768,$97769,$97770,$97771,$97772,$97773,$97774,$97775,$97776),(nextval($97777),$97778,$97779,$97780,$97781,$97782,$97783,$97784,$97785,$97786,$97787,$97788,$97789,$97790),(nextval($97791),$97792,$97793,$97794,$97795,$97796,$97797,$97798,$97799,$97800,$97801,$97802,$97803,$97804),(nextval($97805),$97806,$97807,$97808,$97809,$97810,$97811,$97812,$97813,$97814,$97815,$97816,$97817,$97818),(nextval($97819),$97820,$97821,$97822,$97823,$97824,$97825,$97826,$97827,$97828,$97829,$97830,$97831,$97832),(nextval($97833),$97834,$97835,$97836,$97837,$97838,$97839,$97840,$97841,$97842,$97843,$97844,$97845,$97846),(nextval($97847),$97848,$97849,$97850,$97851,$97852,$97853,$97854,$97855,$97856,$97857,$97858,$97859,$97860),(nextval($97861),$97862,$97863,$97864,$97865,$97866,$97867,$97868,$97869,$97870,$97871,$97872,$97873,$97874),(nextval($97875),$97876,$97877,$97878,$97879,$97880,$97881,$97882,$97883,$97884,$97885,$97886,$97887,$97888),(nextval($97889),$97890,$97891,$97892,$97893,$97894,$97895,$97896,$97897,$97898,$97899,$97900,$97901,$97902),(nextval($97903),$97904,$97905,$97906,$97907,$97908,$97909,$97910,$97911,$97912,$97913,$97914,$97915,$97916),(nextval($97917),$97918,$97919,$97920,$97921,$97922,$97923,$97924,$97925,$97926,$97927,$97928,$97929,$97930),(nextval($97931),$97932,$97933,$97934,$97935,$97936,$97937,$97938,$97939,$97940,$97941,$97942,$97943,$97944),(nextval($97945),$97946,$97947,$97948,$97949,$97950,$97951,$97952,$97953,$97954,$97955,$97956,$97957,$97958),(nextval($97959),$97960,$97961,$97962,$97963,$97964,$97965,$97966,$97967,$97968,$97969,$97970,$97971,$97972),(nextval($97973),$97974,$97975,$97976,$97977,$97978,$97979,$97980,$97981,$97982,$97983,$97984,$97985,$97986),(nextval($97987),$97988,$97989,$97990,$97991,$97992,$97993,$97994,$97995,$97996,$97997,$97998,$97999,$98000),(nextval($98001),$98002,$98003,$98004,$98005,$98006,$98007,$98008,$98009,$98010,$98011,$98012,$98013,$98014),(nextval($98015),$98016,$98017,$98018,$98019,$98020,$98021,$98022,$98023,$98024,$98025,$98026,$98027,$98028),(nextval($98029),$98030,$98031,$98032,$98033,$98034,$98035,$98036,$98037,$98038,$98039,$98040,$98041,$98042),(nextval($98043),$98044,$98045,$98046,$98047,$98048,$98049,$98050,$98051,$98052,$98053,$98054,$98055,$98056),(nextval($98057),$98058,$98059,$98060,$98061,$98062,$98063,$98064,$98065,$98066,$98067,$98068,$98069,$98070),(nextval($98071),$98072,$98073,$98074,$98075,$98076,$98077,$98078,$98079,$98080,$98081,$98082,$98083,$98084),(nextval($98085),$98086,$98087,$98088,$98089,$98090,$98091,$98092,$98093,$98094,$98095,$98096,$98097,$98098),(nextval($98099),$98100,$98101,$98102,$98103,$98104,$98105,$98106,$98107,$98108,$98109,$98110,$98111,$98112),(nextval($98113),$98114,$98115,$98116,$98117,$98118,$98119,$98120,$98121,$98122,$98123,$98124,$98125,$98126),(nextval($98127),$98128,$98129,$98130,$98131,$98132,$98133,$98134,$98135,$98136,$98137,$98138,$98139,$98140),(nextval($98141),$98142,$98143,$98144,$98145,$98146,$98147,$98148,$98149,$98150,$98151,$98152,$98153,$98154),(nextval($98155),$98156,$98157,$98158,$98159,$98160,$98161,$98162,$98163,$98164,$98165,$98166,$98167,$98168),(nextval($98169),$98170,$98171,$98172,$98173,$98174,$98175,$98176,$98177,$98178,$98179,$98180,$98181,$98182),(nextval($98183),$98184,$98185,$98186,$98187,$98188,$98189,$98190,$98191,$98192,$98193,$98194,$98195,$98196),(nextval($98197),$98198,$98199,$98200,$98201,$98202,$98203,$98204,$98205,$98206,$98207,$98208,$98209,$98210),(nextval($98211),$98212,$98213,$98214,$98215,$98216,$98217,$98218,$98219,$98220,$98221,$98222,$98223,$98224),(nextval($98225),$98226,$98227,$98228,$98229,$98230,$98231,$98232,$98233,$98234,$98235,$98236,$98237,$98238),(nextval($98239),$98240,$98241,$98242,$98243,$98244,$98245,$98246,$98247,$98248,$98249,$98250,$98251,$98252),(nextval($98253),$98254,$98255,$98256,$98257,$98258,$98259,$98260,$98261,$98262,$98263,$98264,$98265,$98266),(nextval($98267),$98268,$98269,$98270,$98271,$98272,$98273,$98274,$98275,$98276,$98277,$98278,$98279,$98280),(nextval($98281),$98282,$98283,$98284,$98285,$98286,$98287,$98288,$98289,$98290,$98291,$98292,$98293,$98294),(nextval($98295),$98296,$98297,$98298,$98299,$98300,$98301,$98302,$98303,$98304,$98305,$98306,$98307,$98308),(nextval($98309),$98310,$98311,$98312,$98313,$98314,$98315,$98316,$98317,$98318,$98319,$98320,$98321,$98322),(nextval($98323),$98324,$98325,$98326,$98327,$98328,$98329,$98330,$98331,$98332,$98333,$98334,$98335,$98336),(nextval($98337),$98338,$98339,$98340,$98341,$98342,$98343,$98344,$98345,$98346,$98347,$98348,$98349,$98350),(nextval($98351),$98352,$98353,$98354,$98355,$98356,$98357,$98358,$98359,$98360,$98361,$98362,$98363,$98364),(nextval($98365),$98366,$98367,$98368,$98369,$98370,$98371,$98372,$98373,$98374,$98375,$98376,$98377,$98378),(nextval($98379),$98380,$98381,$98382,$98383,$98384,$98385,$98386,$98387,$98388,$98389,$98390,$98391,$98392),(nextval($98393),$98394,$98395,$98396,$98397,$98398,$98399,$98400,$98401,$98402,$98403,$98404,$98405,$98406),(nextval($98407),$98408,$98409,$98410,$98411,$98412,$98413,$98414,$98415,$98416,$98417,$98418,$98419,$98420),(nextval($98421),$98422,$98423,$98424,$98425,$98426,$98427,$98428,$98429,$98430,$98431,$98432,$98433,$98434),(nextval($98435),$98436,$98437,$98438,$98439,$98440,$98441,$98442,$98443,$98444,$98445,$98446,$98447,$98448),(nextval($98449),$98450,$98451,$98452,$98453,$98454,$98455,$98456,$98457,$98458,$98459,$98460,$98461,$98462),(nextval($98463),$98464,$98465,$98466,$98467,$98468,$98469,$98470,$98471,$98472,$98473,$98474,$98475,$98476),(nextval($98477),$98478,$98479,$98480,$98481,$98482,$98483,$98484,$98485,$98486,$98487,$98488,$98489,$98490),(nextval($98491),$98492,$98493,$98494,$98495,$98496,$98497,$98498,$98499,$98500,$98501,$98502,$98503,$98504),(nextval($98505),$98506,$98507,$98508,$98509,$98510,$98511,$98512,$98513,$98514,$98515,$98516,$98517,$98518),(nextval($98519),$98520,$98521,$98522,$98523,$98524,$98525,$98526,$98527,$98528,$98529,$98530,$98531,$98532),(nextval($98533),$98534,$98535,$98536,$98537,$98538,$98539,$98540,$98541,$98542,$98543,$98544,$98545,$98546),(nextval($98547),$98548,$98549,$98550,$98551,$98552,$98553,$98554,$98555,$98556,$98557,$98558,$98559,$98560),(nextval($98561),$98562,$98563,$98564,$98565,$98566,$98567,$98568,$98569,$98570,$98571,$98572,$98573,$98574),(nextval($98575),$98576,$98577,$98578,$98579,$98580,$98581,$98582,$98583,$98584,$98585,$98586,$98587,$98588),(nextval($98589),$98590,$98591,$98592,$98593,$98594,$98595,$98596,$98597,$98598,$98599,$98600,$98601,$98602),(nextval($98603),$98604,$98605,$98606,$98607,$98608,$98609,$98610,$98611,$98612,$98613,$98614,$98615,$98616),(nextval($98617),$98618,$98619,$98620,$98621,$98622,$98623,$98624,$98625,$98626,$98627,$98628,$98629,$98630),(nextval($98631),$98632,$98633,$98634,$98635,$98636,$98637,$98638,$98639,$98640,$98641,$98642,$98643,$98644),(nextval($98645),$98646,$98647,$98648,$98649,$98650,$98651,$98652,$98653,$98654,$98655,$98656,$98657,$98658),(nextval($98659),$98660,$98661,$98662,$98663,$98664,$98665,$98666,$98667,$98668,$98669,$98670,$98671,$98672),(nextval($98673),$98674,$98675,$98676,$98677,$98678,$98679,$98680,$98681,$98682,$98683,$98684,$98685,$98686),(nextval($98687),$98688,$98689,$98690,$98691,$98692,$98693,$98694,$98695,$98696,$98697,$98698,$98699,$98700),(nextval($98701),$98702,$98703,$98704,$98705,$98706,$98707,$98708,$98709,$98710,$98711,$98712,$98713,$98714),(nextval($98715),$98716,$98717,$98718,$98719,$98720,$98721,$98722,$98723,$98724,$98725,$98726,$98727,$98728),(nextval($98729),$98730,$98731,$98732,$98733,$98734,$98735,$98736,$98737,$98738,$98739,$98740,$98741,$98742),(nextval($98743),$98744,$98745,$98746,$98747,$98748,$98749,$98750,$98751,$98752,$98753,$98754,$98755,$98756),(nextval($98757),$98758,$98759,$98760,$98761,$98762,$98763,$98764,$98765,$98766,$98767,$98768,$98769,$98770),(nextval($98771),$98772,$98773,$98774,$98775,$98776,$98777,$98778,$98779,$98780,$98781,$98782,$98783,$98784),(nextval($98785),$98786,$98787,$98788,$98789,$98790,$98791,$98792,$98793,$98794,$98795,$98796,$98797,$98798),(nextval($98799),$98800,$98801,$98802,$98803,$98804,$98805,$98806,$98807,$98808,$98809,$98810,$98811,$98812),(nextval($98813),$98814,$98815,$98816,$98817,$98818,$98819,$98820,$98821,$98822,$98823,$98824,$98825,$98826),(nextval($98827),$98828,$98829,$98830,$98831,$98832,$98833,$98834,$98835,$98836,$98837,$98838,$98839,$98840),(nextval($98841),$98842,$98843,$98844,$98845,$98846,$98847,$98848,$98849,$98850,$98851,$98852,$98853,$98854),(nextval($98855),$98856,$98857,$98858,$98859,$98860,$98861,$98862,$98863,$98864,$98865,$98866,$98867,$98868),(nextval($98869),$98870,$98871,$98872,$98873,$98874,$98875,$98876,$98877,$98878,$98879,$98880,$98881,$98882),(nextval($98883),$98884,$98885,$98886,$98887,$98888,$98889,$98890,$98891,$98892,$98893,$98894,$98895,$98896),(nextval($98897),$98898,$98899,$98900,$98901,$98902,$98903,$98904,$98905,$98906,$98907,$98908,$98909,$98910),(nextval($98911),$98912,$98913,$98914,$98915,$98916,$98917,$98918,$98919,$98920,$98921,$98922,$98923,$98924),(nextval($98925),$98926,$98927,$98928,$98929,$98930,$98931,$98932,$98933,$98934,$98935,$98936,$98937,$98938),(nextval($98939),$98940,$98941,$98942,$98943,$98944,$98945,$98946,$98947,$98948,$98949,$98950,$98951,$98952),(nextval($98953),$98954,$98955,$98956,$98957,$98958,$98959,$98960,$98961,$98962,$98963,$98964,$98965,$98966),(nextval($98967),$98968,$98969,$98970,$98971,$98972,$98973,$98974,$98975,$98976,$98977,$98978,$98979,$98980),(nextval($98981),$98982,$98983,$98984,$98985,$98986,$98987,$98988,$98989,$98990,$98991,$98992,$98993,$98994),(nextval($98995),$98996,$98997,$98998,$98999,$99000,$99001,$99002,$99003,$99004,$99005,$99006,$99007,$99008),(nextval($99009),$99010,$99011,$99012,$99013,$99014,$99015,$99016,$99017,$99018,$99019,$99020,$99021,$99022),(nextval($99023),$99024,$99025,$99026,$99027,$99028,$99029,$99030,$99031,$99032,$99033,$99034,$99035,$99036),(nextval($99037),$99038,$99039,$99040,$99041,$99042,$99043,$99044,$99045,$99046,$99047,$99048,$99049,$99050),(nextval($99051),$99052,$99053,$99054,$99055,$99056,$99057,$99058,$99059,$99060,$99061,$99062,$99063,$99064),(nextval($99065),$99066,$99067,$99068,$99069,$99070,$99071,$99072,$99073,$99074,$99075,$99076,$99077,$99078),(nextval($99079),$99080,$99081,$99082,$99083,$99084,$99085,$99086,$99087,$99088,$99089,$99090,$99091,$99092),(nextval($99093),$99094,$99095,$99096,$99097,$99098,$99099,$99100,$99101,$99102,$99103,$99104,$99105,$99106),(nextval($99107),$99108,$99109,$99110,$99111,$99112,$99113,$99114,$99115,$99116,$99117,$99118,$99119,$99120),(nextval($99121),$99122,$99123,$99124,$99125,$99126,$99127,$99128,$99129,$99130,$99131,$99132,$99133,$99134),(nextval($99135),$99136,$99137,$99138,$99139,$99140,$99141,$99142,$99143,$99144,$99145,$99146,$99147,$99148),(nextval($99149),$99150,$99151,$99152,$99153,$99154,$99155,$99156,$99157,$99158,$99159,$99160,$99161,$99162),(nextval($99163),$99164,$99165,$99166,$99167,$99168,$99169,$99170,$99171,$99172,$99173,$99174,$99175,$99176),(nextval($99177),$99178,$99179,$99180,$99181,$99182,$99183,$99184,$99185,$99186,$99187,$99188,$99189,$99190),(nextval($99191),$99192,$99193,$99194,$99195,$99196,$99197,$99198,$99199,$99200,$99201,$99202,$99203,$99204),(nextval($99205),$99206,$99207,$99208,$99209,$99210,$99211,$99212,$99213,$99214,$99215,$99216,$99217,$99218),(nextval($99219),$99220,$99221,$99222,$99223,$99224,$99225,$99226,$99227,$99228,$99229,$99230,$99231,$99232),(nextval($99233),$99234,$99235,$99236,$99237,$99238,$99239,$99240,$99241,$99242,$99243,$99244,$99245,$99246),(nextval($99247),$99248,$99249,$99250,$99251,$99252,$99253,$99254,$99255,$99256,$99257,$99258,$99259,$99260),(nextval($99261),$99262,$99263,$99264,$99265,$99266,$99267,$99268,$99269,$99270,$99271,$99272,$99273,$99274),(nextval($99275),$99276,$99277,$99278,$99279,$99280,$99281,$99282,$99283,$99284,$99285,$99286,$99287,$99288),(nextval($99289),$99290,$99291,$99292,$99293,$99294,$99295,$99296,$99297,$99298,$99299,$99300,$99301,$99302),(nextval($99303),$99304,$99305,$99306,$99307,$99308,$99309,$99310,$99311,$99312,$99313,$99314,$99315,$99316),(nextval($99317),$99318,$99319,$99320,$99321,$99322,$99323,$99324,$99325,$99326,$99327,$99328,$99329,$99330),(nextval($99331),$99332,$99333,$99334,$99335,$99336,$99337,$99338,$99339,$99340,$99341,$99342,$99343,$99344),(nextval($99345),$99346,$99347,$99348,$99349,$99350,$99351,$99352,$99353,$99354,$99355,$99356,$99357,$99358),(nextval($99359),$99360,$99361,$99362,$99363,$99364,$99365,$99366,$99367,$99368,$99369,$99370,$99371,$99372),(nextval($99373),$99374,$99375,$99376,$99377,$99378,$99379,$99380,$99381,$99382,$99383,$99384,$99385,$99386),(nextval($99387),$99388,$99389,$99390,$99391,$99392,$99393,$99394,$99395,$99396,$99397,$99398,$99399,$99400),(nextval($99401),$99402,$99403,$99404,$99405,$99406,$99407,$99408,$99409,$99410,$99411,$99412,$99413,$99414),(nextval($99415),$99416,$99417,$99418,$99419,$99420,$99421,$99422,$99423,$99424,$99425,$99426,$99427,$99428),(nextval($99429),$99430,$99431,$99432,$99433,$99434,$99435,$99436,$99437,$99438,$99439,$99440,$99441,$99442),(nextval($99443),$99444,$99445,$99446,$99447,$99448,$99449,$99450,$99451,$99452,$99453,$99454,$99455,$99456),(nextval($99457),$99458,$99459,$99460,$99461,$99462,$99463,$99464,$99465,$99466,$99467,$99468,$99469,$99470),(nextval($99471),$99472,$99473,$99474,$99475,$99476,$99477,$99478,$99479,$99480,$99481,$99482,$99483,$99484),(nextval($99485),$99486,$99487,$99488,$99489,$99490,$99491,$99492,$99493,$99494,$99495,$99496,$99497,$99498),(nextval($99499),$99500,$99501,$99502,$99503,$99504,$99505,$99506,$99507,$99508,$99509,$99510,$99511,$99512),(nextval($99513),$99514,$99515,$99516,$99517,$99518,$99519,$99520,$99521,$99522,$99523,$99524,$99525,$99526),(nextval($99527),$99528,$99529,$99530,$99531,$99532,$99533,$99534,$99535,$99536,$99537,$99538,$99539,$99540),(nextval($99541),$99542,$99543,$99544,$99545,$99546,$99547,$99548,$99549,$99550,$99551,$99552,$99553,$99554),(nextval($99555),$99556,$99557,$99558,$99559,$99560,$99561,$99562,$99563,$99564,$99565,$99566,$99567,$99568),(nextval($99569),$99570,$99571,$99572,$99573,$99574,$99575,$99576,$99577,$99578,$99579,$99580,$99581,$99582),(nextval($99583),$99584,$99585,$99586,$99587,$99588,$99589,$99590,$99591,$99592,$99593,$99594,$99595,$99596),(nextval($99597),$99598,$99599,$99600,$99601,$99602,$99603,$99604,$99605,$99606,$99607,$99608,$99609,$99610),(nextval($99611),$99612,$99613,$99614,$99615,$99616,$99617,$99618,$99619,$99620,$99621,$99622,$99623,$99624),(nextval($99625),$99626,$99627,$99628,$99629,$99630,$99631,$99632,$99633,$99634,$99635,$99636,$99637,$99638),(nextval($99639),$99640,$99641,$99642,$99643,$99644,$99645,$99646,$99647,$99648,$99649,$99650,$99651,$99652),(nextval($99653),$99654,$99655,$99656,$99657,$99658,$99659,$99660,$99661,$99662,$99663,$99664,$99665,$99666),(nextval($99667),$99668,$99669,$99670,$99671,$99672,$99673,$99674,$99675,$99676,$99677,$99678,$99679,$99680),(nextval($99681),$99682,$99683,$99684,$99685,$99686,$99687,$99688,$99689,$99690,$99691,$99692,$99693,$99694),(nextval($99695),$99696,$99697,$99698,$99699,$99700,$99701,$99702,$99703,$99704,$99705,$99706,$99707,$99708),(nextval($99709),$99710,$99711,$99712,$99713,$99714,$99715,$99716,$99717,$99718,$99719,$99720,$99721,$99722),(nextval($99723),$99724,$99725,$99726,$99727,$99728,$99729,$99730,$99731,$99732,$99733,$99734,$99735,$99736),(nextval($99737),$99738,$99739,$99740,$99741,$99742,$99743,$99744,$99745,$99746,$99747,$99748,$99749,$99750),(nextval($99751),$99752,$99753,$99754,$99755,$99756,$99757,$99758,$99759,$99760,$99761,$99762,$99763,$99764),(nextval($99765),$99766,$99767,$99768,$99769,$99770,$99771,$99772,$99773,$99774,$99775,$99776,$99777,$99778),(nextval($99779),$99780,$99781,$99782,$99783,$99784,$99785,$99786,$99787,$99788,$99789,$99790,$99791,$99792),(nextval($99793),$99794,$99795,$99796,$99797,$99798,$99799,$99800,$99801,$99802,$99803,$99804,$99805,$99806),(nextval($99807),$99808,$99809,$99810,$99811,$99812,$99813,$99814,$99815,$99816,$99817,$99818,$99819,$99820),(nextval($99821),$99822,$99823,$99824,$99825,$99826,$99827,$99828,$99829,$99830,$99831,$99832,$99833,$99834),(nextval($99835),$99836,$99837,$99838,$99839,$99840,$99841,$99842,$99843,$99844,$99845,$99846,$99847,$99848),(nextval($99849),$99850,$99851,$99852,$99853,$99854,$99855,$99856,$99857,$99858,$99859,$99860,$99861,$99862),(nextval($99863),$99864,$99865,$99866,$99867,$99868,$99869,$99870,$99871,$99872,$99873,$99874,$99875,$99876),(nextval($99877),$99878,$99879,$99880,$99881,$99882,$99883,$99884,$99885,$99886,$99887,$99888,$99889,$99890),(nextval($99891),$99892,$99893,$99894,$99895,$99896,$99897,$99898,$99899,$99900,$99901,$99902,$99903,$99904),(nextval($99905),$99906,$99907,$99908,$99909,$99910,$99911,$99912,$99913,$99914,$99915,$99916,$99917,$99918),(nextval($99919),$99920,$99921,$99922,$99923,$99924,$99925,$99926,$99927,$99928,$99929,$99930,$99931,$99932),(nextval($99933),$99934,$99935,$99936,$99937,$99938,$99939,$99940,$99941,$99942,$99943,$99944,$99945,$99946),(nextval($99947),$99948,$99949,$99950,$99951,$99952,$99953,$99954,$99955,$99956,$99957,$99958,$99959,$99960),(nextval($99961),$99962,$99963,$99964,$99965,$99966,$99967,$99968,$99969,$99970,$99971,$99972,$99973,$99974),(nextval($99975),$99976,$99977,$99978,$99979,$99980,$99981,$99982,$99983,$99984,$99985,$99986,$99987,$99988),(nextval($99989),$99990,$99991,$99992,$99993,$99994,$99995,$99996,$99997,$99998,$99999,$100000,$100001,$100002),(nextval($100003),$100004,$100005,$100006,$100007,$100008,$100009,$100010,$100011,$100012,$100013,$100014,$100015,$100016),(nextval($100017),$100018,$100019,$100020,$100021,$100022,$100023,$100024,$100025,$100026,$100027,$100028,$100029,$100030),(nextval($100031),$100032,$100033,$100034,$100035,$100036,$100037,$100038,$100039,$100040,$100041,$100042,$100043,$100044),(nextval($100045),$100046,$100047,$100048,$100049,$100050,$100051,$100052,$100053,$100054,$100055,$100056,$100057,$100058),(nextval($100059),$100060,$100061,$100062,$100063,$100064,$100065,$100066,$100067,$100068,$100069,$100070,$100071,$100072),(nextval($100073),$100074,$100075,$100076,$100077,$100078,$100079,$100080,$100081,$100082,$100083,$100084,$100085,$100086),(nextval($100087),$100088,$100089,$100090,$100091,$100092,$100093,$100094,$100095,$100096,$100097,$100098,$100099,$100100),(nextval($100101),$100102,$100103,$100104,$100105,$100106,$100107,$100108,$100109,$100110,$100111,$100112,$100113,$100114),(nextval($100115),$100116,$100117,$100118,$100119,$100120,$100121,$100122,$100123,$100124,$100125,$100126,$100127,$100128),(nextval($100129),$100130,$100131,$100132,$100133,$100134,$100135,$100136,$100137,$100138,$100139,$100140,$100141,$100142),(nextval($100143),$100144,$100145,$100146,$100147,$100148,$100149,$100150,$100151,$100152,$100153,$100154,$100155,$100156),(nextval($100157),$100158,$100159,$100160,$100161,$100162,$100163,$100164,$100165,$100166,$100167,$100168,$100169,$100170),(nextval($100171),$100172,$100173,$100174,$100175,$100176,$100177,$100178,$100179,$100180,$100181,$100182,$100183,$100184),(nextval($100185),$100186,$100187,$100188,$100189,$100190,$100191,$100192,$100193,$100194,$100195,$100196,$100197,$100198),(nextval($100199),$100200,$100201,$100202,$100203,$100204,$100205,$100206,$100207,$100208,$100209,$100210,$100211,$100212),(nextval($100213),$100214,$100215,$100216,$100217,$100218,$100219,$100220,$100221,$100222,$100223,$100224,$100225,$100226),(nextval($100227),$100228,$100229,$100230,$100231,$100232,$100233,$100234,$100235,$100236,$100237,$100238,$100239,$100240),(nextval($100241),$100242,$100243,$100244,$100245,$100246,$100247,$100248,$100249,$100250,$100251,$100252,$100253,$100254),(nextval($100255),$100256,$100257,$100258,$100259,$100260,$100261,$100262,$100263,$100264,$100265,$100266,$100267,$100268),(nextval($100269),$100270,$100271,$100272,$100273,$100274,$100275,$100276,$100277,$100278,$100279,$100280,$100281,$100282),(nextval($100283),$100284,$100285,$100286,$100287,$100288,$100289,$100290,$100291,$100292,$100293,$100294,$100295,$100296),(nextval($100297),$100298,$100299,$100300,$100301,$100302,$100303,$100304,$100305,$100306,$100307,$100308,$100309,$100310),(nextval($100311),$100312,$100313,$100314,$100315,$100316,$100317,$100318,$100319,$100320,$100321,$100322,$100323,$100324),(nextval($100325),$100326,$100327,$100328,$100329,$100330,$100331,$100332,$100333,$100334,$100335,$100336,$100337,$100338),(nextval($100339),$100340,$100341,$100342,$100343,$100344,$100345,$100346,$100347,$100348,$100349,$100350,$100351,$100352),(nextval($100353),$100354,$100355,$100356,$100357,$100358,$100359,$100360,$100361,$100362,$100363,$100364,$100365,$100366),(nextval($100367),$100368,$100369,$100370,$100371,$100372,$100373,$100374,$100375,$100376,$100377,$100378,$100379,$100380),(nextval($100381),$100382,$100383,$100384,$100385,$100386,$100387,$100388,$100389,$100390,$100391,$100392,$100393,$100394),(nextval($100395),$100396,$100397,$100398,$100399,$100400,$100401,$100402,$100403,$100404,$100405,$100406,$100407,$100408),(nextval($100409),$100410,$100411,$100412,$100413,$100414,$100415,$100416,$100417,$100418,$100419,$100420,$100421,$100422),(nextval($100423),$100424,$100425,$100426,$100427,$100428,$100429,$100430,$100431,$100432,$100433,$100434,$100435,$100436),(nextval($100437),$100438,$100439,$100440,$100441,$100442,$100443,$100444,$100445,$100446,$100447,$100448,$100449,$100450),(nextval($100451),$100452,$100453,$100454,$100455,$100456,$100457,$100458,$100459,$100460,$100461,$100462,$100463,$100464),(nextval($100465),$100466,$100467,$100468,$100469,$100470,$100471,$100472,$100473,$100474,$100475,$100476,$100477,$100478),(nextval($100479),$100480,$100481,$100482,$100483,$100484,$100485,$100486,$100487,$100488,$100489,$100490,$100491,$100492),(nextval($100493),$100494,$100495,$100496,$100497,$100498,$100499,$100500,$100501,$100502,$100503,$100504,$100505,$100506),(nextval($100507),$100508,$100509,$100510,$100511,$100512,$100513,$100514,$100515,$100516,$100517,$100518,$100519,$100520),(nextval($100521),$100522,$100523,$100524,$100525,$100526,$100527,$100528,$100529,$100530,$100531,$100532,$100533,$100534),(nextval($100535),$100536,$100537,$100538,$100539,$100540,$100541,$100542,$100543,$100544,$100545,$100546,$100547,$100548),(nextval($100549),$100550,$100551,$100552,$100553,$100554,$100555,$100556,$100557,$100558,$100559,$100560,$100561,$100562),(nextval($100563),$100564,$100565,$100566,$100567,$100568,$100569,$100570,$100571,$100572,$100573,$100574,$100575,$100576),(nextval($100577),$100578,$100579,$100580,$100581,$100582,$100583,$100584,$100585,$100586,$100587,$100588,$100589,$100590),(nextval($100591),$100592,$100593,$100594,$100595,$100596,$100597,$100598,$100599,$100600,$100601,$100602,$100603,$100604),(nextval($100605),$100606,$100607,$100608,$100609,$100610,$100611,$100612,$100613,$100614,$100615,$100616,$100617,$100618),(nextval($100619),$100620,$100621,$100622,$100623,$100624,$100625,$100626,$100627,$100628,$100629,$100630,$100631,$100632),(nextval($100633),$100634,$100635,$100636,$100637,$100638,$100639,$100640,$100641,$100642,$100643,$100644,$100645,$100646),(nextval($100647),$100648,$100649,$100650,$100651,$100652,$100653,$100654,$100655,$100656,$100657,$100658,$100659,$100660),(nextval($100661),$100662,$100663,$100664,$100665,$100666,$100667,$100668,$100669,$100670,$100671,$100672,$100673,$100674),(nextval($100675),$100676,$100677,$100678,$100679,$100680,$100681,$100682,$100683,$100684,$100685,$100686,$100687,$100688),(nextval($100689),$100690,$100691,$100692,$100693,$100694,$100695,$100696,$100697,$100698,$100699,$100700,$100701,$100702),(nextval($100703),$100704,$100705,$100706,$100707,$100708,$100709,$100710,$100711,$100712,$100713,$100714,$100715,$100716),(nextval($100717),$100718,$100719,$100720,$100721,$100722,$100723,$100724,$100725,$100726,$100727,$100728,$100729,$100730),(nextval($100731),$100732,$100733,$100734,$100735,$100736,$100737,$100738,$100739,$100740,$100741,$100742,$100743,$100744),(nextval($100745),$100746,$100747,$100748,$100749,$100750,$100751,$100752,$100753,$100754,$100755,$100756,$100757,$100758),(nextval($100759),$100760,$100761,$100762,$100763,$100764,$100765,$100766,$100767,$100768,$100769,$100770,$100771,$100772),(nextval($100773),$100774,$100775,$100776,$100777,$100778,$100779,$100780,$100781,$100782,$100783,$100784,$100785,$100786),(nextval($100787),$100788,$100789,$100790,$100791,$100792,$100793,$100794,$100795,$100796,$100797,$100798,$100799,$100800),(nextval($100801),$100802,$100803,$100804,$100805,$100806,$100807,$100808,$100809,$100810,$100811,$100812,$100813,$100814),(nextval($100815),$100816,$100817,$100818,$100819,$100820,$100821,$100822,$100823,$100824,$100825,$100826,$100827,$100828),(nextval($100829),$100830,$100831,$100832,$100833,$100834,$100835,$100836,$100837,$100838,$100839,$100840,$100841,$100842),(nextval($100843),$100844,$100845,$100846,$100847,$100848,$100849,$100850,$100851,$100852,$100853,$100854,$100855,$100856),(nextval($100857),$100858,$100859,$100860,$100861,$100862,$100863,$100864,$100865,$100866,$100867,$100868,$100869,$100870),(nextval($100871),$100872,$100873,$100874,$100875,$100876,$100877,$100878,$100879,$100880,$100881,$100882,$100883,$100884),(nextval($100885),$100886,$100887,$100888,$100889,$100890,$100891,$100892,$100893,$100894,$100895,$100896,$100897,$100898),(nextval($100899),$100900,$100901,$100902,$100903,$100904,$100905,$100906,$100907,$100908,$100909,$100910,$100911,$100912),(nextval($100913),$100914,$100915,$100916,$100917,$100918,$100919,$100920,$100921,$100922,$100923,$100924,$100925,$100926),(nextval($100927),$100928,$100929,$100930,$100931,$100932,$100933,$100934,$100935,$100936,$100937,$100938,$100939,$100940),(nextval($100941),$100942,$100943,$100944,$100945,$100946,$100947,$100948,$100949,$100950,$100951,$100952,$100953,$100954),(nextval($100955),$100956,$100957,$100958,$100959,$100960,$100961,$100962,$100963,$100964,$100965,$100966,$100967,$100968),(nextval($100969),$100970,$100971,$100972,$100973,$100974,$100975,$100976,$100977,$100978,$100979,$100980,$100981,$100982),(nextval($100983),$100984,$100985,$100986,$100987,$100988,$100989,$100990,$100991,$100992,$100993,$100994,$100995,$100996),(nextval($100997),$100998,$100999,$101000,$101001,$101002,$101003,$101004,$101005,$101006,$101007,$101008,$101009,$101010),(nextval($101011),$101012,$101013,$101014,$101015,$101016,$101017,$101018,$101019,$101020,$101021,$101022,$101023,$101024),(nextval($101025),$101026,$101027,$101028,$101029,$101030,$101031,$101032,$101033,$101034,$101035,$101036,$101037,$101038),(nextval($101039),$101040,$101041,$101042,$101043,$101044,$101045,$101046,$101047,$101048,$101049,$101050,$101051,$101052),(nextval($101053),$101054,$101055,$101056,$101057,$101058,$101059,$101060,$101061,$101062,$101063,$101064,$101065,$101066),(nextval($101067),$101068,$101069,$101070,$101071,$101072,$101073,$101074,$101075,$101076,$101077,$101078,$101079,$101080),(nextval($101081),$101082,$101083,$101084,$101085,$101086,$101087,$101088,$101089,$101090,$101091,$101092,$101093,$101094),(nextval($101095),$101096,$101097,$101098,$101099,$101100,$101101,$101102,$101103,$101104,$101105,$101106,$101107,$101108),(nextval($101109),$101110,$101111,$101112,$101113,$101114,$101115,$101116,$101117,$101118,$101119,$101120,$101121,$101122),(nextval($101123),$101124,$101125,$101126,$101127,$101128,$101129,$101130,$101131,$101132,$101133,$101134,$101135,$101136),(nextval($101137),$101138,$101139,$101140,$101141,$101142,$101143,$101144,$101145,$101146,$101147,$101148,$101149,$101150),(nextval($101151),$101152,$101153,$101154,$101155,$101156,$101157,$101158,$101159,$101160,$101161,$101162,$101163,$101164),(nextval($101165),$101166,$101167,$101168,$101169,$101170,$101171,$101172,$101173,$101174,$101175,$101176,$101177,$101178),(nextval($101179),$101180,$101181,$101182,$101183,$101184,$101185,$101186,$101187,$101188,$101189,$101190,$101191,$101192),(nextval($101193),$101194,$101195,$101196,$101197,$101198,$101199,$101200,$101201,$101202,$101203,$101204,$101205,$101206),(nextval($101207),$101208,$101209,$101210,$101211,$101212,$101213,$101214,$101215,$101216,$101217,$101218,$101219,$101220),(nextval($101221),$101222,$101223,$101224,$101225,$101226,$101227,$101228,$101229,$101230,$101231,$101232,$101233,$101234),(nextval($101235),$101236,$101237,$101238,$101239,$101240,$101241,$101242,$101243,$101244,$101245,$101246,$101247,$101248),(nextval($101249),$101250,$101251,$101252,$101253,$101254,$101255,$101256,$101257,$101258,$101259,$101260,$101261,$101262),(nextval($101263),$101264,$101265,$101266,$101267,$101268,$101269,$101270,$101271,$101272,$101273,$101274,$101275,$101276),(nextval($101277),$101278,$101279,$101280,$101281,$101282,$101283,$101284,$101285,$101286,$101287,$101288,$101289,$101290),(nextval($101291),$101292,$101293,$101294,$101295,$101296,$101297,$101298,$101299,$101300,$101301,$101302,$101303,$101304),(nextval($101305),$101306,$101307,$101308,$101309,$101310,$101311,$101312,$101313,$101314,$101315,$101316,$101317,$101318),(nextval($101319),$101320,$101321,$101322,$101323,$101324,$101325,$101326,$101327,$101328,$101329,$101330,$101331,$101332),(nextval($101333),$101334,$101335,$101336,$101337,$101338,$101339,$101340,$101341,$101342,$101343,$101344,$101345,$101346),(nextval($101347),$101348,$101349,$101350,$101351,$101352,$101353,$101354,$101355,$101356,$101357,$101358,$101359,$101360),(nextval($101361),$101362,$101363,$101364,$101365,$101366,$101367,$101368,$101369,$101370,$101371,$101372,$101373,$101374),(nextval($101375),$101376,$101377,$101378,$101379,$101380,$101381,$101382,$101383,$101384,$101385,$101386,$101387,$101388),(nextval($101389),$101390,$101391,$101392,$101393,$101394,$101395,$101396,$101397,$101398,$101399,$101400,$101401,$101402),(nextval($101403),$101404,$101405,$101406,$101407,$101408,$101409,$101410,$101411,$101412,$101413,$101414,$101415,$101416),(nextval($101417),$101418,$101419,$101420,$101421,$101422,$101423,$101424,$101425,$101426,$101427,$101428,$101429,$101430),(nextval($101431),$101432,$101433,$101434,$101435,$101436,$101437,$101438,$101439,$101440,$101441,$101442,$101443,$101444),(nextval($101445),$101446,$101447,$101448,$101449,$101450,$101451,$101452,$101453,$101454,$101455,$101456,$101457,$101458),(nextval($101459),$101460,$101461,$101462,$101463,$101464,$101465,$101466,$101467,$101468,$101469,$101470,$101471,$101472),(nextval($101473),$101474,$101475,$101476,$101477,$101478,$101479,$101480,$101481,$101482,$101483,$101484,$101485,$101486),(nextval($101487),$101488,$101489,$101490,$101491,$101492,$101493,$101494,$101495,$101496,$101497,$101498,$101499,$101500),(nextval($101501),$101502,$101503,$101504,$101505,$101506,$101507,$101508,$101509,$101510,$101511,$101512,$101513,$101514),(nextval($101515),$101516,$101517,$101518,$101519,$101520,$101521,$101522,$101523,$101524,$101525,$101526,$101527,$101528),(nextval($101529),$101530,$101531,$101532,$101533,$101534,$101535,$101536,$101537,$101538,$101539,$101540,$101541,$101542),(nextval($101543),$101544,$101545,$101546,$101547,$101548,$101549,$101550,$101551,$101552,$101553,$101554,$101555,$101556),(nextval($101557),$101558,$101559,$101560,$101561,$101562,$101563,$101564,$101565,$101566,$101567,$101568,$101569,$101570),(nextval($101571),$101572,$101573,$101574,$101575,$101576,$101577,$101578,$101579,$101580,$101581,$101582,$101583,$101584),(nextval($101585),$101586,$101587,$101588,$101589,$101590,$101591,$101592,$101593,$101594,$101595,$101596,$101597,$101598),(nextval($101599),$101600,$101601,$101602,$101603,$101604,$101605,$101606,$101607,$101608,$101609,$101610,$101611,$101612),(nextval($101613),$101614,$101615,$101616,$101617,$101618,$101619,$101620,$101621,$101622,$101623,$101624,$101625,$101626),(nextval($101627),$101628,$101629,$101630,$101631,$101632,$101633,$101634,$101635,$101636,$101637,$101638,$101639,$101640),(nextval($101641),$101642,$101643,$101644,$101645,$101646,$101647,$101648,$101649,$101650,$101651,$101652,$101653,$101654),(nextval($101655),$101656,$101657,$101658,$101659,$101660,$101661,$101662,$101663,$101664,$101665,$101666,$101667,$101668),(nextval($101669),$101670,$101671,$101672,$101673,$101674,$101675,$101676,$101677,$101678,$101679,$101680,$101681,$101682),(nextval($101683),$101684,$101685,$101686,$101687,$101688,$101689,$101690,$101691,$101692,$101693,$101694,$101695,$101696),(nextval($101697),$101698,$101699,$101700,$101701,$101702,$101703,$101704,$101705,$101706,$101707,$101708,$101709,$101710),(nextval($101711),$101712,$101713,$101714,$101715,$101716,$101717,$101718,$101719,$101720,$101721,$101722,$101723,$101724),(nextval($101725),$101726,$101727,$101728,$101729,$101730,$101731,$101732,$101733,$101734,$101735,$101736,$101737,$101738),(nextval($101739),$101740,$101741,$101742,$101743,$101744,$101745,$101746,$101747,$101748,$101749,$101750,$101751,$101752),(nextval($101753),$101754,$101755,$101756,$101757,$101758,$101759,$101760,$101761,$101762,$101763,$101764,$101765,$101766),(nextval($101767),$101768,$101769,$101770,$101771,$101772,$101773,$101774,$101775,$101776,$101777,$101778,$101779,$101780),(nextval($101781),$101782,$101783,$101784,$101785,$101786,$101787,$101788,$101789,$101790,$101791,$101792,$101793,$101794),(nextval($101795),$101796,$101797,$101798,$101799,$101800,$101801,$101802,$101803,$101804,$101805,$101806,$101807,$101808),(nextval($101809),$101810,$101811,$101812,$101813,$101814,$101815,$101816,$101817,$101818,$101819,$101820,$101821,$101822),(nextval($101823),$101824,$101825,$101826,$101827,$101828,$101829,$101830,$101831,$101832,$101833,$101834,$101835,$101836),(nextval($101837),$101838,$101839,$101840,$101841,$101842,$101843,$101844,$101845,$101846,$101847,$101848,$101849,$101850),(nextval($101851),$101852,$101853,$101854,$101855,$101856,$101857,$101858,$101859,$101860,$101861,$101862,$101863,$101864),(nextval($101865),$101866,$101867,$101868,$101869,$101870,$101871,$101872,$101873,$101874,$101875,$101876,$101877,$101878),(nextval($101879),$101880,$101881,$101882,$101883,$101884,$101885,$101886,$101887,$101888,$101889,$101890,$101891,$101892),(nextval($101893),$101894,$101895,$101896,$101897,$101898,$101899,$101900,$101901,$101902,$101903,$101904,$101905,$101906),(nextval($101907),$101908,$101909,$101910,$101911,$101912,$101913,$101914,$101915,$101916,$101917,$101918,$101919,$101920),(nextval($101921),$101922,$101923,$101924,$101925,$101926,$101927,$101928,$101929,$101930,$101931,$101932,$101933,$101934),(nextval($101935),$101936,$101937,$101938,$101939,$101940,$101941,$101942,$101943,$101944,$101945,$101946,$101947,$101948),(nextval($101949),$101950,$101951,$101952,$101953,$101954,$101955,$101956,$101957,$101958,$101959,$101960,$101961,$101962),(nextval($101963),$101964,$101965,$101966,$101967,$101968,$101969,$101970,$101971,$101972,$101973,$101974,$101975,$101976),(nextval($101977),$101978,$101979,$101980,$101981,$101982,$101983,$101984,$101985,$101986,$101987,$101988,$101989,$101990),(nextval($101991),$101992,$101993,$101994,$101995,$101996,$101997,$101998,$101999,$102000,$102001,$102002,$102003,$102004),(nextval($102005),$102006,$102007,$102008,$102009,$102010,$102011,$102012,$102013,$102014,$102015,$102016,$102017,$102018),(nextval($102019),$102020,$102021,$102022,$102023,$102024,$102025,$102026,$102027,$102028,$102029,$102030,$102031,$102032),(nextval($102033),$102034,$102035,$102036,$102037,$102038,$102039,$102040,$102041,$102042,$102043,$102044,$102045,$102046),(nextval($102047),$102048,$102049,$102050,$102051,$102052,$102053,$102054,$102055,$102056,$102057,$102058,$102059,$102060),(nextval($102061),$102062,$102063,$102064,$102065,$102066,$102067,$102068,$102069,$102070,$102071,$102072,$102073,$102074),(nextval($102075),$102076,$102077,$102078,$102079,$102080,$102081,$102082,$102083,$102084,$102085,$102086,$102087,$102088),(nextval($102089),$102090,$102091,$102092,$102093,$102094,$102095,$102096,$102097,$102098,$102099,$102100,$102101,$102102),(nextval($102103),$102104,$102105,$102106,$102107,$102108,$102109,$102110,$102111,$102112,$102113,$102114,$102115,$102116),(nextval($102117),$102118,$102119,$102120,$102121,$102122,$102123,$102124,$102125,$102126,$102127,$102128,$102129,$102130),(nextval($102131),$102132,$102133,$102134,$102135,$102136,$102137,$102138,$102139,$102140,$102141,$102142,$102143,$102144),(nextval($102145),$102146,$102147,$102148,$102149,$102150,$102151,$102152,$102153,$102154,$102155,$102156,$102157,$102158),(nextval($102159),$102160,$102161,$102162,$102163,$102164,$102165,$102166,$102167,$102168,$102169,$102170,$102171,$102172),(nextval($102173),$102174,$102175,$102176,$102177,$102178,$102179,$102180,$102181,$102182,$102183,$102184,$102185,$102186),(nextval($102187),$102188,$102189,$102190,$102191,$102192,$102193,$102194,$102195,$102196,$102197,$102198,$102199,$102200),(nextval($102201),$102202,$102203,$102204,$102205,$102206,$102207,$102208,$102209,$102210,$102211,$102212,$102213,$102214),(nextval($102215),$102216,$102217,$102218,$102219,$102220,$102221,$102222,$102223,$102224,$102225,$102226,$102227,$102228),(nextval($102229),$102230,$102231,$102232,$102233,$102234,$102235,$102236,$102237,$102238,$102239,$102240,$102241,$102242),(nextval($102243),$102244,$102245,$102246,$102247,$102248,$102249,$102250,$102251,$102252,$102253,$102254,$102255,$102256),(nextval($102257),$102258,$102259,$102260,$102261,$102262,$102263,$102264,$102265,$102266,$102267,$102268,$102269,$102270),(nextval($102271),$102272,$102273,$102274,$102275,$102276,$102277,$102278,$102279,$102280,$102281,$102282,$102283,$102284),(nextval($102285),$102286,$102287,$102288,$102289,$102290,$102291,$102292,$102293,$102294,$102295,$102296,$102297,$102298),(nextval($102299),$102300,$102301,$102302,$102303,$102304,$102305,$102306,$102307,$102308,$102309,$102310,$102311,$102312),(nextval($102313),$102314,$102315,$102316,$102317,$102318,$102319,$102320,$102321,$102322,$102323,$102324,$102325,$102326),(nextval($102327),$102328,$102329,$102330,$102331,$102332,$102333,$102334,$102335,$102336,$102337,$102338,$102339,$102340),(nextval($102341),$102342,$102343,$102344,$102345,$102346,$102347,$102348,$102349,$102350,$102351,$102352,$102353,$102354),(nextval($102355),$102356,$102357,$102358,$102359,$102360,$102361,$102362,$102363,$102364,$102365,$102366,$102367,$102368),(nextval($102369),$102370,$102371,$102372,$102373,$102374,$102375,$102376,$102377,$102378,$102379,$102380,$102381,$102382),(nextval($102383),$102384,$102385,$102386,$102387,$102388,$102389,$102390,$102391,$102392,$102393,$102394,$102395,$102396),(nextval($102397),$102398,$102399,$102400,$102401,$102402,$102403,$102404,$102405,$102406,$102407,$102408,$102409,$102410),(nextval($102411),$102412,$102413,$102414,$102415,$102416,$102417,$102418,$102419,$102420,$102421,$102422,$102423,$102424),(nextval($102425),$102426,$102427,$102428,$102429,$102430,$102431,$102432,$102433,$102434,$102435,$102436,$102437,$102438),(nextval($102439),$102440,$102441,$102442,$102443,$102444,$102445,$102446,$102447,$102448,$102449,$102450,$102451,$102452),(nextval($102453),$102454,$102455,$102456,$102457,$102458,$102459,$102460,$102461,$102462,$102463,$102464,$102465,$102466),(nextval($102467),$102468,$102469,$102470,$102471,$102472,$102473,$102474,$102475,$102476,$102477,$102478,$102479,$102480),(nextval($102481),$102482,$102483,$102484,$102485,$102486,$102487,$102488,$102489,$102490,$102491,$102492,$102493,$102494),(nextval($102495),$102496,$102497,$102498,$102499,$102500,$102501,$102502,$102503,$102504,$102505,$102506,$102507,$102508),(nextval($102509),$102510,$102511,$102512,$102513,$102514,$102515,$102516,$102517,$102518,$102519,$102520,$102521,$102522),(nextval($102523),$102524,$102525,$102526,$102527,$102528,$102529,$102530,$102531,$102532,$102533,$102534,$102535,$102536),(nextval($102537),$102538,$102539,$102540,$102541,$102542,$102543,$102544,$102545,$102546,$102547,$102548,$102549,$102550),(nextval($102551),$102552,$102553,$102554,$102555,$102556,$102557,$102558,$102559,$102560,$102561,$102562,$102563,$102564),(nextval($102565),$102566,$102567,$102568,$102569,$102570,$102571,$102572,$102573,$102574,$102575,$102576,$102577,$102578),(nextval($102579),$102580,$102581,$102582,$102583,$102584,$102585,$102586,$102587,$102588,$102589,$102590,$102591,$102592),(nextval($102593),$102594,$102595,$102596,$102597,$102598,$102599,$102600,$102601,$102602,$102603,$102604,$102605,$102606),(nextval($102607),$102608,$102609,$102610,$102611,$102612,$102613,$102614,$102615,$102616,$102617,$102618,$102619,$102620),(nextval($102621),$102622,$102623,$102624,$102625,$102626,$102627,$102628,$102629,$102630,$102631,$102632,$102633,$102634),(nextval($102635),$102636,$102637,$102638,$102639,$102640,$102641,$102642,$102643,$102644,$102645,$102646,$102647,$102648),(nextval($102649),$102650,$102651,$102652,$102653,$102654,$102655,$102656,$102657,$102658,$102659,$102660,$102661,$102662),(nextval($102663),$102664,$102665,$102666,$102667,$102668,$102669,$102670,$102671,$102672,$102673,$102674,$102675,$102676),(nextval($102677),$102678,$102679,$102680,$102681,$102682,$102683,$102684,$102685,$102686,$102687,$102688,$102689,$102690),(nextval($102691),$102692,$102693,$102694,$102695,$102696,$102697,$102698,$102699,$102700,$102701,$102702,$102703,$102704),(nextval($102705),$102706,$102707,$102708,$102709,$102710,$102711,$102712,$102713,$102714,$102715,$102716,$102717,$102718),(nextval($102719),$102720,$102721,$102722,$102723,$102724,$102725,$102726,$102727,$102728,$102729,$102730,$102731,$102732),(nextval($102733),$102734,$102735,$102736,$102737,$102738,$102739,$102740,$102741,$102742,$102743,$102744,$102745,$102746),(nextval($102747),$102748,$102749,$102750,$102751,$102752,$102753,$102754,$102755,$102756,$102757,$102758,$102759,$102760),(nextval($102761),$102762,$102763,$102764,$102765,$102766,$102767,$102768,$102769,$102770,$102771,$102772,$102773,$102774),(nextval($102775),$102776,$102777,$102778,$102779,$102780,$102781,$102782,$102783,$102784,$102785,$102786,$102787,$102788),(nextval($102789),$102790,$102791,$102792,$102793,$102794,$102795,$102796,$102797,$102798,$102799,$102800,$102801,$102802),(nextval($102803),$102804,$102805,$102806,$102807,$102808,$102809,$102810,$102811,$102812,$102813,$102814,$102815,$102816),(nextval($102817),$102818,$102819,$102820,$102821,$102822,$102823,$102824,$102825,$102826,$102827,$102828,$102829,$102830),(nextval($102831),$102832,$102833,$102834,$102835,$102836,$102837,$102838,$102839,$102840,$102841,$102842,$102843,$102844),(nextval($102845),$102846,$102847,$102848,$102849,$102850,$102851,$102852,$102853,$102854,$102855,$102856,$102857,$102858),(nextval($102859),$102860,$102861,$102862,$102863,$102864,$102865,$102866,$102867,$102868,$102869,$102870,$102871,$102872),(nextval($102873),$102874,$102875,$102876,$102877,$102878,$102879,$102880,$102881,$102882,$102883,$102884,$102885,$102886),(nextval($102887),$102888,$102889,$102890,$102891,$102892,$102893,$102894,$102895,$102896,$102897,$102898,$102899,$102900),(nextval($102901),$102902,$102903,$102904,$102905,$102906,$102907,$102908,$102909,$102910,$102911,$102912,$102913,$102914),(nextval($102915),$102916,$102917,$102918,$102919,$102920,$102921,$102922,$102923,$102924,$102925,$102926,$102927,$102928),(nextval($102929),$102930,$102931,$102932,$102933,$102934,$102935,$102936,$102937,$102938,$102939,$102940,$102941,$102942),(nextval($102943),$102944,$102945,$102946,$102947,$102948,$102949,$102950,$102951,$102952,$102953,$102954,$102955,$102956),(nextval($102957),$102958,$102959,$102960,$102961,$102962,$102963,$102964,$102965,$102966,$102967,$102968,$102969,$102970),(nextval($102971),$102972,$102973,$102974,$102975,$102976,$102977,$102978,$102979,$102980,$102981,$102982,$102983,$102984),(nextval($102985),$102986,$102987,$102988,$102989,$102990,$102991,$102992,$102993,$102994,$102995,$102996,$102997,$102998),(nextval($102999),$103000,$103001,$103002,$103003,$103004,$103005,$103006,$103007,$103008,$103009,$103010,$103011,$103012),(nextval($103013),$103014,$103015,$103016,$103017,$103018,$103019,$103020,$103021,$103022,$103023,$103024,$103025,$103026),(nextval($103027),$103028,$103029,$103030,$103031,$103032,$103033,$103034,$103035,$103036,$103037,$103038,$103039,$103040),(nextval($103041),$103042,$103043,$103044,$103045,$103046,$103047,$103048,$103049,$103050,$103051,$103052,$103053,$103054),(nextval($103055),$103056,$103057,$103058,$103059,$103060,$103061,$103062,$103063,$103064,$103065,$103066,$103067,$103068),(nextval($103069),$103070,$103071,$103072,$103073,$103074,$103075,$103076,$103077,$103078,$103079,$103080,$103081,$103082),(nextval($103083),$103084,$103085,$103086,$103087,$103088,$103089,$103090,$103091,$103092,$103093,$103094,$103095,$103096),(nextval($103097),$103098,$103099,$103100,$103101,$103102,$103103,$103104,$103105,$103106,$103107,$103108,$103109,$103110),(nextval($103111),$103112,$103113,$103114,$103115,$103116,$103117,$103118,$103119,$103120,$103121,$103122,$103123,$103124),(nextval($103125),$103126,$103127,$103128,$103129,$103130,$103131,$103132,$103133,$103134,$103135,$103136,$103137,$103138),(nextval($103139),$103140,$103141,$103142,$103143,$103144,$103145,$103146,$103147,$103148,$103149,$103150,$103151,$103152),(nextval($103153),$103154,$103155,$103156,$103157,$103158,$103159,$103160,$103161,$103162,$103163,$103164,$103165,$103166),(nextval($103167),$103168,$103169,$103170,$103171,$103172,$103173,$103174,$103175,$103176,$103177,$103178,$103179,$103180),(nextval($103181),$103182,$103183,$103184,$103185,$103186,$103187,$103188,$103189,$103190,$103191,$103192,$103193,$103194),(nextval($103195),$103196,$103197,$103198,$103199,$103200,$103201,$103202,$103203,$103204,$103205,$103206,$103207,$103208),(nextval($103209),$103210,$103211,$103212,$103213,$103214,$103215,$103216,$103217,$103218,$103219,$103220,$103221,$103222),(nextval($103223),$103224,$103225,$103226,$103227,$103228,$103229,$103230,$103231,$103232,$103233,$103234,$103235,$103236),(nextval($103237),$103238,$103239,$103240,$103241,$103242,$103243,$103244,$103245,$103246,$103247,$103248,$103249,$103250),(nextval($103251),$103252,$103253,$103254,$103255,$103256,$103257,$103258,$103259,$103260,$103261,$103262,$103263,$103264),(nextval($103265),$103266,$103267,$103268,$103269,$103270,$103271,$103272,$103273,$103274,$103275,$103276,$103277,$103278),(nextval($103279),$103280,$103281,$103282,$103283,$103284,$103285,$103286,$103287,$103288,$103289,$103290,$103291,$103292),(nextval($103293),$103294,$103295,$103296,$103297,$103298,$103299,$103300,$103301,$103302,$103303,$103304,$103305,$103306),(nextval($103307),$103308,$103309,$103310,$103311,$103312,$103313,$103314,$103315,$103316,$103317,$103318,$103319,$103320),(nextval($103321),$103322,$103323,$103324,$103325,$103326,$103327,$103328,$103329,$103330,$103331,$103332,$103333,$103334),(nextval($103335),$103336,$103337,$103338,$103339,$103340,$103341,$103342,$103343,$103344,$103345,$103346,$103347,$103348),(nextval($103349),$103350,$103351,$103352,$103353,$103354,$103355,$103356,$103357,$103358,$103359,$103360,$103361,$103362),(nextval($103363),$103364,$103365,$103366,$103367,$103368,$103369,$103370,$103371,$103372,$103373,$103374,$103375,$103376),(nextval($103377),$103378,$103379,$103380,$103381,$103382,$103383,$103384,$103385,$103386,$103387,$103388,$103389,$103390),(nextval($103391),$103392,$103393,$103394,$103395,$103396,$103397,$103398,$103399,$103400,$103401,$103402,$103403,$103404),(nextval($103405),$103406,$103407,$103408,$103409,$103410,$103411,$103412,$103413,$103414,$103415,$103416,$103417,$103418),(nextval($103419),$103420,$103421,$103422,$103423,$103424,$103425,$103426,$103427,$103428,$103429,$103430,$103431,$103432),(nextval($103433),$103434,$103435,$103436,$103437,$103438,$103439,$103440,$103441,$103442,$103443,$103444,$103445,$103446),(nextval($103447),$103448,$103449,$103450,$103451,$103452,$103453,$103454,$103455,$103456,$103457,$103458,$103459,$103460),(nextval($103461),$103462,$103463,$103464,$103465,$103466,$103467,$103468,$103469,$103470,$103471,$103472,$103473,$103474),(nextval($103475),$103476,$103477,$103478,$103479,$103480,$103481,$103482,$103483,$103484,$103485,$103486,$103487,$103488),(nextval($103489),$103490,$103491,$103492,$103493,$103494,$103495,$103496,$103497,$103498,$103499,$103500,$103501,$103502),(nextval($103503),$103504,$103505,$103506,$103507,$103508,$103509,$103510,$103511,$103512,$103513,$103514,$103515,$103516),(nextval($103517),$103518,$103519,$103520,$103521,$103522,$103523,$103524,$103525,$103526,$103527,$103528,$103529,$103530),(nextval($103531),$103532,$103533,$103534,$103535,$103536,$103537,$103538,$103539,$103540,$103541,$103542,$103543,$103544),(nextval($103545),$103546,$103547,$103548,$103549,$103550,$103551,$103552,$103553,$103554,$103555,$103556,$103557,$103558),(nextval($103559),$103560,$103561,$103562,$103563,$103564,$103565,$103566,$103567,$103568,$103569,$103570,$103571,$103572),(nextval($103573),$103574,$103575,$103576,$103577,$103578,$103579,$103580,$103581,$103582,$103583,$103584,$103585,$103586),(nextval($103587),$103588,$103589,$103590,$103591,$103592,$103593,$103594,$103595,$103596,$103597,$103598,$103599,$103600),(nextval($103601),$103602,$103603,$103604,$103605,$103606,$103607,$103608,$103609,$103610,$103611,$103612,$103613,$103614),(nextval($103615),$103616,$103617,$103618,$103619,$103620,$103621,$103622,$103623,$103624,$103625,$103626,$103627,$103628),(nextval($103629),$103630,$103631,$103632,$103633,$103634,$103635,$103636,$103637,$103638,$103639,$103640,$103641,$103642),(nextval($103643),$103644,$103645,$103646,$103647,$103648,$103649,$103650,$103651,$103652,$103653,$103654,$103655,$103656),(nextval($103657),$103658,$103659,$103660,$103661,$103662,$103663,$103664,$103665,$103666,$103667,$103668,$103669,$103670),(nextval($103671),$103672,$103673,$103674,$103675,$103676,$103677,$103678,$103679,$103680,$103681,$103682,$103683,$103684),(nextval($103685),$103686,$103687,$103688,$103689,$103690,$103691,$103692,$103693,$103694,$103695,$103696,$103697,$103698),(nextval($103699),$103700,$103701,$103702,$103703,$103704,$103705,$103706,$103707,$103708,$103709,$103710,$103711,$103712),(nextval($103713),$103714,$103715,$103716,$103717,$103718,$103719,$103720,$103721,$103722,$103723,$103724,$103725,$103726),(nextval($103727),$103728,$103729,$103730,$103731,$103732,$103733,$103734,$103735,$103736,$103737,$103738,$103739,$103740),(nextval($103741),$103742,$103743,$103744,$103745,$103746,$103747,$103748,$103749,$103750,$103751,$103752,$103753,$103754),(nextval($103755),$103756,$103757,$103758,$103759,$103760,$103761,$103762,$103763,$103764,$103765,$103766,$103767,$103768),(nextval($103769),$103770,$103771,$103772,$103773,$103774,$103775,$103776,$103777,$103778,$103779,$103780,$103781,$103782),(nextval($103783),$103784,$103785,$103786,$103787,$103788,$103789,$103790,$103791,$103792,$103793,$103794,$103795,$103796),(nextval($103797),$103798,$103799,$103800,$103801,$103802,$103803,$103804,$103805,$103806,$103807,$103808,$103809,$103810),(nextval($103811),$103812,$103813,$103814,$103815,$103816,$103817,$103818,$103819,$103820,$103821,$103822,$103823,$103824),(nextval($103825),$103826,$103827,$103828,$103829,$103830,$103831,$103832,$103833,$103834,$103835,$103836,$103837,$103838),(nextval($103839),$103840,$103841,$103842,$103843,$103844,$103845,$103846,$103847,$103848,$103849,$103850,$103851,$103852),(nextval($103853),$103854,$103855,$103856,$103857,$103858,$103859,$103860,$103861,$103862,$103863,$103864,$103865,$103866),(nextval($103867),$103868,$103869,$103870,$103871,$103872,$103873,$103874,$103875,$103876,$103877,$103878,$103879,$103880),(nextval($103881),$103882,$103883,$103884,$103885,$103886,$103887,$103888,$103889,$103890,$103891,$103892,$103893,$103894),(nextval($103895),$103896,$103897,$103898,$103899,$103900,$103901,$103902,$103903,$103904,$103905,$103906,$103907,$103908),(nextval($103909),$103910,$103911,$103912,$103913,$103914,$103915,$103916,$103917,$103918,$103919,$103920,$103921,$103922),(nextval($103923),$103924,$103925,$103926,$103927,$103928,$103929,$103930,$103931,$103932,$103933,$103934,$103935,$103936),(nextval($103937),$103938,$103939,$103940,$103941,$103942,$103943,$103944,$103945,$103946,$103947,$103948,$103949,$103950),(nextval($103951),$103952,$103953,$103954,$103955,$103956,$103957,$103958,$103959,$103960,$103961,$103962,$103963,$103964),(nextval($103965),$103966,$103967,$103968,$103969,$103970,$103971,$103972,$103973,$103974,$103975,$103976,$103977,$103978),(nextval($103979),$103980,$103981,$103982,$103983,$103984,$103985,$103986,$103987,$103988,$103989,$103990,$103991,$103992),(nextval($103993),$103994,$103995,$103996,$103997,$103998,$103999,$104000,$104001,$104002,$104003,$104004,$104005,$104006),(nextval($104007),$104008,$104009,$104010,$104011,$104012,$104013,$104014,$104015,$104016,$104017,$104018,$104019,$104020),(nextval($104021),$104022,$104023,$104024,$104025,$104026,$104027,$104028,$104029,$104030,$104031,$104032,$104033,$104034),(nextval($104035),$104036,$104037,$104038,$104039,$104040,$104041,$104042,$104043,$104044,$104045,$104046,$104047,$104048),(nextval($104049),$104050,$104051,$104052,$104053,$104054,$104055,$104056,$104057,$104058,$104059,$104060,$104061,$104062),(nextval($104063),$104064,$104065,$104066,$104067,$104068,$104069,$104070,$104071,$104072,$104073,$104074,$104075,$104076),(nextval($104077),$104078,$104079,$104080,$104081,$104082,$104083,$104084,$104085,$104086,$104087,$104088,$104089,$104090),(nextval($104091),$104092,$104093,$104094,$104095,$104096,$104097,$104098,$104099,$104100,$104101,$104102,$104103,$104104),(nextval($104105),$104106,$104107,$104108,$104109,$104110,$104111,$104112,$104113,$104114,$104115,$104116,$104117,$104118),(nextval($104119),$104120,$104121,$104122,$104123,$104124,$104125,$104126,$104127,$104128,$104129,$104130,$104131,$104132),(nextval($104133),$104134,$104135,$104136,$104137,$104138,$104139,$104140,$104141,$104142,$104143,$104144,$104145,$104146),(nextval($104147),$104148,$104149,$104150,$104151,$104152,$104153,$104154,$104155,$104156,$104157,$104158,$104159,$104160),(nextval($104161),$104162,$104163,$104164,$104165,$104166,$104167,$104168,$104169,$104170,$104171,$104172,$104173,$104174),(nextval($104175),$104176,$104177,$104178,$104179,$104180,$104181,$104182,$104183,$104184,$104185,$104186,$104187,$104188),(nextval($104189),$104190,$104191,$104192,$104193,$104194,$104195,$104196,$104197,$104198,$104199,$104200,$104201,$104202),(nextval($104203),$104204,$104205,$104206,$104207,$104208,$104209,$104210,$104211,$104212,$104213,$104214,$104215,$104216),(nextval($104217),$104218,$104219,$104220,$104221,$104222,$104223,$104224,$104225,$104226,$104227,$104228,$104229,$104230),(nextval($104231),$104232,$104233,$104234,$104235,$104236,$104237,$104238,$104239,$104240,$104241,$104242,$104243,$104244),(nextval($104245),$104246,$104247,$104248,$104249,$104250,$104251,$104252,$104253,$104254,$104255,$104256,$104257,$104258),(nextval($104259),$104260,$104261,$104262,$104263,$104264,$104265,$104266,$104267,$104268,$104269,$104270,$104271,$104272),(nextval($104273),$104274,$104275,$104276,$104277,$104278,$104279,$104280,$104281,$104282,$104283,$104284,$104285,$104286),(nextval($104287),$104288,$104289,$104290,$104291,$104292,$104293,$104294,$104295,$104296,$104297,$104298,$104299,$104300),(nextval($104301),$104302,$104303,$104304,$104305,$104306,$104307,$104308,$104309,$104310,$104311,$104312,$104313,$104314),(nextval($104315),$104316,$104317,$104318,$104319,$104320,$104321,$104322,$104323,$104324,$104325,$104326,$104327,$104328),(nextval($104329),$104330,$104331,$104332,$104333,$104334,$104335,$104336,$104337,$104338,$104339,$104340,$104341,$104342),(nextval($104343),$104344,$104345,$104346,$104347,$104348,$104349,$104350,$104351,$104352,$104353,$104354,$104355,$104356),(nextval($104357),$104358,$104359,$104360,$104361,$104362,$104363,$104364,$104365,$104366,$104367,$104368,$104369,$104370),(nextval($104371),$104372,$104373,$104374,$104375,$104376,$104377,$104378,$104379,$104380,$104381,$104382,$104383,$104384),(nextval($104385),$104386,$104387,$104388,$104389,$104390,$104391,$104392,$104393,$104394,$104395,$104396,$104397,$104398),(nextval($104399),$104400,$104401,$104402,$104403,$104404,$104405,$104406,$104407,$104408,$104409,$104410,$104411,$104412),(nextval($104413),$104414,$104415,$104416,$104417,$104418,$104419,$104420,$104421,$104422,$104423,$104424,$104425,$104426),(nextval($104427),$104428,$104429,$104430,$104431,$104432,$104433,$104434,$104435,$104436,$104437,$104438,$104439,$104440),(nextval($104441),$104442,$104443,$104444,$104445,$104446,$104447,$104448,$104449,$104450,$104451,$104452,$104453,$104454),(nextval($104455),$104456,$104457,$104458,$104459,$104460,$104461,$104462,$104463,$104464,$104465,$104466,$104467,$104468),(nextval($104469),$104470,$104471,$104472,$104473,$104474,$104475,$104476,$104477,$104478,$104479,$104480,$104481,$104482),(nextval($104483),$104484,$104485,$104486,$104487,$104488,$104489,$104490,$104491,$104492,$104493,$104494,$104495,$104496),(nextval($104497),$104498,$104499,$104500,$104501,$104502,$104503,$104504,$104505,$104506,$104507,$104508,$104509,$104510),(nextval($104511),$104512,$104513,$104514,$104515,$104516,$104517,$104518,$104519,$104520,$104521,$104522,$104523,$104524),(nextval($104525),$104526,$104527,$104528,$104529,$104530,$104531,$104532,$104533,$104534,$104535,$104536,$104537,$104538),(nextval($104539),$104540,$104541,$104542,$104543,$104544,$104545,$104546,$104547,$104548,$104549,$104550,$104551,$104552),(nextval($104553),$104554,$104555,$104556,$104557,$104558,$104559,$104560,$104561,$104562,$104563,$104564,$104565,$104566),(nextval($104567),$104568,$104569,$104570,$104571,$104572,$104573,$104574,$104575,$104576,$104577,$104578,$104579,$104580),(nextval($104581),$104582,$104583,$104584,$104585,$104586,$104587,$104588,$104589,$104590,$104591,$104592,$104593,$104594),(nextval($104595),$104596,$104597,$104598,$104599,$104600,$104601,$104602,$104603,$104604,$104605,$104606,$104607,$104608),(nextval($104609),$104610,$104611,$104612,$104613,$104614,$104615,$104616,$104617,$104618,$104619,$104620,$104621,$104622),(nextval($104623),$104624,$104625,$104626,$104627,$104628,$104629,$104630,$104631,$104632,$104633,$104634,$104635,$104636),(nextval($104637),$104638,$104639,$104640,$104641,$104642,$104643,$104644,$104645,$104646,$104647,$104648,$104649,$104650),(nextval($104651),$104652,$104653,$104654,$104655,$104656,$104657,$104658,$104659,$104660,$104661,$104662,$104663,$104664),(nextval($104665),$104666,$104667,$104668,$104669,$104670,$104671,$104672,$104673,$104674,$104675,$104676,$104677,$104678),(nextval($104679),$104680,$104681,$104682,$104683,$104684,$104685,$104686,$104687,$104688,$104689,$104690,$104691,$104692),(nextval($104693),$104694,$104695,$104696,$104697,$104698,$104699,$104700,$104701,$104702,$104703,$104704,$104705,$104706),(nextval($104707),$104708,$104709,$104710,$104711,$104712,$104713,$104714,$104715,$104716,$104717,$104718,$104719,$104720),(nextval($104721),$104722,$104723,$104724,$104725,$104726,$104727,$104728,$104729,$104730,$104731,$104732,$104733,$104734),(nextval($104735),$104736,$104737,$104738,$104739,$104740,$104741,$104742,$104743,$104744,$104745,$104746,$104747,$104748),(nextval($104749),$104750,$104751,$104752,$104753,$104754,$104755,$104756,$104757,$104758,$104759,$104760,$104761,$104762),(nextval($104763),$104764,$104765,$104766,$104767,$104768,$104769,$104770,$104771,$104772,$104773,$104774,$104775,$104776),(nextval($104777),$104778,$104779,$104780,$104781,$104782,$104783,$104784,$104785,$104786,$104787,$104788,$104789,$104790),(nextval($104791),$104792,$104793,$104794,$104795,$104796,$104797,$104798,$104799,$104800,$104801,$104802,$104803,$104804),(nextval($104805),$104806,$104807,$104808,$104809,$104810,$104811,$104812,$104813,$104814,$104815,$104816,$104817,$104818),(nextval($104819),$104820,$104821,$104822,$104823,$104824,$104825,$104826,$104827,$104828,$104829,$104830,$104831,$104832),(nextval($104833),$104834,$104835,$104836,$104837,$104838,$104839,$104840,$104841,$104842,$104843,$104844,$104845,$104846),(nextval($104847),$104848,$104849,$104850,$104851,$104852,$104853,$104854,$104855,$104856,$104857,$104858,$104859,$104860),(nextval($104861),$104862,$104863,$104864,$104865,$104866,$104867,$104868,$104869,$104870,$104871,$104872,$104873,$104874),(nextval($104875),$104876,$104877,$104878,$104879,$104880,$104881,$104882,$104883,$104884,$104885,$104886,$104887,$104888),(nextval($104889),$104890,$104891,$104892,$104893,$104894,$104895,$104896,$104897,$104898,$104899,$104900,$104901,$104902),(nextval($104903),$104904,$104905,$104906,$104907,$104908,$104909,$104910,$104911,$104912,$104913,$104914,$104915,$104916),(nextval($104917),$104918,$104919,$104920,$104921,$104922,$104923,$104924,$104925,$104926,$104927,$104928,$104929,$104930),(nextval($104931),$104932,$104933,$104934,$104935,$104936,$104937,$104938,$104939,$104940,$104941,$104942,$104943,$104944),(nextval($104945),$104946,$104947,$104948,$104949,$104950,$104951,$104952,$104953,$104954,$104955,$104956,$104957,$104958),(nextval($104959),$104960,$104961,$104962,$104963,$104964,$104965,$104966,$104967,$104968,$104969,$104970,$104971,$104972),(nextval($104973),$104974,$104975,$104976,$104977,$104978,$104979,$104980,$104981,$104982,$104983,$104984,$104985,$104986),(nextval($104987),$104988,$104989,$104990,$104991,$104992,$104993,$104994,$104995,$104996,$104997,$104998,$104999,$105000),(nextval($105001),$105002,$105003,$105004,$105005,$105006,$105007,$105008,$105009,$105010,$105011,$105012,$105013,$105014),(nextval($105015),$105016,$105017,$105018,$105019,$105020,$105021,$105022,$105023,$105024,$105025,$105026,$105027,$105028),(nextval($105029),$105030,$105031,$105032,$105033,$105034,$105035,$105036,$105037,$105038,$105039,$105040,$105041,$105042),(nextval($105043),$105044,$105045,$105046,$105047,$105048,$105049,$105050,$105051,$105052,$105053,$105054,$105055,$105056),(nextval($105057),$105058,$105059,$105060,$105061,$105062,$105063,$105064,$105065,$105066,$105067,$105068,$105069,$105070),(nextval($105071),$105072,$105073,$105074,$105075,$105076,$105077,$105078,$105079,$105080,$105081,$105082,$105083,$105084),(nextval($105085),$105086,$105087,$105088,$105089,$105090,$105091,$105092,$105093,$105094,$105095,$105096,$105097,$105098),(nextval($105099),$105100,$105101,$105102,$105103,$105104,$105105,$105106,$105107,$105108,$105109,$105110,$105111,$105112),(nextval($105113),$105114,$105115,$105116,$105117,$105118,$105119,$105120,$105121,$105122,$105123,$105124,$105125,$105126),(nextval($105127),$105128,$105129,$105130,$105131,$105132,$105133,$105134,$105135,$105136,$105137,$105138,$105139,$105140),(nextval($105141),$105142,$105143,$105144,$105145,$105146,$105147,$105148,$105149,$105150,$105151,$105152,$105153,$105154),(nextval($105155),$105156,$105157,$105158,$105159,$105160,$105161,$105162,$105163,$105164,$105165,$105166,$105167,$105168),(nextval($105169),$105170,$105171,$105172,$105173,$105174,$105175,$105176,$105177,$105178,$105179,$105180,$105181,$105182),(nextval($105183),$105184,$105185,$105186,$105187,$105188,$105189,$105190,$105191,$105192,$105193,$105194,$105195,$105196),(nextval($105197),$105198,$105199,$105200,$105201,$105202,$105203,$105204,$105205,$105206,$105207,$105208,$105209,$105210),(nextval($105211),$105212,$105213,$105214,$105215,$105216,$105217,$105218,$105219,$105220,$105221,$105222,$105223,$105224),(nextval($105225),$105226,$105227,$105228,$105229,$105230,$105231,$105232,$105233,$105234,$105235,$105236,$105237,$105238),(nextval($105239),$105240,$105241,$105242,$105243,$105244,$105245,$105246,$105247,$105248,$105249,$105250,$105251,$105252),(nextval($105253),$105254,$105255,$105256,$105257,$105258,$105259,$105260,$105261,$105262,$105263,$105264,$105265,$105266),(nextval($105267),$105268,$105269,$105270,$105271,$105272,$105273,$105274,$105275,$105276,$105277,$105278,$105279,$105280),(nextval($105281),$105282,$105283,$105284,$105285,$105286,$105287,$105288,$105289,$105290,$105291,$105292,$105293,$105294),(nextval($105295),$105296,$105297,$105298,$105299,$105300,$105301,$105302,$105303,$105304,$105305,$105306,$105307,$105308),(nextval($105309),$105310,$105311,$105312,$105313,$105314,$105315,$105316,$105317,$105318,$105319,$105320,$105321,$105322),(nextval($105323),$105324,$105325,$105326,$105327,$105328,$105329,$105330,$105331,$105332,$105333,$105334,$105335,$105336),(nextval($105337),$105338,$105339,$105340,$105341,$105342,$105343,$105344,$105345,$105346,$105347,$105348,$105349,$105350),(nextval($105351),$105352,$105353,$105354,$105355,$105356,$105357,$105358,$105359,$105360,$105361,$105362,$105363,$105364),(nextval($105365),$105366,$105367,$105368,$105369,$105370,$105371,$105372,$105373,$105374,$105375,$105376,$105377,$105378),(nextval($105379),$105380,$105381,$105382,$105383,$105384,$105385,$105386,$105387,$105388,$105389,$105390,$105391,$105392),(nextval($105393),$105394,$105395,$105396,$105397,$105398,$105399,$105400,$105401,$105402,$105403,$105404,$105405,$105406),(nextval($105407),$105408,$105409,$105410,$105411,$105412,$105413,$105414,$105415,$105416,$105417,$105418,$105419,$105420),(nextval($105421),$105422,$105423,$105424,$105425,$105426,$105427,$105428,$105429,$105430,$105431,$105432,$105433,$105434),(nextval($105435),$105436,$105437,$105438,$105439,$105440,$105441,$105442,$105443,$105444,$105445,$105446,$105447,$105448),(nextval($105449),$105450,$105451,$105452,$105453,$105454,$105455,$105456,$105457,$105458,$105459,$105460,$105461,$105462),(nextval($105463),$105464,$105465,$105466,$105467,$105468,$105469,$105470,$105471,$105472,$105473,$105474,$105475,$105476),(nextval($105477),$105478,$105479,$105480,$105481,$105482,$105483,$105484,$105485,$105486,$105487,$105488,$105489,$105490),(nextval($105491),$105492,$105493,$105494,$105495,$105496,$105497,$105498,$105499,$105500,$105501,$105502,$105503,$105504),(nextval($105505),$105506,$105507,$105508,$105509,$105510,$105511,$105512,$105513,$105514,$105515,$105516,$105517,$105518),(nextval($105519),$105520,$105521,$105522,$105523,$105524,$105525,$105526,$105527,$105528,$105529,$105530,$105531,$105532),(nextval($105533),$105534,$105535,$105536,$105537,$105538,$105539,$105540,$105541,$105542,$105543,$105544,$105545,$105546),(nextval($105547),$105548,$105549,$105550,$105551,$105552,$105553,$105554,$105555,$105556,$105557,$105558,$105559,$105560),(nextval($105561),$105562,$105563,$105564,$105565,$105566,$105567,$105568,$105569,$105570,$105571,$105572,$105573,$105574),(nextval($105575),$105576,$105577,$105578,$105579,$105580,$105581,$105582,$105583,$105584,$105585,$105586,$105587,$105588),(nextval($105589),$105590,$105591,$105592,$105593,$105594,$105595,$105596,$105597,$105598,$105599,$105600,$105601,$105602),(nextval($105603),$105604,$105605,$105606,$105607,$105608,$105609,$105610,$105611,$105612,$105613,$105614,$105615,$105616),(nextval($105617),$105618,$105619,$105620,$105621,$105622,$105623,$105624,$105625,$105626,$105627,$105628,$105629,$105630),(nextval($105631),$105632,$105633,$105634,$105635,$105636,$105637,$105638,$105639,$105640,$105641,$105642,$105643,$105644),(nextval($105645),$105646,$105647,$105648,$105649,$105650,$105651,$105652,$105653,$105654,$105655,$105656,$105657,$105658),(nextval($105659),$105660,$105661,$105662,$105663,$105664,$105665,$105666,$105667,$105668,$105669,$105670,$105671,$105672),(nextval($105673),$105674,$105675,$105676,$105677,$105678,$105679,$105680,$105681,$105682,$105683,$105684,$105685,$105686),(nextval($105687),$105688,$105689,$105690,$105691,$105692,$105693,$105694,$105695,$105696,$105697,$105698,$105699,$105700),(nextval($105701),$105702,$105703,$105704,$105705,$105706,$105707,$105708,$105709,$105710,$105711,$105712,$105713,$105714),(nextval($105715),$105716,$105717,$105718,$105719,$105720,$105721,$105722,$105723,$105724,$105725,$105726,$105727,$105728),(nextval($105729),$105730,$105731,$105732,$105733,$105734,$105735,$105736,$105737,$105738,$105739,$105740,$105741,$105742),(nextval($105743),$105744,$105745,$105746,$105747,$105748,$105749,$105750,$105751,$105752,$105753,$105754,$105755,$105756),(nextval($105757),$105758,$105759,$105760,$105761,$105762,$105763,$105764,$105765,$105766,$105767,$105768,$105769,$105770),(nextval($105771),$105772,$105773,$105774,$105775,$105776,$105777,$105778,$105779,$105780,$105781,$105782,$105783,$105784),(nextval($105785),$105786,$105787,$105788,$105789,$105790,$105791,$105792,$105793,$105794,$105795,$105796,$105797,$105798),(nextval($105799),$105800,$105801,$105802,$105803,$105804,$105805,$105806,$105807,$105808,$105809,$105810,$105811,$105812),(nextval($105813),$105814,$105815,$105816,$105817,$105818,$105819,$105820,$105821,$105822,$105823,$105824,$105825,$105826),(nextval($105827),$105828,$105829,$105830,$105831,$105832,$105833,$105834,$105835,$105836,$105837,$105838,$105839,$105840),(nextval($105841),$105842,$105843,$105844,$105845,$105846,$105847,$105848,$105849,$105850,$105851,$105852,$105853,$105854),(nextval($105855),$105856,$105857,$105858,$105859,$105860,$105861,$105862,$105863,$105864,$105865,$105866,$105867,$105868),(nextval($105869),$105870,$105871,$105872,$105873,$105874,$105875,$105876,$105877,$105878,$105879,$105880,$105881,$105882),(nextval($105883),$105884,$105885,$105886,$105887,$105888,$105889,$105890,$105891,$105892,$105893,$105894,$105895,$105896),(nextval($105897),$105898,$105899,$105900,$105901,$105902,$105903,$105904,$105905,$105906,$105907,$105908,$105909,$105910),(nextval($105911),$105912,$105913,$105914,$105915,$105916,$105917,$105918,$105919,$105920,$105921,$105922,$105923,$105924),(nextval($105925),$105926,$105927,$105928,$105929,$105930,$105931,$105932,$105933,$105934,$105935,$105936,$105937,$105938),(nextval($105939),$105940,$105941,$105942,$105943,$105944,$105945,$105946,$105947,$105948,$105949,$105950,$105951,$105952),(nextval($105953),$105954,$105955,$105956,$105957,$105958,$105959,$105960,$105961,$105962,$105963,$105964,$105965,$105966),(nextval($105967),$105968,$105969,$105970,$105971,$105972,$105973,$105974,$105975,$105976,$105977,$105978,$105979,$105980),(nextval($105981),$105982,$105983,$105984,$105985,$105986,$105987,$105988,$105989,$105990,$105991,$105992,$105993,$105994),(nextval($105995),$105996,$105997,$105998,$105999,$106000,$106001,$106002,$106003,$106004,$106005,$106006,$106007,$106008),(nextval($106009),$106010,$106011,$106012,$106013,$106014,$106015,$106016,$106017,$106018,$106019,$106020,$106021,$106022),(nextval($106023),$106024,$106025,$106026,$106027,$106028,$106029,$106030,$106031,$106032,$106033,$106034,$106035,$106036),(nextval($106037),$106038,$106039,$106040,$106041,$106042,$106043,$106044,$106045,$106046,$106047,$106048,$106049,$106050),(nextval($106051),$106052,$106053,$106054,$106055,$106056,$106057,$106058,$106059,$106060,$106061,$106062,$106063,$106064),(nextval($106065),$106066,$106067,$106068,$106069,$106070,$106071,$106072,$106073,$106074,$106075,$106076,$106077,$106078),(nextval($106079),$106080,$106081,$106082,$106083,$106084,$106085,$106086,$106087,$106088,$106089,$106090,$106091,$106092),(nextval($106093),$106094,$106095,$106096,$106097,$106098,$106099,$106100,$106101,$106102,$106103,$106104,$106105,$106106),(nextval($106107),$106108,$106109,$106110,$106111,$106112,$106113,$106114,$106115,$106116,$106117,$106118,$106119,$106120),(nextval($106121),$106122,$106123,$106124,$106125,$106126,$106127,$106128,$106129,$106130,$106131,$106132,$106133,$106134),(nextval($106135),$106136,$106137,$106138,$106139,$106140,$106141,$106142,$106143,$106144,$106145,$106146,$106147,$106148),(nextval($106149),$106150,$106151,$106152,$106153,$106154,$106155,$106156,$106157,$106158,$106159,$106160,$106161,$106162),(nextval($106163),$106164,$106165,$106166,$106167,$106168,$106169,$106170,$106171,$106172,$106173,$106174,$106175,$106176),(nextval($106177),$106178,$106179,$106180,$106181,$106182,$106183,$106184,$106185,$106186,$106187,$106188,$106189,$106190),(nextval($106191),$106192,$106193,$106194,$106195,$106196,$106197,$106198,$106199,$106200,$106201,$106202,$106203,$106204),(nextval($106205),$106206,$106207,$106208,$106209,$106210,$106211,$106212,$106213,$106214,$106215,$106216,$106217,$106218),(nextval($106219),$106220,$106221,$106222,$106223,$106224,$106225,$106226,$106227,$106228,$106229,$106230,$106231,$106232),(nextval($106233),$106234,$106235,$106236,$106237,$106238,$106239,$106240,$106241,$106242,$106243,$106244,$106245,$106246),(nextval($106247),$106248,$106249,$106250,$106251,$106252,$106253,$106254,$106255,$106256,$106257,$106258,$106259,$106260),(nextval($106261),$106262,$106263,$106264,$106265,$106266,$106267,$106268,$106269,$106270,$106271,$106272,$106273,$106274),(nextval($106275),$106276,$106277,$106278,$106279,$106280,$106281,$106282,$106283,$106284,$106285,$106286,$106287,$106288),(nextval($106289),$106290,$106291,$106292,$106293,$106294,$106295,$106296,$106297,$106298,$106299,$106300,$106301,$106302),(nextval($106303),$106304,$106305,$106306,$106307,$106308,$106309,$106310,$106311,$106312,$106313,$106314,$106315,$106316),(nextval($106317),$106318,$106319,$106320,$106321,$106322,$106323,$106324,$106325,$106326,$106327,$106328,$106329,$106330),(nextval($106331),$106332,$106333,$106334,$106335,$106336,$106337,$106338,$106339,$106340,$106341,$106342,$106343,$106344),(nextval($106345),$106346,$106347,$106348,$106349,$106350,$106351,$106352,$106353,$106354,$106355,$106356,$106357,$106358),(nextval($106359),$106360,$106361,$106362,$106363,$106364,$106365,$106366,$106367,$106368,$106369,$106370,$106371,$106372),(nextval($106373),$106374,$106375,$106376,$106377,$106378,$106379,$106380,$106381,$106382,$106383,$106384,$106385,$106386),(nextval($106387),$106388,$106389,$106390,$106391,$106392,$106393,$106394,$106395,$106396,$106397,$106398,$106399,$106400),(nextval($106401),$106402,$106403,$106404,$106405,$106406,$106407,$106408,$106409,$106410,$106411,$106412,$106413,$106414),(nextval($106415),$106416,$106417,$106418,$106419,$106420,$106421,$106422,$106423,$106424,$106425,$106426,$106427,$106428),(nextval($106429),$106430,$106431,$106432,$106433,$106434,$106435,$106436,$106437,$106438,$106439,$106440,$106441,$106442),(nextval($106443),$106444,$106445,$106446,$106447,$106448,$106449,$106450,$106451,$106452,$106453,$106454,$106455,$106456),(nextval($106457),$106458,$106459,$106460,$106461,$106462,$106463,$106464,$106465,$106466,$106467,$106468,$106469,$106470),(nextval($106471),$106472,$106473,$106474,$106475,$106476,$106477,$106478,$106479,$106480,$106481,$106482,$106483,$106484),(nextval($106485),$106486,$106487,$106488,$106489,$106490,$106491,$106492,$106493,$106494,$106495,$106496,$106497,$106498),(nextval($106499),$106500,$106501,$106502,$106503,$106504,$106505,$106506,$106507,$106508,$106509,$106510,$106511,$106512),(nextval($106513),$106514,$106515,$106516,$106517,$106518,$106519,$106520,$106521,$106522,$106523,$106524,$106525,$106526),(nextval($106527),$106528,$106529,$106530,$106531,$106532,$106533,$106534,$106535,$106536,$106537,$106538,$106539,$106540),(nextval($106541),$106542,$106543,$106544,$106545,$106546,$106547,$106548,$106549,$106550,$106551,$106552,$106553,$106554),(nextval($106555),$106556,$106557,$106558,$106559,$106560,$106561,$106562,$106563,$106564,$106565,$106566,$106567,$106568),(nextval($106569),$106570,$106571,$106572,$106573,$106574,$106575,$106576,$106577,$106578,$106579,$106580,$106581,$106582),(nextval($106583),$106584,$106585,$106586,$106587,$106588,$106589,$106590,$106591,$106592,$106593,$106594,$106595,$106596),(nextval($106597),$106598,$106599,$106600,$106601,$106602,$106603,$106604,$106605,$106606,$106607,$106608,$106609,$106610),(nextval($106611),$106612,$106613,$106614,$106615,$106616,$106617,$106618,$106619,$106620,$106621,$106622,$106623,$106624),(nextval($106625),$106626,$106627,$106628,$106629,$106630,$106631,$106632,$106633,$106634,$106635,$106636,$106637,$106638),(nextval($106639),$106640,$106641,$106642,$106643,$106644,$106645,$106646,$106647,$106648,$106649,$106650,$106651,$106652),(nextval($106653),$106654,$106655,$106656,$106657,$106658,$106659,$106660,$106661,$106662,$106663,$106664,$106665,$106666),(nextval($106667),$106668,$106669,$106670,$106671,$106672,$106673,$106674,$106675,$106676,$106677,$106678,$106679,$106680),(nextval($106681),$106682,$106683,$106684,$106685,$106686,$106687,$106688,$106689,$106690,$106691,$106692,$106693,$106694),(nextval($106695),$106696,$106697,$106698,$106699,$106700,$106701,$106702,$106703,$106704,$106705,$106706,$106707,$106708),(nextval($106709),$106710,$106711,$106712,$106713,$106714,$106715,$106716,$106717,$106718,$106719,$106720,$106721,$106722),(nextval($106723),$106724,$106725,$106726,$106727,$106728,$106729,$106730,$106731,$106732,$106733,$106734,$106735,$106736),(nextval($106737),$106738,$106739,$106740,$106741,$106742,$106743,$106744,$106745,$106746,$106747,$106748,$106749,$106750),(nextval($106751),$106752,$106753,$106754,$106755,$106756,$106757,$106758,$106759,$106760,$106761,$106762,$106763,$106764),(nextval($106765),$106766,$106767,$106768,$106769,$106770,$106771,$106772,$106773,$106774,$106775,$106776,$106777,$106778),(nextval($106779),$106780,$106781,$106782,$106783,$106784,$106785,$106786,$106787,$106788,$106789,$106790,$106791,$106792),(nextval($106793),$106794,$106795,$106796,$106797,$106798,$106799,$106800,$106801,$106802,$106803,$106804,$106805,$106806),(nextval($106807),$106808,$106809,$106810,$106811,$106812,$106813,$106814,$106815,$106816,$106817,$106818,$106819,$106820),(nextval($106821),$106822,$106823,$106824,$106825,$106826,$106827,$106828,$106829,$106830,$106831,$106832,$106833,$106834),(nextval($106835),$106836,$106837,$106838,$106839,$106840,$106841,$106842,$106843,$106844,$106845,$106846,$106847,$106848),(nextval($106849),$106850,$106851,$106852,$106853,$106854,$106855,$106856,$106857,$106858,$106859,$106860,$106861,$106862),(nextval($106863),$106864,$106865,$106866,$106867,$106868,$106869,$106870,$106871,$106872,$106873,$106874,$106875,$106876),(nextval($106877),$106878,$106879,$106880,$106881,$106882,$106883,$106884,$106885,$106886,$106887,$106888,$106889,$106890),(nextval($106891),$106892,$106893,$106894,$106895,$106896,$106897,$106898,$106899,$106900,$106901,$106902,$106903,$106904),(nextval($106905),$106906,$106907,$106908,$106909,$106910,$106911,$106912,$106913,$106914,$106915,$106916,$106917,$106918),(nextval($106919),$106920,$106921,$106922,$106923,$106924,$106925,$106926,$106927,$106928,$106929,$106930,$106931,$106932),(nextval($106933),$106934,$106935,$106936,$106937,$106938,$106939,$106940,$106941,$106942,$106943,$106944,$106945,$106946),(nextval($106947),$106948,$106949,$106950,$106951,$106952,$106953,$106954,$106955,$106956,$106957,$106958,$106959,$106960),(nextval($106961),$106962,$106963,$106964,$106965,$106966,$106967,$106968,$106969,$106970,$106971,$106972,$106973,$106974),(nextval($106975),$106976,$106977,$106978,$106979,$106980,$106981,$106982,$106983,$106984,$106985,$106986,$106987,$106988),(nextval($106989),$106990,$106991,$106992,$106993,$106994,$106995,$106996,$106997,$106998,$106999,$107000,$107001,$107002),(nextval($107003),$107004,$107005,$107006,$107007,$107008,$107009,$107010,$107011,$107012,$107013,$107014,$107015,$107016),(nextval($107017),$107018,$107019,$107020,$107021,$107022,$107023,$107024,$107025,$107026,$107027,$107028,$107029,$107030),(nextval($107031),$107032,$107033,$107034,$107035,$107036,$107037,$107038,$107039,$107040,$107041,$107042,$107043,$107044),(nextval($107045),$107046,$107047,$107048,$107049,$107050,$107051,$107052,$107053,$107054,$107055,$107056,$107057,$107058),(nextval($107059),$107060,$107061,$107062,$107063,$107064,$107065,$107066,$107067,$107068,$107069,$107070,$107071,$107072),(nextval($107073),$107074,$107075,$107076,$107077,$107078,$107079,$107080,$107081,$107082,$107083,$107084,$107085,$107086),(nextval($107087),$107088,$107089,$107090,$107091,$107092,$107093,$107094,$107095,$107096,$107097,$107098,$107099,$107100),(nextval($107101),$107102,$107103,$107104,$107105,$107106,$107107,$107108,$107109,$107110,$107111,$107112,$107113,$107114),(nextval($107115),$107116,$107117,$107118,$107119,$107120,$107121,$107122,$107123,$107124,$107125,$107126,$107127,$107128),(nextval($107129),$107130,$107131,$107132,$107133,$107134,$107135,$107136,$107137,$107138,$107139,$107140,$107141,$107142),(nextval($107143),$107144,$107145,$107146,$107147,$107148,$107149,$107150,$107151,$107152,$107153,$107154,$107155,$107156),(nextval($107157),$107158,$107159,$107160,$107161,$107162,$107163,$107164,$107165,$107166,$107167,$107168,$107169,$107170),(nextval($107171),$107172,$107173,$107174,$107175,$107176,$107177,$107178,$107179,$107180,$107181,$107182,$107183,$107184),(nextval($107185),$107186,$107187,$107188,$107189,$107190,$107191,$107192,$107193,$107194,$107195,$107196,$107197,$107198),(nextval($107199),$107200,$107201,$107202,$107203,$107204,$107205,$107206,$107207,$107208,$107209,$107210,$107211,$107212),(nextval($107213),$107214,$107215,$107216,$107217,$107218,$107219,$107220,$107221,$107222,$107223,$107224,$107225,$107226),(nextval($107227),$107228,$107229,$107230,$107231,$107232,$107233,$107234,$107235,$107236,$107237,$107238,$107239,$107240),(nextval($107241),$107242,$107243,$107244,$107245,$107246,$107247,$107248,$107249,$107250,$107251,$107252,$107253,$107254),(nextval($107255),$107256,$107257,$107258,$107259,$107260,$107261,$107262,$107263,$107264,$107265,$107266,$107267,$107268),(nextval($107269),$107270,$107271,$107272,$107273,$107274,$107275,$107276,$107277,$107278,$107279,$107280,$107281,$107282),(nextval($107283),$107284,$107285,$107286,$107287,$107288,$107289,$107290,$107291,$107292,$107293,$107294,$107295,$107296),(nextval($107297),$107298,$107299,$107300,$107301,$107302,$107303,$107304,$107305,$107306,$107307,$107308,$107309,$107310),(nextval($107311),$107312,$107313,$107314,$107315,$107316,$107317,$107318,$107319,$107320,$107321,$107322,$107323,$107324),(nextval($107325),$107326,$107327,$107328,$107329,$107330,$107331,$107332,$107333,$107334,$107335,$107336,$107337,$107338),(nextval($107339),$107340,$107341,$107342,$107343,$107344,$107345,$107346,$107347,$107348,$107349,$107350,$107351,$107352),(nextval($107353),$107354,$107355,$107356,$107357,$107358,$107359,$107360,$107361,$107362,$107363,$107364,$107365,$107366),(nextval($107367),$107368,$107369,$107370,$107371,$107372,$107373,$107374,$107375,$107376,$107377,$107378,$107379,$107380),(nextval($107381),$107382,$107383,$107384,$107385,$107386,$107387,$107388,$107389,$107390,$107391,$107392,$107393,$107394),(nextval($107395),$107396,$107397,$107398,$107399,$107400,$107401,$107402,$107403,$107404,$107405,$107406,$107407,$107408),(nextval($107409),$107410,$107411,$107412,$107413,$107414,$107415,$107416,$107417,$107418,$107419,$107420,$107421,$107422),(nextval($107423),$107424,$107425,$107426,$107427,$107428,$107429,$107430,$107431,$107432,$107433,$107434,$107435,$107436),(nextval($107437),$107438,$107439,$107440,$107441,$107442,$107443,$107444,$107445,$107446,$107447,$107448,$107449,$107450),(nextval($107451),$107452,$107453,$107454,$107455,$107456,$107457,$107458,$107459,$107460,$107461,$107462,$107463,$107464),(nextval($107465),$107466,$107467,$107468,$107469,$107470,$107471,$107472,$107473,$107474,$107475,$107476,$107477,$107478),(nextval($107479),$107480,$107481,$107482,$107483,$107484,$107485,$107486,$107487,$107488,$107489,$107490,$107491,$107492),(nextval($107493),$107494,$107495,$107496,$107497,$107498,$107499,$107500,$107501,$107502,$107503,$107504,$107505,$107506),(nextval($107507),$107508,$107509,$107510,$107511,$107512,$107513,$107514,$107515,$107516,$107517,$107518,$107519,$107520),(nextval($107521),$107522,$107523,$107524,$107525,$107526,$107527,$107528,$107529,$107530,$107531,$107532,$107533,$107534),(nextval($107535),$107536,$107537,$107538,$107539,$107540,$107541,$107542,$107543,$107544,$107545,$107546,$107547,$107548),(nextval($107549),$107550,$107551,$107552,$107553,$107554,$107555,$107556,$107557,$107558,$107559,$107560,$107561,$107562),(nextval($107563),$107564,$107565,$107566,$107567,$107568,$107569,$107570,$107571,$107572,$107573,$107574,$107575,$107576),(nextval($107577),$107578,$107579,$107580,$107581,$107582,$107583,$107584,$107585,$107586,$107587,$107588,$107589,$107590),(nextval($107591),$107592,$107593,$107594,$107595,$107596,$107597,$107598,$107599,$107600,$107601,$107602,$107603,$107604),(nextval($107605),$107606,$107607,$107608,$107609,$107610,$107611,$107612,$107613,$107614,$107615,$107616,$107617,$107618),(nextval($107619),$107620,$107621,$107622,$107623,$107624,$107625,$107626,$107627,$107628,$107629,$107630,$107631,$107632),(nextval($107633),$107634,$107635,$107636,$107637,$107638,$107639,$107640,$107641,$107642,$107643,$107644,$107645,$107646),(nextval($107647),$107648,$107649,$107650,$107651,$107652,$107653,$107654,$107655,$107656,$107657,$107658,$107659,$107660),(nextval($107661),$107662,$107663,$107664,$107665,$107666,$107667,$107668,$107669,$107670,$107671,$107672,$107673,$107674),(nextval($107675),$107676,$107677,$107678,$107679,$107680,$107681,$107682,$107683,$107684,$107685,$107686,$107687,$107688),(nextval($107689),$107690,$107691,$107692,$107693,$107694,$107695,$107696,$107697,$107698,$107699,$107700,$107701,$107702),(nextval($107703),$107704,$107705,$107706,$107707,$107708,$107709,$107710,$107711,$107712,$107713,$107714,$107715,$107716),(nextval($107717),$107718,$107719,$107720,$107721,$107722,$107723,$107724,$107725,$107726,$107727,$107728,$107729,$107730),(nextval($107731),$107732,$107733,$107734,$107735,$107736,$107737,$107738,$107739,$107740,$107741,$107742,$107743,$107744),(nextval($107745),$107746,$107747,$107748,$107749,$107750,$107751,$107752,$107753,$107754,$107755,$107756,$107757,$107758),(nextval($107759),$107760,$107761,$107762,$107763,$107764,$107765,$107766,$107767,$107768,$107769,$107770,$107771,$107772),(nextval($107773),$107774,$107775,$107776,$107777,$107778,$107779,$107780,$107781,$107782,$107783,$107784,$107785,$107786),(nextval($107787),$107788,$107789,$107790,$107791,$107792,$107793,$107794,$107795,$107796,$107797,$107798,$107799,$107800),(nextval($107801),$107802,$107803,$107804,$107805,$107806,$107807,$107808,$107809,$107810,$107811,$107812,$107813,$107814),(nextval($107815),$107816,$107817,$107818,$107819,$107820,$107821,$107822,$107823,$107824,$107825,$107826,$107827,$107828),(nextval($107829),$107830,$107831,$107832,$107833,$107834,$107835,$107836,$107837,$107838,$107839,$107840,$107841,$107842),(nextval($107843),$107844,$107845,$107846,$107847,$107848,$107849,$107850,$107851,$107852,$107853,$107854,$107855,$107856),(nextval($107857),$107858,$107859,$107860,$107861,$107862,$107863,$107864,$107865,$107866,$107867,$107868,$107869,$107870),(nextval($107871),$107872,$107873,$107874,$107875,$107876,$107877,$107878,$107879,$107880,$107881,$107882,$107883,$107884),(nextval($107885),$107886,$107887,$107888,$107889,$107890,$107891,$107892,$107893,$107894,$107895,$107896,$107897,$107898),(nextval($107899),$107900,$107901,$107902,$107903,$107904,$107905,$107906,$107907,$107908,$107909,$107910,$107911,$107912),(nextval($107913),$107914,$107915,$107916,$107917,$107918,$107919,$107920,$107921,$107922,$107923,$107924,$107925,$107926),(nextval($107927),$107928,$107929,$107930,$107931,$107932,$107933,$107934,$107935,$107936,$107937,$107938,$107939,$107940),(nextval($107941),$107942,$107943,$107944,$107945,$107946,$107947,$107948,$107949,$107950,$107951,$107952,$107953,$107954),(nextval($107955),$107956,$107957,$107958,$107959,$107960,$107961,$107962,$107963,$107964,$107965,$107966,$107967,$107968),(nextval($107969),$107970,$107971,$107972,$107973,$107974,$107975,$107976,$107977,$107978,$107979,$107980,$107981,$107982),(nextval($107983),$107984,$107985,$107986,$107987,$107988,$107989,$107990,$107991,$107992,$107993,$107994,$107995,$107996),(nextval($107997),$107998,$107999,$108000,$108001,$108002,$108003,$108004,$108005,$108006,$108007,$108008,$108009,$108010),(nextval($108011),$108012,$108013,$108014,$108015,$108016,$108017,$108018,$108019,$108020,$108021,$108022,$108023,$108024),(nextval($108025),$108026,$108027,$108028,$108029,$108030,$108031,$108032,$108033,$108034,$108035,$108036,$108037,$108038),(nextval($108039),$108040,$108041,$108042,$108043,$108044,$108045,$108046,$108047,$108048,$108049,$108050,$108051,$108052),(nextval($108053),$108054,$108055,$108056,$108057,$108058,$108059,$108060,$108061,$108062,$108063,$108064,$108065,$108066),(nextval($108067),$108068,$108069,$108070,$108071,$108072,$108073,$108074,$108075,$108076,$108077,$108078,$108079,$108080),(nextval($108081),$108082,$108083,$108084,$108085,$108086,$108087,$108088,$108089,$108090,$108091,$108092,$108093,$108094),(nextval($108095),$108096,$108097,$108098,$108099,$108100,$108101,$108102,$108103,$108104,$108105,$108106,$108107,$108108),(nextval($108109),$108110,$108111,$108112,$108113,$108114,$108115,$108116,$108117,$108118,$108119,$108120,$108121,$108122),(nextval($108123),$108124,$108125,$108126,$108127,$108128,$108129,$108130,$108131,$108132,$108133,$108134,$108135,$108136),(nextval($108137),$108138,$108139,$108140,$108141,$108142,$108143,$108144,$108145,$108146,$108147,$108148,$108149,$108150),(nextval($108151),$108152,$108153,$108154,$108155,$108156,$108157,$108158,$108159,$108160,$108161,$108162,$108163,$108164),(nextval($108165),$108166,$108167,$108168,$108169,$108170,$108171,$108172,$108173,$108174,$108175,$108176,$108177,$108178),(nextval($108179),$108180,$108181,$108182,$108183,$108184,$108185,$108186,$108187,$108188,$108189,$108190,$108191,$108192),(nextval($108193),$108194,$108195,$108196,$108197,$108198,$108199,$108200,$108201,$108202,$108203,$108204,$108205,$108206),(nextval($108207),$108208,$108209,$108210,$108211,$108212,$108213,$108214,$108215,$108216,$108217,$108218,$108219,$108220),(nextval($108221),$108222,$108223,$108224,$108225,$108226,$108227,$108228,$108229,$108230,$108231,$108232,$108233,$108234),(nextval($108235),$108236,$108237,$108238,$108239,$108240,$108241,$108242,$108243,$108244,$108245,$108246,$108247,$108248),(nextval($108249),$108250,$108251,$108252,$108253,$108254,$108255,$108256,$108257,$108258,$108259,$108260,$108261,$108262),(nextval($108263),$108264,$108265,$108266,$108267,$108268,$108269,$108270,$108271,$108272,$108273,$108274,$108275,$108276),(nextval($108277),$108278,$108279,$108280,$108281,$108282,$108283,$108284,$108285,$108286,$108287,$108288,$108289,$108290),(nextval($108291),$108292,$108293,$108294,$108295,$108296,$108297,$108298,$108299,$108300,$108301,$108302,$108303,$108304),(nextval($108305),$108306,$108307,$108308,$108309,$108310,$108311,$108312,$108313,$108314,$108315,$108316,$108317,$108318),(nextval($108319),$108320,$108321,$108322,$108323,$108324,$108325,$108326,$108327,$108328,$108329,$108330,$108331,$108332),(nextval($108333),$108334,$108335,$108336,$108337,$108338,$108339,$108340,$108341,$108342,$108343,$108344,$108345,$108346),(nextval($108347),$108348,$108349,$108350,$108351,$108352,$108353,$108354,$108355,$108356,$108357,$108358,$108359,$108360),(nextval($108361),$108362,$108363,$108364,$108365,$108366,$108367,$108368,$108369,$108370,$108371,$108372,$108373,$108374),(nextval($108375),$108376,$108377,$108378,$108379,$108380,$108381,$108382,$108383,$108384,$108385,$108386,$108387,$108388),(nextval($108389),$108390,$108391,$108392,$108393,$108394,$108395,$108396,$108397,$108398,$108399,$108400,$108401,$108402),(nextval($108403),$108404,$108405,$108406,$108407,$108408,$108409,$108410,$108411,$108412,$108413,$108414,$108415,$108416),(nextval($108417),$108418,$108419,$108420,$108421,$108422,$108423,$108424,$108425,$108426,$108427,$108428,$108429,$108430),(nextval($108431),$108432,$108433,$108434,$108435,$108436,$108437,$108438,$108439,$108440,$108441,$108442,$108443,$108444),(nextval($108445),$108446,$108447,$108448,$108449,$108450,$108451,$108452,$108453,$108454,$108455,$108456,$108457,$108458),(nextval($108459),$108460,$108461,$108462,$108463,$108464,$108465,$108466,$108467,$108468,$108469,$108470,$108471,$108472),(nextval($108473),$108474,$108475,$108476,$108477,$108478,$108479,$108480,$108481,$108482,$108483,$108484,$108485,$108486),(nextval($108487),$108488,$108489,$108490,$108491,$108492,$108493,$108494,$108495,$108496,$108497,$108498,$108499,$108500),(nextval($108501),$108502,$108503,$108504,$108505,$108506,$108507,$108508,$108509,$108510,$108511,$108512,$108513,$108514),(nextval($108515),$108516,$108517,$108518,$108519,$108520,$108521,$108522,$108523,$108524,$108525,$108526,$108527,$108528),(nextval($108529),$108530,$108531,$108532,$108533,$108534,$108535,$108536,$108537,$108538,$108539,$108540,$108541,$108542),(nextval($108543),$108544,$108545,$108546,$108547,$108548,$108549,$108550,$108551,$108552,$108553,$108554,$108555,$108556),(nextval($108557),$108558,$108559,$108560,$108561,$108562,$108563,$108564,$108565,$108566,$108567,$108568,$108569,$108570),(nextval($108571),$108572,$108573,$108574,$108575,$108576,$108577,$108578,$108579,$108580,$108581,$108582,$108583,$108584),(nextval($108585),$108586,$108587,$108588,$108589,$108590,$108591,$108592,$108593,$108594,$108595,$108596,$108597,$108598),(nextval($108599),$108600,$108601,$108602,$108603,$108604,$108605,$108606,$108607,$108608,$108609,$108610,$108611,$108612),(nextval($108613),$108614,$108615,$108616,$108617,$108618,$108619,$108620,$108621,$108622,$108623,$108624,$108625,$108626),(nextval($108627),$108628,$108629,$108630,$108631,$108632,$108633,$108634,$108635,$108636,$108637,$108638,$108639,$108640),(nextval($108641),$108642,$108643,$108644,$108645,$108646,$108647,$108648,$108649,$108650,$108651,$108652,$108653,$108654),(nextval($108655),$108656,$108657,$108658,$108659,$108660,$108661,$108662,$108663,$108664,$108665,$108666,$108667,$108668),(nextval($108669),$108670,$108671,$108672,$108673,$108674,$108675,$108676,$108677,$108678,$108679,$108680,$108681,$108682),(nextval($108683),$108684,$108685,$108686,$108687,$108688,$108689,$108690,$108691,$108692,$108693,$108694,$108695,$108696),(nextval($108697),$108698,$108699,$108700,$108701,$108702,$108703,$108704,$108705,$108706,$108707,$108708,$108709,$108710),(nextval($108711),$108712,$108713,$108714,$108715,$108716,$108717,$108718,$108719,$108720,$108721,$108722,$108723,$108724),(nextval($108725),$108726,$108727,$108728,$108729,$108730,$108731,$108732,$108733,$108734,$108735,$108736,$108737,$108738),(nextval($108739),$108740,$108741,$108742,$108743,$108744,$108745,$108746,$108747,$108748,$108749,$108750,$108751,$108752),(nextval($108753),$108754,$108755,$108756,$108757,$108758,$108759,$108760,$108761,$108762,$108763,$108764,$108765,$108766),(nextval($108767),$108768,$108769,$108770,$108771,$108772,$108773,$108774,$108775,$108776,$108777,$108778,$108779,$108780),(nextval($108781),$108782,$108783,$108784,$108785,$108786,$108787,$108788,$108789,$108790,$108791,$108792,$108793,$108794),(nextval($108795),$108796,$108797,$108798,$108799,$108800,$108801,$108802,$108803,$108804,$108805,$108806,$108807,$108808),(nextval($108809),$108810,$108811,$108812,$108813,$108814,$108815,$108816,$108817,$108818,$108819,$108820,$108821,$108822),(nextval($108823),$108824,$108825,$108826,$108827,$108828,$108829,$108830,$108831,$108832,$108833,$108834,$108835,$108836),(nextval($108837),$108838,$108839,$108840,$108841,$108842,$108843,$108844,$108845,$108846,$108847,$108848,$108849,$108850),(nextval($108851),$108852,$108853,$108854,$108855,$108856,$108857,$108858,$108859,$108860,$108861,$108862,$108863,$108864),(nextval($108865),$108866,$108867,$108868,$108869,$108870,$108871,$108872,$108873,$108874,$108875,$108876,$108877,$108878),(nextval($108879),$108880,$108881,$108882,$108883,$108884,$108885,$108886,$108887,$108888,$108889,$108890,$108891,$108892),(nextval($108893),$108894,$108895,$108896,$108897,$108898,$108899,$108900,$108901,$108902,$108903,$108904,$108905,$108906),(nextval($108907),$108908,$108909,$108910,$108911,$108912,$108913,$108914,$108915,$108916,$108917,$108918,$108919,$108920),(nextval($108921),$108922,$108923,$108924,$108925,$108926,$108927,$108928,$108929,$108930,$108931,$108932,$108933,$108934),(nextval($108935),$108936,$108937,$108938,$108939,$108940,$108941,$108942,$108943,$108944,$108945,$108946,$108947,$108948),(nextval($108949),$108950,$108951,$108952,$108953,$108954,$108955,$108956,$108957,$108958,$108959,$108960,$108961,$108962),(nextval($108963),$108964,$108965,$108966,$108967,$108968,$108969,$108970,$108971,$108972,$108973,$108974,$108975,$108976),(nextval($108977),$108978,$108979,$108980,$108981,$108982,$108983,$108984,$108985,$108986,$108987,$108988,$108989,$108990),(nextval($108991),$108992,$108993,$108994,$108995,$108996,$108997,$108998,$108999,$109000,$109001,$109002,$109003,$109004),(nextval($109005),$109006,$109007,$109008,$109009,$109010,$109011,$109012,$109013,$109014,$109015,$109016,$109017,$109018),(nextval($109019),$109020,$109021,$109022,$109023,$109024,$109025,$109026,$109027,$109028,$109029,$109030,$109031,$109032),(nextval($109033),$109034,$109035,$109036,$109037,$109038,$109039,$109040,$109041,$109042,$109043,$109044,$109045,$109046),(nextval($109047),$109048,$109049,$109050,$109051,$109052,$109053,$109054,$109055,$109056,$109057,$109058,$109059,$109060),(nextval($109061),$109062,$109063,$109064,$109065,$109066,$109067,$109068,$109069,$109070,$109071,$109072,$109073,$109074),(nextval($109075),$109076,$109077,$109078,$109079,$109080,$109081,$109082,$109083,$109084,$109085,$109086,$109087,$109088),(nextval($109089),$109090,$109091,$109092,$109093,$109094,$109095,$109096,$109097,$109098,$109099,$109100,$109101,$109102),(nextval($109103),$109104,$109105,$109106,$109107,$109108,$109109,$109110,$109111,$109112,$109113,$109114,$109115,$109116),(nextval($109117),$109118,$109119,$109120,$109121,$109122,$109123,$109124,$109125,$109126,$109127,$109128,$109129,$109130),(nextval($109131),$109132,$109133,$109134,$109135,$109136,$109137,$109138,$109139,$109140,$109141,$109142,$109143,$109144),(nextval($109145),$109146,$109147,$109148,$109149,$109150,$109151,$109152,$109153,$109154,$109155,$109156,$109157,$109158),(nextval($109159),$109160,$109161,$109162,$109163,$109164,$109165,$109166,$109167,$109168,$109169,$109170,$109171,$109172),(nextval($109173),$109174,$109175,$109176,$109177,$109178,$109179,$109180,$109181,$109182,$109183,$109184,$109185,$109186),(nextval($109187),$109188,$109189,$109190,$109191,$109192,$109193,$109194,$109195,$109196,$109197,$109198,$109199,$109200),(nextval($109201),$109202,$109203,$109204,$109205,$109206,$109207,$109208,$109209,$109210,$109211,$109212,$109213,$109214),(nextval($109215),$109216,$109217,$109218,$109219,$109220,$109221,$109222,$109223,$109224,$109225,$109226,$109227,$109228),(nextval($109229),$109230,$109231,$109232,$109233,$109234,$109235,$109236,$109237,$109238,$109239,$109240,$109241,$109242),(nextval($109243),$109244,$109245,$109246,$109247,$109248,$109249,$109250,$109251,$109252,$109253,$109254,$109255,$109256),(nextval($109257),$109258,$109259,$109260,$109261,$109262,$109263,$109264,$109265,$109266,$109267,$109268,$109269,$109270),(nextval($109271),$109272,$109273,$109274,$109275,$109276,$109277,$109278,$109279,$109280,$109281,$109282,$109283,$109284),(nextval($109285),$109286,$109287,$109288,$109289,$109290,$109291,$109292,$109293,$109294,$109295,$109296,$109297,$109298),(nextval($109299),$109300,$109301,$109302,$109303,$109304,$109305,$109306,$109307,$109308,$109309,$109310,$109311,$109312),(nextval($109313),$109314,$109315,$109316,$109317,$109318,$109319,$109320,$109321,$109322,$109323,$109324,$109325,$109326),(nextval($109327),$109328,$109329,$109330,$109331,$109332,$109333,$109334,$109335,$109336,$109337,$109338,$109339,$109340),(nextval($109341),$109342,$109343,$109344,$109345,$109346,$109347,$109348,$109349,$109350,$109351,$109352,$109353,$109354),(nextval($109355),$109356,$109357,$109358,$109359,$109360,$109361,$109362,$109363,$109364,$109365,$109366,$109367,$109368),(nextval($109369),$109370,$109371,$109372,$109373,$109374,$109375,$109376,$109377,$109378,$109379,$109380,$109381,$109382),(nextval($109383),$109384,$109385,$109386,$109387,$109388,$109389,$109390,$109391,$109392,$109393,$109394,$109395,$109396),(nextval($109397),$109398,$109399,$109400,$109401,$109402,$109403,$109404,$109405,$109406,$109407,$109408,$109409,$109410),(nextval($109411),$109412,$109413,$109414,$109415,$109416,$109417,$109418,$109419,$109420,$109421,$109422,$109423,$109424),(nextval($109425),$109426,$109427,$109428,$109429,$109430,$109431,$109432,$109433,$109434,$109435,$109436,$109437,$109438),(nextval($109439),$109440,$109441,$109442,$109443,$109444,$109445,$109446,$109447,$109448,$109449,$109450,$109451,$109452),(nextval($109453),$109454,$109455,$109456,$109457,$109458,$109459,$109460,$109461,$109462,$109463,$109464,$109465,$109466),(nextval($109467),$109468,$109469,$109470,$109471,$109472,$109473,$109474,$109475,$109476,$109477,$109478,$109479,$109480),(nextval($109481),$109482,$109483,$109484,$109485,$109486,$109487,$109488,$109489,$109490,$109491,$109492,$109493,$109494),(nextval($109495),$109496,$109497,$109498,$109499,$109500,$109501,$109502,$109503,$109504,$109505,$109506,$109507,$109508),(nextval($109509),$109510,$109511,$109512,$109513,$109514,$109515,$109516,$109517,$109518,$109519,$109520,$109521,$109522),(nextval($109523),$109524,$109525,$109526,$109527,$109528,$109529,$109530,$109531,$109532,$109533,$109534,$109535,$109536),(nextval($109537),$109538,$109539,$109540,$109541,$109542,$109543,$109544,$109545,$109546,$109547,$109548,$109549,$109550),(nextval($109551),$109552,$109553,$109554,$109555,$109556,$109557,$109558,$109559,$109560,$109561,$109562,$109563,$109564),(nextval($109565),$109566,$109567,$109568,$109569,$109570,$109571,$109572,$109573,$109574,$109575,$109576,$109577,$109578),(nextval($109579),$109580,$109581,$109582,$109583,$109584,$109585,$109586,$109587,$109588,$109589,$109590,$109591,$109592),(nextval($109593),$109594,$109595,$109596,$109597,$109598,$109599,$109600,$109601,$109602,$109603,$109604,$109605,$109606),(nextval($109607),$109608,$109609,$109610,$109611,$109612,$109613,$109614,$109615,$109616,$109617,$109618,$109619,$109620),(nextval($109621),$109622,$109623,$109624,$109625,$109626,$109627,$109628,$109629,$109630,$109631,$109632,$109633,$109634),(nextval($109635),$109636,$109637,$109638,$109639,$109640,$109641,$109642,$109643,$109644,$109645,$109646,$109647,$109648),(nextval($109649),$109650,$109651,$109652,$109653,$109654,$109655,$109656,$109657,$109658,$109659,$109660,$109661,$109662),(nextval($109663),$109664,$109665,$109666,$109667,$109668,$109669,$109670,$109671,$109672,$109673,$109674,$109675,$109676),(nextval($109677),$109678,$109679,$109680,$109681,$109682,$109683,$109684,$109685,$109686,$109687,$109688,$109689,$109690),(nextval($109691),$109692,$109693,$109694,$109695,$109696,$109697,$109698,$109699,$109700,$109701,$109702,$109703,$109704),(nextval($109705),$109706,$109707,$109708,$109709,$109710,$109711,$109712,$109713,$109714,$109715,$109716,$109717,$109718),(nextval($109719),$109720,$109721,$109722,$109723,$109724,$109725,$109726,$109727,$109728,$109729,$109730,$109731,$109732),(nextval($109733),$109734,$109735,$109736,$109737,$109738,$109739,$109740,$109741,$109742,$109743,$109744,$109745,$109746),(nextval($109747),$109748,$109749,$109750,$109751,$109752,$109753,$109754,$109755,$109756,$109757,$109758,$109759,$109760),(nextval($109761),$109762,$109763,$109764,$109765,$109766,$109767,$109768,$109769,$109770,$109771,$109772,$109773,$109774),(nextval($109775),$109776,$109777,$109778,$109779,$109780,$109781,$109782,$109783,$109784,$109785,$109786,$109787,$109788),(nextval($109789),$109790,$109791,$109792,$109793,$109794,$109795,$109796,$109797,$109798,$109799,$109800,$109801,$109802),(nextval($109803),$109804,$109805,$109806,$109807,$109808,$109809,$109810,$109811,$109812,$109813,$109814,$109815,$109816),(nextval($109817),$109818,$109819,$109820,$109821,$109822,$109823,$109824,$109825,$109826,$109827,$109828,$109829,$109830),(nextval($109831),$109832,$109833,$109834,$109835,$109836,$109837,$109838,$109839,$109840,$109841,$109842,$109843,$109844),(nextval($109845),$109846,$109847,$109848,$109849,$109850,$109851,$109852,$109853,$109854,$109855,$109856,$109857,$109858),(nextval($109859),$109860,$109861,$109862,$109863,$109864,$109865,$109866,$109867,$109868,$109869,$109870,$109871,$109872),(nextval($109873),$109874,$109875,$109876,$109877,$109878,$109879,$109880,$109881,$109882,$109883,$109884,$109885,$109886),(nextval($109887),$109888,$109889,$109890,$109891,$109892,$109893,$109894,$109895,$109896,$109897,$109898,$109899,$109900),(nextval($109901),$109902,$109903,$109904,$109905,$109906,$109907,$109908,$109909,$109910,$109911,$109912,$109913,$109914),(nextval($109915),$109916,$109917,$109918,$109919,$109920,$109921,$109922,$109923,$109924,$109925,$109926,$109927,$109928),(nextval($109929),$109930,$109931,$109932,$109933,$109934,$109935,$109936,$109937,$109938,$109939,$109940,$109941,$109942),(nextval($109943),$109944,$109945,$109946,$109947,$109948,$109949,$109950,$109951,$109952,$109953,$109954,$109955,$109956),(nextval($109957),$109958,$109959,$109960,$109961,$109962,$109963,$109964,$109965,$109966,$109967,$109968,$109969,$109970),(nextval($109971),$109972,$109973,$109974,$109975,$109976,$109977,$109978,$109979,$109980,$109981,$109982,$109983,$109984),(nextval($109985),$109986,$109987,$109988,$109989,$109990,$109991,$109992,$109993,$109994,$109995,$109996,$109997,$109998),(nextval($109999),$110000,$110001,$110002,$110003,$110004,$110005,$110006,$110007,$110008,$110009,$110010,$110011,$110012),(nextval($110013),$110014,$110015,$110016,$110017,$110018,$110019,$110020,$110021,$110022,$110023,$110024,$110025,$110026),(nextval($110027),$110028,$110029,$110030,$110031,$110032,$110033,$110034,$110035,$110036,$110037,$110038,$110039,$110040),(nextval($110041),$110042,$110043,$110044,$110045,$110046,$110047,$110048,$110049,$110050,$110051,$110052,$110053,$110054),(nextval($110055),$110056,$110057,$110058,$110059,$110060,$110061,$110062,$110063,$110064,$110065,$110066,$110067,$110068),(nextval($110069),$110070,$110071,$110072,$110073,$110074,$110075,$110076,$110077,$110078,$110079,$110080,$110081,$110082),(nextval($110083),$110084,$110085,$110086,$110087,$110088,$110089,$110090,$110091,$110092,$110093,$110094,$110095,$110096),(nextval($110097),$110098,$110099,$110100,$110101,$110102,$110103,$110104,$110105,$110106,$110107,$110108,$110109,$110110),(nextval($110111),$110112,$110113,$110114,$110115,$110116,$110117,$110118,$110119,$110120,$110121,$110122,$110123,$110124),(nextval($110125),$110126,$110127,$110128,$110129,$110130,$110131,$110132,$110133,$110134,$110135,$110136,$110137,$110138),(nextval($110139),$110140,$110141,$110142,$110143,$110144,$110145,$110146,$110147,$110148,$110149,$110150,$110151,$110152),(nextval($110153),$110154,$110155,$110156,$110157,$110158,$110159,$110160,$110161,$110162,$110163,$110164,$110165,$110166),(nextval($110167),$110168,$110169,$110170,$110171,$110172,$110173,$110174,$110175,$110176,$110177,$110178,$110179,$110180),(nextval($110181),$110182,$110183,$110184,$110185,$110186,$110187,$110188,$110189,$110190,$110191,$110192,$110193,$110194),(nextval($110195),$110196,$110197,$110198,$110199,$110200,$110201,$110202,$110203,$110204,$110205,$110206,$110207,$110208),(nextval($110209),$110210,$110211,$110212,$110213,$110214,$110215,$110216,$110217,$110218,$110219,$110220,$110221,$110222),(nextval($110223),$110224,$110225,$110226,$110227,$110228,$110229,$110230,$110231,$110232,$110233,$110234,$110235,$110236),(nextval($110237),$110238,$110239,$110240,$110241,$110242,$110243,$110244,$110245,$110246,$110247,$110248,$110249,$110250),(nextval($110251),$110252,$110253,$110254,$110255,$110256,$110257,$110258,$110259,$110260,$110261,$110262,$110263,$110264),(nextval($110265),$110266,$110267,$110268,$110269,$110270,$110271,$110272,$110273,$110274,$110275,$110276,$110277,$110278),(nextval($110279),$110280,$110281,$110282,$110283,$110284,$110285,$110286,$110287,$110288,$110289,$110290,$110291,$110292),(nextval($110293),$110294,$110295,$110296,$110297,$110298,$110299,$110300,$110301,$110302,$110303,$110304,$110305,$110306),(nextval($110307),$110308,$110309,$110310,$110311,$110312,$110313,$110314,$110315,$110316,$110317,$110318,$110319,$110320),(nextval($110321),$110322,$110323,$110324,$110325,$110326,$110327,$110328,$110329,$110330,$110331,$110332,$110333,$110334),(nextval($110335),$110336,$110337,$110338,$110339,$110340,$110341,$110342,$110343,$110344,$110345,$110346,$110347,$110348),(nextval($110349),$110350,$110351,$110352,$110353,$110354,$110355,$110356,$110357,$110358,$110359,$110360,$110361,$110362),(nextval($110363),$110364,$110365,$110366,$110367,$110368,$110369,$110370,$110371,$110372,$110373,$110374,$110375,$110376),(nextval($110377),$110378,$110379,$110380,$110381,$110382,$110383,$110384,$110385,$110386,$110387,$110388,$110389,$110390),(nextval($110391),$110392,$110393,$110394,$110395,$110396,$110397,$110398,$110399,$110400,$110401,$110402,$110403,$110404),(nextval($110405),$110406,$110407,$110408,$110409,$110410,$110411,$110412,$110413,$110414,$110415,$110416,$110417,$110418),(nextval($110419),$110420,$110421,$110422,$110423,$110424,$110425,$110426,$110427,$110428,$110429,$110430,$110431,$110432),(nextval($110433),$110434,$110435,$110436,$110437,$110438,$110439,$110440,$110441,$110442,$110443,$110444,$110445,$110446),(nextval($110447),$110448,$110449,$110450,$110451,$110452,$110453,$110454,$110455,$110456,$110457,$110458,$110459,$110460),(nextval($110461),$110462,$110463,$110464,$110465,$110466,$110467,$110468,$110469,$110470,$110471,$110472,$110473,$110474),(nextval($110475),$110476,$110477,$110478,$110479,$110480,$110481,$110482,$110483,$110484,$110485,$110486,$110487,$110488),(nextval($110489),$110490,$110491,$110492,$110493,$110494,$110495,$110496,$110497,$110498,$110499,$110500,$110501,$110502),(nextval($110503),$110504,$110505,$110506,$110507,$110508,$110509,$110510,$110511,$110512,$110513,$110514,$110515,$110516),(nextval($110517),$110518,$110519,$110520,$110521,$110522,$110523,$110524,$110525,$110526,$110527,$110528,$110529,$110530),(nextval($110531),$110532,$110533,$110534,$110535,$110536,$110537,$110538,$110539,$110540,$110541,$110542,$110543,$110544),(nextval($110545),$110546,$110547,$110548,$110549,$110550,$110551,$110552,$110553,$110554,$110555,$110556,$110557,$110558),(nextval($110559),$110560,$110561,$110562,$110563,$110564,$110565,$110566,$110567,$110568,$110569,$110570,$110571,$110572),(nextval($110573),$110574,$110575,$110576,$110577,$110578,$110579,$110580,$110581,$110582,$110583,$110584,$110585,$110586),(nextval($110587),$110588,$110589,$110590,$110591,$110592,$110593,$110594,$110595,$110596,$110597,$110598,$110599,$110600),(nextval($110601),$110602,$110603,$110604,$110605,$110606,$110607,$110608,$110609,$110610,$110611,$110612,$110613,$110614),(nextval($110615),$110616,$110617,$110618,$110619,$110620,$110621,$110622,$110623,$110624,$110625,$110626,$110627,$110628),(nextval($110629),$110630,$110631,$110632,$110633,$110634,$110635,$110636,$110637,$110638,$110639,$110640,$110641,$110642),(nextval($110643),$110644,$110645,$110646,$110647,$110648,$110649,$110650,$110651,$110652,$110653,$110654,$110655,$110656),(nextval($110657),$110658,$110659,$110660,$110661,$110662,$110663,$110664,$110665,$110666,$110667,$110668,$110669,$110670),(nextval($110671),$110672,$110673,$110674,$110675,$110676,$110677,$110678,$110679,$110680,$110681,$110682,$110683,$110684),(nextval($110685),$110686,$110687,$110688,$110689,$110690,$110691,$110692,$110693,$110694,$110695,$110696,$110697,$110698),(nextval($110699),$110700,$110701,$110702,$110703,$110704,$110705,$110706,$110707,$110708,$110709,$110710,$110711,$110712),(nextval($110713),$110714,$110715,$110716,$110717,$110718,$110719,$110720,$110721,$110722,$110723,$110724,$110725,$110726),(nextval($110727),$110728,$110729,$110730,$110731,$110732,$110733,$110734,$110735,$110736,$110737,$110738,$110739,$110740),(nextval($110741),$110742,$110743,$110744,$110745,$110746,$110747,$110748,$110749,$110750,$110751,$110752,$110753,$110754),(nextval($110755),$110756,$110757,$110758,$110759,$110760,$110761,$110762,$110763,$110764,$110765,$110766,$110767,$110768),(nextval($110769),$110770,$110771,$110772,$110773,$110774,$110775,$110776,$110777,$110778,$110779,$110780,$110781,$110782),(nextval($110783),$110784,$110785,$110786,$110787,$110788,$110789,$110790,$110791,$110792,$110793,$110794,$110795,$110796),(nextval($110797),$110798,$110799,$110800,$110801,$110802,$110803,$110804,$110805,$110806,$110807,$110808,$110809,$110810),(nextval($110811),$110812,$110813,$110814,$110815,$110816,$110817,$110818,$110819,$110820,$110821,$110822,$110823,$110824),(nextval($110825),$110826,$110827,$110828,$110829,$110830,$110831,$110832,$110833,$110834,$110835,$110836,$110837,$110838),(nextval($110839),$110840,$110841,$110842,$110843,$110844,$110845,$110846,$110847,$110848,$110849,$110850,$110851,$110852),(nextval($110853),$110854,$110855,$110856,$110857,$110858,$110859,$110860,$110861,$110862,$110863,$110864,$110865,$110866),(nextval($110867),$110868,$110869,$110870,$110871,$110872,$110873,$110874,$110875,$110876,$110877,$110878,$110879,$110880),(nextval($110881),$110882,$110883,$110884,$110885,$110886,$110887,$110888,$110889,$110890,$110891,$110892,$110893,$110894),(nextval($110895),$110896,$110897,$110898,$110899,$110900,$110901,$110902,$110903,$110904,$110905,$110906,$110907,$110908),(nextval($110909),$110910,$110911,$110912,$110913,$110914,$110915,$110916,$110917,$110918,$110919,$110920,$110921,$110922),(nextval($110923),$110924,$110925,$110926,$110927,$110928,$110929,$110930,$110931,$110932,$110933,$110934,$110935,$110936),(nextval($110937),$110938,$110939,$110940,$110941,$110942,$110943,$110944,$110945,$110946,$110947,$110948,$110949,$110950),(nextval($110951),$110952,$110953,$110954,$110955,$110956,$110957,$110958,$110959,$110960,$110961,$110962,$110963,$110964),(nextval($110965),$110966,$110967,$110968,$110969,$110970,$110971,$110972,$110973,$110974,$110975,$110976,$110977,$110978),(nextval($110979),$110980,$110981,$110982,$110983,$110984,$110985,$110986,$110987,$110988,$110989,$110990,$110991,$110992),(nextval($110993),$110994,$110995,$110996,$110997,$110998,$110999,$111000,$111001,$111002,$111003,$111004,$111005,$111006),(nextval($111007),$111008,$111009,$111010,$111011,$111012,$111013,$111014,$111015,$111016,$111017,$111018,$111019,$111020),(nextval($111021),$111022,$111023,$111024,$111025,$111026,$111027,$111028,$111029,$111030,$111031,$111032,$111033,$111034),(nextval($111035),$111036,$111037,$111038,$111039,$111040,$111041,$111042,$111043,$111044,$111045,$111046,$111047,$111048),(nextval($111049),$111050,$111051,$111052,$111053,$111054,$111055,$111056,$111057,$111058,$111059,$111060,$111061,$111062),(nextval($111063),$111064,$111065,$111066,$111067,$111068,$111069,$111070,$111071,$111072,$111073,$111074,$111075,$111076),(nextval($111077),$111078,$111079,$111080,$111081,$111082,$111083,$111084,$111085,$111086,$111087,$111088,$111089,$111090),(nextval($111091),$111092,$111093,$111094,$111095,$111096,$111097,$111098,$111099,$111100,$111101,$111102,$111103,$111104),(nextval($111105),$111106,$111107,$111108,$111109,$111110,$111111,$111112,$111113,$111114,$111115,$111116,$111117,$111118),(nextval($111119),$111120,$111121,$111122,$111123,$111124,$111125,$111126,$111127,$111128,$111129,$111130,$111131,$111132),(nextval($111133),$111134,$111135,$111136,$111137,$111138,$111139,$111140,$111141,$111142,$111143,$111144,$111145,$111146),(nextval($111147),$111148,$111149,$111150,$111151,$111152,$111153,$111154,$111155,$111156,$111157,$111158,$111159,$111160),(nextval($111161),$111162,$111163,$111164,$111165,$111166,$111167,$111168,$111169,$111170,$111171,$111172,$111173,$111174),(nextval($111175),$111176,$111177,$111178,$111179,$111180,$111181,$111182,$111183,$111184,$111185,$111186,$111187,$111188),(nextval($111189),$111190,$111191,$111192,$111193,$111194,$111195,$111196,$111197,$111198,$111199,$111200,$111201,$111202),(nextval($111203),$111204,$111205,$111206,$111207,$111208,$111209,$111210,$111211,$111212,$111213,$111214,$111215,$111216),(nextval($111217),$111218,$111219,$111220,$111221,$111222,$111223,$111224,$111225,$111226,$111227,$111228,$111229,$111230),(nextval($111231),$111232,$111233,$111234,$111235,$111236,$111237,$111238,$111239,$111240,$111241,$111242,$111243,$111244),(nextval($111245),$111246,$111247,$111248,$111249,$111250,$111251,$111252,$111253,$111254,$111255,$111256,$111257,$111258),(nextval($111259),$111260,$111261,$111262,$111263,$111264,$111265,$111266,$111267,$111268,$111269,$111270,$111271,$111272),(nextval($111273),$111274,$111275,$111276,$111277,$111278,$111279,$111280,$111281,$111282,$111283,$111284,$111285,$111286),(nextval($111287),$111288,$111289,$111290,$111291,$111292,$111293,$111294,$111295,$111296,$111297,$111298,$111299,$111300),(nextval($111301),$111302,$111303,$111304,$111305,$111306,$111307,$111308,$111309,$111310,$111311,$111312,$111313,$111314),(nextval($111315),$111316,$111317,$111318,$111319,$111320,$111321,$111322,$111323,$111324,$111325,$111326,$111327,$111328),(nextval($111329),$111330,$111331,$111332,$111333,$111334,$111335,$111336,$111337,$111338,$111339,$111340,$111341,$111342),(nextval($111343),$111344,$111345,$111346,$111347,$111348,$111349,$111350,$111351,$111352,$111353,$111354,$111355,$111356),(nextval($111357),$111358,$111359,$111360,$111361,$111362,$111363,$111364,$111365,$111366,$111367,$111368,$111369,$111370),(nextval($111371),$111372,$111373,$111374,$111375,$111376,$111377,$111378,$111379,$111380,$111381,$111382,$111383,$111384),(nextval($111385),$111386,$111387,$111388,$111389,$111390,$111391,$111392,$111393,$111394,$111395,$111396,$111397,$111398),(nextval($111399),$111400,$111401,$111402,$111403,$111404,$111405,$111406,$111407,$111408,$111409,$111410,$111411,$111412),(nextval($111413),$111414,$111415,$111416,$111417,$111418,$111419,$111420,$111421,$111422,$111423,$111424,$111425,$111426),(nextval($111427),$111428,$111429,$111430,$111431,$111432,$111433,$111434,$111435,$111436,$111437,$111438,$111439,$111440),(nextval($111441),$111442,$111443,$111444,$111445,$111446,$111447,$111448,$111449,$111450,$111451,$111452,$111453,$111454),(nextval($111455),$111456,$111457,$111458,$111459,$111460,$111461,$111462,$111463,$111464,$111465,$111466,$111467,$111468),(nextval($111469),$111470,$111471,$111472,$111473,$111474,$111475,$111476,$111477,$111478,$111479,$111480,$111481,$111482),(nextval($111483),$111484,$111485,$111486,$111487,$111488,$111489,$111490,$111491,$111492,$111493,$111494,$111495,$111496),(nextval($111497),$111498,$111499,$111500,$111501,$111502,$111503,$111504,$111505,$111506,$111507,$111508,$111509,$111510),(nextval($111511),$111512,$111513,$111514,$111515,$111516,$111517,$111518,$111519,$111520,$111521,$111522,$111523,$111524),(nextval($111525),$111526,$111527,$111528,$111529,$111530,$111531,$111532,$111533,$111534,$111535,$111536,$111537,$111538),(nextval($111539),$111540,$111541,$111542,$111543,$111544,$111545,$111546,$111547,$111548,$111549,$111550,$111551,$111552),(nextval($111553),$111554,$111555,$111556,$111557,$111558,$111559,$111560,$111561,$111562,$111563,$111564,$111565,$111566),(nextval($111567),$111568,$111569,$111570,$111571,$111572,$111573,$111574,$111575,$111576,$111577,$111578,$111579,$111580),(nextval($111581),$111582,$111583,$111584,$111585,$111586,$111587,$111588,$111589,$111590,$111591,$111592,$111593,$111594),(nextval($111595),$111596,$111597,$111598,$111599,$111600,$111601,$111602,$111603,$111604,$111605,$111606,$111607,$111608),(nextval($111609),$111610,$111611,$111612,$111613,$111614,$111615,$111616,$111617,$111618,$111619,$111620,$111621,$111622),(nextval($111623),$111624,$111625,$111626,$111627,$111628,$111629,$111630,$111631,$111632,$111633,$111634,$111635,$111636),(nextval($111637),$111638,$111639,$111640,$111641,$111642,$111643,$111644,$111645,$111646,$111647,$111648,$111649,$111650),(nextval($111651),$111652,$111653,$111654,$111655,$111656,$111657,$111658,$111659,$111660,$111661,$111662,$111663,$111664),(nextval($111665),$111666,$111667,$111668,$111669,$111670,$111671,$111672,$111673,$111674,$111675,$111676,$111677,$111678),(nextval($111679),$111680,$111681,$111682,$111683,$111684,$111685,$111686,$111687,$111688,$111689,$111690,$111691,$111692),(nextval($111693),$111694,$111695,$111696,$111697,$111698,$111699,$111700,$111701,$111702,$111703,$111704,$111705,$111706),(nextval($111707),$111708,$111709,$111710,$111711,$111712,$111713,$111714,$111715,$111716,$111717,$111718,$111719,$111720),(nextval($111721),$111722,$111723,$111724,$111725,$111726,$111727,$111728,$111729,$111730,$111731,$111732,$111733,$111734),(nextval($111735),$111736,$111737,$111738,$111739,$111740,$111741,$111742,$111743,$111744,$111745,$111746,$111747,$111748),(nextval($111749),$111750,$111751,$111752,$111753,$111754,$111755,$111756,$111757,$111758,$111759,$111760,$111761,$111762),(nextval($111763),$111764,$111765,$111766,$111767,$111768,$111769,$111770,$111771,$111772,$111773,$111774,$111775,$111776),(nextval($111777),$111778,$111779,$111780,$111781,$111782,$111783,$111784,$111785,$111786,$111787,$111788,$111789,$111790),(nextval($111791),$111792,$111793,$111794,$111795,$111796,$111797,$111798,$111799,$111800,$111801,$111802,$111803,$111804),(nextval($111805),$111806,$111807,$111808,$111809,$111810,$111811,$111812,$111813,$111814,$111815,$111816,$111817,$111818),(nextval($111819),$111820,$111821,$111822,$111823,$111824,$111825,$111826,$111827,$111828,$111829,$111830,$111831,$111832),(nextval($111833),$111834,$111835,$111836,$111837,$111838,$111839,$111840,$111841,$111842,$111843,$111844,$111845,$111846),(nextval($111847),$111848,$111849,$111850,$111851,$111852,$111853,$111854,$111855,$111856,$111857,$111858,$111859,$111860),(nextval($111861),$111862,$111863,$111864,$111865,$111866,$111867,$111868,$111869,$111870,$111871,$111872,$111873,$111874),(nextval($111875),$111876,$111877,$111878,$111879,$111880,$111881,$111882,$111883,$111884,$111885,$111886,$111887,$111888),(nextval($111889),$111890,$111891,$111892,$111893,$111894,$111895,$111896,$111897,$111898,$111899,$111900,$111901,$111902),(nextval($111903),$111904,$111905,$111906,$111907,$111908,$111909,$111910,$111911,$111912,$111913,$111914,$111915,$111916),(nextval($111917),$111918,$111919,$111920,$111921,$111922,$111923,$111924,$111925,$111926,$111927,$111928,$111929,$111930),(nextval($111931),$111932,$111933,$111934,$111935,$111936,$111937,$111938,$111939,$111940,$111941,$111942,$111943,$111944),(nextval($111945),$111946,$111947,$111948,$111949,$111950,$111951,$111952,$111953,$111954,$111955,$111956,$111957,$111958),(nextval($111959),$111960,$111961,$111962,$111963,$111964,$111965,$111966,$111967,$111968,$111969,$111970,$111971,$111972),(nextval($111973),$111974,$111975,$111976,$111977,$111978,$111979,$111980,$111981,$111982,$111983,$111984,$111985,$111986),(nextval($111987),$111988,$111989,$111990,$111991,$111992,$111993,$111994,$111995,$111996,$111997,$111998,$111999,$112000),(nextval($112001),$112002,$112003,$112004,$112005,$112006,$112007,$112008,$112009,$112010,$112011,$112012,$112013,$112014),(nextval($112015),$112016,$112017,$112018,$112019,$112020,$112021,$112022,$112023,$112024,$112025,$112026,$112027,$112028),(nextval($112029),$112030,$112031,$112032,$112033,$112034,$112035,$112036,$112037,$112038,$112039,$112040,$112041,$112042),(nextval($112043),$112044,$112045,$112046,$112047,$112048,$112049,$112050,$112051,$112052,$112053,$112054,$112055,$112056),(nextval($112057),$112058,$112059,$112060,$112061,$112062,$112063,$112064,$112065,$112066,$112067,$112068,$112069,$112070),(nextval($112071),$112072,$112073,$112074,$112075,$112076,$112077,$112078,$112079,$112080,$112081,$112082,$112083,$112084),(nextval($112085),$112086,$112087,$112088,$112089,$112090,$112091,$112092,$112093,$112094,$112095,$112096,$112097,$112098),(nextval($112099),$112100,$112101,$112102,$112103,$112104,$112105,$112106,$112107,$112108,$112109,$112110,$112111,$112112),(nextval($112113),$112114,$112115,$112116,$112117,$112118,$112119,$112120,$112121,$112122,$112123,$112124,$112125,$112126),(nextval($112127),$112128,$112129,$112130,$112131,$112132,$112133,$112134,$112135,$112136,$112137,$112138,$112139,$112140),(nextval($112141),$112142,$112143,$112144,$112145,$112146,$112147,$112148,$112149,$112150,$112151,$112152,$112153,$112154),(nextval($112155),$112156,$112157,$112158,$112159,$112160,$112161,$112162,$112163,$112164,$112165,$112166,$112167,$112168),(nextval($112169),$112170,$112171,$112172,$112173,$112174,$112175,$112176,$112177,$112178,$112179,$112180,$112181,$112182),(nextval($112183),$112184,$112185,$112186,$112187,$112188,$112189,$112190,$112191,$112192,$112193,$112194,$112195,$112196),(nextval($112197),$112198,$112199,$112200,$112201,$112202,$112203,$112204,$112205,$112206,$112207,$112208,$112209,$112210),(nextval($112211),$112212,$112213,$112214,$112215,$112216,$112217,$112218,$112219,$112220,$112221,$112222,$112223,$112224),(nextval($112225),$112226,$112227,$112228,$112229,$112230,$112231,$112232,$112233,$112234,$112235,$112236,$112237,$112238),(nextval($112239),$112240,$112241,$112242,$112243,$112244,$112245,$112246,$112247,$112248,$112249,$112250,$112251,$112252),(nextval($112253),$112254,$112255,$112256,$112257,$112258,$112259,$112260,$112261,$112262,$112263,$112264,$112265,$112266),(nextval($112267),$112268,$112269,$112270,$112271,$112272,$112273,$112274,$112275,$112276,$112277,$112278,$112279,$112280),(nextval($112281),$112282,$112283,$112284,$112285,$112286,$112287,$112288,$112289,$112290,$112291,$112292,$112293,$112294),(nextval($112295),$112296,$112297,$112298,$112299,$112300,$112301,$112302,$112303,$112304,$112305,$112306,$112307,$112308),(nextval($112309),$112310,$112311,$112312,$112313,$112314,$112315,$112316,$112317,$112318,$112319,$112320,$112321,$112322),(nextval($112323),$112324,$112325,$112326,$112327,$112328,$112329,$112330,$112331,$112332,$112333,$112334,$112335,$112336),(nextval($112337),$112338,$112339,$112340,$112341,$112342,$112343,$112344,$112345,$112346,$112347,$112348,$112349,$112350),(nextval($112351),$112352,$112353,$112354,$112355,$112356,$112357,$112358,$112359,$112360,$112361,$112362,$112363,$112364),(nextval($112365),$112366,$112367,$112368,$112369,$112370,$112371,$112372,$112373,$112374,$112375,$112376,$112377,$112378),(nextval($112379),$112380,$112381,$112382,$112383,$112384,$112385,$112386,$112387,$112388,$112389,$112390,$112391,$112392),(nextval($112393),$112394,$112395,$112396,$112397,$112398,$112399,$112400,$112401,$112402,$112403,$112404,$112405,$112406),(nextval($112407),$112408,$112409,$112410,$112411,$112412,$112413,$112414,$112415,$112416,$112417,$112418,$112419,$112420),(nextval($112421),$112422,$112423,$112424,$112425,$112426,$112427,$112428,$112429,$112430,$112431,$112432,$112433,$112434),(nextval($112435),$112436,$112437,$112438,$112439,$112440,$112441,$112442,$112443,$112444,$112445,$112446,$112447,$112448),(nextval($112449),$112450,$112451,$112452,$112453,$112454,$112455,$112456,$112457,$112458,$112459,$112460,$112461,$112462),(nextval($112463),$112464,$112465,$112466,$112467,$112468,$112469,$112470,$112471,$112472,$112473,$112474,$112475,$112476),(nextval($112477),$112478,$112479,$112480,$112481,$112482,$112483,$112484,$112485,$112486,$112487,$112488,$112489,$112490),(nextval($112491),$112492,$112493,$112494,$112495,$112496,$112497,$112498,$112499,$112500,$112501,$112502,$112503,$112504),(nextval($112505),$112506,$112507,$112508,$112509,$112510,$112511,$112512,$112513,$112514,$112515,$112516,$112517,$112518),(nextval($112519),$112520,$112521,$112522,$112523,$112524,$112525,$112526,$112527,$112528,$112529,$112530,$112531,$112532),(nextval($112533),$112534,$112535,$112536,$112537,$112538,$112539,$112540,$112541,$112542,$112543,$112544,$112545,$112546),(nextval($112547),$112548,$112549,$112550,$112551,$112552,$112553,$112554,$112555,$112556,$112557,$112558,$112559,$112560),(nextval($112561),$112562,$112563,$112564,$112565,$112566,$112567,$112568,$112569,$112570,$112571,$112572,$112573,$112574),(nextval($112575),$112576,$112577,$112578,$112579,$112580,$112581,$112582,$112583,$112584,$112585,$112586,$112587,$112588),(nextval($112589),$112590,$112591,$112592,$112593,$112594,$112595,$112596,$112597,$112598,$112599,$112600,$112601,$112602),(nextval($112603),$112604,$112605,$112606,$112607,$112608,$112609,$112610,$112611,$112612,$112613,$112614,$112615,$112616),(nextval($112617),$112618,$112619,$112620,$112621,$112622,$112623,$112624,$112625,$112626,$112627,$112628,$112629,$112630),(nextval($112631),$112632,$112633,$112634,$112635,$112636,$112637,$112638,$112639,$112640,$112641,$112642,$112643,$112644),(nextval($112645),$112646,$112647,$112648,$112649,$112650,$112651,$112652,$112653,$112654,$112655,$112656,$112657,$112658),(nextval($112659),$112660,$112661,$112662,$112663,$112664,$112665,$112666,$112667,$112668,$112669,$112670,$112671,$112672),(nextval($112673),$112674,$112675,$112676,$112677,$112678,$112679,$112680,$112681,$112682,$112683,$112684,$112685,$112686),(nextval($112687),$112688,$112689,$112690,$112691,$112692,$112693,$112694,$112695,$112696,$112697,$112698,$112699,$112700),(nextval($112701),$112702,$112703,$112704,$112705,$112706,$112707,$112708,$112709,$112710,$112711,$112712,$112713,$112714),(nextval($112715),$112716,$112717,$112718,$112719,$112720,$112721,$112722,$112723,$112724,$112725,$112726,$112727,$112728),(nextval($112729),$112730,$112731,$112732,$112733,$112734,$112735,$112736,$112737,$112738,$112739,$112740,$112741,$112742),(nextval($112743),$112744,$112745,$112746,$112747,$112748,$112749,$112750,$112751,$112752,$112753,$112754,$112755,$112756),(nextval($112757),$112758,$112759,$112760,$112761,$112762,$112763,$112764,$112765,$112766,$112767,$112768,$112769,$112770),(nextval($112771),$112772,$112773,$112774,$112775,$112776,$112777,$112778,$112779,$112780,$112781,$112782,$112783,$112784),(nextval($112785),$112786,$112787,$112788,$112789,$112790,$112791,$112792,$112793,$112794,$112795,$112796,$112797,$112798),(nextval($112799),$112800,$112801,$112802,$112803,$112804,$112805,$112806,$112807,$112808,$112809,$112810,$112811,$112812),(nextval($112813),$112814,$112815,$112816,$112817,$112818,$112819,$112820,$112821,$112822,$112823,$112824,$112825,$112826),(nextval($112827),$112828,$112829,$112830,$112831,$112832,$112833,$112834,$112835,$112836,$112837,$112838,$112839,$112840),(nextval($112841),$112842,$112843,$112844,$112845,$112846,$112847,$112848,$112849,$112850,$112851,$112852,$112853,$112854),(nextval($112855),$112856,$112857,$112858,$112859,$112860,$112861,$112862,$112863,$112864,$112865,$112866,$112867,$112868),(nextval($112869),$112870,$112871,$112872,$112873,$112874,$112875,$112876,$112877,$112878,$112879,$112880,$112881,$112882),(nextval($112883),$112884,$112885,$112886,$112887,$112888,$112889,$112890,$112891,$112892,$112893,$112894,$112895,$112896),(nextval($112897),$112898,$112899,$112900,$112901,$112902,$112903,$112904,$112905,$112906,$112907,$112908,$112909,$112910),(nextval($112911),$112912,$112913,$112914,$112915,$112916,$112917,$112918,$112919,$112920,$112921,$112922,$112923,$112924),(nextval($112925),$112926,$112927,$112928,$112929,$112930,$112931,$112932,$112933,$112934,$112935,$112936,$112937,$112938),(nextval($112939),$112940,$112941,$112942,$112943,$112944,$112945,$112946,$112947,$112948,$112949,$112950,$112951,$112952),(nextval($112953),$112954,$112955,$112956,$112957,$112958,$112959,$112960,$112961,$112962,$112963,$112964,$112965,$112966),(nextval($112967),$112968,$112969,$112970,$112971,$112972,$112973,$112974,$112975,$112976,$112977,$112978,$112979,$112980),(nextval($112981),$112982,$112983,$112984,$112985,$112986,$112987,$112988,$112989,$112990,$112991,$112992,$112993,$112994),(nextval($112995),$112996,$112997,$112998,$112999,$113000,$113001,$113002,$113003,$113004,$113005,$113006,$113007,$113008),(nextval($113009),$113010,$113011,$113012,$113013,$113014,$113015,$113016,$113017,$113018,$113019,$113020,$113021,$113022),(nextval($113023),$113024,$113025,$113026,$113027,$113028,$113029,$113030,$113031,$113032,$113033,$113034,$113035,$113036),(nextval($113037),$113038,$113039,$113040,$113041,$113042,$113043,$113044,$113045,$113046,$113047,$113048,$113049,$113050),(nextval($113051),$113052,$113053,$113054,$113055,$113056,$113057,$113058,$113059,$113060,$113061,$113062,$113063,$113064),(nextval($113065),$113066,$113067,$113068,$113069,$113070,$113071,$113072,$113073,$113074,$113075,$113076,$113077,$113078),(nextval($113079),$113080,$113081,$113082,$113083,$113084,$113085,$113086,$113087,$113088,$113089,$113090,$113091,$113092),(nextval($113093),$113094,$113095,$113096,$113097,$113098,$113099,$113100,$113101,$113102,$113103,$113104,$113105,$113106),(nextval($113107),$113108,$113109,$113110,$113111,$113112,$113113,$113114,$113115,$113116,$113117,$113118,$113119,$113120),(nextval($113121),$113122,$113123,$113124,$113125,$113126,$113127,$113128,$113129,$113130,$113131,$113132,$113133,$113134),(nextval($113135),$113136,$113137,$113138,$113139,$113140,$113141,$113142,$113143,$113144,$113145,$113146,$113147,$113148),(nextval($113149),$113150,$113151,$113152,$113153,$113154,$113155,$113156,$113157,$113158,$113159,$113160,$113161,$113162),(nextval($113163),$113164,$113165,$113166,$113167,$113168,$113169,$113170,$113171,$113172,$113173,$113174,$113175,$113176),(nextval($113177),$113178,$113179,$113180,$113181,$113182,$113183,$113184,$113185,$113186,$113187,$113188,$113189,$113190),(nextval($113191),$113192,$113193,$113194,$113195,$113196,$113197,$113198,$113199,$113200,$113201,$113202,$113203,$113204),(nextval($113205),$113206,$113207,$113208,$113209,$113210,$113211,$113212,$113213,$113214,$113215,$113216,$113217,$113218),(nextval($113219),$113220,$113221,$113222,$113223,$113224,$113225,$113226,$113227,$113228,$113229,$113230,$113231,$113232),(nextval($113233),$113234,$113235,$113236,$113237,$113238,$113239,$113240,$113241,$113242,$113243,$113244,$113245,$113246),(nextval($113247),$113248,$113249,$113250,$113251,$113252,$113253,$113254,$113255,$113256,$113257,$113258,$113259,$113260),(nextval($113261),$113262,$113263,$113264,$113265,$113266,$113267,$113268,$113269,$113270,$113271,$113272,$113273,$113274),(nextval($113275),$113276,$113277,$113278,$113279,$113280,$113281,$113282,$113283,$113284,$113285,$113286,$113287,$113288),(nextval($113289),$113290,$113291,$113292,$113293,$113294,$113295,$113296,$113297,$113298,$113299,$113300,$113301,$113302),(nextval($113303),$113304,$113305,$113306,$113307,$113308,$113309,$113310,$113311,$113312,$113313,$113314,$113315,$113316),(nextval($113317),$113318,$113319,$113320,$113321,$113322,$113323,$113324,$113325,$113326,$113327,$113328,$113329,$113330),(nextval($113331),$113332,$113333,$113334,$113335,$113336,$113337,$113338,$113339,$113340,$113341,$113342,$113343,$113344),(nextval($113345),$113346,$113347,$113348,$113349,$113350,$113351,$113352,$113353,$113354,$113355,$113356,$113357,$113358),(nextval($113359),$113360,$113361,$113362,$113363,$113364,$113365,$113366,$113367,$113368,$113369,$113370,$113371,$113372),(nextval($113373),$113374,$113375,$113376,$113377,$113378,$113379,$113380,$113381,$113382,$113383,$113384,$113385,$113386),(nextval($113387),$113388,$113389,$113390,$113391,$113392,$113393,$113394,$113395,$113396,$113397,$113398,$113399,$113400),(nextval($113401),$113402,$113403,$113404,$113405,$113406,$113407,$113408,$113409,$113410,$113411,$113412,$113413,$113414),(nextval($113415),$113416,$113417,$113418,$113419,$113420,$113421,$113422,$113423,$113424,$113425,$113426,$113427,$113428),(nextval($113429),$113430,$113431,$113432,$113433,$113434,$113435,$113436,$113437,$113438,$113439,$113440,$113441,$113442),(nextval($113443),$113444,$113445,$113446,$113447,$113448,$113449,$113450,$113451,$113452,$113453,$113454,$113455,$113456),(nextval($113457),$113458,$113459,$113460,$113461,$113462,$113463,$113464,$113465,$113466,$113467,$113468,$113469,$113470),(nextval($113471),$113472,$113473,$113474,$113475,$113476,$113477,$113478,$113479,$113480,$113481,$113482,$113483,$113484),(nextval($113485),$113486,$113487,$113488,$113489,$113490,$113491,$113492,$113493,$113494,$113495,$113496,$113497,$113498),(nextval($113499),$113500,$113501,$113502,$113503,$113504,$113505,$113506,$113507,$113508,$113509,$113510,$113511,$113512),(nextval($113513),$113514,$113515,$113516,$113517,$113518,$113519,$113520,$113521,$113522,$113523,$113524,$113525,$113526),(nextval($113527),$113528,$113529,$113530,$113531,$113532,$113533,$113534,$113535,$113536,$113537,$113538,$113539,$113540),(nextval($113541),$113542,$113543,$113544,$113545,$113546,$113547,$113548,$113549,$113550,$113551,$113552,$113553,$113554),(nextval($113555),$113556,$113557,$113558,$113559,$113560,$113561,$113562,$113563,$113564,$113565,$113566,$113567,$113568),(nextval($113569),$113570,$113571,$113572,$113573,$113574,$113575,$113576,$113577,$113578,$113579,$113580,$113581,$113582),(nextval($113583),$113584,$113585,$113586,$113587,$113588,$113589,$113590,$113591,$113592,$113593,$113594,$113595,$113596),(nextval($113597),$113598,$113599,$113600,$113601,$113602,$113603,$113604,$113605,$113606,$113607,$113608,$113609,$113610),(nextval($113611),$113612,$113613,$113614,$113615,$113616,$113617,$113618,$113619,$113620,$113621,$113622,$113623,$113624),(nextval($113625),$113626,$113627,$113628,$113629,$113630,$113631,$113632,$113633,$113634,$113635,$113636,$113637,$113638),(nextval($113639),$113640,$113641,$113642,$113643,$113644,$113645,$113646,$113647,$113648,$113649,$113650,$113651,$113652),(nextval($113653),$113654,$113655,$113656,$113657,$113658,$113659,$113660,$113661,$113662,$113663,$113664,$113665,$113666),(nextval($113667),$113668,$113669,$113670,$113671,$113672,$113673,$113674,$113675,$113676,$113677,$113678,$113679,$113680),(nextval($113681),$113682,$113683,$113684,$113685,$113686,$113687,$113688,$113689,$113690,$113691,$113692,$113693,$113694),(nextval($113695),$113696,$113697,$113698,$113699,$113700,$113701,$113702,$113703,$113704,$113705,$113706,$113707,$113708),(nextval($113709),$113710,$113711,$113712,$113713,$113714,$113715,$113716,$113717,$113718,$113719,$113720,$113721,$113722),(nextval($113723),$113724,$113725,$113726,$113727,$113728,$113729,$113730,$113731,$113732,$113733,$113734,$113735,$113736),(nextval($113737),$113738,$113739,$113740,$113741,$113742,$113743,$113744,$113745,$113746,$113747,$113748,$113749,$113750),(nextval($113751),$113752,$113753,$113754,$113755,$113756,$113757,$113758,$113759,$113760,$113761,$113762,$113763,$113764),(nextval($113765),$113766,$113767,$113768,$113769,$113770,$113771,$113772,$113773,$113774,$113775,$113776,$113777,$113778),(nextval($113779),$113780,$113781,$113782,$113783,$113784,$113785,$113786,$113787,$113788,$113789,$113790,$113791,$113792),(nextval($113793),$113794,$113795,$113796,$113797,$113798,$113799,$113800,$113801,$113802,$113803,$113804,$113805,$113806),(nextval($113807),$113808,$113809,$113810,$113811,$113812,$113813,$113814,$113815,$113816,$113817,$113818,$113819,$113820),(nextval($113821),$113822,$113823,$113824,$113825,$113826,$113827,$113828,$113829,$113830,$113831,$113832,$113833,$113834),(nextval($113835),$113836,$113837,$113838,$113839,$113840,$113841,$113842,$113843,$113844,$113845,$113846,$113847,$113848),(nextval($113849),$113850,$113851,$113852,$113853,$113854,$113855,$113856,$113857,$113858,$113859,$113860,$113861,$113862),(nextval($113863),$113864,$113865,$113866,$113867,$113868,$113869,$113870,$113871,$113872,$113873,$113874,$113875,$113876),(nextval($113877),$113878,$113879,$113880,$113881,$113882,$113883,$113884,$113885,$113886,$113887,$113888,$113889,$113890),(nextval($113891),$113892,$113893,$113894,$113895,$113896,$113897,$113898,$113899,$113900,$113901,$113902,$113903,$113904),(nextval($113905),$113906,$113907,$113908,$113909,$113910,$113911,$113912,$113913,$113914,$113915,$113916,$113917,$113918),(nextval($113919),$113920,$113921,$113922,$113923,$113924,$113925,$113926,$113927,$113928,$113929,$113930,$113931,$113932),(nextval($113933),$113934,$113935,$113936,$113937,$113938,$113939,$113940,$113941,$113942,$113943,$113944,$113945,$113946),(nextval($113947),$113948,$113949,$113950,$113951,$113952,$113953,$113954,$113955,$113956,$113957,$113958,$113959,$113960),(nextval($113961),$113962,$113963,$113964,$113965,$113966,$113967,$113968,$113969,$113970,$113971,$113972,$113973,$113974),(nextval($113975),$113976,$113977,$113978,$113979,$113980,$113981,$113982,$113983,$113984,$113985,$113986,$113987,$113988),(nextval($113989),$113990,$113991,$113992,$113993,$113994,$113995,$113996,$113997,$113998,$113999,$114000,$114001,$114002),(nextval($114003),$114004,$114005,$114006,$114007,$114008,$114009,$114010,$114011,$114012,$114013,$114014,$114015,$114016),(nextval($114017),$114018,$114019,$114020,$114021,$114022,$114023,$114024,$114025,$114026,$114027,$114028,$114029,$114030),(nextval($114031),$114032,$114033,$114034,$114035,$114036,$114037,$114038,$114039,$114040,$114041,$114042,$114043,$114044),(nextval($114045),$114046,$114047,$114048,$114049,$114050,$114051,$114052,$114053,$114054,$114055,$114056,$114057,$114058),(nextval($114059),$114060,$114061,$114062,$114063,$114064,$114065,$114066,$114067,$114068,$114069,$114070,$114071,$114072),(nextval($114073),$114074,$114075,$114076,$114077,$114078,$114079,$114080,$114081,$114082,$114083,$114084,$114085,$114086),(nextval($114087),$114088,$114089,$114090,$114091,$114092,$114093,$114094,$114095,$114096,$114097,$114098,$114099,$114100),(nextval($114101),$114102,$114103,$114104,$114105,$114106,$114107,$114108,$114109,$114110,$114111,$114112,$114113,$114114),(nextval($114115),$114116,$114117,$114118,$114119,$114120,$114121,$114122,$114123,$114124,$114125,$114126,$114127,$114128),(nextval($114129),$114130,$114131,$114132,$114133,$114134,$114135,$114136,$114137,$114138,$114139,$114140,$114141,$114142),(nextval($114143),$114144,$114145,$114146,$114147,$114148,$114149,$114150,$114151,$114152,$114153,$114154,$114155,$114156),(nextval($114157),$114158,$114159,$114160,$114161,$114162,$114163,$114164,$114165,$114166,$114167,$114168,$114169,$114170),(nextval($114171),$114172,$114173,$114174,$114175,$114176,$114177,$114178,$114179,$114180,$114181,$114182,$114183,$114184),(nextval($114185),$114186,$114187,$114188,$114189,$114190,$114191,$114192,$114193,$114194,$114195,$114196,$114197,$114198),(nextval($114199),$114200,$114201,$114202,$114203,$114204,$114205,$114206,$114207,$114208,$114209,$114210,$114211,$114212),(nextval($114213),$114214,$114215,$114216,$114217,$114218,$114219,$114220,$114221,$114222,$114223,$114224,$114225,$114226),(nextval($114227),$114228,$114229,$114230,$114231,$114232,$114233,$114234,$114235,$114236,$114237,$114238,$114239,$114240),(nextval($114241),$114242,$114243,$114244,$114245,$114246,$114247,$114248,$114249,$114250,$114251,$114252,$114253,$114254),(nextval($114255),$114256,$114257,$114258,$114259,$114260,$114261,$114262,$114263,$114264,$114265,$114266,$114267,$114268),(nextval($114269),$114270,$114271,$114272,$114273,$114274,$114275,$114276,$114277,$114278,$114279,$114280,$114281,$114282),(nextval($114283),$114284,$114285,$114286,$114287,$114288,$114289,$114290,$114291,$114292,$114293,$114294,$114295,$114296),(nextval($114297),$114298,$114299,$114300,$114301,$114302,$114303,$114304,$114305,$114306,$114307,$114308,$114309,$114310),(nextval($114311),$114312,$114313,$114314,$114315,$114316,$114317,$114318,$114319,$114320,$114321,$114322,$114323,$114324),(nextval($114325),$114326,$114327,$114328,$114329,$114330,$114331,$114332,$114333,$114334,$114335,$114336,$114337,$114338),(nextval($114339),$114340,$114341,$114342,$114343,$114344,$114345,$114346,$114347,$114348,$114349,$114350,$114351,$114352),(nextval($114353),$114354,$114355,$114356,$114357,$114358,$114359,$114360,$114361,$114362,$114363,$114364,$114365,$114366),(nextval($114367),$114368,$114369,$114370,$114371,$114372,$114373,$114374,$114375,$114376,$114377,$114378,$114379,$114380),(nextval($114381),$114382,$114383,$114384,$114385,$114386,$114387,$114388,$114389,$114390,$114391,$114392,$114393,$114394),(nextval($114395),$114396,$114397,$114398,$114399,$114400,$114401,$114402,$114403,$114404,$114405,$114406,$114407,$114408),(nextval($114409),$114410,$114411,$114412,$114413,$114414,$114415,$114416,$114417,$114418,$114419,$114420,$114421,$114422),(nextval($114423),$114424,$114425,$114426,$114427,$114428,$114429,$114430,$114431,$114432,$114433,$114434,$114435,$114436),(nextval($114437),$114438,$114439,$114440,$114441,$114442,$114443,$114444,$114445,$114446,$114447,$114448,$114449,$114450),(nextval($114451),$114452,$114453,$114454,$114455,$114456,$114457,$114458,$114459,$114460,$114461,$114462,$114463,$114464),(nextval($114465),$114466,$114467,$114468,$114469,$114470,$114471,$114472,$114473,$114474,$114475,$114476,$114477,$114478),(nextval($114479),$114480,$114481,$114482,$114483,$114484,$114485,$114486,$114487,$114488,$114489,$114490,$114491,$114492),(nextval($114493),$114494,$114495,$114496,$114497,$114498,$114499,$114500,$114501,$114502,$114503,$114504,$114505,$114506),(nextval($114507),$114508,$114509,$114510,$114511,$114512,$114513,$114514,$114515,$114516,$114517,$114518,$114519,$114520),(nextval($114521),$114522,$114523,$114524,$114525,$114526,$114527,$114528,$114529,$114530,$114531,$114532,$114533,$114534),(nextval($114535),$114536,$114537,$114538,$114539,$114540,$114541,$114542,$114543,$114544,$114545,$114546,$114547,$114548),(nextval($114549),$114550,$114551,$114552,$114553,$114554,$114555,$114556,$114557,$114558,$114559,$114560,$114561,$114562),(nextval($114563),$114564,$114565,$114566,$114567,$114568,$114569,$114570,$114571,$114572,$114573,$114574,$114575,$114576),(nextval($114577),$114578,$114579,$114580,$114581,$114582,$114583,$114584,$114585,$114586,$114587,$114588,$114589,$114590),(nextval($114591),$114592,$114593,$114594,$114595,$114596,$114597,$114598,$114599,$114600,$114601,$114602,$114603,$114604),(nextval($114605),$114606,$114607,$114608,$114609,$114610,$114611,$114612,$114613,$114614,$114615,$114616,$114617,$114618),(nextval($114619),$114620,$114621,$114622,$114623,$114624,$114625,$114626,$114627,$114628,$114629,$114630,$114631,$114632),(nextval($114633),$114634,$114635,$114636,$114637,$114638,$114639,$114640,$114641,$114642,$114643,$114644,$114645,$114646),(nextval($114647),$114648,$114649,$114650,$114651,$114652,$114653,$114654,$114655,$114656,$114657,$114658,$114659,$114660),(nextval($114661),$114662,$114663,$114664,$114665,$114666,$114667,$114668,$114669,$114670,$114671,$114672,$114673,$114674),(nextval($114675),$114676,$114677,$114678,$114679,$114680,$114681,$114682,$114683,$114684,$114685,$114686,$114687,$114688),(nextval($114689),$114690,$114691,$114692,$114693,$114694,$114695,$114696,$114697,$114698,$114699,$114700,$114701,$114702),(nextval($114703),$114704,$114705,$114706,$114707,$114708,$114709,$114710,$114711,$114712,$114713,$114714,$114715,$114716),(nextval($114717),$114718,$114719,$114720,$114721,$114722,$114723,$114724,$114725,$114726,$114727,$114728,$114729,$114730),(nextval($114731),$114732,$114733,$114734,$114735,$114736,$114737,$114738,$114739,$114740,$114741,$114742,$114743,$114744),(nextval($114745),$114746,$114747,$114748,$114749,$114750,$114751,$114752,$114753,$114754,$114755,$114756,$114757,$114758),(nextval($114759),$114760,$114761,$114762,$114763,$114764,$114765,$114766,$114767,$114768,$114769,$114770,$114771,$114772),(nextval($114773),$114774,$114775,$114776,$114777,$114778,$114779,$114780,$114781,$114782,$114783,$114784,$114785,$114786),(nextval($114787),$114788,$114789,$114790,$114791,$114792,$114793,$114794,$114795,$114796,$114797,$114798,$114799,$114800),(nextval($114801),$114802,$114803,$114804,$114805,$114806,$114807,$114808,$114809,$114810,$114811,$114812,$114813,$114814),(nextval($114815),$114816,$114817,$114818,$114819,$114820,$114821,$114822,$114823,$114824,$114825,$114826,$114827,$114828),(nextval($114829),$114830,$114831,$114832,$114833,$114834,$114835,$114836,$114837,$114838,$114839,$114840,$114841,$114842),(nextval($114843),$114844,$114845,$114846,$114847,$114848,$114849,$114850,$114851,$114852,$114853,$114854,$114855,$114856),(nextval($114857),$114858,$114859,$114860,$114861,$114862,$114863,$114864,$114865,$114866,$114867,$114868,$114869,$114870),(nextval($114871),$114872,$114873,$114874,$114875,$114876,$114877,$114878,$114879,$114880,$114881,$114882,$114883,$114884),(nextval($114885),$114886,$114887,$114888,$114889,$114890,$114891,$114892,$114893,$114894,$114895,$114896,$114897,$114898),(nextval($114899),$114900,$114901,$114902,$114903,$114904,$114905,$114906,$114907,$114908,$114909,$114910,$114911,$114912),(nextval($114913),$114914,$114915,$114916,$114917,$114918,$114919,$114920,$114921,$114922,$114923,$114924,$114925,$114926),(nextval($114927),$114928,$114929,$114930,$114931,$114932,$114933,$114934,$114935,$114936,$114937,$114938,$114939,$114940),(nextval($114941),$114942,$114943,$114944,$114945,$114946,$114947,$114948,$114949,$114950,$114951,$114952,$114953,$114954),(nextval($114955),$114956,$114957,$114958,$114959,$114960,$114961,$114962,$114963,$114964,$114965,$114966,$114967,$114968),(nextval($114969),$114970,$114971,$114972,$114973,$114974,$114975,$114976,$114977,$114978,$114979,$114980,$114981,$114982),(nextval($114983),$114984,$114985,$114986,$114987,$114988,$114989,$114990,$114991,$114992,$114993,$114994,$114995,$114996),(nextval($114997),$114998,$114999,$115000,$115001,$115002,$115003,$115004,$115005,$115006,$115007,$115008,$115009,$115010),(nextval($115011),$115012,$115013,$115014,$115015,$115016,$115017,$115018,$115019,$115020,$115021,$115022,$115023,$115024),(nextval($115025),$115026,$115027,$115028,$115029,$115030,$115031,$115032,$115033,$115034,$115035,$115036,$115037,$115038),(nextval($115039),$115040,$115041,$115042,$115043,$115044,$115045,$115046,$115047,$115048,$115049,$115050,$115051,$115052),(nextval($115053),$115054,$115055,$115056,$115057,$115058,$115059,$115060,$115061,$115062,$115063,$115064,$115065,$115066),(nextval($115067),$115068,$115069,$115070,$115071,$115072,$115073,$115074,$115075,$115076,$115077,$115078,$115079,$115080),(nextval($115081),$115082,$115083,$115084,$115085,$115086,$115087,$115088,$115089,$115090,$115091,$115092,$115093,$115094),(nextval($115095),$115096,$115097,$115098,$115099,$115100,$115101,$115102,$115103,$115104,$115105,$115106,$115107,$115108),(nextval($115109),$115110,$115111,$115112,$115113,$115114,$115115,$115116,$115117,$115118,$115119,$115120,$115121,$115122),(nextval($115123),$115124,$115125,$115126,$115127,$115128,$115129,$115130,$115131,$115132,$115133,$115134,$115135,$115136),(nextval($115137),$115138,$115139,$115140,$115141,$115142,$115143,$115144,$115145,$115146,$115147,$115148,$115149,$115150),(nextval($115151),$115152,$115153,$115154,$115155,$115156,$115157,$115158,$115159,$115160,$115161,$115162,$115163,$115164),(nextval($115165),$115166,$115167,$115168,$115169,$115170,$115171,$115172,$115173,$115174,$115175,$115176,$115177,$115178),(nextval($115179),$115180,$115181,$115182,$115183,$115184,$115185,$115186,$115187,$115188,$115189,$115190,$115191,$115192),(nextval($115193),$115194,$115195,$115196,$115197,$115198,$115199,$115200,$115201,$115202,$115203,$115204,$115205,$115206),(nextval($115207),$115208,$115209,$115210,$115211,$115212,$115213,$115214,$115215,$115216,$115217,$115218,$115219,$115220),(nextval($115221),$115222,$115223,$115224,$115225,$115226,$115227,$115228,$115229,$115230,$115231,$115232,$115233,$115234),(nextval($115235),$115236,$115237,$115238,$115239,$115240,$115241,$115242,$115243,$115244,$115245,$115246,$115247,$115248),(nextval($115249),$115250,$115251,$115252,$115253,$115254,$115255,$115256,$115257,$115258,$115259,$115260,$115261,$115262),(nextval($115263),$115264,$115265,$115266,$115267,$115268,$115269,$115270,$115271,$115272,$115273,$115274,$115275,$115276),(nextval($115277),$115278,$115279,$115280,$115281,$115282,$115283,$115284,$115285,$115286,$115287,$115288,$115289,$115290),(nextval($115291),$115292,$115293,$115294,$115295,$115296,$115297,$115298,$115299,$115300,$115301,$115302,$115303,$115304),(nextval($115305),$115306,$115307,$115308,$115309,$115310,$115311,$115312,$115313,$115314,$115315,$115316,$115317,$115318),(nextval($115319),$115320,$115321,$115322,$115323,$115324,$115325,$115326,$115327,$115328,$115329,$115330,$115331,$115332),(nextval($115333),$115334,$115335,$115336,$115337,$115338,$115339,$115340,$115341,$115342,$115343,$115344,$115345,$115346),(nextval($115347),$115348,$115349,$115350,$115351,$115352,$115353,$115354,$115355,$115356,$115357,$115358,$115359,$115360),(nextval($115361),$115362,$115363,$115364,$115365,$115366,$115367,$115368,$115369,$115370,$115371,$115372,$115373,$115374),(nextval($115375),$115376,$115377,$115378,$115379,$115380,$115381,$115382,$115383,$115384,$115385,$115386,$115387,$115388),(nextval($115389),$115390,$115391,$115392,$115393,$115394,$115395,$115396,$115397,$115398,$115399,$115400,$115401,$115402),(nextval($115403),$115404,$115405,$115406,$115407,$115408,$115409,$115410,$115411,$115412,$115413,$115414,$115415,$115416),(nextval($115417),$115418,$115419,$115420,$115421,$115422,$115423,$115424,$115425,$115426,$115427,$115428,$115429,$115430),(nextval($115431),$115432,$115433,$115434,$115435,$115436,$115437,$115438,$115439,$115440,$115441,$115442,$115443,$115444),(nextval($115445),$115446,$115447,$115448,$115449,$115450,$115451,$115452,$115453,$115454,$115455,$115456,$115457,$115458),(nextval($115459),$115460,$115461,$115462,$115463,$115464,$115465,$115466,$115467,$115468,$115469,$115470,$115471,$115472),(nextval($115473),$115474,$115475,$115476,$115477,$115478,$115479,$115480,$115481,$115482,$115483,$115484,$115485,$115486),(nextval($115487),$115488,$115489,$115490,$115491,$115492,$115493,$115494,$115495,$115496,$115497,$115498,$115499,$115500),(nextval($115501),$115502,$115503,$115504,$115505,$115506,$115507,$115508,$115509,$115510,$115511,$115512,$115513,$115514),(nextval($115515),$115516,$115517,$115518,$115519,$115520,$115521,$115522,$115523,$115524,$115525,$115526,$115527,$115528),(nextval($115529),$115530,$115531,$115532,$115533,$115534,$115535,$115536,$115537,$115538,$115539,$115540,$115541,$115542),(nextval($115543),$115544,$115545,$115546,$115547,$115548,$115549,$115550,$115551,$115552,$115553,$115554,$115555,$115556),(nextval($115557),$115558,$115559,$115560,$115561,$115562,$115563,$115564,$115565,$115566,$115567,$115568,$115569,$115570),(nextval($115571),$115572,$115573,$115574,$115575,$115576,$115577,$115578,$115579,$115580,$115581,$115582,$115583,$115584),(nextval($115585),$115586,$115587,$115588,$115589,$115590,$115591,$115592,$115593,$115594,$115595,$115596,$115597,$115598),(nextval($115599),$115600,$115601,$115602,$115603,$115604,$115605,$115606,$115607,$115608,$115609,$115610,$115611,$115612),(nextval($115613),$115614,$115615,$115616,$115617,$115618,$115619,$115620,$115621,$115622,$115623,$115624,$115625,$115626),(nextval($115627),$115628,$115629,$115630,$115631,$115632,$115633,$115634,$115635,$115636,$115637,$115638,$115639,$115640),(nextval($115641),$115642,$115643,$115644,$115645,$115646,$115647,$115648,$115649,$115650,$115651,$115652,$115653,$115654),(nextval($115655),$115656,$115657,$115658,$115659,$115660,$115661,$115662,$115663,$115664,$115665,$115666,$115667,$115668),(nextval($115669),$115670,$115671,$115672,$115673,$115674,$115675,$115676,$115677,$115678,$115679,$115680,$115681,$115682),(nextval($115683),$115684,$115685,$115686,$115687,$115688,$115689,$115690,$115691,$115692,$115693,$115694,$115695,$115696),(nextval($115697),$115698,$115699,$115700,$115701,$115702,$115703,$115704,$115705,$115706,$115707,$115708,$115709,$115710),(nextval($115711),$115712,$115713,$115714,$115715,$115716,$115717,$115718,$115719,$115720,$115721,$115722,$115723,$115724),(nextval($115725),$115726,$115727,$115728,$115729,$115730,$115731,$115732,$115733,$115734,$115735,$115736,$115737,$115738),(nextval($115739),$115740,$115741,$115742,$115743,$115744,$115745,$115746,$115747,$115748,$115749,$115750,$115751,$115752),(nextval($115753),$115754,$115755,$115756,$115757,$115758,$115759,$115760,$115761,$115762,$115763,$115764,$115765,$115766),(nextval($115767),$115768,$115769,$115770,$115771,$115772,$115773,$115774,$115775,$115776,$115777,$115778,$115779,$115780),(nextval($115781),$115782,$115783,$115784,$115785,$115786,$115787,$115788,$115789,$115790,$115791,$115792,$115793,$115794),(nextval($115795),$115796,$115797,$115798,$115799,$115800,$115801,$115802,$115803,$115804,$115805,$115806,$115807,$115808),(nextval($115809),$115810,$115811,$115812,$115813,$115814,$115815,$115816,$115817,$115818,$115819,$115820,$115821,$115822),(nextval($115823),$115824,$115825,$115826,$115827,$115828,$115829,$115830,$115831,$115832,$115833,$115834,$115835,$115836),(nextval($115837),$115838,$115839,$115840,$115841,$115842,$115843,$115844,$115845,$115846,$115847,$115848,$115849,$115850),(nextval($115851),$115852,$115853,$115854,$115855,$115856,$115857,$115858,$115859,$115860,$115861,$115862,$115863,$115864),(nextval($115865),$115866,$115867,$115868,$115869,$115870,$115871,$115872,$115873,$115874,$115875,$115876,$115877,$115878),(nextval($115879),$115880,$115881,$115882,$115883,$115884,$115885,$115886,$115887,$115888,$115889,$115890,$115891,$115892),(nextval($115893),$115894,$115895,$115896,$115897,$115898,$115899,$115900,$115901,$115902,$115903,$115904,$115905,$115906),(nextval($115907),$115908,$115909,$115910,$115911,$115912,$115913,$115914,$115915,$115916,$115917,$115918,$115919,$115920),(nextval($115921),$115922,$115923,$115924,$115925,$115926,$115927,$115928,$115929,$115930,$115931,$115932,$115933,$115934),(nextval($115935),$115936,$115937,$115938,$115939,$115940,$115941,$115942,$115943,$115944,$115945,$115946,$115947,$115948),(nextval($115949),$115950,$115951,$115952,$115953,$115954,$115955,$115956,$115957,$115958,$115959,$115960,$115961,$115962),(nextval($115963),$115964,$115965,$115966,$115967,$115968,$115969,$115970,$115971,$115972,$115973,$115974,$115975,$115976),(nextval($115977),$115978,$115979,$115980,$115981,$115982,$115983,$115984,$115985,$115986,$115987,$115988,$115989,$115990),(nextval($115991),$115992,$115993,$115994,$115995,$115996,$115997,$115998,$115999,$116000,$116001,$116002,$116003,$116004),(nextval($116005),$116006,$116007,$116008,$116009,$116010,$116011,$116012,$116013,$116014,$116015,$116016,$116017,$116018),(nextval($116019),$116020,$116021,$116022,$116023,$116024,$116025,$116026,$116027,$116028,$116029,$116030,$116031,$116032),(nextval($116033),$116034,$116035,$116036,$116037,$116038,$116039,$116040,$116041,$116042,$116043,$116044,$116045,$116046),(nextval($116047),$116048,$116049,$116050,$116051,$116052,$116053,$116054,$116055,$116056,$116057,$116058,$116059,$116060),(nextval($116061),$116062,$116063,$116064,$116065,$116066,$116067,$116068,$116069,$116070,$116071,$116072,$116073,$116074),(nextval($116075),$116076,$116077,$116078,$116079,$116080,$116081,$116082,$116083,$116084,$116085,$116086,$116087,$116088),(nextval($116089),$116090,$116091,$116092,$116093,$116094,$116095,$116096,$116097,$116098,$116099,$116100,$116101,$116102),(nextval($116103),$116104,$116105,$116106,$116107,$116108,$116109,$116110,$116111,$116112,$116113,$116114,$116115,$116116),(nextval($116117),$116118,$116119,$116120,$116121,$116122,$116123,$116124,$116125,$116126,$116127,$116128,$116129,$116130),(nextval($116131),$116132,$116133,$116134,$116135,$116136,$116137,$116138,$116139,$116140,$116141,$116142,$116143,$116144),(nextval($116145),$116146,$116147,$116148,$116149,$116150,$116151,$116152,$116153,$116154,$116155,$116156,$116157,$116158),(nextval($116159),$116160,$116161,$116162,$116163,$116164,$116165,$116166,$116167,$116168,$116169,$116170,$116171,$116172),(nextval($116173),$116174,$116175,$116176,$116177,$116178,$116179,$116180,$116181,$116182,$116183,$116184,$116185,$116186),(nextval($116187),$116188,$116189,$116190,$116191,$116192,$116193,$116194,$116195,$116196,$116197,$116198,$116199,$116200),(nextval($116201),$116202,$116203,$116204,$116205,$116206,$116207,$116208,$116209,$116210,$116211,$116212,$116213,$116214),(nextval($116215),$116216,$116217,$116218,$116219,$116220,$116221,$116222,$116223,$116224,$116225,$116226,$116227,$116228),(nextval($116229),$116230,$116231,$116232,$116233,$116234,$116235,$116236,$116237,$116238,$116239,$116240,$116241,$116242),(nextval($116243),$116244,$116245,$116246,$116247,$116248,$116249,$116250,$116251,$116252,$116253,$116254,$116255,$116256),(nextval($116257),$116258,$116259,$116260,$116261,$116262,$116263,$116264,$116265,$116266,$116267,$116268,$116269,$116270),(nextval($116271),$116272,$116273,$116274,$116275,$116276,$116277,$116278,$116279,$116280,$116281,$116282,$116283,$116284),(nextval($116285),$116286,$116287,$116288,$116289,$116290,$116291,$116292,$116293,$116294,$116295,$116296,$116297,$116298),(nextval($116299),$116300,$116301,$116302,$116303,$116304,$116305,$116306,$116307,$116308,$116309,$116310,$116311,$116312),(nextval($116313),$116314,$116315,$116316,$116317,$116318,$116319,$116320,$116321,$116322,$116323,$116324,$116325,$116326),(nextval($116327),$116328,$116329,$116330,$116331,$116332,$116333,$116334,$116335,$116336,$116337,$116338,$116339,$116340),(nextval($116341),$116342,$116343,$116344,$116345,$116346,$116347,$116348,$116349,$116350,$116351,$116352,$116353,$116354),(nextval($116355),$116356,$116357,$116358,$116359,$116360,$116361,$116362,$116363,$116364,$116365,$116366,$116367,$116368),(nextval($116369),$116370,$116371,$116372,$116373,$116374,$116375,$116376,$116377,$116378,$116379,$116380,$116381,$116382),(nextval($116383),$116384,$116385,$116386,$116387,$116388,$116389,$116390,$116391,$116392,$116393,$116394,$116395,$116396),(nextval($116397),$116398,$116399,$116400,$116401,$116402,$116403,$116404,$116405,$116406,$116407,$116408,$116409,$116410),(nextval($116411),$116412,$116413,$116414,$116415,$116416,$116417,$116418,$116419,$116420,$116421,$116422,$116423,$116424),(nextval($116425),$116426,$116427,$116428,$116429,$116430,$116431,$116432,$116433,$116434,$116435,$116436,$116437,$116438),(nextval($116439),$116440,$116441,$116442,$116443,$116444,$116445,$116446,$116447,$116448,$116449,$116450,$116451,$116452),(nextval($116453),$116454,$116455,$116456,$116457,$116458,$116459,$116460,$116461,$116462,$116463,$116464,$116465,$116466),(nextval($116467),$116468,$116469,$116470,$116471,$116472,$116473,$116474,$116475,$116476,$116477,$116478,$116479,$116480),(nextval($116481),$116482,$116483,$116484,$116485,$116486,$116487,$116488,$116489,$116490,$116491,$116492,$116493,$116494),(nextval($116495),$116496,$116497,$116498,$116499,$116500,$116501,$116502,$116503,$116504,$116505,$116506,$116507,$116508),(nextval($116509),$116510,$116511,$116512,$116513,$116514,$116515,$116516,$116517,$116518,$116519,$116520,$116521,$116522),(nextval($116523),$116524,$116525,$116526,$116527,$116528,$116529,$116530,$116531,$116532,$116533,$116534,$116535,$116536),(nextval($116537),$116538,$116539,$116540,$116541,$116542,$116543,$116544,$116545,$116546,$116547,$116548,$116549,$116550),(nextval($116551),$116552,$116553,$116554,$116555,$116556,$116557,$116558,$116559,$116560,$116561,$116562,$116563,$116564),(nextval($116565),$116566,$116567,$116568,$116569,$116570,$116571,$116572,$116573,$116574,$116575,$116576,$116577,$116578),(nextval($116579),$116580,$116581,$116582,$116583,$116584,$116585,$116586,$116587,$116588,$116589,$116590,$116591,$116592),(nextval($116593),$116594,$116595,$116596,$116597,$116598,$116599,$116600,$116601,$116602,$116603,$116604,$116605,$116606),(nextval($116607),$116608,$116609,$116610,$116611,$116612,$116613,$116614,$116615,$116616,$116617,$116618,$116619,$116620),(nextval($116621),$116622,$116623,$116624,$116625,$116626,$116627,$116628,$116629,$116630,$116631,$116632,$116633,$116634),(nextval($116635),$116636,$116637,$116638,$116639,$116640,$116641,$116642,$116643,$116644,$116645,$116646,$116647,$116648),(nextval($116649),$116650,$116651,$116652,$116653,$116654,$116655,$116656,$116657,$116658,$116659,$116660,$116661,$116662),(nextval($116663),$116664,$116665,$116666,$116667,$116668,$116669,$116670,$116671,$116672,$116673,$116674,$116675,$116676),(nextval($116677),$116678,$116679,$116680,$116681,$116682,$116683,$116684,$116685,$116686,$116687,$116688,$116689,$116690),(nextval($116691),$116692,$116693,$116694,$116695,$116696,$116697,$116698,$116699,$116700,$116701,$116702,$116703,$116704),(nextval($116705),$116706,$116707,$116708,$116709,$116710,$116711,$116712,$116713,$116714,$116715,$116716,$116717,$116718),(nextval($116719),$116720,$116721,$116722,$116723,$116724,$116725,$116726,$116727,$116728,$116729,$116730,$116731,$116732),(nextval($116733),$116734,$116735,$116736,$116737,$116738,$116739,$116740,$116741,$116742,$116743,$116744,$116745,$116746),(nextval($116747),$116748,$116749,$116750,$116751,$116752,$116753,$116754,$116755,$116756,$116757,$116758,$116759,$116760),(nextval($116761),$116762,$116763,$116764,$116765,$116766,$116767,$116768,$116769,$116770,$116771,$116772,$116773,$116774),(nextval($116775),$116776,$116777,$116778,$116779,$116780,$116781,$116782,$116783,$116784,$116785,$116786,$116787,$116788),(nextval($116789),$116790,$116791,$116792,$116793,$116794,$116795,$116796,$116797,$116798,$116799,$116800,$116801,$116802),(nextval($116803),$116804,$116805,$116806,$116807,$116808,$116809,$116810,$116811,$116812,$116813,$116814,$116815,$116816),(nextval($116817),$116818,$116819,$116820,$116821,$116822,$116823,$116824,$116825,$116826,$116827,$116828,$116829,$116830),(nextval($116831),$116832,$116833,$116834,$116835,$116836,$116837,$116838,$116839,$116840,$116841,$116842,$116843,$116844),(nextval($116845),$116846,$116847,$116848,$116849,$116850,$116851,$116852,$116853,$116854,$116855,$116856,$116857,$116858),(nextval($116859),$116860,$116861,$116862,$116863,$116864,$116865,$116866,$116867,$116868,$116869,$116870,$116871,$116872),(nextval($116873),$116874,$116875,$116876,$116877,$116878,$116879,$116880,$116881,$116882,$116883,$116884,$116885,$116886),(nextval($116887),$116888,$116889,$116890,$116891,$116892,$116893,$116894,$116895,$116896,$116897,$116898,$116899,$116900),(nextval($116901),$116902,$116903,$116904,$116905,$116906,$116907,$116908,$116909,$116910,$116911,$116912,$116913,$116914),(nextval($116915),$116916,$116917,$116918,$116919,$116920,$116921,$116922,$116923,$116924,$116925,$116926,$116927,$116928),(nextval($116929),$116930,$116931,$116932,$116933,$116934,$116935,$116936,$116937,$116938,$116939,$116940,$116941,$116942),(nextval($116943),$116944,$116945,$116946,$116947,$116948,$116949,$116950,$116951,$116952,$116953,$116954,$116955,$116956),(nextval($116957),$116958,$116959,$116960,$116961,$116962,$116963,$116964,$116965,$116966,$116967,$116968,$116969,$116970),(nextval($116971),$116972,$116973,$116974,$116975,$116976,$116977,$116978,$116979,$116980,$116981,$116982,$116983,$116984),(nextval($116985),$116986,$116987,$116988,$116989,$116990,$116991,$116992,$116993,$116994,$116995,$116996,$116997,$116998),(nextval($116999),$117000,$117001,$117002,$117003,$117004,$117005,$117006,$117007,$117008,$117009,$117010,$117011,$117012),(nextval($117013),$117014,$117015,$117016,$117017,$117018,$117019,$117020,$117021,$117022,$117023,$117024,$117025,$117026),(nextval($117027),$117028,$117029,$117030,$117031,$117032,$117033,$117034,$117035,$117036,$117037,$117038,$117039,$117040),(nextval($117041),$117042,$117043,$117044,$117045,$117046,$117047,$117048,$117049,$117050,$117051,$117052,$117053,$117054),(nextval($117055),$117056,$117057,$117058,$117059,$117060,$117061,$117062,$117063,$117064,$117065,$117066,$117067,$117068),(nextval($117069),$117070,$117071,$117072,$117073,$117074,$117075,$117076,$117077,$117078,$117079,$117080,$117081,$117082),(nextval($117083),$117084,$117085,$117086,$117087,$117088,$117089,$117090,$117091,$117092,$117093,$117094,$117095,$117096),(nextval($117097),$117098,$117099,$117100,$117101,$117102,$117103,$117104,$117105,$117106,$117107,$117108,$117109,$117110),(nextval($117111),$117112,$117113,$117114,$117115,$117116,$117117,$117118,$117119,$117120,$117121,$117122,$117123,$117124),(nextval($117125),$117126,$117127,$117128,$117129,$117130,$117131,$117132,$117133,$117134,$117135,$117136,$117137,$117138),(nextval($117139),$117140,$117141,$117142,$117143,$117144,$117145,$117146,$117147,$117148,$117149,$117150,$117151,$117152),(nextval($117153),$117154,$117155,$117156,$117157,$117158,$117159,$117160,$117161,$117162,$117163,$117164,$117165,$117166),(nextval($117167),$117168,$117169,$117170,$117171,$117172,$117173,$117174,$117175,$117176,$117177,$117178,$117179,$117180),(nextval($117181),$117182,$117183,$117184,$117185,$117186,$117187,$117188,$117189,$117190,$117191,$117192,$117193,$117194),(nextval($117195),$117196,$117197,$117198,$117199,$117200,$117201,$117202,$117203,$117204,$117205,$117206,$117207,$117208),(nextval($117209),$117210,$117211,$117212,$117213,$117214,$117215,$117216,$117217,$117218,$117219,$117220,$117221,$117222),(nextval($117223),$117224,$117225,$117226,$117227,$117228,$117229,$117230,$117231,$117232,$117233,$117234,$117235,$117236),(nextval($117237),$117238,$117239,$117240,$117241,$117242,$117243,$117244,$117245,$117246,$117247,$117248,$117249,$117250),(nextval($117251),$117252,$117253,$117254,$117255,$117256,$117257,$117258,$117259,$117260,$117261,$117262,$117263,$117264),(nextval($117265),$117266,$117267,$117268,$117269,$117270,$117271,$117272,$117273,$117274,$117275,$117276,$117277,$117278),(nextval($117279),$117280,$117281,$117282,$117283,$117284,$117285,$117286,$117287,$117288,$117289,$117290,$117291,$117292),(nextval($117293),$117294,$117295,$117296,$117297,$117298,$117299,$117300,$117301,$117302,$117303,$117304,$117305,$117306),(nextval($117307),$117308,$117309,$117310,$117311,$117312,$117313,$117314,$117315,$117316,$117317,$117318,$117319,$117320),(nextval($117321),$117322,$117323,$117324,$117325,$117326,$117327,$117328,$117329,$117330,$117331,$117332,$117333,$117334),(nextval($117335),$117336,$117337,$117338,$117339,$117340,$117341,$117342,$117343,$117344,$117345,$117346,$117347,$117348),(nextval($117349),$117350,$117351,$117352,$117353,$117354,$117355,$117356,$117357,$117358,$117359,$117360,$117361,$117362),(nextval($117363),$117364,$117365,$117366,$117367,$117368,$117369,$117370,$117371,$117372,$117373,$117374,$117375,$117376),(nextval($117377),$117378,$117379,$117380,$117381,$117382,$117383,$117384,$117385,$117386,$117387,$117388,$117389,$117390),(nextval($117391),$117392,$117393,$117394,$117395,$117396,$117397,$117398,$117399,$117400,$117401,$117402,$117403,$117404),(nextval($117405),$117406,$117407,$117408,$117409,$117410,$117411,$117412,$117413,$117414,$117415,$117416,$117417,$117418),(nextval($117419),$117420,$117421,$117422,$117423,$117424,$117425,$117426,$117427,$117428,$117429,$117430,$117431,$117432),(nextval($117433),$117434,$117435,$117436,$117437,$117438,$117439,$117440,$117441,$117442,$117443,$117444,$117445,$117446),(nextval($117447),$117448,$117449,$117450,$117451,$117452,$117453,$117454,$117455,$117456,$117457,$117458,$117459,$117460),(nextval($117461),$117462,$117463,$117464,$117465,$117466,$117467,$117468,$117469,$117470,$117471,$117472,$117473,$117474),(nextval($117475),$117476,$117477,$117478,$117479,$117480,$117481,$117482,$117483,$117484,$117485,$117486,$117487,$117488),(nextval($117489),$117490,$117491,$117492,$117493,$117494,$117495,$117496,$117497,$117498,$117499,$117500,$117501,$117502),(nextval($117503),$117504,$117505,$117506,$117507,$117508,$117509,$117510,$117511,$117512,$117513,$117514,$117515,$117516),(nextval($117517),$117518,$117519,$117520,$117521,$117522,$117523,$117524,$117525,$117526,$117527,$117528,$117529,$117530),(nextval($117531),$117532,$117533,$117534,$117535,$117536,$117537,$117538,$117539,$117540,$117541,$117542,$117543,$117544),(nextval($117545),$117546,$117547,$117548,$117549,$117550,$117551,$117552,$117553,$117554,$117555,$117556,$117557,$117558),(nextval($117559),$117560,$117561,$117562,$117563,$117564,$117565,$117566,$117567,$117568,$117569,$117570,$117571,$117572),(nextval($117573),$117574,$117575,$117576,$117577,$117578,$117579,$117580,$117581,$117582,$117583,$117584,$117585,$117586),(nextval($117587),$117588,$117589,$117590,$117591,$117592,$117593,$117594,$117595,$117596,$117597,$117598,$117599,$117600),(nextval($117601),$117602,$117603,$117604,$117605,$117606,$117607,$117608,$117609,$117610,$117611,$117612,$117613,$117614),(nextval($117615),$117616,$117617,$117618,$117619,$117620,$117621,$117622,$117623,$117624,$117625,$117626,$117627,$117628),(nextval($117629),$117630,$117631,$117632,$117633,$117634,$117635,$117636,$117637,$117638,$117639,$117640,$117641,$117642),(nextval($117643),$117644,$117645,$117646,$117647,$117648,$117649,$117650,$117651,$117652,$117653,$117654,$117655,$117656),(nextval($117657),$117658,$117659,$117660,$117661,$117662,$117663,$117664,$117665,$117666,$117667,$117668,$117669,$117670),(nextval($117671),$117672,$117673,$117674,$117675,$117676,$117677,$117678,$117679,$117680,$117681,$117682,$117683,$117684),(nextval($117685),$117686,$117687,$117688,$117689,$117690,$117691,$117692,$117693,$117694,$117695,$117696,$117697,$117698),(nextval($117699),$117700,$117701,$117702,$117703,$117704,$117705,$117706,$117707,$117708,$117709,$117710,$117711,$117712),(nextval($117713),$117714,$117715,$117716,$117717,$117718,$117719,$117720,$117721,$117722,$117723,$117724,$117725,$117726),(nextval($117727),$117728,$117729,$117730,$117731,$117732,$117733,$117734,$117735,$117736,$117737,$117738,$117739,$117740),(nextval($117741),$117742,$117743,$117744,$117745,$117746,$117747,$117748,$117749,$117750,$117751,$117752,$117753,$117754),(nextval($117755),$117756,$117757,$117758,$117759,$117760,$117761,$117762,$117763,$117764,$117765,$117766,$117767,$117768),(nextval($117769),$117770,$117771,$117772,$117773,$117774,$117775,$117776,$117777,$117778,$117779,$117780,$117781,$117782),(nextval($117783),$117784,$117785,$117786,$117787,$117788,$117789,$117790,$117791,$117792,$117793,$117794,$117795,$117796),(nextval($117797),$117798,$117799,$117800,$117801,$117802,$117803,$117804,$117805,$117806,$117807,$117808,$117809,$117810),(nextval($117811),$117812,$117813,$117814,$117815,$117816,$117817,$117818,$117819,$117820,$117821,$117822,$117823,$117824),(nextval($117825),$117826,$117827,$117828,$117829,$117830,$117831,$117832,$117833,$117834,$117835,$117836,$117837,$117838),(nextval($117839),$117840,$117841,$117842,$117843,$117844,$117845,$117846,$117847,$117848,$117849,$117850,$117851,$117852),(nextval($117853),$117854,$117855,$117856,$117857,$117858,$117859,$117860,$117861,$117862,$117863,$117864,$117865,$117866),(nextval($117867),$117868,$117869,$117870,$117871,$117872,$117873,$117874,$117875,$117876,$117877,$117878,$117879,$117880),(nextval($117881),$117882,$117883,$117884,$117885,$117886,$117887,$117888,$117889,$117890,$117891,$117892,$117893,$117894),(nextval($117895),$117896,$117897,$117898,$117899,$117900,$117901,$117902,$117903,$117904,$117905,$117906,$117907,$117908),(nextval($117909),$117910,$117911,$117912,$117913,$117914,$117915,$117916,$117917,$117918,$117919,$117920,$117921,$117922),(nextval($117923),$117924,$117925,$117926,$117927,$117928,$117929,$117930,$117931,$117932,$117933,$117934,$117935,$117936),(nextval($117937),$117938,$117939,$117940,$117941,$117942,$117943,$117944,$117945,$117946,$117947,$117948,$117949,$117950),(nextval($117951),$117952,$117953,$117954,$117955,$117956,$117957,$117958,$117959,$117960,$117961,$117962,$117963,$117964),(nextval($117965),$117966,$117967,$117968,$117969,$117970,$117971,$117972,$117973,$117974,$117975,$117976,$117977,$117978),(nextval($117979),$117980,$117981,$117982,$117983,$117984,$117985,$117986,$117987,$117988,$117989,$117990,$117991,$117992),(nextval($117993),$117994,$117995,$117996,$117997,$117998,$117999,$118000,$118001,$118002,$118003,$118004,$118005,$118006),(nextval($118007),$118008,$118009,$118010,$118011,$118012,$118013,$118014,$118015,$118016,$118017,$118018,$118019,$118020),(nextval($118021),$118022,$118023,$118024,$118025,$118026,$118027,$118028,$118029,$118030,$118031,$118032,$118033,$118034),(nextval($118035),$118036,$118037,$118038,$118039,$118040,$118041,$118042,$118043,$118044,$118045,$118046,$118047,$118048),(nextval($118049),$118050,$118051,$118052,$118053,$118054,$118055,$118056,$118057,$118058,$118059,$118060,$118061,$118062),(nextval($118063),$118064,$118065,$118066,$118067,$118068,$118069,$118070,$118071,$118072,$118073,$118074,$118075,$118076),(nextval($118077),$118078,$118079,$118080,$118081,$118082,$118083,$118084,$118085,$118086,$118087,$118088,$118089,$118090),(nextval($118091),$118092,$118093,$118094,$118095,$118096,$118097,$118098,$118099,$118100,$118101,$118102,$118103,$118104),(nextval($118105),$118106,$118107,$118108,$118109,$118110,$118111,$118112,$118113,$118114,$118115,$118116,$118117,$118118),(nextval($118119),$118120,$118121,$118122,$118123,$118124,$118125,$118126,$118127,$118128,$118129,$118130,$118131,$118132),(nextval($118133),$118134,$118135,$118136,$118137,$118138,$118139,$118140,$118141,$118142,$118143,$118144,$118145,$118146),(nextval($118147),$118148,$118149,$118150,$118151,$118152,$118153,$118154,$118155,$118156,$118157,$118158,$118159,$118160),(nextval($118161),$118162,$118163,$118164,$118165,$118166,$118167,$118168,$118169,$118170,$118171,$118172,$118173,$118174),(nextval($118175),$118176,$118177,$118178,$118179,$118180,$118181,$118182,$118183,$118184,$118185,$118186,$118187,$118188),(nextval($118189),$118190,$118191,$118192,$118193,$118194,$118195,$118196,$118197,$118198,$118199,$118200,$118201,$118202),(nextval($118203),$118204,$118205,$118206,$118207,$118208,$118209,$118210,$118211,$118212,$118213,$118214,$118215,$118216),(nextval($118217),$118218,$118219,$118220,$118221,$118222,$118223,$118224,$118225,$118226,$118227,$118228,$118229,$118230),(nextval($118231),$118232,$118233,$118234,$118235,$118236,$118237,$118238,$118239,$118240,$118241,$118242,$118243,$118244),(nextval($118245),$118246,$118247,$118248,$118249,$118250,$118251,$118252,$118253,$118254,$118255,$118256,$118257,$118258),(nextval($118259),$118260,$118261,$118262,$118263,$118264,$118265,$118266,$118267,$118268,$118269,$118270,$118271,$118272),(nextval($118273),$118274,$118275,$118276,$118277,$118278,$118279,$118280,$118281,$118282,$118283,$118284,$118285,$118286),(nextval($118287),$118288,$118289,$118290,$118291,$118292,$118293,$118294,$118295,$118296,$118297,$118298,$118299,$118300),(nextval($118301),$118302,$118303,$118304,$118305,$118306,$118307,$118308,$118309,$118310,$118311,$118312,$118313,$118314),(nextval($118315),$118316,$118317,$118318,$118319,$118320,$118321,$118322,$118323,$118324,$118325,$118326,$118327,$118328),(nextval($118329),$118330,$118331,$118332,$118333,$118334,$118335,$118336,$118337,$118338,$118339,$118340,$118341,$118342),(nextval($118343),$118344,$118345,$118346,$118347,$118348,$118349,$118350,$118351,$118352,$118353,$118354,$118355,$118356),(nextval($118357),$118358,$118359,$118360,$118361,$118362,$118363,$118364,$118365,$118366,$118367,$118368,$118369,$118370),(nextval($118371),$118372,$118373,$118374,$118375,$118376,$118377,$118378,$118379,$118380,$118381,$118382,$118383,$118384),(nextval($118385),$118386,$118387,$118388,$118389,$118390,$118391,$118392,$118393,$118394,$118395,$118396,$118397,$118398),(nextval($118399),$118400,$118401,$118402,$118403,$118404,$118405,$118406,$118407,$118408,$118409,$118410,$118411,$118412),(nextval($118413),$118414,$118415,$118416,$118417,$118418,$118419,$118420,$118421,$118422,$118423,$118424,$118425,$118426),(nextval($118427),$118428,$118429,$118430,$118431,$118432,$118433,$118434,$118435,$118436,$118437,$118438,$118439,$118440),(nextval($118441),$118442,$118443,$118444,$118445,$118446,$118447,$118448,$118449,$118450,$118451,$118452,$118453,$118454),(nextval($118455),$118456,$118457,$118458,$118459,$118460,$118461,$118462,$118463,$118464,$118465,$118466,$118467,$118468),(nextval($118469),$118470,$118471,$118472,$118473,$118474,$118475,$118476,$118477,$118478,$118479,$118480,$118481,$118482),(nextval($118483),$118484,$118485,$118486,$118487,$118488,$118489,$118490,$118491,$118492,$118493,$118494,$118495,$118496),(nextval($118497),$118498,$118499,$118500,$118501,$118502,$118503,$118504,$118505,$118506,$118507,$118508,$118509,$118510),(nextval($118511),$118512,$118513,$118514,$118515,$118516,$118517,$118518,$118519,$118520,$118521,$118522,$118523,$118524),(nextval($118525),$118526,$118527,$118528,$118529,$118530,$118531,$118532,$118533,$118534,$118535,$118536,$118537,$118538),(nextval($118539),$118540,$118541,$118542,$118543,$118544,$118545,$118546,$118547,$118548,$118549,$118550,$118551,$118552),(nextval($118553),$118554,$118555,$118556,$118557,$118558,$118559,$118560,$118561,$118562,$118563,$118564,$118565,$118566),(nextval($118567),$118568,$118569,$118570,$118571,$118572,$118573,$118574,$118575,$118576,$118577,$118578,$118579,$118580),(nextval($118581),$118582,$118583,$118584,$118585,$118586,$118587,$118588,$118589,$118590,$118591,$118592,$118593,$118594),(nextval($118595),$118596,$118597,$118598,$118599,$118600,$118601,$118602,$118603,$118604,$118605,$118606,$118607,$118608),(nextval($118609),$118610,$118611,$118612,$118613,$118614,$118615,$118616,$118617,$118618,$118619,$118620,$118621,$118622),(nextval($118623),$118624,$118625,$118626,$118627,$118628,$118629,$118630,$118631,$118632,$118633,$118634,$118635,$118636),(nextval($118637),$118638,$118639,$118640,$118641,$118642,$118643,$118644,$118645,$118646,$118647,$118648,$118649,$118650),(nextval($118651),$118652,$118653,$118654,$118655,$118656,$118657,$118658,$118659,$118660,$118661,$118662,$118663,$118664),(nextval($118665),$118666,$118667,$118668,$118669,$118670,$118671,$118672,$118673,$118674,$118675,$118676,$118677,$118678),(nextval($118679),$118680,$118681,$118682,$118683,$118684,$118685,$118686,$118687,$118688,$118689,$118690,$118691,$118692),(nextval($118693),$118694,$118695,$118696,$118697,$118698,$118699,$118700,$118701,$118702,$118703,$118704,$118705,$118706),(nextval($118707),$118708,$118709,$118710,$118711,$118712,$118713,$118714,$118715,$118716,$118717,$118718,$118719,$118720),(nextval($118721),$118722,$118723,$118724,$118725,$118726,$118727,$118728,$118729,$118730,$118731,$118732,$118733,$118734),(nextval($118735),$118736,$118737,$118738,$118739,$118740,$118741,$118742,$118743,$118744,$118745,$118746,$118747,$118748),(nextval($118749),$118750,$118751,$118752,$118753,$118754,$118755,$118756,$118757,$118758,$118759,$118760,$118761,$118762),(nextval($118763),$118764,$118765,$118766,$118767,$118768,$118769,$118770,$118771,$118772,$118773,$118774,$118775,$118776),(nextval($118777),$118778,$118779,$118780,$118781,$118782,$118783,$118784,$118785,$118786,$118787,$118788,$118789,$118790),(nextval($118791),$118792,$118793,$118794,$118795,$118796,$118797,$118798,$118799,$118800,$118801,$118802,$118803,$118804),(nextval($118805),$118806,$118807,$118808,$118809,$118810,$118811,$118812,$118813,$118814,$118815,$118816,$118817,$118818),(nextval($118819),$118820,$118821,$118822,$118823,$118824,$118825,$118826,$118827,$118828,$118829,$118830,$118831,$118832),(nextval($118833),$118834,$118835,$118836,$118837,$118838,$118839,$118840,$118841,$118842,$118843,$118844,$118845,$118846),(nextval($118847),$118848,$118849,$118850,$118851,$118852,$118853,$118854,$118855,$118856,$118857,$118858,$118859,$118860),(nextval($118861),$118862,$118863,$118864,$118865,$118866,$118867,$118868,$118869,$118870,$118871,$118872,$118873,$118874),(nextval($118875),$118876,$118877,$118878,$118879,$118880,$118881,$118882,$118883,$118884,$118885,$118886,$118887,$118888),(nextval($118889),$118890,$118891,$118892,$118893,$118894,$118895,$118896,$118897,$118898,$118899,$118900,$118901,$118902),(nextval($118903),$118904,$118905,$118906,$118907,$118908,$118909,$118910,$118911,$118912,$118913,$118914,$118915,$118916),(nextval($118917),$118918,$118919,$118920,$118921,$118922,$118923,$118924,$118925,$118926,$118927,$118928,$118929,$118930),(nextval($118931),$118932,$118933,$118934,$118935,$118936,$118937,$118938,$118939,$118940,$118941,$118942,$118943,$118944),(nextval($118945),$118946,$118947,$118948,$118949,$118950,$118951,$118952,$118953,$118954,$118955,$118956,$118957,$118958),(nextval($118959),$118960,$118961,$118962,$118963,$118964,$118965,$118966,$118967,$118968,$118969,$118970,$118971,$118972),(nextval($118973),$118974,$118975,$118976,$118977,$118978,$118979,$118980,$118981,$118982,$118983,$118984,$118985,$118986),(nextval($118987),$118988,$118989,$118990,$118991,$118992,$118993,$118994,$118995,$118996,$118997,$118998,$118999,$119000),(nextval($119001),$119002,$119003,$119004,$119005,$119006,$119007,$119008,$119009,$119010,$119011,$119012,$119013,$119014),(nextval($119015),$119016,$119017,$119018,$119019,$119020,$119021,$119022,$119023,$119024,$119025,$119026,$119027,$119028),(nextval($119029),$119030,$119031,$119032,$119033,$119034,$119035,$119036,$119037,$119038,$119039,$119040,$119041,$119042),(nextval($119043),$119044,$119045,$119046,$119047,$119048,$119049,$119050,$119051,$119052,$119053,$119054,$119055,$119056),(nextval($119057),$119058,$119059,$119060,$119061,$119062,$119063,$119064,$119065,$119066,$119067,$119068,$119069,$119070),(nextval($119071),$119072,$119073,$119074,$119075,$119076,$119077,$119078,$119079,$119080,$119081,$119082,$119083,$119084),(nextval($119085),$119086,$119087,$119088,$119089,$119090,$119091,$119092,$119093,$119094,$119095,$119096,$119097,$119098),(nextval($119099),$119100,$119101,$119102,$119103,$119104,$119105,$119106,$119107,$119108,$119109,$119110,$119111,$119112),(nextval($119113),$119114,$119115,$119116,$119117,$119118,$119119,$119120,$119121,$119122,$119123,$119124,$119125,$119126),(nextval($119127),$119128,$119129,$119130,$119131,$119132,$119133,$119134,$119135,$119136,$119137,$119138,$119139,$119140),(nextval($119141),$119142,$119143,$119144,$119145,$119146,$119147,$119148,$119149,$119150,$119151,$119152,$119153,$119154),(nextval($119155),$119156,$119157,$119158,$119159,$119160,$119161,$119162,$119163,$119164,$119165,$119166,$119167,$119168),(nextval($119169),$119170,$119171,$119172,$119173,$119174,$119175,$119176,$119177,$119178,$119179,$119180,$119181,$119182),(nextval($119183),$119184,$119185,$119186,$119187,$119188,$119189,$119190,$119191,$119192,$119193,$119194,$119195,$119196),(nextval($119197),$119198,$119199,$119200,$119201,$119202,$119203,$119204,$119205,$119206,$119207,$119208,$119209,$119210),(nextval($119211),$119212,$119213,$119214,$119215,$119216,$119217,$119218,$119219,$119220,$119221,$119222,$119223,$119224),(nextval($119225),$119226,$119227,$119228,$119229,$119230,$119231,$119232,$119233,$119234,$119235,$119236,$119237,$119238),(nextval($119239),$119240,$119241,$119242,$119243,$119244,$119245,$119246,$119247,$119248,$119249,$119250,$119251,$119252),(nextval($119253),$119254,$119255,$119256,$119257,$119258,$119259,$119260,$119261,$119262,$119263,$119264,$119265,$119266),(nextval($119267),$119268,$119269,$119270,$119271,$119272,$119273,$119274,$119275,$119276,$119277,$119278,$119279,$119280),(nextval($119281),$119282,$119283,$119284,$119285,$119286,$119287,$119288,$119289,$119290,$119291,$119292,$119293,$119294),(nextval($119295),$119296,$119297,$119298,$119299,$119300,$119301,$119302,$119303,$119304,$119305,$119306,$119307,$119308),(nextval($119309),$119310,$119311,$119312,$119313,$119314,$119315,$119316,$119317,$119318,$119319,$119320,$119321,$119322),(nextval($119323),$119324,$119325,$119326,$119327,$119328,$119329,$119330,$119331,$119332,$119333,$119334,$119335,$119336),(nextval($119337),$119338,$119339,$119340,$119341,$119342,$119343,$119344,$119345,$119346,$119347,$119348,$119349,$119350),(nextval($119351),$119352,$119353,$119354,$119355,$119356,$119357,$119358,$119359,$119360,$119361,$119362,$119363,$119364),(nextval($119365),$119366,$119367,$119368,$119369,$119370,$119371,$119372,$119373,$119374,$119375,$119376,$119377,$119378),(nextval($119379),$119380,$119381,$119382,$119383,$119384,$119385,$119386,$119387,$119388,$119389,$119390,$119391,$119392),(nextval($119393),$119394,$119395,$119396,$119397,$119398,$119399,$119400,$119401,$119402,$119403,$119404,$119405,$119406),(nextval($119407),$119408,$119409,$119410,$119411,$119412,$119413,$119414,$119415,$119416,$119417,$119418,$119419,$119420),(nextval($119421),$119422,$119423,$119424,$119425,$119426,$119427,$119428,$119429,$119430,$119431,$119432,$119433,$119434),(nextval($119435),$119436,$119437,$119438,$119439,$119440,$119441,$119442,$119443,$119444,$119445,$119446,$119447,$119448),(nextval($119449),$119450,$119451,$119452,$119453,$119454,$119455,$119456,$119457,$119458,$119459,$119460,$119461,$119462),(nextval($119463),$119464,$119465,$119466,$119467,$119468,$119469,$119470,$119471,$119472,$119473,$119474,$119475,$119476),(nextval($119477),$119478,$119479,$119480,$119481,$119482,$119483,$119484,$119485,$119486,$119487,$119488,$119489,$119490),(nextval($119491),$119492,$119493,$119494,$119495,$119496,$119497,$119498,$119499,$119500,$119501,$119502,$119503,$119504),(nextval($119505),$119506,$119507,$119508,$119509,$119510,$119511,$119512,$119513,$119514,$119515,$119516,$119517,$119518),(nextval($119519),$119520,$119521,$119522,$119523,$119524,$119525,$119526,$119527,$119528,$119529,$119530,$119531,$119532),(nextval($119533),$119534,$119535,$119536,$119537,$119538,$119539,$119540,$119541,$119542,$119543,$119544,$119545,$119546),(nextval($119547),$119548,$119549,$119550,$119551,$119552,$119553,$119554,$119555,$119556,$119557,$119558,$119559,$119560),(nextval($119561),$119562,$119563,$119564,$119565,$119566,$119567,$119568,$119569,$119570,$119571,$119572,$119573,$119574),(nextval($119575),$119576,$119577,$119578,$119579,$119580,$119581,$119582,$119583,$119584,$119585,$119586,$119587,$119588),(nextval($119589),$119590,$119591,$119592,$119593,$119594,$119595,$119596,$119597,$119598,$119599,$119600,$119601,$119602),(nextval($119603),$119604,$119605,$119606,$119607,$119608,$119609,$119610,$119611,$119612,$119613,$119614,$119615,$119616),(nextval($119617),$119618,$119619,$119620,$119621,$119622,$119623,$119624,$119625,$119626,$119627,$119628,$119629,$119630),(nextval($119631),$119632,$119633,$119634,$119635,$119636,$119637,$119638,$119639,$119640,$119641,$119642,$119643,$119644),(nextval($119645),$119646,$119647,$119648,$119649,$119650,$119651,$119652,$119653,$119654,$119655,$119656,$119657,$119658),(nextval($119659),$119660,$119661,$119662,$119663,$119664,$119665,$119666,$119667,$119668,$119669,$119670,$119671,$119672),(nextval($119673),$119674,$119675,$119676,$119677,$119678,$119679,$119680,$119681,$119682,$119683,$119684,$119685,$119686),(nextval($119687),$119688,$119689,$119690,$119691,$119692,$119693,$119694,$119695,$119696,$119697,$119698,$119699,$119700),(nextval($119701),$119702,$119703,$119704,$119705,$119706,$119707,$119708,$119709,$119710,$119711,$119712,$119713,$119714),(nextval($119715),$119716,$119717,$119718,$119719,$119720,$119721,$119722,$119723,$119724,$119725,$119726,$119727,$119728),(nextval($119729),$119730,$119731,$119732,$119733,$119734,$119735,$119736,$119737,$119738,$119739,$119740,$119741,$119742),(nextval($119743),$119744,$119745,$119746,$119747,$119748,$119749,$119750,$119751,$119752,$119753,$119754,$119755,$119756),(nextval($119757),$119758,$119759,$119760,$119761,$119762,$119763,$119764,$119765,$119766,$119767,$119768,$119769,$119770),(nextval($119771),$119772,$119773,$119774,$119775,$119776,$119777,$119778,$119779,$119780,$119781,$119782,$119783,$119784),(nextval($119785),$119786,$119787,$119788,$119789,$119790,$119791,$119792,$119793,$119794,$119795,$119796,$119797,$119798),(nextval($119799),$119800,$119801,$119802,$119803,$119804,$119805,$119806,$119807,$119808,$119809,$119810,$119811,$119812),(nextval($119813),$119814,$119815,$119816,$119817,$119818,$119819,$119820,$119821,$119822,$119823,$119824,$119825,$119826),(nextval($119827),$119828,$119829,$119830,$119831,$119832,$119833,$119834,$119835,$119836,$119837,$119838,$119839,$119840),(nextval($119841),$119842,$119843,$119844,$119845,$119846,$119847,$119848,$119849,$119850,$119851,$119852,$119853,$119854),(nextval($119855),$119856,$119857,$119858,$119859,$119860,$119861,$119862,$119863,$119864,$119865,$119866,$119867,$119868),(nextval($119869),$119870,$119871,$119872,$119873,$119874,$119875,$119876,$119877,$119878,$119879,$119880,$119881,$119882),(nextval($119883),$119884,$119885,$119886,$119887,$119888,$119889,$119890,$119891,$119892,$119893,$119894,$119895,$119896),(nextval($119897),$119898,$119899,$119900,$119901,$119902,$119903,$119904,$119905,$119906,$119907,$119908,$119909,$119910),(nextval($119911),$119912,$119913,$119914,$119915,$119916,$119917,$119918,$119919,$119920,$119921,$119922,$119923,$119924),(nextval($119925),$119926,$119927,$119928,$119929,$119930,$119931,$119932,$119933,$119934,$119935,$119936,$119937,$119938),(nextval($119939),$119940,$119941,$119942,$119943,$119944,$119945,$119946,$119947,$119948,$119949,$119950,$119951,$119952),(nextval($119953),$119954,$119955,$119956,$119957,$119958,$119959,$119960,$119961,$119962,$119963,$119964,$119965,$119966),(nextval($119967),$119968,$119969,$119970,$119971,$119972,$119973,$119974,$119975,$119976,$119977,$119978,$119979,$119980),(nextval($119981),$119982,$119983,$119984,$119985,$119986,$119987,$119988,$119989,$119990,$119991,$119992,$119993,$119994),(nextval($119995),$119996,$119997,$119998,$119999,$120000,$120001,$120002,$120003,$120004,$120005,$120006,$120007,$120008),(nextval($120009),$120010,$120011,$120012,$120013,$120014,$120015,$120016,$120017,$120018,$120019,$120020,$120021,$120022),(nextval($120023),$120024,$120025,$120026,$120027,$120028,$120029,$120030,$120031,$120032,$120033,$120034,$120035,$120036),(nextval($120037),$120038,$120039,$120040,$120041,$120042,$120043,$120044,$120045,$120046,$120047,$120048,$120049,$120050),(nextval($120051),$120052,$120053,$120054,$120055,$120056,$120057,$120058,$120059,$120060,$120061,$120062,$120063,$120064),(nextval($120065),$120066,$120067,$120068,$120069,$120070,$120071,$120072,$120073,$120074,$120075,$120076,$120077,$120078),(nextval($120079),$120080,$120081,$120082,$120083,$120084,$120085,$120086,$120087,$120088,$120089,$120090,$120091,$120092),(nextval($120093),$120094,$120095,$120096,$120097,$120098,$120099,$120100,$120101,$120102,$120103,$120104,$120105,$120106),(nextval($120107),$120108,$120109,$120110,$120111,$120112,$120113,$120114,$120115,$120116,$120117,$120118,$120119,$120120),(nextval($120121),$120122,$120123,$120124,$120125,$120126,$120127,$120128,$120129,$120130,$120131,$120132,$120133,$120134),(nextval($120135),$120136,$120137,$120138,$120139,$120140,$120141,$120142,$120143,$120144,$120145,$120146,$120147,$120148),(nextval($120149),$120150,$120151,$120152,$120153,$120154,$120155,$120156,$120157,$120158,$120159,$120160,$120161,$120162),(nextval($120163),$120164,$120165,$120166,$120167,$120168,$120169,$120170,$120171,$120172,$120173,$120174,$120175,$120176),(nextval($120177),$120178,$120179,$120180,$120181,$120182,$120183,$120184,$120185,$120186,$120187,$120188,$120189,$120190),(nextval($120191),$120192,$120193,$120194,$120195,$120196,$120197,$120198,$120199,$120200,$120201,$120202,$120203,$120204),(nextval($120205),$120206,$120207,$120208,$120209,$120210,$120211,$120212,$120213,$120214,$120215,$120216,$120217,$120218),(nextval($120219),$120220,$120221,$120222,$120223,$120224,$120225,$120226,$120227,$120228,$120229,$120230,$120231,$120232),(nextval($120233),$120234,$120235,$120236,$120237,$120238,$120239,$120240,$120241,$120242,$120243,$120244,$120245,$120246),(nextval($120247),$120248,$120249,$120250,$120251,$120252,$120253,$120254,$120255,$120256,$120257,$120258,$120259,$120260),(nextval($120261),$120262,$120263,$120264,$120265,$120266,$120267,$120268,$120269,$120270,$120271,$120272,$120273,$120274),(nextval($120275),$120276,$120277,$120278,$120279,$120280,$120281,$120282,$120283,$120284,$120285,$120286,$120287,$120288),(nextval($120289),$120290,$120291,$120292,$120293,$120294,$120295,$120296,$120297,$120298,$120299,$120300,$120301,$120302),(nextval($120303),$120304,$120305,$120306,$120307,$120308,$120309,$120310,$120311,$120312,$120313,$120314,$120315,$120316),(nextval($120317),$120318,$120319,$120320,$120321,$120322,$120323,$120324,$120325,$120326,$120327,$120328,$120329,$120330),(nextval($120331),$120332,$120333,$120334,$120335,$120336,$120337,$120338,$120339,$120340,$120341,$120342,$120343,$120344),(nextval($120345),$120346,$120347,$120348,$120349,$120350,$120351,$120352,$120353,$120354,$120355,$120356,$120357,$120358),(nextval($120359),$120360,$120361,$120362,$120363,$120364,$120365,$120366,$120367,$120368,$120369,$120370,$120371,$120372),(nextval($120373),$120374,$120375,$120376,$120377,$120378,$120379,$120380,$120381,$120382,$120383,$120384,$120385,$120386),(nextval($120387),$120388,$120389,$120390,$120391,$120392,$120393,$120394,$120395,$120396,$120397,$120398,$120399,$120400),(nextval($120401),$120402,$120403,$120404,$120405,$120406,$120407,$120408,$120409,$120410,$120411,$120412,$120413,$120414),(nextval($120415),$120416,$120417,$120418,$120419,$120420,$120421,$120422,$120423,$120424,$120425,$120426,$120427,$120428),(nextval($120429),$120430,$120431,$120432,$120433,$120434,$120435,$120436,$120437,$120438,$120439,$120440,$120441,$120442),(nextval($120443),$120444,$120445,$120446,$120447,$120448,$120449,$120450,$120451,$120452,$120453,$120454,$120455,$120456),(nextval($120457),$120458,$120459,$120460,$120461,$120462,$120463,$120464,$120465,$120466,$120467,$120468,$120469,$120470),(nextval($120471),$120472,$120473,$120474,$120475,$120476,$120477,$120478,$120479,$120480,$120481,$120482,$120483,$120484),(nextval($120485),$120486,$120487,$120488,$120489,$120490,$120491,$120492,$120493,$120494,$120495,$120496,$120497,$120498),(nextval($120499),$120500,$120501,$120502,$120503,$120504,$120505,$120506,$120507,$120508,$120509,$120510,$120511,$120512),(nextval($120513),$120514,$120515,$120516,$120517,$120518,$120519,$120520,$120521,$120522,$120523,$120524,$120525,$120526),(nextval($120527),$120528,$120529,$120530,$120531,$120532,$120533,$120534,$120535,$120536,$120537,$120538,$120539,$120540),(nextval($120541),$120542,$120543,$120544,$120545,$120546,$120547,$120548,$120549,$120550,$120551,$120552,$120553,$120554),(nextval($120555),$120556,$120557,$120558,$120559,$120560,$120561,$120562,$120563,$120564,$120565,$120566,$120567,$120568),(nextval($120569),$120570,$120571,$120572,$120573,$120574,$120575,$120576,$120577,$120578,$120579,$120580,$120581,$120582),(nextval($120583),$120584,$120585,$120586,$120587,$120588,$120589,$120590,$120591,$120592,$120593,$120594,$120595,$120596),(nextval($120597),$120598,$120599,$120600,$120601,$120602,$120603,$120604,$120605,$120606,$120607,$120608,$120609,$120610),(nextval($120611),$120612,$120613,$120614,$120615,$120616,$120617,$120618,$120619,$120620,$120621,$120622,$120623,$120624),(nextval($120625),$120626,$120627,$120628,$120629,$120630,$120631,$120632,$120633,$120634,$120635,$120636,$120637,$120638),(nextval($120639),$120640,$120641,$120642,$120643,$120644,$120645,$120646,$120647,$120648,$120649,$120650,$120651,$120652),(nextval($120653),$120654,$120655,$120656,$120657,$120658,$120659,$120660,$120661,$120662,$120663,$120664,$120665,$120666),(nextval($120667),$120668,$120669,$120670,$120671,$120672,$120673,$120674,$120675,$120676,$120677,$120678,$120679,$120680),(nextval($120681),$120682,$120683,$120684,$120685,$120686,$120687,$120688,$120689,$120690,$120691,$120692,$120693,$120694),(nextval($120695),$120696,$120697,$120698,$120699,$120700,$120701,$120702,$120703,$120704,$120705,$120706,$120707,$120708),(nextval($120709),$120710,$120711,$120712,$120713,$120714,$120715,$120716,$120717,$120718,$120719,$120720,$120721,$120722),(nextval($120723),$120724,$120725,$120726,$120727,$120728,$120729,$120730,$120731,$120732,$120733,$120734,$120735,$120736),(nextval($120737),$120738,$120739,$120740,$120741,$120742,$120743,$120744,$120745,$120746,$120747,$120748,$120749,$120750),(nextval($120751),$120752,$120753,$120754,$120755,$120756,$120757,$120758,$120759,$120760,$120761,$120762,$120763,$120764),(nextval($120765),$120766,$120767,$120768,$120769,$120770,$120771,$120772,$120773,$120774,$120775,$120776,$120777,$120778),(nextval($120779),$120780,$120781,$120782,$120783,$120784,$120785,$120786,$120787,$120788,$120789,$120790,$120791,$120792),(nextval($120793),$120794,$120795,$120796,$120797,$120798,$120799,$120800,$120801,$120802,$120803,$120804,$120805,$120806),(nextval($120807),$120808,$120809,$120810,$120811,$120812,$120813,$120814,$120815,$120816,$120817,$120818,$120819,$120820),(nextval($120821),$120822,$120823,$120824,$120825,$120826,$120827,$120828,$120829,$120830,$120831,$120832,$120833,$120834),(nextval($120835),$120836,$120837,$120838,$120839,$120840,$120841,$120842,$120843,$120844,$120845,$120846,$120847,$120848),(nextval($120849),$120850,$120851,$120852,$120853,$120854,$120855,$120856,$120857,$120858,$120859,$120860,$120861,$120862),(nextval($120863),$120864,$120865,$120866,$120867,$120868,$120869,$120870,$120871,$120872,$120873,$120874,$120875,$120876),(nextval($120877),$120878,$120879,$120880,$120881,$120882,$120883,$120884,$120885,$120886,$120887,$120888,$120889,$120890),(nextval($120891),$120892,$120893,$120894,$120895,$120896,$120897,$120898,$120899,$120900,$120901,$120902,$120903,$120904),(nextval($120905),$120906,$120907,$120908,$120909,$120910,$120911,$120912,$120913,$120914,$120915,$120916,$120917,$120918),(nextval($120919),$120920,$120921,$120922,$120923,$120924,$120925,$120926,$120927,$120928,$120929,$120930,$120931,$120932),(nextval($120933),$120934,$120935,$120936,$120937,$120938,$120939,$120940,$120941,$120942,$120943,$120944,$120945,$120946),(nextval($120947),$120948,$120949,$120950,$120951,$120952,$120953,$120954,$120955,$120956,$120957,$120958,$120959,$120960),(nextval($120961),$120962,$120963,$120964,$120965,$120966,$120967,$120968,$120969,$120970,$120971,$120972,$120973,$120974),(nextval($120975),$120976,$120977,$120978,$120979,$120980,$120981,$120982,$120983,$120984,$120985,$120986,$120987,$120988),(nextval($120989),$120990,$120991,$120992,$120993,$120994,$120995,$120996,$120997,$120998,$120999,$121000,$121001,$121002),(nextval($121003),$121004,$121005,$121006,$121007,$121008,$121009,$121010,$121011,$121012,$121013,$121014,$121015,$121016),(nextval($121017),$121018,$121019,$121020,$121021,$121022,$121023,$121024,$121025,$121026,$121027,$121028,$121029,$121030),(nextval($121031),$121032,$121033,$121034,$121035,$121036,$121037,$121038,$121039,$121040,$121041,$121042,$121043,$121044),(nextval($121045),$121046,$121047,$121048,$121049,$121050,$121051,$121052,$121053,$121054,$121055,$121056,$121057,$121058),(nextval($121059),$121060,$121061,$121062,$121063,$121064,$121065,$121066,$121067,$121068,$121069,$121070,$121071,$121072),(nextval($121073),$121074,$121075,$121076,$121077,$121078,$121079,$121080,$121081,$121082,$121083,$121084,$121085,$121086),(nextval($121087),$121088,$121089,$121090,$121091,$121092,$121093,$121094,$121095,$121096,$121097,$121098,$121099,$121100),(nextval($121101),$121102,$121103,$121104,$121105,$121106,$121107,$121108,$121109,$121110,$121111,$121112,$121113,$121114),(nextval($121115),$121116,$121117,$121118,$121119,$121120,$121121,$121122,$121123,$121124,$121125,$121126,$121127,$121128),(nextval($121129),$121130,$121131,$121132,$121133,$121134,$121135,$121136,$121137,$121138,$121139,$121140,$121141,$121142),(nextval($121143),$121144,$121145,$121146,$121147,$121148,$121149,$121150,$121151,$121152,$121153,$121154,$121155,$121156),(nextval($121157),$121158,$121159,$121160,$121161,$121162,$121163,$121164,$121165,$121166,$121167,$121168,$121169,$121170),(nextval($121171),$121172,$121173,$121174,$121175,$121176,$121177,$121178,$121179,$121180,$121181,$121182,$121183,$121184),(nextval($121185),$121186,$121187,$121188,$121189,$121190,$121191,$121192,$121193,$121194,$121195,$121196,$121197,$121198),(nextval($121199),$121200,$121201,$121202,$121203,$121204,$121205,$121206,$121207,$121208,$121209,$121210,$121211,$121212),(nextval($121213),$121214,$121215,$121216,$121217,$121218,$121219,$121220,$121221,$121222,$121223,$121224,$121225,$121226),(nextval($121227),$121228,$121229,$121230,$121231,$121232,$121233,$121234,$121235,$121236,$121237,$121238,$121239,$121240),(nextval($121241),$121242,$121243,$121244,$121245,$121246,$121247,$121248,$121249,$121250,$121251,$121252,$121253,$121254),(nextval($121255),$121256,$121257,$121258,$121259,$121260,$121261,$121262,$121263,$121264,$121265,$121266,$121267,$121268),(nextval($121269),$121270,$121271,$121272,$121273,$121274,$121275,$121276,$121277,$121278,$121279,$121280,$121281,$121282),(nextval($121283),$121284,$121285,$121286,$121287,$121288,$121289,$121290,$121291,$121292,$121293,$121294,$121295,$121296),(nextval($121297),$121298,$121299,$121300,$121301,$121302,$121303,$121304,$121305,$121306,$121307,$121308,$121309,$121310),(nextval($121311),$121312,$121313,$121314,$121315,$121316,$121317,$121318,$121319,$121320,$121321,$121322,$121323,$121324),(nextval($121325),$121326,$121327,$121328,$121329,$121330,$121331,$121332,$121333,$121334,$121335,$121336,$121337,$121338),(nextval($121339),$121340,$121341,$121342,$121343,$121344,$121345,$121346,$121347,$121348,$121349,$121350,$121351,$121352),(nextval($121353),$121354,$121355,$121356,$121357,$121358,$121359,$121360,$121361,$121362,$121363,$121364,$121365,$121366),(nextval($121367),$121368,$121369,$121370,$121371,$121372,$121373,$121374,$121375,$121376,$121377,$121378,$121379,$121380),(nextval($121381),$121382,$121383,$121384,$121385,$121386,$121387,$121388,$121389,$121390,$121391,$121392,$121393,$121394),(nextval($121395),$121396,$121397,$121398,$121399,$121400,$121401,$121402,$121403,$121404,$121405,$121406,$121407,$121408),(nextval($121409),$121410,$121411,$121412,$121413,$121414,$121415,$121416,$121417,$121418,$121419,$121420,$121421,$121422),(nextval($121423),$121424,$121425,$121426,$121427,$121428,$121429,$121430,$121431,$121432,$121433,$121434,$121435,$121436),(nextval($121437),$121438,$121439,$121440,$121441,$121442,$121443,$121444,$121445,$121446,$121447,$121448,$121449,$121450),(nextval($121451),$121452,$121453,$121454,$121455,$121456,$121457,$121458,$121459,$121460,$121461,$121462,$121463,$121464),(nextval($121465),$121466,$121467,$121468,$121469,$121470,$121471,$121472,$121473,$121474,$121475,$121476,$121477,$121478),(nextval($121479),$121480,$121481,$121482,$121483,$121484,$121485,$121486,$121487,$121488,$121489,$121490,$121491,$121492),(nextval($121493),$121494,$121495,$121496,$121497,$121498,$121499,$121500,$121501,$121502,$121503,$121504,$121505,$121506),(nextval($121507),$121508,$121509,$121510,$121511,$121512,$121513,$121514,$121515,$121516,$121517,$121518,$121519,$121520),(nextval($121521),$121522,$121523,$121524,$121525,$121526,$121527,$121528,$121529,$121530,$121531,$121532,$121533,$121534),(nextval($121535),$121536,$121537,$121538,$121539,$121540,$121541,$121542,$121543,$121544,$121545,$121546,$121547,$121548),(nextval($121549),$121550,$121551,$121552,$121553,$121554,$121555,$121556,$121557,$121558,$121559,$121560,$121561,$121562),(nextval($121563),$121564,$121565,$121566,$121567,$121568,$121569,$121570,$121571,$121572,$121573,$121574,$121575,$121576),(nextval($121577),$121578,$121579,$121580,$121581,$121582,$121583,$121584,$121585,$121586,$121587,$121588,$121589,$121590),(nextval($121591),$121592,$121593,$121594,$121595,$121596,$121597,$121598,$121599,$121600,$121601,$121602,$121603,$121604),(nextval($121605),$121606,$121607,$121608,$121609,$121610,$121611,$121612,$121613,$121614,$121615,$121616,$121617,$121618),(nextval($121619),$121620,$121621,$121622,$121623,$121624,$121625,$121626,$121627,$121628,$121629,$121630,$121631,$121632),(nextval($121633),$121634,$121635,$121636,$121637,$121638,$121639,$121640,$121641,$121642,$121643,$121644,$121645,$121646),(nextval($121647),$121648,$121649,$121650,$121651,$121652,$121653,$121654,$121655,$121656,$121657,$121658,$121659,$121660),(nextval($121661),$121662,$121663,$121664,$121665,$121666,$121667,$121668,$121669,$121670,$121671,$121672,$121673,$121674),(nextval($121675),$121676,$121677,$121678,$121679,$121680,$121681,$121682,$121683,$121684,$121685,$121686,$121687,$121688),(nextval($121689),$121690,$121691,$121692,$121693,$121694,$121695,$121696,$121697,$121698,$121699,$121700,$121701,$121702),(nextval($121703),$121704,$121705,$121706,$121707,$121708,$121709,$121710,$121711,$121712,$121713,$121714,$121715,$121716),(nextval($121717),$121718,$121719,$121720,$121721,$121722,$121723,$121724,$121725,$121726,$121727,$121728,$121729,$121730),(nextval($121731),$121732,$121733,$121734,$121735,$121736,$121737,$121738,$121739,$121740,$121741,$121742,$121743,$121744),(nextval($121745),$121746,$121747,$121748,$121749,$121750,$121751,$121752,$121753,$121754,$121755,$121756,$121757,$121758),(nextval($121759),$121760,$121761,$121762,$121763,$121764,$121765,$121766,$121767,$121768,$121769,$121770,$121771,$121772),(nextval($121773),$121774,$121775,$121776,$121777,$121778,$121779,$121780,$121781,$121782,$121783,$121784,$121785,$121786),(nextval($121787),$121788,$121789,$121790,$121791,$121792,$121793,$121794,$121795,$121796,$121797,$121798,$121799,$121800),(nextval($121801),$121802,$121803,$121804,$121805,$121806,$121807,$121808,$121809,$121810,$121811,$121812,$121813,$121814),(nextval($121815),$121816,$121817,$121818,$121819,$121820,$121821,$121822,$121823,$121824,$121825,$121826,$121827,$121828),(nextval($121829),$121830,$121831,$121832,$121833,$121834,$121835,$121836,$121837,$121838,$121839,$121840,$121841,$121842),(nextval($121843),$121844,$121845,$121846,$121847,$121848,$121849,$121850,$121851,$121852,$121853,$121854,$121855,$121856),(nextval($121857),$121858,$121859,$121860,$121861,$121862,$121863,$121864,$121865,$121866,$121867,$121868,$121869,$121870),(nextval($121871),$121872,$121873,$121874,$121875,$121876,$121877,$121878,$121879,$121880,$121881,$121882,$121883,$121884),(nextval($121885),$121886,$121887,$121888,$121889,$121890,$121891,$121892,$121893,$121894,$121895,$121896,$121897,$121898),(nextval($121899),$121900,$121901,$121902,$121903,$121904,$121905,$121906,$121907,$121908,$121909,$121910,$121911,$121912),(nextval($121913),$121914,$121915,$121916,$121917,$121918,$121919,$121920,$121921,$121922,$121923,$121924,$121925,$121926),(nextval($121927),$121928,$121929,$121930,$121931,$121932,$121933,$121934,$121935,$121936,$121937,$121938,$121939,$121940),(nextval($121941),$121942,$121943,$121944,$121945,$121946,$121947,$121948,$121949,$121950,$121951,$121952,$121953,$121954),(nextval($121955),$121956,$121957,$121958,$121959,$121960,$121961,$121962,$121963,$121964,$121965,$121966,$121967,$121968),(nextval($121969),$121970,$121971,$121972,$121973,$121974,$121975,$121976,$121977,$121978,$121979,$121980,$121981,$121982),(nextval($121983),$121984,$121985,$121986,$121987,$121988,$121989,$121990,$121991,$121992,$121993,$121994,$121995,$121996),(nextval($121997),$121998,$121999,$122000,$122001,$122002,$122003,$122004,$122005,$122006,$122007,$122008,$122009,$122010),(nextval($122011),$122012,$122013,$122014,$122015,$122016,$122017,$122018,$122019,$122020,$122021,$122022,$122023,$122024),(nextval($122025),$122026,$122027,$122028,$122029,$122030,$122031,$122032,$122033,$122034,$122035,$122036,$122037,$122038),(nextval($122039),$122040,$122041,$122042,$122043,$122044,$122045,$122046,$122047,$122048,$122049,$122050,$122051,$122052),(nextval($122053),$122054,$122055,$122056,$122057,$122058,$122059,$122060,$122061,$122062,$122063,$122064,$122065,$122066),(nextval($122067),$122068,$122069,$122070,$122071,$122072,$122073,$122074,$122075,$122076,$122077,$122078,$122079,$122080),(nextval($122081),$122082,$122083,$122084,$122085,$122086,$122087,$122088,$122089,$122090,$122091,$122092,$122093,$122094),(nextval($122095),$122096,$122097,$122098,$122099,$122100,$122101,$122102,$122103,$122104,$122105,$122106,$122107,$122108),(nextval($122109),$122110,$122111,$122112,$122113,$122114,$122115,$122116,$122117,$122118,$122119,$122120,$122121,$122122),(nextval($122123),$122124,$122125,$122126,$122127,$122128,$122129,$122130,$122131,$122132,$122133,$122134,$122135,$122136),(nextval($122137),$122138,$122139,$122140,$122141,$122142,$122143,$122144,$122145,$122146,$122147,$122148,$122149,$122150),(nextval($122151),$122152,$122153,$122154,$122155,$122156,$122157,$122158,$122159,$122160,$122161,$122162,$122163,$122164),(nextval($122165),$122166,$122167,$122168,$122169,$122170,$122171,$122172,$122173,$122174,$122175,$122176,$122177,$122178),(nextval($122179),$122180,$122181,$122182,$122183,$122184,$122185,$122186,$122187,$122188,$122189,$122190,$122191,$122192),(nextval($122193),$122194,$122195,$122196,$122197,$122198,$122199,$122200,$122201,$122202,$122203,$122204,$122205,$122206),(nextval($122207),$122208,$122209,$122210,$122211,$122212,$122213,$122214,$122215,$122216,$122217,$122218,$122219,$122220),(nextval($122221),$122222,$122223,$122224,$122225,$122226,$122227,$122228,$122229,$122230,$122231,$122232,$122233,$122234),(nextval($122235),$122236,$122237,$122238,$122239,$122240,$122241,$122242,$122243,$122244,$122245,$122246,$122247,$122248),(nextval($122249),$122250,$122251,$122252,$122253,$122254,$122255,$122256,$122257,$122258,$122259,$122260,$122261,$122262),(nextval($122263),$122264,$122265,$122266,$122267,$122268,$122269,$122270,$122271,$122272,$122273,$122274,$122275,$122276),(nextval($122277),$122278,$122279,$122280,$122281,$122282,$122283,$122284,$122285,$122286,$122287,$122288,$122289,$122290),(nextval($122291),$122292,$122293,$122294,$122295,$122296,$122297,$122298,$122299,$122300,$122301,$122302,$122303,$122304),(nextval($122305),$122306,$122307,$122308,$122309,$122310,$122311,$122312,$122313,$122314,$122315,$122316,$122317,$122318),(nextval($122319),$122320,$122321,$122322,$122323,$122324,$122325,$122326,$122327,$122328,$122329,$122330,$122331,$122332),(nextval($122333),$122334,$122335,$122336,$122337,$122338,$122339,$122340,$122341,$122342,$122343,$122344,$122345,$122346),(nextval($122347),$122348,$122349,$122350,$122351,$122352,$122353,$122354,$122355,$122356,$122357,$122358,$122359,$122360),(nextval($122361),$122362,$122363,$122364,$122365,$122366,$122367,$122368,$122369,$122370,$122371,$122372,$122373,$122374),(nextval($122375),$122376,$122377,$122378,$122379,$122380,$122381,$122382,$122383,$122384,$122385,$122386,$122387,$122388),(nextval($122389),$122390,$122391,$122392,$122393,$122394,$122395,$122396,$122397,$122398,$122399,$122400,$122401,$122402),(nextval($122403),$122404,$122405,$122406,$122407,$122408,$122409,$122410,$122411,$122412,$122413,$122414,$122415,$122416),(nextval($122417),$122418,$122419,$122420,$122421,$122422,$122423,$122424,$122425,$122426,$122427,$122428,$122429,$122430),(nextval($122431),$122432,$122433,$122434,$122435,$122436,$122437,$122438,$122439,$122440,$122441,$122442,$122443,$122444),(nextval($122445),$122446,$122447,$122448,$122449,$122450,$122451,$122452,$122453,$122454,$122455,$122456,$122457,$122458),(nextval($122459),$122460,$122461,$122462,$122463,$122464,$122465,$122466,$122467,$122468,$122469,$122470,$122471,$122472),(nextval($122473),$122474,$122475,$122476,$122477,$122478,$122479,$122480,$122481,$122482,$122483,$122484,$122485,$122486),(nextval($122487),$122488,$122489,$122490,$122491,$122492,$122493,$122494,$122495,$122496,$122497,$122498,$122499,$122500),(nextval($122501),$122502,$122503,$122504,$122505,$122506,$122507,$122508,$122509,$122510,$122511,$122512,$122513,$122514),(nextval($122515),$122516,$122517,$122518,$122519,$122520,$122521,$122522,$122523,$122524,$122525,$122526,$122527,$122528),(nextval($122529),$122530,$122531,$122532,$122533,$122534,$122535,$122536,$122537,$122538,$122539,$122540,$122541,$122542),(nextval($122543),$122544,$122545,$122546,$122547,$122548,$122549,$122550,$122551,$122552,$122553,$122554,$122555,$122556),(nextval($122557),$122558,$122559,$122560,$122561,$122562,$122563,$122564,$122565,$122566,$122567,$122568,$122569,$122570),(nextval($122571),$122572,$122573,$122574,$122575,$122576,$122577,$122578,$122579,$122580,$122581,$122582,$122583,$122584),(nextval($122585),$122586,$122587,$122588,$122589,$122590,$122591,$122592,$122593,$122594,$122595,$122596,$122597,$122598),(nextval($122599),$122600,$122601,$122602,$122603,$122604,$122605,$122606,$122607,$122608,$122609,$122610,$122611,$122612),(nextval($122613),$122614,$122615,$122616,$122617,$122618,$122619,$122620,$122621,$122622,$122623,$122624,$122625,$122626),(nextval($122627),$122628,$122629,$122630,$122631,$122632,$122633,$122634,$122635,$122636,$122637,$122638,$122639,$122640),(nextval($122641),$122642,$122643,$122644,$122645,$122646,$122647,$122648,$122649,$122650,$122651,$122652,$122653,$122654),(nextval($122655),$122656,$122657,$122658,$122659,$122660,$122661,$122662,$122663,$122664,$122665,$122666,$122667,$122668),(nextval($122669),$122670,$122671,$122672,$122673,$122674,$122675,$122676,$122677,$122678,$122679,$122680,$122681,$122682),(nextval($122683),$122684,$122685,$122686,$122687,$122688,$122689,$122690,$122691,$122692,$122693,$122694,$122695,$122696),(nextval($122697),$122698,$122699,$122700,$122701,$122702,$122703,$122704,$122705,$122706,$122707,$122708,$122709,$122710),(nextval($122711),$122712,$122713,$122714,$122715,$122716,$122717,$122718,$122719,$122720,$122721,$122722,$122723,$122724),(nextval($122725),$122726,$122727,$122728,$122729,$122730,$122731,$122732,$122733,$122734,$122735,$122736,$122737,$122738),(nextval($122739),$122740,$122741,$122742,$122743,$122744,$122745,$122746,$122747,$122748,$122749,$122750,$122751,$122752),(nextval($122753),$122754,$122755,$122756,$122757,$122758,$122759,$122760,$122761,$122762,$122763,$122764,$122765,$122766),(nextval($122767),$122768,$122769,$122770,$122771,$122772,$122773,$122774,$122775,$122776,$122777,$122778,$122779,$122780),(nextval($122781),$122782,$122783,$122784,$122785,$122786,$122787,$122788,$122789,$122790,$122791,$122792,$122793,$122794),(nextval($122795),$122796,$122797,$122798,$122799,$122800,$122801,$122802,$122803,$122804,$122805,$122806,$122807,$122808),(nextval($122809),$122810,$122811,$122812,$122813,$122814,$122815,$122816,$122817,$122818,$122819,$122820,$122821,$122822),(nextval($122823),$122824,$122825,$122826,$122827,$122828,$122829,$122830,$122831,$122832,$122833,$122834,$122835,$122836),(nextval($122837),$122838,$122839,$122840,$122841,$122842,$122843,$122844,$122845,$122846,$122847,$122848,$122849,$122850),(nextval($122851),$122852,$122853,$122854,$122855,$122856,$122857,$122858,$122859,$122860,$122861,$122862,$122863,$122864),(nextval($122865),$122866,$122867,$122868,$122869,$122870,$122871,$122872,$122873,$122874,$122875,$122876,$122877,$122878),(nextval($122879),$122880,$122881,$122882,$122883,$122884,$122885,$122886,$122887,$122888,$122889,$122890,$122891,$122892),(nextval($122893),$122894,$122895,$122896,$122897,$122898,$122899,$122900,$122901,$122902,$122903,$122904,$122905,$122906),(nextval($122907),$122908,$122909,$122910,$122911,$122912,$122913,$122914,$122915,$122916,$122917,$122918,$122919,$122920),(nextval($122921),$122922,$122923,$122924,$122925,$122926,$122927,$122928,$122929,$122930,$122931,$122932,$122933,$122934),(nextval($122935),$122936,$122937,$122938,$122939,$122940,$122941,$122942,$122943,$122944,$122945,$122946,$122947,$122948),(nextval($122949),$122950,$122951,$122952,$122953,$122954,$122955,$122956,$122957,$122958,$122959,$122960,$122961,$122962),(nextval($122963),$122964,$122965,$122966,$122967,$122968,$122969,$122970,$122971,$122972,$122973,$122974,$122975,$122976),(nextval($122977),$122978,$122979,$122980,$122981,$122982,$122983,$122984,$122985,$122986,$122987,$122988,$122989,$122990),(nextval($122991),$122992,$122993,$122994,$122995,$122996,$122997,$122998,$122999,$123000,$123001,$123002,$123003,$123004),(nextval($123005),$123006,$123007,$123008,$123009,$123010,$123011,$123012,$123013,$123014,$123015,$123016,$123017,$123018),(nextval($123019),$123020,$123021,$123022,$123023,$123024,$123025,$123026,$123027,$123028,$123029,$123030,$123031,$123032),(nextval($123033),$123034,$123035,$123036,$123037,$123038,$123039,$123040,$123041,$123042,$123043,$123044,$123045,$123046),(nextval($123047),$123048,$123049,$123050,$123051,$123052,$123053,$123054,$123055,$123056,$123057,$123058,$123059,$123060),(nextval($123061),$123062,$123063,$123064,$123065,$123066,$123067,$123068,$123069,$123070,$123071,$123072,$123073,$123074),(nextval($123075),$123076,$123077,$123078,$123079,$123080,$123081,$123082,$123083,$123084,$123085,$123086,$123087,$123088),(nextval($123089),$123090,$123091,$123092,$123093,$123094,$123095,$123096,$123097,$123098,$123099,$123100,$123101,$123102),(nextval($123103),$123104,$123105,$123106,$123107,$123108,$123109,$123110,$123111,$123112,$123113,$123114,$123115,$123116),(nextval($123117),$123118,$123119,$123120,$123121,$123122,$123123,$123124,$123125,$123126,$123127,$123128,$123129,$123130),(nextval($123131),$123132,$123133,$123134,$123135,$123136,$123137,$123138,$123139,$123140,$123141,$123142,$123143,$123144),(nextval($123145),$123146,$123147,$123148,$123149,$123150,$123151,$123152,$123153,$123154,$123155,$123156,$123157,$123158),(nextval($123159),$123160,$123161,$123162,$123163,$123164,$123165,$123166,$123167,$123168,$123169,$123170,$123171,$123172),(nextval($123173),$123174,$123175,$123176,$123177,$123178,$123179,$123180,$123181,$123182,$123183,$123184,$123185,$123186),(nextval($123187),$123188,$123189,$123190,$123191,$123192,$123193,$123194,$123195,$123196,$123197,$123198,$123199,$123200),(nextval($123201),$123202,$123203,$123204,$123205,$123206,$123207,$123208,$123209,$123210,$123211,$123212,$123213,$123214),(nextval($123215),$123216,$123217,$123218,$123219,$123220,$123221,$123222,$123223,$123224,$123225,$123226,$123227,$123228),(nextval($123229),$123230,$123231,$123232,$123233,$123234,$123235,$123236,$123237,$123238,$123239,$123240,$123241,$123242),(nextval($123243),$123244,$123245,$123246,$123247,$123248,$123249,$123250,$123251,$123252,$123253,$123254,$123255,$123256),(nextval($123257),$123258,$123259,$123260,$123261,$123262,$123263,$123264,$123265,$123266,$123267,$123268,$123269,$123270),(nextval($123271),$123272,$123273,$123274,$123275,$123276,$123277,$123278,$123279,$123280,$123281,$123282,$123283,$123284),(nextval($123285),$123286,$123287,$123288,$123289,$123290,$123291,$123292,$123293,$123294,$123295,$123296,$123297,$123298),(nextval($123299),$123300,$123301,$123302,$123303,$123304,$123305,$123306,$123307,$123308,$123309,$123310,$123311,$123312),(nextval($123313),$123314,$123315,$123316,$123317,$123318,$123319,$123320,$123321,$123322,$123323,$123324,$123325,$123326),(nextval($123327),$123328,$123329,$123330,$123331,$123332,$123333,$123334,$123335,$123336,$123337,$123338,$123339,$123340),(nextval($123341),$123342,$123343,$123344,$123345,$123346,$123347,$123348,$123349,$123350,$123351,$123352,$123353,$123354),(nextval($123355),$123356,$123357,$123358,$123359,$123360,$123361,$123362,$123363,$123364,$123365,$123366,$123367,$123368),(nextval($123369),$123370,$123371,$123372,$123373,$123374,$123375,$123376,$123377,$123378,$123379,$123380,$123381,$123382),(nextval($123383),$123384,$123385,$123386,$123387,$123388,$123389,$123390,$123391,$123392,$123393,$123394,$123395,$123396),(nextval($123397),$123398,$123399,$123400,$123401,$123402,$123403,$123404,$123405,$123406,$123407,$123408,$123409,$123410),(nextval($123411),$123412,$123413,$123414,$123415,$123416,$123417,$123418,$123419,$123420,$123421,$123422,$123423,$123424),(nextval($123425),$123426,$123427,$123428,$123429,$123430,$123431,$123432,$123433,$123434,$123435,$123436,$123437,$123438),(nextval($123439),$123440,$123441,$123442,$123443,$123444,$123445,$123446,$123447,$123448,$123449,$123450,$123451,$123452),(nextval($123453),$123454,$123455,$123456,$123457,$123458,$123459,$123460,$123461,$123462,$123463,$123464,$123465,$123466),(nextval($123467),$123468,$123469,$123470,$123471,$123472,$123473,$123474,$123475,$123476,$123477,$123478,$123479,$123480),(nextval($123481),$123482,$123483,$123484,$123485,$123486,$123487,$123488,$123489,$123490,$123491,$123492,$123493,$123494),(nextval($123495),$123496,$123497,$123498,$123499,$123500,$123501,$123502,$123503,$123504,$123505,$123506,$123507,$123508),(nextval($123509),$123510,$123511,$123512,$123513,$123514,$123515,$123516,$123517,$123518,$123519,$123520,$123521,$123522),(nextval($123523),$123524,$123525,$123526,$123527,$123528,$123529,$123530,$123531,$123532,$123533,$123534,$123535,$123536),(nextval($123537),$123538,$123539,$123540,$123541,$123542,$123543,$123544,$123545,$123546,$123547,$123548,$123549,$123550),(nextval($123551),$123552,$123553,$123554,$123555,$123556,$123557,$123558,$123559,$123560,$123561,$123562,$123563,$123564),(nextval($123565),$123566,$123567,$123568,$123569,$123570,$123571,$123572,$123573,$123574,$123575,$123576,$123577,$123578),(nextval($123579),$123580,$123581,$123582,$123583,$123584,$123585,$123586,$123587,$123588,$123589,$123590,$123591,$123592),(nextval($123593),$123594,$123595,$123596,$123597,$123598,$123599,$123600,$123601,$123602,$123603,$123604,$123605,$123606),(nextval($123607),$123608,$123609,$123610,$123611,$123612,$123613,$123614,$123615,$123616,$123617,$123618,$123619,$123620),(nextval($123621),$123622,$123623,$123624,$123625,$123626,$123627,$123628,$123629,$123630,$123631,$123632,$123633,$123634),(nextval($123635),$123636,$123637,$123638,$123639,$123640,$123641,$123642,$123643,$123644,$123645,$123646,$123647,$123648),(nextval($123649),$123650,$123651,$123652,$123653,$123654,$123655,$123656,$123657,$123658,$123659,$123660,$123661,$123662),(nextval($123663),$123664,$123665,$123666,$123667,$123668,$123669,$123670,$123671,$123672,$123673,$123674,$123675,$123676),(nextval($123677),$123678,$123679,$123680,$123681,$123682,$123683,$123684,$123685,$123686,$123687,$123688,$123689,$123690),(nextval($123691),$123692,$123693,$123694,$123695,$123696,$123697,$123698,$123699,$123700,$123701,$123702,$123703,$123704),(nextval($123705),$123706,$123707,$123708,$123709,$123710,$123711,$123712,$123713,$123714,$123715,$123716,$123717,$123718),(nextval($123719),$123720,$123721,$123722,$123723,$123724,$123725,$123726,$123727,$123728,$123729,$123730,$123731,$123732),(nextval($123733),$123734,$123735,$123736,$123737,$123738,$123739,$123740,$123741,$123742,$123743,$123744,$123745,$123746),(nextval($123747),$123748,$123749,$123750,$123751,$123752,$123753,$123754,$123755,$123756,$123757,$123758,$123759,$123760),(nextval($123761),$123762,$123763,$123764,$123765,$123766,$123767,$123768,$123769,$123770,$123771,$123772,$123773,$123774),(nextval($123775),$123776,$123777,$123778,$123779,$123780,$123781,$123782,$123783,$123784,$123785,$123786,$123787,$123788),(nextval($123789),$123790,$123791,$123792,$123793,$123794,$123795,$123796,$123797,$123798,$123799,$123800,$123801,$123802),(nextval($123803),$123804,$123805,$123806,$123807,$123808,$123809,$123810,$123811,$123812,$123813,$123814,$123815,$123816),(nextval($123817),$123818,$123819,$123820,$123821,$123822,$123823,$123824,$123825,$123826,$123827,$123828,$123829,$123830),(nextval($123831),$123832,$123833,$123834,$123835,$123836,$123837,$123838,$123839,$123840,$123841,$123842,$123843,$123844),(nextval($123845),$123846,$123847,$123848,$123849,$123850,$123851,$123852,$123853,$123854,$123855,$123856,$123857,$123858),(nextval($123859),$123860,$123861,$123862,$123863,$123864,$123865,$123866,$123867,$123868,$123869,$123870,$123871,$123872),(nextval($123873),$123874,$123875,$123876,$123877,$123878,$123879,$123880,$123881,$123882,$123883,$123884,$123885,$123886),(nextval($123887),$123888,$123889,$123890,$123891,$123892,$123893,$123894,$123895,$123896,$123897,$123898,$123899,$123900),(nextval($123901),$123902,$123903,$123904,$123905,$123906,$123907,$123908,$123909,$123910,$123911,$123912,$123913,$123914),(nextval($123915),$123916,$123917,$123918,$123919,$123920,$123921,$123922,$123923,$123924,$123925,$123926,$123927,$123928),(nextval($123929),$123930,$123931,$123932,$123933,$123934,$123935,$123936,$123937,$123938,$123939,$123940,$123941,$123942),(nextval($123943),$123944,$123945,$123946,$123947,$123948,$123949,$123950,$123951,$123952,$123953,$123954,$123955,$123956),(nextval($123957),$123958,$123959,$123960,$123961,$123962,$123963,$123964,$123965,$123966,$123967,$123968,$123969,$123970),(nextval($123971),$123972,$123973,$123974,$123975,$123976,$123977,$123978,$123979,$123980,$123981,$123982,$123983,$123984),(nextval($123985),$123986,$123987,$123988,$123989,$123990,$123991,$123992,$123993,$123994,$123995,$123996,$123997,$123998),(nextval($123999),$124000,$124001,$124002,$124003,$124004,$124005,$124006,$124007,$124008,$124009,$124010,$124011,$124012),(nextval($124013),$124014,$124015,$124016,$124017,$124018,$124019,$124020,$124021,$124022,$124023,$124024,$124025,$124026),(nextval($124027),$124028,$124029,$124030,$124031,$124032,$124033,$124034,$124035,$124036,$124037,$124038,$124039,$124040),(nextval($124041),$124042,$124043,$124044,$124045,$124046,$124047,$124048,$124049,$124050,$124051,$124052,$124053,$124054),(nextval($124055),$124056,$124057,$124058,$124059,$124060,$124061,$124062,$124063,$124064,$124065,$124066,$124067,$124068),(nextval($124069),$124070,$124071,$124072,$124073,$124074,$124075,$124076,$124077,$124078,$124079,$124080,$124081,$124082),(nextval($124083),$124084,$124085,$124086,$124087,$124088,$124089,$124090,$124091,$124092,$124093,$124094,$124095,$124096),(nextval($124097),$124098,$124099,$124100,$124101,$124102,$124103,$124104,$124105,$124106,$124107,$124108,$124109,$124110),(nextval($124111),$124112,$124113,$124114,$124115,$124116,$124117,$124118,$124119,$124120,$124121,$124122,$124123,$124124),(nextval($124125),$124126,$124127,$124128,$124129,$124130,$124131,$124132,$124133,$124134,$124135,$124136,$124137,$124138),(nextval($124139),$124140,$124141,$124142,$124143,$124144,$124145,$124146,$124147,$124148,$124149,$124150,$124151,$124152),(nextval($124153),$124154,$124155,$124156,$124157,$124158,$124159,$124160,$124161,$124162,$124163,$124164,$124165,$124166),(nextval($124167),$124168,$124169,$124170,$124171,$124172,$124173,$124174,$124175,$124176,$124177,$124178,$124179,$124180),(nextval($124181),$124182,$124183,$124184,$124185,$124186,$124187,$124188,$124189,$124190,$124191,$124192,$124193,$124194),(nextval($124195),$124196,$124197,$124198,$124199,$124200,$124201,$124202,$124203,$124204,$124205,$124206,$124207,$124208),(nextval($124209),$124210,$124211,$124212,$124213,$124214,$124215,$124216,$124217,$124218,$124219,$124220,$124221,$124222),(nextval($124223),$124224,$124225,$124226,$124227,$124228,$124229,$124230,$124231,$124232,$124233,$124234,$124235,$124236),(nextval($124237),$124238,$124239,$124240,$124241,$124242,$124243,$124244,$124245,$124246,$124247,$124248,$124249,$124250),(nextval($124251),$124252,$124253,$124254,$124255,$124256,$124257,$124258,$124259,$124260,$124261,$124262,$124263,$124264),(nextval($124265),$124266,$124267,$124268,$124269,$124270,$124271,$124272,$124273,$124274,$124275,$124276,$124277,$124278),(nextval($124279),$124280,$124281,$124282,$124283,$124284,$124285,$124286,$124287,$124288,$124289,$124290,$124291,$124292),(nextval($124293),$124294,$124295,$124296,$124297,$124298,$124299,$124300,$124301,$124302,$124303,$124304,$124305,$124306),(nextval($124307),$124308,$124309,$124310,$124311,$124312,$124313,$124314,$124315,$124316,$124317,$124318,$124319,$124320),(nextval($124321),$124322,$124323,$124324,$124325,$124326,$124327,$124328,$124329,$124330,$124331,$124332,$124333,$124334),(nextval($124335),$124336,$124337,$124338,$124339,$124340,$124341,$124342,$124343,$124344,$124345,$124346,$124347,$124348),(nextval($124349),$124350,$124351,$124352,$124353,$124354,$124355,$124356,$124357,$124358,$124359,$124360,$124361,$124362),(nextval($124363),$124364,$124365,$124366,$124367,$124368,$124369,$124370,$124371,$124372,$124373,$124374,$124375,$124376),(nextval($124377),$124378,$124379,$124380,$124381,$124382,$124383,$124384,$124385,$124386,$124387,$124388,$124389,$124390),(nextval($124391),$124392,$124393,$124394,$124395,$124396,$124397,$124398,$124399,$124400,$124401,$124402,$124403,$124404),(nextval($124405),$124406,$124407,$124408,$124409,$124410,$124411,$124412,$124413,$124414,$124415,$124416,$124417,$124418),(nextval($124419),$124420,$124421,$124422,$124423,$124424,$124425,$124426,$124427,$124428,$124429,$124430,$124431,$124432),(nextval($124433),$124434,$124435,$124436,$124437,$124438,$124439,$124440,$124441,$124442,$124443,$124444,$124445,$124446),(nextval($124447),$124448,$124449,$124450,$124451,$124452,$124453,$124454,$124455,$124456,$124457,$124458,$124459,$124460),(nextval($124461),$124462,$124463,$124464,$124465,$124466,$124467,$124468,$124469,$124470,$124471,$124472,$124473,$124474),(nextval($124475),$124476,$124477,$124478,$124479,$124480,$124481,$124482,$124483,$124484,$124485,$124486,$124487,$124488),(nextval($124489),$124490,$124491,$124492,$124493,$124494,$124495,$124496,$124497,$124498,$124499,$124500,$124501,$124502),(nextval($124503),$124504,$124505,$124506,$124507,$124508,$124509,$124510,$124511,$124512,$124513,$124514,$124515,$124516),(nextval($124517),$124518,$124519,$124520,$124521,$124522,$124523,$124524,$124525,$124526,$124527,$124528,$124529,$124530),(nextval($124531),$124532,$124533,$124534,$124535,$124536,$124537,$124538,$124539,$124540,$124541,$124542,$124543,$124544),(nextval($124545),$124546,$124547,$124548,$124549,$124550,$124551,$124552,$124553,$124554,$124555,$124556,$124557,$124558),(nextval($124559),$124560,$124561,$124562,$124563,$124564,$124565,$124566,$124567,$124568,$124569,$124570,$124571,$124572),(nextval($124573),$124574,$124575,$124576,$124577,$124578,$124579,$124580,$124581,$124582,$124583,$124584,$124585,$124586),(nextval($124587),$124588,$124589,$124590,$124591,$124592,$124593,$124594,$124595,$124596,$124597,$124598,$124599,$124600),(nextval($124601),$124602,$124603,$124604,$124605,$124606,$124607,$124608,$124609,$124610,$124611,$124612,$124613,$124614),(nextval($124615),$124616,$124617,$124618,$124619,$124620,$124621,$124622,$124623,$124624,$124625,$124626,$124627,$124628),(nextval($124629),$124630,$124631,$124632,$124633,$124634,$124635,$124636,$124637,$124638,$124639,$124640,$124641,$124642),(nextval($124643),$124644,$124645,$124646,$124647,$124648,$124649,$124650,$124651,$124652,$124653,$124654,$124655,$124656),(nextval($124657),$124658,$124659,$124660,$124661,$124662,$124663,$124664,$124665,$124666,$124667,$124668,$124669,$124670),(nextval($124671),$124672,$124673,$124674,$124675,$124676,$124677,$124678,$124679,$124680,$124681,$124682,$124683,$124684),(nextval($124685),$124686,$124687,$124688,$124689,$124690,$124691,$124692,$124693,$124694,$124695,$124696,$124697,$124698),(nextval($124699),$124700,$124701,$124702,$124703,$124704,$124705,$124706,$124707,$124708,$124709,$124710,$124711,$124712),(nextval($124713),$124714,$124715,$124716,$124717,$124718,$124719,$124720,$124721,$124722,$124723,$124724,$124725,$124726),(nextval($124727),$124728,$124729,$124730,$124731,$124732,$124733,$124734,$124735,$124736,$124737,$124738,$124739,$124740),(nextval($124741),$124742,$124743,$124744,$124745,$124746,$124747,$124748,$124749,$124750,$124751,$124752,$124753,$124754),(nextval($124755),$124756,$124757,$124758,$124759,$124760,$124761,$124762,$124763,$124764,$124765,$124766,$124767,$124768),(nextval($124769),$124770,$124771,$124772,$124773,$124774,$124775,$124776,$124777,$124778,$124779,$124780,$124781,$124782),(nextval($124783),$124784,$124785,$124786,$124787,$124788,$124789,$124790,$124791,$124792,$124793,$124794,$124795,$124796),(nextval($124797),$124798,$124799,$124800,$124801,$124802,$124803,$124804,$124805,$124806,$124807,$124808,$124809,$124810),(nextval($124811),$124812,$124813,$124814,$124815,$124816,$124817,$124818,$124819,$124820,$124821,$124822,$124823,$124824),(nextval($124825),$124826,$124827,$124828,$124829,$124830,$124831,$124832,$124833,$124834,$124835,$124836,$124837,$124838),(nextval($124839),$124840,$124841,$124842,$124843,$124844,$124845,$124846,$124847,$124848,$124849,$124850,$124851,$124852),(nextval($124853),$124854,$124855,$124856,$124857,$124858,$124859,$124860,$124861,$124862,$124863,$124864,$124865,$124866),(nextval($124867),$124868,$124869,$124870,$124871,$124872,$124873,$124874,$124875,$124876,$124877,$124878,$124879,$124880),(nextval($124881),$124882,$124883,$124884,$124885,$124886,$124887,$124888,$124889,$124890,$124891,$124892,$124893,$124894),(nextval($124895),$124896,$124897,$124898,$124899,$124900,$124901,$124902,$124903,$124904,$124905,$124906,$124907,$124908),(nextval($124909),$124910,$124911,$124912,$124913,$124914,$124915,$124916,$124917,$124918,$124919,$124920,$124921,$124922),(nextval($124923),$124924,$124925,$124926,$124927,$124928,$124929,$124930,$124931,$124932,$124933,$124934,$124935,$124936),(nextval($124937),$124938,$124939,$124940,$124941,$124942,$124943,$124944,$124945,$124946,$124947,$124948,$124949,$124950),(nextval($124951),$124952,$124953,$124954,$124955,$124956,$124957,$124958,$124959,$124960,$124961,$124962,$124963,$124964),(nextval($124965),$124966,$124967,$124968,$124969,$124970,$124971,$124972,$124973,$124974,$124975,$124976,$124977,$124978),(nextval($124979),$124980,$124981,$124982,$124983,$124984,$124985,$124986,$124987,$124988,$124989,$124990,$124991,$124992),(nextval($124993),$124994,$124995,$124996,$124997,$124998,$124999,$125000,$125001,$125002,$125003,$125004,$125005,$125006),(nextval($125007),$125008,$125009,$125010,$125011,$125012,$125013,$125014,$125015,$125016,$125017,$125018,$125019,$125020),(nextval($125021),$125022,$125023,$125024,$125025,$125026,$125027,$125028,$125029,$125030,$125031,$125032,$125033,$125034),(nextval($125035),$125036,$125037,$125038,$125039,$125040,$125041,$125042,$125043,$125044,$125045,$125046,$125047,$125048),(nextval($125049),$125050,$125051,$125052,$125053,$125054,$125055,$125056,$125057,$125058,$125059,$125060,$125061,$125062),(nextval($125063),$125064,$125065,$125066,$125067,$125068,$125069,$125070,$125071,$125072,$125073,$125074,$125075,$125076),(nextval($125077),$125078,$125079,$125080,$125081,$125082,$125083,$125084,$125085,$125086,$125087,$125088,$125089,$125090),(nextval($125091),$125092,$125093,$125094,$125095,$125096,$125097,$125098,$125099,$125100,$125101,$125102,$125103,$125104),(nextval($125105),$125106,$125107,$125108,$125109,$125110,$125111,$125112,$125113,$125114,$125115,$125116,$125117,$125118),(nextval($125119),$125120,$125121,$125122,$125123,$125124,$125125,$125126,$125127,$125128,$125129,$125130,$125131,$125132),(nextval($125133),$125134,$125135,$125136,$125137,$125138,$125139,$125140,$125141,$125142,$125143,$125144,$125145,$125146),(nextval($125147),$125148,$125149,$125150,$125151,$125152,$125153,$125154,$125155,$125156,$125157,$125158,$125159,$125160),(nextval($125161),$125162,$125163,$125164,$125165,$125166,$125167,$125168,$125169,$125170,$125171,$125172,$125173,$125174),(nextval($125175),$125176,$125177,$125178,$125179,$125180,$125181,$125182,$125183,$125184,$125185,$125186,$125187,$125188),(nextval($125189),$125190,$125191,$125192,$125193,$125194,$125195,$125196,$125197,$125198,$125199,$125200,$125201,$125202),(nextval($125203),$125204,$125205,$125206,$125207,$125208,$125209,$125210,$125211,$125212,$125213,$125214,$125215,$125216),(nextval($125217),$125218,$125219,$125220,$125221,$125222,$125223,$125224,$125225,$125226,$125227,$125228,$125229,$125230),(nextval($125231),$125232,$125233,$125234,$125235,$125236,$125237,$125238,$125239,$125240,$125241,$125242,$125243,$125244),(nextval($125245),$125246,$125247,$125248,$125249,$125250,$125251,$125252,$125253,$125254,$125255,$125256,$125257,$125258),(nextval($125259),$125260,$125261,$125262,$125263,$125264,$125265,$125266,$125267,$125268,$125269,$125270,$125271,$125272),(nextval($125273),$125274,$125275,$125276,$125277,$125278,$125279,$125280,$125281,$125282,$125283,$125284,$125285,$125286),(nextval($125287),$125288,$125289,$125290,$125291,$125292,$125293,$125294,$125295,$125296,$125297,$125298,$125299,$125300),(nextval($125301),$125302,$125303,$125304,$125305,$125306,$125307,$125308,$125309,$125310,$125311,$125312,$125313,$125314),(nextval($125315),$125316,$125317,$125318,$125319,$125320,$125321,$125322,$125323,$125324,$125325,$125326,$125327,$125328),(nextval($125329),$125330,$125331,$125332,$125333,$125334,$125335,$125336,$125337,$125338,$125339,$125340,$125341,$125342),(nextval($125343),$125344,$125345,$125346,$125347,$125348,$125349,$125350,$125351,$125352,$125353,$125354,$125355,$125356),(nextval($125357),$125358,$125359,$125360,$125361,$125362,$125363,$125364,$125365,$125366,$125367,$125368,$125369,$125370),(nextval($125371),$125372,$125373,$125374,$125375,$125376,$125377,$125378,$125379,$125380,$125381,$125382,$125383,$125384),(nextval($125385),$125386,$125387,$125388,$125389,$125390,$125391,$125392,$125393,$125394,$125395,$125396,$125397,$125398),(nextval($125399),$125400,$125401,$125402,$125403,$125404,$125405,$125406,$125407,$125408,$125409,$125410,$125411,$125412),(nextval($125413),$125414,$125415,$125416,$125417,$125418,$125419,$125420,$125421,$125422,$125423,$125424,$125425,$125426),(nextval($125427),$125428,$125429,$125430,$125431,$125432,$125433,$125434,$125435,$125436,$125437,$125438,$125439,$125440),(nextval($125441),$125442,$125443,$125444,$125445,$125446,$125447,$125448,$125449,$125450,$125451,$125452,$125453,$125454),(nextval($125455),$125456,$125457,$125458,$125459,$125460,$125461,$125462,$125463,$125464,$125465,$125466,$125467,$125468),(nextval($125469),$125470,$125471,$125472,$125473,$125474,$125475,$125476,$125477,$125478,$125479,$125480,$125481,$125482),(nextval($125483),$125484,$125485,$125486,$125487,$125488,$125489,$125490,$125491,$125492,$125493,$125494,$125495,$125496),(nextval($125497),$125498,$125499,$125500,$125501,$125502,$125503,$125504,$125505,$125506,$125507,$125508,$125509,$125510),(nextval($125511),$125512,$125513,$125514,$125515,$125516,$125517,$125518,$125519,$125520,$125521,$125522,$125523,$125524),(nextval($125525),$125526,$125527,$125528,$125529,$125530,$125531,$125532,$125533,$125534,$125535,$125536,$125537,$125538),(nextval($125539),$125540,$125541,$125542,$125543,$125544,$125545,$125546,$125547,$125548,$125549,$125550,$125551,$125552),(nextval($125553),$125554,$125555,$125556,$125557,$125558,$125559,$125560,$125561,$125562,$125563,$125564,$125565,$125566),(nextval($125567),$125568,$125569,$125570,$125571,$125572,$125573,$125574,$125575,$125576,$125577,$125578,$125579,$125580),(nextval($125581),$125582,$125583,$125584,$125585,$125586,$125587,$125588,$125589,$125590,$125591,$125592,$125593,$125594),(nextval($125595),$125596,$125597,$125598,$125599,$125600,$125601,$125602,$125603,$125604,$125605,$125606,$125607,$125608),(nextval($125609),$125610,$125611,$125612,$125613,$125614,$125615,$125616,$125617,$125618,$125619,$125620,$125621,$125622),(nextval($125623),$125624,$125625,$125626,$125627,$125628,$125629,$125630,$125631,$125632,$125633,$125634,$125635,$125636),(nextval($125637),$125638,$125639,$125640,$125641,$125642,$125643,$125644,$125645,$125646,$125647,$125648,$125649,$125650),(nextval($125651),$125652,$125653,$125654,$125655,$125656,$125657,$125658,$125659,$125660,$125661,$125662,$125663,$125664),(nextval($125665),$125666,$125667,$125668,$125669,$125670,$125671,$125672,$125673,$125674,$125675,$125676,$125677,$125678),(nextval($125679),$125680,$125681,$125682,$125683,$125684,$125685,$125686,$125687,$125688,$125689,$125690,$125691,$125692),(nextval($125693),$125694,$125695,$125696,$125697,$125698,$125699,$125700,$125701,$125702,$125703,$125704,$125705,$125706),(nextval($125707),$125708,$125709,$125710,$125711,$125712,$125713,$125714,$125715,$125716,$125717,$125718,$125719,$125720),(nextval($125721),$125722,$125723,$125724,$125725,$125726,$125727,$125728,$125729,$125730,$125731,$125732,$125733,$125734),(nextval($125735),$125736,$125737,$125738,$125739,$125740,$125741,$125742,$125743,$125744,$125745,$125746,$125747,$125748),(nextval($125749),$125750,$125751,$125752,$125753,$125754,$125755,$125756,$125757,$125758,$125759,$125760,$125761,$125762),(nextval($125763),$125764,$125765,$125766,$125767,$125768,$125769,$125770,$125771,$125772,$125773,$125774,$125775,$125776),(nextval($125777),$125778,$125779,$125780,$125781,$125782,$125783,$125784,$125785,$125786,$125787,$125788,$125789,$125790),(nextval($125791),$125792,$125793,$125794,$125795,$125796,$125797,$125798,$125799,$125800,$125801,$125802,$125803,$125804),(nextval($125805),$125806,$125807,$125808,$125809,$125810,$125811,$125812,$125813,$125814,$125815,$125816,$125817,$125818),(nextval($125819),$125820,$125821,$125822,$125823,$125824,$125825,$125826,$125827,$125828,$125829,$125830,$125831,$125832),(nextval($125833),$125834,$125835,$125836,$125837,$125838,$125839,$125840,$125841,$125842,$125843,$125844,$125845,$125846),(nextval($125847),$125848,$125849,$125850,$125851,$125852,$125853,$125854,$125855,$125856,$125857,$125858,$125859,$125860),(nextval($125861),$125862,$125863,$125864,$125865,$125866,$125867,$125868,$125869,$125870,$125871,$125872,$125873,$125874),(nextval($125875),$125876,$125877,$125878,$125879,$125880,$125881,$125882,$125883,$125884,$125885,$125886,$125887,$125888),(nextval($125889),$125890,$125891,$125892,$125893,$125894,$125895,$125896,$125897,$125898,$125899,$125900,$125901,$125902),(nextval($125903),$125904,$125905,$125906,$125907,$125908,$125909,$125910,$125911,$125912,$125913,$125914,$125915,$125916),(nextval($125917),$125918,$125919,$125920,$125921,$125922,$125923,$125924,$125925,$125926,$125927,$125928,$125929,$125930),(nextval($125931),$125932,$125933,$125934,$125935,$125936,$125937,$125938,$125939,$125940,$125941,$125942,$125943,$125944),(nextval($125945),$125946,$125947,$125948,$125949,$125950,$125951,$125952,$125953,$125954,$125955,$125956,$125957,$125958),(nextval($125959),$125960,$125961,$125962,$125963,$125964,$125965,$125966,$125967,$125968,$125969,$125970,$125971,$125972),(nextval($125973),$125974,$125975,$125976,$125977,$125978,$125979,$125980,$125981,$125982,$125983,$125984,$125985,$125986),(nextval($125987),$125988,$125989,$125990,$125991,$125992,$125993,$125994,$125995,$125996,$125997,$125998,$125999,$126000),(nextval($126001),$126002,$126003,$126004,$126005,$126006,$126007,$126008,$126009,$126010,$126011,$126012,$126013,$126014),(nextval($126015),$126016,$126017,$126018,$126019,$126020,$126021,$126022,$126023,$126024,$126025,$126026,$126027,$126028),(nextval($126029),$126030,$126031,$126032,$126033,$126034,$126035,$126036,$126037,$126038,$126039,$126040,$126041,$126042),(nextval($126043),$126044,$126045,$126046,$126047,$126048,$126049,$126050,$126051,$126052,$126053,$126054,$126055,$126056),(nextval($126057),$126058,$126059,$126060,$126061,$126062,$126063,$126064,$126065,$126066,$126067,$126068,$126069,$126070),(nextval($126071),$126072,$126073,$126074,$126075,$126076,$126077,$126078,$126079,$126080,$126081,$126082,$126083,$126084),(nextval($126085),$126086,$126087,$126088,$126089,$126090,$126091,$126092,$126093,$126094,$126095,$126096,$126097,$126098),(nextval($126099),$126100,$126101,$126102,$126103,$126104,$126105,$126106,$126107,$126108,$126109,$126110,$126111,$126112),(nextval($126113),$126114,$126115,$126116,$126117,$126118,$126119,$126120,$126121,$126122,$126123,$126124,$126125,$126126),(nextval($126127),$126128,$126129,$126130,$126131,$126132,$126133,$126134,$126135,$126136,$126137,$126138,$126139,$126140),(nextval($126141),$126142,$126143,$126144,$126145,$126146,$126147,$126148,$126149,$126150,$126151,$126152,$126153,$126154),(nextval($126155),$126156,$126157,$126158,$126159,$126160,$126161,$126162,$126163,$126164,$126165,$126166,$126167,$126168),(nextval($126169),$126170,$126171,$126172,$126173,$126174,$126175,$126176,$126177,$126178,$126179,$126180,$126181,$126182),(nextval($126183),$126184,$126185,$126186,$126187,$126188,$126189,$126190,$126191,$126192,$126193,$126194,$126195,$126196),(nextval($126197),$126198,$126199,$126200,$126201,$126202,$126203,$126204,$126205,$126206,$126207,$126208,$126209,$126210),(nextval($126211),$126212,$126213,$126214,$126215,$126216,$126217,$126218,$126219,$126220,$126221,$126222,$126223,$126224),(nextval($126225),$126226,$126227,$126228,$126229,$126230,$126231,$126232,$126233,$126234,$126235,$126236,$126237,$126238),(nextval($126239),$126240,$126241,$126242,$126243,$126244,$126245,$126246,$126247,$126248,$126249,$126250,$126251,$126252),(nextval($126253),$126254,$126255,$126256,$126257,$126258,$126259,$126260,$126261,$126262,$126263,$126264,$126265,$126266),(nextval($126267),$126268,$126269,$126270,$126271,$126272,$126273,$126274,$126275,$126276,$126277,$126278,$126279,$126280),(nextval($126281),$126282,$126283,$126284,$126285,$126286,$126287,$126288,$126289,$126290,$126291,$126292,$126293,$126294),(nextval($126295),$126296,$126297,$126298,$126299,$126300,$126301,$126302,$126303,$126304,$126305,$126306,$126307,$126308),(nextval($126309),$126310,$126311,$126312,$126313,$126314,$126315,$126316,$126317,$126318,$126319,$126320,$126321,$126322),(nextval($126323),$126324,$126325,$126326,$126327,$126328,$126329,$126330,$126331,$126332,$126333,$126334,$126335,$126336),(nextval($126337),$126338,$126339,$126340,$126341,$126342,$126343,$126344,$126345,$126346,$126347,$126348,$126349,$126350),(nextval($126351),$126352,$126353,$126354,$126355,$126356,$126357,$126358,$126359,$126360,$126361,$126362,$126363,$126364),(nextval($126365),$126366,$126367,$126368,$126369,$126370,$126371,$126372,$126373,$126374,$126375,$126376,$126377,$126378),(nextval($126379),$126380,$126381,$126382,$126383,$126384,$126385,$126386,$126387,$126388,$126389,$126390,$126391,$126392),(nextval($126393),$126394,$126395,$126396,$126397,$126398,$126399,$126400,$126401,$126402,$126403,$126404,$126405,$126406),(nextval($126407),$126408,$126409,$126410,$126411,$126412,$126413,$126414,$126415,$126416,$126417,$126418,$126419,$126420),(nextval($126421),$126422,$126423,$126424,$126425,$126426,$126427,$126428,$126429,$126430,$126431,$126432,$126433,$126434),(nextval($126435),$126436,$126437,$126438,$126439,$126440,$126441,$126442,$126443,$126444,$126445,$126446,$126447,$126448),(nextval($126449),$126450,$126451,$126452,$126453,$126454,$126455,$126456,$126457,$126458,$126459,$126460,$126461,$126462),(nextval($126463),$126464,$126465,$126466,$126467,$126468,$126469,$126470,$126471,$126472,$126473,$126474,$126475,$126476),(nextval($126477),$126478,$126479,$126480,$126481,$126482,$126483,$126484,$126485,$126486,$126487,$126488,$126489,$126490),(nextval($126491),$126492,$126493,$126494,$126495,$126496,$126497,$126498,$126499,$126500,$126501,$126502,$126503,$126504),(nextval($126505),$126506,$126507,$126508,$126509,$126510,$126511,$126512,$126513,$126514,$126515,$126516,$126517,$126518),(nextval($126519),$126520,$126521,$126522,$126523,$126524,$126525,$126526,$126527,$126528,$126529,$126530,$126531,$126532),(nextval($126533),$126534,$126535,$126536,$126537,$126538,$126539,$126540,$126541,$126542,$126543,$126544,$126545,$126546),(nextval($126547),$126548,$126549,$126550,$126551,$126552,$126553,$126554,$126555,$126556,$126557,$126558,$126559,$126560),(nextval($126561),$126562,$126563,$126564,$126565,$126566,$126567,$126568,$126569,$126570,$126571,$126572,$126573,$126574),(nextval($126575),$126576,$126577,$126578,$126579,$126580,$126581,$126582,$126583,$126584,$126585,$126586,$126587,$126588),(nextval($126589),$126590,$126591,$126592,$126593,$126594,$126595,$126596,$126597,$126598,$126599,$126600,$126601,$126602),(nextval($126603),$126604,$126605,$126606,$126607,$126608,$126609,$126610,$126611,$126612,$126613,$126614,$126615,$126616),(nextval($126617),$126618,$126619,$126620,$126621,$126622,$126623,$126624,$126625,$126626,$126627,$126628,$126629,$126630),(nextval($126631),$126632,$126633,$126634,$126635,$126636,$126637,$126638,$126639,$126640,$126641,$126642,$126643,$126644),(nextval($126645),$126646,$126647,$126648,$126649,$126650,$126651,$126652,$126653,$126654,$126655,$126656,$126657,$126658),(nextval($126659),$126660,$126661,$126662,$126663,$126664,$126665,$126666,$126667,$126668,$126669,$126670,$126671,$126672),(nextval($126673),$126674,$126675,$126676,$126677,$126678,$126679,$126680,$126681,$126682,$126683,$126684,$126685,$126686),(nextval($126687),$126688,$126689,$126690,$126691,$126692,$126693,$126694,$126695,$126696,$126697,$126698,$126699,$126700),(nextval($126701),$126702,$126703,$126704,$126705,$126706,$126707,$126708,$126709,$126710,$126711,$126712,$126713,$126714),(nextval($126715),$126716,$126717,$126718,$126719,$126720,$126721,$126722,$126723,$126724,$126725,$126726,$126727,$126728),(nextval($126729),$126730,$126731,$126732,$126733,$126734,$126735,$126736,$126737,$126738,$126739,$126740,$126741,$126742),(nextval($126743),$126744,$126745,$126746,$126747,$126748,$126749,$126750,$126751,$126752,$126753,$126754,$126755,$126756),(nextval($126757),$126758,$126759,$126760,$126761,$126762,$126763,$126764,$126765,$126766,$126767,$126768,$126769,$126770),(nextval($126771),$126772,$126773,$126774,$126775,$126776,$126777,$126778,$126779,$126780,$126781,$126782,$126783,$126784),(nextval($126785),$126786,$126787,$126788,$126789,$126790,$126791,$126792,$126793,$126794,$126795,$126796,$126797,$126798),(nextval($126799),$126800,$126801,$126802,$126803,$126804,$126805,$126806,$126807,$126808,$126809,$126810,$126811,$126812),(nextval($126813),$126814,$126815,$126816,$126817,$126818,$126819,$126820,$126821,$126822,$126823,$126824,$126825,$126826),(nextval($126827),$126828,$126829,$126830,$126831,$126832,$126833,$126834,$126835,$126836,$126837,$126838,$126839,$126840),(nextval($126841),$126842,$126843,$126844,$126845,$126846,$126847,$126848,$126849,$126850,$126851,$126852,$126853,$126854),(nextval($126855),$126856,$126857,$126858,$126859,$126860,$126861,$126862,$126863,$126864,$126865,$126866,$126867,$126868),(nextval($126869),$126870,$126871,$126872,$126873,$126874,$126875,$126876,$126877,$126878,$126879,$126880,$126881,$126882),(nextval($126883),$126884,$126885,$126886,$126887,$126888,$126889,$126890,$126891,$126892,$126893,$126894,$126895,$126896),(nextval($126897),$126898,$126899,$126900,$126901,$126902,$126903,$126904,$126905,$126906,$126907,$126908,$126909,$126910),(nextval($126911),$126912,$126913,$126914,$126915,$126916,$126917,$126918,$126919,$126920,$126921,$126922,$126923,$126924),(nextval($126925),$126926,$126927,$126928,$126929,$126930,$126931,$126932,$126933,$126934,$126935,$126936,$126937,$126938),(nextval($126939),$126940,$126941,$126942,$126943,$126944,$126945,$126946,$126947,$126948,$126949,$126950,$126951,$126952),(nextval($126953),$126954,$126955,$126956,$126957,$126958,$126959,$126960,$126961,$126962,$126963,$126964,$126965,$126966),(nextval($126967),$126968,$126969,$126970,$126971,$126972,$126973,$126974,$126975,$126976,$126977,$126978,$126979,$126980),(nextval($126981),$126982,$126983,$126984,$126985,$126986,$126987,$126988,$126989,$126990,$126991,$126992,$126993,$126994),(nextval($126995),$126996,$126997,$126998,$126999,$127000,$127001,$127002,$127003,$127004,$127005,$127006,$127007,$127008),(nextval($127009),$127010,$127011,$127012,$127013,$127014,$127015,$127016,$127017,$127018,$127019,$127020,$127021,$127022),(nextval($127023),$127024,$127025,$127026,$127027,$127028,$127029,$127030,$127031,$127032,$127033,$127034,$127035,$127036),(nextval($127037),$127038,$127039,$127040,$127041,$127042,$127043,$127044,$127045,$127046,$127047,$127048,$127049,$127050),(nextval($127051),$127052,$127053,$127054,$127055,$127056,$127057,$127058,$127059,$127060,$127061,$127062,$127063,$127064),(nextval($127065),$127066,$127067,$127068,$127069,$127070,$127071,$127072,$127073,$127074,$127075,$127076,$127077,$127078),(nextval($127079),$127080,$127081,$127082,$127083,$127084,$127085,$127086,$127087,$127088,$127089,$127090,$127091,$127092),(nextval($127093),$127094,$127095,$127096,$127097,$127098,$127099,$127100,$127101,$127102,$127103,$127104,$127105,$127106),(nextval($127107),$127108,$127109,$127110,$127111,$127112,$127113,$127114,$127115,$127116,$127117,$127118,$127119,$127120),(nextval($127121),$127122,$127123,$127124,$127125,$127126,$127127,$127128,$127129,$127130,$127131,$127132,$127133,$127134),(nextval($127135),$127136,$127137,$127138,$127139,$127140,$127141,$127142,$127143,$127144,$127145,$127146,$127147,$127148),(nextval($127149),$127150,$127151,$127152,$127153,$127154,$127155,$127156,$127157,$127158,$127159,$127160,$127161,$127162),(nextval($127163),$127164,$127165,$127166,$127167,$127168,$127169,$127170,$127171,$127172,$127173,$127174,$127175,$127176),(nextval($127177),$127178,$127179,$127180,$127181,$127182,$127183,$127184,$127185,$127186,$127187,$127188,$127189,$127190),(nextval($127191),$127192,$127193,$127194,$127195,$127196,$127197,$127198,$127199,$127200,$127201,$127202,$127203,$127204),(nextval($127205),$127206,$127207,$127208,$127209,$127210,$127211,$127212,$127213,$127214,$127215,$127216,$127217,$127218),(nextval($127219),$127220,$127221,$127222,$127223,$127224,$127225,$127226,$127227,$127228,$127229,$127230,$127231,$127232),(nextval($127233),$127234,$127235,$127236,$127237,$127238,$127239,$127240,$127241,$127242,$127243,$127244,$127245,$127246),(nextval($127247),$127248,$127249,$127250,$127251,$127252,$127253,$127254,$127255,$127256,$127257,$127258,$127259,$127260),(nextval($127261),$127262,$127263,$127264,$127265,$127266,$127267,$127268,$127269,$127270,$127271,$127272,$127273,$127274),(nextval($127275),$127276,$127277,$127278,$127279,$127280,$127281,$127282,$127283,$127284,$127285,$127286,$127287,$127288),(nextval($127289),$127290,$127291,$127292,$127293,$127294,$127295,$127296,$127297,$127298,$127299,$127300,$127301,$127302),(nextval($127303),$127304,$127305,$127306,$127307,$127308,$127309,$127310,$127311,$127312,$127313,$127314,$127315,$127316),(nextval($127317),$127318,$127319,$127320,$127321,$127322,$127323,$127324,$127325,$127326,$127327,$127328,$127329,$127330),(nextval($127331),$127332,$127333,$127334,$127335,$127336,$127337,$127338,$127339,$127340,$127341,$127342,$127343,$127344),(nextval($127345),$127346,$127347,$127348,$127349,$127350,$127351,$127352,$127353,$127354,$127355,$127356,$127357,$127358),(nextval($127359),$127360,$127361,$127362,$127363,$127364,$127365,$127366,$127367,$127368,$127369,$127370,$127371,$127372),(nextval($127373),$127374,$127375,$127376,$127377,$127378,$127379,$127380,$127381,$127382,$127383,$127384,$127385,$127386),(nextval($127387),$127388,$127389,$127390,$127391,$127392,$127393,$127394,$127395,$127396,$127397,$127398,$127399,$127400),(nextval($127401),$127402,$127403,$127404,$127405,$127406,$127407,$127408,$127409,$127410,$127411,$127412,$127413,$127414),(nextval($127415),$127416,$127417,$127418,$127419,$127420,$127421,$127422,$127423,$127424,$127425,$127426,$127427,$127428),(nextval($127429),$127430,$127431,$127432,$127433,$127434,$127435,$127436,$127437,$127438,$127439,$127440,$127441,$127442),(nextval($127443),$127444,$127445,$127446,$127447,$127448,$127449,$127450,$127451,$127452,$127453,$127454,$127455,$127456),(nextval($127457),$127458,$127459,$127460,$127461,$127462,$127463,$127464,$127465,$127466,$127467,$127468,$127469,$127470),(nextval($127471),$127472,$127473,$127474,$127475,$127476,$127477,$127478,$127479,$127480,$127481,$127482,$127483,$127484),(nextval($127485),$127486,$127487,$127488,$127489,$127490,$127491,$127492,$127493,$127494,$127495,$127496,$127497,$127498),(nextval($127499),$127500,$127501,$127502,$127503,$127504,$127505,$127506,$127507,$127508,$127509,$127510,$127511,$127512),(nextval($127513),$127514,$127515,$127516,$127517,$127518,$127519,$127520,$127521,$127522,$127523,$127524,$127525,$127526),(nextval($127527),$127528,$127529,$127530,$127531,$127532,$127533,$127534,$127535,$127536,$127537,$127538,$127539,$127540),(nextval($127541),$127542,$127543,$127544,$127545,$127546,$127547,$127548,$127549,$127550,$127551,$127552,$127553,$127554),(nextval($127555),$127556,$127557,$127558,$127559,$127560,$127561,$127562,$127563,$127564,$127565,$127566,$127567,$127568),(nextval($127569),$127570,$127571,$127572,$127573,$127574,$127575,$127576,$127577,$127578,$127579,$127580,$127581,$127582),(nextval($127583),$127584,$127585,$127586,$127587,$127588,$127589,$127590,$127591,$127592,$127593,$127594,$127595,$127596),(nextval($127597),$127598,$127599,$127600,$127601,$127602,$127603,$127604,$127605,$127606,$127607,$127608,$127609,$127610),(nextval($127611),$127612,$127613,$127614,$127615,$127616,$127617,$127618,$127619,$127620,$127621,$127622,$127623,$127624),(nextval($127625),$127626,$127627,$127628,$127629,$127630,$127631,$127632,$127633,$127634,$127635,$127636,$127637,$127638),(nextval($127639),$127640,$127641,$127642,$127643,$127644,$127645,$127646,$127647,$127648,$127649,$127650,$127651,$127652),(nextval($127653),$127654,$127655,$127656,$127657,$127658,$127659,$127660,$127661,$127662,$127663,$127664,$127665,$127666),(nextval($127667),$127668,$127669,$127670,$127671,$127672,$127673,$127674,$127675,$127676,$127677,$127678,$127679,$127680),(nextval($127681),$127682,$127683,$127684,$127685,$127686,$127687,$127688,$127689,$127690,$127691,$127692,$127693,$127694),(nextval($127695),$127696,$127697,$127698,$127699,$127700,$127701,$127702,$127703,$127704,$127705,$127706,$127707,$127708),(nextval($127709),$127710,$127711,$127712,$127713,$127714,$127715,$127716,$127717,$127718,$127719,$127720,$127721,$127722),(nextval($127723),$127724,$127725,$127726,$127727,$127728,$127729,$127730,$127731,$127732,$127733,$127734,$127735,$127736),(nextval($127737),$127738,$127739,$127740,$127741,$127742,$127743,$127744,$127745,$127746,$127747,$127748,$127749,$127750),(nextval($127751),$127752,$127753,$127754,$127755,$127756,$127757,$127758,$127759,$127760,$127761,$127762,$127763,$127764),(nextval($127765),$127766,$127767,$127768,$127769,$127770,$127771,$127772,$127773,$127774,$127775,$127776,$127777,$127778),(nextval($127779),$127780,$127781,$127782,$127783,$127784,$127785,$127786,$127787,$127788,$127789,$127790,$127791,$127792),(nextval($127793),$127794,$127795,$127796,$127797,$127798,$127799,$127800,$127801,$127802,$127803,$127804,$127805,$127806),(nextval($127807),$127808,$127809,$127810,$127811,$127812,$127813,$127814,$127815,$127816,$127817,$127818,$127819,$127820),(nextval($127821),$127822,$127823,$127824,$127825,$127826,$127827,$127828,$127829,$127830,$127831,$127832,$127833,$127834),(nextval($127835),$127836,$127837,$127838,$127839,$127840,$127841,$127842,$127843,$127844,$127845,$127846,$127847,$127848),(nextval($127849),$127850,$127851,$127852,$127853,$127854,$127855,$127856,$127857,$127858,$127859,$127860,$127861,$127862),(nextval($127863),$127864,$127865,$127866,$127867,$127868,$127869,$127870,$127871,$127872,$127873,$127874,$127875,$127876),(nextval($127877),$127878,$127879,$127880,$127881,$127882,$127883,$127884,$127885,$127886,$127887,$127888,$127889,$127890),(nextval($127891),$127892,$127893,$127894,$127895,$127896,$127897,$127898,$127899,$127900,$127901,$127902,$127903,$127904),(nextval($127905),$127906,$127907,$127908,$127909,$127910,$127911,$127912,$127913,$127914,$127915,$127916,$127917,$127918),(nextval($127919),$127920,$127921,$127922,$127923,$127924,$127925,$127926,$127927,$127928,$127929,$127930,$127931,$127932),(nextval($127933),$127934,$127935,$127936,$127937,$127938,$127939,$127940,$127941,$127942,$127943,$127944,$127945,$127946),(nextval($127947),$127948,$127949,$127950,$127951,$127952,$127953,$127954,$127955,$127956,$127957,$127958,$127959,$127960),(nextval($127961),$127962,$127963,$127964,$127965,$127966,$127967,$127968,$127969,$127970,$127971,$127972,$127973,$127974),(nextval($127975),$127976,$127977,$127978,$127979,$127980,$127981,$127982,$127983,$127984,$127985,$127986,$127987,$127988),(nextval($127989),$127990,$127991,$127992,$127993,$127994,$127995,$127996,$127997,$127998,$127999,$128000,$128001,$128002),(nextval($128003),$128004,$128005,$128006,$128007,$128008,$128009,$128010,$128011,$128012,$128013,$128014,$128015,$128016),(nextval($128017),$128018,$128019,$128020,$128021,$128022,$128023,$128024,$128025,$128026,$128027,$128028,$128029,$128030),(nextval($128031),$128032,$128033,$128034,$128035,$128036,$128037,$128038,$128039,$128040,$128041,$128042,$128043,$128044),(nextval($128045),$128046,$128047,$128048,$128049,$128050,$128051,$128052,$128053,$128054,$128055,$128056,$128057,$128058),(nextval($128059),$128060,$128061,$128062,$128063,$128064,$128065,$128066,$128067,$128068,$128069,$128070,$128071,$128072),(nextval($128073),$128074,$128075,$128076,$128077,$128078,$128079,$128080,$128081,$128082,$128083,$128084,$128085,$128086),(nextval($128087),$128088,$128089,$128090,$128091,$128092,$128093,$128094,$128095,$128096,$128097,$128098,$128099,$128100),(nextval($128101),$128102,$128103,$128104,$128105,$128106,$128107,$128108,$128109,$128110,$128111,$128112,$128113,$128114),(nextval($128115),$128116,$128117,$128118,$128119,$128120,$128121,$128122,$128123,$128124,$128125,$128126,$128127,$128128),(nextval($128129),$128130,$128131,$128132,$128133,$128134,$128135,$128136,$128137,$128138,$128139,$128140,$128141,$128142),(nextval($128143),$128144,$128145,$128146,$128147,$128148,$128149,$128150,$128151,$128152,$128153,$128154,$128155,$128156),(nextval($128157),$128158,$128159,$128160,$128161,$128162,$128163,$128164,$128165,$128166,$128167,$128168,$128169,$128170),(nextval($128171),$128172,$128173,$128174,$128175,$128176,$128177,$128178,$128179,$128180,$128181,$128182,$128183,$128184),(nextval($128185),$128186,$128187,$128188,$128189,$128190,$128191,$128192,$128193,$128194,$128195,$128196,$128197,$128198),(nextval($128199),$128200,$128201,$128202,$128203,$128204,$128205,$128206,$128207,$128208,$128209,$128210,$128211,$128212),(nextval($128213),$128214,$128215,$128216,$128217,$128218,$128219,$128220,$128221,$128222,$128223,$128224,$128225,$128226),(nextval($128227),$128228,$128229,$128230,$128231,$128232,$128233,$128234,$128235,$128236,$128237,$128238,$128239,$128240),(nextval($128241),$128242,$128243,$128244,$128245,$128246,$128247,$128248,$128249,$128250,$128251,$128252,$128253,$128254),(nextval($128255),$128256,$128257,$128258,$128259,$128260,$128261,$128262,$128263,$128264,$128265,$128266,$128267,$128268),(nextval($128269),$128270,$128271,$128272,$128273,$128274,$128275,$128276,$128277,$128278,$128279,$128280,$128281,$128282),(nextval($128283),$128284,$128285,$128286,$128287,$128288,$128289,$128290,$128291,$128292,$128293,$128294,$128295,$128296),(nextval($128297),$128298,$128299,$128300,$128301,$128302,$128303,$128304,$128305,$128306,$128307,$128308,$128309,$128310),(nextval($128311),$128312,$128313,$128314,$128315,$128316,$128317,$128318,$128319,$128320,$128321,$128322,$128323,$128324),(nextval($128325),$128326,$128327,$128328,$128329,$128330,$128331,$128332,$128333,$128334,$128335,$128336,$128337,$128338),(nextval($128339),$128340,$128341,$128342,$128343,$128344,$128345,$128346,$128347,$128348,$128349,$128350,$128351,$128352),(nextval($128353),$128354,$128355,$128356,$128357,$128358,$128359,$128360,$128361,$128362,$128363,$128364,$128365,$128366),(nextval($128367),$128368,$128369,$128370,$128371,$128372,$128373,$128374,$128375,$128376,$128377,$128378,$128379,$128380),(nextval($128381),$128382,$128383,$128384,$128385,$128386,$128387,$128388,$128389,$128390,$128391,$128392,$128393,$128394),(nextval($128395),$128396,$128397,$128398,$128399,$128400,$128401,$128402,$128403,$128404,$128405,$128406,$128407,$128408),(nextval($128409),$128410,$128411,$128412,$128413,$128414,$128415,$128416,$128417,$128418,$128419,$128420,$128421,$128422),(nextval($128423),$128424,$128425,$128426,$128427,$128428,$128429,$128430,$128431,$128432,$128433,$128434,$128435,$128436),(nextval($128437),$128438,$128439,$128440,$128441,$128442,$128443,$128444,$128445,$128446,$128447,$128448,$128449,$128450),(nextval($128451),$128452,$128453,$128454,$128455,$128456,$128457,$128458,$128459,$128460,$128461,$128462,$128463,$128464),(nextval($128465),$128466,$128467,$128468,$128469,$128470,$128471,$128472,$128473,$128474,$128475,$128476,$128477,$128478),(nextval($128479),$128480,$128481,$128482,$128483,$128484,$128485,$128486,$128487,$128488,$128489,$128490,$128491,$128492),(nextval($128493),$128494,$128495,$128496,$128497,$128498,$128499,$128500,$128501,$128502,$128503,$128504,$128505,$128506),(nextval($128507),$128508,$128509,$128510,$128511,$128512,$128513,$128514,$128515,$128516,$128517,$128518,$128519,$128520),(nextval($128521),$128522,$128523,$128524,$128525,$128526,$128527,$128528,$128529,$128530,$128531,$128532,$128533,$128534),(nextval($128535),$128536,$128537,$128538,$128539,$128540,$128541,$128542,$128543,$128544,$128545,$128546,$128547,$128548),(nextval($128549),$128550,$128551,$128552,$128553,$128554,$128555,$128556,$128557,$128558,$128559,$128560,$128561,$128562),(nextval($128563),$128564,$128565,$128566,$128567,$128568,$128569,$128570,$128571,$128572,$128573,$128574,$128575,$128576),(nextval($128577),$128578,$128579,$128580,$128581,$128582,$128583,$128584,$128585,$128586,$128587,$128588,$128589,$128590),(nextval($128591),$128592,$128593,$128594,$128595,$128596,$128597,$128598,$128599,$128600,$128601,$128602,$128603,$128604),(nextval($128605),$128606,$128607,$128608,$128609,$128610,$128611,$128612,$128613,$128614,$128615,$128616,$128617,$128618),(nextval($128619),$128620,$128621,$128622,$128623,$128624,$128625,$128626,$128627,$128628,$128629,$128630,$128631,$128632),(nextval($128633),$128634,$128635,$128636,$128637,$128638,$128639,$128640,$128641,$128642,$128643,$128644,$128645,$128646),(nextval($128647),$128648,$128649,$128650,$128651,$128652,$128653,$128654,$128655,$128656,$128657,$128658,$128659,$128660),(nextval($128661),$128662,$128663,$128664,$128665,$128666,$128667,$128668,$128669,$128670,$128671,$128672,$128673,$128674),(nextval($128675),$128676,$128677,$128678,$128679,$128680,$128681,$128682,$128683,$128684,$128685,$128686,$128687,$128688),(nextval($128689),$128690,$128691,$128692,$128693,$128694,$128695,$128696,$128697,$128698,$128699,$128700,$128701,$128702),(nextval($128703),$128704,$128705,$128706,$128707,$128708,$128709,$128710,$128711,$128712,$128713,$128714,$128715,$128716),(nextval($128717),$128718,$128719,$128720,$128721,$128722,$128723,$128724,$128725,$128726,$128727,$128728,$128729,$128730),(nextval($128731),$128732,$128733,$128734,$128735,$128736,$128737,$128738,$128739,$128740,$128741,$128742,$128743,$128744),(nextval($128745),$128746,$128747,$128748,$128749,$128750,$128751,$128752,$128753,$128754,$128755,$128756,$128757,$128758),(nextval($128759),$128760,$128761,$128762,$128763,$128764,$128765,$128766,$128767,$128768,$128769,$128770,$128771,$128772),(nextval($128773),$128774,$128775,$128776,$128777,$128778,$128779,$128780,$128781,$128782,$128783,$128784,$128785,$128786),(nextval($128787),$128788,$128789,$128790,$128791,$128792,$128793,$128794,$128795,$128796,$128797,$128798,$128799,$128800),(nextval($128801),$128802,$128803,$128804,$128805,$128806,$128807,$128808,$128809,$128810,$128811,$128812,$128813,$128814),(nextval($128815),$128816,$128817,$128818,$128819,$128820,$128821,$128822,$128823,$128824,$128825,$128826,$128827,$128828),(nextval($128829),$128830,$128831,$128832,$128833,$128834,$128835,$128836,$128837,$128838,$128839,$128840,$128841,$128842),(nextval($128843),$128844,$128845,$128846,$128847,$128848,$128849,$128850,$128851,$128852,$128853,$128854,$128855,$128856),(nextval($128857),$128858,$128859,$128860,$128861,$128862,$128863,$128864,$128865,$128866,$128867,$128868,$128869,$128870),(nextval($128871),$128872,$128873,$128874,$128875,$128876,$128877,$128878,$128879,$128880,$128881,$128882,$128883,$128884),(nextval($128885),$128886,$128887,$128888,$128889,$128890,$128891,$128892,$128893,$128894,$128895,$128896,$128897,$128898),(nextval($128899),$128900,$128901,$128902,$128903,$128904,$128905,$128906,$128907,$128908,$128909,$128910,$128911,$128912),(nextval($128913),$128914,$128915,$128916,$128917,$128918,$128919,$128920,$128921,$128922,$128923,$128924,$128925,$128926),(nextval($128927),$128928,$128929,$128930,$128931,$128932,$128933,$128934,$128935,$128936,$128937,$128938,$128939,$128940),(nextval($128941),$128942,$128943,$128944,$128945,$128946,$128947,$128948,$128949,$128950,$128951,$128952,$128953,$128954),(nextval($128955),$128956,$128957,$128958,$128959,$128960,$128961,$128962,$128963,$128964,$128965,$128966,$128967,$128968),(nextval($128969),$128970,$128971,$128972,$128973,$128974,$128975,$128976,$128977,$128978,$128979,$128980,$128981,$128982),(nextval($128983),$128984,$128985,$128986,$128987,$128988,$128989,$128990,$128991,$128992,$128993,$128994,$128995,$128996),(nextval($128997),$128998,$128999,$129000,$129001,$129002,$129003,$129004,$129005,$129006,$129007,$129008,$129009,$129010),(nextval($129011),$129012,$129013,$129014,$129015,$129016,$129017,$129018,$129019,$129020,$129021,$129022,$129023,$129024),(nextval($129025),$129026,$129027,$129028,$129029,$129030,$129031,$129032,$129033,$129034,$129035,$129036,$129037,$129038),(nextval($129039),$129040,$129041,$129042,$129043,$129044,$129045,$129046,$129047,$129048,$129049,$129050,$129051,$129052),(nextval($129053),$129054,$129055,$129056,$129057,$129058,$129059,$129060,$129061,$129062,$129063,$129064,$129065,$129066),(nextval($129067),$129068,$129069,$129070,$129071,$129072,$129073,$129074,$129075,$129076,$129077,$129078,$129079,$129080),(nextval($129081),$129082,$129083,$129084,$129085,$129086,$129087,$129088,$129089,$129090,$129091,$129092,$129093,$129094),(nextval($129095),$129096,$129097,$129098,$129099,$129100,$129101,$129102,$129103,$129104,$129105,$129106,$129107,$129108),(nextval($129109),$129110,$129111,$129112,$129113,$129114,$129115,$129116,$129117,$129118,$129119,$129120,$129121,$129122),(nextval($129123),$129124,$129125,$129126,$129127,$129128,$129129,$129130,$129131,$129132,$129133,$129134,$129135,$129136),(nextval($129137),$129138,$129139,$129140,$129141,$129142,$129143,$129144,$129145,$129146,$129147,$129148,$129149,$129150),(nextval($129151),$129152,$129153,$129154,$129155,$129156,$129157,$129158,$129159,$129160,$129161,$129162,$129163,$129164),(nextval($129165),$129166,$129167,$129168,$129169,$129170,$129171,$129172,$129173,$129174,$129175,$129176,$129177,$129178),(nextval($129179),$129180,$129181,$129182,$129183,$129184,$129185,$129186,$129187,$129188,$129189,$129190,$129191,$129192),(nextval($129193),$129194,$129195,$129196,$129197,$129198,$129199,$129200,$129201,$129202,$129203,$129204,$129205,$129206),(nextval($129207),$129208,$129209,$129210,$129211,$129212,$129213,$129214,$129215,$129216,$129217,$129218,$129219,$129220),(nextval($129221),$129222,$129223,$129224,$129225,$129226,$129227,$129228,$129229,$129230,$129231,$129232,$129233,$129234),(nextval($129235),$129236,$129237,$129238,$129239,$129240,$129241,$129242,$129243,$129244,$129245,$129246,$129247,$129248),(nextval($129249),$129250,$129251,$129252,$129253,$129254,$129255,$129256,$129257,$129258,$129259,$129260,$129261,$129262),(nextval($129263),$129264,$129265,$129266,$129267,$129268,$129269,$129270,$129271,$129272,$129273,$129274,$129275,$129276),(nextval($129277),$129278,$129279,$129280,$129281,$129282,$129283,$129284,$129285,$129286,$129287,$129288,$129289,$129290),(nextval($129291),$129292,$129293,$129294,$129295,$129296,$129297,$129298,$129299,$129300,$129301,$129302,$129303,$129304),(nextval($129305),$129306,$129307,$129308,$129309,$129310,$129311,$129312,$129313,$129314,$129315,$129316,$129317,$129318),(nextval($129319),$129320,$129321,$129322,$129323,$129324,$129325,$129326,$129327,$129328,$129329,$129330,$129331,$129332),(nextval($129333),$129334,$129335,$129336,$129337,$129338,$129339,$129340,$129341,$129342,$129343,$129344,$129345,$129346),(nextval($129347),$129348,$129349,$129350,$129351,$129352,$129353,$129354,$129355,$129356,$129357,$129358,$129359,$129360),(nextval($129361),$129362,$129363,$129364,$129365,$129366,$129367,$129368,$129369,$129370,$129371,$129372,$129373,$129374),(nextval($129375),$129376,$129377,$129378,$129379,$129380,$129381,$129382,$129383,$129384,$129385,$129386,$129387,$129388),(nextval($129389),$129390,$129391,$129392,$129393,$129394,$129395,$129396,$129397,$129398,$129399,$129400,$129401,$129402),(nextval($129403),$129404,$129405,$129406,$129407,$129408,$129409,$129410,$129411,$129412,$129413,$129414,$129415,$129416),(nextval($129417),$129418,$129419,$129420,$129421,$129422,$129423,$129424,$129425,$129426,$129427,$129428,$129429,$129430),(nextval($129431),$129432,$129433,$129434,$129435,$129436,$129437,$129438,$129439,$129440,$129441,$129442,$129443,$129444),(nextval($129445),$129446,$129447,$129448,$129449,$129450,$129451,$129452,$129453,$129454,$129455,$129456,$129457,$129458),(nextval($129459),$129460,$129461,$129462,$129463,$129464,$129465,$129466,$129467,$129468,$129469,$129470,$129471,$129472),(nextval($129473),$129474,$129475,$129476,$129477,$129478,$129479,$129480,$129481,$129482,$129483,$129484,$129485,$129486),(nextval($129487),$129488,$129489,$129490,$129491,$129492,$129493,$129494,$129495,$129496,$129497,$129498,$129499,$129500),(nextval($129501),$129502,$129503,$129504,$129505,$129506,$129507,$129508,$129509,$129510,$129511,$129512,$129513,$129514),(nextval($129515),$129516,$129517,$129518,$129519,$129520,$129521,$129522,$129523,$129524,$129525,$129526,$129527,$129528),(nextval($129529),$129530,$129531,$129532,$129533,$129534,$129535,$129536,$129537,$129538,$129539,$129540,$129541,$129542),(nextval($129543),$129544,$129545,$129546,$129547,$129548,$129549,$129550,$129551,$129552,$129553,$129554,$129555,$129556),(nextval($129557),$129558,$129559,$129560,$129561,$129562,$129563,$129564,$129565,$129566,$129567,$129568,$129569,$129570),(nextval($129571),$129572,$129573,$129574,$129575,$129576,$129577,$129578,$129579,$129580,$129581,$129582,$129583,$129584),(nextval($129585),$129586,$129587,$129588,$129589,$129590,$129591,$129592,$129593,$129594,$129595,$129596,$129597,$129598),(nextval($129599),$129600,$129601,$129602,$129603,$129604,$129605,$129606,$129607,$129608,$129609,$129610,$129611,$129612),(nextval($129613),$129614,$129615,$129616,$129617,$129618,$129619,$129620,$129621,$129622,$129623,$129624,$129625,$129626),(nextval($129627),$129628,$129629,$129630,$129631,$129632,$129633,$129634,$129635,$129636,$129637,$129638,$129639,$129640),(nextval($129641),$129642,$129643,$129644,$129645,$129646,$129647,$129648,$129649,$129650,$129651,$129652,$129653,$129654),(nextval($129655),$129656,$129657,$129658,$129659,$129660,$129661,$129662,$129663,$129664,$129665,$129666,$129667,$129668),(nextval($129669),$129670,$129671,$129672,$129673,$129674,$129675,$129676,$129677,$129678,$129679,$129680,$129681,$129682),(nextval($129683),$129684,$129685,$129686,$129687,$129688,$129689,$129690,$129691,$129692,$129693,$129694,$129695,$129696),(nextval($129697),$129698,$129699,$129700,$129701,$129702,$129703,$129704,$129705,$129706,$129707,$129708,$129709,$129710),(nextval($129711),$129712,$129713,$129714,$129715,$129716,$129717,$129718,$129719,$129720,$129721,$129722,$129723,$129724),(nextval($129725),$129726,$129727,$129728,$129729,$129730,$129731,$129732,$129733,$129734,$129735,$129736,$129737,$129738),(nextval($129739),$129740,$129741,$129742,$129743,$129744,$129745,$129746,$129747,$129748,$129749,$129750,$129751,$129752),(nextval($129753),$129754,$129755,$129756,$129757,$129758,$129759,$129760,$129761,$129762,$129763,$129764,$129765,$129766),(nextval($129767),$129768,$129769,$129770,$129771,$129772,$129773,$129774,$129775,$129776,$129777,$129778,$129779,$129780),(nextval($129781),$129782,$129783,$129784,$129785,$129786,$129787,$129788,$129789,$129790,$129791,$129792,$129793,$129794),(nextval($129795),$129796,$129797,$129798,$129799,$129800,$129801,$129802,$129803,$129804,$129805,$129806,$129807,$129808),(nextval($129809),$129810,$129811,$129812,$129813,$129814,$129815,$129816,$129817,$129818,$129819,$129820,$129821,$129822),(nextval($129823),$129824,$129825,$129826,$129827,$129828,$129829,$129830,$129831,$129832,$129833,$129834,$129835,$129836),(nextval($129837),$129838,$129839,$129840,$129841,$129842,$129843,$129844,$129845,$129846,$129847,$129848,$129849,$129850),(nextval($129851),$129852,$129853,$129854,$129855,$129856,$129857,$129858,$129859,$129860,$129861,$129862,$129863,$129864),(nextval($129865),$129866,$129867,$129868,$129869,$129870,$129871,$129872,$129873,$129874,$129875,$129876,$129877,$129878),(nextval($129879),$129880,$129881,$129882,$129883,$129884,$129885,$129886,$129887,$129888,$129889,$129890,$129891,$129892),(nextval($129893),$129894,$129895,$129896,$129897,$129898,$129899,$129900,$129901,$129902,$129903,$129904,$129905,$129906),(nextval($129907),$129908,$129909,$129910,$129911,$129912,$129913,$129914,$129915,$129916,$129917,$129918,$129919,$129920),(nextval($129921),$129922,$129923,$129924,$129925,$129926,$129927,$129928,$129929,$129930,$129931,$129932,$129933,$129934),(nextval($129935),$129936,$129937,$129938,$129939,$129940,$129941,$129942,$129943,$129944,$129945,$129946,$129947,$129948),(nextval($129949),$129950,$129951,$129952,$129953,$129954,$129955,$129956,$129957,$129958,$129959,$129960,$129961,$129962),(nextval($129963),$129964,$129965,$129966,$129967,$129968,$129969,$129970,$129971,$129972,$129973,$129974,$129975,$129976),(nextval($129977),$129978,$129979,$129980,$129981,$129982,$129983,$129984,$129985,$129986,$129987,$129988,$129989,$129990),(nextval($129991),$129992,$129993,$129994,$129995,$129996,$129997,$129998,$129999,$130000,$130001,$130002,$130003,$130004),(nextval($130005),$130006,$130007,$130008,$130009,$130010,$130011,$130012,$130013,$130014,$130015,$130016,$130017,$130018),(nextval($130019),$130020,$130021,$130022,$130023,$130024,$130025,$130026,$130027,$130028,$130029,$130030,$130031,$130032),(nextval($130033),$130034,$130035,$130036,$130037,$130038,$130039,$130040,$130041,$130042,$130043,$130044,$130045,$130046),(nextval($130047),$130048,$130049,$130050,$130051,$130052,$130053,$130054,$130055,$130056,$130057,$130058,$130059,$130060),(nextval($130061),$130062,$130063,$130064,$130065,$130066,$130067,$130068,$130069,$130070,$130071,$130072,$130073,$130074),(nextval($130075),$130076,$130077,$130078,$130079,$130080,$130081,$130082,$130083,$130084,$130085,$130086,$130087,$130088),(nextval($130089),$130090,$130091,$130092,$130093,$130094,$130095,$130096,$130097,$130098,$130099,$130100,$130101,$130102),(nextval($130103),$130104,$130105,$130106,$130107,$130108,$130109,$130110,$130111,$130112,$130113,$130114,$130115,$130116),(nextval($130117),$130118,$130119,$130120,$130121,$130122,$130123,$130124,$130125,$130126,$130127,$130128,$130129,$130130),(nextval($130131),$130132,$130133,$130134,$130135,$130136,$130137,$130138,$130139,$130140,$130141,$130142,$130143,$130144),(nextval($130145),$130146,$130147,$130148,$130149,$130150,$130151,$130152,$130153,$130154,$130155,$130156,$130157,$130158),(nextval($130159),$130160,$130161,$130162,$130163,$130164,$130165,$130166,$130167,$130168,$130169,$130170,$130171,$130172),(nextval($130173),$130174,$130175,$130176,$130177,$130178,$130179,$130180,$130181,$130182,$130183,$130184,$130185,$130186),(nextval($130187),$130188,$130189,$130190,$130191,$130192,$130193,$130194,$130195,$130196,$130197,$130198,$130199,$130200),(nextval($130201),$130202,$130203,$130204,$130205,$130206,$130207,$130208,$130209,$130210,$130211,$130212,$130213,$130214),(nextval($130215),$130216,$130217,$130218,$130219,$130220,$130221,$130222,$130223,$130224,$130225,$130226,$130227,$130228),(nextval($130229),$130230,$130231,$130232,$130233,$130234,$130235,$130236,$130237,$130238,$130239,$130240,$130241,$130242),(nextval($130243),$130244,$130245,$130246,$130247,$130248,$130249,$130250,$130251,$130252,$130253,$130254,$130255,$130256),(nextval($130257),$130258,$130259,$130260,$130261,$130262,$130263,$130264,$130265,$130266,$130267,$130268,$130269,$130270),(nextval($130271),$130272,$130273,$130274,$130275,$130276,$130277,$130278,$130279,$130280,$130281,$130282,$130283,$130284),(nextval($130285),$130286,$130287,$130288,$130289,$130290,$130291,$130292,$130293,$130294,$130295,$130296,$130297,$130298),(nextval($130299),$130300,$130301,$130302,$130303,$130304,$130305,$130306,$130307,$130308,$130309,$130310,$130311,$130312),(nextval($130313),$130314,$130315,$130316,$130317,$130318,$130319,$130320,$130321,$130322,$130323,$130324,$130325,$130326),(nextval($130327),$130328,$130329,$130330,$130331,$130332,$130333,$130334,$130335,$130336,$130337,$130338,$130339,$130340),(nextval($130341),$130342,$130343,$130344,$130345,$130346,$130347,$130348,$130349,$130350,$130351,$130352,$130353,$130354),(nextval($130355),$130356,$130357,$130358,$130359,$130360,$130361,$130362,$130363,$130364,$130365,$130366,$130367,$130368),(nextval($130369),$130370,$130371,$130372,$130373,$130374,$130375,$130376,$130377,$130378,$130379,$130380,$130381,$130382),(nextval($130383),$130384,$130385,$130386,$130387,$130388,$130389,$130390,$130391,$130392,$130393,$130394,$130395,$130396),(nextval($130397),$130398,$130399,$130400,$130401,$130402,$130403,$130404,$130405,$130406,$130407,$130408,$130409,$130410),(nextval($130411),$130412,$130413,$130414,$130415,$130416,$130417,$130418,$130419,$130420,$130421,$130422,$130423,$130424),(nextval($130425),$130426,$130427,$130428,$130429,$130430,$130431,$130432,$130433,$130434,$130435,$130436,$130437,$130438),(nextval($130439),$130440,$130441,$130442,$130443,$130444,$130445,$130446,$130447,$130448,$130449,$130450,$130451,$130452),(nextval($130453),$130454,$130455,$130456,$130457,$130458,$130459,$130460,$130461,$130462,$130463,$130464,$130465,$130466),(nextval($130467),$130468,$130469,$130470,$130471,$130472,$130473,$130474,$130475,$130476,$130477,$130478,$130479,$130480),(nextval($130481),$130482,$130483,$130484,$130485,$130486,$130487,$130488,$130489,$130490,$130491,$130492,$130493,$130494),(nextval($130495),$130496,$130497,$130498,$130499,$130500,$130501,$130502,$130503,$130504,$130505,$130506,$130507,$130508),(nextval($130509),$130510,$130511,$130512,$130513,$130514,$130515,$130516,$130517,$130518,$130519,$130520,$130521,$130522),(nextval($130523),$130524,$130525,$130526,$130527,$130528,$130529,$130530,$130531,$130532,$130533,$130534,$130535,$130536),(nextval($130537),$130538,$130539,$130540,$130541,$130542,$130543,$130544,$130545,$130546,$130547,$130548,$130549,$130550),(nextval($130551),$130552,$130553,$130554,$130555,$130556,$130557,$130558,$130559,$130560,$130561,$130562,$130563,$130564),(nextval($130565),$130566,$130567,$130568,$130569,$130570,$130571,$130572,$130573,$130574,$130575,$130576,$130577,$130578),(nextval($130579),$130580,$130581,$130582,$130583,$130584,$130585,$130586,$130587,$130588,$130589,$130590,$130591,$130592),(nextval($130593),$130594,$130595,$130596,$130597,$130598,$130599,$130600,$130601,$130602,$130603,$130604,$130605,$130606),(nextval($130607),$130608,$130609,$130610,$130611,$130612,$130613,$130614,$130615,$130616,$130617,$130618,$130619,$130620),(nextval($130621),$130622,$130623,$130624,$130625,$130626,$130627,$130628,$130629,$130630,$130631,$130632,$130633,$130634),(nextval($130635),$130636,$130637,$130638,$130639,$130640,$130641,$130642,$130643,$130644,$130645,$130646,$130647,$130648),(nextval($130649),$130650,$130651,$130652,$130653,$130654,$130655,$130656,$130657,$130658,$130659,$130660,$130661,$130662),(nextval($130663),$130664,$130665,$130666,$130667,$130668,$130669,$130670,$130671,$130672,$130673,$130674,$130675,$130676),(nextval($130677),$130678,$130679,$130680,$130681,$130682,$130683,$130684,$130685,$130686,$130687,$130688,$130689,$130690),(nextval($130691),$130692,$130693,$130694,$130695,$130696,$130697,$130698,$130699,$130700,$130701,$130702,$130703,$130704),(nextval($130705),$130706,$130707,$130708,$130709,$130710,$130711,$130712,$130713,$130714,$130715,$130716,$130717,$130718),(nextval($130719),$130720,$130721,$130722,$130723,$130724,$130725,$130726,$130727,$130728,$130729,$130730,$130731,$130732),(nextval($130733),$130734,$130735,$130736,$130737,$130738,$130739,$130740,$130741,$130742,$130743,$130744,$130745,$130746),(nextval($130747),$130748,$130749,$130750,$130751,$130752,$130753,$130754,$130755,$130756,$130757,$130758,$130759,$130760),(nextval($130761),$130762,$130763,$130764,$130765,$130766,$130767,$130768,$130769,$130770,$130771,$130772,$130773,$130774),(nextval($130775),$130776,$130777,$130778,$130779,$130780,$130781,$130782,$130783,$130784,$130785,$130786,$130787,$130788),(nextval($130789),$130790,$130791,$130792,$130793,$130794,$130795,$130796,$130797,$130798,$130799,$130800,$130801,$130802),(nextval($130803),$130804,$130805,$130806,$130807,$130808,$130809,$130810,$130811,$130812,$130813,$130814,$130815,$130816),(nextval($130817),$130818,$130819,$130820,$130821,$130822,$130823,$130824,$130825,$130826,$130827,$130828,$130829,$130830),(nextval($130831),$130832,$130833,$130834,$130835,$130836,$130837,$130838,$130839,$130840,$130841,$130842,$130843,$130844),(nextval($130845),$130846,$130847,$130848,$130849,$130850,$130851,$130852,$130853,$130854,$130855,$130856,$130857,$130858),(nextval($130859),$130860,$130861,$130862,$130863,$130864,$130865,$130866,$130867,$130868,$130869,$130870,$130871,$130872),(nextval($130873),$130874,$130875,$130876,$130877,$130878,$130879,$130880,$130881,$130882,$130883,$130884,$130885,$130886),(nextval($130887),$130888,$130889,$130890,$130891,$130892,$130893,$130894,$130895,$130896,$130897,$130898,$130899,$130900),(nextval($130901),$130902,$130903,$130904,$130905,$130906,$130907,$130908,$130909,$130910,$130911,$130912,$130913,$130914),(nextval($130915),$130916,$130917,$130918,$130919,$130920,$130921,$130922,$130923,$130924,$130925,$130926,$130927,$130928),(nextval($130929),$130930,$130931,$130932,$130933,$130934,$130935,$130936,$130937,$130938,$130939,$130940,$130941,$130942),(nextval($130943),$130944,$130945,$130946,$130947,$130948,$130949,$130950,$130951,$130952,$130953,$130954,$130955,$130956),(nextval($130957),$130958,$130959,$130960,$130961,$130962,$130963,$130964,$130965,$130966,$130967,$130968,$130969,$130970),(nextval($130971),$130972,$130973,$130974,$130975,$130976,$130977,$130978,$130979,$130980,$130981,$130982,$130983,$130984),(nextval($130985),$130986,$130987,$130988,$130989,$130990,$130991,$130992,$130993,$130994,$130995,$130996,$130997,$130998),(nextval($130999),$131000,$131001,$131002,$131003,$131004,$131005,$131006,$131007,$131008,$131009,$131010,$131011,$131012),(nextval($131013),$131014,$131015,$131016,$131017,$131018,$131019,$131020,$131021,$131022,$131023,$131024,$131025,$131026),(nextval($131027),$131028,$131029,$131030,$131031,$131032,$131033,$131034,$131035,$131036,$131037,$131038,$131039,$131040),(nextval($131041),$131042,$131043,$131044,$131045,$131046,$131047,$131048,$131049,$131050,$131051,$131052,$131053,$131054),(nextval($131055),$131056,$131057,$131058,$131059,$131060,$131061,$131062,$131063,$131064,$131065,$131066,$131067,$131068),(nextval($131069),$131070,$131071,$131072,$131073,$131074,$131075,$131076,$131077,$131078,$131079,$131080,$131081,$131082),(nextval($131083),$131084,$131085,$131086,$131087,$131088,$131089,$131090,$131091,$131092,$131093,$131094,$131095,$131096),(nextval($131097),$131098,$131099,$131100,$131101,$131102,$131103,$131104,$131105,$131106,$131107,$131108,$131109,$131110),(nextval($131111),$131112,$131113,$131114,$131115,$131116,$131117,$131118,$131119,$131120,$131121,$131122,$131123,$131124),(nextval($131125),$131126,$131127,$131128,$131129,$131130,$131131,$131132,$131133,$131134,$131135,$131136,$131137,$131138),(nextval($131139),$131140,$131141,$131142,$131143,$131144,$131145,$131146,$131147,$131148,$131149,$131150,$131151,$131152),(nextval($131153),$131154,$131155,$131156,$131157,$131158,$131159,$131160,$131161,$131162,$131163,$131164,$131165,$131166),(nextval($131167),$131168,$131169,$131170,$131171,$131172,$131173,$131174,$131175,$131176,$131177,$131178,$131179,$131180),(nextval($131181),$131182,$131183,$131184,$131185,$131186,$131187,$131188,$131189,$131190,$131191,$131192,$131193,$131194),(nextval($131195),$131196,$131197,$131198,$131199,$131200,$131201,$131202,$131203,$131204,$131205,$131206,$131207,$131208),(nextval($131209),$131210,$131211,$131212,$131213,$131214,$131215,$131216,$131217,$131218,$131219,$131220,$131221,$131222),(nextval($131223),$131224,$131225,$131226,$131227,$131228,$131229,$131230,$131231,$131232,$131233,$131234,$131235,$131236),(nextval($131237),$131238,$131239,$131240,$131241,$131242,$131243,$131244,$131245,$131246,$131247,$131248,$131249,$131250),(nextval($131251),$131252,$131253,$131254,$131255,$131256,$131257,$131258,$131259,$131260,$131261,$131262,$131263,$131264),(nextval($131265),$131266,$131267,$131268,$131269,$131270,$131271,$131272,$131273,$131274,$131275,$131276,$131277,$131278),(nextval($131279),$131280,$131281,$131282,$131283,$131284,$131285,$131286,$131287,$131288,$131289,$131290,$131291,$131292),(nextval($131293),$131294,$131295,$131296,$131297,$131298,$131299,$131300,$131301,$131302,$131303,$131304,$131305,$131306),(nextval($131307),$131308,$131309,$131310,$131311,$131312,$131313,$131314,$131315,$131316,$131317,$131318,$131319,$131320),(nextval($131321),$131322,$131323,$131324,$131325,$131326,$131327,$131328,$131329,$131330,$131331,$131332,$131333,$131334),(nextval($131335),$131336,$131337,$131338,$131339,$131340,$131341,$131342,$131343,$131344,$131345,$131346,$131347,$131348),(nextval($131349),$131350,$131351,$131352,$131353,$131354,$131355,$131356,$131357,$131358,$131359,$131360,$131361,$131362),(nextval($131363),$131364,$131365,$131366,$131367,$131368,$131369,$131370,$131371,$131372,$131373,$131374,$131375,$131376),(nextval($131377),$131378,$131379,$131380,$131381,$131382,$131383,$131384,$131385,$131386,$131387,$131388,$131389,$131390),(nextval($131391),$131392,$131393,$131394,$131395,$131396,$131397,$131398,$131399,$131400,$131401,$131402,$131403,$131404),(nextval($131405),$131406,$131407,$131408,$131409,$131410,$131411,$131412,$131413,$131414,$131415,$131416,$131417,$131418),(nextval($131419),$131420,$131421,$131422,$131423,$131424,$131425,$131426,$131427,$131428,$131429,$131430,$131431,$131432),(nextval($131433),$131434,$131435,$131436,$131437,$131438,$131439,$131440,$131441,$131442,$131443,$131444,$131445,$131446),(nextval($131447),$131448,$131449,$131450,$131451,$131452,$131453,$131454,$131455,$131456,$131457,$131458,$131459,$131460),(nextval($131461),$131462,$131463,$131464,$131465,$131466,$131467,$131468,$131469,$131470,$131471,$131472,$131473,$131474),(nextval($131475),$131476,$131477,$131478,$131479,$131480,$131481,$131482,$131483,$131484,$131485,$131486,$131487,$131488),(nextval($131489),$131490,$131491,$131492,$131493,$131494,$131495,$131496,$131497,$131498,$131499,$131500,$131501,$131502),(nextval($131503),$131504,$131505,$131506,$131507,$131508,$131509,$131510,$131511,$131512,$131513,$131514,$131515,$131516),(nextval($131517),$131518,$131519,$131520,$131521,$131522,$131523,$131524,$131525,$131526,$131527,$131528,$131529,$131530),(nextval($131531),$131532,$131533,$131534,$131535,$131536,$131537,$131538,$131539,$131540,$131541,$131542,$131543,$131544),(nextval($131545),$131546,$131547,$131548,$131549,$131550,$131551,$131552,$131553,$131554,$131555,$131556,$131557,$131558),(nextval($131559),$131560,$131561,$131562,$131563,$131564,$131565,$131566,$131567,$131568,$131569,$131570,$131571,$131572),(nextval($131573),$131574,$131575,$131576,$131577,$131578,$131579,$131580,$131581,$131582,$131583,$131584,$131585,$131586),(nextval($131587),$131588,$131589,$131590,$131591,$131592,$131593,$131594,$131595,$131596,$131597,$131598,$131599,$131600),(nextval($131601),$131602,$131603,$131604,$131605,$131606,$131607,$131608,$131609,$131610,$131611,$131612,$131613,$131614),(nextval($131615),$131616,$131617,$131618,$131619,$131620,$131621,$131622,$131623,$131624,$131625,$131626,$131627,$131628),(nextval($131629),$131630,$131631,$131632,$131633,$131634,$131635,$131636,$131637,$131638,$131639,$131640,$131641,$131642),(nextval($131643),$131644,$131645,$131646,$131647,$131648,$131649,$131650,$131651,$131652,$131653,$131654,$131655,$131656),(nextval($131657),$131658,$131659,$131660,$131661,$131662,$131663,$131664,$131665,$131666,$131667,$131668,$131669,$131670),(nextval($131671),$131672,$131673,$131674,$131675,$131676,$131677,$131678,$131679,$131680,$131681,$131682,$131683,$131684),(nextval($131685),$131686,$131687,$131688,$131689,$131690,$131691,$131692,$131693,$131694,$131695,$131696,$131697,$131698),(nextval($131699),$131700,$131701,$131702,$131703,$131704,$131705,$131706,$131707,$131708,$131709,$131710,$131711,$131712),(nextval($131713),$131714,$131715,$131716,$131717,$131718,$131719,$131720,$131721,$131722,$131723,$131724,$131725,$131726),(nextval($131727),$131728,$131729,$131730,$131731,$131732,$131733,$131734,$131735,$131736,$131737,$131738,$131739,$131740),(nextval($131741),$131742,$131743,$131744,$131745,$131746,$131747,$131748,$131749,$131750,$131751,$131752,$131753,$131754),(nextval($131755),$131756,$131757,$131758,$131759,$131760,$131761,$131762,$131763,$131764,$131765,$131766,$131767,$131768),(nextval($131769),$131770,$131771,$131772,$131773,$131774,$131775,$131776,$131777,$131778,$131779,$131780,$131781,$131782),(nextval($131783),$131784,$131785,$131786,$131787,$131788,$131789,$131790,$131791,$131792,$131793,$131794,$131795,$131796),(nextval($131797),$131798,$131799,$131800,$131801,$131802,$131803,$131804,$131805,$131806,$131807,$131808,$131809,$131810),(nextval($131811),$131812,$131813,$131814,$131815,$131816,$131817,$131818,$131819,$131820,$131821,$131822,$131823,$131824),(nextval($131825),$131826,$131827,$131828,$131829,$131830,$131831,$131832,$131833,$131834,$131835,$131836,$131837,$131838),(nextval($131839),$131840,$131841,$131842,$131843,$131844,$131845,$131846,$131847,$131848,$131849,$131850,$131851,$131852),(nextval($131853),$131854,$131855,$131856,$131857,$131858,$131859,$131860,$131861,$131862,$131863,$131864,$131865,$131866),(nextval($131867),$131868,$131869,$131870,$131871,$131872,$131873,$131874,$131875,$131876,$131877,$131878,$131879,$131880),(nextval($131881),$131882,$131883,$131884,$131885,$131886,$131887,$131888,$131889,$131890,$131891,$131892,$131893,$131894),(nextval($131895),$131896,$131897,$131898,$131899,$131900,$131901,$131902,$131903,$131904,$131905,$131906,$131907,$131908),(nextval($131909),$131910,$131911,$131912,$131913,$131914,$131915,$131916,$131917,$131918,$131919,$131920,$131921,$131922),(nextval($131923),$131924,$131925,$131926,$131927,$131928,$131929,$131930,$131931,$131932,$131933,$131934,$131935,$131936),(nextval($131937),$131938,$131939,$131940,$131941,$131942,$131943,$131944,$131945,$131946,$131947,$131948,$131949,$131950),(nextval($131951),$131952,$131953,$131954,$131955,$131956,$131957,$131958,$131959,$131960,$131961,$131962,$131963,$131964),(nextval($131965),$131966,$131967,$131968,$131969,$131970,$131971,$131972,$131973,$131974,$131975,$131976,$131977,$131978),(nextval($131979),$131980,$131981,$131982,$131983,$131984,$131985,$131986,$131987,$131988,$131989,$131990,$131991,$131992),(nextval($131993),$131994,$131995,$131996,$131997,$131998,$131999,$132000,$132001,$132002,$132003,$132004,$132005,$132006),(nextval($132007),$132008,$132009,$132010,$132011,$132012,$132013,$132014,$132015,$132016,$132017,$132018,$132019,$132020),(nextval($132021),$132022,$132023,$132024,$132025,$132026,$132027,$132028,$132029,$132030,$132031,$132032,$132033,$132034),(nextval($132035),$132036,$132037,$132038,$132039,$132040,$132041,$132042,$132043,$132044,$132045,$132046,$132047,$132048),(nextval($132049),$132050,$132051,$132052,$132053,$132054,$132055,$132056,$132057,$132058,$132059,$132060,$132061,$132062),(nextval($132063),$132064,$132065,$132066,$132067,$132068,$132069,$132070,$132071,$132072,$132073,$132074,$132075,$132076),(nextval($132077),$132078,$132079,$132080,$132081,$132082,$132083,$132084,$132085,$132086,$132087,$132088,$132089,$132090),(nextval($132091),$132092,$132093,$132094,$132095,$132096,$132097,$132098,$132099,$132100,$132101,$132102,$132103,$132104),(nextval($132105),$132106,$132107,$132108,$132109,$132110,$132111,$132112,$132113,$132114,$132115,$132116,$132117,$132118),(nextval($132119),$132120,$132121,$132122,$132123,$132124,$132125,$132126,$132127,$132128,$132129,$132130,$132131,$132132),(nextval($132133),$132134,$132135,$132136,$132137,$132138,$132139,$132140,$132141,$132142,$132143,$132144,$132145,$132146),(nextval($132147),$132148,$132149,$132150,$132151,$132152,$132153,$132154,$132155,$132156,$132157,$132158,$132159,$132160),(nextval($132161),$132162,$132163,$132164,$132165,$132166,$132167,$132168,$132169,$132170,$132171,$132172,$132173,$132174),(nextval($132175),$132176,$132177,$132178,$132179,$132180,$132181,$132182,$132183,$132184,$132185,$132186,$132187,$132188),(nextval($132189),$132190,$132191,$132192,$132193,$132194,$132195,$132196,$132197,$132198,$132199,$132200,$132201,$132202),(nextval($132203),$132204,$132205,$132206,$132207,$132208,$132209,$132210,$132211,$132212,$132213,$132214,$132215,$132216),(nextval($132217),$132218,$132219,$132220,$132221,$132222,$132223,$132224,$132225,$132226,$132227,$132228,$132229,$132230),(nextval($132231),$132232,$132233,$132234,$132235,$132236,$132237,$132238,$132239,$132240,$132241,$132242,$132243,$132244),(nextval($132245),$132246,$132247,$132248,$132249,$132250,$132251,$132252,$132253,$132254,$132255,$132256,$132257,$132258),(nextval($132259),$132260,$132261,$132262,$132263,$132264,$132265,$132266,$132267,$132268,$132269,$132270,$132271,$132272),(nextval($132273),$132274,$132275,$132276,$132277,$132278,$132279,$132280,$132281,$132282,$132283,$132284,$132285,$132286),(nextval($132287),$132288,$132289,$132290,$132291,$132292,$132293,$132294,$132295,$132296,$132297,$132298,$132299,$132300),(nextval($132301),$132302,$132303,$132304,$132305,$132306,$132307,$132308,$132309,$132310,$132311,$132312,$132313,$132314),(nextval($132315),$132316,$132317,$132318,$132319,$132320,$132321,$132322,$132323,$132324,$132325,$132326,$132327,$132328),(nextval($132329),$132330,$132331,$132332,$132333,$132334,$132335,$132336,$132337,$132338,$132339,$132340,$132341,$132342),(nextval($132343),$132344,$132345,$132346,$132347,$132348,$132349,$132350,$132351,$132352,$132353,$132354,$132355,$132356),(nextval($132357),$132358,$132359,$132360,$132361,$132362,$132363,$132364,$132365,$132366,$132367,$132368,$132369,$132370),(nextval($132371),$132372,$132373,$132374,$132375,$132376,$132377,$132378,$132379,$132380,$132381,$132382,$132383,$132384),(nextval($132385),$132386,$132387,$132388,$132389,$132390,$132391,$132392,$132393,$132394,$132395,$132396,$132397,$132398),(nextval($132399),$132400,$132401,$132402,$132403,$132404,$132405,$132406,$132407,$132408,$132409,$132410,$132411,$132412),(nextval($132413),$132414,$132415,$132416,$132417,$132418,$132419,$132420,$132421,$132422,$132423,$132424,$132425,$132426),(nextval($132427),$132428,$132429,$132430,$132431,$132432,$132433,$132434,$132435,$132436,$132437,$132438,$132439,$132440),(nextval($132441),$132442,$132443,$132444,$132445,$132446,$132447,$132448,$132449,$132450,$132451,$132452,$132453,$132454),(nextval($132455),$132456,$132457,$132458,$132459,$132460,$132461,$132462,$132463,$132464,$132465,$132466,$132467,$132468),(nextval($132469),$132470,$132471,$132472,$132473,$132474,$132475,$132476,$132477,$132478,$132479,$132480,$132481,$132482),(nextval($132483),$132484,$132485,$132486,$132487,$132488,$132489,$132490,$132491,$132492,$132493,$132494,$132495,$132496),(nextval($132497),$132498,$132499,$132500,$132501,$132502,$132503,$132504,$132505,$132506,$132507,$132508,$132509,$132510),(nextval($132511),$132512,$132513,$132514,$132515,$132516,$132517,$132518,$132519,$132520,$132521,$132522,$132523,$132524),(nextval($132525),$132526,$132527,$132528,$132529,$132530,$132531,$132532,$132533,$132534,$132535,$132536,$132537,$132538),(nextval($132539),$132540,$132541,$132542,$132543,$132544,$132545,$132546,$132547,$132548,$132549,$132550,$132551,$132552),(nextval($132553),$132554,$132555,$132556,$132557,$132558,$132559,$132560,$132561,$132562,$132563,$132564,$132565,$132566),(nextval($132567),$132568,$132569,$132570,$132571,$132572,$132573,$132574,$132575,$132576,$132577,$132578,$132579,$132580),(nextval($132581),$132582,$132583,$132584,$132585,$132586,$132587,$132588,$132589,$132590,$132591,$132592,$132593,$132594),(nextval($132595),$132596,$132597,$132598,$132599,$132600,$132601,$132602,$132603,$132604,$132605,$132606,$132607,$132608),(nextval($132609),$132610,$132611,$132612,$132613,$132614,$132615,$132616,$132617,$132618,$132619,$132620,$132621,$132622),(nextval($132623),$132624,$132625,$132626,$132627,$132628,$132629,$132630,$132631,$132632,$132633,$132634,$132635,$132636),(nextval($132637),$132638,$132639,$132640,$132641,$132642,$132643,$132644,$132645,$132646,$132647,$132648,$132649,$132650),(nextval($132651),$132652,$132653,$132654,$132655,$132656,$132657,$132658,$132659,$132660,$132661,$132662,$132663,$132664),(nextval($132665),$132666,$132667,$132668,$132669,$132670,$132671,$132672,$132673,$132674,$132675,$132676,$132677,$132678),(nextval($132679),$132680,$132681,$132682,$132683,$132684,$132685,$132686,$132687,$132688,$132689,$132690,$132691,$132692),(nextval($132693),$132694,$132695,$132696,$132697,$132698,$132699,$132700,$132701,$132702,$132703,$132704,$132705,$132706),(nextval($132707),$132708,$132709,$132710,$132711,$132712,$132713,$132714,$132715,$132716,$132717,$132718,$132719,$132720),(nextval($132721),$132722,$132723,$132724,$132725,$132726,$132727,$132728,$132729,$132730,$132731,$132732,$132733,$132734),(nextval($132735),$132736,$132737,$132738,$132739,$132740,$132741,$132742,$132743,$132744,$132745,$132746,$132747,$132748),(nextval($132749),$132750,$132751,$132752,$132753,$132754,$132755,$132756,$132757,$132758,$132759,$132760,$132761,$132762),(nextval($132763),$132764,$132765,$132766,$132767,$132768,$132769,$132770,$132771,$132772,$132773,$132774,$132775,$132776),(nextval($132777),$132778,$132779,$132780,$132781,$132782,$132783,$132784,$132785,$132786,$132787,$132788,$132789,$132790),(nextval($132791),$132792,$132793,$132794,$132795,$132796,$132797,$132798,$132799,$132800,$132801,$132802,$132803,$132804),(nextval($132805),$132806,$132807,$132808,$132809,$132810,$132811,$132812,$132813,$132814,$132815,$132816,$132817,$132818),(nextval($132819),$132820,$132821,$132822,$132823,$132824,$132825,$132826,$132827,$132828,$132829,$132830,$132831,$132832),(nextval($132833),$132834,$132835,$132836,$132837,$132838,$132839,$132840,$132841,$132842,$132843,$132844,$132845,$132846),(nextval($132847),$132848,$132849,$132850,$132851,$132852,$132853,$132854,$132855,$132856,$132857,$132858,$132859,$132860),(nextval($132861),$132862,$132863,$132864,$132865,$132866,$132867,$132868,$132869,$132870,$132871,$132872,$132873,$132874),(nextval($132875),$132876,$132877,$132878,$132879,$132880,$132881,$132882,$132883,$132884,$132885,$132886,$132887,$132888),(nextval($132889),$132890,$132891,$132892,$132893,$132894,$132895,$132896,$132897,$132898,$132899,$132900,$132901,$132902),(nextval($132903),$132904,$132905,$132906,$132907,$132908,$132909,$132910,$132911,$132912,$132913,$132914,$132915,$132916),(nextval($132917),$132918,$132919,$132920,$132921,$132922,$132923,$132924,$132925,$132926,$132927,$132928,$132929,$132930),(nextval($132931),$132932,$132933,$132934,$132935,$132936,$132937,$132938,$132939,$132940,$132941,$132942,$132943,$132944),(nextval($132945),$132946,$132947,$132948,$132949,$132950,$132951,$132952,$132953,$132954,$132955,$132956,$132957,$132958),(nextval($132959),$132960,$132961,$132962,$132963,$132964,$132965,$132966,$132967,$132968,$132969,$132970,$132971,$132972),(nextval($132973),$132974,$132975,$132976,$132977,$132978,$132979,$132980,$132981,$132982,$132983,$132984,$132985,$132986),(nextval($132987),$132988,$132989,$132990,$132991,$132992,$132993,$132994,$132995,$132996,$132997,$132998,$132999,$133000),(nextval($133001),$133002,$133003,$133004,$133005,$133006,$133007,$133008,$133009,$133010,$133011,$133012,$133013,$133014),(nextval($133015),$133016,$133017,$133018,$133019,$133020,$133021,$133022,$133023,$133024,$133025,$133026,$133027,$133028),(nextval($133029),$133030,$133031,$133032,$133033,$133034,$133035,$133036,$133037,$133038,$133039,$133040,$133041,$133042),(nextval($133043),$133044,$133045,$133046,$133047,$133048,$133049,$133050,$133051,$133052,$133053,$133054,$133055,$133056),(nextval($133057),$133058,$133059,$133060,$133061,$133062,$133063,$133064,$133065,$133066,$133067,$133068,$133069,$133070),(nextval($133071),$133072,$133073,$133074,$133075,$133076,$133077,$133078,$133079,$133080,$133081,$133082,$133083,$133084),(nextval($133085),$133086,$133087,$133088,$133089,$133090,$133091,$133092,$133093,$133094,$133095,$133096,$133097,$133098),(nextval($133099),$133100,$133101,$133102,$133103,$133104,$133105,$133106,$133107,$133108,$133109,$133110,$133111,$133112),(nextval($133113),$133114,$133115,$133116,$133117,$133118,$133119,$133120,$133121,$133122,$133123,$133124,$133125,$133126),(nextval($133127),$133128,$133129,$133130,$133131,$133132,$133133,$133134,$133135,$133136,$133137,$133138,$133139,$133140),(nextval($133141),$133142,$133143,$133144,$133145,$133146,$133147,$133148,$133149,$133150,$133151,$133152,$133153,$133154),(nextval($133155),$133156,$133157,$133158,$133159,$133160,$133161,$133162,$133163,$133164,$133165,$133166,$133167,$133168),(nextval($133169),$133170,$133171,$133172,$133173,$133174,$133175,$133176,$133177,$133178,$133179,$133180,$133181,$133182),(nextval($133183),$133184,$133185,$133186,$133187,$133188,$133189,$133190,$133191,$133192,$133193,$133194,$133195,$133196),(nextval($133197),$133198,$133199,$133200,$133201,$133202,$133203,$133204,$133205,$133206,$133207,$133208,$133209,$133210),(nextval($133211),$133212,$133213,$133214,$133215,$133216,$133217,$133218,$133219,$133220,$133221,$133222,$133223,$133224),(nextval($133225),$133226,$133227,$133228,$133229,$133230,$133231,$133232,$133233,$133234,$133235,$133236,$133237,$133238),(nextval($133239),$133240,$133241,$133242,$133243,$133244,$133245,$133246,$133247,$133248,$133249,$133250,$133251,$133252),(nextval($133253),$133254,$133255,$133256,$133257,$133258,$133259,$133260,$133261,$133262,$133263,$133264,$133265,$133266),(nextval($133267),$133268,$133269,$133270,$133271,$133272,$133273,$133274,$133275,$133276,$133277,$133278,$133279,$133280),(nextval($133281),$133282,$133283,$133284,$133285,$133286,$133287,$133288,$133289,$133290,$133291,$133292,$133293,$133294),(nextval($133295),$133296,$133297,$133298,$133299,$133300,$133301,$133302,$133303,$133304,$133305,$133306,$133307,$133308),(nextval($133309),$133310,$133311,$133312,$133313,$133314,$133315,$133316,$133317,$133318,$133319,$133320,$133321,$133322),(nextval($133323),$133324,$133325,$133326,$133327,$133328,$133329,$133330,$133331,$133332,$133333,$133334,$133335,$133336),(nextval($133337),$133338,$133339,$133340,$133341,$133342,$133343,$133344,$133345,$133346,$133347,$133348,$133349,$133350),(nextval($133351),$133352,$133353,$133354,$133355,$133356,$133357,$133358,$133359,$133360,$133361,$133362,$133363,$133364),(nextval($133365),$133366,$133367,$133368,$133369,$133370,$133371,$133372,$133373,$133374,$133375,$133376,$133377,$133378),(nextval($133379),$133380,$133381,$133382,$133383,$133384,$133385,$133386,$133387,$133388,$133389,$133390,$133391,$133392),(nextval($133393),$133394,$133395,$133396,$133397,$133398,$133399,$133400,$133401,$133402,$133403,$133404,$133405,$133406),(nextval($133407),$133408,$133409,$133410,$133411,$133412,$133413,$133414,$133415,$133416,$133417,$133418,$133419,$133420),(nextval($133421),$133422,$133423,$133424,$133425,$133426,$133427,$133428,$133429,$133430,$133431,$133432,$133433,$133434),(nextval($133435),$133436,$133437,$133438,$133439,$133440,$133441,$133442,$133443,$133444,$133445,$133446,$133447,$133448),(nextval($133449),$133450,$133451,$133452,$133453,$133454,$133455,$133456,$133457,$133458,$133459,$133460,$133461,$133462),(nextval($133463),$133464,$133465,$133466,$133467,$133468,$133469,$133470,$133471,$133472,$133473,$133474,$133475,$133476),(nextval($133477),$133478,$133479,$133480,$133481,$133482,$133483,$133484,$133485,$133486,$133487,$133488,$133489,$133490),(nextval($133491),$133492,$133493,$133494,$133495,$133496,$133497,$133498,$133499,$133500,$133501,$133502,$133503,$133504),(nextval($133505),$133506,$133507,$133508,$133509,$133510,$133511,$133512,$133513,$133514,$133515,$133516,$133517,$133518),(nextval($133519),$133520,$133521,$133522,$133523,$133524,$133525,$133526,$133527,$133528,$133529,$133530,$133531,$133532),(nextval($133533),$133534,$133535,$133536,$133537,$133538,$133539,$133540,$133541,$133542,$133543,$133544,$133545,$133546),(nextval($133547),$133548,$133549,$133550,$133551,$133552,$133553,$133554,$133555,$133556,$133557,$133558,$133559,$133560),(nextval($133561),$133562,$133563,$133564,$133565,$133566,$133567,$133568,$133569,$133570,$133571,$133572,$133573,$133574),(nextval($133575),$133576,$133577,$133578,$133579,$133580,$133581,$133582,$133583,$133584,$133585,$133586,$133587,$133588),(nextval($133589),$133590,$133591,$133592,$133593,$133594,$133595,$133596,$133597,$133598,$133599,$133600,$133601,$133602),(nextval($133603),$133604,$133605,$133606,$133607,$133608,$133609,$133610,$133611,$133612,$133613,$133614,$133615,$133616),(nextval($133617),$133618,$133619,$133620,$133621,$133622,$133623,$133624,$133625,$133626,$133627,$133628,$133629,$133630),(nextval($133631),$133632,$133633,$133634,$133635,$133636,$133637,$133638,$133639,$133640,$133641,$133642,$133643,$133644),(nextval($133645),$133646,$133647,$133648,$133649,$133650,$133651,$133652,$133653,$133654,$133655,$133656,$133657,$133658),(nextval($133659),$133660,$133661,$133662,$133663,$133664,$133665,$133666,$133667,$133668,$133669,$133670,$133671,$133672),(nextval($133673),$133674,$133675,$133676,$133677,$133678,$133679,$133680,$133681,$133682,$133683,$133684,$133685,$133686),(nextval($133687),$133688,$133689,$133690,$133691,$133692,$133693,$133694,$133695,$133696,$133697,$133698,$133699,$133700),(nextval($133701),$133702,$133703,$133704,$133705,$133706,$133707,$133708,$133709,$133710,$133711,$133712,$133713,$133714),(nextval($133715),$133716,$133717,$133718,$133719,$133720,$133721,$133722,$133723,$133724,$133725,$133726,$133727,$133728),(nextval($133729),$133730,$133731,$133732,$133733,$133734,$133735,$133736,$133737,$133738,$133739,$133740,$133741,$133742),(nextval($133743),$133744,$133745,$133746,$133747,$133748,$133749,$133750,$133751,$133752,$133753,$133754,$133755,$133756),(nextval($133757),$133758,$133759,$133760,$133761,$133762,$133763,$133764,$133765,$133766,$133767,$133768,$133769,$133770),(nextval($133771),$133772,$133773,$133774,$133775,$133776,$133777,$133778,$133779,$133780,$133781,$133782,$133783,$133784),(nextval($133785),$133786,$133787,$133788,$133789,$133790,$133791,$133792,$133793,$133794,$133795,$133796,$133797,$133798),(nextval($133799),$133800,$133801,$133802,$133803,$133804,$133805,$133806,$133807,$133808,$133809,$133810,$133811,$133812),(nextval($133813),$133814,$133815,$133816,$133817,$133818,$133819,$133820,$133821,$133822,$133823,$133824,$133825,$133826),(nextval($133827),$133828,$133829,$133830,$133831,$133832,$133833,$133834,$133835,$133836,$133837,$133838,$133839,$133840),(nextval($133841),$133842,$133843,$133844,$133845,$133846,$133847,$133848,$133849,$133850,$133851,$133852,$133853,$133854),(nextval($133855),$133856,$133857,$133858,$133859,$133860,$133861,$133862,$133863,$133864,$133865,$133866,$133867,$133868),(nextval($133869),$133870,$133871,$133872,$133873,$133874,$133875,$133876,$133877,$133878,$133879,$133880,$133881,$133882),(nextval($133883),$133884,$133885,$133886,$133887,$133888,$133889,$133890,$133891,$133892,$133893,$133894,$133895,$133896),(nextval($133897),$133898,$133899,$133900,$133901,$133902,$133903,$133904,$133905,$133906,$133907,$133908,$133909,$133910),(nextval($133911),$133912,$133913,$133914,$133915,$133916,$133917,$133918,$133919,$133920,$133921,$133922,$133923,$133924),(nextval($133925),$133926,$133927,$133928,$133929,$133930,$133931,$133932,$133933,$133934,$133935,$133936,$133937,$133938),(nextval($133939),$133940,$133941,$133942,$133943,$133944,$133945,$133946,$133947,$133948,$133949,$133950,$133951,$133952),(nextval($133953),$133954,$133955,$133956,$133957,$133958,$133959,$133960,$133961,$133962,$133963,$133964,$133965,$133966),(nextval($133967),$133968,$133969,$133970,$133971,$133972,$133973,$133974,$133975,$133976,$133977,$133978,$133979,$133980),(nextval($133981),$133982,$133983,$133984,$133985,$133986,$133987,$133988,$133989,$133990,$133991,$133992,$133993,$133994),(nextval($133995),$133996,$133997,$133998,$133999,$134000,$134001,$134002,$134003,$134004,$134005,$134006,$134007,$134008),(nextval($134009),$134010,$134011,$134012,$134013,$134014,$134015,$134016,$134017,$134018,$134019,$134020,$134021,$134022),(nextval($134023),$134024,$134025,$134026,$134027,$134028,$134029,$134030,$134031,$134032,$134033,$134034,$134035,$134036),(nextval($134037),$134038,$134039,$134040,$134041,$134042,$134043,$134044,$134045,$134046,$134047,$134048,$134049,$134050),(nextval($134051),$134052,$134053,$134054,$134055,$134056,$134057,$134058,$134059,$134060,$134061,$134062,$134063,$134064),(nextval($134065),$134066,$134067,$134068,$134069,$134070,$134071,$134072,$134073,$134074,$134075,$134076,$134077,$134078),(nextval($134079),$134080,$134081,$134082,$134083,$134084,$134085,$134086,$134087,$134088,$134089,$134090,$134091,$134092),(nextval($134093),$134094,$134095,$134096,$134097,$134098,$134099,$134100,$134101,$134102,$134103,$134104,$134105,$134106),(nextval($134107),$134108,$134109,$134110,$134111,$134112,$134113,$134114,$134115,$134116,$134117,$134118,$134119,$134120),(nextval($134121),$134122,$134123,$134124,$134125,$134126,$134127,$134128,$134129,$134130,$134131,$134132,$134133,$134134),(nextval($134135),$134136,$134137,$134138,$134139,$134140,$134141,$134142,$134143,$134144,$134145,$134146,$134147,$134148),(nextval($134149),$134150,$134151,$134152,$134153,$134154,$134155,$134156,$134157,$134158,$134159,$134160,$134161,$134162),(nextval($134163),$134164,$134165,$134166,$134167,$134168,$134169,$134170,$134171,$134172,$134173,$134174,$134175,$134176),(nextval($134177),$134178,$134179,$134180,$134181,$134182,$134183,$134184,$134185,$134186,$134187,$134188,$134189,$134190),(nextval($134191),$134192,$134193,$134194,$134195,$134196,$134197,$134198,$134199,$134200,$134201,$134202,$134203,$134204),(nextval($134205),$134206,$134207,$134208,$134209,$134210,$134211,$134212,$134213,$134214,$134215,$134216,$134217,$134218),(nextval($134219),$134220,$134221,$134222,$134223,$134224,$134225,$134226,$134227,$134228,$134229,$134230,$134231,$134232),(nextval($134233),$134234,$134235,$134236,$134237,$134238,$134239,$134240,$134241,$134242,$134243,$134244,$134245,$134246),(nextval($134247),$134248,$134249,$134250,$134251,$134252,$134253,$134254,$134255,$134256,$134257,$134258,$134259,$134260),(nextval($134261),$134262,$134263,$134264,$134265,$134266,$134267,$134268,$134269,$134270,$134271,$134272,$134273,$134274),(nextval($134275),$134276,$134277,$134278,$134279,$134280,$134281,$134282,$134283,$134284,$134285,$134286,$134287,$134288),(nextval($134289),$134290,$134291,$134292,$134293,$134294,$134295,$134296,$134297,$134298,$134299,$134300,$134301,$134302),(nextval($134303),$134304,$134305,$134306,$134307,$134308,$134309,$134310,$134311,$134312,$134313,$134314,$134315,$134316),(nextval($134317),$134318,$134319,$134320,$134321,$134322,$134323,$134324,$134325,$134326,$134327,$134328,$134329,$134330),(nextval($134331),$134332,$134333,$134334,$134335,$134336,$134337,$134338,$134339,$134340,$134341,$134342,$134343,$134344),(nextval($134345),$134346,$134347,$134348,$134349,$134350,$134351,$134352,$134353,$134354,$134355,$134356,$134357,$134358),(nextval($134359),$134360,$134361,$134362,$134363,$134364,$134365,$134366,$134367,$134368,$134369,$134370,$134371,$134372),(nextval($134373),$134374,$134375,$134376,$134377,$134378,$134379,$134380,$134381,$134382,$134383,$134384,$134385,$134386),(nextval($134387),$134388,$134389,$134390,$134391,$134392,$134393,$134394,$134395,$134396,$134397,$134398,$134399,$134400),(nextval($134401),$134402,$134403,$134404,$134405,$134406,$134407,$134408,$134409,$134410,$134411,$134412,$134413,$134414),(nextval($134415),$134416,$134417,$134418,$134419,$134420,$134421,$134422,$134423,$134424,$134425,$134426,$134427,$134428),(nextval($134429),$134430,$134431,$134432,$134433,$134434,$134435,$134436,$134437,$134438,$134439,$134440,$134441,$134442),(nextval($134443),$134444,$134445,$134446,$134447,$134448,$134449,$134450,$134451,$134452,$134453,$134454,$134455,$134456),(nextval($134457),$134458,$134459,$134460,$134461,$134462,$134463,$134464,$134465,$134466,$134467,$134468,$134469,$134470),(nextval($134471),$134472,$134473,$134474,$134475,$134476,$134477,$134478,$134479,$134480,$134481,$134482,$134483,$134484),(nextval($134485),$134486,$134487,$134488,$134489,$134490,$134491,$134492,$134493,$134494,$134495,$134496,$134497,$134498),(nextval($134499),$134500,$134501,$134502,$134503,$134504,$134505,$134506,$134507,$134508,$134509,$134510,$134511,$134512),(nextval($134513),$134514,$134515,$134516,$134517,$134518,$134519,$134520,$134521,$134522,$134523,$134524,$134525,$134526),(nextval($134527),$134528,$134529,$134530,$134531,$134532,$134533,$134534,$134535,$134536,$134537,$134538,$134539,$134540),(nextval($134541),$134542,$134543,$134544,$134545,$134546,$134547,$134548,$134549,$134550,$134551,$134552,$134553,$134554),(nextval($134555),$134556,$134557,$134558,$134559,$134560,$134561,$134562,$134563,$134564,$134565,$134566,$134567,$134568),(nextval($134569),$134570,$134571,$134572,$134573,$134574,$134575,$134576,$134577,$134578,$134579,$134580,$134581,$134582),(nextval($134583),$134584,$134585,$134586,$134587,$134588,$134589,$134590,$134591,$134592,$134593,$134594,$134595,$134596),(nextval($134597),$134598,$134599,$134600,$134601,$134602,$134603,$134604,$134605,$134606,$134607,$134608,$134609,$134610),(nextval($134611),$134612,$134613,$134614,$134615,$134616,$134617,$134618,$134619,$134620,$134621,$134622,$134623,$134624),(nextval($134625),$134626,$134627,$134628,$134629,$134630,$134631,$134632,$134633,$134634,$134635,$134636,$134637,$134638),(nextval($134639),$134640,$134641,$134642,$134643,$134644,$134645,$134646,$134647,$134648,$134649,$134650,$134651,$134652),(nextval($134653),$134654,$134655,$134656,$134657,$134658,$134659,$134660,$134661,$134662,$134663,$134664,$134665,$134666),(nextval($134667),$134668,$134669,$134670,$134671,$134672,$134673,$134674,$134675,$134676,$134677,$134678,$134679,$134680),(nextval($134681),$134682,$134683,$134684,$134685,$134686,$134687,$134688,$134689,$134690,$134691,$134692,$134693,$134694),(nextval($134695),$134696,$134697,$134698,$134699,$134700,$134701,$134702,$134703,$134704,$134705,$134706,$134707,$134708),(nextval($134709),$134710,$134711,$134712,$134713,$134714,$134715,$134716,$134717,$134718,$134719,$134720,$134721,$134722),(nextval($134723),$134724,$134725,$134726,$134727,$134728,$134729,$134730,$134731,$134732,$134733,$134734,$134735,$134736),(nextval($134737),$134738,$134739,$134740,$134741,$134742,$134743,$134744,$134745,$134746,$134747,$134748,$134749,$134750),(nextval($134751),$134752,$134753,$134754,$134755,$134756,$134757,$134758,$134759,$134760,$134761,$134762,$134763,$134764),(nextval($134765),$134766,$134767,$134768,$134769,$134770,$134771,$134772,$134773,$134774,$134775,$134776,$134777,$134778),(nextval($134779),$134780,$134781,$134782,$134783,$134784,$134785,$134786,$134787,$134788,$134789,$134790,$134791,$134792),(nextval($134793),$134794,$134795,$134796,$134797,$134798,$134799,$134800,$134801,$134802,$134803,$134804,$134805,$134806),(nextval($134807),$134808,$134809,$134810,$134811,$134812,$134813,$134814,$134815,$134816,$134817,$134818,$134819,$134820),(nextval($134821),$134822,$134823,$134824,$134825,$134826,$134827,$134828,$134829,$134830,$134831,$134832,$134833,$134834),(nextval($134835),$134836,$134837,$134838,$134839,$134840,$134841,$134842,$134843,$134844,$134845,$134846,$134847,$134848),(nextval($134849),$134850,$134851,$134852,$134853,$134854,$134855,$134856,$134857,$134858,$134859,$134860,$134861,$134862),(nextval($134863),$134864,$134865,$134866,$134867,$134868,$134869,$134870,$134871,$134872,$134873,$134874,$134875,$134876),(nextval($134877),$134878,$134879,$134880,$134881,$134882,$134883,$134884,$134885,$134886,$134887,$134888,$134889,$134890),(nextval($134891),$134892,$134893,$134894,$134895,$134896,$134897,$134898,$134899,$134900,$134901,$134902,$134903,$134904),(nextval($134905),$134906,$134907,$134908,$134909,$134910,$134911,$134912,$134913,$134914,$134915,$134916,$134917,$134918),(nextval($134919),$134920,$134921,$134922,$134923,$134924,$134925,$134926,$134927,$134928,$134929,$134930,$134931,$134932),(nextval($134933),$134934,$134935,$134936,$134937,$134938,$134939,$134940,$134941,$134942,$134943,$134944,$134945,$134946),(nextval($134947),$134948,$134949,$134950,$134951,$134952,$134953,$134954,$134955,$134956,$134957,$134958,$134959,$134960),(nextval($134961),$134962,$134963,$134964,$134965,$134966,$134967,$134968,$134969,$134970,$134971,$134972,$134973,$134974),(nextval($134975),$134976,$134977,$134978,$134979,$134980,$134981,$134982,$134983,$134984,$134985,$134986,$134987,$134988),(nextval($134989),$134990,$134991,$134992,$134993,$134994,$134995,$134996,$134997,$134998,$134999,$135000,$135001,$135002),(nextval($135003),$135004,$135005,$135006,$135007,$135008,$135009,$135010,$135011,$135012,$135013,$135014,$135015,$135016),(nextval($135017),$135018,$135019,$135020,$135021,$135022,$135023,$135024,$135025,$135026,$135027,$135028,$135029,$135030),(nextval($135031),$135032,$135033,$135034,$135035,$135036,$135037,$135038,$135039,$135040,$135041,$135042,$135043,$135044),(nextval($135045),$135046,$135047,$135048,$135049,$135050,$135051,$135052,$135053,$135054,$135055,$135056,$135057,$135058),(nextval($135059),$135060,$135061,$135062,$135063,$135064,$135065,$135066,$135067,$135068,$135069,$135070,$135071,$135072),(nextval($135073),$135074,$135075,$135076,$135077,$135078,$135079,$135080,$135081,$135082,$135083,$135084,$135085,$135086),(nextval($135087),$135088,$135089,$135090,$135091,$135092,$135093,$135094,$135095,$135096,$135097,$135098,$135099,$135100),(nextval($135101),$135102,$135103,$135104,$135105,$135106,$135107,$135108,$135109,$135110,$135111,$135112,$135113,$135114),(nextval($135115),$135116,$135117,$135118,$135119,$135120,$135121,$135122,$135123,$135124,$135125,$135126,$135127,$135128),(nextval($135129),$135130,$135131,$135132,$135133,$135134,$135135,$135136,$135137,$135138,$135139,$135140,$135141,$135142),(nextval($135143),$135144,$135145,$135146,$135147,$135148,$135149,$135150,$135151,$135152,$135153,$135154,$135155,$135156),(nextval($135157),$135158,$135159,$135160,$135161,$135162,$135163,$135164,$135165,$135166,$135167,$135168,$135169,$135170),(nextval($135171),$135172,$135173,$135174,$135175,$135176,$135177,$135178,$135179,$135180,$135181,$135182,$135183,$135184),(nextval($135185),$135186,$135187,$135188,$135189,$135190,$135191,$135192,$135193,$135194,$135195,$135196,$135197,$135198),(nextval($135199),$135200,$135201,$135202,$135203,$135204,$135205,$135206,$135207,$135208,$135209,$135210,$135211,$135212),(nextval($135213),$135214,$135215,$135216,$135217,$135218,$135219,$135220,$135221,$135222,$135223,$135224,$135225,$135226),(nextval($135227),$135228,$135229,$135230,$135231,$135232,$135233,$135234,$135235,$135236,$135237,$135238,$135239,$135240),(nextval($135241),$135242,$135243,$135244,$135245,$135246,$135247,$135248,$135249,$135250,$135251,$135252,$135253,$135254),(nextval($135255),$135256,$135257,$135258,$135259,$135260,$135261,$135262,$135263,$135264,$135265,$135266,$135267,$135268),(nextval($135269),$135270,$135271,$135272,$135273,$135274,$135275,$135276,$135277,$135278,$135279,$135280,$135281,$135282),(nextval($135283),$135284,$135285,$135286,$135287,$135288,$135289,$135290,$135291,$135292,$135293,$135294,$135295,$135296),(nextval($135297),$135298,$135299,$135300,$135301,$135302,$135303,$135304,$135305,$135306,$135307,$135308,$135309,$135310),(nextval($135311),$135312,$135313,$135314,$135315,$135316,$135317,$135318,$135319,$135320,$135321,$135322,$135323,$135324),(nextval($135325),$135326,$135327,$135328,$135329,$135330,$135331,$135332,$135333,$135334,$135335,$135336,$135337,$135338),(nextval($135339),$135340,$135341,$135342,$135343,$135344,$135345,$135346,$135347,$135348,$135349,$135350,$135351,$135352),(nextval($135353),$135354,$135355,$135356,$135357,$135358,$135359,$135360,$135361,$135362,$135363,$135364,$135365,$135366),(nextval($135367),$135368,$135369,$135370,$135371,$135372,$135373,$135374,$135375,$135376,$135377,$135378,$135379,$135380),(nextval($135381),$135382,$135383,$135384,$135385,$135386,$135387,$135388,$135389,$135390,$135391,$135392,$135393,$135394),(nextval($135395),$135396,$135397,$135398,$135399,$135400,$135401,$135402,$135403,$135404,$135405,$135406,$135407,$135408),(nextval($135409),$135410,$135411,$135412,$135413,$135414,$135415,$135416,$135417,$135418,$135419,$135420,$135421,$135422),(nextval($135423),$135424,$135425,$135426,$135427,$135428,$135429,$135430,$135431,$135432,$135433,$135434,$135435,$135436),(nextval($135437),$135438,$135439,$135440,$135441,$135442,$135443,$135444,$135445,$135446,$135447,$135448,$135449,$135450),(nextval($135451),$135452,$135453,$135454,$135455,$135456,$135457,$135458,$135459,$135460,$135461,$135462,$135463,$135464),(nextval($135465),$135466,$135467,$135468,$135469,$135470,$135471,$135472,$135473,$135474,$135475,$135476,$135477,$135478),(nextval($135479),$135480,$135481,$135482,$135483,$135484,$135485,$135486,$135487,$135488,$135489,$135490,$135491,$135492),(nextval($135493),$135494,$135495,$135496,$135497,$135498,$135499,$135500,$135501,$135502,$135503,$135504,$135505,$135506),(nextval($135507),$135508,$135509,$135510,$135511,$135512,$135513,$135514,$135515,$135516,$135517,$135518,$135519,$135520),(nextval($135521),$135522,$135523,$135524,$135525,$135526,$135527,$135528,$135529,$135530,$135531,$135532,$135533,$135534),(nextval($135535),$135536,$135537,$135538,$135539,$135540,$135541,$135542,$135543,$135544,$135545,$135546,$135547,$135548),(nextval($135549),$135550,$135551,$135552,$135553,$135554,$135555,$135556,$135557,$135558,$135559,$135560,$135561,$135562),(nextval($135563),$135564,$135565,$135566,$135567,$135568,$135569,$135570,$135571,$135572,$135573,$135574,$135575,$135576),(nextval($135577),$135578,$135579,$135580,$135581,$135582,$135583,$135584,$135585,$135586,$135587,$135588,$135589,$135590),(nextval($135591),$135592,$135593,$135594,$135595,$135596,$135597,$135598,$135599,$135600,$135601,$135602,$135603,$135604),(nextval($135605),$135606,$135607,$135608,$135609,$135610,$135611,$135612,$135613,$135614,$135615,$135616,$135617,$135618),(nextval($135619),$135620,$135621,$135622,$135623,$135624,$135625,$135626,$135627,$135628,$135629,$135630,$135631,$135632),(nextval($135633),$135634,$135635,$135636,$135637,$135638,$135639,$135640,$135641,$135642,$135643,$135644,$135645,$135646),(nextval($135647),$135648,$135649,$135650,$135651,$135652,$135653,$135654,$135655,$135656,$135657,$135658,$135659,$135660),(nextval($135661),$135662,$135663,$135664,$135665,$135666,$135667,$135668,$135669,$135670,$135671,$135672,$135673,$135674),(nextval($135675),$135676,$135677,$135678,$135679,$135680,$135681,$135682,$135683,$135684,$135685,$135686,$135687,$135688),(nextval($135689),$135690,$135691,$135692,$135693,$135694,$135695,$135696,$135697,$135698,$135699,$135700,$135701,$135702),(nextval($135703),$135704,$135705,$135706,$135707,$135708,$135709,$135710,$135711,$135712,$135713,$135714,$135715,$135716),(nextval($135717),$135718,$135719,$135720,$135721,$135722,$135723,$135724,$135725,$135726,$135727,$135728,$135729,$135730),(nextval($135731),$135732,$135733,$135734,$135735,$135736,$135737,$135738,$135739,$135740,$135741,$135742,$135743,$135744),(nextval($135745),$135746,$135747,$135748,$135749,$135750,$135751,$135752,$135753,$135754,$135755,$135756,$135757,$135758),(nextval($135759),$135760,$135761,$135762,$135763,$135764,$135765,$135766,$135767,$135768,$135769,$135770,$135771,$135772),(nextval($135773),$135774,$135775,$135776,$135777,$135778,$135779,$135780,$135781,$135782,$135783,$135784,$135785,$135786),(nextval($135787),$135788,$135789,$135790,$135791,$135792,$135793,$135794,$135795,$135796,$135797,$135798,$135799,$135800),(nextval($135801),$135802,$135803,$135804,$135805,$135806,$135807,$135808,$135809,$135810,$135811,$135812,$135813,$135814),(nextval($135815),$135816,$135817,$135818,$135819,$135820,$135821,$135822,$135823,$135824,$135825,$135826,$135827,$135828),(nextval($135829),$135830,$135831,$135832,$135833,$135834,$135835,$135836,$135837,$135838,$135839,$135840,$135841,$135842),(nextval($135843),$135844,$135845,$135846,$135847,$135848,$135849,$135850,$135851,$135852,$135853,$135854,$135855,$135856),(nextval($135857),$135858,$135859,$135860,$135861,$135862,$135863,$135864,$135865,$135866,$135867,$135868,$135869,$135870),(nextval($135871),$135872,$135873,$135874,$135875,$135876,$135877,$135878,$135879,$135880,$135881,$135882,$135883,$135884),(nextval($135885),$135886,$135887,$135888,$135889,$135890,$135891,$135892,$135893,$135894,$135895,$135896,$135897,$135898),(nextval($135899),$135900,$135901,$135902,$135903,$135904,$135905,$135906,$135907,$135908,$135909,$135910,$135911,$135912),(nextval($135913),$135914,$135915,$135916,$135917,$135918,$135919,$135920,$135921,$135922,$135923,$135924,$135925,$135926),(nextval($135927),$135928,$135929,$135930,$135931,$135932,$135933,$135934,$135935,$135936,$135937,$135938,$135939,$135940),(nextval($135941),$135942,$135943,$135944,$135945,$135946,$135947,$135948,$135949,$135950,$135951,$135952,$135953,$135954),(nextval($135955),$135956,$135957,$135958,$135959,$135960,$135961,$135962,$135963,$135964,$135965,$135966,$135967,$135968),(nextval($135969),$135970,$135971,$135972,$135973,$135974,$135975,$135976,$135977,$135978,$135979,$135980,$135981,$135982),(nextval($135983),$135984,$135985,$135986,$135987,$135988,$135989,$135990,$135991,$135992,$135993,$135994,$135995,$135996),(nextval($135997),$135998,$135999,$136000,$136001,$136002,$136003,$136004,$136005,$136006,$136007,$136008,$136009,$136010),(nextval($136011),$136012,$136013,$136014,$136015,$136016,$136017,$136018,$136019,$136020,$136021,$136022,$136023,$136024),(nextval($136025),$136026,$136027,$136028,$136029,$136030,$136031,$136032,$136033,$136034,$136035,$136036,$136037,$136038),(nextval($136039),$136040,$136041,$136042,$136043,$136044,$136045,$136046,$136047,$136048,$136049,$136050,$136051,$136052),(nextval($136053),$136054,$136055,$136056,$136057,$136058,$136059,$136060,$136061,$136062,$136063,$136064,$136065,$136066),(nextval($136067),$136068,$136069,$136070,$136071,$136072,$136073,$136074,$136075,$136076,$136077,$136078,$136079,$136080),(nextval($136081),$136082,$136083,$136084,$136085,$136086,$136087,$136088,$136089,$136090,$136091,$136092,$136093,$136094),(nextval($136095),$136096,$136097,$136098,$136099,$136100,$136101,$136102,$136103,$136104,$136105,$136106,$136107,$136108),(nextval($136109),$136110,$136111,$136112,$136113,$136114,$136115,$136116,$136117,$136118,$136119,$136120,$136121,$136122),(nextval($136123),$136124,$136125,$136126,$136127,$136128,$136129,$136130,$136131,$136132,$136133,$136134,$136135,$136136),(nextval($136137),$136138,$136139,$136140,$136141,$136142,$136143,$136144,$136145,$136146,$136147,$136148,$136149,$136150),(nextval($136151),$136152,$136153,$136154,$136155,$136156,$136157,$136158,$136159,$136160,$136161,$136162,$136163,$136164),(nextval($136165),$136166,$136167,$136168,$136169,$136170,$136171,$136172,$136173,$136174,$136175,$136176,$136177,$136178),(nextval($136179),$136180,$136181,$136182,$136183,$136184,$136185,$136186,$136187,$136188,$136189,$136190,$136191,$136192),(nextval($136193),$136194,$136195,$136196,$136197,$136198,$136199,$136200,$136201,$136202,$136203,$136204,$136205,$136206),(nextval($136207),$136208,$136209,$136210,$136211,$136212,$136213,$136214,$136215,$136216,$136217,$136218,$136219,$136220),(nextval($136221),$136222,$136223,$136224,$136225,$136226,$136227,$136228,$136229,$136230,$136231,$136232,$136233,$136234),(nextval($136235),$136236,$136237,$136238,$136239,$136240,$136241,$136242,$136243,$136244,$136245,$136246,$136247,$136248),(nextval($136249),$136250,$136251,$136252,$136253,$136254,$136255,$136256,$136257,$136258,$136259,$136260,$136261,$136262),(nextval($136263),$136264,$136265,$136266,$136267,$136268,$136269,$136270,$136271,$136272,$136273,$136274,$136275,$136276),(nextval($136277),$136278,$136279,$136280,$136281,$136282,$136283,$136284,$136285,$136286,$136287,$136288,$136289,$136290),(nextval($136291),$136292,$136293,$136294,$136295,$136296,$136297,$136298,$136299,$136300,$136301,$136302,$136303,$136304),(nextval($136305),$136306,$136307,$136308,$136309,$136310,$136311,$136312,$136313,$136314,$136315,$136316,$136317,$136318),(nextval($136319),$136320,$136321,$136322,$136323,$136324,$136325,$136326,$136327,$136328,$136329,$136330,$136331,$136332),(nextval($136333),$136334,$136335,$136336,$136337,$136338,$136339,$136340,$136341,$136342,$136343,$136344,$136345,$136346),(nextval($136347),$136348,$136349,$136350,$136351,$136352,$136353,$136354,$136355,$136356,$136357,$136358,$136359,$136360),(nextval($136361),$136362,$136363,$136364,$136365,$136366,$136367,$136368,$136369,$136370,$136371,$136372,$136373,$136374),(nextval($136375),$136376,$136377,$136378,$136379,$136380,$136381,$136382,$136383,$136384,$136385,$136386,$136387,$136388),(nextval($136389),$136390,$136391,$136392,$136393,$136394,$136395,$136396,$136397,$136398,$136399,$136400,$136401,$136402),(nextval($136403),$136404,$136405,$136406,$136407,$136408,$136409,$136410,$136411,$136412,$136413,$136414,$136415,$136416),(nextval($136417),$136418,$136419,$136420,$136421,$136422,$136423,$136424,$136425,$136426,$136427,$136428,$136429,$136430),(nextval($136431),$136432,$136433,$136434,$136435,$136436,$136437,$136438,$136439,$136440,$136441,$136442,$136443,$136444),(nextval($136445),$136446,$136447,$136448,$136449,$136450,$136451,$136452,$136453,$136454,$136455,$136456,$136457,$136458),(nextval($136459),$136460,$136461,$136462,$136463,$136464,$136465,$136466,$136467,$136468,$136469,$136470,$136471,$136472),(nextval($136473),$136474,$136475,$136476,$136477,$136478,$136479,$136480,$136481,$136482,$136483,$136484,$136485,$136486),(nextval($136487),$136488,$136489,$136490,$136491,$136492,$136493,$136494,$136495,$136496,$136497,$136498,$136499,$136500),(nextval($136501),$136502,$136503,$136504,$136505,$136506,$136507,$136508,$136509,$136510,$136511,$136512,$136513,$136514),(nextval($136515),$136516,$136517,$136518,$136519,$136520,$136521,$136522,$136523,$136524,$136525,$136526,$136527,$136528),(nextval($136529),$136530,$136531,$136532,$136533,$136534,$136535,$136536,$136537,$136538,$136539,$136540,$136541,$136542),(nextval($136543),$136544,$136545,$136546,$136547,$136548,$136549,$136550,$136551,$136552,$136553,$136554,$136555,$136556),(nextval($136557),$136558,$136559,$136560,$136561,$136562,$136563,$136564,$136565,$136566,$136567,$136568,$136569,$136570),(nextval($136571),$136572,$136573,$136574,$136575,$136576,$136577,$136578,$136579,$136580,$136581,$136582,$136583,$136584),(nextval($136585),$136586,$136587,$136588,$136589,$136590,$136591,$136592,$136593,$136594,$136595,$136596,$136597,$136598),(nextval($136599),$136600,$136601,$136602,$136603,$136604,$136605,$136606,$136607,$136608,$136609,$136610,$136611,$136612),(nextval($136613),$136614,$136615,$136616,$136617,$136618,$136619,$136620,$136621,$136622,$136623,$136624,$136625,$136626),(nextval($136627),$136628,$136629,$136630,$136631,$136632,$136633,$136634,$136635,$136636,$136637,$136638,$136639,$136640),(nextval($136641),$136642,$136643,$136644,$136645,$136646,$136647,$136648,$136649,$136650,$136651,$136652,$136653,$136654),(nextval($136655),$136656,$136657,$136658,$136659,$136660,$136661,$136662,$136663,$136664,$136665,$136666,$136667,$136668),(nextval($136669),$136670,$136671,$136672,$136673,$136674,$136675,$136676,$136677,$136678,$136679,$136680,$136681,$136682),(nextval($136683),$136684,$136685,$136686,$136687,$136688,$136689,$136690,$136691,$136692,$136693,$136694,$136695,$136696),(nextval($136697),$136698,$136699,$136700,$136701,$136702,$136703,$136704,$136705,$136706,$136707,$136708,$136709,$136710),(nextval($136711),$136712,$136713,$136714,$136715,$136716,$136717,$136718,$136719,$136720,$136721,$136722,$136723,$136724),(nextval($136725),$136726,$136727,$136728,$136729,$136730,$136731,$136732,$136733,$136734,$136735,$136736,$136737,$136738),(nextval($136739),$136740,$136741,$136742,$136743,$136744,$136745,$136746,$136747,$136748,$136749,$136750,$136751,$136752),(nextval($136753),$136754,$136755,$136756,$136757,$136758,$136759,$136760,$136761,$136762,$136763,$136764,$136765,$136766),(nextval($136767),$136768,$136769,$136770,$136771,$136772,$136773,$136774,$136775,$136776,$136777,$136778,$136779,$136780),(nextval($136781),$136782,$136783,$136784,$136785,$136786,$136787,$136788,$136789,$136790,$136791,$136792,$136793,$136794),(nextval($136795),$136796,$136797,$136798,$136799,$136800,$136801,$136802,$136803,$136804,$136805,$136806,$136807,$136808),(nextval($136809),$136810,$136811,$136812,$136813,$136814,$136815,$136816,$136817,$136818,$136819,$136820,$136821,$136822),(nextval($136823),$136824,$136825,$136826,$136827,$136828,$136829,$136830,$136831,$136832,$136833,$136834,$136835,$136836),(nextval($136837),$136838,$136839,$136840,$136841,$136842,$136843,$136844,$136845,$136846,$136847,$136848,$136849,$136850),(nextval($136851),$136852,$136853,$136854,$136855,$136856,$136857,$136858,$136859,$136860,$136861,$136862,$136863,$136864),(nextval($136865),$136866,$136867,$136868,$136869,$136870,$136871,$136872,$136873,$136874,$136875,$136876,$136877,$136878),(nextval($136879),$136880,$136881,$136882,$136883,$136884,$136885,$136886,$136887,$136888,$136889,$136890,$136891,$136892),(nextval($136893),$136894,$136895,$136896,$136897,$136898,$136899,$136900,$136901,$136902,$136903,$136904,$136905,$136906),(nextval($136907),$136908,$136909,$136910,$136911,$136912,$136913,$136914,$136915,$136916,$136917,$136918,$136919,$136920),(nextval($136921),$136922,$136923,$136924,$136925,$136926,$136927,$136928,$136929,$136930,$136931,$136932,$136933,$136934),(nextval($136935),$136936,$136937,$136938,$136939,$136940,$136941,$136942,$136943,$136944,$136945,$136946,$136947,$136948),(nextval($136949),$136950,$136951,$136952,$136953,$136954,$136955,$136956,$136957,$136958,$136959,$136960,$136961,$136962),(nextval($136963),$136964,$136965,$136966,$136967,$136968,$136969,$136970,$136971,$136972,$136973,$136974,$136975,$136976),(nextval($136977),$136978,$136979,$136980,$136981,$136982,$136983,$136984,$136985,$136986,$136987,$136988,$136989,$136990),(nextval($136991),$136992,$136993,$136994,$136995,$136996,$136997,$136998,$136999,$137000,$137001,$137002,$137003,$137004),(nextval($137005),$137006,$137007,$137008,$137009,$137010,$137011,$137012,$137013,$137014,$137015,$137016,$137017,$137018),(nextval($137019),$137020,$137021,$137022,$137023,$137024,$137025,$137026,$137027,$137028,$137029,$137030,$137031,$137032),(nextval($137033),$137034,$137035,$137036,$137037,$137038,$137039,$137040,$137041,$137042,$137043,$137044,$137045,$137046),(nextval($137047),$137048,$137049,$137050,$137051,$137052,$137053,$137054,$137055,$137056,$137057,$137058,$137059,$137060),(nextval($137061),$137062,$137063,$137064,$137065,$137066,$137067,$137068,$137069,$137070,$137071,$137072,$137073,$137074),(nextval($137075),$137076,$137077,$137078,$137079,$137080,$137081,$137082,$137083,$137084,$137085,$137086,$137087,$137088),(nextval($137089),$137090,$137091,$137092,$137093,$137094,$137095,$137096,$137097,$137098,$137099,$137100,$137101,$137102),(nextval($137103),$137104,$137105,$137106,$137107,$137108,$137109,$137110,$137111,$137112,$137113,$137114,$137115,$137116),(nextval($137117),$137118,$137119,$137120,$137121,$137122,$137123,$137124,$137125,$137126,$137127,$137128,$137129,$137130),(nextval($137131),$137132,$137133,$137134,$137135,$137136,$137137,$137138,$137139,$137140,$137141,$137142,$137143,$137144),(nextval($137145),$137146,$137147,$137148,$137149,$137150,$137151,$137152,$137153,$137154,$137155,$137156,$137157,$137158),(nextval($137159),$137160,$137161,$137162,$137163,$137164,$137165,$137166,$137167,$137168,$137169,$137170,$137171,$137172),(nextval($137173),$137174,$137175,$137176,$137177,$137178,$137179,$137180,$137181,$137182,$137183,$137184,$137185,$137186),(nextval($137187),$137188,$137189,$137190,$137191,$137192,$137193,$137194,$137195,$137196,$137197,$137198,$137199,$137200),(nextval($137201),$137202,$137203,$137204,$137205,$137206,$137207,$137208,$137209,$137210,$137211,$137212,$137213,$137214),(nextval($137215),$137216,$137217,$137218,$137219,$137220,$137221,$137222,$137223,$137224,$137225,$137226,$137227,$137228),(nextval($137229),$137230,$137231,$137232,$137233,$137234,$137235,$137236,$137237,$137238,$137239,$137240,$137241,$137242),(nextval($137243),$137244,$137245,$137246,$137247,$137248,$137249,$137250,$137251,$137252,$137253,$137254,$137255,$137256),(nextval($137257),$137258,$137259,$137260,$137261,$137262,$137263,$137264,$137265,$137266,$137267,$137268,$137269,$137270),(nextval($137271),$137272,$137273,$137274,$137275,$137276,$137277,$137278,$137279,$137280,$137281,$137282,$137283,$137284),(nextval($137285),$137286,$137287,$137288,$137289,$137290,$137291,$137292,$137293,$137294,$137295,$137296,$137297,$137298),(nextval($137299),$137300,$137301,$137302,$137303,$137304,$137305,$137306,$137307,$137308,$137309,$137310,$137311,$137312),(nextval($137313),$137314,$137315,$137316,$137317,$137318,$137319,$137320,$137321,$137322,$137323,$137324,$137325,$137326),(nextval($137327),$137328,$137329,$137330,$137331,$137332,$137333,$137334,$137335,$137336,$137337,$137338,$137339,$137340),(nextval($137341),$137342,$137343,$137344,$137345,$137346,$137347,$137348,$137349,$137350,$137351,$137352,$137353,$137354),(nextval($137355),$137356,$137357,$137358,$137359,$137360,$137361,$137362,$137363,$137364,$137365,$137366,$137367,$137368),(nextval($137369),$137370,$137371,$137372,$137373,$137374,$137375,$137376,$137377,$137378,$137379,$137380,$137381,$137382),(nextval($137383),$137384,$137385,$137386,$137387,$137388,$137389,$137390,$137391,$137392,$137393,$137394,$137395,$137396),(nextval($137397),$137398,$137399,$137400,$137401,$137402,$137403,$137404,$137405,$137406,$137407,$137408,$137409,$137410),(nextval($137411),$137412,$137413,$137414,$137415,$137416,$137417,$137418,$137419,$137420,$137421,$137422,$137423,$137424),(nextval($137425),$137426,$137427,$137428,$137429,$137430,$137431,$137432,$137433,$137434,$137435,$137436,$137437,$137438),(nextval($137439),$137440,$137441,$137442,$137443,$137444,$137445,$137446,$137447,$137448,$137449,$137450,$137451,$137452),(nextval($137453),$137454,$137455,$137456,$137457,$137458,$137459,$137460,$137461,$137462,$137463,$137464,$137465,$137466),(nextval($137467),$137468,$137469,$137470,$137471,$137472,$137473,$137474,$137475,$137476,$137477,$137478,$137479,$137480),(nextval($137481),$137482,$137483,$137484,$137485,$137486,$137487,$137488,$137489,$137490,$137491,$137492,$137493,$137494),(nextval($137495),$137496,$137497,$137498,$137499,$137500,$137501,$137502,$137503,$137504,$137505,$137506,$137507,$137508),(nextval($137509),$137510,$137511,$137512,$137513,$137514,$137515,$137516,$137517,$137518,$137519,$137520,$137521,$137522),(nextval($137523),$137524,$137525,$137526,$137527,$137528,$137529,$137530,$137531,$137532,$137533,$137534,$137535,$137536),(nextval($137537),$137538,$137539,$137540,$137541,$137542,$137543,$137544,$137545,$137546,$137547,$137548,$137549,$137550),(nextval($137551),$137552,$137553,$137554,$137555,$137556,$137557,$137558,$137559,$137560,$137561,$137562,$137563,$137564),(nextval($137565),$137566,$137567,$137568,$137569,$137570,$137571,$137572,$137573,$137574,$137575,$137576,$137577,$137578),(nextval($137579),$137580,$137581,$137582,$137583,$137584,$137585,$137586,$137587,$137588,$137589,$137590,$137591,$137592),(nextval($137593),$137594,$137595,$137596,$137597,$137598,$137599,$137600,$137601,$137602,$137603,$137604,$137605,$137606),(nextval($137607),$137608,$137609,$137610,$137611,$137612,$137613,$137614,$137615,$137616,$137617,$137618,$137619,$137620),(nextval($137621),$137622,$137623,$137624,$137625,$137626,$137627,$137628,$137629,$137630,$137631,$137632,$137633,$137634),(nextval($137635),$137636,$137637,$137638,$137639,$137640,$137641,$137642,$137643,$137644,$137645,$137646,$137647,$137648),(nextval($137649),$137650,$137651,$137652,$137653,$137654,$137655,$137656,$137657,$137658,$137659,$137660,$137661,$137662),(nextval($137663),$137664,$137665,$137666,$137667,$137668,$137669,$137670,$137671,$137672,$137673,$137674,$137675,$137676),(nextval($137677),$137678,$137679,$137680,$137681,$137682,$137683,$137684,$137685,$137686,$137687,$137688,$137689,$137690),(nextval($137691),$137692,$137693,$137694,$137695,$137696,$137697,$137698,$137699,$137700,$137701,$137702,$137703,$137704),(nextval($137705),$137706,$137707,$137708,$137709,$137710,$137711,$137712,$137713,$137714,$137715,$137716,$137717,$137718),(nextval($137719),$137720,$137721,$137722,$137723,$137724,$137725,$137726,$137727,$137728,$137729,$137730,$137731,$137732),(nextval($137733),$137734,$137735,$137736,$137737,$137738,$137739,$137740,$137741,$137742,$137743,$137744,$137745,$137746),(nextval($137747),$137748,$137749,$137750,$137751,$137752,$137753,$137754,$137755,$137756,$137757,$137758,$137759,$137760),(nextval($137761),$137762,$137763,$137764,$137765,$137766,$137767,$137768,$137769,$137770,$137771,$137772,$137773,$137774),(nextval($137775),$137776,$137777,$137778,$137779,$137780,$137781,$137782,$137783,$137784,$137785,$137786,$137787,$137788),(nextval($137789),$137790,$137791,$137792,$137793,$137794,$137795,$137796,$137797,$137798,$137799,$137800,$137801,$137802),(nextval($137803),$137804,$137805,$137806,$137807,$137808,$137809,$137810,$137811,$137812,$137813,$137814,$137815,$137816),(nextval($137817),$137818,$137819,$137820,$137821,$137822,$137823,$137824,$137825,$137826,$137827,$137828,$137829,$137830),(nextval($137831),$137832,$137833,$137834,$137835,$137836,$137837,$137838,$137839,$137840,$137841,$137842,$137843,$137844),(nextval($137845),$137846,$137847,$137848,$137849,$137850,$137851,$137852,$137853,$137854,$137855,$137856,$137857,$137858),(nextval($137859),$137860,$137861,$137862,$137863,$137864,$137865,$137866,$137867,$137868,$137869,$137870,$137871,$137872),(nextval($137873),$137874,$137875,$137876,$137877,$137878,$137879,$137880,$137881,$137882,$137883,$137884,$137885,$137886),(nextval($137887),$137888,$137889,$137890,$137891,$137892,$137893,$137894,$137895,$137896,$137897,$137898,$137899,$137900),(nextval($137901),$137902,$137903,$137904,$137905,$137906,$137907,$137908,$137909,$137910,$137911,$137912,$137913,$137914),(nextval($137915),$137916,$137917,$137918,$137919,$137920,$137921,$137922,$137923,$137924,$137925,$137926,$137927,$137928),(nextval($137929),$137930,$137931,$137932,$137933,$137934,$137935,$137936,$137937,$137938,$137939,$137940,$137941,$137942),(nextval($137943),$137944,$137945,$137946,$137947,$137948,$137949,$137950,$137951,$137952,$137953,$137954,$137955,$137956),(nextval($137957),$137958,$137959,$137960,$137961,$137962,$137963,$137964,$137965,$137966,$137967,$137968,$137969,$137970),(nextval($137971),$137972,$137973,$137974,$137975,$137976,$137977,$137978,$137979,$137980,$137981,$137982,$137983,$137984),(nextval($137985),$137986,$137987,$137988,$137989,$137990,$137991,$137992,$137993,$137994,$137995,$137996,$137997,$137998),(nextval($137999),$138000,$138001,$138002,$138003,$138004,$138005,$138006,$138007,$138008,$138009,$138010,$138011,$138012),(nextval($138013),$138014,$138015,$138016,$138017,$138018,$138019,$138020,$138021,$138022,$138023,$138024,$138025,$138026),(nextval($138027),$138028,$138029,$138030,$138031,$138032,$138033,$138034,$138035,$138036,$138037,$138038,$138039,$138040),(nextval($138041),$138042,$138043,$138044,$138045,$138046,$138047,$138048,$138049,$138050,$138051,$138052,$138053,$138054),(nextval($138055),$138056,$138057,$138058,$138059,$138060,$138061,$138062,$138063,$138064,$138065,$138066,$138067,$138068),(nextval($138069),$138070,$138071,$138072,$138073,$138074,$138075,$138076,$138077,$138078,$138079,$138080,$138081,$138082),(nextval($138083),$138084,$138085,$138086,$138087,$138088,$138089,$138090,$138091,$138092,$138093,$138094,$138095,$138096),(nextval($138097),$138098,$138099,$138100,$138101,$138102,$138103,$138104,$138105,$138106,$138107,$138108,$138109,$138110),(nextval($138111),$138112,$138113,$138114,$138115,$138116,$138117,$138118,$138119,$138120,$138121,$138122,$138123,$138124),(nextval($138125),$138126,$138127,$138128,$138129,$138130,$138131,$138132,$138133,$138134,$138135,$138136,$138137,$138138),(nextval($138139),$138140,$138141,$138142,$138143,$138144,$138145,$138146,$138147,$138148,$138149,$138150,$138151,$138152),(nextval($138153),$138154,$138155,$138156,$138157,$138158,$138159,$138160,$138161,$138162,$138163,$138164,$138165,$138166),(nextval($138167),$138168,$138169,$138170,$138171,$138172,$138173,$138174,$138175,$138176,$138177,$138178,$138179,$138180),(nextval($138181),$138182,$138183,$138184,$138185,$138186,$138187,$138188,$138189,$138190,$138191,$138192,$138193,$138194),(nextval($138195),$138196,$138197,$138198,$138199,$138200,$138201,$138202,$138203,$138204,$138205,$138206,$138207,$138208),(nextval($138209),$138210,$138211,$138212,$138213,$138214,$138215,$138216,$138217,$138218,$138219,$138220,$138221,$138222),(nextval($138223),$138224,$138225,$138226,$138227,$138228,$138229,$138230,$138231,$138232,$138233,$138234,$138235,$138236),(nextval($138237),$138238,$138239,$138240,$138241,$138242,$138243,$138244,$138245,$138246,$138247,$138248,$138249,$138250),(nextval($138251),$138252,$138253,$138254,$138255,$138256,$138257,$138258,$138259,$138260,$138261,$138262,$138263,$138264),(nextval($138265),$138266,$138267,$138268,$138269,$138270,$138271,$138272,$138273,$138274,$138275,$138276,$138277,$138278),(nextval($138279),$138280,$138281,$138282,$138283,$138284,$138285,$138286,$138287,$138288,$138289,$138290,$138291,$138292),(nextval($138293),$138294,$138295,$138296,$138297,$138298,$138299,$138300,$138301,$138302,$138303,$138304,$138305,$138306),(nextval($138307),$138308,$138309,$138310,$138311,$138312,$138313,$138314,$138315,$138316,$138317,$138318,$138319,$138320),(nextval($138321),$138322,$138323,$138324,$138325,$138326,$138327,$138328,$138329,$138330,$138331,$138332,$138333,$138334),(nextval($138335),$138336,$138337,$138338,$138339,$138340,$138341,$138342,$138343,$138344,$138345,$138346,$138347,$138348),(nextval($138349),$138350,$138351,$138352,$138353,$138354,$138355,$138356,$138357,$138358,$138359,$138360,$138361,$138362),(nextval($138363),$138364,$138365,$138366,$138367,$138368,$138369,$138370,$138371,$138372,$138373,$138374,$138375,$138376),(nextval($138377),$138378,$138379,$138380,$138381,$138382,$138383,$138384,$138385,$138386,$138387,$138388,$138389,$138390),(nextval($138391),$138392,$138393,$138394,$138395,$138396,$138397,$138398,$138399,$138400,$138401,$138402,$138403,$138404),(nextval($138405),$138406,$138407,$138408,$138409,$138410,$138411,$138412,$138413,$138414,$138415,$138416,$138417,$138418),(nextval($138419),$138420,$138421,$138422,$138423,$138424,$138425,$138426,$138427,$138428,$138429,$138430,$138431,$138432),(nextval($138433),$138434,$138435,$138436,$138437,$138438,$138439,$138440,$138441,$138442,$138443,$138444,$138445,$138446),(nextval($138447),$138448,$138449,$138450,$138451,$138452,$138453,$138454,$138455,$138456,$138457,$138458,$138459,$138460),(nextval($138461),$138462,$138463,$138464,$138465,$138466,$138467,$138468,$138469,$138470,$138471,$138472,$138473,$138474),(nextval($138475),$138476,$138477,$138478,$138479,$138480,$138481,$138482,$138483,$138484,$138485,$138486,$138487,$138488),(nextval($138489),$138490,$138491,$138492,$138493,$138494,$138495,$138496,$138497,$138498,$138499,$138500,$138501,$138502),(nextval($138503),$138504,$138505,$138506,$138507,$138508,$138509,$138510,$138511,$138512,$138513,$138514,$138515,$138516),(nextval($138517),$138518,$138519,$138520,$138521,$138522,$138523,$138524,$138525,$138526,$138527,$138528,$138529,$138530),(nextval($138531),$138532,$138533,$138534,$138535,$138536,$138537,$138538,$138539,$138540,$138541,$138542,$138543,$138544),(nextval($138545),$138546,$138547,$138548,$138549,$138550,$138551,$138552,$138553,$138554,$138555,$138556,$138557,$138558),(nextval($138559),$138560,$138561,$138562,$138563,$138564,$138565,$138566,$138567,$138568,$138569,$138570,$138571,$138572),(nextval($138573),$138574,$138575,$138576,$138577,$138578,$138579,$138580,$138581,$138582,$138583,$138584,$138585,$138586),(nextval($138587),$138588,$138589,$138590,$138591,$138592,$138593,$138594,$138595,$138596,$138597,$138598,$138599,$138600),(nextval($138601),$138602,$138603,$138604,$138605,$138606,$138607,$138608,$138609,$138610,$138611,$138612,$138613,$138614),(nextval($138615),$138616,$138617,$138618,$138619,$138620,$138621,$138622,$138623,$138624,$138625,$138626,$138627,$138628),(nextval($138629),$138630,$138631,$138632,$138633,$138634,$138635,$138636,$138637,$138638,$138639,$138640,$138641,$138642),(nextval($138643),$138644,$138645,$138646,$138647,$138648,$138649,$138650,$138651,$138652,$138653,$138654,$138655,$138656)", "expectedParts": ["RawStmt", "stmt", "InsertStmt", "override", "OVERRIDING_NOT_SET", "relation", "inh", "true", "relname", "tbl", "relpersistence", "p", "selectStmt", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE", "valuesLists", "FuncCall", "funcformat", "COERCE_EXPLICIT_CALL", "funcname", "String", "str", "nextval"], "expectedHash": "4a6db94fbada8341" }, { "input": "MERGE into measurement m USING new_measurement nm ON (m.city_id = nm.city_id and m.logdate=nm.logdate) WHEN MATCHED AND nm.peaktemp IS NULL THEN DELETE WHEN MATCHED THEN UPDATE SET peaktemp = greatest(m.peaktemp, nm.peaktemp), unitsales = m.unitsales + coalesce(nm.unitsales, 0) WHEN NOT MATCHED THEN INSERT (city_id, logdate, peaktemp, unitsales) VALUES (city_id, logdate, peaktemp, unitsales)", - "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "BoolExpr", "args", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "logdate", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "logdate", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "city_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "city_id", "boolop", "AND_EXPR", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_DELETE", "condition", "NullTest", "arg", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "nulltesttype", "IS_NULL", "matched", "true", "override", "OVERRIDING_NOT_SET", "MergeWhenClause", "commandType", "CMD_UPDATE", "matched", "true", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "unitsales", "name", "String", "str", "+", "rexpr", "CoalesceExpr", "args", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "unitsales", "ResTarget", "name", "peaktemp", "val", "MinMaxExpr", "args", "ColumnRef", "fields", "String", "str", "m", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "op", "IS_GREATEST", "MergeWhenClause", "commandType", "CMD_INSERT", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "ResTarget", "name", "logdate", "ResTarget", "name", "city_id", "ResTarget", "name", "peaktemp", "values", "ColumnRef", "fields", "String", "str", "city_id", "ColumnRef", "fields", "String", "str", "logdate", "ColumnRef", "fields", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "unitsales", "relation", "inh", "true", "relname", "measurement", "relpersistence", "p", "sourceRelation", "RangeVar", "inh", "true", "relname", "new_measurement", "relpersistence", "p"], - "expectedHash": "3a5494404465d0f9" + "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "BoolExpr", "args", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "logdate", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "logdate", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "city_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "city_id", "boolop", "AND_EXPR", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_DELETE", "condition", "NullTest", "arg", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "nulltesttype", "IS_NULL", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "MergeWhenClause", "commandType", "CMD_UPDATE", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "m", "String", "str", "unitsales", "name", "String", "str", "+", "rexpr", "CoalesceExpr", "args", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "unitsales", "ResTarget", "name", "peaktemp", "val", "MinMaxExpr", "args", "ColumnRef", "fields", "String", "str", "m", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "nm", "String", "str", "peaktemp", "op", "IS_GREATEST", "MergeWhenClause", "commandType", "CMD_INSERT", "matchKind", "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "unitsales", "ResTarget", "name", "logdate", "ResTarget", "name", "city_id", "ResTarget", "name", "peaktemp", "values", "ColumnRef", "fields", "String", "str", "city_id", "ColumnRef", "fields", "String", "str", "logdate", "ColumnRef", "fields", "String", "str", "peaktemp", "ColumnRef", "fields", "String", "str", "unitsales", "relation", "inh", "true", "relname", "measurement", "relpersistence", "p", "sourceRelation", "RangeVar", "inh", "true", "relname", "new_measurement", "relpersistence", "p" ], + "expectedHash": "fe086f143f4c7ed9" }, { "input": "ALTER TABLE ALL IN TABLESPACE foo OWNED BY bar, quux SET TABLESPACE fred NOWAIT", @@ -386,7 +387,7 @@ }, { "input": "MERGE INTO customer_account ca USING (VALUES (1, 42), (2, 99)) t(customer_id, transaction_value) ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value + 1 WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value)", - "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "ca", "String", "str", "customer_id", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_UPDATE", "matched", "true", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "balance", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "balance", "name", "String", "str", "+", "rexpr", "ColumnRef", "fields", "String", "str", "transaction_value", "name", "String", "str", "+", "MergeWhenClause", "commandType", "CMD_INSERT", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "customer_id", "ResTarget", "name", "balance", "values", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "ColumnRef", "fields", "String", "str", "t", "String", "str", "transaction_value", "relation", "inh", "true", "relname", "customer_account", "relpersistence", "p", "sourceRelation", "RangeSubselect", "subquery", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE"], - "expectedHash": "1cca3f304295181c" + "expectedParts": ["RawStmt", "stmt", "MergeStmt", "joinCondition", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "name", "String", "str", "=", "rexpr", "ColumnRef", "fields", "String", "str", "ca", "String", "str", "customer_id", "mergeWhenClauses", "MergeWhenClause", "commandType", "CMD_UPDATE", "matchKind", "MERGE_WHEN_MATCHED", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "balance", "val", "A_Expr", "kind", "AEXPR_OP", "lexpr", "A_Expr", "kind", "AEXPR_OP", "lexpr", "ColumnRef", "fields", "String", "str", "balance", "name", "String", "str", "+", "rexpr", "ColumnRef", "fields", "String", "str", "transaction_value", "name", "String", "str", "+", "MergeWhenClause", "commandType", "CMD_INSERT", "matchKind", "MERGE_WHEN_NOT_MATCHED_BY_TARGET", "override", "OVERRIDING_NOT_SET", "targetList", "ResTarget", "name", "customer_id", "ResTarget", "name", "balance", "values", "ColumnRef", "fields", "String", "str", "t", "String", "str", "customer_id", "ColumnRef", "fields", "String", "str", "t", "String", "str", "transaction_value", "relation", "inh", "true", "relname", "customer_account", "relpersistence", "p", "sourceRelation", "RangeSubselect", "subquery", "SelectStmt", "limitOption", "LIMIT_OPTION_DEFAULT", "op", "SETOP_NONE" ], + "expectedHash": "ff7d4d704926aae4" } ]